[ppl] 20/68: Imported Upstream version 0.10.1~pre13

Andreas Tille tille at debian.org
Sat Nov 12 08:40:38 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 fe3e52b210340e03186c54956746ed4f83fae1c9
Author: Andreas Tille <tille at debian.org>
Date:   Sat Nov 12 01:13:45 2016 -0600

    Imported Upstream version 0.10.1~pre13
---
 CREDITS                                            |   165 +-
 ChangeLog                                          | 94401 +-----------------
 Makefile.am                                        |    46 +-
 Makefile.in                                        |    65 +-
 NEWS                                               |   120 +-
 README                                             |   141 +-
 README.configure                                   |    46 +-
 STANDARDS                                          |     2 +-
 TODO                                               |    89 +-
 Watchdog/ChangeLog                                 |  2306 +-
 Watchdog/Makefile.am                               |    35 +-
 Watchdog/Makefile.in                               |    78 +-
 Watchdog/NEWS                                      |     7 +
 Watchdog/README                                    |    23 +-
 Watchdog/aclocal.m4                                |  6640 +-
 Watchdog/config.h.in                               |     3 +
 Watchdog/configure                                 |  1866 +-
 Watchdog/configure.ac                              |    69 +-
 Watchdog/doc/Makefile.am                           |     6 +-
 Watchdog/doc/Makefile.in                           |    16 +-
 Watchdog/doc/README.doc                            |     4 +-
 Watchdog/doc/devref.doxyconf-html                  |   284 -
 Watchdog/doc/devref.doxyconf-latex                 |   284 -
 Watchdog/doc/devref.tex                            |     4 +-
 Watchdog/doc/fdl.pdf                               |   Bin 59059 -> 56411 bytes
 Watchdog/doc/fdl.ps.gz                             |   Bin 67864 -> 63642 bytes
 Watchdog/doc/gpl.pdf                               |   Bin 71114 -> 69557 bytes
 Watchdog/doc/gpl.ps.gz                             |   Bin 80393 -> 80241 bytes
 Watchdog/doc/pwl-user-0.5-html.tar.gz              |   Bin 70687 -> 0 bytes
 Watchdog/doc/pwl-user-0.5.pdf                      |   Bin 250753 -> 0 bytes
 Watchdog/doc/pwl-user-0.5.ps.gz                    |   Bin 184083 -> 0 bytes
 Watchdog/doc/pwl-user-0.7-html.tar.gz              |   Bin 0 -> 69711 bytes
 Watchdog/doc/pwl-user-0.7.pdf                      |   Bin 0 -> 241944 bytes
 Watchdog/doc/pwl-user-0.7.ps.gz                    |   Bin 0 -> 174050 bytes
 Watchdog/doc/pwl.sty                               |     2 +-
 Watchdog/doc/user.doxyconf-html                    |   255 -
 Watchdog/doc/user.doxyconf-latex                   |   255 -
 Watchdog/doc/user.tex                              |     4 +-
 Watchdog/m4/Makefile.am                            |     3 +-
 Watchdog/m4/Makefile.in                            |    13 +-
 Watchdog/m4/ax_prefix_config_h.m4                  |   183 -
 Watchdog/{config.h.in => pwl-config.h.in}          |    43 +-
 Watchdog/pwl-config.sed                            |    21 +
 Watchdog/src/Doubly_Linked_Object.defs.hh          |     2 +-
 Watchdog/src/Doubly_Linked_Object.inlines.hh       |     2 +-
 Watchdog/src/Doubly_Linked_Object.types.hh         |     2 +-
 Watchdog/src/EList.defs.hh                         |     2 +-
 Watchdog/src/EList.inlines.hh                      |     2 +-
 Watchdog/src/EList.types.hh                        |     2 +-
 Watchdog/src/EList_Iterator.defs.hh                |     2 +-
 Watchdog/src/EList_Iterator.inlines.hh             |     2 +-
 Watchdog/src/EList_Iterator.types.hh               |     2 +-
 Watchdog/src/Handler.defs.hh                       |     2 +-
 Watchdog/src/Handler.inlines.hh                    |     2 +-
 Watchdog/src/Handler.types.hh                      |     2 +-
 Watchdog/src/Makefile.am                           |     9 +-
 Watchdog/src/Makefile.in                           |    19 +-
 Watchdog/src/Pending_Element.cc                    |     2 +-
 Watchdog/src/Pending_Element.defs.hh               |     2 +-
 Watchdog/src/Pending_Element.inlines.hh            |     2 +-
 Watchdog/src/Pending_Element.types.hh              |     2 +-
 Watchdog/src/Pending_List.cc                       |     2 +-
 Watchdog/src/Pending_List.defs.hh                  |     2 +-
 Watchdog/src/Pending_List.inlines.hh               |     2 +-
 Watchdog/src/Pending_List.types.hh                 |     2 +-
 Watchdog/src/Time.cc                               |     2 +-
 Watchdog/src/Time.defs.hh                          |     2 +-
 Watchdog/src/Time.inlines.hh                       |     2 +-
 Watchdog/src/Time.types.hh                         |     2 +-
 Watchdog/src/Watchdog.cc                           |     2 +-
 Watchdog/src/Watchdog.defs.hh                      |     2 +-
 Watchdog/src/Watchdog.inlines.hh                   |     2 +-
 Watchdog/src/Watchdog.types.hh                     |     2 +-
 Watchdog/src/pwl.hh.dist                           |   190 +-
 Watchdog/src/pwl_header.hh                         |     2 +-
 Watchdog/tests/Makefile.am                         |     2 +-
 Watchdog/tests/Makefile.in                         |    12 +-
 Watchdog/tests/pwl_test.cc                         |     6 +-
 Watchdog/tests/pwl_test.hh                         |     2 +-
 Watchdog/tests/simple1.cc                          |     2 +-
 Watchdog/utils/Makefile.am                         |     2 +-
 Watchdog/utils/Makefile.in                         |    12 +-
 Watchdog/utils/build_header.in                     |     2 +-
 aclocal.m4                                         |  6641 +-
 config.h.in                                        |   218 +-
 configure                                          |  2516 +-
 configure.ac                                       |   389 +-
 demos/Makefile.am                                  |     2 +-
 demos/Makefile.in                                  |    17 +-
 demos/ppl_lcdd/Makefile.am                         |    15 +-
 demos/ppl_lcdd/Makefile.in                         |    30 +-
 demos/ppl_lcdd/examples/Makefile.am                |     2 +-
 demos/ppl_lcdd/examples/Makefile.in                |    17 +-
 demos/ppl_lcdd/ppl_lcdd.1                          |     7 +-
 demos/ppl_lcdd/ppl_lcdd.cc                         |    46 +-
 demos/ppl_lpsol/Makefile.am                        |    59 +-
 demos/ppl_lpsol/Makefile.in                        |    70 +-
 demos/ppl_lpsol/examples/Makefile.am               |     2 +-
 demos/ppl_lpsol/examples/Makefile.in               |    17 +-
 demos/ppl_lpsol/expected_mpz_a                     |   146 +-
 demos/ppl_lpsol/ppl_lpsol.1                        |     9 +-
 demos/ppl_lpsol/ppl_lpsol.c                        |   150 +-
 doc/Makefile.am                                    |    20 +-
 doc/Makefile.in                                    |    35 +-
 doc/README.doc                                     |     4 +-
 doc/definitions.dox                                |     2 +-
 doc/devref-language-interface.doxyconf             |   255 -
 doc/devref-language-interface.tex                  |     4 +-
 doc/devref.doxyconf-html                           |   486 -
 doc/devref.doxyconf-latex                          |   486 -
 doc/devref.tex                                     |     4 +-
 doc/fdl.pdf                                        |   Bin 59060 -> 56411 bytes
 doc/fdl.ps.gz                                      |   Bin 67867 -> 63642 bytes
 doc/gpl.pdf                                        |   Bin 71113 -> 69557 bytes
 doc/gpl.ps.gz                                      |   Bin 80390 -> 80241 bytes
 doc/libppl.3                                       |    28 +-
 doc/libppl_c.3                                     |     4 +-
 doc/ppl-config.1                                   |     4 +-
 doc/ppl-user-0.10-html.tar.gz                      |   Bin 858117 -> 0 bytes
 doc/ppl-user-0.10.1pre13-html.tar.gz               |   Bin 0 -> 859604 bytes
 ...{ppl-user-0.10.pdf => ppl-user-0.10.1pre13.pdf} | 99031 ++++++++++---------
 doc/ppl-user-0.10.1pre13.ps.gz                     |   Bin 0 -> 1191666 bytes
 doc/ppl-user-0.10.ps.gz                            |   Bin 1533689 -> 0 bytes
 doc/ppl-user-c-interface-0.10-html.tar.gz          |   Bin 164749 -> 0 bytes
 doc/ppl-user-c-interface-0.10.1pre13-html.tar.gz   |   Bin 0 -> 166930 bytes
 doc/ppl-user-c-interface-0.10.1pre13.pdf           | 21693 ++++
 doc/ppl-user-c-interface-0.10.1pre13.ps.gz         |   Bin 0 -> 325206 bytes
 doc/ppl-user-c-interface-0.10.pdf                  | 20850 ----
 doc/ppl-user-c-interface-0.10.ps.gz                |   Bin 404006 -> 0 bytes
 doc/ppl-user-java-interface-0.10-html.tar.gz       |   Bin 163330 -> 0 bytes
 ...ppl-user-java-interface-0.10.1pre13-html.tar.gz |   Bin 0 -> 166270 bytes
 doc/ppl-user-java-interface-0.10.1pre13.pdf        | 18980 ++++
 doc/ppl-user-java-interface-0.10.1pre13.ps.gz      |   Bin 0 -> 324718 bytes
 doc/ppl-user-java-interface-0.10.pdf               | 18242 ----
 doc/ppl-user-java-interface-0.10.ps.gz             |   Bin 384352 -> 0 bytes
 doc/ppl-user-ocaml-interface-0.10-html.tar.gz      |   Bin 69407 -> 0 bytes
 ...pl-user-ocaml-interface-0.10.1pre13-html.tar.gz |   Bin 0 -> 71095 bytes
 doc/ppl-user-ocaml-interface-0.10.1pre13.pdf       |   Bin 0 -> 239758 bytes
 doc/ppl-user-ocaml-interface-0.10.1pre13.ps.gz     |   Bin 0 -> 196062 bytes
 doc/ppl-user-ocaml-interface-0.10.pdf              |   Bin 237885 -> 0 bytes
 doc/ppl-user-ocaml-interface-0.10.ps.gz            |   Bin 197894 -> 0 bytes
 doc/ppl-user-prolog-interface-0.10-html.tar.gz     |   Bin 72415 -> 0 bytes
 ...l-user-prolog-interface-0.10.1pre13-html.tar.gz |   Bin 0 -> 72613 bytes
 doc/ppl-user-prolog-interface-0.10.1pre13.pdf      |   Bin 0 -> 258171 bytes
 doc/ppl-user-prolog-interface-0.10.1pre13.ps.gz    |   Bin 0 -> 230934 bytes
 doc/ppl-user-prolog-interface-0.10.pdf             |   Bin 264123 -> 0 bytes
 doc/ppl-user-prolog-interface-0.10.ps.gz           |   Bin 236323 -> 0 bytes
 doc/ppl.sty                                        |     2 +-
 doc/user-language-interface.doxyconf               |   259 -
 doc/user-language-interface.tex                    |     4 +-
 doc/user.doxyconf-html                             |   256 -
 doc/user.doxyconf-latex                            |   256 -
 doc/user.tex                                       |     4 +-
 instchk.hh                                         |    26 +-
 interfaces/C/C_interface.dox                       |    35 +-
 interfaces/C/Makefile.am                           |    10 +-
 interfaces/C/Makefile.in                           |    25 +-
 interfaces/C/ppl_c_header.h                        |   200 +-
 interfaces/C/ppl_c_implementation_common.cc        |    25 +-
 interfaces/C/ppl_c_implementation_common.defs.hh   |    16 +-
 .../C/ppl_c_implementation_common.inlines.hh       |     2 +-
 interfaces/C/ppl_c_version.h.in                    |     2 +-
 interfaces/C/ppl_interface_generator_c_cc_code.m4  |   142 +-
 interfaces/C/ppl_interface_generator_c_cc_files.m4 |     3 +-
 interfaces/C/ppl_interface_generator_c_h.m4        |     2 +-
 interfaces/C/ppl_interface_generator_c_h_code.m4   |    84 +-
 interfaces/C/ppl_interface_generator_c_hh_files.m4 |    17 +-
 ...l_interface_generator_c_procedure_generators.m4 |     8 +-
 interfaces/C/tests/Makefile.am                     |    35 +-
 interfaces/C/tests/Makefile.in                     |   111 +-
 .../C/tests/{cxxoutput.c => formatted_output.c}    |    12 +-
 interfaces/C/tests/ppl_c_test.cc                   |    14 +-
 interfaces/C/tests/ppl_c_test.h                    |     4 +-
 interfaces/C/tests/print_to_buffer.c               |    65 +
 interfaces/C/tests/print_to_buffer.cc              |   172 -
 interfaces/C/tests/print_to_buffer.h               |    15 +-
 interfaces/Java/Makefile.am                        |     2 +-
 interfaces/Java/Makefile.in                        |    17 +-
 interfaces/Java/jni/Makefile.am                    |     7 +-
 interfaces/Java/jni/Makefile.in                    |    22 +-
 ...ppl_interface_generator_java_classes_cc_code.m4 |   747 +-
 ...pl_interface_generator_java_classes_cc_files.m4 |     8 +-
 interfaces/Java/jni/ppl_java_common.cc             |     7 +-
 interfaces/Java/jni/ppl_java_common.defs.hh        |     4 +-
 interfaces/Java/jni/ppl_java_common.inlines.hh     |     4 +-
 interfaces/Java/jni/ppl_java_globals.cc            |   219 +-
 .../Java/parma_polyhedra_library/By_Reference.java |     2 +-
 .../Java/parma_polyhedra_library/Coefficient.java  |     2 +-
 .../parma_polyhedra_library/Complexity_Class.java  |     2 +-
 .../Java/parma_polyhedra_library/Congruence.java   |     8 +-
 .../parma_polyhedra_library/Congruence_System.java |    10 +-
 .../Java/parma_polyhedra_library/Constraint.java   |     8 +-
 .../parma_polyhedra_library/Constraint_System.java |    10 +-
 .../Control_Parameter_Name.java                    |     2 +-
 .../Control_Parameter_Value.java                   |     2 +-
 .../Degenerate_Element.java                        |     2 +-
 .../Domain_Error_Exception.java                    |     2 +-
 .../Fake_Class_for_Doxygen.java                    |     8 +-
 .../Java/parma_polyhedra_library/Generator.java    |     8 +-
 .../parma_polyhedra_library/Generator_System.java  |    10 +-
 .../parma_polyhedra_library/Generator_Type.java    |     2 +-
 .../parma_polyhedra_library/Grid_Generator.java    |     9 +-
 .../Grid_Generator_System.java                     |    10 +-
 .../Grid_Generator_Type.java                       |     2 +-
 .../{Linear_Expression_Variable.java => IO.java}   |    46 +-
 .../Invalid_Argument_Exception.java                |     2 +-
 .../Length_Error_Exception.java                    |     2 +-
 .../parma_polyhedra_library/Linear_Expression.java |    10 +-
 .../Linear_Expression_Coefficient.java             |     2 +-
 .../Linear_Expression_Difference.java              |     2 +-
 .../Linear_Expression_Sum.java                     |     2 +-
 .../Linear_Expression_Times.java                   |     2 +-
 .../Linear_Expression_Unary_Minus.java             |     2 +-
 .../Linear_Expression_Variable.java                |     2 +-
 .../Logic_Error_Exception.java                     |     2 +-
 .../Java/parma_polyhedra_library/MIP_Problem.java  |    26 +-
 .../MIP_Problem_Status.java                        |     2 +-
 .../Java/parma_polyhedra_library/Makefile.am       |     8 +-
 .../Java/parma_polyhedra_library/Makefile.in       |    23 +-
 .../parma_polyhedra_library/Optimization_Mode.java |     2 +-
 .../Overflow_Error_Exception.java                  |     2 +-
 .../Java/parma_polyhedra_library/PPL_Object.java   |     2 +-
 interfaces/Java/parma_polyhedra_library/Pair.java  |     2 +-
 .../Parma_Polyhedra_Library.java                   |     4 +-
 .../parma_polyhedra_library/Partial_Function.java  |     2 +-
 .../parma_polyhedra_library/Poly_Con_Relation.java |     2 +-
 .../parma_polyhedra_library/Poly_Gen_Relation.java |     2 +-
 .../parma_polyhedra_library/Relation_Symbol.java   |     2 +-
 .../Java/parma_polyhedra_library/Variable.java     |     2 +-
 .../parma_polyhedra_library/Variables_Set.java     |     2 +-
 .../ppl_interface_generator_java_classes_java.m4   |    19 +-
 ...l_interface_generator_java_classes_java_code.m4 |    48 +-
 ...nterface_generator_java_procedure_generators.m4 |     2 +-
 interfaces/Java/tests/C_Polyhedron_test1.java      |     2 +-
 interfaces/Java/tests/MIP_Problem_test1.java       |     6 +-
 interfaces/Java/tests/Makefile.am                  |     4 +-
 interfaces/Java/tests/Makefile.in                  |    19 +-
 interfaces/Java/tests/NNC_Polyhedron_test1.java    |     2 +-
 interfaces/Java/tests/PPL_Test.java                |     2 +-
 .../Java/tests/Parma_Polyhedra_Library_test1.java  |     2 +-
 interfaces/Java/tests/Test_Executor.java           |     2 +-
 interfaces/Java/tests/Test_Partial_Function.java   |     2 +-
 .../ppl_interface_generator_java_test_java.m4      |    16 +-
 .../ppl_interface_generator_java_test_java_code.m4 |    56 +-
 interfaces/Java/tests/ppl_java_tests_common        |     2 +-
 interfaces/Makefile.am                             |     2 +-
 interfaces/Makefile.in                             |    17 +-
 interfaces/OCaml/Makefile.am                       |    99 +-
 interfaces/OCaml/Makefile.in                       |   167 +-
 interfaces/OCaml/OCaml_interface.dox               |   162 +-
 interfaces/OCaml/README.ocaml                      |    11 +-
 .../OCaml/ppl_interface_generator_ocaml_cc_code.m4 |   438 +-
 .../ppl_interface_generator_ocaml_cc_files.m4      |     7 +-
 .../OCaml/ppl_interface_generator_ocaml_hh_code.m4 |     6 +-
 .../ppl_interface_generator_ocaml_hh_files.m4      |     6 +-
 .../OCaml/ppl_interface_generator_ocaml_ml.m4      |    16 +-
 .../OCaml/ppl_interface_generator_ocaml_ml_code.m4 |   171 +-
 .../OCaml/ppl_interface_generator_ocaml_mli.m4     |     8 +-
 .../ppl_interface_generator_ocaml_mli_code.m4      |   200 +-
 ...terface_generator_ocaml_procedure_generators.m4 |     2 +-
 interfaces/OCaml/ppl_ocaml_common.cc               |   688 +-
 interfaces/OCaml/ppl_ocaml_common.defs.hh          |    73 +-
 interfaces/OCaml/ppl_ocaml_common.inlines.hh       |    48 +-
 interfaces/OCaml/ppl_ocaml_globals.ml              |    56 +-
 interfaces/OCaml/ppl_ocaml_globals.mli             |    45 +-
 interfaces/OCaml/tests/Makefile.am                 |    98 +-
 interfaces/OCaml/tests/Makefile.in                 |   113 +-
 .../tests/ppl_interface_generator_ocaml_test_ml.m4 |     6 +-
 .../ppl_interface_generator_ocaml_test_ml_code.m4  |   372 +-
 interfaces/OCaml/tests/ppl_ocaml_tests_common      |     2 +-
 interfaces/OCaml/tests/test1.ml                    |   121 +-
 interfaces/Prolog/Ciao/Makefile.am                 |    17 +-
 interfaces/Prolog/Ciao/Makefile.in                 |    32 +-
 interfaces/Prolog/Ciao/ciao_cfli.hh                |     2 +-
 interfaces/Prolog/Ciao/ciao_clpq.pl                |     2 +-
 interfaces/Prolog/Ciao/ciao_clpq2.pl               |     2 +-
 interfaces/Prolog/Ciao/ciao_efli.cc                |     2 +-
 interfaces/Prolog/Ciao/ciao_efli.hh                |     2 +-
 interfaces/Prolog/Ciao/ciao_pl_check.pl            |     2 +-
 .../Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 |     8 +-
 ...face_generator_ciao_prolog_generated_test_pl.m4 |     4 +-
 interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh        |     2 +-
 interfaces/Prolog/GNU/Makefile.am                  |    15 +-
 interfaces/Prolog/GNU/Makefile.in                  |    30 +-
 interfaces/Prolog/GNU/gnu_pl_check.pl              |     2 +-
 interfaces/Prolog/GNU/gnu_prolog_generated_test.pl |     2 +-
 interfaces/Prolog/GNU/gp_clpq.pl                   |     2 +-
 interfaces/Prolog/GNU/gprolog_cfli.hh              |     2 +-
 interfaces/Prolog/GNU/gprolog_efli.cc              |     2 +-
 interfaces/Prolog/GNU/gprolog_efli.hh              |     2 +-
 .../GNU/ppl_interface_generator_gprolog_pl.m4      |     4 +-
 interfaces/Prolog/GNU/ppl_prolog_sysdep.hh         |     2 +-
 interfaces/Prolog/Makefile.am                      |     8 +-
 interfaces/Prolog/Makefile.in                      |    23 +-
 interfaces/Prolog/Prolog_interface.dox             |    36 +-
 interfaces/Prolog/SICStus/Makefile.am              |    15 +-
 interfaces/Prolog/SICStus/Makefile.in              |    30 +-
 .../ppl_interface_generator_sicstus_sd_cc.m4       |    10 +-
 interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh     |     2 +-
 interfaces/Prolog/SICStus/ppl_sicstus.pl           |     2 +-
 interfaces/Prolog/SICStus/sicstus_cfli.cc          |     2 +-
 interfaces/Prolog/SICStus/sicstus_cfli.h           |     2 +-
 interfaces/Prolog/SICStus/sicstus_cfli.ic          |     2 +-
 interfaces/Prolog/SICStus/sicstus_efli.cc          |     2 +-
 interfaces/Prolog/SICStus/sicstus_efli.hh          |     2 +-
 interfaces/Prolog/SICStus/sp_clpq.pl               |     2 +-
 interfaces/Prolog/SICStus/sp_pl_check.pl           |     2 +-
 .../Prolog/SICStus/sp_prolog_generated_test.pl     |     2 +-
 interfaces/Prolog/SWI/Makefile.am                  |    15 +-
 interfaces/Prolog/SWI/Makefile.in                  |    30 +-
 interfaces/Prolog/SWI/pl_clpq.cc                   |     2 +-
 interfaces/Prolog/SWI/pl_clpq.pl                   |     2 +-
 .../SWI/ppl_interface_generator_swiprolog_cc.m4    |     8 +-
 interfaces/Prolog/SWI/ppl_pl.cc                    |     2 +-
 interfaces/Prolog/SWI/ppl_prolog_sysdep.hh         |     2 +-
 interfaces/Prolog/SWI/ppl_swiprolog.pl             |     2 +-
 interfaces/Prolog/SWI/swi_cfli.hh                  |     2 +-
 interfaces/Prolog/SWI/swi_efli.cc                  |     6 +-
 interfaces/Prolog/SWI/swi_efli.hh                  |     2 +-
 interfaces/Prolog/SWI/swi_pl_check.pl              |     2 +-
 interfaces/Prolog/SWI/swi_prolog_generated_test.pl |     2 +-
 interfaces/Prolog/XSB/Makefile.am                  |    17 +-
 interfaces/Prolog/XSB/Makefile.in                  |    32 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_H.m4    |     4 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_cc.m4   |     6 +-
 .../Prolog/XSB/ppl_interface_generator_xsb_hh.m4   |     4 +-
 ...erface_generator_xsb_prolog_generated_test_P.m4 |    11 +-
 interfaces/Prolog/XSB/ppl_prolog_sysdep.hh         |     2 +-
 interfaces/Prolog/XSB/xsb_cfli.hh                  |     2 +-
 interfaces/Prolog/XSB/xsb_clpq.P                   |     2 +-
 interfaces/Prolog/XSB/xsb_clpq2.P                  |     2 +-
 interfaces/Prolog/XSB/xsb_efli.cc                  |     2 +-
 interfaces/Prolog/XSB/xsb_efli.hh                  |     2 +-
 interfaces/Prolog/XSB/xsb_pl_check.P               |     2 +-
 interfaces/Prolog/YAP/Makefile.am                  |    15 +-
 interfaces/Prolog/YAP/Makefile.in                  |    30 +-
 .../Prolog/YAP/ppl_interface_generator_yap_cc.m4   |    14 +-
 interfaces/Prolog/YAP/ppl_prolog_sysdep.hh         |     2 +-
 interfaces/Prolog/YAP/ppl_yap.pl                   |     2 +-
 interfaces/Prolog/YAP/yap_cfli.hh                  |     2 +-
 interfaces/Prolog/YAP/yap_clpq.pl                  |     2 +-
 interfaces/Prolog/YAP/yap_clpq2.pl                 |     2 +-
 interfaces/Prolog/YAP/yap_efli.cc                  |     2 +-
 interfaces/Prolog/YAP/yap_efli.hh                  |     2 +-
 interfaces/Prolog/YAP/yap_pl_check.pl              |     2 +-
 interfaces/Prolog/YAP/yap_prolog_generated_test.pl |     2 +-
 .../ppl_interface_generator_prolog_cc_code.m4      |   283 +-
 .../ppl_interface_generator_prolog_cc_files.m4     |     5 +-
 .../Prolog/ppl_interface_generator_prolog_dox.m4   |   106 +-
 .../ppl_interface_generator_prolog_dox_code.m4     |   562 +-
 .../ppl_interface_generator_prolog_hh_code.m4      |    34 +-
 .../ppl_interface_generator_prolog_hh_files.m4     |    10 +-
 ...erface_generator_prolog_procedure_generators.m4 |    15 +-
 .../ppl_interface_generator_prolog_systems.m4      |     2 +-
 interfaces/Prolog/ppl_prolog_common.cc             |   100 +-
 interfaces/Prolog/ppl_prolog_common.defs.hh        |    13 +-
 interfaces/Prolog/ppl_prolog_common.inlines.hh     |     2 +-
 interfaces/Prolog/tests/Makefile.am                |     4 +-
 interfaces/Prolog/tests/Makefile.in                |    19 +-
 interfaces/Prolog/tests/clpq.pl                    |     4 +-
 interfaces/Prolog/tests/clpq2.pl                   |     4 +-
 interfaces/Prolog/tests/expected_clpq2_int16       |     2 +-
 interfaces/Prolog/tests/expected_clpq2_int16_a     |     2 +-
 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        |     2 +-
 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/pl_check.pl                |     2 +-
 ...interface_generator_prolog_generated_test_pl.m4 |    59 +-
 ...face_generator_prolog_generated_test_pl_code.m4 |   168 +-
 .../tests/ppl_prolog_generated_test_common.pl      |     5 +-
 interfaces/interfaced_boxes.hh                     |     2 +-
 interfaces/marked_pointers.hh                      |     2 +-
 interfaces/ppl_interface_generator_common.m4       |   699 +-
 interfaces/ppl_interface_generator_common_dat.m4   |   499 +-
 ...erface_generator_common_procedure_generators.m4 |    14 +-
 interfaces/ppl_interface_generator_copyright       |     2 +-
 m4/Makefile.am                                     |     3 +-
 m4/Makefile.in                                     |    18 +-
 m4/ac_check_ciao.m4                                |     2 +-
 m4/ac_check_fpu_control.m4                         |    27 +-
 m4/ac_check_gmp.m4                                 |    26 +-
 m4/ac_check_sicstus_prolog.m4                      |     2 +-
 m4/ac_check_swi_prolog.m4                          |     5 +-
 m4/ac_check_xsb_prolog.m4                          |     2 +-
 m4/ac_cxx_attribute_weak.m4                        |     4 +-
 m4/ac_cxx_double_binary_format.m4                  |    13 +-
 m4/ac_cxx_double_exact_output.m4                   |    14 +-
 m4/ac_cxx_flexible_arrays.m4                       |    55 +-
 m4/ac_cxx_float_binary_format.m4                   |    11 +-
 m4/ac_cxx_float_exact_output.m4                    |    13 +-
 m4/ac_cxx_ieee_inexact_flag.m4                     |     6 +-
 m4/ac_cxx_limit_memory.m4                          |     6 +-
 m4/ac_cxx_long_double_binary_format.m4             |    30 +-
 m4/ac_cxx_long_double_exact_output.m4              |    27 +-
 m4/ac_cxx_proper_long_double.m4                    |     6 +-
 m4/ac_cxx_remainder_bug.m4                         |     6 +-
 m4/ac_prog_jar.m4                                  |     2 +-
 m4/ac_prog_java.m4                                 |    18 +-
 m4/ac_prog_javac.m4                                |     8 +-
 m4/ac_prog_javah.m4                                |     2 +-
 m4/ac_text_md5sum.m4                               |     2 +-
 m4/ax_prefix_config_h.m4                           |   183 -
 m4/m4.m4                                           |    46 +
 m4/ppl.m4                                          |     2 +-
 m4/ppl_c.m4                                        |     2 +-
 config.h.in => ppl-config.h.in                     |   354 +-
 ppl-config.sed                                     |    65 +
 src/BDS_Status.idefs.hh                            |     2 +-
 src/BDS_Status.inlines.hh                          |     4 +-
 src/BD_Shape.cc                                    |     2 +-
 src/BD_Shape.defs.hh                               |    33 +-
 src/BD_Shape.inlines.hh                            |    33 +-
 src/BD_Shape.templates.hh                          |   810 +-
 src/BD_Shape.types.hh                              |     2 +-
 src/BHRZ03_Certificate.cc                          |     2 +-
 src/BHRZ03_Certificate.defs.hh                     |     2 +-
 src/BHRZ03_Certificate.inlines.hh                  |     2 +-
 src/BHRZ03_Certificate.types.hh                    |     2 +-
 src/Bit_Matrix.cc                                  |     4 +-
 src/Bit_Matrix.defs.hh                             |     2 +-
 src/Bit_Matrix.inlines.hh                          |     2 +-
 src/Bit_Matrix.types.hh                            |     2 +-
 src/Bit_Row.cc                                     |     9 +-
 src/Bit_Row.defs.hh                                |     2 +-
 src/Bit_Row.inlines.hh                             |    13 +-
 src/Bit_Row.types.hh                               |     2 +-
 src/Boundary.defs.hh                               |    33 +-
 src/Box.cc                                         |     2 +-
 src/Box.defs.hh                                    |    12 +-
 src/Box.inlines.hh                                 |    51 +-
 src/Box.templates.hh                               |   396 +-
 src/Box.types.hh                                   |     2 +-
 src/Box_Status.idefs.hh                            |     2 +-
 src/Box_Status.inlines.hh                          |     4 +-
 src/CREDITS.cc.dist                                |   165 +-
 src/C_Integer.hh                                   |     2 +-
 src/C_Polyhedron.cc                                |    19 +-
 src/C_Polyhedron.defs.hh                           |     2 +-
 src/C_Polyhedron.inlines.hh                        |     2 +-
 src/C_Polyhedron.types.hh                          |     2 +-
 src/Checked_Number.cc                              |     2 +-
 src/Checked_Number.defs.hh                         |     4 +-
 src/Checked_Number.inlines.hh                      |    76 +-
 src/Checked_Number.templates.hh                    |     2 +-
 src/Checked_Number.types.hh                        |     2 +-
 src/Coefficient.cc                                 |     2 +-
 src/Coefficient.defs.hh                            |     2 +-
 src/Coefficient.inlines.hh                         |     2 +-
 src/Coefficient.types.hh                           |     2 +-
 src/Coefficient_traits_template.hh                 |     2 +-
 src/Congruence.cc                                  |     6 +-
 src/Congruence.defs.hh                             |     2 +-
 src/Congruence.inlines.hh                          |     2 +-
 src/Congruence.types.hh                            |     2 +-
 src/Congruence_System.cc                           |    10 +-
 src/Congruence_System.defs.hh                      |     2 +-
 src/Congruence_System.inlines.hh                   |     2 +-
 src/Congruence_System.types.hh                     |     2 +-
 src/Constraint.cc                                  |     4 +-
 src/Constraint.defs.hh                             |     2 +-
 src/Constraint.inlines.hh                          |     2 +-
 src/Constraint.types.hh                            |     2 +-
 src/Constraint_System.cc                           |     8 +-
 src/Constraint_System.defs.hh                      |     2 +-
 src/Constraint_System.inlines.hh                   |     2 +-
 src/Constraint_System.types.hh                     |     2 +-
 src/DB_Matrix.defs.hh                              |     2 +-
 src/DB_Matrix.inlines.hh                           |     2 +-
 src/DB_Matrix.templates.hh                         |     7 +-
 src/DB_Matrix.types.hh                             |     2 +-
 src/DB_Row.defs.hh                                 |     2 +-
 src/DB_Row.inlines.hh                              |     8 +-
 src/DB_Row.templates.hh                            |     4 +-
 src/DB_Row.types.hh                                |     2 +-
 src/Determinate.defs.hh                            |     2 +-
 src/Determinate.inlines.hh                         |    12 +-
 src/Determinate.types.hh                           |     2 +-
 src/Float.cc                                       |     2 +-
 src/Float.defs.hh                                  |    14 +-
 src/Float.inlines.hh                               |     2 +-
 src/GMP_Integer.defs.hh                            |     2 +-
 src/GMP_Integer.inlines.hh                         |     4 +-
 src/GMP_Integer.types.hh                           |     2 +-
 src/Generator.cc                                   |    14 +-
 src/Generator.defs.hh                              |     2 +-
 src/Generator.inlines.hh                           |    28 +-
 src/Generator.types.hh                             |     2 +-
 src/Generator_System.cc                            |    10 +-
 src/Generator_System.defs.hh                       |     2 +-
 src/Generator_System.inlines.hh                    |     2 +-
 src/Generator_System.types.hh                      |     2 +-
 src/Grid.defs.hh                                   |    16 +-
 src/Grid.inlines.hh                                |     4 +-
 src/Grid.templates.hh                              |    46 +-
 src/Grid.types.hh                                  |     2 +-
 src/Grid_Certificate.cc                            |     2 +-
 src/Grid_Certificate.defs.hh                       |     2 +-
 src/Grid_Certificate.inlines.hh                    |     2 +-
 src/Grid_Certificate.types.hh                      |     2 +-
 src/Grid_Generator.cc                              |     6 +-
 src/Grid_Generator.defs.hh                         |    13 +-
 src/Grid_Generator.inlines.hh                      |     2 +-
 src/Grid_Generator.types.hh                        |     2 +-
 src/Grid_Generator_System.cc                       |     6 +-
 src/Grid_Generator_System.defs.hh                  |     2 +-
 src/Grid_Generator_System.inlines.hh               |     2 +-
 src/Grid_Generator_System.types.hh                 |     2 +-
 src/Grid_Status.cc                                 |     4 +-
 src/Grid_Status.idefs.hh                           |     2 +-
 src/Grid_Status.inlines.hh                         |     2 +-
 src/Grid_chdims.cc                                 |     2 +-
 src/Grid_conversion.cc                             |    20 +-
 src/Grid_nonpublic.cc                              |     9 +-
 src/Grid_public.cc                                 |   239 +-
 src/Grid_simplify.cc                               |    61 +-
 src/Grid_widenings.cc                              |     2 +-
 src/H79_Certificate.cc                             |     2 +-
 src/H79_Certificate.defs.hh                        |     2 +-
 src/H79_Certificate.inlines.hh                     |     2 +-
 src/H79_Certificate.types.hh                       |     2 +-
 src/Has_Assign_Or_Swap.hh                          |     2 +-
 src/Init.cc                                        |     7 +-
 src/Init.defs.hh                                   |     2 +-
 src/Init.inlines.hh                                |     2 +-
 src/Init.types.hh                                  |     2 +-
 src/Interval.defs.hh                               |    79 +-
 src/Interval.inlines.hh                            |    88 +-
 src/Interval.templates.hh                          |    37 +-
 src/Interval.types.hh                              |     2 +-
 src/Interval_Info.defs.hh                          |     2 +-
 src/Interval_Info.inlines.hh                       |     2 +-
 src/Interval_Info.types.hh                         |     2 +-
 src/Interval_Restriction.defs.hh                   |    76 +-
 src/Linear_Expression.cc                           |   107 +-
 src/Linear_Expression.defs.hh                      |    10 +-
 src/Linear_Expression.inlines.hh                   |    61 +-
 src/Linear_Expression.types.hh                     |     2 +-
 src/Linear_Row.cc                                  |     8 +-
 src/Linear_Row.defs.hh                             |     2 +-
 src/Linear_Row.inlines.hh                          |     2 +-
 src/Linear_Row.types.hh                            |     2 +-
 src/Linear_System.cc                               |     4 +-
 src/Linear_System.defs.hh                          |     2 +-
 src/Linear_System.inlines.hh                       |     2 +-
 src/Linear_System.types.hh                         |     2 +-
 src/MIP_Problem.cc                                 |   141 +-
 src/MIP_Problem.defs.hh                            |     2 +-
 src/MIP_Problem.inlines.hh                         |     2 +-
 src/MIP_Problem.templates.hh                       |     2 +-
 src/MIP_Problem.types.hh                           |     2 +-
 src/Makefile.am                                    |    31 +-
 src/Makefile.in                                    |    82 +-
 src/Matrix.cc                                      |     6 +-
 src/Matrix.defs.hh                                 |     2 +-
 src/Matrix.inlines.hh                              |     2 +-
 src/Matrix.types.hh                                |     2 +-
 src/NNC_Polyhedron.cc                              |    11 +-
 src/NNC_Polyhedron.defs.hh                         |     2 +-
 src/NNC_Polyhedron.inlines.hh                      |     2 +-
 src/NNC_Polyhedron.types.hh                        |     2 +-
 src/Numeric_Format.defs.hh                         |     2 +-
 src/OR_Matrix.defs.hh                              |     4 +-
 src/OR_Matrix.inlines.hh                           |    40 +-
 src/OR_Matrix.templates.hh                         |     7 +-
 src/OR_Matrix.types.hh                             |     2 +-
 src/Octagonal_Shape.cc                             |     2 +-
 src/Octagonal_Shape.defs.hh                        |    28 +-
 src/Octagonal_Shape.inlines.hh                     |    28 +-
 src/Octagonal_Shape.templates.hh                   |   883 +-
 src/Octagonal_Shape.types.hh                       |     2 +-
 src/Og_Status.idefs.hh                             |     2 +-
 src/Og_Status.inlines.hh                           |     4 +-
 src/Partially_Reduced_Product.defs.hh              |    96 +-
 src/Partially_Reduced_Product.inlines.hh           |   165 +-
 src/Partially_Reduced_Product.templates.hh         |   112 +-
 src/Partially_Reduced_Product.types.hh             |     2 +-
 src/Ph_Status.cc                                   |     4 +-
 src/Ph_Status.idefs.hh                             |     2 +-
 src/Ph_Status.inlines.hh                           |     2 +-
 src/Pointset_Powerset.cc                           |    21 +-
 src/Pointset_Powerset.defs.hh                      |     8 +-
 src/Pointset_Powerset.inlines.hh                   |     2 +-
 src/Pointset_Powerset.templates.hh                 |    78 +-
 src/Pointset_Powerset.types.hh                     |     2 +-
 src/Poly_Con_Relation.cc                           |     2 +-
 src/Poly_Con_Relation.defs.hh                      |     2 +-
 src/Poly_Con_Relation.inlines.hh                   |     2 +-
 src/Poly_Con_Relation.types.hh                     |     2 +-
 src/Poly_Gen_Relation.cc                           |     2 +-
 src/Poly_Gen_Relation.defs.hh                      |     2 +-
 src/Poly_Gen_Relation.inlines.hh                   |     2 +-
 src/Poly_Gen_Relation.types.hh                     |     2 +-
 src/Polyhedron.defs.hh                             |    24 +-
 src/Polyhedron.inlines.hh                          |     2 +-
 src/Polyhedron.templates.hh                        |    10 +-
 src/Polyhedron.types.hh                            |     2 +-
 src/Polyhedron_chdims.cc                           |     2 +-
 src/Polyhedron_nonpublic.cc                        |   635 +-
 src/Polyhedron_public.cc                           |    47 +-
 src/Polyhedron_widenings.cc                        |     4 +-
 src/Powerset.defs.hh                               |     3 +-
 src/Powerset.inlines.hh                            |     2 +-
 src/Powerset.templates.hh                          |     3 +-
 src/Powerset.types.hh                              |     2 +-
 src/Ptr_Iterator.defs.hh                           |     2 +-
 src/Ptr_Iterator.inlines.hh                        |     2 +-
 src/Ptr_Iterator.types.hh                          |     2 +-
 src/Rational_Box.hh                                |     2 +-
 src/Rational_Interval.hh                           |     2 +-
 src/Result.defs.hh                                 |     2 +-
 src/Result.inlines.hh                              |     2 +-
 src/Rounding_Dir.defs.hh                           |     2 +-
 src/Rounding_Dir.inlines.hh                        |    17 +-
 src/Row.cc                                         |     8 +-
 src/Row.defs.hh                                    |     2 +-
 src/Row.inlines.hh                                 |     6 +-
 src/Row.types.hh                                   |     2 +-
 src/Scalar_Products.cc                             |     4 +-
 src/Scalar_Products.defs.hh                        |     2 +-
 src/Scalar_Products.inlines.hh                     |    12 +-
 src/Scalar_Products.types.hh                       |     2 +-
 src/Slow_Copy.hh                                   |     2 +-
 src/Temp.defs.hh                                   |     2 +-
 src/Temp.inlines.hh                                |     6 +-
 src/Temp.templates.hh                              |     2 +-
 src/Topology.hh                                    |     2 +-
 src/Variable.cc                                    |     2 +-
 src/Variable.defs.hh                               |     2 +-
 src/Variable.inlines.hh                            |     2 +-
 src/Variable.types.hh                              |     2 +-
 src/Variables_Set.cc                               |     2 +-
 src/Variables_Set.defs.hh                          |     2 +-
 src/Variables_Set.inlines.hh                       |     2 +-
 src/Variables_Set.types.hh                         |     2 +-
 src/Widening_Function.defs.hh                      |     2 +-
 src/Widening_Function.inlines.hh                   |     2 +-
 src/Widening_Function.types.hh                     |     2 +-
 src/algorithms.hh                                  |     2 +-
 src/assign_or_swap.hh                              |     2 +-
 src/c_streambuf.cc                                 |   101 +
 src/{stdiobuf.defs.hh => c_streambuf.defs.hh}      |    53 +-
 ...{stdiobuf.inlines.hh => c_streambuf.inlines.hh} |    18 +-
 src/{Constraint.types.hh => c_streambuf.types.hh}  |    10 +-
 src/checked.cc                                     |     2 +-
 src/checked.defs.hh                                |   770 +-
 src/checked.inlines.hh                             |   222 +-
 src/checked_ext.inlines.hh                         |     7 +-
 src/checked_float.inlines.hh                       |   275 +-
 src/checked_int.inlines.hh                         |   918 +-
 src/checked_mpq.inlines.hh                         |   131 +-
 src/checked_mpz.inlines.hh                         |   130 +-
 src/checked_numeric_limits.hh                      |    22 +-
 src/compiler.hh                                    |     5 +-
 src/conversion.cc                                  |     8 +-
 src/distances.defs.hh                              |     2 +-
 src/distances.inlines.hh                           |     2 +-
 src/distances.types.hh                             |     2 +-
 src/fpu-c99.inlines.hh                             |    19 +-
 src/fpu-ia32.cc                                    |     9 +-
 src/fpu-ia32.inlines.hh                            |    46 +-
 src/fpu-none.inlines.hh                            |     7 +-
 src/fpu-sparc.inlines.hh                           |    15 +-
 src/fpu.defs.hh                                    |     3 +-
 src/fpu.types.hh                                   |     2 +-
 src/globals.cc                                     |     2 +-
 src/globals.defs.hh                                |    23 +-
 src/globals.inlines.hh                             |    11 +-
 src/globals.types.hh                               |     2 +-
 src/initializer.hh                                 |     2 +-
 src/iterator_to_const.defs.hh                      |     3 +-
 src/iterator_to_const.inlines.hh                   |     2 +-
 src/iterator_to_const.types.hh                     |     2 +-
 src/math_utilities.defs.hh                         |     2 +-
 src/math_utilities.inlines.hh                      |    12 +-
 src/max_space_dimension.hh                         |     2 +-
 src/meta_programming.hh                            |    15 +-
 src/minimize.cc                                    |     2 +-
 src/mp_std_bits.cc                                 |     2 +-
 src/mp_std_bits.defs.hh                            |     2 +-
 src/mp_std_bits.inlines.hh                         |     2 +-
 src/namespaces.hh                                  |     2 +-
 src/ppl-config.cc                                  |   726 -
 src/ppl-config.cc.in                               |    17 +-
 src/ppl.hh.dist                                    | 88360 +++++++++--------
 src/ppl_header.hh                                  |    52 +-
 src/simplify.cc                                    |     8 +-
 src/stdiobuf.cc                                    |     4 +-
 src/stdiobuf.defs.hh                               |     2 +-
 src/stdiobuf.inlines.hh                            |     2 +-
 src/stdiobuf.types.hh                              |     2 +-
 src/swapping_sort.icc                              |     2 +-
 src/version.cc                                     |     4 +-
 src/version.hh.in                                  |     2 +-
 src/wrap.cc                                        |    92 +
 tests/Partial_Function.defs.hh => src/wrap.hh      |    54 +-
 tests/BD_Shape/Makefile.am                         |    20 +-
 tests/BD_Shape/Makefile.in                         |    93 +-
 tests/BD_Shape/addconstraints1.cc                  |     2 +-
 tests/BD_Shape/addspacedims1.cc                    |     2 +-
 tests/BD_Shape/affinedimension1.cc                 |     2 +-
 tests/BD_Shape/affineimage1.cc                     |     2 +-
 tests/BD_Shape/affineimage2.cc                     |     2 +-
 tests/BD_Shape/affinepreimage1.cc                  |     2 +-
 tests/BD_Shape/ascii_dump_load1.cc                 |     2 +-
 tests/BD_Shape/bgp99extrapolation1.cc              |     2 +-
 tests/BD_Shape/bhmz05widening1.cc                  |     2 +-
 tests/BD_Shape/bhz03widening1.cc                   |     2 +-
 tests/BD_Shape/bounded1.cc                         |     2 +-
 tests/BD_Shape/boundedaffineimage1.cc              |     2 +-
 tests/BD_Shape/boundedaffinepreimage1.cc           |     2 +-
 tests/BD_Shape/bounds1.cc                          |     2 +-
 tests/BD_Shape/cc76extrapolation1.cc               |     2 +-
 tests/BD_Shape/cc76narrowing1.cc                   |     2 +-
 tests/BD_Shape/closure1.cc                         |     2 +-
 tests/BD_Shape/concatenate1.cc                     |     2 +-
 tests/BD_Shape/congruences1.cc                     |     2 +-
 tests/BD_Shape/constrains1.cc                      |     2 +-
 tests/BD_Shape/constraints1.cc                     |     2 +-
 tests/BD_Shape/contains1.cc                        |     2 +-
 tests/BD_Shape/containsintegerpoint1.cc            |     2 +-
 tests/BD_Shape/difference1.cc                      |     2 +-
 tests/BD_Shape/discrete1.cc                        |     2 +-
 tests/BD_Shape/disjoint1.cc                        |     5 +-
 tests/BD_Shape/empty1.cc                           |     2 +-
 tests/BD_Shape/equality1.cc                        |     2 +-
 tests/BD_Shape/expandspacedim1.cc                  |     2 +-
 tests/BD_Shape/foldspacedims1.cc                   |     2 +-
 tests/BD_Shape/frombdshape1.cc                     |     2 +-
 tests/BD_Shape/frombox1.cc                         |     2 +-
 tests/BD_Shape/fromgensys1.cc                      |     2 +-
 tests/BD_Shape/fromgrid1.cc                        |     2 +-
 tests/BD_Shape/fromoctagonalshape1.cc              |     2 +-
 tests/BD_Shape/frompolyhedron1.cc                  |     2 +-
 tests/BD_Shape/fromspacedim1.cc                    |     2 +-
 tests/BD_Shape/generalizedaffineimage1.cc          |     2 +-
 tests/BD_Shape/generalizedaffineimage2.cc          |     2 +-
 tests/BD_Shape/generalizedaffinepreimage1.cc       |     2 +-
 tests/BD_Shape/generalizedaffinepreimage2.cc       |     2 +-
 tests/BD_Shape/generalizedaffinepreimage3.cc       |     2 +-
 tests/BD_Shape/geomcovers1.cc                      |     2 +-
 tests/BD_Shape/h79widening1.cc                     |     2 +-
 tests/BD_Shape/intersection1.cc                    |     2 +-
 tests/BD_Shape/limitedbhmz05extrapolation1.cc      |     2 +-
 tests/BD_Shape/limitedcc76extrapolation1.cc        |     2 +-
 tests/BD_Shape/limitedh79extrapolation1.cc         |     2 +-
 tests/BD_Shape/mapspacedims1.cc                    |     2 +-
 tests/BD_Shape/max_min1.cc                         |     2 +-
 tests/BD_Shape/max_min2.cc                         |     2 +-
 tests/BD_Shape/maxspacedim1.cc                     |     2 +-
 tests/BD_Shape/membytes1.cc                        |     2 +-
 tests/BD_Shape/minconstraints1.cc                  |     2 +-
 tests/BD_Shape/pointsetpowerset1.cc                |   489 -
 tests/BD_Shape/relations1.cc                       |     2 +-
 tests/BD_Shape/relations2.cc                       |     2 +-
 tests/BD_Shape/relations3.cc                       |     2 +-
 tests/BD_Shape/relations4.cc                       |     2 +-
 tests/BD_Shape/removespacedims1.cc                 |     2 +-
 tests/BD_Shape/run_tests                           |     3 +-
 tests/BD_Shape/simplifyusingcontext1.cc            |   305 +
 tests/BD_Shape/timeelapse1.cc                      |     2 +-
 tests/BD_Shape/unconstrain1.cc                     |     2 +-
 tests/BD_Shape/universe1.cc                        |     2 +-
 tests/BD_Shape/upperbound1.cc                      |     2 +-
 tests/BD_Shape/upperboundifexact1.cc               |   375 +
 tests/BD_Shape/writebdshape1.cc                    |     2 +-
 tests/Box/Makefile.am                              |    21 +-
 tests/Box/Makefile.in                              |   138 +-
 tests/Box/addconstraints1.cc                       |     2 +-
 tests/Box/addspacedims1.cc                         |     2 +-
 tests/Box/affinedimension1.cc                      |     2 +-
 tests/Box/affineimage1.cc                          |     2 +-
 tests/Box/affinepreimage1.cc                       |     2 +-
 tests/Box/ascii_dump_load1.cc                      |    29 +-
 tests/Box/bgp99extrapolation1.cc                   |     2 +-
 tests/Box/bhz03widening1.cc                        |     2 +-
 tests/Box/bounded1.cc                              |     2 +-
 tests/Box/boundedaffineimage1.cc                   |     2 +-
 tests/Box/boundedaffinepreimage1.cc                |     2 +-
 tests/Box/cc76narrowing1.cc                        |     2 +-
 tests/Box/cc76widening.cc                          |     2 +-
 tests/Box/concatenate1.cc                          |     2 +-
 tests/Box/congruences1.cc                          |     5 +-
 tests/Box/constrains1.cc                           |     2 +-
 tests/Box/constraints1.cc                          |     2 +-
 tests/Box/contains1.cc                             |     2 +-
 tests/Box/containsintegerpoint1.cc                 |     2 +-
 tests/Box/difference1.cc                           |     2 +-
 tests/Box/discrete1.cc                             |     2 +-
 tests/Box/disjoint1.cc                             |     2 +-
 tests/Box/empty1.cc                                |   110 +-
 tests/Box/equality1.cc                             |     2 +-
 tests/Box/expandspacedim1.cc                       |     2 +-
 tests/Box/foldspacedims1.cc                        |     2 +-
 tests/Box/frombdshape1.cc                          |     2 +-
 tests/Box/frombox1.cc                              |    13 +-
 tests/Box/fromgensys1.cc                           |     2 +-
 tests/Box/fromgrid1.cc                             |    27 +-
 tests/Box/frompartiallyreducedproduct1.cc          |     2 +-
 tests/Box/frompolyhedron1.cc                       |     2 +-
 tests/Box/frompolyhedron2.cc                       |     2 +-
 tests/Box/fromspacedim1.cc                         |     2 +-
 tests/Box/generalizedaffineimage1.cc               |     2 +-
 tests/Box/generalizedaffineimage2.cc               |     2 +-
 tests/Box/generalizedaffinepreimage1.cc            |     2 +-
 tests/Box/geomcovers1.cc                           |     2 +-
 tests/Box/intersection1.cc                         |     2 +-
 tests/Box/interval1.cc                             |     2 +-
 tests/Box/limitedcc76extrapolation1.cc             |   316 +
 tests/Box/mapspacedims1.cc                         |     2 +-
 tests/Box/max_min1.cc                              |     5 +-
 tests/Box/maxspacedim1.cc                          |     2 +-
 tests/Box/membytes1.cc                             |     2 +-
 tests/Box/minconstraints1.cc                       |     2 +-
 tests/Box/pointsetpowerset1.cc                     |   543 -
 tests/Box/pointsetpowerset2.cc                     |   481 -
 tests/Box/propagateconstraints1.cc                 |     2 +-
 tests/Box/propagateconstraints2.cc                 |     2 +-
 tests/Box/refinewithcongruences1.cc                |     2 +-
 tests/Box/refinewithconstraint1.cc                 |     4 +-
 tests/Box/refinewithconstraint2.cc                 |     2 +-
 tests/Box/refinewithconstraints1.cc                |     2 +-
 tests/Box/refinewithconstraints2.cc                |     2 +-
 tests/Box/relations1.cc                            |     2 +-
 tests/Box/relations2.cc                            |     2 +-
 tests/Box/relations3.cc                            |     2 +-
 tests/Box/relations4.cc                            |     5 +-
 tests/Box/removespacedims1.cc                      |     2 +-
 tests/Box/run_tests                                |     3 +-
 tests/Box/simplifyusingcontext1.cc                 |   305 +
 tests/Box/timeelapse1.cc                           |     2 +-
 tests/Box/topclosed1.cc                            |     2 +-
 tests/Box/unconstrain1.cc                          |     2 +-
 tests/Box/universe1.cc                             |     2 +-
 tests/Box/upperbound1.cc                           |     2 +-
 tests/Box/upperboundifexact1.cc                    |   310 +
 tests/Box/writebox1.cc                             |     2 +-
 tests/Grid/Makefile.am                             |     8 +-
 tests/Grid/Makefile.in                             |    84 +-
 tests/Grid/addcongruence1.cc                       |     2 +-
 tests/Grid/addcongruences1.cc                      |     5 +-
 tests/Grid/addconstraint1.cc                       |     2 +-
 tests/Grid/addconstraints1.cc                      |     2 +-
 tests/Grid/addgenerator1.cc                        |     2 +-
 tests/Grid/addgenerators1.cc                       |     2 +-
 tests/Grid/addspacedims1.cc                        |     2 +-
 tests/Grid/affinedim1.cc                           |     2 +-
 tests/Grid/affineimage1.cc                         |     2 +-
 tests/Grid/affineimage2.cc                         |     2 +-
 tests/Grid/affinepreimage1.cc                      |     2 +-
 tests/Grid/affinepreimage2.cc                      |     2 +-
 tests/Grid/approximatepartition1.cc                |     2 +-
 tests/Grid/asciidumpload1.cc                       |     2 +-
 tests/Grid/asciidumpload2.cc                       |     6 +-
 tests/Grid/asciidumpload3.cc                       |     2 +-
 tests/Grid/asciidumpload4.cc                       |     2 +-
 tests/Grid/asciidumpload5.cc                       |     2 +-
 tests/Grid/asciidumpload6.cc                       |     2 +-
 tests/Grid/bhz03widening1.cc                       |     2 +-
 tests/Grid/bounded1.cc                             |     2 +-
 tests/Grid/boundedaffineimage1.cc                  |     2 +-
 tests/Grid/boundedaffinepreimage1.cc               |     2 +-
 tests/Grid/bounds1.cc                              |    19 +-
 tests/Grid/certificate1.cc                         |     2 +-
 tests/Grid/concatenate1.cc                         |     2 +-
 tests/Grid/congruence1.cc                          |     2 +-
 tests/Grid/congruences1.cc                         |     2 +-
 tests/Grid/congruences2.cc                         |     2 +-
 tests/Grid/constraints1.cc                         |     2 +-
 tests/Grid/contains1.cc                            |     2 +-
 tests/Grid/containsintegerpoint1.cc                |     2 +-
 tests/Grid/coveringbox1.cc                         |     2 +-
 tests/Grid/coveringbox2.cc                         |     2 +-
 tests/Grid/discrete1.cc                            |     2 +-
 tests/Grid/disjoint1.cc                            |     2 +-
 tests/Grid/equals1.cc                              |     2 +-
 tests/Grid/expandspacedim1.cc                      |     2 +-
 tests/Grid/foldspacedims1.cc                       |     2 +-
 tests/Grid/frombdshape1.cc                         |     2 +-
 tests/Grid/frombox1.cc                             |     2 +-
 tests/Grid/fromgrid1.cc                            |     2 +-
 tests/Grid/fromoctagonalshape1.cc                  |     2 +-
 tests/Grid/frompolyhedron1.cc                      |     2 +-
 tests/Grid/generalizedaffineimage1.cc              |     2 +-
 tests/Grid/generalizedaffineimage2.cc              |     2 +-
 tests/Grid/generalizedaffineimage3.cc              |     2 +-
 tests/Grid/generalizedaffinepreimage1.cc           |     2 +-
 tests/Grid/generalizedaffinepreimage2.cc           |     2 +-
 tests/Grid/generalizedaffinepreimage3.cc           |     2 +-
 tests/Grid/generator1.cc                           |     2 +-
 tests/Grid/generators1.cc                          |     2 +-
 tests/Grid/generators2.cc                          |     2 +-
 tests/Grid/grid1.cc                                |     2 +-
 tests/Grid/grid2.cc                                |     2 +-
 tests/Grid/grid3.cc                                |     2 +-
 tests/Grid/griddifference1.cc                      |     2 +-
 tests/Grid/intersection1.cc                        |     2 +-
 tests/Grid/isempty1.cc                             |     2 +-
 tests/Grid/isuniverse1.cc                          |     2 +-
 tests/Grid/limitedextrapolation1.cc                |     2 +-
 tests/Grid/limitedextrapolation2.cc                |     2 +-
 tests/Grid/limitedextrapolation3.cc                |     2 +-
 tests/Grid/mapspacedims1.cc                        |     2 +-
 tests/Grid/maxmin1.cc                              |    20 +-
 tests/Grid/membytes1.cc                            |     2 +-
 tests/Grid/mincongruences1.cc                      |     2 +-
 tests/Grid/mingenerators1.cc                       |     2 +-
 tests/Grid/outputoperator1.cc                      |     2 +-
 tests/Grid/outputoperator2.cc                      |     2 +-
 tests/Grid/outputoperator3.cc                      |     2 +-
 tests/Grid/partition1.cc                           |     6 +-
 tests/Grid/pointsetpowerset1.cc                    |   481 -
 tests/Grid/powersetdifference1.cc                  |     2 +-
 tests/Grid/powersetgeometricallycovers1.cc         |     2 +-
 tests/Grid/powersetgeometricallyequals1.cc         |     2 +-
 tests/Grid/refinewithcongruences1.cc               |     2 +-
 tests/Grid/refinewithconstraints1.cc               |     2 +-
 tests/Grid/relations1.cc                           |     2 +-
 tests/Grid/relations2.cc                           |     2 +-
 tests/Grid/relations3.cc                           |     2 +-
 tests/Grid/removespacedims1.cc                     |     2 +-
 tests/Grid/removespacedims2.cc                     |     2 +-
 tests/Grid/simplifyusingcontext1.cc                |   500 +
 tests/Grid/timeelapse1.cc                          |     2 +-
 tests/Grid/topclosed1.cc                           |     2 +-
 tests/Grid/topclosure1.cc                          |     2 +-
 tests/Grid/unconstrain1.cc                         |     2 +-
 tests/Grid/upperbound1.cc                          |     2 +-
 tests/Grid/upperbound2.cc                          |     2 +-
 tests/Grid/widening1.cc                            |     2 +-
 tests/Grid/widening2.cc                            |     2 +-
 tests/Grid/widening3.cc                            |     2 +-
 tests/Grid/writecongruencesystem.cc                |     2 +-
 tests/MIP_Problem/Makefile.am                      |    11 +-
 tests/MIP_Problem/Makefile.in                      |    29 +-
 tests/MIP_Problem/ascii_dump_load1.cc              |     2 +-
 tests/MIP_Problem/exceptions1.cc                   |     5 +-
 tests/MIP_Problem/mipproblem1.cc                   |     2 +-
 tests/MIP_Problem/mipproblem2.cc                   |     2 +-
 tests/MIP_Problem/mipproblem3.cc                   |     2 +-
 tests/Makefile.am                                  |     2 +-
 tests/Makefile.in                                  |    17 +-
 tests/Octagonal_Shape/Makefile.am                  |    17 +-
 tests/Octagonal_Shape/Makefile.in                  |    90 +-
 tests/Octagonal_Shape/addspacedims1.cc             |     2 +-
 tests/Octagonal_Shape/affinedimension1.cc          |     2 +-
 tests/Octagonal_Shape/affineimage1.cc              |    60 +-
 tests/Octagonal_Shape/affineimage2.cc              |     2 +-
 tests/Octagonal_Shape/affinepreimage1.cc           |     2 +-
 tests/Octagonal_Shape/affinepreimage2.cc           |     2 +-
 tests/Octagonal_Shape/ascii_dump_load1.cc          |     2 +-
 tests/Octagonal_Shape/bhmz05widening1.cc           |     2 +-
 tests/Octagonal_Shape/bhz03widening1.cc            |     2 +-
 tests/Octagonal_Shape/bounded1.cc                  |     2 +-
 tests/Octagonal_Shape/boundedaffineimage1.cc       |     5 +-
 tests/Octagonal_Shape/boundedaffinepreimage1.cc    |     2 +-
 tests/Octagonal_Shape/bounds1.cc                   |     2 +-
 tests/Octagonal_Shape/cc76extrapolation1.cc        |     5 +-
 tests/Octagonal_Shape/cc76narrowing1.cc            |     2 +-
 tests/Octagonal_Shape/chinainit.cc                 |     2 +-
 tests/Octagonal_Shape/concatenate1.cc              |     2 +-
 tests/Octagonal_Shape/congruences1.cc              |     2 +-
 tests/Octagonal_Shape/constrains1.cc               |     2 +-
 tests/Octagonal_Shape/constraints1.cc              |     2 +-
 tests/Octagonal_Shape/contains1.cc                 |     2 +-
 tests/Octagonal_Shape/containsintegerpoint1.cc     |     2 +-
 tests/Octagonal_Shape/difference1.cc               |     5 +-
 tests/Octagonal_Shape/discrete1.cc                 |     2 +-
 tests/Octagonal_Shape/disjoint1.cc                 |     5 +-
 tests/Octagonal_Shape/empty1.cc                    |     2 +-
 tests/Octagonal_Shape/expandspacedim1.cc           |     2 +-
 tests/Octagonal_Shape/foldspacedims1.cc            |     2 +-
 tests/Octagonal_Shape/frombdshape1.cc              |     2 +-
 tests/Octagonal_Shape/frombox1.cc                  |     2 +-
 tests/Octagonal_Shape/fromgensys1.cc               |     2 +-
 tests/Octagonal_Shape/fromgrid1.cc                 |     2 +-
 tests/Octagonal_Shape/fromoctagonalshape1.cc       |     2 +-
 tests/Octagonal_Shape/frompolyhedron1.cc           |     2 +-
 tests/Octagonal_Shape/fromspacedim1.cc             |     2 +-
 tests/Octagonal_Shape/generalizedaffineimage1.cc   |     2 +-
 tests/Octagonal_Shape/generalizedaffineimage2.cc   |     2 +-
 tests/Octagonal_Shape/generalizedaffineimage3.cc   |     5 +-
 tests/Octagonal_Shape/generalizedaffineimage4.cc   |     2 +-
 tests/Octagonal_Shape/generalizedaffineimage5.cc   |     2 +-
 .../Octagonal_Shape/generalizedaffinepreimage1.cc  |     2 +-
 .../Octagonal_Shape/generalizedaffinepreimage2.cc  |     5 +-
 .../Octagonal_Shape/generalizedaffinepreimage3.cc  |     5 +-
 .../Octagonal_Shape/generalizedaffinepreimage4.cc  |     2 +-
 tests/Octagonal_Shape/intersection1.cc             |     2 +-
 .../Octagonal_Shape/limitedbhmz05extrapolation1.cc |     2 +-
 tests/Octagonal_Shape/limitedcc76extrapolation1.cc |     2 +-
 tests/Octagonal_Shape/mapspacedims1.cc             |     2 +-
 tests/Octagonal_Shape/max_min1.cc                  |     2 +-
 tests/Octagonal_Shape/max_min2.cc                  |     2 +-
 tests/Octagonal_Shape/maxspacedim1.cc              |     2 +-
 tests/Octagonal_Shape/membytes1.cc                 |     2 +-
 tests/Octagonal_Shape/minconstraints1.cc           |     2 +-
 tests/Octagonal_Shape/pointsetpowerset1.cc         |   488 -
 tests/Octagonal_Shape/relatwithcons1.cc            |     2 +-
 tests/Octagonal_Shape/relatwithcons2.cc            |     2 +-
 tests/Octagonal_Shape/relatwithcons3.cc            |     2 +-
 tests/Octagonal_Shape/relatwithgen1.cc             |     2 +-
 tests/Octagonal_Shape/removespacedims1.cc          |     2 +-
 tests/Octagonal_Shape/run_tests                    |     3 +-
 tests/Octagonal_Shape/simplifyusingcontext1.cc     |   339 +
 tests/Octagonal_Shape/timeelapse1.cc               |     2 +-
 tests/Octagonal_Shape/unconstrain1.cc              |     5 +-
 tests/Octagonal_Shape/universe1.cc                 |     2 +-
 tests/Octagonal_Shape/upperbound1.cc               |     2 +-
 tests/Octagonal_Shape/upperboundifexact1.cc        |   386 +
 tests/Octagonal_Shape/writeoctagon1.cc             |     2 +-
 tests/Partial_Function.cc                          |     2 +-
 tests/Partial_Function.defs.hh                     |     2 +-
 tests/Partial_Function.inlines.hh                  |     2 +-
 tests/Partial_Function.types.hh                    |     2 +-
 tests/Partially_Reduced_Product/Makefile.am        |     2 +-
 tests/Partially_Reduced_Product/Makefile.in        |    17 +-
 tests/Partially_Reduced_Product/asciidumpload1.cc  |     2 +-
 tests/Partially_Reduced_Product/directproduct1.cc  |     2 +-
 tests/Partially_Reduced_Product/directproduct2.cc  |     2 +-
 tests/Partially_Reduced_Product/directproduct3.cc  |     2 +-
 tests/Partially_Reduced_Product/directproduct4.cc  |     2 +-
 tests/Partially_Reduced_Product/directproduct5.cc  |     2 +-
 tests/Partially_Reduced_Product/directproduct6.cc  |    92 +-
 .../partiallyreducedproduct1.cc                    |     2 +-
 .../partiallyreducedproduct2.cc                    |    67 +-
 .../partiallyreducedproduct3.cc                    |     2 +-
 .../partiallyreducedproduct4.cc                    |     2 +-
 tests/Polyhedron/Makefile.am                       |    20 +-
 tests/Polyhedron/Makefile.in                       |   172 +-
 tests/Polyhedron/addcongruence1.cc                 |     2 +-
 tests/Polyhedron/addcongruences1.cc                |     2 +-
 tests/Polyhedron/addconstraint1.cc                 |     2 +-
 tests/Polyhedron/addconstraints1.cc                |     2 +-
 tests/Polyhedron/addconstraints2.cc                |     2 +-
 tests/Polyhedron/addgenerator1.cc                  |    19 +-
 tests/Polyhedron/addgenerator2.cc                  |     2 +-
 tests/Polyhedron/addgenerators1.cc                 |    21 +-
 tests/Polyhedron/addgenerators2.cc                 |     2 +-
 tests/Polyhedron/addspacedims1.cc                  |     2 +-
 tests/Polyhedron/addspacedims2.cc                  |     2 +-
 tests/Polyhedron/affineimage1.cc                   |     2 +-
 tests/Polyhedron/affineimage2.cc                   |     2 +-
 tests/Polyhedron/affinepreimage1.cc                |     2 +-
 tests/Polyhedron/affinetrans.cc                    |     2 +-
 tests/Polyhedron/append1.cc                        |     2 +-
 tests/Polyhedron/append2.cc                        |     2 +-
 tests/Polyhedron/ascii_dump_load1.cc               |     6 +-
 tests/Polyhedron/ascii_dump_load2.cc               |     2 +-
 tests/Polyhedron/ascii_dump_load3.cc               |     2 +-
 tests/Polyhedron/bgp99extrapolation1.cc            |   112 +-
 ...p99extrapolation1.cc => bgp99extrapolation2.cc} |   246 +-
 tests/Polyhedron/bhrz03widening1.cc                |     2 +-
 tests/Polyhedron/bhrz03widening2.cc                |     2 +-
 tests/Polyhedron/bhrz03widening3.cc                |     2 +-
 tests/Polyhedron/bhz03widening1.cc                 |     2 +-
 tests/Polyhedron/bounded1.cc                       |     2 +-
 tests/Polyhedron/boundedaffineimage1.cc            |     2 +-
 tests/Polyhedron/boundedaffinepreimage1.cc         |     2 +-
 tests/Polyhedron/boundedbhrz03extrapolation1.cc    |     2 +-
 tests/Polyhedron/boundedh79extrapolation1.cc       |     2 +-
 tests/Polyhedron/bounds1.cc                        |     2 +-
 tests/Polyhedron/cnncconversion1.cc                |     2 +-
 tests/Polyhedron/concatenate1.cc                   |     2 +-
 tests/Polyhedron/congruences1.cc                   |     2 +-
 tests/Polyhedron/constrains1.cc                    |     2 +-
 tests/Polyhedron/constraints1.cc                   |     2 +-
 tests/Polyhedron/contains1.cc                      |     2 +-
 tests/Polyhedron/contains2.cc                      |     2 +-
 tests/Polyhedron/containsintegerpoint1.cc          |    56 +-
 tests/Polyhedron/disjoint1.cc                      |     2 +-
 tests/Polyhedron/disjoint2.cc                      |     2 +-
 tests/Polyhedron/dualhypercubes.cc                 |     2 +-
 tests/Polyhedron/empty1.cc                         |     2 +-
 tests/Polyhedron/equals1.cc                        |     2 +-
 tests/Polyhedron/exceptions1.cc                    |     2 +-
 tests/Polyhedron/exceptions2.cc                    |     5 +-
 tests/Polyhedron/exceptions3.cc                    |     2 +-
 tests/Polyhedron/expandspacedim1.cc                |     2 +-
 tests/Polyhedron/expandspacedim2.cc                |     2 +-
 tests/Polyhedron/foldspacedims1.cc                 |     2 +-
 tests/Polyhedron/foldspacedims2.cc                 |     2 +-
 tests/Polyhedron/frombdshape1.cc                   |     2 +-
 tests/Polyhedron/frombox1.cc                       |     2 +-
 tests/Polyhedron/frombox2.cc                       |     2 +-
 tests/Polyhedron/fromgrid1.cc                      |     2 +-
 tests/Polyhedron/fromoctagonalshape1.cc            |     2 +-
 tests/Polyhedron/generalizedaffineimage1.cc        |     2 +-
 tests/Polyhedron/generalizedaffineimage2.cc        |     2 +-
 tests/Polyhedron/generalizedaffinepreimage1.cc     |     2 +-
 tests/Polyhedron/generalizedaffinepreimage2.cc     |     2 +-
 tests/Polyhedron/generators1.cc                    |     2 +-
 tests/Polyhedron/geomcovers1.cc                    |     2 +-
 tests/Polyhedron/h79widening1.cc                   |     2 +-
 tests/Polyhedron/h79widening2.cc                   |     2 +-
 tests/Polyhedron/hybrid.cc                         |     2 +-
 tests/Polyhedron/intersection1.cc                  |     2 +-
 tests/Polyhedron/limitedbhrz03extrapolation1.cc    |     2 +-
 tests/Polyhedron/limitedh79extrapolation1.cc       |     2 +-
 tests/Polyhedron/linearexpression1.cc              |   137 +
 tests/Polyhedron/linearpartition1.cc               |     2 +-
 tests/Polyhedron/linearsystem1.cc                  |     2 +-
 tests/Polyhedron/linexpression1.cc                 |    56 -
 tests/Polyhedron/mapspacedims1.cc                  |     2 +-
 tests/Polyhedron/matrix1.cc                        |     2 +-
 tests/Polyhedron/max_min1.cc                       |     2 +-
 tests/Polyhedron/maxspacedim1.cc                   |     2 +-
 tests/Polyhedron/mc91.cc                           |     2 +-
 tests/Polyhedron/membytes1.cc                      |     2 +-
 tests/Polyhedron/memory1.cc                        |    30 +-
 tests/Polyhedron/memory2.cc                        |    72 +-
 tests/Polyhedron/minconstraints1.cc                |     2 +-
 tests/Polyhedron/minconstraints2.cc                |     2 +-
 tests/Polyhedron/mingenerators1.cc                 |     2 +-
 tests/Polyhedron/mingenerators2.cc                 |     2 +-
 tests/Polyhedron/nncminimize1.cc                   |     2 +-
 tests/Polyhedron/nncminimize2.cc                   |     2 +-
 tests/Polyhedron/numberinput1.cc                   |     2 +-
 tests/Polyhedron/onepoint.cc                       |     2 +-
 tests/Polyhedron/permute.cc                        |     2 +-
 tests/Polyhedron/polydifference1.cc                |    72 +-
 tests/Polyhedron/polydifference2.cc                |     2 +-
 tests/Polyhedron/polyhull1.cc                      |     2 +-
 tests/Polyhedron/polyhull2.cc                      |     2 +-
 tests/Polyhedron/polyhullifexact1.cc               |   464 +
 tests/Polyhedron/polyhullifexact2.cc               |   318 +
 tests/Polyhedron/randphull1.cc                     |     2 +-
 tests/Polyhedron/refinewithcongruence1.cc          |     2 +-
 tests/Polyhedron/refinewithcongruences1.cc         |     2 +-
 tests/Polyhedron/refinewithconstraint1.cc          |     2 +-
 tests/Polyhedron/refinewithconstraints1.cc         |     2 +-
 tests/Polyhedron/relations1.cc                     |     2 +-
 tests/Polyhedron/relations2.cc                     |     2 +-
 tests/Polyhedron/relations3.cc                     |     2 +-
 tests/Polyhedron/removespacedims1.cc               |     2 +-
 tests/Polyhedron/removespacedims2.cc               |     2 +-
 tests/Polyhedron/simplifyusingcontext1.cc          |   360 +-
 tests/Polyhedron/smm1.cc                           |     2 +-
 tests/Polyhedron/timeelapse1.cc                    |     2 +-
 tests/Polyhedron/timeelapse2.cc                    |     2 +-
 tests/Polyhedron/topclosed1.cc                     |     2 +-
 tests/Polyhedron/topclosure1.cc                    |     2 +-
 tests/Polyhedron/unconstrain1.cc                   |     2 +-
 tests/Polyhedron/universe1.cc                      |     2 +-
 tests/Polyhedron/universe2.cc                      |     2 +-
 tests/Polyhedron/variablesset1.cc                  |     2 +-
 tests/Polyhedron/watchdog1.cc                      |     8 +-
 tests/Polyhedron/writeconsys1.cc                   |     2 +-
 tests/Polyhedron/writegensys1.cc                   |     2 +-
 tests/Polyhedron/writepolyhedron1.cc               |     2 +-
 tests/Polyhedron/writepolyhedron2.cc               |     2 +-
 tests/Polyhedron/writerelation1.cc                 |     2 +-
 tests/Polyhedron/writevariable1.cc                 |     2 +-
 tests/Powerset/Makefile.am                         |   128 +-
 tests/Powerset/Makefile.in                         |   588 +-
 .../writebox1.cc => Powerset/addcongruences1.cc}   |    62 +-
 .../addconstraints1.cc}                            |    55 +-
 tests/Powerset/affinedimension1.cc                 |   138 +
 tests/Powerset/affineimage1.cc                     |   239 +
 tests/Powerset/affinepreimage1.cc                  |   171 +
 tests/{Box/universe1.cc => Powerset/bounded1.cc}   |    65 +-
 tests/Powerset/bounds1.cc                          |    96 +
 tests/Powerset/closed1.cc                          |    99 +
 .../{Grid/generators2.cc => Powerset/closure1.cc}  |    35 +-
 tests/Powerset/collapse1.cc                        |    94 +
 .../concatenate1.cc}                               |    52 +-
 tests/Powerset/contains1.cc                        |   108 +
 tests/Powerset/containsintegerpoint1.cc            |   131 +
 tests/Powerset/difference1.cc                      |   150 +
 tests/{Box/universe1.cc => Powerset/discrete1.cc}  |    67 +-
 tests/Powerset/disjoint1.cc                        |   116 +
 tests/Powerset/disjunct1.cc                        |   310 +
 tests/Powerset/empty1.cc                           |   141 +
 .../minconstraints2.cc => Powerset/entails1.cc}    |    50 +-
 .../fromoctagonalshape1.cc => Powerset/equals1.cc} |    62 +-
 tests/Powerset/frombdshape1.cc                     |   424 +
 tests/Powerset/frombox1.cc                         |   420 +
 .../fromcongruences1.cc}                           |    55 +-
 tests/Powerset/fromconstraints1.cc                 |   179 +
 tests/Powerset/fromgrid1.cc                        |   434 +
 tests/Powerset/fromoctagonalshape1.cc              |   431 +
 tests/Powerset/frompolyhedron1.cc                  |   758 +
 .../fromspacedimension1.cc}                        |    71 +-
 tests/Powerset/intersection1.cc                    |   103 +
 .../Powerset/{pointsetpowerset4.cc => maxmin1.cc}  |   334 +-
 tests/Powerset/meet1.cc                            |    94 +
 .../membytes1.cc}                                  |    48 +-
 tests/Powerset/pointsetpowerset1.cc                |   508 -
 tests/Powerset/pointsetpowerset2.cc                |   506 -
 tests/Powerset/pointsetpowerset3.cc                |   381 -
 tests/Powerset/pointsetpowerset5.cc                |   629 -
 tests/Powerset/pointsetpowerset6.cc                |   372 -
 tests/Powerset/powerset1.cc                        |     2 +-
 tests/Powerset/product1.cc                         |    72 -
 .../minconstraints2.cc => Powerset/reduce1.cc}     |    56 +-
 tests/Powerset/refinewith1.cc                      |   224 +
 tests/Powerset/relationwith1.cc                    |   277 +
 tests/Powerset/simplifyusingcontext1.cc            |     2 +-
 .../minconstraints2.cc => Powerset/size1.cc}       |    50 +-
 tests/Powerset/spacedims1.cc                       |   212 +
 tests/Powerset/universe1.cc                        |   103 +
 tests/Powerset/upperbound1.cc                      |   163 +
 tests/README                                       |     4 +-
 tests/Random_Number_Generator.defs.hh              |     2 +-
 tests/Random_Number_Generator.inlines.hh           |     2 +-
 tests/Random_Number_Generator.types.hh             |     2 +-
 tests/files.cc                                     |     2 +-
 tests/files.hh                                     |     2 +-
 tests/ppl_test.cc                                  |     6 +-
 tests/ppl_test.hh                                  |     4 +-
 utils/Makefile.am                                  |     2 +-
 utils/Makefile.in                                  |    17 +-
 utils/build_header.in                              |     2 +-
 utils/cm_cleaner.sh                                |     2 +-
 utils/cm_splitter.sh                               |     2 +-
 utils/text2cxxarray.in                             |     2 +-
 utils/timings.cc                                   |     2 +-
 utils/timings.hh                                   |     2 +-
 1232 files changed, 178098 insertions(+), 247509 deletions(-)

diff --git a/CREDITS b/CREDITS
index dec5286..7316d9b 100644
--- a/CREDITS
+++ b/CREDITS
@@ -195,16 +195,19 @@ People:
   Francesco Logozzo     [24] (formerly at Ecole Polytechnique) helped us
                         straighten out some portability issues on Cygwin.
 
-  Costantino Medori     [25] (University of Parma) helped us on some
+  Kenneth MacKenzie     [25] provided very good bug reports that allowed
+                        us to fix several problems in the OCaml interface.
+
+  Costantino Medori     [26] (University of Parma) helped us on some
                         mathematical aspects of the development.
 
-  Fred Mesnard          [26] (University of La Reunion), the main author
-                        of cTI [27], has worked with us on one of the
+  Fred Mesnard          [27] (University of La Reunion), the main author
+                        of cTI [28], has worked with us on one of the
                         first applications of the PPL: the "cTI"
                         data-flow analyzer, which performs a linear
                         size relation analysis using a domain of
                         convex polyhedra.  The China data-flow
-                        analyzer [28] uses the Parma Polyhedra Library
+                        analyzer [29] uses the Parma Polyhedra Library
                         to perform the same analysis.  We have been
                         running China against an old version of cTI
                         that did not use the PPL, using it to
@@ -216,51 +219,51 @@ People:
   Ken Mixter            (then at Carnegie Mellon University) provided
                         useful feedback while working on an
                         experimental version of the Action Language
-                        Verifier [29] based on the PPL.
+                        Verifier [30] based on the PPL.
 
-  Sebastian Pop         [30] (now at AMD).  During his work on interfacing
-                        CLooG [31] with the PPL, Sebastian provided
+  Sebastian Pop         [31] (now at AMD).  During his work on interfacing
+                        CLooG [32] with the PPL, Sebastian provided
                         valuable feedback, particularly on the C
                         interface to the PPL.  He also suggested the
                         addition of new functionality such as the
                         "simplify using context" operation.
 
-  Thomas Reps           [32] (University of Wisconsin-Madison), on several
+  Thomas Reps           [33] (University of Wisconsin-Madison), on several
                         occasions we have had interesting discussions
                         with him both on the PPL and on the more
                         general topics of static analysis and
                         numerical abstractions.
 
-  Mooly Sagiv           [33] (Tel-Aviv University) stimulated the development
+  Mooly Sagiv           [34] (Tel-Aviv University) stimulated the development
                         of the PPL by providing, in particular,
                         interesting challenges related to precision
                         and scalability.
 
-  Sriram Sankaranarayanan [34] (NEC Laboratories America, formerly at
+  Sriram Sankaranarayanan [35] (NEC Laboratories America, formerly at
                         Stanford University) provided very useful feedback
-                        while developing StInG [35] and LPInv [36].
+                        while developing StInG [36] and LPInv [37].
 
-  Axel Simon            [37] (ENS, formerly at the University of Kent
+  Axel Simon            [38] (ENS, formerly at the University of Kent
                         at Canterbury) wrote some PPL 0.9
-                        bindings [43] for the Glasgow Haskell Compiler.
+                        bindings [44] for the Glasgow Haskell Compiler.
 
-  Fausto Spoto          [38] (University of Verona) did useful beta testing
+  Fausto Spoto          [39] (University of Verona) did useful beta testing
                         for the Java interface.  He also suggested the
                         addition of the <EM>hash code</EM> operations.
 
-  Basile Starynkevitch  [39] (CEA LIST/DTSI/SOL). Basile is the author
-                        of MELT [40] and suggested several improvements
+  Basile Starynkevitch  [40] (CEA LIST/DTSI/SOL). Basile is the author
+                        of MELT [41] and suggested several improvements
                         to the PPL.
 
 
-  Pedro Vasconcelos     [41] (formerly at the University of St Andrews, UK)
+  Pedro Vasconcelos     [42] (formerly at the University of St Andrews, UK)
                         provided useful feedback while developing his
-                        size and cost analyzer for Core Hume [42].
+                        size and cost analyzer for Core Hume [43].
                         Pedro also solved a problem of Axel Simon's
                         PPL 0.9 bindings for the GHC and makes them
-                        publicly available [43].
+                        publicly available [44].
 
-  Ralf Wildenhues       [44] (University of Bonn) helped us with
+  Ralf Wildenhues       [45] (University of Bonn) helped us with
                         several issues concerning the proper use of
                         the Autotools.
 
@@ -270,19 +273,35 @@ Organizations (and People Therein):
 
 We are grateful for the following contributions:
 
-- The Computing Center of the University of Parma [45] allowed us to test
-  the portability of the library on a variety of platforms.  Fausto
-  Pagani was especially helpful in this respect.
+- AMD Developer Central [46] has donated a bi-quad core machine with
+  the latest AMD Opteron 2384 "Shanghai" processors and 16GB of RAM.
+  This machine now hosts all the PPL data and services.  Many thanks
+  to Christophe Harle and Sebastian Pop.
+
+- The Computing Center of the University of Parma [47] allowed us to
+  test the portability of the library on a variety of platforms.
+  Fausto Pagani was especially helpful in this respect.
 
-- The GCC Compile Farm Project [46] managed by FSF France provided access
-  to a number of machines that allowed us to test and improve the
-  portability of the library.  Special thanks go to Laurent Guerby
+- The GCC Compile Farm Project [48] managed by FSF France provided
+  access to a number of machines that allowed us to test and improve
+  the portability of the library.  Special thanks go to Laurent Guerby
   for his kind assistance.
 
-- The test cluster provided by Hewlett Packard and  hosted by ESIEE [47]
+- The test cluster provided by Hewlett Packard and  hosted by ESIEE [49]
   allowed us to complete the porting of the PPL to the IA64 and PA-RISC
-  architectures.  Many thanks to Thibaut Varene [48] and the PA-RISC
-  Linux community [49] for their kind assistance.
+  architectures.  Many thanks to Thibaut Varene [50] and the PA-RISC
+  Linux community [51] for their kind assistance.
+
+- HiPEAC [52] sponsored the participation of Roberto Bagnara to the
+  Graphite Workshop [53].  This was very helpful to discuss the needs
+  of Graphite [54] (a framework for high-level loop optimizations on
+  the polyhedral model) and, more generally, of GCC [55] in terms of
+  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].
 
 
 Some of our research work has been partly supported by the following
@@ -292,31 +311,34 @@ projects and organizations:
   ``Pure and Applied Mathematics'';
 
 - MURST project ``Automatic Program Certification by Abstract
-  Interpretation'' [50];
+  Interpretation'' [58];
 
 - 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'' [51];
+  and Maps'' [59];
 
-- MURST project ``Constraint Based Verification of Reactive Systems'' [52];
+- MURST project ``Constraint Based Verification of Reactive Systems'' [60];
 
 - MURST project ``AIDA - Abstract Interpretation: Design and
-  Applications'' [53];
+  Applications'' [61];
+
+- PRIN project ``AIDA 2007 - Abstract Interpretation: Design and
+  Applications'' [62];
 
 - 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'' [54];
+  ``Numerical Domains for Software Analysis'' [63];
 
 - Royal Society International Outgoing Short Visit 2007/R4
-  ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [55];
+  ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [64];
 
 - EPSRC (UK) project EP/G025177/1
-  ``Geometric Abstractions for Scalable Program Analyzers'' [55].
+  ``Geometric Abstractions for Scalable Program Analyzers'' [64].
 
 --------
 
@@ -344,34 +366,43 @@ projects and organizations:
 [22] http://www.cs.unipr.it/ppl/Documentation/chernikova.c
 [23] http://www.cs.unipr.it/ppl/Documentation/bibliography#LeVerge92
 [24] http://research.microsoft.com/~logozzo/
-[25] http://www.math.unipr.it/~medori/
-[26] http://www.univ-reunion.fr/~fred/
-[27] http://www.cs.unipr.it/cTI/
-[28] http://www.cs.unipr.it/China/
-[29] http://www.cs.ucsb.edu/~bultan/composite/
-[30] http://www-rocq.inria.fr/~pop/
-[31] http://www.cloog.org/
-[32] http://www.cs.wisc.edu/~reps/
-[33] http://www.math.tau.ac.il/~msagiv/
-[34] http://www.nec-labs.com/~srirams/
-[35] http://theory.stanford.edu/~srirams/Software/sting.html
-[36] http://theory.stanford.edu/~srirams/Software/lpinv.html
-[37] http://www.di.ens.fr/~simona/
-[38] http://profs.sci.univr.it/~spoto/
-[39] http://www.starynkevitch.net/Basile/index_en.html
-[40] http://gcc.gnu.org/wiki/MiddleEndLispTranslator
-[41] http://www.ncc.up.pt/~pbv/
-[42] http://www.ncc.up.pt/~pbv/cgi/cost.cgi
-[43] http://www.ncc.up.pt/~pbv/research/ppl/ghc.html
-[44] http://wissrech.ins.uni-bonn.de/people/wildenhues.html
-[45] http://www.siti.unipr.it/
-[46] http://gcc.gnu.org/wiki/CompileFarm
-[47] http://www.esiee.fr/
-[48] http://www.parisc-linux.org/~varenet/
-[49] http://www.parisc-linux.org/
-[50] http://theory.sci.univr.it/p40/
-[51] http://www.cs.unipr.it/Projects/COFIN01
-[52] http://www.disi.unige.it/person/DelzannoG/cover/
-[53] http://www.cs.unipr.it/Projects/AIDA/
-[54] http://www.comp.leeds.ac.uk/hill/chiara/WWW/linda.html
-[55] http://www.comp.leeds.ac.uk/hill/chiara/WWW/projects.html
+[25] http://homepages.inf.ed.ac.uk/kwxm/
+[26] http://www.math.unipr.it/~medori/
+[27] http://www.univ-reunion.fr/~fred/
+[28] http://www.cs.unipr.it/cTI/
+[29] http://www.cs.unipr.it/China/
+[30] http://www.cs.ucsb.edu/~bultan/composite/
+[31] http://www-rocq.inria.fr/~pop/
+[32] http://www.cloog.org/
+[33] http://www.cs.wisc.edu/~reps/
+[34] http://www.math.tau.ac.il/~msagiv/
+[35] http://www.nec-labs.com/~srirams/
+[36] http://theory.stanford.edu/~srirams/Software/sting.html
+[37] http://theory.stanford.edu/~srirams/Software/lpinv.html
+[38] http://www.di.ens.fr/~simona/
+[39] http://profs.sci.univr.it/~spoto/
+[40] http://www.starynkevitch.net/Basile/index_en.html
+[41] http://gcc.gnu.org/wiki/MiddleEndLispTranslator
+[42] http://www.ncc.up.pt/~pbv/
+[43] http://www.ncc.up.pt/~pbv/cgi/cost.cgi
+[44] http://www.ncc.up.pt/~pbv/research/ppl/ghc.html
+[45] http://wissrech.ins.uni-bonn.de/people/wildenhues.html
+[46] http://developer.amd.com/
+[47] http://www.siti.unipr.it/
+[48] http://gcc.gnu.org/wiki/CompileFarm
+[49] http://www.esiee.fr/
+[50] http://www.parisc-linux.org/~varenet/
+[51] http://www.parisc-linux.org/
+[52] http://www.hipeac.net/
+[53] http://gcc.gnu.org/wiki/Graphite_Workshop_Nov08
+[54] http://gcc.gnu.org/wiki/Graphite
+[55] http://gcc.gnu.org/
+[56] http://www.inria.fr/
+[57] http://www-rocq.inria.fr/~acohen/
+[58] http://theory.sci.univr.it/p40/
+[59] http://www.cs.unipr.it/Projects/COFIN01
+[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
diff --git a/ChangeLog b/ChangeLog
index b4d4bac..2c4f321 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,93772 +1,1633 @@
-2008-11-04  Release Manager
+2009-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* PPL 0.10 Released.
+	* configure.ac: Version number bumped.
 
-2008-11-03 Monday 21:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-04-06  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* CREDITS (1.41): Similar changes to those in credits.raw.
+	* demos/ppl_lcdd/Makefile.am, demos/ppl_lpsol/Makefile.am,
+	devtools/print_nonascii_lines: Avoid differences generated by
+	locale.
 
-2008-11-03 Monday 20:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-06  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* README (1.56), configure.ac (1.407), doc/Makefile.am (1.99),
-	  doc/definitions.dox (1.226),
-	  doc/devref-foreign-language-interface.doxyconf.in (1.6),
-	  doc/devref-foreign-language-interface.tex (1.4),
-	  doc/devref-language-interface.doxyconf.in (1.1),
-	  doc/devref-language-interface.tex (1.1),
-	  doc/user-foreign-language-interface.doxyconf.in (1.7),
-	  doc/user-foreign-language-interface.tex (1.4),
-	  doc/user-language-interface.doxyconf.in (1.1),
-	  doc/user-language-interface.tex (1.1): Renamed a few
-	  documentation-related helper files.
+	* demos/ppl_lcdd/Makefile.am: Set LC_COLLATE=C in addition to
+	LANG=C.
 
-2008-11-03 Monday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-03  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS (1.272): Wording improved.
+	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc: Disabled
+	test04() on the Alpha.
 
-2008-11-03 Monday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-05  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/: interfaced_boxes.hh (1.5), marked_pointers.hh (1.3):
-	  Comments improved.
+	* tests/Octagonal_Shape/cc76extrapolation1.cc,
+	tests/Octagonal_Shape/disjoint1.cc: Disabled a couple of tests on
+	the Alpha.
 
-2008-11-03 Monday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-04  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/: Poly_Con_Relation.defs.hh (1.37), Poly_Gen_Relation.defs.hh
-	  (1.35), namespaces.hh (1.17): Improved some comments.
+	* Watchdog/NEWS, Watchdog/README, Watchdog/configure.ac,
+	Watchdog/src/Makefile.am: Updated for PWL 0.7.
 
-2008-11-03 Monday 18:57  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-04  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* CREDITS (1.40): Just list (without numbering them) supporting
-	  projects and organizations.
+	* README: Updated for PPL 0.10.1.
 
-2008-11-03 Monday 18:48  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-04  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* CREDITS (1.39): A couple of fixes to indentation.
+	* NEWS: More NEWS items added.  Tentative release date set to April
+	14, 2009.
 
-2008-11-03 Monday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-03  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* CREDITS (1.38): Alphabetical ordering restored.
+	* tests/Box/ascii_dump_load1.cc: Do not use the same object to play
+	different roles in the same method call.  In calls to methods
+	Box::difference_assign and Box::concatenate_assign we were binding
+	the very same Box object both to the (modifiable) implicit argument
+	*this and to the (const) explicit argument y.
 
-2008-11-03 Monday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-03  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/version.cc (1.15): Jose Morales added to the "special thanks"
-	  section.
+	* src/Box.templates.hh: Fixed a missing initialization bug in
+	Box::concatenate_assign.  Also improved methods
+	add_space_dimensions*: instead of adding new uninitialized intervals
+	and later initialize them, we now directly add properly initialized
+	intervals.
 
-2008-11-03 Monday 16:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-03  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-	* doc/Makefile.am (1.98): Corrected the command for generating the
-	  configuration-dependent HTML manuals for the OCaml interface:
-	  HTML files generated by ocamldoc are now placed in the ocamldoc
-	  subdir.
+	* src/Box.templates.hh: Avoid warning of unused variable space_dim.
 
-2008-11-03 Monday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-03  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/version.cc (1.14): Synchronized with the CREDITS file.
+	* interfaces/C/tests/ppl_c_test.cc: Work around a bug affecting some
+	versions of <stdio.h>.
 
-2008-11-03 Monday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-02  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* configure.ac (1.406): Version number bumped.
+	* configure.ac, m4/ac_cxx_double_binary_format.m4,
+	m4/ac_cxx_double_exact_output.m4,
+	m4/ac_cxx_long_double_binary_format.m4: Added missing uses of
+	AC_REQUIRE; removed a spurious one.  Version number bumped.
 
-2008-11-03 Monday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* CREDITS (1.37): Backported Enric's entry from the `polynomials'
-	  branch.
+	* doc/Makefile.am, interfaces/OCaml/tests/Makefile.am: Use
+	@mlgmp_dir@ instead of +gmp for the -I option of ocamldoc.
 
-2008-11-03 Monday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-02  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* CREDITS (1.36): Finished harmonization with the Credits web page.
+	* 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 parallel make.
 
-2008-11-03 Monday 11:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/Makefile.am (1.97): A couple of FIXME dealt with (i.e., just
-	  removed): the INPUT Doxygen variable for the user foreing
-	  language interface documentation seems to be OK as is.
+	* NEWS: Added a couple of items.
 
-2008-11-03 Monday 11:08  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/Grid.defs.hh (1.85): Specify which constraints are optimally
-	  supported by the grid domain.
+	* TODO: We no longer have FIXME's for 0.10.1.
 
-2008-11-03 Monday 10:43  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/: Box.defs.hh (1.66), Octagonal_Shape.defs.hh (1.62): In the
-	  detailed documentation for class Box, explain which constraints
-	  and congruences are optimally supported (some delegation to the
-	  template argument class is required). Simplify the docs for teh
-	  add_* methods.
+	* src/Grid.templates.hh: Another FIXME postponed to 0.11.
 
-2008-11-03 Monday 10:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/: BD_Shape.defs.hh (1.135), Octagonal_Shape.defs.hh (1.61):
-	  In the detailed documentation for Octagonal_Shape, say explicitly
-	  which constraints/congruences are optimally supported. Exploiting
-	  this, simplify the documentation for methods add_*.
+	* src/Box.templates.hh, tests/Box/refinewithconstraint1.cc: A couple
+	of FIXME postponed to 0.11.
 
-2008-11-03 Monday 10:03  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/BD_Shape.defs.hh (1.134): Documentation improved: we now say
-	  explicitly in the detailed class documentation which are the
-	  constraints/congruences that are optimally supported; as a
-	  consequence, the docs for the add_* methods can be simplified by
-	  saying that an exception is thorwn if the argument is not
-	  optimally supported.
+	* src/OR_Matrix.inlines.hh: Code duplication and useless bitwise
+	manipulation avoided.
 
-2008-11-03 Monday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* INSTALL (1.13), Watchdog/INSTALL (1.10): Previous commit
-	  reverted.
+	* src/OR_Matrix.defs.hh, src/OR_Matrix.inlines.hh: FIXME resolved.
 
-2008-11-03 Monday 09:12  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* CREDITS (1.35): Continued harmonization with the Credits web
-	  page.
+	* tests/Polyhedron/exceptions2.cc: Disabled test19() on the Alpha.
 
-2008-11-03 Monday 09:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-04-01  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* README.arm (1.2): Some nels changes.
+	* tests/Box/ascii_dump_load1.cc: Adapted test
+	Box/ascii_dump_load1.cc and FIXME removed.
 
-2008-11-03 Monday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-04-01  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-	* Watchdog/INSTALL (1.9): Same changes as in previous commit for
-	  the top-level ppl INSTALL file.
+	* src/Box.templates.hh: Typo fixed.
 
-2008-11-03 Monday 08:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-04-01  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-	* INSTALL (1.12): Removed a comma and an nels change from "not
-	  widely useful" to "not often used".
+	* src/Box.defs.hh, src/Box.templates.hh, tests/Box/Makefile.am,
+	tests/Box/limitedcc76extrapolation1.cc: Revised the implementation
+	for Box<ITV>::limited_cc76_extrapolation_assign() so as to use the
+	limiting constraint system to limit the widened box.  The
+	FIXME(0.10.1) there is now removed.
 
-2008-11-03 Monday 08:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-04-01  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* README.configure (1.42): Spelling bugs fixed.
+	* tests/Box/empty1.cc: Test adapted and fixme removed.
 
-2008-11-03 Monday 08:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-04-01  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-	* NEWS (1.271): Added an item for the C interface wrt the change
-	  for less_than* and greater_than* (and added a note wrt this for
-	  the similar item for the C++ interface).
+	* src/Pointset_Powerset.cc, src/Pointset_Powerset.defs.hh,
+	src/Pointset_Powerset.templates.hh, tests/Powerset/fromgrid1.cc: 
+	Changes to deal with //FIXME(0.10.1): the following is a bug! in
+	src/Pointset_Powerset.templates.hh As Grids are non-convex, the constructor for a powerset of nnc
+	polyhedra from a powerset of grids has been implemented separately
+	from the generic case. A test added to show that there was a bug
+	which is now fixed.  The "//FIXME(0.10.1): ..." has been removed but a new FIXME added
+	indicating this code will break if other non-convex or non-linear
+	domains are added
 
-2008-11-03 Monday 00:03  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS (1.270): Wording improved.
+	* README, src/Makefile.am: Updated for PPL 0.10.1.
 
-2008-11-02 Sunday 23:52  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-04-01  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/OCaml/tests/test1.ml (1.16): FIXME resolved.
+	* TODO: New items for PPL 0.11 added.  Other items scheduled for PPL
+	0.11.
 
-2008-11-02 Sunday 23:49  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-31  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* TODO (1.288): New item for PPL 0.10.1.
+	* src/DB_Matrix.templates.hh, src/OR_Matrix.templates.hh: Made
+	ascii_load more restrictive.
 
-2008-11-02 Sunday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-31  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* CREDITS (1.34): Started harmonization with the Credits web page.
+	* src/BD_Shape.templates.hh: Indentation fixed.
 
-2008-11-02 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-31  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Prolog/GNU/README.gprolog (1.7): Unwanted slash
-	  removed.  Indentation changed so as to make the example
-	  compilation command clearer.
+	* : commit ccc5ce00a303af09a7e37d120695a2c1cbb37834 Author: Roberto
+	Bagnara <bagnara at cs.unipr.it> Date:   Tue Mar 31 17:37:40 2009 +0000
 
-2008-11-02 Sunday 16:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-03-31  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* interfaces/Prolog/GNU/README.gprolog (1.6): Revised the example
-	  compilation command so that the compiler knows where to look, at
-	  run-time, for the libppl_gprolog library .
+	* src/Box.inlines.hh: Postponed FIXME.
 
-2008-11-02 Sunday 16:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-03-31  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* CREDITS (1.33): A few small changes.
+	* src/Init.cc: Removed FIXME and documented the default value.
 
-2008-11-02 Sunday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-31  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* src/Grid.templates.hh (1.37): Comment improved.
+	* TODO: Added TODO item.
 
-2008-11-02 Sunday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-31  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* doc/ppl.sty (1.29): Comment indentation fixed.
+	* src/Polyhedron_nonpublic.cc: Postponed FIXME.
 
-2008-11-02 Sunday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-31  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* interfaces/Prolog/GNU/: Makefile.am (1.87), README.gprolog (1.5):
-	  Whenever possible, statically link `ppl_gprolog' with
-	  `libppl_gprolog'.
+	* tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
+	tests/Octagonal_Shape/Makefile.am: Fixed run_tests make.
 
-2008-11-02 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-31  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-	* interfaces/Prolog/SWI/Makefile.am (1.105): Comment improved.
+	* src/Pointset_Powerset.templates.hh: Removed two FIXME(0.10.1)s
+	which have been checked and for which nothing needs to be done.
 
-2008-11-02 Sunday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-31  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Prolog/SWI/: Makefile.am (1.104), README.swiprolog
-	  (1.4): Made sure `ppl_pl' is as simple to use as possible by
-	  linking it statically with `libppl_swiprolog', whenever possible.
-	  Explained what to do in other cases.
+	* tests/Octagonal_Shape/boundedaffineimage1.cc,
+	tests/Octagonal_Shape/difference1.cc: Disabled some tests on the
+	Alpha.
 
-2008-11-01 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* CREDITS (1.32): This file must be ASCII.
+	* Watchdog/configure.ac, configure.ac: Version number bumped.  The
+	name of the program is Autoconf.
 
-2008-11-01 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* fedora/ppl.spec (1.26): Restored the default instantiations.
+	* interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/OCaml/tests/test1.ml: Register OCaml interface
+	exceptions; added a few tests.  The interface exceptions should be
+	registered both in the .ml and .mli files.  Added a test for the
+	invalid argument exception (negative space dimension) and for the
+	set/reset timeout functions.
 
-2008-11-01 Saturday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl.spec (1.25): Reorganized the contents of the `ppl' and
-	  `ppl-devel' packages.
+	* TODO: Added one item for PPL 0.11.
 
-2008-11-01 Saturday 16:26  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* TODO (1.287): Added an item for PPL 0.10.1.
+	* tests/Box/relations4.cc: Disable test19() on the Alpha.
 
-2008-11-01 Saturday 16:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* doc/Makefile.am (1.96): Only install foreign language interface
-	  manauls if they have been enabled.  Also improved the uninstall
-	  rule for PDF and PS docs.
+	* interfaces/C/tests/Makefile.am: Fixed *_CPPFLAGS variables.
 
-2008-11-01 Saturday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* demos/ppl_lcdd/ppl_lcdd.1 (1.6), demos/ppl_lpsol/ppl_lpsol.1
-	  (1.7), doc/ppl-config.1 (1.13): Version number set to 0.10.
+	* interfaces/C/tests/formatted_output.c: Include "ppl_c_test.h"
+	instead of "ppl_c.h".
 
-2008-11-01 Saturday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* README (1.55), Watchdog/README (1.20): Updated.
+	* interfaces/C/tests/ppl_c_test.h: Include "ppl_c.h".
 
-2008-11-01 Saturday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl.spec (1.24): Temporarily disabled the OCaml packages,
-	  since there is no MLGMP package for Fedora.
+	* configure.ac: Avoid redefining NDEBUG.
 
-2008-11-01 Saturday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/Prolog/: Ciao/Makefile.am (1.88), GNU/Makefile.am
-	  (1.86), SICStus/Makefile.am (1.101), SWI/Makefile.am (1.103),
-	  XSB/Makefile.am (1.81): List `-no-undefined' among the per-module
-	  LDFLAGS when `NO_UNDEFINED_FLAG' is set.
+	* interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/tests/Makefile.am, interfaces/OCaml/tests/test1.ml: 
+	Register PPL_timeout_exception in the OCaml interface.  Avoid flood
+	of warnings by directly thowing CAML exceptions in CATCH_ALL.  Still
+	debugging the handling of timeouts.
 
-2008-11-01 Saturday 14:23  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Java/jni/Makefile.am (1.33): List `-no-undefined'
-	  among the per-module LDFLAGS when `NO_UNDEFINED_FLAG' is set.
+	* src/Pointset_Ask_Tell.templates.hh: Removed the tag "(0.10.1)"
+	from a FIXME unrelated to with PPL 0.10.1.
 
-2008-11-01 Saturday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl.spec (1.23): Removed the `yap-static' subpackage.
+	* src/Box.inlines.hh: Obsolete FIXME removed: methods Box::refine_*
+	were fixed long ago.
 
-2008-11-01 Saturday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Prolog/YAP/Makefile.am (1.71): YAP only supports
-	  dynamic loading of foreign modules: do not waste time building a
-	  static library.
+	* src/Partially_Reduced_Product.inlines.hh, src/globals.defs.hh: 
+	Decided that it is not worth renaming
+	PPL_OUTPUT_TEMPLATE_DEFINITIONS.  Calling it
+	PPL_OUTPUT_1_PARAM_TEMPLATE_DEFINITIONS would not buy us anything:
+	FIXMEs removed.
 
-2008-11-01 Saturday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* Watchdog/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.
+	* interfaces/OCaml/Makefile.am, interfaces/OCaml/tests/Makefile.am,
+	interfaces/OCaml/tests/test1.ml: Let OCaml tests also link with the
+	pwl library, if configured.
 
-2008-11-01 Saturday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl.spec (1.22): It is no longer necessary to remove empty
-	  *.map files in the HTML documentation directories.
+	* README.alpha: Warn about the GCC bug affecting exception handling
+	on the Alpha.
 
-2008-11-01 Saturday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Java/jni/Makefile.am (1.32): Avoid compiling any
-	  source for the static version of `libppl_java' (which we do not
-	  need).
+	* TODO: Consider switching to MLGMPIDL for the OCaml interface.
 
-2008-11-01 Saturday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* fedora/ppl.spec (1.21): New subpackage `java-javadoc', as per the
-	  Fedora packaging guidelines.
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/IO.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/tests/MIP_Problem_test1.java: Added wrap_string to
+	java interface.
 
-2008-11-01 Saturday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* doc/: user-foreign-language-interface.doxyconf.in (1.6),
-	  user.doxyconf-html.in (1.45), user.doxyconf-latex.in (1.16): Do
-	  not produce the collaboration graph in th euser docs, as this
-	  graph contains implementation info.
+	* interfaces/Java/jni/ppl_java_globals.cc,
+	interfaces/Java/parma_polyhedra_library/IO.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am,
+	interfaces/Java/tests/MIP_Problem_test1.java: Reverted bogus
+	commits.
 
-2008-11-01 Saturday 09:47  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* demos/ppl_lcdd/ppl_lcdd.1 (1.5), demos/ppl_lpsol/ppl_lpsol.1
-	  (1.6), doc/ppl-config.1 (1.12): Regenerated so as to bump the
-	  month.
+	* interfaces/Java/jni/ppl_java_globals.cc: Added file.
 
-2008-11-01 Saturday 09:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* src/: Partially_Reduced_Product.defs.hh (1.35),
-	  Pointset_Powerset.defs.hh (1.56): In the documentation, corrected
-	  several "brief" into "\brief".
+	* interfaces/Java/parma_polyhedra_library/Makefile.am: Added file.
 
-2008-11-01 Saturday 08:54  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* fedora/ppl.spec (1.20): Remove the empty *.map files produced by
-	  Doxygen.
+	* interfaces/Java/tests/MIP_Problem_test1.java: Added test.
 
-2008-10-31 Friday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* interfaces/Java/jni/Makefile.am (1.31): Added
-	  `libppl_java_la_LIBTOOLFLAGS=--tag=disable-static'.  This avoids
-	  installing the (useless) static library `libppl_java.a', but not
-	  the overhead for building it (see
-	  http://lists.gnu.org/archive/html/libtool/2008-10/msg00079.html).
+	* interfaces/Java/parma_polyhedra_library/IO.java,
+	interfaces/Java/parma_polyhedra_library/Makefile.am: Added java.
 
-2008-10-31 Friday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* fedora/ppl.spec (1.19): Package the PWL documentation in the
-	  `ppl-pwl-docs' subpackage.  Package also the new man pages.
+	* interfaces/Java/jni/ppl_java_globals.cc: Fix2.
 
-2008-10-31 Friday 21:44  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* fedora/ppl.spec (1.18): Files section for the `ppl-java'
-	  subpackage tightened.
+	* interfaces/Java/jni/ppl_java_globals.cc: Fix.
 
-2008-10-31 Friday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* interfaces/Java/jni/Makefile.am (1.30): Added `-module' and
-	  `-avoid-version' to `libppl_java_la_LDFLAGS'.
+	* interfaces/Java/jni/ppl_java_globals.cc: Added wrap_string.
 
-2008-10-31 Friday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* fedora/ppl.spec (1.17): Package more documentation.
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_common.inlines.hh: Helper OCaml interface
+	  function renamed for consistency.  value_to_unsigned_native -->
+	value_to_unsigned (to be consistent with similar functions in the
+	Java and Prolog interfaces).
 
-2008-10-31 Friday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* fedora/ppl.spec (1.16): Release field fixed.
+	* TODO, Watchdog/src/Watchdog.defs.hh: Moved TODO items to their
+	place.
 
-2008-10-31 Friday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* fedora/ppl.spec (1.15): Version set to 0.10.	Untabified.
+	* 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.
 
-2008-10-31 Friday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* ChangeLog (1.33), Watchdog/ChangeLog (1.23): Updated.
+	* interfaces/OCaml/OCaml_interface.dox,
+	interfaces/Prolog/Prolog_interface.dox: Improvements to the OCaml
+	and Prolog interface documentation.
 
-2008-10-31 Friday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* CREDITS (1.31): Use the UTF-8 encoding.
+	* tests/BD_Shape/.gitignore, tests/BD_Shape/Makefile.am,
+	tests/Box/.gitignore, tests/Box/Makefile.am,
+	tests/Octagonal_Shape/.gitignore, tests/Octagonal_Shape/Makefile.am: 
+	Fixed restore of parallelized tests.
 
-2008-10-31 Friday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* fedora/ppl.spec (1.14): Comment fixed.  Package also `ppl_c.m4'.
+	* tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
+	tests/Octagonal_Shape/Makefile.am: Revert "Restore parallelized
+	tests." This reverts commit b163fee3b048fe3dd07be912850ec042f4d24b2d.
 
-2008-10-31 Friday 17:35  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* fedora/ppl.spec (1.13): Fixed the `ppl-java' file section.
+	* tests/BD_Shape/Makefile.am, tests/Box/Makefile.am,
+	tests/Octagonal_Shape/Makefile.am: Restore parallelized tests.
 
-2008-10-31 Friday 17:27  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* fedora/ppl.spec (1.12): Use `--enable-interfaces' so as to enable
-	  the needed and only the needed interfaces.
+	* interfaces/Prolog/Prolog_interface.dox,
+	interfaces/Prolog/ppl_interface_generator_prolog_dox.m4: Minor
+	improvement to documentation.  In the documentation block for
+	\defgroup, do not use \brief if there does not also exist a detailed
+	documentation section (otherwise, doxygen will insert a spurious
+	"More..." link pointing to the same page).
 
-2008-10-31 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/Java/Makefile.am (1.25): Distribute also README.java.
+	* interfaces/C/C_interface.dox, interfaces/C/ppl_c_header.h,
+	interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+	, interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.jav
+	a: Avoid spurious vertical space in the documentation.  When adding
+	a member group using doxygen commmand \name and the multiline style
+	special comments, also add a \brief command if there is no detailed
+	documentation for the group.
 
-2008-10-31 Friday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-29  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/OCaml/Makefile.am (1.61): Distribute also
-	  README.ocaml.
+	* interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli: Added string wrapping helper
+	function to OCaml interface.
 
-2008-10-31 Friday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-29  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl.spec (1.11): Fixed the path of PWL's README.doc.
+	* fedora/ppl.spec: Moved changelogs and PostScript and PDF versions
+	of the GPL to the `docs' subpackages. This saves considerable space
+	on the live media.
 
-2008-10-31 Friday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-29  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl.spec (1.10): Disable rpath completely also for the
-	  PWL.
+	* configure.ac: Version number bumped.
 
-2008-10-31 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-29  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* Watchdog/: 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.
+	* interfaces/C/tests/Makefile.am: Temporary workaround to force
+	linking with C++.
 
-2008-10-31 Friday 13:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-03-29  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* NEWS (1.269): Reorganised, duplicate item removed, subheadings
-	  added and the section on foreign language interfaces split into
-	  separate items.  A few other minor changes.
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_common.defs.hh,
+	interfaces/OCaml/ppl_ocaml_common.inlines.hh,
+	interfaces/OCaml/tests/test1.ml: Improved the OCaml interfacing of
+	PPL dimensions and coefficients.  Added new helper functions:  - value_to_unsigned_native<U_Int>  - ppl_dimension_to_value  - value_to_ppl_dimension  - mpz_ptr_val and mpz_class_val  - build_ppl_Variable.  Prefer using Val_emptylist to Val_int(0).
 
-2008-10-31 Friday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-29  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Java/README.java (1.2): Improved.
+	* tests/MIP_Problem/exceptions1.cc: Disable these tests on the
+	Alpha.
 
-2008-10-31 Friday 11:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-03-29  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS (1.268): Added two items.
+	* configure.ac: Version number bumped.
 
-2008-10-31 Friday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-29  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl.spec (1.9): Added a `%files' section for the `java'
-	  subpackage.
+	* demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/ppl_lpsol.c,
+	src/ppl-config.cc.in: Try to accommodate more non-GNU
+	implementations of `getopt()'.
 
-2008-10-31 Friday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-28  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* README.configure (1.41), interfaces/Java/README.java (1.1): Added
-	  a truly minimal README.java.
+	* src/Interval.inlines.hh: Remove unimplemented and unused
+	functions.
 
-2008-10-31 Friday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Java/jni/Makefile.am (1.29): List `libppl_java.la' in
-	  `pkglib_LTLIBRARIES', not `lib_LTLIBRARIES'.
+	* demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/ppl_lpsol.c,
+	src/ppl-config.cc.in: Try to accommodate non-GNU implementations of
+	`getopt()'.
 
-2008-10-31 Friday 08:24  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* fedora/ppl.spec (1.8): Added a java subpackage.
-
-2008-10-30 Thursday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.spec (1.7): BuildRoot amended as per the Fedora
-	  packaging guidelines.
-
-2008-10-30 Thursday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.spec (1.6): Manual merge of the changes done in the
-	  version stored in Fedora repository.
-
-2008-10-29 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, ChangeLog, Makefile.am, NEWS, README, README.arm,
-	  README.configure, STANDARDS, TODO, config.guess, config.sub,
-	  configure.ac, instchk.hh, Watchdog/ChangeLog,
-	  Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
-	  Watchdog/config.guess, Watchdog/config.sub,
-	  Watchdog/configure.ac, Watchdog/doc/Makefile.am,
-	  Watchdog/doc/devref.doxyconf-html.in,
-	  Watchdog/doc/devref.doxyconf-latex.in,
-	  Watchdog/doc/user.doxyconf-html.in,
-	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/m4/Makefile.am,
-	  Watchdog/m4/ax_prefix_config_h.m4,
-	  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.cc,
-	  Watchdog/src/Pending_Element.defs.hh,
-	  Watchdog/src/Pending_Element.inlines.hh,
-	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
-	  Watchdog/src/Pending_List.inlines.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/.cvsignore, Watchdog/tests/Makefile.am,
-	  Watchdog/tests/pwl_test.cc, Watchdog/tests/pwl_test.hh,
-	  Watchdog/tests/simple1.cc, Watchdog/tests/valgrind_suppressions,
-	  Watchdog/utils/Makefile.am, debian/Makefile.am,
-	  demos/Makefile.am, demos/ppl_lcdd/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/expected_int16,
-	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
-	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
-	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
-	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
-	  demos/ppl_lpsol/ppl_lpsol.1, demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/ppl_lpsol_extra_man_text, devtools/.cvsignore,
-	  devtools/bump_copyright_years, devtools/cvs2cl.pl,
-	  devtools/generate_dox_biblio, devtools/generate_dox_biblio.sed,
-	  devtools/generate_dox_ci_prolog_manual,
-	  devtools/generate_man_pages, devtools/update_ChangeLog,
-	  doc/Makefile.am, doc/README.doc, doc/bib2dox, doc/bib2html1.sed,
-	  doc/bib2html2.sed, doc/definitions.dox,
-	  doc/devref-c-interface.doxyconf-html.in,
-	  doc/devref-c-interface.doxyconf-latex.in,
-	  doc/devref-c-interface.tex,
-	  doc/devref-foreign-language-interface.doxyconf.in,
-	  doc/devref-foreign-language-interface.tex,
-	  doc/devref-java-interface.doxyconf-html.in,
-	  doc/devref-java-interface.doxyconf-latex.in,
-	  doc/devref-java-interface.tex,
-	  doc/devref-ocaml-interface.doxyconf-html.in,
-	  doc/devref-ocaml-interface.doxyconf-latex.in,
-	  doc/devref-ocaml-interface.tex,
-	  doc/devref-prolog-interface.doxyconf-html.in,
-	  doc/devref-prolog-interface.doxyconf-latex.in,
-	  doc/devref-prolog-interface.tex, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/devref.tex,
-	  doc/interfaces-html.sed, doc/interfaces-latex.sed, doc/libppl.3,
-	  doc/libppl_c.3, doc/ppl-config.1, doc/ppl-config_extra_man_text,
-	  doc/ppl_lcdd.1, doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
-	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
-	  doc/user-c-interface.doxyconf-html.in,
-	  doc/user-c-interface.doxyconf-latex.in, doc/user-c-interface.tex,
-	  doc/user-foreign-language-interface.doxyconf.in,
-	  doc/user-foreign-language-interface.tex,
-	  doc/user-java-interface.doxyconf-html.in,
-	  doc/user-java-interface.doxyconf-latex.in,
-	  doc/user-java-interface.tex,
-	  doc/user-ocaml-interface.doxyconf-html.in,
-	  doc/user-ocaml-interface.doxyconf-latex.in,
-	  doc/user-ocaml-interface.tex,
-	  doc/user-prolog-interface.doxyconf-html.in,
-	  doc/user-prolog-interface.doxyconf-latex.in,
-	  doc/user-prolog-interface.tex, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, doc/user.tex, fedora/Makefile.am,
-	  interfaces/Makefile.am, interfaces/README.interfaces,
-	  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/C/C_interface.dox, interfaces/C/Makefile.am,
-	  interfaces/C/ppl_c.h.in, 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.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_files.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_preamble,
-	  interfaces/C/ppl_interface_generator_c_h.m4,
-	  interfaces/C/ppl_interface_generator_c_h_code.m4,
-	  interfaces/C/ppl_interface_generator_c_h_preamble,
-	  interfaces/C/ppl_interface_generator_c_hh_files.m4,
-	  interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
-	  interfaces/C/tests/.cvsignore, interfaces/C/tests/Makefile.am,
-	  interfaces/C/tests/cxxoutput.c, interfaces/C/tests/ppl_c_test.cc,
-	  interfaces/C/tests/ppl_c_test.h,
-	  interfaces/C/tests/print_to_buffer.cc,
-	  interfaces/C/tests/print_to_buffer.h,
-	  interfaces/Java/Makefile.am,
-	  interfaces/Java/ppl_interface_generator_java_dox.m4,
-	  interfaces/Java/ppl_interface_generator_java_dox_code.m4,
-	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4,
-	  interfaces/Java/ppl_java_common_dox,
-	  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.m4,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
-	  interfaces/Java/jni/ppl_java_common.cc,
-	  interfaces/Java/jni/ppl_java_common.defs.hh,
-	  interfaces/Java/jni/ppl_java_common.hh,
-	  interfaces/Java/jni/ppl_java_common.inlines.hh,
-	  interfaces/Java/jni/ppl_java_globals.cc,
-	  interfaces/Java/parma_polyhedra_library/.cvsignore,
-	  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.java,
-	  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/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_Coefficient.java,
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java,
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java,
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java,
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.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.java,
-	  interfaces/Java/parma_polyhedra_library/PPL_Object.java,
-	  interfaces/Java/parma_polyhedra_library/Pair.java,
-	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java,
-	  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/Variable.java,
-	  interfaces/Java/parma_polyhedra_library/Variables_Set.java,
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4,
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4,
-	  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/PPL_Test.java,
-	  interfaces/Java/tests/Parma_Polyhedra_Library_test1.java,
-	  interfaces/Java/tests/Test_Executor.java,
-	  interfaces/Java/tests/Test_Partial_Function.java,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
-	  interfaces/Java/tests/ppl_java_tests_common,
-	  interfaces/OCaml/Makefile.am,
-	  interfaces/OCaml/OCaml_interface.dox,
-	  interfaces/OCaml/README.ocaml,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4,
-	  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.cc,
-	  interfaces/OCaml/ppl_ocaml_globals.ml,
-	  interfaces/OCaml/ppl_ocaml_globals.mli,
-	  interfaces/OCaml/ppl_ocaml_types.ml,
-	  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.m4,
-	  interfaces/OCaml/tests/ppl_ocaml_tests_common,
-	  interfaces/OCaml/tests/test1.ml, interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  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_generators.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/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/README.ciao,
-	  interfaces/Prolog/Ciao/ciao_cfli.hh,
-	  interfaces/Prolog/Ciao/ciao_efli.cc,
-	  interfaces/Prolog/Ciao/ciao_efli.hh,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4,
-	  interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/README.gprolog,
-	  interfaces/Prolog/GNU/gnu_prolog_generated_test.pl,
-	  interfaces/Prolog/GNU/gprolog_cfli.hh,
-	  interfaces/Prolog/GNU/gprolog_efli.cc,
-	  interfaces/Prolog/GNU/gprolog_efli.hh,
-	  interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh,
-	  interfaces/Prolog/SICStus/sicstus_efli.cc,
-	  interfaces/Prolog/SICStus/sicstus_efli.hh,
-	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
-	  interfaces/Prolog/SICStus/sp_prolog_generated_test.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
-	  interfaces/Prolog/SWI/swi_efli.cc,
-	  interfaces/Prolog/SWI/swi_efli.hh,
-	  interfaces/Prolog/SWI/swi_predicate_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_predicate_check_P.m4,
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4,
-	  interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
-	  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_prolog_sysdep.hh,
-	  interfaces/Prolog/YAP/yap_efli.cc,
-	  interfaces/Prolog/YAP/yap_efli.hh,
-	  interfaces/Prolog/YAP/yap_prolog_generated_test.pl,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/expected_clpq2_int16,
-	  interfaces/Prolog/tests/expected_clpq2_int16_a,
-	  interfaces/Prolog/tests/expected_clpq2_int8,
-	  interfaces/Prolog/tests/expected_clpq2_int8_a,
-	  interfaces/Prolog/tests/expected_pchk_int16,
-	  interfaces/Prolog/tests/expected_pchk_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int32,
-	  interfaces/Prolog/tests/expected_pchk_int32_a,
-	  interfaces/Prolog/tests/expected_pchk_int64_a,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/expected_pgt,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  interfaces/Prolog/tests/pl_grid_check.pl,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4,
-	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
-	  interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl,
-	  m4/Makefile.am, m4/ac_check_ciao.m4, m4/ac_check_fpu_control.m4,
-	  m4/ac_check_gmp.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, m4/lib-link.m4, m4/lib-prefix.m4,
-	  m4/ppl.m4, m4/ppl_c.m4, src/Any_Pointset.defs.hh,
-	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/BD_Shape.templates.hh, src/Bit_Row.cc, src/Bit_Row.defs.hh,
-	  src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
-	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	  src/Congruence.cc, src/Congruence.defs.hh,
-	  src/Congruence_System.cc, src/Congruence_System.defs.hh,
-	  src/Constraint.defs.hh, src/Constraint_System.defs.hh,
-	  src/Float.defs.hh, src/Float.inlines.hh, src/Generator.defs.hh,
-	  src/Generator_System.defs.hh, src/Grid.defs.hh,
-	  src/Grid.inlines.hh, src/Grid_Generator.defs.hh,
-	  src/Grid_Generator_System.defs.hh, src/Grid_chdims.cc,
-	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_widenings.cc,
-	  src/Init.cc, src/Interval.defs.hh, src/Interval.inlines.hh,
-	  src/Linear_Expression.defs.hh, src/MIP_Problem.cc,
-	  src/MIP_Problem.defs.hh, src/MIP_Problem.inlines.hh,
-	  src/MIP_Problem.templates.hh, src/Makefile.am,
-	  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/Og_Status.idefs.hh,
-	  src/Partially_Reduced_Product.defs.hh,
-	  src/Pointset_Ask_Tell.defs.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_chdims.cc,
-	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
-	  src/Polyhedron_widenings.cc, src/Ptr_Iterator.defs.hh,
-	  src/Rounding_Dir.inlines.hh, src/Variables_Set.defs.hh,
-	  src/checked.cc, src/checked.defs.hh, src/checked.inlines.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/compiler.hh,
-	  src/fpu-c99.inlines.hh, src/fpu-none.inlines.hh, src/fpu.defs.hh,
-	  src/globals.defs.hh, src/namespaces.hh, src/ppl-config.cc.in,
-	  src/stdiobuf.cc, src/stdiobuf.defs.hh, src/stdiobuf.inlines.hh,
-	  src/stdiobuf.types.hh, src/version.cc, tests/FCAIBVP.cc,
-	  tests/FCAIBVP.defs.hh, tests/FCAIBVP.inlines.hh,
-	  tests/FCAIBVP.types.hh, tests/Makefile.am,
-	  tests/Partial_Function.cc, tests/Partial_Function.defs.hh,
-	  tests/Partial_Function.inlines.hh,
-	  tests/Partial_Function.types.hh, tests/README, tests/ppl_test.cc,
-	  tests/ppl_test.hh, tests/print.cc, tests/print.hh,
-	  tests/valgrind_suppressions, tests/Ask_Tell/Makefile.am,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc, tests/BD_Shape/closure1.cc,
-	  tests/BD_Shape/containsintegerpoint1.cc,
-	  tests/BD_Shape/difference1.cc, tests/BD_Shape/maxspacedim1.cc,
-	  tests/BD_Shape/membytes1.cc, tests/BD_Shape/pointsetpowerset1.cc,
-	  tests/BD_Shape/upperbound1.cc, tests/Box/Makefile.am,
-	  tests/Box/addconstraints1.cc, tests/Box/addspacedims1.cc,
-	  tests/Box/affineimage1.cc, tests/Box/affinepreimage1.cc,
-	  tests/Box/bgp99extrapolation1.cc,
-	  tests/Box/boundedaffinepreimage1.cc, tests/Box/boxdifference1.cc,
-	  tests/Box/boxhull1.cc, tests/Box/cc76narrowing1.cc,
-	  tests/Box/closure1.cc, tests/Box/concatenate1.cc,
-	  tests/Box/congruences1.cc, tests/Box/constraints1.cc,
-	  tests/Box/contains1.cc, tests/Box/difference1.cc,
-	  tests/Box/discrete1.cc, tests/Box/disjoint1.cc,
-	  tests/Box/expandspacedim1.cc, tests/Box/foldspacedims1.cc,
-	  tests/Box/frombox1.cc, tests/Box/generalizedaffineimage1.cc,
-	  tests/Box/generalizedaffineimage2.cc, tests/Box/intersection1.cc,
-	  tests/Box/interval1.cc, tests/Box/interval2.cc,
-	  tests/Box/mapspacedims1.cc, tests/Box/max_min1.cc,
-	  tests/Box/membytes1.cc, tests/Box/pointsetpowerset1.cc,
-	  tests/Box/pointsetpowerset2.cc,
-	  tests/Box/propagateconstraints1.cc,
-	  tests/Box/propagateconstraints2.cc,
-	  tests/Box/refinewithcongruences1.cc,
-	  tests/Box/refinewithconstraint1.cc,
-	  tests/Box/refinewithconstraints1.cc,
-	  tests/Box/refinewithconstraints2.cc, tests/Box/relations1.cc,
-	  tests/Box/relations2.cc, tests/Box/removespacedims1.cc,
-	  tests/Box/timeelapse1.cc, tests/Box/unconstrain1.cc,
-	  tests/Box/universe1.cc, tests/Box/upperbound1.cc,
-	  tests/Box/writebox1.cc, tests/Grid/Makefile.am,
-	  tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
-	  tests/Grid/addgenerators1.cc, tests/Grid/affineimage2.cc,
-	  tests/Grid/approximatepartition1.cc, tests/Grid/congruence1.cc,
-	  tests/Grid/generator1.cc, tests/Grid/griddifference1.cc,
-	  tests/Grid/join1.cc, tests/Grid/join2.cc,
-	  tests/Grid/membytes1.cc, tests/Grid/partition1.cc,
-	  tests/Grid/powersetdifference1.cc,
-	  tests/Grid/refinewithcongruences1.cc,
-	  tests/Grid/refinewithconstraints1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/upperbound1.cc,
-	  tests/Grid/upperbound2.cc, tests/MIP_Problem/Makefile.am,
-	  tests/MIP_Problem/mipproblem1.cc,
-	  tests/MIP_Problem/mipproblem2.cc,
-	  tests/MIP_Problem/mipproblem3.cc,
-	  tests/Octagonal_Shape/Makefile.am,
-	  tests/Octagonal_Shape/affinedimension1.cc,
-	  tests/Octagonal_Shape/affinepreimage1.cc,
-	  tests/Octagonal_Shape/congruences1.cc,
-	  tests/Octagonal_Shape/containsintegerpoint1.cc,
-	  tests/Octagonal_Shape/difference1.cc,
-	  tests/Octagonal_Shape/discrete1.cc,
-	  tests/Octagonal_Shape/mapspacedims1.cc,
-	  tests/Octagonal_Shape/maxspacedim1.cc,
-	  tests/Octagonal_Shape/membytes1.cc,
-	  tests/Octagonal_Shape/octdifference1.cc,
-	  tests/Octagonal_Shape/octhull1.cc,
-	  tests/Octagonal_Shape/upperbound1.cc,
-	  tests/Partially_Reduced_Product/Makefile.am,
-	  tests/Partially_Reduced_Product/asciidumpload1.cc,
-	  tests/Partially_Reduced_Product/directproduct1.cc,
-	  tests/Partially_Reduced_Product/directproduct2.cc,
-	  tests/Partially_Reduced_Product/directproduct3.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/README,
-	  tests/Polyhedron/affineimage2.cc, tests/Polyhedron/append1.cc,
-	  tests/Polyhedron/append2.cc, tests/Polyhedron/bhrz03widening1.cc,
-	  tests/Polyhedron/bhrz03widening3.cc,
-	  tests/Polyhedron/boundedaffineimage1.cc,
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/dualhypercubes.cc,
-	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/exceptions2.cc,
-	  tests/Polyhedron/hybrid.cc, tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/membytes1.cc,
-	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
-	  tests/Polyhedron/nncminimize1.cc, tests/Polyhedron/permute.cc,
-	  tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/randphull1.cc,
-	  tests/Polyhedron/refinewithcongruences1.cc,
-	  tests/Powerset/Makefile.am, tests/Powerset/pointsetpowerset1.cc,
-	  tests/Powerset/pointsetpowerset2.cc,
-	  tests/Powerset/simplifyusingcontext1.cc, utils/build_header.in
-	  (bounded_arithmetic.[1,2,2,2,1,2,1,1,2,2,2,2,2,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,1,1,1,2,1,2,2,2,1,2,1,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,1,2,2,3,3,3,3,3,3,2,2,3,2,2,1,2,2,3,2,2,1,2,1,2,1,1,2,2,1,2,2,3,3,3,3,3,3,2,2,1,2,2,1,1,2,1,3,1,2,2,2,2,2,2,2,2,2,1,1,2,2,2,1,2,2,2,1,2,2,2,2,2,2,2,2,3,3,2,3,2,2,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,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,3,1,1, [...]
-	  Second merge of the trunk to the bounded_arithmetic branch.
-
-2008-10-29 Wednesday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.405): Version number bumped.
-
-2008-10-29 Wednesday 20:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.11),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.13): Also revised -
-	  bugs fixed and a few improvements.
-
-2008-10-29 Wednesday 20:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.180): Updated.
-
-2008-10-29 Wednesday 10:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* CREDITS (1.30): Spurious comma removed.
-
-2008-10-28 Tuesday 20:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* configure.ac, src/Bit_Row.inlines.hh: Some systems do not have
+	<strings.h>.  On such systems ffs(3) may be defined in <string.h>.
 
-	* doc/: libppl.3 (1.12), libppl_c.3 (1.3): In the C interface man
-	  page, mention the introduction and use of functions
-	  ppl_restore_pre_PPL_rounding() and ppl_set_rounding_for_PPL().
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-28 Tuesday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
+	* TODO: Done item removed.
 
-	* doc/libppl_c.3 (bounded_arithmetic.1): file libppl_c.3 was added
-	  on branch bounded_arithmetic on 2008-10-29 20:45:24 +0000
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-28 Tuesday 18:15  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.
 
-	* NEWS (1.267), doc/libppl.3 (1.11): Mention the introduction and
-	  use of the functions restore_pre_PPL_rounding(),
-	  set_rounding_for_PPL(), and of their counterparts in all the
-	  language interfaces.
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-28 Tuesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
+	* Watchdog/configure.ac, configure.ac: Improved the semantics of the
+	--enable-watchdog configure option.
 
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.63), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.90), doc/libppl.3 (1.10), src/Init.cc (1.37),
-	  tests/Polyhedron/memory1.cc (1.19), tests/Polyhedron/memory2.cc
-	  (1.18): The C function name
-	  `set_GMP_memory_allocation_functions()' was breaking our
-	  namespace promise: renamed
-	  `ppl_set_GMP_memory_allocation_functions()'.
+2009-03-28  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-28 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/Interval.inlines.hh: Removed useless functions.
 
-	* doc/libppl.3 (1.9): Wording slightly improved.
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-28 Tuesday 12:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* tests/Box/frombox1.cc: Fixed and reactivated test05().
 
-	* CREDITS (1.29): Updated the sponsors to include recent projects
-	  at Leeds.
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 21:21  Roberto Bagnara <bagnara at cs.unipr.it>
+	* tests/Box/frombox1.cc: Parameterized test05().
 
-	* NEWS (1.266): Small improvement.
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/checked_mpz.inlines.hh: Fixed indentation.
 
-	* ChangeLog (1.32), Watchdog/ChangeLog (1.22): Updated.
+2009-03-28  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 18:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* src/checked.inlines.hh: These efficiency related FIXME's are not
+	scheduled for 0.10.1
 
-	* TODO (1.286): Adde 2 items for 0.10.1 and later.
+2009-03-28  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/Checked_Number.inlines.hh: Documented ROUND_NOT_NEEDED FIXME.
 
-	* TODO (1.285): Added one item for PPL 0.10.1.
+2009-03-28  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 16:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* TODO, src/Init.cc, src/checked_mpq.inlines.hh: Documented rational
+	sqrt precision and implemented a more precise variant for numbers <
+	1.
 
-	* NEWS (1.265): Avoid repetitive comments for the
-	  Partially_Reduced_Product domains.
+2009-03-28  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 16:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* src/checked_mpz.inlines.hh: Avoid unrequested call to
+	mpz_divisible_p.
 
-	* doc/libppl.3 (1.8): Small nels improvement.
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 15:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* m4/ac_cxx_double_exact_output.m4,
+	m4/ac_cxx_float_exact_output.m4,
+	m4/ac_cxx_long_double_exact_output.m4: Uuse the
+	PPL_CXX_*_BINARY_FORMAT macros.
 
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.43): Changed the constrains/2, unconstrain/2 and
-	  unconstrains/2 from simple to all.
+2009-03-28  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* tests/Box/frombox1.cc: Disabled failing test.
 
-	* NEWS (1.264): Three subitems on the foreign language interfaces,
-	  all related to uniform naming, placed together and reorganized to
-	  avoid repetitions.
+2009-03-28  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/checked_mpz.inlines.hh: Avoid abuse of mpz_divexact.
 
-	* NEWS (1.263): A couple of improvements on items regarding foreign
-	  langauge interfaces.
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 14:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* interfaces/C/tests/Makefile.am: Tweak for MinGW.  Force the use of
+	the C++ compiler for linking.
 
-	* NEWS (1.262): Revised the items wrt add_integer_point(),
-	  constrains() and unconstrain().
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/tests/print_to_buffer.c: Include <stdlib.h> instead
+	of <malloc.h>.
 
-	* NEWS (1.261): Some consistency improvements.
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
+	* demos/ppl_lpsol/Makefile.am: Allow testing under MinGW.
 
-	* NEWS (1.260): Several corrections and improvements.
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 13:24  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* configure.ac: Detect MinGW, defining the HOST_OS_MINGW Automake
+	conditional.
 
-	* NEWS (1.259): Corrected a couple of typos.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 13:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/ppl_lpsol.1,
+	demos/ppl_lpsol/ppl_lpsol.c,
+	demos/ppl_lpsol/ppl_lpsol_extra_man_text: The `ppl_lpsol' program
+	can now be built and checked with cross-compilation.
 
-	* NEWS (1.258): Revised the item on bds_hull etc.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 13:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* demos/ppl_lcdd/ppl_lcdd.cc: Minor code readability improvements.
 
-	* README.configure (1.40): Small nels improvements and similar.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 13:18  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* interfaces/C/ppl_c_header.h, src/wrap.hh: Comments improved.
 
-	* NEWS (1.257): Improved item about refine_with_* methods.
+2009-03-27  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-27 Monday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* interfaces/C/ppl_c_header.h: A couple of minor corrections.
 
-	* NEWS (1.256): The wronly placed item on deprecated methods moved
-	  to a better place.  Completed the item on the changes to the
-	  documentation manuals.
+2009-03-27  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 12:14  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/ppl_c_header.h: Fixed parameter name.
 
-	* NEWS (1.255): Added an item on the new man pages libppl(3) and
-	  libppl_c(3).
+2009-03-27  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 12:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* interfaces/C/ppl_c_header.h: Moved ppl_io_wrap_string
+	documentation.
 
-	* NEWS (1.254): Dealt with items on constrains, unconstrain and
-	  has_integer_point.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 11:56  Roberto Bagnara <bagnara at cs.unipr.it>
+	* demos/ppl_lpsol/ppl_lpsol.1, doc/ppl-config.1: Man pages updated.
 
-	* NEWS (1.253): Revised the item concerning LP_Problem/MIP_Problem.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.1,
+	demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/ppl_lcdd_extra_man_text:
+	The `ppl_lcdd' program can now be built and checked with
+	cross-compilation.
 
-	* NEWS (1.252): Added an item mentioning the deprecation of
-	  _and_minimize methods.  Modified another item regarding the
-	  recycling methods.
+2009-03-27  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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/ppl_interface_generator_c_cc_code.m4,
+	interfaces/C/ppl_interface_generator_c_h_code.m4,
+	interfaces/C/tests/formatted_output.c,
+	interfaces/C/tests/print_to_buffer.c,
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/Java/jni/ppl_java_globals.cc,
+	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/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem.java,
+	interfaces/Java/parma_polyhedra_library/ppl_interface_generator_jav
+	a_classes_java_code.m4, interfaces/OCaml/OCaml_interface.dox,
+	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/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4,
+	src/Makefile.am, src/c_streambuf_format.cc,
+	src/c_streambuf_format.defs.hh, src/c_streambuf_format.inlines.hh,
+	src/c_streambuf_format.types.hh, src/c_streambuf_format_settings.h,
+	src/pretty_print.cc, src/pretty_print.hh,
+	src/pretty_print.inlines.hh, src/wrap.cc, src/wrap.hh: Get rid of
+	pretty_printing stuff. A string wrapping function is made available.
 
-	* NEWS (1.251): Added an item concerning the enhancements made to
-	  the configuration script.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 11:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* 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.
 
-	* NEWS (1.250): Completed item concerning the default widening
-	  operator.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 10:50  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.
 
-	* NEWS (1.249): Finished the item concerning the Interval template
-	  class.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
+	* ChangeLog, Watchdog/ChangeLog: Updated to 2008-12-31.
 
-	* src/Interval.defs.hh (1.60): Missing comma added.
+2009-03-27  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
+	* tests/BD_Shape/Makefile.am, tests/BD_Shape/run_tests,
+	tests/Box/Makefile.am, tests/Box/run_tests,
+	tests/Octagonal_Shape/Makefile.am, tests/Octagonal_Shape/run_tests:
+	Fixed make check.
 
-	* src/Interval.defs.hh (1.59): Drafted the detailed information for
-	  the Interval class.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 10:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* src/Constraint_System.cc: Missing else branch added.
 
-	* NEWS (1.248): Completed item on can_recycle... methods.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 10:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* src/Bit_Matrix.cc, src/Congruence.cc, src/Congruence_System.cc,
+	src/Constraint_System.cc, src/Generator_System.cc,
+	src/Grid_Generator_System.cc, src/Linear_Row.cc,
+	src/Linear_System.cc, src/Matrix.cc, src/Row.cc: ascii_load()
+	methods now perform more stringent checks on the input.
 
-	* NEWS (1.247): Merged the items on constructing from and shrinking
-	  bounding boxes and completed this item.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 10:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* tests/Polyhedron/ascii_dump_load1.cc: Spurious spaces removed.
 
-	* NEWS (1.246): Corrected (again) the item on covering boxes being
-	  removed.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 09:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* tests/Grid/asciidumpload2.cc: Spurious spaces removed.
 
-	* NEWS (1.245): Corrected changes to item on covering boxes.
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 09:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* tests/Polyhedron/memory1.cc, tests/Polyhedron/watchdog1.cc: Fixed
+	the formatting of do-while loops.
 
-	* NEWS (1.244): Completed an item on the Product domains.
+2009-03-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-27 Monday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/OCaml/OCaml_interface.dox,
+	interfaces/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/Prolog/.gitignore,
+	interfaces/Prolog/Prolog_interface.dox: Added several missing
+	functions to the OCaml interface.  Minor corrections to the
+	documentation.
 
-	* NEWS (1.243): News item for class Box completed.  News item for
-	  class Octagonal_Shape moved up.
+2009-03-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-27 Monday 08:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4,
+	interfaces/OCaml/ppl_ocaml_common.cc: Fixed several garbage
+	collecting issues in the OCaml interface.  - Helper functions returning OCaml value types that have not been
+	  registered yet with the garbage collector are now named
+	unregistered_value_p_*; - Added appropriate calls to CAMLlocal* macros where appropriate; - Use the safe Store_field(a, b, c) instead of the unsafe Field(a,
+	b) = c.
 
-	* src/Pointset_Powerset.defs.hh (1.55): Spelling fixed.
+2009-03-26  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* tests/BD_Shape/.gitignore, tests/BD_Shape/Makefile.am,
+	tests/Box/.gitignore, tests/Box/Makefile.am,
+	tests/Octagonal_Shape/.gitignore, tests/Octagonal_Shape/Makefile.am:
+	Tests have to be done unconditionally.
 
-	* NEWS (1.242): News item that referred to the Polyhedron domain
-	  and congruences now replaced by a more genral item on congruence
-	  related methods.
+2009-03-26  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-2008-10-27 Monday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
+	* NEWS: Report on two bugs fixed in the OCaml interface.
 
-	* src/Box.defs.hh (1.65): A Box is a smash product, not a Cartesian
-	  product.
+2009-03-26  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-2008-10-27 Monday 08:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/tests/test1.ml: Fixed a bug where the tokens for
+	widening were not being updated.
 
-	* NEWS (1.241): Completed an item on the pointset powerset domain.
+2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 08:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Support systems
+	that do not define `siginfo_t'.
 
-	* NEWS (1.240): Reordered items and started indicating where more
-	  work is needed.
+2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* Watchdog/configure.ac, configure.ac: Added checks for the
+	availability of `siginfo_t'.
 
-	* NEWS (1.239): Written a section on changes to the foreign
-	  language interfaces.
+2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 07:30  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>).
 
-	* TODO (1.284): Added one item for 0.10.1.
+2009-03-25  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-27 Monday 07:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* 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.
 
-	* NEWS (1.238): Two more reminders of news that needs adding: -
-	  OCaml and Java interfaces; - changes to the configure options.
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 06:30  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.
 
-	* interfaces/C/tests/print_to_buffer.h (1.5): Comment fixed.
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-27 Monday 06:30  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/fpu-ia32.cc: Depend on PPL_CAN_CONTROL_FPU.
 
-	* interfaces/C/tests/print_to_buffer.h (bounded_arithmetic.1): file
-	  print_to_buffer.h was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:27 +0000
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
+	* configure.ac: Typo fixed.
 
-	* interfaces/Java/parma_polyhedra_library/Variable.java (1.3),
-	  tests/Octagonal_Shape/affinedimension1.cc (1.6),
-	  tests/Octagonal_Shape/discrete1.cc (1.5): Trailing blanks
-	  removed.
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 21:50  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
 
-	* interfaces/Java/parma_polyhedra_library/Variable.java
-	  (bounded_arithmetic.1): file Variable.java was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* tests/Box/congruences1.cc, tests/Box/max_min1.cc: Disable more
+	tests that fail on the Alpha due to a GCC bug.
 
-	* NEWS (1.237): Made a start on updating this file: - update the
-	  paragraph on the MIP problem to include MIP control parameters; -
-	  added a bullet on total and external memory in bytes; - reminder
-	  to add something about the removal of covering_box support; -
-	  reminder to add a note about the partially reduced product; -
-	  reminder to add something about changes to the documentation.
+2009-03-25  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-26 Sunday 21:43  Roberto Bagnara <bagnara 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.
 
-	* interfaces/Java/tests/ppl_java_tests_common (1.18): Copyright
-	  notice added.  Indentation fixed.
+2009-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-2008-10-26 Sunday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
+	* TODO: TODO item - Check the configuration dependent documentation for Prolog, done
+	and removed.
 
-	* interfaces/OCaml/README.ocaml (1.6): Improved.
+2009-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-2008-10-26 Sunday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4 (1.4):
-	  Copyright notice fixed.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 21:36  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.
 
-	* interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_ocaml_hh_code.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:30 +0000
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/tests/formatted_output.c: Reduced DIMENSION to 100.
 
-	* interfaces/C/tests/: print_to_buffer.cc (1.5), print_to_buffer.h
-	  (1.4): Added copyright notices and multiple inclusion guards.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 21:33  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.
 
-	* interfaces/C/tests/print_to_buffer.cc (bounded_arithmetic.1):
-	  file print_to_buffer.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:27 +0000
+2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/Makefile.am: Fixed file names.
 
-	* README (1.54): Updated.
+2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-26 Sunday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+	* NEWS: Mention the bug corrected for method
+	Octagonal_Shape<T>::affine_image().
 
-	* NEWS (1.236), Watchdog/NEWS (1.12): The target release date is
-	  November 4, 2008.
+2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/ppl_c_header.h: Fixed comment.
 
-	* Watchdog/: README (1.19), ChangeLog (1.21): Updated.
+2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/ppl_c_header.h: Fixed indentation.
 
-	* Watchdog/: configure.ac (1.55), src/Makefile.am (1.18): Version
-	  number corrected.
+2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-26 Sunday 19:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/Octagonal_Shape.templates.hh: Corrected bug affecting method
+	Octagonal_Shape::affine_image().
 
-	* TODO (1.283): Removed section of enhancements for PPL 0.10.
+2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* 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.
 
-	* TODO (1.282): Removed (last?) two items for PPL 0.10.
+2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-26 Sunday 19:22  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.
 
-	* doc/definitions.dox (1.225): Minor improvement.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
+	* README.configure, TODO: Explained the `--disable-ppl_lcdd' and
+	`--disable-ppl_lcdd' configure options.
 
-	* CREDITS (1.28): Acknowledge the help received from Martin Guy.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 19:19  Enea Zaffanella <zaffanella 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).
 
-	* src/: Any_Pointset.defs.hh (1.20), BD_Shape.defs.hh (1.133),
-	  Congruence.defs.hh (1.26), Congruence_System.defs.hh (1.27),
-	  Constraint.defs.hh (1.131), Constraint_System.defs.hh (1.41),
-	  Generator.defs.hh (1.127), Generator_System.defs.hh (1.29),
-	  Grid.defs.hh (1.84), Grid_Generator.defs.hh (1.34),
-	  Grid_Generator_System.defs.hh (1.30), Linear_Expression.defs.hh
-	  (1.40), MIP_Problem.defs.hh (1.40), Octagonal_Shape.defs.hh
-	  (1.60), Og_Status.idefs.hh (1.11),
-	  Partially_Reduced_Product.defs.hh (1.34),
-	  Pointset_Ask_Tell.defs.hh (1.18), Pointset_Powerset.defs.hh
-	  (1.54), Polyhedron.defs.hh (1.357), Variables_Set.defs.hh (1.9),
-	  globals.defs.hh (1.56): Let the documentation for the
-	  ascii_dump/load methods also appear in the user manuals, since
-	  they may be useful for debugging purposes.  In the user docs for
-	  Polyhedron and Grid, avoid listing exception throwers.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
+	* fedora/ppl.spec: Synchronized with the Fedora repository.
 
-	* TODO (1.281), doc/ppl-config.1 (1.11),
-	  doc/ppl-config_extra_man_text (1.5), src/ppl-config.cc.in (1.25):
-	  Improved the man page of ppl-config.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 18:29  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.
 
-	* TODO (1.280), demos/ppl_lcdd/ppl_lcdd.1 (1.4),
-	  demos/ppl_lcdd/ppl_lcdd.cc (1.62),
-	  demos/ppl_lcdd/ppl_lcdd_extra_man_text (1.3): Improved the man
-	  page of ppl_lcdd.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/tests/formatted_output.c,
+	interfaces/C/tests/print_to_buffer.c: Build restored.
 
-	* demos/ppl_lcdd/ppl_lcdd.1 (bounded_arithmetic.1): file ppl_lcdd.1
-	  was added on branch bounded_arithmetic on 2008-10-29 20:45:23
-	  +0000
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* demos/ppl_lcdd/ppl_lcdd_extra_man_text (bounded_arithmetic.1):
-	  file ppl_lcdd_extra_man_text was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:23 +0000
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 18:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* interfaces/C/tests/print_to_buffer.c,
+	interfaces/C/tests/print_to_buffer.h, src/c_stream.h: Some fixes.
 
-	* src/MIP_Problem.cc (1.74): Indentation fixed.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 16:09  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.
 
-	* demos/ppl_lpsol/: ppl_lpsol.1 (1.5), ppl_lpsol.c (1.89),
-	  ppl_lpsol_extra_man_text (1.4): Documentation improved.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 16:09  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.
 
-	* demos/ppl_lpsol/ppl_lpsol.1 (bounded_arithmetic.1): file
-	  ppl_lpsol.1 was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:23 +0000
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/c_stream.cc, src/c_stream.h, src/c_streambuf_format.cc: Better
+	name.
 
-	* demos/ppl_lpsol/ppl_lpsol_extra_man_text (bounded_arithmetic.1):
-	  file ppl_lpsol_extra_man_text was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:23 +0000
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/c_stream.cc, src/c_stream.h, src/c_streambuf_format.cc: Bug
+	fix: ostringstream.str() returns a temporary.
 
-	* TODO (1.279), demos/ppl_lpsol/ppl_lpsol.1 (1.4),
-	  demos/ppl_lpsol/ppl_lpsol.c (1.88),
-	  demos/ppl_lpsol/ppl_lpsol_extra_man_text (1.3),
-	  devtools/generate_man_pages (1.3): Completed the man page of
-	  ppl_lpsol.  Other minor improvements.
+2009-03-23  Enea Zaffanella <zaffanella at spartacus.cs.unipr.it>
 
-2008-10-26 Sunday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
+	* tests/Octagonal_Shape/affineimage1.cc: Added a test.
 
-	* devtools/generate_man_pages (bounded_arithmetic.1): file
-	  generate_man_pages was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:24 +0000
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* doc/: libppl.3 (1.7), libppl_c.3 (1.2): The standard section name
-	  is AUTHOR, not AUTHORS.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/OR_Matrix.inlines.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh: Readability improvements.
 
-	* demos/ppl_lcdd/ppl_lcdd.1 (1.3),
-	  demos/ppl_lcdd/ppl_lcdd_extra_man_text (1.2),
-	  demos/ppl_lpsol/ppl_lpsol.1 (1.3),
-	  demos/ppl_lpsol/ppl_lpsol_extra_man_text (1.2), doc/ppl-config.1
-	  (1.10), doc/ppl-config_extra_man_text (1.4): Small improvements.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 14:44  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.
 
-	* TODO (1.278): One item moved.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 14:43  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/c_stream.cc, src/c_stream.h: Added ppl_io_ostream_buffer_clear
+	function.
 
-	* TODO (1.277), doc/Makefile.am (1.95), doc/libppl.3 (1.6): Another
-	  item dealt with.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/c_stream.cc, src/c_stream.h: Added write functions for native
+	types.
 
-	* doc/libppl_c.3 (1.1): Short overview on how to use the Parma
-	  Polyhedra Library (PPL) in C programs.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-26 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* TODO (1.276), doc/libppl.3 (1.5): One item dealt whith.
+2009-03-23  Enea Zaffanella <zaffanella at spartacus.cs.unipr.it>
 
-2008-10-26 Sunday 12:25  Roberto Bagnara <bagnara at 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.
 
-	* tests/: README (1.4), Polyhedron/README (1.9): Moved.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/OR_Matrix.inlines.hh: Obsolete FIXME removed.
 
-	* tests/README (bounded_arithmetic.1): file README was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:37 +0000
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/Octagonal_Shape.templates.hh: Little formatting improvement.
 
-	* TODO (1.275): Two items removed; one revised.
+2009-03-23  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-26 Sunday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/pretty_print.cc, src/pretty_print.hh: Use consistent parameter
+	names in helper function wrap.
 
-	* doc/libppl.3 (1.4): Completed.
+2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
+	* demos/ppl_lpsol/expected_mpz_a: Updated to reflect the new way
+	`ppl_lpsol' is invoked.
 
-	* tests/Polyhedron/memory1.cc (1.18): Make sure the GMP allocation
-	  functions are set prior to the allocation of any GMP object.
+2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-26 Sunday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* Makefile.am, Watchdog/Makefile.am, Watchdog/pwl-config.sed,
+	ppl-config.sed: Tightened the machinery used to generate the
+	configuration headers.
 
-	* TODO (1.274), Watchdog/src/Makefile.am (1.17),
-	  interfaces/OCaml/Makefile.am (1.60), src/Makefile.am (1.190),
-	  tests/Makefile.am (1.274), tests/BD_Shape/Makefile.am (1.81),
-	  tests/Box/Makefile.am (1.75), tests/Octagonal_Shape/Makefile.am
-	  (1.35), tests/Powerset/Makefile.am (1.7): Ensure the clean and
-	  mostlyclean comply with the 'STANDARDS' file and are used
-	  sensibly.
+2009-03-22  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	  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
+	* tests/Polyhedron/linearexpression1.cc: Added a test for
+	operator-(var, expr) and operator-(expr, var).
 
-2008-10-26 Sunday 08:51  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* doc/libppl.3 (1.3): Some corrections.  Started a new section on
-	  implementing memory-guarded computations.
+	* src/Linear_Expression.cc, src/Linear_Expression.inlines.hh:
+	Improved functions and methods to build linear expressions.  Avoid
+	complex inline functions and methods.
 
-2008-10-25 Saturday 22:45  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-22  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* Makefile.am (1.50): Added alternative definition for variable
-	  distcleancheck_listfiles, so that it is not an error if a
-	  distributed file is left in the build tree after a `make
-	  distclean' (see Section 14.4 of the Automake manual).
+	* src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	src/Linear_Expression.inlines.hh: Three FIXMEs related to
+	Linear_Expression resolved.  The three operators are now friend of
+	Linear_Expression: hence they can use the sizing constructors and
+	limit the use of short-lived temporaries.
 
-2008-10-25 Saturday 22:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-22  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* Watchdog/doc/Makefile.am (1.7): Do clean .tag files generated by
-	  Doxygen.
+	* src/Octagonal_Shape.templates.hh: Dealt with a FIXME related to
+	variable names.
 
-2008-10-25 Saturday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* doc/libppl.3 (1.2): Some progress toward completion of this man
-	  page.
+	* src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
+	src/Linear_Expression.inlines.hh, tests/Polyhedron/.gitignore,
+	tests/Polyhedron/Makefile.am, tests/Polyhedron/linearexpression1.cc:
+	FIXME resolved.  Fixed a bug in Linear_Expression(Variable v,
+	Variable w).  The bug would cause a wrong result to be computed when
+	v == w.
 
-2008-10-25 Saturday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-22  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/Makefile.am (1.94): The configuration dependent Prolog
-	  manuals should depend on (generated)
-	  Prolog_configured_interface.dox, rather than (fixed)
-	  Prolog_interface.dox.
+	* NEWS: Mention the bug fixed with Commit:
+	6a6734db48e2ca605dfc27ce5f1a923eb867ed25
 
-2008-10-25 Saturday 16:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.68): When Prolog is enabled, do
-	  make Prolog_configured_interface.dox.
-
-2008-10-25 Saturday 16:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.41): Typo corrected.
-
-2008-10-24 Friday 22:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/doc/Makefile.am (1.6), doc/Makefile.am (1.93): 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-24 Friday 16:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.179),
-	  ppl_prolog_sysindep_dox (1.7): Revised the grammar rules to bring
-	  them up-to-date to include rules for congruences and grid
-	  generators, also removed rules for intervals and boxes etc. which
-	  are now not wanted.
-
-2008-10-24 Friday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.178),
-	  ppl_prolog_sysindep_dox (1.6): Corrected the list of weakly
-	  relational domains available to the Prolog interface.
-
-2008-10-23 Thursday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/Makefile.am (1.14): Fixed copy-and-paste mistake.
-
-2008-10-23 Thursday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.27): Acknowledge the contribution of Hewlett Packard
-	  as provider of the test cluster hosted by ESIEE.
-
-2008-10-23 Thursday 16:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: devref-foreign-language-interface.tex (1.3), devref.tex
-	  (1.27), user-foreign-language-interface.tex (1.3), user.tex
-	  (1.28): Added acknowledgements to EPSRC - two projects, one for
-	  the grid domain and the current project.
-
-2008-10-23 Thursday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-foreign-language-interface.tex (bounded_arithmetic.1):
-	  file devref-foreign-language-interface.tex was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
-
-2008-10-23 Thursday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-foreign-language-interface.tex (bounded_arithmetic.1):
-	  file user-foreign-language-interface.tex was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
-
-2008-10-23 Thursday 15:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.273), doc/definitions.dox (1.224), src/Polyhedron.defs.hh
-	  (1.356): Improved the documentation for boxes, intervals and the
-	  bounded extrapolations.
-
-	  Replace the brief descriptions of the bounded extrapolations in
-	  Polyhedron.defs.hh by shorter descriptions that ju st refer to
-	  the relevant paragraphs in definitions.dox.
-
-	  Removed the out-of-date paragraph about the domains in section
-	  1.1 of the main user's manual.
-
-	  Removed a todo item.
-
-2008-10-23 Thursday 14:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* devtools/generate_dox_ci_prolog_manual (1.2): Paths changed so
-	  that it can be used from the interfaces/Prolog directory.
-
-2008-10-23 Thursday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* devtools/generate_dox_ci_prolog_manual (bounded_arithmetic.1):
-	  file generate_dox_ci_prolog_manual was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
-
-2008-10-23 Thursday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.92): When installing the OCaml user
-	  documentation, do also install the ocamldoc subdir and its
-	  contents.
-
-2008-10-23 Thursday 10:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.1 (1.2), demos/ppl_lpsol/ppl_lpsol.1
-	  (1.2), doc/ppl-config.1 (1.9): Updated.
-
-2008-10-23 Thursday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.404), demos/Makefile.am (1.13),
-	  demos/ppl_lcdd/Makefile.am (1.30), demos/ppl_lcdd/ppl_lcdd.1
-	  (1.1), demos/ppl_lcdd/ppl_lcdd_extra_man_text (1.1),
-	  demos/ppl_lpsol/Makefile.am (1.49), demos/ppl_lpsol/ppl_lpsol.1
-	  (1.1), demos/ppl_lpsol/ppl_lpsol_extra_man_text (1.1),
-	  devtools/generate_man_pages (1.2), doc/Makefile.am (1.91),
-	  doc/ppl_lcdd.1 (1.7), doc/ppl_lcdd_extra_man_text (1.4),
-	  doc/ppl_lpsol.1 (1.7), doc/ppl_lpsol_extra_man_text (1.4): The
-	  `ppl_lcdd' and `ppl_lpsol' programs have been made optional (but
-	  enabled by default) and subject to the `--enable-ppl_lcdd' and
-	  `--enable-ppl_lpsol' configure options, respectively.
-
-2008-10-23 Thursday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.87): Made sure the program con be
-	  compiled with -Wformat-security (and, for that matter, also
-	  -Wformat-nonliteral).
-
-2008-10-22 Wednesday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.32): Test further strengthened.
-
-2008-10-22 Wednesday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.31): Test strengthened to guard against
-	  what can easily happen on a bi-arch system.
-
-2008-10-22 Wednesday 10:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.69): Comment improved.
-
-2008-10-22 Wednesday 09:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.68): Revised one of the
-	  exception tests to allow for all possible exceptions that can
-	  occur, depending on the machine and configuration.
-
-2008-10-21 Tuesday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.30): Make sure the version of GMP as define
-	  by the GMP's header file matches the version reported by
-	  gmp_version().
-
-2008-10-21 Tuesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.85): GNU Prolog 1.3.1 needs
-	  a higher value for GLOBALSZ.
-
-2008-10-21 Tuesday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/gprolog_cfli.hh (1.11): Minimal changes to
-	  support GNU Prolog 1.3.1 (to be released soon).
-
-2008-10-21 Tuesday 12:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.67): Corrected special
-	  exception tests for Prolog systems (eg GNU Prolog) with bounded
-	  integers.
-
-2008-10-20 Monday 23:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.90): The configured Prolog manuals depend on
-	  generated file Prolog_configured_interface.dox.
-
-2008-10-20 Monday 22:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.66): Revised the timeout
-	  test to ensure it is more consistent in its behavior for all
-	  configurations and Prolog systems.
-
-2008-10-20 Monday 19:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.177),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.12): Small
-	  correction and improvement to formatting.
-
-2008-10-20 Monday 17:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.87): Disabled the pl_check,
-	  clpq and clpq2 tests as they can throw overflow exception errors
-	  for certain configurations - and Ciao does not recognise these as
-	  overflow errors.
-
-2008-10-20 Monday 17:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (1.19): Completed changes in last commit.
-
-2008-10-20 Monday 16:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (1.18): Revised code for the ..._if_exact predicates.
-
-2008-10-20 Monday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.cc (1.12): Added a missing
-	  default switch case.
-
-2008-10-20 Monday 14:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.65): Corrected and
-	  improved the testing of the exceptions thrown by the C++
-	  interface.
-
-2008-10-20 Monday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* devtools/.cvsignore (1.1): Put under CVS control.
-
-2008-10-20 Monday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* devtools/.cvsignore (bounded_arithmetic.1): file .cvsignore was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:24 +0000
-
-2008-10-20 Monday 08:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* devtools/generate_dox_ci_prolog_manual (1.1): Script to generate
-	  the Doxygen source for the configuration-independent Prolog
-	  interface manual.
-
-2008-10-19 Sunday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.403): Version number bumped.
-
-2008-10-19 Sunday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.272): Added a list of things to do for PPL 0.10.1.
-
-2008-10-19 Sunday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.271), interfaces/OCaml/README.ocaml (1.5): README.ocaml
-	  revised.
-
-2008-10-19 Sunday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.39): Added a couple of blank spaces.
-
-2008-10-19 Sunday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.38), TODO (1.270): README.configure is now
-	  complete.
-
-2008-10-19 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.402): Usage summary improved.
-
-2008-10-19 Sunday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.37): Written the section on "Configuring for
-	  Debugging".
-
-2008-10-19 Sunday 16:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.223): Some improvements in the
-	  specification of syntactic GDs:   1) the generic ones are those
-	  that are supported (maybe minimally) by      all semantic GDs;
-	  the specific ones are not supported at all by      some semantic
-	  GDs;	 2) listed subclasses of generic GDs (constraints and
-	  congruences):      explained that each semantic GD "optimally
-	  supports" some of these      subclasses; for optimally supported
-	  subclasses, no exception is thrown	  and a best approximation
-	  semantics is obtained; for the non-optimally	    supported ones,
-	  exceptions or coarse approximations may be obtained.	  3) noted
-	  that the best approximation property applies to single
-	  constraints	    or congruences, not to their systems.
-
-	  Other changes:   - not all OK methods support the optional
-	  Boolean argument;   - improved explanation of conversion
-	  operators with a computational     complexity argument.
-
-2008-10-19 Sunday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.36): Added a forward reference.
-
-2008-10-19 Sunday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.26): Express gratitude to ESIEE, Thibaut Varene, and
-	  the PA-RISC Linux community.
-
-2008-10-19 Sunday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.25): One link added.
-
-2008-10-19 Sunday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.24): Express gratitude to the GCC Compile Farm
-	  Project, FSF France, and Laurent Guerby.
-
-2008-10-19 Sunday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.401): The header files of GLPK cannot be trusted:
-	  do check for the presence of declarations.
-
-2008-10-19 Sunday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.86): Previous commit completed.
-
-2008-10-19 Sunday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.85): Fixed the guard controlling
-	  the definition of glpk_message_interceptor().
-
-2008-10-19 Sunday 14:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.84): Make sure GLP_OFF is defined
-	  before using it.
-
-2008-10-19 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/pwl_test.cc (1.3), tests/ppl_test.cc (1.19): 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>
-
-	* Watchdog/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-19 Sunday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.400): Enable the Java interface only if jlong can
-	  contain data pointers.
-
-2008-10-19 Sunday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/: ppl_java_common.cc (1.52),
-	  ppl_java_common.inlines.hh (1.4): Improved the conversions
-	  between pointers and jlongs.
-
-2008-10-19 Sunday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.inlines.hh
-	  (bounded_arithmetic.1): file ppl_java_common.inlines.hh was added
-	  on branch bounded_arithmetic on 2008-10-29 20:45:27 +0000
-
-2008-10-19 Sunday 09:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.91): The
-	  get_represent pattern updated for all the domains to include both
-	  constraints and congruences.
-
-2008-10-19 Sunday 08:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/marked_pointers.hh (1.2): Bitmask made portable.
-
-2008-10-18 Saturday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: Makefile.am (1.86), README.ciao (1.1):
-	  New file to explain which versions of Ciao Prolog are supported.
-
-2008-10-18 Saturday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/README.ciao (bounded_arithmetic.1): file
-	  README.ciao was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:32 +0000
-
-2008-10-18 Saturday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/README.interfaces (1.2): Obsolete file removed.
-
-2008-10-18 Saturday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.23): Use `"$(CXX)"' instead
-	  of `g++'.
-
-2008-10-18 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/pwl_test.hh (1.3), tests/ppl_test.hh (1.79):
-	  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>
-
-	* Watchdog/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>
-
-	* Watchdog/tests/Makefile.am (1.6): Must link with -lm for
-	  fetestexcept().
-
-2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (1.19): Previous commit had the
-	  defined(__EDG__) and !defined(__EDG__) cases reversed: fixed now.
-
-2008-10-18 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.399): Blank line added for readability.
-
-2008-10-18 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.54): Improved and reorganized.
-
-2008-10-18 Saturday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (1.18): Use a couple of different friend
-	  declarations when the compiler is EDG-based.
-
-2008-10-18 Saturday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.95): Removed another useless
-	  variable definition.
-
-2008-10-18 Saturday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.94): Several FIXMEs resolved
-	  and removed.
-
-2008-10-18 Saturday 17:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.93): Several useless variable
-	  definitions commented out.
-
-2008-10-18 Saturday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.59):
-	  Statement with no effect removed.
-
-2008-10-18 Saturday 13:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/OCaml/README.ocaml (1.4): Updated and improved.
-
-2008-10-18 Saturday 12:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.35): Added material to the section on
-	  "Configuring for Optimized Performance".
-
-2008-10-18 Saturday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.80): List
-	  xsb_prolog_generated_test.P in CLEANFILES.
-
-2008-10-18 Saturday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.22): Do not mention gmp.cma
-	  when (ocaml-)linking; rather, directly pass options -lmlgmp and
-	  -lmpfr to the underlying linker using -cclib.  This seems to
-	  solve an issue in some x86 systems (e.g., igor on tinderbox)
-	  whereby -dlopen was not working as expected, in that it links the
-	  installed ppl instead of the one in the build tree.
-
-2008-10-18 Saturday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.inlines.hh (1.39): Work around a bug in the Intel C/C++
-	  compiler version 10.1.x.
-
-2008-10-17 Friday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.34): Explained the use of the
-	  `--with-java=DIR' configure option.
-
-2008-10-17 Friday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.33): Explained the use of the
-	  `--enable-instantiations' configure option.
-
-2008-10-17 Friday 16:56  Abramo Bagnara
-
-	* src/checked.inlines.hh (1.47): Added comment for future
-	  improvement.
-
-2008-10-17 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.32): Started a rewrite of the section on
-	  "Configuring the Language Interfaces".  Added new sections on
-	  "Configuring for Optimized Performance" and "Configuring for
-	  Debugging".
-
-2008-10-17 Friday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.398), src/Makefile.am (1.189): If the C++
-	  interface is not enabled, do not install <ppl.hh>.
-
-2008-10-17 Friday 14:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.397): Configuring with the option
-	  `--enable-instantiations' (i.e., without specifying any
-	  instantiation) now prints a list of available instantiations.
-
-2008-10-17 Friday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/: expected_pchk_int16_a (1.9),
-	  expected_pchk_int8_a (1.9): As in previous commit - some
-	  overflows that were expected do not occur now.
-
-2008-10-17 Friday 11:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/: expected_pchk_int16 (1.9),
-	  expected_pchk_int32 (1.8), expected_pchk_int32_a (1.8),
-	  expected_pchk_int64_a (1.7), expected_pchk_int8 (1.9): Several
-	  overflows no longer occur.
-
-2008-10-16 Thursday 18:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.396): Reordered so that the system-dependent
-	  adjustments are done before the run-time tests.
-
-2008-10-16 Thursday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_fpu_control.m4 (1.15): Test strengthened to check
-	  whether fesetround() actually does something.
-
-2008-10-16 Thursday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-c99.inlines.hh (1.21): Little improvement to
-	  fpu_initialize_control_functions().
-
-2008-10-16 Thursday 12:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.10),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.11): Error in the
-	  configured dox file wrt the widening of weakly relational shapes
-	  fixed.
-
-2008-10-16 Thursday 08:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.64): Test for no timeout
-	  made simpler to try and ensure results are as predicted.  Added
-	  the Prolog system being tested in the error message.
-
-2008-10-16 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_double_exact_output.m4 (1.10),
-	  ac_cxx_float_exact_output.m4 (1.8),
-	  ac_cxx_long_double_exact_output.m4 (1.15): Typos fixed.
-
-2008-10-16 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_double_exact_output.m4 (bounded_arithmetic.1): file
-	  ac_cxx_double_exact_output.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:34 +0000
-
-2008-10-16 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float_exact_output.m4 (bounded_arithmetic.1): file
-	  ac_cxx_float_exact_output.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:34 +0000
-
-2008-10-16 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_exact_output.m4 (bounded_arithmetic.1):
-	  file ac_cxx_long_double_exact_output.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:34 +0000
-
-2008-10-15 Wednesday 22:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.9),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.10),
-	  ppl_prolog_sysdep_dox (1.3), ppl_prolog_sysindep_dox (1.5): As in
-	  previous commit message - but with updated files.
-
-2008-10-15 Wednesday 21:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.8),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.9),
-	  ppl_prolog_sysdep_dox (1.2), ppl_prolog_sysindep_dox (1.4): These
-	  files have been rewritten so as to generate
-	  Prolog_configured_interface.dox (with the command "make
-	  Prolog_configured_interface.dox" in the interfaces/Prolog
-	  directory) and the configured documentation for the Prolog
-	  interface.  With an appropriate script the same files will
-	  generate the Prolog_interface.dox and hence the fixed
-	  documentation for Prolog.
-
-2008-10-15 Wednesday 21:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.42): Predicate schema's reordered to maintain groups of
-	  predicates with similar semantics/behaviour.
-
-2008-10-15 Wednesday 21:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.63): Decrease the timeout
-	  expected for a timeout exception and increase the timeout when an
-	  exception is not predicted.  Unwanted comment removed.
-
-2008-10-15 Wednesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.arm (1.1), m4/ac_check_fpu_control.m4 (1.14): Adopted a
-	  compromise solution for the ARM: this allows to easily build
-	  binary distributions, yet allowing those building from sources to
-	  be in full control.
-
-2008-10-15 Wednesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.arm (bounded_arithmetic.1): file README.arm was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:19 +0000
-
-2008-10-15 Wednesday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-c99.inlines.hh (1.20): Fixed silly bug in
-	  fpu_initialize_control_functions().
-
-2008-10-15 Wednesday 18:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: definitions.dox (1.222), interfaces-latex.sed (1.4): The
-	  Section names in the ps and pdf files for extrenal references are
-	  in italics using <EM> and </EM> commands.
-
-	  In definitions.dox, the section name for extrapolation operators
-	  for the powerset now	named Powerset Extrapolation Operators
-
-2008-10-15 Wednesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/interfaces-latex.sed (bounded_arithmetic.1): file
-	  interfaces-latex.sed was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:24 +0000
-
-2008-10-15 Wednesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-c99.inlines.hh (1.19): At initialization time, check
-	  whether fesetround() works as expected: if not, throw an
-	  std::logic_error exception.
-
-2008-10-15 Wednesday 18:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.176): Small
-	  improvements.
-
-2008-10-15 Wednesday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_fpu_control.m4 (1.13): Link with -lm.
-
-2008-10-15 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_fpu_control.m4 (1.12): Test strengthened to check the
-	  return value of fesetround().
-
-2008-10-15 Wednesday 13:16  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (1.70): Repaired build reverting
-	  temporarily correctness fix.
-
-2008-10-15 Wednesday 11:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.62): Fixme removed and
-	  commented code uncommented.
-
-2008-10-15 Wednesday 10:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.269): Item removed.
-
-2008-10-15 Wednesday 10:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/: Makefile.am (1.85),
-	  ppl_interface_generator_ciao_prolog_generated_test_pl.m4 (1.2):
-	  Revised to enable the generated tests.
-
-2008-10-15 Wednesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_ciao_prolog_generated_test_pl.m4 was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:32 +0000
-
-2008-10-15 Wednesday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-22  Enea Zaffanella <zaffanella at cs.unipr.it>
 
 	*
-	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_prolog_generated_test_pl.m4 was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
-
-2008-10-15 Wednesday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_prolog_generated_test_pl_code.m4 was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
-
-2008-10-15 Wednesday 10:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
+	, interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
+	interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m
+	4, interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4:
+	Corrected a bug in the interfacing of drop_disjunct for Java, Ocaml
+	and Prolog.  Also corrected a wrong test in the automatically
+	generated test suite for the OCaml interface: we were trying to
+	decrement an iterator pointing to the start of the sequence of
+	disjuncts.
 
-	* interfaces/Prolog/tests/: pl_check.pl (1.61),
-	  ppl_interface_generator_prolog_generated_test_pl.m4 (1.2),
-	  ppl_interface_generator_prolog_generated_test_pl_code.m4 (1.9):
-	  The code for testing the timeout predicates revised; it avoids
-	  use of the deprecated predicates and is more robust with respect
-	  to changes in computation times.
+2009-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	  The generated test code also much improved and several bugs
-	  fixed.
+	* src/Pointset_Ask_Tell.templates.hh: Reworded misleading comment.
 
-2008-10-14 Tuesday 23:47  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* README.configure (1.31): Old stuff removed.
+	* tests/Polyhedron/linearexpression1.cc,
+	tests/Polyhedron/linexpression1.cc: Test program renamed.
 
-2008-10-14 Tuesday 23:44  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* TODO (1.268): One item postponed.
+	* tests/Polyhedron/linexpression1.cc: Rewritted test01().  Added
+	test02().
 
-2008-10-14 Tuesday 15:25  Abramo Bagnara
+2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/checked_int.inlines.hh (1.69): Comparison are now done taking
-	  for granted C99 conformance.
+	* .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.
 
-2008-10-14 Tuesday 15:24  Abramo Bagnara
+2009-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/checked.inlines.hh (1.46): Added missing assertions.
+	* src/pretty_print.hh, src/pretty_print.inlines.hh: Destructor of
+	abstract class Write_Function has to be virtual.
 
-2008-10-14 Tuesday 15:20  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/OCaml/: Makefile.am (1.59), tests/Makefile.am (1.21):
-	  Remove useless -I option from ocamlc commands.
+	* 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/jni/ppl_java_globals.cc,
+	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/Generator.java,
+	interfaces/Java/parma_polyhedra_library/Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator.java,
+	interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java,
+	interfaces/Java/parma_polyhedra_library/Linear_Expression.java,
+	interfaces/Java/parma_polyhedra_library/MIP_Problem.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/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/OCaml/ppl_ocaml_common.cc,
+	interfaces/OCaml/ppl_ocaml_globals.ml,
+	interfaces/OCaml/ppl_ocaml_globals.mli,
+	interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4,
+	interfaces/Prolog/ppl_interface_generator_prolog_procedure_generato
+	rs.m4, interfaces/Prolog/ppl_prolog_common.cc,
+	interfaces/Prolog/ppl_prolog_common.defs.hh,
+	interfaces/ppl_interface_generator_common_procedure_generators.m4:
+	Added the new pretty print functionality to Java, OCaml and Prolog
+	interfaces.  The predicate takes 3 arguments for specifying
+	preferred wrapping behavior.  For Prolog, new predicate is called
+	ppl_CLASS_pretty_print_to_atom/5 and put the result in the last
+	argument as an atom.  For Java, method takes a Writer as the first
+	argument.  For Caml, function ppl_CLASS_pretty_print returns a caml
+	string.  While at it, also added missing ascii_dump method to Caml and Java
+	interfaces, as well as for the MIP_Problem Prolog interface.
 
-2008-10-14 Tuesday 11:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/OCaml/tests/Makefile.am (1.20): Let the executable
-	  tests also depend on ppl_ocaml.cma.
+	* src/pretty_print.cc, src/pretty_print.hh: Added a new helper
+	function for the wrapping of lines.
 
-2008-10-14 Tuesday 11:33  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/OCaml/Makefile.am (1.58): Let ppl_ocaml.cma also
-	  depend on libppl_ocaml.a
+	* NEWS: Typo fixed.
+
+2009-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* NEWS, interfaces/C/C_interface.dox, interfaces/C/ppl_c_header.h,
+	interfaces/C/ppl_c_implementation_common.cc,
+	interfaces/C/ppl_c_implementation_common.defs.hh: The C interface
+	now provides functions of the form   int ppl_io_asprint_Polyhedron(char** strp, P x) where `P' is any opaque pointer to a const PPL object. These
+	functions print `x' to a malloc-allocated string, a pointer to which
+	is returned via `strp'.
+
+2009-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* TODO: Selected the items that should be done for 0.10.1: postponed
+	the others.
+
+2009-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* src/Determinate.inlines.hh: Two non-urgent FIXMEs better
+	documented.
+
+2009-03-21  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/Makefile.am, src/c_streambuf.cc, src/c_streambuf.defs.hh,
+	src/c_streambuf.inlines.hh, src/c_streambuf.types.hh: Added callback
+	based streambufs.
+
+2009-03-21  Abramo Bagnara <abramo.bagnara at gmail.com>
+
+	* src/stdiobuf.cc: Fixed typo.
+
+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  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/Makefile.am: Added files pretty_print.*.
+
+2009-03-21  Enea Zaffanella <zaffanella at cs.unipr.it>
+
+	* src/pretty_print.cc, src/pretty_print.hh,
+	src/pretty_print.inlines.hh: pretty_print.* contain helper datatypes
+	and functions for pretty printing.  Template functions pretty_print
+	and c_pretty_print provide wrapped output using a Write_Function
+	object to write to destination.
+
+2009-03-21  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* configure.ac: Version number bumped.
+
+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>
+
+	* .gitignore: Pattern `*~' added.  Patterns sorted.
+
+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-03-20  Roberto Bagnara <bagnara at cs.unipr.it>
+
+	* m4/ac_check_fpu_control.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_long_double_binary_format.m4,
+	m4/ac_cxx_long_double_exact_output.m4: AC_RUN_IFELSE invocations now
+	have a safe action for cross-compiling.
 
-2008-10-13 Monday 18:57  Abramo Bagnara
+2009-02-22  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* src/checked_float.inlines.hh (1.97): Added const.
+	* .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.
 
-2008-10-13 Monday 16:59  Abramo Bagnara
+2009-02-21  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* src/: checked_float.inlines.hh (1.96), compiler.hh (1.16):
-	  Optimized and fixed correctness.
+	* interfaces/C/.cvsignore, interfaces/Java/jni/.cvsignore,
+	interfaces/OCaml/.cvsignore, interfaces/OCaml/tests/.cvsignore,
+	interfaces/Prolog/.cvsignore, interfaces/Prolog/SWI/.cvsignore,
+	interfaces/Prolog/tests/.cvsignore, tests/Grid/.cvsignore,
+	tests/Partially_Reduced_Product/.cvsignore,
+	tests/Polyhedron/.cvsignore, tests/Powerset/.cvsignore: Added
+	missing files.
 
-2008-10-13 Monday 15:23  Abramo Bagnara
+2009-02-21  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* src/checked_float.inlines.hh (1.95): Fixed conversion.
+	* .cvsignore, doc/.cvsignore, interfaces/C/.cvsignore,
+	interfaces/Java/jni/.cvsignore,
+	interfaces/Java/parma_polyhedra_library/.cvsignore,
+	interfaces/OCaml/.cvsignore, interfaces/Prolog/.cvsignore,
+	interfaces/Prolog/tests/.cvsignore: Added other patterns.
 
-2008-10-13 Monday 15:14  Abramo Bagnara
+2009-02-21  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* src/checked_float.inlines.hh (1.94): Reverted previous change.
+	* .cvsignore: Added common ignored patterns.
 
-2008-10-13 Monday 15:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-21  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* interfaces/Prolog/Prolog_interface.dox (1.175): All external
-	  references are emphasized using italics.
+	* .cvsignore, interfaces/Prolog/.cvsignore: Commented out dangerous
+	entries.
 
-2008-10-13 Monday 14:39  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-18  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Polyhedron/randphull1.cc (1.16): Temporary workaround for
-	  those machines (such as the ARM, possibly others) where we cannot
-	  control the FPU.
+	* fedora/ppl-0.10-configure.patch, fedora/ppl.spec: Install the
+	documentation according to the Fedora packaging conventions.
 
-2008-10-13 Monday 14:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-18  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (1.12): Adjusted the euclidean
-	  distance for test01.
+	* fedora/ppl-0.10-bigendian.patch: Put under CVS control.
 
-2008-10-13 Monday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-18  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (bounded_arithmetic.1): file
-	  propagateconstraints2.cc was added on branch bounded_arithmetic
-	  on 2008-10-29 20:45:38 +0000
+	* fedora/ppl.spec: Implemented a better workaround for the bug
+	affecting PPL 0.10 on big-endian architectures.  There are no GNU Prolog packages available on s390 and s390: disable
+	the GNU Prolog interface also on those platforms (besides ppc64).
 
-2008-10-13 Monday 13:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Prolog/Prolog_interface.dox (1.174): Removed unwanted
-	  </EM> in the widening of powersets documentation.
+	* src/Makefile.am: Avoid using GNU Make extensions.
 
-2008-10-13 Monday 12:45  Abramo Bagnara
+2009-02-17  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/checked_float.inlines.hh (1.93): Added missing optimization.
+	* src/MIP_Problem.cc: Two FIXMEs resolved.
 
-2008-10-13 Monday 11:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-16  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (1.11): Restore tests with
-	  distances in the check_result() reset.
+	* tests/MIP_Problem/Makefile.am, tests/Polyhedron/Makefile.am,
+	tests/ppl_test.hh: Include "ppl_header.hh" instead of "ppl.hh": this
+	greatly facilitates debugging of test programs.
 
-2008-10-13 Monday 11:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (1.10): Disable tests while
-	  problems causing failures are investigated.
+	* src/Makefile.am: In ppl_include_files.hh only list the include
+	files that are not included by any other include file.
 
-2008-10-13 Monday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (1.9): check_result for all
-	  tests does not need parameters.
+	* src/Ask_Tell.defs.hh, src/DB_Row.templates.hh,
+	src/GMP_Integer.inlines.hh, src/Interval_Restriction.defs.hh,
+	src/Partially_Reduced_Product.defs.hh,
+	src/Partially_Reduced_Product.inlines.hh, src/Powerset.defs.hh,
+	src/Powerset.templates.hh, src/checked_float.inlines.hh,
+	src/iterator_to_const.defs.hh: Added missing inclusions.
 
-2008-10-13 Monday 08:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (1.8): Tests 02 and 03 succeed
-	  for all integer types.
+	* src/fpu-ia32.inlines.hh, src/fpu.defs.hh: Include "compiler.hh" in
+	fpu.defs.hh, not in fpu-ia32.inlines.hh.  As a general rule, do not
+	include general-purpose include files in files that are only
+	conditionally included.
 
-2008-10-13 Monday 08:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (1.7): Restore test01 to
-	  testing the outcome of the test.  Added two further simple
-	  versions of this test; test02 showed the same bug indicated by
-	  test01 while with the reversed bounds the symmetrically
-	  equivalent test03 did not fail.
+	* configure.ac: Added missing control operator.
 
-2008-10-13 Monday 08:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* src/Box.templates.hh (1.132): Fixed a bug in
-	  propagate_constraint_no_check().
+	* src/compiler.hh: Indentation fixed.
 
-2008-10-12 Sunday 20:48  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* m4/ac_check_fpu_control.m4 (1.11): Do this test using the C
-	  language (the file installed in
-	  $prefix/include/c++/VERSION/fenv.h by recent versions of GCC
-	  causes problems).
+	* src/Partially_Reduced_Product.defs.hh: Include
+	"Partially_Reduced_Product.templates.hh".
 
-2008-10-12 Sunday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* configure.ac (1.395): The Ciao Prolog interface is not enabled by
-	  default.
+	* configure.ac, demos/ppl_lcdd/Makefile.am,
+	demos/ppl_lpsol/Makefile.am: Check for the availability of `fgrep'
+	or its Posix replacement `grep -F'.  Always use $(FGREP) or $(EGREP)
+	in makefiles.
 
-2008-10-12 Sunday 10:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-02-15  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Prolog/Prolog_interface.dox (1.173): All \extref in
-	  the format \extref{<Ref>, <Name of section>}.
+	* src/checked.inlines.hh, src/checked_ext.inlines.hh,
+	src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
+	src/fpu-none.inlines.hh, src/fpu-sparc.inlines.hh: Added guards
+	against multiple inclusion.
 
-2008-10-11 Saturday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-04  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* Watchdog/configure.ac (1.53): The PWL is now enabled by default
-	  also on Cygwin.
+	* src/Float.defs.hh: Work around the bug affecting the library on
+	big-endian architectures.
 
-2008-10-11 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-03  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* m4/ac_check_fpu_control.m4 (1.10): Fixed a copy-and-paste
-	  mistake.
+	* fedora/ppl.spec: Work around the bug affecting PPL 0.10 on
+	big-endian architectures.
 
-2008-10-11 Saturday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-02  Patricia M. Hill <hill at comp.leeds.ac.uk>
 
-	* devtools/generate_dox_biblio.sed (1.3): Changed so as to generate
-	  anchors based on the BibTeX keys, not on the labels obtained with
-	  bibtex2html (which depend on the bibliography style).
+	* src/Grid_public.cc, tests/Grid/simplifyusingcontext1.cc: Improved
+	the code for handling 0-dim empty polyhedra for
+	Grid::simplify_using_context_assign().  Added a further test for the
+	0-dim polyhedra.
 
-2008-10-11 Saturday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* devtools/generate_dox_biblio.sed (bounded_arithmetic.1): file
-	  generate_dox_biblio.sed was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:24 +0000
+	* src/Polyhedron_public.cc: Corrected a bug in methods
+	add(_recycled)_generator(s) and simplify_using_context_assign
+	whereby an assertion could have failed under very specific
+	conditions (zero-dim empty polyhedron with a computed inconsistent
+	constraint system becoming a zero-dim universe polyhedron).
 
-2008-10-11 Saturday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-02  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* src/: checked.inlines.hh (1.45), checked_float.inlines.hh (1.92):
-	  Long source lines avoided.
+	* tests/Polyhedron/addgenerator1.cc,
+	tests/Polyhedron/addgenerators1.cc: New tests show an assertion
+	failure when adding the vector space origin to an empty zero-dim
+	space polyhedron, thereby turning it into a zero-dim universe
+	polyhedron. The assertion only fails if the inconsistent constraint
+	system of the empty polyhedron was previously generated.
 
-2008-10-11 Saturday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-02  Patricia M. Hill <hill at comp.leeds.ac.uk>
 
-	* src/fpu-none.inlines.hh (1.10): Fixed one bug and a few warnings.
+	* tests/Polyhedron/simplifyusingcontext1.cc: Added three further
+	tests to cover all 0-dim cases.  Reordered tests so that all the
+	0-dim tests are consecutive (11-15).
 
-2008-10-11 Saturday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-02  Patricia M. Hill <hill at comp.leeds.ac.uk>
 
-	* src/Rounding_Dir.inlines.hh (1.9): Do not define round_fpu_dir()
-	  if !PPL_CAN_CONTROL_FPU.
+	* tests/Polyhedron/simplifyusingcontext1.cc: Added test that has an
+	assertion failure for 0-dim empty polyhedra.
 
-2008-10-11 Saturday 20:49  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-01  Patricia M. Hill <hill at comp.leeds.ac.uk>
 
-	* src/fpu.defs.hh (1.21): Use PPL_CAN_CONTROL_FPU to simplify the
-	  logic here.
+	* tests/Grid/Makefile.am, tests/Grid/simplifyusingcontext1.cc: Tests
+	for simplify_using_context_assign() for Grids.
 
-2008-10-11 Saturday 20:47  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-02-01  Patricia M. Hill <hill at comp.leeds.ac.uk>
 
-	* m4/: ac_cxx_double_binary_format.m4 (1.17),
-	  ac_cxx_float_binary_format.m4 (1.14),
-	  ac_cxx_long_double_binary_format.m4 (1.21): If we cannot control
-	  the FPU, all floating point types are unsupported.
+	* src/Grid_public.cc: Added code for simplify_using_context_assign()
+	for Grids.  Some other bugs in the comments fixed.
 
-2008-10-11 Saturday 18:51  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-01-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/Makefile.am (1.89): Corrected a couple of file paths for
-	  configured-ocaml LaTeX manuals.
+	* interfaces/OCaml/Makefile.am: The parallel build problem should
+	now be solved.
 
-2008-10-11 Saturday 18:40  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-01-28  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/definitions.dox (1.221): Corrected a few bibliographic
-	  references.
+	* tests/Box/Makefile.am, tests/Box/simplifyusingcontext1.cc: Added
+	test file for method Box::simplify_using_cntext_assign().  Tests
+	test01() and test02() marked as failing, since they depend on method
+	Interval::empty_intersection_assign(), currently provided with a
+	dummy implementation.
 
-2008-10-11 Saturday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-28  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* m4/ac_check_fpu_control.m4 (1.9): Cater for systems that have
-	  <fenv.h> or <ieeefp.h> but fail to define FE_UPWARD or
-	  FE_DOWNWARD.
+	* src/Box.templates.hh: Drafted an implementation for
+	Box::simplify_using_context_assign().
 
-2008-10-11 Saturday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-28  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/definitions.dox (1.220): Bibliography updated.
+	* src/Interval.templates.hh: Added dummy implementation for method
+	empty_intersection_assign(); corrected partial implementation of
+	method simplify_using_context_assign().
 
-2008-10-11 Saturday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-28  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* devtools/generate_dox_biblio.sed (1.2): Fixed.
+	* src/Interval.defs.hh: Added specification for new Interval method   template <typename From>   typename Enable_If<Is_Interval<From>::value, void>::type   empty_intersection_assign(const From& y); to be used in the
+	implementation of Box::simplify_using_context_assign.
 
-2008-10-11 Saturday 13:48  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* devtools/generate_dox_biblio (1.1),
-	  devtools/generate_dox_biblio.sed (1.1), doc/bib2dox (1.4),
-	  doc/bib2html1.sed (1.2), doc/bib2html2.sed (1.4): New version of
-	  the tool to generate the Doxygen version of a bibliography in
-	  BibTeX format.  (New version of the sed script written by Abramo
-	  Bagnara).
+	* configure.ac: Partially work around a bug of AX_PREFIX_CONFIG_H
+	whereby WORDS_BIGENDIAN is not prefixed.  Version number bumped.
 
-2008-10-11 Saturday 13:48  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-27  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* devtools/generate_dox_biblio (bounded_arithmetic.1): file
-	  generate_dox_biblio was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:24 +0000
+	* src/Interval.templates.hh: Drafted a partial implementation for
+	simplify_using_context_assign(); it assumes that the interval is
+	toplogically closed and with no restrictions.
 
-2008-10-11 Saturday 11:26  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-01-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* doc/Makefile.am (1.88): Prefer $(srcdir) to @srcdir at .
+	* TODO: Added one urgent item.
 
-2008-10-11 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* configure.repo (1.29), Watchdog/configure.repo (1.5): The
-	  configure.repo files do not solve the problem they were meant to
-	  solve.
+	* tests/Polyhedron/simplifyusingcontext1.cc: Test 01 overflows when
+	using 8bit coefficients and assertions are turned on.
 
-2008-10-11 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* Watchdog/tests/Makefile.am (1.5): Avoid using $(builddir).
+	* src/C_Polyhedron.cc, src/NNC_Polyhedron.cc: Switch to new
+	implementation of poly_hull_assign_if_exact(), based on the results
+	stated in BagnaraHZ09.
 
-2008-10-11 Saturday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* doc/: ppl-config.1 (1.8), ppl_lcdd.1 (1.6), ppl_lpsol.1 (1.6):
-	  Regenerated.
+	* configure.ac: Version number bumped.
 
-2008-10-11 Saturday 10:07  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* doc/Makefile.am (1.87): Avoid annoying changes of directories
-	  when building the OCaml docs.
+	* demos/ppl_lpsol/ppl_lpsol.c: Support more versions of GLPK.
 
-2008-10-11 Saturday 09:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-01-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (1.6): Previous change done to
-	  identify bug, reverted.
+	* configure.ac: Fixed copy-and-paste mistake.
 
-2008-10-11 Saturday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* configure.ac (1.394), configure.repo (1.28): The PWL is now
-	  enabled by default also on Cygwin.
+	* tests/Polyhedron/polyhullifexact2.cc: Added tests corresponding to
+	examples in BHZ09.
 
-2008-10-10 Friday 22:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-01-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* tests/Box/propagateconstraints2.cc (1.5): Restore a proper test
-	  result.
+	* tests/Polyhedron/polyhullifexact1.cc: Added a new test.
 
-2008-10-10 Friday 22:25  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/prog2man (1.2): This functionality is now provided by
-	  `generate_man_pages' in the `devtools' directory.
+	* src/Polyhedron_nonpublic.cc: Added implementation of the BHZ09
+	exact upper bound test for NNC polyhedra; Factored out those parts
+	that are common to the C polyhedron case.
 
-2008-10-10 Friday 22:22  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-26  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* devtools/generate_man_pages (1.1): Small script to generate the
-	  manpages in the `doc' directory.
+	* src/Polyhedron.defs.hh: Added declarations for two non-public
+	methods (one for the C and another for the NNC case) implementing
+	exact upper bound tests using BHZ09.
 
-2008-10-10 Friday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* devtools/bump_copyright_years (1.1): A small script to update the
-	  copyright years.
+	* NEWS: Wording improved.
 
-2008-10-10 Friday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* devtools/bump_copyright_years (bounded_arithmetic.1): file
-	  bump_copyright_years was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:24 +0000
+	* NEWS, README.configure, configure.ac, 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/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, m4/m4.m4: The configuration
+	script now explicitly checks that a recent enough version of GNU M4
+	is available if at least one non-C++ interface is enabled (in
+	previous versions this check was not performed and building the
+	library could fail in a mysterious way).  That version is then used
+	in all makefiles.  (Thanks to Tobias Grosser.) Improved configure.ac
+	in various places.
 
-2008-10-10 Friday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* devtools/: cvs2cl.pl (1.1), update_ChangeLog (1.1): Machinery to
-	  automatically update the ChangeLog files.
+	* NEWS, README.configure, configure.ac,
+	interfaces/OCaml/Makefile.am, interfaces/OCaml/tests/Makefile.am:
+	New configuration option `--with-mlgmp=DIR' allows to specify the
+	installation directory of the ML GMP package.
 
-2008-10-10 Friday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* devtools/cvs2cl.pl (bounded_arithmetic.1): file cvs2cl.pl was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:24 +0000
+	* demos/ppl_lpsol/ppl_lpsol.c: Added missing const qualifier.
 
-2008-10-10 Friday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-21  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* devtools/update_ChangeLog (bounded_arithmetic.1): file
-	  update_ChangeLog was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:24 +0000
+	* interfaces/OCaml/Makefile.am: Corrected so as to behave correctly
+	when using parallel builds: the build of <file>.cmx also generates
+	<file>.o, which is a dependency for the generation of *.a.
 
-2008-10-10 Friday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-20  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog (1.31), Watchdog/ChangeLog (1.20): Updated.
+	* demos/ppl_lpsol/ppl_lpsol.c: Fixed glpk_message_interceptor()
+	(thanks to Kenneth MacKenzie).
 
-2008-10-10 Friday 21:28  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-01-20  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* doc/Makefile.am (1.86): Modified to match recent changes in the
-	  OCaml interface files.
+	* tests/Octagonal_Shape/upperboundifexact1.cc: Added test on (higher
+	dimensional) hypercubes.
 
-2008-10-10 Friday 21:25  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-01-20  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/OCaml/: Makefile.am (1.57),
-	  ppl_interface_generator_ocaml_ml.m4 (1.19),
-	  ppl_interface_generator_ocaml_mli.m4 (1.23), ppl_ocaml_globals.ml
-	  (1.14), ppl_ocaml_globals.mli (1.1), ppl_ocaml_types.ml (1.16):
-	  The file ppl_ocaml_types.ml is now merged to
-	  ppl_ocaml_globals.ml.  Added the corresponding .mli file (instead
-	  of generating it using m4; m4 now includes it).
+	* src/Octagonal_Shape.templates.hh: The code fo rthe detection of
+	non-redundant octagonal constraints factored out of the strong
+	  reduction assign method into the new private method
+	non_redundant_matrix_entries(), so that it can be reused in other
+	contexts. In particular, now we also use it in the implementation of
+	upper_bound_assign_if_exact().
 
-2008-10-10 Friday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-20  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/OCaml/ppl_ocaml_globals.mli (bounded_arithmetic.1):
-	  file ppl_ocaml_globals.mli was added on branch bounded_arithmetic
-	  on 2008-10-29 20:45:30 +0000
+	* src/Octagonal_Shape.defs.hh: Declared a new (private) method that
+	is meant to identify the non-redundant octagonal constraints without
+	actually computing a strongly reduced matrix.
 
-2008-10-10 Friday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-20  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* Makefile.am (1.49), configure.ac (1.393), configure.repo (1.27),
-	  debian/Makefile.am (1.6), fedora/Makefile.am (1.4): The `fedora'
-	  and `debian' directories are no longer distributed.
+	* tests/BD_Shape/upperboundifexact1.cc: Added a test on hypercubes.
 
-2008-10-10 Friday 21:06  Enea Zaffanella <zaffanella at cs.unipr.it>
+2009-01-20  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* interfaces/OCaml/OCaml_interface.dox (1.6): The link for OCaml
-	  generated documentation is now set to the index page.
+	* src/BD_Shape.templates.hh: Method
+	BHZ09_upper_bound_assign_if_exact() improved by exploiting shortest
+	path reduction so as to avoid checks on redundant constraints.
 
-2008-10-10 Friday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-01-19  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* configure.ac (1.392), configure.repo (1.26): Version number
-	  bumped.
+	* tests/BD_Shape/upperboundifexact1.cc: Added another test.
 
-2008-10-10 Friday 15:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-01-18  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* interfaces/Prolog/Prolog_interface.dox (1.172): Typo fixed.
+	* TODO: Added one important item for next release.
 
-2008-10-10 Friday 11:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.171): Typos fixed.	The
-	  introduction to the manual revised.  Structure/contents list for
-	  the main section improved and moved to earlier in the document.
-	  Links are now there to all the sections and subsections.  Issues
-	  relating to compilation and installation have been moved, where
-	  necessary, to that section.  Note about the stack size for GNU
-	  Prolog added.
-
-2008-10-09 Thursday 21:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.391), configure.repo (1.25): n Fedora 9 systems,
-	  the default path to (OpenJDK) java is /usr/lib/jvm/java.
-
-2008-10-09 Thursday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_prolog_generated_test.pl (1.4):
-	  Previous change reverted: library(lists) may not be installed.
-
-2008-10-09 Thursday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_prolog_generated_test.pl
-	  (bounded_arithmetic.1): file swi_prolog_generated_test.pl was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
-
-2008-10-09 Thursday 19:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.19): Optionally run the
-	  tests under Valgrind.
-
-2008-10-09 Thursday 15:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/namespaces.hh (1.16): Foreign language interface namespaces
-	  do not belong to the C++ interface group.
-
-2008-10-09 Thursday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: C/ppl_c_header.h (1.8),
-	  Java/parma_polyhedra_library/Parma_Polyhedra_Library.java (1.4),
-	  OCaml/OCaml_interface.dox (1.5), Prolog/Prolog_interface.dox
-	  (1.170): Added missing \defgroup Doxygen command for the foreign
-	  language interfaces.
-
-2008-10-09 Thursday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
-	  (bounded_arithmetic.1): file Parma_Polyhedra_Library.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
+2009-01-18  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-09 Thursday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
+	* tests/Octagonal_Shape/upperboundifexact1.cc: Tests 1, 3, 4, 9 and
+	10 now succeeds.
 
-	* interfaces/C/ppl_c_header.h (bounded_arithmetic.1): file
-	  ppl_c_header.h was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:26 +0000
+2009-01-18  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-09 Thursday 14:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh: Drafted an implementation of
+	Octagonal_Shape::upper_bound_assign_if_exact() based on the
+	corresponding theorem in BagnaraHZ09.
 
-	* interfaces/Prolog/SWI/swi_prolog_generated_test.pl (1.3): Include
-	  the directive :-  use_module(library(lists), [member/2,
-	  append/2]).
+2009-01-16  Patricia M. Hill <hill at comp.leeds.ac.uk>
 
-2008-10-09 Thursday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* tests/Octagonal_Shape/upperboundifexact1.cc: test10() revised.
 
-	* src/Octagonal_Shape.defs.hh (1.59): Class Octagonal_Shape is in
-	  the C++ interface documentation group.
+2009-01-16  Patricia M. Hill <hill at comp.leeds.ac.uk>
 
-2008-10-09 Thursday 14:32  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* tests/Octagonal_Shape/Makefile.am,
+	tests/Octagonal_Shape/upperboundifexact1.cc: Added a test file for
+	the upper_bound_if_exact() method - copied (with obvious edits) from the BD_Shape test directory.  As the current implementation just returns false, tests that would
+	be expected to succeed have the "_F" tag.  An additional test10 is an example showing that more conditions are
+	needed for octagonal shapes compared to the bd shapes.
 
-	* interfaces/OCaml/: Makefile.am (1.56), tests/Makefile.am (1.18):
-	  When compiling using ocamlc, set the stack limit to 1 MB.
+2009-01-13  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-09 Thursday 14:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* tests/BD_Shape/upperboundifexact1.cc: Test test09 no longer fails.
 
-	* interfaces/Prolog/GNU/Makefile.am (1.84): Test
-	  ppl_prolog_generated_test added to check-local.
+2009-01-13  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-09 Thursday 11:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* src/BD_Shape.templates.hh: Corrected implementation of
+	BHZ09_upper_bound_assign_if_exact().
 
-	* interfaces/Prolog/GNU/Makefile.am (1.83): Include
-	  ppl_prolog_generated_test in check-local
+2009-01-12  Patricia M. Hill <hill at comp.leeds.ac.uk>
 
-2008-10-09 Thursday 08:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
+	* tests/BD_Shape/upperboundifexact1.cc: Added a test showing a bug
+	in the new algorithm.
 
-	* interfaces/Prolog/YAP/Makefile.am (1.70): Include
-	  ppl_prolog_generated_test in check-local.
-
-2008-10-09 Thursday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/Makefile.am (1.34): Keep the expected
-	  files together in EXTRA_DIST.
-
-2008-10-09 Thursday 08:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/Makefile.am (1.33): Distribute
-	  expected_pgt
-
-2008-10-09 Thursday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (1.8): add_disjuncts test corrected.
-
-2008-10-08 Wednesday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: SWI/Makefile.am (1.102), XSB/Makefile.am
-	  (1.79):  ppl_prolog_generated_test now included in check-local
-
-2008-10-08 Wednesday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_check_ciao.m4 (1.4), ac_check_fpu_control.m4 (1.8),
-	  ac_check_gmp.m4 (1.29), ac_check_swi_prolog.m4 (1.17),
-	  ac_cxx_double_binary_format.m4 (1.16),
-	  ac_cxx_double_exact_output.m4 (1.9), ac_cxx_flexible_arrays.m4
-	  (1.16), ac_cxx_float_binary_format.m4 (1.13),
-	  ac_cxx_float_exact_output.m4 (1.7), ac_cxx_ieee_inexact_flag.m4
-	  (1.5), ac_cxx_limit_memory.m4 (1.2),
-	  ac_cxx_long_double_binary_format.m4 (1.20),
-	  ac_cxx_long_double_exact_output.m4 (1.14),
-	  ac_cxx_proper_long_double.m4 (1.5), ac_cxx_remainder_bug.m4
-	  (1.6), ppl.m4 (1.11), ppl_c.m4 (1.4): Contrary to what was
-	  recommended in
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-September/012736.html,
-	  returning from main is non-portable only to the most ancient C
-	  compilers.  On the other hand, finding a suitable declaration for
-	  exit() is more problematic.  (Thanks to Ralf Wildenhues for
-	  pointing out that.)
-
-2008-10-08 Wednesday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_ieee_inexact_flag.m4 (bounded_arithmetic.1): file
-	  ac_cxx_ieee_inexact_flag.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:34 +0000
-
-2008-10-08 Wednesday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_limit_memory.m4 (bounded_arithmetic.1): file
-	  ac_cxx_limit_memory.m4 was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:34 +0000
-
-2008-10-08 Wednesday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.100):
-	  ppl_prolog_generated_test now included in check-local
-
-2008-10-08 Wednesday 21:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/jni/: ppl_java_common.cc (1.51),
-	  ppl_java_common.defs.hh (1.6), ppl_java_common.inlines.hh (1.3),
-	  ppl_java_globals.cc (1.25): Added missing / fixed existing
-	  documentation; also renamed a few functions.
-
-2008-10-08 Wednesday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.defs.hh
-	  (bounded_arithmetic.1): file ppl_java_common.defs.hh was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:27 +0000
-
-2008-10-08 Wednesday 19:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.93), devref.doxyconf-latex.in
-	  (1.32): Added files Variables_Set.* to the list of input files
-	  for devref manuals.
-
-2008-10-08 Wednesday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.101): In a long command,
-	  make sure no backslash is followed by something that could expand
-	  to the null string.
-
-2008-10-08 Wednesday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_types.ml (1.15): Comment improved.
-
-2008-10-08 Wednesday 16:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.169): A number of small
-	  improvements and typos fixed.
-
-2008-10-08 Wednesday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_mli.m4 (1.22),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.19):
-	  Include the type declarations from ppl_ocaml_types.ml in the
-	  generated ppl_ocaml.mli.
-
-	  Fixed a bug in the generated tests file.
-
-2008-10-08 Wednesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.100): Conditionally run
-	  tests under Valgrind.
-
-2008-10-07 Tuesday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.390), configure.repo (1.24): Version number
-	  bumped.
-
-2008-10-07 Tuesday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (1.17): Two FIXMEs added.
-
-2008-10-07 Tuesday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: lib-link.m4 (1.5), lib-prefix.m4 (1.6): Temporarily reverted
-	  to the versions distributed with Gettext 0.14.6 (the new versions
-	  from gnulib do not work for us... we are probably misusing them).
-
-2008-10-07 Tuesday 16:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dox.m4 (1.7),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.8),
-	  ppl_prolog_sysindep_dox (1.3): Revert unintended changes.
-
-2008-10-07 Tuesday 16:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Makefile.am (1.67),
-	  ppl_interface_generator_prolog_dox.m4 (1.6),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.7): Uninteded
-	  change reverted.
-
-2008-10-07 Tuesday 16:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.168): More small
-	  improvements and bugs fixed.
-
-2008-10-07 Tuesday 15:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.167): Small improvement
-	  and a typo fixed.
-
-2008-10-07 Tuesday 15:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.219), src/Box.defs.hh (1.64): Avoid
-	  explicit mention of bounding boxes.  Change references to the
-	  section on intervals and boxes to "intervals".  All mention of
-	  covering boxes removed.
-
-2008-10-07 Tuesday 15:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/C_interface.dox (1.15): Change "who" to "which.
-
-2008-10-07 Tuesday 15:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Makefile.am (1.66), Prolog_interface.dox
-	  (1.166), ppl_interface_generator_prolog_dox.m4 (1.5),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.6),
-	  ppl_prolog_sysindep_dox (1.2): typo fixed.
-
-2008-10-07 Tuesday 15:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.165): Corrected a few
-	  bugs.
-
-2008-10-07 Tuesday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.58):
-	  Corrected error in template for add_disjunct.
-
-2008-10-07 Tuesday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.57):
-	  Corrected an error in the template code for get_disjunct; avoid
-	  useless copies in the template code for linear/approximate
-	  partitions.  Try to be more consistent with template indentation
-	  and spacing.
-
-2008-10-07 Tuesday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.164): A new _draft_
-	  version of the configure independent documentation for Prolog.
-
-2008-10-07 Tuesday 06:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.389), configure.repo (1.23): Version number
-	  bumped.
-
-2008-10-07 Tuesday 06:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.83): Fixed the guard controlling
-	  the definition of glpk_message_interceptor().
-
-2008-10-06 Monday 23:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: Makefile.am (1.85),
-	  devref-foreign-language-interface.doxyconf.in (1.5),
-	  interfaces-html.sed (1.3), interfaces-latex.sed (1.3),
-	  user-foreign-language-interface.doxyconf.in (1.5): Avoid warnings
-	  related to tag files when building latex manuals.
-
-2008-10-06 Monday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-foreign-language-interface.doxyconf.in
-	  (bounded_arithmetic.1): file
-	  devref-foreign-language-interface.doxyconf.in was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
-
-2008-10-06 Monday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/interfaces-html.sed (bounded_arithmetic.1): file
-	  interfaces-html.sed was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:24 +0000
-
-2008-10-06 Monday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-foreign-language-interface.doxyconf.in
-	  (bounded_arithmetic.1): file
-	  user-foreign-language-interface.doxyconf.in was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:24 +0000
-
-2008-10-06 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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>
-
-	* Watchdog/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>
-
-	* Watchdog/: 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>
-
-	* Watchdog/doc/devref.doxyconf-latex.in (1.4),
-	  Watchdog/doc/user.doxyconf-html.in (1.5),
-	  Watchdog/doc/user.doxyconf-latex.in (1.5),
-	  doc/devref.doxyconf-html.in (1.92), doc/devref.doxyconf-latex.in
-	  (1.31), doc/user-foreign-language-interface.doxyconf.in (1.4),
-	  doc/user.doxyconf-html.in (1.44), doc/user.doxyconf-latex.in
-	  (1.15): Updated for Doxygen 1.5.7.1.
-
-2008-10-05 Sunday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/Makefile.am (1.3): Spurious backslash removed.
-
-2008-10-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/doc/devref.doxyconf-html.in (1.4),
-	  doc/devref-foreign-language-interface.doxyconf.in (1.4): Updated
-	  for Doxygen 1.5.7.1.
-
-2008-10-05 Sunday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.388), configure.repo (1.22): Disable the PWL
-	  under Cygwin.  It is not yet clear whether Cygwin provides the
-	  services required in order to make it work.
-
-2008-10-05 Sunday 19:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
-	  (1.5): A few improvement to the pre/post class code: we now add a
-	  brief Doxygen comment with a link to the corresponding C++ class.
-	  The links work fine (in the HTML manuals, exploiting the tag
-	  file) as long as the C++ class names do not correspond to
-	  template instances.
-
-2008-10-05 Sunday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_java_classes_java.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-05 Sunday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.84): Added more ad-hoc Doxygen commands for
-	  the configured-java manuals: we need to exclude the fixed
-	  documentation in Fake_Class_for_Doxygen.java (since otherwise
-	  Doxygen gets confused by the repeated class definitions);
-	  moreover, for the user manuals, we list undocumented members too.
-
-2008-10-05 Sunday 18:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
-	  (1.4): Small correction.
-
-2008-10-05 Sunday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
-	  (bounded_arithmetic.1): file Fake_Class_for_Doxygen.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-05 Sunday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/PPL_Object.java (1.5):
-	  Class PPL_Object should only concern developers.
-
-2008-10-05 Sunday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/PPL_Object.java
-	  (bounded_arithmetic.1): file PPL_Object.java was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-05 Sunday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.14): Corrected/improved
-	  documentation for powerset iterators.
-
-2008-10-05 Sunday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/tests/simple1.cc (1.2): Added some debug output.
-
-2008-10-05 Sunday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: Makefile.am (1.36), Prolog/Makefile.am (1.65),
-	  Prolog/Ciao/Makefile.am (1.84), Prolog/GNU/Makefile.am (1.82),
-	  Prolog/SICStus/Makefile.am (1.99), Prolog/SWI/Makefile.am (1.99),
-	  Prolog/XSB/Makefile.am (1.78), Prolog/YAP/Makefile.am (1.69),
-	  Prolog/tests/Makefile.am (1.32): No longer generating
-	  documentation file Prolog_interface.dox; rather, we now generate
-	  Prolog_configured_interface.dox.  Completed the simplification of
-	  conditional interface building: now the generation of Prolog
-	  interfaces too is based on the conditional definition of variable
-	  SUBDIRS.
-
-2008-10-05 Sunday 10:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.83): The Java devref manual is now also based
-	  on generated Java source files to be found in
-	  builddir/interfaces/Java/parma_polyhedra_library.  The Prolog
-	  user manaul now depends on the fixed Prolog_interface.dox file.
-
-2008-10-05 Sunday 10:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.163): Added fixed
-	  version for Prolog_interface.dox: this will no longer be
-	  generated by m4 scripts.
-
-2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/: 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-05 Sunday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.188): Readability improvement.
-
-2008-10-04 Saturday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.387), configure.repo (1.21): Under Cygwin,
-	  SWI-Prolog does not work with foreign code.  We thus disable that
-	  interface on that architecture.
-
-2008-10-04 Saturday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_efli.cc (1.6): Removed spurious
-	  `inline' qualifiers.
-
-2008-10-04 Saturday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_efli.cc (bounded_arithmetic.1): file
-	  ciao_efli.cc was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:32 +0000
-
-2008-10-04 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_ciao.m4 (1.3): Adapted to the SVN HEAD version of
-	  Ciao.
-
-2008-10-04 Saturday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.130): The program memory1 cannot
-	  be used to test with Valgrind since it intentionally causes
-	  out-of-memory conditions.
-
-2008-10-04 Saturday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.30), TODO (1.267): One item dealt with.
-
-2008-10-04 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.repo (1.20), Watchdog/m4/ax_prefix_config_h.m4 (1.2),
-	  m4/ax_prefix_config_h.m4 (1.3), m4/lib-link.m4 (1.4),
-	  m4/lib-prefix.m4 (1.5): Updated.
-
-2008-10-04 Saturday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.43), config.sub (1.40), Watchdog/config.guess
-	  (1.27), Watchdog/config.sub (1.25): Updated.
-
-2008-10-04 Saturday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh (1.12): Removed one of the
-	  initializations added in
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2006-June/009164.html
-
-2008-10-04 Saturday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.122), Octagonal_Shape.templates.hh
-	  (1.92), Polyhedron_nonpublic.cc (1.86), checked.cc (1.25): Use
-	  PPL_UNINITIALIZED instead of explicit initializations and
-	  free-style comments.
-
-2008-10-04 Saturday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/compiler.hh (1.15): New macro PPL_UNINITIALIZED allows a
-	  better markup and handling of those variables that are declared
-	  uninitialized on purpose.
-
-2008-10-04 Saturday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/version.cc (1.13): Checks for compilers reordered.
-
-2008-10-04 Saturday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (1.16): Useless inclusion removed.
-
-2008-10-04 Saturday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ptr_Iterator.defs.hh (1.14): A friend declarations was
-	  (wrongly) included only conditionally: fixed.
-
-2008-10-04 Saturday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.18),
-	  Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (1.7): Added simple tests for the copy iterator procedures in the
-	  interfaces.
-
-2008-10-04 Saturday 10:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.29): Removed spurious marker.
-
-2008-10-04 Saturday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_java_classes_cc_code.m4 was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:27 +0000
-
-2008-10-04 Saturday 10:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.28): In the templates for native implementations, try to
-	  follow a consistent indentation and line breaking style;
-	  moreover, prefer standard (and shorter) variable names, rather
-	  than variables names cluttered by (useless) m4-generated type
-	  information (this change produces 10-25% smaller cc files).
-
-2008-10-04 Saturday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ptr_Iterator.defs.hh (1.13): Changed `#ifdef' into `#if
-	  defined'.
-
-2008-10-04 Saturday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.24): Temporarily unused function
-	  commented out.
-
-2008-10-04 Saturday 08:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.27): Implemented a better way of ignoring the jclass argument
-	  in the native implementation of static methods, yet avoiding
-	  compiler warnings.
-
-2008-10-04 Saturday 07:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.386), configure.repo (1.19): Disable more
-	  warnings when using the Intel C/C++ compiler.
-
-2008-10-04 Saturday 03:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/ppl_c_test.h (1.2): Old-style declarations
-	  avoided.
-
-2008-10-04 Saturday 03:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/ppl_c_test.h (bounded_arithmetic.1): file
-	  ppl_c_test.h was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:27 +0000
-
-2008-10-04 Saturday 03:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/print_to_buffer.cc (1.4): Spurious semicolons
-	  removed.
-
-2008-10-04 Saturday 03:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (1.42): Variable shadowing
-	  avoided.
-
-2008-10-04 Saturday 03:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.inlines.hh (1.2): Avoided
-	  redefinition of default argument.
-
-2008-10-04 Saturday 02:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (1.39): Trailing commas removed.
-
-2008-10-04 Saturday 02:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.cc (1.24): Avoid a couple of compiler warnings.
-
-2008-10-04 Saturday 01:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_cc_code.m4
-	  (1.17), ppl_interface_generator_prolog_dox_code.m4 (1.5),
-	  ppl_interface_generator_prolog_hh_code.m4 (1.14),
-	  tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (1.6): Implemented schema ppl_new_ at CLASS@_iterator_from_iterator.
-
-2008-10-04 Saturday 01:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/: ppl_interface_generator_java_dox.m4 (1.4),
-	  ppl_interface_generator_java_dox_code.m4 (1.5),
-	  ppl_java_common_dox (1.6),
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.26),
-	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.15), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.50): Implemented schema
-	  ppl_new_ at CLASS@_iterator_from_iterator.  Got rid of no longer
-	  used m4 files for the generation of documentation.
-
-2008-10-04 Saturday 01:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_java_classes_java_code.m4 was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-04 Saturday 01:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: C/ppl_interface_generator_c_cc_code.m4 (1.54),
-	  C/ppl_interface_generator_c_h_code.m4 (1.47),
-	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.56),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.50),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.41):
-	  Implemented schema ppl_new_ at CLASS@_iterator_from_iterator.
-
-2008-10-04 Saturday 01:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.41): Added schema ppl_new_ at CLASS@_iterator_from_iterator/2;
-	  renamed the schema for deleting iterators so as to follow common
-	  pattern.
-
-2008-10-04 Saturday 00:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.82): Make sure
-	  glpk_message_interceptor() is defined only when necessary.
-
-2008-10-03 Friday 23:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.385), configure.repo (1.18),
-	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.10): Fixed the GNU
-	  Prolog interface.
-
-2008-10-03 Friday 23:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.40),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.53),
-	  C/ppl_interface_generator_c_h_code.m4 (1.46),
-	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.10),
-	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.25),
-	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.14), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.55),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.49),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.40),
-	  OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.17),
-	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.16),
-	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.13):
-	  Procedure *drop_disjuncts has been added to all the interfaces.
-
-2008-10-03 Friday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/membytes1.cc (1.8): Disable test02() in case doubles
-	  are not supported.
-
-2008-10-03 Friday 22:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.cc (1.18): Use raw_value() so that a comparison is
-	  always defined, even if doubles are not supported.
-
-2008-10-03 Friday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.121): Debugging code removed.
-
-2008-10-03 Friday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.384), configure.repo (1.17),
-	  m4/ac_cxx_double_binary_format.m4 (1.15),
-	  m4/ac_cxx_double_exact_output.m4 (1.8),
-	  m4/ac_cxx_float_binary_format.m4 (1.12),
-	  m4/ac_cxx_float_exact_output.m4 (1.6),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.19),
-	  m4/ac_cxx_long_double_exact_output.m4 (1.13): We currently miss a
-	  "Plan B" for the case where exact output is not available.  So,
-	  in these cases, we declare the corresponding floating point type
-	  as unsupported.
-
-2008-10-03 Friday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.91): Reference to the C99
-	  standard fixed.
-
-2008-10-03 Friday 20:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.383), configure.repo (1.16): Restored java in the
-	  set of interfaces enabled by default.
-
-2008-10-03 Friday 18:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/tests/: ppl_interface_generator_ocaml_test_ml.m4
-	  (1.3), ppl_interface_generator_ocaml_test_ml_code.m4 (1.16),
-	  ppl_ocaml_tests_common (1.6), test1.ml (1.15): The tests are now
-	  quiet unless the PPL_NOISY_TESTS or PPL_VERY_NOISY_TESTS
-	  environment variable is defined.
-
-2008-10-03 Friday 18:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.24),
-	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.13), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.49): Ensure the code for drop_disjuncts is generated.  Code
-	  corrected and test added.  Draft code for a copy constructor for
-	  the iterators, but code from this is not generated yet.
-
-2008-10-03 Friday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_exact_output.m4 (1.12): Expected text
-	  fixed.
-
-2008-10-03 Friday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_binary_format.m4 (1.18): Floating point
-	  literal fixed.
-
-2008-10-03 Friday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.382), configure.repo (1.15),
-	  m4/ac_cxx_double_exact_output.m4 (1.7),
-	  m4/ac_cxx_float_exact_output.m4 (1.5),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.17),
-	  m4/ac_cxx_long_double_exact_output.m4 (1.11): Test also with long
-	  double denormalized numbers.
-
-2008-10-03 Friday 16:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Makefile.am (1.11): Added
-	  a couple of notes to recall that Fake_Class_for_Doxygen.java is
-	  only meant to be used when producing the documentation.
-
-2008-10-03 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Makefile.am
-	  (bounded_arithmetic.1): file Makefile.am was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-03 Friday 16:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
-	  (1.3): More documentation improvements.
-
-2008-10-03 Friday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_binary_format.m4 (1.16): Added missing 'L'
-	  suffix to floating point literal.
-
-2008-10-03 Friday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_long_double_binary_format.m4 (1.15),
-	  ac_cxx_long_double_exact_output.m4 (1.10): Literals corrected.
-
-2008-10-03 Friday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_exact_output.m4 (1.9): Expected text
-	  updated.
-
-2008-10-03 Friday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_binary_format.m4 (1.14): Floating point
-	  literal fixed.
-
-2008-10-03 Friday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.381), configure.repo (1.14),
-	  m4/ac_cxx_double_binary_format.m4 (1.14),
-	  m4/ac_cxx_double_exact_output.m4 (1.6),
-	  m4/ac_cxx_float_binary_format.m4 (1.11),
-	  m4/ac_cxx_float_exact_output.m4 (1.4),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.13),
-	  m4/ac_cxx_long_double_exact_output.m4 (1.8), src/Float.defs.hh
-	  (1.32): Fixed several macro names.
-
-2008-10-03 Friday 15:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/MIP_Problem.java
-	  (bounded_arithmetic.1): file MIP_Problem.java was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-03 Friday 15:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/: jni/ppl_java_globals.cc (1.24),
-	  parma_polyhedra_library/MIP_Problem.java (1.5): Added copy
-	  constructor, destructor and finalization to MIP_Problem.
-
-2008-10-03 Friday 14:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.23): Added code template for method drop_disjuncts.
-
-2008-10-03 Friday 14:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
-	  (1.2): Added further methods that should be documented in the
-	  configuration-independent manuals for the Java interface.
-
-2008-10-03 Friday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_exact_output.m4 (1.7): Preparation to test
-	  also with long double denormalized numbers.
-
-2008-10-03 Friday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_double_binary_format.m4 (1.13),
-	  ac_cxx_double_exact_output.m4 (1.5): Test also with double
-	  denormalized numbers.
-
-2008-10-03 Friday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.81): Fixed copy-and-paste mistake.
-
-2008-10-03 Friday 12:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
-	  (1.4): Fixed indentation.
-
-2008-10-03 Friday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
-	  (bounded_arithmetic.1): file Linear_Expression_Sum.java was added
-	  on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-03 Friday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_double_binary_format.m4 (1.12),
-	  ac_cxx_long_double_binary_format.m4 (1.12): Floating point
-	  literals fixed.
-
-2008-10-03 Friday 11:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.273): Spurious `-lppl' removed from LDADD.
-
-2008-10-03 Friday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/Makefile.am (1.6): We now use the convenience
-	  library libppl_c_tests.a.  When GCC is used, we compile C files
-	  with -pedantic -std=c89 -Werror: this way it will be harder to
-	  inadvertently pollute ppl_c.h with non-standard stuff.
-
-2008-10-03 Friday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/Makefile.am (bounded_arithmetic.1): file
-	  Makefile.am was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:27 +0000
-
-2008-10-03 Friday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/cxxoutput.c (1.6): Include "ppl_c_test.h"
-	  instead of "ppl_test.h".
-
-2008-10-03 Friday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/cxxoutput.c (bounded_arithmetic.1): file
-	  cxxoutput.c was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:27 +0000
-
-2008-10-03 Friday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/: ppl_c_test.cc (1.1), ppl_c_test.h (1.1),
-	  ppl_test.h (1.2): Header file renamed and reimplemented.
-
-2008-10-03 Friday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/ppl_c_test.cc (bounded_arithmetic.1): file
-	  ppl_c_test.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:27 +0000
-
-2008-10-03 Friday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/print_to_buffer.h (1.3): Spurious semicolons
-	  removed.
-
-2008-10-03 Friday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.48): If we use GCC, compile with
-	  -pedantic -std=gnu89 -Werror.
-
-2008-10-03 Friday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.80): Conform to ISO C90 plus GNU
-	  extensions (because of the declaration of sigaction in
-	  <signal.h>).
-
-2008-10-03 Friday 10:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.380), configure.repo (1.13): New AM_CONDITIONAL
-	  GCC allows to write conditionals in Makefile.am that depend on
-	  whether we are using GCC or another compiler.
-
-2008-10-03 Friday 09:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.379), configure.repo (1.12): Temporarily remove
-	  java from the list of default interfaces.
-
-2008-10-03 Friday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_double_exact_output.m4 (1.4),
-	  ac_cxx_float_exact_output.m4 (1.3),
-	  ac_cxx_long_double_exact_output.m4 (1.6): Use AC_DEFINE_UNQUOTED
-	  instead of AC_DEFINE.
-
-2008-10-03 Friday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_h.m4 (1.26),
-	  ppl_interface_generator_c_h_code.m4 (1.45): Avoid generating
-	  spurious semicolons.
-
-2008-10-03 Friday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/build_header.in (1.7): Generate C-style comments instead of
-	  C++-style ones.
-
-2008-10-03 Friday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_double_exact_output.m4 (1.3),
-	  ac_cxx_float_exact_output.m4 (1.2),
-	  ac_cxx_long_double_exact_output.m4 (1.5): Typos fixed.
-
-2008-10-02 Thursday 23:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/Makefile.am (1.30): Updated.
-
-2008-10-02 Thursday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_exact_output.m4 (1.4): Expected value
-	  fixed.
-
-2008-10-02 Thursday 22:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_exact_output.m4 (1.3): Expected texts
-	  corrected.
-
-2008-10-02 Thursday 22:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_exact_output.m4 (1.2): Missing parenthesis
-	  added.
-
-2008-10-02 Thursday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_double_exact_output.m4 (1.2): Expected text fixed.
-
-2008-10-02 Thursday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.378), configure.repo (1.11),
-	  m4/ac_cxx_double_binary_format.m4 (1.11),
-	  m4/ac_cxx_float_binary_format.m4 (1.10),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.11), src/Float.defs.hh
-	  (1.31): Detect whether the C++ run-time system supports the exact
-	  output of floating point types.
-
-2008-10-02 Thursday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_double_exact_output.m4 (1.1),
-	  ac_cxx_float_exact_output.m4 (1.1),
-	  ac_cxx_long_double_exact_output.m4 (1.1): New functions to test
-	  whether C++ provides exact output for the floating point types.
-
-2008-10-02 Thursday 21:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: Makefile.am (1.35), C/Makefile.am (1.62),
-	  Java/Makefile.am (1.24), Java/jni/Makefile.am (1.28),
-	  Java/parma_polyhedra_library/Makefile.am (1.10),
-	  Java/tests/Makefile.am (1.26), OCaml/Makefile.am (1.55),
-	  OCaml/tests/Makefile.am (1.17): Simplified the handling of
-	  conditionally built foreign language interfaces by defining the
-	  SUBDIRS variable conditionally.  Change is implemented for the C,
-	  OCaml and Java interfaces; will be implemented in Prolog as soon
-	  as Prolog_interface.dox will become a fixed source file (rather
-	  than being generated on the fly by m4).
-
-2008-10-02 Thursday 21:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.13): Widenings moved to the
-	  sections listing ad hoc polyhedron functions.
-
-2008-10-02 Thursday 21:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/simplifyusingcontext1.cc (1.7): Previous commit
-	  was wrong: tests 5 and 9 will overflow on 8 bit coefficients,
-	  *if* assertions are turned on.
-
-2008-10-02 Thursday 18:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.82): The generation of the Java interface
-	  manuals is now based (among others) on the fixed file
-	  Fake_Class_for_Doxygen.java; we no longer use the genrated file
-	  Java_interface.dox.
-
-2008-10-02 Thursday 18:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
-	  (1.1): Put under CVS control. This will substitute
-	  Java_interface.dox (currently still generated by m4).
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Coefficient.java
-	  (bounded_arithmetic.1): file Coefficient.java was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Congruence_System.java
-	  (bounded_arithmetic.1): file Congruence_System.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Constraint.java
-	  (bounded_arithmetic.1): file Constraint.java was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Constraint_System.java
-	  (bounded_arithmetic.1): file Constraint_System.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
-	  (bounded_arithmetic.1): file Control_Parameter_Name.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
-	  (bounded_arithmetic.1): file Control_Parameter_Value.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
-	  (bounded_arithmetic.1): file Degenerate_Element.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
-	  (bounded_arithmetic.1): file Domain_Error_Exception.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Generator.java
-	  (bounded_arithmetic.1): file Generator.java was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Generator_Type.java
-	  (bounded_arithmetic.1): file Generator_Type.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Grid_Generator.java
-	  (bounded_arithmetic.1): file Grid_Generator.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
-	  (bounded_arithmetic.1): file Grid_Generator_System.java was added
-	  on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
-	  (bounded_arithmetic.1): file Grid_Generator_Type.java was added
-	  on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
-	  (bounded_arithmetic.1): file Invalid_Argument_Exception.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
-	  (bounded_arithmetic.1): file Length_Error_Exception.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Linear_Expression.java
-	  (bounded_arithmetic.1): file Linear_Expression.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
-	  (bounded_arithmetic.1): file Linear_Expression_Coefficient.java
-	  was added on branch bounded_arithmetic on 2008-10-29 20:45:28
-	  +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
-	  (bounded_arithmetic.1): file Linear_Expression_Difference.java
-	  was added on branch bounded_arithmetic on 2008-10-29 20:45:28
-	  +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
-	  (bounded_arithmetic.1): file Linear_Expression_Times.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
-	  (bounded_arithmetic.1): file Linear_Expression_Unary_Minus.java
-	  was added on branch bounded_arithmetic on 2008-10-29 20:45:28
-	  +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
-	  (bounded_arithmetic.1): file Linear_Expression_Variable.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
-	  (bounded_arithmetic.1): file Logic_Error_Exception.java was added
-	  on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
-	  (bounded_arithmetic.1): file Optimization_Mode.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
-	  (bounded_arithmetic.1): file Overflow_Error_Exception.java was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Pair.java
-	  (bounded_arithmetic.1): file Pair.java was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Partial_Function.java
-	  (bounded_arithmetic.1): file Partial_Function.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
-	  (bounded_arithmetic.1): file Poly_Con_Relation.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
-	  (bounded_arithmetic.1): file Poly_Gen_Relation.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
-	  (bounded_arithmetic.1): file Relation_Symbol.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/: By_Reference.java
-	  (1.3), Coefficient.java (1.3), Congruence_System.java (1.3),
-	  Constraint.java (1.3), Constraint_System.java (1.3),
-	  Control_Parameter_Name.java (1.2), Control_Parameter_Value.java
-	  (1.2), Degenerate_Element.java (1.3), Domain_Error_Exception.java
-	  (1.3), Generator.java (1.3), Generator_Type.java (1.3),
-	  Grid_Generator.java (1.3), Grid_Generator_System.java (1.3),
-	  Grid_Generator_Type.java (1.3), Invalid_Argument_Exception.java
-	  (1.3), Length_Error_Exception.java (1.3), Linear_Expression.java
-	  (1.3), Linear_Expression_Coefficient.java (1.3),
-	  Linear_Expression_Difference.java (1.3),
-	  Linear_Expression_Sum.java (1.3), Linear_Expression_Times.java
-	  (1.3), Linear_Expression_Unary_Minus.java (1.3),
-	  Linear_Expression_Variable.java (1.3), Logic_Error_Exception.java
-	  (1.3), MIP_Problem.java (1.4), Optimization_Mode.java (1.3),
-	  Overflow_Error_Exception.java (1.3), PPL_Object.java (1.4),
-	  Pair.java (1.3), Parma_Polyhedra_Library.java (1.3),
-	  Partial_Function.java (1.3), Poly_Con_Relation.java (1.3),
-	  Poly_Gen_Relation.java (1.3), Relation_Symbol.java (1.3): Several
-	  improvements to the Doxygen documentation.
-
-2008-10-02 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/By_Reference.java
-	  (bounded_arithmetic.1): file By_Reference.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-10-02 Thursday 18:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory2.cc (1.17): Fixed a bug whereby (besides
-	  not being Valgrind-clean) we were violating the API of GMP.
-
-2008-10-02 Thursday 18:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
-	  (1.2): Formatting improved.
-
-2008-10-02 Thursday 16:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.120): Temporarily added debugging
-	  code to the closure method.
-
-2008-10-02 Thursday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_cc_code.m4
-	  (1.15), ppl_prolog_common.cc (1.11), ppl_prolog_common.defs.hh
-	  (1.10), ppl_prolog_common.inlines.hh (1.2): New macro
-	  NOISY_PROLOG_TRACK_ALLOCATION allows to conditionally track
-	  allocation (as PROLOG_TRACK_ALLOCATION), but printing allocation
-	  and deallocation messages on std::cerr (differently from
-	  PROLOG_TRACK_ALLOCATION).
-
-	  Class PFunc renamed Partial_Function.
-
-2008-10-02 Thursday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Ask_Tell/Makefile.am (1.7), BD_Shape/Makefile.am (1.80),
-	  Box/Makefile.am (1.74), Grid/Makefile.am (1.73),
-	  MIP_Problem/Makefile.am (1.12), Octagonal_Shape/Makefile.am
-	  (1.34), Partially_Reduced_Product/Makefile.am (1.6),
-	  Polyhedron/Makefile.am (1.129), Powerset/Makefile.am (1.6): Use
-	  `$(VALGRIND)' instead of `valgrind' directly.
-
-2008-10-02 Thursday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.377), configure.repo (1.10), tests/Makefile.am
-	  (1.272), tests/valgrind_suppressions (1.6),
-	  tests/Ask_Tell/Makefile.am (1.6), tests/BD_Shape/Makefile.am
-	  (1.79), tests/Box/Makefile.am (1.73), tests/Grid/Makefile.am
-	  (1.72), tests/MIP_Problem/Makefile.am (1.11),
-	  tests/Octagonal_Shape/Makefile.am (1.33),
-	  tests/Partially_Reduced_Product/Makefile.am (1.5),
-	  tests/Polyhedron/Makefile.am (1.128), tests/Powerset/Makefile.am
-	  (1.5): New configure option --enable-valgrind-tests causes (some)
-	  library tests to be run under Valgrind.
-
-2008-10-02 Thursday 11:46  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:37 +0000
-
-2008-10-02 Thursday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.17),
-	  MIP_Problem_test1.java (1.3), Makefile.am (1.25),
-	  NNC_Polyhedron_test1.java (1.4), PPL_Test.java (1.1),
-	  Parma_Polyhedra_Library_test1.java (1.2), Test_Executor.java
-	  (1.3), ppl_interface_generator_java_test_java.m4 (1.20),
-	  ppl_interface_generator_java_test_java_code.m4 (1.48),
-	  ppl_java_tests_common (1.17): Each test only outputs the results
-	  of the subtests if the environment variable PPL_NOISY_TESTS or
-	  PPL_VERY_NOISY_TESTS is defined.
-
-2008-10-02 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/MIP_Problem_test1.java
-	  (bounded_arithmetic.1): file MIP_Problem_test1.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:29 +0000
-
-2008-10-02 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/PPL_Test.java (bounded_arithmetic.1): file
-	  PPL_Test.java was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:29 +0000
-
-2008-10-02 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
-	  (bounded_arithmetic.1): file Parma_Polyhedra_Library_test1.java
-	  was added on branch bounded_arithmetic on 2008-10-29 20:45:29
-	  +0000
-
-2008-10-02 Thursday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/: Makefile.am (1.31), pl_grid_check.pl
-	  (1.12): Removed pl_grid_check,pl as it is not being used or
-	  maintained.
-
-2008-10-02 Thursday 10:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.71), addconstraints1.cc (1.20),
-	  addgenerators1.cc (1.18), approximatepartition1.cc (1.5),
-	  generator1.cc (1.22), partition1.cc (1.8), removespacedims2.cc
-	  (1.17): Removed useless commented out tests that were mainly
-	  testing methods that were private.  Removed also some other
-	  commented out code in tests.	Tests renumbered to be consecutive.
-
-2008-10-02 Thursday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.60): Removed tests for
-	  exceptions for non-existent predicates.  Modified the exception
-	  testing so as to check for the kind of exception that is thrown.
-
-2008-10-02 Thursday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/ppl_ocaml_tests_common (1.5): Several
-	  improvements.
-
-2008-10-02 Thursday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset2.cc (1.2): Comments fixed.
-	  Commented-out code removed.
-
-2008-10-02 Thursday 08:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.cc (1.10): More commented-out
-	  code removed.
-
-2008-10-02 Thursday 08:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.defs.hh (1.9): Commented-out
-	  code removed.
-
-2008-10-02 Thursday 07:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog_common.cc (1.9),
-	  ppl_prolog_common.defs.hh (1.8): PROLOG_TRACK_ALLOCATION revived.
-
-2008-10-02 Thursday 07:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/: pl_check.pl (1.59), pl_grid_check.pl
-	  (1.11): Typos fixed.
-
-2008-10-02 Thursday 06:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.119), Octagonal_Shape.templates.hh
-	  (1.91): Fixed two instances where a TEMP_INTEGER was used
-	  uninitialized.
-
-2008-10-01 Wednesday 22:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.defs.hh (1.5): Obsolete FIXME
-	  removed.
-
-2008-10-01 Wednesday 22:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_classes_cc_code.m4 (1.22),
-	  ppl_java_common.cc (1.50), ppl_java_common.defs.hh (1.4),
-	  ppl_java_globals.cc (1.23): Renamed build_linear_expression() as
-	  build_cxx_linear_expression().
-
-2008-10-01 Wednesday 21:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.30): Modified test03 so as to
-	  systematically ignore overflow errors; after this change, the
-	  test is meant to always succeed.
-
-2008-10-01 Wednesday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_classes_cc_code.m4 (1.21),
-	  ppl_java_common.cc (1.49), ppl_java_common.defs.hh (1.3),
-	  ppl_java_globals.cc (1.22): Begun fixing names and comments.
-
-2008-10-01 Wednesday 21:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/simplifyusingcontext1.cc (1.6): Due to the recent
-	  change to simplify_using_context implementation, tests 05 and 09
-	  no longer overflow when using 8 bit coefficients.
-
-2008-10-01 Wednesday 20:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: ppl_ocaml_globals.ml (1.13),
-	  ppl_ocaml_types.ml (1.14): Two FIXMEs resolved.
-
-2008-10-01 Wednesday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_common.cc (1.6): Unused exception
-	  throwers removed.
-
-2008-10-01 Wednesday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_common.cc (bounded_arithmetic.1): file
-	  ppl_ocaml_common.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:30 +0000
-
-2008-10-01 Wednesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: C/ppl_c_implementation_common.inlines.hh (1.4),
-	  OCaml/ppl_ocaml_common.cc (1.5): Be consistent concerning
-	  reinterpret_mpz_class().
-
-2008-10-01 Wednesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.inlines.hh
-	  (bounded_arithmetic.1): file
-	  ppl_c_implementation_common.inlines.hh was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:26 +0000
-
-2008-10-01 Wednesday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.83): Revised the diff
-	  command for the generated test to use the relevant files.
-
-2008-10-01 Wednesday 15:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.10):
-	  Improved formatting of the generated file ppl_xsb.H
-
-2008-10-01 Wednesday 15:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml.m4 (1.18),
-	  ppl_interface_generator_ocaml_mli.m4 (1.21): Formatting
-	  improvements to the generated files.
-
-2008-10-01 Wednesday 14:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/:
-	  ppl_interface_generator_prolog_procedure_generators.m4 (1.6),
-	  Ciao/ppl_interface_generator_ciao_pl.m4 (1.9): Fixed some
-	  formatting bugs.
-
-2008-10-01 Wednesday 14:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_h.m4 (1.25),
-	  ppl_interface_generator_c_hh_files.m4 (1.9): Formatting of
-	  generated files improved.
-
-2008-10-01 Wednesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_hh_files.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_c_hh_files.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:26 +0000
-
-2008-10-01 Wednesday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/ciao_pl_check.pl (1.30): Added some
-	  missing predicates to the list.
-
-2008-10-01 Wednesday 12:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.40): Added explanations for test macros
-	  DO_TEST_MAY_OVERFLOW_IF_INEXACT and
-	  DO_TEST_F<XXX>_MAY_OVERFLOW_IF_INEXACT.
-
-2008-10-01 Wednesday 12:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.81): Removed unwanted
-	  copying/removing of files in code for executing the generated
-	  tests.
-
-2008-10-01 Wednesday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/print_to_buffer.h (1.2): Documentation
-	  updated.
-
-2008-10-01 Wednesday 11:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.80): Further revisions - to
-	  the code for the generated tests.
-
-2008-10-01 Wednesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pgt (bounded_arithmetic.1): file
-	  expected_pgt was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:33 +0000
-
-2008-10-01 Wednesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_prolog_generated_test.pl
-	  (bounded_arithmetic.1): file yap_prolog_generated_test.pl was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
-
-2008-10-01 Wednesday 11:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: GNU/Makefile.am (1.79),
-	  GNU/gnu_prolog_generated_test.pl (1.1), SICStus/Makefile.am
-	  (1.98), SWI/Makefile.am (1.98), SWI/swi_prolog_generated_test.pl
-	  (1.2), XSB/Makefile.am (1.77), YAP/Makefile.am (1.68),
-	  YAP/yap_prolog_generated_test.pl (1.1), tests/expected_pgt (1.1),
-	  tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (1.5): Revised the code for running the generated tests.  The
-	  expected result (OK) is in expected_pgt.  Some coefficients in
-	  the generated tests have been simplified to avoid unintended
-	  overflows.
-
-2008-10-01 Wednesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
-	  (bounded_arithmetic.1): file gnu_prolog_generated_test.pl was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:32 +0000
-
-2008-10-01 Wednesday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.29): test02 will not overflow if
-	  using exact BD instances; test03 will overflow on 8bit
-	  configurations when using exact BD instances.
-
-2008-09-30 Tuesday 21:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (1.41): Minor improvements to
-	  the simplify_using_context method: we now handle ad hoc the
-	  frequent case when the context is a singleton powerset.
-
-2008-09-30 Tuesday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.28): test02() and test03() may
-	  overflow also with 32 bits, if inexact coefficients are used.
-
-2008-09-30 Tuesday 20:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/stdiobuf.defs.hh (1.3): Documented.
-
-2008-09-30 Tuesday 20:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/stdiobuf.defs.hh (bounded_arithmetic.1): file
-	  stdiobuf.defs.hh was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:36 +0000
-
-2008-09-30 Tuesday 19:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.91), devref.doxyconf-latex.in
-	  (1.30): Added stdiobuf* files to Doxygen INPUT variable for
-	  devref documentation.
-
-2008-09-30 Tuesday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.266): Typo fixed.
-
-2008-09-30 Tuesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.defs.hh (1.7): Use the
-	  new system for all the I/O functions of the C interface.
-
-2008-09-30 Tuesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.defs.hh
-	  (bounded_arithmetic.1): file ppl_c_implementation_common.defs.hh
-	  was added on branch bounded_arithmetic on 2008-10-29 20:45:26
-	  +0000
-
-2008-09-30 Tuesday 18:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.73): In the ascii dump/load methods, do
-	  also deal with private fields `initialized' and `pricing'.
-
-2008-09-30 Tuesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: stdiobuf.cc (1.2), stdiobuf.defs.hh (1.2),
-	  stdiobuf.inlines.hh (1.2): Interface separated from
-	  implementation.
-
-2008-09-30 Tuesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/stdiobuf.cc (bounded_arithmetic.1): file stdiobuf.cc was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:36 +0000
-
-2008-09-30 Tuesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/stdiobuf.inlines.hh (bounded_arithmetic.1): file
-	  stdiobuf.inlines.hh was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:36 +0000
-
-2008-09-30 Tuesday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.defs.hh (1.6),
-	  src/Makefile.am (1.187), src/stdiobuf.cc (1.1),
-	  src/stdiobuf.defs.hh (1.1), src/stdiobuf.inlines.hh (1.1),
-	  src/stdiobuf.types.hh (1.1): New standard solution for the
-	  ppl_*_ascii_load() functions in the C interface.  (The stdiobuf
-	  class has been implemented by Abramo Bagnara.)
-
-2008-09-30 Tuesday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/stdiobuf.types.hh (bounded_arithmetic.1): file
-	  stdiobuf.types.hh was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:36 +0000
-
-2008-09-30 Tuesday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/README.gprolog (1.4): Revised the section
-	  on configuring the PPL for building the GNU Prolog interface.
-
-2008-09-30 Tuesday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.27): Invoke test02() and test03()
-	  with DO_TEST_F16_MAY_OVERFLOW_IF_INEXACT.
-
-2008-09-30 Tuesday 13:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh, Determinate.inlines.hh, Makefile.am,
-	  Partially_Reduced_Product.defs.hh,
-	  Partially_Reduced_Product.templates.hh, Powerset.defs.hh,
-	  Powerset.templates.hh, Variable.cc, Variable.defs.hh,
-	  Variable.templates.hh
-	  (generalized_streams.[2,2,2,2,2,2,2,1,2,1]): Templatization
-	  continued.
-
-2008-09-30 Tuesday 12:56  Abramo Bagnara
-
-	* src/: Linear_Row.cc, MIP_Problem.cc, Ph_Status.cc,
-	  Poly_Con_Relation.cc, Poly_Gen_Relation.cc, Polyhedron_public.cc,
-	  Row.cc, Variables_Set.cc (generalized_streams.[1,1,1,1,1,1,1,1]):
-	  Missing templatization of the I/O functions and methods.
-
-2008-09-30 Tuesday 12:48  Abramo Bagnara
-
-	* src/: Linear_System.cc, Matrix.cc (generalized_streams.[1,1]):
-	  Missing templatization of the I/O functions and methods.
-
-2008-09-30 Tuesday 12:43  Abramo Bagnara
-
-	* src/Interval.defs.hh (generalized_streams.3): Added explicit
-	  cast.
-
-2008-09-30 Tuesday 12:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: SICStus/Makefile.am (1.97), SWI/Makefile.am
-	  (1.97), XSB/Makefile.am (1.76): the copying and removing of
-	  interfaces/Prolog/tests/ppl_predicate_check_common.pl is made
-	  conditional on whether or not the build is in the source
-	  directory.
-
-2008-09-30 Tuesday 12:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.templates.hh, Interval.defs.hh, Interval.inlines.hh,
-	  Interval.templates.hh (generalized_streams.[2,2,2,2]): Fixed more
-	  template parameter lists.
-
-2008-09-30 Tuesday 12:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh, BD_Shape.templates.hh, Box.defs.hh,
-	  Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  Checked_Number.templates.hh, DB_Matrix.defs.hh,
-	  DB_Matrix.templates.hh, Interval_Info.defs.hh,
-	  Interval_Restriction.defs.hh, OR_Matrix.defs.hh,
-	  OR_Matrix.templates.hh, Octagonal_Shape.defs.hh,
-	  Octagonal_Shape.templates.hh, checked_ext.inlines.hh
-	  (generalized_streams.[2,2,2,2,2,2,2,2,2,2,2,3,2,2,2]): Fixed
-	  several template parameter lists.
-
-2008-09-30 Tuesday 12:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.templates.hh (generalized_streams.2): Template
-	  parameters lists reordered.
-
-2008-09-30 Tuesday 12:12  Abramo Bagnara
-
-	* src/: Any_Pointset.defs.hh, Ask_Tell.defs.hh,
-	  Ask_Tell.inlines.hh, Ask_Tell.templates.hh, BDS_Status.idefs.hh,
-	  BDS_Status.inlines.hh, BD_Shape.defs.hh, BD_Shape.inlines.hh,
-	  BD_Shape.templates.hh, Bit_Matrix.cc, Bit_Matrix.defs.hh,
-	  Bit_Row.defs.hh, Box.defs.hh, Box.templates.hh,
-	  Box_Status.idefs.hh, Box_Status.inlines.hh,
-	  Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  Checked_Number.templates.hh, Coefficient.defs.hh, Congruence.cc,
-	  Congruence.defs.hh, Congruence_System.cc,
-	  Congruence_System.defs.hh, Constraint.cc, Constraint.defs.hh,
-	  Constraint_System.cc, Constraint_System.defs.hh,
-	  DB_Matrix.defs.hh, DB_Matrix.inlines.hh, DB_Matrix.templates.hh,
-	  DB_Row.inlines.hh, Determinate.defs.hh, Determinate.inlines.hh,
-	  Generator.cc, Generator.defs.hh, Generator.inlines.hh,
-	  Generator_System.cc, Generator_System.defs.hh, Grid.defs.hh,
-	  Grid_Generator.cc, Grid_Generator.defs.hh,
-	  Grid_Generator_System.cc, Grid_Generator_System.defs.hh,
-	  Grid_Status.cc, Grid_Status.idefs.hh, Grid_public.cc, checked.cc,
-	  checked_ext.defs.hh, checked_ext.inlines.hh
-	  (generalized_streams.[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,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  More templatization of the I/O functions and methods.
-
-2008-09-30 Tuesday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh, Interval.defs.hh, Interval.inlines.hh,
-	  Interval.templates.hh, Interval_Info.defs.hh,
-	  Interval_Info.inlines.hh, Interval_Restriction.defs.hh,
-	  Linear_Row.defs.hh, Linear_System.defs.hh, MIP_Problem.defs.hh,
-	  Matrix.defs.hh, OR_Matrix.defs.hh, OR_Matrix.templates.hh,
-	  Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh,
-	  Og_Status.idefs.hh, Og_Status.inlines.hh,
-	  Partially_Reduced_Product.defs.hh,
-	  Partially_Reduced_Product.inlines.hh,
-	  Partially_Reduced_Product.templates.hh, Ph_Status.idefs.hh,
-	  Pointset_Ask_Tell.defs.hh, Pointset_Ask_Tell.templates.hh,
-	  Pointset_Powerset.defs.hh, Pointset_Powerset.templates.hh,
-	  Poly_Con_Relation.defs.hh, Poly_Gen_Relation.defs.hh,
-	  Polyhedron.defs.hh, Powerset.defs.hh, Powerset.templates.hh,
-	  Row.defs.hh, Variable.defs.hh, Variables_Set.defs.hh
-	  (generalized_streams.[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]):
-	  More templatization of the I/O functions and methods.
-
-2008-09-30 Tuesday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.inlines.hh, Linear_Expression.cc,
-	  Linear_Expression.defs.hh, Linear_Expression.inlines.hh,
-	  Linear_Expression.templates.hh, Makefile.am, globals.defs.hh
-	  (generalized_streams.[1,1,1,1,1,1,1]): Templatization of input
-	  and output methods started.
-
-2008-09-30 Tuesday 11:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/tests/: Makefile.am (1.24),
-	  Parma_Polyhedra_Library_test1.java (1.1): Added tests for the
-	  Parma Polyhedra Library methods.
-
-2008-09-30 Tuesday 11:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/GNU/README.gprolog (1.3): Added a (draft) note
-	  on configuring for the GNU Prolog interface.
-
-2008-09-30 Tuesday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory1.cc (1.17): On the Itanium, this test
-	  fails because of the bug reported in //
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-September/012943.html
-
-2008-09-30 Tuesday 09:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.26): Expected results for test02()
-	  and test03() fixed.
-
-2008-09-30 Tuesday 08:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.39),
-	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.12): Re-enable the approximate_partition method.
-
-	  Correct the m4 generating code for linear_partition and
-	  approximate_partition so that the method is only generated when
-	  the appropriate powerset domain is in the instantiations..
-
-2008-09-30 Tuesday 08:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/tests/MIP_Problem_test1.java (1.2): Comment
-	  corrected.
-
-2008-09-30 Tuesday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.25): Comments improved.
-
-2008-09-30 Tuesday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/maxspacedim1.cc (1.19): Missing #else's added.
-
-2008-09-30 Tuesday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/Makefile.am (1.5): Fixed AM_CPPFLAGS.
-
-2008-09-30 Tuesday 00:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.38): Commented out line
-	  ppl_ at CLASS@_approximate_ at PARTITION@/5  +grid, It was breaking the
-	  buid in the Java interface, since it requires that
-	  Pointset_Powerset_Grid is enabled too.
-
-2008-09-29 Monday 23:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/containsintegerpoint1.cc (1.7): Corrected expected
-	  result.
-
-2008-09-29 Monday 23:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/containsintegerpoint1.cc (1.8): Corrected
-	  knwon result for test03.
-
-2008-09-29 Monday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/Makefile.am (1.4): Unused definition commented
-	  out.
-
-2008-09-29 Monday 22:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/Makefile.am (1.3): Trailing backslash removed.
-
-2008-09-29 Monday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/: Makefile.am (1.2), cxxoutput.c (1.5),
-	  ppl_test.h (1.1): Adde ppl_test.h, now only providing some
-	  facilities to control the noisiness of tests.
-
-2008-09-29 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.78): Include <cstdlib> for getenv().
-
-2008-09-29 Monday 22:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.20),
-	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.11), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.47): Updated the partition method headers and tests so that
-	  the schema procedure name and code use the new pattern to match
-	  that in the procedure schema list.
-
-2008-09-29 Monday 22:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/: jni/ppl_java_common.cc (1.48),
-	  jni/ppl_java_globals.cc (1.21), tests/MIP_Problem_test1.java
-	  (1.1), tests/Makefile.am (1.23): Added tests for the MIP_Problem
-	  class and methods.
-
-	  Corrected some bugs in the same class.
-
-2008-09-29 Monday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.defs.hh (1.5),
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.19), interfaces/Java/jni/ppl_java_common.cc (1.47),
-	  interfaces/Java/jni/ppl_java_globals.cc (1.20),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.54),
-	  interfaces/Prolog/ppl_prolog_common.cc (1.8),
-	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.7),
-	  interfaces/Prolog/Ciao/ciao_efli.cc (1.5),
-	  interfaces/Prolog/SICStus/sicstus_efli.cc (1.4),
-	  src/Congruence.cc (1.21): The construct s.str().c_str(), where
-	  `s' is an std::ostringstream, is extremely dangerous.  In fact,
-	  the compiler can (and does!) destruct the temporary std::string
-	  object returned by str() as soon as c_str() returns, which
-	  results into a dangling pointer.  This construct is now avoided.
-
-2008-09-29 Monday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.61): Activated the `tests'
-	  subdirectory.
-
-2008-09-29 Monday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/cxxoutput.c (1.4): DIMENSION and line lengths
-	  increased.
-
-2008-09-29 Monday 21:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.28), src/Bit_Row.defs.hh (1.11): In order
-	  to use GMP from C++, always include <gmpxx.h>, not <gmp.h>.
-
-2008-09-29 Monday 21:03  Abramo Bagnara
-
-	* interfaces/C/tests/: cxxoutput.c (1.3), print_to_buffer.cc (1.3):
-	  Fixed c_str() use.
-
-2008-09-29 Monday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.defs.hh (1.4):
-	  Temporarily inhibited DEFINE_ASCII_DUMP_LOAD_FUNCTIONS.
-
-2008-09-29 Monday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/cxxoutput.c (1.2): Test with a higher
-	  dimension.  Handle the case where malloc() returns 0.
-
-2008-09-29 Monday 18:30  Abramo Bagnara
-
-	* interfaces/C/tests/print_to_buffer.cc (1.2): Fixed corner case.
-
-2008-09-29 Monday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.376), configure.repo (1.9),
-	  interfaces/C/tests/Makefile.am (1.1),
-	  interfaces/C/tests/cxxoutput.c (1.1),
-	  interfaces/C/tests/print_to_buffer.cc (1.1),
-	  interfaces/C/tests/print_to_buffer.h (1.1): Drafted a new test
-	  for the C interface, showing how to print a nice debugging output
-	  onto a malloc-allocated buffer.  (The wrap_to_buffer() routine in
-	  print_to_buffer.cc has been written by Abramo Bagnara.)
-
-2008-09-29 Monday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/Makefile.am (1.30): Do create
-	  ppl_prolog_generated_test.stamp.
-
-2008-09-29 Monday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/.cvsignore (1.1): Put under CVS control.
-
-2008-09-29 Monday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/tests/.cvsignore (bounded_arithmetic.1): file
-	  .cvsignore was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:27 +0000
-
-2008-09-29 Monday 16:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.265): Item revised.
-
-2008-09-29 Monday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.264): Pushed an item to PPL 0.11 or later version.
-
-2008-09-29 Monday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory1.cc (1.16): The Alpha is no longer
-	  special, as far as this test is concerned.
-
-2008-09-29 Monday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory1.cc (1.15): Use
-	  PPL_CXX_SUPPORTS_LIMITING_MEMORY.
-
-2008-09-29 Monday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.375), configure.repo (1.8): Use
-	  AC_CXX_SUPPORTS_LIMITING_MEMORY.
-
-2008-09-29 Monday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_limit_memory.m4 (1.1): New function to check whether it
-	  is possible to limit the memory available to processes using
-	  setrlimit().
-
-2008-09-29 Monday 11:49  Abramo Bagnara
-
-	* src/checked_mpz.inlines.hh (1.57): Fixed typo.
-
-2008-09-29 Monday 09:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/maxspacedim1.cc (1.18): Avoid testing with non
-	  supported floating point types.
-
-2008-09-29 Monday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/affinepreimage1.cc (1.25),
-	  BD_Shape/containsintegerpoint1.cc (1.6), BD_Shape/maxspacedim1.cc
-	  (1.6), Octagonal_Shape/affinepreimage1.cc (1.8),
-	  Octagonal_Shape/containsintegerpoint1.cc (1.7),
-	  Octagonal_Shape/maxspacedim1.cc (1.6): Avoid using non supported
-	  floating point types.
-
-2008-09-29 Monday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.24): Generalized so as to avoid
-	  using non supported floating point types.
-
-2008-09-29 Monday 09:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.33),
-	  Java/jni/ppl_java_common.cc (1.46),
-	  Java/jni/ppl_java_common.defs.hh (1.2),
-	  Java/jni/ppl_java_globals.cc (1.19),
-	  Java/parma_polyhedra_library/Control_Parameter_Name.java (1.1),
-	  Java/parma_polyhedra_library/Control_Parameter_Value.java (1.1),
-	  Java/parma_polyhedra_library/MIP_Problem.java (1.3),
-	  Java/parma_polyhedra_library/Makefile.am (1.9),
-	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.20),
-	  OCaml/ppl_ocaml_common.cc (1.4), OCaml/ppl_ocaml_globals.ml
-	  (1.12), OCaml/ppl_ocaml_types.ml (1.13), OCaml/tests/test1.ml
-	  (1.14),
-	  Prolog/ppl_interface_generator_prolog_procedure_generators.m4
-	  (1.5), Prolog/ppl_prolog_common.cc (1.7),
-	  Prolog/ppl_prolog_common.defs.hh (1.7),
-	  Prolog/Ciao/ciao_pl_check.pl (1.29), Prolog/XSB/xsb_pl_check.P
-	  (1.35), Prolog/tests/pl_check.pl (1.58): The new methods for
-	  MIP_Problem for the control_parameters now added to the Java,
-	  OCaml and Prolog interfaces.
-
-	  Tests for these methods for the OCaml and Prolog interfaces
-	  added.
-
-	  Added a new macro to ppl_interface_generator_common.m4 that finds
-	  the difference of two sequences - as yet unused.
-
-2008-09-29 Monday 09:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.18): Corrected schema names for the partition methods and
-	  fixed a bug in the code for approximate_partition.
-
-2008-09-29 Monday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem3.cc (1.7): Test 09 overflows with 64
-	  bit integers too.
-
-2008-09-28 Sunday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.cc (1.17): Improved check_distance().
-
-2008-09-28 Sunday 17:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem3.cc (1.6): Modified known results of
-	  tests 05 and 08; for test 05, modified feasible region so as to
-	  have a unique optimal solution.
-
-2008-09-28 Sunday 17:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (1.13): Minor modification to
-	  the feasible region for test06 so as to have a unique optimal
-	  solution.
-
-2008-09-28 Sunday 17:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.cc (1.16): Avoid a division-by-zero error when
-	  printing +inf in check_distance.
-
-2008-09-28 Sunday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.72): The MIP solver no longer depends on
-	  the set of floating point types that are fully supported by the
-	  PPL.
-
-2008-09-28 Sunday 15:04  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.101), Checked_Number.inlines.hh
-	  (1.83): Reverted operator/assign specializations removal.
-
-2008-09-28 Sunday 14:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_binary_format.m4 (1.10): Work around
-	  http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37661.
-
-2008-09-28 Sunday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.374), configure.repo (1.7): Avoid unsupported
-	  instantiations.
-
-2008-09-28 Sunday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/user-foreign-language-interface.doxyconf.in (1.3): Corrected
-	  value for configuration variable EXPAND_AS_DEFINED.
-
-2008-09-28 Sunday 12:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.81): Corrected dependencies for the C
-	  documentation.
-
-2008-09-28 Sunday 12:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: C_interface.dox (1.12), ppl_c_header.h (1.7),
-	  ppl_interface_generator_c_h.m4 (1.24),
-	  ppl_interface_generator_c_h_code.m4 (1.44): Added brief
-	  descriptions for the generated interfaces when building the
-	  configuration-dependent documentation.  Reorganized the
-	  preprocessor macros for IO operators (they now come in two
-	  version, with and without brief documentation).
-
-2008-09-28 Sunday 12:02  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.100), Checked_Number.inlines.hh
-	  (1.82): Reverted illegal code simplification.
-
-2008-09-28 Sunday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval1.cc (1.10): Test only with the supported
-	  floating point types.
-
-2008-09-28 Sunday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: FCAIBVP.cc (1.7), FCAIBVP.defs.hh (1.7),
-	  FCAIBVP.inlines.hh (1.7), FCAIBVP.types.hh (1.4), Makefile.am
-	  (1.271), Partial_Function.cc (1.8), Partial_Function.defs.hh
-	  (1.6), Partial_Function.inlines.hh (1.5),
-	  Partial_Function.types.hh (1.4), ppl_test.cc (1.15), ppl_test.hh
-	  (1.77), print.cc (1.30), print.hh (1.47): Test stuff reorganized.
-
-2008-09-28 Sunday 10:56  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh (1.99), src/Checked_Number.inlines.hh
-	  (1.81), src/Interval.defs.hh (1.58), src/checked.defs.hh (1.46),
-	  src/checked.inlines.hh (1.44), src/checked_ext.inlines.hh (1.42),
-	  src/checked_float.inlines.hh (1.90), src/checked_int.inlines.hh
-	  (1.68), src/checked_mpq.inlines.hh (1.47),
-	  src/checked_mpz.inlines.hh (1.56), tests/ppl_test.cc (1.14):
-	  Abstracted special values to avoid use of native floating point
-	  types when they are unuseable.
-
-2008-09-27 Saturday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* instchk.hh (1.18): Reject instantiations using unsupported
-	  floating point types.
-
-2008-09-27 Saturday 20:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
-	  (1.13): In the C interface, also enabled the @BINMINOP@ methods
-	  (deprecated, but still here for backward compatibility with 0.9).
-
-2008-09-27 Saturday 19:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: Java/ppl_interface_generator_java_dox_code.m4 (1.4),
-	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.17),
-	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.10), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.53),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.48),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.39),
-	  OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.15):
-	  For the Java and OCaml interfaces, get rid of useless templates
-	  for the add_ at REPRESENT@(s)_and_minimize and the @BINMINOP@
-	  operators (these are deprecated and only kept for the C
-	  interface).
-
-2008-09-27 Saturday 19:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
-	  (1.12): Re-enable the add_..._and_minimize methods for the C
-	  interface.
-
-2008-09-27 Saturday 13:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.52): Bug
-	  whereby the code for the BHZ03 widening for the powerset domains
-	  was not being generated for the C interface fixed.
-
-2008-09-27 Saturday 12:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.37): Reenable the partition methods for the interfaces.
-
-2008-09-27 Saturday 12:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.80): More corrections for the clean targets.
-
-2008-09-27 Saturday 10:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.79): Corrected typo whereby the core user and
-	  devref html docs were not cleaned up.
-
-2008-09-27 Saturday 09:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.90): Changes
-	  that should have been included in previous commit.
-
-2008-09-27 Saturday 09:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.36): Disabled the generation of
-	  [linear,approximated]_partition code, as it was breaking the
-	  build.
-
-2008-09-27 Saturday 08:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.60): Reverted previous change, as it
-	  breaks the build.
-
-2008-09-27 Saturday 00:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.35),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.51),
-	  C/ppl_interface_generator_c_h_code.m4 (1.43),
-	  Java/ppl_interface_generator_java_dox_code.m4 (1.3),
-	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.16),
-	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.9), Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.46), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.52),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.47),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.38),
-	  OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.14),
-	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.14),
-	  Prolog/ppl_interface_generator_prolog_dox_code.m4 (1.4),
-	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.12),
-	  Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (1.4): Fixed a problem in the code generation for
-	  linear_partition and approximate_partition.
-
-	  This problem occurred in the Prolog interfaces when the list of
-	  instantiations did not include Pointset_Powerset<NNC_Polyhedron>
-	  and/or Pointset_Powerset<Grid>.
-
-	  Note that each of the Prolog systems generates
-	  headers/declarations for every instance of every active schema in
-	  the procedure list.  Therefore if the code is not required
-	  because the set of instantiations does not include
-	  Pointset_Powerset<NNC_Polyhedron> (resp.,
-	  Pointset_Powerset<Grid>) we have also to ensure that the
-	  header/declaration is not generated.
-
-2008-09-26 Friday 23:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/Makefile.am (1.59): Corrected a file name and
-	  removed unnecessary repetitions.
-
-2008-09-26 Friday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_code.m4 (1.42): Added
-	  \relates Doxygen commands to the function declaration templates.
-
-2008-09-26 Friday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (1.23): Use m4 macro
-	  m4_pre_extra_class_code to introduce the name of the interface in
-	  the Doxygen configuration-dependent manuals.
-
-2008-09-26 Friday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.11): Documented conversion
-	  constructors taking a complexity class as argument.
-
-2008-09-26 Friday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: OCaml/ppl_ocaml_common.cc (1.3),
-	  Prolog/ppl_prolog_common.cc (1.6),
-	  Prolog/ppl_prolog_common.defs.hh (1.6): Added minimal explanation
-	  for functions and variables that are commented out via (trivial)
-	  preprocessing conditionals. Similar stuff grouped together, so as
-	  to also minimize the number of conditionals.
-
-2008-09-26 Friday 13:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.templates.hh (1.131), MIP_Problem.cc (1.71),
-	  OR_Matrix.inlines.hh (1.11), Octagonal_Shape.templates.hh (1.90),
-	  Polyhedron_public.cc (1.143): Added a few missing comments to
-	  preprocessing conditionals.  Removed a few lines of (old, ad-hoc,
-	  debugging related, no longer working) code that was already
-	  filtered away by a preprocessing conditional.
-
-2008-09-26 Friday 12:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (1.3): Commented test, uncommented.
-
-2008-09-26 Friday 11:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.89): Enable
-	  omega_reduce() in all the interfaces for the powerset domains.
-
-2008-09-26 Friday 11:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.15): When translating a C++ std::pair object into a Java Pair
-	  object, avoid useless copies of the pair elements (use swaps
-	  instead).
-
-2008-09-26 Friday 11:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/difference1.cc (1.8): Enabled test15 (that was
-	  witnessing a bug, now corrected).
-
-2008-09-26 Friday 11:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/difference1.cc (bounded_arithmetic.1): file
-	  difference1.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:38 +0000
-
-2008-09-26 Friday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.130): Corrected a bug (spotted by Pat) on
-	  the difference_assign method.
-
-2008-09-26 Friday 11:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/difference1.cc (1.7): Added commented test that shows
-	  an assertion failure.
-
-2008-09-26 Friday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.10): Added hand-crafted
-	  documentation for the ad-hoc types and functions provided by
-	  Pointset_Powerset.
-
-2008-09-26 Friday 10:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.34),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.50),
-	  C/ppl_interface_generator_c_h_code.m4 (1.41),
-	  C/ppl_interface_generator_c_procedure_generators.m4 (1.11),
-	  Java/ppl_interface_generator_java_dox_code.m4 (1.2),
-	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.14),
-	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.8), Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.45), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.51),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.46),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.37),
-	  OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
-	  (1.6), OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
-	  (1.13), Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.13),
-	  Prolog/ppl_interface_generator_prolog_dox_code.m4 (1.3),
-	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.11),
-	  Prolog/tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (1.2): Completed the code and main changes needed for
-	  linear_partition and approximate_partition in all the interfaces.
-
-	  Now the methods' classes are always simple and the partition is
-	  always in the Pointset_Powerset<NNC_Polyhedron> (if the domain is
-	  not Grid) or Pointset_Powerset<Grid> for the grid domain.
-
-	  Simple tests for these new methods added for the different
-	  interfaces.
-
-2008-09-26 Friday 00:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.33): Disable linear_partition methods again until the Prolog
-	  tests have been adapted.
-
-2008-09-25 Thursday 23:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.32),
-	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.13),
-	  Java/tests/ppl_java_tests_common (1.16): Allow for changes to
-	  linear_partition in Java.  Simplified the coefficients in the
-	  tests so as to avoid an unintended overflow exception.
-
-2008-09-25 Thursday 23:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (1.12): Implemented ppl_ at CLASS@_linear_partition/4,
-	  distinguishing the polyhedron and the non-polyhedron cases.
-
-2008-09-25 Thursday 23:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
-	  (1.10): Added declaration for ppl_ at CLASS@_linear_partition/4.
-
-2008-09-25 Thursday 19:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.31): The method schema just added for linear_partiton,
-	  commented out as this broke the build of the prolog interface.
-
-2008-09-25 Thursday 18:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.30),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.49),
-	  C/ppl_interface_generator_c_h_code.m4 (1.40),
-	  Java/jni/ppl_interface_generator_java_classes_cc_code.m4 (1.12),
-	  Java/jni/ppl_interface_generator_java_classes_cc_files.m4 (1.7),
-	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.7), Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.44), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.50),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.45),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.36),
-	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.11),
-	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.9): Started
-	  changes for linear_partition in the interfaces so that its class
-	  is that of its arguments and the 1st argument of the returned
-	  pair.  The schema for this is called ppl_ at CLASS@_linear_partition
-	  to avoid confusion with the old schema ppl_ at CLASS@_ at PARTITION@.
-
-2008-09-25 Thursday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_java_classes_cc_files.m4 was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:27 +0000
-
-2008-09-25 Thursday 18:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c_header.h (1.6): Use alias \extref instead of
-	  \ref when referring to external documentation (i.e., the core
-	  manuals) so that tag files will work for HTML and no error is
-	  obtained in LaTeX.
-
-2008-09-25 Thursday 18:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (1.22): Disabled
-	  Doxygen grouping in the generated code.
-
-2008-09-25 Thursday 18:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.78): Added a few missing dependencies.
-	  Restored a few calls to ocamldoc, so as to produce ocamldoc.sty
-	  (to be re-checked).
-
-2008-09-25 Thursday 12:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.48),
-	  ppl_interface_generator_c_h_code.m4 (1.39): Added more methods to
-	  the C interface code.
-
-2008-09-25 Thursday 12:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: C_interface.dox (1.9), ppl_c_header.h (1.5),
-	  ppl_c_version.h.in (1.9): Exploit the \interface Doxygen command
-	  in combination with \relates so as to group related types and
-	  functions in the C interface documentation.  Striclty speaking,
-	  an (opaque) C structure tag is not an interface ...  but for our
-	  purposes it behaves as if it was.
-
-2008-09-25 Thursday 10:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/tests/: ppl_interface_generator_java_test_java.m4
-	  (1.19), ppl_interface_generator_java_test_java_code.m4 (1.43),
-	  ppl_java_tests_common (1.15): Test generation improved,
-	  simplified and comments added.  Code for generating tests
-	  improved and each test is independent from the others.  For the
-	  generated code, all but one method is now tested.  Note that much
-	  of the fixed code such as for the MIP domain is not  yet tested.
-
-2008-09-25 Thursday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.77): The ocamldoc tool should be only invoked
-	  when building the configuration-dependent documentation.
-
-2008-09-25 Thursday 00:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.29),
-	  Prolog/ppl_interface_generator_prolog_procedure_generators.m4
-	  (1.4): Restore the "and_minimize" predicates disabled in the
-	  previous commit for the Prolog interfaces as otherwise the tests
-	  in pl_check.pl.  clpq.pl and clpq2.pl will not compile.
-
-2008-09-25 Thursday 00:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.88),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.28),
-	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.49),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.44),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.35): Disable
-	  all the "and_minimize" methods in all the interfaces.
-
-	  Ensure that linear_partition method is only used if the
-	  Pointset_Powerset<NNC_Polyhedron> is one of the instantiations.
-
-	  Add the OCaml code for "approximate_partition" in the Grid
-	  domain.
-
-	  Note that tests for both linear_partition and
-	  approximate_partition still to be added.
-
-2008-09-24 Wednesday 22:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.76): Expanded and reorganized the set of
-	  documentation targets. We now support targets whose name
-	  specifies for whom to produce (user/devref) and the desired
-	  format (html, pdf, ps). For instance, we have targets such as
-	  `user-html', `user-pdf', `devref-ps', etc.  Targets `user' and
-	  `devref' produce all three formats.  Adding the word `configured'
-	  (e.g., user-configured-html or devref-configured) allows for
-	  building configuration dependent docs for the foreign language
-	  intefaces; targets user-all and devref-all produce both the
-	  configuration dependent and the configuration-independent
-	  manuals.  Target `world' produces all kind of manuals (as
-	  before).
-
-2008-09-24 Wednesday 21:26  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.48), ppl_interface_generator_ocaml_ml_code.m4 (1.43),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.34): Fixed the
-	  return value in ppl_ at CLASS@_OK and
-	  ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign.  Added code for
-	  ppl_ at CLASS@_ at PARTITION@ but has still to be tested.
-
-2008-09-24 Wednesday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.89): Spacing fixed.
-
-2008-09-24 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README.doc (1.18): Typo fixed.
-
-2008-09-24 Wednesday 17:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/:
-	  ppl_interface_generator_java_procedure_generators.m4 (1.9),
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.11),
-	  tests/ppl_interface_generator_java_test_java_code.m4 (1.42),
-	  tests/ppl_java_tests_common (1.14): Schematic tests in m4 will
-	  generate tests for all Java interface methods.  A couple of bugs
-	  in the code generator file
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 fixed.
-
-2008-09-24 Wednesday 13:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.10),
-	  tests/ppl_interface_generator_java_test_java_code.m4 (1.41),
-	  tests/ppl_java_tests_common (1.13): Fixed a bug in the Java
-	  interface cpde for the get_minimized methods.  Added tests for
-	  swap and get_minimized.  Added the congruences2 variable to the
-	  common code.
-
-2008-09-24 Wednesday 12:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.9),
-	  tests/ppl_interface_generator_java_test_java.m4 (1.18),
-	  tests/ppl_interface_generator_java_test_java_code.m4 (1.40):
-	  Corrected a bug when building from a grid_generator_system.
-
-	  Each method test has its own block, allowing for local variables.
-	   Each method test outputs a message and after checking the main
-	  domain element using OK(), outputs "success" if OK() succeeds.
-
-	  Added a few tests for constructing a domain element.
-
-	  Any procedure schemas not defined at all will now cause a warning
-	  message on standard output. Hence dummy definitions have been
-	  added for the procedure schemas that have no tests.
-
-2008-09-24 Wednesday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/Makefile.am (1.29): Removed an unused
-	  definition.
-
-2008-09-24 Wednesday 09:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.96): Corrected typo in name
-	  of distributed file.
-
-2008-09-24 Wednesday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.35): Use the PPL_SUPPORTED_* macros in
-	  order to check whether particular floating point types are
-	  supported.
-
-2008-09-24 Wednesday 08:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.70): Temporarily, if doubles are
-	  unavailable use floats, if floats are unavailable use long
-	  doubles.
-
-2008-09-24 Wednesday 08:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.75): Added missing dependency and corrected
-	  doxygen input file for Java devref.
-
-2008-09-24 Wednesday 08:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/Makefile.am (1.28): Corrected typo in
-	  dependency name.
-
-2008-09-23 Tuesday 22:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/Makefile.am (1.27): Generated tests are
-	  now removed by makeclean.
-
-2008-09-23 Tuesday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.263): Added one item for PPL 0.11.
-
-2008-09-23 Tuesday 21:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/difference1.cc (1.6): Completed a comment for test14.
-
-2008-09-23 Tuesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float_binary_format.m4 (1.9): Test strengthened to
-	  check also a couple of denormal values.
-
-2008-09-23 Tuesday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.373), configure.repo (1.6): New Autoconf variable
-	  `required_instantiations_prolog_generated_test_sources'.
-
-2008-09-23 Tuesday 20:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/difference1.cc (1.5): Print statements improved.
-
-2008-09-23 Tuesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_ieee_inexact_flag.m4 (1.4): Cater for the case where
-	  the FE_INEXACT macro is undefined.  This should fix the bug
-	  described in
-	  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=499746.
-
-2008-09-23 Tuesday 20:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.129): Box<ITV>::difference_assign(const
-	  Box&) slightly optimized.
-
-2008-09-23 Tuesday 19:36  Abramo Bagnara
-
-	* tests/Box/difference1.cc (1.4): test14 does not fail now.
-
-2008-09-23 Tuesday 19:34  Abramo Bagnara
-
-	* src/Interval.inlines.hh (1.42): Added missing clear.
-
-2008-09-23 Tuesday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/difference1.cc (1.3): Print statements of test14()
-	  revised.
-
-2008-09-23 Tuesday 18:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/Makefile.am (1.26): Corrected the name of
-	  a test file.
-
-2008-09-23 Tuesday 18:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.82), GNU/Makefile.am
-	  (1.78), SICStus/Makefile.am (1.96), SWI/Makefile.am (1.95),
-	  XSB/Makefile.am (1.75),
-	  XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4 (1.2),
-	  YAP/Makefile.am (1.67), tests/Makefile.am (1.25): Try to follow
-	  the standards for the makefiles.  Fixed a bug in
-	  XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
-
-2008-09-23 Tuesday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_xsb_prolog_generated_test_P.m4 was added
-	  on branch bounded_arithmetic on 2008-10-29 20:45:33 +0000
-
-2008-09-23 Tuesday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
-	  (bounded_arithmetic.1): file ppl_prolog_generated_test_common.pl
-	  was added on branch bounded_arithmetic on 2008-10-29 20:45:33
-	  +0000
-
-2008-09-23 Tuesday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
-	  (bounded_arithmetic.1): file sp_prolog_generated_test.pl was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:32 +0000
-
-2008-09-23 Tuesday 17:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.81),
-	  Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4 (1.10),
-	  Ciao/ppl_interface_generator_ciao_prolog_generated_test_pl.m4
-	  (1.1), SICStus/Makefile.am (1.95), SICStus/sp_predicate_check.pl
-	  (1.10), SICStus/sp_prolog_generated_test.pl (1.1),
-	  SWI/Makefile.am (1.94), SWI/swi_predicate_check.pl (1.8),
-	  SWI/swi_prolog_generated_test.pl (1.1), XSB/Makefile.am (1.74),
-	  XSB/ppl_interface_generator_xsb_predicate_check_P.m4 (1.11),
-	  XSB/ppl_interface_generator_xsb_prolog_generated_test_P.m4 (1.1),
-	  tests/Makefile.am (1.24),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.83),
-	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.37),
-	  tests/ppl_interface_generator_prolog_generated_test_pl.m4 (1.1),
-	  tests/ppl_interface_generator_prolog_generated_test_pl_code.m4
-	  (1.1), tests/ppl_predicate_check_common.pl (1.13),
-	  tests/ppl_prolog_generated_test_common.pl (1.1): Renamed the
-	  predicate_check generated test files to have the form
-	  ppl_prolog_generated_test_<...>.xx The generating files and
-	  common files renamed similarly.
-
-2008-09-23 Tuesday 16:45  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.47), ppl_interface_generator_ocaml_ml_code.m4 (1.42),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.33),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.12):
-	  'ascii_dump' added to OCaml interface.
-
-2008-09-23 Tuesday 12:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Partially_Reduced_Product/: directproduct1.cc (1.4),
-	  directproduct2.cc (1.3), directproduct3.cc (1.4): Cleaned several
-	  tests.
-
-2008-09-23 Tuesday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/difference1.cc (1.2): New test14 shows a bug in
-	  difference_assign()
-
-2008-09-23 Tuesday 10:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.88): Corrected bug in
-	  minimized_congruences, spotted by test09 in congruences1.cc.
-
-2008-09-23 Tuesday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/congruences1.cc (1.6): New test shows a bug
-	  in minimized_congruences (spotted by Pat).
-
-2008-09-23 Tuesday 08:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-foreign-language-interface.doxyconf.in (1.3),
-	  interfaces-html.sed (1.2), interfaces-latex.sed (1.2),
-	  user-foreign-language-interface.doxyconf.in (1.2): Avoid a
-	  Doxygen error for inexistent tagfile when building the LaTeX
-	  docs.
-
-2008-09-22 Monday 21:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.64): Distribute all files needed
-	  for the generation of Prolog_interface.dox.
-
-2008-09-22 Monday 20:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.74): Corrected a couple of typos.
-
-2008-09-22 Monday 20:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/tests/Makefile.am (1.22): Call libtool when
-	  compiling NNC_Polyhedron_test1.
-
-2008-09-22 Monday 20:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/jni/Makefile.am (1.27): CLEANFILES moved out of
-	  conditional.
-
-2008-09-22 Monday 20:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (1.23): Target Java_interface.dox
-	  placed out of #if BUILD_JAVA_INTERFACE conditional and listed in
-	  dist_noinst_DATA.
-
-2008-09-22 Monday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.63): BUILT_SOURCES must contain
-	  ppl_prolog_domains.cc.stamp.
-
-2008-09-22 Monday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.62): Actually build
-	  ppl_prolog_domains.cc.stamp.
-
-2008-09-22 Monday 17:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.87),
-	  Prolog/Makefile.am (1.61),
-	  Prolog/ppl_interface_generator_prolog_cc_files.m4 (1.10),
-	  Prolog/ppl_interface_generator_prolog_hh_files.m4 (1.9): The file
-	  ppl_prolog_domains.cc is not needed.	Ensure that in the
-	  generated tests a powerset of grids is built by default from
-	  congruences and not constraints.  This fixes a bug when testing
-	  ppl_predicate_check_test for the Pointset_Powerset_Grid domain.
-
-2008-09-22 Monday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_ieee_inexact_flag.m4 (1.3): Made consistent with our
-	  code for controlling the FPUs.
-
-2008-09-22 Monday 16:07  Andrea Cimino
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.8): Apply the previous fix also in the jni directory.  Now the
-	  `make check' should pass.
-
-2008-09-22 Monday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.372), configure.repo (1.5),
-	  interfaces/Prolog/Makefile.am (1.60): Avoid wildcard characters
-	  in *CLEANFILES variables.
-
-2008-09-22 Monday 14:41  Andrea Cimino
-
-	* interfaces/Java/:
-	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.6), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.39): Use DISJUNCT instead of CPP_DISJUNCT where appropriate.
-	  Now the Java interface compiles with	--enable-instantiations=all
-
-2008-09-22 Monday 14:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Makefile.am (1.59): Revised the organisation of
-	  the Makefile so that Prolog_interfaces.dox is built outside the
-	  #if BUILD_* conditional.  Removed Prolog_interfaces.dox from the
-	  BUILT_SOURCES and included them with dist_noinst_DATA.  Use
-	  CLEANFILES instead of DISTCLEANFILES for all files built with
-	  make all.
-
-2008-09-22 Monday 13:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.46), ppl_interface_generator_ocaml_ml_code.m4 (1.41),
-	  ppl_interface_generator_ocaml_mli.m4 (1.19),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.32),
-	  ppl_ocaml_common.cc (1.2), ppl_ocaml_common.defs.hh (1.2),
-	  ppl_ocaml_types.ml (1.12),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.11): Added
-	  functions:
-	  ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity,
-	  ppl_ at CLASS@_widening_assign,
-	  ppl_ at CLASS@_widening_assign_with_tokens.
-
-	  Added the Complexity_Class type.
-
-	  Added tests to test these.  Also added tests to test the
-	  unconstrain(s) methods.
-
-2008-09-22 Monday 13:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_common.defs.hh (bounded_arithmetic.1):
-	  file ppl_ocaml_common.defs.hh was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:30 +0000
-
-2008-09-22 Monday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.7),
-	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.5), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.38): Added/enabled methods:
-
-	  unconstrain_space_dimension_code,
-	  unconstrain_space_dimensions_code,
-	  BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign,
-	  BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign,
-	  approximate_partition.
-
-	  and the relevant tests.
-
-2008-09-22 Monday 11:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.73): ALso distribute interfaces-html.sed and
-	  interfaces-latex.sed.
-
-2008-09-22 Monday 09:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Makefile.am (1.58): Restore
-	  Prolog_interface.dox as a built source to ensure the file is
-	  generated before building the documentation.
-
-2008-09-22 Monday 08:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_classes_cc_files.m4 (1.6),
-	  ppl_java_globals.cc (1.18): Include "ppl_java_common.defs.hh"
-
-2008-09-22 Monday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/: Makefile.am (1.26),
-	  ppl_interface_generator_java_classes_cc_code.m4 (1.6),
-	  ppl_java_common.cc (1.45), ppl_java_common.defs.hh (1.1),
-	  ppl_java_common.hh (1.41), ppl_java_common.inlines.hh (1.1):
-	  Splitted ppl_java_common.hh.	Made several improvements (but many
-	  FIXMEs remain).
-
-2008-09-21 Sunday 23:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Makefile.am (1.57): Missing separator added.
-
-2008-09-21 Sunday 23:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Makefile.am (1.56),
-	  ppl_interface_generator_prolog_dox.m4 (1.4): Changed so that
-	  there are no unnecessary dependencies on the
-	  ppl_interface_instantiations when generating the documentation.
-
-2008-09-21 Sunday 22:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.86): Revised
-	  so as to allow for the documentation not to include
-	  ppl_interface_instantiations.m4.
-
-2008-09-21 Sunday 22:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/: Makefile.am (1.22),
-	  ppl_interface_generator_java_dox.m4 (1.3): Avoid unnecessary
-	  dependency on the generated ppl_interface_instantiations.m4
-
-2008-09-21 Sunday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.371), configure.repo (1.4): Fixed the
-	  implementation of `--enable-instantiations=all'.
-
-2008-09-21 Sunday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.29): Improved the explanation on how to use
-	  the `configure.repo' files.
-
-2008-09-21 Sunday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (1.21): Java_interface.dox should not
-	  belong to BUILT_SOURCES.
-
-2008-09-21 Sunday 17:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.72): Also clean LaTeX header files for
-	  configurated interfaces.
-
-2008-09-21 Sunday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: Makefile.am (1.71), devref-foreign-language-interface.tex
-	  (1.2), user-foreign-language-interface.tex (1.2): Added missing
-	  replacement targets for sed in the devref LaTeX header file.
-	  Added a new replacement for \usepackage{ocamldoc}.
-
-2008-09-21 Sunday 17:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.70): Further targets added to build
-	  configuration-dependent foreign language interface docs.
-
-2008-09-21 Sunday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/frombox1.cc (1.7): Print also the constraints of `src'
-	  in test05().
-
-2008-09-21 Sunday 15:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/devref-foreign-language-interface.doxyconf.in (1.2): The
-	  latex header file is in the build dir, not in the source dir.
-
-2008-09-21 Sunday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.370), configure.repo (1.3), doc/Makefile.am
-	  (1.69), doc/devref-c-interface.doxyconf-html.in (1.8),
-	  doc/devref-c-interface.doxyconf-latex.in (1.8),
-	  doc/devref-c-interface.tex (1.6),
-	  doc/devref-foreign-language-interface.doxyconf.in (1.1),
-	  doc/devref-foreign-language-interface.tex (1.1),
-	  doc/devref-java-interface.doxyconf-html.in (1.5),
-	  doc/devref-java-interface.doxyconf-latex.in (1.5),
-	  doc/devref-java-interface.tex (1.3),
-	  doc/devref-ocaml-interface.doxyconf-html.in (1.4),
-	  doc/devref-ocaml-interface.doxyconf-latex.in (1.4),
-	  doc/devref-ocaml-interface.tex (1.2),
-	  doc/devref-prolog-interface.doxyconf-html.in (1.10),
-	  doc/devref-prolog-interface.doxyconf-latex.in (1.10),
-	  doc/devref-prolog-interface.tex (1.2), doc/interfaces-html.sed
-	  (1.1), doc/interfaces-latex.sed (1.1),
-	  doc/user-c-interface.doxyconf-html.in (1.9),
-	  doc/user-c-interface.doxyconf-latex.in (1.9),
-	  doc/user-c-interface.tex (1.6),
-	  doc/user-foreign-language-interface.doxyconf.in (1.1),
-	  doc/user-foreign-language-interface.tex (1.1),
-	  doc/user-java-interface.doxyconf-html.in (1.5),
-	  doc/user-java-interface.doxyconf-latex.in (1.5),
-	  doc/user-java-interface.tex (1.3),
-	  doc/user-ocaml-interface.doxyconf-html.in (1.3),
-	  doc/user-ocaml-interface.doxyconf-latex.in (1.3),
-	  doc/user-ocaml-interface.tex (1.2),
-	  doc/user-prolog-interface.doxyconf-html.in (1.9),
-	  doc/user-prolog-interface.doxyconf-latex.in (1.10),
-	  doc/user-prolog-interface.tex (1.6): The doxygen configuration
-	  files and LaTeX headers for the foreign language interface
-	  manuals are now automatically generated from 4 template files and
-	  2 sed script files (plus Makefile.am machinery).  The overall
-	  infrastructure can be extended so as to generate both
-	  configuration independent and configuration dependent manuals.
-
-2008-09-21 Sunday 12:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/tests/ppl_java_tests_common (1.12): Change a
-	  coefficient from 3 to 2 to avoid an unintended overflow.
-
-2008-09-21 Sunday 07:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.inlines.hh (1.3):
-	  Indentation fixed.
-
-2008-09-21 Sunday 07:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (1.12): Fixed.
-
-2008-09-20 Saturday 23:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/tests/ppl_java_tests_common (1.11): Coefficients
-	  simplified to avoid unintended overflow errors.
-
-2008-09-20 Saturday 21:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.85): Comment
-	  corrected.
-
-2008-09-20 Saturday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.28): Added a new section on "Using the CVS
-	  Sources".  In particular, explained how it is possible to
-	  dispense with the use of Autoconf exploiting the presence of
-	  `configure.repo' in the repository (suggestion by Basile
-	  Starynkevitch).
-
-2008-09-20 Saturday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.369), configure.repo (1.2): Missing double quote
-	  added.
-
-2008-09-20 Saturday 20:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.84),
-	  Java/ppl_interface_generator_java_dox.m4 (1.2),
-	  Prolog/ppl_interface_generator_prolog_dox.m4 (1.3): Ensure that
-	  the documentation generators do not include the
-	  ppl_interface_instantiations.m4 file.
-
-2008-09-20 Saturday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.368), configure.repo (1.1), Watchdog/configure.ac
-	  (1.49), Watchdog/configure.repo (1.1): Capitalization fixed.
-
-2008-09-20 Saturday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/NEWS (1.11): Set a tentative release date.
-
-2008-09-20 Saturday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.235): Set a tentative release date.
-
-2008-09-20 Saturday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.48): We do not need the `win32-dll'
-	  Libtool option.
-
-2008-09-20 Saturday 20:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.367): Long lines avoided.
-
-2008-09-20 Saturday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.366): Computation of the set of all
-	  instantiations made independent from the default instantiations.
-
-2008-09-20 Saturday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.365): Useless work avoided.
-
-2008-09-20 Saturday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.53): Updated.
-
-2008-09-20 Saturday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.364): Version number bumped.
-
-2008-09-20 Saturday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.47): Punctuation improved.  Require
-	  Autoconf 2.60 or later.
-
-2008-09-20 Saturday 20:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.363): Comments improved.
-
-2008-09-20 Saturday 20:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.362): Punctuation fixed.
-
-2008-09-20 Saturday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.30), Watchdog/ChangeLog (1.19): Updated.
-
-2008-09-20 Saturday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_check_ciao.m4 (1.2), ac_check_fpu_control.m4 (1.7),
-	  ac_check_gmp.m4 (1.27), ac_check_swi_prolog.m4 (1.16),
-	  ac_cxx_double_binary_format.m4 (1.10),
-	  ac_cxx_float_binary_format.m4 (1.8),
-	  ac_cxx_long_double_binary_format.m4 (1.9),
-	  ac_cxx_proper_long_double.m4 (1.4), ac_cxx_remainder_bug.m4
-	  (1.5), ppl.m4 (1.10), ppl_c.m4 (1.3): For portability, prefer
-	  exit() to returns from main().
-
-2008-09-20 Saturday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_ieee_inexact_flag.m4 (1.2): Test improved: it did not
-	  work with optimizations turned on, it did not test with doubles
-	  and long doubles, and it triggered a compiler warning.
-
-2008-09-20 Saturday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (1.11): Now test01() must always
-	  succeed, as it takes into account that an overflow can occur
-	  before the timeout with 8-bit coefficients.
-
-2008-09-20 Saturday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_classes_cc_files.m4 (1.5),
-	  ppl_java_common.cc (1.44), ppl_java_common.hh (1.40),
-	  ppl_java_globals.cc (1.17): The Java interface implementation now
-	  lives in its own namespace.
-
-2008-09-20 Saturday 12:55  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.45), ppl_interface_generator_ocaml_ml_code.m4 (1.40),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.31),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.10):
-	  Restored ppl_ at CLASS@_ at UB_EXACT@.
-
-2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.cc (1.4),
-	  interfaces/C/ppl_c_implementation_common.defs.hh (1.3),
-	  interfaces/C/ppl_c_implementation_common.inlines.hh (1.2),
-	  interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.13),
-	  interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.8),
-	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (1.10), interfaces/Prolog/ppl_prolog_common.cc (1.5),
-	  interfaces/Prolog/ppl_prolog_common.defs.hh (1.5),
-	  interfaces/Prolog/Ciao/ciao_efli.cc (1.4),
-	  interfaces/Prolog/Ciao/ciao_efli.hh (1.3),
-	  interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh (1.2),
-	  interfaces/Prolog/GNU/gprolog_efli.cc (1.4),
-	  interfaces/Prolog/GNU/gprolog_efli.hh (1.2),
-	  interfaces/Prolog/GNU/ppl_prolog_sysdep.hh (1.2),
-	  interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh (1.2),
-	  interfaces/Prolog/SICStus/sicstus_efli.cc (1.3),
-	  interfaces/Prolog/SICStus/sicstus_efli.hh (1.2),
-	  interfaces/Prolog/SWI/ppl_prolog_sysdep.hh (1.3),
-	  interfaces/Prolog/SWI/swi_efli.cc (1.4),
-	  interfaces/Prolog/SWI/swi_efli.hh (1.5),
-	  interfaces/Prolog/XSB/ppl_prolog_sysdep.hh (1.3),
-	  interfaces/Prolog/XSB/xsb_efli.cc (1.5),
-	  interfaces/Prolog/XSB/xsb_efli.hh (1.2),
-	  interfaces/Prolog/YAP/ppl_prolog_sysdep.hh (1.2),
-	  interfaces/Prolog/YAP/yap_efli.cc (1.2),
-	  interfaces/Prolog/YAP/yap_efli.hh (1.2), src/namespaces.hh
-	  (1.15): The Interfaces namespace is now structured.
-
-2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_efli.hh (bounded_arithmetic.1): file
-	  ciao_efli.hh was added on branch bounded_arithmetic on 2008-10-29
-	  20:45:32 +0000
-
-2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_implementation_common.cc
-	  (bounded_arithmetic.1): file ppl_c_implementation_common.cc was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:26 +0000
-
-2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_c_cc_files.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:26 +0000
-
-2008-09-20 Saturday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
-	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:32 +0000
-
-2008-09-20 Saturday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.361): Conditionals improved.
-
-2008-09-20 Saturday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-c99.inlines.hh (1.18): When
-	  PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG evaluates to false,
-	  fpu_reset_inexact() does nothing and fpu_check_inexact() returns
-	  -1 ("don't know").
-
-2008-09-20 Saturday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.58): Do not distribute ppl_c.h.
-
-2008-09-20 Saturday 09:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.360), interfaces/C/Makefile.am (1.57): The C
-	  interface can only be enabled if Perl is available.
-
-2008-09-20 Saturday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Makefile.am (1.8): Clean
-	  also the class files.
-
-2008-09-20 Saturday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.359): New variable to collect the names of all
-	  the instantiations-dependent Java class files.  Several sed
-	  patterns improved.
-
-2008-09-20 Saturday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/: Makefile.am (1.4),
-	  asciidumpload1.cc (1.3): Write and clean ascii_dump_load1.dat.
-
-2008-09-20 Saturday 07:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval1.cc (1.9): Let test01() depend on
-	  PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG.
-
-2008-09-19 Friday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.358): For testing purpose, we now accept also the
-	  `--enable-instantiations=all' configure option.  (Currently this
-	  shows that our m4 code does not scale.)
-
-2008-09-19 Friday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* instchk.hh (1.17): Accept also the native floating point types as
-	  valid instances for bounded-difference and octagonal shapes.
-
-2008-09-19 Friday 22:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: C/Makefile.am (1.56), Java/jni/Makefile.am (1.25),
-	  OCaml/Makefile.am (1.54), Prolog/Ciao/Makefile.am (1.80),
-	  Prolog/GNU/Makefile.am (1.77), Prolog/SICStus/Makefile.am (1.94),
-	  Prolog/SWI/Makefile.am (1.93), Prolog/XSB/Makefile.am (1.73),
-	  Prolog/YAP/Makefile.am (1.66): Many more interface instantiations
-	  are now allowed.
-
-2008-09-19 Friday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_cfli.hh (1.6): Added one missing
-	  inline qualifier.  Static variable avoided.
-
-2008-09-19 Friday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.357): Check whether the IEEE inexact flag is
-	  supported in C++.
-
-2008-09-19 Friday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_ieee_inexact_flag.m4 (1.1): New function to check
-	  whether the IEEE inexact flag is supported and available to C++
-	  programs.
-
-2008-09-19 Friday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_remainder_bug.m4 (1.4): Indentation fixed.
-
-2008-09-19 Friday 20:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.356): The library now has file pathnames longer
-	  than 99 characters, which implies we can no longer use the old V7
-	  tar format.  We thus pass the `tar-ustar' option to
-	  AM_INIT_AUTOMAKE, which specifies using the ustar tar format
-	  defined by POSIX 1003.1-1988.  Consequently, we require Automake
-	  at least version 1.9 (the `tar-ustar' option was not available in
-	  previous releases).
-
-2008-09-19 Friday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.55): Distribute also ppl_c_header.h.
-
-2008-09-19 Friday 19:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.5),
-	  parma_polyhedra_library/Complexity_Class.java (1.1),
-	  parma_polyhedra_library/Makefile.am (1.7),
-	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.4), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.37): New Complexity_Class object that enumerates the different
-	  complexities.
-
-	  Added a method for building an object from another object
-	  possibly from anothe class with the complexity specified.
-
-	  Tests for this added.
-
-2008-09-19 Friday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Complexity_Class.java
-	  (bounded_arithmetic.1): file Complexity_Class.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-09-19 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.79): Define
-	  libppl_ciao_la_DEPENDENCIES.
-
-2008-09-19 Friday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.78): Fixed the definition
-	  of AM_CPPFLAGS.
-
-2008-09-19 Friday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh (1.1): Put under CVS
-	  control.
-
-2008-09-19 Friday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_efli.cc (1.3): Include
-	  "ppl_prolog_common.defs.hh".
-
-2008-09-19 Friday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_efli.hh (1.2): Declaration fixed.
-
-2008-09-19 Friday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_efli.cc (1.2): Removed useless PPL::
-	  qualifications.
-
-2008-09-19 Friday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: ciao_efli.cc (1.1), ciao_efli.hh (1.1),
-	  ppl_ciao.cc (1.54): New files ciao_efli.hh and ciao_efli.cc
-	  replace ppl_ciao.cc.
-
-2008-09-19 Friday 17:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/: expected_clpq2_int16_a (1.5),
-	  expected_clpq2_int8_a (1.7), expected_pchk_int16_a (1.8): Updated
-	  expected results for 8 and 16 bit coefficients with assertions
-	  enabled.
-
-2008-09-19 Friday 16:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/: expected_clpq2_int16 (1.5),
-	  expected_clpq2_int8 (1.7), expected_pchk_int16 (1.8): Fixed
-	  expected results for 8 and 16 bit coefficient configurations.
-
-2008-09-19 Friday 16:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.templates.hh (1.14): Fixed another
-	  uninitialization error for the pricing method.
-
-2008-09-19 Friday 16:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_cc_code.m4
-	  (1.9), ppl_interface_generator_prolog_cc_files.m4 (1.9),
-	  ppl_interface_generator_prolog_hh_files.m4 (1.8): Added debugging
-	  macro to indicate if any predicate schematic code is missing.
-	  Improved a cooment.
-
-2008-09-19 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.355): Enabled all default instantiations.
-	  Version number bumped.
-
-2008-09-19 Friday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem3.cc (1.5): Use the exact
-	  steepest-edge pricing rule on test06: this allows for obtaining
-	  deterministic overflow behavior when configured to use 8-bit
-	  checked integers.
-
-2008-09-19 Friday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: Makefile.am (1.53),
-	  ppl_interface_generator_ocaml_cc.m4 (1.12),
-	  ppl_interface_generator_ocaml_cc_code.m4 (1.44),
-	  ppl_interface_generator_ocaml_cc_files.m4 (1.3),
-	  ppl_interface_generator_ocaml_hh_code.m4 (1.3),
-	  ppl_interface_generator_ocaml_hh_files.m4 (1.2),
-	  ppl_interface_generator_ocaml_ml.m4 (1.17), ppl_ocaml_globals.cc
-	  (1.19): The OCaml interface now supports separate compilation.
-
-2008-09-19 Friday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_ocaml_cc_files.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:30 +0000
-
-2008-09-19 Friday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_ocaml_hh_files.m4 was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:30 +0000
-
-2008-09-19 Friday 14:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/hybrid.cc (1.9): No longer using deprecated
-	  methods (*_and_minimize).  Test 04, which before was known to
-	  overflow when using 8 bit coefficients with assertions enabled,
-	  now always succeeds.
-
-2008-09-19 Friday 14:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.inlines.hh (1.19): Avoid a warning when
-	  assertions are disabled.
-
-2008-09-19 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.354): Added new variables for the OCaml
-	  interface.
-
-2008-09-19 Friday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: ppl_ocaml_common.cc (1.1),
-	  ppl_ocaml_common.defs.hh (1.1), ppl_ocaml_common.inlines.hh
-	  (1.1): New files implementing the domain-independent part of the
-	  OCaml interface.
-
-2008-09-19 Friday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_common.inlines.hh
-	  (bounded_arithmetic.1): file ppl_ocaml_common.inlines.hh was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:30 +0000
-
-2008-09-19 Friday 13:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/: expected_int16_a (1.10), expected_int32_a
-	  (1.11), expected_int64_a (1.11), expected_int8_a (1.9): Updated
-	  expected results for bounded integers and assertions enabled.
-
-2008-09-19 Friday 13:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/:
-	  ppl_interface_generator_java_procedure_generators.m4 (1.8),
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.4),
-	  jni/ppl_interface_generator_java_classes_cc_files.m4 (1.4),
-	  parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
-	  (1.4),
-	  parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.3), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.36), tests/ppl_java_tests_common (1.10): Added m4 debug code
-	  so as to output a message if the definition of a schematic
-	  procedure is missing.
-
-	  Added code for several missing methods: add_disjunct
-	  widening_assign @EXTRAPOLATION at _extrapolation_assign
-
-	  Corrected a bug in the code for
-	  @LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign where the
-	  arguments were inconsistently ordered.
-
-	  Added several tests for the widening and extrapolation code.
-
-2008-09-19 Friday 12:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_mpz (1.16): Expected results for
-	  unbounded integers and assertions disabled.
-
-2008-09-19 Friday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.47), expected_int16 (1.11),
-	  expected_int32 (1.12), expected_int64 (1.12), expected_int8
-	  (1.10): Modified the check command so as to solve test problems
-	  using a deterministic pricing policy, as to obtain more
-	  predictable results across architectures.  Updated the expected
-	  results for bounded-size coefficient configurations (with
-	  assertions disabled).
-
-2008-09-19 Friday 10:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.79): Added new option -p,
-	  controlling the selection of the pricing method for the simplex
-	  computation.
-
-2008-09-19 Friday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c_header.h (1.4),
-	  ppl_c_implementation_common.cc (1.3): In the MIP_Problem section
-	  of the interface, added values corresponding to the control
-	  parameter setting and interfaced the new methods to get/set the
-	  control parameters.
-
-2008-09-19 Friday 10:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: MIP_Problem.cc (1.69), MIP_Problem.defs.hh (1.38),
-	  MIP_Problem.inlines.hh (1.18), MIP_Problem.templates.hh (1.13):
-	  Added public enums Control_Parameter_Name and
-	  Control_Parameter_Value: for the time being, the only control
-	  parameter name is PRICING for the pricing method, which can be
-	  set to three values.	Added public methods for getting/setting a
-	  control parameter value.  Modified the implementation so as to
-	  compute the simplex by using the pricing method specified by the
-	  control parameter settings.
-
-	  As for implementation, we temporarily use a
-	  Control_Parameter_Value variable (named `pricing') to store the
-	  singleton control parameter collection.  It is planned that this
-	  will be replaced by a bitset-based status word encoding, besides
-	  possible other control parameters, also the values of `status',
-	  `initialized' and `opt_mode'.
-
-2008-09-19 Friday 10:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.83): Fixed a
-	  bug so as to avoid generating spurious blank lines.
-
-2008-09-18 Thursday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
-	  (1.3): Added missing copyright notices.
-
-2008-09-18 Thursday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Makefile.am (1.6):
-	  Several kludges removed.
-
-2008-09-18 Thursday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
-	  (1.3): Fixed the spacing in the generated files.
-
-2008-09-18 Thursday 21:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.43), ppl_interface_generator_ocaml_ml_code.m4 (1.39),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.30): Added dummy
-	  code defining macro ppl_ at CLASS@_ at UB_EXACT@_code to all the
-	  "_code" files to avoid a warning.
-
-2008-09-18 Thursday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Makefile.am (1.5):
-	  Useless conditional removed.
-
-2008-09-18 Thursday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_globals.cc (1.16): Code formatting
-	  improved.
-
-2008-09-18 Thursday 21:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_code.m4
-	  (1.3): Removed spurious blank line.
-
-2008-09-18 Thursday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: C/Makefile.am (1.54), Java/jni/Makefile.am (1.24),
-	  Java/parma_polyhedra_library/Makefile.am (1.4), OCaml/Makefile.am
-	  (1.52): Standardize the handling of timestamps.
-
-2008-09-18 Thursday 18:21  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.42), ppl_interface_generator_ocaml_hh_code.m4 (1.2),
-	  ppl_interface_generator_ocaml_ml.m4 (1.16),
-	  ppl_interface_generator_ocaml_ml_code.m4 (1.38),
-	  ppl_interface_generator_ocaml_mli.m4 (1.18),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.29),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.9),
-	  tests/test1.ml (1.13): Types `c_polyhedron' and `nnc_polyhedron'
-	  are now merged in the new type `polyhedron' in the OCaml
-	  interface.  All the methods concerning c_polyhedron and
-	  nnc_polyhedron has been renamed for consistency with the other
-	  interfaces.  ppl_ at CLASS@_ at UB_EXACT@_code disabled.
-
-2008-09-18 Thursday 17:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/simplifyusingcontext1.cc (1.5): Test 9 fails on 8
-	  bit integers.
-
-2008-09-18 Thursday 16:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.78): Use maximize_with_point() and
-	  minimize_with_point() when wanting the point returned.
-
-2008-09-18 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.89): FIXME text made more
-	  precise.
-
-2008-09-18 Thursday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.353): On the Alpha, use the `-mieee-with-inexact'
-	  GCC option (`-ieee_with_inexact' for other compilers) in order to
-	  maintain the IEEE inexact-flag.
-
-2008-09-18 Thursday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc.m4 (1.11),
-	  ppl_interface_generator_ocaml_cc_code.m4 (1.41),
-	  ppl_interface_generator_ocaml_cc_files.m4 (1.2),
-	  ppl_interface_generator_ocaml_ml.m4 (1.15),
-	  ppl_interface_generator_ocaml_ml_code.m4 (1.37),
-	  ppl_interface_generator_ocaml_mli.m4 (1.17),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.28): As for the C
-	  interface, the m4 generating code outputs a warning message if
-	  any code is missing for each schematic procedure that is not
-	  defined.
-
-2008-09-18 Thursday 13:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (1.21): Outout the
-	  copyright notice in ppl_c_domains.h.
-
-2008-09-18 Thursday 12:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.352), interfaces/Java/jni/Makefile.am (1.23),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.15),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.58), interfaces/Java/parma_polyhedra_library/Makefile.am
-	  (1.3): The Java interface now uses separate compileation (some
-	  file-renaming is still pending though).
-
-2008-09-18 Thursday 12:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.47),
-	  ppl_interface_generator_c_cc_files.m4 (1.12),
-	  ppl_interface_generator_c_h.m4 (1.20),
-	  ppl_interface_generator_c_h_code.m4 (1.38),
-	  ppl_interface_generator_c_procedure_generators.m4 (1.10): Added a
-	  debugging macro that outputs a warning message if there are
-	  undefined procedure code macros to each of the m4 generating
-	  files.  If a procedure macro is known to be missing or unwanted
-	  for the C interface, then an empty definition must be included in
-	  the code files to prevent the m4 debugging message.
-
-	  Missing code and headers in the C interface for several
-	  procedures has been added to the "_code" files.
-
-	  Some comments improved.
-
-2008-09-18 Thursday 09:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/: Makefile.am (1.70), join1.cc (1.20), join2.cc
-	  (1.16), upperbound1.cc (1.1), upperbound2.cc (1.1): Tests join1/2
-	  renamed upperbound1/2.
-
-2008-09-18 Thursday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/upperbound1.cc (bounded_arithmetic.1): file
-	  upperbound1.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:38 +0000
-
-2008-09-18 Thursday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/upperbound2.cc (bounded_arithmetic.1): file
-	  upperbound2.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:38 +0000
-
-2008-09-18 Thursday 09:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/join2.cc (1.15): Avoid using
-	  upper_bound_assign_and_minimize(); remove duplicated tests.
-
-2008-09-18 Thursday 09:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/upperbound1.cc (1.2): Avoid using
-	  upper_bound_assign_and_minimize().
-
-2008-09-18 Thursday 09:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/upperbound1.cc (bounded_arithmetic.1): file
-	  upperbound1.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:37 +0000
-
-2008-09-18 Thursday 08:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: append1.cc (1.15), append2.cc (1.14),
-	  exceptions1.cc (1.18), exceptions2.cc (1.15), nncminimize1.cc
-	  (1.10), permute.cc (1.12), polyhull2.cc (1.15): Avoid using
-	  upper_bound_assign_and_minimize().
-
-2008-09-18 Thursday 08:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c_header.h (1.3),
-	  ppl_c_implementation_common.defs.hh (1.2): Added declaration and
-	  (tentative) definition of ascii_load functions: implementation is
-	  based on __gnu_cxx::stdio_sync_filebuf.
-
-2008-09-18 Thursday 08:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/affineimage2.cc (1.14): Do not use
-	  upper_bound_assign_and_minimize.
-
-2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/difference1.cc (bounded_arithmetic.1): file
-	  difference1.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:39 +0000
-
-2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/upperbound1.cc (bounded_arithmetic.1): file
-	  upperbound1.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:39 +0000
-
-2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/upperbound1.cc (bounded_arithmetic.1): file
-	  upperbound1.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:38 +0000
-
-2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/Makefile.am (1.78), BD_Shape/bdsdifference1.cc
-	  (1.20), BD_Shape/bdshull1.cc (1.21), BD_Shape/difference1.cc
-	  (1.1), BD_Shape/upperbound1.cc (1.1), Box/Makefile.am (1.72),
-	  Box/boxdifference1.cc (1.12), Box/boxhull1.cc (1.10),
-	  Box/difference1.cc (1.1), Box/upperbound1.cc (1.1),
-	  Octagonal_Shape/Makefile.am (1.32),
-	  Octagonal_Shape/difference1.cc (1.1),
-	  Octagonal_Shape/octdifference1.cc (1.7),
-	  Octagonal_Shape/octhull1.cc (1.9), Octagonal_Shape/upperbound1.cc
-	  (1.1): Test programs renamed so as to match the name of the
-	  tested method.
-
-2008-09-18 Thursday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/difference1.cc (bounded_arithmetic.1): file
-	  difference1.cc was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:37 +0000
-
-2008-09-17 Wednesday 17:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.355), src/Polyhedron.inlines.hh
-	  (1.151), tests/Polyhedron/polyhull1.cc (1.15),
-	  tests/Polyhedron/polyhull2.cc (1.14): Removed the method
-	  upper_bound_assign_and_minimize().
-
-2008-09-17 Wednesday 17:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.354): The method topology() is no
-	  longer public.
-
-2008-09-17 Wednesday 17:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (1.8): Use new function for interfaces to test if the Polyhedron
-	  is necessarily closed in the code for
-	  ppl_Polyhedron_upper_bound_assign_if_exact/2..
-
-2008-09-17 Wednesday 17:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.46),
-	  ppl_interface_generator_c_h_code.m4 (1.37): The headers and the
-	  code for upper_bound_assign_if_exact() are now generated and bugs
-	  fixed so that they compile.
-
-2008-09-17 Wednesday 17:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.13): Modified
-	  test01() so as to restore the original variables' output
-	  function.  Added test02().
-
-2008-09-17 Wednesday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.262): Added one item for PPL 0.10.
-
-2008-09-17 Wednesday 16:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.45): No
-	  longer using Polyhedron::topology() to query for topology of a
-	  Polyhedron; use new function
-	  Interfaces::is_necessarily_closed_for_interfaces.
-
-2008-09-17 Wednesday 16:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.353): Temporarily let topology() be
-	  public again.
-
-2008-09-17 Wednesday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.352), Polyhedron.inlines.hh (1.150):
-	  Befriend new function
-	  Interfaces::is_necessarily_closed_for_interfaces().
-
-2008-09-17 Wednesday 15:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/namespaces.hh (1.14): Added namespace for C++ functions
-	  dedicated to foreign language interfaces.
-
-2008-09-17 Wednesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.27): Updated the documentation about using
-	  the Intel C/C++ compiler.
-
-2008-09-17 Wednesday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/simplifyusingcontext1.cc (1.4): Use better
-	  variable names and avoid variable shadowing.
-
-2008-09-17 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.149): Avoid unnecessary opening and
-	  closing of namespaces.
-
-2008-09-17 Wednesday 13:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
-	  (1.8): Use refine_with rather than add for constructing domains.
-
-2008-09-17 Wednesday 13:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: Makefile.am (1.51),
-	  ppl_interface_generator_ocaml_cc.m4 (1.10),
-	  ppl_interface_generator_ocaml_cc_code.m4 (1.40),
-	  ppl_interface_generator_ocaml_cc_files.m4 (1.1),
-	  ppl_interface_generator_ocaml_hh_code.m4 (1.1),
-	  ppl_interface_generator_ocaml_hh_files.m4 (1.1): Enable the
-	  generation of files for separate compilation.  The code in
-	  ppl_interface_generator_ocaml_cc_code.m4 has been separated into
-	  the access code that is now in
-	  ppl_interface_generator_ocaml_hh_code.m4 and the rest that
-	  defines the schematic methods for all the domains.
-
-2008-09-17 Wednesday 13:02  Andrea Cimino
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_classes_cc_code.m4 (1.2),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.57), jni/ppl_java_common.cc (1.43), jni/ppl_java_common.hh
-	  (1.39), parma_polyhedra_library/PPL_Object.java (1.3),
-	  tests/ppl_interface_generator_java_test_java.m4 (1.17),
-	  tests/ppl_interface_generator_java_test_java_code.m4 (1.35): The
-	  Java interfaces uses now marked pointers to detect if a C++
-	  object should be deleted.  Added some tests to test get_disjunct,
-	  needed to check the code described above.
-
-2008-09-17 Wednesday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/simplifyusingcontext1.cc (1.3): Added new test
-	  (the one showing a bug in current cloog-ppl implementation of
-	  cloog_domain_simplify).
-
-2008-09-17 Wednesday 10:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.11): Added
-	  the generation for the inclusion of "interfaced_boxes.hh".
-
-2008-09-17 Wednesday 10:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.10):
-	  Redundant code removed.
-
-2008-09-17 Wednesday 10:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.82): The
-	  pattern "box" for bounding and covering boxes was unused;
-	  removed..
-
-2008-09-17 Wednesday 09:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.34): Added the dependency of
-	  ppl_interface_instantiations.m4 from Makefile; the former listed
-	  in CLEANFILES (not DISTCLEANFILES).
-
-2008-09-17 Wednesday 09:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.inlines.hh (1.29): Avoid unnecessary opening and closing
-	  of namespaces.
-
-2008-09-17 Wednesday 09:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_classes_cc_files.m4
-	  (1.2): Cut-and-paste typo fixed in names of generated files.
-
-2008-09-17 Wednesday 09:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/jni/: Makefile.am (1.22),
-	  ppl_interface_generator_java_classes_cc_code.m4 (1.1),
-	  ppl_interface_generator_java_classes_cc_files.m4 (1.1): Build
-	  separate implementation files for each domains.
-
-2008-09-17 Wednesday 07:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval1.cc (1.8): Restored a test that was
-	  temporarily commented out.
-
-2008-09-16 Tuesday 20:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.82): Ensure the generated tests work for C_Polyhedron x Grid
-	  product domains (checked using constraints_reduction)..
-
-2008-09-16 Tuesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
-	  (1.9): The upper_bound_assign_if_exact methods are now
-	  interfaced.
-
-2008-09-16 Tuesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.44),
-	  ppl_interface_generator_c_h_code.m4 (1.36): Minor correction to
-	  the declaration of the powerset object for begin/end
-	  const_iterator methods.
-
-2008-09-16 Tuesday 14:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.81),
-	  src/Pointset_Powerset.defs.hh (1.53): Corrected a comment in
-	  Pointset_Powerset.defs.hh and simplified the generation of the
-	  binary operator procedures in the interfaces.
-
-2008-09-16 Tuesday 13:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.80),
-	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (1.7),
-	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
-	  (1.8), interfaces/Prolog/SICStus/sp_predicate_check.pl (1.9),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.81), src/Grid.inlines.hh (1.28), src/Grid_public.cc (1.87):
-	  Moved method add_constraints() from Grid.inlines.hh to
-	  Grid_public.cc.
-
-	  Removed the bop_assign and bop_assign_and_minimize from the
-	  Prolog generated code and inlined the code.
-
-	  Enable upper_bound_assign method for the Pointset_Powerset
-	  domains in all the interfaces.
-
-	  Adapted the tests in the predicate_check generated test file so
-	  as to test correctly these changes.
-
-2008-09-16 Tuesday 10:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.43),
-	  ppl_interface_generator_c_h_code.m4 (1.35),
-	  ppl_interface_generator_c_procedure_generators.m4 (1.8): Separate
-	  the new_iterator methods and the type declarations for iterators
-	  from the method for checking for equality.
-
-2008-09-16 Tuesday 10:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.42),
-	  ppl_interface_generator_c_h_code.m4 (1.34): Added declaration and
-	  implementation of `new' functions for Pointset_Powerset
-	  iterators.
-
-2008-09-16 Tuesday 09:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.inlines.hh (1.27), src/Grid_nonpublic.cc (1.38),
-	  src/Grid_public.cc (1.86), tests/Grid/addconstraint1.cc (1.18),
-	  tests/Grid/addconstraints1.cc (1.19): Ensure the grid is not
-	  marked empty before calling the *_no_check methods. Added tests
-	  to check this.  Code for several methods concerning adding
-	  constraints and congruences moved to the Grid.inlines.cc file.
-
-2008-09-16 Tuesday 08:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.57): Avoid singleton
-	  variable warning.
-
-2008-09-16 Tuesday 08:14  Abramo Bagnara
-
-	* src/Interval.inlines.hh (1.41): Fixed typo.
-
-2008-09-16 Tuesday 08:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.142): Minor simplification in the
-	  control path.
-
-2008-09-16 Tuesday 08:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.169), Octagonal_Shape.inlines.hh
-	  (1.40): Avoid a warning.
-
-2008-09-16 Tuesday 01:35  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_globals.cc (1.15): Avoid, when
-	  possible, long lines to comply to STANDARDS.
-
-2008-09-16 Tuesday 01:27  Andrea Cimino
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.56),
-	  ppl_java_common.cc (1.42), ppl_java_common.hh (1.38),
-	  ppl_java_globals.cc (1.14): Let `get_ptr' return a pointer
-	  instead of a jlong in order to simplify the implementation of
-	  marked pointers.
-
-2008-09-15 Monday 22:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* configure.ac (1.351): Removed a line added in previous commit so
-	  as to enable the build.
-
-2008-09-15 Monday 21:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron_public.cc (1.141),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.16): Fixed bug shown
-	  by test07 in tests/Polyhedron/boundedaffineimage1.cc
-
-2008-09-15 Monday 21:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/boundedaffineimage1.cc (1.15): test07 added that
-	  shows an assertion failure in refine_no_check.  The call to this
-	  test temporarily commented out.
-
-2008-09-15 Monday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.350), interfaces/Prolog/SWI/Makefile.am (1.92):
-	  Added missing -dlopen for target predicate_check_test.
-
-2008-09-15 Monday 17:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.55),
-	  Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.2), Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.34), OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
-	  (1.7): Completed changes reported in previous commit.
-
-2008-09-15 Monday 17:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.27), interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.41),
-	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.33),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.39),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.36),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
-	  (1.27),
-	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (1.6),
-	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
-	  (1.7),
-	  interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
-	  (1.8), interfaces/Prolog/SICStus/sp_predicate_check.pl (1.8),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.34),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.80), interfaces/Prolog/tests/ppl_predicate_check_common.pl
-	  (1.12), src/Polyhedron.defs.hh (1.351): The method topology()
-	  made public.
-
-	  The code for upper_bound_assign_if_exact() added to the C
-	  interface.  The predicates for the same methods in the Prolog
-	  interface now no longer need the topology  (for the Polyhedron
-	  class) in the name.
-
-	  The schematic procedure name for these procedures also no longer
-	  has the topology and therefore the use of these in the other
-	  interfaces (Java and OCaml) has also been adapted.
-
-	  Some updating of the Prolog interface files for other recent
-	  changes.
-
-2008-09-15 Monday 11:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/propagateconstraints2.cc (1.4): Test known to overflow
-	  whe using 16 bit integers.  CVS-
-	  ----------------------------------------------------------------------
-
-2008-09-15 Monday 10:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Ciao/ciao_pl_check.pl (1.28),
-	  XSB/xsb_pl_check.P (1.33),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.79):
-	  Ensure predicates such as ppl_set_rounding_for_PPL that are used
-	  and tested in pl_check.pl are in the module/import lists for Ciao
-	  and XSB.  Remove the bounding box predicates that are no longer
-	  generated from the same lists.
-
-2008-09-15 Monday 10:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.26),
-	  C/ppl_c_implementation_common.cc (1.2),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.40),
-	  C/ppl_interface_generator_c_h_code.m4 (1.32),
-	  C/ppl_interface_generator_c_procedure_generators.m4 (1.7),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.35),
-	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.5),
-	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.7),
-	  Prolog/tests/pl_check.pl (1.56): Remove the procedures
-	  new_..._from_bounding_box, new_..._from_covering_box and the
-	  get_bounding_box and get_covering_box from the interfaces.
-
-	  Bug in the increment/decrement iterator method in the C interface
-	  fixed.
-
-2008-09-15 Monday 09:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.39),
-	  ppl_interface_generator_c_h_code.m4 (1.31): Fixed some more bugs
-	  in the C interface code.
-
-2008-09-15 Monday 08:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.38),
-	  ppl_interface_generator_c_h_code.m4 (1.30): Added code for
-	  dereferencing the iterator for a pointset_powerset.
-
-2008-09-14 Sunday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.71): Previous changes reverted.
-
-2008-09-14 Sunday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/propagateconstraints2.cc (1.3): Temporarily make sure
-	  the test always succeeds.
-
-2008-09-14 Sunday 20:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.70): Completing the change to disable
-	  propagateconstraints2.
-
-2008-09-14 Sunday 20:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.69): Temporarily disable test
-	  propagateconstraints2.
-
-2008-09-14 Sunday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/OCaml/tests/ppl_ocaml_tests_common (1.4): Applied
-	  minimal changes to let the tests succeed according to the new
-	  semantics for constraint/congruence addition.
-
-2008-09-14 Sunday 18:35  Andrea Cimino
-
-	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.16),
-	  NNC_Polyhedron_test1.java (1.3): Load the library with the
-	  correct name.
-
-2008-09-14 Sunday 18:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/tests/:
-	  ppl_interface_generator_java_test_java_code.m4 (1.33),
-	  ppl_java_tests_common (1.9): Tests adapted to the new semantics
-	  of add_constraint(s).  SOme variable renamings, so as to
-	  "improve" readability.
-
-2008-09-14 Sunday 18:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/refinewithconstraints1.cc (1.6): Test 7 fails on 8 bit
-	  integers.
-
-2008-09-14 Sunday 16:43  Andrea Cimino
-
-	* interfaces/Java/ppl_java_common_dox (1.5): The `ppl_' prefix is
-	  not used in the name of the methods in the Java interface.
-
-2008-09-14 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Congruence.java
-	  (bounded_arithmetic.1): file Congruence.java was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-09-14 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Generator_System.java
-	  (bounded_arithmetic.1): file Generator_System.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-09-14 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
-	  (bounded_arithmetic.1): file MIP_Problem_Status.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-09-14 Sunday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/Variables_Set.java
-	  (bounded_arithmetic.1): file Variables_Set.java was added on
-	  branch bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-09-14 Sunday 16:24  Andrea Cimino
-
-	* configure.ac (1.349), interfaces/Java/Makefile.am (1.20),
-	  interfaces/Java/jni/Makefile.am (1.21),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.14),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.54), interfaces/Java/jni/ppl_java_common.cc (1.41),
-	  interfaces/Java/jni/ppl_java_common.hh (1.37),
-	  interfaces/Java/jni/ppl_java_globals.cc (1.13),
-	  interfaces/Java/parma_polyhedra_library/By_Reference.java (1.2),
-	  interfaces/Java/parma_polyhedra_library/Coefficient.java (1.2),
-	  interfaces/Java/parma_polyhedra_library/Congruence.java (1.2),
-	  interfaces/Java/parma_polyhedra_library/Congruence_System.java
-	  (1.2), interfaces/Java/parma_polyhedra_library/Constraint.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Constraint_System.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
-	  (1.2), interfaces/Java/parma_polyhedra_library/Generator.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Generator_System.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Generator_Type.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Grid_Generator.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
-	  (1.2), interfaces/Java/parma_polyhedra_library/MIP_Problem.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
-	  (1.2), interfaces/Java/parma_polyhedra_library/Makefile.am (1.2),
-	  interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
-	  (1.2), interfaces/Java/parma_polyhedra_library/PPL_Object.java
-	  (1.2), interfaces/Java/parma_polyhedra_library/Pair.java (1.2),
-	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Partial_Function.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
-	  (1.2), interfaces/Java/parma_polyhedra_library/Variable.java
-	  (1.2), interfaces/Java/parma_polyhedra_library/Variables_Set.java
-	  (1.2),
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
-	  (1.2), interfaces/Java/tests/C_Polyhedron_test1.java (1.15),
-	  interfaces/Java/tests/NNC_Polyhedron_test1.java (1.2),
-	  interfaces/Java/tests/Test_Partial_Function.java (1.5),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
-	  (1.16): The name of the package of the Java Parma Polyhedra
-	  Library interface is now `parma_polyhedra_library'.
-
-2008-09-14 Sunday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/version.cc (1.12): The banner now includes the names of all
-	  those that appear in the CREDITS file.
-
-2008-09-14 Sunday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.23): Updated.
-
-2008-09-14 Sunday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/parma_polyhedra_library/.cvsignore
-	  (bounded_arithmetic.1): file .cvsignore was added on branch
-	  bounded_arithmetic on 2008-10-29 20:45:28 +0000
-
-2008-09-14 Sunday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.348), interfaces/Java/Makefile.am (1.19),
-	  interfaces/Java/parma_polyhedra_library/.cvsignore (1.1),
-	  interfaces/Java/parma_polyhedra_library/By_Reference.java (1.1),
-	  interfaces/Java/parma_polyhedra_library/Coefficient.java (1.1),
-	  interfaces/Java/parma_polyhedra_library/Congruence.java (1.1),
-	  interfaces/Java/parma_polyhedra_library/Congruence_System.java
-	  (1.1), interfaces/Java/parma_polyhedra_library/Constraint.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Constraint_System.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
-	  (1.1), interfaces/Java/parma_polyhedra_library/Generator.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Generator_System.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Generator_Type.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Grid_Generator.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
-	  (1.1), interfaces/Java/parma_polyhedra_library/MIP_Problem.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
-	  (1.1), interfaces/Java/parma_polyhedra_library/Makefile.am (1.1),
-	  interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
-	  (1.1), interfaces/Java/parma_polyhedra_library/PPL_Object.java
-	  (1.1), interfaces/Java/parma_polyhedra_library/Pair.java (1.1),
-	  interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Partial_Function.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
-	  (1.1), interfaces/Java/parma_polyhedra_library/Variable.java
-	  (1.1), interfaces/Java/parma_polyhedra_library/Variables_Set.java
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java.m4
-	  (1.1),
-	  interfaces/Java/parma_polyhedra_library/ppl_interface_generator_java_classes_java_code.m4
-	  (1.1): In order to implement the change of the Java package name
-	  from `ppl_java' to `parma_polyhedra_library', the contents of
-	  directory interfaces/Java/ppl_java has been moved to
-	  interfaces/Java/parma_polyhedra_library.
-
-2008-09-14 Sunday 13:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.168): Avoid warning (that was only
-	  showing up when assertions are not enabled).
-
-2008-09-14 Sunday 13:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.inlines.hh (1.39): Avoid a warning (that was
-	  showing up only when assertions are disabled.
-
-2008-09-14 Sunday 12:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.234), TODO (1.261): Updated.
-
-2008-09-14 Sunday 12:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.79): No
-	  longer interfacing methods bds_hull, oct_hull and (Grid) join.
-
-2008-09-14 Sunday 12:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.132), BD_Shape.inlines.hh (1.167),
-	  BD_Shape.templates.hh (1.118), Box.defs.hh (1.63), Box.inlines.hh
-	  (1.38), Box.templates.hh (1.128), Grid.defs.hh (1.83),
-	  Grid.inlines.hh (1.26), Grid_chdims.cc (1.26), Grid_public.cc
-	  (1.85), Octagonal_Shape.defs.hh (1.58),
-	  Octagonal_Shape.inlines.hh (1.38), Octagonal_Shape.templates.hh
-	  (1.87), Polyhedron.defs.hh (1.350), Polyhedron.inlines.hh
-	  (1.148): Classes Box, BD_Shape, Octagonal_Shape and Grid no
-	  longer provide methods such as bds_hull_*, join_*,
-	  bds_difference_* and grid_difference*.  The uniformly named
-	  methods upper_bound_* and difference_assign should be used
-	  instead.  For (C and NNC) polyhedra, the poly_hull_* and
-	  poly_difference_assign methods have been kept for backward
-	  compatibility.
-
-2008-09-14 Sunday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/propagateconstraints2.cc (1.2): Use check_result().
-
-2008-09-14 Sunday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.68), closure1.cc (1.9),
-	  propagateconstraints2.cc (1.1): Renamed.
-
-2008-09-14 Sunday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/closure1.cc (1.8): Test program completed and
-	  corrected.
-
-2008-09-14 Sunday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/hybrid.cc (1.8): Query-replace bug corrected.
-
-2008-09-14 Sunday 11:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/boxhull1.cc (1.9): Tests from 1 to 7 re-commented out.
-
-2008-09-14 Sunday 11:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/bdsdifference1.cc (1.19), BD_Shape/bdshull1.cc
-	  (1.20), BD_Shape/bhmz05widening1.cc (1.19),
-	  BD_Shape/cc76extrapolation1.cc (1.24), BD_Shape/membytes1.cc
-	  (1.8), Box/boxdifference1.cc (1.11), Box/boxhull1.cc (1.8),
-	  Box/pointsetpowerset1.cc (1.8), Grid/affineimage2.cc (1.15),
-	  Grid/griddifference1.cc (1.15), Grid/join1.cc (1.19),
-	  Grid/join2.cc (1.14), Grid/membytes1.cc (1.13),
-	  Grid/powersetdifference1.cc (1.7), Octagonal_Shape/membytes1.cc
-	  (1.8), Octagonal_Shape/octdifference1.cc (1.6),
-	  Octagonal_Shape/octhull1.cc (1.8), Polyhedron/affineimage2.cc
-	  (1.13), Polyhedron/append1.cc (1.14), Polyhedron/append2.cc
-	  (1.13), Polyhedron/bhrz03widening1.cc (1.13),
-	  Polyhedron/bhrz03widening3.cc (1.17),
-	  Polyhedron/boundedbhrz03extrapolation1.cc (1.12),
-	  Polyhedron/dualhypercubes.cc (1.17), Polyhedron/exceptions1.cc
-	  (1.17), Polyhedron/exceptions2.cc (1.14), Polyhedron/hybrid.cc
-	  (1.7), Polyhedron/linearpartition1.cc (1.16),
-	  Polyhedron/membytes1.cc (1.17), Polyhedron/nncminimize1.cc (1.9),
-	  Polyhedron/permute.cc (1.11), Polyhedron/polydifference1.cc
-	  (1.14), Polyhedron/polydifference2.cc (1.14),
-	  Polyhedron/polyhull1.cc (1.14), Polyhedron/polyhull2.cc (1.13),
-	  Powerset/pointsetpowerset1.cc (1.2): Do not use
-	  [box|bds|oct|poly]_hull_* or join_*; rather, systematically use
-	  methods upper_bound_*.  Similarly, do not use
-	  [...]_difference_assign, prefer difference_assign.
-
-2008-09-14 Sunday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (1.19): Type
-	  declarations must be generated before the rest of the code.
-
-2008-09-14 Sunday 10:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.78): The
-	  Pointset_Powerset domain does not provide poly_difference_assign.
-
-2008-09-14 Sunday 10:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Powerset.cc (1.24), Pointset_Powerset.defs.hh
-	  (1.52), Pointset_Powerset.inlines.hh (1.17): The
-	  Pointset_Powerset domain should *not* provide a
-	  poly_difference_assign method (it provides the difference_assign
-	  method).
-
-2008-09-14 Sunday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_h_code.m4 (1.29): Fixed a
-	  bug when building from a C or NNC Polyhedron.
-
-2008-09-14 Sunday 08:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_h_code.m4 (1.28): Another
-	  bug in the schematic code for ppl_c_domains.h fixed.
-
-2008-09-13 Saturday 23:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_h_code.m4 (1.27): Fixed
-	  some bugs in the schematic code.
-
-2008-09-13 Saturday 23:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/pointsetpowerset1.cc (1.5),
-	  Octagonal_Shape/mapspacedims1.cc (1.6): Commented-out code
-	  removed.
-
-2008-09-13 Saturday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.67), closure1.cc (1.7): Reactivated
-	  the closure1.cc test program.
-
-2008-09-13 Saturday 22:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.68): Let the documentation of foreign language
-	  interfaces also depend on the Doxygen GPL and GFDL licence files.
-
-2008-09-13 Saturday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.66), interval1.cc (1.7), interval2.cc
-	  (1.7): Generalized and reactivated interval1.cc.  Removed now
-	  redundant interval2.cc.
-
-2008-09-13 Saturday 21:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c_version.h.in (1.8): Avoid Doxygen error
-	  (adding group "version" to itself).
-
-2008-09-13 Saturday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.65), propagateconstraints1.cc (1.1),
-	  refinewithconstraints1.cc (1.5): Tests for
-	  Box::propagate_constraints() moved from refinewithconstraints1.cc
-	  to new file propagateconstraints1.cc.
-
-2008-09-13 Saturday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/propagateconstraints1.cc (bounded_arithmetic.1): file
-	  propagateconstraints1.cc was added on branch bounded_arithmetic
-	  on 2008-10-29 20:45:38 +0000
-
-2008-09-13 Saturday 21:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.62), Box.inlines.hh (1.37): Added methods
-	  void propagate_constraint(const Constraint&) and void
-	  propagate_constraints(const Constraint_System&).
-
-2008-09-13 Saturday 20:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/refinewithcongruences1.cc (1.2): Corrected the
-	  expected result of test05: refining a polyhedron with a trivially
-	  inconsistent proper congruence is no longer ignored, so that the
-	  polyhedron becomes empty.
-
-2008-09-13 Saturday 20:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.349), Polyhedron_nonpublic.cc (1.85),
-	  Polyhedron_public.cc (1.140): Private helper method
-	  refine_no_check() moved to Polyhedron_nonpublic.cc; also, the
-	  method now asserts !marked_empty() instead of checking it.  In
-	  method add_(recycled)_constraint(s), no longer throwing a
-	  topology exception if the added strict inequalities are trivially
-	  inconsistent.  Removed TODO comments from deprecated methods.
-	  Corrected several exception messages for the new refine_with_*
-	  methods.  In several places, prefer refine_no_check() to
-	  add_constraint().
-
-2008-09-13 Saturday 20:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron_chdims.cc (1.50), Polyhedron_widenings.cc
-	  (1.68): Prefer add_recycled_constraints() to add_constraints(),
-	  when possible.
-
-2008-09-13 Saturday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_header.h (1.2): Cosmetic improvements.
-
-2008-09-13 Saturday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_files.m4 (1.9),
-	  ppl_interface_generator_c_h.m4 (1.18),
-	  ppl_interface_generator_c_hh_files.m4 (1.7): Improved the
-	  generated comments.
-
-2008-09-13 Saturday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.53): List ppl_c.h in BUILT_SOURCES.
-
-2008-09-13 Saturday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.52): Correctly use the *CLEANFILES
-	  variables.  Use a stamp to produce the domain-dependent C++
-	  implementation files.
-
-2008-09-13 Saturday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_header.h (1.1): This is the main file used to
-	  build ppl_c.h.
-
-2008-09-13 Saturday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.39): Added a section about "Standards for Writing
-	  the Makefile.am Files".
-
-2008-09-13 Saturday 16:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.348), Polyhedron.inlines.hh (1.147):
-	  Get rid of methods add_grid_generator(s).
-
-2008-09-13 Saturday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.186): The Any_Pointset class is not ready for
-	  distribution: make sure we do not distribute it by mistake.
-
-2008-09-13 Saturday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.347), interfaces/C/Makefile.am (1.51),
-	  interfaces/C/ppl_c_implementation.cc (1.4),
-	  interfaces/C/ppl_c_implementation.defs.hh (1.5),
-	  interfaces/C/ppl_c_implementation.inlines.hh (1.4),
-	  interfaces/C/ppl_c_implementation_common.cc (1.1),
-	  interfaces/C/ppl_c_implementation_common.defs.hh (1.1),
-	  interfaces/C/ppl_c_implementation_common.inlines.hh (1.1),
-	  interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.8),
-	  interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.6): More
-	  code reorganization in the C interface.
-
-2008-09-13 Saturday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/: addconstraint1.cc (1.17), addconstraints1.cc (1.18):
-	  Corrected a couple of tests to comply with the new specification
-	  of add_constraint(s).
-
-2008-09-13 Saturday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.82), Grid.inlines.hh (1.25),
-	  Grid_nonpublic.cc (1.37), Grid_public.cc (1.84): Added private
-	  helper methods add_constraint/congruence_no_check and
-	  refine_no_check. Adapted to new semantics whereby refining will
-	  ignore nontrivial inequalities, whereas adding will throw.
-
-2008-09-13 Saturday 15:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Grid_chdims.cc (1.25): Prefer add_recycle_* to simple add_*.
-
-2008-09-13 Saturday 15:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Grid_widenings.cc (1.19): When possible, prefer
-	  add_recycled_congruences to add_congruences.
-
-2008-09-13 Saturday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c_implementation.defs.hh (1.4),
-	  ppl_c_implementation.inlines.hh (1.3),
-	  ppl_interface_generator_c_cc_code.m4 (1.37): Some code
-	  reorganized and comments added.
-
-2008-09-13 Saturday 15:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (1.57): Typo corrected.
-
-2008-09-13 Saturday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.78): Obsolete file removed.
-
-2008-09-13 Saturday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.50),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.16),
-	  interfaces/C/ppl_interface_generator_c_h.m4 (1.17),
-	  interfaces/C/ppl_interface_generator_c_h_preamble (1.12),
-	  src/Makefile.am (1.185): Use a better machinery to generate
-	  ppl_c.h.
-
-2008-09-13 Saturday 11:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: refinewithconstraint1.cc (1.3),
-	  refinewithconstraints1.cc (1.4), refinewithconstraints2.cc (1.3):
-	  Those tests that were written to check constraint propagation
-	  (rather than syntactical refinement) temporarily disabled.
-
-2008-09-13 Saturday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.7): Cleaned
-	  generator so that ppl_c_fixed.cc is not generated.
-
-2008-09-13 Saturday 09:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: Makefile.am (1.49),
-	  ppl_interface_generator_c_cc.m4 (1.19): We no longer need to
-	  generate the file ppl_c.cc.
-
-2008-09-13 Saturday 08:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.346), interfaces/C/Makefile.am (1.48),
-	  interfaces/C/ppl_c_implementation.cc (1.3),
-	  interfaces/C/ppl_c_implementation.defs.hh (1.3): The C interface
-	  is operational again.
-
-2008-09-13 Saturday 07:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.5):
-	  Simplified the generation of the files and added extra fixed code
-	  to the generated domain files.
-
-2008-09-13 Saturday 07:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.4): More
-	  unwanted code in the generated files removed.
-
-2008-09-13 Saturday 07:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.3): Doxygen
-	  commenting removed from generated .hh files.
-
-2008-09-13 Saturday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.cc (1.6): Little adaptation for the systems where
-	  mp_limb_t is not a long.
-
-2008-09-12 Friday 23:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.56), Octagonal_Shape.inlines.hh
-	  (1.37), Octagonal_Shape.templates.hh (1.86): Added private helper
-	  methods refine_no_check() for constraint and congruence.
-
-2008-09-12 Friday 22:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.131), BD_Shape.inlines.hh (1.166),
-	  BD_Shape.templates.hh (1.117): Added private helper methods
-	  refine_no_check() for constraint and congruence.
-
-2008-09-12 Friday 22:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.6): Revised
-	  the domain specific generated files.
-
-2008-09-12 Friday 22:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_hh_files.m4 (1.2): Removed
-	  the preamble from the ppl_c_domains.hh generated file.
-
-2008-09-12 Friday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.345): C interface temporarily removed from the
-	  ones built by default.
-
-2008-09-12 Friday 22:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: Makefile.am (1.47),
-	  ppl_interface_generator_c_hh_files.m4 (1.1): Generate the header
-	  files for the C interface.
-
-2008-09-12 Friday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.344): Define variables for the C interface.
-
-2008-09-12 Friday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: Makefile.am (1.46), ppl_c_implementation.cc (1.2),
-	  ppl_c_implementation.defs.hh (1.2),
-	  ppl_c_implementation.inlines.hh (1.2): Code reorganized.
-
-2008-09-12 Friday 17:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.55), Octagonal_Shape.inlines.hh
-	  (1.36), Octagonal_Shape.templates.hh (1.85): Adapted methods
-	  add_constraint/congruences and constructors so as to throw
-	  exceptions if faced with something that is nontrivial and not
-	  octagonal.  Also improved the precision of conversion
-	  constructors.
-
-2008-09-12 Friday 17:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.127): Simplified implementation of teh
-	  constructor of a Box from a product domain.
-
-2008-09-12 Friday 17:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: congruences1.cc (1.5), membytes1.cc
-	  (1.7), octhull1.cc (1.7): Adapted to the new specification of
-	  add_constraint/congruence.
-
-2008-09-12 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.5): Amended
-	  to include "ppl_c_implementation.defs.hh".
-
-2008-09-12 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.45): Updated the libppl_c_la_*
-	  variables.
-
-2008-09-12 Friday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c_implementation.cc (1.1),
-	  ppl_c_implementation.defs.hh (1.1),
-	  ppl_c_implementation.inlines.hh (1.1): New files containing the
-	  domain-independent part of the C interface implementation.
-
-2008-09-12 Friday 14:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: pointsetpowerset2.cc (1.3), unconstrain1.cc (1.2):
-	  Fixed a couple of tests.
-
-2008-09-12 Friday 13:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.126): Old implementation for
-	  refine_no_check renamed propagate_constraint_no_check.  Provided
-	  new implementation that just does a syntactic refinement.  Avoid
-	  code repetitions by calling add_interval_constraint_no_check.
-	  When building a Box from a Polyhedron in polynomial time, use the
-	  method refine_with_constraints() applied to a simplified copy of
-	  the constraints of the polyhedron.
-
-2008-09-12 Friday 13:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.61), Box.inlines.hh (1.36): Added new
-	  (private) method add_interval_constraint_no_check, to be used
-	  when adding or refining after having checked that the constraint
-	  is a non-trivial interval constraint.  Removed the comments for
-	  several private methods: they had a FIXME, but were anyway
-	  misleading; they now have a WRITE ME.
-
-2008-09-12 Friday 13:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.4): Include
-	  "#include"'s in all the files.
-
-2008-09-12 Friday 12:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.3): Comment
-	  bug fixed.
-
-2008-09-12 Friday 11:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_files.m4 (1.2): Files
-	  names should include "c_".
-
-2008-09-12 Friday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc.m4 (1.18): Revert
-	  previous (unintended) change.
-
-2008-09-12 Friday 11:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: Makefile.am (1.44),
-	  ppl_interface_generator_c_cc.m4 (1.17),
-	  ppl_interface_generator_c_cc_files.m4 (1.1): New file that
-	  generates code that can be split into separate files.
-
-2008-09-12 Friday 10:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.83), tests/Grid/addconstraint1.cc (1.16),
-	  tests/Grid/addconstraints1.cc (1.17),
-	  tests/Grid/refinewithcongruences1.cc (1.2),
-	  tests/Grid/refinewithconstraints1.cc (1.2): When the constraint
-	  is an inequality and inconsistent, then adding it to a grid or
-	  using it to refine the grid will result in the empty grid.
-
-	  Tests added to check this.
-
-2008-09-12 Friday 10:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.233): Mention the renaming of
-	  Congruence::is_trivial_true/false methods.
-
-2008-09-12 Friday 10:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.116), src/Box.templates.hh (1.125),
-	  src/Congruence.cc (1.20), src/Congruence.defs.hh (1.25),
-	  src/Congruence_System.cc (1.30), src/Grid_nonpublic.cc (1.36),
-	  src/Grid_public.cc (1.82), src/Octagonal_Shape.templates.hh
-	  (1.84), src/Polyhedron_public.cc (1.139),
-	  tests/Grid/congruence1.cc (1.20): Methods
-	  Congruence::is_trivial_true() and Congruence::is:trivial_false()
-	  renamed as Congruence::is_tautological() and
-	  Congruence::is_inconsistent(), so as to have a more similar
-	  interface wrt class Constraint.
-
-2008-09-12 Friday 08:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.124): Corrected method
-	  refine_no_check(const Congruence&) to also consider the case of
-	  trivailly true/false congruences.  Added a FIXME regarding the
-	  handling of proper congruences in the case of bozes based on
-	  intervals supportng restrictins.
-
-2008-09-12 Friday 08:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/refinewithcongruences1.cc (1.3): New test04 check for
-	  the refinement of a Box using a trivially false congruence.
-
-2008-09-12 Friday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.123): Corrected refine_no_check(const
-	  Constraint&) so as to also deal with the case of trivially
-	  true/false constraints.
-
-2008-09-12 Friday 01:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: generalizedaffineimage1.cc (1.17),
-	  generalizedaffineimage2.cc (1.6): test20 in
-	  generalizedaffineimage1.cc removed, as it was identical to test17
-	  in generalizedaffineimage2.cc.
-
-2008-09-12 Friday 01:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.inlines.hh (1.35), Box.templates.hh (1.122): Modified
-	  methods add_constraint(s) and add_congruence(s) so as to throw
-	  exceptions if a non-interval constraint/congruence is being
-	  added.  Modified the (generalized_)affine_(pre)image methods so
-	  as to use refine_with_constraint() instead of add_constraint()
-	  method.  Added a couple of FIXME/CHECKME.
-
-2008-09-12 Friday 01:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.130), BD_Shape.templates.hh (1.115):
-	  Avoid definition and use of duplicated exception thrower
-	  function.  Added a fixme regarding exceptions thrown by
-	  add_constraint for strict inequalities.
-
-2008-09-12 Friday 01:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: addconstraints1.cc (1.14), addspacedims1.cc (1.9),
-	  affineimage1.cc (1.11), affinepreimage1.cc (1.8),
-	  bgp99extrapolation1.cc (1.6), boundedaffinepreimage1.cc (1.9),
-	  cc76narrowing1.cc (1.8), concatenate1.cc (1.9), congruences1.cc
-	  (1.5), constraints1.cc (1.12), contains1.cc (1.7), discrete1.cc
-	  (1.7), disjoint1.cc (1.7), expandspacedim1.cc (1.10),
-	  foldspacedims1.cc (1.10), generalizedaffineimage1.cc (1.16),
-	  intersection1.cc (1.11), mapspacedims1.cc (1.8), max_min1.cc
-	  (1.9), pointsetpowerset1.cc (1.7), refinewithcongruences1.cc
-	  (1.2), relations1.cc (1.7), relations2.cc (1.6),
-	  removespacedims1.cc (1.11), timeelapse1.cc (1.10), universe1.cc
-	  (1.6), writebox1.cc (1.6): Avoid exceptions when adding
-	  (non-interval) constraints to boxes.
-
-2008-09-12 Friday 00:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/refinewithconstraint1.cc (1.2): New test04 shows a bug
-	  in Box::refine_with_constraint() related to the handling of
-	  trivially false constraints.
-
-2008-09-11 Thursday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.77): Typo fixed.
-
-2008-09-11 Thursday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.76): First
-	  separate-compilation changes.
-
-2008-09-11 Thursday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore, ChangeLog, INSTALL, Makefile.am, NEWS, TODO,
-	  config.guess, config.rpath, config.sub, configure.ac, instchk.hh,
-	  ltmain.sh, Watchdog/ChangeLog, Watchdog/INSTALL,
-	  Watchdog/config.guess, Watchdog/config.sub,
-	  Watchdog/configure.ac, Watchdog/ltmain.sh,
-	  Watchdog/doc/Makefile.am, Watchdog/doc/devref.doxyconf-html.in,
-	  Watchdog/doc/devref.doxyconf-latex.in,
-	  Watchdog/doc/user.doxyconf-html.in,
-	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/m4/libtool.m4,
-	  Watchdog/m4/ltoptions.m4, Watchdog/m4/ltsugar.m4,
-	  Watchdog/m4/ltversion.m4, Watchdog/src/Makefile.am,
-	  Watchdog/utils/Makefile.am, demos/ppl_lpsol/.cvsignore,
-	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
-	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int64,
-	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/ppl_lpsol.c,
-	  doc/Makefile.am, doc/README.doc, doc/definitions.dox,
-	  doc/devref-c-interface.doxyconf-html.in,
-	  doc/devref-c-interface.doxyconf-latex.in,
-	  doc/devref-java-interface.doxyconf-html.in,
-	  doc/devref-java-interface.doxyconf-latex.in,
-	  doc/devref-java-interface.tex,
-	  doc/devref-ocaml-interface.doxyconf-html.in,
-	  doc/devref-ocaml-interface.doxyconf-latex.in,
-	  doc/devref-ocaml-interface.tex,
-	  doc/devref-prolog-interface.doxyconf-html.in,
-	  doc/devref-prolog-interface.doxyconf-latex.in,
-	  doc/devref-prolog-interface.tex, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/libppl.3, doc/ppl-config.1,
-	  doc/ppl_lcdd.1, doc/ppl_lpsol.1,
-	  doc/user-c-interface.doxyconf-html.in,
-	  doc/user-c-interface.doxyconf-latex.in,
-	  doc/user-java-interface.doxyconf-html.in,
-	  doc/user-java-interface.doxyconf-latex.in,
-	  doc/user-java-interface.tex,
-	  doc/user-ocaml-interface.doxyconf-html.in,
-	  doc/user-ocaml-interface.doxyconf-latex.in,
-	  doc/user-ocaml-interface.tex,
-	  doc/user-prolog-interface.doxyconf-html.in,
-	  doc/user-prolog-interface.doxyconf-latex.in,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  fedora/ppl.spec, interfaces/Makefile.am,
-	  interfaces/marked_pointers.hh,
-	  interfaces/ppl_interface_generator_common_dat.m4,
-	  interfaces/ppl_interface_generator_common_procedure_generators.m4,
-	  interfaces/ppl_interface_generator_copyright,
-	  interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
-	  interfaces/C/ppl_c.h.in,
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_preamble,
-	  interfaces/C/ppl_interface_generator_c_h_code.m4,
-	  interfaces/C/ppl_interface_generator_c_h_preamble,
-	  interfaces/Java/Makefile.am,
-	  interfaces/Java/ppl_interface_generator_java_dox.m4,
-	  interfaces/Java/ppl_interface_generator_java_dox_code.m4,
-	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4,
-	  interfaces/Java/ppl_java_common_dox,
-	  interfaces/Java/jni/Makefile.am,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
-	  interfaces/Java/jni/ppl_java_common.cc,
-	  interfaces/Java/jni/ppl_java_common.hh,
-	  interfaces/Java/jni/ppl_java_globals.cc,
-	  interfaces/Java/tests/C_Polyhedron_test1.java,
-	  interfaces/Java/tests/Makefile.am,
-	  interfaces/Java/tests/NNC_Polyhedron_test1.java,
-	  interfaces/Java/tests/Test_Executor.java,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
-	  interfaces/Java/tests/ppl_java_tests_common,
-	  interfaces/OCaml/.cvsignore, interfaces/OCaml/Makefile.am,
-	  interfaces/OCaml/OCaml_interface.dox,
-	  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.m4,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4,
-	  interfaces/OCaml/ppl_ocaml_globals.cc,
-	  interfaces/OCaml/ppl_ocaml_globals.ml, interfaces/OCaml/test1.ml,
-	  interfaces/OCaml/tests/.cvsignore,
-	  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.m4,
-	  interfaces/OCaml/tests/ppl_ocaml_tests_common,
-	  interfaces/OCaml/tests/test1.ml, interfaces/Prolog/.cvsignore,
-	  interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  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_icc.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4,
-	  interfaces/Prolog/ppl_prolog_common.cc,
-	  interfaces/Prolog/ppl_prolog_common.defs.hh,
-	  interfaces/Prolog/ppl_prolog_common.icc,
-	  interfaces/Prolog/ppl_prolog_common.inlines.hh,
-	  interfaces/Prolog/ppl_prolog_sysdep_dox,
-	  interfaces/Prolog/ppl_prolog_sysindep_dox,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/gprolog_cfli.hh,
-	  interfaces/Prolog/GNU/gprolog_efli.cc,
-	  interfaces/Prolog/GNU/gprolog_efli.hh,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/GNU/ppl_prolog_sysdep.hh,
-	  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/sicstus_cfli.ic,
-	  interfaces/Prolog/SICStus/sicstus_efli.cc,
-	  interfaces/Prolog/SICStus/sicstus_efli.hh,
-	  interfaces/Prolog/SWI/.cvsignore,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/README.swiprolog,
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
-	  interfaces/Prolog/SWI/ppl_prolog_sysdep.hh,
-	  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_predicate_check.pl,
-	  interfaces/Prolog/XSB/.cvsignore,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4,
-	  interfaces/Prolog/XSB/ppl_prolog_sysdep.hh,
-	  interfaces/Prolog/XSB/xsb_cfli.hh,
-	  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/yap_cfli.hh,
-	  interfaces/Prolog/YAP/yap_efli.cc,
-	  interfaces/Prolog/YAP/yap_efli.hh,
-	  interfaces/Prolog/tests/.cvsignore,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
-	  m4/ac_check_swi_prolog.m4, m4/ac_cxx_double_binary_format.m4,
-	  m4/ac_cxx_float_binary_format.m4,
-	  m4/ac_cxx_long_double_binary_format.m4, m4/ax_prefix_config_h.m4,
-	  m4/lib-link.m4, m4/lib-prefix.m4, m4/libtool.m4, m4/ltoptions.m4,
-	  m4/ltsugar.m4, m4/ltversion.m4, src/.cvsignore,
-	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/BD_Shape.templates.hh, src/Bit_Matrix.cc,
-	  src/Bit_Row.inlines.hh, src/Boundary.defs.hh, src/Box.defs.hh,
-	  src/Box.inlines.hh, src/Box.templates.hh,
-	  src/C_Polyhedron.defs.hh, src/Checked_Number.defs.hh,
-	  src/Checked_Number.inlines.hh, src/Checked_Number.templates.hh,
-	  src/Congruence.defs.hh, src/Congruence_System.cc,
-	  src/Congruence_System.inlines.hh, src/Constraint.defs.hh,
-	  src/Constraint.inlines.hh, src/Constraint_System.cc,
-	  src/Constraint_System.inlines.hh, src/DB_Matrix.templates.hh,
-	  src/Float.defs.hh, src/Float.inlines.hh, src/Generator_System.cc,
-	  src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
-	  src/Grid.defs.hh, src/Grid.templates.hh, src/Grid_chdims.cc,
-	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Grid_simplify.cc,
-	  src/Grid_widenings.cc, src/Init.cc, src/Init.defs.hh,
-	  src/Init.inlines.hh, src/Interval.defs.hh,
-	  src/Interval.inlines.hh, src/Interval_Info.defs.hh,
-	  src/Interval_Info.inlines.hh, src/Interval_Restriction.defs.hh,
-	  src/Linear_Expression.defs.hh, src/Linear_Expression.inlines.hh,
-	  src/Linear_System.cc, src/Linear_System.inlines.hh,
-	  src/MIP_Problem.cc, src/Makefile.am, src/Matrix.defs.hh,
-	  src/Matrix.inlines.hh, src/NNC_Polyhedron.defs.hh,
-	  src/OR_Matrix.defs.hh, src/OR_Matrix.templates.hh,
-	  src/Octagonal_Shape.defs.hh, src/Octagonal_Shape.templates.hh,
-	  src/Partially_Reduced_Product.defs.hh,
-	  src/Partially_Reduced_Product.inlines.hh,
-	  src/Partially_Reduced_Product.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.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/checked.cc,
-	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
-	  src/checked_mpz.inlines.hh, src/conversion.cc,
-	  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/iterator_to_const.defs.hh, src/minimize.cc,
-	  src/ppl_header.hh, src/simplify.cc, tests/Makefile.am,
-	  tests/print.hh, tests/BD_Shape/.cvsignore,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/congruences1.cc,
-	  tests/BD_Shape/constrains1.cc, tests/BD_Shape/constraints1.cc,
-	  tests/BD_Shape/frombdshape1.cc, tests/BD_Shape/frombox1.cc,
-	  tests/BD_Shape/fromgrid1.cc,
-	  tests/BD_Shape/fromoctagonalshape1.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/membytes1.cc, tests/BD_Shape/timeelapse1.cc,
-	  tests/Box/.cvsignore, tests/Box/Makefile.am,
-	  tests/Box/ascii_dump_load1.cc, tests/Box/boxdifference1.cc,
-	  tests/Box/constrains1.cc, tests/Box/fromgrid1.cc,
-	  tests/Box/frompartiallyreducedproduct1.cc,
-	  tests/Box/refinewithconstraints2.cc, tests/Box/topclosed1.cc,
-	  tests/Grid/.cvsignore, tests/Grid/Makefile.am,
-	  tests/Grid/addconstraint1.cc, tests/Grid/addconstraints1.cc,
-	  tests/Grid/addspacedims1.cc, tests/Grid/affinedim1.cc,
-	  tests/Grid/affineimage2.cc, tests/Grid/affinepreimage2.cc,
-	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
-	  tests/Grid/asciidumpload7.cc, tests/Grid/bounded1.cc,
-	  tests/Grid/bounds1.cc, tests/Grid/certificate1.cc,
-	  tests/Grid/containsintegerpoint1.cc, tests/Grid/coveringbox1.cc,
-	  tests/Grid/directproduct1.cc, tests/Grid/directproduct2.cc,
-	  tests/Grid/directproduct3.cc, tests/Grid/directproduct4.cc,
-	  tests/Grid/directproduct5.cc, tests/Grid/directproduct6.cc,
-	  tests/Grid/discrete1.cc, tests/Grid/disjoint1.cc,
-	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
-	  tests/Grid/foldspacedims1.cc, tests/Grid/frombdshape1.cc,
-	  tests/Grid/frombox1.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/generators1.cc, tests/Grid/grid3.cc,
-	  tests/Grid/griddifference1.cc, tests/Grid/join1.cc,
-	  tests/Grid/join2.cc, tests/Grid/limitedextrapolation1.cc,
-	  tests/Grid/limitedextrapolation2.cc,
-	  tests/Grid/limitedextrapolation3.cc, tests/Grid/maxmin1.cc,
-	  tests/Grid/membytes1.cc, tests/Grid/mincongruences1.cc,
-	  tests/Grid/mingenerators1.cc, tests/Grid/outputoperator1.cc,
-	  tests/Grid/partiallyreducedproduct1.cc,
-	  tests/Grid/partiallyreducedproduct2.cc,
-	  tests/Grid/partiallyreducedproduct3.cc,
-	  tests/Grid/partiallyreducedproduct4.cc,
-	  tests/Grid/pointsetpowerset1.cc,
-	  tests/Grid/powersetdifference1.cc,
-	  tests/Grid/powersetgeometricallycovers1.cc,
-	  tests/Grid/relations1.cc, tests/Grid/relations2.cc,
-	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
-	  tests/Grid/topclosed1.cc, tests/Grid/widening1.cc,
-	  tests/Grid/widening3.cc, tests/MIP_Problem/.cvsignore,
-	  tests/Octagonal_Shape/.cvsignore,
-	  tests/Octagonal_Shape/Makefile.am,
-	  tests/Octagonal_Shape/constrains1.cc,
-	  tests/Partially_Reduced_Product/.cvsignore,
-	  tests/Partially_Reduced_Product/Makefile.am,
-	  tests/Partially_Reduced_Product/asciidumpload1.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/partiallyreducedproduct1.cc,
-	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc,
-	  tests/Partially_Reduced_Product/partiallyreducedproduct3.cc,
-	  tests/Partially_Reduced_Product/partiallyreducedproduct4.cc,
-	  tests/Polyhedron/.cvsignore, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/addcongruence1.cc,
-	  tests/Polyhedron/addcongruences1.cc,
-	  tests/Polyhedron/congruences1.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/maxspacedim1.cc,
-	  tests/Polyhedron/pointsetpowerset1.cc,
-	  tests/Polyhedron/pointsetpowerset2.cc,
-	  tests/Polyhedron/pointsetpowerset3.cc,
-	  tests/Polyhedron/pointsetpowerset4.cc,
-	  tests/Polyhedron/pointsetpowerset5.cc,
-	  tests/Polyhedron/pointsetpowerset6.cc,
-	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/randphull1.cc,
-	  tests/Polyhedron/simplifyusingcontext1.cc,
-	  tests/Powerset/.cvsignore, tests/Powerset/Makefile.am,
-	  tests/Powerset/pointsetpowerset1.cc,
-	  tests/Powerset/pointsetpowerset2.cc,
-	  tests/Powerset/pointsetpowerset3.cc,
-	  tests/Powerset/pointsetpowerset4.cc,
-	  tests/Powerset/pointsetpowerset5.cc,
-	  tests/Powerset/pointsetpowerset6.cc, tests/Powerset/powerset1.cc,
-	  tests/Powerset/product1.cc,
-	  tests/Powerset/simplifyusingcontext1.cc, utils/Makefile.am
-	  (bounded_arithmetic.[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,1,2,2,2,2,2,2,1,1,2,1,1,2,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,2,1,1,1,1,1,1,1,2,2,1,1,1,1,2,1,1,1,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,1,1,1,2,2,1,2,2,2,1,1,1,1,1,2,2,1,2,1,1,2,1,2,2,1,1,1,1,2,1,2,2,1,1,1,1,1,2,2,1,2,2,1,1,1,2,1,2,2,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,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, [...]
-	  First merge of the trunk to the bounded_arithmetic branch.
-
-2008-09-11 Thursday 22:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.81): Improved comments for the
-	  add_constraint(s) methods.
-
-2008-09-11 Thursday 20:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.11), Watchdog/INSTALL (1.8): Updated from Autoconf
-	  2.63.
-
-2008-09-11 Thursday 19:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/frompartiallyreducedproduct1.cc (1.3): Prefer
-	  refine_with_* to add_* when stating properties of products
-	  elements.
-
-2008-09-11 Thursday 17:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
-	  (1.5): Typo corrected.
-
-2008-09-11 Thursday 17:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
-	  (bounded_arithmetic.1): file partiallyreducedproduct1.cc was
-	  added on branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 17:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/frombox1.cc (1.6): Undone unintended change.
-
-2008-09-11 Thursday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/frombox1.cc (1.3): Corrected expected result for
-	  test11.
-
-2008-09-11 Thursday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/frombox1.cc (bounded_arithmetic.1): file frombox1.cc
-	  was added on branch bounded_arithmetic on 2008-09-11 20:37:53
-	  +0000
-
-2008-09-11 Thursday 16:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: Box/frombox1.cc (1.5), Grid/Makefile.am (1.69),
-	  Grid/frombox1.cc (1.1): Tests added for building a grid from a
-	  box.
-
-2008-09-11 Thursday 16:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: frombdshape1.cc (1.4), fromoctagonalshape1.cc (1.4),
-	  grid3.cc (1.29): Added tests in the case that the bd/octagonal
-	  shape is not shortest path closed.  Fixed a comment in
-	  tests/Grid/grid3.cc.
-
-2008-09-11 Thursday 16:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/fromgrid1.cc (1.7): Revised for changes to the grid
-	  domain.
-
-2008-09-11 Thursday 16:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.114): Prefer refine_with_* wrt add_*
-	  in the implementation of generalized affine images and preimages.
-
-2008-09-11 Thursday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: generalizedaffineimage1.cc (1.22), membytes1.cc
-	  (1.7), timeelapse1.cc (1.26): A few test corrected (no longer
-	  adding constraints that are not BD).
-
-2008-09-11 Thursday 15:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: congruences1.cc (1.5), constraints1.cc (1.25):
-	  Corrected according to hte new semantics of
-	  add_constraints/congruences.
-
-2008-09-11 Thursday 15:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
-	  (1.4): Improved a test.
-
-2008-09-11 Thursday 15:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.113): Corrected a couple of bugs in
-	  the new add_congruence implementation.
-
-2008-09-11 Thursday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.165): When converting differently
-	  typed BD_Shape objects, for maximum precision, do enforce
-	  shortest-path closure of the source bds.
-
-2008-09-11 Thursday 15:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/frombdshape1.cc (1.4): Avoid exceptions in tests
-	  1--4.
-
-2008-09-11 Thursday 15:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Partially_Reduced_Product/Makefile.am (1.3): Enable test
-	  asciidumpload1.cc.
-
-2008-09-11 Thursday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/Makefile.am
-	  (bounded_arithmetic.1): file Makefile.am was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 15:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/frombdshape1.cc (1.3): Added a test for the
-	  conversion from a bds to a differently typed bds.
-
-2008-09-11 Thursday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Partially_Reduced_Product.inlines.hh (1.30),
-	  Partially_Reduced_Product.templates.hh (1.11): Also dump/load the
-	  reduction Bolean flag.
-
-2008-09-11 Thursday 14:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/asciidumpload1.cc (1.2): When
-	  using products, always prefer refine_with_* instead of add_*.
-
-2008-09-11 Thursday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/asciidumpload1.cc
-	  (bounded_arithmetic.1): file asciidumpload1.cc was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 14:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: Grid/asciidumpload7.cc (1.6),
-	  Partially_Reduced_Product/asciidumpload1.cc (1.1): Move test for
-	  the product domain into the appropriate directory. Test
-	  temporarily disabled.
-
-2008-09-11 Thursday 14:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.80), src/Grid_public.cc (1.81),
-	  tests/Grid/Makefile.am (1.68), tests/Grid/frombdshape1.cc (1.3),
-	  tests/Grid/fromoctagonalshape1.cc (1.3), tests/Grid/grid3.cc
-	  (1.28), tests/Grid/membytes1.cc (1.12),
-	  tests/Partially_Reduced_Product/Makefile.am (1.2),
-	  tests/Partially_Reduced_Product/directproduct1.cc (1.3),
-	  tests/Partially_Reduced_Product/directproduct3.cc (1.3),
-	  tests/Partially_Reduced_Product/directproduct6.cc (1.3),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
-	  (1.3): If a constraint system is not all equalities, then
-	  building a grid from the system will now throw an exception.
-	  Tests adapted for this change.
-
-	  In tests/Grid the asciidumpload7.cc tested ascii_dump and
-	  ascii_load for the product domain. This test fails with the
-	  current changes and has been disabled. When these problems have
-	  been fixed, the test will be moved and enabled in the
-	  tests/Partially_Reduced_Product directory.
-
-2008-09-11 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/directproduct1.cc
-	  (bounded_arithmetic.1): file directproduct1.cc was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/directproduct3.cc
-	  (bounded_arithmetic.1): file directproduct3.cc was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/directproduct6.cc
-	  (bounded_arithmetic.1): file directproduct6.cc was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
-	  (bounded_arithmetic.1): file partiallyreducedproduct2.cc was
-	  added on branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 14:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/frombox1.cc (1.2): Another test.
-
-2008-09-11 Thursday 14:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/fromgrid1.cc (1.5): New test to check that the
-	  appropriate precision is obtained when converting from a grid to
-	  a bd shape.
-
-2008-09-11 Thursday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
-	  (1.3): Only build from equality constraints and congruences -
-	  otherwise build the universe and use the refine_with* methods.
-
-2008-09-11 Thursday 13:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.129), BD_Shape.inlines.hh (1.164),
-	  BD_Shape.templates.hh (1.112): Now methods constructing a
-	  BD_Shape from a constraint system and adding constraints throw
-	  exceptions if an illegal constraint is added.  Also corrected the
-	  conversion constructors from Box and Octagonal_Shape so as to
-	  force an emptiness check, so as to build a precise approximation.
-
-2008-09-11 Thursday 13:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Congruence.defs.hh (1.24): Documentation clarified.
-
-2008-09-11 Thursday 13:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.138): Remove a TODO comment inside a
-	  now deprecated method.
-
-2008-09-11 Thursday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/fromoctagonalshape1.cc (1.4): New test shows that
-	  current implementation of conversion operator is not precise
-	  enough.
-
-2008-09-11 Thursday 12:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.79), src/Grid_public.cc (1.80),
-	  tests/Grid/Makefile.am (1.67), tests/Grid/addconstraint1.cc
-	  (1.15), tests/Grid/addconstraints1.cc (1.16),
-	  tests/Grid/addspacedims1.cc (1.17), tests/Grid/affinedim1.cc
-	  (1.14), tests/Grid/affineimage2.cc (1.14),
-	  tests/Grid/affinepreimage2.cc (1.10),
-	  tests/Grid/asciidumpload1.cc (1.16), tests/Grid/asciidumpload2.cc
-	  (1.8), tests/Grid/bounded1.cc (1.16), tests/Grid/bounds1.cc
-	  (1.17), tests/Grid/certificate1.cc (1.16),
-	  tests/Grid/containsintegerpoint1.cc (1.6),
-	  tests/Grid/coveringbox1.cc (1.18), tests/Grid/discrete1.cc
-	  (1.10), tests/Grid/disjoint1.cc (1.14), tests/Grid/equals1.cc
-	  (1.15), tests/Grid/expandspacedim1.cc (1.14),
-	  tests/Grid/foldspacedims1.cc (1.14),
-	  tests/Grid/frompolyhedron1.cc (1.2),
-	  tests/Grid/generalizedaffineimage1.cc (1.16),
-	  tests/Grid/generalizedaffineimage2.cc (1.15),
-	  tests/Grid/generalizedaffineimage3.cc (1.7),
-	  tests/Grid/generalizedaffinepreimage1.cc (1.18),
-	  tests/Grid/generalizedaffinepreimage2.cc (1.18),
-	  tests/Grid/generalizedaffinepreimage3.cc (1.7),
-	  tests/Grid/generators1.cc (1.15), tests/Grid/grid3.cc (1.27),
-	  tests/Grid/griddifference1.cc (1.14), tests/Grid/join1.cc (1.18),
-	  tests/Grid/join2.cc (1.13), tests/Grid/limitedextrapolation1.cc
-	  (1.15), tests/Grid/limitedextrapolation2.cc (1.9),
-	  tests/Grid/limitedextrapolation3.cc (1.8), tests/Grid/maxmin1.cc
-	  (1.15), tests/Grid/mincongruences1.cc (1.13),
-	  tests/Grid/mingenerators1.cc (1.12),
-	  tests/Grid/outputoperator1.cc (1.11),
-	  tests/Grid/pointsetpowerset1.cc (1.4),
-	  tests/Grid/powersetdifference1.cc (1.6),
-	  tests/Grid/powersetgeometricallycovers1.cc (1.5),
-	  tests/Grid/relations1.cc (1.17), tests/Grid/relations2.cc (1.19),
-	  tests/Grid/relations3.cc (1.10), tests/Grid/removespacedims1.cc
-	  (1.16), tests/Grid/removespacedims2.cc (1.16),
-	  tests/Grid/timeelapse1.cc (1.13), tests/Grid/topclosed1.cc
-	  (1.14), tests/Grid/widening1.cc (1.18), tests/Grid/widening3.cc
-	  (1.8): Removed the add congruence methods where the parameter is
-	  a constraint.  This means that, for example, "A == 0" can only be
-	  added using add_constraint.  To add it as a congruence it should
-	  be written as "(A %= 0) / 0)".  Tests adapted for this change.
-
-2008-09-11 Thursday 10:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.137): Redone change (temporarily
-	  reverted a week ago): now add_congruence(s) method throws an
-	  exception when adding a proper and non-trivial congruence.
-
-2008-09-11 Thursday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.218): Minor improvements to the
-	  documentation for simplify_using_context.
-
-2008-09-11 Thursday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.347): Minor improvement to the
-	  documentation for refine methods.
-
-2008-09-11 Thursday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.8): Another few minor
-	  improvements.
-
-2008-09-11 Thursday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.templates.hh (1.10): When recycling
-	  in the product domains, use refine_with_* for the sub-domain that
-	  cannot recycle.
-
-2008-09-11 Thursday 09:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.7): Added documentation for the
-	  refine, constrains and unconstrain functions.
-
-2008-09-11 Thursday 08:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.inlines.hh (1.29),
-	  tests/Partially_Reduced_Product/directproduct1.cc (1.2),
-	  tests/Partially_Reduced_Product/directproduct2.cc (1.2),
-	  tests/Partially_Reduced_Product/directproduct3.cc (1.2),
-	  tests/Partially_Reduced_Product/directproduct4.cc (1.2),
-	  tests/Partially_Reduced_Product/directproduct5.cc (1.2),
-	  tests/Partially_Reduced_Product/directproduct6.cc (1.2),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
-	  (1.2),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
-	  (1.2),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
-	  (1.2),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
-	  (1.2): Use refine_with_* when adding constraints or congruences
-	  to a product.  Note that this also applies to the
-	  constraints_reduction which needs to share the constraints and
-	  congruences.
-
-2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/directproduct2.cc
-	  (bounded_arithmetic.1): file directproduct2.cc was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/directproduct4.cc
-	  (bounded_arithmetic.1): file directproduct4.cc was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/directproduct5.cc
-	  (bounded_arithmetic.1): file directproduct5.cc was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
-	  (bounded_arithmetic.1): file partiallyreducedproduct3.cc was
-	  added on branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
-	  (bounded_arithmetic.1): file partiallyreducedproduct4.cc was
-	  added on branch bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-11 Thursday 08:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.6): Remove documentation for
-	  constructors from generic boudning boxes, which have been
-	  replaced by PPL Box instantiations.
-
-2008-09-10 Wednesday 21:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.78), src/Grid_nonpublic.cc (1.35),
-	  src/Grid_public.cc (1.79), tests/Grid/addconstraint1.cc (1.14),
-	  tests/Grid/addconstraints1.cc (1.15): Modified methods
-	  add_(recycled_)constraint(s) in the Grid domain to reflect what
-	  is said in definitions.dox wrt the throwing of exceptions.
-	  Modified tests and added tests to check the new exceptions.  The
-	  *_and_minimize" methods are untouched.
-
-2008-09-10 Wednesday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README.doc (1.17): Account for the differences between teTeX
-	  and TeX Live.
-
-2008-09-10 Wednesday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README.doc (1.16): Numbers fixed.
-
-2008-09-10 Wednesday 15:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.260): Removed 2 items that have already been dealt with.
-
-2008-09-10 Wednesday 13:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/ppl_java_common_dox (1.4): Typo fixed.
-
-2008-09-10 Wednesday 13:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/ppl_java_common_dox (bounded_arithmetic.1): file
-	  ppl_java_common_dox was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:44 +0000
-
-2008-09-10 Wednesday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/ppl_java_common_dox (1.3): Further small
-	  improvements to the documention for the widening operators
-	  documentation..
-
-2008-09-10 Wednesday 13:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/ppl_java_common_dox (1.2): Several cut-and-paste
-	  and similar errors fixed.
-
-2008-09-10 Wednesday 12:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_cc_code.m4
-	  (1.4), ppl_interface_generator_prolog_cc_files.m4 (1.6),
-	  ppl_interface_generator_prolog_dox.m4 (1.2),
-	  ppl_interface_generator_prolog_dox_code.m4 (1.2),
-	  ppl_interface_generator_prolog_hh_code.m4 (1.6),
-	  ppl_interface_generator_prolog_hh_files.m4 (1.7): Comments
-	  describing the function of the m4 files corrected.
-
-2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_prolog_cc_code.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_prolog_cc_files.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_prolog_dox.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_prolog_dox_code.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_prolog_hh_code.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-09-10 Wednesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_prolog_hh_files.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-09-10 Wednesday 11:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/README.doc (1.15): Minor improvements.
-
-2008-09-10 Wednesday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/test1.ml (bounded_arithmetic.1): file
-	  test1.ml was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:45 +0000
-
-2008-09-10 Wednesday 10:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_mli.m4 (1.16),
-	  ppl_ocaml_globals.cc (1.18), ppl_ocaml_globals.ml (1.11),
-	  tests/test1.ml (1.12): Added code for ppl_version() and similar
-	  functions.  Fixed a warning (ppl_ocaml_globals.cc) - caused by
-	  using CAMLparam(0) instead of CAMLparam1(unit) that declares the
-	  dummy parameter "unit".  Fixed a cut-and-paste typo in the mli
-	  fixed code.
-
-2008-09-10 Wednesday 08:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README.doc (1.14): Added advice on how to deal with "TeX
-	  capacity exceeded" errors.
-
-2008-09-09 Tuesday 22:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int32 (1.11): Adapted to the recent
-	  changes in ppl_lpsol.
-
-2008-09-09 Tuesday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (bounded_arithmetic.1): file
-	  Makefile.am was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:45 +0000
-
-2008-09-09 Tuesday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: Makefile.am (1.50), tests/Makefile.am (1.16):
-	  Link with the PPL just built, not with the one that may already
-	  been installed in the system.
-
-2008-09-09 Tuesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.343): Make LIBEXT and SHREXT available to
-	  makefiles.
-
-2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/ppl_interface_generator_java_dox.m4
-	  (bounded_arithmetic.1): file ppl_interface_generator_java_dox.m4
-	  was added on branch bounded_arithmetic on 2008-09-11 20:37:44
-	  +0000
-
-2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/ppl_interface_generator_java_dox_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_java_dox_code.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:44 +0000
-
-2008-09-09 Tuesday 15:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/Makefile.am (1.67),
-	  doc/devref-java-interface.doxyconf-html.in (1.4),
-	  doc/devref-java-interface.doxyconf-latex.in (1.4),
-	  doc/user-java-interface.doxyconf-html.in (1.4),
-	  doc/user-java-interface.doxyconf-latex.in (1.4),
-	  interfaces/Java/Java_interface.dox (1.3),
-	  interfaces/Java/Makefile.am (1.18),
-	  interfaces/Java/ppl_interface_generator_java_dox.m4 (1.1),
-	  interfaces/Java/ppl_interface_generator_java_dox_code.m4 (1.1),
-	  interfaces/Java/ppl_java_common_dox (1.1): Revised the Java
-	  documentation.
-
-2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-java-interface.doxyconf-html.in
-	  (bounded_arithmetic.1): file
-	  devref-java-interface.doxyconf-html.in was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-java-interface.doxyconf-latex.in
-	  (bounded_arithmetic.1): file
-	  devref-java-interface.doxyconf-latex.in was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-java-interface.doxyconf-html.in (bounded_arithmetic.1):
-	  file user-java-interface.doxyconf-html.in was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-java-interface.doxyconf-latex.in (bounded_arithmetic.1):
-	  file user-java-interface.doxyconf-latex.in was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-09 Tuesday 15:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/OCaml_interface.dox (1.4): Some typos fixed.
-
-2008-09-09 Tuesday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/OCaml_interface.dox (bounded_arithmetic.1): file
-	  OCaml_interface.dox was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:45 +0000
-
-2008-09-09 Tuesday 10:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.259), interfaces/Prolog/tests/pl_check.pl (1.55): Removed
-	  another item from the TODO.  Added a test for the set and restore
-	  rounding predicates.
-
-2008-09-09 Tuesday 10:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.258): Removed an item.
-
-2008-09-09 Tuesday 10:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.217): Revised documentation for the
-	  Pointset Powerset domain.  Reordered sections so that the Grid
-	  documentation comes before the Powerset documentation.
-
-2008-09-09 Tuesday 05:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int16 (1.10): Adapted to the recent
-	  changes in ppl_lpsol.
-
-2008-09-09 Tuesday 05:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/.cvsignore (1.13), tests/Box/.cvsignore (1.4): Updated.
-
-2008-09-08 Monday 22:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/Makefile.am (1.66),
-	  doc/devref-ocaml-interface.doxyconf-html.in (1.3),
-	  doc/devref-ocaml-interface.doxyconf-latex.in (1.3),
-	  interfaces/OCaml/OCaml_interface.dox (1.3): Revised OCaml
-	  documentation.
-
-2008-09-08 Monday 22:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-ocaml-interface.doxyconf-html.in
-	  (bounded_arithmetic.1): file
-	  devref-ocaml-interface.doxyconf-html.in was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-08 Monday 22:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-ocaml-interface.doxyconf-latex.in
-	  (bounded_arithmetic.1): file
-	  devref-ocaml-interface.doxyconf-latex.in was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-08 Monday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.270): Previous change reverted, since only
-	  one precompiled header can be used in a particular compilation.
-
-2008-09-08 Monday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.46): Some readability
-	  improvements.
-
-2008-09-08 Monday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/.cvsignore (bounded_arithmetic.1): file
-	  .cvsignore was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:45 +0000
-
-2008-09-08 Monday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/.cvsignore (1.2),
-	  interfaces/OCaml/tests/.cvsignore (1.2),
-	  interfaces/Prolog/SWI/.cvsignore (1.9),
-	  interfaces/Prolog/tests/.cvsignore (1.3): Updated.
-
-2008-09-08 Monday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Polyhedron/.cvsignore (1.7), Grid/.cvsignore (1.3):
-	  Updated.
-
-2008-09-08 Monday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/.cvsignore (1.4): Updated.
-
-2008-09-08 Monday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.269): Precompile ppl_test.hh, if precompiled
-	  headers are requested.
-
-2008-09-08 Monday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.9): Updated.
-
-2008-09-08 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.342): New Automake flag DEBUGGING_ENABLED is true
-	  if we have to compile with debug info.
-
-2008-09-08 Monday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.55): Erased rule to build
-	  obsolete ppl_prolog_main.icc.
-
-2008-09-08 Monday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Partially_Reduced_Product/.cvsignore, Powerset/.cvsignore
-	  (bounded_arithmetic.[1,1]): file .cvsignore was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-09-08 Monday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Box/.cvsignore (1.3), MIP_Problem/.cvsignore (1.2),
-	  Octagonal_Shape/.cvsignore (1.2),
-	  Partially_Reduced_Product/.cvsignore (1.2), Powerset/.cvsignore
-	  (1.2): Updated.
-
-2008-09-08 Monday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.257), interfaces/Prolog/tests/Makefile.am (1.23): Source
-	  file interfaces/Prolog/tests/ppl_predicate_check_common.pl is no
-	  longer deleted from the source directory.
-
-2008-09-08 Monday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: OCaml/.cvsignore (1.5), Prolog/.cvsignore (1.3),
-	  Prolog/XSB/.cvsignore (1.7): Updated.
-
-2008-09-08 Monday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_swi_prolog.m4 (1.15): In Fedora, SWI-Prolog.h is
-	  installed in /usr/include/pl.
-
-2008-09-08 Monday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.48), configure.ac (1.341), Watchdog/configure.ac
-	  (1.46), Watchdog/utils/Makefile.am (1.11),
-	  demos/ppl_lpsol/Makefile.am (1.45), interfaces/OCaml/Makefile.am
-	  (1.49), interfaces/OCaml/tests/Makefile.am (1.15),
-	  interfaces/Prolog/SICStus/Makefile.am (1.93), utils/Makefile.am
-	  (1.19): Use AC_PROG_SED in configure.ac's and $(SED), instead of
-	  plain `sed', in Makefile.am's.
-
-2008-09-08 Monday 14:54  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_mli.m4 (1.15),
-	  ppl_ocaml_globals.cc (1.17), ppl_ocaml_globals.ml (1.10),
-	  tests/test1.ml (1.11): Added - ppl_set_rounding_for_PPL -
-	  ppl_restore_pre_PPL_rounding to the OCaml interface.
-
-2008-09-08 Monday 14:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
-	  (1.3): Include the new predicates ppl_set_rounding_for_PPL and
-	  ppl_restore_pre_rounding_for_PPL  in the list of fixed
-	  predicates.
-
-2008-09-08 Monday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.77), Grid.templates.hh (1.36),
-	  Grid_simplify.cc (1.39): Code controlled by STRONG_REDUCTION
-	  moved to the appropriate place.
-
-2008-09-08 Monday 14:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.25): Commet improved.
-
-2008-09-08 Monday 14:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/Makefile.am (1.65),
-	  doc/devref-prolog-interface.doxyconf-html.in (1.9),
-	  doc/devref-prolog-interface.doxyconf-latex.in (1.9),
-	  doc/user-prolog-interface.doxyconf-html.in (1.8),
-	  doc/user-prolog-interface.doxyconf-latex.in (1.9),
-	  interfaces/Prolog/Makefile.am (1.54),
-	  interfaces/Prolog/Prolog_interface.dox (1.162),
-	  interfaces/Prolog/ppl_interface_generator_prolog_dox.m4 (1.1),
-	  interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
-	  (1.1), interfaces/Prolog/ppl_prolog_sysdep_dox (1.1),
-	  interfaces/Prolog/ppl_prolog_sysindep_dox (1.1): Prolog
-	  documentation revised.
-
-2008-09-08 Monday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_sysdep_dox (bounded_arithmetic.1):
-	  file ppl_prolog_sysdep_dox was added on branch bounded_arithmetic
-	  on 2008-09-11 20:37:45 +0000
-
-2008-09-08 Monday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_sysindep_dox (bounded_arithmetic.1):
-	  file ppl_prolog_sysindep_dox was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-09-08 Monday 09:17  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_globals.cc (1.12): Avoid `ppl_'
-	  prefix in the definitions of the methods in the Java interface.
-
-2008-09-08 Monday 09:06  Andrea Cimino
-
-	* configure.ac (1.340): No longer check for libmlgmp.a when
-	  detecting if we are able to compile the OCaml interface.
-
-2008-09-08 Monday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.47): Use `mv -f' instead of `mv'.
-
-2008-09-08 Monday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int64 (1.11): Adapted to the recent
-	  changed in ppl_lpsol.
-
-2008-09-07 Sunday 23:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: Makefile.am (1.48), tests/Makefile.am (1.14):
-	  Improved the definition of OCAMLC_LINK_FLAGS.
-
-2008-09-07 Sunday 21:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: expected_mpz (1.15), ppl_lpsol.c (1.77): Let
-	  GLPK work with the system's default rounding mode.
-
-2008-09-07 Sunday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.91): Work around a plld bug
-	  under Cygwin.
-
-2008-09-07 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.13): Definitions of
-	  OCAMLC_LINK_FLAGS made equal.
-
-2008-09-07 Sunday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.47): Fixed ocamlc compilation and
-	  link flags.
-
-2008-09-07 Sunday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.12): Typo fixed.
-
-2008-09-07 Sunday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.11): Fixed ocamlc
-	  compilation and link flags.
-
-2008-09-07 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.339): Restore LIBS after checking for GLPK.
-
-2008-09-07 Sunday 14:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: devref.doxyconf-html.in (1.90), devref.doxyconf-latex.in
-	  (1.29): Include the Partially_Reduced_Product.* src files for
-	  INPUT.
-
-2008-09-07 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/doc/Makefile.am (1.5), doc/Makefile.am (1.64),
-	  interfaces/Prolog/Ciao/Makefile.am (1.75),
-	  interfaces/Prolog/XSB/Makefile.am (1.72): `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.42), config.sub (1.39), Watchdog/config.guess
-	  (1.26), Watchdog/config.sub (1.24): Updated.
-
-2008-09-07 Sunday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.46): Removed useless definition
-	  of `abs_srcdir'.
-
-2008-09-07 Sunday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Makefile.am (1.14), Watchdog/utils/Makefile.am
-	  (1.10), interfaces/C/Makefile.am (1.43),
-	  interfaces/Java/jni/Makefile.am (1.20),
-	  interfaces/Prolog/Makefile.am (1.53),
-	  interfaces/Prolog/Ciao/Makefile.am (1.74),
-	  interfaces/Prolog/GNU/Makefile.am (1.76),
-	  interfaces/Prolog/YAP/Makefile.am (1.65),
-	  interfaces/Prolog/tests/Makefile.am (1.22), utils/Makefile.am
-	  (1.18): Removed useless dependencies from Makefile.
-
-2008-09-07 Sunday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.35), Watchdog/ltmain.sh (1.24), m4/libtool.m4 (1.6),
-	  m4/ltoptions.m4 (1.4), m4/ltsugar.m4 (1.2), m4/ltversion.m4
-	  (1.5), Watchdog/m4/libtool.m4 (1.6), Watchdog/m4/ltoptions.m4
-	  (1.4), Watchdog/m4/ltsugar.m4 (1.2), Watchdog/m4/ltversion.m4
-	  (1.5): Updated from Libtool 2.2.6.
-
-2008-09-07 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-prolog-interface.doxyconf-html.in (1.8),
-	  devref-prolog-interface.doxyconf-latex.in (1.8): Fixed the
-	  definition of INPUT.
-
-2008-09-07 Sunday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.cc (bounded_arithmetic.1):
-	  file ppl_prolog_common.cc was added on branch bounded_arithmetic
-	  on 2008-09-11 20:37:45 +0000
-
-2008-09-07 Sunday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.defs.hh
-	  (bounded_arithmetic.1): file ppl_prolog_common.defs.hh was added
-	  on branch bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-09-07 Sunday 11:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: Java/jni/ppl_java_globals.cc (1.11),
-	  Prolog/ppl_prolog_common.cc (1.4),
-	  Prolog/ppl_prolog_common.defs.hh (1.4): Added support for new
-	  methods:   void Parma_Polyhedra_Library::set_rounding_for_PPL()
-	  void Parma_Polyhedra_Library::restore_pre_PPL_rounding() for
-	  Prolog and Java.
-
-2008-09-07 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.184): Vertical space adjusted.
-
-2008-09-07 Sunday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.42): When necessary list
-	  `-no-undefined' among the `libppl_c_la_LDFLAGS'.
-
-2008-09-07 Sunday 09:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.51): Corrected cross-reference
-	  wrt meet-preserving enlargement for the devref manuals.
-
-2008-09-07 Sunday 09:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/Makefile.am (1.63): Corrected paths for Prolog files used for
-	  the devref Prolog manuals.
-
-2008-09-07 Sunday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.71): Added ppl_xsb.hh to
-	  DISTCLEANFILES.
-
-2008-09-07 Sunday 08:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.45): More dependency problems
-	  fixed.
-
-2008-09-06 Saturday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.h.in (1.77),
-	  ppl_interface_generator_c_cc_preamble (1.15),
-	  ppl_interface_generator_c_h_preamble (1.11): Added
-
-	    int ppl_set_rounding_for_PPL(void)
-
-	  and
-
-	    int ppl_restore_pre_PPL_rounding(void)
-
-	  to the C interface.
-
-2008-09-06 Saturday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Init.defs.hh (1.22): Comments revised.
-
-2008-09-06 Saturday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.70): BUILT_SOURCES must
-	  include ppl_xsb.hh.
-
-2008-09-06 Saturday 20:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.338): Version number bumped.
-
-2008-09-06 Saturday 20:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.256), interfaces/OCaml/Makefile.am (1.44),
-	  interfaces/OCaml/tests/Makefile.am (1.10): Fixed the dependency
-	  problems.
-
-2008-09-06 Saturday 18:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.46): Commands for dist-hook fixed.
-
-2008-09-06 Saturday 18:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.9): Do not distribute
-	  generated sources.
-
-2008-09-06 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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-09-06 Saturday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: Makefile.am (1.33), Java/jni/Makefile.am (1.19),
-	  Java/tests/Makefile.am (1.21), OCaml/Makefile.am (1.43),
-	  Prolog/GNU/Makefile.am (1.75), Prolog/SICStus/Makefile.am (1.92),
-	  Prolog/SWI/Makefile.am (1.90), Prolog/XSB/Makefile.am (1.69),
-	  Prolog/YAP/Makefile.am (1.64), Prolog/tests/Makefile.am (1.21):
-	  Removed several misuses of BUILT_SOURCES.
-
-2008-09-06 Saturday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.8): Fixed several problems.
-
-2008-09-06 Saturday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.337): Only enable sicstus_prolog, swi_prolog and
-	  xsb_prolog by default.
-
-2008-09-06 Saturday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/Makefile.am (1.74), SICStus/Makefile.am
-	  (1.91), SWI/Makefile.am (1.89), XSB/Makefile.am (1.68),
-	  YAP/Makefile.am (1.63): Do not distribute generated files.
-
-2008-09-06 Saturday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-c-interface.doxyconf-html.in (1.7),
-	  devref-c-interface.doxyconf-latex.in (1.7),
-	  devref-java-interface.doxyconf-html.in (1.3),
-	  devref-java-interface.doxyconf-latex.in (1.3),
-	  devref-ocaml-interface.doxyconf-html.in (1.2),
-	  devref-ocaml-interface.doxyconf-latex.in (1.2),
-	  devref-prolog-interface.doxyconf-html.in (1.7),
-	  devref-prolog-interface.doxyconf-latex.in (1.7),
-	  devref.doxyconf-html.in (1.89), devref.doxyconf-latex.in (1.28),
-	  user-c-interface.doxyconf-html.in (1.8),
-	  user-c-interface.doxyconf-latex.in (1.8),
-	  user-java-interface.doxyconf-html.in (1.3),
-	  user-java-interface.doxyconf-latex.in (1.3),
-	  user-ocaml-interface.doxyconf-html.in (1.2),
-	  user-ocaml-interface.doxyconf-latex.in (1.2),
-	  user-prolog-interface.doxyconf-html.in (1.7),
-	  user-prolog-interface.doxyconf-latex.in (1.8),
-	  user.doxyconf-html.in (1.43), user.doxyconf-latex.in (1.14):
-	  Updated.
-
-2008-09-06 Saturday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-ocaml-interface.doxyconf-html.in (bounded_arithmetic.1):
-	  file user-ocaml-interface.doxyconf-html.in was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-06 Saturday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-ocaml-interface.doxyconf-latex.in
-	  (bounded_arithmetic.1): file
-	  user-ocaml-interface.doxyconf-latex.in was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-06 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.255): Remember to make
-
-	      void set_rounding_for_PPL()
-	      void restore_pre_PPL_rounding()
-
-	  available in all the interfaces.
-
-2008-09-06 Saturday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/randphull1.cc (1.15): Reset the rounding mode to
-	  its pre-PPL state before doing any non-PPL floating point
-	  computation.	This is to avoid bugs as
-	  http://sources.redhat.com/bugzilla/show_bug.cgi?id=6869 and also
-	  to test the rounding-mode setting/resetting functions.  When
-	  NDEBUG is not defined, limit the maximum space dimension tested
-	  by test02() to 4 (instead of 6).
-
-2008-09-06 Saturday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.doxyconf-html.in (1.88), doc/devref.doxyconf-latex.in
-	  (1.27), src/Init.cc (1.36), src/Init.defs.hh (1.21),
-	  src/Init.inlines.hh (1.9), src/Makefile.am (1.183): New functions
-
-	    void set_rounding_for_PPL()
-	    void restore_pre_PPL_rounding()
-
-	  sets the FPU rounding mode as it was before initialization of the
-	  PPL, and sets it so that the PPL abstractions based on floating
-	  point numbers work correctly, respectively.
-
-2008-09-06 Saturday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Init.inlines.hh (bounded_arithmetic.1): file Init.inlines.hh
-	  was added on branch bounded_arithmetic on 2008-09-11 20:37:49
-	  +0000
-
-2008-09-06 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/gprolog_efli.cc (1.3), XSB/xsb_efli.cc
-	  (1.4): Two FIXMEs resolved.
-
-2008-09-06 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/gprolog_efli.cc (bounded_arithmetic.1):
-	  file gprolog_efli.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:47 +0000
-
-2008-09-06 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_efli.cc (bounded_arithmetic.1): file
-	  xsb_efli.cc was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:48 +0000
-
-2008-09-05 Friday 22:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/xsb_pl_check.P (1.32): Add the predicates:
-		 ppl_Polyhedron_constrains/2,
-	  ppl_Polyhedron_unconstrain_space_dimension/2,
-	  ppl_Polyhedron_unconstrain_space_dimensions/2, to the "import"
-	  list.
-
-2008-09-05 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: Makefile.am (1.62), libppl.3 (1.1): Started drafting a
-	  libppl(3) man page.
-
-2008-09-05 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/libppl.3 (bounded_arithmetic.1): file libppl.3 was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-09-05 Friday 19:27  Andrea Cimino
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.53),
-	  ppl_java_common.cc (1.40), ppl_java_common.hh (1.36),
-	  ppl_java_globals.cc (1.10): Use always `set_ptr' to set the value
-	  of the C++ object pointer in the Java world, this makes the code
-	  cleaner. This was made also to implement (in a near future)
-	  de-allocation with the recently added functions in
-	  `marked_pointers.hh' Changed the `set_ptr' definition to avoid
-	  casts in the code.
-
-2008-09-05 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: Makefile.am (1.67), ppl_prolog_sysdep.hh
-	  (1.2), xsb_efli.cc (1.3): The XSB interface now supports separate
-	  compilation.
-
-2008-09-05 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
-	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:48 +0000
-
-2008-09-05 Friday 15:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.66): Added code for
-	  generating ppl_xsb.hh.
-
-2008-09-05 Friday 15:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/: ppl_interface_generator_xsb_cc.m4 (1.16),
-	  ppl_interface_generator_xsb_hh.m4 (1.1): Split the generating
-	  file so as to generate 2 C++ files, ppl_xsb.hh (containing only
-	  the "defines") and ppl_xsb.cc for the rest.
-
-2008-09-05 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
-	  (bounded_arithmetic.1): file ppl_interface_generator_xsb_hh.m4
-	  was added on branch bounded_arithmetic on 2008-09-11 20:37:48
-	  +0000
-
-2008-09-05 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_cfli.hh (1.6): Added a missing `inline'
-	  qualifier.
-
-2008-09-05 Friday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.61): Updated the definition of
-	  DEVREF_PROLOG_INTERFACE_STUFF.
-
-2008-09-05 Friday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.15):
-	  Reorder the lines for the divert(1) and divert(2)  and #include
-	  ...
-
-2008-09-05 Friday 13:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Bit_Matrix.cc (1.6), checked.cc (1.23), conversion.cc
-	  (1.86): Added missing inclusions of <climits>.
-
-2008-09-05 Friday 13:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_efli.cc (1.2): Removed some unwanted
-	  PPL:: qualifications.
-
-2008-09-05 Friday 10:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.14):
-	  Restored some divert(n)'s.
-
-2008-09-05 Friday 10:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/ascii_dump_load1.cc (1.10): Corrected test04.
-
-2008-09-05 Friday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.254), src/Polyhedron_public.cc (1.136): (Temporarily)
-	  Reverted previous change, as it was causing too many troubles in
-	  the tests for the Partially_Reduced_Product.
-
-2008-09-05 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.inlines.hh (1.72): Fixed Constraint
-	  operator==(Variable, Variable).
-
-2008-09-05 Friday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/congruences1.cc (1.15): Update test according to
-	  new specification for addition of congruences.
-
-2008-09-04 Thursday 22:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset4.cc (1.2): Fixed tests 13 and 15,
-	  which were still assuming the old specification of
-	  add_congruence(s).
-
-2008-09-04 Thursday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset4.cc (bounded_arithmetic.1): file
-	  pointsetpowerset4.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:56 +0000
-
-2008-09-04 Thursday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.34): Include <climits>.
-
-2008-09-04 Thursday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.253): Moved one item to the section "PPL 0.11 or later".
-
-2008-09-04 Thursday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.45), configure.ac (1.336): Added a new configure
-	  option `--enable-check' accepting the values `thorough', for the
-	  ordinary lengthy process, and `quick', for a quicker process yet
-	  to be defined.  The default for the CVS distribution is
-	  `thorough', whereas tar and zip packages built with `make dist'
-	  default to `quick'.
-
-2008-09-04 Thursday 19:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: ppl-config.1 (1.7), ppl_lcdd.1 (1.5), ppl_lpsol.1 (1.5):
-	  Updated.
-
-2008-09-04 Thursday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.130), Constraint.inlines.hh (1.71):
-	  Resolved a couple of TODOs: now Constraint operator>=(Variable,
-	  Variable) and Constraint operator>(Variable, Variable) have
-	  optimal implementations.
-
-2008-09-04 Thursday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.inlines.hh (1.80): Comments improved.
-
-2008-09-04 Thursday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.129), Constraint.inlines.hh (1.70):
-	  TODO resolved: Constraint operator==(Variable, Variable) has now
-	  an optimal implementation.
-
-2008-09-04 Thursday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Linear_Expression.defs.hh (1.39),
-	  Linear_Expression.inlines.hh (1.14): Spurious \relates command
-	  removed.  New private constructor Linear_Expression(Variable v,
-	  Variable w) builds the linear expression corresponding to the
-	  difference of `v' and `w'.  FIXME resolved: Linear_Expression
-	  operator-(Variable, Variable) has now an optimal implementation.
-
-2008-09-04 Thursday 15:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: addcongruence1.cc (1.11), addcongruences1.cc
-	  (1.14): Adapted tests for addcongruence(s) so as to meet the new
-	  specification.
-
-2008-09-04 Thursday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.135): Adapted implementation of
-	  methods add_congruence(s) so as to meet their specification.
-
-2008-09-04 Thursday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.346), Polyhedron.templates.hh (1.21):
-	  The templatic constructor of a Polyhedron from a box now requires
-	  that the box is indeed an instantiation of the Box class
-	  template; documentation simplified accordingly.  Fixed
-	  documentation regarding the addition of congruences, so as to
-	  better specify when an exception is thrown.
-
-2008-09-04 Thursday 13:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.59), NNC_Polyhedron.defs.hh (1.61):
-	  Fixed minor problems in the documentation of constructors.
-
-2008-09-04 Thursday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: DB_Matrix.templates.hh (1.9), OR_Matrix.templates.hh (1.8):
-	  Two FIXMEs resolved.
-
-2008-09-04 Thursday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval_Info.defs.hh (1.11), Interval_Restriction.defs.hh
-	  (1.12): Comments improved.
-
-2008-09-04 Thursday 08:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: ascii_dump_load1.cc (1.9), refinewithconstraints2.cc
-	  (1.2): Corrected test04 of ascii_dump_load1.cc.  Temporarily
-	  disabled test02 of refinewithconstraints2.cc.
-
-2008-09-04 Thursday 00:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Checked_Number.templates.hh (1.2): Avoid assertions in the
-	  ascii_load method: return false instead.
-
-2008-09-04 Thursday 00:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.templates.hh (bounded_arithmetic.1): file
-	  Checked_Number.templates.hh was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:49 +0000
-
-2008-09-04 Thursday 00:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.inlines.hh (1.40): Interval's ascii_dump/load
-	  methods are now based on corresponding functions for the boundary
-	  datatype.
-
-2008-09-04 Thursday 00:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.98), Checked_Number.templates.hh
-	  (1.1), Makefile.am (1.182): Drafted ascii_dump/load functions for
-	  native and checked numbers: inexact numbers dump both hexadecimal
-	  and pretty printed representations.
-
-2008-09-03 Wednesday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.hh (1.11): Corrected the handling of
-	  __STDC_LIMIT_MACROS.
-
-2008-09-03 Wednesday 22:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.cc (1.23): Changed #if to #ifdef.
-
-2008-09-03 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.345): Little improvement to a comment.
-
-2008-09-03 Wednesday 20:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.344): Dealt with a couple of FIXME's
-	  related to documentation.
-
-2008-09-03 Wednesday 19:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/ascii_dump_load1.cc (1.8): Some improvements to the
-	  ascii_dump test.
-
-2008-09-03 Wednesday 18:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Interval_Info.defs.hh (1.10), Interval_Info.inlines.hh
-	  (1.9): When ascii_dumping interval info, do set/reset hexadecimal
-	  output before/after dumping a bitset.
-
-2008-09-03 Wednesday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval_Info.defs.hh (1.9): Do not define ascii_dump/load
-	  twice.
-
-2008-09-03 Wednesday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Interval.defs.hh (1.57), Interval.inlines.hh (1.39),
-	  Interval_Info.defs.hh (1.8), Interval_Info.inlines.hh (1.8):
-	  Started drafting appropriate ascii_dump/load methods for
-	  Interval.
-
-2008-09-03 Wednesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Boundary.defs.hh (1.14): Tell which namespace is being
-	  closed.
-
-2008-09-03 Wednesday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/ascii_dump_load1.cc (1.7): Temporarily commented out
-	  the invocation of test07().
-
-2008-09-03 Wednesday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.335), interfaces/Prolog/GNU/Makefile.am (1.73),
-	  interfaces/Prolog/SICStus/Makefile.am (1.90),
-	  interfaces/Prolog/SWI/Makefile.am (1.88),
-	  interfaces/Prolog/XSB/Makefile.am (1.65),
-	  interfaces/Prolog/YAP/Makefile.am (1.62): Fixed several
-	  distribution issues.
-
-2008-09-03 Wednesday 15:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Makefile.am (1.52), GNU/Makefile.am (1.72),
-	  SICStus/Makefile.am (1.89), SWI/Makefile.am (1.87),
-	  XSB/Makefile.am (1.64), YAP/Makefile.am (1.61): Corrected several
-	  variable's definitions.
-
-2008-09-03 Wednesday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.64), ascii_dump_load1.cc (1.6): Added
-	  test07(), which fails.  Commented out the invocation of several
-	  other tests that are waiting for adaptation to boxes.
-
-2008-09-03 Wednesday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: Makefile.am (1.63),
-	  ppl_interface_generator_xsb_cc.m4 (1.13), ppl_prolog_sysdep.hh
-	  (1.1), xsb_efli.cc (1.1), xsb_efli.hh (1.1): Started adapting the
-	  XSB interface in order to support separate compilation.
-
-2008-09-03 Wednesday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_efli.hh (bounded_arithmetic.1): file
-	  xsb_efli.hh was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:48 +0000
-
-2008-09-03 Wednesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sicstus_efli.cc (bounded_arithmetic.1):
-	  file sicstus_efli.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:47 +0000
-
-2008-09-03 Wednesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/gprolog_efli.cc (1.2), SWI/swi_efli.cc
-	  (1.3), SICStus/sicstus_efli.cc (1.2): Comments belong to the
-	  header files: removed from the implementation files.
-
-2008-09-03 Wednesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_efli.cc (bounded_arithmetic.1): file
-	  swi_efli.cc was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:48 +0000
-
-2008-09-02 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
-	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:47 +0000
-
-2008-09-02 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sicstus_efli.hh (bounded_arithmetic.1):
-	  file sicstus_efli.hh was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:47 +0000
-
-2008-09-02 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.334), interfaces/Prolog/SICStus/Makefile.am
-	  (1.88),
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (1.14), interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh (1.1),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.20),
-	  interfaces/Prolog/SICStus/sicstus_efli.cc (1.1),
-	  interfaces/Prolog/SICStus/sicstus_efli.hh (1.1): The SICStus
-	  Prolog interface now uses separate compilation.
-
-2008-09-02 Tuesday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog_common.cc (1.3),
-	  ppl_prolog_common.defs.hh (1.3): Fixed the declaration of
-	  `prolog_interface_atoms'.
-
-2008-09-01 Monday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.333), interfaces/Prolog/YAP/Makefile.am (1.60),
-	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.11),
-	  interfaces/Prolog/YAP/ppl_prolog_sysdep.hh (1.1),
-	  interfaces/Prolog/YAP/yap_cfli.hh (1.6),
-	  interfaces/Prolog/YAP/yap_efli.cc (1.1),
-	  interfaces/Prolog/YAP/yap_efli.hh (1.1): Enabled separate
-	  compilation in the YAP interface.
-
-2008-09-01 Monday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
-	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:48 +0000
-
-2008-09-01 Monday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_efli.cc (bounded_arithmetic.1): file
-	  yap_efli.cc was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:48 +0000
-
-2008-09-01 Monday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_efli.hh (bounded_arithmetic.1): file
-	  yap_efli.hh was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:48 +0000
-
-2008-09-01 Monday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.5): Started adjusting the
-	  polyehdra domain documentation for the C language interface;
-	  function categorized as either generic domain functions or ad hoc
-	  functions for the domain of polyhedra, so as to clarify which
-	  ones are also available for other domain instantiations.
-
-2008-08-31 Sunday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/gprolog_efli.hh (bounded_arithmetic.1):
-	  file gprolog_efli.hh was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:47 +0000
-
-2008-08-31 Sunday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
-	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:47 +0000
-
-2008-08-31 Sunday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.332), interfaces/Prolog/ppl_prolog_common.defs.hh
-	  (1.2), interfaces/Prolog/GNU/Makefile.am (1.71),
-	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.9),
-	  interfaces/Prolog/GNU/gprolog_efli.cc (1.1),
-	  interfaces/Prolog/GNU/gprolog_efli.hh (1.1),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.47),
-	  interfaces/Prolog/GNU/ppl_prolog_sysdep.hh (1.1),
-	  interfaces/Prolog/SICStus/Makefile.am (1.87): The GNU Prolog
-	  interface now supports separate compilation.
-
-2008-08-31 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: Makefile.am (1.86), ppl_prolog_sysdep.hh
-	  (1.2), swi_efli.hh (1.4): Some cosmetic changes.  Some FIXMEs
-	  added.
-
-2008-08-31 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
-	  (bounded_arithmetic.1): file ppl_prolog_sysdep.hh was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:48 +0000
-
-2008-08-31 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_efli.hh (bounded_arithmetic.1): file
-	  swi_efli.hh was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:48 +0000
-
-2008-08-31 Sunday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.331): Added checks required to validate an
-	  horrible kludge working around an horrible bug in <gprolog.h>
-	  (see
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2008-August/012277.html).
-
-2008-08-30 Saturday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_efli.hh (1.3): Exploit the inclusion of
-	  "ppl.hh" in order to have <stdint.h> and/or <inttypes.h> already
-	  included the proper way.
-
-2008-08-30 Saturday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_cfli.hh (1.10): Include <stdint.h> nor
-	  <inttypes.h>.
-
-2008-08-30 Saturday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Float.defs.hh (1.30), Float.inlines.hh (1.33),
-	  checked_int.inlines.hh (1.67): Do not include <stdint.h> and/or
-	  <inttypes.h>: these are included by "ppl-config.h".
-
-2008-08-30 Saturday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.hh (1.10): Make sure __STDC_LIMIT_MACROS is
-	  restored at the end of <ppl.hh>.  Similarly, make sure NDEBUG is
-	  restored exactly to its original definition.
-
-2008-08-30 Saturday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.330): Make sure __STDC_LIMIT_MACROS is defined
-	  before including <stdint.h>.	For this and other reasons,
-	  <stdint.h> should be only included from "ppl-config.h".
-
-2008-08-30 Saturday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_double_binary_format.m4 (1.9),
-	  ac_cxx_float_binary_format.m4 (1.7),
-	  ac_cxx_long_double_binary_format.m4 (1.8): Make sure
-	  __STDC_LIMIT_MACROS is defined before including <stdint.h>.
-
-2008-08-30 Saturday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ax_prefix_config_h.m4 (1.2): Updated.
-
-2008-08-29 Friday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.85): Dependencies fixed.
-
-2008-08-29 Friday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_globals.cc (1.16): Use the new
-	  implementation of marked pointers.
-
-2008-08-29 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: Makefile.am (1.32), marked_pointers.hh (1.1):
-	  Implementation of marked pointers for use in the PPL foreign
-	  interfaces.
-
-2008-08-29 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/marked_pointers.hh (bounded_arithmetic.1): file
-	  marked_pointers.hh was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:41 +0000
-
-2008-08-28 Thursday 20:56  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.38), ppl_ocaml_globals.cc (1.15): Added three functions to
-	  deal with the last bit of a pointer. These are added and used in
-	  the interface to avoid unwanted `delete' calls on iterated
-	  objects: e.g. object get by `get_disjunct'.
-
-2008-08-28 Thursday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.88): Typo fixed.
-
-2008-08-27 Wednesday 22:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.87): Added missing `inline'
-	  qualifier.
-
-2008-08-27 Wednesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.86): Work around a limitation of
-	  Cygwin, which has proper long doubles but does not provide
-	  rintl().
-
-2008-08-27 Wednesday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Boundary.defs.hh (1.13): Work around a bug of GCC 4.0.x.
-
-2008-08-26 Tuesday 19:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.inlines.hh (1.38): (Temporarily?) Commented out call
-	  to method OK() in operator<<(), which is also used by method
-	  ascii_dump().
-
-2008-08-26 Tuesday 19:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.56): Avoid long lines in method OK();
-	  when doing output on std::cerr, prefer "\n" to std::endl.
-
-2008-08-26 Tuesday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.121): Corrected spelling typo in comment.
-
-2008-08-26 Tuesday 12:56  Andrea Cimino
-
-	* interfaces/Java/:
-	  ppl_interface_generator_java_procedure_generators.m4 (1.7),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.52), jni/ppl_java_common.cc (1.39), jni/ppl_java_common.hh
-	  (1.35), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.32):  Implemened the following methods in the Java interface:
-	   ppl_ at CLASS@_ascii_dump/1
-	   ppl_ at CLASS@_ at PARTITION@/4 +pointset_powerset \grid
-
-	   To do so, a new Pair class has been introduced to
-	   wrap the result of a CXX std::pair class.
-
-2008-08-25 Monday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.252), interfaces/Prolog/SWI/README.swiprolog (1.3): In
-	  the SWI-Prolog documentation, the command to dynamically load the
-	  library has been modified so as to specify the `.so' extension:
-	  this seems to be required under Mac OS X and seems not to do any
-	  harm under GNU/Linux.
-
-2008-08-25 Monday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.232), configure.ac (1.329), fedora/ppl.spec (1.5),
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.19), interfaces/Prolog/SWI/swi_cfli.hh (1.9),
-	  interfaces/Prolog/SWI/swi_efli.cc (1.2),
-	  interfaces/Prolog/SWI/swi_efli.hh (1.2): The preferred spelling
-	  is `SWI-Prolog', not `SWI Prolog'.
-
-2008-08-25 Monday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: ppl_interface_generator_copyright (1.7),
-	  Prolog/ppl_interface_generator_prolog_cc_files.m4 (1.5),
-	  Prolog/ppl_interface_generator_prolog_hh_files.m4 (1.6),
-	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.18),
-	  Prolog/SWI/swi_pl_check.pl (1.12),
-	  Prolog/SWI/swi_predicate_check.pl (1.7): Fixed several comments
-	  and meta-comments.
-
-2008-08-25 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.inlines.hh
-	  (bounded_arithmetic.1): file ppl_prolog_common.inlines.hh was
-	  added on branch bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-08-25 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.328), interfaces/Prolog/Makefile.am (1.51),
-	  interfaces/Prolog/exceptions.hh (1.27),
-	  interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
-	  (1.3),
-	  interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
-	  (1.4),
-	  interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
-	  (1.5),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.69),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_files.m4
-	  (1.2), interfaces/Prolog/ppl_prolog_common.cc (1.2),
-	  interfaces/Prolog/ppl_prolog_common.defs.hh (1.1),
-	  interfaces/Prolog/ppl_prolog_common.icc (1.16),
-	  interfaces/Prolog/ppl_prolog_common.inlines.hh (1.1),
-	  interfaces/Prolog/track_allocation.hh (1.25),
-	  interfaces/Prolog/SWI/Makefile.am (1.84),
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.17), interfaces/Prolog/SWI/ppl_prolog_sysdep.hh (1.1),
-	  interfaces/Prolog/SWI/swi_efli.cc (1.1),
-	  interfaces/Prolog/SWI/swi_efli.hh (1.1): Prolog interfaces
-	  reorganized.	Only the interface for SWI Prolog is operational;
-	  the others will follow.
-
-2008-08-24 Sunday 12:55  Andrea Cimino
-
-	* interfaces/OCaml/tests/test1.ml (1.10): Test if the number of
-	  constraints of a Constraint_System get by calling
-	  `minimized_constraints' on a Polyhedron built from Universe and
-	  with dimension greater than zero is zero.
-
-2008-08-24 Sunday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/simplifyusingcontext1.cc (bounded_arithmetic.1):
-	  file simplifyusingcontext1.cc was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:55 +0000
-
-2008-08-24 Sunday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/simplifyusingcontext1.cc (1.2): test02() must
-	  fail with 8-bit coefficients.
-
-2008-08-23 Saturday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/simplifyusingcontext1.cc (bounded_arithmetic.1):
-	  file simplifyusingcontext1.cc was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:56 +0000
-
-2008-08-23 Saturday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/simplifyusingcontext1.cc (1.2): test05() must fail
-	  with 8-bit coefficients.
-
-2008-08-23 Saturday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/Makefile.am (bounded_arithmetic.1): file
-	  Makefile.am was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:55 +0000
-
-2008-08-23 Saturday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Polyhedron/Makefile.am (1.127),
-	  Polyhedron/interspreservenlarge1.cc (1.10),
-	  Polyhedron/simplifyusingcontext1.cc (1.1), Powerset/Makefile.am
-	  (1.4), Powerset/interspreservenlarge1.cc (1.6),
-	  Powerset/simplifyusingcontext1.cc (1.1): Test program renamed.
-
-2008-08-23 Saturday 17:39  Andrea Cimino
-
-	* interfaces/Java/tests/Test_Executor.java (1.2): Starting from JDK
-	  1.5 there is no need to convert Boolean (class) to boolean
-	  (simple types) when using if statements.  Simplified.
-
-2008-08-23 Saturday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/Test_Executor.java (bounded_arithmetic.1):
-	  file Test_Executor.java was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:44 +0000
-
-2008-08-23 Saturday 17:33  Andrea Cimino
-
-	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.14),
-	  Makefile.am (1.20), NNC_Polyhedron_test1.java (1.1),
-	  Test_Executor.java (1.1): Non generated tests have been split in
-	  two separated files, one related to NNC_Polyhedron, another one
-	  to C_Polyhedron.  Added a new class (Text_Executor) that executes
-	  all the tests found in a class.
-
-2008-08-23 Saturday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/NNC_Polyhedron_test1.java
-	  (bounded_arithmetic.1): file NNC_Polyhedron_test1.java was added
-	  on branch bounded_arithmetic on 2008-09-11 20:37:44 +0000
-
-2008-08-22 Friday 17:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.327): Fixed the generation of the file names for
-	  the Prolog and Java interfaces.  Version number bumped.
-
-2008-08-22 Friday 16:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.37), ppl_interface_generator_ocaml_ml_code.m4 (1.34),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.26),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.6): The
-	  same as in the previous commit - but for the OCaml interface.
-
-2008-08-22 Friday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml_code.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_ocaml_test_ml_code.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-08-22 Friday 16:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.77),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.24),
-	  C/C_interface.dox (1.4), C/ppl_interface_generator_c_cc_code.m4
-	  (1.36), C/ppl_interface_generator_c_h_code.m4 (1.26),
-	  Prolog/ppl_interface_generator_prolog_cc_code.m4 (1.2),
-	  Prolog/ppl_interface_generator_prolog_hh_code.m4 (1.5),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.68),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.78), Java/Java_interface.dox (1.2),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.51), Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.31): The Prolog predicate simplify_using_context_assign has 3
-	  arguments the third for the Boolean result.
-
-	  As a result, special schematic code for all the interfaces needed
-	  to be provided just for this method (previously it had used the
-	  schematic code for the binary operators with the "and_minimize"
-	  option).
-
-	  The documentation for C and Java updated for this method.
-
-2008-08-22 Friday 16:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.134): Modified method
-	  simplify_using_context_assign(): more simplifications detected
-	  (now test06 in test/Polyhedron/interpreservenlarge1.cc succeeds).
-
-2008-08-22 Friday 13:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.133): Solved the problem causing an
-	  assertion to fail in test06.	Correction still incomplete, since
-	  simplification fails to detect some redundant inequalities as
-	  such.
-
-2008-08-22 Friday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/interspreservenlarge1.cc (1.9): Fixed test
-	  showing bug.
-
-2008-08-22 Friday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.132): Previous change reverted: it
-	  wasn't the proper fix.
-
-2008-08-22 Friday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.131): Corrected variable naming typo
-	  causing an assertion failure (as witnessed by test06 in
-	  test/Polyhedron/interspreservenlarge1.cc).
-
-2008-08-22 Friday 11:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/interspreservenlarge1.cc (1.8): New test
-	  (test06) shows a bug in simplify_using_context_assign().
-
-2008-08-21 Thursday 22:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.128), Box.defs.hh (1.60), Grid.defs.hh
-	  (1.76), Octagonal_Shape.defs.hh (1.54), Pointset_Powerset.defs.hh
-	  (1.50), Polyhedron.defs.hh (1.343): Fixed doxygen
-	  cross-references for simplify_using_context_assign.
-
-2008-08-21 Thursday 22:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.216): Drafted an improved specification
-	  for the operator providing simplification using a given context;
-	  also specified for the case of a powerset domain.  (To be double
-	  checked).
-
-2008-08-21 Thursday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.85): FIXME added.
-
-2008-08-21 Thursday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_double_binary_format.m4 (1.8):
-	  AC_CXX_DOUBLE_BINARY_FORMAT depends on AC_C_BIGENDIAN: enforce
-	  this with AC_REQUIRE.
-
-2008-08-21 Thursday 17:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.76),
-	  OCaml/tests/test1.ml (1.9): Changed the name of the new method in
-	  the interfaces.
-
-2008-08-21 Thursday 16:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.127), BD_Shape.templates.hh (1.111),
-	  Box.defs.hh (1.59), Box.templates.hh (1.120), Grid.defs.hh
-	  (1.75), Grid_public.cc (1.78), Octagonal_Shape.defs.hh (1.53),
-	  Octagonal_Shape.templates.hh (1.83), Pointset_Powerset.defs.hh
-	  (1.49), Pointset_Powerset.templates.hh (1.40), Polyhedron.defs.hh
-	  (1.342), Polyhedron_public.cc (1.130): Method
-	  intersection_preserving_enlarge_assign() renamed as
-	  simplify_using_context_assign().
-
-2008-08-21 Thursday 16:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Polyhedron/interspreservenlarge1.cc (1.7),
-	  Powerset/interspreservenlarge1.cc (1.5): Test changed to use new
-	  method name.
-
-2008-08-21 Thursday 16:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.75),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.23):
-	  Ensure the new method is generated for all the domains that
-	  support it.  Name still needs revising.
-
-2008-08-21 Thursday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.110), Box.inlines.hh (1.34),
-	  Box.templates.hh (1.119), Octagonal_Shape.templates.hh (1.82): In
-	  several comments, correct typo (emptyness ==> emptiness).
-
-2008-08-21 Thursday 16:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_copyright (1.6),
-	  Prolog/ppl_interface_generator_prolog_cc_files.m4 (1.3),
-	  Prolog/ppl_interface_generator_prolog_hh_files.m4 (1.4): Include
-	  the copyright notice in the generated files.
-
-2008-08-21 Thursday 16:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
-	  (1.2): Added an #include "sysdep.hh" line to each generated cc
-	  file.
-
-2008-08-21 Thursday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.326): We don't need the `win32-dll' option of
-	  `LT_INIT'.
-
-2008-08-21 Thursday 13:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/interspreservenlarge1.cc (1.4): Test test08() no
-	  longer fails.
-
-2008-08-21 Thursday 13:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.129): Corrected the method for
-	  simplification of polyhedra wrt context so that to avoid
-	  converting a masked equality (i.e., an inequality that implies an
-	  equality in the given context) to a proper equality; for
-	  instance, now simplifying PH1 = { A >= 0 } in the context of PH2
-	  = { A <= 0 } returns PH1, instead of PH3 = { A == 0 }.  The
-	  correction ensures that the method is extensive on the polyhedra
-	  domain and hence solves the corresponding bug in the
-	  Pointset_Powerset domain.
-
-2008-08-21 Thursday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.325): Temporarily removed all the Prolog
-	  interfaces from the ones that are built by default (this is not
-	  to disturb the work of people not interested in them).
-
-2008-08-21 Thursday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
-	  (1.4): Add header for the binary operations.
-
-2008-08-21 Thursday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
-	  (1.3): Missing ";" added.
-
-2008-08-21 Thursday 11:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
-	  (1.3): Fixed a typo.
-
-2008-08-21 Thursday 11:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
-	  (1.2): Removed some unwanted code.
-
-2008-08-21 Thursday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.68): Allow the PPL to be compiled and used
-	  even on platforms where we are unable to detect the binary format
-	  used by doubles.
-
-2008-08-21 Thursday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.83): Separately compile the
-	  C++ sources of the interface.
-
-2008-08-21 Thursday 10:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_hh_files.m4
-	  (1.2), ppl_prolog_common.cc (1.1): Removed redundant code from
-	  the m4 file and renaming the common code file.
-
-2008-08-21 Thursday 10:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.324): Compute the names of C++ domain-specific
-	  files for the Prolog interfaces: headers, sources and objects.
-
-2008-08-21 Thursday 09:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Makefile.am (1.50),
-	  ppl_interface_generator_prolog_cc_code.m4 (1.1),
-	  ppl_interface_generator_prolog_cc_files.m4 (1.1),
-	  ppl_interface_generator_prolog_hh_code.m4 (1.1),
-	  ppl_interface_generator_prolog_hh_files.m4 (1.1): New files to
-	  enable separate compilation of the Prolog interface code.
-
-2008-08-21 Thursday 09:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.74): The new
-	  method intersection_preserving_enlarge_assign now returns a
-	  Boolean.  At the moment the new version is only enabled for
-	  Polyhedra, but this will be fixed later.
-
-2008-08-21 Thursday 00:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/interspreservenlarge1.cc (1.3): Test test05() now
-	  succeeds.  New test test08() shows a bug due to the uncorrect
-	  handling of inequalities that happen to imply equalities in parts
-	  of the given powerset context.
-
-2008-08-20 Wednesday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.128): Implemented the announced
-	  heuristics in
-	  Polyhedron::intersection_preserving_enlarge_assign(const
-	  Polyhedron&).
-
-2008-08-20 Wednesday 17:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.inlines.hh (1.8): For the declaration of ffs(3),
-	  include <strings.h> and not <cstring> (note that in configure.ac
-	  we correctly have AC_CHECK_DECLS([ffs], , , [#include
-	  <strings.h>]).
-
-2008-08-20 Wednesday 12:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/interspreservenlarge1.cc (1.2): Added three more
-	  tests, one (temporarily) known to fail.
-
-2008-08-20 Wednesday 12:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/interspreservenlarge1.cc (1.6): Added another
-	  test (test05).
-
-2008-08-20 Wednesday 12:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.126), BD_Shape.templates.hh (1.109),
-	  Box.defs.hh (1.58), Box.templates.hh (1.118), Grid.defs.hh
-	  (1.74), Grid_public.cc (1.77), Octagonal_Shape.defs.hh (1.52),
-	  Octagonal_Shape.templates.hh (1.81), Pointset_Powerset.defs.hh
-	  (1.48), Pointset_Powerset.templates.hh (1.39), Polyhedron.defs.hh
-	  (1.341), Polyhedron_public.cc (1.127): The method
-	  intersection_preserving_enlarge_assign() now returns a boolean:
-	  if false is returned the intersection is empty.  Using the new
-	  return value, improved the implementation for Pointset_Powerset
-	  by dropping those disjuncts that have empty intersection with all
-	  of the disjunct of the context.  Corrected a bug in the
-	  Polyhedron method regarding the correct handling of equality
-	  constraints.
-
-2008-08-19 Tuesday 19:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/: Makefile.am (1.3), interspreservenlarge1.cc
-	  (1.1): Added a few tests for method
-	  intersection_preserving_enlarge_assign().
-
-2008-08-19 Tuesday 19:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/interspreservenlarge1.cc (1.5): Added new test.
-
-2008-08-19 Tuesday 19:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Powerset.defs.hh (1.47),
-	  Pointset_Powerset.templates.hh (1.38): Drafted a generic
-	  implementation (better, an executable specification) for method
-	  intersection_preserving_enlarge_assign(const Pointset_Powerset&);
-	  the code is based on an auxiliary method   void
-	  intersection_preserving_enlarge(PS& y) const; that enlarges
-	  argument y wrt context *this.
-
-2008-08-19 Tuesday 19:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.126): Corrected an error in method
-	  intersection_preserving_enlarge_assign() and applied a few
-	  efficiency enhancements.
-
-2008-08-19 Tuesday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
-	  (1.5): Updated the list of missing procedures for the OCaml
-	  interface.
-
-2008-08-19 Tuesday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.36), ppl_interface_generator_ocaml_ml_code.m4 (1.33),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.25),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.5): More
-	  bugs fixed in the specialized code for the powerset domains and
-	  more tests added.
-
-2008-08-19 Tuesday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/ppl_ocaml_tests_common
-	  (bounded_arithmetic.1): file ppl_ocaml_tests_common was added on
-	  branch bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-08-19 Tuesday 15:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.35), ppl_interface_generator_ocaml_ml_code.m4 (1.32),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.24),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.4),
-	  tests/ppl_ocaml_tests_common (1.3), tests/test1.ml (1.8): Added
-	  code for generating some missing methods; fixed some bugs in the
-	  ocaml interface code; extended the generated tests to cover most
-	  methods: tests for special methods for the powerset domains still
-	  missing.
-
-2008-08-19 Tuesday 11:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.34), ppl_interface_generator_ocaml_ml_code.m4 (1.31),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.23),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.3):
-	  Several tests added and code for some missing methods added.
-	  Every test now checks after the operation that the domain
-	  element(s) are ok and prints "success" if it is and "failed"
-	  otherwise.
-
-2008-08-19 Tuesday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
-	  (1.30), ppl_interface_generator_ocaml_mli_code.m4 (1.22),
-	  tests/ppl_interface_generator_ocaml_test_ml_code.m4 (1.2),
-	  tests/ppl_ocaml_tests_common (1.2): Improved the code for
-	  generating tests.  Fixed a bug in the code generation for OCaml
-	  for the limited_..._extrapolation_assign method.
-
-2008-08-18 Monday 23:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/tests/: Makefile.am (1.7),
-	  ppl_interface_generator_ocaml_test_ml.m4 (1.1),
-	  ppl_interface_generator_ocaml_test_ml_code.m4 (1.1),
-	  ppl_ocaml_tests_common (1.1): Code for generating tests for the
-	  OCaml interface.  This is an initial series of generic tests; to
-	  be improved and extended to include all the ppl user methods.
-
-2008-08-18 Monday 23:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
-	  (bounded_arithmetic.1): file
-	  ppl_interface_generator_ocaml_test_ml.m4 was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:45 +0000
-
-2008-08-18 Monday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.125),
-	  tests/Polyhedron/interspreservenlarge1.cc (1.4): Drafted some
-	  code (to be completed with the implementation of the indicated
-	  heuristics) to handle the case of the empty intersection in
-	  Polyhedron::intersection_preserving_enlarge_assign(const
-	  Polyhedron& y).
-
-2008-08-18 Monday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.124): For method
-	  intersection_preserving_enlarge_assign(), reverted to a simpler
-	  implementation that does not change this until time of return.
-
-2008-08-18 Monday 13:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/interspreservenlarge1.cc (1.3): Added another
-	  test for intersection_preserving_enlarge_assign().
-
-2008-08-18 Monday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_System.cc (1.51): In method back_substitute(), avoid
-	  assuming that x.num_rows() >= 1.
-
-2008-08-18 Monday 12:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/interspreservenlarge1.cc (1.2): Added new test
-	  for zero-dim polyhedra.
-
-2008-08-18 Monday 12:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.123): Corrected new method
-	  intersection_preserving_enlarge_assign wrt the handling of
-	  zero-dimensional polyhedra.
-
-2008-08-18 Monday 11:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.73),
-	  OCaml/tests/test1.ml (1.7): Enable the new method
-	  intersection_preserving_enlarge_assign(y) in all the interfaces
-	  for all domains except the products.	Token test added to
-	  OCaml/tests/test1.ml for this method.
-
-2008-08-18 Monday 10:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Makefile.am (1.49),
-	  ppl_interface_generator_prolog_icc.m4 (1.17),
-	  ppl_interface_generator_prolog_icc_files.m4 (1.1),
-	  Ciao/ppl_ciao.cc (1.53), GNU/ppl_gprolog_sd.cc (1.46),
-	  SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.13),
-	  SWI/ppl_interface_generator_swiprolog_cc.m4 (1.16),
-	  XSB/ppl_interface_generator_xsb_cc.m4 (1.12),
-	  YAP/ppl_interface_generator_yap_cc.m4 (1.10): Instead of
-	  generating the Prolog interface C++ file ppl_prolog.icc we now
-	  generate ppl_prolog_main.icc and a separate file for each
-	  generated domain.
-
-2008-08-18 Monday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.125), BD_Shape.templates.hh (1.108),
-	  Box.defs.hh (1.57), Box.templates.hh (1.117), Grid.defs.hh
-	  (1.73), Grid_public.cc (1.76), Octagonal_Shape.defs.hh (1.51),
-	  Octagonal_Shape.templates.hh (1.80), Pointset_Powerset.defs.hh
-	  (1.46), Pointset_Powerset.templates.hh (1.37): Added trivial
-	  implementations of method
-	  intersection_preserving_enlarge_assign().
-
-2008-08-18 Monday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.126): Removed
-	  interspreservenlarge1 and nnc_interspreservenlarge1 from
-	  XFAIL_TESTS.
-
-2008-08-18 Monday 09:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.122): Fixed sortedness and low-level
-	  constraints issues in method
-	  intersection_preserving_enlarge_assign.
-
-2008-08-18 Monday 08:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.72),
-	  OCaml/tests/test1.ml (1.6),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.77): Enabled affine_dimension() and is_topologically_closed()
-	  for all domains including the powerset and product domains.
-
-	  Minor change to OCaml/tests/test1.ml in preparation for
-	  generating the file.
-
-2008-08-18 Monday 08:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/topclosed1.cc (1.4): Improved tests - better coverage
-	  and comments.
-
-2008-08-18 Monday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/topclosed1.cc (bounded_arithmetic.1): file
-	  topclosed1.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:51 +0000
-
-2008-08-17 Sunday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.121), tests/Polyhedron/Makefile.am
-	  (1.125): A more optimized version of
-	  Polyhedron::intersection_preserving_enlarge_assign(const
-	  Polyhedron&), currently causing assertion violations.
-
-2008-08-17 Sunday 16:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.124), interspreservenlarge1.cc
-	  (1.1): New test program for
-	  Polyhedron::intersection_preserving_enlarge_assign().
-
-2008-08-17 Sunday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.120): Continued drafting a prototype
-	  for Polyhedron::intersection_preserving_enlarge_assign(const
-	  Polyhedron&).
-
-2008-08-17 Sunday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.340): Indentation fixed.
-
-2008-08-17 Sunday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplify.cc (1.53): Polyhedron::simplify(Linear_System& sys,
-	  Bit_Matrix& sat) assumes `sys' has a nonzero number of columns:
-	  added assertion.
-
-2008-08-17 Sunday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.cc (1.50):
-	  Linear_System::back_substitute(dimension_type
-	  n_lines_or_equalities) assumes *this has nonzero numbers of rows
-	  and of columns: added assertions checking these conditions.
-
-2008-08-17 Sunday 13:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.116): Corrected error: Box has no access
-	  to Grid_Generator_System internals.
-
-2008-08-17 Sunday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.templates.hh (1.115), Congruence_System.cc (1.29),
-	  Generator_System.cc (1.27), Generator_System.defs.hh (1.28),
-	  Generator_System.inlines.hh (1.12), Grid.templates.hh (1.35),
-	  Grid_nonpublic.cc (1.34), Grid_public.cc (1.75), Grid_simplify.cc
-	  (1.38), Grid_widenings.cc (1.18), Linear_System.cc (1.49),
-	  Linear_System.inlines.hh (1.25), Matrix.defs.hh (1.85),
-	  Matrix.inlines.hh (1.54), Polyhedron.templates.hh (1.20),
-	  Polyhedron_chdims.cc (1.49), Polyhedron_nonpublic.cc (1.84),
-	  Polyhedron_public.cc (1.119), Polyhedron_widenings.cc (1.67),
-	  minimize.cc (1.50): Method Matrix::empty() renamed as
-	  Matrix::has_no_rows() to avoid error prone name clashes with the
-	  corresponding method in Constraint_System and Congruence_System.
-
-2008-08-17 Sunday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.339), simplify.cc (1.52): Let
-	  Polyhedron::simplify(Linear_System&, Bit_Matrix&) return
-	  dimension_type instead of int.
-
-2008-08-17 Sunday 00:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.cc (1.30): In private method
-	  adjust_topology_and_space_dimension, do not call recently
-	  modified method empty(), as it disregards trivial constraints,
-	  whereas here we want to know the internal structure of the
-	  matrix.
-
-2008-08-16 Saturday 22:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/: Makefile.am (1.63), topclosed1.cc (1.3):
-	  topclosed1.cc which tests is_topologically_closed(), has a typo
-	  fixed and now enabled in the Makefile.
-
-2008-08-16 Saturday 22:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.templates.hh (1.36): A typo fixed.
-
-2008-08-16 Saturday 19:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Powerset.defs.hh (1.45),
-	  Pointset_Powerset.templates.hh (1.35): Added a note to the
-	  documentation of method constrains() regarding its intended
-	  semantics, which may be different from the geometric intuition.
-	  Improved the implementation of is_universe() so as to exploit/set
-	  omega reduction if that is already available or easily provable.
-
-2008-08-16 Saturday 17:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (1.34): Corrected a bug in
-	  affine_dimension().
-
-2008-08-16 Saturday 17:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset5.cc (1.2): Additional test shows
-	  a bug in the implementation of affine_dimension() for
-	  Pointset_Powerset<Rational_Interval>.
-
-2008-08-16 Saturday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset5.cc (bounded_arithmetic.1): file
-	  pointsetpowerset5.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:56 +0000
-
-2008-08-16 Saturday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.118): Added an initial, untested and
-	  incomplete implementation of
-	  Polyhedron::intersection_preserving_enlarge_assign(const
-	  Polyhedron&).
-
-2008-08-16 Saturday 16:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence_System.inlines.hh (1.12),
-	  Constraint_System.inlines.hh (1.13): Corrected the implementation
-	  of method empty(), which was not disregarding trivial
-	  constraints/congruences.
-
-2008-08-16 Saturday 15:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.114): Typo corrected.
-
-2008-08-16 Saturday 14:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/Makefile.am (1.62): Typo fixed.
-
-2008-08-16 Saturday 14:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/topclosed1.cc (1.2): Typos fixed.
-
-2008-08-16 Saturday 14:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/: Makefile.am (1.61), topclosed1.cc (1.1): Added a test
-	  file for is_toplogically_closed() for the Box domain.  This is
-	  not enabled as this does not compile.
-
-2008-08-16 Saturday 13:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Powerset.cc (1.22), Pointset_Powerset.defs.hh
-	  (1.44), Pointset_Powerset.templates.hh (1.33): Reimplemented
-	  method is_universe() so as to be faithful to the intended
-	  specification (also removed the no longer useful specialization
-	  for grids).  Implemented method constrains().
-
-2008-08-16 Saturday 12:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.231), configure.ac (1.323), doc/devref.doxyconf-html.in
-	  (1.87), doc/devref.doxyconf-latex.in (1.26), src/Makefile.am
-	  (1.181), src/iterator_to_const.defs.hh (1.8), tests/Makefile.am
-	  (1.268), tests/print.hh (1.46), tests/Polyhedron/maxspacedim1.cc
-	  (1.17): The ask-and-tell classes are not ready for release: make
-	  sure we do not release them (again) by mistake.
-
-2008-08-16 Saturday 12:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/tests/test1.ml (1.5): More small changes for its
-	  future generation.
-
-2008-08-16 Saturday 11:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.322): Added a tentative set of default foreign
-	  interface instantiations: most of it is commented out until we
-	  implement separate compilation in the interfaces.
-
-2008-08-16 Saturday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/tests/test1.ml (1.4): Small changes in
-	  preparation for generating the tests.
-
-2008-08-16 Saturday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.251): Added an important item for PPL 0.10.
-
-2008-08-16 Saturday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.338): Drafted the declaration of new
-	  method void intersection_preserving_enlarge_assign(const
-	  Polyhedron& y).
-
-2008-08-16 Saturday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.215): Drafted a section about
-	  intersection-preserving enlargements.
-
-2008-08-16 Saturday 10:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.48): Minor improvement to a comment.
-
-2008-08-16 Saturday 09:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.defs.hh (1.33): Fixed typo in
-	  documentation.
-
-2008-08-16 Saturday 09:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.214),
-	  src/Partially_Reduced_Product.defs.hh (1.32),
-	  src/Pointset_Powerset.defs.hh (1.43): Added warnings that the
-	  product and powerset domains should only be used with simple
-	  (non-compound) domains for the disjunct of the powerset or
-	  components of the product.
-
-2008-08-15 Friday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.321): Added Pointset_Powerset<C_Polyhedron> and
-	  Pointset_Powerset<NNC_Polyhedron> to the set of default domain
-	  instantiations.
-
-2008-08-15 Friday 17:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.250): Added an item for 0.11
-
-2008-08-15 Friday 17:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.249): New item added for PPL 0.11 or later version.
-
-2008-08-15 Friday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/product1.cc (bounded_arithmetic.1): file
-	  product1.cc was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:56 +0000
-
-2008-08-15 Friday 16:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.42),
-	  src/Pointset_Powerset.inlines.hh (1.16), tests/Makefile.am
-	  (1.267), tests/Powerset/Makefile.am (1.2),
-	  tests/Powerset/product1.cc (1.1): Allow for a powerset to be
-	  built from a product.
-
-2008-08-15 Friday 16:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_preamble (1.14),
-	  ppl_interface_generator_c_h_preamble (1.10): Added functions that
-	  test for emptyness of constraint/generator/... systems.
-
-2008-08-15 Friday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.248): One new item added.
-
-2008-08-15 Friday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.230): Mention a name-change in the interfaces.
-
-2008-08-15 Friday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.229): A little bit of reorganization.  Duplicate items
-	  removed.
-
-2008-08-15 Friday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.29), Watchdog/ChangeLog (1.18): Updated.
-
-2008-08-15 Friday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.320), src/checked_mpz.inlines.hh (1.55): FIXME
-	  resolved.  We now require (for developers) Autoconf 2.60 or later
-	  version.
-
-2008-08-15 Friday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset3.cc (1.2): Testing Grid
-	  specialization for is_universe().
-
-2008-08-15 Friday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset3.cc (bounded_arithmetic.1): file
-	  pointsetpowerset3.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:56 +0000
-
-2008-08-15 Friday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Powerset.cc (1.21), Pointset_Powerset.defs.hh
-	  (1.41): Added specialization of method is_universe() for
-	  powersets of grids.
-
-2008-08-15 Friday 10:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/test1.ml (1.3): Obsolete code removed.
-
-2008-08-15 Friday 10:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Powerset.defs.hh (1.32), Powerset.inlines.hh (1.22): Added
-	  method upper_bound_assign_if_exact().
-
-2008-08-15 Friday 09:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Partially_Reduced_Product.defs.hh (1.31),
-	  Partially_Reduced_Product.inlines.hh (1.28): Drafted
-	  implementation for method bool constrains(Variable var) const;
-
-2008-08-14 Thursday 21:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.22): Disable constrains/2 for the powersets in the interfaces.
-
-2008-08-14 Thursday 20:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
-	  (1.29), ppl_interface_generator_ocaml_mli.m4 (1.14),
-	  ppl_ocaml_globals.ml (1.9): More test code removed.
-
-2008-08-14 Thursday 20:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.33), ppl_ocaml_globals.cc (1.14), tests/Makefile.am (1.6):
-	  Removed forgotten debug print statements.  Removed useless file
-	  inclusions, namespace directives, and test functions.
-
-2008-08-14 Thursday 20:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.319): Version number bumped.
-
-2008-08-14 Thursday 20:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.5): Link options fixed.
-
-2008-08-14 Thursday 19:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.21),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.76): Now enabled constrains, unconstrain_space_dimension and
-	  unconstrain_space_dimensions for all simple domains ie Polyhedra,
-	  Grids, Octagonal_Shapes, BD_Shapes, and Boxes
-
-	  M4 code for generating tests for the different domains added to
-	  the Prolog tests directory.
-
-2008-08-14 Thursday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.72), Grid_public.cc (1.74): Drafted
-	  implementation of method bool constrains(Variable var) const;
-
-2008-08-14 Thursday 16:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.20),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.35),
-	  C/ppl_interface_generator_c_h_code.m4 (1.25),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.50), Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.30), Java/tests/ppl_java_tests_common (1.8),
-	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.32),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.28),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.21),
-	  OCaml/tests/test1.ml (1.2),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.67),
-	  Prolog/tests/pl_check.pl (1.54): Added constrains,
-	  unconstrain_space_dimension and unconstrain_space_dimensions for
-	  the Polyhedron domain to all the interfaces.
-
-	  Tests added for OCaml, Java and Prolog.
-
-2008-08-14 Thursday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.60), constrains1.cc (1.1): Added test
-	  for method constrains().
-
-2008-08-14 Thursday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/constrains1.cc (bounded_arithmetic.1): file
-	  constrains1.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:51 +0000
-
-2008-08-14 Thursday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.56), Box.templates.hh (1.113): Drfated
-	  implementation for method bool constrains(Variable var) const;
-
-2008-08-14 Thursday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: Makefile.am (1.31), constrains1.cc (1.1):
-	  Added test for new method constrains().
-
-2008-08-14 Thursday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/constrains1.cc (bounded_arithmetic.1): file
-	  constrains1.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:55 +0000
-
-2008-08-14 Thursday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.50),
-	  Octagonal_Shape.templates.hh (1.79): Drafted implementation for
-	  method   bool constrains(Variable var) const;
-
-2008-08-14 Thursday 14:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.77), constrains1.cc (1.1): Added
-	  test for new method constrains().  Corrected a bug in the tests
-	  whereby the test congruences1 was using the sources for
-	  constraints1.
-
-2008-08-14 Thursday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/constrains1.cc (bounded_arithmetic.1): file
-	  constrains1.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:51 +0000
-
-2008-08-14 Thursday 14:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.124), BD_Shape.inlines.hh (1.163),
-	  BD_Shape.templates.hh (1.107): Drafted implementation of method
-	  bool constrains() const;
-
-2008-08-14 Thursday 00:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.4): Use the -o option of
-	  `ocamlc'.
-
-2008-08-13 Wednesday 13:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.34),
-	  ppl_interface_generator_c_h_code.m4 (1.24): Fixed a bug(s) that
-	  was preventing the generation of code for
-	  get_[minimized_]_[constraints,generators,congruences] methods.
-
-2008-08-13 Wednesday 12:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/tests/Makefile.am (1.3): Define test1_SOURCES.
-
-2008-08-13 Wednesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.42): Use the -o option of
-	  `ocamlc'.  Note: it should be specified before the source file.
-
-2008-08-12 Tuesday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.247): Added one item for PPL 0.10.
-
-2008-08-12 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.60),
-	  doc/devref-java-interface.doxyconf-html.in (1.2),
-	  doc/devref-java-interface.doxyconf-latex.in (1.2),
-	  doc/devref-java-interface.tex (1.2),
-	  doc/user-java-interface.doxyconf-html.in (1.2),
-	  doc/user-java-interface.doxyconf-latex.in (1.2),
-	  doc/user-java-interface.tex (1.2),
-	  interfaces/Java/Java_interface.dox (1.1),
-	  interfaces/Java/Makefile.am (1.17): Added the required machinery
-	  to generate the documentation for the Java interface.
-
-2008-08-12 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-java-interface.tex (bounded_arithmetic.1): file
-	  devref-java-interface.tex was added on branch bounded_arithmetic
-	  on 2008-09-11 20:37:40 +0000
-
-2008-08-12 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-java-interface.tex (bounded_arithmetic.1): file
-	  user-java-interface.tex was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:40 +0000
-
-2008-08-12 Tuesday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.41): Distribute also
-	  OCaml_interface.dox.
-
-2008-08-12 Tuesday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.48): Distribute also
-	  Prolog_interface.dox.
-
-2008-08-12 Tuesday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-java-interface.doxyconf-html.in (1.1),
-	  devref-java-interface.doxyconf-latex.in (1.1),
-	  devref-java-interface.tex (1.1),
-	  user-java-interface.doxyconf-html.in (1.1),
-	  user-java-interface.doxyconf-latex.in (1.1),
-	  user-java-interface.tex (1.1): New files for the Java interface
-	  documentation.
-
-2008-08-12 Tuesday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.318), interfaces/C/Makefile.am (1.41): Distribute
-	  also C_interface.dox.
-
-2008-08-12 Tuesday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.317), doc/devref-ocaml-interface.doxyconf-html.in
-	  (1.1), doc/devref-ocaml-interface.doxyconf-latex.in (1.1),
-	  doc/devref-prolog-interface.doxyconf-html.in (1.6): The machinery
-	  to generate the OCaml documentation should now be in place.  (The
-	  documentation itself still needs a lot of work.)
-
-2008-08-12 Tuesday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-ocaml-interface.tex (bounded_arithmetic.1): file
-	  devref-ocaml-interface.tex was added on branch bounded_arithmetic
-	  on 2008-09-11 20:37:40 +0000
-
-2008-08-12 Tuesday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-prolog-interface.tex (bounded_arithmetic.1): file
-	  devref-prolog-interface.tex was added on branch
-	  bounded_arithmetic on 2008-09-11 20:37:40 +0000
-
-2008-08-12 Tuesday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.316), doc/Makefile.am (1.59),
-	  doc/devref-ocaml-interface.tex (1.1),
-	  doc/devref-prolog-interface.doxyconf-latex.in (1.6),
-	  doc/devref-prolog-interface.tex (1.1): Added machinery to
-	  generate the LaTeX developer's manual for the OCaml interface.
-	  Fixed the generation of the same kind of documentation for the
-	  Prolog interface.
-
-2008-08-12 Tuesday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.315), doc/Makefile.am (1.58),
-	  doc/user-ocaml-interface.doxyconf-html.in (1.1),
-	  interfaces/OCaml/OCaml_interface.dox (1.2): Added machinery to
-	  generate the HTML documentation for the OCaml interface.
-
-2008-08-11 Monday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.314): Configure the interfaces/OCaml/tests
-	  directory.
-
-2008-08-11 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-prolog-interface.doxyconf-latex.in (1.7): File
-	  ppl_prolog.icc plays no role in the generation of the user's
-	  manual.
-
-2008-08-11 Monday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: Makefile.am (1.40), tests/Makefile.am (1.2):
-	  Got rid of some old kludges.
-
-2008-08-11 Monday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: Makefile.am (1.39), test1.ml (1.32),
-	  tests/.cvsignore (1.1), tests/Makefile.am (1.1), tests/test1.ml
-	  (1.1): The OCaml test programs now have their own directory.	Do
-	  not install .cmo files: now everything is packed into
-	  ppl_ocaml.cma.
-
-2008-08-11 Monday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.27):
-	  Erroneous double underscore changed to single.
-
-2008-08-11 Monday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.313), doc/Makefile.am (1.57),
-	  doc/user-ocaml-interface.doxyconf-latex.in (1.1),
-	  doc/user-ocaml-interface.tex (1.1): New machinery to generate the
-	  user's manual of the OCaml interface.
-
-2008-08-11 Monday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-ocaml-interface.tex (bounded_arithmetic.1): file
-	  user-ocaml-interface.tex was added on branch bounded_arithmetic
-	  on 2008-09-11 20:37:40 +0000
-
-2008-08-11 Monday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/OCaml_interface.dox (1.1): This will contain the
-	  OCaml interface documentation that is not automatically
-	  generated.
-
-2008-08-11 Monday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (1.15): Work around a bug of GCC 4.0.x.
-
-2008-08-10 Sunday 12:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.13):
-	  Started the adaptation required to produce the OCaml interface
-	  documentation using ocamldoc.
-
-2008-08-09 Saturday 22:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.246): Some items dealt with;	others reconsidered.
-
-2008-08-09 Saturday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.245), doc/definitions.dox (1.213): Added a section on
-	  upward approximation to the library's documentation.
-
-2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset1.cc (bounded_arithmetic.1): file
-	  pointsetpowerset1.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:56 +0000
-
-2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset2.cc (bounded_arithmetic.1): file
-	  pointsetpowerset2.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:56 +0000
-
-2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/pointsetpowerset6.cc (bounded_arithmetic.1): file
-	  pointsetpowerset6.cc was added on branch bounded_arithmetic on
-	  2008-09-11 20:37:56 +0000
-
-2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Powerset/powerset1.cc (bounded_arithmetic.1): file
-	  powerset1.cc was added on branch bounded_arithmetic on 2008-09-11
-	  20:37:56 +0000
-
-2008-08-09 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.312), tests/Makefile.am (1.266),
-	  tests/Polyhedron/Makefile.am (1.123),
-	  tests/Polyhedron/pointsetpowerset1.cc (1.11),
-	  tests/Polyhedron/pointsetpowerset2.cc (1.5),
-	  tests/Polyhedron/pointsetpowerset3.cc (1.3),
-	  tests/Polyhedron/pointsetpowerset4.cc (1.7),
-	  tests/Polyhedron/pointsetpowerset5.cc (1.5),
-	  tests/Polyhedron/pointsetpowerset6.cc (1.3),
-	  tests/Polyhedron/powerset1.cc (1.23), tests/Powerset/.cvsignore
-	  (1.1), tests/Powerset/Makefile.am (1.1),
-	  tests/Powerset/pointsetpowerset1.cc (1.1),
-	  tests/Powerset/pointsetpowerset2.cc (1.1),
-	  tests/Powerset/pointsetpowerset3.cc (1.1),
-	  tests/Powerset/pointsetpowerset4.cc (1.1),
-	  tests/Powerset/pointsetpowerset5.cc (1.1),
-	  tests/Powerset/pointsetpowerset6.cc (1.1),
-	  tests/Powerset/powerset1.cc (1.1): Tests for the Powerset class
-	  have now their own directory.
-
-2008-08-09 Saturday 19:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.311), tests/Makefile.am (1.265),
-	  tests/Grid/Makefile.am (1.66), tests/Grid/directproduct1.cc
-	  (1.49), tests/Grid/directproduct2.cc (1.16),
-	  tests/Grid/directproduct3.cc (1.19), tests/Grid/directproduct4.cc
-	  (1.15), tests/Grid/directproduct5.cc (1.11),
-	  tests/Grid/directproduct6.cc (1.15),
-	  tests/Grid/partiallyreducedproduct1.cc (1.12),
-	  tests/Grid/partiallyreducedproduct2.cc (1.6),
-	  tests/Grid/partiallyreducedproduct3.cc (1.5),
-	  tests/Grid/partiallyreducedproduct4.cc (1.5),
-	  tests/Partially_Reduced_Product/.cvsignore (1.1),
-	  tests/Partially_Reduced_Product/Makefile.am (1.1),
-	  tests/Partially_Reduced_Product/directproduct1.cc (1.1),
-	  tests/Partially_Reduced_Product/directproduct2.cc (1.1),
-	  tests/Partially_Reduced_Product/directproduct3.cc (1.1),
-	  tests/Partially_Reduced_Product/directproduct4.cc (1.1),
-	  tests/Partially_Reduced_Product/directproduct5.cc (1.1),
-	  tests/Partially_Reduced_Product/directproduct6.cc (1.1),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
-	  (1.1),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
-	  (1.1),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
-	  (1.1),
-	  tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
-	  (1.1): Tests for the Partially_Reduced_Product class have now
-	  their own directory.
-
-2008-08-09 Saturday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* instchk.hh (1.16): Use consistent template parameters.
-	  Indentation fixed.
-
-2008-08-09 Saturday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.212): Improved the section on semantic
-	  geometric descriptors.
-
-2008-08-09 Saturday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.244), doc/definitions.dox (1.211): Started working on the
-	  completion and integration into the PPL manuals of the section
-	  about the different kinds of geometric descriptors implemented by
-	  the library.
-
-2008-08-09 Saturday 13:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.cc (1.3): Added missing inclusion of <ppl-config.h>.
-
-2008-08-09 Saturday 13:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.cc (bounded_arithmetic.1): file fpu-ia32.cc was
-	  added on branch bounded_arithmetic on 2008-09-11 20:37:49 +0000
-
-2008-08-09 Saturday 12:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.cc (1.2): Added missing namespace qualification.
-
-2008-08-09 Saturday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.180), fpu-ia32.inlines.hh (1.21): Drafted
-	  code to autodetect the presence of an SSE unit.
-
-2008-08-09 Saturday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.cc (1.1): New source file containing IA-32 floating
-	  point unit non-inline related functions.
-
-2008-08-09 Saturday 11:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.inlines.hh (1.20): Starting from the 2.18.50.0.4
-	  release of binutils, the x86 assembler no longer accepts `fnstsw
-	  %eax': `fnstsw %ax' should be used instead.
-
-2008-08-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.310): The Ciao-Prolog interface is no longer
-	  enabled by default.  Version number bumped.
-
-2008-08-08 Friday 19:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Init.cc (1.35), fpu-c99.inlines.hh (1.17),
-	  fpu-ia32.inlines.hh (1.19), fpu-none.inlines.hh (1.9),
-	  fpu-sparc.inlines.hh (1.11), fpu.defs.hh (1.20): Added stubs for
-	  fpu_initialize_control_functions(): this will allow, e.g.,
-	  detecting the presence of SSE support at run-time.
-
-2008-07-21 Monday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/linearsystem1.cc (1.11): Unused variable
-	  removed.
-
-2008-07-06 Sunday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boxdifference1.cc (1.10): Fixed a couple of comments.
-
-2008-07-05 Saturday 21:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/boxdifference1.cc (1.9): More tests added. Comments
-	  added to indicate what is being tested.
-
-2008-06-24 Tuesday 20:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_System.cc (1.48): In methods normalize(),
-	  sign_normalize() and strong_normalize(), do not reset the
-	  sortedness flag if the number of rows is less than or equal to
-	  one.
-
-2008-06-14 Saturday 23:25  Abramo Bagnara
-
-	* src/Interval.inlines.hh (1.37): Fixed typo.
-
-2008-06-14 Saturday 16:41  Abramo Bagnara
-
-	* src/Interval.inlines.hh (1.36): Forgotten fixes.
-
-2008-06-14 Saturday 16:17  Abramo Bagnara
-
-	* src/Boundary.defs.hh (1.12): Added boundary complement.
-
-2008-06-14 Saturday 16:17  Abramo Bagnara
-
-	* src/Interval.inlines.hh (1.35): Untested attempt to implement
-	  interval difference.
-
-2008-06-10 Tuesday 11:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Grid_public.cc (1.73), Pointset_Powerset.cc (1.20),
-	  Pointset_Powerset.defs.hh (1.40): In
-	  Grid::join_assign_if_exact(), added an assertion.
-
-	  In Pointset_Powerset.defs.hh corrected and improved brief
-	  description for approximate_partition().
-
-	  In Pointset_Powerset.cc, in approximate_partition(), ensure
-	  congruence system of grid q is minimized before copying;
-
-	  in approximate_partition_aux(), now there is no need to minimize
-	  the congruence system here.
-
-2008-06-10 Tuesday 09:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_chdims.cc (1.24): In Grid::fold_space_dimensions(),
-	  emphasize the fact tha Grid::generators() is only called for its
-	  side-effects.
-
-2008-06-10 Tuesday 09:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_chdims.cc (1.23): Efficiency bug fixed in
-	  fold_space_dimensions().
-
-2008-06-08 Sunday 20:44  Andrea Cimino
-
-	* src/MIP_Problem_GLPK.icc (simplex.4): Solved a bug when computing
-	  the bounds to pass to the GLPK exact solver.	This commit makes
-	  'mippproblem3' test pass.
-
-2008-06-08 Sunday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.47): In
-	  Polyhedron::fold_space_dimensions(), emphasize the fact that
-	  Polyhedron::generators() is only called for its side-effects.
-
-2008-06-08 Sunday 18:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.78): Spurious indentation
-	  fixed.
-
-2008-06-08 Sunday 18:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.46): Improved the efficiency of
-	  method fold_space_dimensions() by making sure that we compute at
-	  most one conversion from the constraint to the generator
-	  representation.
-
-2008-06-07 Saturday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem_GLPK.icc (simplex.3): Previous commit corrected
-	  and completed.  Code formatting fixed.
-
-2008-06-07 Saturday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem_GLPK.icc (simplex.2): Declaration and uses of the
-	  `statuses' write-only variable have been removed.
-
-2008-06-07 Saturday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: MIP_Problem.cc, MIP_Problem_GLPK.icc, MIP_Problem_PPL.icc,
-	  Makefile.am (simplex.[9,1,1,7]): Not the code for the PPL's MIP
-	  native solver and the code for the GLPK interface are completely
-	  separated.
-
-2008-06-07 Saturday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (simplex.8): Indentation fixed.  In many
-	  places, throw std::run_time_error instead of
-	  std::invalid_argument.
-
-2008-06-07 Saturday 14:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (simplex.7): The code controlled by
-	  PPL_NOISY_SIMPLEX now systematically prints on std:cerr.  That
-	  macro has also been documented.
-
-2008-06-07 Saturday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (simplex.6): Properly commented long-scope
-	  #if's, #else's and #endif's.
-
-2008-06-07 Saturday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (simplex.2): Updated the text concerning Andrea Cimino.
-
-2008-06-07 Saturday 07:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.rpath (1.5), m4/lib-link.m4 (1.3), m4/lib-prefix.m4 (1.4):
-	  Updated from Gettext 0.17.
-
-2008-06-06 Friday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (simplex.5): New configure options:  `--with-glpk'
-	  checks whether the PPL should use the GLPK MIP solver, if
-	  available (the default is not to use it); `--with-glpk-glpssx'
-	  allows to specify the path where GLPK's glpssx.h can be found.
-
-2008-06-06 Friday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (simplex.5): Use the `PPL_USE_GLPK_MIP_SOLVER'
-	  symbol instead of `PPL_USE_GLPK'.  Define HAVE_GMP before
-	  including <glpssx.h> and <glpk.h>, undefining it after these
-	  inclusions.  The ulset() function does not exist in GLPK 4.28:
-	  use xlset() instead.
-
-2008-06-06 Friday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore, ChangeLog, INSTALL, NEWS, README.configure, TODO,
-	  config.guess, config.sub, configure.ac, depcomp, install-sh,
-	  instchk.hh, ltmain.sh, Watchdog/.cvsignore, Watchdog/ChangeLog,
-	  Watchdog/INSTALL, Watchdog/config.guess, Watchdog/config.sub,
-	  Watchdog/configure.ac, Watchdog/depcomp, Watchdog/install-sh,
-	  Watchdog/ltmain.sh, Watchdog/doc/devref.doxyconf-html.in,
-	  Watchdog/doc/devref.doxyconf-latex.in, Watchdog/doc/devref.tex,
-	  Watchdog/doc/fdl.dox, Watchdog/doc/gpl.dox,
-	  Watchdog/doc/user.doxyconf-html.in,
-	  Watchdog/doc/user.doxyconf-latex.in, Watchdog/doc/user.tex,
-	  Watchdog/m4/libtool.m4, Watchdog/m4/ltoptions.m4,
-	  Watchdog/m4/ltsugar.m4, Watchdog/m4/ltversion.m4,
-	  Watchdog/m4/lt~obsolete.m4, Watchdog/src/.cvsignore,
-	  doc/definitions.dox, doc/devref-c-interface.doxyconf-html.in,
-	  doc/devref-c-interface.doxyconf-latex.in,
-	  doc/devref-c-interface.tex,
-	  doc/devref-prolog-interface.doxyconf-html.in,
-	  doc/devref-prolog-interface.doxyconf-latex.in,
-	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
-	  doc/devref.tex, doc/fdl.dox, doc/gpl.dox,
-	  doc/user-c-interface.doxyconf-html.in,
-	  doc/user-c-interface.doxyconf-latex.in, doc/user-c-interface.tex,
-	  doc/user-prolog-interface.doxyconf-html.in,
-	  doc/user-prolog-interface.doxyconf-latex.in,
-	  doc/user-prolog-interface.tex, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, doc/user.tex, fedora/Makefile.am,
-	  fedora/ppl.hh, fedora/ppl.spec, fedora/ppl_c.h, fedora/pwl.hh,
-	  interfaces/.cvsignore, interfaces/Makefile.am,
-	  interfaces/README.interfaces, interfaces/interfaced_boxes.hh,
-	  interfaces/ppl_interface_generator_common.m4,
-	  interfaces/ppl_interface_generator_common_dat.m4,
-	  interfaces/ppl_interface_generator_common_procedure_generators.m4,
-	  interfaces/C/.cvsignore, interfaces/C/Makefile.am,
-	  interfaces/C/ppl_interface_generator_c_cc.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	  interfaces/C/ppl_interface_generator_c_dat.m4,
-	  interfaces/C/ppl_interface_generator_c_h.m4,
-	  interfaces/C/ppl_interface_generator_c_h_code.m4,
-	  interfaces/C/ppl_interface_generator_c_procedure_generators.m4,
-	  interfaces/Java/.cvsignore, interfaces/Java/Makefile.am,
-	  interfaces/Java/ppl_interface_generator_java_dat.m4,
-	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4,
-	  interfaces/Java/jni/.cvsignore, interfaces/Java/jni/Makefile.am,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
-	  interfaces/Java/jni/ppl_java_common.cc,
-	  interfaces/Java/jni/ppl_java_common.hh,
-	  interfaces/Java/tests/.cvsignore,
-	  interfaces/Java/tests/Makefile.am,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
-	  interfaces/OCaml/.cvsignore, interfaces/OCaml/Makefile.am,
-	  interfaces/OCaml/README.ocaml,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.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_globals.cc,
-	  interfaces/Prolog/.cvsignore, interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
-	  interfaces/Prolog/ppl_prolog_common.icc,
-	  interfaces/Prolog/Ciao/.cvsignore,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
-	  interfaces/Prolog/GNU/.cvsignore,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	  interfaces/Prolog/SICStus/.cvsignore,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
-	  interfaces/Prolog/SWI/.cvsignore,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
-	  interfaces/Prolog/SWI/swi_predicate_check.pl,
-	  interfaces/Prolog/XSB/.cvsignore,
-	  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_predicate_check_P.m4,
-	  interfaces/Prolog/YAP/.cvsignore,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
-	  interfaces/Prolog/tests/.cvsignore,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/pl_grid_check.pl,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
-	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
-	  m4/ac_check_ciao.m4, m4/libtool.m4, m4/ltoptions.m4,
-	  m4/ltsugar.m4, m4/ltversion.m4, m4/lt~obsolete.m4,
-	  src/.cvsignore, src/Any_Pointset.defs.hh,
-	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
-	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/BD_Shape.templates.hh, src/Bit_Row.defs.hh,
-	  src/Bit_Row.inlines.hh, src/Boundary.defs.hh, src/Box.defs.hh,
-	  src/Box.inlines.hh, src/Box.templates.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/Checked_Number.defs.hh,
-	  src/Checked_Number.inlines.hh, src/Congruence.inlines.hh,
-	  src/Float.defs.hh, src/GMP_Integer.defs.hh,
-	  src/GMP_Integer.inlines.hh, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/Grid.defs.hh, src/Grid.inlines.hh,
-	  src/Grid.templates.hh, src/Grid_Generator_System.inlines.hh,
-	  src/Grid_Status.idefs.hh, src/Grid_chdims.cc,
-	  src/Grid_nonpublic.cc, src/Grid_public.cc, src/Init.cc,
-	  src/Interval.defs.hh, src/Interval.inlines.hh,
-	  src/Interval_Info.defs.hh, src/Makefile.am,
-	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
-	  src/NNC_Polyhedron.inlines.hh, src/Octagonal_Shape.defs.hh,
-	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
-	  src/Og_Status.idefs.hh, src/Partially_Reduced_Product.defs.hh,
-	  src/Partially_Reduced_Product.inlines.hh,
-	  src/Partially_Reduced_Product.templates.hh,
-	  src/Ph_Status.idefs.hh, src/Pointset_Ask_Tell.defs.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_nonpublic.cc, src/Polyhedron_public.cc,
-	  src/Polyhedron_widenings.cc, src/Rational_Box.hh,
-	  src/Rational_Interval.hh, src/Row.inlines.hh,
-	  src/Temp.inlines.hh, src/checked.defs.hh, src/checked.inlines.hh,
-	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
-	  src/checked_mpq.inlines.hh, src/checked_mpz.inlines.hh,
-	  src/compiler.hh, src/fpu.defs.hh, src/globals.cc,
-	  src/globals.defs.hh, src/globals.inlines.hh,
-	  src/math_utilities.defs.hh, src/math_utilities.inlines.hh,
-	  src/meta_programming.hh, src/ppl_header.hh, src/simplify.cc,
-	  tests/Random_Number_Generator.inlines.hh, tests/ppl_test.cc,
-	  tests/ppl_test.hh, 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/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc, tests/BD_Shape/bounded1.cc,
-	  tests/BD_Shape/boundedaffineimage1.cc,
-	  tests/BD_Shape/boundedaffinepreimage1.cc,
-	  tests/BD_Shape/boundingbox1.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/constraints1.cc, tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/containsintegerpoint1.cc,
-	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
-	  tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
-	  tests/BD_Shape/expandspacedim1.cc,
-	  tests/BD_Shape/foldspacedims1.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/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/membytes1.cc,
-	  tests/BD_Shape/minconstraints1.cc,
-	  tests/BD_Shape/pointsetpowerset1.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/timeelapse1.cc, tests/BD_Shape/unconstrain1.cc,
-	  tests/BD_Shape/universe1.cc, tests/BD_Shape/writebdshape1.cc,
-	  tests/Box/Makefile.am, tests/Box/addconstraints1.cc,
-	  tests/Box/addspacedims1.cc, tests/Box/affineimage1.cc,
-	  tests/Box/affinepreimage1.cc, tests/Box/bdsdifference1.cc,
-	  tests/Box/boundedaffineimage1.cc,
-	  tests/Box/boundedaffinepreimage1.cc, tests/Box/boxdifference1.cc,
-	  tests/Box/boxhull.cc, tests/Box/boxhull1.cc,
-	  tests/Box/cc76narrowing1.cc, tests/Box/cc76widening.cc,
-	  tests/Box/closure1.cc, tests/Box/concatenate1.cc,
-	  tests/Box/congruences1.cc, tests/Box/constraints1.cc,
-	  tests/Box/expandspacedim1.cc, tests/Box/foldspacedims1.cc,
-	  tests/Box/frombdshape1.cc, tests/Box/fromgensys1.cc,
-	  tests/Box/frompolyhedron1.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/interval2.cc,
-	  tests/Box/mapspacedims1.cc, tests/Box/max_min1.cc,
-	  tests/Box/membytes1.cc, tests/Box/minconstraints1.cc,
-	  tests/Box/pointsetpowerset1.cc, tests/Box/pointsetpowerset2.cc,
-	  tests/Box/refine1.cc, tests/Box/refine2.cc, tests/Box/refine3.cc,
-	  tests/Box/refinewithcongruences1.cc,
-	  tests/Box/refinewithconstraint1.cc,
-	  tests/Box/refinewithconstraint2.cc,
-	  tests/Box/refinewithconstraints1.cc,
-	  tests/Box/refinewithconstraints2.cc, tests/Box/relations2.cc,
-	  tests/Box/relations3.cc, tests/Box/relations4.cc,
-	  tests/Box/removespacedims1.cc, tests/Box/timeelapse1.cc,
-	  tests/Box/unconstrain1.cc, tests/Grid/Makefile.am,
-	  tests/Grid/congruences1.cc, tests/Grid/copyconstruct1.cc,
-	  tests/Grid/directproduct3.cc, tests/Grid/directproduct5.cc,
-	  tests/Grid/directproduct6.cc, tests/Grid/fromgrid1.cc,
-	  tests/Grid/frompolyhedron1.cc, tests/Grid/grid3.cc,
-	  tests/Grid/mincongruences1.cc,
-	  tests/Grid/partiallyreducedproduct1.cc,
-	  tests/Grid/partiallyreducedproduct2.cc,
-	  tests/Grid/partiallyreducedproduct3.cc,
-	  tests/Grid/partiallyreducedproduct4.cc,
-	  tests/Grid/pointsetpowerset1.cc,
-	  tests/Grid/powersetdifference1.cc,
-	  tests/Grid/refinewithcongruences1.cc,
-	  tests/Grid/refinewithconstraints1.cc, tests/Grid/unconstrain1.cc,
-	  tests/Octagonal_Shape/Makefile.am,
-	  tests/Octagonal_Shape/addspacedims1.cc,
-	  tests/Octagonal_Shape/affinepreimage1.cc,
-	  tests/Octagonal_Shape/affinepreimage2.cc,
-	  tests/Octagonal_Shape/boundedaffineimage1.cc,
-	  tests/Octagonal_Shape/boundedaffinepreimage1.cc,
-	  tests/Octagonal_Shape/cc76extrapolation1.cc,
-	  tests/Octagonal_Shape/congruences1.cc,
-	  tests/Octagonal_Shape/constraints1.cc,
-	  tests/Octagonal_Shape/containsintegerpoint1.cc,
-	  tests/Octagonal_Shape/expandspacedim1.cc,
-	  tests/Octagonal_Shape/frombox1.cc,
-	  tests/Octagonal_Shape/fromoctagonalshape1.cc,
-	  tests/Octagonal_Shape/frompolyhedron1.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/intersection1.cc,
-	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
-	  tests/Octagonal_Shape/max_min2.cc,
-	  tests/Octagonal_Shape/membytes1.cc,
-	  tests/Octagonal_Shape/minconstraints1.cc,
-	  tests/Octagonal_Shape/octhull1.cc,
-	  tests/Octagonal_Shape/pointsetpowerset1.cc,
-	  tests/Octagonal_Shape/relatwithcons2.cc,
-	  tests/Octagonal_Shape/relatwithcons3.cc,
-	  tests/Octagonal_Shape/relatwithgen1.cc,
-	  tests/Octagonal_Shape/unconstrain1.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/addcongruence1.cc,
-	  tests/Polyhedron/boundedaffineimage1.cc,
-	  tests/Polyhedron/cnncconversion1.cc,
-	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/hybrid.cc,
-	  tests/Polyhedron/pointsetpowerset1.cc,
-	  tests/Polyhedron/pointsetpowerset2.cc,
-	  tests/Polyhedron/pointsetpowerset3.cc,
-	  tests/Polyhedron/pointsetpowerset4.cc,
-	  tests/Polyhedron/pointsetpowerset5.cc,
-	  tests/Polyhedron/pointsetpowerset6.cc,
-	  tests/Polyhedron/refinewithcongruence1.cc,
-	  tests/Polyhedron/refinewithcongruences1.cc,
-	  tests/Polyhedron/refinewithconstraint1.cc,
-	  tests/Polyhedron/refinewithconstraints1.cc,
-	  tests/Polyhedron/unconstrain1.cc, utils/cm_cleaner.sh,
-	  utils/cm_splitter.sh
-	  (simplex.[1,4,3,4,4,7,5,5,4,2,4,4,3,1,4,3,5,5,3,1,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,4,3,3,3,3,3,5,4,4,1,2,3,3,3,3,3,3,4,4,4,3,2,3,2,2,1,4,2,2,3,3,2,1,4,3,3,3,3,3,2,3,3,3,2,3,3,3,3,3,3,3,3,3,3,1,4,3,3,3,3,3,3,3,3,2,3,1,4,3,3,3,2,3,3,1,4,3,3,1,4,3,2,4,3,3,1,4,3,3,1,4,3,3,3,1,4,3,1,4,3,3,3,3,2,2,2,2,2,2,2,3,4,4,5,6,5,3,3,3,3,3,3,2,2,3,4,5,5,5,5,5,4,5,5,7,4,5,5,5,5,4,5,5,5,4,4,3,3,6,4,5,5,3,3,3,3,3,3,3,4,3,3,3,3,3,3,5,5,4,5,5,3,3,2,3,3,4,4,4,5,4,4,4,4,3,5,3,2,2,3,3,3,4,5,5,3,5,5,4,4,5,4,5,4 [...]
-	  Fifth merge of the trunk to the `simplex' branch.
-
-2008-06-06 Friday 16:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (simplex.4): Extended the scope of an #ifdef
-	  PPL_USE_GLPK.
-
-2008-06-06 Friday 14:10  Andrea Cimino
-
-	* src/: MIP_Problem.cc, MIP_Problem.defs.hh (simplex.[3,3]): As an
-	  option, now the PPL can use the exact simplex solver of GLPK.
-
-2008-06-05 Thursday 15:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am, wrap1.cc
-	  (bounded_arithmetic.[1,1]): New file wrap1.cc will contain tests
-	  for method Polyhedron::wrap_assign().
-
-2008-06-05 Thursday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh, Polyhedron_public.cc
-	  (bounded_arithmetic.[1,1]): Added the declaration and a stub
-	  implementation of new method Polyhedron::wrap_assign().
-
-2008-06-05 Thursday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.types.hh (bounded_arithmetic.1): New enumerations
-	  Bounded_Integer_Type_Width, Bounded_Integer_Type_Signedness and
-	  Bounded_Integer_Type_Overflow to encode the width, signedness and
-	  overflow behavior of bounded integer types, respectively.
-
-2008-05-26 Monday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/max_min1.cc (1.8): Capitalization fixed.
-
-2008-05-25 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_ciao.m4 (simplex.1): file ac_check_ciao.m4 was added
-	  on branch simplex on 2008-06-06 14:22:04 +0000
-
-2008-05-25 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.309), interfaces/Prolog/Ciao/Makefile.am (1.73),
-	  m4/ac_check_ciao.m4 (1.1): Added machinery to automatically find
-	  the header files of the Ciao Prolog foreign language interface.
-
-2008-05-24 Saturday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.308): Version number bumped.
-
-2008-05-24 Saturday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.26): Updated.
-
-2008-05-12 Monday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.inlines.hh (1.43), Congruence.inlines.hh
-	  (1.20), Grid_Generator_System.inlines.hh (1.18),
-	  NNC_Polyhedron.inlines.hh (1.44): Define inline methods before
-	  their first invocation.
-
-2008-05-12 Monday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.123), Octagonal_Shape.defs.hh (1.49):
-	  Obsolete workarounds removed.
-
-2008-05-12 Monday 08:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.55): Obsolete workarounds removed.
-
-2008-05-12 Monday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: compiler.hh (1.14), fpu.defs.hh (1.19): The Intel C/C++
-	  compilers accept the same asm() syntax as GCC.
-
-2008-05-11 Sunday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.54), Box.inlines.hh (1.33), Box.templates.hh
-	  (1.112), Box_Status.idefs.hh (1.3), Box_Status.inlines.hh (1.3):
-	  Avoid name clashes between the parameter of class Box and class
-	  Interval.
-
-2008-05-11 Sunday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box_Status.idefs.hh (simplex.1): file Box_Status.idefs.hh was
-	  added on branch simplex on 2008-06-06 14:22:04 +0000
-
-2008-05-11 Sunday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box_Status.inlines.hh (simplex.1): file Box_Status.inlines.hh
-	  was added on branch simplex on 2008-06-06 14:22:04 +0000
-
-2008-05-11 Sunday 22:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.111): Dead code removed.
-
-2008-05-11 Sunday 22:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.53): Useless inclusion removed.
-
-2008-05-11 Sunday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.106), Octagonal_Shape.templates.hh
-	  (1.77): Unreachable breaks removed.
-
-2008-05-11 Sunday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.defs.hh (1.17): Inclusions fixed.
-
-2008-05-11 Sunday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: MIP_Problem.cc (1.67), Polyhedron_public.cc (1.117):
-	  Unreachable breaks removed.
-
-2008-05-11 Sunday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (1.39): Inclusions fixed.
-
-2008-05-11 Sunday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: compiler.hh (1.13), fpu.defs.hh (1.18): Do not try to use
-	  asm() statements unless defined(__GNUC__).
-
-2008-05-11 Sunday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpz.inlines.hh (1.54): Warning avoided.
-
-2008-05-11 Sunday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.110): Code formatting improved.
-
-2008-05-11 Sunday 21:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.105), Octagonal_Shape.templates.hh
-	  (1.76): Avoid shadowing and repeated computations.
-
-2008-05-10 Saturday 10:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.307): When the --enable-more-assertions option is
-	  given, we define both _GLIBCXX_DEBUG and _GLIBCXX_DEBUG_PEDANTIC;
-	  this way, when libstdc++ is used, it is used in pedantic debug
-	  mode.
-
-2008-05-10 Saturday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Init.cc (1.34), Polyhedron.defs.hh (1.337),
-	  Polyhedron_public.cc (1.116), simplify.cc (1.51): Fixed an (until
-	  now) inconsequential problem whereby we were using the STL
-	  outside its specifications (problem spotted by Stefano Soffia and
-	  further analyzed by Enea Zaffanella).
-
-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:22:04 +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:22:04 +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:22:04 +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:22:04 +0000
-
-2008-05-05 Monday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/m4/lt~obsolete.m4 (simplex.1): file lt~obsolete.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>
-
-	* configure.ac (1.306), ltmain.sh (1.34), Watchdog/configure.ac
-	  (1.45), Watchdog/ltmain.sh (1.23), Watchdog/m4/libtool.m4 (1.5),
-	  Watchdog/m4/ltoptions.m4 (1.3), Watchdog/m4/ltversion.m4 (1.4),
-	  Watchdog/m4/lt~obsolete.m4 (1.2), 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-04 Sunday 09:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.cc (1.13): Temporarily work around a problem
-	  whereby testing for the existence of <fenv.h> is no longer enough
-	  for our purposes.
-
-2008-05-04 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Random_Number_Generator.inlines.hh (1.12): Include <ctime>.
-
-2008-05-04 Sunday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.104): Use explicit braces to avoid
-	  ambiguous `else'.
-
-2008-04-30 Wednesday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-c-interface.tex (1.5), devref.tex (1.26),
-	  user-c-interface.tex (1.5), user-prolog-interface.tex (1.5),
-	  user.tex (1.27): Package inclusions updated.	We now set the
-	  `tocdepth' counter to 2 in order to obtain a more useful index.
-
-2008-04-29 Tuesday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.103): Avoid useless computation in
-	  minimized_congruences(), thereby also silencing a compiler
-	  warning.
-
-2008-04-29 Tuesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/pointsetpowerset1.cc (1.3): Test 15 is no longer
-	  failing.
-
-2008-04-29 Tuesday 14:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/pointsetpowerset1.cc (simplex.1): file
-	  pointsetpowerset1.cc was added on branch simplex on 2008-06-06
-	  14:22:11 +0000
-
-2008-04-28 Monday 16:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.inlines.hh (1.35),
-	  Octagonal_Shape.templates.hh (1.75): Corrected an efficiency bug
-	  in methods minimized_congruences() and congruences().  In method
-	  OK(), do not check for closure if the shape is based on non-exact
-	  (i.e., floating point) coefficients.
-
-2008-04-28 Monday 15:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.162), BD_Shape.templates.hh (1.102):
-	  Corrected an efficiency bug in methods minimized_congruences()
-	  and congruences().
-
-2008-04-28 Monday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Float.defs.hh (1.29): Added missing inclusion of
-	  meta_programming.hh.
-
-2008-04-27 Sunday 16:28  Abramo Bagnara
-
-	* src/Temp.inlines.hh (1.5): Added missing inline.
-
-2008-04-27 Sunday 16:28  Abramo Bagnara
-
-	* src/Float.defs.hh (1.28): Added True/False helper.
-
-2008-04-24 Thursday 08:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.48), Polyhedron.defs.hh (1.336):
-	  Do not refer to the undefined concept `reduced' for congruence
-	  systems.
-
-2008-04-24 Thursday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Grid.defs.hh (1.71): Minor improvements in documentation: do
-	  not refer to `reduced' congruence systems since it is undefined
-	  terminology at the user level.
-
-2008-04-24 Thursday 08:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.122): Minor fix in the indentation of the
-	  documentation.
-
-2008-04-23 Wednesday 16:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.19),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.33),
-	  C/ppl_interface_generator_c_h_code.m4 (1.23),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.49), Java/jni/ppl_java_common.cc (1.38),
-	  Java/tests/ppl_interface_generator_java_test_java_code.m4 (1.29),
-	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.31),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.26),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.20),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.66),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.75), Prolog/tests/ppl_predicate_check_common.pl (1.11): Added
-	  to all the interfaces the unconstrain() procedure.
-
-	  Added (except to the C interface which already had it) the
-	  constrains() procedure.
-
-	  Added to the Prolog interface the option of building from a
-	  friend with complexity specified.
-
-	  Tests added for all new code in the Prolog and Java interfaces.
-
-2008-04-23 Wednesday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (simplex.1): file
-	  ppl_interface_generator_common_procedure_generators.m4 was added
-	  on branch simplex on 2008-06-06 14:21:58 +0000
-
-2008-04-23 Wednesday 12:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: BD_Shape/pointsetpowerset1.cc (1.4),
-	  Octagonal_Shape/pointsetpowerset1.cc (1.4): Revised the distances
-	  from the exact values in test 03.
-
-2008-04-23 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/pointsetpowerset1.cc (simplex.1): file
-	  pointsetpowerset1.cc was added on branch simplex on 2008-06-06
-	  14:22:09 +0000
-
-2008-04-23 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/pointsetpowerset1.cc (simplex.1): file
-	  pointsetpowerset1.cc was added on branch simplex on 2008-06-06
-	  14:22:12 +0000
-
-2008-04-23 Wednesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset5.cc (simplex.1): file
-	  pointsetpowerset5.cc was added on branch simplex on 2008-06-06
-	  14:22:13 +0000
-
-2008-04-23 Wednesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset6.cc (simplex.1): file
-	  pointsetpowerset6.cc was added on branch simplex on 2008-06-06
-	  14:22:13 +0000
-
-2008-04-23 Wednesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/pointsetpowerset2.cc (simplex.1): file
-	  pointsetpowerset2.cc was added on branch simplex on 2008-06-06
-	  14:22:10 +0000
-
-2008-04-23 Wednesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/pointsetpowerset1.cc (1.3),
-	  Box/pointsetpowerset1.cc (1.6), Box/pointsetpowerset2.cc (1.2),
-	  Grid/pointsetpowerset1.cc (1.2),
-	  Octagonal_Shape/pointsetpowerset1.cc (1.3), Polyhedron/hybrid.cc
-	  (1.6), Polyhedron/pointsetpowerset1.cc (1.10),
-	  Polyhedron/pointsetpowerset2.cc (1.4),
-	  Polyhedron/pointsetpowerset5.cc (1.4),
-	  Polyhedron/pointsetpowerset6.cc (1.2): Do not put spaces around
-	  operator->().
-
-2008-04-22 Tuesday 19:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Octagonal_Shape/Makefile.am (1.30): Type corrected.
-
-2008-04-22 Tuesday 17:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/BD_Shape/pointsetpowerset1.cc (1.2): Allow for non-integral
-	  numbers using check_result().
-
-2008-04-22 Tuesday 17:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Octagonal_Shape/pointsetpowerset1.cc (1.2): Allow for non
-	  integral results using check_results() on the disjuncts.
-
-2008-04-22 Tuesday 11:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.228), src/Pointset_Powerset.cc (1.19),
-	  src/Pointset_Powerset.defs.hh (1.38),
-	  src/Pointset_Powerset.inlines.hh (1.15),
-	  src/Pointset_Powerset.templates.hh (1.32),
-	  tests/BD_Shape/Makefile.am (1.76),
-	  tests/BD_Shape/pointsetpowerset1.cc (1.1), tests/Box/Makefile.am
-	  (1.59), tests/Box/pointsetpowerset2.cc (1.1),
-	  tests/Grid/Makefile.am (1.65), tests/Grid/pointsetpowerset1.cc
-	  (1.1), tests/Octagonal_Shape/Makefile.am (1.29),
-	  tests/Octagonal_Shape/pointsetpowerset1.cc (1.1),
-	  tests/Polyhedron/Makefile.am (1.122),
-	  tests/Polyhedron/pointsetpowerset6.cc (1.1): Added constructors
-	  for the pointset powerset domain from other domains that are not
-	  products or powersets.
-
-	  Added to all the constructors for the pointset powerset domain
-	  from other sematic domains an optional complexity argument.
-
-	  Tests for these new constructors added.  A note added in the NEWS
-	  file on these additions
-
-2008-04-22 Tuesday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/NNC_Polyhedron.defs.hh (1.60): Properly order the list of
-	  parameters of NNC_Polyhedron(grid, complexity) in the doxygen
-	  documentation.
-
-2008-04-22 Tuesday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.227): Mention the new unconstrain() methods.
-
-2008-04-22 Tuesday 09:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/pointsetpowerset1.cc (1.5): Tests 4 to 19 uncommented
-	  and adapted to use the box domain.
-
-2008-04-22 Tuesday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.inlines.hh (1.43): Added a note on the implementation
-	  of gcdext_exact().
-
-2008-04-21 Monday 22:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/NNC_Polyhedron.defs.hh (1.59): Document the parameter
-	  complexity in: NNC_Polyhedron(const Grid &grid,
-	  Complexity_Class complexity=ANY_COMPLEXITY)
-
-2008-04-21 Monday 12:13  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.101): Corrected the private method
-	  `get_limiting_shape' when `cs' contains an equality.
-
-2008-04-18 Friday 14:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Partially_Reduced_Product.defs.hh (1.30),
-	  Partially_Reduced_Product.inlines.hh (1.27): Added methods
-	  unconstrain() to class Partially_Reduced_Product.
-
-2008-04-18 Friday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/fromoctagonalshape1.cc (simplex.1): file
-	  fromoctagonalshape1.cc was added on branch simplex on 2008-06-06
-	  14:22:12 +0000
-
-2008-04-18 Friday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/frombdshape1.cc (1.2),
-	  Octagonal_Shape/fromoctagonalshape1.cc (1.2): Corrected typos:
-	  the assignment operator is not meant to implement a conversion
-	  between different kinds of BD_ or Octagonal_ shapes.
-
-2008-04-18 Friday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/frombdshape1.cc (simplex.1): file frombdshape1.cc
-	  was added on branch simplex on 2008-06-06 14:22:09 +0000
-
-2008-04-18 Friday 11:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.29),
-	  src/Partially_Reduced_Product.inlines.hh (1.26),
-	  tests/Grid/directproduct6.cc (1.14): Added a constructor for a
-	  product from another product but with possibly different
-	  templatic parameters.
-
-2008-04-18 Friday 10:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.28),
-	  src/Partially_Reduced_Product.inlines.hh (1.25),
-	  tests/Grid/directproduct6.cc (1.13): Added the complexity class
-	  parameter for the copy constructor for the product domain.
-
-2008-04-18 Friday 10:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/fromgrid1.cc (simplex.1): file fromgrid1.cc was added
-	  on branch simplex on 2008-06-06 14:22:11 +0000
-
-2008-04-18 Friday 10:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/partiallyreducedproduct4.cc (simplex.1): file
-	  partiallyreducedproduct4.cc was added on branch simplex on
-	  2008-06-06 14:22:11 +0000
-
-2008-04-18 Friday 10:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.121), src/BD_Shape.inlines.hh (1.161),
-	  src/Box.defs.hh (1.52), src/Box.inlines.hh (1.32),
-	  src/Box.templates.hh (1.109), src/C_Polyhedron.defs.hh (1.58),
-	  src/C_Polyhedron.inlines.hh (1.42), src/Grid.defs.hh (1.70),
-	  src/Grid_public.cc (1.72), src/NNC_Polyhedron.defs.hh (1.58),
-	  src/NNC_Polyhedron.inlines.hh (1.43), src/Octagonal_Shape.defs.hh
-	  (1.47), src/Octagonal_Shape.inlines.hh (1.34),
-	  src/Partially_Reduced_Product.defs.hh (1.27),
-	  src/Partially_Reduced_Product.inlines.hh (1.24),
-	  src/Polyhedron.defs.hh (1.335), src/Polyhedron_nonpublic.cc
-	  (1.83), tests/BD_Shape/Makefile.am (1.75),
-	  tests/BD_Shape/frombdshape1.cc (1.1), tests/Grid/Makefile.am
-	  (1.64), tests/Grid/copyconstruct1.cc (1.10),
-	  tests/Grid/directproduct6.cc (1.12), tests/Grid/fromgrid1.cc
-	  (1.1), tests/Grid/partiallyreducedproduct1.cc (1.11),
-	  tests/Grid/partiallyreducedproduct2.cc (1.5),
-	  tests/Grid/partiallyreducedproduct3.cc (1.4),
-	  tests/Grid/partiallyreducedproduct4.cc (1.4),
-	  tests/Octagonal_Shape/Makefile.am (1.28),
-	  tests/Octagonal_Shape/fromoctagonalshape1.cc (1.1): Added to the
-	  Partially_Reduced_Product<> class in the semantic GD constructors
-	  from other classes a complexity parameter.
-
-	  Tests for this have been added as needed. Also some comments wrt
-	  the tests for the product domain have been corrected.
-
-	  In the Grid, Box, BD_Shape and Octagonal_Shape added a complexity
-	  class parameter to the copy constructor and to the constructor
-	  from the same class but with a different numeric class (where
-	  applicable).
-
-	  Test files added where no obvious test for the copy constructor
-	  could be found. For the grid tests, the test file
-	  copyconstruct1.cc has been renamed for uniformity with other
-	  tests and the other classes.
-
-2008-04-18 Friday 09:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Any_Pointset.defs.hh (1.19), Pointset_Ask_Tell.defs.hh
-	  (1.16), Pointset_Ask_Tell.templates.hh (1.14): Added the
-	  unconstrain() methods to Any_Pointset and Pointset_Ask_Tell.
-
-2008-04-18 Friday 09:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.58), unconstrain1.cc (1.1): Added a
-	  test for the new Box::unconstrain() methods.
-
-2008-04-18 Friday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/unconstrain1.cc (simplex.1): file unconstrain1.cc was
-	  added on branch simplex on 2008-06-06 14:22:10 +0000
-
-2008-04-18 Friday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.51), Box.inlines.hh (1.31), Box.templates.hh
-	  (1.108): Added methods unconstrain().
-
-2008-04-17 Thursday 18:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/C_Polyhedron.cc (1.27), src/C_Polyhedron.defs.hh (1.57),
-	  src/NNC_Polyhedron.cc (1.27), src/NNC_Polyhedron.defs.hh (1.57),
-	  tests/Polyhedron/cnncconversion1.cc (1.6): Added a complexity
-	  parameter for converting between C and NNC polyhedra. This is
-	  ignored.
-
-	  A couple of tests added to cnncconversion1.cc.
-
-2008-04-17 Thursday 17:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.63), unconstrain1.cc (1.1): Added
-	  tests for unconstrain() for the grids.
-
-2008-04-17 Thursday 17:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/unconstrain1.cc (simplex.1): file unconstrain1.cc was
-	  added on branch simplex on 2008-06-06 14:22:11 +0000
-
-2008-04-17 Thursday 17:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.69), Grid_public.cc (1.71): Added methods
-	  unconstrain().
-
-2008-04-17 Thursday 17:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.cc (1.26), C_Polyhedron.defs.hh (1.56),
-	  C_Polyhedron.inlines.hh (1.41), NNC_Polyhedron.cc (1.26),
-	  NNC_Polyhedron.defs.hh (1.56), NNC_Polyhedron.inlines.hh (1.42),
-	  Polyhedron.templates.hh (1.19): Fixed indentation.
-
-2008-04-17 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/frombox1.cc (simplex.1): file frombox1.cc was
-	  added on branch simplex on 2008-06-06 14:22:09 +0000
-
-2008-04-17 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/frombox1.cc (simplex.1): file frombox1.cc
-	  was added on branch simplex on 2008-06-06 14:22:12 +0000
-
-2008-04-17 Thursday 16:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.120), src/BD_Shape.inlines.hh (1.160),
-	  src/Grid.defs.hh (1.68), src/Grid.inlines.hh (1.24),
-	  src/Grid.templates.hh (1.34), src/Octagonal_Shape.defs.hh (1.46),
-	  src/Octagonal_Shape.inlines.hh (1.33), tests/BD_Shape/Makefile.am
-	  (1.74), tests/BD_Shape/boundingbox1.cc (1.4),
-	  tests/BD_Shape/frombox1.cc (1.1),
-	  tests/Octagonal_Shape/Makefile.am (1.27),
-	  tests/Octagonal_Shape/frombox1.cc (1.1): Added a complexity
-	  parameter for the constructors for the grid, bd_shape and
-	  octagonal_shape from the other semantic GD's.  In all cases the
-	  parameter is ignored.
-
-	  Added tests for the Octagonal_Shape domain for building from a
-	  box.	This file is a clone (with only trivial changes for the
-	  change of domain) of the old boundingbox1.cc (renamed for
-	  consistency as frombox1.cc) in BD_Shape tests directory.
-
-2008-04-17 Thursday 16:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: C_Polyhedron.cc (1.25), C_Polyhedron.defs.hh (1.55),
-	  C_Polyhedron.inlines.hh (1.40), NNC_Polyhedron.cc (1.25),
-	  NNC_Polyhedron.defs.hh (1.55), NNC_Polyhedron.inlines.hh (1.41):
-	  Added an extra complexity parameter for building polyhedra from a
-	  box, bd shape, octagonal shape, and a grid.  In all cases the
-	  parameter is ignored.
-
-2008-04-17 Thursday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (1.31): Fixed indentation;
-	  added implementation of methods unconstrain().
-
-2008-04-17 Thursday 15:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (1.37): Fixed indentation and
-	  grouping of methods.	Declared new methods unconstrain().
-
-2008-04-17 Thursday 15:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.210): Added bibligraphic entry HMT71.
-
-2008-04-17 Thursday 15:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.209): Added a subsection about
-	  cylindrification of polyhedra.
-
-2008-04-17 Thursday 13:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.115): In the implementation of affine
-	  images/preimages, use new methods unconstrain() when appropriate.
-
-2008-04-17 Thursday 13:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/unconstrain1.cc (simplex.1): file
-	  unconstrain1.cc was added on branch simplex on 2008-06-06
-	  14:22:12 +0000
-
-2008-04-17 Thursday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/Makefile.am (1.73), BD_Shape/unconstrain1.cc
-	  (1.1), Octagonal_Shape/Makefile.am (1.26),
-	  Octagonal_Shape/unconstrain1.cc (1.1): Added tests for the
-	  unconstrain() methods for BD_Shape and Octagonal_Shape.
-
-2008-04-17 Thursday 13:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/unconstrain1.cc (simplex.1): file unconstrain1.cc
-	  was added on branch simplex on 2008-06-06 14:22:09 +0000
-
-2008-04-17 Thursday 13:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.119), BD_Shape.templates.hh (1.100),
-	  Octagonal_Shape.defs.hh (1.45), Octagonal_Shape.templates.hh
-	  (1.74): Added methods unconstrain() for BD_Shape and
-	  Octagonal_Shape.
-
-2008-04-17 Thursday 13:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Polyhedron.defs.hh (1.334), Polyhedron.templates.hh (1.18),
-	  Polyhedron_public.cc (1.114): Replaced common code in
-	  add_constraint() and refine_with_constraint() with a call to a
-	  private method refine_no_check() that does the same thing as the
-	  common code.
-
-	  Added an extra complexity parameter for the constructor of a
-	  polyhedron from a box. This is ignored (as algorithm is
-	  polynomial).
-
-2008-04-17 Thursday 12:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.121), unconstrain1.cc (1.1):
-	  Added some tests for new methods unconstrain().
-
-2008-04-17 Thursday 12:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/unconstrain1.cc (simplex.1): file
-	  unconstrain1.cc was added on branch simplex on 2008-06-06
-	  14:22:13 +0000
-
-2008-04-17 Thursday 11:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.113): Corrected cut&paste error in
-	  the implementation of unconstrain(vs).
-
-2008-04-17 Thursday 11:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.333), Polyhedron_public.cc (1.112):
-	  Added new methods   void unconstrain(Variable var);	void
-	  unconstrain(const Variable_Set& to_be_unconstrained); that modify
-	  the polyhedron by computing the cylindrification on the specified
-	  space dimensions.  In the documentation, moved the static methods
-	  can_recycle_constraints and can_recycle_congruences to a better
-	  place.
-
-2008-04-17 Thursday 09:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.243): Added (partial) lists of the semantic GDs (simple
-	  and the constructors) in the section on Semantic geometric
-	  descriptors.
-
-2008-04-12 Saturday 22:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.70), tests/Grid/Makefile.am (1.62),
-	  tests/Grid/frompolyhedron1.cc (1.1), tests/Grid/grid3.cc (1.26):
-	  Corrected two bugs in the revised code for constructing a grid
-	  from a polyhedron with complexity class:
-
-	  The space dimension of the generator system must be set to be
-	  that of the polyhedron.
-
-	  After minimizing the polyhedron (in the case that the complexity
-	  is ANY_COMPLEXITY), we must check if the polyhedron is empty, and
-	  if it is return the empty grid.
-
-	  Added a new test file for checking this constructor, moved
-	  existing tests for it that were in grid3.cc to the new test file,
-	  and added a few extra tests to check the use of complexity
-	  classes.
-
-2008-04-12 Saturday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/frompolyhedron1.cc (simplex.1): file
-	  frompolyhedron1.cc was added on branch simplex on 2008-06-06
-	  14:22:11 +0000
-
-2008-04-12 Saturday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.67), Grid_public.cc (1.69): The constructor
-	  of a grid from a polyhedron now takes an optional argument
-	  specifying an upper bound to the complexity of the conversion to
-	  be applied.
-
-2008-04-10 Thursday 17:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.242): Small improvements to the description of
-	  syntactic/semantics GDs.
-
-2008-04-02 Wednesday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.33), Watchdog/ltmain.sh (1.22),
-	  Watchdog/m4/libtool.m4 (1.4), Watchdog/m4/ltoptions.m4 (1.2),
-	  Watchdog/m4/ltversion.m4 (1.3), m4/libtool.m4 (1.4),
-	  m4/ltoptions.m4 (1.2), m4/ltversion.m4 (1.3): Updated from
-	  Libtool 2.2.2.
-
-2008-03-29 Saturday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.305): Version number bumped.
-
-2008-03-25 Tuesday 10:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.cc (1.18), src/Pointset_Powerset.defs.hh
-	  (1.36), src/Pointset_Powerset.inlines.hh (1.14),
-	  src/Pointset_Powerset.templates.hh (1.30),
-	  tests/Grid/powersetdifference1.cc (1.5),
-	  tests/Polyhedron/pointsetpowerset1.cc (1.9): Changes mainly
-	  affect poly_difference_assign().
-
-	  Added difference_assign() to be a clone of
-	  poly_difference_assign().  Added a couple of tests and improved
-	  an existing test.
-
-	  Replaced all lines: // FIXME: this is buggy when PS is not an
-	  abstraction of NNC_Polyhedron.  by // This code is only used when
-	  PS is an abstraction of NNC_Polyhedron.  since the Grid domains
-	  are specialised separately.
-
-	  Corrected a bug in poly_difference_assign() for Grids where some
-	  precision was wrongly lost (when a remainder was negative and had
-	  been assumed to be positive).
-
-2008-03-22 Saturday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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-21 Friday 10:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.32),
-	  ppl_interface_generator_c_h_code.m4 (1.22): Removed the now
-	  redundant code for add_recycled_..._and_minimize procedures.
-
-2008-03-21 Friday 10:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
-	  (1.6): Removed the
-	  add_recycled_constraints/congruences_and_minimize from the list
-	  of procedures to build.
-
-2008-03-21 Friday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_procedure_generators.m4
-	  (simplex.1): file
-	  ppl_interface_generator_c_procedure_generators.m4 was added on
-	  branch simplex on 2008-06-06 14:21:58 +0000
-
-2008-03-21 Friday 09:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Partially_Reduced_Product.defs.hh (1.26),
-	  Pointset_Powerset.defs.hh (1.35): Corrected a couple of typos in
-	  the documentation resulting in Doxygen warnings.
-
-2008-03-21 Friday 09:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.44), Octagonal_Shape.inlines.hh
-	  (1.32), Octagonal_Shape.templates.hh (1.73): Removed eager
-	  methods for the addition of constraints/congruences.
-
-2008-03-21 Friday 09:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: limitedbhmz05extrapolation1.cc (1.8),
-	  limitedcc76extrapolation1.cc (1.8), intersection1.cc (1.6): No
-	  longer using eager methods for adding constraints/congruences.
-
-2008-03-21 Friday 09:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: congruences1.cc (1.4),
-	  containsintegerpoint1.cc (1.6), octhull1.cc (1.6): No longer
-	  using eager methods for adding constraints/congruences.
-
-2008-03-21 Friday 09:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/congruences1.cc (simplex.1): file
-	  congruences1.cc was added on branch simplex on 2008-06-06
-	  14:22:12 +0000
-
-2008-03-21 Friday 08:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/: directproduct3.cc (1.18), directproduct5.cc (1.10):
-	  No longer using eager methods for adding constraints/congruences.
-
-2008-03-21 Friday 08:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/partiallyreducedproduct1.cc (1.10): No longer using
-	  eager methods for adding constraints/congruences.
-
-2008-03-21 Friday 08:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Partially_Reduced_Product.defs.hh (1.25),
-	  Partially_Reduced_Product.inlines.hh (1.23),
-	  Partially_Reduced_Product.templates.hh (1.9): Removed eager
-	  versions of methods adding constraints/congruences.
-
-2008-03-21 Friday 08:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Ask_Tell.defs.hh (1.15),
-	  Pointset_Ask_Tell.templates.hh (1.13): Removed eager methods of
-	  methods adding constraints/congruences.
-
-2008-03-21 Friday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Ask_Tell/append1.cc (1.8): Corrected typo in the noisy
-	  output.
-
-2008-03-21 Friday 08:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: addconstraints1.cc (1.13), congruences1.cc (1.4),
-	  intersection1.cc (1.10): No longer using eager methods for adding
-	  constraints/congruences.
-
-2008-03-21 Friday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.50), Box.inlines.hh (1.30): Removed eager
-	  versions of methods adding constraints and congruences.
-
-2008-03-20 Thursday 17:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/C_Polyhedron.defs.hh (1.54): Comment corrected.
-
-2008-03-20 Thursday 16:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron_public.cc (1.111), Polyhedron_widenings.cc
-	  (1.66): Avoid using deprecated methods.
-
-2008-03-20 Thursday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.99): Avoid using deprecated methods;
-	  while at it, slightly simplified a few lines.
-
-2008-03-20 Thursday 15:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Powerset.templates.hh (1.29), Pointset_Powerset.cc
-	  (1.17), Grid_public.cc (1.68): Avoid using deprecated method.
-
-2008-03-20 Thursday 15:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: C/ppl_interface_generator_c_cc_code.m4 (1.31),
-	  C/ppl_interface_generator_c_h_code.m4 (1.21),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.48), Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.28), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.30),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.25),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.19): Added the
-	  code for the refine_with methods to the C, Java and Ocaml
-	  interfaces.  All the refine_with methods in all the interfaces
-	  enabled.
-
-2008-03-20 Thursday 15:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.332), BD_Shape.defs.hh (1.118),
-	  Pointset_Powerset.defs.hh (1.34), Grid.defs.hh (1.66):
-	  Documentation of the eager versions of some methods now states
-	  that their usage is deprecated (linking to the manual for an
-	  explanation).
-
-2008-03-20 Thursday 14:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.208): In the section of the manual
-	  discussing lazy and eager version of some of the operators, added
-	  a paragraph stressing that the use of the eager versions is
-	  deprecated starting from PPL 0.10 and will be removed starting
-	  from PPL 0.11.
-
-2008-03-20 Thursday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.71),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.18),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.65): Added
-	  code in the Prolog interface for the refine_with methods.
-
-2008-03-20 Thursday 10:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.24),
-	  src/Partially_Reduced_Product.inlines.hh (1.22),
-	  tests/Grid/partiallyreducedproduct4.cc (1.3): Added refine_with
-	  methods to the product domains.
-
-2008-03-20 Thursday 09:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.33),
-	  src/Pointset_Powerset.templates.hh (1.28),
-	  tests/Polyhedron/pointsetpowerset5.cc (1.3): Added
-	  refine_with_congruence() and	refine_with_congruences().  Tests
-	  added for all the refine_with methods for pointset powersets of
-	  polyhedra.
-
-2008-03-19 Wednesday 14:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/:
-	  ppl_interface_generator_common_procedure_generators.m4 (1.17),
-	  Prolog/tests/pl_grid_check.pl (1.10): Disabled the and_minimize
-	  methods for all domains except for the Polyhedron domains.
-	  Removed all tests for the and_minimize methods from
-	  Prolog/tests/pl_grid_check.pl.
-
-2008-03-19 Wednesday 14:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.331), src/Polyhedron_public.cc (1.110),
-	  tests/Polyhedron/Makefile.am (1.120),
-	  tests/Polyhedron/exceptions1.cc (1.16),
-	  tests/Polyhedron/refinewithcongruence1.cc (1.1),
-	  tests/Polyhedron/refinewithcongruences1.cc (1.1),
-	  tests/Polyhedron/refinewithconstraint1.cc (1.1),
-	  tests/Polyhedron/refinewithconstraints1.cc (1.1): Added
-	  refine_with methods for constraint(s) and congruence(s).
-
-2008-03-19 Wednesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/refinewithcongruence1.cc (simplex.1): file
-	  refinewithcongruence1.cc was added on branch simplex on
-	  2008-06-06 14:22:13 +0000
-
-2008-03-19 Wednesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/refinewithcongruences1.cc (simplex.1): file
-	  refinewithcongruences1.cc was added on branch simplex on
-	  2008-06-06 14:22:13 +0000
-
-2008-03-19 Wednesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/refinewithconstraint1.cc (simplex.1): file
-	  refinewithconstraint1.cc was added on branch simplex on
-	  2008-06-06 14:22:13 +0000
-
-2008-03-19 Wednesday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/refinewithconstraints1.cc (simplex.1): file
-	  refinewithconstraints1.cc was added on branch simplex on
-	  2008-06-06 14:22:13 +0000
-
-2008-03-19 Wednesday 08:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.241): Revised the geometric descriptors draft
-	  documentation for the add and refine_with methods for constraints
-	  and congruences.
-
-2008-03-19 Wednesday 08:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/refinewithconstraints1.cc (1.3): tests 08 and 09 fail
-	  with checked-int8
-
-2008-03-19 Wednesday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refinewithconstraints1.cc (simplex.1): file
-	  refinewithconstraints1.cc was added on branch simplex on
-	  2008-06-06 14:22:10 +0000
-
-2008-03-19 Wednesday 07:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.67): Restored implementation of
-	  add_constraints().
-
-2008-03-18 Tuesday 22:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.65), src/Grid.inlines.hh (1.23),
-	  src/Grid_public.cc (1.66), tests/Grid/Makefile.am (1.61),
-	  tests/Grid/congruences1.cc (1.14),
-	  tests/Grid/refinewithcongruences1.cc (1.1),
-	  tests/Grid/refinewithconstraints1.cc (1.1): Added methods
-	  refine_with_congruence(),  refine_with_congruences(),
-	  refine_with_constraint(),  refine_with_constraints().
-
-	  Removed some old redundant (commented out) tests in
-	  tests/Grid/congruences1.cc
-
-2008-03-18 Tuesday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/refinewithcongruences1.cc (simplex.1): file
-	  refinewithcongruences1.cc was added on branch simplex on
-	  2008-06-06 14:22:11 +0000
-
-2008-03-18 Tuesday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/refinewithconstraints1.cc (simplex.1): file
-	  refinewithconstraints1.cc was added on branch simplex on
-	  2008-06-06 14:22:11 +0000
-
-2008-03-18 Tuesday 20:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.28), Watchdog/ChangeLog (1.17): Updated.
-
-2008-03-18 Tuesday 20:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.inlines.hh (1.29), tests/Box/Makefile.am (1.57): Restored
-	  code revoved in error.  Restored congruences1 test.
-
-2008-03-18 Tuesday 20:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (1.32): Two FIXMEs resolved.
-
-2008-03-18 Tuesday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Pointset_Powerset.defs.hh (1.31),
-	  Pointset_Powerset.templates.hh (1.27): Methods
-	  Pointset_Powerset<PS>::refine(const Constraint&) and
-	  Pointset_Powerset<PS>::refine(const Constraint_System&) renamed
-	  Pointset_Powerset<PS>::refine_with_constraint(const Constraint&)
-	  and Pointset_Powerset<PS>::refine_with_constraints(const
-	  Constraint_System&), respectively.
-
-2008-03-18 Tuesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.56): Disabled test program congruences1.
-
-2008-03-18 Tuesday 20:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/membytes1.cc (1.7): Invoke refine_with_constraint()
-	  instead of the no longer existing refine().
-
-2008-03-18 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.49), src/Box.inlines.hh (1.28),
-	  tests/Box/Makefile.am (1.55), tests/Box/refine1.cc (1.13),
-	  tests/Box/refine2.cc (1.13), tests/Box/refine3.cc (1.6),
-	  tests/Box/refinewithconstraint1.cc (1.1),
-	  tests/Box/refinewithconstraint2.cc (1.1),
-	  tests/Box/refinewithconstraints1.cc (1.2),
-	  tests/Box/refinewithconstraints2.cc (1.1): Duplicate code
-	  avoided.  Fixed some comments.  Test programs reorganized.
-
-2008-03-18 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refinewithconstraint1.cc (simplex.1): file
-	  refinewithconstraint1.cc was added on branch simplex on
-	  2008-06-06 14:22:10 +0000
-
-2008-03-18 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refinewithconstraint2.cc (simplex.1): file
-	  refinewithconstraint2.cc was added on branch simplex on
-	  2008-06-06 14:22:10 +0000
-
-2008-03-18 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refinewithconstraints2.cc (simplex.1): file
-	  refinewithconstraints2.cc was added on branch simplex on
-	  2008-06-06 14:22:10 +0000
-
-2008-03-18 Tuesday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.defs.hh (1.48), src/Box.inlines.hh (1.27),
-	  src/Box.templates.hh (1.107), tests/Box/Makefile.am (1.54),
-	  tests/Box/refinewithcongruences1.cc (1.1),
-	  tests/Box/refinewithconstraints1.cc (1.1): Added
-	  refine_with_constraint(),  refine_with_constraints(),
-	  refine_with_congruence(),  refine_with_congruences() methods to
-	  the Box domain.
-
-2008-03-18 Tuesday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refinewithcongruences1.cc (simplex.1): file
-	  refinewithcongruences1.cc was added on branch simplex on
-	  2008-06-06 14:22:10 +0000
-
-2008-03-18 Tuesday 14:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.240): All the method names in the temporary documentation
-	  now preceded by the \p for use in doxygen code.  Also, all code
-	  here has been enclosed in the \code \endcode environment.
-
-2008-03-18 Tuesday 14:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.117), src/BD_Shape.inlines.hh (1.159),
-	  src/Octagonal_Shape.defs.hh (1.43),
-	  src/Octagonal_Shape.inlines.hh (1.31),
-	  src/Octagonal_Shape.templates.hh (1.72),
-	  tests/BD_Shape/congruences1.cc (1.4),
-	  tests/BD_Shape/constraints1.cc (1.24),
-	  tests/Octagonal_Shape/congruences1.cc (1.3),
-	  tests/Octagonal_Shape/constraints1.cc (1.7): Removed the
-	  and_minimize versions of the new refine_with methods.
-
-2008-03-18 Tuesday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/congruences1.cc (simplex.1): file congruences1.cc
-	  was added on branch simplex on 2008-06-06 14:22:09 +0000
-
-2008-03-18 Tuesday 13:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.239): Completed what I can of the documentation for the
-	  geometric descriptors.
-
-2008-03-18 Tuesday 12:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.238): Added to the draft documentation on geometric
-	  descrptors.
-
-2008-03-18 Tuesday 10:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.116), src/BD_Shape.inlines.hh (1.158),
-	  src/BD_Shape.templates.hh (1.98), src/Octagonal_Shape.defs.hh
-	  (1.42), src/Octagonal_Shape.inlines.hh (1.30),
-	  src/Octagonal_Shape.templates.hh (1.71),
-	  tests/BD_Shape/congruences1.cc (1.3),
-	  tests/BD_Shape/constraints1.cc (1.23),
-	  tests/Octagonal_Shape/congruences1.cc (1.2),
-	  tests/Octagonal_Shape/constraints1.cc (1.6): Added
-	  refine_with_[constraint GD] both with and without "and_minimize".
-	  A few tests added.  Small corrections to documentation for the
-	  add_[constraint GD] methods.
-
-2008-03-14 Friday 09:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/generalizedaffinepreimage1.cc (1.16): test07 definitely
-	  fails when using 8-bit coefficients and checking assertions.
-
-2008-03-14 Friday 09:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.76): Added macros
-	  DO_TEST_F<size><assertions>_MAY_OVERFLOW_IF_INEXACT for all
-	  possible bounded coefficient types.
-
-2008-03-14 Friday 08:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.75), BD_Shape/max_min2.cc (1.12): Modified
-	  the check_result helper function so as to take as input two
-	  _checked_ mpq_class numbers, rather than bare mpq_class. Adapted
-	  test10 of max_min2.cc accordingly.
-
-2008-03-11 Tuesday 08:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.237): Added a note on upward and downward approximations.
-
-2008-03-10 Monday 15:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/max_min2.cc (1.11): Corrected silly initialization
-	  error of an mpq_class object from bounded numerator and
-	  denumrators.
-
-2008-03-10 Monday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/max_min2.cc (1.10): test10 modified so as to check
-	  its result using helper functions computing distances, thereby
-	  allowing for approximations.
-
-2008-03-10 Monday 12:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.74): Added overloading for helper function
-	  check_result that allows for computing the rectilinear distance
-	  between two mpq_class numbers.
-
-2008-03-10 Monday 12:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.236): Started drafting a text that, properly elaborated,
-	  should constitute the "philosophy" of our user interfaces.
-
-2008-03-10 Monday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.73): Added overloading for function
-	  check_result to compute and check distances between a pair of
-	  (closure) points.
-
-2008-03-10 Monday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.defs.hh (1.126), Generator.inlines.hh (1.64):
-	  Added functions to compute the (rectilinear, euclidean or
-	  l-infinify) distance between a pair of (closure) points.
-
-2008-03-10 Monday 07:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Octagonal_Shape.inlines.hh (1.29): Corrected a couple of
-	  comments.
-
-	  When building from a congruence system, for a non-zero dimension
-	  universe octagon, first set the stongly closed flag (as is
-	  already done for building from other systems).
-
-2008-03-09 Sunday 23:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.106): Braces added to avoid ambiguous
-	  `else'.
-
-2008-03-08 Saturday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.32), Watchdog/ltmain.sh (1.21),
-	  Watchdog/m4/libtool.m4 (1.3), Watchdog/m4/ltversion.m4 (1.2),
-	  m4/libtool.m4 (1.3), m4/ltversion.m4 (1.2): Updated from Libtool
-	  2.3a.
-
-2008-03-07 Friday 22:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Octagonal_Shape/max_min2.cc (1.7): The bug shown by test07
-	  is now corrected.
-
-2008-03-07 Friday 21:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/max_min2.cc (1.9): The bug shown by test10 is now
-	  corrected.
-
-2008-03-07 Friday 21:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.97), MIP_Problem.cc (1.66):
-	  Corrected a bug in the evaluation of objective function whereby a
-	  wrong result could have been obtained if the objective function
-	  had a non-zero inhomogeneous term and the evaluating point was
-	  non-integral.
-
-2008-03-07 Friday 16:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: BD_Shape/max_min2.cc (1.8), Octagonal_Shape/max_min2.cc
-	  (1.6): test07 in Octagonal_Shape/max_min2.cc and test10 in
-	  BD_Shape/max_min2.cc show a bug in having an inhomogeneous term
-	  in the linear expression for maximize() and minimize() when the
-	  denominator is different from 1.
-
-2008-03-07 Friday 11:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.templates.hh (1.96),
-	  src/Octagonal_Shape.templates.hh (1.70),
-	  tests/BD_Shape/relations3.cc (1.31), tests/BD_Shape/relations4.cc
-	  (1.13), tests/Octagonal_Shape/relatwithcons3.cc (1.3): Improved
-	  the code again for the relations_with() for constraints for both
-	  the Octagons and BD_Shapes. Tests also improved.
-
-	  The BD_Shape relation_with() for congruences now uses the
-	  relation_with() for constraints instead of the temporary
-	  implementation that converted to polyhedra to compute the
-	  relations.
-
-2008-03-07 Friday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons3.cc (simplex.1): file
-	  relatwithcons3.cc was added on branch simplex on 2008-06-06
-	  14:22:12 +0000
-
-2008-03-07 Friday 09:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Octagonal_Shape/relatwithcons3.cc (1.2),
-	  src/Octagonal_Shape.templates.hh (1.69): Revised relation_with()
-	  for a congruence so as to use the relation_with() for a
-	  constraint instead of the temporary implementation which was
-	  coverting the octagon to a polyhedron and using the method there.
-
-	  Fixed a bug in relation_with() for a (non-octagonal) constraint
-	  due to the inclusion of the inhomogeneous term in the linear
-	  expression when calling maximize() and minimize().
-
-2008-03-07 Friday 07:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/relations3.cc (simplex.1): file relations3.cc was added
-	  on branch simplex on 2008-06-06 14:22:10 +0000
-
-2008-03-07 Friday 07:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.105), tests/Box/relations3.cc (1.5):
-	  Redone the previous correction for the interval_relation() when
-	  the relation symbol is an equality as it did not correct the case
-	  when the interval was fully bounded.	A further test added for
-	  bounded intervals and equality.
-
-2008-03-06 Thursday 22:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.104), tests/Box/relations3.cc (1.4):
-	  Fixed a bug in the interval_relation() when the relation is an
-	  equality. Test added that showed this bug.
-
-2008-03-06 Thursday 16:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Octagonal_Shape.defs.hh (1.41),
-	  src/Octagonal_Shape.templates.hh (1.68),
-	  tests/BD_Shape/relations4.cc (1.12),
-	  tests/Octagonal_Shape/Makefile.am (1.25),
-	  tests/Octagonal_Shape/relatwithcons3.cc (1.1): In the Octagon
-	  domain, the relation_with() for a constraint now finds the
-	  relation with a non-octagonal difference constraint.
-
-	  Comment in Octagonal.defs.hh for relation_with() wrt this
-	  updated.
-
-	  Tests add to test this change.
-
-	  All tabs replaced by spaces in Octagonal.defs.hh and
-	  Octagonal_Shape.templates.hh
-
-	  The (if noisy) generated output in tests/BD_Shape/relations4.cc
-	  corrected.
-
-2008-03-06 Thursday 15:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: BD_Shape.defs.hh (1.115), BD_Shape.templates.hh (1.95):
-	  Removed/replaced all tabs.
-
-2008-03-06 Thursday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.templates.hh (1.94): Two comment lines added.
-
-2008-03-06 Thursday 13:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.114), src/BD_Shape.templates.hh (1.93),
-	  tests/BD_Shape/Makefile.am (1.72), tests/BD_Shape/relations2.cc
-	  (1.25), tests/BD_Shape/relations3.cc (1.30),
-	  tests/BD_Shape/relations4.cc (1.11): relation_with() for a
-	  constraint can now handle any constraint even if it is not a
-	  bounded difference.
-
-	  Comment in BD_Shape.defs.hh for this method updated.
-
-	  Tests added to check this (and existing tests to check exceptions
-	  revised).
-
-2008-03-06 Thursday 08:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.16): Enabled intersection_assign_and_minimize for all the Box
-	  domains, powersets with a Box domain as a disjunct and products
-	  with a Box domain as a component.
-
-2008-03-06 Thursday 08:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.15): In all the interfaces, the bounded_affine_image,
-	  generalized_affine_image, generalized_affine_image_lhs_rhs
-	  procedures are enabled now for: all the Box domains, powersets
-	  with a Box domain as its disjunct and products with a Box domain
-	  as a component.
-
-2008-03-05 Wednesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.304), Watchdog/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.31), Watchdog/ltmain.sh (1.20),
-	  Watchdog/m4/libtool.m4 (1.2), 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-03 Monday 13:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.defs.hh (1.47), src/Box.inlines.hh (1.26),
-	  tests/Box/intersection1.cc (1.9): Added method
-	  intersection_assign_and_minimize() needed for uniformity with
-	  other domains in the PPL.
-
-2008-03-03 Monday 08:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.103), tests/Box/boundedaffineimage1.cc
-	  (1.16), tests/Box/generalizedaffineimage1.cc (1.15),
-	  tests/Box/generalizedaffineimage2.cc (1.5): Corrected two bugs,
-	  one in bounded_affine_image() when setting an interval to be
-	  unbounded caused an exception to be thrown and the other in
-	  generalized_affine_image/4 where the bounds were set when they
-	  should have been left unbounded.
-
-	  The first bug was illustrated by the extra test17 in
-	  boundedaffineimage1.cc
-
-	  The second bug by a modified form of test04 in
-	  generalizedaffineimage2.cc (previously the test did not test
-	  anything that is not tested elsewhere).
-
-	  Some tests in generalizedaffineimage1.cc used constraints that
-	  were not non-relational. Corrected.
-
-2008-03-03 Monday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/generalizedaffineimage2.cc (simplex.1): file
-	  generalizedaffineimage2.cc was added on branch simplex on
-	  2008-06-06 14:22:10 +0000
-
-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:22:04 +0000
-
-2008-03-02 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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.41), ltmain.sh (1.30), Watchdog/config.guess
-	  (1.25), Watchdog/ltmain.sh (1.19), Watchdog/m4/libtool.m4 (1.1),
-	  Watchdog/m4/ltoptions.m4 (1.1), Watchdog/m4/ltsugar.m4 (1.1),
-	  Watchdog/m4/ltversion.m4 (1.1), Watchdog/m4/lt~obsolete.m4 (1.1),
-	  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-03-02 Sunday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.72), Box/generalizedaffinepreimage1.cc
-	  (1.15): A couple of the test (11 and 15):  - definitely overflow
-	  when using 8 bit integers;  - may overflow when using bigger
-	  bounded integers and inexact intervals    boundary types.  Added
-	  new macro DO_TEST_F8_MAY_OVERFLOW_IF_INEXACT to deal with these
-	  cases ... this is a tentative approach, have to decide if it is
-	  the way to go.
-
-2008-03-02 Sunday 08:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.71): Added a couple of using declaration for
-	  the IO_Operators namespace.
-
-2008-03-01 Saturday 23:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: boundedaffineimage1.cc (1.15),
-	  boundedaffinepreimage1.cc (1.8), generalizedaffinepreimage1.cc
-	  (1.14): A few tests may overflow if bounded integers coefficients
-	  *and* inexact interval boundary types are used together.
-
-2008-03-01 Saturday 23:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boundedaffinepreimage1.cc (simplex.1): file
-	  boundedaffinepreimage1.cc was added on branch simplex on
-	  2008-06-06 14:22:10 +0000
-
-2008-03-01 Saturday 21:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/generalizedaffinepreimage1.cc (1.13): One of the
-	  previous changes reverted: test 7 needs an NNC polyhedron when
-	  checking for the known result.
-
-2008-03-01 Saturday 19:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/generalizedaffinepreimage1.cc (1.12): Test 7 overflows
-	  when using 8 bit integers with assertions turned on; tests 11 and
-	  15 overflow with 8 bit integers independently from assertions.
-
-2008-03-01 Saturday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/boundedaffineimage1.cc (1.14): Tests 9 and 10 always
-	  succeed.
-
-2008-03-01 Saturday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.102): Fixed several issues in method
-	  bounded_affine_preimage that were preventing compilation when
-	  using bounded coefficient types; also corrected several
-	  efficiency bugs.
-
-2008-03-01 Saturday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/generalizedaffinepreimage1.cc (1.11): Fixed a bunch of
-	  known results by computing distances or requiring comparison with
-	  an NNC polyhedron if the exact boundaries are open.
-
-2008-03-01 Saturday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.templates.hh (1.17): Modified implementation of
-	  templatic constructor taking a Box: open bounds are now
-	  approximated using topologically closed halfspaces if the
-	  polyhedron being built is necessarily closed.
-
-2008-03-01 Saturday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/boundedaffinepreimage1.cc (1.7): In test09() a
-	  C_Polyhedron is enough to check the result obtained.
-
-2008-03-01 Saturday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.70): Improved check_result() functions.
-
-2008-03-01 Saturday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/generalizedaffinepreimage1.cc (1.10): Indentation
-	  fixed.
-
-2008-03-01 Saturday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boundedaffinepreimage1.cc (1.6): Temporarily patched
-	  test09();  FIXME added.
-
-2008-03-01 Saturday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boundedaffinepreimage1.cc (1.5): Indentation fixed.
-	  Please do insert the lines
-
-	  ;; Do not use tabs for indentation.  (setq-default
-	  indent-tabs-mode nil)
-
-	  into your .emacs file.
-
-2008-03-01 Saturday 08:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/boundedaffinepreimage1.cc (1.4): Revised check_result
-	  expected results for test12.
-
-2008-02-29 Friday 23:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/boundedaffinepreimage1.cc (1.3): Corrected title line
-	  of file.
-
-2008-02-29 Friday 22:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: addspacedims1.cc (1.5),
-	  affinepreimage1.cc (1.7), affinepreimage2.cc (1.5),
-	  boundedaffineimage1.cc (1.12), boundedaffinepreimage1.cc (1.6),
-	  cc76extrapolation1.cc (1.7), expandspacedim1.cc (1.7),
-	  frompolyhedron1.cc (1.6), generalizedaffineimage1.cc (1.6),
-	  generalizedaffineimage2.cc (1.6), generalizedaffineimage3.cc
-	  (1.11), generalizedaffineimage4.cc (1.6),
-	  generalizedaffineimage5.cc (1.6), generalizedaffinepreimage1.cc
-	  (1.7), generalizedaffinepreimage2.cc (1.11),
-	  generalizedaffinepreimage3.cc (1.7),
-	  generalizedaffinepreimage4.cc (1.6),
-	  limitedbhmz05extrapolation1.cc (1.7),
-	  limitedcc76extrapolation1.cc (1.7), membytes1.cc (1.6),
-	  minconstraints1.cc (1.6), relatwithgen1.cc (1.10): Untabified.
-
-2008-02-29 Friday 22:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/congruences1.cc (1.2): This was ripped from the
-	  Octagonal_Shape directory without even renaming variables or
-	  adapting comments: fixed.
-
-2008-02-29 Friday 22:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.69), BD_Shape/addconstraints1.cc (1.22),
-	  BD_Shape/addspacedims1.cc (1.19), BD_Shape/affineimage1.cc
-	  (1.23), BD_Shape/affineimage2.cc (1.16),
-	  BD_Shape/affinepreimage1.cc (1.24), BD_Shape/bdsdifference1.cc
-	  (1.18), BD_Shape/bdshull1.cc (1.19), BD_Shape/bhmz05widening1.cc
-	  (1.18), BD_Shape/boundedaffineimage1.cc (1.7),
-	  BD_Shape/boundedaffinepreimage1.cc (1.7),
-	  BD_Shape/cc76extrapolation1.cc (1.23), BD_Shape/cc76narrowing1.cc
-	  (1.21), BD_Shape/concatenate1.cc (1.17), BD_Shape/constraints1.cc
-	  (1.22), BD_Shape/expandspacedim1.cc (1.7),
-	  BD_Shape/foldspacedims1.cc (1.9), BD_Shape/fromgensys1.cc (1.18),
-	  BD_Shape/generalizedaffineimage1.cc (1.21),
-	  BD_Shape/generalizedaffineimage2.cc (1.25),
-	  BD_Shape/generalizedaffinepreimage1.cc (1.19),
-	  BD_Shape/generalizedaffinepreimage2.cc (1.20),
-	  BD_Shape/generalizedaffinepreimage3.cc (1.10),
-	  BD_Shape/h79widening1.cc (1.16), BD_Shape/intersection1.cc
-	  (1.21), BD_Shape/limitedbhmz05extrapolation1.cc (1.19),
-	  BD_Shape/limitedcc76extrapolation1.cc (1.20),
-	  BD_Shape/limitedh79extrapolation1.cc (1.17),
-	  BD_Shape/mapspacedims1.cc (1.19), BD_Shape/minconstraints1.cc
-	  (1.15), BD_Shape/removespacedims1.cc (1.24),
-	  BD_Shape/timeelapse1.cc (1.25): Always use the check_result()
-	  functions to check computed results against the known ones.
-
-2008-02-29 Friday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: addconstraints1.cc (1.21), addspacedims1.cc
-	  (1.18), affinedimension1.cc (1.14), affineimage1.cc (1.22),
-	  affineimage2.cc (1.15), ascii_dump_load1.cc (1.18), bounded1.cc
-	  (1.5), boundedaffinepreimage1.cc (1.6), boundingbox1.cc (1.3),
-	  cc76extrapolation1.cc (1.22), closure1.cc (1.23),
-	  containsintegerpoint1.cc (1.5), discrete1.cc (1.5),
-	  fromgensys1.cc (1.17), fromgrid1.cc (1.4), fromoctagonalshape1.cc
-	  (1.3), fromspacedim1.cc (1.4), generalizedaffineimage1.cc (1.20),
-	  generalizedaffineimage2.cc (1.24), generalizedaffinepreimage1.cc
-	  (1.18), generalizedaffinepreimage2.cc (1.19),
-	  generalizedaffinepreimage3.cc (1.9),
-	  limitedbhmz05extrapolation1.cc (1.18),
-	  limitedcc76extrapolation1.cc (1.19), mapspacedims1.cc (1.18),
-	  max_min1.cc (1.5), max_min2.cc (1.7), membytes1.cc (1.6),
-	  minconstraints1.cc (1.14), relations1.cc (1.20), relations2.cc
-	  (1.24), relations3.cc (1.29), removespacedims1.cc (1.23),
-	  timeelapse1.cc (1.24), universe1.cc (1.17), writebdshape1.cc
-	  (1.13): More variables renamed.
-
-2008-02-29 Friday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: h79widening1.cc (1.15), intersection1.cc (1.20),
-	  limitedbhmz05extrapolation1.cc (1.17),
-	  limitedcc76extrapolation1.cc (1.18), limitedh79extrapolation1.cc
-	  (1.16), mapspacedims1.cc (1.17), timeelapse1.cc (1.23),
-	  writebdshape1.cc (1.12): Variable renaming completed.
-
-2008-02-29 Friday 16:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/boundedaffinepreimage1.cc (1.2): In test03, result
-	  checked using check_result.
-
-2008-02-29 Friday 15:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.101), tests/Box/Makefile.am (1.53),
-	  tests/Box/boundedaffinepreimage1.cc (1.1),
-	  tests/Box/generalizedaffinepreimage1.cc (1.9): Added code for
-	  generalized_affine_preimage (both versions) and
-	  bounded_affine_preimage.  Minor improvement to
-	  bounded_affine_image where we add the constraint that the lower
-	  bound expression must be less than the upper bound expression (or
-	  vice versa if the denominator is negative).
-
-	  Some tests added or revised.
-
-2008-02-29 Friday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boundedaffineimage1.cc (1.13): test09() and test10()
-	  provoke an overflow only with assertions enabled.
-
-2008-02-29 Friday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: addspacedims1.cc (1.8), boundedaffineimage1.cc
-	  (1.12), closure1.cc (1.6), expandspacedim1.cc (1.9),
-	  frompolyhedron1.cc (1.13), generalizedaffineimage1.cc (1.14),
-	  generalizedaffineimage2.cc (1.4), generalizedaffinepreimage1.cc
-	  (1.8), interval1.cc (1.6), interval2.cc (1.6), minconstraints1.cc
-	  (1.7), refine2.cc (1.12), refine3.cc (1.5), removespacedims1.cc
-	  (1.10), timeelapse1.cc (1.9): Untabified.
-
-2008-02-29 Friday 09:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine2.cc (1.11): Adapted test02() to the new dump
-	  format.
-
-2008-02-29 Friday 09:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.100): Spurious separator avoided in
-	  ascii_dump().
-
-2008-02-29 Friday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: addconstraints1.cc (1.20), addspacedims1.cc
-	  (1.17), affineimage1.cc (1.21), affinepreimage1.cc (1.23),
-	  ascii_dump_load1.cc (1.17), bdsdifference1.cc (1.17), bdshull1.cc
-	  (1.18), bhmz05widening1.cc (1.17), boundedaffineimage1.cc (1.6),
-	  boundedaffinepreimage1.cc (1.5), bounds1.cc (1.5),
-	  cc76extrapolation1.cc (1.21), cc76narrowing1.cc (1.20),
-	  closure1.cc (1.22), concatenate1.cc (1.16), constraints1.cc
-	  (1.21), contains1.cc (1.17), disjoint1.cc (1.8), empty1.cc
-	  (1.13), equality1.cc (1.18), expandspacedim1.cc (1.6),
-	  foldspacedims1.cc (1.8), frompolyhedron1.cc (1.7),
-	  generalizedaffineimage1.cc (1.19), generalizedaffineimage2.cc
-	  (1.23), generalizedaffinepreimage1.cc (1.17),
-	  generalizedaffinepreimage2.cc (1.18),
-	  generalizedaffinepreimage3.cc (1.8), geomcovers1.cc (1.12),
-	  limitedbhmz05extrapolation1.cc (1.16),
-	  limitedcc76extrapolation1.cc (1.17), membytes1.cc (1.5),
-	  minconstraints1.cc (1.13), removespacedims1.cc (1.22),
-	  timeelapse1.cc (1.22): A first go at naming variables properly.
-
-2008-02-29 Friday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: generalizedaffineimage1.cc (1.13),
-	  generalizedaffineimage2.cc (1.3): Always the check_result()
-	  function to check results.
-
-2008-02-29 Friday 07:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boundedaffineimage1.cc (1.11): test09() and test10()
-	  cause overflows with 32-bit or narrower coefficients.
-
-2008-02-28 Thursday 23:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: addconstraints1.cc (1.12), addspacedims1.cc (1.7),
-	  affineimage1.cc (1.10), affinepreimage1.cc (1.7),
-	  boundedaffineimage1.cc (1.10), boxdifference1.cc (1.8),
-	  boxhull1.cc (1.7), cc76narrowing1.cc (1.7), cc76widening.cc
-	  (1.8), concatenate1.cc (1.8), congruences1.cc (1.3),
-	  constraints1.cc (1.11), frombdshape1.cc (1.4), fromgensys1.cc
-	  (1.6), generalizedaffineimage1.cc (1.12),
-	  generalizedaffineimage2.cc (1.2), generalizedaffinepreimage1.cc
-	  (1.7), intersection1.cc (1.8), mapspacedims1.cc (1.7), refine1.cc
-	  (1.12), refine3.cc (1.4), removespacedims1.cc (1.9),
-	  timeelapse1.cc (1.8): Always use check_result() to check for
-	  correctness of the results.
-
-2008-02-28 Thursday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: bdsdifference1.cc (1.7), boxhull.cc (1.6): Unwanted
-	  file removed.
-
-2008-02-28 Thursday 22:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/timeelapse1.cc (1.7): Comments fixed.
-
-2008-02-28 Thursday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: addconstraints1.cc (1.11), addspacedims1.cc (1.6),
-	  affineimage1.cc (1.9), affinepreimage1.cc (1.6),
-	  expandspacedim1.cc (1.8), foldspacedims1.cc (1.9), geomcovers1.cc
-	  (1.6), mapspacedims1.cc (1.6), removespacedims1.cc (1.8): Do not
-	  name something `box1' if there is no `box2' in sight.
-
-2008-02-28 Thursday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.99): All other things being equal, always
-	  prefer preincrement and predecrement to postincrement and
-	  postdecrement.
-
-2008-02-28 Thursday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.defs.hh (1.23): Spurious semicolon
-	  removed.
-
-2008-02-28 Thursday 21:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.46), Box.templates.hh (1.98): Meaningless
-	  type qualifiers removed.
-
-2008-02-28 Thursday 21:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.45): Indentation fixed.  Spurious semicolon
-	  and useless namespace enclosure removed.
-
-2008-02-28 Thursday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.44), Box.inlines.hh (1.25), Box.templates.hh
-	  (1.97), Box_Status.idefs.hh (1.2), Box_Status.inlines.hh (1.2):
-	  The Box class now uses (badly) the new Status member instead of
-	  the old two booleans.
-
-2008-02-28 Thursday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.96): Initialize a local variable in
-	  generalized_affine_image so as to avoid an annoying warning.
-
-2008-02-28 Thursday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/generalizedaffineimage1.cc (1.11): Avoid long lines.
-
-2008-02-28 Thursday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/boundedaffineimage1.cc (1.9): Corrected known result
-	  for test03: no approximation is needed in this case.	Computed
-	  distances between known and computed result for test10.
-
-2008-02-28 Thursday 17:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.95): Fixed an error in
-	  l_m_distance_assign.
-
-2008-02-28 Thursday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: boundedaffineimage1.cc (1.8),
-	  generalizedaffineimage1.cc (1.10): Expected results revised.
-	  Notive that test10() in boundedaffineimage1.cc shows there is a
-	  bug in check_result().
-
-2008-02-28 Thursday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.86), devref.doxyconf-latex.in
-	  (1.25): Mention input files math_utilities.*.
-
-2008-02-28 Thursday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: globals.cc (1.33), math_utilities.inlines.hh (1.2):
-	  Implementation of function is_canonical() is now inlines and in a
-	  proper place.
-
-2008-02-28 Thursday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/math_utilities.inlines.hh (simplex.1): file
-	  math_utilities.inlines.hh was added on branch simplex on
-	  2008-06-06 14:22:05 +0000
-
-2008-02-28 Thursday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.207): Reference CC79 added.
-
-2008-02-28 Thursday 10:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/: boundedaffineimage1.cc (1.7),
-	  generalizedaffineimage1.cc (1.9): Revised expected results to
-	  allow for inexact computations.
-
-2008-02-28 Thursday 10:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.18): Minor typo corrected in docs.
-
-2008-02-28 Thursday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.67): Indentation fixed.
-
-2008-02-25 Monday 11:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.94), src/Polyhedron_public.cc (1.109),
-	  tests/Box/Makefile.am (1.52),
-	  tests/Box/generalizedaffineimage1.cc (1.8),
-	  tests/Box/generalizedaffineimage2.cc (1.1): Added implementation
-	  for generalized_affine_image/3 Tests added and existing tests
-	  revised.
-
-	  Indentation corrected in src/Polyhedron_public.cc.
-
-2008-02-22 Friday 23:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron_public.cc (1.108),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.14): Fixed bug
-	  indicated in previous commit.  Added two further tests to
-	  tests/Polyhedron/boundedaffineimage1.cc to cover more cases of
-	  positive and negative denominator.
-
-2008-02-22 Friday 13:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.93): Use temporaries more in the
-	  bounded_affine_image/4 code..
-
-2008-02-22 Friday 12:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.92), tests/Box/Makefile.am (1.51),
-	  tests/Box/boundedaffineimage1.cc (1.6),
-	  tests/Box/generalizedaffineimage1.cc (1.7): First draft of code
-	  for generalized_affine_image/4 and bounded_affine_image/4.
-
-	  Tests revised and also enabled in Makefile.am.
-
-2008-02-22 Friday 12:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/boundedaffineimage1.cc (1.13): Added a test04
-	  that shows a bug in bounded_affine_image().
-
-2008-02-21 Thursday 13:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-c-interface.doxyconf-html.in (1.6),
-	  devref-c-interface.doxyconf-latex.in (1.6),
-	  devref-c-interface.tex (1.4),
-	  devref-prolog-interface.doxyconf-html.in (1.5),
-	  devref-prolog-interface.doxyconf-latex.in (1.5),
-	  devref.doxyconf-html.in (1.85), devref.doxyconf-latex.in (1.24),
-	  devref.tex (1.25), fdl.dox (1.8), gpl.dox (1.9),
-	  user-c-interface.doxyconf-html.in (1.7),
-	  user-c-interface.doxyconf-latex.in (1.7), user-c-interface.tex
-	  (1.4), user-prolog-interface.doxyconf-html.in (1.6),
-	  user-prolog-interface.doxyconf-latex.in (1.6),
-	  user-prolog-interface.tex (1.4), user.doxyconf-html.in (1.42),
-	  user.doxyconf-latex.in (1.13), user.tex (1.26): Modified
-	  configuration files for the HTML versions of foreign language
-	  interface manuals so that they will always include a new copy of
-	  the GPL and GFDL licenses.  Creating a documentation page in
-	  Doxygen using command \page does not produces a referenceable
-	  anchor: hence, explicitly added commands \anchor to gpl.dox and
-	  fdl.dox; modified main *.tex pages so as to proper reference
-	  these anchors (thereby solving a long standing issue).  All
-	  Doxygen configuration files upgraded to version 1.5.5.
-
-2008-02-19 Tuesday 22:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.29), ppl_interface_generator_ocaml_ml_code.m4 (1.24),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.18): Added the
-	  Tuareg emacs mode at the start of the ml and mli files and the
-	  C++ mode at the start of the cc file.  These then used to help
-	  improved some formatting.
-
-2008-02-19 Tuesday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.40), Octagonal_Shape.inlines.hh
-	  (1.28), Octagonal_Shape.templates.hh (1.66), Og_Status.idefs.hh
-	  (1.10): Added methods to operate on the status.
-
-2008-02-19 Tuesday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.113): Comment improved.
-
-2008-02-19 Tuesday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.43), Box.templates.hh (1.91): Added a (still
-	  unused) status member.
-
-2008-02-19 Tuesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.112), BD_Shape.inlines.hh (1.157),
-	  BD_Shape.templates.hh (1.92): Added methods to operate on the
-	  status.
-
-2008-02-19 Tuesday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BDS_Status.idefs.hh (1.24): Comment improved.
-
-2008-02-19 Tuesday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box_Status.idefs.hh (1.1), Box_Status.inlines.hh (1.1),
-	  Makefile.am (1.179): Declaration and definitions of the class
-	  Box<Interval>::Status.
-
-2008-02-19 Tuesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BDS_Status.idefs.hh (1.23), BDS_Status.inlines.hh (1.19),
-	  Grid_Status.idefs.hh (1.9), Og_Status.idefs.hh (1.9),
-	  Ph_Status.idefs.hh (1.23): Multiple inclusion guards fixed.
-
-2008-02-19 Tuesday 13:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.42), Partially_Reduced_Product.defs.hh
-	  (1.22): Fixed a bunch of Doxygen related errors and warnings.
-
-2008-02-17 Sunday 22:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron_public.cc (1.107): Small improvement to code for
-	  relation_with(Congruence).
-
-2008-02-17 Sunday 00:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.70): Enable
-	  relation_with() for a congruence for the weakly relational
-	  domains in all the interfaces.
-
-2008-02-16 Saturday 23:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.90), tests/Box/relations4.cc (1.3):
-	  Improved code changed for 0-dimensional box domains for
-	  relation_with() for a congruence.  Added a test to check this
-	  change.
-
-2008-02-16 Saturday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/relations4.cc (simplex.1): file relations4.cc was added
-	  on branch simplex on 2008-06-06 14:22:10 +0000
-
-2008-02-16 Saturday 23:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.69),
-	  src/Box.templates.hh (1.89), tests/Box/relations4.cc (1.2):
-	  Enabled the relation_with() for box domains in all the
-	  interfaces.
-
-	  The Prolog generated tests showed a bug in the code for the zero
-	  dimensional empty Box - now tested in relations 4.cc.
-
-	  The bug has been fixed.
-
-2008-02-16 Saturday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.inlines.hh (1.34), Interval_Info.defs.hh (1.7):
-	  Properly comment the closing brace of namespaces.  When used in
-	  templates, Parma_Polyhedra_Library::used() should be fully
-	  qualified.
-
-2008-02-16 Saturday 15:28  Abramo Bagnara
-
-	* src/Interval.defs.hh (1.55): Some fixes to refine_universal.
-	  Added unrepresentability_error check.
-
-2008-02-16 Saturday 15:04  Abramo Bagnara
-
-	* src/Boundary.defs.hh (1.11): Propagate unrepresentability error
-	  insted of aborting.
-
-2008-02-16 Saturday 13:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.defs.hh (1.41), src/Box.templates.hh (1.88),
-	  tests/Box/Makefile.am (1.50), tests/Box/relations4.cc (1.1):
-	  Renamed private method interval_relation_no_check() as
-	  interval_relation() as there is now nothing that is unchecked.
-	  Added relation_with() for congruences for Boxes.
-
-2008-02-16 Saturday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/membytes1.cc (1.6): Test rewritten.
-
-2008-02-16 Saturday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.49): Do test also with membytes1.cc.
-
-2008-02-15 Friday 18:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.87): Corrected a bug in an assignment in
-	  relation_with().
-
-2008-02-15 Friday 15:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.86), tests/Box/relations3.cc (1.3): Bug
-	  identified in previous commit, fixed.
-
-2008-02-15 Friday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/relations3.cc (1.2): Extra test shows a bug in the
-	  relation_with() for congruences for a non-relational,
-	  1-dimensional box and constraint.
-
-2008-02-15 Friday 12:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: C/ppl_interface_generator_c_cc_code.m4 (1.30),
-	  C/ppl_interface_generator_c_h_code.m4 (1.20),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.47), Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.64):
-	  Include emacs mode at the top of the code files.  A few minor
-	  bugs fixed and for Prolog and C files, indentation improved using
-	  emacs.
-
-2008-02-15 Friday 11:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.36): Missing change for uniformity of m4 files, related to the
-	  previous two commits.
-
-2008-02-15 Friday 10:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.16):
-	  Add a copyright notice to the generated file.
-
-2008-02-15 Friday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
-	  (simplex.1): file
-	  ppl_interface_generator_ocaml_procedure_generators.m4 was added
-	  on branch simplex on 2008-06-06 14:22:00 +0000
-
-2008-02-15 Friday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
-	  (simplex.1): file
-	  ppl_interface_generator_prolog_procedure_generators.m4 was added
-	  on branch simplex on 2008-06-06 14:22:00 +0000
-
-2008-02-15 Friday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
-	  (simplex.1): file
-	  ppl_interface_generator_java_procedure_generators.m4 was added on
-	  branch simplex on 2008-06-06 14:21:58 +0000
-
-2008-02-15 Friday 10:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.32),
-	  ppl_interface_generator_common_dat.m4 (1.68),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.14),
-	  C/ppl_interface_generator_c_cc.m4 (1.16),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.29),
-	  C/ppl_interface_generator_c_h.m4 (1.16),
-	  C/ppl_interface_generator_c_h_code.m4 (1.19),
-	  C/ppl_interface_generator_c_procedure_generators.m4 (1.5),
-	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.6),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.13),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.46), OCaml/ppl_interface_generator_ocaml_cc.m4 (1.9),
-	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.28),
-	  OCaml/ppl_interface_generator_ocaml_ml.m4 (1.14),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.23),
-	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.12),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.17),
-	  OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
-	  (1.4), Prolog/ppl_interface_generator_prolog_icc.m4 (1.15),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.63),
-	  Prolog/ppl_interface_generator_prolog_procedure_generators.m4
-	  (1.2), Prolog/ppl_interface_generator_prolog_systems.m4 (1.14),
-	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.8),
-	  Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (1.9), Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 (1.8),
-	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.12),
-	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.15),
-	  Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.9),
-	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.11),
-	  Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (1.10), Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.9),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.74),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.35): Include a description of what the m4 code is for in each
-	  file.  Improved other details to make the code more uniform
-	  across all interfaces and all the different m4 file generators.
-
-	  Included the copyright notice in more of the generated files.
-
-2008-02-14 Thursday 22:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Box.defs.hh (1.40), Box.templates.hh (1.85): The
-	  Constraint::Type is passed as a parameter to
-	  interval_relation_no_check() instead of the Relation_Symbol.
-
-2008-02-14 Thursday 18:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Box.defs.hh (1.39), Box.templates.hh (1.84): In the code
-	  for relation_with() for constraints, avoid reconstructing the
-	  constraint only for the private method that implements the main
-	  cases to have to deconstruct the constraint.	Comments improved.
-
-2008-02-14 Thursday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.hh (1.34): The out-of-range
-	  test in
-
-	    template <typename U, typename V> U jtype_to_unsigned(const V&)
-
-	  was indeed necessary.  Restored, but in a more efficient and
-	  warning-free way.
-
-2008-02-14 Thursday 13:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.83): Parameter renamed.  Avoid to declare
-	  things that are only used in assertions, unless everything is
-	  within #ifndef NDEBUG / #endif.
-
-2008-02-14 Thursday 12:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.defs.hh (1.38), src/Box.templates.hh (1.82),
-	  tests/Box/Makefile.am (1.48), tests/Box/relations2.cc (1.5),
-	  tests/Box/relations3.cc (1.1): Completed implementation for
-	  relation_with(Constraint) for a Box when the constraint is not an
-	  interval constraint.	Tests added for this case.
-
-	  The implementation is split between a private method that finds
-	  the relation between an interval and a one dimensional constraint
-	  and the public method for any box and any constraint.
-
-2008-02-14 Thursday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.45),
-	  ppl_java_common.hh (1.33): template <typename U, typename V> U
-	  jtype_to_unsigned(const V&) was unnecessarily complex and
-	  generated an annoying warning: fixed.
-
-2008-02-13 Wednesday 12:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.67): Spelling
-	  corrected.
-
-	  Previous commit change: removed redundant code and simplified
-	  code for the disjunct replacement.
-
-2008-02-13 Wednesday 12:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.66),
-	  src/Partially_Reduced_Product.inlines.hh (1.21),
-	  tests/Grid/partiallyreducedproduct4.cc (1.2): Fixed the bug
-	  indicated by the tests added in the previous commit.	Ensure that
-	  emptiness is always shared between the components for the
-	  Constraints_Product product_reduce().
-
-2008-02-13 Wednesday 09:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.60), partiallyreducedproduct4.cc
-	  (1.1): Two tests indicate bugs for Constraints_Product when a
-	  component is a box.
-
-2008-02-13 Wednesday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Integer.hh (1.7), Makefile.am (1.178), Row.inlines.hh
-	  (1.68), globals.defs.hh (1.55), globals.inlines.hh (1.23): Header
-	  file reorganization consequent to the introduction of
-	  math_utilities.*.
-
-2008-02-13 Wednesday 08:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.inlines.hh (1.79), checked.inlines.hh
-	  (1.42): Redundant memory size inspection functions removed from
-	  the Checked namespace.
-
-2008-02-13 Wednesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: math_utilities.defs.hh (1.1), math_utilities.inlines.hh
-	  (1.1): New sources containing some math utility functions
-	  previously in globals.*.
-
-2008-02-13 Wednesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/math_utilities.defs.hh (simplex.1): file
-	  math_utilities.defs.hh was added on branch simplex on 2008-06-06
-	  14:22:05 +0000
-
-2008-02-12 Tuesday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.81): Several improvements in
-	  Box<Interval>::relation_with(const Constraint&).
-
-2008-02-12 Tuesday 21:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.80): Drafted the first part of the code
-	  required so that Box<Interval>::relation_with(const Constraint&
-	  c) does the right thing whatever is the form of `c'.
-
-2008-02-12 Tuesday 21:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.inlines.hh (1.33): Silenced a warning.
-
-2008-02-12 Tuesday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.177), Rational_Box.hh (1.8): Rational_Box is
-	  now Box<Rational_Interval>.
-
-2008-02-12 Tuesday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rational_Interval.hh (1.1): Rational_Interval is an internal
-	  class implementing an interval with rational, possibly open
-	  boundaries.
-
-2008-02-12 Tuesday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rational_Interval.hh (simplex.1): file Rational_Interval.hh
-	  was added on branch simplex on 2008-06-06 14:22:05 +0000
-
-2008-02-12 Tuesday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: checked_mpq.inlines.hh (1.46), checked_mpz.inlines.hh
-	  (1.53), meta_programming.hh (1.11): More Is_Native
-	  specializations moved to meta_programming.hh.
-
-2008-02-12 Tuesday 18:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.73): Avoid some annoying warning messages.
-
-2008-02-12 Tuesday 18:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.65),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.13),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.72): Enable the memory_in_bytes methods for pointset_powersets
-	  of boxes and for products with boxes as components.
-
-	  The Prolog tests expected results have to allow for any
-	  Uint*_Box.
-
-2008-02-12 Tuesday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.303): Allow digits in the computation of
-	  `required_instantiations_java_sources'.
-
-2008-02-12 Tuesday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/GMP_Integer.defs.hh (1.29): Previous commit completed.
-
-2008-02-12 Tuesday 12:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GMP_Integer.inlines.hh (1.24), Interval.inlines.hh (1.32),
-	  checked_mpq.inlines.hh (1.45), checked_mpz.inlines.hh (1.52),
-	  globals.defs.hh (1.54), globals.inlines.hh (1.22): Moved all the
-	  memory occupation inspection functions to globals.*.	In
-	  GMP_Integer.defs.hh we keep the declarations of memory_size_type
-	  total_memory_in_bytes(const GMP_Integer& x) and memory_size_type
-	  external_memory_in_bytes(const GMP_Integer& x), in order to obey
-	  the rule "every public PPL object has memory inspection
-	  functions."  However, not to confuse Doxygen with (apparently)
-	  duplicated documentation, the documentation of the declarations
-	  in GMP_Integer.defs.hh is controlled by #ifndef
-	  PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS.
-
-2008-02-12 Tuesday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: globals.defs.hh (1.53), globals.inlines.hh (1.21): Added
-	  template <typename T> memory_size_type
-	  external_memory_in_bytes(const T&) enabled for all native types
-	  T.
-
-2008-02-12 Tuesday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: checked.defs.hh (1.45), checked_float.inlines.hh (1.84),
-	  checked_int.inlines.hh (1.66), meta_programming.hh (1.10): Moved
-	  the definitions for Is_Native to meta_programming.hh.
-
-2008-02-12 Tuesday 09:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.64),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.12),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.71), Prolog/tests/ppl_predicate_check_common.pl (1.10): A
-	  couple of bugs in the m4 code fixed Enabled the generation of a
-	  few more procedures for certain domains.
-
-	  A bug in the Prolog test files fixed.
-
-2008-02-11 Monday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.97): Let
-	  external_memory_in_bytes(const Checked_Number<T, Policy>&) return
-	  memory_size_type, not size_t.
-
-2008-02-11 Monday 12:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.37), Box.inlines.hh (1.24), Box.templates.hh
-	  (1.79): Added Box<Interval>::total_memory_in_bytes() and
-	  Box<Interval>::memory_size_type external_memory_in_bytes().
-
-2008-02-11 Monday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.defs.hh (1.54), Interval.inlines.hh (1.31): Added
-	  Interval<Boundary, Info>::external_memory_in_bytes() and
-	  Interval<Boundary, Info>::total_memory_in_bytes().
-
-2008-02-11 Monday 10:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.36), Box.templates.hh (1.78): Adde
-	  Box<Interval>::topological_closure_assign().
-
-2008-02-11 Monday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.53): Added void Interval<Boundary,
-	  Info>::topological_closure_assign().
-
-2008-02-11 Monday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.77): Optimized bool
-	  Box<Interval>::is_topologically_closed() const: if
-	  !Interval::info_type::store_open, then the box is certainly
-	  topologically closed.
-
-2008-02-10 Sunday 22:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* instchk.hh (1.15),
-	  interfaces/ppl_interface_generator_common_dat.m4 (1.63),
-	  interfaces/C/Makefile.am (1.40),
-	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.15),
-	  interfaces/Java/jni/Makefile.am (1.18),
-	  interfaces/Java/jni/ppl_java_common.hh (1.32),
-	  interfaces/OCaml/Makefile.am (1.38),
-	  interfaces/OCaml/ppl_ocaml_globals.cc (1.13),
-	  interfaces/Prolog/ppl_prolog_common.icc (1.15): Enable all 13
-	  types of boxes in interfaced_boxes.hh for all the interfaces, as
-	  they are or as disjuncts to the powerset domain or as components
-	  of the product domain.
-
-	  instchk.hh allows for all of these boxes to be arguments to
-	  "-instantiations" in the configuration.
-
-	  Macro m4_get_class_index name changed to m4_get_class_counter so
-	  that the word "counter" is used consistently for the number
-	  associated to the class being generated.
-
-2008-02-08 Friday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/interfaced_boxes.hh (1.4): Added declarations for the
-	  native integer boxes.
-
-2008-02-08 Friday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/interfaced_boxes.hh (simplex.1): file
-	  interfaced_boxes.hh was added on branch simplex on 2008-06-06
-	  14:21:57 +0000
-
-2008-02-08 Friday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: interfaced_boxes.hh (1.3),
-	  Prolog/ppl_prolog_common.icc (1.14), Prolog/Ciao/Makefile.am
-	  (1.72), Prolog/GNU/Makefile.am (1.70), Prolog/SICStus/Makefile.am
-	  (1.86), Prolog/SWI/Makefile.am (1.82), Prolog/XSB/Makefile.am
-	  (1.62), Prolog/YAP/Makefile.am (1.59): Include
-	  interfaced_boxes.hh into all Prolog interfaces.
-
-2008-02-08 Friday 14:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/interfaced_boxes.hh (1.2): Fixed a missing ">".
-
-2008-02-08 Friday 13:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.62): Minor
-	  technical improvements to the m4 code.
-
-2008-02-08 Friday 13:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: Makefile.am (1.31), interfaced_boxes.hh (1.1): New
-	  header file (to be completed) providing declarations for the Box
-	  instantiations offered by the foreign interfaces.
-
-2008-02-08 Friday 13:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.31),
-	  ppl_interface_generator_common_dat.m4 (1.61): In the last commit,
-	  the message said  "the change has   a "fixme" since this
-	  indicates that the way the replacements for all   patterns is
-	  handled needs improving and that this local change   should be
-	  made more general." This is now fixed and the main replacement
-	  macros now incorporate this improvement.
-
-	  Improved the specification of the replacements for the binary
-	  operators for the Pointset_Powerset domains.
-
-	  A few minor improvements to avoid unnecessary computations.
-
-2008-02-08 Friday 11:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.30),
-	  ppl_interface_generator_common_dat.m4 (1.60): The code for
-	  intersecting sequences of comma separated strings improved so
-	  that the same basic code is used for intersecting both 2
-	  sequences and 3 sequences.
-
-	  The last changes introduced a bug for some products (such as Grid
-	  x BD_Shape<...> products. This is now fixed, but the change has a
-	  "fixme" since this indicates that the way the replacements for
-	  all patterns is handled needs improving and that this local
-	  change should be made more general.
-
-2008-02-07 Thursday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.52): Added the documentation for the
-	  difference_assign() methods.
-
-2008-02-07 Thursday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.templates.hh (1.76), Interval.defs.hh (1.51),
-	  Interval.inlines.hh (1.30): Added declarations and empty
-	  implementations for Interval<To_Boundary,
-	  To_Info>::difference_assign(const From&) and
-	  Interval<To_Boundary, To_Info>::difference_assign(const From1&,
-	  const From2&).
-
-2008-02-07 Thursday 15:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Bit_Row.defs.hh (1.10), Bit_Row.inlines.hh (1.7): Added
-	  void set_difference(const Bit_Row&, const Bit_Row&, Bit_Row&).
-
-2008-02-07 Thursday 10:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.29),
-	  ppl_interface_generator_common_dat.m4 (1.59),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.11):
-	  Enabled the Pointset_Powerset domain to have a Rational_Box as
-	  the disjunct and the Product domains to have a Rational_Box as
-	  one of its component domains in all the interfaces.
-
-	  To allow for a number of missing methods in the Box domain that
-	  cannot therefore be provided in any product domain that has the
-	  Box as a component, defined two generic macros in
-	  ppl_interface_generator_common.m4 that intersect sequences of
-	  comma-separated strings: one that intersects two sequences and
-	  one that intersects three sequences.
-
-	  Also now support a new notation in a procedure string - e.g.,
-	  "?box" means don't include this procedure for any product that
-	  has Box as one of its components.  This option may be removed in
-	  the future and its use avoided by using the sequence intersection
-	  macros described above.
-
-2008-02-07 Thursday 07:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.35): Fixed the documentation of
-	  set_interval(Variable, const Interval&).
-
-2008-02-05 Tuesday 15:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* instchk.hh (1.14): The instantiations configuration options now
-	  include Rational_Box.
-
-2008-02-05 Tuesday 15:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.58),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.10),
-	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.5):
-	  The interfaces now support Rational_Box as a simple class for
-	  most of the procedures.  Powersets and Products with a Box as a
-	  base domain still to be checked.
-
-2008-02-05 Tuesday 14:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.75): Fixed method
-	  Box<I>::concatenate_assign(const Box&).
-
-2008-02-05 Tuesday 09:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/concatenate1.cc (1.7): Added test06 which shows an
-	  assertion failure when executing concatenate_assign() in the Box
-	  domain.
-
-2008-02-04 Monday 12:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.28),
-	  ppl_interface_generator_common_dat.m4 (1.57): Fixed some bugs,
-	  simplified and improved some code and improved the documentation
-	  for new and changed the macros.
-
-	  Now the interfaces compile and tests run ok with all
-	  Pointset_Powersets of polyhedra, weakly relational domains and
-	  grids.  Also the interfaces compile and tests run ok with any
-	  products of the same domains.
-
-2008-02-01 Friday 17:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.27),
-	  ppl_interface_generator_common_dat.m4 (1.56),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.9),
-	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.27),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.22),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.16),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.62):
-	  Interface code revised so as to handle powersets of weakly
-	  relational domain elements. More tests are still needed.  The new
-	  m4 code in ppl_interface_generator_common_dat.m4 will be
-	  documentated later.
-
-2008-02-01 Friday 12:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons2.cc (1.10): Tests uncommented
-	  (apparently they were commented out by mistake on April 3, 2007).
-
-2008-02-01 Friday 10:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.235), src/BD_Shape.defs.hh (1.111),
-	  src/BD_Shape.templates.hh (1.91), src/Octagonal_Shape.defs.hh
-	  (1.39), src/Octagonal_Shape.templates.hh (1.65),
-	  tests/BD_Shape/relations3.cc (1.28),
-	  tests/Octagonal_Shape/relatwithcons2.cc (1.9): Added methods
-	  relation_with() for congruences to the Octagonal_Shape and
-	  BD_Shape domains.
-
-	  Added notes wrt these and the relation_with() for costraints in
-	  the TODO file.
-
-	  Exception throwers throw_dimension_incompatible() for congruences
-	  added to both these domains.
-
-2008-01-31 Thursday 15:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.26),
-	  ppl_interface_generator_common_dat.m4 (1.55),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.8),
-	  C/ppl_interface_generator_c_procedure_generators.m4 (1.4),
-	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.4),
-	  OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
-	  (1.3), Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.61),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.70): Now allow the list of procedure names for generation to
-	  have an optional "\" before a group name "g" which is meant to be
-	  used only in conjunction with the powerset domain, and to mean
-	  -don't generate code if the powerset's disjunct is in "g"-.  This
-	  is needed to avoid generating linear_partition code when the
-	  disjunct is Grid and similarly approximate_partition code when
-	  the disjunct is C_ or NNC_Polyhedron.
-
-	  The Powerset of Grids in all the interfaces now compiles and the
-	  compiled code passes all the tests in Java and Prolog interfaces.
-
-	  Added to the todo lists in the procedure_generator m4 files for
-	  C, Java and Ocaml, the approximate_partition procedure for
-	  powersets of grids.
-
-2008-01-31 Thursday 09:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.54),
-	  interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.7), interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.28),
-	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.18),
-	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
-	  (1.3),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.44),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.27), interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
-	  (1.26), interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
-	  (1.21),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
-	  (1.15),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.60),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.69), src/Partially_Reduced_Product.defs.hh (1.21),
-	  src/Partially_Reduced_Product.inlines.hh (1.20),
-	  src/Pointset_Powerset.inlines.hh (1.13): Added hash_code() to the
-	  pointset_powerset and partially_reduced_product domains.  Enable
-	  this in the Java interface for all the domains.  Also enable in
-	  the Java interface the string() method for all the domains, so as
-	  to include the product domains.
-
-	  Added methods for external/total_memory_in_bytes for all the
-	  domains and to all the interfaces.  Existing tests for size() for
-	  prolog and java now use the MEMBYTES pattern instead so as to
-	  test all the replacements for MEMBYTES.
-
-	  These with the size() method (for the pointset_powerset domains)
-	  are all generated from a single "pattern" "MEMBYTES", defined in
-	  interfaces/ppl_interface_generator_common_dat.m4.
-
-	  Added methods for external/total_memory_in_bytes for all the
-	  domains and to all the interfaces.
-
-	  Existing tests for size() for prolog and java now use the
-	  MEMBYTES pattern instead so as to test all its replacements.
-
-	  These with the size() method (for the pointset_powerset domains)
-	  are all generated from a single "pattern" "MEMBYTES", defined in
-	  interfaces/ppl_interface_generator_common_dat.m4.
-
-2008-01-30 Wednesday 18:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.226),
-	  interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.6), interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.27),
-	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.17),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.43),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.26), interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
-	  (1.25), interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
-	  (1.20),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
-	  (1.14),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
-	  (1.2),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.59),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.68), src/Partially_Reduced_Product.inlines.hh (1.19):
-	  Corrected a missing "+" in
-	  interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  which caused some interface predicates not to be generated.
-
-	  Added add_constraint_and_minimize() and
-	  add_constraint_and_minimize() to the Partially_Reduced_Product
-	  domain.
-
-	  In the interfaces, the interface procedures for
-	  ppl_Grid_generalized_image_lhs_rhs/5 and
-	  ppl_Grid_generalized_preimage_lhs_rhs/5
-	  ppl_Grid_generalized_image/6 and
-	  ppl_Grid_generalized_preimage/6    have been renamed as
-	  ppl_Grid_generalized_image_lhs_rhs_with_congruence/5
-	  ppl_Grid_generalized_preimage_lhs_rhs_with_congruence/5
-	  ppl_Grid_generalized_image_with_congruence/6
-	  ppl_Grid_generalized_preimage_with_congruence/6    so as to allow
-	  for /4 and /5, resp., versions
-
-	  (This change also reported in "News").
-
-	  Tidied and commented the procedure list in
-	  interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  so that where not "+all" domains are implemented in the
-	  interfaces, comments explain further.
-
-	  A few remaining procedures that can be enabled for products
-	  and/or powersets in the interfaces have been enabled.
-
-	  Added two "todo" procedures to the OCaml list of procedure
-	  generators.
-
-2008-01-30 Wednesday 12:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.5), src/Pointset_Powerset.defs.hh (1.30),
-	  src/Pointset_Powerset.inlines.hh (1.12),
-	  src/Pointset_Powerset.templates.hh (1.26),
-	  tests/Polyhedron/pointsetpowerset5.cc (1.2): Added methods for
-	  expand_space_dimension() and fold_space_dimensions() and
-	  constructor from a box, for the pointset_powerset domain.
-
-	  Added tests for add and remove (higher) space dimensions for the
-	  powerset domain as well as tests for the new methods.
-
-	  Enabled the corresponding procedures in all the interfaces.
-
-2008-01-30 Wednesday 09:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.53),
-	  interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.4), src/Partially_Reduced_Product.defs.hh (1.20),
-	  src/Partially_Reduced_Product.inlines.hh (1.18),
-	  tests/Grid/directproduct3.cc (1.17): Enabled a few more
-	  procedures in the interfaces for the product domain.
-
-	  Added to all the interfaces (including C++) the
-	  intersection_assign_and_minimize() procedure for the
-	  partially_reduced_product domains for uniformity with the other
-	  domains.
-
-2008-01-30 Wednesday 08:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.67): Bug in generated test file for the product domain fixed.
-
-2008-01-29 Tuesday 22:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.25),
-	  ppl_interface_generator_common_dat.m4 (1.52),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.3),
-	  C/ppl_interface_generator_c_cc.m4 (1.14),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.66): Improved the definitions of the product domains so that
-	  the list of different product domains occurs just once in the m4
-	  code.
-
-	  Almost all the methods/procedures appropriate for the product
-	  domains are now enabled in all the interfaces.
-
-	  Bug in the generated tests in ppl_predicate_check_test.pl for the
-	  product domain still to be checked and fixed.
-
-2008-01-29 Tuesday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* instchk.hh (1.13),
-	  interfaces/ppl_interface_generator_common_dat.m4 (1.51),
-	  interfaces/ppl_interface_generator_common_procedure_generators.m4
-	  (1.2), interfaces/C/ppl_interface_generator_c_cc.m4 (1.13),
-	  interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
-	  (1.2): Enabled the product domains; building from space
-	  dimensions, other products, constraints and congruences.  Enable
-	  the OK check and the free() method for Java.
-
-	  Allow the configuration to include instantiations for the
-	  Direct_Product, Smash_Product and Constraints_Product domains
-	  with simple arguments.
-
-	  Every interface tested for just the instantiation
-	  Direct_Product<C_Polyhedron,Grid>
-
-2008-01-29 Tuesday 08:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_c.h.in (1.76): Previous change unintended -
-	  revert to previous version.
-
-2008-01-28 Monday 15:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.26),
-	  ppl_interface_generator_c_h_code.m4 (1.16),
-	  ppl_interface_generator_c_procedure_generators.m4 (1.3): In the C
-	  interface, added (m4) implementation code for add_disjunct.
-	  Remove done items from "todo" list.
-
-2008-01-28 Monday 14:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.25),
-	  ppl_interface_generator_c_h_code.m4 (1.15),
-	  ppl_interface_generator_c_procedure_generators.m4 (1.2): Added to
-	  the C interface the m4 code for drop_disjuncts.
-
-2008-01-28 Monday 14:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.24),
-	  ppl_interface_generator_c_h_code.m4 (1.14): Added to the C
-	  interface procedures for Pointset_Powerset (const) iterators:
-	  increment, decrement, equals, begin and end.
-
-2008-01-28 Monday 12:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.23),
-	  ppl_interface_generator_c_h_code.m4 (1.13): Added to the C
-	  interface the ppl_ at CLASS@_size method.
-
-2008-01-28 Monday 12:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: Makefile.am (1.30),
-	  ppl_interface_generator_common_procedure_generators.m4 (1.1),
-	  ppl_interface_generator_common_procedure_list.m4 (1.5),
-	  C/Makefile.am (1.39), C/ppl_c.h.in (1.75),
-	  C/ppl_interface_generator_c_all_dat.m4 (1.2),
-	  C/ppl_interface_generator_c_cc.m4 (1.12),
-	  C/ppl_interface_generator_c_h.m4 (1.15),
-	  C/ppl_interface_generator_c_procedure_generators.m4 (1.1),
-	  Java/Makefile.am (1.16),
-	  Java/ppl_interface_generator_java_all_dat.m4 (1.3),
-	  Java/ppl_interface_generator_java_procedure_generators.m4 (1.1),
-	  Java/jni/Makefile.am (1.17),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.12), Java/tests/Makefile.am (1.19),
-	  Java/tests/ppl_interface_generator_java_test_java.m4 (1.15),
-	  OCaml/Makefile.am (1.37),
-	  OCaml/ppl_interface_generator_ocaml_all_dat.m4 (1.2),
-	  OCaml/ppl_interface_generator_ocaml_cc.m4 (1.8),
-	  OCaml/ppl_interface_generator_ocaml_ml.m4 (1.13),
-	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.11),
-	  OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
-	  (1.1), Prolog/Makefile.am (1.47),
-	  Prolog/ppl_interface_generator_prolog_all_dat.m4 (1.2),
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.14),
-	  Prolog/ppl_interface_generator_prolog_procedure_generators.m4
-	  (1.1), Prolog/ppl_interface_generator_prolog_systems.m4 (1.13),
-	  Prolog/Ciao/Makefile.am (1.71), Prolog/GNU/Makefile.am (1.69),
-	  Prolog/SICStus/Makefile.am (1.85), Prolog/SWI/Makefile.am (1.81),
-	  Prolog/XSB/Makefile.am (1.61), Prolog/YAP/Makefile.am (1.58),
-	  Prolog/tests/Makefile.am (1.20),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.34): Renamed the files containing the schematic lists of
-	  procedures so that the common tail is "procedure_generators.m4".
-
-2008-01-28 Monday 11:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_procedure_list.m4
-	  (1.4), Java/ppl_interface_generator_java_dat.m4 (1.15),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.42), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.24),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.19),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.13): Fixed
-	  bugs wrt the pointset powerset caused by the previous commit
-	  domain in the OCaml and Java interfaces.
-
-2008-01-27 Sunday 21:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.50),
-	  ppl_interface_generator_common_procedure_list.m4 (1.3),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.41), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.23),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.18),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.12),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.58),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.65): By defining a new pattern "incdec" and its replacement,
-	  made the increment and decrement iterator methods use common
-	  code.  Similarly the begin_iterator and end_iterator now use
-	  common code.
-
-2008-01-26 Saturday 10:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.84): Use AM_CPPFLAGS for
-	  `splfr' and `spld', not CPPFLAGS.
-
-2008-01-25 Friday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.83): Support
-	  installation of SICStus in non-standard places.
-
-2008-01-25 Friday 19:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.302): Version number bumped.
-
-2008-01-25 Friday 12:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.49),
-	  ppl_interface_generator_common_procedure_list.m4 (1.2),
-	  C/Makefile.am (1.38), C/ppl_interface_generator_c_all_dat.m4
-	  (1.1), C/ppl_interface_generator_c_cc.m4 (1.11),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.22),
-	  C/ppl_interface_generator_c_dat.m4 (1.15),
-	  C/ppl_interface_generator_c_h.m4 (1.14),
-	  C/ppl_interface_generator_c_h_code.m4 (1.12): Synchronizing the C
-	  interface with the other interfaces.	Several missing methods for
-	  the C interface are listed in a comment at the end of
-	  ppl_interface_generator_c_all_dat.m4
-
-2008-01-25 Friday 08:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/Makefile.am (1.36): Fixed a bug. The interface
-	  no longer uses ppl_interface_generator_prolog_dat.m4
-
-2008-01-24 Thursday 22:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: Java/tests/ppl_interface_generator_java_test_java.m4
-	  (1.14), OCaml/Makefile.am (1.35),
-	  OCaml/ppl_interface_generator_ocaml_all_dat.m4 (1.1),
-	  OCaml/ppl_interface_generator_ocaml_cc.m4 (1.7),
-	  OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.22),
-	  OCaml/ppl_interface_generator_ocaml_dat.m4 (1.9),
-	  OCaml/ppl_interface_generator_ocaml_ml.m4 (1.12),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.17),
-	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.10),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.11): OCaml
-	  interface now synchronized with the Java and Prolog interfaces.
-	  A few missing methods listed as a comment at the end of
-	  OCaml/ppl_interface_generator_ocaml_all_dat.m4
-
-	  Trivial layout improvement to
-	  Java/tests/ppl_interface_generator_java_test_java.m4
-
-2008-01-24 Thursday 16:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/ppl_interface_generator_java_all_dat.m4 (1.2):
-	  Comment corrected.
-
-2008-01-24 Thursday 16:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.48),
-	  Java/Makefile.am (1.15),
-	  Java/ppl_interface_generator_java_all_dat.m4 (1.1),
-	  Java/jni/Makefile.am (1.16),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.11),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.40), Java/tests/Makefile.am (1.18),
-	  Java/tests/ppl_interface_generator_java_test_java.m4 (1.13):
-	  Synchronizing the Java interface with the Prolog interface.  A
-	  few methods not yet implemented are listed as a comment in the
-	  added file Java/ppl_interface_generator_java_all_dat.m4 which
-	  also contains a few methods special to the Java interface.
-
-2008-01-24 Thursday 13:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.47),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.39), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.21),
-	  OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.16),
-	  OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.10),
-	  Prolog/Makefile.am (1.46),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.45),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.57),
-	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.12),
-	  Prolog/Ciao/Makefile.am (1.70), Prolog/GNU/Makefile.am (1.68),
-	  Prolog/SWI/Makefile.am (1.80), Prolog/XSB/Makefile.am (1.60),
-	  Prolog/YAP/Makefile.am (1.57),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.64),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.33): For the pointset_powerset domain, the way the disjunct
-	  classes are handled changed so that the topology is replaced
-	  separately.
-
-	  Completed, for the Prolog interface, the separation between the
-	  system procedure list and the list of the procedures to be
-	  generated.
-
-2008-01-24 Thursday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: Makefile.am (1.29), Prolog/Makefile.am (1.45),
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.13): Fixed a bug
-	  in the makefile dependencies for Prolog due to the new dependent
-	  common file ppl_interface_generator_common_procedure_list.m4
-
-2008-01-23 Wednesday 19:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.46): Change
-	  needed for the pointset_powerset domains and their C++ friend
-	  names.
-
-2008-01-23 Wednesday 18:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.24),
-	  ppl_interface_generator_common_procedure_list.m4 (1.1),
-	  Prolog/Makefile.am (1.44),
-	  Prolog/ppl_interface_generator_prolog_all_dat.m4 (1.1),
-	  Prolog/SICStus/Makefile.am (1.82), Prolog/tests/Makefile.am
-	  (1.19): A start on merging the procedure lists for the different
-	  interfaces to ensure the interface systems are fully
-	  synchronized.  Currently the new lists only used and tested in
-	  SICStus Prolog.
-
-2008-01-23 Wednesday 18:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.23),
-	  ppl_interface_generator_common_dat.m4 (1.45),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.21),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.38), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.20),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.56): Fixed a
-	  bug introduced in teh previous commit due to the overloading of
-	  the prefix "cpp_" in the patterns.  New prefix temporarily
-	  changed to "cppx_".  Further work on simplifying this code may
-	  allow the merge of the different uses of the "cpp_"/"cppx_"
-	  prefix into 1.
-
-2008-01-23 Wednesday 17:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.22),
-	  ppl_interface_generator_common_dat.m4 (1.44),
-	  C/ppl_interface_generator_c_cc.m4 (1.10),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.20),
-	  C/ppl_interface_generator_c_dat.m4 (1.14),
-	  C/ppl_interface_generator_c_h_code.m4 (1.11),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.37), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.19),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.55): Allow
-	  the C interface to build from a "friend" as we can already do in
-	  the other interfaces.
-
-	  Revised the "friend" pattern replacements.  To generate the new
-	  code for the C interface, an extra option has been added that
-	  allows for replacing friend classes C_Polyhedron and
-	  NNC_Polyhedron without their topology.
-
-	  cpp_friend now gives the C++ name while alt_friend has been
-	  changed to give the interface name without the topology (ie only
-	  in the case that the friend is a polyhedron).
-
-	  As we already used the alt_friend for the C++ version of the
-	  friend class name (now called cpp_friend), this change affected
-	  several files.
-
-2008-01-23 Wednesday 11:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/pointsetpowerset4.cc (1.6): Tests 5, 6 and 9
-	  fail for check-int8.
-
-2008-01-23 Wednesday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset4.cc (simplex.1): file
-	  pointsetpowerset4.cc was added on branch simplex on 2008-06-06
-	  14:22:13 +0000
-
-2008-01-23 Wednesday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.59): Fixed two bugs
-	  introduced in previous changes here.
-
-2008-01-22 Tuesday 21:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.14),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.36), tests/ppl_interface_generator_java_test_java.m4 (1.12),
-	  tests/ppl_interface_generator_java_test_java_code.m4 (1.25): Just
-	  as is already the case for the Prolog interfaces, Java can build
-	  a class from a "friend" of that class.  E.g., a C_Polyhedron can
-	  be built from an NNC_Polyhedron, a Grid, a BD_Shape etc, provided
-	  the "friend" exists as one of the instantiations in the
-	  configuration.
-
-2008-01-22 Tuesday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.10), config.guess (1.40), config.sub (1.38), depcomp
-	  (1.13), install-sh (1.19), Watchdog/INSTALL (1.7),
-	  Watchdog/config.guess (1.24), Watchdog/config.sub (1.23),
-	  Watchdog/depcomp (1.10), Watchdog/install-sh (1.15): Updated from
-	  Automake 1.10.1.
-
-2008-01-21 Monday 22:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.21),
-	  ppl_interface_generator_common_dat.m4 (1.43),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.44),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.63),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.32): A start on cleaning/tidying some of the m4 code -
-	  avoiding generating unwanted whitespace.
-
-2008-01-21 Monday 22:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.20),
-	  Prolog/Ciao/Makefile.am (1.69),
-	  Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (1.8), Prolog/SICStus/Makefile.am (1.81),
-	  Prolog/SICStus/sp_predicate_check.pl (1.7),
-	  Prolog/SWI/Makefile.am (1.79), Prolog/SWI/swi_predicate_check.pl
-	  (1.6), Prolog/XSB/Makefile.am (1.58),
-	  Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (1.9), Prolog/tests/Makefile.am (1.18),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.62),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.31), Prolog/tests/ppl_predicate_check_common.pl (1.9): The
-	  tests for all the interfaces predicates that are generated and
-	  were placed in ppl_predicate_check.pl are now generated and split
-	  into a number of files; the top-level one is
-	  ppl_predicate_test_main.pl and the rest have a name of the form
-
-	  ppl_predicate_test_CLASS.pl
-
-	   where CLASS is the name of an interface class (there is just one
-	  file
-	  "ppl_predicate_test_Polyhedron.pl" for both the C_Polyhedron and
-	  NNC_Polyhedron domains.
-
-	  This resolves a problem when checking the interface predicates
-	  for XSB with more than 3 classes where the large generated file
-	  caused an error to be thrown.
-
-	  This change has been tested on SWI Prolog, SICStus, XSB and Ciao
-	  Prolog with up to 4 (5 if we count C_Polyhedron and
-	  NNC_Polyhedron separately) different interface classes.
-
-2008-01-21 Monday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/: cm_cleaner.sh (1.5), cm_splitter.sh (1.5): Use `IFS= read
-	  -r' instead of a simple `read'.  This means that leading blanks
-	  and backslashes will no longer be eaten.
-
-2008-01-21 Monday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc.m4 (1.6),
-	  ppl_interface_generator_ocaml_ml.m4 (1.11),
-	  ppl_interface_generator_ocaml_mli.m4 (1.9): Revised the
-	  generation of these files so that all type and other class
-	  methods are added before the main part of the code so that one
-	  class can refer to elements of another class.
-
-2008-01-21 Monday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/README.ocaml (1.3): Added some notes on the
-	  configuration of MLGMP, since the information contained in the
-	  package itself is rather terse.
-
-2008-01-21 Monday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/README.ocaml (1.2): Explained the requirements
-	  for the OCaml interface.  Note that the Caml Hump page for MLGMP
-	  is out of date (bug already reported): while they fix it, MLGMP
-	  can be found at
-	  http://www-verimag.imag.fr/~monniaux/programmes.html.fr.
-
-2008-01-21 Monday 12:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.18), ppl_interface_generator_ocaml_dat.m4 (1.8),
-	  ppl_interface_generator_ocaml_ml_code.m4 (1.15),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.9): Removed the
-	  pattern "@INTOPOLOGY@" which preceded "@FRIEND@" since the
-	  topology is now part of the replacement for "@FRIEND@".
-
-2008-01-19 Saturday 18:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.42): Fixed a
-	  bug which showed in the Java generated code for the relation_with
-	  methods.
-
-2008-01-19 Saturday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.hh (1.9): At the end of the C++ PPL header file,
-	  #undef PPL_NO_AUTOMATIC_INITIALIZATION if it is defined.
-
-2008-01-18 Friday 20:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/Makefile.am (1.3): Distribute also ppl.hh, ppl_c.h, and
-	  pwl.hh.
-
-2008-01-18 Friday 20:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.301): Version number bumped.
-
-2008-01-18 Friday 15:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* README.configure (1.25), interfaces/README.interfaces (1.1):
-	  Brief notes on how to generate and use code for a choice of
-	  domains in the (mainly Prolog) interfaces.
-
-2008-01-18 Friday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/README.interfaces (simplex.1): file README.interfaces
-	  was added on branch simplex on 2008-06-06 14:21:57 +0000
-
-2008-01-18 Friday 13:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.61): Fixed some bugs in the test file that caused some warning
-	  messages when testing the code in the Ciao interface.
-
-2008-01-18 Friday 12:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.60): A bug fixed.
-
-2008-01-18 Friday 12:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.68),
-	  SICStus/sp_predicate_check.pl (1.6), SWI/swi_predicate_check.pl
-	  (1.5), XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (1.8), tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.30): Enable make predicate_check_test for Ciao.  To do this,
-	  the ":- include ppl_predicate_check_common." directive has to be
-	  in the generated file ppl_predicate_check.pl
-
-	  For this reason, the corresponding directives in
-	  swi_predicate_check.pl and SICStus/sp_predicate_check.pl have
-	  been removed.
-
-	  For XSB, the include directive is not supported as is and instead
-	  a "#include" must be used. Changes made for XSB to handle this.
-
-	  Warning messages given by the Ciao system when compiling the
-	  generated file ppl_predicate_check.pl need further investigation
-	  but the test in Ciao succeeds.
-
-2008-01-18 Friday 11:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* instchk.hh (1.12): The instantiation options "C_Polyhedron" and
-	  "NNC_Polyhedron" made invalid.
-
-2008-01-18 Friday 10:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: SICStus/Makefile.am (1.80),
-	  SICStus/sp_predicate_check.pl (1.5), SWI/Makefile.am (1.78),
-	  XSB/Makefile.am (1.57),
-	  XSB/ppl_interface_generator_xsb_predicate_check_P.m4 (1.7): The
-	  Prolog systems SWI, SICStus and XSB all allow for the toplevel
-	  command "make predicate_check_test" to check the generated
-	  ppl_prolog.icc code for the chosen set of instantiations.
-
-	  Note that XSB cannot manage more than three instantiations (eg
-	  "Polyhedron at Grid@Pointset_Powerset<C_Polyhedron>") at any one
-	  time.
-
-2008-01-18 Friday 10:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* instchk.hh (1.11),
-	  interfaces/ppl_interface_generator_common_dat.m4 (1.41): The
-	  instantiations for the powerset domains when the disjunct is a
-	  polyhedron is changed and now the topology must be explicit.
-	  Ie., the configuration instantiations option
-	  Pointset_Powerset<Polyhedron> is disabled but instead
-	  Pointset_Powerset<C_Polyhedron> and
-	  Pointset_Powerset<NNC_Polyhedron> are both enabled.
-
-2008-01-17 Thursday 16:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.40),
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.43),
-	  interfaces/Prolog/tests/ppl_predicate_check_common.pl (1.8),
-	  src/Pointset_Powerset.defs.hh (1.29),
-	  src/Pointset_Powerset.templates.hh (1.25),
-	  tests/Polyhedron/Makefile.am (1.119),
-	  tests/Polyhedron/pointsetpowerset5.cc (1.1): For the powerset
-	  domains, added methods for relation_with() for constraint,
-	  congruence and generator to all the interfaces.
-
-	  In the interfaces, also enable the grids to have relation_with()
-	  for a generator.
-
-2008-01-17 Thursday 13:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.39),
-	  src/Pointset_Powerset.defs.hh (1.28),
-	  src/Pointset_Powerset.templates.hh (1.24),
-	  tests/Polyhedron/pointsetpowerset4.cc (1.5): For the powerset
-	  domain, the method topological_closure_assign() added to all the
-	  interfaces.
-
-2008-01-17 Thursday 12:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.38),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.42),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.59): Now allow for several more predicates for the powerset
-	  domain.  In particular all the recent additions in the main C++
-	  interface are now included in the Prolog interface.
-
-2008-01-17 Thursday 11:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.27),
-	  src/Pointset_Powerset.inlines.hh (1.11),
-	  src/Pointset_Powerset.templates.hh (1.23),
-	  tests/Polyhedron/pointsetpowerset4.cc (1.4): For the powerset
-	  domain, added methods intersection_assign_and_minimize(),
-	  contains() and strictly_contains() with appropriate tests.
-
-2008-01-17 Thursday 09:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.26),
-	  src/Pointset_Powerset.templates.hh (1.22),
-	  tests/Polyhedron/pointsetpowerset4.cc (1.3): For the powerset
-	  domain, added methods add_congruence(),
-	  add_congruence_and_minimize(), add_congruences() and
-	  add_congruences_and_minimize() with tests.
-
-2008-01-17 Thursday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.templates.hh (1.21),
-	  tests/Polyhedron/pointsetpowerset4.cc (1.2): Fixed some bugs in
-	  code for maximize() and minimize() for the powerset domains and
-	  improved the tests.
-
-2008-01-16 Wednesday 21:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.41),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.58): Now
-	  allow for
-	  ppl_Pointset_Powerset_..._equals_ppl_Pointset_Powerset_..._ in
-	  the Prolog interface.
-
-2008-01-16 Wednesday 21:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.40):
-	  Now the interfaces can support bounds_from_above/below() and
-	  maximize/minimize for the powerset domain.  Also added support
-	  for bounds_from_above/below() for bd shapes and octagonal shapes
-	  in Prolog.
-
-2008-01-16 Wednesday 17:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.25),
-	  src/Pointset_Powerset.templates.hh (1.20),
-	  tests/Polyhedron/Makefile.am (1.118),
-	  tests/Polyhedron/pointsetpowerset4.cc (1.1): For the powerset
-	  domains, added methods: bounds_from_above(), bounds_from_below(),
-	  maximize() and minimize() - both with and without returning the
-	  point.  Tests added to check these.
-
-2008-01-16 Wednesday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset3.cc (simplex.1): file
-	  pointsetpowerset3.cc was added on branch simplex on 2008-06-06
-	  14:22:13 +0000
-
-2008-01-16 Wednesday 09:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.24),
-	  src/Pointset_Powerset.templates.hh (1.19),
-	  tests/Polyhedron/pointsetpowerset3.cc (1.2): Added to the
-	  powerset domain methods is_discrete() and is_disjoint_from().
-
-2008-01-15 Tuesday 17:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.37),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.39): Added the
-	  is_empty(), is_universe(), is_topologically_closed() and
-	  is_bounded() for powersets to the Prolog interfaces.
-
-2008-01-15 Tuesday 15:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.23),
-	  src/Pointset_Powerset.templates.hh (1.18),
-	  tests/Polyhedron/Makefile.am (1.117),
-	  tests/Polyhedron/pointsetpowerset3.cc (1.1): Added to the
-	  pointset powerset domain tests is_empty() is_universe()
-	  is_topologically_closed() and is_bounded().  Tests for these also
-	  added.
-
-	  Note: in the code for is_universe() there are the 2 FIXME
-	  comments:	// FIXME: this is not the most efficient
-	  implementation.      // FIXME: this is buggy when PS is not an
-	  abstraction of NNC_Polyhedron.
-
-2008-01-15 Tuesday 13:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Grid.defs.hh (1.64), Grid_chdims.cc (1.22),
-	  Grid_nonpublic.cc (1.33), Grid_public.cc (1.65): Replaced bad
-	  coding style in Boolean expressions by a more readable style.
-	  Also update_congruences() now returns void and not bool.
-
-2008-01-15 Tuesday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.36),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.57): Support for minimized representations added.
-
-2008-01-15 Tuesday 10:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.64): Change to correct the bug in
-	  minimized_congruences().
-
-2008-01-15 Tuesday 09:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/mincongruences1.cc (1.12): Changed test04 to show a
-	  bug: an extra OK() test shows that after minimized_congruences(),
-	  the grid is not ok.
-
-2008-01-15 Tuesday 08:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.38):
-	  Undone a change yesterday, that affected the compilation of
-	  SICStus and Ciao, for the generalized image for grids which needs
-	  a different arity to that for the other domains.
-
-2008-01-14 Monday 18:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.110), src/BD_Shape.inlines.hh (1.156),
-	  src/Octagonal_Shape.defs.hh (1.38),
-	  src/Octagonal_Shape.inlines.hh (1.27), src/Polyhedron.defs.hh
-	  (1.330), src/Polyhedron.inlines.hh (1.146),
-	  tests/BD_Shape/Makefile.am (1.71), tests/BD_Shape/congruences1.cc
-	  (1.1), tests/Octagonal_Shape/Makefile.am (1.24),
-	  tests/Octagonal_Shape/congruences1.cc (1.1),
-	  tests/Polyhedron/addcongruence1.cc (1.10): Added methods for
-	  add_congruence_and_minimize in order that we have a uniform set
-	  of methods across all simple classes.
-
-	  Also corrected congruences() and minimized_congruences() in the
-	  BD_Shape and Octagonal_Shape domains which were wrong for empty
-	  elements.
-
-	  Added tests for all these methods which were untested.
-
-2008-01-14 Monday 16:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (1.7): Wrong file name corrected.
-
-2008-01-14 Monday 16:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.56),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.29),
-	  ppl_predicate_check_common.pl (1.7): Some of the changes needed
-	  to get the interfaces working in Ciao Prolog.  For instance /= is
-	  changed to /==.  Also all the generated test predicates are
-	  declared as dynamic as some are never defined in the test code.
-
-2008-01-14 Monday 11:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.35):
-	  Improvements to layout and similar to the m4 code.
-
-2008-01-14 Monday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.34): Added
-	  support for building from congruences for all the domains.  Added
-	  support for contains_integer_point for the powerset domain.
-
-2008-01-13 Sunday 22:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.37),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.54),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.55):
-	  Expanded the number of predicates generated for classes such as
-	  Octagonal_Shape<...> and Pointset_Powerset<...>.
-
-	  Fixed a bug in the m4 code for generating ppl_prolog.icc when
-	  building a class from a box.	Note that the bug only was apparent
-	  for classes with a templatic argument such as
-	  Octagonal_Shape<...>.
-
-	  In the m4 code for generating ppl_predicate_check.pl tests
-	  modified to allow for the larger set of classes.
-
-2008-01-13 Sunday 17:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.33),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.36),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.53):
-	  Upgraded the friend replacement code to allow for the simple
-	  classes (eg polyhedra, bd shapes, grids) to build from other
-	  simple classes that are in the list of instantiations.
-
-2008-01-13 Sunday 13:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
-	  (1.52), tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.54): Corrected bug in m4 generating code for ppl_prolog.icc
-	  for the powersets linear_partition predicate.
-
-	  Also corrected test for linear_partition in m4 generating code
-	  for ppl_predicate_check.pl
-
-2008-01-13 Sunday 11:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.13),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.35): The string "@FRINED@" was wrongly used.  As the
-	  definition of FRIEND in m4 is being revised to allow more classes
-	  to be built from other classes, this wrong use will become a bug
-	  if it is not corrected.
-
-2008-01-12 Saturday 23:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.53),
-	  ppl_predicate_check_common.pl (1.6): In
-	  ppl_interface_generator_predicate_check_code.m4 corrected syntax
-	  error.
-
-	  In ppl_predicate_check_common.pl revised expected relations for
-	  grids to match changes in src code.
-
-2008-01-09 Wednesday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: Java/jni/.cvsignore (1.4), Prolog/Ciao/.cvsignore
-	  (1.7), Prolog/GNU/.cvsignore (1.7), Prolog/SICStus/.cvsignore
-	  (1.8), Prolog/SWI/.cvsignore (1.8), Prolog/XSB/.cvsignore (1.6),
-	  Prolog/YAP/.cvsignore (1.7): Updated.
-
-2008-01-09 Wednesday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: Java/.cvsignore (1.2), Java/jni/.cvsignore (1.3),
-	  Java/tests/.cvsignore (1.2), Prolog/.cvsignore (1.2),
-	  Prolog/tests/.cvsignore (1.2): Updated.
-
-2008-01-09 Wednesday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/.cvsignore (1.7), Watchdog/src/.cvsignore (1.3),
-	  interfaces/OCaml/.cvsignore (1.4),
-	  interfaces/Prolog/Ciao/.cvsignore (1.6),
-	  interfaces/Prolog/GNU/.cvsignore (1.6),
-	  interfaces/Prolog/SICStus/.cvsignore (1.7),
-	  interfaces/Prolog/SWI/.cvsignore (1.7),
-	  interfaces/Prolog/XSB/.cvsignore (1.5),
-	  interfaces/Prolog/YAP/.cvsignore (1.6), src/.cvsignore (1.12):
-	  Ignore *.loT files.
-
-2008-01-09 Wednesday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.8), Watchdog/.cvsignore (1.6),
-	  interfaces/.cvsignore (1.2), interfaces/C/.cvsignore (1.4),
-	  interfaces/Java/jni/.cvsignore (1.2), src/.cvsignore (1.11):
-	  Updated.
-
-2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.spec (1.4): Avoid multiarch conflicts when installed
-	  for multiple architectures.
-
-2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/: ppl.hh (1.1), ppl_c.h (1.1), pwl.hh (1.1): Header file
-	  switchers to avoid multiarch conflicts when the PPL and PWL are
-	  installed for multiple architectures (e.g., i386 and x86_64).
-
-2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.hh (simplex.1): file ppl.hh was added on branch
-	  simplex on 2008-06-06 14:21:56 +0000
-
-2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl_c.h (simplex.1): file ppl_c.h was added on branch
-	  simplex on 2008-06-06 14:21:56 +0000
-
-2008-01-09 Wednesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/pwl.hh (simplex.1): file pwl.hh was added on branch
-	  simplex on 2008-06-06 14:21:56 +0000
-
-2008-01-07 Monday 12:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING, CREDITS, ChangeLog, INSTALL, Makefile.am, NEWS, README,
-	  README.configure, STANDARDS, TODO, compile, config.guess,
-	  config.sub, configure.ac, depcomp, install-sh, instchk.hh,
-	  ltmain.sh, ppl.spec.in, Watchdog/COPYING, Watchdog/ChangeLog,
-	  Watchdog/INSTALL, Watchdog/Makefile.am, Watchdog/NEWS,
-	  Watchdog/README, Watchdog/compile, Watchdog/config.guess,
-	  Watchdog/config.sub, Watchdog/configure.ac, Watchdog/ltmain.sh,
-	  Watchdog/doc/.cvsignore, 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/m4/.cvsignore, Watchdog/m4/Makefile.am,
-	  Watchdog/m4/ax_prefix_config_h.m4,
-	  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.cc,
-	  Watchdog/src/Pending_Element.defs.hh,
-	  Watchdog/src/Pending_Element.inlines.hh,
-	  Watchdog/src/Pending_Element.types.hh,
-	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
-	  Watchdog/src/Pending_List.inlines.hh,
-	  Watchdog/src/Pending_List.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/utils/Makefile.am, Watchdog/utils/build_header.in,
-	  debian/Makefile.am, debian/libppl-pwl.copyright.in,
-	  debian/libppl.copyright.in, demos/Makefile.am,
-	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
-	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int16_a,
-	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
-	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
-	  demos/ppl_lpsol/expected_int8, demos/ppl_lpsol/expected_int8_a,
-	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
-	  demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/examples/Makefile.am,
-	  demos/ppl_lpsol/examples/README,
-	  demos/ppl_lpsol/examples/egout.mps,
-	  demos/ppl_lpsol/examples/ex12.mps,
-	  demos/ppl_lpsol/examples/lseu.mps,
-	  demos/ppl_lpsol/examples/markshare1.mps,
-	  demos/ppl_lpsol/examples/markshare2.mps,
-	  demos/ppl_lpsol/examples/mas74.mps,
-	  demos/ppl_lpsol/examples/mas76.mps,
-	  demos/ppl_lpsol/examples/modglob.mps,
-	  demos/ppl_lpsol/examples/noswot.mps,
-	  demos/ppl_lpsol/examples/opt1217.mps,
-	  demos/ppl_lpsol/examples/p0033.mps,
-	  demos/ppl_lpsol/examples/pk1.mps,
-	  demos/ppl_lpsol/examples/rout.mps, doc/Makefile.am,
-	  doc/README.doc, doc/definitions.dox,
-	  doc/devref-c-interface.doxyconf-html.in,
-	  doc/devref-c-interface.doxyconf-latex.in,
-	  doc/devref-c-interface.tex,
-	  doc/devref-prolog-interface.doxyconf-html.in,
-	  doc/devref-prolog-interface.doxyconf-latex.in,
-	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
-	  doc/devref.tex, doc/gpl.dox, doc/gpl.tex, doc/gpl.txt,
-	  doc/ppl-config.1, doc/ppl-config_extra_man_text, doc/ppl.sty,
-	  doc/ppl_lcdd.1, doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
-	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
-	  doc/user-c-interface.doxyconf-html.in,
-	  doc/user-c-interface.doxyconf-latex.in, doc/user-c-interface.tex,
-	  doc/user-prolog-interface.doxyconf-html.in,
-	  doc/user-prolog-interface.doxyconf-latex.in,
-	  doc/user-prolog-interface.tex, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, doc/user.tex, fedora/.cvsignore,
-	  fedora/Makefile.am, fedora/ppl.spec, interfaces/Makefile.am,
-	  interfaces/ppl_interface_generator_common.m4,
-	  interfaces/ppl_interface_generator_common_dat.m4,
-	  interfaces/ppl_interface_generator_copyright,
-	  interfaces/C/C_interface.dox, interfaces/C/Makefile.am,
-	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
-	  interfaces/C/ppl_c_version.h.in,
-	  interfaces/C/ppl_interface_generator_c_cc.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_preamble,
-	  interfaces/C/ppl_interface_generator_c_dat.m4,
-	  interfaces/C/ppl_interface_generator_c_h.m4,
-	  interfaces/C/ppl_interface_generator_c_h_code.m4,
-	  interfaces/C/ppl_interface_generator_c_h_preamble,
-	  interfaces/Java/.cvsignore, interfaces/Java/Makefile.am,
-	  interfaces/Java/ppl_interface_generator_java_dat.m4,
-	  interfaces/Java/jni/.cvsignore, interfaces/Java/jni/Makefile.am,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
-	  interfaces/Java/jni/ppl_java_common.cc,
-	  interfaces/Java/jni/ppl_java_common.hh,
-	  interfaces/Java/jni/ppl_java_globals.cc,
-	  interfaces/Java/tests/.cvsignore,
-	  interfaces/Java/tests/C_Polyhedron_test1.java,
-	  interfaces/Java/tests/Makefile.am,
-	  interfaces/Java/tests/Test_Partial_Function.java,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
-	  interfaces/Java/tests/ppl_java_tests_common,
-	  interfaces/OCaml/Makefile.am, interfaces/OCaml/README.ocaml,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.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_ocaml_globals.cc,
-	  interfaces/OCaml/ppl_ocaml_globals.ml,
-	  interfaces/OCaml/ppl_ocaml_types.ml, interfaces/OCaml/test1.ml,
-	  interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/ppl_prolog_common.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  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_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
-	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
-	  interfaces/Prolog/GNU/README.gprolog,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/GNU/gp_clpq.pl,
-	  interfaces/Prolog/GNU/gprolog_cfli.hh,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.h,
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
-	  interfaces/Prolog/SICStus/sp_clpq.pl,
-	  interfaces/Prolog/SICStus/sp_pl_check.pl,
-	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/README.swiprolog,
-	  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_swiprolog.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
-	  interfaces/Prolog/SWI/swi_cfli.hh,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/SWI/swi_predicate_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected_clpq2_int16,
-	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int32,
-	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int64,
-	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int8,
-	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
-	  interfaces/Prolog/XSB/expected_clpq_int16,
-	  interfaces/Prolog/XSB/expected_clpq_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq_int32,
-	  interfaces/Prolog/XSB/expected_clpq_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq_int64,
-	  interfaces/Prolog/XSB/expected_clpq_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq_int8,
-	  interfaces/Prolog/XSB/expected_clpq_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq_mpz,
-	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
-	  interfaces/Prolog/XSB/expected_pchk_int16,
-	  interfaces/Prolog/XSB/expected_pchk_int16_a,
-	  interfaces/Prolog/XSB/expected_pchk_int32,
-	  interfaces/Prolog/XSB/expected_pchk_int32_a,
-	  interfaces/Prolog/XSB/expected_pchk_int64,
-	  interfaces/Prolog/XSB/expected_pchk_int64_a,
-	  interfaces/Prolog/XSB/expected_pchk_int8,
-	  interfaces/Prolog/XSB/expected_pchk_int8_a,
-	  interfaces/Prolog/XSB/expected_pchk_mpz,
-	  interfaces/Prolog/XSB/expected_pchk_mpz_a,
-	  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_predicate_check_P.m4,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_cfli.hh,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/README.yap,
-	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  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_pl_check.pl,
-	  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/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  interfaces/Prolog/tests/pl_grid_check.pl,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
-	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
-	  m4/Makefile.am, m4/ac_check_classpath.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_cxx_attribute_weak.m4,
-	  m4/ac_cxx_double_binary_format.m4, m4/ac_cxx_flexible_arrays.m4,
-	  m4/ac_cxx_float_binary_format.m4,
-	  m4/ac_cxx_long_double_binary_format.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/ax_prefix_config_h.m4, m4/ppl.m4, m4/ppl_c.m4,
-	  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/Bounding_Box.cc,
-	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
-	  src/Bounding_Box.types.hh, src/Box.cc, src/Box.defs.hh,
-	  src/Box.inlines.hh, src/Box.templates.hh, src/Box.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.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/Direct_Product.defs.hh, src/Direct_Product.inlines.hh,
-	  src/Direct_Product.templates.hh, src/Direct_Product.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.types.hh,
-	  src/Interval.cc, 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/LP_Problem.cc, src/LP_Problem.defs.hh,
-	  src/LP_Problem.inlines.hh, src/LP_Problem.types.hh,
-	  src/Limits.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.cc, src/Matrix.defs.hh,
-	  src/Matrix.inlines.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/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/Polyhedra_Powerset.cc,
-	  src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh,
-	  src/Polyhedra_Powerset.templates.hh,
-	  src/Polyhedra_Powerset.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/Result.defs.hh, src/Result.inlines.hh,
-	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
-	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
-	  src/Row.types.hh, src/Saturation_Matrix.cc,
-	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
-	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
-	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
-	  src/Saturation_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/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
-	  src/algorithms.hh, src/assign_or_swap.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.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/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
-	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
-	  src/meta_programming.hh, src/minimize.cc,
-	  src/mp_numeric_limits.hh, 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/swapping_sort.icc, src/version.cc,
-	  src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
-	  tests/FCAIBVP.cc, tests/FCAIBVP.defs.hh,
-	  tests/FCAIBVP.inlines.hh, tests/FCAIBVP.types.hh,
-	  tests/Makefile.am, tests/Partial_Function.cc,
-	  tests/Partial_Function.defs.hh,
-	  tests/Partial_Function.inlines.hh,
-	  tests/Partial_Function.types.hh,
-	  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,
-	  tests/print.cc, tests/print.hh, tests/valgrind_suppressions,
-	  tests/Ask_Tell/.cvsignore, 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/affinepreimage2.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.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/boundingbox1.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/constraints1.cc,
-	  tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/containsintegerpoint1.cc,
-	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
-	  tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
-	  tests/BD_Shape/expandspacedim1.cc,
-	  tests/BD_Shape/foldspacedims1.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/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/maxspacedim.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/removespacedims1.cc, tests/BD_Shape/run_tests,
-	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/universe1.cc,
-	  tests/BD_Shape/writebdshape1.cc, tests/Box/.cvsignore,
-	  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/bdsdifference1.cc,
-	  tests/Box/bgp99extrapolation1.cc, tests/Box/bhz03widening1.cc,
-	  tests/Box/bounded1.cc, tests/Box/boundedaffineimage1.cc,
-	  tests/Box/boxdifference1.cc, tests/Box/boxhull.cc,
-	  tests/Box/boxhull1.cc, tests/Box/cc76narrowing1.cc,
-	  tests/Box/cc76widening.cc, tests/Box/closure1.cc,
-	  tests/Box/concatenate1.cc, tests/Box/congruences1.cc,
-	  tests/Box/constraints1.cc, tests/Box/contains1.cc,
-	  tests/Box/containsintegerpoint1.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/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/generalizedaffinepreimage1.cc,
-	  tests/Box/geomcovers1.cc, tests/Box/intersection1.cc,
-	  tests/Box/interval1.cc, tests/Box/interval2.cc,
-	  tests/Box/mapspacedims1.cc, tests/Box/max_min1.cc,
-	  tests/Box/maxspacedim1.cc, tests/Box/membytes1.cc,
-	  tests/Box/minconstraints1.cc, tests/Box/pointsetpowerset1.cc,
-	  tests/Box/refine1.cc, tests/Box/refine2.cc, tests/Box/refine3.cc,
-	  tests/Box/relations1.cc, tests/Box/relations2.cc,
-	  tests/Box/removespacedims1.cc, tests/Box/run_tests,
-	  tests/Box/timeelapse1.cc, tests/Box/universe1.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/asciidumpload7.cc, tests/Grid/bhz03widening1.cc,
-	  tests/Grid/bounded1.cc, tests/Grid/boundedaffineimage1.cc,
-	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
-	  tests/Grid/boundingbox2.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/copyconstruct1.cc, tests/Grid/coveringbox1.cc,
-	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
-	  tests/Grid/directproduct2.cc, tests/Grid/directproduct3.cc,
-	  tests/Grid/directproduct4.cc, tests/Grid/directproduct5.cc,
-	  tests/Grid/directproduct6.cc, tests/Grid/discrete1.cc,
-	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
-	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.cc,
-	  tests/Grid/frombdshape1.cc, tests/Grid/fromoctagonalshape1.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/join1.cc, tests/Grid/join2.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/partiallyreducedproduct1.cc,
-	  tests/Grid/partiallyreducedproduct2.cc,
-	  tests/Grid/partiallyreducedproduct3.cc, tests/Grid/partition1.cc,
-	  tests/Grid/powersetdifference1.cc,
-	  tests/Grid/powersetgeometricallycovers1.cc,
-	  tests/Grid/powersetgeometricallyequals1.cc,
-	  tests/Grid/relations1.cc, tests/Grid/relations2.cc,
-	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
-	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
-	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
-	  tests/Grid/widening3.cc, tests/Grid/writecongruencesystem.cc,
-	  tests/MIP_Problem/.cvsignore, 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/Octagonal_Shape/.cvsignore,
-	  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/constraints1.cc,
-	  tests/Octagonal_Shape/contains1.cc,
-	  tests/Octagonal_Shape/containsintegerpoint1.cc,
-	  tests/Octagonal_Shape/discrete1.cc,
-	  tests/Octagonal_Shape/disjoint1.cc,
-	  tests/Octagonal_Shape/empty1.cc,
-	  tests/Octagonal_Shape/expandspacedim1.cc,
-	  tests/Octagonal_Shape/foldspacedims1.cc,
-	  tests/Octagonal_Shape/frombdshape1.cc,
-	  tests/Octagonal_Shape/fromgensys1.cc,
-	  tests/Octagonal_Shape/fromgrid1.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/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/octdifference1.cc,
-	  tests/Octagonal_Shape/octhull1.cc,
-	  tests/Octagonal_Shape/relatwithcons1.cc,
-	  tests/Octagonal_Shape/relatwithcons2.cc,
-	  tests/Octagonal_Shape/relatwithgen1.cc,
-	  tests/Octagonal_Shape/removespacedims1.cc,
-	  tests/Octagonal_Shape/run_tests,
-	  tests/Octagonal_Shape/timeelapse1.cc,
-	  tests/Octagonal_Shape/universe1.cc,
-	  tests/Octagonal_Shape/writeoctagon1.cc,
-	  tests/Polyhedron/.cvsignore, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/README, 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/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/boundingbox1.cc,
-	  tests/Polyhedron/boundingbox2.cc,
-	  tests/Polyhedron/boundingbox3.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/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/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/linearpartition1.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/linexpression1.cc,
-	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/lpproblem2.cc,
-	  tests/Polyhedron/lpproblem3.cc,
-	  tests/Polyhedron/mapspacedims1.cc, tests/Polyhedron/matrix1.cc,
-	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/maxspacedim1.cc,
-	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
-	  tests/Polyhedron/membytes2.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/pointsetpowerset1.cc,
-	  tests/Polyhedron/pointsetpowerset2.cc,
-	  tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/polypowerset1.cc, tests/Polyhedron/powerset1.cc,
-	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
-	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations2.cc,
-	  tests/Polyhedron/relations3.cc,
-	  tests/Polyhedron/removespacedims1.cc,
-	  tests/Polyhedron/removespacedims2.cc, tests/Polyhedron/smm1.cc,
-	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
-	  tests/Polyhedron/topclosed1.cc, tests/Polyhedron/topclosure1.cc,
-	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
-	  tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.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, utils/Makefile.am,
-	  utils/build_header.in, utils/cm_cleaner.sh, utils/cm_splitter.sh,
-	  utils/text2cxxarray.in, utils/timings.cc, utils/timings.hh
-	  (simplex.[1,1,3,2,3,3,3,3,3,6,1,4,4,3,1,3,3,2,2,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,3,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,15,3,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,4,3,3,1,1,1,3,2,3,3,2,3,2,2,2,2,2,2,2,2,3,3,3,2,2,2,3,2,2,2,2,3,6,6,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,5,3,2,2,2,2,6,2,2,3,2,3,3,3,3,3,2,2,3,2,2,3,2,2,3,3,2,3,2,2,3,2,2,2,2,3,2,3,2,2,2,2,2, [...]
-	  Fourth merge of the trunk to the `simplex' branch.  The `simplex'
-	  branch is open again.
-
-2008-01-02 Wednesday 18:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_grid_check.pl (1.9): Added comment in
-	  code for grid exceptions to explain change in previous commit:
-
-	      /* XSB does not throw catchable exceptions for integers out
-	  of range;
-		  so call to exception_sys_prolog is not made when testing
-	  XSB.
-		  The same exclusion for XSB and exception_sys_prolog/1
-	  test is also
-		  made in pl_check.pl (See log message 2007-09-19 10:29:08)
-	  */
-
-2008-01-02 Wednesday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_grid_check.pl (simplex.1): file
-	  pl_grid_check.pl was added on branch simplex on 2008-01-07
-	  11:15:31 +0000
-
-2008-01-02 Wednesday 13:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_grid_check.pl (1.8): Updated handling
-	  of exceptions so that the test file runs ok with XSB.
-
-2008-01-02 Wednesday 11:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.51): Corrected code for covering boxes (for Grids).
-
-2008-01-02 Wednesday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (simplex.1): file ppl_interface_generator_prolog_icc_code.m4 was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-02 Wednesday 11:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_grid_check.pl (1.7): Updated tests to
-	  match changes in the Grid class.
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/cm_cleaner.sh (simplex.1): file cm_cleaner.sh was added on
-	  branch simplex on 2008-01-07 11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/cm_splitter.sh (simplex.1): file cm_splitter.sh was added
-	  on branch simplex on 2008-01-07 11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/constrains1.cc (simplex.1): file constrains1.cc
-	  was added on branch simplex on 2008-01-07 11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/containsintegerpoint1.cc (simplex.1): file
-	  containsintegerpoint1.cc was added on branch simplex on
-	  2008-01-07 11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/frombdshape1.cc (simplex.1): file
-	  frombdshape1.cc was added on branch simplex on 2008-01-07
-	  11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/frombox1.cc (simplex.1): file frombox1.cc was
-	  added on branch simplex on 2008-01-07 11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/frombox2.cc (simplex.1): file frombox2.cc was
-	  added on branch simplex on 2008-01-07 11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/fromgrid1.cc (simplex.1): file fromgrid1.cc was
-	  added on branch simplex on 2008-01-07 11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/fromoctagonalshape1.cc (simplex.1): file
-	  fromoctagonalshape1.cc was added on branch simplex on 2008-01-07
-	  11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/hybrid.cc (simplex.1): file hybrid.cc was added
-	  on branch simplex on 2008-01-07 11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset1.cc (simplex.1): file
-	  pointsetpowerset1.cc was added on branch simplex on 2008-01-07
-	  11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset2.cc (simplex.1): file
-	  pointsetpowerset2.cc was added on branch simplex on 2008-01-07
-	  11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/variablesset1.cc (simplex.1): file
-	  variablesset1.cc was added on branch simplex on 2008-01-07
-	  11:15:39 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/addspacedims1.cc (simplex.1): file
-	  addspacedims1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinedimension1.cc (simplex.1): file
-	  affinedimension1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage1.cc (simplex.1): file
-	  affineimage1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage2.cc (simplex.1): file
-	  affineimage2.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinepreimage1.cc (simplex.1): file
-	  affinepreimage1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinepreimage2.cc (simplex.1): file
-	  affinepreimage2.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bhmz05widening1.cc (simplex.1): file
-	  bhmz05widening1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bhz03widening1.cc (simplex.1): file
-	  bhz03widening1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bounded1.cc (simplex.1): file bounded1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/boundedaffineimage1.cc (simplex.1): file
-	  boundedaffineimage1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/boundedaffinepreimage1.cc (simplex.1): file
-	  boundedaffinepreimage1.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bounds1.cc (simplex.1): file bounds1.cc was
-	  added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/cc76extrapolation1.cc (simplex.1): file
-	  cc76extrapolation1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/cc76narrowing1.cc (simplex.1): file
-	  cc76narrowing1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/chinainit.cc (simplex.1): file chinainit.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/concatenate1.cc (simplex.1): file
-	  concatenate1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/constraints1.cc (simplex.1): file
-	  constraints1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/contains1.cc (simplex.1): file contains1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/containsintegerpoint1.cc (simplex.1): file
-	  containsintegerpoint1.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/discrete1.cc (simplex.1): file discrete1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/disjoint1.cc (simplex.1): file disjoint1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/empty1.cc (simplex.1): file empty1.cc was
-	  added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/expandspacedim1.cc (simplex.1): file
-	  expandspacedim1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/foldspacedims1.cc (simplex.1): file
-	  foldspacedims1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/frombdshape1.cc (simplex.1): file
-	  frombdshape1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/fromgensys1.cc (simplex.1): file
-	  fromgensys1.cc was added on branch simplex on 2008-01-07 11:15:37
-	  +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/fromgrid1.cc (simplex.1): file fromgrid1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/frompolyhedron1.cc (simplex.1): file
-	  frompolyhedron1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/fromspacedim1.cc (simplex.1): file
-	  fromspacedim1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage1.cc (simplex.1):
-	  file generalizedaffineimage1.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage2.cc (simplex.1):
-	  file generalizedaffineimage2.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage3.cc (simplex.1):
-	  file generalizedaffineimage3.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage4.cc (simplex.1):
-	  file generalizedaffineimage4.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage5.cc (simplex.1):
-	  file generalizedaffineimage5.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc (simplex.1):
-	  file generalizedaffinepreimage1.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage2.cc (simplex.1):
-	  file generalizedaffinepreimage2.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc (simplex.1):
-	  file generalizedaffinepreimage3.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage4.cc (simplex.1):
-	  file generalizedaffinepreimage4.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/intersection1.cc (simplex.1): file
-	  intersection1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (simplex.1):
-	  file limitedbhmz05extrapolation1.cc was added on branch simplex
-	  on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/limitedcc76extrapolation1.cc (simplex.1):
-	  file limitedcc76extrapolation1.cc was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/mapspacedims1.cc (simplex.1): file
-	  mapspacedims1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/max_min1.cc (simplex.1): file max_min1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/max_min2.cc (simplex.1): file max_min2.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/maxspacedim1.cc (simplex.1): file
-	  maxspacedim1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/membytes1.cc (simplex.1): file membytes1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/minconstraints1.cc (simplex.1): file
-	  minconstraints1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/octdifference1.cc (simplex.1): file
-	  octdifference1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/octhull1.cc (simplex.1): file octhull1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons1.cc (simplex.1): file
-	  relatwithcons1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons2.cc (simplex.1): file
-	  relatwithcons2.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithgen1.cc (simplex.1): file
-	  relatwithgen1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/removespacedims1.cc (simplex.1): file
-	  removespacedims1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/run_tests (simplex.1): file run_tests was
-	  added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/timeelapse1.cc (simplex.1): file
-	  timeelapse1.cc was added on branch simplex on 2008-01-07 11:15:37
-	  +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/universe1.cc (simplex.1): file universe1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/writeoctagon1.cc (simplex.1): file
-	  writeoctagon1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: MIP_Problem/Makefile.am, Octagonal_Shape/Makefile.am
-	  (simplex.[1,1]): file Makefile.am was added on branch simplex on
-	  2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: MIP_Problem/ascii_dump_load1.cc,
-	  Octagonal_Shape/ascii_dump_load1.cc (simplex.[1,1]): file
-	  ascii_dump_load1.cc was added on branch simplex on 2008-01-07
-	  11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/exceptions1.cc (simplex.1): file exceptions1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (simplex.1): file mipproblem1.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (simplex.1): file mipproblem2.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem3.cc (simplex.1): file mipproblem3.cc
-	  was added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/approximatepartition1.cc (simplex.1): file
-	  approximatepartition1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundedaffinepreimage1.cc (simplex.1): file
-	  boundedaffinepreimage1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct3.cc (simplex.1): file directproduct3.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct4.cc (simplex.1): file directproduct4.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct5.cc (simplex.1): file directproduct5.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct6.cc (simplex.1): file directproduct6.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/fromoctagonalshape1.cc (simplex.1): file
-	  fromoctagonalshape1.cc was added on branch simplex on 2008-01-07
-	  11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffineimage3.cc (simplex.1): file
-	  generalizedaffineimage3.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffinepreimage3.cc (simplex.1): file
-	  generalizedaffinepreimage3.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/partiallyreducedproduct1.cc (simplex.1): file
-	  partiallyreducedproduct1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/partiallyreducedproduct2.cc (simplex.1): file
-	  partiallyreducedproduct2.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/partiallyreducedproduct3.cc (simplex.1): file
-	  partiallyreducedproduct3.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/partition1.cc (simplex.1): file partition1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/powersetdifference1.cc (simplex.1): file
-	  powersetdifference1.cc was added on branch simplex on 2008-01-07
-	  11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/powersetgeometricallycovers1.cc (simplex.1): file
-	  powersetgeometricallycovers1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/powersetgeometricallyequals1.cc (simplex.1): file
-	  powersetgeometricallyequals1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (simplex.1): file Makefile.am was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/addconstraints1.cc (simplex.1): file addconstraints1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/addspacedims1.cc (simplex.1): file addspacedims1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/affinedimension1.cc (simplex.1): file
-	  affinedimension1.cc was added on branch simplex on 2008-01-07
-	  11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/affineimage1.cc (simplex.1): file affineimage1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/affinepreimage1.cc (simplex.1): file affinepreimage1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/ascii_dump_load1.cc (simplex.1): file
-	  ascii_dump_load1.cc was added on branch simplex on 2008-01-07
-	  11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/bdsdifference1.cc (simplex.1): file bdsdifference1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/bgp99extrapolation1.cc (simplex.1): file
-	  bgp99extrapolation1.cc was added on branch simplex on 2008-01-07
-	  11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/bhz03widening1.cc (simplex.1): file bhz03widening1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/bounded1.cc (simplex.1): file bounded1.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Box/boundedaffineimage1.cc, Grid/boundedaffineimage1.cc
-	  (simplex.[1,1]): file boundedaffineimage1.cc was added on branch
-	  simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boxdifference1.cc (simplex.1): file boxdifference1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boxhull.cc (simplex.1): file boxhull.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/boxhull1.cc (simplex.1): file boxhull1.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/cc76narrowing1.cc (simplex.1): file cc76narrowing1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/cc76widening.cc (simplex.1): file cc76widening.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/closure1.cc (simplex.1): file closure1.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/concatenate1.cc (simplex.1): file concatenate1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/congruences1.cc (simplex.1): file congruences1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Box/constraints1.cc, Grid/constraints1.cc
-	  (simplex.[1,1]): file constraints1.cc was added on branch simplex
-	  on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/contains1.cc (simplex.1): file contains1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Box/containsintegerpoint1.cc,
-	  Grid/containsintegerpoint1.cc (simplex.[1,1]): file
-	  containsintegerpoint1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/discrete1.cc (simplex.1): file discrete1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/disjoint1.cc (simplex.1): file disjoint1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/empty1.cc (simplex.1): file empty1.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/equality1.cc (simplex.1): file equality1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/expandspacedim1.cc (simplex.1): file expandspacedim1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/foldspacedims1.cc (simplex.1): file foldspacedims1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Box/frombdshape1.cc, Grid/frombdshape1.cc
-	  (simplex.[1,1]): file frombdshape1.cc was added on branch simplex
-	  on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/frombox1.cc (simplex.1): file frombox1.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/fromgensys1.cc (simplex.1): file fromgensys1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/fromgrid1.cc (simplex.1): file fromgrid1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/frompartiallyreducedproduct1.cc (simplex.1): file
-	  frompartiallyreducedproduct1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/frompolyhedron1.cc (simplex.1): file frompolyhedron1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/frompolyhedron2.cc (simplex.1): file frompolyhedron2.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/fromspacedim1.cc (simplex.1): file fromspacedim1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/generalizedaffineimage1.cc (simplex.1): file
-	  generalizedaffineimage1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/generalizedaffinepreimage1.cc (simplex.1): file
-	  generalizedaffinepreimage1.cc was added on branch simplex on
-	  2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/geomcovers1.cc (simplex.1): file geomcovers1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/intersection1.cc (simplex.1): file intersection1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval1.cc (simplex.1): file interval1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval2.cc (simplex.1): file interval2.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/mapspacedims1.cc (simplex.1): file mapspacedims1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/max_min1.cc (simplex.1): file max_min1.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/maxspacedim1.cc (simplex.1): file maxspacedim1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/membytes1.cc (simplex.1): file membytes1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/minconstraints1.cc (simplex.1): file minconstraints1.cc
-	  was added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/pointsetpowerset1.cc (simplex.1): file
-	  pointsetpowerset1.cc was added on branch simplex on 2008-01-07
-	  11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine1.cc (simplex.1): file refine1.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine2.cc (simplex.1): file refine2.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine3.cc (simplex.1): file refine3.cc was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/relations1.cc (simplex.1): file relations1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/relations2.cc (simplex.1): file relations2.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/removespacedims1.cc (simplex.1): file
-	  removespacedims1.cc was added on branch simplex on 2008-01-07
-	  11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/run_tests (simplex.1): file run_tests was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/timeelapse1.cc (simplex.1): file timeelapse1.cc was
-	  added on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/universe1.cc (simplex.1): file universe1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/writebox1.cc (simplex.1): file writebox1.cc was added
-	  on branch simplex on 2008-01-07 11:15:36 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/Makefile.am (simplex.1): file Makefile.am was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/append1.cc (simplex.1): file append1.cc was added
-	  on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/boundedaffineimage1.cc (simplex.1): file
-	  boundedaffineimage1.cc was added on branch simplex on 2008-01-07
-	  11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/boundedaffinepreimage1.cc (simplex.1): file
-	  boundedaffinepreimage1.cc was added on branch simplex on
-	  2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/boundingbox1.cc (simplex.1): file boundingbox1.cc
-	  was added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bounds1.cc (simplex.1): file bounds1.cc was added
-	  on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/containsintegerpoint1.cc (simplex.1): file
-	  containsintegerpoint1.cc was added on branch simplex on
-	  2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/discrete1.cc (simplex.1): file discrete1.cc was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/disjoint1.cc (simplex.1): file disjoint1.cc was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/expandspacedim1.cc (simplex.1): file
-	  expandspacedim1.cc was added on branch simplex on 2008-01-07
-	  11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/foldspacedims1.cc (simplex.1): file
-	  foldspacedims1.cc was added on branch simplex on 2008-01-07
-	  11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/fromgrid1.cc (simplex.1): file fromgrid1.cc was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/fromoctagonalshape1.cc (simplex.1): file
-	  fromoctagonalshape1.cc was added on branch simplex on 2008-01-07
-	  11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/fromspacedim1.cc (simplex.1): file
-	  fromspacedim1.cc was added on branch simplex on 2008-01-07
-	  11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/max_min1.cc (simplex.1): file max_min1.cc was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/max_min2.cc (simplex.1): file max_min2.cc was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/maxspacedim1.cc (simplex.1): file maxspacedim1.cc
-	  was added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/membytes1.cc (simplex.1): file membytes1.cc was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.cc (simplex.1): file FCAIBVP.cc was added on branch
-	  simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.defs.hh (simplex.1): file FCAIBVP.defs.hh was added
-	  on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.inlines.hh (simplex.1): file FCAIBVP.inlines.hh was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.types.hh (simplex.1): file FCAIBVP.types.hh was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.defs.hh (simplex.1): file Variables_Set.defs.hh
-	  was added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.inlines.hh (simplex.1): file
-	  Variables_Set.inlines.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.types.hh (simplex.1): file
-	  Variables_Set.types.hh was added on branch simplex on 2008-01-07
-	  11:15:34 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/assign_or_swap.hh (simplex.1): file assign_or_swap.hh was
-	  added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.defs.hh (simplex.1): file distances.defs.hh was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.inlines.hh (simplex.1): file distances.inlines.hh
-	  was added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.types.hh (simplex.1): file distances.types.hh was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.defs.hh (simplex.1): file
-	  iterator_to_const.defs.hh was added on branch simplex on
-	  2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.inlines.hh (simplex.1): file
-	  iterator_to_const.inlines.hh was added on branch simplex on
-	  2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.types.hh (simplex.1): file
-	  iterator_to_const.types.hh was added on branch simplex on
-	  2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/meta_programming.hh (simplex.1): file meta_programming.hh was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_std_bits.cc (simplex.1): file mp_std_bits.cc was added on
-	  branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_std_bits.defs.hh (simplex.1): file mp_std_bits.defs.hh was
-	  added on branch simplex on 2008-01-07 11:15:35 +0000
-
-2008-01-01 Tuesday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_std_bits.inlines.hh (simplex.1): file
-	  mp_std_bits.inlines.hh was added on branch simplex on 2008-01-07
-	  11:15:35 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (simplex.1): file Any_Pointset.defs.hh
-	  was added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.inlines.hh (simplex.1): file
-	  Any_Pointset.inlines.hh was added on branch simplex on 2008-01-07
-	  11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.types.hh (simplex.1): file Any_Pointset.types.hh
-	  was added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ask_Tell.templates.hh (simplex.1): file Ask_Tell.templates.hh
-	  was added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.cc (simplex.1): file Bit_Matrix.cc was added on
-	  branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.defs.hh (simplex.1): file Bit_Matrix.defs.hh was
-	  added on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.inlines.hh (simplex.1): file Bit_Matrix.inlines.hh
-	  was added on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.types.hh (simplex.1): file Bit_Matrix.types.hh was
-	  added on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.cc (simplex.1): file Bit_Row.cc was added on branch
-	  simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.defs.hh (simplex.1): file Bit_Row.defs.hh was added
-	  on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.inlines.hh (simplex.1): file Bit_Row.inlines.hh was
-	  added on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.types.hh (simplex.1): file Bit_Row.types.hh was added
-	  on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Boundary.defs.hh (simplex.1): file Boundary.defs.hh was added
-	  on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.cc (simplex.1): file Box.cc was added on branch simplex
-	  on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (simplex.1): file Box.defs.hh was added on branch
-	  simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.inlines.hh (simplex.1): file Box.inlines.hh was added on
-	  branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (simplex.1): file Box.templates.hh was added
-	  on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.types.hh (simplex.1): file Box.types.hh was added on
-	  branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/C_Integer.hh (simplex.1): file C_Integer.hh was added on
-	  branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Has_Assign_Or_Swap.hh (simplex.1): file Has_Assign_Or_Swap.hh
-	  was added on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.templates.hh (simplex.1): file Interval.templates.hh
-	  was added on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval_Info.defs.hh (simplex.1): file Interval_Info.defs.hh
-	  was added on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval_Info.inlines.hh (simplex.1): file
-	  Interval_Info.inlines.hh was added on branch simplex on
-	  2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval_Info.types.hh (simplex.1): file
-	  Interval_Info.types.hh was added on branch simplex on 2008-01-07
-	  11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval_Restriction.defs.hh (simplex.1): file
-	  Interval_Restriction.defs.hh was added on branch simplex on
-	  2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (simplex.1): file MIP_Problem.cc was added on
-	  branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (simplex.1): file MIP_Problem.defs.hh was
-	  added on branch simplex on 2008-01-07 11:15:32 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.inlines.hh (simplex.1): file
-	  MIP_Problem.inlines.hh was added on branch simplex on 2008-01-07
-	  11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.templates.hh (simplex.1): file
-	  MIP_Problem.templates.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.types.hh (simplex.1): file MIP_Problem.types.hh
-	  was added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (simplex.1): file OR_Matrix.defs.hh was
-	  added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh (simplex.1): file OR_Matrix.inlines.hh
-	  was added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.templates.hh (simplex.1): file
-	  OR_Matrix.templates.hh was added on branch simplex on 2008-01-07
-	  11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.types.hh (simplex.1): file OR_Matrix.types.hh was
-	  added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.cc (simplex.1): file Octagonal_Shape.cc was
-	  added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (simplex.1): file
-	  Octagonal_Shape.defs.hh was added on branch simplex on 2008-01-07
-	  11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.inlines.hh (simplex.1): file
-	  Octagonal_Shape.inlines.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (simplex.1): file
-	  Octagonal_Shape.templates.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.types.hh (simplex.1): file
-	  Octagonal_Shape.types.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Og_Status.idefs.hh (simplex.1): file Og_Status.idefs.hh was
-	  added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Og_Status.inlines.hh (simplex.1): file Og_Status.inlines.hh
-	  was added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.defs.hh (simplex.1): file
-	  Partially_Reduced_Product.defs.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.inlines.hh (simplex.1): file
-	  Partially_Reduced_Product.inlines.hh was added on branch simplex
-	  on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.templates.hh (simplex.1): file
-	  Partially_Reduced_Product.templates.hh was added on branch
-	  simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.types.hh (simplex.1): file
-	  Partially_Reduced_Product.types.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.cc (simplex.1): file Pointset_Ask_Tell.cc
-	  was added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.defs.hh (simplex.1): file
-	  Pointset_Ask_Tell.defs.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.inlines.hh (simplex.1): file
-	  Pointset_Ask_Tell.inlines.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.templates.hh (simplex.1): file
-	  Pointset_Ask_Tell.templates.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.types.hh (simplex.1): file
-	  Pointset_Ask_Tell.types.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.cc (simplex.1): file Pointset_Powerset.cc
-	  was added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (simplex.1): file
-	  Pointset_Powerset.defs.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.inlines.hh (simplex.1): file
-	  Pointset_Powerset.inlines.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (simplex.1): file
-	  Pointset_Powerset.templates.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.types.hh (simplex.1): file
-	  Pointset_Powerset.types.hh was added on branch simplex on
-	  2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rational_Box.hh (simplex.1): file Rational_Box.hh was added
-	  on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Slow_Copy.hh (simplex.1): file Slow_Copy.hh was added on
-	  branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Temp.defs.hh (simplex.1): file Temp.defs.hh was added on
-	  branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Temp.inlines.hh (simplex.1): file Temp.inlines.hh was added
-	  on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Temp.templates.hh (simplex.1): file Temp.templates.hh was
-	  added on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.cc (simplex.1): file Variables_Set.cc was added
-	  on branch simplex on 2008-01-07 11:15:34 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_proper_long_double.m4 (simplex.1): file
-	  ac_cxx_proper_long_double.m4 was added on branch simplex on
-	  2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_remainder_bug.m4 (simplex.1): file
-	  ac_cxx_remainder_bug.m4 was added on branch simplex on 2008-01-07
-	  11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_jar.m4 (simplex.1): file ac_prog_jar.m4 was added on
-	  branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_java.m4 (simplex.1): file ac_prog_java.m4 was added on
-	  branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_javac.m4 (simplex.1): file ac_prog_javac.m4 was added
-	  on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_javah.m4 (simplex.1): file ac_prog_javah.m4 was added
-	  on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ppl_c.m4 (simplex.1): file ppl_c.m4 was added on branch
-	  simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (simplex.1): file ppl_interface_generator_predicate_check_code.m4
-	  was added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (simplex.1): file ppl_interface_generator_predicate_check_pl.m4
-	  was added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
-	  (simplex.1): file ppl_interface_generator_yap_cc.m4 was added on
-	  branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/ppl_predicate_check_common.pl
-	  (simplex.1): file ppl_predicate_check_common.pl was added on
-	  branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_cfli.hh (simplex.1): file yap_cfli.hh
-	  was added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (simplex.1): file ppl_interface_generator_swiprolog_cc.m4 was
-	  added on branch simplex on 2008-01-07 11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
-	  (simplex.1): file ppl_interface_generator_xsb_H.m4 was added on
-	  branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
-	  (simplex.1): file ppl_interface_generator_xsb_cc.m4 was added on
-	  branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (simplex.1): file
-	  ppl_interface_generator_xsb_predicate_check_P.m4 was added on
-	  branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_cfli.hh (simplex.1): file swi_cfli.hh
-	  was added on branch simplex on 2008-01-07 11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_predicate_check.pl (simplex.1): file
-	  swi_predicate_check.pl was added on branch simplex on 2008-01-07
-	  11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_cfli.hh (simplex.1): file xsb_cfli.hh
-	  was added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/gprolog_cfli.hh (simplex.1): file
-	  gprolog_cfli.hh was added on branch simplex on 2008-01-07
-	  11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
-	  (simplex.1): file ppl_interface_generator_gprolog_pl.m4 was added
-	  on branch simplex on 2008-01-07 11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (simplex.1): file ppl_interface_generator_sicstus_sd_cc.m4 was
-	  added on branch simplex on 2008-01-07 11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sp_predicate_check.pl (simplex.1): file
-	  sp_predicate_check.pl was added on branch simplex on 2008-01-07
-	  11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_cfli.hh (simplex.1): file
-	  ciao_cfli.hh was added on branch simplex on 2008-01-07 11:15:30
-	  +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
-	  (simplex.1): file ppl_interface_generator_ciao_pl.m4 was added on
-	  branch simplex on 2008-01-07 11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (simplex.1): file
-	  ppl_interface_generator_ciao_predicate_check_pl.m4 was added on
-	  branch simplex on 2008-01-07 11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
-	  (simplex.1): file ppl_interface_generator_prolog_dat.m4 was added
-	  on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
-	  (simplex.1): file ppl_interface_generator_prolog_icc.m4 was added
-	  on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (simplex.1): file ppl_interface_generator_prolog_systems.m4 was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.icc (simplex.1): file
-	  ppl_prolog_common.icc was added on branch simplex on 2008-01-07
-	  11:15:30 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/C_Polyhedron_test1.java (simplex.1): file
-	  C_Polyhedron_test1.java was added on branch simplex on 2008-01-07
-	  11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/Test_Partial_Function.java (simplex.1):
-	  file Test_Partial_Function.java was added on branch simplex on
-	  2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
-	  (simplex.1): file ppl_interface_generator_java_test_java.m4 was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (simplex.1): file ppl_interface_generator_java_test_java_code.m4
-	  was added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (simplex.1):
-	  file ppl_interface_generator_ocaml_cc.m4 was added on branch
-	  simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
-	  (simplex.1): file ppl_interface_generator_ocaml_cc_code.m4 was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4
-	  (simplex.1): file ppl_interface_generator_ocaml_dat.m4 was added
-	  on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (simplex.1):
-	  file ppl_interface_generator_ocaml_ml.m4 was added on branch
-	  simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
-	  (simplex.1): file ppl_interface_generator_ocaml_ml_code.m4 was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
-	  (simplex.1): file ppl_interface_generator_ocaml_mli.m4 was added
-	  on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
-	  (simplex.1): file ppl_interface_generator_ocaml_mli_code.m4 was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_globals.cc (simplex.1): file
-	  ppl_ocaml_globals.cc was added on branch simplex on 2008-01-07
-	  11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_globals.ml (simplex.1): file
-	  ppl_ocaml_globals.ml was added on branch simplex on 2008-01-07
-	  11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_types.ml (simplex.1): file
-	  ppl_ocaml_types.ml was added on branch simplex on 2008-01-07
-	  11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/test1.ml (simplex.1): file test1.ml was added on
-	  branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (simplex.1): file C_interface.dox
-	  was added on branch simplex on 2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/Makefile.am (simplex.1): file Makefile.am was added on
-	  branch simplex on 2008-01-07 11:15:27 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (simplex.1): file Makefile.am was
-	  added on branch simplex on 2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/: jni/Makefile.am, tests/Makefile.am
-	  (simplex.[1,1]): file Makefile.am was added on branch simplex on
-	  2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_version.h.in (simplex.1): file
-	  ppl_c_version.h.in was added on branch simplex on 2008-01-07
-	  11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc.m4 (simplex.1): file
-	  ppl_interface_generator_c_cc.m4 was added on branch simplex on
-	  2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (simplex.1):
-	  file ppl_interface_generator_c_cc_code.m4 was added on branch
-	  simplex on 2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_preamble (simplex.1):
-	  file ppl_interface_generator_c_cc_preamble was added on branch
-	  simplex on 2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (simplex.1): file
-	  ppl_interface_generator_c_dat.m4 was added on branch simplex on
-	  2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (simplex.1): file
-	  ppl_interface_generator_c_h.m4 was added on branch simplex on
-	  2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_code.m4 (simplex.1):
-	  file ppl_interface_generator_c_h_code.m4 was added on branch
-	  simplex on 2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_preamble (simplex.1):
-	  file ppl_interface_generator_c_h_preamble was added on branch
-	  simplex on 2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common.m4 (simplex.1): file
-	  ppl_interface_generator_common.m4 was added on branch simplex on
-	  2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (simplex.1):
-	  file ppl_interface_generator_common_dat.m4 was added on branch
-	  simplex on 2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_copyright (simplex.1): file
-	  ppl_interface_generator_copyright was added on branch simplex on
-	  2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/ppl_interface_generator_java_dat.m4 (simplex.1):
-	  file ppl_interface_generator_java_dat.m4 was added on branch
-	  simplex on 2008-01-07 11:15:28 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (simplex.1): file
-	  ppl_interface_generator_java_ppl_java_classes_cc.m4 was added on
-	  branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (simplex.1): file
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.cc (simplex.1): file
-	  ppl_java_common.cc was added on branch simplex on 2008-01-07
-	  11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.hh (simplex.1): file
-	  ppl_java_common.hh was added on branch simplex on 2008-01-07
-	  11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_globals.cc (simplex.1): file
-	  ppl_java_globals.cc was added on branch simplex on 2008-01-07
-	  11:15:29 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-c-interface.tex (simplex.1): file
-	  devref-c-interface.tex was added on branch simplex on 2008-01-07
-	  11:15:27 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl-config_extra_man_text (simplex.1): file
-	  ppl-config_extra_man_text was added on branch simplex on
-	  2008-01-07 11:15:27 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lcdd_extra_man_text (simplex.1): file
-	  ppl_lcdd_extra_man_text was added on branch simplex on 2008-01-07
-	  11:15:27 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lpsol_extra_man_text (simplex.1): file
-	  ppl_lpsol_extra_man_text was added on branch simplex on
-	  2008-01-07 11:15:27 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-c-interface.tex (simplex.1): file user-c-interface.tex
-	  was added on branch simplex on 2008-01-07 11:15:27 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-prolog-interface.tex (simplex.1): file
-	  user-prolog-interface.tex was added on branch simplex on
-	  2008-01-07 11:15:27 +0000
-
-2008-01-01 Tuesday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/doc/user.tex (simplex.1): file user.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>
-
-	* Makefile.am (1.44), README (1.52), README.configure (1.24),
-	  configure.ac (1.300), instchk.hh (1.10), Watchdog/Makefile.am
-	  (1.33), Watchdog/README (1.17), Watchdog/configure.ac (1.43),
-	  Watchdog/doc/Makefile.am (1.4), Watchdog/doc/README.doc (1.3),
-	  Watchdog/doc/devref.tex (1.4), Watchdog/doc/pwl.sty (1.3),
-	  Watchdog/doc/user.tex (1.4), Watchdog/m4/Makefile.am (1.3),
-	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.5),
-	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.5),
-	  Watchdog/src/Doubly_Linked_Object.types.hh (1.4),
-	  Watchdog/src/EList.defs.hh (1.7), Watchdog/src/EList.inlines.hh
-	  (1.5), Watchdog/src/EList.types.hh (1.4),
-	  Watchdog/src/EList_Iterator.defs.hh (1.5),
-	  Watchdog/src/EList_Iterator.inlines.hh (1.5),
-	  Watchdog/src/EList_Iterator.types.hh (1.4),
-	  Watchdog/src/Handler.defs.hh (1.6),
-	  Watchdog/src/Handler.inlines.hh (1.5),
-	  Watchdog/src/Handler.types.hh (1.4), Watchdog/src/Makefile.am
-	  (1.13), Watchdog/src/Pending_Element.cc (1.6),
-	  Watchdog/src/Pending_Element.defs.hh (1.6),
-	  Watchdog/src/Pending_Element.inlines.hh (1.5),
-	  Watchdog/src/Pending_Element.types.hh (1.4),
-	  Watchdog/src/Pending_List.cc (1.6),
-	  Watchdog/src/Pending_List.defs.hh (1.6),
-	  Watchdog/src/Pending_List.inlines.hh (1.5),
-	  Watchdog/src/Pending_List.types.hh (1.4), Watchdog/src/Time.cc
-	  (1.6), Watchdog/src/Time.defs.hh (1.6),
-	  Watchdog/src/Time.inlines.hh (1.5), Watchdog/src/Time.types.hh
-	  (1.4), Watchdog/src/Watchdog.cc (1.8),
-	  Watchdog/src/Watchdog.defs.hh (1.8),
-	  Watchdog/src/Watchdog.inlines.hh (1.5),
-	  Watchdog/src/Watchdog.types.hh (1.4), Watchdog/src/pwl_header.hh
-	  (1.6), Watchdog/utils/Makefile.am (1.9),
-	  Watchdog/utils/build_header.in (1.6), debian/Makefile.am (1.5),
-	  debian/libppl-pwl.copyright.in (1.6), debian/libppl.copyright.in
-	  (1.6), demos/Makefile.am (1.12), demos/ppl_lcdd/Makefile.am
-	  (1.29), demos/ppl_lcdd/ppl_lcdd.cc (1.61),
-	  demos/ppl_lcdd/examples/Makefile.am (1.10),
-	  demos/ppl_lpsol/Makefile.am (1.44), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.76), demos/ppl_lpsol/examples/Makefile.am (1.11),
-	  doc/Makefile.am (1.56), doc/README.doc (1.13),
-	  doc/definitions.dox (1.206), doc/devref-c-interface.tex (1.3),
-	  doc/devref.tex (1.24), doc/ppl-config.1 (1.6),
-	  doc/ppl-config_extra_man_text (1.3), doc/ppl.sty (1.28),
-	  doc/ppl_lcdd.1 (1.4), doc/ppl_lcdd_extra_man_text (1.3),
-	  doc/ppl_lpsol.1 (1.4), doc/ppl_lpsol_extra_man_text (1.3),
-	  doc/user-c-interface.tex (1.3), doc/user-prolog-interface.tex
-	  (1.3), doc/user.tex (1.25), fedora/Makefile.am (1.2),
-	  interfaces/Makefile.am (1.28),
-	  interfaces/ppl_interface_generator_common.m4 (1.19),
-	  interfaces/ppl_interface_generator_common_dat.m4 (1.32),
-	  interfaces/ppl_interface_generator_copyright (1.5),
-	  interfaces/C/C_interface.dox (1.3), interfaces/C/Makefile.am
-	  (1.37), interfaces/C/ppl_c.h.in (1.74),
-	  interfaces/C/ppl_c_version.h.in (1.7),
-	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.9),
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.19),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.13),
-	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.13),
-	  interfaces/C/ppl_interface_generator_c_h.m4 (1.13),
-	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.10),
-	  interfaces/C/ppl_interface_generator_c_h_preamble (1.9),
-	  interfaces/Java/Makefile.am (1.14),
-	  interfaces/Java/ppl_interface_generator_java_dat.m4 (1.12),
-	  interfaces/Java/jni/Makefile.am (1.15),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.10),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.34), interfaces/Java/jni/ppl_java_common.cc (1.37),
-	  interfaces/Java/jni/ppl_java_common.hh (1.31),
-	  interfaces/Java/jni/ppl_java_globals.cc (1.9),
-	  interfaces/Java/tests/C_Polyhedron_test1.java (1.13),
-	  interfaces/Java/tests/Makefile.am (1.17),
-	  interfaces/Java/tests/Test_Partial_Function.java (1.4),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
-	  (1.11),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.24), interfaces/OCaml/Makefile.am (1.34),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (1.5),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.17),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4 (1.7),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.10),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.14),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.8),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.8),
-	  interfaces/OCaml/ppl_ocaml_globals.cc (1.12),
-	  interfaces/OCaml/ppl_ocaml_globals.ml (1.8),
-	  interfaces/OCaml/ppl_ocaml_types.ml (1.11),
-	  interfaces/OCaml/test1.ml (1.31), interfaces/Prolog/Makefile.am
-	  (1.43), interfaces/Prolog/Prolog_interface.dox (1.161),
-	  interfaces/Prolog/exceptions.hh (1.26),
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.35),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.12),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.50),
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (1.11), interfaces/Prolog/ppl_prolog_common.icc (1.13),
-	  interfaces/Prolog/track_allocation.hh (1.24),
-	  interfaces/Prolog/Ciao/Makefile.am (1.67),
-	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.5),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.20),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.16),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.27),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.52),
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.7),
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (1.6), interfaces/Prolog/GNU/Makefile.am (1.67),
-	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.12),
-	  interfaces/Prolog/GNU/gp_clpq.pl (1.13),
-	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.8),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.45),
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
-	  (1.7), interfaces/Prolog/SICStus/Makefile.am (1.79),
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (1.11), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.29),
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.9),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.11),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.19),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.20),
-	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.14),
-	  interfaces/Prolog/SICStus/sp_predicate_check.pl (1.4),
-	  interfaces/Prolog/SWI/Makefile.am (1.77),
-	  interfaces/Prolog/SWI/pl_clpq.cc (1.14),
-	  interfaces/Prolog/SWI/pl_clpq.pl (1.12),
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.14), interfaces/Prolog/SWI/ppl_pl.cc (1.14),
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.9),
-	  interfaces/Prolog/SWI/swi_cfli.hh (1.8),
-	  interfaces/Prolog/SWI/swi_pl_check.pl (1.11),
-	  interfaces/Prolog/SWI/swi_predicate_check.pl (1.4),
-	  interfaces/Prolog/XSB/Makefile.am (1.56),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.8),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.10),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (1.6), interfaces/Prolog/XSB/xsb_cfli.hh (1.5),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.19),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.17),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.31),
-	  interfaces/Prolog/YAP/Makefile.am (1.56),
-	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.8),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.13),
-	  interfaces/Prolog/YAP/yap_cfli.hh (1.5),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.14),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.10),
-	  interfaces/Prolog/YAP/yap_pl_check.pl (1.14),
-	  interfaces/Prolog/tests/Makefile.am (1.17),
-	  interfaces/Prolog/tests/clpq.pl (1.11),
-	  interfaces/Prolog/tests/clpq2.pl (1.13),
-	  interfaces/Prolog/tests/expected_clpq2_int16 (1.4),
-	  interfaces/Prolog/tests/expected_clpq2_int16_a (1.4),
-	  interfaces/Prolog/tests/expected_clpq2_int32 (1.4),
-	  interfaces/Prolog/tests/expected_clpq2_int32_a (1.6),
-	  interfaces/Prolog/tests/expected_clpq2_int64 (1.4),
-	  interfaces/Prolog/tests/expected_clpq2_int64_a (1.4),
-	  interfaces/Prolog/tests/expected_clpq2_int8 (1.6),
-	  interfaces/Prolog/tests/expected_clpq2_int8_a (1.6),
-	  interfaces/Prolog/tests/expected_clpq2_mpz (1.4),
-	  interfaces/Prolog/tests/expected_clpq2_mpz_a (1.4),
-	  interfaces/Prolog/tests/expected_clpq_int16 (1.6),
-	  interfaces/Prolog/tests/expected_clpq_int16_a (1.6),
-	  interfaces/Prolog/tests/expected_clpq_int32 (1.4),
-	  interfaces/Prolog/tests/expected_clpq_int32_a (1.4),
-	  interfaces/Prolog/tests/expected_clpq_int64 (1.4),
-	  interfaces/Prolog/tests/expected_clpq_int64_a (1.4),
-	  interfaces/Prolog/tests/expected_clpq_int8 (1.4),
-	  interfaces/Prolog/tests/expected_clpq_int8_a (1.4),
-	  interfaces/Prolog/tests/expected_clpq_mpz (1.4),
-	  interfaces/Prolog/tests/expected_clpq_mpz_a (1.4),
-	  interfaces/Prolog/tests/pl_check.pl (1.53),
-	  interfaces/Prolog/tests/pl_grid_check.pl (1.6),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.52),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.28), interfaces/Prolog/tests/ppl_predicate_check_common.pl
-	  (1.5), m4/Makefile.am (1.29), m4/ac_check_fpu_control.m4 (1.6),
-	  m4/ac_check_gmp.m4 (1.26), m4/ac_check_sicstus_prolog.m4 (1.8),
-	  m4/ac_check_swi_prolog.m4 (1.14), m4/ac_check_xsb_prolog.m4
-	  (1.5), m4/ac_cxx_attribute_weak.m4 (1.10),
-	  m4/ac_cxx_double_binary_format.m4 (1.7),
-	  m4/ac_cxx_flexible_arrays.m4 (1.15),
-	  m4/ac_cxx_float_binary_format.m4 (1.6),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.7),
-	  m4/ac_cxx_proper_long_double.m4 (1.3), m4/ac_cxx_remainder_bug.m4
-	  (1.3), m4/ac_prog_jar.m4 (1.3), m4/ac_prog_java.m4 (1.6),
-	  m4/ac_prog_javac.m4 (1.7), m4/ac_prog_javah.m4 (1.9),
-	  m4/ac_text_md5sum.m4 (1.4), m4/ppl.m4 (1.9), m4/ppl_c.m4 (1.2),
-	  src/Any_Pointset.defs.hh (1.17), src/Any_Pointset.inlines.hh
-	  (1.4), src/Any_Pointset.types.hh (1.3), src/Ask_Tell.defs.hh
-	  (1.19), src/Ask_Tell.inlines.hh (1.18), src/Ask_Tell.templates.hh
-	  (1.10), src/Ask_Tell.types.hh (1.7), src/BDS_Status.idefs.hh
-	  (1.22), src/BDS_Status.inlines.hh (1.18), src/BD_Shape.cc (1.9),
-	  src/BD_Shape.defs.hh (1.109), src/BD_Shape.inlines.hh (1.155),
-	  src/BD_Shape.templates.hh (1.90), src/BD_Shape.types.hh (1.7),
-	  src/BHRZ03_Certificate.cc (1.14), src/BHRZ03_Certificate.defs.hh
-	  (1.19), src/BHRZ03_Certificate.inlines.hh (1.10),
-	  src/BHRZ03_Certificate.types.hh (1.6), src/Bit_Matrix.cc (1.5),
-	  src/Bit_Matrix.defs.hh (1.5), src/Bit_Matrix.inlines.hh (1.4),
-	  src/Bit_Matrix.types.hh (1.3), src/Bit_Row.cc (1.5),
-	  src/Bit_Row.defs.hh (1.9), src/Bit_Row.inlines.hh (1.6),
-	  src/Bit_Row.types.hh (1.3), src/Boundary.defs.hh (1.10),
-	  src/Box.cc (1.10), src/Box.defs.hh (1.34), src/Box.inlines.hh
-	  (1.23), src/Box.templates.hh (1.74), src/Box.types.hh (1.4),
-	  src/C_Integer.hh (1.6), src/C_Polyhedron.cc (1.24),
-	  src/C_Polyhedron.defs.hh (1.53), src/C_Polyhedron.inlines.hh
-	  (1.39), src/C_Polyhedron.types.hh (1.12), src/Checked_Number.cc
-	  (1.14), src/Checked_Number.defs.hh (1.96),
-	  src/Checked_Number.inlines.hh (1.78), src/Checked_Number.types.hh
-	  (1.11), src/Coefficient.cc (1.9), src/Coefficient.defs.hh (1.11),
-	  src/Coefficient.inlines.hh (1.10), src/Coefficient.types.hh
-	  (1.16), src/Coefficient_traits_template.hh (1.9),
-	  src/Congruence.cc (1.19), src/Congruence.defs.hh (1.23),
-	  src/Congruence.inlines.hh (1.19), src/Congruence.types.hh (1.4),
-	  src/Congruence_System.cc (1.28), src/Congruence_System.defs.hh
-	  (1.26), src/Congruence_System.inlines.hh (1.11),
-	  src/Congruence_System.types.hh (1.4), src/Constraint.cc (1.70),
-	  src/Constraint.defs.hh (1.128), src/Constraint.inlines.hh (1.69),
-	  src/Constraint.types.hh (1.12), src/Constraint_System.cc (1.29),
-	  src/Constraint_System.defs.hh (1.40),
-	  src/Constraint_System.inlines.hh (1.12),
-	  src/Constraint_System.types.hh (1.6), src/DB_Matrix.defs.hh
-	  (1.30), src/DB_Matrix.inlines.hh (1.34),
-	  src/DB_Matrix.templates.hh (1.8), src/DB_Matrix.types.hh (1.7),
-	  src/DB_Row.defs.hh (1.26), src/DB_Row.inlines.hh (1.24),
-	  src/DB_Row.templates.hh (1.8), src/DB_Row.types.hh (1.9),
-	  src/Determinate.defs.hh (1.68), src/Determinate.inlines.hh
-	  (1.58), src/Determinate.types.hh (1.11), src/Float.cc (1.8),
-	  src/Float.defs.hh (1.27), src/Float.inlines.hh (1.32),
-	  src/GMP_Integer.defs.hh (1.28), src/GMP_Integer.inlines.hh
-	  (1.23), src/GMP_Integer.types.hh (1.17), src/Generator.cc (1.77),
-	  src/Generator.defs.hh (1.125), src/Generator.inlines.hh (1.63),
-	  src/Generator.types.hh (1.12), src/Generator_System.cc (1.26),
-	  src/Generator_System.defs.hh (1.27),
-	  src/Generator_System.inlines.hh (1.11),
-	  src/Generator_System.types.hh (1.6), src/Grid.defs.hh (1.63),
-	  src/Grid.inlines.hh (1.22), src/Grid.templates.hh (1.33),
-	  src/Grid.types.hh (1.4), src/Grid_Certificate.cc (1.11),
-	  src/Grid_Certificate.defs.hh (1.7),
-	  src/Grid_Certificate.inlines.hh (1.5),
-	  src/Grid_Certificate.types.hh (1.4), src/Grid_Generator.cc
-	  (1.23), src/Grid_Generator.defs.hh (1.33),
-	  src/Grid_Generator.inlines.hh (1.16), src/Grid_Generator.types.hh
-	  (1.4), src/Grid_Generator_System.cc (1.21),
-	  src/Grid_Generator_System.defs.hh (1.29),
-	  src/Grid_Generator_System.inlines.hh (1.17),
-	  src/Grid_Generator_System.types.hh (1.4), src/Grid_Status.cc
-	  (1.9), src/Grid_Status.idefs.hh (1.8), src/Grid_Status.inlines.hh
-	  (1.5), src/Grid_chdims.cc (1.21), src/Grid_conversion.cc (1.23),
-	  src/Grid_nonpublic.cc (1.32), src/Grid_public.cc (1.63),
-	  src/Grid_simplify.cc (1.37), src/Grid_widenings.cc (1.17),
-	  src/H79_Certificate.cc (1.13), src/H79_Certificate.defs.hh
-	  (1.17), src/H79_Certificate.inlines.hh (1.11),
-	  src/H79_Certificate.types.hh (1.6), src/Has_Assign_Or_Swap.hh
-	  (1.3), src/Init.cc (1.33), src/Init.defs.hh (1.20),
-	  src/Init.types.hh (1.11), src/Interval.defs.hh (1.50),
-	  src/Interval.inlines.hh (1.29), src/Interval.templates.hh (1.4),
-	  src/Interval.types.hh (1.14), src/Interval_Info.defs.hh (1.6),
-	  src/Interval_Info.inlines.hh (1.7), src/Interval_Info.types.hh
-	  (1.4), src/Interval_Restriction.defs.hh (1.11),
-	  src/Linear_Expression.cc (1.20), src/Linear_Expression.defs.hh
-	  (1.38), src/Linear_Expression.inlines.hh (1.13),
-	  src/Linear_Expression.types.hh (1.6), src/Linear_Row.cc (1.25),
-	  src/Linear_Row.defs.hh (1.26), src/Linear_Row.inlines.hh (1.14),
-	  src/Linear_Row.types.hh (1.6), src/Linear_System.cc (1.47),
-	  src/Linear_System.defs.hh (1.33), src/Linear_System.inlines.hh
-	  (1.24), src/Linear_System.types.hh (1.6), src/MIP_Problem.cc
-	  (1.65), src/MIP_Problem.defs.hh (1.37),
-	  src/MIP_Problem.inlines.hh (1.17), src/MIP_Problem.templates.hh
-	  (1.12), src/MIP_Problem.types.hh (1.3), src/Makefile.am (1.176),
-	  src/Matrix.cc (1.98), src/Matrix.defs.hh (1.84),
-	  src/Matrix.inlines.hh (1.53), src/Matrix.types.hh (1.12),
-	  src/NNC_Polyhedron.cc (1.24), src/NNC_Polyhedron.defs.hh (1.54),
-	  src/NNC_Polyhedron.inlines.hh (1.40), src/NNC_Polyhedron.types.hh
-	  (1.12), src/Numeric_Format.defs.hh (1.8), src/OR_Matrix.defs.hh
-	  (1.14), src/OR_Matrix.inlines.hh (1.10),
-	  src/OR_Matrix.templates.hh (1.7), src/OR_Matrix.types.hh (1.4),
-	  src/Octagonal_Shape.cc (1.8), src/Octagonal_Shape.defs.hh (1.37),
-	  src/Octagonal_Shape.inlines.hh (1.26),
-	  src/Octagonal_Shape.templates.hh (1.64),
-	  src/Octagonal_Shape.types.hh (1.4), src/Og_Status.idefs.hh (1.8),
-	  src/Og_Status.inlines.hh (1.6),
-	  src/Partially_Reduced_Product.defs.hh (1.19),
-	  src/Partially_Reduced_Product.inlines.hh (1.17),
-	  src/Partially_Reduced_Product.templates.hh (1.8),
-	  src/Partially_Reduced_Product.types.hh (1.3), src/Ph_Status.cc
-	  (1.15), src/Ph_Status.idefs.hh (1.22), src/Ph_Status.inlines.hh
-	  (1.10), src/Pointset_Ask_Tell.cc (1.8),
-	  src/Pointset_Ask_Tell.defs.hh (1.14),
-	  src/Pointset_Ask_Tell.inlines.hh (1.7),
-	  src/Pointset_Ask_Tell.templates.hh (1.12),
-	  src/Pointset_Ask_Tell.types.hh (1.4), src/Pointset_Powerset.cc
-	  (1.16), src/Pointset_Powerset.defs.hh (1.22),
-	  src/Pointset_Powerset.inlines.hh (1.10),
-	  src/Pointset_Powerset.templates.hh (1.17),
-	  src/Pointset_Powerset.types.hh (1.3), src/Poly_Con_Relation.cc
-	  (1.17), src/Poly_Con_Relation.defs.hh (1.36),
-	  src/Poly_Con_Relation.inlines.hh (1.17),
-	  src/Poly_Con_Relation.types.hh (1.11), src/Poly_Gen_Relation.cc
-	  (1.17), src/Poly_Gen_Relation.defs.hh (1.34),
-	  src/Poly_Gen_Relation.inlines.hh (1.17),
-	  src/Poly_Gen_Relation.types.hh (1.11), src/Polyhedron.defs.hh
-	  (1.329), src/Polyhedron.inlines.hh (1.145),
-	  src/Polyhedron.templates.hh (1.16), src/Polyhedron.types.hh
-	  (1.18), src/Polyhedron_chdims.cc (1.45),
-	  src/Polyhedron_nonpublic.cc (1.82), src/Polyhedron_public.cc
-	  (1.106), src/Polyhedron_widenings.cc (1.65), src/Powerset.defs.hh
-	  (1.31), src/Powerset.inlines.hh (1.21), src/Powerset.templates.hh
-	  (1.6), src/Powerset.types.hh (1.7), src/Ptr_Iterator.defs.hh
-	  (1.12), src/Ptr_Iterator.inlines.hh (1.9),
-	  src/Ptr_Iterator.types.hh (1.7), src/Rational_Box.hh (1.7),
-	  src/Result.defs.hh (1.20), src/Result.inlines.hh (1.12),
-	  src/Rounding_Dir.defs.hh (1.14), src/Rounding_Dir.inlines.hh
-	  (1.8), src/Row.cc (1.105), src/Row.defs.hh (1.113),
-	  src/Row.inlines.hh (1.67), src/Row.types.hh (1.13),
-	  src/Scalar_Products.cc (1.10), src/Scalar_Products.defs.hh
-	  (1.11), src/Scalar_Products.inlines.hh (1.7),
-	  src/Scalar_Products.types.hh (1.5), src/Slow_Copy.hh (1.3),
-	  src/Temp.defs.hh (1.8), src/Temp.inlines.hh (1.4),
-	  src/Temp.templates.hh (1.3), src/Topology.hh (1.15),
-	  src/Variable.cc (1.25), src/Variable.defs.hh (1.55),
-	  src/Variable.inlines.hh (1.26), src/Variable.types.hh (1.12),
-	  src/Variables_Set.cc (1.7), src/Variables_Set.defs.hh (1.8),
-	  src/Variables_Set.inlines.hh (1.6), src/Variables_Set.types.hh
-	  (1.3), src/Widening_Function.defs.hh (1.19),
-	  src/Widening_Function.inlines.hh (1.16),
-	  src/Widening_Function.types.hh (1.7), src/algorithms.hh (1.50),
-	  src/assign_or_swap.hh (1.2), src/checked.cc (1.22),
-	  src/checked.defs.hh (1.44), src/checked.inlines.hh (1.41),
-	  src/checked_ext.defs.hh (1.15), src/checked_ext.inlines.hh
-	  (1.41), src/checked_float.inlines.hh (1.83),
-	  src/checked_int.inlines.hh (1.65), src/checked_mpq.inlines.hh
-	  (1.44), src/checked_mpz.inlines.hh (1.51),
-	  src/checked_numeric_limits.hh (1.22), src/compiler.hh (1.12),
-	  src/conversion.cc (1.85), src/distances.defs.hh (1.5),
-	  src/distances.inlines.hh (1.6), src/distances.types.hh (1.4),
-	  src/fpu-c99.inlines.hh (1.16), src/fpu-ia32.inlines.hh (1.18),
-	  src/fpu-none.inlines.hh (1.8), src/fpu-sparc.inlines.hh (1.10),
-	  src/fpu.defs.hh (1.17), src/fpu.types.hh (1.6), src/globals.cc
-	  (1.32), src/globals.defs.hh (1.52), src/globals.inlines.hh
-	  (1.20), src/globals.types.hh (1.12), src/initializer.hh (1.16),
-	  src/iterator_to_const.defs.hh (1.7),
-	  src/iterator_to_const.inlines.hh (1.5),
-	  src/iterator_to_const.types.hh (1.3), src/max_space_dimension.hh
-	  (1.14), src/meta_programming.hh (1.9), src/minimize.cc (1.49),
-	  src/mp_std_bits.cc (1.6), src/mp_std_bits.defs.hh (1.6),
-	  src/mp_std_bits.inlines.hh (1.5), src/namespaces.hh (1.13),
-	  src/ppl-config.cc.in (1.23), src/ppl_header.hh (1.8),
-	  src/simplify.cc (1.50), src/swapping_sort.icc (1.14),
-	  src/version.cc (1.11), src/version.hh.in (1.17), tests/FCAIBVP.cc
-	  (1.6), tests/FCAIBVP.defs.hh (1.6), tests/FCAIBVP.inlines.hh
-	  (1.6), tests/FCAIBVP.types.hh (1.3), tests/Makefile.am (1.264),
-	  tests/Partial_Function.cc (1.7), tests/Partial_Function.defs.hh
-	  (1.5), tests/Partial_Function.inlines.hh (1.4),
-	  tests/Partial_Function.types.hh (1.3),
-	  tests/Random_Number_Generator.defs.hh (1.6),
-	  tests/Random_Number_Generator.inlines.hh (1.11),
-	  tests/Random_Number_Generator.types.hh (1.4), tests/files.cc
-	  (1.12), tests/files.hh (1.12), tests/ppl_test.cc (1.12),
-	  tests/ppl_test.hh (1.68), tests/print.cc (1.29), tests/print.hh
-	  (1.45), tests/Ask_Tell/Makefile.am (1.5),
-	  tests/Ask_Tell/append1.cc (1.7), tests/BD_Shape/Makefile.am
-	  (1.70), tests/BD_Shape/addconstraints1.cc (1.19),
-	  tests/BD_Shape/addspacedims1.cc (1.16),
-	  tests/BD_Shape/affinedimension1.cc (1.13),
-	  tests/BD_Shape/affineimage1.cc (1.20),
-	  tests/BD_Shape/affineimage2.cc (1.14),
-	  tests/BD_Shape/affinepreimage1.cc (1.22),
-	  tests/BD_Shape/ascii_dump_load1.cc (1.16),
-	  tests/BD_Shape/bdsdifference1.cc (1.16),
-	  tests/BD_Shape/bdshull1.cc (1.17),
-	  tests/BD_Shape/bgp99extrapolation1.cc (1.11),
-	  tests/BD_Shape/bhmz05widening1.cc (1.16),
-	  tests/BD_Shape/bhz03widening1.cc (1.11),
-	  tests/BD_Shape/bounded1.cc (1.4),
-	  tests/BD_Shape/boundedaffineimage1.cc (1.5),
-	  tests/BD_Shape/boundedaffinepreimage1.cc (1.4),
-	  tests/BD_Shape/boundingbox1.cc (1.2), tests/BD_Shape/bounds1.cc
-	  (1.4), tests/BD_Shape/cc76extrapolation1.cc (1.20),
-	  tests/BD_Shape/cc76narrowing1.cc (1.19),
-	  tests/BD_Shape/closure1.cc (1.21), tests/BD_Shape/concatenate1.cc
-	  (1.15), tests/BD_Shape/constraints1.cc (1.20),
-	  tests/BD_Shape/contains1.cc (1.16),
-	  tests/BD_Shape/containsintegerpoint1.cc (1.4),
-	  tests/BD_Shape/discrete1.cc (1.4), tests/BD_Shape/disjoint1.cc
-	  (1.7), tests/BD_Shape/empty1.cc (1.12),
-	  tests/BD_Shape/equality1.cc (1.17),
-	  tests/BD_Shape/expandspacedim1.cc (1.5),
-	  tests/BD_Shape/foldspacedims1.cc (1.7),
-	  tests/BD_Shape/fromgensys1.cc (1.16), tests/BD_Shape/fromgrid1.cc
-	  (1.3), tests/BD_Shape/fromoctagonalshape1.cc (1.2),
-	  tests/BD_Shape/frompolyhedron1.cc (1.6),
-	  tests/BD_Shape/fromspacedim1.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.18),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.22),
-	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.16),
-	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.17),
-	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.7),
-	  tests/BD_Shape/geomcovers1.cc (1.11),
-	  tests/BD_Shape/h79widening1.cc (1.14),
-	  tests/BD_Shape/intersection1.cc (1.19),
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.15),
-	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.16),
-	  tests/BD_Shape/limitedh79extrapolation1.cc (1.15),
-	  tests/BD_Shape/mapspacedims1.cc (1.16),
-	  tests/BD_Shape/max_min1.cc (1.4), tests/BD_Shape/max_min2.cc
-	  (1.6), tests/BD_Shape/maxspacedim1.cc (1.5),
-	  tests/BD_Shape/membytes1.cc (1.4),
-	  tests/BD_Shape/minconstraints1.cc (1.12),
-	  tests/BD_Shape/relations1.cc (1.19), tests/BD_Shape/relations2.cc
-	  (1.23), tests/BD_Shape/relations3.cc (1.27),
-	  tests/BD_Shape/removespacedims1.cc (1.21),
-	  tests/BD_Shape/run_tests (1.20), tests/BD_Shape/timeelapse1.cc
-	  (1.21), tests/BD_Shape/universe1.cc (1.16),
-	  tests/BD_Shape/writebdshape1.cc (1.11), tests/Box/Makefile.am
-	  (1.47), tests/Box/addconstraints1.cc (1.10),
-	  tests/Box/addspacedims1.cc (1.5), tests/Box/affinedimension1.cc
-	  (1.7), tests/Box/affineimage1.cc (1.8),
-	  tests/Box/affinepreimage1.cc (1.5), tests/Box/ascii_dump_load1.cc
-	  (1.5), tests/Box/bdsdifference1.cc (1.6),
-	  tests/Box/bgp99extrapolation1.cc (1.5),
-	  tests/Box/bhz03widening1.cc (1.5), tests/Box/bounded1.cc (1.5),
-	  tests/Box/boundedaffineimage1.cc (1.5),
-	  tests/Box/boxdifference1.cc (1.7), tests/Box/boxhull.cc (1.5),
-	  tests/Box/boxhull1.cc (1.6), tests/Box/cc76narrowing1.cc (1.6),
-	  tests/Box/cc76widening.cc (1.7), tests/Box/closure1.cc (1.5),
-	  tests/Box/concatenate1.cc (1.6), tests/Box/congruences1.cc (1.2),
-	  tests/Box/constraints1.cc (1.10), tests/Box/contains1.cc (1.6),
-	  tests/Box/containsintegerpoint1.cc (1.7), tests/Box/discrete1.cc
-	  (1.6), tests/Box/disjoint1.cc (1.6), tests/Box/empty1.cc (1.6),
-	  tests/Box/equality1.cc (1.6), tests/Box/expandspacedim1.cc (1.7),
-	  tests/Box/foldspacedims1.cc (1.8), tests/Box/frombdshape1.cc
-	  (1.3), tests/Box/frombox1.cc (1.4), tests/Box/fromgensys1.cc
-	  (1.5), tests/Box/fromgrid1.cc (1.6),
-	  tests/Box/frompartiallyreducedproduct1.cc (1.2),
-	  tests/Box/frompolyhedron1.cc (1.12), tests/Box/frompolyhedron2.cc
-	  (1.10), tests/Box/fromspacedim1.cc (1.3),
-	  tests/Box/generalizedaffineimage1.cc (1.6),
-	  tests/Box/generalizedaffinepreimage1.cc (1.6),
-	  tests/Box/geomcovers1.cc (1.5), tests/Box/intersection1.cc (1.7),
-	  tests/Box/interval1.cc (1.5), tests/Box/interval2.cc (1.5),
-	  tests/Box/mapspacedims1.cc (1.5), tests/Box/max_min1.cc (1.7),
-	  tests/Box/maxspacedim1.cc (1.6), tests/Box/membytes1.cc (1.5),
-	  tests/Box/minconstraints1.cc (1.6),
-	  tests/Box/pointsetpowerset1.cc (1.4), tests/Box/refine1.cc
-	  (1.11), tests/Box/refine2.cc (1.10), tests/Box/refine3.cc (1.3),
-	  tests/Box/relations1.cc (1.6), tests/Box/relations2.cc (1.4),
-	  tests/Box/removespacedims1.cc (1.7), tests/Box/run_tests (1.4),
-	  tests/Box/timeelapse1.cc (1.6), tests/Box/universe1.cc (1.5),
-	  tests/Box/writebox1.cc (1.5), tests/Grid/Makefile.am (1.59),
-	  tests/Grid/addcongruence1.cc (1.15),
-	  tests/Grid/addcongruences1.cc (1.18),
-	  tests/Grid/addconstraint1.cc (1.13),
-	  tests/Grid/addconstraints1.cc (1.14), tests/Grid/addgenerator1.cc
-	  (1.17), tests/Grid/addgenerators1.cc (1.17),
-	  tests/Grid/addspacedims1.cc (1.16), tests/Grid/affinedim1.cc
-	  (1.13), tests/Grid/affineimage1.cc (1.15),
-	  tests/Grid/affineimage2.cc (1.13), tests/Grid/affinepreimage1.cc
-	  (1.16), tests/Grid/affinepreimage2.cc (1.9),
-	  tests/Grid/approximatepartition1.cc (1.4),
-	  tests/Grid/asciidumpload1.cc (1.15), tests/Grid/asciidumpload2.cc
-	  (1.7), tests/Grid/asciidumpload3.cc (1.6),
-	  tests/Grid/asciidumpload4.cc (1.6), tests/Grid/asciidumpload5.cc
-	  (1.4), tests/Grid/asciidumpload6.cc (1.4),
-	  tests/Grid/asciidumpload7.cc (1.5), tests/Grid/bhz03widening1.cc
-	  (1.14), tests/Grid/bounded1.cc (1.15),
-	  tests/Grid/boundedaffineimage1.cc (1.5),
-	  tests/Grid/boundedaffinepreimage1.cc (1.5),
-	  tests/Grid/boundingbox1.cc (1.20), tests/Grid/bounds1.cc (1.16),
-	  tests/Grid/certificate1.cc (1.15), tests/Grid/concatenate1.cc
-	  (1.15), tests/Grid/congruence1.cc (1.19),
-	  tests/Grid/congruences1.cc (1.13), tests/Grid/congruences2.cc
-	  (1.7), tests/Grid/constraints1.cc (1.2), tests/Grid/contains1.cc
-	  (1.13), tests/Grid/containsintegerpoint1.cc (1.5),
-	  tests/Grid/copyconstruct1.cc (1.9), tests/Grid/coveringbox1.cc
-	  (1.17), tests/Grid/coveringbox2.cc (1.15),
-	  tests/Grid/directproduct1.cc (1.48), tests/Grid/directproduct2.cc
-	  (1.15), tests/Grid/directproduct3.cc (1.16),
-	  tests/Grid/directproduct4.cc (1.14), tests/Grid/directproduct5.cc
-	  (1.9), tests/Grid/directproduct6.cc (1.11),
-	  tests/Grid/discrete1.cc (1.9), tests/Grid/disjoint1.cc (1.13),
-	  tests/Grid/equals1.cc (1.14), tests/Grid/expandspacedim1.cc
-	  (1.13), tests/Grid/foldspacedims1.cc (1.13),
-	  tests/Grid/frombdshape1.cc (1.2),
-	  tests/Grid/fromoctagonalshape1.cc (1.2),
-	  tests/Grid/generalizedaffineimage1.cc (1.15),
-	  tests/Grid/generalizedaffineimage2.cc (1.14),
-	  tests/Grid/generalizedaffineimage3.cc (1.6),
-	  tests/Grid/generalizedaffinepreimage1.cc (1.17),
-	  tests/Grid/generalizedaffinepreimage2.cc (1.17),
-	  tests/Grid/generalizedaffinepreimage3.cc (1.6),
-	  tests/Grid/generator1.cc (1.21), tests/Grid/generators1.cc
-	  (1.14), tests/Grid/generators2.cc (1.4), tests/Grid/grid1.cc
-	  (1.22), tests/Grid/grid2.cc (1.17), tests/Grid/grid3.cc (1.25),
-	  tests/Grid/griddifference1.cc (1.13), tests/Grid/intersection1.cc
-	  (1.13), tests/Grid/isempty1.cc (1.9), tests/Grid/isuniverse1.cc
-	  (1.11), tests/Grid/join1.cc (1.17), tests/Grid/join2.cc (1.12),
-	  tests/Grid/limitedextrapolation1.cc (1.14),
-	  tests/Grid/limitedextrapolation2.cc (1.8),
-	  tests/Grid/limitedextrapolation3.cc (1.7),
-	  tests/Grid/mapspacedims1.cc (1.12), tests/Grid/maxmin1.cc (1.14),
-	  tests/Grid/membytes1.cc (1.11), tests/Grid/mincongruences1.cc
-	  (1.11), tests/Grid/mingenerators1.cc (1.11),
-	  tests/Grid/outputoperator1.cc (1.10),
-	  tests/Grid/outputoperator2.cc (1.4),
-	  tests/Grid/outputoperator3.cc (1.4),
-	  tests/Grid/partiallyreducedproduct1.cc (1.9),
-	  tests/Grid/partiallyreducedproduct2.cc (1.4),
-	  tests/Grid/partiallyreducedproduct3.cc (1.3),
-	  tests/Grid/partition1.cc (1.7), tests/Grid/powersetdifference1.cc
-	  (1.4), tests/Grid/powersetgeometricallycovers1.cc (1.4),
-	  tests/Grid/powersetgeometricallyequals1.cc (1.4),
-	  tests/Grid/relations1.cc (1.16), tests/Grid/relations2.cc (1.18),
-	  tests/Grid/relations3.cc (1.9), tests/Grid/removespacedims1.cc
-	  (1.15), tests/Grid/removespacedims2.cc (1.15),
-	  tests/Grid/timeelapse1.cc (1.12), tests/Grid/topclosed1.cc
-	  (1.13), tests/Grid/topclosure1.cc (1.9), tests/Grid/widening1.cc
-	  (1.17), tests/Grid/widening2.cc (1.12), tests/Grid/widening3.cc
-	  (1.7), tests/Grid/writecongruencesystem.cc (1.9),
-	  tests/MIP_Problem/Makefile.am (1.10),
-	  tests/MIP_Problem/ascii_dump_load1.cc (1.5),
-	  tests/MIP_Problem/exceptions1.cc (1.5),
-	  tests/MIP_Problem/mipproblem1.cc (1.12),
-	  tests/MIP_Problem/mipproblem2.cc (1.10),
-	  tests/MIP_Problem/mipproblem3.cc (1.4),
-	  tests/Octagonal_Shape/Makefile.am (1.23),
-	  tests/Octagonal_Shape/addspacedims1.cc (1.4),
-	  tests/Octagonal_Shape/affinedimension1.cc (1.5),
-	  tests/Octagonal_Shape/affineimage1.cc (1.5),
-	  tests/Octagonal_Shape/affineimage2.cc (1.4),
-	  tests/Octagonal_Shape/affinepreimage1.cc (1.6),
-	  tests/Octagonal_Shape/affinepreimage2.cc (1.4),
-	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.4),
-	  tests/Octagonal_Shape/bhmz05widening1.cc (1.5),
-	  tests/Octagonal_Shape/bhz03widening1.cc (1.4),
-	  tests/Octagonal_Shape/bounded1.cc (1.4),
-	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.11),
-	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.5),
-	  tests/Octagonal_Shape/bounds1.cc (1.5),
-	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.6),
-	  tests/Octagonal_Shape/cc76narrowing1.cc (1.5),
-	  tests/Octagonal_Shape/chinainit.cc (1.4),
-	  tests/Octagonal_Shape/concatenate1.cc (1.4),
-	  tests/Octagonal_Shape/constraints1.cc (1.5),
-	  tests/Octagonal_Shape/contains1.cc (1.5),
-	  tests/Octagonal_Shape/containsintegerpoint1.cc (1.5),
-	  tests/Octagonal_Shape/discrete1.cc (1.4),
-	  tests/Octagonal_Shape/disjoint1.cc (1.8),
-	  tests/Octagonal_Shape/empty1.cc (1.4),
-	  tests/Octagonal_Shape/expandspacedim1.cc (1.6),
-	  tests/Octagonal_Shape/foldspacedims1.cc (1.6),
-	  tests/Octagonal_Shape/frombdshape1.cc (1.2),
-	  tests/Octagonal_Shape/fromgensys1.cc (1.4),
-	  tests/Octagonal_Shape/fromgrid1.cc (1.3),
-	  tests/Octagonal_Shape/frompolyhedron1.cc (1.5),
-	  tests/Octagonal_Shape/fromspacedim1.cc (1.3),
-	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.5),
-	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.5),
-	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.10),
-	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.5),
-	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.5),
-	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.6),
-	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.10),
-	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.6),
-	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.5),
-	  tests/Octagonal_Shape/intersection1.cc (1.5),
-	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.6),
-	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.6),
-	  tests/Octagonal_Shape/mapspacedims1.cc (1.5),
-	  tests/Octagonal_Shape/max_min1.cc (1.6),
-	  tests/Octagonal_Shape/max_min2.cc (1.5),
-	  tests/Octagonal_Shape/maxspacedim1.cc (1.5),
-	  tests/Octagonal_Shape/membytes1.cc (1.5),
-	  tests/Octagonal_Shape/minconstraints1.cc (1.5),
-	  tests/Octagonal_Shape/octdifference1.cc (1.5),
-	  tests/Octagonal_Shape/octhull1.cc (1.5),
-	  tests/Octagonal_Shape/relatwithcons1.cc (1.5),
-	  tests/Octagonal_Shape/relatwithcons2.cc (1.8),
-	  tests/Octagonal_Shape/relatwithgen1.cc (1.9),
-	  tests/Octagonal_Shape/removespacedims1.cc (1.5),
-	  tests/Octagonal_Shape/run_tests (1.4),
-	  tests/Octagonal_Shape/timeelapse1.cc (1.6),
-	  tests/Octagonal_Shape/universe1.cc (1.4),
-	  tests/Octagonal_Shape/writeoctagon1.cc (1.6),
-	  tests/Polyhedron/Makefile.am (1.116), tests/Polyhedron/README
-	  (1.8), tests/Polyhedron/addcongruence1.cc (1.9),
-	  tests/Polyhedron/addcongruences1.cc (1.13),
-	  tests/Polyhedron/addconstraint1.cc (1.12),
-	  tests/Polyhedron/addconstraints1.cc (1.13),
-	  tests/Polyhedron/addconstraints2.cc (1.12),
-	  tests/Polyhedron/addgenerator1.cc (1.13),
-	  tests/Polyhedron/addgenerator2.cc (1.13),
-	  tests/Polyhedron/addgenerators1.cc (1.14),
-	  tests/Polyhedron/addgenerators2.cc (1.13),
-	  tests/Polyhedron/addspacedims1.cc (1.13),
-	  tests/Polyhedron/addspacedims2.cc (1.13),
-	  tests/Polyhedron/affineimage1.cc (1.13),
-	  tests/Polyhedron/affineimage2.cc (1.12),
-	  tests/Polyhedron/affinepreimage1.cc (1.12),
-	  tests/Polyhedron/affinetrans.cc (1.12),
-	  tests/Polyhedron/append1.cc (1.13), tests/Polyhedron/append2.cc
-	  (1.12), tests/Polyhedron/ascii_dump_load1.cc (1.11),
-	  tests/Polyhedron/ascii_dump_load2.cc (1.11),
-	  tests/Polyhedron/ascii_dump_load3.cc (1.12),
-	  tests/Polyhedron/bgp99extrapolation1.cc (1.14),
-	  tests/Polyhedron/bhrz03widening1.cc (1.12),
-	  tests/Polyhedron/bhrz03widening2.cc (1.12),
-	  tests/Polyhedron/bhrz03widening3.cc (1.16),
-	  tests/Polyhedron/bhz03widening1.cc (1.15),
-	  tests/Polyhedron/bounded1.cc (1.12),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.12),
-	  tests/Polyhedron/boundedaffinepreimage1.cc (1.10),
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.11),
-	  tests/Polyhedron/boundedh79extrapolation1.cc (1.13),
-	  tests/Polyhedron/bounds1.cc (1.12),
-	  tests/Polyhedron/cnncconversion1.cc (1.5),
-	  tests/Polyhedron/concatenate1.cc (1.12),
-	  tests/Polyhedron/congruences1.cc (1.14),
-	  tests/Polyhedron/constrains1.cc (1.2),
-	  tests/Polyhedron/constraints1.cc (1.12),
-	  tests/Polyhedron/contains1.cc (1.11),
-	  tests/Polyhedron/contains2.cc (1.11),
-	  tests/Polyhedron/containsintegerpoint1.cc (1.4),
-	  tests/Polyhedron/disjoint1.cc (1.11),
-	  tests/Polyhedron/disjoint2.cc (1.13),
-	  tests/Polyhedron/dualhypercubes.cc (1.16),
-	  tests/Polyhedron/empty1.cc (1.12), tests/Polyhedron/equals1.cc
-	  (1.11), tests/Polyhedron/exceptions1.cc (1.15),
-	  tests/Polyhedron/exceptions2.cc (1.13),
-	  tests/Polyhedron/exceptions3.cc (1.12),
-	  tests/Polyhedron/expandspacedim1.cc (1.14),
-	  tests/Polyhedron/expandspacedim2.cc (1.14),
-	  tests/Polyhedron/foldspacedims1.cc (1.16),
-	  tests/Polyhedron/foldspacedims2.cc (1.17),
-	  tests/Polyhedron/frombdshape1.cc (1.2),
-	  tests/Polyhedron/frombox1.cc (1.5), tests/Polyhedron/frombox2.cc
-	  (1.5), tests/Polyhedron/fromgrid1.cc (1.2),
-	  tests/Polyhedron/fromoctagonalshape1.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage1.cc (1.14),
-	  tests/Polyhedron/generalizedaffineimage2.cc (1.14),
-	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.11),
-	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.10),
-	  tests/Polyhedron/generators1.cc (1.12),
-	  tests/Polyhedron/geomcovers1.cc (1.15),
-	  tests/Polyhedron/h79widening1.cc (1.13),
-	  tests/Polyhedron/h79widening2.cc (1.12),
-	  tests/Polyhedron/hybrid.cc (1.5),
-	  tests/Polyhedron/intersection1.cc (1.16),
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.11),
-	  tests/Polyhedron/limitedh79extrapolation1.cc (1.12),
-	  tests/Polyhedron/linearpartition1.cc (1.15),
-	  tests/Polyhedron/linearsystem1.cc (1.10),
-	  tests/Polyhedron/linexpression1.cc (1.11),
-	  tests/Polyhedron/mapspacedims1.cc (1.16),
-	  tests/Polyhedron/matrix1.cc (1.11), tests/Polyhedron/max_min1.cc
-	  (1.13), tests/Polyhedron/maxspacedim1.cc (1.16),
-	  tests/Polyhedron/mc91.cc (1.16), tests/Polyhedron/membytes1.cc
-	  (1.16), tests/Polyhedron/memory1.cc (1.14),
-	  tests/Polyhedron/memory2.cc (1.16),
-	  tests/Polyhedron/minconstraints1.cc (1.11),
-	  tests/Polyhedron/minconstraints2.cc (1.13),
-	  tests/Polyhedron/mingenerators1.cc (1.11),
-	  tests/Polyhedron/mingenerators2.cc (1.12),
-	  tests/Polyhedron/nncminimize1.cc (1.8),
-	  tests/Polyhedron/nncminimize2.cc (1.8),
-	  tests/Polyhedron/numberinput1.cc (1.33),
-	  tests/Polyhedron/onepoint.cc (1.12), tests/Polyhedron/permute.cc
-	  (1.10), tests/Polyhedron/pointsetpowerset1.cc (1.8),
-	  tests/Polyhedron/pointsetpowerset2.cc (1.3),
-	  tests/Polyhedron/polydifference1.cc (1.13),
-	  tests/Polyhedron/polydifference2.cc (1.13),
-	  tests/Polyhedron/polyhull1.cc (1.13),
-	  tests/Polyhedron/polyhull2.cc (1.12),
-	  tests/Polyhedron/powerset1.cc (1.22),
-	  tests/Polyhedron/randphull1.cc (1.14),
-	  tests/Polyhedron/relations1.cc (1.12),
-	  tests/Polyhedron/relations2.cc (1.13),
-	  tests/Polyhedron/relations3.cc (1.12),
-	  tests/Polyhedron/removespacedims1.cc (1.12),
-	  tests/Polyhedron/removespacedims2.cc (1.12),
-	  tests/Polyhedron/smm1.cc (1.11), tests/Polyhedron/timeelapse1.cc
-	  (1.13), tests/Polyhedron/timeelapse2.cc (1.13),
-	  tests/Polyhedron/topclosed1.cc (1.12),
-	  tests/Polyhedron/topclosure1.cc (1.12),
-	  tests/Polyhedron/universe1.cc (1.12),
-	  tests/Polyhedron/universe2.cc (1.12),
-	  tests/Polyhedron/variablesset1.cc (1.12),
-	  tests/Polyhedron/watchdog1.cc (1.11),
-	  tests/Polyhedron/writeconsys1.cc (1.12),
-	  tests/Polyhedron/writegensys1.cc (1.12),
-	  tests/Polyhedron/writepolyhedron1.cc (1.12),
-	  tests/Polyhedron/writepolyhedron2.cc (1.12),
-	  tests/Polyhedron/writerelation1.cc (1.14),
-	  tests/Polyhedron/writevariable1.cc (1.9), utils/Makefile.am
-	  (1.17), utils/build_header.in (1.6), utils/cm_cleaner.sh (1.4),
-	  utils/cm_splitter.sh (1.4), utils/text2cxxarray.in (1.5),
-	  utils/timings.cc (1.13), utils/timings.hh (1.7): Copyright years
-	  extended.
-
-2007-12-29 Saturday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.67): Include <typeinfo> for typeid().
-
-2007-12-29 Saturday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/files.cc (1.11): Include <cstdlib> for exit().	Use extra
-	  parentheses to disambiguate a comparison.
-
-2007-12-29 Saturday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.icc (1.12),
-	  src/BDS_Status.inlines.hh (1.17), src/BD_Shape.cc (1.8),
-	  src/BD_Shape.inlines.hh (1.154), src/BD_Shape.templates.hh
-	  (1.89), src/Box.cc (1.9), src/Box.templates.hh (1.73),
-	  src/Congruence_System.cc (1.27), src/Constraint_System.cc (1.28),
-	  src/Generator_System.cc (1.25), src/Grid_Certificate.cc (1.10),
-	  src/Grid_nonpublic.cc (1.31), src/Grid_public.cc (1.62),
-	  src/Interval.templates.hh (1.3), src/Linear_System.cc (1.46),
-	  src/MIP_Problem.cc (1.64), src/Octagonal_Shape.cc (1.7),
-	  src/Octagonal_Shape.inlines.hh (1.25),
-	  src/Octagonal_Shape.templates.hh (1.63),
-	  src/Polyhedron_nonpublic.cc (1.81), src/Polyhedron_public.cc
-	  (1.105), src/Polyhedron_widenings.cc (1.64): Use explicit braces
-	  to avoid ambiguous else's.
-
-2007-12-29 Saturday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_Row.cc (1.24): Added a pair of extra parentheses to
-	  disambiguate an addition within a shift.
-
-2007-12-29 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/timings.cc (1.12): Include <cstdlib> for exit().
-
-2007-12-29 Saturday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.72): Implemented template
-
-	  <typename Interval> template <typename Iterator> void
-	  Box<Interval>::CC76_widening_assign(const Box& y,
-			      Iterator first, Iterator last)
-
-	  in terms of the new Interval's widening.
-
-2007-12-29 Saturday 10:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.defs.hh (1.49), Interval.inlines.hh (1.28),
-	  Interval.templates.hh (1.2): Moved several implemementations from
-	  Interval.defs.hh to Interval.inlines.hh.  Added the new method
-	  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).
-
-2007-12-28 Friday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.234): Two new items added.
-
-2007-12-28 Friday 08:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Bit_Row.defs.hh (1.8), Bit_Row.inlines.hh (1.5): Added
-	  inline void set_intersection(const Bit_Row& x, const Bit_Row& y,
-	  Bit_Row& z).
-
-2007-12-28 Friday 08:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.cc (1.11): Include <exception> and <iostream>.
-
-2007-12-28 Friday 08:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.66): Added missing std:: qualification.
-
-2007-12-28 Friday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.44): Must include <cstdlib> for getenv().
-
-2007-12-10 Monday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.299): Version number bumped.
-
-2007-12-10 Monday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.225): Three items improved and merged.
-
-2007-12-10 Monday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.52), Grid.defs.hh (1.62): Comments
-	  improved for consistency (the abbreviation we use for
-	  `bounded-difference shape' is `BDS').
-
-2007-12-05 Wednesday 14:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.33): Corrected code for free() as suggested by Andrea Cimino.
-
-2007-12-05 Wednesday 10:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.224), src/BD_Shape.defs.hh (1.108),
-	  src/BD_Shape.inlines.hh (1.153), src/C_Polyhedron.defs.hh (1.51),
-	  src/C_Polyhedron.inlines.hh (1.38), src/Grid.defs.hh (1.61),
-	  src/Grid.inlines.hh (1.21), src/NNC_Polyhedron.defs.hh (1.53),
-	  src/NNC_Polyhedron.inlines.hh (1.39), src/Octagonal_Shape.defs.hh
-	  (1.36), src/Octagonal_Shape.inlines.hh (1.24),
-	  src/Partially_Reduced_Product.defs.hh (1.18),
-	  src/Partially_Reduced_Product.inlines.hh (1.16),
-	  tests/BD_Shape/Makefile.am (1.69),
-	  tests/BD_Shape/fromoctagonalshape1.cc (1.1),
-	  tests/Grid/Makefile.am (1.58), tests/Grid/directproduct1.cc
-	  (1.47), tests/Grid/frombdshape1.cc (1.1),
-	  tests/Grid/fromoctagonalshape1.cc (1.1),
-	  tests/Octagonal_Shape/Makefile.am (1.22),
-	  tests/Octagonal_Shape/frombdshape1.cc (1.1),
-	  tests/Polyhedron/Makefile.am (1.115),
-	  tests/Polyhedron/frombdshape1.cc (1.1),
-	  tests/Polyhedron/fromoctagonalshape1.cc (1.1): Added methods to
-	  the Polyhedra classes, and the Grid, BD_Shape, Octagonal_Shape
-	  classes that construct an element from a BD_Shape and from an
-	  Octagonal_Shape.  Added also similar methods to the partially
-	  reduced product class Added tests to check these new methods.
-	  Updated the NEWS with this information.
-
-2007-12-04 Tuesday 15:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: BD_Shape/fromgrid1.cc (1.2), Octagonal_Shape/fromgrid1.cc
-	  (1.2): Fixed a bug in the tests. The "==" was being used for
-	  different objects.
-
-2007-12-04 Tuesday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.23): Test the finalize() methods by explicitly calling
-	  System.gc().
-
-2007-12-04 Tuesday 09:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.298): Version number bumped.
-
-2007-12-04 Tuesday 09:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: BD_Shape/fromgrid1.cc (1.1), Octagonal_Shape/fromgrid1.cc
-	  (1.1): Missing test files added.
-
-2007-12-04 Tuesday 08:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.22): Reverted finalize() to being protected.
-
-2007-12-03 Monday 22:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.17),
-	  src/Partially_Reduced_Product.inlines.hh (1.15),
-	  tests/Grid/directproduct1.cc (1.46): A partially reduced product
-	  can now be constructed directly from a closed polyhedron, a not
-	  necessarily closed polyhedron, a grid or a box.
-
-2007-12-03 Monday 21:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.11),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.32), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.21): Added the method free() to delete the C++ class allowing
-	  Java garbage collection to reclaim the wrapper.
-
-2007-12-03 Monday 12:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.223), src/BD_Shape.defs.hh (1.107),
-	  src/BD_Shape.inlines.hh (1.152), src/Octagonal_Shape.defs.hh
-	  (1.35), src/Octagonal_Shape.inlines.hh (1.23),
-	  src/Polyhedron_public.cc (1.104), tests/BD_Shape/Makefile.am
-	  (1.68), tests/Octagonal_Shape/Makefile.am (1.21): Added
-	  constructors fro BD_Shape and Octagonal_Shape fro a Grid.  Added
-	  tests for the new constructors.
-
-	  Undone an unintended change to src/Polyhedron_public.cc in
-	  previous commit (assertion that was added, removed).
-
-2007-12-03 Monday 12:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.222), src/C_Polyhedron.cc (1.23),
-	  src/C_Polyhedron.defs.hh (1.50), src/NNC_Polyhedron.cc (1.23),
-	  src/NNC_Polyhedron.defs.hh (1.52), src/Polyhedron_public.cc
-	  (1.103), tests/Grid/directproduct3.cc (1.15),
-	  tests/Polyhedron/Makefile.am (1.114),
-	  tests/Polyhedron/fromgrid1.cc (1.1): Added constructors for
-	  NNC_Polyhedron and C_Polyhedron from a Grid.	Test file
-	  fromgrid1.cc and its nnc version tests these constructors.
-
-	  The test19 in Grid/directproduct3.cc now checks
-	  is_topologically_closed() for Box x Grid products.
-
-2007-12-03 Monday 11:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.221): Mentioned the bug fixed today.
-
-2007-12-03 Monday 11:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_System.cc (1.45): Fixed a bug in method insert()
-	  whereby a wrong result could have been obtained when inserting an
-	  NNC linear row into an empty linear system having a higher space
-	  dimension.  This was the bug shown by test14() in
-	  tests/Polyhedron/congruences1.cc.
-
-2007-12-03 Monday 11:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/congruences1.cc (1.13): test14 is no longer
-	  expected to fail (bug corrected).
-
-2007-12-03 Monday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/congruences1.cc (1.12): Test14 shows a bug when
-	  converting a congruence system to a constraint system.
-
-2007-11-30 Friday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: sp_clpq.pl (1.19), sp_pl_check.pl
-	  (1.13): Little cosmetic improvements.
-
-2007-11-30 Friday 16:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/: sp_clpq.pl (1.18), sp_pl_check.pl
-	  (1.12): Allow for different versions of SICStus.
-
-2007-11-30 Friday 10:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/: sp_clpq.pl (1.17), sp_pl_check.pl
-	  (1.11): Changes to allow support for SICStus version 4.  FIXME
-	  notes added.
-
-2007-11-29 Thursday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/gprolog_cfli.hh (1.7): Include <gprolog.h>
-	  unconditionally.
-
-2007-11-28 Wednesday 16:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.220): Revised reference to Box domain.
-
-2007-11-28 Wednesday 15:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/congruences1.cc (1.1): Tests all the congruence methods
-	  for the Box domain.
-
-2007-11-28 Wednesday 15:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.219), tests/Box/Makefile.am (1.46),
-	  tests/Box/addconstraints1.cc (1.9), tests/Box/cc76widening.cc
-	  (1.6), tests/Grid/directproduct1.cc (1.45),
-	  tests/Grid/directproduct2.cc (1.14), tests/Grid/directproduct3.cc
-	  (1.14), tests/Grid/directproduct4.cc (1.13),
-	  tests/Grid/directproduct5.cc (1.8), tests/Grid/directproduct6.cc
-	  (1.10):
-	  Tests for new methods just committed added to appropriate files
-	  in tests/Box.
-
-	  Tests for directproduct now have the Box domain for one of the
-	  product's components as an optional directive although the
-	  products are currently set with directives for testing
-	  NNC_Polyhedron with the Grid.
-
-2007-11-28 Wednesday 15:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Box.cc (1.8), Box.defs.hh (1.33), Box.inlines.hh (1.22),
-	  Box.templates.hh (1.71): Enabled the product of a Box and a Grid.
-	   To do this, for compatibility with the other classes, the
-	  following methods have been added:	Box(Congruence_System cgs)
-
-	     add_constraint_and_minimize(Constraint c)
-	     add_constraints_and_minimize(Constraint_System cs)
-	     add_recycled_constraints(Constraint_System cs)
-	     add_recycled_constraints_and_minimize(Constraint_System& cs)
-
-	     add_congruence(Congruence cg)
-	     add_congruence_and_minimize(Congruence_System cgs)
-	     add_congruences(Congruence_System cgs)
-	     add_congruences_and_minimize(Congruence_System cgs)
-	     add_recycled_congruences(Congruence_System cgs)
-	     add_recycled_congruences_and_minimize(Congruence_System& cgs)
-
-	     widening_assign
-
-	     congruences()
-	     minimized_congruences()
-
-	     can_recycle_constraint_systems()
-	     can_recycle_congruence_systems()
-
-	     throw_dimension_incompatible(char* method, Congruence cg)
-	     throw_dimension_incompatible(char* method, Congruence_System
-	  cgs)
-
-	  Also private methods added:
-
-	     extract_interval_congruence(Congruence cg, ...)
-	     add_congruence_no_check(Congruence cg)
-	     add_congruences_no_check(Congruence_System cgs)
-
-2007-11-28 Wednesday 06:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.297), interfaces/Prolog/GNU/gprolog_cfli.hh
-	  (1.6): No two distributions install gprolog.h in the same place:
-	  the only reliable way for the users of the GNU Prolog interface
-	  is to define CPPFLAGS.
-
-2007-11-27 Tuesday 12:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: BD_Shape.templates.hh (1.88), Octagonal_Shape.templates.hh
-	  (1.62): Missing "const" added.
-
-2007-11-27 Tuesday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/constraints1.cc (1.9): test06 succeeds.
-
-2007-11-27 Tuesday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.32), Box.templates.hh (1.70):
-	  Box<Interval>::add_constraint_no_check() assumes (and assumed)
-	  that the box was not marked empty: assertion added.  This
-	  invariant was ensured by Box<Interval>::add_constraint() but not
-	  by Box<Interval>::add_constraints_no_check(const
-	  Constraint_System&): the latter has been fixed accordingly.
-
-2007-11-27 Tuesday 10:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/constraints1.cc (1.8): test05 succeeds.
-
-2007-11-27 Tuesday 10:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.69): Spurious comment removed.
-
-2007-11-27 Tuesday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.68), tests/Box/constraints1.cc (1.7):
-	  Last change undone and a change in the commit before this also
-	  undone.
-
-2007-11-27 Tuesday 10:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.67): Check for emptiness moved from
-	  add_constraints_no_check() to add_constraint_no_check().  Also do
-	  the empty check by just checking marked_empty() instead of
-	  is_empty().
-
-2007-11-27 Tuesday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.66): Duplicate code avoided in
-	  Box<Interval>::add_constraint_no_check().
-
-2007-11-27 Tuesday 09:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.templates.hh (1.65), tests/Box/constraints1.cc (1.6):
-	  Added corrections for bugs in identified by previous commit.
-
-2007-11-27 Tuesday 08:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Box/constraints1.cc (1.5): test05 and test06 show bugs in
-	  add_constraint_no_check() and add_constraints_no_check().
-
-2007-11-26 Monday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.296), interfaces/Prolog/GNU/gprolog_cfli.hh
-	  (1.5): Find gprolog.h also under Ubuntu 7.10.
-
-2007-11-23 Friday 10:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/directproduct3.cc (1.13): Test07 fails only when the
-	  assertions are enabled with 8 bit integers.
-
-2007-11-22 Thursday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.295): Version number bumped.
-
-2007-11-22 Thursday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/directproduct3.cc (1.12): Test07 is set to fail for 8
-	  bit integers when one of the domain components is C_Polyhedron.
-
-2007-11-21 Wednesday 11:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/directproduct1.cc (1.44): Test is now reset to test
-	  product Grid x NNC_Polyhedron
-
-2007-11-21 Wednesday 11:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.218), src/Octagonal_Shape.defs.hh (1.34),
-	  src/Octagonal_Shape.inlines.hh (1.22),
-	  tests/Grid/directproduct1.cc (1.43): Octagonal domain now has a
-	  constructor from a box.
-
-2007-11-21 Wednesday 11:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.217), src/Octagonal_Shape.defs.hh (1.33),
-	  src/Octagonal_Shape.inlines.hh (1.21),
-	  src/Octagonal_Shape.templates.hh (1.61),
-	  tests/Grid/directproduct1.cc (1.42), tests/Grid/directproduct2.cc
-	  (1.13), tests/Grid/directproduct3.cc (1.11),
-	  tests/Grid/directproduct4.cc (1.12), tests/Grid/directproduct5.cc
-	  (1.7), tests/Grid/directproduct6.cc (1.9): The
-	  Partially_Reduced_Product now works for products with
-	  Octagonal_Shape domain elements.
-
-	  Tests now have an option to test with a product of
-	  Octagonal_Shape and Grid, but all tests are currently set to test
-	  C_ or NNC_Polyhedron x Grid (or vice versa) combinations.
-
-2007-11-21 Wednesday 08:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Direct_Product.defs.hh (1.48), Direct_Product.inlines.hh
-	  (1.46), Direct_Product.templates.hh (1.24),
-	  Direct_Product.types.hh (1.7), Makefile.am (1.175): The old
-	  implentation for Direct_Product removed as this is replaced by an
-	  instance of the Partially_Reduced_Product class.
-
-2007-11-20 Tuesday 22:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Box.defs.hh (1.31), src/Box.templates.hh (1.64),
-	  tests/Box/Makefile.am (1.45), tests/Box/fromdirectproduct1.cc
-	  (1.6), tests/Box/frompartiallyreducedproduct1.cc (1.1): Changed
-	  the construction of a box from a direct product class to the
-	  construction of a box from a partially reduced product class.
-
-	  Test file updated and renamed to test this change.
-
-2007-11-20 Tuesday 15:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.106), src/BD_Shape.inlines.hh (1.151),
-	  tests/BD_Shape/Makefile.am (1.67), tests/BD_Shape/boundingbox1.cc
-	  (1.1), tests/Grid/directproduct1.cc (1.41): Added method for
-	  constructing a BD_Shape from a box.
-
-	  Test file for building from a box added for the BD_Shape.
-
-	  Test for building a product from a box is now enabled when a
-	  component of the product is a BD_Shape.
-
-2007-11-20 Tuesday 13:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.105), src/BD_Shape.inlines.hh (1.150),
-	  tests/Grid/directproduct3.cc (1.10): Added widening_assign()
-	  using the H79_widening_assign() as the default widening. Test for
-	  widening_assign uncommented for products using the BD_Shape
-	  class.
-
-2007-11-20 Tuesday 08:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/partiallyreducedproduct2.cc (1.3): Tests 08 and 18
-	  fail for 8-bit integers.
-
-2007-11-19 Monday 18:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.inlines.hh (1.149), tests/Grid/directproduct1.cc
-	  (1.40), tests/Grid/directproduct2.cc (1.12),
-	  tests/Grid/directproduct3.cc (1.9), tests/Grid/directproduct4.cc
-	  (1.11), tests/Grid/directproduct5.cc (1.6),
-	  tests/Grid/directproduct6.cc (1.8): Corrected code for
-	  BD_Shape<T>::add_congruences_and_minimize(const
-	  Congruence_System& cgs)
-
-	  All the tests for directproduct?.cc have an option to run using
-	  the BD_Shape x Grid domain, apart from a few tests that are
-	  commented out due to missing methods in the BD_Shape class.
-
-	  Note that these tests are currently set to run using
-	  NNC_Polyhedron x Grid or Grid x.NNC_Polyhedron.
-
-2007-11-19 Monday 14:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/BD_Shape.defs.hh (1.104), src/BD_Shape.inlines.hh (1.148),
-	  src/BD_Shape.templates.hh (1.87), src/Polyhedron.inlines.hh
-	  (1.144), src/Polyhedron_public.cc (1.102),
-	  tests/Grid/directproduct1.cc (1.39): Added methods for adding
-	  congruences and for obtaining the set of equality congruences
-	  from a BD_Shape.
-
-	  Methods in Polyhedron_public.cc for adding congruences moved to
-	  Polyhedron.inlines.hh.
-
-2007-11-19 Monday 11:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.16),
-	  src/Partially_Reduced_Product.templates.hh (1.7),
-	  tests/Grid/directproduct5.cc (1.5),
-	  tests/Grid/partiallyreducedproduct3.cc (1.2): Added
-	  relation_with(Congruences) to the Partially_Reduced_Product
-	  class.
-
-2007-11-19 Monday 10:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.216): Added item
-
-	  o  The method relations_with(Congruence) has been added to the
-	  Polyhedron	class for compatibility with the Grid class
-	  methods.
-
-2007-11-19 Monday 09:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.328), src/Polyhedron_public.cc (1.101),
-	  tests/Polyhedron/relations2.cc (1.12): Added method
-	  relation_with(Congruence) to Polyhedron class.
-
-2007-11-19 Monday 08:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.100): A couple of small improvements
-	  to the implementation of constrains():   - avoid counting lines
-	  if the generator system is not minimized (no matter	  if it has
-	  pending generators or not);	- prefer efficient methods
-	  g.is_line_or_ray() and g.is_line()	 with respect to g.type()
-	  when checking for lines and rays.
-
-2007-11-18 Sunday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.10),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.31), tests/ppl_interface_generator_java_test_java.m4 (1.10),
-	  tests/ppl_interface_generator_java_test_java_code.m4 (1.20):
-	  Added Java interface for constraints().
-
-	  In Java/tests/ppl_interface_generator_java_test_java.m4, just a
-	  spelling correction.
-
-2007-11-17 Saturday 22:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.215), src/Grid.defs.hh (1.60), src/Grid.inlines.hh
-	  (1.20), src/Partially_Reduced_Product.defs.hh (1.15),
-	  src/Partially_Reduced_Product.inlines.hh (1.14),
-	  src/Partially_Reduced_Product.templates.hh (1.6),
-	  src/Polyhedron.defs.hh (1.327), src/Polyhedron.inlines.hh
-	  (1.143), src/Polyhedron_public.cc (1.99),
-	  tests/Grid/directproduct1.cc (1.38), tests/Grid/directproduct4.cc
-	  (1.10), tests/Grid/directproduct5.cc (1.4),
-	  tests/Grid/partiallyreducedproduct1.cc (1.8),
-	  tests/Polyhedron/addcongruences1.cc (1.12): Added methods
-	  add_congruences_and_minimize(Congruence_System),
-	  add_recycled_congruences(Congruence_System), and
-	  add_recycled_congruences_and_minimize(Congruence_System) to
-	  Polyhedron class.  Added static methods
-	  can_recycle_constraint_systems() and
-	  can_recycle_congruence_systems() to Polyhedron and Grid classes.
-	  Added methods add_congruences_and_minimize(Congruence_System),
-	  add_recycled_congruences(Congruence_System), and
-	  add_recycled_congruences_and_minimize(Congruence_System) to the
-	  Partially_Reduced_Product class.
-
-	  Some simple tests added to check these.
-
-2007-11-17 Saturday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.214), src/Polyhedron.defs.hh (1.326),
-	  src/Polyhedron_public.cc (1.98), tests/Polyhedron/Makefile.am
-	  (1.113), tests/Polyhedron/constrains1.cc (1.1),
-	  tests/Polyhedron/constraints1.cc (1.11): New method bool
-	  Polyhedron::constrains(Variable var) const returns `true' if and
-	  only if `var' is constrained in `*this'.
-
-2007-11-17 Saturday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/relations3.cc (1.11): New test.
-
-2007-11-17 Saturday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.defs.hh (1.14): Friend declaration
-	  fixed and uncommented.
-
-2007-11-16 Friday 14:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.13): A couple of FIXME's
-	  added.
-
-2007-11-16 Friday 14:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.59), src/Partially_Reduced_Product.defs.hh
-	  (1.12), src/Partially_Reduced_Product.inlines.hh (1.13),
-	  tests/Grid/directproduct1.cc (1.37), tests/Grid/directproduct3.cc
-	  (1.8), tests/Grid/partiallyreducedproduct3.cc (1.1): Test file
-	  added for partially reduced products (which should have been
-	  added before).
-
-	  Many doxygen comments in the defs file improved and corrected.
-	  The setting/clearing of the reduced flag also revised for some
-	  methods.
-
-2007-11-16 Friday 12:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.11),
-	  src/Partially_Reduced_Product.inlines.hh (1.12),
-	  tests/Grid/directproduct4.cc (1.9): Added an implementation of
-	  add_congruences_and_minimize().
-
-	  Removed some redundant code in
-	  src/Partially_Reduced_Product.defs.hh.
-
-2007-11-16 Friday 11:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/directproduct4.cc (1.8): Tests for
-	  generalized_affine_(pre)image() methods that were commented out
-	  now have now been revised to test the defined methods and
-	  un-commented.
-
-2007-11-16 Friday 10:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.58), src/Grid.inlines.hh (1.19),
-	  src/Partially_Reduced_Product.defs.hh (1.10),
-	  src/Partially_Reduced_Product.inlines.hh (1.11),
-	  tests/Grid/directproduct1.cc (1.36), tests/Grid/directproduct2.cc
-	  (1.11): Methods in the Grid domain that build a grid from
-	  generators, add generators to a grid and get the generators
-	  defining a grid are no longer supported.  (Note: this change only
-	  affects methods wrt "generators" and _not_ wrt
-	  "grid_generators".)
-
-	  In the Partially_Reduced_Product domain all methods that build a
-	  product from generators or grid generators, add generators or
-	  grid generators to a product and get the generators or grid
-	  generators defining a product are no longer supported.
-
-	  Changes to the tests reflect this change.
-
-2007-11-15 Thursday 14:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.9),
-	  src/Partially_Reduced_Product.inlines.hh (1.10),
-	  src/Partially_Reduced_Product.templates.hh (1.5),
-	  tests/Grid/partiallyreducedproduct1.cc (1.7): Corrected the
-	  set_reduced_flag() to clear_reduced_flag() when building a new
-	  product from constraints or congruences.
-
-	  Made 2 additional tests for OK() that checks products after using
-	  these constructors.
-
-	  The code implementing OK() now forces reduced() to reduce the
-	  copy of *this by setting its "reduced" flag to false.  The code
-	  for OK() now moved to *.templates.hh
-
-	  Some formatting improvements mainly in *.inlines.hh.
-
-2007-11-15 Thursday 10:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.templates.hh (1.4),
-	  tests/Grid/Makefile.am (1.57): More tests added for smash and
-	  constraints product..  Formatting improvements to
-	  /Partially_Reduced_Product.templates.hh.
-
-2007-11-13 Tuesday 10:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.inlines.hh (1.9),
-	  tests/Grid/partiallyreducedproduct1.cc (1.6),
-	  tests/Grid/partiallyreducedproduct2.cc (1.2): Many corrections to
-	  the product domain implementation mainly wrt when reduction must
-	  be done and setting the reduced Boolean.  Tests added and
-	  improved. Some useless tests removed.
-
-2007-11-12 Monday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.43): Useless @SET_MAKE@ removed.
-
-2007-11-12 Monday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.294): New versions of GCC on Darwin no longer
-	  support -Wno-long-double: we no longer use this option on that
-	  platform (people using older versions will simply get lots of
-	  warnings they can ignore).
-
-2007-11-09 Friday 11:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/directproduct3.cc (1.7): Test18 fails for 8-bit
-	  coefficients.
-
-2007-11-07 Wednesday 14:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: directproduct1.cc (1.35), directproduct3.cc (1.6):
-	  Tests corrected.
-
-2007-11-07 Wednesday 09:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/: directproduct1.cc (1.34), directproduct3.cc (1.5):
-	  Temporarily disabled test14 and test19 in directproduct1 and
-	  directproduct3, respectively, which are known to fail.
-
-2007-11-05 Monday 21:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.inlines.hh (1.142),
-	  tests/Polyhedron/congruences1.cc (1.11): The method congruences()
-	  for the Polyhedron classes must return all equalities including
-	  the implied equalities.
-
-2007-11-05 Monday 17:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.56), partiallyreducedproduct1.cc
-	  (1.5), partiallyreducedproduct2.cc (1.1):
-	  partiallyreducedproduct1.cc no longer tests the direct product
-	  domain.  More tests for the Smash_Product and Constraints_Product
-	  domains added in partiallyreducedproduct2.cc
-
-2007-11-05 Monday 15:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: directproduct1.cc (1.33), directproduct2.cc (1.10),
-	  directproduct3.cc (1.4), directproduct4.cc (1.7),
-	  directproduct5.cc (1.3): Revised the directproduct tests so as
-	  not to build or enlarge a product using the generators or grid
-	  generators.
-
-2007-11-05 Monday 14:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.8),
-	  src/Partially_Reduced_Product.inlines.hh (1.8),
-	  src/Polyhedron.defs.hh (1.325), src/Polyhedron_public.cc (1.97),
-	  tests/Grid/directproduct4.cc (1.6): Undone the change to
-	  generalized_affine_image in previous commit so these methods are,
-	  again, unsupported by the  Partially_Reduced_Product domains.
-
-2007-11-05 Monday 12:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/directproduct1.cc (1.32): Revised test so as not to
-	  use the generators or grid_generators constructors
-
-2007-11-05 Monday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.7),
-	  src/Partially_Reduced_Product.inlines.hh (1.7),
-	  src/Polyhedron.defs.hh (1.324), src/Polyhedron_public.cc (1.96),
-	  tests/Grid/directproduct4.cc (1.5): Revised the methods
-	  generalized_affine_image() so as to allow for a modulus as the
-	  fourth argument.  Note that for the Polyhedron domains the
-	  modulus is ignored and the transformation is treated as if it was
-	  0 (equality).  Enabled the tests in directproduct4.cc that test
-	  this.
-
-2007-11-05 Monday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/C_Polyhedron.defs.hh (1.49), src/C_Polyhedron.inlines.hh
-	  (1.37), src/NNC_Polyhedron.defs.hh (1.51),
-	  src/NNC_Polyhedron.inlines.hh (1.38),
-	  src/Partially_Reduced_Product.defs.hh (1.6),
-	  src/Partially_Reduced_Product.inlines.hh (1.6),
-	  tests/Grid/partiallyreducedproduct1.cc (1.4): Removed
-	  C_Polyhedron::C_Polyhedron(const Grid_Generator_System&),
-	  NNC_Polyhedron::NNC_Polyhedron(const Grid_Generator_System&) and
-	  similar constructors.
-
-2007-11-05 Monday 09:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.inlines.hh (1.5), tests/print.hh
-	  (1.43), tests/Grid/Makefile.am (1.55),
-	  tests/Grid/directproduct1.cc (1.31), tests/Grid/directproduct2.cc
-	  (1.9), tests/Grid/directproduct3.cc (1.3),
-	  tests/Grid/directproduct4.cc (1.4), tests/Grid/directproduct5.cc
-	  (1.2), tests/Grid/directproduct6.cc (1.7),
-	  tests/Grid/directproduct7.cc (1.5): Completely revised the test
-	  files directproduct?.cc
-
-	  In tests/print.hh, added to the print options for the tests:
-
-	  print_constraints(const
-	  Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>&
-	  pd, print_congruences(const
-	  Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>&
-	  pd,
-
-	  Corrected the implementation of strictly_contains() for
-	  Partially_Reduced_Product domains.
-
-2007-11-03 Saturday 08:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.inlines.hh (1.4),
-	  src/globals.defs.hh (1.51), tests/Grid/Makefile.am (1.54),
-	  tests/Grid/asciidumpload7.cc (1.4),
-	  tests/Grid/partiallyreducedproduct1.cc (1.3): Added code for
-	  ascii_dump() for Partially_Reduced_Product class.
-
-2007-11-02 Friday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (1.13): FIXME resolved.
-
-2007-11-02 Friday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.templates.hh (1.3): Comments
-	  revised so as to adhere to our standards.
-
-2007-11-02 Friday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.templates.hh (1.2): Simplified the
-	  logic of Smash_Reduction<D1, D2>::product_reduce() so as to
-	  remove all explicit returns.
-
-2007-11-02 Friday 16:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Partially_Reduced_Product.defs.hh (1.5),
-	  Partially_Reduced_Product.inlines.hh (1.3): Revised comments for
-	  the product domain.  Removed a useless return.
-
-2007-11-02 Friday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Partially_Reduced_Product.inlines.hh (1.2): Do not name
-	  unused parameters (this avoids the compiler warnings).  Avoid
-	  useless returns.
-
-2007-11-02 Friday 16:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.4): Added comments for
-	  the new reduction classes and their methods.	Corrected another
-	  comment.
-
-2007-11-02 Friday 14:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Partially_Reduced_Product.defs.hh (1.3),
-	  tests/Grid/partiallyreducedproduct1.cc (1.2): Removed redundant
-	  typedef declarations and revised the tests to use the more
-	  generic types for products.
-
-2007-11-02 Friday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Partially_Reduced_Product.defs.hh (1.2),
-	  Partially_Reduced_Product.types.hh (1.2): Temporarily added the
-	  Domain_Product class: it will be removed when template typedefs
-	  will be supported by C++.
-
-2007-11-02 Friday 11:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Makefile.am (1.174), src/Partially_Reduced_Product.defs.hh
-	  (1.1), src/Partially_Reduced_Product.inlines.hh (1.1),
-	  src/Partially_Reduced_Product.templates.hh (1.1),
-	  src/Partially_Reduced_Product.types.hh (1.1),
-	  tests/Grid/Makefile.am (1.53),
-	  tests/Grid/partiallyreducedproduct1.cc (1.1): First revision for
-	  implementing Partially_Reduced_Product classes that is intended
-	  to replace the Direct_Product and Open_Product classes.
-
-2007-11-01 Thursday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_nonpublic.cc (1.30): Avoid abusing logical operators.
-
-2007-10-29 Monday 11:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/maxspacedim1.cc (1.15): Test corrected so as to
-	  take into proper account 32bit architectures.
-
-2007-10-27 Saturday 14:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/h79widening1.cc (1.12): Simplified the logic
-	  underlying test01.
-
-2007-10-27 Saturday 13:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/affinepreimage1.cc (1.15): Removed TODO comment and
-	  uncommented gr.add_congruence((3*A - 6*B %= 3) / 9);
-
-2007-10-27 Saturday 12:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/dualhypercubes.cc (1.15): Modified to compute
-	  (and print in noisy mode) information on the cardinality of the
-	  intermediate results, as well as checking the cardinalities of
-	  the final results to match those reported in the FAC 2005 paper.
-
-2007-10-27 Saturday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/writeoctagon1.cc (1.5): Tests extended and
-	  FIXMEs resolved.
-
-2007-10-27 Saturday 07:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affinepreimage1.cc (1.14): Avoid abusing logical
-	  operators.
-
-2007-10-27 Saturday 06:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/membytes1.cc (1.10): TODO dealt with.
-
-2007-10-27 Saturday 06:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/maxspacedim1.cc (1.14): One FIXME resolved,
-	  another one added.
-
-2007-10-26 Friday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: .cvsignore (1.6), writegensys1.cc (1.11),
-	  writepolyhedron1.cc (1.11), writepolyhedron2.cc (1.11): Several
-	  FIXMEs resolved.
-
-2007-10-26 Friday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/linearpartition1.cc (1.14): FIXME resolved: now
-	  test04() checks all the results.
-
-2007-10-26 Friday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/dualhypercubes.cc (1.14): Variable renamed.
-
-2007-10-26 Friday 12:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Direct_Product.inlines.hh (1.45),
-	  Direct_Product.templates.hh (1.23): Non-inline code moved from
-	  Direct_Product.inlines.hh to Direct_Product.templates.hh
-
-2007-10-25 Thursday 22:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.21),
-	  src/Pointset_Powerset.templates.hh (1.16),
-	  tests/Polyhedron/pointsetpowerset2.cc (1.2): Added
-	  affine_dimension() to the Pointset_Powerset.
-
-2007-10-25 Thursday 21:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_swi_prolog.m4 (1.13): Define also
-	  SWI_PROLOG_LD_OPTIONS.
-
-2007-10-24 Wednesday 15:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.defs.hh (1.20),
-	  src/Pointset_Powerset.templates.hh (1.15),
-	  tests/Polyhedron/Makefile.am (1.112),
-	  tests/Polyhedron/pointsetpowerset2.cc (1.1): Added
-	  generalized_*image() and bounded_*image() to the Pointset
-	  Powerset domain.
-
-	  Added tests for these and for the affine_image() and
-	  affine_preimage() methods.
-
-2007-10-22 Monday 21:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.inlines.hh (1.44),
-	  tests/Grid/directproduct6.cc (1.6): Revised code for
-	  relation_with(Constraint).  Added one extra test for this.
-
-2007-10-22 Monday 14:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.inlines.hh (1.43),
-	  tests/Grid/directproduct1.cc (1.30), tests/Grid/directproduct2.cc
-	  (1.8), tests/Grid/directproduct3.cc (1.2),
-	  tests/Grid/directproduct4.cc (1.3), tests/Grid/directproduct6.cc
-	  (1.5), tests/Grid/directproduct7.cc (1.4): Bug fixed for
-	  congruences() and minimized_congruences().  Tests changed so as
-	  to test the Direct_Product class rather than the Open_Product
-	  class.
-
-2007-10-22 Monday 13:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.205), src/Direct_Product.defs.hh (1.47),
-	  src/Direct_Product.inlines.hh (1.42): Documentation revised for
-	  grids, bibliographic cross-reference corrected and some missing
-	  code for the direct product domain added.
-
-2007-10-22 Monday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.defs.hh (1.46), src/Direct_Product.inlines.hh
-	  (1.41), tests/Grid/directproduct6.cc (1.4): Revised the returned
-	  result for relation_with(Constraint).
-
-2007-10-22 Monday 09:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.defs.hh (1.45), src/Direct_Product.inlines.hh
-	  (1.40), tests/Grid/directproduct6.cc (1.3): Added the
-	  relation_with(Constraint) and relation_with(Generator) method for
-	  the direct product.
-
-2007-10-20 Saturday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.76): Use the `-pl' option of
-	  `plld' to make sure the right Prolog interpreter is used.
-
-2007-10-20 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_swi_prolog.m4 (1.12): Set and substitute the
-	  `SWI_PROLOG' variables: it contains the complete path of the
-	  SWI-Prolog interpreter.
-
-2007-10-20 Saturday 18:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.57), src/Grid_nonpublic.cc (1.29),
-	  src/Grid_public.cc (1.61), tests/Grid/relations1.cc (1.15),
-	  tests/Grid/relations2.cc (1.17), tests/Grid/relations3.cc (1.8):
-	  Revised the grid relation_with() methods for congruences and
-	  constraints so that saturates() is included in the result
-	  whenever the congruence or constraint is an equality and every
-	  point of the grid satisfies the equality.
-
-	  Added grid relation_with() methods for a generator so that a
-	  point or closure point has the same relation with the grid as the
-	  corresponding grid point, and a ray or line has the same relation
-	  with the grid as a grid line.
-
-	  Expected results revised and new tests for the grid
-	  relation_with() methods for a generator added to relations1.cc.
-
-2007-10-19 Friday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.293): Version number bumped.
-
-2007-10-19 Friday 15:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.60): In code for building a grid from a
-	  polyhedron, bug that was causing an assertion to fail corrected.
-
-2007-10-19 Friday 10:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.36): Spelling of file
-	  name corrected.
-
-2007-10-19 Friday 08:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/grid3.cc (1.24): test19 expected to fail with an
-	  overflow exception with checked_int8 configuration.
-
-2007-10-18 Thursday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.292): For a change, test with
-	  Octagonal_Shape<double> instead of BD_Shape<int8_t>.
-
-2007-10-18 Thursday 11:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.defs.hh (1.44), src/Direct_Product.inlines.hh
-	  (1.39), tests/Grid/directproduct7.cc (1.3): Added maximize/5 and
-	  minimize/5 for the direct product.  Comments improved.  Tests
-	  added for these methods.
-
-2007-10-18 Thursday 08:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.59): TEMP_INTEGER taken outside loops.
-
-2007-10-18 Thursday 08:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.16):
-	  Additional change made so as to deal with change to maximize/5
-	  and minimize/5 for the grid domain.
-
-2007-10-18 Thursday 08:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.58), tests/Grid/grid3.cc (1.23): Bug shown
-	  in previous commit now corrected.
-
-2007-10-18 Thursday 07:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/grid3.cc (1.22): test18 shows a bug in the code added
-	  for building a grid using the generators of a polyhedron.
-
-2007-10-17 Wednesday 22:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.57): Code for constructing a grid from a
-	  polyhedron improved.
-
-2007-10-17 Wednesday 21:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.15):
-	  Changed the OCaml interface so as to match the change to
-	  maximize/5 and minimize/5 for the grid domain.
-
-2007-10-17 Wednesday 18:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.18),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.30),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.19),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.49),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.51), src/Grid.defs.hh (1.56), src/Grid.inlines.hh (1.18),
-	  src/Grid_nonpublic.cc (1.28), tests/Grid/maxmin1.cc (1.13):
-	  Changed the methods maximize/5 and minimize/5 for the Grid class
-	  so that a Generator point, the maximum point of the grid, is the
-	  5th argument.
-
-2007-10-17 Wednesday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.55), src/Grid_public.cc (1.56),
-	  tests/Grid/grid3.cc (1.21): Added a constructor for a grid from a
-	  polyhedron.
-
-2007-10-17 Wednesday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.323): Grid befriended to allow for the
-	  efficient implementation of a Grid constructor from a Polyhedron.
-
-2007-10-16 Tuesday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.defs.hh (1.25): FIXME resolved.
-
-2007-10-16 Tuesday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.types.hh (1.8): Template parameters renamed.
-
-2007-10-16 Tuesday 17:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.defs.hh (1.43), src/Direct_Product.inlines.hh
-	  (1.38), tests/Grid/directproduct7.cc (1.2): Added
-	  bounded_affine_image() and bounded_affine_preimage() for the
-	  direct product domain with some simple tests in
-	  directproduct7.cc.
-
-	  Improved a few comments in Direct_Product.defs.hh.
-
-2007-10-16 Tuesday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.defs.hh (1.42), src/Direct_Product.inlines.hh
-	  (1.37), tests/Grid/Makefile.am (1.52),
-	  tests/Grid/directproduct7.cc (1.1): Revised several comments in
-	  Direct_Product.defs.hh.  Added bounds_from_above/1,
-	  bounds_from_below/1, maximize/4 and minimize/4 for direct product
-	  domain.  Added tests for these in directproduct7.cc.
-
-2007-10-16 Tuesday 12:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.inlines.hh (1.36): Useless copies avoided.
-
-2007-10-16 Tuesday 12:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.inlines.hh (1.35): Implementation of
-	  constraints(), minimized_constraints(), congruences() and
-	  minimized_congruences() improved.
-
-2007-10-16 Tuesday 10:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.defs.hh (1.41), src/Direct_Product.inlines.hh
-	  (1.34), tests/Grid/directproduct4.cc (1.2): Added affime_*image
-	  and versions of generalized_..._*image that are supported by both
-	  the grids and polyhedra classes.  Tests for these have been
-	  enabled.
-
-2007-10-16 Tuesday 09:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.inlines.hh (1.33),
-	  tests/Grid/directproduct6.cc (1.2): Improved code in previous
-	  commit for add_constraints() and constraints() and similar
-	  methods with the recycle and minimize options. Similarly for
-	  congruences.	Testing of these improved.
-
-2007-10-15 Monday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.16): Added the `Box_Pointset' derived
-	  class.  Provide the constructors from boxes, bounded-difference
-	  and octagonal shapes.
-
-2007-10-15 Monday 19:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Ask_Tell.defs.hh (1.18): Add class Ask_Tell to the C++
-	  interface documentation.
-
-2007-10-15 Monday 19:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Direct_Product.defs.hh (1.40): Add class Direct_Product to
-	  the C++ interface documentation.  Use properly the math
-	  environment delimiters in docs. Fix indentation.
-
-2007-10-15 Monday 19:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.15): Add class Any_Pointset to the
-	  C++ interface documentation.	Do properly group documented
-	  methods.
-
-2007-10-15 Monday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.51), directproduct1.cc (1.29),
-	  directproduct2.cc (1.7), directproduct3.cc (1.1),
-	  directproduct4.cc (1.1), directproduct5.cc (1.1),
-	  directproduct6.cc (1.1): directproduct1.c split into 4 files
-	  directproduct2.cc now named directproduct5.cc directproduct6.cc
-	  is some additional tests..
-
-2007-10-15 Monday 15:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Direct_Product.defs.hh (1.39), Direct_Product.inlines.hh
-	  (1.32): Added a short description of a direct product.
-
-	  Modified the code for constraints(), congruences() so as to
-	  return all the constraints or congruences in the components.
-	  Similarly for minimized_constraints() and the recycled versions.
-
-2007-10-15 Monday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Term.defs.hh (polynomials.3): `Checked_Exponent_Type_Policy'
-	  now sets `has_nan' to false.
-
-2007-10-15 Monday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/congruence1.cc (1.18): Added tests for == and != for
-	  congruences when they have not been normalised or strongly
-	  normalised.
-
-2007-10-15 Monday 12:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Congruence_System.defs.hh (1.25): Removed operator==(const
-	  Congruence_System& x, const Congruence_System& y);
-
-2007-10-15 Monday 09:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Term.cc (polynomials.3): Reimplemented method
-	  Term::shift_space_dimensions(const Variables_Set&) so as to use a
-	  single loop instead of two.
-
-2007-10-15 Monday 09:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polynomial_Space.templates.hh (polynomials.3): Prefer
-	  const_iterator to iterator when accessing a Variables_Set.  When
-	  creating a Variables_Set, prefer adding a variable index instead
-	  of a proper Variable, if it is known that the index is less than
-	  the maximum allowed space dimension.
-
-2007-10-15 Monday 09:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polynomial.cc (polynomials.3): Fixed a typo in a comment.
-
-2007-10-14 Sunday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Monomial.cc, Monomial.defs.hh, Monomial.inlines.hh,
-	  Polynomial.cc, Polynomial.defs.hh, Polynomial.inlines.hh,
-	  Polynomial_Cone.defs.hh, Polynomial_Constraint.defs.hh,
-	  Polynomial_Space.cc, Polynomial_Space.defs.hh,
-	  Polynomial_Space.templates.hh, Term.cc, Term.defs.hh,
-	  Term.inlines.hh (polynomials.[2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
-	  Non-standard qualifications removed.	Spurious semicolons
-	  removed.  Variable shadowing avoided.
-
-2007-10-14 Sunday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.defs.hh (1.7): Non-standard qualification
-	  removed.
-
-2007-10-14 Sunday 10:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, configure.ac, src/Makefile.am, src/Monomial.cc,
-	  src/Monomial.defs.hh, src/Monomial.inlines.hh,
-	  src/Monomial.types.hh, src/Polynomial.cc, src/Polynomial.defs.hh,
-	  src/Polynomial.inlines.hh, src/Polynomial.types.hh,
-	  src/Polynomial_Cone.cc, src/Polynomial_Cone.defs.hh,
-	  src/Polynomial_Cone.inlines.hh, src/Polynomial_Cone.types.hh,
-	  src/Polynomial_Constraint.cc, src/Polynomial_Constraint.defs.hh,
-	  src/Polynomial_Constraint.inlines.hh,
-	  src/Polynomial_Constraint.types.hh,
-	  src/Polynomial_Constraint_System.cc,
-	  src/Polynomial_Constraint_System.defs.hh,
-	  src/Polynomial_Constraint_System.inlines.hh,
-	  src/Polynomial_Constraint_System.types.hh,
-	  src/Polynomial_Space.cc, src/Polynomial_Space.defs.hh,
-	  src/Polynomial_Space.inlines.hh,
-	  src/Polynomial_Space.templates.hh, src/Polynomial_Space.types.hh,
-	  src/Term.cc, src/Term.defs.hh, src/Term.inlines.hh,
-	  src/Term.types.hh, src/globals.types.hh, tests/Makefile.am
-	  (polynomials.[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]):
-	  Initial implementation of polynomial spaces (joint work with
-	  Enric Rodriguez Carbonell and Enea Zaffanella).
-
-2007-10-13 Saturday 19:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Ask_Tell.cc (1.7), Pointset_Ask_Tell.defs.hh
-	  (1.13), Pointset_Ask_Tell.templates.hh (1.11): A few FIXMEs have
-	  been resolved by adding a private typedef.
-
-2007-10-13 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Pointset_Ask_Tell.cc (1.6), Pointset_Ask_Tell.templates.hh
-	  (1.10): Compilation errors fixed, with FIXMEs added.
-
-2007-10-13 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.defs.hh (1.38): Non-standard qualification
-	  removed.
-
-2007-10-13 Saturday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.103), Bit_Row.defs.hh (1.7),
-	  Box.defs.hh (1.30), Congruence.defs.hh (1.22),
-	  Congruence_System.defs.hh (1.24), Constraint.defs.hh (1.127),
-	  Constraint_System.defs.hh (1.39), Generator_System.defs.hh
-	  (1.26), Grid.defs.hh (1.54), Grid_Generator_System.defs.hh
-	  (1.28), Linear_Expression.defs.hh (1.37), OR_Matrix.defs.hh
-	  (1.12), Octagonal_Shape.defs.hh (1.32), Poly_Con_Relation.defs.hh
-	  (1.35), Poly_Gen_Relation.defs.hh (1.33), Polyhedron.defs.hh
-	  (1.322), Ptr_Iterator.defs.hh (1.11): Non-standard qualifications
-	  removed.
-
-2007-10-13 Saturday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval_Info.inlines.hh (1.6): Avoid naming an unused
-	  parameter.
-
-2007-10-13 Saturday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (1.55), src/Pointset_Ask_Tell.cc (1.5),
-	  src/Pointset_Ask_Tell.defs.hh (1.12),
-	  src/Pointset_Ask_Tell.inlines.hh (1.6), src/Pointset_Powerset.cc
-	  (1.15), src/Pointset_Powerset.defs.hh (1.19),
-	  src/Pointset_Powerset.inlines.hh (1.9),
-	  src/checked_float.inlines.hh (1.82),
-	  tests/Polyhedron/powerset1.cc (1.21): Due to compiler bugs, there
-	  is no way to compile the PPL with GCC versions up to and
-	  including 3.4.6: old kludges removed.
-
-2007-10-13 Saturday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.48): Work around a bug in version 10.0 of
-	  the Intel C/C++ compiler.
-
-2007-10-13 Saturday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Boundary.defs.hh (1.9): Compiler warning avoided.
-
-2007-10-11 Thursday 08:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Grid.templates.hh (1.32): In the constructor of grids from
-	  boxes, avoid meaningless implicit conversions in the calls to
-	  constructors for Grid_Generator_System.  Don't use function
-	  `used' to suppress a compiler warning when it is enough to avoid
-	  naming an unused parameter.
-
-2007-10-10 Wednesday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Coefficient.inlines.hh (1.9): Coefficient_zero() and
-	  Coefficient_one() temporarily restored to the old definition.
-
-2007-10-10 Wednesday 14:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.213): Added that a bug has been fixed for the grid
-	  domain.
-
-2007-10-10 Wednesday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Grid.defs.hh (1.53), Polyhedron.defs.hh (1.321): Comments
-	  for constraints() and minimized_constraints() in Grid.defs.hh
-	  improved; similar improvements for congruences in
-	  Polyhedron.defs.hh.
-
-2007-10-09 Tuesday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.9), TODO (1.233), Watchdog/INSTALL (1.6): The `make
-	  uninstall' command is now mentioned in the INSTALL file.
-
-2007-10-09 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.23): Example simplified.
-
-2007-10-09 Tuesday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.291): Provide the Intel C/C++ compiler with
-	  adequate warning flags.
-
-2007-10-09 Tuesday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.290): The Intel C/C++ equivalent of GCC's
-	  -frounding-math should be -fp-model strict -fp-speculation off.
-
-2007-10-09 Tuesday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.289): Detect the Intel C/C++ compiler.
-
-2007-10-09 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.212), interfaces/C/ppl_c.h.in (1.73): In the C interface
-	  it is no longer an error to call ppl_initialize() or
-	  ppl_finalize() multiple times (this matches the behavior of the
-	  other interfaces).
-
-2007-10-09 Tuesday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_preamble (1.12): Teach
-	  emacs that this is a C++ file.  Disable automatic initialization.
-	  Use the new Parma_Polyhedra_Library::initialize() and
-	  Parma_Polyhedra_Library::finalize() instead of something ad hoc.
-
-2007-10-09 Tuesday 15:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.13): Do not rely on automatic initialization of the PPL.
-
-2007-10-09 Tuesday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.icc (1.11): No longer rely on
-	  automatic initialization.
-
-2007-10-09 Tuesday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.211), src/initializer.hh (1.15): Users of the C++
-	  interface of the library can now decide to disable the automatic
-	  initialization mechanism of the PPL.	To do so, the preprocessor
-	  symbol PPL_NO_AUTOMATIC_INITIALIZATION should be defined before
-	  including the `ppl.hh' header file.  When automatic
-	  initialization is disabled it is imperative to explicitly call
-	  the new function
-
-	      void Parma_Polyhedra_Library::initialize()
-
-	  before using the library.  The new function
-
-	      void Parma_Polyhedra_Library::finalize() and
-
-	  should also be called (to release a small amount of memory) when
-	  done with the library.
-
-2007-10-08 Monday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.147), Box.inlines.hh (1.21),
-	  Octagonal_Shape.inlines.hh (1.20): Use DIRTY_TEMP instead of
-	  static variables.
-
-2007-10-08 Monday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.12): Use DIRTY_TEMP0 for temporaries.
-
-2007-10-08 Monday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Coefficient.cc (1.8), Coefficient.defs.hh (1.10),
-	  Coefficient.inlines.hh (1.8), Congruence.cc (1.18),
-	  Congruence.defs.hh (1.21), Congruence.inlines.hh (1.18),
-	  Congruence_System.cc (1.26), Congruence_System.defs.hh (1.23),
-	  Congruence_System.inlines.hh (1.10), Constraint.cc (1.69),
-	  Constraint.defs.hh (1.126), Constraint.inlines.hh (1.68),
-	  Constraint_System.cc (1.27), Constraint_System.defs.hh (1.38),
-	  Constraint_System.inlines.hh (1.11), Generator.cc (1.76),
-	  Generator.defs.hh (1.124), Generator.inlines.hh (1.62),
-	  Generator_System.cc (1.24), Generator_System.defs.hh (1.25),
-	  Generator_System.inlines.hh (1.10), Grid_Generator.cc (1.22),
-	  Grid_Generator.defs.hh (1.32), Grid_Generator.inlines.hh (1.15),
-	  Grid_Generator_System.cc (1.20), Grid_Generator_System.defs.hh
-	  (1.27), Grid_Generator_System.inlines.hh (1.16), Init.cc (1.32),
-	  Linear_Expression.cc (1.19), Linear_Expression.defs.hh (1.36),
-	  Linear_Expression.inlines.hh (1.12): First go at getting rid of
-	  all non-POD static variables.
-
-2007-10-08 Monday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Temp.inlines.hh (1.3): Allow the use of DIRTY_TEMP and
-	  DIRTY_TEMP0 also outside the Parma_Polyhedra_Library namespace.
-
-2007-10-08 Monday 14:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/congruences1.cc (1.10): Added some tests for
-	  congruences() and minimized_congruences().  test06 shows that
-	  implied equalities (eg A + B >= 3, A + B <= 3) are ignored (at
-	  the moment) for congruences().
-
-2007-10-08 Monday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/conversion.cc (1.84): Use DIRTY_TEMP0 instead of a static
-	  variable.
-
-2007-10-08 Monday 14:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.cc (1.26): When building a
-	  Constraint_System from a Congruence_System, do properly set the
-	  topology and the space dimension; adding the positivity
-	  constraint is not needed.
-
-2007-10-08 Monday 14:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.cc (1.68): When building a constraint from a
-	  congruence, do not require a non-zero space dimension; also,
-	  avoid building a NOT_NECESSARILY_CLOSED constraint.
-
-2007-10-08 Monday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence.cc (1.17), Congruence.inlines.hh (1.17): An
-	  assertion made stronger and a new one added.
-
-2007-10-08 Monday 13:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.52): Simplified the
-	  handling of error messages and ppl finalization, removing a few
-	  dead code and useless cuts.
-
-2007-10-08 Monday 11:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Constraint_System.cc (1.25), Grid.inlines.hh (1.17): Undone
-	  change to Grid.inlines.hh in last commit and made a corresponding
-	  change to the Constraint_System() code.
-
-2007-10-08 Monday 11:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.inlines.hh (1.16): Fixed the bug shown in test03 and
-	  test10 in constraints1.cc
-
-2007-10-08 Monday 11:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.50), constraints1.cc (1.1):
-	  constraints1.cc has tests for constraints() and
-	  minimized_constraints().  test03 and tests10 show a bug - cause
-	  an assertion to fail - when getting the constraints from an empty
-	  grid with 0 space dimensions.
-
-2007-10-08 Monday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.51): Removed a spurious
-	  occurrence of ppl_finalize/0 in time_out/1, which was causing a
-	  bug.
-
-2007-10-07 Sunday 18:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.38): Added an explanation of how to use the
-	  test-coverage facilities provided by GCC.
-
-2007-10-07 Sunday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: pl_clpq.cc (1.13), ppl_pl.cc (1.13): With
-	  versions of SWI-Prolog after 5.6.43, ask SWI-Prolog not to fiddle
-	  with GMP allocation functions.
-
-2007-10-07 Sunday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.11): No longer use global variables of kind mpz_class, since
-	  that does not allow to precisely control construction and
-	  destruction time.  This triggers a bug in pl_check.pl: apparently
-	  it tries to use the PPL interface after having called
-	  ppl_finalize/0 without an intervening invocation of
-	  ppl_initialize/0.
-
-2007-10-07 Sunday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/exceptions1.cc (1.4): Comment improved.
-
-2007-10-07 Sunday 10:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.hh (1.30): Comments and
-	  formatting improved.
-
-2007-10-07 Sunday 09:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.232): Item dealt with and removed.
-
-2007-10-06 Saturday 22:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.231): Removed item - Revise the documentation for all the
-	  congruences() and   minimized_congruences() methods.
-
-2007-10-06 Saturday 22:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Direct_Product.defs.hh (1.37), Grid.defs.hh (1.52),
-	  Polyhedron.defs.hh (1.320): Revised comments for some
-	  congruences() and minimized_congruences() methods and also
-	  similarly for some constraints() and minimized_constraints()
-	  methods.  A couple of other typos fixed in comments in
-	  Grid.defs.hh
-
-2007-10-06 Saturday 21:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.22), TODO (1.230): Mentioned that the
-	  mechanisms to specify additional compilation flags may be used to
-	  request extra optimizations.	Corresponding to-do item removed.
-
-2007-10-06 Saturday 15:03  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.81): Replaced volatile with
-	  avoid_cse.
-
-2007-10-06 Saturday 12:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.21): Revised the example with the Intel C/C++
-	  compiler.  Other minor improvements.
-
-2007-10-06 Saturday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_cfli.hh (1.7): Unwanted change undone.
-
-2007-10-06 Saturday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/ciao_cfli.hh (1.4), GNU/gprolog_cfli.hh
-	  (1.4), SICStus/sicstus_cfli.ic (1.18), SWI/swi_cfli.hh (1.6),
-	  XSB/xsb_cfli.hh (1.4), YAP/yap_cfli.hh (1.4): Comments improved.
-
-2007-10-05 Friday 18:43  Abramo Bagnara
-
-	* src/Interval_Restriction.defs.hh (1.10): Avoid naming unused
-	  parameter.
-
-2007-10-05 Friday 18:35  Abramo Bagnara
-
-	* src/Grid_simplify.cc (1.36): Fixed gcdext_assign call.
-
-2007-10-05 Friday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.29): Work around bug of the Intel compiler.
-
-2007-10-05 Friday 14:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval_Restriction.defs.hh (1.9), checked_int.inlines.hh
-	  (1.64), checked_mpz.inlines.hh (1.50): Avoid naming unused
-	  parameters.  Avoid long source lines.
-
-2007-10-05 Friday 12:24  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.95), Checked_Number.inlines.hh
-	  (1.77), GMP_Integer.defs.hh (1.27), GMP_Integer.inlines.hh
-	  (1.22), checked.defs.hh (1.43), checked.inlines.hh (1.40),
-	  checked_ext.defs.hh (1.14), checked_ext.inlines.hh (1.40),
-	  checked_mpz.inlines.hh (1.49): Fixed prototype for gcdext.
-
-2007-10-04 Thursday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.229): Reorganized: some things will definitely not be
-	  ready for PPL 0.10.
-
-2007-10-04 Thursday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.288): Version number bumped.
-
-2007-10-04 Thursday 08:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_sicstus_prolog.m4 (1.7): Comment fixed.
-
-2007-10-03 Wednesday 19:16  Andrea Cimino
-
-	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.9),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.29), jni/ppl_java_globals.cc (1.8),
-	  tests/ppl_interface_generator_java_test_java_code.m4 (1.18):
-	  Implemented `total_memory_in_bytes' for the PPL objects.  At the
-	  moment the method returns only the memory used by the C++
-	  objects.
-
-2007-10-02 Tuesday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (1.9): test01 always fails with
-	  8-bit coefficients, provided the timeout is long enough.
-
-2007-10-02 Tuesday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (1.8): Timeout increased to 2
-	  seconds.
-
-2007-10-01 Monday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.22): Option `--licence' fixed: the PPL is
-	  now released under GPL version 3.
-
-2007-09-30 Sunday 23:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (1.7): Timeout increased to 1
-	  second.
-
-2007-09-30 Sunday 11:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.210), configure.ac (1.287),
-	  interfaces/Prolog/Ciao/Makefile.am (1.66),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.51),
-	  interfaces/Prolog/GNU/Makefile.am (1.66),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.44),
-	  interfaces/Prolog/SICStus/Makefile.am (1.78),
-	  interfaces/Prolog/SWI/Makefile.am (1.75),
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.10), interfaces/Prolog/XSB/Makefile.am (1.55),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.9),
-	  interfaces/Prolog/YAP/Makefile.am (1.55): Fixed bugs that
-	  prevented building the library on systems not supported by the
-	  Parma Watchdog Library or when the `--disable-watchdog' configure
-	  was used.  There is still a pending issue concerning the XSB
-	  Prolog interface.
-
-2007-09-29 Saturday 19:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (1.6): test01 does not fail
-	  unless assertions are enabled.
-
-2007-09-29 Saturday 13:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.spec (1.3):  The value of the `License' tag is now
-	  `GPLv3+'.
-	  `ppl-swiprolog' dependency on `readline-devel' removed (again).
-
-2007-09-29 Saturday 13:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.spec (simplex.1): file ppl.spec was added on branch
-	  simplex on 2008-01-07 11:15:27 +0000
-
-2007-09-27 Thursday 08:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.43): List file
-	  do_not_output_location in MOSTLYCLEANFILES.
-
-2007-09-26 Wednesday 21:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.42), expected_mpz (1.14),
-	  expected_mpz_a (1.13): Do not output the optimum location for
-	  tests adlittle, boeing1, boeing2 and rout, since these may vary
-	  (without affecting the optimum value itself) depending on the
-	  computing platform. Expected results for mpz (with and without
-	  assertions) updated accordingly.
-
-2007-09-26 Wednesday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (1.10): There is no need to include "pwl.hh" here.
-
-2007-09-26 Wednesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.icc (1.10): Support for
-	  systems where the Parma Watchdog Library is not available: on
-	  these systems, both ppl_set_timeout/1 and ppl_reset_timeout/0
-	  fail.
-
-2007-09-26 Wednesday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.286): The preprocessor symbol
-	  WATCHDOG_LIBRARY_ENABLED is defined if and only if the Parma
-	  Watchdog Library is enabled.
-
-2007-09-26 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.77): Initial support for
-	  systems where the Parma Watchdog Library is not available.
-
-2007-09-26 Wednesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/timings.cc (1.11): Cater for systems with no clocks.
-
-2007-09-26 Wednesday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.285): Added checks for the `timeval' type and for
-	  the `getrusage' function.
-
-2007-09-26 Wednesday 13:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.75): If the problem is
-	  optimizable, then the output of the problem state is subsumed by
-	  the output of the optimum value; hence, do output the problem
-	  state only if verbosity == 1.
-
-2007-09-26 Wednesday 13:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.74): A couple of minor corrections
-	  in the usage string.	Option --version replaced by option
-	  --verbosity=LEVEL, taking as argument an integer between 0 and 4
-	  (default 3). The verbosity level is systematically checked before
-	  producing output (except for error messages).
-
-2007-09-26 Wednesday 13:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.41): Cleanup should not depend on
-	  configuration.
-
-2007-09-25 Tuesday 19:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/: Makefile.am (1.9), bug1.cc (1.2), bug2.cc
-	  (1.2), mipproblem2.cc (1.5): Tests bug1.cc and bug2.cc were not
-	  showing real bugs.  Test test01 in miproblem2.cc may also fail
-	  with 8bit integer coefficient and assertions disabled.
-
-2007-09-24 Monday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.54): The special expected_*
-	  files for XSB has been removed, so they are no longer
-	  distributed. Also cut away the corresponding FIXME comment.
-
-2007-09-23 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected_clpq2_int16 (1.4),
-	  XSB/expected_clpq2_int16_a (1.4), XSB/expected_clpq2_int32 (1.4),
-	  XSB/expected_clpq2_int32_a (1.6), XSB/expected_clpq2_int64 (1.4),
-	  XSB/expected_clpq2_int64_a (1.4), XSB/expected_clpq2_int8 (1.5),
-	  XSB/expected_clpq2_int8_a (1.6), XSB/expected_clpq2_mpz (1.4),
-	  XSB/expected_clpq2_mpz_a (1.4), XSB/expected_clpq_int16 (1.6),
-	  XSB/expected_clpq_int16_a (1.6), XSB/expected_clpq_int32 (1.4),
-	  XSB/expected_clpq_int32_a (1.4), XSB/expected_clpq_int64 (1.4),
-	  XSB/expected_clpq_int64_a (1.4), XSB/expected_clpq_int8 (1.4),
-	  XSB/expected_clpq_int8_a (1.4), XSB/expected_clpq_mpz (1.4),
-	  XSB/expected_clpq_mpz_a (1.4), XSB/expected_pchk_int16 (1.5),
-	  XSB/expected_pchk_int16_a (1.5), XSB/expected_pchk_int32 (1.5),
-	  XSB/expected_pchk_int32_a (1.5), XSB/expected_pchk_int64 (1.2),
-	  XSB/expected_pchk_int64_a (1.4), XSB/expected_pchk_int8 (1.5),
-	  XSB/expected_pchk_int8_a (1.6), XSB/expected_pchk_mpz (1.2),
-	  XSB/expected_pchk_mpz_a (1.2), tests/clpq2.pl (1.12): Applied the
-	  workaround suggested by Paul Broome to the XSB bug described in
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2007-September/011126.html.
-	  The special expect-files for XSB are no longer needed.
-
-2007-09-23 Sunday 14:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c_version.h.in (1.6): The typedef defined in
-	  this file are now added to the documentation group related to
-	  version checking. (As a side effect, by no longer using \file, we
-	  also avoid a couple of dangling references in the produced docs.)
-
-2007-09-22 Saturday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.53): Apparently, XSB now
-	  implements more of the ISO standard.	This could make the
-	  XSB-specific expect-file useless: they are now still present but
-	  disabled.
-
-2007-09-22 Saturday 09:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (1.4): Use DO_TEST_F8A to invoke
-	  test01().
-
-2007-09-20 Thursday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem3.cc (1.3): Expected results for
-	  test10() fixed.
-
-2007-09-20 Thursday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem3.cc (1.2): Wrap big integer
-	  constants within Coefficient("...").
-
-2007-09-20 Thursday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/Makefile.am (1.10): File ex11.mps has
-	  gone.
-
-2007-09-19 Wednesday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.40),
-	  demos/ppl_lpsol/examples/ex11.mps (1.4),
-	  tests/MIP_Problem/Makefile.am (1.8),
-	  tests/MIP_Problem/mipproblem1.cc (1.11),
-	  tests/MIP_Problem/mipproblem3.cc (1.1): Test program
-	  mipproblem3.cc forked off mipproblem1.cc.  Example MIP problem
-	  ex11.mps removed and used to write test10() of mipproblem3.cc.
-
-2007-09-19 Wednesday 10:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.50): XSB does not throw
-	  catchable exceptions for integers out of range; so call to
-	  exception_sys_prolog is not made when testing XSB.
-
-2007-09-18 Tuesday 15:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh (1.9): Exploit assign_or_swap in the
-	  implementation of grow.  Avoid useless copies/swaps (via grow) in
-	  the implementation of resize_no_copy.
-
-2007-09-18 Tuesday 15:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (1.11): Corrected detailed documentation
-	  for resize_no_copy: it was promising to preserve the old contents
-	  of the matrix.
-
-2007-09-18 Tuesday 15:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.86), Octagonal_Shape.templates.hh
-	  (1.60): Exploit assign_or_swap in the implementation of
-	  remove_space_dimensions and map_space_dimensions.
-
-2007-09-18 Tuesday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/DB_Matrix.templates.hh (1.7): Added a couple of FIXME's for
-	  places where (sometimes) we could replace expensive copies with
-	  cheaper swaps.
-
-2007-09-18 Tuesday 09:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.59): Removed a few useless
-	  initializations.  Prefer neg_assign(x, y) to x = -y; prefer
-	  neg_assign(x) to beg_assign(x, x).  Move allocation of
-	  temporaries out of loop bodies; reduce the number of temporaries
-	  when the change does not affect code readability.
-
-2007-09-18 Tuesday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.85): Added a comment in a few places
-	  where we use a temporary named `coeff_i' to actually store the
-	  negation of coeff_i (so as to avoid an allocation).
-
-2007-09-17 Monday 11:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.84): For readability, prefer
-	  neg_assign(x) to neg_assign(x, x).
-
-2007-09-17 Monday 10:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/Makefile.am (1.7): Typo corrected.
-
-2007-09-16 Sunday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/: Makefile.am (1.6), bug1.cc (1.1), bug2.cc
-	  (1.1): Two programs exhibiting strange behavior on some systems.
-
-2007-09-16 Sunday 18:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: randphull1.cc (1.13), smm1.cc (1.10): Minor
-	  stylistic changes.
-
-2007-09-15 Saturday 19:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/:
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.28), Java/jni/ppl_java_common.cc (1.35),
-	  Java/jni/ppl_java_common.hh (1.29), Java/jni/ppl_java_globals.cc
-	  (1.7), OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.14),
-	  OCaml/ppl_ocaml_globals.cc (1.11),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.48),
-	  Prolog/ppl_prolog_common.icc (1.9): Prefer TEMP_INTEGER to
-	  Coefficient when allocating temporary coefficients.
-
-2007-09-15 Saturday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/src/Makefile.am (1.12): Made clean up independent from
-	  configuration.
-
-2007-09-15 Saturday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.templates.hh (1.15): Definition of temporary
-	  coefficients moved out of loop.
-
-2007-09-15 Saturday 16:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.63): Indentation fixed.  Definition of
-	  temporaries factored out of loop.
-
-2007-09-15 Saturday 15:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.83): Temporary definition factored
-	  out of a loop body.
-
-2007-09-15 Saturday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.82): Try to improve the management
-	  of temporary coefficients:   - prefer neg_assign(x, x) to x = -x;
-	  - avoid useless temporaries;   - factor out common temporary
-	  definitions; in particular, speculatively	move temporary
-	  definitions out of loop bodies.
-
-2007-09-15 Saturday 15:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Ask_Tell.inlines.hh (1.17), Octagonal_Shape.templates.hh
-	  (1.58): Added a couple of missing spaces.
-
-2007-09-15 Saturday 15:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.62): Added a missing space.
-
-2007-09-15 Saturday 13:38  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.61): FIXME dealt with. A feasible point is
-	  returned correctly if the status of the problem is
-	  `UNBOUNDED_MIP_PROBLEM'. When the status `UNBOUNDED_MIP_PROBLEM'
-	  is detected in `solve_mip', a feasible point is set.
-
-2007-09-15 Saturday 13:19  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.60): Comment fixed.
-
-2007-09-14 Friday 22:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.111): Test randphull2 is no
-	  longer built.
-
-2007-09-14 Friday 22:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Ask_Tell/Makefile.am (1.4), Grid/Makefile.am (1.49),
-	  MIP_Problem/Makefile.am (1.5): Removed old style handling of
-	  tests that are known to fail on some configurations.
-
-2007-09-14 Friday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (1.54): FIXME resolved.
-
-2007-09-14 Friday 18:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.110), randphull1.cc (1.12),
-	  randphull2.cc (1.11), smm1.cc (1.9): Tests randphull[12] and smm1
-	  now conforms to the STANDARDS for test programs; randphull2
-	  merged into randphull1; the old machinery in Makefile.am for
-	  tests failing with bounded coefficients is no longer needed.
-
-2007-09-14 Friday 16:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.65), GNU/Makefile.am
-	  (1.65), SICStus/Makefile.am (1.76), SWI/Makefile.am (1.74),
-	  XSB/Makefile.am (1.52), YAP/Makefile.am (1.54): Cleanup made
-	  independent from the configuration chosen by the user.
-
-2007-09-14 Friday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/Makefile.am (1.16): Build source file
-	  ppl_predicate_check.pl is only required when the user asks for
-	  some Prolog interface.
-
-2007-09-14 Friday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.42): Built source file
-	  ppl_prolog.icc is only required when the user asks for some
-	  Prolog interface.
-
-2007-09-14 Friday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: Java/Makefile.am (1.13), Java/tests/Makefile.am
-	  (1.16), OCaml/Makefile.am (1.33): Distribution and cleanup made
-	  independent from the configuration chosen by the user.
-
-2007-09-14 Friday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.36): Cleanup should be independent
-	  from the configuration chosen by the user.
-
-2007-09-14 Friday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.44), bug1.cc (1.2), bug2.cc (1.2): The
-	  bug exhibited by bug1.cc and bug2.cc has been fixed.
-
-2007-09-14 Friday 10:10  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.80): Fixed float rounding on
-	  inexact conversion.
-
-2007-09-14 Friday 09:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.43): Restore refine[12].cc.
-
-2007-09-14 Friday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (1.10): Wrap big integer
-	  constants within Coefficient("...").
-
-2007-09-14 Friday 08:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (1.9): test18 fails with all
-	  bounded integer coefficient types; test19 fails if less than 64
-	  bit coefficients are used.
-
-2007-09-13 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.42): Temporarily disable also
-	  refine2.cc.
-
-2007-09-13 Thursday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (1.8): Added test18() and
-	  test19().
-
-2007-09-13 Thursday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (1.7): Always test the return
-	  value of MIP_Problem::solve().  Added test17().
-
-2007-09-13 Thursday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (1.6): Added test15() and
-	  test16().
-
-2007-09-13 Thursday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.defs.hh (1.47), Interval.templates.hh (1.1),
-	  Makefile.am (1.173): Interval.templates.hh should contain the
-	  non-inline template functions of the Interval class
-	  implementation.
-
-2007-09-13 Thursday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.41): Do not test with bug*.cc.
-
-2007-09-13 Thursday 19:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.209), debian/libppl-pwl.copyright.in (1.5),
-	  debian/libppl.copyright.in (1.5), doc/definitions.dox (1.204),
-	  doc/devref-c-interface.tex (1.2), doc/devref.tex (1.23),
-	  doc/gpl.dox (1.8), doc/gpl.tex (1.4), doc/gpl.txt (1.4),
-	  doc/user-c-interface.tex (1.2), doc/user-prolog-interface.tex
-	  (1.2), doc/user.tex (1.24), m4/ac_cxx_proper_long_double.m4
-	  (1.2): The Parma Polyhedra 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>
-
-	* Watchdog/: 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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/doc/gpl.txt (simplex.1): file gpl.txt was added on
-	  branch simplex on 2008-01-07 11:15:25 +0000
-
-2007-09-13 Thursday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.59): Comment fixed.
-
-2007-09-13 Thursday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/.cvsignore (1.1): Put under CVS control.
-
-2007-09-13 Thursday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/.cvsignore (simplex.1): file .cvsignore was added on
-	  branch simplex on 2008-01-07 11:15:27 +0000
-
-2007-09-13 Thursday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.40): Temporarily disable the tests that
-	  are known to fail.
-
-2007-09-13 Thursday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_mpz (1.13), src/MIP_Problem.cc (1.58):
-	  FIXME resolved.  This also makes the PPL independent from the bug
-	  of mpq_get_d() in GMP 4.1.4.
-
-2007-09-13 Thursday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_chdims.cc (1.20): Definition of unused macro removed.
-
-2007-09-13 Thursday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid_chdims.cc (1.19), Grid_conversion.cc (1.22),
-	  Grid_simplify.cc (1.35): Pointless inline directives removed.
-
-2007-09-13 Thursday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.51), Grid_nonpublic.cc (1.27): The second
-	  argument of Grid::max_min() was erroneously `char *': it is
-	  `const char*' now.
-
-2007-09-13 Thursday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.57): Simplified the implementation of the
-	  steepest-edge heuristics.
-
-2007-09-13 Thursday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.228): The handling of temporary coefficients has been
-	  redone and the C and Prolog cover all the supported domains.
-
-2007-09-12 Wednesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.39), bug2.cc (1.1): A simplified
-	  version of bug1.cc.
-
-2007-09-12 Wednesday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.38), bug1.cc (1.1): Test program
-	  exhibiting a bug somewhere.
-
-2007-09-12 Wednesday 09:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.284), Watchdog/configure.ac (1.42): Do not allow
-	  AC_PROG_CC and AC_PROG_CXX to affect CFLAGS and CXXFLAGS.
-
-2007-09-12 Wednesday 00:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.81), MIP_Problem.cc (1.56),
-	  Octagonal_Shape.templates.hh (1.57): Several temporary
-	  Coefficient variables are now allocated via TEMP_INTEGER.
-
-2007-09-11 Tuesday 23:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.cc (1.31): Typo fixed.
-
-2007-09-11 Tuesday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.80), Box.inlines.hh (1.20),
-	  Box.templates.hh (1.63), Interval_Restriction.defs.hh (1.8),
-	  MIP_Problem.cc (1.55), Octagonal_Shape.templates.hh (1.56),
-	  Polyhedron_nonpublic.cc (1.80), Polyhedron_public.cc (1.95),
-	  checked.inlines.hh (1.39), checked_int.inlines.hh (1.63),
-	  checked_mpz.inlines.hh (1.48), globals.cc (1.30),
-	  globals.inlines.hh (1.19): For temporaries of type mpz_class or
-	  mpq_class, use DIRTY_TEMP0 instead of local variables.
-
-2007-09-11 Tuesday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.79), Octagonal_Shape.templates.hh
-	  (1.55): Useless initializations removed.  For temporaries, use
-	  DIRTY_TEMP instead of local variables.  Code formatting fixes.
-
-2007-09-11 Tuesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Octagonal_Shape.inlines.hh (1.19),
-	  Octagonal_Shape.templates.hh (1.54): For temporaries, use
-	  DIRTY_TEMP instead of local variables.
-
-2007-09-11 Tuesday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid_Generator_System.defs.hh (1.26),
-	  Grid_Generator_System.inlines.hh (1.15): Method
-	  is_equal_to(Grid_Generator_System) replaced by is_equal_to(const
-	  Grid_Generator_System&).
-
-2007-09-11 Tuesday 19:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Any_Pointset.defs.hh (1.14), BD_Shape.defs.hh (1.102),
-	  Box.defs.hh (1.28), Checked_Number.defs.hh (1.94),
-	  Congruence_System.defs.hh (1.22), DB_Matrix.defs.hh (1.29),
-	  Direct_Product.defs.hh (1.36), Grid.defs.hh (1.50),
-	  Grid_Generator_System.defs.hh (1.25), MIP_Problem.defs.hh (1.36),
-	  OR_Matrix.defs.hh (1.10), Octagonal_Shape.defs.hh (1.31),
-	  Polyhedron.defs.hh (1.319): Useless const qualifications removed.
-
-2007-09-11 Tuesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.30), Octagonal_Shape.inlines.hh
-	  (1.18): Method add_octagonal_constraint(dimension_type,
-	  dimension_type j, N) replaced by
-	  add_octagonal_constraint(dimension_type, dimension_type j, const
-	  N&).
-
-2007-09-11 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.101), BD_Shape.inlines.hh (1.146):
-	  Method add_dbm_constraint(dimension_type, dimension_type, N)
-	  replaced by add_dbm_constraint(dimension_type, dimension_type,
-	  const N&).
-
-2007-09-11 Tuesday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.145), BD_Shape.templates.hh (1.78):
-	  For temporaries, use DIRTY_TEMP instead of local variables.
-
-2007-09-11 Tuesday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.defs.hh (1.50): Comment revised and turned into a
-	  Doxygen comment.
-
-2007-09-11 Tuesday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Temp.defs.hh (1.7), Temp.inlines.hh (1.2),
-	  Temp.templates.hh (1.2): Comments added.
-
-2007-09-11 Tuesday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.172): New files added to INCLUDE_FILES.
-
-2007-09-11 Tuesday 13:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: globals.cc (1.29), globals.defs.hh (1.49): Switch to the
-	  new technology for the handling of temporaries.
-
-2007-09-11 Tuesday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Temp.defs.hh (1.6), Temp.inlines.hh (1.1),
-	  Temp.templates.hh (1.1): Started the reorganization of the Temp_*
-	  classes.
-
-2007-09-11 Tuesday 11:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.93): Include Slow_Copy.hh.
-
-2007-09-11 Tuesday 11:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: checked_mpq.inlines.hh (1.43), checked_mpz.inlines.hh
-	  (1.47): Leave the definition of Slow_Copy for the basic types to
-	  Slow_Copy.hh.
-
-2007-09-11 Tuesday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.defs.hh (1.46), Interval_Restriction.defs.hh
-	  (1.7): Include the new files.
-
-2007-09-11 Tuesday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/assign_or_swap.hh (1.1): The assign_or_swap() utility
-	  functions.
-
-2007-09-11 Tuesday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Has_Assign_Or_Swap.hh (1.2): Spurious code removed.
-
-2007-09-11 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Has_Assign_Or_Swap.hh (1.1): Has_Assign_Or_Swap classes
-	  declarations.
-
-2007-09-11 Tuesday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Slow_Copy.hh (1.2): Multiple-inclusion guards renamed.
-
-2007-09-11 Tuesday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Slow_Copy.hh (1.1): Basic Slow_Copy classes declarations.
-
-2007-09-10 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.73): Use va_start() and va_end()
-	  properly around calls to vfprintf().
-
-2007-09-10 Monday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.283): With GCC, use -frounding-math to disable
-	  transformations and optimizations that assume default floating
-	  point rounding behavior.
-
-2007-09-10 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.41): Added a comment about the
-	  positioning of  AC_PROG_CC and AC_PROG_CXX.
-
-2007-09-10 Monday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.282): Useless quotes removed.
-
-2007-09-10 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.281), Watchdog/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.39), config.sub (1.37), depcomp
-	  (1.12), install-sh (1.18), Watchdog/compile (1.7),
-	  Watchdog/config.guess (1.23), Watchdog/config.sub (1.22):
-	  Updated.
-
-2007-09-10 Monday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.280), Watchdog/configure.ac (1.39): Corrections
-	  to the handling of compilation flags.
-
-2007-09-06 Thursday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_mpz_a (1.12): Updated to reflect changes
-	  in the ordering of the input (caused by upgrade of glpk).
-
-2007-09-06 Thursday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_mpz (1.12): Updated: sometimes the
-	  location of the optimum changes (the optimum staying teh same)
-	  due to the upgrade of glpk, which is used by ppl_lpsol to read in
-	  the lp problems and sometimes reorders the input wrt previous
-	  versions.
-
-2007-09-02 Sunday 17:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.35): Header files ppl_c.h and
-	  ppl_c_version.h should be installed, but they should not be
-	  distributed (since they are generated on-demand): list them in
-	  variable nodist_include_HEADERS, instead of include_HEADERS.
-
-2007-09-01 Saturday 16:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence_System.defs.hh (1.21),
-	  Grid_Generator_System.defs.hh (1.24), Matrix.defs.hh (1.83): In
-	  the Doxygen documentation, don't use \atop and \choose, which
-	  cause problems. Use \genfrac instead.
-
-2007-09-01 Saturday 13:06  Andrea Cimino
-
-	* configure.ac (1.279): The Java interface was unconditionally
-	  built even if not requested by the user with the
-	  `--enable-interface' option: fixed.
-
-2007-09-01 Saturday 10:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.73): When compiling
-	  pl_clpq*, fixed paths for finding pl_clpq*.pl.  (temporary patch;
-	  provide the right path option to the compilation command).
-
-2007-08-31 Friday 16:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.160): Using new doxygen
-	  alias \extref for references to the main manual.
-
-2007-08-31 Friday 16:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-prolog-interface.doxyconf-html.in (1.4),
-	  devref-prolog-interface.doxyconf-latex.in (1.4),
-	  user-prolog-interface.doxyconf-html.in (1.5),
-	  user-prolog-interface.doxyconf-latex.in (1.5): Added command
-	  alias \extref.
-
-2007-08-31 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-prolog-interface.doxyconf-html.in (simplex.1): file
-	  devref-prolog-interface.doxyconf-html.in was added on branch
-	  simplex on 2008-01-07 11:15:27 +0000
-
-2007-08-31 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-prolog-interface.doxyconf-latex.in (simplex.1): file
-	  devref-prolog-interface.doxyconf-latex.in was added on branch
-	  simplex on 2008-01-07 11:15:27 +0000
-
-2007-08-31 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-prolog-interface.doxyconf-html.in (simplex.1): file
-	  user-prolog-interface.doxyconf-html.in was added on branch
-	  simplex on 2008-01-07 11:15:27 +0000
-
-2007-08-31 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-prolog-interface.doxyconf-latex.in (simplex.1): file
-	  user-prolog-interface.doxyconf-latex.in was added on branch
-	  simplex on 2008-01-07 11:15:27 +0000
-
-2007-08-31 Friday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.227): Spurious characters removed.
-
-2007-08-31 Friday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* fedora/ppl.spec (1.2): New packages `ppl-ocaml' and
-	  `ppl-ocaml-devel' contain the OCaml interface.
-
-2007-08-31 Friday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.278), demos/ppl_lpsol/ppl_lpsol.c (1.72): Should
-	  support all versions of GLPK now.  Diagnostics of ppl_lpsol
-	  improved.
-
-2007-08-31 Friday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.55): Remove spurious line continuation
-	  character that was preventing distribution of the core PS
-	  manuals.
-
-2007-08-31 Friday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/README.ocaml (simplex.1): file README.ocaml was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2007-08-31 Friday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.226), interfaces/OCaml/README.ocaml (1.1): New file
-	  README.ocaml, still to be written properly.
-
-2007-08-31 Friday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.72): Dependencies fixed.
-
-2007-08-31 Friday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.277), demos/ppl_lpsol/ppl_lpsol.c (1.71): Support
-	  GLPK versions up to 4.15, both installed from a source package or
-	  from Fedora RPM packages.
-
-2007-08-31 Friday 08:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.27): Directory interfaces has to be
-	  processed before its subdirs.
-
-2007-08-30 Thursday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.42), configure.ac (1.276), ppl.spec.in (1.31),
-	  fedora/Makefile.am (1.1), fedora/ppl.spec (1.1): New placement
-	  for the Fedora PPL spec file.  It did not make much sense to have
-	  the PPL version number be filled in automatically.
-
-2007-08-30 Thursday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.54): Install (and uninstall) also the TODO
-	  file.
-
-2007-08-30 Thursday 18:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.51): Always use the -fPIC
-	  option when compiling the C/C++ foreign modules.
-
-2007-08-30 Thursday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.53): Distribute README.yap.
-
-2007-08-30 Thursday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.71): Distribute
-	  README.swiprolog.
-
-2007-08-30 Thursday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.64): Distribute
-	  README.gprolog.
-
-2007-08-30 Thursday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/README (1.3): Obsolete file removed.
-
-2007-08-30 Thursday 15:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.2): Made consistent with respect
-	  to the currently generated C interface.  Using new Doxygen alias
-	  \extref when referring to the main manual.
-
-2007-08-30 Thursday 15:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-c-interface.doxyconf-html.in (1.5),
-	  devref-c-interface.doxyconf-latex.in (1.5),
-	  devref-c-interface.tex (1.1), user-c-interface.doxyconf-html.in
-	  (1.6), user-c-interface.doxyconf-latex.in (1.6): Added main title
-	  page for the LaTeX version of the C interface devref.  Added
-	  Doxygen alias \extref for references to external documentation:
-	  it behaves as \ref for the HTML documentation (exploiting TAG
-	  files), it simply prints the second argument for the LaTeX
-	  documentation (since these seems not to be able to exploit TAG
-	  files). By using \extref we should be able to avoid dozens of
-	  annoying Doxygen warnings when producing the manuals for foreign
-	  language interfaces.
-
-2007-08-30 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-c-interface.doxyconf-html.in (simplex.1): file
-	  devref-c-interface.doxyconf-html.in was added on branch simplex
-	  on 2008-01-07 11:15:27 +0000
-
-2007-08-30 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-c-interface.doxyconf-latex.in (simplex.1): file
-	  devref-c-interface.doxyconf-latex.in was added on branch simplex
-	  on 2008-01-07 11:15:27 +0000
-
-2007-08-30 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-c-interface.doxyconf-html.in (simplex.1): file
-	  user-c-interface.doxyconf-html.in was added on branch simplex on
-	  2008-01-07 11:15:27 +0000
-
-2007-08-30 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-c-interface.doxyconf-latex.in (simplex.1): file
-	  user-c-interface.doxyconf-latex.in was added on branch simplex on
-	  2008-01-07 11:15:27 +0000
-
-2007-08-30 Thursday 12:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: user-prolog-interface.doxyconf-html.in (1.4),
-	  user-prolog-interface.doxyconf-latex.in (1.4): Updated to Doxygen
-	  1.5.3.  Use user-prolog-interface.tex for the LaTeX version.
-
-2007-08-30 Thursday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/user-prolog-interface.tex (1.1): Put under CVS control.
-
-2007-08-30 Thursday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-c-interface.doxyconf-html.in (1.4),
-	  devref-c-interface.doxyconf-latex.in (1.4),
-	  user-c-interface.doxyconf-html.in (1.5),
-	  user-c-interface.doxyconf-latex.in (1.5): Added C_interface.dox
-	  to the documentation INPUT files.
-
-2007-08-30 Thursday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.53): C interface docs depends on
-	  interfaces/C/C_interface.dox.
-
-2007-08-30 Thursday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/C_interface.dox (1.1): Recovered documentation for
-	  the C interface types and functions related to convex polyhedra.
-	  This file will not be compiled (since the functions will be
-	  automatically generated), it just serve as a template
-	  documentation for all kind of domains. To be checked for
-	  completeness wrt the actually generated code.
-
-2007-08-28 Tuesday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: Makefile.am (1.28), ppl_c.m4 (1.1): Initial implementation
-	  of the new function AM_PATH_PPL_C to to test for the existence
-	  and usability of particular versions of the C interface of the
-	  PPL, defining macros containing the required paths.
-
-2007-08-28 Tuesday 15:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ppl.m4 (1.8): Several bugs fixed.
-
-2007-08-28 Tuesday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.275): Version number bumped.
-
-2007-08-27 Monday 20:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ppl.m4 (1.7): Trailing whitespace removed.
-
-2007-08-27 Monday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.34): Install also ppl_c.h.
-
-2007-08-27 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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-08-26 Sunday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.225): Noted that it would be nice to have an
-	  implementation of Minkowski addition.
-
-2007-08-26 Sunday 17:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.224): Added a note about the work of Kent Andersen and
-	  Gerard Cornuejols.
-
-2007-08-03 Friday 15:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.203): Avoid duplicated section label.
-
-2007-08-02 Thursday 13:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: user-c-interface.doxyconf-html.in (1.4),
-	  user-c-interface.doxyconf-latex.in (1.4), user-c-interface.tex
-	  (1.1): Upgraded to doxygen version 1.5.3.  Changed LATEX_HEADER
-	  so as to be specific for the C interface.
-
-2007-08-02 Thursday 13:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.17): Do
-	  initialize a local Boolean variable passed by reference, so as to
-	  avoid 4 annoying warnings.
-
-2007-08-02 Thursday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/meta_programming.hh (1.8): Do hide documentation of inner
-	  class Is_Same_Or_Derived::Any.
-
-2007-08-02 Thursday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.84), devref.doxyconf-latex.in
-	  (1.23): Upgraded to doxygen version 1.5.3.  Added
-	  Interval_Restriction.defs.hh and Interval_Info.* to INPUT.
-
-2007-08-02 Thursday 09:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: user.doxyconf-html.in (1.41), user.doxyconf-latex.in
-	  (1.12): Upgraded to doxygen version 1.5.3.
-
-2007-08-02 Thursday 09:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/meta_programming.hh (1.7): Added \ingroup doxygen command to
-	  several class definitions.
-
-2007-08-02 Thursday 09:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.92), Checked_Number.inlines.hh
-	  (1.76): Minor formatting improvements, as well as the addition of
-	  some doxygen commands.
-
-2007-08-02 Thursday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval_Info.inlines.hh (1.5): Fixed a couple of \relates
-	  commands.
-
-2007-07-30 Monday 13:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.45): Doxygen documentation should be
-	  associated to members' declarations, rather than members'
-	  implementation. Also removed a couple of inappropriate \relates
-	  commands (which should only be used for functions that are NOT
-	  members of a class).
-
-2007-07-30 Monday 13:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.cc (1.14): Added a couple of missing
-	  \relates Doxygen commands.
-
-2007-07-30 Monday 13:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.62): Removed optional (and usually
-	  omitted) template instantiations, which were also causing a
-	  Doxygen warning.
-
-2007-07-30 Monday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.inlines.hh (1.19): Removed optional (and usually omitted)
-	  template instantiation, which was also causing a Doxygen warning.
-
-2007-07-30 Monday 13:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.83), devref.doxyconf-latex.in
-	  (1.22): Add meta_programming.hh to variable INPUT.
-
-2007-07-30 Monday 13:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Makefile.am (1.41), Watchdog/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.40), Watchdog/Makefile.am (1.31): The prefixed
-	  configuration header and _config.sed added to DESTCLEANFILES.
-
-2007-07-17 Tuesday 08:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.223): Remember to have a look at
-
-
-	  http://www.inf.ethz.ch/personal/gonnet/FPAccuracy/Analysis.html
-
-	  especially at the "Surprises" section, where it talks about
-	  rounding problems for division and multiplication on Pentium/AMD.
-
-2007-07-13 Friday 15:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/Makefile.am (1.52): The foreign language interface manuals in
-	  HTML format depend on the corresponding core manuals (due to the
-	  use of Doxygen generated tag files).
-
-2007-07-12 Thursday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING (1.4), Makefile.am (1.39), README (1.51),
-	  README.configure (1.20), configure.ac (1.274), instchk.hh (1.9),
-	  Watchdog/COPYING (1.4), Watchdog/Makefile.am (1.30),
-	  Watchdog/README (1.16), Watchdog/configure.ac (1.38),
-	  Watchdog/doc/Makefile.am (1.3), Watchdog/doc/README.doc (1.2),
-	  Watchdog/doc/devref.tex (1.2), Watchdog/doc/pwl.sty (1.2),
-	  Watchdog/doc/user.tex (1.2), Watchdog/m4/Makefile.am (1.2),
-	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.4),
-	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.4),
-	  Watchdog/src/EList.defs.hh (1.6), Watchdog/src/EList.inlines.hh
-	  (1.4), Watchdog/src/EList_Iterator.defs.hh (1.4),
-	  Watchdog/src/EList_Iterator.inlines.hh (1.4),
-	  Watchdog/src/Handler.defs.hh (1.5),
-	  Watchdog/src/Handler.inlines.hh (1.4), Watchdog/src/Makefile.am
-	  (1.11), Watchdog/src/Pending_Element.cc (1.5),
-	  Watchdog/src/Pending_Element.defs.hh (1.5),
-	  Watchdog/src/Pending_Element.inlines.hh (1.4),
-	  Watchdog/src/Pending_List.cc (1.5),
-	  Watchdog/src/Pending_List.defs.hh (1.5),
-	  Watchdog/src/Pending_List.inlines.hh (1.4), Watchdog/src/Time.cc
-	  (1.5), Watchdog/src/Time.defs.hh (1.5),
-	  Watchdog/src/Time.inlines.hh (1.4), Watchdog/src/Watchdog.cc
-	  (1.7), Watchdog/src/Watchdog.defs.hh (1.6),
-	  Watchdog/src/Watchdog.inlines.hh (1.4),
-	  Watchdog/src/pwl_header.hh (1.5), Watchdog/utils/Makefile.am
-	  (1.8), Watchdog/utils/build_header.in (1.5), debian/Makefile.am
-	  (1.4), demos/Makefile.am (1.11), demos/ppl_lcdd/Makefile.am
-	  (1.28), demos/ppl_lcdd/ppl_lcdd.cc (1.60),
-	  demos/ppl_lcdd/examples/Makefile.am (1.9),
-	  demos/ppl_lpsol/Makefile.am (1.39), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.70), demos/ppl_lpsol/examples/Makefile.am (1.9),
-	  doc/Makefile.am (1.51), doc/README.doc (1.12), doc/devref.tex
-	  (1.22), doc/ppl.sty (1.27), doc/user.tex (1.23),
-	  interfaces/Makefile.am (1.26),
-	  interfaces/ppl_interface_generator_common.m4 (1.18),
-	  interfaces/ppl_interface_generator_common_dat.m4 (1.31),
-	  interfaces/ppl_interface_generator_copyright (1.4),
-	  interfaces/C/Makefile.am (1.33), interfaces/C/ppl_c.h.in (1.72),
-	  interfaces/C/ppl_c_version.h.in (1.5),
-	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.8),
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.16),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.11),
-	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.12),
-	  interfaces/C/ppl_interface_generator_c_h.m4 (1.12),
-	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.9),
-	  interfaces/C/ppl_interface_generator_c_h_preamble (1.8),
-	  interfaces/Java/Makefile.am (1.12),
-	  interfaces/Java/ppl_interface_generator_java_dat.m4 (1.8),
-	  interfaces/Java/jni/Makefile.am (1.14),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.9),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.27), interfaces/Java/jni/ppl_java_common.cc (1.34),
-	  interfaces/Java/jni/ppl_java_common.hh (1.28),
-	  interfaces/Java/jni/ppl_java_globals.cc (1.6),
-	  interfaces/Java/tests/C_Polyhedron_test1.java (1.12),
-	  interfaces/Java/tests/Makefile.am (1.15),
-	  interfaces/Java/tests/Test_Partial_Function.java (1.3),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
-	  (1.9),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.17), interfaces/OCaml/Makefile.am (1.32),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (1.4),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.13),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4 (1.6),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.9),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.13),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.7),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.7),
-	  interfaces/OCaml/ppl_ocaml_globals.cc (1.10),
-	  interfaces/OCaml/ppl_ocaml_globals.ml (1.7),
-	  interfaces/OCaml/ppl_ocaml_types.ml (1.10),
-	  interfaces/OCaml/test1.ml (1.30), interfaces/Prolog/Makefile.am
-	  (1.41), interfaces/Prolog/Prolog_interface.dox (1.159),
-	  interfaces/Prolog/exceptions.hh (1.25),
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.34),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.11),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.47),
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (1.10), interfaces/Prolog/ppl_prolog_common.icc (1.8),
-	  interfaces/Prolog/track_allocation.hh (1.23),
-	  interfaces/Prolog/Ciao/Makefile.am (1.64),
-	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.3),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.19),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.15),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.26),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.50),
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.6),
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (1.5), interfaces/Prolog/GNU/Makefile.am (1.63),
-	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.11),
-	  interfaces/Prolog/GNU/gp_clpq.pl (1.12),
-	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.3),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.43),
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
-	  (1.6), interfaces/Prolog/SICStus/Makefile.am (1.75),
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (1.9), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.28),
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.8),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.10),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.17),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.16),
-	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.10),
-	  interfaces/Prolog/SICStus/sp_predicate_check.pl (1.3),
-	  interfaces/Prolog/SWI/Makefile.am (1.70),
-	  interfaces/Prolog/SWI/pl_clpq.cc (1.12),
-	  interfaces/Prolog/SWI/pl_clpq.pl (1.11),
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.9), interfaces/Prolog/SWI/ppl_pl.cc (1.12),
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.8),
-	  interfaces/Prolog/SWI/swi_cfli.hh (1.5),
-	  interfaces/Prolog/SWI/swi_pl_check.pl (1.10),
-	  interfaces/Prolog/SWI/swi_predicate_check.pl (1.3),
-	  interfaces/Prolog/XSB/Makefile.am (1.50),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.7),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.8),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (1.5), interfaces/Prolog/XSB/xsb_cfli.hh (1.3),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.18),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.16),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.30),
-	  interfaces/Prolog/YAP/Makefile.am (1.52),
-	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.7),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.12),
-	  interfaces/Prolog/YAP/yap_cfli.hh (1.3),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.13),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.9),
-	  interfaces/Prolog/YAP/yap_pl_check.pl (1.13),
-	  interfaces/Prolog/tests/Makefile.am (1.15),
-	  interfaces/Prolog/tests/clpq.pl (1.10),
-	  interfaces/Prolog/tests/clpq2.pl (1.11),
-	  interfaces/Prolog/tests/pl_check.pl (1.49),
-	  interfaces/Prolog/tests/pl_grid_check.pl (1.5),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.50),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.27), interfaces/Prolog/tests/ppl_predicate_check_common.pl
-	  (1.4), m4/Makefile.am (1.27), m4/ac_check_fpu_control.m4 (1.5),
-	  m4/ac_check_gmp.m4 (1.25), m4/ac_check_sicstus_prolog.m4 (1.6),
-	  m4/ac_check_swi_prolog.m4 (1.11), m4/ac_check_xsb_prolog.m4
-	  (1.4), m4/ac_cxx_attribute_weak.m4 (1.9),
-	  m4/ac_cxx_double_binary_format.m4 (1.6),
-	  m4/ac_cxx_flexible_arrays.m4 (1.14),
-	  m4/ac_cxx_float_binary_format.m4 (1.5),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.6),
-	  m4/ac_cxx_remainder_bug.m4 (1.2), m4/ac_prog_javac.m4 (1.6),
-	  m4/ac_text_md5sum.m4 (1.3), m4/ppl.m4 (1.6),
-	  src/Any_Pointset.defs.hh (1.13), src/Any_Pointset.inlines.hh
-	  (1.3), src/Ask_Tell.defs.hh (1.17), src/Ask_Tell.inlines.hh
-	  (1.16), src/Ask_Tell.templates.hh (1.9), src/BDS_Status.idefs.hh
-	  (1.21), src/BDS_Status.inlines.hh (1.16), src/BD_Shape.cc (1.7),
-	  src/BD_Shape.defs.hh (1.100), src/BD_Shape.inlines.hh (1.144),
-	  src/BD_Shape.templates.hh (1.77), src/BHRZ03_Certificate.cc
-	  (1.13), src/BHRZ03_Certificate.defs.hh (1.18),
-	  src/BHRZ03_Certificate.inlines.hh (1.9), src/Bit_Matrix.cc (1.4),
-	  src/Bit_Matrix.defs.hh (1.4), src/Bit_Matrix.inlines.hh (1.3),
-	  src/Bit_Row.cc (1.4), src/Bit_Row.defs.hh (1.6),
-	  src/Bit_Row.inlines.hh (1.4), src/Boundary.defs.hh (1.8),
-	  src/Box.cc (1.7), src/Box.defs.hh (1.27), src/Box.inlines.hh
-	  (1.18), src/Box.templates.hh (1.61), src/C_Integer.hh (1.5),
-	  src/C_Polyhedron.cc (1.22), src/C_Polyhedron.defs.hh (1.48),
-	  src/C_Polyhedron.inlines.hh (1.36), src/Checked_Number.cc (1.13),
-	  src/Checked_Number.defs.hh (1.91), src/Checked_Number.inlines.hh
-	  (1.75), src/Coefficient.cc (1.7), src/Coefficient.defs.hh (1.9),
-	  src/Coefficient.inlines.hh (1.7), src/Congruence.cc (1.16),
-	  src/Congruence.defs.hh (1.20), src/Congruence.inlines.hh (1.16),
-	  src/Congruence_System.cc (1.25), src/Congruence_System.defs.hh
-	  (1.20), src/Congruence_System.inlines.hh (1.9), src/Constraint.cc
-	  (1.67), src/Constraint.defs.hh (1.125), src/Constraint.inlines.hh
-	  (1.67), src/Constraint_System.cc (1.24),
-	  src/Constraint_System.defs.hh (1.37),
-	  src/Constraint_System.inlines.hh (1.10), src/DB_Matrix.defs.hh
-	  (1.28), src/DB_Matrix.inlines.hh (1.33),
-	  src/DB_Matrix.templates.hh (1.6), src/DB_Row.defs.hh (1.24),
-	  src/DB_Row.inlines.hh (1.23), src/DB_Row.templates.hh (1.7),
-	  src/Determinate.defs.hh (1.67), src/Determinate.inlines.hh
-	  (1.57), src/Direct_Product.defs.hh (1.35),
-	  src/Direct_Product.inlines.hh (1.31),
-	  src/Direct_Product.templates.hh (1.22), src/Float.cc (1.7),
-	  src/Float.defs.hh (1.26), src/Float.inlines.hh (1.31),
-	  src/GMP_Integer.defs.hh (1.26), src/GMP_Integer.inlines.hh
-	  (1.21), src/Generator.cc (1.75), src/Generator.defs.hh (1.123),
-	  src/Generator.inlines.hh (1.61), src/Generator_System.cc (1.23),
-	  src/Generator_System.defs.hh (1.24),
-	  src/Generator_System.inlines.hh (1.9), src/Grid.defs.hh (1.49),
-	  src/Grid.inlines.hh (1.15), src/Grid.templates.hh (1.31),
-	  src/Grid_Certificate.cc (1.9), src/Grid_Certificate.defs.hh
-	  (1.6), src/Grid_Certificate.inlines.hh (1.4),
-	  src/Grid_Generator.cc (1.21), src/Grid_Generator.defs.hh (1.31),
-	  src/Grid_Generator.inlines.hh (1.14),
-	  src/Grid_Generator_System.cc (1.19),
-	  src/Grid_Generator_System.defs.hh (1.23),
-	  src/Grid_Generator_System.inlines.hh (1.14), src/Grid_Status.cc
-	  (1.8), src/Grid_Status.idefs.hh (1.7), src/Grid_Status.inlines.hh
-	  (1.4), src/Grid_chdims.cc (1.18), src/Grid_conversion.cc (1.21),
-	  src/Grid_nonpublic.cc (1.26), src/Grid_public.cc (1.53),
-	  src/Grid_simplify.cc (1.34), src/Grid_widenings.cc (1.16),
-	  src/H79_Certificate.cc (1.12), src/H79_Certificate.defs.hh
-	  (1.16), src/H79_Certificate.inlines.hh (1.10), src/Init.cc
-	  (1.31), src/Init.defs.hh (1.19), src/Interval.defs.hh (1.44),
-	  src/Interval.inlines.hh (1.27), src/Interval_Info.defs.hh (1.5),
-	  src/Interval_Info.inlines.hh (1.4),
-	  src/Interval_Restriction.defs.hh (1.6), src/Linear_Expression.cc
-	  (1.18), src/Linear_Expression.defs.hh (1.35),
-	  src/Linear_Expression.inlines.hh (1.11), src/Linear_Row.cc
-	  (1.23), src/Linear_Row.defs.hh (1.25), src/Linear_Row.inlines.hh
-	  (1.13), src/Linear_System.cc (1.44), src/Linear_System.defs.hh
-	  (1.32), src/Linear_System.inlines.hh (1.23), src/MIP_Problem.cc
-	  (1.54), src/MIP_Problem.defs.hh (1.35),
-	  src/MIP_Problem.inlines.hh (1.16), src/MIP_Problem.templates.hh
-	  (1.11), src/Makefile.am (1.171), src/Matrix.cc (1.97),
-	  src/Matrix.defs.hh (1.82), src/Matrix.inlines.hh (1.52),
-	  src/NNC_Polyhedron.cc (1.22), src/NNC_Polyhedron.defs.hh (1.50),
-	  src/NNC_Polyhedron.inlines.hh (1.37), src/Numeric_Format.defs.hh
-	  (1.7), src/OR_Matrix.defs.hh (1.9), src/OR_Matrix.inlines.hh
-	  (1.8), src/OR_Matrix.templates.hh (1.6), src/Octagonal_Shape.cc
-	  (1.6), src/Octagonal_Shape.defs.hh (1.29),
-	  src/Octagonal_Shape.inlines.hh (1.17),
-	  src/Octagonal_Shape.templates.hh (1.53), src/Og_Status.idefs.hh
-	  (1.7), src/Og_Status.inlines.hh (1.5), src/Ph_Status.cc (1.14),
-	  src/Ph_Status.idefs.hh (1.21), src/Ph_Status.inlines.hh (1.9),
-	  src/Pointset_Ask_Tell.cc (1.4), src/Pointset_Ask_Tell.defs.hh
-	  (1.11), src/Pointset_Ask_Tell.inlines.hh (1.5),
-	  src/Pointset_Ask_Tell.templates.hh (1.9),
-	  src/Pointset_Powerset.cc (1.13), src/Pointset_Powerset.defs.hh
-	  (1.18), src/Pointset_Powerset.inlines.hh (1.8),
-	  src/Pointset_Powerset.templates.hh (1.14),
-	  src/Poly_Con_Relation.cc (1.16), src/Poly_Con_Relation.defs.hh
-	  (1.34), src/Poly_Con_Relation.inlines.hh (1.16),
-	  src/Poly_Gen_Relation.cc (1.16), src/Poly_Gen_Relation.defs.hh
-	  (1.32), src/Poly_Gen_Relation.inlines.hh (1.16),
-	  src/Polyhedron.defs.hh (1.318), src/Polyhedron.inlines.hh
-	  (1.141), src/Polyhedron.templates.hh (1.14),
-	  src/Polyhedron_chdims.cc (1.44), src/Polyhedron_nonpublic.cc
-	  (1.79), src/Polyhedron_public.cc (1.94),
-	  src/Polyhedron_widenings.cc (1.63), src/Powerset.defs.hh (1.30),
-	  src/Powerset.inlines.hh (1.20), src/Powerset.templates.hh (1.5),
-	  src/Ptr_Iterator.defs.hh (1.10), src/Ptr_Iterator.inlines.hh
-	  (1.8), src/Rational_Box.hh (1.6), src/Result.defs.hh (1.19),
-	  src/Result.inlines.hh (1.11), src/Rounding_Dir.defs.hh (1.13),
-	  src/Rounding_Dir.inlines.hh (1.7), src/Row.cc (1.104),
-	  src/Row.defs.hh (1.112), src/Row.inlines.hh (1.66),
-	  src/Scalar_Products.cc (1.9), src/Scalar_Products.defs.hh (1.10),
-	  src/Scalar_Products.inlines.hh (1.6), src/Temp.defs.hh (1.5),
-	  src/Variable.cc (1.24), src/Variable.defs.hh (1.54),
-	  src/Variable.inlines.hh (1.25), src/Variables_Set.cc (1.6),
-	  src/Variables_Set.defs.hh (1.7), src/Variables_Set.inlines.hh
-	  (1.5), src/Widening_Function.defs.hh (1.18),
-	  src/Widening_Function.inlines.hh (1.15), src/algorithms.hh
-	  (1.49), src/checked.cc (1.21), src/checked.defs.hh (1.42),
-	  src/checked.inlines.hh (1.38), src/checked_ext.defs.hh (1.13),
-	  src/checked_ext.inlines.hh (1.39), src/checked_float.inlines.hh
-	  (1.79), src/checked_int.inlines.hh (1.62),
-	  src/checked_mpq.inlines.hh (1.42), src/checked_mpz.inlines.hh
-	  (1.46), src/checked_numeric_limits.hh (1.21), src/compiler.hh
-	  (1.11), src/conversion.cc (1.83), src/distances.defs.hh (1.4),
-	  src/distances.inlines.hh (1.5), src/fpu-c99.inlines.hh (1.15),
-	  src/fpu-ia32.inlines.hh (1.17), src/fpu-none.inlines.hh (1.7),
-	  src/fpu-sparc.inlines.hh (1.9), src/fpu.defs.hh (1.16),
-	  src/globals.cc (1.28), src/globals.defs.hh (1.48),
-	  src/globals.inlines.hh (1.18), src/initializer.hh (1.14),
-	  src/iterator_to_const.defs.hh (1.6),
-	  src/iterator_to_const.inlines.hh (1.4),
-	  src/max_space_dimension.hh (1.13), src/meta_programming.hh (1.6),
-	  src/minimize.cc (1.48), src/mp_std_bits.cc (1.5),
-	  src/mp_std_bits.defs.hh (1.5), src/mp_std_bits.inlines.hh (1.4),
-	  src/namespaces.hh (1.12), src/ppl-config.cc.in (1.21),
-	  src/ppl_header.hh (1.7), src/simplify.cc (1.49),
-	  src/swapping_sort.icc (1.13), src/version.cc (1.10),
-	  src/version.hh.in (1.16), tests/FCAIBVP.cc (1.5),
-	  tests/FCAIBVP.defs.hh (1.5), tests/FCAIBVP.inlines.hh (1.5),
-	  tests/Makefile.am (1.263), tests/Partial_Function.cc (1.6),
-	  tests/Partial_Function.defs.hh (1.4),
-	  tests/Partial_Function.inlines.hh (1.3),
-	  tests/Random_Number_Generator.defs.hh (1.5),
-	  tests/Random_Number_Generator.inlines.hh (1.10), tests/files.cc
-	  (1.10), tests/files.hh (1.11), tests/ppl_test.cc (1.10),
-	  tests/ppl_test.hh (1.65), tests/print.cc (1.28), tests/print.hh
-	  (1.42), tests/Ask_Tell/Makefile.am (1.3),
-	  tests/Ask_Tell/append1.cc (1.6), tests/BD_Shape/Makefile.am
-	  (1.66), tests/BD_Shape/addconstraints1.cc (1.18),
-	  tests/BD_Shape/addspacedims1.cc (1.15),
-	  tests/BD_Shape/affinedimension1.cc (1.12),
-	  tests/BD_Shape/affineimage1.cc (1.19),
-	  tests/BD_Shape/affineimage2.cc (1.13),
-	  tests/BD_Shape/affinepreimage1.cc (1.21),
-	  tests/BD_Shape/ascii_dump_load1.cc (1.15),
-	  tests/BD_Shape/bdsdifference1.cc (1.15),
-	  tests/BD_Shape/bdshull1.cc (1.16),
-	  tests/BD_Shape/bgp99extrapolation1.cc (1.10),
-	  tests/BD_Shape/bhmz05widening1.cc (1.15),
-	  tests/BD_Shape/bhz03widening1.cc (1.10),
-	  tests/BD_Shape/bounded1.cc (1.3),
-	  tests/BD_Shape/boundedaffineimage1.cc (1.4),
-	  tests/BD_Shape/boundedaffinepreimage1.cc (1.3),
-	  tests/BD_Shape/bounds1.cc (1.3),
-	  tests/BD_Shape/cc76extrapolation1.cc (1.19),
-	  tests/BD_Shape/cc76narrowing1.cc (1.18),
-	  tests/BD_Shape/closure1.cc (1.20), tests/BD_Shape/concatenate1.cc
-	  (1.14), tests/BD_Shape/constraints1.cc (1.19),
-	  tests/BD_Shape/contains1.cc (1.15),
-	  tests/BD_Shape/containsintegerpoint1.cc (1.3),
-	  tests/BD_Shape/discrete1.cc (1.3), tests/BD_Shape/disjoint1.cc
-	  (1.6), tests/BD_Shape/empty1.cc (1.11),
-	  tests/BD_Shape/equality1.cc (1.16),
-	  tests/BD_Shape/expandspacedim1.cc (1.4),
-	  tests/BD_Shape/foldspacedims1.cc (1.6),
-	  tests/BD_Shape/fromgensys1.cc (1.15),
-	  tests/BD_Shape/frompolyhedron1.cc (1.5),
-	  tests/BD_Shape/fromspacedim1.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.17),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.21),
-	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.15),
-	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.16),
-	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.6),
-	  tests/BD_Shape/geomcovers1.cc (1.10),
-	  tests/BD_Shape/h79widening1.cc (1.13),
-	  tests/BD_Shape/intersection1.cc (1.18),
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.14),
-	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.15),
-	  tests/BD_Shape/limitedh79extrapolation1.cc (1.14),
-	  tests/BD_Shape/mapspacedims1.cc (1.15),
-	  tests/BD_Shape/max_min1.cc (1.3), tests/BD_Shape/max_min2.cc
-	  (1.5), tests/BD_Shape/maxspacedim1.cc (1.4),
-	  tests/BD_Shape/membytes1.cc (1.3),
-	  tests/BD_Shape/minconstraints1.cc (1.11),
-	  tests/BD_Shape/relations1.cc (1.18), tests/BD_Shape/relations2.cc
-	  (1.22), tests/BD_Shape/relations3.cc (1.26),
-	  tests/BD_Shape/removespacedims1.cc (1.20),
-	  tests/BD_Shape/run_tests (1.19), tests/BD_Shape/timeelapse1.cc
-	  (1.20), tests/BD_Shape/universe1.cc (1.15),
-	  tests/BD_Shape/writebdshape1.cc (1.10), tests/Box/Makefile.am
-	  (1.37), tests/Box/addconstraints1.cc (1.8),
-	  tests/Box/addspacedims1.cc (1.4), tests/Box/affinedimension1.cc
-	  (1.6), tests/Box/affineimage1.cc (1.7),
-	  tests/Box/affinepreimage1.cc (1.4), tests/Box/ascii_dump_load1.cc
-	  (1.4), tests/Box/bdsdifference1.cc (1.5),
-	  tests/Box/bgp99extrapolation1.cc (1.4),
-	  tests/Box/bhz03widening1.cc (1.4), tests/Box/bounded1.cc (1.4),
-	  tests/Box/boundedaffineimage1.cc (1.4),
-	  tests/Box/boxdifference1.cc (1.6), tests/Box/boxhull.cc (1.4),
-	  tests/Box/boxhull1.cc (1.5), tests/Box/cc76narrowing1.cc (1.5),
-	  tests/Box/cc76widening.cc (1.5), tests/Box/closure1.cc (1.4),
-	  tests/Box/concatenate1.cc (1.5), tests/Box/constraints1.cc (1.4),
-	  tests/Box/contains1.cc (1.5), tests/Box/containsintegerpoint1.cc
-	  (1.6), tests/Box/discrete1.cc (1.5), tests/Box/disjoint1.cc
-	  (1.5), tests/Box/empty1.cc (1.5), tests/Box/equality1.cc (1.5),
-	  tests/Box/expandspacedim1.cc (1.6), tests/Box/foldspacedims1.cc
-	  (1.7), tests/Box/frombdshape1.cc (1.2), tests/Box/frombox1.cc
-	  (1.3), tests/Box/fromdirectproduct1.cc (1.5),
-	  tests/Box/fromgensys1.cc (1.4), tests/Box/fromgrid1.cc (1.5),
-	  tests/Box/frompolyhedron1.cc (1.11), tests/Box/frompolyhedron2.cc
-	  (1.9), tests/Box/fromspacedim1.cc (1.2),
-	  tests/Box/generalizedaffineimage1.cc (1.5),
-	  tests/Box/generalizedaffinepreimage1.cc (1.5),
-	  tests/Box/geomcovers1.cc (1.4), tests/Box/intersection1.cc (1.6),
-	  tests/Box/interval1.cc (1.4), tests/Box/interval2.cc (1.4),
-	  tests/Box/mapspacedims1.cc (1.4), tests/Box/max_min1.cc (1.6),
-	  tests/Box/maxspacedim1.cc (1.5), tests/Box/membytes1.cc (1.4),
-	  tests/Box/minconstraints1.cc (1.5),
-	  tests/Box/pointsetpowerset1.cc (1.3), tests/Box/refine1.cc
-	  (1.10), tests/Box/refine2.cc (1.9), tests/Box/refine3.cc (1.2),
-	  tests/Box/relations1.cc (1.5), tests/Box/relations2.cc (1.3),
-	  tests/Box/removespacedims1.cc (1.6), tests/Box/run_tests (1.3),
-	  tests/Box/timeelapse1.cc (1.5), tests/Box/universe1.cc (1.4),
-	  tests/Box/writebox1.cc (1.4), tests/Grid/Makefile.am (1.48),
-	  tests/Grid/addcongruence1.cc (1.14),
-	  tests/Grid/addcongruences1.cc (1.17),
-	  tests/Grid/addconstraint1.cc (1.12),
-	  tests/Grid/addconstraints1.cc (1.13), tests/Grid/addgenerator1.cc
-	  (1.16), tests/Grid/addgenerators1.cc (1.16),
-	  tests/Grid/addspacedims1.cc (1.15), tests/Grid/affinedim1.cc
-	  (1.12), tests/Grid/affineimage1.cc (1.14),
-	  tests/Grid/affineimage2.cc (1.12), tests/Grid/affinepreimage1.cc
-	  (1.13), tests/Grid/affinepreimage2.cc (1.8),
-	  tests/Grid/approximatepartition1.cc (1.3),
-	  tests/Grid/asciidumpload1.cc (1.14), tests/Grid/asciidumpload2.cc
-	  (1.6), tests/Grid/asciidumpload3.cc (1.5),
-	  tests/Grid/asciidumpload4.cc (1.5), tests/Grid/asciidumpload5.cc
-	  (1.3), tests/Grid/asciidumpload6.cc (1.3),
-	  tests/Grid/asciidumpload7.cc (1.3), tests/Grid/bhz03widening1.cc
-	  (1.13), tests/Grid/bounded1.cc (1.14),
-	  tests/Grid/boundedaffineimage1.cc (1.4),
-	  tests/Grid/boundedaffinepreimage1.cc (1.4),
-	  tests/Grid/boundingbox1.cc (1.19), tests/Grid/bounds1.cc (1.15),
-	  tests/Grid/certificate1.cc (1.14), tests/Grid/concatenate1.cc
-	  (1.14), tests/Grid/congruence1.cc (1.17),
-	  tests/Grid/congruences1.cc (1.12), tests/Grid/congruences2.cc
-	  (1.6), tests/Grid/contains1.cc (1.12),
-	  tests/Grid/containsintegerpoint1.cc (1.4),
-	  tests/Grid/copyconstruct1.cc (1.8), tests/Grid/coveringbox1.cc
-	  (1.16), tests/Grid/coveringbox2.cc (1.14),
-	  tests/Grid/directproduct1.cc (1.28), tests/Grid/directproduct2.cc
-	  (1.6), tests/Grid/discrete1.cc (1.8), tests/Grid/disjoint1.cc
-	  (1.12), tests/Grid/equals1.cc (1.13),
-	  tests/Grid/expandspacedim1.cc (1.12),
-	  tests/Grid/foldspacedims1.cc (1.12),
-	  tests/Grid/generalizedaffineimage1.cc (1.14),
-	  tests/Grid/generalizedaffineimage2.cc (1.13),
-	  tests/Grid/generalizedaffineimage3.cc (1.5),
-	  tests/Grid/generalizedaffinepreimage1.cc (1.16),
-	  tests/Grid/generalizedaffinepreimage2.cc (1.16),
-	  tests/Grid/generalizedaffinepreimage3.cc (1.5),
-	  tests/Grid/generator1.cc (1.20), tests/Grid/generators1.cc
-	  (1.13), tests/Grid/generators2.cc (1.3), tests/Grid/grid1.cc
-	  (1.21), tests/Grid/grid2.cc (1.16), tests/Grid/grid3.cc (1.20),
-	  tests/Grid/griddifference1.cc (1.12), tests/Grid/intersection1.cc
-	  (1.12), tests/Grid/isempty1.cc (1.8), tests/Grid/isuniverse1.cc
-	  (1.10), tests/Grid/join1.cc (1.16), tests/Grid/join2.cc (1.11),
-	  tests/Grid/limitedextrapolation1.cc (1.13),
-	  tests/Grid/limitedextrapolation2.cc (1.7),
-	  tests/Grid/limitedextrapolation3.cc (1.6),
-	  tests/Grid/mapspacedims1.cc (1.11), tests/Grid/maxmin1.cc (1.12),
-	  tests/Grid/membytes1.cc (1.9), tests/Grid/mincongruences1.cc
-	  (1.10), tests/Grid/mingenerators1.cc (1.10),
-	  tests/Grid/outputoperator1.cc (1.9),
-	  tests/Grid/outputoperator2.cc (1.3),
-	  tests/Grid/outputoperator3.cc (1.3), tests/Grid/partition1.cc
-	  (1.6), tests/Grid/powersetdifference1.cc (1.3),
-	  tests/Grid/powersetgeometricallycovers1.cc (1.3),
-	  tests/Grid/powersetgeometricallyequals1.cc (1.3),
-	  tests/Grid/relations1.cc (1.14), tests/Grid/relations2.cc (1.16),
-	  tests/Grid/relations3.cc (1.7), tests/Grid/removespacedims1.cc
-	  (1.14), tests/Grid/removespacedims2.cc (1.14),
-	  tests/Grid/timeelapse1.cc (1.11), tests/Grid/topclosed1.cc
-	  (1.12), tests/Grid/topclosure1.cc (1.8), tests/Grid/widening1.cc
-	  (1.16), tests/Grid/widening2.cc (1.11), tests/Grid/widening3.cc
-	  (1.6), tests/Grid/writecongruencesystem.cc (1.8),
-	  tests/MIP_Problem/Makefile.am (1.4),
-	  tests/MIP_Problem/ascii_dump_load1.cc (1.4),
-	  tests/MIP_Problem/exceptions1.cc (1.3),
-	  tests/MIP_Problem/mipproblem1.cc (1.5),
-	  tests/MIP_Problem/mipproblem2.cc (1.3),
-	  tests/Octagonal_Shape/Makefile.am (1.20),
-	  tests/Octagonal_Shape/addspacedims1.cc (1.3),
-	  tests/Octagonal_Shape/affinedimension1.cc (1.4),
-	  tests/Octagonal_Shape/affineimage1.cc (1.4),
-	  tests/Octagonal_Shape/affineimage2.cc (1.3),
-	  tests/Octagonal_Shape/affinepreimage1.cc (1.5),
-	  tests/Octagonal_Shape/affinepreimage2.cc (1.3),
-	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.3),
-	  tests/Octagonal_Shape/bhmz05widening1.cc (1.4),
-	  tests/Octagonal_Shape/bhz03widening1.cc (1.3),
-	  tests/Octagonal_Shape/bounded1.cc (1.3),
-	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.10),
-	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.4),
-	  tests/Octagonal_Shape/bounds1.cc (1.4),
-	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.5),
-	  tests/Octagonal_Shape/cc76narrowing1.cc (1.4),
-	  tests/Octagonal_Shape/chinainit.cc (1.3),
-	  tests/Octagonal_Shape/concatenate1.cc (1.3),
-	  tests/Octagonal_Shape/constraints1.cc (1.4),
-	  tests/Octagonal_Shape/contains1.cc (1.4),
-	  tests/Octagonal_Shape/containsintegerpoint1.cc (1.4),
-	  tests/Octagonal_Shape/discrete1.cc (1.3),
-	  tests/Octagonal_Shape/disjoint1.cc (1.7),
-	  tests/Octagonal_Shape/empty1.cc (1.3),
-	  tests/Octagonal_Shape/expandspacedim1.cc (1.5),
-	  tests/Octagonal_Shape/foldspacedims1.cc (1.5),
-	  tests/Octagonal_Shape/fromgensys1.cc (1.3),
-	  tests/Octagonal_Shape/frompolyhedron1.cc (1.4),
-	  tests/Octagonal_Shape/fromspacedim1.cc (1.2),
-	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.4),
-	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.4),
-	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.9),
-	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.4),
-	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.4),
-	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.5),
-	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.9),
-	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.5),
-	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.4),
-	  tests/Octagonal_Shape/intersection1.cc (1.4),
-	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.5),
-	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.5),
-	  tests/Octagonal_Shape/mapspacedims1.cc (1.4),
-	  tests/Octagonal_Shape/max_min1.cc (1.5),
-	  tests/Octagonal_Shape/max_min2.cc (1.4),
-	  tests/Octagonal_Shape/maxspacedim1.cc (1.4),
-	  tests/Octagonal_Shape/membytes1.cc (1.4),
-	  tests/Octagonal_Shape/minconstraints1.cc (1.4),
-	  tests/Octagonal_Shape/octdifference1.cc (1.4),
-	  tests/Octagonal_Shape/octhull1.cc (1.4),
-	  tests/Octagonal_Shape/relatwithcons1.cc (1.4),
-	  tests/Octagonal_Shape/relatwithcons2.cc (1.7),
-	  tests/Octagonal_Shape/relatwithgen1.cc (1.8),
-	  tests/Octagonal_Shape/removespacedims1.cc (1.4),
-	  tests/Octagonal_Shape/run_tests (1.3),
-	  tests/Octagonal_Shape/timeelapse1.cc (1.5),
-	  tests/Octagonal_Shape/universe1.cc (1.3),
-	  tests/Octagonal_Shape/writeoctagon1.cc (1.4),
-	  tests/Polyhedron/Makefile.am (1.109), tests/Polyhedron/README
-	  (1.7), tests/Polyhedron/addcongruence1.cc (1.8),
-	  tests/Polyhedron/addcongruences1.cc (1.11),
-	  tests/Polyhedron/addconstraint1.cc (1.11),
-	  tests/Polyhedron/addconstraints1.cc (1.12),
-	  tests/Polyhedron/addconstraints2.cc (1.11),
-	  tests/Polyhedron/addgenerator1.cc (1.12),
-	  tests/Polyhedron/addgenerator2.cc (1.12),
-	  tests/Polyhedron/addgenerators1.cc (1.13),
-	  tests/Polyhedron/addgenerators2.cc (1.12),
-	  tests/Polyhedron/addspacedims1.cc (1.12),
-	  tests/Polyhedron/addspacedims2.cc (1.12),
-	  tests/Polyhedron/affineimage1.cc (1.12),
-	  tests/Polyhedron/affineimage2.cc (1.11),
-	  tests/Polyhedron/affinepreimage1.cc (1.11),
-	  tests/Polyhedron/affinetrans.cc (1.11),
-	  tests/Polyhedron/append1.cc (1.12), tests/Polyhedron/append2.cc
-	  (1.11), tests/Polyhedron/ascii_dump_load1.cc (1.10),
-	  tests/Polyhedron/ascii_dump_load2.cc (1.10),
-	  tests/Polyhedron/ascii_dump_load3.cc (1.11),
-	  tests/Polyhedron/bgp99extrapolation1.cc (1.13),
-	  tests/Polyhedron/bhrz03widening1.cc (1.11),
-	  tests/Polyhedron/bhrz03widening2.cc (1.11),
-	  tests/Polyhedron/bhrz03widening3.cc (1.15),
-	  tests/Polyhedron/bhz03widening1.cc (1.14),
-	  tests/Polyhedron/bounded1.cc (1.11),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.11),
-	  tests/Polyhedron/boundedaffinepreimage1.cc (1.9),
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.10),
-	  tests/Polyhedron/boundedh79extrapolation1.cc (1.12),
-	  tests/Polyhedron/bounds1.cc (1.11),
-	  tests/Polyhedron/cnncconversion1.cc (1.4),
-	  tests/Polyhedron/concatenate1.cc (1.11),
-	  tests/Polyhedron/congruences1.cc (1.9),
-	  tests/Polyhedron/constraints1.cc (1.10),
-	  tests/Polyhedron/contains1.cc (1.10),
-	  tests/Polyhedron/contains2.cc (1.10),
-	  tests/Polyhedron/containsintegerpoint1.cc (1.3),
-	  tests/Polyhedron/disjoint1.cc (1.10),
-	  tests/Polyhedron/disjoint2.cc (1.12),
-	  tests/Polyhedron/dualhypercubes.cc (1.13),
-	  tests/Polyhedron/empty1.cc (1.11), tests/Polyhedron/equals1.cc
-	  (1.10), tests/Polyhedron/exceptions1.cc (1.14),
-	  tests/Polyhedron/exceptions2.cc (1.12),
-	  tests/Polyhedron/exceptions3.cc (1.11),
-	  tests/Polyhedron/expandspacedim1.cc (1.13),
-	  tests/Polyhedron/expandspacedim2.cc (1.13),
-	  tests/Polyhedron/foldspacedims1.cc (1.15),
-	  tests/Polyhedron/foldspacedims2.cc (1.16),
-	  tests/Polyhedron/frombox1.cc (1.4), tests/Polyhedron/frombox2.cc
-	  (1.4), tests/Polyhedron/generalizedaffineimage1.cc (1.13),
-	  tests/Polyhedron/generalizedaffineimage2.cc (1.13),
-	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.10),
-	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.9),
-	  tests/Polyhedron/generators1.cc (1.11),
-	  tests/Polyhedron/geomcovers1.cc (1.14),
-	  tests/Polyhedron/h79widening1.cc (1.11),
-	  tests/Polyhedron/h79widening2.cc (1.11),
-	  tests/Polyhedron/hybrid.cc (1.4),
-	  tests/Polyhedron/intersection1.cc (1.15),
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.10),
-	  tests/Polyhedron/limitedh79extrapolation1.cc (1.11),
-	  tests/Polyhedron/linearpartition1.cc (1.13),
-	  tests/Polyhedron/linearsystem1.cc (1.9),
-	  tests/Polyhedron/linexpression1.cc (1.10),
-	  tests/Polyhedron/mapspacedims1.cc (1.15),
-	  tests/Polyhedron/matrix1.cc (1.10), tests/Polyhedron/max_min1.cc
-	  (1.12), tests/Polyhedron/maxspacedim1.cc (1.13),
-	  tests/Polyhedron/mc91.cc (1.15), tests/Polyhedron/membytes1.cc
-	  (1.15), tests/Polyhedron/memory1.cc (1.13),
-	  tests/Polyhedron/memory2.cc (1.15),
-	  tests/Polyhedron/minconstraints1.cc (1.10),
-	  tests/Polyhedron/minconstraints2.cc (1.12),
-	  tests/Polyhedron/mingenerators1.cc (1.10),
-	  tests/Polyhedron/mingenerators2.cc (1.11),
-	  tests/Polyhedron/nncminimize1.cc (1.7),
-	  tests/Polyhedron/nncminimize2.cc (1.7),
-	  tests/Polyhedron/numberinput1.cc (1.32),
-	  tests/Polyhedron/onepoint.cc (1.11), tests/Polyhedron/permute.cc
-	  (1.9), tests/Polyhedron/pointsetpowerset1.cc (1.7),
-	  tests/Polyhedron/polydifference1.cc (1.12),
-	  tests/Polyhedron/polydifference2.cc (1.12),
-	  tests/Polyhedron/polyhull1.cc (1.12),
-	  tests/Polyhedron/polyhull2.cc (1.11),
-	  tests/Polyhedron/powerset1.cc (1.20),
-	  tests/Polyhedron/randphull1.cc (1.11),
-	  tests/Polyhedron/randphull2.cc (1.10),
-	  tests/Polyhedron/relations1.cc (1.11),
-	  tests/Polyhedron/relations2.cc (1.11),
-	  tests/Polyhedron/relations3.cc (1.10),
-	  tests/Polyhedron/removespacedims1.cc (1.11),
-	  tests/Polyhedron/removespacedims2.cc (1.11),
-	  tests/Polyhedron/smm1.cc (1.8), tests/Polyhedron/timeelapse1.cc
-	  (1.12), tests/Polyhedron/timeelapse2.cc (1.12),
-	  tests/Polyhedron/topclosed1.cc (1.11),
-	  tests/Polyhedron/topclosure1.cc (1.11),
-	  tests/Polyhedron/universe1.cc (1.11),
-	  tests/Polyhedron/universe2.cc (1.11),
-	  tests/Polyhedron/variablesset1.cc (1.11),
-	  tests/Polyhedron/watchdog1.cc (1.10),
-	  tests/Polyhedron/writeconsys1.cc (1.11),
-	  tests/Polyhedron/writegensys1.cc (1.10),
-	  tests/Polyhedron/writepolyhedron1.cc (1.10),
-	  tests/Polyhedron/writepolyhedron2.cc (1.10),
-	  tests/Polyhedron/writerelation1.cc (1.13),
-	  tests/Polyhedron/writevariable1.cc (1.8), utils/Makefile.am
-	  (1.16), utils/build_header.in (1.5), utils/cm_cleaner.sh (1.3),
-	  utils/cm_splitter.sh (1.3), utils/text2cxxarray.in (1.4),
-	  utils/timings.cc (1.10), utils/timings.hh (1.6): Started the
-	  upgrade to GPL version 3 or later.
-
-2007-07-11 Wednesday 16:16  Abramo Bagnara
-
-	* src/Interval.defs.hh (1.43): Fixed typo. Removed
-	  Is_Singleton_Or_Interval. Added Is_Singleton and Is_Interva.
-
-2007-07-10 Tuesday 17:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-c-interface.doxyconf-html.in (1.3),
-	  devref-c-interface.doxyconf-latex.in (1.3),
-	  devref-prolog-interface.doxyconf-html.in (1.3),
-	  devref-prolog-interface.doxyconf-latex.in (1.3),
-	  devref.doxyconf-html.in (1.82), devref.doxyconf-latex.in (1.21),
-	  user-c-interface.doxyconf-html.in (1.3),
-	  user-c-interface.doxyconf-latex.in (1.3),
-	  user-prolog-interface.doxyconf-html.in (1.3),
-	  user-prolog-interface.doxyconf-latex.in (1.3),
-	  user.doxyconf-html.in (1.40), user.doxyconf-latex.in (1.11):
-	  Updated configuration files to version 1.5.2 of Doxygen.
-
-2007-07-10 Tuesday 16:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.defs.hh (1.26): Documentation link fixed.
-
-2007-07-10 Tuesday 16:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.defs.hh (1.10): Cut-and-paste documentation
-	  typo fixed.
-
-2007-07-10 Tuesday 16:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/Makefile.am (1.65), Box/Makefile.am (1.36),
-	  Octagonal_Shape/Makefile.am (1.19): List run_tests.stamp in
-	  DISTCLEANFILES.
-
-2007-07-09 Monday 10:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.31): Partially undone last
-	  commit, as it was again causing dependency problems in parallel
-	  builds.
-
-2007-07-08 Sunday 13:41  Andrea Cimino
-
-	* interfaces/: Java/Makefile.am (1.11), OCaml/Makefile.am (1.30):
-	  Use `pkglibdir' instead of hardcoding destination paths.  Install
-	  the OCaml interface in `pkglibdir', honoring the `--prefix'
-	  option.  Avoided a useless directive in the OCaml's Makefile.am:
-	  the serialization of the build is done correctly now thanks to
-	  the previous commit.
-
-2007-07-07 Saturday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.273): New Automake conditional HOST_CPU_X86_64.
-
-2007-07-07 Saturday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.272): Version number bumped.
-
-2007-07-07 Saturday 00:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.29): Try to fix Makefile.am so as
-	  to enforce the right dependencies even in the presence of
-	  parallel builds. To be checked.
-
-2007-07-06 Friday 15:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.28): Added option -f to cp and rm
-	  commands.
-
-2007-07-06 Friday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/jni/Makefile.am (1.13): File ppl_java_classes.cc
-	  is generated, hence should not be distributed.
-
-2007-07-06 Friday 11:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: C/Makefile.am (1.32), Java/jni/Makefile.am (1.12),
-	  OCaml/Makefile.am (1.27), Prolog/Makefile.am (1.40),
-	  Java/tests/Makefile.am (1.14), Prolog/Ciao/Makefile.am (1.63),
-	  Prolog/GNU/Makefile.am (1.62), Prolog/SICStus/Makefile.am (1.74),
-	  Prolog/SWI/Makefile.am (1.69), Prolog/XSB/Makefile.am (1.49),
-	  Prolog/tests/Makefile.am (1.14), Prolog/YAP/Makefile.am (1.51):
-	  File ppl_interface_instatiations.m4 is a generated file, so it
-	  must be found in the build directory.
-
-2007-07-06 Friday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.24): Bug 246815 had been fixed: YAP
-	  support enabled again.
-
-2007-07-06 Friday 09:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.48): Small improvements -
-	  mainly to comments.
-
-2007-07-06 Friday 08:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.47): Improved the code
-	  testing large integers.
-
-2007-07-05 Thursday 22:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.46): Modified the test for
-	  large integers in the case that current_prolog_flag(bounded,
-	  true) holds.
-
-	  In this case, the generated large integer may wrap and any
-	  comparison with Max_int - obtained with
-	  current_prolog_flag(max_integer, Max_int) meaningless.
-
-	  So we also compare the generated integer with another number that
-	  is generated to be about half its size (and therefore already
-	  tested).
-
-2007-07-05 Thursday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.23): Disable YAP support until bug
-	  246815 is fixed.  Bug 243084 has been fixed: `ppl-swiprolog'
-	  dependency on `readline-devel' removed.
-
-2007-07-05 Thursday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.39): Distribute also
-	  ppl_prolog_common.icc.
-
-2007-07-05 Thursday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.22): The `gprolog' package is not
-	  available on ppc64: the GNU Prolog interface must thus be
-	  disabled for that architecture.
-
-2007-07-04 Wednesday 21:39  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.33): Removed some non
-	  used variables in the C++ side of the Java interface.
-
-2007-07-04 Wednesday 21:38  Andrea Cimino
-
-	* interfaces/: OCaml/Makefile.am (1.26), Java/tests/Makefile.am
-	  (1.13): Fixed the `dist' target in the OCaml and Java/test
-	  interfaces: included all the m4 generator interface files in
-	  EXTRA_DIST.  Do not distribute `ppl_ocaml.cc' because it's a
-	  generated source.
-
-2007-07-04 Wednesday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.29): Added `m4' to `SUBDIRS'.
-
-2007-07-04 Wednesday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.271): Version number bumped.
-
-2007-07-03 Tuesday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl-0.9-docfiles.patch, ppl.spec.in (ppl-0_9-branch.[4,21]): Use
-	  `%{buildroot}' consistently, instead of  `$RPM_BUILD_ROOT'.
-
-2007-07-02 Monday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.208), TODO (1.222), doc/definitions.dox (1.202): Use the
-	  UTF-8 encoding instead of ISO-8859.
-
-2007-07-01 Sunday 20:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.221): Added an item concerning additional documentation.
-
-2007-07-01 Sunday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.220): Remember to pProvide PPL-specific documentation on
-	  the use of `make check' and `make uninstall'.
-
-2007-07-01 Sunday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.219): The Java interface has been improved: corresponding
-	  item removed.
-
-2007-06-30 Saturday 10:41  Abramo Bagnara
-
-	* tests/ppl_test.hh (1.64): Use method instead of function.
-
-2007-06-29 Friday 22:25  Abramo Bagnara
-
-	* src/Interval.defs.hh (1.42): Converted many Interval functions in
-	  methods.
-
-2007-06-29 Friday 22:20  Abramo Bagnara
-
-	* src/: Box.templates.hh (1.60), Interval.defs.hh (1.41): Converted
-	  many Interval functions in methods.
-
-2007-06-28 Thursday 12:18  Abramo Bagnara
-
-	* src/Interval.defs.hh (1.40): Removed duplicate definition.
-
-2007-06-28 Thursday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.29), Watchdog/ltmain.sh (1.18): Updated from Libtool
-	  1.5.24.
-
-2007-06-13 Wednesday 18:31  Andrea Cimino
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.26): Call the appropriate destructor if the underlined C++
-	  object is a NNC_Polyhedron or a C_Polyhedron.
-
-2007-06-12 Tuesday 21:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.20): `%%check' removed.
-
-2007-06-12 Tuesday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl-0.9-docfiles.patch, ppl.spec.in (ppl-0_9-branch.[3,19]):
-	  `%%check' added.  Revised the description of the `devel' package.
-	  Include also the `TODO' file in the documentation of the main
-	  package.
-
-2007-06-12 Tuesday 20:25  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.32): Removed some
-	  useless calls in the Java interface.
-
-2007-06-12 Tuesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.18): Patch the `libtool' script after
-	  `%%configure' so as to fix the rpath issue.
-
-2007-06-08 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/README.swiprolog (simplex.1): file
-	  README.swiprolog was added on branch simplex on 2008-01-07
-	  11:15:30 +0000
-
-2007-06-08 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/README.yap (simplex.1): file README.yap was
-	  added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2007-06-08 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/README.gprolog (1.2),
-	  SWI/README.swiprolog (1.2), YAP/README.yap (1.2): New
-	  documentation files.
-
-2007-06-08 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/README.gprolog (simplex.1): file
-	  README.gprolog was added on branch simplex on 2008-01-07 11:15:30
-	  +0000
-
-2007-06-08 Friday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.17): %install commands revised.
-
-2007-06-08 Friday 18:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.270), Watchdog/configure.ac (1.37): Do not
-	  override the externally-provided CFLAGS and CXXFLAGS.
-
-2007-06-08 Friday 17:40  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:31 +0000
-
-2007-06-08 Friday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.207), configure.ac (1.269), demos/ppl_lcdd/ppl_lcdd.cc
-	  (1.59), demos/ppl_lpsol/ppl_lpsol.c (1.69),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.10),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.16),
-	  interfaces/Prolog/SWI/swi_cfli.hh (1.4), m4/Makefile.am (1.26),
-	  m4/ac_check_fpu_control.m4 (1.4),
-	  m4/ac_cxx_double_binary_format.m4 (1.5),
-	  m4/ac_cxx_float_binary_format.m4 (1.4),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.5),
-	  m4/ax_prefix_config_h.m4 (1.1), src/BD_Shape.cc (1.6),
-	  src/BHRZ03_Certificate.cc (1.12), src/Bit_Matrix.cc (1.3),
-	  src/Bit_Row.cc (1.3), src/Bit_Row.inlines.hh (1.3), src/Box.cc
-	  (1.6), src/C_Integer.hh (1.4), src/C_Polyhedron.cc (1.21),
-	  src/Checked_Number.cc (1.12), src/Coefficient.cc (1.6),
-	  src/Coefficient.defs.hh (1.8), src/Coefficient.types.hh (1.15),
-	  src/Congruence.cc (1.15), src/Congruence_System.cc (1.24),
-	  src/Constraint.cc (1.66), src/Constraint_System.cc (1.23),
-	  src/DB_Row.defs.hh (1.23), src/DB_Row.inlines.hh (1.22),
-	  src/DB_Row.templates.hh (1.6), src/Float.cc (1.6),
-	  src/Float.defs.hh (1.25), src/Float.inlines.hh (1.30),
-	  src/GMP_Integer.inlines.hh (1.20), src/Generator.cc (1.74),
-	  src/Generator_System.cc (1.22), src/Grid_Certificate.cc (1.8),
-	  src/Grid_Generator.cc (1.20), src/Grid_Generator_System.cc
-	  (1.18), src/Grid_Status.cc (1.7), src/Grid_chdims.cc (1.17),
-	  src/Grid_conversion.cc (1.20), src/Grid_nonpublic.cc (1.25),
-	  src/Grid_public.cc (1.52), src/Grid_simplify.cc (1.33),
-	  src/Grid_widenings.cc (1.15), src/H79_Certificate.cc (1.11),
-	  src/Init.cc (1.30), src/Linear_Expression.cc (1.17),
-	  src/Linear_Row.cc (1.22), src/Linear_System.cc (1.43),
-	  src/MIP_Problem.cc (1.53), src/Matrix.cc (1.96),
-	  src/NNC_Polyhedron.cc (1.21), src/Octagonal_Shape.cc (1.5),
-	  src/Ph_Status.cc (1.13), src/Pointset_Ask_Tell.cc (1.3),
-	  src/Pointset_Powerset.cc (1.12), src/Poly_Con_Relation.cc (1.15),
-	  src/Poly_Gen_Relation.cc (1.15), src/Polyhedron_chdims.cc (1.43),
-	  src/Polyhedron_nonpublic.cc (1.78), src/Polyhedron_public.cc
-	  (1.93), src/Polyhedron_widenings.cc (1.62), src/Row.cc (1.103),
-	  src/Row.defs.hh (1.111), src/Row.inlines.hh (1.65),
-	  src/Scalar_Products.cc (1.8), src/Variable.cc (1.23),
-	  src/Variables_Set.cc (1.5), src/checked.cc (1.20),
-	  src/checked.inlines.hh (1.37), src/checked_float.inlines.hh
-	  (1.78), src/checked_int.inlines.hh (1.61),
-	  src/checked_mpz.inlines.hh (1.45), src/conversion.cc (1.82),
-	  src/fpu-c99.inlines.hh (1.14), src/fpu-sparc.inlines.hh (1.8),
-	  src/fpu.defs.hh (1.15), src/fpu.types.hh (1.5), src/globals.cc
-	  (1.27), src/minimize.cc (1.47), src/mp_std_bits.cc (1.4),
-	  src/ppl-config.cc.in (1.20), src/ppl_header.hh (1.6),
-	  src/simplify.cc (1.48), src/version.cc (1.9), tests/FCAIBVP.cc
-	  (1.4), tests/Partial_Function.cc (1.5), tests/ppl_test.cc (1.9),
-	  tests/ppl_test.hh (1.63), tests/print.hh (1.41),
-	  tests/Polyhedron/memory1.cc (1.12), tests/Polyhedron/memory2.cc
-	  (1.14), utils/timings.cc (1.9): The `ppl.hh' header file no
-	  longer defines macros not prefixed by "PPL_".
-
-2007-06-08 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/: 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-06-07 Thursday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.16): Apply both patches.
-
-2007-06-07 Thursday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.15): Fixed the command to remove all
-	  installed *.la files.
-
-2007-06-07 Thursday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.14): Remove installed *.la files.
-	  Added a `ppl-0.9-configure.patch' to avoid overriding CFLAGS and
-	  CXXFLAGS.
-
-2007-06-07 Thursday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.13): All the static archives are now
-	  in `*-static' packages.  Packages `ppl-gprolog-devel',
-	  `ppl-swiprolog-devel' and `ppl-yap-devel' renamed `ppl-gprolog',
-	  `ppl-swiprolog' and `ppl-yap', respectively.	As a workaround for
-	  a bug in the `pl' package (Bugzilla Bug 243084) `ppl-swiprolog'
-	  is now dependent on `readline-devel'.  Added `%%dir
-	  %%{_datadir}/doc/%%{name}'.  The `ppl-user-0.9-html'
-	  documentation directory is now properly listed.
-
-2007-06-06 Wednesday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.12): Use `%{_includedir}' and
-	  `%{_libdir}' instead of `/usr/include' and `/usr/lib',
-	  respectively.  Use `%{_datadir}/doc/%{name}' instead of
-	  `/usr/share/doc/ppl'.  Replaced `%defattr(-,root,root)' with
-	  `%defattr(-,root,root,-)'.  (Thanks to Mamoru Tasaka.)
-
-2007-06-05 Tuesday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.hh (1.27): Shadowing avoided.
-
-2007-06-05 Tuesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.31): Useless break's
-	  and braces removed.  Indentation fixed in several places.
-
-2007-06-05 Tuesday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.140): Make sure
-	  Polyhedron::space_dimension() is defined before being used.
-
-2007-05-29 Tuesday 08:05  Andrea Cimino
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.16): In the generated Java tests, for each method that returns
-	  a non void type, a corresponding variable of the appropriate type
-	  is declared and assigned to the value that the method returns.
-	  Removed a redundant `ppl_ at TOPOLOGY@@CLASS at _@UB_EXACT at _code
-	  section.
-
-2007-05-28 Monday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.206): Updated.
-
-2007-05-28 Monday 06:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: MIP_Problem.defs.hh (1.34), MIP_Problem.inlines.hh (1.15):
-	  Removed method hash_code().
-
-2007-05-24 Thursday 07:56  Andrea Cimino
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.15): Using `hashcode' instead of `hash'.  Spurious blank space
-	  removed.
-
-2007-05-23 Wednesday 23:11  Andrea Cimino
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.14): Fixed a typo.
-
-2007-05-23 Wednesday 23:07  Andrea Cimino
-
-	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.7),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.25), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.13): In the Java interface provided, for most of the PPL
-	  classes, the methods `equals(Object y)' and `hashCode()'.
-
-2007-05-23 Wednesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Any_Pointset.defs.hh (1.12), Ask_Tell.defs.hh (1.16),
-	  BD_Shape.defs.hh (1.99), BD_Shape.inlines.hh (1.143),
-	  Grid.defs.hh (1.48), Grid.inlines.hh (1.14), MIP_Problem.defs.hh
-	  (1.33), MIP_Problem.inlines.hh (1.14), Octagonal_Shape.defs.hh
-	  (1.28), Octagonal_Shape.inlines.hh (1.16),
-	  Pointset_Ask_Tell.defs.hh (1.9), Pointset_Ask_Tell.inlines.hh
-	  (1.4), Pointset_Powerset.defs.hh (1.17), Polyhedron.defs.hh
-	  (1.317), Polyhedron.inlines.hh (1.139): All PPL semantic objects
-	  now provide the method
-
-	       int32_t hash_code() const
-
-	  returning a 32-bit hash code for *this.  If x and y are such that
-	  x == y evaluates to true, so does x.hash_code() == y.hash_code().
-
-2007-05-21 Monday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.170): Distribute also meta_programming.hh and
-	  Temp.defs.hh.
-
-2007-05-21 Monday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.28), Watchdog/ltmain.sh (1.17): Updated from Libtool
-	  1.5.23b.
-
-2007-05-21 Monday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.218): Added one item concerning the Java interface.
-	  (Thanks to Fausto Spoto.)
-
-2007-05-18 Friday 07:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/mapspacedims1.cc (1.14): New test added.
-
-2007-05-15 Tuesday 09:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.268): Version number bumped.
-
-2007-05-10 Thursday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (1.8): The former `prolog_atoms' array is now called
-	  `prolog_interface_atoms'.
-
-2007-04-11 Wednesday 06:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/Makefile.am (1.15): List cm_cleaner.sh and cm_splitter.sh
-	  in dist_noinst_SCRIPTS, not noinst_SCRIPTS (problem reported by
-	  Stefano Soffia).
-
-2007-04-03 Tuesday 18:04  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.90), Checked_Number.inlines.hh
-	  (1.74), checked.defs.hh (1.41), checked_ext.inlines.hh (1.38),
-	  checked_float.inlines.hh (1.77), checked_int.inlines.hh (1.60),
-	  checked_mpq.inlines.hh (1.41), checked_mpz.inlines.hh (1.44):
-	  Added idiv.
-
-2007-04-03 Tuesday 14:47  Elena Mazzi
-
-	* src/Octagonal_Shape.templates.hh (1.52): Corrected the method
-	  Octagonal_Shape::relation_with(c) when the Octagonal_Shape is
-	  based on integer coefficients and when the constraint `c' is `1
-	  == 0'.
-
-2007-04-03 Tuesday 14:43  Elena Mazzi
-
-	* tests/Octagonal_Shape/relatwithcons2.cc (1.6): Added two new
-	  tests on `Octagonal_Shape::relation_with(c)'.  Test18() shows a
-	  bug in relation_with(const Constraint& c) when the constraint `c'
-	  is `1 == 0'.
-
-2007-04-03 Tuesday 12:17  Elena Mazzi
-
-	* tests/Octagonal_Shape/: Makefile.am (1.18), fromspacedim1.cc
-	  (1.1): New test program fromspacedim1.cc tests
-	  Octagonal_Shape<N>::Octagonal_Shape(dimension_type,
-	  Degenerate_Element).
-
-2007-04-03 Tuesday 11:44  Elena Mazzi
-
-	* tests/BD_Shape/: Makefile.am (1.64), fromspacedim1.cc (1.1): New
-	  test program fromspacedim1.cc tests
-	  BD_Shape<N>::BD_Shape(dimension_type, Degenerate_Element).
-
-2007-04-01 Sunday 18:57  Abramo Bagnara
-
-	* TODO (1.217): Fixed and cleaned TODO description.
-
-2007-04-01 Sunday 16:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.216): Added a new item concerning possible aliasing in
-	  the arguments of a function.
-
-2007-04-01 Sunday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.215): Added new item concerning rem() and remp().
-
-2007-04-01 Sunday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
-	  (1.46), ppl_prolog_common.icc (1.7), track_allocation.hh (1.22):
-	  Avoided conflicts with symbols defined in the new versions of
-	  CiaoDE.
-
-2007-03-31 Saturday 19:27  Abramo Bagnara
-
-	* src/fpu.defs.hh (1.14): Give priority to faster architecture
-	  dependent fpu control.
-
-2007-03-26 Monday 21:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.76): On platforms not providing
-	  rintl() and not providing proper long doubles, make the
-	  assumption that long double and double are the same type and use
-	  rint() instead of rintl().
-
-2007-03-25 Sunday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.201): Corrected a wrong sign in the
-	  paragraph about "Images and Preimages of Affine Transfer
-	  Relations."
-
-2007-03-25 Sunday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.267), m4/Makefile.am (1.25),
-	  m4/ac_cxx_proper_long_double.m4 (1.1): Check whether the C++
-	  compiler provides proper long doubles.
-
-2007-03-24 Saturday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset1.cc (1.6): Fixed test18() and
-	  test19().  Drafted test20().
-
-2007-03-21 Wednesday 11:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem2.cc (1.2): Test modified so as to
-	  propagate overflows and therefore interact correctly with macro
-	  DO_TEST_OVERFLOW. The test overflows when using 8-bit
-	  coefficients.
-
-2007-03-21 Wednesday 10:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/refine2.cc (1.8): Test test02() does not overflow with
-	  64 bits integers.
-
-2007-03-20 Tuesday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/frombox1.cc (1.2): Test test05() overflows with all
-	  bounded coefficients.
-
-2007-03-20 Tuesday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.59): Use DIRTY_TEMP when allocating a
-	  temporary Coefficient or mpq_class object.  Use properly typed
-	  temporaries in max_min(), so as to avoid errors when configured
-	  to used bounded integer coefficients.
-
-2007-03-19 Monday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.58): Excessively optimistic assertions
-	  just introduced replaced by canonicalization, which is required.
-	  In the constructor of a Box from a polyhedron, do use Coefficient
-	  temporaries when invoking the MIP solver.
-
-2007-03-19 Monday 16:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.52): The excessively optimistic assertions
-	  just introduced replaced by canonicalization, which is indeed
-	  required.
-
-2007-03-19 Monday 16:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.57): Useless canonnicalizations of mpq
-	  rationals replaced by assertions.  Simplified part of the code
-	  for the construction of a Box starting from a generator system.
-	  Avoid a couple of useless temporaries.
-
-2007-03-19 Monday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.92): A comment about the canonical
-	  form of an mpq rational supported by corresponding assertion.
-
-2007-03-19 Monday 15:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.51): A few useless canonicalizations of mpq
-	  rationals replaced by assertions.
-
-2007-03-19 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.35), frombdshape1.cc (1.1): Test
-	  Box::Box(const BD_Shape&, Complexity_Class).
-
-2007-03-19 Monday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: globals.cc (1.26), globals.defs.hh (1.47): Removed useless
-	  inline directives in function declarations that are not
-	  definitions. Added helper function   bool is_canonical(const
-	  mpq_class& ); to be used in assertions.
-
-2007-03-19 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.defs.hh (1.47): Grid::Grid(const Box<Interval>&) made
-	  explicit.
-
-2007-03-19 Monday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.56): Fixed Box<Interval>::Box(const
-	  BD_Shape<T>&, Complexity_Class).
-
-2007-03-19 Monday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.55): We were using Interval::lower_set()
-	  instead of Interval::lower_set_uninit() in
-	  Box<Interval>::Box(const BD_Shape<T>&, Complexity_Class).
-	  Several assert(OK()) were missing.
-
-2007-03-18 Sunday 17:26  Abramo Bagnara
-
-	* src/checked_mpq.inlines.hh (1.40): Removed unused formal
-	  argument.
-
-2007-03-18 Sunday 16:53  Abramo Bagnara
-
-	* src/: checked_int.inlines.hh (1.59), checked_mpq.inlines.hh
-	  (1.39), checked_mpz.inlines.hh (1.43): Fixed construct from
-	  special value.
-
-2007-03-18 Sunday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.34), frombox1.cc (1.1): Test
-	  Box<Interval>::Box(const Box<Other_Interval>&).
-
-2007-03-18 Sunday 14:01  Abramo Bagnara
-
-	* src/checked_mpq.inlines.hh (1.38): Removed unused argument.
-
-2007-03-18 Sunday 13:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.54): Added tests against exceeding the
-	  maximum space dimension.  Optimized
-	  Box<Interval>::add_space_dimensions_and_project(dimension_type).
-
-2007-03-18 Sunday 12:21  Abramo Bagnara
-
-	* src/Box.templates.hh (1.53): Fixed typo.
-
-2007-03-18 Sunday 12:13  Abramo Bagnara
-
-	* src/Box.templates.hh (1.52): Cleaned Box constructor from Grid.
-
-2007-03-18 Sunday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.51): Added tests against exceeding the
-	  maximum space dimension.
-
-2007-03-18 Sunday 12:02  Abramo Bagnara
-
-	* src/Box.templates.hh (1.50): Cleaned Box constructor from
-	  Octagon.
-
-2007-03-18 Sunday 11:59  Abramo Bagnara
-
-	* src/Box.templates.hh (1.49): Cleaned Box constructor from
-	  Polyhedron.
-
-2007-03-18 Sunday 11:41  Abramo Bagnara
-
-	* src/Box.templates.hh (1.48): Substituted refine with narrow in
-	  refine_no_check.
-
-2007-03-18 Sunday 11:34  Abramo Bagnara
-
-	* src/: Box.templates.hh (1.47), Checked_Number.defs.hh (1.89),
-	  Checked_Number.inlines.hh (1.73), checked_ext.inlines.hh (1.37),
-	  checked_float.inlines.hh (1.75): Added support for inexact
-	  checking.
-
-2007-03-18 Sunday 11:05  Abramo Bagnara
-
-	* src/Box.templates.hh (1.46): Fixed comparison.
-
-2007-03-18 Sunday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.45): Marked the places in
-	  Box<Interval>::refine_no_check(const Constraint&) where the
-	  inexact flag must be reset.
-
-2007-03-18 Sunday 11:01  Abramo Bagnara
-
-	* src/Box.templates.hh (1.44): Undone last commit.
-
-2007-03-18 Sunday 10:54  Abramo Bagnara
-
-	* src/Box.templates.hh (1.43): Fixed comparison.
-
-2007-03-18 Sunday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.42): Box<Interval>::Box(const
-	  Generator_System&) simplified and adorned with FIXMEs.
-
-2007-03-18 Sunday 10:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.41): Box<Interval>::Box(const
-	  Box<Other_Interval>&) simplified.
-
-2007-03-18 Sunday 09:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.25), src/Box.templates.hh (1.40),
-	  tests/Box/Makefile.am (1.33), tests/Box/fromspacedim1.cc (1.1):
-	  Box<Interval>::Box(dimension_type, Degenerate_Element) rewritten
-	  exploiting the fact that marked empty boxes do not impose any
-	  constraint on the intervals apart from the fact that their memory
-	  has been allocated.  Box<Interval>::OK() has been changed
-	  accordingly.	New test program fromspacedim1.cc tests
-	  Box<Interval>::Box(dimension_type, Degenerate_Element).
-	  Box<Interval>::Box(const BD_Shape<T>&, Complexity_Class) modified
-	  to exploit the new interval construction mechanisms.
-
-2007-03-18 Sunday 08:40  Abramo Bagnara
-
-	* src/: BD_Shape.inlines.hh (1.142), BD_Shape.templates.hh (1.76),
-	  Boundary.defs.hh (1.7), Box.inlines.hh (1.17), Box.templates.hh
-	  (1.39), Checked_Number.cc (1.11), Checked_Number.defs.hh (1.88),
-	  Checked_Number.inlines.hh (1.72), DB_Matrix.inlines.hh (1.32),
-	  DB_Row.templates.hh (1.5), Interval.defs.hh (1.39),
-	  Interval_Info.defs.hh (1.4), Interval_Restriction.defs.hh (1.5),
-	  OR_Matrix.inlines.hh (1.7), Octagonal_Shape.inlines.hh (1.15),
-	  Octagonal_Shape.templates.hh (1.51), Temp.defs.hh (1.4),
-	  checked.defs.hh (1.40), checked.inlines.hh (1.36),
-	  checked_ext.inlines.hh (1.36), checked_float.inlines.hh (1.74),
-	  checked_int.inlines.hh (1.58), checked_mpq.inlines.hh (1.37),
-	  checked_mpz.inlines.hh (1.42), checked_numeric_limits.hh (1.20),
-	  globals.defs.hh (1.46), meta_programming.hh (1.5): Removed
-	  special values classes. Changed interface to interval
-	  construction and modify.
-
-2007-03-17 Saturday 12:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine1.cc (1.9): test01(), test03() and test04() will
-	  fail with 8-bit coefficients.
-
-2007-03-16 Friday 21:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine2.cc (1.7): Restored test02().
-
-2007-03-16 Friday 20:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine1.cc (1.8): Completed test07().
-
-2007-03-16 Friday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.38): Removed spurious assignment `t_bound
-	  = 0' from Box<Interval>::refine_no_check(const Constraint&).
-
-2007-03-16 Friday 19:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/refine1.cc (1.7): Test test07() shows a bug in refine()
-	  when handling an equality constraint.
-
-2007-03-16 Friday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine1.cc (1.6): Fixed test06().
-
-2007-03-16 Friday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.81), devref.doxyconf-latex.in
-	  (1.20): Updated the list of files from which to harvest the
-	  documentation for developers.
-
-2007-03-16 Friday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine1.cc (1.5): New test added.
-
-2007-03-16 Friday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.24), Box.templates.hh (1.37): Comment with
-	  the implementation details of
-	  Box<Interval>::refine_no_check(const Constraint&) adapted to
-	  Doxygen and moved before the declaration in Box.defs.hh.
-
-2007-03-16 Friday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (1.27): Fixed some Doxygen
-	  references.
-
-2007-03-16 Friday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-c-interface.doxyconf-html.in (1.2),
-	  devref-c-interface.doxyconf-latex.in (1.2),
-	  devref-prolog-interface.doxyconf-html.in (1.2),
-	  devref-prolog-interface.doxyconf-latex.in (1.2),
-	  devref.doxyconf-html.in (1.80), devref.doxyconf-latex.in (1.19),
-	  user-c-interface.doxyconf-html.in (1.2),
-	  user-c-interface.doxyconf-latex.in (1.2),
-	  user-prolog-interface.doxyconf-html.in (1.2),
-	  user-prolog-interface.doxyconf-latex.in (1.2),
-	  user.doxyconf-html.in (1.39), user.doxyconf-latex.in (1.10):
-	  Updated for the new versions of Doxygen.
-
-2007-03-13 Tuesday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.23), Box.templates.hh (1.36): New
-	  implementation of Box<Interval>::refine_no_check(const
-	  Constraint&).  Added declaration and fake definition for
-	  Box<Interval>::limited_CC76_extrapolation_assign(const Box&,
-	  const Constraint_System&, unsigned).
-
-2007-03-13 Tuesday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.38): New template <typename
-	  Interval_Boundary_Type> struct Select_Temp_Boundary_Type is an
-	  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.
-
-2007-03-13 Tuesday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine2.cc (1.6): Temporarily disabled test02().
-
-2007-03-13 Tuesday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine1.cc (1.4): Improved test01().
-
-2007-03-13 Tuesday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/relations1.cc (1.17), BD_Shape/relations2.cc
-	  (1.21), BD_Shape/relations3.cc (1.25),
-	  Octagonal_Shape/relatwithcons1.cc (1.3),
-	  Octagonal_Shape/relatwithcons2.cc (1.5),
-	  Octagonal_Shape/relatwithgen1.cc (1.7): Output made consistent
-	  with the rest of the testsuite.
-
-2007-03-13 Tuesday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Pointset_Powerset.defs.hh (1.16),
-	  Pointset_Powerset.templates.hh (1.13): Added void
-	  Pointset_Powerset<PS>::refine(const Constraint&) and void
-	  Pointset_Powerset<PS>::refine(const Constraint_System&).
-
-2007-03-13 Tuesday 15:52  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.75): Corrected the method
-	  BD_Shape::relation_with(c) when the BD_Shape is based on integer
-	  coefficients and when the constraint `c' is `1 == 0'.
-
-2007-03-13 Tuesday 15:49  Elena Mazzi
-
-	* tests/BD_Shape/: Makefile.am (1.63), relations3.cc (1.24): Test
-	  relations3 abled. Added test17() that shows a bug in
-	  BD_Shape::relation_with(const Constraint& c) when the constraint
-	  `c' is `1 == 0'.
-
-2007-03-13 Tuesday 14:57  quartieri
-
-	* src/Octagonal_Shape_strong_closure4.hh (octagons.3): Removed a
-	  useless code line.
-
-2007-03-13 Tuesday 14:55  quartieri
-
-	* tests/Octagonal_Shape/: Makefile.am, universal_incremental.cc,
-	  universal_strong.cc (octagons.[4,1,1]): Added new tests on
-	  strong_closure() and incremental_strong_closure().
-
-2007-03-13 Tuesday 12:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/bhrz03widening3.cc (1.14): Test test10()
-	  completed and restored.
-
-2007-03-13 Tuesday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.61): Applied a workaround in
-	  private method select_H79_constraints() so as to correctly deal
-	  with NNC polyhedra. A too strong assertion made weaker: due to
-	  the value of the epsilon coordinate, the sign of the scalar
-	  product can be anything when the polyhedra are NNC, the
-	  constraint from x is strict and the generator from y is a point.
-
-2007-03-13 Tuesday 09:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Scalar_Products.cc (1.7): Added the definition of a
-	  Scalar_Product::assign() variant that was declared but not
-	  implemented.
-
-2007-03-12 Monday 20:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/bhrz03widening3.cc (1.13): Test test10() greatly
-	  simplified, while still showing the assertion violation.
-
-2007-03-12 Monday 16:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/bhrz03widening3.cc (1.12): Added a test showing
-	  an assertion violation for the BHRZ03 widening.
-
-2007-03-12 Monday 14:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.35): Th eimplementation of affine_image
-	  and affine_preimage changed so as to use Tmp_Interval_Type. Also
-	  corrected a type in affine_preimage.
-
-2007-03-12 Monday 14:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.defs.hh (1.22): Added typedef Tmp_Interval_Type for the
-	  interval datatype that has to be used when performing internal
-	  computations and trying to avoid the accumulation of rounding
-	  errors. As for now, this is defined to be the same as Interval.
-
-2007-03-11 Sunday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Pointset_Powerset.defs.hh (1.15),
-	  Pointset_Powerset.templates.hh (1.12): Added method bool
-	  contains_integer_point() const.
-
-2007-03-11 Sunday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/doc/Makefile.am (1.2): No longer mention
-	  README.configure.
-
-2007-03-10 Saturday 23:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine1.cc (1.3): Expected results fixed.
-
-2007-03-10 Saturday 23:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.32), refine3.cc (1.1): New test that
-	  triggers a bug in the Box class.
-
-2007-03-10 Saturday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine2.cc (1.5): test02() fails with 64-bit or smaller
-	  coefficients.
-
-2007-03-10 Saturday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.21), Box.inlines.hh (1.16): Assignment
-	  operator added.
-
-2007-03-10 Saturday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/conversion.cc (1.81): Fixed a couple of comments.
-
-2007-03-10 Saturday 12:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.62): For boxes, check_result_i() prints now
-	  more information in case containment does not hold.
-
-2007-03-10 Saturday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine2.cc (1.4): Tests that do not require a watchdog
-	  timer moved to refine1.cc.  Remaining tests improved:
-	  known_result computed precisely and reduced the compilation time
-	  by resorting to ascii_load() methods.
-
-2007-03-10 Saturday 12:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine1.cc (1.2): Tests that do not require a watchdog
-	  timer moved from refine1.cc.
-
-2007-03-10 Saturday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.37): Drafted bool
-	  ascii_load(std::istream&) and template <typename Boundary,
-	  typename Info> std::istream& operator>>(std::istream&
-	  Interval<Boundary, Info>&).
-
-2007-03-09 Friday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.34): Fixed Box<Interval>::Box(const
-	  Box<Other_Interval>&).
-
-2007-03-09 Friday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.33): Improved
-	  Box<Interval>::ascii_dump(std::ostream&).
-
-2007-03-09 Friday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.36): Interval::ascii_dump(ostream&)
-	  correctly (and simply) implemented.
-
-2007-03-09 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/: Makefile.am (1.3), mipproblem1.cc (1.4),
-	  mipproblem2.cc (1.1): New program mipproblem2.cc to test the
-	  MIP_Problem class with instances that require a watchdog timer.
-	  Test from mipproblem1.cc adapted and moved here.
-
-2007-03-09 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.50): The maybe_abandon() function is now
-	  called in the right places.
-
-2007-03-09 Friday 18:07  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.49): Call `maybe_abandon()' each time a new
-	  vertex is explored.
-
-2007-03-09 Friday 18:02  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.48): Call `maybe_abandon()' each time the
-	  simplex algorithm is involved.
-
-2007-03-09 Friday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine2.cc (1.3): Completed test01().  Four more tests
-	  added (one of them is currently disabled, as it seems to trigger
-	  a bug somewhere).
-
-2007-03-09 Friday 15:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.31), cc76narrowing1.cc (1.4): Restored
-	  test cc76narrowing1.
-
-2007-03-09 Friday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.20), Box.templates.hh (1.32): Drafted
-	  implementation of CC76_narrowing_assign().
-
-2007-03-09 Friday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.30): Restored bgp99extrapolation1 and
-	  bhz03widening1.
-
-2007-03-09 Friday 14:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.29), maxspacedim1.cc (1.4): Restored
-	  test maxspacedim1.cc.
-
-2007-03-09 Friday 14:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.28): Restored test affinepreimage1.cc.
-
-2007-03-09 Friday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/affineimage1.cc (1.6): Distances recomputed for test08.
-
-2007-03-09 Friday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/cc76extrapolation1.cc (1.18),
-	  Octagonal_Shape/cc76extrapolation1.cc (1.4): Use the new typedef
-	  coefficient_type_base.
-
-2007-03-09 Friday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.98), Grid.defs.hh (1.46),
-	  Octagonal_Shape.defs.hh (1.26), Polyhedron.defs.hh (1.316): Added
-	  public typedef coefficient_type to Polyhedron and Grid.  Typedef
-	  base_type renamed as coefficient_base_type for BDSs and OSs.
-
-2007-03-09 Friday 12:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.27), affineimage1.cc (1.5): Test
-	  affineimage1.cc restored.
-
-2007-03-09 Friday 12:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/max_min1.cc (1.5): Use new macro.
-
-2007-03-09 Friday 12:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.61): Filled in the stub implementation of
-	  check_result for Box.  Macro DO_TEST_MAY_OVERFLOW_IF_FLOAT
-	  improved and renamed as DO_TEST_MAY_OVERFLOW_IF_INEXACT.
-
-2007-03-09 Friday 12:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.inlines.hh (1.15), Box.templates.hh (1.31): Added
-	  implementations of functions computing distances between boxes.
-
-2007-03-09 Friday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.defs.hh (1.19): Added declarations for functions that
-	  compute distances between boxes.
-
-2007-03-09 Friday 08:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.37): Added a paragraph describing DO_TEST_Fxxx
-	  macros.
-
-2007-03-08 Thursday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.73): Removed trailing whitespace.
-
-2007-03-08 Thursday 16:30  quartieri
-
-	* tests/Octagonal_Shape/incremental1.cc (octagons.3): Removed debug
-	  informations.
-
-2007-03-08 Thursday 15:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/max_min1.cc (1.4): Tests test07() and test08() may
-	  overflow when TBox has been instantiated with a floating point
-	  datatype.
-
-2007-03-08 Thursday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.60): Added macro DO_TEST_OVERFLOW which
-	  checks that a failure in a test is actually motivated by an
-	  overflow. The new macro used instead of DO_TEST_F (which was
-	  accepting any kind of failure) when defining macros DO_TEST_Fxx.
-
-	  Added new macro DO_TEST_MAY_OVERFLOW_WITH_FLOAT to be used when a
-	  test may cause an overflow only when one of the domains
-	  supporting floating points (i.e., Box, BD_Shape and
-	  Octagonal_Shape) is actually instantiated with a floating point
-	  datatype.
-
-2007-03-08 Thursday 14:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: relations1.cc (1.4), relations2.cc (1.2): Noisy
-	  output standardized.
-
-2007-03-08 Thursday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/refine2.cc (1.2): Fixed test01().
-
-2007-03-08 Thursday 14:11  quartieri
-
-	* tests/Octagonal_Shape/incremental1.cc (octagons.2): Truncate
-	  random coefficients to 1000.
-
-2007-03-08 Thursday 13:41  quartieri
-
-	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh
-	  (octagons.[18,57]): Unused function removed.
-
-2007-03-08 Thursday 13:39  quartieri
-
-	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh
-	  (octagons.[17,56]): Added a temporary function to count the
-	  infinities in the Octagonal_Shape.
-
-2007-03-08 Thursday 13:03  quartieri
-
-	* src/: Octagonal_Shape.templates.hh,
-	  Octagonal_Shape_incremental_strong_closure1.hh,
-	  Octagonal_Shape_incremental_strong_closure10.hh,
-	  Octagonal_Shape_incremental_strong_closure4.hh,
-	  Octagonal_Shape_incremental_strong_closure5.hh,
-	  Octagonal_Shape_incremental_strong_closure6.hh,
-	  Octagonal_Shape_incremental_strong_closure7.hh,
-	  Octagonal_Shape_incremental_strong_closure8.hh,
-	  Octagonal_Shape_incremental_strong_closure9.hh,
-	  Octagonal_Shape_strong_closure1.hh,
-	  Octagonal_Shape_strong_closure2.hh,
-	  Octagonal_Shape_strong_closure4.hh, script_flags.hh
-	  (octagons.[55,4,5,4,4,4,4,4,4,2,3,2,2]): Added possibility to
-	  count operations.
-
-2007-03-08 Thursday 13:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rational_Box.hh (1.5), tests/ppl_test.hh (1.59): Intervals
-	  used in the Box class can be empty.
-
-2007-03-08 Thursday 13:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.214): Adde another entry.
-
-2007-03-08 Thursday 13:02  quartieri
-
-	* src/: Octagonal_Shape_incremental_strong_closure2.hh,
-	  Octagonal_Shape_incremental_strong_closure3.hh (octagons.[4,4]):
-	  Corrected both incomplete algorithms.
-
-2007-03-08 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.108): Use special flags only for
-	  the compilation of Watchdog1.
-
-2007-03-08 Thursday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.inlines.hh (1.14), src/Box.templates.hh (1.30),
-	  tests/Box/Makefile.am (1.26), tests/Box/addconstraints1.cc (1.7),
-	  tests/Box/refine1.cc (1.1), tests/Box/refine2.cc (1.1): Drafted a
-	  first version of Box<Interval>::refine_no_check(const
-	  Constraint_System&).	New test programs refine1.cc and
-	  refine2.cc: the latter is for tests possibly requiring a watchdog
-	  timer.
-
-2007-03-07 Wednesday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.141), BD_Shape.templates.hh (1.74):
-	  Reverted previous change (i.e., restored implementation of
-	  time_elapse exploiting polyhedra).
-
-2007-03-07 Wednesday 17:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/timeelapse1.cc (1.19): New test shows a bug in the
-	  (just added) direct implementation of
-	  BD_Shape<T>::time_elapse_assign().
-
-2007-03-07 Wednesday 15:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.140), BD_Shape.templates.hh (1.73):
-	  The implementation of method BD_Shape<T>::time_elapse_assign() no
-	  longer relies on the corresponding method of class Polyhedron.
-
-2007-03-07 Wednesday 09:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.cc (1.5), Box.defs.hh (1.18), Box.templates.hh (1.29):
-	  Interface of private method extract_interval_constraint() made
-	  more intuitive.  Consequently adapted methods
-	  add_constraint_no_check() and relation_with().
-
-2007-03-06 Tuesday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.28), tests/Box/addconstraints1.cc (1.6):
-	  Revised Box<Interval>::refine_no_check(const Constraint&).
-
-2007-03-06 Tuesday 21:15  Abramo Bagnara
-
-	* src/Boundary.defs.hh (1.6): Moved assert to right place.
-
-2007-03-06 Tuesday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.27): Revised void
-	  Box<Interval>::refine_no_check(const Constraint&).
-
-2007-03-06 Tuesday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.17), src/Box.inlines.hh (1.13),
-	  src/Box.templates.hh (1.26), tests/Box/addconstraints1.cc (1.5):
-	  Added the declarations for void Box<Interval>::refine(const
-	  Constraint&) and void Box<Interval>::refine(const
-	  Constraint_System&).	Drafted an implementation for the former.
-	  Commented-out test06() in tests/Box/addconstraints1.cc is meant
-	  to test it (will be moved elsewhere when the final name of the
-	  method is decided).
-
-2007-03-06 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/pointsetpowerset1.cc (1.2): Started drafting a couple
-	  of new tests.
-
-2007-03-06 Tuesday 12:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.25): Restored test timeelapse1.cc.
-
-2007-03-06 Tuesday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.16), Box.templates.hh (1.25): Drafted
-	  implementation for time_elapse_assign().
-
-2007-03-06 Tuesday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/maxspacedim1.cc (1.12): Call
-	  Parma_Polyhedra_Library::max_space_dimension().
-
-2007-03-06 Tuesday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/max_space_dimension.hh (1.12): Take boxes into account (with
-	  FIXME).
-
-2007-03-06 Tuesday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (octagons.14): If EXTRA_ROW_DEBUG is not
-	  defined, define it to 0, not 1.
-
-2007-03-06 Tuesday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.107), writeconsys1.cc (1.10):
-	  Test completed and FIXME resolved.
-
-2007-03-06 Tuesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/variablesset1.cc (1.10): FIXME resolved.
-
-2007-03-06 Tuesday 07:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/writerelation1.cc (1.12): This test program was
-	  not testing anything: fixed.
-
-2007-03-05 Monday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/maxspacedim1.cc (1.3): This test program
-	  was not testing anything: fixed.
-
-2007-03-05 Monday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/maxspacedim1.cc (1.3): This test program was not
-	  testing anything: fixed.
-
-2007-03-05 Monday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/writebdshape1.cc (1.9): This test program was not
-	  testing anything: fixed.
-
-2007-03-05 Monday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Direct_Product.inlines.hh (1.30), Grid.defs.hh (1.45),
-	  Grid.templates.hh (1.30): Method Grid::get_covering_box() now
-	  takes as parameter a reference to an object of class
-	  Parma_Polyhedra_Library::Box.
-
-2007-03-05 Monday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.45): No longer use private Box methods.
-
-2007-03-05 Monday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.15), Box.inlines.hh (1.12), Grid.defs.hh
-	  (1.44): Got rid of methods Box::raise_lower_bound() and
-	  Box::lower_upper_bound().
-
-2007-03-05 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.14), Box.inlines.hh (1.11): Privatized const
-	  Interval& Box<Interval>::operator[](dimension_type k) const.
-	  Drafted const Interval& Box<Interval>::get_interval(Variable)
-	  const and void Box<Interval>::set_interval(Variable, const
-	  Interval&).
-
-2007-03-05 Monday 17:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: coveringbox1.cc (1.15), coveringbox2.cc (1.13),
-	  directproduct1.cc (1.27): Removed raise_lower_bound and
-	  lower_upper_bound
-
-2007-03-05 Monday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.13), Box.inlines.hh (1.10): Added
-	  declaration and fake definitions for bool
-	  Box<Interval>::box_hull_assign_if_exact(const Box&) and bool
-	  Box<Interval>::upper_bound_assign_if_exact(const Box&).
-
-2007-03-05 Monday 09:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.24), fromdirectproduct1.cc (1.4):
-	  Program fromdirectproduct1.cc revised (with one FIXME) and
-	  activated.
-
-2007-03-04 Sunday 23:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.19): Even test03() overflows when
-	  using 16 bit checked integers.
-
-2007-03-04 Sunday 23:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.18): Another test showing that even
-	  two applications of Floyd-Warshall may not be enough to obtain
-	  shortest path closure when using floating points.
-
-2007-03-04 Sunday 23:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.17): Test test02() overflows when
-	  using 16bit checked integers.
-
-2007-03-04 Sunday 23:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.16): Test test02() shows a simple
-	  example where the Floyd-Warshall algorithm fails to compute
-	  shortest path closure due to floating point approximations.
-
-2007-03-04 Sunday 22:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.30): Remove
-	  unwanted previously commented m4 code.
-
-2007-03-04 Sunday 22:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.44): Remove temporarily commented old code.
-
-2007-03-04 Sunday 22:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.43): Avoid generating code "From_Bounding_Box" Also avoid
-	  using raise_lower_bound and lower_upper_bound.
-
-2007-03-04 Sunday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.205), interfaces/C/ppl_interface_generator_c_cc_code.m4
-	  (1.15), interfaces/C/ppl_interface_generator_c_cc_preamble (1.9),
-	  src/C_Polyhedron.defs.hh (1.47), src/C_Polyhedron.inlines.hh
-	  (1.35), src/Direct_Product.defs.hh (1.34),
-	  src/Direct_Product.inlines.hh (1.29), src/Grid.defs.hh (1.43),
-	  src/Grid.templates.hh (1.29), src/NNC_Polyhedron.defs.hh (1.49),
-	  src/NNC_Polyhedron.inlines.hh (1.36), src/globals.defs.hh (1.45),
-	  tests/ppl_test.hh (1.58), tests/Box/fromgrid1.cc (1.4),
-	  tests/Box/frompolyhedron2.cc (1.8), tests/Grid/boundingbox1.cc
-	  (1.18), tests/Grid/directproduct1.cc (1.26),
-	  tests/Polyhedron/frombox1.cc (1.3), tests/Polyhedron/frombox2.cc
-	  (1.3): The constructors
-
-	    template <typename Box> C_Polyhedron(const Box&,
-	  From_Bounding_Box),
-	    template <typename Box> NNC_Polyhedron(const Box&,
-	  From_Bounding_Box) and
-	    template <typename Box> Grid(const Box&, From_Bounding_Box)
-
-	  have been removed in favor of
-
-	    template <typename Interval> C_Polyhedron(const
-	  Box<Interval>&),
-	    template <typename Interval> NNC_Polyhedron(const
-	  Box<Interval>&) and
-	    template <typename Interval> Grid(const Box<Interval>&).
-
-2007-03-04 Sunday 18:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.templates.hh (1.28), tests/Grid/boundingbox1.cc (1.17):
-	  Use add_constraint() instead of raise_lower_bound() and
-	  lower_upper_bound()
-
-2007-03-04 Sunday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.23): Testing with intervals with long
-	  double boundaries enabled again.
-
-2007-03-04 Sunday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.24): Fixed Box<Interval>::max_min().
-
-2007-03-04 Sunday 17:43  Abramo Bagnara
-
-	* src/: Boundary.defs.hh (1.5), Checked_Number.defs.hh (1.87),
-	  Checked_Number.inlines.hh (1.71): Added more versatile comparison
-	  functions.
-
-2007-03-04 Sunday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.defs.hh (1.33): Removed declaration for void
-	  get_covering_box(Box&) const.
-
-2007-03-04 Sunday 17:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/frombox2.cc (1.2): No longer use
-	  Box::raise_lower_bound() and Box::lower_upper_bound().
-
-2007-03-04 Sunday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: empty1.cc (1.4), fromdirectproduct1.cc (1.3),
-	  fromgrid1.cc (1.3), frompolyhedron2.cc (1.7): No longer use
-	  Box::raise_lower_bound() and Box::lower_upper_bound().
-
-2007-03-04 Sunday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/frombox1.cc (1.2): No longer use
-	  Box::raise_lower_bound() and Box::lower_upper_bound().
-
-2007-03-04 Sunday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.66), Determinate.inlines.hh (1.56),
-	  Determinate.types.hh (1.10), Pointset_Ask_Tell.defs.hh (1.8),
-	  Pointset_Ask_Tell.inlines.hh (1.3),
-	  Pointset_Ask_Tell.templates.hh (1.8), Pointset_Ask_Tell.types.hh
-	  (1.3), Pointset_Powerset.defs.hh (1.14),
-	  Pointset_Powerset.inlines.hh (1.7),
-	  Pointset_Powerset.templates.hh (1.11): Type variable `PH' renamed
-	  `PS'.
-
-2007-03-04 Sunday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.22), pointsetpowerset1.cc (1.1): New
-	  program to test Pointset_Powerset<PH> with boxes.  Temporarily
-	  disable testing with intervals with long double boundaries.
-
-2007-03-04 Sunday 10:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.213), src/Pointset_Powerset.defs.hh (1.13),
-	  src/Pointset_Powerset.templates.hh (1.10): Added
-	  Pointset_Powerset<PH>::affine_image(Variable, const
-	  Linear_Expression&, Coefficient_traits::const_reference).  Many
-	  other methods of Pointset_Powerset are missing.
-
-2007-03-04 Sunday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.23), tests/Box/intersection1.cc (1.5):
-	  Fixed Box<Interval>::intersection_assign(const Box&): it was not
-	  dealing properly with the emptiness flags.
-
-2007-03-03 Saturday 23:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/frompolyhedron1.cc (1.10): Test test14() fails with all
-	  bounded integer types.
-
-2007-03-03 Saturday 22:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.21), max_min1.cc (1.3): Restored
-	  max_min1.cc after disabling some of the tests that necessarily
-	  fail on floating point datatypes (to be improved so as to allow
-	  for approximations).
-
-2007-03-03 Saturday 22:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.22): Corrected method is_universe().
-
-2007-03-03 Saturday 21:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.21): Added a few missing interval
-	  initializations; marked by FIXMEs so as to be improved when we
-	  will have a richer set of intervals' constructors.
-
-2007-03-03 Saturday 21:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.20), relations2.cc (1.1): Testing
-	  methods relation_with().
-
-2007-03-03 Saturday 21:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.12), Box.templates.hh (1.20): Drafted
-	  implementations of methods relation_with().
-
-2007-03-03 Saturday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.212): New item added.
-
-2007-03-03 Saturday 20:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.19): Support parallel builds.
-
-2007-03-03 Saturday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.211): New item added.
-
-2007-03-03 Saturday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/frompolyhedron1.cc (1.9): Drafted a more complex test.
-
-2007-03-03 Saturday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/frompolyhedron2.cc (1.6): Comment revised.
-
-2007-03-03 Saturday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/frompolyhedron2.cc (1.5): Test Box::Box(const
-	  NNC_Polyhedron&, Complexity_Class).
-
-2007-03-03 Saturday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.106), frombox2.cc (1.1): Test
-	  NNC_Polyhedron(const Box&, From_Bounding_Box).
-
-2007-03-03 Saturday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.18): Check Box::Box(const Polyhedron&,
-	  Complexity_Class) also with NNC polyhedra.
-
-2007-03-03 Saturday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: frompolyhedron1.cc (1.8), frompolyhedron2.cc (1.4),
-	  frompolyhedron4.cc (1.3): Tests for Box::Box(const Polyhedron&,
-	  Complexity_Class) reorganized.
-
-2007-03-03 Saturday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.105), frombox1.cc (1.1): Test
-	  C_Polyhedron(const Box&, From_Bounding_Box) and
-	  NNC_Polyhedron(const Box&, From_Bounding_Box).
-
-2007-03-03 Saturday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.57): Define BOX_INSTANCE if it is not
-	  already defined.
-
-2007-03-03 Saturday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.17), frompolyhedron1.cc (1.7),
-	  frompolyhedron2.cc (1.3): Adapted tests in frompolyhedron2.cc.
-	  Program max_min1 temporarily disabled (it fails).
-
-2007-03-03 Saturday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.56), Box/Makefile.am (1.16), Box/run_tests
-	  (1.2): Test class Box with multiple instantiations of the
-	  Interval parameter.
-
-2007-03-03 Saturday 15:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: frompolyhedron1.cc (1.6), frompolyhedron3.cc (1.3):
-	  Test in frompolyhedron3.cc is now included in frompolyhedron1.cc.
-
-2007-03-03 Saturday 12:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/bdsdifference1.cc (1.14),
-	  BD_Shape/bhmz05widening1.cc (1.14), BD_Shape/expandspacedim1.cc
-	  (1.3), BD_Shape/foldspacedims1.cc (1.5),
-	  BD_Shape/limitedbhmz05extrapolation1.cc (1.13),
-	  BD_Shape/limitedcc76extrapolation1.cc (1.14),
-	  BD_Shape/limitedh79extrapolation1.cc (1.13),
-	  BD_Shape/timeelapse1.cc (1.18), Box/bdsdifference1.cc (1.4),
-	  Box/boxdifference1.cc (1.5), Box/expandspacedim1.cc (1.5),
-	  Box/foldspacedims1.cc (1.6), Box/timeelapse1.cc (1.4),
-	  Octagonal_Shape/expandspacedim1.cc (1.4),
-	  Octagonal_Shape/foldspacedims1.cc (1.4),
-	  Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.4),
-	  Octagonal_Shape/limitedcc76extrapolation1.cc (1.4),
-	  Octagonal_Shape/timeelapse1.cc (1.4): Noisy output improved.
-
-2007-03-03 Saturday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: addcongruences1.cc (1.10), addconstraint1.cc
-	  (1.10), addconstraints1.cc (1.11), addconstraints2.cc (1.10),
-	  addgenerator1.cc (1.11), addgenerator2.cc (1.11),
-	  addgenerators1.cc (1.12), addgenerators2.cc (1.11),
-	  addspacedims1.cc (1.11), addspacedims2.cc (1.11), affineimage1.cc
-	  (1.11), affinepreimage1.cc (1.10), append1.cc (1.11), append2.cc
-	  (1.10), bhrz03widening1.cc (1.10), bhrz03widening2.cc (1.10),
-	  bhrz03widening3.cc (1.11), boundedaffineimage1.cc (1.10),
-	  boundedaffinepreimage1.cc (1.8), boundedh79extrapolation1.cc
-	  (1.11), concatenate1.cc (1.10), congruences1.cc (1.8),
-	  dualhypercubes.cc (1.12), expandspacedim1.cc (1.12),
-	  expandspacedim2.cc (1.12), foldspacedims1.cc (1.14),
-	  foldspacedims2.cc (1.15), generalizedaffineimage1.cc (1.12),
-	  generalizedaffineimage2.cc (1.12), generalizedaffinepreimage1.cc
-	  (1.9), generalizedaffinepreimage2.cc (1.8), h79widening1.cc
-	  (1.10), h79widening2.cc (1.10), intersection1.cc (1.14),
-	  limitedbhrz03extrapolation1.cc (1.9), limitedh79extrapolation1.cc
-	  (1.10), linearpartition1.cc (1.12), mapspacedims1.cc (1.13),
-	  nncminimize1.cc (1.6), numberinput1.cc (1.31), permute.cc (1.8),
-	  polydifference1.cc (1.11), polydifference2.cc (1.11),
-	  polyhull1.cc (1.11), relations1.cc (1.10), removespacedims1.cc
-	  (1.10), removespacedims2.cc (1.10), timeelapse1.cc (1.11),
-	  timeelapse2.cc (1.11), topclosure1.cc (1.10), universe1.cc
-	  (1.10), universe2.cc (1.10): Noisy output improved.
-
-2007-03-03 Saturday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/: addcongruence1.cc (1.13), addcongruences1.cc (1.16),
-	  addconstraint1.cc (1.11), addconstraints1.cc (1.12),
-	  addgenerator1.cc (1.15), addgenerators1.cc (1.15),
-	  addspacedims1.cc (1.14), affineimage1.cc (1.13), affineimage2.cc
-	  (1.11), affinepreimage1.cc (1.12), affinepreimage2.cc (1.7),
-	  bounded1.cc (1.13), boundedaffineimage1.cc (1.3),
-	  boundedaffinepreimage1.cc (1.3), boundingbox1.cc (1.16),
-	  generalizedaffineimage1.cc (1.13), generalizedaffineimage2.cc
-	  (1.12), generalizedaffineimage3.cc (1.4),
-	  generalizedaffinepreimage1.cc (1.15),
-	  generalizedaffinepreimage2.cc (1.15),
-	  generalizedaffinepreimage3.cc (1.4), grid1.cc (1.20),
-	  limitedextrapolation1.cc (1.12), limitedextrapolation2.cc (1.6),
-	  limitedextrapolation3.cc (1.5), partition1.cc (1.5), widening1.cc
-	  (1.15), widening2.cc (1.10), widening3.cc (1.5): Enforced
-	  consistency with the other tests.
-
-2007-03-02 Friday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.204), interfaces/C/ppl_c.h.in (1.71), src/Grid.defs.hh
-	  (1.42): Last steps in the removal of the shrink_bounding_box()
-	  methods.
-
-2007-03-02 Friday 21:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BBox.cc (1.14), BBox.hh (1.12), Makefile.am (1.262),
-	  Box/frompolyhedron2.cc (1.2), Box/frompolyhedron3.cc (1.2),
-	  Box/frompolyhedron4.cc (1.2): Class BBox phased out.
-
-2007-03-02 Friday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.11), Box.templates.hh (1.19): New private
-	  methods void Box::add_constraint_no_check(const Constraint&) and
-	  void Box::add_constraints_no_check(const Constraint_System&)
-	  allow to optimize the addition of constraints to a box.
-
-2007-03-02 Friday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.10), src/Box.inlines.hh (1.9),
-	  src/Box.templates.hh (1.18), src/Direct_Product.defs.hh (1.32),
-	  src/Direct_Product.inlines.hh (1.28), tests/ppl_test.hh (1.55),
-	  tests/Box/fromdirectproduct1.cc (1.2): Got rid of
-	  Direct_Product::shrink_bounding_box() in favor of the constructor
-	  Box::Box(const Direct_Product<D1, D2>&, Complexity_Class).
-	  Removed lots of x's.
-
-2007-03-02 Friday 18:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.266), src/Any_Pointset.defs.hh (1.11),
-	  src/BD_Shape.cc (1.5), src/BD_Shape.defs.hh (1.97),
-	  src/BHRZ03_Certificate.defs.hh (1.17), src/Bit_Matrix.defs.hh
-	  (1.3), src/Bit_Row.defs.hh (1.5), src/Box.cc (1.4),
-	  src/Box.defs.hh (1.9), src/Checked_Number.defs.hh (1.86),
-	  src/Coefficient.types.hh (1.14),
-	  src/Coefficient_traits_template.hh (1.8), src/Congruence.defs.hh
-	  (1.19), src/Congruence_System.defs.hh (1.19),
-	  src/Constraint_System.defs.hh (1.36), src/DB_Matrix.defs.hh
-	  (1.27), src/DB_Matrix.inlines.hh (1.31),
-	  src/DB_Matrix.templates.hh (1.5), src/DB_Row.defs.hh (1.22),
-	  src/DB_Row.inlines.hh (1.21), src/DB_Row.templates.hh (1.4),
-	  src/Determinate.defs.hh (1.65), src/Direct_Product.defs.hh
-	  (1.31), src/Float.defs.hh (1.24), src/GMP_Integer.types.hh
-	  (1.16), src/Generator.defs.hh (1.122),
-	  src/Generator_System.defs.hh (1.23), src/Grid.defs.hh (1.41),
-	  src/Grid_Certificate.defs.hh (1.5), src/Grid_Generator.defs.hh
-	  (1.30), src/Grid_Generator_System.defs.hh (1.22),
-	  src/Grid_nonpublic.cc (1.24), src/Init.defs.hh (1.18),
-	  src/Linear_Row.defs.hh (1.24), src/Linear_System.defs.hh (1.31),
-	  src/Linear_System.inlines.hh (1.22), src/MIP_Problem.defs.hh
-	  (1.32), src/Matrix.defs.hh (1.81), src/OR_Matrix.defs.hh (1.8),
-	  src/OR_Matrix.inlines.hh (1.6), src/Octagonal_Shape.cc (1.4),
-	  src/Octagonal_Shape.defs.hh (1.25), src/Pointset_Ask_Tell.defs.hh
-	  (1.7), src/Pointset_Powerset.cc (1.11),
-	  src/Pointset_Powerset.defs.hh (1.12),
-	  src/Pointset_Powerset.templates.hh (1.9), src/Polyhedron.defs.hh
-	  (1.315), src/Polyhedron_nonpublic.cc (1.77),
-	  src/Ptr_Iterator.defs.hh (1.9), src/Rational_Box.hh (1.4),
-	  src/Row.cc (1.102), src/Row.defs.hh (1.110), src/Row.inlines.hh
-	  (1.64), src/Scalar_Products.defs.hh (1.9), src/Topology.hh
-	  (1.14), src/Variables_Set.defs.hh (1.6),
-	  src/Widening_Function.defs.hh (1.17), src/algorithms.hh (1.48),
-	  src/checked_numeric_limits.hh (1.19), src/compiler.hh (1.10),
-	  src/distances.inlines.hh (1.4), src/globals.defs.hh (1.44),
-	  src/iterator_to_const.defs.hh (1.5), src/meta_programming.hh
-	  (1.4), src/mp_std_bits.defs.hh (1.4), src/namespaces.hh (1.11):
-	  The `--enable-more-assertions' configure option can now be used
-	  to enable all sorts of ABI-breaking extra assertion checking.
-	  The `EXTRA_ROW_DEBUG' that was used in several places with
-	  different meaning has now gone in favor of new symbols, all
-	  characterized by the `PPL_' prefix.  Commends of several #endif's
-	  fixed.
-
-2007-03-02 Friday 18:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/Makefile.am (1.62): Test relations3 temporarily
-	  disabled.
-
-2007-03-02 Friday 17:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/relations3.cc (1.23): Test test16() shows a bug in
-	  BD_Shape::relation_with(const Constraint& c) when the BD_Shape is
-	  based on integer coefficients.
-
-2007-03-02 Friday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.8), Box.templates.hh (1.17),
-	  Octagonal_Shape.defs.hh (1.24), Octagonal_Shape.templates.hh
-	  (1.50): Got rid of Octagonal_Shape::shrink_bounding_box() in
-	  favor of the constructor Box::Box(const Octagonal_Shape<T>&,
-	  Complexity_Class).
-
-2007-03-02 Friday 17:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.16): Solved a few FIXMEs. Corrected
-	  implementation of max_min().
-
-2007-03-02 Friday 16:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.15), addconstraints1.cc (1.4): Test
-	  addconstraints1.cc corrected and restored.
-
-2007-03-02 Friday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.14), discrete1.cc (1.4): Test
-	  discrete1 corrected and restored.
-
-2007-03-02 Friday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.inlines.hh (1.8), Box.templates.hh (1.15): Method
-	  constraints() no longer forces an emptyness check.  Method
-	  minimized_constraints() forces an emptyness check and also
-	  detects equality constraints.
-
-2007-03-02 Friday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.13), minconstraints1.cc (1.4): Test
-	  minconstraints1.cc corrected and restored.
-
-2007-03-02 Friday 15:35  Abramo Bagnara
-
-	* src/Boundary.defs.hh (1.4): Added missing argument.
-
-2007-03-02 Friday 15:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.12), expandspacedim1.cc (1.4): Test
-	  expandspacedim1.cc corrected and restored.
-
-2007-03-02 Friday 15:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.35): Drafted Interval::ascii_dump() to
-	  help in debugging.
-
-2007-03-02 Friday 15:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.inlines.hh (1.7), Box.templates.hh (1.14): Corrected a
-	  bug in Box::add_constraint() whereby a Box flagged as empty had
-	  the flag removed after adding a new constraint.
-
-2007-03-02 Friday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (1.13), tests/Box/Makefile.am (1.11),
-	  tests/Box/fromgrid1.cc (1.2): Constructor
-	  Box<Interval>::Box(const Grid&, Complexity_Class) corrected.
-	  Notice that this constructor is much less precise than it could
-	  be in case the box is made of modulo intervals.  Test program
-	  fromgrid1.cc revised and activated.
-
-2007-03-02 Friday 14:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.10), equality1.cc (1.4): Test
-	  equality1.cc corrected and restored.
-
-2007-03-02 Friday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/boxhull1.cc (1.4): Test test08() shows a bug when
-	  calling join_assign() on Interval.
-
-2007-03-02 Friday 14:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.9), intersection1.cc (1.4): Test
-	  intersection1.cc corrected and restored.
-
-2007-03-02 Friday 14:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.8), max_min1.cc (1.2): Test
-	  max_min1.cc corrected and restored.
-
-2007-03-02 Friday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.7), containsintegerpoint1.cc (1.5):
-	  Improved and restored test on Box::contains_integer_points().
-
-2007-03-02 Friday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.defs.hh (1.34): Fixed
-	  Interval::contains_integer_points() so as to correctly handle the
-	  case of unbounded intervals.
-
-2007-03-02 Friday 12:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.12): Added a fast-fail test to
-	  Box::contains_integer_point().
-
-2007-03-02 Friday 12:44  Abramo Bagnara
-
-	* src/Interval.defs.hh (1.33): Fixed typos.
-
-2007-03-02 Friday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.14),
-	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.11),
-	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.8),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.42), src/BD_Shape.defs.hh (1.96), src/BD_Shape.templates.hh
-	  (1.72), src/Box.defs.hh (1.7), src/Box.templates.hh (1.11),
-	  src/Grid.defs.hh (1.40), src/Grid.templates.hh (1.27),
-	  src/Grid_Generator.defs.hh (1.29), src/Polyhedron.defs.hh
-	  (1.314), src/Polyhedron.templates.hh (1.13),
-	  tests/Box/fromdirectproduct1.cc (1.1), tests/Box/fromgrid1.cc
-	  (1.1), tests/Box/frompolyhedron1.cc (1.5),
-	  tests/Box/frompolyhedron2.cc (1.1), tests/Box/frompolyhedron3.cc
-	  (1.1), tests/Box/frompolyhedron4.cc (1.1), tests/Grid/Makefile.am
-	  (1.47), tests/Grid/boundingbox2.cc (1.14),
-	  tests/Grid/directproduct1.cc (1.25), tests/Polyhedron/Makefile.am
-	  (1.104), tests/Polyhedron/boundingbox1.cc (1.15),
-	  tests/Polyhedron/boundingbox2.cc (1.14),
-	  tests/Polyhedron/boundingbox3.cc (1.15): Started getting rid of
-	  BD_Shape::shrink_bounding_box() and Grid::shrink_bounding_box().
-
-2007-03-02 Friday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/containsintegerpoint1.cc (1.4): Test test04() shows a
-	  bug in Interval::contains_integer_point().
-
-2007-03-02 Friday 10:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.6), affinedimension1.cc (1.5):
-	  Restored test affinedimension1.
-
-2007-03-02 Friday 10:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/Makefile.am (1.5): Disabled some tests.
-
-2007-03-02 Friday 10:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/boxdifference1.cc (1.4): Temporarily commented out
-	  test07.
-
-2007-03-02 Friday 09:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Makefile.am (1.261): Enable checks in the Box directory.
-
-2007-03-02 Friday 09:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am (1.4), affinedimension1.cc (1.4),
-	  max_min1.cc (1.1), run_tests (1.1): A first attempt at
-	  distinguishing tests that compile, fail and succeed so as to
-	  enable automatic checks. Work still in progress.
-
-2007-03-01 Thursday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.9): Test no
-	  longer fails with 8-bit checked integers and assertions disabled.
-
-2007-03-01 Thursday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Any_Pointset.defs.hh (1.10), Polyhedron_widenings.cc
-	  (1.60): Started getting rid of Polyhedron::shrink_bounding_box().
-
-2007-02-28 Wednesday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.19), TODO (1.210): Mention the fact that GCC
-	  version 3.4.x are known to miscompile at least one of the
-	  development snapshots that led to PPL 0.10.  Mention also the
-	  fact that GCC 3.3.3 segfaults on such a snapshot (CVS HEAD, at
-	  least on x86_64).
-
-2007-02-28 Wednesday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/ppl_java_tests_common (simplex.1): file
-	  ppl_java_tests_common was added on branch simplex on 2008-01-07
-	  11:15:29 +0000
-
-2007-02-28 Wednesday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.203), TODO (1.209), demos/ppl_lpsol/ppl_lpsol.c (1.68),
-	  interfaces/C/ppl_c.h.in (1.70),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.8),
-	  interfaces/C/ppl_interface_generator_c_h_preamble (1.7),
-	  interfaces/Java/jni/ppl_java_common.cc (1.30),
-	  interfaces/Java/tests/C_Polyhedron_test1.java (1.11),
-	  interfaces/Java/tests/ppl_java_tests_common (1.7),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.6),
-	  interfaces/OCaml/ppl_ocaml_globals.cc (1.9),
-	  interfaces/OCaml/ppl_ocaml_types.ml (1.9),
-	  interfaces/OCaml/test1.ml (1.29),
-	  interfaces/Prolog/ppl_prolog_common.icc (1.6),
-	  m4/ac_prog_javac.m4 (1.5), src/BD_Shape.templates.hh (1.71),
-	  src/Box.inlines.hh (1.6), src/Box.templates.hh (1.10),
-	  src/Grid_public.cc (1.51), src/Grid_simplify.cc (1.32),
-	  src/Interval.defs.hh (1.32), src/MIP_Problem.cc (1.47),
-	  src/Octagonal_Shape.templates.hh (1.49), src/Polyhedron_public.cc
-	  (1.91), src/globals.types.hh (1.11),
-	  tests/BD_Shape/affineimage1.cc (1.18),
-	  tests/BD_Shape/foldspacedims1.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.16),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.20),
-	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.14),
-	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.15),
-	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.5),
-	  tests/BD_Shape/removespacedims1.cc (1.19),
-	  tests/Box/affineimage1.cc (1.4), tests/Box/foldspacedims1.cc
-	  (1.5), tests/Box/generalizedaffineimage1.cc (1.4),
-	  tests/Box/generalizedaffinepreimage1.cc (1.4),
-	  tests/Box/removespacedims1.cc (1.5), tests/Grid/addgenerators1.cc
-	  (1.14), tests/Grid/directproduct1.cc (1.24),
-	  tests/Grid/generalizedaffineimage3.cc (1.3),
-	  tests/Grid/generalizedaffinepreimage3.cc (1.3),
-	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.9),
-	  tests/Octagonal_Shape/foldspacedims1.cc (1.3),
-	  tests/Octagonal_Shape/frompolyhedron1.cc (1.3),
-	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.3),
-	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.3),
-	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.8),
-	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.3),
-	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.3),
-	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.4),
-	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.8),
-	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.4),
-	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.3),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.9),
-	  tests/Polyhedron/exceptions1.cc (1.13),
-	  tests/Polyhedron/generalizedaffineimage1.cc (1.11),
-	  tests/Polyhedron/generalizedaffineimage2.cc (1.11),
-	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.8): All
-	  identifiers containing the strings `less_than_or_equal' or
-	  `greater_than_or_equal', any case, have been renamed so as to
-	  contain `less_or_equal' or `greater_or_equal', respectively.
-
-2007-02-28 Wednesday 15:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.inlines.hh (1.5), Box.templates.hh (1.9): Drafted
-	  implementations for provate helper functions bounds and max_min.
-	  Added inline implementations of bounds_from_above/below and
-	  maximize/minimize expliting the private helper functions.
-
-2007-02-28 Wednesday 15:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.defs.hh (1.6): Added methods bounds_from_above,
-	  bounds_from_below, maximize and minimize, with versions computing
-	  a generator; also added private helper functions.
-
-2007-02-28 Wednesday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.208), tests/Polyhedron/memory2.cc (1.13): All tests have
-	  been converted to the new standards.
-
-2007-02-28 Wednesday 11:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/affinepreimage1.cc (1.20): New test added.
-
-2007-02-28 Wednesday 10:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: Makefile.am (1.17), affinepreimage1.cc
-	  (1.4), bug1.cc (1.4): Test program bug1.cc integrated into
-	  affinepreimage1.cc.
-
-2007-02-28 Wednesday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/Makefile.am (1.61): Previous change completed.
-
-2007-02-28 Wednesday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.60), affinepreimage1.cc (1.19),
-	  affinepreimage2.cc (1.14): Test program affinepreimage2.cc merged
-	  into affinepreimage1.cc.
-
-2007-02-28 Wednesday 09:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.202), src/Congruence_System.cc (1.23),
-	  src/Congruence_System.defs.hh (1.18),
-	  src/Congruence_System.inlines.hh (1.8), src/Constraint_System.cc
-	  (1.22), src/Generator_System.cc (1.21), src/Grid.templates.hh
-	  (1.26), src/Grid_Certificate.cc (1.7),
-	  src/Grid_Generator_System.defs.hh (1.21),
-	  src/Grid_Generator_System.inlines.hh (1.13), src/Grid_chdims.cc
-	  (1.16), src/Grid_conversion.cc (1.19), src/Grid_nonpublic.cc
-	  (1.23), src/Grid_public.cc (1.50), src/Grid_simplify.cc (1.31),
-	  src/Grid_widenings.cc (1.14), src/Linear_System.cc (1.42),
-	  src/Linear_System.inlines.hh (1.21), src/Polyhedron.templates.hh
-	  (1.12), src/Polyhedron_chdims.cc (1.42),
-	  src/Polyhedron_nonpublic.cc (1.76), src/Polyhedron_public.cc
-	  (1.90), src/Polyhedron_widenings.cc (1.59), src/minimize.cc
-	  (1.46): The new methods `bool Congruence_System::empty() const'
-	  and `bool Grid_Generator_System::empty() const' return true if
-	  and only if the system in question is empty.	Method
-	  Grid_Generator_System::num_generators() renamed num_rows().  All
-	  these methods are now used consistently throughout the library.
-
-2007-02-27 Tuesday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.templates.hh (1.8), Polyhedron.templates.hh (1.11):
-	  Fixed Polyhedron::shrink_bounding_box().
-
-2007-02-27 Tuesday 19:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (1.7): Constructor taking a Polyhedron
-	  rewritten from scratch.
-
-2007-02-27 Tuesday 19:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/frompolyhedron1.cc (1.4): Adjusted the known result.
-
-2007-02-27 Tuesday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (1.5), src/Box.inlines.hh (1.4),
-	  src/Box.templates.hh (1.6), src/Interval.defs.hh (1.31),
-	  tests/Box/cc76widening.cc (1.4), tests/Box/concatenate1.cc (1.4),
-	  tests/Box/contains1.cc (1.4), tests/Box/disjoint1.cc (1.4),
-	  tests/Box/foldspacedims1.cc (1.4), tests/Box/removespacedims1.cc
-	  (1.4): Fourth merge from the `altnum' branch.
-
-2007-02-27 Tuesday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, src/BD_Shape.inlines.hh, src/BD_Shape.templates.hh,
-	  src/Box.defs.hh, src/Box.templates.hh,
-	  src/Constraint_System.defs.hh, src/Constraint_System.inlines.hh,
-	  src/Generator_System.defs.hh, src/Generator_System.inlines.hh,
-	  src/Interval.defs.hh, src/Interval_Restriction.defs.hh,
-	  src/Matrix.defs.hh, src/Matrix.inlines.hh,
-	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
-	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
-	  src/Polyhedron.templates.hh, src/globals.defs.hh,
-	  src/globals.inlines.hh
-	  (altnum.[9,7,8,25,39,4,4,5,4,94,10,8,6,5,9,12,11,5,15,7]):
-	  Eleventh merge of the main trunk to the `altnum' branch.
-
-2007-02-27 Tuesday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh (1.4), Box.templates.hh (1.5),
-	  Polyhedron.templates.hh (1.10): New constructor `explicit
-	  Box(const Polyhedron& ph, Complexity_Class complexity =
-	  ANY_COMPLEXITY)' builds a box from the polyhedron `ph' taking
-	  into account `complexity'.  This is the beginning of the end of
-	  Polyhedron::shrink_bounding_box().
-
-2007-02-27 Tuesday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.313), Polyhedron.inlines.hh (1.138):
-	  New private method `Constraint_System simplified_constraints()
-	  const' returns, if constraints are up-to-date, a simplified copy
-	  of them.  Class Polyhedron now befriends Box.
-
-2007-02-27 Tuesday 16:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.201), src/Constraint_System.defs.hh (1.35),
-	  src/Constraint_System.inlines.hh (1.9),
-	  src/Generator_System.defs.hh (1.22),
-	  src/Generator_System.inlines.hh (1.8): The new methods `bool
-	  Constraint_System::empty() const' and `bool
-	  Generator_System::empty() const' return true if and only if the
-	  constraint (resp., generator) system has no constraints (resp.,
-	  generators).
-
-2007-02-27 Tuesday 16:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.80), Matrix.inlines.hh (1.51): New method
-	  bool Matrix empty() const returns true if and only if *this has
-	  no rows.
-
-2007-02-27 Tuesday 15:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: cc76widening.cc, foldspacedims1.cc,
-	  removespacedims1.cc (altnum.[4,2,3]): Minor corrections to the
-	  known results.
-
-2007-02-27 Tuesday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.38): Corrected a bug in
-	  remove_space_dimensions().  Do not forget to handle the case of
-	  an empty Box in CC76_widening_assign().  Drafted implementation
-	  for fold_space_dimensions().
-
-2007-02-27 Tuesday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.inlines.hh (altnum.27): Drafted implementations for
-	  max_space_dimension() and expand_space_dimension().
-
-2007-02-27 Tuesday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.defs.hh (altnum.24): Added declaration for
-	  max_space_dimension().
-
-2007-02-27 Tuesday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.37): Fixed an error in
-	  CC76_widening_assign().
-
-2007-02-27 Tuesday 11:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: concatenate1.cc, cc76widening.cc (altnum.[3,3]): Let
-	  it compile.
-
-2007-02-27 Tuesday 11:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: contains1.cc, disjoint1.cc (altnum.[2,2]): Adapted to
-	  the Box domain.
-
-2007-02-27 Tuesday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.36): Corrected method contains(): it
-	  was not checking for emptyness of the first argument. Drafted
-	  implementation for is_disjoint_from().
-
-2007-02-27 Tuesday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.inlines.hh (altnum.26): Added implementation for
-	  strictly_contains().
-
-2007-02-27 Tuesday 10:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.defs.hh (altnum.23): Declared methods strictly_contains()
-	  and is_disjoint_from().  Slightly improved the documentation for
-	  method contains().
-
-2007-02-27 Tuesday 10:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.defs.hh (altnum.93): Drafted method
-	  is_disjoint_from(). To be carefully checked.
-
-2007-02-27 Tuesday 09:46  Abramo Bagnara
-
-	* src/: Interval.defs.hh (1.30), Interval_Restriction.defs.hh
-	  (1.4): Functions on restrictions need to return a state.
-
-2007-02-26 Monday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.139), BD_Shape.templates.hh (1.70),
-	  Box.templates.hh (1.4), Makefile.am (1.169),
-	  Octagonal_Shape.inlines.hh (1.14), Octagonal_Shape.templates.hh
-	  (1.48), Old_Interval.cc (1.4), Old_Interval.defs.hh (1.4),
-	  Old_Interval.inlines.hh (1.4), Old_Interval.types.hh (1.4),
-	  Polyhedron.templates.hh (1.9), globals.defs.hh (1.43),
-	  globals.inlines.hh (1.17): Got rid of Old_Interval and related
-	  classes.  Functions div_round_up(), is_additive_inverse(),
-	  is_even(), max_assign(), min_assign() and numer_denom() moved to
-	  globals.defs.hh and globals.inlines.hh.  The method
-	  Polyhedron::shrink_bounding_box() is now based on Box
-	  constructors.
-
-2007-02-26 Monday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.templates.hh (1.8): Previous change reverted.
-
-2007-02-26 Monday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.templates.hh (1.7): Started getting rid of
-	  Old_Interval.
-
-2007-02-26 Monday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Boundary.defs.hh (1.3), src/Box.cc (1.3), src/Box.defs.hh
-	  (1.3), src/Box.inlines.hh (1.3), src/Box.templates.hh (1.3),
-	  src/Box.types.hh (1.3), src/C_Integer.hh (1.3),
-	  src/Interval_Info.defs.hh (1.3), src/Interval_Info.inlines.hh
-	  (1.3), src/Interval_Info.types.hh (1.3),
-	  src/Interval_Restriction.defs.hh (1.3), src/Old_Interval.cc
-	  (1.3), src/Old_Interval.defs.hh (1.3),
-	  src/Old_Interval.inlines.hh (1.3), src/Old_Interval.types.hh
-	  (1.3), src/Rational_Box.hh (1.3), src/Temp.defs.hh (1.3),
-	  src/meta_programming.hh (1.3), src/mp_std_bits.cc (1.3),
-	  src/mp_std_bits.defs.hh (1.3), src/mp_std_bits.inlines.hh (1.3),
-	  tests/Box/Makefile.am (1.3), tests/Box/addconstraints1.cc (1.3),
-	  tests/Box/addspacedims1.cc (1.3), tests/Box/affinedimension1.cc
-	  (1.3), tests/Box/affineimage1.cc (1.3),
-	  tests/Box/affinepreimage1.cc (1.3), tests/Box/ascii_dump_load1.cc
-	  (1.3), tests/Box/bdsdifference1.cc (1.3),
-	  tests/Box/bgp99extrapolation1.cc (1.3),
-	  tests/Box/bhz03widening1.cc (1.3), tests/Box/bounded1.cc (1.3),
-	  tests/Box/boundedaffineimage1.cc (1.3),
-	  tests/Box/boxdifference1.cc (1.3), tests/Box/boxhull.cc (1.3),
-	  tests/Box/boxhull1.cc (1.3), tests/Box/cc76narrowing1.cc (1.3),
-	  tests/Box/cc76widening.cc (1.3), tests/Box/closure1.cc (1.3),
-	  tests/Box/concatenate1.cc (1.3), tests/Box/constraints1.cc (1.3),
-	  tests/Box/contains1.cc (1.3), tests/Box/containsintegerpoint1.cc
-	  (1.3), tests/Box/discrete1.cc (1.3), tests/Box/disjoint1.cc
-	  (1.3), tests/Box/empty1.cc (1.3), tests/Box/equality1.cc (1.3),
-	  tests/Box/expandspacedim1.cc (1.3), tests/Box/foldspacedims1.cc
-	  (1.3), tests/Box/fromgensys1.cc (1.3),
-	  tests/Box/frompolyhedron1.cc (1.3),
-	  tests/Box/generalizedaffineimage1.cc (1.3),
-	  tests/Box/generalizedaffinepreimage1.cc (1.3),
-	  tests/Box/geomcovers1.cc (1.3), tests/Box/intersection1.cc (1.3),
-	  tests/Box/interval1.cc (1.3), tests/Box/interval2.cc (1.3),
-	  tests/Box/mapspacedims1.cc (1.3), tests/Box/maxspacedim1.cc
-	  (1.3), tests/Box/membytes1.cc (1.3), tests/Box/minconstraints1.cc
-	  (1.3), tests/Box/relations1.cc (1.3),
-	  tests/Box/removespacedims1.cc (1.3), tests/Box/timeelapse1.cc
-	  (1.3), tests/Box/universe1.cc (1.3), tests/Box/writebox1.cc
-	  (1.3): Copyright years extended.
-
-2007-02-26 Monday 10:38  Abramo Bagnara
-
-	* src/: checked.inlines.hh (1.35), checked_ext.inlines.hh (1.35):
-	  Use different function names.
-
-2007-02-26 Monday 10:24  Abramo Bagnara
-
-	* src/: checked.inlines.hh, checked_ext.inlines.hh
-	  (altnum.[33,15]): Use different function names.
-
-2007-02-25 Sunday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/.cvsignore (simplex.1): file .cvsignore was added on
-	  branch simplex on 2008-01-07 11:15:36 +0000
-
-2007-02-25 Sunday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.265),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.7),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.41), interfaces/Prolog/ppl_prolog_common.icc (1.5),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.15),
-	  interfaces/Prolog/SWI/Makefile.am (1.68),
-	  interfaces/Prolog/tests/pl_check.pl (1.45),
-	  src/BD_Shape.templates.hh (1.69), src/Boundary.defs.hh (1.2),
-	  src/Bounding_Box.cc (1.15), src/Bounding_Box.defs.hh (1.17),
-	  src/Bounding_Box.inlines.hh (1.16), src/Bounding_Box.types.hh
-	  (1.6), src/Box.cc (1.2), src/Box.defs.hh (1.2),
-	  src/Box.inlines.hh (1.2), src/Box.templates.hh (1.2),
-	  src/Box.types.hh (1.2), src/C_Integer.hh (1.2),
-	  src/Checked_Number.defs.hh (1.85), src/Checked_Number.inlines.hh
-	  (1.70), src/DB_Matrix.inlines.hh (1.30),
-	  src/Direct_Product.templates.hh (1.21), src/Float.defs.hh (1.23),
-	  src/GMP_Integer.defs.hh (1.25), src/GMP_Integer.inlines.hh
-	  (1.19), src/GMP_Integer.types.hh (1.15), src/Grid.templates.hh
-	  (1.25), src/Init.cc (1.29), src/Interval.cc (1.15),
-	  src/Interval.defs.hh (1.29), src/Interval.inlines.hh (1.26),
-	  src/Interval.types.hh (1.13), src/Interval_Info.defs.hh (1.2),
-	  src/Interval_Info.inlines.hh (1.2), src/Interval_Info.types.hh
-	  (1.2), src/Interval_Restriction.defs.hh (1.2), src/Limits.hh
-	  (1.11), src/Makefile.am (1.168), src/OR_Matrix.inlines.hh (1.5),
-	  src/Octagonal_Shape.templates.hh (1.47), src/Old_Interval.cc
-	  (1.2), src/Old_Interval.defs.hh (1.2),
-	  src/Old_Interval.inlines.hh (1.2), src/Old_Interval.types.hh
-	  (1.2), src/Polyhedron.inlines.hh (1.137),
-	  src/Polyhedron.templates.hh (1.6), src/Polyhedron_public.cc
-	  (1.89), src/Polyhedron_widenings.cc (1.58), src/Rational_Box.hh
-	  (1.2), src/Result.defs.hh (1.18), src/Rounding_Dir.defs.hh
-	  (1.12), src/Rounding_Dir.inlines.hh (1.6), src/Temp.defs.hh
-	  (1.2), src/checked.defs.hh (1.39), src/checked.inlines.hh (1.34),
-	  src/checked_ext.inlines.hh (1.34), src/checked_float.inlines.hh
-	  (1.72), src/checked_int.inlines.hh (1.57),
-	  src/checked_mpq.inlines.hh (1.36), src/checked_mpz.inlines.hh
-	  (1.41), src/checked_numeric_limits.hh (1.18), src/compiler.hh
-	  (1.9), src/fpu-c99.inlines.hh (1.13), src/fpu-ia32.inlines.hh
-	  (1.16), src/fpu-none.inlines.hh (1.6), src/fpu-sparc.inlines.hh
-	  (1.7), src/fpu.types.hh (1.4), src/globals.defs.hh (1.42),
-	  src/globals.types.hh (1.10), src/meta_programming.hh (1.2),
-	  src/mp_numeric_limits.cc (1.3), src/mp_numeric_limits.hh (1.11),
-	  src/mp_std_bits.cc (1.2), src/mp_std_bits.defs.hh (1.2),
-	  src/mp_std_bits.inlines.hh (1.2), tests/ppl_test.cc (1.8),
-	  tests/ppl_test.hh (1.54), tests/print.hh (1.40),
-	  tests/valgrind_suppressions (1.5), tests/BD_Shape/Makefile.am
-	  (1.59), tests/Box/.cvsignore (1.2), tests/Box/Makefile.am (1.2),
-	  tests/Box/addconstraints1.cc (1.2), tests/Box/addspacedims1.cc
-	  (1.2), tests/Box/affinedimension1.cc (1.2),
-	  tests/Box/affineimage1.cc (1.2), tests/Box/affinepreimage1.cc
-	  (1.2), tests/Box/ascii_dump_load1.cc (1.2),
-	  tests/Box/bdsdifference1.cc (1.2),
-	  tests/Box/bgp99extrapolation1.cc (1.2),
-	  tests/Box/bhz03widening1.cc (1.2), tests/Box/bounded1.cc (1.2),
-	  tests/Box/boundedaffineimage1.cc (1.2),
-	  tests/Box/boxdifference1.cc (1.2), tests/Box/boxhull.cc (1.2),
-	  tests/Box/boxhull1.cc (1.2), tests/Box/cc76narrowing1.cc (1.2),
-	  tests/Box/cc76widening.cc (1.2), tests/Box/closure1.cc (1.2),
-	  tests/Box/concatenate1.cc (1.2), tests/Box/constraints1.cc (1.2),
-	  tests/Box/contains1.cc (1.2), tests/Box/containsintegerpoint1.cc
-	  (1.2), tests/Box/discrete1.cc (1.2), tests/Box/disjoint1.cc
-	  (1.2), tests/Box/empty1.cc (1.2), tests/Box/equality1.cc (1.2),
-	  tests/Box/expandspacedim1.cc (1.2), tests/Box/foldspacedims1.cc
-	  (1.2), tests/Box/fromgensys1.cc (1.2),
-	  tests/Box/frompolyhedron1.cc (1.2),
-	  tests/Box/generalizedaffineimage1.cc (1.2),
-	  tests/Box/generalizedaffinepreimage1.cc (1.2),
-	  tests/Box/geomcovers1.cc (1.2), tests/Box/intersection1.cc (1.2),
-	  tests/Box/interval1.cc (1.2), tests/Box/interval2.cc (1.2),
-	  tests/Box/mapspacedims1.cc (1.2), tests/Box/maxspacedim1.cc
-	  (1.2), tests/Box/membytes1.cc (1.2), tests/Box/minconstraints1.cc
-	  (1.2), tests/Box/relations1.cc (1.2),
-	  tests/Box/removespacedims1.cc (1.2), tests/Box/timeelapse1.cc
-	  (1.2), tests/Box/universe1.cc (1.2), tests/Box/writebox1.cc
-	  (1.2), tests/Grid/boundingbox1.cc (1.15),
-	  tests/Grid/boundingbox2.cc (1.13), tests/Grid/coveringbox1.cc
-	  (1.14), tests/Grid/coveringbox2.cc (1.12),
-	  tests/Grid/directproduct1.cc (1.23),
-	  tests/Octagonal_Shape/Makefile.am (1.16),
-	  tests/Polyhedron/boundingbox1.cc (1.14),
-	  tests/Polyhedron/boundingbox2.cc (1.13),
-	  tests/Polyhedron/boundingbox3.cc (1.14),
-	  tests/Polyhedron/numberinput1.cc (1.30): Third merge from the
-	  `altnum' branch.
-
-2007-02-25 Sunday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, README, README.configure, TODO, configure.ac,
-	  instchk.hh, Watchdog/Makefile.am, Watchdog/README,
-	  Watchdog/configure.ac, Watchdog/doc/.cvsignore,
-	  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/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.cc,
-	  Watchdog/src/Pending_Element.defs.hh,
-	  Watchdog/src/Pending_Element.inlines.hh,
-	  Watchdog/src/Pending_Element.types.hh,
-	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
-	  Watchdog/src/Pending_List.inlines.hh,
-	  Watchdog/src/Pending_List.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/utils/Makefile.am, Watchdog/utils/build_header.in,
-	  debian/Makefile.am, debian/libppl-pwl.copyright.in,
-	  debian/libppl.copyright.in, demos/Makefile.am,
-	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
-	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
-	  doc/README.doc, doc/definitions.dox, doc/devref.tex,
-	  doc/ppl-config.1, doc/ppl-config_extra_man_text, doc/ppl.sty,
-	  doc/ppl_lcdd.1, doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
-	  doc/ppl_lpsol_extra_man_text, doc/user.tex,
-	  interfaces/Makefile.am,
-	  interfaces/ppl_interface_generator_common.m4,
-	  interfaces/ppl_interface_generator_common_dat.m4,
-	  interfaces/ppl_interface_generator_copyright,
-	  interfaces/C/Makefile.am, interfaces/C/ppl_c.h.in,
-	  interfaces/C/ppl_c_version.h.in,
-	  interfaces/C/ppl_interface_generator_c_cc.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_preamble,
-	  interfaces/C/ppl_interface_generator_c_dat.m4,
-	  interfaces/C/ppl_interface_generator_c_h.m4,
-	  interfaces/C/ppl_interface_generator_c_h_code.m4,
-	  interfaces/C/ppl_interface_generator_c_h_preamble,
-	  interfaces/Java/Makefile.am,
-	  interfaces/Java/ppl_interface_generator_java_dat.m4,
-	  interfaces/Java/jni/Makefile.am,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
-	  interfaces/Java/jni/ppl_java_C_Polyhedron.cc,
-	  interfaces/Java/jni/ppl_java_Polyhedron.cc,
-	  interfaces/Java/jni/ppl_java_common.cc,
-	  interfaces/Java/jni/ppl_java_common.hh,
-	  interfaces/Java/jni/ppl_java_globals.cc,
-	  interfaces/Java/tests/C_Polyhedron_test1.java,
-	  interfaces/Java/tests/Makefile.am,
-	  interfaces/Java/tests/Test_Partial_Function.java,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
-	  interfaces/Java/tests/ppl_java_tests_common,
-	  interfaces/OCaml/Makefile.am,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4,
-	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.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_ocaml.cc, interfaces/OCaml/ppl_ocaml.mli,
-	  interfaces/OCaml/ppl_ocaml_globals.cc,
-	  interfaces/OCaml/ppl_ocaml_globals.ml,
-	  interfaces/OCaml/ppl_ocaml_types.ml, interfaces/OCaml/test1.ml,
-	  interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
-	  interfaces/Prolog/ppl_prolog_common.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  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_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/GNU/gp_clpq.pl,
-	  interfaces/Prolog/GNU/gprolog_cfli.hh,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	  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/sp_clpq.pl,
-	  interfaces/Prolog/SICStus/sp_pl_check.pl,
-	  interfaces/Prolog/SICStus/sp_predicate_check.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_swiprolog.pl,
-	  interfaces/Prolog/SWI/swi_cfli.hh,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/SWI/swi_predicate_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected_clpq2_int16,
-	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int32,
-	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int64,
-	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int8,
-	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
-	  interfaces/Prolog/XSB/expected_clpq_int16,
-	  interfaces/Prolog/XSB/expected_clpq_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq_int32,
-	  interfaces/Prolog/XSB/expected_clpq_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq_int64,
-	  interfaces/Prolog/XSB/expected_clpq_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq_int8,
-	  interfaces/Prolog/XSB/expected_clpq_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq_mpz,
-	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
-	  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_predicate_check_P.m4,
-	  interfaces/Prolog/XSB/xsb_cfli.hh,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  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_yap.pl,
-	  interfaces/Prolog/YAP/yap_cfli.hh,
-	  interfaces/Prolog/YAP/yap_clpq.pl,
-	  interfaces/Prolog/YAP/yap_clpq2.pl,
-	  interfaces/Prolog/YAP/yap_pl_check.pl,
-	  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/pl_grid_check.pl,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
-	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
-	  m4/Makefile.am, 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_cxx_attribute_weak.m4,
-	  m4/ac_cxx_double_binary_format.m4, m4/ac_cxx_flexible_arrays.m4,
-	  m4/ac_cxx_float_binary_format.m4,
-	  m4/ac_cxx_long_double_binary_format.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, 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/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.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/Direct_Product.defs.hh, src/Direct_Product.inlines.hh,
-	  src/Direct_Product.templates.hh, src/Direct_Product.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/Init.cc, src/Init.defs.hh,
-	  src/Init.types.hh, src/Interval.defs.hh, src/Interval.inlines.hh,
-	  src/Interval.types.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.cc, src/Matrix.defs.hh,
-	  src/Matrix.inlines.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/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/Result.defs.hh, src/Result.inlines.hh,
-	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
-	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.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/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/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
-	  src/algorithms.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.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/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
-	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
-	  src/minimize.cc, src/namespaces.hh, src/ppl-config.cc.in,
-	  src/ppl_header.hh, src/simplify.cc, src/swapping_sort.icc,
-	  src/version.cc, src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
-	  tests/FCAIBVP.cc, tests/FCAIBVP.defs.hh,
-	  tests/FCAIBVP.inlines.hh, tests/FCAIBVP.types.hh,
-	  tests/Makefile.am, tests/Partial_Function.cc,
-	  tests/Partial_Function.defs.hh,
-	  tests/Partial_Function.inlines.hh,
-	  tests/Partial_Function.types.hh,
-	  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,
-	  tests/print.cc, tests/print.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/affinepreimage2.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.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/constraints1.cc,
-	  tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/containsintegerpoint1.cc,
-	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
-	  tests/BD_Shape/empty1.cc, tests/BD_Shape/equality1.cc,
-	  tests/BD_Shape/expandspacedim1.cc,
-	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/frompolyhedron1.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/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/removespacedims1.cc,
-	  tests/BD_Shape/run_tests, tests/BD_Shape/timeelapse1.cc,
-	  tests/BD_Shape/universe1.cc, tests/BD_Shape/writebdshape1.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/asciidumpload7.cc, tests/Grid/bhz03widening1.cc,
-	  tests/Grid/bounded1.cc, tests/Grid/boundedaffineimage1.cc,
-	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
-	  tests/Grid/boundingbox2.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/contains1.cc,
-	  tests/Grid/containsintegerpoint1.cc,
-	  tests/Grid/copyconstruct1.cc, tests/Grid/coveringbox1.cc,
-	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
-	  tests/Grid/directproduct2.cc, tests/Grid/discrete1.cc,
-	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
-	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.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/join1.cc, tests/Grid/join2.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/relations1.cc, tests/Grid/relations2.cc,
-	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
-	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
-	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
-	  tests/Grid/widening3.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/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/bug1.cc,
-	  tests/Octagonal_Shape/cc76extrapolation1.cc,
-	  tests/Octagonal_Shape/cc76narrowing1.cc,
-	  tests/Octagonal_Shape/chinainit.cc,
-	  tests/Octagonal_Shape/concatenate1.cc,
-	  tests/Octagonal_Shape/constraints1.cc,
-	  tests/Octagonal_Shape/contains1.cc,
-	  tests/Octagonal_Shape/containsintegerpoint1.cc,
-	  tests/Octagonal_Shape/discrete1.cc,
-	  tests/Octagonal_Shape/disjoint1.cc,
-	  tests/Octagonal_Shape/empty1.cc,
-	  tests/Octagonal_Shape/expandspacedim1.cc,
-	  tests/Octagonal_Shape/foldspacedims1.cc,
-	  tests/Octagonal_Shape/fromgensys1.cc,
-	  tests/Octagonal_Shape/frompolyhedron1.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/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/octdifference1.cc,
-	  tests/Octagonal_Shape/octhull1.cc,
-	  tests/Octagonal_Shape/relatwithcons1.cc,
-	  tests/Octagonal_Shape/relatwithcons2.cc,
-	  tests/Octagonal_Shape/relatwithgen1.cc,
-	  tests/Octagonal_Shape/removespacedims1.cc,
-	  tests/Octagonal_Shape/run_tests,
-	  tests/Octagonal_Shape/timeelapse1.cc,
-	  tests/Octagonal_Shape/universe1.cc,
-	  tests/Octagonal_Shape/writeoctagon1.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/README,
-	  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/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/boundingbox1.cc,
-	  tests/Polyhedron/boundingbox2.cc,
-	  tests/Polyhedron/boundingbox3.cc, tests/Polyhedron/bounds1.cc,
-	  tests/Polyhedron/cnncconversion1.cc,
-	  tests/Polyhedron/concatenate1.cc,
-	  tests/Polyhedron/congruences1.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/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/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/linearpartition1.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/linexpression1.cc,
-	  tests/Polyhedron/mapspacedims1.cc, tests/Polyhedron/matrix1.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/pointsetpowerset1.cc,
-	  tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/randphull1.cc,
-	  tests/Polyhedron/randphull2.cc, tests/Polyhedron/relations1.cc,
-	  tests/Polyhedron/relations2.cc, tests/Polyhedron/relations3.cc,
-	  tests/Polyhedron/removespacedims1.cc,
-	  tests/Polyhedron/removespacedims2.cc, tests/Polyhedron/smm1.cc,
-	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
-	  tests/Polyhedron/topclosed1.cc, tests/Polyhedron/topclosure1.cc,
-	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
-	  tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.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, utils/Makefile.am,
-	  utils/build_header.in, utils/cm_cleaner.sh, utils/cm_splitter.sh,
-	  utils/text2cxxarray.in, utils/timings.cc, utils/timings.hh
-	  (altnum.[6,5,5,10,28,4,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,3,3,3,4,8,13,4,7,8,4,6,3,10,5,3,3,5,3,3,3,3,5,5,4,4,3,4,7,3,3,4,5,4,3,4,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,4,4,2,2,2,4,4,9,4,4,4,8,3,5,4,8,3,4,5,5,8,3,3,7,3,2,3,6,3,8,4,2,2,2,4,4,3,3,9,2,3,3,2,2,3,3,3,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,5,7,3,2,3,3,3,3,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,3,4,4,3,4,3,3,3,3,3,2,3,2,3,3, [...]
-	  Tenth merge of the main trunk to the `altnum' branch.
-
-2007-02-25 Sunday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (altnum.27): Two corrections to the code
-	  implementing the `--enable-fpmath' option.
-
-2007-02-25 Sunday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, src/fpu-ia32.inlines.hh (altnum.[26,8]): The
-	  `--enable-fpmath' configure option now causes the possible
-	  definition of macros PPL_FPMATH_MAY_USE_387 and
-	  PPL_FPMATH_MAY_USE_SSE.
-
-2007-02-24 Saturday 20:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (altnum.25): New option `--enable-fpmath' allows to
-	  select specific floating point arithmetics.  Possible values are
-	  sse, sse2, 387, sse+387, sse2+387, default or no (equivalent to
-	  --disable-fpmath).
-
-2007-02-24 Saturday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (altnum.8): No longer use the
-	  comma as the separator for plld's -ld-options (since commas can
-	  occur in the arguments, e.g., in -mfpmath=sse,387): use the slash
-	  instead.
-
-2007-02-23 Friday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.11): The user manual (in various
-	  formats) is now in the `docs' package.
-
-2007-02-23 Friday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.207): New entry added.
-
-2007-02-22 Thursday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (altnum.24): Drafted new configure options
-	  --enable-sse and --enable-sse2.
-
-2007-02-22 Thursday 12:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.10): Percent signs quoted in the
-	  change log.
-
-2007-02-22 Thursday 11:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.9): Version bumped.
-
-2007-02-22 Thursday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.8): Dependencies for YAP fixed.  Make
-	  sure the header files of GNU Prolog and YAP are found.
-
-2007-02-22 Thursday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.7): Added missing dependencies.
-
-2007-02-19 Monday 17:23  Abramo Bagnara
-
-	* src/: fpu-c99.inlines.hh, fpu-ia32.inlines.hh,
-	  fpu-none.inlines.hh, fpu-sparc.inlines.hh (altnum.[4,7,3,4]): Add
-	  support for SSE. Removed unused function.
-
-2007-02-18 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/: 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 13:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.6): %doc tags corrected for the
-	  Prolog interfaces.  Tabs used consistently instead of spaces.
-
-2007-02-18 Sunday 12:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl-0.9-docfiles.patch (ppl-0_9-branch.2): Revised.
-
-2007-02-18 Sunday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/README.doc (ppl-0_9-branch.1): Explains where to find
-	  the documentation.
-
-2007-02-18 Sunday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/README.gprolog, SWI/README.swiprolog,
-	  YAP/README.yap (ppl-0_9-branch.[2,2,2]): Revised for clarity.
-
-2007-02-17 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl-0.9-docfiles.patch, ppl.spec.in,
-	  interfaces/Prolog/GNU/README.gprolog,
-	  interfaces/Prolog/SWI/README.swiprolog,
-	  interfaces/Prolog/YAP/README.yap (ppl-0_9-branch.[1,5,1,1,1]):
-	  Make `swiprolog-devel' depend on `pl' (at leat 5.6);
-	  documentation added.	The `yap' package has been renamed
-	  `yap-devel' and completed.  The `gprolog' package has been
-	  renamed `gprolog-devel' and completed.  The `ppl_lcdd' and
-	  `ppl_lpsol' programs are now in a new `utils' package.  The
-	  `ppl-config' program is now in the `devel' package.  Modified the
-	  configuration command so that the `glpk-devel' include files are
-	  found.
-
-2007-02-13 Tuesday 14:48  quartieri
-
-	* src/Octagonal_Shape_incremental_strong_closure10.hh (octagons.4):
-	  Corrected some errors.
-
-2007-02-11 Sunday 21:09  Andrea Cimino
-
-	* DarwinPorts_Portfile (ppl-0_9-branch.3): Variant sections
-	  removed.
-
-2007-02-11 Sunday 14:26  Andrea Cimino
-
-	* DarwinPorts_Portfile (ppl-0_9-branch.2): Don't require the
-	  development snapshots of the Prolog systems, use the stable
-	  versions instead.
-
-2007-02-10 Saturday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.4): Summaries improved.  Started
-	  splitting packages into "run-time" and "devel" packages.
-
-2007-02-10 Saturday 20:57  Andrea Cimino
-
-	* DarwinPorts_Portfile (ppl-0_9-branch.1): Initial revision of a
-	  DarwinPort's Portfile.
-
-2007-02-10 Saturday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.3): Do configure with the
-	  --disable-rpath option so as to avoid hardcoding the path to
-	  search libraries.  Do not include libtool archive files.
-	  Packages reorganized: we now have `ppl' and `ppl-devel';  `ppl-c'
-	  has gone.
-
-2007-02-10 Saturday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.2): Added the `%%changelog' section.
-	  `Release' set to 2.  `Packager' and `Vendor' tags removed.
-	  `Summary' fields are no longer ended with a dot.  The value of
-	  the `License' tag is now `GPL'.  Removed unused definition of
-	  `builddir'.  The `Name', `Version' and `Release' tags are now
-	  directly defined.  Commented out the efinitions of the `Require'
-	  and `Prefix' tags.  Set the `BuildRequires' tag to `gmp-devel'.
-	  Exploit the features of `%%setup', `%%configure', `%%install',
-	  `%%post' and `%%postun'.  Mixed use of spaces and tabs avoided.
-
-2007-02-10 Saturday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_9-branch.1): Added the `%changelog' section.
-
-2007-02-09 Friday 14:56  Abramo Bagnara
-
-	* src/fpu-ia32.inlines.hh (altnum.6): First attempt to support SSE
-	  floating point rounding.
-
-2007-02-08 Thursday 19:20  Andrea Cimino
-
-	* interfaces/Java/: jni/Makefile.am (1.11),
-	  tests/C_Polyhedron_test1.java (1.10),
-	  tests/ppl_interface_generator_java_test_java.m4 (1.8): In Darwin
-	  force libtool to generate a .jnilib instead of a .dylib if we
-	  have to deal with a JNI library.
-
-2007-02-08 Thursday 18:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.264): On Fedora Core systems we can now find the
-	  JDK even if the --with-java option is not specified.
-
-2007-02-08 Thursday 17:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.263), m4/Makefile.am (1.24): Improved the
-	  detection of Darwin.
-
-2007-02-08 Thursday 17:03  Andrea Cimino
-
-	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.9),
-	  ppl_interface_generator_java_test_java.m4 (1.7): Load the right
-	  interface library appropriately.
-
-2007-02-08 Thursday 16:15  Andrea Cimino
-
-	* configure.ac (1.262): Try to detect if we are building the PPL on
-	  a MacOSX: if so, set the the default JDK path to
-	  /Library/Java/Home.
-
-2007-02-08 Thursday 15:27  Andrea Cimino
-
-	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.8),
-	  Makefile.am (1.12), ppl_interface_generator_java_test_java.m4
-	  (1.6): Made some changes to correctly load the Java PPL bindings
-	  if the running OS is Darwin.
-
-2007-02-07 Wednesday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu.defs.hh (1.13): Prefer standard C99 floating point
-	  rounding and exception handling on all systems that support it.
-
-2007-02-06 Tuesday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bug1.cc (1.3): Further reduced.
-
-2007-02-06 Tuesday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bug1.cc (altnum.1): file bug1.cc was added
-	  on branch altnum on 2007-02-25 18:27:11 +0000
-
-2007-02-06 Tuesday 15:38  Andrea Cimino
-
-	* tests/Octagonal_Shape/bug1.cc (1.2): Removed some constraints
-	  from the test case to simplify the debugging process.
-
-2007-02-06 Tuesday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: Makefile.am (1.15), bug1.cc (1.1): Small
-	  program showing a (compiler?) bug that manifests itself on
-	  iMac's.
-
-2007-02-03 Saturday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_remainder_bug.m4 (altnum.1): file
-	  ac_cxx_remainder_bug.m4 was added on branch altnum on 2007-02-25
-	  18:27:02 +0000
-
-2007-02-03 Saturday 11:57  Andrea Cimino
-
-	* configure.ac (1.261), m4/Makefile.am (1.23),
-	  m4/ac_cxx_remainder_bug.m4 (1.1): Definition of an M4 macro that
-	  checks if INT_MIN / -1 is correctly compiled by the C++ compiler.
-
-2007-02-02 Friday 11:06  quartieri
-
-	* src/: Octagonal_Shape_incremental_strong_closure1.hh,
-	  Octagonal_Shape_incremental_strong_closure10.hh,
-	  Octagonal_Shape_incremental_strong_closure2.hh,
-	  Octagonal_Shape_incremental_strong_closure3.hh,
-	  Octagonal_Shape_incremental_strong_closure4.hh,
-	  Octagonal_Shape_incremental_strong_closure5.hh,
-	  Octagonal_Shape_incremental_strong_closure6.hh,
-	  Octagonal_Shape_incremental_strong_closure7.hh,
-	  Octagonal_Shape_incremental_strong_closure8.hh,
-	  Octagonal_Shape_incremental_strong_closure9.hh
-	  (octagons.[3,3,3,3,3,3,3,3,3,3]): Removed some useless operation
-	  counters.
-
-2007-01-31 Wednesday 13:48  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.54): Removed
-	  'plus_infinity' test from strong_coherence_assign().
-
-2007-01-24 Wednesday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.46): Code for debugging improved.
-
-2007-01-19 Friday 12:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.206): Removed item: - Add tests for
-	  ppl_Polyhedron_contains_integer_point/1 in pl_check.pl.
-
-2007-01-19 Friday 12:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.29),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.33),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.40),
-	  Prolog/tests/pl_check.pl (1.44),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.49): Added a test to pl_check.pl for
-	  ppl_Polyhedron_contains_integer_point/2
-
-	  Also added m4 code to generate interface predicates such as
-	  ppl_Pointset_Powerset_C_Polyhedron_linear_partition/4 and
-	  ppl_Pointset_Powerset_Grid_approximate_partition/4
-
-	  Added m4 code for generating tests for these.
-
-2007-01-15 Monday 13:01  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_mli.m4 (1.5),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.6),
-	  ppl_ocaml_types.ml (1.8): Removed some commented and non used
-	  declarations.
-
-2007-01-15 Monday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (altnum.1):
-	  file ppl_interface_generator_ocaml_mli.m4 was added on branch
-	  altnum on 2007-02-25 18:26:59 +0000
-
-2007-01-15 Monday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
-	  (altnum.1): file ppl_interface_generator_ocaml_mli_code.m4 was
-	  added on branch altnum on 2007-02-25 18:26:59 +0000
-
-2007-01-15 Monday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_types.ml (altnum.1): file
-	  ppl_ocaml_types.ml was added on branch altnum on 2007-02-25
-	  18:26:59 +0000
-
-2007-01-13 Saturday 20:17  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.12), ppl_interface_generator_ocaml_ml_code.m4 (1.12),
-	  ppl_interface_generator_ocaml_mli.m4 (1.4),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.5),
-	  ppl_ocaml_globals.cc (1.8), ppl_ocaml_types.ml (1.7), test1.ml
-	  (1.28): Corrected the constructors `from space_dimension' that
-	  until now  allowed to build types just from UNIVERSE. Created the
-	  type `degenerate_element' for that purposes.
-
-2007-01-13 Saturday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
-	  (altnum.1): file ppl_interface_generator_ocaml_cc_code.m4 was
-	  added on branch altnum on 2007-02-25 18:26:58 +0000
-
-2007-01-13 Saturday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
-	  (altnum.1): file ppl_interface_generator_ocaml_ml_code.m4 was
-	  added on branch altnum on 2007-02-25 18:26:59 +0000
-
-2007-01-13 Saturday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_globals.cc (altnum.1): file
-	  ppl_ocaml_globals.cc was added on branch altnum on 2007-02-25
-	  18:26:59 +0000
-
-2007-01-11 Thursday 16:00  quartieri
-
-	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/BD_Shape.templates.hh, src/Octagonal_Shape.templates.hh,
-	  src/Octagonal_Shape_incremental_strong_closure1.hh,
-	  src/Octagonal_Shape_incremental_strong_closure10.hh,
-	  src/Octagonal_Shape_incremental_strong_closure2.hh,
-	  src/Octagonal_Shape_incremental_strong_closure3.hh,
-	  src/Octagonal_Shape_incremental_strong_closure4.hh,
-	  src/Octagonal_Shape_incremental_strong_closure5.hh,
-	  src/Octagonal_Shape_incremental_strong_closure6.hh,
-	  src/Octagonal_Shape_incremental_strong_closure7.hh,
-	  src/Octagonal_Shape_incremental_strong_closure8.hh,
-	  src/Octagonal_Shape_incremental_strong_closure9.hh,
-	  src/Octagonal_Shape_strong_closure2.hh, src/script_flags.hh,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/incremental1.cc,
-	  tests/Octagonal_Shape/Makefile.am,
-	  tests/Octagonal_Shape/incremental1.cc
-	  (octagons.[3,3,3,53,2,2,2,2,2,2,2,2,2,2,2,1,3,1,3,1]): Changed
-	  some files to improve the tests on closure and incremental
-	  closure.
-
-2007-01-08 Monday 15:31  Andrea Cimino
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.24),
-	  ppl_java_common.cc (1.29), ppl_java_common.hh (1.26): Written
-	  support for Pointset_Powerset iterators.
-
-2007-01-07 Sunday 13:20  Andrea Cimino
-
-	* configure.ac (1.260),
-	  interfaces/Java/ppl_interface_generator_java_dat.m4 (1.6):
-	  Written the Java code to handle Powereset_Iterators.	Still the
-	  C++ code that really intefaces with the PPL must be written.
-	  Modified the Makefile.am to delete all the generated files if the
-	  target `clean' is requested.
-
-2007-01-04 Thursday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (altnum.1):
-	  file ppl_interface_generator_ocaml_cc.m4 was added on branch
-	  altnum on 2007-02-25 18:26:58 +0000
-
-2007-01-04 Thursday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4 (altnum.1):
-	  file ppl_interface_generator_ocaml_dat.m4 was added on branch
-	  altnum on 2007-02-25 18:26:59 +0000
-
-2007-01-04 Thursday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (altnum.1):
-	  file ppl_interface_generator_ocaml_ml.m4 was added on branch
-	  altnum on 2007-02-25 18:26:59 +0000
-
-2007-01-04 Thursday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.28),
-	  C/ppl_interface_generator_c_cc.m4 (1.7),
-	  C/ppl_interface_generator_c_h.m4 (1.11),
-	  Java/ppl_interface_generator_java_dat.m4 (1.5),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.8), Java/tests/ppl_interface_generator_java_test_java.m4
-	  (1.5), OCaml/ppl_interface_generator_ocaml_cc.m4 (1.3),
-	  OCaml/ppl_interface_generator_ocaml_dat.m4 (1.5),
-	  OCaml/ppl_interface_generator_ocaml_ml.m4 (1.8),
-	  OCaml/ppl_interface_generator_ocaml_mli.m4 (1.3),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.32),
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.10),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.39),
-	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.5),
-	  Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (1.4), Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 (1.5),
-	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.7),
-	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.8),
-	  Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.6),
-	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.7),
-	  Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (1.4), Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.6),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.48),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.26): Copyright notices fixed.
-
-2007-01-01 Monday 01:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/hybrid.cc (altnum.1): file hybrid.cc was added
-	  on branch altnum on 2007-02-25 18:27:12 +0000
-
-2007-01-01 Monday 01:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml_globals.ml (altnum.1): file
-	  ppl_ocaml_globals.ml was added on branch altnum on 2007-02-25
-	  18:26:59 +0000
-
-2007-01-01 Monday 01:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.38), README (1.50), README.configure (1.18),
-	  configure.ac (1.259), instchk.hh (1.8), Watchdog/Makefile.am
-	  (1.26), Watchdog/README (1.15), Watchdog/configure.ac (1.34),
-	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.3),
-	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.3),
-	  Watchdog/src/Doubly_Linked_Object.types.hh (1.3),
-	  Watchdog/src/EList.defs.hh (1.5), Watchdog/src/EList.inlines.hh
-	  (1.3), Watchdog/src/EList.types.hh (1.3),
-	  Watchdog/src/EList_Iterator.defs.hh (1.3),
-	  Watchdog/src/EList_Iterator.inlines.hh (1.3),
-	  Watchdog/src/EList_Iterator.types.hh (1.3),
-	  Watchdog/src/Handler.defs.hh (1.4),
-	  Watchdog/src/Handler.inlines.hh (1.3),
-	  Watchdog/src/Handler.types.hh (1.3), Watchdog/src/Makefile.am
-	  (1.9), Watchdog/src/Pending_Element.cc (1.3),
-	  Watchdog/src/Pending_Element.defs.hh (1.4),
-	  Watchdog/src/Pending_Element.inlines.hh (1.3),
-	  Watchdog/src/Pending_Element.types.hh (1.3),
-	  Watchdog/src/Pending_List.cc (1.3),
-	  Watchdog/src/Pending_List.defs.hh (1.4),
-	  Watchdog/src/Pending_List.inlines.hh (1.3),
-	  Watchdog/src/Pending_List.types.hh (1.3), Watchdog/src/Time.cc
-	  (1.3), Watchdog/src/Time.defs.hh (1.4),
-	  Watchdog/src/Time.inlines.hh (1.3), Watchdog/src/Time.types.hh
-	  (1.3), Watchdog/src/Watchdog.cc (1.5),
-	  Watchdog/src/Watchdog.defs.hh (1.4),
-	  Watchdog/src/Watchdog.inlines.hh (1.3),
-	  Watchdog/src/Watchdog.types.hh (1.3), Watchdog/src/pwl_header.hh
-	  (1.3), Watchdog/utils/Makefile.am (1.7),
-	  Watchdog/utils/build_header.in (1.4), debian/Makefile.am (1.3),
-	  debian/libppl-pwl.copyright.in (1.4), debian/libppl.copyright.in
-	  (1.4), demos/Makefile.am (1.10), demos/ppl_lcdd/Makefile.am
-	  (1.27), demos/ppl_lcdd/ppl_lcdd.cc (1.58),
-	  demos/ppl_lcdd/examples/Makefile.am (1.8),
-	  demos/ppl_lpsol/Makefile.am (1.38), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.67), demos/ppl_lpsol/examples/Makefile.am (1.8),
-	  doc/Makefile.am (1.50), doc/README.doc (1.11),
-	  doc/definitions.dox (1.200), doc/devref.tex (1.21),
-	  doc/ppl-config.1 (1.5), doc/ppl-config_extra_man_text (1.2),
-	  doc/ppl.sty (1.26), doc/ppl_lcdd.1 (1.3),
-	  doc/ppl_lcdd_extra_man_text (1.2), doc/ppl_lpsol.1 (1.3),
-	  doc/ppl_lpsol_extra_man_text (1.2), doc/user.tex (1.22),
-	  interfaces/Makefile.am (1.25),
-	  interfaces/ppl_interface_generator_common.m4 (1.17),
-	  interfaces/ppl_interface_generator_common_dat.m4 (1.27),
-	  interfaces/ppl_interface_generator_copyright (1.3),
-	  interfaces/C/Makefile.am (1.31), interfaces/C/ppl_c.h.in (1.69),
-	  interfaces/C/ppl_c_version.h.in (1.4),
-	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.6),
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.13),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.6),
-	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.10),
-	  interfaces/C/ppl_interface_generator_c_h.m4 (1.10),
-	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.7),
-	  interfaces/C/ppl_interface_generator_c_h_preamble (1.6),
-	  interfaces/Java/Makefile.am (1.10),
-	  interfaces/Java/ppl_interface_generator_java_dat.m4 (1.4),
-	  interfaces/Java/jni/Makefile.am (1.10),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.7),
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.23), interfaces/Java/jni/ppl_java_common.cc (1.28),
-	  interfaces/Java/jni/ppl_java_common.hh (1.25),
-	  interfaces/Java/jni/ppl_java_globals.cc (1.5),
-	  interfaces/Java/tests/C_Polyhedron_test1.java (1.7),
-	  interfaces/Java/tests/Makefile.am (1.11),
-	  interfaces/Java/tests/Test_Partial_Function.java (1.2),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
-	  (1.4),
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.12), interfaces/OCaml/Makefile.am (1.25),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc.m4 (1.2),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.11),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_dat.m4 (1.4),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.7),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 (1.11),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4 (1.2),
-	  interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 (1.4),
-	  interfaces/OCaml/ppl_ocaml_globals.cc (1.7),
-	  interfaces/OCaml/ppl_ocaml_globals.ml (1.6),
-	  interfaces/OCaml/ppl_ocaml_types.ml (1.6),
-	  interfaces/OCaml/test1.ml (1.27), interfaces/Prolog/Makefile.am
-	  (1.38), interfaces/Prolog/Prolog_interface.dox (1.158),
-	  interfaces/Prolog/exceptions.hh (1.24),
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.31),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.9),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.38),
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (1.9), interfaces/Prolog/ppl_prolog_common.icc (1.4),
-	  interfaces/Prolog/track_allocation.hh (1.21),
-	  interfaces/Prolog/Ciao/Makefile.am (1.62),
-	  interfaces/Prolog/Ciao/ciao_cfli.hh (1.2),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.18),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.14),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.25),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.49),
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.4),
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (1.3), interfaces/Prolog/GNU/Makefile.am (1.61),
-	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.10),
-	  interfaces/Prolog/GNU/gp_clpq.pl (1.11),
-	  interfaces/Prolog/GNU/gprolog_cfli.hh (1.2),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.42),
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
-	  (1.4), interfaces/Prolog/SICStus/Makefile.am (1.73),
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (1.6), interfaces/Prolog/SICStus/ppl_sicstus.pl (1.27),
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.7),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.9),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.14),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.15),
-	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.9),
-	  interfaces/Prolog/SICStus/sp_predicate_check.pl (1.2),
-	  interfaces/Prolog/SWI/Makefile.am (1.67),
-	  interfaces/Prolog/SWI/pl_clpq.cc (1.11),
-	  interfaces/Prolog/SWI/pl_clpq.pl (1.10),
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.7), interfaces/Prolog/SWI/ppl_pl.cc (1.11),
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.7),
-	  interfaces/Prolog/SWI/swi_cfli.hh (1.3),
-	  interfaces/Prolog/SWI/swi_pl_check.pl (1.9),
-	  interfaces/Prolog/SWI/swi_predicate_check.pl (1.2),
-	  interfaces/Prolog/XSB/Makefile.am (1.48),
-	  interfaces/Prolog/XSB/expected_clpq2_int16 (1.3),
-	  interfaces/Prolog/XSB/expected_clpq2_int16_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq2_int32 (1.3),
-	  interfaces/Prolog/XSB/expected_clpq2_int32_a (1.5),
-	  interfaces/Prolog/XSB/expected_clpq2_int64 (1.3),
-	  interfaces/Prolog/XSB/expected_clpq2_int64_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq2_int8 (1.4),
-	  interfaces/Prolog/XSB/expected_clpq2_int8_a (1.5),
-	  interfaces/Prolog/XSB/expected_clpq2_mpz (1.3),
-	  interfaces/Prolog/XSB/expected_clpq2_mpz_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_int16 (1.5),
-	  interfaces/Prolog/XSB/expected_clpq_int16_a (1.5),
-	  interfaces/Prolog/XSB/expected_clpq_int32 (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_int32_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_int64 (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_int64_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_int8 (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_int8_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_mpz (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_mpz_a (1.3),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.5),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.6),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (1.3), interfaces/Prolog/XSB/xsb_cfli.hh (1.2),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.17),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.15),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.29),
-	  interfaces/Prolog/YAP/Makefile.am (1.50),
-	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.5),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.11),
-	  interfaces/Prolog/YAP/yap_cfli.hh (1.2),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.12),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.8),
-	  interfaces/Prolog/YAP/yap_pl_check.pl (1.12),
-	  interfaces/Prolog/tests/Makefile.am (1.13),
-	  interfaces/Prolog/tests/clpq.pl (1.9),
-	  interfaces/Prolog/tests/clpq2.pl (1.10),
-	  interfaces/Prolog/tests/expected_clpq2_int16 (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_int16_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_int32 (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_int32_a (1.5),
-	  interfaces/Prolog/tests/expected_clpq2_int64 (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_int64_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_int8 (1.5),
-	  interfaces/Prolog/tests/expected_clpq2_int8_a (1.5),
-	  interfaces/Prolog/tests/expected_clpq2_mpz (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_mpz_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq_int16 (1.5),
-	  interfaces/Prolog/tests/expected_clpq_int16_a (1.5),
-	  interfaces/Prolog/tests/expected_clpq_int32 (1.3),
-	  interfaces/Prolog/tests/expected_clpq_int32_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq_int64 (1.3),
-	  interfaces/Prolog/tests/expected_clpq_int64_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq_int8 (1.3),
-	  interfaces/Prolog/tests/expected_clpq_int8_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq_mpz (1.3),
-	  interfaces/Prolog/tests/expected_clpq_mpz_a (1.3),
-	  interfaces/Prolog/tests/pl_check.pl (1.43),
-	  interfaces/Prolog/tests/pl_grid_check.pl (1.4),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.47),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.25), interfaces/Prolog/tests/ppl_predicate_check_common.pl
-	  (1.3), m4/Makefile.am (1.22), m4/ac_check_fpu_control.m4 (1.3),
-	  m4/ac_check_gmp.m4 (1.24), m4/ac_check_sicstus_prolog.m4 (1.5),
-	  m4/ac_check_swi_prolog.m4 (1.10), m4/ac_check_xsb_prolog.m4
-	  (1.3), m4/ac_cxx_attribute_weak.m4 (1.8),
-	  m4/ac_cxx_double_binary_format.m4 (1.4),
-	  m4/ac_cxx_flexible_arrays.m4 (1.13),
-	  m4/ac_cxx_float_binary_format.m4 (1.3),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.4), m4/ac_prog_jar.m4
-	  (1.2), m4/ac_prog_java.m4 (1.5), m4/ac_prog_javac.m4 (1.4),
-	  m4/ac_prog_javah.m4 (1.8), m4/ac_text_md5sum.m4 (1.2), m4/ppl.m4
-	  (1.5), src/Any_Pointset.defs.hh (1.9),
-	  src/Any_Pointset.inlines.hh (1.2), src/Any_Pointset.types.hh
-	  (1.2), src/Ask_Tell.defs.hh (1.15), src/Ask_Tell.inlines.hh
-	  (1.15), src/Ask_Tell.templates.hh (1.8), src/Ask_Tell.types.hh
-	  (1.6), src/BDS_Status.idefs.hh (1.20), src/BDS_Status.inlines.hh
-	  (1.15), src/BD_Shape.cc (1.4), src/BD_Shape.defs.hh (1.95),
-	  src/BD_Shape.inlines.hh (1.138), src/BD_Shape.templates.hh
-	  (1.68), src/BD_Shape.types.hh (1.6), src/BHRZ03_Certificate.cc
-	  (1.11), src/BHRZ03_Certificate.defs.hh (1.16),
-	  src/BHRZ03_Certificate.inlines.hh (1.8),
-	  src/BHRZ03_Certificate.types.hh (1.5), src/Bit_Matrix.cc (1.2),
-	  src/Bit_Matrix.defs.hh (1.2), src/Bit_Matrix.inlines.hh (1.2),
-	  src/Bit_Matrix.types.hh (1.2), src/Bit_Row.cc (1.2),
-	  src/Bit_Row.defs.hh (1.4), src/Bit_Row.inlines.hh (1.2),
-	  src/Bit_Row.types.hh (1.2), src/Bounding_Box.cc (1.14),
-	  src/Bounding_Box.defs.hh (1.16), src/Bounding_Box.inlines.hh
-	  (1.15), src/Bounding_Box.types.hh (1.5), src/C_Polyhedron.cc
-	  (1.20), src/C_Polyhedron.defs.hh (1.46),
-	  src/C_Polyhedron.inlines.hh (1.34), src/C_Polyhedron.types.hh
-	  (1.11), src/Checked_Number.cc (1.10), src/Checked_Number.defs.hh
-	  (1.84), src/Checked_Number.inlines.hh (1.69),
-	  src/Checked_Number.types.hh (1.10), src/Coefficient.cc (1.5),
-	  src/Coefficient.defs.hh (1.7), src/Coefficient.inlines.hh (1.6),
-	  src/Coefficient.types.hh (1.13),
-	  src/Coefficient_traits_template.hh (1.7), src/Congruence.cc
-	  (1.14), src/Congruence.defs.hh (1.18), src/Congruence.inlines.hh
-	  (1.15), src/Congruence.types.hh (1.3), src/Congruence_System.cc
-	  (1.22), src/Congruence_System.defs.hh (1.17),
-	  src/Congruence_System.inlines.hh (1.7),
-	  src/Congruence_System.types.hh (1.3), src/Constraint.cc (1.65),
-	  src/Constraint.defs.hh (1.124), src/Constraint.inlines.hh (1.66),
-	  src/Constraint.types.hh (1.11), src/Constraint_System.cc (1.21),
-	  src/Constraint_System.defs.hh (1.34),
-	  src/Constraint_System.inlines.hh (1.8),
-	  src/Constraint_System.types.hh (1.5), src/DB_Matrix.defs.hh
-	  (1.26), src/DB_Matrix.inlines.hh (1.29),
-	  src/DB_Matrix.templates.hh (1.4), src/DB_Matrix.types.hh (1.6),
-	  src/DB_Row.defs.hh (1.21), src/DB_Row.inlines.hh (1.20),
-	  src/DB_Row.templates.hh (1.3), src/DB_Row.types.hh (1.7),
-	  src/Determinate.defs.hh (1.64), src/Determinate.inlines.hh
-	  (1.55), src/Determinate.types.hh (1.9),
-	  src/Direct_Product.defs.hh (1.30), src/Direct_Product.inlines.hh
-	  (1.27), src/Direct_Product.templates.hh (1.20),
-	  src/Direct_Product.types.hh (1.6), src/Float.cc (1.5),
-	  src/Float.defs.hh (1.22), src/Float.inlines.hh (1.29),
-	  src/GMP_Integer.defs.hh (1.24), src/GMP_Integer.inlines.hh
-	  (1.18), src/GMP_Integer.types.hh (1.14), src/Generator.cc (1.73),
-	  src/Generator.defs.hh (1.121), src/Generator.inlines.hh (1.60),
-	  src/Generator.types.hh (1.11), src/Generator_System.cc (1.20),
-	  src/Generator_System.defs.hh (1.21),
-	  src/Generator_System.inlines.hh (1.7),
-	  src/Generator_System.types.hh (1.5), src/Grid.defs.hh (1.39),
-	  src/Grid.inlines.hh (1.13), src/Grid.templates.hh (1.24),
-	  src/Grid.types.hh (1.3), src/Grid_Certificate.cc (1.6),
-	  src/Grid_Certificate.defs.hh (1.4),
-	  src/Grid_Certificate.inlines.hh (1.3),
-	  src/Grid_Certificate.types.hh (1.3), src/Grid_Generator.cc
-	  (1.19), src/Grid_Generator.defs.hh (1.28),
-	  src/Grid_Generator.inlines.hh (1.13), src/Grid_Generator.types.hh
-	  (1.3), src/Grid_Generator_System.cc (1.17),
-	  src/Grid_Generator_System.defs.hh (1.20),
-	  src/Grid_Generator_System.inlines.hh (1.12),
-	  src/Grid_Generator_System.types.hh (1.3), src/Grid_Status.cc
-	  (1.6), src/Grid_Status.idefs.hh (1.6), src/Grid_Status.inlines.hh
-	  (1.3), src/Grid_chdims.cc (1.15), src/Grid_conversion.cc (1.18),
-	  src/Grid_nonpublic.cc (1.22), src/Grid_public.cc (1.49),
-	  src/Grid_simplify.cc (1.30), src/Grid_widenings.cc (1.13),
-	  src/H79_Certificate.cc (1.10), src/H79_Certificate.defs.hh
-	  (1.15), src/H79_Certificate.inlines.hh (1.9),
-	  src/H79_Certificate.types.hh (1.5), src/Init.cc (1.28),
-	  src/Init.defs.hh (1.17), src/Init.types.hh (1.10),
-	  src/Interval.cc (1.14), src/Interval.defs.hh (1.28),
-	  src/Interval.inlines.hh (1.25), src/Interval.types.hh (1.12),
-	  src/Limits.hh (1.10), src/Linear_Expression.cc (1.16),
-	  src/Linear_Expression.defs.hh (1.34),
-	  src/Linear_Expression.inlines.hh (1.10),
-	  src/Linear_Expression.types.hh (1.5), src/Linear_Row.cc (1.21),
-	  src/Linear_Row.defs.hh (1.23), src/Linear_Row.inlines.hh (1.12),
-	  src/Linear_Row.types.hh (1.5), src/Linear_System.cc (1.41),
-	  src/Linear_System.defs.hh (1.30), src/Linear_System.inlines.hh
-	  (1.20), src/Linear_System.types.hh (1.5), src/MIP_Problem.cc
-	  (1.45), src/MIP_Problem.defs.hh (1.31),
-	  src/MIP_Problem.inlines.hh (1.13), src/MIP_Problem.templates.hh
-	  (1.10), src/MIP_Problem.types.hh (1.2), src/Makefile.am (1.167),
-	  src/Matrix.cc (1.95), src/Matrix.defs.hh (1.79),
-	  src/Matrix.inlines.hh (1.50), src/Matrix.types.hh (1.11),
-	  src/NNC_Polyhedron.cc (1.20), src/NNC_Polyhedron.defs.hh (1.48),
-	  src/NNC_Polyhedron.inlines.hh (1.35), src/NNC_Polyhedron.types.hh
-	  (1.11), src/Numeric_Format.defs.hh (1.6), src/OR_Matrix.defs.hh
-	  (1.7), src/OR_Matrix.inlines.hh (1.4), src/OR_Matrix.templates.hh
-	  (1.5), src/OR_Matrix.types.hh (1.3), src/Octagonal_Shape.cc
-	  (1.3), src/Octagonal_Shape.defs.hh (1.23),
-	  src/Octagonal_Shape.inlines.hh (1.13),
-	  src/Octagonal_Shape.templates.hh (1.46),
-	  src/Octagonal_Shape.types.hh (1.3), src/Og_Status.idefs.hh (1.6),
-	  src/Og_Status.inlines.hh (1.4), src/Ph_Status.cc (1.12),
-	  src/Ph_Status.idefs.hh (1.20), src/Ph_Status.inlines.hh (1.8),
-	  src/Pointset_Ask_Tell.cc (1.2), src/Pointset_Ask_Tell.defs.hh
-	  (1.6), src/Pointset_Ask_Tell.inlines.hh (1.2),
-	  src/Pointset_Ask_Tell.templates.hh (1.7),
-	  src/Pointset_Ask_Tell.types.hh (1.2), src/Pointset_Powerset.cc
-	  (1.10), src/Pointset_Powerset.defs.hh (1.11),
-	  src/Pointset_Powerset.inlines.hh (1.6),
-	  src/Pointset_Powerset.templates.hh (1.8),
-	  src/Pointset_Powerset.types.hh (1.2), src/Poly_Con_Relation.cc
-	  (1.14), src/Poly_Con_Relation.defs.hh (1.33),
-	  src/Poly_Con_Relation.inlines.hh (1.15),
-	  src/Poly_Con_Relation.types.hh (1.10), src/Poly_Gen_Relation.cc
-	  (1.14), src/Poly_Gen_Relation.defs.hh (1.31),
-	  src/Poly_Gen_Relation.inlines.hh (1.15),
-	  src/Poly_Gen_Relation.types.hh (1.10), src/Polyhedron.defs.hh
-	  (1.312), src/Polyhedron.inlines.hh (1.136),
-	  src/Polyhedron.templates.hh (1.5), src/Polyhedron.types.hh
-	  (1.17), src/Polyhedron_chdims.cc (1.41),
-	  src/Polyhedron_nonpublic.cc (1.75), src/Polyhedron_public.cc
-	  (1.88), src/Polyhedron_widenings.cc (1.57), src/Powerset.defs.hh
-	  (1.29), src/Powerset.inlines.hh (1.19), src/Powerset.templates.hh
-	  (1.4), src/Powerset.types.hh (1.6), src/Ptr_Iterator.defs.hh
-	  (1.8), src/Ptr_Iterator.inlines.hh (1.7),
-	  src/Ptr_Iterator.types.hh (1.6), src/Result.defs.hh (1.17),
-	  src/Result.inlines.hh (1.10), src/Rounding_Dir.defs.hh (1.11),
-	  src/Rounding_Dir.inlines.hh (1.5), src/Row.cc (1.101),
-	  src/Row.defs.hh (1.109), src/Row.inlines.hh (1.63),
-	  src/Row.types.hh (1.12), src/Scalar_Products.cc (1.6),
-	  src/Scalar_Products.defs.hh (1.8), src/Scalar_Products.inlines.hh
-	  (1.5), src/Scalar_Products.types.hh (1.4), src/Topology.hh
-	  (1.13), src/Variable.cc (1.22), src/Variable.defs.hh (1.53),
-	  src/Variable.inlines.hh (1.24), src/Variable.types.hh (1.11),
-	  src/Variables_Set.cc (1.4), src/Variables_Set.defs.hh (1.5),
-	  src/Variables_Set.inlines.hh (1.4), src/Variables_Set.types.hh
-	  (1.2), src/Widening_Function.defs.hh (1.16),
-	  src/Widening_Function.inlines.hh (1.14),
-	  src/Widening_Function.types.hh (1.6), src/algorithms.hh (1.47),
-	  src/checked.cc (1.19), src/checked.defs.hh (1.38),
-	  src/checked.inlines.hh (1.33), src/checked_ext.defs.hh (1.12),
-	  src/checked_ext.inlines.hh (1.33), src/checked_float.inlines.hh
-	  (1.71), src/checked_int.inlines.hh (1.56),
-	  src/checked_mpq.inlines.hh (1.35), src/checked_mpz.inlines.hh
-	  (1.40), src/checked_numeric_limits.hh (1.17), src/compiler.hh
-	  (1.8), src/conversion.cc (1.80), src/distances.defs.hh (1.3),
-	  src/distances.inlines.hh (1.3), src/distances.types.hh (1.3),
-	  src/fpu-c99.inlines.hh (1.12), src/fpu-ia32.inlines.hh (1.15),
-	  src/fpu-none.inlines.hh (1.5), src/fpu-sparc.inlines.hh (1.6),
-	  src/fpu.defs.hh (1.12), src/fpu.types.hh (1.3), src/globals.cc
-	  (1.25), src/globals.defs.hh (1.41), src/globals.inlines.hh
-	  (1.16), src/globals.types.hh (1.9), src/initializer.hh (1.13),
-	  src/iterator_to_const.defs.hh (1.4),
-	  src/iterator_to_const.inlines.hh (1.3),
-	  src/iterator_to_const.types.hh (1.2), src/max_space_dimension.hh
-	  (1.11), src/minimize.cc (1.45), src/mp_numeric_limits.cc (1.2),
-	  src/mp_numeric_limits.hh (1.10), src/namespaces.hh (1.10),
-	  src/ppl-config.cc.in (1.19), src/ppl_header.hh (1.5),
-	  src/simplify.cc (1.47), src/swapping_sort.icc (1.12),
-	  src/version.cc (1.8), src/version.hh.in (1.15), tests/BBox.cc
-	  (1.13), tests/BBox.hh (1.11), tests/FCAIBVP.cc (1.3),
-	  tests/FCAIBVP.defs.hh (1.4), tests/FCAIBVP.inlines.hh (1.4),
-	  tests/FCAIBVP.types.hh (1.2), tests/Makefile.am (1.260),
-	  tests/Partial_Function.cc (1.4), tests/Partial_Function.defs.hh
-	  (1.3), tests/Partial_Function.inlines.hh (1.2),
-	  tests/Partial_Function.types.hh (1.2),
-	  tests/Random_Number_Generator.defs.hh (1.4),
-	  tests/Random_Number_Generator.inlines.hh (1.9),
-	  tests/Random_Number_Generator.types.hh (1.3), tests/files.cc
-	  (1.9), tests/files.hh (1.10), tests/ppl_test.cc (1.7),
-	  tests/ppl_test.hh (1.53), tests/print.cc (1.27), tests/print.hh
-	  (1.39), tests/Ask_Tell/Makefile.am (1.2),
-	  tests/Ask_Tell/append1.cc (1.5), tests/BD_Shape/Makefile.am
-	  (1.58), tests/BD_Shape/addconstraints1.cc (1.17),
-	  tests/BD_Shape/addspacedims1.cc (1.14),
-	  tests/BD_Shape/affinedimension1.cc (1.11),
-	  tests/BD_Shape/affineimage1.cc (1.17),
-	  tests/BD_Shape/affineimage2.cc (1.12),
-	  tests/BD_Shape/affinepreimage1.cc (1.18),
-	  tests/BD_Shape/affinepreimage2.cc (1.13),
-	  tests/BD_Shape/ascii_dump_load1.cc (1.14),
-	  tests/BD_Shape/bdsdifference1.cc (1.13),
-	  tests/BD_Shape/bdshull1.cc (1.15),
-	  tests/BD_Shape/bgp99extrapolation1.cc (1.9),
-	  tests/BD_Shape/bhmz05widening1.cc (1.13),
-	  tests/BD_Shape/bhz03widening1.cc (1.9),
-	  tests/BD_Shape/bounded1.cc (1.2),
-	  tests/BD_Shape/boundedaffineimage1.cc (1.3),
-	  tests/BD_Shape/boundedaffinepreimage1.cc (1.2),
-	  tests/BD_Shape/bounds1.cc (1.2),
-	  tests/BD_Shape/cc76extrapolation1.cc (1.17),
-	  tests/BD_Shape/cc76narrowing1.cc (1.17),
-	  tests/BD_Shape/closure1.cc (1.15), tests/BD_Shape/concatenate1.cc
-	  (1.13), tests/BD_Shape/constraints1.cc (1.18),
-	  tests/BD_Shape/contains1.cc (1.14),
-	  tests/BD_Shape/containsintegerpoint1.cc (1.2),
-	  tests/BD_Shape/discrete1.cc (1.2), tests/BD_Shape/disjoint1.cc
-	  (1.5), tests/BD_Shape/empty1.cc (1.10),
-	  tests/BD_Shape/equality1.cc (1.15),
-	  tests/BD_Shape/expandspacedim1.cc (1.2),
-	  tests/BD_Shape/foldspacedims1.cc (1.3),
-	  tests/BD_Shape/fromgensys1.cc (1.14),
-	  tests/BD_Shape/frompolyhedron1.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.15),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.19),
-	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.13),
-	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.14),
-	  tests/BD_Shape/generalizedaffinepreimage3.cc (1.4),
-	  tests/BD_Shape/geomcovers1.cc (1.9),
-	  tests/BD_Shape/h79widening1.cc (1.12),
-	  tests/BD_Shape/intersection1.cc (1.17),
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.12),
-	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.13),
-	  tests/BD_Shape/limitedh79extrapolation1.cc (1.12),
-	  tests/BD_Shape/mapspacedims1.cc (1.14),
-	  tests/BD_Shape/max_min1.cc (1.2), tests/BD_Shape/max_min2.cc
-	  (1.4), tests/BD_Shape/maxspacedim1.cc (1.2),
-	  tests/BD_Shape/membytes1.cc (1.2),
-	  tests/BD_Shape/minconstraints1.cc (1.10),
-	  tests/BD_Shape/relations1.cc (1.16), tests/BD_Shape/relations2.cc
-	  (1.20), tests/BD_Shape/relations3.cc (1.22),
-	  tests/BD_Shape/removespacedims1.cc (1.18),
-	  tests/BD_Shape/run_tests (1.18), tests/BD_Shape/timeelapse1.cc
-	  (1.17), tests/BD_Shape/universe1.cc (1.14),
-	  tests/BD_Shape/writebdshape1.cc (1.8), tests/Grid/Makefile.am
-	  (1.46), tests/Grid/addcongruence1.cc (1.12),
-	  tests/Grid/addcongruences1.cc (1.15),
-	  tests/Grid/addconstraint1.cc (1.10),
-	  tests/Grid/addconstraints1.cc (1.11), tests/Grid/addgenerator1.cc
-	  (1.14), tests/Grid/addgenerators1.cc (1.13),
-	  tests/Grid/addspacedims1.cc (1.13), tests/Grid/affinedim1.cc
-	  (1.11), tests/Grid/affineimage1.cc (1.12),
-	  tests/Grid/affineimage2.cc (1.10), tests/Grid/affinepreimage1.cc
-	  (1.11), tests/Grid/affinepreimage2.cc (1.6),
-	  tests/Grid/approximatepartition1.cc (1.2),
-	  tests/Grid/asciidumpload1.cc (1.13), tests/Grid/asciidumpload2.cc
-	  (1.5), tests/Grid/asciidumpload3.cc (1.4),
-	  tests/Grid/asciidumpload4.cc (1.4), tests/Grid/asciidumpload5.cc
-	  (1.2), tests/Grid/asciidumpload6.cc (1.2),
-	  tests/Grid/asciidumpload7.cc (1.2), tests/Grid/bhz03widening1.cc
-	  (1.12), tests/Grid/bounded1.cc (1.12),
-	  tests/Grid/boundedaffineimage1.cc (1.2),
-	  tests/Grid/boundedaffinepreimage1.cc (1.2),
-	  tests/Grid/boundingbox1.cc (1.14), tests/Grid/boundingbox2.cc
-	  (1.12), tests/Grid/bounds1.cc (1.14), tests/Grid/certificate1.cc
-	  (1.13), tests/Grid/concatenate1.cc (1.13),
-	  tests/Grid/congruence1.cc (1.16), tests/Grid/congruences1.cc
-	  (1.11), tests/Grid/congruences2.cc (1.5), tests/Grid/contains1.cc
-	  (1.11), tests/Grid/containsintegerpoint1.cc (1.3),
-	  tests/Grid/copyconstruct1.cc (1.7), tests/Grid/coveringbox1.cc
-	  (1.13), tests/Grid/coveringbox2.cc (1.11),
-	  tests/Grid/directproduct1.cc (1.22), tests/Grid/directproduct2.cc
-	  (1.5), tests/Grid/discrete1.cc (1.7), tests/Grid/disjoint1.cc
-	  (1.11), tests/Grid/equals1.cc (1.12),
-	  tests/Grid/expandspacedim1.cc (1.11),
-	  tests/Grid/foldspacedims1.cc (1.11),
-	  tests/Grid/generalizedaffineimage1.cc (1.12),
-	  tests/Grid/generalizedaffineimage2.cc (1.11),
-	  tests/Grid/generalizedaffineimage3.cc (1.2),
-	  tests/Grid/generalizedaffinepreimage1.cc (1.14),
-	  tests/Grid/generalizedaffinepreimage2.cc (1.14),
-	  tests/Grid/generalizedaffinepreimage3.cc (1.2),
-	  tests/Grid/generator1.cc (1.19), tests/Grid/generators1.cc
-	  (1.12), tests/Grid/generators2.cc (1.2), tests/Grid/grid1.cc
-	  (1.19), tests/Grid/grid2.cc (1.15), tests/Grid/grid3.cc (1.19),
-	  tests/Grid/griddifference1.cc (1.11), tests/Grid/intersection1.cc
-	  (1.11), tests/Grid/isempty1.cc (1.7), tests/Grid/isuniverse1.cc
-	  (1.9), tests/Grid/join1.cc (1.15), tests/Grid/join2.cc (1.10),
-	  tests/Grid/limitedextrapolation1.cc (1.11),
-	  tests/Grid/limitedextrapolation2.cc (1.5),
-	  tests/Grid/limitedextrapolation3.cc (1.4),
-	  tests/Grid/mapspacedims1.cc (1.10), tests/Grid/maxmin1.cc (1.11),
-	  tests/Grid/membytes1.cc (1.8), tests/Grid/mincongruences1.cc
-	  (1.9), tests/Grid/mingenerators1.cc (1.9),
-	  tests/Grid/outputoperator1.cc (1.8),
-	  tests/Grid/outputoperator2.cc (1.2),
-	  tests/Grid/outputoperator3.cc (1.2), tests/Grid/partition1.cc
-	  (1.4), tests/Grid/powersetdifference1.cc (1.2),
-	  tests/Grid/powersetgeometricallycovers1.cc (1.2),
-	  tests/Grid/powersetgeometricallyequals1.cc (1.2),
-	  tests/Grid/relations1.cc (1.13), tests/Grid/relations2.cc (1.15),
-	  tests/Grid/relations3.cc (1.6), tests/Grid/removespacedims1.cc
-	  (1.13), tests/Grid/removespacedims2.cc (1.13),
-	  tests/Grid/timeelapse1.cc (1.10), tests/Grid/topclosed1.cc
-	  (1.11), tests/Grid/topclosure1.cc (1.7), tests/Grid/widening1.cc
-	  (1.14), tests/Grid/widening2.cc (1.9), tests/Grid/widening3.cc
-	  (1.4), tests/Grid/writecongruencesystem.cc (1.7),
-	  tests/MIP_Problem/Makefile.am (1.2),
-	  tests/MIP_Problem/ascii_dump_load1.cc (1.3),
-	  tests/MIP_Problem/exceptions1.cc (1.2),
-	  tests/MIP_Problem/mipproblem1.cc (1.3),
-	  tests/Octagonal_Shape/Makefile.am (1.14),
-	  tests/Octagonal_Shape/addspacedims1.cc (1.2),
-	  tests/Octagonal_Shape/affinedimension1.cc (1.3),
-	  tests/Octagonal_Shape/affineimage1.cc (1.3),
-	  tests/Octagonal_Shape/affineimage2.cc (1.2),
-	  tests/Octagonal_Shape/affinepreimage1.cc (1.3),
-	  tests/Octagonal_Shape/affinepreimage2.cc (1.2),
-	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.2),
-	  tests/Octagonal_Shape/bhmz05widening1.cc (1.3),
-	  tests/Octagonal_Shape/bhz03widening1.cc (1.2),
-	  tests/Octagonal_Shape/bounded1.cc (1.2),
-	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.8),
-	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.3),
-	  tests/Octagonal_Shape/bounds1.cc (1.3),
-	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.3),
-	  tests/Octagonal_Shape/cc76narrowing1.cc (1.3),
-	  tests/Octagonal_Shape/chinainit.cc (1.2),
-	  tests/Octagonal_Shape/concatenate1.cc (1.2),
-	  tests/Octagonal_Shape/constraints1.cc (1.3),
-	  tests/Octagonal_Shape/contains1.cc (1.3),
-	  tests/Octagonal_Shape/containsintegerpoint1.cc (1.3),
-	  tests/Octagonal_Shape/discrete1.cc (1.2),
-	  tests/Octagonal_Shape/disjoint1.cc (1.6),
-	  tests/Octagonal_Shape/empty1.cc (1.2),
-	  tests/Octagonal_Shape/expandspacedim1.cc (1.3),
-	  tests/Octagonal_Shape/foldspacedims1.cc (1.2),
-	  tests/Octagonal_Shape/fromgensys1.cc (1.2),
-	  tests/Octagonal_Shape/frompolyhedron1.cc (1.2),
-	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.2),
-	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.2),
-	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.7),
-	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.2),
-	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.2),
-	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.3),
-	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.7),
-	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.3),
-	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.2),
-	  tests/Octagonal_Shape/intersection1.cc (1.3),
-	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.3),
-	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.3),
-	  tests/Octagonal_Shape/mapspacedims1.cc (1.3),
-	  tests/Octagonal_Shape/max_min1.cc (1.4),
-	  tests/Octagonal_Shape/max_min2.cc (1.3),
-	  tests/Octagonal_Shape/maxspacedim1.cc (1.2),
-	  tests/Octagonal_Shape/membytes1.cc (1.3),
-	  tests/Octagonal_Shape/minconstraints1.cc (1.3),
-	  tests/Octagonal_Shape/octdifference1.cc (1.3),
-	  tests/Octagonal_Shape/octhull1.cc (1.3),
-	  tests/Octagonal_Shape/relatwithcons1.cc (1.2),
-	  tests/Octagonal_Shape/relatwithcons2.cc (1.4),
-	  tests/Octagonal_Shape/relatwithgen1.cc (1.6),
-	  tests/Octagonal_Shape/removespacedims1.cc (1.3),
-	  tests/Octagonal_Shape/run_tests (1.2),
-	  tests/Octagonal_Shape/timeelapse1.cc (1.3),
-	  tests/Octagonal_Shape/universe1.cc (1.2),
-	  tests/Octagonal_Shape/writeoctagon1.cc (1.3),
-	  tests/Polyhedron/Makefile.am (1.103), tests/Polyhedron/README
-	  (1.6), tests/Polyhedron/addcongruence1.cc (1.7),
-	  tests/Polyhedron/addcongruences1.cc (1.9),
-	  tests/Polyhedron/addconstraint1.cc (1.9),
-	  tests/Polyhedron/addconstraints1.cc (1.10),
-	  tests/Polyhedron/addconstraints2.cc (1.9),
-	  tests/Polyhedron/addgenerator1.cc (1.10),
-	  tests/Polyhedron/addgenerator2.cc (1.10),
-	  tests/Polyhedron/addgenerators1.cc (1.11),
-	  tests/Polyhedron/addgenerators2.cc (1.10),
-	  tests/Polyhedron/addspacedims1.cc (1.10),
-	  tests/Polyhedron/addspacedims2.cc (1.10),
-	  tests/Polyhedron/affineimage1.cc (1.10),
-	  tests/Polyhedron/affineimage2.cc (1.10),
-	  tests/Polyhedron/affinepreimage1.cc (1.9),
-	  tests/Polyhedron/affinetrans.cc (1.10),
-	  tests/Polyhedron/append1.cc (1.10), tests/Polyhedron/append2.cc
-	  (1.9), tests/Polyhedron/ascii_dump_load1.cc (1.9),
-	  tests/Polyhedron/ascii_dump_load2.cc (1.9),
-	  tests/Polyhedron/ascii_dump_load3.cc (1.10),
-	  tests/Polyhedron/bgp99extrapolation1.cc (1.12),
-	  tests/Polyhedron/bhrz03widening1.cc (1.9),
-	  tests/Polyhedron/bhrz03widening2.cc (1.9),
-	  tests/Polyhedron/bhrz03widening3.cc (1.10),
-	  tests/Polyhedron/bhz03widening1.cc (1.13),
-	  tests/Polyhedron/bounded1.cc (1.10),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.8),
-	  tests/Polyhedron/boundedaffinepreimage1.cc (1.7),
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.8),
-	  tests/Polyhedron/boundedh79extrapolation1.cc (1.10),
-	  tests/Polyhedron/boundingbox1.cc (1.13),
-	  tests/Polyhedron/boundingbox2.cc (1.12),
-	  tests/Polyhedron/boundingbox3.cc (1.13),
-	  tests/Polyhedron/bounds1.cc (1.10),
-	  tests/Polyhedron/cnncconversion1.cc (1.3),
-	  tests/Polyhedron/concatenate1.cc (1.9),
-	  tests/Polyhedron/congruences1.cc (1.7),
-	  tests/Polyhedron/constraints1.cc (1.9),
-	  tests/Polyhedron/contains1.cc (1.9),
-	  tests/Polyhedron/contains2.cc (1.9),
-	  tests/Polyhedron/containsintegerpoint1.cc (1.2),
-	  tests/Polyhedron/disjoint1.cc (1.9),
-	  tests/Polyhedron/disjoint2.cc (1.11),
-	  tests/Polyhedron/dualhypercubes.cc (1.11),
-	  tests/Polyhedron/empty1.cc (1.10), tests/Polyhedron/equals1.cc
-	  (1.9), tests/Polyhedron/exceptions1.cc (1.12),
-	  tests/Polyhedron/exceptions2.cc (1.11),
-	  tests/Polyhedron/exceptions3.cc (1.10),
-	  tests/Polyhedron/expandspacedim1.cc (1.11),
-	  tests/Polyhedron/expandspacedim2.cc (1.11),
-	  tests/Polyhedron/foldspacedims1.cc (1.13),
-	  tests/Polyhedron/foldspacedims2.cc (1.14),
-	  tests/Polyhedron/generalizedaffineimage1.cc (1.10),
-	  tests/Polyhedron/generalizedaffineimage2.cc (1.10),
-	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.7),
-	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.7),
-	  tests/Polyhedron/generators1.cc (1.10),
-	  tests/Polyhedron/geomcovers1.cc (1.13),
-	  tests/Polyhedron/h79widening1.cc (1.9),
-	  tests/Polyhedron/h79widening2.cc (1.9),
-	  tests/Polyhedron/hybrid.cc (1.3),
-	  tests/Polyhedron/intersection1.cc (1.13),
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.8),
-	  tests/Polyhedron/limitedh79extrapolation1.cc (1.9),
-	  tests/Polyhedron/linearpartition1.cc (1.11),
-	  tests/Polyhedron/linearsystem1.cc (1.8),
-	  tests/Polyhedron/linexpression1.cc (1.9),
-	  tests/Polyhedron/mapspacedims1.cc (1.12),
-	  tests/Polyhedron/matrix1.cc (1.9), tests/Polyhedron/max_min1.cc
-	  (1.11), tests/Polyhedron/maxspacedim1.cc (1.11),
-	  tests/Polyhedron/mc91.cc (1.14), tests/Polyhedron/membytes1.cc
-	  (1.14), tests/Polyhedron/memory1.cc (1.11),
-	  tests/Polyhedron/memory2.cc (1.12),
-	  tests/Polyhedron/minconstraints1.cc (1.9),
-	  tests/Polyhedron/minconstraints2.cc (1.11),
-	  tests/Polyhedron/mingenerators1.cc (1.9),
-	  tests/Polyhedron/mingenerators2.cc (1.10),
-	  tests/Polyhedron/nncminimize1.cc (1.5),
-	  tests/Polyhedron/nncminimize2.cc (1.6),
-	  tests/Polyhedron/numberinput1.cc (1.29),
-	  tests/Polyhedron/onepoint.cc (1.10), tests/Polyhedron/permute.cc
-	  (1.7), tests/Polyhedron/pointsetpowerset1.cc (1.5),
-	  tests/Polyhedron/polydifference1.cc (1.10),
-	  tests/Polyhedron/polydifference2.cc (1.10),
-	  tests/Polyhedron/polyhull1.cc (1.10),
-	  tests/Polyhedron/polyhull2.cc (1.10),
-	  tests/Polyhedron/powerset1.cc (1.19),
-	  tests/Polyhedron/randphull1.cc (1.10),
-	  tests/Polyhedron/randphull2.cc (1.9),
-	  tests/Polyhedron/relations1.cc (1.9),
-	  tests/Polyhedron/relations2.cc (1.10),
-	  tests/Polyhedron/relations3.cc (1.9),
-	  tests/Polyhedron/removespacedims1.cc (1.9),
-	  tests/Polyhedron/removespacedims2.cc (1.9),
-	  tests/Polyhedron/smm1.cc (1.7), tests/Polyhedron/timeelapse1.cc
-	  (1.10), tests/Polyhedron/timeelapse2.cc (1.10),
-	  tests/Polyhedron/topclosed1.cc (1.10),
-	  tests/Polyhedron/topclosure1.cc (1.9),
-	  tests/Polyhedron/universe1.cc (1.9),
-	  tests/Polyhedron/universe2.cc (1.9),
-	  tests/Polyhedron/variablesset1.cc (1.9),
-	  tests/Polyhedron/watchdog1.cc (1.9),
-	  tests/Polyhedron/writeconsys1.cc (1.9),
-	  tests/Polyhedron/writegensys1.cc (1.9),
-	  tests/Polyhedron/writepolyhedron1.cc (1.9),
-	  tests/Polyhedron/writepolyhedron2.cc (1.9),
-	  tests/Polyhedron/writerelation1.cc (1.11),
-	  tests/Polyhedron/writevariable1.cc (1.7), utils/Makefile.am
-	  (1.14), utils/build_header.in (1.4), utils/cm_cleaner.sh (1.2),
-	  utils/cm_splitter.sh (1.2), utils/text2cxxarray.in (1.3),
-	  utils/timings.cc (1.8), utils/timings.hh (1.5): Copyright years
-	  extended.
-
-2006-12-30 Saturday 21:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.30):
-	  Fixed a bug for Pointset_Powerset BHZ03 extrapolation predicates.
-
-2006-12-30 Saturday 14:03  Andrea Cimino
-
-	* configure.ac (1.258): Removed an extra (previously added) `@'.
-
-2006-12-30 Saturday 13:55  Andrea Cimino
-
-	* configure.ac (1.257): Fixed to allow compiling the Java interface
-	  when the instantiation Pointset_Powerset<Polyhedron> is
-	  requested.
-
-2006-12-28 Thursday 16:57  Andrea Cimino
-
-	* m4/ac_prog_java.m4 (1.4): Fixed a `test' statement in a m4 macro.
-
-2006-12-27 Wednesday 14:25  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.10), ppl_interface_generator_ocaml_dat.m4 (1.3),
-	  ppl_interface_generator_ocaml_ml_code.m4 (1.10),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.3), test1.ml (1.26):
-	  Written initial support for OCaml Pointset_Powerset.
-
-2006-12-26 Tuesday 14:48  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.9), ppl_interface_generator_ocaml_dat.m4 (1.2),
-	  ppl_interface_generator_ocaml_ml.m4 (1.6), ppl_ocaml_globals.cc
-	  (1.6): Launch an OCaml exception if a PPL method requires an
-	  unsigned integer and the input is a negative number.	Fixed some
-	  bugs in the interface.
-
-2006-12-26 Tuesday 12:40  Andrea Cimino
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 (1.8):
-	  Fixed a wrong m4 replacement.
-
-2006-12-25 Monday 17:02  Andrea Cimino
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.22), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.11): Added CC76_narrowing_assign in the Java interface.
-
-2006-12-24 Sunday 14:56  Andrea Cimino
-
-	* m4/ac_prog_javac.m4 (1.3): Put an extra space between `whether'
-	  and `$JAVAC' in a `configure' message.
-
-2006-12-24 Sunday 11:59  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.7), ppl_interface_generator_ocaml_ml_code.m4 (1.9),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.2), test1.ml (1.25):
-	  Widening OCaml function are split in versions with and without
-	  tokens.
-
-2006-12-23 Saturday 19:00  Andrea Cimino
-
-	* interfaces/OCaml/: Makefile.am (1.24),
-	  ppl_interface_generator_ocaml_cc_code.m4 (1.6),
-	  ppl_interface_generator_ocaml_ml_code.m4 (1.8),
-	  ppl_interface_generator_ocaml_mli.m4 (1.1),
-	  ppl_interface_generator_ocaml_mli_code.m4 (1.1), ppl_ocaml.mli
-	  (1.18), ppl_ocaml_globals.ml (1.5): Now the interface file .mli
-	  is automatically generated.  Added support for compilation with
-	  srcdir != builddir.  Added support for parallel builds.
-
-2006-12-23 Saturday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (altnum.91): Revised the documentation for
-	  refine_existential() and refine_universal().
-
-2006-12-22 Friday 17:20  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.5), ppl_interface_generator_ocaml_ml_code.m4 (1.7): Interfaced
-	  other functions in the OCaml interface.
-
-2006-12-22 Friday 16:14  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_C_Polyhedron.cc (1.8),
-	  ppl_java_Polyhedron.cc (1.20): Removed previously non generated
-	  source files.
-
-2006-12-22 Friday 16:11  Andrea Cimino
-
-	* interfaces/OCaml/Makefile.am (1.23): Modified dependencies for
-	  source files in Makefile.am.
-
-2006-12-22 Friday 16:01  Andrea Cimino
-
-	* interfaces/OCaml/ppl_ocaml.ml (1.5): Removed the non generated
-	  `ppl_ocaml.ml' from the repository.
-
-2006-12-22 Friday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (1.9): Make sure the current
-	  directory is made before `tests'.
-
-2006-12-22 Friday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/Makefile.am (1.10): Compile against
-	  ../ppl_java.jar.
-
-2006-12-22 Friday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/Makefile.am (1.9): Do not distribute
-	  generated files.  Use `check_JAVA' instead of `EXTRA_DIST'.
-	  Notice that, due to a bug in Automake (at least until version
-	  1.9.6) check_JAVA targes are always compiled.  That bug has
-	  already been reported.
-
-2006-12-22 Friday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.32): Generated file should not
-	  be under CVS.
-
-2006-12-22 Friday 14:05  Andrea Cimino
-
-	* interfaces/Java/tests/Makefile.am (1.8): Java tests restored.
-
-2006-12-22 Friday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_cfli.hh (1.2): Make sure
-	  __STDC_LIMIT_MACROS is defined before the first inclusion of
-	  <stdint.h>.
-
-2006-12-22 Friday 11:09  Andrea Cimino
-
-	* interfaces/Java/tests/Makefile.am (1.7): Use always
-	  `ppl_java.jar' archive to build and run the tests.
-
-2006-12-22 Friday 10:33  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_common.hh (1.24): Written a Doxygen
-	  comment for function `jtype_to_unsigned'.
-
-2006-12-21 Thursday 17:28  Andrea Cimino
-
-	* interfaces/OCaml/test1.ml (1.24): Restored the
-	  `map_space_dimensions' call.
-
-2006-12-21 Thursday 17:02  Andrea Cimino
-
-	* interfaces/OCaml/test1.ml (1.23): Modified the partial function
-	  to be valid and so the C++ world doesn't throw exceptions
-
-2006-12-21 Thursday 16:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 (1.5):
-	  Correctly generate the type c_polyhedron and nnc_polyhedron as
-	  well as any other class type.
-
-2006-12-21 Thursday 16:20  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.4), ppl_interface_generator_ocaml_ml.m4 (1.4),
-	  ppl_interface_generator_ocaml_ml_code.m4 (1.6), test1.ml (1.22):
-	  Split Polyhedron in C_Polyhedron and NNC_Polyhedron.
-
-2006-12-21 Thursday 13:00  Andrea Cimino
-
-	* interfaces/OCaml/Makefile.am (1.22): Now it's possible to use the
-	  PPL using the module installed in the OCaml library directory.
-
-2006-12-21 Thursday 09:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.29),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.37),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.46):
-	  Added predicates for ..._upper_bound_if_exact and
-	  poly_hull_if_exact.  Tests for them also added.
-
-2006-12-20 Wednesday 16:48  Andrea Cimino
-
-	* interfaces/OCaml/Makefile.am (1.21): Install ppl module in OCaml
-	  library directory if requested.
-
-2006-12-20 Wednesday 15:47  Andrea Cimino
-
-	* interfaces/Java/jni/Makefile.am (1.9), m4/ac_prog_javah.m4 (1.7):
-	  Include JDK Path during C++ compilation just when the Java
-	  interface is compiled. Avoid using obsolete Autoconf macros.
-
-2006-12-20 Wednesday 14:56  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.27): Fixed a bug in the
-	  Java interface: Java grid parameters where not properly
-	  generated.
-
-2006-12-20 Wednesday 13:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
-	  (1.5), test1.ml (1.21): A bug in the code for generalized affine
-	  image fixed.	Improved the printing layout by test1.ml.  Other
-	  small additions to the tests in test1.ml.
-
-2006-12-20 Wednesday 12:35  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
-	  (1.4), ppl_ocaml_types.ml (1.5), test1.ml (1.20): Uniformed name
-	  types.  Little corrections to allow test code to compile.
-
-2006-12-20 Wednesday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml_code.m4
-	  (1.3), ppl_ocaml_types.ml (1.4): Some bugs corrected.
-
-2006-12-20 Wednesday 11:46  Andrea Cimino
-
-	* interfaces/OCaml/Makefile.am (1.20): Never remove generated
-	  files.
-
-2006-12-20 Wednesday 11:32  Andrea Cimino
-
-	* interfaces/OCaml/Makefile.am (1.19): Patched the Makefile.am to
-	  give priority to generated .ml files when compiling.
-
-2006-12-20 Wednesday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.3), ppl_interface_generator_ocaml_ml.m4 (1.3),
-	  ppl_interface_generator_ocaml_ml_code.m4 (1.2),
-	  ppl_ocaml_types.ml (1.3): Added ppl_ at CLASS@_equals_ at CLASS@ to the
-	  interface.  Corrected bugs in code for
-	  ppl_ at CLASS@_ at COMPARISON@_ at CLASS@ Added a type
-	  "relation_with_grid_generator" and corrected some typos that
-	  prevented the generated ppl_ocaml.ml compiling.
-
-2006-12-19 Tuesday 18:07  Andrea Cimino
-
-	* interfaces/OCaml/ppl_ocaml_globals.cc (1.5): Don't forget the
-	  denominator when building PPL grid parameters.
-
-2006-12-19 Tuesday 18:04  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml_globals.cc (1.4), ppl_ocaml_types.ml
-	  (1.2): Implemented support for grid_generator and
-	  grid_generator_system.  No more noisy warnings.
-
-2006-12-19 Tuesday 15:56  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_cc_code.m4
-	  (1.2), ppl_ocaml_globals.cc (1.3): Compilation restored but still
-	  some work needed to let work things properly.
-
-2006-12-19 Tuesday 14:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.31): Restore file that should
-	  not have been revised in previous commit.
-
-2006-12-19 Tuesday 14:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: Makefile.am (1.18),
-	  ppl_interface_generator_ocaml_cc.m4 (1.1),
-	  ppl_interface_generator_ocaml_cc_code.m4 (1.1), ppl_ocaml.cc
-	  (1.30), ppl_ocaml_globals.cc (1.2), test1.ml (1.19): Adding code
-	  for generating the ppl_ocaml.cc file.
-
-2006-12-19 Tuesday 10:44  Andrea Cimino
-
-	* interfaces/Java/Makefile.am (1.8): Install ppl_java.jar in
-	  $prefix/lib/ppl when a `make install' is invoked.
-
-2006-12-19 Tuesday 09:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: ppl_interface_generator_ocaml_ml.m4 (1.2),
-	  ppl_ocaml.cc (1.29), ppl_ocaml_globals.cc (1.1),
-	  ppl_ocaml_globals.ml (1.4): Separated the ppl_ocaml.cc code into
-	  a fixed part and a part to be generated.  Moved more code from
-	  the generated part of ppl_ocaml.ml to the fixed part.
-
-2006-12-19 Tuesday 09:30  Andrea Cimino
-
-	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.6),
-	  Makefile.am (1.6): Added a simple test for the Java interface.
-	  Modified Makefile.am to avoid possible problems when `make check'
-	  is called more than one time.
-
-2006-12-18 Monday 23:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/OCaml/: Makefile.am (1.17),
-	  ppl_interface_generator_ocaml_dat.m4 (1.1),
-	  ppl_interface_generator_ocaml_ml.m4 (1.1),
-	  ppl_interface_generator_ocaml_ml_code.m4 (1.1), ppl_ocaml.cc
-	  (1.28), ppl_ocaml.ml (1.4), ppl_ocaml.mli (1.17), test1.ml
-	  (1.18): Revised names of functions to match the rest of the
-	  interfaces.  Now ppl_ocaml.ml is generated using m4 (but only
-	  checked for the Polyhedron class).
-
-2006-12-15 Friday 14:26  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.27), ppl_ocaml_globals.ml
-	  (1.3), test1.ml (1.17): Implemented
-	  `ppl_MIP_Problem_objective_function'.
-
-2006-12-14 Thursday 16:13  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.44), src/Variables_Set.cc (1.3),
-	  src/Variables_Set.defs.hh (1.4),
-	  tests/MIP_Problem/ascii_dump_load1.cc (1.2): Added `ascii_load'
-	  and `ascii_dump' for Variables_Set.  MIP problem now correctly
-	  loads and dumps problems with declared integer variables.
-
-2006-12-14 Thursday 12:25  Andrea Cimino
-
-	* interfaces/Java/: ppl_interface_generator_java_dat.m4 (1.3),
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.21), jni/ppl_java_globals.cc (1.4),
-	  tests/ppl_interface_generator_java_test_java_code.m4 (1.10),
-	  tests/ppl_java_tests_common (1.6): All the Java classes now have
-	  the `toString' method that returns a string representation of
-	  each PPL object.
-
-2006-12-14 Thursday 10:50  Andrea Cimino
-
-	* interfaces/Java/: jni/ppl_java_globals.cc (1.3),
-	  tests/ppl_java_tests_common (1.5): Added the method `toString'
-	  the returns a string representation of a linear expression.
-
-2006-12-13 Wednesday 19:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am, interval2.cc (altnum.[5,1]): A test
-	  derived from interval1.cc that exhibits an interesting behavior.
-
-2006-12-13 Wednesday 18:38  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.90): Fixed typo.
-
-2006-12-13 Wednesday 18:31  Andrea Cimino
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.26): Removed previously
-	  commented code (now useless).
-
-2006-12-13 Wednesday 18:27  Andrea Cimino
-
-	* interfaces/OCaml/: Makefile.am (1.16), ppl_ocaml.cc (1.25),
-	  ppl_ocaml.ml (1.3), ppl_ocaml.mli (1.16), ppl_ocaml_globals.ml
-	  (1.2), ppl_ocaml_types.ml (1.1), test1.ml (1.16): Defined the
-	  data structures used in `ppl_ocaml_types.ml'.  MIP_Problem
-	  interface almost completed.
-
-2006-12-13 Wednesday 14:46  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.30): Added missing fixme comment.
-
-2006-12-13 Wednesday 14:42  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Checked_Number.defs.hh,
-	  Checked_Number.inlines.hh, Interval.defs.hh
-	  (altnum.[29,42,36,89]): Completed division implementation.
-
-2006-12-12 Tuesday 19:57  Andrea Cimino
-
-	* interfaces/OCaml/: Makefile.am (1.15), ppl_ocaml.cc (1.24),
-	  ppl_ocaml.ml (1.2), ppl_ocaml_globals.ml (1.1), test1.ml (1.15):
-	  Added the file `ppl_ocaml_globals.ml' that should contain the
-	  fixed code after the migration to m4.
-
-2006-12-12 Tuesday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval1.cc (altnum.6): Useless code removed.
-
-2006-12-12 Tuesday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval1.cc (altnum.5): Revised so as to perform more
-	  interesting tests.
-
-2006-12-12 Tuesday 18:29  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[28,88]): New
-	  implementation for intervals add, sub and mul.
-
-2006-12-11 Monday 16:30  Andrea Cimino
-
-	* configure.ac (1.256), interfaces/OCaml/Makefile.am (1.14),
-	  interfaces/OCaml/ppl_ocaml.ml (1.1),
-	  interfaces/OCaml/ppl_ocaml.mli (1.15): Separated declaration and
-	  implementation of the OCaml interface.  Added some kinds of
-	  exceptions that relates to PPL.  Added a piece of code in
-	  `configure.ac' that tries to detect the presence of the GMP-OCaml
-	  module.
-
-2006-12-10 Sunday 16:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/hybrid.cc (1.2): Tests 01 and 02 fail with 8-bit
-	  coefficients; the same for test 04, but only when assertions are
-	  enabled.
-
-2006-12-08 Friday 23:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/: Makefile.am (1.102), hybrid.cc (1.1): The
-	  hybrid.cc tests three examples adapted from the papers by
-	  Halbwachs, Proy and Roumanoff on linear hybrid systems (1994 and
-	  1997).
-
-2006-12-08 Friday 14:58  Andrea Cimino
-
-	* tests/Polyhedron/: Makefile.am, serialize1.cc (serial.[1,1]):
-	  Added some tests for the Serializer class.
-
-2006-12-08 Friday 12:54  Andrea Cimino
-
-	* configure.ac, m4/ac_check_bz2lib.m4, m4/ac_check_zlib.m4,
-	  src/Bit_Matrix.defs.hh, src/Bit_Row.defs.hh,
-	  src/Constraint_System.defs.hh, src/Generator_System.defs.hh,
-	  src/Linear_System.defs.hh, src/Makefile.am,
-	  src/Ph_Status.idefs.hh, src/Polyhedron.defs.hh, src/Row.defs.hh,
-	  src/Serializer.cc, src/Serializer.defs.hh,
-	  src/Serializer.inlines.hh, src/Serializer.types.hh
-	  (serial.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Put the Serializer
-	  class under CVS control.  Added some friend declaration to let
-	  the Serializer compile.  Added a couple of macros to detect if
-	  `bz2' and `gzlib' are installed.
-
-2006-12-07 Thursday 11:05  Andrea Cimino
-
-	* src/Polyhedron_nonpublic.cc (1.74): Use `gen_sys_i' instead of
-	  `g' whenever is appropriate to avoid wrong computations.
-
-2006-12-07 Thursday 10:00  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.67): Removed an useless variable and
-	  added const to a variable in BD_Shape::refine.
-
-2006-12-06 Wednesday 19:58  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[27,87]): Fixed
-	  some compilation errors.
-
-2006-12-06 Wednesday 18:20  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.86): Commented out empty check in
-	  OK().
-
-2006-12-06 Wednesday 18:17  Abramo Bagnara
-
-	* src/: Box.inlines.hh, Box.templates.hh, Interval.defs.hh
-	  (altnum.[25,35,85]): Added non working implementation of
-	  refine_universal. Renamed refine in refine_existential.
-
-2006-12-06 Wednesday 16:38  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, checked_ext.inlines.hh
-	  (altnum.[26,84,13]): Some name cleaning. Fixed comparison.
-
-2006-12-06 Wednesday 16:24  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.23), ppl_ocaml.mli (1.14),
-	  test1.ml (1.14): Implemented `map_space_dimension' function in
-	  the OCaml interface.
-
-2006-12-06 Wednesday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/: Makefile.am, boxdifference1.cc (altnum.[4,1]): Added
-	  a test file for the box_difference_assign() method.
-
-2006-12-06 Wednesday 15:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
-	  (altnum.[22,24,34]): Added declarations and drafted
-	  implementations for methods box_difference_assign() and
-	  difference_assign().	Added an assertion inside add_constraint(),
-	  showing a bug in function refine working on Interval objects.
-
-2006-12-06 Wednesday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (altnum.41): Added missing access
-	  control specification.
-
-2006-12-06 Wednesday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpz.inlines.hh (1.39): Compiler warnings avoided.
-
-2006-12-06 Wednesday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint_System.cc (1.20): Missing inclusions added.
-
-2006-12-06 Wednesday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.cc (1.21): Shadowing avoided.
-
-2006-12-06 Wednesday 09:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (altnum.7): Now the empty box
-	  (for any number of dimensions) is represented by the singleton
-	  list [empty], the test data has to be updated to match.
-
-2006-12-06 Wednesday 08:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4,
-	  ppl_prolog_common.icc, tests/pl_check.pl (altnum.[7,4,6]): In
-	  tests/pl_check.pl, spelling correction done that has already been
-	  done in the main branch.
-
-	  In ppl_prolog_common.icc, in interval_term(), the upper bound
-	  when unbounded has to be "pinf" and not "minf".
-
-	  In the ppl_prolog.icc code for get_bounding_box, we must cater
-	  specially for the empty box.
-
-2006-12-05 Tuesday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.defs.hh (1.3): Old compilers cannot cope with the
-	  change of the previous commit: reverted.
-
-2006-12-05 Tuesday 21:53  Andrea Cimino
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.22): Avoid to hide previously
-	  declared variables if there is no need.
-
-2006-12-05 Tuesday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.defs.hh (1.2): Useless qualifications (tentatively)
-	  removed.
-
-2006-12-05 Tuesday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.templates.hh (1.23): Spurious declaration removed.
-
-2006-12-05 Tuesday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.21): Useless breaks removed.
-	  Added a FIXME.
-
-2006-12-05 Tuesday 19:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.12):
-	  Duplicate return statement removed.
-
-2006-12-05 Tuesday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.11):
-	  Spurious semicolon removed.
-
-2006-12-05 Tuesday 19:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.73): Avoid shadowing parameters.
-
-2006-12-05 Tuesday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Congruence.defs.hh (1.17), Congruence.inlines.hh (1.14),
-	  Constraint.cc (1.64), Constraint.inlines.hh (1.65),
-	  Grid.inlines.hh (1.12), Grid_Generator.defs.hh (1.27),
-	  Grid_Generator.inlines.hh (1.12),
-	  Grid_Generator_System.inlines.hh (1.11), Makefile.am (1.166),
-	  Polyhedron.inlines.hh (1.135): Inclusions fixed.  A couple of
-	  constructors (with loops) made non-inline.  Made sure inlines are
-	  defined before being called.
-
-2006-12-05 Tuesday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/max_space_dimension.hh (1.10): Fixed max_space_dimension().
-
-2006-12-05 Tuesday 17:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/fromgensys1.cc (altnum.3): Adapted to the Box
-	  abstraction; also test the case of closure points.
-
-2006-12-05 Tuesday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.33): Implemented constructor
-	  Box(const Generator_System& gs).
-
-2006-12-05 Tuesday 17:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.42): Spelling corrected.
-
-2006-12-05 Tuesday 17:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh (altnum.[21,23]): Added
-	  recycling constructors from systems of constraints/generators.
-	  Prefer Interval::set_universe() where appropriate.
-
-2006-12-05 Tuesday 11:35  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.20), ppl_ocaml.mli (1.13),
-	  test1.ml (1.13): Implemented `fold_space_dimensions' and
-	  `remove_space_dimensions'.
-
-2006-12-05 Tuesday 09:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/mapspacedims1.cc (altnum.3): Fixed known results.
-
-2006-12-05 Tuesday 09:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.inlines.hh (altnum.22): Temporarily patched constructor
-	  taking a Constraint_System.
-
-2006-12-04 Monday 23:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.32): Do not assume the underlying
-	  interval type can handle empty intervals (apart from answering
-	  the is_empty() query).
-
-2006-12-04 Monday 23:11  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.83): Invalidate cardinality cache
-	  when needed.
-
-2006-12-04 Monday 22:54  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.82): Added missing return.
-
-2006-12-04 Monday 22:49  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.81): Call normalize() only on
-	  restricted intervals.
-
-2006-12-04 Monday 22:33  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Result.defs.hh, checked.defs.hh
-	  (altnum.[40,3,41]): Made Check_Overflow_Policy more transparent.
-
-2006-12-04 Monday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/empty1.cc (altnum.2): New function test06() exhibits a
-	  bug in Box::is_empty().  The other tests are currently not
-	  executed since they are waiting for conversion.
-
-2006-12-04 Monday 22:06  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.80): Added OK() calls.
-
-2006-12-04 Monday 21:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
-	  (altnum.[20,21,31]): Drafted implementation of methods swap and
-	  map_space_dimensions.
-
-2006-12-04 Monday 21:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.30): Corrected method is_bounded().
-
-2006-12-04 Monday 21:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/bhz03widening1.cc (altnum.2): Disambiguate pointer to
-	  widening method. Added a FIXME to remember that we need to define
-	  a widening certificate for CC76.
-
-2006-12-04 Monday 21:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/boxhull1.cc (altnum.1): Put under CVS control.
-
-2006-12-04 Monday 21:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Box/bgp99extrapolation1.cc (altnum.2): Avoid ambiguity when
-	  taking the address of method CC76_widening_assign.
-
-2006-12-04 Monday 20:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.templates.hh (altnum.[19,29]): Added
-	  (optional) tokens support to CC76 widening method.
-
-2006-12-04 Monday 20:03  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.79): Fixed singleton output.
-
-2006-12-04 Monday 19:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval1.cc (altnum.4): Do not rely on default
-	  parameters of std::complex constructors.
-
-2006-12-04 Monday 19:43  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.78): Added explicit.
-
-2006-12-04 Monday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/interval1.cc (altnum.3): First rough bits of a new test
-	  shows some interesting things.
-
-2006-12-04 Monday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.templates.hh, Interval.defs.hh
-	  (altnum.[18,28,77]): Drafted implementations for
-	  Box::ascii_dump() and Box::ascii_load(), currently depending on
-	  stub implementations of the corresponding methods of class
-	  Interval.
-
-2006-12-04 Monday 18:56  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.76): Added return value.
-
-2006-12-04 Monday 18:52  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.75): Fixed info for singleton.
-
-2006-12-04 Monday 18:46  Abramo Bagnara
-
-	* src/: Box.inlines.hh, Interval.defs.hh (altnum.[20,74]): Fixed
-	  division.
-
-2006-12-04 Monday 18:36  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.73): Fixed return type.
-
-2006-12-04 Monday 18:25  Abramo Bagnara
-
-	* src/: Interval.defs.hh, Interval_Restriction.defs.hh
-	  (altnum.[72,9]): Added operators.
-
-2006-12-04 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (altnum.71): Added naive version of
-	  Interval::Interval(const Boundary&).
-
-2006-12-04 Monday 17:57  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (altnum.35): Fixed typo.
-
-2006-12-04 Monday 16:50  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.70): Fixed signatures.
-
-2006-12-04 Monday 16:24  Abramo Bagnara
-
-	* tests/Box/interval1.cc (altnum.2): Fixed policy.
-
-2006-12-04 Monday 15:49  Andrea Cimino
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.19): Simplified the code to
-	  build constraint systems, generator systems and congruence
-	  systems.
-
-2006-12-04 Monday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/boundingbox3.cc (altnum.5): Print constraints
-	  whenever printing generators does not give any advantage.  Always
-	  print after having determined the result of the test.
-
-2006-12-04 Monday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (altnum.31): Missing dependency added.
-
-2006-12-04 Monday 15:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.27): Corrected a bug in
-	  CC76_widening_assign().
-
-2006-12-04 Monday 15:22  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.18), ppl_ocaml.mli (1.12):
-	  Drafted a first implementation of `relation_with' methods.  In
-	  OCaml the value returned is a list with the relations between a
-	  Constraint/Generator and the Polyhedron.
-
-2006-12-04 Monday 14:48  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.69): Use checked I/O.
-
-2006-12-04 Monday 14:47  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[39,34]): Added I/O for native.
-
-2006-12-04 Monday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: boundingbox1.cc, boundingbox2.cc
-	  (altnum.[5,4]): Print constraints whenever printing generators
-	  does not give any advantage.	Always print after having
-	  determined the result of the test.
-
-2006-12-04 Monday 14:15  Abramo Bagnara
-
-	* src/Interval_Restriction.defs.hh (altnum.8): Fixed restrict()
-	  return value.
-
-2006-12-04 Monday 13:56  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.25): Fixed typo.
-
-2006-12-04 Monday 12:44  Abramo Bagnara
-
-	* src/: Interval_Info.defs.hh, Interval_Restriction.defs.hh
-	  (altnum.[16,7]): Clear info in constructors.
-
-2006-12-04 Monday 12:43  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.68): Added I_MAYBE_EMPTY.
-
-2006-12-04 Monday 12:43  Abramo Bagnara
-
-	* src/Box.inlines.hh (altnum.19): Fixed use of I_Result.
-
-2006-12-04 Monday 12:42  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.24): Fixed boundary comparison.
-
-2006-12-04 Monday 10:42  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.17), ppl_ocaml.mli (1.11),
-	  test1.ml (1.12): Implemented the swap operation between two
-	  polyhedrons.
-
-2006-12-03 Sunday 22:30  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Interval_Restriction.defs.hh,
-	  Temp.defs.hh, checked.inlines.hh (altnum.[38,6,9,31]): Removed
-	  optional parameter in Enable_If when it's useless and confusing.
-
-2006-12-03 Sunday 22:22  Abramo Bagnara
-
-	* src/Temp.defs.hh (altnum.8): Added option type parameter.
-
-2006-12-03 Sunday 20:29  Abramo Bagnara
-
-	* src/: Checked_Number.inlines.hh, Temp.defs.hh (altnum.[33,7]):
-	  Fixed swap calls.
-
-2006-12-03 Sunday 20:20  Abramo Bagnara
-
-	* src/Temp.defs.hh (altnum.6): Cleaned namespace mess.
-
-2006-12-03 Sunday 19:56  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  Temp.defs.hh, mp_std_bits.defs.hh, mp_std_bits.inlines.hh,
-	  Checked_Number.defs.hh, mp_std_bits.defs.hh
-	  (altnum.[36,32,5,3,2,37,4]): Moved swap in the same namespace of
-	  type of its arguments.
-
-2006-12-03 Sunday 17:57  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh,
-	  Rational_Box.hh (altnum.[23,67,15,11]): Removed policy flag
-	  infinity_is_open and fixed the related mess.
-
-2006-12-03 Sunday 17:20  Abramo Bagnara
-
-	* src/Rational_Box.hh (altnum.10): Fixed policy.
-
-2006-12-03 Sunday 17:17  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.66): Fixed OK check.
-
-2006-12-03 Sunday 16:00  Abramo Bagnara
-
-	* src/globals.defs.hh (altnum.13): Much more elegant definitions
-	  for Constant.
-
-2006-12-03 Sunday 14:48  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.16), ppl_ocaml.mli (1.10),
-	  test1.ml (1.11): Implemented `maximize', `minimize' and
-	  `expand_space_dimension'.
-
-2006-12-03 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.icc (altnum.3): Restored some
-	  of the code lost during the ninth merge from the main trunk.
-
-2006-12-03 Sunday 00:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (altnum.7): Avoid comparing a
-	  Checked_Number with the integer constant 1.
-
-2006-12-02 Saturday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS, TODO, config.guess, config.sub, configure.ac,
-	  instchk.hh, Watchdog/config.guess, Watchdog/config.sub,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
-	  doc/definitions.dox, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, interfaces/Makefile.am,
-	  interfaces/ppl_interface_generator_common.m4,
-	  interfaces/ppl_interface_generator_common_dat.m4,
-	  interfaces/C/Makefile.am,
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_preamble,
-	  interfaces/C/ppl_interface_generator_c_dat.m4,
-	  interfaces/C/ppl_interface_generator_c_h_code.m4,
-	  interfaces/Java/Makefile.am,
-	  interfaces/Java/ppl_interface_generator_java_dat.m4,
-	  interfaces/Java/jni/.cvsignore, interfaces/Java/jni/Makefile.am,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
-	  interfaces/Java/jni/ppl_java_C_Polyhedron.cc,
-	  interfaces/Java/jni/ppl_java_Polyhedron.cc,
-	  interfaces/Java/jni/ppl_java_common.cc,
-	  interfaces/Java/jni/ppl_java_common.hh,
-	  interfaces/Java/jni/ppl_java_globals.cc,
-	  interfaces/Java/tests/.cvsignore,
-	  interfaces/Java/tests/C_Polyhedron_test1.java,
-	  interfaces/Java/tests/Makefile.am,
-	  interfaces/Java/tests/Test_Partial_Function.java,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java.m4,
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4,
-	  interfaces/Java/tests/ppl_java_tests_common,
-	  interfaces/OCaml/ppl_ocaml.cc, interfaces/OCaml/ppl_ocaml.mli,
-	  interfaces/OCaml/test1.ml, interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble,
-	  interfaces/Prolog/ppl_prolog_common.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	  interfaces/Prolog/SICStus/sp_clpq.pl,
-	  interfaces/Prolog/SICStus/sp_pl_check.pl,
-	  interfaces/Prolog/SICStus/sp_predicate_check.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/swi_predicate_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected_pchk_int8_a,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
-	  interfaces/Prolog/tests/ppl_predicate_check_common.pl,
-	  m4/Makefile.am, m4/ac_check_classpath.m4, m4/ac_prog_jar.m4,
-	  m4/ac_prog_java.m4, m4/ac_prog_javac.m4, m4/ac_prog_javah.m4,
-	  src/Any_Pointset.defs.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_Matrix.types.hh,
-	  src/Bit_Row.cc, src/Bit_Row.defs.hh, src/Bit_Row.inlines.hh,
-	  src/Bit_Row.types.hh, src/Box.templates.hh, src/C_Polyhedron.cc,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  src/Checked_Number.defs.hh, src/Grid.defs.hh,
-	  src/Grid.inlines.hh, src/Grid_Generator_System.cc,
-	  src/Grid_chdims.cc, src/Grid_nonpublic.cc, src/Grid_public.cc,
-	  src/Grid_widenings.cc, src/Linear_System.cc,
-	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
-	  src/MIP_Problem.cc, src/MIP_Problem.defs.hh, src/Makefile.am,
-	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
-	  src/NNC_Polyhedron.inlines.hh, src/Octagonal_Shape.defs.hh,
-	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.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_chdims.cc, src/Polyhedron_nonpublic.cc,
-	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
-	  src/Saturation_Matrix.cc, src/Saturation_Matrix.defs.hh,
-	  src/Saturation_Matrix.inlines.hh, src/Saturation_Matrix.types.hh,
-	  src/Saturation_Row.cc, src/Saturation_Row.defs.hh,
-	  src/Saturation_Row.inlines.hh, src/Saturation_Row.types.hh,
-	  src/Variables_Set.cc, src/Variables_Set.defs.hh,
-	  src/Variables_Set.inlines.hh, src/conversion.cc,
-	  src/globals.defs.hh, src/minimize.cc, src/mp_std_bits.cc,
-	  src/mp_std_bits.defs.hh, src/simplify.cc, src/swapping_sort.icc,
-	  tests/FCAIBVP.cc, tests/FCAIBVP.defs.hh,
-	  tests/FCAIBVP.inlines.hh, tests/BD_Shape/Makefile.am,
-	  tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/boundedaffinepreimage1.cc,
-	  tests/BD_Shape/bounds1.cc, tests/BD_Shape/constraints1.cc,
-	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/max_min1.cc,
-	  tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim.cc,
-	  tests/BD_Shape/maxspacedim1.cc, tests/BD_Shape/relations3.cc,
-	  tests/Grid/Makefile.am, tests/Grid/approximatepartition1.cc,
-	  tests/Grid/disjoint1.cc, tests/Grid/intersection1.cc,
-	  tests/Grid/partition1.cc, tests/Grid/powersetdifference1.cc,
-	  tests/Grid/powersetgeometricallycovers1.cc,
-	  tests/Grid/powersetgeometricallyequals1.cc,
-	  tests/Grid/widening2.cc, tests/MIP_Problem/mipproblem1.cc,
-	  tests/Octagonal_Shape/Makefile.am,
-	  tests/Octagonal_Shape/boundedaffineimage1.cc,
-	  tests/Octagonal_Shape/boundedaffinepreimage1.cc,
-	  tests/Octagonal_Shape/bounds1.cc,
-	  tests/Octagonal_Shape/constraints1.cc,
-	  tests/Octagonal_Shape/expandspacedim1.cc,
-	  tests/Octagonal_Shape/foldspacedims1.cc,
-	  tests/Octagonal_Shape/mapspacedims1.cc,
-	  tests/Octagonal_Shape/max_min1.cc,
-	  tests/Octagonal_Shape/max_min2.cc,
-	  tests/Octagonal_Shape/maxspacedim.cc,
-	  tests/Octagonal_Shape/maxspacedim1.cc,
-	  tests/Octagonal_Shape/relatwithgen1.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/pointsetpowerset1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/variablesset1.cc, utils/Makefile.am,
-	  utils/cm_cleaner.sh, utils/cm_splitter.sh
-	  (altnum.[5,9,6,5,23,3,6,5,12,6,7,3,5,9,7,3,4,3,3,3,3,4,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,6,7,2,3,7,6,7,3,3,2,2,7,2,6,3,6,3,3,5,3,3,3,2,3,2,2,2,2,2,3,5,5,6,2,2,2,2,2,2,2,2,26,5,7,6,35,3,3,3,3,3,3,3,6,6,6,3,3,30,2,6,6,3,3,6,3,3,3,3,10,7,14,11,9,3,3,3,3,4,3,4,3,3,3,3,8,12,6,1,2,7,5,3,3,3,6,3,2,2,4,3,2,2,4,2,4,3,2,3,3,3,2,2,2,3,3,6,3,3,2,3,3,2,3,2,2,3,2,3,4,3,3,3,3,2,2]):
-	  Ninth merge of the trunk to the `altnum' branch.
-
-2006-12-02 Saturday 18:01  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[34,31]): Adjusted prototype for arithmetic operators.
-
-2006-12-02 Saturday 17:27  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[22,65]):
-	  Adjusted prototype for interval == and !=.
-
-2006-12-02 Saturday 16:48  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  checked.defs.hh, checked_float.inlines.hh,
-	  checked_int.inlines.hh, checked_mpq.inlines.hh,
-	  checked_mpz.inlines.hh (altnum.[33,30,40,31,40,36,39]): Made
-	  relational operators on Checked_Numbers less invasive.
-
-2006-12-02 Saturday 16:22  Abramo Bagnara
-
-	* src/C_Integer.hh (altnum.1): Added support for Constants. Use
-	  only a template for all C integers info.
-
-2006-12-02 Saturday 16:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/meta_programming.hh (altnum.5): Drafted the documentation for
-	  template <bool b> struct Compile_Time_Check.
-
-2006-12-02 Saturday 16:12  Abramo Bagnara
-
-	* src/: Limits.hh, Makefile.am, checked.inlines.hh,
-	  checked_int.inlines.hh, checked_mpz.inlines.hh, globals.defs.hh
-	  (altnum.[7,29,30,39,38,11]): Added support for Constants. Use
-	  only a template for all C integers info.
-
-2006-12-02 Saturday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/meta_programming.hh (altnum.4): Added an example showing how
-	  to use Enable_If.
-
-2006-12-02 Saturday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/Makefile.am, Octagonal_Shape/Makefile.am
-	  (altnum.[5,5]): Temporary kludge to allow parallel builds to
-	  work.
-
-2006-12-02 Saturday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/meta_programming.hh (altnum.3): Drafted the documentation of
-	  template <bool b, typename T> struct Enable_If.
-
-2006-12-02 Saturday 12:44  Andrea Cimino
-
-	* interfaces/: Java/jni/ppl_java_common.cc (1.26),
-	  OCaml/ppl_ocaml.cc (1.15), OCaml/ppl_ocaml.mli (1.9),
-	  OCaml/test1.ml (1.10): Interfaced other methods that relate to
-	  Polyhedron.  Avoid useless checks in the Java interface.
-
-2006-12-02 Saturday 12:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.cc (altnum.1): file
-	  ppl_java_common.cc was added on branch altnum on 2006-12-02
-	  22:35:27 +0000
-
-2006-12-02 Saturday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/Makefile.am, Octagonal_Shape/Makefile.am
-	  (altnum.[4,4]): Previous change completed.
-
-2006-12-02 Saturday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpq.inlines.hh (altnum.35): Fixed copy and paste
-	  mistake.
-
-2006-12-02 Saturday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/meta_programming.hh (altnum.2): Changed an instance of
-	  `class' to `typename'.
-
-2006-12-02 Saturday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  Interval.defs.hh, Interval_Restriction.defs.hh, Temp.defs.hh,
-	  checked.inlines.hh, compiler.hh, meta_programming.hh
-	  (altnum.[32,29,64,5,4,29,18,1]): New source `meta_programming.hh'
-	  will contain all our metaprogramming utilities.
-
-2006-12-02 Saturday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/Makefile.am, Octagonal_Shape/Makefile.am
-	  (altnum.[3,3]): Allow parallel builds in tests/BD_Shape and
-	  tests/Octagonal_Shape.
-
-2006-12-02 Saturday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpz.inlines.hh (altnum.37): Spurious comment removed.
-
-2006-12-02 Saturday 11:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Grid/boundingbox1.cc, Grid/boundingbox2.cc,
-	  Grid/coveringbox1.cc, Grid/coveringbox2.cc,
-	  Grid/directproduct1.cc, Polyhedron/boundingbox1.cc,
-	  Polyhedron/boundingbox3.cc (altnum.[3,3,3,3,3,4,4]): No longer
-	  use Bounding_Box: use Rational_Box instead.
-
-2006-12-02 Saturday 10:58  Abramo Bagnara
-
-	* src/checked.inlines.hh (altnum.28): Fixed comparison.
-
-2006-12-02 Saturday 10:58  Abramo Bagnara
-
-	* src/checked_mpz.inlines.hh (altnum.36): Added missing #include.
-
-2006-12-02 Saturday 10:32  Andrea Cimino
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.14): Solved a bug that was
-	  causing segmentation faults.
-
-2006-12-02 Saturday 10:13  Abramo Bagnara
-
-	* src/: checked.inlines.hh, checked_mpq.inlines.hh,
-	  checked_mpz.inlines.hh (altnum.[27,34,35]): Implemented universal
-	  comparisons.
-
-2006-12-02 Saturday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/compiler.hh (altnum.17): Drafted the documentation for
-	  template <typename Base, typename Derived> struct
-	  Is_Same_Or_Derived.
-
-2006-12-02 Saturday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Temp.defs.hh, compiler.hh (altnum.[3,16]): Drafted the
-	  documentation for template <bool b> struct Bool, struct True,
-	  struct False, and template <typename T1, typename T2> struct
-	  Is_Same.
-
-2006-12-02 Saturday 07:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GMP_Integer.defs.hh, GMP_Integer.inlines.hh,
-	  GMP_Integer.types.hh, Makefile.am, Old_Interval.defs.hh,
-	  checked.defs.hh, checked_mpq.inlines.hh, checked_mpz.inlines.hh,
-	  checked_numeric_limits.hh, mp_numeric_limits.hh,
-	  mp_std_bits.defs.hh, mp_std_bits.inlines.hh
-	  (altnum.[9,8,6,28,3,39,33,34,7,3,1,1]): New sources
-	  `mp_std_bits.defs.hh' and `mp_std_bits.inlines.hh' contain the
-	  specializations of std:: objects that are not defined by GMP and
-	  MPFR (presently these include std::swap() and
-	  std::numeric_limits).  The policy is to include
-	  mp_std_bits.defs.hh immediately after each inclusion of gmpxx.h.
-	  File `mp_numeric_limits.hh' phased out.
-
-2006-12-01 Friday 18:00  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh,
-	  Interval_Restriction.defs.hh, checked_float.inlines.hh,
-	  checked_int.inlines.hh, compiler.hh, fpu-ia32.inlines.hh
-	  (altnum.[21,63,14,4,30,38,15,5]): Silenced some warnings.
-
-2006-12-01 Friday 17:59  Abramo Bagnara
-
-	* src/Temp.defs.hh (altnum.2): Commented out missing specialization
-	  check.
-
-2006-12-01 Friday 16:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.16),
-	  ppl_interface_generator_common_dat.m4 (1.26),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.28),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.36),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.45): Use the H79 certificate for more widenings.  Provided
-	  code for extrapolation operators for the disjuncts for the BGP99
-	  extrapolation. However this is not enabled as the C++ code does
-	  not support this yet.
-
-	  Allow for the replacement to be "NONE" as well as the
-	  alternative.	If either are "NONE" then the code is not
-	  generated.
-
-2006-12-01 Friday 15:55  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.20): Commented out two
-	  COMPILE_TIME_CHECK.
-
-2006-12-01 Friday 15:54  Abramo Bagnara
-
-	* src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[32,33]): Added missing swap.
-
-2006-12-01 Friday 15:36  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Interval.defs.hh,
-	  Interval_Restriction.defs.hh, Rounding_Dir.defs.hh, Temp.defs.hh,
-	  checked.defs.hh, checked_mpq.inlines.hh, checked_mpz.inlines.hh,
-	  compiler.hh (altnum.[31,62,3,5,1,38,31,32,14]): Added support for
-	  fast (dirty) temporary.
-
-2006-12-01 Friday 14:43  Andrea Cimino
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.13): Use a more appropriate way
-	  to return PPL coefficients to the OCaml world.
-
-2006-12-01 Friday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: DB_Matrix.inlines.hh, OR_Matrix.inlines.hh (altnum.[3,3]):
-	  Use the function sgn() when comparing a Checked_Number with the
-	  constant 0.
-
-2006-12-01 Friday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh, Octagonal_Shape.templates.hh
-	  (altnum.[5,5]): Avoid comparing a checked number with the integer
-	  constant 1.
-
-2006-12-01 Friday 11:58  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.12), test1.ml (1.9): The code
-	  now compiles also with non GMP types.  Still some problems to
-	  solve in the lookup phase at runtime.
-
-2006-12-01 Friday 10:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.25):
-	  Redundant code removed and a "FIXME" comment added.
-
-2006-12-01 Friday 10:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.15),
-	  ppl_interface_generator_common_dat.m4 (1.24): Further
-	  modifications to the code for generating the pattern replacements
-	  means that we can also generate the code for the
-	  Pointset_Powerset<BD_Shape<int8_t> > (and similarly
-	  Octagonal_Shape) for the widening and extrapolation operators.
-
-	  One new feature introduced in the m4 code is: if the alternative
-	  replacement is defined to be "NONE", no code is generated. This
-	  caters for the case when the BD_Shape widening does not come with
-	  a certificate and, so, cannot be used for the pointset powerset
-	  certificate widening.
-
-2006-12-01 Friday 09:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.23): In the
-	  widening/extrapolation of Pointset_Powerset domains, when the
-	  disjunct domain is C_Polyhedron or NNC_Polyhedron, we must remove
-	  the topology before looking for the pattern replacement for the
-	  disjunct widening.
-
-2006-12-01 Friday 08:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.27),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.35),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.44):
-	  Added m4 code for generating the BGP99 extrapolation assign
-	  predicate.  A simple check for this extrapolation predicate added
-	  to the tests.
-
-	  Also added draft code for a "with_tokens" version of the BHZ03
-	  certificate widening (but not enabled as there is no
-	  "with_tokens" option in the C++ BHZ03 widening).
-
-2006-12-01 Friday 07:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.34): Correction to Pointset_Powerset certificate widening
-	  code.
-
-2006-11-30 Thursday 23:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.22),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.26),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.33): Added
-	  Prolog predicates for widening pointset_powerset domains using
-	  certificate-based widenings. Code is incomplete and not working.
-
-2006-11-30 Thursday 23:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.templates.hh, Interval.defs.hh (altnum.[25,61]): Fixed
-	  implementation of contains() for intervals.  Corrected a bug in
-	  the implementation of Box::contains(). Pointed out a name hiding
-	  issue.
-
-2006-11-30 Thursday 22:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.templates.hh (altnum.[17,24]): Implemented
-	  method Box::contains().
-
-2006-11-30 Thursday 18:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh, Octagonal_Shape.templates.hh
-	  (altnum.[4,4]): Use the sign function when comparing a checked
-	  coefficient with the integer constant 0.
-
-2006-11-30 Thursday 18:43  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.11), ppl_ocaml.mli (1.8),
-	  test1.ml (1.8): Defined and implemented other methods that belong
-	  to Polyhedron.
-
-2006-11-30 Thursday 17:09  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[30,28]): Added implementation of sgn and cmp for native
-	  types.
-
-2006-11-30 Thursday 16:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (altnum.5): Added dummy definitions for
-	  Test_Box_Interval_Info and for check_result() on Box objects.
-
-2006-11-30 Thursday 14:36  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.10), ppl_ocaml.mli (1.7),
-	  test1.ml (1.7): Added support to return congruence systems.
-
-2006-11-30 Thursday 14:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.defs.hh (altnum.60): Typo corrected.
-
-2006-11-30 Thursday 13:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval_Info.defs.hh (altnum.13): Added copyright preamble.
-
-2006-11-30 Thursday 13:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Rational_Box.hh (altnum.9): Use Interval_Restriction_None
-	  instead of Interval_No_Restrictions.
-
-2006-11-30 Thursday 09:48  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.9), ppl_ocaml.mli (1.6),
-	  test1.ml (1.6): Written the code to return constraints,
-	  generators, generator systems and constraints system.
-
-2006-11-30 Thursday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.defs.hh (altnum.59): Use function info to access
-	  private base class.
-
-2006-11-30 Thursday 09:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval_Restriction.defs.hh (altnum.2): Corrected a typo (EQ
-	  --> V_EQ).
-
-2006-11-30 Thursday 09:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (altnum.4): Inserted a few comppile-time
-	  boolean constants in Test_Box_Interval_Info_Policy; the policy
-	  still misses members.
-
-2006-11-30 Thursday 09:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Interval.defs.hh (altnum.58): Added inline definition for
-	  operator!=.
-
-2006-11-30 Thursday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/checked_mpq.inlines.hh (altnum.30): Added a missing template
-	  argument to a div call in the sqrt implementation.
-
-2006-11-29 Wednesday 17:46  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Box.templates.hh, Interval.defs.hh,
-	  Interval_Info.defs.hh, Interval_Restriction.defs.hh,
-	  Rational_Box.hh, checked_float.inlines.hh, checked_int.inlines.hh
-	  (altnum.[19,23,57,12,1,8,29,37]): First working version of
-	  Interval_Restriction_Integer_Modulo.
-
-2006-11-29 Wednesday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/approximatepartition1.cc (altnum.1): file
-	  approximatepartition1.cc was added on branch altnum on 2006-12-02
-	  22:35:33 +0000
-
-2006-11-29 Wednesday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/powersetdifference1.cc (altnum.1): file
-	  powersetdifference1.cc was added on branch altnum on 2006-12-02
-	  22:35:33 +0000
-
-2006-11-29 Wednesday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/powersetgeometricallycovers1.cc (altnum.1): file
-	  powersetgeometricallycovers1.cc was added on branch altnum on
-	  2006-12-02 22:35:33 +0000
-
-2006-11-29 Wednesday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/powersetgeometricallyequals1.cc (altnum.1): file
-	  powersetgeometricallyequals1.cc was added on branch altnum on
-	  2006-12-02 22:35:33 +0000
-
-2006-11-29 Wednesday 13:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.cc (1.9), src/Pointset_Powerset.defs.hh
-	  (1.10), tests/Grid/Makefile.am (1.45),
-	  tests/Grid/approximatepartition1.cc (1.1),
-	  tests/Grid/partition1.cc (1.3), tests/Grid/powerset1.cc (1.4),
-	  tests/Grid/powersetdifference1.cc (1.1),
-	  tests/Grid/powersetgeometricallycovers1.cc (1.1),
-	  tests/Grid/powersetgeometricallyequals1.cc (1.1): Corrected and
-	  improved the code for approximate_partition() The test file
-	  approximatepartition1.cc now tests this.  Restored partition1.cc
-	  to just test the algorithm partition() defined there.  Replaced
-	  powerset1.cc by three test files, one for each operation and
-	  added some extra tests.
-
-2006-11-29 Wednesday 06:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/:
-	  ppl_interface_generator_sicstus_sd_cc.m4 (1.5), sp_clpq.pl
-	  (1.14), sp_pl_check.pl (1.8): Added support for SICStus 4.
-
-2006-11-28 Tuesday 18:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.cc (1.8), src/Pointset_Powerset.defs.hh
-	  (1.9), tests/Grid/partition1.cc (1.2), tests/Grid/powerset1.cc
-	  (1.3): Boolean flag name changed from exact to finite_partition.
-
-	  Added another test to powerset1.cc Changed partition1.cc test to
-	  use approximate_partition()
-
-	  Revised/added a couple of comments.
-
-2006-11-28 Tuesday 17:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Powerset.cc (1.7), Pointset_Powerset.defs.hh
-	  (1.8): Functions approximate_partition() and check_containment()
-	  working on (powersets of) grids are now publicly available.
-	  Corrected the handling of the boolean argument encoding exactness
-	  of the partition.
-
-2006-11-28 Tuesday 17:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (1.7): Use std::make_pair()
-	  where appropriate.
-
-2006-11-28 Tuesday 09:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.21): Enable
-	  ..._geometrically_covers/2 and ..._geometrically_equals/2 for
-	  powersets of Grids.
-
-2006-11-28 Tuesday 09:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Pointset_Powerset.cc (1.6), src/Pointset_Powerset.inlines.hh
-	  (1.5), tests/Grid/powerset1.cc (1.2): Added
-	  geometrically_covers() and geometrically_equals() for Grids.	A
-	  few basic tests for them also added.
-
-2006-11-28 Tuesday 08:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/Makefile.am (1.44), tests/Grid/powerset1.cc (1.1),
-	  src/Pointset_Powerset.cc (1.5): Added poly_difference_assign()
-	  for powersets of grids.
-
-	  Tests added to check this.
-
-	  Also added approximate_partition() for two grids that sets a
-	  Boolean flag depending on whether or not the partition is exact.
-
-2006-11-27 Monday 18:29  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.56): Readded
-	  set_{lower,upper}_unbounded.
-
-2006-11-27 Monday 17:07  Andrea Cimino
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.8), ppl_ocaml.mli (1.5),
-	  test1.ml (1.5): Defined and implemented some constructors and
-	  methods that relates to Polyhedron.
-
-2006-11-27 Monday 16:31  Abramo Bagnara
-
-	* src/: Interval.defs.hh, Interval_Info.defs.hh (altnum.[55,11]):
-	  Fixed some constness.
-
-2006-11-27 Monday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.cc (1.4): Added stub implementations for a
-	  couple of fully specialized members.
-
-2006-11-27 Monday 15:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (1.7): Little adjustments to the
-	  documentation: prefer "disjuncts" to "polyhedra" when talking
-	  about elements of a Pointset_Powerset.  Added declarations for
-	  the Pointset_Powerset<Grid> specializations of methods
-	  poly_difference_assign() and geometrically_covers().
-
-2006-11-27 Monday 15:11  Abramo Bagnara
-
-	* src/: checked.defs.hh, checked.inlines.hh (altnum.[37,26]): Moved
-	  #include compiler.hh.
-
-2006-11-27 Monday 15:04  Abramo Bagnara
-
-	* src/Rational_Box.hh (altnum.7): Some fixes to conform to new
-	  implementation.
-
-2006-11-27 Monday 14:23  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
-	  (altnum.[18,54,10]): Shiny new implementation of intervals with
-	  support for generic restrictions.
-
-2006-11-27 Monday 14:22  Abramo Bagnara
-
-	* src/: checked.defs.hh, checked.inlines.hh,
-	  checked_float.inlines.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[36,25,28,36,29,31]): Added Checked_Supports template.
-	  Some name cleaning according to STANDARDS.
-
-2006-11-27 Monday 14:21  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[29,27]): Added some missing Enable_If.
-
-2006-11-27 Monday 14:20  Abramo Bagnara
-
-	* src/compiler.hh (altnum.13): Removed some macros.
-
-2006-11-27 Monday 13:52  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.45),
-	  tests/Octagonal_Shape/constraints1.cc (1.2),
-	  tests/Octagonal_Shape/relatwithgen1.cc (1.5): Corrected two bugs:
-	  one in relation_with() and another in add_constraint().
-
-2006-11-27 Monday 13:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.20),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.43): Temporarily disable poly_difference for powersets where
-	  the elements are not Polyhedra.
-
-	  Corrected a bug in the test code..
-
-2006-11-27 Monday 12:42  quartieri
-
-	* tests/BD_Shape/constraints1.cc (1.17), src/BD_Shape.templates.hh
-	  (1.66): Corrected an error in add_constraint() when adding an
-	  inconsistent constraint.
-
-2006-11-27 Monday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.36): In the section about "Names", added (surely
-	  partial) guidelines about when to use lower, upper and mixed case
-	  identifiers.
-
-2006-11-27 Monday 11:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/BD_Shape/constraints1.cc (1.16): Added test05 which shows
-	  an error when adding an inconsistent constraint.
-
-2006-11-27 Monday 09:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.32): Corrected ...add_disjuncts code - we must use the C++
-	  name and not the interface name.
-
-2006-11-25 Saturday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.31): When calling predicate ppl_*_get_disjunct/2, the
-	  resulting PPL object handle is now registered in the track
-	  allocation system by calling macro WEAK_REGISTER. These handles
-	  should not be deleted by the Prolog programmer.
-
-2006-11-25 Saturday 14:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/track_allocation.hh (1.20): Added a new set of
-	  registered objects whose deletion is under the PPL library
-	  responsibility. Added a new method weak_insert() to register
-	  addresses to such objects. Added shorthand macro WEAK_REGISTER.
-	  When destroying the allocation tracker, the memory leak error
-	  message is displayed only when there still are REGISTERed objects
-	  (i.e., disregarding WEAK_REGISTERed objects).
-
-2006-11-25 Saturday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.42): Corrected a few bugs leading to memory leaks when
-	  checking Pointset_Powerset instantiations.
-
-2006-11-24 Friday 17:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
-	  (1.30), tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.41), tests/ppl_predicate_check_common.pl (1.2): Removed some
-	  redundant code and an erroneous assignment.
-
-	  Improved the definition of all the test data.
-
-	  Improved the tests of predicates for the pointset_powerset
-	  domain.
-
-2006-11-24 Friday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/ppl_predicate_check_common.pl (altnum.1):
-	  file ppl_predicate_check_common.pl was added on branch altnum on
-	  2006-12-02 22:35:30 +0000
-
-2006-11-24 Friday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
-	  (altnum.1): file ppl_interface_generator_java_test_java.m4 was
-	  added on branch altnum on 2006-12-02 22:35:28 +0000
-
-2006-11-24 Friday 15:41  Andrea Cimino
-
-	* interfaces/Java/: jni/ppl_java_common.cc (1.25),
-	  jni/ppl_java_common.hh (1.23),
-	  tests/ppl_interface_generator_java_test_java.m4 (1.3): Use
-	  appropriate classes to handle various kinds of exceptions coming
-	  from the C++ world.
-
-2006-11-24 Friday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.hh (altnum.1): file
-	  ppl_java_common.hh was added on branch altnum on 2006-12-02
-	  22:35:27 +0000
-
-2006-11-24 Friday 14:20  Andrea Cimino
-
-	* interfaces/Java/tests/: ppl_interface_generator_java_test_java.m4
-	  (1.2), ppl_interface_generator_java_test_java_code.m4 (1.9):
-	  Avoid to continue the test if an overflow is detected.
-
-2006-11-24 Friday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (altnum.1): file ppl_interface_generator_java_test_java_code.m4
-	  was added on branch altnum on 2006-12-02 22:35:28 +0000
-
-2006-11-24 Friday 13:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.40): Improved and added tests for the Pointset_Powerset
-	  classes.
-
-2006-11-24 Friday 11:16  Andrea Cimino
-
-	* interfaces/Java/tests/C_Polyhedron_test1.java (1.5): Removed an
-	  useless call.
-
-2006-11-24 Friday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/C_Polyhedron_test1.java (altnum.1): file
-	  C_Polyhedron_test1.java was added on branch altnum on 2006-12-02
-	  22:35:28 +0000
-
-2006-11-24 Friday 11:00  Andrea Cimino
-
-	* interfaces/Java/tests/: C_Polyhedron_test1.java (1.4),
-	  Makefile.am (1.5), Test_Partial_Function.java (1.1): Added a new
-	  test that relates to Partial_Function implementation in the Java
-	  interface. The written test is based on test03() of
-	  mapspacedims1.cc in the test/Polyhedron directory.
-
-2006-11-24 Friday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/Makefile.am (altnum.1): file Makefile.am
-	  was added on branch altnum on 2006-12-02 22:35:28 +0000
-
-2006-11-24 Friday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/Test_Partial_Function.java (altnum.1): file
-	  Test_Partial_Function.java was added on branch altnum on
-	  2006-12-02 22:35:28 +0000
-
-2006-11-24 Friday 10:27  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_common.cc (1.24),
-	  ppl_java_common.hh (1.22): Fixed other little errors in
-	  Partial_Function caused by a wrong cut and paste.
-
-2006-11-24 Friday 09:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.25),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.29),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.39):
-	  Added two predicates for the pointset_powerset domains.
-	  ppl_ at CLASS@_size/2 and ppl_ at CLASS@_iterator_equals_iterator/2.
-	  Some tests added to check them.
-
-2006-11-24 Friday 08:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.38): Corrected and added extra tests for the pointset_powerset
-	  predicates.
-
-2006-11-24 Friday 00:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.28): Corrected another typo in ppl_*_begin_iterator and
-	  ppl_*_end_iterator.
-
-2006-11-23 Thursday 21:32  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_common.cc (1.23),
-	  ppl_java_common.hh (1.21): Fixed code related to Partial
-	  Function.
-
-2006-11-23 Thursday 19:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.24),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.27): Further
-	  corrected a typo in ppl_*_get_disjunct/2 (test reactivated).
-	  Removed now useless code for ppl_*_get_disjuncts/2.
-
-2006-11-23 Thursday 19:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.23),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.37):
-	  Disabled *_get_disjunct as it still is buggy.
-
-	  Changed several tests so that they first check the existence of
-	  ppl predicates before using them to test the results.  These
-	  checks now have to be in the generated code as the m4 generation
-	  no longer does similar checks.
-
-2006-11-23 Thursday 17:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.22):
-	  Enabled *_get_disjunct
-
-2006-11-23 Thursday 17:51  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.65), tests/BD_Shape/relations3.cc
-	  (1.21): Corrected bugs found in BD_Shape::relation_with(g).
-
-2006-11-23 Thursday 17:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.21),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.26): Corrected the
-	  interfacing of Pointset_Powerset iterators:	- the predicates
-	  *_begin_iterator and *_end_iterator now construct new     objects
-	  of class iterator (note: not const_iterator) that are registered
-	  to the track allocation system;   - added a new predicate
-	  ppl_ at CLASS@_delete_iterator to deallocate an	   iterator (which
-	  is then unregistered);   - added implementations for
-	  *_increment_iterator and *_decrement_iterator;   - corrected
-	  *_get_disjunct so as to check the allocation of the iterator;   -
-	  corrected method *_drop_disjunct so as to update the iterator to
-	  point     to the next disjunct.
-
-2006-11-23 Thursday 15:36  Andrea Cimino
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.8): Use try-catch blocks to allow `make check' pass when
-	  coefficients used are not the GMP ones.
-
-2006-11-23 Thursday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.41): Reactivated check on
-	  ppl_MIP_Problem_objective_function.
-
-2006-11-23 Thursday 15:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.icc (1.3): Corrected method
-	  get_linear_expression. Also made it non-templatic, as it shoudl
-	  be applied to Linear_Expression objects only.
-
-2006-11-23 Thursday 15:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.icc (altnum.1): file
-	  ppl_prolog_common.icc was added on branch altnum on 2006-12-02
-	  22:35:29 +0000
-
-2006-11-23 Thursday 10:50  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, checked.defs.hh,
-	  checked_float.inlines.hh, checked_numeric_limits.hh
-	  (altnum.[28,35,27,6]): Removed force_integer.
-
-2006-11-23 Thursday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog_common.icc (1.2),
-	  tests/pl_check.pl (1.40): Renamed get_linear_expression() to
-	  get_homogeneous_expression() as this ignored the inhomogeneous
-	  part (needed when getting the objective function for an
-	  MIP_Problem).
-
-	  Added get_linear_expression() although tests show a bug in this.
-
-	  Extended the test predicate mip_get..
-
-2006-11-22 Wednesday 20:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.24): Java interface enabled.
-
-2006-11-22 Wednesday 18:27  Andrea Cimino
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.20),
-	  ppl_java_globals.cc (1.2): Fixed some constructors of Polyhedron.
-	  Added the method `constraints()' to the Java version of
-	  MIP_Problem.
-
-2006-11-22 Wednesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (altnum.1): file
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 was
-	  added on branch altnum on 2006-12-02 22:35:27 +0000
-
-2006-11-22 Wednesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_globals.cc (altnum.1): file
-	  ppl_java_globals.cc was added on branch altnum on 2006-12-02
-	  22:35:27 +0000
-
-2006-11-22 Wednesday 15:44  Abramo Bagnara
-
-	* src/: checked_float.inlines.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[26,35,28,30]): Make wider use of assign_exact. Fixed
-	  floor, ceil, trunc for int.
-
-2006-11-22 Wednesday 15:42  Abramo Bagnara
-
-	* src/checked.inlines.hh (altnum.24): Cleaned Safe_Comparison.
-
-2006-11-22 Wednesday 13:49  Andrea Cimino
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.7): Some small changes to let the generated test be more
-	  readable.
-
-2006-11-22 Wednesday 12:49  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	  src/checked.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, tests/Polyhedron/numberinput1.cc
-	  (altnum.[27,26,34,12,25,34,27,29,5,4]): Renamed may_be_ in has_.
-
-2006-11-22 Wednesday 12:28  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh, src/checked.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,
-	  tests/Polyhedron/numberinput1.cc
-	  (altnum.[26,33,11,24,33,26,28,4,3]): Renamed misleading
-	  handle_nan and handle_infinity in may_be_nan and may_be_infinity.
-
-2006-11-22 Wednesday 11:57  Andrea Cimino
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.19), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.6), tests/ppl_java_tests_common (1.4): Fixed some small bugs
-	  in the Java interface.  Extended the generated test.
-
-2006-11-22 Wednesday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/ppl_java_tests_common (altnum.1): file
-	  ppl_java_tests_common was added on branch altnum on 2006-12-02
-	  22:35:28 +0000
-
-2006-11-22 Wednesday 11:56  Abramo Bagnara
-
-	* src/: checked.inlines.hh, checked_float.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[23,23,25,27]): Added force_integer implementation.
-
-2006-11-22 Wednesday 11:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.25),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.36),
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.24), src/Grid.defs.hh (1.38), tests/BD_Shape/relations3.cc
-	  (1.20), tests/Octagonal_Shape/relatwithgen1.cc (1.4): Comment
-	  corrected in src/Grid.defs.hh
-
-	  Redundant code removed in added tests in
-	  tests/Octagonal_Shape/relatwithgen1.cc and
-	  tests/BD_Shape/relations3.cc
-
-	  Bug corrected in
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-
-	  Generation of tests simplified (and made faster) in
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-
-	  Temporarily suppressed failing tests in
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-
-2006-11-22 Wednesday 10:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: BD_Shape/relations3.cc (1.19),
-	  Octagonal_Shape/relatwithgen1.cc (1.3): Added 2 tests to each of
-	  these test files.
-
-	  The first of these (13 in BD_Shape/relations3.cc and 20 in
-	  Octagonal_Shape/relatwithgen1.cc) throw an exception but the call
-	  to these is commented for now.
-
-	  The second of these (14 in BD_Shape/relations3.cc and 21 in
-	  Octagonal_Shape/relatwithgen1.cc) fail indicating a possible bug.
-
-2006-11-21 Tuesday 22:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: SICStus/sp_predicate_check.pl (1.1),
-	  SWI/swi_predicate_check.pl (1.1), tests/Makefile.am (1.12),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.35),
-	  tests/ppl_interface_generator_predicate_check_extra_code (1.23),
-	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.23),
-	  tests/ppl_predicate_check_common.pl (1.1): The fixed part of the
-	  code containing the test data is now a separate Prolog file
-	  called tests/ppl_predicate_check_common.pl
-
-	  This is included with the generated code by the top-level test
-	  files: SICStus/sp_predicate_check.pl and
-	  SWI/swi_predicate_check.pl.  Similar files will be needed by the
-	  other Prolog systems before they can run these generated tests.
-
-	  The code generator no longer attempts to generate tests for the
-	  fixed MIP and version predicates.
-
-	  The file tests/ppl_interface_generator_predicate_check_extra_code
-	  which contained the fixed data is now replaced by
-	  ppl_predicate_check_common.pl.
-
-2006-11-21 Tuesday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sp_predicate_check.pl (altnum.1): file
-	  sp_predicate_check.pl was added on branch altnum on 2006-12-02
-	  22:35:29 +0000
-
-2006-11-21 Tuesday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_predicate_check.pl (altnum.1): file
-	  swi_predicate_check.pl was added on branch altnum on 2006-12-02
-	  22:35:30 +0000
-
-2006-11-21 Tuesday 18:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.19): It is
-	  upper_bound_assign_if_exact and not as I had it:
-	  upper_bound_if_exact.
-
-2006-11-21 Tuesday 18:37  Andrea Cimino
-
-	* interfaces/Java/:
-	  jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.18), tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.5), tests/ppl_java_tests_common (1.3): Some fixes to the
-	  interface.  Extended the m4 generated test.
-
-2006-11-21 Tuesday 16:16  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.64): Removed an useless variable
-	  `space_dim' in refine().
-
-2006-11-21 Tuesday 15:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.18): Allow
-	  the relation_with_generator procedrure for BD_Shape.
-
-2006-11-21 Tuesday 11:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/tests/: Makefile.am (1.4),
-	  ppl_interface_generator_java_test_java_code.m4 (1.4): Added a
-	  test for affine and space dimension.	Changed the Makefile.am so
-	  that make check runs the generated test.
-
-2006-11-21 Tuesday 11:28  Andrea Cimino
-
-	* interfaces/Java/tests/: Makefile.am (1.3),
-	  ppl_interface_generator_java_test_java_code.m4 (1.3),
-	  ppl_java_tests_common (1.2): Fixed test generation.  Allow
-	  Makefile to compile the generated Java source.
-
-2006-11-21 Tuesday 10:48  Andrea Cimino
-
-	*
-	  interfaces/Java/tests/ppl_interface_generator_java_test_java_code.m4
-	  (1.2): Fixed the m4 to build the test correctly.
-
-2006-11-21 Tuesday 10:04  Andrea Cimino
-
-	* interfaces/Java/jni/: Makefile.am (1.8), ppl_java_common.cc
-	  (1.22), ppl_java_common.hh (1.20), ppl_java_globals.cc (1.1):
-	  Written an almost complete support for MIP_Problem.  Written the
-	  class Parma_Polyhedra_Library to obtain version information about
-	  the library.
-
-2006-11-21 Tuesday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/Makefile.am (altnum.1): file Makefile.am was
-	  added on branch altnum on 2006-12-02 22:35:27 +0000
-
-2006-11-21 Tuesday 09:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/tests/: ppl_interface_generator_java_test_java.m4
-	  (1.1), ppl_interface_generator_java_test_java_code.m4 (1.1),
-	  ppl_java_tests_common (1.1): New files for generating the tests
-	  for the Java interface.
-
-2006-11-20 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Octagonal_Shape.templates.hh,
-	  Octagonal_Shape_incremental_strong_closure1.hh,
-	  Octagonal_Shape_incremental_strong_closure10.hh,
-	  Octagonal_Shape_incremental_strong_closure2.hh,
-	  Octagonal_Shape_incremental_strong_closure3.hh,
-	  Octagonal_Shape_incremental_strong_closure4.hh,
-	  Octagonal_Shape_incremental_strong_closure5.hh,
-	  Octagonal_Shape_incremental_strong_closure6.hh,
-	  Octagonal_Shape_incremental_strong_closure7.hh,
-	  Octagonal_Shape_incremental_strong_closure8.hh,
-	  Octagonal_Shape_incremental_strong_closure9.hh,
-	  Octagonal_Shape_strong_closure1.hh,
-	  Octagonal_Shape_strong_closure2.hh,
-	  Octagonal_Shape_strong_closure4.hh
-	  (octagons.[52,1,1,1,1,1,1,1,1,1,1,1,1,1]): Alternate versions of
-	  Octagonal_Shape<T>::strong_closure_assign() and
-	  Octagonal_Shape<T>::incremental_strong_closure_assign(Variable).
-	  They can be selected at configure time by setting CPPFLAGS in the
-	  appropriate way.
-
-2006-11-20 Monday 12:23  Andrea Cimino
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.17),
-	  ppl_java_common.hh (1.19): In widening methods, ensure that the
-	  Java token can fit in a C++ unsigned integer.
-
-2006-11-19 Sunday 23:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.20),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.24): Prolog
-	  interface predicates ppl_..._get_disjunct and
-	  ppl_..._drop_disjunct draft code added.
-
-2006-11-19 Sunday 11:27  Abramo Bagnara
-
-	* src/: Interval.defs.hh, Interval_Info.defs.hh, Rational_Box.hh
-	  (altnum.[53,9,6]): Allow Interval inheritance. Removed
-	  check_empty_args policy.
-
-2006-11-19 Sunday 11:26  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  checked.defs.hh, checked.inlines.hh, checked_ext.inlines.hh,
-	  checked_float.inlines.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[25,25,32,22,10,22,32,24,26]): Use separate policies also
-	  for checked lowlevel. Added trunc. Converted check_nan_args into
-	  check_nan_result. Use full function names in SPECIALIZE_ macros.
-
-2006-11-19 Sunday 11:22  Abramo Bagnara
-
-	* src/compiler.hh (altnum.12): Added ENABLE_IF macro.
-
-2006-11-18 Saturday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, ChangeLog, INSTALL, NEWS, STANDARDS, TODO, config.guess,
-	  config.sub, configure.ac, install-sh, instchk.hh, missing,
-	  mkinstalldirs, Watchdog/ChangeLog, Watchdog/INSTALL,
-	  Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
-	  Watchdog/missing, Watchdog/mkinstalldirs,
-	  Watchdog/src/EList.defs.hh, Watchdog/src/Handler.defs.hh,
-	  Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
-	  Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int16_a,
-	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
-	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
-	  demos/ppl_lpsol/expected_int8, demos/ppl_lpsol/expected_int8_a,
-	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
-	  demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/examples/Makefile.am,
-	  demos/ppl_lpsol/examples/README,
-	  demos/ppl_lpsol/examples/egout.mps,
-	  demos/ppl_lpsol/examples/ex11.mps,
-	  demos/ppl_lpsol/examples/ex12.mps,
-	  demos/ppl_lpsol/examples/lseu.mps,
-	  demos/ppl_lpsol/examples/markshare1.mps,
-	  demos/ppl_lpsol/examples/markshare2.mps,
-	  demos/ppl_lpsol/examples/mas74.mps,
-	  demos/ppl_lpsol/examples/mas76.mps,
-	  demos/ppl_lpsol/examples/modglob.mps,
-	  demos/ppl_lpsol/examples/noswot.mps,
-	  demos/ppl_lpsol/examples/opt1217.mps,
-	  demos/ppl_lpsol/examples/p0033.mps,
-	  demos/ppl_lpsol/examples/pk1.mps,
-	  demos/ppl_lpsol/examples/rout.mps, doc/Makefile.am,
-	  doc/definitions.dox, doc/devref-c-interface.doxyconf-html.in,
-	  doc/devref-c-interface.doxyconf-latex.in,
-	  doc/devref-prolog-interface.doxyconf-html.in,
-	  doc/devref-prolog-interface.doxyconf-latex.in,
-	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
-	  doc/ppl-config.1, doc/ppl-config_extra_man_text, doc/ppl_lcdd.1,
-	  doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
-	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
-	  doc/user-c-interface.doxyconf-html.in,
-	  doc/user-c-interface.doxyconf-latex.in,
-	  doc/user-prolog-interface.doxyconf-html.in,
-	  doc/user-prolog-interface.doxyconf-latex.in,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  interfaces/Makefile.am,
-	  interfaces/ppl_interface_generator_common.m4,
-	  interfaces/ppl_interface_generator_common_dat.m4,
-	  interfaces/ppl_interface_generator_copyright,
-	  interfaces/C/Makefile.am, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/C/ppl_c_version.h.in,
-	  interfaces/C/ppl_interface_generator_c_cc.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_preamble,
-	  interfaces/C/ppl_interface_generator_c_dat.m4,
-	  interfaces/C/ppl_interface_generator_c_h.m4,
-	  interfaces/C/ppl_interface_generator_c_h_code.m4,
-	  interfaces/C/ppl_interface_generator_c_h_preamble,
-	  interfaces/Java/.cvsignore, interfaces/Java/Makefile.am,
-	  interfaces/Java/ppl_interface_generator_java_dat.m4,
-	  interfaces/Java/jni/.cvsignore, interfaces/Java/jni/Makefile.am,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4,
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4,
-	  interfaces/Java/jni/ppl_java_C_Polyhedron.cc,
-	  interfaces/Java/jni/ppl_java_Polyhedron.cc,
-	  interfaces/Java/jni/ppl_java_common.cc,
-	  interfaces/Java/jni/ppl_java_common.hh,
-	  interfaces/Java/tests/.cvsignore,
-	  interfaces/Java/tests/C_Polyhedron_test1.java,
-	  interfaces/Java/tests/Makefile.am, interfaces/OCaml/Makefile.am,
-	  interfaces/OCaml/ppl_ocaml.cc, interfaces/OCaml/ppl_ocaml.mli,
-	  interfaces/OCaml/test1.ml, interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/ppl_prolog_common.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ciao_cfli.hh,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/gprolog_cfli.hh,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.h,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/SWI/swi_cfli.hh,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected_pchk_int8,
-	  interfaces/Prolog/XSB/expected_pchk_int8_a,
-	  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_predicate_check_P.m4,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_cfli.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_yap.cc,
-	  interfaces/Prolog/YAP/yap_cfli.hh,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/clpq2.pl,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  interfaces/Prolog/tests/pl_grid_check.pl,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
-	  m4/Makefile.am, m4/ac_check_classpath.m4, m4/ac_prog_jar.m4,
-	  m4/ac_prog_java.m4, m4/ac_prog_javac.m4, m4/ac_prog_javah.m4,
-	  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/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/Bounding_Box.defs.hh,
-	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
-	  src/C_Polyhedron.inlines.hh, 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/Constraint.cc,
-	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
-	  src/Constraint_System.cc, src/Constraint_System.defs.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/Determinate.defs.hh, src/Determinate.inlines.hh,
-	  src/Direct_Product.defs.hh, src/Direct_Product.inlines.hh,
-	  src/Direct_Product.templates.hh, src/Direct_Product.types.hh,
-	  src/Float.inlines.hh, src/GMP_Integer.defs.hh,
-	  src/GMP_Integer.inlines.hh, src/Generator.cc,
-	  src/Generator.defs.hh, src/Generator_System.cc,
-	  src/Generator_System.defs.hh, src/Grid.defs.hh,
-	  src/Grid.inlines.hh, src/Grid.templates.hh,
-	  src/Grid_Certificate.cc, 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_chdims.cc,
-	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
-	  src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
-	  src/LP_Problem.cc, src/LP_Problem.defs.hh,
-	  src/LP_Problem.inlines.hh, src/LP_Problem.types.hh,
-	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
-	  src/Linear_Expression.inlines.hh, src/Linear_Row.cc,
-	  src/Linear_Row.defs.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/MIP_Problem.types.hh, src/Makefile.am, src/Matrix.cc,
-	  src/Matrix.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.defs.hh,
-	  src/Octagonal_Shape.inlines.hh, src/Octagonal_Shape.templates.hh,
-	  src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
-	  src/Ph_Status.cc, src/Ph_Status.idefs.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/Polyhedra_Powerset.cc,
-	  src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh,
-	  src/Polyhedra_Powerset.templates.hh,
-	  src/Polyhedra_Powerset.types.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/Result.defs.hh,
-	  src/Result.inlines.hh, src/Rounding_Dir.inlines.hh, src/Row.cc,
-	  src/Row.defs.hh, src/Saturation_Matrix.cc,
-	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
-	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
-	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
-	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
-	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
-	  src/Variable.cc, src/Variable.defs.hh, src/Variables_Set.cc,
-	  src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
-	  src/Variables_Set.types.hh, src/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/algorithms.hh,
-	  src/checked.cc, src/checked.inlines.hh,
-	  src/checked_ext.inlines.hh, src/checked_float.inlines.hh,
-	  src/checked_int.inlines.hh, src/conversion.cc,
-	  src/fpu-ia32.inlines.hh, src/globals.defs.hh,
-	  src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
-	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
-	  src/minimize.cc, src/mp_numeric_limits.cc,
-	  src/mp_numeric_limits.hh, src/namespaces.hh, src/simplify.cc,
-	  src/swapping_sort.icc, tests/BBox.cc, tests/FCAIBVP.cc,
-	  tests/FCAIBVP.defs.hh, tests/FCAIBVP.inlines.hh,
-	  tests/FCAIBVP.types.hh, tests/Makefile.am,
-	  tests/Partial_Function.cc, tests/ppl_test.cc, tests/ppl_test.hh,
-	  tests/print.cc, tests/print.hh, tests/Ask_Tell/.cvsignore,
-	  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/affinepreimage1.cc,
-	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bgp99extrapolation1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc,
-	  tests/BD_Shape/bhz03widening1.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/contains1.cc,
-	  tests/BD_Shape/containsintegerpoint1.cc,
-	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
-	  tests/BD_Shape/expandspacedim1.cc,
-	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/frompolyhedron1.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffinepreimage2.cc,
-	  tests/BD_Shape/generalizedaffinepreimage3.cc,
-	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/intersection1.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/BD_Shape/limitedcc76extrapolation1.cc,
-	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/max_min1.cc,
-	  tests/BD_Shape/max_min2.cc, tests/BD_Shape/maxspacedim.cc,
-	  tests/BD_Shape/maxspacedim1.cc, tests/BD_Shape/membytes1.cc,
-	  tests/BD_Shape/minconstraints1.cc, tests/BD_Shape/relations2.cc,
-	  tests/BD_Shape/relations3.cc, tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/universe1.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/asciidumpload1.cc,
-	  tests/Grid/asciidumpload2.cc, tests/Grid/asciidumpload3.cc,
-	  tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
-	  tests/Grid/asciidumpload6.cc, tests/Grid/asciidumpload7.cc,
-	  tests/Grid/bhz03widening1.cc, tests/Grid/bounded1.cc,
-	  tests/Grid/boundedaffineimage1.cc,
-	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
-	  tests/Grid/boundingbox2.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/contains1.cc,
-	  tests/Grid/containsintegerpoint1.cc, tests/Grid/coveringbox1.cc,
-	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
-	  tests/Grid/directproduct2.cc, tests/Grid/discrete1.cc,
-	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
-	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.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/join1.cc, tests/Grid/join2.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/mingenerators1.cc, tests/Grid/outputoperator1.cc,
-	  tests/Grid/outputoperator2.cc, tests/Grid/outputoperator3.cc,
-	  tests/Grid/partition1.cc, tests/Grid/relations1.cc,
-	  tests/Grid/relations2.cc, tests/Grid/relations3.cc,
-	  tests/Grid/removespacedims1.cc, tests/Grid/removespacedims2.cc,
-	  tests/Grid/timeelapse1.cc, tests/Grid/topclosed1.cc,
-	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
-	  tests/Grid/widening3.cc, tests/MIP_Problem/.cvsignore,
-	  tests/MIP_Problem/Makefile.am,
-	  tests/MIP_Problem/ascii_dump_load1.cc,
-	  tests/MIP_Problem/exceptions1.cc,
-	  tests/MIP_Problem/mipproblem1.cc,
-	  tests/Octagonal_Shape/.cvsignore,
-	  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/constraints1.cc,
-	  tests/Octagonal_Shape/contains1.cc,
-	  tests/Octagonal_Shape/containsintegerpoint1.cc,
-	  tests/Octagonal_Shape/discrete1.cc,
-	  tests/Octagonal_Shape/disjoint1.cc,
-	  tests/Octagonal_Shape/empty1.cc,
-	  tests/Octagonal_Shape/expandspacedim1.cc,
-	  tests/Octagonal_Shape/foldspacedims1.cc,
-	  tests/Octagonal_Shape/fromgensys1.cc,
-	  tests/Octagonal_Shape/frompolyhedron1.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/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/octdifference1.cc,
-	  tests/Octagonal_Shape/octhull1.cc,
-	  tests/Octagonal_Shape/relatwithcons1.cc,
-	  tests/Octagonal_Shape/relatwithcons2.cc,
-	  tests/Octagonal_Shape/relatwithgen1.cc,
-	  tests/Octagonal_Shape/removespacedims1.cc,
-	  tests/Octagonal_Shape/run_tests,
-	  tests/Octagonal_Shape/timeelapse1.cc,
-	  tests/Octagonal_Shape/universe1.cc,
-	  tests/Octagonal_Shape/writeoctagon1.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/addgenerators1.cc,
-	  tests/Polyhedron/append1.cc, tests/Polyhedron/append2.cc,
-	  tests/Polyhedron/bgp99extrapolation1.cc,
-	  tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bug2.cc,
-	  tests/Polyhedron/bug2.dat,
-	  tests/Polyhedron/containsintegerpoint1.cc,
-	  tests/Polyhedron/dualhypercubes.cc,
-	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/exceptions2.cc,
-	  tests/Polyhedron/exceptions3.cc,
-	  tests/Polyhedron/foldspacedims2.cc,
-	  tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/intersection1.cc,
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/matrix1.cc,
-	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/maxspacedim1.cc,
-	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
-	  tests/Polyhedron/membytes2.cc,
-	  tests/Polyhedron/pointsetpowerset1.cc,
-	  tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polypowerset1.cc,
-	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/timeelapse1.cc,
-	  tests/Polyhedron/variablesset1.cc, utils/Makefile.am,
-	  utils/cm_cleaner.sh, utils/cm_splitter.sh, utils/timings.cc
-	  (octagons.[1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,4,4,1,2,1,2,1,2,2,2,2,2,2,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,1,1,2,2,2,2,2,2,1,1,2,1,1,1,2,2,1,2,1,1,2,1,2,1,1,1,2,1,2,1,1,1,2,2,2,1,1,2,1,1,2,1,2,1,1,1,1,1,2,2,2,2,1,2,2,2,2,2,2,2,2,1,1,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,1,1,1,1,1,1,1,2,3,3,3,2,3,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,2,1,2,2,1,2,1,2,2,1,1,2, [...]
-	  Second merge to octagons.
-
-2006-11-18 Saturday 16:50  Andrea Cimino
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.16): A couple of bugs fixed in the generation of the C++ code.
-
-2006-11-18 Saturday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (octagons.1): file
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 was
-	  added on branch octagons on 2006-11-18 20:36:45 +0000
-
-2006-11-18 Saturday 16:02  Andrea Cimino
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.15),
-	  ppl_java_common.hh (1.18): Ensure that a jlong fits in a unsigned
-	  type for methods that need that check. Some m4 code fixes.
-
-2006-11-18 Saturday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.hh (octagons.1): file
-	  ppl_java_common.hh was added on branch octagons on 2006-11-18
-	  20:36:45 +0000
-
-2006-11-18 Saturday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.205): Commit test.
-
-2006-11-18 Saturday 11:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.204): Test commit.
-
-2006-11-18 Saturday 11:26  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, checked.defs.hh,
-	  checked_numeric_limits.hh (altnum.[24,31,3]): Added force_integer
-	  policy flag.
-
-2006-11-18 Saturday 11:25  Abramo Bagnara
-
-	* src/compiler.hh (altnum.11): Added some useful functions for
-	  static expressions.
-
-2006-11-18 Saturday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (octagons.1): file
-	  ppl_interface_generator_predicate_check_code.m4 was added on
-	  branch octagons on 2006-11-18 20:36:49 +0000
-
-2006-11-18 Saturday 09:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.19),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.23),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.34):
-	  Added predicates ppl_ at CLASS@_begin_iterator\2 and
-	  ppl_ at CLASS@_end_iterator\2.
-
-	  Temporarily disabled check for geometrically_equals predicate.
-
-2006-11-18 Saturday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
-	  (octagons.1): file ppl_interface_generator_prolog_dat.m4 was
-	  added on branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-11-18 Saturday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (octagons.1): file ppl_interface_generator_prolog_icc_code.m4 was
-	  added on branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-11-17 Friday 16:58  Andrea Cimino
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.14): Specialized generalized_affine_image and
-	  generalized_affine_preimage for Grids.
-
-2006-11-17 Friday 16:53  Elena Mazzi
-
-	* src/: BD_Shape.defs.hh (1.94), Octagonal_Shape.defs.hh (1.22):
-	  Added a note to the documentation of refine().
-
-2006-11-17 Friday 15:59  Elena Mazzi
-
-	* src/: Octagonal_Shape.defs.hh (1.21),
-	  Octagonal_Shape.templates.hh (1.44): Added an helper function for
-	  the computation of affine relations Octagonal_Shape::refine() and
-	  used it on the methods
-	  Octagonal_Shape::generalized_affine_preimage() and
-	  Octagonal_Shape::bounded_affine_preimage.
-
-2006-11-17 Friday 15:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Makefile.am (1.37),
-	  ppl_interface_generator_prolog_icc.m4 (1.8),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.22),
-	  ppl_interface_generator_prolog_icc_preamble (1.16),
-	  ppl_prolog_common.icc (1.1): The
-	  ppl_interface_generator_prolog_icc_preamble is now renamed as
-	  ppl_prolog_common.icc and included by the generated
-	  ppl_prolog.icc.
-
-	  The term_to_classname_handle() methods are now defined
-	  term_to_handle<T>() where T is the C++ class name.
-
-2006-11-17 Friday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
-	  (octagons.1): file ppl_interface_generator_prolog_icc.m4 was
-	  added on branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-11-17 Friday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog_common.icc (octagons.1): file
-	  ppl_prolog_common.icc was added on branch octagons on 2006-11-18
-	  20:36:46 +0000
-
-2006-11-17 Friday 12:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (1.15): Misplaced angle bracket fixed.
-
-2006-11-17 Friday 11:59  Andrea Cimino
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.13),
-	  ppl_java_common.cc (1.21), ppl_java_common.hh (1.17): Implemented
-	  JNI functions for Grids_Generator and Grid Generator_System.
-	  Solved other little bugs.  The Java test now works.
-
-2006-11-17 Friday 11:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.cc (octagons.1): file
-	  ppl_java_common.cc was added on branch octagons on 2006-11-18
-	  20:36:45 +0000
-
-2006-11-17 Friday 11:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.6): For the Polyhedron class, add include statements for
-	  ppl_java_C_Polyhedron.h and ppl_java_NNC_Polyhedron.h.
-
-2006-11-17 Friday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (altnum.1): file
-	  ppl_interface_generator_java_ppl_java_classes_cc.m4 was added on
-	  branch altnum on 2006-12-02 22:35:27 +0000
-
-2006-11-17 Friday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (octagons.1): file
-	  ppl_interface_generator_java_ppl_java_classes_cc.m4 was added on
-	  branch octagons on 2006-11-18 20:36:45 +0000
-
-2006-11-17 Friday 11:31  Elena Mazzi
-
-	* src/: BD_Shape.defs.hh (1.93), BD_Shape.templates.hh (1.63),
-	  Octagonal_Shape.defs.hh (1.20), Polyhedron.defs.hh (1.311): Used
-	  consistent parameter's name for max_min().
-
-2006-11-17 Friday 10:34  Elena Mazzi
-
-	* src/: BD_Shape.defs.hh (1.92), BD_Shape.templates.hh (1.62):
-	  Added an helper function for the computation of affine relations
-	  BD_Shape::refine() and used it on the methods
-	  BD_Shape::generalized_affine_preimage() and
-	  BD_Shape::bounded_affine_preimage.
-
-2006-11-17 Friday 10:22  Andrea Cimino
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.12): Avoid compiler warning messages.
-
-2006-11-17 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (1.14): Added <template typename T> T*
-	  term_to_handle(Prolog_term_ref, const char*).
-
-2006-11-17 Friday 10:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.11): Correct reference to point to be generic.
-
-2006-11-17 Friday 09:57  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_common.hh (1.16): Written the
-	  prototypes for three missing function to allow compiling.
-
-2006-11-17 Friday 09:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.10): Corrected code for intersection_assign_and_minimize (and
-	  similar binary operations that return a Boolean).
-
-2006-11-17 Friday 09:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.9): Corrected the bug in the OK() method.
-
-2006-11-17 Friday 09:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc.m4 (1.5),
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.8):
-	  Only have "Recycle_Intput" for Polyhedron class.  The include
-	  statement for "ppl_java_common.hh" should occur only once.
-
-2006-11-17 Friday 09:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.21): Unused schematic code for building a new iterator added.
-
-2006-11-17 Friday 09:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.7):
-	  Activated the term_to_iterator_handle code generator.
-
-2006-11-17 Friday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.20): Added `m4_term_to_iterator_handle_code'.
-
-2006-11-17 Friday 08:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.7): Where the class name should be the C++ name, the pattern
-	  is now correct and is replaced by the right form of the name..
-
-2006-11-17 Friday 08:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.17):
-	  Reinstated a lost comma.
-
-2006-11-17 Friday 08:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (octagons.1):
-	  file ppl_interface_generator_common_dat.m4 was added on branch
-	  octagons on 2006-11-18 20:36:44 +0000
-
-2006-11-16 Thursday 19:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc.m4 (1.4),
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.6):
-	  REmoved cutting marks and added "try/catch" everywhere.
-
-2006-11-16 Thursday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/Makefile.am (1.7): Compile only one C++ file
-	  for all the required instantiations of the Java interface.
-
-2006-11-16 Thursday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/Makefile.am (octagons.1): file Makefile.am
-	  was added on branch octagons on 2006-11-18 20:36:45 +0000
-
-2006-11-16 Thursday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.255), interfaces/Java/jni/Makefile.am (1.6):
-	  Automatically generated all the header files required by the Java
-	  interface.
-
-2006-11-16 Thursday 18:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/jni/ppl_java_common.hh (1.15): Corrected the type
-	  of "add_..._and_minimize to be Boolean.  Typo in comment fixed.
-
-2006-11-16 Thursday 18:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.5): Bug in the relation with code fixed.
-
-2006-11-16 Thursday 18:05  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_common.cc (1.20),
-	  ppl_java_common.hh (1.14): Renamed an internal routine.
-
-2006-11-16 Thursday 17:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.16),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.4): Some but not all bugs fixed.
-
-2006-11-16 Thursday 16:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.254): Make sure
-	  `required_instantiations_java_sources' really contains all the
-	  required Java sources.
-
-2006-11-16 Thursday 16:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (1.7): Ensure ppl_java.jar has the
-	  right structure.
-
-2006-11-16 Thursday 16:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (octagons.1): file Makefile.am was
-	  added on branch octagons on 2006-11-18 20:36:44 +0000
-
-2006-11-16 Thursday 14:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (1.6): Machinery to build the Java
-	  interface revised.
-
-2006-11-16 Thursday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (octagons.1): file
-	  mipproblem1.cc was added on branch octagons on 2006-11-18
-	  20:36:58 +0000
-
-2006-11-16 Thursday 14:04  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.43), tests/MIP_Problem/mipproblem1.cc
-	  (1.2): Fixed MIP_Problem when it has to deal with
-	  zero-dimensional problems.
-
-2006-11-16 Thursday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (octagons.1): file MIP_Problem.cc was added on
-	  branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-11-16 Thursday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/jni/: Makefile.am (1.5),
-	  ppl_interface_generator_java_ppl_java_classes_cc.m4 (1.3):
-	  Enabled the splitting of the generated code for the ".cc".
-
-2006-11-16 Thursday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/jni/:
-	  ppl_interface_generator_java_ppl_java_classes_cc.m4 (1.2),
-	  ppl_interface_generator_java_ppl_java_classes_cc_code.m4 (1.3):
-	  Corrected the preamble for the ".cc" generated files.  Redundant
-	  space removed.
-
-2006-11-16 Thursday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.253): Added a mechanism to build the
-	  automatically generated Java sources.
-
-2006-11-16 Thursday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.23): Installed the mechanism for the
-	  automatic generation of the .java sources for the semantic object
-	  classes.  The interfaces/Java directory is temporarily disabled
-	  in order to avoid failures.
-
-2006-11-16 Thursday 09:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.2): Added missing swap() and OK() methods and fixed a few
-	  bugs.
-
-2006-11-16 Thursday 08:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.14),
-	  ppl_interface_generator_common_dat.m4 (1.15),
-	  Java/ppl_interface_generator_java_dat.m4 (1.2),
-	  Java/jni/Makefile.am (1.4),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc.m4
-	  (1.1),
-	  Java/jni/ppl_interface_generator_java_ppl_java_classes_cc_code.m4
-	  (1.1): Added files for generating the ".cc" files for the
-	  classes.  This needed modifications to the main replacement m4
-	  code to allow for inserting "1" after embedded "_"s.
-
-	  Java/jni/Makefile.am includes necessary code for building the
-	  combined files (temporarily named ppl_java_Polyhedron1.cc).
-
-2006-11-16 Thursday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common.m4 (octagons.1): file
-	  ppl_interface_generator_common.m4 was added on branch octagons on
-	  2006-11-18 20:36:44 +0000
-
-2006-11-16 Thursday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/ppl_interface_generator_java_dat.m4 (altnum.1):
-	  file ppl_interface_generator_java_dat.m4 was added on branch
-	  altnum on 2006-12-02 22:35:27 +0000
-
-2006-11-16 Thursday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/ppl_interface_generator_java_dat.m4 (octagons.1):
-	  file ppl_interface_generator_java_dat.m4 was added on branch
-	  octagons on 2006-11-18 20:36:44 +0000
-
-2006-11-15 Wednesday 18:41  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (1.7): Implemented
-	  the ordinary copy constructor of C_Polyhedron.
-
-2006-11-15 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (altnum.1): file
-	  ppl_java_C_Polyhedron.cc was added on branch altnum on 2006-12-02
-	  22:35:27 +0000
-
-2006-11-15 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (octagons.1): file
-	  ppl_java_C_Polyhedron.cc was added on branch octagons on
-	  2006-11-18 20:36:45 +0000
-
-2006-11-15 Wednesday 17:19  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_Polyhedron.cc (1.19): Added the
-	  `try' and `catch' blocks to every method of Polyhedron.
-
-2006-11-15 Wednesday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_Polyhedron.cc (altnum.1): file
-	  ppl_java_Polyhedron.cc was added on branch altnum on 2006-12-02
-	  22:35:27 +0000
-
-2006-11-15 Wednesday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_Polyhedron.cc (octagons.1): file
-	  ppl_java_Polyhedron.cc was added on branch octagons on 2006-11-18
-	  20:36:45 +0000
-
-2006-11-15 Wednesday 16:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.10): Add the
-	  recycle pattern to the procedure that builds from a recycled
-	  representation.
-
-2006-11-15 Wednesday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (octagons.1):
-	  file ppl_interface_generator_c_cc_code.m4 was added on branch
-	  octagons on 2006-11-18 20:36:44 +0000
-
-2006-11-15 Wednesday 16:23  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_C_Polyhedron.cc (1.6),
-	  ppl_java_Polyhedron.cc (1.18), ppl_java_common.cc (1.19),
-	  ppl_java_common.hh (1.13): Fixed a C_Polyhedron constructor.
-	  Added the infractructure for handling the exceptions.  Defined
-	  and implemented the native methods `swap(Polyhedron)' and
-	  `OK(boolean)'.
-
-2006-11-15 Wednesday 16:11  Elena Mazzi
-
-	* src/: BD_Shape.defs.hh (1.91), BD_Shape.templates.hh (1.61),
-	  Octagonal_Shape.defs.hh (1.19), Octagonal_Shape.templates.hh
-	  (1.43), Polyhedron.defs.hh (1.310), Polyhedron_nonpublic.cc
-	  (1.72): Used consistent parameter's name for max_min(),
-	  maximize() and minimize().
-
-2006-11-15 Wednesday 15:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.19): Added the recycle argument to the build from a
-	  representation.
-
-2006-11-15 Wednesday 15:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.14): Add a
-	  replacement for the extra recycle argument.
-
-2006-11-15 Wednesday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.66): Do recycle data structures
-	  when possible.
-
-2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/: Makefile.am (1.13), cm_cleaner.sh (1.1), cm_splitter.sh
-	  (1.1): cm_splitter.sh splits stdin according to cutting markers.
-	  cm_cleaner.sh erases all files listed in the cutting markers
-	  found on stdin.
-
-2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/cm_cleaner.sh (altnum.1): file cm_cleaner.sh was added on
-	  branch altnum on 2006-12-02 22:35:34 +0000
-
-2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/cm_cleaner.sh (octagons.1): file cm_cleaner.sh was added on
-	  branch octagons on 2006-11-18 20:37:00 +0000
-
-2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/cm_splitter.sh (altnum.1): file cm_splitter.sh was added on
-	  branch altnum on 2006-12-02 22:35:34 +0000
-
-2006-11-15 Wednesday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/cm_splitter.sh (octagons.1): file cm_splitter.sh was added
-	  on branch octagons on 2006-11-18 20:37:00 +0000
-
-2006-11-15 Wednesday 15:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.57): Do recycle data structures
-	  when possible.
-
-2006-11-15 Wednesday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Java/jni/: ppl_java_C_Polyhedron.cc (1.5),
-	  ppl_java_Polyhedron.cc (1.17): Do recycle the input data
-	  structures when possible.
-
-2006-11-15 Wednesday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.37), Grid.inlines.hh (1.11),
-	  Grid_nonpublic.cc (1.21), Grid_public.cc (1.48): Disambiguate the
-	  constructors of grids by adding a dummy argument to those that
-	  can recycle the data structures of their arguments.  Added
-	  support for actually recycling the data structures when this is
-	  allowed.  Removed a non-implemented (private) method.
-
-2006-11-15 Wednesday 15:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.cc (1.19), C_Polyhedron.defs.hh (1.45),
-	  C_Polyhedron.inlines.hh (1.33), NNC_Polyhedron.cc (1.19),
-	  NNC_Polyhedron.defs.hh (1.47), NNC_Polyhedron.inlines.hh (1.34),
-	  Polyhedron.defs.hh (1.309), Polyhedron_nonpublic.cc (1.71):
-	  Disambiguate the constructors of polyhedra by adding a dummy
-	  argument to those that may recycle the data structures of their
-	  arguments.
-
-2006-11-15 Wednesday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.defs.hh (1.40): Added tag class Recycle_Input() to
-	  help differentiating overloaded functions (in particular,
-	  constructors) that may destructively recycle the data structures
-	  of their arguments instead of taking a copy.
-
-2006-11-15 Wednesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset1.cc (1.4): Corrected a typo in
-	  test19().
-
-2006-11-15 Wednesday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset1.cc (octagons.1): file
-	  pointsetpowerset1.cc was added on branch octagons on 2006-11-18
-	  20:37:00 +0000
-
-2006-11-15 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.cc (1.3): Corrected the bug uncovered by
-	  test18() in pointsetpowerset1.cc.
-
-2006-11-15 Wednesday 14:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.cc (octagons.1): file Pointset_Powerset.cc
-	  was added on branch octagons on 2006-11-18 20:36:51 +0000
-
-2006-11-15 Wednesday 12:30  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (1.4): Implemented
-	  the native methods
-	  C_Polyhedron::poly_hull_assign_if_exact(C_Polyhedron y) and
-	  C_Polyhedron::upper_bound_assign_if_exact(C_Polyhedron y).
-
-2006-11-15 Wednesday 11:33  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_C_Polyhedron.cc (1.3): Added the
-	  Degenerate_Element enum to the Java interface.  Defined and
-	  implemented the constructor C_Polyhedron(long dim,
-	  Degenerate_Element kind).
-
-2006-11-15 Wednesday 10:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.33),
-	  ppl_interface_generator_predicate_check_extra_code (1.22):
-	  Revised and corrected some tests.
-
-2006-11-15 Wednesday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code
-	  (octagons.1): file
-	  ppl_interface_generator_predicate_check_extra_code was added on
-	  branch octagons on 2006-11-18 20:36:49 +0000
-
-2006-11-15 Wednesday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Grid_public.cc (1.47), Grid_widenings.cc (1.12): Corrected
-	  bugs found in is_disjoint(), intersection_assign() and
-	  generator_widening_assign().
-
-2006-11-15 Wednesday 10:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: disjoint1.cc (1.10), intersection1.cc (1.10),
-	  widening2.cc (1.8): Added tests showing bugs in the is_disjoint()
-	  intersection_assign() and generator_widening_assign().
-
-2006-11-15 Wednesday 10:12  Andrea Cimino
-
-	* m4/ac_prog_java.m4 (1.3): Avoid configure warnings during Java
-	  environment checking.
-
-2006-11-15 Wednesday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_java.m4 (altnum.1): file ac_prog_java.m4 was added on
-	  branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-11-15 Wednesday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_java.m4 (octagons.1): file ac_prog_java.m4 was added
-	  on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-11-15 Wednesday 09:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/pointsetpowerset1.cc (1.3): Last 2 tests added
-	  in previous commit are known to fail.
-
-2006-11-15 Wednesday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (1.5): Distribute
-	  ppl_interface_generator_java_dat.m4.
-
-2006-11-15 Wednesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/.cvsignore (1.1): Put under CVS control.
-
-2006-11-15 Wednesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/.cvsignore (altnum.1): file .cvsignore was
-	  added on branch altnum on 2006-12-02 22:35:28 +0000
-
-2006-11-15 Wednesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/.cvsignore (octagons.1): file .cvsignore
-	  was added on branch octagons on 2006-11-18 20:36:45 +0000
-
-2006-11-15 Wednesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/.cvsignore (simplex.1): file .cvsignore was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2006-11-15 Wednesday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.36): Make the `tests' directory
-	  before making the directories of the individual Prolog systems.
-
-2006-11-15 Wednesday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/pointsetpowerset1.cc (1.2): Added test to show
-	  bug in geometrically_equals and geometrically_covers when one of
-	  the powersets contains a polyhedron which is not in minimal form
-	  and the other is.
-
-2006-11-14 Tuesday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.37), interfaces/C/Makefile.am
-	  (1.30), src/Makefile.am (1.165): Define and exploit the right
-	  inter-library dependencies.
-
-2006-11-14 Tuesday 18:35  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.16),
-	  ppl_java_common.cc (1.18), ppl_java_common.hh (1.12): First draft
-	  implementation for Partial_Function.	Implemented the method
-	  `map_space_dimension'.
-
-2006-11-14 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.29): Ensure that the dependency of
-	  libppl_c on libppl is encoded into libppl.
-
-2006-11-14 Tuesday 18:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.13): Revised
-	  for disjuncts.
-
-2006-11-14 Tuesday 17:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.18),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.18),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.32),
-	  tests/ppl_interface_generator_predicate_check_extra_code (1.21):
-	  Corrected get_disjuncts code in the prolog interface.  Added
-	  procedure in the prolog interface to call ascii_dump().  Added an
-	  extra test (a bounded interval in 1 dimension) to the prolog
-	  schematic tests.
-
-2006-11-14 Tuesday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/C_Polyhedron_test1.java (octagons.1): file
-	  C_Polyhedron_test1.java was added on branch octagons on
-	  2006-11-18 20:36:45 +0000
-
-2006-11-14 Tuesday 15:29  Andrea Cimino
-
-	* interfaces/Java/: jni/ppl_java_common.cc (1.17),
-	  tests/C_Polyhedron_test1.java (1.3): Modified the test to avoid
-	  overflows.  Modified the constructor of Constraint.
-
-2006-11-14 Tuesday 14:34  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.42): Corrected the bug on
-	  Octagonal_Shape::max_min() when the inhomogeneous term of
-	  expression is null.
-
-2006-11-14 Tuesday 14:33  quartieri
-
-	* tests/Octagonal_Shape/max_min1.cc (1.3): Added two tests that
-	  show a bug on Octagonal_Shape::max_min() when the inhomogeneous
-	  term of expression is null.
-
-2006-11-14 Tuesday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/max_min1.cc (altnum.1): file max_min1.cc
-	  was added on branch altnum on 2006-12-02 22:35:34 +0000
-
-2006-11-14 Tuesday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/max_min1.cc (octagons.1): file max_min1.cc
-	  was added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-11-14 Tuesday 14:30  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.60): Corrected the bug on
-	  BD_Shape::max_min() when the inhomogeneous term of expression is
-	  null.
-
-2006-11-14 Tuesday 14:29  Elena Mazzi
-
-	* tests/BD_Shape/max_min2.cc (1.3): Added two tests that show a bug
-	  on BD_Shape::maximize() when the inhomogeneous term of expression
-	  is null.
-
-2006-11-14 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/max_min2.cc (altnum.1): file max_min2.cc was added
-	  on branch altnum on 2006-12-02 22:35:33 +0000
-
-2006-11-14 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/max_min2.cc (octagons.1): file max_min2.cc was
-	  added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-11-14 Tuesday 12:02  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.15),
-	  ppl_java_common.cc (1.16), ppl_java_common.hh (1.11): Implemented
-	  all the widening methods in the Java interface.
-
-2006-11-14 Tuesday 09:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Java/ppl_interface_generator_java_dat.m4 (1.1): Files
-	  needed for generating Polyhedron.java
-
-2006-11-13 Monday 21:47  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.14),
-	  ppl_java_common.cc (1.15), ppl_java_common.hh (1.10): Implemented
-	  the other two missing versions of `minimize()' and `maximize()'.
-
-2006-11-13 Monday 19:35  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, compiler.hh
-	  (altnum.[17,52,10]): Added some compile time check.
-
-2006-11-13 Monday 19:06  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.13),
-	  ppl_java_common.cc (1.14), ppl_java_common.hh (1.9): Implemented
-	  By_Reference class that allows to pass object by reference in
-	  Java world. Implemented one version of `maximize' and `minimize'.
-	  Implemented `equals'.
-
-2006-11-13 Monday 16:26  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_Polyhedron.cc (1.12): Added the
-	  methods space_dimension() and affine_dimension() to Polyhedron.
-
-2006-11-13 Monday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (1.6): Fixed a Doxygen comment to
-	  use the brief style.
-
-2006-11-13 Monday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (octagons.1): file
-	  Pointset_Powerset.defs.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-11-13 Monday 12:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.90), Octagonal_Shape.defs.hh (1.18):
-	  Modified the documentation of concatenate_assign() to link to the
-	  general description of the concatenation operator.
-
-2006-11-13 Monday 09:08  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.16): Fixed typo. Implemented
-	  set_unbounded() correctly.
-
-2006-11-13 Monday 09:07  Abramo Bagnara
-
-	* src/compiler.hh (altnum.9): Now COMPILE_TIME_CHECK() works as
-	  expected.
-
-2006-11-12 Sunday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.164), mp_numeric_limits.cc (1.1),
-	  mp_numeric_limits.hh (1.9): Define the static constants declared
-	  in mp_numeric_limits.hh, as mandated by Section 9.4.2/4 of the
-	  C++ standard.
-
-2006-11-12 Sunday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_numeric_limits.cc (octagons.1): file mp_numeric_limits.cc
-	  was added on branch octagons on 2006-11-18 20:36:51 +0000
-
-2006-11-12 Sunday 16:32  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_C_Polyhedron.cc (1.2),
-	  ppl_java_Polyhedron.cc (1.11), ppl_java_common.cc (1.13),
-	  ppl_java_common.hh (1.8): Added support for Grid_Generator and
-	  Grid_Generator_System.  Added other constructors to C_Polyhedron.
-	  Renamed routine methods for consistency.
-
-2006-11-12 Sunday 16:21  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Rational_Box.hh
-	  (altnum.[15,51,5]): Compilation fixes.
-
-2006-11-12 Sunday 15:48  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Rational_Box.hh, checked.defs.hh,
-	  checked.inlines.hh, checked_int.inlines.hh, compiler.hh
-	  (altnum.[23,4,30,21,31,8]): Renamed const_bool and const_int.
-
-2006-11-12 Sunday 15:48  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (altnum.21): is_inf_float return
-	  value is now more useful.
-
-2006-11-12 Sunday 15:47  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
-	  (altnum.[14,50,8]): Commited incomplete new boundary
-	  implementation.
-
-2006-11-12 Sunday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.38), config.sub (1.36), Watchdog/config.guess
-	  (1.22), Watchdog/config.sub (1.21): Updated.
-
-2006-11-12 Sunday 12:33  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.10),
-	  ppl_java_common.cc (1.12), ppl_java_common.hh (1.7): Added the
-	  class Poly_Gen_Relation.  Implemented the method
-	  Polyhedron::relation_with(Generator g).
-
-2006-11-12 Sunday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/compiler.hh (altnum.7): Comments revised.
-
-2006-11-12 Sunday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/compiler.hh (altnum.6): Added new macros for per-class
-	  constants that need no further definition.
-
-2006-11-12 Sunday 11:57  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.9),
-	  ppl_java_common.cc (1.11), ppl_java_common.hh (1.6): Added the
-	  class Poly_Con_Relation.  Implemented the method
-	  Polyhedron::relation_with(Constraint c).
-
-2006-11-12 Sunday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int8_a (1.5): Reflect recent
-	  changes in the Prolog tests.
-
-2006-11-12 Sunday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int8_a (1.8): Reflect
-	  recent changes in the Prolog tests.
-
-2006-11-11 Saturday 22:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.31): Bugs in test code fixed.
-
-2006-11-11 Saturday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/compiler.hh (altnum.5): COMPILE_TIME_CHECK macro added, as
-	  well as several comments.
-
-2006-11-11 Saturday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.203): Added a new item.
-
-2006-11-11 Saturday 15:27  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.8),
-	  ppl_java_common.cc (1.10), ppl_java_common.hh (1.5): Now the PPL
-	  can return to Java objects like generators, constraints and
-	  congruences and their systems. Written a lot of native methods
-	  that return objects built by the PPL.
-
-2006-11-11 Saturday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.252): Improved the checking of required
-	  instantiations; now also managing the generation of canonical
-	  names for templates having multiple parameters.
-
-2006-11-10 Friday 20:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: Makefile.am, interval1.cc (altnum.[3,1]): New tests
-	  for the Interval class.
-
-2006-11-10 Friday 17:46  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.9): In the Java
-	  interface congruences are built just from linear expressions.
-
-2006-11-10 Friday 14:56  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.7),
-	  ppl_java_common.cc (1.8), ppl_java_common.hh (1.4): Initial
-	  support for the Congruence/Grid classes.  Added other methods to
-	  the Polyhedron Java interface, but some of them must be
-	  implemented.
-
-2006-11-10 Friday 12:50  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Interval.defs.hh,
-	  Interval_Info.defs.hh, Rational_Box.hh, checked.defs.hh,
-	  checked.inlines.hh, checked_int.inlines.hh, compiler.hh
-	  (altnum.[22,49,7,3,29,20,30,4]): Fixed compilation without
-	  optimization.
-
-2006-11-10 Friday 12:35  Abramo Bagnara
-
-	* interfaces/C/ppl_interface_generator_c_cc_preamble (altnum.3):
-	  C99 mandates that sizeof unsigned is always the same of
-	  corresponding signed type.
-
-2006-11-10 Friday 07:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.251): Version number bumped.
-
-2006-11-10 Friday 00:00  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.13): Fixed return value.
-
-2006-11-09 Thursday 23:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.22): Methods computing affine (pre-)
-	  images now also deal with the case of denominators different from
-	  1.
-
-2006-11-09 Thursday 22:59  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.48): Adjust flags on set_unbounded.
-	  A little more work on div_assign. Splitted normalize_integer to
-	  help the compiler in its inlining job.
-
-2006-11-09 Thursday 18:28  Abramo Bagnara
-
-	* interfaces/Prolog/SICStus/sicstus_cfli.ic, src/Limits.hh,
-	  configure.ac (altnum.[3,6,22]): C99 mandates that sizeof unsigned
-	  is always the same of corresponding signed type.
-
-2006-11-09 Thursday 17:24  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.12): set_unbounded returns a
-	  feedback.
-
-2006-11-09 Thursday 17:17  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (altnum.24): Substituted
-	  specializations with templates.
-
-2006-11-09 Thursday 16:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Box.inlines.hh, Box.templates.hh (altnum.[18,21]): Be
-	  explicit when invoking methods of a class template.
-
-2006-11-09 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.61), GNU/Makefile.am
-	  (1.60): Ensure `make distclean' does the right thing.
-
-2006-11-09 Thursday 15:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.20): Corrected method OK(): even if
-	  the box is marked empty, this does not imply that there should be
-	  empty intervals in it.  Drafted (partial) implementation of
-	  affine_preimage().
-
-2006-11-09 Thursday 14:31  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.42): MIP_Problem fixed.
-
-2006-11-09 Thursday 13:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.19): Drafted (partial)
-	  implementation of the affine_image() method.
-
-2006-11-09 Thursday 13:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.defs.hh (altnum.16): Added declarations for all the
-	  affine image/preimage methods.
-
-2006-11-09 Thursday 13:42  quartieri
-
-	* tests/Octagonal_Shape/bounds1.cc (1.2): Added some tests on
-	  bounds_from_above() and bounds_from_below() checking universal
-	  octagons.
-
-2006-11-09 Thursday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bounds1.cc (altnum.1): file bounds1.cc was
-	  added on branch altnum on 2006-12-02 22:35:34 +0000
-
-2006-11-09 Thursday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bounds1.cc (octagons.1): file bounds1.cc
-	  was added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-11-09 Thursday 13:37  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.41): The previous correction didn't work as
-	  expected.  Now MIP_Problem should work also when the tableau is
-	  empty.
-
-2006-11-09 Thursday 12:30  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.7): Removed some prints
-	  used for debugging purposes.
-
-2006-11-09 Thursday 12:27  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.6),
-	  ppl_java_common.cc (1.6), ppl_java_common.hh (1.3): Added the
-	  Variables_Set class to the repository.  Implemented other native
-	  methods that belongs to Polyhedron.  Added other routine
-	  functions.
-
-2006-11-09 Thursday 12:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.87): Corrected a bug in
-	  poly_difference_assign(): an assertion was failing when the
-	  argument polyhedron was represented by an inconsistent constraint
-	  system, but emptiness was not detected yet.
-
-2006-11-09 Thursday 11:47  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.41): Removed the control on
-	  the universal Octagonal_Shape cause MIP_Problem handles this case
-	  properly.
-
-2006-11-09 Thursday 10:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.30),
-	  ppl_interface_generator_predicate_check_extra_code (1.20):
-	  Several bugs in the testing framework fixed.	Added test07 to the
-	  test data.
-
-2006-11-09 Thursday 10:36  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.40): Fixed another bug in MIP_Problem.	A
-	  wrong status was computed if minimization was requested and the
-	  internal tableau was empty.
-
-2006-11-09 Thursday 10:26  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.47): Avoid comparisons statically
-	  unsafe.
-
-2006-11-09 Thursday 10:24  Abramo Bagnara
-
-	* src/checked.inlines.hh (altnum.19): Added support for safe
-	  comparisons.
-
-2006-11-09 Thursday 10:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/polydifference2.cc (1.9): Added test shows a bug
-	  in poly_difference_assign() when the polyhedron to be subtracted
-	  is empty and not in minimal form.
-
-2006-11-09 Thursday 08:39  Abramo Bagnara
-
-	* configure.ac (altnum.21): Added two more SIZEOF.
-
-2006-11-09 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/max_min2.cc (altnum.1): file max_min2.cc
-	  was added on branch altnum on 2006-12-02 22:35:34 +0000
-
-2006-11-09 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/max_min2.cc (octagons.1): file max_min2.cc
-	  was added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-11-09 Thursday 08:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: BD_Shape/max_min2.cc (1.2), Octagonal_Shape/max_min2.cc
-	  (1.2): Added 2 tests to both test files showing a bug in
-	  minimize() (with point) for both BD_Shape and Octagonal_Shape.
-
-	  One of these tests shows the bug (the denominator is 0) while the
-	  second shows that a similar bug does not occur with maximize()
-	  (with point).
-
-2006-11-09 Thursday 08:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.202), doc/Makefile.am (1.49), interfaces/Makefile.am
-	  (1.22), interfaces/C/Makefile.am (1.28),
-	  interfaces/Prolog/Makefile.am (1.35),
-	  interfaces/Prolog/SICStus/Makefile.am (1.72),
-	  interfaces/Prolog/SWI/Makefile.am (1.66),
-	  interfaces/Prolog/XSB/Makefile.am (1.47),
-	  interfaces/Prolog/YAP/Makefile.am (1.49),
-	  interfaces/Prolog/tests/Makefile.am (1.11): Clean automatically
-	  generated files.
-
-2006-11-09 Thursday 07:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/Makefile.am (1.7): Distribute all
-	  examples.
-
-2006-11-08 Wednesday 18:24  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.59): Removed some lines
-	  not-necessary in the following methods: - bounds(); - max_min().
-
-2006-11-08 Wednesday 18:13  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.39): Fixed a bug: return the origin with
-	  the right space dimension if the input Constraint_System is
-	  universal and the problem is unbounded.
-
-2006-11-08 Wednesday 17:52  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.58): Corrected the method max_min().
-
-2006-11-08 Wednesday 17:51  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.40),
-	  tests/Octagonal_Shape/Makefile.am (1.13),
-	  tests/Octagonal_Shape/max_min2.cc (1.1): Corrected a bug in the
-	  method max_min() and added some tests.
-
-2006-11-08 Wednesday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/Makefile.am (octagons.1): file Makefile.am
-	  was added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-11-08 Wednesday 17:44  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.57), tests/BD_Shape/Makefile.am
-	  (1.57), tests/BD_Shape/max_min2.cc (1.1): Corrected the method
-	  max_min() and added some tests on it.
-
-2006-11-08 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.60): ppl_ciao.cc is not
-	  built.
-
-2006-11-08 Wednesday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh, Octagonal_Shape.templates.hh,
-	  Polyhedron_public.cc (altnum.[3,3,10]): (Generalized) Affine
-	  (pre-) image methods changed so as to throw an exception when the
-	  relation symbol is NOT_EQUAL. Switchs on Relation_Symbol changed
-	  to take into proper account the new value.
-
-2006-11-08 Wednesday 16:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.18): Method OK() now also checks
-	  that a box declared to be (non) empty is actually (non) empty.
-	  Typo fixed in is_topologically_closed().  Added implementation
-	  for method is_discrete().  Do check for emptyness in method
-	  is_bounded().
-
-2006-11-08 Wednesday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.8): More methods activated.
-
-2006-11-08 Wednesday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (octagons.1): file Any_Pointset.defs.hh
-	  was added on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-11-08 Wednesday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.21): Java directory activated.
-
-2006-11-08 Wednesday 15:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/max_min1.cc (1.2): Tests 3 and 4 fail with
-	  8-bit integers.
-
-2006-11-08 Wednesday 15:33  Andrea Cimino
-
-	* interfaces/Java/tests/C_Polyhedron_test1.java (1.2): Added some
-	  new calls to the test reflecting the last changes to the Java
-	  interface.
-
-2006-11-08 Wednesday 15:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.17): Indentation fixed.
-
-2006-11-08 Wednesday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.250): Version number bumped.
-
-2006-11-08 Wednesday 15:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.inlines.hh (altnum.17): Temporarily patched the default
-	  constructor and method add_space_dimensions_and_embed() so as to
-	  match tehir specification.
-
-2006-11-08 Wednesday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.48), interfaces/C/Makefile.am (1.27),
-	  interfaces/Prolog/Makefile.am (1.34),
-	  interfaces/Prolog/Ciao/Makefile.am (1.59),
-	  interfaces/Prolog/GNU/Makefile.am (1.59),
-	  interfaces/Prolog/SICStus/Makefile.am (1.71),
-	  interfaces/Prolog/SWI/Makefile.am (1.65),
-	  interfaces/Prolog/XSB/Makefile.am (1.46),
-	  interfaces/Prolog/YAP/Makefile.am (1.48),
-	  interfaces/Prolog/tests/Makefile.am (1.10): Fixed several
-	  packaging glitches.
-
-2006-11-08 Wednesday 14:47  Andrea Cimino
-
-	* interfaces/Java/jni/: ppl_java_Polyhedron.cc (1.5),
-	  ppl_java_common.cc (1.5), ppl_java_common.hh (1.2): Added other
-	  methods to the Java C_Polyhedron inteface.  Added new routine
-	  methods.  Revised several comments.
-
-2006-11-08 Wednesday 13:57  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (altnum.23): Reverted changed
-	  commited by mistake.
-
-2006-11-08 Wednesday 13:55  Abramo Bagnara
-
-	* src/: Checked_Number.inlines.hh, Interval.defs.hh
-	  (altnum.[22,46]): Added missing signatures for operator==.
-
-2006-11-08 Wednesday 13:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (1.30): Minor change in the
-	  documentation: name the set of integer variables in the brief
-	  description of a constructor.
-
-2006-11-08 Wednesday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (octagons.1): file MIP_Problem.defs.hh
-	  was added on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-11-08 Wednesday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/linearpartition1.cc (1.10): Refer to
-	  Pointset_Powerset<PH> instead of Powerset<Determinate<PH> >.
-
-2006-11-08 Wednesday 12:01  Abramo Bagnara
-
-	* src/: checked_ext.inlines.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[9,29,23,25]): Pushed native extended handling to lowest
-	  level.
-
-2006-11-08 Wednesday 11:37  quartieri
-
-	* src/Octagonal_Shape.defs.hh (1.17),
-	  src/Octagonal_Shape.inlines.hh (1.12),
-	  src/Octagonal_Shape.templates.hh (1.39),
-	  tests/Octagonal_Shape/Makefile.am (1.12),
-	  tests/Octagonal_Shape/bounds1.cc (1.1),
-	  tests/Octagonal_Shape/max_min1.cc (1.1): Defined the methods: -
-	  bounds(); - bounds_from_above(); - bounds_from_below(); -
-	  max_min(); - maximize(); - minimize(); and added some tests on
-	  them.
-
-2006-11-08 Wednesday 11:12  Abramo Bagnara
-
-	* src/: Float.defs.hh, checked_ext.inlines.hh (altnum.[3,8]):
-	  Converted handle_ext_natively in a function.
-
-2006-11-08 Wednesday 09:54  Abramo Bagnara
-
-	* src/checked_mpq.inlines.hh (altnum.22): Removed useless function.
-
-2006-11-08 Wednesday 09:54  Abramo Bagnara
-
-	* src/checked_ext.inlines.hh (altnum.7): Added extended constants
-	  printing.
-
-2006-11-08 Wednesday 09:17  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.45): Added multiplication.
-
-2006-11-08 Wednesday 09:17  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.11): Renamed sign into sgn for
-	  conformity to other places.
-
-2006-11-08 Wednesday 00:58  Andrea Cimino
-
-	* interfaces/Java/jni/Makefile.am (1.3): If a `make clean' is
-	  called, delete all the headers generated by javah.
-
-2006-11-08 Wednesday 00:01  Andrea Cimino
-
-	* m4/ac_prog_javah.m4 (1.6): Avoid to compile the Java interface if
-	  javah is found but the jni.h header is not found.
-
-2006-11-08 Wednesday 00:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_javah.m4 (altnum.1): file ac_prog_javah.m4 was added
-	  on branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-11-08 Wednesday 00:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_javah.m4 (octagons.1): file ac_prog_javah.m4 was added
-	  on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-11-07 Tuesday 22:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.16): Drafted an implementation of
-	  add_constraint().
-
-2006-11-07 Tuesday 20:08  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_Polyhedron.cc (1.4): Added other
-	  Polyhedron methods to the Java interface.
-
-2006-11-07 Tuesday 19:22  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_Polyhedron.cc (1.3): Added some
-	  Polyhedron related methods to the Java interface.
-
-2006-11-07 Tuesday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.56): Useless parentheses removed.
-
-2006-11-07 Tuesday 17:04  Abramo Bagnara
-
-	* src/checked.inlines.hh (altnum.18): Added temporary kludge to fix
-	  compiling.
-
-2006-11-07 Tuesday 16:24  Abramo Bagnara
-
-	* src/: checked.inlines.hh, checked_ext.inlines.hh (altnum.[17,6]):
-	  Removed unsafe comparisons.
-
-2006-11-07 Tuesday 16:20  Elena Mazzi
-
-	* src/BD_Shape.defs.hh (1.89), src/BD_Shape.inlines.hh (1.137),
-	  src/BD_Shape.templates.hh (1.55), tests/BD_Shape/Makefile.am
-	  (1.56), tests/BD_Shape/bounds1.cc (1.1),
-	  tests/BD_Shape/max_min1.cc (1.1): Defined the following methods:
-	  - bounds_from_above(); - bounds_from_below(); - bounds(); -
-	  max_min(); - maximize(); - minimize().  Added some tests on them.
-
-2006-11-07 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bounds1.cc (altnum.1): file bounds1.cc was added
-	  on branch altnum on 2006-12-02 22:35:33 +0000
-
-2006-11-07 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bounds1.cc (octagons.1): file bounds1.cc was added
-	  on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-11-07 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/max_min1.cc (altnum.1): file max_min1.cc was added
-	  on branch altnum on 2006-12-02 22:35:33 +0000
-
-2006-11-07 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/max_min1.cc (octagons.1): file max_min1.cc was
-	  added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-11-07 Tuesday 15:48  Abramo Bagnara
-
-	* src/Rounding_Dir.inlines.hh (altnum.5): Moved a definition to
-	  permit inlining.
-
-2006-11-07 Tuesday 15:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.templates.hh, Interval.inlines.hh,
-	  Interval_Info.defs.hh, Interval_Info.inlines.hh,
-	  Interval_Info.types.hh, Makefile.am (altnum.[15,14,6,1,1,27]):
-	  swap() functions and methods for the Interval_Info classes
-	  revised.  Rewritten Box<Interval>::operator(ostream&).
-
-2006-11-07 Tuesday 15:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.39): Fixed a couple of
-	  memory leaks in exception_prolog.
-
-2006-11-07 Tuesday 15:20  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.54): Fixed a comment on
-	  BD_Shape::remove_space_dimensions().
-
-2006-11-07 Tuesday 15:18  Andrea Cimino
-
-	* configure.ac (1.249), m4/Makefile.am (1.21), m4/ac_prog_java.m4
-	  (1.2), m4/ac_prog_java_works.m4 (1.3), m4/ac_prog_javac.m4 (1.2),
-	  m4/ac_prog_javac_works.m4 (1.2): Java environment detection
-	  improved. Moved all the *_works stuff in the ac_prog_java* files.
-
-2006-11-07 Tuesday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_javac.m4 (altnum.1): file ac_prog_javac.m4 was added
-	  on branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-11-07 Tuesday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_javac.m4 (octagons.1): file ac_prog_javac.m4 was added
-	  on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-11-07 Tuesday 15:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.88), BD_Shape.inlines.hh (1.136),
-	  BD_Shape.templates.hh (1.53), Octagonal_Shape.defs.hh (1.16),
-	  Octagonal_Shape.inlines.hh (1.11), Octagonal_Shape.templates.hh
-	  (1.38): Added (imprecise but safe) implementations of shapes
-	  constructors taking a congruence system as input.  Added a few
-	  missing include files so as to avoid indirect dependencies.
-
-2006-11-07 Tuesday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.defs.hh, Interval.inlines.hh (altnum.[44,13]):
-	  Added Interval::swap(Interval& y) for consistency with the rest
-	  of the library.  The corresponding std::swap() function is now
-	  implemented in terms of that one.
-
-2006-11-07 Tuesday 13:14  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
-	  (altnum.[10,43,5]): Added swap. Moved adjust_boundary_info in
-	  more appropriate file.
-
-2006-11-07 Tuesday 13:13  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[21,21]): Move swap in std namespace.
-
-2006-11-07 Tuesday 10:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.248), m4/ac_prog_javah.m4 (1.5):
-	  AC_CANONICAL_SYSTEM is obsolete: use AC_CANONICAL_HOST instead.
-
-2006-11-07 Tuesday 10:00  Andrea Cimino
-
-	* configure.ac (1.247), m4/ac_prog_javah.m4 (1.4): Call
-	  AC_CANONICAL_SYSTEM before AM_INIT_AUTOMAKE to avoid the previous
-	  autoreconf messages. ac_prog_javah.m4 reverted to the previous
-	  version.
-
-2006-11-07 Tuesday 09:23  Andrea Cimino
-
-	* m4/ac_prog_javah.m4 (1.3): Avoid autoreconf warnings.
-
-2006-11-07 Tuesday 08:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.inlines.hh (altnum.16): Fixed Box<Interval>::is_empty().
-
-2006-11-07 Tuesday 08:34  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.42): Fixed typo.
-
-2006-11-06 Monday 23:48  Abramo Bagnara
-
-	* src/Interval_Info.defs.hh (altnum.4): Added static keyword.
-
-2006-11-06 Monday 23:46  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.41): Fixed typo.
-
-2006-11-06 Monday 23:44  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.40): Fixes to convex_hull and
-	  intersect.
-
-2006-11-06 Monday 23:16  Andrea Cimino
-
-	* m4/ac_prog_java_works.m4 (1.2): Proceed configuring if a not
-	  suitable JDK is found.
-
-2006-11-06 Monday 23:01  Andrea Cimino
-
-	* m4/ac_prog_javah.m4 (1.2): Fixed an autoconf call.
-
-2006-11-06 Monday 22:57  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
-	  (altnum.[9,39,3]): Simplified Interval return values. Changed
-	  integer properties.
-
-2006-11-06 Monday 22:25  Andrea Cimino
-
-	* m4/ac_prog_java.m4 (1.1): Added a missing macro to the `m4'
-	  directory.
-
-2006-11-06 Monday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/tests/Makefile.am (octagons.1): file Makefile.am
-	  was added on branch octagons on 2006-11-18 20:36:45 +0000
-
-2006-11-06 Monday 22:12  Andrea Cimino
-
-	* interfaces/Java/: Makefile.am (1.4), jni/Makefile.am (1.2),
-	  tests/Makefile.am (1.2): Makefile.am's updated to take the
-	  programs name from autoconf.
-
-2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_classpath.m4 (altnum.1): file ac_check_classpath.m4
-	  was added on branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_classpath.m4 (octagons.1): file ac_check_classpath.m4
-	  was added on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_classpath.m4 (simplex.1): file ac_check_classpath.m4
-	  was added on branch simplex on 2008-01-07 11:15:31 +0000
-
-2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_jar.m4 (altnum.1): file ac_prog_jar.m4 was added on
-	  branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_prog_jar.m4 (octagons.1): file ac_prog_jar.m4 was added on
-	  branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-11-06 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.246), m4/Makefile.am (1.20),
-	  m4/ac_check_classpath.m4 (1.1), m4/ac_prog_jar.m4 (1.1),
-	  m4/ac_prog_java_works.m4 (1.1), m4/ac_prog_javac.m4 (1.1),
-	  m4/ac_prog_javac_works.m4 (1.1), m4/ac_prog_javah.m4 (1.1):
-	  Autodetect the availability of the required Java development
-	  environment.
-
-2006-11-06 Monday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (altnum.6): Use the new implementation of intervals.
-
-2006-11-06 Monday 16:05  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.38): Added missing argument.
-
-2006-11-06 Monday 15:59  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.37): Fixed two typos hard to see.
-
-2006-11-06 Monday 15:58  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.36): Added two missing 'combine'.
-
-2006-11-06 Monday 15:56  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.35): Added two missing functions
-	  invoking methods. Fixed typos.
-
-2006-11-06 Monday 15:46  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
-	  (altnum.[8,34,2]): Modified properties handling for generic
-	  property value. Added normalize_integer().
-
-2006-11-06 Monday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.inlines.hh (altnum.15): Do not use low-level methods
-	  (this seems to expose a bug in the Interval implementation).
-
-2006-11-06 Monday 12:57  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.37): Replaced some assign_r()
-	  with the operator=().
-
-2006-11-06 Monday 12:06  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.52), tests/BD_Shape/Makefile.am
-	  (1.55), tests/BD_Shape/boundedaffinepreimage1.cc (1.1): Defined a
-	  new method: BD_Shape::bounded_affine_preimage() and added some
-	  tests on it.
-
-2006-11-06 Monday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/boundedaffinepreimage1.cc (altnum.1): file
-	  boundedaffinepreimage1.cc was added on branch altnum on
-	  2006-12-02 22:35:33 +0000
-
-2006-11-06 Monday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/boundedaffinepreimage1.cc (octagons.1): file
-	  boundedaffinepreimage1.cc was added on branch octagons on
-	  2006-11-18 20:36:56 +0000
-
-2006-11-06 Monday 10:52  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.51): Corrected a bug on
-	  bds_hull_assign() when a BDS is minimized.
-
-2006-11-06 Monday 10:51  Elena Mazzi
-
-	* tests/BD_Shape/bdshull1.cc (1.14): Added test 08 that shows a bug
-	  in bds_hull_assign.
-
-2006-11-06 Monday 10:49  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.50): Replaced some assign_r() with
-	  the operator=().
-
-2006-11-06 Monday 10:46  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.33): Modified strictly_contains
-	  implementation.
-
-2006-11-06 Monday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4,
-	  ppl_interface_generator_prolog_icc_preamble (altnum.[5,5]):
-	  References to Rational_Box fixed.  Reference to Old_Interval
-	  removed.
-
-2006-11-06 Monday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (altnum.15): Added new typename member
-	  `interval_type'.
-
-2006-11-05 Sunday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.inlines.hh (altnum.14): Exploit the information returned
-	  by refine()
-
-2006-11-05 Sunday 22:30  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.7): Fixed typos.
-
-2006-11-05 Sunday 22:26  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.32): Added strictly_contains. Fixed
-	  contains for empty intervals. NAN scalar is not a singleton.
-
-2006-11-05 Sunday 22:18  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.31): Added some FIXME's.
-
-2006-11-05 Sunday 22:11  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.30): Added an incorrect stub for
-	  info_open to permit compilation.
-
-2006-11-05 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.inlines.hh (altnum.13): Two FIXMEs partially resolved.
-
-2006-11-05 Sunday 22:04  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.29): Added contains. Simplified
-	  operator==.
-
-2006-11-05 Sunday 22:03  Abramo Bagnara
-
-	* src/Boundary.defs.hh (altnum.6): Modified implementation of
-	  is_unbounded and extended its use.
-
-2006-11-05 Sunday 21:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.12),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.17),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.17),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.29): Added add_disjunct and get_disjuncts to the Prolog
-	  interface.  The generated tests show a bug, still to be fixed, in
-	  get_disjuncts.
-
-2006-11-05 Sunday 21:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.templates.hh (altnum.[14,14]): Added
-	  dimension_type Box<Interval>::affine_dimension() const.
-
-2006-11-05 Sunday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.inlines.hh, Box.templates.hh (altnum.[12,13]): Added
-	  void Box<Interval>::add_space_dimensions_and_embed(const
-	  dimension_type) and void
-	  Box<Interval>::add_space_dimensions_and_project(const
-	  dimension_type).
-
-2006-11-05 Sunday 19:12  Abramo Bagnara
-
-	* src/: Box.templates.hh, Interval.defs.hh (altnum.[12,28]):
-	  Cosmetic fixes. Added contains_integer_point implementation.
-
-2006-11-05 Sunday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.49), Octagonal_Shape.templates.hh
-	  (1.36): Exception throwers simplified.
-
-2006-11-05 Sunday 18:57  Andrea Cimino
-
-	* configure.ac (1.245), interfaces/Java/Makefile.am (1.3),
-	  interfaces/Java/jni/Makefile.am (1.1),
-	  interfaces/Java/jni/ppl_java_Polyhedron.cc (1.2),
-	  interfaces/Java/tests/C_Polyhedron_test1.java (1.1),
-	  interfaces/Java/tests/Makefile.am (1.1): The `ppl_java' library
-	  is now built.  Added the first test for the Java interface.
-	  Solved some cut and paste bugs in ppl_java_Polyhedron.cc.
-
-2006-11-05 Sunday 18:35  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.27): Added missing ().
-
-2006-11-05 Sunday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.templates.hh, Interval.defs.hh (altnum.[11,26]): Added
-	  template <typename Boundary, typename Info, typename T> inline
-	  bool operator!=(const Interval<Boundary, Info>&, const T&).
-
-2006-11-05 Sunday 18:23  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.25): Added missing const.
-
-2006-11-05 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh (altnum.[13,11]): Addded
-	  Constraint_System Box<Interval>::minimized_constraints() const.
-	  Added missing friend declarations.
-
-2006-11-05 Sunday 17:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh (altnum.[12,10]): Added
-	  explicit Box<Interval>::Box(const Constraint_System&).
-
-2006-11-05 Sunday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
-	  (altnum.[11,9,10]): Added Box<Interval>::Box(const Box&) and
-	  template <typename Other_Interval> explicit
-	  Box<Interval>::Box(const Box<Other_Interval>&).
-
-2006-11-05 Sunday 17:04  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.24): Added missing return.
-
-2006-11-05 Sunday 17:02  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.23): Improved version of operator==.
-
-2006-11-05 Sunday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh (altnum.[10,8]): Added explicit
-	  Box<Interval>::Box(dimension_type num_dimensions = 0,
-	  Degenerate_Element kind = UNIVERSE).
-
-2006-11-05 Sunday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, tests/ppl_test.cc, tests/ppl_test.hh,
-	  tests/print.hh, tests/Box/Makefile.am,
-	  tests/Box/addconstraints1.cc, tests/Box/addspacedims1.cc,
-	  tests/Box/affineimage1.cc, tests/Box/affinepreimage1.cc,
-	  tests/Box/bdsdifference1.cc, tests/Box/boundedaffineimage1.cc,
-	  tests/Box/boxhull.cc, tests/Box/cc76narrowing1.cc,
-	  tests/Box/cc76widening.cc, tests/Box/closure1.cc,
-	  tests/Box/concatenate1.cc, tests/Box/constraints1.cc,
-	  tests/Box/containsintegerpoint1.cc, tests/Box/fromgensys1.cc,
-	  tests/Box/frompolyhedron1.cc,
-	  tests/Box/generalizedaffineimage1.cc,
-	  tests/Box/generalizedaffinepreimage1.cc,
-	  tests/Box/intersection1.cc, tests/Box/mapspacedims1.cc,
-	  tests/Box/maxspacedim1.cc, tests/Box/removespacedims1.cc,
-	  tests/Box/timeelapse1.cc
-	  (altnum.[20,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
-	  Added some infrastructure to begin testing in tests/Box.
-
-2006-11-05 Sunday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron_widenings.cc, Rational_Box.hh (altnum.[8,2]):
-	  Rational_Box is now in the Parma_Polyhedra_Library namespace.
-
-2006-11-05 Sunday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (altnum.22): Added missing return statement.
-
-2006-11-05 Sunday 16:35  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.21): Better unbounded check.
-
-2006-11-05 Sunday 16:32  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[5,20]): Added
-	  refine (still incomplete). Better name for is_integer applied to
-	  intervals.
-
-2006-11-05 Sunday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
-	  (altnum.[9,7,9]): Drafted bool operator==(const Box<Interval>&,
-	  const Box<Interval>&) and bool operator!=(const Box<Interval>&,
-	  const Box<Interval>&).
-
-2006-11-05 Sunday 16:04  Andrea Cimino
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.4): Fixed Makefile.am
-	  to avoid some autoconf warnings.  Fixed some interface bugs.
-
-2006-11-05 Sunday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
-	  (altnum.[8,6,8]): Implementation of Box abstracted with respect
-	  to the sequence employed in the representation.  Drafted void
-	  Box<Interval>::concatenate_assign(const Box&).
-
-2006-11-05 Sunday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.defs.hh (altnum.19): Added missing inclusions and
-	  std:: qualifications.
-
-2006-11-05 Sunday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.types.hh (altnum.3): Added NOT_EQUAL to enum
-	  Relation_Symbol.
-
-2006-11-05 Sunday 15:12  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.18): Added OK().
-
-2006-11-05 Sunday 15:11  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  checked.defs.hh, checked_ext.inlines.hh,
-	  checked_float.inlines.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[20,20,28,5,20,28,21,24]): Added ceil and floor.
-
-2006-11-05 Sunday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.201): Note that in the OK() methods, instead of having
-	  all those #ifndef NDEBUG, it is probably worthwhile to use a
-	  suitable defined `barf' stream that does the right thing.
-
-2006-11-05 Sunday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.200): Remember to add a "quick assign" function to
-	  checked numbers that allows to efficiently assign small integer
-	  constants (like those in the range [-2, 2]) that are guaranteed
-	  not to cause any rounding or overflow problems.
-
-2006-11-05 Sunday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.defs.hh (altnum.7): Added declarations for the standard
-	  member functions that may modify the dimension of the vector
-	  space.
-
-2006-11-05 Sunday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Box/: .cvsignore, Makefile.am, addconstraints1.cc,
-	  addspacedims1.cc, affinedimension1.cc, affineimage1.cc,
-	  affinepreimage1.cc, ascii_dump_load1.cc, bdsdifference1.cc,
-	  bgp99extrapolation1.cc, bhz03widening1.cc, bounded1.cc,
-	  boundedaffineimage1.cc, boxhull.cc, cc76narrowing1.cc,
-	  cc76widening.cc, closure1.cc, concatenate1.cc, constraints1.cc,
-	  contains1.cc, containsintegerpoint1.cc, discrete1.cc,
-	  disjoint1.cc, empty1.cc, equality1.cc, expandspacedim1.cc,
-	  foldspacedims1.cc, fromgensys1.cc, frompolyhedron1.cc,
-	  generalizedaffineimage1.cc, generalizedaffinepreimage1.cc,
-	  geomcovers1.cc, intersection1.cc, mapspacedims1.cc,
-	  maxspacedim1.cc, membytes1.cc, minconstraints1.cc, relations1.cc,
-	  removespacedims1.cc, timeelapse1.cc, universe1.cc, writebox1.cc
-	  (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,1,1,1,1,1]):
-	  Ripped from the tests/BD_Shape directory to serve as a basis for
-	  building the Box testsuite.
-
-2006-11-05 Sunday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/maxspacedim1.cc (altnum.1): file
-	  maxspacedim1.cc was added on branch altnum on 2006-12-02 22:35:34
-	  +0000
-
-2006-11-05 Sunday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/maxspacedim1.cc (octagons.1): file
-	  maxspacedim1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-11-05 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/Makefile.am (1.54), BD_Shape/maxspacedim.cc
-	  (1.14), BD_Shape/maxspacedim1.cc (1.1),
-	  Octagonal_Shape/Makefile.am (1.11),
-	  Octagonal_Shape/maxspacedim.cc (1.2),
-	  Octagonal_Shape/maxspacedim1.cc (1.1): Renamed maxspacedim.cc to
-	  maxspacedim1.cc.
-
-2006-11-05 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/maxspacedim1.cc (altnum.1): file maxspacedim1.cc
-	  was added on branch altnum on 2006-12-02 22:35:33 +0000
-
-2006-11-05 Sunday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/maxspacedim1.cc (octagons.1): file maxspacedim1.cc
-	  was added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-11-05 Sunday 14:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.87): Missing blanks added.
-
-2006-11-05 Sunday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.cc, Box.defs.hh, Box.templates.hh (altnum.[2,6,7]):
-	  Added void Box<Interval>::add_constraints(const
-	  Constraint_System&) and bool Box<Interval>::OK() const.  Started
-	  drafting void Box<Interval>::add_constraint(const Constraint&).
-
-2006-11-05 Sunday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
-	  (altnum.[5,5,6]): New methods void box_hull_assign(const Box&)
-	  and void upper_bound_assign(const Box&).
-
-2006-11-05 Sunday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.defs.hh, Box.inlines.hh, Box.templates.hh
-	  (altnum.[4,4,5]): New methods bool Box<Interval>::marked_empty()
-	  const and void Box<Interval>::intersection_assign(const Box&).
-
-2006-11-05 Sunday 09:41  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh (altnum.[4,17]): Added
-	  some methods.
-
-2006-11-05 Sunday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Box.templates.hh (altnum.4): Two FIXMEs resolved by using
-	  Interval::set_lower_unbounded() and
-	  Interval::set_upper_unbounded().
-
-2006-11-05 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Boundary.defs.hh, Box.defs.hh, Box.inlines.hh,
-	  Box.templates.hh (altnum.[3,3,3,3]): Method is_empty() revised.
-	  Added methods bool is_universe() const, bool
-	  is_topologically_closed() const, bool is_bounded() const, and
-	  bool contains_integer_point() const.
-
-2006-11-05 Sunday 07:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.7): Activated the
-	  bounded_affine_image() and bounded_affine_preimage() methods.
-
-2006-11-04 Saturday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  src/Bounding_Box.cc, src/Bounding_Box.defs.hh,
-	  src/Bounding_Box.inlines.hh, src/Bounding_Box.types.hh,
-	  src/Box.defs.hh, src/Box.inlines.hh, src/Box.templates.hh,
-	  src/Makefile.am, src/Polyhedron_widenings.cc, src/Rational_Box.hh
-	  (altnum.[4,4,4,4,3,2,2,2,26,7,1]): New class Rational_Box to
-	  replace the old Bounding_Box.  Several corrections to the
-	  definition of class Box.
-
-2006-11-04 Saturday 20:25  Andrea Cimino
-
-	* interfaces/Java/Makefile.am (1.2): If Java interface generation
-	  is enabled, ppl_java.jar is automatically built. The java files
-	  are now compiled always together.
-
-2006-11-04 Saturday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Box.cc, Box.defs.hh, Box.inlines.hh, Box.templates.hh,
-	  Box.types.hh, Interval.defs.hh, Makefile.am
-	  (altnum.[1,1,1,1,1,16,25]): The new Box templatic class
-	  efficiently represents not necessarily closed, iso-oriented
-	  hyperrectangles.
-
-2006-11-04 Saturday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4,
-	  ppl_interface_generator_prolog_icc_preamble (altnum.[3,4]): Enum
-	  value LOWER and UPPER renamed LOWER_BOUNDARY and UPPER_BOUNDARY,
-	  respectively.
-
-2006-11-04 Saturday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval.inlines.hh,
-	  Interval.types.hh, Makefile.am, Old_Interval.defs.hh,
-	  Old_Interval.inlines.hh, Old_Interval.types.hh
-	  (altnum.[2,15,12,3,24,2,2,2]): Old implementation of intervals
-	  moved further out of the way.  New interval implementation is now
-	  included in ppl.hh.
-
-2006-11-04 Saturday 16:46  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.14): Added quick and dirty trick to
-	  support interval construction from strings.
-
-2006-11-04 Saturday 16:39  Abramo Bagnara
-
-	* src/: Boundary.defs.hh, Interval.defs.hh, Interval_Info.defs.hh
-	  (altnum.[1,13,1]): Splitted and reorganized new intervals code.
-
-2006-11-04 Saturday 16:38  Abramo Bagnara
-
-	* src/fpu-ia32.inlines.hh (altnum.4): Added memory clobber
-	  directive to avoid asm reordering.
-
-2006-11-04 Saturday 16:37  Abramo Bagnara
-
-	* src/compiler.hh (altnum.3): Added avoid_cse.
-
-2006-11-04 Saturday 16:36  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (altnum.19): Reinserted lost commit.
-	  Added avoid_cse.
-
-2006-11-04 Saturday 16:35  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh (altnum.19): Improved comment.
-
-2006-11-03 Friday 21:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.3): Use switches
-	  whenever possible.
-
-2006-11-03 Friday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/ppl_java_common.cc (1.2): Avoid long lines.
-
-2006-11-03 Friday 16:41  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.12): More work on interval.
-
-2006-11-03 Friday 16:38  Andrea Cimino
-
-	* interfaces/Java/jni/: .cvsignore (1.1), ppl_java_C_Polyhedron.cc
-	  (1.1), ppl_java_Polyhedron.cc (1.1), ppl_java_common.cc (1.1),
-	  ppl_java_common.hh (1.1): Added the `jni' directory to the trunk.
-	  Added some files that interface Java to C++ via JNI.
-
-2006-11-03 Friday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/.cvsignore (altnum.1): file .cvsignore was
-	  added on branch altnum on 2006-12-02 22:35:27 +0000
-
-2006-11-03 Friday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/.cvsignore (octagons.1): file .cvsignore was
-	  added on branch octagons on 2006-11-18 20:36:45 +0000
-
-2006-11-03 Friday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/jni/.cvsignore (simplex.1): file .cvsignore was
-	  added on branch simplex on 2008-01-07 11:15:29 +0000
-
-2006-11-03 Friday 15:24  quartieri
-
-	* tests/Octagonal_Shape/boundedaffineimage1.cc (1.7): Removed some
-	  useless lines from test13().
-
-2006-11-03 Friday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/boundedaffineimage1.cc (octagons.1): file
-	  boundedaffineimage1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-11-03 Friday 14:51  Andrea Cimino
-
-	* interfaces/Makefile.am (1.20): Temporarily disabled the Java
-	  interface to be processed by Makefile.
-
-2006-11-03 Friday 10:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.11),
-	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
-	  (1.19),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.22): Fixed some bugs.  Tidied the handling of a "friend" class
-	  replacement.	Improved some comments.
-
-2006-11-03 Friday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (octagons.1): file ppl_interface_generator_predicate_check_pl.m4
-	  was added on branch octagons on 2006-11-18 20:36:49 +0000
-
-2006-11-02 Thursday 16:51  quartieri
-
-	* tests/Octagonal_Shape/expandspacedim1.cc (1.2): Added some tests.
-
-2006-11-02 Thursday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/expandspacedim1.cc (octagons.1): file
-	  expandspacedim1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-11-02 Thursday 15:21  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.35),
-	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.2): Corrected
-	  the method bounded_affine_preimage() when `lb_expr' contains
-	  `var'.  Added some tests.
-
-2006-11-02 Thursday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/boundedaffinepreimage1.cc (octagons.1):
-	  file boundedaffinepreimage1.cc was added on branch octagons on
-	  2006-11-18 20:36:59 +0000
-
-2006-11-02 Thursday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.70): Unwanted changes withdrawn.
-
-2006-11-02 Thursday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh, checked.defs.hh (altnum.[18,27]):
-	  Enable inexact check when requested.
-
-2006-11-02 Thursday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (altnum.18): Fixed missing round
-	  direction extraction.
-
-2006-11-02 Thursday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.83), checked.defs.hh (1.37),
-	  checked_float.inlines.hh (1.69): Previous changes reverted (they
-	  were meant for the `altnum' branch only).
-
-2006-11-02 Thursday 10:03  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.11): Added more functions. Added
-	  some notes to not forget.
-
-2006-11-01 Wednesday 23:00  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.68): Fixed missing round
-	  direction extraction.
-
-2006-11-01 Wednesday 22:59  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.82), checked.defs.hh (1.36):
-	  Enable inexact check when requested.
-
-2006-11-01 Wednesday 22:56  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.10): More work on new intervals.
-
-2006-11-01 Wednesday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.38): Block indentation corrected.
-
-2006-11-01 Wednesday 20:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.13),
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.6),
-	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
-	  (1.18),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.21): Further improvements to the generation of the code.
-
-2006-11-01 Wednesday 17:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common.m4 (1.12): Some ongoing
-	  improvements - both to the comments and in making the arguments
-	  to the macros more uniform.
-
-2006-11-01 Wednesday 15:42  Abramo Bagnara
-
-	* src/: Init.cc, Rounding_Dir.defs.hh, Rounding_Dir.inlines.hh,
-	  fpu-c99.inlines.hh, fpu-ia32.inlines.hh, fpu-sparc.inlines.hh,
-	  fpu.types.hh (altnum.[4,4,4,3,3,3,3]), checked_float.inlines.hh
-	  (1.67): Use specific types for fpu_rounding_direction_type and
-	  fpu_rounding_control_word_type.
-
-2006-11-01 Wednesday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.28),
-	  ppl_interface_generator_predicate_check_extra_code (1.17),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.20): Several
-	  improvements to the code - both the generated code and to the m4
-	  itself.
-
-2006-11-01 Wednesday 13:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.16),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.16): Added code for
-	  the Octagonal_Shape and BD_Shape narrowing procedures.
-
-2006-11-01 Wednesday 12:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.10),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.9),
-	  C/ppl_interface_generator_c_dat.m4 (1.9),
-	  C/ppl_interface_generator_c_h_code.m4 (1.6),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.15),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.15),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.27): Several improvements - mainly wrt the generation of code
-	  for the widening and extrapolation operators.  All extrapolations
-	  (including the widenings) for all the simple domains are now
-	  generated. The only missing procedure now is the narrowing.
-
-	  Names of some of the patterns to be replaced have also been
-	  revised.
-
-2006-11-01 Wednesday 12:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (octagons.1): file
-	  ppl_interface_generator_c_dat.m4 was added on branch octagons on
-	  2006-11-18 20:36:44 +0000
-
-2006-11-01 Wednesday 12:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_code.m4 (octagons.1):
-	  file ppl_interface_generator_c_h_code.m4 was added on branch
-	  octagons on 2006-11-18 20:36:44 +0000
-
-2006-11-01 Wednesday 12:24  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.9): More work on intervals.
-
-2006-11-01 Wednesday 08:13  Abramo Bagnara
-
-	* src/Interval.defs.hh (altnum.8): Put under CVS control.
-
-2006-10-31 Tuesday 23:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* instchk.hh (1.7): Cater also for Octagonal_Shape.  Methods
-	  renamed so as to reflect that Polyhedra_Powerset has been renamed
-	  Pointset_Powerset.
-
-2006-10-31 Tuesday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/: Constraint.java (1.2), Linear_Expression.java
-	  (1.2), Linear_Expression_Coefficient.java (1.2),
-	  Linear_Expression_Common.java (1.2),
-	  Linear_Expression_Difference.java (1.2),
-	  Linear_Expression_Sum.java (1.2), Linear_Expression_Times.java
-	  (1.2), Linear_Expression_Unary_Minus.java (1.2),
-	  Linear_Expression_Variable.java (1.2), Relation_Symbol.java
-	  (1.2): Moved.
-
-2006-10-31 Tuesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.48): Corrected another occurrence of
-	  the same problem identified in the previous commit (wrong
-	  handling of capacities), again in remove_space_dimensions().
-
-2006-10-31 Tuesday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/: Constraint.java (1.1), Linear_Expression.java
-	  (1.1), Linear_Expression_Coefficient.java (1.1),
-	  Linear_Expression_Common.java (1.1),
-	  Linear_Expression_Difference.java (1.1),
-	  Linear_Expression_Sum.java (1.1), Linear_Expression_Times.java
-	  (1.1), Linear_Expression_Unary_Minus.java (1.1),
-	  Linear_Expression_Variable.java (1.1), Relation_Symbol.java
-	  (1.1): Put under CVS control.
-
-2006-10-31 Tuesday 17:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.47): Corrected a bug (in the
-	  handling of DB_Row capacities) in method
-	  remove_space_dimension(). Avoid useless computations when the
-	  BD_Shape is known to be empty.
-
-2006-10-31 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/foldspacedims1.cc (altnum.1): file
-	  foldspacedims1.cc was added on branch altnum on 2006-12-02
-	  22:35:34 +0000
-
-2006-10-31 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/foldspacedims1.cc (octagons.1): file
-	  foldspacedims1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-31 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/mapspacedims1.cc (octagons.1): file
-	  mapspacedims1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-31 Tuesday 16:35  quartieri
-
-	* src/Octagonal_Shape.defs.hh (1.15),
-	  src/Octagonal_Shape.templates.hh (1.34),
-	  tests/Octagonal_Shape/Makefile.am (1.10),
-	  tests/Octagonal_Shape/foldspacedims1.cc (1.1),
-	  tests/Octagonal_Shape/mapspacedims1.cc (1.2): Defined the method
-	  fold_space_dimensions() and added some tests about it.  Removed
-	  the trailing white spaces from mapspacedims1.
-
-2006-10-31 Tuesday 14:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.26),
-	  ppl_interface_generator_predicate_check_extra_code (1.16),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.19): Added
-	  generic tests for the remaining widening/extrapolation and change
-	  dimensions procedures.
-
-2006-10-31 Tuesday 13:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/BD_Shape/foldspacedims1.cc (1.2): Added two tests to show a
-	  bug.	Both test fold_space_dimensions() for an empty shape in 2
-	  dimensions but where the initial shape is built in different
-	  ways.  One of these tests causes an exception to be thrown
-	  whereas the other passes.
-
-2006-10-31 Tuesday 13:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/foldspacedims1.cc (octagons.1): file
-	  foldspacedims1.cc was added on branch octagons on 2006-11-18
-	  20:36:56 +0000
-
-2006-10-31 Tuesday 09:30  Abramo Bagnara
-
-	* src/: Checked_Number.inlines.hh, Rounding_Dir.defs.hh,
-	  Rounding_Dir.inlines.hh, checked_int.inlines.hh,
-	  checked_mpz.inlines.hh (altnum.[19,3,3,27,23]),
-	  Checked_Number.defs.hh (1.81): Check for FPU inexact result only
-	  when explicitly requested by the individual functions/operators.
-
-2006-10-31 Tuesday 09:23  Abramo Bagnara
-
-	* src/checked_mpq.inlines.hh (altnum.20): Fixed is_int_mpq().
-
-2006-10-31 Tuesday 08:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (1.29): Avoid a Doxygen warning about an
-	  undocumented parameter.
-
-2006-10-30 Monday 18:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.25): Tests for the affine image and preimage predicates added.
-
-2006-10-30 Monday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Saturation_Matrix.cc (1.12), Saturation_Matrix.defs.hh
-	  (1.12), Saturation_Matrix.inlines.hh (1.8),
-	  Saturation_Matrix.types.hh (1.5), Saturation_Row.cc (1.12),
-	  Saturation_Row.defs.hh (1.13), Saturation_Row.inlines.hh (1.9),
-	  Saturation_Row.types.hh (1.5): Replaced by the corresponding
-	  files Bit_*.
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.cc (altnum.1): file Bit_Matrix.cc was added on
-	  branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.cc (octagons.1): file Bit_Matrix.cc was added on
-	  branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.defs.hh (altnum.1): file Bit_Matrix.defs.hh was
-	  added on branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.defs.hh (octagons.1): file Bit_Matrix.defs.hh was
-	  added on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.inlines.hh (altnum.1): file Bit_Matrix.inlines.hh
-	  was added on branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.inlines.hh (octagons.1): file
-	  Bit_Matrix.inlines.hh was added on branch octagons on 2006-11-18
-	  20:36:50 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.types.hh (altnum.1): file Bit_Matrix.types.hh was
-	  added on branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Matrix.types.hh (octagons.1): file Bit_Matrix.types.hh
-	  was added on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.cc (altnum.1): file Bit_Row.cc was added on branch
-	  altnum on 2006-12-02 22:35:31 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.cc (octagons.1): file Bit_Row.cc was added on branch
-	  octagons on 2006-11-18 20:36:50 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.defs.hh (altnum.1): file Bit_Row.defs.hh was added on
-	  branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.defs.hh (octagons.1): file Bit_Row.defs.hh was added
-	  on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.inlines.hh (altnum.1): file Bit_Row.inlines.hh was
-	  added on branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.inlines.hh (octagons.1): file Bit_Row.inlines.hh was
-	  added on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.types.hh (altnum.1): file Bit_Row.types.hh was added
-	  on branch altnum on 2006-12-02 22:35:31 +0000
-
-2006-10-30 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bit_Row.types.hh (octagons.1): file Bit_Row.types.hh was
-	  added on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-10-30 Monday 16:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.199), doc/devref.doxyconf-html.in (1.79),
-	  doc/devref.doxyconf-latex.in (1.18), src/BD_Shape.defs.hh (1.86),
-	  src/BD_Shape.templates.hh (1.46), src/Bit_Matrix.cc (1.1),
-	  src/Bit_Matrix.defs.hh (1.1), src/Bit_Matrix.inlines.hh (1.1),
-	  src/Bit_Matrix.types.hh (1.1), src/Bit_Row.cc (1.1),
-	  src/Bit_Row.defs.hh (1.1), src/Bit_Row.inlines.hh (1.1),
-	  src/Bit_Row.types.hh (1.1), src/Linear_System.cc (1.40),
-	  src/Linear_System.defs.hh (1.29), src/Linear_System.inlines.hh
-	  (1.19), src/Makefile.am (1.163), src/Polyhedron.defs.hh (1.308),
-	  src/Polyhedron_chdims.cc (1.40), src/Polyhedron_nonpublic.cc
-	  (1.70), src/Polyhedron_public.cc (1.86),
-	  src/Polyhedron_widenings.cc (1.56), src/conversion.cc (1.79),
-	  src/minimize.cc (1.44), src/simplify.cc (1.46),
-	  src/swapping_sort.icc (1.11): Classes Saturation_Row and
-	  Saturation_Matrix renamed as Bit_Row and Bit_Matrix,
-	  respectively.
-
-2006-10-30 Monday 14:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Saturation_Row.defs.hh (1.12): Added specification for   void
-	  set_until(unsigned long k);
-
-2006-10-30 Monday 12:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.85), BD_Shape.templates.hh (1.45): The
-	  redundancy_dbm private data member of BD_Shape is now implemented
-	  by using a Saturation_Matrix (instead of a vector of deques of
-	  Booleans).
-
-2006-10-30 Monday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Saturation_Matrix.cc (1.11), Saturation_Matrix.defs.hh
-	  (1.11), Saturation_Matrix.inlines.hh (1.7): Added comparison
-	  operators for Saturation_Matrix.
-
-2006-10-30 Monday 12:23  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.33): Removed an old FIXME and
-	  a provisional implementation of the method
-	  external_memory_in_bytes().
-
-2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.cc (octagons.1): file FCAIBVP.cc was added on
-	  branch octagons on 2006-11-18 20:36:53 +0000
-
-2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.defs.hh (octagons.1): file FCAIBVP.defs.hh was
-	  added on branch octagons on 2006-11-18 20:36:53 +0000
-
-2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.inlines.hh (octagons.1): file FCAIBVP.inlines.hh
-	  was added on branch octagons on 2006-11-18 20:36:53 +0000
-
-2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/variablesset1.cc (octagons.1): file
-	  variablesset1.cc was added on branch octagons on 2006-11-18
-	  20:37:00 +0000
-
-2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.cc (octagons.1): file Variables_Set.cc was
-	  added on branch octagons on 2006-11-18 20:36:51 +0000
-
-2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.defs.hh (octagons.1): file
-	  Variables_Set.defs.hh was added on branch octagons on 2006-11-18
-	  20:36:51 +0000
-
-2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.inlines.hh (octagons.1): file
-	  Variables_Set.inlines.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-10-30 Monday 10:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.8),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.5),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.14),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (1.13), src/BD_Shape.templates.hh (1.44),
-	  src/Grid_Generator_System.cc (1.16), src/Grid_chdims.cc (1.14),
-	  src/MIP_Problem.cc (1.37), src/MIP_Problem.defs.hh (1.28),
-	  src/Octagonal_Shape.templates.hh (1.32), src/Polyhedron_chdims.cc
-	  (1.39), src/Variables_Set.cc (1.2), src/Variables_Set.defs.hh
-	  (1.3), src/Variables_Set.inlines.hh (1.3), tests/FCAIBVP.cc
-	  (1.2), tests/FCAIBVP.defs.hh (1.3), tests/FCAIBVP.inlines.hh
-	  (1.3), tests/Polyhedron/variablesset1.cc (1.8): Variables_Set is
-	  now an std::set of variables' indexes (instead of Variable).
-
-2006-10-30 Monday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_preamble (octagons.1):
-	  file ppl_interface_generator_c_cc_preamble was added on branch
-	  octagons on 2006-11-18 20:36:44 +0000
-
-2006-10-30 Monday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble,
-	  src/Bounding_Box.cc, src/Bounding_Box.defs.hh,
-	  src/Bounding_Box.inlines.hh, src/Direct_Product.templates.hh,
-	  src/Grid.templates.hh, src/Interval.cc, src/Interval.defs.hh,
-	  src/Interval.inlines.hh, src/Interval.types.hh, src/Makefile.am,
-	  src/Old_Interval.cc, src/Old_Interval.defs.hh,
-	  src/Old_Interval.inlines.hh, src/Old_Interval.types.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron.templates.hh
-	  (altnum.[3,3,3,3,3,3,2,7,11,2,23,1,1,1,1,9,3]): Old interval
-	  implementation moved out of the way.
-
-2006-10-29 Sunday 22:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.24),
-	  ppl_interface_generator_predicate_check_extra_code (1.15): Added
-	  generic tests for the binary operators.
-
-2006-10-29 Sunday 20:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* BUGS, COPYING, CREDITS, ChangeLog, INSTALL, Makefile.am, NEWS,
-	  README, README.configure, STANDARDS, TODO, compile, config.guess,
-	  config.rpath, config.sub, configure.ac, depcomp, install-sh,
-	  instchk.hh, ltmain.sh, missing, mkinstalldirs, ppl.lsm.in,
-	  ppl.spec.in, Watchdog/.cvsignore, Watchdog/COPYING,
-	  Watchdog/CREDITS, Watchdog/ChangeLog,
-	  Watchdog/Doubly_Linked_Object.defs.hh,
-	  Watchdog/Doubly_Linked_Object.inlines.hh,
-	  Watchdog/Doubly_Linked_Object.types.hh, Watchdog/EList.defs.hh,
-	  Watchdog/EList.inlines.hh, Watchdog/EList.types.hh,
-	  Watchdog/EList_Iterator.defs.hh,
-	  Watchdog/EList_Iterator.inlines.hh,
-	  Watchdog/EList_Iterator.types.hh, Watchdog/Handler.defs.hh,
-	  Watchdog/Handler.inlines.hh, Watchdog/Handler.types.hh,
-	  Watchdog/INSTALL, Watchdog/Makefile.am, Watchdog/NEWS,
-	  Watchdog/Pending_Element.cc, Watchdog/Pending_Element.defs.hh,
-	  Watchdog/Pending_Element.inlines.hh,
-	  Watchdog/Pending_Element.types.hh, Watchdog/Pending_List.cc,
-	  Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh,
-	  Watchdog/Pending_List.types.hh, Watchdog/README,
-	  Watchdog/Time.cc, Watchdog/Time.defs.hh,
-	  Watchdog/Time.inlines.hh, Watchdog/Time.types.hh,
-	  Watchdog/Watchdog.cc, Watchdog/Watchdog.defs.hh,
-	  Watchdog/Watchdog.inlines.hh, Watchdog/Watchdog.types.hh,
-	  Watchdog/compile, Watchdog/config.guess, Watchdog/config.sub,
-	  Watchdog/configure.ac, Watchdog/depcomp, Watchdog/install-sh,
-	  Watchdog/ltmain.sh, Watchdog/missing, Watchdog/mkinstalldirs,
-	  Watchdog/pwl_header.bottom, Watchdog/pwl_header.middle,
-	  Watchdog/pwl_header.top, Watchdog/src/.cvsignore,
-	  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.cc,
-	  Watchdog/src/Pending_Element.defs.hh,
-	  Watchdog/src/Pending_Element.inlines.hh,
-	  Watchdog/src/Pending_Element.types.hh,
-	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
-	  Watchdog/src/Pending_List.inlines.hh,
-	  Watchdog/src/Pending_List.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/utils/.cvsignore, Watchdog/utils/Makefile.am,
-	  Watchdog/utils/build_header.in, debian/.cvsignore,
-	  debian/Makefile.am, debian/README, debian/changelog,
-	  debian/compat, debian/control, debian/libppl-c.dirs,
-	  debian/libppl-c.install, debian/libppl-c.links,
-	  debian/libppl-dev.dirs, debian/libppl-dev.doc-base,
-	  debian/libppl-dev.doc-base.user, debian/libppl-dev.docs,
-	  debian/libppl-dev.install, debian/libppl-dev.links,
-	  debian/libppl-pwl.copyright.in, debian/libppl-pwl.dirs,
-	  debian/libppl-pwl.docs, debian/libppl-pwl.install,
-	  debian/libppl.copyright.in, debian/libppl.dirs,
-	  debian/libppl.docs, debian/libppl.install, debian/rules,
-	  demos/Makefile.am, demos/ppl_lcdd/.cvsignore,
-	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
-	  demos/ppl_lcdd/examples/Makefile.am,
-	  demos/ppl_lcdd/examples/README, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int16_a,
-	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
-	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
-	  demos/ppl_lpsol/expected_int8, demos/ppl_lpsol/expected_int8_a,
-	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
-	  demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/examples/Makefile.am,
-	  demos/ppl_lpsol/examples/README,
-	  demos/ppl_lpsol/examples/adlittle.mps,
-	  demos/ppl_lpsol/examples/blend.mps,
-	  demos/ppl_lpsol/examples/boeing1.mps,
-	  demos/ppl_lpsol/examples/boeing2.mps,
-	  demos/ppl_lpsol/examples/egout.mps,
-	  demos/ppl_lpsol/examples/ex11.mps,
-	  demos/ppl_lpsol/examples/ex12.mps,
-	  demos/ppl_lpsol/examples/kb2.mps,
-	  demos/ppl_lpsol/examples/lseu.mps,
-	  demos/ppl_lpsol/examples/markshare1.mps,
-	  demos/ppl_lpsol/examples/markshare2.mps,
-	  demos/ppl_lpsol/examples/mas74.mps,
-	  demos/ppl_lpsol/examples/mas76.mps,
-	  demos/ppl_lpsol/examples/mip.mps,
-	  demos/ppl_lpsol/examples/modglob.mps,
-	  demos/ppl_lpsol/examples/noswot.mps,
-	  demos/ppl_lpsol/examples/opt1217.mps,
-	  demos/ppl_lpsol/examples/p0033.mps,
-	  demos/ppl_lpsol/examples/pk1.mps,
-	  demos/ppl_lpsol/examples/rout.mps,
-	  demos/ppl_lpsol/examples/sc105.mps,
-	  demos/ppl_lpsol/examples/sc50a.mps,
-	  demos/ppl_lpsol/examples/sc50b.mps,
-	  demos/ppl_lpsol/examples/ship08l.mps, doc/.cvsignore,
-	  doc/Makefile.am, doc/README.doc, doc/definitions.dox,
-	  doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-c-interface.doxyconf-html.in,
-	  doc/devref-c-interface.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in,
-	  doc/devref-prolog-interface.doxyconf-html.in,
-	  doc/devref-prolog-interface.doxyconf-latex.in,
-	  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/ppl-config.1,
-	  doc/ppl-config_extra_man_text, doc/ppl.sty, doc/ppl_lcdd.1,
-	  doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
-	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
-	  doc/user-browse.doxyconf-latex.in,
-	  doc/user-c-interface.doxyconf-html.in,
-	  doc/user-c-interface.doxyconf-latex.in,
-	  doc/user-print.doxyconf-latex.in,
-	  doc/user-prolog-interface.doxyconf-html.in,
-	  doc/user-prolog-interface.doxyconf-latex.in,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  doc/user.tex, interfaces/Makefile.am,
-	  interfaces/ppl_interface_generator_common.m4,
-	  interfaces/ppl_interface_generator_common_dat.m4,
-	  interfaces/ppl_interface_generator_copyright,
-	  interfaces/C/Makefile.am, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/C/ppl_c_version.h.in,
-	  interfaces/C/ppl_interface_generator_c_cc.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4,
-	  interfaces/C/ppl_interface_generator_c_cc_preamble,
-	  interfaces/C/ppl_interface_generator_c_dat.m4,
-	  interfaces/C/ppl_interface_generator_c_h.m4,
-	  interfaces/C/ppl_interface_generator_c_h_code.m4,
-	  interfaces/C/ppl_interface_generator_c_h_preamble,
-	  interfaces/Java/.cvsignore, interfaces/Java/Makefile.am,
-	  interfaces/OCaml/Makefile.am, interfaces/OCaml/ppl_ocaml.cc,
-	  interfaces/OCaml/ppl_ocaml.mli, interfaces/OCaml/test1.ml,
-	  interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble,
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  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_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4,
-	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/GNU/gp_clpq.pl,
-	  interfaces/Prolog/GNU/gprolog_cfli.hh,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	  interfaces/Prolog/SICStus/.cvsignore,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.h,
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
-	  interfaces/Prolog/SICStus/sp_clpq.pl,
-	  interfaces/Prolog/SICStus/sp_pl_check.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_swiprolog.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
-	  interfaces/Prolog/SWI/swi_cfli.hh,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected2_int16,
-	  interfaces/Prolog/XSB/expected2_int16_a,
-	  interfaces/Prolog/XSB/expected2_int32,
-	  interfaces/Prolog/XSB/expected2_int32_a,
-	  interfaces/Prolog/XSB/expected2_int64,
-	  interfaces/Prolog/XSB/expected2_int64_a,
-	  interfaces/Prolog/XSB/expected2_int8,
-	  interfaces/Prolog/XSB/expected2_int8_a,
-	  interfaces/Prolog/XSB/expected2_mpz,
-	  interfaces/Prolog/XSB/expected2_mpz_a,
-	  interfaces/Prolog/XSB/expected3_int16,
-	  interfaces/Prolog/XSB/expected3_int16_a,
-	  interfaces/Prolog/XSB/expected3_int32,
-	  interfaces/Prolog/XSB/expected3_int32_a,
-	  interfaces/Prolog/XSB/expected3_int64,
-	  interfaces/Prolog/XSB/expected3_int64_a,
-	  interfaces/Prolog/XSB/expected3_int8,
-	  interfaces/Prolog/XSB/expected3_int8_a,
-	  interfaces/Prolog/XSB/expected3_mpz,
-	  interfaces/Prolog/XSB/expected3_mpz_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int16,
-	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int32,
-	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int64,
-	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int8,
-	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
-	  interfaces/Prolog/XSB/expected_clpq_int16,
-	  interfaces/Prolog/XSB/expected_clpq_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq_int32,
-	  interfaces/Prolog/XSB/expected_clpq_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq_int64,
-	  interfaces/Prolog/XSB/expected_clpq_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq_int8,
-	  interfaces/Prolog/XSB/expected_clpq_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq_mpz,
-	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
-	  interfaces/Prolog/XSB/expected_int16,
-	  interfaces/Prolog/XSB/expected_int16_a,
-	  interfaces/Prolog/XSB/expected_int32,
-	  interfaces/Prolog/XSB/expected_int32_a,
-	  interfaces/Prolog/XSB/expected_int64,
-	  interfaces/Prolog/XSB/expected_int64_a,
-	  interfaces/Prolog/XSB/expected_int8,
-	  interfaces/Prolog/XSB/expected_int8_a,
-	  interfaces/Prolog/XSB/expected_mpz,
-	  interfaces/Prolog/XSB/expected_mpz_a,
-	  interfaces/Prolog/XSB/expected_pchk_int16,
-	  interfaces/Prolog/XSB/expected_pchk_int16_a,
-	  interfaces/Prolog/XSB/expected_pchk_int32,
-	  interfaces/Prolog/XSB/expected_pchk_int32_a,
-	  interfaces/Prolog/XSB/expected_pchk_int64,
-	  interfaces/Prolog/XSB/expected_pchk_int64_a,
-	  interfaces/Prolog/XSB/expected_pchk_int8,
-	  interfaces/Prolog/XSB/expected_pchk_int8_a,
-	  interfaces/Prolog/XSB/expected_pchk_mpz,
-	  interfaces/Prolog/XSB/expected_pchk_mpz_a,
-	  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_predicate_check_P.m4,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_cfli.hh,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  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_yap.cc,
-	  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_pl_check.pl,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/check_script,
-	  interfaces/Prolog/tests/check_script2,
-	  interfaces/Prolog/tests/check_script2_int8,
-	  interfaces/Prolog/tests/clpq.pl,
-	  interfaces/Prolog/tests/clpq2.pl,
-	  interfaces/Prolog/tests/expected2_int16,
-	  interfaces/Prolog/tests/expected2_int16_a,
-	  interfaces/Prolog/tests/expected2_int32,
-	  interfaces/Prolog/tests/expected2_int32_a,
-	  interfaces/Prolog/tests/expected2_int64,
-	  interfaces/Prolog/tests/expected2_int64_a,
-	  interfaces/Prolog/tests/expected2_int8,
-	  interfaces/Prolog/tests/expected2_int8_a,
-	  interfaces/Prolog/tests/expected2_mpz,
-	  interfaces/Prolog/tests/expected2_mpz_a,
-	  interfaces/Prolog/tests/expected3_int16,
-	  interfaces/Prolog/tests/expected3_int16_a,
-	  interfaces/Prolog/tests/expected3_int32,
-	  interfaces/Prolog/tests/expected3_int32_a,
-	  interfaces/Prolog/tests/expected3_int64,
-	  interfaces/Prolog/tests/expected3_int64_a,
-	  interfaces/Prolog/tests/expected3_int8,
-	  interfaces/Prolog/tests/expected3_int8_a,
-	  interfaces/Prolog/tests/expected3_mpz,
-	  interfaces/Prolog/tests/expected3_mpz_a,
-	  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/expected_int16,
-	  interfaces/Prolog/tests/expected_int16_a,
-	  interfaces/Prolog/tests/expected_int32,
-	  interfaces/Prolog/tests/expected_int32_a,
-	  interfaces/Prolog/tests/expected_int64,
-	  interfaces/Prolog/tests/expected_int64_a,
-	  interfaces/Prolog/tests/expected_int8,
-	  interfaces/Prolog/tests/expected_int8_a,
-	  interfaces/Prolog/tests/expected_mpz,
-	  interfaces/Prolog/tests/expected_mpz_a,
-	  interfaces/Prolog/tests/expected_pchk_int16,
-	  interfaces/Prolog/tests/expected_pchk_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int32,
-	  interfaces/Prolog/tests/expected_pchk_int32_a,
-	  interfaces/Prolog/tests/expected_pchk_int64,
-	  interfaces/Prolog/tests/expected_pchk_int64_a,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/expected_pchk_mpz,
-	  interfaces/Prolog/tests/expected_pchk_mpz_a,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  interfaces/Prolog/tests/pl_grid_check.pl,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code,
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4,
-	  interfaces/Prolog/tests/script_clpq,
-	  interfaces/Prolog/tests/script_clpq2,
-	  interfaces/Prolog/tests/script_clpq2_int8, m4/Makefile.am,
-	  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_cxx_attribute_weak.m4,
-	  m4/ac_cxx_double_binary_format.m4,
-	  m4/ac_cxx_double_is_iec_559.m4, m4/ac_cxx_flexible_arrays.m4,
-	  m4/ac_cxx_float_binary_format.m4, m4/ac_cxx_float_is_iec_559.m4,
-	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_double_binary_format.m4,
-	  m4/ac_cxx_long_double_is_iec_559.m4, m4/ac_cxx_long_long.m4,
-	  m4/ac_text_md5sum.m4, m4/lib-ld.m4, m4/lib-link.m4,
-	  m4/lib-prefix.m4, m4/ppl.m4, src/.cvsignore,
-	  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/Bounding_Box.cc,
-	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
-	  src/Bounding_Box.types.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.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/Direct_Product.defs.hh,
-	  src/Direct_Product.inlines.hh, src/Direct_Product.templates.hh,
-	  src/Direct_Product.types.hh, src/E_NIT.defs.hh,
-	  src/E_NIT.inlines.hh, src/E_NIT.types.hh, src/E_Rational.defs.hh,
-	  src/E_Rational.inlines.hh, src/E_Rational.types.hh,
-	  src/Extended_Number.defs.hh, src/Extended_Number.inlines.hh,
-	  src/Extended_Number.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/Init.cc, src/Init.defs.hh,
-	  src/Init.types.hh, src/Interval.cc, src/Interval.defs.hh,
-	  src/Interval.inlines.hh, src/Interval.types.hh, src/Limits.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.cc,
-	  src/Matrix.defs.hh, src/Matrix.inlines.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/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
-	  src/Native_Integer.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/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/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh,
-	  src/Polyhedra_Powerset.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/Result.defs.hh, src/Result.inlines.hh, src/Rounding.defs.hh,
-	  src/Rounding.inlines.hh, src/Rounding.types.hh,
-	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
-	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
-	  src/Row.types.hh, src/Saturation_Matrix.cc,
-	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
-	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
-	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
-	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
-	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
-	  src/Scalar_Products.types.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/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
-	  src/algorithms.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/float.types.hh, src/fpu-c99.inlines.hh,
-	  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/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
-	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
-	  src/minimize.cc, src/mp_numeric_limits.hh, src/namespaces.hh,
-	  src/ppl-config.cc.in, src/ppl_header.bottom, src/ppl_header.hh,
-	  src/ppl_header.middle, src/ppl_header.top, src/simplify.cc,
-	  src/swapping_sort.icc, src/version.cc, src/version.hh.in,
-	  tests/BBox.cc, tests/BBox.hh, tests/FCAIBVP.cc,
-	  tests/FCAIBVP.defs.hh, tests/FCAIBVP.inlines.hh,
-	  tests/FCAIBVP.types.hh, tests/Makefile.am, tests/PFunction.cc,
-	  tests/PFunction.hh, tests/Partial_Function.cc,
-	  tests/Partial_Function.defs.hh,
-	  tests/Partial_Function.inlines.hh,
-	  tests/Partial_Function.types.hh,
-	  tests/Random_Number_Generator.defs.hh,
-	  tests/Random_Number_Generator.inlines.hh,
-	  tests/Random_Number_Generator.types.hh, tests/ehandlers.cc,
-	  tests/ehandlers.hh, tests/files.cc, tests/files.hh,
-	  tests/ppl_test.cc, tests/ppl_test.hh, tests/print.cc,
-	  tests/print.hh, tests/Ask_Tell/.cvsignore,
-	  tests/Ask_Tell/Makefile.am, tests/Ask_Tell/append1.cc,
-	  tests/BD_Shape/.cvsignore, tests/BD_Shape/Makefile.am,
-	  tests/BD_Shape/addconstraints1.cc,
-	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
-	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
-	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
-	  tests/BD_Shape/addspacedims7.cc,
-	  tests/BD_Shape/affinedimension1.cc,
-	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage2.cc,
-	  tests/BD_Shape/affineimage3.cc, tests/BD_Shape/affineimage4.cc,
-	  tests/BD_Shape/affineimage5.cc, tests/BD_Shape/affineimage6.cc,
-	  tests/BD_Shape/affineimage7.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/affinepreimage2.cc,
-	  tests/BD_Shape/affinepreimage3.cc,
-	  tests/BD_Shape/affinepreimage4.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/ascii_dump_load2.cc,
-	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.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/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76extrapolation2.cc,
-	  tests/BD_Shape/cc76extrapolation3.cc,
-	  tests/BD_Shape/cc76extrapolation4.cc,
-	  tests/BD_Shape/cc76extrapolation5.cc,
-	  tests/BD_Shape/cc76extrapolation6.cc,
-	  tests/BD_Shape/cc76narrowing1.cc,
-	  tests/BD_Shape/cc76narrowing2.cc,
-	  tests/BD_Shape/cc76narrowing3.cc,
-	  tests/BD_Shape/cc76narrowing4.cc,
-	  tests/BD_Shape/cc76narrowing5.cc,
-	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
-	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
-	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
-	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
-	  tests/BD_Shape/closure1.cc, tests/BD_Shape/concatenate1.cc,
-	  tests/BD_Shape/concatenate2.cc, tests/BD_Shape/concatenate3.cc,
-	  tests/BD_Shape/concatenate4.cc, tests/BD_Shape/concatenate5.cc,
-	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/constraints2.cc,
-	  tests/BD_Shape/contains1.cc, tests/BD_Shape/contains2.cc,
-	  tests/BD_Shape/contains3.cc,
-	  tests/BD_Shape/containsintegerpoint1.cc,
-	  tests/BD_Shape/discrete1.cc, tests/BD_Shape/disjoint1.cc,
-	  tests/BD_Shape/empty1.cc, tests/BD_Shape/empty2.cc,
-	  tests/BD_Shape/empty3.cc, tests/BD_Shape/empty4.cc,
-	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
-	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
-	  tests/BD_Shape/expandspacedim1.cc,
-	  tests/BD_Shape/foldspacedims1.cc, tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/frompolyhedron1.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage10.cc,
-	  tests/BD_Shape/generalizedaffineimage11.cc,
-	  tests/BD_Shape/generalizedaffineimage12.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffineimage3.cc,
-	  tests/BD_Shape/generalizedaffineimage4.cc,
-	  tests/BD_Shape/generalizedaffineimage5.cc,
-	  tests/BD_Shape/generalizedaffineimage6.cc,
-	  tests/BD_Shape/generalizedaffineimage7.cc,
-	  tests/BD_Shape/generalizedaffineimage8.cc,
-	  tests/BD_Shape/generalizedaffineimage9.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/intersection1.cc, tests/BD_Shape/intersection2.cc,
-	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
-	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
-	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
-	  tests/BD_Shape/limitedCC76extrapolation1.cc,
-	  tests/BD_Shape/limitedCC76extrapolation2.cc,
-	  tests/BD_Shape/limitedCC76extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation1.cc,
-	  tests/BD_Shape/limitedCH78extrapolation2.cc,
-	  tests/BD_Shape/limitedCH78extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation4.cc,
-	  tests/BD_Shape/limitedCH78extrapolation5.cc,
-	  tests/BD_Shape/limitedCH78extrapolation6.cc,
-	  tests/BD_Shape/limitedCH78extrapolation7.cc,
-	  tests/BD_Shape/limitedCH78extrapolation8.cc,
-	  tests/BD_Shape/limitedCH78extrapolation9.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/BD_Shape/limitedcc76extrapolation1.cc,
-	  tests/BD_Shape/limitedh79extrapolation1.cc,
-	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
-	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
-	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/membytes1.cc,
-	  tests/BD_Shape/minconstraints1.cc,
-	  tests/BD_Shape/polydifference1.cc,
-	  tests/BD_Shape/polydifference2.cc,
-	  tests/BD_Shape/polydifference3.cc,
-	  tests/BD_Shape/polydifference4.cc,
-	  tests/BD_Shape/polydifference5.cc,
-	  tests/BD_Shape/polydifference6.cc, tests/BD_Shape/polyhull1.cc,
-	  tests/BD_Shape/polyhull2.cc, tests/BD_Shape/polyhull3.cc,
-	  tests/BD_Shape/polyhull4.cc, tests/BD_Shape/relations1.cc,
-	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
-	  tests/BD_Shape/relations4.cc, tests/BD_Shape/relations5.cc,
-	  tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/removespacedims2.cc,
-	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
-	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
-	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
-	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
-	  tests/BD_Shape/writebdiffs1.cc, tests/BD_Shape/writebdiffs2.cc,
-	  tests/BD_Shape/writebdshape1.cc, tests/Grid/.cvsignore,
-	  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/asciidumpload1.cc,
-	  tests/Grid/asciidumpload2.cc, tests/Grid/asciidumpload3.cc,
-	  tests/Grid/asciidumpload4.cc, tests/Grid/asciidumpload5.cc,
-	  tests/Grid/asciidumpload6.cc, tests/Grid/asciidumpload7.cc,
-	  tests/Grid/bhz03widening1.cc, tests/Grid/bounded1.cc,
-	  tests/Grid/boundedaffineimage1.cc,
-	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox1.cc,
-	  tests/Grid/boundingbox2.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/contains1.cc,
-	  tests/Grid/containsintegerpoint1.cc,
-	  tests/Grid/copyconstruct1.cc, tests/Grid/coveringbox1.cc,
-	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
-	  tests/Grid/directproduct2.cc, tests/Grid/discrete1.cc,
-	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
-	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.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/join1.cc, tests/Grid/join2.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/relations1.cc, tests/Grid/relations2.cc,
-	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
-	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
-	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
-	  tests/Grid/widening3.cc, tests/Grid/writecongruencesystem.cc,
-	  tests/MIP_Problem/.cvsignore, tests/MIP_Problem/Makefile.am,
-	  tests/MIP_Problem/ascii_dump_load1.cc,
-	  tests/MIP_Problem/exceptions1.cc,
-	  tests/MIP_Problem/mipproblem1.cc,
-	  tests/Octagonal_Shape/.cvsignore,
-	  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/cc76extrapolation1.cc,
-	  tests/Octagonal_Shape/cc76narrowing1.cc,
-	  tests/Octagonal_Shape/chinainit.cc,
-	  tests/Octagonal_Shape/concatenate1.cc,
-	  tests/Octagonal_Shape/constraints1.cc,
-	  tests/Octagonal_Shape/contains1.cc,
-	  tests/Octagonal_Shape/containsintegerpoint1.cc,
-	  tests/Octagonal_Shape/discrete1.cc,
-	  tests/Octagonal_Shape/disjoint1.cc,
-	  tests/Octagonal_Shape/empty1.cc,
-	  tests/Octagonal_Shape/expandspacedim1.cc,
-	  tests/Octagonal_Shape/fromgensys1.cc,
-	  tests/Octagonal_Shape/frompolyhedron1.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/intersection1.cc,
-	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
-	  tests/Octagonal_Shape/mapspacedims1.cc,
-	  tests/Octagonal_Shape/maxspacedim.cc,
-	  tests/Octagonal_Shape/membytes1.cc,
-	  tests/Octagonal_Shape/minconstraints1.cc,
-	  tests/Octagonal_Shape/octdifference1.cc,
-	  tests/Octagonal_Shape/octhull1.cc,
-	  tests/Octagonal_Shape/relatwithcons1.cc,
-	  tests/Octagonal_Shape/relatwithcons2.cc,
-	  tests/Octagonal_Shape/relatwithgen1.cc,
-	  tests/Octagonal_Shape/removespacedims1.cc,
-	  tests/Octagonal_Shape/run_tests,
-	  tests/Octagonal_Shape/timeelapse1.cc,
-	  tests/Octagonal_Shape/universe1.cc,
-	  tests/Octagonal_Shape/writeoctagon1.cc,
-	  tests/Polyhedron/.cvsignore, tests/Polyhedron/CbecomesNNC1.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/NNCbecomesC1.cc,
-	  tests/Polyhedron/NNCminimize1.cc,
-	  tests/Polyhedron/NNCminimize2.cc,
-	  tests/Polyhedron/NNCminimize3.cc,
-	  tests/Polyhedron/NNCminimize4.cc,
-	  tests/Polyhedron/NNCminimize5.cc,
-	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
-	  tests/Polyhedron/addcongruence1.cc,
-	  tests/Polyhedron/addcongruences1.cc,
-	  tests/Polyhedron/addconstraint1.cc,
-	  tests/Polyhedron/addconstraint2.cc,
-	  tests/Polyhedron/addconstraint3.cc,
-	  tests/Polyhedron/addconstraints1.cc,
-	  tests/Polyhedron/addconstraints10.cc,
-	  tests/Polyhedron/addconstraints11.cc,
-	  tests/Polyhedron/addconstraints12.cc,
-	  tests/Polyhedron/addconstraints13.cc,
-	  tests/Polyhedron/addconstraints2.cc,
-	  tests/Polyhedron/addconstraints3.cc,
-	  tests/Polyhedron/addconstraints4.cc,
-	  tests/Polyhedron/addconstraints5.cc,
-	  tests/Polyhedron/addconstraints6.cc,
-	  tests/Polyhedron/addconstraints7.cc,
-	  tests/Polyhedron/addconstraints8.cc,
-	  tests/Polyhedron/addconstraints9.cc,
-	  tests/Polyhedron/addgenerator1.cc,
-	  tests/Polyhedron/addgenerator2.cc,
-	  tests/Polyhedron/addgenerator3.cc,
-	  tests/Polyhedron/addgenerator4.cc,
-	  tests/Polyhedron/addgenerator5.cc,
-	  tests/Polyhedron/addgenerators1.cc,
-	  tests/Polyhedron/addgenerators10.cc,
-	  tests/Polyhedron/addgenerators11.cc,
-	  tests/Polyhedron/addgenerators12.cc,
-	  tests/Polyhedron/addgenerators13.cc,
-	  tests/Polyhedron/addgenerators2.cc,
-	  tests/Polyhedron/addgenerators3.cc,
-	  tests/Polyhedron/addgenerators4.cc,
-	  tests/Polyhedron/addgenerators5.cc,
-	  tests/Polyhedron/addgenerators6.cc,
-	  tests/Polyhedron/addgenerators7.cc,
-	  tests/Polyhedron/addgenerators8.cc,
-	  tests/Polyhedron/addgenerators9.cc,
-	  tests/Polyhedron/addspacedims1.cc,
-	  tests/Polyhedron/addspacedims10.cc,
-	  tests/Polyhedron/addspacedims11.cc,
-	  tests/Polyhedron/addspacedims12.cc,
-	  tests/Polyhedron/addspacedims13.cc,
-	  tests/Polyhedron/addspacedims2.cc,
-	  tests/Polyhedron/addspacedims3.cc,
-	  tests/Polyhedron/addspacedims4.cc,
-	  tests/Polyhedron/addspacedims5.cc,
-	  tests/Polyhedron/addspacedims6.cc,
-	  tests/Polyhedron/addspacedims7.cc,
-	  tests/Polyhedron/addspacedims8.cc,
-	  tests/Polyhedron/addspacedims9.cc,
-	  tests/Polyhedron/affineimage1.cc,
-	  tests/Polyhedron/affineimage2.cc,
-	  tests/Polyhedron/affineimage3.cc,
-	  tests/Polyhedron/affineimage4.cc,
-	  tests/Polyhedron/affineimage5.cc,
-	  tests/Polyhedron/affineimage6.cc,
-	  tests/Polyhedron/affineimage7.cc,
-	  tests/Polyhedron/affineimage8.cc,
-	  tests/Polyhedron/affineimage9.cc,
-	  tests/Polyhedron/affinepreimage1.cc,
-	  tests/Polyhedron/affinepreimage10.cc,
-	  tests/Polyhedron/affinepreimage2.cc,
-	  tests/Polyhedron/affinepreimage3.cc,
-	  tests/Polyhedron/affinepreimage4.cc,
-	  tests/Polyhedron/affinepreimage5.cc,
-	  tests/Polyhedron/affinepreimage6.cc,
-	  tests/Polyhedron/affinepreimage7.cc,
-	  tests/Polyhedron/affinepreimage8.cc,
-	  tests/Polyhedron/affinepreimage9.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/ascii_dump_load4.cc,
-	  tests/Polyhedron/ascii_dump_load5.cc,
-	  tests/Polyhedron/ascii_dump_load6.cc,
-	  tests/Polyhedron/ascii_dump_load7.cc,
-	  tests/Polyhedron/bgp99extrapolation1.cc,
-	  tests/Polyhedron/bgp99extrapolation2.cc,
-	  tests/Polyhedron/bhrz03widening1.cc,
-	  tests/Polyhedron/bhrz03widening10.cc,
-	  tests/Polyhedron/bhrz03widening11.cc,
-	  tests/Polyhedron/bhrz03widening12.cc,
-	  tests/Polyhedron/bhrz03widening13.cc,
-	  tests/Polyhedron/bhrz03widening14.cc,
-	  tests/Polyhedron/bhrz03widening15.cc,
-	  tests/Polyhedron/bhrz03widening16.cc,
-	  tests/Polyhedron/bhrz03widening17.cc,
-	  tests/Polyhedron/bhrz03widening18.cc,
-	  tests/Polyhedron/bhrz03widening19.cc,
-	  tests/Polyhedron/bhrz03widening2.cc,
-	  tests/Polyhedron/bhrz03widening3.cc,
-	  tests/Polyhedron/bhrz03widening4.cc,
-	  tests/Polyhedron/bhrz03widening5.cc,
-	  tests/Polyhedron/bhrz03widening6.cc,
-	  tests/Polyhedron/bhrz03widening7.cc,
-	  tests/Polyhedron/bhrz03widening8.cc,
-	  tests/Polyhedron/bhrz03widening9.cc,
-	  tests/Polyhedron/bhz03widening1.cc,
-	  tests/Polyhedron/bhz03widening2.cc,
-	  tests/Polyhedron/bhz03widening3.cc,
-	  tests/Polyhedron/bhz03widening4.cc,
-	  tests/Polyhedron/bhz03widening5.cc,
-	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
-	  tests/Polyhedron/boundedaffineimage1.cc,
-	  tests/Polyhedron/boundedaffinepreimage1.cc,
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/boundedh79extrapolation1.cc,
-	  tests/Polyhedron/boundingbox1.cc,
-	  tests/Polyhedron/boundingbox2.cc,
-	  tests/Polyhedron/boundingbox3.cc,
-	  tests/Polyhedron/boundingbox4.cc,
-	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
-	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/cnncconversion1.cc,
-	  tests/Polyhedron/concatenate1.cc,
-	  tests/Polyhedron/concatenate2.cc,
-	  tests/Polyhedron/concatenate3.cc,
-	  tests/Polyhedron/concatenate4.cc,
-	  tests/Polyhedron/concatenate5.cc,
-	  tests/Polyhedron/concatenate6.cc,
-	  tests/Polyhedron/congruences1.cc,
-	  tests/Polyhedron/constraints1.cc,
-	  tests/Polyhedron/constraints2.cc,
-	  tests/Polyhedron/constraints3.cc,
-	  tests/Polyhedron/constraints4.cc, tests/Polyhedron/contains1.cc,
-	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
-	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
-	  tests/Polyhedron/containsintegerpoint1.cc,
-	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
-	  tests/Polyhedron/disjoint3.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/generalizedaffineimage1.cc,
-	  tests/Polyhedron/generalizedaffineimage10.cc,
-	  tests/Polyhedron/generalizedaffineimage11.cc,
-	  tests/Polyhedron/generalizedaffineimage12.cc,
-	  tests/Polyhedron/generalizedaffineimage2.cc,
-	  tests/Polyhedron/generalizedaffineimage3.cc,
-	  tests/Polyhedron/generalizedaffineimage4.cc,
-	  tests/Polyhedron/generalizedaffineimage5.cc,
-	  tests/Polyhedron/generalizedaffineimage6.cc,
-	  tests/Polyhedron/generalizedaffineimage7.cc,
-	  tests/Polyhedron/generalizedaffineimage8.cc,
-	  tests/Polyhedron/generalizedaffineimage9.cc,
-	  tests/Polyhedron/generalizedaffinepreimage1.cc,
-	  tests/Polyhedron/generalizedaffinepreimage2.cc,
-	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
-	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
-	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
-	  tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/h79widening1.cc,
-	  tests/Polyhedron/h79widening2.cc,
-	  tests/Polyhedron/h79widening3.cc,
-	  tests/Polyhedron/h79widening4.cc,
-	  tests/Polyhedron/h79widening5.cc,
-	  tests/Polyhedron/h79widening6.cc,
-	  tests/Polyhedron/h79widening7.cc,
-	  tests/Polyhedron/h79widening8.cc,
-	  tests/Polyhedron/intersection1.cc,
-	  tests/Polyhedron/intersection10.cc,
-	  tests/Polyhedron/intersection11.cc,
-	  tests/Polyhedron/intersection2.cc,
-	  tests/Polyhedron/intersection3.cc,
-	  tests/Polyhedron/intersection4.cc,
-	  tests/Polyhedron/intersection5.cc,
-	  tests/Polyhedron/intersection6.cc,
-	  tests/Polyhedron/intersection7.cc,
-	  tests/Polyhedron/intersection8.cc,
-	  tests/Polyhedron/intersection9.cc,
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation2.cc,
-	  tests/Polyhedron/limitedh79extrapolation3.cc,
-	  tests/Polyhedron/limitedh79extrapolation4.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/linearpartition2.cc,
-	  tests/Polyhedron/linearpartition3.cc,
-	  tests/Polyhedron/linearpartition4.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/linexpression1.cc,
-	  tests/Polyhedron/mapspacedims1.cc,
-	  tests/Polyhedron/mapspacedims2.cc,
-	  tests/Polyhedron/mapspacedims3.cc,
-	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/matrix1.cc,
-	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/max_min2.cc,
-	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
-	  tests/Polyhedron/membytes1.cc, tests/Polyhedron/membytes2.cc,
-	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
-	  tests/Polyhedron/minconstraints1.cc,
-	  tests/Polyhedron/minconstraints2.cc,
-	  tests/Polyhedron/minconstraints3.cc,
-	  tests/Polyhedron/minconstraints4.cc,
-	  tests/Polyhedron/mingenerators1.cc,
-	  tests/Polyhedron/mingenerators2.cc,
-	  tests/Polyhedron/mingenerators3.cc,
-	  tests/Polyhedron/nncminimize1.cc,
-	  tests/Polyhedron/nncminimize2.cc,
-	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
-	  tests/Polyhedron/permute.cc,
-	  tests/Polyhedron/pointsetpowerset1.cc,
-	  tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polydifference3.cc,
-	  tests/Polyhedron/polydifference4.cc,
-	  tests/Polyhedron/polydifference5.cc,
-	  tests/Polyhedron/polydifference6.cc,
-	  tests/Polyhedron/polydifference7.cc,
-	  tests/Polyhedron/polydifference8.cc,
-	  tests/Polyhedron/polydifference9.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
-	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
-	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
-	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
-	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/powerset1.cc,
-	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
-	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
-	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
-	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
-	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
-	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
-	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
-	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
-	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
-	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
-	  tests/Polyhedron/relations9.cc,
-	  tests/Polyhedron/removespacedims1.cc,
-	  tests/Polyhedron/removespacedims10.cc,
-	  tests/Polyhedron/removespacedims2.cc,
-	  tests/Polyhedron/removespacedims3.cc,
-	  tests/Polyhedron/removespacedims4.cc,
-	  tests/Polyhedron/removespacedims5.cc,
-	  tests/Polyhedron/removespacedims6.cc,
-	  tests/Polyhedron/removespacedims7.cc,
-	  tests/Polyhedron/removespacedims8.cc,
-	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
-	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
-	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
-	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
-	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
-	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
-	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
-	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
-	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
-	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
-	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
-	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
-	  tests/Polyhedron/universe7.cc,
-	  tests/Polyhedron/valgrind_suppressions,
-	  tests/Polyhedron/variablesset1.cc, tests/Polyhedron/watchdog1.cc,
-	  tests/Polyhedron/writeconsys1.cc,
-	  tests/Polyhedron/writegensys1.cc,
-	  tests/Polyhedron/writegensys2.cc,
-	  tests/Polyhedron/writegensys3.cc,
-	  tests/Polyhedron/writepolyhedron1.cc,
-	  tests/Polyhedron/writepolyhedron2.cc,
-	  tests/Polyhedron/writepolyhedron3.cc,
-	  tests/Polyhedron/writerelation1.cc,
-	  tests/Polyhedron/writevariable1.cc, utils/.cvsignore,
-	  utils/Makefile.am, utils/build_header.in, utils/text2cxxarray.in,
-	  utils/timings.cc, utils/timings.hh
-	  (altnum.[2,1,6,3,2,5,8,4,4,4,8,3,5,2,4,19,2,5,2,3,2,1,3,3,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,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,1,7,11,3,3,5,3,2,3,3,3,3,2,2,3,3,6,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,1,4,2,8,6,2,2,6,2,2,6,2,4,1,2,2,1,1,2,2,2,4,2,2,2,2,2,4,2,2,4,2,2,4,2,4,3,2,2,2,2,9,6,2,2,2,2,2,2,2,2,2,2,1,2,2,2,2,8,3,2,2,2,2,2, [...]
-	  Eighth merge from the main trunk.
-
-2006-10-28 Saturday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.23),
-	  ppl_interface_generator_predicate_check_extra_code (1.14): Added
-	  generic tests for adding a representation or elements of a
-	  representation (with and without minimize).
-
-2006-10-28 Saturday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (altnum.1): file ppl_interface_generator_predicate_check_code.m4
-	  was added on branch altnum on 2006-10-29 19:27:09 +0000
-
-2006-10-28 Saturday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_extra_code
-	  (altnum.1): file
-	  ppl_interface_generator_predicate_check_extra_code was added on
-	  branch altnum on 2006-10-29 19:27:09 +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/Makefile.am (altnum.1): file Makefile.am
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/boundedaffineimage1.cc (altnum.1): file
-	  boundedaffineimage1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/boundedaffinepreimage1.cc (altnum.1): file
-	  boundedaffinepreimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/disjoint1.cc (altnum.1): file disjoint1.cc
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/disjoint1.cc (octagons.1): file
-	  disjoint1.cc was added on branch octagons on 2006-11-18 20:36:59
-	  +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/expandspacedim1.cc (altnum.1): file
-	  expandspacedim1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons2.cc (altnum.1): file
-	  relatwithcons2.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons2.cc (octagons.1): file
-	  relatwithcons2.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-27 Friday 17:42  quartieri
-
-	* src/Octagonal_Shape.defs.hh (1.14),
-	  src/Octagonal_Shape.templates.hh (1.31),
-	  tests/Octagonal_Shape/Makefile.am (1.9),
-	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.6),
-	  tests/Octagonal_Shape/boundedaffinepreimage1.cc (1.1),
-	  tests/Octagonal_Shape/disjoint1.cc (1.5),
-	  tests/Octagonal_Shape/expandspacedim1.cc (1.1),
-	  tests/Octagonal_Shape/relatwithcons2.cc (1.3): Corrected a bug in
-	  the method relation_with().  Added some tests on the methods
-	  relation_with() and is_disjoint_from().  Defined the methods
-	  bounded_affine_preimage() and expand_space_dimension() and added
-	  some tests on them.
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (altnum.1): file
-	  Octagonal_Shape.defs.hh was added on branch altnum on 2006-10-29
-	  19:27:14 +0000
-
-2006-10-27 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (altnum.1): file
-	  Octagonal_Shape.templates.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-10-27 Friday 16:00  Elena Mazzi
-
-	* tests/BD_Shape/: Makefile.am (1.53), membytes1.cc (1.1): Added
-	  new tests on on the methods	external_memoty_in_bytes() and
-	  total_memory_in_bytes().
-
-2006-10-27 Friday 16:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/membytes1.cc (altnum.1): file membytes1.cc was
-	  added on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-10-27 Friday 16:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/membytes1.cc (octagons.1): file membytes1.cc was
-	  added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-10-27 Friday 12:41  Elena Mazzi
-
-	* tests/BD_Shape/relations3.cc (1.18): Added some new tests on
-	  BD_Shape::relation_with(Constraint).
-
-2006-10-27 Friday 12:40  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.43): Corrected a bug in
-	  BD_Shape::relation_with(const Constraint& c) when the constraint
-	  is an equality and is disjoint from BDS.
-
-2006-10-27 Friday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (altnum.1): file BD_Shape.templates.hh
-	  was added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-10-27 Friday 11:41  quartieri
-
-	* tests/Octagonal_Shape/membytes1.cc (1.2): Removed an annotation
-	  indicating an expected failure with 8 bits coefficients.
-
-2006-10-27 Friday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/membytes1.cc (altnum.1): file membytes1.cc
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-10-27 Friday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/membytes1.cc (octagons.1): file
-	  membytes1.cc was added on branch octagons on 2006-11-18 20:36:59
-	  +0000
-
-2006-10-27 Friday 10:55  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.42): Corrected a bug in
-	  BD_Shape::is_disjoint_from() when the two BD_Shapes consist of
-	  single but different points in 1D.
-
-2006-10-27 Friday 10:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.22),
-	  ppl_interface_generator_predicate_check_extra_code (1.13),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.18): Added tests
-	  for comparing the class objects.
-
-	  General improvements to the test system including:
-
-	  Changing the test_data identifiers to be "test0n".  Using a list
-	  to give all the required tests and the member predicate to select
-	  the tests.  Generating code for building the test object for any
-	  given test id and use this instead of coding it in the actual
-	  tests.  The space_dimension and affine_dimension are now defined
-	  by an auxiliary predicate for each test id.
-
-2006-10-27 Friday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (altnum.1): file ppl_interface_generator_predicate_check_pl.m4
-	  was added on branch altnum on 2006-10-29 19:27:09 +0000
-
-2006-10-26 Thursday 22:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/BD_Shape/disjoint1.cc (1.4): Added test07 which shows a bug
-	  when the two BD_Shapes consist of single but different points in
-	  1D.
-
-2006-10-26 Thursday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/disjoint1.cc (altnum.1): file disjoint1.cc was
-	  added on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-10-26 Thursday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/disjoint1.cc (octagons.1): file disjoint1.cc was
-	  added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-10-26 Thursday 17:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/BD_Shape/relations3.cc (1.17): Added a test showing a bug
-	  in the relation_with() method.  Test04 fails as the relation
-	  returned is "strictly_intersects" and not, as expected,
-	  "is_disjoint".
-
-2006-10-26 Thursday 15:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.21),
-	  ppl_interface_generator_predicate_check_extra_code (1.12): Added
-	  generic tests for maximize, minimize, maximize_with_point and
-	  minimize_with_point.
-
-2006-10-26 Thursday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.69): Corrected a bug in method
-	  max_min() whereby an assertion was failing when maximizing or
-	  minimizing an expression on a zero-dimensional polyhedron.
-
-2006-10-26 Thursday 11:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/max_min1.cc (1.10): Test 03 causes an assertion
-	  failure for the universe polyhedron with 0 dimensions.
-
-2006-10-25 Wednesday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/foldspacedims1.cc (altnum.1): file
-	  foldspacedims1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-10-25 Wednesday 15:58  Elena Mazzi
-
-	* tests/BD_Shape/: Makefile.am (1.52), expandspacedim1.cc (1.1),
-	  foldspacedims1.cc (1.1): Added new tests on methods: -
-	  BD_Shape<T>::expand_space_dimension(Variable var, dimension_type
-	  m); - BD_Shape<T>::fold_space_dimensions(Variables_Set&
-	  to_be_folded, 			    Variable var).
-
-2006-10-25 Wednesday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/expandspacedim1.cc (altnum.1): file
-	  expandspacedim1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-10-25 Wednesday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/expandspacedim1.cc (octagons.1): file
-	  expandspacedim1.cc was added on branch octagons on 2006-11-18
-	  20:36:56 +0000
-
-2006-10-25 Wednesday 15:55  Elena Mazzi
-
-	* src/: BD_Shape.defs.hh (1.84), BD_Shape.templates.hh (1.41):
-	  Defined two new methods:
-	  BD_Shape<T>::expand_space_dimension(Variable var, dimension_type
-	  m); BD_Shape<T>::fold_space_dimensions(Variables_Set&
-	  to_be_folded, 			      Variable var).
-
-2006-10-25 Wednesday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (1.6): Avoided a couple of
-	  copies.
-
-2006-10-25 Wednesday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (altnum.1): file
-	  Pointset_Powerset.templates.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-10-25 Wednesday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (octagons.1): file
-	  Pointset_Powerset.templates.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-10-25 Wednesday 13:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.6): Uncommented code that was
-	  temporarily disabled due to missing method in some pointset
-	  classes.
-
-2006-10-25 Wednesday 13:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (altnum.1): file Any_Pointset.defs.hh
-	  was added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-10-25 Wednesday 11:09  quartieri
-
-	* tests/Octagonal_Shape/Makefile.am (1.8): Added the test
-	  membytes1.cc.
-
-2006-10-25 Wednesday 09:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.14):
-	  The Prolog predicate for BD_Shape_..._bounded_affine_image must
-	  not be built.
-
-2006-10-25 Wednesday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
-	  (altnum.1): file ppl_interface_generator_prolog_dat.m4 was added
-	  on branch altnum on 2006-10-29 19:27:00 +0000
-
-2006-10-24 Tuesday 18:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.9),
-	  C/ppl_interface_generator_c_dat.m4 (1.8),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.13),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.13),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.20),
-	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
-	  (1.11): In the ppl/interfaces:
-
-	  The @BOX@ replacement is now only used for building from a box
-	  (bounding_box or covering_box).
-
-	  The "get" or "shrink" bounding_box or covering_box" procedures,
-	  do not use any pattern. As the Grid has the same aruments as the
-	  Polyhedron for shrink_bounding_box, we can combine all the
-	  classes for this procedure into one schema. On the other hand,
-	  although the covering box is only available at present for the
-	  Grid domain, it is provided as a generic schema.
-
-	  The property "is_topologically_closed" is now enabled for
-	  BD_Shape and Octagons Prolog interfaces.  Similarly the
-	  "topological_closure_assign" procedure is now enabled for
-	  BD_Shape and Octagons Prolog interfaces.
-
-	  Generic tests for all the properties using schema
-	  ppl_ at CLASS@_ at HAS_PROPERTY@ have been added.  Generic tests for
-	  ppl_ at CLASS@_ at SIMPLIFY@ have been added (for the domains under
-	  consideration, this is just the ."topological_closure_assign"
-	  procedure).
-
-	  The test data for the generic tests has again been reorganised
-	  and restructured making it easier to extend and maintain.
-
-2006-10-24 Tuesday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (altnum.1): file
-	  ppl_interface_generator_c_dat.m4 was added on branch altnum on
-	  2006-10-29 19:26:58 +0000
-
-2006-10-24 Tuesday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (altnum.1): file
-	  ppl_interface_generator_common_dat.m4 was added on branch altnum
-	  on 2006-10-29 19:26:57 +0000
-
-2006-10-24 Tuesday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (altnum.1): file ppl_interface_generator_prolog_icc_code.m4 was
-	  added on branch altnum on 2006-10-29 19:27:00 +0000
-
-2006-10-24 Tuesday 17:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.36), src/Grid.templates.hh (1.22),
-	  tests/Grid/boundingbox1.cc (1.13), tests/Grid/boundingbox2.cc
-	  (1.11): In ppl/src:
-
-	  The grid can now be built from boxes which may have different
-	  finite values for the upper and lower bounds or have only the
-	  upper or the lower bound bounded or have open finite bounds.
-	  Before when this happened an exception was thrown. Now we compute
-	  an approximation.
-
-	  Also, now the Grid domain requires the complexity as an argument
-	  for shrink_bounding_box so as to be compatible with the
-	  Polyhedron_shrink_bounding_box. This argument is not used.
-
-	  The tests/Grid/boundingbox1.cc and tests/Grid/boundingbox2.cc
-	  have been revised to match.
-
-2006-10-24 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.defs.hh (altnum.1): file Grid.defs.hh was added on
-	  branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-10-24 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.templates.hh (altnum.1): file Grid.templates.hh was
-	  added on branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-10-24 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundingbox1.cc (altnum.1): file boundingbox1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-10-24 Tuesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundingbox2.cc (altnum.1): file boundingbox2.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-10-24 Tuesday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.19): Recursively process the Java
-	  directory.
-
-2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/.cvsignore (altnum.1): file .cvsignore was added
-	  on branch altnum on 2006-10-29 19:26:59 +0000
-
-2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/.cvsignore (octagons.1): file .cvsignore was
-	  added on branch octagons on 2006-11-18 20:36:44 +0000
-
-2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/.cvsignore (simplex.1): file .cvsignore was added
-	  on branch simplex on 2008-01-07 11:15:28 +0000
-
-2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Makefile.am (altnum.1): file Makefile.am was
-	  added on branch altnum on 2006-10-29 19:26:59 +0000
-
-2006-10-24 Tuesday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.244), interfaces/Java/.cvsignore (1.1),
-	  interfaces/Java/Makefile.am (1.1): Java directories activated.
-
-2006-10-24 Tuesday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/: Coefficient.java (1.3), Variable.java (1.3):
-	  Moved into the package's directory.
-
-2006-10-24 Tuesday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Coefficient.java (1.2): Comments and identifiers
-	  names revised.
-
-2006-10-24 Tuesday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Variable.java (1.2): Cosmetic changes.
-
-2006-10-24 Tuesday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Variable.java (1.1): Coefficient Java class
-	  declaration and implementation.
-
-2006-10-24 Tuesday 16:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Java/Coefficient.java (1.1): Coefficient Java class
-	  declaration and implementation.
-
-2006-10-23 Monday 14:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Pointset_Powerset.inlines.hh (1.4): Added FIXMEs to remember
-	  when the generalization to Powerset's of arbitrary stuff is going
-	  to be buggy.
-
-2006-10-23 Monday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.inlines.hh (altnum.1): file
-	  Pointset_Powerset.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-10-23 Monday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.inlines.hh (octagons.1): file
-	  Pointset_Powerset.inlines.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-10-23 Monday 11:52  quartieri
-
-	* tests/Octagonal_Shape/membytes1.cc (1.1): Added some tests on the
-	  methods   external_memoty_in_bytes() and
-	  total_memory_in_bytes().
-
-2006-10-23 Monday 11:51  quartieri
-
-	* src/: OR_Matrix.defs.hh (1.6), OR_Matrix.inlines.hh (1.3),
-	  OR_Matrix.templates.hh (1.4), Octagonal_Shape.templates.hh
-	  (1.30): Defined the methods	  external_memory_in_bytes() and
-	  total_memory_in_bytes().
-
-2006-10-23 Monday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (altnum.1): file OR_Matrix.defs.hh was
-	  added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-10-23 Monday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh (altnum.1): file OR_Matrix.inlines.hh
-	  was added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-10-23 Monday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.templates.hh (altnum.1): file
-	  OR_Matrix.templates.hh was added on branch altnum on 2006-10-29
-	  19:27:14 +0000
-
-2006-10-23 Monday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Pointset_Powerset.defs.hh (1.5),
-	  Pointset_Powerset.inlines.hh (1.3),
-	  Pointset_Powerset.templates.hh (1.5): No longer defining the
-	  specialized constructor:   Pointset_Powerset<C_Polyhedron>(const
-	  Pointset_Powerset<QH>&); defining the generic constructor
-	  Pointset_Powerset<PH>(const Pointset_Powerset<QH>&); instead.
-	  Similarly, generalized the specialized method:
-	  poly_difference_assign<C_Polyhedron>(...) to (temporarily) work
-	  on arbitrary instances.
-
-2006-10-23 Monday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (altnum.1): file
-	  Pointset_Powerset.defs.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-10-23 Monday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.83), Octagonal_Shape.defs.hh (1.13):
-	  Unary constructors made explicit so as to avoid unexpected
-	  conversions.
-
-2006-10-23 Monday 08:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.40), Grid_public.cc (1.46),
-	  Octagonal_Shape.templates.hh (1.29), Polyhedron_public.cc (1.85):
-	  Prefer "existential quantification" to "cylindrification" in
-	  comments.
-
-2006-10-23 Monday 08:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (altnum.1): file Grid_public.cc was added on
-	  branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-10-22 Sunday 02:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.45): Make sure XSB finds
-	  libppl and libpwl in the current build tree.
-
-2006-10-21 Saturday 23:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.12),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.19),
-	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.17): Added
-	  tests for get_bounding_box and get_covering_box.
-
-	  Removed unnecessary code and simplified the code in
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-
-	  Added the arity of the predicate under test to the test name.
-
-	  In Prolog/ppl_interface_generator_prolog_dat.m4 : now allow the
-	  interface code to be generated for get_bounding_box/3 for
-	  BD_Shape.
-
-2006-10-21 Saturday 13:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (1.45): Indentation fixed.  Redundant
-	  parentheses avoided.
-
-2006-10-21 Saturday 13:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (1.44): Fixed spelling error introduced with
-	  last commit.
-
-2006-10-21 Saturday 12:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.11),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.18),
-	  tests/ppl_interface_generator_predicate_check_extra_code (1.10),
-	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.16): In
-	  ...prolog_dat.m4, moved the delete predicate schema first This is
-	  a work-around to a problem in generating a list of predicates in
-	  m4.
-
-	  In the Prolog/tests m4 files, a number of bugs fixed and added a
-	  test for the relation_with predicates.
-
-2006-10-21 Saturday 10:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.43): Corrected error indicated in the
-	  previous commit for tests/Grid/relations.cc.
-
-2006-10-21 Saturday 10:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/relations2.cc (1.14): Test 20 shows a bug in the code
-	  for PPL::Grid::relation_with(const Congruence& cg)
-
-2006-10-21 Saturday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/relations2.cc (altnum.1): file relations2.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: boundedaffineimage1.cc (1.5),
-	  generalizedaffineimage3.cc (1.6), generalizedaffinepreimage2.cc
-	  (1.6): Several wicked whiches replaced by thats.
-
-2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage3.cc (altnum.1): file
-	  generalizedaffineimage3.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage3.cc (octagons.1):
-	  file generalizedaffineimage3.cc was added on branch octagons on
-	  2006-11-18 20:36:59 +0000
-
-2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage2.cc (altnum.1):
-	  file generalizedaffinepreimage2.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-10-19 Thursday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage2.cc (octagons.1):
-	  file generalizedaffinepreimage2.cc was added on branch octagons
-	  on 2006-11-18 20:36:59 +0000
-
-2006-10-18 Wednesday 17:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.17),
-	  ppl_interface_generator_predicate_check_extra_code (1.9): Further
-	  additions and reorganisation of test data.  Added tests for
-	  get_ at GET_REPRESENT@ and get_minimized_ at GET_REPRESENT@ predicates.
-
-2006-10-18 Wednesday 11:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.8),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.16),
-	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
-	  (1.8): Improved organisation of test data. Use "alt_replacement"
-	  to get an alternative build representation.  Added test data 3
-	  for some tests.  Other minor improvements.
-
-2006-10-17 Tuesday 20:56  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.36), MIP_Problem.templates.hh (1.9): Be
-	  more verbose when throwing exceptions.  Indentation fixed.
-
-2006-10-17 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (altnum.1): file MIP_Problem.cc was added on
-	  branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-10-17 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.templates.hh (altnum.1): file
-	  MIP_Problem.templates.hh was added on branch altnum on 2006-10-29
-	  19:27:14 +0000
-
-2006-10-17 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.templates.hh (octagons.1): file
-	  MIP_Problem.templates.hh was added on branch octagons on
-	  2006-11-18 20:36:50 +0000
-
-2006-10-17 Tuesday 15:37  quartieri
-
-	* tests/Octagonal_Shape/: boundedaffineimage1.cc (1.4),
-	  generalizedaffineimage3.cc (1.5), generalizedaffinepreimage2.cc
-	  (1.5): Improved some comments.
-
-2006-10-17 Tuesday 14:05  quartieri
-
-	* tests/Octagonal_Shape/: boundedaffineimage1.cc (1.3),
-	  generalizedaffineimage3.cc (1.4), generalizedaffinepreimage2.cc
-	  (1.4): Corrected some inaccurate comments.
-
-2006-10-17 Tuesday 11:26  Elena Mazzi
-
-	* tests/Octagonal_Shape/: affineimage1.cc (1.2), affinepreimage1.cc
-	  (1.2), bhmz05widening1.cc (1.2), boundedaffineimage1.cc (1.2),
-	  cc76extrapolation1.cc (1.2), cc76narrowing1.cc (1.2),
-	  disjoint1.cc (1.4), generalizedaffineimage3.cc (1.3),
-	  generalizedaffinepreimage2.cc (1.3),
-	  generalizedaffinepreimage3.cc (1.2), intersection1.cc (1.2),
-	  limitedbhmz05extrapolation1.cc (1.2),
-	  limitedcc76extrapolation1.cc (1.2), octdifference1.cc (1.2),
-	  octhull1.cc (1.2), relatwithcons2.cc (1.2), relatwithgen1.cc
-	  (1.2), removespacedims1.cc (1.2), timeelapse1.cc (1.2): Fixed
-	  lots of spelling mistakes in many tests.
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage1.cc (altnum.1): file
-	  affineimage1.cc was added on branch altnum on 2006-10-29 19:27:31
-	  +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage1.cc (octagons.1): file
-	  affineimage1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinepreimage1.cc (altnum.1): file
-	  affinepreimage1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinepreimage1.cc (octagons.1): file
-	  affinepreimage1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bhmz05widening1.cc (altnum.1): file
-	  bhmz05widening1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bhmz05widening1.cc (octagons.1): file
-	  bhmz05widening1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/cc76extrapolation1.cc (altnum.1): file
-	  cc76extrapolation1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/cc76extrapolation1.cc (octagons.1): file
-	  cc76extrapolation1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/cc76narrowing1.cc (altnum.1): file
-	  cc76narrowing1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/cc76narrowing1.cc (octagons.1): file
-	  cc76narrowing1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc (altnum.1):
-	  file generalizedaffinepreimage3.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc (octagons.1):
-	  file generalizedaffinepreimage3.cc was added on branch octagons
-	  on 2006-11-18 20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/intersection1.cc (altnum.1): file
-	  intersection1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/intersection1.cc (octagons.1): file
-	  intersection1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (altnum.1):
-	  file limitedbhmz05extrapolation1.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
-	  (octagons.1): file limitedbhmz05extrapolation1.cc was added on
-	  branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/limitedcc76extrapolation1.cc (altnum.1):
-	  file limitedcc76extrapolation1.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/limitedcc76extrapolation1.cc (octagons.1):
-	  file limitedcc76extrapolation1.cc was added on branch octagons on
-	  2006-11-18 20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/octdifference1.cc (altnum.1): file
-	  octdifference1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/octdifference1.cc (octagons.1): file
-	  octdifference1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/octhull1.cc (altnum.1): file octhull1.cc
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/octhull1.cc (octagons.1): file octhull1.cc
-	  was added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithgen1.cc (altnum.1): file
-	  relatwithgen1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithgen1.cc (octagons.1): file
-	  relatwithgen1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/removespacedims1.cc (altnum.1): file
-	  removespacedims1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/removespacedims1.cc (octagons.1): file
-	  removespacedims1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/timeelapse1.cc (altnum.1): file
-	  timeelapse1.cc was added on branch altnum on 2006-10-29 19:27:31
-	  +0000
-
-2006-10-17 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/timeelapse1.cc (octagons.1): file
-	  timeelapse1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 10:52  Elena Mazzi
-
-	* src/Octagonal_Shape.templates.hh (1.28): Corrected a bug in
-	  strong_reduction_assign().
-
-2006-10-17 Tuesday 10:52  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.39): Corrected a bug in
-	  shortest_path_reduction_assign().
-
-2006-10-17 Tuesday 10:40  Elena Mazzi
-
-	* tests/Octagonal_Shape/minconstraints1.cc (1.2): Test 3 shows a
-	  bug in minimized_constraints() when the Octagonal Shape is
-	  zero-dimensional and universe.
-
-2006-10-17 Tuesday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/minconstraints1.cc (altnum.1): file
-	  minconstraints1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-17 Tuesday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/minconstraints1.cc (octagons.1): file
-	  minconstraints1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-17 Tuesday 10:38  Elena Mazzi
-
-	* tests/BD_Shape/minconstraints1.cc (1.9): Test 2 shows a bug in
-	  minimized_constraints() when the BD_Shape is zero-dimensional and
-	  universe.
-
-2006-10-17 Tuesday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/minconstraints1.cc (altnum.1): file
-	  minconstraints1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-10-17 Tuesday 10:01  Elena Mazzi
-
-	* tests/BD_Shape/: addconstraints1.cc (1.16), affineimage1.cc
-	  (1.16), affinepreimage1.cc (1.17), bdsdifference1.cc (1.12),
-	  bdshull1.cc (1.13), bhmz05widening1.cc (1.12),
-	  boundedaffineimage1.cc (1.2), cc76extrapolation1.cc (1.16),
-	  cc76narrowing1.cc (1.16), disjoint1.cc (1.3),
-	  generalizedaffineimage2.cc (1.18), generalizedaffinepreimage3.cc
-	  (1.3), intersection1.cc (1.16), limitedbhmz05extrapolation1.cc
-	  (1.11), limitedcc76extrapolation1.cc (1.12), relations2.cc
-	  (1.19), relations3.cc (1.16), removespacedims1.cc (1.17),
-	  timeelapse1.cc (1.16): Fixed lots of spelling mistakes in many
-	  tests.
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdsdifference1.cc (altnum.1): file
-	  bdsdifference1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdshull1.cc (altnum.1): file bdshull1.cc was added
-	  on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening1.cc (altnum.1): file
-	  bhmz05widening1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/boundedaffineimage1.cc (altnum.1): file
-	  boundedaffineimage1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/boundedaffineimage1.cc (octagons.1): file
-	  boundedaffineimage1.cc was added on branch octagons on 2006-11-18
-	  20:36:56 +0000
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage3.cc (altnum.1): file
-	  generalizedaffinepreimage3.cc was added on branch altnum on
-	  2006-10-29 19:27:22 +0000
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage3.cc (octagons.1): file
-	  generalizedaffinepreimage3.cc was added on branch octagons on
-	  2006-11-18 20:36:56 +0000
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation1.cc (altnum.1): file
-	  limitedbhmz05extrapolation1.cc was added on branch altnum on
-	  2006-10-29 19:27:22 +0000
-
-2006-10-17 Tuesday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/limitedcc76extrapolation1.cc (altnum.1): file
-	  limitedcc76extrapolation1.cc was added on branch altnum on
-	  2006-10-29 19:27:22 +0000
-
-2006-10-17 Tuesday 09:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.15),
-	  ppl_interface_generator_predicate_check_extra_code (1.7),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.15): Error in
-	  the swap code corrected.
-
-	  Tests for space_dimension and affine_dimension added.
-
-	  Now, for check_noisy, a list of all successful tests is output.
-	  For check_all and check_noisy, a list of all failed tests is
-	  output.  For check_noisy, the constraint and generator (or
-	  similar) systems of the failing object are output.
-
-2006-10-16 Monday 15:10  quartieri
-
-	* src/Octagonal_Shape.defs.hh (1.12),
-	  src/Octagonal_Shape.inlines.hh (1.10),
-	  src/Octagonal_Shape.templates.hh (1.27),
-	  tests/Octagonal_Shape/Makefile.am (1.7),
-	  tests/Octagonal_Shape/boundedaffineimage1.cc (1.1): Defined the
-	  method	       Octagonal_Shape<T>::bounded_affine_image()
-	  and added some tests on it.
-
-2006-10-16 Monday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.inlines.hh (altnum.1): file
-	  Octagonal_Shape.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-10-16 Monday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.200): The entry for LP_Problem rewritten so as to
-	  introduce the generalization to MIP_Problem.
-
-2006-10-16 Monday 15:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.199): We no longer have class LP_Problem: the TODO items
-	  now refer to MIP_Problem.
-
-2006-10-16 Monday 15:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LP_Problem.cc (1.37), LP_Problem.defs.hh (1.27),
-	  LP_Problem.inlines.hh (1.12), LP_Problem.templates.hh (1.2),
-	  LP_Problem.types.hh (1.6), Makefile.am (1.162): No longer build
-	  LP_Problem; corresponding source files removed.
-
-2006-10-16 Monday 14:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.243), tests/Makefile.am (1.259): Do perform tests
-	  for class MIP_Problem, not LP_Problem.
-
-2006-10-16 Monday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/MIP_Problem/: .cvsignore (1.1), Makefile.am (1.1),
-	  ascii_dump_load1.cc (1.1), exceptions1.cc (1.1), mipproblem1.cc
-	  (1.1): Put under CVS control.
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/.cvsignore (altnum.1): file .cvsignore was
-	  added on branch altnum on 2006-10-29 19:27:30 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/.cvsignore (octagons.1): file .cvsignore was
-	  added on branch octagons on 2006-11-18 20:36:58 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/.cvsignore (simplex.1): file .cvsignore was
-	  added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/Makefile.am (altnum.1): file Makefile.am was
-	  added on branch altnum on 2006-10-29 19:27:30 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/Makefile.am (octagons.1): file Makefile.am was
-	  added on branch octagons on 2006-11-18 20:36:58 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/ascii_dump_load1.cc (altnum.1): file
-	  ascii_dump_load1.cc was added on branch altnum on 2006-10-29
-	  19:27:30 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/ascii_dump_load1.cc (octagons.1): file
-	  ascii_dump_load1.cc was added on branch octagons on 2006-11-18
-	  20:36:58 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/exceptions1.cc (altnum.1): file exceptions1.cc
-	  was added on branch altnum on 2006-10-29 19:27:30 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/exceptions1.cc (octagons.1): file
-	  exceptions1.cc was added on branch octagons on 2006-11-18
-	  20:36:58 +0000
-
-2006-10-16 Monday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/MIP_Problem/mipproblem1.cc (altnum.1): file mipproblem1.cc
-	  was added on branch altnum on 2006-10-29 19:27:30 +0000
-
-2006-10-16 Monday 14:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.65): Correct the name of a
-	  constructor for MIP_Problem.
-
-2006-10-16 Monday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c_version.h.in (1.3),
-	  ppl_interface_generator_c_cc_preamble (1.4),
-	  ppl_interface_generator_c_h_preamble (1.5): Interface class
-	  MIP_Problem, not LP_Problem.	Constructor
-	  new_MIP_Problem_from_dimension() renamed as
-	  new_MIP_Problem_from_space_dimension() for consistency.  Started
-	  reorganizing the documentation of the C interface.
-
-2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_version.h.in (altnum.1): file
-	  ppl_c_version.h.in was added on branch altnum on 2006-10-29
-	  19:26:58 +0000
-
-2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c_version.h.in (octagons.1): file
-	  ppl_c_version.h.in was added on branch octagons on 2006-11-18
-	  20:36:44 +0000
-
-2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_preamble (altnum.1):
-	  file ppl_interface_generator_c_cc_preamble was added on branch
-	  altnum on 2006-10-29 19:26:58 +0000
-
-2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_preamble (altnum.1):
-	  file ppl_interface_generator_c_h_preamble was added on branch
-	  altnum on 2006-10-29 19:26:58 +0000
-
-2006-10-16 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_preamble (octagons.1):
-	  file ppl_interface_generator_c_h_preamble was added on branch
-	  octagons on 2006-11-18 20:36:44 +0000
-
-2006-10-16 Monday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_grid_check.pl (altnum.1): file
-	  pl_grid_check.pl was added on branch altnum on 2006-10-29
-	  19:27:09 +0000
-
-2006-10-16 Monday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_grid_check.pl (octagons.1): file
-	  pl_grid_check.pl was added on branch octagons on 2006-11-18
-	  20:36:49 +0000
-
-2006-10-16 Monday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.157),
-	  ppl_interface_generator_prolog_dat.m4 (1.10),
-	  ppl_interface_generator_prolog_icc_preamble (1.12),
-	  Ciao/ciao_pl_check.pl (1.24), XSB/xsb_pl_check.P (1.28),
-	  tests/pl_check.pl (1.38), tests/pl_grid_check.pl (1.3): Interface
-	  class MIP_Problem, not LP_Problem.
-
-2006-10-16 Monday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (altnum.1): file ppl_interface_generator_prolog_icc_preamble was
-	  added on branch altnum on 2006-10-29 19:27:00 +0000
-
-2006-10-16 Monday 14:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/README (1.3): Minor improvements and
-	  corrections to links.
-
-2006-10-16 Monday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/README (altnum.1): file README was added
-	  on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-16 Monday 14:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.78), devref.doxyconf-latex.in
-	  (1.17): Generate documentation of MIP_Problem, not LP_Problem.
-
-2006-10-16 Monday 14:44  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 2006-10-29
-	  19:26:56 +0000
-
-2006-10-16 Monday 14:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Grid.templates.hh (1.21): Do silence an annoying compiler
-	  warning.
-
-2006-10-16 Monday 14:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.templates.hh (1.4), Polyhedron_nonpublic.cc
-	  (1.68): Use MIP_Problem instead of LP_Problem.
-
-2006-10-16 Monday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.templates.hh (altnum.1): file
-	  Polyhedron.templates.hh was added on branch altnum on 2006-10-29
-	  19:27:14 +0000
-
-2006-10-16 Monday 14:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.134): Removed useless inclusion.
-
-2006-10-16 Monday 14:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.38): Corrected a bug in
-	  affine_dimension().  Do use class MIP_Problem instead of
-	  LP_Problem.
-
-2006-10-16 Monday 14:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.26): Correct a bug in
-	  affine_dimension().  Do use class MIP_Problem instead of
-	  LP_Problem.
-
-2006-10-16 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinedimension1.cc (altnum.1): file
-	  affinedimension1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-10-16 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinedimension1.cc (octagons.1): file
-	  affinedimension1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-10-16 Monday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/affinedimension1.cc (1.10),
-	  Octagonal_Shape/affinedimension1.cc (1.2): A bug in
-	  affine_dimension() is affecting both BD_Shape and
-	  Octagonal_Shape.  The bug causes an assertion to be violated when
-	  the shape is zero-dimensional and universe.
-
-2006-10-16 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/affinedimension1.cc (altnum.1): file
-	  affinedimension1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-10-16 Monday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.7): Invocations of Coefficient
-	  constructors fixed.
-
-2006-10-16 Monday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml.cc (altnum.1): file ppl_ocaml.cc was
-	  added on branch altnum on 2006-10-29 19:27:00 +0000
-
-2006-10-16 Monday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml.cc (octagons.1): file ppl_ocaml.cc was
-	  added on branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-10-16 Monday 09:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/BD_Shape/affinedimension1.cc (1.9): Test 11 shows a bug in
-	  affine_dimension() when the BD_Shape object is constructed from
-	  an empty constraint system.
-
-2006-10-13 Friday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.14),
-	  ppl_interface_generator_predicate_check_extra_code (1.6),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.14): Added code
-	  for producing noisy output when tests fail.
-
-2006-10-13 Friday 11:56  Elena Mazzi
-
-	* tests/BD_Shape/: Makefile.am (1.51), boundedaffineimage1.cc
-	  (1.1): Added new tests on the method
-	  BD_Shape::bounded_affine_image().
-
-2006-10-13 Friday 11:53  Elena Mazzi
-
-	* src/: BD_Shape.defs.hh (1.82), BD_Shape.templates.hh (1.37):
-	  Defined the new method: BD_Shape<T>::bounded_affine_image(var,
-	  lb_expr, ub_expr, den).
-
-2006-10-13 Friday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.13): Cut_and_paste error fixed.
-
-2006-10-13 Friday 09:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.12),
-	  ppl_interface_generator_predicate_check_extra_code (1.5): Added
-	  tests and test data for strict constraints and closure points for
-	  NNC polyhedra.  Extended test for building a bounding/covering
-	  box.
-
-2006-10-12 Thursday 22:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.11),
-	  ppl_interface_generator_predicate_check_extra_code (1.4),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.13): More
-	  improvements to the test framework and added generic tests for
-	  new_ at CLASS@_from_ at BOX@ and the swap procedure.
-
-2006-10-11 Wednesday 18:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.10),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.12): Added some
-	  code for future use and development of the test code...
-
-2006-10-11 Wednesday 16:38  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.35): Removed a spurious line to allow
-	  compiling if the heuristic is disabled.
-
-2006-10-11 Wednesday 14:13  Andrea Cimino
-
-	* demos/ppl_lpsol/: Makefile.am (1.36), expected_int16 (1.9),
-	  expected_int16_a (1.9), expected_int32 (1.10), expected_int32_a
-	  (1.10), expected_int64 (1.10), expected_int64_a (1.10),
-	  expected_int8 (1.9), expected_int8_a (1.8), expected_mpz (1.11),
-	  expected_mpz_a (1.11): Regenerated all the expected_* reflecting
-	  the new changes in Makefile.am.
-
-2006-10-11 Wednesday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.18): OCaml subdirectory enabled.
-
-2006-10-10 Tuesday 19:32  Andrea Cimino
-
-	* demos/ppl_lpsol/Makefile.am (1.35): Keep problems sorted.
-
-2006-10-10 Tuesday 19:30  Andrea Cimino
-
-	* demos/ppl_lpsol/: Makefile.am (1.34), examples/ex11.mps (1.3),
-	  examples/ex12.mps (1.1): Renamed ex11.mps as ex12.mps and
-	  restored the old ex11.mps.  Modified Makefile.am to skip ex12.mps
-	  checking.
-
-2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/ex11.mps (altnum.1): file ex11.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/ex11.mps (octagons.1): file ex11.mps was
-	  added on branch octagons on 2006-11-18 20:36:42 +0000
-
-2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/ex12.mps (altnum.1): file ex12.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/ex12.mps (octagons.1): file ex12.mps was
-	  added on branch octagons on 2006-11-18 20:36:42 +0000
-
-2006-10-10 Tuesday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/ex12.mps (simplex.1): file ex12.mps was
-	  added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 19:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/congruence1.cc (1.15),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (1.11): No longer rely on an operator recently removed.
-
-2006-10-10 Tuesday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/congruence1.cc (altnum.1): file congruence1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-10-10 Tuesday 19:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence.defs.hh (1.16), Congruence.inlines.hh (1.13):
-	  Removed operator building a Congruence object from a Coefficient
-	  and a Linear_Expression (in that order) as it was clashing with a
-	  template member of class Checked_Number.
-
-2006-10-10 Tuesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.defs.hh (altnum.1): file Congruence.defs.hh was
-	  added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-10-10 Tuesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.inlines.hh (altnum.1): file Congruence.inlines.hh
-	  was added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-10-10 Tuesday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_Expression.defs.hh (1.33): Removed redundant
-	  declarations (with repeated documentation).
-
-2006-10-10 Tuesday 18:59  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.64): Typo fixed.
-
-2006-10-10 Tuesday 18:54  Andrea Cimino
-
-	* demos/ppl_lpsol/examples/ex11.mps (1.2): Modified for testing
-	  purposes.
-
-2006-10-10 Tuesday 17:25  Andrea Cimino
-
-	* demos/ppl_lpsol/: Makefile.am (1.33), expected_int16 (1.8),
-	  expected_int16_a (1.8), expected_int32 (1.9), expected_int32_a
-	  (1.9), expected_int64 (1.9), expected_int64_a (1.9),
-	  expected_int8 (1.8), expected_int8_a (1.7), expected_mpz (1.10),
-	  expected_mpz_a (1.10), examples/README (1.2), examples/egout.mps
-	  (1.1), examples/ex11.mps (1.1), examples/lseu.mps (1.1),
-	  examples/markshare1.mps (1.1), examples/markshare2.mps (1.1),
-	  examples/mas74.mps (1.1), examples/mas76.mps (1.1),
-	  examples/modglob.mps (1.1), examples/noswot.mps (1.1),
-	  examples/opt1217.mps (1.1), examples/p0033.mps (1.1),
-	  examples/pk1.mps (1.1), examples/rout.mps (1.1): Added new test
-	  for ppl_lpsol: now ppl_lsol checks satisfiability and optimality
-	  of some MIP Problems. Added other .mps files to the testsuite.
-	  README and obtained_* updated.
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/egout.mps (altnum.1): file egout.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/egout.mps (octagons.1): file egout.mps
-	  was added on branch octagons on 2006-11-18 20:36:42 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/egout.mps (simplex.1): file egout.mps
-	  was added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/lseu.mps (altnum.1): file lseu.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/lseu.mps (octagons.1): file lseu.mps was
-	  added on branch octagons on 2006-11-18 20:36:42 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/lseu.mps (simplex.1): file lseu.mps was
-	  added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/markshare1.mps (altnum.1): file
-	  markshare1.mps was added on branch altnum on 2006-10-29 19:26:55
-	  +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/markshare1.mps (octagons.1): file
-	  markshare1.mps was added on branch octagons on 2006-11-18
-	  20:36:42 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/markshare1.mps (simplex.1): file
-	  markshare1.mps was added on branch simplex on 2008-01-07 11:15:26
-	  +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/markshare2.mps (altnum.1): file
-	  markshare2.mps was added on branch altnum on 2006-10-29 19:26:55
-	  +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/markshare2.mps (octagons.1): file
-	  markshare2.mps was added on branch octagons on 2006-11-18
-	  20:36:42 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/markshare2.mps (simplex.1): file
-	  markshare2.mps was added on branch simplex on 2008-01-07 11:15:26
-	  +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/mas74.mps (altnum.1): file mas74.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/mas74.mps (octagons.1): file mas74.mps
-	  was added on branch octagons on 2006-11-18 20:36:42 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/mas74.mps (simplex.1): file mas74.mps
-	  was added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/mas76.mps (altnum.1): file mas76.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/mas76.mps (octagons.1): file mas76.mps
-	  was added on branch octagons on 2006-11-18 20:36:42 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/mas76.mps (simplex.1): file mas76.mps
-	  was added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/modglob.mps (altnum.1): file modglob.mps
-	  was added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/modglob.mps (octagons.1): file
-	  modglob.mps was added on branch octagons on 2006-11-18 20:36:42
-	  +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/modglob.mps (simplex.1): file
-	  modglob.mps was added on branch simplex on 2008-01-07 11:15:26
-	  +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/noswot.mps (altnum.1): file noswot.mps
-	  was added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/noswot.mps (octagons.1): file noswot.mps
-	  was added on branch octagons on 2006-11-18 20:36:43 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/noswot.mps (simplex.1): file noswot.mps
-	  was added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/opt1217.mps (altnum.1): file opt1217.mps
-	  was added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/opt1217.mps (octagons.1): file
-	  opt1217.mps was added on branch octagons on 2006-11-18 20:36:43
-	  +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/opt1217.mps (simplex.1): file
-	  opt1217.mps was added on branch simplex on 2008-01-07 11:15:26
-	  +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/p0033.mps (altnum.1): file p0033.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/p0033.mps (octagons.1): file p0033.mps
-	  was added on branch octagons on 2006-11-18 20:36:43 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/p0033.mps (simplex.1): file p0033.mps
-	  was added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/pk1.mps (altnum.1): file pk1.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/pk1.mps (octagons.1): file pk1.mps was
-	  added on branch octagons on 2006-11-18 20:36:43 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/pk1.mps (simplex.1): file pk1.mps was
-	  added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/rout.mps (altnum.1): file rout.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/rout.mps (octagons.1): file rout.mps was
-	  added on branch octagons on 2006-11-18 20:36:43 +0000
-
-2006-10-10 Tuesday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/rout.mps (simplex.1): file rout.mps was
-	  added on branch simplex on 2008-01-07 11:15:26 +0000
-
-2006-10-10 Tuesday 14:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.9),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.11): Simplified
-	  the testing framework.
-
-2006-10-10 Tuesday 14:01  Andrea Cimino
-
-	* tests/Polyhedron/variablesset1.cc (1.7): Use the method empty()
-	  given by the STL instead of checking for a zero size.
-
-2006-10-10 Tuesday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/variablesset1.cc (altnum.1): file
-	  variablesset1.cc was added on branch altnum on 2006-10-29
-	  19:27:34 +0000
-
-2006-10-10 Tuesday 12:46  Andrea Cimino
-
-	* tests/Polyhedron/variablesset1.cc (1.6): Code cleaned. Added a
-	  FIXME concerning the operator==.
-
-2006-10-10 Tuesday 11:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	*
-	  interfaces/Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.10): Avoid generating useless tests.
-
-2006-10-10 Tuesday 09:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_systems.m4
-	  (1.8), tests/ppl_interface_generator_predicate_check_pl.m4 (1.9):
-	  Comments and formatting improved.
-
-2006-10-10 Tuesday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (altnum.1): file ppl_interface_generator_prolog_systems.m4 was
-	  added on branch altnum on 2006-10-29 19:27:00 +0000
-
-2006-10-10 Tuesday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (octagons.1): file ppl_interface_generator_prolog_systems.m4 was
-	  added on branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-10-10 Tuesday 09:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/: Makefile.am (1.47), yap_cfli.cc (1.3):
-	  Distribute yap_cfli.hh.  Removed the obsolete yap_cfli.cc.
-
-2006-10-10 Tuesday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.44): Distribute also
-	  xsb_cfli.hh.
-
-2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: Makefile.am (1.64),
-	  ppl_interface_generator_swiprolog_cc.m4 (1.6), swi_cfli.cc (1.3),
-	  swi_cfli.h (1.3), swi_cfli.hh (1.1), swi_cfli.ic (1.3):
-	  Reorganized the SWI Prolog Common Foreign Language Interface.
-
-2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (altnum.1): file ppl_interface_generator_swiprolog_cc.m4 was
-	  added on branch altnum on 2006-10-29 19:27:04 +0000
-
-2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (octagons.1): file ppl_interface_generator_swiprolog_cc.m4 was
-	  added on branch octagons on 2006-11-18 20:36:48 +0000
-
-2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_cfli.hh (altnum.1): file swi_cfli.hh
-	  was added on branch altnum on 2006-10-29 19:27:04 +0000
-
-2006-10-10 Tuesday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/swi_cfli.hh (octagons.1): file swi_cfli.hh
-	  was added on branch octagons on 2006-11-18 20:36:48 +0000
-
-2006-10-09 Monday 20:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.58): Copy-and-paste mistake
-	  fixed.
-
-2006-10-09 Monday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/membytes1.cc (1.13): test01() is expected to
-	  result in underflow with 8-bit coefficients also with assertions
-	  disabled.
-
-2006-10-09 Monday 16:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.11),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.8),
-	  Prolog/tests/ppl_interface_generator_predicate_check_extra_code
-	  (1.3), Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.8): [no log message]
-
-2006-10-09 Monday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common.m4 (altnum.1): file
-	  ppl_interface_generator_common.m4 was added on branch altnum on
-	  2006-10-29 19:26:57 +0000
-
-2006-10-09 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.33): YAP subdirectory
-	  re-enabled.
-
-2006-10-09 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.5):
-	  Copy-and-paste mistake fixed.
-
-2006-10-09 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
-	  (altnum.1): file ppl_interface_generator_xsb_cc.m4 was added on
-	  branch altnum on 2006-10-29 19:27:05 +0000
-
-2006-10-09 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
-	  (octagons.1): file ppl_interface_generator_xsb_cc.m4 was added on
-	  branch octagons on 2006-11-18 20:36:48 +0000
-
-2006-10-09 Monday 10:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/variablesset1.cc (1.5): Work around a bug in GCC
-	  3.3.3.
-
-2006-10-09 Monday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_cfli.hh (1.1): New implementation of
-	  the XSB Prolog Common Foreign Language Interface.
-
-2006-10-09 Monday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_cfli.hh (altnum.1): file xsb_cfli.hh
-	  was added on branch altnum on 2006-10-29 19:27:05 +0000
-
-2006-10-09 Monday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_cfli.hh (octagons.1): file xsb_cfli.hh
-	  was added on branch octagons on 2006-11-18 20:36:49 +0000
-
-2006-10-09 Monday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.2):
-	  Thresholds for test12() updated to reflect the precision
-	  attainable on the Alpha processor.
-
-2006-10-09 Monday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc (altnum.1):
-	  file generalizedaffinepreimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-10-09 Monday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc (octagons.1):
-	  file generalizedaffinepreimage1.cc was added on branch octagons
-	  on 2006-11-18 20:36:59 +0000
-
-2006-10-09 Monday 08:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/disjoint1.cc (1.3): Spurious ASCII-dumps
-	  removed.
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (altnum.1): file ppl_interface_generator_sicstus_sd_cc.m4 was
-	  added on branch altnum on 2006-10-29 19:27:03 +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (octagons.1): file ppl_interface_generator_sicstus_sd_cc.m4 was
-	  added on branch octagons on 2006-11-18 20:36:47 +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
-	  (altnum.1): file ppl_interface_generator_yap_cc.m4 was added on
-	  branch altnum on 2006-10-29 19:27:06 +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
-	  (octagons.1): file ppl_interface_generator_yap_cc.m4 was added on
-	  branch octagons on 2006-11-18 20:36:49 +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_cfli.hh (altnum.1): file yap_cfli.hh
-	  was added on branch altnum on 2006-10-29 19:27:06 +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_cfli.hh (octagons.1): file yap_cfli.hh
-	  was added on branch octagons on 2006-11-18 20:36:49 +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
-	  (1.12), ppl_interface_generator_prolog_icc_preamble (1.10),
-	  Ciao/Makefile.am (1.58), Ciao/ciao_cfli.hh (1.1),
-	  Ciao/ppl_ciao.cc (1.48), GNU/Makefile.am (1.57),
-	  GNU/gprolog_cfli.hh (1.1), GNU/ppl_gprolog_sd.cc (1.41),
-	  SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.4),
-	  SWI/ppl_interface_generator_swiprolog_cc.m4 (1.5),
-	  XSB/ppl_interface_generator_xsb_cc.m4 (1.4),
-	  YAP/ppl_interface_generator_yap_cc.m4 (1.4), YAP/yap_cfli.h
-	  (1.3), YAP/yap_cfli.hh (1.1), YAP/yap_cfli.ic (1.3): Prolog
-	  interfaces cleaned up.
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_cfli.hh (altnum.1): file ciao_cfli.hh
-	  was added on branch altnum on 2006-10-29 19:27:01 +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_cfli.hh (octagons.1): file
-	  ciao_cfli.hh was added on branch octagons on 2006-11-18 20:36:46
-	  +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/gprolog_cfli.hh (altnum.1): file
-	  gprolog_cfli.hh was added on branch altnum on 2006-10-29 19:27:02
-	  +0000
-
-2006-10-07 Saturday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/gprolog_cfli.hh (octagons.1): file
-	  gprolog_cfli.hh was added on branch octagons on 2006-11-18
-	  20:36:47 +0000
-
-2006-10-07 Saturday 18:18  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.63): Useless code removed.
-
-2006-10-07 Saturday 18:16  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.62): maybe_check_results() fixed
-	  when `no_optimization' flag is enabled.
-
-2006-10-07 Saturday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (1.27): Revised a couple of comments.
-
-2006-10-07 Saturday 16:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (altnum.1): file MIP_Problem.defs.hh was
-	  added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-10-07 Saturday 15:47  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.34), MIP_Problem.defs.hh (1.26): Defined
-	  and implemented the method `is_saturated()'.
-
-2006-10-07 Saturday 15:15  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.61),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.3),
-	  interfaces/C/ppl_interface_generator_c_h_preamble (1.4),
-	  src/MIP_Problem.cc (1.33), src/MIP_Problem.defs.hh (1.25),
-	  src/MIP_Problem.templates.hh (1.8), src/Polyhedron_public.cc
-	  (1.84): ppl_lpsol: restored the old threshold.  MIP_Problem:
-	  added the new constructor
-
-	  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)
-
-	  Renamed `set_integer_dimensions()' to
-	  `add_to_integer_space_dimensions'.  Check, if a variables_set is
-	  passed to a constructor, if the set does not exceed the space
-	  dimension of the MIP Problem.
-
-2006-10-07 Saturday 13:00  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.60): The -r option is now
-	  compatible with -e. Throw an error if we want to solve a MIP with
-	  -e. maybe_check_results() cleaned.  Modified the default
-	  threshold between GLPK and ppl_lpsol, this to prepare us for the
-	  next commit that will change the testsuite.
-
-2006-10-06 Friday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.59): Spurious blanks removed.
-
-2006-10-06 Friday 20:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.58): At least version 0.10 is
-	  required for the MIP solving functionality.
-
-2006-10-06 Friday 20:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.57): This is no longer a toy.
-
-2006-10-06 Friday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.56): Fixed some comments and code
-	  formatting.
-
-2006-10-06 Friday 19:37  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.55): Use "variables" instead of
-	  "Variables" when printing verbose output.
-
-2006-10-06 Friday 19:30  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.54): Some changes: -r is
-	  incompatible with -e.  If a MIP problem is going to be solved,
-	  print, if requested, the variables constrained to be integer.
-
-2006-10-06 Friday 14:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common.m4 (1.10): Another
-	  change to name of a macro.
-
-2006-10-06 Friday 14:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.9),
-	  C/ppl_interface_generator_c_cc.m4 (1.5),
-	  C/ppl_interface_generator_c_h.m4 (1.9),
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.5),
-	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.7),
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4 (1.7):
-	  Complete improvements to ppl_interface_generator_common.m4.  The
-	  top level macro used by the main generating files now m4_all_code
-	  instead of m4_all_classes_code.  The calls therefore adjusted
-	  appropriately.
-
-2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc.m4 (altnum.1): file
-	  ppl_interface_generator_c_cc.m4 was added on branch altnum on
-	  2006-10-29 19:26:58 +0000
-
-2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc.m4 (octagons.1): file
-	  ppl_interface_generator_c_cc.m4 was added on branch octagons on
-	  2006-11-18 20:36:44 +0000
-
-2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (altnum.1): file
-	  ppl_interface_generator_c_h.m4 was added on branch altnum on
-	  2006-10-29 19:26:58 +0000
-
-2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (octagons.1): file
-	  ppl_interface_generator_c_h.m4 was added on branch octagons on
-	  2006-11-18 20:36:44 +0000
-
-2006-10-06 Friday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
-	  (altnum.1): file ppl_interface_generator_prolog_icc.m4 was added
-	  on branch altnum on 2006-10-29 19:27:00 +0000
-
-2006-10-06 Friday 13:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.8),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.7): Revised
-	  C/ppl_interface_generator_c_cc_code.m4 for the changes to the
-	  pattern names.
-
-	  General improvements to ppl_interface_generator_common.m4
-	  including making some macro names more meaningful and improving
-	  the comments.
-
-2006-10-06 Friday 13:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (altnum.1):
-	  file ppl_interface_generator_c_cc_code.m4 was added on branch
-	  altnum on 2006-10-29 19:26:58 +0000
-
-2006-10-06 Friday 10:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.7),
-	  C/ppl_interface_generator_c_h.m4 (1.8),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.9),
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.4),
-	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.6): Many
-	  improvements to the m4 code and comments in
-	  ppl_interface_generator_common.m4
-
-	  Names of macros improved and hence some changes needed in other
-	  interface_generator files that use these names.
-
-	  Unwanted text removed from C/ppl_interface_generator_c_h.m4
-
-	  Bug fixed in ppl_interface_generator_common.m4.
-
-2006-10-05 Thursday 15:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.7),
-	  C/ppl_interface_generator_c_cc.m4 (1.4),
-	  C/ppl_interface_generator_c_dat.m4 (1.7),
-	  C/ppl_interface_generator_c_h.m4 (1.7),
-	  C/ppl_interface_generator_c_h_code.m4 (1.5),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.8),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.11),
-	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.5),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.7), Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.6): Patterns "represent" and "describe" replaced by 4 patterns
-	  "build_represent", "get_represent", "add_represent" and
-	  "relation_represent", to more accurately relate to the sets of
-	  methods and predicates for which they apply.
-
-	  Before including the preamble, we first change the quote
-	  characters ` and ' using m4_changequote/2. This avoids m4 eating
-	  the quotes in the preamble text.
-
-2006-10-05 Thursday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_code.m4 (altnum.1): file
-	  ppl_interface_generator_c_h_code.m4 was added on branch altnum on
-	  2006-10-29 19:26:58 +0000
-
-2006-10-05 Thursday 15:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.242): Adjusted to support the building of
-	  separate documentations for the library and its foreign language
-	  interfaces.
-
-2006-10-05 Thursday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: Makefile.am (1.47), devref-c-interface.doxyconf-html.in
-	  (1.1), devref-c-interface.doxyconf-latex.in (1.1),
-	  devref-prolog-interface.doxyconf-html.in (1.1),
-	  devref-prolog-interface.doxyconf-latex.in (1.1),
-	  devref.doxyconf-html.in (1.77), devref.doxyconf-latex.in (1.16),
-	  user-c-interface.doxyconf-html.in (1.1),
-	  user-c-interface.doxyconf-latex.in (1.1),
-	  user-prolog-interface.doxyconf-html.in (1.1),
-	  user-prolog-interface.doxyconf-latex.in (1.1),
-	  user.doxyconf-html.in (1.38), user.doxyconf-latex.in (1.9): The
-	  documentation of foreign languages interfaces is now separated
-	  from the documentation of the main library. The actual
-	  documentation will have to be changed accordingly to reflect this
-	  new design choice.
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-c-interface.doxyconf-html.in (altnum.1): file
-	  devref-c-interface.doxyconf-html.in was added on branch altnum on
-	  2006-10-29 19:26:56 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-c-interface.doxyconf-html.in (octagons.1): file
-	  devref-c-interface.doxyconf-html.in was added on branch octagons
-	  on 2006-11-18 20:36:43 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-c-interface.doxyconf-latex.in (altnum.1): file
-	  devref-c-interface.doxyconf-latex.in was added on branch altnum
-	  on 2006-10-29 19:26:56 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-c-interface.doxyconf-latex.in (octagons.1): file
-	  devref-c-interface.doxyconf-latex.in was added on branch octagons
-	  on 2006-11-18 20:36:43 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-prolog-interface.doxyconf-html.in (altnum.1): file
-	  devref-prolog-interface.doxyconf-html.in was added on branch
-	  altnum on 2006-10-29 19:26:56 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-prolog-interface.doxyconf-html.in (octagons.1): file
-	  devref-prolog-interface.doxyconf-html.in was added on branch
-	  octagons on 2006-11-18 20:36:43 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-prolog-interface.doxyconf-latex.in (altnum.1): file
-	  devref-prolog-interface.doxyconf-latex.in was added on branch
-	  altnum on 2006-10-29 19:26:56 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-prolog-interface.doxyconf-latex.in (octagons.1): file
-	  devref-prolog-interface.doxyconf-latex.in was added on branch
-	  octagons on 2006-11-18 20:36:43 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-c-interface.doxyconf-html.in (altnum.1): file
-	  user-c-interface.doxyconf-html.in was added on branch altnum on
-	  2006-10-29 19:26:56 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-c-interface.doxyconf-html.in (octagons.1): file
-	  user-c-interface.doxyconf-html.in was added on branch octagons on
-	  2006-11-18 20:36:43 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-c-interface.doxyconf-latex.in (altnum.1): file
-	  user-c-interface.doxyconf-latex.in was added on branch altnum on
-	  2006-10-29 19:26:56 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-c-interface.doxyconf-latex.in (octagons.1): file
-	  user-c-interface.doxyconf-latex.in was added on branch octagons
-	  on 2006-11-18 20:36:43 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-prolog-interface.doxyconf-html.in (altnum.1): file
-	  user-prolog-interface.doxyconf-html.in was added on branch altnum
-	  on 2006-10-29 19:26:56 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-prolog-interface.doxyconf-html.in (octagons.1): file
-	  user-prolog-interface.doxyconf-html.in was added on branch
-	  octagons on 2006-11-18 20:36:43 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-prolog-interface.doxyconf-latex.in (altnum.1): file
-	  user-prolog-interface.doxyconf-latex.in was added on branch
-	  altnum on 2006-10-29 19:26:56 +0000
-
-2006-10-05 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-prolog-interface.doxyconf-latex.in (octagons.1): file
-	  user-prolog-interface.doxyconf-latex.in was added on branch
-	  octagons on 2006-11-18 20:36:43 +0000
-
-2006-10-05 Thursday 15:30  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 2006-10-29
-	  19:26:56 +0000
-
-2006-10-05 Thursday 14:57  Elena Mazzi
-
-	* src/: BD_Shape.templates.hh (1.36), DB_Matrix.defs.hh (1.25),
-	  DB_Matrix.inlines.hh (1.28), DB_Matrix.templates.hh (1.3),
-	  DB_Row.defs.hh (1.20), DB_Row.inlines.hh (1.19),
-	  DB_Row.templates.hh (1.2): Added the definitions of methods
-	  `memory_size_type total_memory_in_bytes() const' and
-	  `memory_size_type external_memory_in_bytes() const' in the
-	  following classes: DB_Row, DB_Matrix, BD_Shape.
-
-2006-10-05 Thursday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.templates.hh (altnum.1): file
-	  DB_Matrix.templates.hh was added on branch altnum on 2006-10-29
-	  19:27:12 +0000
-
-2006-10-05 Thursday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.templates.hh (altnum.1): file DB_Row.templates.hh was
-	  added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-10-05 Thursday 12:19  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.35), tests/BD_Shape/disjoint1.cc
-	  (1.2): Fixed the comment in the method
-	  BD_Shape<T>::is_disjoint_from().  Added new tests on this method.
-	  Replaced `system/s of bounded differences' with `bounded
-	  difference shape/s'.
-
-2006-10-05 Thursday 11:34  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.32), MIP_Problem.defs.hh (1.24):
-	  `recursion_depth' thrown away.
-
-2006-10-05 Thursday 11:14  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.31), MIP_Problem.defs.hh (1.23): Comments
-	  revised.  `recursion_depth' is an unsigned long.
-
-2006-10-05 Thursday 10:18  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.30), MIP_Problem.defs.hh (1.22),
-	  MIP_Problem.inlines.hh (1.12), MIP_Problem.templates.hh (1.7):
-	  The correctness of the solution found, if is involved a non-empty
-	  integer Variables_Set, is now proofed without having a special
-	  member in the class. Slightly modified is_mip_satisfiable(),
-	  solve_mip and choose_branching_variable() intefaces for that
-	  purpose.
-
-2006-10-05 Thursday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.inlines.hh (altnum.1): file
-	  MIP_Problem.inlines.hh was added on branch altnum on 2006-10-29
-	  19:27:14 +0000
-
-2006-10-05 Thursday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.inlines.hh (octagons.1): file
-	  MIP_Problem.inlines.hh was added on branch octagons on 2006-11-18
-	  20:36:50 +0000
-
-2006-10-05 Thursday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.inlines.hh (1.68), GMP_Integer.defs.hh
-	  (1.23), GMP_Integer.inlines.hh (1.17): Added void
-	  rem_assign(GMP_Integer&, const GMP_Integer&, const GMP_Integer&).
-	  Added void rem_assign(Checked_Number<T, Policy>&, const
-	  Checked_Number<T, Policy>&, const Checked_Number<T, Policy>&).
-
-2006-10-04 Wednesday 23:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.6),
-	  ppl_interface_generator_common_dat.m4 (1.6),
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4
-	  (1.6), Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  (1.5): ppl_interface_generator_common.m4
-	  ppl_interface_generator_common_dat.m4: Redundant code removed,
-	  spelling in comment corrected.
-
-	  Prolog/tests/ppl_interface_generator_predicate_check_pl.m4
-	  Prolog/tests/ppl_interface_generator_predicate_check_code.m4:
-	  Extra predicate definition added to compensate for missing
-	  topology in generated test code.  A rather inelegant solution to
-	  a problem caused by some code requiring the topology "C_" or
-	  "NNC_" attached to "Polyhedron" and some not, depending on the
-	  initiating class.
-
-2006-10-04 Wednesday 21:24  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.29), MIP_Problem.defs.hh (1.21): Typos
-	  fixed. `recursion_depth' now is an unsigned long.
-
-2006-10-04 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/: Makefile.am (1.43), partition1.cc (1.1):
-	  Proof-of-concept implementation of the generalization to grids of
-	  the partition algorithm in [Srivastava93].
-
-2006-10-04 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/Makefile.am (altnum.1): file Makefile.am was added on
-	  branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-10-04 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/partition1.cc (altnum.1): file partition1.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-10-04 Wednesday 20:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/partition1.cc (octagons.1): file partition1.cc was
-	  added on branch octagons on 2006-11-18 20:36:57 +0000
-
-2006-10-04 Wednesday 16:01  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.28), MIP_Problem.defs.hh (1.20),
-	  MIP_Problem.inlines.hh (1.11), MIP_Problem.templates.hh (1.6):
-	  Check in method OK() that the solution, if found, satisfies the
-	  Variables_Set that encodes all the Variables constrained to be
-	  integer.  Added a new member to the class for that purpose.
-
-2006-10-04 Wednesday 13:04  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.25),
-	  tests/Octagonal_Shape/disjoint1.cc (1.2): Improved the method
-	  is_disjoint_from() and added a new test on it.
-
-2006-10-03 Tuesday 20:02  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.27): Some missing parentheses added.
-
-2006-10-03 Tuesday 19:50  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.26), MIP_Problem.defs.hh (1.19): Fixed
-	  some typos.  Used more appropriate variable names.
-
-2006-10-03 Tuesday 19:24  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.25), MIP_Problem.defs.hh (1.18): Comments
-	  revised. Variable type and name changed.
-
-2006-10-03 Tuesday 17:33  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.24): Moved a couple of variable
-	  declarations in the right place.
-
-2006-10-03 Tuesday 17:29  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.23), MIP_Problem.defs.hh (1.17): Fixed a
-	  bug in solve_mip(): if MAXIMIZATION was requested, the `branch
-	  and bound' tree was cut too early, loosing optimal solutions.
-	  Slightly modified solve_mip() interface to allow to print some
-	  debugging information if requested.
-
-2006-10-03 Tuesday 16:16  Elena Mazzi
-
-	* src/: BD_Shape.inlines.hh (1.135), BD_Shape.templates.hh (1.34):
-	  No longer inlined the following functions: -
-	  BD_Shape::affine_dimension(); -
-	  BD_Shape::forget_all_dbm_constraints(v); -
-	  BD_Shape::forget_binary_dbm_constraints(v).
-
-2006-10-03 Tuesday 15:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/:
-	  ppl_interface_generator_predicate_check_code.m4 (1.5),
-	  ppl_interface_generator_predicate_check_extra_code (1.2),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.4): Some
-	  improvements.  Commented code in
-	  ppl_interface_generator_predicate_check_code.m4 shows a bug in
-	  the main m4 replacement code for friend classes.
-
-2006-10-03 Tuesday 15:35  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.33): The method
-	  BD_Shape::is_disjoint_from(y) is now implemented without using a
-	  copy of a BD_Shape.
-
-2006-10-03 Tuesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/discrete1.cc (altnum.1): file discrete1.cc
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-10-03 Tuesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/discrete1.cc (octagons.1): file
-	  discrete1.cc was added on branch octagons on 2006-11-18 20:36:59
-	  +0000
-
-2006-10-03 Tuesday 14:25  quartieri
-
-	* src/Octagonal_Shape.inlines.hh (1.9),
-	  src/Octagonal_Shape.templates.hh (1.24),
-	  tests/Octagonal_Shape/Makefile.am (1.6),
-	  tests/Octagonal_Shape/discrete1.cc (1.1): Defined the method
-	  is_discrete() and moved it from the file
-	  Octagonal_Shape.templates.hh to the file
-	  Octagonal_Shape.inlines.hh.  Added some tests about it.
-
-2006-10-03 Tuesday 14:02  Elena Mazzi
-
-	* src/: BD_Shape.inlines.hh (1.134), BD_Shape.templates.hh (1.32):
-	  Moved the method BD_Shape::is_discrete() from file
-	  `BD_Shape.templates.hh' to `BD_Shape.inlines.hh'.
-
-2006-10-03 Tuesday 13:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.4): Bug
-	  in code generator for XSB corrected.
-
-2006-10-03 Tuesday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
-	  (altnum.1): file ppl_interface_generator_xsb_H.m4 was added on
-	  branch altnum on 2006-10-29 19:27:05 +0000
-
-2006-10-03 Tuesday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
-	  (octagons.1): file ppl_interface_generator_xsb_H.m4 was added on
-	  branch octagons on 2006-11-18 20:36:48 +0000
-
-2006-10-03 Tuesday 13:04  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.31), tests/BD_Shape/Makefile.am
-	  (1.50), tests/BD_Shape/discrete1.cc (1.1): Defined the method
-	  BD_Shape::is_discrete() and added some tests on this method.
-
-2006-10-03 Tuesday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/discrete1.cc (altnum.1): file discrete1.cc was
-	  added on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-10-03 Tuesday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/discrete1.cc (octagons.1): file discrete1.cc was
-	  added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-10-03 Tuesday 11:49  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.22): In a MIP_Problem, if we exit with
-	  status UNBOUNDED and we have found a feasible generator, store it
-	  in `last_generator'.
-
-2006-10-03 Tuesday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/: certificate1.cc (1.12), congruence1.cc (1.14),
-	  discrete1.cc (1.6): Awful syntax avoided.
-
-2006-10-03 Tuesday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/certificate1.cc (altnum.1): file certificate1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-10-03 Tuesday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/discrete1.cc (altnum.1): file discrete1.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-10-03 Tuesday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.32), expected_int16 (1.7),
-	  expected_int16_a (1.7), expected_int32 (1.8), expected_int32_a
-	  (1.8), expected_int64 (1.8), expected_int64_a (1.8),
-	  expected_int8 (1.7), expected_int8_a (1.6), expected_mpz (1.9),
-	  expected_mpz_a (1.9): Do not lie anymore: write on the expected*
-	  files a faithful indication of the command being executed.
-
-2006-10-03 Tuesday 09:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/: Makefile.am (1.9),
-	  ppl_interface_generator_predicate_check_code.m4 (1.4),
-	  ppl_interface_generator_predicate_check_extra_code (1.1),
-	  ppl_interface_generator_predicate_check_pl.m4 (1.3): The extra
-	  test code moved to a separate "extra_code" file.  Before the
-	  m4_include for this file, the quote characters are changed to
-	  @<<@ and @>>@ and then restored back to the original ` and '
-	  after the include.  This allows the inclusion of quote characters
-	  in the Prolog code in the "extra_code" file.
-
-	  Makefile.am modified so that in the interfaces/Prolog/tests
-	  directory "make" creates the Prolog test program
-	  "ppl_predicate_check.pl".
-
-2006-10-03 Tuesday 00:20  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.21), MIP_Problem.defs.hh (1.16):
-	  Performance of the heuristic method improved: an equality
-	  constraint is an `active constraint' by definition.
-
-2006-10-02 Monday 21:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.37): Previous commit for
-	  this file reversed and test file restored.
-
-2006-10-02 Monday 21:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/: pl_check.pl (1.36),
-	  ppl_interface_generator_predicate_check_code.m4 (1.3): Corrected
-	  a few typos.
-
-2006-10-02 Monday 19:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (1.6): Corrected an
-	  m4 macro call.
-
-2006-10-02 Monday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.20): Comments revised.
-
-2006-10-02 Monday 18:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: Makefile.am (1.17),
-	  ppl_interface_generator_common.m4 (1.5): Two more changes made
-	  for the change to the m4 builtins.
-
-2006-10-02 Monday 17:45  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.19), MIP_Problem.defs.hh (1.15): Added a
-	  new heuristic that selects a branching variable when a
-	  MIP_Problem feasibility has to be proofed.  Modified the
-	  prototype for `is_satisfied' to allow the checking of `active
-	  constraints'.  The new heuristic is turned on by default.
-
-2006-10-02 Monday 17:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4 (1.6),
-	  ppl_interface_generator_c_h.m4 (1.6): Fixed a couple of bugs
-	  where the m4 builtin had not been revised to m4_builtin.
-
-2006-10-02 Monday 17:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.16): Skip the OCaml directory, for the
-	  time being.
-
-2006-10-02 Monday 17:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.52), Polyhedron/dualhypercubes.cc (1.10):
-	  Test Polyhedron/dualhypercubes.cc fails on 64 bits checked
-	  integers when assertions are turned on.
-
-2006-10-02 Monday 17:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: C/Makefile.am (1.26),
-	  C/ppl_interface_generator_c_h.m4 (1.5), Prolog/Makefile.am
-	  (1.32), Prolog/Ciao/Makefile.am (1.57), Prolog/GNU/Makefile.am
-	  (1.56), Prolog/SICStus/Makefile.am (1.70), Prolog/SWI/Makefile.am
-	  (1.63), Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.4),
-	  Prolog/XSB/Makefile.am (1.43), Prolog/YAP/Makefile.am (1.46):
-	  Corrections where some builtins for m4 were not changed as
-	  required.  The Makefile.am files now have m4 --prefix-builtin in
-	  the m4 commands.
-
-2006-10-02 Monday 16:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/:
-	  Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4 (1.2),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.2),
-	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.2):
-	  Changed these interface_generator files for the test code to
-	  require the m4 command to include --prefix-builtin.
-
-2006-10-02 Monday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (altnum.1): file
-	  ppl_interface_generator_ciao_predicate_check_pl.m4 was added on
-	  branch altnum on 2006-10-29 19:27:01 +0000
-
-2006-10-02 Monday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4
-	  (octagons.1): file
-	  ppl_interface_generator_ciao_predicate_check_pl.m4 was added on
-	  branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
-	  (altnum.1): file ppl_interface_generator_ciao_pl.m4 was added on
-	  branch altnum on 2006-10-29 19:27:01 +0000
-
-2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
-	  (octagons.1): file ppl_interface_generator_ciao_pl.m4 was added
-	  on branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
-	  (altnum.1): file ppl_interface_generator_gprolog_pl.m4 was added
-	  on branch altnum on 2006-10-29 19:27:02 +0000
-
-2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
-	  (octagons.1): file ppl_interface_generator_gprolog_pl.m4 was
-	  added on branch octagons on 2006-11-18 20:36:47 +0000
-
-2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (altnum.1): file ppl_interface_generator_xsb_predicate_check_P.m4
-	  was added on branch altnum on 2006-10-29 19:27:05 +0000
-
-2006-10-02 Monday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (octagons.1): file
-	  ppl_interface_generator_xsb_predicate_check_P.m4 was added on
-	  branch octagons on 2006-11-18 20:36:48 +0000
-
-2006-10-02 Monday 16:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.4),
-	  ppl_interface_generator_common_dat.m4 (1.5),
-	  C/ppl_interface_generator_c_cc.m4 (1.3),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.5),
-	  C/ppl_interface_generator_c_dat.m4 (1.5),
-	  C/ppl_interface_generator_c_h.m4 (1.4),
-	  C/ppl_interface_generator_c_h_code.m4 (1.4),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.7),
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (1.3),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.10),
-	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.4),
-	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.3),
-	  Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 (1.3),
-	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4 (1.3),
-	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 (1.3),
-	  Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.3),
-	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.3),
-	  Prolog/XSB/ppl_interface_generator_xsb_predicate_check_P.m4
-	  (1.2), Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.3):
-	  Changed all the built-ins for the m4 code for generating the
-	  interfaces from builtin to m4_builtin.  Note that the built-in
-	  dnl is unchanged; instead, I have added define(`dnl', `m4_dnl')
-	  at the start of the main files.
-
-2006-10-02 Monday 14:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/:
-	  Ciao/ppl_interface_generator_ciao_predicate_check_pl.m4 (1.1),
-	  XSB/ppl_interface_generator_xsb_predicate_check_P.m4 (1.1),
-	  tests/pl_check.pl (1.35),
-	  tests/ppl_interface_generator_predicate_check_code.m4 (1.1),
-	  tests/ppl_interface_generator_predicate_check_pl.m4 (1.1):
-	  interface generator code for generating a test file for all
-	  predicates for  all the required classes.
-
-2006-10-02 Monday 14:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4 (1.3),
-	  Prolog/ppl_interface_generator_prolog_systems.m4 (1.3): Comments
-	  corrected and allow for a default code that is needed for the
-	  tests.
-
-2006-10-02 Monday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.241): Generate the Grid interfaces by default.
-
-2006-10-02 Monday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: Makefile.am (1.15), OCaml/ppl_ocaml.cc (1.6),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.9): Fixed
-	  the generalized image predicated for Grid.
-
-2006-10-02 Monday 11:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.6),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.8): Corrected the
-	  interfacing of Grid::generalized_affine_[pre]image*.
-
-2006-10-02 Monday 10:56  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.30): Improved the method:
-	  BD_Shape::is_disjoint_from(const BD_Shape& y).
-
-2006-10-02 Monday 09:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
-	  (1.7), ppl_interface_generator_prolog_icc_preamble (1.9):
-	  term_to_relation_symbol() revised.
-
-2006-10-01 Sunday 22:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (1.8): Corrected order of arguments in
-	  ppl_new_LP_Problem_from_space_dimension/2.
-
-2006-10-01 Sunday 22:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.34): Define aux predicate
-	  clean_ppl_new_LP_Problem_from_space_dimension/2.
-
-2006-10-01 Sunday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc_code.m4
-	  (1.6), ppl_interface_generator_prolog_icc_preamble (1.7): Severa
-	  FIXMEs dealt with.
-
-2006-10-01 Sunday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh (1.23),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.5),
-	  ppl_interface_generator_prolog_icc_preamble (1.6): Most
-	  predicates now raise meaningful exceptions.
-
-2006-10-01 Sunday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh (1.22),
-	  ppl_interface_generator_prolog_icc_preamble (1.5): Class
-	  PPL_integer_out_of_range revised.
-
-2006-10-01 Sunday 17:19  Andrea Cimino
-
-	* tests/Polyhedron/variablesset1.cc (1.4): Test also
-	  `std::set_intersection' and `std::set_difference'.
-
-2006-10-01 Sunday 15:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4 (1.5),
-	  ppl_interface_generator_prolog_icc_preamble (1.4): LP_Problem
-	  interface updated.
-
-2006-10-01 Sunday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh (1.21),
-	  ppl_interface_generator_prolog_icc_code.m4 (1.4),
-	  ppl_interface_generator_prolog_icc_preamble (1.3): Started
-	  improving the Prolog interface error reporting mechanisms.  Fixed
-	  several copy-and-paste mistakes in the support for grids.
-
-2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.5), ppl_ocaml.mli (1.4),
-	  test1.ml (1.4): Sample code to support building polyhedra from
-	  OCaml.
-
-2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml.mli (altnum.1): file ppl_ocaml.mli was
-	  added on branch altnum on 2006-10-29 19:27:00 +0000
-
-2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml.mli (octagons.1): file ppl_ocaml.mli
-	  was added on branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/test1.ml (altnum.1): file test1.ml was added on
-	  branch altnum on 2006-10-29 19:27:00 +0000
-
-2006-10-01 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/test1.ml (octagons.1): file test1.ml was added
-	  on branch octagons on 2006-11-18 20:36:46 +0000
-
-2006-10-01 Sunday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.4), ppl_ocaml.mli (1.3),
-	  test1.ml (1.3): build_Constraint_System() and
-	  build_Generator_System() rewritten.
-
-2006-09-30 Saturday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_ocaml.cc (1.3): Support the building of
-	  constraint and generator systems.
-
-2006-09-30 Saturday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: ppl_ocaml.cc (1.2), ppl_ocaml.mli (1.2),
-	  test1.ml (1.2): Support the building of constraints and
-	  generators.
-
-2006-09-30 Saturday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: Makefile.am (1.13), ppl_ocaml.cc (1.1),
-	  ppl_ocaml.mli (1.1), test1.ml (1.1): Initial steps for the OCaml
-	  interface.
-
-2006-09-30 Saturday 16:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.4):
-	  Corrected trivial bug (missing commas) whereby the C interface
-	  code was not generated for several methods.
-
-2006-09-30 Saturday 16:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (1.4): Minor
-	  improvements: methods not available for BDS are neither avaiable
-	  for Octagonal shapes.
-
-2006-09-30 Saturday 16:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.11), Octagonal_Shape.inlines.hh
-	  (1.8), Octagonal_Shape.templates.hh (1.23): Added methods
-	  shrink_bounding_box() and topological_closure_assign().
-
-2006-09-30 Saturday 16:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.29): Corrected a bug in
-	  shrink_bounding_box.
-
-2006-09-30 Saturday 15:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.4):
-	  BD_Shape now have the generalized (pre-) images methods.
-
-2006-09-30 Saturday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.240): Do not invoke AM_PROG_GCJ.
-
-2006-09-30 Saturday 13:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_preamble (1.3):
-	  Distribute the output functions in the corresponding group
-	  depending on the interfaced PPL entity.
-
-2006-09-30 Saturday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (1.3): Corrected
-	  simple bug in the generation of documentation grouping.
-
-2006-09-29 Friday 23:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4 (1.4),
-	  C/ppl_interface_generator_c_cc_code.m4 (1.3),
-	  C/ppl_interface_generator_c_dat.m4 (1.3),
-	  C/ppl_interface_generator_c_h_code.m4 (1.3),
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (1.3),
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4 (1.3): Replaced
-	  pattern "is_ at STATE@ by "@HAS_PROPERTY@ and added replacement
-	  "contains_integer_point" for this pattern.  A comment corrected.
-
-2006-09-29 Friday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.239): Added the infrastructure required to enable
-	  the Java interface.
-
-2006-09-29 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.238): Added the infrastructure required to enable
-	  the OCaml interface.
-
-2006-09-29 Friday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/variablesset1.cc (1.3): Show how
-	  std::set_union() should be used.
-
-2006-09-29 Friday 18:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.101), containsintegerpoint1.cc
-	  (1.1): Added a test for Polyhedron::contains_integer_point().
-
-2006-09-29 Friday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/containsintegerpoint1.cc (altnum.1): file
-	  containsintegerpoint1.cc was added on branch altnum on 2006-10-29
-	  19:27:32 +0000
-
-2006-09-29 Friday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/containsintegerpoint1.cc (octagons.1): file
-	  containsintegerpoint1.cc was added on branch octagons on
-	  2006-11-18 20:37:00 +0000
-
-2006-09-29 Friday 18:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (1.3):
-	  Polyhedra_Powerset renamed as Pointset_Powerset.
-
-2006-09-29 Friday 16:01  Andrea Cimino
-
-	* tests/Polyhedron/variablesset1.cc (1.2): Fixed a typo.
-
-2006-09-29 Friday 16:00  Andrea Cimino
-
-	* tests/Polyhedron/: Makefile.am (1.100), variablesset1.cc (1.1):
-	  Added some tests for the Variables_Set class.  Remeber also to
-	  test set_union(), set_difference()...
-
-2006-09-29 Friday 14:19  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.22),
-	  tests/Octagonal_Shape/Makefile.am (1.5),
-	  tests/Octagonal_Shape/disjoint1.cc (1.1): Added the method
-	  bool Octagonal_Shape<T>::is_disjoint_from() and some tests about
-	  it.
-
-2006-09-29 Friday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: foldspacedims2.cc (1.13), membytes1.cc (1.12):
-	  Adjusted tests that no longer fail with 8-bit coefficients.
-
-2006-09-29 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.237), instchk.hh (1.6), interfaces/Makefile.am
-	  (1.14), interfaces/ppl_interface_generator_common.m4 (1.2),
-	  interfaces/ppl_interface_generator_common_dat.m4 (1.2),
-	  interfaces/ppl_interface_generator_copyright (1.2),
-	  interfaces/C/Makefile.am (1.25), interfaces/C/ppl_c.cc (1.158),
-	  interfaces/C/ppl_c_version.h.in (1.2),
-	  interfaces/C/ppl_interface_generator_c_cc.m4 (1.2),
-	  interfaces/C/ppl_interface_generator_c_cc_code.m4 (1.2),
-	  interfaces/C/ppl_interface_generator_c_cc_preamble (1.2),
-	  interfaces/C/ppl_interface_generator_c_dat.m4 (1.2),
-	  interfaces/C/ppl_interface_generator_c_h.m4 (1.2),
-	  interfaces/C/ppl_interface_generator_c_h_code.m4 (1.2),
-	  interfaces/C/ppl_interface_generator_c_h_preamble (1.2),
-	  interfaces/Prolog/Makefile.am (1.31),
-	  interfaces/Prolog/exceptions.hh (1.20),
-	  interfaces/Prolog/ppl_interface_generator_prolog_dat.m4 (1.2),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc.m4 (1.2),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (1.2),
-	  interfaces/Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (1.2),
-	  interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (1.2), interfaces/Prolog/ppl_prolog.icc (1.181),
-	  interfaces/Prolog/Ciao/Makefile.am (1.56),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.93),
-	  interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 (1.2),
-	  interfaces/Prolog/GNU/Makefile.am (1.55),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.62),
-	  interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
-	  (1.2), interfaces/Prolog/SICStus/Makefile.am (1.69),
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (1.2), interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.97),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.8),
-	  interfaces/Prolog/SWI/Makefile.am (1.62),
-	  interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (1.2), interfaces/Prolog/SWI/ppl_swiprolog.cc (1.127),
-	  interfaces/Prolog/SWI/swi_cfli.cc (1.2),
-	  interfaces/Prolog/SWI/swi_cfli.h (1.2),
-	  interfaces/Prolog/SWI/swi_cfli.ic (1.2),
-	  interfaces/Prolog/XSB/Makefile.am (1.42),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 (1.2),
-	  interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 (1.2),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.51),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.93),
-	  interfaces/Prolog/YAP/Makefile.am (1.45),
-	  interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 (1.2),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.121),
-	  interfaces/Prolog/YAP/yap_cfli.cc (1.2),
-	  interfaces/Prolog/YAP/yap_cfli.h (1.2),
-	  interfaces/Prolog/YAP/yap_cfli.ic (1.2),
-	  interfaces/Prolog/tests/Makefile.am (1.8),
-	  interfaces/Prolog/tests/pl_check.pl (1.33),
-	  interfaces/Prolog/tests/pl_grid_check.pl (1.2),
-	  src/BD_Shape.defs.hh (1.81), src/BD_Shape.inlines.hh (1.133),
-	  src/BD_Shape.templates.hh (1.28): The `interfaces' branch has
-	  been merged to the main trunk.  The branch has now to be
-	  considered closed.
-
-2006-09-29 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* instchk.hh (altnum.1): file instchk.hh was added on branch altnum
-	  on 2006-10-29 19:26:46 +0000
-
-2006-09-29 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_copyright (altnum.1): file
-	  ppl_interface_generator_copyright was added on branch altnum on
-	  2006-10-29 19:26:57 +0000
-
-2006-09-29 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_copyright (octagons.1): file
-	  ppl_interface_generator_copyright was added on branch octagons on
-	  2006-11-18 20:36:44 +0000
-
-2006-09-29 Friday 11:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (interfaces.5): Temporarily disable
-	  the YAP interface.
-
-2006-09-29 Friday 11:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc.m4,
-	  ppl_interface_generator_c_cc_preamble,
-	  ppl_interface_generator_c_h.m4,
-	  ppl_interface_generator_c_h_preamble (interfaces.[7,6,7,7]):
-	  Added support for interfacing MIP_problem class and for
-	  ascii_dump methods, as done in the main trunk.
-
-2006-09-29 Friday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_cfli.cc (interfaces.1): Put under CVS
-	  control.
-
-2006-09-29 Friday 11:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.83): Added a workaround to the
-	  implementation of contains_integer_point(), so as to correctly
-	  handle the case of NNC polyhedra and also avoid a few trivial
-	  cases where the polyhedron is known to be empty.
-
-2006-09-29 Friday 09:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: C/ppl_interface_generator_c_cc_preamble,
-	  C/ppl_interface_generator_c_h_preamble,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_preamble,
-	  Prolog/tests/pl_check.pl (interfaces.[5,6,31,5,2]): Updated for
-	  changes from the Trunk.  Now C and Prolog interfaces compile with
-	  the "Polyhedron" for the --enable-instantiation.  Only SICStus
-	  and SWI Prolog interfaces tested.
-
-2006-09-29 Friday 00:42  Andrea Cimino
-
-	* src/: LP_Problem.defs.hh (1.26), MIP_Problem.defs.hh (1.14):
-	  Other doxygen comments fixed.
-
-2006-09-28 Thursday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, ChangeLog, INSTALL, NEWS, STANDARDS, TODO, config.guess,
-	  config.sub, configure.ac, install-sh, instchk.hh, missing,
-	  mkinstalldirs, Watchdog/ChangeLog, Watchdog/INSTALL,
-	  Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
-	  Watchdog/missing, Watchdog/mkinstalldirs,
-	  Watchdog/src/EList.defs.hh, Watchdog/src/Handler.defs.hh,
-	  Watchdog/src/Makefile.am, Watchdog/src/Pending_Element.defs.hh,
-	  Watchdog/src/Watchdog.cc, Watchdog/src/Watchdog.defs.hh,
-	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
-	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
-	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
-	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
-	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
-	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
-	  doc/definitions.dox, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/ppl-config.1,
-	  doc/ppl-config_extra_man_text, doc/ppl_lcdd.1,
-	  doc/ppl_lcdd_extra_man_text, doc/ppl_lpsol.1,
-	  doc/ppl_lpsol_extra_man_text, doc/prog2man,
-	  interfaces/C/Makefile.am, interfaces/C/ppl_c.h.in,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/XSB/expected_pchk_int8,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/tests/clpq2.pl,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/pl_check.pl, 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/Bounding_Box.defs.hh,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  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/Constraint.cc,
-	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
-	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
-	  src/DB_Matrix.defs.hh, src/DB_Matrix.inlines.hh,
-	  src/DB_Matrix.templates.hh, src/DB_Row.defs.hh,
-	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
-	  src/Direct_Product.defs.hh, src/Direct_Product.inlines.hh,
-	  src/Direct_Product.templates.hh, src/Direct_Product.types.hh,
-	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
-	  src/Generator.cc, src/Generator.defs.hh, src/Generator_System.cc,
-	  src/Generator_System.defs.hh, src/Grid.defs.hh,
-	  src/Grid.inlines.hh, src/Grid.templates.hh,
-	  src/Grid_Certificate.cc, src/Grid_Generator.cc,
-	  src/Grid_Generator.defs.hh, src/Grid_Generator_System.cc,
-	  src/Grid_Generator_System.defs.hh, src/Grid_Status.cc,
-	  src/Grid_Status.idefs.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/LP_Problem.cc, src/LP_Problem.defs.hh,
-	  src/LP_Problem.inlines.hh, src/LP_Problem.templates.hh,
-	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
-	  src/Linear_Expression.inlines.hh, src/Linear_Row.cc,
-	  src/Linear_Row.defs.hh, src/Linear_System.cc,
-	  src/Linear_System.defs.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.cc, src/Matrix.defs.hh,
-	  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/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/Ph_Status.cc,
-	  src/Ph_Status.idefs.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/Polyhedra_Powerset.cc,
-	  src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh,
-	  src/Polyhedra_Powerset.templates.hh,
-	  src/Polyhedra_Powerset.types.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/Result.defs.hh,
-	  src/Result.inlines.hh, src/Rounding_Dir.inlines.hh, src/Row.cc,
-	  src/Row.defs.hh, src/Saturation_Matrix.cc,
-	  src/Saturation_Matrix.defs.hh, src/Saturation_Row.cc,
-	  src/Saturation_Row.defs.hh, src/Variable.cc,
-	  src/Variable.defs.hh, src/Variables_Set.cc,
-	  src/Variables_Set.defs.hh, src/Variables_Set.inlines.hh,
-	  src/Variables_Set.types.hh, src/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/algorithms.hh,
-	  src/checked.inlines.hh, src/checked_ext.inlines.hh,
-	  src/checked_float.inlines.hh, src/checked_int.inlines.hh,
-	  src/checked_numeric_limits.hh, src/conversion.cc,
-	  src/distances.defs.hh, src/distances.inlines.hh,
-	  src/distances.types.hh, src/fpu-ia32.inlines.hh,
-	  src/globals.defs.hh, src/globals.inlines.hh,
-	  src/iterator_to_const.defs.hh, src/iterator_to_const.inlines.hh,
-	  src/iterator_to_const.types.hh, src/max_space_dimension.hh,
-	  src/mp_numeric_limits.hh, src/namespaces.hh, tests/BBox.cc,
-	  tests/FCAIBVP.cc, tests/FCAIBVP.defs.hh,
-	  tests/FCAIBVP.inlines.hh, tests/FCAIBVP.types.hh,
-	  tests/Makefile.am, tests/Partial_Function.cc, tests/ppl_test.cc,
-	  tests/ppl_test.hh, tests/print.hh, tests/Ask_Tell/.cvsignore,
-	  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/affineimage1.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bgp99extrapolation1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc,
-	  tests/BD_Shape/bhz03widening1.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/concatenate1.cc,
-	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/containsintegerpoint1.cc,
-	  tests/BD_Shape/disjoint1.cc, tests/BD_Shape/frompolyhedron1.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.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/minconstraints1.cc,
-	  tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/universe1.cc,
-	  tests/Grid/Makefile.am, tests/Grid/affineimage2.cc,
-	  tests/Grid/asciidumpload1.cc, tests/Grid/asciidumpload3.cc,
-	  tests/Grid/asciidumpload4.cc, tests/Grid/bhz03widening1.cc,
-	  tests/Grid/boundedaffineimage1.cc,
-	  tests/Grid/boundedaffinepreimage1.cc, tests/Grid/boundingbox2.cc,
-	  tests/Grid/congruences2.cc, tests/Grid/containsintegerpoint1.cc,
-	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
-	  tests/Grid/directproduct2.cc, tests/Grid/equals1.cc,
-	  tests/Grid/foldspacedims1.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/grid1.cc,
-	  tests/Grid/grid2.cc, tests/Grid/membytes1.cc,
-	  tests/Grid/relations2.cc, tests/Grid/relations3.cc,
-	  tests/Grid/widening2.cc, tests/Octagonal_Shape/.cvsignore,
-	  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/cc76extrapolation1.cc,
-	  tests/Octagonal_Shape/cc76narrowing1.cc,
-	  tests/Octagonal_Shape/chinainit.cc,
-	  tests/Octagonal_Shape/concatenate1.cc,
-	  tests/Octagonal_Shape/constraints1.cc,
-	  tests/Octagonal_Shape/contains1.cc,
-	  tests/Octagonal_Shape/containsintegerpoint1.cc,
-	  tests/Octagonal_Shape/empty1.cc,
-	  tests/Octagonal_Shape/fromgensys1.cc,
-	  tests/Octagonal_Shape/frompolyhedron1.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/intersection1.cc,
-	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc,
-	  tests/Octagonal_Shape/mapspacedims1.cc,
-	  tests/Octagonal_Shape/maxspacedim.cc,
-	  tests/Octagonal_Shape/minconstraints1.cc,
-	  tests/Octagonal_Shape/octdifference1.cc,
-	  tests/Octagonal_Shape/octhull1.cc,
-	  tests/Octagonal_Shape/relatwithcons1.cc,
-	  tests/Octagonal_Shape/relatwithcons2.cc,
-	  tests/Octagonal_Shape/relatwithgen1.cc,
-	  tests/Octagonal_Shape/removespacedims1.cc,
-	  tests/Octagonal_Shape/run_tests,
-	  tests/Octagonal_Shape/timeelapse1.cc,
-	  tests/Octagonal_Shape/universe1.cc,
-	  tests/Octagonal_Shape/writeoctagon1.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/append1.cc,
-	  tests/Polyhedron/append2.cc,
-	  tests/Polyhedron/bgp99extrapolation1.cc,
-	  tests/Polyhedron/bhz03widening1.cc, tests/Polyhedron/bug2.cc,
-	  tests/Polyhedron/bug2.dat, tests/Polyhedron/dualhypercubes.cc,
-	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/exceptions2.cc,
-	  tests/Polyhedron/exceptions3.cc, tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/intersection1.cc,
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/matrix1.cc,
-	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
-	  tests/Polyhedron/membytes1.cc, tests/Polyhedron/membytes2.cc,
-	  tests/Polyhedron/pointsetpowerset1.cc,
-	  tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polypowerset1.cc,
-	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/timeelapse1.cc,
-	  utils/timings.cc
-	  (interfaces.[1,1,1,1,1,1,1,1,5,1,3,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,2,1,2,1,2,2,5,1,1,1,1,1,1,5,1,1,1,1,1,2,2,2,1,1,2,1,1,1,1,2,2,2,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,2,2,3,1,1,1,1,1,1,1,2,2,2,1,2,2,2,2,1,1,2,2,1,2,2,2,1,1,1,2,2,2,1,1,1,1,1,2,2,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,2,2,2,1,1,1,1,2,2,2,2,1,1,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1, [...]
-	  Second merge from main trunk (several compilation errors still to
-	  be fixed).
-
-2006-09-28 Thursday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/: ppl_interface_generator_yap_cc.m4,
-	  yap_cfli.h, yap_cfli.ic (interfaces.[4,2,2]): Started a revision
-	  of the YAP interface.
-
-2006-09-28 Thursday 21:06  Andrea Cimino
-
-	* src/LP_Problem.defs.hh (1.25): Other little English inaccuracy
-	  fixed.
-
-2006-09-28 Thursday 21:03  Andrea Cimino
-
-	* src/: LP_Problem.cc (1.36), LP_Problem.defs.hh (1.24),
-	  MIP_Problem.cc (1.18), MIP_Problem.defs.hh (1.13): Some English
-	  inaccuracies fixed.  Properly renamed also `unsplit()' to
-	  `merge_split_variables()'.
-
-2006-09-28 Thursday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (interfaces.1): file MIP_Problem.cc was added
-	  on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-28 Thursday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (interfaces.1): file MIP_Problem.defs.hh
-	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-28 Thursday 17:21  Elena Mazzi
-
-	* tests/BD_Shape/: Makefile.am (1.49), disjoint1.cc (1.1): Added
-	  new tests on the method BD_Shape::is_disjoint_from(y).
-
-2006-09-28 Thursday 17:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/disjoint1.cc (interfaces.1): file disjoint1.cc was
-	  added on branch interfaces on 2006-09-28 20:46:31 +0000
-
-2006-09-28 Thursday 17:19  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.27): Defined the method:
-	  BD_Shape::is_disjoint_from(const BD_Shape& y).
-
-2006-09-28 Thursday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/intersection1.cc (1.12): test01() never fails.
-
-2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundedaffineimage1.cc (altnum.1): file
-	  boundedaffineimage1.cc was added on branch altnum on 2006-10-29
-	  19:27:27 +0000
-
-2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundedaffineimage1.cc (interfaces.1): file
-	  boundedaffineimage1.cc was added on branch interfaces on
-	  2006-09-28 20:46:31 +0000
-
-2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundedaffineimage1.cc (octagons.1): file
-	  boundedaffineimage1.cc was added on branch octagons on 2006-11-18
-	  20:36:56 +0000
-
-2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundedaffinepreimage1.cc (altnum.1): file
-	  boundedaffinepreimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:27 +0000
-
-2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundedaffinepreimage1.cc (interfaces.1): file
-	  boundedaffinepreimage1.cc was added on branch interfaces on
-	  2006-09-28 20:46:31 +0000
-
-2006-09-28 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundedaffinepreimage1.cc (octagons.1): file
-	  boundedaffinepreimage1.cc was added on branch octagons on
-	  2006-11-18 20:36:56 +0000
-
-2006-09-28 Thursday 14:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.35), src/Grid_public.cc (1.42),
-	  tests/Grid/Makefile.am (1.42), tests/Grid/boundedaffineimage1.cc
-	  (1.1), tests/Grid/boundedaffinepreimage1.cc (1.1): Added methods
-	  bounded_affine_image() and bounded_affine_preimage() for Grids
-	  and tests to test them.
-
-2006-09-28 Thursday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/intersection1.cc (1.11): Print also known_result
-	  in test01().
-
-2006-09-28 Thursday 11:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_Expression.defs.hh (1.32): Removed annoying trailing
-	  whitespace.
-
-2006-09-28 Thursday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/membytes1.cc (1.11): test02() should never fail.
-
-2006-09-28 Thursday 06:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/Makefile.am (1.4): Disable valgrind
-	  checking.
-
-2006-09-28 Thursday 06:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/Makefile.am (interfaces.1): file
-	  Makefile.am was added on branch interfaces on 2006-09-28 20:46:32
-	  +0000
-
-2006-09-27 Wednesday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/Makefile.am (1.48): Disable valgrind checking.
-
-2006-09-27 Wednesday 18:45  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.17), MIP_Problem.defs.hh (1.12):
-	  solve_mip() and is_mip_satisfiable() declared static.  Avoided a
-	  lot of copies involed when a mip problem has to be solved /
-	  checked for satisfiability. Added a sketch of code in OK() that
-	  has to proof the satisfiability of a solution found that is
-	  constrained to have integer coefficients.
-
-2006-09-27 Wednesday 16:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.34), src/Grid_public.cc (1.41),
-	  tests/Grid/Makefile.am (1.41),
-	  tests/Grid/generalizedaffineimage3.cc (1.1),
-	  tests/Grid/generalizedaffinepreimage3.cc (1.1): Added an
-	  implementation for generalizedaffineimage() and
-	  generalizedaffinepreimage() in the case that resym is not EQUAL.
-	  Added tests to test this.
-
-2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffineimage3.cc (altnum.1): file
-	  generalizedaffineimage3.cc was added on branch altnum on
-	  2006-10-29 19:27:28 +0000
-
-2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffineimage3.cc (interfaces.1): file
-	  generalizedaffineimage3.cc was added on branch interfaces on
-	  2006-09-28 20:46:31 +0000
-
-2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffineimage3.cc (octagons.1): file
-	  generalizedaffineimage3.cc was added on branch octagons on
-	  2006-11-18 20:36:56 +0000
-
-2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffinepreimage3.cc (altnum.1): file
-	  generalizedaffinepreimage3.cc was added on branch altnum on
-	  2006-10-29 19:27:28 +0000
-
-2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffinepreimage3.cc (interfaces.1): file
-	  generalizedaffinepreimage3.cc was added on branch interfaces on
-	  2006-09-28 20:46:31 +0000
-
-2006-09-27 Wednesday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffinepreimage3.cc (octagons.1): file
-	  generalizedaffinepreimage3.cc was added on branch octagons on
-	  2006-11-18 20:36:56 +0000
-
-2006-09-26 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Makefile.am (1.8), interfaces/C/Makefile.am (1.24),
-	  interfaces/Prolog/SWI/Makefile.am (1.61),
-	  tests/BD_Shape/Makefile.am (1.47),
-	  tests/Octagonal_Shape/Makefile.am (1.3): Typos fixed.
-
-2006-09-26 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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-26 Tuesday 19:07  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.53): Fixed a bug in
-	  `maybe_check_results': no_optimization flag was not properly
-	  handled.
-
-2006-09-26 Tuesday 18:56  Andrea Cimino
-
-	* src/MIP_Problem.inlines.hh (1.10): Copy operator fixed.
-
-2006-09-26 Tuesday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.inlines.hh (interfaces.1): file
-	  MIP_Problem.inlines.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-26 Tuesday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.82): In method OK(), do not attempt
-	  minimizing the constraint description, unless the constraints are
-	  claimed to be already minimized (so as to check for the
-	  correctness of the claim) or if explicitly required to check for
-	  emptyness.
-
-2006-09-26 Tuesday 15:16  quartieri
-
-	* tests/Octagonal_Shape/containsintegerpoint1.cc (1.2): Added some
-	  tests on the method bool
-	  Octagonal_Shape<T>::contains_integer_point() const.
-
-2006-09-26 Tuesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/containsintegerpoint1.cc (altnum.1): file
-	  containsintegerpoint1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-26 Tuesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/containsintegerpoint1.cc (interfaces.1):
-	  file containsintegerpoint1.cc was added on branch interfaces on
-	  2006-09-28 20:46:32 +0000
-
-2006-09-26 Tuesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/containsintegerpoint1.cc (octagons.1): file
-	  containsintegerpoint1.cc was added on branch octagons on
-	  2006-11-18 20:36:59 +0000
-
-2006-09-26 Tuesday 10:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: affineimage2.cc (1.9), generalizedaffineimage1.cc
-	  (1.11), generalizedaffineimage2.cc (1.10),
-	  generalizedaffinepreimage1.cc (1.13),
-	  generalizedaffinepreimage2.cc (1.13): Updated for the revisions
-	  to the methods generalized_affine_image() and
-	  generalized_affine_preimage().
-
-2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affineimage2.cc (altnum.1): file affineimage2.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffineimage1.cc (altnum.1): file
-	  generalizedaffineimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:28 +0000
-
-2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffineimage2.cc (altnum.1): file
-	  generalizedaffineimage2.cc was added on branch altnum on
-	  2006-10-29 19:27:28 +0000
-
-2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffinepreimage1.cc (altnum.1): file
-	  generalizedaffinepreimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:28 +0000
-
-2006-09-26 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffinepreimage2.cc (altnum.1): file
-	  generalizedaffinepreimage2.cc was added on branch altnum on
-	  2006-10-29 19:27:28 +0000
-
-2006-09-26 Tuesday 10:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Grid.defs.hh (1.33), Grid_public.cc (1.40): Revised
-	  generalized_affime_image() and generalized_affime_preimage() for
-	  the Grid domain to include the relation symbol.  Current version
-	  only handles the case when this is EQUAL which also denotes a
-	  congruence relation.	The default value for the modulus is now
-	  zero.
-
-2006-09-26 Tuesday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.5): Debugging declarations commented
-	  out.
-
-2006-09-26 Tuesday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (interfaces.1): file
-	  Any_Pointset.defs.hh was added on branch interfaces on 2006-09-28
-	  20:46:28 +0000
-
-2006-09-26 Tuesday 10:21  Andrea Cimino
-
-	* demos/ppl_lpsol/: Makefile.am (1.31), ppl_lpsol.c (1.52):
-	  ppl_lpsol modified to use the MIP_Problem class instead of
-	  LP_Problem. Now ppl_lpsol can handle also MIP problems optimizing
-	  them and finding feasible points.
-
-2006-09-25 Monday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.4): More methods added.
-
-2006-09-25 Monday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.80), BD_Shape.inlines.hh (1.132),
-	  Octagonal_Shape.defs.hh (1.10), Octagonal_Shape.inlines.hh (1.7):
-	  Added BD_Shape::is_topologically_closed() and
-	  Octagonal_Shape::is_topologically_closed().
-
-2006-09-25 Monday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (interfaces.1): file
-	  Octagonal_Shape.defs.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-25 Monday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.inlines.hh (interfaces.1): file
-	  Octagonal_Shape.inlines.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-25 Monday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.79), BD_Shape.templates.hh (1.26),
-	  Octagonal_Shape.defs.hh (1.9), Octagonal_Shape.templates.hh
-	  (1.21): Added declarations and fake implementations of
-	  BD_Shape::is_disjoint_from(),
-	  Octagonal_Shape::is_disjoint_from(), BD_Shape::is_discrete() and
-	  Octagonal_Shape::is_discrete().
-
-2006-09-25 Monday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (interfaces.1): file
-	  Octagonal_Shape.templates.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-25 Monday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.80): Comments revised.
-
-2006-09-25 Monday 19:45  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.16): Fixed a bug: if we are solving real
-	  MIP problems, remember to always store a feasible point. This
-	  avoids a bug shown if a problem is unbounded and we are asked for
-	  a feasible point.
-
-2006-09-25 Monday 13:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.157), ppl_c.h.in (1.68): Added
-	  ascii_dump functions to the C interface.
-
-2006-09-25 Monday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.51): Added 'r' to OPTION_LETTERS.
-
-2006-09-25 Monday 11:56  Elena Mazzi
-
-	* tests/BD_Shape/timeelapse1.cc (1.15): Renamed the variables `oc'
-	  with `bd' in many tests.
-
-2006-09-25 Monday 11:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/iterator_to_const.defs.hh (1.3): Documentation of class
-	  iterator_to_const revised.
-
-2006-09-25 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.defs.hh (altnum.1): file
-	  iterator_to_const.defs.hh was added on branch altnum on
-	  2006-10-29 19:27:15 +0000
-
-2006-09-25 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.defs.hh (interfaces.1): file
-	  iterator_to_const.defs.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-25 Monday 11:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.defs.hh (octagons.1): file
-	  iterator_to_const.defs.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-09-24 Sunday 23:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.3): Debugging code commented out.
-
-2006-09-24 Sunday 23:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.defs.hh (1.2): Added more methods to
-	  Any_Pointset and its subclasses.
-
-2006-09-24 Sunday 21:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/MIP_Problem.defs.hh (1.11): Declarations of integer variables
-	  get/add methods moved to better places; drafted documentation for
-	  the setting of integer variables.
-
-2006-09-24 Sunday 21:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.50): Optimization modes are
-	  specified at library level, not inside LP_Problem class.
-
-2006-09-24 Sunday 21:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.156), ppl_c.h.in (1.67): First draft
-	  at interfacing class MIP_Problem.
-
-2006-09-24 Sunday 18:07  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.15): If we add integer space dimensions to
-	  an unsatisfiable problem, it remains unsatisfiable.
-
-2006-09-24 Sunday 18:00  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.14): set_integer_space_dimensions() now
-	  throws a valid error message.
-
-2006-09-24 Sunday 17:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.20): Use
-	  is_additive_inverse() to improve readability in several places.
-	  Used is_even() in tight_coherence_would_make_empty().  Corrected
-	  bug in the output operator whereby the output of an octagon
-	  having integer coefficients could have been innacurate (but
-	  correct).
-
-2006-09-24 Sunday 17:56  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.13), MIP_Problem.defs.hh (1.10): void
-	  set_integer_space_dimensions(const Variables_Set& i_vars) defined
-	  and implemented.
-
-2006-09-24 Sunday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.131): Fixed is_even() and
-	  is_additive_inverse() (ROUND_IGNORE evaluates the returned Result
-	  info lazily, that is, it will happily return V_LGE ---a.k.a.
-	  "don't know"--- if returning something more precise costs one
-	  extra clock cycle).
-
-2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Any_Pointset.defs.hh (1.1), Any_Pointset.inlines.hh (1.1),
-	  Any_Pointset.types.hh (1.1), Makefile.am (1.161): Started writing
-	  the new Any_Pointset class.
-
-2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.inlines.hh (altnum.1): file
-	  Any_Pointset.inlines.hh was added on branch altnum on 2006-10-29
-	  19:27:12 +0000
-
-2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.inlines.hh (interfaces.1): file
-	  Any_Pointset.inlines.hh was added on branch interfaces on
-	  2006-09-28 20:46:28 +0000
-
-2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.inlines.hh (octagons.1): file
-	  Any_Pointset.inlines.hh was added on branch octagons on
-	  2006-11-18 20:36:50 +0000
-
-2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.types.hh (altnum.1): file Any_Pointset.types.hh
-	  was added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.types.hh (interfaces.1): file
-	  Any_Pointset.types.hh was added on branch interfaces on
-	  2006-09-28 20:46:28 +0000
-
-2006-09-24 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Any_Pointset.types.hh (octagons.1): file
-	  Any_Pointset.types.hh was added on branch octagons on 2006-11-18
-	  20:36:50 +0000
-
-2006-09-24 Sunday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.198): Added one item.
-
-2006-09-24 Sunday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/max_space_dimension.hh (1.9): Fixed
-	  Parma_Polyhedra_Library::max_space_dimension().
-
-2006-09-24 Sunday 17:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.78), BD_Shape.inlines.hh (1.130),
-	  BD_Shape.templates.hh (1.25), Octagonal_Shape.defs.hh (1.8),
-	  Octagonal_Shape.inlines.hh (1.6), Octagonal_Shape.templates.hh
-	  (1.19): Added declarations and placeholder implementations of
-	  methods total_memory_in_bytes() and external_memory_in_bytes().
-
-2006-09-24 Sunday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.24): Exploited new utility function
-	  is_additive_inverse() to improve readability.
-
-2006-09-24 Sunday 16:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.129): Added utility functions bool
-	  is_even(m) and bool is_additive_inverse(m, n) to namespace
-	  Implementation::BD_Shapes.
-
-2006-09-24 Sunday 14:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_widenings.cc (1.11): [no log message]
-
-2006-09-24 Sunday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_widenings.cc (altnum.1): file Grid_widenings.cc was
-	  added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-24 Sunday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (1.39), tests/Grid/containsintegerpoint1.cc
-	  (1.2): Grid::contains_integer_point() fixed.
-
-2006-09-24 Sunday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/containsintegerpoint1.cc (altnum.1): file
-	  containsintegerpoint1.cc was added on branch altnum on 2006-10-29
-	  19:27:27 +0000
-
-2006-09-24 Sunday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/containsintegerpoint1.cc (interfaces.1): file
-	  containsintegerpoint1.cc was added on branch interfaces on
-	  2006-09-28 20:46:31 +0000
-
-2006-09-24 Sunday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/containsintegerpoint1.cc (octagons.1): file
-	  containsintegerpoint1.cc was added on branch octagons on
-	  2006-11-18 20:36:56 +0000
-
-2006-09-24 Sunday 13:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/: Makefile.am (1.40), containsintegerpoint1.cc (1.1),
-	  onepoint1.cc (1.2): Test program renamed.  Comment revised.
-
-2006-09-24 Sunday 13:50  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.49): Some improvements when
-	  `no-optimization' is involved.  Now the enumeration solving
-	  method accepts the `no-optimization' parameter. Some fixes in
-	  maybe_check_result(): do not forget that the `no_optimization'
-	  flag exists.
-
-2006-09-24 Sunday 12:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.32), src/Grid.templates.hh (1.20),
-	  src/Grid_public.cc (1.38), tests/Grid/Makefile.am (1.39),
-	  tests/Grid/onepoint1.cc (1.1): Revised comment in
-	  src/Grid.templates.hh Added Grid::contains_integer_point()
-	  method.
-
-2006-09-24 Sunday 12:24  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.12), MIP_Problem.defs.hh (1.9),
-	  MIP_Problem.inlines.hh (1.9): Moved all throwing exceptions
-	  methods from MIP_Problems.inlines.hh to MIP_Problems.cc, removing
-	  the `inline' directive for each method.  Added the method `const
-	  Variables_Set& integer_space_dimensions() const'.
-
-2006-09-24 Sunday 11:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/writeoctagon1.cc (1.2): New test test04()
-	  shows an inaccuracy of the output procedure when dealing with
-	  octagons having integer coefficients.
-
-2006-09-24 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/writeoctagon1.cc (altnum.1): file
-	  writeoctagon1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-24 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/writeoctagon1.cc (interfaces.1): file
-	  writeoctagon1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-24 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/writeoctagon1.cc (octagons.1): file
-	  writeoctagon1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-24 Sunday 10:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: grid1.cc (1.18), grid2.cc (1.14), widening2.cc
-	  (1.7): Revised comments.
-
-2006-09-24 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/grid1.cc (altnum.1): file grid1.cc was added on branch
-	  altnum on 2006-10-29 19:27:28 +0000
-
-2006-09-24 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/grid2.cc (altnum.1): file grid2.cc was added on branch
-	  altnum on 2006-10-29 19:27:28 +0000
-
-2006-09-24 Sunday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/widening2.cc (altnum.1): file widening2.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-09-24 Sunday 10:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.197): The ask-and-tell generic construction has been
-	  reimplemented.
-
-2006-09-24 Sunday 10:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.51): Useless template function
-	  copy_compare() removed.
-
-2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Octagonal_Shape.templates.hh (1.18),
-	  Pointset_Ask_Tell.defs.hh (1.5), Pointset_Powerset.defs.hh (1.4),
-	  Polyhedron_public.cc (1.81), Polyhedron_widenings.cc (1.55):
-	  Standardize on tags: CHECKME (with no space), FIXME, and TODO are
-	  the only tags we use.
-
-2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.defs.hh (altnum.1): file
-	  Pointset_Ask_Tell.defs.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.defs.hh (interfaces.1): file
-	  Pointset_Ask_Tell.defs.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.defs.hh (octagons.1): file
-	  Pointset_Ask_Tell.defs.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-09-24 Sunday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.defs.hh (interfaces.1): file
-	  Pointset_Powerset.defs.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/append1.cc (altnum.1): file append1.cc was added
-	  on branch altnum on 2006-10-29 19:27:21 +0000
-
-2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/append1.cc (interfaces.1): file append1.cc was
-	  added on branch interfaces on 2006-09-28 20:46:31 +0000
-
-2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/append1.cc (octagons.1): file append1.cc was added
-	  on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ask_Tell.defs.hh (1.14), src/Ask_Tell.templates.hh (1.7),
-	  src/Determinate.defs.hh (1.63), src/Determinate.inlines.hh
-	  (1.54), tests/Ask_Tell/append1.cc (1.4):
-	  Ask_Tell::upper_bound_assign() now uses a basic deabsorption
-	  procedure.
-
-2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ask_Tell.templates.hh (altnum.1): file Ask_Tell.templates.hh
-	  was added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ask_Tell.templates.hh (interfaces.1): file
-	  Ask_Tell.templates.hh was added on branch interfaces on
-	  2006-09-28 20:46:28 +0000
-
-2006-09-24 Sunday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ask_Tell.templates.hh (octagons.1): file
-	  Ask_Tell.templates.hh was added on branch octagons on 2006-11-18
-	  20:36:50 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/contains1.cc (altnum.1): file contains1.cc
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/contains1.cc (interfaces.1): file
-	  contains1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/contains1.cc (octagons.1): file
-	  contains1.cc was added on branch octagons on 2006-11-18 20:36:59
-	  +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage3.cc (interfaces.1):
-	  file generalizedaffineimage3.cc was added on branch interfaces on
-	  2006-09-28 20:46:32 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage2.cc
-	  (interfaces.1): file generalizedaffinepreimage2.cc was added on
-	  branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/linearsystem1.cc (altnum.1): file
-	  linearsystem1.cc was added on branch altnum on 2006-10-29
-	  19:27:32 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/bhz03widening1.cc (altnum.1): file bhz03widening1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/congruences2.cc (altnum.1): file congruences2.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/equals1.cc (altnum.1): file equals1.cc was added on
-	  branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/foldspacedims1.cc (altnum.1): file foldspacedims1.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/relations3.cc (altnum.1): file relations3.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/relations3.cc (octagons.1): file relations3.cc was
-	  added on branch octagons on 2006-11-18 20:36:57 +0000
-
-2006-09-24 Sunday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/track_allocation.hh (1.19),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.47),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.40),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.96),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.126),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.120),
-	  tests/Ask_Tell/append1.cc (1.3),
-	  tests/BD_Shape/addconstraints1.cc (1.15),
-	  tests/BD_Shape/affinepreimage1.cc (1.16),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.17),
-	  tests/Grid/bhz03widening1.cc (1.11), tests/Grid/congruences2.cc
-	  (1.4), tests/Grid/equals1.cc (1.11), tests/Grid/foldspacedims1.cc
-	  (1.10), tests/Grid/grid1.cc (1.17), tests/Grid/relations2.cc
-	  (1.13), tests/Grid/relations3.cc (1.5),
-	  tests/Octagonal_Shape/contains1.cc (1.2),
-	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.2),
-	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.2),
-	  tests/Polyhedron/bhz03widening1.cc (1.12),
-	  tests/Polyhedron/linearsystem1.cc (1.7),
-	  tests/Polyhedron/polyhull1.cc (1.9): Spelling corrections.
-
-2006-09-24 Sunday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.38): Added template <typename PH> void
-	  print_constraints(const Pointset_Ask_Tell<PH>&, const
-	  std::string&, std::ostream&).
-
-2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: FCAIBVP.defs.hh (1.2), FCAIBVP.inlines.hh (1.2): Added
-	  methods  void weakening_assign(const FCAIBVP&) and static bool
-	  has_nontrivial_weakening().
-
-2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.defs.hh (altnum.1): file FCAIBVP.defs.hh was added
-	  on branch altnum on 2006-10-29 19:27:21 +0000
-
-2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.defs.hh (interfaces.1): file FCAIBVP.defs.hh was
-	  added on branch interfaces on 2006-09-28 20:46:30 +0000
-
-2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.inlines.hh (altnum.1): file FCAIBVP.inlines.hh was
-	  added on branch altnum on 2006-10-29 19:27:21 +0000
-
-2006-09-24 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.inlines.hh (interfaces.1): file FCAIBVP.inlines.hh
-	  was added on branch interfaces on 2006-09-28 20:46:30 +0000
-
-2006-09-23 Saturday 23:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Octagonal_Shape/: Makefile.am (1.2),
-	  containsintegerpoint1.cc (1.1): Added new test for
-	  Octagonal_Shape::contains_integer_points().
-
-2006-09-23 Saturday 23:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh (1.7), Octagonal_Shape.templates.hh
-	  (1.17): Added new method   bool
-	  Octagonal_Shape::contains_integer_points() const.
-
-2006-09-23 Saturday 22:34  Andrea Cimino
-
-	* src/MIP_Problem.inlines.hh (1.8): Other little formatting
-	  changes.  Removed an useless comment.
-
-2006-09-23 Saturday 22:29  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.11), MIP_Problem.inlines.hh (1.7): Better
-	  handled MIP_Problem `status' to avoid useless computations. Minor
-	  stylistic changes.
-
-2006-09-23 Saturday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.198): Spelling corrections.
-
-2006-09-23 Saturday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.199), STANDARDS (1.35): Spelling corrections.
-
-2006-09-23 Saturday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron_widenings.cc (1.54), checked_int.inlines.hh
-	  (1.55): Identifiers improved.
-
-2006-09-23 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.23): Renamed a couple of
-	  identifiers.
-
-2006-09-23 Saturday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.10): Revised the woring of a couple of
-	  comments.
-
-2006-09-23 Saturday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.22): Updated.
-
-2006-09-23 Saturday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.31), Grid_conversion.cc (1.17),
-	  Grid_simplify.cc (1.29): Got rid of tracing code that was
-	  cluttering the sources.
-
-2006-09-23 Saturday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_conversion.cc (altnum.1): file Grid_conversion.cc was
-	  added on branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-09-23 Saturday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_simplify.cc (altnum.1): file Grid_simplify.cc was added
-	  on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-23 Saturday 17:53  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.9): Fixed a couple of bugs in
-	  is_mip_satisfiable() and solve_mip().
-
-2006-09-23 Saturday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid.templates.hh (1.19), Grid_Generator.cc (1.18),
-	  Grid_conversion.cc (1.16), Grid_public.cc (1.37): Use `tmp' to
-	  denote a temporary: neither `tem' nor `temp'.
-
-2006-09-23 Saturday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.cc (altnum.1): file Grid_Generator.cc was
-	  added on branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-09-23 Saturday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.53): Use square brackets for
-	  literature citations.
-
-2006-09-23 Saturday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.48): The command parser now
-	  recognizes the --no-mip (-r) option: this allows to consider
-	  integer variables as real variables.
-
-2006-09-23 Saturday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.198), TODO (1.196), interfaces/C/ppl_c.cc (1.155),
-	  interfaces/C/ppl_c.h.in (1.66),
-	  interfaces/Prolog/Prolog_interface.dox (1.156),
-	  interfaces/Prolog/ppl_prolog.icc (1.180),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.23),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.92),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.95),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.125),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.50),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.92),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.27),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.119), src/BD_Shape.defs.hh
-	  (1.77), src/Polyhedron.defs.hh (1.307): Added C and Prolog
-	  interfaces for Polyhedron::contains_integer_point().
-	  Documentation improved.  Added remainders to NEWS and TODO.
-
-2006-09-23 Saturday 16:01  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.8), MIP_Problem.defs.hh (1.8),
-	  MIP_Problem.inlines.hh (1.6): Implemented is_satisfiable() for
-	  real MIP Problems in a more efficient way.
-
-2006-09-23 Saturday 14:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.22): Minor readability improvements
-	  to contains_integer_point(), as well as correcting a typo
-	  resulting in a bug.
-
-2006-09-23 Saturday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.27), Watchdog/ChangeLog (1.16): Updated.
-
-2006-09-23 Saturday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: LP_Problem.cc (1.35), MIP_Problem.cc (1.7),
-	  Octagonal_Shape.templates.hh (1.16): Avoid unnecessary (and
-	  silly) abbreviations.
-
-2006-09-23 Saturday 13:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.46), containsintegerpoint1.cc
-	  (1.1): Added simple test for method contains_integer_point().
-
-2006-09-23 Saturday 13:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/containsintegerpoint1.cc (altnum.1): file
-	  containsintegerpoint1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-09-23 Saturday 13:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/containsintegerpoint1.cc (interfaces.1): file
-	  containsintegerpoint1.cc was added on branch interfaces on
-	  2006-09-28 20:46:31 +0000
-
-2006-09-23 Saturday 13:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/containsintegerpoint1.cc (octagons.1): file
-	  containsintegerpoint1.cc was added on branch octagons on
-	  2006-11-18 20:36:56 +0000
-
-2006-09-23 Saturday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.76), BD_Shape.templates.hh (1.21):
-	  Added declaration and tentative implementation of method   bool
-	  BD_Shape<T>::contains_integer_point() const.
-
-2006-09-23 Saturday 13:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.15): Avoid pleonastic
-	  comments.
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.cc (altnum.1): file Congruence.cc was added on
-	  branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.cc (altnum.1): file Congruence_System.cc
-	  was added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.defs.hh (altnum.1): file
-	  Congruence_System.defs.hh was added on branch altnum on
-	  2006-10-29 19:27:12 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.inlines.hh (altnum.1): file
-	  Direct_Product.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:12 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.inlines.hh (octagons.1): file
-	  Direct_Product.inlines.hh was added on branch octagons on
-	  2006-11-18 20:36:50 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Certificate.cc (altnum.1): file Grid_Certificate.cc was
-	  added on branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator_System.cc (altnum.1): file
-	  Grid_Generator_System.cc was added on branch altnum on 2006-10-29
-	  19:27:13 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Status.cc (altnum.1): file Grid_Status.cc was added on
-	  branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_chdims.cc (altnum.1): file Grid_chdims.cc was added on
-	  branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_nonpublic.cc (altnum.1): file Grid_nonpublic.cc was
-	  added on branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (interfaces.1): file OR_Matrix.defs.hh was
-	  added on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.templates.hh (interfaces.1): file
-	  OR_Matrix.templates.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Og_Status.idefs.hh (altnum.1): file Og_Status.idefs.hh was
-	  added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Og_Status.idefs.hh (interfaces.1): file Og_Status.idefs.hh
-	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Og_Status.inlines.hh (altnum.1): file Og_Status.inlines.hh
-	  was added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Og_Status.inlines.hh (interfaces.1): file
-	  Og_Status.inlines.hh was added on branch interfaces on 2006-09-28
-	  20:46:29 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.templates.hh (altnum.1): file
-	  Pointset_Ask_Tell.templates.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.templates.hh (interfaces.1): file
-	  Pointset_Ask_Tell.templates.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.templates.hh (octagons.1): file
-	  Pointset_Ask_Tell.templates.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.templates.hh (interfaces.1): file
-	  Pointset_Powerset.templates.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_numeric_limits.hh (altnum.1): file mp_numeric_limits.hh
-	  was added on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/namespaces.hh (altnum.1): file namespaces.hh was added on
-	  branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BDS_Status.inlines.hh (1.14), BD_Shape.cc (1.3),
-	  BD_Shape.defs.hh (1.75), BD_Shape.inlines.hh (1.128),
-	  BD_Shape.templates.hh (1.20), Bounding_Box.defs.hh (1.15),
-	  Checked_Number.defs.hh (1.79), Congruence.cc (1.13),
-	  Congruence.inlines.hh (1.12), Congruence_System.cc (1.20),
-	  Congruence_System.defs.hh (1.16), Constraint_System.cc (1.19),
-	  Constraint_System.defs.hh (1.33), DB_Matrix.defs.hh (1.24),
-	  DB_Matrix.templates.hh (1.2), Direct_Product.inlines.hh (1.26),
-	  Generator_System.cc (1.19), Generator_System.defs.hh (1.20),
-	  Grid.defs.hh (1.30), Grid.templates.hh (1.18),
-	  Grid_Certificate.cc (1.5), Grid_Generator_System.cc (1.15),
-	  Grid_Status.cc (1.5), Grid_chdims.cc (1.13), Grid_conversion.cc
-	  (1.15), Grid_nonpublic.cc (1.20), Grid_public.cc (1.36),
-	  Grid_simplify.cc (1.28), Grid_widenings.cc (1.10), LP_Problem.cc
-	  (1.34), LP_Problem.defs.hh (1.23), Linear_System.cc (1.39),
-	  Linear_System.defs.hh (1.28), MIP_Problem.cc (1.6),
-	  MIP_Problem.defs.hh (1.7), Matrix.cc (1.94), OR_Matrix.defs.hh
-	  (1.5), OR_Matrix.templates.hh (1.3), Octagonal_Shape.defs.hh
-	  (1.6), Octagonal_Shape.templates.hh (1.14), Og_Status.idefs.hh
-	  (1.5), Og_Status.inlines.hh (1.3), Ph_Status.cc (1.11),
-	  Pointset_Ask_Tell.defs.hh (1.4), Pointset_Ask_Tell.templates.hh
-	  (1.6), Pointset_Powerset.defs.hh (1.3),
-	  Pointset_Powerset.templates.hh (1.4), Polyhedron_nonpublic.cc
-	  (1.67), Polyhedron_public.cc (1.80), Powerset.defs.hh (1.28),
-	  Saturation_Matrix.cc (1.10), Saturation_Row.cc (1.11),
-	  Saturation_Row.defs.hh (1.11), checked.inlines.hh (1.32),
-	  checked_int.inlines.hh (1.54), conversion.cc (1.78),
-	  fpu-ia32.inlines.hh (1.14), mp_numeric_limits.hh (1.8),
-	  namespaces.hh (1.9): Fixed lots of spelling mistakes.  Badly
-	  named variables renamed.  Long lines split.  Code formatting
-	  improvements.
-
-2006-09-23 Saturday 13:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.cc (altnum.1): file BD_Shape.cc was added on branch
-	  altnum on 2006-10-29 19:27:12 +0000
-
-2006-09-23 Saturday 12:59  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.5), MIP_Problem.inlines.hh (1.5): Cleaned
-	  solve() method.  Removed a bit of useless code in solve_mip().
-
-2006-09-23 Saturday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.195), src/Polyhedron_public.cc (1.79): A few adjustments
-	  to Polyhedron::contains_integer_point(); currently we cannot
-	  handle the case of strict inequalities.
-
-2006-09-23 Saturday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/membytes1.cc (1.10): test02() fails with 8-bit
-	  coefficients.
-
-2006-09-22 Friday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ask_Tell.inlines.hh (1.14), Ask_Tell.templates.hh (1.6),
-	  Pointset_Ask_Tell.templates.hh (1.5):
-	  Ask_Tell::upper_bound_assign() moved to Ask_Tell.templates.hh.
-	  Restored commented out code in Ask_Tell::OK().  Fixed
-	  Pointset_Ask_Tell::remove_space_dimensions().
-
-2006-09-22 Friday 20:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.306), Polyhedron_public.cc (1.78):
-	  Added a first, tentative implementation of
-	  Polyhedron::contains_integer_point().
-
-2006-09-22 Friday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.cc (1.4): Formatting fixed.
-
-2006-09-22 Friday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.templates.hh (1.19), Grid_chdims.cc (1.12),
-	  Octagonal_Shape.templates.hh (1.13), Polyhedron_chdims.cc (1.38):
-	  Use the services provided by Variables_Set.
-
-2006-09-22 Friday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.defs.hh (1.2): Fixed the documentation of
-	  Variables_Set::space_dimension().
-
-2006-09-22 Friday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.defs.hh (altnum.1): file Variables_Set.defs.hh
-	  was added on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-09-22 Friday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.defs.hh (interfaces.1): file
-	  Variables_Set.defs.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-22 Friday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.inlines.hh (1.2): Fixed
-	  Variables_Set::space_dimension().
-
-2006-09-22 Friday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.inlines.hh (altnum.1): file
-	  Variables_Set.inlines.hh was added on branch altnum on 2006-10-29
-	  19:27:15 +0000
-
-2006-09-22 Friday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.inlines.hh (interfaces.1): file
-	  Variables_Set.inlines.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-22 Friday 17:23  Andrea Cimino
-
-	* src/MIP_Problem.inlines.hh (1.4): Solved a bug in MIP_Problem.
-	  Added some tests for MIP_Problem.
-
-2006-09-22 Friday 16:45  Andrea Cimino
-
-	* src/: MIP_Problem.cc (1.3), MIP_Problem.defs.hh (1.6),
-	  MIP_Problem.inlines.hh (1.3): Implemented is_satisfiable for the
-	  `MIP' case.
-
-2006-09-22 Friday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.34): Added a point covering tests programs that
-	  require auxiliary functions.
-
-2006-09-22 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: MIP_Problem.defs.hh (1.5), MIP_Problem.templates.hh (1.5),
-	  globals.types.hh (1.8): Redundant MIP_Problem constructor
-	  removed.  Removed also the Variables_Integrality enumeration.
-
-2006-09-22 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.templates.hh (interfaces.1): file
-	  MIP_Problem.templates.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-22 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.types.hh (altnum.1): file globals.types.hh was added
-	  on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-09-22 Friday 15:41  Elena Mazzi
-
-	* tests/BD_Shape/mapspacedims1.cc (1.13): Rewritten test04 using
-	  the method BD_Shape::minimized_constraints().
-
-2006-09-22 Friday 15:40  Elena Mazzi
-
-	* tests/BD_Shape/universe1.cc (1.13): Added two new tests on the
-	  method BD_Shape::is_universe().
-
-2006-09-22 Friday 15:39  Elena Mazzi
-
-	* tests/BD_Shape/removespacedims1.cc (1.16): Added two new tests on
-	  the method BD_Shape::remove_space_dimensions() and
-	  BD_Shape::remove_higher_space_dimensions().
-
-2006-09-22 Friday 15:38  Elena Mazzi
-
-	* tests/BD_Shape/intersection1.cc (1.15): Added two new tests on
-	  the method BD_Shape::intersection_assign().
-
-2006-09-22 Friday 15:36  Elena Mazzi
-
-	* tests/BD_Shape/contains1.cc (1.13): Added two new tests on the
-	  method BD_Shape::contains().
-
-2006-09-22 Friday 15:34  Elena Mazzi
-
-	* tests/BD_Shape/bdshull1.cc (1.12): Added new test on the method
-	  BD_Shape::bds_hull_assign_and_minimize().
-
-2006-09-22 Friday 15:33  Andrea Cimino
-
-	* src/MIP_Problem.cc (1.2): Added a first implementation that
-	  handles MIP_Problems.
-
-2006-09-22 Friday 15:33  Elena Mazzi
-
-	* tests/BD_Shape/addspacedims1.cc (1.13): Added new two tests on
-	  the methods BD_Shape::add_space_dimensions_and_project() and
-	  BD_Shape::add_space_dimensions_and_embed().
-
-2006-09-22 Friday 15:28  Andrea Cimino
-
-	* src/: MIP_Problem.defs.hh (1.4), MIP_Problem.inlines.hh (1.2),
-	  MIP_Problem.templates.hh (1.4): Added a first implementation that
-	  handles MIP_Problems.
-
-2006-09-22 Friday 14:25  quartieri
-
-	* src/Octagonal_Shape.inlines.hh (1.5): Removed a redundant
-	  assertion 'assertion(OK())' in	  inline void
-	  Octagonal_Shape<T>::add_constraints().
-
-2006-09-22 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/maxspacedim1.cc (1.10): Useless stuff removed.
-	  Test more classes.
-
-2006-09-22 Friday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/matrix1.cc (altnum.1): file matrix1.cc was added
-	  on branch altnum on 2006-10-29 19:27:32 +0000
-
-2006-09-22 Friday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/matrix1.cc (1.8): test01() made self-contained.
-
-2006-09-22 Friday 13:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.99), membytes1.cc (1.9),
-	  membytes2.cc (1.8): Made membytes1.cc conformant to the PPL
-	  standards.  The test formerly in membytes2.cc is now test02() in
-	  membytes1.cc.
-
-2006-09-22 Friday 13:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/iterator_to_const.defs.hh (1.2): Restored a few access
-	  restrictions; added corresponding friend declarations.
-
-2006-09-22 Friday 12:57  quartieri
-
-	* src/Octagonal_Shape.inlines.hh (1.4): Removed a redundant
-	  assertion 'assert(OK())' in the constructor inline
-	  Octagonal_Shape<T>::Octagonal_Shape(const Constraint_System& cs).
-
-2006-09-22 Friday 12:06  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.12): Removed a redundant
-	  assertion 'assert(OK())' from the method	   void
-	  Octagonal_Shape<T>::generalized_affine_preimage().
-
-2006-09-22 Friday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: ciao_pl_check.pl (1.22), ppl_ciao.pl
-	  (1.91): Corrected a few typos.
-
-2006-09-22 Friday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.98): XFAIL_WITH_INT8 no longer
-	  includes membytes1.
-
-2006-09-22 Friday 11:16  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.11): Removed a redundant
-	  assertion 'assert(OK())' from the method	   void
-	  Octagonal_Shape<T>::generalized_affine_image().
-
-2006-09-22 Friday 08:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Ask_Tell.inlines.hh (1.13): Avoid redundant template
-	  parameter specifications.
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.74), BD_Shape.templates.hh (1.18),
-	  Direct_Product.defs.hh (1.29), Direct_Product.inlines.hh (1.25),
-	  Grid.defs.hh (1.29), Grid_Generator_System.cc (1.14),
-	  Grid_Generator_System.defs.hh (1.19), Grid_chdims.cc (1.11),
-	  MIP_Problem.defs.hh (1.3), MIP_Problem.templates.hh (1.3),
-	  Makefile.am (1.160), Octagonal_Shape.defs.hh (1.5),
-	  Pointset_Ask_Tell.defs.hh (1.3), Pointset_Ask_Tell.templates.hh
-	  (1.4), Pointset_Powerset.defs.hh (1.2),
-	  Pointset_Powerset.templates.hh (1.3), Polyhedron.defs.hh (1.305),
-	  Polyhedron_chdims.cc (1.37), Variable.cc (1.21), Variable.defs.hh
-	  (1.52), Variables_Set.cc (1.1), Variables_Set.defs.hh (1.1),
-	  Variables_Set.inlines.hh (1.1), Variables_Set.types.hh (1.1):
-	  Variables_Set is now a fully fledged class.
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.defs.hh (altnum.1): file
-	  Direct_Product.defs.hh was added on branch altnum on 2006-10-29
-	  19:27:12 +0000
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.defs.hh (octagons.1): file
-	  Direct_Product.defs.hh was added on branch octagons on 2006-11-18
-	  20:36:50 +0000
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator_System.defs.hh (altnum.1): file
-	  Grid_Generator_System.defs.hh was added on branch altnum on
-	  2006-10-29 19:27:13 +0000
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.cc (altnum.1): file Variables_Set.cc was added
-	  on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.cc (interfaces.1): file Variables_Set.cc was
-	  added on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.types.hh (altnum.1): file
-	  Variables_Set.types.hh was added on branch altnum on 2006-10-29
-	  19:27:15 +0000
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.types.hh (interfaces.1): file
-	  Variables_Set.types.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-21 Thursday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variables_Set.types.hh (octagons.1): file
-	  Variables_Set.types.hh was added on branch octagons on 2006-11-18
-	  20:36:51 +0000
-
-2006-09-21 Thursday 17:48  Elena Mazzi
-
-	* src/: BD_Shape.inlines.hh (1.127), BD_Shape.templates.hh (1.17):
-	  Moved some assertions 'assert(OK())' where they are really needed
-	  in the methods:  - void BD_Shape<T>::affine_preimage();  -
-	  BD_Shape(const dimension_type num_dimensions,       const
-	  Degenerate_Element kind).
-
-2006-09-21 Thursday 16:34  Elena Mazzi
-
-	* src/BD_Shape.inlines.hh (1.126): Removed a useless assertion
-	  'assert(OK())' from the method inline void
-	  BD_Shape<T>::add_dbm_constraint().
-
-2006-09-21 Thursday 16:05  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.10): Moved some assertions
-	  'assert(OK())' where they are needed in the method
-	  void Octagonal_Shape<T>::affine_preimage().
-
-2006-09-21 Thursday 15:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: MIP_Problem.defs.hh (1.2), MIP_Problem.templates.hh (1.2):
-	  Class documentation revised.	Added two new constructors: one
-	  takes a set of variables that are constrained to take an integer
-	  value; the other takes a shorthand concerning the integrality of
-	  all or no variables.
-
-2006-09-21 Thursday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.types.hh (1.7): New enumeration Variables_Integrality
-	  encodes assertions concerning the integrality of a set of
-	  variables.
-
-2006-09-21 Thursday 15:26  quartieri
-
-	* src/Octagonal_Shape.inlines.hh (1.3): Removed a useless assertion
-	  'assert(OK())' from the method       inline void
-	  Octagonal_Shape<T>::add_octagonal_constraint().
-
-2006-09-21 Thursday 14:45  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.9): Removed a redundant
-	  assertion 'assert(OK())' from the method     void
-	  Octagonal_Shape<T>::limited_BHMZ05_extrapolation_assign().
-
-2006-09-21 Thursday 14:04  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.8): Removed a redundant
-	  assertion 'assert(OK())' from the method	void
-	  Octagonal_Shape<T>::limited_CC76_extrapolation_assign().
-
-2006-09-21 Thursday 13:50  Andrea Cimino
-
-	* tests/Polyhedron/membytes1.cc (1.8): Modified to be compliant to
-	  the new standards.
-
-2006-09-21 Thursday 13:44  Andrea Cimino
-
-	* src/LP_Problem.defs.hh (1.22): Fixed some typos in the
-	  documentation, thanks to Sebastian Pop.
-
-2006-09-21 Thursday 13:28  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.7): Removed a redundant
-	  assertion 'assert(OK())' from the method		void
-	  Octagonal_Shape<T>::map_space_dimensions().
-
-2006-09-21 Thursday 13:19  Andrea Cimino
-
-	* tests/Polyhedron/maxspacedim1.cc (1.9): Modified to be compliant
-	  to the new standards.
-
-2006-09-21 Thursday 13:16  Andrea Cimino
-
-	* tests/Polyhedron/matrix1.cc (1.7): Modified to be compliant to
-	  the new standards.
-
-2006-09-21 Thursday 13:11  Andrea Cimino
-
-	* tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.7): Modified
-	  to be compliant to the new standards.
-
-2006-09-21 Thursday 13:08  Andrea Cimino
-
-	* tests/Polyhedron/append2.cc (1.8): Modified to be compliant to
-	  the new standards.
-
-2006-09-21 Thursday 13:04  Elena Mazzi
-
-	* src/: BD_Shape.inlines.hh (1.125), BD_Shape.templates.hh (1.16):
-	  Removed some redundant assertions `assert(OK())' from:  -
-	  concatenate_assign();  - map_space_dimensions();  -
-	  limited_CC76_extrapolation_assign();	-
-	  limited_BHMZ05_extrapolation_assign();  -
-	  generalized_affine_image();  - generalized_affine_preimage();  -
-	  BD_Shape(const Generator_System& gs);  - BD_Shape(const
-	  Constraint_System& cs).
-
-2006-09-21 Thursday 12:55  Andrea Cimino
-
-	* tests/Polyhedron/append1.cc (1.9): Modified to be compliant to
-	  the new standards.
-
-2006-09-21 Thursday 12:45  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.6): Removed a redundant
-	  assertion 'assert(OK())' from the method	   void
-	  Octagonal_Shape<T>::concatenate_assign().
-
-2006-09-21 Thursday 12:09  quartieri
-
-	* src/Octagonal_Shape.templates.hh (1.5): Removed a redundant
-	  assertion 'assert(OK())' from the constructor
-	  Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs).
-
-2006-09-21 Thursday 11:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: MIP_Problem.cc (1.1), MIP_Problem.defs.hh (1.1),
-	  MIP_Problem.inlines.hh (1.1), MIP_Problem.templates.hh (1.1),
-	  MIP_Problem.types.hh (1.1), Makefile.am (1.159): MIP_Problem
-	  files put under CVS control.
-
-2006-09-21 Thursday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.types.hh (altnum.1): file MIP_Problem.types.hh
-	  was added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-21 Thursday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.types.hh (interfaces.1): file
-	  MIP_Problem.types.hh was added on branch interfaces on 2006-09-28
-	  20:46:29 +0000
-
-2006-09-21 Thursday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/MIP_Problem.types.hh (octagons.1): file MIP_Problem.types.hh
-	  was added on branch octagons on 2006-11-18 20:36:50 +0000
-
-2006-09-21 Thursday 11:24  Andrea Cimino
-
-	* tests/Polyhedron/exceptions3.cc (1.9): Made exceptions3.cc more
-	  compliant to the new test policy.
-
-2006-09-21 Thursday 11:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.defs.hh (1.21): LP_Problem now only depends on the
-	  name of class Constraint_System.
-
-2006-09-21 Thursday 11:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.defs.hh (1.32): Removed useless friend
-	  declaration.
-
-2006-09-21 Thursday 11:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/iterator_to_const.inlines.hh (1.2): Corrected a couple of
-	  Doxygen \relates commands.
-
-2006-09-21 Thursday 11:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.inlines.hh (altnum.1): file
-	  iterator_to_const.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:15 +0000
-
-2006-09-21 Thursday 11:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.inlines.hh (interfaces.1): file
-	  iterator_to_const.inlines.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-21 Thursday 11:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.inlines.hh (octagons.1): file
-	  iterator_to_const.inlines.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-09-21 Thursday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_Expression.defs.hh (1.31): Avoid useless inclusion.
-
-2006-09-21 Thursday 11:12  Andrea Cimino
-
-	* tests/Polyhedron/exceptions2.cc (1.10): Made exceptions2.cc more
-	  compliant to the new test policy.
-
-2006-09-21 Thursday 10:46  Andrea Cimino
-
-	* tests/Polyhedron/exceptions1.cc (1.11): The exceptions tests are
-	  now more consistent to what defined in STANDARDS.
-
-2006-09-21 Thursday 10:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.76), devref.doxyconf-latex.in
-	  (1.15): Let iterator_to_const.*, Ask_Tell.* and
-	  Pointset_Ask_Tell.* files participate to the generation of the
-	  devref manuals.
-
-2006-09-21 Thursday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.defs.hh (1.20): A few further improvements to the
-	  devref documentation.
-
-2006-09-21 Thursday 10:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.defs.hh (1.19): Do not let the user assume that we
-	  solve the LP Problem by using a fixed algorithm (future releases
-	  may use a different one).
-
-2006-09-21 Thursday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.defs.hh (1.18): Corrected documentation for
-	  add_constraints.
-
-2006-09-21 Thursday 09:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.defs.hh (1.17): A few improvements to the
-	  documentation.  Declare the std::swap specialization before
-	  defining it.
-
-2006-09-21 Thursday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Pointset_Ask_Tell.defs.hh (1.2),
-	  Pointset_Ask_Tell.templates.hh (1.3): Unwanted stuff removed.
-
-2006-09-21 Thursday 07:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.defs.hh (1.16): Dratfed some initial user
-	  documentation for LP_Problem.
-
-2006-09-20 Wednesday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ask_Tell.inlines.hh (1.12), Ask_Tell.templates.hh (1.5),
-	  Pointset_Ask_Tell.templates.hh (1.2): Implemented
-	  Ask_Tell::empty(), Pointset_Ask_Tell::concatenate_assign(),
-	  Pointset_Ask_Tell::remove_space_dimensions() and
-	  Pointset_Ask_Tell::remove_higher_space_dimensions().
-
-2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (altnum.1): file powerset1.cc was
-	  added on branch altnum on 2006-10-29 19:27:32 +0000
-
-2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BBox.cc (1.12), FCAIBVP.cc (1.1), FCAIBVP.defs.hh (1.1),
-	  FCAIBVP.inlines.hh (1.1), FCAIBVP.types.hh (1.1), Makefile.am
-	  (1.258), Partial_Function.cc (1.3), ppl_test.hh (1.50),
-	  Ask_Tell/append1.cc (1.2), Polyhedron/powerset1.cc (1.18): New
-	  test class FCAIBVP used to factorize some common code.  Missing
-	  inclusions added.
-
-2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.cc (altnum.1): file FCAIBVP.cc was added on branch
-	  altnum on 2006-10-29 19:27:21 +0000
-
-2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.cc (interfaces.1): file FCAIBVP.cc was added on
-	  branch interfaces on 2006-09-28 20:46:30 +0000
-
-2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.types.hh (altnum.1): file FCAIBVP.types.hh was
-	  added on branch altnum on 2006-10-29 19:27:21 +0000
-
-2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.types.hh (interfaces.1): file FCAIBVP.types.hh was
-	  added on branch interfaces on 2006-09-28 20:46:30 +0000
-
-2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/FCAIBVP.types.hh (octagons.1): file FCAIBVP.types.hh was
-	  added on branch octagons on 2006-11-18 20:36:53 +0000
-
-2006-09-20 Wednesday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partial_Function.cc (altnum.1): file Partial_Function.cc
-	  was added on branch altnum on 2006-10-29 19:27:21 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/.cvsignore (altnum.1): file .cvsignore was added
-	  on branch altnum on 2006-10-29 19:27:21 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/.cvsignore (interfaces.1): file .cvsignore was
-	  added on branch interfaces on 2006-09-28 20:46:31 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/.cvsignore (octagons.1): file .cvsignore was added
-	  on branch octagons on 2006-11-18 20:36:55 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/.cvsignore (simplex.1): file .cvsignore was added
-	  on branch simplex on 2008-01-07 11:15:35 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/Makefile.am (altnum.1): file Makefile.am was added
-	  on branch altnum on 2006-10-29 19:27:21 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/Makefile.am (interfaces.1): file Makefile.am was
-	  added on branch interfaces on 2006-09-28 20:46:31 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Ask_Tell/Makefile.am (octagons.1): file Makefile.am was
-	  added on branch octagons on 2006-11-18 20:36:55 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.cc (altnum.1): file Pointset_Ask_Tell.cc
-	  was added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.cc (interfaces.1): file
-	  Pointset_Ask_Tell.cc was added on branch interfaces on 2006-09-28
-	  20:46:29 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.cc (octagons.1): file Pointset_Ask_Tell.cc
-	  was added on branch octagons on 2006-11-18 20:36:51 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.inlines.hh (altnum.1): file
-	  Pointset_Ask_Tell.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.inlines.hh (interfaces.1): file
-	  Pointset_Ask_Tell.inlines.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.inlines.hh (octagons.1): file
-	  Pointset_Ask_Tell.inlines.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.types.hh (altnum.1): file
-	  Pointset_Ask_Tell.types.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.types.hh (interfaces.1): file
-	  Pointset_Ask_Tell.types.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Ask_Tell.types.hh (octagons.1): file
-	  Pointset_Ask_Tell.types.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.cc (altnum.1): file Pointset_Powerset.cc
-	  was added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.cc (interfaces.1): file
-	  Pointset_Powerset.cc was added on branch interfaces on 2006-09-28
-	  20:46:29 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.inlines.hh (interfaces.1): file
-	  Pointset_Powerset.inlines.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.types.hh (altnum.1): file
-	  iterator_to_const.types.hh was added on branch altnum on
-	  2006-10-29 19:27:15 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.types.hh (interfaces.1): file
-	  iterator_to_const.types.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/iterator_to_const.types.hh (octagons.1): file
-	  iterator_to_const.types.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-09-20 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.197), configure.ac (1.236), src/Ask_Tell.defs.hh (1.13),
-	  src/Ask_Tell.templates.hh (1.4), src/Makefile.am (1.158),
-	  src/Pointset_Ask_Tell.cc (1.1), src/Pointset_Ask_Tell.defs.hh
-	  (1.1), src/Pointset_Ask_Tell.inlines.hh (1.1),
-	  src/Pointset_Ask_Tell.templates.hh (1.1),
-	  src/Pointset_Ask_Tell.types.hh (1.1), src/Pointset_Powerset.cc
-	  (1.2), src/Pointset_Powerset.inlines.hh (1.2),
-	  src/Pointset_Powerset.templates.hh (1.2), src/Powerset.defs.hh
-	  (1.27), src/Powerset.inlines.hh (1.18),
-	  src/iterator_to_const.defs.hh (1.1),
-	  src/iterator_to_const.inlines.hh (1.1),
-	  src/iterator_to_const.types.hh (1.1), tests/Makefile.am (1.257),
-	  tests/Ask_Tell/.cvsignore (1.1), tests/Ask_Tell/Makefile.am
-	  (1.1), tests/Ask_Tell/append1.cc (1.1),
-	  tests/Polyhedron/powerset1.cc (1.17): The classes
-	  Powerset::omega_iterator and Powerset::omega_const_iterator have
-	  been replaced by the classes template <typename Container>
-	  iterator_to_const and template <typename Container> const
-	  iterator_to_const.  Implementation of the Ask_Tell class is
-	  almost complete.  Added a first sketch (mostly obtained by
-	  copy-and-paste) of the new class Pointset_Ask_Tell.
-
-2006-09-20 Wednesday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: ppl_xsb.H (1.49), ppl_xsb.cc (1.91),
-	  xsb_pl_check.P (1.26): Adapted to the chnages in the LP_Problem
-	  interface.
-
-2006-09-20 Wednesday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/timings.cc (1.7): Fixed a bug in print_clock().
-
-2006-09-20 Wednesday 09:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.196): Added a short description of the new features
-	  provided by LP_Problem.
-
-2006-09-20 Wednesday 09:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.47): Adapted to the new LP_Problem
-	  interface.
-
-2006-09-20 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.15),
-	  src/Octagonal_Shape.templates.hh (1.4),
-	  src/Polyhedron.templates.hh (1.3), src/Polyhedron_nonpublic.cc
-	  (1.66), interfaces/C/ppl_c.cc (1.154), interfaces/C/ppl_c.h.in
-	  (1.65), interfaces/Prolog/Prolog_interface.dox (1.155),
-	  interfaces/Prolog/ppl_prolog.icc (1.179),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.21),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.90),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.61),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.94),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.124),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.118),
-	  interfaces/Prolog/tests/pl_check.pl (1.32): Adapted to the new
-	  LP_Problem interface.
-
-2006-09-20 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Makefile.am (1.157): Do consider new source file
-	  LP_Problem.templates.hh.
-
-2006-09-20 Wednesday 09:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LP_Problem.cc (1.33), LP_Problem.defs.hh (1.15),
-	  LP_Problem.inlines.hh (1.11), LP_Problem.templates.hh (1.1): The
-	  constructors of LP_Problem now take the space dimension as an
-	  explicit argument. Exception thrown if this exceeds the maximum
-	  allowed space dim.  Adding a constraint no longer automatically
-	  adjusts space dimensions; exception thrown if the space dimension
-	  of the constraint exceeds that of the LP_Problem; the latter can
-	  be extended by new method add_space_dimensions_and_embed.  Method
-	  constraints() returning (a copy of) the constraint system
-	  defining the feasible region replaced by const_iterator's
-	  (constraints_begin() and constraints_end()). Also added a
-	  templatic method that adds a sequence of constraints using
-	  iterators.
-
-2006-09-20 Wednesday 09:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.templates.hh (interfaces.1): file
-	  LP_Problem.templates.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-20 Wednesday 08:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.16): Work around bugs in GCC
-	  3.3.3.
-
-2006-09-19 Tuesday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.195): Introduce the new Octagonal_Shape class.
-
-2006-09-19 Tuesday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (1.3): Indentation fixes.  Never
-	  leave an operator at end of line.  Useless inclusions removed.
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage1.cc (interfaces.1): file
-	  affineimage1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage2.cc (altnum.1): file
-	  affineimage2.cc was added on branch altnum on 2006-10-29 19:27:31
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage2.cc (interfaces.1): file
-	  affineimage2.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affineimage2.cc (octagons.1): file
-	  affineimage2.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinepreimage1.cc (interfaces.1): file
-	  affinepreimage1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinepreimage2.cc (altnum.1): file
-	  affinepreimage2.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinepreimage2.cc (interfaces.1): file
-	  affinepreimage2.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinepreimage2.cc (octagons.1): file
-	  affinepreimage2.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/ascii_dump_load1.cc (altnum.1): file
-	  ascii_dump_load1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/ascii_dump_load1.cc (interfaces.1): file
-	  ascii_dump_load1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/ascii_dump_load1.cc (octagons.1): file
-	  ascii_dump_load1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bhmz05widening1.cc (interfaces.1): file
-	  bhmz05widening1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bhz03widening1.cc (altnum.1): file
-	  bhz03widening1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bhz03widening1.cc (interfaces.1): file
-	  bhz03widening1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bhz03widening1.cc (octagons.1): file
-	  bhz03widening1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bounded1.cc (altnum.1): file bounded1.cc
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bounded1.cc (interfaces.1): file
-	  bounded1.cc was added on branch interfaces on 2006-09-28 20:46:32
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/bounded1.cc (octagons.1): file bounded1.cc
-	  was added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/cc76extrapolation1.cc (interfaces.1): file
-	  cc76extrapolation1.cc was added on branch interfaces on
-	  2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/cc76narrowing1.cc (interfaces.1): file
-	  cc76narrowing1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/chinainit.cc (altnum.1): file chinainit.cc
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/chinainit.cc (interfaces.1): file
-	  chinainit.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/chinainit.cc (octagons.1): file
-	  chinainit.cc was added on branch octagons on 2006-11-18 20:36:59
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/concatenate1.cc (altnum.1): file
-	  concatenate1.cc was added on branch altnum on 2006-10-29 19:27:31
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/concatenate1.cc (interfaces.1): file
-	  concatenate1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/concatenate1.cc (octagons.1): file
-	  concatenate1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/constraints1.cc (altnum.1): file
-	  constraints1.cc was added on branch altnum on 2006-10-29 19:27:31
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/constraints1.cc (interfaces.1): file
-	  constraints1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/constraints1.cc (octagons.1): file
-	  constraints1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/empty1.cc (altnum.1): file empty1.cc was
-	  added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/empty1.cc (interfaces.1): file empty1.cc
-	  was added on branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/empty1.cc (octagons.1): file empty1.cc was
-	  added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/fromgensys1.cc (altnum.1): file
-	  fromgensys1.cc was added on branch altnum on 2006-10-29 19:27:31
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/fromgensys1.cc (interfaces.1): file
-	  fromgensys1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/fromgensys1.cc (octagons.1): file
-	  fromgensys1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/frompolyhedron1.cc (altnum.1): file
-	  frompolyhedron1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/frompolyhedron1.cc (interfaces.1): file
-	  frompolyhedron1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/frompolyhedron1.cc (octagons.1): file
-	  frompolyhedron1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage1.cc (altnum.1): file
-	  generalizedaffineimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage1.cc (interfaces.1):
-	  file generalizedaffineimage1.cc was added on branch interfaces on
-	  2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage1.cc (octagons.1):
-	  file generalizedaffineimage1.cc was added on branch octagons on
-	  2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage2.cc (altnum.1): file
-	  generalizedaffineimage2.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage2.cc (interfaces.1):
-	  file generalizedaffineimage2.cc was added on branch interfaces on
-	  2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage2.cc (octagons.1):
-	  file generalizedaffineimage2.cc was added on branch octagons on
-	  2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage4.cc (altnum.1): file
-	  generalizedaffineimage4.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage4.cc (interfaces.1):
-	  file generalizedaffineimage4.cc was added on branch interfaces on
-	  2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage4.cc (octagons.1):
-	  file generalizedaffineimage4.cc was added on branch octagons on
-	  2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage5.cc (altnum.1): file
-	  generalizedaffineimage5.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage5.cc (interfaces.1):
-	  file generalizedaffineimage5.cc was added on branch interfaces on
-	  2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffineimage5.cc (octagons.1):
-	  file generalizedaffineimage5.cc was added on branch octagons on
-	  2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage1.cc
-	  (interfaces.1): file generalizedaffinepreimage1.cc was added on
-	  branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage3.cc
-	  (interfaces.1): file generalizedaffinepreimage3.cc was added on
-	  branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage4.cc (altnum.1):
-	  file generalizedaffinepreimage4.cc was added on branch altnum on
-	  2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage4.cc
-	  (interfaces.1): file generalizedaffinepreimage4.cc was added on
-	  branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/generalizedaffinepreimage4.cc (octagons.1):
-	  file generalizedaffinepreimage4.cc was added on branch octagons
-	  on 2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/intersection1.cc (interfaces.1): file
-	  intersection1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
-	  (interfaces.1): file limitedbhmz05extrapolation1.cc was added on
-	  branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/limitedcc76extrapolation1.cc
-	  (interfaces.1): file limitedcc76extrapolation1.cc was added on
-	  branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/mapspacedims1.cc (altnum.1): file
-	  mapspacedims1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/mapspacedims1.cc (interfaces.1): file
-	  mapspacedims1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/maxspacedim.cc (altnum.1): file
-	  maxspacedim.cc was added on branch altnum on 2006-10-29 19:27:31
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/maxspacedim.cc (interfaces.1): file
-	  maxspacedim.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/minconstraints1.cc (interfaces.1): file
-	  minconstraints1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/octdifference1.cc (interfaces.1): file
-	  octdifference1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/octhull1.cc (interfaces.1): file
-	  octhull1.cc was added on branch interfaces on 2006-09-28 20:46:32
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons1.cc (altnum.1): file
-	  relatwithcons1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons1.cc (interfaces.1): file
-	  relatwithcons1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons1.cc (octagons.1): file
-	  relatwithcons1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithcons2.cc (interfaces.1): file
-	  relatwithcons2.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/relatwithgen1.cc (interfaces.1): file
-	  relatwithgen1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/removespacedims1.cc (interfaces.1): file
-	  removespacedims1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/run_tests (altnum.1): file run_tests was
-	  added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/run_tests (interfaces.1): file run_tests
-	  was added on branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/run_tests (octagons.1): file run_tests was
-	  added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/timeelapse1.cc (interfaces.1): file
-	  timeelapse1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/universe1.cc (altnum.1): file universe1.cc
-	  was added on branch altnum on 2006-10-29 19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/universe1.cc (interfaces.1): file
-	  universe1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/universe1.cc (octagons.1): file
-	  universe1.cc was added on branch octagons on 2006-11-18 20:36:59
-	  +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/.cvsignore (altnum.1): file .cvsignore was
-	  added on branch altnum on 2006-10-29 19:27:30 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/.cvsignore (interfaces.1): file .cvsignore
-	  was added on branch interfaces on 2006-09-28 20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/.cvsignore (octagons.1): file .cvsignore
-	  was added on branch octagons on 2006-11-18 20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/.cvsignore (simplex.1): file .cvsignore was
-	  added on branch simplex on 2008-01-07 11:15:37 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/addspacedims1.cc (altnum.1): file
-	  addspacedims1.cc was added on branch altnum on 2006-10-29
-	  19:27:31 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/addspacedims1.cc (interfaces.1): file
-	  addspacedims1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/addspacedims1.cc (octagons.1): file
-	  addspacedims1.cc was added on branch octagons on 2006-11-18
-	  20:36:59 +0000
-
-2006-09-19 Tuesday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Octagonal_Shape/affinedimension1.cc (interfaces.1): file
-	  affinedimension1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.235), tests/Makefile.am (1.256),
-	  tests/Octagonal_Shape/.cvsignore (1.1),
-	  tests/Octagonal_Shape/Makefile.am (1.1),
-	  tests/Octagonal_Shape/addspacedims1.cc (1.1),
-	  tests/Octagonal_Shape/affinedimension1.cc (1.1),
-	  tests/Octagonal_Shape/affineimage1.cc (1.1),
-	  tests/Octagonal_Shape/affineimage2.cc (1.1),
-	  tests/Octagonal_Shape/affinepreimage1.cc (1.1),
-	  tests/Octagonal_Shape/affinepreimage2.cc (1.1),
-	  tests/Octagonal_Shape/ascii_dump_load1.cc (1.1),
-	  tests/Octagonal_Shape/bhmz05widening1.cc (1.1),
-	  tests/Octagonal_Shape/bhz03widening1.cc (1.1),
-	  tests/Octagonal_Shape/bounded1.cc (1.1),
-	  tests/Octagonal_Shape/cc76extrapolation1.cc (1.1),
-	  tests/Octagonal_Shape/cc76narrowing1.cc (1.1),
-	  tests/Octagonal_Shape/chinainit.cc (1.1),
-	  tests/Octagonal_Shape/concatenate1.cc (1.1),
-	  tests/Octagonal_Shape/constraints1.cc (1.1),
-	  tests/Octagonal_Shape/contains1.cc (1.1),
-	  tests/Octagonal_Shape/empty1.cc (1.1),
-	  tests/Octagonal_Shape/fromgensys1.cc (1.1),
-	  tests/Octagonal_Shape/frompolyhedron1.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffineimage1.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffineimage2.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffineimage3.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffineimage4.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffineimage5.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffinepreimage1.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffinepreimage2.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffinepreimage3.cc (1.1),
-	  tests/Octagonal_Shape/generalizedaffinepreimage4.cc (1.1),
-	  tests/Octagonal_Shape/intersection1.cc (1.1),
-	  tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc (1.1),
-	  tests/Octagonal_Shape/limitedcc76extrapolation1.cc (1.1),
-	  tests/Octagonal_Shape/mapspacedims1.cc (1.1),
-	  tests/Octagonal_Shape/maxspacedim.cc (1.1),
-	  tests/Octagonal_Shape/minconstraints1.cc (1.1),
-	  tests/Octagonal_Shape/octdifference1.cc (1.1),
-	  tests/Octagonal_Shape/octhull1.cc (1.1),
-	  tests/Octagonal_Shape/relatwithcons1.cc (1.1),
-	  tests/Octagonal_Shape/relatwithcons2.cc (1.1),
-	  tests/Octagonal_Shape/relatwithgen1.cc (1.1),
-	  tests/Octagonal_Shape/removespacedims1.cc (1.1),
-	  tests/Octagonal_Shape/run_tests (1.1),
-	  tests/Octagonal_Shape/timeelapse1.cc (1.1),
-	  tests/Octagonal_Shape/universe1.cc (1.1),
-	  tests/Octagonal_Shape/writeoctagon1.cc (1.1): Directory
-	  tests/Octagon renamed tests/Octagonal_Shape.
-
-2006-09-19 Tuesday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.90): Reverted previous change
-	  (it was only meant for XSB 3.0.1).
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bgp99extrapolation1.cc (altnum.1): file
-	  bgp99extrapolation1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bhz03widening1.cc (altnum.1): file
-	  bhz03widening1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/geomcovers1.cc (altnum.1): file geomcovers1.cc was
-	  added on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/membytes1.cc (altnum.1): file membytes1.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset1.cc (altnum.1): file
-	  pointsetpowerset1.cc was added on branch altnum on 2006-10-29
-	  19:27:32 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/pointsetpowerset1.cc (interfaces.1): file
-	  pointsetpowerset1.cc was added on branch interfaces on 2006-09-28
-	  20:46:32 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.types.hh (altnum.1): file
-	  Pointset_Powerset.types.hh was added on branch altnum on
-	  2006-10-29 19:27:14 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.types.hh (interfaces.1): file
-	  Pointset_Powerset.types.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Pointset_Powerset.types.hh (octagons.1): file
-	  Pointset_Powerset.types.hh was added on branch octagons on
-	  2006-11-18 20:36:51 +0000
-
-2006-09-19 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.194), instchk.hh (1.5), doc/devref.doxyconf-html.in
-	  (1.75), doc/devref.doxyconf-latex.in (1.14),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.89), src/Makefile.am (1.156),
-	  src/Pointset_Powerset.cc (1.1), src/Pointset_Powerset.defs.hh
-	  (1.1), src/Pointset_Powerset.inlines.hh (1.1),
-	  src/Pointset_Powerset.templates.hh (1.1),
-	  src/Pointset_Powerset.types.hh (1.1), src/Polyhedra_Powerset.cc
-	  (1.7), src/Polyhedra_Powerset.defs.hh (1.37),
-	  src/Polyhedra_Powerset.inlines.hh (1.43),
-	  src/Polyhedra_Powerset.templates.hh (1.5),
-	  src/Polyhedra_Powerset.types.hh (1.5),
-	  src/Widening_Function.defs.hh (1.15),
-	  src/Widening_Function.inlines.hh (1.13), src/algorithms.hh
-	  (1.46), src/max_space_dimension.hh (1.8), tests/print.hh (1.37),
-	  tests/BD_Shape/bgp99extrapolation1.cc (1.8),
-	  tests/BD_Shape/bhz03widening1.cc (1.8),
-	  tests/BD_Shape/geomcovers1.cc (1.8), tests/Grid/bhz03widening1.cc
-	  (1.10), tests/Grid/membytes1.cc (1.7),
-	  tests/Polyhedron/Makefile.am (1.97),
-	  tests/Polyhedron/bgp99extrapolation1.cc (1.11),
-	  tests/Polyhedron/bhz03widening1.cc (1.11),
-	  tests/Polyhedron/exceptions1.cc (1.10),
-	  tests/Polyhedron/geomcovers1.cc (1.12),
-	  tests/Polyhedron/linearpartition1.cc (1.9),
-	  tests/Polyhedron/maxspacedim1.cc (1.8), tests/Polyhedron/mc91.cc
-	  (1.13), tests/Polyhedron/membytes2.cc (1.7),
-	  tests/Polyhedron/pointsetpowerset1.cc (1.1),
-	  tests/Polyhedron/polydifference1.cc (1.9),
-	  tests/Polyhedron/polypowerset1.cc (1.21),
-	  tests/Polyhedron/timeelapse1.cc (1.9): The Polyhedra_Powerset
-	  template class has been renamed Pointset_Powerset.
-
-2006-09-19 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.42),
-	  src/Polyhedra_Powerset.templates.hh (1.4), src/Powerset.defs.hh
-	  (1.26), src/Powerset.inlines.hh (1.17), src/Powerset.templates.hh
-	  (1.3), tests/Polyhedron/powerset1.cc (1.15): Powerset
-	  implementation made more lazy.  Fixed a couple of FIXMEs.
-	  Methods Powerset::add_non_bottom_disjunct() renamed
-	  add_non_bottom_disjunct_preserve_reduction(), since the true
-	  emphasis is on preserving reduction.	This required the addition
-	  of two FIXMEs concerning the implementation of
-	  Polyhedra_Powerset, as it is not clear whether the preservation
-	  of reduction was an issue there.
-
-2006-09-19 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Powerset.templates.hh (altnum.1): file Powerset.templates.hh
-	  was added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-19 Tuesday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.14): Adhere to the our standards
-	  for test programs.  Two more tests added.  Added also a FIXME.
-
-2006-09-19 Tuesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.defs.hh (altnum.1): file
-	  Grid_Generator.defs.hh was added on branch altnum on 2006-10-29
-	  19:27:13 +0000
-
-2006-09-19 Tuesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Status.idefs.hh (altnum.1): file Grid_Status.idefs.hh
-	  was added on branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-09-19 Tuesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BDS_Status.idefs.hh (1.19), BD_Shape.defs.hh (1.73),
-	  Congruence_System.defs.hh (1.15), Constraint.defs.hh (1.123),
-	  Constraint_System.defs.hh (1.31), DB_Matrix.defs.hh (1.23),
-	  Direct_Product.defs.hh (1.28), Generator.defs.hh (1.120),
-	  Generator_System.defs.hh (1.19), Grid.defs.hh (1.28),
-	  Grid_Generator.defs.hh (1.26), Grid_Generator_System.defs.hh
-	  (1.18), Grid_Status.idefs.hh (1.5), LP_Problem.defs.hh (1.14),
-	  Linear_Expression.defs.hh (1.30), Linear_Row.defs.hh (1.22),
-	  Linear_System.defs.hh (1.27), Matrix.defs.hh (1.78),
-	  OR_Matrix.defs.hh (1.4), Octagonal_Shape.defs.hh (1.4),
-	  Og_Status.idefs.hh (1.4), Ph_Status.idefs.hh (1.19),
-	  Polyhedra_Powerset.defs.hh (1.36), Polyhedron.defs.hh (1.304),
-	  Row.defs.hh (1.108), Saturation_Matrix.defs.hh (1.10): Fixed the
-	  references (in the documentation) to the various
-	  ascii_dump(std::ostream&) const methods.
-
-2006-09-19 Tuesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Powerset.defs.hh (1.25): Use vertical spacing to improve
-	  readability.
-
-2006-09-19 Tuesday 08:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ask_Tell.defs.hh (1.12), Ask_Tell.inlines.hh (1.11),
-	  Ask_Tell.templates.hh (1.3): Started making normalization lazy.
-
-2006-09-18 Monday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BDS_Status.idefs.hh (1.18), BD_Shape.defs.hh (1.72),
-	  Congruence_System.defs.hh (1.14), Constraint.defs.hh (1.122),
-	  Constraint_System.defs.hh (1.30), DB_Matrix.defs.hh (1.22),
-	  Direct_Product.defs.hh (1.27), Generator.defs.hh (1.119),
-	  Generator_System.defs.hh (1.18), Grid.defs.hh (1.27),
-	  Grid_Generator.defs.hh (1.25), Grid_Generator_System.defs.hh
-	  (1.17), Grid_Status.idefs.hh (1.4), LP_Problem.defs.hh (1.13),
-	  Linear_Expression.defs.hh (1.29), Linear_Row.defs.hh (1.21),
-	  Linear_System.defs.hh (1.26), Matrix.defs.hh (1.77),
-	  OR_Matrix.defs.hh (1.3), Octagonal_Shape.defs.hh (1.3),
-	  Og_Status.idefs.hh (1.3), Ph_Status.idefs.hh (1.18),
-	  Polyhedra_Powerset.defs.hh (1.35), Polyhedron.defs.hh (1.303),
-	  Row.defs.hh (1.107), Saturation_Matrix.defs.hh (1.9): Fixed
-	  documentation references to the various ascii_dump(std::ostream&)
-	  methods (this, unfortunately triggers a Doxygen bug, see
-	  http://bugzilla.gnome.org/show_bug.cgi?id=356597).  Other
-	  documentation fixes.
-
-2006-09-18 Monday 20:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ask_Tell.defs.hh (1.11), Ask_Tell.inlines.hh (1.10),
-	  Ask_Tell.templates.hh (1.2): The former engine() method is now
-	  called normalize().  New method bool is_normalized() const.
-
-2006-09-18 Monday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ask_Tell.defs.hh (1.10), Ask_Tell.inlines.hh (1.9),
-	  Ask_Tell.templates.hh (1.1): Halfway through the rewriting of the
-	  Ask_Tell template class.
-
-2006-09-18 Monday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Powerset.templates.hh (1.2), tests/Polyhedron/append2.cc
-	  (1.7): Indentation fixed.
-
-2006-09-17 Sunday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected_pchk_int8 (1.4),
-	  tests/expected_pchk_int8 (1.8): Updated to reflect the new
-	  implementations of simplex.
-
-2006-09-17 Sunday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int8 (altnum.1): file
-	  expected_pchk_int8 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-09-17 Sunday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int8 (altnum.1): file
-	  expected_pchk_int8 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-09-17 Sunday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.13): Fixed the implementations
-	  of Fcaibvp::upper_bound_assign(const Fcaibvp&) and
-	  Fcaibvp::meet_assign(const Fcaibvp&) (they were swapped).
-
-2006-09-17 Sunday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.12): Fixed a bug in
-	  operator<<(std::ostream&, const Fcaibvp&).
-
-2006-09-16 Saturday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ask_Tell.defs.hh (1.9), Ask_Tell.inlines.hh (1.8),
-	  Ask_Tell.types.hh (1.5): Complete rewriting of the Ask_Tell
-	  template class started.
-
-2006-09-15 Friday 16:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Grid_Generator.cc (1.17): Backtracking previous change as far
-	  as Grid_Generator is concerned.
-
-2006-09-15 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.194): Remember to advertise the failure of GCC 3.4.x to
-	  compile the PPL correctly.
-
-2006-09-15 Friday 15:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence.cc (1.12), Constraint.cc (1.63), Generator.cc
-	  (1.72), Grid_Generator.cc (1.16): Added some missing sanity
-	  checks to a few OK() methods:  - Constraint::OK() and
-	  Generator::OK() no also check that the corresponding	  object is
-	  a valid Linear_Row;  - Congruence::OK() checks that the object is
-	  a valid Row;	- Grid_Generator::OK() check that the object is a
-	  valid Generator.
-
-2006-09-15 Friday 11:54  Andrea Cimino
-
-	* src/: LP_Problem.cc (1.32), LP_Problem.defs.hh (1.12): Minor
-	  stylistic changes.  Unused method definition removed.
-
-2006-09-14 Thursday 17:52  Andrea Cimino
-
-	* src/LP_Problem.cc (1.31): Fixed a bug in LP_Problem::ascii_load()
-
-2006-09-14 Thursday 11:34  Andrea Cimino
-
-	* src/LP_Problem.cc (1.30): Test that every member used in
-	  LP_Problem is OK.  Fixed a bug in ascii_load().  Added a test
-	  concerning ascii_dump/ascii_load.
-
-2006-09-14 Thursday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_Expression.cc (1.15), Linear_Row.cc (1.20),
-	  Linear_Row.defs.hh (1.20), Row.cc (1.100), Row.defs.hh (1.106):
-	  Added method OK(), taking no arguments, to classes Row and
-	  Linear_Row.  The OK() method for Linear_Expression modified
-	  accordingly (previous implementation may have resulted in false
-	  alarms, i.e., returning false even when the object was well
-	  formed).
-
-2006-09-13 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (1.35): Every OK() methods must take care of
-	  reporting its own failures: redundant prints avoided.
-
-2006-09-13 Wednesday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.46): Made C99 compliant (we were
-	  using C++-style comments and declaring variables in the middle of
-	  body functions).
-
-2006-09-13 Wednesday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.45): Variables renamed to improve
-	  readability.
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: ppl-config_extra_man_text (1.1), ppl_lcdd_extra_man_text
-	  (1.1), ppl_lpsol_extra_man_text (1.1), prog2man (1.1):
-	  Provisional machinery to automatically build the man pages put
-	  under CVS control.
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl-config_extra_man_text (altnum.1): file
-	  ppl-config_extra_man_text was added on branch altnum on
-	  2006-10-29 19:26:56 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl-config_extra_man_text (interfaces.1): file
-	  ppl-config_extra_man_text was added on branch interfaces on
-	  2006-09-28 20:46:26 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl-config_extra_man_text (octagons.1): file
-	  ppl-config_extra_man_text was added on branch octagons on
-	  2006-11-18 20:36:43 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lcdd_extra_man_text (altnum.1): file
-	  ppl_lcdd_extra_man_text was added on branch altnum on 2006-10-29
-	  19:26:56 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lcdd_extra_man_text (interfaces.1): file
-	  ppl_lcdd_extra_man_text was added on branch interfaces on
-	  2006-09-28 20:46:26 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lcdd_extra_man_text (octagons.1): file
-	  ppl_lcdd_extra_man_text was added on branch octagons on
-	  2006-11-18 20:36:43 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lpsol_extra_man_text (altnum.1): file
-	  ppl_lpsol_extra_man_text was added on branch altnum on 2006-10-29
-	  19:26:56 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lpsol_extra_man_text (interfaces.1): file
-	  ppl_lpsol_extra_man_text was added on branch interfaces on
-	  2006-09-28 20:46:26 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lpsol_extra_man_text (octagons.1): file
-	  ppl_lpsol_extra_man_text was added on branch octagons on
-	  2006-11-18 20:36:43 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/prog2man (altnum.1): file prog2man was added on branch altnum
-	  on 2006-10-29 19:26:56 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/prog2man (interfaces.1): file prog2man was added on branch
-	  interfaces on 2006-09-28 20:46:26 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/prog2man (octagons.1): file prog2man was added on branch
-	  octagons on 2006-11-18 20:36:43 +0000
-
-2006-09-13 Wednesday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/prog2man (simplex.1): file prog2man was added on branch
-	  simplex on 2008-01-07 11:15:27 +0000
-
-2006-09-13 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: ppl-config.1 (1.4), ppl_lcdd.1 (1.2), ppl_lpsol.1 (1.2):
-	  Updated.
-
-2006-09-13 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl-config.1 (altnum.1): file ppl-config.1 was added on
-	  branch altnum on 2006-10-29 19:26:56 +0000
-
-2006-09-13 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lcdd.1 (altnum.1): file ppl_lcdd.1 was added on branch
-	  altnum on 2006-10-29 19:26:56 +0000
-
-2006-09-13 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lpsol.1 (altnum.1): file ppl_lpsol.1 was added on branch
-	  altnum on 2006-10-29 19:26:56 +0000
-
-2006-09-13 Wednesday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.44): Added the --version (-V)
-	  option.  The brief version of the --max-memory option is now -R.
-	  Help text revised.  The --help (-h) option now prints to stdout,
-	  as it should.  Fixed a couple of error messages.  Silenced a
-	  couple of compiler warnings.
-
-2006-09-13 Wednesday 14:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.43): Now the --check option
-	  accepts an option parameter specifying the threshold with which
-	  optima are checked.
-
-2006-09-13 Wednesday 12:46  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.42): `check_threshold' is now set
-	  to a proper value.
-
-2006-09-13 Wednesday 12:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.41): Fixed a bug whereby the abs()
-	  function was used instead of fabs().
-
-2006-09-13 Wednesday 12:17  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.40): MIP problems now are treated
-	  as LP ones.
-
-2006-09-13 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.193): New item added.
-
-2006-09-13 Wednesday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.39): Redundant test avoided.
-
-2006-09-13 Wednesday 11:09  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.38): Deallocate `optimum' only if
-	  an optimum is found.
-
-2006-09-13 Wednesday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.37): The `optimum' variable was
-	  cleared too early.  Make GLPK silent when NDEBUG is defined.
-
-2006-09-13 Wednesday 09:33  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.36): Modified ppl_lpsol.c to
-	  compile.  Properly checked if an LP Problem is MIP or not.
-
-2006-09-12 Tuesday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.35): Typo fixed.  The --check
-	  options is still not working, as the call to lpx_get_num_int()
-	  aborts the program immediately.
-
-2006-09-12 Tuesday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.34): New draft implementation of
-	  the --check option.
-
-2006-09-12 Tuesday 18:14  Andrea Cimino
-
-	* src/LP_Problem.cc (1.29): Added some noisy output if something
-	  fails in LP_Problem::OK(). Removed a previous redundant check.
-
-2006-09-12 Tuesday 18:04  Andrea Cimino
-
-	* src/LP_Problem.cc (1.28): Antoher little test added in
-	  LP_Problem::OK().  Another FIXME dealt with.
-
-2006-09-12 Tuesday 17:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.192), src/Direct_Product.defs.hh (1.26),
-	  src/Direct_Product.inlines.hh (1.24),
-	  tests/Grid/directproduct1.cc (1.21): Restored previous
-	  implementation of affine_relation() Improved several comments.
-
-2006-09-12 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct1.cc (altnum.1): file directproduct1.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-09-12 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct1.cc (octagons.1): file directproduct1.cc
-	  was added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-09-12 Tuesday 12:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.234), tests/Makefile.am (1.255),
-	  tests/Polyhedron/Makefile.am (1.96),
-	  tests/Polyhedron/exceptions2.cc (1.9),
-	  tests/Polyhedron/lpproblem1.cc (1.10): Tests concerning the
-	  LP_Problem class have been moved into a separate directory.
-
-2006-09-11 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: expected_mpz (1.8), expected_mpz_a (1.8):
-	  Updated to reflect the new implementations of simplex and
-	  ppl_lpsol.
-
-2006-09-11 Monday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.27): IO_Operators::operator<<(std::ostream&,
-	  const LP_Problem&) now prints the correct optimization mode.
-	  Useless redundancy avoided in the same function.
-
-2006-09-11 Monday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int8_a (1.5): Updated to reflect the new
-	  implementations of simplex and ppl_lpsol.
-
-2006-09-11 Monday 19:09  Andrea Cimino
-
-	* src/LP_Problem.cc (1.26): Removed a non wanted FIXME.
-
-2006-09-11 Monday 19:07  Andrea Cimino
-
-	* src/: LP_Problem.cc (1.25), LP_Problem.defs.hh (1.11):
-	  Implemented an initial version of the << operator.
-
-2006-09-11 Monday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int16_a (1.6): Updated to reflect the
-	  new implementations of simplex and ppl_lpsol.
-
-2006-09-11 Monday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int32_a (1.7): Updated to reflect the
-	  new implementations of simplex and ppl_lpsol.
-
-2006-09-11 Monday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int64_a (1.7): Updated to reflect the
-	  new implementations of simplex and ppl_lpsol.
-
-2006-09-11 Monday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int64 (1.7): Updated to reflect the new
-	  implementations of simplex and ppl_lpsol.
-
-2006-09-11 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: expected_int16 (1.6), expected_int32 (1.7):
-	  Updated to reflect the new implementations of simplex and
-	  ppl_lpsol.
-
-2006-09-11 Monday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_int8 (1.6): Updated to reflect the new
-	  implementations of simplex and ppl_lpsol.
-
-2006-09-11 Monday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.33): Added a newline in the error
-	  output.
-
-2006-09-11 Monday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.32): The error_handler() function
-	  now prints the error also to the output file, if any.
-
-2006-09-11 Monday 13:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.defs.hh (1.25), src/Direct_Product.inlines.hh
-	  (1.23), tests/Grid/directproduct1.cc (1.20): Changed
-	  implementation of affine_dimension() for Direct_Product to assume
-	  no reduction.  Revised comment for affine_dimension().  Revised
-	  test for affine_dimension().
-
-2006-09-10 Sunday 22:15  Andrea Cimino
-
-	* src/LP_Problem.cc (1.24): ascii_load() method implemented.
-	  Slightly modified ascii_dump() to allow ascii_load() working.
-
-2006-09-10 Sunday 11:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.191): Removed a todo item for the grid widening as this
-	  has been done.  Added - Direct_Product: Check that all comments
-	  and code are consistent with	 intended semantics.
-
-2006-09-10 Sunday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Direct_Product.defs.hh (1.24): Some comments improved.
-
-2006-09-10 Sunday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.23):
-	  LP_Problem::steepest_edge_entering_index() fixed.
-
-2006-09-09 Saturday 18:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Grid/: asciidumpload1.cc (1.12), asciidumpload3.cc (1.3),
-	  asciidumpload4.cc (1.3): Adjusted to match the recent change in
-	  ascii dump & load methods.
-
-2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload1.cc (altnum.1): file asciidumpload1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload3.cc (altnum.1): file asciidumpload3.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload3.cc (octagons.1): file asciidumpload3.cc
-	  was added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload4.cc (altnum.1): file asciidumpload4.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-09-09 Saturday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload4.cc (octagons.1): file asciidumpload4.cc
-	  was added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-09-09 Saturday 18:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence.cc (1.11), Grid_Generator.cc (1.15),
-	  Linear_Row.cc (1.19), Row.cc (1.99): Patched methods for ascii
-	  dump&load so as they also manage size information and perform any
-	  required allocation/deallocation.
-
-2006-09-09 Saturday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.22): Removed another bug due to assuming
-	  that Coefficient is a GMP integer.
-
-2006-09-09 Saturday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.inlines.hh (1.67): Added missing \relates
-	  commands.  Long source lines avoided.
-
-2006-09-09 Saturday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid_chdims.cc (1.10), Grid_simplify.cc (1.27),
-	  checked_ext.inlines.hh (1.32), checked_float.inlines.hh (1.66),
-	  checked_int.inlines.hh (1.53): Little code formatting
-	  improvements.
-
-2006-09-09 Saturday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.26), Grid_nonpublic.cc (1.19):
-	  Const-correctness improved.
-
-2006-09-09 Saturday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.21): assert(false) does not provide any real
-	  protection and should only be used in efficiency-critical inline
-	  functions.  Use throw std::runtime_error("PPL internal error")
-	  instead.
-
-2006-09-09 Saturday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_nonpublic.cc (1.18): Simplified the logic of debugging
-	  code in Grid::normalize_divisors(Grid_Generator_System&,
-	  Grid_Generator_System&).
-
-2006-09-09 Saturday 13:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.20): Avoid creating temporaries.
-
-2006-09-09 Saturday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.19): Use floating point constants to
-	  initialize floatin point values.
-
-2006-09-09 Saturday 13:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.18): Do not assume Coefficient is a GMP
-	  integer.  Must include <cmath> for fabs().
-	  PPL_SIMPLEX_USE_STEEPEST_EDGE_FLOATING_POINT re-enabled.
-
-2006-09-09 Saturday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.17): Replaced "can't", "don't", "doesn't",
-	  "aren't" by "cannot", "do not", "does not" and "are not".
-
-2006-09-09 Saturday 13:10  Andrea Cimino
-
-	* TODO (1.190): Don't confuse operator with method.
-
-2006-09-09 Saturday 13:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/frompolyhedron1.cc (altnum.1): file
-	  frompolyhedron1.cc was added on branch altnum on 2006-10-29
-	  19:27:22 +0000
-
-2006-09-09 Saturday 13:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/frompolyhedron1.cc (1.3): test01() fails with
-	  8-bit coefficients, but does not fail with 16-bit ones.
-
-2006-09-09 Saturday 13:07  Andrea Cimino
-
-	* TODO (1.189): Added a couple of items concering PPL::LP_Problem.
-
-2006-09-09 Saturday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Result.defs.hh (1.16), Result.inlines.hh (1.9): Functions
-	  Result classify(Result) and bool is_special(Result) documented.
-	  Useless inclusion removed.
-
-2006-09-09 Saturday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rounding_Dir.inlines.hh (1.4): Include <cassert>.
-
-2006-09-09 Saturday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rounding_Dir.inlines.hh (altnum.1): file
-	  Rounding_Dir.inlines.hh was added on branch altnum on 2006-10-29
-	  19:27:14 +0000
-
-2006-09-09 Saturday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Result.defs.hh (1.15), Result.inlines.hh (1.8): Removed the
-	  unused function Result sign(Result).
-
-2006-09-09 Saturday 09:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.95): Programs lpproblem2 and
-	  lpproblem3 no longer exist.
-
-2006-09-09 Saturday 08:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/dualhypercubes.cc (1.9): test01() overflows with
-	  32-bit coefficients, but does not with 64-bit ones.
-
-2006-09-09 Saturday 08:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.188): Added an item concerning the covering of the
-	  LP_Problem code.
-
-2006-09-09 Saturday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.94), lpproblem1.cc (1.9),
-	  lpproblem2.cc (1.7), lpproblem3.cc (1.5): Tests for the
-	  LP_Problem class fixed and merged.
-
-2006-09-08 Friday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.193): Added some items, not to forget them.
-
-2006-09-08 Friday 21:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.16): Avoid calling num_columns() on input_cs
-	  and pending_input_cs, since these constraint systems may be NNC
-	  and therefore have an extra column for the epsilon coefficient.
-	  Do call space_dimension(), instead, taking care of the offset.
-	  Adjusted some badly indented lines; adjusted some bad line
-	  breaks.
-
-2006-09-08 Friday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.233): Version number bumped.
-
-2006-09-08 Friday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.15): Temporarily set
-	  PPL_SIMPLEX_USE_STEEPEST_EDGE_FLOATING_POINT to 0.  This is to
-	  avoid trying to the expression fabs(raw_value(cost_j).get_d()),
-	  which only makes sense with GMP integer coefficients.
-
-2006-09-08 Friday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.187), demos/ppl_lpsol/ppl_lpsol.c (1.31),
-	  doc/devref.doxyconf-html.in (1.74), src/LP_Problem.cc (1.14),
-	  src/LP_Problem.defs.hh (1.10), src/LP_Problem.inlines.hh (1.10),
-	  src/Linear_Expression.cc (1.14), src/Linear_Expression.defs.hh
-	  (1.28), src/Linear_Expression.inlines.hh (1.9),
-	  tests/Polyhedron/Makefile.am (1.93),
-	  tests/Polyhedron/lpproblem1.cc (1.8),
-	  tests/Polyhedron/lpproblem2.cc (1.6),
-	  tests/Polyhedron/lpproblem3.cc (1.4): First (and, quite likely,
-	  last) merge of the `simplex' branch to the main trunk.
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh (interfaces.1): file
-	  OR_Matrix.inlines.hh was added on branch interfaces on 2006-09-28
-	  20:46:29 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.types.hh (altnum.1): file OR_Matrix.types.hh was
-	  added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.types.hh (interfaces.1): file OR_Matrix.types.hh
-	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.cc (altnum.1): file Octagonal_Shape.cc was
-	  added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.cc (interfaces.1): file Octagonal_Shape.cc
-	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.types.hh (altnum.1): file
-	  Octagonal_Shape.types.hh was added on branch altnum on 2006-10-29
-	  19:27:14 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagonal_Shape.types.hh (interfaces.1): file
-	  Octagonal_Shape.types.hh was added on branch interfaces on
-	  2006-09-28 20:46:29 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (altnum.1): file
-	  checked_numeric_limits.hh was added on branch altnum on
-	  2006-10-29 19:27:15 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.defs.hh (altnum.1): file distances.defs.hh was
-	  added on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.defs.hh (interfaces.1): file distances.defs.hh was
-	  added on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.inlines.hh (altnum.1): file distances.inlines.hh
-	  was added on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.inlines.hh (interfaces.1): file
-	  distances.inlines.hh was added on branch interfaces on 2006-09-28
-	  20:46:29 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.types.hh (altnum.1): file distances.types.hh was
-	  added on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/distances.types.hh (interfaces.1): file distances.types.hh
-	  was added on branch interfaces on 2006-09-28 20:46:29 +0000
-
-2006-09-08 Friday 19:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.232), doc/definitions.dox (1.197),
-	  doc/devref.doxyconf-html.in (1.73), doc/devref.doxyconf-latex.in
-	  (1.13), src/Checked_Number.defs.hh (1.78),
-	  src/Checked_Number.inlines.hh (1.66), src/DB_Matrix.inlines.hh
-	  (1.27), src/DB_Row.defs.hh (1.19), src/Makefile.am (1.155),
-	  src/OR_Matrix.defs.hh (1.2), src/OR_Matrix.inlines.hh (1.2),
-	  src/OR_Matrix.templates.hh (1.2), src/OR_Matrix.types.hh (1.2),
-	  src/Octagonal_Shape.cc (1.2), src/Octagonal_Shape.defs.hh (1.2),
-	  src/Octagonal_Shape.inlines.hh (1.2),
-	  src/Octagonal_Shape.templates.hh (1.2),
-	  src/Octagonal_Shape.types.hh (1.2), src/Og_Status.idefs.hh (1.2),
-	  src/Og_Status.inlines.hh (1.2), src/Polyhedron.defs.hh (1.302),
-	  src/checked_numeric_limits.hh (1.16), src/distances.defs.hh
-	  (1.2), src/distances.inlines.hh (1.2), src/distances.types.hh
-	  (1.2), src/globals.defs.hh (1.39), src/globals.inlines.hh (1.15),
-	  tests/Makefile.am (1.254), tests/ppl_test.hh (1.49),
-	  tests/print.hh (1.36), tests/BD_Shape/addconstraints1.cc (1.14),
-	  tests/BD_Shape/addspacedims1.cc (1.12),
-	  tests/BD_Shape/affineimage1.cc (1.15),
-	  tests/BD_Shape/affinepreimage1.cc (1.15),
-	  tests/BD_Shape/ascii_dump_load1.cc (1.13),
-	  tests/BD_Shape/bdsdifference1.cc (1.11),
-	  tests/BD_Shape/bdshull1.cc (1.11),
-	  tests/BD_Shape/bhmz05widening1.cc (1.11),
-	  tests/BD_Shape/cc76extrapolation1.cc (1.15),
-	  tests/BD_Shape/cc76narrowing1.cc (1.15),
-	  tests/BD_Shape/concatenate1.cc (1.12),
-	  tests/BD_Shape/constraints1.cc (1.15),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.14),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.16),
-	  tests/BD_Shape/h79widening1.cc (1.11),
-	  tests/BD_Shape/intersection1.cc (1.14),
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.10),
-	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.11),
-	  tests/BD_Shape/limitedh79extrapolation1.cc (1.11),
-	  tests/BD_Shape/mapspacedims1.cc (1.12),
-	  tests/BD_Shape/minconstraints1.cc (1.8),
-	  tests/BD_Shape/removespacedims1.cc (1.15),
-	  tests/BD_Shape/timeelapse1.cc (1.14), tests/BD_Shape/universe1.cc
-	  (1.12): First (and, quite likely, last) merge of the `octagons'
-	  branch to the main trunk.
-
-2006-09-08 Friday 17:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.50): Improved strong
-	  closure implementation by better exploting data locality.  Also,
-	  avoid testing for +inf since it happens to slow down execution
-	  (octagonal matrices tend to become dense quite quickly).
-
-2006-09-08 Friday 13:37  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[64,32,23]): `is_artificial' is no longer used. Now the
-	  informations about artificial variables are handled just in the
-	  first phase of the simplex algorithm.
-
-2006-09-08 Friday 11:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.14): Initial, partial
-	  implementation of the `--check' option.  What remains to be done
-	  is specified in TODO comments.  The variable `check_optimum' has
-	  been renamed `check_results'.
-
-2006-09-08 Friday 10:21  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.13): Added a FIXME.
-
-2006-09-08 Friday 09:43  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.12): Added a white space.
-
-2006-09-08 Friday 09:40  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.11): Force `make check',
-	  temporarly commented out a `fatal()' call.
-
-2006-09-08 Friday 09:12  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.10): Fixed an unwanted
-	  carriage return.
-
-2006-09-07 Thursday 19:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence.cc (1.10), Congruence.defs.hh (1.15),
-	  Congruence_System.cc (1.19), Constraint.cc (1.62), Generator.cc
-	  (1.71), Grid.templates.hh (1.17), Grid_Generator.cc (1.14),
-	  Grid_conversion.cc (1.14), Grid_nonpublic.cc (1.17),
-	  Grid_public.cc (1.34), Grid_simplify.cc (1.26),
-	  Linear_Expression.cc (1.13), Linear_Expression.defs.hh (1.27),
-	  Polyhedron.templates.hh (1.2), Polyhedron_public.cc (1.77):
-	  Prefer using TEMP_INTEGER to Coefficient where declaring an
-	  automatic variable.  Do not use
-	  Coefficient_traits::const_reference for automatic variable
-	  declarations: only use it when declaring formal parameter types.
-
-2006-09-07 Thursday 19:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.cc (simplex.63): Remember to generate auxiliary
-	  output function definitions as soon as we have an implementation
-	  of operator<<.
-
-2006-09-07 Thursday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.defs.hh (simplex.31): Use macro
-	  PPL_OUTPUT_DECLARATIONS.
-
-2006-09-07 Thursday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[62,30]):
-	  Useless inclusions avoided.
-
-2006-09-07 Thursday 16:35  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.61): Prefer neg_assign(x, y) to x =
-	  -y.
-
-2006-09-07 Thursday 16:18  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.60): Prefer `TEMP_INTEGER(x)' to
-	  `Coefficient x'.
-
-2006-09-07 Thursday 15:11  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.59): Restored ascii_dump().
-	  Indentation fixed.
-
-2006-09-07 Thursday 14:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_Expression.cc, Linear_Expression.defs.hh,
-	  Linear_Expression.inlines.hh (simplex.[4,6,3]): Added ascii
-	  dump/load methods.
-
-2006-09-07 Thursday 13:45  Andrea Cimino
-
-	* src/: LP_Problem.cc, Linear_Expression.defs.hh (simplex.[58,5]):
-	  No more `friend' declarations.  Added a FIXME:
-	  ascii_dump(ostream) modified waiting for the
-	  Linear_Epression::ascii_dump(ostream) method.
-
-2006-09-07 Thursday 12:32  Andrea Cimino
-
-	* src/: Generator.defs.hh, LP_Problem.cc (simplex.[5,57]): Minor
-	  improvements. Avoided another `friend' declaration.
-
-2006-09-07 Thursday 10:37  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.56): Avoid using useless temporaries.
-
-2006-09-07 Thursday 10:25  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.55): A FIXME dealt with by using
-	  Generator::ascii_dump(ostream).
-
-2006-09-07 Thursday 10:15  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.54): Use abs_assign(x) instead of
-	  abs_assign(x, x).
-
-2006-09-07 Thursday 10:02  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.53): Specified what kind of macro we
-	  are referring to in important #endif statements.
-
-2006-09-07 Thursday 09:49  Andrea Cimino
-
-	* src/: Constraint.defs.hh, LP_Problem.cc (simplex.[5,52]): Removed
-	  the `friend' declaration from Constraint.defs.hh of the class
-	  LP_Problem using the public methods of the class Constraint. Some
-	  other little improvements.
-
-2006-09-06 Wednesday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.44), C_Polyhedron.inlines.hh
-	  (1.32): Fixed the parameter names of
-	  C_Polyhedron::C_Polyhedron(const Grid_Generator_System&) and
-	  C_Polyhedron::C_Polyhedron(Grid_Generator_System&).  Added 4
-	  FIXMEs for the same constructors: their documentation seems
-	  wrong, and their implementation seems incomplete.
-
-2006-09-06 Wednesday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL, config.guess, config.sub, install-sh, missing,
-	  mkinstalldirs, Watchdog/INSTALL, Watchdog/config.guess,
-	  Watchdog/config.sub, Watchdog/install-sh, Watchdog/missing,
-	  Watchdog/mkinstalldirs, interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/tests/clpq2.pl, src/BD_Shape.defs.hh,
-	  src/BD_Shape.templates.hh, src/Bounding_Box.defs.hh,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  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/Constraint.cc, src/Constraint.defs.hh,
-	  src/Constraint.inlines.hh, src/Constraint_System.cc,
-	  src/Constraint_System.defs.hh, src/Direct_Product.defs.hh,
-	  src/Direct_Product.inlines.hh, src/Direct_Product.templates.hh,
-	  src/Direct_Product.types.hh, src/Float.inlines.hh,
-	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
-	  src/Generator.cc, src/Generator.defs.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_conversion.cc, src/Grid_nonpublic.cc,
-	  src/Grid_public.cc, src/Grid_simplify.cc, src/Grid_widenings.cc,
-	  src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh,
-	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
-	  src/Makefile.am, src/NNC_Polyhedron.defs.hh,
-	  src/NNC_Polyhedron.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron_public.cc,
-	  src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
-	  src/Scalar_Products.inlines.hh, src/checked.cc,
-	  src/checked_ext.inlines.hh, src/checked_int.inlines.hh,
-	  src/fpu-ia32.inlines.hh, src/globals.defs.hh, tests/ppl_test.cc,
-	  tests/ppl_test.hh, tests/print.cc, tests/print.hh,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
-	  tests/BD_Shape/affineimage1.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffinepreimage2.cc,
-	  tests/BD_Shape/generalizedaffinepreimage3.cc,
-	  tests/BD_Shape/intersection1.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/BD_Shape/limitedcc76extrapolation1.cc,
-	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
-	  tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/timeelapse1.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/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
-	  tests/Grid/asciidumpload3.cc, tests/Grid/asciidumpload4.cc,
-	  tests/Grid/asciidumpload5.cc, tests/Grid/asciidumpload6.cc,
-	  tests/Grid/asciidumpload7.cc, tests/Grid/bhz03widening1.cc,
-	  tests/Grid/bounded1.cc, tests/Grid/boundingbox1.cc,
-	  tests/Grid/boundingbox2.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/contains1.cc,
-	  tests/Grid/coveringbox1.cc, tests/Grid/coveringbox2.cc,
-	  tests/Grid/directproduct1.cc, tests/Grid/directproduct2.cc,
-	  tests/Grid/discrete1.cc, tests/Grid/disjoint1.cc,
-	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
-	  tests/Grid/foldspacedims1.cc,
-	  tests/Grid/generalizedaffineimage1.cc,
-	  tests/Grid/generalizedaffineimage2.cc,
-	  tests/Grid/generalizedaffinepreimage1.cc,
-	  tests/Grid/generalizedaffinepreimage2.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/join1.cc, tests/Grid/join2.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/mingenerators1.cc, tests/Grid/outputoperator1.cc,
-	  tests/Grid/outputoperator2.cc, tests/Grid/outputoperator3.cc,
-	  tests/Grid/relations1.cc, tests/Grid/relations2.cc,
-	  tests/Grid/relations3.cc, tests/Grid/removespacedims1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
-	  tests/Grid/topclosed1.cc, tests/Grid/widening1.cc,
-	  tests/Grid/widening2.cc, tests/Grid/widening3.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/addgenerators1.cc,
-	  tests/Polyhedron/bug2.cc, tests/Polyhedron/bug2.dat
-	  (simplex.[1,3,3,2,1,1,1,3,3,2,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,6,2,2,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,29,22,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,4,2,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,2,3,3,3,3,3,3,3,7,3,3,1]):
-	  Third merge from the main trunk.
-
-2006-09-06 Wednesday 09:19  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.51): Simplified the changes of the
-	  last commit.
-
-2006-09-06 Wednesday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GMP_Integer.defs.hh (1.22), GMP_Integer.inlines.hh (1.16):
-	  Added void abs_assign(GMP_Integer& x) and void
-	  abs_assign(GMP_Integer& x, const GMP_Integer& y).
-
-2006-09-05 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (1.33): Long lines avoided.
-
-2006-09-05 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.77), Checked_Number.inlines.hh
-	  (1.65): Added template <typename T, typename Policy> void
-	  abs_assign(Checked_Number<T, Policy>& x) and template <typename
-	  T, typename Policy> void abs_assign(Checked_Number<T, Policy>& x,
-	  const Checked_Number<T, Policy>& y).
-
-2006-09-05 Tuesday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.76): Added the declaration and
-	  documentation for template <typename T, typename Policy> void
-	  neg_assign(Checked_Number<T, Policy>& x, const Checked_Number<T,
-	  Policy>& y).
-
-2006-09-05 Tuesday 16:18  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.50): Attempt to avoid explicit
-	  products to improve performances by not using temporaries.
-
-2006-09-05 Tuesday 15:26  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.49): Don't use `dimension_type' if we
-	  are not dealing with dimensions.
-
-2006-09-05 Tuesday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_nonpublic.cc (1.16): Only define debugging variables
-	  when NDEBUG is not defined.
-
-2006-09-05 Tuesday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/clpq2.pl (1.9): Fixed do_command/2.
-
-2006-09-04 Monday 17:43  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.48): Other little formatting changes.
-
-2006-09-04 Monday 16:14  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.47): Typo fixed.
-
-2006-09-04 Monday 16:11  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[46,28]):
-	  Removed other useless code. Added a CHECKME.
-
-2006-09-04 Monday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.inlines.hh (simplex.21): Little formatting change.
-
-2006-09-04 Monday 11:41  Andrea Cimino
-
-	* src/LP_Problem.inlines.hh (simplex.20): Fixed the swap operator.
-
-2006-09-04 Monday 11:26  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[45,27,19]): Big changes.  Now the Status `UNSOLVED' is
-	  dropped because every LP_Problem, from the beginning, now is
-	  treated like `PARTIALLY_SATISFIABLE', so all the redundant code
-	  is dropped too. Other little, but important, bugfixes. This new
-	  implementation must be heavily tested.
-
-2006-09-01 Friday 12:02  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.44): Fixed a bug in compute_simplex():
-	  the test02 in lpproblem1.cc caused to fail the assertion
-	  `assert(challenger >= current)'.  Now the test seems to work.
-
-2006-07-20 Thursday 08:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.31):
-	  Removed a duplicate macro definition, improved some comments,
-	  reordered some macros.
-
-	  Added macros to make the components of a "simple" open or direct
-	  product cplusplus class available; these are now defined as:
-	  m4_cplusplus_class`'i_j where "i" is the class counter and "j" =
-	  1 or 2 depending on whether it is the 1st or second argument.  By
-	  "simple", we mean that the product construct is not nested.
-
-2006-07-06 Thursday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.defs.hh (1.23): Temporarily commented out a
-	  friend declaration that is rejected by GCC 3.3.x.
-
-2006-07-06 Thursday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.defs.hh (simplex.1): file
-	  Direct_Product.defs.hh was added on branch simplex on 2006-09-06
-	  18:41:51 +0000
-
-2006-07-02 Sunday 13:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.30):
-	  Some small improvements.
-
-2006-06-30 Friday 20:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.117): Repeated inclusion
-	  removed.  Useless declaration and initialization of `a_throw'
-	  removed as well.
-
-2006-06-30 Friday 19:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[29,30,21,24]): Revised the code for widening so that
-	  the supporting methods are not needed and removed. The limited
-	  and bounded options for extrapolation are now coded as a single
-	  pattern.
-
-	  Changes for schematising the limited and bounded options still to
-	  be done in the C interface.
-
-2006-06-30 Friday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/: yap_cfli.h, yap_cfli.ic
-	  (interfaces.[1,1]): Started drafting the YAP Prolog Common
-	  Foreign Language Interface.
-
-2006-06-30 Friday 16:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: swi_cfli.cc, swi_cfli.h, swi_cfli.ic
-	  (interfaces.[2,2,2]): Little improvements.
-
-2006-06-30 Friday 15:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4,
-	  C/ppl_interface_generator_c_cc_code.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[28,14,22,29,23]): Separate patterns for widening and
-	  extrapolation to give more flexibility.
-
-2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Direct_Product.templates.hh (1.19), Grid.inlines.hh (1.10),
-	  Grid.templates.hh (1.16), Grid_Generator.defs.hh (1.24): Missing
-	  inclusions added.
-
-2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.templates.hh (altnum.1): file
-	  Direct_Product.templates.hh was added on branch altnum on
-	  2006-10-29 19:27:12 +0000
-
-2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.templates.hh (octagons.1): file
-	  Direct_Product.templates.hh was added on branch octagons on
-	  2006-11-18 20:36:50 +0000
-
-2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.templates.hh (simplex.1): file
-	  Direct_Product.templates.hh was added on branch simplex on
-	  2006-09-06 18:41:51 +0000
-
-2006-06-29 Thursday 23:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.inlines.hh (altnum.1): file Grid.inlines.hh was added on
-	  branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-06-29 Thursday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Congruence.defs.hh (1.14), Polyhedron.defs.hh (1.301):
-	  Missing inclusions added.
-
-2006-06-29 Thursday 23:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: bug1.cc (1.4), bug1.dat (1.5): The situation
-	  exhibited by bug1.cc and bug1.dat has been clarified (not a bug,
-	  but Constraint::OK() needed improving).
-
-2006-06-29 Thursday 18:59  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.22), Direct_Product.inlines.hh
-	  (1.22), Direct_Product.templates.hh (1.18), globals.defs.hh
-	  (1.38): Improve some FIXMEs.
-
-2006-06-29 Thursday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.inlines.hh (simplex.1): file
-	  Direct_Product.inlines.hh was added on branch simplex on
-	  2006-09-06 18:41:51 +0000
-
-2006-06-29 Thursday 18:38  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.19): Add the ability to test with
-	  C_Polyhedron as the Polyhedral component.
-
-2006-06-29 Thursday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct1.cc (simplex.1): file directproduct1.cc
-	  was added on branch simplex on 2006-09-06 18:41:55 +0000
-
-2006-06-29 Thursday 17:47  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.18): Add a widening test.
-
-2006-06-29 Thursday 17:46  Matthew Mundell
-
-	* src/: Polyhedron.inlines.hh (1.133), Polyhedron.defs.hh (1.300):
-	  Add widening_assign(ph, tp) which is equivalent to
-	  H79_widening_assign(ph, tp).
-
-2006-06-29 Thursday 17:45  Matthew Mundell
-
-	* src/Direct_Product.defs.hh (1.21): Direct out the relation_with
-	  declarations.
-
-2006-06-29 Thursday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.8), config.guess (1.37), config.sub (1.35), install-sh
-	  (1.17), missing (1.13), mkinstalldirs (1.10), Watchdog/INSTALL
-	  (1.5), Watchdog/config.guess (1.21), Watchdog/config.sub (1.20),
-	  Watchdog/install-sh (1.14), Watchdog/missing (1.9),
-	  Watchdog/mkinstalldirs (1.6): Updated from Autoconf 2.60.
-
-2006-06-29 Thursday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.92): The situation exhibited by
-	  bug1.cc and bug1.dat has been clarified (not a bug, but
-	  Constraint::OK() needed improving).
-
-2006-06-29 Thursday 16:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sicstus_cfli.h (interfaces.1): Spacing
-	  changed.
-
-2006-06-29 Thursday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: Makefile.am,
-	  ppl_interface_generator_swiprolog_cc.m4, swi_cfli.cc, swi_cfli.h,
-	  swi_cfli.ic (interfaces.[4,6,1,1,1]): SWI-Prolog Common Foreign
-	  Language Interface separated from the PPL stuff.
-
-2006-06-29 Thursday 16:17  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.17): Update to test only the
-	  methods defined in Direct_Product.  Update some expected values
-	  for when Grid is the first component.
-
-2006-06-29 Thursday 16:14  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.20), Direct_Product.inlines.hh
-	  (1.21), Direct_Product.templates.hh (1.17): Direct out the
-	  covering box, bounds_from_*, maximize and minimize methods for
-	  now.	Convert the returns of the system-returning methods from
-	  references to values.  Reduce to a single widening method:
-	  widening_assign(dp).
-
-	  Convert both product classes to assume that every method is
-	  implemented in both components.
-
-2006-06-29 Thursday 16:06  Matthew Mundell
-
-	* src/Congruence.defs.hh (1.13): Add Constraint friend declaration.
-
-2006-06-29 Thursday 16:06  Matthew Mundell
-
-	* src/: C_Polyhedron.defs.hh (1.43), C_Polyhedron.inlines.hh
-	  (1.31): Add constructors that take Grid_Generator_Systems.
-
-2006-06-29 Thursday 16:05  Matthew Mundell
-
-	* src/: Polyhedron.defs.hh (1.299), Polyhedron.inlines.hh (1.132),
-	  Polyhedron_public.cc (1.76): Add congruences(),
-	  minimized_congruences(), grid_generators(),
-	  minimized_grid_generators(), is_discrete(), add_grid_generator(g)
-	  and add_grid_generator_and_minimize(g).
-
-2006-06-29 Thursday 16:01  Matthew Mundell
-
-	* src/: Grid_nonpublic.cc (1.15), Grid_public.cc (1.32),
-	  Grid.defs.hh (1.25), Grid.inlines.hh (1.9): Add Grid(const gs),
-	  Grid(gs), constraints(), minimized_constraints(), generators(),
-	  minimized_generators(), add_generator(g) and
-	  add_generator_and_minimize(g).
-
-2006-06-29 Thursday 15:56  Matthew Mundell
-
-	* src/: Constraint_System.cc (1.18), Constraint_System.defs.hh
-	  (1.29): Add Constraint_System(cgs).
-
-2006-06-29 Thursday 15:55  Matthew Mundell
-
-	* src/: Constraint.cc (1.61), Constraint.defs.hh (1.121),
-	  Constraint.inlines.hh (1.64): Add methods
-	  throw_invalid_argument(method, msg), Constraint(cg) and
-	  Constraint(cg, sz, capacity).
-
-2006-06-29 Thursday 15:53  Matthew Mundell
-
-	* src/Congruence_System.defs.hh (1.13): Improve insert(c)
-	  description slightly.
-
-2006-06-29 Thursday 15:52  Matthew Mundell
-
-	* src/: NNC_Polyhedron.defs.hh (1.46), NNC_Polyhedron.inlines.hh
-	  (1.33), Congruence_System.cc (1.18): Update Congruence_System(cs)
-	  to construct Matrix with the required space dimension.
-
-2006-06-29 Thursday 15:38  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.16): Convert test76 to fail with
-	  int8.
-
-2006-06-29 Thursday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.cc (1.60): Constraint::OK() improved: it now
-	  detects illegal "strict" equalities.
-
-2006-06-29 Thursday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.91), bug2.cc (1.7), bug2.dat
-	  (1.2): The bug shown by bug2.cc and bug2.dat has been fixed long
-	  ago.
-
-2006-06-29 Thursday 13:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/bug1.dat (1.4): Testcase simplified.
-
-2006-06-29 Thursday 12:42  Matthew Mundell
-
-	* tests/Polyhedron/bug1.dat (1.3): Add data file for bug1.
-
-2006-06-29 Thursday 12:39  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am (1.90), bug1.cc (1.3): Add bug1.
-
-2006-06-29 Thursday 09:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.27):
-	  Simplified code for defining the add_disjuncts replacement - this
-	  uses the new macro m4_echo_unquoted added in the previous commit.
-
-2006-06-29 Thursday 08:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[42,26,22]): Added 3 new application-independent
-	  macros to the common.m4 m4_echo_quoted, m4_echo_unquoted,
-	  m4_arg_counter:
-
-	  m4_echo_quoted and m4_echo_unquoted correspond to echo1 and echo2
-	  in the m4 documentation. Neither used yet but I plan to use the
-	  m4_echo_unquoted to expand terms.
-
-	  m4_arg_counter takes a string and a sequence of arguments and
-	  either expands to the first index of the argument sequence that
-	  matches the string or to the empty string.  m4_arg_counter is now
-	  used instead of m4_check_if_class_in_group which is removed.
-
-	  In common_dat.m4 added a dummy predicate for widening
-	  Polyhedra_Powerset classes and in prolog_icc_code.m4 added unused
-	  schematic code for developing the widening for powersets (this is
-	  prefixed by a "FIXME" and should be ignored).
-
-2006-06-28 Wednesday 19:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4,
-	  ppl_interface_generator_prolog_icc_code.m4 (interfaces.[28,21]):
-	  Added Polyhedra_Powerset schema predicate for "get_disjuncts"/2.
-	  Removed some unwanted commented-out lines of code.
-
-2006-06-28 Wednesday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (octagons.1): Adjusted spacing when
-	  using \ to break lines in macro definitions.
-
-2006-06-28 Wednesday 18:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh (octagons.18): Do initialize `i' when
-	  constructing the past-the-end any_row_iterator, so as to avoid
-	  the annoying compiler warning.  Do initialize `size_' when
-	  default constructing a Pseudo_Row (for the same reason as above).
-
-2006-06-28 Wednesday 16:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[25,27,20]): For the Polyhedra_Powerset classes, we
-	  now allow for add_disjunct and pairwise_reduce in the interfaces
-	  (currently these are only included in the Prolog interfaces).
-
-2006-06-28 Wednesday 12:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.24):
-	  Avoid generating unwanted spaces.
-
-2006-06-28 Wednesday 12:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[23,20,19]): Revised the friend pattern replacement
-	  macros.  Added handles for C_Polyhedron and NNC_Polyhedron
-	  whenever the Polyhedron class is generated.
-
-2006-06-27 Tuesday 20:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: Makefile.am, C/Makefile.am, Prolog/Makefile.am,
-	  Prolog/Ciao/Makefile.am, Prolog/GNU/Makefile.am,
-	  Prolog/SICStus/Makefile.am, Prolog/SWI/Makefile.am,
-	  Prolog/XSB/Makefile.am, Prolog/YAP/Makefile.am
-	  (interfaces.[2,4,4,4,5,3,3,3,3]): Added the specification of all
-	  the dependencies concerning the generation of interfaces.
-
-2006-06-27 Tuesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (interfaces.3): Added
-	  ../ppl_interface_generator_common_dat.m4 to
-	  interface_generator_files.
-
-2006-06-27 Tuesday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (interfaces.3): Added
-	  ../ppl_interface_generator_common_dat.m4 to
-	  interface_generator_files.
-
-2006-06-27 Tuesday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (interfaces.2): This is now a generated
-	  source.
-
-2006-06-27 Tuesday 13:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.22):
-	  Now it does not remove spaces from the class names.
-
-2006-06-27 Tuesday 13:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.21):
-	  Simplified the code for the replacements for pattern "friend" by
-	  making a new more generic macro.  Added friends for octagons and
-	  polyhedra_powersets class kinds.
-
-2006-06-27 Tuesday 09:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4
-	  (interfaces.[41,20,19]): Added and redone existing code so that
-	  any class of kind BD_Shape is a friend of any other class of kind
-	  BD_Shape and also a friend of Polyhedron class.
-
-	  Note that if a class is defined as a "friend" then the schema
-	  name ppl_new_ at TOPOLOGY@@CLASS at _from_@INTOPOLOGY@@FRIEND@ is
-	  instantiated to have this class and friend.
-
-	  The Prolog C++ (ppl_prolog.icc) code needs the procedure
-	  converting terms to class handles to come before use.  With this
-	  friend code, all these procedures must be defined before any
-	  other generated code.  Therefore a new macro
-	  m4_pre_all_classes_code is called before generating the main
-	  classes code.  This has a default expansion of the empty string.
-
-2006-06-26 Monday 19:47  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.15): Add directive GRID_IS_D1,
-	  for testing with Grid as the first component.  In test15 and
-	  test16 compare the congruence systems via temporary grids.
-
-2006-06-26 Monday 19:45  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.19), Direct_Product.inlines.hh
-	  (1.20), Direct_Product.templates.hh (1.16): Add the
-	  system-returning methods to Open_Product so that they reduce the
-	  product before returning the system.	Add C_Polyhedron
-	  specialisation to any methods already specialised for
-	  NNC_Polyhedron.
-
-2006-06-26 Monday 09:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[40,19,26,18]): Improved the processing of the
-	  replacement lists for a pattern.
-
-	  Added 2 new application independent helper macros:  - m4_nargs
-	  (definition taken from m4 documentation)  - m4_arg (finds the
-	  n+1'st argument in a list of arguments - where n is the 1st
-	  argument)
-
-	  The alternative replacement is now also defined via an
-	  alternative list of replacements (the number and order must match
-	  the usual list of replacements for the given class). This change
-	  was triggered by the wish to have a "friend" pattern (see below).
-
-	  Introduced a new pattern "friend" and use in in the Prolog
-	  interface to use instead of the 2nd "class" in
-	  ppl_new_ at CLASS@_from_ at INTOPOLOGY@@CLASS@ ie.,
-	  ppl_new_ at CLASS@_from_ at INTOPOLOGY@@FRIEND at .  That is, a friend is
-	  a class that can be used to construct an element in the current
-	  class. Every class is declared to be a friend of itself.  The
-	  intention is to add to more "friend"s for each class so that, for
-	  instance, Polyhedron will be a friend of BD_Shape.  Note that the
-	  friend pattern is only used in the Prolog interface at the
-	  moment.
-
-2006-06-22 Thursday 13:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (octagons.15): Using the new policy
-	  WRD_Extendend_Number_Policy when assertions are turned off.
-
-2006-06-22 Thursday 13:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (octagons.[1,1]): Added new policy WRD_Extended_Number_Policy, to
-	  be used by weakly-relational domains when assertions are turned
-	  off.
-
-2006-06-22 Thursday 11:27  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.49): Corrected a bug
-	  in Octagonal_Shape<T>::CC76_narrowing_assign().
-
-2006-06-21 Wednesday 19:49  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.14): Insert is_disjoint() test
-	  test34 where the intersection of the products determines the
-	  outcome.  Add a directive to control the product used.
-
-2006-06-21 Wednesday 19:46  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.18), Direct_Product.inlines.hh
-	  (1.19), Direct_Product.templates.hh (1.15): Convert the reduced
-	  flag methods to const methods.  Update the predicate methods
-	  (is_empty(), etc) to first reduce the components.  Update
-	  is_disjoint_from to consider the intersection of the two
-	  products.
-
-2006-06-21 Wednesday 14:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  C/ppl_interface_generator_c_cc_code.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[39,18,13,21,25,18,17]): Revised the way we handle
-	  compound domains (is the powerset and product domains).
-
-	  Where compound domains have Polyhedron as a component, the system
-	  creates two domains, one where Polyhedron is prefixed by C and
-	  the other where it is prefixed by NNC. Note that this change has
-	  been made so as _not_ to affect the simple domain Polyhedron.
-
-	  As requested, both the user name and the C++ name have the
-	  topology C and NNC inserted just before the string "Polyhedron".
-	  Note though this still assumes that every component = Polyhedron
-	  has the same topology. Automatically generating different
-	  topologies for these components will be difficult and not really
-	  practical or useful.
-
-	  Simplified the way class name patterns are replaced by the actual
-	  name. The class patterns are now replaced as part of the main
-	  list of replacements.
-
-2006-06-21 Wednesday 13:11  Matthew Mundell
-
-	* src/: Direct_Product.inlines.hh (1.18),
-	  Direct_Product.templates.hh (1.14), Direct_Product.defs.hh
-	  (1.17): Add a reduced flag to Open_Product.  Add reduction
-	  function propagate_constraints_reduce and update standard_reduce
-	  to call it.  Update Open_Product is_bounded to call reduce()
-	  instead of propagating constraints directly.
-
-2006-06-21 Wednesday 12:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.48): Removed an
-	  efficiency bug (repeated allocations) in the strong closure and
-	  strong coherence methods.
-
-2006-06-20 Tuesday 15:30  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.16), Direct_Product.inlines.hh
-	  (1.17), Direct_Product.templates.hh (1.13),
-	  Direct_Product.types.hh (1.5): Replace the Open_Product reduction
-	  methods with a single reduce() method and a reduction function
-	  template parameter.
-
-2006-06-20 Tuesday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.types.hh (altnum.1): file
-	  Direct_Product.types.hh was added on branch altnum on 2006-10-29
-	  19:27:12 +0000
-
-2006-06-20 Tuesday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.types.hh (octagons.1): file
-	  Direct_Product.types.hh was added on branch octagons on
-	  2006-11-18 20:36:50 +0000
-
-2006-06-20 Tuesday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.types.hh (simplex.1): file
-	  Direct_Product.types.hh was added on branch simplex on 2006-09-06
-	  18:41:51 +0000
-
-2006-06-18 Sunday 22:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4 (interfaces.[38,17]):
-	  Comments improved and redundant code removed.
-
-2006-06-18 Sunday 11:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4 (interfaces.[37,16]):
-	  Revised handling of C++ class names so that a product domain with
-	  commas works.  Basic approach is to immediately replace the ","
-	  in the list of C++ names obtained from the instantiations.m4 file
-	  by "@COMMA@" and then at the end of the code generation, restore
-	  the ",".
-
-2006-06-17 Saturday 10:39  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.13): Add tests of
-	  Direct_Product(covering_box), shrink_bounding_box(box) and
-	  get_covering_box(box).
-
-2006-06-17 Saturday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/coveringbox2.cc (altnum.1): file coveringbox2.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-17 Saturday 10:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.cc (altnum.1): file ppl_test.cc was added on
-	  branch altnum on 2006-10-29 19:27:21 +0000
-
-2006-06-17 Saturday 10:32  Matthew Mundell
-
-	* tests/: Grid/boundingbox2.cc (1.10), ppl_test.cc (1.6),
-	  ppl_test.hh (1.48), Grid/coveringbox2.cc (1.10): Move the
-	  temporary function operator==(box,box) to ppl_test.cc.
-
-2006-06-17 Saturday 10:31  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.15), Direct_Product.inlines.hh
-	  (1.16), Direct_Product.templates.hh (1.12): Define
-	  shrink_bounding_box(box) and get_covering_box(box).
-
-2006-06-16 Friday 18:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.15):
-	  Previous simplification means that the replacement code here can
-	  also be improved.
-
-2006-06-16 Friday 18:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_systems.m4,
-	  Prolog/XSB/ppl_interface_generator_xsb_H.m4
-	  (interfaces.[36,14,10,5]): Revised comments, Simplified some
-	  macros and removed some multiple levels of quoting.  Avoid
-	  generating unwanted (and unintended) blank lines (by making sure
-	  every line ending with "dnl" ends with "`'dnl").
-
-2006-06-16 Friday 16:48  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.12), tests/Grid/directproduct2.cc
-	  (1.4), src/Direct_Product.templates.hh (1.11),
-	  src/Direct_Product.types.hh (1.4): Add an Open_Product
-	  is_bounded() NNC_Polyhedron-Grid specialization which propagates
-	  equalities.
-
-2006-06-16 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct2.cc (altnum.1): file directproduct2.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-16 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct2.cc (interfaces.1): file
-	  directproduct2.cc was added on branch interfaces on 2006-09-28
-	  20:46:31 +0000
-
-2006-06-16 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct2.cc (octagons.1): file directproduct2.cc
-	  was added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-06-16 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct2.cc (simplex.1): file directproduct2.cc
-	  was added on branch simplex on 2006-09-06 18:41:55 +0000
-
-2006-06-16 Friday 16:47  Matthew Mundell
-
-	* src/Polyhedron_public.cc (1.75): Update add_congruences(cgs) and
-	  add_congruence(cg) to strong normalize constructed constraints
-	  before adding them.
-
-2006-06-16 Friday 15:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4
-	  (interfaces.12): Revised C code for including topology in
-	  compound C++ class names.
-
-2006-06-16 Friday 14:18  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.11): Add tests of contains() and
-	  strictly_contains().
-
-2006-06-16 Friday 14:18  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.14), Direct_Product.inlines.hh
-	  (1.15): Implement contains() and strictly_contains().
-
-2006-06-16 Friday 13:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_systems.m4,
-	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  Prolog/XSB/ppl_interface_generator_xsb_H.m4
-	  (interfaces.[35,24,9,6,4]): Fixed an old bug affecting Ciao and
-	  XSB interfaces.  The bug was in the handling of the list
-	  separator.  Now a counter for the list is passed as as argument
-	  and the separator is suppressed when the counter is 0.
-
-2006-06-16 Friday 09:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[34,13,23,16]): Completed basic changes for
-	  Powerset_Polyhedron<...>.  Compilation only tested (in the Prolog
-	  interface) for Powerset_Polyhedron<Polyhedron> for the predicates
-	  "ppl_new_C_Polyhedra_Powerset_Polyhedron_from_space_dimension"
-	  and
-	  "ppl_new_NNC_Polyhedra_Powerset_Polyhedron_from_space_dimension".
-
-2006-06-15 Thursday 23:29  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.10): Replace the use of
-	  Direct_Product with a local typedef, Product.  Add tests of the
-	  remaining predicate methods (is_topologically_closed(), etc).
-	  Ensure that each of the defined adding methods (add_congruence(),
-	  etc) is used at least once in the file.
-
-2006-06-15 Thursday 23:29  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.13), Direct_Product.inlines.hh
-	  (1.14), Direct_Product.templates.hh (1.10): Define more of the
-	  adding methods (add_congruence(), etc).  Take out the constraint
-	  parameter congruence adding method declarations.  Correct some of
-	  the predicate methods.
-
-	  Add to Open_Product the remaining constructors, ~Open_Product()
-	  and operator=.  Define Open_Product::is_universe().
-
-2006-06-15 Thursday 17:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[33,15]): Added provision for prefixing topology
-	  wherever in the C++ class name the class "Polyhdedron".  Only
-	  tested for the basic Polyhedron class and only in the Prolog
-	  interface code.
-
-2006-06-15 Thursday 16:16  Matthew Mundell
-
-	* tests/Grid/directproduct2.cc (1.3): Typedef Product to
-	  Open_Product instead of Reduced_Product.
-
-2006-06-15 Thursday 16:08  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.12), Direct_Product.inlines.hh
-	  (1.13), Direct_Product.templates.hh (1.9),
-	  Direct_Product.types.hh (1.3): Rename Reduced_Product
-	  Open_Product.  Reorder sytem-returning method declarations.  Move
-	  empty-reduce methods into Open_Product.  Define rest of predicate
-	  methods (is_bounded(), etc).
-
-2006-06-15 Thursday 15:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4
-	  (interfaces.[32,17]): Some bugs fixed.
-
-2006-06-15 Thursday 10:36  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.47): Corrected a code
-	  line in      Octagonal_Shape<T>::generalized_affine_preimage().
-	  Added some new tests on
-	  Octagonal_Shape<T>::generalized_affine_preimage().
-
-2006-06-15 Thursday 09:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4
-	  (interfaces.[31,16]): Revised comments to match previous changes.
-	  Improved a few macro names.
-
-2006-06-15 Thursday 09:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_systems.m4
-	  (interfaces.[30,12,15,8]):   The m4_class (ie the interface name)
-	  and the m4_cpp_name are
-	    never passed as arguments now. Instead the number of the class
-	    is passed (as well as the class_kind) and the names are found
-	    from the definition generated in the initialisation phase.
-
-	    The macro definitions for the initialisation of the class
-	    names been moved from ppl_interface_generator_common.m4
-	    to ppl_interface_generator_common_dat.m4 as these are then
-	    used as fixed macros for the main code generation.
-
-	  The order of generation has been changed.  The @CLASS@ and
-	  @CPP_CLASS@ are replaced by the actual class names immediately
-	  after getting the code (or, for the Prolog systems, the
-	  exntensions have been added)
-
-	  In Prolog/ppl_interface_generator_prolog_systems.m4, the macros
-	  for generating the Prolog system code for fixed library
-	  predicates now uses code specific to these predicates.
-
-2006-06-14 Wednesday 19:20  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.9): Add tests of the rest of the
-	  system-returning methods.
-
-2006-06-14 Wednesday 19:20  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.11), Direct_Product.inlines.hh
-	  (1.12), Direct_Product.templates.hh (1.8): Add relation_with(g).
-	  Define Direct_Product(gs), Direct_Product(cbox) and the rest of
-	  the system-returning methods.
-
-2006-06-14 Wednesday 16:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  C/ppl_interface_generator_c_cc.m4,
-	  C/ppl_interface_generator_c_h.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4
-	  (interfaces.[29,11,6,6,22,14]): Improved and corrected macro
-	  definitions for m4_filter and m4_filter_all.	Started passing the
-	  class number instead of the m4_interface_class_name and
-	  m4_cplusplus_class_name as arguments to macros.
-
-2006-06-12 Monday 19:00  Matthew Mundell
-
-	* src/Direct_Product.defs.hh (1.10), src/Direct_Product.inlines.hh
-	  (1.11), src/Direct_Product.templates.hh (1.7),
-	  src/Direct_Product.types.hh (1.2), tests/Grid/directproduct2.cc
-	  (1.2): Introduce Reduced_Product.  Move most Direct_Product
-	  reduce methods into Reduced_Product.
-
-2006-06-12 Monday 18:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[28,10,21,13,14]): Revised the way the pattern
-	  replacements are defined and revised the code for replacement.
-
-	  Extended the prolog_dat.m4 list of predicates that can generate
-	  code for BD_Shape to match that of the C interface (and removed a
-	  bug that prevented BD_Shape widening compiling).
-
-2006-06-12 Monday 17:27  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.38), directproduct1.cc (1.8),
-	  directproduct2.cc (1.1): Add tests of time_elapse_assign(dp) and
-	  topological_closure_assign() to directproduct1.  Add
-	  directproduct2.  Move directproduct1 reduce tests into
-	  directproduct2.
-
-2006-06-12 Monday 17:26  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.9), Direct_Product.inlines.hh
-	  (1.10): Declare Generator_System constructors.  Implement
-	  time_elapse_assign(dp) and topological_closure_assign().
-
-2006-06-12 Monday 16:03  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.7): Add tests of
-	  difference_assign(y) and of the affine transformation methods.
-
-2006-06-12 Monday 16:03  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.8), Direct_Product.inlines.hh
-	  (1.9), Direct_Product.templates.hh (1.6): Declare Generator
-	  adding methods.  Implement difference_assign(y) and the affine
-	  transformation methods.
-
-2006-06-12 Monday 16:02  Matthew Mundell
-
-	* tests/Grid/: generalizedaffinepreimage1.cc (1.12),
-	  generalizedaffinepreimage2.cc (1.12): Move
-	  generalizedaffinepreimage2 test06 into
-	  generalizedaffinepreimage1.
-
-2006-06-11 Sunday 10:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  C/ppl_interface_generator_c_cc_code.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[27,11,20,20,13]): Corrected a bug introduced for
-	  formatting.
-
-	  Revised the use of generator to grid_generator to match changes
-	  due to merge from the trunk.
-
-	  Removed the use of alt_box replacement for the grid
-	  "get_covering_box" and "get_bounding_box", by providing the code
-	  explicitly.
-
-	  Now the "alt_" replacement is not used anymore and this option
-	  for defining replacements will be removed later when other
-	  improvements here are made..
-
-2006-06-11 Sunday 09:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.defs.hh, src/Congruence.inlines.hh,
-	  src/Congruence_System.cc, src/Direct_Product.defs.hh,
-	  src/Direct_Product.inlines.hh, src/Direct_Product.templates.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_System.cc, src/Grid_Generator_System.defs.hh,
-	  src/Grid_chdims.cc, src/Grid_conversion.cc, src/Grid_public.cc,
-	  src/Grid_simplify.cc, src/Grid_widenings.cc,
-	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
-	  src/Makefile.am, src/Polyhedron.defs.hh, src/globals.defs.hh,
-	  tests/print.cc, tests/Grid/Makefile.am,
-	  tests/Grid/addcongruence1.cc, tests/Grid/addcongruences1.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/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
-	  tests/Grid/asciidumpload7.cc, tests/Grid/bhz03widening1.cc,
-	  tests/Grid/bounded1.cc, tests/Grid/boundingbox1.cc,
-	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
-	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
-	  tests/Grid/congruences1.cc, tests/Grid/congruences2.cc,
-	  tests/Grid/contains1.cc, tests/Grid/coveringbox1.cc,
-	  tests/Grid/coveringbox2.cc, tests/Grid/directproduct1.cc,
-	  tests/Grid/discrete1.cc, tests/Grid/disjoint1.cc,
-	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
-	  tests/Grid/foldspacedims1.cc,
-	  tests/Grid/generalizedaffineimage1.cc,
-	  tests/Grid/generalizedaffineimage2.cc,
-	  tests/Grid/generalizedaffinepreimage1.cc,
-	  tests/Grid/generalizedaffinepreimage2.cc,
-	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
-	  tests/Grid/grid1.cc, tests/Grid/grid3.cc,
-	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
-	  tests/Grid/isempty1.cc, tests/Grid/join1.cc, tests/Grid/join2.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/mingenerators1.cc, tests/Grid/outputoperator1.cc,
-	  tests/Grid/relations2.cc, tests/Grid/relations3.cc,
-	  tests/Grid/removespacedims1.cc, tests/Grid/removespacedims2.cc,
-	  tests/Grid/timeelapse1.cc, tests/Grid/topclosed1.cc,
-	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
-	  tests/Grid/widening3.cc
-	  (interfaces.[1,1,1,1,1,2,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,2,1,1,1,1,1,1,1,1,1,1,1,1,2,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-06-10 Saturday 12:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.9):
-	  Comment improved.
-
-2006-06-10 Saturday 12:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4
-	  (interfaces.[26,8,19,19]): Bug fixed in
-	  Prolog/ppl_interface_generator_prolog_dat.m4
-
-	  Comments improved.
-
-	  Improvements to formatting.
-
-2006-06-10 Saturday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4,
-	  ppl_interface_generator_prolog_icc_code.m4 (interfaces.[18,12]):
-	  Now using `@' as a pattern delimiter.
-
-2006-06-10 Saturday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (interfaces.7): Changed macro m4_pattern_delimiter so as to use
-	  `@' as a delimiter.
-
-2006-06-10 Saturday 10:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4,
-	  ppl_interface_generator_c_dat.m4,
-	  ppl_interface_generator_c_h_code.m4 (interfaces.[10,18,9]): Now
-	  patterns are delimited by `@'.
-
-2006-06-10 Saturday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common.m4 (interfaces.25):
-	  Changed macros m4_extension and m4_pattern_delimiter so as to
-	  allow for the use of `@' as a pattern delimiter.
-
-2006-06-09 Friday 23:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4
-	  (interfaces.[24,7,17,17]): Revised the way the groups of classes
-	  are defined and used.  Thus the selection and deselection of a
-	  procedure for a given group or class kind is clearer and easier
-	  to extend.  An initial list of groups and the classes they
-	  include is provided in ppl_interface_generator_common_dat.m4.
-
-	  Also, allow for arity and the attribute "nofail" to be optionally
-	  defined and occur anywhere in the info text after the procedure
-	  name.
-
-2006-06-09 Friday 16:07  Matthew Mundell
-
-	* tests/Grid/expandspacedim1.cc (1.10): Add the description to the
-	  print message in test04.
-
-2006-06-09 Friday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/expandspacedim1.cc (altnum.1): file expandspacedim1.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-09 Friday 16:06  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.6): Add tests of the dimension
-	  changing methods.
-
-2006-06-09 Friday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/directproduct1.cc (interfaces.1): file
-	  directproduct1.cc was added on branch interfaces on 2006-06-11
-	  07:13:48 +0000
-
-2006-06-09 Friday 16:02  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.7), Direct_Product.inlines.hh
-	  (1.8), Direct_Product.templates.hh (1.5): Rename methods,
-	  replacing "generator" with "grid_generator".	Add
-	  grid_generators() and minimized_grid_generators().  Implement
-	  congruences(), add_grid_generator(g),
-	  add_grid_generator_and_minimize(g) and the dimension changing
-	  methods.
-
-2006-06-09 Friday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Direct_Product.templates.hh (interfaces.1): file
-	  Direct_Product.templates.hh was added on branch interfaces on
-	  2006-06-11 07:13:47 +0000
-
-2006-06-09 Friday 14:06  Matthew Mundell
-
-	* tests/Grid/removespacedims2.cc (1.12): Add test12.
-
-2006-06-09 Friday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/removespacedims2.cc (altnum.1): file
-	  removespacedims2.cc was added on branch altnum on 2006-10-29
-	  19:27:28 +0000
-
-2006-06-09 Friday 14:05  Matthew Mundell
-
-	* src/Grid_chdims.cc (1.9): Correct the dim_kinds to congruence
-	  mapping assumed in the congruence case of
-	  remove_higher_space_dimensions.
-
-2006-06-09 Friday 13:59  Matthew Mundell
-
-	* tests/Grid/concatenate1.cc (1.12): Order the known_cgs insertions
-	  in test05 by dimension.
-
-2006-06-09 Friday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/concatenate1.cc (altnum.1): file concatenate1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 20:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	*
-	  interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
-	  (interfaces.4): Added a few comments.
-
-2006-06-08 Thursday 20:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_common_dat.m4 (interfaces.[23,6]):
-	  Updated so as to exploit the configuration-generated information
-	  about the required instantiations.
-
-2006-06-08 Thursday 20:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: C/Makefile.am, Prolog/Makefile.am,
-	  Prolog/Ciao/Makefile.am, Prolog/GNU/Makefile.am,
-	  Prolog/SICStus/Makefile.am, Prolog/SWI/Makefile.am,
-	  Prolog/XSB/Makefile.am, Prolog/YAP/Makefile.am
-	  (interfaces.[2,2,3,4,2,2,2,2]): Updated so as to allow m4 to
-	  include from $(top_buildir)/interfaces.
-
-2006-06-08 Thursday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: SWI/ppl_interface_generator_swiprolog_cc.m4,
-	  YAP/ppl_interface_generator_yap_cc.m4 (interfaces.[5,3]): Added
-	  useful comments.
-
-2006-06-08 Thursday 19:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
-	  (interfaces.6): Adapted to new style of common macros. Also added
-	  a few coments.
-
-2006-06-08 Thursday 19:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.11): Added a cople of newlines where needed.
-
-2006-06-08 Thursday 19:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: C/ppl_interface_generator_c_h.m4,
-	  C/ppl_interface_generator_c_cc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4
-	  (interfaces.[5,5,12]): Adapted to new style of global macros.
-	  Also added a few comments.
-
-2006-06-08 Thursday 19:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.16):
-	  Use commas to separate entries in m4_procedure_list.
-
-2006-06-08 Thursday 19:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_code.m4 (interfaces.8):
-	  Added a few missing commas that were at the origina of a
-	  debugging nightmare.
-
-2006-06-08 Thursday 19:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common.m4 (interfaces.22): The
-	  common macros changed so as to prefer working with explicit
-	  arguments rather than global macros. There still are global
-	  macros, but these are restricted to be the ones defined in the
-	  _dat files.
-
-2006-06-08 Thursday 12:05  Matthew Mundell
-
-	* tests/Grid/addcongruence1.cc (1.11),
-	  tests/Grid/addcongruences1.cc (1.14), tests/Grid/addgenerator1.cc
-	  (1.13), tests/Grid/addgenerators1.cc (1.12),
-	  tests/Grid/addspacedims1.cc (1.12), tests/Grid/affinedim1.cc
-	  (1.10), tests/Grid/affineimage1.cc (1.11),
-	  tests/Grid/affineimage2.cc (1.8), tests/Grid/affinepreimage1.cc
-	  (1.10), tests/Grid/affinepreimage2.cc (1.5),
-	  tests/Grid/asciidumpload1.cc (1.11), tests/Grid/asciidumpload2.cc
-	  (1.4), tests/Grid/bounded1.cc (1.11), tests/Grid/boundingbox1.cc
-	  (1.12), tests/Grid/boundingbox2.cc (1.9), tests/Grid/bounds1.cc
-	  (1.13), tests/Grid/certificate1.cc (1.11),
-	  tests/Grid/congruences1.cc (1.10), tests/Grid/contains1.cc
-	  (1.10), tests/Grid/coveringbox1.cc (1.12),
-	  tests/Grid/coveringbox2.cc (1.9), tests/Grid/directproduct1.cc
-	  (1.5), tests/Grid/discrete1.cc (1.5), tests/Grid/disjoint1.cc
-	  (1.9), tests/Grid/equals1.cc (1.10),
-	  tests/Grid/expandspacedim1.cc (1.9), tests/Grid/foldspacedims1.cc
-	  (1.9), tests/Grid/generalizedaffineimage1.cc (1.10),
-	  tests/Grid/generalizedaffineimage2.cc (1.9),
-	  tests/Grid/generalizedaffinepreimage1.cc (1.11),
-	  tests/Grid/generalizedaffinepreimage2.cc (1.11),
-	  tests/Grid/generators1.cc (1.11), tests/Grid/grid1.cc (1.16),
-	  tests/Grid/griddifference1.cc (1.10), tests/Grid/intersection1.cc
-	  (1.9), tests/Grid/isempty1.cc (1.6), tests/Grid/join1.cc (1.14),
-	  tests/Grid/join2.cc (1.9), tests/Grid/limitedextrapolation1.cc
-	  (1.10), tests/Grid/limitedextrapolation2.cc (1.4),
-	  tests/Grid/limitedextrapolation3.cc (1.3),
-	  tests/Grid/mapspacedims1.cc (1.9), tests/Grid/maxmin1.cc (1.10),
-	  tests/Grid/membytes1.cc (1.6), tests/Grid/mingenerators1.cc
-	  (1.8), tests/Grid/outputoperator1.cc (1.7),
-	  tests/Grid/relations2.cc (1.12), tests/Grid/relations3.cc (1.4),
-	  tests/Grid/removespacedims1.cc (1.12),
-	  tests/Grid/removespacedims2.cc (1.11), tests/Grid/timeelapse1.cc
-	  (1.9), tests/Grid/topclosed1.cc (1.10), tests/Grid/widening1.cc
-	  (1.13), tests/Grid/widening2.cc (1.6), tests/Grid/widening3.cc
-	  (1.3), src/Direct_Product.defs.hh (1.6),
-	  src/Direct_Product.inlines.hh (1.7),
-	  src/Direct_Product.templates.hh (1.4), src/Grid.defs.hh (1.24),
-	  src/Grid.templates.hh (1.15), src/Grid_public.cc (1.31),
-	  src/Grid_widenings.cc (1.9), tests/print.cc (1.26): Rename
-	  Grid_Generator methods, replacing "generator" with
-	  "grid_generator".
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addcongruence1.cc (altnum.1): file addcongruence1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addcongruences1.cc (altnum.1): file addcongruences1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addgenerator1.cc (altnum.1): file addgenerator1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addgenerators1.cc (altnum.1): file addgenerators1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addspacedims1.cc (altnum.1): file addspacedims1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affinedim1.cc (altnum.1): file affinedim1.cc was added
-	  on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affineimage1.cc (altnum.1): file affineimage1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affinepreimage1.cc (altnum.1): file affinepreimage1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affinepreimage2.cc (altnum.1): file affinepreimage2.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload2.cc (altnum.1): file asciidumpload2.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/bounded1.cc (altnum.1): file bounded1.cc was added on
-	  branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/bounds1.cc (altnum.1): file bounds1.cc was added on
-	  branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/congruences1.cc (altnum.1): file congruences1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/contains1.cc (altnum.1): file contains1.cc was added
-	  on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/coveringbox1.cc (altnum.1): file coveringbox1.cc was
-	  added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/disjoint1.cc (altnum.1): file disjoint1.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generators1.cc (altnum.1): file generators1.cc was
-	  added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/griddifference1.cc (altnum.1): file griddifference1.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/intersection1.cc (altnum.1): file intersection1.cc was
-	  added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/isempty1.cc (altnum.1): file isempty1.cc was added on
-	  branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/join1.cc (altnum.1): file join1.cc was added on branch
-	  altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/join2.cc (altnum.1): file join2.cc was added on branch
-	  altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/limitedextrapolation1.cc (altnum.1): file
-	  limitedextrapolation1.cc was added on branch altnum on 2006-10-29
-	  19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/limitedextrapolation2.cc (altnum.1): file
-	  limitedextrapolation2.cc was added on branch altnum on 2006-10-29
-	  19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/limitedextrapolation3.cc (altnum.1): file
-	  limitedextrapolation3.cc was added on branch altnum on 2006-10-29
-	  19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/mapspacedims1.cc (altnum.1): file mapspacedims1.cc was
-	  added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/maxmin1.cc (altnum.1): file maxmin1.cc was added on
-	  branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/mingenerators1.cc (altnum.1): file mingenerators1.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/outputoperator1.cc (altnum.1): file outputoperator1.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/relations3.cc (simplex.1): file relations3.cc was
-	  added on branch simplex on 2006-09-06 18:41:55 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/removespacedims1.cc (altnum.1): file
-	  removespacedims1.cc was added on branch altnum on 2006-10-29
-	  19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/timeelapse1.cc (altnum.1): file timeelapse1.cc was
-	  added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/topclosed1.cc (altnum.1): file topclosed1.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/widening1.cc (altnum.1): file widening1.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/widening3.cc (altnum.1): file widening3.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-08 Thursday 08:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_icc.m4,
-	  Ciao/ppl_interface_generator_ciao_pl.m4 (interfaces.[11,5]):
-	  Corrected a bug in _ciao_pl.m4.
-
-	  Corrected a bug in the addition of the extra widening code in
-	  _icc.m4.  Also removed code that checked the number of binop
-	  replacements for that class: this is because, now LP_Problem is a
-	  fixed class, all the classes denote domains with at least one
-	  binary operator.
-
-2006-06-07 Wednesday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, interfaces/Makefile.am (interfaces.[4,1]): Finished
-	  the support for the --enable-instantiations configuration option.
-
-2006-06-07 Wednesday 21:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
-	  (interfaces.10): Fixed a bug in the expansion of num_binops for
-	  generating the Prolog ppl_prolog.icc.
-
-2006-06-07 Wednesday 17:46  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.4): Add tests of
-	  intersection_assign and upper_bound_assign.  Enable the grid
-	  generator constructor tests.
-
-2006-06-07 Wednesday 17:44  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.5), Direct_Product.inlines.hh
-	  (1.6), Direct_Product.templates.hh (1.3): Add
-	  empty_reduce_d1_with_d2() and empty_reduce_d2_with_d1().  Define
-	  add_generator().  Add Grid Polyhedron specialisations off
-	  add_generator() and of the grid generator constructors.  Take out
-	  grid methods intersection_assign_and_minimize,
-	  join_assign_and_minimize and join_assign_if_exact.
-
-2006-06-07 Wednesday 15:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.5):
-	  is_disjoint_from is also defined for BD shapes.
-
-2006-06-07 Wednesday 15:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.4):
-	  Restored join_assign and join_assign_and minimize for Grids.
-
-2006-06-07 Wednesday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.10): Added spaces at the end of function definitions
-	  to improve readability of generated file. Try to avoid spurious
-	  indentations in the definnition of parameter lists.
-
-2006-06-07 Wednesday 14:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.3):
-	  The first 5 binary operators are common to all instantiations.
-	  Polyhedra and BD_Shape have some *further* binary operators with
-	  instantiation specific names.  For simplicity, do NOT have
-	  binminop's depend on binop's.
-
-2006-06-07 Wednesday 14:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4,
-	  ppl_interface_generator_c_dat.m4,
-	  ppl_interface_generator_c_h_code.m4 (interfaces.[9,15,7]): Method
-	  concatenate_assign is now dealt with as all the other binary
-	  operators.
-
-2006-06-07 Wednesday 14:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common_dat.m4,
-	  C/ppl_interface_generator_c_cc_code.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  C/ppl_interface_generator_c_h_code.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[2,8,14,6,9]): Swap generator and grid generator in
-	  replacement code.
-
-2006-06-07 Wednesday 14:16  Matthew Mundell
-
-	* tests/Grid/: join1.cc (1.13), join2.cc (1.8): Move join1 test12
-	  to join2.  Add join2 test13, to test
-	  upper_bound_assign_and_minimize().
-
-2006-06-07 Wednesday 14:14  Matthew Mundell
-
-	* src/: Grid.defs.hh (1.23), Grid.inlines.hh (1.8): Add
-	  upper_bound_assign_and_minimize().
-
-2006-06-07 Wednesday 13:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
-	  (interfaces.16): Include file
-	  ppl_interface_generator_common_dat.m4 instead of repeating
-	  language independent macros. Prefer dnl to # for m4 comments.
-
-2006-06-07 Wednesday 13:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.13):
-	  Include ppl_interface_generator_common_dat.m4 instead of
-	  repeating language independent macros. LP_Problem is always
-	  interfaced. Dropped arities from name of procedures.
-
-2006-06-07 Wednesday 13:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4,
-	  ppl_interface_generator_c_h_code.m4 (interfaces.[7,5]): Dropped
-	  trailing underscore from patterns TOPOLOGY_ and INTOPOLOGY_.
-
-2006-06-07 Wednesday 13:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common.m4 (interfaces.21):
-	  Simplified macro m4_replace_class_patterns.
-
-2006-06-07 Wednesday 13:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common_dat.m4 (interfaces.1):
-	  The common (i.e., language indepedent) part of
-	  ppl_interface_generator_<LANG>_dat.m4 moved here to avoid
-	  inconsistencies.
-
-2006-06-07 Wednesday 12:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_systems.m4
-	  (interfaces.[20,5]): Added a macro "m4_pattern_delimiter".  This
-	  is defined in ppl_interface_generator_common.m4 as `4' and
-	  Prolog/ppl_interface_generator_prolog_systems.m4 as `4'.
-
-	  When the patterns in the procedure macro names have no
-	  delimeters, and when the code has @ delimiter, these must be
-	  changed, the common definition to `@' and the system definition
-	  to `'.
-
-2006-06-07 Wednesday 10:33  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.3): Add is_universe() tests.
-
-2006-06-06 Tuesday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_dat.m4
-	  (interfaces.15): Bug corrected.
-
-2006-06-06 Tuesday 21:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4,
-	  ppl_interface_generator_prolog_icc_code.m4,
-	  ppl_interface_generator_prolog_icc_preamble
-	  (interfaces.[14,8,4]): term_to_polyhedron_handle and similar are
-	  now with the class name (polyhedron) in capitals.  Many of the
-	  BD_Shape procedures are now compiling ok in the Prolog interface.
-
-2006-06-06 Tuesday 18:54  Matthew Mundell
-
-	* tests/Grid/directproduct1.cc (1.2): Add tests of is_empty() and
-	  reduce().
-
-2006-06-06 Tuesday 18:52  Matthew Mundell
-
-	* tests/Grid/bhz03widening1.cc (1.9): Correct spacing.
-
-2006-06-06 Tuesday 18:52  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.4), Direct_Product.inlines.hh
-	  (1.5), Direct_Product.templates.hh (1.2): Implement is_empty and
-	  is_universe.	Specialise the reduce methods for
-	  Direct_Product<NNC_Polyhedron, Grid>.
-
-2006-06-06 Tuesday 17:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_interface_generator_prolog_dat.m4,
-	  ppl_interface_generator_prolog_icc_code.m4,
-	  ppl_interface_generator_prolog_icc_preamble
-	  (interfaces.[13,7,3]): LP_Problem is no longer generated with the
-	  other classes.  In the dat.m4 file, all the LP_Problem procedures
-	  are listed as "library procedures" for the system Prolog files.
-
-2006-06-06 Tuesday 16:05  Matthew Mundell
-
-	* src/: Congruence.defs.hh (1.12), Congruence.inlines.hh (1.11):
-	  Take out the private version of modulus().
-
-2006-06-06 Tuesday 15:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/exceptions.hh,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_preamble
-	  (interfaces.[19,2,12,9,6,2]): In
-	  ppl_interface_generator_common.m4, revised `m4_get_code_schema'
-	  to correct a bug.
-
-	  In the Prolog directory Allow for exceptions for any user class
-	  when using ppl class handles. There is one common exception
-	  called ppl_handle_mismatch for all classes.
-
-	  The code for term_to_polyhedron_handle and similar is now
-	  replaced by a schema that generates this code for all the user
-	  classes.
-
-	  The procedure list has XBD_Shape everywhere and the user class
-	  BD_Shape<int8_t> added to the list of classes being tested.
-
-2006-06-06 Tuesday 14:09  Matthew Mundell
-
-	* src/: Direct_Product.inlines.hh (1.4),
-	  Direct_Product.templates.hh (1.1), Makefile.am (1.154): Add
-	  Direct_Product.templates.hh.	Move reduce() and ascii_load(s)
-	  there.  Add inline keyword to all inline methods definitions.
-
-2006-06-06 Tuesday 13:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.12):
-	  Use @ instead of , to separate instances.
-
-2006-06-06 Tuesday 13:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (interfaces.6):
-	  Corrected code schemas using pattern DESCRIBE.
-
-2006-06-06 Tuesday 13:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh, BD_Shape.inlines.hh,
-	  BD_Shape.templates.hh (interfaces.[1,1,1]): Added methods:
-	  shrink_bounding_box	is_topologically_closed
-	  topologcal_closure_assign   is_disjoint_from
-	  add_recycled_constraints   add_recycled_constraints_and_minimize.
-
-2006-06-06 Tuesday 12:33  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.37), asciidumpload7.cc (1.1),
-	  directproduct1.cc (1.1): Add directproduct1 and asciidumpload7.
-
-2006-06-06 Tuesday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload7.cc (altnum.1): file asciidumpload7.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-06-06 Tuesday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload7.cc (interfaces.1): file
-	  asciidumpload7.cc was added on branch interfaces on 2006-06-11
-	  07:13:48 +0000
-
-2006-06-06 Tuesday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload7.cc (octagons.1): file asciidumpload7.cc
-	  was added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-06-06 Tuesday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload7.cc (simplex.1): file asciidumpload7.cc
-	  was added on branch simplex on 2006-09-06 18:41:54 +0000
-
-2006-06-05 Monday 19:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common.m4 (interfaces.18):
-	  Fixed an old bug whereby "Polyhedron" could not be used to
-	  indicate that that was the only class to be coded for the
-	  schematic procedure name.
-
-2006-06-05 Monday 17:43  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.3), Direct_Product.inlines.hh
-	  (1.3): Add Direct_Product(bbox).
-
-2006-06-05 Monday 17:41  Matthew Mundell
-
-	* src/Grid.defs.hh (1.22), src/Grid_public.cc (1.30),
-	  tests/Grid/topclosed1.cc (1.9): Update is_topologically_closed to
-	  return true always.
-
-2006-06-05 Monday 17:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4, C/ppl_c.cc,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[17,1,11,5]): Fixed a bug in the Prolog dat.m4 file.
-	  Changed the separator in the input list to be an @ and not a ,.
-
-2006-06-05 Monday 17:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.11):
-	  Temporarily disable the generation of a few functions in some
-	  interfaces.
-
-2006-06-05 Monday 17:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
-	  (interfaces.4): Corrected comment in the first line.
-
-2006-06-05 Monday 17:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_interface_generator_prolog_icc.m4
-	  (interfaces.8): Prefer dnl to ifelse to have an m4 comment.
-
-2006-06-05 Monday 15:49  Matthew Mundell
-
-	* tests/Grid/generator1.cc (1.18): Add test23, which tests
-	  Linear_Expression(const Grid_Generator&).
-
-2006-06-05 Monday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generator1.cc (altnum.1): file generator1.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-06-05 Monday 15:48  Matthew Mundell
-
-	* src/: Grid_Generator.defs.hh (1.23), Linear_Expression.cc (1.12),
-	  Linear_Expression.defs.hh (1.26): Add Linear_Expression(const
-	  Grid_Generator&).
-
-2006-06-05 Monday 14:55  Matthew Mundell
-
-	* src/: Grid.defs.hh (1.21), Polyhedron.defs.hh (1.298): Correct
-	  type of get_lower_bound and get_upper_bound `closed' arguments in
-	  docs.
-
-2006-06-05 Monday 14:54  Matthew Mundell
-
-	* src/Grid.templates.hh (1.14): Add initialisation of box
-	  constructor closed flag variables.
-
-2006-06-05 Monday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.10):
-	  Octagon renamed Octagonal_Shape.  join_assign renamed
-	  upper_bound_assign.
-
-2006-06-05 Monday 12:11  Matthew Mundell
-
-	* src/: Direct_Product.defs.hh (1.2), Direct_Product.inlines.hh
-	  (1.2): Add domain1(), domain2(), reduce_domain1_with_domain2(),
-	  reduce_domain2_with_domain1(), reduce(), OK(), ascii methods and
-	  operator<<.  Implement some of the already defined methods.
-
-2006-06-05 Monday 12:09  Matthew Mundell
-
-	* src/globals.defs.hh (1.37): Add macro
-	  PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS.
-
-2006-06-05 Monday 10:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common.m4 (interfaces.16): In
-	  macro m4_replace_pattern, which gets called several times and
-	  re-defines the same macros (PATTERN, num_strings, etc.) each
-	  time, prefer using bultins pushdef and popdef instead of define.
-	  Same change in m4_all_classes_loop.  Prefer using pattern
-	  4CPP_CLASS4 to 4SYSCLASS4.  Macro m4_replace_with_code renamed as
-	  m4_get_code_schema.  Macro m4_filter changed so as to perform
-	  filtering by using m4_class_kind instead of m4_class.
-
-2006-06-05 Monday 10:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_preamble (interfaces.5):
-	  The CPP macro PPL_TYPE_DECLARATION made more readable by adding
-	  line breaks.
-
-2006-06-05 Monday 10:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_code.m4 (interfaces.5):
-	  In the code schemas, using pattern 4CPP_CLASS4 instead of 4CLASS4
-	  where appropriate.
-
-2006-06-05 Monday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc.m4 (interfaces.4): The
-	  class preamble changed to invoke DECLARE_CONVERSIONS with two
-	  arguments.
-
-2006-06-05 Monday 10:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc_preamble
-	  (interfaces.4): The CPP macro DEECLARE_CONVERSIONS changed to
-	  take two arguments so as to also accomodate for the case of
-	  templatic classes, where the interface class name is different
-	  from the C++ class name in a nontrivial way.
-
-2006-06-05 Monday 10:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (interfaces.4):
-	  Prefer dnl to # for m4 comments.
-
-2006-06-05 Monday 10:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.9):
-	  Prefer dnl to # to implement m4 comments.  Let the macros
-	  m4_class_group and m4_class_super_group take an argument instead
-	  of having its value hard-wired in.  The macro
-	  m4_pattern_substitution_list renamed as m4_patter_list (because
-	  it only list patterns and not their substitutions); dropped a
-	  mismatched parenthesis at the end of the list.
-
-2006-06-05 Monday 09:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (interfaces.[15,7]):
-	  Renamed and changed macro "m4_set_class" to
-	  "m4_replace_class_patterns".
-
-	  New version allows for different patterns for the class name so
-	  as to differentiate between the different applications of the
-	  pattern (user name, C++ name and the kind of class).
-
-2006-06-04 Sunday 22:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[14,8,10,4]): In ppl_interface_generator_common.m4,
-	  changed the macro name set_schema_strings to
-	  replace_all_patterns.
-
-	  The same name change in C/ppl_interface_generator_c_dat.m4 and
-	  Prolog/ppl_interface_generator_prolog_dat.m4 where this macro is
-	  defined.
-
-	  In the Prolog interface, the and_embed and and_project combined
-	  into one schema as already done in the C interface.
-
-	  In response to a FIXME comment in the C interface code, the
-	  concatenate_assign is now included in the schema corresponding to
-	  the binop pattern. This change has only been done in the Prolog
-	  interface.
-
-2006-06-04 Sunday 22:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/ppl_interface_generator_common.m4 (interfaces.13):
-	  Added example for m4_get_name_components.  Entended macro
-	  m4_all_classes_loop to define more macros about the current class
-	  name - its components and type.  Added an example to show what is
-	  defined.
-
-2006-06-04 Sunday 16:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  C/ppl_interface_generator_c_cc_code.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  C/ppl_interface_generator_c_h_code.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[12,4,7,4,9,6,3]): All the patterns have been changed
-	  to 4PATTERN4 or 4UALT_PATTERN4 or 4UPATTERN4 or 4ALT_PATTERN4.
-	  Several patterns have improved names.  The pattern M4_CLASS is
-	  replaced by 4CLASS4 everywhere.
-
-2006-06-03 Saturday 16:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h_preamble (interfaces.4):
-	  Some formatting.  Declare print functions for congruences, grid
-	  generatorsand their systems.
-
-2006-06-03 Saturday 16:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_h.m4 (interfaces.3):
-	  Classes should be declared outside of the Doxygen documentation
-	  block listing their functions.
-
-2006-06-03 Saturday 16:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.6):
-	  Classes should be declared outside of the Doxygen comment block
-	  listing their functions.
-
-2006-06-03 Saturday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_code.m4,
-	  ppl_interface_generator_c_h_code.m4 (interfaces.[3,3]): We now
-	  have a single ppl_new_<classname>_from_space_dimension() method,
-	  also taking an integer (interpreted as a Boolean) dictating
-	  whether or not the new object has to be empty or universe.
-
-2006-06-03 Saturday 14:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc_preamble,
-	  ppl_interface_generator_c_h_preamble (interfaces.[3,3]): Added a
-	  lot of (fixed, i.e., non m4-generated) interface code for the
-	  handling of congruences, grid generators and their systems.
-
-2006-06-03 Saturday 11:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4 (interfaces.[11,5]):
-	  Renamed m4_set_string by m4_replace_pattern.
-
-2006-06-03 Saturday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/ppl_interface_generator_common.m4 (interfaces.10):
-	  Prefer dnl to # when writing m4 comments.
-
-	  In macro m4_set_string(), made the following substitutions for
-	  readability:	- ustring	      ==> PATTERN  - actual_string
-	       ==> replacement	- alt_actual_string   ==> alt_replacement
-	  - Uactual_string	==> Replacement  - Ualt_actual_string  ==>
-	  Alt_Replacement
-
-	  Macros m4_init_*_classes() now take a single argument. The
-	  counter is only used by the auxiliary macros
-	  m4_init_*_classes_aux().
-
-2006-06-03 Saturday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc.m4,
-	  ppl_interface_generator_c_cc_code.m4,
-	  ppl_interface_generator_c_cc_preamble,
-	  ppl_interface_generator_c_dat.m4, ppl_interface_generator_c_h.m4,
-	  ppl_interface_generator_c_h_code.m4,
-	  ppl_interface_generator_c_h_preamble
-	  (interfaces.[3,2,2,5,2,2,2]): Corrected so as to use M4_CLASS and
-	  the new common functions defined by Pat.  Also made further steps
-	  towards the generation of the Grid C interface.
-
-2006-06-02 Friday 11:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (interfaces.[9,8]):
-	  Improved some comments.  Removed the definition and use of the
-	  short_class_name.
-
-2006-06-02 Friday 10:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (interfaces.[8,7]):
-	  Revised the way the user list of classes is handled and now the
-	  list of classes for both the interface names and the C++
-	  procedures must be a comma separated sequence.
-
-2006-06-02 Friday 08:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4 (interfaces.[7,6]):
-	  Changed the way the list of classes to be supported is given and
-	  how these are handled.  This aims to allow for automatic
-	  generation of these lists by the configure file.
-
-	  The current code will support the classes such as Polyhhedron,
-	  LP_Problem, Grid and also those such as BD_Shape<int8_t> with a
-	  numeric type.
-
-2006-06-01 Thursday 12:26  Matthew Mundell
-
-	* tests/Grid/coveringbox1.cc (1.11): Update test13 to DO_TEST_F16.
-
-2006-06-01 Thursday 11:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_systems.m4,
-	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
-	  Prolog/XSB/ppl_interface_generator_xsb_H.m4,
-	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
-	  Prolog/YAP/ppl_interface_generator_yap_cc.m4
-	  (interfaces.[6,4,4,4,3,3,3,3,2]): The macro "m4_extension" is now
-	  defined directly in the Prolog systems m4 files. The macro
-	  "extension" is no more.
-
-	  This change only affects the Prolog interface as the default
-	  definition for "m4_extension" for the C++ and C files is in the
-	  common.m4 file.
-
-	  Also, in common.m4, the internal counters for calls to
-	  m4_forloop, renamed as m4_i.
-
-2006-06-01 Thursday 10:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4
-	  (interfaces.[5,5,4,2]): The dynamically created macro "class" is
-	  now "m4_class".  The fixed list of classes "Class`'i is now
-	  m4_Class`'i The pattern CLASS is now M4_CLASS The pattern cLASS
-	  is now M4_lCLASS (l = lower case) Note that these changes need
-	  propagating in the C interface files.
-
-2006-06-01 Thursday 08:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4
-	  (interfaces.[4,4,4]): The dat.m4 file for the C interface is
-	  updated with changes to that in the prolog interface.
-
-	  Comments in the Prolog interface dat.m4 file improved.
-
-	  The arity "/" symbol is now optional for the procedure schema
-	  names - but this needs testing in the C interface.
-
-2006-05-31 Wednesday 23:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_systems.m4
-	  (interfaces.[3,3,3,3]): Redone some code so that more is common -
-	  ie avoid having similar definitions in different files.  Changes
-	  to macro names will break the C interface m4 code and the
-	  "_dat.m4" will need revising.
-
-2006-05-31 Wednesday 22:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (interfaces.3): We now have to configure file
-	  ppl_c_version.h.in (not ppl_c.h.in).
-
-2006-05-31 Wednesday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, instchk.hh (interfaces.[2,2]): Correctly check for
-	  valid instantiations.
-
-2006-05-31 Wednesday 18:04  Matthew Mundell
-
-	* tests/Grid/congruences2.cc (1.3): Rename helper function
-	  `fulfils' to `satisfies'.  Correct test08.
-
-2006-05-31 Wednesday 17:16  Matthew Mundell
-
-	* tests/Grid/congruences2.cc (1.2): Convert the fulfils generator
-	  system parameter into a generator.
-
-2006-05-31 Wednesday 17:15  Matthew Mundell
-
-	* tests/Grid/affinepreimage1.cc (1.9): Convert test12 FIXME into a
-	  TODO.
-
-2006-05-31 Wednesday 17:14  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (1.12): Correct indentation of
-	  messages.  Turn test04 into a divisor test.
-
-2006-05-31 Wednesday 16:18  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (1.13): Leave the
-	  remove_space_dimensions swap_columns Matrix qualifiers as they
-	  are.
-
-2006-05-31 Wednesday 16:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (interfaces.1): A first attempt at
-	  generating automatically ppl_c.h.
-
-2006-05-31 Wednesday 16:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c_version.h.in (interfaces.1): Factored out the
-	  tiny part of ppl_c.h depending on PPL version number.
-
-2006-05-31 Wednesday 16:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_h.m4,
-	  ppl_interface_generator_c_h_code.m4,
-	  ppl_interface_generator_c_h_preamble (interfaces.[1,1,1]): First
-	  attempt at generating file ppl_c.h.
-
-2006-05-31 Wednesday 16:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_dat.m4 (interfaces.3):
-	  Dropping useless nofail attributes.
-
-2006-05-31 Wednesday 16:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_interface_generator_c_cc.m4 (interfaces.2):
-	  Using new common macro names.
-
-2006-05-31 Wednesday 16:05  Matthew Mundell
-
-	* src/Grid_chdims.cc (1.8): Covert FIXMEs in expand_space_dimension
-	  and fold_space_dimensions to TODOs.
-
-2006-05-31 Wednesday 16:04  Matthew Mundell
-
-	* src/Grid_public.cc (1.29): Take FIXME out of
-	  generalized_affine_preimage/3.
-
-2006-05-31 Wednesday 15:17  Matthew Mundell
-
-	* src/Grid_Generator_System.defs.hh (1.16): Add namespace to
-	  operator== friend declaration.
-
-2006-05-31 Wednesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* instchk.hh (interfaces.1): Allow instantiation with Grid of the
-	  non-C++ interfaces.
-
-2006-05-31 Wednesday 15:15  Matthew Mundell
-
-	* tests/Grid/boundingbox1.cc (1.11): Add int8 failure to test13
-	  invocation.
-
-2006-05-31 Wednesday 15:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (interfaces.1): Restore the code for the
-	  --enable-instantiations configure option.
-
-2006-05-31 Wednesday 14:13  Matthew Mundell
-
-	* tests/Grid/coveringbox1.cc (1.10): Add int8 failure to test13
-	  invocation.
-
-2006-05-31 Wednesday 14:12  Matthew Mundell
-
-	* src/Grid.templates.hh (1.13): Move the Grid box constructor
-	  point_divisor declarations into the blocks that use them.
-
-2006-05-31 Wednesday 13:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (interfaces.3): Let also GNU
-	  Prolog compile.
-
-2006-05-31 Wednesday 13:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc, GNU/Makefile.am,
-	  GNU/ppl_gprolog.pl, GNU/ppl_interface_generator_gprolog_pl.m4,
-	  SWI/ppl_interface_generator_swiprolog_cc.m4,
-	  SWI/ppl_swiprolog.cc, XSB/ppl_interface_generator_xsb_H.m4,
-	  XSB/ppl_interface_generator_xsb_cc.m4, XSB/ppl_xsb.H,
-	  XSB/ppl_xsb.cc, YAP/ppl_yap.cc
-	  (interfaces.[1,2,1,3,2,1,2,2,1,1,1]): Got rid of automatically
-	  generated files.
-
-2006-05-31 Wednesday 13:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/:
-	  ppl_interface_generator_sicstus_sd_cc.m4, ppl_sicstus_sd.cc
-	  (interfaces.[2,1]): Get rid of the ppl_sicstus_sd.cc (which is
-	  now generated automatically).
-
-2006-05-31 Wednesday 13:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: Makefile.am, ppl_ciao.pl,
-	  ppl_interface_generator_ciao_pl.m4 (interfaces.[2,1,3]): Let the
-	  automatically generated Ciao Prolog interface compile.
-
-2006-05-30 Tuesday 22:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  C/ppl_interface_generator_c_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_systems.m4,
-	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
-	  (interfaces.[2,2,2,2,2,2,2]): Many of the fixed macro names are
-	  now prefixed by m4_.	Some internal codes improved.  The macros
-	  for generating the extensions for the Prolog systems moved to the
-	  prolog_systems.m4 file from the common.m4 file.
-
-2006-05-30 Tuesday 16:32  Matthew Mundell
-
-	* src/Grid.templates.hh (1.12): Use const references for
-	  point_divisor in the box constructors.
-
-2006-05-30 Tuesday 15:22  Matthew Mundell
-
-	* src/Grid.templates.hh (1.11): Update map_space_dimensions to
-	  throw an exception if the pfunc::maps call fails.
-
-2006-05-30 Tuesday 14:41  Matthew Mundell
-
-	* tests/Grid/grid3.cc (1.18): Correct DO_TEST invocations for
-	  test09 and test10.
-
-2006-05-30 Tuesday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/grid3.cc (altnum.1): file grid3.cc was added on branch
-	  altnum on 2006-10-29 19:27:28 +0000
-
-2006-05-30 Tuesday 14:32  Matthew Mundell
-
-	* tests/Grid/generator1.cc (1.17), src/Congruence_System.cc (1.17),
-	  src/Grid_Generator.cc (1.13), src/Grid_Generator.defs.hh (1.22):
-	  Convert division operations to exact_div_assign calls.  Move
-	  Grid_Generator::scale_to_divisor to the private section.
-
-2006-05-30 Tuesday 13:57  Matthew Mundell
-
-	* src/Grid_public.cc (1.28): Move the modulus negation check back
-	  out of the congruence creation in generalized_affine_image/3 and
-	  generalized_affine_preimage/3.
-
-2006-05-30 Tuesday 13:46  Matthew Mundell
-
-	* src/Grid_conversion.cc (1.13): Convert division operations to
-	  exact_div_assign calls.
-
-2006-05-30 Tuesday 13:34  Matthew Mundell
-
-	* tests/Grid/: widening1.cc (1.12), widening2.cc (1.5): Correct
-	  indentation of messages.
-
-2006-05-30 Tuesday 13:33  Matthew Mundell
-
-	* tests/Grid/: boundingbox1.cc (1.10), coveringbox1.cc (1.9): Add
-	  tests with boxes of larger dimensions.
-
-2006-05-30 Tuesday 13:32  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.25): Update the reduce methods to create
-	  fewer temporaries explicitly and to use references to row[column]
-	  and pivot[column].
-
-2006-05-30 Tuesday 13:29  Matthew Mundell
-
-	* src/: Grid.templates.hh (1.10), Grid_Generator.defs.hh (1.21):
-	  Update the box constructors to create both systems.
-
-2006-05-29 Monday 16:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_interface_generator_c_cc.m4,
-	  ppl_interface_generator_c_cc_code.m4,
-	  ppl_interface_generator_c_cc_preamble,
-	  ppl_interface_generator_c_dat.m4 (interfaces.[1,1,1,1]): Drafted
-	  a first attempt at generating one of the files (definitions) for
-	  interfacing polyhedra using C.
-
-2006-05-29 Monday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: ppl_interface_generator_common.m4,
-	  ppl_interface_generator_copyright, Prolog/Makefile.am,
-	  Prolog/exceptions.hh,
-	  Prolog/ppl_interface_generator_prolog_dat.m4,
-	  Prolog/ppl_interface_generator_prolog_icc.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_code.m4,
-	  Prolog/ppl_interface_generator_prolog_icc_preamble,
-	  Prolog/ppl_interface_generator_prolog_systems.m4,
-	  Prolog/Ciao/Makefile.am,
-	  Prolog/Ciao/ppl_interface_generator_ciao_pl.m4,
-	  Prolog/GNU/Makefile.am,
-	  Prolog/GNU/ppl_interface_generator_gprolog_pl.m4,
-	  Prolog/SICStus/Makefile.am,
-	  Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4,
-	  Prolog/SWI/Makefile.am,
-	  Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4,
-	  Prolog/XSB/Makefile.am,
-	  Prolog/XSB/ppl_interface_generator_xsb_H.m4,
-	  Prolog/XSB/ppl_interface_generator_xsb_cc.m4,
-	  Prolog/YAP/Makefile.am,
-	  Prolog/YAP/ppl_interface_generator_yap_cc.m4,
-	  Prolog/tests/Makefile.am, Prolog/tests/pl_grid_check.pl
-	  (interfaces.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  Added m4 files for the generation of the Prolog interfaces.
-	  Modified makefiles so as to do their job in the new framework.
-	  (Tested only the SWI and YAP interfaces up to now).
-
-2006-05-26 Friday 07:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.178): Always use CHECK as
-	  early as possible.
-
-2006-05-25 Thursday 13:32  Matthew Mundell
-
-	* src/Grid_public.cc (1.27): Update affine_dimension() to use the
-	  minimized form of either system, preferring the generators.
-
-2006-05-25 Thursday 11:44  Matthew Mundell
-
-	* tests/Grid/relations3.cc (1.3): Print the congruences instead of
-	  the generators in test12.
-
-2006-05-25 Thursday 11:43  Matthew Mundell
-
-	* tests/Grid/grid2.cc (1.13): Correct DO_TEST invocations.
-
-2006-05-24 Wednesday 18:47  Matthew Mundell
-
-	* tests/Grid/: grid1.cc (1.15), grid3.cc (1.17): Update DO_TEST
-	  calls to reflect moved tests.
-
-2006-05-24 Wednesday 18:45  Matthew Mundell
-
-	* tests/Grid/grid2.cc (1.12): Correct comment about cong_test4.
-
-2006-05-24 Wednesday 18:45  Matthew Mundell
-
-	* tests/Grid/addgenerators1.cc (1.11): Take out tracing calls to
-	  ascii_dump.
-
-2006-05-24 Wednesday 18:24  Matthew Mundell
-
-	* src/: Congruence_System.defs.hh (1.12),
-	  Congruence_System.inlines.hh (1.6), Grid.inlines.hh (1.7),
-	  Grid_nonpublic.cc (1.14), Grid_public.cc (1.26): Add private
-	  method Congruence_System::Congruence_System(d).  Update
-	  Grid::construct(const_gs) to only copy the given gs when needed.
-	  Update both Grid construct methods and their callers so that the
-	  initially constructed versions of con_sys and gen_sys are used
-	  when the grid is empty.
-
-2006-05-24 Wednesday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.inlines.hh (altnum.1): file
-	  Congruence_System.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:12 +0000
-
-2006-05-24 Wednesday 18:18  Matthew Mundell
-
-	* src/Congruence.inlines.hh (1.10): Update zero_dim_false so that
-	  the inhomogeneous term of zdf is positive.
-
-2006-05-24 Wednesday 15:48  Matthew Mundell
-
-	* src/Grid_Generator.defs.hh (1.20): Update list of Grid friend
-	  declaration dependencies.
-
-2006-05-24 Wednesday 15:47  Matthew Mundell
-
-	* tests/Grid/relations3.cc (1.2): Add tests to cover the rest of
-	  relation_with(c).
-
-2006-05-24 Wednesday 15:46  Matthew Mundell
-
-	* src/Grid_public.cc (1.25): Complete relation_with(c).
-
-2006-05-24 Wednesday 14:10  Matthew Mundell
-
-	* src/: Scalar_Products.cc (1.5), Scalar_Products.defs.hh (1.7),
-	  Scalar_Products.inlines.hh (1.4): Add to Scalar_Product assign(z,
-	  c, gg), sign(c, gg), homogeneous_assign(z, gg, c) and
-	  homogeneous_sign(gg, c).
-
-2006-05-24 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Scalar_Products.cc (altnum.1): file Scalar_Products.cc was
-	  added on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-05-24 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Scalar_Products.defs.hh (altnum.1): file
-	  Scalar_Products.defs.hh was added on branch altnum on 2006-10-29
-	  19:27:15 +0000
-
-2006-05-24 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Scalar_Products.inlines.hh (altnum.1): file
-	  Scalar_Products.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:15 +0000
-
-2006-05-24 Wednesday 13:22  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.46): Improved the
-	  readability of
-	  Octagonal_Shape<T>::generalized_affine_preimage().
-
-2006-05-24 Wednesday 12:06  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.45): Improved the
-	  readability of   Octagonal_Shape<T>::generalized_affine_image().
-
-2006-05-23 Tuesday 16:27  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.44): Improved the
-	  readability of   Octagonal_Shape<T>::affine_image().
-
-2006-05-23 Tuesday 14:07  Matthew Mundell
-
-	* src/Grid_chdims.cc (1.7): Update remove_higher_space_dimensions
-	  to also clear and resize the out-of-date system.
-
-2006-05-23 Tuesday 13:44  Matthew Mundell
-
-	* tests/Grid/removespacedims2.cc (1.10): Add test10 and test11
-	  which test removal via congruences.
-
-2006-05-23 Tuesday 13:38  Matthew Mundell
-
-	* src/Grid.defs.hh (1.20), src/Grid_Generator_System.cc (1.12),
-	  src/Grid_Generator_System.defs.hh (1.15), src/Grid_chdims.cc
-	  (1.6), tests/Grid/removespacedims1.cc (1.11): Correct
-	  print_generator and print_congruence messages.  Add system
-	  printing to some tests.
-
-2006-05-23 Tuesday 13:28  Matthew Mundell
-
-	* src/: Congruence_System.cc (1.16), Congruence_System.defs.hh
-	  (1.11): Add remove_higher_space_dimensions(new_dimension).
-
-2006-05-23 Tuesday 11:57  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.43): Corrected a wrong
-	  parameter in the exeption throw in
-	  Octagonal_Shape<T>::remove_space_dimensions() and in the affine
-	  images and preimages.
-
-2006-05-19 Friday 13:57  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.36), relations3.cc (1.1): Add
-	  relations3, which tests Grid::relation_with(const Constraint&).
-
-2006-05-19 Friday 13:55  Matthew Mundell
-
-	* tests/Grid/: relations1.cc (1.12), relations2.cc (1.11): Correct
-	  indentation.	Improve a comment.
-
-2006-05-19 Friday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/relations1.cc (altnum.1): file relations1.cc was added
-	  on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-05-19 Friday 13:55  Matthew Mundell
-
-	* src/: Grid.defs.hh (1.19), Grid_public.cc (1.24): Add
-	  relation_with(const Constraint& c).
-
-2006-05-18 Thursday 19:34  Matthew Mundell
-
-	* src/: C_Polyhedron.defs.hh (1.42), Grid.defs.hh (1.18),
-	  NNC_Polyhedron.defs.hh (1.45), Polyhedron.defs.hh (1.297):
-	  Replace phrases like "will be recycled" with phrases like "may be
-	  recycled".
-
-2006-05-18 Thursday 16:53  Matthew Mundell
-
-	* tests/Grid/Makefile.am (1.35): Drop writecongruencesystem1.dat
-	  from MOSTLYCLEANFILES.
-
-2006-05-18 Thursday 15:30  Matthew Mundell
-
-	* tests/BD_Shape/: addconstraints1.cc (1.13), affineimage1.cc
-	  (1.14), affinepreimage1.cc (1.14), bdsdifference1.cc (1.10),
-	  bdshull1.cc (1.10), bhmz05widening1.cc (1.10),
-	  cc76extrapolation1.cc (1.14), cc76narrowing1.cc (1.14),
-	  contains1.cc (1.12), fromgensys1.cc (1.13),
-	  generalizedaffineimage2.cc (1.15), generalizedaffinepreimage3.cc
-	  (1.2), intersection1.cc (1.13), limitedbhmz05extrapolation1.cc
-	  (1.9), limitedcc76extrapolation1.cc (1.10), relations2.cc (1.18),
-	  relations3.cc (1.15), removespacedims1.cc (1.14), timeelapse1.cc
-	  (1.13): Correct return values in exception tests.  As a result
-	  convert the value of d in affineimage1 test15 to 0 and do away
-	  with addconstraints1 test04 and test05 and affineimage1 test16.
-
-2006-05-18 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/fromgensys1.cc (altnum.1): file fromgensys1.cc was
-	  added on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-05-18 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage3.cc (simplex.1): file
-	  generalizedaffinepreimage3.cc was added on branch simplex on
-	  2006-09-06 18:41:54 +0000
-
-2006-05-18 Thursday 14:52  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.42): Improved the
-	  readability of   Octagonal_Shape(const Generator_System& gs)
-	  using type aliases.
-
-2006-05-18 Thursday 12:24  Matthew Mundell
-
-	* tests/Grid/: addcongruence1.cc (1.10), addcongruences1.cc (1.13),
-	  addconstraint1.cc (1.9), addconstraints1.cc (1.10),
-	  addgenerator1.cc (1.11), addgenerators1.cc (1.10),
-	  addspacedims1.cc (1.11), affineimage2.cc (1.7),
-	  affinepreimage2.cc (1.4), boundingbox1.cc (1.9), boundingbox2.cc
-	  (1.8), bounds1.cc (1.12), concatenate1.cc (1.11), congruence1.cc
-	  (1.13), contains1.cc (1.9), coveringbox1.cc (1.8), disjoint1.cc
-	  (1.8), expandspacedim1.cc (1.8), foldspacedims1.cc (1.8),
-	  generalizedaffineimage1.cc (1.9), generalizedaffinepreimage1.cc
-	  (1.10), generalizedaffinepreimage2.cc (1.10), generator1.cc
-	  (1.16), grid1.cc (1.14), grid3.cc (1.16), griddifference1.cc
-	  (1.9), intersection1.cc (1.8), join1.cc (1.12), join2.cc (1.7),
-	  limitedextrapolation1.cc (1.9), limitedextrapolation2.cc (1.3),
-	  limitedextrapolation3.cc (1.2), relations1.cc (1.11),
-	  relations2.cc (1.10), removespacedims1.cc (1.10),
-	  removespacedims2.cc (1.9), timeelapse1.cc (1.8), widening1.cc
-	  (1.11), widening2.cc (1.4), widening3.cc (1.2): Correct return
-	  values in exception tests.
-
-2006-05-18 Thursday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addconstraint1.cc (altnum.1): file addconstraint1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-05-18 Thursday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addconstraints1.cc (altnum.1): file addconstraints1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-05-18 Thursday 12:19  Matthew Mundell
-
-	* tests/Grid/Makefile.am (1.34): Add many ascii_dump_load*.dat
-	  files to MOSTLYCLEANFILES.
-
-2006-05-18 Thursday 11:53  Matthew Mundell
-
-	* tests/Grid/: grid1.cc (1.13), grid2.cc (1.11), grid3.cc (1.15):
-	  From grid3 move generator tests into grid1 and congruence tests
-	  into grid2.
-
-2006-05-18 Thursday 11:16  Matthew Mundell
-
-	* tests/Grid/generator1.cc (1.15): Add test22 which tries to get
-	  the divisor of a line.
-
-2006-05-18 Thursday 11:07  Matthew Mundell
-
-	* tests/Grid/asciidumpload1.cc (1.10): Add Grid_Status ascii_load
-	  tests.
-
-2006-05-17 Wednesday 21:39  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.33), asciidumpload5.cc (1.1),
-	  asciidumpload6.cc (1.1): Add asciidumpload5 and asciidumpload6
-	  which test Congruence and Congruence_System.
-
-2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload5.cc (altnum.1): file asciidumpload5.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload5.cc (octagons.1): file asciidumpload5.cc
-	  was added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload5.cc (simplex.1): file asciidumpload5.cc
-	  was added on branch simplex on 2006-09-06 18:41:54 +0000
-
-2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload6.cc (altnum.1): file asciidumpload6.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload6.cc (octagons.1): file asciidumpload6.cc
-	  was added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-05-17 Wednesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload6.cc (simplex.1): file asciidumpload6.cc
-	  was added on branch simplex on 2006-09-06 18:41:54 +0000
-
-2006-05-17 Wednesday 21:38  Matthew Mundell
-
-	* tests/Grid/: asciidumpload1.cc (1.9), asciidumpload3.cc (1.2),
-	  asciidumpload4.cc (1.2): Add tests of ascii_load failure.
-
-2006-05-17 Wednesday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload3.cc (simplex.1): file asciidumpload3.cc
-	  was added on branch simplex on 2006-09-06 18:41:54 +0000
-
-2006-05-17 Wednesday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload4.cc (simplex.1): file asciidumpload4.cc
-	  was added on branch simplex on 2006-09-06 18:41:54 +0000
-
-2006-05-17 Wednesday 21:36  Matthew Mundell
-
-	* src/Congruence_System.cc (1.15): Update ascii_load to return
-	  false if a congruence load fails.
-
-2006-05-17 Wednesday 16:37  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.41): Improved the
-	  readability of   Octagonal_Shape<T>::get_limiting_octagon().
-
-2006-05-17 Wednesday 15:09  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.40): Improved the
-	  readability of   Poly_Gen_Relation
-	  Octagonal_Shape<T>::relation_with().
-
-2006-05-17 Wednesday 14:40  Matthew Mundell
-
-	* tests/Grid/asciidumpload2.cc (1.3): Add zero dimension tests
-	  test15 and test16.
-
-2006-05-17 Wednesday 14:39  Matthew Mundell
-
-	* tests/Grid/addgenerators1.cc (1.9): Add test13 which adds to a
-	  zero dim universe.  Correct returns in exception tests.
-
-2006-05-17 Wednesday 14:37  Matthew Mundell
-
-	* src/: Grid.defs.hh (1.17), Grid_public.cc (1.23): Add an
-	  assertion that the given system has points in the zero dim case
-	  of add_recycled_generators.  Convert the exception in the zero
-	  dim case of add_recycled_generators_and_minimize to an assertion.
-
-2006-05-17 Wednesday 13:45  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.39): Changed the name
-	  of an index in       Octagonal_Shape<T>::add_constraint().
-	  Improved the readability of	   Poly_Con_Relation
-	  Octagonal_Shape<T>::relation_with().
-
-2006-05-17 Wednesday 13:12  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.32), generators2.cc (1.1),
-	  outputoperator3.cc (1.1): Add outputoperator3 which tests
-	  Grid_Generator_System IO operators.  Add generators2 which tests
-	  class Grid_Generator_System.
-
-2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generators2.cc (altnum.1): file generators2.cc was
-	  added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generators2.cc (octagons.1): file generators2.cc was
-	  added on branch octagons on 2006-11-18 20:36:56 +0000
-
-2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generators2.cc (simplex.1): file generators2.cc was
-	  added on branch simplex on 2006-09-06 18:41:55 +0000
-
-2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/outputoperator3.cc (altnum.1): file outputoperator3.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/outputoperator3.cc (octagons.1): file
-	  outputoperator3.cc was added on branch octagons on 2006-11-18
-	  20:36:57 +0000
-
-2006-05-17 Wednesday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/outputoperator3.cc (simplex.1): file
-	  outputoperator3.cc was added on branch simplex on 2006-09-06
-	  18:41:55 +0000
-
-2006-05-17 Wednesday 13:09  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc (1.11),
-	  Grid_Generator_System.defs.hh (1.14): Convert the exceptions in
-	  remove_space_dimensions and remove_higher_space_dimensions into
-	  assertions.
-
-2006-05-17 Wednesday 12:07  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.38): Improved the
-	  readability of   Octagonal_Shape<T>::add_constraint().
-
-2006-05-17 Wednesday 11:02  quartieri
-
-	* src/Octagonal_Shape.inlines.hh (octagons.9): Moved
-	  Octagonal_Shape<T>::is_empty() to the right place.  Corrected
-	  some wrong comments in the distances' code.
-
-2006-05-16 Tuesday 22:43  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.31), outputoperator2.cc (1.1): Add
-	  outputoperator2, to test Grid_Generator IO operators.
-
-2006-05-16 Tuesday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/outputoperator2.cc (altnum.1): file outputoperator2.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-05-16 Tuesday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/outputoperator2.cc (octagons.1): file
-	  outputoperator2.cc was added on branch octagons on 2006-11-18
-	  20:36:57 +0000
-
-2006-05-16 Tuesday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/outputoperator2.cc (simplex.1): file
-	  outputoperator2.cc was added on branch simplex on 2006-09-06
-	  18:41:55 +0000
-
-2006-05-16 Tuesday 22:38  Matthew Mundell
-
-	* tests/Grid/generator1.cc (1.14): Add test20 to test type() and
-	  test21 to test scale_to_divisor().
-
-2006-05-16 Tuesday 22:37  Matthew Mundell
-
-	* src/Grid_Generator.cc (1.12): Update set_is_parameter to convert
-	  the generator from a point only when it is a point.
-
-2006-05-16 Tuesday 22:35  Matthew Mundell
-
-	* src/Grid_Generator.defs.hh (1.19): Improve coefficient_swap
-	  description slightly.
-
-2006-05-16 Tuesday 15:54  Matthew Mundell
-
-	* tests/Grid/addcongruences1.cc (1.12): Correct comment in test15.
-
-2006-05-16 Tuesday 15:48  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.30), asciidumpload3.cc (1.1),
-	  asciidumpload4.cc (1.1): Add asciidumpload3 and asciidumpload4
-	  for Congruence and Congruence_System.
-
-2006-05-16 Tuesday 15:46  Matthew Mundell
-
-	* tests/Grid/congruences1.cc (1.9): Turn off test09 and test18, as
-	  Congruence_System::concatenate is now private.
-
-2006-05-16 Tuesday 15:44  Matthew Mundell
-
-	* tests/Grid/congruence1.cc (1.12): Move test15 to addcongruence1
-	  (test05).  Add exception tests test15 and test16.
-
-2006-05-16 Tuesday 15:40  Matthew Mundell
-
-	* tests/Grid/addcongruences1.cc (1.11): Add test15 which minimizes
-	  a grid with minimized congruences and up to date generators.
-	  Correct return values in exception tests.
-
-2006-05-16 Tuesday 15:38  Matthew Mundell
-
-	* tests/Grid/addcongruence1.cc (1.9): Add space dimension test
-	  test05.
-
-2006-05-16 Tuesday 15:37  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (1.13): Add a comment in the max_min
-	  method.
-
-2006-05-16 Tuesday 15:36  Matthew Mundell
-
-	* src/: Congruence_System.cc (1.14), Congruence_System.defs.hh
-	  (1.10): Move concatenate(cgs) into the private section, adding
-	  the requirement that cgs must contain rows.
-
-2006-05-16 Tuesday 12:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Og_Status.idefs.hh (octagons.4): Avoid useless white space.
-
-2006-05-16 Tuesday 12:20  quartieri
-
-	* src/Og_Status.idefs.hh (octagons.3): Indentation fixed.
-
-2006-05-16 Tuesday 12:19  quartieri
-
-	* src/Octagonal_Shape.inlines.hh (octagons.8): Moved some methods
-	  in the right place.
-
-2006-05-16 Tuesday 12:16  quartieri
-
-	* src/Octagonal_Shape.defs.hh (octagons.14): Corrected a wrong
-	  comment.
-
-2006-05-15 Monday 19:54  Matthew Mundell
-
-	* src/: Congruence.cc (1.9), Congruence.defs.hh (1.11),
-	  Congruence.inlines.hh (1.9): Convert Congruence(le,m,capacity) to
-	  Congruence(le,m), adding the requirement that m >= 0.
-
-2006-05-15 Monday 14:07  Matthew Mundell
-
-	* tests/Grid/grid3.cc (1.14): Add test22 and test23 which construct
-	  grids from constant zero dimension contraint systems.
-
-2006-05-15 Monday 14:06  Matthew Mundell
-
-	* tests/Grid/asciidumpload2.cc (1.2): Add test14 where the grid has
-	  a virtual generator.
-
-2006-05-15 Monday 14:05  Matthew Mundell
-
-	* tests/print.hh (1.35): Take out macro dump_grids.
-
-2006-05-15 Monday 14:05  Matthew Mundell
-
-	* src/Grid_public.cc (1.22): Update add_recycled_generators(gs) to
-	  assume that zero-dimension generator systems that contain
-	  generators always contain a point.
-
-2006-05-15 Monday 12:18  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.37): Renamed the
-	  iterator on the constraints system to avoid a shadowing problem
-	  in	    Octagonal_Shape<T>::get_limiting_octagon().
-
-2006-05-12 Friday 19:55  Matthew Mundell
-
-	* tests/Grid/grid3.cc (1.13): Add test20 and test21, which test
-	  adding zero dimension systems.
-
-2006-05-12 Friday 19:55  Matthew Mundell
-
-	* src/Grid_public.cc (1.21): Update Grid(cs) and Grid(ccs) to set
-	  the space dimension.	Rename ccs to cs in Grid(cs).
-
-2006-05-12 Friday 19:55  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (1.12): Update construct(ccgs) to use the
-	  given system when the space dimension is zero.
-
-2006-05-12 Friday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Direct_Product.defs.hh (1.1), Direct_Product.inlines.hh
-	  (1.1), Direct_Product.types.hh (1.1), Makefile.am (1.153):
-	  Started an implementation of the direct product construction for
-	  the "semantic" domains.
-
-2006-05-12 Friday 15:58  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (1.11): Convert the runtime exception in
-	  normalize_divisors(gs,gs) to an assertion.
-
-2006-05-12 Friday 15:56  Matthew Mundell
-
-	* src/Grid.defs.hh (1.16): Correct parameter indentation.
-
-2006-05-12 Friday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.inlines.hh (1.6): Avoid any kind of using declaration in
-	  header files.
-
-2006-05-12 Friday 14:37  Matthew Mundell
-
-	* tests/Grid/addgenerators1.cc (1.8): Correct the print_generators
-	  message in test11.  Add test12 to test the point-finding loop in
-	  Grid::normalize_divisors(gs,gs).
-
-2006-05-12 Friday 12:03  Matthew Mundell
-
-	* src/Grid.templates.hh (1.9): Improve comments in bounding box
-	  methods.
-
-2006-05-11 Thursday 17:52  Matthew Mundell
-
-	* tests/Polyhedron/addgenerators1.cc (1.10): Correct indentation.
-
-2006-05-11 Thursday 17:52  Matthew Mundell
-
-	* tests/Grid/removespacedims2.cc (1.8): Turn off test05 and test06
-	  (remove_higher_space_dimensions is now private).
-
-2006-05-11 Thursday 17:51  Matthew Mundell
-
-	* tests/Grid/addgenerators1.cc (1.7): Correct indenting.  Turn off
-	  test05 and test06.  Add test11 to test zero_dim_univ().
-
-2006-05-11 Thursday 17:49  Matthew Mundell
-
-	* src/: Grid_Generator_System.defs.hh (1.13),
-	  Grid_Generator_System.inlines.hh (1.10): Add destructor,
-	  assignment operator and method zero_dim_univ.  Order declarations
-	  and inline definitions as in Generator.  Move [] operators,
-	  affine_image, add_universe_rows_and_columns,
-	  remove_space_dimensions and remove_higher_space_dimensions to the
-	  private section.
-
-2006-05-11 Thursday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator_System.inlines.hh (altnum.1): file
-	  Grid_Generator_System.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:13 +0000
-
-2006-05-11 Thursday 14:57  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.24): Rework the post-reduction part of
-	  simplify(cgs) to better handle the case when the given system is
-	  empty or all zeroes, and to save the check on reduced_num_rows in
-	  the zero row clipping block.
-
-2006-05-11 Thursday 13:44  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.23): Add const to some variable types.
-
-2006-05-11 Thursday 12:32  Matthew Mundell
-
-	* tests/Grid/generator1.cc (1.13): Convert the type of the
-	  dimension variable in test17 from int to dimension_type.
-
-2006-05-11 Thursday 12:26  Matthew Mundell
-
-	* src/: Congruence.cc (1.8), Congruence.defs.hh (1.10),
-	  Constraint.cc (1.59), Constraint.defs.hh (1.120), Generator.cc
-	  (1.70), Generator.defs.hh (1.118), Grid_Generator.cc (1.11),
-	  Grid_Generator.defs.hh (1.18), Grid_widenings.cc (1.8),
-	  Linear_Expression.cc (1.11): Convert the types of dimension
-	  variable from int to dimension_type in class documentation
-	  examples, "<<" operators and Grid::select_wider_generators.
-
-2006-05-10 Wednesday 19:31  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.22): Convert variable pivot_dim in
-	  reduce_reduced to a reference.
-
-2006-05-10 Wednesday 19:14  Matthew Mundell
-
-	* src/Grid_public.cc (1.20): Move temporary sp out of the loop in
-	  method relation_with.  In generalized_affine_image/3 and
-	  generalized_affine_preimage/3 move the modulus negation check
-	  into the creation of the congruence to save the use of a
-	  temporary.
-
-2006-05-10 Wednesday 18:27  Matthew Mundell
-
-	* src/Grid_conversion.cc (1.12): In both conversion methods move
-	  temp integers out of loops and convert `source_dim' temp integers
-	  to references.
-
-2006-05-10 Wednesday 18:04  Matthew Mundell
-
-	* src/Grid.templates.hh (1.8): In get_covering_box replace the use
-	  of l_n and l_d with the use of `temp' and convert temp integer
-	  `divisor' into a reference.
-
-2006-05-10 Wednesday 17:19  Matthew Mundell
-
-	* tests/Grid/generator1.cc (1.12): Correct indentation in test17.
-
-2006-05-10 Wednesday 17:19  Matthew Mundell
-
-	* src/: Congruence_System.cc (1.13), Congruence_System.defs.hh
-	  (1.9), Congruence_System.inlines.hh (1.5),
-	  Grid_Generator_System.cc (1.10), Grid_Generator_System.defs.hh
-	  (1.12), Grid_Generator_System.inlines.hh (1.9),
-	  Grid_conversion.cc (1.11), Grid_simplify.cc (1.21): Update grid
-	  row and column counter variable names to *num_rows and
-	  *num_columns.
-
-2006-05-10 Wednesday 16:21  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.36): Improved the
-	  readability of the method
-	  Octagonal_Shape<T>::map_space_dimensions().
-
-2006-05-10 Wednesday 15:41  Matthew Mundell
-
-	* src/Congruence_System.cc (1.12): Add const to a few variable
-	  declarations.  In normalize_moduli convert the `modulus'
-	  variables to references and move temp integer `factor' out of the
-	  for loop.
-
-2006-05-10 Wednesday 15:21  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.35): Indented
-	  correctly a comment.
-
-2006-05-10 Wednesday 14:33  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.14): Renamed iterators in
-	  BD_Shape::get_limiting_shape() so as to avoid misleading name
-	  clash with space dimension indices Corrected a couple of typos in
-	  the (optional) output produced by OK() when invarinats are
-	  violated.
-
-2006-05-10 Wednesday 14:22  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.34): Corrected some
-	  comments in	 Octagonal_Shape<T>::generalized_affine_image().
-	  Added the definition for	 Octagonal_Shape<T>
-	  ::generalized_affine_preimage(const Linear_Expression& lhs,
-						      const Relation_Symbol
-	  relsym,					    const
-	  Linear_Expression& rhs).
-
-2006-05-10 Wednesday 14:19  quartieri
-
-	* src/Octagonal_Shape.defs.hh (octagons.13): Added the declaration
-	  for		 void generalized_affine_preimage(const
-	  Linear_Expression& lhs,
-	  const Relation_Symbol relsym,
-		const Linear_Expression& rhs).
-
-2006-05-10 Wednesday 14:18  Matthew Mundell
-
-	* src/Grid_widenings.cc (1.7): Correct parameter indentation.  Add
-	  const to some variable declarations.
-
-2006-05-10 Wednesday 13:57  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.20): Move temp integers out of the loop
-	  in reduce_reduced.
-
-2006-05-10 Wednesday 13:29  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.19): Replace semicolons in tracing
-	  statements.
-
-2006-05-10 Wednesday 13:08  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.13): Avoid almost useless uses of
-	  reference DB_Row (prefer the direct dbm accessors' operators if a
-	  single access to the row has to be done).
-
-2006-05-10 Wednesday 13:00  Matthew Mundell
-
-	* src/Grid_public.cc (1.19): Update relation_with(cg) to use a
-	  reference instead of a temporary integer for variable `modulus'.
-
-2006-05-10 Wednesday 12:22  Matthew Mundell
-
-	* src/Congruence.defs.hh (1.9): Convert use of namespace alias PPL
-	  to use of full name.
-
-2006-05-10 Wednesday 11:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.inlines.hh (1.13): Avoid compiler warnings.
-
-2006-05-10 Wednesday 11:29  Elena Mazzi
-
-	* tests/BD_Shape/: Makefile.am (1.45),
-	  generalizedaffinepreimage2.cc (1.13),
-	  generalizedaffinepreimage3.cc (1.1): Added some tests for
-	  generalized_affine_preimage(const Linear_Expression& lhs,
-			     Relation_Symbol relsym,
-	  const Linear_Expression& rhs).
-
-2006-05-10 Wednesday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage2.cc (altnum.1): file
-	  generalizedaffinepreimage2.cc was added on branch altnum on
-	  2006-10-29 19:27:22 +0000
-
-2006-05-10 Wednesday 11:27  Elena Mazzi
-
-	* src/: BD_Shape.defs.hh (1.71), BD_Shape.templates.hh (1.12):
-	  Defined a new method: BD_Shape::generalized_affine_preimage(const
-	  Linear_Expression& lhs,
-	  Relation_Symbol relsym,				  const
-	  Linear_Expression& rhs).
-
-2006-05-10 Wednesday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Congruence.cc (1.7), Float.inlines.hh (1.28),
-	  Grid_simplify.cc (1.18), checked.cc (1.18),
-	  checked_int.inlines.hh (1.52): Prefer predecrement and
-	  preincrement to postdecrement and postincrement.
-
-2006-05-10 Wednesday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.cc (altnum.1): file checked.cc was added on branch
-	  altnum on 2006-10-29 19:27:15 +0000
-
-2006-05-10 Wednesday 11:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_ext.inlines.hh (1.31): Spurious goto removed.
-
-2006-05-10 Wednesday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_conversion.cc (1.10): Compiler warning avoided.
-
-2006-05-10 Wednesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Bounding_Box.defs.hh (1.14), LP_Problem.defs.hh (1.9),
-	  LP_Problem.inlines.hh (1.9): Header file inclusions adjusted.
-
-2006-05-09 Tuesday 21:17  Matthew Mundell
-
-	* src/: Grid.defs.hh (1.15), Grid.inlines.hh (1.5),
-	  Grid_nonpublic.cc (1.10): Improve the descriptions of the
-	  normalize_divisors functions.  Add normalize_divisors(sys).
-	  Replace the second parameter of normalize_divisors(sys,divisor,f)
-	  with a writable reference and move the temporary in this method
-	  into the callers of the method.
-
-2006-05-09 Tuesday 17:04  Matthew Mundell
-
-	* src/Grid_chdims.cc (1.5): Rename variable `tem' in
-	  add_space_dimensions(cgs,gs,d) to `old_modulus_index'.
-
-2006-05-09 Tuesday 16:47  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (1.9): Rename all row and column
-	  count variables to `num_rows' and `num_cols'.
-
-2006-05-09 Tuesday 16:44  Matthew Mundell
-
-	* src/Grid.templates.hh (1.7): In shrink_bounding_box replace the
-	  temporary `divisor' with a coefficient reference and the two
-	  temporaries `gcd' and `reduced_divisor' with a single temporary.
-
-2006-05-09 Tuesday 14:31  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.17): In reduce_pc_with_pc rename
-	  pivot_col to old_pivot_col and convert multiple array accesses to
-	  use references.
-
-2006-05-09 Tuesday 13:16  Matthew Mundell
-
-	* src/: Grid_conversion.cc (1.9), Grid_simplify.cc (1.16): Replace
-	  "red_" variable name prefixes with "reduced_".
-
-2006-05-09 Tuesday 12:25  Matthew Mundell
-
-	* tests/Grid/generator1.cc (1.11): Add tests of copy constructor
-	  and zero_dim_point().
-
-2006-05-09 Tuesday 12:24  Matthew Mundell
-
-	* src/: Grid_Generator.defs.hh (1.17), Grid_Generator.inlines.hh
-	  (1.11): Add copy constructor, destructor, max_space_dimension()
-	  and zero_dim_point().  Order declarations as in Generator.
-
-2006-05-09 Tuesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.inlines.hh (altnum.1): file
-	  Grid_Generator.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:13 +0000
-
-2006-05-09 Tuesday 10:32  Matthew Mundell
-
-	* src/: Grid_conversion.cc (1.8), Grid_simplify.cc (1.15): Replace
-	  statements using addition/subtraction and multiplication
-	  operators with calls to sub_mul_assign and add_mul_assign.
-
-2006-05-09 Tuesday 10:25  Matthew Mundell
-
-	* src/: Grid_Generator.cc (1.10), Grid_Generator.inlines.hh (1.10),
-	  Grid_Generator_System.cc (1.8): Tailor the Grid_Generator
-	  ascii_dump and ascii_load methods for grids.	Use these methods
-	  in Grid_Generator_System ascii_dump and ascii_load.
-
-2006-05-09 Tuesday 01:22  Andrea Cimino
-
-	* tests/Polyhedron/Makefile.am (simplex.6): Re-enabled lpproblem2.
-
-2006-05-09 Tuesday 01:13  Andrea Cimino
-
-	* tests/Polyhedron/: LP_Problem1.cc, LP_Problem2.cc, lpproblem2.cc
-	  (simplex.[6,3,4]): Fixed the tests: removed the old stuff and
-	  added lpproblem2, (probably) lost during the last merge.
-
-2006-05-08 Monday 19:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* BUGS, ChangeLog, Makefile.am, NEWS, README, README.configure,
-	  STANDARDS, TODO, config.guess, config.sub, configure.ac,
-	  instchk.hh, ppl.lsm.in, ppl.spec.in, Watchdog/CREDITS,
-	  Watchdog/ChangeLog, Watchdog/Makefile.am, Watchdog/NEWS,
-	  Watchdog/README, Watchdog/config.guess, Watchdog/config.sub,
-	  Watchdog/src/.cvsignore, Watchdog/src/Makefile.am,
-	  Watchdog/src/Watchdog.cc, Watchdog/utils/.cvsignore,
-	  Watchdog/utils/Makefile.am, debian/.cvsignore,
-	  debian/Makefile.am, debian/README, debian/changelog,
-	  debian/control, debian/libppl-dev.install,
-	  debian/libppl-gprolog.links, debian/libppl-pwl.copyright.in,
-	  debian/libppl-pwl.install, debian/libppl-sicstus.links,
-	  debian/libppl-swi.links, debian/libppl-yap.links,
-	  debian/libppl.copyright.in, debian/libppl.dirs,
-	  debian/libppl.install, debian/rules, demos/Makefile.am,
-	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
-	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/expected_int16, demos/ppl_lpsol/expected_int16_a,
-	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
-	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
-	  demos/ppl_lpsol/expected_int8, demos/ppl_lpsol/expected_int8_a,
-	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
-	  demos/ppl_lpsol/examples/Makefile.am, doc/.cvsignore,
-	  doc/Makefile.am, doc/README.doc, doc/definitions.dox,
-	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
-	  doc/devref.tex, doc/ppl-config.1, doc/ppl.sty, doc/ppl_lcdd.1,
-	  doc/ppl_lpsol.1, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, doc/user.tex, interfaces/Makefile.am,
-	  interfaces/C/Makefile.am, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/OCaml/Makefile.am,
-	  interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ciao_clpq.pl,
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/SICStus/.cvsignore,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sp_pl_check.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected_pchk_int16,
-	  interfaces/Prolog/XSB/expected_pchk_int16_a,
-	  interfaces/Prolog/XSB/expected_pchk_int32,
-	  interfaces/Prolog/XSB/expected_pchk_int32_a,
-	  interfaces/Prolog/XSB/expected_pchk_int64_a,
-	  interfaces/Prolog/XSB/expected_pchk_int8,
-	  interfaces/Prolog/XSB/expected_pchk_int8_a,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/YAP/yap_pl_check.pl,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/clpq.pl,
-	  interfaces/Prolog/tests/clpq2.pl,
-	  interfaces/Prolog/tests/expected_pchk_int16,
-	  interfaces/Prolog/tests/expected_pchk_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int32,
-	  interfaces/Prolog/tests/expected_pchk_int32_a,
-	  interfaces/Prolog/tests/expected_pchk_int64_a,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/pl_check.pl, m4/Makefile.am,
-	  m4/ac_check_fpu_control.m4, m4/ac_check_swi_prolog.m4,
-	  m4/ac_cxx_double_binary_format.m4,
-	  m4/ac_cxx_double_is_iec_559.m4, m4/ac_cxx_float_binary_format.m4,
-	  m4/ac_cxx_float_is_iec_559.m4, m4/ac_cxx_long_double.m4,
-	  m4/ac_cxx_long_double_binary_format.m4,
-	  m4/ac_cxx_long_double_is_iec_559.m4, m4/ac_cxx_long_long.m4,
-	  m4/ac_text_md5sum.m4, m4/ppl.m4, src/.cvsignore,
-	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
-	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/BD_Shape.templates.hh, src/BHRZ03_Certificate.defs.hh,
-	  src/Bounding_Box.defs.hh, src/C_Polyhedron.cc,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  src/Checked_Number.defs.hh, src/Checked_Number.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_System.cc,
-	  src/Constraint_System.defs.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/Determinate.defs.hh,
-	  src/Determinate.inlines.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_System.cc,
-	  src/Generator_System.defs.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.defs.hh,
-	  src/H79_Certificate.inlines.hh, src/Init.cc, src/Init.defs.hh,
-	  src/Interval.defs.hh, src/LP_Problem.cc, src/LP_Problem.types.hh,
-	  src/Linear_Expression.cc, src/Linear_Expression.defs.hh,
-	  src/Linear_Expression.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/Makefile.am,
-	  src/Matrix.cc, src/Matrix.defs.hh, src/Matrix.inlines.hh,
-	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
-	  src/NNC_Polyhedron.inlines.hh, src/Ph_Status.cc,
-	  src/Ph_Status.idefs.hh, src/Poly_Con_Relation.cc,
-	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc,
-	  src/Poly_Gen_Relation.defs.hh, src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh,
-	  src/Polyhedra_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/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/Result.defs.hh,
-	  src/Rounding_Dir.defs.hh, src/Row.cc, src/Row.defs.hh,
-	  src/Saturation_Matrix.cc, src/Saturation_Matrix.defs.hh,
-	  src/Saturation_Matrix.inlines.hh, src/Saturation_Row.cc,
-	  src/Saturation_Row.defs.hh, src/Scalar_Products.cc,
-	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
-	  src/Scalar_Products.types.hh, src/Topology.hh,
-	  src/Variable.defs.hh, src/Widening_Function.defs.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/float.types.hh, src/fpu-c99.inlines.hh,
-	  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.defs.hh, src/globals.types.hh,
-	  src/mp_numeric_limits.hh, src/namespaces.hh,
-	  src/ppl-config.cc.in, src/version.hh.in, tests/Makefile.am,
-	  tests/PFunction.cc, tests/PFunction.hh,
-	  tests/Partial_Function.cc, tests/Partial_Function.defs.hh,
-	  tests/Partial_Function.inlines.hh,
-	  tests/Partial_Function.types.hh,
-	  tests/Random_Number_Generator.defs.hh,
-	  tests/Random_Number_Generator.inlines.hh, tests/ehandlers.cc,
-	  tests/ehandlers.hh, tests/ppl_test.cc, tests/ppl_test.hh,
-	  tests/print.cc, tests/print.hh, tests/valgrind_suppressions,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
-	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
-	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
-	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
-	  tests/BD_Shape/addspacedims7.cc,
-	  tests/BD_Shape/affinedimension1.cc,
-	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage10.cc,
-	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
-	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
-	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
-	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/affinepreimage2.cc,
-	  tests/BD_Shape/affinepreimage3.cc,
-	  tests/BD_Shape/affinepreimage4.cc,
-	  tests/BD_Shape/affinepreimage5.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/ascii_dump_load2.cc,
-	  tests/BD_Shape/bdsdifference1.cc,
-	  tests/BD_Shape/bdsdifference2.cc,
-	  tests/BD_Shape/bdsdifference3.cc,
-	  tests/BD_Shape/bdsdifference4.cc,
-	  tests/BD_Shape/bdsdifference5.cc,
-	  tests/BD_Shape/bdsdifference6.cc,
-	  tests/BD_Shape/bdsdifference7.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bdshull2.cc, tests/BD_Shape/bdshull3.cc,
-	  tests/BD_Shape/bdshull4.cc,
-	  tests/BD_Shape/bgp99extrapolation1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc,
-	  tests/BD_Shape/bhmz05widening2.cc,
-	  tests/BD_Shape/bhmz05widening3.cc,
-	  tests/BD_Shape/bhmz05widening4.cc,
-	  tests/BD_Shape/bhmz05widening5.cc,
-	  tests/BD_Shape/bhmz05widening6.cc,
-	  tests/BD_Shape/bhmz05widening7.cc,
-	  tests/BD_Shape/bhmz05widening8.cc,
-	  tests/BD_Shape/bhz03widening1.cc, tests/BD_Shape/bounded1.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76extrapolation2.cc,
-	  tests/BD_Shape/cc76extrapolation3.cc,
-	  tests/BD_Shape/cc76extrapolation4.cc,
-	  tests/BD_Shape/cc76extrapolation5.cc,
-	  tests/BD_Shape/cc76extrapolation6.cc,
-	  tests/BD_Shape/cc76narrowing1.cc,
-	  tests/BD_Shape/cc76narrowing2.cc,
-	  tests/BD_Shape/cc76narrowing3.cc,
-	  tests/BD_Shape/cc76narrowing4.cc,
-	  tests/BD_Shape/cc76narrowing5.cc, tests/BD_Shape/closure1.cc,
-	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/concatenate2.cc,
-	  tests/BD_Shape/concatenate3.cc, tests/BD_Shape/concatenate4.cc,
-	  tests/BD_Shape/concatenate5.cc, tests/BD_Shape/constraints1.cc,
-	  tests/BD_Shape/constraints2.cc, tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/contains2.cc, tests/BD_Shape/contains3.cc,
-	  tests/BD_Shape/empty1.cc, tests/BD_Shape/empty2.cc,
-	  tests/BD_Shape/empty3.cc, tests/BD_Shape/empty4.cc,
-	  tests/BD_Shape/empty5.cc, tests/BD_Shape/equality1.cc,
-	  tests/BD_Shape/exceptions1.cc, tests/BD_Shape/exceptions2.cc,
-	  tests/BD_Shape/exceptions3.cc, tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/frompolyhedron1.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage10.cc,
-	  tests/BD_Shape/generalizedaffineimage11.cc,
-	  tests/BD_Shape/generalizedaffineimage12.cc,
-	  tests/BD_Shape/generalizedaffineimage13.cc,
-	  tests/BD_Shape/generalizedaffineimage14.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffineimage3.cc,
-	  tests/BD_Shape/generalizedaffineimage4.cc,
-	  tests/BD_Shape/generalizedaffineimage5.cc,
-	  tests/BD_Shape/generalizedaffineimage6.cc,
-	  tests/BD_Shape/generalizedaffineimage7.cc,
-	  tests/BD_Shape/generalizedaffineimage8.cc,
-	  tests/BD_Shape/generalizedaffineimage9.cc,
-	  tests/BD_Shape/generalizedaffinepreimage1.cc,
-	  tests/BD_Shape/generalizedaffinepreimage2.cc,
-	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
-	  tests/BD_Shape/intersection1.cc, tests/BD_Shape/intersection2.cc,
-	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
-	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
-	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation2.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation3.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation4.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation5.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation6.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation7.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation8.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation9.cc,
-	  tests/BD_Shape/limitedcc76extrapolation1.cc,
-	  tests/BD_Shape/limitedcc76extrapolation2.cc,
-	  tests/BD_Shape/limitedcc76extrapolation3.cc,
-	  tests/BD_Shape/limitedh79extrapolation1.cc,
-	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
-	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
-	  tests/BD_Shape/maxspacedim.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/relations5.cc, tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/removespacedims2.cc,
-	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
-	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
-	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
-	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
-	  tests/BD_Shape/writebdshape1.cc, tests/BD_Shape/writebdshape2.cc,
-	  tests/Grid/.cvsignore, 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/asciidumpload1.cc, tests/Grid/asciidumpload2.cc,
-	  tests/Grid/bhz03widening1.cc, tests/Grid/bounded1.cc,
-	  tests/Grid/boundingbox1.cc, tests/Grid/boundingbox2.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/contains1.cc, tests/Grid/copyconstruct1.cc,
-	  tests/Grid/coveringbox1.cc, tests/Grid/coveringbox2.cc,
-	  tests/Grid/discrete1.cc, tests/Grid/disjoint1.cc,
-	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
-	  tests/Grid/foldspacedims1.cc,
-	  tests/Grid/generalizedaffineimage1.cc,
-	  tests/Grid/generalizedaffineimage2.cc,
-	  tests/Grid/generalizedaffinepreimage1.cc,
-	  tests/Grid/generalizedaffinepreimage2.cc,
-	  tests/Grid/generator1.cc, tests/Grid/generators1.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/join1.cc, tests/Grid/join2.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/relations1.cc,
-	  tests/Grid/relations2.cc, tests/Grid/removespacedims1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
-	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
-	  tests/Grid/widening1.cc, tests/Grid/widening2.cc,
-	  tests/Grid/widening3.cc, tests/Grid/writecongruencesystem.cc,
-	  tests/Polyhedron/CbecomesNNC1.cc,
-	  tests/Polyhedron/LP_Problem3.cc, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/NNCbecomesC1.cc,
-	  tests/Polyhedron/NNCminimize1.cc,
-	  tests/Polyhedron/NNCminimize2.cc,
-	  tests/Polyhedron/NNCminimize3.cc,
-	  tests/Polyhedron/NNCminimize4.cc,
-	  tests/Polyhedron/NNCminimize5.cc,
-	  tests/Polyhedron/NNCminimize6.cc,
-	  tests/Polyhedron/addcongruence1.cc,
-	  tests/Polyhedron/addcongruences1.cc,
-	  tests/Polyhedron/addconstraint1.cc,
-	  tests/Polyhedron/addconstraint2.cc,
-	  tests/Polyhedron/addconstraint3.cc,
-	  tests/Polyhedron/addconstraints1.cc,
-	  tests/Polyhedron/addconstraints10.cc,
-	  tests/Polyhedron/addconstraints11.cc,
-	  tests/Polyhedron/addconstraints12.cc,
-	  tests/Polyhedron/addconstraints13.cc,
-	  tests/Polyhedron/addconstraints2.cc,
-	  tests/Polyhedron/addconstraints3.cc,
-	  tests/Polyhedron/addconstraints4.cc,
-	  tests/Polyhedron/addconstraints5.cc,
-	  tests/Polyhedron/addconstraints6.cc,
-	  tests/Polyhedron/addconstraints7.cc,
-	  tests/Polyhedron/addconstraints8.cc,
-	  tests/Polyhedron/addconstraints9.cc,
-	  tests/Polyhedron/addgenerator1.cc,
-	  tests/Polyhedron/addgenerator2.cc,
-	  tests/Polyhedron/addgenerator3.cc,
-	  tests/Polyhedron/addgenerator4.cc,
-	  tests/Polyhedron/addgenerator5.cc,
-	  tests/Polyhedron/addgenerators1.cc,
-	  tests/Polyhedron/addgenerators10.cc,
-	  tests/Polyhedron/addgenerators11.cc,
-	  tests/Polyhedron/addgenerators12.cc,
-	  tests/Polyhedron/addgenerators13.cc,
-	  tests/Polyhedron/addgenerators2.cc,
-	  tests/Polyhedron/addgenerators3.cc,
-	  tests/Polyhedron/addgenerators4.cc,
-	  tests/Polyhedron/addgenerators5.cc,
-	  tests/Polyhedron/addgenerators6.cc,
-	  tests/Polyhedron/addgenerators7.cc,
-	  tests/Polyhedron/addgenerators8.cc,
-	  tests/Polyhedron/addgenerators9.cc,
-	  tests/Polyhedron/addspacedims1.cc,
-	  tests/Polyhedron/addspacedims10.cc,
-	  tests/Polyhedron/addspacedims11.cc,
-	  tests/Polyhedron/addspacedims12.cc,
-	  tests/Polyhedron/addspacedims13.cc,
-	  tests/Polyhedron/addspacedims2.cc,
-	  tests/Polyhedron/addspacedims3.cc,
-	  tests/Polyhedron/addspacedims4.cc,
-	  tests/Polyhedron/addspacedims5.cc,
-	  tests/Polyhedron/addspacedims6.cc,
-	  tests/Polyhedron/addspacedims7.cc,
-	  tests/Polyhedron/addspacedims8.cc,
-	  tests/Polyhedron/addspacedims9.cc,
-	  tests/Polyhedron/affineimage1.cc,
-	  tests/Polyhedron/affineimage2.cc,
-	  tests/Polyhedron/affineimage3.cc,
-	  tests/Polyhedron/affineimage4.cc,
-	  tests/Polyhedron/affineimage5.cc,
-	  tests/Polyhedron/affineimage6.cc,
-	  tests/Polyhedron/affineimage7.cc,
-	  tests/Polyhedron/affineimage8.cc,
-	  tests/Polyhedron/affineimage9.cc,
-	  tests/Polyhedron/affinepreimage1.cc,
-	  tests/Polyhedron/affinepreimage10.cc,
-	  tests/Polyhedron/affinepreimage11.cc,
-	  tests/Polyhedron/affinepreimage2.cc,
-	  tests/Polyhedron/affinepreimage3.cc,
-	  tests/Polyhedron/affinepreimage4.cc,
-	  tests/Polyhedron/affinepreimage5.cc,
-	  tests/Polyhedron/affinepreimage6.cc,
-	  tests/Polyhedron/affinepreimage7.cc,
-	  tests/Polyhedron/affinepreimage8.cc,
-	  tests/Polyhedron/affinepreimage9.cc,
-	  tests/Polyhedron/affinetrans.cc, tests/Polyhedron/append1.cc,
-	  tests/Polyhedron/ascii_dump_load1.cc,
-	  tests/Polyhedron/ascii_dump_load2.cc,
-	  tests/Polyhedron/ascii_dump_load3.cc,
-	  tests/Polyhedron/ascii_dump_load4.cc,
-	  tests/Polyhedron/ascii_dump_load5.cc,
-	  tests/Polyhedron/ascii_dump_load6.cc,
-	  tests/Polyhedron/ascii_dump_load7.cc,
-	  tests/Polyhedron/bgp99extrapolation1.cc,
-	  tests/Polyhedron/bgp99extrapolation2.cc,
-	  tests/Polyhedron/bhrz03widening1.cc,
-	  tests/Polyhedron/bhrz03widening10.cc,
-	  tests/Polyhedron/bhrz03widening11.cc,
-	  tests/Polyhedron/bhrz03widening12.cc,
-	  tests/Polyhedron/bhrz03widening13.cc,
-	  tests/Polyhedron/bhrz03widening14.cc,
-	  tests/Polyhedron/bhrz03widening15.cc,
-	  tests/Polyhedron/bhrz03widening16.cc,
-	  tests/Polyhedron/bhrz03widening17.cc,
-	  tests/Polyhedron/bhrz03widening18.cc,
-	  tests/Polyhedron/bhrz03widening19.cc,
-	  tests/Polyhedron/bhrz03widening2.cc,
-	  tests/Polyhedron/bhrz03widening3.cc,
-	  tests/Polyhedron/bhrz03widening4.cc,
-	  tests/Polyhedron/bhrz03widening5.cc,
-	  tests/Polyhedron/bhrz03widening6.cc,
-	  tests/Polyhedron/bhrz03widening7.cc,
-	  tests/Polyhedron/bhrz03widening8.cc,
-	  tests/Polyhedron/bhrz03widening9.cc,
-	  tests/Polyhedron/bhz03widening1.cc,
-	  tests/Polyhedron/bhz03widening2.cc,
-	  tests/Polyhedron/bhz03widening3.cc,
-	  tests/Polyhedron/bhz03widening4.cc,
-	  tests/Polyhedron/bhz03widening5.cc,
-	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
-	  tests/Polyhedron/boundedaffineimage1.cc,
-	  tests/Polyhedron/boundedaffineimage2.cc,
-	  tests/Polyhedron/boundedaffineimage3.cc,
-	  tests/Polyhedron/boundedaffinepreimage1.cc,
-	  tests/Polyhedron/boundedaffinepreimage2.cc,
-	  tests/Polyhedron/boundedaffinepreimage3.cc,
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/boundedh79extrapolation1.cc,
-	  tests/Polyhedron/boundingbox1.cc,
-	  tests/Polyhedron/boundingbox2.cc,
-	  tests/Polyhedron/boundingbox3.cc,
-	  tests/Polyhedron/boundingbox4.cc,
-	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
-	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/bug2.cc,
-	  tests/Polyhedron/cnncconversion1.cc,
-	  tests/Polyhedron/concatenate1.cc,
-	  tests/Polyhedron/concatenate2.cc,
-	  tests/Polyhedron/concatenate3.cc,
-	  tests/Polyhedron/concatenate4.cc,
-	  tests/Polyhedron/concatenate5.cc,
-	  tests/Polyhedron/concatenate6.cc,
-	  tests/Polyhedron/concatenate7.cc,
-	  tests/Polyhedron/congruences1.cc,
-	  tests/Polyhedron/constraints1.cc,
-	  tests/Polyhedron/constraints2.cc,
-	  tests/Polyhedron/constraints3.cc,
-	  tests/Polyhedron/constraints4.cc,
-	  tests/Polyhedron/constraints5.cc, tests/Polyhedron/contains1.cc,
-	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
-	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
-	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
-	  tests/Polyhedron/disjoint3.cc,
-	  tests/Polyhedron/dualhypercubes.cc, tests/Polyhedron/empty1.cc,
-	  tests/Polyhedron/equals1.cc, tests/Polyhedron/expandspacedim1.cc,
-	  tests/Polyhedron/expandspacedim2.cc,
-	  tests/Polyhedron/foldspacedims1.cc,
-	  tests/Polyhedron/foldspacedims2.cc,
-	  tests/Polyhedron/generalizedaffineimage1.cc,
-	  tests/Polyhedron/generalizedaffineimage10.cc,
-	  tests/Polyhedron/generalizedaffineimage11.cc,
-	  tests/Polyhedron/generalizedaffineimage12.cc,
-	  tests/Polyhedron/generalizedaffineimage13.cc,
-	  tests/Polyhedron/generalizedaffineimage14.cc,
-	  tests/Polyhedron/generalizedaffineimage2.cc,
-	  tests/Polyhedron/generalizedaffineimage3.cc,
-	  tests/Polyhedron/generalizedaffineimage4.cc,
-	  tests/Polyhedron/generalizedaffineimage5.cc,
-	  tests/Polyhedron/generalizedaffineimage6.cc,
-	  tests/Polyhedron/generalizedaffineimage7.cc,
-	  tests/Polyhedron/generalizedaffineimage8.cc,
-	  tests/Polyhedron/generalizedaffineimage9.cc,
-	  tests/Polyhedron/generalizedaffinepreimage1.cc,
-	  tests/Polyhedron/generalizedaffinepreimage2.cc,
-	  tests/Polyhedron/generalizedaffinepreimage3.cc,
-	  tests/Polyhedron/generalizedaffinepreimage4.cc,
-	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
-	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
-	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
-	  tests/Polyhedron/generators7.cc, tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/gramschmidt1.cc,
-	  tests/Polyhedron/h79widening1.cc,
-	  tests/Polyhedron/h79widening2.cc,
-	  tests/Polyhedron/h79widening3.cc,
-	  tests/Polyhedron/h79widening4.cc,
-	  tests/Polyhedron/h79widening5.cc,
-	  tests/Polyhedron/h79widening6.cc,
-	  tests/Polyhedron/h79widening7.cc,
-	  tests/Polyhedron/h79widening8.cc,
-	  tests/Polyhedron/intersection1.cc,
-	  tests/Polyhedron/intersection10.cc,
-	  tests/Polyhedron/intersection11.cc,
-	  tests/Polyhedron/intersection2.cc,
-	  tests/Polyhedron/intersection3.cc,
-	  tests/Polyhedron/intersection4.cc,
-	  tests/Polyhedron/intersection5.cc,
-	  tests/Polyhedron/intersection6.cc,
-	  tests/Polyhedron/intersection7.cc,
-	  tests/Polyhedron/intersection8.cc,
-	  tests/Polyhedron/intersection9.cc,
-	  tests/Polyhedron/limitedh79extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation2.cc,
-	  tests/Polyhedron/limitedh79extrapolation3.cc,
-	  tests/Polyhedron/limitedh79extrapolation4.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/linearpartition2.cc,
-	  tests/Polyhedron/linearpartition3.cc,
-	  tests/Polyhedron/linearpartition4.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/linexpression1.cc,
-	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/lpproblem2.cc,
-	  tests/Polyhedron/mapspacedims1.cc,
-	  tests/Polyhedron/mapspacedims2.cc,
-	  tests/Polyhedron/mapspacedims3.cc,
-	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/max_min1.cc,
-	  tests/Polyhedron/max_min2.cc, tests/Polyhedron/maxspacedim1.cc,
-	  tests/Polyhedron/mc91.cc, tests/Polyhedron/memory1.cc,
-	  tests/Polyhedron/minconstraints1.cc,
-	  tests/Polyhedron/minconstraints2.cc,
-	  tests/Polyhedron/minconstraints3.cc,
-	  tests/Polyhedron/minconstraints4.cc,
-	  tests/Polyhedron/mingenerators1.cc,
-	  tests/Polyhedron/mingenerators2.cc,
-	  tests/Polyhedron/mingenerators3.cc,
-	  tests/Polyhedron/nncminimize1.cc,
-	  tests/Polyhedron/nncminimize2.cc,
-	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
-	  tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polydifference3.cc,
-	  tests/Polyhedron/polydifference4.cc,
-	  tests/Polyhedron/polydifference5.cc,
-	  tests/Polyhedron/polydifference6.cc,
-	  tests/Polyhedron/polydifference7.cc,
-	  tests/Polyhedron/polydifference8.cc,
-	  tests/Polyhedron/polydifference9.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
-	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
-	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
-	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
-	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/polypowerset1.cc,
-	  tests/Polyhedron/powerset1.cc, tests/Polyhedron/randphull1.cc,
-	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
-	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
-	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
-	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
-	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
-	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
-	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
-	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
-	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
-	  tests/Polyhedron/relations9.cc,
-	  tests/Polyhedron/removespacedims1.cc,
-	  tests/Polyhedron/removespacedims10.cc,
-	  tests/Polyhedron/removespacedims2.cc,
-	  tests/Polyhedron/removespacedims3.cc,
-	  tests/Polyhedron/removespacedims4.cc,
-	  tests/Polyhedron/removespacedims5.cc,
-	  tests/Polyhedron/removespacedims6.cc,
-	  tests/Polyhedron/removespacedims7.cc,
-	  tests/Polyhedron/removespacedims8.cc,
-	  tests/Polyhedron/removespacedims9.cc,
-	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
-	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
-	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
-	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
-	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
-	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
-	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
-	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
-	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
-	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
-	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
-	  tests/Polyhedron/universe7.cc,
-	  tests/Polyhedron/valgrind_suppressions,
-	  tests/Polyhedron/watchdog1.cc, tests/Polyhedron/writeconsys1.cc,
-	  tests/Polyhedron/writegensys1.cc,
-	  tests/Polyhedron/writegensys2.cc,
-	  tests/Polyhedron/writegensys3.cc,
-	  tests/Polyhedron/writepolyhedron1.cc,
-	  tests/Polyhedron/writepolyhedron2.cc,
-	  tests/Polyhedron/writepolyhedron3.cc,
-	  tests/Polyhedron/writerelation1.cc, utils/.cvsignore,
-	  utils/Makefile.am
-	  (simplex.[1,2,2,2,2,2,2,5,2,2,2,2,1,1,1,2,2,1,2,2,2,1,2,2,1,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,5,5,2,2,4,4,2,2,2,2,2,2,2,1,2,2,2,1,2,2,2,2,3,2,2,2,2,2,2,1,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,2,1,2,2,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,5,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,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,43,4,2,3,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2, [...]
-	  Second merge from main trunk.
-
-2006-05-08 Monday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.cc, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, interfaces/Prolog/ppl_prolog.icc,
-	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/BD_Shape.templates.hh, src/Congruence.cc,
-	  src/Congruence.defs.hh, src/Congruence.inlines.hh,
-	  src/Congruence_System.cc, 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/Grid.templates.hh,
-	  src/Grid_Generator.cc, src/Grid_Generator.defs.hh,
-	  src/Grid_Generator_System.cc,
-	  src/Grid_Generator_System.inlines.hh, src/Grid_Status.cc,
-	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
-	  src/Grid_public.cc, src/Grid_simplify.cc,
-	  src/Linear_Expression.defs.hh, src/Makefile.am,
-	  tests/ppl_test.cc, tests/ppl_test.hh, tests/BD_Shape/Makefile.am,
-	  tests/BD_Shape/addconstraints1.cc,
-	  tests/BD_Shape/affinedimension1.cc,
-	  tests/BD_Shape/affineimage1.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/affinepreimage2.cc,
-	  tests/BD_Shape/bdsdifference1.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc, tests/BD_Shape/bounded1.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76narrowing1.cc, tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/fromgensys1.cc, tests/BD_Shape/frompolyhedron1.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffinepreimage2.cc,
-	  tests/BD_Shape/intersection1.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/BD_Shape/limitedcc76extrapolation1.cc,
-	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
-	  tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/timeelapse1.cc, tests/Grid/affineimage2.cc,
-	  tests/Grid/asciidumpload1.cc, tests/Grid/join1.cc,
-	  tests/Grid/maxmin1.cc, tests/Grid/outputoperator1.cc,
-	  tests/Grid/writecongruencesystem.cc, tests/Polyhedron/Makefile.am
-	  (octagons.[1,3,3,1,1,1,1,1,1,1,1,1,2,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,6,1,4,1,2,1,2,2,1,2,2,2,2,2,2,1,1,2,2,1,2,2,2,1,1,2,2,1,1,1,1,1,1,1]):
-	  First merge from main trunk.
-
-2006-05-08 Monday 16:09  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.33): Corrected a
-	  comment in	    Octagonal_Shape<T>::affine_preimage() and
-	  changed	`Coefficient b = expr.inhomogeneous_term();' in
-	  `const Coefficient& b = expr.inhomogeneous_term();'.
-
-2006-05-08 Monday 15:56  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.14): Reduce the number of implicit
-	  temporaries in the loop in reduce_pc_with_pc.  Move the explicit
-	  creation of temporary integers outside the same loop.
-
-2006-05-08 Monday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_simplify.cc (simplex.1): file Grid_simplify.cc was added
-	  on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-08 Monday 15:32  Matthew Mundell
-
-	* src/Grid_Status.cc (1.4): Drop the printing of the final trailing
-	  space from method ascii_dump.
-
-2006-05-08 Monday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Status.cc (simplex.1): file Grid_Status.cc was added on
-	  branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-08 Monday 15:30  Matthew Mundell
-
-	* src/Grid_public.cc (1.18): Update time_elapse_assign to use
-	  Grid_Generator::set_is_parameter() instead of multiple calls to
-	  Grid_Generator::set_divisor.
-
-2006-05-08 Monday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (simplex.1): file Grid_public.cc was added on
-	  branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-08 Monday 15:28  Matthew Mundell
-
-	* src/: Grid_Generator.cc (1.9), Grid_Generator.defs.hh (1.16): Add
-	  set_is_parameter().
-
-2006-05-08 Monday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.cc (simplex.1): file Grid_Generator.cc was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-08 Monday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.defs.hh (simplex.1): file
-	  Grid_Generator.defs.hh was added on branch simplex on 2006-05-08
-	  17:15:49 +0000
-
-2006-05-08 Monday 15:27  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc (1.7),
-	  Grid_Generator_System.inlines.hh (1.8): Tailor the ascii_dump and
-	  ascii_load methods for grids.
-
-2006-05-08 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator_System.cc (simplex.1): file
-	  Grid_Generator_System.cc was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-05-08 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator_System.inlines.hh (simplex.1): file
-	  Grid_Generator_System.inlines.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-05-08 Monday 14:05  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.32): Avoid repeated
-	  computations in
-	  Octagonal_Shape<T>::generalized_affine_image().
-
-2006-05-08 Monday 13:28  Matthew Mundell
-
-	* src/: Congruence.cc (1.6), Congruence.defs.hh (1.8),
-	  Congruence.inlines.hh (1.8), Linear_Expression.defs.hh (1.25):
-	  Add create(le,le), create(le,n) and create(n,le) to Congruence.
-	  Update the Congruence-returning %= operators to use the new
-	  create methods instead of requiring the friend relations between
-	  these operators and the Congruence and Linear_Expression classes.
-
-2006-05-08 Monday 13:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.cc (simplex.1): file Congruence.cc was added on
-	  branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-08 Monday 13:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.defs.hh (simplex.1): file Congruence.defs.hh was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-08 Monday 13:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.inlines.hh (simplex.1): file Congruence.inlines.hh
-	  was added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-05 Friday 19:46  Matthew Mundell
-
-	* src/: Congruence.cc (1.5), Congruence_System.cc (1.11),
-	  Grid.templates.hh (1.6), Grid_conversion.cc (1.7),
-	  Grid_nonpublic.cc (1.9), Grid_public.cc (1.17), Grid_simplify.cc
-	  (1.13): Update many loops to loop down towards a constant instead
-	  of up towards a value in a variable.
-
-2006-05-05 Friday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.cc (simplex.1): file Congruence_System.cc
-	  was added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-05 Friday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.templates.hh (simplex.1): file Grid.templates.hh was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-05 Friday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_conversion.cc (simplex.1): file Grid_conversion.cc was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-05 Friday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_nonpublic.cc (simplex.1): file Grid_nonpublic.cc was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-05 Friday 16:51  quartieri
-
-	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh,
-	  Octagonal_Shape.templates.hh (octagons.[12,7,31]): Renamed the
-	  parameter `v' to `v_id' in
-	  Octagonal_Shape<T>::forget_binary_octagonal_constraints().
-	  `v_id' is the index of variable whose constraints are forgotten,
-	  `v' was the index of rows/columns on `v_id' in the octagon,
-	  instead.
-
-2006-05-05 Friday 16:26  quartieri
-
-	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh,
-	  Octagonal_Shape.templates.hh (octagons.[11,6,30]): Renamed the
-	  parameter `v' to `v_id' in
-	  Octagonal_Shape<T>::forget_all_octagonal_constraints().  `v_id'
-	  is the index of variable whose constraints are forgotten, `v' was
-	  the index of rows/columns on `v_id' in the octagon, instead.
-
-2006-05-05 Friday 16:21  Elena Mazzi
-
-	* src/: BD_Shape.defs.hh (1.70), BD_Shape.templates.hh (1.11):
-	  Renamed some parameters in helper functions for the computation
-	  of affine relations: `pos_sum' and `neg_sum' renamed as `ub_v'
-	  and minus_lb_v'.
-
-	  Added some assertions in these helper funcions: - `sc_den' should
-	  be positive; - `ub_v' and `minus_lb_v' shouldn't be equal to
-	  plus infinity.
-
-2006-05-05 Friday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (simplex.1): file BD_Shape.templates.hh
-	  was added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-05-05 Friday 15:42  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.29): Added some
-	  comments in Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds().
-
-2006-05-05 Friday 15:39  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.28): Added some
-	  comments in Octagonal_Shape<T>::deduce_v_pm_u_bounds().
-
-2006-05-05 Friday 15:28  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.27): Added the
-	  assertion   assert(!is_plus_infinity(minus_lb_v)); in
-	  Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds() to ensure that
-	  `minus_lb_v' is a meaningful parameter.
-
-2006-05-05 Friday 15:23  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.26): Added the
-	  assertion   assert(!is_plus_infinity(ub_v)); in
-	  Octagonal_Shape<T>::deduce_v_pm_u_bounds() to ensure that `ub_v'
-	  is a meaningful parameter.
-
-2006-05-05 Friday 15:09  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.25): Added the
-	  assertion   assert(sc_den > 0); in
-	  Octagonal_Shape<T>::deduce_v_pm_u_bounds() and in
-	  Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds().  `sc_den' is
-	  always positive.
-
-2006-05-05 Friday 14:27  quartieri
-
-	* src/Octagonal_Shape.defs.hh (octagons.10): Corrected the
-	  documentation for    void deduce_v_pm_u_bounds() and	       void
-	  deduce_minus_v_pm_u_bounds().
-
-2006-05-05 Friday 14:01  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.24): Corrected some
-	  comments in	  Octagonal_Shape<T>::deduce_v_pm_u_bounds().
-	  Corrected some comments and renamed `minus_q' in `q' in
-	  Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds() to improve
-	  readability.
-
-2006-05-05 Friday 13:48  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.23): Corrected some
-	  comments and renamed `q' in `minus_q' in
-	  Octagonal_Shape<T>::deduce_v_pm_u_bounds() to improve
-	  readability.
-
-2006-05-05 Friday 13:14  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.22): Corrected two
-	  bugs in	  Octagonal_Shape<T>::deduce_minus_v_pm_u_bounds().
-
-2006-05-04 Thursday 21:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.124), BD_Shape.defs.hh (1.69): Added
-	  a couple of missing \relates Doxygen commands.
-
-2006-05-04 Thursday 21:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in, devref.doxyconf-latex.in
-	  (octagons.[2,2]): Also consider files distances.* when producing
-	  the devref manual.
-
-2006-05-04 Thursday 21:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[12,17]):
-	  Added a few missing \relates Doxygen commands.  Corrected the
-	  name of a macro (error probably caused by uncareful query
-	  replace).  Reordered definitions of inline functions so as to
-	  alow inlining.
-
-2006-05-04 Thursday 21:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh
-	  (octagons.[9,5]): Added a few missing \relates Doxygen commands.
-
-2006-05-04 Thursday 16:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh
-	  (octagons.[8,21]): Helper functions for the computation of affine
-	  relations rewritten and reorganized:	- deduce_v_pm_u_bounds()
-	  now replaces the two functions    deduce_v_minus_u_bounds() and
-	  deduce_v_plus_u_bounds(), since these were	always called one
-	  after the other and they were going through the    same loop;  -
-	  similarly done for deduce_minus_v_pm_u_bounds();  - pos_sum and
-	  neg_sum parameters renamed as ub_v and minus_lb_v;  - code
-	  improved a lot for readability (and maybe also efficiency);  -
-	  avoided use of ROND_UP when dealing with mpq_class objects
-	  (prefer    using ROUND_NOT_NEEDED);  - removed inline directive
-	  from is_bounded().
-
-2006-05-04 Thursday 16:31  Matthew Mundell
-
-	* tests/Grid/maxmin1.cc (1.9): In check_both, check_minimize and
-	  check_maximize add parameter const qualifiers and convert all
-	  parameters to references.
-
-2006-05-04 Thursday 16:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/maxmin1.cc (simplex.1): file maxmin1.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-05-04 Thursday 16:20  Elena Mazzi
-
-	* src/Octagonal_Shape.templates.hh (octagons.20): Reversed some
-	  loops.
-
-2006-05-04 Thursday 16:12  Matthew Mundell
-
-	* src/Grid_Generator.cc (1.8): Update the output operator to denote
-	  parameters with a `q'.
-
-2006-05-04 Thursday 15:56  Matthew Mundell
-
-	* src/Grid_simplify.cc (1.12): Improve variable names in
-	  reduce_parameter_with_line and reduce_congruence_with_equality.
-
-2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload1.cc (simplex.1): file asciidumpload1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/outputoperator1.cc (simplex.1): file
-	  outputoperator1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/writecongruencesystem.cc (altnum.1): file
-	  writecongruencesystem.cc was added on branch altnum on 2006-10-29
-	  19:27:28 +0000
-
-2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/writecongruencesystem.cc (simplex.1): file
-	  writecongruencesystem.cc was added on branch simplex on
-	  2006-05-08 17:15:56 +0000
-
-2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ppl_test.cc (1.5), ppl_test.hh (1.47),
-	  BD_Shape/addconstraints1.cc (1.12), BD_Shape/affineimage1.cc
-	  (1.13), BD_Shape/affinepreimage1.cc (1.13),
-	  BD_Shape/bdsdifference1.cc (1.9), BD_Shape/bdshull1.cc (1.9),
-	  BD_Shape/bhmz05widening1.cc (1.9), BD_Shape/cc76extrapolation1.cc
-	  (1.13), BD_Shape/cc76narrowing1.cc (1.13), BD_Shape/contains1.cc
-	  (1.11), BD_Shape/fromgensys1.cc (1.12),
-	  BD_Shape/generalizedaffineimage2.cc (1.14),
-	  BD_Shape/intersection1.cc (1.12),
-	  BD_Shape/limitedbhmz05extrapolation1.cc (1.8),
-	  BD_Shape/limitedcc76extrapolation1.cc (1.9),
-	  BD_Shape/relations2.cc (1.17), BD_Shape/relations3.cc (1.14),
-	  BD_Shape/removespacedims1.cc (1.13), BD_Shape/timeelapse1.cc
-	  (1.12), Grid/asciidumpload1.cc (1.8), Grid/maxmin1.cc (1.8),
-	  Grid/outputoperator1.cc (1.6), Grid/writecongruencesystem.cc
-	  (1.6): Repeated using directives removed; others avoided.  Added
-	  missing inclusions and missing std:: qualifications.
-
-2006-05-04 Thursday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.cc (simplex.1): file ppl_test.cc was added on
-	  branch simplex on 2006-05-08 17:15:53 +0000
-
-2006-05-04 Thursday 14:49  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.19): Improved
-	  generalized_affine_preimage().
-
-2006-05-04 Thursday 14:17  Elena Mazzi
-
-	* src/Octagonal_Shape.templates.hh (octagons.18): Several (mainly
-	  readability) improvements to the implementation of method
-	  generalized_affine_image().
-
-2006-05-04 Thursday 13:47  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.17): Another pass
-	  through the code of generalized_affine_preimage(), to improve
-	  readability and thus maintainability.      - in the general case,
-	  the references inside the matrix are named	     m_*, e.g.,
-	  m_i, m_ci, m_v, etc.	Avoid almost useless uses of row_iterator
-	  (prefer the direct matrix accessors' operators if a single access
-	  to the row has to be done).
-
-2006-05-04 Thursday 13:09  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.16): Another pass
-	  through the code of generalized_affine_preimage(), to improve
-	  readability and thus maintainability.      - moved the definition
-	  of minus_den to avoid repeated computations;	   - in the case
-	  t==0, removed an unneccesary row_iterator and       defined
-	  two_b;	- in the case t==1, coeff renamed as w_coeff and
-	  lv_index renamed  as	   n_w.
-
-2006-05-04 Thursday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/Makefile.am (1.44), Polyhedron/Makefile.am
-	  (1.89): Unwanted indentation removed.
-
-2006-05-04 Thursday 12:16  Elena Mazzi
-
-	* src/Octagonal_Shape.templates.hh (octagons.15): Improved
-	  readability and thus maintainability in the methods of affine
-	  trasformations: - in the case t==1, the coefficient a renamed as
-	  w_coeff.
-
-	  Corrected a bug in the method affine_image().
-
-2006-05-04 Thursday 10:46  Elena Mazzi
-
-	* src/Octagonal_Shape.templates.hh (octagons.14): Improved
-	  readability and thus maintainability in the methods of affine
-	  trasformations: - last_var_id renamed as w_id; - num_var renamed
-	  as var_id.
-
-2006-05-04 Thursday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.13): Another pass
-	  through the code of affine_image(), to improve readability and
-	  thus maintainability.   - last_var_id renamed as w_id;   - in the
-	  case t==1, coeff renamed as w_coeff;	 - variable indices should
-	  be called *_id; the indices used to access the     matrix should
-	  be named n_*, e.g., var and n_w;   - the references inside the
-	  matrix are named m_*, e.g., m_i, m_ci, m_v, etc.  Avoid repeated
-	  testing of known conditionals; avoid almost useless uses of
-	  row_iterator (prefer the direct matrix accessors' operators if a
-	  single access to the row has to be done).
-
-2006-05-04 Thursday 10:05  Elena Mazzi
-
-	* src/Octagonal_Shape.templates.hh (octagons.12): Some (mainly
-	  readability) improvements to the implementation of method
-	  affine_preimage().  Indented region in some methods.
-
-2006-05-03 Wednesday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.11): Several (mainly
-	  readability) improvements to the implementation of method
-	  affine_image() for the case when t == 1.
-
-2006-05-03 Wednesday 14:43  Elena Mazzi
-
-	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.templates.hh
-	  (octagons.[7,10]): Added a new method
-	  Octagonal_Shape::is_bounded().
-
-2006-05-03 Wednesday 14:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.9): A few improvements
-	  in method constraints() and operator <<.
-
-2006-05-03 Wednesday 09:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.8): Added (macro for)
-	  definitions of output functions.
-
-2006-05-02 Tuesday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bounded1.cc (altnum.1): file bounded1.cc was added
-	  on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-05-02 Tuesday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bounded1.cc (octagons.1): file bounded1.cc was
-	  added on branch octagons on 2006-05-08 16:16:44 +0000
-
-2006-05-02 Tuesday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bounded1.cc (simplex.1): file bounded1.cc was
-	  added on branch simplex on 2006-05-08 17:15:53 +0000
-
-2006-05-02 Tuesday 17:48  Elena Mazzi
-
-	* src/BD_Shape.defs.hh (1.68), src/BD_Shape.templates.hh (1.10),
-	  tests/BD_Shape/Makefile.am (1.43), tests/BD_Shape/bounded1.cc
-	  (1.1): Defined a new method BD_Shape::is_bounded().  Added some
-	  tests for this method.
-
-2006-05-02 Tuesday 16:39  Elena Mazzi
-
-	* tests/BD_Shape/affinedimension1.cc (1.8): Rewrited and added some
-	  tests for affine_dimension().
-
-2006-05-02 Tuesday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/frompolyhedron1.cc (1.2): test01() in
-	  frompolyhedron1.cc overflows when using 8-bit and 16-bit
-	  integers.
-
-2006-05-02 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/frompolyhedron1.cc (octagons.1): file
-	  frompolyhedron1.cc was added on branch octagons on 2006-05-08
-	  16:16:44 +0000
-
-2006-05-02 Tuesday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/frompolyhedron1.cc (simplex.1): file
-	  frompolyhedron1.cc was added on branch simplex on 2006-05-08
-	  17:15:53 +0000
-
-2006-05-02 Tuesday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (octagons.3): Added support for checking the
-	  results of approximated Octagonal_Shape computations.
-
-2006-05-02 Tuesday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[11,16]):
-	  All instances of OR_Matrix are now friends of each other.  Added
-	  constructor building an overapproximation of an OR_Matrix of a
-	  different coefficient type.
-
-2006-05-02 Tuesday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh
-	  (octagons.[6,4]): Added declarations and definitions of fucntions
-	  computing distances.	Added constructor converting from another
-	  Octagonal_Shape.  All instances of Octagonal_Shape are now
-	  friends of each other.
-
-2006-05-02 Tuesday 15:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[10,15]):
-	  Added declarations and definitions of helper functions for
-	  computing distances.
-
-2006-05-02 Tuesday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: DB_Matrix.inlines.hh, Makefile.am, distances.defs.hh,
-	  distances.inlines.hh, distances.types.hh (octagons.[1,5,1,1,1]):
-	  Common code for computing distances put in files distances.*
-
-2006-05-02 Tuesday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.7): Restored previous
-	  version of is_strongly_reduced(): the modified version was not
-	  working as it was assumming that a strongly reduced matrix is
-	  just strongly closed plus Booleans indicating redundancies (as
-	  for BD shapes).  Removed a few redundant template qualifications.
-
-2006-05-02 Tuesday 12:31  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.9): Don't confuse the class
-	  used to solve the lp problems and the name of the program.
-
-2006-05-02 Tuesday 10:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh,
-	  Octagonal_Shape.defs.hh, Octagonal_Shape.inlines.hh
-	  (octagons.[9,14,5,3]): OR_Matrix should know nothing about
-	  coherence. Methods at() moved in Octagonal_Shape and named
-	  matrix_at().
-
-2006-05-02 Tuesday 10:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.6): Corrected a bug in
-	  is_strongly_reduced().
-
-2006-05-02 Tuesday 09:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.5): A few improvements
-	  to comments.	Added some missing const qualifiers; removed
-	  redundant parentheses.  Some improvements to the incremental
-	  strong closure procedure (mainly in readability). Corrected
-	  strong_coherence_assign().
-
-2006-04-30 Sunday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (octagons.4): Removed declarations
-	  for no longer used alternative implementations of (incremental)
-	  strong closure.
-
-2006-04-30 Sunday 18:46  quartieri
-
-	* src/Octagonal_Shape.templates.hh (octagons.4): Corrected a bug in
-	  Octagonal_Shape<T>::affine_preimage().  Erased some
-	  duplicated code lines and corrected the insertion of constraints
-	  in	     Octagonal_Shape<T>::generalized_affine_preimage().
-
-2006-04-30 Sunday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.inlines.hh (octagons.2): Avoid useless
-	  inclusions of iostream, sstream and stdexcept.  Avoid a few
-	  useless braces.  Deleted useless function
-	  strong_coherence_local_step().  Deleted functions
-	  get_matrix_element() (use OR_Matrix<T>::at() instead).  Some
-	  improvements (in particular, in assertion checking) in methods
-	  add_octagonal_constraint() and forget_octagonal_constraints().  A
-	  few documentation improvements.
-
-2006-04-30 Sunday 15:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[8,13]):
-	  Added methods at(dimension_type, dimension_type) that provide
-	  controlled access to the matrix as if it was a square matrix.
-	  Corrected method clear().
-
-2006-04-30 Sunday 15:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.3): Corrected a bug in
-	  affine_dimension() regarding the identification of the singular
-	  zero-equivalence class.
-
-2006-04-30 Sunday 10:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (octagons.1): Drafted a common section for
-	  describing both BDSs and OSs.
-
-2006-04-30 Sunday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (octagons.3): Corrected a LaTeX error
-	  in the documentation.
-
-2006-04-30 Sunday 09:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (octagons.2): Added missing include
-	  directive for friend declaration.
-
-2006-04-30 Sunday 09:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.42), frompolyhedron1.cc (1.1):
-	  Added a test on the conversion from C_Polyhedron to BD_Shape
-	  exploiting the simplex algorithm.
-
-2006-04-29 Saturday 22:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.9): Corrected the constructor taking
-	  a polyhedron an SIMPLEX_COMPLEXITY.
-
-2006-04-29 Saturday 22:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.templates.hh (octagons.2): Implemented the
-	  constructor building an OS from a Polyhedron.  Removed redundant
-	  template parameter in the argument of concatenate_assign().
-	  Small correction in the output of method OK().
-
-2006-04-29 Saturday 22:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagonal_Shape.defs.hh (octagons.2): Corrected some comments
-	  (in particular, references to Doxygen documentation).
-
-2006-04-29 Saturday 22:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (octagons.1): Octagonal_Shape is a friend
-	  of Polyhedron (needed for conversion).
-
-2006-04-29 Saturday 22:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh (octagons.12): Removed redundant
-	  template parameter in the argument of operator-: it was confusing
-	  Doxygen.
-
-2006-04-29 Saturday 22:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/OR_Matrix.defs.hh (octagons.7): Removed trailing whitespace.
-
-2006-04-29 Saturday 12:15  Andrea Cimino
-
-	* tests/Polyhedron/lpproblem1.cc (simplex.3): Fixed the test to
-	  match the new expected result.
-
-2006-04-29 Saturday 11:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.8): Corrected the two bugs in
-	  generalized_affine_preimage() shown by test04() and test05() in
-	  generalizedaffinepreimage2.cc.
-
-2006-04-29 Saturday 11:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage2.cc (1.12): test05()
-	  shows a bug in BD_Shape::generalized_affine_preimage() that shows
-	  up when using GREATER_THAN_OR_EQUAL.
-
-2006-04-29 Saturday 11:04  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.42): Turned on the steepest edge
-	  floating point version.
-
-2006-04-29 Saturday 10:54  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.41): Removed redundant line.
-
-2006-04-29 Saturday 10:48  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.40): Turn off the steepest-edge
-	  floating point version by default.
-
-2006-04-29 Saturday 10:40  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.39): Fixed a bug in the floating point
-	  version: remember to initialize the values in the first loop
-	  before comparing `current' and `challenger' values.
-
-2006-04-29 Saturday 09:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.7): In
-	  BD_Shape<T>::affine_preimage(), corrected the bug shown by
-	  test09() of affinepreimage2.cc.
-
-2006-04-29 Saturday 09:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/affinepreimage2.cc (1.12): test09() shows a bug in
-	  the computation of BD_Shape<T>::affine_preimage() under somehow
-	  specific conditions (expression is invertible and on a single
-	  variable, denominator is equal to opposite of the coefficient of
-	  the variable and the inhomogeneous term is non-zero).
-
-2006-04-28 Friday 23:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Makefile.am, src/Octagon.cc, src/Octagon.defs.hh,
-	  src/Octagon.inlines.hh, src/Octagon.templates.hh,
-	  src/Octagon.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,
-	  doc/devref.doxyconf-html.in, doc/devref.doxyconf-latex.in,
-	  tests/ppl_test.hh, tests/print.hh
-	  (octagons.[4,2,17,17,28,2,1,1,1,1,1,2,3,1,1,2,2]): Class template
-	  Octagon renamed to Octagonal_Shape.
-
-2006-04-28 Friday 17:27  quartieri
-
-	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
-	  (octagons.[16,16,27]): Improved the private methods
-	  Octagon<T>::forget_all_octagonal_constraints() and
-	  Octagon<T>::forget_binary_octagonal_constraints().
-
-2006-04-28 Friday 16:46  quartieri
-
-	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
-	  (octagons.[15,15,26]): Improved the private methods
-	  Octagon<T>::add_octagonal_constraint().
-
-2006-04-28 Friday 16:18  quartieri
-
-	* src/Octagon.templates.hh (octagons.25): Corrected a bug in
-	  Octagon<T>::generalized_affine_preimage() and added some tests
-	  for it.
-
-2006-04-28 Friday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.6): Corrected a couple of typos in
-	  the (optional) output produced by OK() when invarinats are
-	  violated.  Renamed iterators in BD_Shape(const Generator_System&)
-	  so as to avoid misleading name clash with space dimension
-	  indices.
-
-2006-04-27 Thursday 17:08  quartieri
-
-	* src/Octagon.templates.hh (octagons.24): Corrected a bug in
-	  Octagon::generalized_affine_preimage() and added a test for it.
-
-2006-04-27 Thursday 17:05  Elena Mazzi
-
-	* tests/BD_Shape/generalizedaffinepreimage2.cc (1.11): Corrected an
-	  error in `test04', but the bug remains.
-
-2006-04-27 Thursday 16:31  Elena Mazzi
-
-	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[6,11]):
-	  Improved the comments about the class OR_Matrix.
-
-2006-04-27 Thursday 13:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagon.templates.hh (octagons.23): Corrected a few spelling
-	  errors inside assertions.
-
-2006-04-27 Thursday 13:28  Elena Mazzi
-
-	* tests/BD_Shape/generalizedaffinepreimage2.cc (1.10): Added a new
-	  test that shows a bug in the method:
-	  BD_Shape::generalized_affine_preimage().
-
-2006-04-27 Thursday 12:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagon.templates.hh (octagons.22): Committed an improved
-	  version of the inner loop of strong_closure_assign(), avoiding
-	  repeated conditional tests and coherent indexes computations.
-
-2006-04-27 Thursday 12:23  quartieri
-
-	* src/Octagon.templates.hh (octagons.21): Corrected the functions
-	  Octagon<T>::affine_image(),
-	  Octagon<T>::affine_preimage(),
-	  Octagon<T>::generalized_affine_image(const Variable var,
-					     const Relation_Symbol relsym,
-						   const Linear_Expression&
-	  expr ,
-	  Coefficient_traits::const_reference
-			denominator),
-	  Octagon<T>::generalized_affine_image(const Linear_Expression&
-	  lhs,						 const
-	  Relation_Symbol relsym,
-	  const Linear_Expression& rhs).  Added the function
-	  Octagon<T>::generalized_affine_preimage().
-
-2006-04-27 Thursday 12:04  quartieri
-
-	* src/Octagon.inlines.hh (octagons.14): Defined the function
-	  Octagon<T>::forget_binary_octagonal_constraints().
-
-2006-04-27 Thursday 12:00  quartieri
-
-	* src/Octagon.defs.hh (octagons.14): Added the new functions
-	  void forget_binary_octagonal_constraints() and  void
-	  generalized_affine_preimage().
-
-2006-04-27 Thursday 10:38  Elena Mazzi
-
-	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[13,20]):
-	  Renamed `compute_nexts()' with `compute_successors()'.  Replaced
-	  the word `next' with `successor'.  Removed an obsolete line in
-	  Octagon::strong_reduction_assign().
-
-2006-04-26 Wednesday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[5,10]):
-	  Removed unused method OR_Matrix::erase_to_end().
-
-2006-04-26 Wednesday 14:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Octagon.templates.hh (octagons.19): Prefer
-	  OR_Matrix::shrink() to OR_Matrix::resize_no_copy() when we
-	  statically know that we are removing space dimensions.
-
-2006-04-26 Wednesday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
-	  (octagons.[12,13,18]): In Octagon.defs.hh:   Small formatting and
-	  documentation improvements (Use the multiline   Doxygen comment
-	  style for comments spanning more lines).    Methods grouped into
-	  classes (as done for other domains).	  Added declarations for
-	  debugging-related output methods.
-
-	  In Octagon.inlines.hh:   Do not include useless file headers
-	  (vector, deque, string).    Avoid lines that are twoo long and
-	  trailing whitespace.	  Use OR_Matrix::shrink() instead of
-	  OR_Matrix::remove_rows().
-
-	  In OR_Matrix.templates.hh:   Do include header file for strings.
-	    Several optimizations to strong_closure_assign().	 Added
-	  several missing const modifiers.    Prefer using "\n" to
-	  std::endl when printing on streams.
-
-2006-04-26 Wednesday 14:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Makefile.am, OR_Matrix.defs.hh, OR_Matrix.inlines.hh,
-	  OR_Matrix.templates.hh (octagons.[3,4,9,1]): In
-	  OR_Matrix.defs.hh:   Include globals.defs.hh; do not include
-	  vector and deque.    Small formatting and documentation
-	  improvements (Use the multiline    Doxygen comment style for
-	  comments spanning more lines).    Default constructor OR_Matrix()
-	  is now private and not implemented.	 Added method
-	  OR_Matrix::shrink() to remove some of the last dimensions    from
-	  the matrix; removed methods add_rows() and remove_rows().
-	  Corrected documentation of method ascii_dump & load.
-
-	  In OR_Matrix.inlines.hh:   Do not include useless file headers
-	  (vector, deque, string, iostream,   sstream, stdexcept).    Added
-	  missing inline declarations to methods row_size() and
-	  row_first_element_index(), as well as several const modifiers.
-	  Avoid lines that are twoo long and trailing whitespace.
-	  Removed (buggy) implementation of default constructor.
-	  Implemented new method OR_Matrix::shrink() and used in the
-	  implementation of resize_no_copy() (which still contains an
-	  efficiency bug).    Method that do not stand a chance of being
-	  inlined moved into	OR_Matrix.templates.hh (ascii_dump,
-	  ascii_load, operator<<, OK).
-
-	  In OR_Matrix.templates.hh:   Improved implementation of method
-	  OK() by printing the reasons	 of failures. Added
-	  debugging-related output methods.
-
-2006-04-26 Wednesday 12:09  Elena Mazzi
-
-	* src/Octagon.inlines.hh (octagons.12): Removed a silly and
-	  not-necessary function change(); renamed `position_cell()' with
-	  `get_matrix_element()'.
-
-2006-04-26 Wednesday 09:52  Elena Mazzi
-
-	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[11,17]):
-	  Added a new constructor: Octagon(const Generator_System& gs).
-	  Improved and adjust some comments in Octagon::constraints().
-	  Improved the method Octagon::OK(): MINUS_INFINITY cannot occur at
-	  all.	Improved the method Octagon::is_strong_coherent(): removing
-	  some not necessary lines.
-
-	  Adjusted some comments in Octagon::map_space_dimensions(),
-	  Octagon::remove_space_dimensions().  Renamed also some silly
-	  variables.
-
-2006-04-20 Thursday 16:32  quartieri
-
-	* src/Octagon.templates.hh (octagons.16): Completed and corrected
-	  affine_image().  Corrected operator<<().  Cleaned some lines in
-	  affine_preimage().
-
-2006-04-20 Thursday 16:27  quartieri
-
-	* src/Octagon.inlines.hh (octagons.11): Corrected a wrong index in
-	  forget_all_octagonal_constraints().
-
-2006-04-20 Thursday 16:23  quartieri
-
-	* src/Octagon.defs.hh (octagons.10): Eliminated the wrong method
-	  `deduce_u_plus_v_bounds() and added the method
-	  deduce_minus_v_minus_u_bounds().
-
-2006-04-20 Thursday 08:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.pl (1.89), GNU/ppl_gprolog.pl
-	  (1.60), SICStus/ppl_sicstus_sd.cc (1.93), SWI/ppl_swiprolog.cc
-	  (1.123), XSB/ppl_xsb.H (1.48), XSB/ppl_xsb.cc (1.88),
-	  YAP/ppl_yap.cc (1.116): Restore previous versions of system
-	  dependent files.
-
-2006-04-20 Thursday 07:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.177), Ciao/ppl_ciao.pl
-	  (1.88), GNU/ppl_gprolog.pl (1.59), SICStus/ppl_sicstus_sd.cc
-	  (1.92), SWI/ppl_swiprolog.cc (1.122), XSB/ppl_xsb.H (1.47),
-	  XSB/ppl_xsb.cc (1.87), YAP/ppl_yap.cc (1.115): Redundant widening
-	  code removed.
-
-2006-04-19 Wednesday 16:38  Elena Mazzi
-
-	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
-	  (octagons.[9,10,15]): Cleaned strong_reduction_assign().  Added a
-	  new method: Octagon::minimized_constraints().  Added tests for
-	  minimized_constraints().
-
-2006-04-19 Wednesday 15:02  Elena Mazzi
-
-	* src/Octagon.templates.hh (octagons.14): Fixed and added some
-	  comments in Octagon::concatenate_assign() and
-	  Octagon::is_strongly_reduced().
-
-2006-04-19 Wednesday 14:25  Elena Mazzi
-
-	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[8,13]): No
-	  longer disregard the optional tokens parameter in the
-	  extrapolation and widening methods.  Renamed CH78_widening and
-	  limited_CH78_extrapolation respectly BHMZ05_widening and
-	  limited_BHMZ05_extrapolation.
-
-	  Tests for extrapolation and widening rewritten according to the
-	  new guidelines.
-
-2006-04-19 Wednesday 13:21  Elena Mazzi
-
-	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
-	  (octagons.[7,9,12]): No longer disregard the optional tokens
-	  parameter in the CC76_extrapolation_assign() methods.  Tests for
-	  Octagon::CC76_extrapolation_assign() rewritten according to the
-	  new guidelines.
-
-2006-04-19 Wednesday 12:55  quartieri
-
-	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
-	  (octagons.[6,8,11]): Fixed the constructors and some methods.
-	  Defined the methods	 deduce_v_plus_u_bounds() and
-	  deduce_u_plus_v_bounds() used by affine_image().
-
-2006-04-19 Wednesday 12:49  quartieri
-
-	* src/: OR_Matrix.defs.hh, OR_Matrix.inlines.hh (octagons.[3,8]):
-	  Replaced the private field 'num_rows_' with the field
-	  'space_dim', that is
-	  the dimension of the octagon represented by the OR_Matrix.
-
-2006-04-19 Wednesday 12:11  Elena Mazzi
-
-	* src/Octagon.templates.hh (octagons.10): Improved
-	  Octagon::CC76_narrowing_assign().  Tests for
-	  Octagon::CC76_narrowing_assign() rewritten according to the new
-	  guidelines.
-
-2006-04-19 Wednesday 12:05  Elena Mazzi
-
-	* src/BD_Shape.templates.hh (1.5): Corrected
-	  BD_Shape::get_limiting_shape().  Now there's no precision bug in
-	  BD_Shape::limited_CC76_extrapolation_assign().
-
-2006-04-19 Wednesday 11:54  Elena Mazzi
-
-	* tests/BD_Shape/limitedcc76extrapolation1.cc (1.8): Corrected test
-	  number `6', now it shows a precision bug.
-
-2006-04-19 Wednesday 11:31  Elena Mazzi
-
-	* src/Octagon.templates.hh (octagons.9): Cleaned
-	  Octagon::add_constraint.  Methods poly_hull_assign() and
-	  poly_hull_assign_and_minimize() renamed as oct_hull_assign() and
-	  oct_hull_assign_and_minimize().  Tests for
-	  Octagon::oct_hull_assign() rewritten according to the new
-	  guidelines.
-
-2006-04-18 Tuesday 23:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
-	  (octagons.[5,7,8]): Corrected copyright year and address of the
-	  FSF.	Added method strictly_contains().  Methods
-	  poly_hull_assign() and poly_hull_assign_and_minimize() renamed as
-	  oct_hull_assign() and oct_hull_assign_and_minimize().  Added
-	  method upper_bound_assign().	Added methods
-	  oct_hull_assign_if_exact() and upper_bound_assign_if_exact(),
-	  both with dummy implementations always returning false.  Added
-	  method difference_assign().  Added token parameter tp to
-	  CH78_widening_assign(), temporarily ignored, so as to allow for
-	  using this widening in widen_fun_ref().  Duplicated code for
-	  numer_denom() and assign_min() removed: now using numer_denom()
-	  and min_assign() as defined in Implementation::BD_Shapes.
-
-2006-04-18 Tuesday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (simplex.38): Improved
-	  LP_Problem::steepest_edge_entering_index() by avoiding duplicate
-	  computation and mitigating a problem (still present) whereby no
-	  caution is taken with respect to the possibility that
-	  mpq_class::get_d() (and, previously, also mpz_class::get_d())
-	  give rise to undefined behavior.  Added a FIXME not to forget
-	  about this problem.
-
-2006-04-18 Tuesday 21:01  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.8): Be verbose only if
-	  requested.
-
-2006-04-18 Tuesday 19:44  Andrea Cimino
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.7): Modified `ppl_lpsol' for
-	  testing purposes: added the options --no-optimization (-n) and
-	  --incremental (-i).
-
-2006-04-16 Sunday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/OR_Matrix.inlines.hh (octagons.7): Improved
-	  OR_Matrix<T>::ascii_load(): useless reference avoided, variable
-	  renamed, added a const qualifier.
-
-2006-04-16 Sunday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.72), devref.doxyconf-latex.in
-	  (1.12): Also generate devref docs from DB_Row.templates.hh and
-	  DB_Matrix.templates.hh.
-
-2006-04-16 Sunday 08:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Makefile.am (1.152): Take into account DB_Row.templates.hh
-	  and DB_Matrix.templates.hh.
-
-2006-04-16 Sunday 08:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: DB_Matrix.defs.hh (1.21), DB_Matrix.inlines.hh (1.26),
-	  DB_Matrix.templates.hh (1.1): DB_Matrix non-inline methods moved
-	  to DB_Matrix.templates.hh.
-
-2006-04-16 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.templates.hh (octagons.1): file
-	  DB_Matrix.templates.hh was added on branch octagons on 2006-05-08
-	  16:16:43 +0000
-
-2006-04-16 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.templates.hh (simplex.1): file
-	  DB_Matrix.templates.hh was added on branch simplex on 2006-05-08
-	  17:15:49 +0000
-
-2006-04-16 Sunday 08:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: DB_Row.defs.hh (1.18), DB_Row.inlines.hh (1.18),
-	  DB_Row.templates.hh (1.1): DB_Row non-inline methods moved in
-	  file DB_Row.templates.hh.  Methods begin() and end() are now
-	  declared inline.
-
-2006-04-16 Sunday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.templates.hh (octagons.1): file DB_Row.templates.hh
-	  was added on branch octagons on 2006-05-08 16:16:43 +0000
-
-2006-04-16 Sunday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.templates.hh (simplex.1): file DB_Row.templates.hh was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-04-14 Friday 18:25  quartieri
-
-	* src/OR_Matrix.inlines.hh (octagons.6): Improved
-	  IO_Operators::operator<<().
-
-2006-04-14 Friday 17:29  quartieri
-
-	* src/OR_Matrix.inlines.hh (octagons.5): Improved the method
-	  OR_Matrix<T>::ascii_load().
-
-2006-04-14 Friday 16:55  quartieri
-
-	* src/OR_Matrix.inlines.hh (octagons.4): Improved the method
-	  OR_Matrix<T>::grow().
-
-2006-04-14 Friday 16:27  quartieri
-
-	* src/OR_Matrix.inlines.hh (octagons.3): Removed a wrong comment.
-
-2006-04-14 Friday 15:50  quartieri
-
-	* src/OR_Matrix.defs.hh (octagons.2): Corrected some wrong
-	  comments.
-
-2006-04-13 Thursday 15:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: affineimage2.cc (1.6), join1.cc (1.11): Added extra
-	  tests to match the running example in the Muller-Olm and Seidl
-	  2005 ESOP paper.  Small improvements to the tests using the
-	  example in the Muller-Olm and Seidl 2005 SAS paper
-
-2006-04-13 Thursday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affineimage2.cc (simplex.1): file affineimage2.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-04-13 Thursday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/join1.cc (simplex.1): file join1.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-04-12 Wednesday 13:05  quartieri
-
-	* src/Octagon.inlines.hh (octagons.6): Restored a missing '#ifdef'
-	  line.
-
-2006-04-12 Wednesday 11:13  quartieri
-
-	* src/Octagon.inlines.hh (octagons.5): Removed the redundant
-	  definition of div_round_up: it is already in BD_Shape.inlines.hh.
-
-2006-04-11 Tuesday 17:06  quartieri
-
-	* src/: Octagon.defs.hh, Octagon.inlines.hh, Octagon.templates.hh
-	  (octagons.[4,4,7]): Removed the unnecessary algorithms of strong
-	  closure and incremental strong closure.
-
-2006-04-10 Monday 16:11  Elena Mazzi
-
-	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[3,6]):
-	  Added a new method `Octagon::affine_dimension()'.  Defined a new
-	  function `Octagon::compute_leaders(leader)' that the above method
-	  uses.
-
-2006-04-10 Monday 13:57  Elena Mazzi
-
-	* src/: Octagon.defs.hh, Octagon.templates.hh (octagons.[2,5]):
-	  Method Octagon::poly_difference_assign() renamed
-	  Octagon::oct_difference_assign().  Corrected a bug in
-	  Octagon::oct_difference_assign().
-
-	  Improved Octagon::transitive_reduction_assign() using two new
-	  functions: Octagon::compute_nexts() and
-	  Octagon::compute_leaders().
-
-2006-04-08 Saturday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Watchdog.cc (1.3): Typo fixed in comment.
-
-2006-04-07 Friday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (octagons.1): Added template <typename T> void
-	  print_constraints(const Parma_Polyhedra_Library::Octagon<T>& oc,
-	  const std::string& intro = "", std::ostream& s = nout).
-
-2006-04-07 Friday 07:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: addconstraints1.cc, addspacedims1.cc,
-	  affineimage1.cc, affinepreimage1.cc, ascii_dump_load1.cc,
-	  bdsdifference1.cc, bdshull1.cc, bhmz05widening1.cc,
-	  cc76extrapolation1.cc, cc76narrowing1.cc, concatenate1.cc,
-	  constraints1.cc, generalizedaffineimage1.cc,
-	  generalizedaffineimage2.cc, h79widening1.cc, intersection1.cc,
-	  limitedbhmz05extrapolation1.cc, limitedcc76extrapolation1.cc,
-	  limitedh79extrapolation1.cc, mapspacedims1.cc,
-	  minconstraints1.cc, removespacedims1.cc, timeelapse1.cc
-	  (octagons.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  Spurious blank spaces removed.
-
-2006-04-07 Friday 07:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/universe1.cc (octagons.1): This test was wrong:
-	  fixed.
-
-2006-04-06 Thursday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am, Octagon.templates.hh, Og_Status.inlines.hh
-	  (octagons.[2,4,2]): Several corrections.
-
-2006-04-06 Thursday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: DB_Row.defs.hh, OR_Matrix.inlines.hh, Octagon.inlines.hh,
-	  Octagon.templates.hh (octagons.[1,2,3,3]): More corrections.	One
-	  FIXME added to DB_Row.defs.hh concerning a "private" that was
-	  temporarily turned into "public".
-
-2006-04-05 Wednesday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Octagon.inlines.hh, src/Octagon.templates.hh,
-	  src/globals.defs.hh, src/globals.inlines.hh, tests/ppl_test.hh
-	  (octagons.[2,2,1,1,1]): Lots of corrections.
-
-2006-04-05 Wednesday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, src/Makefile.am, src/OR_Matrix.defs.hh,
-	  src/OR_Matrix.inlines.hh, src/OR_Matrix.types.hh, src/Octagon.cc,
-	  src/Octagon.defs.hh, src/Octagon.inlines.hh,
-	  src/Octagon.templates.hh, src/Octagon.types.hh,
-	  src/Og_Status.idefs.hh, src/Og_Status.inlines.hh,
-	  tests/Makefile.am (octagons.[1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  Imported (with changes) from the private repository.
-
-2006-04-04 Tuesday 08:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.56): The `-V' option is only
-	  available with the PPL version.
-
-2006-04-03 Monday 09:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/grid3.cc (1.12): Revised failing tests for different
-	  checked integer configurations.
-
-2006-04-03 Monday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/grid3.cc (simplex.1): file grid3.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-04-03 Monday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.119), Constraint.inlines.hh (1.63):
-	  Added Constraint operator==(Variable v1, Variable v2), Constraint
-	  operator<=(Variable v1, Variable v2), Constraint
-	  operator>=(Variable v1, Variable v2), Constraint
-	  operator<(Variable v1, Variable v2) and Constraint
-	  operator>(Variable v1, Variable v2).
-
-2006-04-03 Monday 08:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BDS_Status.inlines.hh (1.13), BD_Shape.templates.hh (1.4),
-	  DB_Matrix.inlines.hh (1.25): Drop spurious semicolons.
-
-2006-04-03 Monday 08:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.118): Use vertical spacing to separate
-	  declarations from one another.
-
-2006-03-31 Friday 16:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Grid.templates.hh (1.5), Grid_Generator.cc (1.7),
-	  Grid_Generator.defs.hh (1.15), Grid_Generator.inlines.hh (1.9),
-	  Grid_nonpublic.cc (1.8), Grid_public.cc (1.16): A grid generator
-	  is a "grid_line", "parameter" or "grid_point".
-
-2006-03-31 Friday 16:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.inlines.hh (simplex.1): file
-	  Grid_Generator.inlines.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-03-31 Friday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_public.cc (1.15): Allow for the empty constraint system
-	  when constructing a grid.  This fixes a bug illustrated by test03
-	  in grid3.cc
-
-2006-03-31 Friday 14:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/grid3.cc (1.11): test03 inserted to show a bug in the
-	  grids system when constructing a grid from an empty constraint
-	  system.
-
-2006-03-28 Tuesday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.192), README (1.49), configure.ac (1.231),
-	  src/Makefile.am (1.151): We are now in the 0.10 era.
-
-2006-03-28 Tuesday 11:19  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[37,26]):
-	  Underline the difference betweeen the `steepest-edge' and
-	  `textbook' techniques.
-
-2006-03-24 Friday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid_simplify.cc (1.11), Polyhedra_Powerset.templates.hh
-	  (1.3): Spurious semicolons removed.
-
-2006-03-24 Friday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.templates.hh (simplex.1): file
-	  Polyhedra_Powerset.templates.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-03-24 Friday 22:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_nonpublic.cc (1.7): Avoid variable re-declaration.
-
-2006-03-24 Friday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Congruence.inlines.hh (1.7), Congruence_System.inlines.hh
-	  (1.4): Inline definitions moved before their first use.
-
-2006-03-24 Friday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.inlines.hh (simplex.1): file
-	  Congruence_System.inlines.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-03-24 Friday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generator1.cc (simplex.1): file generator1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-24 Friday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.templates.hh (1.4), src/Grid_Generator.cc (1.6),
-	  src/Grid_Generator.defs.hh (1.14), src/Grid_Generator.inlines.hh
-	  (1.8), src/Grid_conversion.cc (1.6), src/Grid_public.cc (1.14),
-	  src/Grid_simplify.cc (1.10), tests/Grid/generator1.cc (1.10):
-	  Method Coefficient& Grid_Generator::divisor() removed.  Method
-	  void
-	  Grid_Generator::set_divisor(Coefficient_traits::const_reference)
-	  added.
-
-2006-03-24 Friday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Congruence_System.inlines.hh (1.3),
-	  Grid_Generator_System.inlines.hh (1.7): Inline definitions moved
-	  before their first use.
-
-2006-03-24 Friday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generator1.cc (1.9): FIXME added.
-
-2006-03-24 Friday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.cc (1.10): Spurious variable re-declaration
-	  removed.
-
-2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BDS_Status.idefs.hh (1.17), BD_Shape.defs.hh (1.67),
-	  Congruence.cc (1.4), Congruence.defs.hh (1.7),
-	  Congruence.inlines.hh (1.6), Congruence_System.cc (1.9),
-	  Congruence_System.defs.hh (1.8), Constraint.cc (1.58),
-	  Constraint.defs.hh (1.117), Constraint_System.cc (1.17),
-	  Constraint_System.defs.hh (1.28), DB_Matrix.defs.hh (1.20),
-	  Generator.cc (1.69), Generator.defs.hh (1.117),
-	  Generator_System.cc (1.18), Generator_System.defs.hh (1.17),
-	  Grid.defs.hh (1.14), Grid_Generator.cc (1.5),
-	  Grid_Generator.defs.hh (1.13), Grid_Generator_System.cc (1.6),
-	  Grid_Generator_System.defs.hh (1.11), Grid_Status.cc (1.3),
-	  Grid_Status.idefs.hh (1.3), Grid_public.cc (1.13), LP_Problem.cc
-	  (1.13), LP_Problem.defs.hh (1.8), Linear_Row.cc (1.18),
-	  Linear_Row.defs.hh (1.19), Linear_System.cc (1.38),
-	  Linear_System.defs.hh (1.25), Matrix.cc (1.93), Matrix.defs.hh
-	  (1.76), Ph_Status.cc (1.10), Ph_Status.idefs.hh (1.17),
-	  Poly_Con_Relation.cc (1.13), Poly_Con_Relation.defs.hh (1.32),
-	  Poly_Gen_Relation.cc (1.13), Poly_Gen_Relation.defs.hh (1.30),
-	  Polyhedra_Powerset.defs.hh (1.34), Polyhedron.defs.hh (1.296),
-	  Polyhedron_public.cc (1.74), Row.cc (1.98), Row.defs.hh (1.105),
-	  Saturation_Matrix.cc (1.9), Saturation_Matrix.defs.hh (1.8):
-	  Unwanted semicolons removed.
-
-2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.defs.hh (simplex.1): file
-	  Congruence_System.defs.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.defs.hh (simplex.1): file Grid.defs.hh was added on
-	  branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator_System.defs.hh (simplex.1): file
-	  Grid_Generator_System.defs.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-03-24 Friday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Status.idefs.hh (simplex.1): file Grid_Status.idefs.hh
-	  was added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-03-24 Friday 16:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.inlines.hh (1.7): Inline definitions moved
-	  before their first use.
-
-2006-03-24 Friday 15:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: affinedim1.cc (1.9), bounded1.cc (1.10), bounds1.cc
-	  (1.11), discrete1.cc (1.4), maxmin1.cc (1.7), topclosed1.cc
-	  (1.8): Replaced assert(copy_compare(...)) with a comment.
-
-2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affinedim1.cc (simplex.1): file affinedim1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/bounded1.cc (simplex.1): file bounded1.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/bounds1.cc (simplex.1): file bounds1.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/discrete1.cc (simplex.1): file discrete1.cc was added
-	  on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-24 Friday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/topclosed1.cc (simplex.1): file topclosed1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-24 Friday 15:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_Generator.defs.hh (1.12), src/Grid_Generator.inlines.hh
-	  (1.6), tests/Grid/generator1.cc (1.8): Added coefficient() to
-	  Grid_Generator class.
-
-2006-03-24 Friday 11:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/widening2.cc (1.3): There is positive overflow for
-	  tests 12 and 13 for checked 8.
-
-2006-03-24 Friday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/widening2.cc (simplex.1): file widening2.cc was added
-	  on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-24 Friday 11:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.defs.hh (1.6): Indentation fixed.
-
-2006-03-24 Friday 11:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Congruence.defs.hh (1.5), Congruence.inlines.hh (1.5),
-	  Linear_Expression.defs.hh (1.24): Lots of bogus declarations
-	  fixed.
-
-2006-03-23 Thursday 23:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_simplify.cc (1.9): All comments on right of code moved
-	  (and, as needed, reworded) to separate line(s) before code being
-	  commented.
-
-2006-03-23 Thursday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.13), Grid_simplify.cc (1.8): Enforce a bit
-	  of const-correctness.
-
-2006-03-23 Thursday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_simplify.cc (1.7): Avoid the creation of several
-	  temporaries.
-
-2006-03-23 Thursday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.295), Polyhedron_chdims.cc (1.36),
-	  Polyhedron_public.cc (1.73): Do not use `f(...)' to mean function
-	  `f': use `f()' instead (the ellipsis indicates variable number of
-	  arguments in C++).  Puncutation fixes in comments.
-
-2006-03-22 Wednesday 13:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.196), src/Congruence.defs.hh (1.4),
-	  src/Congruence.inlines.hh (1.4), src/Linear_Expression.defs.hh
-	  (1.23), tests/Grid/congruence1.cc (1.11): Added n %= e to the
-	  allowed set of congruence constructors.  The current
-	  implementation is temporary; an executable specification needing
-	  friendship of Linear_Expression.
-
-2006-03-22 Wednesday 13:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/congruence1.cc (simplex.1): file congruence1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-22 Wednesday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.46): Removed find_variation(): it was plain
-	  nonsense.
-
-2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/limitedextrapolation3.cc (simplex.1): file
-	  limitedextrapolation3.cc was added on branch simplex on
-	  2006-05-08 17:15:56 +0000
-
-2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/widening1.cc (simplex.1): file widening1.cc was added
-	  on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/widening3.cc (simplex.1): file widening3.cc was added
-	  on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-16 Thursday 17:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.195), src/Grid.defs.hh (1.12),
-	  src/Grid_widenings.cc (1.6), tests/Grid/Makefile.am (1.29),
-	  tests/Grid/limitedextrapolation1.cc (1.8),
-	  tests/Grid/limitedextrapolation2.cc (1.2),
-	  tests/Grid/limitedextrapolation3.cc (1.1),
-	  tests/Grid/widening1.cc (1.10), tests/Grid/widening2.cc (1.2),
-	  tests/Grid/widening3.cc (1.1): There are now three flavours of
-	  grid widening.
-
-	  The `generator_widening_assign()' is as commited previously
-	  (using generators) and file `widening2.cc' tests this.
-
-	  The `congruence_widening_assign()' is a renaming of the old
-	  `widening_assign()' (using congruences) and `widening1.cc' tests
-	  this.
-
-	  The new `widening_assign()' uses either of the above two
-	  widenings depending on which of the systems describing the grid
-	  are up-to-date. The new test file `widening3.cc' tests this
-	  widening.
-
-	  There are, similarly, three flavours of a
-	  `limited_*extrapolation_assign()' operator.
-
-	  The documentation in `definitions.dox' on the grid widening has
-	  been brought up to date and improved.
-
-2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_widenings.cc (simplex.1): file Grid_widenings.cc was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/Makefile.am (simplex.1): file Makefile.am was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/limitedextrapolation1.cc (simplex.1): file
-	  limitedextrapolation1.cc was added on branch simplex on
-	  2006-05-08 17:15:56 +0000
-
-2006-03-16 Thursday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/limitedextrapolation2.cc (simplex.1): file
-	  limitedextrapolation2.cc was added on branch simplex on
-	  2006-05-08 17:15:56 +0000
-
-2006-03-14 Tuesday 11:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.defs.hh (1.11), src/Grid_Generator.defs.hh (1.11),
-	  src/Grid_Generator.inlines.hh (1.5), src/Grid_widenings.cc (1.5),
-	  tests/Grid/Makefile.am (1.28),
-	  tests/Grid/limitedextrapolation2.cc (1.1),
-	  tests/Grid/widening2.cc (1.1): Added new methods
-	  generator_widening_assign() and
-	  limited_generator_widening_assign() as defined in draft paper.
-
-	  Added method is_equal_at_dimension() for grid generators which is
-	  a clone of the existing method for congruences.
-
-	  widening2.cc and limitedextrapolation2.cc check the new widening.
-
-2006-03-13 Monday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/Makefile.am (1.27): Added ascii_dump_load1.dat to
-	  MOSTLYCLEANFILES.
-
-2006-03-12 Sunday 20:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/congruencesystem1.cc (1.10): Tests in
-	  congruencesystem1.cc now included in congruences2.cc.
-
-2006-03-12 Sunday 10:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_widenings.cc (1.4): Typo in comment corrected.
-
-2006-03-12 Sunday 10:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.26), congruences1.cc (1.8),
-	  congruences2.cc (1.1), congruencesystem1.cc (1.9), generator1.cc
-	  (1.7), generators1.cc (1.10), grid3.cc (1.10),
-	  removespacedims1.cc (1.9), removespacedims2.cc (1.7): To improve
-	  coverage of testing added further tests.
-
-	  Test program congruences1 split into congruences1 and
-	  congruences2 to make room for extra tsets in congruences1.
-
-	  Tests in removespacedims1 check remove_space_dimensions while
-	  tests in  removespacedims2 check remove_higher_space_dimensions.
-
-2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/congruences1.cc (simplex.1): file congruences1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/congruences2.cc (simplex.1): file congruences2.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generators1.cc (simplex.1): file generators1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/removespacedims1.cc (simplex.1): file
-	  removespacedims1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-12 Sunday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/removespacedims2.cc (simplex.1): file
-	  removespacedims2.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-12 Sunday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_9-branch.1): Update version.
-
-2006-03-12 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_9-branch.[1,1]): Mark
-	  ChangeLog.
-
-2006-03-11 Saturday 12:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/asciidumpload2.cc (1.1): Further tests for
-	  ascii_load() to improve coverage.
-
-2006-03-11 Saturday 12:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/asciidumpload2.cc (simplex.1): file asciidumpload2.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-11 Saturday 12:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.25), addconstraints1.cc (1.9),
-	  addspacedims1.cc (1.10), asciidumpload1.cc (1.7), concatenate1.cc
-	  (1.10), congruence1.cc (1.10), congruencesystem1.cc (1.8),
-	  equals1.cc (1.9), generators1.cc (1.9), grid2.cc (1.10), grid3.cc
-	  (1.9), mincongruences1.cc (1.8), relations1.cc (1.10),
-	  relations2.cc (1.9), removespacedims1.cc (1.8): Small changes o
-	  existing tests.  Several new tests (in the existing files added
-	  to improve test coverage.  A few of these extra tests showed up
-	  bugs that are now fixed.
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addconstraints1.cc (simplex.1): file
-	  addconstraints1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addspacedims1.cc (simplex.1): file addspacedims1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/concatenate1.cc (simplex.1): file concatenate1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/equals1.cc (simplex.1): file equals1.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/grid2.cc (simplex.1): file grid2.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/mincongruences1.cc (altnum.1): file mincongruences1.cc
-	  was added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/mincongruences1.cc (simplex.1): file
-	  mincongruences1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/relations1.cc (simplex.1): file relations1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-11 Saturday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/relations2.cc (simplex.1): file relations2.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-11 Saturday 09:53  Andrea Cimino
-
-	* TODO (simplex.4): Removed the previously added item.	In the
-	  incremental implementation, the check that a slack variable can
-	  avoid an artifical one is already implemented.
-
-2006-03-11 Saturday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.26): Updated.
-
-2006-03-11 Saturday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.lsm.in (1.8): Updated.
-
-2006-03-10 Friday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/README (1.2): Incomplete sentence removed.
-
-2006-03-10 Friday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/README (altnum.1): file README was added on branch altnum
-	  on 2006-10-29 19:26:52 +0000
-
-2006-03-10 Friday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/README (simplex.1): file README was added on branch
-	  simplex on 2006-05-08 17:15:45 +0000
-
-2006-03-10 Friday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/changelog (1.4): Updated for PPL 0.9.
-
-2006-03-10 Friday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/changelog (altnum.1): file changelog was added on branch
-	  altnum on 2006-10-29 19:26:52 +0000
-
-2006-03-10 Friday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.25), Watchdog/ChangeLog (1.15): Updated.
-
-2006-03-10 Friday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: README.doc (1.10), devref.tex (1.20), user.tex (1.21):
-	  Followed the advice of the people at FSF: it should now be
-	  overwhelmingly clear that the documentation is distributed under
-	  the terms of the GNU Free Documentation License, Version 1.2 or
-	  any later version published by the Free Software Foundation.
-
-2006-03-10 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.48), Watchdog/README (1.14): Updated.
-
-2006-03-10 Friday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.47): Formatting improved.
-
-2006-03-10 Friday 10:47  Andrea Cimino
-
-	* TODO (simplex.3): Added one item.
-
-2006-03-10 Friday 10:40  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.36): Fixed a comment, due to the
-	  change in the last commit.
-
-2006-03-10 Friday 10:36  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.35): Don't add artificial variables
-	  also if the inhomogeneous term of an inequality is a zero. In
-	  many problems this decreases the number of iterations involved,
-	  specially in the satisfiability check.
-
-2006-03-10 Friday 10:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_simplify.cc (1.6): Added a FIXME comment.
-
-2006-03-10 Friday 09:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_simplify.cc (1.5): Fixed a bug in Grid simplify when
-	  there are two all zero (trivially true) equalities.
-
-2006-03-09 Thursday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/linearsystem1.cc (1.6): Added a workaround to
-	  avoid trivial (but intermittent) positive overflows when
-	  populating a Linear_Row with randomly generated values and using
-	  a bounded integer datatype.
-
-2006-03-09 Thursday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Random_Number_Generator.defs.hh (1.3),
-	  Random_Number_Generator.inlines.hh (1.8): Allow for the
-	  specification of a fixed seed.
-
-2006-03-09 Thursday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Random_Number_Generator.defs.hh (altnum.1): file
-	  Random_Number_Generator.defs.hh was added on branch altnum on
-	  2006-10-29 19:27:21 +0000
-
-2006-03-09 Thursday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Random_Number_Generator.inlines.hh (altnum.1): file
-	  Random_Number_Generator.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:21 +0000
-
-2006-03-09 Thursday 08:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Grid_Generator.cc (1.4), Grid_Generator_System.inlines.hh
-	  (1.6): Comments concerning the extra parameter divisor column
-	  improved.
-
-2006-03-08 Wednesday 23:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_Generator_System.inlines.hh (1.5): Bug fixed for
-	  clear().
-
-2006-03-08 Wednesday 21:43  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[34,25]): Major
-	  improvement: check if a slack variable can avoid to insert an
-	  (useless) artificial variable.  Now (in the standard way, not
-	  incremental) the simplex solves `boeing1.mps --max' in half the
-	  time than before!
-
-2006-03-08 Wednesday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/: ppl_lcdd/Makefile.am (1.26), ppl_lpsol/Makefile.am
-	  (1.30): Fixed the use of ECHO_N and ECHO_C.
-
-2006-03-08 Wednesday 08:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_Generator_System.cc (1.5): Fixed a bug in
-	  remove_higher_space_dimensions().
-
-2006-03-08 Wednesday 07:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/: ppl_lcdd/Makefile.am (1.25), ppl_lpsol/Makefile.am
-	  (1.29): No longer use `echo -n': it is non portable.
-
-2006-03-08 Wednesday 07:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.55): Enforce dependencies
-	  in order to cater for parallel builds.
-
-2006-03-07 Tuesday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.28): No longer use the
-	  non-portable `-e' option of `grep'.  On Solaris, optima are
-	  compared only up to 8 digits of precision.
-
-2006-03-07 Tuesday 21:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.230): New Automake conditional HOST_OS_SOLARIS.
-
-2006-03-07 Tuesday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.27): No longer use the
-	  `--ignore-all-space' option of `diff'.  Check the obtained optima
-	  also under Darwin.
-
-2006-03-07 Tuesday 16:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Congruence_System.cc (1.8): Code change in previous commit
-	  revised and improved.
-
-2006-03-07 Tuesday 16:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Congruence_System.cc (1.7): Bug fixed in
-	  PPL::Congruence_System::insert(const Congruence_System& y)
-
-2006-03-07 Tuesday 13:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Congruence_System.cc (1.6): Fixed a bug in is_equal-to():
-	  Return false if the congruence systems do not have the same
-	  number of rows.
-
-2006-03-07 Tuesday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* STANDARDS (1.33): Typo corrected.  Revised for new standards for
-	  test programs.
-
-2006-03-07 Tuesday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.26): The `--ignore-all-space' of
-	  `diff' is not portable.
-
-2006-03-07 Tuesday 07:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* README (1.46): Added an item about grids.
-
-2006-03-06 Monday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.25): Check obtained optima on
-	  Cygwin.
-
-2006-03-06 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: expected_int16 (1.5), expected_int16_a (1.5),
-	  expected_int32 (1.6), expected_int32_a (1.6), expected_int64
-	  (1.6), expected_int64_a (1.6), expected_int8 (1.5),
-	  expected_int8_a (1.4), expected_mpz (1.7), expected_mpz_a (1.7),
-	  ppl_lpsol.c (1.30): Use a different format to print the optimum
-	  value.
-
-2006-03-06 Monday 13:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.88): The failing configurations
-	  of dualhypercubes.cc are now recorded inside the test.
-
-2006-03-06 Monday 13:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.24): Invoke `ppl_lpsol' with the
-	  `-c' option, when assertions are disabled.
-
-2006-03-06 Monday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.29): Drafted a partial
-	  implementation for option -c (check result). Currently, it only
-	  tests for the feasibility of the computed optimal point.
-
-2006-03-06 Monday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.54): Dependencies fixed.
-
-2006-03-06 Monday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/dualhypercubes.cc (1.8): Started adapting it to
-	  the new standards (but still checking nothing).
-
-2006-03-06 Monday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/maxspacedim1.cc (1.7): Added a fixme: the test
-	  is only doing some compile-time type checking.
-
-2006-03-06 Monday 11:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: minconstraints2.cc (1.10), nncminimize1.cc
-	  (1.4): Using std::distance() to compute the number of
-	  constraints/generators and check their count is the expected one.
-
-2006-03-06 Monday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/nncminimize1.cc (altnum.1): file nncminimize1.cc
-	  was added on branch altnum on 2006-10-29 19:27:32 +0000
-
-2006-03-06 Monday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/nncminimize1.cc (simplex.1): file
-	  nncminimize1.cc was added on branch simplex on 2006-05-08
-	  17:15:57 +0000
-
-2006-03-06 Monday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence_System.defs.hh (1.7), Constraint_System.defs.hh
-	  (1.27), Generator_System.defs.hh (1.16),
-	  Grid_Generator_System.defs.hh (1.10): Let the const_iterator's of
-	  systems of constraints, generators, congruences and
-	  grid-genreators define the type alias difference_type, so as to
-	  allow for their use in algorithm such as std::distance.
-	  Corrected a bug in Grid_Generator_System, which was defining none
-	  of the required type aliases.
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/addcongruence1.cc (altnum.1): file
-	  addcongruence1.cc was added on branch altnum on 2006-10-29
-	  19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Grid/addcongruence1.cc, Polyhedron/addcongruence1.cc
-	  (simplex.[1,1]): file addcongruence1.cc was added on branch
-	  simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/addcongruences1.cc (altnum.1): file
-	  addcongruences1.cc was added on branch altnum on 2006-10-29
-	  19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Grid/addcongruences1.cc, Polyhedron/addcongruences1.cc
-	  (simplex.[1,1]): file addcongruences1.cc was added on branch
-	  simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addconstraint1.cc (simplex.1): file addconstraint1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addgenerator1.cc (simplex.1): file addgenerator1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addgenerators1.cc (simplex.1): file addgenerators1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affineimage1.cc (simplex.1): file affineimage1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affinepreimage1.cc (simplex.1): file
-	  affinepreimage1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affinepreimage2.cc (simplex.1): file
-	  affinepreimage2.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/bhz03widening1.cc (simplex.1): file bhz03widening1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/boundedaffineimage1.cc (altnum.1): file
-	  boundedaffineimage1.cc was added on branch altnum on 2006-10-29
-	  19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/boundedaffinepreimage1.cc (altnum.1): file
-	  boundedaffinepreimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/boundedbhrz03extrapolation1.cc (altnum.1): file
-	  boundedbhrz03extrapolation1.cc was added on branch altnum on
-	  2006-10-29 19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundingbox1.cc (simplex.1): file boundingbox1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/boundingbox2.cc (simplex.1): file boundingbox2.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/certificate1.cc (simplex.1): file certificate1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/cnncconversion1.cc (altnum.1): file
-	  cnncconversion1.cc was added on branch altnum on 2006-10-29
-	  19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/cnncconversion1.cc (simplex.1): file
-	  cnncconversion1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/congruences1.cc (altnum.1): file congruences1.cc
-	  was added on branch altnum on 2006-10-29 19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/congruences1.cc (simplex.1): file
-	  congruences1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/contains1.cc (simplex.1): file contains1.cc was added
-	  on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/copyconstruct1.cc (altnum.1): file copyconstruct1.cc
-	  was added on branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/copyconstruct1.cc (simplex.1): file copyconstruct1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/coveringbox1.cc (simplex.1): file coveringbox1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/coveringbox2.cc (simplex.1): file coveringbox2.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/disjoint1.cc (simplex.1): file disjoint1.cc was added
-	  on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/expandspacedim1.cc (simplex.1): file
-	  expandspacedim1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/foldspacedims1.cc (simplex.1): file foldspacedims1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffineimage1.cc (simplex.1): file
-	  generalizedaffineimage1.cc was added on branch simplex on
-	  2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffineimage2.cc (simplex.1): file
-	  generalizedaffineimage2.cc was added on branch simplex on
-	  2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/generalizedaffinepreimage1.cc (altnum.1): file
-	  generalizedaffinepreimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffinepreimage1.cc (simplex.1): file
-	  generalizedaffinepreimage1.cc was added on branch simplex on
-	  2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/generalizedaffinepreimage2.cc (altnum.1): file
-	  generalizedaffinepreimage2.cc was added on branch altnum on
-	  2006-10-29 19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/generalizedaffinepreimage2.cc (simplex.1): file
-	  generalizedaffinepreimage2.cc was added on branch simplex on
-	  2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/grid1.cc (simplex.1): file grid1.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/griddifference1.cc (simplex.1): file
-	  griddifference1.cc was added on branch simplex on 2006-05-08
-	  17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/intersection1.cc (simplex.1): file intersection1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/isempty1.cc (simplex.1): file isempty1.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/isuniverse1.cc (altnum.1): file isuniverse1.cc was
-	  added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/isuniverse1.cc (simplex.1): file isuniverse1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/join2.cc (simplex.1): file join2.cc was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/mapspacedims1.cc (simplex.1): file mapspacedims1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/membytes1.cc (simplex.1): file membytes1.cc was added
-	  on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/mingenerators1.cc (simplex.1): file mingenerators1.cc
-	  was added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/nncminimize2.cc (altnum.1): file nncminimize2.cc
-	  was added on branch altnum on 2006-10-29 19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/nncminimize2.cc (simplex.1): file
-	  nncminimize2.cc was added on branch simplex on 2006-05-08
-	  17:15:57 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (altnum.1): file numberinput1.cc
-	  was added on branch altnum on 2006-10-29 19:27:32 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/timeelapse1.cc (simplex.1): file timeelapse1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/topclosure1.cc (altnum.1): file topclosure1.cc was
-	  added on branch altnum on 2006-10-29 19:27:28 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/topclosure1.cc (simplex.1): file topclosure1.cc was
-	  added on branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.45), BD_Shape/addconstraints1.cc (1.11),
-	  BD_Shape/addspacedims1.cc (1.11), BD_Shape/affinedimension1.cc
-	  (1.7), BD_Shape/affineimage1.cc (1.12), BD_Shape/affineimage2.cc
-	  (1.11), BD_Shape/affinepreimage1.cc (1.12),
-	  BD_Shape/affinepreimage2.cc (1.11), BD_Shape/ascii_dump_load1.cc
-	  (1.12), BD_Shape/bdsdifference1.cc (1.8), BD_Shape/bdshull1.cc
-	  (1.8), BD_Shape/bgp99extrapolation1.cc (1.7),
-	  BD_Shape/bhmz05widening1.cc (1.8), BD_Shape/bhz03widening1.cc
-	  (1.7), BD_Shape/cc76extrapolation1.cc (1.12),
-	  BD_Shape/cc76narrowing1.cc (1.12), BD_Shape/closure1.cc (1.14),
-	  BD_Shape/concatenate1.cc (1.11), BD_Shape/constraints1.cc (1.14),
-	  BD_Shape/contains1.cc (1.10), BD_Shape/empty1.cc (1.9),
-	  BD_Shape/equality1.cc (1.14), BD_Shape/fromgensys1.cc (1.11),
-	  BD_Shape/generalizedaffineimage1.cc (1.13),
-	  BD_Shape/generalizedaffineimage2.cc (1.13),
-	  BD_Shape/generalizedaffinepreimage1.cc (1.12),
-	  BD_Shape/generalizedaffinepreimage2.cc (1.9),
-	  BD_Shape/geomcovers1.cc (1.7), BD_Shape/h79widening1.cc (1.10),
-	  BD_Shape/intersection1.cc (1.11),
-	  BD_Shape/limitedbhmz05extrapolation1.cc (1.7),
-	  BD_Shape/limitedcc76extrapolation1.cc (1.7),
-	  BD_Shape/limitedh79extrapolation1.cc (1.10),
-	  BD_Shape/mapspacedims1.cc (1.11), BD_Shape/maxspacedim.cc (1.13),
-	  BD_Shape/minconstraints1.cc (1.7), BD_Shape/relations1.cc (1.15),
-	  BD_Shape/relations2.cc (1.16), BD_Shape/relations3.cc (1.13),
-	  BD_Shape/removespacedims1.cc (1.12), BD_Shape/timeelapse1.cc
-	  (1.11), BD_Shape/universe1.cc (1.11), BD_Shape/writebdshape1.cc
-	  (1.7), Grid/addcongruence1.cc (1.8), Grid/addcongruences1.cc
-	  (1.10), Grid/addconstraint1.cc (1.8), Grid/addconstraints1.cc
-	  (1.8), Grid/addgenerator1.cc (1.10), Grid/addgenerators1.cc
-	  (1.6), Grid/addspacedims1.cc (1.9), Grid/affinedim1.cc (1.8),
-	  Grid/affineimage1.cc (1.10), Grid/affineimage2.cc (1.5),
-	  Grid/affinepreimage1.cc (1.8), Grid/affinepreimage2.cc (1.3),
-	  Grid/asciidumpload1.cc (1.6), Grid/bhz03widening1.cc (1.8),
-	  Grid/bounded1.cc (1.9), Grid/boundingbox1.cc (1.8),
-	  Grid/boundingbox2.cc (1.7), Grid/bounds1.cc (1.10),
-	  Grid/certificate1.cc (1.10), Grid/concatenate1.cc (1.9),
-	  Grid/congruence1.cc (1.9), Grid/congruences1.cc (1.7),
-	  Grid/congruencesystem1.cc (1.7), Grid/contains1.cc (1.8),
-	  Grid/copyconstruct1.cc (1.6), Grid/coveringbox1.cc (1.7),
-	  Grid/coveringbox2.cc (1.8), Grid/discrete1.cc (1.3),
-	  Grid/disjoint1.cc (1.7), Grid/equals1.cc (1.8),
-	  Grid/expandspacedim1.cc (1.7), Grid/foldspacedims1.cc (1.7),
-	  Grid/generalizedaffineimage1.cc (1.8),
-	  Grid/generalizedaffineimage2.cc (1.8),
-	  Grid/generalizedaffinepreimage1.cc (1.9),
-	  Grid/generalizedaffinepreimage2.cc (1.9), Grid/generator1.cc
-	  (1.6), Grid/generators1.cc (1.8), Grid/grid1.cc (1.12),
-	  Grid/grid2.cc (1.9), Grid/grid3.cc (1.8), Grid/griddifference1.cc
-	  (1.8), Grid/intersection1.cc (1.7), Grid/isempty1.cc (1.5),
-	  Grid/isuniverse1.cc (1.8), Grid/join1.cc (1.10), Grid/join2.cc
-	  (1.6), Grid/limitedextrapolation1.cc (1.7), Grid/mapspacedims1.cc
-	  (1.8), Grid/maxmin1.cc (1.6), Grid/membytes1.cc (1.5),
-	  Grid/mincongruences1.cc (1.7), Grid/mingenerators1.cc (1.7),
-	  Grid/outputoperator1.cc (1.5), Grid/relations1.cc (1.9),
-	  Grid/relations2.cc (1.8), Grid/removespacedims1.cc (1.7),
-	  Grid/timeelapse1.cc (1.7), Grid/topclosed1.cc (1.7),
-	  Grid/topclosure1.cc (1.6), Grid/widening1.cc (1.9),
-	  Grid/writecongruencesystem.cc (1.5), Polyhedron/addcongruence1.cc
-	  (1.6), Polyhedron/addcongruences1.cc (1.8),
-	  Polyhedron/addconstraint1.cc (1.8), Polyhedron/addconstraints1.cc
-	  (1.9), Polyhedron/addconstraints2.cc (1.8),
-	  Polyhedron/addgenerator1.cc (1.9), Polyhedron/addgenerator2.cc
-	  (1.9), Polyhedron/addgenerators1.cc (1.9),
-	  Polyhedron/addgenerators2.cc (1.9), Polyhedron/addspacedims1.cc
-	  (1.9), Polyhedron/addspacedims2.cc (1.9),
-	  Polyhedron/affineimage1.cc (1.9), Polyhedron/affineimage2.cc
-	  (1.9), Polyhedron/affinepreimage1.cc (1.8),
-	  Polyhedron/affinetrans.cc (1.9), Polyhedron/ascii_dump_load1.cc
-	  (1.8), Polyhedron/ascii_dump_load2.cc (1.8),
-	  Polyhedron/ascii_dump_load3.cc (1.9),
-	  Polyhedron/bgp99extrapolation1.cc (1.10),
-	  Polyhedron/bhrz03widening1.cc (1.8),
-	  Polyhedron/bhrz03widening2.cc (1.8),
-	  Polyhedron/bhrz03widening3.cc (1.9), Polyhedron/bhz03widening1.cc
-	  (1.10), Polyhedron/bounded1.cc (1.9),
-	  Polyhedron/boundedaffineimage1.cc (1.7),
-	  Polyhedron/boundedaffinepreimage1.cc (1.6),
-	  Polyhedron/boundedbhrz03extrapolation1.cc (1.7),
-	  Polyhedron/boundedh79extrapolation1.cc (1.9),
-	  Polyhedron/boundingbox1.cc (1.12), Polyhedron/boundingbox2.cc
-	  (1.11), Polyhedron/boundingbox3.cc (1.12), Polyhedron/bounds1.cc
-	  (1.9), Polyhedron/cnncconversion1.cc (1.2),
-	  Polyhedron/concatenate1.cc (1.8), Polyhedron/congruences1.cc
-	  (1.6), Polyhedron/constraints1.cc (1.8), Polyhedron/contains1.cc
-	  (1.8), Polyhedron/contains2.cc (1.8), Polyhedron/disjoint1.cc
-	  (1.8), Polyhedron/disjoint2.cc (1.10), Polyhedron/empty1.cc
-	  (1.9), Polyhedron/equals1.cc (1.8), Polyhedron/expandspacedim1.cc
-	  (1.10), Polyhedron/expandspacedim2.cc (1.10),
-	  Polyhedron/foldspacedims1.cc (1.12), Polyhedron/foldspacedims2.cc
-	  (1.12), Polyhedron/generalizedaffineimage1.cc (1.9),
-	  Polyhedron/generalizedaffineimage2.cc (1.9),
-	  Polyhedron/generalizedaffinepreimage1.cc (1.6),
-	  Polyhedron/generalizedaffinepreimage2.cc (1.6),
-	  Polyhedron/generators1.cc (1.9), Polyhedron/geomcovers1.cc
-	  (1.11), Polyhedron/h79widening1.cc (1.8),
-	  Polyhedron/h79widening2.cc (1.8), Polyhedron/intersection1.cc
-	  (1.10), Polyhedron/limitedh79extrapolation1.cc (1.8),
-	  Polyhedron/linearpartition1.cc (1.8), Polyhedron/linearsystem1.cc
-	  (1.5), Polyhedron/linexpression1.cc (1.8),
-	  Polyhedron/lpproblem1.cc (1.7), Polyhedron/mapspacedims1.cc
-	  (1.11), Polyhedron/max_min1.cc (1.9), Polyhedron/mc91.cc (1.12),
-	  Polyhedron/minconstraints1.cc (1.8),
-	  Polyhedron/minconstraints2.cc (1.9), Polyhedron/mingenerators1.cc
-	  (1.8), Polyhedron/mingenerators2.cc (1.9),
-	  Polyhedron/nncminimize1.cc (1.3), Polyhedron/nncminimize2.cc
-	  (1.5), Polyhedron/numberinput1.cc (1.28), Polyhedron/onepoint.cc
-	  (1.9), Polyhedron/polydifference1.cc (1.8),
-	  Polyhedron/polydifference2.cc (1.8), Polyhedron/polyhull1.cc
-	  (1.8), Polyhedron/polyhull2.cc (1.9), Polyhedron/polypowerset1.cc
-	  (1.20), Polyhedron/relations1.cc (1.8), Polyhedron/relations2.cc
-	  (1.9), Polyhedron/relations3.cc (1.8),
-	  Polyhedron/removespacedims1.cc (1.8),
-	  Polyhedron/removespacedims2.cc (1.8), Polyhedron/timeelapse1.cc
-	  (1.8), Polyhedron/timeelapse2.cc (1.9), Polyhedron/topclosed1.cc
-	  (1.9), Polyhedron/topclosure1.cc (1.8), Polyhedron/universe1.cc
-	  (1.8), Polyhedron/universe2.cc (1.8), Polyhedron/writeconsys1.cc
-	  (1.8), Polyhedron/writegensys1.cc (1.8),
-	  Polyhedron/writepolyhedron1.cc (1.8),
-	  Polyhedron/writepolyhedron2.cc (1.8),
-	  Polyhedron/writerelation1.cc (1.10): Obsolete macro DO_TEST
-	  removed.  Macros NEW_TEST* renamed DO_TEST*.
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (altnum.1): file closure1.cc was added
-	  on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage1.cc (altnum.1): file
-	  generalizedaffinepreimage1.cc was added on branch altnum on
-	  2006-10-29 19:27:22 +0000
-
-2006-03-06 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/writebdshape1.cc (altnum.1): file writebdshape1.cc
-	  was added on branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-03-06 Monday 08:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/topclosed1.cc (1.6): Renovation of topclosed1.cc done.
-
-2006-03-05 Sunday 23:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.87): Adapted removespacedims*.cc,
-	  timeelapse*.cc, topclosed*.cc, topclosure*.cc, universe*.cc,
-	  writegensys*.cc and writepolyhedron*.cc to new standards.
-
-2006-03-05 Sunday 23:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: writeconsys1.cc (1.7), writerelation1.cc
-	  (1.9): Adapted to new standards for tests.
-
-2006-03-05 Sunday 23:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: topclosure1.cc (1.7), topclosure2.cc (1.8),
-	  topclosure3.cc (1.7), topclosure4.cc (1.9), universe1.cc (1.7),
-	  universe2.cc (1.7), universe3.cc (1.7), universe4.cc (1.7),
-	  universe5.cc (1.7), universe6.cc (1.7), universe7.cc (1.7),
-	  writepolyhedron1.cc (1.7), writepolyhedron2.cc (1.7),
-	  writepolyhedron3.cc (1.8), writegensys1.cc (1.7), writegensys2.cc
-	  (1.8), writegensys3.cc (1.7): Adapted to new standards for tests.
-
-2006-03-05 Sunday 23:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: removespacedims1.cc (1.7),
-	  removespacedims10.cc (1.8), removespacedims2.cc (1.7),
-	  removespacedims3.cc (1.8), removespacedims4.cc (1.7),
-	  removespacedims5.cc (1.8), removespacedims6.cc (1.7),
-	  removespacedims7.cc (1.7), removespacedims8.cc (1.7),
-	  removespacedims9.cc (1.7), timeelapse1.cc (1.7), timeelapse2.cc
-	  (1.8), timeelapse3.cc (1.7), timeelapse4.cc (1.7), timeelapse5.cc
-	  (1.8), timeelapse6.cc (1.7), timeelapse7.cc (1.8), timeelapse8.cc
-	  (1.8), timeelapse9.cc (1.8), topclosed1.cc (1.8), topclosed2.cc
-	  (1.8), topclosed3.cc (1.7): Adapted to new standards for tests.
-
-2006-03-05 Sunday 22:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.186): Added item to "Enhancements for PPL 0.10" - Add a
-	  widening for grids using only generator representations.
-
-2006-03-05 Sunday 22:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_simplify.cc (1.4): Changed name of variable "num_rows"
-	  to more descriptive name.  Added and improved comments wrt this
-	  variable.
-
-2006-03-05 Sunday 22:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: print.hh (1.34), Grid/bhz03widening1.cc (1.7),
-	  Grid/certificate1.cc (1.9): Removed redundant code from
-	  Grid/certificate1.cc Added print_congruences for powersets in
-	  print.hh and use it in Grid/bhz03widening1.cc
-
-2006-03-05 Sunday 21:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.24), boundingbox1.cc (1.7),
-	  coveringbox2.cc (1.7), grid1.cc (1.11), limitedextrapolation1.cc
-	  (1.6), mapspacedims1.cc (1.7), maxmin1.cc (1.5), membytes1.cc
-	  (1.4), membytes2.cc (1.4), mincongruences1.cc (1.6),
-	  mingenerators1.cc (1.6), outputoperator1.cc (1.4), relations1.cc
-	  (1.8), relations2.cc (1.7), removespacedims1.cc (1.6),
-	  removespacedims2.cc (1.6), timeelapse1.cc (1.6), timeelapse2.cc
-	  (1.5), topclosure1.cc (1.5), widening1.cc (1.8),
-	  writecongruencesystem.cc (1.4): Basic renovation of grids tests
-	  completed.
-
-2006-03-05 Sunday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/intersection1.cc (1.9): Invoke `test01' and
-	  `test02' with NEW_TEST_F8A.
-
-2006-03-05 Sunday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.191): Added a brief description of the new Grid class.
-	  Added a mention of the new possibility of building only static or
-	  only shared libraries.  Completed the section on bugfixes.
-	  Tentative release date for PPL 0.9 is March 12, 2006.
-
-2006-03-05 Sunday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.185): Removed items that have already done.  Pushed all
-	  the others down to PPL 0.10.
-
-2006-03-05 Sunday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.36), config.sub (1.34), Watchdog/config.guess
-	  (1.20), Watchdog/config.sub (1.19): Updated.
-
-2006-03-05 Sunday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.229), demos/ppl_lpsol/Makefile.am (1.23):
-	  Automake conditional CYGWIN renamed HOST_OS_CYGWIN.  New Automake
-	  conditional HOST_OS_DARWIN.  Refrain from literal comparison of
-	  ppl_lpsol output also on Darwin.
-
-2006-03-05 Sunday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affineimage2.cc (1.4): Use NEW_TEST_F16A to invoke
-	  `test10'.
-
-2006-03-05 Sunday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.44): New macro NEW_TEST_F16A.
-
-2006-03-05 Sunday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/intersection1.cc (1.8): Tests `test01' and
-	  `test02' succeed also with 8-bit coefficients.
-
-2006-03-05 Sunday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/mc91.cc (1.11): Actually, 16-bit coefficients
-	  are enough for `test01'.
-
-2006-03-05 Sunday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.71), devref.doxyconf-latex.in
-	  (1.11): Source file float.types.hh does not exist anymore.
-
-2006-03-05 Sunday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.22): Do not use `diff' to check
-	  the results under Cygwin.
-
-2006-03-05 Sunday 12:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.228): New AM_CONDITIONAL CYGWIN.  Version number
-	  bumped.
-
-2006-03-05 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/Makefile.am (1.19): Copy and paste mistake fixed.
-
-2006-03-05 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/mc91.cc (1.10): Test `test01' requires at least
-	  32-bit coefficients to succeed.
-
-2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_binary_format.m4 (1.3): Support 64-bit long
-	  doubles.  Fixed several copy and paste mistakes.
-
-2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_binary_format.m4 (altnum.1): file
-	  ac_cxx_long_double_binary_format.m4 was added on branch altnum on
-	  2006-10-29 19:27:11 +0000
-
-2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_long_double_binary_format.m4 (simplex.1): file
-	  ac_cxx_long_double_binary_format.m4 was added on branch simplex
-	  on 2006-05-08 17:15:48 +0000
-
-2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_double_binary_format.m4 (1.3): Fixed a couple of
-	  comments.
-
-2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_double_binary_format.m4 (altnum.1): file
-	  ac_cxx_double_binary_format.m4 was added on branch altnum on
-	  2006-10-29 19:27:11 +0000
-
-2006-03-05 Sunday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_double_binary_format.m4 (simplex.1): file
-	  ac_cxx_double_binary_format.m4 was added on branch simplex on
-	  2006-05-08 17:15:48 +0000
-
-2006-03-05 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.41), run_tests (1.17): Do not
-	  test with unsupported floating point types.
-
-2006-03-05 Sunday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (altnum.1): file run_tests was added on
-	  branch altnum on 2006-10-29 19:27:22 +0000
-
-2006-03-04 Saturday 23:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.19): Adapted to the new
-	  standards.
-
-2006-03-04 Saturday 23:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.86), relations1.cc (1.7),
-	  relations10.cc (1.7), relations11.cc (1.7), relations12.cc (1.7),
-	  relations13.cc (1.7), relations14.cc (1.7), relations15.cc (1.7),
-	  relations16.cc (1.7), relations17.cc (1.9), relations18.cc (1.7),
-	  relations19.cc (1.9), relations2.cc (1.8), relations3.cc (1.7),
-	  relations4.cc (1.7), relations5.cc (1.7), relations6.cc (1.8),
-	  relations7.cc (1.7), relations8.cc (1.7), relations9.cc (1.8):
-	  Adapted relations*.cc to the new standards for tests.
-
-2006-03-04 Saturday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/Makefile.am (1.18), m4/ac_cxx_double_binary_format.m4 (1.2),
-	  m4/ac_cxx_float_binary_format.m4 (1.2),
-	  m4/ac_cxx_long_double_binary_format.m4 (1.2),
-	  src/Checked_Number.defs.hh (1.75), src/Checked_Number.inlines.hh
-	  (1.64), src/Float.defs.hh (1.21), src/checked_float.inlines.hh
-	  (1.65), src/checked_numeric_limits.hh (1.15): More improvements
-	  concerning the detection of supported floating point numbers.
-
-2006-03-04 Saturday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float_binary_format.m4 (altnum.1): file
-	  ac_cxx_float_binary_format.m4 was added on branch altnum on
-	  2006-10-29 19:27:11 +0000
-
-2006-03-04 Saturday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float_binary_format.m4 (simplex.1): file
-	  ac_cxx_float_binary_format.m4 was added on branch simplex on
-	  2006-05-08 17:15:48 +0000
-
-2006-03-04 Saturday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.227), m4/ac_cxx_double_binary_format.m4 (1.1),
-	  m4/ac_cxx_double_is_iec_559.m4 (1.6),
-	  m4/ac_cxx_float128_binary_format.m4 (1.6),
-	  m4/ac_cxx_float32_binary_format.m4 (1.4),
-	  m4/ac_cxx_float64_binary_format.m4 (1.5),
-	  m4/ac_cxx_float96_binary_format.m4 (1.5),
-	  m4/ac_cxx_float_binary_format.m4 (1.1),
-	  m4/ac_cxx_float_is_iec_559.m4 (1.6), m4/ac_cxx_long_double.m4
-	  (1.7), m4/ac_cxx_long_double_binary_format.m4 (1.1),
-	  m4/ac_cxx_long_double_is_iec_559.m4 (1.6), m4/ac_cxx_long_long.m4
-	  (1.6), src/Float.defs.hh (1.20), src/Makefile.am (1.150),
-	  src/checked_int.inlines.hh (1.51), src/float.types.hh (1.17):
-	  Simplified the logic behind the detection of the relevant
-	  properties of the available floating point numbers.  Several
-	  unused Autoconf functions have been removed.
-
-2006-03-04 Saturday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.43), print.hh (1.33): Added template
-	  <typename PH> void print_constraints(const
-	  Polyhedra_Powerset<PH>&, const std::string, std::ostream& s).
-
-2006-03-04 Saturday 20:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: polyhull10.cc (1.7), polyhull11.cc (1.7),
-	  polyhull3.cc (1.8), polyhull4.cc (1.7), polyhull5.cc (1.8),
-	  polyhull6.cc (1.7), polyhull7.cc (1.7), polyhull8.cc (1.9),
-	  polyhull9.cc (1.9): No longer needed.
-
-2006-03-04 Saturday 20:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.85), polyhull1.cc (1.7),
-	  polyhull2.cc (1.8): Adapted polyhull*.cc to the new standards for
-	  tests.
-
-2006-03-04 Saturday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.84): Corrected (was still
-	  including referecnes to deleted polydifference*.cc tests).
-
-2006-03-04 Saturday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/append1.cc (1.8): Indentation fixed.
-
-2006-03-04 Saturday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/mc91.cc (1.9): Rewritten.
-
-2006-03-04 Saturday 14:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.83): Adapted mingenerators*.cc,
-	  polydifference*.cc and onepoint.cc to new standards for tests.
-
-2006-03-04 Saturday 14:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.27): Started adapting this
-	  test to the new standards for tests.
-
-2006-03-04 Saturday 14:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/mc91.cc (1.8): Adapted to new standards for
-	  tests. Also added a FIXME as it currently tests nothing.
-
-2006-03-04 Saturday 13:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: mingenerators1.cc (1.7), mingenerators2.cc
-	  (1.8), mingenerators3.cc (1.7), polydifference1.cc (1.7),
-	  polydifference2.cc (1.7), polydifference3.cc (1.7),
-	  polydifference4.cc (1.8), polydifference5.cc (1.7),
-	  polydifference6.cc (1.7), polydifference7.cc (1.9),
-	  polydifference8.cc (1.7), polydifference9.cc (1.8), onepoint.cc
-	  (1.8): Adapted to new standards for tests.
-
-2006-03-03 Friday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.68): Dependencies fixed.
-
-2006-03-03 Friday 17:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.82): Adapted lpproblem*.cc,
-	  mapspacedims*.cc, max_min*.cc and minconstraints*.cc to new
-	  standards.
-
-2006-03-03 Friday 17:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: minconstraints1.cc (1.7), minconstraints2.cc
-	  (1.8), minconstraints3.cc (1.7), minconstraints4.cc (1.7),
-	  lpproblem1.cc (1.6), lpproblem2.cc (1.5), lpproblem3.cc (1.3),
-	  max_min1.cc (1.8), max_min2.cc (1.8), mapspacedims1.cc (1.10),
-	  mapspacedims2.cc (1.8), mapspacedims3.cc (1.8), mapspacedims4.cc
-	  (1.8): Adapted to new standards for tests.
-
-2006-03-03 Friday 09:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.81): Adapted ascii_dump_laod* to
-	  new standards for tests.
-
-2006-03-03 Friday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/foldspacedims1.cc (1.11): Test test06() will
-	  only fail when using C_Polyhedron and 8 bit coefficients.
-
-2006-03-03 Friday 09:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: linearsystem1.cc (1.4), linexpression1.cc
-	  (1.7): Adapted to new standards for tests.
-
-2006-03-03 Friday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: ascii_dump_load1.cc (1.7), ascii_dump_load2.cc
-	  (1.7), ascii_dump_load3.cc (1.8), ascii_dump_load4.cc (1.8),
-	  ascii_dump_load5.cc (1.8), ascii_dump_load6.cc (1.9),
-	  ascii_dump_load7.cc (1.7): Adapted ascii_dump_load*.cc to new
-	  standards for tests.
-
-2006-03-03 Friday 08:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.80), linearpartition1.cc (1.7),
-	  linearpartition2.cc (1.7), linearpartition3.cc (1.7),
-	  linearpartition4.cc (1.8): Adapted linearpartition*.cc and
-	  limitedh79extrapolation*.cc to new standards for tests.
-
-2006-03-03 Friday 08:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: limitedh79extrapolation1.cc (1.7),
-	  limitedh79extrapolation2.cc (1.7), limitedh79extrapolation3.cc
-	  (1.7), limitedh79extrapolation4.cc (1.9): Adapted to new
-	  standards for tests.
-
-2006-03-02 Thursday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.226): The only purpose of the `debug_flag'
-	  variable is to hold "-DNDEBUG=1" when assertions are enabled.
-
-2006-03-02 Thursday 21:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/foldspacedims2.cc (1.11): With 8-bit
-	  coefficients and assertions enabled test04 must fail.
-
-2006-03-02 Thursday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Polyhedron/Makefile.am (1.79), BD_Shape/Makefile.am
-	  (1.40), Grid/Makefile.am (1.23): Added @debug_flag@ to
-	  AM_CPPFLAGS.
-
-2006-03-02 Thursday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.78): Removing tests from XFAILS
-	  if they have already been adapted to the new standards for
-	  handling failures.
-
-2006-03-02 Thursday 11:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: foldspacedims1.cc (1.10), foldspacedims2.cc
-	  (1.10): Mark tests that should fail with 8 bit coefficients.
-
-2006-03-02 Thursday 08:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/join3.cc (1.7): Tests in join3.cc now included in
-	  join2.cc
-
-2006-03-02 Thursday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.22), join1.cc (1.9), join1_16.cc
-	  (1.4), join2.cc (1.5): Revised tests using new guidelines
-
-2006-03-02 Thursday 07:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/intersection2.cc (1.6): Tests now in intersection1.cc
-
-2006-03-02 Thursday 07:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.21), generalizedaffineimage1.cc
-	  (1.7), generalizedaffineimage2.cc (1.7),
-	  generalizedaffinepreimage1.cc (1.8),
-	  generalizedaffinepreimage2.cc (1.8), generator1.cc (1.5),
-	  generators1.cc (1.7), grid1.cc (1.10), grid1_16.cc (1.7),
-	  grid1_64.cc (1.5), grid1_gmp.cc (1.5), grid2.cc (1.8),
-	  grid2_16.cc (1.5), grid3.cc (1.7), griddifference1.cc (1.7),
-	  intersection1.cc (1.6), intersection2.cc (1.5), isempty1.cc
-	  (1.4), isuniverse1.cc (1.7): Revised tests for new guidelines.
-
-2006-03-01 Wednesday 22:05  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.33): Added a float-based version of
-	  the steepest-edge technique (disabled by default).
-
-2006-03-01 Wednesday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: bgp99extrapolation1.cc (1.6), bhmz05widening1.cc
-	  (1.7), bhz03widening1.cc (1.6), cc76extrapolation1.cc (1.11),
-	  geomcovers1.cc (1.6), minconstraints1.cc (1.6), relations1.cc
-	  (1.14), relations2.cc (1.15): Standardize the use of using
-	  declarations: only local ones, without unnecessary
-	  Parma_Polyhedra_Library:: qualifications, and with a scope
-	  reduced as much as possible.
-
-2006-03-01 Wednesday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/geomcovers1.cc (1.10): Do not require recent
-	  versions of GCC just for printing something in test programs: use
-	  `using namespace IO_Operators;' instead of more refined things.
-
-2006-03-01 Wednesday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.77): No longer needed XFAILs
-	  removed.
-
-2006-03-01 Wednesday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory1.cc (1.10): Temporarily disable this test
-	  on Alpha machines.
-
-2006-03-01 Wednesday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.76), intersection1.cc (1.7),
-	  intersection10.cc (1.9), intersection11.cc (1.9),
-	  intersection2.cc (1.7), intersection3.cc (1.7), intersection4.cc
-	  (1.8), intersection5.cc (1.8), intersection6.cc (1.8),
-	  intersection7.cc (1.7), intersection8.cc (1.8), intersection9.cc
-	  (1.8): Adapted intersection*.cc to new standards for tests.
-
-2006-03-01 Wednesday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.75), h79widening1.cc (1.7),
-	  h79widening2.cc (1.7), h79widening3.cc (1.7), h79widening4.cc
-	  (1.7), h79widening5.cc (1.8), h79widening6.cc (1.7),
-	  h79widening7.cc (1.7), h79widening8.cc (1.7): Adapted
-	  h79widening*.cc to new standards for tests.
-
-2006-03-01 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/geomcovers1.cc (1.9): Adapted to the new
-	  standards for tests.
-
-2006-03-01 Wednesday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.74), generators1.cc (1.8),
-	  generators2.cc (1.8), generators3.cc (1.8), generators4.cc (1.8),
-	  generators5.cc (1.7), generators6.cc (1.9), generators7.cc (1.7):
-	  Adapted generators*.cc to new standards for tests.
-
-2006-03-01 Wednesday 14:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.73),
-	  generalizedaffinepreimage1.cc (1.5),
-	  generalizedaffinepreimage2.cc (1.5),
-	  generalizedaffinepreimage3.cc (1.5),
-	  generalizedaffinepreimage4.cc (1.5): Adapted
-	  generalizedaffinepreimage*.cc to the new standards for tests.
-
-2006-03-01 Wednesday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/nncminimize2.cc (1.4): Fails with all bounded
-	  integers.
-
-2006-03-01 Wednesday 12:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.72), generalizedaffineimage1.cc
-	  (1.8), generalizedaffineimage10.cc (1.8),
-	  generalizedaffineimage11.cc (1.9), generalizedaffineimage12.cc
-	  (1.7), generalizedaffineimage13.cc (1.6),
-	  generalizedaffineimage14.cc (1.6), generalizedaffineimage2.cc
-	  (1.8), generalizedaffineimage3.cc (1.8),
-	  generalizedaffineimage4.cc (1.8), generalizedaffineimage5.cc
-	  (1.7), generalizedaffineimage6.cc (1.8),
-	  generalizedaffineimage7.cc (1.8), generalizedaffineimage8.cc
-	  (1.7), generalizedaffineimage9.cc (1.8): Adapted
-	  generalizedaffineimage*.cc to new standards for tests.
-
-2006-03-01 Wednesday 12:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: foldspacedims1.cc (1.9), foldspacedims2.cc
-	  (1.9): Adapted foldspacedims*.cc to new standards for tests.
-
-2006-03-01 Wednesday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: expandspacedim1.cc (1.9), expandspacedim2.cc
-	  (1.9): Adapted expandspacedim*.cc to new standards for tests.
-
-2006-03-01 Wednesday 11:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/equals1.cc (1.7): Adapted to new standards for
-	  tests.
-
-2006-03-01 Wednesday 11:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/empty1.cc (1.8): Adapted empty*.cc to new
-	  standards for tests.
-
-2006-03-01 Wednesday 11:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: boundedbhrz03extrapolation1.cc (1.6),
-	  boundedh79extrapolation1.cc (1.8): Modified to work correclty
-	  with failing coefficient configurations.
-
-2006-03-01 Wednesday 11:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.71), disjoint1.cc (1.7),
-	  disjoint2.cc (1.9), disjoint3.cc (1.9): Adapted disjoint*.cc to
-	  new standards for tests.
-
-2006-03-01 Wednesday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.70), contains1.cc (1.7),
-	  contains2.cc (1.7), contains3.cc (1.7), contains4.cc (1.7),
-	  contains5.cc (1.8): Adapted contsains*.cc to new standards for
-	  tests.
-
-2006-03-01 Wednesday 10:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.69), boundedaffineimage1.cc
-	  (1.6), boundedaffineimage2.cc (1.5), boundedaffineimage3.cc
-	  (1.5), boundedaffinepreimage1.cc (1.5), boundedaffinepreimage2.cc
-	  (1.5), boundedaffinepreimage3.cc (1.5): Adapted
-	  boundedaffine[pre]image*.cc to new standards for tests.
-
-2006-03-01 Wednesday 09:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.68), bhz03widening1.cc (1.9),
-	  bhz03widening2.cc (1.9), bhz03widening3.cc (1.9),
-	  bhz03widening4.cc (1.8), bhz03widening5.cc (1.8),
-	  bhz03widening6.cc (1.10): Adapted bhz03widening*.cc to new
-	  standards for tests files.
-
-2006-03-01 Wednesday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/bgp99extrapolation1.cc (1.9): Correctly handling
-	  with failing coefficient configurations.
-
-2006-03-01 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.67), constraints1.cc (1.7),
-	  constraints2.cc (1.8), constraints3.cc (1.7), constraints4.cc
-	  (1.9), constraints5.cc (1.6): Translated constraints*.cc
-	  according to new standards for tests.
-
-2006-03-01 Wednesday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.66): Adapted for changes to
-	  bounds*.cc.
-
-2006-03-01 Wednesday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: bounds1.cc (1.8), bounds2.cc (1.7),
-	  congruences1.cc (1.5): Adapted to new standards for tests.
-
-2006-03-01 Wednesday 09:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/nncminimize1.cc (1.2): Using new macros for
-	  handling with failing coefficent configurations.
-
-2006-03-01 Wednesday 09:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: CbecomesNNC1.cc (1.7), Makefile.am (1.65),
-	  NNCbecomesC1.cc (1.8), cnncconversion1.cc (1.1): Tests
-	  CbecomesNNC1 and NNCbecomesC1 translated according to new
-	  standards.
-
-2006-03-01 Wednesday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: boundingbox1.cc (1.11), boundingbox2.cc
-	  (1.10), boundingbox3.cc (1.11): Removed useless parentheses in
-	  return statement.  Moved test descriptions in front of the tests.
-
-2006-03-01 Wednesday 09:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.42): Corrected macro NEW_TEST_F* to
-	  correctly deal with failing tests.
-
-2006-02-28 Tuesday 23:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/equals1.cc (1.7): Test added to improve coverage.
-
-2006-02-28 Tuesday 12:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/addcongruences1.cc (1.7): Use
-	  print_congruences() instead of print_constraints() when printing
-	  a ystem of congruences.
-
-2006-02-28 Tuesday 10:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.20), affineimage1_16.cc (1.6): Test
-	  in affineimage1_16.cc is now included in affineimage2.cc
-
-2006-02-28 Tuesday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/affineimage2.cc (1.3): Activated test10.
-
-2006-02-28 Tuesday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.41): NEW_TEST* macros fixed and completed.
-
-2006-02-28 Tuesday 09:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.templates.hh (1.3): Use more efficient iteration in
-	  a couple of cases.
-
-2006-02-28 Tuesday 09:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.inlines.hh (1.17): Added more comments to explain the
-	  order of construction/destruction.
-
-2006-02-28 Tuesday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: print.cc (1.25), print.hh (1.32): Two FIXMEs dealt with.
-
-2006-02-28 Tuesday 08:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: contains2.cc (1.5), discrete1.cc (1.2), disjoint1.cc
-	  (1.6), equals1.cc (1.6), expandspacedim1.cc (1.6),
-	  foldspacedims1.cc (1.6): Tests in contains2.cc already in
-	  contains1.cc.  Modified tests following new guidelines.
-
-2006-02-28 Tuesday 08:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: addcongruence1.cc (1.7), addcongruences1.cc (1.9),
-	  addconstraint1.cc (1.7), addconstraints1.cc (1.7),
-	  addgenerator1.cc (1.9), addgenerators1.cc (1.5), addspacedims1.cc
-	  (1.8), affinedim1.cc (1.7), affineimage1.cc (1.9),
-	  affineimage1_16.cc (1.5), affineimage2.cc (1.2),
-	  affinepreimage1.cc (1.7), affinepreimage2.cc (1.2),
-	  asciidumpload1.cc (1.5), bhz03widening1.cc (1.6), bounded1.cc
-	  (1.8), boundingbox1.cc (1.6), boundingbox2.cc (1.6), bounds1.cc
-	  (1.9), certificate1.cc (1.8), concatenate1.cc (1.8),
-	  congruence1.cc (1.8), congruences1.cc (1.6), congruencesystem1.cc
-	  (1.6), contains1.cc (1.7), coveringbox1.cc (1.6), coveringbox2.cc
-	  (1.6): Blank line before test comment removed.  A few missing
-	  comments for tests added.
-
-2006-02-28 Tuesday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.184), src/Polyhedron_nonpublic.cc (1.65): TODO item
-	  partly done: added some missing assert(OK()).
-
-2006-02-27 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.46): Upon `make clean', erase also the
-	  temporary directories (they will be there if the build did not
-	  complete successfully).
-
-2006-02-27 Monday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.45): Use two distinct rules for the user and
-	  developer HTML documentation.
-
-2006-02-27 Monday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.70), user.doxyconf-html.in
-	  (1.37): Set HTML_OUTPUT the right way.
-
-2006-02-27 Monday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.44): Allow parallel building of the user and
-	  developer HTML documentation.
-
-2006-02-27 Monday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.40), Polyhedron/bhrz03widening3.cc (1.8),
-	  Polyhedron/boundingbox3.cc (1.10): New macros NEW_TEST_F,
-	  NEW_TEST_F64, NEW_TEST_F32, NEW_TEST_F16, NEW_TEST_F8 and
-	  NEW_TEST_F8A to be used for tests that are known to fail always,
-	  with bounded coefficients with number of bits less than or equal
-	  to the indicated number, or with 8-bit coefficient and with
-	  assertions enabled, respectively.
-
-2006-02-27 Monday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.225): Improved the selection of the type of
-	  coefficients.  New C++ macro COEFFICIENT_BITS holds the number of
-	  bits of coefficients, 0 if they are unbounded.
-
-2006-02-27 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.54): The GNU-Prolog
-	  interface can now be built also with --disable-static and with
-	  --disable-shared.
-
-2006-02-27 Monday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.44): The YAP-Prolog
-	  interface cannot be built if shared libraries are not available.
-
-2006-02-27 Monday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.53): The Ciao-Prolog
-	  interface cannot be built if shared libraries are not available.
-
-2006-02-27 Monday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.67): Work also if the
-	  PPL was configure with --disable-shared.  Moreover, unless the
-	  PPL was configured with --disable-static, `ppl_sicstus' uses only
-	  static modules.
-
-2006-02-27 Monday 13:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/affineimage2.cc (1.8): Helper function renamed
-	  according to new standard.
-
-2006-02-27 Monday 13:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.64), concatenate1.cc (1.7),
-	  concatenate2.cc (1.8), concatenate3.cc (1.7), concatenate4.cc
-	  (1.7), concatenate5.cc (1.7), concatenate6.cc (1.9),
-	  concatenate7.cc (1.6): Transformed according to new standards for
-	  tests.
-
-2006-02-27 Monday 13:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/bounded1.cc (1.8): Tranformed according to new
-	  standards for tests.
-
-2006-02-27 Monday 13:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.63), bhrz03widening1.cc (1.7),
-	  bhrz03widening10.cc (1.8), bhrz03widening11.cc (1.7),
-	  bhrz03widening12.cc (1.8), bhrz03widening13.cc (1.7),
-	  bhrz03widening14.cc (1.7), bhrz03widening15.cc (1.8),
-	  bhrz03widening16.cc (1.7), bhrz03widening17.cc (1.7),
-	  bhrz03widening18.cc (1.7), bhrz03widening19.cc (1.7),
-	  bhrz03widening2.cc (1.7), bhrz03widening3.cc (1.7),
-	  bhrz03widening4.cc (1.7), bhrz03widening5.cc (1.7),
-	  bhrz03widening6.cc (1.7), bhrz03widening7.cc (1.7),
-	  bhrz03widening8.cc (1.7), bhrz03widening9.cc (1.7): Transformed
-	  according to new standards for tests.
-
-2006-02-27 Monday 13:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: affinetrans.cc (1.8), Makefile.am (1.62),
-	  bgp99extrapolation1.cc (1.8), bgp99extrapolation2.cc (1.8):
-	  Transformed according to new standards for tests.
-
-2006-02-27 Monday 13:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.60), affineimage1.cc (1.8),
-	  affineimage2.cc (1.7), affineimage3.cc (1.7), affineimage4.cc
-	  (1.8), affineimage5.cc (1.9), affineimage6.cc (1.9),
-	  affineimage7.cc (1.7), affineimage8.cc (1.8), affineimage9.cc
-	  (1.7), Makefile.am (1.61), affinepreimage1.cc (1.7),
-	  affinepreimage10.cc (1.8), affinepreimage11.cc (1.5),
-	  affinepreimage12.cc (1.3), affinepreimage2.cc (1.7),
-	  affinepreimage3.cc (1.8), affinepreimage4.cc (1.7),
-	  affinepreimage5.cc (1.7), affinepreimage6.cc (1.7),
-	  affinepreimage7.cc (1.7), affinepreimage8.cc (1.8),
-	  affinepreimage9.cc (1.8): Transformed according to new standards
-	  for tests.
-
-2006-02-27 Monday 12:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.59), addspacedims1.cc (1.8),
-	  addspacedims10.cc (1.7), addspacedims11.cc (1.7),
-	  addspacedims12.cc (1.7), addspacedims13.cc (1.8),
-	  addspacedims2.cc (1.8), addspacedims3.cc (1.9), addspacedims4.cc
-	  (1.7), addspacedims5.cc (1.7), addspacedims6.cc (1.7),
-	  addspacedims7.cc (1.7), addspacedims8.cc (1.8), addspacedims9.cc
-	  (1.7): Transformed according to new standards for tests.
-
-2006-02-27 Monday 12:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.58), addgenerator1.cc (1.8),
-	  addgenerator2.cc (1.8), addgenerator3.cc (1.8), addgenerator4.cc
-	  (1.8), addgenerator5.cc (1.8), addgenerators1.cc (1.8),
-	  addgenerators10.cc (1.8), addgenerators11.cc (1.8),
-	  addgenerators12.cc (1.9), addgenerators13.cc (1.8),
-	  addgenerators2.cc (1.8), addgenerators3.cc (1.7),
-	  addgenerators4.cc (1.7), addgenerators5.cc (1.7),
-	  addgenerators6.cc (1.8), addgenerators7.cc (1.7),
-	  addgenerators8.cc (1.8), addgenerators9.cc (1.7): Transformed
-	  according to new standards for tests.
-
-2006-02-27 Monday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.57), addconstraint1.cc (1.7),
-	  addconstraint2.cc (1.8), addconstraint3.cc (1.8),
-	  addconstraints1.cc (1.8), addconstraints10.cc (1.8),
-	  addconstraints11.cc (1.7), addconstraints12.cc (1.7),
-	  addconstraints13.cc (1.9), addconstraints2.cc (1.7),
-	  addconstraints3.cc (1.8), addconstraints4.cc (1.7),
-	  addconstraints5.cc (1.8), addconstraints6.cc (1.8),
-	  addconstraints7.cc (1.8), addconstraints8.cc (1.8),
-	  addconstraints9.cc (1.7): Transformed according to new standards
-	  for tests.
-
-2006-02-27 Monday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.56), addcongruences1.cc (1.6),
-	  addcongruences2.cc (1.5), addcongruences3.cc (1.5),
-	  addcongruences4.cc (1.5), addcongruences5.cc (1.5): Transformed
-	  according to new standards for tests.
-
-2006-02-27 Monday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.55): Dealing with addcongruence.
-
-2006-02-27 Monday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: addcongruence1.cc (1.5), addcongruence2.cc
-	  (1.5), addcongruence3.cc (1.5), addcongruence4.cc (1.5),
-	  addcongruence5.cc (1.5): Transformed according to new standard
-	  for tests.
-
-2006-02-27 Monday 12:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.54): Added nncminimize1.cc and
-	  removed NNCminimize*.
-
-2006-02-27 Monday 12:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: NNCminimize1.cc (1.7), NNCminimize2.cc (1.7),
-	  NNCminimize3.cc (1.7), NNCminimize4.cc (1.7), NNCminimize5.cc
-	  (1.7), NNCminimize6.cc (1.7), nncminimize1.cc (1.1): Transformed
-	  according to new standard for tests.
-
-2006-02-27 Monday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.190), src/Saturation_Row.cc (1.10): Fixed a long-standing
-	  bug in Saturation_Row::prev().
-
-2006-02-26 Sunday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/bhz03widening1.cc (1.5): Revised test to guidelines.
-
-2006-02-26 Sunday 21:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_Generator.defs.hh (1.10): Documentation for ascii_load()
-	  bug fixed.  Comment made conditional on
-	  PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS being defined.
-
-2006-02-26 Sunday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/nncminimize2.cc (1.3): Make sure vnout is
-	  flushed just after the dumps.
-
-2006-02-26 Sunday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/nncminimize2.cc (1.2): Dump the polyhedron
-	  multiple times when very noisy.
-
-2006-02-26 Sunday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.53), nncminimize2.cc (1.1): New
-	  test for NNC_Polyhedron::ph.minimized_generators().
-
-2006-02-26 Sunday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.66): Dependencies fixed.
-
-2006-02-26 Sunday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/Makefile.am (1.19): Fixed the ordering in the
-	  definition of LDADD.
-
-2006-02-26 Sunday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.43): Portability improvement: `tar zxf' is
-	  non-portable;  use `gunzip -c' and pipe the result to `tar xf'
-	  instead.
-
-2006-02-26 Sunday 09:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/: ppl_lcdd/Makefile.am (1.24), ppl_lpsol/Makefile.am
-	  (1.21): Portability improvement: instead of using `grep -q'
-	  (which is non-portable) we redirect the standard output and
-	  standard error to `/dev/null'.
-
-2006-02-26 Sunday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.74), Checked_Number.inlines.hh
-	  (1.63), Float.inlines.hh (1.27), Grid_Certificate.cc (1.4),
-	  Grid_Generator.defs.hh (1.9), Grid_Generator_System.cc (1.4),
-	  Grid_Generator_System.inlines.hh (1.4), Grid_conversion.cc (1.5),
-	  Grid_public.cc (1.12), Scalar_Products.defs.hh (1.6),
-	  checked_ext.defs.hh (1.11), checked_ext.inlines.hh (1.30),
-	  checked_int.inlines.hh (1.50): Try to avoid long source lines.
-
-2006-02-26 Sunday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Certificate.cc (simplex.1): file Grid_Certificate.cc was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-02-26 Sunday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.26): Do not leave operators ad end of
-	  line.
-
-2006-02-26 Sunday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.cc (1.57), H79_Certificate.inlines.hh (1.8),
-	  Polyhedra_Powerset.templates.hh (1.2): Avoid useless parentheses.
-
-2006-02-26 Sunday 07:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.inlines.hh (1.3): Fix misplaced parenthesis.
-
-2006-02-26 Sunday 00:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid.templates.hh (1.3): Fixed a bug in get_covering_box().
-
-2006-02-26 Sunday 00:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: print.cc (1.24), print.hh (1.31), Grid/Makefile.am
-	  (1.18), Grid/bounds1.cc (1.8), Grid/certificate1.cc (1.7),
-	  Grid/concatenate1.cc (1.7), Grid/congruence1.cc (1.7),
-	  Grid/congruences1.cc (1.5), Grid/congruencesystem1.cc (1.5),
-	  Grid/congruencesystem2.cc (1.5), Grid/contains1.cc (1.6),
-	  Grid/copyconstruct1.cc (1.5), Grid/coveringbox1.cc (1.5),
-	  Grid/coveringbox2.cc (1.5): Revised tests following guidelines.
-	  Added 2 tests to coveringbox2 for generator systems with
-	  parameters.
-
-2006-02-25 Saturday 18:57  Abramo Bagnara
-
-	* src/: Float.inlines.hh (1.25), checked_int.inlines.hh (1.49):
-	  Fixed mpz_export use.
-
-2006-02-25 Saturday 17:17  Abramo Bagnara
-
-	* src/: Float.inlines.hh (1.24), checked_float.inlines.hh (1.64),
-	  checked_int.inlines.hh (1.48): Fixed mpz_export order argument.
-
-2006-02-25 Saturday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.153): Avoid an ambiguity problem
-	  occurring, e.g., on Solaris 2.9.
-
-2006-02-25 Saturday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: boundingbox4.cc (1.9), boundingbox5.cc (1.8):
-	  Removed (incorporated in other tests).
-
-2006-02-25 Saturday 14:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.52), boundingbox1.cc (1.10),
-	  boundingbox2.cc (1.9), boundingbox3.cc (1.9): Translated the
-	  tests boundingbox* into the new style.
-
-2006-02-25 Saturday 14:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (1.11): Wrong inline qualifier removed.
-
-2006-02-25 Saturday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.26): Rename store_nan and
-	  store_infinity to handle_nan and handle_infinity.
-
-2006-02-25 Saturday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Linear_Expression.defs.hh (1.22),
-	  Linear_Expression.inlines.hh (1.8): Added operators so as to
-	  obtain perfect matches and avoid ambiguities.
-
-2006-02-25 Saturday 09:58  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (1.62): Fixed typo.
-
-2006-02-25 Saturday 09:36  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.73), Checked_Number.inlines.hh
-	  (1.61): Added is_non_a_number, is_minus_infinity and
-	  is_plus_infinity.
-
-2006-02-25 Saturday 09:28  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.72), checked.defs.hh (1.35),
-	  checked_int.inlines.hh (1.47), checked_mpq.inlines.hh (1.34),
-	  checked_mpz.inlines.hh (1.38), checked_numeric_limits.hh (1.14):
-	  Renamed store_{nan,infinity} to handle_{nan,infinity}
-
-2006-02-23 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_text_md5sum.m4 (altnum.1): file ac_text_md5sum.m4 was added
-	  on branch altnum on 2006-10-29 19:27:11 +0000
-
-2006-02-23 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_text_md5sum.m4 (simplex.1): file ac_text_md5sum.m4 was
-	  added on branch simplex on 2006-05-08 17:15:48 +0000
-
-2006-02-23 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.224), demos/ppl_lcdd/Makefile.am (1.23),
-	  m4/ac_text_md5sum.m4 (1.1): New function to set the command for
-	  computing the MD5 checksum of text files.  Old (not working)
-	  kludges to do the same thing have been removed.
-
-2006-02-23 Thursday 07:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/: affinedim1.cc (1.6), bounded1.cc (1.7), bounds1.cc
-	  (1.7): Never let an operator close a source line.  Avoid useless
-	  parentheses.
-
-2006-02-22 Wednesday 23:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: asciidumpload1.cc (1.4), bounded1.cc (1.6),
-	  boundingbox1.cc (1.5), boundingbox2.cc (1.5), bounds1.cc (1.6):
-	  Revised tests following new guidelines.
-
-2006-02-22 Wednesday 20:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.17), affineimage2.cc (1.1),
-	  affinepreimage2.cc (1.1): Test files added due to reorganisation
-	  of tests.
-
-2006-02-22 Wednesday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/Makefile.am (1.16): The test program
-	  affinepreimage2.cc does not exist anymore.
-
-2006-02-22 Wednesday 19:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/Makefile.am (1.15): The test program affineimage2.cc
-	  does not exist anymore.
-
-2006-02-22 Wednesday 12:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.14), addcongruences1.cc (1.8),
-	  addconstraint1.cc (1.6), addconstraints1.cc (1.6),
-	  addgenerator1.cc (1.8), addgenerators1.cc (1.4), addspacedims1.cc
-	  (1.7), addspacedims2.cc (1.7), affinedim1.cc (1.5),
-	  affineimage1.cc (1.8), affineimage1_16.cc (1.4),
-	  affinepreimage1.cc (1.6), generalizedaffineimage1.cc (1.6),
-	  generalizedaffineimage2.cc (1.6), generalizedaffinepreimage1.cc
-	  (1.7), generalizedaffinepreimage2.cc (1.7), widening1.cc (1.7):
-	  Revised tests following new guidelines.
-
-2006-02-22 Wednesday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.39), run_tests (1.16): Test with
-	  valgrind also in the tests/BD_Shape directory.
-
-2006-02-22 Wednesday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/valgrind_suppressions (1.4): Ignore warnings originating
-	  from /usr/bin/make.
-
-2006-02-22 Wednesday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/valgrind_suppressions (simplex.1): file
-	  valgrind_suppressions was added on branch simplex on 2006-05-08
-	  17:15:53 +0000
-
-2006-02-22 Wednesday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.51): Path fixed.
-
-2006-02-22 Wednesday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.30): Removed wrong std:: qualification.
-
-2006-02-22 Wednesday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: valgrind_suppressions (1.3), Grid/Makefile.am (1.13),
-	  Polyhedron/Makefile.am (1.50), Polyhedron/valgrind_suppressions
-	  (1.3): Support valgrind testing also in the Grid directory.
-	  Share a single copy of valgrind_suppressions.
-
-2006-02-22 Wednesday 07:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.29): Print to nout by default, not to cout.
-
-2006-02-21 Tuesday 21:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/Makefile.am (1.12): Avoid doing what Automake does by
-	  itself.
-
-2006-02-21 Tuesday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.223): On the Alpha, use the appropriate compiler
-	  options in order to obtain support for ANSI/IEEE 754-1985
-	  floating point numbers.
-
-2006-02-21 Tuesday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory1.cc (1.9): Exit immediately with error if
-	  the impossible happens.
-
-2006-02-21 Tuesday 16:48  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[32,24]):
-	  Documentation improved.  Header's `parse_constraints' variables
-	  modified to match the ones in LP_Problem.cc.
-
-2006-02-20 Monday 23:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.cc (1.4): Try harder to be informative in case
-	  SIGFPE is raised.
-
-2006-02-20 Monday 23:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.inlines.hh (1.12): Struct fenv_t renamed
-	  ia32_fenv_t.
-
-2006-02-20 Monday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Linear_Expression.defs.hh (1.21),
-	  Linear_Expression.inlines.hh (1.7): Use vertical spacing to avoid
-	  clutter.  Do not expose implementation details.  Improve
-	  const-correctness.
-
-2006-02-20 Monday 14:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Congruence_System.cc (1.5): Remove unwanted comment.
-
-2006-02-20 Monday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.cc (1.3): Be more informative when the signal code
-	  is unknown.
-
-2006-02-20 Monday 14:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: print.cc (1.23), print.hh (1.28): Added
-	  print_generators() for grids.
-
-2006-02-20 Monday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/addcongruence1.cc (1.6): Use spacing consistently.
-
-2006-02-20 Monday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.253), ehandlers.cc (1.9), ehandlers.hh
-	  (1.14), ppl_test.cc (1.2), ppl_test.hh (1.39): Source files
-	  ehandlers.* phased out.  Drafted a new SIGFPE handler that every
-	  test installs to help debugging.
-
-2006-02-20 Monday 13:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/addcongruence1.cc (1.5): Added test that showed a bug
-	  in add_congruence_and_minimize(), which is now fixed.
-
-	  All tests here revised to be in the new format.
-
-2006-02-20 Monday 13:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Congruence_System.cc (1.4), Grid_public.cc (1.10): Changed
-	  add_recycled_congruence_and_minimize() to use recycling_insert()
-	  when adding a congruence.
-
-	  Corrected insert() in Congruence_System.cc so as to correctly
-	  deal with the case that the dimensions of the congruence system
-	  to be added are less than that of *this.
-
-2006-02-19 Sunday 22:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.222): Added Automake conditionals to reflect the
-	  status of shared and static libraries.
-
-2006-02-19 Sunday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Init.cc (1.27), checked.cc (1.17), checked_mpq.inlines.hh
-	  (1.33): Finished the implementation of rational square root
-	  calculations.  The precision parameter is now passed and returned
-	  as an unsigned.  The
-	  set_rational_sqrt_precision_parameter(unsigned p) function throws
-	  an exception if `p' is too big.
-
-2006-02-19 Sunday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Init.cc (1.26), checked.cc (1.16), checked_mpq.inlines.hh
-	  (1.32): New functions void
-	  set_rational_sqrt_precision_parameter(const mpz_class& p) and
-	  mpz_class rational_sqrt_precision_parameter() to set and obtain
-	  the the precision parameter (to be) used for rational sqrt
-	  calculations.
-
-2006-02-19 Sunday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpz.inlines.hh (1.37): Avoid long source lines.
-	  Prefer preincrement and predecrement to postincrement and
-	  postdecrement.
-
-2006-02-19 Sunday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpz.inlines.hh (1.36): No longer include <cmath>.
-
-2006-02-19 Sunday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.63): Do not use the fma(), fmaf()
-	  and fmal() library functions on Alphas, since we cannot guarantee
-	  the library has been compiled with the flags that ensure
-	  controlled rounding is working.
-
-2006-02-19 Sunday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.221): On Alpha chips, support for controlled
-	  rounding is only available if code is compiled to use dynamic
-	  rounding (/d) instructions.  With GCC this can be achieved with
-	  the `-mfp-rounding-mode=d' compiler options;	other compilers are
-	  said to require the `-fprm d' option.
-
-2006-02-19 Sunday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu.defs.hh (1.11): Use more standard macros to implement the
-	  switch on the architecture.
-
-2006-02-18 Saturday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Makefile.am (1.7), src/Makefile.am (1.149): 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-17 Friday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/float.types.hh (1.16): Fixed nested #if's.
-
-2006-02-15 Wednesday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: print.cc (1.22), print.hh (1.27): Added
-	  print_congruences(const Congruence_System&, const string&,
-	  ostream&) and print_congruences(const Grid&, const string&,
-	  ostream&).
-
-2006-02-15 Wednesday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/maxspacedim.cc (1.12): Trailing blanks removed.
-
-2006-02-15 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.38), addconstraints1.cc (1.10),
-	  affineimage1.cc (1.11), affinepreimage1.cc (1.11),
-	  bdsdifference1.cc (1.7), bdshull1.cc (1.7), bhmz05widening1.cc
-	  (1.6), cc76extrapolation1.cc (1.10), cc76narrowing1.cc (1.11),
-	  contains1.cc (1.9), exceptions1.cc (1.13), exceptions2.cc (1.12),
-	  exceptions3.cc (1.13), generalizedaffineimage2.cc (1.12),
-	  intersection1.cc (1.10), limitedbhmz05extrapolation1.cc (1.6),
-	  limitedcc76extrapolation1.cc (1.6), relations2.cc (1.14),
-	  relations3.cc (1.12), removespacedims1.cc (1.11), timeelapse1.cc
-	  (1.10): Tests for exceptional cases moved to the appropriate test
-	  programs.
-
-2006-02-15 Wednesday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.37), generalizedaffineimage1.cc
-	  (1.12), generalizedaffineimage2.cc (1.11),
-	  generalizedaffineimage3.cc (1.12): All the tests for
-	  BD_Shape::generalized_affine_preimage() are now in
-	  generalizedaffineimage1.cc and generalizedaffineimage2.cc.
-
-2006-02-15 Wednesday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/addspacedims2.cc (1.11): This is no longer
-	  necessary (all its tests are now in addspacedims1.cc).
-
-2006-02-15 Wednesday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.15): Test also with long doubles.
-
-2006-02-15 Wednesday 12:16  Andrea Cimino
-
-	* TODO (simplex.2): Added one item.  Provide a better
-	  implementation of computing squares.
-
-2006-02-15 Wednesday 12:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: addconstraints1.cc (1.9), addspacedims1.cc
-	  (1.10), addspacedims2.cc (1.10), affinedimension1.cc (1.6),
-	  affineimage1.cc (1.10), affineimage2.cc (1.10),
-	  affinepreimage1.cc (1.10), affinepreimage2.cc (1.10),
-	  ascii_dump_load1.cc (1.11), bdsdifference1.cc (1.6), bdshull1.cc
-	  (1.6), bgp99extrapolation1.cc (1.5), bhmz05widening1.cc (1.5),
-	  bhz03widening1.cc (1.5), cc76extrapolation1.cc (1.9),
-	  cc76narrowing1.cc (1.10), closure1.cc (1.13), concatenate1.cc
-	  (1.10), constraints1.cc (1.13), contains1.cc (1.8), empty1.cc
-	  (1.8), equality1.cc (1.13), exceptions1.cc (1.12), exceptions2.cc
-	  (1.11), exceptions3.cc (1.12), fromgensys1.cc (1.10),
-	  generalizedaffineimage1.cc (1.11), generalizedaffineimage2.cc
-	  (1.10), generalizedaffineimage3.cc (1.11),
-	  generalizedaffinepreimage1.cc (1.11),
-	  generalizedaffinepreimage2.cc (1.8), geomcovers1.cc (1.5),
-	  h79widening1.cc (1.9), intersection1.cc (1.9),
-	  limitedbhmz05extrapolation1.cc (1.5),
-	  limitedcc76extrapolation1.cc (1.5), limitedh79extrapolation1.cc
-	  (1.9), mapspacedims1.cc (1.10), maxspacedim.cc (1.11),
-	  minconstraints1.cc (1.5), relations1.cc (1.13), relations2.cc
-	  (1.13), removespacedims1.cc (1.10), timeelapse1.cc (1.9),
-	  universe1.cc (1.10), writebdshape1.cc (1.6): All test functions
-	  have now a name matching `test[012][1234567890]'.
-
-2006-02-15 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.252), Partial_Function.cc (1.2),
-	  Partial_Function.defs.hh (1.2), ppl_test.cc (1.1), ppl_test.hh
-	  (1.38), print.cc (1.21), BD_Shape/Makefile.am (1.36),
-	  BD_Shape/addconstraints1.cc (1.8), BD_Shape/addspacedims1.cc
-	  (1.9), BD_Shape/addspacedims2.cc (1.9), BD_Shape/addspacedims3.cc
-	  (1.9), BD_Shape/addspacedims4.cc (1.9), BD_Shape/addspacedims5.cc
-	  (1.12), BD_Shape/addspacedims6.cc (1.12),
-	  BD_Shape/addspacedims7.cc (1.8), BD_Shape/affinedimension1.cc
-	  (1.5), BD_Shape/affineimage1.cc (1.9), BD_Shape/affineimage10.cc
-	  (1.8), BD_Shape/affineimage2.cc (1.9), BD_Shape/affineimage3.cc
-	  (1.9), BD_Shape/affineimage4.cc (1.9), BD_Shape/affineimage5.cc
-	  (1.9), BD_Shape/affineimage6.cc (1.9), BD_Shape/affineimage7.cc
-	  (1.9), BD_Shape/affineimage8.cc (1.15), BD_Shape/affineimage9.cc
-	  (1.13), BD_Shape/affinepreimage1.cc (1.9),
-	  BD_Shape/affinepreimage2.cc (1.9), BD_Shape/affinepreimage3.cc
-	  (1.9), BD_Shape/affinepreimage4.cc (1.9),
-	  BD_Shape/affinepreimage5.cc (1.10), BD_Shape/ascii_dump_load1.cc
-	  (1.10), BD_Shape/ascii_dump_load2.cc (1.10),
-	  BD_Shape/bdsdifference1.cc (1.5), BD_Shape/bdsdifference2.cc
-	  (1.5), BD_Shape/bdsdifference3.cc (1.5),
-	  BD_Shape/bdsdifference4.cc (1.5), BD_Shape/bdsdifference5.cc
-	  (1.5), BD_Shape/bdsdifference6.cc (1.5),
-	  BD_Shape/bdsdifference7.cc (1.5), BD_Shape/bdshull1.cc (1.5),
-	  BD_Shape/bdshull2.cc (1.5), BD_Shape/bdshull3.cc (1.5),
-	  BD_Shape/bdshull4.cc (1.5), BD_Shape/bgp99extrapolation1.cc
-	  (1.4), BD_Shape/bhmz05widening1.cc (1.4),
-	  BD_Shape/bhmz05widening2.cc (1.4), BD_Shape/bhmz05widening3.cc
-	  (1.4), BD_Shape/bhmz05widening4.cc (1.4),
-	  BD_Shape/bhmz05widening5.cc (1.4), BD_Shape/bhmz05widening6.cc
-	  (1.4), BD_Shape/bhmz05widening7.cc (1.4),
-	  BD_Shape/bhmz05widening8.cc (1.4), BD_Shape/bhz03widening1.cc
-	  (1.4), BD_Shape/cc76extrapolation1.cc (1.8),
-	  BD_Shape/cc76extrapolation2.cc (1.9),
-	  BD_Shape/cc76extrapolation3.cc (1.8),
-	  BD_Shape/cc76extrapolation4.cc (1.11),
-	  BD_Shape/cc76extrapolation5.cc (1.8),
-	  BD_Shape/cc76extrapolation6.cc (1.9), BD_Shape/cc76narrowing1.cc
-	  (1.9), BD_Shape/cc76narrowing2.cc (1.9),
-	  BD_Shape/cc76narrowing3.cc (1.9), BD_Shape/cc76narrowing4.cc
-	  (1.10), BD_Shape/cc76narrowing5.cc (1.10), BD_Shape/closure1.cc
-	  (1.12), BD_Shape/concatenate1.cc (1.9), BD_Shape/concatenate2.cc
-	  (1.9), BD_Shape/concatenate3.cc (1.8), BD_Shape/concatenate4.cc
-	  (1.8), BD_Shape/concatenate5.cc (1.9), BD_Shape/constraints1.cc
-	  (1.12), BD_Shape/constraints2.cc (1.9), BD_Shape/contains1.cc
-	  (1.7), BD_Shape/contains2.cc (1.9), BD_Shape/contains3.cc (1.9),
-	  BD_Shape/empty1.cc (1.7), BD_Shape/empty2.cc (1.7),
-	  BD_Shape/empty3.cc (1.8), BD_Shape/empty4.cc (1.7),
-	  BD_Shape/empty5.cc (1.7), BD_Shape/equality1.cc (1.12),
-	  BD_Shape/exceptions1.cc (1.11), BD_Shape/exceptions2.cc (1.10),
-	  BD_Shape/exceptions3.cc (1.11), BD_Shape/fromgensys1.cc (1.9),
-	  BD_Shape/generalizedaffineimage1.cc (1.10),
-	  BD_Shape/generalizedaffineimage10.cc (1.9),
-	  BD_Shape/generalizedaffineimage11.cc (1.8),
-	  BD_Shape/generalizedaffineimage12.cc (1.8),
-	  BD_Shape/generalizedaffineimage13.cc (1.9),
-	  BD_Shape/generalizedaffineimage14.cc (1.13),
-	  BD_Shape/generalizedaffineimage2.cc (1.9),
-	  BD_Shape/generalizedaffineimage3.cc (1.10),
-	  BD_Shape/generalizedaffineimage4.cc (1.9),
-	  BD_Shape/generalizedaffineimage5.cc (1.9),
-	  BD_Shape/generalizedaffineimage6.cc (1.9),
-	  BD_Shape/generalizedaffineimage7.cc (1.9),
-	  BD_Shape/generalizedaffineimage8.cc (1.9),
-	  BD_Shape/generalizedaffineimage9.cc (1.8),
-	  BD_Shape/generalizedaffinepreimage1.cc (1.10),
-	  BD_Shape/generalizedaffinepreimage2.cc (1.7),
-	  BD_Shape/geomcovers1.cc (1.4), BD_Shape/h79widening1.cc (1.8),
-	  BD_Shape/intersection1.cc (1.8), BD_Shape/intersection2.cc (1.8),
-	  BD_Shape/intersection3.cc (1.9), BD_Shape/intersection4.cc
-	  (1.10), BD_Shape/intersection5.cc (1.10),
-	  BD_Shape/intersection6.cc (1.9), BD_Shape/intersection7.cc (1.9),
-	  BD_Shape/intersection8.cc (1.9),
-	  BD_Shape/limitedbhmz05extrapolation1.cc (1.4),
-	  BD_Shape/limitedbhmz05extrapolation2.cc (1.4),
-	  BD_Shape/limitedbhmz05extrapolation3.cc (1.4),
-	  BD_Shape/limitedbhmz05extrapolation4.cc (1.4),
-	  BD_Shape/limitedbhmz05extrapolation5.cc (1.4),
-	  BD_Shape/limitedbhmz05extrapolation6.cc (1.4),
-	  BD_Shape/limitedbhmz05extrapolation7.cc (1.4),
-	  BD_Shape/limitedbhmz05extrapolation8.cc (1.4),
-	  BD_Shape/limitedbhmz05extrapolation9.cc (1.4),
-	  BD_Shape/limitedcc76extrapolation1.cc (1.4),
-	  BD_Shape/limitedcc76extrapolation2.cc (1.5),
-	  BD_Shape/limitedcc76extrapolation3.cc (1.5),
-	  BD_Shape/limitedh79extrapolation1.cc (1.8),
-	  BD_Shape/mapspacedims1.cc (1.9), BD_Shape/mapspacedims2.cc
-	  (1.12), BD_Shape/mapspacedims3.cc (1.10),
-	  BD_Shape/mapspacedims4.cc (1.10), BD_Shape/maxspacedim.cc (1.10),
-	  BD_Shape/minconstraints1.cc (1.4), BD_Shape/relations1.cc (1.12),
-	  BD_Shape/relations2.cc (1.12), BD_Shape/relations3.cc (1.11),
-	  BD_Shape/relations4.cc (1.10), BD_Shape/relations5.cc (1.12),
-	  BD_Shape/removespacedims1.cc (1.9), BD_Shape/removespacedims2.cc
-	  (1.11), BD_Shape/removespacedims3.cc (1.11),
-	  BD_Shape/timeelapse1.cc (1.8), BD_Shape/timeelapse2.cc (1.8),
-	  BD_Shape/timeelapse3.cc (1.8), BD_Shape/timeelapse4.cc (1.8),
-	  BD_Shape/timeelapse5.cc (1.9), BD_Shape/universe1.cc (1.9),
-	  BD_Shape/writebdshape1.cc (1.5), BD_Shape/writebdshape2.cc (1.6):
-	  Started renovation of the testsuite: number of test programs
-	  drastically reduced; all programs have now the very same
-	  structure; non-exceptions failure of one test does prevent the
-	  other tests to be run.  Several tests have also been fixed.
-
-2006-02-15 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partial_Function.cc (simplex.1): file Partial_Function.cc
-	  was added on branch simplex on 2006-05-08 17:15:53 +0000
-
-2006-02-15 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partial_Function.defs.hh (altnum.1): file
-	  Partial_Function.defs.hh was added on branch altnum on 2006-10-29
-	  19:27:21 +0000
-
-2006-02-15 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partial_Function.defs.hh (simplex.1): file
-	  Partial_Function.defs.hh was added on branch simplex on
-	  2006-05-08 17:15:53 +0000
-
-2006-02-15 Wednesday 09:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.49): dualhypercubes also fails
-	  (due to overflow) for checked 64 bits integers, due to the
-	  steepest-edge implementation in the primal simplex.
-
-2006-02-15 Wednesday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.41): Spcialization of
-	  poly_difference_assign() and check_containment() are now placed
-	  in the same namespace as their declarations.
-
-2006-02-14 Tuesday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage1.cc (1.9): Adapted the
-	  expected result of test12() to the precision obtained on the
-	  SPARC.
-
-2006-02-14 Tuesday 15:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: ppl_test.hh (1.37), Grid/Makefile.am (1.11): Tests in
-	  Makefile.am are ordered alphabetically.  Added "const" to the
-	  parameters in copy_compare() in ppl_test.hh.
-
-2006-02-14 Tuesday 15:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Congruence_System.cc (1.3), Grid_Generator_System.cc (1.3),
-	  Grid_Generator_System.defs.hh (1.9): Added assert(OK()) to four
-	  methods in Congruence_System.cc Corrected a cut-and-paste error
-	  in Grid_Generator_System.cc Improved a comment in
-	  Grid_Generator_System.defs.hh.
-
-2006-02-14 Tuesday 13:40  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (1.60): More correct implementation
-	  for exact_div.
-
-2006-02-14 Tuesday 13:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.71), GMP_Integer.defs.hh (1.21),
-	  GMP_Integer.inlines.hh (1.15): Specify that the behavior of
-	  exact_div_assign(x, y, z) is undefined if `z' does not divide
-	  `y'.	This condition is asserted in the GMP_Integer
-	  implementation.
-
-2006-02-14 Tuesday 09:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage2.cc (1.6): Corrected.
-
-2006-02-13 Monday 21:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffineimage6.cc (1.8): Corrected a
-	  known result.
-
-2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.251), PFunction.cc (1.9), PFunction.hh
-	  (1.9), Partial_Function.cc (1.1), Partial_Function.defs.hh (1.1),
-	  Partial_Function.inlines.hh (1.1), Partial_Function.types.hh
-	  (1.1), ppl_test.hh (1.36), print.cc (1.20), print.hh (1.26),
-	  BD_Shape/mapspacedims1.cc (1.8), BD_Shape/mapspacedims2.cc
-	  (1.11), BD_Shape/mapspacedims3.cc (1.9),
-	  BD_Shape/mapspacedims4.cc (1.9), Grid/mapspacedims1.cc (1.6),
-	  Polyhedron/mapspacedims1.cc (1.9), Polyhedron/mapspacedims2.cc
-	  (1.7), Polyhedron/mapspacedims3.cc (1.7),
-	  Polyhedron/mapspacedims4.cc (1.7): Class PFunction renamed
-	  Partial_Function and implemented consistently.  Avoided code
-	  duplication for print_function().
-
-2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partial_Function.inlines.hh (altnum.1): file
-	  Partial_Function.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:21 +0000
-
-2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partial_Function.inlines.hh (simplex.1): file
-	  Partial_Function.inlines.hh was added on branch simplex on
-	  2006-05-08 17:15:53 +0000
-
-2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partial_Function.types.hh (altnum.1): file
-	  Partial_Function.types.hh was added on branch altnum on
-	  2006-10-29 19:27:21 +0000
-
-2006-02-13 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Partial_Function.types.hh (simplex.1): file
-	  Partial_Function.types.hh was added on branch simplex on
-	  2006-05-08 17:15:53 +0000
-
-2006-02-13 Monday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-sparc.inlines.hh (1.5): Definitions of FPU_UPWARD and
-	  FPU_DOWNWARD fixed.
-
-2006-02-13 Monday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-sparc.inlines.hh (altnum.1): file fpu-sparc.inlines.hh
-	  was added on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-02-13 Monday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-sparc.inlines.hh (simplex.1): file fpu-sparc.inlines.hh
-	  was added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-02-13 Monday 19:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: addconstraints1.cc (1.7), addspacedims1.cc
-	  (1.8), addspacedims2.cc (1.8), addspacedims5.cc (1.11),
-	  addspacedims6.cc (1.11), affineimage1.cc (1.8), affineimage10.cc
-	  (1.7), affineimage2.cc (1.8), affineimage3.cc (1.8),
-	  affineimage4.cc (1.8), affineimage5.cc (1.8), affineimage6.cc
-	  (1.8), affineimage7.cc (1.8), affinepreimage1.cc (1.8),
-	  affinepreimage2.cc (1.8), affinepreimage3.cc (1.8),
-	  affinepreimage4.cc (1.8), bdsdifference1.cc (1.4),
-	  bdsdifference2.cc (1.4), bdsdifference3.cc (1.4),
-	  bdsdifference4.cc (1.4), bdsdifference5.cc (1.4),
-	  bdsdifference6.cc (1.4), bdsdifference7.cc (1.4), bdshull1.cc
-	  (1.4), bdshull2.cc (1.4), bdshull3.cc (1.4), bdshull4.cc (1.4),
-	  bhmz05widening1.cc (1.3), bhmz05widening2.cc (1.3),
-	  bhmz05widening3.cc (1.3), bhmz05widening4.cc (1.3),
-	  bhmz05widening5.cc (1.3), bhmz05widening6.cc (1.3),
-	  bhmz05widening7.cc (1.3), bhmz05widening8.cc (1.3),
-	  cc76extrapolation1.cc (1.7), cc76extrapolation2.cc (1.8),
-	  cc76extrapolation3.cc (1.7), cc76extrapolation4.cc (1.10),
-	  cc76extrapolation5.cc (1.7), cc76narrowing1.cc (1.8),
-	  cc76narrowing2.cc (1.8), cc76narrowing3.cc (1.8),
-	  cc76narrowing4.cc (1.9), cc76narrowing5.cc (1.9), concatenate1.cc
-	  (1.8), concatenate2.cc (1.8), concatenate3.cc (1.7),
-	  concatenate4.cc (1.7), concatenate5.cc (1.8), constraints1.cc
-	  (1.11), constraints2.cc (1.8), equality1.cc (1.11),
-	  fromgensys1.cc (1.8), generalizedaffineimage1.cc (1.9),
-	  generalizedaffineimage10.cc (1.8), generalizedaffineimage11.cc
-	  (1.7), generalizedaffineimage12.cc (1.7),
-	  generalizedaffineimage14.cc (1.12), generalizedaffineimage2.cc
-	  (1.8), generalizedaffineimage3.cc (1.9),
-	  generalizedaffineimage4.cc (1.8), generalizedaffineimage5.cc
-	  (1.8), generalizedaffineimage6.cc (1.7),
-	  generalizedaffineimage7.cc (1.8), generalizedaffineimage8.cc
-	  (1.8), generalizedaffineimage9.cc (1.7),
-	  generalizedaffinepreimage2.cc (1.5), h79widening1.cc (1.7),
-	  intersection1.cc (1.7), intersection2.cc (1.7), intersection3.cc
-	  (1.8), intersection4.cc (1.9), intersection5.cc (1.9),
-	  intersection6.cc (1.8), intersection7.cc (1.8), intersection8.cc
-	  (1.8), limitedbhmz05extrapolation1.cc (1.3),
-	  limitedbhmz05extrapolation2.cc (1.3),
-	  limitedbhmz05extrapolation3.cc (1.3),
-	  limitedbhmz05extrapolation4.cc (1.3),
-	  limitedbhmz05extrapolation5.cc (1.3),
-	  limitedbhmz05extrapolation6.cc (1.3),
-	  limitedbhmz05extrapolation7.cc (1.3),
-	  limitedbhmz05extrapolation8.cc (1.3),
-	  limitedbhmz05extrapolation9.cc (1.3),
-	  limitedcc76extrapolation1.cc (1.3), limitedcc76extrapolation2.cc
-	  (1.4), limitedcc76extrapolation3.cc (1.4),
-	  limitedh79extrapolation1.cc (1.7), mapspacedims1.cc (1.7),
-	  mapspacedims2.cc (1.10), mapspacedims3.cc (1.8), mapspacedims4.cc
-	  (1.8), removespacedims1.cc (1.8), removespacedims2.cc (1.10),
-	  removespacedims3.cc (1.10), timeelapse2.cc (1.7), timeelapse3.cc
-	  (1.7), timeelapse4.cc (1.7), timeelapse5.cc (1.8): Use
-	  BD_Shape<mpq_class> to encode the known results.  Use
-	  check_result() to compare the known result with computed ones
-	  when there might be approximations due to rounding.
-
-2006-02-13 Monday 19:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.66), BD_Shape.templates.hh (1.2): When
-	  building a BD_Shape from a generator system, we should throw an
-	  exception if the system is non-empty but has no points.
-
-2006-02-13 Monday 14:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.220): Version number bumped.
-
-2006-02-13 Monday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.65): Instruct spld to
-	  pass the right options to the linker.
-
-2006-02-13 Monday 14:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.53): Instruct gplc to pass
-	  the right options to the linker.
-
-2006-02-13 Monday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.60): Instruct plld to pass
-	  the right options to the linker (that is, to the C++ compiler).
-
-2006-02-13 Monday 14:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: affineimage8.cc (1.14), affineimage9.cc (1.12),
-	  affinepreimage5.cc (1.9), generalizedaffineimage13.cc (1.8),
-	  generalizedaffinepreimage1.cc (1.8): Corrected and standardized
-	  as suggested by Roberto the way we compare the computed and known
-	  results.
-
-2006-02-13 Monday 13:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.183), src/Grid.defs.hh (1.10), src/Grid_public.cc (1.9),
-	  tests/Grid/Makefile.am (1.10), tests/Grid/discrete1.cc (1.1),
-	  tests/Grid/pointed1.cc (1.6): Removed a todo item regarding
-	  missing operators for grids.	Renamed method is_pointed() by
-	  is_discrete().  Changed name of test for this method to match
-	  change of name.
-
-2006-02-13 Monday 11:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/LP_Problem3.cc (1.7): Removed.
-
-2006-02-13 Monday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.32): Explain the new mechanism to obtain noisy
-	  and/or very noisy behavior from test programs.
-
-2006-02-13 Monday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.templates.hh (simplex.1): file
-	  Polyhedron.templates.hh was added on branch simplex on 2006-05-08
-	  17:15:49 +0000
-
-2006-02-13 Monday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref.doxyconf-html.in (1.69), doc/devref.doxyconf-latex.in
-	  (1.10), src/Makefile.am (1.148), src/Polyhedron.defs.hh (1.294),
-	  src/Polyhedron.inlines.hh (1.131), src/Polyhedron.templates.hh
-	  (1.1): New file Polyhedron.templates.hh contains non-inline
-	  template functions of the implementation of class Polyhedron.
-
-2006-02-13 Monday 10:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: addconstraint3.cc (1.7), addgenerator3.cc
-	  (1.7), addspacedims13.cc (1.7), affineimage5.cc (1.8), append1.cc
-	  (1.7), generators1.cc (1.7), generators2.cc (1.7), powerset1.cc
-	  (1.11), writerelation1.cc (1.8): Removed useless invocations to
-	  the OK() methods.
-
-2006-02-13 Monday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.182): Added one item for PPL 0.9.
-
-2006-02-13 Monday 10:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.181): Added an (urgent) item concerning the use of OK()
-	  methods.
-
-2006-02-13 Monday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.180): Pushed several items to PPL 0.10.
-
-2006-02-13 Monday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-pwl.copyright.in (1.3), debian/libppl.copyright.in
-	  (1.3), src/Grid_Generator.cc (1.3), tests/Grid/Makefile.am (1.9),
-	  tests/Grid/addcongruence1.cc (1.4), tests/Grid/addcongruences1.cc
-	  (1.7), tests/Grid/addconstraint1.cc (1.5),
-	  tests/Grid/addconstraints1.cc (1.5), tests/Grid/addgenerator1.cc
-	  (1.7), tests/Grid/addgenerators1.cc (1.3),
-	  tests/Grid/addspacedims1.cc (1.6), tests/Grid/addspacedims2.cc
-	  (1.6), tests/Grid/affinedim1.cc (1.4), tests/Grid/affineimage1.cc
-	  (1.7), tests/Grid/affineimage1_16.cc (1.3),
-	  tests/Grid/affinepreimage1.cc (1.5), tests/Grid/asciidumpload1.cc
-	  (1.3), tests/Grid/bhz03widening1.cc (1.4), tests/Grid/bounded1.cc
-	  (1.5), tests/Grid/boundingbox1.cc (1.4),
-	  tests/Grid/boundingbox2.cc (1.4), tests/Grid/bounds1.cc (1.5),
-	  tests/Grid/certificate1.cc (1.6), tests/Grid/concatenate1.cc
-	  (1.6), tests/Grid/congruence1.cc (1.6),
-	  tests/Grid/congruences1.cc (1.4), tests/Grid/congruencesystem1.cc
-	  (1.4), tests/Grid/congruencesystem2.cc (1.4),
-	  tests/Grid/contains1.cc (1.5), tests/Grid/contains2.cc (1.4),
-	  tests/Grid/copyconstruct1.cc (1.4), tests/Grid/coveringbox1.cc
-	  (1.4), tests/Grid/coveringbox2.cc (1.4), tests/Grid/disjoint1.cc
-	  (1.5), tests/Grid/equals1.cc (1.5), tests/Grid/expandspacedim1.cc
-	  (1.5), tests/Grid/foldspacedims1.cc (1.5),
-	  tests/Grid/generalizedaffineimage1.cc (1.5),
-	  tests/Grid/generalizedaffineimage2.cc (1.5),
-	  tests/Grid/generalizedaffinepreimage1.cc (1.6),
-	  tests/Grid/generalizedaffinepreimage2.cc (1.6),
-	  tests/Grid/generator1.cc (1.4), tests/Grid/generators1.cc (1.6),
-	  tests/Grid/grid1.cc (1.9), tests/Grid/grid1_16.cc (1.6),
-	  tests/Grid/grid1_64.cc (1.4), tests/Grid/grid1_gmp.cc (1.4),
-	  tests/Grid/grid2.cc (1.7), tests/Grid/grid2_16.cc (1.4),
-	  tests/Grid/grid3.cc (1.6), tests/Grid/griddifference1.cc (1.6),
-	  tests/Grid/intersection1.cc (1.5), tests/Grid/intersection2.cc
-	  (1.4), tests/Grid/isempty1.cc (1.3), tests/Grid/isuniverse1.cc
-	  (1.6), tests/Grid/join1.cc (1.8), tests/Grid/join1_16.cc (1.3),
-	  tests/Grid/join2.cc (1.4), tests/Grid/join3.cc (1.6),
-	  tests/Grid/limitedextrapolation1.cc (1.5),
-	  tests/Grid/mapspacedims1.cc (1.5), tests/Grid/maxmin1.cc (1.4),
-	  tests/Grid/membytes1.cc (1.3), tests/Grid/membytes2.cc (1.3),
-	  tests/Grid/mincongruences1.cc (1.5), tests/Grid/mingenerators1.cc
-	  (1.5), tests/Grid/outputoperator1.cc (1.3),
-	  tests/Grid/pointed1.cc (1.5), tests/Grid/relations1.cc (1.7),
-	  tests/Grid/relations2.cc (1.6), tests/Grid/removespacedims1.cc
-	  (1.5), tests/Grid/removespacedims2.cc (1.5),
-	  tests/Grid/timeelapse1.cc (1.5), tests/Grid/timeelapse2.cc (1.4),
-	  tests/Grid/topclosed1.cc (1.5), tests/Grid/topclosure1.cc (1.4),
-	  tests/Grid/widening1.cc (1.6),
-	  tests/Grid/writecongruencesystem.cc (1.3),
-	  tests/Polyhedron/addcongruence1.cc (1.4),
-	  tests/Polyhedron/addcongruence2.cc (1.4),
-	  tests/Polyhedron/addcongruence3.cc (1.4),
-	  tests/Polyhedron/addcongruence4.cc (1.4),
-	  tests/Polyhedron/addcongruence5.cc (1.4),
-	  tests/Polyhedron/addcongruences1.cc (1.5),
-	  tests/Polyhedron/addcongruences2.cc (1.4),
-	  tests/Polyhedron/addcongruences3.cc (1.4),
-	  tests/Polyhedron/addcongruences4.cc (1.4),
-	  tests/Polyhedron/addcongruences5.cc (1.4),
-	  tests/Polyhedron/congruences1.cc (1.4): Copyright years made
-	  consistent across the entire library.
-
-2006-02-13 Monday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-pwl.copyright.in (altnum.1): file
-	  libppl-pwl.copyright.in was added on branch altnum on 2006-10-29
-	  19:26:52 +0000
-
-2006-02-13 Monday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl.copyright.in (altnum.1): file libppl.copyright.in
-	  was added on branch altnum on 2006-10-29 19:26:52 +0000
-
-2006-02-13 Monday 08:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/ppl_test.hh (1.35): "const" added in copy_compare().
-
-2006-02-13 Monday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/randphull1.cc (1.9): Added missing semicolons.
-
-2006-02-13 Monday 07:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/ppl.sty (1.25): Added new command \Sset.
-
-2006-02-13 Monday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/addcongruences1.cc (1.4): Old bug fixed.
-
-2006-02-12 Sunday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/mapspacedims1.cc (1.4): No longer use the NOISY macro.
-
-2006-02-12 Sunday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: LP_Problem3.cc (1.6), lpproblem1.cc (1.5),
-	  lpproblem2.cc (1.4): Comments improved.  Copyright notice fixed.
-
-2006-02-12 Sunday 22:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: LP_Problem3.cc (1.5), addcongruence1.cc (1.3),
-	  addcongruence2.cc (1.3), addcongruence3.cc (1.3),
-	  addcongruence4.cc (1.3), addcongruence5.cc (1.3),
-	  addcongruences1.cc (1.3), addcongruences2.cc (1.3),
-	  addcongruences3.cc (1.3), addcongruences4.cc (1.3),
-	  addcongruences5.cc (1.3), bug2.cc (1.6), congruences1.cc (1.3),
-	  dualhypercubes.cc (1.7), numberinput1.cc (1.25), randphull1.cc
-	  (1.8): No longer use the NOISY or VERY_NOISY macro in test
-	  programs.
-
-2006-02-12 Sunday 22:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.25): check_noisy() is now (temporarily)
-	  declared static.
-
-2006-02-12 Sunday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.24): Noisy and very noisy test output properly
-	  implemented: now the `nout' and `vnout' ostream are controlled by
-	  the `PPL_NOISY_TESTS' and `PPL_VERY_NOISY_TESTS' environment
-	  variables.
-
-2006-02-12 Sunday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/addspacedims5.cc (1.10),
-	  BD_Shape/addspacedims6.cc (1.10), BD_Shape/affinedimension1.cc
-	  (1.4), BD_Shape/affineimage10.cc (1.6), BD_Shape/affineimage9.cc
-	  (1.11), BD_Shape/affinepreimage5.cc (1.8),
-	  BD_Shape/ascii_dump_load2.cc (1.9),
-	  BD_Shape/cc76extrapolation4.cc (1.9), BD_Shape/constraints1.cc
-	  (1.10), BD_Shape/equality1.cc (1.10), BD_Shape/fromgensys1.cc
-	  (1.7), BD_Shape/generalizedaffineimage13.cc (1.7),
-	  BD_Shape/generalizedaffineimage14.cc (1.11),
-	  BD_Shape/generalizedaffinepreimage1.cc (1.7),
-	  BD_Shape/generalizedaffinepreimage2.cc (1.4),
-	  BD_Shape/limitedcc76extrapolation2.cc (1.3),
-	  BD_Shape/limitedcc76extrapolation3.cc (1.3),
-	  BD_Shape/mapspacedims2.cc (1.9), BD_Shape/relations1.cc (1.11),
-	  BD_Shape/relations2.cc (1.11), BD_Shape/relations3.cc (1.10),
-	  BD_Shape/relations4.cc (1.9), BD_Shape/relations5.cc (1.11),
-	  BD_Shape/removespacedims2.cc (1.9), BD_Shape/removespacedims3.cc
-	  (1.9), Grid/addcongruence1.cc (1.3), Grid/addcongruences1.cc
-	  (1.6), Grid/addconstraint1.cc (1.4), Grid/addconstraints1.cc
-	  (1.4), Grid/addgenerator1.cc (1.6), Grid/addgenerators1.cc (1.2),
-	  Grid/addspacedims1.cc (1.5), Grid/addspacedims2.cc (1.5),
-	  Grid/affinedim1.cc (1.3), Grid/affineimage1.cc (1.6),
-	  Grid/affineimage1_16.cc (1.2), Grid/affinepreimage1.cc (1.4),
-	  Grid/asciidumpload1.cc (1.2), Grid/bhz03widening1.cc (1.3),
-	  Grid/bounded1.cc (1.4), Grid/boundingbox1.cc (1.3),
-	  Grid/boundingbox2.cc (1.3), Grid/bounds1.cc (1.4),
-	  Grid/certificate1.cc (1.5), Grid/concatenate1.cc (1.5),
-	  Grid/congruence1.cc (1.5), Grid/congruences1.cc (1.3),
-	  Grid/congruencesystem1.cc (1.3), Grid/congruencesystem2.cc (1.3),
-	  Grid/contains1.cc (1.4), Grid/contains2.cc (1.3),
-	  Grid/copyconstruct1.cc (1.3), Grid/coveringbox1.cc (1.3),
-	  Grid/coveringbox2.cc (1.3), Grid/disjoint1.cc (1.4),
-	  Grid/equals1.cc (1.4), Grid/expandspacedim1.cc (1.4),
-	  Grid/foldspacedims1.cc (1.4), Grid/generalizedaffineimage1.cc
-	  (1.4), Grid/generalizedaffineimage2.cc (1.4),
-	  Grid/generalizedaffinepreimage1.cc (1.5),
-	  Grid/generalizedaffinepreimage2.cc (1.5), Grid/generator1.cc
-	  (1.3), Grid/generators1.cc (1.5), Grid/grid1.cc (1.8),
-	  Grid/grid1_16.cc (1.5), Grid/grid1_64.cc (1.3), Grid/grid1_gmp.cc
-	  (1.3), Grid/grid2.cc (1.6), Grid/grid2_16.cc (1.3), Grid/grid3.cc
-	  (1.5), Grid/griddifference1.cc (1.5), Grid/intersection1.cc
-	  (1.4), Grid/intersection2.cc (1.3), Grid/isempty1.cc (1.2),
-	  Grid/isuniverse1.cc (1.5), Grid/join1.cc (1.7), Grid/join1_16.cc
-	  (1.2), Grid/join2.cc (1.3), Grid/join3.cc (1.5),
-	  Grid/limitedextrapolation1.cc (1.4), Grid/mapspacedims1.cc (1.3),
-	  Grid/maxmin1.cc (1.3), Grid/mincongruences1.cc (1.4),
-	  Grid/mingenerators1.cc (1.4), Grid/outputoperator1.cc (1.2),
-	  Grid/pointed1.cc (1.4), Grid/relations1.cc (1.6),
-	  Grid/relations2.cc (1.5), Grid/removespacedims1.cc (1.4),
-	  Grid/removespacedims2.cc (1.4), Grid/timeelapse1.cc (1.4),
-	  Grid/timeelapse2.cc (1.3), Grid/topclosed1.cc (1.4),
-	  Grid/topclosure1.cc (1.3), Grid/widening1.cc (1.5),
-	  Polyhedron/NNCbecomesC1.cc (1.7), Polyhedron/addconstraints13.cc
-	  (1.8), Polyhedron/addgenerators12.cc (1.8),
-	  Polyhedron/affineimage8.cc (1.7), Polyhedron/affinepreimage10.cc
-	  (1.7), Polyhedron/affinepreimage12.cc (1.2),
-	  Polyhedron/affinepreimage9.cc (1.7),
-	  Polyhedron/ascii_dump_load3.cc (1.7),
-	  Polyhedron/ascii_dump_load4.cc (1.7),
-	  Polyhedron/ascii_dump_load5.cc (1.7),
-	  Polyhedron/ascii_dump_load6.cc (1.8),
-	  Polyhedron/bhrz03widening12.cc (1.7),
-	  Polyhedron/bhz03widening6.cc (1.9), Polyhedron/boundingbox1.cc
-	  (1.9), Polyhedron/boundingbox2.cc (1.8),
-	  Polyhedron/boundingbox3.cc (1.8), Polyhedron/boundingbox4.cc
-	  (1.8), Polyhedron/concatenate6.cc (1.8),
-	  Polyhedron/constraints4.cc (1.8), Polyhedron/contains5.cc (1.7),
-	  Polyhedron/disjoint2.cc (1.8), Polyhedron/disjoint3.cc (1.8),
-	  Polyhedron/expandspacedim1.cc (1.8),
-	  Polyhedron/expandspacedim2.cc (1.8), Polyhedron/foldspacedims1.cc
-	  (1.8), Polyhedron/foldspacedims2.cc (1.8),
-	  Polyhedron/generalizedaffineimage10.cc (1.7),
-	  Polyhedron/generalizedaffineimage11.cc (1.8),
-	  Polyhedron/generalizedaffineimage9.cc (1.7),
-	  Polyhedron/generators6.cc (1.8), Polyhedron/intersection10.cc
-	  (1.8), Polyhedron/intersection11.cc (1.8),
-	  Polyhedron/limitedh79extrapolation4.cc (1.8),
-	  Polyhedron/mapspacedims1.cc (1.8), Polyhedron/polydifference7.cc
-	  (1.8), Polyhedron/polyhull8.cc (1.8), Polyhedron/polyhull9.cc
-	  (1.8), Polyhedron/polypowerset1.cc (1.18),
-	  Polyhedron/relations17.cc (1.8), Polyhedron/relations19.cc (1.8),
-	  Polyhedron/relations9.cc (1.7), Polyhedron/topclosure4.cc (1.8),
-	  Polyhedron/writerelation1.cc (1.7): Use the DO_TEST macro in
-	  multiple tests.
-
-2006-02-12 Sunday 18:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/generators1.cc (1.4): Added three tests; for a
-	  generator system with parameters, one where the parameter is
-	  integral, and two which have divisors.
-
-2006-02-12 Sunday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.219): Check whether getenv() is declared.
-
-2006-02-12 Sunday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/affineimage8.cc (1.13): Changed so as to do
-	  sensible tests.
-
-2006-02-12 Sunday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.34): Added a macro DO_TEST to be used when
-	  implementing more than one test in a test program.  Added all the
-	  infrastructure required to write decent tests for BD_Shape.
-
-2006-02-12 Sunday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpq.inlines.hh (1.31): It is now possible to (very
-	  inefficiently) build and assign an mpq_class checked number from
-	  a long double.
-
-2006-02-12 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.62): The output_float() function
-	  now takes its `from' parameter as `const Type', not `Type&'.
-
-2006-02-12 Sunday 14:22  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.70), Checked_Number.inlines.hh
-	  (1.59): Added constructor with rounding direction.
-
-2006-02-12 Sunday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: generalizedaffinepreimage1.cc (1.4),
-	  generalizedaffinepreimage2.cc (1.4), grid1_16.cc (1.4): Removed
-	  'FIX check' comments (and similar) as tests now checked.
-	  Renumbered tests in generalizedaffinepreimage2.cc so that they
-	  start from 1.  Added test 6 in generalizedaffinepreimage2.cc.
-
-2006-02-12 Sunday 11:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Grid_nonpublic.cc (1.6): Correct bug in use of NDEBUG.
-
-2006-02-12 Sunday 10:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.194): Improved the section on grids.
-
-2006-02-12 Sunday 09:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/.cvsignore (1.6): File ppl_sicstus.pl
-	  was erroneously ignored.
-
-2006-02-11 Saturday 20:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GMP_Integer.defs.hh (1.20): Added a missing \relates Doxygen
-	  command for gdcext_assign().
-
-2006-02-11 Saturday 20:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Congruence.defs.hh (1.3), Congruence_System.defs.hh (1.6),
-	  Grid.defs.hh (1.9), Grid_Certificate.defs.hh (1.3),
-	  Grid_Generator.defs.hh (1.8), Grid_Generator_System.defs.hh
-	  (1.8), globals.defs.hh (1.36): Inserting the Grid classes in the
-	  C++ interface documentation group.
-
-2006-02-11 Saturday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Certificate.defs.hh (altnum.1): file
-	  Grid_Certificate.defs.hh was added on branch altnum on 2006-10-29
-	  19:27:13 +0000
-
-2006-02-11 Saturday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Certificate.defs.hh (simplex.1): file
-	  Grid_Certificate.defs.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-02-11 Saturday 15:51  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[31,23]):
-	  Removed redundant code where possible.  Properly renamed some
-	  variables and methods.  Try to avoid memory reallocations and to
-	  keep the internal data structures always consistent.
-
-2006-02-11 Saturday 13:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.147), tests/BD_Shape/Makefile.am (1.35),
-	  tests/Grid/Makefile.am (1.8), tests/Polyhedron/Makefile.am
-	  (1.48): Use precompiled headers, if requested to do so.
-
-2006-02-11 Saturday 13:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.193), src/Grid.defs.hh (1.8): Corrected
-	  doxygen references.
-
-2006-02-11 Saturday 12:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.218): Added an initial version of the new
-	  --enable-pch configure option: this will allow to enable
-	  precompiled headers when they are made available by the C/C++
-	  compilers.
-
-2006-02-11 Saturday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/.cvsignore (1.2), Watchdog/src/Makefile.am (1.6),
-	  interfaces/Prolog/ppl_prolog.icc (1.176),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.46),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.39),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.91),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.121),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.86),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.114),
-	  tests/Polyhedron/watchdog1.cc (1.8): 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>
-
-	* Watchdog/src/.cvsignore (altnum.1): file .cvsignore was added on
-	  branch altnum on 2006-10-29 19:26:51 +0000
-
-2006-02-11 Saturday 11:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.40): Added a couple of
-	  missing namespace qualifications in \relates Doxygen commands.
-
-2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/utils/.cvsignore (1.2), debian/.cvsignore (1.2),
-	  doc/.cvsignore (1.3), src/.cvsignore (1.10), utils/.cvsignore
-	  (1.2): Ignore more built files and directories.
-
-2006-02-11 Saturday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/utils/.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>
-
-	* debian/.cvsignore (altnum.1): file .cvsignore was added on branch
-	  altnum on 2006-10-29 19:26:52 +0000
-
-2006-02-11 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (altnum.1): file ppl-config.cc.in was added
-	  on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-02-11 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.55), interfaces/C/ppl_c.cc (1.152),
-	  interfaces/Prolog/ppl_prolog.icc (1.175),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.45),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.38),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.90),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.120),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.85),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.113), src/.cvsignore (1.9),
-	  src/Makefile.am (1.146), src/ppl-config.cc.in (1.18),
-	  tests/ppl_test.hh (1.33): We now directly create `ppl.hh':
-	  `ppl_install.hh' does not exist any longer.
-
-2006-02-11 Saturday 10:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.14): The `$(COMMANDS)' construct is
-	  not portable: use ``COMMANDS`' instead.
-
-2006-02-10 Friday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-sparc.inlines.hh (1.4): Added missing type casts.
-
-2006-02-10 Friday 20:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: fpu-sparc.inlines.hh (1.3), fpu.types.hh (1.2): Now both
-	  fpu_rounding_direction_type and fpu_rounding_control_word_type
-	  are unconditionally defined to be the int type.
-
-2006-02-10 Friday 20:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu.types.hh (altnum.1): file fpu.types.hh was added on
-	  branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-02-10 Friday 20:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu.types.hh (simplex.1): file fpu.types.hh was added on
-	  branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-02-10 Friday 20:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.61): Avoid long lines.
-
-2006-02-10 Friday 19:58  Abramo Bagnara
-
-	* src/fpu-ia32.inlines.hh (1.11): God rid of HIJACK_FPU (now it's
-	  the normal behaviour).
-
-2006-02-10 Friday 15:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Init.cc (1.25): Initialize the library with
-	  fpu_set_rounding_direction(ROUND_DIRECT) instead of
-	  fpu_set_rounding_direction(FPU_UPWARD).
-
-2006-02-10 Friday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu.defs.hh (1.10): Copy and paste mistake fixed.
-
-2006-02-10 Friday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_fpu_control.m4 (1.2): Use AC_LANG_SOURCE to obtain
-	  the test program source.
-
-2006-02-10 Friday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_fpu_control.m4 (altnum.1): file
-	  ac_check_fpu_control.m4 was added on branch altnum on 2006-10-29
-	  19:27:11 +0000
-
-2006-02-10 Friday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_fpu_control.m4 (simplex.1): file
-	  ac_check_fpu_control.m4 was added on branch simplex on 2006-05-08
-	  17:15:48 +0000
-
-2006-02-10 Friday 13:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-none.inlines.hh (altnum.1): file fpu-none.inlines.hh was
-	  added on branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-02-10 Friday 13:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.217), src/Init.cc (1.24), src/fpu-none.inlines.hh
-	  (1.4), src/fpu.defs.hh (1.9): Check for the possibility to
-	  control the FPU.  If FPU control is not available, do not try to
-	  use it in Init::Init();  any attempt to use it from elsewhere
-	  will result in an std::logic_error exception being thrown.
-
-2006-02-10 Friday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/Makefile.am (1.17): Updated.
-
-2006-02-10 Friday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_fpu_control.m4 (1.1): New function to check for the
-	  possibility to control the FPU.
-
-2006-02-10 Friday 07:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.60): Use the new interfaces
-	  offered by the FPU control/query functions.
-
-2006-02-09 Thursday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.189): Mention the portability improvements.
-
-2006-02-09 Thursday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_int.inlines.hh (1.46): Be functional also if the
-	  "fast" integral types are missing.
-
-2006-02-09 Thursday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.216): Check for the availability of "fast"
-	  integral types.
-
-2006-02-09 Thursday 20:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Init.cc (1.23), Init.defs.hh (1.16): Adapted to the recent
-	  changes concerning FPU control.  Init::Init() was probably broken
-	  on some architectures.
-
-2006-02-09 Thursday 20:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-c99.inlines.hh (1.11): Mac OS X 10.4 has fixed <fenv.h>:
-	  now the FE_* constants are defined by means of macros.
-
-2006-02-09 Thursday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.145), fpu-c99.inlines.hh (1.10),
-	  fpu-ia32.inlines.hh (1.10), fpu-sparc.inlines.hh (1.2),
-	  fpu.defs.hh (1.8), fpu.types.hh (1.1): FPU control functions
-	  documented.  They now use the new system-dependent types
-	  fpu_rounding_direction_type and fpu_rounding_control_word_type.
-
-2006-02-09 Thursday 16:00  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.30): Fixed another bug.  Keep
-	  `last_generator' always updated even if the second phase fails.
-
-2006-02-09 Thursday 13:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c, src/LP_Problem.cc,
-	  src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh
-	  (simplex.[6,29,22,18]): Temporarily replaced method	const
-	  Constraint_System& constraints() const; by   Constraint_System
-	  constraints() const; Removed a fixme.  Simplified the prototype
-	  and the implementation of is_satisfied().
-
-2006-02-09 Thursday 08:46  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.59): Fixed cut and paste typo.
-
-2006-02-08 Wednesday 20:06  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.28): Fixed a bug in `is_satisfied()'.
-
-2006-02-08 Wednesday 12:28  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.69), Checked_Number.inlines.hh
-	  (1.58), Float.cc (1.4), Float.defs.hh (1.19), Float.inlines.hh
-	  (1.23), checked_ext.inlines.hh (1.29), checked_float.inlines.hh
-	  (1.58), checked_numeric_limits.hh (1.13), float.types.hh (1.15):
-	  Better abstraction for float binary format.
-
-2006-02-08 Wednesday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.cc (altnum.1): file Float.cc was added on branch altnum
-	  on 2006-10-29 19:27:12 +0000
-
-2006-02-06 Monday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.144): Distribute also fpu-none.inlines.hh and
-	  fpu-sparc.inlines.hh.
-
-2006-02-06 Monday 21:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.215): Check for the availability of fenv.h and
-	  ieeefp.h.
-
-2006-02-06 Monday 21:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.inlines.hh (1.9): Typo fixed.
-
-2006-02-06 Monday 21:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-c99.inlines.hh (1.9): Do no harm if fenv.h is not
-	  available.
-
-2006-02-06 Monday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu.defs.hh (1.7): Only include fpu-c99.inlines.hh if fenv.h
-	  is available.  Otherwise, if `sparc' evaluates to true, include
-	  fpu-sparc.inlines.hh.  Otherwise include fpu-none.inlines.hh.
-
-2006-02-06 Monday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-sparc.inlines.hh (1.1): SPARC floating point unit related
-	  functions.
-
-2006-02-06 Monday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.47): Added NNCminimize1 to
-	  XFAIL_WITH_INT8_A.
-
-2006-02-06 Monday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.214), src/checked_float.inlines.hh (1.57): Do not
-	  use rintf() if it is not available.
-
-2006-02-06 Monday 07:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/Makefile.am (1.34): Undo change erroneously merged
-	  from the `grids' branch.
-
-2006-02-06 Monday 01:29  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.27): Removed redundant and useless
-	  code.
-
-2006-02-05 Sunday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/float.types.hh (1.14): New macros give the binary format of
-	  each supported C++ floating point type: CXX_FLOAT_BINARY_FORMAT,
-	  CXX_DOUBLE_BINARY_FORMAT and CXX_LONG_DOUBLE_BINARY_FORMAT. These
-	  macros are undefined is the format has not been recognized.
-
-2006-02-05 Sunday 20:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float128_binary_format.m4 (1.5): Make sure the macro
-	  CXX_FLOAT128_BINARY_FORMAT_IS_INTEL_DOUBLE_EXTENDED is always
-	  defined.
-
-2006-02-05 Sunday 18:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.213), instchk.hh (1.4),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.119), src/Float.defs.hh
-	  (1.18), src/Float.inlines.hh (1.22), src/checked_int.inlines.hh
-	  (1.45): Cater for those systems providing inttypes.h instead of
-	  stdint.h.
-
-2006-02-05 Sunday 18:38  Andrea Cimino
-
-	* src/: Generator.defs.hh, LP_Problem.cc, LP_Problem.defs.hh
-	  (simplex.[2,26,21]): LP_Problem, during the incrementality
-	  process, checks if an inequality is already satisfied by
-	  `last_generator': this can save a lot of time.  LP_Problem
-	  declared friend of Generator to allow a right use of
-	  Scalar_Products.
-
-2006-02-05 Sunday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_float32_binary_format.m4 (1.3),
-	  ac_cxx_float64_binary_format.m4 (1.4),
-	  ac_cxx_float96_binary_format.m4 (1.4): Be more concise.
-
-2006-02-05 Sunday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float128_binary_format.m4 (1.4): Constants fixed.
-
-2006-02-05 Sunday 17:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: Makefile.am (1.7), affineimage1.cc (1.5),
-	  affineimage1_16.cc (1.1), grid1.cc (1.7), grid1_16.cc (1.3),
-	  join1.cc (1.6), join1_16.cc (1.1): Three tests added before to
-	  grid1.cc join1.cc affineimage1.cc now removed and placed in
-	  grid1_16.cc join1_16.cc affineimage1_16.cc.  These last 3 tests
-	  are expected to fail with 8 bit integers.
-
-2006-02-05 Sunday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float128_binary_format.m4 (1.3): Constant fixed.
-
-2006-02-05 Sunday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_float128_binary_format.m4 (1.2),
-	  ac_cxx_float32_binary_format.m4 (1.2),
-	  ac_cxx_float64_binary_format.m4 (1.3),
-	  ac_cxx_float96_binary_format.m4 (1.3): Cater for those systems
-	  providing inttypes.h instead of stdint.h.
-
-2006-02-05 Sunday 15:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.17): Spurious blank removed.
-
-2006-02-05 Sunday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.212): Detect the binary format used by 128-bit
-	  floats.
-
-2006-02-05 Sunday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float128_binary_format.m4 (1.1): New function to detect
-	  the binary format used by 128-bit floats.
-
-2006-02-05 Sunday 14:17  Matthew Mundell
-
-	* tests/Grid/: certificate1.cc (1.4), isuniverse1.cc (1.4): Take
-	  out stray calls to ascii_dump.
-
-2006-02-05 Sunday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float64_binary_format.m4 (1.2): Cosmetic improvements.
-
-2006-02-05 Sunday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.211): Detect the binary format used by 32-bit
-	  floats.
-
-2006-02-05 Sunday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float32_binary_format.m4 (1.1): New function to detect
-	  the binary format used by 32-bit floats.
-
-2006-02-05 Sunday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float96_binary_format.m4 (1.2): Correctly handle the
-	  case where a 96-bit floating point format is not detected.
-
-2006-02-05 Sunday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.210): Detect the binary format used by 96-bit
-	  floats.
-
-2006-02-05 Sunday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float96_binary_format.m4 (1.1): New function to detect
-	  the binary format used by 96-bit floats.
-
-2006-02-04 Saturday 22:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.209): Detect the binary format used by 64-bit
-	  floats.
-
-2006-02-04 Saturday 22:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_cxx_float64_binary_format.m4 (1.1): New function to detect
-	  the binary format used by 64-bit floats.
-
-2006-02-03 Friday 03:25  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.25): A couple of fixes in OK(): Some
-	  assertions were failing without a good reason.
-
-2006-02-01 Wednesday 23:27  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.24): The FIXME about incrementality
-	  was already dealt with.
-
-2006-02-01 Wednesday 23:23  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.23): Other little improvements.
-
-2006-02-01 Wednesday 22:56  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[22,20]): Major
-	  improvements to the class: now the incrementality process handles
-	  a Constraint_System in one shot instead of a single Constraint.
-	  Added other useful tests in OK().  Minor changes in the
-	  documentation.
-
-2006-02-01 Wednesday 20:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.208): Version number bumped.
-
-2006-02-01 Wednesday 20:06  Abramo Bagnara
-
-	* src/Float.inlines.hh (1.21): Constant is 64 bit long.
-
-2006-02-01 Wednesday 19:35  Abramo Bagnara
-
-	* src/Float.inlines.hh (1.20): Clear most significant bit of the
-	  mantissa.
-
-2006-02-01 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.19): Added missing semicolon.
-
-2006-02-01 Wednesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.188): Added some items (to be filled in).
-
-2006-02-01 Wednesday 12:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Grid/: affineimage1.cc (1.4), grid1.cc (1.6), grid2.cc
-	  (1.5), join1.cc (1.5), widening1.cc (1.4): Removed 3 "FIX "'s in
-	  grid2.cc and widening1.cc.  Added tests based on example in
-	  Muller-Olm and Seidl SAS paper to grid1.cc, join1.cc and
-	  affineimage1.cc.  Added tests based on Example 8 in the technical
-	  report on the grids domain in widening1.cc.  Reordered tests in
-	  widening1.cc so that those based on examples 8 and 9 are
-	  together.
-
-2006-02-01 Wednesday 01:34  Matthew Mundell
-
-	* tests/Grid/Makefile.am (1.6): Take NOISY directive out of
-	  AM_CPPFLAGS.
-
-2006-02-01 Wednesday 01:04  Matthew Mundell
-
-	* debian/README (1.1): Initial revision.
-
-2006-01-31 Tuesday 19:12  Matthew Mundell
-
-	* tests/Grid/grid2.cc (1.4): Move variables to a local namespace.
-
-2006-01-31 Tuesday 19:12  Matthew Mundell
-
-	* tests/Grid/grid1.cc (1.5): Ensure that all exception tests emit
-	  noisy messages.  Move variables to a local namespace.
-
-2006-01-31 Tuesday 19:11  Matthew Mundell
-
-	* tests/Grid/equals1.cc (1.3): Add tests to cover the rest of
-	  Grid::quick_equivalence_test().  Move variables to a local
-	  namespace.
-
-2006-01-31 Tuesday 19:09  Matthew Mundell
-
-	* tests/Grid/bounds1.cc (1.3): Add space dimension exception test.
-
-2006-01-31 Tuesday 19:08  Matthew Mundell
-
-	* tests/Grid/: addgenerator1.cc (1.5), addspacedims1.cc (1.4),
-	  addspacedims2.cc (1.4), concatenate1.cc (1.4), congruence1.cc
-	  (1.4), grid3.cc (1.4), griddifference1.cc (1.4), join1.cc (1.4),
-	  join3.cc (1.4), relations1.cc (1.5): Ensure that all exception
-	  tests emit noisy messages and exit correctly.
-
-2006-01-31 Tuesday 19:05  Matthew Mundell
-
-	* tests/Grid/addcongruences1.cc (1.5): Add tests that exercise the
-	  case in minimize() where both systems are up-to-date.
-
-2006-01-31 Tuesday 19:03  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (1.5): Replace the empty check in the
-	  minimize() case where both systems are up-to-date with an
-	  assertion that the congruence system is empty.
-
-2006-01-31 Tuesday 13:20  Matthew Mundell
-
-	* tests/Grid/removespacedims2.cc (1.3): Add tests where: the
-	  resulting grid is the zero dimension universe, the resulting grid
-	  is the same, a space dimension exception is thrown.
-
-2006-01-31 Tuesday 13:18  Matthew Mundell
-
-	* tests/Grid/removespacedims1.cc (1.3): Add tests of: the exception
-	  case, passing the empty variable set and an outcome of a zero
-	  dimension universe.
-
-2006-01-31 Tuesday 13:16  Matthew Mundell
-
-	* tests/Grid/: expandspacedim1.cc (1.3), foldspacedims1.cc (1.3):
-	  Add tests of exception cases.
-
-2006-01-31 Tuesday 13:10  Matthew Mundell
-
-	* tests/Grid/concatenate1.cc (1.3): Add possible space dimension
-	  exception test.
-
-2006-01-31 Tuesday 13:09  Matthew Mundell
-
-	* src/Grid_chdims.cc (1.4): Correct exception message in
-	  expand_space_dimension.
-
-2006-01-31 Tuesday 13:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_chdims.cc (simplex.1): file Grid_chdims.cc was added on
-	  branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-01-30 Monday 20:00  Matthew Mundell
-
-	* tests/Grid/: addspacedims1.cc (1.3), addspacedims2.cc (1.3):
-	  Update tests to always call find_variation only once, directly
-	  after the operation under test.  Add tests with space dimension
-	  exceptions, zero dimension universes, minimized congruences, and
-	  out-of-date congruences with minimized generators.
-
-2006-01-30 Monday 19:54  Matthew Mundell
-
-	* src/Grid_chdims.cc (1.3): Update add_space_dimensions_and_project
-	  to adjust dim_kinds when generators are out of date and
-	  congruences are minimized.
-
-2006-01-30 Monday 18:06  Matthew Mundell
-
-	* tests/Grid/certificate1.cc (1.3): Add test7 where the minimized
-	  generators are used for the Grid_Certificate construction.
-
-2006-01-30 Monday 18:04  Matthew Mundell
-
-	* src/Grid_Generator.defs.hh (1.7): Correct the Grid class friend
-	  declaration comment.
-
-2006-01-30 Monday 13:26  Matthew Mundell
-
-	* src/Grid_conversion.cc (1.4): Update lower_triangular and
-	  upper_triangular to check that the diagonal is positive and to
-	  correctly check for squareness when there are virtual rows.
-
-2006-01-30 Monday 11:30  Matthew Mundell
-
-	* tests/Grid/widening1.cc (1.3): Add exception testing test test16.
-	  Add test17 where minimizing the first congruence system finds
-	  the grid empty.
-
-2006-01-30 Monday 11:29  Matthew Mundell
-
-	* tests/Grid/limitedextrapolation1.cc (1.3): Add exception tests.
-	  Add test15, which limits with an empty congruence system.
-
-2006-01-30 Monday 11:27  Matthew Mundell
-
-	* src/Grid_widenings.cc (1.3): Correct the exception message in
-	  method widening_assign.
-
-2006-01-30 Monday 10:03  Matthew Mundell
-
-	* tests/Grid/join3.cc (1.3): Add test of space dimension exception.
-
-2006-01-30 Monday 10:02  Matthew Mundell
-
-	* tests/Grid/join1.cc (1.3): Add test of space dimension exception.
-	  Add test where updating the generators finds the grid empty.
-
-2006-01-30 Monday 10:01  Matthew Mundell
-
-	* tests/Grid/griddifference1.cc (1.3): Update some tests to call
-	  difference_assign instead of grid_difference_assign.	Add space
-	  dimension exception test.
-
-2006-01-30 Monday 10:00  Matthew Mundell
-
-	* tests/Grid/: generalizedaffinepreimage1.cc (1.3),
-	  generalizedaffinepreimage2.cc (1.3): Add tests with zero
-	  denominator parameters, negative moduli and space dimension
-	  exceptions.
-
-2006-01-30 Monday 09:59  Matthew Mundell
-
-	* tests/Grid/: affineimage1.cc (1.3), affinepreimage1.cc (1.3),
-	  generalizedaffineimage1.cc (1.3), generalizedaffineimage2.cc
-	  (1.3): Add tests with zero denominator parameters and space
-	  dimension exceptions.
-
-2006-01-30 Monday 09:56  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (1.4): Add tests for adding to an
-	  empty grid.
-
-2006-01-30 Monday 09:55  Matthew Mundell
-
-	* tests/Grid/addcongruences1.cc (1.4): Add tests for adding an
-	  empty system and adding a trivial system to a zero dim grid.
-
-2006-01-30 Monday 09:54  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.5), addgenerators1.cc (1.1): Add
-	  addgenerators1, which tests methods that can add multiple
-	  generators to a grid.
-
-2006-01-30 Monday 09:52  Matthew Mundell
-
-	* src/Grid_public.cc (1.8): Update add_generator(g) to throw an
-	  exception when a parameter is given and the grid is zero
-	  dimension empty.  Rework the generalized_affine_image(lhs,..) and
-	  generalized_affine_preimage(lhs,..) lhs space dimension
-	  calculation to aid coverage analysis.
-
-2006-01-30 Monday 09:40  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (1.4): Rename parameters in
-	  throw_dimension_incompatible(char*, char*, Grid).
-
-2006-01-29 Sunday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.18): Fixed the build() method in
-	  specializations ot template <typename T> struct TFloat.
-
-2006-01-29 Sunday 08:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (ppl-0_8-branch.1): Added missing
-	  semicolons.
-
-2006-01-29 Sunday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.17): Added missing semicolons.
-
-2006-01-28 Saturday 22:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Congruence_System.defs.hh (1.5), Grid.defs.hh (1.7),
-	  Grid_Generator.defs.hh (1.6), Grid_Generator_System.defs.hh
-	  (1.7), Polyhedron.defs.hh (1.293): Revised documentation so that
-	  sample code has `grid_point' and `grid_line' instead of `point'
-	  and `line'.  Added an example to Grid_defs.hh showing use of a
-	  parameter.  Revised explanation of affine image and preimage.
-
-	  Corrected some bugs in the explanation of affine image and
-	  preimage in Polyhedron.defs.hh.
-
-2006-01-28 Saturday 18:23  Matthew Mundell
-
-	* tests/Grid/grid2.cc (1.3): Add more zero dimension tests.
-
-2006-01-28 Saturday 18:20  Matthew Mundell
-
-	* tests/Grid/: addconstraint1.cc (1.3), addconstraints1.cc (1.3),
-	  contains1.cc (1.3), disjoint1.cc (1.3), grid1.cc (1.4), grid3.cc
-	  (1.3), intersection1.cc (1.3), timeelapse1.cc (1.3): Add space
-	  dimension exception tests.
-
-2006-01-28 Saturday 18:19  Matthew Mundell
-
-	* tests/Grid/addcongruences1.cc (1.3): Add space dimension
-	  exception tests.  Add test8 which adds to an empty grid.
-
-2006-01-28 Saturday 18:17  Matthew Mundell
-
-	* src/Grid_public.cc (1.7): Update
-	  add_recycled_congruences_and_minimize and
-	  add_recycled_congruences zero dimension grid cases to always
-	  leave the empty grid empty.
-
-2006-01-27 Friday 19:26  Matthew Mundell
-
-	* tests/Grid/topclosed1.cc (1.3): Add test11 where minimizing the
-	  congruence system finds the grid empty.
-
-2006-01-27 Friday 19:25  Matthew Mundell
-
-	* tests/Grid/pointed1.cc (1.3): Add a minimal congruence system
-	  case to test5.  Add test11 where minimizing the congruence system
-	  finds the grid empty.
-
-2006-01-27 Friday 19:23  Matthew Mundell
-
-	* tests/Grid/congruence1.cc (1.3): Add space dimension exception
-	  test.
-
-2006-01-27 Friday 19:23  Matthew Mundell
-
-	* tests/Grid/bounded1.cc (1.3): Add test13, where a paramter comes
-	  first in the system.
-
-2006-01-27 Friday 19:22  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (1.3): Add zero dimension and space
-	  dimension exception tests.
-
-2006-01-27 Friday 19:21  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.4), asciidumpload1.cc (1.1),
-	  outputoperator1.cc (1.1): Add asciidumpload1 and outputoperator1.
-
-2006-01-27 Friday 14:50  Matthew Mundell
-
-	* src/: Grid_simplify.cc (1.3), Grid.templates.hh (1.2),
-	  Grid_Certificate.cc (1.3), Grid_Generator.defs.hh (1.5),
-	  Grid_Generator.inlines.hh (1.4), Grid_Generator_System.defs.hh
-	  (1.6), Grid_Generator_System.inlines.hh (1.3), Grid_conversion.cc
-	  (1.3), Grid_nonpublic.cc (1.3), Grid_public.cc (1.6): Rename
-	  Grid_Generator::set_is_parameter to
-	  Grid_Generator::set_is_parameter_or_point. Rename
-	  Grid_Generator_System methods: num_rows to num_generators,
-	  num_rays to num_parameters.  Correct a typo in the Grid_Generator
-	  class doc.
-
-2006-01-27 Friday 14:43  Matthew Mundell
-
-	* src/Grid.inlines.hh (1.4): Drop the extra
-	  topological_closure_assign and difference_assign PPL namespace
-	  qualifiers.
-
-2006-01-27 Friday 14:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.inlines.hh (simplex.1): file Grid.inlines.hh was added
-	  on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-01-27 Friday 14:43  Matthew Mundell
-
-	* src/Grid.defs.hh (1.6): Drop the extra rows_are_zero Grid
-	  namespace qualifier.
-
-2006-01-27 Friday 14:42  Matthew Mundell
-
-	* doc/devref.doxyconf-latex.in (1.9): Clip trailing whitespace.
-	  Add grid-related files.
-
-2006-01-27 Friday 14:41  Matthew Mundell
-
-	* doc/devref.doxyconf-html.in (1.68): Add missing Grid files to
-	  INPUT.
-
-2006-01-27 Friday 12:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.192): Use \subsection and not \anchor in
-	  grids section of the documentation.  Avoid a multiply defined
-	  label warning due to label in the powerset section.
-
-2006-01-27 Friday 11:48  Matthew Mundell
-
-	* src/: Grid_Generator.defs.hh (1.4), Grid_Generator.inlines.hh
-	  (1.3): Take out method topology.
-
-2006-01-27 Friday 11:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid.defs.hh (1.5), Grid.inlines.hh (1.3),
-	  Grid.templates.hh (1.1), Makefile.am (1.143): Grid.templates.hh
-	  cut out from Grid.inlines.hh as per our standards.
-
-2006-01-27 Friday 10:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.179), src/Congruence_System.defs.hh (1.4),
-	  src/Grid.defs.hh (1.4), src/Grid_Generator.defs.hh (1.3),
-	  src/Grid_Generator_System.defs.hh (1.5):
-	  src/Grid_Generator.defs.hh, src/Grid_Generator_System.defs.hh:
-	  Documentation improved.  src/Congruence_System.defs.hh:    Fixed
-	  a cross reference to point to Grid documentation.
-	  src/Grid.defs.hh:    Improved documentation for affine image.
-
-	  TODO: Removed item concerning documentation for grids.
-
-2006-01-27 Friday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/NNC_Polyhedron.inlines.hh (1.32): Added an `inline' function
-	  specifier.
-
-2006-01-27 Friday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.inlines.hh (1.30), Determinate.inlines.hh
-	  (1.53), Ptr_Iterator.inlines.hh (1.6): Added several `inline'
-	  function specifiers.
-
-2006-01-27 Friday 09:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Ciao/ciao_pl_check.pl (1.20),
-	  GNU/gnu_pl_check.pl (1.9), SICStus/sp_pl_check.pl (1.7),
-	  SWI/swi_pl_check.pl (1.8), XSB/xsb_pl_check.P (1.25),
-	  YAP/yap_pl_check.pl (1.11), tests/pl_check.pl (1.31): In the
-	  system files,   the definition of predicate prolog_system/1
-	  modified to return  name capitalised to match system file names.
-
-	  pl_check.pl:	  improved extra_noisy output for large numbers.
-		now we print the expression used to generate	the large
-	  number as well as the number itself.
-
-		  When calling prolog_system/1 use capitalised names.
-
-2006-01-26 Thursday 23:26  Matthew Mundell
-
-	* tests/Grid/relations2.cc (1.4): Add test15, of an empty grid,
-	  where updating finds the grid empty.	Add test16 to test18 which
-	  require the GCD calculation in relation_with.
-
-2006-01-26 Thursday 23:24  Matthew Mundell
-
-	* tests/Grid/relations1.cc (1.4): Add zero dim universe test test9.
-
-2006-01-26 Thursday 23:24  Matthew Mundell
-
-	* tests/Grid/isuniverse1.cc (1.3): Update test4 to actually test
-	  the empty case.  Scrap test10.  Add test15 where use of a point
-	  is required in is_universe.
-
-2006-01-26 Thursday 23:22  Matthew Mundell
-
-	* tests/Grid/: Makefile.am (1.3), isempty1.cc (1.1): Add isempty1,
-	  which tests is_empty().
-
-2006-01-26 Thursday 23:20  Matthew Mundell
-
-	* src/Grid_public.cc (1.5): Simplify the satisfy check case in
-	  is_universe.
-
-2006-01-26 Thursday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Powerset.templates.hh (simplex.1): file Powerset.templates.hh
-	  was added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-01-26 Thursday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.31), doc/devref.doxyconf-html.in (1.67),
-	  doc/devref.doxyconf-latex.in (1.8), src/BD_Shape.defs.hh (1.65),
-	  src/BD_Shape.inlines.hh (1.123), src/BD_Shape.templates.hh (1.1),
-	  src/Makefile.am (1.142), src/Polyhedra_Powerset.defs.hh (1.33),
-	  src/Polyhedra_Powerset.inlines.hh (1.39),
-	  src/Polyhedra_Powerset.templates.hh (1.1), src/Powerset.defs.hh
-	  (1.24), src/Powerset.inlines.hh (1.16), src/Powerset.templates.hh
-	  (1.1): From now on we will use source files named *.templates.hh
-	  for the non-inline definitions of all class template members and
-	  all (member or non-member) function templates that are not fully
-	  specialized.
-
-2006-01-26 Thursday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.inlines.hh (1.31): Tests reordered so as to avoid a
-	  compiler warning.
-
-2006-01-26 Thursday 21:32  Matthew Mundell
-
-	* tests/Grid/relations2.cc (1.3): Add test14, of the space
-	  dimension exception.	Add more complex false congruence cases to
-	  test7.
-
-2006-01-26 Thursday 21:30  Matthew Mundell
-
-	* tests/Grid/relations1.cc (1.3): Add test8, of the space dimension
-	  exception.
-
-2006-01-26 Thursday 21:29  Matthew Mundell
-
-	* tests/Grid/mincongruences1.cc (1.3): Add test8, of an empty grid
-	  where updating the congruences finds the grid empty.
-
-2006-01-26 Thursday 21:29  Matthew Mundell
-
-	* tests/Grid/grid1.cc (1.3): Add test23, to test the assignment of
-	  a zero dim universe grid.
-
-2006-01-26 Thursday 21:28  Matthew Mundell
-
-	* tests/Grid/: generators1.cc (1.3), mingenerators1.cc (1.3): Add
-	  test9, of an empty grid where updating the generators finds the
-	  grid empty.
-
-2006-01-26 Thursday 21:27  Matthew Mundell
-
-	* src/Grid_public.cc (1.4): Improve the relation_with(cg) zero dim
-	  case a little.
-
-2006-01-26 Thursday 18:25  Matthew Mundell
-
-	* src/Grid_minimize.cc (1.3), src/Makefile.am (1.141),
-	  doc/devref.doxyconf-html.in (1.66): Complete the integration of
-	  the Grid minimize methods into their callers.
-
-2006-01-26 Thursday 16:00  Matthew Mundell
-
-	* src/Congruence.cc (1.3): Take old alternative code out of
-	  ascii_load.
-
-2006-01-26 Thursday 14:50  Matthew Mundell
-
-	* src/Grid_Generator_System.defs.hh (1.4): Correct typo in
-	  add_universe_rows_and_columns doc.
-
-2006-01-26 Thursday 13:58  Matthew Mundell
-
-	* doc/definitions.dox (1.191): Update anchor names in references in
-	  the grids sections.
-
-2006-01-26 Thursday 13:56  Matthew Mundell
-
-	* src/Grid_Generator_System.defs.hh (1.3): Correct
-	  add_universe_rows_and_columns doc.
-
-2006-01-26 Thursday 13:56  Matthew Mundell
-
-	* src/Grid.defs.hh (1.3): Neaten some doc formatting.  Align the
-	  class description as in Polyhedron.  Update reference names in
-	  docs.  Improve docs related to covering boxes.
-
-2006-01-26 Thursday 13:52  Matthew Mundell
-
-	* src/Congruence_System.defs.hh (1.3): Correct
-	  add_unit_rows_and_columns doc.  Correct ref in affine_preimage
-	  doc.
-
-2006-01-26 Thursday 12:26  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (1.57): Added missing inline.
-
-2006-01-26 Thursday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.178): Old stuff removed or shortened.
-
-2006-01-25 Wednesday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.45), src/Makefile.am (1.140): Updated for PPL 0.9.
-
-2006-01-25 Wednesday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.207): Version number bumped.
-
-2006-01-25 Wednesday 21:57  Matthew Mundell
-
-	* TODO (1.177): Complete some grid items, move rest into section 1.
-
-2006-01-25 Wednesday 21:56  Matthew Mundell
-
-	* src/Grid_public.cc (1.3): Convert final FIX to a FIXME.
-
-2006-01-25 Wednesday 21:46  Matthew Mundell
-
-	* tests/Makefile.am (1.250): Reorder the directories in SUBDIRS.
-
-2006-01-25 Wednesday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.176): Done items removed.  The need for C and Prolog
-	  interfaces concerns all domains, not just grids.
-
-2006-01-25 Wednesday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Makefile.in (grids.4): Makefile.in is automatically
-	  generated: it should not be under CVS.
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/.cvsignore (altnum.1): file .cvsignore was added on
-	  branch altnum on 2006-10-29 19:27:27 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/.cvsignore (simplex.1): file .cvsignore was added on
-	  branch simplex on 2006-05-08 17:15:56 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.types.hh (altnum.1): file Congruence.types.hh was
-	  added on branch altnum on 2006-10-29 19:27:12 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence.types.hh (simplex.1): file Congruence.types.hh was
-	  added on branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.types.hh (altnum.1): file
-	  Congruence_System.types.hh was added on branch altnum on
-	  2006-10-29 19:27:12 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Congruence_System.types.hh (simplex.1): file
-	  Congruence_System.types.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.types.hh (altnum.1): file Grid.types.hh was added on
-	  branch altnum on 2006-10-29 19:27:13 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid.types.hh (simplex.1): file Grid.types.hh was added on
-	  branch simplex on 2006-05-08 17:15:49 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Certificate.inlines.hh (altnum.1): file
-	  Grid_Certificate.inlines.hh was added on branch altnum on
-	  2006-10-29 19:27:13 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Certificate.inlines.hh (simplex.1): file
-	  Grid_Certificate.inlines.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Certificate.types.hh (altnum.1): file
-	  Grid_Certificate.types.hh was added on branch altnum on
-	  2006-10-29 19:27:13 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Certificate.types.hh (simplex.1): file
-	  Grid_Certificate.types.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.types.hh (altnum.1): file
-	  Grid_Generator.types.hh was added on branch altnum on 2006-10-29
-	  19:27:13 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator.types.hh (simplex.1): file
-	  Grid_Generator.types.hh was added on branch simplex on 2006-05-08
-	  17:15:49 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator_System.types.hh (altnum.1): file
-	  Grid_Generator_System.types.hh was added on branch altnum on
-	  2006-10-29 19:27:13 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Generator_System.types.hh (simplex.1): file
-	  Grid_Generator_System.types.hh was added on branch simplex on
-	  2006-05-08 17:15:49 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Status.inlines.hh (altnum.1): file
-	  Grid_Status.inlines.hh was added on branch altnum on 2006-10-29
-	  19:27:13 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_Status.inlines.hh (simplex.1): file
-	  Grid_Status.inlines.hh was added on branch simplex on 2006-05-08
-	  17:15:49 +0000
-
-2006-01-25 Wednesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Scalar_Products.types.hh (altnum.1): file
-	  Scalar_Products.types.hh was added on branch altnum on 2006-10-29
-	  19:27:15 +0000
-
-2006-01-25 Wednesday 21:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.175), configure.ac (1.206), doc/definitions.dox (1.190),
-	  doc/devref.doxyconf-html.in (1.65), src/C_Polyhedron.cc (1.18),
-	  src/C_Polyhedron.defs.hh (1.41), src/Congruence.cc (1.2),
-	  src/Congruence.defs.hh (1.2), src/Congruence.inlines.hh (1.2),
-	  src/Congruence.types.hh (1.2), src/Congruence_System.cc (1.2),
-	  src/Congruence_System.defs.hh (1.2),
-	  src/Congruence_System.inlines.hh (1.2),
-	  src/Congruence_System.types.hh (1.2), src/Constraint.defs.hh
-	  (1.116), src/Determinate.defs.hh (1.62),
-	  src/Determinate.inlines.hh (1.52), src/Generator.defs.hh (1.116),
-	  src/Generator_System.cc (1.17), src/Generator_System.defs.hh
-	  (1.15), src/Grid.defs.hh (1.2), src/Grid.inlines.hh (1.2),
-	  src/Grid.types.hh (1.2), src/Grid_Certificate.cc (1.2),
-	  src/Grid_Certificate.defs.hh (1.2),
-	  src/Grid_Certificate.inlines.hh (1.2),
-	  src/Grid_Certificate.types.hh (1.2), src/Grid_Generator.cc (1.2),
-	  src/Grid_Generator.defs.hh (1.2), src/Grid_Generator.inlines.hh
-	  (1.2), src/Grid_Generator.types.hh (1.2),
-	  src/Grid_Generator_System.cc (1.2),
-	  src/Grid_Generator_System.defs.hh (1.2),
-	  src/Grid_Generator_System.inlines.hh (1.2),
-	  src/Grid_Generator_System.types.hh (1.2), src/Grid_Status.cc
-	  (1.2), src/Grid_Status.idefs.hh (1.2), src/Grid_Status.inlines.hh
-	  (1.2), src/Grid_chdims.cc (1.2), src/Grid_conversion.cc (1.2),
-	  src/Grid_minimize.cc (1.2), src/Grid_nonpublic.cc (1.2),
-	  src/Grid_public.cc (1.2), src/Grid_simplify.cc (1.2),
-	  src/Grid_widenings.cc (1.2), src/Linear_Expression.cc (1.10),
-	  src/Linear_Expression.defs.hh (1.20), src/Linear_Row.inlines.hh
-	  (1.11), src/Makefile.am (1.139), src/NNC_Polyhedron.cc (1.18),
-	  src/NNC_Polyhedron.defs.hh (1.44), src/Polyhedra_Powerset.defs.hh
-	  (1.32), src/Polyhedra_Powerset.inlines.hh (1.38),
-	  src/Polyhedron.defs.hh (1.292), src/Polyhedron_nonpublic.cc
-	  (1.64), src/Polyhedron_public.cc (1.72), src/Scalar_Products.cc
-	  (1.4), src/Scalar_Products.defs.hh (1.5),
-	  src/Scalar_Products.inlines.hh (1.3),
-	  src/Scalar_Products.types.hh (1.3), src/globals.defs.hh (1.35),
-	  tests/Makefile.am (1.249), tests/ppl_test.hh (1.32),
-	  tests/print.cc (1.19), tests/print.hh (1.23),
-	  tests/BD_Shape/Makefile.am (1.33), tests/Grid/.cvsignore (1.2),
-	  tests/Grid/Makefile.am (1.2), tests/Grid/addcongruence1.cc (1.2),
-	  tests/Grid/addcongruences1.cc (1.2), tests/Grid/addconstraint1.cc
-	  (1.2), tests/Grid/addconstraints1.cc (1.2),
-	  tests/Grid/addgenerator1.cc (1.2), tests/Grid/addspacedims1.cc
-	  (1.2), tests/Grid/addspacedims2.cc (1.2),
-	  tests/Grid/affinedim1.cc (1.2), tests/Grid/affineimage1.cc (1.2),
-	  tests/Grid/affinepreimage1.cc (1.2), tests/Grid/bhz03widening1.cc
-	  (1.2), tests/Grid/bounded1.cc (1.2), tests/Grid/boundingbox1.cc
-	  (1.2), tests/Grid/boundingbox2.cc (1.2), tests/Grid/bounds1.cc
-	  (1.2), tests/Grid/certificate1.cc (1.2),
-	  tests/Grid/concatenate1.cc (1.2), tests/Grid/congruence1.cc
-	  (1.2), tests/Grid/congruences1.cc (1.2),
-	  tests/Grid/congruencesystem1.cc (1.2),
-	  tests/Grid/congruencesystem2.cc (1.2), tests/Grid/contains1.cc
-	  (1.2), tests/Grid/contains2.cc (1.2),
-	  tests/Grid/copyconstruct1.cc (1.2), tests/Grid/coveringbox1.cc
-	  (1.2), tests/Grid/coveringbox2.cc (1.2), tests/Grid/disjoint1.cc
-	  (1.2), tests/Grid/equals1.cc (1.2), tests/Grid/expandspacedim1.cc
-	  (1.2), tests/Grid/foldspacedims1.cc (1.2),
-	  tests/Grid/generalizedaffineimage1.cc (1.2),
-	  tests/Grid/generalizedaffineimage2.cc (1.2),
-	  tests/Grid/generalizedaffinepreimage1.cc (1.2),
-	  tests/Grid/generalizedaffinepreimage2.cc (1.2),
-	  tests/Grid/generator1.cc (1.2), tests/Grid/generators1.cc (1.2),
-	  tests/Grid/grid1.cc (1.2), tests/Grid/grid1_16.cc (1.2),
-	  tests/Grid/grid1_64.cc (1.2), tests/Grid/grid1_gmp.cc (1.2),
-	  tests/Grid/grid2.cc (1.2), tests/Grid/grid2_16.cc (1.2),
-	  tests/Grid/grid3.cc (1.2), tests/Grid/griddifference1.cc (1.2),
-	  tests/Grid/intersection1.cc (1.2), tests/Grid/intersection2.cc
-	  (1.2), tests/Grid/isuniverse1.cc (1.2), tests/Grid/join1.cc
-	  (1.2), tests/Grid/join2.cc (1.2), tests/Grid/join3.cc (1.2),
-	  tests/Grid/limitedextrapolation1.cc (1.2),
-	  tests/Grid/mapspacedims1.cc (1.2), tests/Grid/maxmin1.cc (1.2),
-	  tests/Grid/membytes1.cc (1.2), tests/Grid/membytes2.cc (1.2),
-	  tests/Grid/mincongruences1.cc (1.2), tests/Grid/mingenerators1.cc
-	  (1.2), tests/Grid/pointed1.cc (1.2), tests/Grid/relations1.cc
-	  (1.2), tests/Grid/relations2.cc (1.2),
-	  tests/Grid/removespacedims1.cc (1.2),
-	  tests/Grid/removespacedims2.cc (1.2), tests/Grid/timeelapse1.cc
-	  (1.2), tests/Grid/timeelapse2.cc (1.2), tests/Grid/topclosed1.cc
-	  (1.2), tests/Grid/topclosure1.cc (1.2), tests/Grid/widening1.cc
-	  (1.2), tests/Grid/writecongruencesystem.cc (1.2),
-	  tests/Polyhedron/Makefile.am (1.46),
-	  tests/Polyhedron/addcongruence1.cc (1.2),
-	  tests/Polyhedron/addcongruence2.cc (1.2),
-	  tests/Polyhedron/addcongruence3.cc (1.2),
-	  tests/Polyhedron/addcongruence4.cc (1.2),
-	  tests/Polyhedron/addcongruence5.cc (1.2),
-	  tests/Polyhedron/addcongruences1.cc (1.2),
-	  tests/Polyhedron/addcongruences2.cc (1.2),
-	  tests/Polyhedron/addcongruences3.cc (1.2),
-	  tests/Polyhedron/addcongruences4.cc (1.2),
-	  tests/Polyhedron/addcongruences5.cc (1.2),
-	  tests/Polyhedron/congruences1.cc (1.2): First (and, quite likely,
-	  last) merge from the `grids' branch.
-
-2006-01-25 Wednesday 19:31  Matthew Mundell
-
-	* ChangeLog, Makefile.am, NEWS, README, README.configure, TODO,
-	  configure.ac, ppl.spec.in, Watchdog/CREDITS, Watchdog/ChangeLog,
-	  Watchdog/NEWS, Watchdog/README, debian/Makefile.am,
-	  debian/changelog, debian/control, debian/control.prologs,
-	  debian/libppl-gprolog.links, debian/libppl-sicstus.links,
-	  debian/libppl-swi.links, debian/libppl-yap.links, debian/rules,
-	  doc/definitions.dox, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, interfaces/C/ppl_c.h.in,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  m4/ac_check_swi_prolog.m4, m4/ppl.m4, src/BDS_Status.idefs.hh,
-	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/BHRZ03_Certificate.defs.hh, src/Bounding_Box.defs.hh,
-	  src/C_Polyhedron.defs.hh, src/Checked_Number.defs.hh,
-	  src/Checked_Number.inlines.hh, src/Coefficient.types.hh,
-	  src/Coefficient_traits_template.hh, src/Constraint.cc,
-	  src/Constraint.defs.hh, src/Constraint_System.defs.hh,
-	  src/DB_Matrix.defs.hh, src/DB_Row.defs.hh,
-	  src/Determinate.defs.hh, src/Float.defs.hh,
-	  src/GMP_Integer.types.hh, src/Generator.defs.hh,
-	  src/Generator_System.defs.hh, src/H79_Certificate.defs.hh,
-	  src/Init.defs.hh, src/Interval.defs.hh, src/LP_Problem.defs.hh,
-	  src/LP_Problem.types.hh, src/Linear_Expression.defs.hh,
-	  src/Linear_Row.defs.hh, src/Linear_System.defs.hh,
-	  src/Makefile.am, src/Matrix.defs.hh, src/NNC_Polyhedron.defs.hh,
-	  src/Ph_Status.idefs.hh, src/Poly_Con_Relation.defs.hh,
-	  src/Poly_Gen_Relation.defs.hh, src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedron.defs.hh, src/Powerset.defs.hh,
-	  src/Powerset.inlines.hh, src/Powerset.types.hh,
-	  src/Ptr_Iterator.defs.hh, src/Result.defs.hh,
-	  src/Rounding_Dir.defs.hh, src/Row.defs.hh,
-	  src/Saturation_Matrix.defs.hh, src/Saturation_Row.defs.hh,
-	  src/Scalar_Products.defs.hh, src/Topology.hh,
-	  src/Variable.defs.hh, src/Widening_Function.defs.hh,
-	  src/checked.defs.hh, src/checked.inlines.hh,
-	  src/checked_ext.defs.hh, src/checked_ext.inlines.hh,
-	  src/checked_numeric_limits.hh, src/compiler.hh,
-	  src/globals.defs.hh, src/globals.types.hh,
-	  src/mp_numeric_limits.hh, src/namespaces.hh, src/version.hh.in,
-	  tests/Makefile.am, tests/BD_Shape/Makefile.am,
-	  tests/BD_Shape/cc76narrowing1.cc,
-	  tests/BD_Shape/cc76narrowing2.cc,
-	  tests/BD_Shape/cc76narrowing3.cc,
-	  tests/BD_Shape/cc76narrowing4.cc,
-	  tests/BD_Shape/cc76narrowing5.cc, tests/BD_Shape/universe1.cc,
-	  tests/Polyhedron/addconstraints6.cc,
-	  tests/Polyhedron/polypowerset1.cc, tests/Polyhedron/powerset1.cc,
-	  tests/Polyhedron/writepolyhedron3.cc
-	  (grids.[3,6,6,4,4,19,10,3,1,3,2,3,2,3,3,3,2,2,2,2,3,11,8,4,6,4,7,5,6,5,5,3,5,8,8,4,5,5,12,10,3,2,6,11,6,4,6,6,5,4,18,13,5,4,4,3,3,12,7,5,14,9,5,4,3,3,8,10,3,4,2,3,5,4,9,3,4,6,2,4,4,7,11,5,7,6,3,7,4,4,3,3,6,10,3,3,3,3,3,4,3,4,3,3]):
-	  Eighth and last merge from the main trunk.
-
-2006-01-25 Wednesday 16:34  Matthew Mundell
-
-	* tests/Grid/generalizedaffinepreimage2.cc (grids.6): Correct the
-	  expected results in test17, test18, test21 and test22.
-
-2006-01-25 Wednesday 16:33  Matthew Mundell
-
-	* tests/Grid/generalizedaffinepreimage1.cc (grids.7): Enable test6
-	  and test7, and adjust their expected results.
-
-2006-01-25 Wednesday 16:32  Matthew Mundell
-
-	* tests/Grid/generalizedaffineimage2.cc (grids.7): Correct the
-	  expected result in test18.
-
-2006-01-25 Wednesday 16:31  Matthew Mundell
-
-	* src/Grid_public.cc (grids.138): Correct the
-	  generalized_affine_preimage(lhs,..) case where variables in lhs
-	  also occur in rhs.
-
-2006-01-25 Wednesday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.64): Always link with
-	  the PIC version of ppl_sicstus_sd.o.
-
-2006-01-25 Wednesday 12:57  Matthew Mundell
-
-	* src/Grid_public.cc (grids.137): Replace the first
-	  generalized_affine_preimage(lhs,..)  line-adding call to
-	  add_recycled_generators with equivalent code, as in
-	  generalized_affine_image(lhs,..).  Neaten TODO comments.
-
-2006-01-25 Wednesday 12:48  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.42): Add a simple comment for the
-	  invert-transpose loops in both conversions.
-
-2006-01-24 Tuesday 21:54  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.41): Improve the comments on the
-	  destination initialization in the conversion methods.
-
-2006-01-24 Tuesday 21:33  Matthew Mundell
-
-	* src/: Checked_Number.defs.hh (1.68), Checked_Number.inlines.hh
-	  (1.56), GMP_Integer.defs.hh (1.19), GMP_Integer.inlines.hh
-	  (1.14), checked.defs.hh (1.34), checked.inlines.hh (1.30),
-	  checked_ext.defs.hh (1.10), checked_ext.inlines.hh (1.28),
-	  checked_float.inlines.hh (1.56), checked_int.inlines.hh (1.44),
-	  checked_mpz.inlines.hh (1.35): Add function
-	  gcdext_assign(to,x,y,s,t) to the GMP and checked integer types.
-
-2006-01-24 Tuesday 16:54  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.40): Slightly improve comments,
-	  error messages and formatting.
-
-2006-01-24 Tuesday 13:33  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.39): Improve comments in both
-	  conversion methods.
-
-2006-01-24 Tuesday 11:52  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.38): Correct the comment in both
-	  conversions about the iteration of source_index and dest_index.
-
-2006-01-24 Tuesday 11:37  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.37): Leave variable name
-	  tem_source_index as such.
-
-2006-01-24 Tuesday 00:20  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_simplify.cc (grids.[100,62]): Update
-	  simplify(gs..) to expect the reduction to result in a system
-	  containing a point.
-
-2006-01-23 Monday 23:38  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.61): Note a possible todo item in the
-	  congruence simplify method.
-
-2006-01-23 Monday 23:35  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.60): Update
-	  reduce_congruence_with_equality to set the `row' element at
-	  `column' directly and to account for `row' elements known to be
-	  zero.  Improve variable names in same method.
-
-2006-01-23 Monday 23:28  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.59): Update
-	  reduce_parameter_with_line to set the `row' element at `column'
-	  directly and to account for `row' elements known to be zero.
-
-2006-01-23 Monday 22:52  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.58): Clean comments and improve
-	  variable names in the reduce methods.  Update these methods to
-	  all subtract the pivot from the row (intead of the other way
-	  around).
-
-2006-01-23 Monday 22:47  Matthew Mundell
-
-	* src/Grid_public.cc (grids.136): Update minimized_congruences and
-	  Grid::Grid(n,k) to recover the congruence system minimal form
-	  when inserting the zero dimension integrality.
-
-2006-01-23 Monday 22:41  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence.cc (grids.[44,23]):
-	  Correct a comment in sign_normalize.	Update normalize to always
-	  normalize the constant term, even when all homogeneous terms are
-	  zero.
-
-2006-01-23 Monday 17:44  Matthew Mundell
-
-	* src/Congruence_System.defs.hh (grids.28): Move swap into the
-	  public section.  Improve the has_a_free_dimension doc a little.
-
-2006-01-23 Monday 16:21  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.99): Correct the description of
-	  reduce_parameter_with_line.
-
-2006-01-23 Monday 15:04  Matthew Mundell
-
-	* TODO (grids.18): Complete the ascii_dump item.
-
-2006-01-23 Monday 12:33  Matthew Mundell
-
-	* src/Grid_public.cc (grids.135): Move the gs space dimension
-	  adjustment in add_recycled_generators to the empty case.
-
-2006-01-23 Monday 12:31  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.defs.hh (grids.[16,25]):
-	  Update coefficient_swap to account for the divisor element and
-	  the sizes of the two generators.
-
-2006-01-22 Sunday 22:39  Matthew Mundell
-
-	* src/Generator_System.defs.hh (grids.12): Take out the Grid friend
-	  declaration.
-
-2006-01-22 Sunday 22:38  Matthew Mundell
-
-	* tests/Grid/addconstraint1.cc (grids.3): Correct test name in
-	  message.
-
-2006-01-22 Sunday 22:38  Matthew Mundell
-
-	* src/: Grid_simplify.cc, Grid.defs.hh, Grid_public.cc
-	  (grids.[57,98,134]): Reduce dependence on the Congruence_System
-	  (cgs) Grid friend declaration:
-
-	    Update relation_with to use cgs::inhomogeneous_term, is_pointed
-	  to
-	    use cgs::has_a_free_dimension, add_recycled_congruences to use
-	    cgs::recycling_insert, and
-	  add_recycled_congruences_and_minimize to
-	    use cgs::insert(cgs).
-
-	  Reduce dependence on the Generator_System Grid friend
-	  declaration: update OK to use is_equal_to and convert function
-	  rows_are_zero to a static template method.
-
-	  Correct the num_cols init in reduce_parameter_with_line.
-
-2006-01-22 Sunday 22:26  Matthew Mundell
-
-	* src/Grid_widenings.cc (grids.13): Update select_wider_congruences
-	  to use Congruence::is_equal_at_dimension.
-
-2006-01-22 Sunday 22:25  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.31): Reduce dependence on
-	  Congruence_System's Grid friend declaration: update both
-	  add_space_dimension_and_project methods to use
-	  Congruence_System::add_unit_rows_and_columns and update
-	  concatenate_assign to use Congruence_System::concatenate.
-
-2006-01-22 Sunday 22:18  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.28): Declare old_num_rows in
-	  recycling_insert const.
-
-2006-01-22 Sunday 22:18  Matthew Mundell
-
-	* src/: Grid_Generator_System.defs.hh,
-	  Grid_Generator_System.inlines.hh (grids.[22,13]): Add wrapper
-	  methods for Linear_System and Matrix methods used in Grid:
-	  permute_columns, erase_to_end, num_columns, resize_no_copy,
-	  set_index_first_pending_row, and unset_pending_rows.
-
-2006-01-22 Sunday 22:15  Matthew Mundell
-
-	* src/Congruence.inlines.hh (grids.23): Correct
-	  is_equal_at_dimension.
-
-2006-01-22 Sunday 22:15  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh
-	  (grids.[43,27]): Add methods is_equal_to(cgs),
-	  recycling_insert(cgs), add_unit_rows_and_columns(k),
-	  concatenate(cgs) and has_a_free_dimension().	Rename method
-	  add_rows to insert, updating it to add columns as required and
-	  moving it to the public section.
-
-2006-01-22 Sunday 22:01  Matthew Mundell
-
-	* src/: Congruence.defs.hh, Congruence.inlines.hh (grids.[40,22]):
-	  Add is_equal_at_dimension.  Improve Grid friend declaration
-	  comment.
-
-2006-01-22 Sunday 21:34  Matthew Mundell
-
-	* src/Congruence.cc (grids.22): Update operator<< to use
-	  Coefficient_zero() for zero.
-
-2006-01-22 Sunday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.cc (1.56): Print objects of class Coefficient as
-	  such.
-
-2006-01-22 Sunday 15:29  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.56): Simplify the
-	  reduce_line_with_line comment.  Clean up a few comments the other
-	  reduce_x_with_x methods.
-
-2006-01-22 Sunday 13:29  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.55): Update reduce_line_with_line and
-	  reduce_equality_with_equality to set the column'th element of row
-	  directly.
-
-2006-01-21 Saturday 20:49  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.54): Take out of
-	  reduce_parameter_with_line a query about an existing improvement.
-
-2006-01-21 Saturday 20:45  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.53): Update
-	  reduce_equality_with_equality and reduce_line_with_line to
-	  account for columns that are known to be zero.
-
-2006-01-21 Saturday 20:33  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.97): Improve the description of the col
-	  parameter in some of the reduction methods.
-
-2006-01-21 Saturday 19:50  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.96): Improve the description of
-	  reduce_line_with_line a little.
-
-2006-01-21 Saturday 19:39  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_simplify.cc (grids.[95,52]): Update
-	  reduce_pc_with_pc to take arguments `start' and `end' instead of
-	  using a `parameters' argument to calculate the start and end of
-	  the relevant portions of the rows.
-
-2006-01-21 Saturday 19:29  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.42): Improve a comment in
-	  normalize_moduli.
-
-2006-01-21 Saturday 18:19  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.67), Checked_Number.inlines.hh
-	  (1.55): Simplified Checked and Native mixing.
-
-2006-01-20 Friday 23:53  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.51): Update reduce_pc_with_pc to set
-	  the column'th element of both row and pivot directly.
-
-2006-01-20 Friday 23:26  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.50): Correct a comment in the
-	  generator system simplify.
-
-2006-01-20 Friday 23:21  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.49): Update reduce_pc_with_pc to skip
-	  the trailing or leading columns that are known to be zero.
-
-2006-01-20 Friday 22:16  Matthew Mundell
-
-	* src/Grid_public.cc (grids.133): Inline the addition of the
-	  congruence in the case where lhs is a constant.
-
-2006-01-20 Friday 18:44  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.48): Add a rough query to
-	  reduce_pc_with_pc.
-
-2006-01-20 Friday 18:37  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, grid2_16.cc, grid4.cc (grids.[60,1,3]):
-	  Rename grid4 to grid2_16.
-
-2006-01-20 Friday 18:34  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.22): Improve the comment about
-	  cong_test4.
-
-2006-01-20 Friday 18:08  Matthew Mundell
-
-	* tests/Grid/: grid1.cc, grid1_16.cc (grids.[28,2]): Move grid1
-	  test11 and test14 into grid1_16.  Describe grid1_16 test1.
-
-2006-01-20 Friday 17:43  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, grid1.cc, grid1_16.cc
-	  (grids.[59,27,1]): Add grid1_16, for tests that require integers
-	  of at least 16 bits.	Move grid1 test8 into grid1_16.
-
-2006-01-20 Friday 17:33  Matthew Mundell
-
-	* debian/: control (ppl-0_8-branch.1), control (1.13): Update
-	  libppl-dev to depend on the system compiler.
-
-2006-01-20 Friday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/control (altnum.1): file control was added on branch
-	  altnum on 2006-10-29 19:26:52 +0000
-
-2006-01-20 Friday 14:23  Matthew Mundell
-
-	* debian/rules (ppl-0_8-branch.1): Correct version parsing sed
-	  expression.
-
-2006-01-20 Friday 14:17  Matthew Mundell
-
-	* debian/rules (1.10): Correct version parsing sed expression.
-
-2006-01-20 Friday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/rules (altnum.1): file rules was added on branch altnum on
-	  2006-10-29 19:26:52 +0000
-
-2006-01-20 Friday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_8-branch.1): Update version.
-
-2006-01-20 Friday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_8-branch.[2,2]): Mark
-	  ChangeLog.
-
-2006-01-20 Friday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog (ppl-0_8-branch.[1,1]): Updated.
-
-2006-01-20 Friday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (ppl-0_8-branch.1): Reflected the fact that some files
-	  have been deleted overnight.
-
-2006-01-20 Friday 06:17  Matthew Mundell
-
-	* debian/Makefile.am (grids.1): file Makefile.am was added on
-	  branch grids on 2006-01-25 18:31:23 +0000
-
-2006-01-20 Friday 06:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/Makefile.am (1.2): Do not distribute no longer existent
-	  files.
-
-2006-01-20 Friday 06:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/Makefile.am (altnum.1): file Makefile.am was added on
-	  branch altnum on 2006-10-29 19:26:52 +0000
-
-2006-01-20 Friday 06:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/Makefile.am (simplex.1): file Makefile.am was added on
-	  branch simplex on 2006-05-08 17:15:45 +0000
-
-2006-01-20 Friday 01:06  Matthew Mundell
-
-	* debian/: control.prologs (1.2), libppl-gprolog.links (1.2),
-	  libppl-sicstus.links (1.2), libppl-swi.links (1.2),
-	  libppl-yap.links (1.2): Clear out Prolog configuration files.
-
-2006-01-20 Friday 01:00  Matthew Mundell
-
-	* debian/rules (1.9): Use the system C and C++ compilers.
-
-2006-01-20 Friday 01:00  Matthew Mundell
-
-	* debian/control (1.12): Revert to the stable distribution (sarge)
-	  dependencies.
-
-2006-01-20 Friday 00:59  Matthew Mundell
-
-	* debian/changelog (1.3): Add entry for 0.8 release.
-
-2006-01-20 Friday 00:25  Matthew Mundell
-
-	* src/Grid_Generator_System.defs.hh (grids.21): Improve the
-	  add_universe_rows_and_columns description.
-
-2006-01-20 Friday 00:24  Matthew Mundell
-
-	* doc/devref.doxyconf-html.in (grids.7): Add to INPUT classes
-	  Grid_Generator, Grid_Generator_System, Grid_Certificate and file
-	  Grid_widenings.cc.
-
-2006-01-19 Thursday 20:23  Matthew Mundell
-
-	* tests/Makefile.am (grids.5): Run the grid tests before the
-	  others.
-
-2006-01-19 Thursday 18:24  Matthew Mundell
-
-	* tests/BD_Shape/Makefile.am (grids.9): Correct temporary
-	  BD_SHAPE_INSTANCE values.
-
-2006-01-19 Thursday 16:59  Matthew Mundell
-
-	* tests/BD_Shape/Makefile.am (grids.8): Temporarily modify to run
-	  the tests once, with BD_SHAPE_INSTANCE set according to
-	  --enable-coefficients, to speed the build machine test cycle.
-
-2006-01-19 Thursday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.64), src/BD_Shape.inlines.hh (1.122),
-	  tests/BD_Shape/cc76narrowing1.cc (1.7),
-	  tests/BD_Shape/cc76narrowing2.cc (1.7),
-	  tests/BD_Shape/cc76narrowing3.cc (1.7),
-	  tests/BD_Shape/cc76narrowing4.cc (1.8),
-	  tests/BD_Shape/cc76narrowing5.cc (1.8): Corrected implementation
-	  and documentation of CC76_narrowing_assign() so as to match the
-	  order of arguments already used in all the widening and
-	  extrapolation operators.
-
-2006-01-19 Thursday 12:45  Matthew Mundell
-
-	* tests/Grid/limitedextrapolation1.cc (grids.7): Insert a second
-	  token test as test9.
-
-2006-01-19 Thursday 11:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.174): Added an item.
-
-2006-01-19 Thursday 11:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.154): Added a missing
-	  full stop.
-
-2006-01-19 Thursday 11:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/NNC_Polyhedron.defs.hh (1.43): Corrected a couple of
-	  comments.
-
-2006-01-19 Thursday 11:11  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, grid1.cc, grid1_64.cc
-	  (grids.[58,26,1]): Add grid1_64 for tests that require 64 bit or
-	  GMP integers.  Move grid1 test18 into grid1_64.
-
-2006-01-19 Thursday 10:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.defs.hh (1.34): Removed spurious quote from the
-	  documentation.
-
-2006-01-19 Thursday 10:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.66): Documentation typo fixed.
-
-2006-01-19 Thursday 10:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.63): Corrected several documentation
-	  glitches reported by Andrea and David.
-
-2006-01-19 Thursday 10:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Variable.defs.hh (1.51): "base blocks" --> "basic blocks".
-
-2006-01-18 Wednesday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.118): Avoid a compiler
-	  warning.
-
-2006-01-18 Wednesday 18:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.189): Fixed anchor for LeVerge92.
-
-2006-01-18 Wednesday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_swi_prolog.m4 (1.9): Fixed the detection of
-	  SWI-Prolog version 5.6.0 or later.
-
-2006-01-18 Wednesday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_swi_prolog.m4 (altnum.1): file ac_check_swi_prolog.m4
-	  was added on branch altnum on 2006-10-29 19:27:11 +0000
-
-2006-01-18 Wednesday 16:25  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, grid1.cc, grid1_gmp.cc
-	  (grids.[57,25,1]): Add grid1_gmp for tests expected to pass only
-	  with GMP integers.  Move grid1 test19 to grid1_gmp.
-
-2006-01-18 Wednesday 13:56  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.47): Add more tracing to
-	  reduce_pc_with_pc.
-
-2006-01-18 Wednesday 13:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.153): Another typo
-	  fixed.
-
-2006-01-18 Wednesday 13:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.64): Many small improvements to the
-	  documentation of the C interface.
-
-2006-01-18 Wednesday 13:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.152): Several small
-	  corrections pointed out by Andrea.
-
-2006-01-18 Wednesday 13:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/universe1.cc (1.8),
-	  Polyhedron/addconstraints6.cc (1.7),
-	  Polyhedron/writepolyhedron3.cc (1.7): "an universe" ==> "a
-	  universe".
-
-2006-01-18 Wednesday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.types.hh (1.6): Corrected a typo in the
-	  documentation.
-
-2006-01-18 Wednesday 09:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.10): Some old compilers do not
-	  fully understand using directives/declarations.
-
-2006-01-17 Tuesday 21:30  Matthew Mundell
-
-	* tests/Grid/congruencesystem1.cc (grids.10): Revert change made
-	  during testing.
-
-2006-01-17 Tuesday 20:27  Matthew Mundell
-
-	* tests/Grid/grid4.cc (grids.2): Clear out tracing messages.
-
-2006-01-17 Tuesday 20:26  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, timeelapse1.cc, timeelapse2.cc
-	  (grids.[56,7,1]): Add timeelapse2, where the tests are expected
-	  to fail with checkedint8.  Move timeelapse1 test9 into
-	  timeelapse2.
-
-2006-01-17 Tuesday 20:07  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, grid2.cc, grid4.cc (grids.[55,21,1]):
-	  Add grid4 for tests of grids created from congruences where the
-	  tests are expected to fail with checkedint8.	Move grid2 test10
-	  into grid4.
-
-2006-01-17 Tuesday 18:24  Matthew Mundell
-
-	* src/Checked_Number.defs.hh (grids.11): Take out the four
-	  parameter gcdext_assign declaration.
-
-2006-01-17 Tuesday 17:50  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[21,19]):
-	  `incremetality' improved and simplified using by using the new
-	  mapping system. Now the Constraint taken by `incrementality' is
-	  passed by const reference.
-
-2006-01-17 Tuesday 17:03  Matthew Mundell
-
-	* tests/: ppl_test.hh, Grid/congruencesystem1.cc (grids.[18,9]):
-	  Add macro PPL_TEST_STR.  Rename macro stringify to PPL_TEST_XSTR,
-	  correcting the expansion.
-
-2006-01-17 Tuesday 16:54  Matthew Mundell
-
-	* src/globals.defs.hh (1.33): Correct the macro names in the
-	  PPL_STR and PPL_XSTR docs.
-
-2006-01-17 Tuesday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.37), README (1.44), configure.ac (1.205),
-	  debian/Makefile.am (1.1): Distribute also the contents of the
-	  `debian' subdirectory.
-
-2006-01-17 Tuesday 15:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* Watchdog/CREDITS (1.2): "inexistent" replaced by "non-existent".
-
-2006-01-17 Tuesday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.9): Corrected a name lookup
-	  problem for the output operator.
-
-2006-01-17 Tuesday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.43): Updated.
-
-2006-01-17 Tuesday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/README (1.13): Updated.
-
-2006-01-17 Tuesday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.138): Removed no longer necessary definition
-	  of DOC_FILES.
-
-2006-01-17 Tuesday 13:43  Matthew Mundell
-
-	* README (1.42): Change "source distributions" to "source
-	  distribution".
-
-2006-01-17 Tuesday 12:58  Matthew Mundell
-
-	* README.configure (1.17): Clip trailing whitespace.
-
-2006-01-17 Tuesday 12:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BDS_Status.idefs.hh (1.16), Bounding_Box.defs.hh (1.13),
-	  Checked_Number.defs.hh (1.65), Coefficient_traits_template.hh
-	  (1.6), DB_Matrix.defs.hh (1.19), DB_Row.defs.hh (1.17),
-	  Float.defs.hh (1.17), GMP_Integer.types.hh (1.13), Init.defs.hh
-	  (1.15), Interval.defs.hh (1.27), Linear_Row.defs.hh (1.18),
-	  Linear_System.defs.hh (1.24), Matrix.defs.hh (1.75),
-	  Ph_Status.idefs.hh (1.16), Row.defs.hh (1.104),
-	  Saturation_Matrix.defs.hh (1.7), Saturation_Row.defs.hh (1.10),
-	  Scalar_Products.defs.hh (1.4), Widening_Function.defs.hh (1.14),
-	  checked.defs.hh (1.33), globals.defs.hh (1.32): Added \ingroup
-	  Doxygen commands to the documentation of many
-	  implementation-related C++ type declarations.
-
-2006-01-17 Tuesday 12:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Powerset.defs.hh (1.23): Do not include (useless) header file
-	  <set>.  Do directly include header file <iterator>.
-
-2006-01-17 Tuesday 12:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: C/ppl_c.h.in (1.63), Prolog/Prolog_interface.dox
-	  (1.151): Mark the start/stop of \defgroup documentation blocks
-	  for readability.
-
-2006-01-17 Tuesday 12:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.64), devref.doxyconf-latex.in
-	  (1.7): File globals.types.hh was not considered when building the
-	  devref manual.
-
-2006-01-17 Tuesday 12:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.188): Added Doxygen group
-	  PPL_CXX_interface.
-
-2006-01-17 Tuesday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.8): Fixed the test of constant
-	  reverse iterators.
-
-2006-01-17 Tuesday 10:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Powerset.defs.hh (1.22): Typo's fixed.
-
-2006-01-17 Tuesday 09:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.62), BHRZ03_Certificate.defs.hh (1.15),
-	  C_Polyhedron.defs.hh (1.40), Checked_Number.defs.hh (1.64),
-	  Coefficient.types.hh (1.12), Constraint.defs.hh (1.115),
-	  Constraint_System.defs.hh (1.26), Determinate.defs.hh (1.61),
-	  GMP_Integer.types.hh (1.12), Generator.defs.hh (1.115),
-	  Generator_System.defs.hh (1.14), H79_Certificate.defs.hh (1.14),
-	  LP_Problem.defs.hh (1.7), LP_Problem.types.hh (1.5),
-	  Linear_Expression.defs.hh (1.19), NNC_Polyhedron.defs.hh (1.42),
-	  Poly_Con_Relation.defs.hh (1.31), Poly_Gen_Relation.defs.hh
-	  (1.29), Polyhedra_Powerset.defs.hh (1.31), Polyhedron.defs.hh
-	  (1.291), Powerset.defs.hh (1.21), Rounding_Dir.defs.hh (1.10),
-	  Topology.hh (1.12), Variable.defs.hh (1.50), globals.defs.hh
-	  (1.31), globals.types.hh (1.5), namespaces.hh (1.8),
-	  version.hh.in (1.14): Added Doxygen group PPL_CXX_interface.
-	  Added all (user-level) C++ namespaces, classes, structs, defines,
-	  typedefs and enumerations to the new group.
-
-2006-01-17 Tuesday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rounding_Dir.defs.hh (altnum.1): file Rounding_Dir.defs.hh
-	  was added on branch altnum on 2006-10-29 19:27:14 +0000
-
-2006-01-17 Tuesday 09:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Result.defs.hh (1.14): Hiding initializers of enumeration
-	  Result.  try to uniformize the documentation of enumeration
-	  values.
-
-2006-01-17 Tuesday 07:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.204): Bump version number.
-
-2006-01-17 Tuesday 07:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Powerset.defs.hh (1.20): List the availability of bool
-	  operator!=(const D& x, const D& y) among the requirements on D
-	  set by the class Powerset<D>.
-
-2006-01-17 Tuesday 07:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.7): Corrected and almost
-	  completed.
-
-2006-01-17 Tuesday 06:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.6): Removed spurious
-	  redeclaration of ps3 (it broke the build).
-
-2006-01-17 Tuesday 01:35  Matthew Mundell
-
-	* src/Powerset.defs.hh (1.19): Document the requirements for
-	  template parameter D.
-
-2006-01-17 Tuesday 01:13  Matthew Mundell
-
-	* tests/Polyhedron/powerset1.cc (1.5): Involve every method of
-	  Fcaibvp in the test.	Make std::set a private parent of Fcaibvp.
-	  Add operator==(Fcaibvp&, Fcaibvp&).
-
-2006-01-16 Monday 22:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.24): Updated.
-
-2006-01-16 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog (1.14): Updated.
-
-2006-01-16 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.187): Revised a couple of items.
-
-2006-01-16 Monday 22:25  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.39): Comment the #endif of the
-	  ascii_load doc directive.
-
-2006-01-16 Monday 22:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.186): Improved the paragraph on class BD_Shape<T>.
-
-2006-01-16 Monday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.185): Added some quotations marks.
-
-2006-01-16 Monday 20:55  Matthew Mundell
-
-	* NEWS (1.184): Change "all what is needed" to "all that is needed"
-	  and "what is the relation" to "what the relation is".
-
-2006-01-16 Monday 20:50  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.38): Mark the ascii_load doc an
-	  implementation detail.
-
-2006-01-16 Monday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.183): Drafted a news item concerning checked numbers.
-
-2006-01-16 Monday 20:00  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence_System.cc,
-	  Congruence_System.defs.hh, Grid.defs.hh, Grid_Generator.cc,
-	  Grid_Generator.defs.hh, Grid_Generator_System.cc,
-	  Grid_Generator_System.defs.hh, Grid_Status.cc,
-	  Grid_Status.idefs.hh, Grid_public.cc
-	  (grids.[21,37,41,26,94,15,24,27,20,6,7,132]): Convert all grid
-	  classes to use the PPL_OUTPUT macros.  Update
-	  generalized_affine_preimage to prefer pre-decrement.	Add a \ref
-	  to the Grid_Generator::ascii_load doc.
-
-2006-01-16 Monday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.30): Install gzipped man pages.
-
-2006-01-16 Monday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.29): The `Copyright' tag is no longer supported:
-	  use `License' instead.
-
-2006-01-16 Monday 15:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/polypowerset1.cc (1.17): Fixed tests 15 and 16.
-
-2006-01-16 Monday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.16): Fixed test14().
-
-2006-01-16 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.15): Fixed test13().
-
-2006-01-16 Monday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.14): Fixed test12().
-
-2006-01-16 Monday 15:14  Matthew Mundell
-
-	* src/: Checked_Number.defs.hh, Congruence_System.cc,
-	  GMP_Integer.defs.hh, GMP_Integer.inlines.hh, Grid_conversion.cc,
-	  Grid_nonpublic.cc (grids.[10,40,9,6,36,69]): Clear out the
-	  left-overs of the two parameter version of lcm_assign.  Always
-	  call the three parameter version.
-
-2006-01-16 Monday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: polypowerset1.cc (1.12), polypowerset1.cc
-	  (1.13): Fixed test11().
-
-2006-01-16 Monday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.11): Fixed test10().
-
-2006-01-16 Monday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.10): Fixed test6().  Do not
-	  use ints when bools are wanted.
-
-2006-01-16 Monday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.41): The PPL now also handles bounded-difference
-	  shapes.
-
-2006-01-16 Monday 14:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/Polyhedron/polypowerset1.cc (1.9): Tests added.
-
-2006-01-16 Monday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/NEWS (1.8): Release date decided.
-
-2006-01-16 Monday 14:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.182): The section "Integers Represented by Floating Point
-	  Numbers" does not belong to the user's manual.
-
-2006-01-16 Monday 14:30  Matthew Mundell
-
-	* src/: Grid_Generator.defs.hh, Grid_Generator.inlines.hh,
-	  Grid_conversion.cc, Grid_simplify.cc (grids.[23,18,35,46]): Move
-	  negate(gg, start, end) to Grid_Generator::negate(start, end).
-
-2006-01-16 Monday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.181): News items reordered.  Added a notice for the
-	  exchange of unbounded numbers with YAP.
-
-2006-01-16 Monday 14:28  Matthew Mundell
-
-	* src/: Checked_Number.inlines.hh, GMP_Integer.defs.hh,
-	  GMP_Integer.inlines.hh (grids.[9,8,5]): Rename the wrapped
-	  gcdext_assign function to gcdext_assign_r.  Take out the
-	  four-parameter gcdext_assign function.
-
-2006-01-16 Monday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.180): Added an item for the new AM_PATH_PPL Autoconf
-	  function.
-
-2006-01-16 Monday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ppl.m4 (1.4): Comparison fixed.
-
-2006-01-16 Monday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ppl.m4 (altnum.1): file ppl.m4 was added on branch altnum on
-	  2006-10-29 19:27:11 +0000
-
-2006-01-16 Monday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.150): Warn the user
-	  about the fact that YAP's support for big numbers is still very
-	  young.
-
-2006-01-16 Monday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ppl.m4 (1.3): Error message corrected.
-
-2006-01-16 Monday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Result.defs.hh (1.13): Added brief description for
-	  enumeration Result.
-
-2006-01-16 Monday 12:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/namespaces.hh (1.7): Document the Checked namespace (for the
-	  devref manula only).	Specify once and for all in the std
-	  namespace documentation that we are specializing numeric_limits
-	  and, in particular, we are temporarily doing it also for GMP
-	  types.
-
-2006-01-16 Monday 12:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/mp_numeric_limits.hh (1.7): Do not explicitly mention
-	  numeric_limits specializations in the user manual.
-
-2006-01-16 Monday 12:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Rounding_Dir.defs.hh (1.9): Added brief description for
-	  enumeration Rounding_Dir; hiding initializers.
-
-2006-01-16 Monday 12:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (1.12): Specializations of
-	  numeric_limits should be explicitly mentioned in the devref
-	  manual only.
-
-2006-01-16 Monday 12:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/checked.defs.hh (1.32): Namespaces should be documented in
-	  namespaces.hh.  Cut away another redundant documentation block.
-
-2006-01-16 Monday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.74), compiler.hh (1.7): Filter away
-	  implementation stuff from the user manual.
-
-2006-01-16 Monday 12:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.defs.hh (1.30): Fixed documentation for
-	  abandon_exponential_computations.
-
-2006-01-16 Monday 12:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Coefficient_traits_template.hh (1.5): The empty traits class
-	  is documented in the devref manual only.
-
-2006-01-16 Monday 12:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: user.doxyconf-html.in (1.36), user.doxyconf-latex.in (1.8):
-	  No longer expanding macros related to specialization of
-	  numeric_limits.
-
-2006-01-16 Monday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.63): Comments added/improved.
-
-2006-01-16 Monday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.179): Release date decided.  Improved the entry
-	  concerning ppl-config.
-
-2006-01-16 Monday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.173): To-do items for PPL 0.8 removed.  Remember to
-	  complete/write man pages for PPL 0.9.
-
-2006-01-16 Monday 11:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.121): Comment improved.
-
-2006-01-16 Monday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.62): Obsolete comment removed.
-
-2006-01-16 Monday 09:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Rounding_Dir.defs.hh (1.8): Added brief documentation for
-	  class Rounding_Dir.
-
-2006-01-16 Monday 09:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Powerset.defs.hh (1.18), Powerset.inlines.hh (1.15),
-	  Powerset.types.hh (1.5): Renamed "Constraint System" as "Domain"
-	  as in the definitions.dox.  Replaced CS by D everywhere and cs by
-	  d.  Changed the section heading Member Functions for the Direct
-	  Inspection of Disjuncts to Member Functions for the Direct
-	  Manipulation of Disjuncts Moved the methods:	 add_disjunct()
-	  drop_disjunct()   drop_disjuncts()   clear() into this section.
-
-2006-01-16 Monday 09:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.61): Improved the documentation for
-	  function input().
-
-2006-01-16 Monday 09:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: user.doxyconf-html.in (1.35), user.doxyconf-latex.in (1.7):
-	  When producing the user manuals, do not warn for undocumented
-	  members.
-
-2006-01-16 Monday 09:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_Row.defs.hh (1.17), Linear_System.defs.hh (1.23),
-	  Ptr_Iterator.defs.hh (1.7), Row.defs.hh (1.103): Do not document
-	  implementation-related classes in the user manual.
-
-2006-01-16 Monday 02:10  Matthew Mundell
-
-	* BUGS, ChangeLog, Makefile.am, NEWS, README, README.configure,
-	  STANDARDS, TODO, config.guess, config.sub, configure.ac,
-	  install-sh, instchk.hh, ltmain.sh, ppl.lsm.in, ppl.spec.in,
-	  Watchdog/ChangeLog, Watchdog/Makefile.am, Watchdog/NEWS,
-	  Watchdog/README, Watchdog/config.guess, Watchdog/config.sub,
-	  Watchdog/configure.ac, Watchdog/install-sh, Watchdog/ltmain.sh,
-	  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/Makefile.in, 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.cc, Watchdog/src/Pending_List.defs.hh,
-	  Watchdog/src/Pending_List.inlines.hh,
-	  Watchdog/src/Pending_List.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/utils/Makefile.am, Watchdog/utils/build_header.in,
-	  debian/changelog, debian/control, debian/control.prologs,
-	  debian/libppl-dev.install, debian/libppl-pwl.install,
-	  debian/libppl.dirs, debian/libppl.install, debian/rules,
-	  demos/Makefile.am, demos/ppl_lcdd/Makefile.am,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/Makefile.am,
-	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
-	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
-	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
-	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
-	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
-	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
-	  doc/README.doc, doc/definitions.dox, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/devref.tex, doc/ppl-config.1,
-	  doc/ppl.sty, doc/ppl_lcdd.1, doc/ppl_lpsol.1,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  doc/user.tex, interfaces/Makefile.am, interfaces/C/Makefile.am,
-	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
-	  interfaces/OCaml/Makefile.am, interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ciao_clpq.pl,
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/GNU/gp_clpq.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.h,
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
-	  interfaces/Prolog/SICStus/sp_clpq.pl,
-	  interfaces/Prolog/SICStus/sp_pl_check.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/pl_clpq.cc,
-	  interfaces/Prolog/SWI/pl_clpq.pl,
-	  interfaces/Prolog/SWI/ppl_pl.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected_clpq2_int16,
-	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int32,
-	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int64,
-	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int8,
-	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
-	  interfaces/Prolog/XSB/expected_clpq_int16,
-	  interfaces/Prolog/XSB/expected_clpq_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq_int32,
-	  interfaces/Prolog/XSB/expected_clpq_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq_int64,
-	  interfaces/Prolog/XSB/expected_clpq_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq_int8,
-	  interfaces/Prolog/XSB/expected_clpq_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq_mpz,
-	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
-	  interfaces/Prolog/XSB/expected_pchk_int16,
-	  interfaces/Prolog/XSB/expected_pchk_int16_a,
-	  interfaces/Prolog/XSB/expected_pchk_int32,
-	  interfaces/Prolog/XSB/expected_pchk_int32_a,
-	  interfaces/Prolog/XSB/expected_pchk_int64_a,
-	  interfaces/Prolog/XSB/expected_pchk_int8,
-	  interfaces/Prolog/XSB/expected_pchk_int8_a,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/YAP/ppl_yap.pl,
-	  interfaces/Prolog/YAP/yap_clpq.pl,
-	  interfaces/Prolog/YAP/yap_clpq2.pl,
-	  interfaces/Prolog/YAP/yap_pl_check.pl,
-	  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/expected_pchk_int16,
-	  interfaces/Prolog/tests/expected_pchk_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int32,
-	  interfaces/Prolog/tests/expected_pchk_int32_a,
-	  interfaces/Prolog/tests/expected_pchk_int64_a,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/pl_check.pl, m4/Makefile.am,
-	  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_cxx_attribute_weak.m4, m4/ac_cxx_double_is_iec_559.m4,
-	  m4/ac_cxx_flexible_arrays.m4, m4/ac_cxx_float_is_iec_559.m4,
-	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_double_is_iec_559.m4,
-	  m4/ac_cxx_long_long.m4, m4/ppl.m4, src/Ask_Tell.defs.hh,
-	  src/Ask_Tell.inlines.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.types.hh, src/BHRZ03_Certificate.cc,
-	  src/BHRZ03_Certificate.defs.hh,
-	  src/BHRZ03_Certificate.inlines.hh,
-	  src/BHRZ03_Certificate.types.hh, src/Bounding_Box.cc,
-	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
-	  src/Bounding_Box.types.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.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/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.types.hh,
-	  src/DB_Row.defs.hh, src/DB_Row.inlines.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.inlines.hh, src/Grid_Generator.cc,
-	  src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
-	  src/Grid_conversion.cc, src/Grid_nonpublic.cc,
-	  src/Grid_public.cc, src/Grid_simplify.cc, src/H79_Certificate.cc,
-	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
-	  src/H79_Certificate.types.hh, src/Init.cc, src/Init.defs.hh,
-	  src/Init.types.hh, src/Interval.cc, src/Interval.defs.hh,
-	  src/Interval.inlines.hh, src/Interval.types.hh,
-	  src/LP_Problem.cc, src/LP_Problem.defs.hh,
-	  src/LP_Problem.inlines.hh, src/LP_Problem.types.hh,
-	  src/Limits.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/Makefile.am, src/Matrix.cc,
-	  src/Matrix.defs.hh, src/Matrix.inlines.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/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
-	  src/Native_Integer.types.hh, src/Numeric_Format.defs.hh,
-	  src/Ph_Status.cc, src/Ph_Status.idefs.hh,
-	  src/Ph_Status.inlines.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/Polyhedra_Powerset.cc,
-	  src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh,
-	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.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.types.hh, src/Ptr_Iterator.defs.hh,
-	  src/Ptr_Iterator.inlines.hh, src/Ptr_Iterator.types.hh,
-	  src/Result.defs.hh, src/Result.inlines.hh,
-	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
-	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
-	  src/Row.types.hh, src/Saturation_Matrix.cc,
-	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
-	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
-	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
-	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
-	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
-	  src/Scalar_Products.types.hh, src/Topology.hh, src/Variable.cc,
-	  src/Variable.defs.hh, src/Variable.inlines.hh,
-	  src/Variable.types.hh, src/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
-	  src/algorithms.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/float.types.hh,
-	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
-	  src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.cc,
-	  src/globals.defs.hh, src/globals.inlines.hh,
-	  src/globals.types.hh, src/initializer.hh,
-	  src/max_space_dimension.hh, src/minimize.cc,
-	  src/mp_numeric_limits.hh, src/namespaces.hh,
-	  src/ppl-config.cc.in, src/ppl_header.hh, src/simplex.cc,
-	  src/simplify.cc, src/swapping_sort.icc, src/version.cc,
-	  src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
-	  tests/Makefile.am, tests/PFunction.cc, tests/PFunction.hh,
-	  tests/Random_Number_Generator.defs.hh,
-	  tests/Random_Number_Generator.inlines.hh,
-	  tests/Random_Number_Generator.types.hh, tests/ehandlers.cc,
-	  tests/ehandlers.hh, tests/files.cc, tests/files.hh,
-	  tests/ppl_test.hh, tests/print.cc, tests/print.hh,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
-	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
-	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
-	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
-	  tests/BD_Shape/addspacedims7.cc,
-	  tests/BD_Shape/affinedimension1.cc,
-	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage10.cc,
-	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
-	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
-	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
-	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/affinepreimage2.cc,
-	  tests/BD_Shape/affinepreimage3.cc,
-	  tests/BD_Shape/affinepreimage4.cc,
-	  tests/BD_Shape/affinepreimage5.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/ascii_dump_load2.cc,
-	  tests/BD_Shape/bdsdifference1.cc,
-	  tests/BD_Shape/bdsdifference2.cc,
-	  tests/BD_Shape/bdsdifference3.cc,
-	  tests/BD_Shape/bdsdifference4.cc,
-	  tests/BD_Shape/bdsdifference5.cc,
-	  tests/BD_Shape/bdsdifference6.cc,
-	  tests/BD_Shape/bdsdifference7.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bdshull2.cc, tests/BD_Shape/bdshull3.cc,
-	  tests/BD_Shape/bdshull4.cc,
-	  tests/BD_Shape/bgp99extrapolation1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc,
-	  tests/BD_Shape/bhmz05widening2.cc,
-	  tests/BD_Shape/bhmz05widening3.cc,
-	  tests/BD_Shape/bhmz05widening4.cc,
-	  tests/BD_Shape/bhmz05widening5.cc,
-	  tests/BD_Shape/bhmz05widening6.cc,
-	  tests/BD_Shape/bhmz05widening7.cc,
-	  tests/BD_Shape/bhmz05widening8.cc,
-	  tests/BD_Shape/bhz03widening1.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76extrapolation2.cc,
-	  tests/BD_Shape/cc76extrapolation3.cc,
-	  tests/BD_Shape/cc76extrapolation4.cc,
-	  tests/BD_Shape/cc76extrapolation5.cc,
-	  tests/BD_Shape/cc76extrapolation6.cc,
-	  tests/BD_Shape/cc76narrowing1.cc,
-	  tests/BD_Shape/cc76narrowing2.cc,
-	  tests/BD_Shape/cc76narrowing3.cc,
-	  tests/BD_Shape/cc76narrowing4.cc,
-	  tests/BD_Shape/cc76narrowing5.cc,
-	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
-	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
-	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
-	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
-	  tests/BD_Shape/closure1.cc, tests/BD_Shape/concatenate1.cc,
-	  tests/BD_Shape/concatenate2.cc, tests/BD_Shape/concatenate3.cc,
-	  tests/BD_Shape/concatenate4.cc, tests/BD_Shape/concatenate5.cc,
-	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/constraints2.cc,
-	  tests/BD_Shape/contains1.cc, tests/BD_Shape/contains2.cc,
-	  tests/BD_Shape/contains3.cc, tests/BD_Shape/empty1.cc,
-	  tests/BD_Shape/empty2.cc, tests/BD_Shape/empty3.cc,
-	  tests/BD_Shape/empty4.cc, tests/BD_Shape/empty5.cc,
-	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
-	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
-	  tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage10.cc,
-	  tests/BD_Shape/generalizedaffineimage11.cc,
-	  tests/BD_Shape/generalizedaffineimage12.cc,
-	  tests/BD_Shape/generalizedaffineimage13.cc,
-	  tests/BD_Shape/generalizedaffineimage14.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffineimage3.cc,
-	  tests/BD_Shape/generalizedaffineimage4.cc,
-	  tests/BD_Shape/generalizedaffineimage5.cc,
-	  tests/BD_Shape/generalizedaffineimage6.cc,
-	  tests/BD_Shape/generalizedaffineimage7.cc,
-	  tests/BD_Shape/generalizedaffineimage8.cc,
-	  tests/BD_Shape/generalizedaffineimage9.cc,
-	  tests/BD_Shape/generalizedaffinepreimage1.cc,
-	  tests/BD_Shape/generalizedaffinepreimage2.cc,
-	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
-	  tests/BD_Shape/intersection1.cc, tests/BD_Shape/intersection2.cc,
-	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
-	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
-	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
-	  tests/BD_Shape/limitedCC76extrapolation1.cc,
-	  tests/BD_Shape/limitedCC76extrapolation2.cc,
-	  tests/BD_Shape/limitedCC76extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation1.cc,
-	  tests/BD_Shape/limitedCH78extrapolation2.cc,
-	  tests/BD_Shape/limitedCH78extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation4.cc,
-	  tests/BD_Shape/limitedCH78extrapolation5.cc,
-	  tests/BD_Shape/limitedCH78extrapolation6.cc,
-	  tests/BD_Shape/limitedCH78extrapolation7.cc,
-	  tests/BD_Shape/limitedCH78extrapolation8.cc,
-	  tests/BD_Shape/limitedCH78extrapolation9.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation2.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation3.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation4.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation5.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation6.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation7.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation8.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation9.cc,
-	  tests/BD_Shape/limitedcc76extrapolation1.cc,
-	  tests/BD_Shape/limitedcc76extrapolation2.cc,
-	  tests/BD_Shape/limitedcc76extrapolation3.cc,
-	  tests/BD_Shape/limitedh79extrapolation1.cc,
-	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
-	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
-	  tests/BD_Shape/maxspacedim.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/relations5.cc, tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/removespacedims2.cc,
-	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
-	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
-	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
-	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
-	  tests/BD_Shape/writebdshape1.cc, tests/BD_Shape/writebdshape2.cc,
-	  tests/Polyhedron/CbecomesNNC1.cc,
-	  tests/Polyhedron/LP_Problem3.cc, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/NNCbecomesC1.cc,
-	  tests/Polyhedron/NNCminimize1.cc,
-	  tests/Polyhedron/NNCminimize2.cc,
-	  tests/Polyhedron/NNCminimize3.cc,
-	  tests/Polyhedron/NNCminimize4.cc,
-	  tests/Polyhedron/NNCminimize5.cc,
-	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
-	  tests/Polyhedron/addconstraint1.cc,
-	  tests/Polyhedron/addconstraint2.cc,
-	  tests/Polyhedron/addconstraint3.cc,
-	  tests/Polyhedron/addconstraints1.cc,
-	  tests/Polyhedron/addconstraints10.cc,
-	  tests/Polyhedron/addconstraints11.cc,
-	  tests/Polyhedron/addconstraints12.cc,
-	  tests/Polyhedron/addconstraints13.cc,
-	  tests/Polyhedron/addconstraints2.cc,
-	  tests/Polyhedron/addconstraints3.cc,
-	  tests/Polyhedron/addconstraints4.cc,
-	  tests/Polyhedron/addconstraints5.cc,
-	  tests/Polyhedron/addconstraints6.cc,
-	  tests/Polyhedron/addconstraints7.cc,
-	  tests/Polyhedron/addconstraints8.cc,
-	  tests/Polyhedron/addconstraints9.cc,
-	  tests/Polyhedron/addgenerator1.cc,
-	  tests/Polyhedron/addgenerator2.cc,
-	  tests/Polyhedron/addgenerator3.cc,
-	  tests/Polyhedron/addgenerator4.cc,
-	  tests/Polyhedron/addgenerator5.cc,
-	  tests/Polyhedron/addgenerators1.cc,
-	  tests/Polyhedron/addgenerators10.cc,
-	  tests/Polyhedron/addgenerators11.cc,
-	  tests/Polyhedron/addgenerators12.cc,
-	  tests/Polyhedron/addgenerators13.cc,
-	  tests/Polyhedron/addgenerators2.cc,
-	  tests/Polyhedron/addgenerators3.cc,
-	  tests/Polyhedron/addgenerators4.cc,
-	  tests/Polyhedron/addgenerators5.cc,
-	  tests/Polyhedron/addgenerators6.cc,
-	  tests/Polyhedron/addgenerators7.cc,
-	  tests/Polyhedron/addgenerators8.cc,
-	  tests/Polyhedron/addgenerators9.cc,
-	  tests/Polyhedron/addspacedims1.cc,
-	  tests/Polyhedron/addspacedims10.cc,
-	  tests/Polyhedron/addspacedims11.cc,
-	  tests/Polyhedron/addspacedims12.cc,
-	  tests/Polyhedron/addspacedims13.cc,
-	  tests/Polyhedron/addspacedims2.cc,
-	  tests/Polyhedron/addspacedims3.cc,
-	  tests/Polyhedron/addspacedims4.cc,
-	  tests/Polyhedron/addspacedims5.cc,
-	  tests/Polyhedron/addspacedims6.cc,
-	  tests/Polyhedron/addspacedims7.cc,
-	  tests/Polyhedron/addspacedims8.cc,
-	  tests/Polyhedron/addspacedims9.cc,
-	  tests/Polyhedron/affineimage1.cc,
-	  tests/Polyhedron/affineimage2.cc,
-	  tests/Polyhedron/affineimage3.cc,
-	  tests/Polyhedron/affineimage4.cc,
-	  tests/Polyhedron/affineimage5.cc,
-	  tests/Polyhedron/affineimage6.cc,
-	  tests/Polyhedron/affineimage7.cc,
-	  tests/Polyhedron/affineimage8.cc,
-	  tests/Polyhedron/affineimage9.cc,
-	  tests/Polyhedron/affinepreimage1.cc,
-	  tests/Polyhedron/affinepreimage10.cc,
-	  tests/Polyhedron/affinepreimage11.cc,
-	  tests/Polyhedron/affinepreimage12.cc,
-	  tests/Polyhedron/affinepreimage2.cc,
-	  tests/Polyhedron/affinepreimage3.cc,
-	  tests/Polyhedron/affinepreimage4.cc,
-	  tests/Polyhedron/affinepreimage5.cc,
-	  tests/Polyhedron/affinepreimage6.cc,
-	  tests/Polyhedron/affinepreimage7.cc,
-	  tests/Polyhedron/affinepreimage8.cc,
-	  tests/Polyhedron/affinepreimage9.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/ascii_dump_load4.cc,
-	  tests/Polyhedron/ascii_dump_load5.cc,
-	  tests/Polyhedron/ascii_dump_load6.cc,
-	  tests/Polyhedron/ascii_dump_load7.cc,
-	  tests/Polyhedron/bgp99extrapolation1.cc,
-	  tests/Polyhedron/bgp99extrapolation2.cc,
-	  tests/Polyhedron/bhrz03widening1.cc,
-	  tests/Polyhedron/bhrz03widening10.cc,
-	  tests/Polyhedron/bhrz03widening11.cc,
-	  tests/Polyhedron/bhrz03widening12.cc,
-	  tests/Polyhedron/bhrz03widening13.cc,
-	  tests/Polyhedron/bhrz03widening14.cc,
-	  tests/Polyhedron/bhrz03widening15.cc,
-	  tests/Polyhedron/bhrz03widening16.cc,
-	  tests/Polyhedron/bhrz03widening17.cc,
-	  tests/Polyhedron/bhrz03widening18.cc,
-	  tests/Polyhedron/bhrz03widening19.cc,
-	  tests/Polyhedron/bhrz03widening2.cc,
-	  tests/Polyhedron/bhrz03widening3.cc,
-	  tests/Polyhedron/bhrz03widening4.cc,
-	  tests/Polyhedron/bhrz03widening5.cc,
-	  tests/Polyhedron/bhrz03widening6.cc,
-	  tests/Polyhedron/bhrz03widening7.cc,
-	  tests/Polyhedron/bhrz03widening8.cc,
-	  tests/Polyhedron/bhrz03widening9.cc,
-	  tests/Polyhedron/bhz03widening1.cc,
-	  tests/Polyhedron/bhz03widening2.cc,
-	  tests/Polyhedron/bhz03widening3.cc,
-	  tests/Polyhedron/bhz03widening4.cc,
-	  tests/Polyhedron/bhz03widening5.cc,
-	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
-	  tests/Polyhedron/boundedaffineimage1.cc,
-	  tests/Polyhedron/boundedaffineimage2.cc,
-	  tests/Polyhedron/boundedaffineimage3.cc,
-	  tests/Polyhedron/boundedaffinepreimage1.cc,
-	  tests/Polyhedron/boundedaffinepreimage2.cc,
-	  tests/Polyhedron/boundedaffinepreimage3.cc,
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/boundedh79extrapolation1.cc,
-	  tests/Polyhedron/boundingbox1.cc,
-	  tests/Polyhedron/boundingbox2.cc,
-	  tests/Polyhedron/boundingbox3.cc,
-	  tests/Polyhedron/boundingbox4.cc,
-	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
-	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/bug2.cc,
-	  tests/Polyhedron/concatenate1.cc,
-	  tests/Polyhedron/concatenate2.cc,
-	  tests/Polyhedron/concatenate3.cc,
-	  tests/Polyhedron/concatenate4.cc,
-	  tests/Polyhedron/concatenate5.cc,
-	  tests/Polyhedron/concatenate6.cc,
-	  tests/Polyhedron/concatenate7.cc,
-	  tests/Polyhedron/constraints1.cc,
-	  tests/Polyhedron/constraints2.cc,
-	  tests/Polyhedron/constraints3.cc,
-	  tests/Polyhedron/constraints4.cc,
-	  tests/Polyhedron/constraints5.cc, tests/Polyhedron/contains1.cc,
-	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
-	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
-	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
-	  tests/Polyhedron/disjoint3.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/generalizedaffineimage1.cc,
-	  tests/Polyhedron/generalizedaffineimage10.cc,
-	  tests/Polyhedron/generalizedaffineimage11.cc,
-	  tests/Polyhedron/generalizedaffineimage12.cc,
-	  tests/Polyhedron/generalizedaffineimage13.cc,
-	  tests/Polyhedron/generalizedaffineimage14.cc,
-	  tests/Polyhedron/generalizedaffineimage2.cc,
-	  tests/Polyhedron/generalizedaffineimage3.cc,
-	  tests/Polyhedron/generalizedaffineimage4.cc,
-	  tests/Polyhedron/generalizedaffineimage5.cc,
-	  tests/Polyhedron/generalizedaffineimage6.cc,
-	  tests/Polyhedron/generalizedaffineimage7.cc,
-	  tests/Polyhedron/generalizedaffineimage8.cc,
-	  tests/Polyhedron/generalizedaffineimage9.cc,
-	  tests/Polyhedron/generalizedaffinepreimage1.cc,
-	  tests/Polyhedron/generalizedaffinepreimage2.cc,
-	  tests/Polyhedron/generalizedaffinepreimage3.cc,
-	  tests/Polyhedron/generalizedaffinepreimage4.cc,
-	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
-	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
-	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
-	  tests/Polyhedron/generators7.cc, tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/gramschmidt1.cc,
-	  tests/Polyhedron/h79widening1.cc,
-	  tests/Polyhedron/h79widening2.cc,
-	  tests/Polyhedron/h79widening3.cc,
-	  tests/Polyhedron/h79widening4.cc,
-	  tests/Polyhedron/h79widening5.cc,
-	  tests/Polyhedron/h79widening6.cc,
-	  tests/Polyhedron/h79widening7.cc,
-	  tests/Polyhedron/h79widening8.cc,
-	  tests/Polyhedron/intersection1.cc,
-	  tests/Polyhedron/intersection10.cc,
-	  tests/Polyhedron/intersection11.cc,
-	  tests/Polyhedron/intersection2.cc,
-	  tests/Polyhedron/intersection3.cc,
-	  tests/Polyhedron/intersection4.cc,
-	  tests/Polyhedron/intersection5.cc,
-	  tests/Polyhedron/intersection6.cc,
-	  tests/Polyhedron/intersection7.cc,
-	  tests/Polyhedron/intersection8.cc,
-	  tests/Polyhedron/intersection9.cc,
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation2.cc,
-	  tests/Polyhedron/limitedh79extrapolation3.cc,
-	  tests/Polyhedron/limitedh79extrapolation4.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/linearpartition2.cc,
-	  tests/Polyhedron/linearpartition3.cc,
-	  tests/Polyhedron/linearpartition4.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/linexpression1.cc,
-	  tests/Polyhedron/lpproblem1.cc, tests/Polyhedron/lpproblem2.cc,
-	  tests/Polyhedron/lpproblem3.cc,
-	  tests/Polyhedron/mapspacedims1.cc,
-	  tests/Polyhedron/mapspacedims2.cc,
-	  tests/Polyhedron/mapspacedims3.cc,
-	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/matrix1.cc,
-	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/max_min2.cc,
-	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
-	  tests/Polyhedron/membytes1.cc, tests/Polyhedron/membytes2.cc,
-	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
-	  tests/Polyhedron/minconstraints1.cc,
-	  tests/Polyhedron/minconstraints2.cc,
-	  tests/Polyhedron/minconstraints3.cc,
-	  tests/Polyhedron/minconstraints4.cc,
-	  tests/Polyhedron/mingenerators1.cc,
-	  tests/Polyhedron/mingenerators2.cc,
-	  tests/Polyhedron/mingenerators3.cc,
-	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
-	  tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polydifference3.cc,
-	  tests/Polyhedron/polydifference4.cc,
-	  tests/Polyhedron/polydifference5.cc,
-	  tests/Polyhedron/polydifference6.cc,
-	  tests/Polyhedron/polydifference7.cc,
-	  tests/Polyhedron/polydifference8.cc,
-	  tests/Polyhedron/polydifference9.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
-	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
-	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
-	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
-	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/polypowerset1.cc,
-	  tests/Polyhedron/powerset1.cc,
-	  tests/Polyhedron/primalsimplex1.cc,
-	  tests/Polyhedron/primalsimplex2.cc,
-	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
-	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
-	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
-	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
-	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
-	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
-	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
-	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
-	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
-	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
-	  tests/Polyhedron/relations9.cc,
-	  tests/Polyhedron/removespacedims1.cc,
-	  tests/Polyhedron/removespacedims10.cc,
-	  tests/Polyhedron/removespacedims2.cc,
-	  tests/Polyhedron/removespacedims3.cc,
-	  tests/Polyhedron/removespacedims4.cc,
-	  tests/Polyhedron/removespacedims5.cc,
-	  tests/Polyhedron/removespacedims6.cc,
-	  tests/Polyhedron/removespacedims7.cc,
-	  tests/Polyhedron/removespacedims8.cc,
-	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
-	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
-	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
-	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
-	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
-	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
-	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
-	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
-	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
-	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
-	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
-	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
-	  tests/Polyhedron/universe7.cc, tests/Polyhedron/watchdog1.cc,
-	  tests/Polyhedron/writeconsys1.cc,
-	  tests/Polyhedron/writegensys1.cc,
-	  tests/Polyhedron/writegensys2.cc,
-	  tests/Polyhedron/writegensys3.cc,
-	  tests/Polyhedron/writepolyhedron1.cc,
-	  tests/Polyhedron/writepolyhedron2.cc,
-	  tests/Polyhedron/writepolyhedron3.cc,
-	  tests/Polyhedron/writerelation1.cc,
-	  tests/Polyhedron/writevariable1.cc, utils/Makefile.am,
-	  utils/build_header.in, utils/text2cxxarray.in, utils/timings.cc,
-	  utils/timings.hh
-	  (grids.[1,2,5,5,3,3,9,17,4,3,9,3,2,3,1,2,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,2,2,2,2,2,2,2,2,2,2,5,2,3,2,2,2,2,2,2,2,2,2,2,5,2,6,3,10,6,3,2,2,5,2,2,5,3,2,2,2,6,6,2,2,4,3,5,2,5,2,2,3,3,3,4,2,3,2,3,3,5,2,4,2,2,2,2,3,7,2,2,2,4,2,3,5,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,4,4,3,3,4,4,5,2,2,2,2,3,2,2,2,2,2,3,2,2,3,3,2,2,3,3,2,2,2,2,2,2,2,2,4,4,4,4,3,4,4,4,2,2,3,4,3,2,2,2,2,2,2,2,2,3,2,1,4,4,2,7,7,1,3,3,2,1,4,4,4,1,4,4,3,1,3,9,8 [...]
-	  Seventh (last but one?) merge of the main trunk to the grids
-	  branch.
-
-2006-01-15 Sunday 22:22  Matthew Mundell
-
-	* src/Grid_Generator_System.inlines.hh (grids.12): Update method
-	  clear to add the parameter divisor column after clearing.  Add
-	  notes that the size adjustments in the space dimension returning
-	  methods are for the parameter divisor column.
-
-2006-01-15 Sunday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.203): Commented out the code for the
-	  --enable-instantiations option (since it does not belong to this
-	  release).
-
-2006-01-15 Sunday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.178): Also the C interface is controlled by
-	  --enable-interfaces.
-
-2006-01-15 Sunday 22:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.202), demos/ppl_lpsol/Makefile.am (1.20),
-	  interfaces/C/Makefile.am (1.23): Allow the C interface not to be
-	  built using the --enable-interfaces configure option.
-
-2006-01-15 Sunday 21:57  Matthew Mundell
-
-	* src/checked.inlines.hh (grids.9): Update gcdext_exact to always
-	  return errors from functions abs and neg.  Describe the COPY_GMP
-	  directive.
-
-2006-01-15 Sunday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.172): Powerset::meet_assign() will not be renamed.
-
-2006-01-15 Sunday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.60): Added several Doxygen comments
-	  and some vertical space.  Fixed a couple of comments.
-
-2006-01-15 Sunday 20:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/DB_Matrix.defs.hh (1.18): Let ascii_load documentation show
-	  in the developers' manual only.
-
-2006-01-15 Sunday 20:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BDS_Status.inlines.hh (1.12): Fixed a \relates Doxygen
-	  command.
-
-2006-01-15 Sunday 18:48  Matthew Mundell
-
-	* src/Grid_widenings.cc (grids.12): Only add the limiting
-	  congruences if widening will changes the grid.
-
-2006-01-15 Sunday 17:42  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am (1.45), affinepreimage12.cc (1.1):
-	  Add affinepreimage12, which tests the examples from
-	  definitions.dox.
-
-2006-01-15 Sunday 17:42  Matthew Mundell
-
-	* tests/Polyhedron/affinepreimage12.cc (grids.1): file
-	  affinepreimage12.cc was added on branch grids on 2006-01-16
-	  01:10:40 +0000
-
-2006-01-15 Sunday 16:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/README.doc (1.9): Changed: "all you need is to find it" to
-	  "all you need to do is to find it".  "to build." to "to be
-	  built." determined before"" to "already determined".
-
-2006-01-15 Sunday 16:53  Matthew Mundell
-
-	* src/Checked_Number.defs.hh (1.59): Change "proviso" to
-	  "provisos".
-
-2006-01-15 Sunday 16:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/README.doc (1.8): Changed "willing" to "wishing".
-
-2006-01-15 Sunday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.149): Tried to specify
-	  which versions of XSB can be expected to work and which not.	It
-	  is a disaster, but there is little we can do about that.
-
-2006-01-15 Sunday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.44), lpproblem1.cc (1.4),
-	  lpproblem3.cc (1.2): Added another test for LP_Problem.  Avoid
-	  redundnat inclusion in lpproblem1.cc.
-
-2006-01-15 Sunday 14:27  Matthew Mundell
-
-	* tests/Polyhedron/lpproblem1.cc (grids.1): file lpproblem1.cc was
-	  added on branch grids on 2006-01-16 01:10:41 +0000
-
-2006-01-15 Sunday 14:27  Matthew Mundell
-
-	* tests/Polyhedron/lpproblem3.cc (grids.1): file lpproblem3.cc was
-	  added on branch grids on 2006-01-16 01:10:41 +0000
-
-2006-01-15 Sunday 13:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.84): Backtracking: XSB does
-	  not support 32-bit integers.
-
-2006-01-15 Sunday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.187): Corrected the result for the example
-	  on affine preimages as well as a typo, both signaled by Matthew.
-
-2006-01-15 Sunday 11:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.30): Revised tests for
-	  ppl_Coefficient_max/1 and ppl_Coefficient_min/1.  Reduced the
-	  maximum and minimum integer that can be handled by XSB to 2^28-1
-	  and -2^28 respectively.
-
-2006-01-15 Sunday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.174): Predicates
-	  ppl_Coefficient_min/1 and ppl_Coefficient_max/1 now fail if the
-	  respective values are not representable as Prolog integers.
-	  Avoid compiler warnings.  Indentation fixed.
-
-2006-01-15 Sunday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: SICStus/ppl_sicstus_sd.cc (1.89),
-	  YAP/ppl_yap.cc (1.112): Declare and initialize
-	  Prolog_min_integer.  Avoid a compiler warning.
-
-2006-01-15 Sunday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.117): Initialize
-	  Prolog_min_integer and Prolog_max_integer.
-
-2006-01-15 Sunday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/ppl_gprolog_sd.cc (1.37), XSB/ppl_xsb.cc
-	  (1.83): Avoid a compiler warning.
-
-2006-01-15 Sunday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.44): Define
-	  Prolog_min_integer.  Avoid a compiler warning.
-
-2006-01-15 Sunday 09:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.87): Implementation of
-	  ppl_Coefficient_is_bounded/0 improved.
-
-2006-01-15 Sunday 03:29  Andrea Cimino
-
-	* tests/Polyhedron/: Makefile.am, lpproblem3.cc (simplex.[4,1]):
-	  Added another test for LP_Problem.
-
-2006-01-14 Saturday 22:48  Matthew Mundell
-
-	* doc/definitions.dox (1.186): Revert last change.
-
-2006-01-14 Saturday 22:17  Matthew Mundell
-
-	* doc/definitions.dox (1.185): Replace "there exist a matrix" with
-	  "there exists a matrix" in subsection "Images and Preimages of
-	  Affine Transfer Relations".
-
-2006-01-14 Saturday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.82): In XSB 2.7.1,
-	  <cinterf.h> no longer pollutes the namespace with `min' and
-	  `max'.  However, in XSB 2.7.1, <error_xsb.h> still does not come
-	  with the extern "C" wrapper.
-
-2006-01-14 Saturday 20:30  Matthew Mundell
-
-	* doc/definitions.dox (1.184): Change the first \leq in the affine
-	  relation definition in subsection Generalized_Affine_Relations to
-	  \relsym.
-
-2006-01-14 Saturday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.148): Removed an
-	  obsolete (and actually misleading) sentence about the XSB
-	  interface.
-
-2006-01-14 Saturday 19:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.58): Two corrections to the
-	  documentation of input(): acceptable bases are in the range 2-36;
-	  bases (as well as exponents) are always written as plain base-10
-	  integers.
-
-2006-01-14 Saturday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.81): Two FIXMEs turned into
-	  TODOs: we can do nothing about them until the XSB people fix
-	  their header file.
-
-2006-01-14 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.36): Two FIXMEs turned
-	  into TODOs: we can do nothing about them until the GNU Prolog
-	  people fix their header file.
-
-2006-01-14 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.43): Two FIXMEs turned into
-	  TODOs: we can do nothing about them until the Ciao people fix
-	  their header file.
-
-2006-01-14 Saturday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.111): Two FIXME's resolved.
-
-2006-01-14 Saturday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.42): Two FIXMEs resolved.
-
-2006-01-14 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.171): We are well under 40 FIXMEs.  For PPL 0.9 the
-	  objective is to go below 20.
-
-2006-01-14 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: user.doxyconf-html.in (1.34), user.doxyconf-latex.in (1.6):
-	  Added PPL_SPECIALIZE_LIMITS_INT and PPL_SPECIALIZE_LIMITS_FLOAT
-	  to EXPAND_AS_DEFINED.
-
-2006-01-14 Saturday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.30): Extended the section on limiting the visibility
-	  of everything.  Some material that was in the section about
-	  macros has been moved here.
-
-2006-01-14 Saturday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_numeric_limits.hh (1.6): Comments revised so as to avoid
-	  redundancy.
-
-2006-01-14 Saturday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (1.11): Macros
-	  SPECIALIZE_LIMITS_INT and SPECIALIZE_LIMITS_FLOAT renamed
-	  PPL_SPECIALIZE_LIMITS_INT and PPL_SPECIALIZE_LIMITS_FLOAT,
-	  respectively.  They are also undefined as soon as no longer
-	  necessary.  Partial specializations of std::numeric_limits
-	  provided with a Doxygen comment.
-
-2006-01-14 Saturday 16:44  Matthew Mundell
-
-	* NEWS (1.177): Always indent code with two spaces.  Convert tabs
-	  to spaces.
-
-2006-01-14 Saturday 16:41  Matthew Mundell
-
-	* NEWS (1.176): Correct spelling of "publicly".
-
-2006-01-14 Saturday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.137): Generate ppl.hh simply as a copy of
-	  ppl_install.hh.  The old kludge to generate ppl.hh has simply
-	  been comments out, in case the new method proves to yield worse
-	  user documentation (via Doxygen).
-
-2006-01-14 Saturday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.151): FIXME resolved.
-
-2006-01-14 Saturday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/namespaces.hh (1.6): In the documentation of namespace std,
-	  specify that we also specialize std::numeric_limits.
-
-2006-01-14 Saturday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_numeric_limits.hh (1.5): Specializations for
-	  std::numeric_limits commented.
-
-2006-01-14 Saturday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.57): Improved the documentation for
-	  input(std::istream&, Checked_Number<T, Policy>&, Rounding_Dir).
-
-2006-01-14 Saturday 15:48  Matthew Mundell
-
-	* Watchdog/NEWS (1.7): Add detail to the 0.5 Time entry.
-
-2006-01-14 Saturday 15:37  Matthew Mundell
-
-	* Watchdog/NEWS (1.6): Update 0.8 entries from ChangeLog.
-
-2006-01-14 Saturday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.24): Added three new tests.
-
-2006-01-14 Saturday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.150): Two FIXMEs resolved.  Be
-	  consistent in the use of assign_r().
-
-2006-01-14 Saturday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.62): Typo fixed.
-
-2006-01-14 Saturday 14:12  Matthew Mundell
-
-	* NEWS (1.175): Update 0.8 entries from ChangeLog.
-
-2006-01-14 Saturday 13:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Powerset.defs.hh (1.17), Powerset.inlines.hh (1.14):
-	  Iterators for Powerset renamed as omega_iterator and
-	  omega_const_iterator.  Added corresponding typedefs for the
-	  previous naming and documented the typedefs.
-
-2006-01-14 Saturday 13:48  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh (1.56): Added empty fractional to
-	  formal syntax.
-
-2006-01-14 Saturday 13:38  Abramo Bagnara
-
-	* src/checked.cc (1.15), tests/Polyhedron/numberinput1.cc (1.23):
-	  Allow empty fractional part.
-
-2006-01-14 Saturday 12:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.55): Completed a draft
-	  documentation for Result input(std::istream& is,
-	  Checked_Number<T, Policy>& x, Rounding_Dir dir).
-
-2006-01-14 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.174), README (1.40): Reworded a couple of sentences.
-
-2006-01-14 Saturday 08:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.29): Corrected a test for
-	  ppl_Coefficient_min/1.
-
-2006-01-13 Friday 22:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* README (1.39): Added bullet about linear programming problem
-	  solver.  Minor language improvements.
-
-2006-01-13 Friday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (1.10): Cosmetic changes.
-
-2006-01-13 Friday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_numeric_limits.hh (1.4): Fixed: all specializations of
-	  std::numeric_limits must have the `is_specialized' field set to
-	  true.
-
-2006-01-13 Friday 19:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.54): Include
-	  "checked_numeric_limits.hh".	Long line broken.
-
-2006-01-13 Friday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.173): Do not write
-	  std::numeric_limits<const Coefficient>: write
-	  std::numeric_limits<Coefficient> instead.
-
-2006-01-13 Friday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: C/Makefile.am (1.22), C/ppl_c.cc (1.149),
-	  Prolog/ppl_prolog.icc (1.172), Prolog/Ciao/Makefile.am (1.52),
-	  Prolog/Ciao/ppl_ciao.cc (1.41), Prolog/GNU/Makefile.am (1.52),
-	  Prolog/GNU/ppl_gprolog_sd.cc (1.35), Prolog/SICStus/Makefile.am
-	  (1.63), Prolog/SICStus/ppl_sicstus_sd.cc (1.88),
-	  Prolog/SWI/Makefile.am (1.59), Prolog/SWI/ppl_swiprolog.cc
-	  (1.116), Prolog/XSB/Makefile.am (1.41), Prolog/XSB/ppl_xsb.cc
-	  (1.80), Prolog/YAP/Makefile.am (1.43), Prolog/YAP/ppl_yap.cc
-	  (1.110): No longer include individual PPL header file: include
-	  ppl_install.hh and pwl_install.hh instead.
-
-2006-01-13 Friday 18:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Powerset.defs.hh (1.16): Some comments revised.
-
-2006-01-13 Friday 14:52  Matthew Mundell
-
-	* TODO (1.170): Add Debian package TODO list.
-
-2006-01-13 Friday 14:19  Matthew Mundell
-
-	* debian/control.prologs (1.1): Initial revision.
-
-2006-01-13 Friday 14:19  Matthew Mundell
-
-	* debian/control.prologs (grids.1): file control.prologs was added
-	  on branch grids on 2006-01-16 01:10:28 +0000
-
-2006-01-13 Friday 14:02  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.20): Some bugs in `incrementality'
-	  (appear to be) fixed.  `erase_artificials', modified for this
-	  reason, now  is used also by incrementality.	Added some useful
-	  checks in OK().
-
-2006-01-13 Friday 13:48  Matthew Mundell
-
-	* debian/control (1.11): Only build the packages for which Debian
-	  provides the build requirements.
-
-2006-01-13 Friday 13:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.28): Improvements to tests
-	  involving large numbers and coefficients.  Part of test on
-	  coefficients commented temporarily until problems with this are
-	  fixed.
-
-2006-01-13 Friday 10:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.120): ascii_dump&load methods no
-	  longer inlined (and moved away from other inlined methods).
-
-2006-01-13 Friday 10:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.61), BD_Shape.inlines.hh (1.119): No
-	  longer disregard the optional tokens parameter in the widening
-	  and extrapolation methods. A token parameter also added to CC76's
-	  extrapolation operator.  Removed a couple of misplaced OK()
-	  assertions.
-
-2006-01-12 Thursday 22:43  Matthew Mundell
-
-	* interfaces/Prolog/GNU/README (1.2): Clip trailing whitespace.
-
-2006-01-12 Thursday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/README (altnum.1): file README was added on
-	  branch altnum on 2006-10-29 19:27:02 +0000
-
-2006-01-12 Thursday 22:42  Matthew Mundell
-
-	* debian/libppl-pwl.install (1.3): Add usr/lib/libpwl.so.
-
-2006-01-12 Thursday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-pwl.install (altnum.1): file libppl-pwl.install was
-	  added on branch altnum on 2006-10-29 19:26:52 +0000
-
-2006-01-12 Thursday 22:42  Matthew Mundell
-
-	* debian/: libppl-dev.install (1.3), libppl.install (1.5): Move
-	  usr/lib/libppl.so from libppl-dev to libppl.	Add
-	  usr/bin/ppl-config to libppl.
-
-2006-01-12 Thursday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-dev.install (altnum.1): file libppl-dev.install was
-	  added on branch altnum on 2006-10-29 19:26:52 +0000
-
-2006-01-12 Thursday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl.install (altnum.1): file libppl.install was added
-	  on branch altnum on 2006-10-29 19:26:52 +0000
-
-2006-01-12 Thursday 22:39  Matthew Mundell
-
-	* debian/control (1.10): Drop the libppl-swi and libppl-gprolog
-	  dependencies on swi-prolog and gprolog, resp.
-
-2006-01-12 Thursday 22:30  Matthew Mundell
-
-	* BUGS (1.5): Improve the known bugs statement.
-
-2006-01-12 Thursday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.16): Fix misplaced semicolon.
-
-2006-01-12 Thursday 17:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.183): Small improvements to subsection 1.6
-	  on the powerset domain.
-
-2006-01-12 Thursday 16:31  Matthew Mundell
-
-	* debian/rules (1.8): Correct the ppl-config source directory.
-	  Improve two comments.
-
-2006-01-12 Thursday 16:31  Matthew Mundell
-
-	* debian/libppl.install (1.4): Add ppl_lpsol and the manual pages.
-
-2006-01-12 Thursday 16:30  Matthew Mundell
-
-	* debian/libppl.dirs (1.3): Add usr/share/man/man1.
-
-2006-01-12 Thursday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl.dirs (altnum.1): file libppl.dirs was added on
-	  branch altnum on 2006-10-29 19:26:52 +0000
-
-2006-01-12 Thursday 16:30  Matthew Mundell
-
-	* debian/libppl-pwl.install (1.2): Move pwl.hh to libppl-dev.
-
-2006-01-12 Thursday 16:29  Matthew Mundell
-
-	* debian/libppl-dev.install (1.2): Add the header files.
-
-2006-01-12 Thursday 16:28  Matthew Mundell
-
-	* debian/control (1.9): Add glpk to Build-Depends.
-
-2006-01-12 Thursday 13:29  Matthew Mundell
-
-	* debian/rules (1.7): Add ppl_lpsol and ppl-config to the programs
-	  installed in install-arch.
-
-2006-01-12 Thursday 13:28  Matthew Mundell
-
-	* debian/control (1.8): Update to the new GMP package names.  Add
-	  libgmp3-doc to the libdevel suggested packages.  Improve some
-	  wording in the libppl-dev description.
-
-2006-01-12 Thursday 08:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.147),
-	  Ciao/ciao_pl_check.pl (1.19), Ciao/ppl_ciao.cc (1.40),
-	  Ciao/ppl_ciao.pl (1.86), GNU/ppl_gprolog.pl (1.58),
-	  SICStus/ppl_sicstus_sd.cc (1.87), SWI/ppl_swiprolog.cc (1.115),
-	  XSB/ppl_xsb.H (1.46), XSB/ppl_xsb.cc (1.79), XSB/xsb_pl_check.P
-	  (1.24), YAP/ppl_yap.cc (1.109), tests/pl_check.pl (1.27): Added
-	  predicates ppl_Coeffient_is_bounded/0, ppl_Coefficient_max and
-	  ppl_Coefficient_min.	A few small bugs fixed.
-
-2006-01-11 Wednesday 23:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.26): Obsolete hack
-	  removed.
-
-2006-01-11 Wednesday 23:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.171): Fixed
-	  ppl_Coefficient_min() and ppl_Coefficient_max().
-
-2006-01-11 Wednesday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.28): Include ppl-config in %{_bindir} and the man
-	  pages in %{_mandir}/man1.
-
-2006-01-11 Wednesday 22:16  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[19,18]): *this
-	  was not fully cleared if the problem was solved from scratch.
-	  Typo fixed in the documentation.
-
-2006-01-11 Wednesday 20:34  Matthew Mundell
-
-	* debian/rules (1.6): Improve the comment about ppl_lcdd.  Improve
-	  the comments about the installation of the change logs.  Merge
-	  the copy commands of the merged browse and print documents.
-
-2006-01-11 Wednesday 19:21  Matthew Mundell
-
-	* debian/rules (1.5): Call autoreconf instead of each of the auto*
-	  scripts.  Leave the configuration of the Watchdog to the PPL
-	  configure command.
-
-2006-01-11 Wednesday 18:35  Andrea Cimino
-
-	* src/LP_Problem.defs.hh (simplex.17): Minor documentation
-	  improvements.
-
-2006-01-11 Wednesday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.170): New functions
-	  ppl_Coefficient_is_bounded(), ppl_Coefficient_min(Prolog_term_ref
-	  t_min) and ppl_Coefficient_max(Prolog_term_ref t_max) allow the
-	  Prolog application to inspect the basic properties of the
-	  `Coefficient' integer type.
-
-2006-01-11 Wednesday 17:52  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[18,16,17]): Totally rehandled the way of mapping the
-	  `input_cs' columns with the `tableau' ones: `dim_map' is no
-	  longer used.	Renamed `swap_base' to `pivot'.  `slack' and
-	  `artificial' variables are better handled and documented.
-
-2006-01-11 Wednesday 15:23  Matthew Mundell
-
-	* src/Matrix.cc (1.92): Convert the add_recycled_row row size
-	  assertion into an OK assertion on the given row.
-
-2006-01-11 Wednesday 13:46  Matthew Mundell
-
-	* debian/changelog (1.2): Clear dummy entry.
-
-2006-01-11 Wednesday 12:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BDS_Status.idefs.hh (1.15), Ph_Status.idefs.hh (1.15):
-	  Avoid include directives in files *.idefs.hh.
-
-2006-01-11 Wednesday 11:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BDS_Status.idefs.hh (1.14), BD_Shape.defs.hh (1.60),
-	  DB_Matrix.defs.hh (1.17), Linear_Row.defs.hh (1.16),
-	  Ph_Status.idefs.hh (1.14), Polyhedra_Powerset.defs.hh (1.30),
-	  Row.defs.hh (1.102): Added a few missing \ref doxygen commands.
-	  Prefer direct vs indirect inclusion of globals.defs.hh.
-
-2006-01-11 Wednesday 11:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/DB_Row.defs.hh (1.16): Spurious dot in doxygen documentation
-	  removed.
-
-2006-01-11 Wednesday 11:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.63), devref.doxyconf-latex.in
-	  (1.6), user.doxyconf-html.in (1.33), user.doxyconf-latex.in
-	  (1.5): Expanding as predefined the macro PPL_OUTPUT_DECLARATIONS,
-	  so as to avoid warnings in the user manual and to see the
-	  documentation in the devref manual.
-
-2006-01-11 Wednesday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.defs.hh (1.29): The comments for output methods
-	  marked as brief comments.
-
-2006-01-11 Wednesday 02:21  Matthew Mundell
-
-	* src/: Linear_System.cc (1.37), Matrix.cc (1.91), Matrix.defs.hh
-	  (1.73), Matrix.inlines.hh (1.49): Add Matrix methods
-	  add_row(const Row&) and add_recycled_row(Row&).  Update
-	  Linear_System::add_row to use Matrix::add_row.
-
-2006-01-10 Tuesday 21:08  Matthew Mundell
-
-	* doc/ppl-config.1 (grids.1): file ppl-config.1 was added on branch
-	  grids on 2006-01-16 01:10:29 +0000
-
-2006-01-10 Tuesday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl-config.1 (1.3): Improved.
-
-2006-01-10 Tuesday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl-config.1 (simplex.1): file ppl-config.1 was added on
-	  branch simplex on 2006-05-08 17:15:46 +0000
-
-2006-01-10 Tuesday 21:02  Matthew Mundell
-
-	* doc/ppl_lcdd.1 (grids.1): file ppl_lcdd.1 was added on branch
-	  grids on 2006-01-16 01:10:29 +0000
-
-2006-01-10 Tuesday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: Makefile.am (1.42), ppl_lcdd.1 (1.1): Added a draft man
-	  page for `ppl_lcdd'.
-
-2006-01-10 Tuesday 21:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lcdd.1 (simplex.1): file ppl_lcdd.1 was added on branch
-	  simplex on 2006-05-08 17:15:46 +0000
-
-2006-01-10 Tuesday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.54): Changed again: option
-	  --max-memory has now -R (and not -M) as its short counterpart.
-
-2006-01-10 Tuesday 20:59  Matthew Mundell
-
-	* doc/ppl_lpsol.1 (grids.1): file ppl_lpsol.1 was added on branch
-	  grids on 2006-01-16 01:10:29 +0000
-
-2006-01-10 Tuesday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: Makefile.am (1.41), ppl_lpsol.1 (1.1): Added a draft man
-	  page for `ppl_lpsol'.
-
-2006-01-10 Tuesday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl_lpsol.1 (simplex.1): file ppl_lpsol.1 was added on branch
-	  simplex on 2006-05-08 17:15:46 +0000
-
-2006-01-10 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.28): Option --max-memory has now
-	  -R (and not -V) as its short counterpart.  New option --version
-	  (-V) prints version information on stdout.  Fixed a couple of
-	  error messages.
-
-2006-01-10 Tuesday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.53): Option --max-memory has now -M
-	  (and not -V) as its short counterpart.  New option --version (-V)
-	  prints version information on stdout.  Fixed a bug in the
-	  definition of OPTION_LETTERS (-c is not available unless USE_PPL
-	  is defined).
-
-2006-01-10 Tuesday 20:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl-config.1 (1.2), src/ppl-config.cc.in (1.15): In the
-	  documentation for option --help (-h), specify that the output is
-	  written on stdout.
-
-2006-01-10 Tuesday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: Makefile.am (1.40), ppl-config.1 (1.1): Added a draft man
-	  page for `ppl-config'.
-
-2006-01-10 Tuesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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.36), Watchdog/Makefile.am (1.25),
-	  Watchdog/src/Makefile.am (1.5), Watchdog/utils/Makefile.am (1.6),
-	  demos/Makefile.am (1.9), demos/ppl_lcdd/Makefile.am (1.22),
-	  demos/ppl_lcdd/examples/Makefile.am (1.7),
-	  demos/ppl_lpsol/Makefile.am (1.19),
-	  demos/ppl_lpsol/examples/Makefile.am (1.6), doc/Makefile.am
-	  (1.39), interfaces/Makefile.am (1.13), interfaces/C/Makefile.am
-	  (1.21), interfaces/OCaml/Makefile.am (1.12),
-	  interfaces/Prolog/Makefile.am (1.30),
-	  interfaces/Prolog/Ciao/Makefile.am (1.51),
-	  interfaces/Prolog/GNU/Makefile.am (1.51),
-	  interfaces/Prolog/SICStus/Makefile.am (1.62),
-	  interfaces/Prolog/SWI/Makefile.am (1.58),
-	  interfaces/Prolog/XSB/Makefile.am (1.40),
-	  interfaces/Prolog/YAP/Makefile.am (1.42),
-	  interfaces/Prolog/tests/Makefile.am (1.7), m4/Makefile.am (1.16),
-	  src/Makefile.am (1.136), tests/Makefile.am (1.248),
-	  tests/BD_Shape/Makefile.am (1.32), tests/Polyhedron/Makefile.am
-	  (1.43), utils/Makefile.am (1.12): Avoid providing default
-	  information that Automake does figure out by itself.
-
-2006-01-10 Tuesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.14): Option --interface (-I) fixed.
-
-2006-01-10 Tuesday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.13): The --all (-Z) option has been
-	  removed.
-
-2006-01-10 Tuesday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.12): Print usage information to stdout,
-	  not stdin.  Include information on reporting bugs in the usage
-	  information.
-
-2006-01-10 Tuesday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.13): If "$MAKE" is empty, define it
-	  to be "make".
-
-2006-01-10 Tuesday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.12): Exploit the now available ascii_dump()
-	  method for Generator.
-
-2006-01-10 Tuesday 16:17  Matthew Mundell
-
-	* src/LP_Problem.cc (grids.1): file LP_Problem.cc was added on
-	  branch grids on 2006-01-16 01:10:33 +0000
-
-2006-01-10 Tuesday 16:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.inlines.hh (1.8): Dealt with another FIXME.
-
-2006-01-10 Tuesday 16:12  Matthew Mundell
-
-	* src/LP_Problem.inlines.hh (grids.1): file LP_Problem.inlines.hh
-	  was added on branch grids on 2006-01-16 01:10:33 +0000
-
-2006-01-10 Tuesday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.11): When resizing the tableau, make sure we
-	  never try to go beyond Matrix::max_num_columns().
-
-2006-01-10 Tuesday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.12): Allow to override the `make'
-	  command used: invoke "$MAKE" instead of "make".
-
-2006-01-10 Tuesday 15:58  Matthew Mundell
-
-	* src/: BD_Shape.inlines.hh (1.118), Constraint.cc (1.55),
-	  Constraint.defs.hh (1.114), Constraint.inlines.hh (1.62),
-	  Constraint_System.cc (1.16), Constraint_System.defs.hh (1.25),
-	  DB_Matrix.defs.hh (1.16), DB_Matrix.inlines.hh (1.24),
-	  Generator.cc (1.68), Generator.defs.hh (1.114),
-	  Generator.inlines.hh (1.59), Generator_System.cc (1.16),
-	  Generator_System.defs.hh (1.13), LP_Problem.cc (1.10),
-	  LP_Problem.defs.hh (1.6), Linear_Row.cc (1.17),
-	  Linear_Row.defs.hh (1.15), Linear_System.cc (1.36),
-	  Linear_System.defs.hh (1.22), Matrix.cc (1.90), Matrix.defs.hh
-	  (1.72), Ph_Status.cc (1.9), Ph_Status.idefs.hh (1.13),
-	  Poly_Con_Relation.cc (1.12), Poly_Con_Relation.defs.hh (1.30),
-	  Poly_Gen_Relation.cc (1.12), Poly_Gen_Relation.defs.hh (1.28),
-	  Polyhedra_Powerset.defs.hh (1.29), Polyhedra_Powerset.inlines.hh
-	  (1.37), Polyhedron.defs.hh (1.290), Polyhedron_public.cc (1.71),
-	  Row.cc (1.97), Row.defs.hh (1.101), Saturation_Matrix.cc (1.8),
-	  Saturation_Matrix.defs.hh (1.6), BDS_Status.idefs.hh (1.13),
-	  BDS_Status.inlines.hh (1.11), BD_Shape.defs.hh (1.59): Add
-	  ascii_load(istream&) and ascii_dump(ostream&) to Constraint and
-	  to Generator.  Add ascii_dump() and print() to all classes having
-	  an ascii_dump(ostream&).  Move the detailed section of the
-	  Linear_System::ascii_dump doxygen doc into the method definition.
-	  Declare Poly_Con_Relation::acsii_dump(ostream&) and
-	  Poly_Gen_Relation::ascii_dump(ostream&) public.
-
-2006-01-10 Tuesday 15:58  Matthew Mundell
-
-	* src/LP_Problem.defs.hh (grids.1): file LP_Problem.defs.hh was
-	  added on branch grids on 2006-01-16 01:10:33 +0000
-
-2006-01-10 Tuesday 15:46  Matthew Mundell
-
-	* src/globals.defs.hh (1.28): Add macros PPL_STR(s), PPL_XSTR(s),
-	  PPL_OUTPUT_DECLARATIONS, PPL_OUTPUT_DEFINITIONS(class_name),
-	  PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(class_name),
-	  PPL_OUTPUT_TEMPLATE_DEFINITIONS(type_symbol, class_prefix),
-	  PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(type_symbol,
-	  class_prefix).
-
-2006-01-10 Tuesday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.108): Prolog_get_long()
-	  fixed.
-
-2006-01-10 Tuesday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.173), interfaces/C/ppl_c.cc (1.148),
-	  interfaces/C/ppl_c.h.in (1.61): New functions added to the C
-	  interface:
-
-	    int ppl_Coefficient_is_bounded(void),
-	    int ppl_Coefficient_min(mpz_t min),
-	    int ppl_Coefficient_max(mpz_t max)
-
-	  allow C applications to obtain information about the Coefficient
-	  integer numerical type.
-
-2006-01-10 Tuesday 13:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.9): An anonymous FIXME turned into a
-	  meaningful comment.
-
-2006-01-10 Tuesday 12:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.25): The large integer
-	  tests for Prolog systems with bounded integers improved so that
-	  they check the maximum and minimum integers at the interface.
-
-	  The exception testing for Prolog also improved and a bug fixed
-	  when testing the Prolog_unsigned_out_of_range exception.
-
-	  The exception testing for Prolog systems with bounded integers
-	  improved. We explicitly exclude XSB from these tests as it does
-	  not throw an exception when the numbers are out-of-range.
-
-2006-01-10 Tuesday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.lsm.in (1.7), ppl.spec.in (1.27): Updated.
-
-2006-01-10 Tuesday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.201): Version number bumped.
-
-2006-01-09 Monday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.35), config.sub (1.33), Watchdog/config.guess
-	  (1.19), Watchdog/config.sub (1.18): Updated.
-
-2006-01-09 Monday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.23), Watchdog/ChangeLog (1.13): Updated.
-
-2006-01-09 Monday 21:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.78): XSB supports only 32-bit
-	  integers: two FIXMEs resolved.
-
-2006-01-09 Monday 18:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.58): Removed a FIXME that was already
-	  dealt with.
-
-2006-01-09 Monday 14:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.172), interfaces/Prolog/Prolog_interface.dox (1.146),
-	  interfaces/Prolog/ppl_prolog.icc (1.169),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.17),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.13),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.18),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.85),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.57),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.86),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.114),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.45),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.77),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.16),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.14),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.23),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.107),
-	  interfaces/Prolog/tests/clpq.pl (1.8),
-	  interfaces/Prolog/tests/clpq2.pl (1.8),
-	  interfaces/Prolog/tests/pl_check.pl (1.24):	 In the Prolog
-	  interface, the names and arities of the predicates
-	     that create handles for new polyhedra have been revised
-	     to match more closely the corresponding C and C++ interface
-	     operators.
-
-	     That is, instead of having "c" and/or "nnc" as arguments to
-	  indicate
-	     the topology of the polyhedron, the topologies are now part of
-	  the
-	     names of the predicates.
-
-	     In Prolog_interface.dox, add a link to a bug report
-	     about handling large numbers in XSB.
-
-2006-01-09 Monday 14:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.inlines.hh (1.7): Definitions reordered for
-	  clarity as well as to actually allow inlining.
-
-2006-01-09 Monday 14:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BDS_Status.inlines.hh (1.10): Methods OK(), ascii_dump() and
-	  ascii_load() are no longer inlined.
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int16 (altnum.1): file
-	  expected_pchk_int16 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int16 (altnum.1): file
-	  expected_pchk_int16 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int16_a (altnum.1): file
-	  expected_pchk_int16_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int16_a (altnum.1): file
-	  expected_pchk_int16_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int32 (altnum.1): file
-	  expected_pchk_int32 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int32 (altnum.1): file
-	  expected_pchk_int32 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int32_a (altnum.1): file
-	  expected_pchk_int32_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int32_a (altnum.1): file
-	  expected_pchk_int32_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int64_a (altnum.1): file
-	  expected_pchk_int64_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int64_a (altnum.1): file
-	  expected_pchk_int64_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int8_a (altnum.1): file
-	  expected_pchk_int8_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-09 Monday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int8_a (altnum.1): file
-	  expected_pchk_int8_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-09 Monday 13:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.145),
-	  XSB/expected_pchk_int16 (1.4), XSB/expected_pchk_int16_a (1.4),
-	  XSB/expected_pchk_int32 (1.4), XSB/expected_pchk_int32_a (1.4),
-	  XSB/expected_pchk_int64_a (1.3), XSB/expected_pchk_int8 (1.3),
-	  XSB/expected_pchk_int8_a (1.4), tests/expected_pchk_int16 (1.7),
-	  tests/expected_pchk_int16_a (1.7), tests/expected_pchk_int32
-	  (1.7), tests/expected_pchk_int32_a (1.7),
-	  tests/expected_pchk_int64_a (1.6), tests/expected_pchk_int8
-	  (1.7), tests/expected_pchk_int8_a (1.7), tests/pl_check.pl
-	  (1.23): The tests in pl_check.pl now continue when there is an
-	  overflow exception.  Also the tests are more careful to output in
-	  'quiet' mode as the default.
-
-	  As a result of these changes, the expected_pchk files have to be
-	  revised.
-
-	  A type fixed in Prolog_definitions.dox.
-
-2006-01-08 Sunday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.cc (1.35), src/Linear_System.defs.hh (1.21),
-	  tests/Polyhedron/gramschmidt1.cc (1.4): Method
-	  Linear_System::gram_schmidt() removed: it was buggy and not used.
-
-2006-01-08 Sunday 22:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.8): Dealt with a few FIXME's.
-
-2006-01-08 Sunday 21:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.inlines.hh (1.6): A couple of FIXME's properly
-	  renamed as TODO's.
-
-2006-01-08 Sunday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.169), interfaces/Prolog/Prolog_interface.dox (1.144):
-	  Improved the documentation about shared libraries and the Prolog
-	  interfaces.
-
-2006-01-08 Sunday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: DB_Matrix.inlines.hh (1.23), Matrix.inlines.hh (1.48),
-	  Saturation_Matrix.inlines.hh (1.6): Two FIXME's resolved and two
-	  useless static variables removed: while it is not clear why
-	  std::vector::max_size() is not static, GCC and the Intel C++
-	  compiler do compile out all overhead (GCC starting from -O1, the
-	  Intel compiler starting from -O2).
-
-2006-01-08 Sunday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.53), Checked_Number.inlines.hh
-	  (1.54): Constructor to build a Checked_Number from a different
-	  kind of Checked_Number marked "explicit" and made available (it
-	  was commented out).
-
-2006-01-08 Sunday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.168): Parallel builds now work everywhere.
-
-2006-01-08 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.22): Added a test on
-	  hexadecimal number syntax.
-
-2006-01-08 Sunday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.61): Temporarily force
-	  serialization of the tests (see
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007610.html).
-
-2006-01-08 Sunday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.50), SICStus/Makefile.am
-	  (1.60), SWI/Makefile.am (1.57): Renamed some variables.
-
-2006-01-08 Sunday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.49): Dependencies fixed.
-	  Allow the test targets to be executed in parallel.
-
-2006-01-08 Sunday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.48), SICStus/Makefile.am
-	  (1.59), SWI/Makefile.am (1.56): Added missing prerequisites.
-
-2006-01-08 Sunday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.52): Useless, commented-out
-	  declaration removed.
-
-2006-01-08 Sunday 10:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.22): Added a test for
-	  exception "notan_LP_Problem_handle".
-
-2006-01-08 Sunday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.96): Corrected use of exact_div_assign().
-
-2006-01-08 Sunday 08:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.cc (1.34): Corrected uses of
-	  exact_div_assign().  Repeated computation factorized.
-
-2006-01-08 Sunday 08:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LP_Problem.cc (1.7): Corrected the uses of lcm_assign().
-
-2006-01-08 Sunday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GMP_Integer.defs.hh (1.18), GMP_Integer.inlines.hh (1.13):
-	  Removed the following redundant functions void
-	  gcd_assign(GMP_Integer& x, const GMP_Integer& y); void
-	  lcm_assign(GMP_Integer& x, const GMP_Integer& y); void
-	  exact_div_assign(GMP_Integer& x, const GMP_Integer& y); void
-	  sqrt_assign(GMP_Integer& x).
-
-2006-01-08 Sunday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.51), Checked_Number.inlines.hh
-	  (1.53): Restored function template <typename T, typename Policy>
-	  void neg_assign(Checked_Number<T, Policy>& x) and macro
-	  DEF_ASSIGN_FUN2_1.
-
-2006-01-07 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.50), Checked_Number.inlines.hh
-	  (1.52): The following redundant functions have been removed:
-	  template <typename T, typename Policy> void
-	  neg_assign(Checked_Number<T, Policy>& x); template <typename T,
-	  typename Policy> void gcd_assign(Checked_Number<T, Policy>& x,
-	  const Checked_Number<T, Policy>& y); template <typename T,
-	  typename Policy> void lcm_assign(Checked_Number<T, Policy>& x,
-	  const Checked_Number<T, Policy>& y); template <typename T,
-	  typename Policy> void exact_div_assign(Checked_Number<T, Policy>&
-	  x, const Checked_Number<T, Policy>& y); template <typename T,
-	  typename Policy> void sqrt_assign(Checked_Number<T, Policy>& x).
-	  No longer used macros DEF_ASSIGN_FUN2_1 and DEF_ASSIGN_FUN3_2
-	  removed as well.
-
-2006-01-06 Friday 21:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/lpproblem1.cc (simplex.2): Put under CVS
-	  control.
-
-2006-01-06 Friday 21:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* ChangeLog, Makefile.am, NEWS, README, README.configure,
-	  STANDARDS, TODO, config.guess, config.sub, configure.ac,
-	  install-sh, instchk.hh, ltmain.sh, Watchdog/ChangeLog,
-	  Watchdog/Makefile.am, Watchdog/README, Watchdog/config.guess,
-	  Watchdog/config.sub, Watchdog/configure.ac, Watchdog/install-sh,
-	  Watchdog/ltmain.sh, 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.cc,
-	  Watchdog/src/Pending_Element.defs.hh,
-	  Watchdog/src/Pending_Element.inlines.hh,
-	  Watchdog/src/Pending_Element.types.hh,
-	  Watchdog/src/Pending_List.cc, Watchdog/src/Pending_List.defs.hh,
-	  Watchdog/src/Pending_List.inlines.hh,
-	  Watchdog/src/Pending_List.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/utils/Makefile.am, Watchdog/utils/build_header.in,
-	  demos/Makefile.am, demos/ppl_lcdd/Makefile.am,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/Makefile.am,
-	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
-	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
-	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
-	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
-	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
-	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
-	  doc/README.doc, doc/definitions.dox, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/devref.tex, doc/ppl.sty,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  doc/user.tex, interfaces/Makefile.am, interfaces/C/Makefile.am,
-	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
-	  interfaces/OCaml/Makefile.am, interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ciao_clpq.pl,
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/GNU/gp_clpq.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.h,
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
-	  interfaces/Prolog/SICStus/sp_clpq.pl,
-	  interfaces/Prolog/SICStus/sp_pl_check.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/pl_clpq.cc,
-	  interfaces/Prolog/SWI/pl_clpq.pl,
-	  interfaces/Prolog/SWI/ppl_pl.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected_clpq2_int16,
-	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int32,
-	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int64,
-	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int8,
-	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
-	  interfaces/Prolog/XSB/expected_clpq_int16,
-	  interfaces/Prolog/XSB/expected_clpq_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq_int32,
-	  interfaces/Prolog/XSB/expected_clpq_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq_int64,
-	  interfaces/Prolog/XSB/expected_clpq_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq_int8,
-	  interfaces/Prolog/XSB/expected_clpq_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq_mpz,
-	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
-	  interfaces/Prolog/XSB/expected_pchk_int16,
-	  interfaces/Prolog/XSB/expected_pchk_int16_a,
-	  interfaces/Prolog/XSB/expected_pchk_int32,
-	  interfaces/Prolog/XSB/expected_pchk_int32_a,
-	  interfaces/Prolog/XSB/expected_pchk_int8,
-	  interfaces/Prolog/XSB/expected_pchk_int8_a,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/YAP/ppl_yap.pl,
-	  interfaces/Prolog/YAP/yap_clpq.pl,
-	  interfaces/Prolog/YAP/yap_clpq2.pl,
-	  interfaces/Prolog/YAP/yap_pl_check.pl,
-	  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/expected_pchk_int16,
-	  interfaces/Prolog/tests/expected_pchk_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int32,
-	  interfaces/Prolog/tests/expected_pchk_int32_a,
-	  interfaces/Prolog/tests/expected_pchk_int64_a,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/pl_check.pl, m4/Makefile.am,
-	  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_cxx_attribute_weak.m4, m4/ac_cxx_double_is_iec_559.m4,
-	  m4/ac_cxx_flexible_arrays.m4, m4/ac_cxx_float_is_iec_559.m4,
-	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_double_is_iec_559.m4,
-	  m4/ac_cxx_long_long.m4, m4/ppl.m4, src/Ask_Tell.defs.hh,
-	  src/Ask_Tell.inlines.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.types.hh, src/BHRZ03_Certificate.cc,
-	  src/BHRZ03_Certificate.defs.hh,
-	  src/BHRZ03_Certificate.inlines.hh,
-	  src/BHRZ03_Certificate.types.hh, src/Bounding_Box.cc,
-	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
-	  src/Bounding_Box.types.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.types.hh, src/Coefficient.cc,
-	  src/Coefficient.defs.hh, src/Coefficient.inlines.hh,
-	  src/Coefficient.types.hh, src/Coefficient_traits_template.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.types.hh, src/DB_Row.defs.hh,
-	  src/DB_Row.inlines.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/H79_Certificate.cc, src/H79_Certificate.defs.hh,
-	  src/H79_Certificate.inlines.hh, src/H79_Certificate.types.hh,
-	  src/Init.cc, src/Init.defs.hh, src/Init.types.hh,
-	  src/Interval.cc, src/Interval.defs.hh, src/Interval.inlines.hh,
-	  src/Interval.types.hh, src/LP_Problem.cc, src/LP_Problem.defs.hh,
-	  src/LP_Problem.inlines.hh, src/LP_Problem.types.hh,
-	  src/Limits.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/Makefile.am, src/Matrix.cc,
-	  src/Matrix.defs.hh, src/Matrix.inlines.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/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
-	  src/Native_Integer.types.hh, src/Numeric_Format.defs.hh,
-	  src/Ph_Status.cc, src/Ph_Status.idefs.hh,
-	  src/Ph_Status.inlines.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/Polyhedra_Powerset.cc,
-	  src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh,
-	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.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.types.hh, src/Ptr_Iterator.defs.hh,
-	  src/Ptr_Iterator.inlines.hh, src/Ptr_Iterator.types.hh,
-	  src/Result.defs.hh, src/Result.inlines.hh,
-	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
-	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
-	  src/Row.types.hh, src/Saturation_Matrix.cc,
-	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
-	  src/Saturation_Matrix.types.hh, src/Saturation_Row.cc,
-	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
-	  src/Saturation_Row.types.hh, src/Scalar_Products.cc,
-	  src/Scalar_Products.defs.hh, src/Scalar_Products.inlines.hh,
-	  src/Scalar_Products.types.hh, src/Topology.hh, src/Variable.cc,
-	  src/Variable.defs.hh, src/Variable.inlines.hh,
-	  src/Variable.types.hh, src/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
-	  src/algorithms.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/float.types.hh,
-	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
-	  src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.cc,
-	  src/globals.defs.hh, src/globals.inlines.hh,
-	  src/globals.types.hh, src/initializer.hh,
-	  src/max_space_dimension.hh, src/minimize.cc,
-	  src/mp_numeric_limits.hh, src/namespaces.hh,
-	  src/ppl-config.cc.in, src/ppl_header.hh, src/simplex.cc,
-	  src/simplify.cc, src/swapping_sort.icc, src/version.cc,
-	  src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
-	  tests/Makefile.am, tests/PFunction.cc, tests/PFunction.hh,
-	  tests/Random_Number_Generator.defs.hh,
-	  tests/Random_Number_Generator.inlines.hh,
-	  tests/Random_Number_Generator.types.hh, tests/ehandlers.cc,
-	  tests/ehandlers.hh, tests/files.cc, tests/files.hh,
-	  tests/ppl_test.hh, tests/print.cc, tests/print.hh,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addconstraints1.cc,
-	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
-	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
-	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
-	  tests/BD_Shape/addspacedims7.cc,
-	  tests/BD_Shape/affinedimension1.cc,
-	  tests/BD_Shape/affineimage1.cc, tests/BD_Shape/affineimage10.cc,
-	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
-	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
-	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
-	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/affinepreimage2.cc,
-	  tests/BD_Shape/affinepreimage3.cc,
-	  tests/BD_Shape/affinepreimage4.cc,
-	  tests/BD_Shape/affinepreimage5.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/ascii_dump_load2.cc,
-	  tests/BD_Shape/bdsdifference1.cc,
-	  tests/BD_Shape/bdsdifference2.cc,
-	  tests/BD_Shape/bdsdifference3.cc,
-	  tests/BD_Shape/bdsdifference4.cc,
-	  tests/BD_Shape/bdsdifference5.cc,
-	  tests/BD_Shape/bdsdifference6.cc,
-	  tests/BD_Shape/bdsdifference7.cc, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bdshull2.cc, tests/BD_Shape/bdshull3.cc,
-	  tests/BD_Shape/bdshull4.cc,
-	  tests/BD_Shape/bgp99extrapolation1.cc,
-	  tests/BD_Shape/bhmz05widening1.cc,
-	  tests/BD_Shape/bhmz05widening2.cc,
-	  tests/BD_Shape/bhmz05widening3.cc,
-	  tests/BD_Shape/bhmz05widening4.cc,
-	  tests/BD_Shape/bhmz05widening5.cc,
-	  tests/BD_Shape/bhmz05widening6.cc,
-	  tests/BD_Shape/bhmz05widening7.cc,
-	  tests/BD_Shape/bhmz05widening8.cc,
-	  tests/BD_Shape/bhz03widening1.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76extrapolation2.cc,
-	  tests/BD_Shape/cc76extrapolation3.cc,
-	  tests/BD_Shape/cc76extrapolation4.cc,
-	  tests/BD_Shape/cc76extrapolation5.cc,
-	  tests/BD_Shape/cc76extrapolation6.cc,
-	  tests/BD_Shape/cc76narrowing1.cc,
-	  tests/BD_Shape/cc76narrowing2.cc,
-	  tests/BD_Shape/cc76narrowing3.cc,
-	  tests/BD_Shape/cc76narrowing4.cc,
-	  tests/BD_Shape/cc76narrowing5.cc,
-	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
-	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
-	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
-	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
-	  tests/BD_Shape/closure1.cc, tests/BD_Shape/concatenate1.cc,
-	  tests/BD_Shape/concatenate2.cc, tests/BD_Shape/concatenate3.cc,
-	  tests/BD_Shape/concatenate4.cc, tests/BD_Shape/concatenate5.cc,
-	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/constraints2.cc,
-	  tests/BD_Shape/contains1.cc, tests/BD_Shape/contains2.cc,
-	  tests/BD_Shape/contains3.cc, tests/BD_Shape/empty1.cc,
-	  tests/BD_Shape/empty2.cc, tests/BD_Shape/empty3.cc,
-	  tests/BD_Shape/empty4.cc, tests/BD_Shape/empty5.cc,
-	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
-	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
-	  tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage10.cc,
-	  tests/BD_Shape/generalizedaffineimage11.cc,
-	  tests/BD_Shape/generalizedaffineimage12.cc,
-	  tests/BD_Shape/generalizedaffineimage13.cc,
-	  tests/BD_Shape/generalizedaffineimage14.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffineimage3.cc,
-	  tests/BD_Shape/generalizedaffineimage4.cc,
-	  tests/BD_Shape/generalizedaffineimage5.cc,
-	  tests/BD_Shape/generalizedaffineimage6.cc,
-	  tests/BD_Shape/generalizedaffineimage7.cc,
-	  tests/BD_Shape/generalizedaffineimage8.cc,
-	  tests/BD_Shape/generalizedaffineimage9.cc,
-	  tests/BD_Shape/generalizedaffinepreimage1.cc,
-	  tests/BD_Shape/generalizedaffinepreimage2.cc,
-	  tests/BD_Shape/geomcovers1.cc, tests/BD_Shape/h79widening1.cc,
-	  tests/BD_Shape/intersection1.cc, tests/BD_Shape/intersection2.cc,
-	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
-	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
-	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
-	  tests/BD_Shape/limitedCC76extrapolation1.cc,
-	  tests/BD_Shape/limitedCC76extrapolation2.cc,
-	  tests/BD_Shape/limitedCC76extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation1.cc,
-	  tests/BD_Shape/limitedCH78extrapolation2.cc,
-	  tests/BD_Shape/limitedCH78extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation4.cc,
-	  tests/BD_Shape/limitedCH78extrapolation5.cc,
-	  tests/BD_Shape/limitedCH78extrapolation6.cc,
-	  tests/BD_Shape/limitedCH78extrapolation7.cc,
-	  tests/BD_Shape/limitedCH78extrapolation8.cc,
-	  tests/BD_Shape/limitedCH78extrapolation9.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation2.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation3.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation4.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation5.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation6.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation7.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation8.cc,
-	  tests/BD_Shape/limitedbhmz05extrapolation9.cc,
-	  tests/BD_Shape/limitedcc76extrapolation1.cc,
-	  tests/BD_Shape/limitedcc76extrapolation2.cc,
-	  tests/BD_Shape/limitedcc76extrapolation3.cc,
-	  tests/BD_Shape/limitedh79extrapolation1.cc,
-	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
-	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
-	  tests/BD_Shape/maxspacedim.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/relations5.cc, tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/removespacedims2.cc,
-	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
-	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
-	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
-	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
-	  tests/BD_Shape/writebdshape1.cc, tests/BD_Shape/writebdshape2.cc,
-	  tests/Polyhedron/CbecomesNNC1.cc, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/NNCbecomesC1.cc,
-	  tests/Polyhedron/NNCminimize1.cc,
-	  tests/Polyhedron/NNCminimize2.cc,
-	  tests/Polyhedron/NNCminimize3.cc,
-	  tests/Polyhedron/NNCminimize4.cc,
-	  tests/Polyhedron/NNCminimize5.cc,
-	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
-	  tests/Polyhedron/addconstraint1.cc,
-	  tests/Polyhedron/addconstraint2.cc,
-	  tests/Polyhedron/addconstraint3.cc,
-	  tests/Polyhedron/addconstraints1.cc,
-	  tests/Polyhedron/addconstraints10.cc,
-	  tests/Polyhedron/addconstraints11.cc,
-	  tests/Polyhedron/addconstraints12.cc,
-	  tests/Polyhedron/addconstraints13.cc,
-	  tests/Polyhedron/addconstraints2.cc,
-	  tests/Polyhedron/addconstraints3.cc,
-	  tests/Polyhedron/addconstraints4.cc,
-	  tests/Polyhedron/addconstraints5.cc,
-	  tests/Polyhedron/addconstraints6.cc,
-	  tests/Polyhedron/addconstraints7.cc,
-	  tests/Polyhedron/addconstraints8.cc,
-	  tests/Polyhedron/addconstraints9.cc,
-	  tests/Polyhedron/addgenerator1.cc,
-	  tests/Polyhedron/addgenerator2.cc,
-	  tests/Polyhedron/addgenerator3.cc,
-	  tests/Polyhedron/addgenerator4.cc,
-	  tests/Polyhedron/addgenerator5.cc,
-	  tests/Polyhedron/addgenerators1.cc,
-	  tests/Polyhedron/addgenerators10.cc,
-	  tests/Polyhedron/addgenerators11.cc,
-	  tests/Polyhedron/addgenerators12.cc,
-	  tests/Polyhedron/addgenerators13.cc,
-	  tests/Polyhedron/addgenerators2.cc,
-	  tests/Polyhedron/addgenerators3.cc,
-	  tests/Polyhedron/addgenerators4.cc,
-	  tests/Polyhedron/addgenerators5.cc,
-	  tests/Polyhedron/addgenerators6.cc,
-	  tests/Polyhedron/addgenerators7.cc,
-	  tests/Polyhedron/addgenerators8.cc,
-	  tests/Polyhedron/addgenerators9.cc,
-	  tests/Polyhedron/addspacedims1.cc,
-	  tests/Polyhedron/addspacedims10.cc,
-	  tests/Polyhedron/addspacedims11.cc,
-	  tests/Polyhedron/addspacedims12.cc,
-	  tests/Polyhedron/addspacedims13.cc,
-	  tests/Polyhedron/addspacedims2.cc,
-	  tests/Polyhedron/addspacedims3.cc,
-	  tests/Polyhedron/addspacedims4.cc,
-	  tests/Polyhedron/addspacedims5.cc,
-	  tests/Polyhedron/addspacedims6.cc,
-	  tests/Polyhedron/addspacedims7.cc,
-	  tests/Polyhedron/addspacedims8.cc,
-	  tests/Polyhedron/addspacedims9.cc,
-	  tests/Polyhedron/affineimage1.cc,
-	  tests/Polyhedron/affineimage2.cc,
-	  tests/Polyhedron/affineimage3.cc,
-	  tests/Polyhedron/affineimage4.cc,
-	  tests/Polyhedron/affineimage5.cc,
-	  tests/Polyhedron/affineimage6.cc,
-	  tests/Polyhedron/affineimage7.cc,
-	  tests/Polyhedron/affineimage8.cc,
-	  tests/Polyhedron/affineimage9.cc,
-	  tests/Polyhedron/affinepreimage1.cc,
-	  tests/Polyhedron/affinepreimage10.cc,
-	  tests/Polyhedron/affinepreimage11.cc,
-	  tests/Polyhedron/affinepreimage2.cc,
-	  tests/Polyhedron/affinepreimage3.cc,
-	  tests/Polyhedron/affinepreimage4.cc,
-	  tests/Polyhedron/affinepreimage5.cc,
-	  tests/Polyhedron/affinepreimage6.cc,
-	  tests/Polyhedron/affinepreimage7.cc,
-	  tests/Polyhedron/affinepreimage8.cc,
-	  tests/Polyhedron/affinepreimage9.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/ascii_dump_load4.cc,
-	  tests/Polyhedron/ascii_dump_load5.cc,
-	  tests/Polyhedron/ascii_dump_load6.cc,
-	  tests/Polyhedron/ascii_dump_load7.cc,
-	  tests/Polyhedron/bgp99extrapolation1.cc,
-	  tests/Polyhedron/bgp99extrapolation2.cc,
-	  tests/Polyhedron/bhrz03widening1.cc,
-	  tests/Polyhedron/bhrz03widening10.cc,
-	  tests/Polyhedron/bhrz03widening11.cc,
-	  tests/Polyhedron/bhrz03widening12.cc,
-	  tests/Polyhedron/bhrz03widening13.cc,
-	  tests/Polyhedron/bhrz03widening14.cc,
-	  tests/Polyhedron/bhrz03widening15.cc,
-	  tests/Polyhedron/bhrz03widening16.cc,
-	  tests/Polyhedron/bhrz03widening17.cc,
-	  tests/Polyhedron/bhrz03widening18.cc,
-	  tests/Polyhedron/bhrz03widening19.cc,
-	  tests/Polyhedron/bhrz03widening2.cc,
-	  tests/Polyhedron/bhrz03widening3.cc,
-	  tests/Polyhedron/bhrz03widening4.cc,
-	  tests/Polyhedron/bhrz03widening5.cc,
-	  tests/Polyhedron/bhrz03widening6.cc,
-	  tests/Polyhedron/bhrz03widening7.cc,
-	  tests/Polyhedron/bhrz03widening8.cc,
-	  tests/Polyhedron/bhrz03widening9.cc,
-	  tests/Polyhedron/bhz03widening1.cc,
-	  tests/Polyhedron/bhz03widening2.cc,
-	  tests/Polyhedron/bhz03widening3.cc,
-	  tests/Polyhedron/bhz03widening4.cc,
-	  tests/Polyhedron/bhz03widening5.cc,
-	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
-	  tests/Polyhedron/boundedaffineimage1.cc,
-	  tests/Polyhedron/boundedaffineimage2.cc,
-	  tests/Polyhedron/boundedaffineimage3.cc,
-	  tests/Polyhedron/boundedaffinepreimage1.cc,
-	  tests/Polyhedron/boundedaffinepreimage2.cc,
-	  tests/Polyhedron/boundedaffinepreimage3.cc,
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/boundedh79extrapolation1.cc,
-	  tests/Polyhedron/boundingbox1.cc,
-	  tests/Polyhedron/boundingbox2.cc,
-	  tests/Polyhedron/boundingbox3.cc,
-	  tests/Polyhedron/boundingbox4.cc,
-	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
-	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/bug2.cc,
-	  tests/Polyhedron/concatenate1.cc,
-	  tests/Polyhedron/concatenate2.cc,
-	  tests/Polyhedron/concatenate3.cc,
-	  tests/Polyhedron/concatenate4.cc,
-	  tests/Polyhedron/concatenate5.cc,
-	  tests/Polyhedron/concatenate6.cc,
-	  tests/Polyhedron/concatenate7.cc,
-	  tests/Polyhedron/constraints1.cc,
-	  tests/Polyhedron/constraints2.cc,
-	  tests/Polyhedron/constraints3.cc,
-	  tests/Polyhedron/constraints4.cc,
-	  tests/Polyhedron/constraints5.cc, tests/Polyhedron/contains1.cc,
-	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
-	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
-	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
-	  tests/Polyhedron/disjoint3.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/generalizedaffineimage1.cc,
-	  tests/Polyhedron/generalizedaffineimage10.cc,
-	  tests/Polyhedron/generalizedaffineimage11.cc,
-	  tests/Polyhedron/generalizedaffineimage12.cc,
-	  tests/Polyhedron/generalizedaffineimage13.cc,
-	  tests/Polyhedron/generalizedaffineimage14.cc,
-	  tests/Polyhedron/generalizedaffineimage2.cc,
-	  tests/Polyhedron/generalizedaffineimage3.cc,
-	  tests/Polyhedron/generalizedaffineimage4.cc,
-	  tests/Polyhedron/generalizedaffineimage5.cc,
-	  tests/Polyhedron/generalizedaffineimage6.cc,
-	  tests/Polyhedron/generalizedaffineimage7.cc,
-	  tests/Polyhedron/generalizedaffineimage8.cc,
-	  tests/Polyhedron/generalizedaffineimage9.cc,
-	  tests/Polyhedron/generalizedaffinepreimage1.cc,
-	  tests/Polyhedron/generalizedaffinepreimage2.cc,
-	  tests/Polyhedron/generalizedaffinepreimage3.cc,
-	  tests/Polyhedron/generalizedaffinepreimage4.cc,
-	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
-	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
-	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
-	  tests/Polyhedron/generators7.cc, tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/gramschmidt1.cc,
-	  tests/Polyhedron/h79widening1.cc,
-	  tests/Polyhedron/h79widening2.cc,
-	  tests/Polyhedron/h79widening3.cc,
-	  tests/Polyhedron/h79widening4.cc,
-	  tests/Polyhedron/h79widening5.cc,
-	  tests/Polyhedron/h79widening6.cc,
-	  tests/Polyhedron/h79widening7.cc,
-	  tests/Polyhedron/h79widening8.cc,
-	  tests/Polyhedron/intersection1.cc,
-	  tests/Polyhedron/intersection10.cc,
-	  tests/Polyhedron/intersection11.cc,
-	  tests/Polyhedron/intersection2.cc,
-	  tests/Polyhedron/intersection3.cc,
-	  tests/Polyhedron/intersection4.cc,
-	  tests/Polyhedron/intersection5.cc,
-	  tests/Polyhedron/intersection6.cc,
-	  tests/Polyhedron/intersection7.cc,
-	  tests/Polyhedron/intersection8.cc,
-	  tests/Polyhedron/intersection9.cc,
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation2.cc,
-	  tests/Polyhedron/limitedh79extrapolation3.cc,
-	  tests/Polyhedron/limitedh79extrapolation4.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/linearpartition2.cc,
-	  tests/Polyhedron/linearpartition3.cc,
-	  tests/Polyhedron/linearpartition4.cc,
-	  tests/Polyhedron/linearsystem1.cc,
-	  tests/Polyhedron/linexpression1.cc,
-	  tests/Polyhedron/lpproblem2.cc,
-	  tests/Polyhedron/mapspacedims1.cc,
-	  tests/Polyhedron/mapspacedims2.cc,
-	  tests/Polyhedron/mapspacedims3.cc,
-	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/matrix1.cc,
-	  tests/Polyhedron/max_min1.cc, tests/Polyhedron/max_min2.cc,
-	  tests/Polyhedron/maxspacedim1.cc, tests/Polyhedron/mc91.cc,
-	  tests/Polyhedron/membytes1.cc, tests/Polyhedron/membytes2.cc,
-	  tests/Polyhedron/memory1.cc, tests/Polyhedron/memory2.cc,
-	  tests/Polyhedron/minconstraints1.cc,
-	  tests/Polyhedron/minconstraints2.cc,
-	  tests/Polyhedron/minconstraints3.cc,
-	  tests/Polyhedron/minconstraints4.cc,
-	  tests/Polyhedron/mingenerators1.cc,
-	  tests/Polyhedron/mingenerators2.cc,
-	  tests/Polyhedron/mingenerators3.cc,
-	  tests/Polyhedron/numberinput1.cc, tests/Polyhedron/onepoint.cc,
-	  tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polydifference3.cc,
-	  tests/Polyhedron/polydifference4.cc,
-	  tests/Polyhedron/polydifference5.cc,
-	  tests/Polyhedron/polydifference6.cc,
-	  tests/Polyhedron/polydifference7.cc,
-	  tests/Polyhedron/polydifference8.cc,
-	  tests/Polyhedron/polydifference9.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
-	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
-	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
-	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
-	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/polypowerset1.cc,
-	  tests/Polyhedron/powerset1.cc,
-	  tests/Polyhedron/primalsimplex1.cc,
-	  tests/Polyhedron/primalsimplex2.cc,
-	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
-	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
-	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
-	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
-	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
-	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
-	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
-	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
-	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
-	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
-	  tests/Polyhedron/relations9.cc,
-	  tests/Polyhedron/removespacedims1.cc,
-	  tests/Polyhedron/removespacedims10.cc,
-	  tests/Polyhedron/removespacedims2.cc,
-	  tests/Polyhedron/removespacedims3.cc,
-	  tests/Polyhedron/removespacedims4.cc,
-	  tests/Polyhedron/removespacedims5.cc,
-	  tests/Polyhedron/removespacedims6.cc,
-	  tests/Polyhedron/removespacedims7.cc,
-	  tests/Polyhedron/removespacedims8.cc,
-	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
-	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
-	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
-	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
-	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
-	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
-	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
-	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
-	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
-	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
-	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
-	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
-	  tests/Polyhedron/universe7.cc, tests/Polyhedron/watchdog1.cc,
-	  tests/Polyhedron/writeconsys1.cc,
-	  tests/Polyhedron/writegensys1.cc,
-	  tests/Polyhedron/writegensys2.cc,
-	  tests/Polyhedron/writegensys3.cc,
-	  tests/Polyhedron/writepolyhedron1.cc,
-	  tests/Polyhedron/writepolyhedron2.cc,
-	  tests/Polyhedron/writepolyhedron3.cc,
-	  tests/Polyhedron/writerelation1.cc,
-	  tests/Polyhedron/writevariable1.cc, utils/Makefile.am,
-	  utils/build_header.in, utils/text2cxxarray.in, utils/timings.cc,
-	  utils/timings.hh
-	  (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,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,5,1,1,1,1,2,1,1,1,1,1,1,1,1,4,4,1,1,3,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,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,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,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,4,1,1,1,1,1,1 [...]
-	  First merge from the main trunk.
-
-2006-01-06 Friday 19:20  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
-	  Congruence.types.hh, Congruence_System.cc,
-	  Congruence_System.defs.hh, Congruence_System.inlines.hh,
-	  Congruence_System.types.hh, Grid.defs.hh, Grid.inlines.hh,
-	  Grid.types.hh, Grid_Certificate.cc, Grid_Certificate.defs.hh,
-	  Grid_Certificate.inlines.hh, Grid_Certificate.types.hh,
-	  Grid_Generator.defs.hh, Grid_Generator.inlines.hh,
-	  Grid_Generator.types.hh, Grid_Generator_System.cc,
-	  Grid_Generator_System.defs.hh, Grid_Generator_System.inlines.hh,
-	  Grid_Generator_System.types.hh, Grid_Status.cc,
-	  Grid_Status.idefs.hh, Grid_Status.inlines.hh, Grid_chdims.cc,
-	  Grid_conversion.cc, Grid_minimize.cc, Grid_nonpublic.cc,
-	  Grid_public.cc, Grid_simplify.cc, Grid_widenings.cc
-	  (grids.[19,35,20,2,39,25,13,2,93,52,2,9,3,2,2,21,16,2,26,19,11,2,5,6,4,30,33,25,67,130,44,11]):
-	  Update copyright year.
-
-2006-01-06 Friday 18:44  Matthew Mundell
-
-	* src/Matrix.defs.hh (grids.7): Take out old grid includes and
-	  declaration.
-
-2006-01-06 Friday 18:13  Matthew Mundell
-
-	* src/: Congruence.defs.hh, Congruence_System.defs.hh,
-	  Grid.defs.hh, Grid_Certificate.defs.hh, Grid_Generator.defs.hh,
-	  Grid_Generator_System.defs.hh, Grid_Status.idefs.hh
-	  (grids.[34,24,92,2,20,18,5]): Update the format of brief comments
-	  to the new standard.
-
-2006-01-06 Friday 08:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.21): Added a comment
-	  explaining the large number tests.  Revised the catch code for
-	  the ppl_overflow_error exception.  Reordered tests so that when
-	  there is an expected overflow exception, more tests are done
-	  before that.
-
-	  Other minor changes.
-
-2006-01-05 Thursday 21:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/expected_pchk_int64_a (1.5): Restore
-	  expected output.
-
-2006-01-05 Thursday 19:45  Matthew Mundell
-
-	* src/Grid_public.cc (grids.129): Leave the modulus handling as it
-	  is in the inverse relation case of
-	  generalized_affine_preimage(var..).
-
-2006-01-05 Thursday 18:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/: expected_pchk_int16 (1.6),
-	  expected_pchk_int16_a (1.6), expected_pchk_int32 (1.6),
-	  expected_pchk_int32_a (1.6), expected_pchk_int64 (1.3),
-	  expected_pchk_int64_a (1.4), expected_pchk_int8 (1.6),
-	  expected_pchk_int8_a (1.6), pl_check.pl (1.20): Revised expected
-	  files and avoid error message when there is an overflow exception
-	  for the large numbers in the C++.
-
-2006-01-05 Thursday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int64 (altnum.1): file
-	  expected_pchk_int64 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-05 Thursday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.106): Fixed
-	  integer_term_to_Coefficient().
-
-2006-01-05 Thursday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.105): Prolog_is_integer()
-	  updated to support the newest versions of YAP.
-
-2006-01-05 Thursday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/: expected_pchk_int16 (1.5),
-	  expected_pchk_int16_a (1.5), expected_pchk_int32 (1.5),
-	  expected_pchk_int32_a (1.5), expected_pchk_int64 (1.2),
-	  expected_pchk_int64_a (1.3): Revised expected results for
-	  pl_check to allow for tests for large numbers.
-
-2006-01-05 Thursday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/: expected_pchk_int8 (1.5),
-	  expected_pchk_int8_a (1.5): Updated expected results for the
-	  large number tests.
-
-2006-01-05 Thursday 11:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Ciao/ciao_pl_check.pl (1.17),
-	  GNU/gnu_pl_check.pl (1.8), SICStus/sp_pl_check.pl (1.6),
-	  SWI/swi_pl_check.pl (1.7), XSB/xsb_pl_check.P (1.22),
-	  YAP/yap_pl_check.pl (1.10), tests/pl_check.pl (1.19): Added to
-	  the system dependent files prolog_system(...).
-
-	  Added tests to pl_check.pl for testing large numbers.  When
-	  prolog_system(xsb) holds, these tests are omitted.
-
-	  Bugs in maximize and minimize test code fixed.  typo in exception
-	  message fixed.
-
-2006-01-05 Thursday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.143), YAP/ppl_yap.cc
-	  (1.104): Use (and require) the new YAP interface for arbitrary
-	  precision integers.
-
-2006-01-05 Thursday 00:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.cc (simplex.16): Added a few calls to ascii_dump()
-	  in the OK method to help in debugging.  Corrected a bug in
-	  incremental() whereby an illegal dim_map was built.  Corrected
-	  another bug whereby last_generator was not updated.
-
-2006-01-04 Wednesday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.103): Use a single temporary
-	  mpz_class object.  Added a missing test to
-	  Coefficient_to_integer_term().  Use direct assignment instead of
-	  assign_r() in integer_term_to_Coefficient().
-
-2006-01-04 Wednesday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.113): Removed an
-	  inclusion and a using declaration probably left there after a
-	  debugging session.  Use a single temporary mpz_class object.
-
-2006-01-04 Wednesday 17:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Limits.hh (1.9): Fixed indentation of a line.
-
-2006-01-04 Wednesday 14:43  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[15,14,15]): Restored last changes made by Enea, were
-	  removed by mistake.  Added a FIXME about incrementality and the
-	  default constructor.
-
-2006-01-04 Wednesday 12:57  Andrea Cimino
-
-	* src/: Constraint.defs.hh, LP_Problem.cc, LP_Problem.defs.hh,
-	  LP_Problem.inlines.hh (simplex.[1,14,13,14]): Added experimental
-	  code for incrementality.  Backported some changes from the main
-	  trunk.  Added a modified version of `ascii_dump' for testing
-	  purposes.  LP_Problem made friend of Constraint to allow
-	  compiling.
-
-2006-01-03 Tuesday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_Expression.cc (1.9): Print objects of type Coefficient
-	  as such, not as objects of some other type.
-
-2006-01-03 Tuesday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.defs.hh (1.49): Added a draft input syntax to
-	  the input function for checked numbers: template <typename T,
-	  typename Policy> Result input(std::istream& is, Checked_Number<T,
-	  Policy>& x, Rounding_Dir dir).
-
-2006-01-03 Tuesday 20:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint_System.defs.hh (1.24), Linear_Expression.defs.hh
-	  (1.18): Comments improved.
-
-2006-01-03 Tuesday 18:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.112): Return directly
-	  the temporary Coefficeint object.
-
-2006-01-03 Tuesday 18:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.142): Corrected a typo.
-
-2006-01-03 Tuesday 16:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.111): Tentative
-	  correction of a bug in the conversion from SWI Prolog unbounded
-	  coefficients to PPL's (checked bounded integers) Coefficient.
-
-2006-01-03 Tuesday 16:43  Matthew Mundell
-
-	* tests/Grid/intersection1.cc (grids.8): Replace the Variables in
-	  the tests with common Variables in a local namespace.
-
-2006-01-03 Tuesday 16:40  Matthew Mundell
-
-	* tests/Grid/affinepreimage1.cc (grids.10): Add two simple tests.
-
-2006-01-03 Tuesday 16:36  Matthew Mundell
-
-	* src/Grid_public.cc (grids.128): Take the empty flag query out of
-	  add_recycled_generators.
-
-2006-01-03 Tuesday 16:35  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.66): Note possible improvements to
-	  the empty cases in the construct methods.
-
-2006-01-03 Tuesday 16:34  Matthew Mundell
-
-	* src/Grid_Generator_System.inlines.hh (grids.10): Add sortedness
-	  and pending row settings to method `clear'.
-
-2006-01-03 Tuesday 16:32  Matthew Mundell
-
-	* src/Grid_Generator.defs.hh (grids.19): Move the
-	  writable-reference-returning divisor method to the private
-	  section.  Improve the comment on the need for the Grid class
-	  friend declaration.
-
-2006-01-03 Tuesday 16:29  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.51): Update map_space_dimensions to
-	  create the point with the correct divisor when inserting a point,
-	  instead of inserting the point and then adjusting the divisor.
-
-2006-01-03 Tuesday 16:27  Matthew Mundell
-
-	* src/Congruence_System.defs.hh (grids.23): Add a note to consider
-	  adding a recycling_insert method.
-
-2006-01-03 Tuesday 16:26  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.33): Move the
-	  writable-reference-returning modulus method to the private
-	  section.  Improve two comments a little.
-
-2006-01-03 Tuesday 16:25  Matthew Mundell
-
-	* src/Congruence.cc (grids.18): Update strong_normalize to use
-	  Row::normalize.
-
-2006-01-03 Tuesday 15:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.141): Added
-	  documentation for the LP Problem predicates.
-
-2006-01-02 Monday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.167): Removed a couple of items that have been dealt
-	  with.
-
-2006-01-02 Monday 14:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/: expected_int16 (1.4), expected_int16_a (1.4),
-	  expected_int32 (1.5), expected_int32_a (1.5), expected_int64
-	  (1.5), expected_int64_a (1.5), expected_int8 (1.4),
-	  expected_int8_a (1.3), expected_mpz (1.6), expected_mpz_a (1.6):
-	  Updated to take into account the addition of tests for the
-	  simplex method and the removal of option -v.
-
-2006-01-02 Monday 14:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.18): Do explicitly use option -e
-	  when requiring the enumeration method.
-
-2006-01-02 Monday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.27): Let the option -e be working
-	  as expected.
-
-2006-01-02 Monday 11:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.cc (1.14): Function parse_number1() renamed
-	  parse_number_part().
-
-2006-01-02 Monday 11:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/exceptions2.cc (1.8): Added tests for
-	  excericising the exceptions generated by LP_Problem.
-
-2006-01-02 Monday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.cc (1.13): Comments for parse_number() and
-	  parse_number1() revised.
-
-2006-01-02 Monday 11:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Makefile.am (1.135): Added globals.types.hh to the
-	  documentation files.
-
-2006-01-02 Monday 11:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LP_Problem.cc (1.6), LP_Problem.defs.hh (1.5): Added and
-	  implemented exception specification for
-	  evaluate_objective_function().
-
-2006-01-02 Monday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.cc (1.12): Functions get_digit() and sum_sign()
-	  properly commented.
-
-2006-01-02 Monday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.21): Got rid of (non-working
-	  and too expensive) tests for large exponents.
-
-2006-01-02 Monday 09:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage1.cc (simplex.1): file
-	  generalizedaffinepreimage1.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-02 Monday 09:36  Matthew Mundell
-
-	* tests/BD_Shape/generalizedaffinepreimage1.cc (grids.1): file
-	  generalizedaffinepreimage1.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-02 Monday 09:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage1.cc (1.6): If (and only
-	  if) the Coefficient type is not wide enough, test10() does
-	  nothing.
-
-2006-01-02 Monday 00:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LP_Problem.cc (1.5), LP_Problem.inlines.hh (1.5): Drafted
-	  implementations for total_ and external_memory_in_bytes() and for
-	  ascii_dump().
-
-2006-01-01 Sunday 23:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.18): Many improvements to
-	  LP_Problem tests.
-
-2006-01-01 Sunday 22:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/src/EList.defs.hh (1.3),
-	  Watchdog/src/Pending_List.defs.hh (1.3),
-	  Watchdog/src/Time.defs.hh (1.3), src/version.hh.in (1.13): Do
-	  adopt the new format for multiline brief doxygen documentation.
-
-2006-01-01 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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 22:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage1.cc (1.5): Temporarily
-	  disabled test10().
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_int32_a (altnum.1): file
-	  expected_clpq2_int32_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_int8 (altnum.1): file
-	  expected_clpq2_int8 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_int8_a (altnum.1): file
-	  expected_clpq2_int8_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_int16 (altnum.1): file
-	  expected_clpq_int16 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_int16_a (altnum.1): file
-	  expected_clpq_int16_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected_clpq2_int32_a (1.4),
-	  XSB/expected_clpq2_int8 (1.3), XSB/expected_clpq2_int8_a (1.4),
-	  XSB/expected_clpq_int16 (1.4), XSB/expected_clpq_int16_a (1.4),
-	  XSB/expected_pchk_int16 (1.3), XSB/expected_pchk_int16_a (1.3),
-	  XSB/expected_pchk_int32 (1.3), XSB/expected_pchk_int32_a (1.3),
-	  XSB/expected_pchk_int8 (1.2), XSB/expected_pchk_int8_a (1.3),
-	  tests/expected_clpq2_int32_a (1.4), tests/expected_clpq2_int8
-	  (1.4), tests/expected_clpq2_int8_a (1.4),
-	  tests/expected_clpq_int16 (1.4), tests/expected_clpq_int16_a
-	  (1.4), tests/expected_pchk_int16 (1.4),
-	  tests/expected_pchk_int16_a (1.4), tests/expected_pchk_int32
-	  (1.4), tests/expected_pchk_int32_a (1.4),
-	  tests/expected_pchk_int8 (1.4), tests/expected_pchk_int8_a (1.4):
-	  Adapted to recent changes in the implementation of checked
-	  numbers.
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int32_a (altnum.1): file
-	  expected_clpq2_int32_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int8 (altnum.1): file
-	  expected_clpq2_int8 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int8_a (altnum.1): file
-	  expected_clpq2_int8_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int16 (altnum.1): file
-	  expected_clpq_int16 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int16_a (altnum.1): file
-	  expected_clpq_int16_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 19:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.166), src/Ask_Tell.defs.hh (1.8), src/BDS_Status.idefs.hh
-	  (1.12), src/BHRZ03_Certificate.defs.hh (1.14),
-	  src/Bounding_Box.defs.hh (1.12), src/C_Polyhedron.defs.hh (1.39),
-	  src/Checked_Number.defs.hh (1.48), src/Constraint.defs.hh
-	  (1.113), src/Constraint_System.defs.hh (1.23),
-	  src/DB_Matrix.defs.hh (1.15), src/DB_Matrix.inlines.hh (1.22),
-	  src/DB_Row.defs.hh (1.15), src/Determinate.defs.hh (1.60),
-	  src/GMP_Integer.defs.hh (1.17), src/GMP_Integer.inlines.hh
-	  (1.12), src/Generator.defs.hh (1.113),
-	  src/Generator_System.defs.hh (1.12), src/Interval.defs.hh (1.26),
-	  src/LP_Problem.defs.hh (1.4), src/Linear_Expression.defs.hh
-	  (1.17), src/Linear_Row.defs.hh (1.14), src/Linear_System.defs.hh
-	  (1.20), src/Matrix.defs.hh (1.71), src/NNC_Polyhedron.defs.hh
-	  (1.41), src/Ph_Status.idefs.hh (1.12),
-	  src/Poly_Con_Relation.defs.hh (1.29),
-	  src/Poly_Gen_Relation.defs.hh (1.27),
-	  src/Polyhedra_Powerset.defs.hh (1.28), src/Polyhedron.defs.hh
-	  (1.289), src/Powerset.defs.hh (1.15), src/Ptr_Iterator.defs.hh
-	  (1.6), src/Rounding_Dir.defs.hh (1.7), src/Row.defs.hh (1.100),
-	  src/Saturation_Matrix.defs.hh (1.5), src/Saturation_Row.defs.hh
-	  (1.9), src/Scalar_Products.defs.hh (1.3), src/Variable.defs.hh
-	  (1.49), src/algorithms.hh (1.45), src/checked.defs.hh (1.31),
-	  src/globals.defs.hh (1.27): Applying the new policy for multiline
-	  brief Doxygen comments.
-
-2006-01-01 Sunday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.57), BD_Shape.inlines.hh (1.117): A few
-	  improvements in the code ofr affine images and preimages. Removed
-	  a (never used) default-valued parameter form an helper function.
-
-2006-01-01 Sunday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.29): Established a new policy for the writing of
-	  multiline *brief* comment in doxygen: besides easing a bit their
-	  writing, this is also useful as a workaround for a long-standing
-	  doxygen bug.
-
-2006-01-01 Sunday 18:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: GNU/ppl_gprolog.pl (1.56), tests/pl_check.pl
-	  (1.17): Code wrongly removed in pl_check.pl replaced.
-
-	  GNU Prolog system code for LP_Problem added.
-
-2006-01-01 Sunday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.42): The tests lpproblem1 and
-	  lpproblem2 also fail with 64-bits coefficients.
-
-2006-01-01 Sunday 17:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.41): With 32-bits coefficients,
-	  the tests lpproblem1 and lpproblem2 are known to fail because of
-	  overflows.
-
-2006-01-01 Sunday 17:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/lpproblem1.cc (simplex.1): file lpproblem1.cc
-	  was added on branch simplex on 2006-01-06 20:01:53 +0000
-
-2006-01-01 Sunday 17:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/lpproblem2.cc (simplex.1): file lpproblem2.cc
-	  was added on branch simplex on 2006-01-06 20:00:58 +0000
-
-2006-01-01 Sunday 17:25  Matthew Mundell
-
-	* tests/Polyhedron/lpproblem2.cc (grids.1): file lpproblem2.cc was
-	  added on branch grids on 2006-01-16 01:10:41 +0000
-
-2006-01-01 Sunday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: lpproblem1.cc (1.3), lpproblem2.cc (1.3):
-	  Added missing try/catch blocks.
-
-2006-01-01 Sunday 14:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Ciao/ciao_pl_check.pl (1.16),
-	  Ciao/ppl_ciao.pl (1.84), SICStus/ppl_sicstus_sd.cc (1.85),
-	  XSB/ppl_xsb.H (1.44), XSB/ppl_xsb.cc (1.76), XSB/xsb_pl_check.P
-	  (1.21), YAP/ppl_yap.cc (1.102), tests/pl_check.pl (1.16): Added
-	  needed code for the LP_Problem predicates to the Prolog systems'
-	  code.
-
-	  Added tests to exercise all the LP_Problem predicates.
-
-2006-01-01 Sunday 10:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.15): Corrected and
-	  improved maximize, maximize_with_point, minimize and
-	  minimize_with_point tests.
-
-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:27:45 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/text2cxxarray.in (altnum.1): file text2cxxarray.in was
-	  added on branch altnum on 2006-10-29 19:27:45 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/Polyhedron/LP_Problem3.cc (grids.1): file LP_Problem3.cc
-	  was added on branch grids on 2006-01-16 01:10:40 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory2.cc (altnum.1): file memory2.cc was added
-	  on branch altnum on 2006-10-29 19:27:32 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation1.cc (simplex.1): file
-	  limitedbhmz05extrapolation1.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation2.cc (simplex.1): file
-	  limitedbhmz05extrapolation2.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation3.cc (simplex.1): file
-	  limitedbhmz05extrapolation3.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation4.cc (simplex.1): file
-	  limitedbhmz05extrapolation4.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation5.cc (simplex.1): file
-	  limitedbhmz05extrapolation5.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation6.cc (simplex.1): file
-	  limitedbhmz05extrapolation6.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation7.cc (simplex.1): file
-	  limitedbhmz05extrapolation7.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation8.cc (simplex.1): file
-	  limitedbhmz05extrapolation8.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedbhmz05extrapolation9.cc (simplex.1): file
-	  limitedbhmz05extrapolation9.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedcc76extrapolation1.cc (simplex.1): file
-	  limitedcc76extrapolation1.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedcc76extrapolation2.cc (simplex.1): file
-	  limitedcc76extrapolation2.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedcc76extrapolation3.cc (simplex.1): file
-	  limitedcc76extrapolation3.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation1.cc (grids.1): file
-	  limitedbhmz05extrapolation1.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation2.cc (grids.1): file
-	  limitedbhmz05extrapolation2.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation3.cc (grids.1): file
-	  limitedbhmz05extrapolation3.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation4.cc (grids.1): file
-	  limitedbhmz05extrapolation4.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation5.cc (grids.1): file
-	  limitedbhmz05extrapolation5.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation6.cc (grids.1): file
-	  limitedbhmz05extrapolation6.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation7.cc (grids.1): file
-	  limitedbhmz05extrapolation7.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation8.cc (grids.1): file
-	  limitedbhmz05extrapolation8.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedbhmz05extrapolation9.cc (grids.1): file
-	  limitedbhmz05extrapolation9.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedcc76extrapolation1.cc (grids.1): file
-	  limitedcc76extrapolation1.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedcc76extrapolation2.cc (grids.1): file
-	  limitedcc76extrapolation2.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/limitedcc76extrapolation3.cc (grids.1): file
-	  limitedcc76extrapolation3.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening1.cc (simplex.1): file
-	  bhmz05widening1.cc was added on branch simplex on 2006-01-06
-	  20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening2.cc (simplex.1): file
-	  bhmz05widening2.cc was added on branch simplex on 2006-01-06
-	  20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening3.cc (simplex.1): file
-	  bhmz05widening3.cc was added on branch simplex on 2006-01-06
-	  20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening4.cc (simplex.1): file
-	  bhmz05widening4.cc was added on branch simplex on 2006-01-06
-	  20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening5.cc (simplex.1): file
-	  bhmz05widening5.cc was added on branch simplex on 2006-01-06
-	  20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening6.cc (simplex.1): file
-	  bhmz05widening6.cc was added on branch simplex on 2006-01-06
-	  20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening7.cc (simplex.1): file
-	  bhmz05widening7.cc was added on branch simplex on 2006-01-06
-	  20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bhmz05widening8.cc (simplex.1): file
-	  bhmz05widening8.cc was added on branch simplex on 2006-01-06
-	  20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffinepreimage2.cc (simplex.1): file
-	  generalizedaffinepreimage2.cc was added on branch simplex on
-	  2006-01-06 20:00:55 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/bhmz05widening1.cc (grids.1): file
-	  bhmz05widening1.cc was added on branch grids on 2006-01-16
-	  01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/bhmz05widening2.cc (grids.1): file
-	  bhmz05widening2.cc was added on branch grids on 2006-01-16
-	  01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/bhmz05widening3.cc (grids.1): file
-	  bhmz05widening3.cc was added on branch grids on 2006-01-16
-	  01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/bhmz05widening4.cc (grids.1): file
-	  bhmz05widening4.cc was added on branch grids on 2006-01-16
-	  01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/bhmz05widening5.cc (grids.1): file
-	  bhmz05widening5.cc was added on branch grids on 2006-01-16
-	  01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/bhmz05widening6.cc (grids.1): file
-	  bhmz05widening6.cc was added on branch grids on 2006-01-16
-	  01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/bhmz05widening7.cc (grids.1): file
-	  bhmz05widening7.cc was added on branch grids on 2006-01-16
-	  01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/bhmz05widening8.cc (grids.1): file
-	  bhmz05widening8.cc was added on branch grids on 2006-01-16
-	  01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* tests/BD_Shape/generalizedaffinepreimage2.cc (grids.1): file
-	  generalizedaffinepreimage2.cc was added on branch grids on
-	  2006-01-16 01:10:39 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Random_Number_Generator.types.hh (altnum.1): file
-	  Random_Number_Generator.types.hh was added on branch altnum on
-	  2006-10-29 19:27:21 +0000
-
-2006-01-01 Sunday 09:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.cc (simplex.1): file BD_Shape.cc was added on branch
-	  simplex on 2006-01-06 20:00:51 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* src/BD_Shape.cc (grids.1): file BD_Shape.cc was added on branch
-	  grids on 2006-01-16 01:10:33 +0000
-
-2006-01-01 Sunday 09:27  Matthew Mundell
-
-	* src/LP_Problem.types.hh (grids.1): file LP_Problem.types.hh was
-	  added on branch grids on 2006-01-16 01:10:33 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.hh (altnum.1): file ppl_header.hh was added on
-	  branch altnum on 2006-10-29 19:27:15 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_sicstus_prolog.m4 (altnum.1): file
-	  ac_check_sicstus_prolog.m4 was added on branch altnum on
-	  2006-10-29 19:27:11 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_xsb_prolog.m4 (altnum.1): file ac_check_xsb_prolog.m4
-	  was added on branch altnum on 2006-10-29 19:27:11 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int16 (altnum.1): file
-	  expected_clpq2_int16 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_int16 (altnum.1): file
-	  expected_clpq2_int16 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int16_a (altnum.1): file
-	  expected_clpq2_int16_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_int16_a (altnum.1): file
-	  expected_clpq2_int16_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int32 (altnum.1): file
-	  expected_clpq2_int32 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_int32 (altnum.1): file
-	  expected_clpq2_int32 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int64 (altnum.1): file
-	  expected_clpq2_int64 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_int64 (altnum.1): file
-	  expected_clpq2_int64 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int64_a (altnum.1): file
-	  expected_clpq2_int64_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_int64_a (altnum.1): file
-	  expected_clpq2_int64_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_mpz (altnum.1): file
-	  expected_clpq2_mpz was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_mpz (altnum.1): file
-	  expected_clpq2_mpz was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_mpz_a (altnum.1): file
-	  expected_clpq2_mpz_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq2_mpz_a (altnum.1): file
-	  expected_clpq2_mpz_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int32 (altnum.1): file
-	  expected_clpq_int32 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_int32 (altnum.1): file
-	  expected_clpq_int32 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int32_a (altnum.1): file
-	  expected_clpq_int32_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_int32_a (altnum.1): file
-	  expected_clpq_int32_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int64 (altnum.1): file
-	  expected_clpq_int64 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_int64 (altnum.1): file
-	  expected_clpq_int64 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int64_a (altnum.1): file
-	  expected_clpq_int64_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_int64_a (altnum.1): file
-	  expected_clpq_int64_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int8 (altnum.1): file
-	  expected_clpq_int8 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_int8 (altnum.1): file
-	  expected_clpq_int8 was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int8_a (altnum.1): file
-	  expected_clpq_int8_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_int8_a (altnum.1): file
-	  expected_clpq_int8_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_mpz (altnum.1): file
-	  expected_clpq_mpz was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_mpz (altnum.1): file
-	  expected_clpq_mpz was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_mpz_a (altnum.1): file
-	  expected_clpq_mpz_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_clpq_mpz_a (altnum.1): file
-	  expected_clpq_mpz_a was added on branch altnum on 2006-10-29
-	  19:27:07 +0000
-
-2006-01-01 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/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>
-
-	* Watchdog/src/pwl_header.hh (altnum.1): file pwl_header.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>
-
-	* Makefile.am (1.35), README (1.38), README.configure (1.16),
-	  configure.ac (1.200), instchk.hh (1.3), Watchdog/Makefile.am
-	  (1.24), Watchdog/README (1.12), Watchdog/configure.ac (1.33),
-	  Watchdog/src/Doubly_Linked_Object.defs.hh (1.2),
-	  Watchdog/src/Doubly_Linked_Object.inlines.hh (1.2),
-	  Watchdog/src/Doubly_Linked_Object.types.hh (1.2),
-	  Watchdog/src/EList.defs.hh (1.2), Watchdog/src/EList.inlines.hh
-	  (1.2), Watchdog/src/EList.types.hh (1.2),
-	  Watchdog/src/EList_Iterator.defs.hh (1.2),
-	  Watchdog/src/EList_Iterator.inlines.hh (1.2),
-	  Watchdog/src/EList_Iterator.types.hh (1.2),
-	  Watchdog/src/Handler.defs.hh (1.2),
-	  Watchdog/src/Handler.inlines.hh (1.2),
-	  Watchdog/src/Handler.types.hh (1.2), Watchdog/src/Makefile.am
-	  (1.4), Watchdog/src/Pending_Element.cc (1.2),
-	  Watchdog/src/Pending_Element.defs.hh (1.2),
-	  Watchdog/src/Pending_Element.inlines.hh (1.2),
-	  Watchdog/src/Pending_Element.types.hh (1.2),
-	  Watchdog/src/Pending_List.cc (1.2),
-	  Watchdog/src/Pending_List.defs.hh (1.2),
-	  Watchdog/src/Pending_List.inlines.hh (1.2),
-	  Watchdog/src/Pending_List.types.hh (1.2), Watchdog/src/Time.cc
-	  (1.2), Watchdog/src/Time.defs.hh (1.2),
-	  Watchdog/src/Time.inlines.hh (1.2), Watchdog/src/Time.types.hh
-	  (1.2), Watchdog/src/Watchdog.cc (1.2),
-	  Watchdog/src/Watchdog.defs.hh (1.2),
-	  Watchdog/src/Watchdog.inlines.hh (1.2),
-	  Watchdog/src/Watchdog.types.hh (1.2), Watchdog/src/pwl_header.hh
-	  (1.2), Watchdog/utils/Makefile.am (1.5),
-	  Watchdog/utils/build_header.in (1.3), demos/Makefile.am (1.8),
-	  demos/ppl_lcdd/Makefile.am (1.21), demos/ppl_lcdd/ppl_lcdd.cc
-	  (1.52), demos/ppl_lcdd/examples/Makefile.am (1.6),
-	  demos/ppl_lpsol/Makefile.am (1.17), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.26), demos/ppl_lpsol/examples/Makefile.am (1.5),
-	  doc/Makefile.am (1.38), doc/README.doc (1.7), doc/definitions.dox
-	  (1.182), doc/devref.tex (1.19), doc/ppl.sty (1.24), doc/user.tex
-	  (1.20), interfaces/Makefile.am (1.12), interfaces/C/Makefile.am
-	  (1.20), interfaces/C/ppl_c.cc (1.147), interfaces/C/ppl_c.h.in
-	  (1.60), interfaces/OCaml/Makefile.am (1.11),
-	  interfaces/Prolog/Makefile.am (1.29),
-	  interfaces/Prolog/Prolog_interface.dox (1.140),
-	  interfaces/Prolog/exceptions.hh (1.19),
-	  interfaces/Prolog/ppl_prolog.icc (1.168),
-	  interfaces/Prolog/track_allocation.hh (1.18),
-	  interfaces/Prolog/Ciao/Makefile.am (1.47),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.16),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.12),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.15),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.39),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.83),
-	  interfaces/Prolog/GNU/Makefile.am (1.50),
-	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.7),
-	  interfaces/Prolog/GNU/gp_clpq.pl (1.10),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.55),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.34),
-	  interfaces/Prolog/SICStus/Makefile.am (1.58),
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.26),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.84),
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.6),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.7),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.13),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.13),
-	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.5),
-	  interfaces/Prolog/SWI/Makefile.am (1.55),
-	  interfaces/Prolog/SWI/pl_clpq.cc (1.10),
-	  interfaces/Prolog/SWI/pl_clpq.pl (1.9),
-	  interfaces/Prolog/SWI/ppl_pl.cc (1.10),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.110),
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.6),
-	  interfaces/Prolog/SWI/swi_pl_check.pl (1.6),
-	  interfaces/Prolog/XSB/Makefile.am (1.39),
-	  interfaces/Prolog/XSB/expected_clpq2_int16 (1.2),
-	  interfaces/Prolog/XSB/expected_clpq2_int16_a (1.2),
-	  interfaces/Prolog/XSB/expected_clpq2_int32 (1.2),
-	  interfaces/Prolog/XSB/expected_clpq2_int32_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq2_int64 (1.2),
-	  interfaces/Prolog/XSB/expected_clpq2_int64_a (1.2),
-	  interfaces/Prolog/XSB/expected_clpq2_int8 (1.2),
-	  interfaces/Prolog/XSB/expected_clpq2_int8_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq2_mpz (1.2),
-	  interfaces/Prolog/XSB/expected_clpq2_mpz_a (1.2),
-	  interfaces/Prolog/XSB/expected_clpq_int16 (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_int16_a (1.3),
-	  interfaces/Prolog/XSB/expected_clpq_int32 (1.2),
-	  interfaces/Prolog/XSB/expected_clpq_int32_a (1.2),
-	  interfaces/Prolog/XSB/expected_clpq_int64 (1.2),
-	  interfaces/Prolog/XSB/expected_clpq_int64_a (1.2),
-	  interfaces/Prolog/XSB/expected_clpq_int8 (1.2),
-	  interfaces/Prolog/XSB/expected_clpq_int8_a (1.2),
-	  interfaces/Prolog/XSB/expected_clpq_mpz (1.2),
-	  interfaces/Prolog/XSB/expected_clpq_mpz_a (1.2),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.43),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.75),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.15),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.13),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.20),
-	  interfaces/Prolog/YAP/Makefile.am (1.41),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.101),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.10),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.11),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.7),
-	  interfaces/Prolog/YAP/yap_pl_check.pl (1.9),
-	  interfaces/Prolog/tests/Makefile.am (1.6),
-	  interfaces/Prolog/tests/clpq.pl (1.7),
-	  interfaces/Prolog/tests/clpq2.pl (1.7),
-	  interfaces/Prolog/tests/expected_clpq2_int16 (1.2),
-	  interfaces/Prolog/tests/expected_clpq2_int16_a (1.2),
-	  interfaces/Prolog/tests/expected_clpq2_int32 (1.2),
-	  interfaces/Prolog/tests/expected_clpq2_int32_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_int64 (1.2),
-	  interfaces/Prolog/tests/expected_clpq2_int64_a (1.2),
-	  interfaces/Prolog/tests/expected_clpq2_int8 (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_int8_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq2_mpz (1.2),
-	  interfaces/Prolog/tests/expected_clpq2_mpz_a (1.2),
-	  interfaces/Prolog/tests/expected_clpq_int16 (1.3),
-	  interfaces/Prolog/tests/expected_clpq_int16_a (1.3),
-	  interfaces/Prolog/tests/expected_clpq_int32 (1.2),
-	  interfaces/Prolog/tests/expected_clpq_int32_a (1.2),
-	  interfaces/Prolog/tests/expected_clpq_int64 (1.2),
-	  interfaces/Prolog/tests/expected_clpq_int64_a (1.2),
-	  interfaces/Prolog/tests/expected_clpq_int8 (1.2),
-	  interfaces/Prolog/tests/expected_clpq_int8_a (1.2),
-	  interfaces/Prolog/tests/expected_clpq_mpz (1.2),
-	  interfaces/Prolog/tests/expected_clpq_mpz_a (1.2),
-	  interfaces/Prolog/tests/pl_check.pl (1.14), m4/Makefile.am
-	  (1.15), m4/ac_check_gmp.m4 (1.23), m4/ac_check_sicstus_prolog.m4
-	  (1.4), m4/ac_check_swi_prolog.m4 (1.8), m4/ac_check_xsb_prolog.m4
-	  (1.2), m4/ac_cxx_attribute_weak.m4 (1.7),
-	  m4/ac_cxx_double_is_iec_559.m4 (1.5),
-	  m4/ac_cxx_flexible_arrays.m4 (1.12),
-	  m4/ac_cxx_float_is_iec_559.m4 (1.5), m4/ac_cxx_long_double.m4
-	  (1.6), m4/ac_cxx_long_double_is_iec_559.m4 (1.5),
-	  m4/ac_cxx_long_long.m4 (1.5), m4/ppl.m4 (1.2),
-	  src/Ask_Tell.defs.hh (1.7), src/Ask_Tell.inlines.hh (1.7),
-	  src/Ask_Tell.types.hh (1.4), src/BDS_Status.idefs.hh (1.11),
-	  src/BDS_Status.inlines.hh (1.9), src/BD_Shape.cc (1.2),
-	  src/BD_Shape.defs.hh (1.56), src/BD_Shape.inlines.hh (1.116),
-	  src/BD_Shape.types.hh (1.5), src/BHRZ03_Certificate.cc (1.10),
-	  src/BHRZ03_Certificate.defs.hh (1.13),
-	  src/BHRZ03_Certificate.inlines.hh (1.7),
-	  src/BHRZ03_Certificate.types.hh (1.4), src/Bounding_Box.cc
-	  (1.13), src/Bounding_Box.defs.hh (1.11),
-	  src/Bounding_Box.inlines.hh (1.14), src/Bounding_Box.types.hh
-	  (1.4), src/C_Polyhedron.cc (1.17), src/C_Polyhedron.defs.hh
-	  (1.38), src/C_Polyhedron.inlines.hh (1.29),
-	  src/C_Polyhedron.types.hh (1.10), src/Checked_Number.cc (1.9),
-	  src/Checked_Number.defs.hh (1.47), src/Checked_Number.inlines.hh
-	  (1.51), src/Checked_Number.types.hh (1.9), src/Coefficient.cc
-	  (1.4), src/Coefficient.defs.hh (1.6), src/Coefficient.inlines.hh
-	  (1.5), src/Coefficient.types.hh (1.11),
-	  src/Coefficient_traits_template.hh (1.4), src/Constraint.cc
-	  (1.54), src/Constraint.defs.hh (1.112), src/Constraint.inlines.hh
-	  (1.61), src/Constraint.types.hh (1.10), src/Constraint_System.cc
-	  (1.15), src/Constraint_System.defs.hh (1.22),
-	  src/Constraint_System.inlines.hh (1.7),
-	  src/Constraint_System.types.hh (1.4), src/DB_Matrix.defs.hh
-	  (1.14), src/DB_Matrix.inlines.hh (1.21), src/DB_Matrix.types.hh
-	  (1.5), src/DB_Row.defs.hh (1.14), src/DB_Row.inlines.hh (1.16),
-	  src/DB_Row.types.hh (1.6), src/Determinate.defs.hh (1.59),
-	  src/Determinate.inlines.hh (1.51), src/Determinate.types.hh
-	  (1.8), src/Float.cc (1.3), src/Float.defs.hh (1.16),
-	  src/Float.inlines.hh (1.16), src/GMP_Integer.defs.hh (1.16),
-	  src/GMP_Integer.inlines.hh (1.11), src/GMP_Integer.types.hh
-	  (1.11), src/Generator.cc (1.67), src/Generator.defs.hh (1.112),
-	  src/Generator.inlines.hh (1.58), src/Generator.types.hh (1.10),
-	  src/Generator_System.cc (1.15), src/Generator_System.defs.hh
-	  (1.11), src/Generator_System.inlines.hh (1.6),
-	  src/Generator_System.types.hh (1.4), src/H79_Certificate.cc
-	  (1.9), src/H79_Certificate.defs.hh (1.13),
-	  src/H79_Certificate.inlines.hh (1.7),
-	  src/H79_Certificate.types.hh (1.4), src/Init.cc (1.22),
-	  src/Init.defs.hh (1.14), src/Init.types.hh (1.9), src/Interval.cc
-	  (1.13), src/Interval.defs.hh (1.25), src/Interval.inlines.hh
-	  (1.24), src/Interval.types.hh (1.11), src/LP_Problem.cc (1.4),
-	  src/LP_Problem.defs.hh (1.3), src/LP_Problem.inlines.hh (1.4),
-	  src/LP_Problem.types.hh (1.4), src/Limits.hh (1.8),
-	  src/Linear_Expression.cc (1.8), src/Linear_Expression.defs.hh
-	  (1.16), src/Linear_Expression.inlines.hh (1.6),
-	  src/Linear_Expression.types.hh (1.4), src/Linear_Row.cc (1.16),
-	  src/Linear_Row.defs.hh (1.13), src/Linear_Row.inlines.hh (1.10),
-	  src/Linear_Row.types.hh (1.4), src/Linear_System.cc (1.33),
-	  src/Linear_System.defs.hh (1.19), src/Linear_System.inlines.hh
-	  (1.18), src/Linear_System.types.hh (1.4), src/Makefile.am
-	  (1.134), src/Matrix.cc (1.89), src/Matrix.defs.hh (1.70),
-	  src/Matrix.inlines.hh (1.47), src/Matrix.types.hh (1.10),
-	  src/NNC_Polyhedron.cc (1.17), src/NNC_Polyhedron.defs.hh (1.40),
-	  src/NNC_Polyhedron.inlines.hh (1.31), src/NNC_Polyhedron.types.hh
-	  (1.10), src/Numeric_Format.defs.hh (1.5), src/Ph_Status.cc (1.8),
-	  src/Ph_Status.idefs.hh (1.11), src/Ph_Status.inlines.hh (1.7),
-	  src/Poly_Con_Relation.cc (1.11), src/Poly_Con_Relation.defs.hh
-	  (1.28), src/Poly_Con_Relation.inlines.hh (1.14),
-	  src/Poly_Con_Relation.types.hh (1.9), src/Poly_Gen_Relation.cc
-	  (1.11), src/Poly_Gen_Relation.defs.hh (1.26),
-	  src/Poly_Gen_Relation.inlines.hh (1.14),
-	  src/Poly_Gen_Relation.types.hh (1.9), src/Polyhedra_Powerset.cc
-	  (1.6), src/Polyhedra_Powerset.defs.hh (1.27),
-	  src/Polyhedra_Powerset.inlines.hh (1.36),
-	  src/Polyhedra_Powerset.types.hh (1.4), src/Polyhedron.defs.hh
-	  (1.288), src/Polyhedron.inlines.hh (1.130),
-	  src/Polyhedron.types.hh (1.16), src/Polyhedron_chdims.cc (1.35),
-	  src/Polyhedron_nonpublic.cc (1.63), src/Polyhedron_public.cc
-	  (1.70), src/Polyhedron_widenings.cc (1.52), src/Powerset.defs.hh
-	  (1.14), src/Powerset.inlines.hh (1.13), src/Powerset.types.hh
-	  (1.4), src/Ptr_Iterator.defs.hh (1.5),
-	  src/Ptr_Iterator.inlines.hh (1.5), src/Ptr_Iterator.types.hh
-	  (1.5), src/Result.defs.hh (1.12), src/Result.inlines.hh (1.7),
-	  src/Rounding_Dir.defs.hh (1.6), src/Rounding_Dir.inlines.hh
-	  (1.3), src/Row.cc (1.95), src/Row.defs.hh (1.99),
-	  src/Row.inlines.hh (1.62), src/Row.types.hh (1.11),
-	  src/Saturation_Matrix.cc (1.7), src/Saturation_Matrix.defs.hh
-	  (1.4), src/Saturation_Matrix.inlines.hh (1.5),
-	  src/Saturation_Matrix.types.hh (1.4), src/Saturation_Row.cc
-	  (1.9), src/Saturation_Row.defs.hh (1.8),
-	  src/Saturation_Row.inlines.hh (1.8), src/Saturation_Row.types.hh
-	  (1.4), src/Scalar_Products.cc (1.3), src/Scalar_Products.defs.hh
-	  (1.2), src/Scalar_Products.inlines.hh (1.2),
-	  src/Scalar_Products.types.hh (1.2), src/Topology.hh (1.11),
-	  src/Variable.cc (1.20), src/Variable.defs.hh (1.48),
-	  src/Variable.inlines.hh (1.23), src/Variable.types.hh (1.10),
-	  src/Widening_Function.defs.hh (1.13),
-	  src/Widening_Function.inlines.hh (1.12),
-	  src/Widening_Function.types.hh (1.5), src/algorithms.hh (1.44),
-	  src/checked.cc (1.11), src/checked.defs.hh (1.30),
-	  src/checked.inlines.hh (1.29), src/checked_ext.defs.hh (1.9),
-	  src/checked_ext.inlines.hh (1.27), src/checked_float.inlines.hh
-	  (1.55), src/checked_int.inlines.hh (1.43),
-	  src/checked_mpq.inlines.hh (1.30), src/checked_mpz.inlines.hh
-	  (1.34), src/checked_numeric_limits.hh (1.9), src/compiler.hh
-	  (1.6), src/conversion.cc (1.77), src/float.types.hh (1.13),
-	  src/fpu-c99.inlines.hh (1.8), src/fpu-ia32.inlines.hh (1.8),
-	  src/fpu-none.inlines.hh (1.3), src/fpu.defs.hh (1.6),
-	  src/globals.cc (1.24), src/globals.defs.hh (1.26),
-	  src/globals.inlines.hh (1.14), src/globals.types.hh (1.4),
-	  src/initializer.hh (1.12), src/max_space_dimension.hh (1.7),
-	  src/minimize.cc (1.43), src/mp_numeric_limits.hh (1.3),
-	  src/namespaces.hh (1.5), src/ppl-config.cc.in (1.11),
-	  src/ppl_header.hh (1.4), src/simplify.cc (1.45),
-	  src/swapping_sort.icc (1.10), src/version.cc (1.7),
-	  src/version.hh.in (1.12), tests/BBox.cc (1.11), tests/BBox.hh
-	  (1.10), tests/Makefile.am (1.247), tests/PFunction.cc (1.8),
-	  tests/PFunction.hh (1.8), tests/Random_Number_Generator.defs.hh
-	  (1.2), tests/Random_Number_Generator.inlines.hh (1.7),
-	  tests/Random_Number_Generator.types.hh (1.2), tests/ehandlers.cc
-	  (1.8), tests/ehandlers.hh (1.13), tests/files.cc (1.8),
-	  tests/files.hh (1.9), tests/ppl_test.hh (1.31), tests/print.cc
-	  (1.18), tests/print.hh (1.22), tests/BD_Shape/Makefile.am (1.31),
-	  tests/BD_Shape/addconstraints1.cc (1.6),
-	  tests/BD_Shape/addspacedims1.cc (1.7),
-	  tests/BD_Shape/addspacedims2.cc (1.7),
-	  tests/BD_Shape/addspacedims3.cc (1.8),
-	  tests/BD_Shape/addspacedims4.cc (1.8),
-	  tests/BD_Shape/addspacedims5.cc (1.9),
-	  tests/BD_Shape/addspacedims6.cc (1.9),
-	  tests/BD_Shape/addspacedims7.cc (1.7),
-	  tests/BD_Shape/affinedimension1.cc (1.3),
-	  tests/BD_Shape/affineimage1.cc (1.7),
-	  tests/BD_Shape/affineimage10.cc (1.5),
-	  tests/BD_Shape/affineimage2.cc (1.7),
-	  tests/BD_Shape/affineimage3.cc (1.7),
-	  tests/BD_Shape/affineimage4.cc (1.7),
-	  tests/BD_Shape/affineimage5.cc (1.7),
-	  tests/BD_Shape/affineimage6.cc (1.7),
-	  tests/BD_Shape/affineimage7.cc (1.7),
-	  tests/BD_Shape/affineimage8.cc (1.12),
-	  tests/BD_Shape/affineimage9.cc (1.10),
-	  tests/BD_Shape/affinepreimage1.cc (1.7),
-	  tests/BD_Shape/affinepreimage2.cc (1.7),
-	  tests/BD_Shape/affinepreimage3.cc (1.7),
-	  tests/BD_Shape/affinepreimage4.cc (1.7),
-	  tests/BD_Shape/affinepreimage5.cc (1.7),
-	  tests/BD_Shape/ascii_dump_load1.cc (1.9),
-	  tests/BD_Shape/ascii_dump_load2.cc (1.8),
-	  tests/BD_Shape/bdsdifference1.cc (1.3),
-	  tests/BD_Shape/bdsdifference2.cc (1.3),
-	  tests/BD_Shape/bdsdifference3.cc (1.3),
-	  tests/BD_Shape/bdsdifference4.cc (1.3),
-	  tests/BD_Shape/bdsdifference5.cc (1.3),
-	  tests/BD_Shape/bdsdifference6.cc (1.3),
-	  tests/BD_Shape/bdsdifference7.cc (1.3),
-	  tests/BD_Shape/bdshull1.cc (1.3), tests/BD_Shape/bdshull2.cc
-	  (1.3), tests/BD_Shape/bdshull3.cc (1.3),
-	  tests/BD_Shape/bdshull4.cc (1.3),
-	  tests/BD_Shape/bgp99extrapolation1.cc (1.3),
-	  tests/BD_Shape/bhmz05widening1.cc (1.2),
-	  tests/BD_Shape/bhmz05widening2.cc (1.2),
-	  tests/BD_Shape/bhmz05widening3.cc (1.2),
-	  tests/BD_Shape/bhmz05widening4.cc (1.2),
-	  tests/BD_Shape/bhmz05widening5.cc (1.2),
-	  tests/BD_Shape/bhmz05widening6.cc (1.2),
-	  tests/BD_Shape/bhmz05widening7.cc (1.2),
-	  tests/BD_Shape/bhmz05widening8.cc (1.2),
-	  tests/BD_Shape/bhz03widening1.cc (1.3),
-	  tests/BD_Shape/cc76extrapolation1.cc (1.6),
-	  tests/BD_Shape/cc76extrapolation2.cc (1.7),
-	  tests/BD_Shape/cc76extrapolation3.cc (1.6),
-	  tests/BD_Shape/cc76extrapolation4.cc (1.8),
-	  tests/BD_Shape/cc76extrapolation5.cc (1.6),
-	  tests/BD_Shape/cc76extrapolation6.cc (1.8),
-	  tests/BD_Shape/cc76narrowing1.cc (1.6),
-	  tests/BD_Shape/cc76narrowing2.cc (1.6),
-	  tests/BD_Shape/cc76narrowing3.cc (1.6),
-	  tests/BD_Shape/cc76narrowing4.cc (1.7),
-	  tests/BD_Shape/cc76narrowing5.cc (1.7),
-	  tests/BD_Shape/closure1.cc (1.11), tests/BD_Shape/concatenate1.cc
-	  (1.7), tests/BD_Shape/concatenate2.cc (1.7),
-	  tests/BD_Shape/concatenate3.cc (1.6),
-	  tests/BD_Shape/concatenate4.cc (1.6),
-	  tests/BD_Shape/concatenate5.cc (1.7),
-	  tests/BD_Shape/constraints1.cc (1.9),
-	  tests/BD_Shape/constraints2.cc (1.7), tests/BD_Shape/contains1.cc
-	  (1.6), tests/BD_Shape/contains2.cc (1.8),
-	  tests/BD_Shape/contains3.cc (1.8), tests/BD_Shape/empty1.cc
-	  (1.6), tests/BD_Shape/empty2.cc (1.6), tests/BD_Shape/empty3.cc
-	  (1.7), tests/BD_Shape/empty4.cc (1.6), tests/BD_Shape/empty5.cc
-	  (1.6), tests/BD_Shape/equality1.cc (1.9),
-	  tests/BD_Shape/exceptions1.cc (1.10),
-	  tests/BD_Shape/exceptions2.cc (1.9),
-	  tests/BD_Shape/exceptions3.cc (1.10),
-	  tests/BD_Shape/fromgensys1.cc (1.6),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.8),
-	  tests/BD_Shape/generalizedaffineimage10.cc (1.7),
-	  tests/BD_Shape/generalizedaffineimage11.cc (1.6),
-	  tests/BD_Shape/generalizedaffineimage12.cc (1.6),
-	  tests/BD_Shape/generalizedaffineimage13.cc (1.6),
-	  tests/BD_Shape/generalizedaffineimage14.cc (1.10),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.7),
-	  tests/BD_Shape/generalizedaffineimage3.cc (1.8),
-	  tests/BD_Shape/generalizedaffineimage4.cc (1.7),
-	  tests/BD_Shape/generalizedaffineimage5.cc (1.7),
-	  tests/BD_Shape/generalizedaffineimage6.cc (1.6),
-	  tests/BD_Shape/generalizedaffineimage7.cc (1.7),
-	  tests/BD_Shape/generalizedaffineimage8.cc (1.7),
-	  tests/BD_Shape/generalizedaffineimage9.cc (1.6),
-	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.4),
-	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.3),
-	  tests/BD_Shape/geomcovers1.cc (1.3),
-	  tests/BD_Shape/h79widening1.cc (1.6),
-	  tests/BD_Shape/intersection1.cc (1.6),
-	  tests/BD_Shape/intersection2.cc (1.6),
-	  tests/BD_Shape/intersection3.cc (1.7),
-	  tests/BD_Shape/intersection4.cc (1.8),
-	  tests/BD_Shape/intersection5.cc (1.8),
-	  tests/BD_Shape/intersection6.cc (1.7),
-	  tests/BD_Shape/intersection7.cc (1.7),
-	  tests/BD_Shape/intersection8.cc (1.7),
-	  tests/BD_Shape/limitedbhmz05extrapolation1.cc (1.2),
-	  tests/BD_Shape/limitedbhmz05extrapolation2.cc (1.2),
-	  tests/BD_Shape/limitedbhmz05extrapolation3.cc (1.2),
-	  tests/BD_Shape/limitedbhmz05extrapolation4.cc (1.2),
-	  tests/BD_Shape/limitedbhmz05extrapolation5.cc (1.2),
-	  tests/BD_Shape/limitedbhmz05extrapolation6.cc (1.2),
-	  tests/BD_Shape/limitedbhmz05extrapolation7.cc (1.2),
-	  tests/BD_Shape/limitedbhmz05extrapolation8.cc (1.2),
-	  tests/BD_Shape/limitedbhmz05extrapolation9.cc (1.2),
-	  tests/BD_Shape/limitedcc76extrapolation1.cc (1.2),
-	  tests/BD_Shape/limitedcc76extrapolation2.cc (1.2),
-	  tests/BD_Shape/limitedcc76extrapolation3.cc (1.2),
-	  tests/BD_Shape/limitedh79extrapolation1.cc (1.6),
-	  tests/BD_Shape/mapspacedims1.cc (1.6),
-	  tests/BD_Shape/mapspacedims2.cc (1.8),
-	  tests/BD_Shape/mapspacedims3.cc (1.7),
-	  tests/BD_Shape/mapspacedims4.cc (1.7),
-	  tests/BD_Shape/maxspacedim.cc (1.9),
-	  tests/BD_Shape/minconstraints1.cc (1.3),
-	  tests/BD_Shape/relations1.cc (1.10), tests/BD_Shape/relations2.cc
-	  (1.10), tests/BD_Shape/relations3.cc (1.9),
-	  tests/BD_Shape/relations4.cc (1.8), tests/BD_Shape/relations5.cc
-	  (1.10), tests/BD_Shape/removespacedims1.cc (1.7),
-	  tests/BD_Shape/removespacedims2.cc (1.8),
-	  tests/BD_Shape/removespacedims3.cc (1.8),
-	  tests/BD_Shape/timeelapse1.cc (1.7),
-	  tests/BD_Shape/timeelapse2.cc (1.6),
-	  tests/BD_Shape/timeelapse3.cc (1.6),
-	  tests/BD_Shape/timeelapse4.cc (1.6),
-	  tests/BD_Shape/timeelapse5.cc (1.7), tests/BD_Shape/universe1.cc
-	  (1.7), tests/BD_Shape/writebdshape1.cc (1.4),
-	  tests/BD_Shape/writebdshape2.cc (1.5),
-	  tests/Polyhedron/CbecomesNNC1.cc (1.6),
-	  tests/Polyhedron/LP_Problem3.cc (1.4),
-	  tests/Polyhedron/Makefile.am (1.40),
-	  tests/Polyhedron/NNCbecomesC1.cc (1.6),
-	  tests/Polyhedron/NNCminimize1.cc (1.6),
-	  tests/Polyhedron/NNCminimize2.cc (1.6),
-	  tests/Polyhedron/NNCminimize3.cc (1.6),
-	  tests/Polyhedron/NNCminimize4.cc (1.6),
-	  tests/Polyhedron/NNCminimize5.cc (1.6),
-	  tests/Polyhedron/NNCminimize6.cc (1.6), tests/Polyhedron/README
-	  (1.5), tests/Polyhedron/addconstraint1.cc (1.6),
-	  tests/Polyhedron/addconstraint2.cc (1.7),
-	  tests/Polyhedron/addconstraint3.cc (1.6),
-	  tests/Polyhedron/addconstraints1.cc (1.7),
-	  tests/Polyhedron/addconstraints10.cc (1.7),
-	  tests/Polyhedron/addconstraints11.cc (1.6),
-	  tests/Polyhedron/addconstraints12.cc (1.6),
-	  tests/Polyhedron/addconstraints13.cc (1.7),
-	  tests/Polyhedron/addconstraints2.cc (1.6),
-	  tests/Polyhedron/addconstraints3.cc (1.7),
-	  tests/Polyhedron/addconstraints4.cc (1.6),
-	  tests/Polyhedron/addconstraints5.cc (1.7),
-	  tests/Polyhedron/addconstraints6.cc (1.6),
-	  tests/Polyhedron/addconstraints7.cc (1.7),
-	  tests/Polyhedron/addconstraints8.cc (1.7),
-	  tests/Polyhedron/addconstraints9.cc (1.6),
-	  tests/Polyhedron/addgenerator1.cc (1.7),
-	  tests/Polyhedron/addgenerator2.cc (1.7),
-	  tests/Polyhedron/addgenerator3.cc (1.6),
-	  tests/Polyhedron/addgenerator4.cc (1.7),
-	  tests/Polyhedron/addgenerator5.cc (1.7),
-	  tests/Polyhedron/addgenerators1.cc (1.7),
-	  tests/Polyhedron/addgenerators10.cc (1.7),
-	  tests/Polyhedron/addgenerators11.cc (1.7),
-	  tests/Polyhedron/addgenerators12.cc (1.7),
-	  tests/Polyhedron/addgenerators13.cc (1.7),
-	  tests/Polyhedron/addgenerators2.cc (1.7),
-	  tests/Polyhedron/addgenerators3.cc (1.6),
-	  tests/Polyhedron/addgenerators4.cc (1.6),
-	  tests/Polyhedron/addgenerators5.cc (1.6),
-	  tests/Polyhedron/addgenerators6.cc (1.7),
-	  tests/Polyhedron/addgenerators7.cc (1.6),
-	  tests/Polyhedron/addgenerators8.cc (1.7),
-	  tests/Polyhedron/addgenerators9.cc (1.6),
-	  tests/Polyhedron/addspacedims1.cc (1.7),
-	  tests/Polyhedron/addspacedims10.cc (1.6),
-	  tests/Polyhedron/addspacedims11.cc (1.6),
-	  tests/Polyhedron/addspacedims12.cc (1.6),
-	  tests/Polyhedron/addspacedims13.cc (1.6),
-	  tests/Polyhedron/addspacedims2.cc (1.7),
-	  tests/Polyhedron/addspacedims3.cc (1.8),
-	  tests/Polyhedron/addspacedims4.cc (1.6),
-	  tests/Polyhedron/addspacedims5.cc (1.6),
-	  tests/Polyhedron/addspacedims6.cc (1.6),
-	  tests/Polyhedron/addspacedims7.cc (1.6),
-	  tests/Polyhedron/addspacedims8.cc (1.7),
-	  tests/Polyhedron/addspacedims9.cc (1.6),
-	  tests/Polyhedron/affineimage1.cc (1.7),
-	  tests/Polyhedron/affineimage2.cc (1.6),
-	  tests/Polyhedron/affineimage3.cc (1.6),
-	  tests/Polyhedron/affineimage4.cc (1.7),
-	  tests/Polyhedron/affineimage5.cc (1.7),
-	  tests/Polyhedron/affineimage6.cc (1.8),
-	  tests/Polyhedron/affineimage7.cc (1.6),
-	  tests/Polyhedron/affineimage8.cc (1.6),
-	  tests/Polyhedron/affineimage9.cc (1.6),
-	  tests/Polyhedron/affinepreimage1.cc (1.6),
-	  tests/Polyhedron/affinepreimage10.cc (1.6),
-	  tests/Polyhedron/affinepreimage11.cc (1.4),
-	  tests/Polyhedron/affinepreimage2.cc (1.6),
-	  tests/Polyhedron/affinepreimage3.cc (1.7),
-	  tests/Polyhedron/affinepreimage4.cc (1.6),
-	  tests/Polyhedron/affinepreimage5.cc (1.6),
-	  tests/Polyhedron/affinepreimage6.cc (1.6),
-	  tests/Polyhedron/affinepreimage7.cc (1.6),
-	  tests/Polyhedron/affinepreimage8.cc (1.7),
-	  tests/Polyhedron/affinepreimage9.cc (1.6),
-	  tests/Polyhedron/affinetrans.cc (1.7),
-	  tests/Polyhedron/append1.cc (1.6), tests/Polyhedron/append2.cc
-	  (1.6), tests/Polyhedron/ascii_dump_load1.cc (1.6),
-	  tests/Polyhedron/ascii_dump_load2.cc (1.6),
-	  tests/Polyhedron/ascii_dump_load3.cc (1.6),
-	  tests/Polyhedron/ascii_dump_load4.cc (1.6),
-	  tests/Polyhedron/ascii_dump_load5.cc (1.6),
-	  tests/Polyhedron/ascii_dump_load6.cc (1.7),
-	  tests/Polyhedron/ascii_dump_load7.cc (1.6),
-	  tests/Polyhedron/bgp99extrapolation1.cc (1.7),
-	  tests/Polyhedron/bgp99extrapolation2.cc (1.7),
-	  tests/Polyhedron/bhrz03widening1.cc (1.6),
-	  tests/Polyhedron/bhrz03widening10.cc (1.7),
-	  tests/Polyhedron/bhrz03widening11.cc (1.6),
-	  tests/Polyhedron/bhrz03widening12.cc (1.6),
-	  tests/Polyhedron/bhrz03widening13.cc (1.6),
-	  tests/Polyhedron/bhrz03widening14.cc (1.6),
-	  tests/Polyhedron/bhrz03widening15.cc (1.7),
-	  tests/Polyhedron/bhrz03widening16.cc (1.6),
-	  tests/Polyhedron/bhrz03widening17.cc (1.6),
-	  tests/Polyhedron/bhrz03widening18.cc (1.6),
-	  tests/Polyhedron/bhrz03widening19.cc (1.6),
-	  tests/Polyhedron/bhrz03widening2.cc (1.6),
-	  tests/Polyhedron/bhrz03widening3.cc (1.6),
-	  tests/Polyhedron/bhrz03widening4.cc (1.6),
-	  tests/Polyhedron/bhrz03widening5.cc (1.6),
-	  tests/Polyhedron/bhrz03widening6.cc (1.6),
-	  tests/Polyhedron/bhrz03widening7.cc (1.6),
-	  tests/Polyhedron/bhrz03widening8.cc (1.6),
-	  tests/Polyhedron/bhrz03widening9.cc (1.6),
-	  tests/Polyhedron/bhz03widening1.cc (1.8),
-	  tests/Polyhedron/bhz03widening2.cc (1.8),
-	  tests/Polyhedron/bhz03widening3.cc (1.8),
-	  tests/Polyhedron/bhz03widening4.cc (1.7),
-	  tests/Polyhedron/bhz03widening5.cc (1.7),
-	  tests/Polyhedron/bhz03widening6.cc (1.8),
-	  tests/Polyhedron/bounded1.cc (1.7),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.5),
-	  tests/Polyhedron/boundedaffineimage2.cc (1.4),
-	  tests/Polyhedron/boundedaffineimage3.cc (1.4),
-	  tests/Polyhedron/boundedaffinepreimage1.cc (1.4),
-	  tests/Polyhedron/boundedaffinepreimage2.cc (1.4),
-	  tests/Polyhedron/boundedaffinepreimage3.cc (1.4),
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.5),
-	  tests/Polyhedron/boundedh79extrapolation1.cc (1.7),
-	  tests/Polyhedron/boundingbox1.cc (1.8),
-	  tests/Polyhedron/boundingbox2.cc (1.7),
-	  tests/Polyhedron/boundingbox3.cc (1.7),
-	  tests/Polyhedron/boundingbox4.cc (1.7),
-	  tests/Polyhedron/boundingbox5.cc (1.7),
-	  tests/Polyhedron/bounds1.cc (1.7), tests/Polyhedron/bounds2.cc
-	  (1.6), tests/Polyhedron/bug2.cc (1.5),
-	  tests/Polyhedron/concatenate1.cc (1.6),
-	  tests/Polyhedron/concatenate2.cc (1.7),
-	  tests/Polyhedron/concatenate3.cc (1.6),
-	  tests/Polyhedron/concatenate4.cc (1.6),
-	  tests/Polyhedron/concatenate5.cc (1.6),
-	  tests/Polyhedron/concatenate6.cc (1.7),
-	  tests/Polyhedron/concatenate7.cc (1.5),
-	  tests/Polyhedron/constraints1.cc (1.6),
-	  tests/Polyhedron/constraints2.cc (1.7),
-	  tests/Polyhedron/constraints3.cc (1.6),
-	  tests/Polyhedron/constraints4.cc (1.7),
-	  tests/Polyhedron/constraints5.cc (1.5),
-	  tests/Polyhedron/contains1.cc (1.6),
-	  tests/Polyhedron/contains2.cc (1.6),
-	  tests/Polyhedron/contains3.cc (1.6),
-	  tests/Polyhedron/contains4.cc (1.6),
-	  tests/Polyhedron/contains5.cc (1.6),
-	  tests/Polyhedron/disjoint1.cc (1.6),
-	  tests/Polyhedron/disjoint2.cc (1.7),
-	  tests/Polyhedron/disjoint3.cc (1.7),
-	  tests/Polyhedron/dualhypercubes.cc (1.6),
-	  tests/Polyhedron/empty1.cc (1.7), tests/Polyhedron/equals1.cc
-	  (1.6), tests/Polyhedron/exceptions1.cc (1.9),
-	  tests/Polyhedron/exceptions2.cc (1.7),
-	  tests/Polyhedron/exceptions3.cc (1.8),
-	  tests/Polyhedron/expandspacedim1.cc (1.7),
-	  tests/Polyhedron/expandspacedim2.cc (1.7),
-	  tests/Polyhedron/foldspacedims1.cc (1.7),
-	  tests/Polyhedron/foldspacedims2.cc (1.7),
-	  tests/Polyhedron/generalizedaffineimage1.cc (1.7),
-	  tests/Polyhedron/generalizedaffineimage10.cc (1.6),
-	  tests/Polyhedron/generalizedaffineimage11.cc (1.7),
-	  tests/Polyhedron/generalizedaffineimage12.cc (1.6),
-	  tests/Polyhedron/generalizedaffineimage13.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage14.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage2.cc (1.7),
-	  tests/Polyhedron/generalizedaffineimage3.cc (1.7),
-	  tests/Polyhedron/generalizedaffineimage4.cc (1.7),
-	  tests/Polyhedron/generalizedaffineimage5.cc (1.6),
-	  tests/Polyhedron/generalizedaffineimage6.cc (1.7),
-	  tests/Polyhedron/generalizedaffineimage7.cc (1.7),
-	  tests/Polyhedron/generalizedaffineimage8.cc (1.6),
-	  tests/Polyhedron/generalizedaffineimage9.cc (1.6),
-	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.4),
-	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.4),
-	  tests/Polyhedron/generalizedaffinepreimage3.cc (1.4),
-	  tests/Polyhedron/generalizedaffinepreimage4.cc (1.4),
-	  tests/Polyhedron/generators1.cc (1.6),
-	  tests/Polyhedron/generators2.cc (1.6),
-	  tests/Polyhedron/generators3.cc (1.7),
-	  tests/Polyhedron/generators4.cc (1.7),
-	  tests/Polyhedron/generators5.cc (1.6),
-	  tests/Polyhedron/generators6.cc (1.7),
-	  tests/Polyhedron/generators7.cc (1.6),
-	  tests/Polyhedron/geomcovers1.cc (1.8),
-	  tests/Polyhedron/gramschmidt1.cc (1.3),
-	  tests/Polyhedron/h79widening1.cc (1.6),
-	  tests/Polyhedron/h79widening2.cc (1.6),
-	  tests/Polyhedron/h79widening3.cc (1.6),
-	  tests/Polyhedron/h79widening4.cc (1.6),
-	  tests/Polyhedron/h79widening5.cc (1.7),
-	  tests/Polyhedron/h79widening6.cc (1.6),
-	  tests/Polyhedron/h79widening7.cc (1.6),
-	  tests/Polyhedron/h79widening8.cc (1.6),
-	  tests/Polyhedron/intersection1.cc (1.6),
-	  tests/Polyhedron/intersection10.cc (1.7),
-	  tests/Polyhedron/intersection11.cc (1.7),
-	  tests/Polyhedron/intersection2.cc (1.6),
-	  tests/Polyhedron/intersection3.cc (1.6),
-	  tests/Polyhedron/intersection4.cc (1.7),
-	  tests/Polyhedron/intersection5.cc (1.7),
-	  tests/Polyhedron/intersection6.cc (1.7),
-	  tests/Polyhedron/intersection7.cc (1.6),
-	  tests/Polyhedron/intersection8.cc (1.7),
-	  tests/Polyhedron/intersection9.cc (1.7),
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.6),
-	  tests/Polyhedron/limitedh79extrapolation1.cc (1.6),
-	  tests/Polyhedron/limitedh79extrapolation2.cc (1.6),
-	  tests/Polyhedron/limitedh79extrapolation3.cc (1.6),
-	  tests/Polyhedron/limitedh79extrapolation4.cc (1.7),
-	  tests/Polyhedron/linearpartition1.cc (1.6),
-	  tests/Polyhedron/linearpartition2.cc (1.6),
-	  tests/Polyhedron/linearpartition3.cc (1.6),
-	  tests/Polyhedron/linearpartition4.cc (1.7),
-	  tests/Polyhedron/linearsystem1.cc (1.3),
-	  tests/Polyhedron/linexpression1.cc (1.6),
-	  tests/Polyhedron/lpproblem1.cc (1.2),
-	  tests/Polyhedron/lpproblem2.cc (1.2),
-	  tests/Polyhedron/mapspacedims1.cc (1.7),
-	  tests/Polyhedron/mapspacedims2.cc (1.6),
-	  tests/Polyhedron/mapspacedims3.cc (1.6),
-	  tests/Polyhedron/mapspacedims4.cc (1.6),
-	  tests/Polyhedron/matrix1.cc (1.6), tests/Polyhedron/max_min1.cc
-	  (1.7), tests/Polyhedron/max_min2.cc (1.7),
-	  tests/Polyhedron/maxspacedim1.cc (1.6), tests/Polyhedron/mc91.cc
-	  (1.7), tests/Polyhedron/membytes1.cc (1.7),
-	  tests/Polyhedron/membytes2.cc (1.6), tests/Polyhedron/memory1.cc
-	  (1.8), tests/Polyhedron/memory2.cc (1.11),
-	  tests/Polyhedron/minconstraints1.cc (1.6),
-	  tests/Polyhedron/minconstraints2.cc (1.7),
-	  tests/Polyhedron/minconstraints3.cc (1.6),
-	  tests/Polyhedron/minconstraints4.cc (1.6),
-	  tests/Polyhedron/mingenerators1.cc (1.6),
-	  tests/Polyhedron/mingenerators2.cc (1.7),
-	  tests/Polyhedron/mingenerators3.cc (1.6),
-	  tests/Polyhedron/numberinput1.cc (1.20),
-	  tests/Polyhedron/onepoint.cc (1.7), tests/Polyhedron/permute.cc
-	  (1.6), tests/Polyhedron/polydifference1.cc (1.6),
-	  tests/Polyhedron/polydifference2.cc (1.6),
-	  tests/Polyhedron/polydifference3.cc (1.6),
-	  tests/Polyhedron/polydifference4.cc (1.7),
-	  tests/Polyhedron/polydifference5.cc (1.6),
-	  tests/Polyhedron/polydifference6.cc (1.6),
-	  tests/Polyhedron/polydifference7.cc (1.7),
-	  tests/Polyhedron/polydifference8.cc (1.6),
-	  tests/Polyhedron/polydifference9.cc (1.7),
-	  tests/Polyhedron/polyhull1.cc (1.6),
-	  tests/Polyhedron/polyhull10.cc (1.6),
-	  tests/Polyhedron/polyhull11.cc (1.6),
-	  tests/Polyhedron/polyhull2.cc (1.7),
-	  tests/Polyhedron/polyhull3.cc (1.7),
-	  tests/Polyhedron/polyhull4.cc (1.6),
-	  tests/Polyhedron/polyhull5.cc (1.7),
-	  tests/Polyhedron/polyhull6.cc (1.6),
-	  tests/Polyhedron/polyhull7.cc (1.6),
-	  tests/Polyhedron/polyhull8.cc (1.7),
-	  tests/Polyhedron/polyhull9.cc (1.7),
-	  tests/Polyhedron/polypowerset1.cc (1.8),
-	  tests/Polyhedron/powerset1.cc (1.4),
-	  tests/Polyhedron/randphull1.cc (1.7),
-	  tests/Polyhedron/randphull2.cc (1.8),
-	  tests/Polyhedron/relations1.cc (1.6),
-	  tests/Polyhedron/relations10.cc (1.6),
-	  tests/Polyhedron/relations11.cc (1.6),
-	  tests/Polyhedron/relations12.cc (1.6),
-	  tests/Polyhedron/relations13.cc (1.6),
-	  tests/Polyhedron/relations14.cc (1.6),
-	  tests/Polyhedron/relations15.cc (1.6),
-	  tests/Polyhedron/relations16.cc (1.6),
-	  tests/Polyhedron/relations17.cc (1.7),
-	  tests/Polyhedron/relations18.cc (1.6),
-	  tests/Polyhedron/relations19.cc (1.7),
-	  tests/Polyhedron/relations2.cc (1.7),
-	  tests/Polyhedron/relations3.cc (1.6),
-	  tests/Polyhedron/relations4.cc (1.6),
-	  tests/Polyhedron/relations5.cc (1.6),
-	  tests/Polyhedron/relations6.cc (1.7),
-	  tests/Polyhedron/relations7.cc (1.6),
-	  tests/Polyhedron/relations8.cc (1.6),
-	  tests/Polyhedron/relations9.cc (1.6),
-	  tests/Polyhedron/removespacedims1.cc (1.6),
-	  tests/Polyhedron/removespacedims10.cc (1.7),
-	  tests/Polyhedron/removespacedims2.cc (1.6),
-	  tests/Polyhedron/removespacedims3.cc (1.7),
-	  tests/Polyhedron/removespacedims4.cc (1.6),
-	  tests/Polyhedron/removespacedims5.cc (1.7),
-	  tests/Polyhedron/removespacedims6.cc (1.6),
-	  tests/Polyhedron/removespacedims7.cc (1.6),
-	  tests/Polyhedron/removespacedims8.cc (1.6),
-	  tests/Polyhedron/removespacedims9.cc (1.6),
-	  tests/Polyhedron/smm1.cc (1.6), tests/Polyhedron/timeelapse1.cc
-	  (1.6), tests/Polyhedron/timeelapse2.cc (1.7),
-	  tests/Polyhedron/timeelapse3.cc (1.6),
-	  tests/Polyhedron/timeelapse4.cc (1.6),
-	  tests/Polyhedron/timeelapse5.cc (1.7),
-	  tests/Polyhedron/timeelapse6.cc (1.6),
-	  tests/Polyhedron/timeelapse7.cc (1.7),
-	  tests/Polyhedron/timeelapse8.cc (1.7),
-	  tests/Polyhedron/timeelapse9.cc (1.7),
-	  tests/Polyhedron/topclosed1.cc (1.7),
-	  tests/Polyhedron/topclosed2.cc (1.7),
-	  tests/Polyhedron/topclosed3.cc (1.6),
-	  tests/Polyhedron/topclosure1.cc (1.6),
-	  tests/Polyhedron/topclosure2.cc (1.7),
-	  tests/Polyhedron/topclosure3.cc (1.6),
-	  tests/Polyhedron/topclosure4.cc (1.7),
-	  tests/Polyhedron/universe1.cc (1.6),
-	  tests/Polyhedron/universe2.cc (1.6),
-	  tests/Polyhedron/universe3.cc (1.6),
-	  tests/Polyhedron/universe4.cc (1.6),
-	  tests/Polyhedron/universe5.cc (1.6),
-	  tests/Polyhedron/universe6.cc (1.6),
-	  tests/Polyhedron/universe7.cc (1.6),
-	  tests/Polyhedron/watchdog1.cc (1.7),
-	  tests/Polyhedron/writeconsys1.cc (1.6),
-	  tests/Polyhedron/writegensys1.cc (1.6),
-	  tests/Polyhedron/writegensys2.cc (1.7),
-	  tests/Polyhedron/writegensys3.cc (1.6),
-	  tests/Polyhedron/writepolyhedron1.cc (1.6),
-	  tests/Polyhedron/writepolyhedron2.cc (1.6),
-	  tests/Polyhedron/writepolyhedron3.cc (1.6),
-	  tests/Polyhedron/writerelation1.cc (1.6),
-	  tests/Polyhedron/writevariable1.cc (1.6), utils/Makefile.am
-	  (1.11), utils/build_header.in (1.3), utils/text2cxxarray.in
-	  (1.2), utils/timings.cc (1.6), utils/timings.hh (1.4): Copyright
-	  years extended.
-
-2005-12-31 Saturday 18:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: primalsimplex1.cc (1.5), primalsimplex2.cc
-	  (1.5): No longer testing the primal_simplex method.
-
-2005-12-31 Saturday 18:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.171): Do not announce the primal_simplex() methods; do
-	  announce the LP_Problem class instead.
-
-2005-12-31 Saturday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.181): The widening on BD_Shape is now the
-	  BHMZ05 widening.
-
-2005-12-31 Saturday 18:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.146), ppl_c.h.in (1.59): Got rid of
-	  the old interfaces for the primal simplex algorithm.
-
-2005-12-31 Saturday 18:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: LP_Problem1.cc (1.3), LP_Problem2.cc (1.3),
-	  Makefile.am (1.39), lpproblem1.cc (1.1), lpproblem2.cc (1.1):
-	  Renamed (and basically rewritten) tests for class LP_Problem.
-
-2005-12-31 Saturday 18:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.30), bhmz05widening1.cc (1.1),
-	  bhmz05widening2.cc (1.1), bhmz05widening3.cc (1.1),
-	  bhmz05widening4.cc (1.1), bhmz05widening5.cc (1.1),
-	  bhmz05widening6.cc (1.1), bhmz05widening7.cc (1.1),
-	  bhmz05widening8.cc (1.1), ch78widening1.cc (1.6),
-	  ch78widening2.cc (1.7), ch78widening3.cc (1.6), ch78widening4.cc
-	  (1.7), ch78widening5.cc (1.7), ch78widening6.cc (1.9),
-	  ch78widening7.cc (1.6), ch78widening8.cc (1.7), exceptions2.cc
-	  (1.8), limitedCC76extrapolation1.cc (1.6),
-	  limitedCC76extrapolation2.cc (1.8), limitedCC76extrapolation3.cc
-	  (1.8), limitedCH78extrapolation1.cc (1.7),
-	  limitedCH78extrapolation2.cc (1.6), limitedCH78extrapolation3.cc
-	  (1.6), limitedCH78extrapolation4.cc (1.6),
-	  limitedCH78extrapolation5.cc (1.6), limitedCH78extrapolation6.cc
-	  (1.6), limitedCH78extrapolation7.cc (1.6),
-	  limitedCH78extrapolation8.cc (1.6), limitedCH78extrapolation9.cc
-	  (1.6), limitedbhmz05extrapolation1.cc (1.1),
-	  limitedbhmz05extrapolation2.cc (1.1),
-	  limitedbhmz05extrapolation3.cc (1.1),
-	  limitedbhmz05extrapolation4.cc (1.1),
-	  limitedbhmz05extrapolation5.cc (1.1),
-	  limitedbhmz05extrapolation6.cc (1.1),
-	  limitedbhmz05extrapolation7.cc (1.1),
-	  limitedbhmz05extrapolation8.cc (1.1),
-	  limitedbhmz05extrapolation9.cc (1.1),
-	  limitedcc76extrapolation1.cc (1.1), limitedcc76extrapolation2.cc
-	  (1.1), limitedcc76extrapolation3.cc (1.1): Renaming the CH78
-	  widening into BHMZ05 widening.  Avoid uppercases in the tests'
-	  filenames.
-
-2005-12-31 Saturday 18:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.55), BD_Shape.inlines.hh (1.115):
-	  Method CH78_widening_assign() renamed as
-	  BHMZ05_widening_assign().  Fixed a few problems in the
-	  documentation.  Fixed several occurrences of a problem regarding
-	  the checked approximation of the negation of a Coefficient.
-
-2005-12-31 Saturday 18:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.129): Exploit LP_Problem when
-	  (efficiently) testing for emptyness of the Polyhedron in method
-	  shrink_bounding_box().
-
-2005-12-31 Saturday 18:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.62): Exploit the new LP_Problem
-	  class in the implementation of minimization for NNC polyhedra.
-
-2005-12-31 Saturday 18:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.inlines.hh (1.3): Properly initialize and copy the
-	  private member working_cost.
-
-2005-12-31 Saturday 18:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Makefile.am (1.133), simplex.cc (1.35): Got rid of the old
-	  simplex implementation.
-
-2005-12-31 Saturday 18:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.defs.hh (1.21): Got rid of the primal
-	  simplex methods.
-
-2005-12-31 Saturday 18:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.111): Corrected documentation for
-	  private method set_is_inequality().
-
-2005-12-31 Saturday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.62), devref.doxyconf-latex.in
-	  (1.5), user.doxyconf-html.in (1.32), user.doxyconf-latex.in
-	  (1.4): Updated to the new version of doxygen (1.4.6).  Completed
-	  the list of input files for the devref manual.
-
-2005-12-31 Saturday 18:03  Abramo Bagnara
-
-	* src/checked.cc (1.10): Reverted to old version and fixed it.
-
-2005-12-31 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.19): Fixed another expected
-	  result.
-
-2005-12-31 Saturday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.18): Fixed some expected
-	  results.
-
-2005-12-31 Saturday 17:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.17): FIX comments removed:
-	  some were OK, some were not.
-
-2005-12-31 Saturday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.cc (1.5): Added a missing \relates Doxygen
-	  command.
-
-2005-12-31 Saturday 15:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GMP_Integer.defs.hh (1.15), GMP_Integer.inlines.hh (1.10):
-	  Added binary version of neg_assign().
-
-2005-12-31 Saturday 12:23  Abramo Bagnara
-
-	* tests/Polyhedron/numberinput1.cc (1.16): Rewritten test function.
-
-2005-12-31 Saturday 12:17  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (1.50): Missing rename.
-
-2005-12-31 Saturday 11:40  Abramo Bagnara
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.51), interfaces/C/ppl_c.cc (1.145),
-	  interfaces/Prolog/ppl_prolog.icc (1.167),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.38),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.33),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.83),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.109),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.74),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.100), src/BD_Shape.inlines.hh
-	  (1.114), src/Bounding_Box.inlines.hh (1.13),
-	  src/Checked_Number.defs.hh (1.46), src/Checked_Number.inlines.hh
-	  (1.49), src/DB_Matrix.inlines.hh (1.20),
-	  src/Polyhedron.inlines.hh (1.128), src/Polyhedron_nonpublic.cc
-	  (1.61), tests/Random_Number_Generator.inlines.hh (1.6),
-	  tests/BD_Shape/closure1.cc (1.10): Renamed assign in assign_r for
-	  congruency.
-
-2005-12-30 Friday 23:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.180): Removed a repeated "the".
-
-2005-12-30 Friday 23:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.165): Removed two items:
-
-	  - Improve the documentation of Polyhedron::shrink_bounding_box().
-	     See
-	  http://www.cs.unipr.it/pipermail/ppl-devel/2005-July/006191.html.
-	   (documentation of Polyhedron::shrink_bounding_box() has been
-	  improved.)
-
-	  - The documentation has been read through but a more careful
-	  check,   particularly on the detailed descriptions, should be
-	  done.
-
-2005-12-30 Friday 23:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.287): Added more explanation regarding
-	  shrink_bounding_box.
-
-2005-12-30 Friday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_Expression.cc (1.7): Removed excessive uses of
-	  vertical space.
-
-2005-12-30 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Linear_Expression.defs.hh (1.15), Polyhedron.defs.hh
-	  (1.286): Removed excessive indentation in Doxygen comments.
-
-2005-12-30 Friday 21:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/LP_Problem3.cc (1.3): Avoid a space dimension
-	  compatibility problem.
-
-2005-12-30 Friday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.50), interfaces/C/ppl_c.cc (1.144),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.37),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.32),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.82),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.108),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.73), src/BD_Shape.inlines.hh
-	  (1.113), src/Bounding_Box.inlines.hh (1.12),
-	  src/Polyhedron.inlines.hh (1.127), src/Polyhedron_nonpublic.cc
-	  (1.60): Got rid of most uses of raw_value().
-
-2005-12-30 Friday 21:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.11): Delete trailing whitespace.
-
-2005-12-30 Friday 21:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.143): Added a couple of missing spaces.
-
-2005-12-30 Friday 21:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.58): Corrected the documentation for
-	  the return value of ppl_LP_Problem_solve().
-
-2005-12-30 Friday 21:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.166): Fixed indentation in a
-	  switch statement.  Added the missing default case in another
-	  switch statement.
-
-2005-12-30 Friday 21:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.16), expected_mpz (1.5),
-	  expected_mpz_a (1.5): Make check now also perform many tests
-	  using the simplex algorithm.	Expected results for mpz
-	  coefficients changed accordingly.
-
-2005-12-30 Friday 21:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.25): Check for all possible values
-	  that can be returned by ppl_LP_Problem_solve().
-
-2005-12-30 Friday 21:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.35): Added namespace
-	  qualification to a doxygen \relates command for a function that
-	  is no longer in the anonymous namespace.
-
-2005-12-30 Friday 21:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GMP_Integer.types.hh (1.10): Let the brief doxygen
-	  documentation be actually printed.
-
-2005-12-30 Friday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ptr_Iterator.types.hh (1.4): Replaced a use of `class' with
-	  `typename'.
-
-2005-12-30 Friday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ask_Tell.types.hh (1.3), BD_Shape.types.hh (1.4),
-	  BHRZ03_Certificate.types.hh (1.3), Bounding_Box.types.hh (1.3),
-	  C_Polyhedron.types.hh (1.9), Constraint.types.hh (1.9),
-	  Constraint_System.types.hh (1.3), DB_Matrix.types.hh (1.4),
-	  DB_Row.types.hh (1.5), Determinate.types.hh (1.7),
-	  Generator.types.hh (1.9), Generator_System.types.hh (1.3),
-	  H79_Certificate.types.hh (1.3), Init.types.hh (1.8),
-	  Interval.types.hh (1.10), LP_Problem.types.hh (1.3),
-	  Linear_Expression.types.hh (1.3), Linear_Row.types.hh (1.3),
-	  Linear_System.types.hh (1.3), Matrix.types.hh (1.9),
-	  NNC_Polyhedron.types.hh (1.9), Poly_Con_Relation.types.hh (1.8),
-	  Poly_Gen_Relation.types.hh (1.8), Polyhedra_Powerset.types.hh
-	  (1.3), Powerset.types.hh (1.3), Row.types.hh (1.10),
-	  Saturation_Matrix.types.hh (1.3), Saturation_Row.types.hh (1.3),
-	  Variable.types.hh (1.9), Widening_Function.types.hh (1.4):
-	  Namespaces' closing brackets should always be commented.
-
-2005-12-30 Friday 19:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Coefficient.types.hh (1.10): Include "Checked_Number.defs.hh"
-	  unconditionally.
-
-2005-12-30 Friday 19:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/namespaces.hh (1.4): Namespaces' closing brackets should
-	  always be commented.
-
-2005-12-30 Friday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.170), demos/ppl_lpsol/Makefile.am (1.15): With the new
-	  simplex implementation, ppl_lpsol is indeed a quite useful tool:
-	  it is now installed in $(bindir) upon `make install'.
-
-2005-12-30 Friday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.24): New option --enumerate, dual
-	  to --simplex.
-
-2005-12-30 Friday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Coefficient.defs.hh (1.5), Coefficient.types.hh (1.9),
-	  Makefile.am (1.132), Native_Integer.defs.hh (1.17),
-	  Native_Integer.inlines.hh (1.20), Native_Integer.types.hh (1.11):
-	  Old implementation of native integer coefficients phased out:
-	  checked numbers with the transparent policy are used instead.
-
-2005-12-30 Friday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.199): When native integers are requested, use
-	  checked numbers with the transparent policy for the coefficients.
-	  Version number bumped.
-
-2005-12-30 Friday 17:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.23): Require at least version 8 of
-	  the PPL.
-
-2005-12-30 Friday 17:10  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.45), Checked_Number.inlines.hh
-	  (1.48), checked.defs.hh (1.29): More visibility to
-	  Checked_Number_Transparent_Policy.
-
-2005-12-30 Friday 16:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.22): Now also accepting the long
-	  option --simplex.  Avoid a duplicated timing output and do not
-	  claim optimization (in the output) when the LP problem has been
-	  found unfeasible or unbounded.
-
-2005-12-30 Friday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Native_Integer.inlines.hh (1.19): Implemented template
-	  <typename T> Native_Integer<T>::operator T() const.
-
-2005-12-30 Friday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (1.88): Added an assertion on the parameter of
-	  permute_columns().
-
-2005-12-30 Friday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.112): Added a missing namespace
-	  qualification in code expoiting the new simplex implementation.
-
-2005-12-30 Friday 09:36  Abramo Bagnara
-
-	* src/: BD_Shape.inlines.hh (1.111), Checked_Number.defs.hh (1.44),
-	  Checked_Number.inlines.hh (1.47), Constraint.cc (1.53),
-	  DB_Matrix.inlines.hh (1.19), GMP_Integer.defs.hh (1.14),
-	  GMP_Integer.inlines.hh (1.9), Generator.cc (1.66), LP_Problem.cc
-	  (1.3), Linear_Expression.cc (1.6), Linear_Row.cc (1.15),
-	  Linear_System.cc (1.32), Native_Integer.defs.hh (1.16),
-	  Native_Integer.inlines.hh (1.18), Polyhedron_public.cc (1.69),
-	  Row.cc (1.94), conversion.cc (1.76), simplex.cc (1.34): Renamed
-	  assign functors for congruency.
-
-2005-12-30 Friday 09:34  Abramo Bagnara
-
-	* src/: checked_int.inlines.hh (1.42), checked_numeric_limits.hh
-	  (1.8): Cleaner implementation of limits.
-
-2005-12-29 Thursday 22:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.21), doc/devref.doxyconf-html.in
-	  (1.61), interfaces/C/ppl_c.cc (1.142), interfaces/C/ppl_c.h.in
-	  (1.57), interfaces/Prolog/Prolog_interface.dox (1.139),
-	  interfaces/Prolog/exceptions.hh (1.18),
-	  interfaces/Prolog/ppl_prolog.icc (1.165),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.107),
-	  src/BD_Shape.inlines.hh (1.110), src/Constraint_System.defs.hh
-	  (1.20), src/LP_Problem.cc (1.2), src/LP_Problem.defs.hh (1.2),
-	  src/LP_Problem.inlines.hh (1.2), src/LP_Problem.types.hh (1.2),
-	  src/Linear_Expression.defs.hh (1.14), src/Makefile.am (1.131),
-	  src/Polyhedron_nonpublic.cc (1.59), src/globals.types.hh (1.3),
-	  src/simplex.cc (1.33), tests/Polyhedron/LP_Problem1.cc (1.2),
-	  tests/Polyhedron/LP_Problem2.cc (1.2),
-	  tests/Polyhedron/LP_Problem3.cc (1.2),
-	  tests/Polyhedron/Makefile.am (1.38),
-	  tests/Polyhedron/primalsimplex1.cc (1.4),
-	  tests/Polyhedron/primalsimplex2.cc (1.4): First merge of the
-	  simplex branch to the main trunk.
-
-2005-12-29 Thursday 20:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.4): Stick to use the new
-	  interface for the simplex algorithm.
-
-2005-12-29 Thursday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.198): Check for egrep: we use it to perform some
-	  version checks.
-
-2005-12-29 Thursday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.169), interfaces/Prolog/Prolog_interface.dox (1.138),
-	  m4/ac_check_swi_prolog.m4 (1.7): We now require SWI-Prolog 5.6.0
-	  or later version: the AC_CHECK_SWI_PROLOG macro checks that this
-	  requirement is fulfilled.
-
-2005-12-29 Thursday 07:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.93): Avoid shadowing variables (and the consequent
-	  compiler warnings).
-
-2005-12-28 Wednesday 17:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.168): Added an item regarding the implementation of the
-	  domain of BD shapes.
-
-2005-12-28 Wednesday 17:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LP_Problem.cc, LP_Problem.inlines.hh (simplex.[13,13]):
-	  Throwing the documented exceptions when appropriate.	Method OK()
-	  is no longer inlined and now performs some more accurate
-	  consistency check.
-
-2005-12-28 Wednesday 17:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LP_Problem.defs.hh (simplex.12): Added documentation about
-	  exceptions that should be thrown.
-
-2005-12-27 Tuesday 13:45  Andrea Cimino
-
-	* tests/Polyhedron/LP_Problem3.cc (simplex.3): Enabled by mistake
-	  NOISY macro: now disabled.
-
-2005-12-27 Tuesday 13:44  Andrea Cimino
-
-	* tests/Polyhedron/LP_Problem3.cc (simplex.2): Inserted another
-	  challenger: the problem is solved also adding `incrementally'
-	  constraints to a Constraint_System and applying the simplex
-	  algorithm.
-
-2005-12-25 Sunday 13:07  Andrea Cimino
-
-	* tests/Polyhedron/: LP_Problem1.cc, LP_Problem3.cc
-	  (simplex.[5,1]): Added another test to check LP_Problem's
-	  incrementality.  Avoid useless inclusions.
-
-2005-12-24 Saturday 12:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.109), Checked_Number.defs.hh (1.43):
-	  Two FIXME replaced by corresponding TODO.  Minor variable name
-	  improvements in generalized_affine_preimage.	Splitted too long
-	  lines in Checked_Number.defs.hh.
-
-2005-12-24 Saturday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.54): Indentation fixed.
-
-2005-12-24 Saturday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.164): A couple of items dealt with.
-
-2005-12-24 Saturday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.167), STANDARDS (1.28): A couple of minor improvements.
-
-2005-12-24 Saturday 12:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/ppl_prolog.icc, src/BD_Shape.inlines.hh,
-	  src/Constraint_System.defs.hh, src/LP_Problem.cc,
-	  src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh,
-	  src/LP_Problem.types.hh, src/Polyhedron_nonpublic.cc,
-	  src/globals.types.hh, src/simplex.cc,
-	  tests/Polyhedron/LP_Problem1.cc, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/primalsimplex1.cc,
-	  tests/Polyhedron/primalsimplex2.cc
-	  (simplex.[3,3,3,2,2,2,3,12,11,12,2,1,2,2,4,2,1,1]): The
-	  enumeration Simplex_Status renamed as LP_Problem_Status.  Its
-	  definition moved into LP_Problem.types.hh.
-
-2005-12-23 Friday 17:03  Matthew Mundell
-
-	* src/Grid_public.cc (grids.127): Update the constraint system
-	  adding methods to leave the check on the existence of rows in the
-	  temporary congruence system to the method that will add that
-	  congruence system.
-
-2005-12-23 Friday 16:51  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.inlines.hh
-	  (grids.[38,12]): Ensure that all constructors create at least two
-	  columns.
-
-2005-12-23 Friday 15:48  Matthew Mundell
-
-	* src/Grid_public.cc (grids.126): Enable the all-zero parameter OK
-	  check.
-
-2005-12-23 Friday 15:48  Matthew Mundell
-
-	* src/Grid_Generator_System.defs.hh (grids.17): Add the all-zero
-	  parameter behaviour to the insert(g) description.
-
-2005-12-23 Friday 15:41  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.25): Adding setting of the
-	  first pending row index to the recycling_insert methods.
-
-2005-12-23 Friday 14:40  Matthew Mundell
-
-	* tests/Grid/isuniverse1.cc (grids.9): Add three tests where the
-	  grid is defined by a minimized congruence system.
-
-2005-12-23 Friday 14:39  Matthew Mundell
-
-	* src/Grid_public.cc (grids.125): Leave the is_universe assumption
-	  that the minimized universe congruence system always contains
-	  exactly the integrality congruence.
-
-2005-12-23 Friday 14:38  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.29): Add a query about using the
-	  congruence system in remove_space_dimensions.
-
-2005-12-23 Friday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.166): Our tentative release date for PPL 0.8 is January
-	  20, 2006.
-
-2005-12-23 Friday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.163): Two items moved from PPL 0.8 to PPL 0.9.  Added one
-	  more item to PPL 0.9.
-
-2005-12-23 Friday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: generalizedaffinepreimage1.cc (1.3),
-	  generalizedaffinepreimage2.cc (1.2): Avoid using useless explicit
-	  constructors for Linear_Expression.  Maximum allowed distances
-	  updated to reflect the approximations incurred by integer
-	  coefficient types.
-
-2005-12-23 Friday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.108): Minor improvements in the
-	  comments of generalized_affine_preimage.
-
-2005-12-23 Friday 09:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (simplex.1): Added the
-	  list of predicates related to the new PPL object LP_Problem.
-
-2005-12-22 Thursday 20:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh, ppl_prolog.icc,
-	  SWI/ppl_swiprolog.cc, tests/pl_check.pl (simplex.[1,1,1,1]):
-	  Drafted the (SWI) Prolog interface for class LP_Problem.
-
-2005-12-22 Thursday 20:01  Matthew Mundell
-
-	* tests/Grid/relations2.cc (grids.7): Add test10 to test13, which
-	  test grids with divisors that are greater than one.
-
-2005-12-22 Thursday 20:00  Matthew Mundell
-
-	* src/Grid_public.cc (grids.124): Account for the divisor in the
-	  parameter case of relation_with(g) by modulating the scalar
-	  product by the product of the parameter divisor and the modulus,
-	  instead of by just the modulus.
-
-2005-12-22 Thursday 17:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc, ppl_c.h.in (simplex.[2,2]): Added the
-	  encoding of domain_error.  The changes in the LP_Problem
-	  interface reflected here.
-
-2005-12-22 Thursday 17:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[11,10,11]): Methods is_satisfiable(), solve(),
-	  feasible_point() and optimizing_point() are now declared const.
-	  A few stylistic and doxygen comments improvements.
-
-2005-12-22 Thursday 17:41  Matthew Mundell
-
-	* src/Grid_public.cc (grids.123): Update OK to check that the
-	  con_sys and grid space dimensions match when con_sys is empty.
-
-	  Update add_recycled_generators_and_minimize to insert the
-	  generators with Grid_Generator_System::recycling_insert.
-
-	  Replace the add_recycled_generators call in
-	  generalized_affine_image(l,r,m) with equivalent, quicker code.
-
-2005-12-22 Thursday 17:37  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
-	  (grids.[24,16]): Add recycling_insert(g).
-
-2005-12-22 Thursday 17:35  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.inlines.hh
-	  (grids.[13,15]): Implement operator<< directly, adding divisor
-	  output for parameters.
-
-2005-12-22 Thursday 17:33  Matthew Mundell
-
-	* src/Matrix.defs.hh (grids.6): Correct typo in add_recycled_row
-	  description.
-
-2005-12-22 Thursday 13:21  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.23): Improve the insert query
-	  about wrapping an NNC generator.
-
-2005-12-22 Thursday 13:08  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.22): Leave the tmp_row
-	  allocation in insert alone (tmp_row is a stack variable so the
-	  Linear_Row destructor will be called and it will free the memory
-	  in tmp_row).
-
-2005-12-21 Wednesday 19:14  Matthew Mundell
-
-	* src/Grid_public.cc (grids.122): Add divisor normalization after
-	  the parameter insertion in generalized_affine_image.
-
-	  Update add_generator(g) to make one normalize_divisor call when
-	  the grid originally contained points.
-
-2005-12-21 Wednesday 19:09  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.65): Include parameters in the
-	  normalize_divisors(sys,d,f) LCM calculation.
-
-2005-12-21 Wednesday 19:07  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.28): Add divisor normalization after
-	  inserting parameters in add_space_dimensions and
-	  add_space_dimensions_and_project.
-
-2005-12-21 Wednesday 19:06  Matthew Mundell
-
-	* src/Grid_Generator.cc (grids.12): Update scale_to_divisor to
-	  leave the divisor column out of the scaling.
-
-2005-12-21 Wednesday 19:03  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.21): Update affine_image to
-	  use Grid_Generator and Grid_Generator_System instead of Generator
-	  and Generator_System.
-
-2005-12-21 Wednesday 19:01  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.16): Make parens in find_variation
-	  messages consistent.
-
-2005-12-21 Wednesday 17:10  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.20): Update method insert to
-	  leave alone the divisors of inserted parameters (Grid will
-	  normalize the divisors).
-
-2005-12-21 Wednesday 17:03  Matthew Mundell
-
-	* tests/Grid/mapspacedims1.cc (grids.13): Revert to the actual
-	  known grid in test3.
-
-2005-12-21 Wednesday 17:02  Elena Mazzi
-
-	* tests/BD_Shape/generalizedaffinepreimage1.cc (1.2): Try to use
-	  the distance computation so as to detect when a computed result
-	  is ok even if different from the known result.
-
-2005-12-21 Wednesday 16:17  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.50): Update map_space_dimensions to
-	  call grid_line in place of line.
-
-2005-12-21 Wednesday 16:14  Matthew Mundell
-
-	* src/: Grid_Generator_System.defs.hh,
-	  Grid_Generator_System.inlines.hh (grids.[15,9]): Take out
-	  insert(g).
-
-2005-12-21 Wednesday 16:14  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.defs.hh,
-	  Grid_Generator.inlines.hh (grids.[11,18,14]): Add
-	  throw_invalid_argument.  Update the divisor methods to throw
-	  std::invalid_argument if the generator is a line.
-
-2005-12-21 Wednesday 16:14  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_nonpublic.cc (grids.[91,64]): Take out
-	  the throw_topology_incompatible methods.
-
-2005-12-21 Wednesday 15:41  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.defs.hh (grids.[10,17]):
-	  Update scale_to_divisor to throw std::invalid_argument if the
-	  given divisor is zero.
-
-2005-12-21 Wednesday 14:31  Matthew Mundell
-
-	* src/Grid_public.cc (grids.121): Update Grid(n,k) to trust the
-	  divisor value of the trivially true point created by grid_point.
-
-2005-12-21 Wednesday 14:30  Elena Mazzi
-
-	* src/BD_Shape.defs.hh (1.53), src/BD_Shape.inlines.hh (1.107),
-	  tests/BD_Shape/Makefile.am (1.29),
-	  tests/BD_Shape/generalizedaffinepreimage1.cc (1.1),
-	  tests/BD_Shape/generalizedaffinepreimage2.cc (1.1): Defined a new
-	  method: BD_Shape::generalized_affine_preimage(var, relsym, expr,
-	  den).  Added some tests about this method.
-
-2005-12-21 Wednesday 14:28  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.32): Correct a comment in the
-	  congruence to generator conversion.
-
-2005-12-21 Wednesday 14:27  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.19): Keep the
-	  add_universe_rows_and_columns num_columns assertion.
-
-2005-12-21 Wednesday 14:24  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_Generator.cc, Grid_Generator.defs.hh,
-	  Grid_nonpublic.cc (grids.[90,9,16,63]): Update
-	  Grid::normalize_divisors(sys,d,f) to simply return zero when the
-	  given divisor is zero.  The previous special behaviour in the
-	  zero case be accomplished by passing a divisor of one.
-
-	  Rename Grid_Generator::multiply to
-	  Grid_Generator::scale_to_divisor.  Correct the description of
-	  this method.
-
-	  Leave the factor normalization in
-	  Grid_Generator::is_equivalent_to as the only normalization, as
-	  sign normalization would only be required if divisors could be
-	  negative.
-
-2005-12-21 Wednesday 14:04  Matthew Mundell
-
-	* tests/Grid/generator1.cc (grids.4): Enable test5 (comparison of
-	  parameters that have divisors > 1).
-
-2005-12-20 Tuesday 21:49  Matthew Mundell
-
-	* tests/Grid/relations1.cc (grids.6): Use parameter divisors in
-	  test6 and test7.
-
-2005-12-20 Tuesday 21:48  Matthew Mundell
-
-	* tests/Grid/mapspacedims1.cc (grids.12): Temporarily match the
-	  expected result in test3 to the actual result.
-
-2005-12-20 Tuesday 21:48  Matthew Mundell
-
-	* tests/Grid/join1.cc (grids.12): Correct the expected result in
-	  test4.
-
-2005-12-20 Tuesday 21:47  Matthew Mundell
-
-	* tests/Grid/isuniverse1.cc (grids.8): Correct the fail case in
-	  test10.
-
-2005-12-20 Tuesday 21:46  Matthew Mundell
-
-	* tests/Grid/congruencesystem2.cc (grids.11): Use parameter
-	  divisors.
-
-2005-12-20 Tuesday 21:45  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.27): Take some old code out of
-	  add_space_dimensions_and_embed.
-
-2005-12-20 Tuesday 21:44  Matthew Mundell
-
-	* src/: Congruence_System.cc, Grid.inlines.hh,
-	  Grid_Generator_System.defs.hh, Grid_Generator_System.inlines.hh,
-	  Grid_nonpublic.cc, Grid_public.cc, Grid_simplify.cc
-	  (grids.[37,49,14,8,62,120,43]): [rest of previous commit]
-
-	  Add parameter divisors, encoding the divisors in an extra
-	  trailing Grid_Generator column:
-
-	   - implement the Grid_Generator methods point, line,
-	  is_equivalent_to
-	     and all_homogeneous_terms_are_zero directly, instead of
-	  wrapping
-	     the Generator equivalents
-
-	   - move Grid_Generator::strong_normalize to the private section
-
-	   - update Grid_Generator_System to swap the divisor column any
-	  time
-	     the system size changes
-
-	   - update methods Congruence_System::satisfies_all_congruences
-	  and
-	     Grid::relation_with(g) to use the given generator's divisor
-	  instead
-	     of a divisor passed in an extra argument
-
-	   - update the generator reduction and congruence to generator
-	     conversion to ensure that the parameter divisors match the
-	  divisor
-	     of the first point after the reduction or conversion
-
-	   - adapt Grid and Scalar_Product to the extra generator column
-	  (mostly
-	     changes to loop indexing)
-
-	   - add a Grid_Generator friend declaration to Linear_Expression.
-
-	  Take out Grid_Generator_System(const Generator&).
-
-2005-12-20 Tuesday 21:41  Matthew Mundell
-
-	* src/: Congruence_System.defs.hh, Grid.defs.hh, Grid_Generator.cc,
-	  Grid_Generator.defs.hh, Grid_Generator.inlines.hh,
-	  Grid_Generator_System.cc, Grid_conversion.cc,
-	  Linear_Expression.defs.hh, Scalar_Products.cc
-	  (grids.[22,89,8,15,13,18,31,10,5]): Add parameter divisors,
-	  encoding the divisors in an extra trailing Grid_Generator column:
-
-	   - implement the Grid_Generator methods point, line,
-	  is_equivalent_to
-	     and all_homogeneous_terms_are_zero directly, instead of
-	  wrapping
-	     the Generator equivalents
-
-	   - move Grid_Generator::strong_normalize to the private section
-
-	   - update Grid_Generator_System to swap the divisor column any
-	  time
-	     the system size changes
-
-	   - update methods Congruence_System::satisfies_all_congruences
-	  and
-	     Grid::relation_with(g) to use the given generator's divisor
-	  instead
-	     of a divisor passed in an extra argument
-
-	   - update the generator reduction and congruence to generator
-	     conversion to ensure that the parameter divisors match the
-	  divisor
-	     of the first point after the reduction or conversion
-
-	   - adapt Grid and Scalar_Product to the extra generator column
-	  (mostly
-	     changes to loop indexing)
-
-	   - add a Grid_Generator friend declaration to Linear_Expression.
-
-	  Take out Grid_Generator_System(const Generator&).
-
-2005-12-20 Tuesday 11:42  Andrea Cimino
-
-	* src/LP_Problem.defs.hh (simplex.9): Synchronized Doxygen stuff to
-	  reflect last changes to LP_Problem interface.
-
-2005-12-20 Tuesday 08:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Random_Number_Generator.inlines.hh (1.5): Avoid anonymous
-	  namespaces in files that are going to be included.
-
-2005-12-20 Tuesday 08:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BDS_Status.inlines.hh (1.8), BD_Shape.inlines.hh (1.106),
-	  Native_Integer.inlines.hh (1.17), Polyhedra_Powerset.inlines.hh
-	  (1.34), namespaces.hh (1.3): Avoid the use of anonymous
-	  namespaces in files that are going to be included.
-
-2005-12-19 Monday 20:22  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, copyconstruct1.cc (grids.[54,1]): Add
-	  copyconstruct1, to test Grid copy construction.
-
-2005-12-19 Monday 20:21  Matthew Mundell
-
-	* src/Grid_public.cc (grids.119): Update the copy constructor to
-	  always copy the systems when the space dimension is zero.
-
-2005-12-19 Monday 07:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.34), config.sub (1.32), install-sh (1.16),
-	  ltmain.sh (1.27), Watchdog/config.guess (1.18),
-	  Watchdog/config.sub (1.17), Watchdog/install-sh (1.13),
-	  Watchdog/ltmain.sh (1.16): Updated from Libtool 1.5.22.
-
-2005-12-18 Sunday 18:21  Andrea Cimino
-
-	* src/LP_Problem.cc (simplex.10): Improved swap_base(): now
-	  directly handles `base'.
-
-2005-12-18 Sunday 16:56  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[9,8,10]): second_phase() declared void.  Many inline
-	  methods simplified: `status' cases during the real simplex
-	  computations are now handled only by is_satisfiable() and
-	  second_phase().
-
-2005-12-17 Saturday 01:31  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.61): Enable the system equality
-	  checks in quick_equivalence_test.
-
-2005-12-17 Saturday 01:30  Matthew Mundell
-
-	* src/Congruence.inlines.hh (grids.19): Negate the coefficient used
-	  to create the zero_dim_integrality congruence (so that the
-	  resulting constant term is positive).
-
-2005-12-17 Saturday 01:25  Matthew Mundell
-
-	* src/: Grid_Generator_System.defs.hh,
-	  Grid_Generator_System.inlines.hh (grids.[13,7]): Add
-	  Grid_Generator_System::is_equal_to(ggs) and operator==(ggs,ggs).
-
-2005-12-16 Friday 23:38  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.48): Add note for map_space_dimensions
-	  code awaiting parameter divisors.
-
-2005-12-16 Friday 23:26  Matthew Mundell
-
-	* src/Grid_public.cc (grids.118): Improve relation descriptions in
-	  relation_with(cg).
-
-2005-12-16 Friday 23:01  Matthew Mundell
-
-	* src/: Grid_nonpublic.cc, Grid_simplify.cc (grids.[60,42]): Move
-	  update_generators system column assertion into congruence
-	  simplify.
-
-2005-12-16 Friday 21:13  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.36): Add Constraint_System
-	  includes.
-
-2005-12-16 Friday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.27): Avoid anonymous namespaces in header files.
-
-2005-12-15 Thursday 14:50  Matthew Mundell
-
-	* src/Grid_public.cc (grids.117): Update add_generator(g) to insert
-	  the given generator, instead of inserting a copy, when the grid
-	  contains points.
-
-2005-12-15 Thursday 14:25  Matthew Mundell
-
-	* src/Grid_public.cc (grids.116): Confirm that creation of the
-	  universe systems in Grid(n,k) works.	Slightly improve spacing
-	  and a few comments in Grid(n,k).
-
-2005-12-15 Thursday 14:15  Matthew Mundell
-
-	* src/Grid_Generator.defs.hh (grids.14): Move Grid_Generator(g) to
-	  the private section.
-
-2005-12-15 Thursday 14:14  Matthew Mundell
-
-	* src/Grid_Generator.cc (grids.7): Improve the note about
-	  converting the Generator in function `parameter' to a
-	  Grid_Generator.
-
-2005-12-15 Thursday 01:20  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.inlines.hh (simplex.[8,9]): Minor
-	  stylistic and performance improvements.
-
-2005-12-14 Wednesday 22:13  Matthew Mundell
-
-	* src/checked_mpz.inlines.hh (grids.6): Update the mpz_gcd call in
-	  gcdext_mpz to mpz_gcdext.
-
-2005-12-14 Wednesday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.162): New to-do item.
-
-2005-12-14 Wednesday 21:02  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.59): Update set_zero_dim_univ to
-	  leave the con_sys size adjustment to Congruence_System::clear.
-
-2005-12-14 Wednesday 20:24  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
-	  (grids.[17,12]): Update remove_higher_space_dimensions with a
-	  dimension compatibility check, to return immediately if the
-	  dimension will remain the same, and to clear the system if the
-	  new dimension is 0.
-
-2005-12-14 Wednesday 19:37  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
-	  (grids.[16,11]): Update remove_space_dimensions to check the
-	  space dim of the given set and to exit immediately if the set is
-	  empty.
-
-2005-12-14 Wednesday 18:21  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
-	  (grids.[15,10]): Update recycling_insert to increase the system
-	  space dimension if that of the system being inserted is bigger.
-
-2005-12-14 Wednesday 17:40  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.14): Leave it up to the
-	  add_universe_rows_and_columns to ensure that the system will
-	  contain a point.
-
-2005-12-14 Wednesday 17:10  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.47): Revert map_space_dimensions to
-	  insert parameters via function point for now (as the given
-	  expression already uses the system divisor).
-
-2005-12-14 Wednesday 16:56  Matthew Mundell
-
-	* tests/Grid/generalizedaffineimage1.cc (grids.6): Correct expected
-	  values in test2, test4, test5 and test6 (now that parameter
-	  divisors are adjusted at insertion).
-
-2005-12-14 Wednesday 16:38  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.13): Update method insert to
-	  represent inserted parameters with the divisor of the first
-	  point.
-
-2005-12-14 Wednesday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.26): Added a section about test programs.
-
-2005-12-14 Wednesday 12:44  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh (simplex.[7,7]): Better
-	  handled namespaces.  `PPL::LP_Problem::primal_simplex()' removed,
-	  was unused.  Fixed return types in
-	  `PPL::LP_Problem::is_feasible()'.
-
-2005-12-14 Wednesday 12:10  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[6,6,8]): Internal enum `Status' fields renamed from
-	  PROBLEM_* to *.  Added a FIXME.
-
-2005-12-14 Wednesday 11:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/addconstraints1.cc (1.5),
-	  BD_Shape/addspacedims1.cc (1.6), BD_Shape/addspacedims2.cc (1.6),
-	  BD_Shape/addspacedims3.cc (1.7), BD_Shape/addspacedims4.cc (1.7),
-	  BD_Shape/addspacedims5.cc (1.8), BD_Shape/addspacedims6.cc (1.8),
-	  BD_Shape/addspacedims7.cc (1.6), BD_Shape/affinedimension1.cc
-	  (1.2), BD_Shape/affineimage1.cc (1.6), BD_Shape/affineimage10.cc
-	  (1.4), BD_Shape/affineimage2.cc (1.6), BD_Shape/affineimage3.cc
-	  (1.6), BD_Shape/affineimage4.cc (1.6), BD_Shape/affineimage5.cc
-	  (1.6), BD_Shape/affineimage6.cc (1.6), BD_Shape/affineimage7.cc
-	  (1.6), BD_Shape/affineimage8.cc (1.11), BD_Shape/affineimage9.cc
-	  (1.9), BD_Shape/affinepreimage1.cc (1.6),
-	  BD_Shape/affinepreimage2.cc (1.6), BD_Shape/affinepreimage3.cc
-	  (1.6), BD_Shape/affinepreimage4.cc (1.6),
-	  BD_Shape/affinepreimage5.cc (1.6), BD_Shape/ascii_dump_load1.cc
-	  (1.8), BD_Shape/ascii_dump_load2.cc (1.7),
-	  BD_Shape/bdsdifference1.cc (1.2), BD_Shape/bdsdifference2.cc
-	  (1.2), BD_Shape/bdsdifference3.cc (1.2),
-	  BD_Shape/bdsdifference4.cc (1.2), BD_Shape/bdsdifference5.cc
-	  (1.2), BD_Shape/bdsdifference6.cc (1.2),
-	  BD_Shape/bdsdifference7.cc (1.2), BD_Shape/bdshull1.cc (1.2),
-	  BD_Shape/bdshull2.cc (1.2), BD_Shape/bdshull3.cc (1.2),
-	  BD_Shape/bdshull4.cc (1.2), BD_Shape/bgp99extrapolation1.cc
-	  (1.2), BD_Shape/bhz03widening1.cc (1.2),
-	  BD_Shape/cc76extrapolation1.cc (1.5),
-	  BD_Shape/cc76extrapolation2.cc (1.6),
-	  BD_Shape/cc76extrapolation3.cc (1.5),
-	  BD_Shape/cc76extrapolation4.cc (1.7),
-	  BD_Shape/cc76extrapolation5.cc (1.5),
-	  BD_Shape/cc76extrapolation6.cc (1.7), BD_Shape/cc76narrowing1.cc
-	  (1.5), BD_Shape/cc76narrowing2.cc (1.5),
-	  BD_Shape/cc76narrowing3.cc (1.5), BD_Shape/cc76narrowing4.cc
-	  (1.6), BD_Shape/cc76narrowing5.cc (1.6),
-	  BD_Shape/ch78widening1.cc (1.5), BD_Shape/ch78widening2.cc (1.6),
-	  BD_Shape/ch78widening3.cc (1.5), BD_Shape/ch78widening4.cc (1.6),
-	  BD_Shape/ch78widening5.cc (1.6), BD_Shape/ch78widening6.cc (1.8),
-	  BD_Shape/ch78widening7.cc (1.5), BD_Shape/ch78widening8.cc (1.6),
-	  BD_Shape/closure1.cc (1.9), BD_Shape/concatenate1.cc (1.6),
-	  BD_Shape/concatenate2.cc (1.6), BD_Shape/concatenate3.cc (1.5),
-	  BD_Shape/concatenate4.cc (1.5), BD_Shape/concatenate5.cc (1.6),
-	  BD_Shape/constraints1.cc (1.8), BD_Shape/constraints2.cc (1.6),
-	  BD_Shape/contains1.cc (1.5), BD_Shape/contains2.cc (1.7),
-	  BD_Shape/contains3.cc (1.7), BD_Shape/empty1.cc (1.5),
-	  BD_Shape/empty2.cc (1.5), BD_Shape/empty3.cc (1.6),
-	  BD_Shape/empty4.cc (1.5), BD_Shape/empty5.cc (1.5),
-	  BD_Shape/equality1.cc (1.8), BD_Shape/exceptions1.cc (1.9),
-	  BD_Shape/exceptions2.cc (1.7), BD_Shape/exceptions3.cc (1.9),
-	  BD_Shape/fromgensys1.cc (1.5),
-	  BD_Shape/generalizedaffineimage1.cc (1.7),
-	  BD_Shape/generalizedaffineimage10.cc (1.6),
-	  BD_Shape/generalizedaffineimage11.cc (1.5),
-	  BD_Shape/generalizedaffineimage12.cc (1.5),
-	  BD_Shape/generalizedaffineimage13.cc (1.5),
-	  BD_Shape/generalizedaffineimage14.cc (1.9),
-	  BD_Shape/generalizedaffineimage2.cc (1.6),
-	  BD_Shape/generalizedaffineimage3.cc (1.7),
-	  BD_Shape/generalizedaffineimage4.cc (1.6),
-	  BD_Shape/generalizedaffineimage5.cc (1.6),
-	  BD_Shape/generalizedaffineimage6.cc (1.5),
-	  BD_Shape/generalizedaffineimage7.cc (1.6),
-	  BD_Shape/generalizedaffineimage8.cc (1.6),
-	  BD_Shape/generalizedaffineimage9.cc (1.5),
-	  BD_Shape/geomcovers1.cc (1.2), BD_Shape/h79widening1.cc (1.5),
-	  BD_Shape/intersection1.cc (1.5), BD_Shape/intersection2.cc (1.5),
-	  BD_Shape/intersection3.cc (1.6), BD_Shape/intersection4.cc (1.7),
-	  BD_Shape/intersection5.cc (1.7), BD_Shape/intersection6.cc (1.6),
-	  BD_Shape/intersection7.cc (1.6), BD_Shape/intersection8.cc (1.6),
-	  BD_Shape/limitedCC76extrapolation1.cc (1.5),
-	  BD_Shape/limitedCC76extrapolation2.cc (1.7),
-	  BD_Shape/limitedCC76extrapolation3.cc (1.7),
-	  BD_Shape/limitedCH78extrapolation1.cc (1.6),
-	  BD_Shape/limitedCH78extrapolation2.cc (1.5),
-	  BD_Shape/limitedCH78extrapolation3.cc (1.5),
-	  BD_Shape/limitedCH78extrapolation4.cc (1.5),
-	  BD_Shape/limitedCH78extrapolation5.cc (1.5),
-	  BD_Shape/limitedCH78extrapolation6.cc (1.5),
-	  BD_Shape/limitedCH78extrapolation7.cc (1.5),
-	  BD_Shape/limitedCH78extrapolation8.cc (1.5),
-	  BD_Shape/limitedCH78extrapolation9.cc (1.5),
-	  BD_Shape/limitedh79extrapolation1.cc (1.5),
-	  BD_Shape/mapspacedims1.cc (1.5), BD_Shape/mapspacedims2.cc (1.7),
-	  BD_Shape/mapspacedims3.cc (1.6), BD_Shape/mapspacedims4.cc (1.6),
-	  BD_Shape/maxspacedim.cc (1.8), BD_Shape/minconstraints1.cc (1.2),
-	  BD_Shape/relations1.cc (1.9), BD_Shape/relations2.cc (1.9),
-	  BD_Shape/relations3.cc (1.8), BD_Shape/relations4.cc (1.7),
-	  BD_Shape/relations5.cc (1.9), BD_Shape/removespacedims1.cc (1.6),
-	  BD_Shape/removespacedims2.cc (1.7), BD_Shape/removespacedims3.cc
-	  (1.7), BD_Shape/timeelapse1.cc (1.6), BD_Shape/timeelapse2.cc
-	  (1.5), BD_Shape/timeelapse3.cc (1.5), BD_Shape/timeelapse4.cc
-	  (1.5), BD_Shape/timeelapse5.cc (1.6), BD_Shape/universe1.cc
-	  (1.6), BD_Shape/writebdshape1.cc (1.3), BD_Shape/writebdshape2.cc
-	  (1.4), Polyhedron/CbecomesNNC1.cc (1.5),
-	  Polyhedron/NNCbecomesC1.cc (1.5), Polyhedron/NNCminimize1.cc
-	  (1.5), Polyhedron/NNCminimize2.cc (1.5),
-	  Polyhedron/NNCminimize3.cc (1.5), Polyhedron/NNCminimize4.cc
-	  (1.5), Polyhedron/NNCminimize5.cc (1.5),
-	  Polyhedron/NNCminimize6.cc (1.5), Polyhedron/addconstraint1.cc
-	  (1.5), Polyhedron/addconstraint2.cc (1.6),
-	  Polyhedron/addconstraint3.cc (1.5), Polyhedron/addconstraints1.cc
-	  (1.6), Polyhedron/addconstraints10.cc (1.6),
-	  Polyhedron/addconstraints11.cc (1.5),
-	  Polyhedron/addconstraints12.cc (1.5),
-	  Polyhedron/addconstraints13.cc (1.6),
-	  Polyhedron/addconstraints2.cc (1.5),
-	  Polyhedron/addconstraints3.cc (1.6),
-	  Polyhedron/addconstraints4.cc (1.5),
-	  Polyhedron/addconstraints5.cc (1.6),
-	  Polyhedron/addconstraints6.cc (1.5),
-	  Polyhedron/addconstraints7.cc (1.6),
-	  Polyhedron/addconstraints8.cc (1.6),
-	  Polyhedron/addconstraints9.cc (1.5), Polyhedron/addgenerator1.cc
-	  (1.6), Polyhedron/addgenerator2.cc (1.6),
-	  Polyhedron/addgenerator3.cc (1.5), Polyhedron/addgenerator4.cc
-	  (1.6), Polyhedron/addgenerator5.cc (1.6),
-	  Polyhedron/addgenerators1.cc (1.6), Polyhedron/addgenerators10.cc
-	  (1.6), Polyhedron/addgenerators11.cc (1.6),
-	  Polyhedron/addgenerators12.cc (1.6),
-	  Polyhedron/addgenerators13.cc (1.6), Polyhedron/addgenerators2.cc
-	  (1.6), Polyhedron/addgenerators3.cc (1.5),
-	  Polyhedron/addgenerators4.cc (1.5), Polyhedron/addgenerators5.cc
-	  (1.5), Polyhedron/addgenerators6.cc (1.6),
-	  Polyhedron/addgenerators7.cc (1.5), Polyhedron/addgenerators8.cc
-	  (1.6), Polyhedron/addgenerators9.cc (1.5),
-	  Polyhedron/addspacedims1.cc (1.6), Polyhedron/addspacedims10.cc
-	  (1.5), Polyhedron/addspacedims11.cc (1.5),
-	  Polyhedron/addspacedims12.cc (1.5), Polyhedron/addspacedims13.cc
-	  (1.5), Polyhedron/addspacedims2.cc (1.6),
-	  Polyhedron/addspacedims3.cc (1.7), Polyhedron/addspacedims4.cc
-	  (1.5), Polyhedron/addspacedims5.cc (1.5),
-	  Polyhedron/addspacedims6.cc (1.5), Polyhedron/addspacedims7.cc
-	  (1.5), Polyhedron/addspacedims8.cc (1.6),
-	  Polyhedron/addspacedims9.cc (1.5), Polyhedron/affineimage1.cc
-	  (1.6), Polyhedron/affineimage2.cc (1.5),
-	  Polyhedron/affineimage3.cc (1.5), Polyhedron/affineimage4.cc
-	  (1.6), Polyhedron/affineimage5.cc (1.6),
-	  Polyhedron/affineimage6.cc (1.7), Polyhedron/affineimage7.cc
-	  (1.5), Polyhedron/affineimage8.cc (1.5),
-	  Polyhedron/affineimage9.cc (1.5), Polyhedron/affinepreimage1.cc
-	  (1.5), Polyhedron/affinepreimage10.cc (1.5),
-	  Polyhedron/affinepreimage11.cc (1.3),
-	  Polyhedron/affinepreimage2.cc (1.5),
-	  Polyhedron/affinepreimage3.cc (1.6),
-	  Polyhedron/affinepreimage4.cc (1.5),
-	  Polyhedron/affinepreimage5.cc (1.5),
-	  Polyhedron/affinepreimage6.cc (1.5),
-	  Polyhedron/affinepreimage7.cc (1.5),
-	  Polyhedron/affinepreimage8.cc (1.6),
-	  Polyhedron/affinepreimage9.cc (1.5), Polyhedron/affinetrans.cc
-	  (1.6), Polyhedron/append1.cc (1.5), Polyhedron/append2.cc (1.5),
-	  Polyhedron/ascii_dump_load1.cc (1.5),
-	  Polyhedron/ascii_dump_load2.cc (1.5),
-	  Polyhedron/ascii_dump_load3.cc (1.5),
-	  Polyhedron/ascii_dump_load4.cc (1.5),
-	  Polyhedron/ascii_dump_load5.cc (1.5),
-	  Polyhedron/ascii_dump_load6.cc (1.6),
-	  Polyhedron/ascii_dump_load7.cc (1.5),
-	  Polyhedron/bgp99extrapolation1.cc (1.6),
-	  Polyhedron/bgp99extrapolation2.cc (1.6),
-	  Polyhedron/bhrz03widening1.cc (1.5),
-	  Polyhedron/bhrz03widening10.cc (1.6),
-	  Polyhedron/bhrz03widening11.cc (1.5),
-	  Polyhedron/bhrz03widening12.cc (1.5),
-	  Polyhedron/bhrz03widening13.cc (1.5),
-	  Polyhedron/bhrz03widening14.cc (1.5),
-	  Polyhedron/bhrz03widening15.cc (1.6),
-	  Polyhedron/bhrz03widening16.cc (1.5),
-	  Polyhedron/bhrz03widening17.cc (1.5),
-	  Polyhedron/bhrz03widening18.cc (1.5),
-	  Polyhedron/bhrz03widening19.cc (1.5),
-	  Polyhedron/bhrz03widening2.cc (1.5),
-	  Polyhedron/bhrz03widening3.cc (1.5),
-	  Polyhedron/bhrz03widening4.cc (1.5),
-	  Polyhedron/bhrz03widening5.cc (1.5),
-	  Polyhedron/bhrz03widening6.cc (1.5),
-	  Polyhedron/bhrz03widening7.cc (1.5),
-	  Polyhedron/bhrz03widening8.cc (1.5),
-	  Polyhedron/bhrz03widening9.cc (1.5), Polyhedron/bhz03widening1.cc
-	  (1.7), Polyhedron/bhz03widening2.cc (1.7),
-	  Polyhedron/bhz03widening3.cc (1.7), Polyhedron/bhz03widening4.cc
-	  (1.6), Polyhedron/bhz03widening5.cc (1.6),
-	  Polyhedron/bhz03widening6.cc (1.7), Polyhedron/bounded1.cc (1.6),
-	  Polyhedron/boundedaffineimage1.cc (1.4),
-	  Polyhedron/boundedaffineimage2.cc (1.3),
-	  Polyhedron/boundedaffineimage3.cc (1.3),
-	  Polyhedron/boundedaffinepreimage1.cc (1.3),
-	  Polyhedron/boundedaffinepreimage2.cc (1.3),
-	  Polyhedron/boundedaffinepreimage3.cc (1.3),
-	  Polyhedron/boundedbhrz03extrapolation1.cc (1.4),
-	  Polyhedron/boundedh79extrapolation1.cc (1.6),
-	  Polyhedron/boundingbox1.cc (1.7), Polyhedron/boundingbox2.cc
-	  (1.6), Polyhedron/boundingbox3.cc (1.6),
-	  Polyhedron/boundingbox4.cc (1.6), Polyhedron/boundingbox5.cc
-	  (1.6), Polyhedron/bounds1.cc (1.6), Polyhedron/bounds2.cc (1.5),
-	  Polyhedron/bug2.cc (1.4), Polyhedron/concatenate1.cc (1.5),
-	  Polyhedron/concatenate2.cc (1.6), Polyhedron/concatenate3.cc
-	  (1.5), Polyhedron/concatenate4.cc (1.5),
-	  Polyhedron/concatenate5.cc (1.5), Polyhedron/concatenate6.cc
-	  (1.6), Polyhedron/concatenate7.cc (1.4),
-	  Polyhedron/constraints1.cc (1.5), Polyhedron/constraints2.cc
-	  (1.6), Polyhedron/constraints3.cc (1.5),
-	  Polyhedron/constraints4.cc (1.6), Polyhedron/constraints5.cc
-	  (1.4), Polyhedron/contains1.cc (1.5), Polyhedron/contains2.cc
-	  (1.5), Polyhedron/contains3.cc (1.5), Polyhedron/contains4.cc
-	  (1.5), Polyhedron/contains5.cc (1.5), Polyhedron/disjoint1.cc
-	  (1.5), Polyhedron/disjoint2.cc (1.6), Polyhedron/disjoint3.cc
-	  (1.6), Polyhedron/dualhypercubes.cc (1.5), Polyhedron/empty1.cc
-	  (1.6), Polyhedron/equals1.cc (1.5), Polyhedron/exceptions1.cc
-	  (1.8), Polyhedron/exceptions2.cc (1.6), Polyhedron/exceptions3.cc
-	  (1.7), Polyhedron/expandspacedim1.cc (1.6),
-	  Polyhedron/expandspacedim2.cc (1.6), Polyhedron/foldspacedims1.cc
-	  (1.6), Polyhedron/foldspacedims2.cc (1.6),
-	  Polyhedron/generalizedaffineimage1.cc (1.6),
-	  Polyhedron/generalizedaffineimage10.cc (1.5),
-	  Polyhedron/generalizedaffineimage11.cc (1.6),
-	  Polyhedron/generalizedaffineimage12.cc (1.5),
-	  Polyhedron/generalizedaffineimage13.cc (1.4),
-	  Polyhedron/generalizedaffineimage14.cc (1.4),
-	  Polyhedron/generalizedaffineimage2.cc (1.6),
-	  Polyhedron/generalizedaffineimage3.cc (1.6),
-	  Polyhedron/generalizedaffineimage4.cc (1.6),
-	  Polyhedron/generalizedaffineimage5.cc (1.5),
-	  Polyhedron/generalizedaffineimage6.cc (1.6),
-	  Polyhedron/generalizedaffineimage7.cc (1.6),
-	  Polyhedron/generalizedaffineimage8.cc (1.5),
-	  Polyhedron/generalizedaffineimage9.cc (1.5),
-	  Polyhedron/generalizedaffinepreimage1.cc (1.3),
-	  Polyhedron/generalizedaffinepreimage2.cc (1.3),
-	  Polyhedron/generalizedaffinepreimage3.cc (1.3),
-	  Polyhedron/generalizedaffinepreimage4.cc (1.3),
-	  Polyhedron/generators1.cc (1.5), Polyhedron/generators2.cc (1.5),
-	  Polyhedron/generators3.cc (1.6), Polyhedron/generators4.cc (1.6),
-	  Polyhedron/generators5.cc (1.5), Polyhedron/generators6.cc (1.6),
-	  Polyhedron/generators7.cc (1.5), Polyhedron/geomcovers1.cc (1.7),
-	  Polyhedron/gramschmidt1.cc (1.2), Polyhedron/h79widening1.cc
-	  (1.5), Polyhedron/h79widening2.cc (1.5),
-	  Polyhedron/h79widening3.cc (1.5), Polyhedron/h79widening4.cc
-	  (1.5), Polyhedron/h79widening5.cc (1.6),
-	  Polyhedron/h79widening6.cc (1.5), Polyhedron/h79widening7.cc
-	  (1.5), Polyhedron/h79widening8.cc (1.5),
-	  Polyhedron/intersection1.cc (1.5), Polyhedron/intersection10.cc
-	  (1.6), Polyhedron/intersection11.cc (1.6),
-	  Polyhedron/intersection2.cc (1.5), Polyhedron/intersection3.cc
-	  (1.5), Polyhedron/intersection4.cc (1.6),
-	  Polyhedron/intersection5.cc (1.6), Polyhedron/intersection6.cc
-	  (1.6), Polyhedron/intersection7.cc (1.5),
-	  Polyhedron/intersection8.cc (1.6), Polyhedron/intersection9.cc
-	  (1.6), Polyhedron/limitedbhrz03extrapolation1.cc (1.5),
-	  Polyhedron/limitedh79extrapolation1.cc (1.5),
-	  Polyhedron/limitedh79extrapolation2.cc (1.5),
-	  Polyhedron/limitedh79extrapolation3.cc (1.5),
-	  Polyhedron/limitedh79extrapolation4.cc (1.6),
-	  Polyhedron/linearpartition1.cc (1.5),
-	  Polyhedron/linearpartition2.cc (1.5),
-	  Polyhedron/linearpartition3.cc (1.5),
-	  Polyhedron/linearpartition4.cc (1.6), Polyhedron/linearsystem1.cc
-	  (1.2), Polyhedron/linexpression1.cc (1.5),
-	  Polyhedron/mapspacedims1.cc (1.6), Polyhedron/mapspacedims2.cc
-	  (1.5), Polyhedron/mapspacedims3.cc (1.5),
-	  Polyhedron/mapspacedims4.cc (1.5), Polyhedron/matrix1.cc (1.5),
-	  Polyhedron/max_min1.cc (1.6), Polyhedron/max_min2.cc (1.6),
-	  Polyhedron/maxspacedim1.cc (1.5), Polyhedron/mc91.cc (1.6),
-	  Polyhedron/membytes1.cc (1.6), Polyhedron/membytes2.cc (1.5),
-	  Polyhedron/memory1.cc (1.7), Polyhedron/memory2.cc (1.10),
-	  Polyhedron/minconstraints1.cc (1.5),
-	  Polyhedron/minconstraints2.cc (1.6),
-	  Polyhedron/minconstraints3.cc (1.5),
-	  Polyhedron/minconstraints4.cc (1.5), Polyhedron/mingenerators1.cc
-	  (1.5), Polyhedron/mingenerators2.cc (1.6),
-	  Polyhedron/mingenerators3.cc (1.5), Polyhedron/numberinput1.cc
-	  (1.15), Polyhedron/onepoint.cc (1.6), Polyhedron/permute.cc
-	  (1.5), Polyhedron/polydifference1.cc (1.5),
-	  Polyhedron/polydifference2.cc (1.5),
-	  Polyhedron/polydifference3.cc (1.5),
-	  Polyhedron/polydifference4.cc (1.6),
-	  Polyhedron/polydifference5.cc (1.5),
-	  Polyhedron/polydifference6.cc (1.5),
-	  Polyhedron/polydifference7.cc (1.6),
-	  Polyhedron/polydifference8.cc (1.5),
-	  Polyhedron/polydifference9.cc (1.6), Polyhedron/polyhull1.cc
-	  (1.5), Polyhedron/polyhull10.cc (1.5), Polyhedron/polyhull11.cc
-	  (1.5), Polyhedron/polyhull2.cc (1.6), Polyhedron/polyhull3.cc
-	  (1.6), Polyhedron/polyhull4.cc (1.5), Polyhedron/polyhull5.cc
-	  (1.6), Polyhedron/polyhull6.cc (1.5), Polyhedron/polyhull7.cc
-	  (1.5), Polyhedron/polyhull8.cc (1.6), Polyhedron/polyhull9.cc
-	  (1.6), Polyhedron/polypowerset1.cc (1.7), Polyhedron/powerset1.cc
-	  (1.3), Polyhedron/primalsimplex1.cc (1.3),
-	  Polyhedron/primalsimplex2.cc (1.3), Polyhedron/randphull1.cc
-	  (1.6), Polyhedron/randphull2.cc (1.7), Polyhedron/relations1.cc
-	  (1.5), Polyhedron/relations10.cc (1.5), Polyhedron/relations11.cc
-	  (1.5), Polyhedron/relations12.cc (1.5), Polyhedron/relations13.cc
-	  (1.5), Polyhedron/relations14.cc (1.5), Polyhedron/relations15.cc
-	  (1.5), Polyhedron/relations16.cc (1.5), Polyhedron/relations17.cc
-	  (1.6), Polyhedron/relations18.cc (1.5), Polyhedron/relations19.cc
-	  (1.6), Polyhedron/relations2.cc (1.6), Polyhedron/relations3.cc
-	  (1.5), Polyhedron/relations4.cc (1.5), Polyhedron/relations5.cc
-	  (1.5), Polyhedron/relations6.cc (1.6), Polyhedron/relations7.cc
-	  (1.5), Polyhedron/relations8.cc (1.5), Polyhedron/relations9.cc
-	  (1.5), Polyhedron/removespacedims1.cc (1.5),
-	  Polyhedron/removespacedims10.cc (1.6),
-	  Polyhedron/removespacedims2.cc (1.5),
-	  Polyhedron/removespacedims3.cc (1.6),
-	  Polyhedron/removespacedims4.cc (1.5),
-	  Polyhedron/removespacedims5.cc (1.6),
-	  Polyhedron/removespacedims6.cc (1.5),
-	  Polyhedron/removespacedims7.cc (1.5),
-	  Polyhedron/removespacedims8.cc (1.5),
-	  Polyhedron/removespacedims9.cc (1.5), Polyhedron/smm1.cc (1.5),
-	  Polyhedron/timeelapse1.cc (1.5), Polyhedron/timeelapse2.cc (1.6),
-	  Polyhedron/timeelapse3.cc (1.5), Polyhedron/timeelapse4.cc (1.5),
-	  Polyhedron/timeelapse5.cc (1.6), Polyhedron/timeelapse6.cc (1.5),
-	  Polyhedron/timeelapse7.cc (1.6), Polyhedron/timeelapse8.cc (1.6),
-	  Polyhedron/timeelapse9.cc (1.6), Polyhedron/topclosed1.cc (1.6),
-	  Polyhedron/topclosed2.cc (1.6), Polyhedron/topclosed3.cc (1.5),
-	  Polyhedron/topclosure1.cc (1.5), Polyhedron/topclosure2.cc (1.6),
-	  Polyhedron/topclosure3.cc (1.5), Polyhedron/topclosure4.cc (1.6),
-	  Polyhedron/universe1.cc (1.5), Polyhedron/universe2.cc (1.5),
-	  Polyhedron/universe3.cc (1.5), Polyhedron/universe4.cc (1.5),
-	  Polyhedron/universe5.cc (1.5), Polyhedron/universe6.cc (1.5),
-	  Polyhedron/universe7.cc (1.5), Polyhedron/watchdog1.cc (1.6),
-	  Polyhedron/writeconsys1.cc (1.5), Polyhedron/writegensys1.cc
-	  (1.5), Polyhedron/writegensys2.cc (1.6),
-	  Polyhedron/writegensys3.cc (1.5), Polyhedron/writepolyhedron1.cc
-	  (1.5), Polyhedron/writepolyhedron2.cc (1.5),
-	  Polyhedron/writepolyhedron3.cc (1.5),
-	  Polyhedron/writerelation1.cc (1.5), Polyhedron/writevariable1.cc
-	  (1.5): All the test programs in Polyhedron and BD_Shape rewritten
-	  so as to direct their output to nout and vnout without explicitly
-	  checking preprocessor variables.
-
-2005-12-14 Wednesday 11:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.30), print.cc (1.17), print.hh (1.21):
-	  Defined the output streams nout and vnout to help in the control
-	  of the noisy level of test programs. By default, the helper print
-	  functions now print on ostream nout. Also added in ppl_tests.hh
-	  an using directive for the whole PPL namespace and a using
-	  declaration for std::endl.
-
-2005-12-14 Wednesday 11:33  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[5,5,7]): Documentation stuff removed from
-	  implementation file.	Removed redundant parentheses.
-
-2005-12-13 Tuesday 14:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.49): Always add a space between
-	  "catch" and "(".
-
-2005-12-13 Tuesday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.10): Remove trailing whitespace; always
-	  add a space between "catch" and "(".
-
-2005-12-13 Tuesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.141): Always add a space between "catch"
-	  and the following "(".
-
-2005-12-13 Tuesday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.13): Remove trailing
-	  whitespace.
-
-2005-12-12 Monday 21:36  Matthew Mundell
-
-	* src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid_Generator.cc,
-	  src/Grid_Generator.defs.hh, src/Grid_Generator.inlines.hh,
-	  src/Grid_Generator_System.defs.hh, src/Grid_nonpublic.cc,
-	  src/Grid_public.cc, tests/Grid/addcongruences1.cc,
-	  tests/Grid/addgenerator1.cc, tests/Grid/addspacedims1.cc,
-	  tests/Grid/addspacedims2.cc, tests/Grid/affinedim1.cc,
-	  tests/Grid/affineimage1.cc, tests/Grid/affinepreimage1.cc,
-	  tests/Grid/bounded1.cc, tests/Grid/boundingbox1.cc,
-	  tests/Grid/boundingbox2.cc, tests/Grid/bounds1.cc,
-	  tests/Grid/certificate1.cc, tests/Grid/concatenate1.cc,
-	  tests/Grid/congruences1.cc, tests/Grid/congruencesystem2.cc,
-	  tests/Grid/contains1.cc, tests/Grid/contains2.cc,
-	  tests/Grid/coveringbox1.cc, tests/Grid/coveringbox2.cc,
-	  tests/Grid/disjoint1.cc, tests/Grid/equals1.cc,
-	  tests/Grid/expandspacedim1.cc, tests/Grid/foldspacedims1.cc,
-	  tests/Grid/generalizedaffineimage1.cc,
-	  tests/Grid/generalizedaffineimage2.cc,
-	  tests/Grid/generalizedaffinepreimage1.cc,
-	  tests/Grid/generalizedaffinepreimage2.cc,
-	  tests/Grid/generator1.cc, tests/Grid/generators1.cc,
-	  tests/Grid/grid1.cc, tests/Grid/grid2.cc,
-	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
-	  tests/Grid/intersection2.cc, tests/Grid/isuniverse1.cc,
-	  tests/Grid/join1.cc, tests/Grid/join2.cc, tests/Grid/join3.cc,
-	  tests/Grid/limitedextrapolation1.cc, tests/Grid/mapspacedims1.cc,
-	  tests/Grid/maxmin1.cc, tests/Grid/mingenerators1.cc,
-	  tests/Grid/pointed1.cc, tests/Grid/relations1.cc,
-	  tests/Grid/relations2.cc, tests/Grid/removespacedims1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
-	  tests/Grid/topclosed1.cc, tests/Grid/topclosure1.cc,
-	  tests/Grid/widening1.cc
-	  (grids.[88,46,6,13,12,9,58,115,3,15,11,9,3,9,9,4,9,5,3,4,6,5,10,6,4,9,7,3,4,6,6,5,6,6,5,3,3,24,20,8,7,9,7,11,7,4,6,11,4,3,3,5,6,10,7,6,4,3,8]):
-	  Update Grid::map_space_dimensions() to use set_empty.  Make
-	  Grid_Generator(Generator&) explicit.	Enable insertion of
-	  parameters directly into a Grid.  Update Grid::is_universe,
-	  Grid::map_space_dimensions() and all the tests to use the grid
-	  generator creation functions.  Correct the expected values of a
-	  few tests that use parameters.
-
-2005-12-12 Monday 17:49  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_nonpublic.cc, Grid_public.cc
-	  (grids.[87,57,114]): Take out old parameter hiding.
-
-2005-12-12 Monday 16:21  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.defs.hh, LP_Problem.inlines.hh
-	  (simplex.[4,4,6]): Written some code in `PPL::LP_Problem::OK()'.
-	  Properly renamed `opt_kind' to `opt_mode'.
-
-2005-12-12 Monday 13:49  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
-	  (grids.[12,8]): Implement operator<<(s,ggs).
-
-2005-12-12 Monday 13:27  Andrea Cimino
-
-	* src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh,
-	  tests/Polyhedron/LP_Problem1.cc (simplex.[3,5,3]): Added the
-	  method `PPL::LP_Problem::optimal_value()'.  Modified also
-	  LP_Problem1.cc: all seems to work as expected.
-
-2005-12-10 Saturday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (simplex.1): Exploiting the new
-	  LP_Problem class to build a precise BD_Shape starting from the
-	  constraints of a polyhedron when SIMPLEX_COMPLEXITY is allowed.
-
-2005-12-09 Friday 20:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.52): Some reorganization of the methods
-	  in documentation sections.
-
-2005-12-08 Thursday 20:26  Andrea Cimino
-
-	* src/LP_Problem.inlines.hh (simplex.4): Fixed a bug showed by
-	  `ppl_lpsol'.
-
-2005-12-08 Thursday 20:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.2): Corrected a bug in the
-	  call of ppl_LP_Problem_optimizing_point().
-
-2005-12-08 Thursday 15:22  Andrea Cimino
-
-	* src/: LP_Problem.cc, LP_Problem.inlines.hh (simplex.[3,3]):
-	  Some switches fixed.
-
-2005-12-08 Thursday 07:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.165), interfaces/Prolog/Prolog_interface.dox (1.137),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.106): Added support for
-	  SWI-Prolog's unbounded numbers.  This requires Prolog version
-	  5.5.40 or later version.
-
-2005-12-07 Wednesday 17:31  Andrea Cimino
-
-	* src/LP_Problem.cc, src/LP_Problem.defs.hh,
-	  src/LP_Problem.inlines.hh, tests/Polyhedron/LP_Problem1.cc,
-	  tests/Polyhedron/LP_Problem2.cc (simplex.[2,2,2,2,2]):
-	  LP_Problem prototypes modified to match the C interface.
-	  Modified also the tests.  The code needs to be hardly tested.
-
-2005-12-06 Tuesday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (simplex.1): Using the new interface
-	  to the LP_Problem class.
-
-2005-12-06 Tuesday 16:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc, ppl_c.h.in (simplex.[1,1]): Added
-	  tentative interface for the LP_Problem class.
-
-2005-12-06 Tuesday 16:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint_System.defs.hh, globals.types.hh, simplex.cc
-	  (simplex.[2,1,1]): Enumeration Optimization_Kind renamed as
-	  Optimization_Mode.
-
-2005-12-06 Tuesday 13:24  Andrea Cimino
-
-	* doc/devref.doxyconf-html.in (simplex.1):
-	  Modified to produce PPL::LP_Problem documentation.
-
-2005-12-05 Monday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.22), Watchdog/ChangeLog (1.12): Updated.
-
-2005-12-05 Monday 20:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/limitedCH78extrapolation1.cc (1.5): Changed so as
-	  to rflect the improved precision of the widening.
-
-2005-12-05 Monday 19:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.105): Corrected trivial errors in
-	  calls to function that became a method.
-
-2005-12-05 Monday 19:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.56): Corrected references to the
-	  manual.
-
-2005-12-05 Monday 19:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: ch78widening6.cc (1.7), ch78widening8.cc (1.5):
-	  The known results updated to reflect the increased precision of
-	  the widening operator.
-
-2005-12-05 Monday 19:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.104): The operator
-	  CH78_widening_assign() is now implemented as specified in the SAS
-	  paper BHMZ05, returning immediately if there has been a change in
-	  the affine dimension of the arguments, so that it is well-defined
-	  on the domain of BDSs.
-
-2005-12-05 Monday 19:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.51): Corrected references to the
-	  documentation. Do escape < and > when writing doxygen
-	  documentation.
-
-2005-12-05 Monday 19:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_Powerset.defs.hh (1.26), Polyhedron.defs.hh
-	  (1.285): Corrected references to the documentation.
-
-2005-12-05 Monday 19:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Bounding_Box.defs.hh (1.10): Formatted doxygen commands
-	  according to STANDARDS. Corrected a couple of references to the
-	  manual.
-
-2005-12-05 Monday 19:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Bounding_Box.cc (1.12): Removed duplicated doxygen comment.
-
-2005-12-05 Monday 19:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.179): Removed some redundant anchors
-	  (prefer using the anchors automatically defined by sectioning
-	  commands).  Added subsection on the widening and extrapolation
-	  operators for BDSs.
-
-2005-12-05 Monday 14:54  Andrea Cimino
-
-	* src/Constraint_System.defs.hh, src/LP_Problem.cc,
-	  src/LP_Problem.defs.hh, src/LP_Problem.inlines.hh,
-	  src/LP_Problem.types.hh, src/Linear_Expression.defs.hh,
-	  src/Makefile.am, tests/Polyhedron/LP_Problem1.cc,
-	  tests/Polyhedron/LP_Problem2.cc, tests/Polyhedron/Makefile.am
-	  (simplex.[1,1,1,1,1,1,1,1,1,1]):
-	  Added the LP_Problem class to the branch, derived from the
-	  simplex.cc code.  The class is fully functional, but lacks of
-	  some features like `incrementality': in this case the problem is
-	  solved from scratch.	Added also a couple of tests playing with
-	  the class, but other tests are needed.  For significant tests a
-	  change to the C interface and to the	`ppl_lpsol' tool is
-	  required.  LP_Problem declared `friend class' of
-	  `Constraint_System' and `Linear_Expression' to allow compiling.
-
-2005-12-05 Monday 14:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.cc (1.1), BD_Shape.defs.hh (1.50),
-	  BD_Shape.inlines.hh (1.103), Makefile.am (1.130): A couple of
-	  non-inline and non-template functions placed in BD_Shape.cc.	A
-	  few functions have become private members of the BD_Shape class.
-	  Some exception throwers are now declared static.  A few methods
-	  have been renamed for consistency.
-
-2005-12-05 Monday 14:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: DB_Matrix.defs.hh (1.13), DB_Matrix.inlines.hh (1.18):
-	  Avoid indirect inclusion dependencies.  Corrected a typo in a
-	  preprocessor variable name.
-
-2005-12-05 Monday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Checked_Number.types.hh (1.8): Also declare the
-	  Extended_Number_Policy type.
-
-2005-12-05 Monday 14:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.136): Corrected a few
-	  typos and removed a repeated paragraph.
-
-2005-12-05 Monday 10:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Ask_Tell.inlines.hh (1.6), Bounding_Box.cc (1.11),
-	  Constraint_System.cc (1.14), DB_Matrix.defs.hh (1.12),
-	  DB_Matrix.inlines.hh (1.17), DB_Row.inlines.hh (1.15),
-	  Generator_System.cc (1.14), Linear_Row.cc (1.14),
-	  Linear_System.cc (1.31), Matrix.cc (1.87),
-	  Polyhedra_Powerset.inlines.hh (1.33), Polyhedron_public.cc
-	  (1.68), Row.cc (1.92), Saturation_Matrix.cc (1.6): Do not flush
-	  too often the ostream buffer when performing normal output.
-
-2005-12-05 Monday 10:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.42), Checked_Number.inlines.hh
-	  (1.46): Added a missing \relates doxygen command.
-
-2005-12-05 Monday 10:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.49), BD_Shape.inlines.hh (1.102):
-	  Helper functions forget_*_constraints_on_var() are now provate
-	  methods of class BD_Shape.  Corrected the implementation of
-	  method swap.
-
-2005-12-04 Sunday 10:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.178): Draftet a section on BD shapes.
-
-2005-12-03 Saturday 15:33  Matthew Mundell
-
-	* src/Grid_Generator_System.inlines.hh (grids.6): Update insert to
-	  construct the generator directly into the constructor call.
-
-2005-12-03 Saturday 15:33  Matthew Mundell
-
-	* src/Grid_Generator_System.defs.hh (grids.7): Update the matrix
-	  diagram in the add_universe_rows_and_columns description.
-
-2005-12-03 Saturday 15:31  Matthew Mundell
-
-	* src/Grid_Generator.inlines.hh (grids.11): Update
-	  Grid_Generator(g) to swap with g instead of copying g.  Clean
-	  some comments.  Move the equality operators to better positions.
-	  Update line and point to use Grid_Generator(g).
-
-2005-12-03 Saturday 15:19  Matthew Mundell
-
-	* tests/Grid/generator1.cc (grids.2): Insert test8, to check
-	  construction from a Generator reference.
-
-2005-12-03 Saturday 15:09  Matthew Mundell
-
-	* src/Grid_Generator.defs.hh (grids.12): Move Grid_Generator(g) to
-	  the beginning of the public section.	Improve the
-	  Grid_Generator(g) description.
-
-2005-12-03 Saturday 12:55  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, generator1.cc (grids.[53,1]): Add
-	  generator1, to test Grid_Generator.
-
-2005-12-03 Saturday 12:21  Matthew Mundell
-
-	* src/Generator_System.defs.hh (grids.10): Keep the Grid friend
-	  declaration.
-
-2005-12-03 Saturday 12:13  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.11): Add a note that
-	  ascii_load is a copy of Generator_System::ascii_load.
-
-2005-12-03 Saturday 12:12  Matthew Mundell
-
-	* src/: Grid_Generator.defs.hh, Grid_Generator.inlines.hh
-	  (grids.[11,10]): Add ascii_dump and ascii_load wrappers.
-
-2005-12-03 Saturday 12:04  Matthew Mundell
-
-	* tests/Grid/congruence1.cc (grids.11): Update main to output the
-	  test name.  Convert variable names to A, B and C.
-
-2005-12-03 Saturday 00:38  Matthew Mundell
-
-	* src/: Generator.defs.hh, Grid.defs.hh, Grid_Generator.defs.hh,
-	  Grid_Generator.inlines.hh, Grid_Generator_System.cc,
-	  Grid_Generator_System.defs.hh, Grid_Generator_System.inlines.hh,
-	  Grid_chdims.cc, Grid_conversion.cc, Grid_nonpublic.cc,
-	  Grid_public.cc, Grid_simplify.cc
-	  (grids.[16,86,10,9,10,6,5,26,30,56,113,41]): Stabilize the grid
-	  friend declarations in Generator.
-
-	  Hence, in Grid
-
-	    - update the rest of the simplify methods to use Grid_Generator
-
-	    - convert reduce_pc_with_pc to a template
-
-	    - update to the Grid_Generator_System method names,
-
-	  and in Grid_Generator
-
-	    - add negate(gg,start,end)
-
-	    - add private wrapper methods topology, size, set_is_line and
-	      set_is_parameter,
-
-	  and in Grid_Generator_System
-
-	    - reduce insert, keeping only the relevant parts, and move
-	      linear_system_insert into insert
-
-	    - revert the affine image parameter list to the
-	  Generator_System
-	      form
-
-	    - take out Grid_Generator_System(topology) and add_row(g)
-
-	  Clean some comments.	Add some comments.  Take out the
-	  directed-out Grid code left in in the last few commits.
-
-2005-12-02 Friday 22:16  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_chdims.cc, Grid_conversion.cc,
-	  Grid_nonpublic.cc, Grid_public.cc, Grid_simplify.cc
-	  (grids.[85,25,29,55,112,40]): Reduce the dependency on the
-	  Grid_Generator_System Grid friend declaration:
-
-	    - declare function multiply_grid a static method
-
-	    - replace ggs::num_columns calls with equivalents which use
-		  ggs::space_dimension
-
-	    - leave handling of topology, pending rows and the sorted flag
-	  to
-		  Grid_Generator_System
-
-	    - replace add_zero_columns calls with insertions of all-zero
-	      parameters
-
-	    - replace private use of Grid_Generator_System and parents with
-	  use
-	      of remove_space_dimensions and recycling_insert
-
-	    - update to the Grid_Generator_System method names
-
-	    - replace direct resizing of gen_sys with sized system
-	  construction,
-	      or insertion of an all-zero parameter
-
-	    - update time_elapse_assign to leave any origin point in the
-	      resulting gen_sys
-
-	    - update conversion and minimization methods to use
-		  Grid_Generator_System instead of Linear_System.
-
-	  Take the resizing of gen_sys out of the add_generator(g) empty
-	  case, as the generator system is always the right size.
-
-	  Add const to the add_space_dimensions `dims' argument
-	  declarations.
-
-	  Take the topology and sorted checks out of OK.
-
-2005-12-02 Friday 22:13  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.9): Update
-	  add_universe_rows_and_columns to unset pending rows.	Update
-	  insert(gg) so that at most it adjusts the space dimension if an
-	  all-zero parameter is given.
-
-2005-12-02 Friday 20:45  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh
-	  (grids.[8,5]): Add recycling_insert, remove_space_dimensions,
-	  remove_higher_space_dimensions and an OK sorted check.  Move
-	  add_row to the private section.  Keep the Grid friend
-	  declaration, for now.
-
-2005-12-02 Friday 20:41  Matthew Mundell
-
-	* src/: Grid_Generator.defs.hh, Grid_Generator.inlines.hh
-	  (grids.[9,8]): Add access operators.
-
-2005-12-02 Friday 17:38  Matthew Mundell
-
-	* src/Grid_public.cc (grids.111): Take the topology specification
-	  out of the generator system construction in Grid(n,k).
-
-2005-12-02 Friday 17:36  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.54): Reduce dependency on the
-	  Grid_Generator_System Grid friend declaration: let
-	  Grid_Generator_System handle pending rows and the sorted flag,
-	  define out the NNC handling in construct(gs,), replace manual
-	  topology and dimension adjustment with calls to
-	  Grid_Generator_System(dim) and replace a Grid_Generator_System
-	  num_columns call with an equivalent which uses
-	  Grid_Generator_System::space_dimension().
-
-2005-12-02 Friday 17:28  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh,
-	  Grid_Generator_System.inlines.hh (grids.[7,4,4]): Add a topology
-	  check to OK.	Update `insert' to clear the sorted flag after
-	  inserting.  Update constructors to set the sorted flag.  Add
-	  wrapper methods max_space_dimension, space_dimension and
-	  num_lines.  Add Grid_Generator_System(dim).
-
-2005-12-02 Friday 16:13  Matthew Mundell
-
-	* src/Grid_public.cc (grids.110): Update
-	  generalized_affine_image(v,e,d,m) to insert the parameter via
-	  function `parameter'.
-
-2005-12-02 Friday 16:12  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh,
-	  Grid_Generator_System.inlines.hh (grids.[6,3,3]): Add method
-	  linear_system_insert, a slightly modified copy of
-	  Linear_System::insert.  Update insert to use linear_system_insert
-	  instead of trying to handle parameters specially.  Make
-	  ascii_dump() a real (vs inline) method.  Set the affine_image
-	  grid parameter automatic value to true.
-
-2005-12-02 Friday 16:05  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.inlines.hh (grids.[5,7]):
-	  Implement method parameter locally to work around the
-	  normalization in Generator::ray.
-
-2005-12-02 Friday 16:04  Matthew Mundell
-
-	* src/Grid_Generator.defs.hh (grids.8): Keep the Grid friend
-	  declaration.
-
-2005-12-01 Thursday 22:43  Matthew Mundell
-
-	* tests/Grid/join1.cc (grids.10): Turn off test4 (includes ray
-	  insertion), for now.
-
-2005-12-01 Thursday 22:34  Matthew Mundell
-
-	* src/Grid_public.cc (grids.109): Update add_generator(g) to only
-	  adjust the divisor for points, for now.
-
-2005-12-01 Thursday 22:23  Matthew Mundell
-
-	* src/Grid_public.cc (grids.108): Revert is_universe to create a
-	  generator for each dimension.
-
-2005-12-01 Thursday 22:01  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.28): Improve a comment slightly.
-
-2005-12-01 Thursday 22:01  Matthew Mundell
-
-	* src/Grid_Generator.inlines.hh (grids.6): Add a temporary note.
-
-2005-12-01 Thursday 22:01  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.5): Update insert to work
-	  around the Linear_System::insert normalization check when
-	  inserting a parameter.
-
-2005-12-01 Thursday 21:46  Matthew Mundell
-
-	* src/Grid_public.cc (grids.107): Revert add_generator to multiply
-	  the given point after it has been inserted.
-
-2005-12-01 Thursday 20:44  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.defs.hh,
-	  Grid_Generator.inlines.hh, Grid_nonpublic.cc, Grid_public.cc
-	  (grids.[4,7,5,53,106]): Add a Grid_Generator::divisor method
-	  which returns a writable reference.  Update Grid to use this
-	  method instead of casting.  Revert
-	  Grid::generalized_affine_image(v,e,d,m) to insert the parameter
-	  in stages.
-
-2005-12-01 Thursday 20:00  Matthew Mundell
-
-	* tests/Grid/membytes1.cc (grids.3): Update function add_generator
-	  to use Generator instead of Grid_Generator.
-
-2005-12-01 Thursday 19:59  Matthew Mundell
-
-	* src/: Grid_Generator.defs.hh, Grid_Generator.inlines.hh
-	  (grids.[6,4]): Add methods total_memory_in_bytes and
-	  external_memory_in_bytes.
-
-2005-12-01 Thursday 19:35  Matthew Mundell
-
-	* tests/Grid/congruencesystem2.cc (grids.9): Update
-	  satisfies_all_congruences to use Generator instead of
-	  Grid_Generator.
-
-2005-12-01 Thursday 19:21  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.14): Update test4 to add all
-	  generators.
-
-2005-12-01 Thursday 19:10  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_nonpublic.cc, Grid_public.cc
-	  (grids.[84,52,105]): Reduce the dependency on the Grid_Generator
-	  Grid friend declaration: turn off hiding of parameters,
-	  temporarily let rays be inserted as parameters, always get the
-	  divisor via the divisor method, switch to use the
-	  Generator_System wrapper methods, multiply generators via
-	  Grid_Generator::multiply, construct grids by inserting rows
-	  instead of modifying inserted rows, compare generator systems in
-	  OK via is_equal_to, and swap entire rows via coefficient_swap.
-
-	  Take out the OK NC check and the add_generator NC handling.
-
-2005-12-01 Thursday 18:56  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.27): Update upper_triangular to use
-	  Generator instead of Grid_Generator.
-
-2005-12-01 Thursday 18:56  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.24): In both add_space_dimensions
-	  methods use add_universe_rows_and_columns instead of manually
-	  adding the rows.
-
-2005-12-01 Thursday 18:55  Matthew Mundell
-
-	* src/: Grid_Generator_System.cc, Grid_Generator_System.defs.hh,
-	  Grid_Generator_System.inlines.hh (grids.[4,2,2]): Add
-	  Generator_System wrappers Grid_Generator_System(gg) and
-	  add_row(gg), and new method add_universe_rows_and_columns.  Use
-	  Generator instead of Grid_Generator in const_iterator.
-
-2005-12-01 Thursday 18:52  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.defs.hh,
-	  Grid_Generator.inlines.hh (grids.[3,5,3]): Add many Generator
-	  wrapper methods, and new methods multiply and coefficient_swap.
-	  Update OK to call methods directly, instead of via a reference.
-
-2005-12-01 Thursday 18:49  Matthew Mundell
-
-	* src/: Scalar_Products.cc, Scalar_Products.defs.hh,
-	  Scalar_Products.inlines.hh (grids.[4,4,4]): Use Grid_Generator
-	  instead of Generator in the Grid related methods.  Add
-	  Grid_Generator versions of homogeneous_sign(e,g) and
-	  homogeneous_assign(z,e,g).  Take out
-	  Topology_Adjusted_Scalar_Product_Assign.
-
-2005-12-01 Thursday 18:45  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh
-	  (grids.[35,21]): Use Grid_Generator instead of Generator.
-
-2005-12-01 Thursday 18:44  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.23): Turn of ray test for now.
-
-2005-11-30 Wednesday 20:09  Matthew Mundell
-
-	* src/: Generator.defs.hh, Generator_System.defs.hh,
-	  Grid_Generator.defs.hh (grids.[15,9,4]): Comment inclusions above
-	  the line instead of at the line end, to please
-	  utils/build_header.
-
-2005-11-30 Wednesday 19:56  Matthew Mundell
-
-	* src/Grid_Generator_System.cc (grids.3): Update OK to call the
-	  updated Grid_Generator::OK, and to use Grid_Generator_System for
-	  the generator system type.
-
-2005-11-30 Wednesday 19:53  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.defs.hh (grids.[2,3]):
-	  Add OK method.
-
-2005-11-30 Wednesday 19:53  Matthew Mundell
-
-	* src/: Generator.cc, Generator.defs.hh (grids.[6,14]): Take out
-	  the OK method flag parameter hack.
-
-2005-11-30 Wednesday 19:52  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.13): Add only NC generators
-	  for now.
-
-2005-11-30 Wednesday 17:49  Matthew Mundell
-
-	* src/: Grid_Generator.cc, Grid_Generator.defs.hh,
-	  Grid_Generator.inlines.hh, Grid_Generator_System.cc, Makefile.am
-	  (grids.[1,2,2,2,12]): Inherit privately from Generator.  Add enum
-	  Type.  Add methods is_equivalent_to and swap.  Add
-	  operator<<(s,g) friend declaration.
-
-2005-11-30 Wednesday 17:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.161): Testing the notification of commit messages.
-
-2005-11-30 Wednesday 17:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.160): Added an item.
-
-2005-11-30 Wednesday 16:55  Matthew Mundell
-
-	* src/Grid_public.cc, src/Grid_simplify.cc,
-	  src/Linear_Expression.defs.hh, src/Makefile.am,
-	  tests/ppl_test.hh, tests/Grid/addcongruence1.cc,
-	  tests/Grid/addcongruences1.cc, tests/Grid/addconstraint1.cc,
-	  tests/Grid/addconstraints1.cc, tests/Grid/addgenerator1.cc,
-	  tests/Grid/addspacedims1.cc, tests/Grid/addspacedims2.cc,
-	  tests/Grid/affinedim1.cc, tests/Grid/affineimage1.cc,
-	  tests/Grid/affinepreimage1.cc, tests/Grid/bhz03widening1.cc,
-	  tests/Grid/bounded1.cc, tests/Grid/boundingbox1.cc,
-	  tests/Grid/boundingbox2.cc, tests/Grid/concatenate1.cc,
-	  tests/Grid/congruence1.cc, tests/Grid/congruencesystem1.cc,
-	  tests/Grid/congruencesystem2.cc, tests/Grid/contains1.cc,
-	  tests/Grid/contains2.cc, tests/Grid/coveringbox1.cc,
-	  tests/Grid/coveringbox2.cc, tests/Grid/disjoint1.cc,
-	  tests/Grid/equals1.cc, tests/Grid/expandspacedim1.cc,
-	  tests/Grid/foldspacedims1.cc,
-	  tests/Grid/generalizedaffineimage1.cc,
-	  tests/Grid/generalizedaffineimage2.cc,
-	  tests/Grid/generalizedaffinepreimage1.cc,
-	  tests/Grid/generalizedaffinepreimage2.cc,
-	  tests/Grid/generators1.cc, tests/Grid/grid1.cc,
-	  tests/Grid/grid2.cc, tests/Grid/grid3.cc,
-	  tests/Grid/griddifference1.cc, tests/Grid/intersection1.cc,
-	  tests/Grid/intersection2.cc, tests/Grid/isuniverse1.cc,
-	  tests/Grid/join1.cc, tests/Grid/join2.cc, tests/Grid/join3.cc,
-	  tests/Grid/limitedextrapolation1.cc, tests/Grid/mapspacedims1.cc,
-	  tests/Grid/maxmin1.cc, tests/Grid/membytes1.cc,
-	  tests/Grid/mingenerators1.cc, tests/Grid/pointed1.cc,
-	  tests/Grid/relations1.cc, tests/Grid/removespacedims1.cc,
-	  tests/Grid/removespacedims2.cc, tests/Grid/timeelapse1.cc,
-	  tests/Grid/topclosure1.cc, tests/Grid/widening1.cc,
-	  tests/Grid/writecongruencesystem.cc, src/Generator.defs.hh,
-	  src/Generator_System.cc, src/Generator_System.defs.hh,
-	  src/Grid.defs.hh, src/Grid.inlines.hh,
-	  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_chdims.cc,
-	  src/Grid_conversion.cc, src/Grid_nonpublic.cc
-	  (grids.[104,39,9,11,15,7,2,2,11,12,10,8,2,8,8,3,3,8,4,5,10,8,8,5,3,8,6,2,3,5,5,4,5,5,4,2,22,19,6,7,6,8,6,9,6,3,5,10,3,2,2,2,4,9,6,5,2,7,6,13,18,8,83,45,1,1,1,1,1,1,1,23,26,51]):
-	  Rename find_variation_template in ppl_test.hh to find_variation.
-	  Update all tests to call find_variation directly instead of
-	  calling a wrapped instantiation of find_varition.  Update
-	  find_variation to always use nout.  Take the abort call out of
-	  find_variation.
-
-	  Add classes Grid_Generator and Grid_Generator_System.  Update the
-	  grid classes and all tests to use these instead of Generator and
-	  Generator_System.  Take the grid hacks out of Generator_System.
-
-	  Update a comment in Grid_conversion.cc.
-
-2005-11-30 Wednesday 15:36  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.41), Checked_Number.inlines.hh
-	  (1.45): Disabled ROUND_NOT_NEEDED debug check.
-
-2005-11-30 Wednesday 13:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.48): Removed trailing whitespace.
-
-2005-11-30 Wednesday 12:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.48): Removed trailing whitespace.
-
-2005-11-29 Tuesday 21:56  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh (1.40): fpu_check_inexact is always
-	  set to true with assertions enabled for debugging purpose.
-
-2005-11-29 Tuesday 18:55  Abramo Bagnara
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.47),
-	  interfaces/Prolog/ppl_prolog.icc (1.164),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.36),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.31),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.81),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.105),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.72),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.99), src/BD_Shape.inlines.hh
-	  (1.101), src/Bounding_Box.cc (1.10), src/Bounding_Box.inlines.hh
-	  (1.11), src/Checked_Number.defs.hh (1.39),
-	  src/Checked_Number.inlines.hh (1.44), src/DB_Matrix.inlines.hh
-	  (1.16), src/Polyhedron.inlines.hh (1.126),
-	  src/Polyhedron_nonpublic.cc (1.58), src/Rounding_Dir.defs.hh
-	  (1.5), src/checked.inlines.hh (1.28),
-	  tests/Random_Number_Generator.inlines.hh (1.4),
-	  tests/BD_Shape/closure1.cc (1.8): Reorganized rounding modes.
-
-2005-11-29 Tuesday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.20): Removed trailing whitespace.
-
-2005-11-28 Monday 21:08  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.34): Compare to zero explicitly
-	  in normalize_moduli.
-
-2005-11-28 Monday 21:04  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.22): Update
-	  add_space_dimensions_and_embed and
-	  add_space_dimensions_and_project to use set_empty to empty the
-	  grid.  Update concatenate_assign to handle empty congruence
-	  systems.
-
-2005-11-28 Monday 21:01  Matthew Mundell
-
-	* src/: Grid.inlines.hh, Grid_nonpublic.cc, Grid_simplify.cc
-	  (grids.[44,50,38]): Improve a trace message slightly.  Improve a
-	  few comments.  Update the congruence system simplify method to
-	  accept empty congruence systems.
-
-2005-11-28 Monday 20:54  Matthew Mundell
-
-	* src/Grid_public.cc (grids.103): Improve a few comments.  Update
-	  intersection_assign to add the `y' congruence system only if it
-	  contains rows.  Take the setting of the up-to-date flag out of
-	  Grid(n,k).
-
-2005-11-28 Monday 20:50  Matthew Mundell
-
-	* src/Grid_widenings.cc (grids.10): Improve a comment slightly.
-
-2005-11-28 Monday 16:03  Matthew Mundell
-
-	* src/Grid_public.cc (grids.102): Update Grid(const Grid&) to
-	  ensure that the out of date systems are the correct size.
-
-2005-11-28 Monday 15:59  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.21): Update remove_space_dimensions and
-	  remove_higher_space_dimensions to call set_empty when the grid is
-	  empty.
-
-2005-11-28 Monday 15:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.100): The more precise convex
-	  combination is now also used in method
-	  generalized_affine_image(). Common code factored out in a couple
-	  of helper functions.
-
-2005-11-28 Monday 13:27  Matthew Mundell
-
-	* src/Congruence_System.inlines.hh (grids.11): Align comment.
-
-2005-11-28 Monday 13:27  Matthew Mundell
-
-	* src/Grid_public.cc (grids.101): Take out query (set_zero_dim_univ
-	  will insert a point, which adjusts the space dimension).
-
-2005-11-28 Monday 11:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/ppl.sty (1.23): "newcommand"s needed for the documentation
-	  for the grid domain added.
-
-2005-11-28 Monday 10:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.99): The computation of convex
-	  combinations in the general case of affine images has been
-	  simplified and properly commented.
-
-2005-11-27 Sunday 23:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/ppl.sty (grids.4): Improved comments.
-
-2005-11-27 Sunday 19:03  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.37): In the generator simplify method
-	  also assert sys is OK in the empty case.  In both cases pass
-	  false to OK.
-
-2005-11-27 Sunday 18:54  Matthew Mundell
-
-	* src/Grid_public.cc (grids.100): Leave congruences as they are
-	  (update_generators will simplify them).
-
-2005-11-27 Sunday 18:27  Matthew Mundell
-
-	* src/Grid_public.cc (grids.99): Assert false if relation_with(cg)
-	  finds a closure point.
-
-2005-11-27 Sunday 18:05  Matthew Mundell
-
-	* src/Row.defs.hh (grids.7): Take out the Grid friend declaration.
-
-2005-11-27 Sunday 18:04  Matthew Mundell
-
-	* src/Polyhedron_public.cc (grids.9): Note a possible improvement
-	  in add_congruences(cgs).
-
-2005-11-27 Sunday 18:02  Matthew Mundell
-
-	* src/Matrix.defs.hh (grids.5): Mention size and capacity in the
-	  add_recycled_row parameter description.
-
-2005-11-27 Sunday 17:59  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.36): In the congruence simplify
-	  method always erase rows with erase_to_end.  Take out the
-	  capacity setting after erases.  Add three temporary comments.
-	  Improve two comments.  Compare to zero explicitly in two
-	  assertions.
-
-2005-11-27 Sunday 17:53  Matthew Mundell
-
-	* src/Constraint.defs.hh (grids.9): Take out the Congruence_System
-	  friend declaration.
-
-2005-11-27 Sunday 17:52  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.33): Update insert to use
-	  Constraint::space_dimension instead of the Constraint::size and
-	  Constraint::is_necessarily_closed.
-
-2005-11-27 Sunday 17:48  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
-	  Linear_Expression.defs.hh, Linear_Expression.inlines.hh
-	  (grids.[17,32,18,8,3]): Get the size in Congruence(c) via the
-	  space_dimension().  Add flag `capacity' to Congruence(le,m).	Use
-	  Linear_Expression(le,sz) in the Congruence %= operators.  Take
-	  out Linear_Expression(le,sz,capacity).
-
-2005-11-27 Sunday 17:37  Matthew Mundell
-
-	* STANDARDS (grids.8): Take out section "Standards for the Test
-	  Programs".
-
-2005-11-25 Friday 15:53  Matthew Mundell
-
-	* src/Row.defs.hh (grids.6): Take out the Congruence_System friend
-	  declaration.
-
-2005-11-25 Friday 14:08  Matthew Mundell
-
-	* src/Polyhedron_public.cc (grids.8): Take out a query that relates
-	  to the trunk.
-
-2005-11-25 Friday 14:04  Matthew Mundell
-
-	* tests/Grid/affinepreimage1.cc (grids.7): Simplify a congruence in
-	  test8.
-
-2005-11-25 Friday 14:00  Matthew Mundell
-
-	* STANDARDS (grids.7): Mention that OK is called in
-	  find_variation_template.  Give an example of calling
-	  find_variation_template.
-
-2005-11-25 Friday 13:57  Matthew Mundell
-
-	* src/Matrix.cc (grids.6): Improve a comment in add_recycled_row.
-
-2005-11-25 Friday 11:42  Matthew Mundell
-
-	* src/: Grid_chdims.cc, Grid_nonpublic.cc, Grid_public.cc,
-	  Grid_widenings.cc (grids.[20,49,98,9]): In is_included_in merge
-	  some BE_LAZY=0 code into the BE_LAZY=1 case, and check if `x' is
-	  empty after minimization when BE_LAZY is 0.  In minimize() call
-	  simplify instead of update_generators and update_congruences,
-	  where possible.  Reduce all update_congruence calls to account
-	  for the fact the resulting grid always contains at least one
-	  point.
-
-2005-11-25 Friday 11:29  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.43): Keep the shrink_covering_box and
-	  get_covering_box dimension compatibility checks.
-
-2005-11-25 Friday 11:28  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.82): Improve the update_congruences() and
-	  minimize() descriptions.
-
-2005-11-24 Thursday 13:49  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.31): Take out Polyhedron friend
-	  declaration.
-
-2005-11-24 Thursday 13:14  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.42): In the covering box grid
-	  constructor return immediately after setting empty when a
-	  universe interval is encountered.
-
-2005-11-24 Thursday 12:37  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.25): Move TRACE definition into the
-	  PPL namespace.  #undef TRACE afterwards.
-
-2005-11-24 Thursday 12:37  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.35): Replace the tracing stream with
-	  cerr and a macro called TRACE.
-
-2005-11-24 Thursday 12:12  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.48): In bounds(expr,char*) use
-	  Generator::is_line_or_ray.
-
-2005-11-24 Thursday 12:05  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.24): Replace the tracing stream
-	  with cerr and macro TRACE.
-
-2005-11-23 Wednesday 20:53  Matthew Mundell
-
-	* src/Generator_System.cc (grids.17): Re-enable the OK assertion.
-
-2005-11-23 Wednesday 20:51  Matthew Mundell
-
-	* src/: Generator.cc, Generator.defs.hh (grids.[5,12]): Extend the
-	  OK method check_normalization argument to other
-	  polyhedron-specific checks.
-
-2005-11-23 Wednesday 19:12  Matthew Mundell
-
-	* src/Grid_public.cc (grids.97): In add_recycled_generators
-	  minimize via update_generators instead of via minimize.
-
-2005-11-23 Wednesday 18:37  Matthew Mundell
-
-	* src/: Grid_public.cc, Grid_nonpublic.cc (grids.[96,47]): In
-	  add_recycled_generators_and_minimize minimize via
-	  update_generators and update_congruences instead of via minimize.
-
-2005-11-23 Wednesday 17:43  Matthew Mundell
-
-	* src/Congruence_System.defs.hh (grids.20): Make
-	  has_linear_equalities public.
-
-2005-11-23 Wednesday 17:41  Matthew Mundell
-
-	* src/Checked_Number.inlines.hh (grids.7): Update policy
-	  ROUND_DEFAULT to ROUND_DEFAULT_FUNCTION.
-
-2005-11-23 Wednesday 17:33  Matthew Mundell
-
-	* src/: Grid_nonpublic.cc, Grid_public.cc (grids.[46,95]): Use
-	  Generator::is_line_or_ray instead of Generator::is_point.
-
-2005-11-23 Wednesday 17:02  Matthew Mundell
-
-	* src/Linear_Expression.defs.hh (grids.7): Declare
-	  Congruence_System a friend.
-
-2005-11-23 Wednesday 17:01  Matthew Mundell
-
-	* src/Generator_System.cc (grids.16): Include compiler.hh.  Resolve
-	  two merge conflicts.
-
-2005-11-23 Wednesday 17:00  Matthew Mundell
-
-	* src/: Congruence.defs.hh, Congruence_System.cc,
-	  Generator.defs.hh, Grid_nonpublic.cc, Grid_public.cc,
-	  Scalar_Products.cc, Scalar_Products.defs.hh,
-	  Scalar_Products.inlines.hh, Scalar_Products.types.hh
-	  (grids.[30,32,11,45,94,3,3,3,3]): Move the grid scalar product
-	  functions into class Scalar_Products.  Add class
-	  Topology_Adjusted_Scalar_Product_Assign for
-	  Congruence_System::satisfies_all_congruences(g).
-
-2005-11-23 Wednesday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, NEWS, README.configure, STANDARDS, TODO, configure.ac,
-	  doc/definitions.dox, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/ppl.sty,
-	  doc/user.doxyconf-html.in, doc/user.doxyconf-latex.in,
-	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected2_int16,
-	  interfaces/Prolog/XSB/expected2_int16_a,
-	  interfaces/Prolog/XSB/expected2_int32,
-	  interfaces/Prolog/XSB/expected2_int32_a,
-	  interfaces/Prolog/XSB/expected2_int64,
-	  interfaces/Prolog/XSB/expected2_int64_a,
-	  interfaces/Prolog/XSB/expected2_int8,
-	  interfaces/Prolog/XSB/expected2_int8_a,
-	  interfaces/Prolog/XSB/expected2_mpz,
-	  interfaces/Prolog/XSB/expected2_mpz_a,
-	  interfaces/Prolog/XSB/expected3_int16,
-	  interfaces/Prolog/XSB/expected3_int16_a,
-	  interfaces/Prolog/XSB/expected3_int32,
-	  interfaces/Prolog/XSB/expected3_int32_a,
-	  interfaces/Prolog/XSB/expected3_int64,
-	  interfaces/Prolog/XSB/expected3_int64_a,
-	  interfaces/Prolog/XSB/expected3_int8,
-	  interfaces/Prolog/XSB/expected3_int8_a,
-	  interfaces/Prolog/XSB/expected3_mpz,
-	  interfaces/Prolog/XSB/expected3_mpz_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int16,
-	  interfaces/Prolog/XSB/expected_clpq2_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int32,
-	  interfaces/Prolog/XSB/expected_clpq2_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int64,
-	  interfaces/Prolog/XSB/expected_clpq2_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq2_int8,
-	  interfaces/Prolog/XSB/expected_clpq2_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz,
-	  interfaces/Prolog/XSB/expected_clpq2_mpz_a,
-	  interfaces/Prolog/XSB/expected_clpq_int16,
-	  interfaces/Prolog/XSB/expected_clpq_int16_a,
-	  interfaces/Prolog/XSB/expected_clpq_int32,
-	  interfaces/Prolog/XSB/expected_clpq_int32_a,
-	  interfaces/Prolog/XSB/expected_clpq_int64,
-	  interfaces/Prolog/XSB/expected_clpq_int64_a,
-	  interfaces/Prolog/XSB/expected_clpq_int8,
-	  interfaces/Prolog/XSB/expected_clpq_int8_a,
-	  interfaces/Prolog/XSB/expected_clpq_mpz,
-	  interfaces/Prolog/XSB/expected_clpq_mpz_a,
-	  interfaces/Prolog/XSB/expected_int16,
-	  interfaces/Prolog/XSB/expected_int16_a,
-	  interfaces/Prolog/XSB/expected_int32,
-	  interfaces/Prolog/XSB/expected_int32_a,
-	  interfaces/Prolog/XSB/expected_int64,
-	  interfaces/Prolog/XSB/expected_int64_a,
-	  interfaces/Prolog/XSB/expected_int8,
-	  interfaces/Prolog/XSB/expected_int8_a,
-	  interfaces/Prolog/XSB/expected_mpz,
-	  interfaces/Prolog/XSB/expected_mpz_a,
-	  interfaces/Prolog/XSB/expected_pchk_int16,
-	  interfaces/Prolog/XSB/expected_pchk_int16_a,
-	  interfaces/Prolog/XSB/expected_pchk_int32,
-	  interfaces/Prolog/XSB/expected_pchk_int32_a,
-	  interfaces/Prolog/XSB/expected_pchk_int64,
-	  interfaces/Prolog/XSB/expected_pchk_int64_a,
-	  interfaces/Prolog/XSB/expected_pchk_int8,
-	  interfaces/Prolog/XSB/expected_pchk_int8_a,
-	  interfaces/Prolog/XSB/expected_pchk_mpz,
-	  interfaces/Prolog/XSB/expected_pchk_mpz_a,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/tests/expected_clpq2_int32_a,
-	  interfaces/Prolog/tests/expected_clpq2_int8,
-	  interfaces/Prolog/tests/expected_clpq2_int8_a,
-	  interfaces/Prolog/tests/expected_clpq_int16,
-	  interfaces/Prolog/tests/expected_clpq_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int16,
-	  interfaces/Prolog/tests/expected_pchk_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int32,
-	  interfaces/Prolog/tests/expected_pchk_int32_a,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  m4/ac_check_sicstus_prolog.m4, m4/ac_check_swi_prolog.m4,
-	  m4/ac_check_xsb_prolog.m4, m4/lib-ld.m4, m4/lib-link.m4,
-	  m4/lib-prefix.m4, src/BDS_Status.idefs.hh,
-	  src/BDS_Status.inlines.hh, src/BD_Shape.defs.hh,
-	  src/BD_Shape.inlines.hh, src/Bounding_Box.cc,
-	  src/Bounding_Box.inlines.hh, src/Checked_Number.cc,
-	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	  src/Congruence.defs.hh, 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_Row.defs.hh,
-	  src/DB_Row.inlines.hh, src/Determinate.defs.hh, src/Float.cc,
-	  src/Float.defs.hh, src/Float.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/Init.cc, src/Linear_Expression.defs.hh, src/Linear_System.cc,
-	  src/Linear_System.defs.hh, src/Makefile.am, src/Matrix.cc,
-	  src/Matrix.inlines.hh, src/Native_Integer.defs.hh,
-	  src/Native_Integer.inlines.hh, src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
-	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
-	  src/Polyhedron_widenings.cc, src/Result.defs.hh,
-	  src/Rounding.defs.hh, src/Rounding.types.hh,
-	  src/Rounding_Dir.defs.hh, src/Rounding_Dir.inlines.hh,
-	  src/Scalar_Products.cc, src/Scalar_Products.defs.hh,
-	  src/Scalar_Products.inlines.hh, src/Scalar_Products.types.hh,
-	  src/checked.cc, src/checked.defs.hh, src/checked.inlines.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/float.types.hh, src/globals.defs.hh,
-	  src/globals.inlines.hh, src/globals.types.hh,
-	  src/mp_numeric_limits.hh, src/ppl-config.cc.in,
-	  src/scalar_products.cc, src/scalar_products.defs.hh,
-	  src/scalar_products.inlines.hh, src/simplex.cc, src/simplify.cc,
-	  tests/ppl_test.hh, tests/BD_Shape/Makefile.am,
-	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
-	  tests/BD_Shape/affinedimension1.cc,
-	  tests/BD_Shape/affineimage10.cc, tests/BD_Shape/affineimage8.cc,
-	  tests/BD_Shape/affineimage9.cc,
-	  tests/BD_Shape/affinepreimage5.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/ascii_dump_load2.cc,
-	  tests/BD_Shape/bdsdifference1.cc,
-	  tests/BD_Shape/bdsdifference2.cc,
-	  tests/BD_Shape/bdsdifference3.cc,
-	  tests/BD_Shape/bdsdifference4.cc,
-	  tests/BD_Shape/bdsdifference5.cc,
-	  tests/BD_Shape/bdsdifference6.cc,
-	  tests/BD_Shape/bdsdifference7.cc,
-	  tests/BD_Shape/cc76extrapolation4.cc,
-	  tests/BD_Shape/ch78widening4.cc, tests/BD_Shape/closure1.cc,
-	  tests/BD_Shape/constraints1.cc, tests/BD_Shape/equality1.cc,
-	  tests/BD_Shape/exceptions1.cc, tests/BD_Shape/exceptions2.cc,
-	  tests/BD_Shape/exceptions3.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage13.cc,
-	  tests/BD_Shape/generalizedaffineimage14.cc,
-	  tests/BD_Shape/limitedCC76extrapolation2.cc,
-	  tests/BD_Shape/limitedCC76extrapolation3.cc,
-	  tests/BD_Shape/mapspacedims2.cc, tests/BD_Shape/mapspacedims3.cc,
-	  tests/BD_Shape/minconstraints1.cc,
-	  tests/BD_Shape/polydifference1.cc,
-	  tests/BD_Shape/polydifference2.cc,
-	  tests/BD_Shape/polydifference3.cc,
-	  tests/BD_Shape/polydifference4.cc,
-	  tests/BD_Shape/polydifference5.cc,
-	  tests/BD_Shape/polydifference6.cc, tests/BD_Shape/relations1.cc,
-	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
-	  tests/BD_Shape/relations4.cc, tests/BD_Shape/relations5.cc,
-	  tests/BD_Shape/removespacedims2.cc,
-	  tests/BD_Shape/removespacedims3.cc, tests/BD_Shape/run_tests,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/boundingbox1.cc,
-	  tests/Polyhedron/numberinput1.cc,
-	  tests/Polyhedron/primalsimplex1.cc,
-	  tests/Polyhedron/primalsimplex2.cc
-	  (grids.[2,4,2,6,16,8,9,5,2,3,4,2,5,5,3,4,2,2,2,4,3,6,3,4,1,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,2,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,2,2,2,3,3,3,3,3,3,3,2,3,2,1,1,1,3,3,6,6,3,3,2,8,6,29,8,3,4,3,2,2,4,2,4,2,3,3,10,4,15,7,2,4,6,5,3,10,5,4,5,6,6,7,8,6,5,6,7,4,3,3,2,2,2,2,2,2,2,4,5,8,5,7,6,4,5,4,3,2,5,4,2,2,2,5,6,3,5,2,14,6,3,3,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,3,3,4,3,3,3,3,3,2,2,2,2,2,3,2,2,2,2,2,3,3,3,2,3,2,2,2,10,2,3,2,2]):
-	  Sixth merge from main trunk.	(Note: build is currently broken.)
-
-2005-11-23 Wednesday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.98): Corrected an ambiguous call
-	  problem when coefficients are checked_int64.
-
-2005-11-23 Wednesday 00:06  Matthew Mundell
-
-	* src/: Congruence_System.cc, Grid.defs.hh, Grid_minimize.cc,
-	  Grid_nonpublic.cc, Grid_public.cc (grids.[31,81,24,44,93]): Move
-	  the code in the static minimize methods into update_congruences
-	  and update_generators.  Call update_congruences and
-	  update_generators instead of the static minimize methods in
-	  methods add_recycled_congruences_and_minimize and
-	  add_recycled_generators_and_minimize.  In OK test congruence to
-	  generator conversion via a temporary grid instead of a temporary
-	  congruence system.
-
-2005-11-22 Tuesday 12:08  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.23): Improve two comments.
-
-2005-11-22 Tuesday 11:34  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_conversion.cc (grids.[80,22]): Make
-	  conversion void of return.
-
-2005-11-22 Tuesday 11:21  Matthew Mundell
-
-	* src/Grid_public.cc (grids.92): Leave dim_kinds at the end of the
-	  ASCII dump.  Resign to reading dim_kind into a short temporary
-	  int in ascii_load.
-
-2005-11-22 Tuesday 11:01  Matthew Mundell
-
-	* tests/Grid/congruence1.cc (grids.9): Use a local namespace.
-	  Merge test10 and test11.  Add is_trivial_* tests of the form b %=
-	  0 mod m where b <> 0 mod m.
-
-2005-11-22 Tuesday 10:38  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh (grids.[16,28]): Consider
-	  b %= 0 mod m where b <> 0 mod m as false in is_trivial_false.
-	  Leave the constant term be after factoring out the modulus in
-	  normalize.
-
-2005-11-22 Tuesday 07:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rounding_Dir.defs.hh (1.4): Added new rounding modes
-	  ROUND_NOT_NEEDED and ROUND_DONT_CARE.
-
-2005-11-22 Tuesday 07:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rounding_Dir.defs.hh (grids.1): file Rounding_Dir.defs.hh was
-	  added on branch grids on 2005-11-23 13:24:06 +0000
-
-2005-11-22 Tuesday 07:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rounding_Dir.defs.hh (1.3): Added a couple of comments.
-
-2005-11-21 Monday 16:29  Matthew Mundell
-
-	* tests/Grid/isuniverse1.cc (grids.5): Use a local namespace.
-	  Insert test4, where the gird is zero dimension empty.  Add tests
-	  with the systems in various states of minimization and
-	  up-to-date'ness.
-
-2005-11-21 Monday 16:02  Matthew Mundell
-
-	* src/Grid_public.cc (grids.91): In is_universe check for a single
-	  integrality congruence if the congruences are minimized, use a
-	  single temporary generator instead of creating a temporary grid,
-	  and take out the gen_sys check.
-
-2005-11-21 Monday 15:58  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.27): Correct is_trivial_true doc.
-
-2005-11-21 Monday 15:48  Elena Mazzi
-
-	* src/BD_Shape.defs.hh (1.47), src/BD_Shape.inlines.hh (1.97),
-	  tests/BD_Shape/Makefile.am (1.28),
-	  tests/BD_Shape/bdsdifference1.cc (1.1),
-	  tests/BD_Shape/bdsdifference2.cc (1.1),
-	  tests/BD_Shape/bdsdifference3.cc (1.1),
-	  tests/BD_Shape/bdsdifference4.cc (1.1),
-	  tests/BD_Shape/bdsdifference5.cc (1.1),
-	  tests/BD_Shape/bdsdifference6.cc (1.1),
-	  tests/BD_Shape/bdsdifference7.cc (1.1),
-	  tests/BD_Shape/exceptions1.cc (1.8),
-	  tests/BD_Shape/polydifference1.cc (1.7),
-	  tests/BD_Shape/polydifference2.cc (1.5),
-	  tests/BD_Shape/polydifference3.cc (1.5),
-	  tests/BD_Shape/polydifference4.cc (1.5),
-	  tests/BD_Shape/polydifference5.cc (1.6),
-	  tests/BD_Shape/polydifference6.cc (1.5),
-	  tests/BD_Shape/polydifference7.cc (1.2), tests/BD_Shape/run_tests
-	  (1.10): Method BD_Shape::poly_difference_assign() renamed
-	  BD_Shape::bds_difference_assign().  Corrected a bug in
-	  BD_Shape::bds_difference_assign().
-
-2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdsdifference1.cc (grids.1): file
-	  bdsdifference1.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdsdifference2.cc (grids.1): file
-	  bdsdifference2.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdsdifference3.cc (grids.1): file
-	  bdsdifference3.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdsdifference4.cc (grids.1): file
-	  bdsdifference4.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdsdifference5.cc (grids.1): file
-	  bdsdifference5.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdsdifference6.cc (grids.1): file
-	  bdsdifference6.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/bdsdifference7.cc (grids.1): file
-	  bdsdifference7.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-11-21 Monday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (grids.1): file run_tests was added on
-	  branch grids on 2005-11-23 13:24:08 +0000
-
-2005-11-21 Monday 15:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.96): Added a couple of missing inline
-	  declarations.  Let definitions of a few inline functions occur
-	  before their first use.
-
-2005-11-21 Monday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: affineimage8.cc (1.10),
-	  generalizedaffineimage14.cc (1.8): Removed the last CHECKME's
-	  from the known results.
-
-2005-11-20 Sunday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected_pchk_int32 (1.2),
-	  tests/expected_pchk_int32 (1.3): Updated.
-
-2005-11-20 Sunday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int32 (grids.1): file
-	  expected_pchk_int32 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected_clpq_int16 (1.2),
-	  XSB/expected_pchk_int16 (1.2), tests/expected_clpq_int16 (1.2),
-	  tests/expected_pchk_int16 (1.3): Updated.
-
-2005-11-20 Sunday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int16 (grids.1): file
-	  expected_clpq_int16 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int16 (grids.1): file
-	  expected_pchk_int16 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.159): New to-do item.
-
-2005-11-20 Sunday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected_clpq2_int8_a (1.2),
-	  XSB/expected_pchk_int8_a (1.2), tests/expected_clpq2_int8_a
-	  (1.2), tests/expected_pchk_int8_a (1.3): Updated.
-
-2005-11-20 Sunday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int8_a (grids.1): file
-	  expected_clpq2_int8_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int8_a (grids.1): file
-	  expected_pchk_int8_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected_clpq2_int32_a (1.2),
-	  XSB/expected_clpq_int16_a (1.2), XSB/expected_pchk_int16_a (1.2),
-	  XSB/expected_pchk_int32_a (1.2), XSB/expected_pchk_int64_a (1.2),
-	  tests/expected_clpq2_int32_a (1.2), tests/expected_clpq_int16_a
-	  (1.2), tests/expected_pchk_int16_a (1.3),
-	  tests/expected_pchk_int32_a (1.3): Updated.
-
-2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int32_a (grids.1): file
-	  expected_clpq2_int32_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int16_a (grids.1): file
-	  expected_clpq_int16_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int16_a (grids.1): file
-	  expected_pchk_int16_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int32_a (grids.1): file
-	  expected_pchk_int32_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int64_a (grids.1): file
-	  expected_pchk_int64_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: Makefile.am (1.38), expected2_int16
-	  (1.5), expected2_int16_a (1.4), expected2_int32 (1.4),
-	  expected2_int32_a (1.3), expected2_int64 (1.3), expected2_int64_a
-	  (1.3), expected2_int8 (1.4), expected2_int8_a (1.3),
-	  expected2_mpz (1.3), expected2_mpz_a (1.3), expected3_int16
-	  (1.3), expected3_int16_a (1.3), expected3_int32 (1.3),
-	  expected3_int32_a (1.2), expected3_int64 (1.2), expected3_int64_a
-	  (1.2), expected3_int8 (1.4), expected3_int8_a (1.2),
-	  expected3_mpz (1.2), expected3_mpz_a (1.2), expected_clpq2_int16
-	  (1.1), expected_clpq2_int16_a (1.1), expected_clpq2_int32 (1.1),
-	  expected_clpq2_int32_a (1.1), expected_clpq2_int64 (1.1),
-	  expected_clpq2_int64_a (1.1), expected_clpq2_int8 (1.1),
-	  expected_clpq2_int8_a (1.1), expected_clpq2_mpz (1.1),
-	  expected_clpq2_mpz_a (1.1), expected_clpq_int16 (1.1),
-	  expected_clpq_int16_a (1.1), expected_clpq_int32 (1.1),
-	  expected_clpq_int32_a (1.1), expected_clpq_int64 (1.1),
-	  expected_clpq_int64_a (1.1), expected_clpq_int8 (1.1),
-	  expected_clpq_int8_a (1.1), expected_clpq_mpz (1.1),
-	  expected_clpq_mpz_a (1.1), expected_int16 (1.3), expected_int16_a
-	  (1.3), expected_int32 (1.3), expected_int32_a (1.3),
-	  expected_int64 (1.3), expected_int64_a (1.3), expected_int8
-	  (1.4), expected_int8_a (1.4), expected_mpz (1.3), expected_mpz_a
-	  (1.3), expected_pchk_int16 (1.1), expected_pchk_int16_a (1.1),
-	  expected_pchk_int32 (1.1), expected_pchk_int32_a (1.1),
-	  expected_pchk_int64 (1.1), expected_pchk_int64_a (1.1),
-	  expected_pchk_int8 (1.1), expected_pchk_int8_a (1.1),
-	  expected_pchk_mpz (1.1), expected_pchk_mpz_a (1.1): Test files
-	  are now named as for the other Prolog systems.
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int16 (grids.1): file
-	  expected_clpq2_int16 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int16_a (grids.1): file
-	  expected_clpq2_int16_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int32 (grids.1): file
-	  expected_clpq2_int32 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int64 (grids.1): file
-	  expected_clpq2_int64 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int64_a (grids.1): file
-	  expected_clpq2_int64_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_int8 (grids.1): file
-	  expected_clpq2_int8 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_mpz (grids.1): file
-	  expected_clpq2_mpz was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq2_mpz_a (grids.1): file
-	  expected_clpq2_mpz_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int32 (grids.1): file
-	  expected_clpq_int32 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int32_a (grids.1): file
-	  expected_clpq_int32_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int64 (grids.1): file
-	  expected_clpq_int64 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int64_a (grids.1): file
-	  expected_clpq_int64_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int8 (grids.1): file
-	  expected_clpq_int8 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_int8_a (grids.1): file
-	  expected_clpq_int8_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_mpz (grids.1): file
-	  expected_clpq_mpz was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_clpq_mpz_a (grids.1): file
-	  expected_clpq_mpz_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int64 (altnum.1): file
-	  expected_pchk_int64 was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int64 (grids.1): file
-	  expected_pchk_int64 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_int8 (grids.1): file
-	  expected_pchk_int8 was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_mpz (altnum.1): file
-	  expected_pchk_mpz was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_mpz (grids.1): file
-	  expected_pchk_mpz was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_mpz_a (altnum.1): file
-	  expected_pchk_mpz_a was added on branch altnum on 2006-10-29
-	  19:27:05 +0000
-
-2005-11-20 Sunday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected_pchk_mpz_a (grids.1): file
-	  expected_pchk_mpz_a was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-20 Sunday 16:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected2_int8 (1.3), XSB/expected3_int8
-	  (1.3), tests/expected_clpq2_int8 (1.2), tests/expected_pchk_int8
-	  (1.3): Updated.
-
-2005-11-20 Sunday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.14): Temporary hack to avoid
-	  failure of `make check'.
-
-2005-11-20 Sunday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/numberinput1.cc (1.13): Removed another instance
-	  of undue reliance on default rounding mode.
-
-2005-11-20 Sunday 00:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.95): Use rounding up in the definition
-	  of stop_points[] in BD_Shape<T>::CC76_extrapolation_assign().
-
-2005-11-19 Saturday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.inlines.hh (1.15): DB_Matrix<T>::ascii_load() was
-	  not failing in case of a conversion error.
-
-2005-11-19 Saturday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Result.defs.hh (1.11): Added some full stops.
-
-2005-11-19 Saturday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.inlines.hh (1.14): DB_Row::OK() is now more
-	  informative upon failure, unless NDEBUG is defined.
-
-2005-11-19 Saturday 20:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.94): Another correction in
-	  BD_Shape<T>::CC76_extrapolation_assign().
-
-2005-11-19 Saturday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.93): Fixed the definition of
-	  stop_points[] in BD_Shape<T>::CC76_extrapolation_assign().
-
-2005-11-19 Saturday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.92), DB_Matrix.inlines.hh (1.14):
-	  Fixed a copy and paste bug in the distance functions.  No longer
-	  rely on default rounding mode for extended numbers.
-
-2005-11-19 Saturday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GMP_Integer.defs.hh (1.13), GMP_Integer.inlines.hh (1.8):
-	  Remove overloadings of raw_value() with an mpq_class argument.
-
-2005-11-19 Saturday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: affineimage8.cc (1.9), affineimage9.cc (1.8):
-	  Fixed ambiguous calls to rectilinear_distance_assign().
-
-2005-11-19 Saturday 20:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/Makefile.am (1.27): XFAIL_TESTS should be empty
-	  here.
-
-2005-11-19 Saturday 16:47  Abramo Bagnara
-
-	* src/: Bounding_Box.cc (1.9), Bounding_Box.inlines.hh (1.10),
-	  Checked_Number.defs.hh (1.38), Checked_Number.inlines.hh (1.43),
-	  Polyhedron.inlines.hh (1.125): Don't permit rounding direction
-	  omission when it's relevant.
-
-2005-11-19 Saturday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.9): Temporarily let polydifference7
-	  be an XFAIL test, so as to allow systematic testing of all
-	  incarnations of BD_Shape using tinderbox.
-
-2005-11-19 Saturday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: affineimage8.cc (1.8), affineimage9.cc (1.7):
-	  Try to use the distance computation so as to detect when a
-	  computed result is ok even if different from the known result
-	  (not really sure this one was the intended use of these distance
-	  functions).
-
-2005-11-19 Saturday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.91): Previous change reverted.
-
-2005-11-18 Friday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.90): Removed several useless
-	  invocations of raw_value().
-
-2005-11-18 Friday 22:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GMP_Integer.defs.hh (1.12), GMP_Integer.inlines.hh (1.7):
-	  Defined overloaded raw_value() functions that are the identity
-	  functions on mpq_class& and const mpq_class&, respectively.  This
-	  avoids surprises when raw_value() is applied to an mpq_class
-	  object.  The problem is caused by the C++ interface of GMP, which
-	  defines an implicit constructor for mpz_class from an object of
-	  type mpq_class.
-
-2005-11-18 Friday 20:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: affineimage8.cc (1.7), affineimage9.cc (1.6),
-	  affinepreimage5.cc (1.5), generalizedaffineimage13.cc (1.4): The
-	  expected results modified accoring to the new precision expected
-	  from method affine_image().
-
-2005-11-18 Friday 20:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.89): The precision of affine_image()
-	  improved further.
-
-2005-11-18 Friday 17:31  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.19): In concatenate_assign improve some
-	  comments and split an assert into two.
-
-2005-11-18 Friday 17:30  Matthew Mundell
-
-	* tests/Grid/concatenate1.cc (grids.4): Define tests in a local
-	  namespace.  Add a test where the second grid is empty.  Add tests
-	  for zero dimension grids and grids that are empty due to the
-	  congruence system.  In all tests call find_variation only on the
-	  grid under test and only after concatenating.
-
-2005-11-18 Friday 14:53  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.30): Add an extra loop to
-	  satisfies_all_congruences so that the scalar product is
-	  multiplied by the divisor only as required.
-
-2005-11-18 Friday 14:28  Matthew Mundell
-
-	* src/Grid_chdims.cc, tests/Grid/removespacedims1.cc
-	  (grids.[18,8]): Add test6 (where the variable set includes the
-	  first dim) and test7 (where the result contains an all-zero
-	  parameter).  Define the tests within a local namespace.
-
-2005-11-18 Friday 13:30  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.21): Reduce the number of known_gr
-	  congruences in test15.
-
-2005-11-18 Friday 13:03  Matthew Mundell
-
-	* tests/Grid/removespacedims1.cc (grids.7): Enable test4.  Rename
-	  test1 test5.	Add a simple test as test1.
-
-2005-11-18 Friday 12:46  Matthew Mundell
-
-	* tests/Grid/intersection2.cc (grids.7): Modify test7 slightly.
-
-2005-11-18 Friday 12:40  Matthew Mundell
-
-	* tests/Grid/congruencesystem1.cc (grids.7): Neaten formatting.
-	  Take out list of methods that could be tested.
-
-2005-11-18 Friday 09:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.26), run_tests (1.8): Let
-	  BD_Shape<mpq> be the first one to be tested.
-
-2005-11-17 Thursday 15:35  Matthew Mundell
-
-	* tests/Grid/foldspacedims1.cc (grids.4): Correct two comments.
-	  Add test11, in which a relational grid becomes a grid that is
-	  smaller than universe.
-
-2005-11-17 Thursday 15:20  Abramo Bagnara
-
-	* src/: Float.inlines.hh (1.15), checked_ext.inlines.hh (1.26),
-	  checked_float.inlines.hh (1.54), checked_mpz.inlines.hh (1.33):
-	  Removed traling whitespace.
-
-2005-11-17 Thursday 14:14  Matthew Mundell
-
-	* tests/Grid/congruencesystem2.cc (grids.7): Add a local namespace.
-	  Fit fulfils to satisfies_all_congruence.  Take out the closure
-	  point tests.	Add tests where the divisor is greater than one.
-
-2005-11-17 Thursday 13:33  Matthew Mundell
-
-	* tests/Grid/congruence1.cc (grids.8): Resolve a query (the two
-	  grids should be equal).
-
-2005-11-17 Thursday 13:19  Matthew Mundell
-
-	* tests/Grid/addspacedims2.cc (grids.7): Take out two simple
-	  queries.  Use equalities where possible to create the test5 known
-	  congruence system.
-
-2005-11-17 Thursday 12:58  Matthew Mundell
-
-	* src/scalar_products.cc (grids.4): Clean a
-	  reduced_scalar_product_assign comment.
-
-2005-11-17 Thursday 12:51  Matthew Mundell
-
-	* src/Grid_Certificate.cc (grids.8): Format returns consistently.
-	  Quote variables consistently in comments.  Resign to creating a
-	  temporary certificate in compare(gr).
-
-2005-11-17 Thursday 12:15  Matthew Mundell
-
-	* src/scalar_products.defs.hh (grids.5): Keep
-	  homogeneous_scalar_product_sign, which is used in method
-	  `bounds'.
-
-2005-11-17 Thursday 10:14  Abramo Bagnara
-
-	* src/checked_mpq.inlines.hh (1.29): Fixed proper use of rounding
-	  direction.
-
-2005-11-17 Thursday 09:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.25): Added a guideline regarding trailing
-	  whitespace, as well as an hint for exploiting the power of emacs
-	  in this respect (thanks to Matthew Mundell for pointing this
-	  out).
-
-2005-11-17 Thursday 09:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.88), simplex.cc (1.32): Removed
-	  trailing whitespace.
-
-2005-11-17 Thursday 07:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.7): Spurious line removed.
-
-2005-11-17 Thursday 07:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (grids.1): file closure1.cc was added
-	  on branch grids on 2005-11-23 13:24:07 +0000
-
-2005-11-16 Wednesday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.6): Distance computations enabled.
-
-2005-11-16 Wednesday 20:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpq.inlines.hh (1.28): Quick and dirty (very dirty)
-	  hack to provide mpq-based checked numbers with some sqrt
-	  capability.
-
-2005-11-16 Wednesday 20:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.inlines.hh (1.13): Fixed
-	  Euclidean_Distance_Specialization.  Avoided a compiler warning.
-	  Factorized some common code.
-
-2005-11-16 Wednesday 18:12  Matthew Mundell
-
-	* src/scalar_products.defs.hh (grids.4): Keep
-	  homogeneous_scalar_product_assign, which is used in max_min.
-
-2005-11-16 Wednesday 18:03  Matthew Mundell
-
-	* src/Matrix.defs.hh (grids.4): Take out old friends.
-
-2005-11-16 Wednesday 18:02  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.34): Correct typo in temporary
-	  comment.
-
-2005-11-16 Wednesday 18:00  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.79): Mention only that expr in the
-	  bounded methods are bounded (instead of mentioning bounding from
-	  above or below.  Note that the two "bound_from" methods are the
-	  same.
-
-2005-11-16 Wednesday 16:59  Matthew Mundell
-
-	* src/Grid_widenings.cc (grids.8): Take out the inclusion of the
-	  bounding box header.
-
-2005-11-16 Wednesday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.5): Get ready to test with
-	  Euclidean and L-infinity distances.
-
-2005-11-16 Wednesday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.46): Added missing friend declarations.
-	  Removed superfluous friend declarations.
-
-2005-11-16 Wednesday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.45), BD_Shape.inlines.hh (1.87): Added
-	  methods BD_Shape::euclidean_distance_assign() and
-	  BD_Shape::l_infinity_distance_assign() along the lines of the
-	  existing methods BD_Shape::rectilinear_distance_assign().
-
-2005-11-16 Wednesday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.defs.hh (1.11): Added the declaration of
-	  DB_Matrix::euclidean_distance_assign().
-
-2005-11-16 Wednesday 13:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.25), polydifference7.cc (1.1):
-	  News test shows a bug in BD_Shape::poly_difference_assign().
-
-2005-11-16 Wednesday 07:17  Abramo Bagnara
-
-	* src/DB_Matrix.inlines.hh (1.12): Fixed obnoxious typo. Added
-	  missing qualifiers.
-
-2005-11-15 Tuesday 21:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Congruence.defs.hh, Grid.defs.hh (grids.[26,78]): Reverted
-	  a previous change to the documentation in Congruence.defs.hh
-	  Corrected line expression in example 2 in Grid.defs.hh.
-
-2005-11-15 Tuesday 20:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.4): Added (experimental, commented
-	  out) invocations of the rectilinear_distance_assign() function.
-
-2005-11-15 Tuesday 19:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: DB_Matrix.defs.hh (1.10), DB_Matrix.inlines.hh (1.11): New
-	  functions euclidean_distance_assign() and
-	  l_infinity_distance_assign().  Along with
-	  rectilinear_distance_assign() they are all implemented in terms
-	  of the new, generalized function l_m_distance_assign().
-
-2005-11-15 Tuesday 18:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.inlines.hh (1.10): Several improvements to 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).	(Joint work with Abramo Bagnara.)
-
-2005-11-15 Tuesday 18:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.31): The steepest-edge technique should be
-	  enabled by default (it was disabled by error in the last commit).
-
-2005-11-15 Tuesday 17:35  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.inlines.hh (grids.[15,17]): Make
-	  is_trivial_true and is_trivial_false real (vs inline) methods.
-
-2005-11-15 Tuesday 17:19  Matthew Mundell
-
-	* src/Generator_System.cc (grids.14): "Use" parameter
-	  check_normalization in method `insert'.
-
-2005-11-15 Tuesday 17:17  Matthew Mundell
-
-	* src/: Grid_Certificate.cc, Grid_minimize.cc, Grid_public.cc,
-	  Grid_simplify.cc, Grid_widenings.cc (grids.[7,23,90,33,7]):
-	  Normalize moduli in the congruence system simplify method.  Clean
-	  a few comments.  In the zero dimension cases in
-	  add_recycled_generators and add_recycled_generators_and_minimize
-	  only set zero dimension universe when the grid is empty.
-
-2005-11-15 Tuesday 17:10  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.77): Doc the minimized_generators()
-	  parameter conversion.
-
-2005-11-15 Tuesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.86): Statically allocate temporaries
-	  in 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, const Rounding_Dir dir).
-
-2005-11-15 Tuesday 15:58  Abramo Bagnara
-
-	* src/checked_ext.inlines.hh (1.25): Added missing argument.
-
-2005-11-15 Tuesday 15:38  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, mingenerators1.cc (grids.[52,1]): Add
-	  mingenerators1, which tests Grid::minimized_generators().
-
-2005-11-15 Tuesday 15:37  Matthew Mundell
-
-	* src/Grid_public.cc (grids.89): In generators() use
-	  hide_parameters() and move the zero dim check to precede the
-	  empty check.	Implement minimized_generators() directly, instead
-	  of calling generators().
-
-2005-11-15 Tuesday 15:31  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_nonpublic.cc (grids.[76,43]): Add
-	  hide_parameters().
-
-2005-11-15 Tuesday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.inlines.hh (1.13): Two FIXMEs removed.
-
-2005-11-15 Tuesday 14:54  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.42): In construct(gs,) move the
-	  gen_sys sorted flag setting into the space_dim > 0 case.
-
-2005-11-15 Tuesday 14:46  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.37), Checked_Number.inlines.hh
-	  (1.42), DB_Row.inlines.hh (1.12), checked.defs.hh (1.28),
-	  checked.inlines.hh (1.27), checked_ext.inlines.hh (1.24),
-	  checked_mpq.inlines.hh (1.27), checked_mpz.inlines.hh (1.32):
-	  Added construct function to Checked_Number. Added specialization
-	  for mpq and mpz.
-
-2005-11-15 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.44), BD_Shape.inlines.hh (1.85),
-	  DB_Matrix.defs.hh (1.9), DB_Matrix.inlines.hh (1.9): Added a
-	  first version of some functions computing the rectilinear (or
-	  Manhattan) distance between BD_Shape objects.
-
-2005-11-15 Tuesday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Rounding_Dir.defs.hh (1.2), Rounding_Dir.inlines.hh (1.2):
-	  Added Rounding_Dir inverse(Rounding_Dir dir): returns the inverse
-	  rounding mode of `dir', ROUND_IGNORE being the inverse of itself.
-
-2005-11-15 Tuesday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Rounding_Dir.inlines.hh (grids.1): file
-	  Rounding_Dir.inlines.hh was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-11-15 Tuesday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Init.cc (1.21), Makefile.am (1.129), Native_Integer.defs.hh
-	  (1.15), Rounding.defs.hh (1.14), Rounding.types.hh (1.5),
-	  Rounding_Dir.defs.hh (1.1), Rounding_Dir.inlines.hh (1.1),
-	  checked.defs.hh (1.27): Rounding.types.hh removed.  Other
-	  Rounding.defs.hh renamed Rounding_Dir.defs.hh.  Comments revised.
-	  New file Rounding_Dir.inlines.hh will contain inline functions
-	  operating on enum Rounding_Dir values.
-
-2005-11-15 Tuesday 12:38  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, generators1.cc, mincongruences1.cc
-	  (grids.[51,1,1]): Add generators1 and mincongruences1, which test
-	  Grid::generators() and Grid::minimized_congruences().
-
-2005-11-15 Tuesday 12:36  Matthew Mundell
-
-	* tests/Grid/congruences1.cc (grids.4): Insert test6, where the
-	  grid is defined by generators.  In test8 (was test7) minimize
-	  when adding congruence.
-
-2005-11-15 Tuesday 12:33  Matthew Mundell
-
-	* src/: Grid.inlines.hh, Grid_nonpublic.cc, Grid_public.cc
-	  (grids.[41,41,88]): Always set zero dim universe via
-	  set_zero_dim_univ().	Insert a point in set_zero_dim_univ().
-	  Create a correctly sized gen_sys in set_empty().
-
-	  In the bounding box grid constructor move the generator system
-	  flag setting into the space_dim > 0 case.  In the covering box
-	  grid constructor jump over the sorted flag clearing when an empty
-	  grid is produced.
-
-	  In construct(gs,) set space_dim before the empty test and set
-	  zero dim universe when required.  In Grid(n,kind) set zero dim
-	  universe when required.  Handle the zero dimension case in
-	  minimized_congruences().
-
-	  In generators() just return gen_sys when the grid is marked
-	  empty, return the actual gen_sys for zero dim universe, ensure
-	  that gen_sys is up to date, and convert any parameters to points.
-
-	  In the zero dim cases of add_recycled_congruences_and_minimize
-	  and add_recycled_congruences set empty or zero dim universe only
-	  if required.
-
-2005-11-15 Tuesday 11:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.84): Method is_empty() now computes
-	  shortest-path closure instead of applying the Bellman-Ford
-	  algorithm.
-
-2005-11-15 Tuesday 11:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.30): Some further improvements to the function
-	  steepest().  Function get_exiting_base_index() now takes a
-	  *const* reference to base.
-
-2005-11-15 Tuesday 11:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Scalar_Products.cc (1.2): Don't break comment lines without
-	  reason.
-
-2005-11-15 Tuesday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Scalar_Products.cc (grids.1): file Scalar_Products.cc was
-	  added on branch grids on 2005-11-23 13:24:06 +0000
-
-2005-11-15 Tuesday 10:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Congruence.defs.hh (grids.25): Improvements to the
-	  documentation about congruences and how to build them.
-
-2005-11-15 Tuesday 01:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint_System.defs.hh (1.19), simplex.cc (1.29): In the
-	  primal simplex algorithm, better separated the first and second
-	  phase of the algorithm. Added a preprocessing flag enabling the
-	  steepest-edge technique: teh flag is enabled by default. Added a
-	  new method   bool Constraint_System::is_satisfiable(Generator&
-	  feasible_point) const; that check the satisfiability of a
-	  constraint system by the primal simplex algorithm, returning a
-	  feasible point if satisfiable.  All of the above based on
-	  implementation work by Andrea Cimino.
-
-2005-11-14 Monday 18:19  Matthew Mundell
-
-	* tests/Grid/congruences1.cc (grids.3): Add test7, where a
-	  congruence system reference is used after the zero dimension grid
-	  from which it comes has been made empty.
-
-2005-11-14 Monday 17:55  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.18): Add zero dimension construction
-	  tests.
-
-2005-11-14 Monday 17:55  Matthew Mundell
-
-	* tests/Grid/congruences1.cc (grids.2): Add test6, where a
-	  congruence system reference is used after the grid from which it
-	  comes has been made empty.
-
-2005-11-14 Monday 16:57  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, congruences1.cc (grids.[50,1]): Add
-	  congrueces1, which tests Grid::congruences().
-
-2005-11-14 Monday 16:56  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.75): Note the covering box constructor
-	  behaviour when the box is empty.  Improve the get_covering_box
-	  description.	Add the set_empty method to the methods required of
-	  the box class in the get_covering_box doc.
-
-2005-11-14 Monday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/mp_numeric_limits.hh (1.2): Fixed
-	  numeric_limits<mpz_class>::epsilon() and
-	  numeric_limits<mpz_class>::round_error(): they now return 0.
-
-2005-11-14 Monday 16:47  Matthew Mundell
-
-	* tests/Grid/maxmin1.cc (grids.2): Use check_both in test2.
-	  Implement the zero dimension universe test.
-
-2005-11-14 Monday 16:46  Matthew Mundell
-
-	* tests/Grid/coveringbox2.cc (grids.5): Add an empty fail check to
-	  operator==.  Update the boxes expected from empty grids.  Add
-	  zero dimension tests.
-
-2005-11-14 Monday 16:44  Matthew Mundell
-
-	* tests/Grid/boundingbox2.cc (grids.3): Add an empty fail check to
-	  operator==.  Add zero dimension tests.
-
-2005-11-14 Monday 16:42  Matthew Mundell
-
-	* src/Grid_public.cc (grids.87): In Grid(dims,kind),
-	  add_recycled_congruences(cgs) and
-	  add_recycled_congruences_and_minimize(cgs) call set_empty instead
-	  of setting the empty flag directly.
-
-	  In congruences() adjust the assertion on the number of cols for
-	  the modulus and constant term columns.
-
-	  Improve and correct some comments.  Neaten the OK zero dimension
-	  universe check.
-
-2005-11-14 Monday 16:32  Matthew Mundell
-
-	* src/Grid_minimize.cc (grids.22): In both minimize methods assert
-	  that there are the minimum required number of columns.
-
-2005-11-14 Monday 16:30  Matthew Mundell
-
-	* src/Grid_Certificate.cc (grids.6): Use gr instead of cgr, for
-	  consistency.
-
-2005-11-14 Monday 16:29  Matthew Mundell
-
-	* src/: Grid.inlines.hh, Grid_nonpublic.cc (grids.[40,40]): In
-	  set_empty make con_sys false.
-
-	  Add a zero dimension universe case to max_min.
-
-	  Take out an old topology comment.
-
-	  In construct(ccgs) insert the integrality congruence when the
-	  dimension is greater than zero, and only check for false
-	  congruences in dimension zero when there are two or more columns
-	  in the given congruence system.
-
-	  In the box constructors and construct(const_gs,bool) call
-	  set_empty instead of setting the empty flag directly.
-
-	  In get_covering_box add a zero dimension check and set the box
-	  empty when the grid is empty.  In shrink_bounding_box add a zero
-	  dimension check and take out a redundant check for rows in the
-	  generator system.
-
-2005-11-14 Monday 16:08  Matthew Mundell
-
-	* src/Congruence_System.inlines.hh (grids.10): Ensure that the
-	  modulus and constant term columns always exist.
-
-2005-11-14 Monday 16:05  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.29): Neaten formatting.
-
-2005-11-14 Monday 16:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.177): Special Doxygen commands such as
-	  \subsection gets confused by line breaks.
-
-2005-11-14 Monday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.110): Corrected a typo in the
-	  documentation.
-
-2005-11-14 Monday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.43): Class documentation improved a
-	  little.
-
-2005-11-14 Monday 15:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.83): Helper functions min_assign() and
-	  max_assign() renamed as assign_min() and assign_max() for
-	  consistency with those defined in checked.defs.hh.
-
-2005-11-14 Monday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.60), devref.doxyconf-latex.in
-	  (1.4): Also consider BD shapes when building the developers'
-	  manual.
-
-2005-11-14 Monday 10:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.42): A few documentation improvements.
-
-2005-11-14 Monday 10:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BDS_Status.idefs.hh (1.10): Typo corrected in the
-	  documentation.
-
-2005-11-14 Monday 10:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Checked_Number.inlines.hh (1.41), Native_Integer.inlines.hh
-	  (1.16): Avoid a few redundant template qualifications.
-
-2005-11-14 Monday 09:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.defs.hh (1.13): Unneeded friend declaration removed.
-
-2005-11-14 Monday 08:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/DB_Row.inlines.hh (1.11): In new method
-	  DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const
-	  U& y) using y's public indexing operator [] instead of accessing
-	  the private member y.vec_.
-
-2005-11-13 Sunday 23:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.82), tests/BD_Shape/affineimage8.cc
-	  (1.6): Further improvement in the coding as well as precision of
-	  the general case of affineimage. The known result of
-	  affineimage8.cc changed accordingly.
-
-2005-11-13 Sunday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.defs.hh (1.15): Compiler warnings avoided.
-
-2005-11-13 Sunday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.3): Completed.
-
-2005-11-13 Sunday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: DB_Row.defs.hh (1.12), DB_Row.inlines.hh (1.10): New
-	  signature and definition of method void
-	  DB_Row_Impl_Handler<T>::Impl::construct_upward_approximation(const
-	  U& y).
-
-2005-11-13 Sunday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: globals.defs.hh (1.25), globals.inlines.hh (1.13): Removed
-	  no longer used function compute_capacity() using a single
-	  argument; always use the function also taking the maximum
-	  capacity as second argument.
-
-2005-11-13 Sunday 18:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: DB_Matrix.defs.hh (1.8), DB_Matrix.inlines.hh (1.8): Using
-	  max_num_rows() and max_num_columns() where appropriate.  Methods
-	  ascii_dump and ascii_load and the destructor should not be
-	  virtual.
-
-2005-11-13 Sunday 18:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc (1.86), Matrix.inlines.hh (1.46): Using
-	  max_num_columns() where appropriate.
-
-2005-11-13 Sunday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.81): Added a first, tentative
-	  implementation of template <typename T> template <typename U>
-	  BD_Shape<T>::BD_Shape(const BD_Shape<U>& y).
-
-2005-11-13 Sunday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.41): Deckared a new template constructor
-	  template <typename U> explicit BD_Shape(const BD_Shape<U>& y): it
-	  builds a conservative, upward approximation of `y'.
-
-2005-11-13 Sunday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.inlines.hh (1.7): Added a first implementation of
-	  template <typename T> template <typename U>
-	  DB_Matrix<T>::DB_Matrix(const DB_Matrix<U>& y).  Added the
-	  inclusion of checked.defs.hh, which is needed to get access to
-	  the compute_capacity() functions.
-
-2005-11-13 Sunday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Matrix.defs.hh (1.7): Declared new template constructor
-	  template <typename T> template <typename U> explicit
-	  DB_Matrix<T>::DB_Matrix(const DB_Matrix<U>& y): it constructs a
-	  conservative approximation of `y'.  All DB_Matrix classes are now
-	  friends of each other.
-
-2005-11-13 Sunday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.inlines.hh (1.9): Added (not yet operational)
-	  skeletons for the implementation of template <typename T>
-	  template <typename U> void
-	  DB_Row<T>::construct_upward_approximation(const DB_Row<U>& y,
-	  dimension_type capacity) and template <typename T> template
-	  <typename U> void
-	  DB_Row_Impl_Handler<U>::Impl::construct_upward_approximation(const
-	  typename DB_Row_Impl_Handler<U>::Impl& y).
-
-2005-11-13 Sunday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/DB_Row.defs.hh (1.11): Declared new method template <typename
-	  T> template <typename U> void
-	  DB_Row<T>::construct_upward_approximation(const DB_Row<U>& y,
-	  dimension_type capacity).  Declared new method template <typename
-	  T> template <typename U> void
-	  DB_Row_Impl_Handler<U>::Impl::construct_upward_approximation(const
-	  typename DB_Row_Impl_Handler<U>::Impl& y).  Comments improved.
-
-2005-11-12 Saturday 17:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: addspacedims5.cc (1.7), addspacedims6.cc (1.7),
-	  affineimage10.cc (1.3), affineimage8.cc (1.5), affineimage9.cc
-	  (1.5), affinepreimage5.cc (1.4), ascii_dump_load1.cc (1.7),
-	  ascii_dump_load2.cc (1.6), cc76extrapolation4.cc (1.6),
-	  constraints1.cc (1.7), equality1.cc (1.7), exceptions1.cc (1.7),
-	  exceptions2.cc (1.6), exceptions3.cc (1.8),
-	  generalizedaffineimage13.cc (1.3), generalizedaffineimage14.cc
-	  (1.7), limitedCC76extrapolation2.cc (1.6),
-	  limitedCC76extrapolation3.cc (1.6), mapspacedims2.cc (1.6),
-	  mapspacedims3.cc (1.5), relations1.cc (1.8), relations2.cc (1.8),
-	  relations3.cc (1.7), relations4.cc (1.6), relations5.cc (1.8),
-	  removespacedims2.cc (1.6), removespacedims3.cc (1.6): Using the
-	  anonymous namespace instead of declaring static functions.
-
-2005-11-12 Saturday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/affineimage10.cc (grids.1): file affineimage10.cc
-	  was added on branch grids on 2005-11-23 13:24:07 +0000
-
-2005-11-12 Saturday 13:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: lib-ld.m4 (1.3), lib-link.m4 (1.2), lib-prefix.m4 (1.3):
-	  Updated from Gettext 0.14.5.
-
-2005-11-12 Saturday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.197): Consistently use uppercase letters to
-	  specify (placeholders for) configuration options' arguments.
-	  Systematically use AC_HELP_STRING to format help messages.
-
-2005-11-12 Saturday 13:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* CREDITS (1.21), NEWS (1.164): Corrected a typo.
-
-2005-11-12 Saturday 13:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* README.configure (1.15): Corrected a couple of typos.
-
-2005-11-11 Friday 17:29  Matthew Mundell
-
-	* src/: Grid_public.cc, Grid.inlines.hh (grids.[86,39]): Inline
-	  method is_empty.  In is_empty add more fast-fail tests and
-	  minimize only the congruence system in the last-resort test.
-
-2005-11-11 Friday 17:25  Matthew Mundell
-
-	* src/: Grid_Status.cc, Grid_Status.idefs.hh,
-	  Grid_Status.inlines.hh (grids.[4,4,3]): Gridify the Grid_Status
-	  comments.
-
-2005-11-11 Friday 17:23  Matthew Mundell
-
-	* doc/definitions.dox (grids.8): Add anchor grid_space_dimensions.
-	  Refer to affine_function instead of affine_transformation.
-
-2005-11-11 Friday 17:03  Matthew Mundell
-
-	* tests/Grid/affinepreimage1.cc (grids.6): Correct expected result
-	  in test16.
-
-2005-11-11 Friday 15:35  Matthew Mundell
-
-	* src/Congruence_System.inlines.hh (grids.9): Only qualify the
-	  namespace of insert(cg) once.
-
-2005-11-11 Friday 15:32  Matthew Mundell
-
-	* src/Generator_System.defs.hh (grids.6): Document all parameters
-	  in a method when some are documented.
-
-2005-11-11 Friday 15:29  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.74): Improve the class description.
-	  Update to the newly named affine_function and
-	  generalized_affine_relation anchors.	Use \cL for grids instead
-	  of \cP.  Document the space dimension changing behaviour of
-	  map_space_dimension.	Document all parameters when some are
-	  documented.  Correct the return value documentation for the
-	  simplify methods.
-
-2005-11-10 Thursday 21:28  Matthew Mundell
-
-	* src/Grid_public.cc (grids.85): Add colon between namespace and
-	  class in comment.
-
-2005-11-10 Thursday 21:28  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.73): Convert the class doc examples into
-	  grid examples.  Correct a parameter name.
-
-2005-11-10 Thursday 21:26  Matthew Mundell
-
-	* src/Generator.defs.hh (grids.9): Keep Congruence_System as a
-	  friend.
-
-2005-11-10 Thursday 21:21  Matthew Mundell
-
-	* tests/Grid/: affineimage1.cc, affinepreimage1.cc (grids.[7,5]):
-	  Add three simple tests.
-
-2005-11-10 Thursday 19:14  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh (grids.[14,24]): Add
-	  method throw_invalid_argument.  Use it in
-	  throw_dimension_incompatible.  In the constructors that take
-	  constraints move the check that the constraint is an equality to
-	  come before the construction of the underlying row.
-
-2005-11-10 Thursday 18:31  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh,
-	  Congruence_System.inlines.hh, Constraint.defs.hh
-	  (grids.[28,19,8,7]): In insert(cg) use add_recycled_row instead
-	  of add_row when a resized copy of cg is created, and call
-	  num_rows() in place instead of using a variable.
-
-	  Inline insert(cg).
-
-	  Doc the strong normalization of the insert methods.
-
-2005-11-10 Thursday 18:23  Matthew Mundell
-
-	* src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh
-	  (grids.[4,3,3]): Add add_recycled_row(Row&).	Move the bulk of
-	  add_row to add_recycled_row.	Call add_recycled_row from add_row.
-	  Inline add_row.
-
-2005-11-10 Thursday 18:16  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh (grids.[13,23]): Add
-	  Congruence(c, sz, capacity).
-
-2005-11-10 Thursday 15:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.80): Corrected a bug in method
-	  ascii_load().
-
-2005-11-10 Thursday 14:07  Matthew Mundell
-
-	* src/: Congruence.defs.hh, scalar_products.cc,
-	  scalar_products.defs.hh (grids.[22,3,3]): Take out
-	  scalar_product_assign(.., ref) and
-	  reduced_scalar_product_assign(.., ref), which were required by an
-	  older form of Congruence_System::satisfies_all_congruences.
-
-2005-11-10 Thursday 13:41  Matthew Mundell
-
-	* src/: Congruence_System.defs.hh, Congruence_System.inlines.hh
-	  (grids.[18,7]): Make the ascii_dump and ascii_load documentation
-	  implementation details.  Take out
-	  Congruence_System(n_rows,n_cols).  Keep has_linear_equalities().
-
-2005-11-10 Thursday 12:31  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, topclosure1.cc (grids.[49,1]): Add
-	  topclosure1, which tests Grid::topological_closure_assign().
-
-2005-11-10 Thursday 12:29  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_public.cc
-	  (grids.[72,38,84]): Declare and implement
-	  topological_closure_assign().
-
-2005-11-10 Thursday 11:57  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, membytes1.cc, membytes2.cc
-	  (grids.[48,1,1]): Add membytes1 and membytes2, to exercise
-	  Grid::total_memory_in_bytes() and
-	  Grid::external_memory_in_bytes().
-
-2005-11-10 Thursday 11:56  Matthew Mundell
-
-	* src/Grid_widenings.cc (grids.6): Rename parameter selected_cgs as
-	  cgs_selected.
-
-2005-11-10 Thursday 11:55  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_minimize.cc,
-	  Grid_nonpublic.cc, Grid_public.cc (grids.[71,37,21,39,83]): Doc
-	  param convert_rays_to_lines in Grid(gs, convert_rays_to_lines).
-	  Neaten some comment widths.  Make the add_space_dimensions
-	  methods private.  Note in docs where Grid maths symbols must be
-	  used.  Doc the return of ascii_load formally.  Shorten the
-	  convert_rays_to_lines param doc for construct(gs,
-	  convert_rays_to_lines).  Use "minimize" instead of "reduce" and
-	  "generator system" instead of "parameter system".  Improve a few
-	  method descriptions.
-
-	  Enable method total_memory_in_bytes.	Take out the remaining
-	  pending row methods, strongly_minimize_congruences and
-	  strongly_minimize_generators.
-
-	  Void the return from minimize(cgs,ls).  Swap the return cases in
-	  minimize(gs,cgs) to match the other methods that return an
-	  indication of the grid's emptiness.
-
-2005-11-08 Tuesday 21:46  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.70): Correct and neaten comments.
-	  Document the parameters in the shrink and get bounding box
-	  methods.  Document the return in
-	  add_recycled_constraints_and_minimize.  Move the
-	  join_assign_and_minimize declaration to match the Polyhedron
-	  ordering.
-
-2005-11-08 Tuesday 20:25  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, disjoint1.cc (grids.[47,1]): Add
-	  disjoint1, which tests Grid::is_disjoint_from().
-
-2005-11-08 Tuesday 20:24  Matthew Mundell
-
-	* tests/Grid/contains1.cc (grids.4): Improve comments, messages and
-	  a variable name.
-
-2005-11-08 Tuesday 20:22  Matthew Mundell
-
-	* src/Grid_widenings.cc (grids.5): In limited_extrapolation_assign
-	  check dimension compatibility before falling back to the ordinary
-	  widening.
-
-2005-11-08 Tuesday 20:16  Matthew Mundell
-
-	* src/Grid_public.cc (grids.82): Enable the is_disjoint_from
-	  definition.  In intersection_assign pass true only to y.OK, as x
-	  can be empty.  Update a temporary comment.  In OK use
-	  "unsatisfiable" instead fo "insoluble".  Neaten a comment.
-
-2005-11-08 Tuesday 20:11  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.36): Take out is_necessarily_closed()
-	  and topology().
-
-2005-11-08 Tuesday 20:10  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.69): Neaten and correct comments.
-
-2005-11-08 Tuesday 19:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.79), tests/BD_Shape/Makefile.am
-	  (1.24), tests/BD_Shape/minconstraints1.cc (1.1): Corrected a few
-	  bugs in minimized_constraints(); added a new test for it.  The
-	  ascii_dump() and ascii_load() methods now also write/read the
-	  matrix encoding redundancy information.
-
-2005-11-08 Tuesday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/minconstraints1.cc (grids.1): file
-	  minconstraints1.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-11-08 Tuesday 17:54  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.17): Align copyright line.
-
-2005-11-08 Tuesday 17:54  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.68): Document the length_error exceptions
-	  that occur in many constructors.  Mention copying the given
-	  system in the brief descriptions for many constructors.  Improve
-	  formatting and correct typos in a few comments.
-
-2005-11-08 Tuesday 17:52  Matthew Mundell
-
-	* src/Grid_public.cc (grids.81): In the copy constructor create
-	  gen_sys NECESSARILY_CLOSED and assert that the given gen_sys was
-	  NECESSARILY_CLOSED.  Move operator= to match the order of method
-	  declarations.
-
-2005-11-08 Tuesday 17:50  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.35): Move box constructors to follow
-	  other constructors.
-
-2005-11-08 Tuesday 17:41  Matthew Mundell
-
-	* TODO (grids.15): Complete upper_bound_assign_and_minimize item.
-
-2005-11-08 Tuesday 16:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.78): Corrected a couple of stupid bugs
-	  in the copy constructor and assignment operator of BD_Shape.	A
-	  few useful functions related to the computation of leaders have
-	  been extracted from shortest_path_reduction_assign(), so as to
-	  factor common code in minimized_constraints() and
-	  affine_dimension().  The method minimized_constraints() should
-	  now return a constraint system in minimal form, exploiting
-	  redundancy information. The method constraints() now invokes
-	  minimized_constraints() if the BD_Shape is known to be reduced.
-
-2005-11-08 Tuesday 14:09  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, addcongruences1.cc (grids.[46,1]): Add
-	  addcongruences1, to test methods which add multiple congruences
-	  to a grid.
-
-2005-11-08 Tuesday 14:08  Matthew Mundell
-
-	* tests/Grid/grid3.cc (grids.5): Align copyright line.
-
-2005-11-08 Tuesday 14:07  Matthew Mundell
-
-	* tests/Grid/addcongruence1.cc (grids.6): Improve title comment.
-	  Add namespace with shared Variables.
-
-2005-11-08 Tuesday 13:41  Matthew Mundell
-
-	* tests/Grid/: grid3.cc, Makefile.am, addconstraint1.cc,
-	  addconstraints1.cc (grids.[4,45,1,10]): Add grid3, which tests
-	  construction of grids from constraints.
-
-	  Add addconstraint1, which tests adding single constraints to
-	  grids.  Move the single-constraint adding tests from
-	  addconstraints1 to addconstraint1.
-
-	  Add tests for add_constraints_and_minimize(cs),
-	  add_recycled_constraints(cs) and
-	  add_recycled_constraints_and_minimize(cs) to addconstraints1.
-
-2005-11-08 Tuesday 13:32  Matthew Mundell
-
-	* TODO, src/Grid.defs.hh, src/Grid_public.cc (grids.[14,67,80]):
-	  Add Grid(cs), add_constraint_and_minimize(c),
-	  add_constraints_and_minimize(cs), add_recycled_constraints(cs)
-	  and add_recycled_constraints_and_minimize(cs).
-
-	  In all of the constraint adding methods allow the addition of any
-	  kind of constraint (instead of only equalities).  In
-	  add_constraints(cs) use Congruence_System(cs) to add the
-	  constraints.
-
-	  Improve some method descriptions.
-
-2005-11-08 Tuesday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: affineimage8.cc (1.4), affineimage9.cc (1.4),
-	  generalizedaffineimage14.cc (1.6): Some suspect constraints in
-	  the known_results have been commented out.  They have to be
-	  carefully checked to see of they are really wanted.
-
-2005-11-08 Tuesday 12:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/affineimage10.cc (1.2): Do not be noisy.
-
-2005-11-08 Tuesday 12:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: ch78widening4.cc (1.5),
-	  generalizedaffineimage1.cc (1.6): Avoid lines that are too long.
-	  Removed a few (unnecessary) blank lines.
-
-2005-11-08 Tuesday 12:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.77): Corrected a bug in affine_image()
-	  whereby incorrect bounds for binary constraints could have been
-	  deduced.  In the invariant-checking method OK(), we now also
-	  check that no entry of the dbm has value MINUS_INFINITY; if the
-	  dbm is marked as shortest-path reduced, then we check that the
-	  dbm entry for a non-redundant constraint has a finite value.
-
-2005-11-08 Tuesday 11:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.76): Got rid of the wrong version of
-	  div_round_up().
-
-2005-11-07 Monday 18:29  Matthew Mundell
-
-	* tests/Grid/griddifference1 (grids.2): Remove file added in error
-	  earlier.
-
-2005-11-07 Monday 18:24  Matthew Mundell
-
-	* tests/Grid/maxmin1.cc (grids.1): Add maxmin1, which tests
-	  Grid::maximize(le&, ...) and Grid::minimize(le&, ...).
-
-2005-11-07 Monday 18:20  Matthew Mundell
-
-	* tests/Grid/addconstraints1.cc (grids.9): Add test10, for
-	  add_recycled_congruences_and_minimize(cs).
-
-2005-11-07 Monday 18:20  Matthew Mundell
-
-	* src/Grid.defs.hh, src/Grid_public.cc, TODO (grids.[66,79,13]):
-	  Add add_recycled_congruences_and_minimize(cs).
-
-2005-11-07 Monday 18:07  Matthew Mundell
-
-	* tests/Grid/addconstraints1.cc (grids.8): Add test9, for
-	  add_recycled_congruences(cs).
-
-2005-11-07 Monday 18:07  Matthew Mundell
-
-	* TODO, src/Grid.defs.hh, src/Grid_public.cc (grids.[12,65,78]):
-	  Add add_recycled_congruences(cs).  Add a dimension compatibility
-	  check to add_congruences(cgs).
-
-2005-11-07 Monday 17:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.23), affineimage10.cc (1.1): A
-	  test that was showing a bug in the old implementation of affine
-	  images.
-
-2005-11-07 Monday 17:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BDS_Status.idefs.hh (1.9), BDS_Status.inlines.hh (1.7),
-	  BD_Shape.defs.hh (1.40), BD_Shape.inlines.hh (1.75): A BD_Shape
-	  representation now also carries a dbm matrix of Boolean values,
-	  indicating whether or not the corresponding dbm entry is
-	  redundant.  The new matrix is meaningful only if the BDS_Status
-	  test	   marked_shortest_path_reduced() returns true, otherwise
-	  it is meaningless. Note that a dbm can be shortest-path reduced
-	  only if it is also shortest-path closed.  The redundancy
-	  information is established by shortest_path_reduction_assign()
-	  and is lost as soon as we modify the representation of the
-	  BD_Shape.  That is, currently no effort is done to keep it
-	  up-to-date. Moreover, when we reset the shortest-path closure
-	  flag, then the reduction flag is reset too.
-
-	  Added private helper methods	   add_dbm_constraint() that allow
-	  for the addition of a difference bound constraint without
-	  encoding it into a Constraint object. The method is particularly
-	  used in the computation of affine images.
-
-	  The methods computing affine images and preimages rewritten
-	  (almost) from scratch. (The old implementations, were not
-	  behaving correctly when the denominator was negative or when
-	  considering generalized images).
-
-	  Added a lot of const qualifications; avoided some dbm's
-	  coefficient copies, preferring the use of references instead.
-
-2005-11-07 Monday 16:52  Matthew Mundell
-
-	* src/Grid_public.cc (grids.77): Implement add_congruences and
-	  add_congruences_and_minimize via Congruence_System(cs).
-
-2005-11-07 Monday 16:52  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh
-	  (grids.[27,17]): Add Congruence_System(Constraint_System&).  Move
-	  the normalize_moduli definition into order.
-
-2005-11-07 Monday 16:40  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.53): Don't add nothing to std
-	  namespace.
-
-2005-11-07 Monday 16:30  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.52): Fixed argument order.
-
-2005-11-07 Monday 16:27  Abramo Bagnara
-
-	* src/checked_mpq.inlines.hh (1.26): Added add_mul and sub_mul.
-
-2005-11-07 Monday 14:35  Matthew Mundell
-
-	* tests/Grid/addconstraints1.cc (grids.7): Add test8, for
-	  add_congruences(cs).
-
-2005-11-07 Monday 14:35  Matthew Mundell
-
-	* src/Grid.defs.hh, src/Grid_public.cc, TODO (grids.[64,76,11]):
-	  Add add_congruences(cs).  In add_congruences_and_minimize(cs) add
-	  the congruences with add_recycled_congruences_and_minimize.
-
-2005-11-07 Monday 12:04  Matthew Mundell
-
-	* src/Congruence_System.defs.hh (grids.16): Narrow a comment.
-
-2005-11-07 Monday 12:01  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, griddifference1 (grids.[44,1]): Add
-	  maxmin1, which tests Grid::maximize(le&, ...) and
-	  Grid::minimize(le&, ...).
-
-2005-11-07 Monday 11:59  Matthew Mundell
-
-	* tests/Grid/bounds1.cc (grids.2): Match expected values to updated
-	  method behaviour.
-
-2005-11-07 Monday 11:58  Matthew Mundell
-
-	* src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid_nonpublic.cc,
-	  TODO (grids.[63,34,38,10]): Separate parameters with semicolons
-	  in descriptions.  Add minimize and maximize methods.	Match the
-	  behaviours of bounds_from_above and bounds_from_below to the
-	  Polyhedron versions.
-
-2005-11-05 Saturday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.176), interfaces/C/ppl_c.h.in (1.55),
-	  interfaces/Prolog/Prolog_interface.dox (1.135),
-	  src/BD_Shape.defs.hh (1.39), src/Constraint_System.defs.hh
-	  (1.18), src/Determinate.defs.hh (1.58),
-	  src/Polyhedra_Powerset.defs.hh (1.25), src/Polyhedron.defs.hh
-	  (1.284): In definitions.doc we were bricolating our own
-	  sectioning with <B> and </B> tags.  Started using Doxygen's
-	  \subsection command.	Started using label names that are easily
-	  obtained from the section or subsection title.  This is less
-	  likely to generate conflicts, but a better scheme must be devised
-	  that can work across the entire library's documentation.
-
-2005-11-05 Saturday 08:59  Abramo Bagnara
-
-	* tests/BD_Shape/run_tests (1.7): Remove dirty marker only after
-	  all is clean.
-
-2005-11-05 Saturday 08:30  Abramo Bagnara
-
-	* src/: Float.defs.hh (1.14), checked_float.inlines.hh (1.51):
-	  *_BITS constants are unsigned.
-
-2005-11-04 Friday 22:22  Abramo Bagnara
-
-	* tests/BD_Shape/run_tests (1.6): Avoid initial make clean.
-
-2005-11-04 Friday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/closure1.cc (1.2): Fixed a copy and paste mistake.
-
-2005-11-04 Friday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ppl_test.hh (1.29), BD_Shape/run_tests (1.5): Do not
-	  define TBD_Shape: define BD_SHAPE_INSTANCE instead.
-
-2005-11-04 Friday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.22), closure1.cc (1.1): Draft
-	  test to check closure more seriously (it does not work as
-	  expected at the moment).
-
-2005-11-04 Friday 14:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.74): Old code for div_round_up()
-	  temporarily restored, since some (wrong) tests depend on it.
-
-2005-11-04 Friday 13:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.cc (grids.1): file Float.cc was added on branch grids
-	  on 2005-11-23 13:24:06 +0000
-
-2005-11-04 Friday 13:58  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.36), Float.cc (1.2),
-	  Float.defs.hh (1.13), Float.inlines.hh (1.14),
-	  Native_Integer.defs.hh (1.14), Native_Integer.inlines.hh (1.15),
-	  checked_ext.inlines.hh (1.23), checked_float.inlines.hh (1.50),
-	  checked_int.inlines.hh (1.41), float.types.hh (1.12): Fixed use
-	  of native types also when identical to others.
-
-2005-11-04 Friday 12:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.73): Reimplemented div_round_up().
-
-2005-11-04 Friday 11:16  Matthew Mundell
-
-	* tests/Grid/bounded1.cc (grids.2): Add test12, in which every
-	  generator is the same point.
-
-2005-11-04 Friday 11:15  Matthew Mundell
-
-	* src/Grid_public.cc (grids.75): In is_bounded use the generator
-	  system in any form.
-
-2005-11-04 Friday 11:13  Matthew Mundell
-
-	* tests/Grid/topclosed1.cc (grids.3): Take out the find_variation
-	  directive.
-
-2005-11-04 Friday 11:12  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, bounds1.cc (grids.[43,1]): Add bounds1,
-	  which tests Grid::bounds_from_above and Grid::bounds_from_below.
-
-2005-11-04 Friday 11:11  Matthew Mundell
-
-	* src/Grid.defs.hh, src/Grid.inlines.hh, src/Grid_nonpublic.cc,
-	  TODO (grids.[62,33,37,9]): Add methods bounds, bounds_from_above
-	  and bounds_from_below.  Reorder a few method definitions.
-
-2005-11-04 Friday 07:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.175): Removed some spurious percent signs.
-
-2005-11-03 Thursday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.158): Begging for a coding guideline as far as the use of
-	  (checked) arithmetic functions is concerned.
-
-2005-11-03 Thursday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: definitions.dox (1.174), ppl.sty (1.22): Added a draft new
-	  section on "Integers Represented by Floating Point Numbers".
-	  This contains results that are needed to prove the correctness of
-	  our implementation of the GCD and LCM operations.  (Joint work
-	  with Alessandro Zaccagnini and Abramo Bagnara.)
-
-2005-11-03 Thursday 14:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpz.inlines.hh (1.31): Be more robust in the
-	  definition of mp_size_field_t.
-
-2005-11-03 Thursday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.196): Added a safeguard against possible changes
-	  in the implementation of GMP.
-
-2005-11-03 Thursday 10:58  Abramo Bagnara
-
-	* src/checked_mpz.inlines.hh (1.30): mp_size_t is not the size of
-	  size field.
-
-2005-11-03 Thursday 08:06  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.49): Avoid useless #if
-
-2005-11-02 Wednesday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (1.7): Added missing access control
-	  specification.
-
-2005-11-02 Wednesday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Float.defs.hh (1.12), Polyhedron_nonpublic.cc (1.57):
-	  Spurious semicolons removed.
-
-2005-11-02 Wednesday 21:07  Matthew Mundell
-
-	* TODO (grids.8): Complete operation is_bounded.
-
-2005-11-02 Wednesday 21:06  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, bounded1.cc (grids.[42,1]): Add
-	  bounded1, which tests Grid::is_bounded.
-
-2005-11-02 Wednesday 21:05  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_public.cc (grids.[61,74]): Add method
-	  is_bounded.
-
-2005-11-02 Wednesday 20:45  Matthew Mundell
-
-	* TODO (grids.7): Complete operation affine_dimension.
-
-2005-11-02 Wednesday 20:43  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_nonpublic.cc (grids.[60,36]): To
-	  normalize_divisors(gs,div) add third argument first_point, which
-	  implies that all points in gs have the same divisor.	Use this
-	  argument in normalize_divisors(gs,gs).
-
-2005-11-02 Wednesday 19:49  Matthew Mundell
-
-	* src/Grid_public.cc (grids.73): In is_topologically_closed search
-	  for a single parameter or proper congruence, instead of checking
-	  the counts of these.
-
-2005-11-02 Wednesday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.4): The long double incarnation of
-	  checked numbers is still not ready: do not test with it for the
-	  time being.
-
-2005-11-02 Wednesday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Float.cc (1.1), Makefile.am (1.128): Obey verse 9.4.2.4 of
-	  the C++ standard: "The [static const data] member shall still be
-	  defined in a namespace scope if it is used in the program and the
-	  namespace scope definition shall not contain an initializer."
-
-2005-11-02 Wednesday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/float.types.hh (1.11): Do not define symbols in the global
-	  namespace.
-
-2005-11-02 Wednesday 11:32  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, affinedim1.cc (grids.[41,1]): Add
-	  affinedim1, which tests Grid::affine_dimension().
-
-2005-11-02 Wednesday 11:31  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.26): In increase_space_dimension
-	  only add columns when more columns are requested (instead of
-	  always ensuring that the modulus and constant term column exist).
-
-2005-11-02 Wednesday 11:28  Matthew Mundell
-
-	* src/Grid_public.cc (grids.72): Enable and implement method
-	  affine_dimension.  In minimized_congruences and
-	  minimized_generators minimize only the required system.  In
-	  generators always set the topology to NECESSARILY_CLOSED.
-
-2005-11-02 Wednesday 11:22  Abramo Bagnara
-
-	* src/Float.defs.hh (1.11): Fixed typo.
-
-2005-11-01 Tuesday 18:45  Matthew Mundell
-
-	* TODO (grids.6): Complete operators is_topologally_closed and
-	  shrink_bounding_box.
-
-2005-11-01 Tuesday 18:44  Matthew Mundell
-
-	* tests/Grid/topclosed1.cc (grids.2): Replace function
-	  topclosed1_equal with copy_compare (in ppl_test.hh).	Correct
-	  error messages.
-
-2005-11-01 Tuesday 18:42  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.13): Add function copy_compare(Grid&,
-	  Grid&).
-
-2005-11-01 Tuesday 18:41  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, pointed1.cc (grids.[40,1]): Add
-	  pointed1, which tests Grid::is_pointed().
-
-2005-11-01 Tuesday 18:40  Matthew Mundell
-
-	* src/: Grid_public.cc, Grid.defs.hh (grids.[71,59]): Add the
-	  definition and improve the doc description of is_pointed.
-
-2005-11-01 Tuesday 14:51  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, topclosed1.cc (grids.[39,1]): Add
-	  topclosed1, which tests Grid::is_topologically_closed().
-
-2005-11-01 Tuesday 14:49  Matthew Mundell
-
-	* src/Grid_public.cc (grids.70): Implement method
-	  is_topologically_closed.
-
-2005-11-01 Tuesday 14:26  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.11): Add test8, in which the
-	  added generator has a divisor.  Only call find_variation on the
-	  grid under test.
-
-2005-11-01 Tuesday 14:24  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_nonpublic.cc (grids.[58,35]): In
-	  normalize_divisors(gs,coeff) read the initial divisor of gs into
-	  a temporary before the divisor modifying loop.  In the same loop
-	  only multiply the generator when the factor is greater than one.
-	  Improve the description of this method, and improve slightly the
-	  descriptions of a few others.
-
-	  In normalize_divisors(gs,gs) access the divisor via the array
-	  operator instead of the divisor method.
-
-2005-11-01 Tuesday 14:03  Abramo Bagnara
-
-	* src/: Float.defs.hh (1.10), checked_float.inlines.hh (1.48):
-	  Simpler overflow return.
-
-2005-11-01 Tuesday 14:02  Abramo Bagnara
-
-	* src/: checked_mpq.inlines.hh (1.25), checked_mpz.inlines.hh
-	  (1.29): Simplified assign when available in lower level class.
-
-2005-11-01 Tuesday 01:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/checked_ext.inlines.hh (1.22): Corrected a bug in sub_ext()
-	  whereby subtracting any finite value from PLUS_INFINITY resulted
-	  in MINUS_INFINITY (and vice versa).
-
-2005-11-01 Tuesday 01:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Checked_Number.cc (1.8): Minor improvements in the exception
-	  messages.
-
-2005-10-31 Monday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.3): Test also with long doubles.
-
-2005-10-31 Monday 22:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.13): Spurious redeclaration removed.
-
-2005-10-31 Monday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.12): Spurious incomplete statement
-	  removed.
-
-2005-10-31 Monday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.11): Wrong syntax for static_cast fixed.
-
-2005-10-31 Monday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.47): An instance of float127_t
-	  changed to float128_t.
-
-2005-10-31 Monday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Float.defs.hh (1.9), Float.inlines.hh (1.10),
-	  float.types.hh (1.10): The <stdint.h> header file was included
-	  unnecessarily in float.types.hh and not included in Float.defs.hh
-	  and Float.inlines.hh.
-
-2005-10-31 Monday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.28): Define the utility type `long_double'.
-
-2005-10-31 Monday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.127): Added the dependency of ppl_install.hh
-	  on $(INCLUDE_FILES).	Reformatted some rules for consistency.
-
-2005-10-31 Monday 20:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/float.types.hh (1.9): Define FLOAT96_TYPE or FLOAT128_TYPE
-	  depending on SIZEOF_LONG_DOUBLE.  Definition of float128_t fixed.
-
-2005-10-31 Monday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/Makefile.am (1.21): Last change was only
-	  half-made: completed.
-
-2005-10-31 Monday 13:59  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.35), Checked_Number.inlines.hh
-	  (1.40): Added copy constructor and operator=.
-
-2005-10-31 Monday 13:58  Abramo Bagnara
-
-	* src/: checked.defs.hh (1.26), checked.inlines.hh (1.26),
-	  checked_float.inlines.hh (1.46), checked_int.inlines.hh (1.40),
-	  checked_mpq.inlines.hh (1.24), checked_mpz.inlines.hh (1.28):
-	  Added copy function. Fixed float output.
-
-2005-10-31 Monday 07:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/Makefile.am (1.20): The `run_tests' script is now
-	  distributed.
-
-2005-10-30 Sunday 18:53  Matthew Mundell
-
-	* tests/Grid/: addconstraints1.cc, addspacedims1.cc,
-	  addspacedims2.cc, concatenate1.cc, congruence1.cc, contains1.cc,
-	  contains2.cc, coveringbox2.cc, griddifference1.cc,
-	  intersection1.cc, intersection2.cc, isuniverse1.cc, join2.cc,
-	  join3.cc, limitedextrapolation1.cc, removespacedims1.cc,
-	  removespacedims2.cc, timeelapse1.cc, widening1.cc
-	  (grids.[6,9,6,3,7,3,2,4,6,5,6,4,5,2,4,6,5,4,6]): Make the title
-	  comments of the tests consistent.
-
-2005-10-30 Sunday 18:51  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[57,32]): Update
-	  get_covering_box to work directly with any form of generator
-	  system and to only ever attempt to set each bound once.
-
-2005-10-30 Sunday 00:44  Matthew Mundell
-
-	* tests/Grid/coveringbox2.cc (grids.3): Add test14 and test15, to
-	  test that fractions are reduced before being assigned to
-	  intervals.
-
-2005-10-30 Sunday 00:42  Matthew Mundell
-
-	* tests/Grid/boundingbox2.cc (grids.2): Improve comment slightly.
-
-2005-10-30 Sunday 00:42  Matthew Mundell
-
-	* src/: Grid.inlines.hh, Grid.defs.hh (grids.[31,56]): In
-	  get_covering_box reduce the fraction before assigning it to the
-	  interval.
-
-2005-10-29 Saturday 20:17  Matthew Mundell
-
-	* tests/Grid/coveringbox2.cc (grids.2): Name variables
-	  consistently, improve some comments and add test13 (in which an
-	  empty grid is defined by congruences).
-
-2005-10-29 Saturday 20:16  Matthew Mundell
-
-	* tests/Grid/boundingbox1.cc (grids.7): Note that boundingbox2 also
-	  tests the constructor under test.
-
-2005-10-29 Saturday 20:15  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, boundingbox2.cc (grids.[38,1]): Add
-	  boundingbox2, which tests shrink_bounding_box(Box&).
-
-2005-10-29 Saturday 20:11  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[55,30]): Add
-	  shrink_bounding_box(Box&).  Correct two comments in
-	  get_covering_box.  Declare method is_topologically_closed.
-
-2005-10-29 Saturday 14:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/run_tests (1.2): Several improvements.
-
-2005-10-29 Saturday 14:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.27): No longer define TBD_Shape.
-
-2005-10-29 Saturday 12:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.19), run_tests (1.1): A first
-	  attempt at testing all the instantiations.
-
-2005-10-29 Saturday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.38), BD_Shape.inlines.hh (1.72): In the
-	  limited widening operators, we now avoid having to decode twice
-	  the limiting constraints (joint work with E. Mazzi).	In several
-	  places, upward loop iteration replaced by a downward one.
-
-2005-10-28 Friday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (grids.5): Added a list of TODO items for the grids branch.
-
-2005-10-28 Friday 12:38  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.29): Calculate the proper congruence
-	  coefficients in the covering box constructor via the GCD of the
-	  divisors, instead of getting the LCM of the divisors (with
-	  lcm_assign) and then repeating parts of this LCM calculation.
-	  Given that the divisors are known to be positive, this also saves
-	  the absolute value calculations that would have been performed in
-	  lcm_assign.
-
-2005-10-27 Thursday 18:10  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, boundingbox1.cc, coveringbox1.cc,
-	  coveringbox2.cc (grids.[37,6,7,1]): Add coveringbox2.  Move the
-	  coveringbox1 tests into coveringbox2, and move the boundingbox1
-	  tests into coveringbox1.  Fill boundingbox1 with tests of the
-	  bounding box constructor.
-
-2005-10-27 Thursday 18:04  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[54,28]): Add a
-	  bounding box constructor.  In the covering box constructor move
-	  the closed bound checks to come before the empty test.
-
-2005-10-27 Thursday 12:31  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.53): Add the open bound behaviour to the
-	  description of the covering box constructor.
-
-2005-10-27 Thursday 12:04  Matthew Mundell
-
-	* tests/Grid/boundingbox1.cc (grids.5): Add test11, in which a
-	  bound in the box is open.
-
-2005-10-27 Thursday 12:03  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.27): In the covering box constructor
-	  throw an exception if any bound is open.
-
-2005-10-26 Wednesday 17:47  Matthew Mundell
-
-	* src/Grid.defs.hh, src/Grid.inlines.hh,
-	  tests/Grid/boundingbox1.cc, tests/Grid/coveringbox1.cc
-	  (grids.[52,26,4,6]): Use From_Covering_Box instead of
-	  From_Bounding_Box in the Grid from box constructor.
-
-2005-10-26 Wednesday 17:44  Matthew Mundell
-
-	* src/globals.defs.hh (grids.4): Add tag class From_Covering_Box.
-
-2005-10-26 Wednesday 16:21  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.51): Improve the covering box constructor
-	  description.	Add the methods required of the box class to the
-	  get_covering_box description.
-
-2005-10-26 Wednesday 15:23  Matthew Mundell
-
-	* src/Grid_public.cc (grids.69): In OK, assert that the reduced
-	  temporary generator system defines a grid that contains points.
-
-2005-10-26 Wednesday 15:22  Matthew Mundell
-
-	* src/Grid_minimize.cc (grids.20): In the generator system minimize
-	  method assert that, after being reduced, the generator system
-	  defines a grid that contains points, instead of catering for an
-	  empty resulting grid.  Take out the Linear_Row.defs.hh include.
-	  Correct the title comment.
-
-2005-10-26 Wednesday 15:19  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.25): In get_covering_box assert that,
-	  after being reduced, the generator system defines a grid that
-	  contains points, instead of catering for an empty resulting grid.
-
-2005-10-26 Wednesday 15:14  Matthew Mundell
-
-	* src/Grid_Certificate.cc (grids.5): Simplify the
-	  Grid_Certificate(cgr) assertion that after being reduced the
-	  generator system defines a grid that contains points.
-
-2005-10-26 Wednesday 12:48  Matthew Mundell
-
-	* tests/Grid/boundingbox1.cc (grids.3): Add test10, where the box
-	  has a dimension open only from below.
-
-2005-10-26 Wednesday 12:47  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.50): Improve the descriptions of the box
-	  constructor and method get_covering_box.
-
-2005-10-26 Wednesday 12:46  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.24): In the Grid covering box
-	  constructor add an equality for each interval that is bounded
-	  only from below.
-
-2005-10-26 Wednesday 11:38  Matthew Mundell
-
-	* tests/Grid/coveringbox1.cc (grids.5): Use Bounding_Box instead of
-	  BBox.  Add a temporary Bounding_Box operator==.  Rename box to
-	  box1.  In every test add a further check which uses the Grid
-	  covering box constructor.  Always use closed bounds.
-
-2005-10-26 Wednesday 11:33  Matthew Mundell
-
-	* tests/Grid/boundingbox1.cc (grids.2): Match the expected values
-	  to the updated behaviour of the covering box constructor.
-
-2005-10-26 Wednesday 11:32  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.23): Update the covering box
-	  constructor to handle universe, empty and half open intervals in
-	  ways that match the behaviour of get_covering_box.  Always use
-	  closed bounds.
-
-2005-10-25 Tuesday 17:23  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.49): In the get_covering_box description
-	  note that the lower bounds are as close as possible to the
-	  origin, and add information about the calling guarantees.
-
-2005-10-25 Tuesday 14:33  Matthew Mundell
-
-	* tests/Grid/coveringbox1.cc (grids.4): Add test12, in which all
-	  the points have the same value in one of the dimensions.  Update
-	  the expected values in test2 so that the lower bounds are as
-	  close as possible to the origin.  Add the dimension in the test11
-	  description.
-
-2005-10-25 Tuesday 14:21  Matthew Mundell
-
-	* configure.ac, doc/Makefile.am, src/Checked_Number.defs.hh,
-	  src/Coefficient.cc, src/Coefficient.defs.hh,
-	  src/Grid_conversion.cc, src/Grid_minimize.cc,
-	  src/Grid_nonpublic.cc, src/Grid_simplify.cc,
-	  tests/Grid/affineimage1.cc, tests/Grid/coveringbox1.cc
-	  (grids.[7,5,7,3,3,21,19,34,32,6,3]): Revert files accidentally
-	  included in last change.
-
-2005-10-25 Tuesday 13:53  Matthew Mundell
-
-	* configure.ac, doc/Makefile.am, src/Checked_Number.defs.hh,
-	  src/Coefficient.cc, src/Coefficient.defs.hh, src/Grid.inlines.hh,
-	  src/Grid_conversion.cc, src/Grid_minimize.cc,
-	  src/Grid_nonpublic.cc, src/Grid_simplify.cc,
-	  tests/Grid/affineimage1.cc, tests/Grid/coveringbox1.cc
-	  (grids.[6,4,6,2,2,22,20,18,33,31,5,2]): In get_covering_box
-	  rename gcds to interval_sizes and update the algorithm to always
-	  use the smallest possible absolute values for the lower bounds.
-
-2005-10-25 Tuesday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.71): Forgot to close namespace.
-
-2005-10-25 Tuesday 10:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.37), BD_Shape.inlines.hh (1.70): Added
-	  a new function extract_bounded_difference() to factorize repeated
-	  code for decoding a constraint.  A lot of repeated code also
-	  factorized in method relation_with().  Added a private method
-	  BD_Shape<T>::get_limiting_constraints() to be used in the
-	  implementations of limited widening operators.  Prefer assign()
-	  to the direct assignment operator when assigning zero.  Removed a
-	  couple of improper usages of the Coefficient_traits template.
-
-2005-10-24 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/affinedimension1.cc (grids.1): file
-	  affinedimension1.cc was added on branch grids on 2005-11-23
-	  13:24:07 +0000
-
-2005-10-24 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.36), src/BD_Shape.inlines.hh (1.69),
-	  tests/BD_Shape/Makefile.am (1.18),
-	  tests/BD_Shape/affinedimension1.cc (1.1): Added a first
-	  implementation of new method dimension_type
-	  BD_Shape<T>::affine_dimension() const.  The new program
-	  affinedimension1.cc containts some tests for it.  (Joint work
-	  with Elena Mazzi.)
-
-2005-10-24 Monday 14:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.35), BD_Shape.inlines.hh (1.68),
-	  DB_Matrix.defs.hh (1.6), DB_Matrix.inlines.hh (1.6),
-	  DB_Row.inlines.hh (1.8), checked.defs.hh (1.25): Removed a lot of
-	  commented out stuff from DB_Row.inlines.hh.  When creating DB_Row
-	  and DB_Matrix objects, the coefficients are now initialized to
-	  the value PLUS_INFINITY.  DB_Matrix no longer has unused (and
-	  unimplemented) methods space_dimensions() and
-	  add_rows_and_columns().  BD_Shape no longer needs the method
-	  init().  In the BD_Shape implementation, added a couple of
-	  utility function that help in factoring common code.	In methods
-	  adding space dimensions, take into accoount that the newly added
-	  coefficients are already initialized to PLUS_INFINITY.  Added a
-	  lot of missing const qualifications.	The
-	  shortest_path_reduction_assign() method has been almost
-	  reimplemented from scratch: it should now be easier to move
-	  towards an implementation where shortest-path closure is not
-	  compromised by reduction.  Several comments improved.
-
-2005-10-24 Monday 14:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/DB_Row.defs.hh (1.10): Some comments reworded. An unused
-	  preprocessor variable removed.
-
-2005-10-24 Monday 14:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.140), src/Constraint_System.defs.hh
-	  (1.17), src/globals.types.hh (1.2), src/simplex.cc (1.28),
-	  tests/Polyhedron/primalsimplex1.cc (1.2),
-	  tests/Polyhedron/primalsimplex2.cc (1.2): Using a new enumerated
-	  type Optimization_Kind to specify whether the primal simplex
-	  algorithm should maximize or minimize the object function.
-
-2005-10-24 Monday 12:39  Matthew Mundell
-
-	* configure.ac (1.195): Set text_md5sum, to complete last change.
-
-2005-10-24 Monday 11:30  Matthew Mundell
-
-	* configure.ac (1.194): Take out the attempt at checking for an
-	  md5sum -t option.
-
-2005-10-22 Saturday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_sicstus_prolog.m4 (grids.1): file
-	  ac_check_sicstus_prolog.m4 was added on branch grids on
-	  2005-11-23 13:24:06 +0000
-
-2005-10-22 Saturday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_xsb_prolog.m4 (grids.1): file ac_check_xsb_prolog.m4
-	  was added on branch grids on 2005-11-23 13:24:06 +0000
-
-2005-10-22 Saturday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.193), interfaces/Prolog/SICStus/Makefile.am
-	  (1.57), interfaces/Prolog/SWI/Makefile.am (1.54),
-	  interfaces/Prolog/XSB/Makefile.am (1.37),
-	  m4/ac_check_sicstus_prolog.m4 (1.3), m4/ac_check_swi_prolog.m4
-	  (1.6), m4/ac_check_xsb_prolog.m4 (1.1): Treat SICStus, SWI and
-	  XSB Prolog in a uniform way.
-
-2005-10-22 Saturday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.163): Added blank lines to help readability.
-
-2005-10-22 Saturday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_sicstus_prolog.m4 (1.2): Make sure things work even
-	  if `sicstus' is a symbolic link.
-
-2005-10-21 Friday 21:27  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, coveringbox1.cc (grids.[36,1]): Add
-	  coveringbox1, which tests get_covering_box.
-
-2005-10-21 Friday 21:25  Matthew Mundell
-
-	* src/Grid_Certificate.cc (grids.4): Finalise calculation of number
-	  of congruences from number of generators.
-
-2005-10-21 Friday 21:25  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[48,21]): Add template
-	  get_covering_box.
-
-2005-10-21 Friday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.192), interfaces/Prolog/SICStus/Makefile.am
-	  (1.56), m4/ac_check_sicstus_prolog.m4 (1.1): New machinery to
-	  automatically detect the location where SICStus Prolog was
-	  installed.  Now, the only requirement imposed on the user is to
-	  have `sicstus' reachable from the shell's PATH.
-
-2005-10-21 Friday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.191): Version number bumped.
-
-2005-10-21 Friday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_swi_prolog.m4 (1.5): Comment fixed.
-
-2005-10-21 Friday 14:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.defs.hh (1.24): Added a couple of missing
-	  declarations of template specializations, that were causing an
-	  error to be reported by the Intel compiler.
-
-2005-10-20 Thursday 11:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.34): The Doxygen documentation is now
-	  (almost) formatted according to STANDARDS.
-
-2005-10-20 Thursday 10:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BDS_Status.idefs.hh (1.8), src/BDS_Status.inlines.hh (1.6),
-	  src/BD_Shape.defs.hh (1.33), src/BD_Shape.inlines.hh (1.67),
-	  tests/BD_Shape/ascii_dump_load2.cc (1.5): Started cleaning up the
-	  code for BD_Shape<T>.  The entailment clsoure method ofr BDSs is
-	  shortest-path closure (transitive closure is another thing):
-	  method names and status flags changed accordingly.  Now avoiding
-	  the (almost) useless initialization of BDS in the constructor
-	  BD_Shape(const Generator_System& gs); Source code in file
-	  BD_Shape.inlines.hh reordered so that all inline
-	  methods/functions come before the non-inline method/function
-	  templates.
-
-2005-10-20 Thursday 10:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/boundingbox1.cc (1.6): Added another test for
-	  shrinking a bounding box in polynomial time when there are
-	  redundant constraints.
-
-2005-10-19 Wednesday 17:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.139), ppl_c.h.in (1.54): Public method
-	  Constraint_System::has_strict_inequalities() is now accessible
-	  even from the C interface.
-
-2005-10-19 Wednesday 16:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.162): Method Constraint_System::has_strict_inequalities()
-	  is now public.
-
-2005-10-19 Wednesday 16:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.27): The primal_simplex() is now also
-	  applicable to an NNC constraint system containing no strict
-	  inequality constraints.
-
-2005-10-19 Wednesday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.defs.hh (1.16): Method
-	  has_strict_inequalities() is no longer private.
-
-2005-10-19 Wednesday 16:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.32): Prefer qualified access
-	  to class template member data and functions.	Removed a wrong
-	  const qualification is concatenate_assign().
-
-2005-10-19 Wednesday 12:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.cc (1.13): Added a missing const qualifier.
-
-2005-10-18 Tuesday 23:32  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.12): Include cstdlib.
-
-2005-10-18 Tuesday 23:28  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.11): Add a test where the
-	  parsing fails and whitespace follows the parsed number.
-
-2005-10-18 Tuesday 23:12  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.10): Check for expected
-	  spaces in residuals.	Always exit with 1 on error.
-
-2005-10-18 Tuesday 20:19  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.9): Add three tests with
-	  trailing whitespace.
-
-2005-10-17 Monday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.59), devref.doxyconf-latex.in
-	  (1.3), user.doxyconf-html.in (1.31), user.doxyconf-latex.in
-	  (1.3): In the devref manuals, also produce documentation for
-	  Scalar_Products.
-
-2005-10-17 Monday 09:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Makefile.am (1.126): Do not forget Scalar_Products.types.hh.
-
-2005-10-16 Sunday 17:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.109), Constraint_System.cc (1.12),
-	  Generator.defs.hh (1.111), Generator_System.cc (1.13),
-	  Linear_Expression.defs.hh (1.13), Linear_System.cc (1.30),
-	  Makefile.am (1.125), Polyhedron_nonpublic.cc (1.56),
-	  Polyhedron_public.cc (1.67), Polyhedron_widenings.cc (1.51),
-	  Scalar_Products.cc (1.1), Scalar_Products.defs.hh (1.1),
-	  Scalar_Products.inlines.hh (1.1), Scalar_Products.types.hh (1.1),
-	  conversion.cc (1.75), scalar_products.cc (1.3),
-	  scalar_products.defs.hh (1.5), scalar_products.inlines.hh (1.6),
-	  scalar_products.types.hh (1.2): Files "scalar_products.*" renamed
-	  as "Scalar_Products.*".
-
-2005-10-16 Sunday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Scalar_Products.defs.hh (grids.1): file
-	  Scalar_Products.defs.hh was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-10-16 Sunday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Scalar_Products.inlines.hh (grids.1): file
-	  Scalar_Products.inlines.hh was added on branch grids on
-	  2005-11-23 13:24:06 +0000
-
-2005-10-16 Sunday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Scalar_Products.types.hh (grids.1): file
-	  Scalar_Products.types.hh was added on branch grids on 2005-11-23
-	  13:24:06 +0000
-
-2005-10-15 Saturday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.161): Provide better visual separation for "displayed"
-	  material.
-
-2005-10-15 Saturday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.160): Ellipsis has a well-defined meaning in C++: avoid
-	  using it to signify "parameters omitted".
-
-2005-10-15 Saturday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.20): Updated.
-
-2005-10-15 Saturday 09:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint_System.defs.hh (1.15),
-	  Constraint_System.inlines.hh (1.6), Generator_System.defs.hh
-	  (1.10), Generator_System.inlines.hh (1.5): Classes
-	  Constraint_System and Generator_System now have a private method
-	  simplify() that calls the new method of class Linear_System. In
-	  the case of generators, the wrapper method also removes any
-	  invalid rays or lines that may have been generated.
-
-2005-10-15 Saturday 09:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.inlines.hh (1.57), Generator_System.cc (1.12): Do
-	  exploit new method Generator::is_line_or_ray().
-
-2005-10-15 Saturday 09:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.37): Corrected a dependency bug:
-	  test nnc_boudningbox5 was compiling source file boundingbox3.cc.
-
-2005-10-14 Friday 19:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_System.cc (1.29), Linear_System.defs.hh (1.18),
-	  Polyhedron.inlines.hh (1.124), Polyhedron_public.cc (1.66),
-	  simplify.cc (1.44): Linear_System methods gauss() and
-	  back_substitute() modified so as to assert all the known
-	  preconditions. Method gauss() also modified so as to receive as
-	  input the number of lines/equalities on which it should be
-	  applied. Added a new method Linear_System::simplify() that takes
-	  care of appropriately combine the two methods above when needed,
-	  so as to ensure that all preconditions are met. The new method is
-	  now used in the implementation of
-	  Polyhedron::shrink_bounding_box() and Polyhedron::OK().
-
-2005-10-14 Friday 13:09  Matthew Mundell
-
-	* src/checked.cc (1.9): Comment every function.  Slightly improve
-	  the formatting in parse_number and input_mpq.
-
-	  In parse_number1
-
-	   - move the error handling to the first error occurrence (this
-	  ensures
-	     that variables are always initialised at the destinations of
-	  the
-	     error jumps)
-
-	   - capatilise the second 'n' in the "inf" check
-
-	   - make the '+' case when parsing strings like "+inf" fall
-	  through to
-	     the "inf" parsing, instead of jumping to it
-
-	   - after the initial sign-and-symbol-parsing switch statement,
-	  split
-	     the validity check on the current character into two checks,
-	  one of
-	     which is already present
-
-	   - use only variable c when parsing a leading "0x", instead of
-	  using a
-	     second variable (d)
-
-	   - convert the parsing state machine into a series of loops, to
-	  save
-	     the state interpretation overhead and to lower the number of
-	  jumps
-	     and the size of the code
-
-	   - manually inline the small relevant portion of get_digit at the
-	     digit validity checks which call get_digit with a base of ten.
-
-2005-10-14 Friday 11:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.65): Prefer "unsatisfiable" to
-	  "insoluble".
-
-2005-10-14 Friday 09:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/scalar_products.types.hh (1.1): Put under CVS control.
-
-2005-10-13 Thursday 10:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.108), Constraint_System.cc (1.11),
-	  Generator.defs.hh (1.110), Generator.inlines.hh (1.56),
-	  Generator_System.cc (1.11), Generator_System.defs.hh (1.9),
-	  Linear_Expression.defs.hh (1.12), Linear_System.cc (1.28),
-	  Polyhedron_chdims.cc (1.34), Polyhedron_nonpublic.cc (1.55),
-	  Polyhedron_public.cc (1.64), Polyhedron_widenings.cc (1.50),
-	  conversion.cc (1.74), scalar_products.cc (1.2),
-	  scalar_products.defs.hh (1.4), scalar_products.inlines.hh (1.5):
-	  Added class Scalar_Products gathering all scalar product
-	  functions defined so far. Also added class
-	  Topology_Adjusted_Scalar_Product_Sign, implementing a function
-	  object choosing the correct scalar product function for the given
-	  context. Using these classes to simplify friend declarations and
-	  to allow for the removal of some friend declarations. In
-	  particular:  - Constraint_System is no longer a friend of
-	  Generator;  - Generator_System is no longer a friend of
-	  Constraint.  Also added a few missing const qualifications to
-	  local variables.
-
-2005-10-12 Wednesday 17:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.159), TODO (1.157): Updated for the with_token changes to
-	  the Prolog interface.
-
-2005-10-12 Wednesday 17:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.134): Documentation for
-	  the Prolog widening/extrapolation "with_tokens" predicates
-	  revised to match the changes to the actual implementation.
-	  General improvements to the descriptions of all the Prolog
-	  widening/extrapolation predicates.
-
-2005-10-11 Tuesday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.163), Ciao/ciao_pl_check.pl
-	  (1.14), Ciao/ppl_ciao.pl (1.82), GNU/ppl_gprolog.pl (1.54),
-	  SICStus/ppl_sicstus_sd.cc (1.80), SWI/ppl_swiprolog.cc (1.104),
-	  XSB/ppl_xsb.H (1.42), XSB/ppl_xsb.cc (1.71), XSB/xsb_pl_check.P
-	  (1.19), YAP/ppl_yap.cc (1.98), tests/pl_check.pl (1.12): Modified
-	  the "with_token" widening and extrapolation predicates to be
-	  "with_tokens" where each predicate has an extra argument (ie
-	  there are two arguments for the token numbers).
-
-	  All predicates require the number of available tokens as input in
-	  the first token argument and unify the second of the token
-	  arguments with the number of tokens available after the
-	  widening/extrapolation operation.
-
-	  pl_check.pl now tests the modified predicates and their possible
-	  exceptions.
-
-2005-10-11 Tuesday 12:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.9): Help message now says something about
-	  the available options.
-
-2005-10-11 Tuesday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, STANDARDS, TODO, config.guess, configure.ac,
-	  Watchdog/config.guess, Watchdog/src/Makefile.am,
-	  Watchdog/src/Makefile.in, Watchdog/utils/Makefile.am,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/ppl_lpsol.c,
-	  doc/Makefile.am, doc/README.doc,
-	  doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/devref.doxyconf-latex.in, doc/devref.tex,
-	  doc/user-browse.doxyconf-latex.in,
-	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  doc/user.doxyconf-latex.in, doc/user.tex,
-	  interfaces/C/ppl_c.h.in, interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/YAP/ppl_yap.cc, src/BD_Shape.defs.hh,
-	  src/BD_Shape.inlines.hh, src/Checked_Number.defs.hh,
-	  src/Checked_Number.inlines.hh, src/Constraint.cc,
-	  src/Constraint.defs.hh, src/GMP_Integer.defs.hh,
-	  src/GMP_Integer.types.hh, src/Generator.cc,
-	  src/Generator.defs.hh, src/H79_Certificate.defs.hh,
-	  src/H79_Certificate.inlines.hh, src/Linear_System.cc,
-	  src/Makefile.am, src/Native_Integer.defs.hh,
-	  src/Native_Integer.inlines.hh, src/Polyhedra_Powerset.cc,
-	  src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron_chdims.cc,
-	  src/Polyhedron_public.cc, src/checked_float.inlines.hh,
-	  src/minimize.cc, src/simplex.cc,
-	  tests/Random_Number_Generator.inlines.hh,
-	  tests/BD_Shape/Makefile.am,
-	  tests/BD_Shape/bgp99extrapolation1.cc,
-	  tests/BD_Shape/bhz03widening1.cc, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/numberinput1.cc,
-	  tests/Polyhedron/polypowerset1.cc, tests/Polyhedron/powerset1.cc,
-	  tests/Polyhedron/primalsimplex2.cc, utils/Makefile.am
-	  (grids.[4,5,4,3,5,3,2,2,3,4,4,3,2,4,4,4,1,1,3,3,3,1,1,4,2,3,5,5,5,5,4,6,6,2,4,8,3,2,4,9,4,5,2,5,6,4,6,6,2,4,2,5,1,1,9,2,2,1,1,3]):
-	  Fifth merge from main trunk.
-
-2005-10-11 Tuesday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.H (1.41): Reflect the
-	  reorganization of the Watchdog directory.
-
-2005-10-10 Monday 17:11  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.8): Add two hexadecimal tests
-	  where parsing will stop after the "0x".  Use valid digits in the
-	  exponent of "3^^e3" (i.e. use "3^^e2").
-
-2005-10-09 Sunday 08:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.97): Comparisons with
-	  LONG_MAX fixed.
-
-2005-10-08 Saturday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.26): Avoid requesting the inlining of complex
-	  functions.
-
-2005-10-08 Saturday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.96): YAP should now support
-	  unlimited precision integers.  Some FIXMEs dealt with, but had to
-	  add one because of what looks like a bug in YAP.
-
-2005-10-08 Saturday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.63): Use
-	  Constraint::inhomogeneous_term() instead of c[0] when
-	  appropriate.	Moved a useful comment outside assertion-like code,
-	  because the comment is relevant even when assertions are
-	  disabled.  When invoking scalar_product_sign(), the first
-	  argument should be the constraint and the second the generator
-	  (not the other way round).  Several occurrences of	 if
-	  (var_space_dim <= expr_space_dim && expr[var_space_dim] != 0) {
-	  replaced by the shorter (and as efficient as)     if
-	  (expr.coefficient(var) != 0) { One use of
-	  Coefficient_traits::const_reference inside a function body
-	  definition replaced by const Cefficient&.
-
-2005-10-08 Saturday 09:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_Powerset.cc (1.4), Polyhedra_Powerset.inlines.hh
-	  (1.31), checked_float.inlines.hh (1.45): Comments revised.  Refer
-	  to GCC's Bugzilla when talking about GCC bugs.  GCC (the GNU
-	  Compiler Collection) is written with all capitals.
-
-2005-10-08 Saturday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.defs.hh (1.23): To work around a bug in
-	  GCC 3.3.3, we temporarily make all Polyhedra_Powerset's friends
-	  of each other.
-
-2005-10-08 Saturday 07:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.25): Stop being noisy.
-
-2005-10-07 Friday 22:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.cc (1.27): FIXME resolved.
-
-2005-10-07 Friday 18:43  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.7): Update temporary
-	  comments.  Increase stack space if large exponents are being
-	  used.  Add directive TEST_LARGE_EXPONENTS, which controls the
-	  inclusion of tests with large exponents.
-
-2005-10-07 Friday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_Powerset.cc (1.3), Polyhedra_Powerset.inlines.hh
-	  (1.30): Applied workaround to a gcc bug affecting version 3.3.3.
-	  See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13635.
-
-2005-10-06 Thursday 18:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.19): In the first line comment,
-	  mentioned that the simplex solver can be used too.
-
-2005-10-06 Thursday 18:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.46): Too long line has been split.
-
-2005-10-06 Thursday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.53): The Linear Programming demo is
-	  now in demos/ppl_lpsol/.
-
-2005-10-06 Thursday 17:59  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.6): Improve formatting and
-	  messages slightly.  Take out the "fix" macro.  Group tests into
-	  functions.  Add tests which expect characters trailing the
-	  number.  Add a test of the exponent size limit.  Revise temporary
-	  comments.
-
-2005-10-06 Thursday 12:26  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.5): Take out tracing function
-	  dump_mpz_ptr.  Only print output on error.
-
-2005-10-06 Thursday 12:21  Matthew Mundell
-
-	* src/checked_int.inlines.hh (1.39): Clip trailing spaces.
-
-2005-10-06 Thursday 11:56  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.25): In satisfies_all_congruences
-	  multiply the modulus by the divisor when the divisor is greater
-	  than 1 (was 0).
-
-2005-10-06 Thursday 11:55  Matthew Mundell
-
-	* src/GMP_Integer.defs.hh (grids.5): Take `inline' out of gcdext
-	  declarations.
-
-2005-10-06 Thursday 11:54  Matthew Mundell
-
-	* src/checked.inlines.hh (grids.7): In gcdext_generic do the s and
-	  t negation only once when the given x and y are negative.
-
-2005-10-06 Thursday 11:50  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.35): Add FAIL_TEST directives for
-	  the checked types.
-
-2005-10-04 Tuesday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.24): Do not use conditional expressions with
-	  expressions of different type.
-
-2005-10-04 Tuesday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.29):
-	  Polyhedra_Powerset<PH>::concatenate_assign() was still buggy.
-
-2005-10-04 Tuesday 20:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.28): Fixed a bug
-	  Polyhedra_Powerset<PH>::concatenate_assign() whereby a temporary
-	  Polyhedra_Powerset object was created with the wrong dimension.
-
-2005-10-04 Tuesday 20:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.6): New test simplified (it
-	  could not reproduce the time-dependent bug it was supposed to
-	  reproduce).
-
-2005-10-04 Tuesday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.5): Added a new test that
-	  exposes a bug in Polyhedra_Powerset<PH>::concatenate_assign().
-
-2005-10-04 Tuesday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.156): A PPL distribution is compilable on environments
-	  lacking Perl.
-
-2005-10-04 Tuesday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.155), src/GMP_Integer.defs.hh (1.11), src/simplex.cc
-	  (1.23): Added macro PPL_NOISY_SIMPLEX to enable a limited amount
-	  of debugging output when executing the primal simplex.  The
-	  documentation of function is_in_base() improved.  Function
-	  compute_generator() also simplified.
-
-2005-10-04 Tuesday 14:45  Matthew Mundell
-
-	* src/minimize.cc (1.42): Indent note consistently.
-
-2005-10-04 Tuesday 14:35  Matthew Mundell
-
-	* src/Polyhedron_public.cc (1.62): Take out two redundant `else'
-	  and a redundant `if'.  Correct some comments (mostly typos).
-	  Clip a trailing space.  Take out a \relates comment on a
-	  Polyhedron method.
-
-2005-10-04 Tuesday 13:20  Matthew Mundell
-
-	* src/Polyhedron_chdims.cc (1.33): Correct and update some comments
-	  (mostly grammar).  Add a space after two primitive calls in
-	  expand_space_dimension.
-
-2005-10-04 Tuesday 12:58  Matthew Mundell
-
-	* src/: Native_Integer.defs.hh (1.13), Native_Integer.inlines.hh
-	  (1.14): Add template assign(Native_Integer<To>&, const
-	  mpz_class&, Rounding_Dir).
-
-2005-10-04 Tuesday 12:57  Matthew Mundell
-
-	* tests/Random_Number_Generator.inlines.hh (1.3): Revert to using
-	  assign in method get.
-
-2005-10-04 Tuesday 12:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.44): Point 3 of Section 6.7.3
-	  [Type qualifiers] of the C99 standard says that "The properties
-	  associated with qualified types [const, restrict, volatile] are
-	  meaningful only for expressions that are lvalues." Point 8 of
-	  Section 7.1.5.1 [The cv qualifiers] of the C++98 standard says
-	  that "In general, the semantics of volatile are intended to be
-	  the same in C++ as they are in C." Since functions can only
-	  return rvalues, and since C++98 and C99 are (believed to be)
-	  converging, the type qualifier "volatile" on return type has been
-	  removed.  FIXME resolved.
-
-2005-10-03 Monday 23:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.22): Stupid bug recently introduced is now
-	  corrected.
-
-2005-10-03 Monday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.190): Revised the URI for the Perl directory at
-	  perl.org.
-
-2005-10-03 Monday 18:11  Matthew Mundell
-
-	* tests/Random_Number_Generator.inlines.hh (1.2): In method get
-	  "use" parameter info, and assign the generated number with
-	  operator= (via a temporary) instead of with method assign (as
-	  operator= is present in Native_Integer).
-
-2005-10-03 Monday 14:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/bgp99extrapolation1.cc (1.1): Put under CVS
-	  control.
-
-2005-10-03 Monday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.17), bhz03widening1.cc (1.1):
-	  Added a new test for the first implementation of a
-	  certificate-based widening on a powerset of BD_Shape's.
-
-2005-10-03 Monday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.32), BD_Shape.inlines.hh (1.66): Added
-	  methods difference_assign() and strictly_contains(), that are
-	  required when instantiating Polyhedra_Powerset<BD_Shape> and
-	  using the BHZ03 widening.  Widening methods now have a dummy
-	  token argument (not used yet).  Removed unreasonable inline
-	  directives from too complex class template member
-	  implementations.
-
-2005-10-03 Monday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: H79_Certificate.defs.hh (1.12), H79_Certificate.inlines.hh
-	  (1.6): Added constructor template and comparison member template,
-	  so as to provide a dummy (but working) certificate implementation
-	  for all classes PH providing method PH::constraints() (e.g.,
-	  BD_Shape).
-
-2005-10-02 Sunday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.65): Added a missing const qualifier
-	  and revised a comment in BD_Shape<T>::init().
-
-2005-10-02 Sunday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/src/Makefile.am (1.3), src/Makefile.am (1.124):
-	  Definition of BUILT_SOURCES revised.
-
-2005-10-02 Sunday 12:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.189): Version number bumped.
-
-2005-10-02 Sunday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.33), Watchdog/config.guess (1.17): Updated.
-
-2005-10-02 Sunday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: Makefile.am (1.37), devref.doxyconf-html.in (1.58),
-	  devref.doxyconf-latex.in (1.2), devref.tex (1.18),
-	  user.doxyconf-html.in (1.30), user.doxyconf-latex.in (1.2),
-	  user.tex (1.19): We now generate PostScript from PDF.
-
-2005-10-02 Sunday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/powerset1.cc (1.2): Added Fcaibvp::OK().
-
-2005-10-01 Saturday 15:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.24): Added a section describing source file naming
-	  and structuring conventions.	Another section has to do with
-	  macros.
-
-2005-10-01 Saturday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.36), powerset1.cc (1.1): New
-	  (incomplete) test program to test the Powerset class.
-
-2005-10-01 Saturday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.188), doc/Makefile.am (1.36), doc/README.doc
-	  (1.6), doc/devref-browse.doxyconf-latex.in (1.57),
-	  doc/devref-print.doxyconf-latex.in (1.57),
-	  doc/devref.doxyconf-html.in (1.57), doc/devref.doxyconf-latex.in
-	  (1.1), doc/user-browse.doxyconf-latex.in (1.27),
-	  doc/user-print.doxyconf-latex.in (1.27),
-	  doc/user.doxyconf-html.in (1.29), doc/user.doxyconf-latex.in
-	  (1.1): No longer produce "browse" and "print" version, since the
-	  "browse" version is equally good for printing.  Construction of
-	  the documentation much simplified.  Doxygen configuration files
-	  updates.
-
-2005-09-30 Friday 23:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.34): Header file instchk.hh listed in
-	  dist_noinst_HEADERS.
-
-2005-09-30 Friday 21:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.21): No longer using (and thus eliminated)
-	  functions insert_row_in_matrix(), add_element_to_row(),
-	  copy_column().  Function check_optimality() renamed as
-	  get_entering_index(), its signature restructured and its
-	  implementation made a little bit more efficient.  Function
-	  choose_out_var() renamed as get_exiting_index(), its signature
-	  restructured and its implementation heavily changed to
-	  (hopefully) made it more efficient.  Function compute_simplex()
-	  changed accordingly.	Function compute_tableau() further
-	  simplified by removing a lot of (not really necessary)
-	  bookkeeping. Local variables renamed for improved readability.
-
-2005-09-30 Friday 09:16  David Merchat
-
-	* src/GMP_Integer.types.hh (1.9): We use doxygen command
-	  ``\relates'' to put  all informations about GMP_Integer at the
-	  same place. Since \relates must refer to a class and GMP_Integer
-	  is not a class but a type we obtain a warning for all ``\relates
-	  GMP_Integer'' To eliminate those warnings we add a doxygen
-	  comment ``\class GMP_Integer'' just before declaration of type
-	  GMP_Integer
-
-2005-09-29 Thursday 18:03  Matthew Mundell
-
-	* src/: checked.inlines.hh, checked_float.inlines.hh,
-	  checked_int.inlines.hh (grids.[6,5,5]): Rename gcdext_generic to
-	  gcdext_exact.
-
-2005-09-29 Thursday 18:02  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
-	  scalar_products.cc, scalar_products.defs.hh,
-	  scalar_products.inlines.hh (grids.[12,21,16,2,2,2]): Move scalar
-	  product functions into scalar_products.*.
-
-2005-09-29 Thursday 17:00  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.4): Improve the call to
-	  function input in function test.  Update temporary comments.	Add
-	  a test with a much larger integer.
-
-2005-09-29 Thursday 11:24  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.3): Convert test_template to
-	  function test, which uses an mpq_class checked number.  In
-	  function test read number with function input (instead of op>>),
-	  compare the result of the conversion with an expected result, and
-	  use is_not_a_number instead of classify.
-
-	  Narrow long test invocations.  Add an expected result value to
-	  each invocation.
-
-2005-09-28 Wednesday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.154), configure.ac (1.187), Watchdog/src/Makefile.am
-	  (1.2), src/Makefile.am (1.123): 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>
-
-	* Watchdog/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
-
-	* CREDITS, ChangeLog, Makefile.am, NEWS, STANDARDS, TODO,
-	  configure.ac, instchk.hh, Watchdog/.cvsignore,
-	  Watchdog/ChangeLog, Watchdog/Doubly_Linked_Object.defs.hh,
-	  Watchdog/Doubly_Linked_Object.inlines.hh,
-	  Watchdog/Doubly_Linked_Object.types.hh, Watchdog/EList.defs.hh,
-	  Watchdog/EList.inlines.hh, Watchdog/EList.types.hh,
-	  Watchdog/EList_Iterator.defs.hh,
-	  Watchdog/EList_Iterator.inlines.hh,
-	  Watchdog/EList_Iterator.types.hh, Watchdog/Handler.defs.hh,
-	  Watchdog/Handler.inlines.hh, Watchdog/Handler.types.hh,
-	  Watchdog/Makefile.am, Watchdog/Pending_Element.cc,
-	  Watchdog/Pending_Element.defs.hh,
-	  Watchdog/Pending_Element.inlines.hh,
-	  Watchdog/Pending_Element.types.hh, Watchdog/Pending_List.cc,
-	  Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh,
-	  Watchdog/Pending_List.types.hh, Watchdog/Time.cc,
-	  Watchdog/Time.defs.hh, Watchdog/Time.inlines.hh,
-	  Watchdog/Time.types.hh, Watchdog/Watchdog.cc,
-	  Watchdog/Watchdog.defs.hh, Watchdog/Watchdog.inlines.hh,
-	  Watchdog/Watchdog.types.hh, Watchdog/configure.ac,
-	  Watchdog/pwl_header.hh, Watchdog/utils/Makefile.am,
-	  Watchdog/utils/build_header, Watchdog/utils/build_header.in,
-	  demos/ppl_lcdd/ppl_lcdd.cc, doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/user-browse.doxyconf-latex.in,
-	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  interfaces/C/ppl_c.cc, interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected3_int16,
-	  interfaces/Prolog/XSB/expected3_int16_a,
-	  interfaces/Prolog/XSB/expected3_int32,
-	  interfaces/Prolog/XSB/expected3_int8,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/tests/expected_pchk_int16,
-	  interfaces/Prolog/tests/expected_pchk_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int32,
-	  interfaces/Prolog/tests/expected_pchk_int32_a,
-	  interfaces/Prolog/tests/expected_pchk_int64_a,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/pl_check.pl, m4/ac_check_swi_prolog.m4,
-	  src/Ask_Tell.defs.hh, src/BD_Shape.defs.hh,
-	  src/BD_Shape.inlines.hh, src/BHRZ03_Certificate.cc,
-	  src/BHRZ03_Certificate.defs.hh, src/Bounding_Box.defs.hh,
-	  src/Bounding_Box.inlines.hh, src/Checked_Number.defs.hh,
-	  src/Checked_Number.inlines.hh, src/Checked_Number.types.hh,
-	  src/Coefficient.types.hh, src/Constraint.defs.hh,
-	  src/Constraint_System.cc, src/Constraint_System.defs.hh,
-	  src/Constraint_System.inlines.hh, src/DB_Row.defs.hh,
-	  src/Determinate.defs.hh, src/GMP_Integer.defs.hh,
-	  src/GMP_Integer.inlines.hh, src/GMP_Integer.types.hh,
-	  src/Generator.defs.hh, src/Generator_System.cc,
-	  src/H79_Certificate.cc, src/H79_Certificate.defs.hh, src/Init.cc,
-	  src/Linear_Expression.defs.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/Makefile.am,
-	  src/Matrix.cc, src/Matrix.inlines.hh, src/Native_Integer.defs.hh,
-	  src/Native_Integer.inlines.hh, src/Native_Integer.types.hh,
-	  src/Polyhedra_Powerset.cc, src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
-	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
-	  src/Polyhedron_widenings.cc, src/Row.cc, src/Row.defs.hh,
-	  src/Saturation_Matrix.cc, src/Saturation_Row.cc,
-	  src/Saturation_Row.defs.hh, src/Saturation_Row.inlines.hh,
-	  src/Variable.defs.hh, src/algorithms.hh, src/checked.cc,
-	  src/checked.defs.hh, src/checked.inlines.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/globals.defs.hh, src/globals.inlines.hh,
-	  src/globals.types.hh, src/mp_numeric_limits.hh,
-	  src/scalar_products.cc, src/scalar_products.defs.hh,
-	  src/scalar_products.inlines.hh, src/simplex.cc,
-	  tests/Makefile.am, tests/Random_Number_Generator.defs.hh,
-	  tests/Random_Number_Generator.inlines.hh,
-	  tests/Random_Number_Generator.types.hh, tests/ppl_test.hh,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/geomcovers1.cc,
-	  tests/BD_Shape/maxspacedim.cc, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/addspacedims3.cc,
-	  tests/Polyhedron/affineimage6.cc,
-	  tests/Polyhedron/bhz03widening1.cc,
-	  tests/Polyhedron/bhz03widening2.cc,
-	  tests/Polyhedron/bhz03widening3.cc,
-	  tests/Polyhedron/bhz03widening6.cc,
-	  tests/Polyhedron/exceptions1.cc, tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/gramschmidt1.cc,
-	  tests/Polyhedron/gramshmidt1.cc,
-	  tests/Polyhedron/linearsystem1.cc, tests/Polyhedron/matrix1.cc,
-	  tests/Polyhedron/numberinput1.cc, utils/Makefile.am,
-	  utils/build_header, utils/build_header.in, utils/text2cxxarray,
-	  utils/text2cxxarray.in
-	  (grids.[1,1,3,3,4,3,4,1,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,3,3,3,3,2,2,2,4,2,3,4,2,3,2,3,2,5,2,3,1,1,1,1,2,3,2,2,2,2,2,2,2,2,2,2,2,4,4,2,2,3,2,4,4,1,1,5,2,3,2,3,3,4,3,1,7,13,2,2,3,5,5,5,4,3,2,8,3,2,3,4,1,1,4,5,7,5,3,5,5,3,2,5,2,2,2,2,2,3,3,4,5,4,4,4,3,4,3,2,3,3,1,1,1,1,1,3,3,1,1,1,12,4,1,2,8,2,2,2,2,2,2,2,2,1,2,1,1,1,2,2,1,2,1]):
-	  Fourth merge from the main trunk.
-
-2005-09-28 Wednesday 19:37  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.34), Checked_Number.inlines.hh
-	  (1.39): Added input and output functions
-
-2005-09-28 Wednesday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/utils/Makefile.am (1.4), utils/Makefile.am (1.10): Make
-	  sure the scripts in the `utils' subdirectory are made also at
-	  distribution time, even if they are not distributed themselves.
-
-2005-09-28 Wednesday 17:57  Matthew Mundell
-
-	* tests/Polyhedron/numberinput1.cc (1.2): In test_template add
-	  checks, including residual checks, and improve the comparison
-	  with the expected value.  Add expected residuals to all tests.
-
-2005-09-28 Wednesday 16:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.52), Constraint.defs.hh (1.107),
-	  Generator.cc (1.65), Generator.defs.hh (1.109): According to
-	  Doxygen manual, the \relates command should name a class, whereas
-	  Constraint::Type and Generator::Type are just enums.
-
-2005-09-28 Wednesday 14:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.20): Function compute_tableau() now directly
-	  detects trivially unbounded problems instead of leaving this
-	  simple check to the caller.  Function primal_simplex() corrected
-	  so as to return the origin point of the right space dimension
-	  when a trivial LP problem is given (fixing the bug uncovered by
-	  test primalsimplex2).
-
-2005-09-28 Wednesday 14:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.35), primalsimplex2.cc (1.1):
-	  New test shows a (space dimension mismatch) bug in the current
-	  implementation of the simplex algorithm.
-
-2005-09-27 Tuesday 21:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.19): Simplified function
-	  prepare_for_1st_ph_simplex(), avoiding useless copies and
-	  factoring 2nd and 3rd Row& arguments into a single Matrix&
-	  argument.  Adding slack variables all in one shot, instead of one
-	  at a time.  Simplified function first_phase() by avoiding useless
-	  matrix copies.
-
-2005-09-27 Tuesday 20:50  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am (1.34), numberinput1.cc (1.1): Add
-	  numberinput1, a start at testing number input.
-
-2005-09-27 Tuesday 20:43  Matthew Mundell
-
-	* src/checked.cc (1.8): Really revert to revision 1.4.
-
-2005-09-27 Tuesday 12:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.18): Removed a few useless inclusions
-	  directives.  Added many const modifiers to local variable
-	  definitions.	Function swap_base() now takes a Row& (rather than
-	  a Matrix&) as its second argument.  Avoid recomputing the same
-	  value several times (using a reference instead).  Added some
-	  missing spaces for better readability.  Function erase_slacks()
-	  heavily rewritten so as to avoid a bunch of useless matrix
-	  copies.  Restructured the doxygen comments according to
-	  STANDARDS.  In primal_simplex(), use normalize2() instead of
-	  reinventing the wheel.
-
-2005-09-27 Tuesday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.defs.hh (1.14): Minor formatting
-	  improvement.
-
-2005-09-26 Monday 18:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.defs.hh (1.24): Removed a few useless inline
-	  directives and const modifiers from function declarations.
-
-2005-09-26 Monday 18:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_System.defs.hh (1.17): Removed a useless inline
-	  directive from a function declaration.
-
-2005-09-26 Monday 18:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GMP_Integer.defs.hh (1.10): Removed many useless inline
-	  directives from function declarations.
-
-2005-09-26 Monday 18:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.inlines.hh (1.12): Added a const modifier to the
-	  low_bits_mask() parameter.
-
-2005-09-26 Monday 16:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.17): Useless using declaration removed.  A few
-	  FIXME in the comments dealt with. Comments and code still deserve
-	  a lot of work to match the PPL quality standards.
-
-2005-09-26 Monday 16:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_Powerset.cc (1.2), Polyhedra_Powerset.defs.hh
-	  (1.22), Polyhedra_Powerset.inlines.hh (1.27): Dealt with a couple
-	  of FIXME's in the implementation by introducing a single FIXME in
-	  the definition of the templatic class.
-
-2005-09-26 Monday 16:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BHRZ03_Certificate.cc (1.9), H79_Certificate.cc (1.8): A
-	  few FIXME's have been (properly) renamed into TODO's.
-
-2005-09-26 Monday 15:54  Matthew Mundell
-
-	* tests/Polyhedron/matrix1.cc (1.4): Correct spelling.
-
-2005-09-26 Monday 15:27  Matthew Mundell
-
-	* src/checked.defs.hh (1.24): Indent arguments to function
-	  declaration macros consistently.
-
-2005-09-26 Monday 15:24  Matthew Mundell
-
-	* tests/Polyhedron/linsysasciidumpload1.cc (1.2): Moved to
-	  linearsystem1.cc.
-
-2005-09-26 Monday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/matrix1.cc (1.3): Avoid unnecessary inclusions.
-
-2005-09-26 Monday 13:44  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am (1.33), linearsystem1.cc (1.1):
-	  Move linsysasciidumpload1 to linearsystem1.  Match linearsystem1
-	  to matrix1.
-
-2005-09-26 Monday 12:10  Matthew Mundell
-
-	* src/checked.cc (1.7): Revert to revision 1.4.
-
-2005-09-24 Saturday 22:28  Abramo Bagnara
-
-	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.35), tests/Makefile.am
-	  (1.246), tests/ppl_test.hh (1.26), tests/Polyhedron/matrix1.cc
-	  (1.2): Use new random number generator class.
-
-2005-09-24 Saturday 22:22  Abramo Bagnara
-
-	* tests/: Random_Number_Generator.defs.hh (1.1),
-	  Random_Number_Generator.inlines.hh (1.1),
-	  Random_Number_Generator.types.hh (1.1): Added random number
-	  generator class.
-
-2005-09-24 Saturday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (1.6): Class
-	  numeric_limits<Checked_Number<mp_class, Policy> now inherits from
-	  numeric_limits<mp_class> and ovverrides what must be overridden.
-
-2005-09-24 Saturday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.122), mp_numeric_limits.hh (1.1): New file
-	  mp_numeric_limits.hh contains specializations of
-	  std::numeric_limits for multi-precision types.  This will become
-	  obsolete when GMP and MPFR will provide the specializations by
-	  themselves.
-
-2005-09-24 Saturday 21:25  Abramo Bagnara
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.34),
-	  GNU/ppl_gprolog_sd.cc (1.30), SICStus/ppl_sicstus_sd.cc (1.79),
-	  SWI/ppl_swiprolog.cc (1.103), XSB/ppl_xsb.cc (1.70),
-	  YAP/ppl_yap.cc (1.95): Include higher level file for Checked.
-
-2005-09-24 Saturday 18:10  Abramo Bagnara
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.45), interfaces/C/ppl_c.cc (1.138),
-	  interfaces/Prolog/ppl_prolog.icc (1.162),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.33),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.29),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.78),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.102),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.69),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.94), src/BD_Shape.inlines.hh
-	  (1.64), src/Bounding_Box.inlines.hh (1.9),
-	  src/Checked_Number.defs.hh (1.33), src/Checked_Number.inlines.hh
-	  (1.38), src/Polyhedron.inlines.hh (1.123),
-	  src/Polyhedron_nonpublic.cc (1.54), src/checked.defs.hh (1.23),
-	  src/checked.inlines.hh (1.25), src/checked_mpq.inlines.hh (1.23),
-	  src/checked_mpz.inlines.hh (1.27): Allow Checked assign functors
-	  to accept native types as To argument. Reordered memory_size
-	  functors for Checked types.
-
-2005-09-24 Saturday 09:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.types.hh (1.7), Coefficient.types.hh (1.8):
-	  Specializations of Coefficient_traits_template moved out from
-	  Checked_Number.types.hh, since they do not belong there.
-
-2005-09-24 Saturday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron_chdims.cc (1.32), Polyhedron_public.cc (1.61),
-	  Polyhedron_widenings.cc (1.49): FIXMEs that do not involve
-	  anything that can be considered broken have been retagged TODOs.
-
-2005-09-24 Saturday 08:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.32): Take into account the
-	  restructuring of the PWL tree.
-
-2005-09-23 Friday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.46), GNU/Makefile.am
-	  (1.49), SICStus/Makefile.am (1.55), SWI/Makefile.am (1.53),
-	  XSB/Makefile.am (1.36), YAP/Makefile.am (1.40): Changed according
-	  to the restructuring of the PWL source tree.
-
-2005-09-23 Friday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/.cvsignore (1.5): Updated.
-
-2005-09-23 Friday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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>
-
-	* Watchdog/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>
-
-	* configure.ac (1.186), Watchdog/utils/Makefile.am (1.3),
-	  Watchdog/utils/build_header.in (1.2), utils/Makefile.am (1.9),
-	  utils/build_header.in (1.2): Generation of utility scripts fixed.
-
-2005-09-23 Friday 16:51  Matthew Mundell
-
-	* utils/Makefile.am (1.8): Add bin_SCRIPT.  Set bin_SCRIPT to
-	  build_header, text2cxxarray and a phony target which sets the
-	  script permissions.
-
-2005-09-23 Friday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.31), matasciidumpload1.cc
-	  (1.5), matrix1.cc (1.1): Test program renamed.  The matrix1.cc
-	  (and, possibly, matrix2.cc and so forth) will contain tests of
-	  some functionalities of the class Matrix (especially those that
-	  are not exercised much in an indirect way by the clients of
-	  Matrix).
-
-2005-09-23 Friday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.185): Revised the warning message concerning the
-	  impossibility of propagating exceptions back from GMP.
-
-2005-09-23 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.33), configure.ac (1.184), Watchdog/Makefile.am
-	  (1.22), Watchdog/configure.ac (1.30), Watchdog/utils/Makefile.am
-	  (1.2), Watchdog/utils/build_header (1.2),
-	  Watchdog/utils/build_header.in (1.1),
-	  doc/devref-browse.doxyconf-latex.in (1.56),
-	  doc/devref-print.doxyconf-latex.in (1.56),
-	  doc/devref.doxyconf-html.in (1.56),
-	  doc/user-browse.doxyconf-latex.in (1.26),
-	  doc/user-print.doxyconf-latex.in (1.26),
-	  doc/user.doxyconf-html.in (1.28), src/Makefile.am (1.121),
-	  utils/Makefile.am (1.7), utils/build_header (1.2),
-	  utils/build_header.in (1.1), utils/text2cxxarray (1.3),
-	  utils/text2cxxarray.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>
-
-	* Watchdog/configure.ac (1.29): Check for Perl.
-
-2005-09-23 Friday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.183): Check for Perl.
-
-2005-09-23 Friday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.91): Comment fixed.
-
-2005-09-23 Friday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/matasciidumpload1.cc (1.4): Include <ctime>.  It
-	  does not make sense to use TEMP_INTEGER here: use Coefficient
-	  instead.  Avoid unnecessary use of macros: std::numeric_limits<T>
-	  is (must) be available for all numerical types.  Use GMP's
-	  pseudo-random numbers instead of rand().
-
-2005-09-23 Friday 08:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.182): The C header file <time.h> is subsumed by
-	  C++'s <ctime>: there is no need to check for its availability.
-
-2005-09-22 Thursday 23:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.181): `sys/time.h' was listed twice in the
-	  argument of AC_CHECK_HEADERS.  Check also for `time.h'.
-
-2005-09-22 Thursday 18:08  Matthew Mundell
-
-	* src/Polyhedron.defs.hh (1.283): Correct grammar.
-
-2005-09-22 Thursday 17:30  Matthew Mundell
-
-	* src/checked_numeric_limits.hh (1.5): Specialize numeric_limits
-	  for int and all unsigned integer native types.
-
-2005-09-22 Thursday 15:51  Matthew Mundell
-
-	* src/Grid_public.cc (grids.68): Automatically initialise con_sys
-	  and gen_sys in Grid(n,k).
-
-2005-09-22 Thursday 15:28  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am (1.30), linsysasciidumpload1.cc
-	  (1.1): Add linsysasciidumpload1, which tests Linear_System ASCII
-	  loading.
-
-2005-09-22 Thursday 15:21  Matthew Mundell
-
-	* src/: Linear_Row.cc (1.13), Linear_Row.defs.hh (1.12),
-	  Linear_System.cc (1.26): Add methods Linear_Row::ascii_load and
-	  Linear_Row::Flags::ascii_load.  Complete
-	  Linear_System::ascii_load.
-
-2005-09-22 Thursday 14:07  Matthew Mundell
-
-	* tests/Polyhedron/matasciidumpload1.cc (1.3): Correct the
-	  numeric_limits instantiation.  Only allow valid modulation.
-
-2005-09-22 Thursday 13:09  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am (1.29), matasciidumpload1.cc
-	  (1.2): In matasciidumpload1 limit the size of the random values
-	  according to the coefficient type and rename the data file
-	  uniquely.
-
-2005-09-21 Wednesday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.153): One item completed and removed (check_containment).
-
-2005-09-21 Wednesday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.158): Some of the recent changes and bugfixes announced.
-
-2005-09-21 Wednesday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.16), geomcovers1.cc (1.1): Added
-	  a new test showing that geometrically_covers() also works for
-	  powersets of BD_Shape's.
-
-2005-09-21 Wednesday 19:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Makefile.am (1.120), Polyhedra_Powerset.cc (1.1),
-	  Polyhedra_Powerset.defs.hh (1.21), Polyhedra_Powerset.inlines.hh
-	  (1.26), algorithms.hh (1.43): Added new specializations for
-	  Polyhedra_powerset mixed constructors.  Function
-	  check_containment() now works with different instantiations of
-	  Polyhedra_Powerset; the same happens for geometrically_covers()
-	  and geometrically_equals().  A few non-inline full specialization
-	  of member templates have been moved into file
-	  Polyhedra_Powerset.cc.
-
-2005-09-21 Wednesday 17:05  Matthew Mundell
-
-	* src/Linear_System.cc (1.25): Indent consistently in ascii_load.
-	  Correct typo, grammar and formatting in three comments.
-
-2005-09-21 Wednesday 16:56  Matthew Mundell
-
-	* src/: Congruence_System.defs.hh, Linear_System.cc,
-	  Congruence_System.cc (grids.[15,2,24]): Take out
-	  Congruence_System::add_row.  Replace the bulk of
-	  Linear_System::add_row with a call to Matrix::add_row.
-
-2005-09-21 Wednesday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/geomcovers1.cc (1.6): Test corrected.
-
-2005-09-21 Wednesday 16:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/exceptions1.cc (1.7): Added a new exception
-	  check for Polyhedra_Powerset::add_disjunct().
-
-2005-09-21 Wednesday 16:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_Powerset.defs.hh (1.20),
-	  Polyhedra_Powerset.inlines.hh (1.25): The new method
-	  Polyhedra_Powerset::add_disjunct() now performs the required
-	  check for space dimension compatibility. The check uncovers a
-	  previously unnoticed (client) bug in Polyhedron/geomcovers1.cc.
-
-2005-09-21 Wednesday 16:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.152): Item:
-
-	   - In the Prolog interface there are predicates such as
-	    ppl_Polyhedron_remove_space_dimensions/2 that require an input
-	  list;
-	    if the argument is not a list, in the current version, the call
-	  to
-	    this predicate will fail. This needs to be changed so that an
-	    exception is thrown.
-
-	  removed.
-
-2005-09-21 Wednesday 16:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: exceptions.hh (1.17), ppl_prolog.icc (1.161),
-	  tests/pl_check.pl (1.11): All Prolog interface predicates
-	  expecting a list as input from the user now throw an exception if
-	  the list is not nil terminated.  (This could be a list of
-	  constraints, generators, intervals, dimensiona or dimension maps)
-
-	  That is interface predicates: ppl_new_Polyhedron_from_constraints
-	  ppl_new_Polyhedron_from_generators
-	  ppl_new_Polyhedron_from_bounding_box
-	  ppl_Polyhedron_add_constraints
-	  ppl_Polyhedron_add_constraints_and_minimize
-	  ppl_Polyhedron_add_generators
-	  ppl_Polyhedron_add_generators_and_minimize
-	  ppl_Polyhedron_limited_H79_extrapolation_assign
-	  ppl_Polyhedron_limited_H79_extrapolation_assign_with_token
-	  ppl_Polyhedron_bounded_H79_extrapolation_assign
-	  ppl_Polyhedron_bounded_H79_extrapolation_assign_with_token
-	  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign
-	  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_token
-	  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign
-	  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_token
-	  ppl_Polyhedron_remove_space_dimensions
-	  ppl_Polyhedron_fold_space_dimensions
-	  ppl_Polyhedron_map_space_dimensions
-
-	  class not_a_nil_terminated_list added to exception.hh.
-
-	  Code for throwing an exception added to ppl_prolog.icc Exception
-	  thrown for not nil terminating input lists for each of the above.
-	   Also indentation of code improved.
-
-	  Tests for not nil terminating list exceptions, for each of the
-	  above predicates, added to pl_check.pl.  Old tests for prolog
-	  failure when list is not nil terminated removed.  Some tests in
-	  pl_check.pl reordered.
-
-2005-09-21 Wednesday 16:18  Matthew Mundell
-
-	* src/Generator_System.cc (1.10): In
-	  adjust_topology_and_space_dimension pass to add_zero_columns the
-	  result of adding to or subtracting from cols_to_be_added, instead
-	  of an increased or decreased cols_to_be_added.
-
-2005-09-21 Wednesday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.31): Out-of-date comments concerning the
-	  template parameter T removed from the documentation of class
-	  BD_Shape.
-
-2005-09-21 Wednesday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.28), matasciidumpload1.cc
-	  (1.1): Test Matrix::ascii_dump() and Matrix::ascii_load().
-
-2005-09-21 Wednesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.180), tests/Makefile.am (1.245): Previous change
-	  reverted.
-
-2005-09-21 Wednesday 12:56  Matthew Mundell
-
-	* src/Generator_System.cc (1.9): Align argument indentation of
-	  affine_image.
-
-2005-09-21 Wednesday 12:49  Matthew Mundell
-
-	* configure.ac (1.179): Add tests/Matrix/Makefile to
-	  AC_CONFIG_FILES.
-
-2005-09-21 Wednesday 12:49  Matthew Mundell
-
-	* tests/Makefile.am (1.244): Add Matrix to SUBDIRS.
-
-2005-09-21 Wednesday 12:44  Matthew Mundell
-
-	* src/: Matrix.cc (1.85), Row.cc (1.90), Row.defs.hh (1.98):
-	  Complete Matrix::ascii_load.	Restore the stream attributes at
-	  the end of Row::ascii_dump.  Add ascii_load methods to Row::Flags
-	  and Row.
-
-2005-09-21 Wednesday 12:37  Matthew Mundell
-
-	* src/Constraint_System.cc (1.10): In method num_inequalities use
-	  dimension_type instead of int for temporary n.
-
-2005-09-20 Tuesday 21:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.151): Links in the CREDITS file checked and lists of
-	  collaborators and projects supporting the work updated. So todo
-	  item removed.
-
-2005-09-20 Tuesday 21:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.150): SWI 5.4.7 automatically initializes the library.
-	  So todo item for this removed.
-
-2005-09-20 Tuesday 19:39  Matthew Mundell
-
-	* configure.ac (1.178): Indent all lines with spaces in
-	  AC_CONFIG_FILES.
-
-2005-09-20 Tuesday 19:29  Matthew Mundell
-
-	* src/checked.inlines.hh (grids.4): Take a redundant assignment out
-	  of gcdext_generic.
-
-2005-09-20 Tuesday 19:29  Matthew Mundell
-
-	* src/Native_Integer.inlines.hh (grids.3): Take a redundant
-	  assignment out of gcdext.
-
-2005-09-20 Tuesday 19:28  Matthew Mundell
-
-	* src/Grid_public.cc (grids.67): Improve temporary comment.
-
-2005-09-20 Tuesday 19:27  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, boundingbox1.cc (grids.[34,1]): Add
-	  boundingbox1, which tests Grid(Box& box).
-
-2005-09-20 Tuesday 19:26  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[47,20]): Add template
-	  Grid(box, dummy).  Improve method descriptions.
-
-2005-09-20 Tuesday 15:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* CREDITS (1.19): Added Matthew Mundell as a contributor.
-
-	  Added the Royal Society project and the EPSRC project to the list
-	  of supporting projects.
-
-2005-09-20 Tuesday 13:46  Abramo Bagnara
-
-	* src/: checked_float.inlines.hh (1.43), checked_int.inlines.hh
-	  (1.38): Prepare inexact only when needed. Use new names for gcd
-	  and lcm.
-
-2005-09-20 Tuesday 13:44  Abramo Bagnara
-
-	* src/checked_ext.inlines.hh (1.21): Attempt to reduce code
-	  duplicate using explicit goto. Removed FIXME from add_mul_ext and
-	  sub_mul_ext.
-
-2005-09-20 Tuesday 13:42  Abramo Bagnara
-
-	* src/checked.inlines.hh (1.24): Removed fixme and choosen a better
-	  name for functions.
-
-2005-09-20 Tuesday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.89): Use the ternary version of gcd_assign() so as
-	  to gain on checked numbers.
-
-2005-09-20 Tuesday 11:00  Matthew Mundell
-
-	* src/checked.cc (1.6): In parse_number1 move the maximum remainder
-	  calculation into a variable.
-
-2005-09-20 Tuesday 09:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.60): Unwanted inclusion removed.
-
-2005-09-20 Tuesday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.defs.hh (1.108), Linear_Expression.defs.hh
-	  (1.11): Friend declarations fixed.
-
-2005-09-20 Tuesday 08:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/scalar_products.inlines.hh (1.4): Fixed
-	  homogeneous_scalar_product_assign(Coefficient&, const
-	  Linear_Expression&, const Generator&) and
-	  homogeneous_scalar_product_sign(const Linear_Expression&, const
-	  Generator&).
-
-2005-09-19 Monday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.defs.hh (1.107), Linear_Expression.defs.hh
-	  (1.10), Polyhedron_nonpublic.cc (1.53), scalar_products.defs.hh
-	  (1.3), scalar_products.inlines.hh (1.3): Another twist at
-	  reducing the dependency from friend class declarations.
-
-2005-09-19 Monday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.106), Generator.defs.hh (1.106),
-	  scalar_products.defs.hh (1.2), scalar_products.inlines.hh (1.2):
-	  Computing the scalar product between a Constraint and a Generator
-	  objects no longer requires Polyhedron to be a friend of
-	  Constraint and Generator.
-
-2005-09-19 Monday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.105), Constraint_System.defs.hh
-	  (1.13), Constraint_System.inlines.hh (1.5), Polyhedron.defs.hh
-	  (1.282), Polyhedron.inlines.hh (1.122), Polyhedron_nonpublic.cc
-	  (1.52): The functionality of
-	  Polyhedron::add_low_level_constraints(Constraint_System&) is now
-	  provided by Constraint_System::add_low_level_constraints().
-	  Among other things, this reduces the dependency on friend
-	  declarations.
-
-2005-09-19 Monday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.88): Chosen the more elegant implementation of
-	  Row::normalize() (profiling was inconclusive: they were probably
-	  equivalent).
-
-2005-09-19 Monday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint_System.cc (1.9), Generator_System.cc (1.8),
-	  Linear_Row.cc (1.12), Linear_Row.defs.hh (1.11),
-	  Linear_Row.inlines.hh (1.9), Linear_System.cc (1.24), Makefile.am
-	  (1.119), Polyhedron_nonpublic.cc (1.51), Polyhedron_public.cc
-	  (1.59), Polyhedron_widenings.cc (1.48), conversion.cc (1.73),
-	  scalar_products.cc (1.1), scalar_products.defs.hh (1.1),
-	  scalar_products.inlines.hh (1.1): Scalar product functions moved
-	  from Linear_Row.* to scalar_products.*.
-
-2005-09-19 Monday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_Row.cc (1.11): Long source line avoided.
-
-2005-09-19 Monday 20:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Native_Integer.inlines.hh (1.13): Use memory_size_type, not
-	  size_t.
-
-2005-09-19 Monday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.inlines.hh (1.37): FIXME dealt with:
-	  total_memory_in_bytes() and external_memory_in_bytes() properly
-	  implemented for checked numbers.
-
-2005-09-19 Monday 19:07  Matthew Mundell
-
-	* src/BD_Shape.defs.hh (1.30): Correct grammar in notes.
-
-2005-09-19 Monday 19:06  Matthew Mundell
-
-	* src/BD_Shape.defs.hh (1.29): Clip trailing whitespace.
-
-2005-09-19 Monday 18:55  Matthew Mundell
-
-	* src/checked.cc (1.5): In parse_number1 parse the exponent in the
-	  FRACTIONAL case.
-
-2005-09-19 Monday 17:11  Matthew Mundell
-
-	* tests/Polyhedron/affineimage6.cc (1.6): Neaten expression
-	  formatting.
-
-2005-09-19 Monday 17:11  Matthew Mundell
-
-	* tests/Polyhedron/addspacedims3.cc (1.6): Correct argument in
-	  print_generators message.
-
-2005-09-19 Monday 17:10  Matthew Mundell
-
-	* tests/Polyhedron/Makefile.am (1.27): Indent all lines in
-	  ORIGINAL_TESTS and DERIVED_TESTS with tabs.
-
-2005-09-19 Monday 17:06  Matthew Mundell
-
-	* tests/BD_Shape/Makefile.am (1.15): Clip trailing whitespace.
-
-2005-09-19 Monday 17:04  Matthew Mundell
-
-	* src/checked.cc (1.4): Use `true' to evaluate true.  Clip trailing
-	  whitespace.
-
-2005-09-19 Monday 17:03  Matthew Mundell
-
-	* src/Polyhedron_widenings.cc (1.47): Correct variable names in
-	  H79_widening_assign comments.
-
-2005-09-19 Monday 17:00  Matthew Mundell
-
-	* src/Polyhedron.defs.hh (1.281): Markup parameter in description.
-
-2005-09-19 Monday 16:56  Matthew Mundell
-
-	* src/Linear_System.defs.hh (1.16): Reformat comment.
-
-2005-09-19 Monday 16:43  Matthew Mundell
-
-	* configure.ac (1.177): Cater for the Debian dpkg version of
-	  md5sum.
-
-2005-09-19 Monday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplex.cc (1.16): Let the parameter names in the definition
-	  of primal_simplex() match those used in its declaration.
-
-2005-09-19 Monday 14:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.21), Watchdog/ChangeLog (1.11): Updated.
-
-2005-09-19 Monday 14:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.defs.hh (1.12): Added documentation for
-	  Constraint_System::primal_simplex().
-
-2005-09-19 Monday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.149): Updated.
-
-2005-09-19 Monday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Saturation_Row.inlines.hh (1.7): Include <cassert>.
-
-2005-09-19 Monday 10:00  Matthew Mundell
-
-	* src/Native_Integer.inlines.hh (1.12): In template gcd take the
-	  absolute value of the resulting gcd instead of initially taking
-	  the absolute value of both arguments.
-
-2005-09-19 Monday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Native_Integer.types.hh (1.10): Fixed struct
-	  Coefficient_traits_template<Native_Integer<int64_t>.
-
-2005-09-19 Monday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.28), Bounding_Box.defs.hh (1.9),
-	  DB_Row.defs.hh (1.9), Determinate.defs.hh (1.57), Init.cc (1.20),
-	  Linear_Row.cc (1.10), Linear_System.cc (1.23), Matrix.cc (1.84),
-	  Polyhedron.defs.hh (1.280), Row.cc (1.87), Row.defs.hh (1.97),
-	  conversion.cc (1.72), globals.cc (1.23): Include globals.types.hh
-	  or globals.defs.hh or none of them as required.
-
-2005-09-19 Monday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/GMP_Integer.defs.hh (1.9): Doxygen comments and sectioning
-	  revised.
-
-2005-09-19 Monday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ask_Tell.defs.hh (1.6), BD_Shape.defs.hh (1.27),
-	  BHRZ03_Certificate.defs.hh (1.12), Bounding_Box.defs.hh (1.8),
-	  DB_Row.defs.hh (1.8), Determinate.defs.hh (1.56),
-	  GMP_Integer.defs.hh (1.8), GMP_Integer.inlines.hh (1.6),
-	  H79_Certificate.defs.hh (1.11), Init.cc (1.19), Linear_Row.cc
-	  (1.9), Linear_System.cc (1.22), Makefile.am (1.118), Matrix.cc
-	  (1.83), Matrix.inlines.hh (1.45), Polyhedra_Powerset.defs.hh
-	  (1.19), Polyhedron.defs.hh (1.279), Row.cc (1.86), Row.defs.hh
-	  (1.96), Saturation_Matrix.cc (1.5), Saturation_Row.defs.hh (1.7),
-	  Variable.defs.hh (1.47), conversion.cc (1.71), globals.cc (1.22),
-	  globals.defs.hh (1.23), globals.types.hh (1.1), simplex.cc
-	  (1.15): Memory size inspection functions and methods should
-	  always return a memory_size_type.  Header file global.types.hh
-	  split from global.defs.hh.  Only include global.types.hh when
-	  possible.
-
-2005-09-19 Monday 07:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.63), Checked_Number.defs.hh (1.32),
-	  GMP_Integer.defs.hh (1.7), Native_Integer.defs.hh (1.12): Added a
-	  couple of blank lines to improve readability.
-
-2005-09-18 Sunday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.62): Use raw_value() to turn a
-	  Coefficient into its underlying type.
-
-2005-09-18 Sunday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Native_Integer.inlines.hh (1.11): Avoid a "unused parameter"
-	  warning.
-
-2005-09-18 Sunday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.61): Avoid excessive assumptions on
-	  the nature of the Coefficient type.
-
-2005-09-18 Sunday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.31): Three FIXMEs investigated and
-	  removed.
-
-2005-09-18 Sunday 20:00  Matthew Mundell
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (grids.[3,3]): Add macros FUNC4, DEF_ASSIGN_FUN5_4 and
-	  DEF_ASSIGN_FUN5_5.  Add function assign_gcdext and the
-	  gcdext_assign user interface functions.
-
-2005-09-18 Sunday 19:55  Matthew Mundell
-
-	* src/: checked.defs.hh, checked.inlines.hh, checked_ext.defs.hh,
-	  checked_ext.inlines.hh, checked_float.inlines.hh,
-	  checked_int.inlines.hh, checked_mpz.inlines.hh
-	  (grids.[3,3,3,3,3,3,3]): Add macros DECLARE_FUN5_0_1,
-	  SPECIALIZE_FUN5_0_1 and SPECIALIZE_GCDEXT.  Add template
-	  gcdext_generic.  Specialize gcdext_generic for integers and
-	  floats.  Add wrapper gcdext_ext.  Add and specialize wrapper
-	  gcdext_mpz.
-
-2005-09-18 Sunday 19:40  Matthew Mundell
-
-	* tests/Grid/addcongruence1.cc (grids.5): Only call find_variation
-	  on the grid under test.
-
-2005-09-18 Sunday 19:39  Matthew Mundell
-
-	* tests/print.cc (grids.4): Include Congruence_System definitions.
-
-2005-09-18 Sunday 19:38  Matthew Mundell
-
-	* src/: Native_Integer.defs.hh, Native_Integer.inlines.hh
-	  (grids.[2,2]): Add gcdext_assign methods.  "Use" the parameter in
-	  external_memory_in_bytes.
-
-2005-09-18 Sunday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Native_Integer.types.hh (1.9): The specializations of
-	  Coefficient_traits_template for native integers are now
-	  differentiated the same way as for checked integers.
-
-2005-09-18 Sunday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.types.hh (1.6), Coefficient.types.hh (1.7),
-	  GMP_Integer.types.hh (1.8), Native_Integer.types.hh (1.8): Treat
-	  the three basic coefficient types (GMP, checked and native) the
-	  same way, as far as the specialization of
-	  Coefficient_traits_template is concerned.
-
-2005-09-18 Sunday 10:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.18), TODO (1.148): Two links fixed.  All the others
-	  need to be checked.
-
-2005-09-17 Saturday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.85): Added an alternative implementation for
-	  Row::normalize() that should be more efficient than the present
-	  one.
-
-2005-09-17 Saturday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.84): Row::normalize() speeded-up further.
-
-2005-09-16 Friday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int64_a (1.2): Adapted to
-	  the recent changes in pl_check.pl.
-
-2005-09-16 Friday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.83): Row::normalize() speeded up.
-
-2005-09-16 Friday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.14): Reduced the scope of a using declaration.
-
-2005-09-16 Friday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.13): Avoid duplicating code in order to
-	  normalize a Row object.
-
-2005-09-16 Friday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Linear_Row.cc (1.8), Linear_Row.defs.hh (1.10), Row.cc
-	  (1.82), Row.defs.hh (1.95): The normalize() method has been moved
-	  from Linear_Row to its base class Row.
-
-2005-09-16 Friday 12:16  Abramo Bagnara
-
-	* src/checked.inlines.hh (1.23): Removed unneeded checks.
-
-2005-09-16 Friday 09:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.cc (1.21), src/Linear_System.defs.hh (1.15),
-	  tests/Polyhedron/gramschmidt1.cc (1.1),
-	  tests/Polyhedron/gramshmidt1.cc (1.2): Spelling correction: it is
-	  "Gram-Schmidt" (the orthonormalization procedure), not
-	  "Gram-Shmidt".
-
-2005-09-16 Friday 06:43  Abramo Bagnara
-
-	* src/: Bounding_Box.inlines.hh (1.8), Polyhedron.inlines.hh
-	  (1.121): Fixed mpq building from arbitrary coefficient type.
-
-2005-09-15 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected3_int16 (1.2),
-	  XSB/expected3_int32 (1.2), XSB/expected3_int8 (1.2),
-	  tests/expected_pchk_int16 (1.2), tests/expected_pchk_int32 (1.2),
-	  tests/expected_pchk_int8 (1.2): Adapted to the recent changes in
-	  pl_check.pl.
-
-2005-09-15 Thursday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int8_a (1.2): Adapted to
-	  the recent changes in pl_check.pl.
-
-2005-09-15 Thursday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_int32_a (1.2): Adapted to
-	  the recent changes in pl_check.pl.
-
-2005-09-15 Thursday 18:21  Abramo Bagnara
-
-	* src/checked.inlines.hh (1.22): Faster and more precise
-	  implementation of gcd.
-
-2005-09-13 Tuesday 19:21  Matthew Mundell
-
-	* tests/Polyhedron/Makefile.am (grids.7): Add derived tests for the
-	  congruence adding tests.
-
-2005-09-13 Tuesday 19:21  Matthew Mundell
-
-	* tests/Polyhedron/addcongruence2.cc (grids.2): Use C_Polyhedron
-	  instead of NNC_Polyhedron.
-
-2005-09-13 Tuesday 18:57  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am, congruences1.cc (grids.[6,1]):
-	  Add test congruences1 and derived test nnc_congruences1, which
-	  test the polyhedra congruence constructors.
-
-2005-09-13 Tuesday 18:55  Matthew Mundell
-
-	* src/: C_Polyhedron.cc, C_Polyhedron.defs.hh, NNC_Polyhedron.cc,
-	  NNC_Polyhedron.defs.hh (grids.[3,3,3,3]): Add C_Polyhedron(const
-	  cgs), C_Polyhedron(cgs), NNC_Polyhedron(const cgs) and
-	  NNC_Polyhedron(cgs).
-
-2005-09-13 Tuesday 17:43  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am, addcongruences1.cc,
-	  addcongruences2.cc, addcongruences3.cc, addcongruences4.cc,
-	  addcongruences5.cc (grids.[5,1,1,1,1,1]): Add addcongruences1-5.
-
-2005-09-13 Tuesday 17:41  Matthew Mundell
-
-	* tests/: print.cc, print.hh (grids.[3,6]): Add
-	  print_constraints(cgs).
-
-2005-09-13 Tuesday 17:41  Matthew Mundell
-
-	* src/: Polyhedron.defs.hh, Polyhedron_nonpublic.cc,
-	  Polyhedron_public.cc (grids.[6,4,4]): Add
-	  throw_dimension_incompatible(m, cgs_name, cgs) and
-	  add_congruences(cgs).
-
-2005-09-13 Tuesday 17:39  Matthew Mundell
-
-	* src/Grid_public.cc (grids.66): In add_constraints(cs) only add
-	  cgs to the grid if congruences have been inserted into cgs.
-
-2005-09-13 Tuesday 17:37  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.46): Correct two descriptions.
-
-2005-09-13 Tuesday 15:56  Matthew Mundell
-
-	* tests/Polyhedron/: Makefile.am, addcongruence1.cc,
-	  addcongruence2.cc, addcongruence3.cc, addcongruence4.cc,
-	  addcongruence5.cc (grids.[4,1,1,1,1,1]): Add addcongruence1-5.
-
-2005-09-13 Tuesday 15:54  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.33): List related tests in TESTS on
-	  single lines.
-
-2005-09-13 Tuesday 15:52  Matthew Mundell
-
-	* src/: Polyhedron.defs.hh, Polyhedron_nonpublic.cc,
-	  Polyhedron_public.cc (grids.[5,3,3]): Add
-	  throw_dimension_incompatible(method, cg_name, cg) and
-	  add_congruence(cg).
-
-2005-09-13 Tuesday 15:51  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.20): Declare Polyhedron a friend.
-
-2005-09-13 Tuesday 15:46  Matthew Mundell
-
-	* src/: Constraint.cc, Constraint.defs.hh (grids.[3,4]): Add
-	  ascii_dump(s).
-
-2005-09-13 Tuesday 15:44  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.inlines.hh (grids.[11,15]): Make
-	  Congruence(c) a real function (was inline).
-
-2005-09-13 Tuesday 15:43  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.45): Use \brief on a line of its own.
-	  Prefer //! to \brief for single line comments.
-
-2005-09-13 Tuesday 15:41  Matthew Mundell
-
-	* tests/Grid/addconstraints1.cc (grids.5): Add test7 (adds an NNC
-	  constraint).
-
-2005-09-12 Monday 16:17  Matthew Mundell
-
-	* STANDARDS (1.23): Add coding standard entries for negation and
-	  comparison to zero.
-
-2005-09-12 Monday 14:29  Matthew Mundell
-
-	* tests/Grid/certificate1.cc (grids.3): Correct an error message in
-	  test3.  Add test6, which uses zero dimension universes.
-
-2005-09-12 Monday 14:28  Matthew Mundell
-
-	* src/Grid_Certificate.cc (grids.3): In Grid_Certificate(cgr)
-	  handle the zero dimension universe specially, and improve three
-	  comments.
-
-2005-09-12 Monday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected3_int16_a (1.2),
-	  tests/expected_pchk_int16_a (1.2): Adapted to the recent changes
-	  in pl_check.pl.
-
-2005-09-11 Sunday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/maxspacedim.cc (1.7): Pass the right parameters to
-	  the BD_Shape template class.
-
-2005-09-11 Sunday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.25): Pass the right parameters to the
-	  BD_Shape template class.
-
-2005-09-11 Sunday 21:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.26), BD_Shape.inlines.hh (1.60): Life
-	  of the user of BD_Shape is now simpler, as he can specify a
-	  BD_Shape by providing the base numerical type used to represent
-	  the inhomogeneous terms.
-
-2005-09-11 Sunday 11:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/tests/pl_check.pl (1.10): Improved error and
-	  exception messages.  Try and ensure that regardless of the error
-	  or exception, an informative message detailing the group test and
-	  the predicates it is testing is printed.
-
-	  An extra noisy level added (noisy(2) for debugging (set by the
-	  predicate make_extra_noisy).
-
-	  check_all now is quiet only as a default and does not change
-	  existing noisy level.
-
-	  Avoiding abbreviations in group names to improve readability.
-
-	  Made three groups for testing the constructor predicates instead
-	  of one.  Simplified test for new_Polyhedron_from_space_dimension.
-
-	  Added tests for
-	  ppl_Polyhedron_generalized_affine_preimage_lhs_rhs.
-
-	  Improved tests  for ppl_Polyhedron_maximize_with_point and
-	  ppl_Polyhedron_minimize_with_point to correct behaviour on
-	  failure.
-
-2005-09-11 Sunday 10:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.defs.hh (1.18),
-	  src/Polyhedra_Powerset.inlines.hh (1.24),
-	  tests/Polyhedron/bhz03widening1.cc (1.6),
-	  tests/Polyhedron/bhz03widening2.cc (1.6),
-	  tests/Polyhedron/bhz03widening3.cc (1.6),
-	  tests/Polyhedron/bhz03widening6.cc (1.6): Removed the shorthand
-	  notation for
-	  Polyhedra_Powerset::BHZ03_widening_assing<BHRZ03_Certificate>(...).
-	  Now the user should always explicitly mention the (type of)
-	  certificate used for the base-level widening operator.
-
-2005-09-10 Saturday 23:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* instchk.hh (1.2): Description and copyright notice added.
-
-2005-09-10 Saturday 23:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_mpz.inlines.hh (1.26): Avoid assert(0) and make sure
-	  the compiler does not think we are returning without a value.
-
-2005-09-10 Saturday 23:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_int.inlines.hh (1.37): Avoid naming unused arguments.
-
-2005-09-10 Saturday 23:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.42): FIXME added.
-
-2005-09-10 Saturday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.176), instchk.hh (1.1): Started the
-	  implementation of the --enable-instances option.
-
-2005-09-08 Thursday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.175): Better logic to handle interfaces that are
-	  enabled by default.
-
-2005-09-08 Thursday 01:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.174), Watchdog/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-08 Thursday 01:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.173), interfaces/Prolog/Ciao/Makefile.am (1.45),
-	  interfaces/Prolog/GNU/Makefile.am (1.48),
-	  interfaces/Prolog/SICStus/Makefile.am (1.54),
-	  interfaces/Prolog/SWI/Makefile.am (1.52),
-	  interfaces/Prolog/XSB/Makefile.am (1.35),
-	  interfaces/Prolog/YAP/Makefile.am (1.39): Allow to selectively
-	  enable the construction of the Prolog interfaces.
-
-2005-09-07 Wednesday 23:37  Matthew Mundell
-
-	* src/Grid_Certificate.cc (grids.2): In Grid_Certificate(cgr) call
-	  simplify outside the points assertion.
-
-2005-09-07 Wednesday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_swi_prolog.m4 (1.4): Only set `have_swi_prolog' and
-	  leave it to the caller to decide whether define an Automake
-	  conditional and which one.
-
-2005-09-07 Wednesday 08:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.172): Started implementing the new
-	  `--enable-interfaces' option.
-
-2005-09-06 Tuesday 16:24  Matthew Mundell
-
-	* tests/Grid/widening1.cc (grids.5): Add test15, to show problems
-	  with using the Halbwachs method.
-
-2005-09-06 Tuesday 16:23  Matthew Mundell
-
-	* src/Grid_widenings.cc (grids.4): Add space between sentences.
-
-2005-09-06 Tuesday 15:27  Matthew Mundell
-
-	* tests/Grid/certificate1.cc (grids.2): Use compare(gr) or struct
-	  Compare::operator() instead of compare(grc) in some of the
-	  comparison tests.  Also test is_stabilising in some of the tests.
-
-2005-09-06 Tuesday 15:00  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, certificate1.cc (grids.[32,1]): Add
-	  certificate1, which tests class Grid_Certificate.
-
-2005-09-06 Tuesday 13:19  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, contains2.cc (grids.[31,1]): Add
-	  contains2, which tests strictly_contains.
-
-2005-09-06 Tuesday 13:19  Matthew Mundell
-
-	* tests/Grid/contains1.cc (grids.2): Improve failure messages.
-
-2005-09-06 Tuesday 13:07  Matthew Mundell
-
-	* tests/Grid/bhz03widening1.cc (grids.2): Describe test1.  Add
-	  test2, where the widening falls back to joining the grids.
-
-2005-09-05 Monday 23:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Widening_Function.defs.hh, Widening_Function.inlines.hh,
-	  Widening_Function.types.hh (grids.[2,2,1]): Ported from the main
-	  trunk: the version of widen_fun_ref() building a limited widening
-	  function is now parametric on its second argument too (i.e., the
-	  limiting cs).
-
-2005-09-05 Monday 22:51  Matthew Mundell
-
-	* tests/Grid/congruence1.cc (grids.6): Add colons to messages.
-
-2005-09-05 Monday 22:50  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, bhz03widening1.cc (grids.[30,1]): Add
-	  an initial bhz03widening1.
-
-2005-09-05 Monday 22:49  Matthew Mundell
-
-	* src/: Polyhedra_Powerset.inlines.hh, Polyhedron.defs.hh,
-	  Polyhedron.inlines.hh (grids.[4,4,4]): Add method
-	  Polyhedron::difference_assign, and use it in
-	  BHZ03_widening_assign (shadowing the trunk).
-
-2005-09-05 Monday 22:37  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.32): Shorten two comments.
-
-2005-09-05 Monday 22:37  Matthew Mundell
-
-	* src/: Congruence_System.defs.hh, Generator_System.defs.hh,
-	  Grid.defs.hh, Grid.inlines.hh (grids.[14,5,44,19]): Befriend
-	  Grid_Certificate where necessary.  Enable
-	  Grid::strictly_contains.  Add difference_assign.
-
-2005-09-05 Monday 22:34  Matthew Mundell
-
-	* src/: Grid_Certificate.cc, Grid_Certificate.defs.hh,
-	  Grid_Certificate.inlines.hh, Grid_Certificate.types.hh,
-	  Makefile.am (grids.[1,1,1,1,7]): Add class Grid_Certificate.
-
-2005-09-05 Monday 17:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_Powerset.inlines.hh (1.23), Polyhedron.defs.hh
-	  (1.278), Polyhedron.inlines.hh (1.120): Added method
-	  difference_assign(), which is now used in the widening on
-	  powersets.
-
-2005-09-05 Monday 11:15  Matthew Mundell
-
-	* src/Grid_public.cc (grids.65): In relation_with(cg) use the
-	  scalar_product_assign that expects cg to be at most the size of
-	  the generator.
-
-2005-09-05 Monday 11:13  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh (grids.[10,19]): Add
-	  scalar_product_assign(Coefficient&, const Congruence&, const
-	  Linear_Row&).
-
-2005-09-05 Monday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Widening_Function.defs.hh (1.12),
-	  Widening_Function.inlines.hh (1.11), Widening_Function.types.hh
-	  (1.3): The version of widen_fun_ref() building a limited widening
-	  function is now parametric on its second argument too (i.e., the
-	  limiting cs).
-
-2005-09-04 Sunday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.inlines.hh (1.21): Workaround and FIXME added for the
-	  bug affecting lcm_generic().
-
-2005-09-04 Sunday 23:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/conversion.cc (1.70): FIXME dealt with.
-
-2005-09-04 Sunday 21:05  Matthew Mundell
-
-	* tests/Grid/: join1.cc, join2.cc (grids.[8,4]): Use common
-	  Variables for all the tests.	Only call find_variation for the
-	  grid under test.
-
-2005-09-04 Sunday 21:04  Matthew Mundell
-
-	* tests/Grid/generalizedaffinepreimage1.cc (grids.4): Correct the
-	  known grids in test3, test4 and test5.
-
-2005-09-04 Sunday 21:03  Matthew Mundell
-
-	* tests/Grid/affinepreimage1.cc (grids.4): Note which second grid
-	  is under test in failure messages.  Correct the known grid and
-	  given variable in test13.
-
-2005-09-04 Sunday 20:58  Matthew Mundell
-
-	* tests/Grid/addconstraints1.cc (grids.4): Comment the end of the
-	  namespace block.
-
-2005-09-04 Sunday 20:57  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, contains1.cc, join3.cc
-	  (grids.[29,1,1]): Add contains1, including a test for the
-	  is_included_in error found via CHINA.  Add join3, which tests
-	  join_assign_if_exact.
-
-2005-09-04 Sunday 20:52  Matthew Mundell
-
-	* src/Grid_public.cc (grids.64): Implement join_assign_if_exact.
-
-2005-09-04 Sunday 19:35  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.31): In is_included_in check that
-	  all generators (including the first one) satisfy the congruences.
-
-2005-09-04 Sunday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Congruence.defs.hh, Congruence.inlines.hh (grids.[18,14]):
-	  Avoid returning references to temporaries.
-
-2005-09-04 Sunday 00:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Saturation_Row.cc (1.8): FIXME dealt with.
-
-2005-09-03 Saturday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/: Makefile.am, bug1.cc, bug1.dat (grids.[28,4,4]):
-	  Obsolete test program removed.
-
-2005-09-03 Saturday 23:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: NNC_Polyhedron.inlines.hh (grids.2),
-	  NNC_Polyhedron.inlines.hh (1.30): Added the implementation of
-	  NNC_Polyhedron::upper_bound_assign_if_exact(const
-	  NNC_Polyhedron&).
-
-2005-09-03 Saturday 13:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh, Determinate.inlines.hh,
-	  Polyhedra_Powerset.defs.hh, Polyhedra_Powerset.inlines.hh
-	  (grids.[2,3,3,3]): Added constructors taking congruence systems.
-
-2005-09-03 Saturday 13:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/Makefile.am, src/BD_Shape.defs.hh,
-	  src/BD_Shape.inlines.hh, src/C_Polyhedron.cc,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  src/Constraint_System.defs.hh, src/Determinate.inlines.hh,
-	  src/NNC_Polyhedron.cc, src/NNC_Polyhedron.defs.hh,
-	  src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron_nonpublic.cc,
-	  src/Powerset.inlines.hh, src/algorithms.hh, src/simplex.cc,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/bdshull1.cc,
-	  tests/BD_Shape/bdshull2.cc, tests/BD_Shape/bdshull3.cc,
-	  tests/BD_Shape/bdshull4.cc, tests/BD_Shape/cc76extrapolation2.cc,
-	  tests/BD_Shape/cc76extrapolation6.cc,
-	  tests/BD_Shape/ch78widening6.cc, tests/BD_Shape/exceptions1.cc,
-	  tests/BD_Shape/polyhull1.cc, tests/BD_Shape/polyhull2.cc,
-	  tests/BD_Shape/polyhull3.cc, tests/BD_Shape/polyhull4.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/max_min1.cc,
-	  tests/Polyhedron/max_min2.cc, tests/Polyhedron/primalsimplex1.cc
-	  (grids.[3,3,3,2,3,3,3,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,3,1,1,1,1,2,2,2,3,2,2,2,2,3,2,2,1]):
-	  Third merge from main trunk.
-
-2005-09-03 Saturday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Powerset.inlines.hh (1.12): Output function fixed.
-
-2005-09-03 Saturday 13:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Powerset.inlines.hh (1.11): Bracketing fixed in
-	  operator<<(std::ostream&, const Powerset<CS>&).
-
-2005-09-03 Saturday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.inlines.hh (1.50): Do not refer to
-	  element().poly_hull_assign(): refer to
-	  element().upper_bound_assign() instead.
-
-2005-09-03 Saturday 12:47  Matthew Mundell
-
-	* src/: Congruence_System.inlines.hh, Grid_Status.cc,
-	  Grid_conversion.cc, Grid_nonpublic.cc (grids.[6,3,19,30]): Update
-	  FSF address.
-
-2005-09-03 Saturday 12:46  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_public.cc
-	  (grids.[43,18,63]): Add methods upper_bound_assign,
-	  join_assign_if_exact and upper_bound_assign_if_exact.
-
-2005-09-03 Saturday 12:44  Matthew Mundell
-
-	* tests/Grid/join1.cc (grids.7): Use upper_bound_assign in some of
-	  the tests.
-
-2005-09-03 Saturday 12:44  Matthew Mundell
-
-	* tests/Grid/addconstraints1.cc (grids.3): Update FSF address.
-
-2005-09-03 Saturday 12:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.25), BD_Shape.inlines.hh (1.59): Added
-	  declarations and dummy implementations for method bool
-	  BD_Shape<T>::bds_hull_assign_if_exact(const BD_Shape&) and its
-	  alias bool BD_Shape<T>::upper_bound_assign_if_exact(const
-	  BD_Shape&).
-
-2005-09-03 Saturday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.37), NNC_Polyhedron.defs.hh (1.39):
-	  Comments fixed and completed.
-
-2005-09-03 Saturday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.36), NNC_Polyhedron.defs.hh (1.38):
-	  Comments fixed.
-
-2005-09-03 Saturday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.35), C_Polyhedron.inlines.hh
-	  (1.28), NNC_Polyhedron.cc (1.16), NNC_Polyhedron.defs.hh (1.37):
-	  Be consistent in the choice of parameters' names.
-
-2005-09-03 Saturday 12:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.22): Use the
-	  PH::upper_bound_assign_if_exact() method and not the function
-	  with the same name.
-
-2005-09-03 Saturday 12:07  Matthew Mundell
-
-	* tests/Grid/: addcongruence1.cc, addgenerator1.cc,
-	  addspacedims1.cc, addspacedims2.cc, affineimage1.cc,
-	  affinepreimage1.cc, bug1.cc, concatenate1.cc, congruence1.cc,
-	  congruencesystem1.cc, congruencesystem2.cc, equals1.cc,
-	  expandspacedim1.cc, foldspacedims1.cc,
-	  generalizedaffineimage1.cc, generalizedaffineimage2.cc,
-	  generalizedaffinepreimage1.cc, generalizedaffinepreimage2.cc,
-	  grid1.cc, grid2.cc, griddifference1.cc, intersection1.cc,
-	  intersection2.cc, isuniverse1.cc, join1.cc, join2.cc,
-	  limitedextrapolation1.cc, mapspacedims1.cc, relations1.cc,
-	  relations2.cc, removespacedims1.cc, removespacedims2.cc,
-	  timeelapse1.cc, widening1.cc, writecongruencesystem.cc
-	  (grids.[4,10,8,5,4,3,3,2,5,6,6,2,4,3,3,4,3,3,20,16,5,4,5,3,6,3,3,9,3,5,5,4,3,4,5]):
-	  Update FSF address.
-
-2005-09-03 Saturday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.cc (1.16), C_Polyhedron.defs.hh (1.34),
-	  C_Polyhedron.inlines.hh (1.27), NNC_Polyhedron.cc (1.15),
-	  NNC_Polyhedron.defs.hh (1.36), algorithms.hh (1.42): New methods
-	  bool C_Polyhedron::poly_hull_assign_if_exact(const C_Polyhedron&)
-	  and bool NNC_Polyhedron::poly_hull_assign_if_exact(const
-	  NNC_Polyhedron&) and their synonyms bool
-	  C_Polyhedron::upper_bound_assign_if_exact(const C_Polyhedron&)
-	  and bool NNC_Polyhedron::upper_bound_assign_if_exact(const
-	  NNC_Polyhedron&).
-
-2005-09-03 Saturday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.277): Long source line avoided.
-
-2005-09-03 Saturday 11:53  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
-	  Congruence_System.cc, Congruence_System.defs.hh, Grid.defs.hh,
-	  Grid.inlines.hh, Grid_Status.idefs.hh, Grid_Status.inlines.hh,
-	  Grid_chdims.cc, Grid_minimize.cc, Grid_public.cc,
-	  Grid_simplify.cc, Grid_widenings.cc
-	  (grids.[9,17,13,23,13,42,17,3,2,17,17,62,30,3]): Update FSF
-	  address.
-
-2005-09-03 Saturday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: max_min1.cc (1.5), max_min2.cc (1.5): Adapted
-	  so as to use the new interfaces for maximize() and minimize().
-
-2005-09-03 Saturday 11:18  Matthew Mundell
-
-	* tests/Grid/writecongruencesystem.cc (grids.4): Use a single equal
-	  sign in the expected output string.
-
-2005-09-03 Saturday 11:17  Matthew Mundell
-
-	* tests/Grid/: addcongruence1.cc, addgenerator1.cc,
-	  affineimage1.cc, affinepreimage1.cc, expandspacedim1.cc,
-	  foldspacedims1.cc, generalizedaffineimage1.cc,
-	  generalizedaffineimage2.cc, generalizedaffinepreimage1.cc,
-	  generalizedaffinepreimage2.cc, grid1.cc, grid2.cc,
-	  griddifference1.cc, intersection1.cc, intersection2.cc,
-	  limitedextrapolation1.cc, mapspacedims1.cc, relations1.cc,
-	  relations2.cc, timeelapse1.cc, widening1.cc
-	  (grids.[3,9,3,2,3,2,2,3,2,2,19,15,4,3,4,2,8,2,4,2,3]): Use the
-	  new Degenerate_Element kinds.
-
-2005-09-03 Saturday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.21): Refer to
-	  "upper_bound_assign" methods rather than "poly_hull_assign" ones.
-	  Corrected several instances were the
-	  `Determinate<PH>::element()' accessor was not used.
-
-2005-09-03 Saturday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.defs.hh (1.17): New typedef `element_type'
-	  corresponding to the type of the underlying numeric domain.
-
-2005-09-03 Saturday 10:53  Matthew Mundell
-
-	* tests/Grid/addconstraints1.cc (grids.2): Dump grids on error.
-	  Test Grid(ccs).  Add tests where the resulting grid is empty.
-
-2005-09-03 Saturday 10:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.24), src/BD_Shape.inlines.hh (1.58),
-	  tests/BD_Shape/Makefile.am (1.14), tests/BD_Shape/bdshull1.cc
-	  (1.1), tests/BD_Shape/bdshull2.cc (1.1),
-	  tests/BD_Shape/bdshull3.cc (1.1), tests/BD_Shape/bdshull4.cc
-	  (1.1), tests/BD_Shape/cc76extrapolation2.cc (1.5),
-	  tests/BD_Shape/cc76extrapolation6.cc (1.6),
-	  tests/BD_Shape/ch78widening6.cc (1.6),
-	  tests/BD_Shape/exceptions1.cc (1.6), tests/BD_Shape/polyhull1.cc
-	  (1.5), tests/BD_Shape/polyhull2.cc (1.5),
-	  tests/BD_Shape/polyhull3.cc (1.5), tests/BD_Shape/polyhull4.cc
-	  (1.5): Methods BD_Shape::poly_hull_assign* renamed
-	  bds_hull_assign*.  New method void upper_bound_assign(const
-	  BD_Shape<T>& y) is the same as bds_hull_assign(y).
-
-2005-09-03 Saturday 10:51  Matthew Mundell
-
-	* src/Grid_public.cc (grids.61): In Grid(ccs) ensure that the grid
-	  is the same dimension as ccs.
-
-2005-09-03 Saturday 10:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.276), Polyhedron.inlines.hh (1.119):
-	  New method void upper_bound_assign(const Polyhedron& y) is the
-	  same as poly_hull_assign(y).
-
-2005-09-03 Saturday 10:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.18): Corrected to match the new
-	  specifications for Polyhedron::maximize(), Polyhedron::minimize()
-	  and Constraint_System::primal_simplex().  Also corrected a memory
-	  leak bug.
-
-2005-09-03 Saturday 10:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/: C/ppl_c.cc (1.137), C/ppl_c.h.in (1.52),
-	  Prolog/ppl_prolog.icc (1.160): Interfaces updated to match the
-	  new specifications of Polyhedron::maximize(),
-	  Polyhedron::minimize() and Constraint_System::primal_simplex().
-
-2005-09-03 Saturday 10:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.inlines.hh (1.57), Constraint_System.defs.hh
-	  (1.11), Polyhedron.defs.hh (1.275), Polyhedron.inlines.hh
-	  (1.118), Polyhedron_nonpublic.cc (1.50), simplex.cc (1.12):
-	  Corrected a bug in the implementation of
-	  Constraint_System::primal_simplex() whereby a feasible solution
-	  was claimed even for inconsistent constraint systems. Added
-	  private method   Simplex_Status
-	  Constraint_System::primal_simplex(obj, gen) that maximizes obj on
-	  the low-level polyhedron (i.e., the eps-polyhedron if topology is
-	  NNC) encoded by the constraint system.  New method used to
-	  correct a bug in the implementation of
-	  Polyhedron::minimized_constraints() whereby the constraint system
-	  could have been marked minimized even if it was not.	Simplified
-	  the interfaces of methods   Polyhedron::minimize(),
-	  Polyhedron::maximize(),   Constraint_System::primal_simplex() by
-	  avoiding memory-leakage prone parameter passing.
-
-2005-09-02 Friday 23:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.26), primalsimplex1.cc (1.1):
-	  This test shows an error in Constraint_System::primal_simplex().
-
-2005-09-02 Friday 20:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Grid.defs.hh, Grid_public.cc (grids.[41,60]): Use the
-	  global DEGENERATE_ELEMENT enum instead of the local
-	  DEGENERATE_KIND.
-
-2005-09-02 Friday 19:15  Matthew Mundell
-
-	* src/Congruence.inlines.hh (grids.12): Compute the row capacity in
-	  Congruence(c).
-
-2005-09-02 Friday 18:54  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, addconstraints1.cc (grids.[27,1]): Add
-	  addconstraints1.
-
-2005-09-02 Friday 18:53  Matthew Mundell
-
-	* src/Congruence.inlines.hh (grids.11): Account for the extra
-	  element in NNC constraints in Congruence(c).
-
-2005-09-02 Friday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.44): Dividing by 10 the
-	  parameter GLOBALSTKSIZE seems to help testing with clpq2.
-
-2005-09-02 Friday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING, Makefile.am, NEWS, README, README.configure, STANDARDS,
-	  TODO, build_header, compile, config.guess, config.rpath,
-	  config.sub, configure.ac, depcomp, install-sh, ltmain.sh,
-	  missing, mkinstalldirs, Watchdog/COPYING,
-	  Watchdog/Doubly_Linked_Object.defs.hh,
-	  Watchdog/Doubly_Linked_Object.inlines.hh, Watchdog/EList.defs.hh,
-	  Watchdog/EList.inlines.hh, Watchdog/EList_Iterator.defs.hh,
-	  Watchdog/EList_Iterator.inlines.hh, Watchdog/Handler.defs.hh,
-	  Watchdog/Handler.inlines.hh, Watchdog/Makefile.am,
-	  Watchdog/Pending_Element.cc, Watchdog/Pending_Element.defs.hh,
-	  Watchdog/Pending_Element.inlines.hh, Watchdog/Pending_List.cc,
-	  Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh,
-	  Watchdog/README, Watchdog/Time.cc, Watchdog/Time.defs.hh,
-	  Watchdog/Time.inlines.hh, Watchdog/Watchdog.cc,
-	  Watchdog/Watchdog.defs.hh, Watchdog/Watchdog.inlines.hh,
-	  Watchdog/compile, Watchdog/config.guess, Watchdog/config.sub,
-	  Watchdog/configure.ac, Watchdog/depcomp, Watchdog/install-sh,
-	  Watchdog/ltmain.sh, Watchdog/missing, Watchdog/mkinstalldirs,
-	  Watchdog/pwl_header.bottom, Watchdog/pwl_header.hh,
-	  Watchdog/pwl_header.middle, Watchdog/pwl_header.top,
-	  Watchdog/utils/.cvsignore, Watchdog/utils/Makefile.am,
-	  Watchdog/utils/build_header, debian/libppl-pwl.copyright.in,
-	  debian/libppl.copyright.in, demos/Makefile.am,
-	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
-	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/ppl_lpsol.c,
-	  demos/ppl_lpsol/examples/Makefile.am, doc/Makefile.am,
-	  doc/README.doc, doc/definitions.dox,
-	  doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/fdl.dox, doc/fdl.tex, doc/fdl.txt, doc/gpl.dox, doc/gpl.tex,
-	  doc/gpl.txt, doc/ppl.sty, doc/user-browse.doxyconf-latex.in,
-	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  interfaces/Makefile.am, interfaces/C/Makefile.am,
-	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
-	  interfaces/OCaml/Makefile.am, interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ciao_clpq.pl,
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/GNU/gp_clpq.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.h,
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
-	  interfaces/Prolog/SICStus/sp_clpq.pl,
-	  interfaces/Prolog/SICStus/sp_pl_check.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/pl_clpq.cc,
-	  interfaces/Prolog/SWI/pl_clpq.pl,
-	  interfaces/Prolog/SWI/ppl_pl.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/YAP/ppl_yap.pl,
-	  interfaces/Prolog/YAP/yap_clpq.pl,
-	  interfaces/Prolog/YAP/yap_clpq2.pl,
-	  interfaces/Prolog/YAP/yap_pl_check.pl,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/clpq.pl,
-	  interfaces/Prolog/tests/clpq2.pl,
-	  interfaces/Prolog/tests/pl_check.pl, m4/Makefile.am,
-	  m4/ac_check_gmp.m4, m4/ac_check_swi_prolog.m4,
-	  m4/ac_cxx_attribute_weak.m4, m4/ac_cxx_double_is_iec_559.m4,
-	  m4/ac_cxx_flexible_arrays.m4, m4/ac_cxx_float_is_iec_559.m4,
-	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_double_is_iec_559.m4,
-	  m4/ac_cxx_long_long.m4, m4/ppl.m4, src/Ask_Tell.defs.hh,
-	  src/Ask_Tell.inlines.hh, src/BDS_Status.idefs.hh,
-	  src/BDS_Status.inlines.hh, src/BD_Shape.defs.hh,
-	  src/BD_Shape.inlines.hh, src/BHRZ03_Certificate.cc,
-	  src/BHRZ03_Certificate.defs.hh,
-	  src/BHRZ03_Certificate.inlines.hh, src/Bounding_Box.cc,
-	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
-	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
-	  src/C_Polyhedron.inlines.hh, src/Checked_Number.cc,
-	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	  src/Coefficient.cc, src/Coefficient.defs.hh,
-	  src/Coefficient.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_Row.defs.hh,
-	  src/DB_Row.inlines.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/E_NIT.defs.hh,
-	  src/E_NIT.inlines.hh, src/E_NIT.types.hh, src/E_Rational.defs.hh,
-	  src/E_Rational.inlines.hh, src/E_Rational.types.hh,
-	  src/Float.defs.hh, src/Float.inlines.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/H79_Certificate.cc,
-	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
-	  src/Init.cc, src/Init.defs.hh, src/Interval.cc,
-	  src/Interval.defs.hh, src/Interval.inlines.hh,
-	  src/Interval.types.hh, src/Limits.hh, src/Linear_Expression.cc,
-	  src/Linear_Expression.defs.hh, src/Linear_Expression.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/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
-	  src/Matrix.inlines.hh, src/NNC_Polyhedron.cc,
-	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
-	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
-	  src/Numeric_Format.defs.hh, src/Ph_Status.cc,
-	  src/Ph_Status.idefs.hh, src/Ph_Status.inlines.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/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.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/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
-	  src/Result.defs.hh, src/Result.inlines.hh, src/Rounding.defs.hh,
-	  src/Rounding.types.hh, src/Row.cc, src/Row.defs.hh,
-	  src/Row.inlines.hh, src/Saturation_Matrix.cc,
-	  src/Saturation_Matrix.defs.hh, src/Saturation_Matrix.inlines.hh,
-	  src/Saturation_Row.cc, src/Saturation_Row.defs.hh,
-	  src/Saturation_Row.inlines.hh, src/Variable.cc,
-	  src/Variable.defs.hh, src/Variable.inlines.hh,
-	  src/Widening_Function.defs.hh, src/Widening_Function.inlines.hh,
-	  src/algorithms.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/float.types.hh,
-	  src/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
-	  src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.cc,
-	  src/globals.defs.hh, src/globals.inlines.hh, src/initializer.hh,
-	  src/max_space_dimension.hh, src/minimize.cc, src/namespaces.hh,
-	  src/ppl-config.cc.in, src/ppl_header.hh, src/simplex.cc,
-	  src/simplify.cc, src/swapping_sort.icc, src/version.cc,
-	  src/version.hh.in, tests/BBox.cc, tests/BBox.hh,
-	  tests/Makefile.am, tests/PFunction.cc, tests/PFunction.hh,
-	  tests/ehandlers.cc, tests/ehandlers.hh, tests/files.cc,
-	  tests/files.hh, tests/ppl_test.hh, tests/print.cc,
-	  tests/print.hh, tests/BD_Shape/Makefile.am,
-	  tests/BD_Shape/addconstraints1.cc,
-	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
-	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
-	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
-	  tests/BD_Shape/addspacedims7.cc, tests/BD_Shape/affineimage1.cc,
-	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
-	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
-	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
-	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/affinepreimage2.cc,
-	  tests/BD_Shape/affinepreimage3.cc,
-	  tests/BD_Shape/affinepreimage4.cc,
-	  tests/BD_Shape/affinepreimage5.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/ascii_dump_load2.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76extrapolation2.cc,
-	  tests/BD_Shape/cc76extrapolation3.cc,
-	  tests/BD_Shape/cc76extrapolation4.cc,
-	  tests/BD_Shape/cc76extrapolation5.cc,
-	  tests/BD_Shape/cc76extrapolation6.cc,
-	  tests/BD_Shape/cc76narrowing1.cc,
-	  tests/BD_Shape/cc76narrowing2.cc,
-	  tests/BD_Shape/cc76narrowing3.cc,
-	  tests/BD_Shape/cc76narrowing4.cc,
-	  tests/BD_Shape/cc76narrowing5.cc,
-	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
-	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
-	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
-	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
-	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/concatenate2.cc,
-	  tests/BD_Shape/concatenate3.cc, tests/BD_Shape/concatenate4.cc,
-	  tests/BD_Shape/concatenate5.cc, tests/BD_Shape/constraints1.cc,
-	  tests/BD_Shape/constraints2.cc, tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/contains2.cc, tests/BD_Shape/contains3.cc,
-	  tests/BD_Shape/empty1.cc, tests/BD_Shape/empty2.cc,
-	  tests/BD_Shape/empty3.cc, tests/BD_Shape/empty4.cc,
-	  tests/BD_Shape/empty5.cc, tests/BD_Shape/equality1.cc,
-	  tests/BD_Shape/exceptions1.cc, tests/BD_Shape/exceptions2.cc,
-	  tests/BD_Shape/exceptions3.cc, tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage10.cc,
-	  tests/BD_Shape/generalizedaffineimage11.cc,
-	  tests/BD_Shape/generalizedaffineimage12.cc,
-	  tests/BD_Shape/generalizedaffineimage13.cc,
-	  tests/BD_Shape/generalizedaffineimage14.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffineimage3.cc,
-	  tests/BD_Shape/generalizedaffineimage4.cc,
-	  tests/BD_Shape/generalizedaffineimage5.cc,
-	  tests/BD_Shape/generalizedaffineimage6.cc,
-	  tests/BD_Shape/generalizedaffineimage7.cc,
-	  tests/BD_Shape/generalizedaffineimage8.cc,
-	  tests/BD_Shape/generalizedaffineimage9.cc,
-	  tests/BD_Shape/h79widening1.cc, tests/BD_Shape/intersection1.cc,
-	  tests/BD_Shape/intersection2.cc, tests/BD_Shape/intersection3.cc,
-	  tests/BD_Shape/intersection4.cc, tests/BD_Shape/intersection5.cc,
-	  tests/BD_Shape/intersection6.cc, tests/BD_Shape/intersection7.cc,
-	  tests/BD_Shape/intersection8.cc,
-	  tests/BD_Shape/limitedCC76extrapolation1.cc,
-	  tests/BD_Shape/limitedCC76extrapolation2.cc,
-	  tests/BD_Shape/limitedCC76extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation1.cc,
-	  tests/BD_Shape/limitedCH78extrapolation2.cc,
-	  tests/BD_Shape/limitedCH78extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation4.cc,
-	  tests/BD_Shape/limitedCH78extrapolation5.cc,
-	  tests/BD_Shape/limitedCH78extrapolation6.cc,
-	  tests/BD_Shape/limitedCH78extrapolation7.cc,
-	  tests/BD_Shape/limitedCH78extrapolation8.cc,
-	  tests/BD_Shape/limitedCH78extrapolation9.cc,
-	  tests/BD_Shape/limitedh79extrapolation1.cc,
-	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
-	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
-	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/polydifference1.cc,
-	  tests/BD_Shape/polydifference2.cc,
-	  tests/BD_Shape/polydifference3.cc,
-	  tests/BD_Shape/polydifference4.cc,
-	  tests/BD_Shape/polydifference5.cc,
-	  tests/BD_Shape/polydifference6.cc, tests/BD_Shape/polyhull1.cc,
-	  tests/BD_Shape/polyhull2.cc, tests/BD_Shape/polyhull3.cc,
-	  tests/BD_Shape/polyhull4.cc, tests/BD_Shape/relations1.cc,
-	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
-	  tests/BD_Shape/relations4.cc, tests/BD_Shape/relations5.cc,
-	  tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/removespacedims2.cc,
-	  tests/BD_Shape/removespacedims3.cc,
-	  tests/BD_Shape/timeelapse1.cc, tests/BD_Shape/timeelapse2.cc,
-	  tests/BD_Shape/timeelapse3.cc, tests/BD_Shape/timeelapse4.cc,
-	  tests/BD_Shape/timeelapse5.cc, tests/BD_Shape/universe1.cc,
-	  tests/BD_Shape/writebdshape1.cc, tests/BD_Shape/writebdshape2.cc,
-	  tests/Polyhedron/CbecomesNNC1.cc, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/NNCbecomesC1.cc,
-	  tests/Polyhedron/NNCminimize1.cc,
-	  tests/Polyhedron/NNCminimize2.cc,
-	  tests/Polyhedron/NNCminimize3.cc,
-	  tests/Polyhedron/NNCminimize4.cc,
-	  tests/Polyhedron/NNCminimize5.cc,
-	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
-	  tests/Polyhedron/addconstraint1.cc,
-	  tests/Polyhedron/addconstraint2.cc,
-	  tests/Polyhedron/addconstraint3.cc,
-	  tests/Polyhedron/addconstraints1.cc,
-	  tests/Polyhedron/addconstraints10.cc,
-	  tests/Polyhedron/addconstraints11.cc,
-	  tests/Polyhedron/addconstraints12.cc,
-	  tests/Polyhedron/addconstraints13.cc,
-	  tests/Polyhedron/addconstraints2.cc,
-	  tests/Polyhedron/addconstraints3.cc,
-	  tests/Polyhedron/addconstraints4.cc,
-	  tests/Polyhedron/addconstraints5.cc,
-	  tests/Polyhedron/addconstraints6.cc,
-	  tests/Polyhedron/addconstraints7.cc,
-	  tests/Polyhedron/addconstraints8.cc,
-	  tests/Polyhedron/addconstraints9.cc,
-	  tests/Polyhedron/addgenerator1.cc,
-	  tests/Polyhedron/addgenerator2.cc,
-	  tests/Polyhedron/addgenerator3.cc,
-	  tests/Polyhedron/addgenerator4.cc,
-	  tests/Polyhedron/addgenerator5.cc,
-	  tests/Polyhedron/addgenerators1.cc,
-	  tests/Polyhedron/addgenerators10.cc,
-	  tests/Polyhedron/addgenerators11.cc,
-	  tests/Polyhedron/addgenerators12.cc,
-	  tests/Polyhedron/addgenerators13.cc,
-	  tests/Polyhedron/addgenerators2.cc,
-	  tests/Polyhedron/addgenerators3.cc,
-	  tests/Polyhedron/addgenerators4.cc,
-	  tests/Polyhedron/addgenerators5.cc,
-	  tests/Polyhedron/addgenerators6.cc,
-	  tests/Polyhedron/addgenerators7.cc,
-	  tests/Polyhedron/addgenerators8.cc,
-	  tests/Polyhedron/addgenerators9.cc,
-	  tests/Polyhedron/addspacedims1.cc,
-	  tests/Polyhedron/addspacedims10.cc,
-	  tests/Polyhedron/addspacedims11.cc,
-	  tests/Polyhedron/addspacedims12.cc,
-	  tests/Polyhedron/addspacedims13.cc,
-	  tests/Polyhedron/addspacedims2.cc,
-	  tests/Polyhedron/addspacedims3.cc,
-	  tests/Polyhedron/addspacedims4.cc,
-	  tests/Polyhedron/addspacedims5.cc,
-	  tests/Polyhedron/addspacedims6.cc,
-	  tests/Polyhedron/addspacedims7.cc,
-	  tests/Polyhedron/addspacedims8.cc,
-	  tests/Polyhedron/addspacedims9.cc,
-	  tests/Polyhedron/affineimage1.cc,
-	  tests/Polyhedron/affineimage2.cc,
-	  tests/Polyhedron/affineimage3.cc,
-	  tests/Polyhedron/affineimage4.cc,
-	  tests/Polyhedron/affineimage5.cc,
-	  tests/Polyhedron/affineimage6.cc,
-	  tests/Polyhedron/affineimage7.cc,
-	  tests/Polyhedron/affineimage8.cc,
-	  tests/Polyhedron/affineimage9.cc,
-	  tests/Polyhedron/affinepreimage1.cc,
-	  tests/Polyhedron/affinepreimage10.cc,
-	  tests/Polyhedron/affinepreimage11.cc,
-	  tests/Polyhedron/affinepreimage2.cc,
-	  tests/Polyhedron/affinepreimage3.cc,
-	  tests/Polyhedron/affinepreimage4.cc,
-	  tests/Polyhedron/affinepreimage5.cc,
-	  tests/Polyhedron/affinepreimage6.cc,
-	  tests/Polyhedron/affinepreimage7.cc,
-	  tests/Polyhedron/affinepreimage8.cc,
-	  tests/Polyhedron/affinepreimage9.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/ascii_dump_load4.cc,
-	  tests/Polyhedron/ascii_dump_load5.cc,
-	  tests/Polyhedron/ascii_dump_load6.cc,
-	  tests/Polyhedron/ascii_dump_load7.cc,
-	  tests/Polyhedron/bgp99extrapolation1.cc,
-	  tests/Polyhedron/bgp99extrapolation2.cc,
-	  tests/Polyhedron/bhrz03widening1.cc,
-	  tests/Polyhedron/bhrz03widening10.cc,
-	  tests/Polyhedron/bhrz03widening11.cc,
-	  tests/Polyhedron/bhrz03widening12.cc,
-	  tests/Polyhedron/bhrz03widening13.cc,
-	  tests/Polyhedron/bhrz03widening14.cc,
-	  tests/Polyhedron/bhrz03widening15.cc,
-	  tests/Polyhedron/bhrz03widening16.cc,
-	  tests/Polyhedron/bhrz03widening17.cc,
-	  tests/Polyhedron/bhrz03widening18.cc,
-	  tests/Polyhedron/bhrz03widening19.cc,
-	  tests/Polyhedron/bhrz03widening2.cc,
-	  tests/Polyhedron/bhrz03widening3.cc,
-	  tests/Polyhedron/bhrz03widening4.cc,
-	  tests/Polyhedron/bhrz03widening5.cc,
-	  tests/Polyhedron/bhrz03widening6.cc,
-	  tests/Polyhedron/bhrz03widening7.cc,
-	  tests/Polyhedron/bhrz03widening8.cc,
-	  tests/Polyhedron/bhrz03widening9.cc,
-	  tests/Polyhedron/bhz03widening1.cc,
-	  tests/Polyhedron/bhz03widening2.cc,
-	  tests/Polyhedron/bhz03widening3.cc,
-	  tests/Polyhedron/bhz03widening4.cc,
-	  tests/Polyhedron/bhz03widening5.cc,
-	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
-	  tests/Polyhedron/boundedaffineimage1.cc,
-	  tests/Polyhedron/boundedaffineimage2.cc,
-	  tests/Polyhedron/boundedaffineimage3.cc,
-	  tests/Polyhedron/boundedaffinepreimage1.cc,
-	  tests/Polyhedron/boundedaffinepreimage2.cc,
-	  tests/Polyhedron/boundedaffinepreimage3.cc,
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/boundedh79extrapolation1.cc,
-	  tests/Polyhedron/boundingbox1.cc,
-	  tests/Polyhedron/boundingbox2.cc,
-	  tests/Polyhedron/boundingbox3.cc,
-	  tests/Polyhedron/boundingbox4.cc,
-	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
-	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/bug2.cc,
-	  tests/Polyhedron/concatenate1.cc,
-	  tests/Polyhedron/concatenate2.cc,
-	  tests/Polyhedron/concatenate3.cc,
-	  tests/Polyhedron/concatenate4.cc,
-	  tests/Polyhedron/concatenate5.cc,
-	  tests/Polyhedron/concatenate6.cc,
-	  tests/Polyhedron/concatenate7.cc,
-	  tests/Polyhedron/constraints1.cc,
-	  tests/Polyhedron/constraints2.cc,
-	  tests/Polyhedron/constraints3.cc,
-	  tests/Polyhedron/constraints4.cc,
-	  tests/Polyhedron/constraints5.cc, tests/Polyhedron/contains1.cc,
-	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
-	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
-	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
-	  tests/Polyhedron/disjoint3.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/generalizedaffineimage1.cc,
-	  tests/Polyhedron/generalizedaffineimage10.cc,
-	  tests/Polyhedron/generalizedaffineimage11.cc,
-	  tests/Polyhedron/generalizedaffineimage12.cc,
-	  tests/Polyhedron/generalizedaffineimage13.cc,
-	  tests/Polyhedron/generalizedaffineimage14.cc,
-	  tests/Polyhedron/generalizedaffineimage2.cc,
-	  tests/Polyhedron/generalizedaffineimage3.cc,
-	  tests/Polyhedron/generalizedaffineimage4.cc,
-	  tests/Polyhedron/generalizedaffineimage5.cc,
-	  tests/Polyhedron/generalizedaffineimage6.cc,
-	  tests/Polyhedron/generalizedaffineimage7.cc,
-	  tests/Polyhedron/generalizedaffineimage8.cc,
-	  tests/Polyhedron/generalizedaffineimage9.cc,
-	  tests/Polyhedron/generalizedaffinepreimage1.cc,
-	  tests/Polyhedron/generalizedaffinepreimage2.cc,
-	  tests/Polyhedron/generalizedaffinepreimage3.cc,
-	  tests/Polyhedron/generalizedaffinepreimage4.cc,
-	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
-	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
-	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
-	  tests/Polyhedron/generators7.cc, tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/gramshmidt1.cc,
-	  tests/Polyhedron/h79widening1.cc,
-	  tests/Polyhedron/h79widening2.cc,
-	  tests/Polyhedron/h79widening3.cc,
-	  tests/Polyhedron/h79widening4.cc,
-	  tests/Polyhedron/h79widening5.cc,
-	  tests/Polyhedron/h79widening6.cc,
-	  tests/Polyhedron/h79widening7.cc,
-	  tests/Polyhedron/h79widening8.cc,
-	  tests/Polyhedron/intersection1.cc,
-	  tests/Polyhedron/intersection10.cc,
-	  tests/Polyhedron/intersection11.cc,
-	  tests/Polyhedron/intersection2.cc,
-	  tests/Polyhedron/intersection3.cc,
-	  tests/Polyhedron/intersection4.cc,
-	  tests/Polyhedron/intersection5.cc,
-	  tests/Polyhedron/intersection6.cc,
-	  tests/Polyhedron/intersection7.cc,
-	  tests/Polyhedron/intersection8.cc,
-	  tests/Polyhedron/intersection9.cc,
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation2.cc,
-	  tests/Polyhedron/limitedh79extrapolation3.cc,
-	  tests/Polyhedron/limitedh79extrapolation4.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/linearpartition2.cc,
-	  tests/Polyhedron/linearpartition3.cc,
-	  tests/Polyhedron/linearpartition4.cc,
-	  tests/Polyhedron/linexpression1.cc,
-	  tests/Polyhedron/mapspacedims1.cc,
-	  tests/Polyhedron/mapspacedims2.cc,
-	  tests/Polyhedron/mapspacedims3.cc,
-	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/max_min1.cc,
-	  tests/Polyhedron/max_min2.cc, tests/Polyhedron/maxspacedim1.cc,
-	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
-	  tests/Polyhedron/membytes2.cc, tests/Polyhedron/memory1.cc,
-	  tests/Polyhedron/memory2.cc, tests/Polyhedron/minconstraints1.cc,
-	  tests/Polyhedron/minconstraints2.cc,
-	  tests/Polyhedron/minconstraints3.cc,
-	  tests/Polyhedron/minconstraints4.cc,
-	  tests/Polyhedron/mingenerators1.cc,
-	  tests/Polyhedron/mingenerators2.cc,
-	  tests/Polyhedron/mingenerators3.cc, tests/Polyhedron/onepoint.cc,
-	  tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polydifference3.cc,
-	  tests/Polyhedron/polydifference4.cc,
-	  tests/Polyhedron/polydifference5.cc,
-	  tests/Polyhedron/polydifference6.cc,
-	  tests/Polyhedron/polydifference7.cc,
-	  tests/Polyhedron/polydifference8.cc,
-	  tests/Polyhedron/polydifference9.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
-	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
-	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
-	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
-	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/polypowerset1.cc,
-	  tests/Polyhedron/randphull1.cc, tests/Polyhedron/randphull2.cc,
-	  tests/Polyhedron/relations1.cc, tests/Polyhedron/relations10.cc,
-	  tests/Polyhedron/relations11.cc, tests/Polyhedron/relations12.cc,
-	  tests/Polyhedron/relations13.cc, tests/Polyhedron/relations14.cc,
-	  tests/Polyhedron/relations15.cc, tests/Polyhedron/relations16.cc,
-	  tests/Polyhedron/relations17.cc, tests/Polyhedron/relations18.cc,
-	  tests/Polyhedron/relations19.cc, tests/Polyhedron/relations2.cc,
-	  tests/Polyhedron/relations3.cc, tests/Polyhedron/relations4.cc,
-	  tests/Polyhedron/relations5.cc, tests/Polyhedron/relations6.cc,
-	  tests/Polyhedron/relations7.cc, tests/Polyhedron/relations8.cc,
-	  tests/Polyhedron/relations9.cc,
-	  tests/Polyhedron/removespacedims1.cc,
-	  tests/Polyhedron/removespacedims10.cc,
-	  tests/Polyhedron/removespacedims2.cc,
-	  tests/Polyhedron/removespacedims3.cc,
-	  tests/Polyhedron/removespacedims4.cc,
-	  tests/Polyhedron/removespacedims5.cc,
-	  tests/Polyhedron/removespacedims6.cc,
-	  tests/Polyhedron/removespacedims7.cc,
-	  tests/Polyhedron/removespacedims8.cc,
-	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
-	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
-	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
-	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
-	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
-	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/topclosed1.cc,
-	  tests/Polyhedron/topclosed2.cc, tests/Polyhedron/topclosed3.cc,
-	  tests/Polyhedron/topclosure1.cc, tests/Polyhedron/topclosure2.cc,
-	  tests/Polyhedron/topclosure3.cc, tests/Polyhedron/topclosure4.cc,
-	  tests/Polyhedron/universe1.cc, tests/Polyhedron/universe2.cc,
-	  tests/Polyhedron/universe3.cc, tests/Polyhedron/universe4.cc,
-	  tests/Polyhedron/universe5.cc, tests/Polyhedron/universe6.cc,
-	  tests/Polyhedron/universe7.cc, tests/Polyhedron/watchdog1.cc,
-	  tests/Polyhedron/writeconsys1.cc,
-	  tests/Polyhedron/writegensys1.cc,
-	  tests/Polyhedron/writegensys2.cc,
-	  tests/Polyhedron/writegensys3.cc,
-	  tests/Polyhedron/writepolyhedron1.cc,
-	  tests/Polyhedron/writepolyhedron2.cc,
-	  tests/Polyhedron/writepolyhedron3.cc,
-	  tests/Polyhedron/writerelation1.cc,
-	  tests/Polyhedron/writevariable1.cc, utils/Makefile.am,
-	  utils/build_header, utils/text2cxxarray, utils/timings.cc,
-	  utils/timings.hh
-	  (grids.[1,2,2,2,1,3,2,2,1,2,1,2,3,1,2,2,1,1,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,2,2,1,1,2,1,2,2,1,2,1,7,2,2,2,1,1,1,1,1,1,2,1,1,1,1,1,2,2,1,1,2,1,1,1,2,1,1,1,1,1,2,2,1,1,1,2,1,1,1,1,1,1,2,4,1,1,1,1,1,2,2,1,1,2,2,2,2,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,2,2,1,1,1,1,1,2,2,1,1,1,2,3,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,2,2,3,2,3,6,3,12,4,1,1,1,1,2,2,1,2,2,1,1,2,4,2,4,4,3,1,1,1,6,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,1,2,1,2, [...]
-	  Second merge from main trunk.
-
-2005-09-02 Friday 17:00  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.16): Take reference to pending rows
-	  out of comment.
-
-2005-09-02 Friday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/timings.cc (1.5): Fixed print_clock().
-
-2005-09-02 Friday 17:00  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_nonpublic.cc, Grid_public.cc
-	  (grids.[40,29,59]): Add add_constraint, add_constraints and
-	  Grid(cs). Add throw_dimension_incompatible methods for
-	  Constraints and Constraint_Systems.
-
-2005-09-02 Friday 11:42  Matthew Mundell
-
-	* src/Congruence.inlines.hh (grids.10): Check for all cases of
-	  trivially true congruences.
-
-2005-09-02 Friday 11:41  Matthew Mundell
-
-	* src/: Congruence.defs.hh, Congruence_System.cc (grids.[16,22]):
-	  Strong normalize congruences before outputting them from the
-	  congruence system.
-
-2005-09-02 Friday 11:39  Matthew Mundell
-
-	* src/Congruence.cc (grids.8): In the output operator only output
-	  the modulus for proper congruences, and use `=' instead of `=='.
-
-2005-09-02 Friday 10:53  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.21): Use `while (true)' instead
-	  of `while (1)'.
-
-2005-09-02 Friday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator_System.cc (grids.11): Use booleans when booleans
-	  are intended.
-
-2005-09-02 Friday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (grids.58): Print only the minimized
-	  congruences.
-
-2005-09-01 Thursday 19:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.49): When strongly minimizing a
-	  constraint system, if we add back an epsilon upper bound
-	  constraint we should reset the minimization flag.
-
-2005-09-01 Thursday 18:31  Matthew Mundell
-
-	* src/Grid_public.cc (grids.57): In generalized_affine_preimage
-	  improve a variable name and skip the normalization check when
-	  inserting the lines.
-
-2005-09-01 Thursday 18:18  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.28): Set gen_sys's sortedness false
-	  after clearing gen_sys.  Correct a comment.
-
-2005-09-01 Thursday 18:17  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.15): In map_space_dimensions clear
-	  minimized flags after permuting columns, and skip the
-	  normalization check when inserting generators.
-
-2005-09-01 Thursday 17:17  Matthew Mundell
-
-	* src/Grid_public.cc (grids.56): In the copy constructor set
-	  gen_sys's sortedness to false when given grid's generators are
-	  out of date.	In OK correct a comment and a message and test that
-	  gen_sys's sortedness is false.
-
-2005-09-01 Thursday 17:15  Matthew Mundell
-
-	* src/: Grid.inlines.hh, Grid_chdims.cc, Grid_simplify.cc
-	  (grids.[14,16,29]): Set gen_sys's sortedness to false after
-	  clearing gen_sys.  Take extra set_sorted calls out of the
-	  generator simplify method.
-
-2005-09-01 Thursday 15:54  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.13): Set sortedness of the temporary
-	  generators system in map_space_dimensions to false.
-
-2005-09-01 Thursday 15:34  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.27): Take tracing out of
-	  is_included_in.
-
-2005-09-01 Thursday 15:29  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.20): Take tracing out of
-	  satisfies_all_congruences.
-
-2005-09-01 Thursday 15:23  Matthew Mundell
-
-	* src/: Grid_nonpublic.cc, Grid_public.cc (grids.[26,55]): Always
-	  and only set sorted to false when adding new generators.
-
-2005-09-01 Thursday 15:21  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.15): Use correct domain in comment.
-
-2005-09-01 Thursday 15:20  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.39): Take out old Polyhedra comments.
-
-2005-09-01 Thursday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_System.cc (1.20): Prefer pre-increment to
-	  post-increment.
-
-2005-09-01 Thursday 15:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.56): Using direct initialization
-	  instead of definition+assignment in a few places.
-
-2005-09-01 Thursday 14:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.cc (1.64): Reverted previosu change, since it might
-	  result in poorer performance.
-
-2005-09-01 Thursday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* install-sh (1.15), ltmain.sh (1.26), Watchdog/install-sh (1.12),
-	  Watchdog/ltmain.sh (1.15): Updated from Libtool 1.5.20.
-
-2005-08-31 Wednesday 18:09  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.38): Mark up parameter description
-	  correctly.
-
-2005-08-31 Wednesday 18:08  Matthew Mundell
-
-	* doc/definitions.dox (grids.6): Correct spelling of anchor.
-
-2005-08-31 Wednesday 17:19  Matthew Mundell
-
-	* doc/definitions.dox (grids.5): Clip trailing whitespace.
-
-2005-08-31 Wednesday 17:04  Matthew Mundell
-
-	* src/Makefile.am (grids.5): Add grid_widenings.cc to
-	  libppl_la_SOURCES.
-
-2005-08-31 Wednesday 17:03  Matthew Mundell
-
-	* tests/Grid/bug1.dat, src/Grid_public.cc (grids.[3,54]): Enable
-	  dumping and loading of the entire status.
-
-2005-08-31 Wednesday 16:58  Matthew Mundell
-
-	* src/Grid_Status.cc (grids.2): Append a newline to the ASCII dump.
-	  ASCII dump on failure of the empty flag check in the OK method.
-	  Correct the class name in the file header.
-
-2005-08-30 Tuesday 15:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.inlines.hh (1.49): Do not override the output
-	  function of PH.
-
-2005-08-30 Tuesday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.55): Do not refer to nonexistent
-	  constructors.
-
-2005-08-29 Monday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: Makefile.am (1.14), ppl.m4 (1.1): Initial revision of an
-	  Autoconf function to test for the existence and usability of
-	  particular versions of the PPL, defining macros containing the
-	  required paths.
-
-2005-08-29 Monday 18:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: tests/pl_check.pl (1.9),
-	  Ciao/ciao_pl_check.pl (1.13), XSB/xsb_pl_check.P (1.18): Added
-	  tests for Prolog interface predicates: bounded_affine_image,
-	  bounded_affine_preimage, generalized_affine_preimage.
-
-2005-08-29 Monday 17:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Coefficient.defs.hh (1.4), Coefficient.inlines.hh (1.4),
-	  Generator.cc (1.63), Linear_Row.cc (1.7), globals.defs.hh (1.22),
-	  globals.inlines.hh (1.11), simplex.cc (1.11): Do use
-	  Coefficient_traits where appropriate.
-
-2005-08-29 Monday 16:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.23), BD_Shape.inlines.hh (1.54): Using
-	  Coefficient_traits where appropriate.  Corrected a few comments.
-	  Trying to clean up affine_image().
-
-2005-08-29 Monday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.22): No longer mention is_nonnegative().
-
-2005-08-29 Monday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: cc76extrapolation6.cc (1.5), ch78widening6.cc
-	  (1.5), relations1.cc (1.7), relations2.cc (1.7), relations3.cc
-	  (1.6), relations4.cc (1.5), relations5.cc (1.7): Added, when
-	  needed, using directives for IO_Operators.
-
-2005-08-29 Monday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.53): No longer refer to the obsolete
-	  function is_nonnegative().
-
-2005-08-29 Monday 09:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/gramshmidt1.cc (1.1): Draft test program for
-	  Constraint_System::gram_shmidt().
-
-2005-08-28 Sunday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Bounding_Box.inlines.hh (1.7), Polyhedron.inlines.hh
-	  (1.117): Objects of type mpq_class now created properly.
-
-2005-08-28 Sunday 12:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.159), Ciao/ppl_ciao.pl
-	  (1.81), GNU/ppl_gprolog.pl (1.53), SICStus/ppl_sicstus_sd.cc
-	  (1.77), SWI/ppl_swiprolog.cc (1.101), XSB/ppl_xsb.H (1.40),
-	  XSB/ppl_xsb.cc (1.68), YAP/ppl_yap.cc (1.93): Interfaced new
-	  methods computing preimages of generalized affine relations.
-
-2005-08-28 Sunday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bounding_Box.inlines.hh (1.6): Temporary kludges to avoid the
-	  selection of the wrong mpq_class constructor.
-
-2005-08-28 Sunday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_check_gmp.m4 (1.22), ac_check_swi_prolog.m4 (1.3),
-	  ac_cxx_attribute_weak.m4 (1.6), ac_cxx_double_is_iec_559.m4
-	  (1.4), ac_cxx_flexible_arrays.m4 (1.11),
-	  ac_cxx_float_is_iec_559.m4 (1.4), ac_cxx_long_double.m4 (1.5),
-	  ac_cxx_long_double_is_iec_559.m4 (1.4), ac_cxx_long_long.m4
-	  (1.4): Broken comments restored.
-
-2005-08-28 Sunday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* missing (1.12), Watchdog/missing (1.8): Broken comments restored.
-
-2005-08-27 Saturday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.8): Progress on the --ldflags option.
-
-2005-08-27 Saturday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.32), Watchdog/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.31), build_header (1.3), Watchdog/Makefile.am
-	  (1.20), Watchdog/configure.ac (1.27), Watchdog/pwl_header.bottom
-	  (1.3), Watchdog/pwl_header.hh (1.1), Watchdog/pwl_header.middle
-	  (1.4), Watchdog/pwl_header.top (1.8), Watchdog/utils/.cvsignore
-	  (1.1), Watchdog/utils/Makefile.am (1.1),
-	  Watchdog/utils/build_header (1.1), src/Makefile.am (1.117),
-	  utils/Makefile.am (1.6), 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-27 Saturday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.46): Fixed a couple of typos in
-	  comments.
-
-2005-08-27 Saturday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.158), src/Bounding_Box.cc
-	  (1.8), src/Bounding_Box.inlines.hh (1.5), src/Interval.cc (1.12),
-	  src/Interval.defs.hh (1.24), src/Interval.inlines.hh (1.23),
-	  src/Interval.types.hh (1.9), src/Polyhedron.inlines.hh (1.116),
-	  src/checked_mpq.inlines.hh (1.22): Obsolete class ERational
-	  removed.  In the process, fixed a couple of bugs whereby GMP
-	  rationals were created out of pairs of integers that could have
-	  common factors, yet the canonicalize() method was not invoked.
-
-2005-08-27 Saturday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/Makefile.am (1.5): Ensure the `text2cxxarray' script is
-	  distributed.
-
-2005-08-27 Saturday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/Makefile.am (1.4): The `text2cxxarray' script is now listed
-	  in `noinst_SCRIPTS'.
-
-2005-08-27 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.171), src/checked_float.inlines.hh (1.41): Check
-	  for the declaration of long double rintl(long double x): rintl()
-	  is not provided on systems that do not have proper long doubles.
-
-2005-08-26 Friday 11:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.170): Comment restored.
-
-2005-08-26 Friday 10:04  Abramo Bagnara
-
-	* src/: checked.defs.hh (1.22), checked_ext.inlines.hh (1.20),
-	  checked_float.inlines.hh (1.40), checked_int.inlines.hh (1.36),
-	  checked_mpq.inlines.hh (1.21), checked_mpz.inlines.hh (1.25):
-	  Finer grain for policy. New special values functions. Use
-	  assertions when policy does not request checks.
-
-2005-08-26 Friday 10:02  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (1.36): Added special values
-	  funcions.
-
-2005-08-26 Friday 10:01  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh (1.31): Finer grain for policy.
-
-2005-08-25 Thursday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/E_NIT.defs.hh (1.6), src/E_NIT.inlines.hh (1.11),
-	  src/E_NIT.types.hh (1.4), src/E_Rational.defs.hh (1.6),
-	  src/E_Rational.inlines.hh (1.9), src/E_Rational.types.hh (1.4),
-	  src/Makefile.am (1.116), tests/BD_Shape/maxspacedim.cc (1.6):
-	  Obsolete classes E_NIT and E_Rational removed.
-
-2005-08-25 Thursday 18:37  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, limitedextrapolation1.cc
-	  (grids.[26,1]): Add limitedextrapolation1.
-
-2005-08-25 Thursday 18:36  Matthew Mundell
-
-	* tests/Grid/widening1.cc (grids.2): Add congruences to the correct
-	  grid in test5.  Improve a comment.  Use a definition for the
-	  token count in test10.  Take out the old test invocations.
-
-2005-08-25 Thursday 18:30  Matthew Mundell
-
-	* tests/Grid/relations2.cc (grids.3): Add test9, in which a grid
-	  with a line strictly intersects a relational congruence.
-
-2005-08-25 Thursday 18:19  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_widenings.cc (grids.[37,2]): Add method
-	  limited_extrapolation_assign.  Improve the description of
-	  dim_kinds.  Rename the congruence parameter in the relation_with
-	  declaration to cg.
-
-2005-08-25 Thursday 18:09  Matthew Mundell
-
-	* src/Grid_public.cc (grids.53): In relation_with(cg) only modulate
-	  the scalar product for points and parameters.
-
-2005-08-25 Thursday 18:06  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.12): Swap dim_kinds in method swap.
-
-2005-08-23 Tuesday 22:07  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, widening1.cc (grids.[25,1]): Add
-	  widening1.
-
-2005-08-23 Tuesday 22:06  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_widenings.cc (grids.[36,1]): Add methods
-	  widening_assign and select_wider_congruences.
-
-2005-08-23 Tuesday 11:22  Matthew Mundell
-
-	* src/: Congruence.defs.hh, Grid_conversion.cc, Grid_simplify.cc
-	  (grids.[15,18,28]): Prefer postfix operators.
-
-2005-08-22 Monday 12:18  Matthew Mundell
-
-	* src/Grid_public.cc (grids.52): In OK check dim_kinds size before
-	  checking upper triangularity.
-
-2005-08-22 Monday 07:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl.sty (1.21): Restored comment broken with previous commit.
-
-2005-08-22 Monday 00:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.32), config.sub (1.31), Watchdog/config.guess
-	  (1.16), Watchdog/config.sub (1.16): Updated.
-
-2005-08-22 Monday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING (1.3), Makefile.am (1.30), README (1.37),
-	  README.configure (1.14), build_header (1.2), compile (1.6),
-	  config.guess (1.31), config.rpath (1.4), config.sub (1.30),
-	  configure.ac (1.169), depcomp (1.11), ltmain.sh (1.25), missing
-	  (1.11), Watchdog/COPYING (1.3),
-	  Watchdog/Doubly_Linked_Object.defs.hh (1.3),
-	  Watchdog/Doubly_Linked_Object.inlines.hh (1.3),
-	  Watchdog/EList.defs.hh (1.5), Watchdog/EList.inlines.hh (1.4),
-	  Watchdog/EList_Iterator.defs.hh (1.3),
-	  Watchdog/EList_Iterator.inlines.hh (1.4),
-	  Watchdog/Handler.defs.hh (1.5), Watchdog/Handler.inlines.hh
-	  (1.4), Watchdog/Makefile.am (1.19), Watchdog/Pending_Element.cc
-	  (1.3), Watchdog/Pending_Element.defs.hh (1.3),
-	  Watchdog/Pending_Element.inlines.hh (1.3),
-	  Watchdog/Pending_List.cc (1.3), Watchdog/Pending_List.defs.hh
-	  (1.3), Watchdog/Pending_List.inlines.hh (1.3), Watchdog/README
-	  (1.11), Watchdog/Time.cc (1.3), Watchdog/Time.defs.hh (1.3),
-	  Watchdog/Time.inlines.hh (1.4), Watchdog/Watchdog.cc (1.20),
-	  Watchdog/Watchdog.defs.hh (1.16), Watchdog/Watchdog.inlines.hh
-	  (1.13), Watchdog/compile (1.6), Watchdog/config.guess (1.15),
-	  Watchdog/config.sub (1.15), Watchdog/configure.ac (1.26),
-	  Watchdog/depcomp (1.9), Watchdog/ltmain.sh (1.14),
-	  Watchdog/missing (1.7), Watchdog/pwl_header.top (1.7),
-	  debian/libppl-pwl.copyright.in (1.2), debian/libppl.copyright.in
-	  (1.2), demos/Makefile.am (1.7), demos/ppl_lcdd/Makefile.am
-	  (1.20), demos/ppl_lcdd/ppl_lcdd.cc (1.44),
-	  demos/ppl_lcdd/examples/Makefile.am (1.5),
-	  demos/ppl_lpsol/Makefile.am (1.14), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.17), demos/ppl_lpsol/examples/Makefile.am (1.4),
-	  doc/Makefile.am (1.35), doc/README.doc (1.5), doc/fdl.dox (1.7),
-	  doc/fdl.tex (1.4), doc/fdl.txt (1.2), doc/gpl.dox (1.7),
-	  doc/gpl.tex (1.3), doc/gpl.txt (1.3), doc/ppl.sty (1.20),
-	  interfaces/Makefile.am (1.11), interfaces/C/Makefile.am (1.19),
-	  interfaces/C/ppl_c.cc (1.136), interfaces/C/ppl_c.h.in (1.51),
-	  interfaces/OCaml/Makefile.am (1.10),
-	  interfaces/Prolog/Makefile.am (1.28),
-	  interfaces/Prolog/Prolog_interface.dox (1.133),
-	  interfaces/Prolog/exceptions.hh (1.16),
-	  interfaces/Prolog/ppl_prolog.icc (1.157),
-	  interfaces/Prolog/track_allocation.hh (1.17),
-	  interfaces/Prolog/Ciao/Makefile.am (1.43),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.15),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.11),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.12),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.32),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.80),
-	  interfaces/Prolog/GNU/Makefile.am (1.47),
-	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.6),
-	  interfaces/Prolog/GNU/gp_clpq.pl (1.9),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.52),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.28),
-	  interfaces/Prolog/SICStus/Makefile.am (1.53),
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.25),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.76),
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.5),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.6),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.12),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.12),
-	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.4),
-	  interfaces/Prolog/SWI/Makefile.am (1.51),
-	  interfaces/Prolog/SWI/pl_clpq.cc (1.9),
-	  interfaces/Prolog/SWI/pl_clpq.pl (1.8),
-	  interfaces/Prolog/SWI/ppl_pl.cc (1.9),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.100),
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.5),
-	  interfaces/Prolog/SWI/swi_pl_check.pl (1.5),
-	  interfaces/Prolog/XSB/Makefile.am (1.34),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.39),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.67),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.14),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.12),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.17),
-	  interfaces/Prolog/YAP/Makefile.am (1.38),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.92),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.9),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.10),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.6),
-	  interfaces/Prolog/YAP/yap_pl_check.pl (1.8),
-	  interfaces/Prolog/tests/Makefile.am (1.5),
-	  interfaces/Prolog/tests/clpq.pl (1.6),
-	  interfaces/Prolog/tests/clpq2.pl (1.6),
-	  interfaces/Prolog/tests/pl_check.pl (1.8), m4/Makefile.am (1.13),
-	  m4/ac_check_gmp.m4 (1.21), m4/ac_check_swi_prolog.m4 (1.2),
-	  m4/ac_cxx_attribute_weak.m4 (1.5), m4/ac_cxx_double_is_iec_559.m4
-	  (1.3), m4/ac_cxx_flexible_arrays.m4 (1.10),
-	  m4/ac_cxx_float_is_iec_559.m4 (1.3), m4/ac_cxx_long_double.m4
-	  (1.4), m4/ac_cxx_long_double_is_iec_559.m4 (1.3),
-	  m4/ac_cxx_long_long.m4 (1.3), src/Ask_Tell.defs.hh (1.5),
-	  src/Ask_Tell.inlines.hh (1.5), src/BDS_Status.idefs.hh (1.7),
-	  src/BDS_Status.inlines.hh (1.5), src/BD_Shape.defs.hh (1.21),
-	  src/BD_Shape.inlines.hh (1.52), src/BHRZ03_Certificate.cc (1.8),
-	  src/BHRZ03_Certificate.defs.hh (1.11),
-	  src/BHRZ03_Certificate.inlines.hh (1.6), src/Bounding_Box.cc
-	  (1.7), src/Bounding_Box.defs.hh (1.7),
-	  src/Bounding_Box.inlines.hh (1.4), src/C_Polyhedron.cc (1.15),
-	  src/C_Polyhedron.defs.hh (1.33), src/C_Polyhedron.inlines.hh
-	  (1.26), src/Checked_Number.cc (1.7), src/Checked_Number.defs.hh
-	  (1.30), src/Checked_Number.inlines.hh (1.35), src/Coefficient.cc
-	  (1.3), src/Coefficient.defs.hh (1.3), src/Coefficient.inlines.hh
-	  (1.3), src/Constraint.cc (1.51), src/Constraint.defs.hh (1.104),
-	  src/Constraint.inlines.hh (1.60), src/Constraint_System.cc (1.8),
-	  src/Constraint_System.defs.hh (1.10),
-	  src/Constraint_System.inlines.hh (1.4), src/DB_Matrix.defs.hh
-	  (1.5), src/DB_Matrix.inlines.hh (1.5), src/DB_Row.defs.hh (1.7),
-	  src/DB_Row.inlines.hh (1.7), src/Determinate.defs.hh (1.55),
-	  src/Determinate.inlines.hh (1.48), src/E_NIT.defs.hh (1.5),
-	  src/E_NIT.inlines.hh (1.10), src/E_Rational.defs.hh (1.5),
-	  src/E_Rational.inlines.hh (1.8), src/Float.defs.hh (1.8),
-	  src/Float.inlines.hh (1.9), src/GMP_Integer.defs.hh (1.6),
-	  src/GMP_Integer.inlines.hh (1.5), src/Generator.cc (1.62),
-	  src/Generator.defs.hh (1.105), src/Generator.inlines.hh (1.55),
-	  src/Generator_System.cc (1.7), src/Generator_System.defs.hh
-	  (1.8), src/Generator_System.inlines.hh (1.4),
-	  src/H79_Certificate.cc (1.7), src/H79_Certificate.defs.hh (1.10),
-	  src/H79_Certificate.inlines.hh (1.5), src/Init.cc (1.18),
-	  src/Init.defs.hh (1.13), src/Interval.cc (1.11),
-	  src/Interval.defs.hh (1.23), src/Interval.inlines.hh (1.22),
-	  src/Limits.hh (1.7), src/Linear_Expression.cc (1.5),
-	  src/Linear_Expression.defs.hh (1.9),
-	  src/Linear_Expression.inlines.hh (1.5), src/Linear_Row.cc (1.6),
-	  src/Linear_Row.defs.hh (1.9), src/Linear_Row.inlines.hh (1.8),
-	  src/Linear_System.cc (1.19), src/Linear_System.defs.hh (1.14),
-	  src/Linear_System.inlines.hh (1.17), src/Makefile.am (1.115),
-	  src/Matrix.cc (1.82), src/Matrix.defs.hh (1.69),
-	  src/Matrix.inlines.hh (1.44), src/NNC_Polyhedron.cc (1.14),
-	  src/NNC_Polyhedron.defs.hh (1.35), src/NNC_Polyhedron.inlines.hh
-	  (1.29), src/Native_Integer.defs.hh (1.11),
-	  src/Native_Integer.inlines.hh (1.10), src/Numeric_Format.defs.hh
-	  (1.4), src/Ph_Status.cc (1.7), src/Ph_Status.idefs.hh (1.10),
-	  src/Ph_Status.inlines.hh (1.6), src/Poly_Con_Relation.cc (1.10),
-	  src/Poly_Con_Relation.defs.hh (1.27),
-	  src/Poly_Con_Relation.inlines.hh (1.13), src/Poly_Gen_Relation.cc
-	  (1.10), src/Poly_Gen_Relation.defs.hh (1.25),
-	  src/Poly_Gen_Relation.inlines.hh (1.13),
-	  src/Polyhedra_Powerset.defs.hh (1.16),
-	  src/Polyhedra_Powerset.inlines.hh (1.20), src/Polyhedron.defs.hh
-	  (1.274), src/Polyhedron.inlines.hh (1.115),
-	  src/Polyhedron_chdims.cc (1.30), src/Polyhedron_nonpublic.cc
-	  (1.48), src/Polyhedron_public.cc (1.58),
-	  src/Polyhedron_widenings.cc (1.45), src/Powerset.defs.hh (1.13),
-	  src/Powerset.inlines.hh (1.10), src/Ptr_Iterator.defs.hh (1.4),
-	  src/Ptr_Iterator.inlines.hh (1.4), src/Result.defs.hh (1.10),
-	  src/Result.inlines.hh (1.6), src/Rounding.defs.hh (1.13),
-	  src/Rounding.types.hh (1.4), src/Row.cc (1.81), src/Row.defs.hh
-	  (1.94), src/Row.inlines.hh (1.61), src/Saturation_Matrix.cc
-	  (1.4), src/Saturation_Matrix.defs.hh (1.3),
-	  src/Saturation_Matrix.inlines.hh (1.4), src/Saturation_Row.cc
-	  (1.7), src/Saturation_Row.defs.hh (1.6),
-	  src/Saturation_Row.inlines.hh (1.6), src/Variable.cc (1.19),
-	  src/Variable.defs.hh (1.46), src/Variable.inlines.hh (1.22),
-	  src/Widening_Function.defs.hh (1.11),
-	  src/Widening_Function.inlines.hh (1.10), src/algorithms.hh
-	  (1.41), src/checked.cc (1.3), src/checked.defs.hh (1.21),
-	  src/checked.inlines.hh (1.20), src/checked_ext.defs.hh (1.8),
-	  src/checked_ext.inlines.hh (1.19), src/checked_float.inlines.hh
-	  (1.39), src/checked_int.inlines.hh (1.35),
-	  src/checked_mpq.inlines.hh (1.20), src/checked_mpz.inlines.hh
-	  (1.24), src/checked_numeric_limits.hh (1.4), src/compiler.hh
-	  (1.5), src/conversion.cc (1.69), src/float.types.hh (1.8),
-	  src/fpu-c99.inlines.hh (1.7), src/fpu-ia32.inlines.hh (1.7),
-	  src/fpu-none.inlines.hh (1.2), src/fpu.defs.hh (1.5),
-	  src/globals.cc (1.21), src/globals.defs.hh (1.21),
-	  src/globals.inlines.hh (1.10), src/initializer.hh (1.11),
-	  src/max_space_dimension.hh (1.6), src/minimize.cc (1.41),
-	  src/namespaces.hh (1.2), src/ppl-config.cc.in (1.7),
-	  src/ppl_header.hh (1.3), src/simplex.cc (1.10), src/simplify.cc
-	  (1.43), src/swapping_sort.icc (1.9), src/version.cc (1.6),
-	  src/version.hh.in (1.11), tests/BBox.cc (1.10), tests/BBox.hh
-	  (1.9), tests/Makefile.am (1.243), tests/PFunction.cc (1.7),
-	  tests/PFunction.hh (1.7), tests/ehandlers.cc (1.7),
-	  tests/ehandlers.hh (1.12), tests/files.cc (1.7), tests/files.hh
-	  (1.8), tests/ppl_test.hh (1.24), tests/print.cc (1.16),
-	  tests/print.hh (1.20), tests/BD_Shape/Makefile.am (1.13),
-	  tests/BD_Shape/addconstraints1.cc (1.4),
-	  tests/BD_Shape/addspacedims1.cc (1.5),
-	  tests/BD_Shape/addspacedims2.cc (1.5),
-	  tests/BD_Shape/addspacedims3.cc (1.6),
-	  tests/BD_Shape/addspacedims4.cc (1.6),
-	  tests/BD_Shape/addspacedims5.cc (1.6),
-	  tests/BD_Shape/addspacedims6.cc (1.6),
-	  tests/BD_Shape/addspacedims7.cc (1.5),
-	  tests/BD_Shape/affineimage1.cc (1.5),
-	  tests/BD_Shape/affineimage2.cc (1.5),
-	  tests/BD_Shape/affineimage3.cc (1.5),
-	  tests/BD_Shape/affineimage4.cc (1.5),
-	  tests/BD_Shape/affineimage5.cc (1.5),
-	  tests/BD_Shape/affineimage6.cc (1.5),
-	  tests/BD_Shape/affineimage7.cc (1.5),
-	  tests/BD_Shape/affineimage8.cc (1.3),
-	  tests/BD_Shape/affineimage9.cc (1.3),
-	  tests/BD_Shape/affinepreimage1.cc (1.5),
-	  tests/BD_Shape/affinepreimage2.cc (1.5),
-	  tests/BD_Shape/affinepreimage3.cc (1.5),
-	  tests/BD_Shape/affinepreimage4.cc (1.5),
-	  tests/BD_Shape/affinepreimage5.cc (1.3),
-	  tests/BD_Shape/ascii_dump_load1.cc (1.6),
-	  tests/BD_Shape/ascii_dump_load2.cc (1.4),
-	  tests/BD_Shape/cc76extrapolation1.cc (1.4),
-	  tests/BD_Shape/cc76extrapolation2.cc (1.4),
-	  tests/BD_Shape/cc76extrapolation3.cc (1.4),
-	  tests/BD_Shape/cc76extrapolation4.cc (1.5),
-	  tests/BD_Shape/cc76extrapolation5.cc (1.4),
-	  tests/BD_Shape/cc76extrapolation6.cc (1.4),
-	  tests/BD_Shape/cc76narrowing1.cc (1.4),
-	  tests/BD_Shape/cc76narrowing2.cc (1.4),
-	  tests/BD_Shape/cc76narrowing3.cc (1.4),
-	  tests/BD_Shape/cc76narrowing4.cc (1.5),
-	  tests/BD_Shape/cc76narrowing5.cc (1.5),
-	  tests/BD_Shape/ch78widening1.cc (1.4),
-	  tests/BD_Shape/ch78widening2.cc (1.5),
-	  tests/BD_Shape/ch78widening3.cc (1.4),
-	  tests/BD_Shape/ch78widening4.cc (1.4),
-	  tests/BD_Shape/ch78widening5.cc (1.5),
-	  tests/BD_Shape/ch78widening6.cc (1.4),
-	  tests/BD_Shape/ch78widening7.cc (1.4),
-	  tests/BD_Shape/ch78widening8.cc (1.4),
-	  tests/BD_Shape/concatenate1.cc (1.5),
-	  tests/BD_Shape/concatenate2.cc (1.5),
-	  tests/BD_Shape/concatenate3.cc (1.4),
-	  tests/BD_Shape/concatenate4.cc (1.4),
-	  tests/BD_Shape/concatenate5.cc (1.5),
-	  tests/BD_Shape/constraints1.cc (1.6),
-	  tests/BD_Shape/constraints2.cc (1.5), tests/BD_Shape/contains1.cc
-	  (1.4), tests/BD_Shape/contains2.cc (1.6),
-	  tests/BD_Shape/contains3.cc (1.6), tests/BD_Shape/empty1.cc
-	  (1.4), tests/BD_Shape/empty2.cc (1.4), tests/BD_Shape/empty3.cc
-	  (1.5), tests/BD_Shape/empty4.cc (1.4), tests/BD_Shape/empty5.cc
-	  (1.4), tests/BD_Shape/equality1.cc (1.6),
-	  tests/BD_Shape/exceptions1.cc (1.5),
-	  tests/BD_Shape/exceptions2.cc (1.5),
-	  tests/BD_Shape/exceptions3.cc (1.7),
-	  tests/BD_Shape/fromgensys1.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.5),
-	  tests/BD_Shape/generalizedaffineimage10.cc (1.5),
-	  tests/BD_Shape/generalizedaffineimage11.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage12.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage13.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage14.cc (1.5),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.5),
-	  tests/BD_Shape/generalizedaffineimage3.cc (1.6),
-	  tests/BD_Shape/generalizedaffineimage4.cc (1.5),
-	  tests/BD_Shape/generalizedaffineimage5.cc (1.5),
-	  tests/BD_Shape/generalizedaffineimage6.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage7.cc (1.5),
-	  tests/BD_Shape/generalizedaffineimage8.cc (1.5),
-	  tests/BD_Shape/generalizedaffineimage9.cc (1.4),
-	  tests/BD_Shape/h79widening1.cc (1.4),
-	  tests/BD_Shape/intersection1.cc (1.4),
-	  tests/BD_Shape/intersection2.cc (1.4),
-	  tests/BD_Shape/intersection3.cc (1.5),
-	  tests/BD_Shape/intersection4.cc (1.6),
-	  tests/BD_Shape/intersection5.cc (1.6),
-	  tests/BD_Shape/intersection6.cc (1.5),
-	  tests/BD_Shape/intersection7.cc (1.5),
-	  tests/BD_Shape/intersection8.cc (1.5),
-	  tests/BD_Shape/limitedCC76extrapolation1.cc (1.4),
-	  tests/BD_Shape/limitedCC76extrapolation2.cc (1.5),
-	  tests/BD_Shape/limitedCC76extrapolation3.cc (1.5),
-	  tests/BD_Shape/limitedCH78extrapolation1.cc (1.4),
-	  tests/BD_Shape/limitedCH78extrapolation2.cc (1.4),
-	  tests/BD_Shape/limitedCH78extrapolation3.cc (1.4),
-	  tests/BD_Shape/limitedCH78extrapolation4.cc (1.4),
-	  tests/BD_Shape/limitedCH78extrapolation5.cc (1.4),
-	  tests/BD_Shape/limitedCH78extrapolation6.cc (1.4),
-	  tests/BD_Shape/limitedCH78extrapolation7.cc (1.4),
-	  tests/BD_Shape/limitedCH78extrapolation8.cc (1.4),
-	  tests/BD_Shape/limitedCH78extrapolation9.cc (1.4),
-	  tests/BD_Shape/limitedh79extrapolation1.cc (1.4),
-	  tests/BD_Shape/mapspacedims1.cc (1.4),
-	  tests/BD_Shape/mapspacedims2.cc (1.5),
-	  tests/BD_Shape/mapspacedims3.cc (1.4),
-	  tests/BD_Shape/mapspacedims4.cc (1.5),
-	  tests/BD_Shape/maxspacedim.cc (1.5),
-	  tests/BD_Shape/polydifference1.cc (1.6),
-	  tests/BD_Shape/polydifference2.cc (1.4),
-	  tests/BD_Shape/polydifference3.cc (1.4),
-	  tests/BD_Shape/polydifference4.cc (1.4),
-	  tests/BD_Shape/polydifference5.cc (1.5),
-	  tests/BD_Shape/polydifference6.cc (1.4),
-	  tests/BD_Shape/polyhull1.cc (1.4), tests/BD_Shape/polyhull2.cc
-	  (1.4), tests/BD_Shape/polyhull3.cc (1.4),
-	  tests/BD_Shape/polyhull4.cc (1.4), tests/BD_Shape/relations1.cc
-	  (1.6), tests/BD_Shape/relations2.cc (1.6),
-	  tests/BD_Shape/relations3.cc (1.5), tests/BD_Shape/relations4.cc
-	  (1.4), tests/BD_Shape/relations5.cc (1.6),
-	  tests/BD_Shape/removespacedims1.cc (1.5),
-	  tests/BD_Shape/removespacedims2.cc (1.5),
-	  tests/BD_Shape/removespacedims3.cc (1.5),
-	  tests/BD_Shape/timeelapse1.cc (1.5),
-	  tests/BD_Shape/timeelapse2.cc (1.4),
-	  tests/BD_Shape/timeelapse3.cc (1.4),
-	  tests/BD_Shape/timeelapse4.cc (1.4),
-	  tests/BD_Shape/timeelapse5.cc (1.5), tests/BD_Shape/universe1.cc
-	  (1.5), tests/BD_Shape/writebdshape1.cc (1.2),
-	  tests/BD_Shape/writebdshape2.cc (1.3),
-	  tests/Polyhedron/CbecomesNNC1.cc (1.4),
-	  tests/Polyhedron/Makefile.am (1.25),
-	  tests/Polyhedron/NNCbecomesC1.cc (1.4),
-	  tests/Polyhedron/NNCminimize1.cc (1.4),
-	  tests/Polyhedron/NNCminimize2.cc (1.4),
-	  tests/Polyhedron/NNCminimize3.cc (1.4),
-	  tests/Polyhedron/NNCminimize4.cc (1.4),
-	  tests/Polyhedron/NNCminimize5.cc (1.4),
-	  tests/Polyhedron/NNCminimize6.cc (1.4), tests/Polyhedron/README
-	  (1.4), tests/Polyhedron/addconstraint1.cc (1.4),
-	  tests/Polyhedron/addconstraint2.cc (1.5),
-	  tests/Polyhedron/addconstraint3.cc (1.4),
-	  tests/Polyhedron/addconstraints1.cc (1.5),
-	  tests/Polyhedron/addconstraints10.cc (1.5),
-	  tests/Polyhedron/addconstraints11.cc (1.4),
-	  tests/Polyhedron/addconstraints12.cc (1.4),
-	  tests/Polyhedron/addconstraints13.cc (1.5),
-	  tests/Polyhedron/addconstraints2.cc (1.4),
-	  tests/Polyhedron/addconstraints3.cc (1.5),
-	  tests/Polyhedron/addconstraints4.cc (1.4),
-	  tests/Polyhedron/addconstraints5.cc (1.5),
-	  tests/Polyhedron/addconstraints6.cc (1.4),
-	  tests/Polyhedron/addconstraints7.cc (1.5),
-	  tests/Polyhedron/addconstraints8.cc (1.5),
-	  tests/Polyhedron/addconstraints9.cc (1.4),
-	  tests/Polyhedron/addgenerator1.cc (1.5),
-	  tests/Polyhedron/addgenerator2.cc (1.5),
-	  tests/Polyhedron/addgenerator3.cc (1.4),
-	  tests/Polyhedron/addgenerator4.cc (1.5),
-	  tests/Polyhedron/addgenerator5.cc (1.5),
-	  tests/Polyhedron/addgenerators1.cc (1.5),
-	  tests/Polyhedron/addgenerators10.cc (1.5),
-	  tests/Polyhedron/addgenerators11.cc (1.5),
-	  tests/Polyhedron/addgenerators12.cc (1.5),
-	  tests/Polyhedron/addgenerators13.cc (1.5),
-	  tests/Polyhedron/addgenerators2.cc (1.5),
-	  tests/Polyhedron/addgenerators3.cc (1.4),
-	  tests/Polyhedron/addgenerators4.cc (1.4),
-	  tests/Polyhedron/addgenerators5.cc (1.4),
-	  tests/Polyhedron/addgenerators6.cc (1.5),
-	  tests/Polyhedron/addgenerators7.cc (1.4),
-	  tests/Polyhedron/addgenerators8.cc (1.5),
-	  tests/Polyhedron/addgenerators9.cc (1.4),
-	  tests/Polyhedron/addspacedims1.cc (1.5),
-	  tests/Polyhedron/addspacedims10.cc (1.4),
-	  tests/Polyhedron/addspacedims11.cc (1.4),
-	  tests/Polyhedron/addspacedims12.cc (1.4),
-	  tests/Polyhedron/addspacedims13.cc (1.4),
-	  tests/Polyhedron/addspacedims2.cc (1.5),
-	  tests/Polyhedron/addspacedims3.cc (1.5),
-	  tests/Polyhedron/addspacedims4.cc (1.4),
-	  tests/Polyhedron/addspacedims5.cc (1.4),
-	  tests/Polyhedron/addspacedims6.cc (1.4),
-	  tests/Polyhedron/addspacedims7.cc (1.4),
-	  tests/Polyhedron/addspacedims8.cc (1.5),
-	  tests/Polyhedron/addspacedims9.cc (1.4),
-	  tests/Polyhedron/affineimage1.cc (1.5),
-	  tests/Polyhedron/affineimage2.cc (1.4),
-	  tests/Polyhedron/affineimage3.cc (1.4),
-	  tests/Polyhedron/affineimage4.cc (1.5),
-	  tests/Polyhedron/affineimage5.cc (1.5),
-	  tests/Polyhedron/affineimage6.cc (1.5),
-	  tests/Polyhedron/affineimage7.cc (1.4),
-	  tests/Polyhedron/affineimage8.cc (1.4),
-	  tests/Polyhedron/affineimage9.cc (1.4),
-	  tests/Polyhedron/affinepreimage1.cc (1.4),
-	  tests/Polyhedron/affinepreimage10.cc (1.4),
-	  tests/Polyhedron/affinepreimage11.cc (1.2),
-	  tests/Polyhedron/affinepreimage2.cc (1.4),
-	  tests/Polyhedron/affinepreimage3.cc (1.5),
-	  tests/Polyhedron/affinepreimage4.cc (1.4),
-	  tests/Polyhedron/affinepreimage5.cc (1.4),
-	  tests/Polyhedron/affinepreimage6.cc (1.4),
-	  tests/Polyhedron/affinepreimage7.cc (1.4),
-	  tests/Polyhedron/affinepreimage8.cc (1.5),
-	  tests/Polyhedron/affinepreimage9.cc (1.4),
-	  tests/Polyhedron/affinetrans.cc (1.5),
-	  tests/Polyhedron/append1.cc (1.4), tests/Polyhedron/append2.cc
-	  (1.4), tests/Polyhedron/ascii_dump_load1.cc (1.4),
-	  tests/Polyhedron/ascii_dump_load2.cc (1.4),
-	  tests/Polyhedron/ascii_dump_load3.cc (1.4),
-	  tests/Polyhedron/ascii_dump_load4.cc (1.4),
-	  tests/Polyhedron/ascii_dump_load5.cc (1.4),
-	  tests/Polyhedron/ascii_dump_load6.cc (1.5),
-	  tests/Polyhedron/ascii_dump_load7.cc (1.4),
-	  tests/Polyhedron/bgp99extrapolation1.cc (1.5),
-	  tests/Polyhedron/bgp99extrapolation2.cc (1.5),
-	  tests/Polyhedron/bhrz03widening1.cc (1.4),
-	  tests/Polyhedron/bhrz03widening10.cc (1.5),
-	  tests/Polyhedron/bhrz03widening11.cc (1.4),
-	  tests/Polyhedron/bhrz03widening12.cc (1.4),
-	  tests/Polyhedron/bhrz03widening13.cc (1.4),
-	  tests/Polyhedron/bhrz03widening14.cc (1.4),
-	  tests/Polyhedron/bhrz03widening15.cc (1.5),
-	  tests/Polyhedron/bhrz03widening16.cc (1.4),
-	  tests/Polyhedron/bhrz03widening17.cc (1.4),
-	  tests/Polyhedron/bhrz03widening18.cc (1.4),
-	  tests/Polyhedron/bhrz03widening19.cc (1.4),
-	  tests/Polyhedron/bhrz03widening2.cc (1.4),
-	  tests/Polyhedron/bhrz03widening3.cc (1.4),
-	  tests/Polyhedron/bhrz03widening4.cc (1.4),
-	  tests/Polyhedron/bhrz03widening5.cc (1.4),
-	  tests/Polyhedron/bhrz03widening6.cc (1.4),
-	  tests/Polyhedron/bhrz03widening7.cc (1.4),
-	  tests/Polyhedron/bhrz03widening8.cc (1.4),
-	  tests/Polyhedron/bhrz03widening9.cc (1.4),
-	  tests/Polyhedron/bhz03widening1.cc (1.5),
-	  tests/Polyhedron/bhz03widening2.cc (1.5),
-	  tests/Polyhedron/bhz03widening3.cc (1.5),
-	  tests/Polyhedron/bhz03widening4.cc (1.5),
-	  tests/Polyhedron/bhz03widening5.cc (1.5),
-	  tests/Polyhedron/bhz03widening6.cc (1.5),
-	  tests/Polyhedron/bounded1.cc (1.5),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.3),
-	  tests/Polyhedron/boundedaffineimage2.cc (1.2),
-	  tests/Polyhedron/boundedaffineimage3.cc (1.2),
-	  tests/Polyhedron/boundedaffinepreimage1.cc (1.2),
-	  tests/Polyhedron/boundedaffinepreimage2.cc (1.2),
-	  tests/Polyhedron/boundedaffinepreimage3.cc (1.2),
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc (1.3),
-	  tests/Polyhedron/boundedh79extrapolation1.cc (1.5),
-	  tests/Polyhedron/boundingbox1.cc (1.5),
-	  tests/Polyhedron/boundingbox2.cc (1.5),
-	  tests/Polyhedron/boundingbox3.cc (1.5),
-	  tests/Polyhedron/boundingbox4.cc (1.5),
-	  tests/Polyhedron/boundingbox5.cc (1.5),
-	  tests/Polyhedron/bounds1.cc (1.5), tests/Polyhedron/bounds2.cc
-	  (1.4), tests/Polyhedron/bug2.cc (1.3),
-	  tests/Polyhedron/concatenate1.cc (1.4),
-	  tests/Polyhedron/concatenate2.cc (1.5),
-	  tests/Polyhedron/concatenate3.cc (1.4),
-	  tests/Polyhedron/concatenate4.cc (1.4),
-	  tests/Polyhedron/concatenate5.cc (1.4),
-	  tests/Polyhedron/concatenate6.cc (1.5),
-	  tests/Polyhedron/concatenate7.cc (1.3),
-	  tests/Polyhedron/constraints1.cc (1.4),
-	  tests/Polyhedron/constraints2.cc (1.5),
-	  tests/Polyhedron/constraints3.cc (1.4),
-	  tests/Polyhedron/constraints4.cc (1.5),
-	  tests/Polyhedron/constraints5.cc (1.3),
-	  tests/Polyhedron/contains1.cc (1.4),
-	  tests/Polyhedron/contains2.cc (1.4),
-	  tests/Polyhedron/contains3.cc (1.4),
-	  tests/Polyhedron/contains4.cc (1.4),
-	  tests/Polyhedron/contains5.cc (1.4),
-	  tests/Polyhedron/disjoint1.cc (1.4),
-	  tests/Polyhedron/disjoint2.cc (1.5),
-	  tests/Polyhedron/disjoint3.cc (1.5),
-	  tests/Polyhedron/dualhypercubes.cc (1.4),
-	  tests/Polyhedron/empty1.cc (1.5), tests/Polyhedron/equals1.cc
-	  (1.4), tests/Polyhedron/exceptions1.cc (1.6),
-	  tests/Polyhedron/exceptions2.cc (1.5),
-	  tests/Polyhedron/exceptions3.cc (1.6),
-	  tests/Polyhedron/expandspacedim1.cc (1.5),
-	  tests/Polyhedron/expandspacedim2.cc (1.5),
-	  tests/Polyhedron/foldspacedims1.cc (1.5),
-	  tests/Polyhedron/foldspacedims2.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage1.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage10.cc (1.4),
-	  tests/Polyhedron/generalizedaffineimage11.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage12.cc (1.4),
-	  tests/Polyhedron/generalizedaffineimage13.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage14.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage2.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage3.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage4.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage5.cc (1.4),
-	  tests/Polyhedron/generalizedaffineimage6.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage7.cc (1.5),
-	  tests/Polyhedron/generalizedaffineimage8.cc (1.4),
-	  tests/Polyhedron/generalizedaffineimage9.cc (1.4),
-	  tests/Polyhedron/generalizedaffinepreimage1.cc (1.2),
-	  tests/Polyhedron/generalizedaffinepreimage2.cc (1.2),
-	  tests/Polyhedron/generalizedaffinepreimage3.cc (1.2),
-	  tests/Polyhedron/generalizedaffinepreimage4.cc (1.2),
-	  tests/Polyhedron/generators1.cc (1.4),
-	  tests/Polyhedron/generators2.cc (1.4),
-	  tests/Polyhedron/generators3.cc (1.5),
-	  tests/Polyhedron/generators4.cc (1.5),
-	  tests/Polyhedron/generators5.cc (1.4),
-	  tests/Polyhedron/generators6.cc (1.5),
-	  tests/Polyhedron/generators7.cc (1.4),
-	  tests/Polyhedron/geomcovers1.cc (1.5),
-	  tests/Polyhedron/h79widening1.cc (1.4),
-	  tests/Polyhedron/h79widening2.cc (1.4),
-	  tests/Polyhedron/h79widening3.cc (1.4),
-	  tests/Polyhedron/h79widening4.cc (1.4),
-	  tests/Polyhedron/h79widening5.cc (1.5),
-	  tests/Polyhedron/h79widening6.cc (1.4),
-	  tests/Polyhedron/h79widening7.cc (1.4),
-	  tests/Polyhedron/h79widening8.cc (1.4),
-	  tests/Polyhedron/intersection1.cc (1.4),
-	  tests/Polyhedron/intersection10.cc (1.5),
-	  tests/Polyhedron/intersection11.cc (1.5),
-	  tests/Polyhedron/intersection2.cc (1.4),
-	  tests/Polyhedron/intersection3.cc (1.4),
-	  tests/Polyhedron/intersection4.cc (1.5),
-	  tests/Polyhedron/intersection5.cc (1.5),
-	  tests/Polyhedron/intersection6.cc (1.5),
-	  tests/Polyhedron/intersection7.cc (1.4),
-	  tests/Polyhedron/intersection8.cc (1.5),
-	  tests/Polyhedron/intersection9.cc (1.5),
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.4),
-	  tests/Polyhedron/limitedh79extrapolation1.cc (1.4),
-	  tests/Polyhedron/limitedh79extrapolation2.cc (1.4),
-	  tests/Polyhedron/limitedh79extrapolation3.cc (1.4),
-	  tests/Polyhedron/limitedh79extrapolation4.cc (1.5),
-	  tests/Polyhedron/linearpartition1.cc (1.4),
-	  tests/Polyhedron/linearpartition2.cc (1.4),
-	  tests/Polyhedron/linearpartition3.cc (1.4),
-	  tests/Polyhedron/linearpartition4.cc (1.5),
-	  tests/Polyhedron/linexpression1.cc (1.4),
-	  tests/Polyhedron/mapspacedims1.cc (1.5),
-	  tests/Polyhedron/mapspacedims2.cc (1.4),
-	  tests/Polyhedron/mapspacedims3.cc (1.4),
-	  tests/Polyhedron/mapspacedims4.cc (1.4),
-	  tests/Polyhedron/max_min1.cc (1.4), tests/Polyhedron/max_min2.cc
-	  (1.4), tests/Polyhedron/maxspacedim1.cc (1.4),
-	  tests/Polyhedron/mc91.cc (1.5), tests/Polyhedron/membytes1.cc
-	  (1.5), tests/Polyhedron/membytes2.cc (1.4),
-	  tests/Polyhedron/memory1.cc (1.6), tests/Polyhedron/memory2.cc
-	  (1.9), tests/Polyhedron/minconstraints1.cc (1.4),
-	  tests/Polyhedron/minconstraints2.cc (1.5),
-	  tests/Polyhedron/minconstraints3.cc (1.4),
-	  tests/Polyhedron/minconstraints4.cc (1.4),
-	  tests/Polyhedron/mingenerators1.cc (1.4),
-	  tests/Polyhedron/mingenerators2.cc (1.5),
-	  tests/Polyhedron/mingenerators3.cc (1.4),
-	  tests/Polyhedron/onepoint.cc (1.5), tests/Polyhedron/permute.cc
-	  (1.4), tests/Polyhedron/polydifference1.cc (1.4),
-	  tests/Polyhedron/polydifference2.cc (1.4),
-	  tests/Polyhedron/polydifference3.cc (1.4),
-	  tests/Polyhedron/polydifference4.cc (1.5),
-	  tests/Polyhedron/polydifference5.cc (1.4),
-	  tests/Polyhedron/polydifference6.cc (1.4),
-	  tests/Polyhedron/polydifference7.cc (1.5),
-	  tests/Polyhedron/polydifference8.cc (1.4),
-	  tests/Polyhedron/polydifference9.cc (1.5),
-	  tests/Polyhedron/polyhull1.cc (1.4),
-	  tests/Polyhedron/polyhull10.cc (1.4),
-	  tests/Polyhedron/polyhull11.cc (1.4),
-	  tests/Polyhedron/polyhull2.cc (1.5),
-	  tests/Polyhedron/polyhull3.cc (1.5),
-	  tests/Polyhedron/polyhull4.cc (1.4),
-	  tests/Polyhedron/polyhull5.cc (1.5),
-	  tests/Polyhedron/polyhull6.cc (1.4),
-	  tests/Polyhedron/polyhull7.cc (1.4),
-	  tests/Polyhedron/polyhull8.cc (1.5),
-	  tests/Polyhedron/polyhull9.cc (1.5),
-	  tests/Polyhedron/polypowerset1.cc (1.4),
-	  tests/Polyhedron/randphull1.cc (1.5),
-	  tests/Polyhedron/randphull2.cc (1.6),
-	  tests/Polyhedron/relations1.cc (1.4),
-	  tests/Polyhedron/relations10.cc (1.4),
-	  tests/Polyhedron/relations11.cc (1.4),
-	  tests/Polyhedron/relations12.cc (1.4),
-	  tests/Polyhedron/relations13.cc (1.4),
-	  tests/Polyhedron/relations14.cc (1.4),
-	  tests/Polyhedron/relations15.cc (1.4),
-	  tests/Polyhedron/relations16.cc (1.4),
-	  tests/Polyhedron/relations17.cc (1.5),
-	  tests/Polyhedron/relations18.cc (1.4),
-	  tests/Polyhedron/relations19.cc (1.5),
-	  tests/Polyhedron/relations2.cc (1.5),
-	  tests/Polyhedron/relations3.cc (1.4),
-	  tests/Polyhedron/relations4.cc (1.4),
-	  tests/Polyhedron/relations5.cc (1.4),
-	  tests/Polyhedron/relations6.cc (1.5),
-	  tests/Polyhedron/relations7.cc (1.4),
-	  tests/Polyhedron/relations8.cc (1.4),
-	  tests/Polyhedron/relations9.cc (1.4),
-	  tests/Polyhedron/removespacedims1.cc (1.4),
-	  tests/Polyhedron/removespacedims10.cc (1.5),
-	  tests/Polyhedron/removespacedims2.cc (1.4),
-	  tests/Polyhedron/removespacedims3.cc (1.5),
-	  tests/Polyhedron/removespacedims4.cc (1.4),
-	  tests/Polyhedron/removespacedims5.cc (1.5),
-	  tests/Polyhedron/removespacedims6.cc (1.4),
-	  tests/Polyhedron/removespacedims7.cc (1.4),
-	  tests/Polyhedron/removespacedims8.cc (1.4),
-	  tests/Polyhedron/removespacedims9.cc (1.4),
-	  tests/Polyhedron/smm1.cc (1.4), tests/Polyhedron/timeelapse1.cc
-	  (1.4), tests/Polyhedron/timeelapse2.cc (1.5),
-	  tests/Polyhedron/timeelapse3.cc (1.4),
-	  tests/Polyhedron/timeelapse4.cc (1.4),
-	  tests/Polyhedron/timeelapse5.cc (1.5),
-	  tests/Polyhedron/timeelapse6.cc (1.4),
-	  tests/Polyhedron/timeelapse7.cc (1.5),
-	  tests/Polyhedron/timeelapse8.cc (1.5),
-	  tests/Polyhedron/timeelapse9.cc (1.5),
-	  tests/Polyhedron/topclosed1.cc (1.5),
-	  tests/Polyhedron/topclosed2.cc (1.5),
-	  tests/Polyhedron/topclosed3.cc (1.4),
-	  tests/Polyhedron/topclosure1.cc (1.4),
-	  tests/Polyhedron/topclosure2.cc (1.5),
-	  tests/Polyhedron/topclosure3.cc (1.4),
-	  tests/Polyhedron/topclosure4.cc (1.5),
-	  tests/Polyhedron/universe1.cc (1.4),
-	  tests/Polyhedron/universe2.cc (1.4),
-	  tests/Polyhedron/universe3.cc (1.4),
-	  tests/Polyhedron/universe4.cc (1.4),
-	  tests/Polyhedron/universe5.cc (1.4),
-	  tests/Polyhedron/universe6.cc (1.4),
-	  tests/Polyhedron/universe7.cc (1.4),
-	  tests/Polyhedron/watchdog1.cc (1.5),
-	  tests/Polyhedron/writeconsys1.cc (1.4),
-	  tests/Polyhedron/writegensys1.cc (1.4),
-	  tests/Polyhedron/writegensys2.cc (1.5),
-	  tests/Polyhedron/writegensys3.cc (1.4),
-	  tests/Polyhedron/writepolyhedron1.cc (1.4),
-	  tests/Polyhedron/writepolyhedron2.cc (1.4),
-	  tests/Polyhedron/writepolyhedron3.cc (1.4),
-	  tests/Polyhedron/writerelation1.cc (1.4),
-	  tests/Polyhedron/writevariable1.cc (1.4), utils/Makefile.am
-	  (1.3), utils/text2cxxarray (1.2), utils/timings.cc (1.4),
-	  utils/timings.hh (1.3): Address of the Free Software Foundation
-	  updated.
-
-2005-08-21 Sunday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.6): The --libs option has been removed
-	  (could not assign a decent semantics to it).
-
-2005-08-21 Sunday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.5): Completed the work announced in the
-	  previous commit.
-
-2005-08-21 Sunday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.4): Implemented the --interface option.
-	  Keywords are now case-insensitive.
-
-2005-08-21 Sunday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.3): Added the --coefficients option.
-
-2005-08-21 Sunday 01:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc.in (1.2): Several improvements and new options.
-
-2005-08-20 Saturday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.168), src/Makefile.am (1.114), src/ppl-config.cc
-	  (1.6), src/ppl-config.cc.in (1.1): A new implementation technique
-	  for `ppl-config' allows to deal with package relocations.
-
-2005-08-20 Saturday 00:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc (1.5): New option --banner.
-
-2005-08-20 Saturday 00:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc (1.4): Output format `raw' renamed `plain'.
-	  New output format `makefile'.
-
-2005-08-19 Friday 23:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.113), ppl-config.cc (1.3): Added support for
-	  the --prefix and the --exec-prefix options.
-
-2005-08-19 Friday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.167): Version number bumped.
-
-2005-08-19 Friday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl-config.cc (1.2): Added an option to print the `configure'
-	  options.
-
-2005-08-19 Friday 13:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.166): Keep track of the options with which
-	  `configure' was invoked.
-
-2005-08-19 Friday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.112), ppl-config.cc (1.1): The ppl-config
-	  program allows to enquire about the configuration of the PPL and
-	  of the applications using it.
-
-2005-08-19 Friday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* utils/text2cxxarray (1.1): Convert an ASCII text into the
-	  declaration of a C++ array.
-
-2005-08-18 Thursday 20:49  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, timeelapse1.cc (grids.[24,1]): Add
-	  timeelapse1.
-
-2005-08-18 Thursday 20:45  Matthew Mundell
-
-	* src/Grid_public.cc (grids.51): Enable method time_elapse_assign.
-
-2005-08-18 Thursday 20:44  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.25): Improve temporary comment.
-
-2005-08-18 Thursday 15:34  Matthew Mundell
-
-	* src/Grid_public.cc (grids.50): Check for points before adding
-	  lines in generalized_affine_image(lhs,rhs,m).
-
-2005-08-18 Thursday 15:24  Matthew Mundell
-
-	* tests/Grid/griddifference1.cc (grids.3): Add test11, in which
-	  many 2-complements are added to the result.
-
-2005-08-18 Thursday 12:59  Matthew Mundell
-
-	* tests/Grid/griddifference1.cc (grids.2): Add test10.
-
-2005-08-18 Thursday 12:21  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, generalizedaffinepreimage1.cc,
-	  generalizedaffinepreimage2.cc (grids.[23,1,1]): Add partial tests
-	  generalizedaffinepreimage1 and generalizedaffinepreimage2.
-
-2005-08-18 Thursday 12:18  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_public.cc (grids.[35,49]): Add the
-	  generalized_affine_preimage methods.
-
-2005-08-18 Thursday 12:16  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.19): Add a comment.
-
-2005-08-18 Thursday 12:15  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.14): Declare Linear_Expression a
-	  friend.
-
-2005-08-17 Wednesday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.50): Added
-	  -I$(SWI_PROLOG_INCLUDE_DIRECTORY) to AM_CPPFLAGS.
-
-2005-08-17 Wednesday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.165): Use AC_CHECK_SWI_PROLOG to perform the
-	  checks for SWI Prolog.
-
-2005-08-17 Wednesday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_swi_prolog.m4 (1.1): The new AC_CHECK_SWI_PROLOG
-	  function performs check for SWI Prolog by invoking the SWI-Prolog
-	  executable with `-dump-runtime-variables' option and interpreting
-	  the results.
-
-2005-08-17 Wednesday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.24): Added
-	  boundedaffinepreimage2, generalizedaffinepreimage3,
-	  nnc_boundedaffinepreimage2 and nnc_generalizedaffinepreimage3 to
-	  XFAIL_WITH_INT8.
-
-2005-08-16 Tuesday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.49): Removed the "-goal
-	  main" options from the invocations of `plld'.
-
-2005-08-16 Tuesday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.132): Stray \endcode
-	  fixed.  Formatting improvements.
-
-2005-08-16 Tuesday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/PFunction.cc (1.6): Code formatting improved.
-
-2005-08-16 Tuesday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.157): Announced new methods for computing preimages.
-
-2005-08-16 Tuesday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.57): Corrected error in the
-	  implementation of generalized_affine_(pre)image.
-
-2005-08-16 Tuesday 14:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.135), ppl_c.h.in (1.50): Interfaced
-	  new methods for computing affine preimages.
-
-2005-08-16 Tuesday 12:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.173): Had another try at explaining the
-	  shorthand notation for affine relations.
-
-2005-08-16 Tuesday 11:44  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, griddifference1.cc (grids.[22,1]): Add
-	  griddifference1.
-
-2005-08-16 Tuesday 11:43  Matthew Mundell
-
-	* tests/: ppl_test.hh, print.hh (grids.[10,4]): Move dump_grids to
-	  print.hh.  Abort if the comparison in find_variation_template
-	  fails.
-
-2005-08-16 Tuesday 11:41  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_nonpublic.cc, Grid_public.cc
-	  (grids.[34,24,48]): Enable grid_difference_assign.  Add and
-	  improve a few comments.  Take out some old Polyhedron code.
-
-2005-08-16 Tuesday 11:39  Matthew Mundell
-
-	* src/: Linear_Expression.cc, Linear_Expression.defs.hh
-	  (grids.[1,3]): Add constructor Linear_Expression(cg).
-
-2005-08-16 Tuesday 10:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.23), affinepreimage11.cc (1.1),
-	  boundedaffineimage3.cc (1.1), boundedaffinepreimage1.cc (1.1),
-	  boundedaffinepreimage2.cc (1.1), boundedaffinepreimage3.cc (1.1),
-	  generalizedaffinepreimage1.cc (1.1),
-	  generalizedaffinepreimage2.cc (1.1),
-	  generalizedaffinepreimage3.cc (1.1),
-	  generalizedaffinepreimage4.cc (1.1): Added tests for new methods
-	  computing preimages of polyhedra.
-
-2005-08-16 Tuesday 10:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.273), Polyhedron_public.cc (1.56):
-	  Added methods generalized_affine_preimage() and
-	  bounded_affine_preimage().  A few improvements also in other
-	  affine images and preimages methods.
-
-2005-08-16 Tuesday 10:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.114): In map_space_dimensions,
-	  temporary constant declared const.
-
-2005-08-16 Tuesday 10:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (1.81): Remove spurious space.
-
-2005-08-16 Tuesday 10:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint_System.cc (1.7): Avoid a too long line.
-
-2005-08-15 Monday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.20), src/BD_Shape.inlines.hh (1.51),
-	  src/Checked_Number.defs.hh (1.29), src/DB_Row.inlines.hh (1.6),
-	  tests/ppl_test.hh (1.23): Old kludges removed.
-
-2005-08-15 Monday 21:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.48): Use the "-goal main"
-	  option of `plld' instead of the more verbose (and obscure)
-	  "-pl-options,-g,main".
-
-2005-08-15 Monday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/bug2.cc (1.2): Be more verbose.
-
-2005-08-12 Friday 19:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: definitions.dox (1.172), ppl.sty (1.19): Provided new
-	  description of affine transfer relations so as to also allow for
-	  preimages of (bounded or generalized) affine relations.
-
-2005-08-12 Friday 16:55  Matthew Mundell
-
-	* tests/Grid/generalizedaffineimage2.cc (grids.2): Add test22.
-
-2005-08-11 Thursday 17:29  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, generalizedaffineimage2.cc
-	  (grids.[21,1]): Add generalizedaffineimage2.
-
-2005-08-11 Thursday 17:27  Matthew Mundell
-
-	* tests/Grid/intersection2.cc (grids.3): Always call
-	  intersection_assign_and_minimize.  Only call find_variation after
-	  the operation.
-
-2005-08-11 Thursday 17:21  Matthew Mundell
-
-	* tests/Grid/intersection1.cc (grids.2): In test8 leave
-	  minimization to intersection_assign.
-
-2005-08-11 Thursday 17:20  Matthew Mundell
-
-	* src/Grid_public.cc (grids.47): In intersection_assign,
-	  add_recycled_congruences_and_minimize and
-	  add_recycled_congruences correct the sense of the test for
-	  emptiness.
-
-	  Enable generalized_affine_image(lhs,rhs,modulus).
-
-2005-08-11 Thursday 17:18  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.33): Improve some descriptions.
-
-2005-08-09 Tuesday 16:37  Matthew Mundell
-
-	* tests/Grid/mapspacedims1.cc (grids.7): Correct comment.
-
-2005-08-09 Tuesday 16:36  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.32): Markup parameters in the
-	  construct(gs,convert_rays_to_lines) description.
-
-2005-08-09 Tuesday 16:29  Matthew Mundell
-
-	* tests/Grid/mapspacedims1.cc (grids.6): Add test9, which tests a
-	  minimized grid in which the point contains factors and the
-	  divisor is greater than one.	Dump the grids on failure.
-
-2005-08-09 Tuesday 16:27  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_nonpublic.cc
-	  (grids.[31,11,23]): Add a convert_rays_to_line parameter to
-	  Grid(gs) and construct(gs).
-
-	  In map_space_dimensions, when the number of dimensions changes:
-
-	    - ensure that points and rays remain constant under the
-	  generator
-	      normalization that occurs when the points and rays are
-	  created
-
-	    - skip converting rays to lines when creating the temporary new
-	      grid.
-
-2005-08-08 Monday 20:01  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, generalizedaffineimage1.cc
-	  (grids.[20,1]): Add generalizedaffineimage1.
-
-2005-08-08 Monday 19:59  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_public.cc (grids.[30,46]): Declare the
-	  generalized_affine_image methods.  Enable method
-	  generalized_affine_image(var,expr,denom,mod).  Clean some
-	  formatting.  Note where comments mention rays.
-
-2005-08-08 Monday 19:54  Matthew Mundell
-
-	* src/Generator_System.cc (grids.10): Call
-	  remove_invalid_lines_and_rays when grid is true.
-
-2005-08-03 Wednesday 20:36  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, foldspacedims1.cc (grids.[19,1]): Add
-	  foldspacedims1.
-
-2005-08-03 Wednesday 20:35  Matthew Mundell
-
-	* tests/Grid/join1.cc (grids.5): Add test6 and test7, in which the
-	  generators are initially out of date.
-
-2005-08-03 Wednesday 20:33  Matthew Mundell
-
-	* src/: Grid_chdims.cc, Grid_public.cc (grids.[14,45]): Enable
-	  fold_space_dimensions.  Invert the empty tests after updating in
-	  join_assign.
-
-2005-08-02 Tuesday 19:43  Matthew Mundell
-
-	* tests/Grid/affineimage1.cc (grids.2): Format linear expressions
-	  consistently.
-
-2005-08-02 Tuesday 19:42  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, affinepreimage1.cc (grids.[18,1]): Add
-	  affinepreimage1.
-
-2005-08-02 Tuesday 19:41  Matthew Mundell
-
-	* src/Grid_public.cc (grids.44): Enable affine_preimage.
-
-2005-08-01 Monday 18:32  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, affineimage1.cc (grids.[17,1]): Add
-	  affineimage1.
-
-2005-08-01 Monday 18:31  Matthew Mundell
-
-	* src/: Linear_Row.cc, Linear_Row.defs.hh (grids.[3,3]): Add method
-	  ascii_dump().
-
-2005-08-01 Monday 18:30  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.22): In normalize_divisors(sys,
-	  divisor) only set the divisor for points.
-
-2005-08-01 Monday 18:28  Matthew Mundell
-
-	* src/: Congruence_System.cc, Generator.cc, Generator.defs.hh,
-	  Generator_System.cc, Generator_System.defs.hh, Grid_public.cc,
-	  Linear_Expression.defs.hh (grids.[18,2,5,9,3,43,2]): Enable
-	  Congruence_System::affine_preimage and Grid::affine_image.
-
-	  Add parameter check_normalization to Generator::OK, which
-	  determines if normalization is checked.  Add parameter
-	  check_normalization to Generator_System methods OK and insert,
-	  which is passed through to Generator::OK.  Skip the normalization
-	  checks for the Grid generator system.
-
-	  Add parameter grid to Generator_System::affine_image, which
-	  determines if strong_normalize and remove_invalid_lines_and_rays
-	  are called.
-
-	  In add_generator normalize the generator's divisor after the
-	  generator is inserted.
-
-	  Declare Grid and Congruence_System friends of Linear_Expression.
-
-2005-07-27 Wednesday 13:18  Matthew Mundell
-
-	* tests/Grid/relations2.cc (grids.2): Add test4 to test8.
-
-2005-07-27 Wednesday 13:17  Matthew Mundell
-
-	* src/Grid_public.cc (grids.42): Update relation_with(cg) to handle
-	  any grid representation, instead of requiring a minimized
-	  representation.
-
-2005-07-24 Sunday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.22): Added boundedaffineimage2
-	  and nnc_boundedaffineimage2 to XFAIL_WITH_INT8.
-
-2005-07-20 Wednesday 09:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.131):    Corrected
-	  documentation for the Prolog interface where the specifications
-	     for the predicates ppl_Polyhedron_contains_Polyhedron/2 and
-	     ppl_Polyhedron_strictly_contains_Polyhedron/2 referred to
-	  their arguments
-	     the wrong way round.
-
-2005-07-14 Thursday 20:53  Matthew Mundell
-
-	* tests/Grid/expandspacedim1.cc (grids.2): Indent the copyright
-	  line.
-
-2005-07-14 Thursday 20:52  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, relations1.cc, relations2.cc
-	  (grids.[16,1,1]): Add relations1 and relations2.
-
-2005-07-14 Thursday 20:51  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_chdims.cc, Grid_public.cc
-	  (grids.[29,13,41]): Enable and convert relation_with(cg) and
-	  relation_with(g), adding an optional divisor argument to
-	  relations_with(g).
-
-2005-07-14 Thursday 20:47  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh
-	  (grids.[17,12]): Add method insert_verbatim.
-
-2005-07-13 Wednesday 14:58  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, expandspacedim1.cc (grids.[15,1]): Add
-	  expandspacedim1.
-
-2005-07-13 Wednesday 14:56  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.12): Enable and convert
-	  expand_space_dimension.
-
-2005-07-12 Tuesday 16:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/boundedaffineimage1.cc (1.2): Corrected a typo
-	  in the expected result.
-
-2005-07-12 Tuesday 15:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.156): Announced new method
-	  Polyhedron::bounded_affine_image().
-
-2005-07-12 Tuesday 15:47  Matthew Mundell
-
-	* tests/Grid/: grid1.cc, grid2.cc (grids.[18,14]): Dump grids on
-	  failure.  Only use find_variation for the grid under test.
-	  Insert test9 to test12, test14 and test22, from the revised
-	  Chiara tests.
-
-2005-07-12 Tuesday 15:44  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.9): Add macro dump_grids.
-
-2005-07-12 Tuesday 13:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.171), interfaces/C/ppl_c.cc (1.134),
-	  interfaces/C/ppl_c.h.in (1.49),
-	  interfaces/Prolog/Prolog_interface.dox (1.130),
-	  interfaces/Prolog/ppl_prolog.icc (1.156),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.11),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.79),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.51),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.75),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.99),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.38),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.66),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.16),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.91), src/Polyhedron.defs.hh
-	  (1.272), src/Polyhedron_public.cc (1.55),
-	  tests/Polyhedron/Makefile.am (1.21),
-	  tests/Polyhedron/boundedaffineimage1.cc (1.1),
-	  tests/Polyhedron/boundedaffineimage2.cc (1.1),
-	  tests/Polyhedron/exceptions1.cc (1.5): The new method
-	  Polyhedron::affine_bounds() renamed as
-	  Polyhedron::bounded_affine_image(), added to all available
-	  interfaces and documented. Added a few tests on its C++ version
-	  (no test added yet for Prolog).
-
-2005-07-12 Tuesday 12:49  Matthew Mundell
-
-	* tests/Grid/: grid1.cc, grid2.cc (grids.[17,13]): Match tests to
-	  revised Chiara algorithm tests.
-
-2005-07-11 Monday 17:47  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_minimize.cc, Grid_public.cc
-	  (grids.[28,16,40]): Replace both add_and_minimize methods with
-	  code in each caller.
-
-2005-07-11 Monday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* compile (1.5), config.guess (1.30), config.sub (1.29), depcomp
-	  (1.10), mkinstalldirs (1.9), missing (1.10), Watchdog/compile
-	  (1.5), Watchdog/config.guess (1.14), Watchdog/config.sub (1.14),
-	  Watchdog/depcomp (1.8), Watchdog/missing (1.6),
-	  Watchdog/mkinstalldirs (1.5): Updated from Automake 1.9.6.
-
-2005-07-08 Friday 20:02  Matthew Mundell
-
-	* tests/Grid/: Makefile.am, equals1.cc (grids.[14,1]): Add equals,
-	  which tests operator== and operator!=.
-
-2005-07-08 Friday 19:58  Matthew Mundell
-
-	* tests/Grid/mapspacedims1.cc (grids.5): Correct test7 expected
-	  result.  Print test name from all tests.
-
-2005-07-08 Friday 19:57  Matthew Mundell
-
-	* tests/Grid/congruencesystem2.cc (grids.5): Add another line test,
-	  and some temporary comments.
-
-2005-07-08 Friday 19:56  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.8): Correct test3 expected
-	  result.
-
-2005-07-08 Friday 19:55  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.16): In satisfies_all_congruences
-	  compare the entire scalar product to zero when the generator is a
-	  line.
-
-2005-07-07 Thursday 16:41  Matthew Mundell
-
-	* tests/Grid/join1.cc (grids.4): Add test5, which requires divisor
-	  normalisation.  Call join_assign instead of
-	  join_assign_and_minimize in test4.
-
-2005-07-07 Thursday 16:39  Matthew Mundell
-
-	* src/Grid_public.cc (grids.39): Match the divisors of the two
-	  generator systems in join_assign.
-
-2005-07-06 Wednesday 20:21  Matthew Mundell
-
-	* tests/Grid/congruencesystem2.cc, tests/Grid/grid1.cc,
-	  tests/Grid/grid2.cc, tests/Grid/removespacedims1.cc,
-	  src/Congruence_System.cc, src/Congruence_System.defs.hh,
-	  src/Grid_nonpublic.cc, src/Grid_public.cc
-	  (grids.[4,16,12,4,15,11,21,38]): Normalize divisors after
-	  converting from rays to lines.  Use the system-wide divisor to
-	  calculate the factor used when normalizing parameters.  In
-	  satisfies_all_congruences multiply the modulus by the divisor to
-	  account for the divisor when comparing parameters.
-
-	  Correct Chiara function names in grid1.cc comments.  Correct the
-	  expected results in grid1.cc test13 and test14, grid2.cc test2
-	  and test10 and removespacedims1.cc test1.  Insert test16 (from
-	  the chiara water monitor example) into grid1.cc.
-
-2005-07-06 Wednesday 19:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.155): Mentioned the bug corrected in
-	  generalized_affine_image() and the renaming of enumeration
-	  Degenerate_Element.
-
-2005-07-06 Wednesday 17:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.147): Degenerate_Kind is now named Degenerate_Element and
-	  placed outside of class Polyhedron. Namespaces are documented in
-	  namespaces.hh.
-
-2005-07-06 Wednesday 17:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.155): No longer using
-	  Degenerate_Kind.
-
-2005-07-06 Wednesday 17:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.133): Do use Degenerate_Element instead
-	  of Degenerate_Kind.
-
-2005-07-06 Wednesday 17:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.55),
-	  devref-print.doxyconf-latex.in (1.55), devref.doxyconf-html.in
-	  (1.55): Also include namespaces.hh.
-
-2005-07-06 Wednesday 17:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: BD_Shape/addspacedims3.cc (1.5),
-	  BD_Shape/addspacedims4.cc (1.5), BD_Shape/addspacedims5.cc (1.5),
-	  BD_Shape/addspacedims6.cc (1.5), BD_Shape/addspacedims7.cc (1.4),
-	  BD_Shape/cc76extrapolation4.cc (1.4), BD_Shape/cc76narrowing4.cc
-	  (1.4), BD_Shape/cc76narrowing5.cc (1.4),
-	  BD_Shape/ch78widening2.cc (1.4), BD_Shape/ch78widening5.cc (1.4),
-	  BD_Shape/concatenate2.cc (1.4), BD_Shape/concatenate5.cc (1.4),
-	  BD_Shape/constraints1.cc (1.5), BD_Shape/contains2.cc (1.5),
-	  BD_Shape/contains3.cc (1.5), BD_Shape/equality1.cc (1.5),
-	  BD_Shape/fromgensys1.cc (1.3),
-	  BD_Shape/generalizedaffineimage14.cc (1.4),
-	  BD_Shape/generalizedaffineimage3.cc (1.5),
-	  BD_Shape/intersection4.cc (1.5), BD_Shape/intersection5.cc (1.5),
-	  BD_Shape/limitedCC76extrapolation2.cc (1.4),
-	  BD_Shape/limitedCC76extrapolation3.cc (1.4),
-	  BD_Shape/mapspacedims2.cc (1.4), BD_Shape/polydifference1.cc
-	  (1.5), BD_Shape/polydifference5.cc (1.4), BD_Shape/relations1.cc
-	  (1.5), BD_Shape/relations5.cc (1.5), BD_Shape/removespacedims2.cc
-	  (1.4), BD_Shape/removespacedims3.cc (1.4),
-	  BD_Shape/timeelapse1.cc (1.4), BD_Shape/timeelapse5.cc (1.4),
-	  BD_Shape/writebdshape2.cc (1.2), Polyhedron/addconstraint2.cc
-	  (1.4), Polyhedron/addconstraints1.cc (1.4),
-	  Polyhedron/addconstraints10.cc (1.4),
-	  Polyhedron/addconstraints13.cc (1.4),
-	  Polyhedron/addconstraints3.cc (1.4),
-	  Polyhedron/addconstraints5.cc (1.4),
-	  Polyhedron/addconstraints7.cc (1.4),
-	  Polyhedron/addconstraints8.cc (1.4), Polyhedron/addgenerator1.cc
-	  (1.4), Polyhedron/addgenerator2.cc (1.4),
-	  Polyhedron/addgenerator4.cc (1.4), Polyhedron/addgenerator5.cc
-	  (1.4), Polyhedron/addgenerators1.cc (1.4),
-	  Polyhedron/addgenerators10.cc (1.4),
-	  Polyhedron/addgenerators11.cc (1.4),
-	  Polyhedron/addgenerators12.cc (1.4),
-	  Polyhedron/addgenerators13.cc (1.4), Polyhedron/addgenerators2.cc
-	  (1.4), Polyhedron/addgenerators6.cc (1.4),
-	  Polyhedron/addgenerators8.cc (1.4), Polyhedron/addspacedims1.cc
-	  (1.4), Polyhedron/addspacedims2.cc (1.4),
-	  Polyhedron/addspacedims3.cc (1.4), Polyhedron/addspacedims8.cc
-	  (1.4), Polyhedron/affineimage1.cc (1.4),
-	  Polyhedron/affineimage4.cc (1.4), Polyhedron/affineimage5.cc
-	  (1.4), Polyhedron/affineimage6.cc (1.4),
-	  Polyhedron/affinepreimage3.cc (1.4),
-	  Polyhedron/affinepreimage8.cc (1.4),
-	  Polyhedron/ascii_dump_load6.cc (1.4),
-	  Polyhedron/bgp99extrapolation1.cc (1.4),
-	  Polyhedron/bgp99extrapolation2.cc (1.4),
-	  Polyhedron/bhrz03widening10.cc (1.4),
-	  Polyhedron/bhrz03widening15.cc (1.4),
-	  Polyhedron/bhz03widening1.cc (1.4), Polyhedron/bhz03widening2.cc
-	  (1.4), Polyhedron/bhz03widening3.cc (1.4),
-	  Polyhedron/bhz03widening4.cc (1.4), Polyhedron/bhz03widening5.cc
-	  (1.4), Polyhedron/bhz03widening6.cc (1.4), Polyhedron/bounded1.cc
-	  (1.4), Polyhedron/boundedbhrz03extrapolation1.cc (1.2),
-	  Polyhedron/boundingbox1.cc (1.4), Polyhedron/boundingbox2.cc
-	  (1.4), Polyhedron/boundingbox3.cc (1.4),
-	  Polyhedron/boundingbox4.cc (1.4), Polyhedron/boundingbox5.cc
-	  (1.4), Polyhedron/bounds1.cc (1.4), Polyhedron/concatenate2.cc
-	  (1.4), Polyhedron/concatenate6.cc (1.4),
-	  Polyhedron/concatenate7.cc (1.2), Polyhedron/constraints2.cc
-	  (1.4), Polyhedron/constraints4.cc (1.4), Polyhedron/disjoint2.cc
-	  (1.4), Polyhedron/disjoint3.cc (1.4), Polyhedron/empty1.cc (1.4),
-	  Polyhedron/exceptions1.cc (1.4), Polyhedron/exceptions2.cc (1.4),
-	  Polyhedron/exceptions3.cc (1.5), Polyhedron/expandspacedim1.cc
-	  (1.4), Polyhedron/expandspacedim2.cc (1.4),
-	  Polyhedron/foldspacedims1.cc (1.4), Polyhedron/foldspacedims2.cc
-	  (1.4), Polyhedron/generalizedaffineimage1.cc (1.4),
-	  Polyhedron/generalizedaffineimage11.cc (1.4),
-	  Polyhedron/generalizedaffineimage13.cc (1.2),
-	  Polyhedron/generalizedaffineimage14.cc (1.2),
-	  Polyhedron/generalizedaffineimage2.cc (1.4),
-	  Polyhedron/generalizedaffineimage3.cc (1.4),
-	  Polyhedron/generalizedaffineimage4.cc (1.4),
-	  Polyhedron/generalizedaffineimage6.cc (1.4),
-	  Polyhedron/generalizedaffineimage7.cc (1.4),
-	  Polyhedron/generators3.cc (1.4), Polyhedron/generators4.cc (1.4),
-	  Polyhedron/generators6.cc (1.4), Polyhedron/generators7.cc (1.3),
-	  Polyhedron/geomcovers1.cc (1.4), Polyhedron/h79widening5.cc
-	  (1.4), Polyhedron/intersection10.cc (1.4),
-	  Polyhedron/intersection11.cc (1.4), Polyhedron/intersection4.cc
-	  (1.4), Polyhedron/intersection5.cc (1.4),
-	  Polyhedron/intersection6.cc (1.4), Polyhedron/intersection8.cc
-	  (1.4), Polyhedron/intersection9.cc (1.4),
-	  Polyhedron/limitedh79extrapolation4.cc (1.4),
-	  Polyhedron/linearpartition4.cc (1.4), Polyhedron/mapspacedims1.cc
-	  (1.4), Polyhedron/mc91.cc (1.4), Polyhedron/membytes1.cc (1.4),
-	  Polyhedron/minconstraints2.cc (1.4), Polyhedron/mingenerators2.cc
-	  (1.4), Polyhedron/onepoint.cc (1.4),
-	  Polyhedron/polydifference4.cc (1.4),
-	  Polyhedron/polydifference7.cc (1.4),
-	  Polyhedron/polydifference9.cc (1.4), Polyhedron/polyhull2.cc
-	  (1.4), Polyhedron/polyhull3.cc (1.4), Polyhedron/polyhull5.cc
-	  (1.4), Polyhedron/polyhull8.cc (1.4), Polyhedron/polyhull9.cc
-	  (1.4), Polyhedron/polypowerset1.cc (1.3),
-	  Polyhedron/randphull1.cc (1.4), Polyhedron/randphull2.cc (1.5),
-	  Polyhedron/relations17.cc (1.4), Polyhedron/relations19.cc (1.4),
-	  Polyhedron/relations2.cc (1.4), Polyhedron/relations6.cc (1.4),
-	  Polyhedron/removespacedims10.cc (1.4),
-	  Polyhedron/removespacedims3.cc (1.4),
-	  Polyhedron/removespacedims5.cc (1.4), Polyhedron/timeelapse2.cc
-	  (1.4), Polyhedron/timeelapse5.cc (1.4), Polyhedron/timeelapse7.cc
-	  (1.4), Polyhedron/timeelapse8.cc (1.4), Polyhedron/timeelapse9.cc
-	  (1.4), Polyhedron/topclosed1.cc (1.4), Polyhedron/topclosed2.cc
-	  (1.4), Polyhedron/topclosure2.cc (1.4), Polyhedron/topclosure4.cc
-	  (1.4), Polyhedron/writegensys2.cc (1.4): Using Degenerate_Element
-	  instead of Polyhedron::Degenerate_Kind.
-
-2005-07-06 Wednesday 17:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.19), BD_Shape.inlines.hh (1.50),
-	  C_Polyhedron.defs.hh (1.32), C_Polyhedron.inlines.hh (1.25),
-	  Determinate.defs.hh (1.54), Determinate.inlines.hh (1.47),
-	  Makefile.am (1.111), NNC_Polyhedron.defs.hh (1.34),
-	  NNC_Polyhedron.inlines.hh (1.28), Polyhedra_Powerset.defs.hh
-	  (1.15), Polyhedra_Powerset.inlines.hh (1.19), Polyhedron.defs.hh
-	  (1.271), Polyhedron.types.hh (1.15), Polyhedron_nonpublic.cc
-	  (1.47), algorithms.hh (1.40), globals.defs.hh (1.20),
-	  namespaces.hh (1.1): Doxygen documentation for namespaces moved
-	  into namespaces.hh.  Polyhedron::Degenerate_Kind renamed as
-	  Degenerate_Element and moved outside of class Polyhedron in
-	  globals.hh.
-
-2005-07-06 Wednesday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory1.cc (1.5), utils/timings.cc (1.3):
-	  <sys/resource.h> should always be included after <time.h> and
-	  <sys/time.h> so as to make sure we have the definitions for,
-	  e.g., `ru_utime'.
-
-2005-07-06 Wednesday 14:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.54),
-	  devref-print.doxyconf-latex.in (1.54), devref.doxyconf-html.in
-	  (1.54), user-browse.doxyconf-latex.in (1.25),
-	  user-print.doxyconf-latex.in (1.25), user.doxyconf-html.in
-	  (1.27): Changed so as to reflect the fact that macro __P has been
-	  renamed PPL_PROTO.
-
-2005-07-06 Wednesday 10:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.22): Minor typo correction.
-
-2005-07-06 Wednesday 10:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.146), src/Powerset.defs.hh (1.12): One item in the huge
-	  list has gone.
-
-2005-07-06 Wednesday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, NEWS, README, TODO, build_header, config.guess,
-	  config.sub, configure.ac, install-sh, ltmain.sh, ppl.spec.in,
-	  Watchdog/Handler.defs.hh, Watchdog/Handler.inlines.hh,
-	  Watchdog/Time.inlines.hh, Watchdog/config.guess,
-	  Watchdog/config.sub, Watchdog/install-sh, Watchdog/ltmain.sh,
-	  debian/.cvsignore, debian/changelog, debian/compat,
-	  debian/control, debian/libppl-c.dirs, debian/libppl-c.install,
-	  debian/libppl-c.links, debian/libppl-dev.dirs,
-	  debian/libppl-dev.doc-base, debian/libppl-dev.doc-base.user,
-	  debian/libppl-dev.docs, debian/libppl-dev.install,
-	  debian/libppl-dev.links, debian/libppl-gprolog.links,
-	  debian/libppl-pwl.copyright.in, debian/libppl-pwl.dirs,
-	  debian/libppl-pwl.docs, debian/libppl-pwl.install,
-	  debian/libppl-sicstus.links, debian/libppl-swi.links,
-	  debian/libppl-yap.links, debian/libppl.copyright.in,
-	  debian/libppl.dirs, debian/libppl.docs, debian/libppl.install,
-	  debian/rules, demos/ppl_lcdd/.cvsignore,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/README,
-	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected_int16,
-	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
-	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
-	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
-	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
-	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
-	  doc/Makefile.am, doc/definitions.dox, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/GNU/Makefile.am, interfaces/Prolog/GNU/README,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/sp_pl_check.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/check_script,
-	  interfaces/Prolog/tests/check_script2,
-	  interfaces/Prolog/tests/check_script2_int8,
-	  interfaces/Prolog/tests/expected2_int16,
-	  interfaces/Prolog/tests/expected2_int16_a,
-	  interfaces/Prolog/tests/expected2_int32,
-	  interfaces/Prolog/tests/expected2_int32_a,
-	  interfaces/Prolog/tests/expected2_int64,
-	  interfaces/Prolog/tests/expected2_int64_a,
-	  interfaces/Prolog/tests/expected2_int8,
-	  interfaces/Prolog/tests/expected2_int8_a,
-	  interfaces/Prolog/tests/expected2_mpz,
-	  interfaces/Prolog/tests/expected2_mpz_a,
-	  interfaces/Prolog/tests/expected3_int16,
-	  interfaces/Prolog/tests/expected3_int16_a,
-	  interfaces/Prolog/tests/expected3_int32,
-	  interfaces/Prolog/tests/expected3_int32_a,
-	  interfaces/Prolog/tests/expected3_int64,
-	  interfaces/Prolog/tests/expected3_int64_a,
-	  interfaces/Prolog/tests/expected3_int8,
-	  interfaces/Prolog/tests/expected3_int8_a,
-	  interfaces/Prolog/tests/expected3_mpz,
-	  interfaces/Prolog/tests/expected3_mpz_a,
-	  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/expected_int16,
-	  interfaces/Prolog/tests/expected_int16_a,
-	  interfaces/Prolog/tests/expected_int32,
-	  interfaces/Prolog/tests/expected_int32_a,
-	  interfaces/Prolog/tests/expected_int64,
-	  interfaces/Prolog/tests/expected_int64_a,
-	  interfaces/Prolog/tests/expected_int8,
-	  interfaces/Prolog/tests/expected_int8_a,
-	  interfaces/Prolog/tests/expected_mpz,
-	  interfaces/Prolog/tests/expected_mpz_a,
-	  interfaces/Prolog/tests/expected_pchk_int16,
-	  interfaces/Prolog/tests/expected_pchk_int16_a,
-	  interfaces/Prolog/tests/expected_pchk_int32,
-	  interfaces/Prolog/tests/expected_pchk_int32_a,
-	  interfaces/Prolog/tests/expected_pchk_int64,
-	  interfaces/Prolog/tests/expected_pchk_int64_a,
-	  interfaces/Prolog/tests/expected_pchk_int8,
-	  interfaces/Prolog/tests/expected_pchk_int8_a,
-	  interfaces/Prolog/tests/expected_pchk_mpz,
-	  interfaces/Prolog/tests/expected_pchk_mpz_a,
-	  interfaces/Prolog/tests/script_clpq,
-	  interfaces/Prolog/tests/script_clpq2,
-	  interfaces/Prolog/tests/script_clpq2_int8, src/.cvsignore,
-	  src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
-	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/Bounding_Box.cc, src/Bounding_Box.defs.hh,
-	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	  src/Constraint.cc, src/Constraint.defs.hh, src/DB_Row.defs.hh,
-	  src/E_Rational.inlines.hh, src/Float.defs.hh,
-	  src/Float.inlines.hh, src/Generator.cc, src/Generator.defs.hh,
-	  src/Grid.defs.hh, src/Grid_Status.idefs.hh, src/Init.cc,
-	  src/Init.defs.hh, src/Interval.defs.hh, src/Interval.inlines.hh,
-	  src/Makefile.am, src/Ph_Status.idefs.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
-	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
-	  src/Result.defs.hh, src/Rounding.defs.hh,
-	  src/Rounding.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/fpu-c99.inlines.hh, src/fpu-ia32.inlines.hh,
-	  src/fpu-none.inlines.hh, src/fpu.defs.hh, src/globals.defs.hh,
-	  src/globals.inlines.hh, src/ppl_header.bottom, src/ppl_header.hh,
-	  src/ppl_header.middle, src/ppl_header.top, tests/BBox.cc,
-	  tests/BBox.hh, tests/PFunction.cc, tests/PFunction.hh,
-	  tests/ehandlers.hh, tests/files.hh, tests/ppl_test.hh,
-	  tests/print.cc, tests/print.hh, tests/BD_Shape/.cvsignore,
-	  tests/BD_Shape/Makefile.am, tests/BD_Shape/addspacedims1.cc,
-	  tests/BD_Shape/addspacedims2.cc, tests/BD_Shape/addspacedims3.cc,
-	  tests/BD_Shape/addspacedims4.cc, tests/BD_Shape/addspacedims5.cc,
-	  tests/BD_Shape/addspacedims6.cc, tests/BD_Shape/affineimage1.cc,
-	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
-	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
-	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
-	  tests/BD_Shape/affineimage8.cc, tests/BD_Shape/affineimage9.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/affinepreimage2.cc,
-	  tests/BD_Shape/affinepreimage3.cc,
-	  tests/BD_Shape/affinepreimage4.cc,
-	  tests/BD_Shape/affinepreimage5.cc,
-	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/constraints1.cc,
-	  tests/BD_Shape/constraints2.cc, tests/BD_Shape/contains2.cc,
-	  tests/BD_Shape/contains3.cc, tests/BD_Shape/empty3.cc,
-	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
-	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
-	  tests/BD_Shape/fromgensys1.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage10.cc,
-	  tests/BD_Shape/generalizedaffineimage13.cc,
-	  tests/BD_Shape/generalizedaffineimage14.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffineimage3.cc,
-	  tests/BD_Shape/generalizedaffineimage4.cc,
-	  tests/BD_Shape/generalizedaffineimage5.cc,
-	  tests/BD_Shape/generalizedaffineimage7.cc,
-	  tests/BD_Shape/generalizedaffineimage8.cc,
-	  tests/BD_Shape/intersection3.cc, tests/BD_Shape/intersection4.cc,
-	  tests/BD_Shape/intersection5.cc, tests/BD_Shape/intersection6.cc,
-	  tests/BD_Shape/intersection7.cc, tests/BD_Shape/intersection8.cc,
-	  tests/BD_Shape/mapspacedims4.cc,
-	  tests/BD_Shape/polydifference1.cc, tests/BD_Shape/relations1.cc,
-	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
-	  tests/BD_Shape/relations5.cc, tests/BD_Shape/removespacedims1.cc,
-	  tests/BD_Shape/universe1.cc, tests/BD_Shape/writebdiffs1.cc,
-	  tests/BD_Shape/writebdiffs2.cc, tests/BD_Shape/writebdshape1.cc,
-	  tests/BD_Shape/writebdshape2.cc, tests/Polyhedron/.cvsignore,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/affinetrans.cc,
-	  tests/Polyhedron/boundedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/boundedh79extrapolation1.cc,
-	  tests/Polyhedron/bug2.cc, tests/Polyhedron/bug2.dat,
-	  tests/Polyhedron/concatenate7.cc,
-	  tests/Polyhedron/exceptions3.cc,
-	  tests/Polyhedron/generalizedaffineimage13.cc,
-	  tests/Polyhedron/generalizedaffineimage14.cc,
-	  tests/Polyhedron/randphull2.cc, tests/Polyhedron/watchdog1.cc
-	  (grids.[1,1,1,1,1,1,1,2,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,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,3,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,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,1,1,1,2,1,1,1,1,1,4,27,2,1,1,1,1,4,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,8,1,3,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.
-
-2005-07-04 Monday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.54): Corrected symmetric bug on the
-	  other flavor of method Polyhedron::generalized_affine_inage().
-
-2005-07-04 Monday 15:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.20),
-	  generalizedaffineimage14.cc (1.1): New test show symmetric bug on
-	  the other flavor of generalized_affine_image().
-
-2005-07-03 Sunday 23:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/: Makefile.am (1.4), check_script2_int8
-	  (1.2), script_clpq2_int8 (1.1): Distribution fixed.
-
-2005-07-03 Sunday 23:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/script_clpq2_int8 (altnum.1): file
-	  script_clpq2_int8 was added on branch altnum on 2006-10-29
-	  19:27:09 +0000
-
-2005-07-03 Sunday 23:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.37): Link against libYap.
-
-2005-07-03 Sunday 23:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.129), XSB/Makefile.am
-	  (1.33), XSB/xsb_clpq.P (1.13), XSB/xsb_clpq2.P (1.11),
-	  XSB/xsb_pl_check.P (1.15): Updated to use new versions of XSB
-	  (older ones are too problematic).  Only XSB versions following
-	  2.7.1 and CVS HEAD versions starting from 2 July 2005 are now
-	  supported.
-
-2005-07-03 Sunday 23:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.36): Make the tests
-	  independent from one another.  Updated to use the new names of
-	  the test files.
-
-2005-07-03 Sunday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.145): We should not forget to update those bits of
-	  documentation that have proved to be not adequate.
-
-2005-07-03 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/: Makefile.am (1.46), gnu_pl_check.pl
-	  (1.5): Make the tests independent from one another.  Updated to
-	  use the new names of the test files.
-
-2005-07-03 Sunday 16:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (1.52), sp_pl_check.pl
-	  (1.3): Make the tests independent from one another.  Updated to
-	  use the new names of the test files.
-
-2005-07-03 Sunday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.42): Make the tests
-	  independent from one another.  Updated to use the new names of
-	  the test files.
-
-2005-07-03 Sunday 14:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: Makefile.am (1.47), swi_pl_check.pl
-	  (1.4): Make the tests independent from one another.  Updated to
-	  use the new names of the test files.
-
-2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/: check_script (1.2), check_script2
-	  (1.2), expected2_int16 (1.5), expected2_int16_a (1.4),
-	  expected2_int32 (1.4), expected2_int32_a (1.3), expected2_int64
-	  (1.3), expected2_int64_a (1.3), expected2_int8 (1.3),
-	  expected2_int8_a (1.3), expected2_mpz (1.3), expected2_mpz_a
-	  (1.3), expected3_int16 (1.2), expected3_int16_a (1.2),
-	  expected3_int32 (1.2), expected3_int32_a (1.2), expected3_int64
-	  (1.3), expected3_int64_a (1.2), expected3_int8 (1.3),
-	  expected3_int8_a (1.2), expected3_mpz (1.2), expected3_mpz_a
-	  (1.2), expected_clpq2_int16 (1.1), expected_clpq2_int16_a (1.1),
-	  expected_clpq2_int32 (1.1), expected_clpq2_int32_a (1.1),
-	  expected_clpq2_int64 (1.1), expected_clpq2_int64_a (1.1),
-	  expected_clpq2_int8 (1.1), expected_clpq2_int8_a (1.1),
-	  expected_clpq2_mpz (1.1), expected_clpq2_mpz_a (1.1),
-	  expected_clpq_int16 (1.1), expected_clpq_int16_a (1.1),
-	  expected_clpq_int32 (1.1), expected_clpq_int32_a (1.1),
-	  expected_clpq_int64 (1.1), expected_clpq_int64_a (1.1),
-	  expected_clpq_int8 (1.1), expected_clpq_int8_a (1.1),
-	  expected_clpq_mpz (1.1), expected_clpq_mpz_a (1.1),
-	  expected_int16 (1.3), expected_int16_a (1.3), expected_int32
-	  (1.3), expected_int32_a (1.3), expected_int64 (1.3),
-	  expected_int64_a (1.3), expected_int8 (1.4), expected_int8_a
-	  (1.4), expected_mpz (1.3), expected_mpz_a (1.3),
-	  expected_pchk_int16 (1.1), expected_pchk_int16_a (1.1),
-	  expected_pchk_int32 (1.1), expected_pchk_int32_a (1.1),
-	  expected_pchk_int64 (1.1), expected_pchk_int64_a (1.1),
-	  expected_pchk_int8 (1.1), expected_pchk_int8_a (1.1),
-	  expected_pchk_mpz (1.1), expected_pchk_mpz_a (1.1), script_clpq
-	  (1.1), script_clpq2 (1.1): Use more sensible file names.
-
-2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_mpz (altnum.1): file
-	  expected_pchk_mpz was added on branch altnum on 2006-10-29
-	  19:27:08 +0000
-
-2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected_pchk_mpz_a (altnum.1): file
-	  expected_pchk_mpz_a was added on branch altnum on 2006-10-29
-	  19:27:08 +0000
-
-2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/script_clpq (altnum.1): file script_clpq
-	  was added on branch altnum on 2006-10-29 19:27:09 +0000
-
-2005-07-03 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/script_clpq2 (altnum.1): file
-	  script_clpq2 was added on branch altnum on 2006-10-29 19:27:09
-	  +0000
-
-2005-07-03 Sunday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.164): Version number bumped.
-
-2005-07-03 Sunday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.128), GNU/README
-	  (1.1): Specify how to obtain the only version of GNU Prolog that
-	  is known to work with the PPL's Prolog interface.
-
-2005-07-03 Sunday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.45): Always use $(CXX) to
-	  compile and link.
-
-2005-07-03 Sunday 10:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Polyhedron/Makefile.am (1.19), BD_Shape/Makefile.am
-	  (1.12): LDADD reordered so that libraries occur in dependence
-	  order (Cygwin seems to depend on this).
-
-2005-07-01 Friday 17:13  Matthew Mundell
-
-	* src/: Grid_public.cc, Grid.defs.hh, Grid_nonpublic.cc
-	  (grids.[37,26,20]): Add back normalizing of divisors.  Take out
-	  two temporary comments, and add one.	Take some old Polyhedron
-	  code out of add_recycled_generators_and_minimize.
-
-2005-06-30 Thursday 19:56  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_conversion.cc, Grid_simplify.cc,
-	  Row.inlines.hh (grids.[25,17,27,1]): Add strong reduction.  Use
-	  negate(x) instead of -x.  Slightly improve some comments.
-
-2005-06-27 Monday 13:15  Matthew Mundell
-
-	* tests/Grid/: addspacedims2.cc, removespacedims1.cc,
-	  removespacedims2.cc (grids.[4,3,3]): Correct known_gr.
-
-2005-06-27 Monday 13:12  Matthew Mundell
-
-	* src/: Generator_System.cc, Generator_System.defs.hh,
-	  Grid.defs.hh, Grid_chdims.cc, Grid_conversion.cc,
-	  Grid_minimize.cc, Grid_nonpublic.cc, Grid_public.cc,
-	  Grid_simplify.cc, Linear_Row.cc, Linear_Row.defs.hh,
-	  Linear_Row.inlines.hh, Congruence.cc, Congruence.defs.hh,
-	  Congruence.inlines.hh, Congruence_System.cc,
-	  Congruence_System.defs.hh, Generator.defs.hh,
-	  Generator.inlines.hh
-	  (grids.[8,2,24,11,16,15,19,36,26,2,2,2,7,13,9,14,10,3,2]): Update
-	  to new treatment of virtual rows.  Add ascii_dump() methods to
-	  Congruence, Congruence_System and Generator_System.  Add macro
-	  print_dim_kinds to Grid.defs.hh.
-
-2005-06-22 Wednesday 12:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.53): Corrected the bug in
-	  Polyhedron::generalized_affine_image() that was shown by test
-	  generalizedaffineimage13.cc. We should actually check for
-	  emptyness before adding lines to the polyhedron.
-
-2005-06-22 Wednesday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.18),
-	  generalizedaffineimage13.cc (1.1): Added a test program showing a
-	  bug in Polyhedron::generalized_affine_image().  The bug shows up
-	  (by throwing an exception) when the polyhedron is empty, but hte
-	  library hasn't yet detected emptyness.
-
-2005-06-21 Tuesday 18:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.270), Polyhedron_public.cc (1.52):
-	  Added new method Polyhedron::affine_bounds() to compute the
-	  effect of transfer functions providing upper and lower bound
-	  affine expressions for a dimension of the polyhedron.
-
-2005-06-18 Saturday 22:58  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.28), Checked_Number.inlines.hh
-	  (1.34), checked.defs.hh (1.20), checked_ext.inlines.hh (1.18),
-	  checked_float.inlines.hh (1.38), checked_int.inlines.hh (1.34),
-	  checked_mpq.inlines.hh (1.19), checked_mpz.inlines.hh (1.23):
-	  Added mul2exp and div2exp.
-
-2005-06-16 Thursday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.29): Typo fixed.
-
-2005-06-16 Thursday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.17), bug1.cc (1.2), bug1.dat
-	  (1.2), concatenate7.cc (1.1): Program `concatenate7' exhibits the
-	  same bug exhinited by `bug1'.
-
-2005-06-16 Thursday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.28): Corrected a bug in
-	  Polyhedron::concatenate_assign() whereby the produced result
-	  could have failed to satisfy the library invariants.
-
-2005-06-16 Thursday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.16), bug2.cc (1.1), bug2.dat
-	  (1.1): Program bug2.cc exhibits a misbehavior that, up to now,
-	  has only been observed on MacOs X.
-
-2005-06-16 Thursday 12:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.15), bug1.cc (1.1), bug1.dat
-	  (1.1): Program bug1.cc exhibits a bug in
-	  Polyhedron::concatenate_assign().
-
-2005-06-16 Thursday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.154): Colon added.
-
-2005-06-16 Thursday 11:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.153), src/Constraint.cc (1.50), src/Constraint.defs.hh
-	  (1.103), src/Generator.cc (1.61), src/Generator.defs.hh (1.104):
-	  New output operators in namespace IO_Operators: std::ostream&
-	  operator<<(std::ostream&, const Constraint::Type&) and
-	  std::ostream& operator<<(std::ostream&, const Generator::Type&).
-
-2005-06-16 Thursday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.132): FIXME dealt with.
-
-2005-06-16 Thursday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.cc (1.49), Generator.cc (1.60): Avoid
-	  unnecessary qualification.
-
-2005-06-16 Thursday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/randphull2.cc (1.4): When NOISY, make noise in
-	  case of failure.
-
-2005-06-15 Wednesday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.41): Do not assume `.' is
-	  in the `PATH' environment variable.
-
-2005-06-14 Tuesday 15:22  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.7): Improve comment.
-
-2005-06-14 Tuesday 15:22  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.7): Print ASCII dump of a when loading
-	  it fails.
-
-2005-06-14 Tuesday 15:21  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_chdims.cc, Grid_conversion.cc,
-	  Grid_minimize.cc, Grid_nonpublic.cc, Grid_public.cc,
-	  Grid_simplify.cc (grids.[23,10,15,14,18,35,25]): Add enum
-	  Dimension_Kind and type Dimension_Kinds.  Add attribute
-	  dim_kinds, pass it to the minimize, simplify and conversion
-	  methods, and fill it in the simplify methods.  Add macro
-	  trace_dim_kinds.  Dump and load dim_kinds in ascii_load and
-	  ascii_dump.  Check dim_kinds in OK.  Adjust dim_kinds in
-	  add_space_dimensions*.
-
-	  Add ascii_dump(), which writes to cerr.
-
-2005-06-14 Tuesday 15:12  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.27), Checked_Number.inlines.hh
-	  (1.33), Rounding.defs.hh (1.12): Moved default rounding mode in
-	  policy. Removed bogus Checked_Pair trick.
-
-2005-06-14 Tuesday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.16): Do not refer to
-	  `option_index' if HAVE_GETOPT_H is undefined.
-
-2005-06-14 Tuesday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BBox.hh (1.8): Avoid using directives in header files.
-
-2005-06-14 Tuesday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.49): Include "C_Polyhedron.defs.hh".
-
-2005-06-14 Tuesday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BBox.cc (1.9), BBox.hh (1.7), PFunction.cc (1.5),
-	  PFunction.hh (1.6), ehandlers.hh (1.11), files.hh (1.7),
-	  ppl_test.hh (1.22), print.cc (1.15), print.hh (1.19): Adjust
-	  inclusions so as to avoid multiple inclusion of ppl_install.hh.
-	  Besides speeding up the build, this works around a problem on
-	  Darwin.
-
-2005-06-14 Tuesday 10:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/PFunction.hh (1.5): Multiple inclusion guard fixed.
-
-2005-06-14 Tuesday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.43): Fixes for systems that do not
-	  provide <getopt.h>.
-
-2005-06-14 Tuesday 09:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.15): Do not declare `option_index'
-	  when it is not needed.
-
-2005-06-14 Tuesday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BDS_Status.inlines.hh (1.4): Helper function get_field() is
-	  now declared inline.
-
-2005-06-14 Tuesday 07:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.14): Work also on systems that do
-	  not provide <getopt.h> and/or that do not provide a declaration
-	  for RLIMIT_AS.
-
-2005-06-14 Tuesday 07:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.163): Check also for the presence of
-	  <sys/time.h>.
-
-2005-06-14 Tuesday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.13), expected_int16 (1.3),
-	  expected_int16_a (1.3), expected_int32 (1.4), expected_int32_a
-	  (1.4), expected_int64 (1.4), expected_int64_a (1.4),
-	  expected_int8 (1.3), expected_int8_a (1.2), expected_mpz (1.4),
-	  expected_mpz_a (1.4): Do not use long options for testing, since
-	  they may be unavailable on some platforms.
-
-2005-06-13 Monday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.162): Version number bumped.
-
-2005-06-13 Monday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.152), interfaces/C/ppl_c.h.in (1.48): Do not infringe on
-	  system name space as well as on user name space.
-
-2005-06-10 Friday 18:33  Matthew Mundell
-
-	* src/Grid_public.cc (grids.34): Improve comment.
-
-2005-06-10 Friday 18:31  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.11): Add test14, which adds a
-	  congruence system having a row capacity larger than the row
-	  capacity of the grid's existing congruence system.
-
-2005-06-10 Friday 18:30  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.15): Take tracing out of test20.
-
-2005-06-10 Friday 18:26  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.13): Move bug1 to TESTS.
-
-2005-06-10 Friday 18:21  Matthew Mundell
-
-	* tests/Grid/bug1.cc (grids.2): Add header comment, use nout
-	  instead of cerr.
-
-2005-06-10 Friday 18:14  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.14): Improve comment.
-
-2005-06-10 Friday 18:05  Matthew Mundell
-
-	* src/Row.defs.hh (grids.3): Declare Congruence_System a friend
-	  when EXTRA_ROW_DEBUG.
-
-2005-06-10 Friday 18:01  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.24): In reduce_pc_with_pc add GCD
-	  tracing and use the ternary operator instead of !.
-
-2005-06-10 Friday 17:59  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.14): In generator to congruence
-	  conversion ensure that the resulting moduli and first element of
-	  the matrix are positive.
-
-2005-06-10 Friday 14:02  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (1.33): Avoided a warning.
-
-2005-06-10 Friday 11:16  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.23): In free_row in the congruence
-	  simplify, ensure that all the rows to have the same capacity.
-
-2005-06-10 Friday 11:13  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh
-	  (grids.[13,9]): Add method add_row.
-
-2005-06-09 Thursday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/exceptions3.cc (1.4): Avoid a compiler warning.
-
-2005-06-09 Thursday 17:29  Matthew Mundell
-
-	* interfaces/Prolog/SWI/Makefile.am (grids.2): Revert last change.
-
-2005-06-09 Thursday 12:12  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_conversion.cc (grids.[22,13]): Move the
-	  grid multiplying code into two inline functions called
-	  multiply_grid.
-
-2005-06-08 Wednesday 17:00  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.13): Add test20, which constructs from
-	  a generator system containing a ray.
-
-2005-06-08 Wednesday 16:59  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.17): In method construct convert
-	  rays to lines.
-
-2005-06-08 Wednesday 16:58  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.9): Use a temporary variable in
-	  add_space_dimensions.
-
-2005-06-08 Wednesday 07:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: concatenate1.cc (1.4), contains2.cc (1.4),
-	  contains3.cc (1.4), empty3.cc (1.4), equality1.cc (1.4),
-	  exceptions1.cc (1.4), exceptions2.cc (1.4), intersection3.cc
-	  (1.4), intersection4.cc (1.4), intersection5.cc (1.4),
-	  intersection6.cc (1.4), intersection7.cc (1.4), intersection8.cc
-	  (1.4), mapspacedims4.cc (1.4), relations1.cc (1.4), relations2.cc
-	  (1.5), removespacedims1.cc (1.4), universe1.cc (1.4): Avoid
-	  unused variable warnings.
-
-2005-06-07 Tuesday 19:36  Matthew Mundell
-
-	* src/Row.defs.hh (grids.2): Only befriend Grid when
-	  EXTRA_ROW_DEBUG.  Take out declaration of operator==(gr,gr) as a
-	  friend.
-
-2005-06-07 Tuesday 18:17  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.21): Include
-	  Constraint_Systems.inlines.hh.
-
-2005-06-07 Tuesday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/.cvsignore (1.2), tests/Polyhedron/.cvsignore
-	  (1.5): Updated.
-
-2005-06-07 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/.cvsignore (1.1), src/.cvsignore (1.8),
-	  tests/BD_Shape/.cvsignore (1.3), tests/Polyhedron/.cvsignore
-	  (1.3), tests/Polyhedron/.cvsignore (1.4): Updated.
-
-2005-06-07 Tuesday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.cc (1.2): Indentation fixed.
-
-2005-06-07 Tuesday 16:28  Matthew Mundell
-
-	* interfaces/Prolog/SWI/Makefile.am (grids.1): Link against pl in
-	  rule ppl_pl$(EXEEXT).
-
-2005-06-07 Tuesday 12:43  Matthew Mundell
-
-	* src/Row.defs.hh (grids.1): Temporarily befriend operator==(gr,gr)
-	  and Grid, and make method capacity public, for tracing.
-
-2005-06-07 Tuesday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-c99.inlines.hh (1.6): Temporary kludge for Darwin that
-	  may turn out to be the right thing to do on any system.
-
-2005-06-07 Tuesday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.161): Version number bumped.
-
-2005-06-07 Tuesday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.inlines.hh (1.19): Include "compiler.hh".
-
-2005-06-01 Wednesday 20:26  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_nonpublic.cc,
-	  Grid_public.cc (grids.[20,10,16,33]): Take out method
-	  add_low_level_congruences.
-
-2005-06-01 Wednesday 20:25  Matthew Mundell
-
-	* src/Generator_System.cc (grids.7): Update comments.  Re-enable
-	  the ascii_load comparison between actual and declared types.
-
-2005-06-01 Wednesday 20:23  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh
-	  (grids.[12,8]): Update comments.  In OK add a message for the
-	  number of columns check and take out an old test.
-
-2005-06-01 Wednesday 20:20  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh
-	  (grids.[6,12,8]): Update comments.  Add a modulus method that
-	  returns a writable reference.
-
-2005-06-01 Wednesday 18:12  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.19): Make most of the constructors
-	  explicit.
-
-2005-06-01 Wednesday 17:07  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_minimize.cc, Grid_public.cc
-	  (grids.[18,13,32]): Take out the add_and_minimize\3 methods.
-	  Update some comments.  In the add_and_minimize\2 methods add all
-	  the given rows to the system, instead of looking for duplicates.
-	  Convert rays to lines in all generator-adding methods, for now.
-
-2005-06-01 Wednesday 13:15  Matthew Mundell
-
-	* src/Grid_public.cc (grids.31): In add_generators add rays as
-	  lines, for now.
-
-2005-06-01 Wednesday 13:11  Matthew Mundell
-
-	* tests/Grid/join1.cc (grids.3): Add more interesting generators in
-	  test3.  Add test4, in which a ray is inserted.
-
-2005-05-28 Saturday 13:17  Matthew Mundell
-
-	* tests/Grid/bug1.dat, src/Generator_System.cc (grids.[2,6]): In
-	  Generator_System::asci_load leave the stream read position at the
-	  end of the dump.
-
-2005-05-27 Friday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/: Makefile.am, bug1.cc, bug1.dat (grids.[12,1,1]): The
-	  program `bug1' exhibits a bug triggered by an invocation of (to
-	  be renamed) Grid::add_congruences_and_minimize(const
-	  Constraint_System&).
-
-2005-05-27 Friday 21:02  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.12): Improve a comment.
-
-2005-05-27 Friday 21:02  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.10): Revert last change.
-
-2005-05-27 Friday 20:54  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.9): Improve a comment.
-
-2005-05-27 Friday 20:53  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_minimize.cc, Grid_nonpublic.cc,
-	  Grid_public.cc (grids.[17,12,15,30]): Take out methods
-	  normalize_divisors and parameterize.	In the construct methods
-	  leave the system as given (instead of simplifying it).  Always
-	  clear the pending rows flag of an added generator system.  Set
-	  the sorted flag in the generator construct method.  Neaten some
-	  formatting.
-
-2005-05-27 Friday 14:57  Matthew Mundell
-
-	* tests/ppl_test.hh, tests/Grid/addgenerator1.cc,
-	  tests/Grid/addspacedims1.cc, tests/Grid/congruencesystem2.cc,
-	  tests/Grid/writecongruencesystem.cc, src/Congruence.cc,
-	  src/Congruence_System.cc, src/Generator_System.cc,
-	  src/Grid.inlines.hh, src/Grid_chdims.cc, src/Grid_conversion.cc,
-	  src/Grid_minimize.cc, src/Grid_nonpublic.cc, src/Grid_public.cc,
-	  src/Grid_simplify.cc
-	  (grids.[6,6,7,3,3,5,11,5,9,8,12,11,14,29,22]): Use `!' instead of
-	  comparing to `false'.
-
-2005-05-27 Friday 14:53  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.11): Make zero_dim_false and
-	  zero_dim_integrality public.
-
-2005-05-26 Thursday 20:50  Matthew Mundell
-
-	* tests/Grid/join2.cc (grids.2): Add test2 which joins with both
-	  grids universe.
-
-2005-05-26 Thursday 20:50  Matthew Mundell
-
-	* tests/Grid/join1.cc (grids.2): Add test2 and test3 which join
-	  with both and one grids universe.
-
-2005-05-26 Thursday 20:30  Matthew Mundell
-
-	* src/Grid_public.cc (grids.28): Rename adjust_space_dimension to
-	  increase_space_dimension.
-
-2005-05-26 Thursday 20:30  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh,
-	  Congruence_System.inlines.hh (grids.[10,7,5]): Rename
-	  adjust_space_dimension to increase_space_dimension, and
-	  num_non_equalities to num_proper_congruences.  Only count proper
-	  congruences in num_proper_congruences.  Take out method
-	  saturates_all_congruences.  Make the member access permissions
-	  more sensible.  Enable the definition of zero_dim_empty.
-
-2005-05-26 Thursday 20:24  Matthew Mundell
-
-	* src/: Congruence.defs.hh, Congruence.inlines.hh,
-	  Grid_conversion.cc, Grid_simplify.cc (grids.[10,7,11,21]): Make
-	  the Congruence normalize methods protected and flag setting
-	  methods private.  In Congruence rename is_congruence to
-	  is_proper_congruence, and add method zero_dim_false.
-
-2005-05-26 Thursday 20:20  Matthew Mundell
-
-	* tests/Grid/: congruence1.cc, congruencesystem1.cc,
-	  congruencesystem2.cc (grids.[4,5,2]): Wrap the class under test,
-	  instead of requiring all methods to be public.
-
-2005-05-26 Thursday 17:01  Matthew Mundell
-
-	* tests/Grid/addcongruence1.cc (grids.2): Add test2, which adds to
-	  an empty grid.
-
-2005-05-26 Thursday 17:01  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.5): Add test7, which adds a
-	  generator to a universe grid.
-
-2005-05-26 Thursday 17:00  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.20): Improve a variable name, and a
-	  comment.
-
-2005-05-26 Thursday 16:58  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_public.cc (grids.[16,27]): Restore the
-	  declaration of add_congruence(c), and add a new declaration for
-	  add_congruences_and_minimize(cs).  Take out the
-	  add_congruence_and_minimize(cs) declaration.	Improve the
-	  ordering of the public definitions.  Define add_congruence(c) and
-	  add_congruence_and_minimize(c).
-
-2005-05-26 Thursday 16:52  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh,
-	  Congruence_System.inlines.hh (grids.[9,6,4]): Call num_columns
-	  later in adjust_space_dimension.  Add insert(c).  Take out an old
-	  constraint comment.  Take out pending row code, old
-	  constraint_system code, and method
-	  satisfies_all_congruences(g,ref).  Clean up ascii_dump and some
-	  of ascii_load.  Correct the names in the Congruence_System(c)
-	  declaration.
-
-2005-05-26 Thursday 16:38  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh
-	  (grids.[4,9,6]): Take out throw_invalid_modulus.  Update some
-	  temporary comments.  In Congruence(c) throw an exception if the
-	  constraint is a relation, and set the modulus to 0 instead of 1.
-
-2005-05-26 Thursday 13:21  Matthew Mundell
-
-	* src/Grid_public.cc (grids.26): In add_generator also clear the
-	  congruences up-to-date flag when adding to an empty grid.
-
-2005-05-26 Thursday 12:52  Matthew Mundell
-
-	* tests/Grid/addspacedims2.cc (grids.3): Add test6, which add
-	  dimensions only to the grid's generator system.
-
-2005-05-26 Thursday 12:51  Matthew Mundell
-
-	* tests/Grid/addspacedims1.cc (grids.6): Improve comment.
-
-2005-05-25 Wednesday 21:18  Matthew Mundell
-
-	* src/Grid_public.cc (grids.25): In OK, take the extra copy of the
-	  generator system out of the minimized test, Use "generators"
-	  instead of "parameters", and print the minimized congruence
-	  system (instead of the original) in the congruence minimized
-	  test.
-
-2005-05-25 Wednesday 20:47  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.11): Add test addcongruence1.
-
-2005-05-25 Wednesday 20:47  Matthew Mundell
-
-	* tests/Grid/addcongruence1.cc (grids.1): Initial revision.
-
-2005-05-25 Wednesday 20:46  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.4): Add test6, which tests
-	  add_generator_and_minimize.
-
-2005-05-25 Wednesday 19:27  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.3): Add tests 2 to 5.
-
-2005-05-25 Wednesday 14:48  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.8): Start from the universe when
-	  constructing grids from congruences.
-
-2005-05-25 Wednesday 14:46  Matthew Mundell
-
-	* src/Grid_public.cc (grids.24): Take the extra temporary
-	  congruence system out of the OK minimize test.  Modify
-	  add_recycled_congruences and
-	  add_recycled_congruences_and_minimize to update the congruences
-	  before adding new ones.  Also improve the empty handling in both
-	  these methods.
-
-2005-05-25 Wednesday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.29), config.sub (1.28), install-sh (1.14),
-	  ltmain.sh (1.24), Watchdog/config.guess (1.13),
-	  Watchdog/config.sub (1.13), Watchdog/install-sh (1.11),
-	  Watchdog/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.28), config.sub (1.27), ltmain.sh (1.23),
-	  Watchdog/config.guess (1.12), Watchdog/config.sub (1.12),
-	  Watchdog/ltmain.sh (1.12): Updated from Libtool 1.5.16.
-
-2005-05-25 Wednesday 07:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.144): Added one issue to be checked before releasing PPL
-	  0.8.
-
-2005-05-25 Wednesday 07:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.46): The `libppl_swiprolog'
-	  library must be linked also with `libpwl'.
-
-2005-05-24 Tuesday 21:27  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_chdims.cc,
-	  Grid_nonpublic.cc, Grid_public.cc (grids.[15,8,7,13,23]): Take
-	  out all code for handling pending rows.  Add a check for pending
-	  rows to method OK.
-
-2005-05-24 Tuesday 21:23  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.19): Use unset_pending_rows instead
-	  of clearing the pending rows manually.
-
-2005-05-24 Tuesday 19:17  Matthew Mundell
-
-	* src/Grid_public.cc (grids.22): Always adjust the space dimension
-	  of con_sys in constructor Grid(num_dimensions, kind).  Clean a
-	  comment.
-
-2005-05-24 Tuesday 18:23  Matthew Mundell
-
-	* src/Grid_minimize.cc (grids.10): Take out tracing.
-
-2005-05-24 Tuesday 18:13  Matthew Mundell
-
-	* src/Grid.defs.hh, tests/Grid/addgenerator1.cc,
-	  tests/Grid/addspacedims1.cc, tests/Grid/addspacedims2.cc,
-	  tests/Grid/grid1.cc, tests/Grid/grid2.cc,
-	  tests/Grid/intersection2.cc, tests/Grid/isuniverse1.cc,
-	  tests/Grid/mapspacedims1.cc, tests/Grid/removespacedims2.cc
-	  (grids.[14,2,5,2,11,7,2,2,4,2]): In constructor
-	  Grid(num_dimensions, kind) kind is UNIVERSE if only
-	  num_dimensions if given.
-
-2005-05-24 Tuesday 17:14  Matthew Mundell
-
-	* src/Grid_public.cc (grids.21): Output "true" from operator<< if
-	  the grid is universe.
-
-2005-05-24 Tuesday 17:01  Matthew Mundell
-
-	* tests/Grid/addspacedims1.cc (grids.4): Add test5, where
-	  dimensions are only added to the congruence system.
-
-2005-05-24 Tuesday 16:55  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.10): Add test addgenerator1.
-
-2005-05-24 Tuesday 16:55  Matthew Mundell
-
-	* tests/Grid/addgenerator1.cc (grids.1): Initial revision.
-
-2005-05-24 Tuesday 16:54  Matthew Mundell
-
-	* tests/Grid/mapspacedims1.cc (grids.3): Add test6 (maps additional
-	  dimensions to themselves), test7 (maps over existing dimensions)
-	  and test8 (maps away a dimension in an empty grid).
-
-2005-05-24 Tuesday 16:51  Matthew Mundell
-
-	* src/Grid_public.cc (grids.20): Set congruences up to date in
-	  add_congruence.  Implement the rest of add_generator.
-
-2005-05-23 Monday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (grids.19):
-	  Grid::add_congruences_and_minimize(const Constraint_System& cs)
-	  fixed.
-
-2005-05-23 Monday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Grid_public.cc (grids.18): In
-	  Grid::add_congruences_and_minimize(const Constraint_System& cs),
-	  non equality constraints that may be present in `cs' are simply
-	  ignored.
-
-2005-05-23 Monday 18:09  Matthew Mundell
-
-	* src/Grid_public.cc (grids.17): Implement some of add_generator.
-	  Modify add_congruences_and_minimize to match the dimension of the
-	  congruence system being constructed to the given constraint
-	  system.  Correct a doxygen comment.
-
-2005-05-23 Monday 15:57  Matthew Mundell
-
-	* tests/Grid/mapspacedims1.cc (grids.2): Add test5.
-
-2005-05-23 Monday 15:51  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.18): Adjust the system's row capacity
-	  after inserting or erasing rows.
-
-2005-05-23 Monday 15:48  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.6): In add_space_dimensions_and_embed
-	  correct the clearing of the minimize flags and the loop that adds
-	  virtual rows.  Take some pending code out of concatenate_assign.
-
-2005-05-20 Friday 09:12  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.9): Add test mapspacedims1.
-
-2005-05-20 Friday 09:12  Matthew Mundell
-
-	* tests/Grid/mapspacedims1.cc (grids.1): Initial revision.
-
-2005-05-20 Friday 09:11  Matthew Mundell
-
-	* src/Grid.inlines.hh (grids.7): Enable and implement method
-	  map_space_dimensions.
-
-2005-05-19 Thursday 09:35  Matthew Mundell
-
-	* src/Grid_public.cc (grids.16): Take out some of the pending code.
-	  Add the definition of add_congruences_and_minimize.
-
-2005-05-19 Thursday 09:34  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.13): Temporarily add
-	  add_congruences_and_minimize and erroneously rename
-	  add_congruences to add_congruences_and_minimize.
-
-2005-05-19 Thursday 09:07  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.17): Rename pivot_num to pivot_index.
-	  In the congruence reduction swap the current row with a newly
-	  accessed pivot instead of with the original reference to the
-	  pivot.  Also decrement the pivot_index in macro free_row.
-
-2005-05-18 Wednesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/.cvsignore (grids.1): Put under CVS control.
-
-2005-05-18 Wednesday 17:45  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.10): Always define
-	  is_upper_triangular and is_lower_triangular.	Add some tracing.
-
-2005-05-18 Wednesday 17:43  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.12): Always declare is_upper_triangular
-	  and is_lower_triangular
-
-2005-05-18 Wednesday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Grid/Makefile.in (grids.2): Makefile.in is a generated file
-	  and should not be put under CVS.
-
-2005-05-18 Wednesday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (grids.3): Improvements to the section on
-	  rational grids.
-
-2005-05-17 Tuesday 22:06  Abramo Bagnara
-
-	* src/checked.inlines.hh (1.18): abs may legitimately fail with
-	  overflow.
-
-2005-05-17 Tuesday 19:31  Abramo Bagnara
-
-	* src/Init.cc (1.17): Fixed include file.
-
-2005-05-15 Sunday 20:03  Abramo Bagnara
-
-	* tests/ppl_test.hh (1.21): Moved rounding mode handling to a lower
-	  level. Converted some method to functions.
-
-2005-05-15 Sunday 18:13  Abramo Bagnara
-
-	* src/: Init.cc (1.16), Init.defs.hh (1.12), Makefile.am (1.110),
-	  Rounding.defs.hh (1.11), Rounding.inlines.hh (1.8),
-	  checked.defs.hh (1.19), checked.inlines.hh (1.17),
-	  checked_float.inlines.hh (1.37), checked_int.inlines.hh (1.32),
-	  checked_mpz.inlines.hh (1.22), fpu-none.inlines.hh (1.1): Moved
-	  rounding mode handling to a lower level.
-
-2005-05-15 Sunday 18:11  Abramo Bagnara
-
-	* src/: BD_Shape.inlines.hh (1.48), Checked_Number.defs.hh (1.26),
-	  Checked_Number.inlines.hh (1.32): Converted many Checked_Number
-	  method in functions.
-
-2005-05-15 Sunday 10:34  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.8): Add test concatenate1.
-
-2005-05-15 Sunday 10:34  Matthew Mundell
-
-	* tests/Grid/concatenate1.cc (grids.1): Initial revision.
-
-2005-05-15 Sunday 10:33  Matthew Mundell
-
-	* tests/Grid/removespacedims1.cc (grids.2): Take out trace dumping.
-
-2005-05-15 Sunday 10:32  Matthew Mundell
-
-	* tests/Grid/addspacedims1.cc (grids.3): Shorten comments.
-
-2005-05-15 Sunday 10:31  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.16): In the congruence reduction,
-	  after erasing rows set the row capacity of the system from the
-	  first row.
-
-2005-05-15 Sunday 10:18  Matthew Mundell
-
-	* src/Grid_public.cc (grids.15): Add loading of the minimize flag
-	  to ascii_load.
-
-2005-05-15 Sunday 10:16  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.5): Enable and implement
-	  concatenate_assign.
-
-2005-05-15 Sunday 10:13  Matthew Mundell
-
-	* src/Generator_System.cc (grids.4): In method ascii_load, turn off
-	  the type check (for now), and correctly handle reading in the
-	  virtual flag.
-
-2005-05-15 Sunday 10:09  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.8): In operator== decrement the
-	  row count before the comparing the elements.
-
-2005-05-15 Sunday 10:08  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.5): In find_variation, dump the ASCII of
-	  `a' before loading it into `b', and print an error and exit if
-	  the load fails.
-
-2005-05-12 Thursday 18:11  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.7): Add test removespacedims1.
-
-2005-05-12 Thursday 18:10  Matthew Mundell
-
-	* tests/Grid/removespacedims1.cc (grids.1): Initial revision.
-
-2005-05-12 Thursday 18:10  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.12): Clean comments and take out
-	  tracing in normalize_divisors.
-
-2005-05-12 Thursday 18:09  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.4): Enable and implement
-	  add_space_dimensions.
-
-2005-05-12 Thursday 18:07  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.11): Integrate a too-deeply nested
-	  doxygen sublist into the parent item.  Correct parameter names in
-	  some method descriptions.
-
-2005-05-12 Thursday 16:04  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.8): Take doxygen \p's out of maths
-	  environments.
-
-2005-05-12 Thursday 14:49  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.7): Escape %'s in maths
-	  environments.
-
-2005-05-12 Thursday 14:13  Matthew Mundell
-
-	* src/Grid_public.cc (grids.14): In OK declare limit the scope of
-	  variable num_columns, instead of jumping into that scope.  Add
-	  the state of minimization to the ascii_dump output.
-
-2005-05-12 Thursday 13:20  Matthew Mundell
-
-	* src/Makefile.am (grids.3): Add Congruence, Congruence_System and
-	  Grid files to DOC_FILES.
-
-2005-05-12 Thursday 13:15  Matthew Mundell
-
-	* doc/: devref-browse.doxyconf-latex.in,
-	  devref-print.doxyconf-latex.in (grids.[1,1]): Add files for
-	  Congruence, Congruence_System and Grid to INPUT.
-
-2005-05-12 Thursday 09:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (grids.2): Several small improvements to the
-	  new documentation on grids.
-
-2005-05-11 Wednesday 20:18  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.6): Add test removespacedims2.
-
-2005-05-11 Wednesday 20:17  Matthew Mundell
-
-	* tests/Grid/removespacedims2.cc (grids.1): Initial revision.
-
-2005-05-11 Wednesday 20:16  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.11): Enable
-	  remove_pending_to_obtain_generators.
-
-2005-05-11 Wednesday 20:15  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.3): Update
-	  add_space_dimensions_and_project to clear the generator system if
-	  the grid is empty.  Enable and implement method
-	  remove_higher_space_dimensions.
-
-2005-05-11 Wednesday 17:17  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.5): Add tests isuniverse1 and
-	  addspacedims2.
-
-2005-05-11 Wednesday 17:16  Matthew Mundell
-
-	* tests/Grid/addspacedims1.cc (grids.2): Improve the file
-	  description.	Take out excess variable declarations.	Add a check
-	  that the grid is the universe to test3.
-
-2005-05-11 Wednesday 17:12  Matthew Mundell
-
-	* tests/Grid/: addspacedims2.cc, isuniverse1.cc (grids.[1,1]):
-	  Initial revision.
-
-2005-05-11 Wednesday 17:07  Matthew Mundell
-
-	* src/Grid_public.cc (grids.13): Enable and finish off is_universe.
-
-2005-05-11 Wednesday 17:03  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_chdims.cc (grids.[10,2]): Add method
-	  add_space_dimensions(cgs, gs dims).  Declare the original
-	  add_space_dimensions inline.	Update the space dimension
-	  adjusting functions to set the created generators to lines via
-	  flags (instead of explicit calls to the respective methods).
-	  Implement add_space_dimensions_and_project.  Improve some
-	  comments.
-
-2005-05-11 Wednesday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: definitions.dox, ppl.sty (grids.[1,1]): Introductory
-	  documentation for grids and draft specifications of most of the
-	  main operations to be implemented.
-
-2005-05-09 Monday 12:40  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.4): Add tests addspacedims1,
-	  intersection1, intersection2, join1 and join2.
-
-2005-05-09 Monday 12:39  Matthew Mundell
-
-	* tests/Grid/addspacedims1.cc (grids.1): Initial revision.
-
-2005-05-09 Monday 12:36  Matthew Mundell
-
-	* tests/Grid/: grid3.cc, intersection1.cc, intersection2.cc,
-	  join1.cc, join2.cc (grids.[3,1,1,1,1]): Move operation tests to
-	  per-operation files.	Add various tests of the
-	  intersection_assign methods.
-
-2005-05-09 Monday 12:32  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.6): Add test13 (an empty grid
-	  constructed with congruences).
-
-2005-05-09 Monday 12:32  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.10): Add test19 (a generator system
-	  with only a line).
-
-2005-05-09 Monday 12:31  Matthew Mundell
-
-	* tests/Grid/: congruence1.cc, congruencesystem1.cc (grids.[3,4]):
-	  Use C++ style single line comments.  Take out some duplicate
-	  Variables.
-
-2005-05-09 Monday 12:28  Matthew Mundell
-
-	* tests/print.hh (grids.2): Declare nout and vnout static.
-
-2005-05-09 Monday 12:27  Matthew Mundell
-
-	* src/Makefile.am (grids.2): Add Grid_chdims.cc to
-	  libppl_la_SOURCES.
-
-2005-05-09 Monday 12:26  Matthew Mundell
-
-	* src/Grid_chdims.cc (grids.1): Initial revision, with methods
-	  add_space_dimensions and add_space_dimensions_and_embed enabled.
-
-2005-05-09 Monday 12:24  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_public.cc, Grid_simplify.cc
-	  (grids.[9,12,15]): Add method add_space_dimensions.  Change the
-	  type of the reduce_equality_with_equality arguments to
-	  Congruence.  Rename reduce_line_with_parameter to
-	  reduce_parameter_with_line.  Rename
-	  reduce_equality_with_congruence to
-	  reduce_congruence_with_equality.  Enable the definition of method
-	  contains.  Update comments.  Take out some tracing.  Correct the
-	  asserts in two of the reduce functions.
-
-2005-05-09 Monday 12:05  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.10): Take out some tracing.  Update
-	  comments left from Polyhedron.
-
-2005-05-09 Monday 12:00  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh
-	  (grids.[7,5]): Take out a line of tracing and the declaration of
-	  method insert(const Constraint&).  Update a comment.
-
-2005-05-06 Friday 11:47  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.9): Correct method name typo.
-
-2005-05-06 Friday 11:39  Matthew Mundell
-
-	* tests/Grid/grid3.cc (grids.2): Use A instead of C in test1.  Add
-	  test2, test3 and test4, which test
-	  intersection_assign_and_minimize, join_assign and
-	  join_assign_and_minimize.
-
-2005-05-06 Friday 11:37  Matthew Mundell
-
-	* src/: Grid_conversion.cc, Grid_simplify.cc (grids.[8,14]): Use
-	  new method Congruence_System::is_congruence.	Update parameter
-	  reduction to make all following rows virtual if the first row
-	  turns out to be virtual or a line.  Update congruence reduction
-	  to make the first row the integrality congruence if the resulting
-	  grid is empty.
-
-2005-05-06 Friday 11:29  Matthew Mundell
-
-	* src/Grid_public.cc (grids.11): Enable and implement
-	  intersection_assign_and_minimize, join_assign and
-	  join_assign_and_minimize.
-
-2005-05-06 Friday 11:27  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.9): Normalise moduli before
-	  simplifying in construct.  Correct some comments.
-
-2005-05-06 Friday 11:26  Matthew Mundell
-
-	* src/Grid_minimize.cc (grids.9): Reorder method definitions.  Add
-	  some temporary comments.
-
-2005-05-06 Friday 11:22  Matthew Mundell
-
-	* src/: Congruence.defs.hh, Congruence.inlines.hh,
-	  Congruence_System.cc (grids.[6,5,6]): Add method is_congruence.
-	  Adjust normalize_moduli to loop through all the rows when
-	  calculating the LCM.
-
-2005-05-05 Thursday 10:55  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.3): Add grid3_SOURCES and add grid3
-	  to TESTS.
-
-2005-05-05 Thursday 10:54  Matthew Mundell
-
-	* tests/Grid/grid3.cc (grids.1): Initial revision.
-
-2005-05-05 Thursday 10:49  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.13): Rename function
-	  trailing_rows_are_zero to rows_are_zero, and modify it to also
-	  take the last row (instead of just checking to the end).  Update
-	  the call of this function in the congruence simplify to correctly
-	  check the rows at the beginning of the matrix.
-
-	  In the congruence simplify decrement orig_row_num in macro
-	  free_row, to match it to the new number of rows.
-
-2005-05-05 Thursday 10:42  Matthew Mundell
-
-	* src/Grid_public.cc (grids.10): Simplify instead of processing
-	  pending, in is_universe.  Enable processing of pending generators
-	  in add_congruence.  Enable and implement intersection_assign.
-
-2005-05-05 Thursday 10:36  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.8): Minimize instead of simplifying
-	  in the process_pending methods.  Update a comment.
-
-2005-05-05 Thursday 10:34  Matthew Mundell
-
-	* src/Grid_minimize.cc (grids.8): Take out tracing, add a comment.
-
-2005-05-05 Thursday 10:34  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh
-	  (grids.[5,4]): Add void method add_rows(const
-	  Congruence_System&).
-
-2005-05-05 Thursday 10:32  Matthew Mundell
-
-	* tests/Grid/: grid1.cc, grid2.cc (grids.[9,5]): Convert comments
-	  to C++ style.
-
-2005-05-04 Wednesday 15:04  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_conversion.cc,
-	  Grid_nonpublic.cc, Grid_public.cc, Grid_simplify.cc
-	  (grids.[8,6,7,7,9,12]): Rename constructor parameters from cgs to
-	  const_gs, and from cs to cgs.  Add static methods
-	  lower_triangular and upper_triangular, and use them in OK.  Use
-	  these and new function identity as pre-conversion assertions.
-	  Take out the congruence-related and Grid versions of
-	  throw_topology_incompatible, and the old Polyhedron constructor
-	  definitions.	Clean up the topology checking in general.  Comment
-	  out the parameter name in add_low_level_congruences to work
-	  around a compiler warning.  Clean some argument spacing and
-	  update some comments.  Update construct to convert a given NNC
-	  generator system to NC.
-
-2005-05-03 Tuesday 15:20  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.11): Only throw the "type match" run
-	  time errors when assertions are enabled.
-
-2005-05-03 Tuesday 15:03  Matthew Mundell
-
-	* tests/Grid/: grid1.cc, grid2.cc (grids.[8,4]): Neaten tracing
-	  headers.  Use the single argument Grid constructor, instead of
-	  explicitly passing kind as EMPTY.  Create known grids using the
-	  copy constructor.  Add the known grid check to test15.  Add
-	  test16, test17 and test18, which test universe grids of one, many
-	  and zero dimensions.
-
-2005-05-03 Tuesday 15:02  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.10): Turn off tracing.
-
-2005-05-03 Tuesday 15:01  Matthew Mundell
-
-	* src/Grid_public.cc (grids.8): Ensure that dimensions given to the
-	  constructor are small enough.  Implement method is_universe.
-	  Enable, clean up and improve the OK method.  Add operator= (moved
-	  from Grid_nonpublic.cc).
-
-2005-05-03 Tuesday 14:48  Matthew Mundell
-
-	* src/Grid_nonpublic.cc (grids.6): Take out operator= (moved to
-	  Grid_public.cc).  Enable and update process_pending_congruences
-	  and process_pending_generators.  Enable the pending processing in
-	  minimize().  Drop the topol argument from calls to
-	  throw_space_dimension_overflow.
-
-2005-05-03 Tuesday 14:40  Matthew Mundell
-
-	* src/Grid_minimize.cc (grids.7): Simplify before initialising the
-	  destination in the minimize functions.  Improve the loops that
-	  create identity matrices.
-
-2005-05-03 Tuesday 14:35  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.6): Update some comments.  Add and
-	  use macro ctrace_dump.  Only throw the "type match" run time
-	  errors when assertions are enabled.  Move source_diag init out of
-	  the row-processing loop in the parameter to congruence
-	  conversion.
-
-2005-05-03 Tuesday 14:22  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[7,5]): Improve some
-	  comments.  Revert the miscellaneous methods to private.  Drop
-	  throw_space_dimension_overflow's topol argument.  Take out the
-	  bounding box method definitions.  Enable method process_pending.
-
-2005-05-03 Tuesday 14:11  Matthew Mundell
-
-	* tests/Grid/congruencesystem1.cc (grids.3): Neaten test7.
-
-2005-04-28 Thursday 18:50  Abramo Bagnara
-
-	* src/: Float.defs.hh (1.7), checked_float.inlines.hh (1.36): Avoid
-	  some compiler warnings.
-
-2005-04-27 Wednesday 21:45  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_conversion.cc,
-	  Grid_minimize.cc, Grid_nonpublic.cc, Grid_public.cc,
-	  Grid_simplify.cc (grids.[6,4,5,6,5,7,9]): Take out all saturation
-	  matrix code, polyhedron method descriptions, some tracing, the
-	  polyhedron related parts of exception messages, and the methods
-	  obtain_sorted_congruences, obtain_sorted_generators,
-	  obtain_sorted_congruences_with_sat_c and
-	  obtain_sorted_generators_with_sat_g.
-
-	  Only pass the source and destination systems to the conversion
-	  and simplify methods.  Revert some of the temporarily public
-	  methods to private.  Clean up the minimize methods and enclose
-	  them in a namespace block.
-
-	  Conversion
-
-	    Enclose the method definitions in a namespace block.  Improve
-	    comments and initial asserts.  Skip multiplying the destination
-	  grid
-	    by the multiplier when the multiplier is one.  Use temporary
-	    variables better in the parameter to congruence version.
-
-	  Reduction
-
-	    Neaten the reduce_line_with_line description, and some variable
-	    names in the reduce methods.  Only define
-	  trailing_rows_are_zero
-	    when assertions are enabled.
-
-2005-04-27 Wednesday 21:10  Matthew Mundell
-
-	* src/Congruence_System.inlines.hh (grids.3): Take old comment out
-	  of resize_no_copy.
-
-2005-04-26 Tuesday 20:54  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.8): Use the new is_virtual and
-	  set_is_virtual methods instead of the old virtual row functions.
-	  Clean up many of the temporary comments and some of the others.
-	  Improve variable names.  Take out some of the trace printing.
-	  Improve the loop used to iterate through the preceding rows in
-	  the congruence reduction.  Move the congruence reduction OK
-	  assertion so that is is called in every return case.	Save doing
-	  one of the comparisons in the empty grid check at the end of the
-	  congruence reduction.
-
-2005-04-26 Tuesday 20:38  Matthew Mundell
-
-	* src/Grid_minimize.cc (grids.5): Add an assertion that there are
-	  rows to the 4 parameter congruence to generator minimize method.
-	  Take the Polhedron assertion comment out of both of the 4
-	  parameter minimize methods.
-
-2005-04-26 Tuesday 20:33  Matthew Mundell
-
-	* src/: Generator_System.cc, Grid_conversion.cc, Grid_nonpublic.cc
-	  (grids.[3,4,4]): Use new is_virtual and set_is_virtual methods
-	  instead of the old virtual row functions.
-
-2005-04-26 Tuesday 20:30  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh (grids.[5,3]): Take out the
-	  virtual row functions (replace with methods in the Generator and
-	  Congruence classes).
-
-2005-04-26 Tuesday 20:28  Matthew Mundell
-
-	* src/: Generator.defs.hh, Generator.inlines.hh (grids.[2,1]): Add
-	  is_virtual.
-
-2005-04-26 Tuesday 20:27  Matthew Mundell
-
-	* src/Congruence_System.defs.hh (grids.3): Correct comment.
-
-2005-04-26 Tuesday 20:26  Matthew Mundell
-
-	* src/: Congruence.defs.hh, Congruence.inlines.hh (grids.[5,4]):
-	  Add methods is_virtual and set_is_virtual.  Assert that there are
-	  elements in methods modulus and set_is_equality.
-
-2005-04-26 Tuesday 11:04  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.7): Add test15, which tests
-	  reduce_line_with_line.  Neaten the generator system definition in
-	  test9.
-
-2005-04-25 Monday 19:35  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid_simplify.cc (grids.[4,7]): Use
-	  strace_dump in the congruence system reduction.
-
-	  The previous log message should have been:
-
-	  Improve comments.  Split le_le_reduce into
-	  reduce_equality_with_equality and reduce_line_with_line.  Improve
-	  the names, arguments and variables of all the reduce functions.
-	  Also consider the divisor in reduce_line_with_line.  Use
-	  Coefficient_traits::const_reference in the reduce functions.
-	  Correct the assertions.  Add and use macro strace_dump and
-	  temporary tracing stream strace.
-
-2005-04-25 Monday 18:58  Matthew Mundell
-
-	* src/Grid_public.cc (grids.6): In
-	  add_recycled_congruences_and_minimize use the add_and_minimize
-	  return directly, instead of using a variable.
-
-2005-04-25 Monday 18:48  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.6): In
-	  add_recycled_congruences_and_minimize use the add_and_minimize
-	  return directly, instead of using a variable.
-
-2005-04-25 Monday 18:46  Matthew Mundell
-
-	* src/Grid_conversion.cc (grids.3): Rename the trace stream ctrace.
-
-2005-04-25 Monday 18:42  Matthew Mundell
-
-	* src/GMP_Integer.defs.hh (grids.2): Improve comment.
-
-2005-04-25 Monday 13:03  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.3): Add general tests test11 and
-	  test12, which have more and fewer rows than columns,
-	  respectively.
-
-2005-04-22 Friday 11:41  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.2): Add general test cong_test4.
-
-2005-04-21 Thursday 12:30  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.2): Add grid2_SOURCES, and add
-	  grid2 to TESTS.
-
-2005-04-21 Thursday 12:29  Matthew Mundell
-
-	* tests/Grid/grid2.cc (grids.1): Initial revision.
-
-2005-04-21 Thursday 12:28  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.6): Always compare the grid and known
-	  grid in the same order.  Match the test names in the comments to
-	  the new Chiara names.
-
-2005-04-21 Thursday 12:16  Matthew Mundell
-
-	* src/Grid_public.cc (grids.5): Update
-	  add_recycled_congruences_and_minimize to clear the empty flag and
-	  set the congruences up-to-date.  Take out the polyhedra comments
-	  in operator==, and neaten operator<<.
-
-2005-04-21 Thursday 12:10  Matthew Mundell
-
-	* src/: Grid_minimize.cc, Grid_nonpublic.cc, Grid_simplify.cc
-	  (grids.[4,3,5]): Return a bool from the update_congruences and
-	  simplify methods to indicate whether the grid is empty.  Pass
-	  this return on in the minimize and add_and_minimize methods which
-	  call simplify.  Assert an equal number of columns in source1 and
-	  source2 in add_and_minimize\5 (congruence to generator).
-
-	  In update_congruences and update_generators set the grid empty
-	  according to the minimize return.
-
-	  In both simplifys use the row number instead of the row to test
-	  if the original row and pivot must be swapped.  In the congruence
-	  simplify when adding the top row, search for a valid modulus and
-	  set the diagonal (and modulus) to the result of the search.
-
-2005-04-21 Thursday 11:51  Matthew Mundell
-
-	* src/Grid.defs.hh (grids.3): Return a bool from update_congruences
-	  and simplify to indicate whether the grid is empty.  Pass this
-	  return on in the minimize and add_and_minimize methods which call
-	  simplify.  Assert an equal number of columns in the sources in
-	  the congruence to generator add_and_minimize\5.
-
-2005-04-21 Thursday 11:40  Matthew Mundell
-
-	* src/Generator_System.cc (grids.2): In operator<< increment the
-	  iterator after the virtual row check, and loop with a single
-	  comparison.
-
-2005-04-21 Thursday 11:37  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.4): Take out normalize_moduli
-	  tracing.  Add satisfies_all_cgs tracing.  Update normalize_moduli
-	  to consider only positive moduli.  Make adjust_space_dimension
-	  move the moduli to the new last column.  Neaten the operator<<
-	  loop.
-
-2005-04-19 Tuesday 19:08  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.5): Add test14 which uses larger
-	  numbers than the existing tests.
-
-2005-04-19 Tuesday 14:22  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.4): Add test11-13 which test with an
-	  empty grid in one, an empty grid in many dimensions and a grid in
-	  which the values are larger than in the existing tests.
-
-2005-04-19 Tuesday 14:17  Matthew Mundell
-
-	* src/Linear_Row.cc (grids.1): Note the virtual row in
-	  Flags::ascii_dump.
-
-2005-04-19 Tuesday 14:15  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.4): Include the divisor in the
-	  parameter version of le_pc_reduce.  In the congruence version
-	  consider every row (instead of leaving out the last row) and skip
-	  modifying virtual rows.
-
-2005-04-19 Tuesday 14:07  Matthew Mundell
-
-	* src/: Grid_minimize.cc, Grid_public.cc (grids.[3,4]): Take out
-	  the pending row tracing.
-
-2005-04-17 Sunday 19:38  Abramo Bagnara
-
-	* src/: fpu-c99.inlines.hh (1.5), fpu-ia32.inlines.hh (1.6),
-	  fpu.defs.hh (1.4): Code cleaning. Added
-	  fpu_set_rounding_direction.
-
-2005-04-15 Friday 18:55  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.3): Take out tracing.  Enable
-	  comparison to known grid in test1.
-
-2005-04-15 Friday 18:51  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.4): ASCII dump `a'.
-
-2005-04-15 Friday 18:49  Matthew Mundell
-
-	* src/Grid_simplify.cc (grids.3): When the first row must be added,
-	  add an empty congruence or point instead of a virtual row.
-
-2005-04-15 Friday 17:29  Matthew Mundell
-
-	* tests/Grid/Makefile.am (grids.1): Initial revision.
-
-2005-04-15 Friday 15:23  Matthew Mundell
-
-	* src/Congruence.inlines.hh (grids.3): Take out tracing.
-
-2005-04-15 Friday 15:23  Matthew Mundell
-
-	* src/Congruence.defs.hh (grids.4): Take out inclusion of test
-	  file.
-
-2005-04-15 Friday 12:12  Matthew Mundell
-
-	* tests/Grid/grid1.cc (grids.2): Add test7 to test10, and update
-	  all tests to test reduction and conversion.
-
-2005-04-15 Friday 12:11  Matthew Mundell
-
-	* tests/Grid/congruencesystem1.cc (grids.2): Add test7, which
-	  includes an all-zero congruence and an equality.
-
-2005-04-15 Friday 12:07  Matthew Mundell
-
-	* src/: Linear_Row.defs.hh, Linear_Row.inlines.hh (grids.[1,1]):
-	  Add a virtual flag and methods is_virtual and set_is_virtual.
-
-2005-04-15 Friday 12:06  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid_conversion.cc,
-	  Grid_minimize.cc, Grid_nonpublic.cc, Grid_public.cc,
-	  Grid_simplify.cc (grids.[2,2,2,2,2,3,2]): Add much tracing.
-	  Neaten whitespace.  Improve comments.  Change the parameter
-	  system type to Generator_System in methods minimize and simplify.
-	   Rename convert to conversion (to match Polyhedron).	Temporarily
-	  make some private methods public (for testing).  Change
-	  parameterize to return the generator system and add the ability
-	  to pass a reference point to parameterize.  Add static methods
-	  virtual_row and mark_virtual.
-
-	  Adjust is_included_in to the parameter system.
-
-	  Move the definition of construct to Grid_nonpublic.cc.  Enable
-	  operator!=.
-
-	  Add conversion from parameter system to congruence system, and
-	  get both conversion methods working.	Add a trace stream.
-
-	  Update the minimize and add_and_minimize methods.  In all of
-	  these include negative values in the check for an empty grid
-	  after conversion, and always set the destination generators and
-	  generator system necessarily closed.
-
-	  Direct out some of the saturation matrix code.  Correct the empty
-	  flag handling after adding congruences to the grid.  In
-	  Grid(num_dimensions,kind) change the initial generator system
-	  topology to necessarily closed and set the congruences to
-	  minimized directly via status when the grid is empty.
-
-	  Update reduction (the simplify methods).
-
-2005-04-15 Friday 11:01  Matthew Mundell
-
-	* src/Generator_System.cc (grids.1): Add virtual_rows to loading
-	  and dumping.
-
-2005-04-15 Friday 10:55  Matthew Mundell
-
-	* src/: Congruence_System.cc, Congruence_System.defs.hh,
-	  Congruence_System.inlines.hh (grids.[3,2,2]): Add method
-	  resize_no_copy and a version of satisfies_all_congruences that
-	  accepts a parameter.	In operator== substitute a local
-	  implementation for the Matrix::operator== call.  Leave out
-	  equalities in normalize_moduli.  In both
-	  satisfies_all_congruences compare the scalar product with zero
-	  for equalities.
-
-2005-04-15 Friday 10:41  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh
-	  (grids.[3,3,2]): Add versions of reduced_scalar_product_assign
-	  and scalar_product_assign which accept parameters.  Add method
-	  set_is_equality.  In normalize set the inhomogeneous term to the
-	  modulus when the coefficients are all zero.  Correct the loading
-	  of the "m" in ascii_load.
-
-2005-04-15 Friday 10:30  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.3): In find_variation_template neaten
-	  the failure output, take out the tracing output, and note that
-	  `a' must be up to date.
-
-2005-04-11 Monday 00:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Time.inlines.hh (1.3): Fixed a bug in
-	  Time::operator+=(const Time&).
-
-2005-04-10 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.47), tests/BD_Shape/affineimage8.cc
-	  (1.2), tests/BD_Shape/affineimage9.cc (1.2),
-	  tests/BD_Shape/affinepreimage5.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage14.cc (1.3): Improved
-	  methods BD_Shape::affine_image(Variable, const
-	  Linear_Expression&, Coefficient_traits::const_reference),
-	  BD_Shape::affine_preimage(Variable, const Linear_Expression&,
-	  Coefficient_traits::const_reference), and
-	  BD_Shape::generalized_affine_image(Variable, Relation_Symbol,
-	  const Linear_Expression&, Coefficient_traits::const_reference).
-
-2005-04-06 Wednesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.20): Added negate_round_up().
-
-2005-04-03 Sunday 17:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.51): Wrong indentation corrected.
-
-2005-04-03 Sunday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.36): Sentence fixed.
-
-2005-04-02 Saturday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.18), BD_Shape.inlines.hh (1.46): Added
-	  method Constraint_System BD_Shape<T>::minimized_constraints()
-	  const.
-
-2005-03-31 Thursday 12:14  Matthew Mundell
-
-	* doc/Makefile.am (1.34): Keep TXT_LICENSES in LICENSES.  Use
-	  specific licence variables in ALL_TARGETS, instead of LICENSES.
-
-2005-03-31 Thursday 12:11  Matthew Mundell
-
-	* demos/ppl_lcdd/examples/README (1.3): Make "example" plural.
-
-2005-03-31 Thursday 12:10  Matthew Mundell
-
-	* debian/: libppl.dirs (1.2), libppl.install (1.3), rules (1.4):
-	  Add ppl_lcdd to the libppl package.  Extract the PPL version
-	  string from configure.ac instead of from one of the documentation
-	  files.  Make the PWL.  Install the PWL and Debian changelog to
-	  libppl-pwl.  Copy the Debian changelog to libppl correctly.
-
-2005-03-31 Thursday 12:03  Matthew Mundell
-
-	* debian/: libppl-pwl.dirs (1.1), libppl-pwl.docs (1.1),
-	  libppl-pwl.install (1.1): Initial revision.
-
-2005-03-31 Thursday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-pwl.dirs (altnum.1): file libppl-pwl.dirs was added
-	  on branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-31 Thursday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-pwl.docs (altnum.1): file libppl-pwl.docs was added
-	  on branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-31 Thursday 12:02  Matthew Mundell
-
-	* debian/control (1.7): For the PWL package, correct long and short
-	  descriptions and take out the libppl dependency.
-
-2005-03-31 Thursday 11:59  Matthew Mundell
-
-	* configure.ac (1.160): Add Debian copyright files to
-	  AC_CONFIG_FILES.  Clean some whitespace.
-
-2005-03-31 Thursday 11:58  Matthew Mundell
-
-	* debian/libppl-pwl.links (1.2): Use libppl-pwl.docs instead of a
-	  symlink.
-
-2005-03-31 Thursday 11:56  Matthew Mundell
-
-	* debian/libppl.copyright (1.2): Move to libppl.copyright.in.
-
-2005-03-31 Thursday 11:55  Matthew Mundell
-
-	* debian/libppl.copyright.in (1.1): Initial revision (moved here
-	  from libppl.copyright).
-
-2005-03-31 Thursday 11:54  Matthew Mundell
-
-	* debian/libppl-pwl.copyright.in (1.1): Initial revision.
-
-2005-03-29 Tuesday 23:22  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.25), Checked_Number.inlines.hh
-	  (1.31), Float.defs.hh (1.6), Float.inlines.hh (1.8), Makefile.am
-	  (1.109), checked.cc (1.1), checked.defs.hh (1.18),
-	  checked.inlines.hh (1.16), checked_ext.defs.hh (1.7),
-	  checked_ext.inlines.hh (1.17), checked_float.inlines.hh (1.35),
-	  checked_int.inlines.hh (1.31), checked_mpq.inlines.hh (1.18),
-	  checked_mpz.inlines.hh (1.21): New implementation of standardized
-	  input of checked numbers. Added mpq to float conversion.
-
-2005-03-29 Tuesday 16:40  Matthew Mundell
-
-	* doc/README.doc (1.4): Revert accidental previous commit.
-
-2005-03-29 Tuesday 16:37  Matthew Mundell
-
-	* doc/: README.doc (1.3), Makefile.am (1.33): Preserve text
-	  licences across the clean rules by making CLEANFILES and
-	  ALL_TARGETS only refer to files that can be built.  Take
-	  duplicate text files out of EXTRA_DIST.  Take out the dist-hook
-	  rule.
-
-2005-03-29 Tuesday 16:29  Matthew Mundell
-
-	* debian/rules (1.3): For the config.status rule add a Watchdog
-	  configure command and take out the dependency on configure.
-
-2005-03-29 Tuesday 12:01  Matthew Mundell
-
-	* debian/rules (1.2): Add configure flags assignment suggested in
-	  Debian autotools-dev README.	Change DOC_DIR to libppl-dev (user
-	  manual moved to package libppl-dev).	Update comment.
-
-2005-03-29 Tuesday 11:50  Matthew Mundell
-
-	* debian/libppl.doc-base (1.2): Moved to libppl-dev.doc-base.user
-	  (user manual moved to package libppl-dev).
-
-2005-03-29 Tuesday 11:47  Matthew Mundell
-
-	* debian/libppl-dev.doc-base.user (1.1): Initial revision.
-
-2005-03-29 Tuesday 11:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-dev.doc-base.user (altnum.1): file
-	  libppl-dev.doc-base.user was added on branch altnum on 2006-10-29
-	  19:26:52 +0000
-
-2005-03-29 Tuesday 11:45  Matthew Mundell
-
-	* debian/libppl-dev.doc-base (1.2): Make the fields in the first
-	  section contiguous.  Update HTML directory name.
-
-2005-03-29 Tuesday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-dev.doc-base (altnum.1): file libppl-dev.doc-base
-	  was added on branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-29 Tuesday 11:43  Matthew Mundell
-
-	* debian/control (1.6): Add automake1.4 build conflict.  Update
-	  interface short descriptions.  As per Developers Reference: take
-	  leading "The"'s out of short descriptions, add homepage field to
-	  long descriptions, take mention of Free Software out of the long
-	  descriptions.
-
-2005-03-26 Saturday 10:45  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.24), checked.defs.hh (1.17),
-	  checked_ext.inlines.hh (1.16), checked_float.inlines.hh (1.34),
-	  checked_int.inlines.hh (1.30): Cosmetic fix to conform to usual
-	  C++ guidelines.
-
-2005-03-26 Saturday 10:24  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.23), Checked_Number.inlines.hh
-	  (1.30), checked.defs.hh (1.16), checked_ext.inlines.hh (1.15),
-	  checked_float.inlines.hh (1.33), checked_int.inlines.hh (1.29),
-	  checked_mpq.inlines.hh (1.17), checked_mpz.inlines.hh (1.20):
-	  Fixed assignments from infinities.
-
-2005-03-25 Friday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.17), BD_Shape.inlines.hh (1.45): Pass
-	  arguments of type Coefficient using
-	  Coefficient_traits::const_reference instead of plain const
-	  reference.
-
-2005-03-25 Friday 15:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.16), BD_Shape.inlines.hh (1.44): Some
-	  unwanted const qualifiers have been removed.	Some desirable
-	  const qualifiers have been added.
-
-2005-03-25 Friday 12:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.43): Use the proper constructor when
-	  building a BDS from a polyhedron.
-
-2005-03-25 Friday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/exceptions3.cc (1.6): Reflect the recent changes
-	  in the behavior of BDS methods for affine images and preimages.
-
-2005-03-25 Friday 10:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.15): The documentation of
-	  generalized_affine_image(const Linear_Expression&, const
-	  Relation_Symbol, const Linear_Expression&) is now consistent with
-	  the implementation.
-
-2005-03-25 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.42): Comments of
-	  generalized_affine_image(Variable, Relation_Symbol,
-	  Linear_Expression&, const Coefficient&) somewhat cleaned up.
-
-2005-03-25 Friday 10:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.14): The documentation of
-	  generalized_affine_image(Variable, Relation_Symbol,
-	  Linear_Expression&, const Coefficient&); is now consistent with
-	  the documentation.
-
-2005-03-25 Friday 09:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.41): Comments of
-	  affine_preimage(Variable, Linear_Expression&, const Coefficient&)
-	  somewhat cleaned up.
-
-2005-03-25 Friday 09:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.13): The documentation of
-	  affine_preimage(Variable, Linear_Expression&, const Coefficient&)
-	  is now consistent with the documentation.
-
-2005-03-25 Friday 09:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.40): Comments of
-	  affine_image(Variable, Linear_Expression&, const Coefficient&)
-	  somewhat cleaned up.
-
-2005-03-25 Friday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.12): File comment fixed.  The
-	  documentation of affine_image(Variable, Linear_Expression&, const
-	  Coefficient&) is now consistent with the documentation.
-
-2005-03-24 Thursday 11:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.127): Comments
-	  concerning the widening and extrapolation predicates changed so
-	  as to state explicitly that the polyhedron referenced by the 1st
-	  handle must contain the polyhedron referenced by the second
-	  handle.
-
-2005-03-24 Thursday 09:48  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.22), Checked_Number.inlines.hh
-	  (1.29), Rounding.defs.hh (1.10): Permit rounding default
-	  direction different from CURRENT. Added Checked_Number methods to
-	  save/restore rounding mode.
-
-2005-03-23 Wednesday 19:21  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.21), Checked_Number.inlines.hh
-	  (1.28), checked_float.inlines.hh (1.32), checked_int.inlines.hh
-	  (1.28), checked_mpq.inlines.hh (1.16), checked_mpz.inlines.hh
-	  (1.19), checked_numeric_limits.hh (1.3): Added explicit 'signed'
-	  to integral types. Fixed set_special for mpz and mpq. Use always
-	  extended assignment for Checked_Number.
-
-2005-03-22 Tuesday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.14): Programs
-	  boundedh79extrapolation1 and nnc_boundedh79extrapolation1 removed
-	  from XFAIL_WITH_INT8 and added to XFAIL_WITH_INT8_A.
-
-2005-03-22 Tuesday 14:36  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.20), Checked_Number.inlines.hh
-	  (1.27), Result.defs.hh (1.9), checked.defs.hh (1.15),
-	  checked_ext.inlines.hh (1.14), checked_float.inlines.hh (1.31),
-	  checked_int.inlines.hh (1.27), checked_mpq.inlines.hh (1.15),
-	  checked_mpz.inlines.hh (1.18): Removed unused pred/succ. Don't
-	  return special result for representable values.
-
-2005-03-22 Tuesday 13:01  Matthew Mundell
-
-	* STANDARDS (grids.2): Take out the paragraph about the check_dump
-	  function.
-
-2005-03-22 Tuesday 13:00  Matthew Mundell
-
-	* tests/Grid/writecongruencesystem.cc (grids.2): Take out the dump
-	  comparisons.	Add find_variation checks.  Use endl instead of
-	  '\n'.
-
-2005-03-22 Tuesday 12:58  Matthew Mundell
-
-	* tests/Grid/congruence1.cc (grids.2): Take out all dump
-	  comparisons.	Use find_variation instead of check_ok.  Print
-	  fewer NOISY tracing messages.  Add dumps to the NOISY test
-	  failure messages.
-
-2005-03-22 Tuesday 12:55  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.2): Take out check_dump.  Create the
-	  comparison object in find_variation_template with a copy
-	  constructor.
-
-2005-03-22 Tuesday 12:54  Matthew Mundell
-
-	* src/Grid_public.cc (grids.2): Define the copy constructor.
-
-2005-03-22 Tuesday 12:53  Matthew Mundell
-
-	* src/Congruence_System.cc (grids.2): Use Congruence::ascii_load.
-
-2005-03-22 Tuesday 12:52  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh (grids.[2,2]): Add method
-	  ascii_load.
-
-2005-03-21 Monday 20:12  Matthew Mundell
-
-	* src/: Matrix.cc, Matrix.defs.hh (grids.[1,1]): Declare Grid and
-	  an operator== as friends.  Add method add_row.
-
-2005-03-21 Monday 20:03  Matthew Mundell
-
-	* doc/devref.doxyconf-html.in (grids.1): Add Grid, Congruence and
-	  Congruence_System files to INPUT.
-
-2005-03-21 Monday 19:59  Matthew Mundell
-
-	* src/Row.defs.hh (1.93): Take out dot following \brief.
-
-2005-03-21 Monday 19:52  Matthew Mundell
-
-	* src/Makefile.am (grids.1): Add Grid, Congruence and
-	  Congruence_System files to INCLUDE_FILES and libppl_la_SOURCES.
-
-2005-03-21 Monday 19:49  Matthew Mundell
-
-	* src/: Linear_Expression.defs.hh, Linear_Expression.inlines.hh
-	  (grids.[1,1]): Declare Congruence, two operator%='s and
-	  swap(Linear_Expression&, Linear_Expression&) as friends.  Add
-	  copy constructor which takes size and capacity.
-
-2005-03-21 Monday 19:35  Matthew Mundell
-
-	* src/Generator_System.defs.hh (grids.1): Declare Grid friendship.
-
-2005-03-21 Monday 19:34  Matthew Mundell
-
-	* src/Generator.defs.hh (grids.1): Declare Grid and
-	  Congruence_System as friends.
-
-2005-03-21 Monday 19:33  Matthew Mundell
-
-	* src/Constraint.defs.hh (grids.1): Declare Congruence a friend.
-
-2005-03-21 Monday 19:32  Matthew Mundell
-
-	* src/: Congruence.cc, Congruence.defs.hh, Congruence.inlines.hh,
-	  Congruence.types.hh, Congruence_System.cc,
-	  Congruence_System.defs.hh, Congruence_System.inlines.hh,
-	  Congruence_System.types.hh (grids.[1,1,1,1,1,1,1,1]): Initial
-	  revision.
-
-2005-03-21 Monday 19:30  Matthew Mundell
-
-	* src/: GMP_Integer.defs.hh, GMP_Integer.inlines.hh (grids.[1,1]):
-	  Add gcdext_assign.
-
-2005-03-21 Monday 19:27  Matthew Mundell
-
-	* tests/ppl_test.hh (grids.1): Include the std and PPL namespaces.
-	  Define macro stringify, function checkdump and template
-	  find_variation_template.
-
-2005-03-21 Monday 19:24  Matthew Mundell
-
-	* tests/print.hh (grids.1): Set NOISY and VERY_NOISY from the
-	  associated directives.  Create the nout and vnout streams.
-
-2005-03-21 Monday 19:22  Matthew Mundell
-
-	* tests/Makefile.am (grids.1): Add Grid to SUBDIRS.
-
-2005-03-21 Monday 19:21  Matthew Mundell
-
-	* tests/Grid/: Makefile.in, congruence1.cc, congruencesystem1.cc,
-	  congruencesystem2.cc, grid1.cc, writecongruencesystem.cc
-	  (grids.[1,1,1,1,1,1]): Initial revision.
-
-2005-03-21 Monday 19:15  Matthew Mundell
-
-	* src/: Grid.defs.hh, Grid.inlines.hh, Grid.types.hh,
-	  Grid_Status.cc, Grid_Status.idefs.hh, Grid_Status.inlines.hh,
-	  Grid_conversion.cc, Grid_minimize.cc, Grid_nonpublic.cc,
-	  Grid_public.cc, Grid_simplify.cc (grids.[1,1,1,1,1,1,1,1,1,1,1]):
-	  Initial, partial, rough revision.
-
-2005-03-21 Monday 19:11  Matthew Mundell
-
-	* configure.ac (grids.1): Add tests/Grid/Makefile to
-	  AC_CONFIG_FILES.
-
-2005-03-21 Monday 19:09  Matthew Mundell
-
-	* STANDARDS (grids.1): Add "Standards for the Test Programs"
-	  section.
-
-2005-03-16 Wednesday 21:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.13): Added
-	  `boundedbhrz03extrapolation1' and
-	  `nnc_boundedbhrz03extrapolation1' to `XFAIL_WITH_INT8'.
-
-2005-03-16 Wednesday 07:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.44): The limited widening methods
-	  now immediately fall back to their non-limited counterparts when
-	  given an empty constraint system.
-
-2005-03-14 Monday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.108): Added `ppl_include_files.hh' to
-	  `noinst_HEADERS' and `BUILT_SOURCES'.
-
-2005-03-13 Sunday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BD_Shape.defs.hh (1.11), BD_Shape.inlines.hh (1.39):
-	  BD_Shape<T>::CC76_extrapolation_assign(const BD_Shape&) now has
-	  its stop-points stored in a local, static array..
-
-2005-03-13 Sunday 20:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.107): Added `fpu-c99.inlines.hh' to
-	  `INCLUDE_FILES'.
-
-2005-03-13 Sunday 20:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.29): Added `build_header' to `EXTRA_DIST'.
-
-2005-03-13 Sunday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: addspacedims1.cc (1.4), addspacedims2.cc (1.4),
-	  addspacedims4.cc (1.4), addspacedims5.cc (1.4), addspacedims6.cc
-	  (1.4): Unused variables removed or commented out.
-
-2005-03-13 Sunday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.hh (1.2): Include "version.hh".
-
-2005-03-13 Sunday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/addspacedims3.cc (1.4): Useless variable removed.
-
-2005-03-13 Sunday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.143), build_header (1.1), src/BDS_Status.idefs.hh (1.6),
-	  src/BD_Shape.defs.hh (1.10), src/DB_Row.defs.hh (1.6),
-	  src/E_Rational.inlines.hh (1.7), src/Float.inlines.hh (1.7),
-	  src/Makefile.am (1.106), src/Ph_Status.idefs.hh (1.9),
-	  src/Polyhedron.defs.hh (1.269), src/checked_int.inlines.hh
-	  (1.26), src/ppl_header.bottom (1.7), src/ppl_header.hh (1.1),
-	  src/ppl_header.middle (1.6), src/ppl_header.top (1.9),
-	  tests/ppl_test.hh (1.19): New, simpler and less problematic
-	  machinery to build ppl_install.hh.  (The `build_header' script
-	  has been written by Abramo Bagnara.)
-
-2005-03-11 Friday 21:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/generalizedaffineimage14.cc (1.2): Copyright years
-	  fixed.
-
-2005-03-11 Friday 20:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.11), constraints2.cc (1.4),
-	  exceptions3.cc (1.5), generalizedaffineimage2.cc (1.4),
-	  generalizedaffineimage3.cc (1.4), polydifference1.cc (1.4),
-	  relations2.cc (1.4), relations3.cc (1.4), relations5.cc (1.4),
-	  writebdiffs1.cc (1.4), writebdiffs2.cc (1.4), writebdshape1.cc
-	  (1.1), writebdshape2.cc (1.1): We no longer call them "bounded
-	  differences": we call them "bounded difference shapes" or "BDS"
-	  instead.
-
-2005-03-11 Friday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.38),
-	  tests/BD_Shape/generalizedaffineimage10.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage7.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage8.cc (1.4): Fixed a bug in
-	  BD_Shape<T>::generalized_affine_image(Variable, const
-	  Relation_Symbol, const Linear_Expression&, const Coefficient&).
-
-2005-03-09 Wednesday 17:19  Matthew Mundell
-
-	* debian/libppl.docs (1.2): TODO is currently for internal use.
-
-2005-03-09 Wednesday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl.docs (altnum.1): file libppl.docs was added on
-	  branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-09 Wednesday 12:37  Matthew Mundell
-
-	* debian/copyright (1.2): Move to libppl.copyright.
-
-2005-03-09 Wednesday 12:24  Matthew Mundell
-
-	* debian/: libppl-c.dirs (1.1), libppl-c.install (1.1),
-	  libppl-c.links (1.1), libppl-dev.doc-base (1.1), libppl-dev.docs
-	  (1.1), libppl-dev.links (1.1), libppl-gprolog.links (1.1),
-	  libppl-pwl.links (1.1), libppl-sicstus.links (1.1),
-	  libppl-swi.links (1.1), libppl-yap.links (1.1), libppl.copyright
-	  (1.1), libppl.doc-base (1.1), libppl.docs (1.1): Initial
-	  revisions.
-
-2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-c.dirs (altnum.1): file libppl-c.dirs was added on
-	  branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-c.install (altnum.1): file libppl-c.install was
-	  added on branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-c.links (altnum.1): file libppl-c.links was added
-	  on branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-dev.docs (altnum.1): file libppl-dev.docs was added
-	  on branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-09 Wednesday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-dev.links (altnum.1): file libppl-dev.links was
-	  added on branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-09 Wednesday 11:46  Matthew Mundell
-
-	* debian/libppl.install (1.2): Only install the main library
-	  (others now installed in interface packages).
-
-2005-03-09 Wednesday 11:45  Matthew Mundell
-
-	* debian/libppl-dev.dirs (1.2): Replace package specific doc dir
-	  with the general libppl doc dir.  Take out usr/lib/pkgconfig.
-
-2005-03-09 Wednesday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/libppl-dev.dirs (altnum.1): file libppl-dev.dirs was added
-	  on branch altnum on 2006-10-29 19:26:52 +0000
-
-2005-03-09 Wednesday 11:43  Matthew Mundell
-
-	* debian/control (1.5): Rename to libppl.  Add a source section
-	  name.  Depend on graphviz and debhelper version of 4 or higher.
-	  Drop libppl-c-dev.  Complete the entries for the interface
-	  packages.
-
-2005-03-09 Wednesday 11:38  Matthew Mundell
-
-	* debian/: changelog (1.1), rules (1.1): Initial revision.
-
-2005-03-05 Saturday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.12),
-	  boundedbhrz03extrapolation1.cc (1.1): A new, very interesting,
-	  test program showing an analysis of linear invariants divided
-	  into phases: a first propagation phase (without widening),
-	  followed by a widening phase employing the "widening up to"
-	  technique and further preserving interval constraints.  Notice
-	  that neither the H79 nor the BHRZ03 limited extrapolations (used
-	  as widenings here) allow to obtain the desired postfixpoint for
-	  this example (since they lose the crucial constraint `k <= 1').
-	  Both the H79 and the BHRZ03 bounded extrapolation operators do
-	  achieve this result.
-
-2005-03-05 Saturday 13:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.43): Internal implementation class
-	  BW_Box was no longer used: removed.
-
-2005-03-05 Saturday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.42),
-	  tests/Polyhedron/boundedh79extrapolation1.cc (1.4):
-	  Polyhedron::bounded_BHRZ03_extrapolation_assign() and
-	  Polyhedron::bounded_H79_extrapolation_assign() now use
-	  Bounding_Box::CC76_widening_assign() to make sure the interval
-	  constraints that are preserved do not cause termination problems.
-	  Test program boundedh79extrapolation1.cc (it was testing nothing
-	  anyway).
-
-2005-03-05 Saturday 13:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.10), generalizedaffineimage14.cc
-	  (1.1): New test for BD_Shape::generalized_affine_image().
-
-2005-03-05 Saturday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Bounding_Box.cc (1.6), Bounding_Box.defs.hh (1.6): New
-	  method Constraint_System Bounding_Box::constraints() const.
-
-2005-03-05 Saturday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Bounding_Box.cc (1.5): Fixed
-	  Bounding_Box::CC76_widening_assign(const Bounding_Box& y,
-	  Iterator first, Iterator last).
-
-2005-03-05 Saturday 00:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Bounding_Box.cc (1.4), Bounding_Box.defs.hh (1.5): Added
-	  Bounding_Box::CC76_widening_assign(const Bounding_Box& y) and
-	  template <typename Iterator>
-	  Bounding_Box::CC76_widening_assign(const Bounding_Box& y,
-	  Iterator first, Iterator last).
-
-2005-03-05 Saturday 00:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.defs.hh (1.22), Interval.inlines.hh (1.21): Added
-	  non-const versions of accessors.
-
-2005-03-04 Friday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.9): Comments for
-	  CC76_extrapolation_assign(const BD_Shape& y) and
-	  CC76_extrapolation_assign(const BD_Shape& y, Iterator first,
-	  Iterator last) revised.
-
-2005-03-04 Friday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.268): Misleading variable name changed
-	  in the Polyhedron class documentation.
-
-2005-03-03 Thursday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/control (1.4): Now libppl-dev depends on libppl.
-
-2005-03-03 Thursday 15:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.37):
-	  BD_Shape::generalized_affine_image(const Linear_Expression&,
-	  const Relation_Symbol, const Linear_Expression&) improved.
-
-2005-03-03 Thursday 12:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/: libppl-dev.dirs (1.1), libppl-dev.install (1.1),
-	  libppl.dirs (1.1), libppl.install (1.1): Directories and
-	  installed files for packages libppl and libppl-dev.
-
-2005-03-03 Thursday 12:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/control (1.3): Packages named `libppl*' instead of `ppl*'.
-	  Dependency from g++ fixed.
-
-2005-03-03 Thursday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.170): Some headings properly capitalized.
-
-2005-03-02 Wednesday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.36): Simplified the logic of
-	  BD_Shape<T>::BD_Shape(const Polyhedron&, Complexity_Class).
-
-2005-03-02 Wednesday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.267): Befriend template <typename T>
-	  class BD_Shape.
-
-2005-03-02 Wednesday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.113): Use of simplex temporarily
-	  disabled in Polyhedron::shrink_bounding_box() until we have an
-	  efficient way to compute the topological closure of a constraint
-	  system.
-
-2005-03-02 Wednesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.35): Added an initial, very rough
-	  implementation of BD_Shape<T>::BD_Shape(const Polyhedron&,
-	  Complexity_Class).
-
-2005-03-01 Tuesday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/affinetrans.cc (1.4): Misleading variable name
-	  changed.
-
-2005-03-01 Tuesday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: affineimage1.cc (1.4), affineimage2.cc (1.4),
-	  affineimage3.cc (1.4), affineimage4.cc (1.4), affineimage5.cc
-	  (1.4), affineimage6.cc (1.4), affineimage7.cc (1.4),
-	  affinepreimage1.cc (1.4), affinepreimage2.cc (1.4),
-	  affinepreimage3.cc (1.4), affinepreimage4.cc (1.4),
-	  exceptions3.cc (1.4): Avoid declaring variables when a temporary
-	  would do the same thing more clearly.
-
-2005-03-01 Tuesday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.34), tests/BD_Shape/Makefile.am (1.9),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage13.cc (1.1),
-	  tests/BD_Shape/generalizedaffineimage4.cc (1.4),
-	  tests/BD_Shape/generalizedaffineimage5.cc (1.4):
-	  BD_Shape<T>::generalized_affine_image() can now handle any
-	  expression.
-
-2005-03-01 Tuesday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.33), tests/BD_Shape/Makefile.am (1.8),
-	  tests/BD_Shape/affinepreimage5.cc (1.1):
-	  BD_Shape<T>::affine_preimage() can now handle any expression.
-
-2005-03-01 Tuesday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.32), tests/BD_Shape/Makefile.am (1.7),
-	  tests/BD_Shape/affineimage8.cc (1.1),
-	  tests/BD_Shape/affineimage9.cc (1.1): BD_Shape<T>::affine_image()
-	  can now handle any expression.
-
-2005-03-01 Tuesday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.26): Wrong dependency fixed.
-
-2005-03-01 Tuesday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/control (1.2): Dependencies changed so as to depend on g++
-	  == 3.4.  Added autoconf, automake1.9, libtool and doxygen to
-	  Build-Depends.  (Thanks to Michael Tautschnig.)
-
-2005-02-28 Monday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/: compat (1.1), control (1.1), copyright (1.1): Initial
-	  drafts put under CVS control.
-
-2005-02-28 Monday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* debian/compat (altnum.1): file compat was added on branch altnum
-	  on 2006-10-29 19:26:52 +0000
-
-2005-02-28 Monday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.25): URL for the source fixed.
-
-2005-02-27 Sunday 22:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/watchdog1.cc (1.4): Empty throw specification
-	  added to ~Timeout().
-
-2005-02-27 Sunday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.112): Slight simplification in
-	  Polyhedron::shrink_bounding_box(Box&, Complexity_Class).
-
-2005-02-27 Sunday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.8): Added declaration for BD_Shape(const
-	  Polyhedron&, Complexity_Class).
-
-2005-02-27 Sunday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: globals.defs.hh (1.19), globals.inlines.hh (1.9): Class
-	  Throwable was missing a virtual destructor: added.
-
-2005-02-27 Sunday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.111):
-	  Polyhedron::shrink_bounding_box(Box&, Complexity_Class) improved.
-
-2005-02-27 Sunday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: Handler.defs.hh (1.4), Handler.inlines.hh (1.3): Class
-	  Handler was missing a virtual destructor: added.
-
-2005-02-27 Sunday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.7): Imprecisions in the comments for
-	  BD_Shape(const Generator_System&) corrected.
-
-2005-02-27 Sunday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.31): On exit from
-	  BD_Shape<T>::BD_Shape(const Generator_System&), the DBM is always
-	  transitively closed.
-
-2005-02-27 Sunday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.30): No longer print spurious newlines
-	  in operator<<(std::ostream&, const BD_Shape<T>&).
-
-2005-02-27 Sunday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.110): Useless temporary removed and
-	  scope of one variable reduced in
-	  Polyhedron::shrink_bounding_box().
-
-2005-02-27 Sunday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.142): Added one more thing to do.
-
-2005-02-27 Sunday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/constraints1.cc (1.4): Needlessly long comment
-	  shortened.
-
-2005-02-27 Sunday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/fromgensys1.cc (1.2): Be quiet.
-
-2005-02-27 Sunday 10:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.6), fromgensys1.cc (1.1): New
-	  test program for BD_Shape::BD_Shape(const Generator_System&).
-
-2005-02-27 Sunday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.29): BD_Shape::BD_Shape(const
-	  Generator_System&) implemented.
-
-2005-02-26 Saturday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.6): Added declaration for
-	  BD_Shape::BD_Shape(const Generator_System& gs).  Comments for
-	  BD_Shape::BD_Shape(const Constraint_System& cs) further improved.
-
-2005-02-26 Saturday 17:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.5): Comments for BD_Shape::BD_Shape(const
-	  Constraint_System& cs) improved.
-
-2005-02-24 Thursday 19:05  Matthew Mundell
-
-	* src/: Generator.defs.hh (1.103), Linear_System.cc (1.18): Correct
-	  comment typo.
-
-2005-02-24 Thursday 19:05  Matthew Mundell
-
-	* src/Constraint_System.defs.hh (1.9): Correct comment typos and
-	  clip off trailing whitespace.
-
-2005-02-22 Tuesday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BHRZ03_Certificate.inlines.hh (1.5): Removed a pair of
-	  redundant parentheses.
-
-2005-02-18 Friday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Float.inlines.hh (1.6): Include <climits>.
-
-2005-02-18 Friday 21:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (1.2): Added more attributes to the
-	  specializations of std::numeric_limits for "checked" integer
-	  types.
-
-2005-02-18 Friday 18:55  Abramo Bagnara
-
-	* src/: Float.inlines.hh (1.5), checked_int.inlines.hh (1.25):
-	  Added U to make explicit unsignedness for constants.
-
-2005-02-18 Friday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.131): Useless type qualifiers removed.
-
-2005-02-18 Friday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Saturation_Matrix.cc (1.3), Saturation_Row.cc (1.6),
-	  Saturation_Row.defs.hh (1.5), Saturation_Row.inlines.hh (1.5),
-	  conversion.cc (1.68): Several methods speeded up.  Now bit
-	  positions are represented by means of unsigned longs and the
-	  invalid position is represented by ULONG_MAX.
-
-2005-02-18 Friday 15:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.105): Added checked_numeric_limits.hh to
-	  INCLUDE_FILES.
-
-2005-02-18 Friday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/empty5.cc (1.3): Allow for every definition of
-	  Coefficient.
-
-2005-02-18 Friday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_numeric_limits.hh (1.1): Specializations of
-	  std::numeric_limits for "checked" types (still incomplete as far
-	  as `round_style' is concerned).
-
-2005-02-17 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.28): BD_Shape<T>::contains() improved.
-
-2005-02-17 Thursday 19:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.27): BD_Shape<T>::poly_hull_assign()
-	  improved.
-
-2005-02-17 Thursday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.26):
-	  BD_Shape<T>::poly_difference_assign() improved.
-
-2005-02-17 Thursday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.25):
-	  BD_Shape<T>::CC76_extrapolation_assign() improved.
-
-2005-02-17 Thursday 19:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.24):
-	  BD_Shape<T>::CH78_widening_assign() improved.
-
-2005-02-17 Thursday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.23):
-	  BD_Shape<T>::limited_CH78_extrapolation_assign() improved.
-
-2005-02-17 Thursday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.22):
-	  BD_Shape<T>::intersection_assign() improved.
-
-2005-02-17 Thursday 18:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.21):
-	  BD_Shape<T>::CC76_narrowing_assign() improved.
-
-2005-02-17 Thursday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.20):
-	  BD_Shape<T>::add_space_dimensions_and_embed() improved.
-
-2005-02-17 Thursday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.19):
-	  BD_Shape<T>::add_space_dimensions_and_project() improved.
-
-2005-02-17 Thursday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.18): BD_Shape<T>::relation_with(const
-	  Constraint&) improved.
-
-2005-02-17 Thursday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.17): BD_Shape<T>::relation_with()
-	  improved.
-
-2005-02-16 Wednesday 17:34  Abramo Bagnara
-
-	* src/: Float.defs.hh (1.5), Float.inlines.hh (1.4),
-	  checked_float.inlines.hh (1.30), checked_mpz.inlines.hh (1.17):
-	  Added support for assignment from mpz to floating type.
-
-2005-02-16 Wednesday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.16): Improved
-	  BD_Shape<T>::add_constraint().
-
-2005-02-16 Wednesday 16:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.15): Variables renamed in
-	  BD_Shape<T>::contains().
-
-2005-02-16 Wednesday 16:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.14): Variables renamed in
-	  BD_Shape<T>::concatenate_assign().
-
-2005-02-16 Wednesday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.13): Variable renamed in
-	  BD_Shape<T>::is_empty().
-
-2005-02-16 Wednesday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.12): Variable renamed in
-	  BD_Shape<T>::is_universe().
-
-2005-02-16 Wednesday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.11): Fixed
-	  BD_Shape<T>::limited_CC76_extrapolation_assign().
-
-2005-02-16 Wednesday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.10): Removed redundant declaration
-	  from BD_Shape<T>::add_constraint().
-
-2005-02-16 Wednesday 12:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.9):
-	  BD_Shape<T>::limited_CC76_extrapolation_assign() cleaned up.
-
-2005-02-15 Tuesday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.80), src/Row.defs.hh (1.92), src/Row.inlines.hh
-	  (1.60), tests/ppl_test.hh (1.18), tests/BD_Shape/Makefile.am
-	  (1.5), tests/BD_Shape/addconstraints1.cc (1.3),
-	  tests/BD_Shape/addspacedims1.cc (1.3),
-	  tests/BD_Shape/addspacedims2.cc (1.3),
-	  tests/BD_Shape/addspacedims3.cc (1.3),
-	  tests/BD_Shape/addspacedims4.cc (1.3),
-	  tests/BD_Shape/addspacedims5.cc (1.3),
-	  tests/BD_Shape/addspacedims6.cc (1.3),
-	  tests/BD_Shape/addspacedims7.cc (1.3),
-	  tests/BD_Shape/affineimage1.cc (1.3),
-	  tests/BD_Shape/affineimage2.cc (1.3),
-	  tests/BD_Shape/affineimage3.cc (1.3),
-	  tests/BD_Shape/affineimage4.cc (1.3),
-	  tests/BD_Shape/affineimage5.cc (1.3),
-	  tests/BD_Shape/affineimage6.cc (1.3),
-	  tests/BD_Shape/affineimage7.cc (1.3),
-	  tests/BD_Shape/affinepreimage1.cc (1.3),
-	  tests/BD_Shape/affinepreimage2.cc (1.3),
-	  tests/BD_Shape/affinepreimage3.cc (1.3),
-	  tests/BD_Shape/affinepreimage4.cc (1.3),
-	  tests/BD_Shape/ascii_dump_load1.cc (1.5),
-	  tests/BD_Shape/ascii_dump_load2.cc (1.3),
-	  tests/BD_Shape/cc76extrapolation1.cc (1.3),
-	  tests/BD_Shape/cc76extrapolation2.cc (1.3),
-	  tests/BD_Shape/cc76extrapolation3.cc (1.3),
-	  tests/BD_Shape/cc76extrapolation4.cc (1.3),
-	  tests/BD_Shape/cc76extrapolation5.cc (1.3),
-	  tests/BD_Shape/cc76extrapolation6.cc (1.3),
-	  tests/BD_Shape/cc76narrowing1.cc (1.3),
-	  tests/BD_Shape/cc76narrowing2.cc (1.3),
-	  tests/BD_Shape/cc76narrowing3.cc (1.3),
-	  tests/BD_Shape/cc76narrowing4.cc (1.3),
-	  tests/BD_Shape/cc76narrowing5.cc (1.3),
-	  tests/BD_Shape/ch78widening1.cc (1.3),
-	  tests/BD_Shape/ch78widening2.cc (1.3),
-	  tests/BD_Shape/ch78widening3.cc (1.3),
-	  tests/BD_Shape/ch78widening4.cc (1.3),
-	  tests/BD_Shape/ch78widening5.cc (1.3),
-	  tests/BD_Shape/ch78widening6.cc (1.3),
-	  tests/BD_Shape/ch78widening7.cc (1.3),
-	  tests/BD_Shape/ch78widening8.cc (1.3),
-	  tests/BD_Shape/concatenate1.cc (1.3),
-	  tests/BD_Shape/concatenate2.cc (1.3),
-	  tests/BD_Shape/concatenate3.cc (1.3),
-	  tests/BD_Shape/concatenate4.cc (1.3),
-	  tests/BD_Shape/concatenate5.cc (1.3),
-	  tests/BD_Shape/constraints1.cc (1.3),
-	  tests/BD_Shape/constraints2.cc (1.3), tests/BD_Shape/contains1.cc
-	  (1.3), tests/BD_Shape/contains2.cc (1.3),
-	  tests/BD_Shape/contains3.cc (1.3), tests/BD_Shape/empty1.cc
-	  (1.3), tests/BD_Shape/empty2.cc (1.3), tests/BD_Shape/empty3.cc
-	  (1.3), tests/BD_Shape/empty4.cc (1.3), tests/BD_Shape/empty5.cc
-	  (1.2), tests/BD_Shape/equality1.cc (1.3),
-	  tests/BD_Shape/exceptions1.cc (1.3),
-	  tests/BD_Shape/exceptions2.cc (1.3),
-	  tests/BD_Shape/exceptions3.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage10.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage11.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage12.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage3.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage4.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage5.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage6.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage7.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage8.cc (1.3),
-	  tests/BD_Shape/generalizedaffineimage9.cc (1.3),
-	  tests/BD_Shape/h79widening1.cc (1.3),
-	  tests/BD_Shape/intersection1.cc (1.3),
-	  tests/BD_Shape/intersection2.cc (1.3),
-	  tests/BD_Shape/intersection3.cc (1.3),
-	  tests/BD_Shape/intersection4.cc (1.3),
-	  tests/BD_Shape/intersection5.cc (1.3),
-	  tests/BD_Shape/intersection6.cc (1.3),
-	  tests/BD_Shape/intersection7.cc (1.3),
-	  tests/BD_Shape/intersection8.cc (1.3),
-	  tests/BD_Shape/limitedCC76extrapolation1.cc (1.3),
-	  tests/BD_Shape/limitedCC76extrapolation2.cc (1.3),
-	  tests/BD_Shape/limitedCC76extrapolation3.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation1.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation2.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation3.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation4.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation5.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation6.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation7.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation8.cc (1.3),
-	  tests/BD_Shape/limitedCH78extrapolation9.cc (1.3),
-	  tests/BD_Shape/limitedh79extrapolation1.cc (1.3),
-	  tests/BD_Shape/mapspacedims1.cc (1.3),
-	  tests/BD_Shape/mapspacedims2.cc (1.3),
-	  tests/BD_Shape/mapspacedims3.cc (1.3),
-	  tests/BD_Shape/mapspacedims4.cc (1.3),
-	  tests/BD_Shape/maxspacedim.cc (1.4),
-	  tests/BD_Shape/polydifference1.cc (1.3),
-	  tests/BD_Shape/polydifference2.cc (1.3),
-	  tests/BD_Shape/polydifference3.cc (1.3),
-	  tests/BD_Shape/polydifference4.cc (1.3),
-	  tests/BD_Shape/polydifference5.cc (1.3),
-	  tests/BD_Shape/polydifference6.cc (1.3),
-	  tests/BD_Shape/polyhull1.cc (1.3), tests/BD_Shape/polyhull2.cc
-	  (1.3), tests/BD_Shape/polyhull3.cc (1.3),
-	  tests/BD_Shape/polyhull4.cc (1.3),
-	  tests/BD_Shape/removespacedims1.cc (1.3),
-	  tests/BD_Shape/removespacedims2.cc (1.3),
-	  tests/BD_Shape/removespacedims3.cc (1.3),
-	  tests/BD_Shape/timeelapse1.cc (1.3),
-	  tests/BD_Shape/timeelapse2.cc (1.3),
-	  tests/BD_Shape/timeelapse3.cc (1.3),
-	  tests/BD_Shape/timeelapse4.cc (1.3),
-	  tests/BD_Shape/timeelapse5.cc (1.3), tests/BD_Shape/universe1.cc
-	  (1.3), tests/BD_Shape/writebdiffs1.cc (1.3),
-	  tests/BD_Shape/writebdiffs2.cc (1.3), tests/Polyhedron/memory2.cc
-	  (1.8), tests/Polyhedron/polypowerset1.cc (1.2): Copyright years
-	  updated.
-
-2005-02-15 Tuesday 19:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.8): BD_Shape<T>::is_empty() fixed:
-	  add_round_down() was used instead of add_round_up().
-
-2005-02-15 Tuesday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: Makefile.am (1.4), empty5.cc (1.1): New test
-	  triggering a bug in BD_Shape<T>::is_empty().
-
-2005-02-15 Tuesday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator_System.cc (1.6): Spurious redeclaration removed
-	  from Generator_System::ascii_load().
-
-2005-02-15 Tuesday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.inlines.hh (1.16): Make sure inline methods
-	  Linear_System::num_pending_rows() and
-	  Linear_System::unset_pending_rows() are defined before being
-	  invoked.
-
-2005-02-15 Tuesday 18:16  Matthew Mundell
-
-	* src/BDS_Status.idefs.hh (1.5): Correct a typo.
-
-2005-02-14 Monday 21:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.169), interfaces/C/ppl_c.h.in (1.47),
-	  src/BDS_Status.idefs.hh (1.4), src/BD_Shape.inlines.hh (1.7),
-	  src/BHRZ03_Certificate.defs.hh (1.10), src/Bounding_Box.defs.hh
-	  (1.4), src/Checked_Number.cc (1.6), src/Checked_Number.defs.hh
-	  (1.19), src/Constraint.cc (1.48), src/DB_Matrix.defs.hh (1.4),
-	  src/DB_Row.defs.hh (1.5), src/Generator.cc (1.59),
-	  src/Generator.defs.hh (1.102), src/Limits.hh (1.6),
-	  src/Linear_Row.defs.hh (1.8), src/Linear_System.cc (1.17),
-	  src/Linear_System.inlines.hh (1.15), src/Makefile.am (1.104),
-	  src/Native_Integer.defs.hh (1.10), src/Ph_Status.idefs.hh (1.8),
-	  src/Poly_Con_Relation.defs.hh (1.26),
-	  src/Poly_Gen_Relation.defs.hh (1.24),
-	  src/Polyhedra_Powerset.inlines.hh (1.18), src/Polyhedron.defs.hh
-	  (1.266), src/Polyhedron_widenings.cc (1.41), src/Powerset.defs.hh
-	  (1.11), src/Result.defs.hh (1.8), src/Saturation_Row.defs.hh
-	  (1.4), src/checked.inlines.hh (1.15), src/checked_int.inlines.hh
-	  (1.24), src/conversion.cc (1.67), src/globals.defs.hh (1.18):
-	  Fixed several spelling mistakes.
-
-2005-02-14 Monday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Saturation_Row.cc (1.5), Saturation_Row.inlines.hh (1.4):
-	  Saturation_Row::operator[](), operator==(const Saturation_Row&,
-	  const Saturation_Row&) and operator!=(const Saturation_Row&,
-	  const Saturation_Row&) speeded up.
-
-2005-02-14 Monday 17:19  Matthew Mundell
-
-	* src/Linear_System.inlines.hh (1.14): Improve comment.
-
-2005-02-14 Monday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-ia32.inlines.hh (1.5): Define HIJACK_FPU only if it is
-	  not already defined.
-
-2005-02-14 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.6): Do not use assignment with
-	  unspecified rounding mode.
-
-2005-02-14 Monday 14:49  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.29): Added rounding functions.
-	  Treat specially negative zero representation.
-
-2005-02-13 Sunday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.7), compile (1.4), config.guess (1.27), config.sub
-	  (1.26), depcomp (1.9), missing (1.9), mkinstalldirs (1.8),
-	  Watchdog/INSTALL (1.4), Watchdog/compile (1.4),
-	  Watchdog/config.guess (1.11), Watchdog/config.sub (1.11),
-	  Watchdog/depcomp (1.7), Watchdog/missing (1.5),
-	  Watchdog/mkinstalldirs (1.4): Updated from Automake 1.9.5.
-
-2005-02-12 Saturday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.50): Little comment improvements.
-
-2005-02-12 Saturday 17:53  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.28): Fixed cut and paste typo.
-
-2005-02-12 Saturday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: E_Rational.defs.hh (1.4), E_Rational.inlines.hh (1.6):
-	  Alternative interface functions added to make a comparison with
-	  new code possible.
-
-2005-02-12 Saturday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/E_NIT.inlines.hh (1.9): Formatting change.
-
-2005-02-12 Saturday 15:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.22), Watchdog/ltmain.sh (1.11): Updated from Libtool
-	  1.5.14.
-
-2005-02-11 Friday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Linear_System.cc (1.16), Linear_System.defs.hh (1.13),
-	  Linear_System.inlines.hh (1.13), Polyhedron_nonpublic.cc (1.46),
-	  Polyhedron_public.cc (1.49): Pending rows in a linear (constraint
-	  or generator) system make sense only when the system is part of a
-	  polyhedron.  The ordinary copy constructor and assignment
-	  operator now turn pending rows into non-pending ones.  A full
-	  copy constructor and pseudo-assignment are now provided for those
-	  cases where the copy and assignment must preserve the pending
-	  status of pending rows.  These changes fix the bug exhibited by
-	  tests/Polyhedron/constraints5.cc and
-	  tests/Polyhedron/generators7.cc.
-
-2005-02-11 Friday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.defs.hh (1.17): Comment reformatted.
-
-2005-02-11 Friday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/generators7.cc (1.2): Fixed and made silent.
-
-2005-02-11 Friday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BD_Shape/ascii_dump_load1.cc (1.4),
-	  Polyhedron/constraints5.cc (1.2): Be quiet.
-
-2005-02-11 Friday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint_System.cc (1.6), Constraint_System.inlines.hh
-	  (1.3), Generator_System.cc (1.5), Generator_System.inlines.hh
-	  (1.3), Linear_System.cc (1.15): Missing assertions added.  Code
-	  formatting improved.
-
-2005-02-10 Thursday 22:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.11), generators7.cc (1.1): New
-	  test triggering a bug in Generator_System::insert(const
-	  Generator&).
-
-2005-02-10 Thursday 22:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.10), constraints5.cc (1.1): New
-	  test triggering a bug in Constraint_System::insert(const
-	  Constraint&).
-
-2005-02-10 Thursday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/fpu-c99.inlines.hh (1.4): Code reformatted as per our coding
-	  standards.
-
-2005-02-10 Thursday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sicstus_cfli.ic (1.11):
-	  Prolog_put_ulong() fixed.
-
-2005-02-10 Thursday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: compiler.hh (1.4), fpu-ia32.inlines.hh (1.4): Code
-	  reformatted as per our coding standards.
-
-2005-02-10 Thursday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.inlines.hh (1.14): Missing "used declaration" added.
-
-2005-02-10 Thursday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.cc (1.5): Useless break removed.
-
-2005-02-10 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.9): Missing std:: qualifier added.
-
-2005-02-10 Thursday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.27): Declare strtof() and
-	  strtod() if they are not declared by <cstdlib>.
-
-2005-02-10 Thursday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.159): Check for the declaration of strtof() and
-	  strtod().
-
-2005-02-10 Thursday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.cc (1.4): All *.cc files must include
-	  <config.h> first.
-
-2005-02-10 Thursday 16:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.26): Declare strtold() if this is
-	  not declared by <cstdlib>.
-
-2005-02-10 Thursday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.158): Check for the declaration of strtold().
-
-2005-02-08 Tuesday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.sub (1.25), install-sh (1.13), Watchdog/config.sub (1.10),
-	  Watchdog/install-sh (1.10): Updated.
-
-2005-02-08 Tuesday 20:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.21), Watchdog/ltmain.sh (1.10): Updated from Libtool
-	  1.5.12.
-
-2005-02-08 Tuesday 12:01  Abramo Bagnara
-
-	* tests/ppl_test.hh (1.17): Fixed use of native types.
-
-2005-02-08 Tuesday 11:49  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh (1.18), src/Checked_Number.inlines.hh
-	  (1.26), tests/ppl_test.hh (1.16): Allow rounding direction
-	  save/restore for both Checked_Number and native types.
-
-2005-02-08 Tuesday 11:10  Abramo Bagnara
-
-	* src/: checked.inlines.hh (1.13), checked_int.inlines.hh (1.23),
-	  checked_mpz.inlines.hh (1.16): Pushed rounding to a lowest level.
-
-2005-02-03 Thursday 10:02  Abramo Bagnara
-
-	* tests/ppl_test.hh (1.15): Added inline keyword.
-
-2005-01-31 Monday 22:33  Abramo Bagnara
-
-	* tests/ppl_test.hh (1.14): Fixed two typos.
-
-2005-01-31 Monday 22:30  Abramo Bagnara
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.42), interfaces/C/ppl_c.cc (1.130),
-	  interfaces/Prolog/ppl_prolog.icc (1.154),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.31),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.27),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.74),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.98),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.65),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.90),
-	  src/Checked_Number.defs.hh (1.17), src/Checked_Number.inlines.hh
-	  (1.25), src/E_NIT.inlines.hh (1.8), src/E_Rational.inlines.hh
-	  (1.5), src/Interval.inlines.hh (1.20),
-	  src/Polyhedron_nonpublic.cc (1.45), src/Rounding.defs.hh (1.9),
-	  src/Rounding.inlines.hh (1.7), src/checked.defs.hh (1.14),
-	  src/checked.inlines.hh (1.12), src/checked_ext.defs.hh (1.6),
-	  src/checked_ext.inlines.hh (1.13), src/checked_float.inlines.hh
-	  (1.25), src/checked_int.inlines.hh (1.22),
-	  src/checked_mpq.inlines.hh (1.14), src/checked_mpz.inlines.hh
-	  (1.15), tests/ppl_test.hh (1.13): Better efficiency for
-	  Checked_Number.
-
-2005-01-29 Saturday 09:38  Abramo Bagnara
-
-	* src/Checked_Number.defs.hh (1.16), src/Checked_Number.inlines.hh
-	  (1.24), src/checked_ext.inlines.hh (1.12),
-	  src/checked_float.inlines.hh (1.24), tests/ppl_test.hh (1.12):
-	  More work to improve performance on extended numbers.
-
-2005-01-28 Friday 12:24  Abramo Bagnara
-
-	* src/: checked.defs.hh (1.13), checked.inlines.hh (1.11),
-	  checked_ext.inlines.hh (1.11), checked_int.inlines.hh (1.21),
-	  checked_mpq.inlines.hh (1.13), checked_mpz.inlines.hh (1.14):
-	  Attempt to improve performance of extended numbers.
-
-2005-01-28 Friday 11:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.9): Removed ascii_dump_load4 from
-	  XFAIL_WITH_INT8_A.
-
-2005-01-27 Thursday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/E_NIT.inlines.hh (1.7): Fixed exact_neg(E_NIT<T>& to, const
-	  E_NIT<T>& x).
-
-2005-01-27 Thursday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: E_NIT.defs.hh (1.4), E_NIT.inlines.hh (1.6): Added
-	  constructor and assignment operator from Plus_Infinity.
-
-2005-01-27 Thursday 20:25  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.15), Checked_Number.inlines.hh
-	  (1.23): Added constructors for special values. Added functors to
-	  return special values.
-
-2005-01-27 Thursday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/E_NIT.inlines.hh (1.5), tests/ppl_test.hh (1.11): Temporarily
-	  added a modified interface for E_NIT.
-
-2005-01-27 Thursday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.103): Include the declaration and definition
-	  of E_NIT and E_Rational into ppl.hh.
-
-2005-01-27 Thursday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.8), memory2.cc (1.7): Now
-	  memory2 fails only if a memory leak is detected.  Check for
-	  possible memory leaks caused by any type of exception.
-
-2005-01-27 Thursday 00:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.7), memory2.cc (1.6): Added
-	  much more serious tests to guard against the introduction of
-	  memory leaks.
-
-2005-01-26 Wednesday 19:13  Abramo Bagnara
-
-	* src/: Checked_Number.inlines.hh (1.22), checked_ext.inlines.hh
-	  (1.10), checked_mpq.inlines.hh (1.12), checked_mpz.inlines.hh
-	  (1.13): Bug fixes for checked numbers I/O.
-
-2005-01-26 Wednesday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory2.cc (1.5): Corrected and generalized.
-
-2005-01-26 Wednesday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/ascii_dump_load1.cc (1.3): Be noisy so as to show
-	  that things are not working as expected.
-
-2005-01-26 Wednesday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (1.5): Use the function is_nonnegative()
-	  instead of the method is_nonnegative().
-
-2005-01-26 Wednesday 15:45  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.14), Checked_Number.inlines.hh
-	  (1.21), checked.defs.hh (1.12), checked.inlines.hh (1.10),
-	  checked_ext.defs.hh (1.5), checked_ext.inlines.hh (1.9),
-	  checked_float.inlines.hh (1.23), checked_int.inlines.hh (1.20),
-	  checked_mpq.inlines.hh (1.11), checked_mpz.inlines.hh (1.12): New
-	  string based I/O implementation for checked numbers.
-
-2005-01-26 Wednesday 09:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.10): Added void
-	  negate_round_down(Checked_Number<T, Policy>& to, const
-	  Checked_Number<T, Policy>& x).
-
-2005-01-26 Wednesday 09:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.9): Added bool is_nonnegative(const
-	  Checked_Number<T, Policy>&).
-
-2005-01-26 Wednesday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.18): Added void print_constraints(const
-	  BD_Shape<T>&, const string&, ostream&).
-
-2005-01-25 Tuesday 23:23  Abramo Bagnara
-
-	* tests/ppl_test.hh (1.8): Fixed compilation for mpz coefficients.
-
-2005-01-25 Tuesday 23:22  Abramo Bagnara
-
-	* src/Makefile.am (1.102): Checked_* include files are now needed.
-
-2005-01-25 Tuesday 18:25  Abramo Bagnara
-
-	* src/BD_Shape.inlines.hh (1.4), src/DB_Row.inlines.hh (1.5),
-	  tests/ppl_test.hh (1.7), tests/BD_Shape/maxspacedim.cc (1.3): Use
-	  new templatic implementation for extended numbers.
-
-2005-01-25 Tuesday 18:22  Abramo Bagnara
-
-	* src/checked_ext.inlines.hh (1.8): Fixed +inf text representation.
-
-2005-01-25 Tuesday 18:22  Abramo Bagnara
-
-	* src/: Rounding.defs.hh (1.8), Rounding.inlines.hh (1.6): Faster
-	  versions for use inside library.
-
-2005-01-25 Tuesday 18:21  Abramo Bagnara
-
-	* src/: Checked_Number.cc (1.3), Checked_Number.defs.hh (1.13),
-	  Checked_Number.inlines.hh (1.20): Better support for extended
-	  numbers.
-
-2005-01-25 Tuesday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory2.cc (1.4): Be quiet.
-
-2005-01-24 Monday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.22): Temporary workaround to
-	  allow compilation on systems not providing fma(), fmaf() or
-	  fmal().
-
-2005-01-24 Monday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.13): No longer use GLPK's obsolete
-	  functions lpx_get_obj_c0() and lpx_get_col_coef().
-
-2005-01-23 Sunday 22:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.141), demos/ppl_lpsol/examples/README (1.1): Added a
-	  README file in demos/ppl_lpsol/examples explaining the origin of
-	  the examples there contained.
-
-2005-01-23 Sunday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.157): Check for the availability of fma(), fmaf()
-	  and fmal() in C++.
-
-2005-01-13 Thursday 15:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.151): Mentioned the correction of the exception-safety
-	  bug.
-
-2005-01-13 Thursday 14:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.265): Typo fixed.
-
-2005-01-13 Thursday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: DB_Matrix.inlines.hh (1.4), DB_Row.defs.hh (1.4),
-	  DB_Row.inlines.hh (1.4), DB_Row.types.hh (1.4): Corrected an
-	  exception-safety bug in class DB_Row. Methods resize_no_copy()
-	  and grow_no_copy() have been replaced by method
-	  expand_within_capacity().
-
-2005-01-13 Thursday 14:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.inlines.hh (1.59): For clarity, explicitly invoke
-	  Row_Impl_Handler constructor in the Row constructors.
-
-2005-01-13 Thursday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.defs.hh (1.91): Documentation fixed: `impl' is a member,
-	  not a method.
-
-2005-01-13 Thursday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.264): Fixed a couple of sentences.
-
-2005-01-13 Thursday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.140): One more item added.
-
-2005-01-13 Thursday 14:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.139): Two items added.
-
-2005-01-13 Thursday 09:26  Abramo Bagnara
-
-	* src/Rounding.defs.hh (1.7): Removed old declarations.
-
-2005-01-12 Wednesday 22:05  Abramo Bagnara
-
-	* src/Rounding.defs.hh (1.6): save & restore are public methods.
-
-2005-01-12 Wednesday 18:37  Abramo Bagnara
-
-	* src/: E_NIT.inlines.hh (1.4), E_Rational.inlines.hh (1.4),
-	  Interval.inlines.hh (1.19), Polyhedron_nonpublic.cc (1.44): Use
-	  constructor implicitly.
-
-2005-01-12 Wednesday 18:36  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.12), Checked_Number.inlines.hh
-	  (1.19), Rounding.defs.hh (1.5), Rounding.inlines.hh (1.5): Given
-	  access to rounding via Checked_Number class.
-
-2005-01-12 Wednesday 14:39  Abramo Bagnara
-
-	* src/: Checked_Number.cc (1.2), Checked_Number.defs.hh (1.11),
-	  Checked_Number.inlines.hh (1.18), Checked_Number.types.hh (1.5),
-	  Makefile.am (1.101): Moved result handler in policy.
-
-2005-01-12 Wednesday 10:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/memory2.cc (1.3): The memory leak should be
-	  fixed.
-
-2005-01-12 Wednesday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Row.cc (1.79), Row.inlines.hh (1.58): Fixed a couple of
-	  stupid typos.
-
-2005-01-11 Tuesday 17:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.150), src/Row.cc (1.78), src/Row.defs.hh (1.90),
-	  src/Row.inlines.hh (1.57), src/Row.types.hh (1.9): Class Row now
-	  provately inherits from Row_Impl_Handler instead of having a
-	  member of class Row::Impl_Handler. Corrected the handling of the
-	  capacity_ member of Row_Impl_Handler, so as to have a clean make
-	  check when enabling more assertions. The handling of Row
-	  implementation made a bit more elegant by introducing the
-	  function allocate().
-
-2005-01-11 Tuesday 08:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/polypowerset1.cc (1.1): Added tests to guard
-	  against reintroduction of recently corrected errors in
-	  Polyhedra_Powerset constructors.
-
-2005-01-10 Monday 10:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.cc (1.77), src/Row.defs.hh (1.89), src/Row.inlines.hh
-	  (1.56), tests/Polyhedron/Makefile.am (1.6): Provided a quick fix
-	  for the potential memory leak error.
-
-2005-01-07 Friday 23:39  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.10), Checked_Number.inlines.hh
-	  (1.17), Makefile.am (1.100), Rounding.inlines.hh (1.4),
-	  checked.defs.hh (1.11), checked.inlines.hh (1.9),
-	  checked_ext.inlines.hh (1.7): Allows Checked_Number to handle
-	  extended values via appropriate policy.
-
-2005-01-06 Thursday 21:28  Abramo Bagnara
-
-	* src/: Float.defs.hh (1.4), checked_int.inlines.hh (1.19),
-	  checked_float.inlines.hh (1.21): White spaces fix.
-
-2005-01-06 Thursday 21:27  Abramo Bagnara
-
-	* src/: Extended_Number.defs.hh (1.5), Extended_Number.inlines.hh
-	  (1.7), Extended_Number.types.hh (1.4): Removed files.
-
-2005-01-02 Sunday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory2.cc (1.2): Force failure everywhere until
-	  the bug is fixed.
-
-2005-01-01 Saturday 23:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/: Makefile.am (1.5), memory2.cc (1.1): Another
-	  program to test the allocation error recovery facility of the
-	  library.
-
-2005-01-01 Saturday 23:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/memory1.cc (1.4): Comment added to help decipher
-	  a #else.
-
-2005-01-01 Saturday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.8): The first_phase() function now returns a
-	  Simplex_Status().
-
-2005-01-01 Saturday 14:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.129): Fixed
-	  ppl_Constraint_System_minimize() (thanks to Andrea Cimino).
-
-2005-01-01 Saturday 12:24  Abramo Bagnara
-
-	* src/: checked.inlines.hh (1.8), checked_float.inlines.hh (1.20),
-	  checked_int.inlines.hh (1.18), checked_mpq.inlines.hh (1.10),
-	  checked_mpz.inlines.hh (1.11): Renamed mod to more appropriate
-	  rem.
-
-2005-01-01 Saturday 12:10  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh (1.9), Checked_Number.inlines.hh
-	  (1.16), Extended_Number.defs.hh (1.4), Extended_Number.inlines.hh
-	  (1.6), checked.defs.hh (1.10), checked.inlines.hh (1.7),
-	  checked_ext.defs.hh (1.4), checked_ext.inlines.hh (1.6),
-	  checked_float.inlines.hh (1.19), checked_int.inlines.hh (1.17),
-	  checked_mpq.inlines.hh (1.9), checked_mpz.inlines.hh (1.10):
-	  Renamed mod to more appropriate rem.
-
-2005-01-01 Saturday 00:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.28), README (1.35), README.configure (1.13),
-	  configure.ac (1.156), Watchdog/Doubly_Linked_Object.defs.hh
-	  (1.2), Watchdog/Doubly_Linked_Object.inlines.hh (1.2),
-	  Watchdog/Doubly_Linked_Object.types.hh (1.2),
-	  Watchdog/EList.defs.hh (1.4), Watchdog/EList.inlines.hh (1.3),
-	  Watchdog/EList.types.hh (1.2), Watchdog/EList_Iterator.defs.hh
-	  (1.2), Watchdog/EList_Iterator.inlines.hh (1.3),
-	  Watchdog/EList_Iterator.types.hh (1.2), Watchdog/Handler.defs.hh
-	  (1.3), Watchdog/Handler.inlines.hh (1.2),
-	  Watchdog/Handler.types.hh (1.2), Watchdog/Makefile.am (1.18),
-	  Watchdog/Pending_Element.cc (1.2),
-	  Watchdog/Pending_Element.defs.hh (1.2),
-	  Watchdog/Pending_Element.inlines.hh (1.2),
-	  Watchdog/Pending_Element.types.hh (1.2), Watchdog/Pending_List.cc
-	  (1.2), Watchdog/Pending_List.defs.hh (1.2),
-	  Watchdog/Pending_List.inlines.hh (1.2),
-	  Watchdog/Pending_List.types.hh (1.2), Watchdog/README (1.10),
-	  Watchdog/Time.cc (1.2), Watchdog/Time.defs.hh (1.2),
-	  Watchdog/Time.inlines.hh (1.2), Watchdog/Time.types.hh (1.2),
-	  Watchdog/Watchdog.cc (1.19), Watchdog/Watchdog.defs.hh (1.15),
-	  Watchdog/Watchdog.inlines.hh (1.12), Watchdog/Watchdog.types.hh
-	  (1.6), Watchdog/configure.ac (1.25), Watchdog/pwl_header.top
-	  (1.6), demos/Makefile.am (1.6), demos/ppl_lcdd/Makefile.am
-	  (1.19), demos/ppl_lcdd/ppl_lcdd.cc (1.41),
-	  demos/ppl_lcdd/examples/Makefile.am (1.4),
-	  demos/ppl_lpsol/Makefile.am (1.12), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.12), demos/ppl_lpsol/examples/Makefile.am (1.3),
-	  doc/Makefile.am (1.32), doc/README.doc (1.2), doc/definitions.dox
-	  (1.168), doc/devref.tex (1.17), doc/ppl.sty (1.18), doc/user.tex
-	  (1.18), interfaces/Makefile.am (1.10), interfaces/C/Makefile.am
-	  (1.18), interfaces/C/ppl_c.cc (1.128), interfaces/C/ppl_c.h.in
-	  (1.46), interfaces/OCaml/Makefile.am (1.9),
-	  interfaces/Prolog/Makefile.am (1.27),
-	  interfaces/Prolog/Prolog_interface.dox (1.126),
-	  interfaces/Prolog/exceptions.hh (1.15),
-	  interfaces/Prolog/ppl_prolog.icc (1.153),
-	  interfaces/Prolog/track_allocation.hh (1.16),
-	  interfaces/Prolog/Ciao/Makefile.am (1.40),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.14),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.10),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.10),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.30),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.78),
-	  interfaces/Prolog/GNU/Makefile.am (1.44),
-	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.4),
-	  interfaces/Prolog/GNU/gp_clpq.pl (1.8),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.50),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.26),
-	  interfaces/Prolog/SICStus/Makefile.am (1.51),
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.24),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.73),
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.4),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.5),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.10),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.11),
-	  interfaces/Prolog/SICStus/sp_pl_check.pl (1.2),
-	  interfaces/Prolog/SWI/Makefile.am (1.45),
-	  interfaces/Prolog/SWI/pl_clpq.cc (1.8),
-	  interfaces/Prolog/SWI/pl_clpq.pl (1.7),
-	  interfaces/Prolog/SWI/ppl_pl.cc (1.8),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.97),
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.4),
-	  interfaces/Prolog/SWI/swi_pl_check.pl (1.3),
-	  interfaces/Prolog/XSB/Makefile.am (1.32),
-	  interfaces/Prolog/XSB/expected2_int16 (1.4),
-	  interfaces/Prolog/XSB/expected2_int16_a (1.3),
-	  interfaces/Prolog/XSB/expected2_int32 (1.3),
-	  interfaces/Prolog/XSB/expected2_int32_a (1.2),
-	  interfaces/Prolog/XSB/expected2_int64 (1.2),
-	  interfaces/Prolog/XSB/expected2_int64_a (1.2),
-	  interfaces/Prolog/XSB/expected2_int8 (1.2),
-	  interfaces/Prolog/XSB/expected2_int8_a (1.2),
-	  interfaces/Prolog/XSB/expected2_mpz (1.2),
-	  interfaces/Prolog/XSB/expected2_mpz_a (1.2),
-	  interfaces/Prolog/XSB/expected_int16 (1.2),
-	  interfaces/Prolog/XSB/expected_int16_a (1.2),
-	  interfaces/Prolog/XSB/expected_int32 (1.2),
-	  interfaces/Prolog/XSB/expected_int32_a (1.2),
-	  interfaces/Prolog/XSB/expected_int64 (1.2),
-	  interfaces/Prolog/XSB/expected_int64_a (1.2),
-	  interfaces/Prolog/XSB/expected_int8 (1.3),
-	  interfaces/Prolog/XSB/expected_int8_a (1.3),
-	  interfaces/Prolog/XSB/expected_mpz (1.2),
-	  interfaces/Prolog/XSB/expected_mpz_a (1.2),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.37),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.64),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.12),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.10),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.14),
-	  interfaces/Prolog/YAP/Makefile.am (1.35),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.89),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.8),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.9),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.5),
-	  interfaces/Prolog/YAP/yap_pl_check.pl (1.7),
-	  interfaces/Prolog/tests/Makefile.am (1.3),
-	  interfaces/Prolog/tests/clpq.pl (1.5),
-	  interfaces/Prolog/tests/clpq2.pl (1.5),
-	  interfaces/Prolog/tests/expected2_int16 (1.4),
-	  interfaces/Prolog/tests/expected2_int16_a (1.3),
-	  interfaces/Prolog/tests/expected2_int32 (1.3),
-	  interfaces/Prolog/tests/expected2_int32_a (1.2),
-	  interfaces/Prolog/tests/expected2_int64 (1.2),
-	  interfaces/Prolog/tests/expected2_int64_a (1.2),
-	  interfaces/Prolog/tests/expected2_int8 (1.2),
-	  interfaces/Prolog/tests/expected2_int8_a (1.2),
-	  interfaces/Prolog/tests/expected2_mpz (1.2),
-	  interfaces/Prolog/tests/expected2_mpz_a (1.2),
-	  interfaces/Prolog/tests/expected_int16 (1.2),
-	  interfaces/Prolog/tests/expected_int16_a (1.2),
-	  interfaces/Prolog/tests/expected_int32 (1.2),
-	  interfaces/Prolog/tests/expected_int32_a (1.2),
-	  interfaces/Prolog/tests/expected_int64 (1.2),
-	  interfaces/Prolog/tests/expected_int64_a (1.2),
-	  interfaces/Prolog/tests/expected_int8 (1.3),
-	  interfaces/Prolog/tests/expected_int8_a (1.3),
-	  interfaces/Prolog/tests/expected_mpz (1.2),
-	  interfaces/Prolog/tests/expected_mpz_a (1.2),
-	  interfaces/Prolog/tests/pl_check.pl (1.7), m4/Makefile.am (1.12),
-	  m4/ac_check_gmp.m4 (1.20), m4/ac_cxx_attribute_weak.m4 (1.4),
-	  m4/ac_cxx_double_is_iec_559.m4 (1.2),
-	  m4/ac_cxx_flexible_arrays.m4 (1.9), m4/ac_cxx_float_is_iec_559.m4
-	  (1.2), m4/ac_cxx_long_double.m4 (1.3),
-	  m4/ac_cxx_long_double_is_iec_559.m4 (1.2), m4/ac_cxx_long_long.m4
-	  (1.2), src/Ask_Tell.defs.hh (1.4), src/Ask_Tell.inlines.hh (1.4),
-	  src/Ask_Tell.types.hh (1.2), src/BDS_Status.idefs.hh (1.3),
-	  src/BDS_Status.inlines.hh (1.3), src/BD_Shape.defs.hh (1.4),
-	  src/BD_Shape.inlines.hh (1.3), src/BD_Shape.types.hh (1.3),
-	  src/BHRZ03_Certificate.cc (1.7), src/BHRZ03_Certificate.defs.hh
-	  (1.9), src/BHRZ03_Certificate.inlines.hh (1.4),
-	  src/BHRZ03_Certificate.types.hh (1.2), src/Bounding_Box.cc (1.3),
-	  src/Bounding_Box.defs.hh (1.3), src/Bounding_Box.inlines.hh
-	  (1.3), src/Bounding_Box.types.hh (1.2), src/C_Polyhedron.cc
-	  (1.14), src/C_Polyhedron.defs.hh (1.31),
-	  src/C_Polyhedron.inlines.hh (1.24), src/C_Polyhedron.types.hh
-	  (1.8), src/Checked_Number.defs.hh (1.8),
-	  src/Checked_Number.inlines.hh (1.15), src/Checked_Number.types.hh
-	  (1.4), src/Coefficient.cc (1.2), src/Coefficient.defs.hh (1.2),
-	  src/Coefficient.inlines.hh (1.2), src/Coefficient.types.hh (1.6),
-	  src/Coefficient_traits_template.hh (1.3), src/Constraint.cc
-	  (1.47), src/Constraint.defs.hh (1.102), src/Constraint.inlines.hh
-	  (1.59), src/Constraint.types.hh (1.8), src/Constraint_System.cc
-	  (1.5), src/Constraint_System.defs.hh (1.8),
-	  src/Constraint_System.inlines.hh (1.2),
-	  src/Constraint_System.types.hh (1.2), src/DB_Matrix.defs.hh
-	  (1.3), src/DB_Matrix.inlines.hh (1.3), src/DB_Matrix.types.hh
-	  (1.3), src/DB_Row.defs.hh (1.3), src/DB_Row.inlines.hh (1.3),
-	  src/DB_Row.types.hh (1.3), src/Determinate.defs.hh (1.53),
-	  src/Determinate.inlines.hh (1.46), src/Determinate.types.hh
-	  (1.6), src/E_NIT.defs.hh (1.3), src/E_NIT.inlines.hh (1.3),
-	  src/E_NIT.types.hh (1.3), src/E_Rational.defs.hh (1.3),
-	  src/E_Rational.inlines.hh (1.3), src/E_Rational.types.hh (1.3),
-	  src/Extended_Number.defs.hh (1.3), src/Extended_Number.inlines.hh
-	  (1.5), src/Extended_Number.types.hh (1.3), src/Float.defs.hh
-	  (1.3), src/Float.inlines.hh (1.3), src/GMP_Integer.defs.hh (1.5),
-	  src/GMP_Integer.inlines.hh (1.4), src/GMP_Integer.types.hh (1.7),
-	  src/Generator.cc (1.58), src/Generator.defs.hh (1.101),
-	  src/Generator.inlines.hh (1.54), src/Generator.types.hh (1.8),
-	  src/Generator_System.cc (1.4), src/Generator_System.defs.hh
-	  (1.7), src/Generator_System.inlines.hh (1.2),
-	  src/Generator_System.types.hh (1.2), src/H79_Certificate.cc
-	  (1.6), src/H79_Certificate.defs.hh (1.9),
-	  src/H79_Certificate.inlines.hh (1.4),
-	  src/H79_Certificate.types.hh (1.2), src/Init.cc (1.15),
-	  src/Init.defs.hh (1.11), src/Init.types.hh (1.7), src/Interval.cc
-	  (1.10), src/Interval.defs.hh (1.21), src/Interval.inlines.hh
-	  (1.18), src/Interval.types.hh (1.8), src/Limits.hh (1.5),
-	  src/Linear_Expression.cc (1.4), src/Linear_Expression.defs.hh
-	  (1.8), src/Linear_Expression.inlines.hh (1.4),
-	  src/Linear_Expression.types.hh (1.2), src/Linear_Row.cc (1.5),
-	  src/Linear_Row.defs.hh (1.7), src/Linear_Row.inlines.hh (1.7),
-	  src/Linear_Row.types.hh (1.2), src/Linear_System.cc (1.14),
-	  src/Linear_System.defs.hh (1.12), src/Linear_System.inlines.hh
-	  (1.12), src/Linear_System.types.hh (1.2), src/Makefile.am (1.99),
-	  src/Matrix.cc (1.80), src/Matrix.defs.hh (1.68),
-	  src/Matrix.inlines.hh (1.43), src/Matrix.types.hh (1.8),
-	  src/NNC_Polyhedron.cc (1.13), src/NNC_Polyhedron.defs.hh (1.33),
-	  src/NNC_Polyhedron.inlines.hh (1.27), src/NNC_Polyhedron.types.hh
-	  (1.8), src/Native_Integer.defs.hh (1.9),
-	  src/Native_Integer.inlines.hh (1.9), src/Native_Integer.types.hh
-	  (1.7), src/Numeric_Format.defs.hh (1.3), src/Ph_Status.cc (1.6),
-	  src/Ph_Status.idefs.hh (1.7), src/Ph_Status.inlines.hh (1.5),
-	  src/Poly_Con_Relation.cc (1.9), src/Poly_Con_Relation.defs.hh
-	  (1.25), src/Poly_Con_Relation.inlines.hh (1.12),
-	  src/Poly_Con_Relation.types.hh (1.7), src/Poly_Gen_Relation.cc
-	  (1.9), src/Poly_Gen_Relation.defs.hh (1.23),
-	  src/Poly_Gen_Relation.inlines.hh (1.12),
-	  src/Poly_Gen_Relation.types.hh (1.7),
-	  src/Polyhedra_Powerset.defs.hh (1.14),
-	  src/Polyhedra_Powerset.inlines.hh (1.17),
-	  src/Polyhedra_Powerset.types.hh (1.2), src/Polyhedron.defs.hh
-	  (1.263), src/Polyhedron.inlines.hh (1.109),
-	  src/Polyhedron.types.hh (1.14), src/Polyhedron_chdims.cc (1.27),
-	  src/Polyhedron_nonpublic.cc (1.43), src/Polyhedron_public.cc
-	  (1.48), src/Polyhedron_widenings.cc (1.40), src/Powerset.defs.hh
-	  (1.10), src/Powerset.inlines.hh (1.9), src/Powerset.types.hh
-	  (1.2), src/Ptr_Iterator.defs.hh (1.3),
-	  src/Ptr_Iterator.inlines.hh (1.3), src/Ptr_Iterator.types.hh
-	  (1.3), src/Result.defs.hh (1.7), src/Result.inlines.hh (1.5),
-	  src/Rounding.defs.hh (1.4), src/Rounding.inlines.hh (1.3),
-	  src/Rounding.types.hh (1.3), src/Row.cc (1.76), src/Row.defs.hh
-	  (1.88), src/Row.inlines.hh (1.55), src/Row.types.hh (1.8),
-	  src/Saturation_Matrix.cc (1.2), src/Saturation_Matrix.defs.hh
-	  (1.2), src/Saturation_Matrix.inlines.hh (1.3),
-	  src/Saturation_Matrix.types.hh (1.2), src/Saturation_Row.cc
-	  (1.4), src/Saturation_Row.defs.hh (1.3),
-	  src/Saturation_Row.inlines.hh (1.3), src/Saturation_Row.types.hh
-	  (1.2), src/Topology.hh (1.10), src/Variable.cc (1.18),
-	  src/Variable.defs.hh (1.45), src/Variable.inlines.hh (1.21),
-	  src/Variable.types.hh (1.8), src/Widening_Function.defs.hh
-	  (1.10), src/Widening_Function.inlines.hh (1.9),
-	  src/Widening_Function.types.hh (1.2), src/algorithms.hh (1.39),
-	  src/checked.defs.hh (1.9), src/checked.inlines.hh (1.6),
-	  src/checked_ext.defs.hh (1.3), src/checked_ext.inlines.hh (1.5),
-	  src/checked_float.inlines.hh (1.18), src/checked_int.inlines.hh
-	  (1.16), src/checked_mpq.inlines.hh (1.8),
-	  src/checked_mpz.inlines.hh (1.9), src/compiler.hh (1.3),
-	  src/conversion.cc (1.66), src/float.types.hh (1.7),
-	  src/fpu-c99.inlines.hh (1.3), src/fpu-ia32.inlines.hh (1.3),
-	  src/fpu.defs.hh (1.3), src/globals.cc (1.20), src/globals.defs.hh
-	  (1.16), src/globals.inlines.hh (1.8), src/initializer.hh (1.10),
-	  src/max_space_dimension.hh (1.5), src/minimize.cc (1.40),
-	  src/ppl_header.top (1.8), src/simplex.cc (1.7), src/simplify.cc
-	  (1.42), src/swapping_sort.icc (1.8), src/version.cc (1.5),
-	  src/version.hh.in (1.10), tests/BBox.cc (1.8), tests/BBox.hh
-	  (1.6), tests/Makefile.am (1.242), tests/PFunction.cc (1.4),
-	  tests/PFunction.hh (1.4), tests/ehandlers.cc (1.6),
-	  tests/ehandlers.hh (1.10), tests/files.cc (1.6), tests/files.hh
-	  (1.6), tests/ppl_test.hh (1.6), tests/print.cc (1.14),
-	  tests/print.hh (1.17), tests/BD_Shape/relations1.cc (1.3),
-	  tests/BD_Shape/relations2.cc (1.3), tests/BD_Shape/relations3.cc
-	  (1.3), tests/BD_Shape/relations4.cc (1.3),
-	  tests/BD_Shape/relations5.cc (1.3),
-	  tests/Polyhedron/CbecomesNNC1.cc (1.3),
-	  tests/Polyhedron/Makefile.am (1.4),
-	  tests/Polyhedron/NNCbecomesC1.cc (1.3),
-	  tests/Polyhedron/NNCminimize1.cc (1.3),
-	  tests/Polyhedron/NNCminimize2.cc (1.3),
-	  tests/Polyhedron/NNCminimize3.cc (1.3),
-	  tests/Polyhedron/NNCminimize4.cc (1.3),
-	  tests/Polyhedron/NNCminimize5.cc (1.3),
-	  tests/Polyhedron/NNCminimize6.cc (1.3), tests/Polyhedron/README
-	  (1.3), tests/Polyhedron/addconstraint1.cc (1.3),
-	  tests/Polyhedron/addconstraint2.cc (1.3),
-	  tests/Polyhedron/addconstraint3.cc (1.3),
-	  tests/Polyhedron/addconstraints1.cc (1.3),
-	  tests/Polyhedron/addconstraints10.cc (1.3),
-	  tests/Polyhedron/addconstraints11.cc (1.3),
-	  tests/Polyhedron/addconstraints12.cc (1.3),
-	  tests/Polyhedron/addconstraints13.cc (1.3),
-	  tests/Polyhedron/addconstraints2.cc (1.3),
-	  tests/Polyhedron/addconstraints3.cc (1.3),
-	  tests/Polyhedron/addconstraints4.cc (1.3),
-	  tests/Polyhedron/addconstraints5.cc (1.3),
-	  tests/Polyhedron/addconstraints6.cc (1.3),
-	  tests/Polyhedron/addconstraints7.cc (1.3),
-	  tests/Polyhedron/addconstraints8.cc (1.3),
-	  tests/Polyhedron/addconstraints9.cc (1.3),
-	  tests/Polyhedron/addgenerator1.cc (1.3),
-	  tests/Polyhedron/addgenerator2.cc (1.3),
-	  tests/Polyhedron/addgenerator3.cc (1.3),
-	  tests/Polyhedron/addgenerator4.cc (1.3),
-	  tests/Polyhedron/addgenerator5.cc (1.3),
-	  tests/Polyhedron/addgenerators1.cc (1.3),
-	  tests/Polyhedron/addgenerators10.cc (1.3),
-	  tests/Polyhedron/addgenerators11.cc (1.3),
-	  tests/Polyhedron/addgenerators12.cc (1.3),
-	  tests/Polyhedron/addgenerators13.cc (1.3),
-	  tests/Polyhedron/addgenerators2.cc (1.3),
-	  tests/Polyhedron/addgenerators3.cc (1.3),
-	  tests/Polyhedron/addgenerators4.cc (1.3),
-	  tests/Polyhedron/addgenerators5.cc (1.3),
-	  tests/Polyhedron/addgenerators6.cc (1.3),
-	  tests/Polyhedron/addgenerators7.cc (1.3),
-	  tests/Polyhedron/addgenerators8.cc (1.3),
-	  tests/Polyhedron/addgenerators9.cc (1.3),
-	  tests/Polyhedron/addspacedims1.cc (1.3),
-	  tests/Polyhedron/addspacedims10.cc (1.3),
-	  tests/Polyhedron/addspacedims11.cc (1.3),
-	  tests/Polyhedron/addspacedims12.cc (1.3),
-	  tests/Polyhedron/addspacedims13.cc (1.3),
-	  tests/Polyhedron/addspacedims2.cc (1.3),
-	  tests/Polyhedron/addspacedims3.cc (1.3),
-	  tests/Polyhedron/addspacedims4.cc (1.3),
-	  tests/Polyhedron/addspacedims5.cc (1.3),
-	  tests/Polyhedron/addspacedims6.cc (1.3),
-	  tests/Polyhedron/addspacedims7.cc (1.3),
-	  tests/Polyhedron/addspacedims8.cc (1.3),
-	  tests/Polyhedron/addspacedims9.cc (1.3),
-	  tests/Polyhedron/affineimage1.cc (1.3),
-	  tests/Polyhedron/affineimage2.cc (1.3),
-	  tests/Polyhedron/affineimage3.cc (1.3),
-	  tests/Polyhedron/affineimage4.cc (1.3),
-	  tests/Polyhedron/affineimage5.cc (1.3),
-	  tests/Polyhedron/affineimage6.cc (1.3),
-	  tests/Polyhedron/affineimage7.cc (1.3),
-	  tests/Polyhedron/affineimage8.cc (1.3),
-	  tests/Polyhedron/affineimage9.cc (1.3),
-	  tests/Polyhedron/affinepreimage1.cc (1.3),
-	  tests/Polyhedron/affinepreimage10.cc (1.3),
-	  tests/Polyhedron/affinepreimage2.cc (1.3),
-	  tests/Polyhedron/affinepreimage3.cc (1.3),
-	  tests/Polyhedron/affinepreimage4.cc (1.3),
-	  tests/Polyhedron/affinepreimage5.cc (1.3),
-	  tests/Polyhedron/affinepreimage6.cc (1.3),
-	  tests/Polyhedron/affinepreimage7.cc (1.3),
-	  tests/Polyhedron/affinepreimage8.cc (1.3),
-	  tests/Polyhedron/affinepreimage9.cc (1.3),
-	  tests/Polyhedron/affinetrans.cc (1.3),
-	  tests/Polyhedron/append1.cc (1.3), tests/Polyhedron/append2.cc
-	  (1.3), tests/Polyhedron/ascii_dump_load1.cc (1.3),
-	  tests/Polyhedron/ascii_dump_load2.cc (1.3),
-	  tests/Polyhedron/ascii_dump_load3.cc (1.3),
-	  tests/Polyhedron/ascii_dump_load4.cc (1.3),
-	  tests/Polyhedron/ascii_dump_load5.cc (1.3),
-	  tests/Polyhedron/ascii_dump_load6.cc (1.3),
-	  tests/Polyhedron/ascii_dump_load7.cc (1.3),
-	  tests/Polyhedron/bgp99extrapolation1.cc (1.3),
-	  tests/Polyhedron/bgp99extrapolation2.cc (1.3),
-	  tests/Polyhedron/bhrz03widening1.cc (1.3),
-	  tests/Polyhedron/bhrz03widening10.cc (1.3),
-	  tests/Polyhedron/bhrz03widening11.cc (1.3),
-	  tests/Polyhedron/bhrz03widening12.cc (1.3),
-	  tests/Polyhedron/bhrz03widening13.cc (1.3),
-	  tests/Polyhedron/bhrz03widening14.cc (1.3),
-	  tests/Polyhedron/bhrz03widening15.cc (1.3),
-	  tests/Polyhedron/bhrz03widening16.cc (1.3),
-	  tests/Polyhedron/bhrz03widening17.cc (1.3),
-	  tests/Polyhedron/bhrz03widening18.cc (1.3),
-	  tests/Polyhedron/bhrz03widening19.cc (1.3),
-	  tests/Polyhedron/bhrz03widening2.cc (1.3),
-	  tests/Polyhedron/bhrz03widening3.cc (1.3),
-	  tests/Polyhedron/bhrz03widening4.cc (1.3),
-	  tests/Polyhedron/bhrz03widening5.cc (1.3),
-	  tests/Polyhedron/bhrz03widening6.cc (1.3),
-	  tests/Polyhedron/bhrz03widening7.cc (1.3),
-	  tests/Polyhedron/bhrz03widening8.cc (1.3),
-	  tests/Polyhedron/bhrz03widening9.cc (1.3),
-	  tests/Polyhedron/bhz03widening1.cc (1.3),
-	  tests/Polyhedron/bhz03widening2.cc (1.3),
-	  tests/Polyhedron/bhz03widening3.cc (1.3),
-	  tests/Polyhedron/bhz03widening4.cc (1.3),
-	  tests/Polyhedron/bhz03widening5.cc (1.3),
-	  tests/Polyhedron/bhz03widening6.cc (1.3),
-	  tests/Polyhedron/bounded1.cc (1.3),
-	  tests/Polyhedron/boundedh79extrapolation1.cc (1.3),
-	  tests/Polyhedron/boundingbox1.cc (1.3),
-	  tests/Polyhedron/boundingbox2.cc (1.3),
-	  tests/Polyhedron/boundingbox3.cc (1.3),
-	  tests/Polyhedron/boundingbox4.cc (1.3),
-	  tests/Polyhedron/boundingbox5.cc (1.3),
-	  tests/Polyhedron/bounds1.cc (1.3), tests/Polyhedron/bounds2.cc
-	  (1.3), tests/Polyhedron/concatenate1.cc (1.3),
-	  tests/Polyhedron/concatenate2.cc (1.3),
-	  tests/Polyhedron/concatenate3.cc (1.3),
-	  tests/Polyhedron/concatenate4.cc (1.3),
-	  tests/Polyhedron/concatenate5.cc (1.3),
-	  tests/Polyhedron/concatenate6.cc (1.3),
-	  tests/Polyhedron/constraints1.cc (1.3),
-	  tests/Polyhedron/constraints2.cc (1.3),
-	  tests/Polyhedron/constraints3.cc (1.3),
-	  tests/Polyhedron/constraints4.cc (1.3),
-	  tests/Polyhedron/contains1.cc (1.3),
-	  tests/Polyhedron/contains2.cc (1.3),
-	  tests/Polyhedron/contains3.cc (1.3),
-	  tests/Polyhedron/contains4.cc (1.3),
-	  tests/Polyhedron/contains5.cc (1.3),
-	  tests/Polyhedron/disjoint1.cc (1.3),
-	  tests/Polyhedron/disjoint2.cc (1.3),
-	  tests/Polyhedron/disjoint3.cc (1.3),
-	  tests/Polyhedron/dualhypercubes.cc (1.3),
-	  tests/Polyhedron/empty1.cc (1.3), tests/Polyhedron/equals1.cc
-	  (1.3), tests/Polyhedron/exceptions1.cc (1.3),
-	  tests/Polyhedron/exceptions2.cc (1.3),
-	  tests/Polyhedron/exceptions3.cc (1.3),
-	  tests/Polyhedron/expandspacedim1.cc (1.3),
-	  tests/Polyhedron/expandspacedim2.cc (1.3),
-	  tests/Polyhedron/foldspacedims1.cc (1.3),
-	  tests/Polyhedron/foldspacedims2.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage1.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage10.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage11.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage12.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage2.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage3.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage4.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage5.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage6.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage7.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage8.cc (1.3),
-	  tests/Polyhedron/generalizedaffineimage9.cc (1.3),
-	  tests/Polyhedron/generators1.cc (1.3),
-	  tests/Polyhedron/generators2.cc (1.3),
-	  tests/Polyhedron/generators3.cc (1.3),
-	  tests/Polyhedron/generators4.cc (1.3),
-	  tests/Polyhedron/generators5.cc (1.3),
-	  tests/Polyhedron/generators6.cc (1.3),
-	  tests/Polyhedron/geomcovers1.cc (1.3),
-	  tests/Polyhedron/h79widening1.cc (1.3),
-	  tests/Polyhedron/h79widening2.cc (1.3),
-	  tests/Polyhedron/h79widening3.cc (1.3),
-	  tests/Polyhedron/h79widening4.cc (1.3),
-	  tests/Polyhedron/h79widening5.cc (1.3),
-	  tests/Polyhedron/h79widening6.cc (1.3),
-	  tests/Polyhedron/h79widening7.cc (1.3),
-	  tests/Polyhedron/h79widening8.cc (1.3),
-	  tests/Polyhedron/intersection1.cc (1.3),
-	  tests/Polyhedron/intersection10.cc (1.3),
-	  tests/Polyhedron/intersection11.cc (1.3),
-	  tests/Polyhedron/intersection2.cc (1.3),
-	  tests/Polyhedron/intersection3.cc (1.3),
-	  tests/Polyhedron/intersection4.cc (1.3),
-	  tests/Polyhedron/intersection5.cc (1.3),
-	  tests/Polyhedron/intersection6.cc (1.3),
-	  tests/Polyhedron/intersection7.cc (1.3),
-	  tests/Polyhedron/intersection8.cc (1.3),
-	  tests/Polyhedron/intersection9.cc (1.3),
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.3),
-	  tests/Polyhedron/limitedh79extrapolation1.cc (1.3),
-	  tests/Polyhedron/limitedh79extrapolation2.cc (1.3),
-	  tests/Polyhedron/limitedh79extrapolation3.cc (1.3),
-	  tests/Polyhedron/limitedh79extrapolation4.cc (1.3),
-	  tests/Polyhedron/linearpartition1.cc (1.3),
-	  tests/Polyhedron/linearpartition2.cc (1.3),
-	  tests/Polyhedron/linearpartition3.cc (1.3),
-	  tests/Polyhedron/linearpartition4.cc (1.3),
-	  tests/Polyhedron/linexpression1.cc (1.3),
-	  tests/Polyhedron/mapspacedims1.cc (1.3),
-	  tests/Polyhedron/mapspacedims2.cc (1.3),
-	  tests/Polyhedron/mapspacedims3.cc (1.3),
-	  tests/Polyhedron/mapspacedims4.cc (1.3),
-	  tests/Polyhedron/max_min1.cc (1.3), tests/Polyhedron/max_min2.cc
-	  (1.3), tests/Polyhedron/maxspacedim1.cc (1.3),
-	  tests/Polyhedron/mc91.cc (1.3), tests/Polyhedron/membytes1.cc
-	  (1.3), tests/Polyhedron/membytes2.cc (1.3),
-	  tests/Polyhedron/memory1.cc (1.3),
-	  tests/Polyhedron/minconstraints1.cc (1.3),
-	  tests/Polyhedron/minconstraints2.cc (1.3),
-	  tests/Polyhedron/minconstraints3.cc (1.3),
-	  tests/Polyhedron/minconstraints4.cc (1.3),
-	  tests/Polyhedron/mingenerators1.cc (1.3),
-	  tests/Polyhedron/mingenerators2.cc (1.3),
-	  tests/Polyhedron/mingenerators3.cc (1.3),
-	  tests/Polyhedron/onepoint.cc (1.3), tests/Polyhedron/permute.cc
-	  (1.3), tests/Polyhedron/polydifference1.cc (1.3),
-	  tests/Polyhedron/polydifference2.cc (1.3),
-	  tests/Polyhedron/polydifference3.cc (1.3),
-	  tests/Polyhedron/polydifference4.cc (1.3),
-	  tests/Polyhedron/polydifference5.cc (1.3),
-	  tests/Polyhedron/polydifference6.cc (1.3),
-	  tests/Polyhedron/polydifference7.cc (1.3),
-	  tests/Polyhedron/polydifference8.cc (1.3),
-	  tests/Polyhedron/polydifference9.cc (1.3),
-	  tests/Polyhedron/polyhull1.cc (1.3),
-	  tests/Polyhedron/polyhull10.cc (1.3),
-	  tests/Polyhedron/polyhull11.cc (1.3),
-	  tests/Polyhedron/polyhull2.cc (1.3),
-	  tests/Polyhedron/polyhull3.cc (1.3),
-	  tests/Polyhedron/polyhull4.cc (1.3),
-	  tests/Polyhedron/polyhull5.cc (1.3),
-	  tests/Polyhedron/polyhull6.cc (1.3),
-	  tests/Polyhedron/polyhull7.cc (1.3),
-	  tests/Polyhedron/polyhull8.cc (1.3),
-	  tests/Polyhedron/polyhull9.cc (1.3),
-	  tests/Polyhedron/randphull1.cc (1.3),
-	  tests/Polyhedron/randphull2.cc (1.3),
-	  tests/Polyhedron/relations1.cc (1.3),
-	  tests/Polyhedron/relations10.cc (1.3),
-	  tests/Polyhedron/relations11.cc (1.3),
-	  tests/Polyhedron/relations12.cc (1.3),
-	  tests/Polyhedron/relations13.cc (1.3),
-	  tests/Polyhedron/relations14.cc (1.3),
-	  tests/Polyhedron/relations15.cc (1.3),
-	  tests/Polyhedron/relations16.cc (1.3),
-	  tests/Polyhedron/relations17.cc (1.3),
-	  tests/Polyhedron/relations18.cc (1.3),
-	  tests/Polyhedron/relations19.cc (1.3),
-	  tests/Polyhedron/relations2.cc (1.3),
-	  tests/Polyhedron/relations3.cc (1.3),
-	  tests/Polyhedron/relations4.cc (1.3),
-	  tests/Polyhedron/relations5.cc (1.3),
-	  tests/Polyhedron/relations6.cc (1.3),
-	  tests/Polyhedron/relations7.cc (1.3),
-	  tests/Polyhedron/relations8.cc (1.3),
-	  tests/Polyhedron/relations9.cc (1.3),
-	  tests/Polyhedron/removespacedims1.cc (1.3),
-	  tests/Polyhedron/removespacedims10.cc (1.3),
-	  tests/Polyhedron/removespacedims2.cc (1.3),
-	  tests/Polyhedron/removespacedims3.cc (1.3),
-	  tests/Polyhedron/removespacedims4.cc (1.3),
-	  tests/Polyhedron/removespacedims5.cc (1.3),
-	  tests/Polyhedron/removespacedims6.cc (1.3),
-	  tests/Polyhedron/removespacedims7.cc (1.3),
-	  tests/Polyhedron/removespacedims8.cc (1.3),
-	  tests/Polyhedron/removespacedims9.cc (1.3),
-	  tests/Polyhedron/smm1.cc (1.3), tests/Polyhedron/timeelapse1.cc
-	  (1.3), tests/Polyhedron/timeelapse2.cc (1.3),
-	  tests/Polyhedron/timeelapse3.cc (1.3),
-	  tests/Polyhedron/timeelapse4.cc (1.3),
-	  tests/Polyhedron/timeelapse5.cc (1.3),
-	  tests/Polyhedron/timeelapse6.cc (1.3),
-	  tests/Polyhedron/timeelapse7.cc (1.3),
-	  tests/Polyhedron/timeelapse8.cc (1.3),
-	  tests/Polyhedron/timeelapse9.cc (1.3),
-	  tests/Polyhedron/topclosed1.cc (1.3),
-	  tests/Polyhedron/topclosed2.cc (1.3),
-	  tests/Polyhedron/topclosed3.cc (1.3),
-	  tests/Polyhedron/topclosure1.cc (1.3),
-	  tests/Polyhedron/topclosure2.cc (1.3),
-	  tests/Polyhedron/topclosure3.cc (1.3),
-	  tests/Polyhedron/topclosure4.cc (1.3),
-	  tests/Polyhedron/universe1.cc (1.3),
-	  tests/Polyhedron/universe2.cc (1.3),
-	  tests/Polyhedron/universe3.cc (1.3),
-	  tests/Polyhedron/universe4.cc (1.3),
-	  tests/Polyhedron/universe5.cc (1.3),
-	  tests/Polyhedron/universe6.cc (1.3),
-	  tests/Polyhedron/universe7.cc (1.3),
-	  tests/Polyhedron/watchdog1.cc (1.3),
-	  tests/Polyhedron/writeconsys1.cc (1.3),
-	  tests/Polyhedron/writegensys1.cc (1.3),
-	  tests/Polyhedron/writegensys2.cc (1.3),
-	  tests/Polyhedron/writegensys3.cc (1.3),
-	  tests/Polyhedron/writepolyhedron1.cc (1.3),
-	  tests/Polyhedron/writepolyhedron2.cc (1.3),
-	  tests/Polyhedron/writepolyhedron3.cc (1.3),
-	  tests/Polyhedron/writerelation1.cc (1.3),
-	  tests/Polyhedron/writevariable1.cc (1.3), utils/Makefile.am
-	  (1.2), utils/timings.cc (1.2), utils/timings.hh (1.2): Copyright
-	  years extended.
-
-2004-12-31 Friday 23:36  Abramo Bagnara
-
-	* src/: Extended_Number.inlines.hh (1.4), checked_ext.inlines.hh
-	  (1.4), checked_float.inlines.hh (1.17): Added comparison and
-	  arithmetic binary operators.
-
-2004-12-31 Friday 23:36  Abramo Bagnara
-
-	* src/Result.defs.hh (1.6): Added V_INF_DIV_INF.
-
-2004-12-31 Friday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (1.3): Added membytes2 to
-	  XFAIL_WITH_INT8_A.
-
-2004-12-31 Friday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.6): ConSys renamed to Constraint_System in
-	  comments and error messages.
-
-2004-12-31 Friday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: expected_int16_a (1.2), expected_int32 (1.3),
-	  expected_int32_a (1.3), expected_int64 (1.3), expected_int64_a
-	  (1.3): Adapted to recent changes in ppl_lpsol.
-
-2004-12-31 Friday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected_int8 (1.2), tests/expected_int8
-	  (1.2): Adapted to the recent changes in the implementation of
-	  checked numbers.
-
-2004-12-31 Friday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: XSB/expected2_int16_a (1.2),
-	  XSB/expected_int8_a (1.2), tests/expected2_int16_a (1.2),
-	  tests/expected_int8_a (1.2): Adapted to the recent changes in the
-	  implementation of checked numbers.
-
-2004-12-31 Friday 13:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected2_int16 (1.3): Adapted to the
-	  recent changes in the implementation of checked numbers.
-
-2004-12-31 Friday 13:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/tests/expected2_int16 (1.3): Adapted to the
-	  recent changes in the implementation of checked numbers.
-
-2004-12-31 Friday 13:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.39),
-	  interfaces/Prolog/GNU/Makefile.am (1.43),
-	  interfaces/Prolog/SICStus/Makefile.am (1.50),
-	  interfaces/Prolog/SWI/Makefile.am (1.44),
-	  interfaces/Prolog/XSB/Makefile.am (1.31),
-	  demos/ppl_lcdd/Makefile.am (1.18), demos/ppl_lpsol/Makefile.am
-	  (1.11), interfaces/Prolog/YAP/Makefile.am (1.34): When checking
-	  for differences between the obtained and the expected output, use
-	  `diff -u' instead of `diff -q'.
-
-2004-12-31 Friday 13:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.5): Comment fixed.
-
-2004-12-31 Friday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.4): Variable-length automatic arrays are not
-	  (yet) standard in C++: use vectors instead.
-
-2004-12-31 Friday 08:57  Abramo Bagnara
-
-	* src/: Checked_Number.inlines.hh (1.14),
-	  Extended_Number.inlines.hh (1.3), Result.defs.hh (1.5),
-	  Result.inlines.hh (1.4), checked_ext.inlines.hh (1.3),
-	  checked_float.inlines.hh (1.16), checked_int.inlines.hh (1.15),
-	  checked_mpq.inlines.hh (1.7), checked_mpz.inlines.hh (1.8):
-	  Discriminate between special values sources.
-
-2004-12-30 Thursday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_mpz_a (1.3): Adapted to the recent
-	  changes to ppl_lpsol.
-
-2004-12-30 Thursday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.100): Avoid a couple of long lines.
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/adlittle.mps (altnum.1): file
-	  adlittle.mps was added on branch altnum on 2006-10-29 19:26:55
-	  +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/blend.mps (altnum.1): file blend.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/boeing1.mps (altnum.1): file boeing1.mps
-	  was added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/boeing2.mps (altnum.1): file boeing2.mps
-	  was added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/kb2.mps (altnum.1): file kb2.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/mip.mps (altnum.1): file mip.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/sc105.mps (altnum.1): file sc105.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/sc50a.mps (altnum.1): file sc50a.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/sc50b.mps (altnum.1): file sc50b.mps was
-	  added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/examples/ship08l.mps (altnum.1): file ship08l.mps
-	  was added on branch altnum on 2006-10-29 19:26:55 +0000
-
-2004-12-30 Thursday 15:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.138), demos/ppl_lpsol/Makefile.am (1.10),
-	  demos/ppl_lpsol/examples/Makefile.am (1.2),
-	  demos/ppl_lpsol/examples/adlittle.mps (1.1),
-	  demos/ppl_lpsol/examples/blend.mps (1.1),
-	  demos/ppl_lpsol/examples/boeing1.mps (1.1),
-	  demos/ppl_lpsol/examples/boeing2.mps (1.1),
-	  demos/ppl_lpsol/examples/kb2.mps (1.1),
-	  demos/ppl_lpsol/examples/mip.mps (1.1),
-	  demos/ppl_lpsol/examples/sc105.mps (1.1),
-	  demos/ppl_lpsol/examples/sc50a.mps (1.1),
-	  demos/ppl_lpsol/examples/sc50b.mps (1.1),
-	  demos/ppl_lpsol/examples/ship08l.mps (1.1): New examples to test
-	  the simplex solver.
-
-2004-12-30 Thursday 15:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.11), interfaces/C/ppl_c.cc
-	  (1.127), src/Constraint_System.defs.hh (1.7), src/simplex.cc
-	  (1.3): The simplex solver now returns a Simplex_Status instead of
-	  a bool.
-
-2004-12-30 Thursday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.108): In
-	  Polyhedron::map_space_dimensions(const Partial_Function& pfunc)
-	  we no longer completely trust the (user-provided) partial
-	  function `pfunc'.  Compiler warning silenced.
-
-2004-12-30 Thursday 15:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.152): Fixed
-	  term_to_Coefficient(Prolog_term_ref t).
-
-2004-12-30 Thursday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.52), Determinate.inlines.hh (1.45):
-	  All methods that are specific to the Polyhedra tempplate
-	  parameter have been dropped. If needed, they can still be invoked
-	  through element().
-
-2004-12-30 Thursday 15:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.inlines.hh (1.53): Minor documentation improvement.
-
-2004-12-30 Thursday 15:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.16): Use element() to access
-	  those methods that are specific to the Polyhedron class.
-
-2004-12-30 Thursday 15:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Powerset.defs.hh (1.9): Minor documentation improvements.
-
-2004-12-30 Thursday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.107): Error messages fixed.
-
-2004-12-30 Thursday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Powerset.defs.hh (1.8), Powerset.inlines.hh (1.8): Added
-	  mixed comparison operators for iterator and const_iterator.
-	  Drafted some documentation with an iterator's usage example.
-
-2004-12-30 Thursday 11:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.126), ppl_c.h.in (1.45): Added support
-	  for simplex solver status to the C interface.
-
-2004-12-30 Thursday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.defs.hh (1.15): New enum Simplex_Status to represent
-	  the possible outcomes of a simplex solver.
-
-2004-12-30 Thursday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.10): Redundant print statement
-	  removed.
-
-2004-12-30 Thursday 08:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_mpz (1.3): The objective function is now
-	  printed even if the problem is unfeasible.
-
-2004-12-29 Wednesday 21:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_Powerset.defs.hh (1.13),
-	  Polyhedra_Powerset.inlines.hh (1.15), Powerset.defs.hh (1.7),
-	  Powerset.inlines.hh (1.7), algorithms.hh (1.38): Added support
-	  for the consident use of bidirectional iterators (iterator,
-	  const_iterator, reverse_iterator, const_reverse_iterator) for the
-	  class Powerset. The new iterators replace the low-level ones on
-	  the sequence of disjuncts, which are now protected and were not
-	  enforcing the consistency of the reduced flag. All the new
-	  iterators only provide read-only access to the disjuncts in a
-	  Powerset element.  It is possible to drop elements form the
-	  sequence (but not to directly modify them) by using `iterator' in
-	  conjunction with Powerset<CS> methods drop_disjunct(),
-	  drop_disjuncts() and clear().
-
-2004-12-29 Wednesday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.9): Optionally use the simplex
-	  method.
-
-2004-12-29 Wednesday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.137), interfaces/C/ppl_c.cc (1.125),
-	  interfaces/C/ppl_c.h.in (1.44): Temporary interfaces to our new
-	  simplex method added.
-
-2004-12-29 Wednesday 21:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.149): Announced the recent changes to Constraint and
-	  Generator.
-
-2004-12-29 Wednesday 21:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Result.defs.hh (1.4), Rounding.defs.hh (1.3): Avoid
-	  trailing commas: they are non standard.
-
-2004-12-29 Wednesday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplex.cc (1.2): Include "Constraint_System.inlines.hh".
-
-2004-12-29 Wednesday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint_System.defs.hh (1.6), Makefile.am (1.98),
-	  Matrix.defs.hh (1.67), simplex.cc (1.1): Several methods of
-	  Matrix are now public instead of protected.  Added a first, very
-	  rough implementation of Constraint_System::primal_simplex().
-
-2004-12-29 Wednesday 16:45  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (1.14): Prefer esplicit overflow
-	  result.
-
-2004-12-29 Wednesday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.17): Added Maximiliano Marchesi and Andrea Cimino.
-	  Updated the contribution of Abramo.  Other minor improvements.
-
-2004-12-29 Wednesday 14:47  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (1.13): Don't throw exception when
-	  exactness of result is not checked.
-
-2004-12-29 Wednesday 14:45  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (1.13): Return overflow Result when
-	  Rounding direction is IGNORE.
-
-2004-12-29 Wednesday 11:06  Abramo Bagnara
-
-	* src/: checked.defs.hh (1.8), checked_int.inlines.hh (1.12),
-	  checked_mpz.inlines.hh (1.7): Don't compute relation with exact
-	  result if choosen rounding direction is IGNORE
-
-2004-12-29 Wednesday 08:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Result.inlines.hh (1.3): Comment fixed.  Indentation fixed.
-	  Use assert(false) instead of assert(0).  Include <cassert>.
-
-2004-12-29 Wednesday 08:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Result.defs.hh (1.3): Comment fixed.
-
-2004-12-29 Wednesday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/Makefile.am (1.3): Added ascii_dump_load1.dat and
-	  ascii_dump_load2.dat to MOSTLYCLEANFILES.
-
-2004-12-29 Wednesday 08:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (1.3): Typo fixed.
-
-2004-12-29 Wednesday 00:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.defs.hh (altnum.3): Typos fixed.
-
-2004-12-28 Tuesday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.12): Reflect the fact that the `gmp' option
-	  for `--enable-coefficients' has been renamed `mpz'.
-
-2004-12-28 Tuesday 23:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.148): Mention the fact that one of the possible values
-	  for the configuration option `--enable-coefficients' has been
-	  renamed from `gmp' to `mpz'.
-
-2004-12-28 Tuesday 22:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.16), configure.ac (1.155), demos/ppl_lcdd/ppl_lcdd.cc
-	  (1.40), interfaces/C/ppl_c.cc (1.124),
-	  interfaces/Prolog/ppl_prolog.icc (1.151),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.29),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.25),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.72),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.96),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.63),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.88), src/BDS_Status.idefs.hh
-	  (1.2), src/BDS_Status.inlines.hh (1.2), src/BD_Shape.defs.hh
-	  (1.2), src/BD_Shape.inlines.hh (1.2), src/BD_Shape.types.hh
-	  (1.2), src/Checked_Number.defs.hh (1.7),
-	  src/Checked_Number.inlines.hh (1.12), src/DB_Matrix.defs.hh
-	  (1.2), src/DB_Matrix.inlines.hh (1.2), src/DB_Matrix.types.hh
-	  (1.2), src/DB_Row.defs.hh (1.2), src/DB_Row.inlines.hh (1.2),
-	  src/DB_Row.types.hh (1.2), src/E_NIT.defs.hh (1.2),
-	  src/E_NIT.inlines.hh (1.2), src/E_NIT.types.hh (1.2),
-	  src/E_Rational.defs.hh (1.2), src/E_Rational.inlines.hh (1.2),
-	  src/E_Rational.types.hh (1.2), src/Extended_Number.defs.hh (1.2),
-	  src/Extended_Number.inlines.hh (1.2),
-	  src/Extended_Number.types.hh (1.2), src/Float.defs.hh (1.2),
-	  src/Float.inlines.hh (1.2), src/Interval.inlines.hh (1.17),
-	  src/Limits.hh (1.4), src/Makefile.am (1.97),
-	  src/Numeric_Format.defs.hh (1.2), src/Polyhedron_nonpublic.cc
-	  (1.42), src/Ptr_Iterator.defs.hh (1.2),
-	  src/Ptr_Iterator.inlines.hh (1.2), src/Ptr_Iterator.types.hh
-	  (1.2), src/Result.defs.hh (1.2), src/Result.inlines.hh (1.2),
-	  src/Rounding.defs.hh (1.2), src/Rounding.inlines.hh (1.2),
-	  src/Rounding.types.hh (1.2), src/checked.defs.hh (1.7),
-	  src/checked.inlines.hh (1.5), src/checked_ext.defs.hh (1.2),
-	  src/checked_ext.inlines.hh (1.2), src/checked_float.inlines.hh
-	  (1.15), src/checked_int.inlines.hh (1.11),
-	  src/checked_mpq.inlines.hh (1.6), src/checked_mpz.inlines.hh
-	  (1.6), src/compiler.hh (1.2), src/float.types.hh (1.6),
-	  src/fpu-c99.inlines.hh (1.2), src/fpu-ia32.inlines.hh (1.2),
-	  src/fpu.defs.hh (1.2), src/globals.defs.hh (1.14),
-	  src/globals.inlines.hh (1.7), tests/.cvsignore (1.11),
-	  tests/CbecomesNNC1.cc (1.7), tests/Makefile.am (1.241),
-	  tests/NNCbecomesC1.cc (1.2), tests/NNCminimize1.cc (1.13),
-	  tests/NNCminimize2.cc (1.13), tests/NNCminimize3.cc (1.13),
-	  tests/NNCminimize4.cc (1.14), tests/NNCminimize5.cc (1.13),
-	  tests/NNCminimize6.cc (1.13), tests/README (1.3),
-	  tests/addconstraint1.cc (1.8), tests/addconstraint2.cc (1.5),
-	  tests/addconstraint3.cc (1.5), tests/addconstraints1.cc (1.14),
-	  tests/addconstraints10.cc (1.12), tests/addconstraints11.cc
-	  (1.13), tests/addconstraints12.cc (1.6),
-	  tests/addconstraints13.cc (1.8), tests/addconstraints2.cc (1.21),
-	  tests/addconstraints3.cc (1.12), tests/addconstraints4.cc (1.13),
-	  tests/addconstraints5.cc (1.14), tests/addconstraints6.cc (1.15),
-	  tests/addconstraints7.cc (1.14), tests/addconstraints8.cc (1.15),
-	  tests/addconstraints9.cc (1.16), tests/addgenerator1.cc (1.10),
-	  tests/addgenerator2.cc (1.10), tests/addgenerator3.cc (1.6),
-	  tests/addgenerator4.cc (1.8), tests/addgenerator5.cc (1.3),
-	  tests/addgenerators1.cc (1.14), tests/addgenerators10.cc (1.6),
-	  tests/addgenerators11.cc (1.11), tests/addgenerators12.cc (1.8),
-	  tests/addgenerators13.cc (1.4), tests/addgenerators2.cc (1.14),
-	  tests/addgenerators3.cc (1.14), tests/addgenerators4.cc (1.14),
-	  tests/addgenerators5.cc (1.14), tests/addgenerators6.cc (1.14),
-	  tests/addgenerators7.cc (1.11), tests/addgenerators8.cc (1.9),
-	  tests/addgenerators9.cc (1.8), tests/addspacedims1.cc (1.3),
-	  tests/addspacedims10.cc (1.4), tests/addspacedims11.cc (1.3),
-	  tests/addspacedims12.cc (1.2), tests/addspacedims13.cc (1.2),
-	  tests/addspacedims2.cc (1.2), tests/addspacedims3.cc (1.4),
-	  tests/addspacedims4.cc (1.3), tests/addspacedims5.cc (1.3),
-	  tests/addspacedims6.cc (1.3), tests/addspacedims7.cc (1.3),
-	  tests/addspacedims8.cc (1.2), tests/addspacedims9.cc (1.3),
-	  tests/affineimage1.cc (1.13), tests/affineimage2.cc (1.12),
-	  tests/affineimage3.cc (1.6), tests/affineimage4.cc (1.5),
-	  tests/affineimage5.cc (1.6), tests/affineimage6.cc (1.5),
-	  tests/affineimage7.cc (1.6), tests/affineimage8.cc (1.9),
-	  tests/affineimage9.cc (1.3), tests/affinepreimage1.cc (1.13),
-	  tests/affinepreimage10.cc (1.9), tests/affinepreimage2.cc (1.12),
-	  tests/affinepreimage3.cc (1.12), tests/affinepreimage4.cc (1.14),
-	  tests/affinepreimage5.cc (1.5), tests/affinepreimage6.cc (1.6),
-	  tests/affinepreimage7.cc (1.6), tests/affinepreimage8.cc (1.5),
-	  tests/affinepreimage9.cc (1.6), tests/affinetrans.cc (1.17),
-	  tests/append1.cc (1.24), tests/append2.cc (1.24),
-	  tests/ascii_dump_load1.cc (1.14), tests/ascii_dump_load2.cc
-	  (1.12), tests/ascii_dump_load3.cc (1.15),
-	  tests/ascii_dump_load4.cc (1.16), tests/ascii_dump_load5.cc
-	  (1.11), tests/ascii_dump_load6.cc (1.8),
-	  tests/ascii_dump_load7.cc (1.9), tests/bgp99extrapolation1.cc
-	  (1.8), tests/bgp99extrapolation2.cc (1.9),
-	  tests/bhrz03widening1.cc (1.6), tests/bhrz03widening10.cc (1.5),
-	  tests/bhrz03widening11.cc (1.5), tests/bhrz03widening12.cc (1.6),
-	  tests/bhrz03widening13.cc (1.7), tests/bhrz03widening14.cc (1.9),
-	  tests/bhrz03widening15.cc (1.10), tests/bhrz03widening16.cc
-	  (1.6), tests/bhrz03widening17.cc (1.6), tests/bhrz03widening18.cc
-	  (1.6), tests/bhrz03widening19.cc (1.6), tests/bhrz03widening2.cc
-	  (1.8), tests/bhrz03widening3.cc (1.7), tests/bhrz03widening4.cc
-	  (1.5), tests/bhrz03widening5.cc (1.5), tests/bhrz03widening6.cc
-	  (1.7), tests/bhrz03widening7.cc (1.7), tests/bhrz03widening8.cc
-	  (1.6), tests/bhrz03widening9.cc (1.9), tests/bhz03widening1.cc
-	  (1.9), tests/bhz03widening2.cc (1.11), tests/bhz03widening3.cc
-	  (1.10), tests/bhz03widening4.cc (1.7), tests/bhz03widening5.cc
-	  (1.8), tests/bhz03widening6.cc (1.9), tests/bounded1.cc (1.15),
-	  tests/boundedh79extrapolation1.cc (1.3), tests/boundingbox1.cc
-	  (1.40), tests/boundingbox2.cc (1.24), tests/boundingbox3.cc
-	  (1.16), tests/boundingbox4.cc (1.13), tests/boundingbox5.cc
-	  (1.3), tests/bounds1.cc (1.8), tests/bounds2.cc (1.7),
-	  tests/concatenate1.cc (1.11), tests/concatenate2.cc (1.10),
-	  tests/concatenate3.cc (1.9), tests/concatenate4.cc (1.8),
-	  tests/concatenate5.cc (1.5), tests/concatenate6.cc (1.7),
-	  tests/constraints1.cc (1.8), tests/constraints2.cc (1.8),
-	  tests/constraints3.cc (1.9), tests/constraints4.cc (1.8),
-	  tests/contains1.cc (1.6), tests/contains2.cc (1.5),
-	  tests/contains3.cc (1.5), tests/contains4.cc (1.4),
-	  tests/contains5.cc (1.4), tests/disjoint1.cc (1.8),
-	  tests/disjoint2.cc (1.11), tests/disjoint3.cc (1.11),
-	  tests/dualhypercubes.cc (1.10), tests/empty1.cc (1.16),
-	  tests/equals1.cc (1.2), tests/exceptions1.cc (1.44),
-	  tests/exceptions2.cc (1.38), tests/exceptions3.cc (1.6),
-	  tests/expandspacedim1.cc (1.4), tests/expandspacedim2.cc (1.2),
-	  tests/foldspacedims1.cc (1.3), tests/foldspacedims2.cc (1.3),
-	  tests/generalizedaffineimage1.cc (1.9),
-	  tests/generalizedaffineimage10.cc (1.8),
-	  tests/generalizedaffineimage11.cc (1.7),
-	  tests/generalizedaffineimage12.cc (1.6),
-	  tests/generalizedaffineimage2.cc (1.8),
-	  tests/generalizedaffineimage3.cc (1.9),
-	  tests/generalizedaffineimage4.cc (1.7),
-	  tests/generalizedaffineimage5.cc (1.7),
-	  tests/generalizedaffineimage6.cc (1.7),
-	  tests/generalizedaffineimage7.cc (1.9),
-	  tests/generalizedaffineimage8.cc (1.7),
-	  tests/generalizedaffineimage9.cc (1.9), tests/generators1.cc
-	  (1.17), tests/generators2.cc (1.13), tests/generators3.cc (1.7),
-	  tests/generators4.cc (1.8), tests/generators5.cc (1.7),
-	  tests/generators6.cc (1.8), tests/geomcovers1.cc (1.3),
-	  tests/h79widening1.cc (1.7), tests/h79widening2.cc (1.8),
-	  tests/h79widening3.cc (1.8), tests/h79widening4.cc (1.6),
-	  tests/h79widening5.cc (1.6), tests/h79widening6.cc (1.8),
-	  tests/h79widening7.cc (1.4), tests/h79widening8.cc (1.3),
-	  tests/intersection1.cc (1.7), tests/intersection10.cc (1.7),
-	  tests/intersection11.cc (1.7), tests/intersection2.cc (1.13),
-	  tests/intersection3.cc (1.8), tests/intersection4.cc (1.9),
-	  tests/intersection5.cc (1.8), tests/intersection6.cc (1.9),
-	  tests/intersection7.cc (1.7), tests/intersection8.cc (1.6),
-	  tests/intersection9.cc (1.6),
-	  tests/limitedbhrz03extrapolation1.cc (1.6),
-	  tests/limitedh79extrapolation1.cc (1.5),
-	  tests/limitedh79extrapolation2.cc (1.5),
-	  tests/limitedh79extrapolation3.cc (1.6),
-	  tests/limitedh79extrapolation4.cc (1.6),
-	  tests/linearpartition1.cc (1.16), tests/linearpartition2.cc
-	  (1.16), tests/linearpartition3.cc (1.16),
-	  tests/linearpartition4.cc (1.4), tests/linexpression1.cc (1.6),
-	  tests/mapspacedims1.cc (1.3), tests/mapspacedims2.cc (1.2),
-	  tests/mapspacedims3.cc (1.2), tests/mapspacedims4.cc (1.2),
-	  tests/max_min1.cc (1.7), tests/max_min2.cc (1.7),
-	  tests/maxspacedim1.cc (1.6), tests/mc91.cc (1.16),
-	  tests/membytes1.cc (1.8), tests/membytes2.cc (1.4),
-	  tests/memory1.cc (1.24), tests/minconstraints1.cc (1.7),
-	  tests/minconstraints2.cc (1.7), tests/minconstraints3.cc (1.6),
-	  tests/minconstraints4.cc (1.10), tests/mingenerators1.cc (1.7),
-	  tests/mingenerators2.cc (1.6), tests/mingenerators3.cc (1.6),
-	  tests/onepoint.cc (1.11), tests/permute.cc (1.33),
-	  tests/polydifference1.cc (1.11), tests/polydifference2.cc (1.12),
-	  tests/polydifference3.cc (1.7), tests/polydifference4.cc (1.6),
-	  tests/polydifference5.cc (1.7), tests/polydifference6.cc (1.7),
-	  tests/polydifference7.cc (1.6), tests/polydifference8.cc (1.5),
-	  tests/polydifference9.cc (1.7), tests/polyhull1.cc (1.10),
-	  tests/polyhull10.cc (1.6), tests/polyhull11.cc (1.3),
-	  tests/polyhull2.cc (1.9), tests/polyhull3.cc (1.8),
-	  tests/polyhull4.cc (1.7), tests/polyhull5.cc (1.6),
-	  tests/polyhull6.cc (1.6), tests/polyhull7.cc (1.6),
-	  tests/polyhull8.cc (1.6), tests/polyhull9.cc (1.7),
-	  tests/ppl_test.hh (1.5), tests/randphull1.cc (1.14),
-	  tests/randphull2.cc (1.11), tests/relations1.cc (1.12),
-	  tests/relations10.cc (1.7), tests/relations11.cc (1.7),
-	  tests/relations12.cc (1.7), tests/relations13.cc (1.6),
-	  tests/relations14.cc (1.6), tests/relations15.cc (1.7),
-	  tests/relations16.cc (1.7), tests/relations17.cc (1.10),
-	  tests/relations18.cc (1.6), tests/relations19.cc (1.7),
-	  tests/relations2.cc (1.12), tests/relations3.cc (1.12),
-	  tests/relations4.cc (1.13), tests/relations5.cc (1.13),
-	  tests/relations6.cc (1.11), tests/relations7.cc (1.12),
-	  tests/relations8.cc (1.12), tests/relations9.cc (1.15),
-	  tests/removespacedims1.cc (1.3), tests/removespacedims10.cc
-	  (1.2), tests/removespacedims2.cc (1.4), tests/removespacedims3.cc
-	  (1.2), tests/removespacedims4.cc (1.3), tests/removespacedims5.cc
-	  (1.2), tests/removespacedims6.cc (1.2), tests/removespacedims7.cc
-	  (1.2), tests/removespacedims8.cc (1.3), tests/removespacedims9.cc
-	  (1.2), tests/smm1.cc (1.18), tests/timeelapse1.cc (1.10),
-	  tests/timeelapse2.cc (1.9), tests/timeelapse3.cc (1.11),
-	  tests/timeelapse4.cc (1.10), tests/timeelapse5.cc (1.10),
-	  tests/timeelapse6.cc (1.6), tests/timeelapse7.cc (1.5),
-	  tests/timeelapse8.cc (1.6), tests/timeelapse9.cc (1.2),
-	  tests/topclosed1.cc (1.8), tests/topclosed2.cc (1.8),
-	  tests/topclosed3.cc (1.10), tests/topclosure1.cc (1.9),
-	  tests/topclosure2.cc (1.5), tests/topclosure3.cc (1.5),
-	  tests/topclosure4.cc (1.7), tests/universe1.cc (1.11),
-	  tests/universe2.cc (1.12), tests/universe3.cc (1.13),
-	  tests/universe4.cc (1.13), tests/universe5.cc (1.13),
-	  tests/universe6.cc (1.12), tests/universe7.cc (1.3),
-	  tests/valgrind_suppressions (1.2), tests/watchdog1.cc (1.22),
-	  tests/writeconsys1.cc (1.10), tests/writegensys1.cc (1.10),
-	  tests/writegensys2.cc (1.10), tests/writegensys3.cc (1.10),
-	  tests/writepolyhedron1.cc (1.8), tests/writepolyhedron2.cc (1.9),
-	  tests/writepolyhedron3.cc (1.8), tests/writerelation1.cc (1.8),
-	  tests/writevariable1.cc (1.11), tests/BD_Shape/.cvsignore (1.2),
-	  tests/BD_Shape/Makefile.am (1.2),
-	  tests/BD_Shape/addconstraints1.cc (1.2),
-	  tests/BD_Shape/addspacedims1.cc (1.2),
-	  tests/BD_Shape/addspacedims2.cc (1.2),
-	  tests/BD_Shape/addspacedims3.cc (1.2),
-	  tests/BD_Shape/addspacedims4.cc (1.2),
-	  tests/BD_Shape/addspacedims5.cc (1.2),
-	  tests/BD_Shape/addspacedims6.cc (1.2),
-	  tests/BD_Shape/addspacedims7.cc (1.2),
-	  tests/BD_Shape/affineimage1.cc (1.2),
-	  tests/BD_Shape/affineimage2.cc (1.2),
-	  tests/BD_Shape/affineimage3.cc (1.2),
-	  tests/BD_Shape/affineimage4.cc (1.2),
-	  tests/BD_Shape/affineimage5.cc (1.2),
-	  tests/BD_Shape/affineimage6.cc (1.2),
-	  tests/BD_Shape/affineimage7.cc (1.2),
-	  tests/BD_Shape/affinepreimage1.cc (1.2),
-	  tests/BD_Shape/affinepreimage2.cc (1.2),
-	  tests/BD_Shape/affinepreimage3.cc (1.2),
-	  tests/BD_Shape/affinepreimage4.cc (1.2),
-	  tests/BD_Shape/ascii_dump_load1.cc (1.2),
-	  tests/BD_Shape/ascii_dump_load2.cc (1.2),
-	  tests/BD_Shape/cc76extrapolation1.cc (1.2),
-	  tests/BD_Shape/cc76extrapolation2.cc (1.2),
-	  tests/BD_Shape/cc76extrapolation3.cc (1.2),
-	  tests/BD_Shape/cc76extrapolation4.cc (1.2),
-	  tests/BD_Shape/cc76extrapolation5.cc (1.2),
-	  tests/BD_Shape/cc76extrapolation6.cc (1.2),
-	  tests/BD_Shape/cc76narrowing1.cc (1.2),
-	  tests/BD_Shape/cc76narrowing2.cc (1.2),
-	  tests/BD_Shape/cc76narrowing3.cc (1.2),
-	  tests/BD_Shape/cc76narrowing4.cc (1.2),
-	  tests/BD_Shape/cc76narrowing5.cc (1.2),
-	  tests/BD_Shape/ch78widening1.cc (1.2),
-	  tests/BD_Shape/ch78widening2.cc (1.2),
-	  tests/BD_Shape/ch78widening3.cc (1.2),
-	  tests/BD_Shape/ch78widening4.cc (1.2),
-	  tests/BD_Shape/ch78widening5.cc (1.2),
-	  tests/BD_Shape/ch78widening6.cc (1.2),
-	  tests/BD_Shape/ch78widening7.cc (1.2),
-	  tests/BD_Shape/ch78widening8.cc (1.2),
-	  tests/BD_Shape/concatenate1.cc (1.2),
-	  tests/BD_Shape/concatenate2.cc (1.2),
-	  tests/BD_Shape/concatenate3.cc (1.2),
-	  tests/BD_Shape/concatenate4.cc (1.2),
-	  tests/BD_Shape/concatenate5.cc (1.2),
-	  tests/BD_Shape/constraints1.cc (1.2),
-	  tests/BD_Shape/constraints2.cc (1.2), tests/BD_Shape/contains1.cc
-	  (1.2), tests/BD_Shape/contains2.cc (1.2),
-	  tests/BD_Shape/contains3.cc (1.2), tests/BD_Shape/empty1.cc
-	  (1.2), tests/BD_Shape/empty2.cc (1.2), tests/BD_Shape/empty3.cc
-	  (1.2), tests/BD_Shape/empty4.cc (1.2),
-	  tests/BD_Shape/equality1.cc (1.2), tests/BD_Shape/exceptions1.cc
-	  (1.2), tests/BD_Shape/exceptions2.cc (1.2),
-	  tests/BD_Shape/exceptions3.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage1.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage10.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage11.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage12.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage2.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage3.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage4.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage5.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage6.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage7.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage8.cc (1.2),
-	  tests/BD_Shape/generalizedaffineimage9.cc (1.2),
-	  tests/BD_Shape/h79widening1.cc (1.2),
-	  tests/BD_Shape/intersection1.cc (1.2),
-	  tests/BD_Shape/intersection2.cc (1.2),
-	  tests/BD_Shape/intersection3.cc (1.2),
-	  tests/BD_Shape/intersection4.cc (1.2),
-	  tests/BD_Shape/intersection5.cc (1.2),
-	  tests/BD_Shape/intersection6.cc (1.2),
-	  tests/BD_Shape/intersection7.cc (1.2),
-	  tests/BD_Shape/intersection8.cc (1.2),
-	  tests/BD_Shape/limitedCC76extrapolation1.cc (1.2),
-	  tests/BD_Shape/limitedCC76extrapolation2.cc (1.2),
-	  tests/BD_Shape/limitedCC76extrapolation3.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation1.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation2.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation3.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation4.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation5.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation6.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation7.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation8.cc (1.2),
-	  tests/BD_Shape/limitedCH78extrapolation9.cc (1.2),
-	  tests/BD_Shape/limitedh79extrapolation1.cc (1.2),
-	  tests/BD_Shape/mapspacedims1.cc (1.2),
-	  tests/BD_Shape/mapspacedims2.cc (1.2),
-	  tests/BD_Shape/mapspacedims3.cc (1.2),
-	  tests/BD_Shape/mapspacedims4.cc (1.2),
-	  tests/BD_Shape/maxspacedim.cc (1.2),
-	  tests/BD_Shape/polydifference1.cc (1.2),
-	  tests/BD_Shape/polydifference2.cc (1.2),
-	  tests/BD_Shape/polydifference3.cc (1.2),
-	  tests/BD_Shape/polydifference4.cc (1.2),
-	  tests/BD_Shape/polydifference5.cc (1.2),
-	  tests/BD_Shape/polydifference6.cc (1.2),
-	  tests/BD_Shape/polyhull1.cc (1.2), tests/BD_Shape/polyhull2.cc
-	  (1.2), tests/BD_Shape/polyhull3.cc (1.2),
-	  tests/BD_Shape/polyhull4.cc (1.2), tests/BD_Shape/relations1.cc
-	  (1.2), tests/BD_Shape/relations2.cc (1.2),
-	  tests/BD_Shape/relations3.cc (1.2), tests/BD_Shape/relations4.cc
-	  (1.2), tests/BD_Shape/relations5.cc (1.2),
-	  tests/BD_Shape/removespacedims1.cc (1.2),
-	  tests/BD_Shape/removespacedims2.cc (1.2),
-	  tests/BD_Shape/removespacedims3.cc (1.2),
-	  tests/BD_Shape/timeelapse1.cc (1.2),
-	  tests/BD_Shape/timeelapse2.cc (1.2),
-	  tests/BD_Shape/timeelapse3.cc (1.2),
-	  tests/BD_Shape/timeelapse4.cc (1.2),
-	  tests/BD_Shape/timeelapse5.cc (1.2), tests/BD_Shape/universe1.cc
-	  (1.2), tests/BD_Shape/writebdiffs1.cc (1.2),
-	  tests/BD_Shape/writebdiffs2.cc (1.2), tests/Polyhedron/.cvsignore
-	  (1.2), tests/Polyhedron/CbecomesNNC1.cc (1.2),
-	  tests/Polyhedron/Makefile.am (1.2),
-	  tests/Polyhedron/NNCbecomesC1.cc (1.2),
-	  tests/Polyhedron/NNCminimize1.cc (1.2),
-	  tests/Polyhedron/NNCminimize2.cc (1.2),
-	  tests/Polyhedron/NNCminimize3.cc (1.2),
-	  tests/Polyhedron/NNCminimize4.cc (1.2),
-	  tests/Polyhedron/NNCminimize5.cc (1.2),
-	  tests/Polyhedron/NNCminimize6.cc (1.2), tests/Polyhedron/README
-	  (1.2), tests/Polyhedron/addconstraint1.cc (1.2),
-	  tests/Polyhedron/addconstraint2.cc (1.2),
-	  tests/Polyhedron/addconstraint3.cc (1.2),
-	  tests/Polyhedron/addconstraints1.cc (1.2),
-	  tests/Polyhedron/addconstraints10.cc (1.2),
-	  tests/Polyhedron/addconstraints11.cc (1.2),
-	  tests/Polyhedron/addconstraints12.cc (1.2),
-	  tests/Polyhedron/addconstraints13.cc (1.2),
-	  tests/Polyhedron/addconstraints2.cc (1.2),
-	  tests/Polyhedron/addconstraints3.cc (1.2),
-	  tests/Polyhedron/addconstraints4.cc (1.2),
-	  tests/Polyhedron/addconstraints5.cc (1.2),
-	  tests/Polyhedron/addconstraints6.cc (1.2),
-	  tests/Polyhedron/addconstraints7.cc (1.2),
-	  tests/Polyhedron/addconstraints8.cc (1.2),
-	  tests/Polyhedron/addconstraints9.cc (1.2),
-	  tests/Polyhedron/addgenerator1.cc (1.2),
-	  tests/Polyhedron/addgenerator2.cc (1.2),
-	  tests/Polyhedron/addgenerator3.cc (1.2),
-	  tests/Polyhedron/addgenerator4.cc (1.2),
-	  tests/Polyhedron/addgenerator5.cc (1.2),
-	  tests/Polyhedron/addgenerators1.cc (1.2),
-	  tests/Polyhedron/addgenerators10.cc (1.2),
-	  tests/Polyhedron/addgenerators11.cc (1.2),
-	  tests/Polyhedron/addgenerators12.cc (1.2),
-	  tests/Polyhedron/addgenerators13.cc (1.2),
-	  tests/Polyhedron/addgenerators2.cc (1.2),
-	  tests/Polyhedron/addgenerators3.cc (1.2),
-	  tests/Polyhedron/addgenerators4.cc (1.2),
-	  tests/Polyhedron/addgenerators5.cc (1.2),
-	  tests/Polyhedron/addgenerators6.cc (1.2),
-	  tests/Polyhedron/addgenerators7.cc (1.2),
-	  tests/Polyhedron/addgenerators8.cc (1.2),
-	  tests/Polyhedron/addgenerators9.cc (1.2),
-	  tests/Polyhedron/addspacedims1.cc (1.2),
-	  tests/Polyhedron/addspacedims10.cc (1.2),
-	  tests/Polyhedron/addspacedims11.cc (1.2),
-	  tests/Polyhedron/addspacedims12.cc (1.2),
-	  tests/Polyhedron/addspacedims13.cc (1.2),
-	  tests/Polyhedron/addspacedims2.cc (1.2),
-	  tests/Polyhedron/addspacedims3.cc (1.2),
-	  tests/Polyhedron/addspacedims4.cc (1.2),
-	  tests/Polyhedron/addspacedims5.cc (1.2),
-	  tests/Polyhedron/addspacedims6.cc (1.2),
-	  tests/Polyhedron/addspacedims7.cc (1.2),
-	  tests/Polyhedron/addspacedims8.cc (1.2),
-	  tests/Polyhedron/addspacedims9.cc (1.2),
-	  tests/Polyhedron/affineimage1.cc (1.2),
-	  tests/Polyhedron/affineimage2.cc (1.2),
-	  tests/Polyhedron/affineimage3.cc (1.2),
-	  tests/Polyhedron/affineimage4.cc (1.2),
-	  tests/Polyhedron/affineimage5.cc (1.2),
-	  tests/Polyhedron/affineimage6.cc (1.2),
-	  tests/Polyhedron/affineimage7.cc (1.2),
-	  tests/Polyhedron/affineimage8.cc (1.2),
-	  tests/Polyhedron/affineimage9.cc (1.2),
-	  tests/Polyhedron/affinepreimage1.cc (1.2),
-	  tests/Polyhedron/affinepreimage10.cc (1.2),
-	  tests/Polyhedron/affinepreimage2.cc (1.2),
-	  tests/Polyhedron/affinepreimage3.cc (1.2),
-	  tests/Polyhedron/affinepreimage4.cc (1.2),
-	  tests/Polyhedron/affinepreimage5.cc (1.2),
-	  tests/Polyhedron/affinepreimage6.cc (1.2),
-	  tests/Polyhedron/affinepreimage7.cc (1.2),
-	  tests/Polyhedron/affinepreimage8.cc (1.2),
-	  tests/Polyhedron/affinepreimage9.cc (1.2),
-	  tests/Polyhedron/affinetrans.cc (1.2),
-	  tests/Polyhedron/append1.cc (1.2), tests/Polyhedron/append2.cc
-	  (1.2), tests/Polyhedron/ascii_dump_load1.cc (1.2),
-	  tests/Polyhedron/ascii_dump_load2.cc (1.2),
-	  tests/Polyhedron/ascii_dump_load3.cc (1.2),
-	  tests/Polyhedron/ascii_dump_load4.cc (1.2),
-	  tests/Polyhedron/ascii_dump_load5.cc (1.2),
-	  tests/Polyhedron/ascii_dump_load6.cc (1.2),
-	  tests/Polyhedron/ascii_dump_load7.cc (1.2),
-	  tests/Polyhedron/bgp99extrapolation1.cc (1.2),
-	  tests/Polyhedron/bgp99extrapolation2.cc (1.2),
-	  tests/Polyhedron/bhrz03widening1.cc (1.2),
-	  tests/Polyhedron/bhrz03widening10.cc (1.2),
-	  tests/Polyhedron/bhrz03widening11.cc (1.2),
-	  tests/Polyhedron/bhrz03widening12.cc (1.2),
-	  tests/Polyhedron/bhrz03widening13.cc (1.2),
-	  tests/Polyhedron/bhrz03widening14.cc (1.2),
-	  tests/Polyhedron/bhrz03widening15.cc (1.2),
-	  tests/Polyhedron/bhrz03widening16.cc (1.2),
-	  tests/Polyhedron/bhrz03widening17.cc (1.2),
-	  tests/Polyhedron/bhrz03widening18.cc (1.2),
-	  tests/Polyhedron/bhrz03widening19.cc (1.2),
-	  tests/Polyhedron/bhrz03widening2.cc (1.2),
-	  tests/Polyhedron/bhrz03widening3.cc (1.2),
-	  tests/Polyhedron/bhrz03widening4.cc (1.2),
-	  tests/Polyhedron/bhrz03widening5.cc (1.2),
-	  tests/Polyhedron/bhrz03widening6.cc (1.2),
-	  tests/Polyhedron/bhrz03widening7.cc (1.2),
-	  tests/Polyhedron/bhrz03widening8.cc (1.2),
-	  tests/Polyhedron/bhrz03widening9.cc (1.2),
-	  tests/Polyhedron/bhz03widening1.cc (1.2),
-	  tests/Polyhedron/bhz03widening2.cc (1.2),
-	  tests/Polyhedron/bhz03widening3.cc (1.2),
-	  tests/Polyhedron/bhz03widening4.cc (1.2),
-	  tests/Polyhedron/bhz03widening5.cc (1.2),
-	  tests/Polyhedron/bhz03widening6.cc (1.2),
-	  tests/Polyhedron/bounded1.cc (1.2),
-	  tests/Polyhedron/boundedh79extrapolation1.cc (1.2),
-	  tests/Polyhedron/boundingbox1.cc (1.2),
-	  tests/Polyhedron/boundingbox2.cc (1.2),
-	  tests/Polyhedron/boundingbox3.cc (1.2),
-	  tests/Polyhedron/boundingbox4.cc (1.2),
-	  tests/Polyhedron/boundingbox5.cc (1.2),
-	  tests/Polyhedron/bounds1.cc (1.2), tests/Polyhedron/bounds2.cc
-	  (1.2), tests/Polyhedron/concatenate1.cc (1.2),
-	  tests/Polyhedron/concatenate2.cc (1.2),
-	  tests/Polyhedron/concatenate3.cc (1.2),
-	  tests/Polyhedron/concatenate4.cc (1.2),
-	  tests/Polyhedron/concatenate5.cc (1.2),
-	  tests/Polyhedron/concatenate6.cc (1.2),
-	  tests/Polyhedron/constraints1.cc (1.2),
-	  tests/Polyhedron/constraints2.cc (1.2),
-	  tests/Polyhedron/constraints3.cc (1.2),
-	  tests/Polyhedron/constraints4.cc (1.2),
-	  tests/Polyhedron/contains1.cc (1.2),
-	  tests/Polyhedron/contains2.cc (1.2),
-	  tests/Polyhedron/contains3.cc (1.2),
-	  tests/Polyhedron/contains4.cc (1.2),
-	  tests/Polyhedron/contains5.cc (1.2),
-	  tests/Polyhedron/disjoint1.cc (1.2),
-	  tests/Polyhedron/disjoint2.cc (1.2),
-	  tests/Polyhedron/disjoint3.cc (1.2),
-	  tests/Polyhedron/dualhypercubes.cc (1.2),
-	  tests/Polyhedron/empty1.cc (1.2), tests/Polyhedron/equals1.cc
-	  (1.2), tests/Polyhedron/exceptions1.cc (1.2),
-	  tests/Polyhedron/exceptions2.cc (1.2),
-	  tests/Polyhedron/exceptions3.cc (1.2),
-	  tests/Polyhedron/expandspacedim1.cc (1.2),
-	  tests/Polyhedron/expandspacedim2.cc (1.2),
-	  tests/Polyhedron/foldspacedims1.cc (1.2),
-	  tests/Polyhedron/foldspacedims2.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage1.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage10.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage11.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage12.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage2.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage3.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage4.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage5.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage6.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage7.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage8.cc (1.2),
-	  tests/Polyhedron/generalizedaffineimage9.cc (1.2),
-	  tests/Polyhedron/generators1.cc (1.2),
-	  tests/Polyhedron/generators2.cc (1.2),
-	  tests/Polyhedron/generators3.cc (1.2),
-	  tests/Polyhedron/generators4.cc (1.2),
-	  tests/Polyhedron/generators5.cc (1.2),
-	  tests/Polyhedron/generators6.cc (1.2),
-	  tests/Polyhedron/geomcovers1.cc (1.2),
-	  tests/Polyhedron/h79widening1.cc (1.2),
-	  tests/Polyhedron/h79widening2.cc (1.2),
-	  tests/Polyhedron/h79widening3.cc (1.2),
-	  tests/Polyhedron/h79widening4.cc (1.2),
-	  tests/Polyhedron/h79widening5.cc (1.2),
-	  tests/Polyhedron/h79widening6.cc (1.2),
-	  tests/Polyhedron/h79widening7.cc (1.2),
-	  tests/Polyhedron/h79widening8.cc (1.2),
-	  tests/Polyhedron/intersection1.cc (1.2),
-	  tests/Polyhedron/intersection10.cc (1.2),
-	  tests/Polyhedron/intersection11.cc (1.2),
-	  tests/Polyhedron/intersection2.cc (1.2),
-	  tests/Polyhedron/intersection3.cc (1.2),
-	  tests/Polyhedron/intersection4.cc (1.2),
-	  tests/Polyhedron/intersection5.cc (1.2),
-	  tests/Polyhedron/intersection6.cc (1.2),
-	  tests/Polyhedron/intersection7.cc (1.2),
-	  tests/Polyhedron/intersection8.cc (1.2),
-	  tests/Polyhedron/intersection9.cc (1.2),
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc (1.2),
-	  tests/Polyhedron/limitedh79extrapolation1.cc (1.2),
-	  tests/Polyhedron/limitedh79extrapolation2.cc (1.2),
-	  tests/Polyhedron/limitedh79extrapolation3.cc (1.2),
-	  tests/Polyhedron/limitedh79extrapolation4.cc (1.2),
-	  tests/Polyhedron/linearpartition1.cc (1.2),
-	  tests/Polyhedron/linearpartition2.cc (1.2),
-	  tests/Polyhedron/linearpartition3.cc (1.2),
-	  tests/Polyhedron/linearpartition4.cc (1.2),
-	  tests/Polyhedron/linexpression1.cc (1.2),
-	  tests/Polyhedron/mapspacedims1.cc (1.2),
-	  tests/Polyhedron/mapspacedims2.cc (1.2),
-	  tests/Polyhedron/mapspacedims3.cc (1.2),
-	  tests/Polyhedron/mapspacedims4.cc (1.2),
-	  tests/Polyhedron/max_min1.cc (1.2), tests/Polyhedron/max_min2.cc
-	  (1.2), tests/Polyhedron/maxspacedim1.cc (1.2),
-	  tests/Polyhedron/mc91.cc (1.2), tests/Polyhedron/membytes1.cc
-	  (1.2), tests/Polyhedron/membytes2.cc (1.2),
-	  tests/Polyhedron/memory1.cc (1.2),
-	  tests/Polyhedron/minconstraints1.cc (1.2),
-	  tests/Polyhedron/minconstraints2.cc (1.2),
-	  tests/Polyhedron/minconstraints3.cc (1.2),
-	  tests/Polyhedron/minconstraints4.cc (1.2),
-	  tests/Polyhedron/mingenerators1.cc (1.2),
-	  tests/Polyhedron/mingenerators2.cc (1.2),
-	  tests/Polyhedron/mingenerators3.cc (1.2),
-	  tests/Polyhedron/onepoint.cc (1.2), tests/Polyhedron/permute.cc
-	  (1.2), tests/Polyhedron/polydifference1.cc (1.2),
-	  tests/Polyhedron/polydifference2.cc (1.2),
-	  tests/Polyhedron/polydifference3.cc (1.2),
-	  tests/Polyhedron/polydifference4.cc (1.2),
-	  tests/Polyhedron/polydifference5.cc (1.2),
-	  tests/Polyhedron/polydifference6.cc (1.2),
-	  tests/Polyhedron/polydifference7.cc (1.2),
-	  tests/Polyhedron/polydifference8.cc (1.2),
-	  tests/Polyhedron/polydifference9.cc (1.2),
-	  tests/Polyhedron/polyhull1.cc (1.2),
-	  tests/Polyhedron/polyhull10.cc (1.2),
-	  tests/Polyhedron/polyhull11.cc (1.2),
-	  tests/Polyhedron/polyhull2.cc (1.2),
-	  tests/Polyhedron/polyhull3.cc (1.2),
-	  tests/Polyhedron/polyhull4.cc (1.2),
-	  tests/Polyhedron/polyhull5.cc (1.2),
-	  tests/Polyhedron/polyhull6.cc (1.2),
-	  tests/Polyhedron/polyhull7.cc (1.2),
-	  tests/Polyhedron/polyhull8.cc (1.2),
-	  tests/Polyhedron/polyhull9.cc (1.2),
-	  tests/Polyhedron/randphull1.cc (1.2),
-	  tests/Polyhedron/randphull2.cc (1.2),
-	  tests/Polyhedron/relations1.cc (1.2),
-	  tests/Polyhedron/relations10.cc (1.2),
-	  tests/Polyhedron/relations11.cc (1.2),
-	  tests/Polyhedron/relations12.cc (1.2),
-	  tests/Polyhedron/relations13.cc (1.2),
-	  tests/Polyhedron/relations14.cc (1.2),
-	  tests/Polyhedron/relations15.cc (1.2),
-	  tests/Polyhedron/relations16.cc (1.2),
-	  tests/Polyhedron/relations17.cc (1.2),
-	  tests/Polyhedron/relations18.cc (1.2),
-	  tests/Polyhedron/relations19.cc (1.2),
-	  tests/Polyhedron/relations2.cc (1.2),
-	  tests/Polyhedron/relations3.cc (1.2),
-	  tests/Polyhedron/relations4.cc (1.2),
-	  tests/Polyhedron/relations5.cc (1.2),
-	  tests/Polyhedron/relations6.cc (1.2),
-	  tests/Polyhedron/relations7.cc (1.2),
-	  tests/Polyhedron/relations8.cc (1.2),
-	  tests/Polyhedron/relations9.cc (1.2),
-	  tests/Polyhedron/removespacedims1.cc (1.2),
-	  tests/Polyhedron/removespacedims10.cc (1.2),
-	  tests/Polyhedron/removespacedims2.cc (1.2),
-	  tests/Polyhedron/removespacedims3.cc (1.2),
-	  tests/Polyhedron/removespacedims4.cc (1.2),
-	  tests/Polyhedron/removespacedims5.cc (1.2),
-	  tests/Polyhedron/removespacedims6.cc (1.2),
-	  tests/Polyhedron/removespacedims7.cc (1.2),
-	  tests/Polyhedron/removespacedims8.cc (1.2),
-	  tests/Polyhedron/removespacedims9.cc (1.2),
-	  tests/Polyhedron/smm1.cc (1.2), tests/Polyhedron/timeelapse1.cc
-	  (1.2), tests/Polyhedron/timeelapse2.cc (1.2),
-	  tests/Polyhedron/timeelapse3.cc (1.2),
-	  tests/Polyhedron/timeelapse4.cc (1.2),
-	  tests/Polyhedron/timeelapse5.cc (1.2),
-	  tests/Polyhedron/timeelapse6.cc (1.2),
-	  tests/Polyhedron/timeelapse7.cc (1.2),
-	  tests/Polyhedron/timeelapse8.cc (1.2),
-	  tests/Polyhedron/timeelapse9.cc (1.2),
-	  tests/Polyhedron/topclosed1.cc (1.2),
-	  tests/Polyhedron/topclosed2.cc (1.2),
-	  tests/Polyhedron/topclosed3.cc (1.2),
-	  tests/Polyhedron/topclosure1.cc (1.2),
-	  tests/Polyhedron/topclosure2.cc (1.2),
-	  tests/Polyhedron/topclosure3.cc (1.2),
-	  tests/Polyhedron/topclosure4.cc (1.2),
-	  tests/Polyhedron/universe1.cc (1.2),
-	  tests/Polyhedron/universe2.cc (1.2),
-	  tests/Polyhedron/universe3.cc (1.2),
-	  tests/Polyhedron/universe4.cc (1.2),
-	  tests/Polyhedron/universe5.cc (1.2),
-	  tests/Polyhedron/universe6.cc (1.2),
-	  tests/Polyhedron/universe7.cc (1.2),
-	  tests/Polyhedron/valgrind_suppressions (1.2),
-	  tests/Polyhedron/watchdog1.cc (1.2),
-	  tests/Polyhedron/writeconsys1.cc (1.2),
-	  tests/Polyhedron/writegensys1.cc (1.2),
-	  tests/Polyhedron/writegensys2.cc (1.2),
-	  tests/Polyhedron/writegensys3.cc (1.2),
-	  tests/Polyhedron/writepolyhedron1.cc (1.2),
-	  tests/Polyhedron/writepolyhedron2.cc (1.2),
-	  tests/Polyhedron/writepolyhedron3.cc (1.2),
-	  tests/Polyhedron/writerelation1.cc (1.2),
-	  tests/Polyhedron/writevariable1.cc (1.2): Second merge from the
-	  `altnum' branch.
-
-2004-12-28 Tuesday 20:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.21): Anonymous namespaces hve to do with visibility
-	  of names, not linkage.
-
-2004-12-28 Tuesday 20:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: track_allocation.hh (1.15), Ciao/ppl_ciao.cc
-	  (1.28), GNU/ppl_gprolog_sd.cc (1.24), SICStus/ppl_sicstus_sd.cc
-	  (1.71), SWI/ppl_swiprolog.cc (1.95), XSB/ppl_xsb.cc (1.62),
-	  YAP/ppl_yap.cc (1.87): Use anonymous namespaces instead of
-	  keyword "static" to hide functions and variables from the eyes of
-	  other translation units.
-
-2004-12-28 Tuesday 19:39  Abramo Bagnara
-
-	* src/: Extended_Number.defs.hh, Extended_Number.inlines.hh,
-	  Extended_Number.types.hh (altnum.[1,1,1]): Added preliminary
-	  Extended_Number implementation.
-
-2004-12-28 Tuesday 19:36  Abramo Bagnara
-
-	* src/: E_Rational.inlines.hh, Interval.inlines.hh,
-	  Polyhedron_nonpublic.cc (altnum.[2,9,12]): Fixed some
-	  Checked::assign use.
-
-2004-12-28 Tuesday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/: exceptions2.cc, exceptions3.cc (altnum.[3,3]):
-	  Refer to `Coefficient' instead of `Integer'.
-
-2004-12-28 Tuesday 18:35  Abramo Bagnara
-
-	* src/checked.defs.hh (altnum.25): Fixed incomplete change of
-	  return type for set_special.
-
-2004-12-28 Tuesday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/.cvsignore (altnum.1): Put under CVS control.
-
-2004-12-28 Tuesday 18:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.20): Added guideline for the specification of
-	  internal linkage functions and variables.
-
-2004-12-28 Tuesday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Polyhedron/: NNCbecomesC1.cc, addconstraints13.cc,
-	  addgenerators12.cc, affineimage8.cc, affinepreimage10.cc,
-	  affinepreimage9.cc, append1.cc, append2.cc, ascii_dump_load1.cc,
-	  ascii_dump_load2.cc, ascii_dump_load3.cc, ascii_dump_load4.cc,
-	  ascii_dump_load5.cc, ascii_dump_load6.cc, ascii_dump_load7.cc,
-	  bhrz03widening1.cc, bhrz03widening12.cc, bhrz03widening13.cc,
-	  bhrz03widening14.cc, bhrz03widening15.cc, bhrz03widening9.cc,
-	  bhz03widening6.cc, boundingbox1.cc, boundingbox2.cc,
-	  boundingbox3.cc, boundingbox4.cc, concatenate6.cc,
-	  constraints4.cc, contains5.cc, disjoint2.cc, disjoint3.cc,
-	  exceptions1.cc, exceptions2.cc, exceptions3.cc,
-	  expandspacedim1.cc, expandspacedim2.cc, foldspacedims1.cc,
-	  foldspacedims2.cc, generalizedaffineimage10.cc,
-	  generalizedaffineimage11.cc, generalizedaffineimage7.cc,
-	  generalizedaffineimage9.cc, generators6.cc, h79widening1.cc,
-	  intersection10.cc, intersection11.cc, intersection2.cc,
-	  intersection7.cc, limitedh79extrapolation4.cc,
-	  linearpartition1.cc, linearpartition2.cc, linearpartition3.cc,
-	  mapspacedims1.cc, mapspacedims2.cc, mapspacedims3.cc,
-	  mapspacedims4.cc, membytes1.cc, membytes2.cc, memory1.cc,
-	  permute.cc, polydifference7.cc, polydifference9.cc, polyhull4.cc,
-	  polyhull8.cc, polyhull9.cc, randphull1.cc, randphull2.cc,
-	  relations17.cc, relations19.cc, relations9.cc, smm1.cc,
-	  topclosure4.cc, watchdog1.cc, writeconsys1.cc, writegensys1.cc,
-	  writegensys2.cc, writegensys3.cc, writepolyhedron1.cc,
-	  writepolyhedron2.cc, writepolyhedron3.cc, writerelation1.cc,
-	  writevariable1.cc
-	  (altnum.[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,3,3,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,3,2,2,2,2,2,2,2,2,2]):
-	  Prefer using anonymous namespace to specify internal linkage.
-
-2004-12-28 Tuesday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (altnum.3): New implementation for
-	  BD_Shape<T>::relation_with(const Generator& g).
-
-2004-12-28 Tuesday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BD_Shape/affinepreimage1.cc (altnum.3): Typo fixed.
-
-2004-12-28 Tuesday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
-	  src/BD_Shape.defs.hh, tests/BD_Shape/addconstraints1.cc,
-	  tests/BD_Shape/addspacedims1.cc, tests/BD_Shape/addspacedims2.cc,
-	  tests/BD_Shape/addspacedims3.cc, tests/BD_Shape/addspacedims4.cc,
-	  tests/BD_Shape/addspacedims5.cc, tests/BD_Shape/addspacedims6.cc,
-	  tests/BD_Shape/addspacedims7.cc, tests/BD_Shape/affineimage1.cc,
-	  tests/BD_Shape/affineimage2.cc, tests/BD_Shape/affineimage3.cc,
-	  tests/BD_Shape/affineimage4.cc, tests/BD_Shape/affineimage5.cc,
-	  tests/BD_Shape/affineimage6.cc, tests/BD_Shape/affineimage7.cc,
-	  tests/BD_Shape/affinepreimage1.cc,
-	  tests/BD_Shape/affinepreimage2.cc,
-	  tests/BD_Shape/affinepreimage3.cc,
-	  tests/BD_Shape/affinepreimage4.cc,
-	  tests/BD_Shape/ascii_dump_load1.cc,
-	  tests/BD_Shape/ascii_dump_load2.cc,
-	  tests/BD_Shape/cc76extrapolation1.cc,
-	  tests/BD_Shape/cc76extrapolation2.cc,
-	  tests/BD_Shape/cc76extrapolation3.cc,
-	  tests/BD_Shape/cc76extrapolation4.cc,
-	  tests/BD_Shape/cc76extrapolation5.cc,
-	  tests/BD_Shape/cc76extrapolation6.cc,
-	  tests/BD_Shape/cc76narrowing1.cc,
-	  tests/BD_Shape/cc76narrowing2.cc,
-	  tests/BD_Shape/cc76narrowing3.cc,
-	  tests/BD_Shape/cc76narrowing4.cc,
-	  tests/BD_Shape/cc76narrowing5.cc,
-	  tests/BD_Shape/ch78widening1.cc, tests/BD_Shape/ch78widening2.cc,
-	  tests/BD_Shape/ch78widening3.cc, tests/BD_Shape/ch78widening4.cc,
-	  tests/BD_Shape/ch78widening5.cc, tests/BD_Shape/ch78widening6.cc,
-	  tests/BD_Shape/ch78widening7.cc, tests/BD_Shape/ch78widening8.cc,
-	  tests/BD_Shape/concatenate1.cc, tests/BD_Shape/concatenate2.cc,
-	  tests/BD_Shape/concatenate3.cc, tests/BD_Shape/concatenate4.cc,
-	  tests/BD_Shape/concatenate5.cc, tests/BD_Shape/constraints1.cc,
-	  tests/BD_Shape/constraints2.cc, tests/BD_Shape/contains1.cc,
-	  tests/BD_Shape/contains2.cc, tests/BD_Shape/contains3.cc,
-	  tests/BD_Shape/empty1.cc, tests/BD_Shape/empty2.cc,
-	  tests/BD_Shape/empty3.cc, tests/BD_Shape/empty4.cc,
-	  tests/BD_Shape/equality1.cc, tests/BD_Shape/exceptions1.cc,
-	  tests/BD_Shape/exceptions2.cc, tests/BD_Shape/exceptions3.cc,
-	  tests/BD_Shape/generalizedaffineimage1.cc,
-	  tests/BD_Shape/generalizedaffineimage10.cc,
-	  tests/BD_Shape/generalizedaffineimage11.cc,
-	  tests/BD_Shape/generalizedaffineimage12.cc,
-	  tests/BD_Shape/generalizedaffineimage2.cc,
-	  tests/BD_Shape/generalizedaffineimage3.cc,
-	  tests/BD_Shape/generalizedaffineimage4.cc,
-	  tests/BD_Shape/generalizedaffineimage5.cc,
-	  tests/BD_Shape/generalizedaffineimage6.cc,
-	  tests/BD_Shape/generalizedaffineimage7.cc,
-	  tests/BD_Shape/generalizedaffineimage8.cc,
-	  tests/BD_Shape/generalizedaffineimage9.cc,
-	  tests/BD_Shape/h79widening1.cc, tests/BD_Shape/intersection1.cc,
-	  tests/BD_Shape/intersection2.cc, tests/BD_Shape/intersection3.cc,
-	  tests/BD_Shape/intersection4.cc, tests/BD_Shape/intersection5.cc,
-	  tests/BD_Shape/intersection6.cc, tests/BD_Shape/intersection7.cc,
-	  tests/BD_Shape/intersection8.cc,
-	  tests/BD_Shape/limitedCC76extrapolation1.cc,
-	  tests/BD_Shape/limitedCC76extrapolation2.cc,
-	  tests/BD_Shape/limitedCC76extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation1.cc,
-	  tests/BD_Shape/limitedCH78extrapolation2.cc,
-	  tests/BD_Shape/limitedCH78extrapolation3.cc,
-	  tests/BD_Shape/limitedCH78extrapolation4.cc,
-	  tests/BD_Shape/limitedCH78extrapolation5.cc,
-	  tests/BD_Shape/limitedCH78extrapolation6.cc,
-	  tests/BD_Shape/limitedCH78extrapolation7.cc,
-	  tests/BD_Shape/limitedCH78extrapolation8.cc,
-	  tests/BD_Shape/limitedCH78extrapolation9.cc,
-	  tests/BD_Shape/limitedh79extrapolation1.cc,
-	  tests/BD_Shape/mapspacedims1.cc, tests/BD_Shape/mapspacedims2.cc,
-	  tests/BD_Shape/mapspacedims3.cc, tests/BD_Shape/mapspacedims4.cc,
-	  tests/BD_Shape/maxspacedim.cc, tests/BD_Shape/polydifference1.cc,
-	  tests/BD_Shape/polydifference2.cc,
-	  tests/BD_Shape/polydifference3.cc,
-	  tests/BD_Shape/polydifference4.cc,
-	  tests/BD_Shape/polydifference5.cc,
-	  tests/BD_Shape/polydifference6.cc, tests/BD_Shape/polyhull1.cc,
-	  tests/BD_Shape/polyhull2.cc, tests/BD_Shape/polyhull3.cc,
-	  tests/BD_Shape/polyhull4.cc, tests/BD_Shape/relations1.cc,
-	  tests/BD_Shape/relations2.cc, tests/BD_Shape/relations3.cc,
-	  tests/BD_Shape/relations4.cc, tests/BD_Shape/relations5.cc,
-	  tests/BD_Shape/universe1.cc, tests/BD_Shape/writebdiffs1.cc,
-	  tests/BD_Shape/writebdiffs2.cc
-	  (altnum.[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,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,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,2,2,2,2,2,2,2]):
-	  No longer mention `BDiffs'.
-
-2004-12-28 Tuesday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (altnum.21): Deal correctly with nested include
-	  files.
-
-2004-12-28 Tuesday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BD_Shape.inlines.hh (altnum.2): Added the required template
-	  function min_assign(T& x, const T& y).
-
-2004-12-28 Tuesday 16:51  Abramo Bagnara
-
-	* src/: checked.defs.hh, checked_ext.inlines.hh,
-	  checked_float.inlines.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[24,3,16,25,18,21]): Changed lowlevel set_special to
-	  return Result info.
-
-2004-12-28 Tuesday 16:28  Abramo Bagnara
-
-	* src/E_NIT.inlines.hh (altnum.3): Added missing rounding argument.
-
-2004-12-28 Tuesday 16:21  Abramo Bagnara
-
-	* src/checked.defs.hh (altnum.23): Documentation fix.
-
-2004-12-28 Tuesday 16:19  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[16,17]): Transformed helper function in static method.
-
-2004-12-28 Tuesday 16:18  Abramo Bagnara
-
-	* src/checked_ext.inlines.hh (altnum.2): Removed useless function.
-
-2004-12-28 Tuesday 16:17  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.24): Added policy dependance
-	  to special values.
-
-2004-12-28 Tuesday 16:16  Abramo Bagnara
-
-	* configure.ac (altnum.18): Renamed gmp option value to mpz
-
-2004-12-28 Tuesday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/E_NIT.inlines.hh (altnum.2): Failed attempt to fix a problem
-	  with E_NIT (the build is still broken).
-
-2004-12-28 Tuesday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (altnum.17): Configure the `tests/BD_Shape'
-	  directory.
-
-2004-12-28 Tuesday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, ppl_test.hh, BD_Shape/Makefile.am,
-	  BD_Shape/addconstraints1.cc, BD_Shape/addspacedims1.cc,
-	  BD_Shape/addspacedims2.cc, BD_Shape/addspacedims3.cc,
-	  BD_Shape/addspacedims4.cc, BD_Shape/addspacedims5.cc,
-	  BD_Shape/addspacedims6.cc, BD_Shape/addspacedims7.cc,
-	  BD_Shape/affineimage1.cc, BD_Shape/affineimage2.cc,
-	  BD_Shape/affineimage3.cc, BD_Shape/affineimage4.cc,
-	  BD_Shape/affineimage5.cc, BD_Shape/affineimage6.cc,
-	  BD_Shape/affineimage7.cc, BD_Shape/affinepreimage1.cc,
-	  BD_Shape/affinepreimage2.cc, BD_Shape/affinepreimage3.cc,
-	  BD_Shape/affinepreimage4.cc, BD_Shape/ascii_dump_load1.cc,
-	  BD_Shape/ascii_dump_load2.cc, BD_Shape/cc76extrapolation1.cc,
-	  BD_Shape/cc76extrapolation2.cc, BD_Shape/cc76extrapolation3.cc,
-	  BD_Shape/cc76extrapolation4.cc, BD_Shape/cc76extrapolation5.cc,
-	  BD_Shape/cc76extrapolation6.cc, BD_Shape/cc76narrowing1.cc,
-	  BD_Shape/cc76narrowing2.cc, BD_Shape/cc76narrowing3.cc,
-	  BD_Shape/cc76narrowing4.cc, BD_Shape/cc76narrowing5.cc,
-	  BD_Shape/ch78widening1.cc, BD_Shape/ch78widening2.cc,
-	  BD_Shape/ch78widening3.cc, BD_Shape/ch78widening4.cc,
-	  BD_Shape/ch78widening5.cc, BD_Shape/ch78widening6.cc,
-	  BD_Shape/ch78widening7.cc, BD_Shape/ch78widening8.cc,
-	  BD_Shape/concatenate1.cc, BD_Shape/concatenate2.cc,
-	  BD_Shape/concatenate3.cc, BD_Shape/concatenate4.cc,
-	  BD_Shape/concatenate5.cc, BD_Shape/constraints1.cc,
-	  BD_Shape/constraints2.cc, BD_Shape/contains1.cc,
-	  BD_Shape/contains2.cc, BD_Shape/contains3.cc, BD_Shape/empty1.cc,
-	  BD_Shape/empty2.cc, BD_Shape/empty3.cc, BD_Shape/empty4.cc,
-	  BD_Shape/equality1.cc, BD_Shape/exceptions1.cc,
-	  BD_Shape/exceptions2.cc, BD_Shape/exceptions3.cc,
-	  BD_Shape/generalizedaffineimage1.cc,
-	  BD_Shape/generalizedaffineimage10.cc,
-	  BD_Shape/generalizedaffineimage11.cc,
-	  BD_Shape/generalizedaffineimage12.cc,
-	  BD_Shape/generalizedaffineimage2.cc,
-	  BD_Shape/generalizedaffineimage3.cc,
-	  BD_Shape/generalizedaffineimage4.cc,
-	  BD_Shape/generalizedaffineimage5.cc,
-	  BD_Shape/generalizedaffineimage6.cc,
-	  BD_Shape/generalizedaffineimage7.cc,
-	  BD_Shape/generalizedaffineimage8.cc,
-	  BD_Shape/generalizedaffineimage9.cc, BD_Shape/h79widening1.cc,
-	  BD_Shape/intersection1.cc, BD_Shape/intersection2.cc,
-	  BD_Shape/intersection3.cc, BD_Shape/intersection4.cc,
-	  BD_Shape/intersection5.cc, BD_Shape/intersection6.cc,
-	  BD_Shape/intersection7.cc, BD_Shape/intersection8.cc,
-	  BD_Shape/limitedCC76extrapolation1.cc,
-	  BD_Shape/limitedCC76extrapolation2.cc,
-	  BD_Shape/limitedCC76extrapolation3.cc,
-	  BD_Shape/limitedCH78extrapolation1.cc,
-	  BD_Shape/limitedCH78extrapolation2.cc,
-	  BD_Shape/limitedCH78extrapolation3.cc,
-	  BD_Shape/limitedCH78extrapolation4.cc,
-	  BD_Shape/limitedCH78extrapolation5.cc,
-	  BD_Shape/limitedCH78extrapolation6.cc,
-	  BD_Shape/limitedCH78extrapolation7.cc,
-	  BD_Shape/limitedCH78extrapolation8.cc,
-	  BD_Shape/limitedCH78extrapolation9.cc,
-	  BD_Shape/limitedh79extrapolation1.cc, BD_Shape/mapspacedims1.cc,
-	  BD_Shape/mapspacedims2.cc, BD_Shape/mapspacedims3.cc,
-	  BD_Shape/mapspacedims4.cc, BD_Shape/maxspacedim.cc,
-	  BD_Shape/polydifference1.cc, BD_Shape/polydifference2.cc,
-	  BD_Shape/polydifference3.cc, BD_Shape/polydifference4.cc,
-	  BD_Shape/polydifference5.cc, BD_Shape/polydifference6.cc,
-	  BD_Shape/polyhull1.cc, BD_Shape/polyhull2.cc,
-	  BD_Shape/polyhull3.cc, BD_Shape/polyhull4.cc,
-	  BD_Shape/relations1.cc, BD_Shape/relations2.cc,
-	  BD_Shape/relations3.cc, BD_Shape/relations4.cc,
-	  BD_Shape/relations5.cc, BD_Shape/removespacedims1.cc,
-	  BD_Shape/removespacedims2.cc, BD_Shape/removespacedims3.cc,
-	  BD_Shape/timeelapse1.cc, BD_Shape/timeelapse2.cc,
-	  BD_Shape/timeelapse3.cc, BD_Shape/timeelapse4.cc,
-	  BD_Shape/timeelapse5.cc, BD_Shape/universe1.cc,
-	  BD_Shape/writebdiffs1.cc, BD_Shape/writebdiffs2.cc
-	  (altnum.[9,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,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,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,1,1,1,1,1]):
-	  Tests for the BD_Shape class.
-
-2004-12-28 Tuesday 14:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.14): Fixed the indentation of a
-	  few comments.
-
-2004-12-28 Tuesday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint_System.defs.hh (1.5), Generator_System.defs.hh
-	  (1.6): Header file inclusions fixed.
-
-2004-12-28 Tuesday 13:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint_System.cc (1.4): Avoid recomputing the same
-	  expression more than once.
-
-2004-12-28 Tuesday 11:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.19): Documented the new policy about swap method and
-	  std::swap specialization.
-
-2004-12-28 Tuesday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.46), Constraint.defs.hh (1.101),
-	  Constraint.inlines.hh (1.58), Constraint_System.cc (1.3),
-	  Constraint_System.defs.hh (1.4), Generator.cc (1.57),
-	  Generator.defs.hh (1.99), Generator.inlines.hh (1.52),
-	  Generator_System.defs.hh (1.5), Linear_Expression.defs.hh (1.7),
-	  Polyhedron.inlines.hh (1.106), Polyhedron_nonpublic.cc (1.41),
-	  Polyhedron_public.cc (1.47), Polyhedron_widenings.cc (1.39):
-	  Classes Constraint and Generator now have comparison operators ==
-	  and !=, checking for semantic equivalence.  Class constraint has
-	  publicly available methods is_tautological() and
-	  is_inconsistent(), replacing the preovate methods
-	  is_trivial_true() and is_trivial_false().  The swap methods of
-	  classes Constraint, Generator, Linear_Expression,
-	  Constraint_System and Generator_System are now publicly
-	  available.  Corrected a minor efficiency bug in
-	  Polyhedron::shrink_bounding_box().
-
-2004-12-28 Tuesday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.136): Two important items added.
-
-2004-12-26 Sunday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.100): Useless explicit qualification
-	  removed.
-
-2004-12-26 Sunday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.99): FIXME added: we do not seem to
-	  have strong reason to let Polyhedron be a friend of Constraint.
-
-2004-12-25 Saturday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, ChangeLog, NEWS, README, README.configure, STANDARDS,
-	  TODO, config.guess, config.rpath, config.sub, configure.ac,
-	  install-sh, ppl.lsm.in, ppl.spec.in, Watchdog/ChangeLog,
-	  Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/README,
-	  Watchdog/config.guess, Watchdog/config.sub,
-	  Watchdog/configure.ac, Watchdog/install-sh,
-	  Watchdog/pwl_filter_doxygen.sed, Watchdog/pwl_filter_install.sed,
-	  Watchdog/pwl_header.bottom, Watchdog/pwl_header.middle,
-	  Watchdog/pwl_header.top, demos/ppl_lcdd/Makefile.am,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/dummy.cc, demos/ppl_lpsol/ppl_lpsol.c,
-	  doc/Makefile.am, doc/README, doc/README.doc, doc/definitions.dox,
-	  doc/devref.tex, doc/user.tex, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ciao_clpq.pl,
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/GNU/gnu_pl_check.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/SWI/swi_pl_check.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/tests/clpq.pl,
-	  interfaces/Prolog/tests/clpq2.pl,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  m4/ac_cxx_double_is_iec_559.m4, m4/ac_cxx_float_is_iec_559.m4,
-	  m4/ac_cxx_long_double_is_iec_559.m4, src/Checked_Number.defs.hh,
-	  src/Checked_Number.inlines.hh, src/Coefficient.types.hh,
-	  src/Coefficient_traits_template.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/GMP_Integer.defs.hh,
-	  src/GMP_Integer.types.hh, src/Generator_System.defs.hh,
-	  src/Interval.defs.hh, src/Interval.inlines.hh, src/Limits.hh,
-	  src/Linear_Expression.defs.hh, src/Linear_Row.cc,
-	  src/Linear_System.cc, src/Linear_System.defs.hh,
-	  src/Linear_System.inlines.hh, src/Makefile.am,
-	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
-	  src/Native_Integer.types.hh, src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
-	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
-	  src/Saturation_Row.cc, src/Saturation_Row.inlines.hh,
-	  src/Widening_Function.defs.hh, src/checked.defs.hh,
-	  src/checked.inlines.hh, src/checked_int.inlines.hh,
-	  src/globals.defs.hh, src/initializer.hh, src/ppl_header.bottom,
-	  src/ppl_header.middle, src/swapping_sort.icc, tests/BBox.cc,
-	  tests/Polyhedron/Makefile.am, tests/Polyhedron/addgenerator1.cc,
-	  tests/Polyhedron/addgenerator2.cc,
-	  tests/Polyhedron/bhz03widening2.cc,
-	  tests/Polyhedron/bhz03widening3.cc,
-	  tests/Polyhedron/bhz03widening5.cc,
-	  tests/Polyhedron/bhz03widening6.cc,
-	  tests/Polyhedron/expandspacedim1.cc,
-	  tests/Polyhedron/foldspacedims1.cc,
-	  tests/Polyhedron/foldspacedims2.cc,
-	  tests/Polyhedron/polydifference9.cc,
-	  tests/Polyhedron/timeelapse9.cc, tests/Polyhedron/watchdog1.cc
-	  (altnum.[5,2,7,3,3,3,7,4,1,3,16,4,2,2,2,5,2,2,4,3,3,4,1,1,1,1,1,6,10,4,1,5,3,2,1,7,3,3,8,5,7,2,9,1,5,2,3,3,5,4,1,3,5,7,5,8,1,4,3,8,2,2,3,4,8,2,2,3,1,1,1,15,16,2,2,6,5,7,4,2,5,8,4,2,3,4,4,4,20,8,8,4,5,5,8,11,8,3,3,2,2,5,22,15,23,9,1,1,1,3,3,3,2,2,2,2,2,2,2,2,2,2,1,2]):
-	  Seventh merge from main trunk.
-
-2004-12-25 Saturday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.147), README (1.34), configure.ac (1.154),
-	  src/Makefile.am (1.96): Updated for PPL 0.8.
-
-2004-12-24 Friday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_7-branch.1): Update version.
-
-2004-12-24 Friday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_7-branch.[1,1]): Mark
-	  ChangeLog.
-
-2004-12-24 Friday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.20), Watchdog/ChangeLog (1.10): Updated.
-
-2004-12-24 Friday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.33), Watchdog/README (1.9): Updated.
-
-2004-12-24 Friday 14:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/user-browse.doxyconf-latex.in (1.24),
-	  doc/user-print.doxyconf-latex.in (1.24),
-	  doc/user.doxyconf-html.in (1.26), src/Coefficient.types.hh (1.5),
-	  src/GMP_Integer.types.hh (1.6), src/Makefile.am (1.95),
-	  src/Native_Integer.defs.hh (1.8), src/Native_Integer.types.hh
-	  (1.6): On a second thought, the user shouldn't care much about
-	  coefficient traits: the corresponding documentation now occurs in
-	  the devref manual only.
-
-2004-12-24 Friday 12:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.13): Typo fixed.
-
-2004-12-24 Friday 12:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/user-browse.doxyconf-latex.in (1.23),
-	  doc/user-print.doxyconf-latex.in (1.23),
-	  doc/user.doxyconf-html.in (1.25), src/Checked_Number.defs.hh
-	  (1.6), src/Coefficient.types.hh (1.4),
-	  src/Coefficient_traits_template.hh (1.2),
-	  src/GMP_Integer.types.hh (1.5), src/Linear_System.inlines.hh
-	  (1.11), src/Makefile.am (1.94), src/Native_Integer.defs.hh (1.7),
-	  src/Native_Integer.types.hh (1.5), src/checked.defs.hh (1.6),
-	  src/globals.defs.hh (1.13): Minor improvements to the
-	  documentation.
-
-2004-12-24 Friday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: Makefile.am (1.38), ciao_clpq.pl (1.13),
-	  ciao_clpq2.pl (1.9), ciao_pl_check.pl (1.9): Fixed for the case
-	  where the source and the build directories coincide.
-
-2004-12-24 Friday 12:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/.cvsignore (1.10): Updated.
-
-2004-12-24 Friday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.17): No longer mention erased files.
-
-2004-12-24 Friday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.bottom (1.6): The preprocessor symbol
-	  PPL_FLEXIBLE_ARRAY is no longer used.
-
-2004-12-24 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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>
-
-	* Watchdog/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>
-
-	* Watchdog/configure.ac (1.24): Require Autoconf 2.59.
-
-2004-12-24 Friday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/README (1.8): Version number bumped.
-
-2004-12-24 Friday 11:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.24): Sentence fixed.
-
-2004-12-24 Friday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.rpath (1.3): Updated.
-
-2004-12-24 Friday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.146), README.configure (1.11), TODO (1.135): Minor
-	  improvements.
-
-2004-12-24 Friday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.15): AIDA project credited.
-
-2004-12-24 Friday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Checked_Number.inlines.hh (1.11), Native_Integer.inlines.hh
-	  (1.8), checked.defs.hh (1.5): Added some \relates doxygen
-	  commands.
-
-2004-12-24 Friday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.15), Watchdog/configure.ac (1.23),
-	  interfaces/Prolog/YAP/Makefile.am (1.33): Enable the creation of
-	  DLLs under Cygwin.
-
-2004-12-24 Friday 08:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.134): More checking of the documentation should be done.
-
-2004-12-24 Friday 08:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Generator_System.defs.hh (1.4), Linear_Expression.defs.hh
-	  (1.6), Polyhedra_Powerset.defs.hh (1.12), Polyhedron.defs.hh
-	  (1.262), Powerset.defs.hh (1.6): Several small improvements to
-	  the documantation.
-
-2004-12-23 Thursday 22:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.145): Added quotes.
-
-2004-12-23 Thursday 22:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.144): Mentioned the new configuration option
-	  --enable-coefficients.
-
-2004-12-23 Thursday 21:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* README (1.32), src/Checked_Number.defs.hh (1.5),
-	  src/Coefficient.types.hh (1.3), src/GMP_Integer.defs.hh (1.4),
-	  src/GMP_Integer.types.hh (1.4), src/Makefile.am (1.93),
-	  src/Native_Integer.defs.hh (1.6), src/Native_Integer.types.hh
-	  (1.4): Drafted the doxygen documentation for Coefficient,
-	  GMP_Integer, Checked_Number and Native_Integer, as well as
-	  corresponding traits.  Corrected a minor error in the README
-	  file.
-
-2004-12-23 Thursday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.31), interfaces/Prolog/SWI/Makefile.am (1.43),
-	  src/globals.defs.hh (1.12): Redundant inline declarations
-	  removed.
-
-2004-12-23 Thursday 14:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.42): Let `plld' use the C++
-	  compiler to perform linking.
-
-2004-12-23 Thursday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.23), doc/README (1.5), doc/README.doc (1.1): The
-	  file doc/README has been renamed README.doc so as not to conflict
-	  with the library's main README file.
-
-2004-12-23 Thursday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.22): Updated.
-
-2004-12-23 Thursday 11:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.153), src/Makefile.am (1.92): Allow the creation
-	  of a PPL DLL under Cygwin.
-
-2004-12-23 Thursday 11:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* README.configure (1.10): Small improvement.
-
-2004-12-23 Thursday 10:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.9): Updated.
-
-2004-12-23 Thursday 10:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.14): Make sure
-	  Polyhedra_Powerset<PH>::space_dimension() is defined before being
-	  used.
-
-2004-12-23 Thursday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/float.types.hh (1.5): Never include <config.h> from a header
-	  file.
-
-2004-12-22 Wednesday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BBox.cc (1.7): Avoid repeating the inclusion of
-	  "ppl_install.hh".
-
-2004-12-22 Wednesday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/initializer.hh (1.9): Multiple inclusion guard fixed.
-
-2004-12-22 Wednesday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.8): Added a section on enabling the use of
-	  alternative coefficient types.
-
-2004-12-22 Wednesday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.9), dummy.cc (1.1): Force using
-	  the C++ compiler for linking.
-
-2004-12-22 Wednesday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.37), GNU/Makefile.am
-	  (1.42), SICStus/Makefile.am (1.49), SWI/Makefile.am (1.41),
-	  XSB/Makefile.am (1.30), YAP/Makefile.am (1.32): Do not use the
-	  `-no-undefined' Libtool option to build the dynamically loadable
-	  modules.
-
-2004-12-22 Wednesday 16:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.167):	Changed  "of" to "on"  in:
-
-	   Note that all the documented operators automatically
-	  perform reductions on their arguments, when needed or
-	  appropriate.
-
-2004-12-22 Wednesday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.133): The remaining item postponed to version 0.8 or
-	  later.
-
-2004-12-22 Wednesday 16:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.132), doc/definitions.dox (1.166),
-	  src/Determinate.defs.hh (1.51): Added a note about lazy
-	  Omega-reduction in the documentation of the powerset domain.
-	  Avoid underscore when providing the name of operators, unless
-	  inside a <CODE> tag.
-
-2004-12-22 Wednesday 16:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Powerset.defs.hh (1.5): Added a reference to the description
-	  of the powerset domain in definitions.dox.  Documented the
-	  methods begin() and end() returning a const_iterator.
-
-2004-12-22 Wednesday 14:39  Abramo Bagnara
-
-	* src/float.types.hh (1.4): Added IEC559 conformance conditional
-	  for larger types.
-
-2004-12-22 Wednesday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.123): Better support for different
-	  definitions of `size_t'.
-
-2004-12-22 Wednesday 14:19  Abramo Bagnara
-
-	* src/float.types.hh (1.3): Added support for iec559 types
-	  detection.
-
-2004-12-22 Wednesday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Powerset.inlines.hh (1.6): Added a couple of inline
-	  declarations.
-
-2004-12-22 Wednesday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.152), demos/ppl_lcdd/Makefile.am (1.17): On
-	  Darwin, the `md5sum' program does not support the `-t' option and
-	  compilation is best done with the `-Wno-long-double' option.
-
-2004-12-22 Wednesday 13:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.131): Added an item saying that we should reconsider the
-	  "with_token" predicates in the Prolog interface.
-
-2004-12-22 Wednesday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/Makefile.am (1.16): Fixed the way `md5sum' is
-	  invoked.
-
-2004-12-22 Wednesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.lsm.in (1.6): Updated with new authors and new size of the
-	  archive.
-
-2004-12-22 Wednesday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.151): Version number bumped.
-
-2004-12-22 Wednesday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.130): Updated.
-
-2004-12-22 Wednesday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.18): The requirement of keeping source lines short
-	  has been softened.
-
-2004-12-22 Wednesday 10:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.129), interfaces/Prolog/Prolog_interface.dox (1.125),
-	  interfaces/Prolog/exceptions.hh (1.14),
-	  interfaces/Prolog/ppl_prolog.icc (1.150),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.77),
-	  interfaces/Prolog/tests/pl_check.pl (1.6): In the Prolog
-	  interface, exceptions now always thrown if input values (other
-	  than lists) are invalid.
-
-	  Tests for these new exceptions added to the pl_check.pl test
-	  file.
-
-	  Corrected bug in Prolog interface in the case when a list was
-	  expected but a non-list was input.
-
-	  The interface needs to be changed so that it throws an exception
-	  for non-lists (instead of just Prolog failure) when a list is
-	  expected; this job has been added to the TODO file.
-
-2004-12-22 Wednesday 00:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.240), timeelapse9.cc (1.1): Added a new
-	  test, experimenting method
-	  Polyhedra_Powerset::time_elapse_assign() as well as the new
-	  (corrected) implementation of the equality test for class
-	  Powerset.
-
-2004-12-22 Wednesday 00:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_Powerset.defs.hh (1.11),
-	  Polyhedra_Powerset.inlines.hh (1.13): Added methods
-	  intersection_assign() and time_elapse_assign(), exploiting the
-	  generic function Powerset::pairwise_apply_assign().  A lot of
-	  simple operators declared inline.
-
-2004-12-22 Wednesday 00:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Powerset.defs.hh (1.4), Powerset.inlines.hh (1.5): Member
-	  omega_reduce() made (temporarily) publicly available.  Added a
-	  generic method pairwise_apply_assign() to apply a binary operator
-	  to all pairs drawn from two powersets.  A lot of simple operators
-	  declared inline.
-
-2004-12-21 Tuesday 23:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.150), m4/ac_cxx_double_is_iec_559.m4 (1.1),
-	  m4/ac_cxx_float_is_iec_559.m4 (1.1),
-	  m4/ac_cxx_long_double_is_iec_559.m4 (1.1): New tests to check
-	  whether C++ floats, doubles and long doubles comply to IEC 559.
-
-2004-12-21 Tuesday 23:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.149): Detect the sizes of float, double and long
-	  double.
-
-2004-12-21 Tuesday 22:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.50), Determinate.inlines.hh (1.44):
-	  Added a function object adapter to lift any "apply_and_assign"
-	  function object defined on PH so as to obtain the corresponding
-	  function object working on Determinate<PH>.
-
-2004-12-21 Tuesday 22:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Widening_Function.defs.hh (1.9): Unary constructor made
-	  explicit.
-
-2004-12-21 Tuesday 22:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.17): std::swap_iter() ===> std::iter_swap().
-
-2004-12-21 Tuesday 08:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.165), src/Polyhedron.defs.hh (1.261):
-	  Spelling and similar corrections to the documentation.
-
-2004-12-21 Tuesday 08:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_c.h.in (1.43): Spelling and similar corrections
-	  to documentation.
-
-2004-12-20 Monday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_Row.cc (1.4): Unused, duplicated code removed.
-
-2004-12-20 Monday 21:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.inlines.hh (1.10): The Comeau and Intel C++
-	  compilers are actually right: if check_result() has internal
-	  linkage (is declared static) then, according to section 14.6.4.2
-	  of the C++ standard (Candidate Functions), it is not a candidate
-	  function and thus it is not found by the name lookup mechanism.
-
-2004-12-20 Monday 14:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/polydifference9.cc (1.6): Comment corrected.
-
-2004-12-20 Monday 11:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.122): Previous change corrected again.
-
-2004-12-20 Monday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.121): Previous change completed.
-
-2004-12-20 Monday 10:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.120): Support definitions for `size_t'
-	  different from `unsigned'.
-
-2004-12-20 Monday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.148): Detect the size of more C types.
-
-2004-12-20 Monday 07:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_int.inlines.hh (1.10): Fixed an instance of LONG_MAX
-	  that should instead be ULONG_MAX.
-
-2004-12-19 Sunday 12:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.22), configure.ac (1.147): Version
-	  number bumped.
-
-2004-12-19 Sunday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.31): Updated.
-
-2004-12-19 Sunday 11:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.143), Watchdog/NEWS (1.5): The tentative release date for
-	  PPL 0.7 is December 24, 2004.
-
-2004-12-19 Sunday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/swapping_sort.icc (1.7): Make sure emacs recognizes this file
-	  as C++.
-
-2004-12-19 Sunday 09:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.16), interfaces/C/ppl_c.cc (1.119),
-	  interfaces/Prolog/track_allocation.hh (1.14),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.76),
-	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.3),
-	  interfaces/Prolog/SWI/swi_pl_check.pl (1.2),
-	  interfaces/Prolog/tests/clpq.pl (1.4),
-	  interfaces/Prolog/tests/clpq2.pl (1.4),
-	  interfaces/Prolog/tests/pl_check.pl (1.5), src/Interval.defs.hh
-	  (1.20), src/Interval.inlines.hh (1.16), src/swapping_sort.icc
-	  (1.6), tests/bhz03widening2.cc (1.10), tests/bhz03widening3.cc
-	  (1.9), tests/bhz03widening5.cc (1.7), tests/bhz03widening6.cc
-	  (1.8), tests/expandspacedim1.cc (1.3), tests/foldspacedims1.cc
-	  (1.2), tests/foldspacedims2.cc (1.2), tests/watchdog1.cc (1.21):
-	  Avoid "baStudlyCaps" identifiers everywhere.
-
-2004-12-19 Sunday 09:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.inlines.hh (1.9): Workaround for the Comeau
-	  and Intel C++ compilers: they do not like the use of `static' in
-	  a particular context.
-
-2004-12-19 Sunday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.19), Watchdog/ChangeLog (1.9): Updated.
-
-2004-12-19 Sunday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.26), config.sub (1.24), Watchdog/config.guess
-	  (1.10), Watchdog/config.sub (1.9): Updated.
-
-2004-12-19 Sunday 07:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* install-sh (1.12), Watchdog/install-sh (1.9): Updated from
-	  Automake 1.9.4.
-
-2004-12-18 Saturday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.29): Erase the *.xwam files
-	  so as to force XSB to recompile.
-
-2004-12-18 Saturday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.142): One entry slightly improved.
-
-2004-12-18 Saturday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.149): No longer support unary
-	  plus in linear expressions.  Avoid long source lines.
-
-2004-12-17 Friday 18:59  Abramo Bagnara
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc, XSB/ppl_xsb.cc,
-	  YAP/ppl_yap.cc (altnum.[6,7,7]): Added missing colons.
-
-2004-12-17 Friday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (altnum.15): Created tests/Polyhedron/Makefile.
-
-2004-12-17 Friday 18:20  Abramo Bagnara
-
-	* configure.ac, demos/ppl_lcdd/ppl_lcdd.cc, interfaces/C/ppl_c.cc,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/YAP/ppl_yap.cc, src/Checked_Number.defs.hh,
-	  src/Checked_Number.inlines.hh, src/Interval.inlines.hh,
-	  src/Polyhedron_nonpublic.cc, src/checked.defs.hh,
-	  src/checked.inlines.hh, src/checked_float.inlines.hh,
-	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
-	  src/checked_mpz.inlines.hh
-	  (altnum.[14,9,7,8,5,4,6,7,6,6,14,15,7,10,21,14,15,22,17,20]):
-	  Added rounding support to checked functions.
-
-2004-12-17 Friday 18:18  Abramo Bagnara
-
-	* src/Makefile.am (altnum.19): Added new files.
-
-2004-12-17 Friday 18:17  Abramo Bagnara
-
-	* src/: Limits.hh, float.types.hh (altnum.[3,4]): More portable
-	  code.
-
-2004-12-17 Friday 18:17  Abramo Bagnara
-
-	* src/: Float.defs.hh, Float.inlines.hh (altnum.[1,1]): Better
-	  place for IEC559 format related functions.
-
-2004-12-17 Friday 18:16  Abramo Bagnara
-
-	* src/Numeric_Format.defs.hh (altnum.1): Initial empty
-	  Numeric_Format definition.
-
-2004-12-17 Friday 18:15  Abramo Bagnara
-
-	* src/: Result.defs.hh, Result.inlines.hh (altnum.[1,1]): Better
-	  place for Result.
-
-2004-12-17 Friday 18:15  Abramo Bagnara
-
-	* src/: fpu-c99.inlines.hh, fpu-ia32.inlines.hh, fpu.defs.hh
-	  (altnum.[1,1,1]): FPU manipulation functions.
-
-2004-12-17 Friday 18:14  Abramo Bagnara
-
-	* src/: checked_ext.defs.hh, checked_ext.inlines.hh (altnum.[1,1]):
-	  Better place for new extended numbers functions.
-
-2004-12-17 Friday 18:13  Abramo Bagnara
-
-	* src/: Rounding.defs.hh, Rounding.inlines.hh, Rounding.types.hh
-	  (altnum.[1,1,1]): Rounding mode support.
-
-2004-12-17 Friday 18:11  Abramo Bagnara
-
-	* src/: compiler.hh, globals.defs.hh (altnum.[1,8]): Moved used
-	  helper to better place.
-
-2004-12-17 Friday 17:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (altnum.18): Do not mention DB_Shape.cc.
-
-2004-12-17 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (altnum.17): Do not mention DB_Matrix.cc.
-
-2004-12-17 Friday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (altnum.16): Do not mention DB_Row.cc.
-
-2004-12-17 Friday 12:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.141), interfaces/Prolog/Prolog_interface.dox (1.124): As
-	  it is not in standard Prolog, the unary "+" is not supported in
-	  the Prolog interface.
-
-2004-12-16 Thursday 19:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.128): Dealt with one item of the list.
-
-2004-12-16 Thursday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.118): Fixed a problem whereby
-	  ppl_set_error_handler() could have (depending on the compiler
-	  employed) C++ linkage instead of C linkage.
-
-2004-12-16 Thursday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.8): Define a dummy
-	  set_GMP_memory_allocation_functions(), if the C++ compiler does
-	  not support __attribute__((weak)).
-
-2004-12-16 Thursday 18:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.146), demos/ppl_lcdd/ppl_lcdd.cc (1.39): Do not
-	  use C++-style comments in config.h.
-
-2004-12-16 Thursday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.61): Unused variable
-	  `a_throw' removed.
-
-2004-12-16 Thursday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.145), src/Coefficient.types.hh (1.2),
-	  src/ppl_header.middle (1.5): Problem with Comeau C/C++ and the
-	  definition of `int64_t' solved in a better way.  Always link with
-	  the `libm' library.
-
-2004-12-16 Thursday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: addgenerator1.cc (1.9), addgenerator2.cc (1.9): Tests
-	  corrected: they were just calling generators(), yet relying on
-	  the fact that a non-redundant description would have been
-	  obtained.
-
-2004-12-16 Thursday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.46): Added a preprocessing flag to
-	  control whether we insist on returning sorted descriptions.
-	  Currently the flag is unset and we only order the generator
-	  systems of NNC polyhedra, if these are known to be in minimal
-	  form.
-
-2004-12-16 Thursday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_System.cc (1.13): Corrected a bug in method
-	  add_rows(); the sortedness flag was not handled correctly when
-	  the arguemnt was not sorted or had pending rows. This bug was
-	  hidden by some unnecessary sorting done before calling the
-	  method.
-
-2004-12-16 Thursday 12:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.12): We were relying on a
-	  GCC bug concerning name-lookup.
-
-2004-12-16 Thursday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.middle (1.4): // In order for the definition of
-	  `int64_t' to be seen by Comeau C/C++, // we must make sure
-	  <stdint.h> is included before <sys/types.hh> is // (even
-	  indirectly) included.  #include <stdint.h>
-
-2004-12-16 Thursday 09:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.123): Some errors
-	  corrected. The token C_unsigned now used to name a C unsigned
-	  integer.
-
-2004-12-16 Thursday 08:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.140), interfaces/Prolog/Prolog_interface.dox (1.122),
-	  interfaces/Prolog/ppl_prolog.icc (1.148),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.12),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.8),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.8),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.75),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.49),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.70),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.94),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.36),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.60),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.11),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.9),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.13),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.86),
-	  interfaces/Prolog/tests/clpq.pl (1.3),
-	  interfaces/Prolog/tests/clpq2.pl (1.3),
-	  interfaces/Prolog/tests/pl_check.pl (1.4): In the Prolog
-	  interface, the predicates
-	  ppl_new_polyhedron_universe_from_space_dimension/3 and
-	  ppl_new_polyhedron_empty_from_space_dimension/3 have been
-	  replaced by	 a single predicate
-	  ppl_new_polyhedron_from_space_dimension/4 where the (extra) third
-	  argument    indicates whether the polyhedron to be created should
-	  be the    universe or the empty polyhedron.  NEWS has been
-	  revised accordingly.
-
-2004-12-15 Wednesday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_int.inlines.hh (1.9): Declare strtoll() and
-	  strtoull() if they are not already declared.
-
-2004-12-15 Wednesday 23:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.12): Fixed the return value of
-	  template <typename Policy, typename T> Result succ_float(T&).
-
-2004-12-15 Wednesday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.inlines.hh (1.10): Fixed
-	  Linear_System::With_Saturation_Matrix_iterator::operator->().
-
-2004-12-15 Wednesday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Saturation_Row.cc (1.3), Saturation_Row.inlines.hh (1.2):
-	  Depend on HAVE_DECL_FFS instead of HAS_FFS.
-
-2004-12-15 Wednesday 23:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.144): Checks for the availability of ffs, strtoll
-	  and strtoull in C++.
-
-2004-12-15 Wednesday 23:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.defs.hh (1.11): Use
-	  std::iterator_traits<Iter1>::attribute instead of
-	  Iter1::attribute.
-
-2004-12-15 Wednesday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Limits.hh (1.3), checked_float.inlines.hh (1.11),
-	  checked_int.inlines.hh (1.8): Moved the declaration of LLONG_MIN,
-	  LLONG_MAX and ULLONG_MAX to Limits.hh.  Refer to C99 standard
-	  types uint*_t instead of u_int*_t.  Include <climits> and
-	  <cstdlib> instead of <limits.h> and <stdlib.h>.
-
-2004-12-15 Wednesday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_int.inlines.hh (1.7): Define ULLONG_MAX, if it is not
-	  already defined.  Use ULLONG_MAX instead of ULONG_LONG_MAX, since
-	  the latter is GCC-specific.
-
-2004-12-15 Wednesday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.91): Explicitly pass CPPFLAGS when invoking
-	  CXXCPP explicitly.
-
-2004-12-15 Wednesday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.143): Added a check for the size of long long.
-	  Fixed a couple of comments.
-
-2004-12-14 Tuesday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.139), interfaces/Prolog/Prolog_interface.dox (1.121),
-	  interfaces/Prolog/ppl_prolog.icc (1.147),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.11),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.7),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.7),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.74),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.48),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.69),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.93),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.35),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.59),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.10),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.8),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.12),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.85),
-	  interfaces/Prolog/tests/clpq.pl (1.2),
-	  interfaces/Prolog/tests/clpq2.pl (1.2),
-	  interfaces/Prolog/tests/pl_check.pl (1.3): In the Prolog
-	  interface, the predicate    ppl_new_polyhedron_from_dimension/3
-	  has been renamed
-	  ppl_new_polyhedron_universe_from_space_dimension/3	and the
-	  predicate    ppl_new_polyhedron_empty_from_dimension/3 has been
-	  renamed    ppl_new_polyhedron_empty_from_space_dimension/3.  NEWS
-	  updated to include this information.
-
-2004-12-14 Tuesday 11:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.120): Replace the date
-	  type "Integer" used in the syntax specification by
-	  "Dimension_Type", "Coefficient", "C_int", or "Token_Flag" as
-	  appropriate.	Some other small improvements and corrections also
-	  done.
-
-2004-12-14 Tuesday 10:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.42): Reverted previous change, since
-	  it was hiding a doxygen bug, which is the actual source of the
-	  undefined reference.
-
-2004-12-13 Monday 15:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.41): Avoid autolink generation for
-	  ppl_c.h.
-
-2004-12-13 Monday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref.tex (1.16), user.tex (1.17): Also thank the new
-	  COFIN project.
-
-2004-12-13 Monday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron_nonpublic.cc (1.40), Polyhedron_public.cc
-	  (1.45): Minor documentation changes; use const where appropriate.
-
-2004-12-13 Monday 08:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.127): The sorting routines have been completely
-	  rewritten.CVS:
-	  ----------------------------------------------------------------------
-
-2004-12-12 Sunday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, src/BDS_Status.idefs.hh, src/BDS_Status.inlines.hh,
-	  src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
-	  src/BD_Shape.types.hh, src/DB_Matrix.defs.hh,
-	  src/DB_Matrix.inlines.hh, src/DB_Matrix.types.hh,
-	  src/DB_Row.defs.hh, src/DB_Row.inlines.hh, src/DB_Row.types.hh,
-	  src/E_NIT.defs.hh, src/E_NIT.inlines.hh, src/E_NIT.types.hh,
-	  src/E_Rational.defs.hh, src/E_Rational.inlines.hh,
-	  src/E_Rational.types.hh, src/Makefile.am,
-	  src/Ptr_Iterator.defs.hh, src/Ptr_Iterator.inlines.hh,
-	  src/Ptr_Iterator.types.hh, src/globals.defs.hh,
-	  src/globals.inlines.hh
-	  (altnum.[4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,15,1,1,1,7,4]):
-	  Added a draft implementation of bounded differences.
-
-2004-12-12 Sunday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Polyhedron/Makefile.am (altnum.2): The `BBox' class
-	  implementation is now contained in the convenience library
-	  `libppl_tests'.
-
-2004-12-12 Sunday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, tests/.cvsignore, tests/CbecomesNNC1.cc,
-	  tests/Makefile.am, tests/NNCbecomesC1.cc, tests/NNCminimize1.cc,
-	  tests/NNCminimize2.cc, tests/NNCminimize3.cc,
-	  tests/NNCminimize4.cc, tests/NNCminimize5.cc,
-	  tests/NNCminimize6.cc, tests/README, tests/addconstraint1.cc,
-	  tests/addconstraint2.cc, tests/addconstraint3.cc,
-	  tests/addconstraints1.cc, tests/addconstraints10.cc,
-	  tests/addconstraints11.cc, tests/addconstraints12.cc,
-	  tests/addconstraints13.cc, tests/addconstraints2.cc,
-	  tests/addconstraints3.cc, tests/addconstraints4.cc,
-	  tests/addconstraints5.cc, tests/addconstraints6.cc,
-	  tests/addconstraints7.cc, tests/addconstraints8.cc,
-	  tests/addconstraints9.cc, tests/addgenerator1.cc,
-	  tests/addgenerator2.cc, tests/addgenerator3.cc,
-	  tests/addgenerator4.cc, tests/addgenerator5.cc,
-	  tests/addgenerators1.cc, tests/addgenerators10.cc,
-	  tests/addgenerators11.cc, tests/addgenerators12.cc,
-	  tests/addgenerators13.cc, tests/addgenerators2.cc,
-	  tests/addgenerators3.cc, tests/addgenerators4.cc,
-	  tests/addgenerators5.cc, tests/addgenerators6.cc,
-	  tests/addgenerators7.cc, tests/addgenerators8.cc,
-	  tests/addgenerators9.cc, tests/addspacedims1.cc,
-	  tests/addspacedims10.cc, tests/addspacedims11.cc,
-	  tests/addspacedims12.cc, tests/addspacedims13.cc,
-	  tests/addspacedims2.cc, tests/addspacedims3.cc,
-	  tests/addspacedims4.cc, tests/addspacedims5.cc,
-	  tests/addspacedims6.cc, tests/addspacedims7.cc,
-	  tests/addspacedims8.cc, tests/addspacedims9.cc,
-	  tests/affineimage1.cc, tests/affineimage2.cc,
-	  tests/affineimage3.cc, tests/affineimage4.cc,
-	  tests/affineimage5.cc, tests/affineimage6.cc,
-	  tests/affineimage7.cc, tests/affineimage8.cc,
-	  tests/affineimage9.cc, tests/affinepreimage1.cc,
-	  tests/affinepreimage10.cc, tests/affinepreimage2.cc,
-	  tests/affinepreimage3.cc, tests/affinepreimage4.cc,
-	  tests/affinepreimage5.cc, tests/affinepreimage6.cc,
-	  tests/affinepreimage7.cc, tests/affinepreimage8.cc,
-	  tests/affinepreimage9.cc, tests/affinetrans.cc, tests/append1.cc,
-	  tests/append2.cc, tests/ascii_dump_load1.cc,
-	  tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc,
-	  tests/ascii_dump_load4.cc, tests/ascii_dump_load5.cc,
-	  tests/ascii_dump_load6.cc, tests/ascii_dump_load7.cc,
-	  tests/bgp99extrapolation1.cc, tests/bgp99extrapolation2.cc,
-	  tests/bhrz03widening1.cc, tests/bhrz03widening10.cc,
-	  tests/bhrz03widening11.cc, tests/bhrz03widening12.cc,
-	  tests/bhrz03widening13.cc, tests/bhrz03widening14.cc,
-	  tests/bhrz03widening15.cc, tests/bhrz03widening16.cc,
-	  tests/bhrz03widening17.cc, tests/bhrz03widening18.cc,
-	  tests/bhrz03widening19.cc, tests/bhrz03widening2.cc,
-	  tests/bhrz03widening3.cc, tests/bhrz03widening4.cc,
-	  tests/bhrz03widening5.cc, tests/bhrz03widening6.cc,
-	  tests/bhrz03widening7.cc, tests/bhrz03widening8.cc,
-	  tests/bhrz03widening9.cc, tests/bhz03widening1.cc,
-	  tests/bhz03widening2.cc, tests/bhz03widening3.cc,
-	  tests/bhz03widening4.cc, tests/bhz03widening5.cc,
-	  tests/bhz03widening6.cc, tests/bounded1.cc,
-	  tests/boundedh79extrapolation1.cc, tests/boundingbox1.cc,
-	  tests/boundingbox2.cc, tests/boundingbox3.cc,
-	  tests/boundingbox4.cc, tests/boundingbox5.cc, tests/bounds1.cc,
-	  tests/bounds2.cc, tests/concatenate1.cc, tests/concatenate2.cc,
-	  tests/concatenate3.cc, tests/concatenate4.cc,
-	  tests/concatenate5.cc, tests/concatenate6.cc,
-	  tests/constraints1.cc, tests/constraints2.cc,
-	  tests/constraints3.cc, tests/constraints4.cc, tests/contains1.cc,
-	  tests/contains2.cc, tests/contains3.cc, tests/contains4.cc,
-	  tests/contains5.cc, tests/disjoint1.cc, tests/disjoint2.cc,
-	  tests/disjoint3.cc, tests/dualhypercubes.cc, tests/empty1.cc,
-	  tests/equals1.cc, tests/exceptions1.cc, tests/exceptions2.cc,
-	  tests/exceptions3.cc, tests/expandspacedim1.cc,
-	  tests/expandspacedim2.cc, tests/foldspacedims1.cc,
-	  tests/foldspacedims2.cc, tests/generalizedaffineimage1.cc,
-	  tests/generalizedaffineimage10.cc,
-	  tests/generalizedaffineimage11.cc,
-	  tests/generalizedaffineimage12.cc,
-	  tests/generalizedaffineimage2.cc,
-	  tests/generalizedaffineimage3.cc,
-	  tests/generalizedaffineimage4.cc,
-	  tests/generalizedaffineimage5.cc,
-	  tests/generalizedaffineimage6.cc,
-	  tests/generalizedaffineimage7.cc,
-	  tests/generalizedaffineimage8.cc,
-	  tests/generalizedaffineimage9.cc, tests/generators1.cc,
-	  tests/generators2.cc, tests/generators3.cc, tests/generators4.cc,
-	  tests/generators5.cc, tests/generators6.cc, tests/geomcovers1.cc,
-	  tests/h79widening1.cc, tests/h79widening2.cc,
-	  tests/h79widening3.cc, tests/h79widening4.cc,
-	  tests/h79widening5.cc, tests/h79widening6.cc,
-	  tests/h79widening7.cc, tests/h79widening8.cc,
-	  tests/intersection1.cc, tests/intersection10.cc,
-	  tests/intersection11.cc, tests/intersection2.cc,
-	  tests/intersection3.cc, tests/intersection4.cc,
-	  tests/intersection5.cc, tests/intersection6.cc,
-	  tests/intersection7.cc, tests/intersection8.cc,
-	  tests/intersection9.cc, tests/limitedbhrz03extrapolation1.cc,
-	  tests/limitedh79extrapolation1.cc,
-	  tests/limitedh79extrapolation2.cc,
-	  tests/limitedh79extrapolation3.cc,
-	  tests/limitedh79extrapolation4.cc, tests/linearpartition1.cc,
-	  tests/linearpartition2.cc, tests/linearpartition3.cc,
-	  tests/linearpartition4.cc, tests/linexpression1.cc,
-	  tests/mapspacedims1.cc, tests/mapspacedims2.cc,
-	  tests/mapspacedims3.cc, tests/mapspacedims4.cc,
-	  tests/max_min1.cc, tests/max_min2.cc, tests/maxspacedim1.cc,
-	  tests/mc91.cc, tests/membytes1.cc, tests/membytes2.cc,
-	  tests/memory1.cc, tests/minconstraints1.cc,
-	  tests/minconstraints2.cc, tests/minconstraints3.cc,
-	  tests/minconstraints4.cc, tests/mingenerators1.cc,
-	  tests/mingenerators2.cc, tests/mingenerators3.cc,
-	  tests/onepoint.cc, tests/permute.cc, tests/polydifference1.cc,
-	  tests/polydifference2.cc, tests/polydifference3.cc,
-	  tests/polydifference4.cc, tests/polydifference5.cc,
-	  tests/polydifference6.cc, tests/polydifference7.cc,
-	  tests/polydifference8.cc, tests/polydifference9.cc,
-	  tests/polyhull1.cc, tests/polyhull10.cc, tests/polyhull11.cc,
-	  tests/polyhull2.cc, tests/polyhull3.cc, tests/polyhull4.cc,
-	  tests/polyhull5.cc, tests/polyhull6.cc, tests/polyhull7.cc,
-	  tests/polyhull8.cc, tests/polyhull9.cc, tests/randphull1.cc,
-	  tests/randphull2.cc, tests/relations1.cc, tests/relations10.cc,
-	  tests/relations11.cc, tests/relations12.cc, tests/relations13.cc,
-	  tests/relations14.cc, tests/relations15.cc, tests/relations16.cc,
-	  tests/relations17.cc, tests/relations18.cc, tests/relations19.cc,
-	  tests/relations2.cc, tests/relations3.cc, tests/relations4.cc,
-	  tests/relations5.cc, tests/relations6.cc, tests/relations7.cc,
-	  tests/relations8.cc, tests/relations9.cc,
-	  tests/removespacedims1.cc, tests/removespacedims10.cc,
-	  tests/removespacedims2.cc, tests/removespacedims3.cc,
-	  tests/removespacedims4.cc, tests/removespacedims5.cc,
-	  tests/removespacedims6.cc, tests/removespacedims7.cc,
-	  tests/removespacedims8.cc, tests/removespacedims9.cc,
-	  tests/smm1.cc, tests/timeelapse1.cc, tests/timeelapse2.cc,
-	  tests/timeelapse3.cc, tests/timeelapse4.cc, tests/timeelapse5.cc,
-	  tests/timeelapse6.cc, tests/timeelapse7.cc, tests/timeelapse8.cc,
-	  tests/topclosed1.cc, tests/topclosed2.cc, tests/topclosed3.cc,
-	  tests/topclosure1.cc, tests/topclosure2.cc, tests/topclosure3.cc,
-	  tests/topclosure4.cc, tests/universe1.cc, tests/universe2.cc,
-	  tests/universe3.cc, tests/universe4.cc, tests/universe5.cc,
-	  tests/universe6.cc, tests/universe7.cc,
-	  tests/valgrind_suppressions, tests/watchdog1.cc,
-	  tests/writeconsys1.cc, tests/writegensys1.cc,
-	  tests/writegensys2.cc, tests/writegensys3.cc,
-	  tests/writepolyhedron1.cc, tests/writepolyhedron2.cc,
-	  tests/writepolyhedron3.cc, tests/writerelation1.cc,
-	  tests/writevariable1.cc, tests/Polyhedron/.cvsignore,
-	  tests/Polyhedron/CbecomesNNC1.cc, tests/Polyhedron/Makefile.am,
-	  tests/Polyhedron/NNCbecomesC1.cc,
-	  tests/Polyhedron/NNCminimize1.cc,
-	  tests/Polyhedron/NNCminimize2.cc,
-	  tests/Polyhedron/NNCminimize3.cc,
-	  tests/Polyhedron/NNCminimize4.cc,
-	  tests/Polyhedron/NNCminimize5.cc,
-	  tests/Polyhedron/NNCminimize6.cc, tests/Polyhedron/README,
-	  tests/Polyhedron/addconstraint1.cc,
-	  tests/Polyhedron/addconstraint2.cc,
-	  tests/Polyhedron/addconstraint3.cc,
-	  tests/Polyhedron/addconstraints1.cc,
-	  tests/Polyhedron/addconstraints10.cc,
-	  tests/Polyhedron/addconstraints11.cc,
-	  tests/Polyhedron/addconstraints12.cc,
-	  tests/Polyhedron/addconstraints13.cc,
-	  tests/Polyhedron/addconstraints2.cc,
-	  tests/Polyhedron/addconstraints3.cc,
-	  tests/Polyhedron/addconstraints4.cc,
-	  tests/Polyhedron/addconstraints5.cc,
-	  tests/Polyhedron/addconstraints6.cc,
-	  tests/Polyhedron/addconstraints7.cc,
-	  tests/Polyhedron/addconstraints8.cc,
-	  tests/Polyhedron/addconstraints9.cc,
-	  tests/Polyhedron/addgenerator1.cc,
-	  tests/Polyhedron/addgenerator2.cc,
-	  tests/Polyhedron/addgenerator3.cc,
-	  tests/Polyhedron/addgenerator4.cc,
-	  tests/Polyhedron/addgenerator5.cc,
-	  tests/Polyhedron/addgenerators1.cc,
-	  tests/Polyhedron/addgenerators10.cc,
-	  tests/Polyhedron/addgenerators11.cc,
-	  tests/Polyhedron/addgenerators12.cc,
-	  tests/Polyhedron/addgenerators13.cc,
-	  tests/Polyhedron/addgenerators2.cc,
-	  tests/Polyhedron/addgenerators3.cc,
-	  tests/Polyhedron/addgenerators4.cc,
-	  tests/Polyhedron/addgenerators5.cc,
-	  tests/Polyhedron/addgenerators6.cc,
-	  tests/Polyhedron/addgenerators7.cc,
-	  tests/Polyhedron/addgenerators8.cc,
-	  tests/Polyhedron/addgenerators9.cc,
-	  tests/Polyhedron/addspacedims1.cc,
-	  tests/Polyhedron/addspacedims10.cc,
-	  tests/Polyhedron/addspacedims11.cc,
-	  tests/Polyhedron/addspacedims12.cc,
-	  tests/Polyhedron/addspacedims13.cc,
-	  tests/Polyhedron/addspacedims2.cc,
-	  tests/Polyhedron/addspacedims3.cc,
-	  tests/Polyhedron/addspacedims4.cc,
-	  tests/Polyhedron/addspacedims5.cc,
-	  tests/Polyhedron/addspacedims6.cc,
-	  tests/Polyhedron/addspacedims7.cc,
-	  tests/Polyhedron/addspacedims8.cc,
-	  tests/Polyhedron/addspacedims9.cc,
-	  tests/Polyhedron/affineimage1.cc,
-	  tests/Polyhedron/affineimage2.cc,
-	  tests/Polyhedron/affineimage3.cc,
-	  tests/Polyhedron/affineimage4.cc,
-	  tests/Polyhedron/affineimage5.cc,
-	  tests/Polyhedron/affineimage6.cc,
-	  tests/Polyhedron/affineimage7.cc,
-	  tests/Polyhedron/affineimage8.cc,
-	  tests/Polyhedron/affineimage9.cc,
-	  tests/Polyhedron/affinepreimage1.cc,
-	  tests/Polyhedron/affinepreimage10.cc,
-	  tests/Polyhedron/affinepreimage2.cc,
-	  tests/Polyhedron/affinepreimage3.cc,
-	  tests/Polyhedron/affinepreimage4.cc,
-	  tests/Polyhedron/affinepreimage5.cc,
-	  tests/Polyhedron/affinepreimage6.cc,
-	  tests/Polyhedron/affinepreimage7.cc,
-	  tests/Polyhedron/affinepreimage8.cc,
-	  tests/Polyhedron/affinepreimage9.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/ascii_dump_load4.cc,
-	  tests/Polyhedron/ascii_dump_load5.cc,
-	  tests/Polyhedron/ascii_dump_load6.cc,
-	  tests/Polyhedron/ascii_dump_load7.cc,
-	  tests/Polyhedron/bgp99extrapolation1.cc,
-	  tests/Polyhedron/bgp99extrapolation2.cc,
-	  tests/Polyhedron/bhrz03widening1.cc,
-	  tests/Polyhedron/bhrz03widening10.cc,
-	  tests/Polyhedron/bhrz03widening11.cc,
-	  tests/Polyhedron/bhrz03widening12.cc,
-	  tests/Polyhedron/bhrz03widening13.cc,
-	  tests/Polyhedron/bhrz03widening14.cc,
-	  tests/Polyhedron/bhrz03widening15.cc,
-	  tests/Polyhedron/bhrz03widening16.cc,
-	  tests/Polyhedron/bhrz03widening17.cc,
-	  tests/Polyhedron/bhrz03widening18.cc,
-	  tests/Polyhedron/bhrz03widening19.cc,
-	  tests/Polyhedron/bhrz03widening2.cc,
-	  tests/Polyhedron/bhrz03widening3.cc,
-	  tests/Polyhedron/bhrz03widening4.cc,
-	  tests/Polyhedron/bhrz03widening5.cc,
-	  tests/Polyhedron/bhrz03widening6.cc,
-	  tests/Polyhedron/bhrz03widening7.cc,
-	  tests/Polyhedron/bhrz03widening8.cc,
-	  tests/Polyhedron/bhrz03widening9.cc,
-	  tests/Polyhedron/bhz03widening1.cc,
-	  tests/Polyhedron/bhz03widening2.cc,
-	  tests/Polyhedron/bhz03widening3.cc,
-	  tests/Polyhedron/bhz03widening4.cc,
-	  tests/Polyhedron/bhz03widening5.cc,
-	  tests/Polyhedron/bhz03widening6.cc, tests/Polyhedron/bounded1.cc,
-	  tests/Polyhedron/boundedh79extrapolation1.cc,
-	  tests/Polyhedron/boundingbox1.cc,
-	  tests/Polyhedron/boundingbox2.cc,
-	  tests/Polyhedron/boundingbox3.cc,
-	  tests/Polyhedron/boundingbox4.cc,
-	  tests/Polyhedron/boundingbox5.cc, tests/Polyhedron/bounds1.cc,
-	  tests/Polyhedron/bounds2.cc, tests/Polyhedron/concatenate1.cc,
-	  tests/Polyhedron/concatenate2.cc,
-	  tests/Polyhedron/concatenate3.cc,
-	  tests/Polyhedron/concatenate4.cc,
-	  tests/Polyhedron/concatenate5.cc,
-	  tests/Polyhedron/concatenate6.cc,
-	  tests/Polyhedron/constraints1.cc,
-	  tests/Polyhedron/constraints2.cc,
-	  tests/Polyhedron/constraints3.cc,
-	  tests/Polyhedron/constraints4.cc, tests/Polyhedron/contains1.cc,
-	  tests/Polyhedron/contains2.cc, tests/Polyhedron/contains3.cc,
-	  tests/Polyhedron/contains4.cc, tests/Polyhedron/contains5.cc,
-	  tests/Polyhedron/disjoint1.cc, tests/Polyhedron/disjoint2.cc,
-	  tests/Polyhedron/disjoint3.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/generalizedaffineimage1.cc,
-	  tests/Polyhedron/generalizedaffineimage10.cc,
-	  tests/Polyhedron/generalizedaffineimage11.cc,
-	  tests/Polyhedron/generalizedaffineimage12.cc,
-	  tests/Polyhedron/generalizedaffineimage2.cc,
-	  tests/Polyhedron/generalizedaffineimage3.cc,
-	  tests/Polyhedron/generalizedaffineimage4.cc,
-	  tests/Polyhedron/generalizedaffineimage5.cc,
-	  tests/Polyhedron/generalizedaffineimage6.cc,
-	  tests/Polyhedron/generalizedaffineimage7.cc,
-	  tests/Polyhedron/generalizedaffineimage8.cc,
-	  tests/Polyhedron/generalizedaffineimage9.cc,
-	  tests/Polyhedron/generators1.cc, tests/Polyhedron/generators2.cc,
-	  tests/Polyhedron/generators3.cc, tests/Polyhedron/generators4.cc,
-	  tests/Polyhedron/generators5.cc, tests/Polyhedron/generators6.cc,
-	  tests/Polyhedron/geomcovers1.cc,
-	  tests/Polyhedron/h79widening1.cc,
-	  tests/Polyhedron/h79widening2.cc,
-	  tests/Polyhedron/h79widening3.cc,
-	  tests/Polyhedron/h79widening4.cc,
-	  tests/Polyhedron/h79widening5.cc,
-	  tests/Polyhedron/h79widening6.cc,
-	  tests/Polyhedron/h79widening7.cc,
-	  tests/Polyhedron/h79widening8.cc,
-	  tests/Polyhedron/intersection1.cc,
-	  tests/Polyhedron/intersection10.cc,
-	  tests/Polyhedron/intersection11.cc,
-	  tests/Polyhedron/intersection2.cc,
-	  tests/Polyhedron/intersection3.cc,
-	  tests/Polyhedron/intersection4.cc,
-	  tests/Polyhedron/intersection5.cc,
-	  tests/Polyhedron/intersection6.cc,
-	  tests/Polyhedron/intersection7.cc,
-	  tests/Polyhedron/intersection8.cc,
-	  tests/Polyhedron/intersection9.cc,
-	  tests/Polyhedron/limitedbhrz03extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation1.cc,
-	  tests/Polyhedron/limitedh79extrapolation2.cc,
-	  tests/Polyhedron/limitedh79extrapolation3.cc,
-	  tests/Polyhedron/limitedh79extrapolation4.cc,
-	  tests/Polyhedron/linearpartition1.cc,
-	  tests/Polyhedron/linearpartition2.cc,
-	  tests/Polyhedron/linearpartition3.cc,
-	  tests/Polyhedron/linearpartition4.cc,
-	  tests/Polyhedron/linexpression1.cc,
-	  tests/Polyhedron/mapspacedims1.cc,
-	  tests/Polyhedron/mapspacedims2.cc,
-	  tests/Polyhedron/mapspacedims3.cc,
-	  tests/Polyhedron/mapspacedims4.cc, tests/Polyhedron/max_min1.cc,
-	  tests/Polyhedron/max_min2.cc, tests/Polyhedron/maxspacedim1.cc,
-	  tests/Polyhedron/mc91.cc, tests/Polyhedron/membytes1.cc,
-	  tests/Polyhedron/membytes2.cc, tests/Polyhedron/memory1.cc,
-	  tests/Polyhedron/minconstraints1.cc,
-	  tests/Polyhedron/minconstraints2.cc,
-	  tests/Polyhedron/minconstraints3.cc,
-	  tests/Polyhedron/minconstraints4.cc,
-	  tests/Polyhedron/mingenerators1.cc,
-	  tests/Polyhedron/mingenerators2.cc,
-	  tests/Polyhedron/mingenerators3.cc, tests/Polyhedron/onepoint.cc,
-	  tests/Polyhedron/permute.cc, tests/Polyhedron/polydifference1.cc,
-	  tests/Polyhedron/polydifference2.cc,
-	  tests/Polyhedron/polydifference3.cc,
-	  tests/Polyhedron/polydifference4.cc,
-	  tests/Polyhedron/polydifference5.cc,
-	  tests/Polyhedron/polydifference6.cc,
-	  tests/Polyhedron/polydifference7.cc,
-	  tests/Polyhedron/polydifference8.cc,
-	  tests/Polyhedron/polydifference9.cc,
-	  tests/Polyhedron/polyhull1.cc, tests/Polyhedron/polyhull10.cc,
-	  tests/Polyhedron/polyhull11.cc, tests/Polyhedron/polyhull2.cc,
-	  tests/Polyhedron/polyhull3.cc, tests/Polyhedron/polyhull4.cc,
-	  tests/Polyhedron/polyhull5.cc, tests/Polyhedron/polyhull6.cc,
-	  tests/Polyhedron/polyhull7.cc, tests/Polyhedron/polyhull8.cc,
-	  tests/Polyhedron/polyhull9.cc, tests/Polyhedron/randphull1.cc,
-	  tests/Polyhedron/randphull2.cc, tests/Polyhedron/relations1.cc,
-	  tests/Polyhedron/relations10.cc, tests/Polyhedron/relations11.cc,
-	  tests/Polyhedron/relations12.cc, tests/Polyhedron/relations13.cc,
-	  tests/Polyhedron/relations14.cc, tests/Polyhedron/relations15.cc,
-	  tests/Polyhedron/relations16.cc, tests/Polyhedron/relations17.cc,
-	  tests/Polyhedron/relations18.cc, tests/Polyhedron/relations19.cc,
-	  tests/Polyhedron/relations2.cc, tests/Polyhedron/relations3.cc,
-	  tests/Polyhedron/relations4.cc, tests/Polyhedron/relations5.cc,
-	  tests/Polyhedron/relations6.cc, tests/Polyhedron/relations7.cc,
-	  tests/Polyhedron/relations8.cc, tests/Polyhedron/relations9.cc,
-	  tests/Polyhedron/removespacedims1.cc,
-	  tests/Polyhedron/removespacedims10.cc,
-	  tests/Polyhedron/removespacedims2.cc,
-	  tests/Polyhedron/removespacedims3.cc,
-	  tests/Polyhedron/removespacedims4.cc,
-	  tests/Polyhedron/removespacedims5.cc,
-	  tests/Polyhedron/removespacedims6.cc,
-	  tests/Polyhedron/removespacedims7.cc,
-	  tests/Polyhedron/removespacedims8.cc,
-	  tests/Polyhedron/removespacedims9.cc, tests/Polyhedron/smm1.cc,
-	  tests/Polyhedron/timeelapse1.cc, tests/Polyhedron/timeelapse2.cc,
-	  tests/Polyhedron/timeelapse3.cc, tests/Polyhedron/timeelapse4.cc,
-	  tests/Polyhedron/timeelapse5.cc, tests/Polyhedron/timeelapse6.cc,
-	  tests/Polyhedron/timeelapse7.cc, tests/Polyhedron/timeelapse8.cc,
-	  tests/Polyhedron/topclosed1.cc, tests/Polyhedron/topclosed2.cc,
-	  tests/Polyhedron/topclosed3.cc, tests/Polyhedron/topclosure1.cc,
-	  tests/Polyhedron/topclosure2.cc, tests/Polyhedron/topclosure3.cc,
-	  tests/Polyhedron/topclosure4.cc, tests/Polyhedron/universe1.cc,
-	  tests/Polyhedron/universe2.cc, tests/Polyhedron/universe3.cc,
-	  tests/Polyhedron/universe4.cc, tests/Polyhedron/universe5.cc,
-	  tests/Polyhedron/universe6.cc, tests/Polyhedron/universe7.cc,
-	  tests/Polyhedron/valgrind_suppressions,
-	  tests/Polyhedron/watchdog1.cc, tests/Polyhedron/writeconsys1.cc,
-	  tests/Polyhedron/writegensys1.cc,
-	  tests/Polyhedron/writegensys2.cc,
-	  tests/Polyhedron/writegensys3.cc,
-	  tests/Polyhedron/writepolyhedron1.cc,
-	  tests/Polyhedron/writepolyhedron2.cc,
-	  tests/Polyhedron/writepolyhedron3.cc,
-	  tests/Polyhedron/writerelation1.cc,
-	  tests/Polyhedron/writevariable1.cc
-	  (altnum.[13,2,2,8,2,2,2,2,2,3,2,2,3,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,2,3,3,2,2,4,2,2,2,2,2,2,2,2,2,2,3,4,3,2,2,2,3,3,3,3,3,2,3,1,1,2,1,1,1,2,1,3,2,1,1,1,2,1,1,2,1,1,2,2,2,1,1,1,2,1,1,2,5,4,2,1,1,2,2,2,2,2,2,2,2,2,1,1,1,2,2,2,3,5,4,5,5,4,4,2,2,6,4,3,3,2,2,1,3,2,2,2,1,1,2,2,2,2,1,2,2,2,2,1,2,2,3,2,2,3,4,5,3,2,2,2,1,1,1,1,1,1,1,1,1,1,1,2,3,3,2,3,2,2,3,1,1,1,2,1,2,1,2,1,1,1,2,1,2,1,2,1,1,1,2,2,2,3,2,3,3,3,3,2,3,2,2,2,2,2,3,2,3,2,1,2,2,2,2,2,2,2,1,2,3,2,2,1,1,1,1,3,4,2,2,2,2,1,1,1,1,2,1,1 [...]
-	  Tests for the polyhedra classes are now in `tests/Polyhedron'.
-
-2004-12-12 Sunday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Native_Integer.inlines.hh (1.7): Added the implementation of
-	  constructors from native floating-point types.
-
-2004-12-11 Saturday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, README, STANDARDS, TODO, configure.ac,
-	  Watchdog/EList_Iterator.inlines.hh, Watchdog/Handler.defs.hh,
-	  Watchdog/Makefile.am, Watchdog/Watchdog.defs.hh,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/allzero.ine,
-	  demos/ppl_lcdd/examples/ccc4.ext,
-	  demos/ppl_lcdd/examples/ccp4.ext,
-	  demos/ppl_lcdd/examples/cp4.ext, demos/ppl_lcdd/examples/cp4.ine,
-	  demos/ppl_lcdd/examples/cp5.ine, demos/ppl_lcdd/examples/cp6.ine,
-	  demos/ppl_lcdd/examples/cp7.ext,
-	  demos/ppl_lcdd/examples/cross10.ine,
-	  demos/ppl_lcdd/examples/cross12.ine,
-	  demos/ppl_lcdd/examples/cross4.ine,
-	  demos/ppl_lcdd/examples/cross6.ine,
-	  demos/ppl_lcdd/examples/cross8.ine,
-	  demos/ppl_lcdd/examples/cube.ext,
-	  demos/ppl_lcdd/examples/cubetop.ine,
-	  demos/ppl_lcdd/examples/cubocta.ine,
-	  demos/ppl_lcdd/examples/cut16_11.ext,
-	  demos/ppl_lcdd/examples/cut32_16.ext,
-	  demos/ppl_lcdd/examples/cyc.ine,
-	  demos/ppl_lcdd/examples/cyclic16-10.ext,
-	  demos/ppl_lcdd/examples/cyclic25_13.ext,
-	  demos/ppl_lcdd/examples/ex1.ine,
-	  demos/ppl_lcdd/examples/grcubocta.ine,
-	  demos/ppl_lcdd/examples/in0.ine, demos/ppl_lcdd/examples/in1.ine,
-	  demos/ppl_lcdd/examples/in2.ine, demos/ppl_lcdd/examples/in3.ine,
-	  demos/ppl_lcdd/examples/in4.ine, demos/ppl_lcdd/examples/in5.ine,
-	  demos/ppl_lcdd/examples/in6.ine, demos/ppl_lcdd/examples/in7.ine,
-	  demos/ppl_lcdd/examples/integralpoints.ine,
-	  demos/ppl_lcdd/examples/irbox20-4.ext,
-	  demos/ppl_lcdd/examples/irbox200-4.ext,
-	  demos/ppl_lcdd/examples/kkd18_4.ine,
-	  demos/ppl_lcdd/examples/kkd27_5.ine,
-	  demos/ppl_lcdd/examples/kkd38_6.ine,
-	  demos/ppl_lcdd/examples/kq20_11_m.ine,
-	  demos/ppl_lcdd/examples/metric40_11.ine,
-	  demos/ppl_lcdd/examples/metric80_16.ine,
-	  demos/ppl_lcdd/examples/mit.ine,
-	  demos/ppl_lcdd/examples/mit288-281.ine,
-	  demos/ppl_lcdd/examples/mit31-20.ine,
-	  demos/ppl_lcdd/examples/mit41-16.ine,
-	  demos/ppl_lcdd/examples/mit708-9.ine,
-	  demos/ppl_lcdd/examples/mit71-61.ine,
-	  demos/ppl_lcdd/examples/mit90-86.ine,
-	  demos/ppl_lcdd/examples/mp5.ext, demos/ppl_lcdd/examples/mp5.ine,
-	  demos/ppl_lcdd/examples/mp5a.ine,
-	  demos/ppl_lcdd/examples/mp6.ine,
-	  demos/ppl_lcdd/examples/origin.ine,
-	  demos/ppl_lcdd/examples/project2res.ine,
-	  demos/ppl_lcdd/examples/rcubocta.ine,
-	  demos/ppl_lcdd/examples/reg24-5.ext,
-	  demos/ppl_lcdd/examples/reg24-5.ine,
-	  demos/ppl_lcdd/examples/sampleh1.ine,
-	  demos/ppl_lcdd/examples/sampleh3.ine,
-	  demos/ppl_lcdd/examples/sampleh4.ine,
-	  demos/ppl_lcdd/examples/sampleh6.ine,
-	  demos/ppl_lcdd/examples/sampleh7.ine,
-	  demos/ppl_lcdd/examples/sampleh8.ine,
-	  demos/ppl_lcdd/examples/samplev1.ext,
-	  demos/ppl_lcdd/examples/samplev3.ext,
-	  demos/ppl_lcdd/examples/trunc10.ine,
-	  demos/ppl_lcdd/examples/trunc7.ine,
-	  demos/ppl_lcdd/examples/tsp5.ext,
-	  demos/ppl_lcdd/examples/tsp5.ine, demos/ppl_lpsol/expected_int16,
-	  demos/ppl_lpsol/expected_int32, demos/ppl_lpsol/expected_int32_a,
-	  demos/ppl_lpsol/expected_int64, demos/ppl_lpsol/expected_int64_a,
-	  demos/ppl_lpsol/expected_mpz, demos/ppl_lpsol/expected_mpz_a,
-	  demos/ppl_lpsol/ppl_lpsol.c, doc/Makefile.am,
-	  doc/definitions.dox, doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/fdl.tex, doc/user-browse.doxyconf-latex.in,
-	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h.in,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/exceptions.hh,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/tests/pl_check.pl, src/AskTell.defs.hh,
-	  src/AskTell.inlines.hh, src/AskTell.types.hh,
-	  src/Ask_Tell.defs.hh, src/Ask_Tell.inlines.hh,
-	  src/Ask_Tell.types.hh, src/BHRZ03_Certificate.cc,
-	  src/BHRZ03_Certificate.defs.hh, src/BoundingBox.cc,
-	  src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh,
-	  src/BoundingBox.types.hh, src/Bounding_Box.cc,
-	  src/Bounding_Box.defs.hh, src/Bounding_Box.inlines.hh,
-	  src/Bounding_Box.types.hh, src/C_Polyhedron.cc,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  src/Checked_Number.inlines.hh, src/Coefficient.cc,
-	  src/Coefficient.defs.hh, src/Coefficient.inlines.hh,
-	  src/Coefficient.types.hh, src/Coefficient_traits_template.hh,
-	  src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh,
-	  src/ConSys.types.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/Constraint_System.types.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/GMP_Integer.types.hh,
-	  src/GenSys.cc, src/GenSys.defs.hh, src/GenSys.inlines.hh,
-	  src/GenSys.types.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/Generator_System.types.hh, src/H79_Certificate.cc,
-	  src/H79_Certificate.defs.hh, src/Integer.cc, src/Integer.defs.hh,
-	  src/Integer.inlines.hh, src/Integer.types.hh,
-	  src/Integer_macros.hh, src/Integer_traits_template.hh,
-	  src/Interval.defs.hh, src/Interval.inlines.hh,
-	  src/LinExpression.cc, src/LinExpression.defs.hh,
-	  src/LinExpression.inlines.hh, src/LinExpression.types.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_System.cc,
-	  src/Linear_System.defs.hh, src/Linear_System.inlines.hh,
-	  src/Makefile.am, src/Matrix.defs.hh, src/Matrix.inlines.hh,
-	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
-	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
-	  src/Native_Integer.types.hh, src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.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/Row.cc,
-	  src/Row.defs.hh, src/Row.inlines.hh, src/SatMatrix.cc,
-	  src/SatMatrix.defs.hh, src/SatMatrix.inlines.hh,
-	  src/SatMatrix.types.hh, src/SatRow.cc, src/SatRow.defs.hh,
-	  src/SatRow.inlines.hh, src/SatRow.types.hh,
-	  src/Saturation_Matrix.cc, src/Saturation_Matrix.defs.hh,
-	  src/Saturation_Matrix.inlines.hh, src/Saturation_Matrix.types.hh,
-	  src/Saturation_Row.cc, src/Saturation_Row.defs.hh,
-	  src/Saturation_Row.inlines.hh, src/Saturation_Row.types.hh,
-	  src/Variable.cc, src/Variable.defs.hh, src/Variable.inlines.hh,
-	  src/Widening_Function.defs.hh, src/Widening_Function.inlines.hh,
-	  src/algorithms.hh, src/checked.defs.hh, src/checked.inlines.hh,
-	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
-	  src/checked_mpz.inlines.hh, src/conversion.cc, src/globals.cc,
-	  src/globals.defs.hh, src/globals.inlines.hh, src/minimize.cc,
-	  src/simplify.cc, src/swapping_sort.icc, tests/BBox.cc,
-	  tests/BBox.hh, tests/Makefile.am, tests/NNCminimize1.cc,
-	  tests/NNCminimize2.cc, tests/NNCminimize3.cc,
-	  tests/NNCminimize4.cc, tests/NNCminimize5.cc,
-	  tests/NNCminimize6.cc, tests/addconstraint1.cc,
-	  tests/addconstraints1.cc, tests/addconstraints10.cc,
-	  tests/addconstraints11.cc, tests/addconstraints12.cc,
-	  tests/addconstraints13.cc, tests/addconstraints2.cc,
-	  tests/addconstraints3.cc, tests/addconstraints4.cc,
-	  tests/addconstraints5.cc, tests/addconstraints6.cc,
-	  tests/addconstraints7.cc, tests/addconstraints8.cc,
-	  tests/addconstraints9.cc, tests/addgenerator1.cc,
-	  tests/addgenerator2.cc, tests/addgenerator3.cc,
-	  tests/addgenerator4.cc, tests/addgenerator5.cc,
-	  tests/addgenerators1.cc, tests/addgenerators10.cc,
-	  tests/addgenerators11.cc, tests/addgenerators12.cc,
-	  tests/addgenerators13.cc, tests/addgenerators2.cc,
-	  tests/addgenerators3.cc, tests/addgenerators4.cc,
-	  tests/addgenerators5.cc, tests/addgenerators6.cc,
-	  tests/addgenerators7.cc, tests/addgenerators8.cc,
-	  tests/addgenerators9.cc, tests/addspacedims1.cc,
-	  tests/addspacedims10.cc, tests/addspacedims11.cc,
-	  tests/addspacedims3.cc, tests/addspacedims4.cc,
-	  tests/addspacedims5.cc, tests/addspacedims6.cc,
-	  tests/addspacedims7.cc, tests/addspacedims9.cc,
-	  tests/affineimage3.cc, tests/affineimage7.cc,
-	  tests/affinepreimage1.cc, tests/affinepreimage4.cc,
-	  tests/affinepreimage7.cc, tests/affinetrans.cc,
-	  tests/ascii_dump_load4.cc, tests/ascii_dump_load7.cc,
-	  tests/bgp99extrapolation1.cc, tests/bhrz03widening1.cc,
-	  tests/bhrz03widening12.cc, tests/bhrz03widening13.cc,
-	  tests/bhrz03widening14.cc, tests/bhrz03widening15.cc,
-	  tests/bhrz03widening16.cc, tests/bhrz03widening17.cc,
-	  tests/bhrz03widening18.cc, tests/bhrz03widening19.cc,
-	  tests/bhrz03widening2.cc, tests/bhrz03widening6.cc,
-	  tests/bhrz03widening7.cc, tests/bhrz03widening8.cc,
-	  tests/bhrz03widening9.cc, tests/bhz03widening1.cc,
-	  tests/bhz03widening3.cc, tests/bhz03widening4.cc,
-	  tests/bounded1.cc, tests/boundedh79extrapolation1.cc,
-	  tests/boundingbox1.cc, tests/boundingbox2.cc,
-	  tests/boundingbox3.cc, tests/boundingbox4.cc, tests/bounds1.cc,
-	  tests/concatenate1.cc, tests/concatenate2.cc,
-	  tests/concatenate3.cc, tests/concatenate4.cc,
-	  tests/constraints1.cc, tests/constraints2.cc,
-	  tests/constraints3.cc, tests/constraints4.cc, tests/contains2.cc,
-	  tests/contains3.cc, tests/contains4.cc, tests/contains5.cc,
-	  tests/disjoint2.cc, tests/disjoint3.cc, tests/dualhypercubes.cc,
-	  tests/empty1.cc, tests/exceptions1.cc, tests/exceptions2.cc,
-	  tests/exceptions3.cc, tests/expandspacedim1.cc,
-	  tests/generalizedaffineimage9.cc, tests/generators1.cc,
-	  tests/generators2.cc, tests/generators3.cc, tests/generators4.cc,
-	  tests/generators5.cc, tests/generators6.cc, tests/geomcovers1.cc,
-	  tests/h79widening4.cc, tests/intersection2.cc,
-	  tests/intersection4.cc, tests/intersection6.cc,
-	  tests/limitedbhrz03extrapolation1.cc,
-	  tests/limitedh79extrapolation1.cc,
-	  tests/limitedh79extrapolation2.cc,
-	  tests/limitedh79extrapolation3.cc,
-	  tests/limitedh79extrapolation4.cc, tests/linexpression1.cc,
-	  tests/mapspacedims1.cc, tests/max_min1.cc, tests/max_min2.cc,
-	  tests/maxspacedim1.cc, tests/membytes1.cc, tests/membytes2.cc,
-	  tests/minconstraints1.cc, tests/minconstraints2.cc,
-	  tests/minconstraints3.cc, tests/minconstraints4.cc,
-	  tests/mingenerators1.cc, tests/mingenerators2.cc,
-	  tests/mingenerators3.cc, tests/polydifference1.cc,
-	  tests/polydifference2.cc, tests/polydifference3.cc,
-	  tests/polydifference8.cc, tests/polydifference9.cc,
-	  tests/polyhull1.cc, tests/polyhull2.cc, tests/polyhull7.cc,
-	  tests/print.cc, tests/print.hh, tests/randphull1.cc,
-	  tests/randphull2.cc, tests/relations1.cc, tests/relations12.cc,
-	  tests/relations15.cc, tests/relations16.cc, tests/relations17.cc,
-	  tests/relations4.cc, tests/relations5.cc, tests/relations7.cc,
-	  tests/relations8.cc, tests/relations9.cc,
-	  tests/removespacedims1.cc, tests/removespacedims2.cc,
-	  tests/removespacedims4.cc, tests/removespacedims8.cc,
-	  tests/smm1.cc, tests/timeelapse1.cc, tests/timeelapse3.cc,
-	  tests/timeelapse4.cc, tests/timeelapse6.cc, tests/topclosed2.cc,
-	  tests/topclosed3.cc, tests/topclosure1.cc, tests/universe3.cc,
-	  tests/universe4.cc, tests/universe6.cc, tests/universe7.cc,
-	  tests/writeconsys1.cc, tests/writegensys1.cc,
-	  tests/writegensys2.cc, tests/writegensys3.cc
-	  (altnum.[6,2,2,6,12,2,2,4,2,8,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,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,2,2,2,2,2,2,2,4,2,6,5,5,5,1,3,3,3,6,4,6,1,7,2,4,4,3,4,5,1,4,6,5,5,2,5,3,1,1,1,1,3,4,2,4,4,1,1,1,1,1,3,5,4,14,1,1,1,1,1,5,7,4,1,3,7,5,1,1,1,1,5,4,3,6,7,3,1,5,7,5,1,1,1,1,4,4,1,6,2,6,2,3,4,6,3,5,3,1,1,1,1,1,2,3,3,3,3,3,14,5,3,4,4,7,7,3,4,4,7,7,2,5,9,7,5,2,2,5,6,5,4,4,3,1,10,4,3,1,1,1,1,1,1,1,1,1,1,4,2,4,4,3,20,13,21,16,19,6 [...]
-	  Sixth merge from main trunk.
-
-2004-12-11 Saturday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.138), STANDARDS (1.15), TODO (1.126),
-	  Watchdog/EList_Iterator.inlines.hh (1.2),
-	  Watchdog/Handler.defs.hh (1.2), Watchdog/Makefile.am (1.14),
-	  Watchdog/Watchdog.defs.hh (1.14), demos/ppl_lcdd/ppl_lcdd.cc
-	  (1.38), demos/ppl_lcdd/examples/allzero.ine (1.2),
-	  demos/ppl_lcdd/examples/ccc4.ext (1.2),
-	  demos/ppl_lcdd/examples/ccp4.ext (1.2),
-	  demos/ppl_lcdd/examples/cp4.ext (1.2),
-	  demos/ppl_lcdd/examples/cp4.ine (1.2),
-	  demos/ppl_lcdd/examples/cp5.ine (1.2),
-	  demos/ppl_lcdd/examples/cp6.ine (1.2),
-	  demos/ppl_lcdd/examples/cp7.ext (1.2),
-	  demos/ppl_lcdd/examples/cross10.ine (1.2),
-	  demos/ppl_lcdd/examples/cross12.ine (1.2),
-	  demos/ppl_lcdd/examples/cross4.ine (1.2),
-	  demos/ppl_lcdd/examples/cross6.ine (1.2),
-	  demos/ppl_lcdd/examples/cross8.ine (1.2),
-	  demos/ppl_lcdd/examples/cube.ext (1.2),
-	  demos/ppl_lcdd/examples/cubetop.ine (1.2),
-	  demos/ppl_lcdd/examples/cubocta.ine (1.2),
-	  demos/ppl_lcdd/examples/cut16_11.ext (1.2),
-	  demos/ppl_lcdd/examples/cut32_16.ext (1.2),
-	  demos/ppl_lcdd/examples/cyc.ine (1.2),
-	  demos/ppl_lcdd/examples/cyclic16-10.ext (1.2),
-	  demos/ppl_lcdd/examples/cyclic25_13.ext (1.2),
-	  demos/ppl_lcdd/examples/ex1.ine (1.2),
-	  demos/ppl_lcdd/examples/grcubocta.ine (1.2),
-	  demos/ppl_lcdd/examples/in0.ine (1.2),
-	  demos/ppl_lcdd/examples/in1.ine (1.2),
-	  demos/ppl_lcdd/examples/in2.ine (1.2),
-	  demos/ppl_lcdd/examples/in3.ine (1.2),
-	  demos/ppl_lcdd/examples/in4.ine (1.2),
-	  demos/ppl_lcdd/examples/in5.ine (1.2),
-	  demos/ppl_lcdd/examples/in6.ine (1.2),
-	  demos/ppl_lcdd/examples/in7.ine (1.2),
-	  demos/ppl_lcdd/examples/integralpoints.ine (1.2),
-	  demos/ppl_lcdd/examples/irbox20-4.ext (1.2),
-	  demos/ppl_lcdd/examples/irbox200-4.ext (1.2),
-	  demos/ppl_lcdd/examples/kkd18_4.ine (1.2),
-	  demos/ppl_lcdd/examples/kkd27_5.ine (1.2),
-	  demos/ppl_lcdd/examples/kkd38_6.ine (1.2),
-	  demos/ppl_lcdd/examples/kq20_11_m.ine (1.2),
-	  demos/ppl_lcdd/examples/metric40_11.ine (1.2),
-	  demos/ppl_lcdd/examples/metric80_16.ine (1.2),
-	  demos/ppl_lcdd/examples/mit.ine (1.2),
-	  demos/ppl_lcdd/examples/mit288-281.ine (1.2),
-	  demos/ppl_lcdd/examples/mit31-20.ine (1.2),
-	  demos/ppl_lcdd/examples/mit41-16.ine (1.2),
-	  demos/ppl_lcdd/examples/mit708-9.ine (1.2),
-	  demos/ppl_lcdd/examples/mit71-61.ine (1.2),
-	  demos/ppl_lcdd/examples/mit90-86.ine (1.2),
-	  demos/ppl_lcdd/examples/mp5.ext (1.2),
-	  demos/ppl_lcdd/examples/mp5.ine (1.2),
-	  demos/ppl_lcdd/examples/mp5a.ine (1.2),
-	  demos/ppl_lcdd/examples/mp6.ine (1.2),
-	  demos/ppl_lcdd/examples/origin.ine (1.2),
-	  demos/ppl_lcdd/examples/project2res.ine (1.2),
-	  demos/ppl_lcdd/examples/rcubocta.ine (1.2),
-	  demos/ppl_lcdd/examples/reg24-5.ext (1.2),
-	  demos/ppl_lcdd/examples/reg24-5.ine (1.2),
-	  demos/ppl_lcdd/examples/sampleh1.ine (1.2),
-	  demos/ppl_lcdd/examples/sampleh3.ine (1.2),
-	  demos/ppl_lcdd/examples/sampleh4.ine (1.2),
-	  demos/ppl_lcdd/examples/sampleh6.ine (1.2),
-	  demos/ppl_lcdd/examples/sampleh7.ine (1.2),
-	  demos/ppl_lcdd/examples/sampleh8.ine (1.2),
-	  demos/ppl_lcdd/examples/samplev1.ext (1.2),
-	  demos/ppl_lcdd/examples/samplev3.ext (1.2),
-	  demos/ppl_lcdd/examples/trunc10.ine (1.2),
-	  demos/ppl_lcdd/examples/trunc7.ine (1.2),
-	  demos/ppl_lcdd/examples/tsp5.ext (1.2),
-	  demos/ppl_lcdd/examples/tsp5.ine (1.2), doc/Makefile.am (1.30),
-	  doc/definitions.dox (1.164), doc/devref-browse.doxyconf-latex.in
-	  (1.53), doc/devref-print.doxyconf-latex.in (1.53),
-	  doc/devref.doxyconf-html.in (1.53), doc/fdl.tex (1.3),
-	  doc/user-browse.doxyconf-latex.in (1.22),
-	  doc/user-print.doxyconf-latex.in (1.22),
-	  doc/user.doxyconf-html.in (1.24), interfaces/C/ppl_c.h.in (1.40),
-	  interfaces/Prolog/Prolog_interface.dox (1.119),
-	  interfaces/Prolog/exceptions.hh (1.13),
-	  interfaces/Prolog/ppl_prolog.icc (1.146),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.6),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.73),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.23),
-	  interfaces/Prolog/SICStus/Makefile.am (1.48),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.68),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.9),
-	  interfaces/Prolog/SWI/Makefile.am (1.40),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.92),
-	  interfaces/Prolog/tests/pl_check.pl (1.2), src/Ask_Tell.defs.hh
-	  (1.3), src/Ask_Tell.inlines.hh (1.3), src/BHRZ03_Certificate.cc
-	  (1.6), src/BHRZ03_Certificate.defs.hh (1.8),
-	  src/Checked_Number.inlines.hh (1.8), src/Constraint.defs.hh
-	  (1.98), src/Constraint.inlines.hh (1.57),
-	  src/Constraint_System.defs.hh (1.3), src/Generator.defs.hh
-	  (1.98), src/Generator.inlines.hh (1.51), src/Generator_System.cc
-	  (1.3), src/Generator_System.defs.hh (1.3),
-	  src/H79_Certificate.defs.hh (1.8), src/Interval.defs.hh (1.19),
-	  src/Interval.inlines.hh (1.15), src/Linear_Expression.cc (1.3),
-	  src/Linear_Expression.defs.hh (1.5),
-	  src/Linear_Expression.inlines.hh (1.3), src/Linear_Row.cc (1.3),
-	  src/Linear_Row.inlines.hh (1.6), src/Linear_System.cc (1.12),
-	  src/Linear_System.defs.hh (1.10), src/Linear_System.inlines.hh
-	  (1.9), src/Matrix.inlines.hh (1.42),
-	  src/Native_Integer.inlines.hh (1.6),
-	  src/Polyhedra_Powerset.defs.hh (1.10),
-	  src/Polyhedra_Powerset.inlines.hh (1.11), src/Polyhedron.defs.hh
-	  (1.260), src/Polyhedron.inlines.hh (1.105),
-	  src/Polyhedron_chdims.cc (1.26), src/Polyhedron_nonpublic.cc
-	  (1.39), src/Polyhedron_public.cc (1.44),
-	  src/Polyhedron_widenings.cc (1.38), src/Row.cc (1.75),
-	  src/Row.defs.hh (1.87), src/Row.inlines.hh (1.54),
-	  src/Saturation_Matrix.inlines.hh (1.2), src/Saturation_Row.cc
-	  (1.2), src/Saturation_Row.defs.hh (1.2),
-	  src/Widening_Function.defs.hh (1.8),
-	  src/Widening_Function.inlines.hh (1.8), src/checked.defs.hh
-	  (1.4), src/checked.inlines.hh (1.4), src/checked_float.inlines.hh
-	  (1.10), src/checked_int.inlines.hh (1.6),
-	  src/checked_mpq.inlines.hh (1.5), src/checked_mpz.inlines.hh
-	  (1.5), src/globals.defs.hh (1.11), src/globals.inlines.hh (1.6),
-	  src/swapping_sort.icc (1.5), tests/Makefile.am (1.239),
-	  tests/addspacedims9.cc (1.2), tests/bgp99extrapolation1.cc (1.7),
-	  tests/bhz03widening1.cc (1.8), tests/bhz03widening3.cc (1.8),
-	  tests/bhz03widening4.cc (1.6), tests/boundingbox1.cc (1.39),
-	  tests/boundingbox3.cc (1.15), tests/boundingbox4.cc (1.12),
-	  tests/disjoint3.cc (1.10), tests/dualhypercubes.cc (1.9),
-	  tests/expandspacedim1.cc (1.2), tests/generalizedaffineimage9.cc
-	  (1.8), tests/polydifference1.cc (1.10), tests/polydifference8.cc
-	  (1.4), tests/polydifference9.cc (1.5), tests/print.cc (1.13): Try
-	  to avoid very long lines.
-
-2004-12-11 Saturday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.125): Postponed a couple of items.
-
-2004-12-11 Saturday 20:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.137), README (1.30), TODO (1.124),
-	  demos/ppl_lcdd/ppl_lcdd.cc (1.37),
-	  doc/devref-browse.doxyconf-latex.in (1.52),
-	  doc/devref-print.doxyconf-latex.in (1.52),
-	  doc/devref.doxyconf-html.in (1.52), interfaces/C/ppl_c.cc
-	  (1.117), interfaces/Prolog/Prolog_interface.dox (1.118),
-	  interfaces/Prolog/exceptions.hh (1.12),
-	  interfaces/Prolog/ppl_prolog.icc (1.145),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.27),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.22),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.67),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.91),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.58),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.84), src/Bounding_Box.cc
-	  (1.2), src/Bounding_Box.defs.hh (1.2),
-	  src/Bounding_Box.inlines.hh (1.2), src/Coefficient.cc (1.1),
-	  src/Coefficient.defs.hh (1.1), src/Coefficient.inlines.hh (1.1),
-	  src/Coefficient.types.hh (1.1),
-	  src/Coefficient_traits_template.hh (1.1), src/Constraint.cc
-	  (1.45), src/Constraint.defs.hh (1.97), src/Constraint.inlines.hh
-	  (1.56), src/Constraint_System.cc (1.2),
-	  src/Constraint_System.defs.hh (1.2), src/GMP_Integer.types.hh
-	  (1.3), src/Generator.cc (1.56), src/Generator.defs.hh (1.97),
-	  src/Generator.inlines.hh (1.50), src/Generator_System.cc (1.2),
-	  src/Generator_System.defs.hh (1.2), src/Integer.cc (1.5),
-	  src/Integer.defs.hh (1.15), src/Integer.inlines.hh (1.14),
-	  src/Integer.types.hh (1.10), src/Integer_macros.hh (1.3),
-	  src/Integer_traits_template.hh (1.3), src/Interval.defs.hh
-	  (1.18), src/Interval.inlines.hh (1.14), src/Linear_Expression.cc
-	  (1.2), src/Linear_Expression.defs.hh (1.4),
-	  src/Linear_Expression.inlines.hh (1.2), src/Linear_Row.cc (1.2),
-	  src/Linear_Row.defs.hh (1.6), src/Linear_Row.inlines.hh (1.5),
-	  src/Linear_System.cc (1.11), src/Makefile.am (1.90),
-	  src/Matrix.defs.hh (1.66), src/Native_Integer.defs.hh (1.5),
-	  src/Native_Integer.types.hh (1.3), src/Polyhedron.defs.hh
-	  (1.259), src/Polyhedron.inlines.hh (1.104),
-	  src/Polyhedron_nonpublic.cc (1.38), src/Polyhedron_public.cc
-	  (1.43), src/Polyhedron_widenings.cc (1.37), src/Row.cc (1.74),
-	  src/Row.defs.hh (1.86), src/Row.inlines.hh (1.53),
-	  src/conversion.cc (1.65), src/globals.cc (1.19),
-	  src/globals.defs.hh (1.10), src/globals.inlines.hh (1.5),
-	  tests/BBox.cc (1.6), tests/BBox.hh (1.5),
-	  tests/bhrz03widening13.cc (1.6), tests/bhrz03widening14.cc (1.8),
-	  tests/dualhypercubes.cc (1.8), tests/exceptions1.cc (1.43),
-	  tests/intersection2.cc (1.12), tests/max_min1.cc (1.6),
-	  tests/max_min2.cc (1.6), tests/randphull1.cc (1.13),
-	  tests/randphull2.cc (1.10): The type Integer has been renamed
-	  Coefficient.
-
-2004-12-11 Saturday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.37): Useless inclusions removed.
-
-2004-12-11 Saturday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.136), README (1.29), TODO (1.123),
-	  demos/ppl_lcdd/ppl_lcdd.cc (1.36), doc/definitions.dox (1.163),
-	  doc/devref-browse.doxyconf-latex.in (1.51),
-	  doc/devref-print.doxyconf-latex.in (1.51),
-	  doc/devref.doxyconf-html.in (1.51), interfaces/C/ppl_c.cc
-	  (1.116), interfaces/C/ppl_c.h.in (1.39),
-	  interfaces/Prolog/ppl_prolog.icc (1.144),
-	  src/BHRZ03_Certificate.cc (1.5), src/C_Polyhedron.defs.hh (1.30),
-	  src/C_Polyhedron.inlines.hh (1.23), src/Constraint.defs.hh
-	  (1.96), src/GenSys.cc (1.102), src/GenSys.defs.hh (1.107),
-	  src/GenSys.inlines.hh (1.38), src/GenSys.types.hh (1.8),
-	  src/Generator.defs.hh (1.96), src/Generator_System.cc (1.1),
-	  src/Generator_System.defs.hh (1.1),
-	  src/Generator_System.inlines.hh (1.1),
-	  src/Generator_System.types.hh (1.1),
-	  src/Linear_Expression.defs.hh (1.3), src/Linear_System.defs.hh
-	  (1.9), src/Makefile.am (1.89), src/Matrix.defs.hh (1.65),
-	  src/NNC_Polyhedron.defs.hh (1.32), src/NNC_Polyhedron.inlines.hh
-	  (1.26), src/Polyhedron.defs.hh (1.258), src/Polyhedron.inlines.hh
-	  (1.103), src/Polyhedron_nonpublic.cc (1.37),
-	  src/Polyhedron_public.cc (1.42), src/Polyhedron_widenings.cc
-	  (1.36), tests/NNCminimize1.cc (1.12), tests/NNCminimize2.cc
-	  (1.12), tests/NNCminimize3.cc (1.12), tests/NNCminimize4.cc
-	  (1.13), tests/NNCminimize5.cc (1.12), tests/addconstraints9.cc
-	  (1.15), tests/addgenerator1.cc (1.8), tests/addgenerator2.cc
-	  (1.8), tests/addgenerator3.cc (1.5), tests/addgenerator4.cc
-	  (1.7), tests/addgenerator5.cc (1.2), tests/addgenerators1.cc
-	  (1.13), tests/addgenerators10.cc (1.5), tests/addgenerators11.cc
-	  (1.10), tests/addgenerators12.cc (1.7), tests/addgenerators13.cc
-	  (1.3), tests/addgenerators2.cc (1.13), tests/addgenerators3.cc
-	  (1.13), tests/addgenerators4.cc (1.13), tests/addgenerators5.cc
-	  (1.13), tests/addgenerators6.cc (1.13), tests/addgenerators7.cc
-	  (1.10), tests/addgenerators8.cc (1.8), tests/addgenerators9.cc
-	  (1.7), tests/addspacedims1.cc (1.2), tests/addspacedims10.cc
-	  (1.3), tests/addspacedims11.cc (1.2), tests/addspacedims3.cc
-	  (1.3), tests/addspacedims6.cc (1.2), tests/addspacedims7.cc
-	  (1.2), tests/affineimage3.cc (1.5), tests/affineimage7.cc (1.5),
-	  tests/affinepreimage1.cc (1.12), tests/affinepreimage4.cc (1.13),
-	  tests/affinepreimage7.cc (1.5), tests/affinetrans.cc (1.16),
-	  tests/ascii_dump_load7.cc (1.8), tests/bhrz03widening1.cc (1.5),
-	  tests/bhrz03widening12.cc (1.5), tests/bhrz03widening13.cc (1.5),
-	  tests/bhrz03widening14.cc (1.7), tests/bhrz03widening15.cc (1.9),
-	  tests/bhrz03widening16.cc (1.5), tests/bhrz03widening17.cc (1.5),
-	  tests/bhrz03widening18.cc (1.5), tests/bhrz03widening19.cc (1.5),
-	  tests/bhrz03widening2.cc (1.7), tests/bhrz03widening6.cc (1.6),
-	  tests/bhrz03widening7.cc (1.6), tests/bhrz03widening8.cc (1.5),
-	  tests/bhrz03widening9.cc (1.8), tests/concatenate4.cc (1.7),
-	  tests/contains2.cc (1.4), tests/contains3.cc (1.4),
-	  tests/contains4.cc (1.3), tests/disjoint2.cc (1.10),
-	  tests/disjoint3.cc (1.9), tests/dualhypercubes.cc (1.7),
-	  tests/empty1.cc (1.15), tests/exceptions1.cc (1.42),
-	  tests/exceptions2.cc (1.37), tests/generators1.cc (1.16),
-	  tests/generators2.cc (1.12), tests/generators3.cc (1.6),
-	  tests/generators4.cc (1.7), tests/generators5.cc (1.6),
-	  tests/generators6.cc (1.7), tests/h79widening4.cc (1.5),
-	  tests/intersection2.cc (1.11), tests/intersection6.cc (1.8),
-	  tests/limitedbhrz03extrapolation1.cc (1.5),
-	  tests/mapspacedims1.cc (1.2), tests/maxspacedim1.cc (1.5),
-	  tests/membytes1.cc (1.7), tests/mingenerators1.cc (1.6),
-	  tests/mingenerators2.cc (1.5), tests/mingenerators3.cc (1.5),
-	  tests/polydifference1.cc (1.9), tests/polydifference2.cc (1.11),
-	  tests/polydifference8.cc (1.3), tests/polyhull1.cc (1.9),
-	  tests/polyhull2.cc (1.8), tests/polyhull7.cc (1.5),
-	  tests/print.cc (1.12), tests/print.hh (1.16), tests/randphull1.cc
-	  (1.12), tests/randphull2.cc (1.9), tests/relations12.cc (1.6),
-	  tests/relations15.cc (1.6), tests/relations16.cc (1.6),
-	  tests/relations17.cc (1.9), tests/relations4.cc (1.12),
-	  tests/relations5.cc (1.12), tests/removespacedims1.cc (1.2),
-	  tests/removespacedims2.cc (1.3), tests/removespacedims4.cc (1.2),
-	  tests/removespacedims8.cc (1.2), tests/smm1.cc (1.17),
-	  tests/timeelapse1.cc (1.9), tests/timeelapse3.cc (1.10),
-	  tests/timeelapse4.cc (1.9), tests/timeelapse6.cc (1.5),
-	  tests/topclosed2.cc (1.7), tests/topclosed3.cc (1.9),
-	  tests/topclosure1.cc (1.8), tests/universe7.cc (1.2),
-	  tests/writegensys1.cc (1.9), tests/writegensys2.cc (1.9),
-	  tests/writegensys3.cc (1.9): The class GenSys has been renamed
-	  Generator_System.
-
-2004-12-11 Saturday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.135), README (1.28), TODO (1.122),
-	  demos/ppl_lcdd/ppl_lcdd.cc (1.35), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.7), doc/definitions.dox (1.162),
-	  doc/devref-browse.doxyconf-latex.in (1.50),
-	  doc/devref-print.doxyconf-latex.in (1.50),
-	  doc/devref.doxyconf-html.in (1.50), interfaces/C/ppl_c.cc
-	  (1.115), interfaces/C/ppl_c.h.in (1.38),
-	  interfaces/Prolog/ppl_prolog.icc (1.143), src/Ask_Tell.defs.hh
-	  (1.2), src/Ask_Tell.inlines.hh (1.2), src/BHRZ03_Certificate.cc
-	  (1.4), src/C_Polyhedron.cc (1.13), src/C_Polyhedron.defs.hh
-	  (1.29), src/C_Polyhedron.inlines.hh (1.22), src/ConSys.cc (1.76),
-	  src/ConSys.defs.hh (1.93), src/ConSys.inlines.hh (1.37),
-	  src/ConSys.types.hh (1.8), src/Constraint.defs.hh (1.95),
-	  src/Constraint_System.cc (1.1), src/Constraint_System.defs.hh
-	  (1.1), src/Constraint_System.inlines.hh (1.1),
-	  src/Constraint_System.types.hh (1.1), src/Determinate.defs.hh
-	  (1.49), src/Determinate.inlines.hh (1.43), src/GenSys.inlines.hh
-	  (1.37), src/Generator.defs.hh (1.95), src/H79_Certificate.cc
-	  (1.5), src/Linear_Expression.defs.hh (1.2),
-	  src/Linear_System.defs.hh (1.8), src/Makefile.am (1.88),
-	  src/Matrix.defs.hh (1.64), src/NNC_Polyhedron.defs.hh (1.31),
-	  src/NNC_Polyhedron.inlines.hh (1.25),
-	  src/Polyhedra_Powerset.defs.hh (1.9),
-	  src/Polyhedra_Powerset.inlines.hh (1.10), src/Polyhedron.defs.hh
-	  (1.257), src/Polyhedron.inlines.hh (1.102),
-	  src/Polyhedron.types.hh (1.13), src/Polyhedron_chdims.cc (1.25),
-	  src/Polyhedron_nonpublic.cc (1.36), src/Polyhedron_public.cc
-	  (1.41), src/Polyhedron_widenings.cc (1.35),
-	  src/Widening_Function.defs.hh (1.7),
-	  src/Widening_Function.inlines.hh (1.7), src/algorithms.hh (1.36),
-	  tests/NNCminimize1.cc (1.11), tests/NNCminimize2.cc (1.11),
-	  tests/NNCminimize3.cc (1.11), tests/NNCminimize5.cc (1.11),
-	  tests/NNCminimize6.cc (1.12), tests/addconstraint1.cc (1.7),
-	  tests/addconstraints1.cc (1.13), tests/addconstraints10.cc
-	  (1.11), tests/addconstraints11.cc (1.12),
-	  tests/addconstraints12.cc (1.5), tests/addconstraints13.cc (1.7),
-	  tests/addconstraints2.cc (1.20), tests/addconstraints3.cc (1.11),
-	  tests/addconstraints4.cc (1.12), tests/addconstraints5.cc (1.13),
-	  tests/addconstraints6.cc (1.14), tests/addconstraints7.cc (1.13),
-	  tests/addconstraints8.cc (1.14), tests/addconstraints9.cc (1.14),
-	  tests/addspacedims3.cc (1.2), tests/addspacedims4.cc (1.2),
-	  tests/addspacedims5.cc (1.2), tests/ascii_dump_load4.cc (1.15),
-	  tests/boundedh79extrapolation1.cc (1.2), tests/boundingbox1.cc
-	  (1.38), tests/boundingbox3.cc (1.14), tests/concatenate1.cc
-	  (1.10), tests/concatenate2.cc (1.9), tests/concatenate3.cc (1.8),
-	  tests/constraints1.cc (1.7), tests/constraints2.cc (1.7),
-	  tests/constraints3.cc (1.8), tests/constraints4.cc (1.7),
-	  tests/contains2.cc (1.3), tests/contains3.cc (1.3),
-	  tests/contains5.cc (1.3), tests/exceptions1.cc (1.41),
-	  tests/exceptions2.cc (1.36), tests/generators1.cc (1.15),
-	  tests/generators2.cc (1.11), tests/geomcovers1.cc (1.2),
-	  tests/intersection4.cc (1.8),
-	  tests/limitedbhrz03extrapolation1.cc (1.4),
-	  tests/limitedh79extrapolation1.cc (1.4),
-	  tests/limitedh79extrapolation2.cc (1.4),
-	  tests/limitedh79extrapolation3.cc (1.5),
-	  tests/limitedh79extrapolation4.cc (1.5), tests/maxspacedim1.cc
-	  (1.4), tests/membytes1.cc (1.6), tests/minconstraints1.cc (1.6),
-	  tests/minconstraints2.cc (1.6), tests/minconstraints3.cc (1.5),
-	  tests/minconstraints4.cc (1.9), tests/polydifference2.cc (1.10),
-	  tests/polydifference3.cc (1.6), tests/polydifference8.cc (1.2),
-	  tests/print.cc (1.11), tests/print.hh (1.15), tests/randphull2.cc
-	  (1.8), tests/relations1.cc (1.11), tests/relations8.cc (1.11),
-	  tests/relations9.cc (1.14), tests/smm1.cc (1.16),
-	  tests/timeelapse3.cc (1.9), tests/universe3.cc (1.12),
-	  tests/universe4.cc (1.12), tests/universe6.cc (1.11),
-	  tests/writeconsys1.cc (1.9): The class ConSys has been renamed
-	  Constraint_System.
-
-2004-12-11 Saturday 09:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.134), README (1.27), TODO (1.121), configure.ac (1.142),
-	  demos/ppl_lcdd/ppl_lcdd.cc (1.34), demos/ppl_lpsol/ppl_lpsol.c
-	  (1.6), doc/devref-browse.doxyconf-latex.in (1.49),
-	  doc/devref-print.doxyconf-latex.in (1.49),
-	  doc/devref.doxyconf-html.in (1.49), interfaces/C/ppl_c.cc
-	  (1.114), interfaces/C/ppl_c.h.in (1.37),
-	  interfaces/Prolog/ppl_prolog.icc (1.142),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.72), src/C_Polyhedron.cc
-	  (1.12), src/ConSys.cc (1.75), src/ConSys.defs.hh (1.92),
-	  src/Constraint.cc (1.44), src/Constraint.defs.hh (1.94),
-	  src/Constraint.inlines.hh (1.55), src/GenSys.cc (1.101),
-	  src/GenSys.defs.hh (1.106), src/Generator.cc (1.55),
-	  src/Generator.defs.hh (1.94), src/Generator.inlines.hh (1.49),
-	  src/LinExpression.cc (1.25), src/LinExpression.defs.hh (1.73),
-	  src/LinExpression.inlines.hh (1.34), src/LinExpression.types.hh
-	  (1.8), src/Linear_Expression.cc (1.1),
-	  src/Linear_Expression.defs.hh (1.1),
-	  src/Linear_Expression.inlines.hh (1.1),
-	  src/Linear_Expression.types.hh (1.1), src/Linear_Row.defs.hh
-	  (1.5), src/Linear_System.cc (1.10), src/Makefile.am (1.87),
-	  src/Polyhedra_Powerset.inlines.hh (1.9), src/Polyhedron.defs.hh
-	  (1.256), src/Polyhedron.inlines.hh (1.101),
-	  src/Polyhedron_chdims.cc (1.24), src/Polyhedron_nonpublic.cc
-	  (1.35), src/Polyhedron_public.cc (1.40),
-	  src/Polyhedron_widenings.cc (1.34), src/Variable.defs.hh (1.44),
-	  src/algorithms.hh (1.35), tests/addconstraints1.cc (1.12),
-	  tests/addconstraints3.cc (1.10), tests/addconstraints8.cc (1.13),
-	  tests/affinetrans.cc (1.15), tests/bhrz03widening14.cc (1.6),
-	  tests/bhrz03widening15.cc (1.8), tests/bounded1.cc (1.14),
-	  tests/bounds1.cc (1.7), tests/constraints3.cc (1.7),
-	  tests/disjoint2.cc (1.9), tests/disjoint3.cc (1.8),
-	  tests/dualhypercubes.cc (1.6), tests/exceptions1.cc (1.40),
-	  tests/exceptions2.cc (1.35), tests/exceptions3.cc (1.5),
-	  tests/generalizedaffineimage9.cc (1.7),
-	  tests/limitedh79extrapolation4.cc (1.4), tests/linexpression1.cc
-	  (1.5), tests/max_min1.cc (1.5), tests/max_min2.cc (1.5),
-	  tests/maxspacedim1.cc (1.3), tests/membytes1.cc (1.5),
-	  tests/polydifference3.cc (1.5), tests/randphull2.cc (1.7),
-	  tests/relations7.cc (1.11), tests/relations9.cc (1.13),
-	  tests/removespacedims2.cc (1.2), tests/universe6.cc (1.10),
-	  tests/writeconsys1.cc (1.8), tests/writegensys3.cc (1.8): The
-	  class LinExpression has been renamed Linear_Expression.
-
-2004-12-11 Saturday 09:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/expected_mpz_a (1.2): Adapted to the recent
-	  changes in the precision of ppl_lpsol's output.
-
-2004-12-09 Thursday 17:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/swapping_sort.icc (1.4): The swapping sort procedure
-	  rewritten from scratch (it was buggy).
-
-2004-12-08 Wednesday 11:12  Abramo Bagnara
-
-	* src/globals.defs.hh (altnum.5): Added used() function useful to
-	  suppress compiler warning.
-
-2004-12-08 Wednesday 09:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Number.inlines.hh (1.7): Do not name an unused
-	  parameter.
-
-2004-12-07 Tuesday 19:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: expected_int16 (1.2), expected_int32 (1.2),
-	  expected_int32_a (1.2), expected_int64 (1.2), expected_int64_a
-	  (1.2), expected_mpz (1.2), ppl_lpsol.c (1.5): Print optimum value
-	  and location with the format "%.10g" instead of "%g".
-
-2004-12-07 Tuesday 13:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.133), README (1.26), TODO (1.120),
-	  doc/devref-browse.doxyconf-latex.in (1.48),
-	  doc/devref-print.doxyconf-latex.in (1.48),
-	  doc/devref.doxyconf-html.in (1.48), src/AskTell.defs.hh (1.28),
-	  src/AskTell.inlines.hh (1.24), src/AskTell.types.hh (1.7),
-	  src/Linear_System.cc (1.9), src/Linear_System.defs.hh (1.7),
-	  src/Linear_System.inlines.hh (1.8), src/Makefile.am (1.86),
-	  src/Matrix.defs.hh (1.63), src/Polyhedron.defs.hh (1.255),
-	  src/Polyhedron_chdims.cc (1.23), src/Polyhedron_nonpublic.cc
-	  (1.34), src/Polyhedron_public.cc (1.39),
-	  src/Polyhedron_widenings.cc (1.33), src/SatMatrix.cc (1.35),
-	  src/SatMatrix.defs.hh (1.39), src/SatMatrix.inlines.hh (1.27),
-	  src/SatMatrix.types.hh (1.8), src/SatRow.cc (1.31),
-	  src/SatRow.defs.hh (1.37), src/SatRow.inlines.hh (1.31),
-	  src/SatRow.types.hh (1.8), src/Saturation_Matrix.cc (1.1),
-	  src/Saturation_Matrix.defs.hh (1.1),
-	  src/Saturation_Matrix.inlines.hh (1.1),
-	  src/Saturation_Matrix.types.hh (1.1), src/Saturation_Row.cc
-	  (1.1), src/Saturation_Row.defs.hh (1.1),
-	  src/Saturation_Row.inlines.hh (1.1), src/Saturation_Row.types.hh
-	  (1.1), src/conversion.cc (1.64), src/minimize.cc (1.39),
-	  src/simplify.cc (1.41), src/swapping_sort.icc (1.3): The class
-	  SatRow has been renamed Saturation_Row.  The class SatMatrix has
-	  been renamed Saturation_Matrix.
-
-2004-12-07 Tuesday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.132), README (1.25), TODO (1.119),
-	  doc/devref-browse.doxyconf-latex.in (1.47),
-	  doc/devref-print.doxyconf-latex.in (1.47),
-	  doc/devref.doxyconf-html.in (1.47),
-	  interfaces/Prolog/ppl_prolog.icc (1.141), src/BoundingBox.cc
-	  (1.10), src/BoundingBox.defs.hh (1.15),
-	  src/BoundingBox.inlines.hh (1.14), src/BoundingBox.types.hh
-	  (1.7), src/Bounding_Box.cc (1.1), src/Bounding_Box.defs.hh (1.1),
-	  src/Bounding_Box.inlines.hh (1.1), src/Bounding_Box.types.hh
-	  (1.1), src/Makefile.am (1.85), tests/boundingbox2.cc (1.23),
-	  tests/boundingbox3.cc (1.13), tests/boundingbox4.cc (1.11): The
-	  class BoundingBox has been renamed Bounding_Box.
-
-2004-12-06 Monday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.238): Added nnc_membytes2 to
-	  XFAIL_WITH_INT8_A.
-
-2004-12-06 Monday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.131), README (1.24), TODO (1.118), src/Ask_Tell.defs.hh
-	  (1.1), src/Ask_Tell.inlines.hh (1.1), src/Ask_Tell.types.hh
-	  (1.1): The class AskTell has been renamed Ask_Tell.
-
-2004-12-06 Monday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.130), src/Polyhedra_Powerset.defs.hh (1.8),
-	  src/Polyhedra_Powerset.inlines.hh (1.8), tests/membytes2.cc
-	  (1.3): New explicit constructor
-	  Polyhedra_Powerset<CS>::Polyhedra_Powerset(const PH& ph):  if
-	  `ph' is not empty, builds a powerset containing only `ph';
-	  builds the empty powerset otherwise.	Constructor
-	  Polyhedra_Powerset<PH>::Polyhedra_Powerset(const ConSys& cs) made
-	  explicit as well.
-
-2004-12-06 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.129), src/Powerset.defs.hh (1.3), src/Powerset.inlines.hh
-	  (1.4): New explicit constructor Powerset<CS>::Powerset(const CS&
-	  d):  if `d' is not bottom, builds a powerset containing only `d';
-	  builds the empty powerset otherwise.
-
-2004-12-06 Monday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.128): Restored an item erased by mistake.
-
-2004-12-06 Monday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.127): Improved.
-
-2004-12-06 Monday 17:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.126), TODO (1.117), src/C_Polyhedron.defs.hh (1.28),
-	  src/C_Polyhedron.inlines.hh (1.21), src/NNC_Polyhedron.defs.hh
-	  (1.30), src/NNC_Polyhedron.inlines.hh (1.24): New methods
-	  C_Polyhedron& C_Polyhedron::operator=(const NNC_Polyhedron& y)
-	  and NNC_Polyhedron& NNC_Polyhedron::operator=(const C_Polyhedron&
-	  y).
-
-2004-12-06 Monday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/C_Polyhedron.cc (1.11): Efficiency bug fixed in
-	  C_Polyhedron::C_Polyhedron(const NNC_Polyhedron&).
-
-2004-12-06 Monday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.116): All the public classes of the library have been
-	  endowed with methods total_memory_in_bytes() and
-	  external_memory_in_bytes().
-
-2004-12-06 Monday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: LinExpression.defs.hh (1.72), Variable.defs.hh (1.43):
-	  Comments fixed/improved.
-
-2004-12-06 Monday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.defs.hh (1.7),
-	  src/Polyhedra_Powerset.inlines.hh (1.7), src/Powerset.defs.hh
-	  (1.2), src/Powerset.inlines.hh (1.3), tests/membytes2.cc (1.2):
-	  Added methods Powerset<CS>::external_memory_in_bytes() and
-	  Powerset<CS>::total_memory_in_bytes().  Added methods
-	  Polyhedra_Powerset<PH>::external_memory_in_bytes() and
-	  Polyhedra_Powerset<PH>::total_memory_in_bytes().
-
-2004-12-06 Monday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.defs.hh (1.48), src/Determinate.inlines.hh
-	  (1.42), tests/Makefile.am (1.237), tests/membytes2.cc (1.1):
-	  Added methods Determinate<PH>::external_memory_in_bytes() and
-	  Determinate<PH>::total_memory_in_bytes().
-
-2004-12-06 Monday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.defs.hh (1.47): Useless declarations removed.
-
-2004-12-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Variable.cc (1.17), Variable.defs.hh (1.42): New method
-	  Variable::OK().
-
-2004-12-05 Sunday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: LinExpression.cc (1.24), LinExpression.defs.hh (1.71): New
-	  method LinExpression::OK().
-
-2004-12-05 Sunday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.93), src/Generator.inlines.hh (1.48),
-	  src/LinExpression.defs.hh (1.70), src/LinExpression.inlines.hh
-	  (1.33), src/Variable.defs.hh (1.41), src/Variable.inlines.hh
-	  (1.20), tests/membytes1.cc (1.4): Added
-	  Variable::total_memory_in_bytes() and
-	  Variable::external_memory_in_bytes().  Added
-	  Generator::total_memory_in_bytes() and
-	  Generator::external_memory_in_bytes().  Added
-	  LinExpression::total_memory_in_bytes() and
-	  LinExpression::external_memory_in_bytes().
-
-2004-12-05 Sunday 07:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/membytes1.cc (1.3): Avoid compiler warnings.
-
-2004-12-05 Sunday 07:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.115), interfaces/Prolog/Prolog_interface.dox (1.117): We
-	  now explain to the GNU Prolog user that GNU Prolog must be
-	  configured using the `--disable-regs' option, if it has to work
-	  with _any_ foreign code (not just the PPL).
-
-2004-11-28 Sunday 14:35  Abramo Bagnara
-
-	* configure.ac, src/checked_float.inlines.hh (altnum.[11,14]):
-	  Fixed cygwin support.
-
-2004-11-28 Sunday 14:34  Abramo Bagnara
-
-	* configure.ac (1.141), src/checked_float.inlines.hh (1.9): Fixed
-	  cygwin support
-
-2004-11-27 Saturday 19:32  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.20): Use signed explicitly.
-
-2004-11-27 Saturday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL, NEWS, TODO, compile, config.guess, configure.ac,
-	  install-sh, Watchdog/INSTALL, Watchdog/Makefile.am,
-	  Watchdog/compile, Watchdog/config.guess, Watchdog/configure.ac,
-	  Watchdog/install-sh, demos/Makefile.am,
-	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/expected_int8,
-	  demos/ppl_lcdd/expected_int8_a, demos/ppl_lpsol/Makefile.am,
-	  demos/ppl_lpsol/expected, demos/ppl_lpsol/expected_int16,
-	  demos/ppl_lpsol/expected_int16_a, demos/ppl_lpsol/expected_int32,
-	  demos/ppl_lpsol/expected_int32_a, demos/ppl_lpsol/expected_int64,
-	  demos/ppl_lpsol/expected_int64_a, demos/ppl_lpsol/expected_int8,
-	  demos/ppl_lpsol/expected_int8_a, demos/ppl_lpsol/expected_mpz,
-	  demos/ppl_lpsol/expected_mpz_a, demos/ppl_lpsol/ppl_lpsol.c,
-	  doc/definitions.dox, doc/ppl.sty,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  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, m4/Makefile.am,
-	  m4/ac_cxx_long_double.m4, m4/ac_cxx_long_long.m4,
-	  src/AskTell.defs.hh, src/AskTell.inlines.hh,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	  src/Checked_Number.types.hh, src/ConSys.defs.hh,
-	  src/ConSys.inlines.hh, src/Constraint.defs.hh,
-	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/GMP_Integer.defs.hh,
-	  src/GMP_Integer.inlines.hh, src/GenSys.defs.hh,
-	  src/GenSys.inlines.hh, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/LinExpression.defs.hh,
-	  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/Makefile.am, src/Matrix.cc,
-	  src/Matrix.defs.hh, src/Matrix.inlines.hh,
-	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
-	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
-	  src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
-	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
-	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
-	  src/SatMatrix.cc, src/SatMatrix.defs.hh,
-	  src/SatMatrix.inlines.hh, src/SatRow.cc, src/SatRow.defs.hh,
-	  src/SatRow.inlines.hh, src/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/checked.defs.hh,
-	  src/checked.inlines.hh, src/checked_float.inlines.hh,
-	  src/checked_int.inlines.hh, src/checked_mpq.inlines.hh,
-	  src/checked_mpz.inlines.hh, src/globals.defs.hh, src/simplify.cc,
-	  src/swapping_sort.icc, tests/Makefile.am, tests/affineimage9.cc,
-	  tests/bgp99extrapolation1.cc, tests/bgp99extrapolation2.cc,
-	  tests/bhz03widening1.cc, tests/bhz03widening2.cc,
-	  tests/bhz03widening3.cc, tests/bhz03widening4.cc,
-	  tests/bhz03widening5.cc, tests/bhz03widening6.cc,
-	  tests/equals1.cc, tests/exceptions3.cc, tests/mapspacedims4.cc,
-	  tests/maxspacedim1.cc, tests/membytes1.cc, tests/universe7.cc,
-	  tests/valgrind_suppressions
-	  (altnum.[1,5,5,2,3,10,3,1,3,2,3,2,3,2,5,2,2,3,3,1,1,1,1,1,1,1,1,1,1,3,5,3,5,6,4,3,3,3,3,3,1,1,1,4,2,4,3,13,13,4,6,3,6,4,4,3,6,6,6,2,6,4,4,2,2,2,2,2,13,5,4,2,3,3,6,6,3,3,6,6,4,8,6,4,5,4,3,3,2,9,3,2,3,3,19,12,13,19,15,18,4,4,1,6,2,3,3,3,3,3,3,3,3,1,3,1,1,1,1,1]):
-	  Fifth number from main repository.
-
-2004-11-27 Saturday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/ppl_lpsol.c (1.4): Little memory leaks fixed.
-
-2004-11-27 Saturday 15:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.inlines.hh (1.20), NNC_Polyhedron.inlines.hh
-	  (1.23), Polyhedron.defs.hh (1.254), Polyhedron_chdims.cc (1.22),
-	  Polyhedron_nonpublic.cc (1.33): Private exception thrower method
-	  Polyhedron::throw_space_dimension_overflow() made static, as it
-	  is often called inside constructors (before actually constructing
-	  the polyhedron object).
-
-2004-11-27 Saturday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.236), valgrind_suppressions (1.1): Added a
-	  minimal infrastructure to perform regression testing using
-	  `valgrind'.
-
-2004-11-26 Friday 07:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/expected_int8_a (1.2): Fixed.
-
-2004-11-25 Thursday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.235): Added `ascii_dump_load4' to
-	  `XFAIL_WITH_INT8_A'.	iCVS:
-	  ----------------------------------------------------------------------
-
-2004-11-23 Tuesday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.140): Version number bumped.
-
-2004-11-23 Tuesday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (1.30): The methods SatRow::last() and the
-	  functions compare(const SatRow&, const SatRow&),
-	  subset_or_equal(const SatRow&, const SatRow&),
-	  subset_or_equal(const SatRow&, const SatRow&, bool&) and
-	  strict_subset(const SatRow&, const SatRow&) have been simplified
-	  and optimized.
-
-2004-11-23 Tuesday 13:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/membytes1.cc (1.2): Be quiet.
-
-2004-11-23 Tuesday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatRow.cc (1.29), SatRow.defs.hh (1.36), simplify.cc
-	  (1.40): New function bool subset_or_equal(const SatRow& x, const
-	  SatRow& y, bool& strict_subset) allows a simple optimization of
-	  Polyhedron::simplify().  The function bool strict_subset(const
-	  SatRow& x, const SatRow& y) is currently unused but left in
-	  place: it may be needed and, moreover, when all what matters is
-	  strict inclusion, `strict_subset(x, y)' is faster than
-	  `subset_or_equal(x, y, s) && s'.
-
-2004-11-22 Monday 19:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Linear_System.cc (1.8): The assertion at the beginning of
-	  add_pending_rows() made stronger: we assume that rows to be added
-	  have the same size.
-
-2004-11-22 Monday 06:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/Makefile.am (1.15), demos/ppl_lpsol/Makefile.am
-	  (1.8), interfaces/Prolog/Ciao/Makefile.am (1.36),
-	  interfaces/Prolog/GNU/Makefile.am (1.41),
-	  interfaces/Prolog/SICStus/Makefile.am (1.47),
-	  interfaces/Prolog/SWI/Makefile.am (1.39),
-	  interfaces/Prolog/XSB/Makefile.am (1.28),
-	  interfaces/Prolog/YAP/Makefile.am (1.31): Do not depend on the
-	  current locale.
-
-2004-11-22 Monday 06:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.114): Postpone one item to PPL 0.8.
-
-2004-11-21 Sunday 15:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_Row.defs.hh (1.4), Linear_Row.inlines.hh (1.4):
-	  Removed useless constructor for Linear_Row::Flags objects.
-
-2004-11-20 Saturday 08:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.21): Define the PROFILING symbol when
-	  compiling for profiling.
-
-2004-11-15 Monday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.139): Version number bumped.
-
-2004-11-15 Monday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.73): Method Row::Impl::shrink() fixed: it was
-	  horribly broken on October 30, 2004 with the result that no
-	  memory could ever be deallocated.
-
-2004-11-15 Monday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_System.cc (1.7), Linear_System.defs.hh (1.6),
-	  Linear_System.inlines.hh (1.7), SatMatrix.cc (1.34),
-	  SatMatrix.defs.hh (1.38), SatMatrix.inlines.hh (1.26),
-	  swapping_sort.icc (1.2): Function objects *LessThan() renamed as
-	  *_Less_Than.	Rewritten the sorting routine based on iter_swap's.
-
-2004-11-15 Monday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.138): Version number bumped.
-
-2004-11-15 Monday 09:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.125), TODO (1.113), src/Checked_Number.defs.hh (1.4),
-	  src/Checked_Number.inlines.hh (1.6), src/ConSys.defs.hh (1.91),
-	  src/ConSys.inlines.hh (1.36), src/Constraint.defs.hh (1.93),
-	  src/Constraint.inlines.hh (1.54), src/GMP_Integer.defs.hh (1.3),
-	  src/GMP_Integer.inlines.hh (1.3), src/GenSys.defs.hh (1.105),
-	  src/GenSys.inlines.hh (1.36), src/Linear_System.defs.hh (1.5),
-	  src/Linear_System.inlines.hh (1.6), src/Matrix.cc (1.79),
-	  src/Matrix.defs.hh (1.62), src/Matrix.inlines.hh (1.41),
-	  src/Native_Integer.defs.hh (1.4), src/Native_Integer.inlines.hh
-	  (1.5), src/Polyhedron.defs.hh (1.253), src/Polyhedron.inlines.hh
-	  (1.100), src/Polyhedron_public.cc (1.38), src/Row.cc (1.72),
-	  src/Row.defs.hh (1.85), src/Row.inlines.hh (1.52),
-	  src/SatMatrix.cc (1.33), src/SatMatrix.defs.hh (1.37),
-	  src/SatMatrix.inlines.hh (1.25), src/SatRow.defs.hh (1.35),
-	  src/SatRow.inlines.hh (1.30), src/globals.defs.hh (1.9),
-	  tests/Makefile.am (1.234), tests/membytes1.cc (1.1): Most of the
-	  public classes of the library have been endowed with methods
-	  `memory_size_type total_memory_in_bytes() const' and
-	  `memory_size_type external_memory_in_bytes() const' returning
-	  (lower bounds for) the total size in bytes of the memory occupied
-	  by *this and of the memory managed by *this, respectively.  The
-	  type `memory_size_type' is a newly added unsigned integral type
-	  suitable to the representation of such information.
-
-2004-11-11 Thursday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.defs.hh (1.6): Powerset::omega_reduce()
-	  made available to users of class Polyhedra_Powerset.
-
-2004-11-11 Thursday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.137): Version number bumped.
-
-2004-11-10 Wednesday 11:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.124), src/Polyhedra_Powerset.defs.hh (1.5),
-	  src/Widening_Function.defs.hh (1.6),
-	  src/Widening_Function.inlines.hh (1.6),
-	  tests/bgp99extrapolation1.cc (1.6), tests/bgp99extrapolation2.cc
-	  (1.8), tests/bhz03widening1.cc (1.7), tests/bhz03widening2.cc
-	  (1.9), tests/bhz03widening3.cc (1.7), tests/bhz03widening4.cc
-	  (1.5), tests/bhz03widening5.cc (1.6), tests/bhz03widening6.cc
-	  (1.7): The helper function widen_fun has been renamed
-	  widen_fun_ref.
-
-2004-11-08 Monday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/Makefile.am (1.7): Distribute all the expected*
-	  files.
-
-2004-11-08 Monday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.140): Handle
-	  std::length_error exceptions.
-
-2004-11-08 Monday 21:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.84): Concatenation order for ppl_install.hh
-	  fixed.
-
-2004-11-08 Monday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.112), src/AskTell.defs.hh (1.27), src/AskTell.inlines.hh
-	  (1.23), src/Determinate.defs.hh (1.46),
-	  src/Determinate.inlines.hh (1.41), src/Polyhedra_Powerset.defs.hh
-	  (1.4), src/Polyhedra_Powerset.inlines.hh (1.6),
-	  src/Polyhedron.defs.hh (1.252), src/Polyhedron.inlines.hh (1.99):
-	  `PartialFunction' renamed `Partial_Function'.
-
-2004-11-08 Monday 17:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.123), src/Polyhedron_public.cc (1.37): The bug shown by
-	  universe7.cc, affecting method Polyhedron::is_universe(), is now
-	  corrected.
-
-2004-11-08 Monday 17:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.233), universe7.cc (1.1): New test shows a
-	  bug in method Polyhedron::is_universe().
-
-2004-11-08 Monday 17:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: SatMatrix.cc (1.32), SatMatrix.inlines.hh (1.24):
-	  Reimplemented SatMatrix::sorted_contains() usiong binary search
-	  (instead of linear-search).
-
-2004-11-08 Monday 14:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_System.cc (1.6), Linear_System.defs.hh (1.4),
-	  Linear_System.inlines.hh (1.5), Makefile.am (1.83), SatMatrix.cc
-	  (1.31), SatMatrix.defs.hh (1.36), SatMatrix.inlines.hh (1.23),
-	  swapping_sort.icc (1.1): Added a simplified version of the STL
-	  sorting algorithm that avoids (almost all) copies of objects by
-	  performing more swaps.  The new algorithm is used when sorting
-	  Linear_System and SatMatrix objects.	The same algorithm is also
-	  used to provide a new implementation of method
-	  Linear_System::sort_and_remove_with_sat(SatMatrix& sat); by
-	  defining an iterator on Linear_System that mimics on the
-	  SatMatrix all the swaps made on the Linear_System.
-
-2004-11-08 Monday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.6), expected_int16_a (1.1),
-	  expected_int32_a (1.1), expected_int64_a (1.1), expected_int8_a
-	  (1.1), expected_mpz_a (1.1): Not all the examples can be tested
-	  with assertions enabled.
-
-2004-11-08 Monday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/Makefile.am (1.14): Logic simplified.
-
-2004-11-08 Monday 07:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.136): In Cygwin, /usr/include/mingw contains
-	  header files that conflict with those in /usr/include: cannot add
-	  the former to the include path list.
-
-2004-11-08 Monday 07:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (1.8): Previous change reverted.
-
-2004-11-08 Monday 00:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.135), src/checked_float.inlines.hh (1.7): Support
-	  for Cygwin improved.
-
-2004-11-07 Sunday 17:59  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.6): Dirty tricks due to
-	  ppl_install.hh generation weirdness.
-
-2004-11-07 Sunday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.35): Erase the right
-	  temporary file.
-
-2004-11-07 Sunday 16:10  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.5): Added support for non C99
-	  conformant Cygwin.
-
-2004-11-07 Sunday 15:55  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (1.4): Avoided endian.h inclusion.
-
-2004-11-07 Sunday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/: ppl_lcdd/expected_int8 (1.2), ppl_lpsol/expected_int8
-	  (1.2): Adapted to the fixed output of 8-bits integers.
-
-2004-11-07 Sunday 11:09  Abramo Bagnara
-
-	* src/: Checked_Number.inlines.hh (1.5), checked.defs.hh (1.3),
-	  checked.inlines.hh (1.3), checked_float.inlines.hh (1.3),
-	  checked_int.inlines.hh (1.5), checked_mpq.inlines.hh (1.4),
-	  checked_mpz.inlines.hh (1.4): Added support for I/O
-	  specialization.
-
-2004-11-06 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.5), expected (1.3): The
-	  `expected' file is now obsolete.
-
-2004-11-06 Saturday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.27): Distribute all the
-	  expected* files.
-
-2004-11-06 Saturday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.134): Bumped version number.
-
-2004-11-06 Saturday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.122): Mention the bug fixed in
-	  Polyhedron::map_space_dimensions().
-
-2004-11-06 Saturday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.inlines.hh (1.4), tests/Makefile.am (1.232),
-	  tests/mapspacedims4.cc (1.1): After the permutation of columns, a
-	  linear system must be sign-normalized.  The new test program
-	  mapspacedims4 shows this phenomenon.
-
-2004-11-06 Saturday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Linear_System.cc (1.5), Linear_System.defs.hh (1.3): New
-	  method Linear_System::sign_normalize().
-
-2004-11-06 Saturday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lpsol/: Makefile.am (1.4), expected_int16 (1.1),
-	  expected_int32 (1.1), expected_int64 (1.1), expected_int8 (1.1),
-	  expected_mpz (1.1): Added expected results for the various
-	  coeffcient types.
-
-2004-11-06 Saturday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/C_Polyhedron.defs.hh (1.27), src/NNC_Polyhedron.defs.hh
-	  (1.29), TODO (1.111): Documented the std::length exceptions that
-	  can be thrown by constructors.
-
-2004-11-04 Thursday 13:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/Makefile.am (1.5): Re-add `ppl_lpsol' to `SUBDIRS'.
-
-2004-11-04 Thursday 13:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/Makefile.am (1.13): Distribute the expected_*
-	  files.
-
-2004-11-04 Thursday 10:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.110), doc/definitions.dox (1.161), doc/ppl.sty (1.17),
-	  interfaces/Prolog/Prolog_interface.dox (1.116): Explained the
-	  order of arguments in widening applications.	Better explained
-	  the reason for having C_Polyhedron and NNC_Polyhedron.
-
-2004-11-02 Tuesday 17:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/exceptions3.cc (1.4): Checking the detection of space
-	  dimension overflows in methods changing teh dimension of a
-	  polyhedron.
-
-2004-11-02 Tuesday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/maxspacedim1.cc (1.2): Testing the max_space_dimension()
-	  methods on Constraint and Generator.
-
-2004-11-02 Tuesday 17:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.21): Corrected exception message.
-
-2004-11-02 Tuesday 17:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.92), Constraint.inlines.hh (1.53),
-	  Generator.defs.hh (1.92), Generator.inlines.hh (1.47): Added
-	  static method max_space_dimension() to classes Constraint and
-	  Generator.
-
-2004-11-02 Tuesday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Native_Integer.inlines.hh (1.4): Added several constructors.
-
-2004-11-02 Tuesday 15:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/affineimage9.cc (1.2): A spurious dot resulted into an
-	  unknown floating point constant: fixed.
-
-2004-11-02 Tuesday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_int.inlines.hh (1.4): Include <cstdlib> for strtol(),
-	  strtoul(), strtoll() and strtoull().
-
-2004-11-02 Tuesday 12:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.133), m4/ac_cxx_long_double.m4 (1.2): Amended to
-	  check whether the C++ compiler provides long double numbers that
-	  have bigger range or precision than double.
-
-2004-11-02 Tuesday 12:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Native_Integer.defs.hh (1.3), Native_Integer.inlines.hh
-	  (1.3): Reorganized.  All friend declarations removed.
-
-2004-11-02 Tuesday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Number.defs.hh (1.3), Checked_Number.inlines.hh
-	  (1.4), Checked_Number.types.hh (1.3): Minor changes to adhere to
-	  our coding conventions.  Added declarations for template
-	  <typename T, typename Policy> const T& raw_value(const
-	  Checked_Number<T, Policy>& x) and template <typename T, typename
-	  Policy> T& raw_value(Checked_Number<T, Policy>& x).
-
-2004-11-02 Tuesday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.231): The programs equals1 and nnc_equals1
-	  fail also with 32-bits integers.
-
-2004-11-01 Monday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.132), m4/Makefile.am (1.11),
-	  m4/ac_cxx_long_double.m4 (1.1), m4/ac_cxx_long_long.m4 (1.1): New
-	  Autoconf tests to check whether the C++ compiler supports long
-	  long integers and long double numbers.
-
-2004-11-01 Monday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.230), equals1.cc (1.1): Test
-	  operator==(const Polyhedron&, const Polyhedron&).
-
-2004-11-01 Monday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.6), compile (1.3), config.guess (1.25), install-sh
-	  (1.11), Watchdog/INSTALL (1.3), Watchdog/compile (1.3),
-	  Watchdog/config.guess (1.9), Watchdog/install-sh (1.8): Updated
-	  from Automake 1.9.3.
-
-2004-11-01 Monday 11:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.cc (1.4): Fixed a problem introduced with the
-	  previous commit.
-
-2004-11-01 Monday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.cc (1.3): Two FIXMEs dealt with.
-
-2004-11-01 Monday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.defs.hh (1.61): FIXME added.
-
-2004-10-30 Saturday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.71), Row.inlines.hh (1.51): Fixed a bug in
-	  Row::shrink() that could bite (but not with the current code)
-	  when using compilers not supporting flexible arrays.
-
-2004-10-30 Saturday 12:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.131): Check for endianness.
-
-2004-10-29 Friday 19:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.229), maxspacedim1.cc (1.1): Test the
-	  *::max_space_dimension() methods.
-
-2004-10-29 Friday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: checked_mpq.inlines.hh (1.3), checked_mpz.inlines.hh (1.3):
-	  Spurious semicolons removed.
-
-2004-10-29 Friday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Linear_System.inlines.hh (1.3): Make sure
-	  Linear_System::is_sorted() and Linear_System::set_sorted() are
-	  defined before being used.
-
-2004-10-29 Friday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LinExpression.defs.hh (1.69): Meaningless type qualifier
-	  removed.
-
-2004-10-29 Friday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.13), demos/ppl_lcdd/Makefile.am (1.12),
-	  demos/ppl_lpsol/Makefile.am (1.3),
-	  interfaces/Prolog/Ciao/Makefile.am (1.34),
-	  interfaces/Prolog/GNU/Makefile.am (1.40),
-	  interfaces/Prolog/SICStus/Makefile.am (1.46),
-	  interfaces/Prolog/XSB/Makefile.am (1.26),
-	  interfaces/Prolog/YAP/Makefile.am (1.30), tests/Makefile.am
-	  (1.228): Always specify the condition which is closed by an
-	  Automake's `end',
-
-2004-10-29 Friday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/Makefile.am (1.11): Run `ppl_lcdd' in the local
-	  directory, not some other executable with the same name.
-
-2004-10-28 Thursday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, TODO, configure.ac, demos/ppl_lcdd/Makefile.am,
-	  demos/ppl_lcdd/expected, demos/ppl_lcdd/expected_int16,
-	  demos/ppl_lcdd/expected_int16_a, demos/ppl_lcdd/expected_int32,
-	  demos/ppl_lcdd/expected_int32_a, demos/ppl_lcdd/expected_int64,
-	  demos/ppl_lcdd/expected_int64_a, demos/ppl_lcdd/expected_int8,
-	  demos/ppl_lcdd/expected_int8_a, demos/ppl_lcdd/expected_mpz,
-	  demos/ppl_lcdd/expected_mpz_a, demos/ppl_lcdd/ppl_lcdd.cc,
-	  doc/definitions.dox, doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/devref.tex, doc/user.tex, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/ack.clpq, interfaces/Prolog/ackn.clpq,
-	  interfaces/Prolog/check_script, interfaces/Prolog/check_script2,
-	  interfaces/Prolog/clpq.pl, interfaces/Prolog/clpq2.pl,
-	  interfaces/Prolog/expected, interfaces/Prolog/expected2,
-	  interfaces/Prolog/expected3, interfaces/Prolog/fib.clpq,
-	  interfaces/Prolog/mc91.clpq, interfaces/Prolog/pl_check.pl,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/schedule.clpq, interfaces/Prolog/smm.clpq,
-	  interfaces/Prolog/smmdiff.clpq, interfaces/Prolog/sumto.clpq,
-	  interfaces/Prolog/tak.clpq, interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ppl_ciao.cc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/Makefile.am,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SICStus/sp_clpq.pl,
-	  interfaces/Prolog/SWI/Makefile.am,
-	  interfaces/Prolog/SWI/pl_clpq.pl,
-	  interfaces/Prolog/XSB/Makefile.am,
-	  interfaces/Prolog/XSB/expected, interfaces/Prolog/XSB/expected2,
-	  interfaces/Prolog/XSB/expected2_int16,
-	  interfaces/Prolog/XSB/expected2_int16_a,
-	  interfaces/Prolog/XSB/expected2_int32,
-	  interfaces/Prolog/XSB/expected2_int32_a,
-	  interfaces/Prolog/XSB/expected2_int64,
-	  interfaces/Prolog/XSB/expected2_int64_a,
-	  interfaces/Prolog/XSB/expected2_int8,
-	  interfaces/Prolog/XSB/expected2_int8_a,
-	  interfaces/Prolog/XSB/expected2_mpz,
-	  interfaces/Prolog/XSB/expected2_mpz_a,
-	  interfaces/Prolog/XSB/expected3_int16,
-	  interfaces/Prolog/XSB/expected3_int16_a,
-	  interfaces/Prolog/XSB/expected3_int32,
-	  interfaces/Prolog/XSB/expected3_int32_a,
-	  interfaces/Prolog/XSB/expected3_int64,
-	  interfaces/Prolog/XSB/expected3_int64_a,
-	  interfaces/Prolog/XSB/expected3_int8,
-	  interfaces/Prolog/XSB/expected3_int8_a,
-	  interfaces/Prolog/XSB/expected3_mpz,
-	  interfaces/Prolog/XSB/expected3_mpz_a,
-	  interfaces/Prolog/XSB/expected_int16,
-	  interfaces/Prolog/XSB/expected_int16_a,
-	  interfaces/Prolog/XSB/expected_int32,
-	  interfaces/Prolog/XSB/expected_int32_a,
-	  interfaces/Prolog/XSB/expected_int64,
-	  interfaces/Prolog/XSB/expected_int64_a,
-	  interfaces/Prolog/XSB/expected_int8,
-	  interfaces/Prolog/XSB/expected_int8_a,
-	  interfaces/Prolog/XSB/expected_mpz,
-	  interfaces/Prolog/XSB/expected_mpz_a,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/YAP/Makefile.am,
-	  interfaces/Prolog/YAP/ppl_yap.cc,
-	  interfaces/Prolog/YAP/yap_clpq.pl,
-	  interfaces/Prolog/YAP/yap_clpq2.pl,
-	  interfaces/Prolog/YAP/yap_pl_check.pl,
-	  interfaces/Prolog/tests/.cvsignore,
-	  interfaces/Prolog/tests/Makefile.am,
-	  interfaces/Prolog/tests/ack.clpq,
-	  interfaces/Prolog/tests/ackn.clpq,
-	  interfaces/Prolog/tests/check_script,
-	  interfaces/Prolog/tests/check_script2,
-	  interfaces/Prolog/tests/check_script2_int8,
-	  interfaces/Prolog/tests/clpq.pl,
-	  interfaces/Prolog/tests/clpq2.pl,
-	  interfaces/Prolog/tests/expected2_int16,
-	  interfaces/Prolog/tests/expected2_int16_a,
-	  interfaces/Prolog/tests/expected2_int32,
-	  interfaces/Prolog/tests/expected2_int32_a,
-	  interfaces/Prolog/tests/expected2_int64,
-	  interfaces/Prolog/tests/expected2_int64_a,
-	  interfaces/Prolog/tests/expected2_int8,
-	  interfaces/Prolog/tests/expected2_int8_a,
-	  interfaces/Prolog/tests/expected2_mpz,
-	  interfaces/Prolog/tests/expected2_mpz_a,
-	  interfaces/Prolog/tests/expected3_int16,
-	  interfaces/Prolog/tests/expected3_int16_a,
-	  interfaces/Prolog/tests/expected3_int32,
-	  interfaces/Prolog/tests/expected3_int32_a,
-	  interfaces/Prolog/tests/expected3_int64,
-	  interfaces/Prolog/tests/expected3_int64_a,
-	  interfaces/Prolog/tests/expected3_int8,
-	  interfaces/Prolog/tests/expected3_int8_a,
-	  interfaces/Prolog/tests/expected3_mpz,
-	  interfaces/Prolog/tests/expected3_mpz_a,
-	  interfaces/Prolog/tests/expected_int16,
-	  interfaces/Prolog/tests/expected_int16_a,
-	  interfaces/Prolog/tests/expected_int32,
-	  interfaces/Prolog/tests/expected_int32_a,
-	  interfaces/Prolog/tests/expected_int64,
-	  interfaces/Prolog/tests/expected_int64_a,
-	  interfaces/Prolog/tests/expected_int8,
-	  interfaces/Prolog/tests/expected_int8_a,
-	  interfaces/Prolog/tests/expected_mpz,
-	  interfaces/Prolog/tests/expected_mpz_a,
-	  interfaces/Prolog/tests/fib.clpq,
-	  interfaces/Prolog/tests/mc91.clpq,
-	  interfaces/Prolog/tests/pl_check.pl,
-	  interfaces/Prolog/tests/schedule.clpq,
-	  interfaces/Prolog/tests/smm.clpq,
-	  interfaces/Prolog/tests/smmdiff.clpq,
-	  interfaces/Prolog/tests/sumto.clpq,
-	  interfaces/Prolog/tests/tak.clpq, m4/ac_check_gmp.m4,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh,
-	  src/Constraint.cc, src/Constraint.defs.hh,
-	  src/Constraint.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
-	  src/GenSys.inlines.hh, src/Generator.cc, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/LinExpression.cc,
-	  src/LinExpression.defs.hh, src/LinExpression.inlines.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/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
-	  src/Matrix.inlines.hh, src/NNC_Polyhedron.defs.hh,
-	  src/NNC_Polyhedron.inlines.hh, src/Ph_Status.cc,
-	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
-	  src/Polyhedron_chdims.cc, src/Polyhedron_nonpublic.cc,
-	  src/Polyhedron_public.cc, src/Row.cc, src/Row.defs.hh,
-	  src/Row.inlines.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh,
-	  src/SatMatrix.inlines.hh, src/Variable.defs.hh,
-	  src/Variable.inlines.hh, src/conversion.cc, src/globals.defs.hh,
-	  src/globals.inlines.hh, src/max_space_dimension.hh,
-	  src/minimize.cc, src/simplify.cc, tests/Makefile.am,
-	  tests/addgenerator1.cc, tests/addgenerator2.cc,
-	  tests/addgenerator5.cc, tests/addgenerators11.cc,
-	  tests/addspacedims10.cc, tests/affineimage9.cc,
-	  tests/bhrz03widening9.cc, tests/ehandlers.hh,
-	  tests/exceptions2.cc, tests/exceptions3.cc, tests/generators2.cc,
-	  tests/geomcovers1.cc, tests/polyhull10.cc, tests/polyhull11.cc,
-	  tests/randphull1.cc
-	  (altnum.[4,4,9,4,3,1,1,1,1,1,1,1,1,1,1,7,4,4,4,4,2,2,5,3,1,4,1,1,1,1,2,2,2,2,1,1,1,3,5,1,1,1,1,1,3,3,3,2,2,4,1,2,1,2,2,2,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,4,2,4,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,1,1,1,1,1,1,1,1,1,1,1,3,2,4,5,2,2,5,3,5,5,1,4,5,3,2,3,2,1,1,1,1,1,1,1,1,12,4,3,1,2,2,1,5,5,3,7,5,3,4,3,2,2,1,3,1,5,3,2,2,3,3,5,2,2,1,2,2,1,1,1,2,2,1,1,1,1,1]):
-	  Fourth merge from main trunk.
-
-2004-10-28 Thursday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: globals.defs.hh (1.8), globals.inlines.hh (1.4):
-	  Implementation of not_a_dimension() and maybe_abandon() moved to
-	  global.inlines.hh.
-
-2004-10-28 Thursday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: globals.defs.hh (1.7), globals.inlines.hh (1.3):
-	  Implementation of compute_capacity() moved to global.inlines.hh.
-
-2004-10-28 Thursday 17:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_System.cc (1.2), Matrix.cc (1.78), Matrix.inlines.hh
-	  (1.40), Row.cc (1.70), Row.inlines.hh (1.50), SatMatrix.cc
-	  (1.30), SatMatrix.defs.hh (1.35), SatMatrix.inlines.hh (1.22),
-	  globals.defs.hh (1.6): Avoid overflows when computing capacities
-	  for speculative memory allocations.  Added missing assertions on
-	  (user-unavailable) methods creating or extending data structures.
-
-2004-10-28 Thursday 08:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.19): Simplified the detection of
-	  sizeof(mp_limb_t): this works with Autoconf version 2.50 or
-	  higher (we already require 2.59 or higher).
-
-2004-10-28 Thursday 08:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.18): Second test program improved.
-
-2004-10-28 Thursday 07:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.121), configure.ac (1.130), interfaces/C/ppl_c.h.in
-	  (1.36), m4/ac_check_gmp.m4 (1.17): We now require GMP 4.1.3 or
-	  higher.
-
-2004-10-27 Wednesday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.defs.hh (1.68), Variable.defs.hh (1.40): The
-	  new exceptions thrown by Variable and LinExpression are now
-	  mentioned in the documentation.
-
-2004-10-27 Wednesday 12:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.inlines.hh (1.35), GenSys.inlines.hh (1.35),
-	  Linear_System.defs.hh (1.2), Linear_System.inlines.hh (1.2):
-	  Added static method Linear_System::max_space_dimension().
-	  Corresponding methods of ConSys and GenSys are now implemented
-	  using this one.
-
-2004-10-27 Wednesday 12:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.43), Constraint.inlines.hh (1.52),
-	  Generator.cc (1.54), Generator.inlines.hh (1.46),
-	  Polyhedron.defs.hh (1.251), Polyhedron_chdims.cc (1.20),
-	  Polyhedron_nonpublic.cc (1.32), Polyhedron_public.cc (1.36):
-	  Exploit the availability of Variable::space_dimension().
-
-2004-10-27 Wednesday 12:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Linear_Row.defs.hh (1.3), Linear_Row.inlines.hh (1.3):
-	  Implemented method max_space_dimension().
-
-2004-10-27 Wednesday 12:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/exceptions3.cc (1.3): Now also checking for exceptions
-	  thrown by Variable and LinExpression when exceeding the maximum
-	  space dimension.
-
-2004-10-27 Wednesday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.cc (1.23), LinExpression.defs.hh (1.67),
-	  LinExpression.inlines.hh (1.32): Added method
-	  max_space_dimension(). Checking for space dimension overflows
-	  when building a LinExpression.
-
-2004-10-27 Wednesday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Variable.defs.hh (1.39), Variable.inlines.hh (1.19): Added
-	  methods space_dimension() and max_space_dimension() to class
-	  Variable.  The constructor now checks for space dimension
-	  overflows.
-
-2004-10-26 Tuesday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.227): Take into account that some tests with
-	  checked-int8 fail only when assertions are enabled.
-
-2004-10-26 Tuesday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ehandlers.hh (1.9): Treat std::overflow_error specially.
-
-2004-10-26 Tuesday 18:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.115): Information about
-	  system-dependent features for the Prolog interface updated.
-
-2004-10-26 Tuesday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.74), GenSys.cc (1.100): Try to correctly deal
-	  with systems having no rows and possibly 0 columns.
-
-2004-10-26 Tuesday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/Makefile.am (1.39), tests/Makefile.am
-	  (1.2), tests/check_script2_int8 (1.1): Temporary kludge to avoid
-	  GNU Prolog's syntax errors when using clpq2 with checked-int8
-	  coefficients.
-
-2004-10-26 Tuesday 14:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SWI/pl_clpq.pl (1.6): Temporary work-around to
-	  avoid a problem with the Prolog prompt whenusing SWI-Prolog.
-
-2004-10-26 Tuesday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.tex (1.15), user.tex (1.16): Use
-	  \renewcommand{\footrulewidth}{0.4pt} instead of
-	  \setlength{\footrulewidth}{0.4pt}.
-
-2004-10-26 Tuesday 10:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.109): The last XFAILS has been dealt with (the only
-	  XFAILS remaining are those related to checked integers).
-
-2004-10-26 Tuesday 10:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.160): Typo corrected. Also stressed that
-	  NNC polyhedra have to be used only when actually needed.
-
-2004-10-26 Tuesday 10:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.120), tests/Makefile.am (1.226), tests/addgenerators11.cc
-	  (1.9), tests/exceptions2.cc (1.34): Test addgenerators11 is no
-	  longer in the XFAIL list.  Modified test2() in exceptions2.cc so
-	  as to no longer guard against an unwanted exception.	While at
-	  it, reordered the tests in Makefile.am so as to follow the
-	  alphabetical order.  The corrected bug announced in the NEWS
-	  file.
-
-2004-10-26 Tuesday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.99), GenSys.defs.hh (1.104): Private mathod
-	  bool GenSys::has_closure_points() const; now behaves assuming the
-	  point of view of the user, i.e., disregarding those closure
-	  points that are matched by corresponding points.  Fixed a bug in
-	  private method   void
-	  GenSys::adjust_topology_and_space_dimension(...); whereby an
-	  unwanted exception was thrown when converting an NNC generator
-	  system into a C generator system. This correction also makes test
-	  addgenerators11 behave correctly (i.e., no longer XFAILS).
-
-2004-10-25 Monday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected3_mpz (1.1): New and revised
-	  expectations.
-
-2004-10-25 Monday 17:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.33): Pathname fixed.
-
-2004-10-25 Monday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.119), TODO (1.108), src/C_Polyhedron.defs.hh (1.26),
-	  src/ConSys.defs.hh (1.90), src/GenSys.defs.hh (1.103),
-	  src/NNC_Polyhedron.defs.hh (1.28), tests/bhrz03widening9.cc
-	  (1.7): Avoid implicit constructors (except in very special
-	  cases).
-
-2004-10-25 Monday 13:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.107): Added another item related to non-explicit
-	  constructors.
-
-2004-10-25 Monday 10:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/expected_int16 (1.1),
-	  interfaces/Prolog/XSB/expected2_int16 (1.2),
-	  interfaces/Prolog/XSB/expected3_int16 (1.1),
-	  interfaces/Prolog/tests/expected2_int16 (1.2): New and revised
-	  expectations.
-
-2004-10-25 Monday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/expected_int8 (1.1),
-	  interfaces/Prolog/XSB/expected3_int8 (1.1),
-	  interfaces/Prolog/tests/expected3_int8 (1.2): New and revised
-	  expectations.
-
-2004-10-25 Monday 10:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/expected_int64 (1.1),
-	  interfaces/Prolog/XSB/expected2_int32 (1.2),
-	  interfaces/Prolog/XSB/expected3_int32 (1.1),
-	  interfaces/Prolog/XSB/expected3_int64 (1.1),
-	  interfaces/Prolog/tests/expected2_int32 (1.2),
-	  interfaces/Prolog/tests/expected3_int64 (1.2): New and revised
-	  expectations.
-
-2004-10-25 Monday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.129), interfaces/Prolog/Makefile.am (1.26),
-	  interfaces/Prolog/ack.clpq (1.2), interfaces/Prolog/ackn.clpq
-	  (1.2), interfaces/Prolog/check_script (1.4),
-	  interfaces/Prolog/check_script2 (1.3), interfaces/Prolog/clpq.pl
-	  (1.18), interfaces/Prolog/clpq2.pl (1.29),
-	  interfaces/Prolog/expected2_int16 (1.2),
-	  interfaces/Prolog/expected2_int32 (1.2),
-	  interfaces/Prolog/expected2_int64 (1.2),
-	  interfaces/Prolog/expected2_int8 (1.2),
-	  interfaces/Prolog/expected2_mpz (1.2),
-	  interfaces/Prolog/expected3_int16 (1.2),
-	  interfaces/Prolog/expected3_int32 (1.2),
-	  interfaces/Prolog/expected3_int64 (1.2),
-	  interfaces/Prolog/expected3_int8 (1.3),
-	  interfaces/Prolog/expected3_mpz (1.2),
-	  interfaces/Prolog/expected_int16 (1.2),
-	  interfaces/Prolog/expected_int32 (1.2),
-	  interfaces/Prolog/expected_int64 (1.2),
-	  interfaces/Prolog/expected_int8 (1.2),
-	  interfaces/Prolog/expected_mpz (1.2), interfaces/Prolog/fib.clpq
-	  (1.2), interfaces/Prolog/mc91.clpq (1.2),
-	  interfaces/Prolog/pl_check.pl (1.103),
-	  interfaces/Prolog/schedule.clpq (1.4), interfaces/Prolog/smm.clpq
-	  (1.2), interfaces/Prolog/smmdiff.clpq (1.2),
-	  interfaces/Prolog/sumto.clpq (1.2), interfaces/Prolog/tak.clpq
-	  (1.2), interfaces/Prolog/Ciao/Makefile.am (1.32),
-	  interfaces/Prolog/GNU/Makefile.am (1.38),
-	  interfaces/Prolog/SICStus/Makefile.am (1.45),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.10),
-	  interfaces/Prolog/SWI/Makefile.am (1.38),
-	  interfaces/Prolog/XSB/Makefile.am (1.25),
-	  interfaces/Prolog/XSB/expected2_int16_a (1.1),
-	  interfaces/Prolog/XSB/expected2_int32_a (1.1),
-	  interfaces/Prolog/XSB/expected2_int64_a (1.1),
-	  interfaces/Prolog/XSB/expected2_int8_a (1.1),
-	  interfaces/Prolog/XSB/expected2_mpz_a (1.1),
-	  interfaces/Prolog/XSB/expected3_int16_a (1.1),
-	  interfaces/Prolog/XSB/expected3_int32_a (1.1),
-	  interfaces/Prolog/XSB/expected3_int64_a (1.1),
-	  interfaces/Prolog/XSB/expected3_int8_a (1.1),
-	  interfaces/Prolog/XSB/expected3_mpz_a (1.1),
-	  interfaces/Prolog/XSB/expected_int16_a (1.1),
-	  interfaces/Prolog/XSB/expected_int32_a (1.1),
-	  interfaces/Prolog/XSB/expected_int64_a (1.1),
-	  interfaces/Prolog/XSB/expected_int8_a (1.1),
-	  interfaces/Prolog/XSB/expected_mpz_a (1.1),
-	  interfaces/Prolog/YAP/Makefile.am (1.29),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.8),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.4),
-	  interfaces/Prolog/YAP/yap_pl_check.pl (1.6),
-	  interfaces/Prolog/tests/.cvsignore (1.1),
-	  interfaces/Prolog/tests/Makefile.am (1.1),
-	  interfaces/Prolog/tests/ack.clpq (1.1),
-	  interfaces/Prolog/tests/ackn.clpq (1.1),
-	  interfaces/Prolog/tests/check_script (1.1),
-	  interfaces/Prolog/tests/check_script2 (1.1),
-	  interfaces/Prolog/tests/clpq.pl (1.1),
-	  interfaces/Prolog/tests/clpq2.pl (1.1),
-	  interfaces/Prolog/tests/expected2_int16 (1.1),
-	  interfaces/Prolog/tests/expected2_int16_a (1.1),
-	  interfaces/Prolog/tests/expected2_int32 (1.1),
-	  interfaces/Prolog/tests/expected2_int32_a (1.1),
-	  interfaces/Prolog/tests/expected2_int64 (1.1),
-	  interfaces/Prolog/tests/expected2_int64_a (1.1),
-	  interfaces/Prolog/tests/expected2_int8 (1.1),
-	  interfaces/Prolog/tests/expected2_int8_a (1.1),
-	  interfaces/Prolog/tests/expected2_mpz (1.1),
-	  interfaces/Prolog/tests/expected2_mpz_a (1.1),
-	  interfaces/Prolog/tests/expected3_int16 (1.1),
-	  interfaces/Prolog/tests/expected3_int16_a (1.1),
-	  interfaces/Prolog/tests/expected3_int32 (1.1),
-	  interfaces/Prolog/tests/expected3_int32_a (1.1),
-	  interfaces/Prolog/tests/expected3_int64 (1.1),
-	  interfaces/Prolog/tests/expected3_int64_a (1.1),
-	  interfaces/Prolog/tests/expected3_int8 (1.1),
-	  interfaces/Prolog/tests/expected3_int8_a (1.1),
-	  interfaces/Prolog/tests/expected3_mpz (1.1),
-	  interfaces/Prolog/tests/expected3_mpz_a (1.1),
-	  interfaces/Prolog/tests/expected_int16 (1.1),
-	  interfaces/Prolog/tests/expected_int16_a (1.1),
-	  interfaces/Prolog/tests/expected_int32 (1.1),
-	  interfaces/Prolog/tests/expected_int32_a (1.1),
-	  interfaces/Prolog/tests/expected_int64 (1.1),
-	  interfaces/Prolog/tests/expected_int64_a (1.1),
-	  interfaces/Prolog/tests/expected_int8 (1.1),
-	  interfaces/Prolog/tests/expected_int8_a (1.1),
-	  interfaces/Prolog/tests/expected_mpz (1.1),
-	  interfaces/Prolog/tests/expected_mpz_a (1.1),
-	  interfaces/Prolog/tests/fib.clpq (1.1),
-	  interfaces/Prolog/tests/mc91.clpq (1.1),
-	  interfaces/Prolog/tests/pl_check.pl (1.1),
-	  interfaces/Prolog/tests/schedule.clpq (1.1),
-	  interfaces/Prolog/tests/smm.clpq (1.1),
-	  interfaces/Prolog/tests/smmdiff.clpq (1.1),
-	  interfaces/Prolog/tests/sumto.clpq (1.1),
-	  interfaces/Prolog/tests/tak.clpq (1.1): Prolog tests reorganized.
-
-2004-10-24 Sunday 22:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.128), demos/ppl_lcdd/Makefile.am (1.10),
-	  demos/ppl_lcdd/expected (1.4), demos/ppl_lcdd/expected_a (1.2),
-	  demos/ppl_lcdd/expected_int16_a (1.1),
-	  demos/ppl_lcdd/expected_int32 (1.1),
-	  demos/ppl_lcdd/expected_int32_a (1.1),
-	  demos/ppl_lcdd/expected_int64_a (1.1),
-	  demos/ppl_lcdd/expected_int8_a (1.1), demos/ppl_lcdd/expected_mpz
-	  (1.1), demos/ppl_lcdd/expected_mpz_a (1.1),
-	  interfaces/Prolog/Makefile.am (1.25), interfaces/Prolog/expected
-	  (1.8), interfaces/Prolog/expected2 (1.13),
-	  interfaces/Prolog/expected2_int16 (1.1),
-	  interfaces/Prolog/expected2_int32 (1.1),
-	  interfaces/Prolog/expected2_int64 (1.1),
-	  interfaces/Prolog/expected2_mpz (1.1),
-	  interfaces/Prolog/expected3 (1.2),
-	  interfaces/Prolog/expected3_int16 (1.1),
-	  interfaces/Prolog/expected3_int32 (1.1),
-	  interfaces/Prolog/expected3_int64 (1.1),
-	  interfaces/Prolog/expected3_mpz (1.1),
-	  interfaces/Prolog/expected_int16 (1.1),
-	  interfaces/Prolog/expected_int32 (1.1),
-	  interfaces/Prolog/expected_int64 (1.1),
-	  interfaces/Prolog/expected_mpz (1.1),
-	  interfaces/Prolog/Ciao/Makefile.am (1.31),
-	  interfaces/Prolog/GNU/Makefile.am (1.37),
-	  interfaces/Prolog/SICStus/Makefile.am (1.44),
-	  interfaces/Prolog/SWI/Makefile.am (1.37),
-	  interfaces/Prolog/XSB/Makefile.am (1.24),
-	  interfaces/Prolog/XSB/expected (1.9),
-	  interfaces/Prolog/XSB/expected2 (1.11),
-	  interfaces/Prolog/XSB/expected2_int16 (1.1),
-	  interfaces/Prolog/XSB/expected2_int32 (1.1),
-	  interfaces/Prolog/XSB/expected2_int64 (1.1),
-	  interfaces/Prolog/XSB/expected2_mpz (1.1),
-	  interfaces/Prolog/XSB/expected_int16 (1.1),
-	  interfaces/Prolog/XSB/expected_int32 (1.1),
-	  interfaces/Prolog/XSB/expected_int64 (1.1),
-	  interfaces/Prolog/XSB/expected_mpz (1.1),
-	  interfaces/Prolog/YAP/Makefile.am (1.28): Another step toward the
-	  generalization of the regression testing mechanisms.
-
-2004-10-24 Sunday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.33): Print more about which kind of
-	  arithmetic overflow occurred.
-
-2004-10-24 Sunday 16:38  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (1.3): Generate overflow exception
-	  instead of inappropriate domain one.
-
-2004-10-24 Sunday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: expected3_int8 (1.2), SWI/Makefile.am (1.36),
-	  XSB/Makefile.am (1.23), XSB/expected2_int8 (1.1),
-	  XSB/expected_int8 (1.1): More infrastructure to conditionalize
-	  our expectations about the tests outcome on the kind of
-	  coefficients we use.
-
-2004-10-24 Sunday 12:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/pl_check.pl (1.102): Catch all exceptions.
-
-2004-10-24 Sunday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.66):
-	  Integer_to_integer_term() fixed.
-
-2004-10-24 Sunday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/pl_check.pl (1.101): Variable name clash
-	  removed: this was causing XSB to crash (due to one of its many
-	  bugs).
-
-2004-10-24 Sunday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.127), interfaces/Prolog/expected2_int8 (1.1),
-	  interfaces/Prolog/expected3_int8 (1.1),
-	  interfaces/Prolog/expected_int8 (1.1),
-	  interfaces/Prolog/Ciao/Makefile.am (1.30),
-	  interfaces/Prolog/GNU/Makefile.am (1.36),
-	  interfaces/Prolog/SICStus/Makefile.am (1.43),
-	  interfaces/Prolog/YAP/Makefile.am (1.27): Started adding some
-	  infrastructure so as to conditionalize our expectations about the
-	  tests outcome on the kind of coefficients used.
-
-2004-10-24 Sunday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.225), geomcovers1.cc (1.1): New test for
-	  Polyhedra_Powerset<PH>::geometrically_covers().
-
-2004-10-24 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.106): Added a new item.
-
-2004-10-23 Saturday 23:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/clpq2.pl (1.28): Fail gracefully in those cases
-	  where an overflow exception or other PPL exception is thrown.
-
-2004-10-23 Saturday 23:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/clpq.pl (1.17): Fail gracefully in those cases
-	  where an overflow exception or other PPL exception is thrown.
-
-2004-10-23 Saturday 23:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.139): Handle
-	  std::overflow_error.
-
-2004-10-21 Thursday 20:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/memory1.cc (1.23): Be quiet.
-
-2004-10-21 Thursday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.224): The definition of XFAIL_TESTS now
-	  takes into account the type of coefficients being used.
-
-2004-10-21 Thursday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.126): Introduced new Automake variables that
-	  allow to keep track of the type of coefficients being used.
-
-2004-10-21 Thursday 13:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/randphull1.cc (1.11): Fixed to allow for generic
-	  coefficients.
-
-2004-10-21 Thursday 11:59  Abramo Bagnara
-
-	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.26): Generalized string
-	  conversion.
-
-2004-10-20 Wednesday 20:00  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (1.3): Use signed explicitly.
-
-2004-10-20 Wednesday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/: Makefile.am (1.9), expected_a (1.1): Exclude
-	  examples that are too heavy when assertions are enabled.
-
-2004-10-20 Wednesday 18:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.125): Introduced new Automake conditional
-	  ASSERTIONS_ENABLED.
-
-2004-10-20 Wednesday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.105): We now allow the specification of alternative
-	  coefficient implementations.
-
-2004-10-20 Wednesday 15:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.104): The bug concerning empty generator systems has been
-	  fixed.
-
-2004-10-20 Wednesday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.223): Added nnc_randphull1 and
-	  nnc_randphull2 to DERIVED_TESTS.
-
-2004-10-19 Tuesday 22:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.14), configure.ac (1.124), demos/Makefile.am (1.4),
-	  demos/ppl_lcdd/ppl_lcdd.cc (1.32),
-	  doc/devref-browse.doxyconf-latex.in (1.46),
-	  doc/devref-print.doxyconf-latex.in (1.46),
-	  doc/devref.doxyconf-html.in (1.46), interfaces/C/ppl_c.cc
-	  (1.113), interfaces/Prolog/ppl_prolog.icc (1.138),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.25),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.21),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.65),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.90),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.57),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.83), src/BoundingBox.defs.hh
-	  (1.14), src/BoundingBox.inlines.hh (1.13),
-	  src/Checked_Number.defs.hh (1.2), src/Checked_Number.inlines.hh
-	  (1.2), src/Checked_Number.types.hh (1.2), src/ConSys.cc (1.73),
-	  src/ConSys.defs.hh (1.89), src/Constraint.defs.hh (1.91),
-	  src/Constraint.inlines.hh (1.51), src/GMP_Integer.defs.hh (1.2),
-	  src/GMP_Integer.inlines.hh (1.2), src/GMP_Integer.types.hh (1.2),
-	  src/GenSys.cc (1.98), src/GenSys.defs.hh (1.102),
-	  src/Generator.cc (1.53), src/Generator.defs.hh (1.91),
-	  src/Generator.inlines.hh (1.45), src/Integer.defs.hh (1.14),
-	  src/Integer.inlines.hh (1.13), src/Integer.types.hh (1.9),
-	  src/Integer_macros.hh (1.2), src/Integer_traits_template.hh
-	  (1.2), src/Interval.defs.hh (1.17), src/Interval.inlines.hh
-	  (1.13), src/Limits.hh (1.2), src/LinExpression.cc (1.22),
-	  src/LinExpression.defs.hh (1.66), src/LinExpression.inlines.hh
-	  (1.31), src/Linear_Row.defs.hh (1.2), src/Linear_Row.inlines.hh
-	  (1.2), src/Makefile.am (1.82), src/Native_Integer.defs.hh (1.2),
-	  src/Native_Integer.inlines.hh (1.2), src/Native_Integer.types.hh
-	  (1.2), src/Polyhedron.defs.hh (1.250), src/Polyhedron.inlines.hh
-	  (1.98), src/Polyhedron_nonpublic.cc (1.31),
-	  src/Polyhedron_public.cc (1.35), src/Polyhedron_widenings.cc
-	  (1.32), src/Row.defs.hh (1.84), src/Row.inlines.hh (1.49),
-	  src/checked.defs.hh (1.2), src/checked.inlines.hh (1.2),
-	  src/checked_float.inlines.hh (1.2), src/checked_int.inlines.hh
-	  (1.2), src/checked_mpq.inlines.hh (1.2),
-	  src/checked_mpz.inlines.hh (1.2), src/conversion.cc (1.63),
-	  src/float.types.hh (1.2), src/globals.defs.hh (1.5),
-	  tests/BBox.cc (1.5), tests/BBox.hh (1.4), tests/Makefile.am
-	  (1.222), tests/dualhypercubes.cc (1.5): First merge from the
-	  `altnum' branch.
-
-2004-10-19 Tuesday 22:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.100), Ciao/ppl_ciao.pl (1.71):
-	  Correction to ciao interface so it now allows for prolog failure
-	  for ppl_Polyhedron_map_space_dimensions/2 and
-	  ppl_Polyhedron_fold_dimensions/3.
-
-	  Negative tests for ppl_Polyhedron_map_space_dimensions/2 that
-	  caused make check when using pl_check.pl to fail have now been
-	  restored.  Now these tests pass with all the Prolog systems.
-
-2004-10-19 Tuesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.31),
-	  doc/devref-browse.doxyconf-latex.in (1.45),
-	  doc/devref-print.doxyconf-latex.in (1.45),
-	  doc/devref.doxyconf-html.in (1.45), src/ConSys.cc (1.72),
-	  src/ConSys.defs.hh (1.88), src/ConSys.inlines.hh (1.34),
-	  src/Constraint.cc (1.42), src/Constraint.defs.hh (1.90),
-	  src/Constraint.inlines.hh (1.50), src/GenSys.cc (1.97),
-	  src/GenSys.defs.hh (1.101), src/GenSys.inlines.hh (1.34),
-	  src/Generator.cc (1.52), src/Generator.defs.hh (1.90),
-	  src/Generator.inlines.hh (1.44), src/LinExpression.cc (1.21),
-	  src/LinExpression.defs.hh (1.65), src/LinExpression.inlines.hh
-	  (1.30), src/Linear_Row.cc (1.1), src/Linear_Row.defs.hh (1.1),
-	  src/Linear_Row.inlines.hh (1.1), src/Linear_Row.types.hh (1.1),
-	  src/Linear_System.cc (1.1), src/Linear_System.defs.hh (1.1),
-	  src/Linear_System.inlines.hh (1.1), src/Linear_System.types.hh
-	  (1.1), src/Makefile.am (1.81), src/Matrix.cc (1.77),
-	  src/Matrix.defs.hh (1.60), src/Matrix.inlines.hh (1.39),
-	  src/Ph_Status.cc (1.5), src/Polyhedron.defs.hh (1.249),
-	  src/Polyhedron_chdims.cc (1.19), src/Polyhedron_nonpublic.cc
-	  (1.30), src/Polyhedron_public.cc (1.34), src/Row.cc (1.69),
-	  src/Row.defs.hh (1.83), src/Row.inlines.hh (1.48),
-	  src/conversion.cc (1.62), src/globals.defs.hh (1.4),
-	  src/globals.inlines.hh (1.2), src/minimize.cc (1.38),
-	  src/simplify.cc (1.39): The class Matrix now represents a simple
-	  matrix of coefficients that is organized in rows, represented by
-	  the class Row.  Matrix and Row take care of all the memory
-	  allocation details and little more.  They are specialized by
-	  classes Linear_Row and Linear_System that, in turn constitute the
-	  basis upon which constraints, generators and systems thereof are
-	  built upon.  Several methods that were no longer needed have been
-	  removed.  Several methods have been given more sensible names and
-	  interfaces.
-
-2004-10-19 Tuesday 16:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.99): Tests causing "make check"
-	  to fail in Ciao and GNU Prolog temporarily disabled.	Now "make
-	  check" in all the prolog interfaces succeeds.
-
-2004-10-19 Tuesday 11:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.98): More tests added so as to
-	  test the Prolog interface more exhaustively.
-
-	  However, because of the more thorough testing, bugs in the Ciao
-	  Prolog and GNU Prolog interfaces have been exposed; as a result
-	  the  "make check" for Ciao Prolog and GNU Prolog now fails.
-
-2004-10-17 Sunday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.112): Fixed a couple of indentation
-	  glitches.
-
-2004-10-17 Sunday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.inlines.hh (1.19), NNC_Polyhedron.inlines.hh
-	  (1.22): Simplified all constructors that need to check for
-	  dimension overflows removing, at the same time, the previous
-	  requirement imposed on the BoundingBox template concerning the
-	  availability of a default constructor.
-
-2004-10-16 Saturday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.118): Explain why functions in the C interface that
-	  compute (space) dimensions no longer return their result.
-
-2004-10-16 Saturday 23:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.117): Mention the bug fixed in
-	  ppl_new_LinExpression_with_dimension().
-
-2004-10-16 Saturday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.111): Fixed a bug in
-	  ppl_new_LinExpression_with_dimension() reported by Pedro
-	  Vasconcelos.
-
-2004-10-15 Friday 08:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.25), C_Polyhedron.inlines.hh
-	  (1.18), NNC_Polyhedron.defs.hh (1.27), NNC_Polyhedron.inlines.hh
-	  (1.21), Polyhedron.defs.hh (1.248), Polyhedron.inlines.hh (1.97),
-	  Polyhedron_chdims.cc (1.18), Polyhedron_nonpublic.cc (1.29),
-	  max_space_dimension.hh (1.4): Removed
-	  C_Polyhedron::max_space_dimension() and
-	  NNC_Polyehdron::max_space_dimension(): the method
-	  Polyhedron::max_space_dimension() no longer uses them and it is
-	  not hided by them. Changed all places where we check for
-	  dimensions overflows accordingly.  Exception throwers made
-	  protected to allow calling them from subclasses.  The BoundingBox
-	  template is now required to have a default constructor.
-
-2004-10-13 Wednesday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/addspacedims10.cc (1.2): Comment corrected.
-
-2004-10-13 Wednesday 12:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.116), TODO (1.103): Corrected the bug shown by
-	  generators2.cc.
-
-2004-10-13 Wednesday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.17), tests/addgenerator1.cc (1.7),
-	  tests/addgenerator2.cc (1.7), tests/memory1.cc (1.22): Small
-	  adjustments in comments.
-
-2004-10-13 Wednesday 11:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.33): Method generators() now
-	  correctly sets the space dimension of the generator system
-	  representing an empty polyhedron (thereby correcting the bug
-	  shown by test generators2.cc).
-
-2004-10-13 Wednesday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.28): Constructors now correctly
-	  deal with empty systems of constraints/generators having a
-	  positive space dimension.
-
-2004-10-13 Wednesday 11:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.71), GenSys.cc (1.96): Now methods
-	  adjust_topology_and_space_dimension() allow for empty systems
-	  having a positive space dimension.
-
-2004-10-13 Wednesday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc (1.76), Matrix.inlines.hh (1.38): No longer
-	  enforcing the Matrix invariant   num_rows() == 0   ==>
-	  num_columns() == 0.
-
-2004-10-13 Wednesday 09:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.102): Documentation of affine dimension is now in the
-	  user manual.
-
-2004-10-11 Monday 11:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.221), addgenerator5.cc (1.1),
-	  generators2.cc (1.10): Tests generators2 and addgenerator5 show a
-	  bug in the handling of space dimensions for a generator system
-	  corresponding to an empty polyhedron.
-
-2004-10-07 Thursday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.220), affineimage9.cc (1.1): New test for
-	  Polyhedron::affine_image().
-
-2004-10-07 Thursday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/polyhull11.cc (1.2): Small correction.
-
-2004-10-07 Thursday 12:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.219), polyhull11.cc (1.1): New test for
-	  Polyhedron::poly_hull_assign_and_minimize().
-
-2004-10-07 Thursday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/polyhull10.cc (1.5): Completed.
-
-2004-10-03 Sunday 15:33  Abramo Bagnara
-
-	* src/: Makefile.am, checked.defs.hh, checked.inlines.hh,
-	  checked_float.inlines.hh, checked_int.inlines.hh,
-	  checked_mpz.inlines.hh (altnum.[11,18,11,12,18,17]): Transformed
-	  implicit default implementation in esplicit specializations using
-	  generic implementation.
-
-2004-10-03 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.defs.hh (altnum.17): Comment improved.
-
-2004-10-03 Sunday 00:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.24): Started implementing
-	  bidirectional communication of bignums.
-
-2004-10-02 Saturday 19:23  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.17): Fixed 64 bit
-	  architecture.
-
-2004-10-02 Saturday 19:18  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.16): Better architecture
-	  support for Larger.
-
-2004-10-02 Saturday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked.defs.hh (altnum.16): Comments improved.
-
-2004-10-02 Saturday 18:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in,
-	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
-	  (altnum.[3,3,3]): Add the new implementation files to the lists
-	  Doxygen uses to produce the developer's reference manual.
-
-2004-10-02 Saturday 18:03  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.15): Better name for Larger
-	  struct.
-
-2004-10-02 Saturday 17:59  Abramo Bagnara
-
-	* src/checked_mpz.inlines.hh (altnum.16): Use GMP specific type for
-	  MP size.
-
-2004-10-02 Saturday 17:56  Abramo Bagnara
-
-	* src/checked.defs.hh (altnum.15): Use distinct policies for ext
-	  functions.
-
-2004-10-02 Saturday 17:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.27): Implemented another exception
-	  thrower.
-
-2004-10-02 Saturday 17:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/NNC_Polyhedron.inlines.hh (1.20): Previous commit undone, as
-	  it was breaking the build.
-
-2004-10-02 Saturday 16:22  Abramo Bagnara
-
-	* src/checked.inlines.hh (altnum.10): Use distinct policies for ext
-	  functions.
-
-2004-10-02 Saturday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Limits.hh, checked.defs.hh, checked.inlines.hh,
-	  checked_float.inlines.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[2,14,9,11,14,14,15]): Started enforcing some of our
-	  coding conventions.
-
-2004-10-02 Saturday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/float.types.hh (altnum.3): Initial comment fixed.
-
-2004-10-02 Saturday 13:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc, XSB/ppl_xsb.cc,
-	  YAP/ppl_yap.cc (altnum.[2,3,3]): Use checked numbers to detect
-	  overflows.
-
-2004-10-02 Saturday 13:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/NNC_Polyhedron.inlines.hh (1.19): Using the exception thrower
-	  instead of directly throwing the exception.
-
-2004-10-02 Saturday 13:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.247), Polyhedron_chdims.cc (1.16):
-	  Modified all the methods augmenting the space dimension of a
-	  polyhedron so as to throw std::length_error if the new vector
-	  space exceeds the maximum allowed space dimension.
-
-2004-10-02 Saturday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.115): Announced the new behavior of the
-	  H79_widening_assign() operator.  Formally, it is a bugfix since
-	  we were already promising the new behavior in the user manual.
-
-2004-10-02 Saturday 12:11  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.13): Removed unused code.
-
-2004-10-02 Saturday 10:42  Abramo Bagnara
-
-	* src/: checked.defs.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[13,12,13,14]): Use a typedef for pointer to C strings.
-
-2004-10-02 Saturday 08:42  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  checked_int.inlines.hh, checked_mpq.inlines.hh,
-	  checked_mpz.inlines.hh (altnum.[12,12,11,12,13]): Added
-	  constructors from char *.
-
-2004-10-02 Saturday 08:41  Abramo Bagnara
-
-	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (altnum.3): Attempt
-	  to fix compilation.
-
-2004-10-01 Friday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, TODO, compile, config.guess, config.sub, configure.ac,
-	  install-sh, ltmain.sh, missing, Watchdog/compile,
-	  Watchdog/config.guess, Watchdog/config.sub, Watchdog/install-sh,
-	  Watchdog/ltmain.sh, Watchdog/missing, demos/ppl_lcdd/Makefile.am,
-	  demos/ppl_lcdd/expected, demos/ppl_lcdd/ppl_lcdd.cc,
-	  demos/ppl_lcdd/examples/Makefile.am,
-	  demos/ppl_lcdd/examples/README,
-	  demos/ppl_lcdd/examples/dcube10.ext,
-	  demos/ppl_lcdd/examples/dcube12.ext,
-	  demos/ppl_lcdd/examples/dcube3.ext,
-	  demos/ppl_lcdd/examples/dcube6.ext,
-	  demos/ppl_lcdd/examples/dcube8.ext, doc/README,
-	  doc/definitions.dox, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/clpq.pl, interfaces/Prolog/clpq2.pl,
-	  interfaces/Prolog/expected, interfaces/Prolog/expected2,
-	  interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/ciao_clpq.pl,
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/expected, interfaces/Prolog/XSB/expected2,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
-	  src/AskTell.inlines.hh, src/BHRZ03_Certificate.cc,
-	  src/BHRZ03_Certificate.defs.hh,
-	  src/BHRZ03_Certificate.inlines.hh, src/BoundingBox.defs.hh,
-	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh, src/ConSys.cc,
-	  src/ConSys.defs.hh, src/Constraint.defs.hh,
-	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
-	  src/GenSys.cc, src/GenSys.defs.hh, src/Generator.defs.hh,
-	  src/H79_Certificate.cc, src/H79_Certificate.defs.hh,
-	  src/H79_Certificate.inlines.hh, src/LinExpression.defs.hh,
-	  src/Matrix.defs.hh, src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron_chdims.cc,
-	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
-	  src/Polyhedron_widenings.cc, src/Variable.defs.hh,
-	  src/conversion.cc, src/globals.defs.hh, src/minimize.cc,
-	  src/simplify.cc, tests/CbecomesNNC1.cc, tests/Makefile.am,
-	  tests/NNCbecomesC1.cc, tests/README, tests/adddimensions1.cc,
-	  tests/adddimensions10.cc, tests/adddimensions11.cc,
-	  tests/adddimensions12.cc, tests/adddimensions13.cc,
-	  tests/adddimensions2.cc, tests/adddimensions3.cc,
-	  tests/adddimensions4.cc, tests/adddimensions5.cc,
-	  tests/adddimensions6.cc, tests/adddimensions7.cc,
-	  tests/adddimensions8.cc, tests/adddimensions9.cc,
-	  tests/addgenerators11.cc, tests/addspacedims1.cc,
-	  tests/addspacedims10.cc, tests/addspacedims11.cc,
-	  tests/addspacedims12.cc, tests/addspacedims13.cc,
-	  tests/addspacedims2.cc, tests/addspacedims3.cc,
-	  tests/addspacedims4.cc, tests/addspacedims5.cc,
-	  tests/addspacedims6.cc, tests/addspacedims7.cc,
-	  tests/addspacedims8.cc, tests/addspacedims9.cc, tests/append1.cc,
-	  tests/append2.cc, tests/boundingbox1.cc, tests/boundingbox2.cc,
-	  tests/concatenate1.cc, tests/exceptions1.cc,
-	  tests/exceptions2.cc, tests/expanddim1.cc, tests/expanddim2.cc,
-	  tests/expandspacedim1.cc, tests/expandspacedim2.cc,
-	  tests/folddims1.cc, tests/folddims2.cc, tests/foldspacedims1.cc,
-	  tests/foldspacedims2.cc, tests/generators1.cc,
-	  tests/generators4.cc, tests/limitedh79extrapolation3.cc,
-	  tests/mapdim1.cc, tests/mapdim2.cc, tests/mapdim3.cc,
-	  tests/mapspacedims1.cc, tests/mapspacedims2.cc,
-	  tests/mapspacedims3.cc, tests/permute.cc,
-	  tests/polydifference1.cc, tests/polydifference9.cc,
-	  tests/removedim1.cc, tests/removedim10.cc, tests/removedim2.cc,
-	  tests/removedim3.cc, tests/removedim4.cc, tests/removedim5.cc,
-	  tests/removedim6.cc, tests/removedim7.cc, tests/removedim8.cc,
-	  tests/removedim9.cc, tests/removespacedims1.cc,
-	  tests/removespacedims10.cc, tests/removespacedims2.cc,
-	  tests/removespacedims3.cc, tests/removespacedims4.cc,
-	  tests/removespacedims5.cc, tests/removespacedims6.cc,
-	  tests/removespacedims7.cc, tests/removespacedims8.cc,
-	  tests/removespacedims9.cc
-	  (altnum.[3,3,1,2,2,8,2,2,1,1,2,2,2,2,1,3,2,6,2,2,1,1,1,1,1,1,3,4,2,3,1,1,1,1,2,4,1,1,2,2,2,2,5,1,1,2,2,1,1,2,2,3,1,2,3,2,3,2,2,3,4,4,3,2,4,4,4,3,3,2,2,2,2,2,4,4,2,6,4,4,2,4,2,2,2,1,4,1,1,1,1,2,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,4,2,1,1,1,2,2,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  Third merge from main trunk.
-
-2004-09-30 Thursday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.101): Added another thing not to be forgotten.
-
-2004-09-30 Thursday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.100): Added another item not to be forgotten.
-
-2004-09-30 Thursday 17:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: Makefile.am (1.218), addgenerators11.cc (1.8): Restored
-	  previous version of test as that change wrongly destroyed the
-	  intention of the test.  Added this test to the XFAIL_TESTS list
-	  in Makefile.am.
-
-2004-09-30 Thursday 13:30  Abramo Bagnara
-
-	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (altnum.2): Added needed
-	  #include's.
-
-2004-09-30 Thursday 13:23  Abramo Bagnara
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (altnum.4): Include only
-	  the needed file.
-
-2004-09-30 Thursday 09:09  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[11,11]): Removed test #define.
-
-2004-09-30 Thursday 09:07  Abramo Bagnara
-
-	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (altnum.1): Fixes for
-	  generalized Integers.
-
-2004-09-29 Wednesday 21:46  Abramo Bagnara
-
-	* interfaces/Prolog/Ciao/ppl_ciao.cc (altnum.1): Fixed compilation.
-
-2004-09-29 Wednesday 14:00  Abramo Bagnara
-
-	* demos/ppl_lcdd/ppl_lcdd.cc, src/Checked_Number.defs.hh,
-	  src/checked.defs.hh (altnum.[5,10,12]): Fixed compilation for GMP
-	  Integers.
-
-2004-09-29 Wednesday 09:52  Abramo Bagnara
-
-	* demos/ppl_lcdd/ppl_lcdd.cc, interfaces/C/ppl_c.cc,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  src/Checked_Number.defs.hh, src/Checked_Number.inlines.hh,
-	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
-	  src/Interval.inlines.hh, src/Native_Integer.defs.hh,
-	  src/Native_Integer.inlines.hh, src/Polyhedron_nonpublic.cc,
-	  src/checked.defs.hh, src/checked.inlines.hh,
-	  src/checked_int.inlines.hh
-	  (altnum.[4,3,3,3,9,10,5,5,5,5,5,5,11,8,10]): Fixed compilation
-	  for different types of Integers.
-
-2004-09-29 Wednesday 08:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.97): More tests added and
-	  improved structure for the tests for
-	  ppl_Polyhedron_topological_closure_assign/1.
-
-2004-09-28 Tuesday 17:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.114), TODO (1.99), doc/definitions.dox (1.159): Announced
-	  the renaming of methods changing space dimensions.  Added to the
-	  user manual the notion of affine independence, which is used to
-	  define the affine dimension of a polyhedron.	Small reordering to
-	  the devref part of definitions.dox.
-
-2004-09-28 Tuesday 17:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.31), tests/Makefile.am (1.217),
-	  tests/limitedh79extrapolation3.cc (1.4): The implementation of
-	  select_H79_constraints() changed so as to ignore trivially true
-	  constraints coming from homogenization or epsilon-polyhedra
-	  encoding. Thus, the H79 widening is now applied to the polyhedra
-	  and not their homogenized polyehdral cones. The known result of
-	  the test limitedh79extrapolation3 has been changed accordingly.
-
-2004-09-28 Tuesday 15:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: Makefile.am (1.216), addgenerators11.cc (1.7),
-	  polydifference1.cc (1.8): Changes to tests so that
-	  addgenerators11, polydifference1 and nnc_polydifference1 tests
-	  succeed.  The tests addgenerators11 and nnc_polydifference1 are
-	  no longer named as failing tests by Makefile.
-
-2004-09-27 Monday 22:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.70): Added missing
-	  definition for ppl_Polyhedron_affine_dimension/2.
-
-2004-09-27 Monday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: xsb_clpq.P (1.9), xsb_clpq2.P (1.7),
-	  xsb_pl_check.P (1.11): The names of all the methods changing the
-	  space dimension of a polyhedron now contain "space_dimension" as
-	  a substring, therefore avoiding ambiguity with the concept of
-	  affine dimension.
-
-2004-09-27 Monday 17:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.158), interfaces/C/ppl_c.cc (1.110),
-	  interfaces/C/ppl_c.h.in (1.35),
-	  interfaces/Prolog/Prolog_interface.dox (1.114),
-	  interfaces/Prolog/clpq.pl (1.16), interfaces/Prolog/clpq2.pl
-	  (1.27), interfaces/Prolog/pl_check.pl (1.96),
-	  interfaces/Prolog/ppl_prolog.icc (1.137),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.10),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.5),
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl (1.6),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.69),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.47),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.64),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.89),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.34),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.56),
-	  interfaces/Prolog/XSB/xsb_pl_check.P (1.10),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.82), src/AskTell.defs.hh
-	  (1.26), src/AskTell.inlines.hh (1.22), src/BHRZ03_Certificate.cc
-	  (1.3), src/BHRZ03_Certificate.defs.hh (1.7),
-	  src/BHRZ03_Certificate.inlines.hh (1.3), src/BoundingBox.defs.hh
-	  (1.13), src/ConSys.cc (1.70), src/ConSys.defs.hh (1.87),
-	  src/Constraint.defs.hh (1.89), src/Determinate.defs.hh (1.45),
-	  src/Determinate.inlines.hh (1.40), src/GenSys.cc (1.95),
-	  src/GenSys.defs.hh (1.100), src/Generator.defs.hh (1.89),
-	  src/H79_Certificate.cc (1.4), src/H79_Certificate.defs.hh (1.7),
-	  src/H79_Certificate.inlines.hh (1.3), src/LinExpression.defs.hh
-	  (1.64), src/Matrix.defs.hh (1.59), src/Polyhedra_Powerset.defs.hh
-	  (1.3), src/Polyhedra_Powerset.inlines.hh (1.5),
-	  src/Polyhedron.defs.hh (1.246), src/Polyhedron.inlines.hh (1.96),
-	  src/Polyhedron_chdims.cc (1.15), src/Polyhedron_nonpublic.cc
-	  (1.26), src/Polyhedron_public.cc (1.32), src/Variable.defs.hh
-	  (1.38), tests/Makefile.am (1.215), tests/adddimensions1.cc
-	  (1.15), tests/adddimensions10.cc (1.8), tests/adddimensions11.cc
-	  (1.7), tests/adddimensions12.cc (1.5), tests/adddimensions13.cc
-	  (1.4), tests/adddimensions2.cc (1.11), tests/adddimensions3.cc
-	  (1.13), tests/adddimensions4.cc (1.11), tests/adddimensions5.cc
-	  (1.9), tests/adddimensions6.cc (1.9), tests/adddimensions7.cc
-	  (1.9), tests/adddimensions8.cc (1.7), tests/adddimensions9.cc
-	  (1.8), tests/addspacedims1.cc (1.1), tests/addspacedims10.cc
-	  (1.1), tests/addspacedims11.cc (1.1), tests/addspacedims12.cc
-	  (1.1), tests/addspacedims13.cc (1.1), tests/addspacedims2.cc
-	  (1.1), tests/addspacedims3.cc (1.1), tests/addspacedims4.cc
-	  (1.1), tests/addspacedims5.cc (1.1), tests/addspacedims6.cc
-	  (1.1), tests/addspacedims7.cc (1.1), tests/addspacedims8.cc
-	  (1.1), tests/addspacedims9.cc (1.1), tests/append1.cc (1.23),
-	  tests/append2.cc (1.23), tests/concatenate1.cc (1.9),
-	  tests/exceptions1.cc (1.39), tests/expanddim1.cc (1.8),
-	  tests/expanddim2.cc (1.2), tests/expandspacedim1.cc (1.1),
-	  tests/expandspacedim2.cc (1.1), tests/folddims1.cc (1.3),
-	  tests/folddims2.cc (1.3), tests/foldspacedims1.cc (1.1),
-	  tests/foldspacedims2.cc (1.1), tests/mapdim1.cc (1.3),
-	  tests/mapdim2.cc (1.3), tests/mapdim3.cc (1.2),
-	  tests/mapspacedims1.cc (1.1), tests/mapspacedims2.cc (1.1),
-	  tests/mapspacedims3.cc (1.1), tests/permute.cc (1.32),
-	  tests/polydifference9.cc (1.4), tests/removedim1.cc (1.12),
-	  tests/removedim10.cc (1.4), tests/removedim2.cc (1.16),
-	  tests/removedim3.cc (1.12), tests/removedim4.cc (1.13),
-	  tests/removedim5.cc (1.11), tests/removedim6.cc (1.14),
-	  tests/removedim7.cc (1.10), tests/removedim8.cc (1.7),
-	  tests/removedim9.cc (1.7), tests/removespacedims1.cc (1.1),
-	  tests/removespacedims10.cc (1.1), tests/removespacedims2.cc
-	  (1.1), tests/removespacedims3.cc (1.1), tests/removespacedims4.cc
-	  (1.1), tests/removespacedims5.cc (1.1), tests/removespacedims6.cc
-	  (1.1), tests/removespacedims7.cc (1.1), tests/removespacedims8.cc
-	  (1.1), tests/removespacedims9.cc (1.1): The method
-	  Polyhedron::dimension() is now named
-	  Polyhedron::affine_dimension().  The names of all the methods
-	  changing the space dimension of a polyhedron now contain
-	  "space_dimension" as a substring, therefore avoiding ambiguity
-	  with the concept of affine dimension.  All the foreign interfaces
-	  changed accordingly.	Also tried to be consistent in the
-	  documentation.  All the tests related to methods changing space
-	  dimensions now follow a common naming scheme (***spacedim(s)*).
-
-2004-09-27 Monday 17:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (1.61): Improved the detailed documentation in
-	  a couple of places.  Using a reference to avoid multiple access
-	  to dest[num_lines_or_equalities].
-
-2004-09-27 Monday 09:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatRow.cc, SatRow.defs.hh, SatRow.inlines.hh
-	  (altnum.[8,2,1]): Updated from the main trunk.
-
-2004-09-26 Sunday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (1.28): SatRow::first() and SatRow::next() speeded
-	  up.
-
-2004-09-26 Sunday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (1.27): SatRow::last() and SatRow::prev() speeded
-	  up.
-
-2004-09-26 Sunday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.98): Added a set of possible renamings we may decide to
-	  perform before releasing PPL 0.7.
-
-2004-09-26 Sunday 15:44  Abramo Bagnara
-
-	* src/: checked_int.inlines.hh, checked_mpz.inlines.hh,
-	  checked_mpq.inlines.hh (altnum.[9,12,11]): Reorganizing
-	  specializations.
-
-2004-09-26 Sunday 15:44  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (altnum.10): Removed trailing
-	  semicolons.
-
-2004-09-26 Sunday 15:44  Abramo Bagnara
-
-	* src/checked.defs.hh (altnum.10): Removed trailing semicolon.
-
-2004-09-26 Sunday 15:43  Abramo Bagnara
-
-	* src/: Interval.inlines.hh, Polyhedron_nonpublic.cc
-	  (altnum.[4,4]): Call proper constructors.
-
-2004-09-26 Sunday 15:43  Abramo Bagnara
-
-	* src/Checked_Number.types.hh (altnum.3): Renamed default policy.
-
-2004-09-26 Sunday 15:42  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[8,9]): Make Checked_Number optionally implicitly
-	  convertible to base type.
-
-2004-09-26 Sunday 15:41  Abramo Bagnara
-
-	* interfaces/Prolog/: ppl_prolog.icc, SWI/ppl_swiprolog.cc
-	  (altnum.[2,2]): Preliminary step on generalization path.
-
-2004-09-26 Sunday 15:40  Abramo Bagnara
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (altnum.3): Call proper constructor.
-
-2004-09-26 Sunday 14:44  Abramo Bagnara
-
-	* src/SatRow.cc (altnum.7): Fixed thinko. Added assertion for bogus
-	  call to last.
-
-2004-09-26 Sunday 13:47  Abramo Bagnara
-
-	* src/SatRow.cc (altnum.6): Trivial bug fixes.
-
-2004-09-26 Sunday 11:24  Abramo Bagnara
-
-	* src/SatRow.cc (altnum.5): Further optimizations.
-
-2004-09-26 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.113), interfaces/C/ppl_c.cc (1.109),
-	  interfaces/Prolog/ppl_prolog.icc (1.136), src/Polyhedron.defs.hh
-	  (1.245), src/Polyhedron.inlines.hh (1.95),
-	  src/Polyhedron_widenings.cc (1.30), src/globals.defs.hh (1.3),
-	  tests/boundingbox1.cc (1.37), tests/boundingbox2.cc (1.22): The
-	  enumeration values of enum Complexity_Class have been renamed
-	  POLYNOMIAL_COMPLEXITY, SIMPLEX_COMPLEXITY and ANY_COMPLEXITY.
-
-2004-09-26 Sunday 09:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatRow.cc (1.26), SatRow.inlines.hh (1.29): Use ffs(3) when
-	  possible.
-
-2004-09-26 Sunday 09:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.123): Added a check to determine sizeof(int).
-
-2004-09-26 Sunday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (1.25): Function strict_subset() speeded up
-	  further.
-
-2004-09-26 Sunday 00:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.122): Check whether the ffs(3) function is
-	  available.
-
-2004-09-25 Saturday 23:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.defs.hh (1.34): Fix two completely bogus comments.
-
-2004-09-25 Saturday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (1.24): Function strict_subset() speeded up.
-
-2004-09-25 Saturday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (1.23): Function subset_or_equal() speeded up.
-
-2004-09-25 Saturday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (altnum.4): Avoid a useless asymmetry.	All the
-	  other things being equal, prefer pre-increment and pre-decrement
-	  to post-increment and post-decrement.
-
-2004-09-25 Saturday 10:25  Abramo Bagnara
-
-	* src/SatRow.cc (altnum.3): Minor residual optimization.
-
-2004-09-25 Saturday 10:23  Abramo Bagnara
-
-	* src/SatRow.cc (altnum.2): Optimization second attempt.
-
-2004-09-25 Saturday 10:15  Abramo Bagnara
-
-	* src/SatRow.cc (altnum.1): Optimization first attempt.
-
-2004-09-22 Wednesday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (altnum.2): Activate the Prolog
-	  interfaces.
-
-2004-09-22 Wednesday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/expected (1.3): Updated to reflect the fact that
-	  we are not sorting constraints before returning them.
-
-2004-09-22 Wednesday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: expected (1.7), expected2 (1.12),
-	  XSB/expected (1.8), XSB/expected2 (1.10): Updated to reflect the
-	  fact that we are not sorting constraints before returning them.
-
-2004-09-22 Wednesday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, configure.ac, src/Checked_Integer.defs.hh,
-	  src/Checked_Integer.inlines.hh, src/Checked_Integer.types.hh,
-	  src/Integer.defs.hh, src/Integer.types.hh, src/Makefile.am
-	  (altnum.[3,7,6,7,3,5,5,10]): Commit to the new implementation of
-	  checked numbers.
-
-2004-09-22 Wednesday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (altnum.2): Temporary kludge to make things
-	  work until we generalize the interface.
-
-2004-09-22 Wednesday 16:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GMP_Integer.defs.hh, GMP_Integer.inlines.hh (altnum.[4,4]):
-	  Added add_mul_assign() and sub_mul_assign().
-
-2004-09-22 Wednesday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.31): No longer sorting constraints in
-	  Polyhedron::constraints().  Two FIXMEs added so as not to forget
-	  to reconsider the situation when we will have better sorting
-	  methods.
-
-2004-09-22 Wednesday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.86), GenSys.defs.hh (1.99): Added a
-	  couple of missing \relates.
-
-2004-09-22 Wednesday 10:18  Abramo Bagnara
-
-	* src/: checked.inlines.hh, checked_float.inlines.hh
-	  (altnum.[7,9]): Separated approximated arithmentic add/sub.
-
-2004-09-20 Monday 17:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.113): Added
-	  documentation for ppl_Polyhedron_dimension/2.
-
-2004-09-20 Monday 15:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, interfaces/Makefile.am (altnum.[4,1]): Activate the
-	  C interface (this breaks the build).
-
-2004-09-20 Monday 13:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/boundingbox1.cc (altnum.3): Quiet again.
-
-2004-09-20 Monday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BoundingBox.inlines.hh, Interval.defs.hh,
-	  Interval.inlines.hh, Polyhedron.inlines.hh (altnum.[3,3,3,3]):
-	  Temporary hacks to avoid failures with checked 64-bits integers.
-
-2004-09-20 Monday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* compile (1.2), install-sh (1.10), missing (1.8), Watchdog/compile
-	  (1.2), Watchdog/install-sh (1.7), Watchdog/missing (1.4): Updated
-	  from Automake 1.9.2.
-
-2004-09-20 Monday 09:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/boundingbox1.cc (altnum.2): Made noisy so as to make
-	  visible how test2() is failing.
-
-2004-09-19 Sunday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am, NEWS, README.configure, TODO, configure.ac,
-	  Watchdog/Makefile.am, Watchdog/Watchdog.cc,
-	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/expected,
-	  demos/ppl_lcdd/ppl_lcdd.cc, demos/ppl_lcdd/examples/README,
-	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected,
-	  demos/ppl_lpsol/ppl_lpsol.c, doc/definitions.dox,
-	  doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/ppl.sty, doc/user-browse.doxyconf-latex.in,
-	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  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, src/AskTell.defs.hh,
-	  src/BHRZ03_Certificate.cc, src/BHRZ03_Certificate.defs.hh,
-	  src/BoundingBox.defs.hh, src/Checked_Number.defs.hh,
-	  src/Checked_Number.inlines.hh, src/ConSys.cc, src/ConSys.defs.hh,
-	  src/Constraint.defs.hh, src/Determinate.defs.hh, src/GenSys.cc,
-	  src/GenSys.defs.hh, src/Generator.cc, src/Generator.defs.hh,
-	  src/H79_Certificate.cc, src/H79_Certificate.defs.hh, src/Init.cc,
-	  src/Makefile.am, src/Matrix.cc, src/Polyhedra_PowerSet.defs.hh,
-	  src/Polyhedra_PowerSet.inlines.hh,
-	  src/Polyhedra_PowerSet.types.hh, src/Polyhedra_Powerset.defs.hh,
-	  src/Polyhedra_Powerset.inlines.hh,
-	  src/Polyhedra_Powerset.types.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron_nonpublic.cc, src/Polyhedron_public.cc,
-	  src/Polyhedron_widenings.cc, src/PowerSet.defs.hh,
-	  src/PowerSet.inlines.hh, src/PowerSet.types.hh,
-	  src/Powerset.defs.hh, src/Powerset.inlines.hh,
-	  src/Powerset.types.hh, src/Row.cc, src/Row.defs.hh,
-	  src/Row.inlines.hh, src/SatMatrix.cc, src/SatRow.defs.hh,
-	  src/Variable.defs.hh, src/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/algorithms.hh,
-	  src/checked.inlines.hh, src/conversion.cc, src/globals.cc,
-	  src/globals.defs.hh, src/globals.hh, src/globals.inlines.hh,
-	  src/max_space_dimension.hh, tests/Makefile.am,
-	  tests/NNCminimize5.cc, tests/addconstraint1.cc,
-	  tests/addgenerator1.cc, tests/addgenerator2.cc,
-	  tests/addgenerator4.cc, tests/bgp99extrapolation1.cc,
-	  tests/bgp99extrapolation2.cc, tests/bhz03widening1.cc,
-	  tests/bhz03widening2.cc, tests/bhz03widening3.cc,
-	  tests/bhz03widening4.cc, tests/bhz03widening5.cc,
-	  tests/bhz03widening6.cc, tests/h79widening8.cc,
-	  tests/linearpartition1.cc, tests/linearpartition2.cc,
-	  tests/linearpartition3.cc, tests/linearpartition4.cc,
-	  tests/mc91.cc, tests/polydifference9.cc, tests/relations17.cc,
-	  tests/timings.cc, tests/timings.hh, utils/.cvsignore,
-	  utils/Makefile.am, utils/timings.cc, utils/timings.hh
-	  (altnum.[3,2,2,2,6,2,2,2,1,2,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,2,1,2,2,7,8,2,3,3,2,3,3,3,3,2,2,2,9,3,2,2,1,1,1,1,3,3,3,3,2,2,1,1,1,1,2,3,2,1,1,1,2,2,2,6,3,3,1,3,1,1,3,1,1,1,1,1,2,2,2,2,2,2,2,2,1,2,2,2,2,1,1,1,1,1,1,1,1,1]):
-	  Second merge from main trunk.
-
-2004-09-19 Sunday 21:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.95), Ciao/ciao_pl_check.pl
-	  (1.5), GNU/ppl_gprolog.pl (1.46): Added tests for the Prolog
-	  interface predicate ppl_Polyhedron_dimension/2.  Updated
-	  interface files to correct obvious bugs for this predicate.
-
-2004-09-19 Sunday 21:28  Abramo Bagnara
-
-	* src/: checked.defs.hh, checked.inlines.hh,
-	  checked_float.inlines.hh, checked_int.inlines.hh,
-	  checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[9,5,8,8,10,11]): Better names for policy fields. Added
-	  add_assign_mul and sub_assign_mul. Enriched Result return codes.
-
-2004-09-19 Sunday 21:25  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh
-	  (altnum.[6,7]): Better names for policy fields. Added
-	  add_assign_mul and sub_assign_nul.
-
-2004-09-19 Sunday 21:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/simplify.cc (1.38): Comments revised so as not to refer to
-	  (no longer existing) comparison operators between rows of the
-	  saturation matrices.
-
-2004-09-19 Sunday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/examples/: Makefile.am (1.3), README (1.2),
-	  dcube10.ext (1.1), dcube12.ext (1.1), dcube3.ext (1.1),
-	  dcube6.ext (1.1), dcube8.ext (1.1): New examples with V
-	  representations of dual hypercubes.
-
-2004-09-19 Sunday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.24), config.sub (1.23), Watchdog/config.guess
-	  (1.8), Watchdog/config.sub (1.8): Updated.
-
-2004-09-19 Sunday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.20), Watchdog/ltmain.sh (1.9): Updated from Libtool
-	  1.5.10.
-
-2004-09-19 Sunday 09:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/README (1.2): Improved the text.
-
-2004-09-19 Sunday 09:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/expected (1.2): Updated to reflect the fact that
-	  we no longer sort generators for closed polyhedra.
-
-2004-09-19 Sunday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.97): Two new important things to do.
-
-2004-09-19 Sunday 08:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.112): Significant efficiency improvements have been
-	  achieved in the case of closed polyhedra.
-
-2004-09-19 Sunday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.68): Similar lines are now
-	  commented out in the same way.
-
-2004-09-19 Sunday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README (1.4): Copyright notice added.
-
-2004-09-19 Sunday 08:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.defs.hh (1.2): Added code to experiment with an
-	  alternative way of dealing with temporaries.
-
-2004-09-19 Sunday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: minimize.cc (1.37), simplify.cc (1.37): Small improvements.
-
-2004-09-19 Sunday 08:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.30): In Polyhedron::generators(), we
-	  no longer insist in returning a sorted system of generators in
-	  the case of a closed polyhedron.
-
-2004-09-19 Sunday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_Powerset.inlines.hh (1.4): Use the new constructor
-	  C_Polyhedron::C_Polyhedron(const NNC_Polyhedron&).
-
-2004-09-19 Sunday 00:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.30): Added some comments to explain
-	  what we are doing.  Enahnced the function write_polyehdron() to
-	  also apply to Polka and PolyLib polyhedra objects.
-
-2004-09-18 Saturday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.29): With Polka, do not try to
-	  print the "frames" of an empty polyhedron.
-
-2004-09-18 Saturday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.28): Increase the magic parameter
-	  of polka_initialize() to 25000: with 22500 Polka 2.0.2 dies on
-	  mit31-20.ine with the error "Chernikova: out of table space".
-
-2004-09-18 Saturday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/: Makefile.am (1.8), ppl_lcdd.cc (1.27): A first,
-	  rough attempt at obtaining an `lcdd' clone that works also with
-	  (New) Polka and PolyLib.
-
-2004-09-17 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.96), interfaces/Prolog/ppl_prolog.icc (1.135),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.67),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.63),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.88),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.33),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.55),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.81): Polyhedron::dimension()
-	  is now available in all the interfaces.
-
-2004-09-17 Friday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.111), interfaces/C/ppl_c.cc (1.108),
-	  interfaces/C/ppl_c.h.in (1.34): Functions in the C interface that
-	  compute (space) dimensions no longer return their result.  The
-	  caller is now required to pass, as an extra argument, a pointer
-	  to a memory area where the result will be written.
-
-2004-09-17 Friday 15:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.107), ppl_c.h.in (1.33): New function
-	  int ppl_Polyhedron_dimension(ppl_const_Polyhedron_t ph).
-
-2004-09-17 Friday 10:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.26): Remove support for the
-	  "project" command: it was undocumented and its usefulness is
-	  highly questionable.
-
-2004-09-17 Friday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.110), TODO (1.95), demos/ppl_lcdd/ppl_lcdd.cc (1.25): The
-	  `ppl_lcdd' demo is now able to parse problems produced by lrs,
-	  i.e., where the number of rows of the matrix is omitted and
-	  replaced by "*****" (five asterisks).
-
-2004-09-17 Friday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.94): Typo fixed.
-
-2004-09-16 Thursday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.93), tests/README (1.1): New README file explains how a
-	  program in our test suite can be used for a quick hands-on PPL.
-
-2004-09-16 Thursday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: CbecomesNNC1.cc (1.6), exceptions1.cc (1.38),
-	  exceptions2.cc (1.33), generators1.cc (1.14), generators4.cc
-	  (1.6): Replace "built" by "build" wherever appropriate.
-
-2004-09-16 Thursday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.109), TODO (1.92), src/C_Polyhedron.cc (1.10),
-	  src/C_Polyhedron.defs.hh (1.24), tests/Makefile.am (1.214),
-	  tests/NNCbecomesC1.cc (1.1), tests/exceptions2.cc (1.32): The
-	  constructor C_Polyhedron(const NNC_Polyhedron& y) no longer
-	  throws an exception if `y' is not topologically closed.  Rather,
-	  it constructs a C_Polyhedron representing the topological closure
-	  of `y'.
-
-2004-09-16 Thursday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.108), src/Polyhedra_Powerset.defs.hh (1.2),
-	  src/Polyhedra_Powerset.inlines.hh (1.3): The constructors
-	  allowing to obtain a Polyhedra_Powerset<NNC_Polyhedron> from a
-	  Polyhedra_Powerset<C_Polyhedron> and the other way around are now
-	  explicit.
-
-2004-09-16 Thursday 17:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BoundingBox.cc (1.9): Include <config.h>.
-
-2004-09-16 Thursday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/adddimensions11.cc (1.6): Inconsistency fixed.
-
-2004-09-16 Thursday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* Watchdog/Watchdog.cc (1.18), src/Powerset.inlines.hh (1.2),
-	  src/algorithms.hh (1.34): 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-15 Wednesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/linearpartition4.cc (1.3): Be quiet.
-
-2004-09-15 Wednesday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/polydifference9.cc (1.3): Completed and made quiet.
-
-2004-09-15 Wednesday 19:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BHRZ03_Certificate.cc (1.2), src/ConSys.defs.hh (1.85),
-	  src/GenSys.defs.hh (1.98), src/H79_Certificate.cc (1.3),
-	  src/Matrix.cc (1.75), src/Polyhedra_Powerset.inlines.hh (1.2),
-	  src/Polyhedron_widenings.cc (1.29), tests/NNCminimize5.cc (1.10),
-	  tests/addconstraint1.cc (1.6), tests/addgenerator1.cc (1.6),
-	  tests/addgenerator2.cc (1.6), tests/addgenerator4.cc (1.6),
-	  tests/relations17.cc (1.8): Try to be consistent in the choice of
-	  variable names.
-
-2004-09-15 Wednesday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.107): Announce the bug just fixed.
-
-2004-09-15 Wednesday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.106), TODO (1.91), doc/devref-browse.doxyconf-latex.in
-	  (1.44), doc/devref-print.doxyconf-latex.in (1.44),
-	  doc/devref.doxyconf-html.in (1.44), src/Makefile.am (1.80),
-	  src/Polyhedra_PowerSet.defs.hh (1.36),
-	  src/Polyhedra_PowerSet.inlines.hh (1.42),
-	  src/Polyhedra_PowerSet.types.hh (1.3),
-	  src/Polyhedra_Powerset.defs.hh (1.1),
-	  src/Polyhedra_Powerset.inlines.hh (1.1),
-	  src/Polyhedra_Powerset.types.hh (1.1), src/PowerSet.defs.hh
-	  (1.49), src/PowerSet.inlines.hh (1.59), src/PowerSet.types.hh
-	  (1.7), src/Powerset.defs.hh (1.1), src/Powerset.inlines.hh (1.1),
-	  src/Powerset.types.hh (1.1), src/Widening_Function.defs.hh (1.5),
-	  src/Widening_Function.inlines.hh (1.5), src/algorithms.hh (1.33),
-	  src/max_space_dimension.hh (1.3), tests/bgp99extrapolation1.cc
-	  (1.5), tests/bgp99extrapolation2.cc (1.7),
-	  tests/bhz03widening1.cc (1.6), tests/bhz03widening2.cc (1.8),
-	  tests/bhz03widening3.cc (1.6), tests/bhz03widening4.cc (1.4),
-	  tests/bhz03widening5.cc (1.5), tests/bhz03widening6.cc (1.6),
-	  tests/linearpartition1.cc (1.15), tests/linearpartition2.cc
-	  (1.15), tests/linearpartition3.cc (1.15),
-	  tests/linearpartition4.cc (1.2), tests/mc91.cc (1.15),
-	  tests/polydifference9.cc (1.2): The classes PowerSet and
-	  Polyhedra_PowerSet have been renamed Powerset and
-	  Polyhedra_Powerset, respectively.
-
-2004-09-15 Wednesday 18:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/algorithms.hh (1.32): Corrected a bug in check_containment().
-	  The bug was affecting method geometrically_contains().
-
-2004-09-15 Wednesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.90): Polyhedra_PowerSet::poly_difference_assign() has
-	  been implemented.
-
-2004-09-15 Wednesday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.29): (Not well thought) FIXME
-	  removed.
-
-2004-09-15 Wednesday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.89): Several new things to do.
-
-2004-09-15 Wednesday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.213), polydifference9.cc (1.1): Test
-	  Polyhedra_PowerSet<PH>::poly_difference_assign().  (It presently
-	  fails, apparently due to a bug in
-	  Polyhedra_PowerSet<PH>::geometrically_equals().)
-
-2004-09-15 Wednesday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.31): The linear_partition() template
-	  function is now in Polyhedra_PowerSet.*.hh.
-
-2004-09-15 Wednesday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.105), src/Polyhedra_PowerSet.defs.hh (1.35),
-	  src/Polyhedra_PowerSet.inlines.hh (1.41): New constructors and
-	  assignment operators allowing to obtain a
-	  Polyhedra_PowerSet<NNC_Polyhedron> from a
-	  Polyhedra_PowerSet<C_Polyhedron> and the other way around.  In
-	  the latter case, the topological clusure of the element polyhedra
-	  is computed.	New method
-	  Polyhedra_PowerSet::poly_difference_assign(const
-	  Polyhedra_PowerSet& y) assigns to `*this' the poly-difference of
-	  `*this' and `y'.
-
-2004-09-15 Wednesday 14:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.48), PowerSet.inlines.hh (1.58): New
-	  method PowerSet<CS>::clear().
-
-2004-09-15 Wednesday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.104), TODO (1.88), src/Polyhedron.defs.hh (1.244),
-	  src/Polyhedron_public.cc (1.28): Added a first, draft
-	  implementation of method dimension_type Polyhedron::dimension():
-	  it returns the dimension of *this (not to be confused with the
-	  dimension of its enclosing vector space) or 0, if *this is empty.
-
-2004-09-13 Monday 07:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.103): Mentioned the bug just corrected.
-
-2004-09-12 Sunday 18:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.212): Use h79widening8.cc also with NNC
-	  polyhedra.
-
-2004-09-08 Wednesday 17:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (ppl-0_6-branch.1): Corrected a bug reported by
-	  Sriram.
-
-2004-09-08 Wednesday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/h79widening8.cc (1.2): Made silent.
-
-2004-09-08 Wednesday 16:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.94): Corrected a bug in
-	  GenSys::satisfied_by_all_generators(), which was revealed by the
-	  test h79widening8.cc.
-
-2004-09-08 Wednesday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.211), h79widening8.cc (1.1): Added a test
-	  showing a bug in H79_widening_assign().
-
-2004-09-03 Friday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/Makefile.am (1.7): Inclusion directive fixed.
-
-2004-09-03 Friday 10:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.87), demos/ppl_lcdd/ppl_lcdd.cc (1.24): Added support for
-	  printing timing information (on std::cerr).
-
-2004-09-02 Thursday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.102), demos/ppl_lpsol/expected (1.2),
-	  demos/ppl_lpsol/ppl_lpsol.c (1.3): Fixed a bug in the `ppl_lpsol'
-	  demo (thanks to Andrea Cimino).
-
-2004-09-02 Thursday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.12), src/Makefile.am (1.79): Prepared for
-	  PPL 0.7.
-
-2004-08-31 Tuesday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.210): Search for header files also in the
-	  `utils' directory.
-
-2004-08-31 Tuesday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.27), configure.ac (1.121),
-	  demos/ppl_lcdd/Makefile.am (1.6), tests/Makefile.am (1.209),
-	  tests/timings.cc (1.5), tests/timings.hh (1.5), utils/.cvsignore
-	  (1.1), utils/Makefile.am (1.1), utils/timings.cc (1.1),
-	  utils/timings.hh (1.1): The timings functions are now included in
-	  a `ppl_utils' convenience library, which is contained in the
-	  newly created `utils' directory.
-
-2004-08-30 Monday 23:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.86): Three more things to do.
-
-2004-08-30 Monday 23:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.85): Added several new things to be done.
-
-2004-08-30 Monday 21:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/examples/README (1.1): Explain and give pointers
-	  to the origins of these examples.
-
-2004-08-30 Monday 16:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.43),
-	  devref-print.doxyconf-latex.in (1.43), devref.doxyconf-html.in
-	  (1.43), user-browse.doxyconf-latex.in (1.21),
-	  user-print.doxyconf-latex.in (1.21), user.doxyconf-html.in
-	  (1.23): Updated to the latest doxygen version (1.3.8).
-
-2004-08-28 Saturday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.42),
-	  devref-print.doxyconf-latex.in (1.42), devref.doxyconf-html.in
-	  (1.42): Replaced globals.hh with globals.defs.hh and
-	  globals.inlines.hh.
-
-2004-08-27 Friday 09:23  Abramo Bagnara
-
-	* src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[9,10]): Added support for special values.
-
-2004-08-27 Friday 09:23  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.7): Added implementation of
-	  extended integers
-
-2004-08-27 Friday 09:22  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (altnum.7): Better implementation of
-	  pred/succ.
-
-2004-08-27 Friday 09:21  Abramo Bagnara
-
-	* src/checked.inlines.hh (altnum.4): Added extended functions.
-
-2004-08-26 Thursday 23:54  Abramo Bagnara
-
-	* src/Makefile.am (altnum.8): Fixed concatenation order.
-
-2004-08-26 Thursday 23:53  Abramo Bagnara
-
-	* src/Checked_Number.inlines.hh (altnum.6): Use Checked::functions
-
-2004-08-26 Thursday 23:52  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, checked.defs.hh (altnum.[5,8]):
-	  Added some policy fields. Better specialization infrastructure.
-
-2004-08-23 Monday 20:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.243), Polyhedron_widenings.cc (1.28):
-	  Removed the no-longer used function is_BHRZ03_stabilizing(),
-	  which has been superseded by the use of BHRZ03_Certificate.
-
-2004-08-23 Monday 16:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/algorithms.hh (1.30): Documented (for the developers) the
-	  function check_containment() and linear_partition_aux().
-
-2004-08-23 Monday 12:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.69), Matrix.cc (1.74): Use add_mul_assign()
-	  and sub_mul_assign() when possible.
-
-2004-08-23 Monday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron_nonpublic.cc (1.25), Row.cc (1.68), Row.defs.hh
-	  (1.82), Row.inlines.hh (1.47): New funcions void
-	  homogeneous_scalar_product_assign(Integer& z, const Row& x, const
-	  Row& y) and int homogeneous_scalar_product_sign(const Row& x,
-	  const Row& y).
-
-2004-08-23 Monday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/GenSys.cc (1.93): Last change completed.
-
-2004-08-23 Monday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/GenSys.cc (1.92): Use scalar_product_assign() instead of
-	  replicating code..
-
-2004-08-23 Monday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.25), BHRZ03_Certificate.defs.hh (1.6),
-	  BoundingBox.defs.hh (1.12), Determinate.defs.hh (1.44),
-	  H79_Certificate.defs.hh (1.6), Init.cc (1.14), Makefile.am
-	  (1.78), Matrix.cc (1.73), Polyhedra_PowerSet.defs.hh (1.34),
-	  Polyhedron.defs.hh (1.242), Row.cc (1.67), Row.defs.hh (1.81),
-	  Row.inlines.hh (1.46), SatMatrix.cc (1.29), SatRow.defs.hh
-	  (1.33), Variable.defs.hh (1.37), conversion.cc (1.60), globals.cc
-	  (1.18), globals.defs.hh (1.1), globals.hh (1.42): Header file
-	  globals.hh renamed globals.defs.hh.
-
-2004-08-23 Monday 09:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.77), Row.cc (1.66), conversion.cc (1.59),
-	  globals.hh (1.41), globals.inlines.hh (1.1): New function void
-	  normalize2(const Integer& x, const Integer& y, Integer& nx,
-	  Integer& ny).  Start moving inline implementations of globals in
-	  globals.inlines.hh.
-
-2004-08-23 Monday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.65), conversion.cc (1.58): Avoid using some
-	  temporaries.	Avoid calling the same function twice.
-
-2004-08-22 Sunday 23:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.91), Integer.defs.hh (1.13),
-	  Integer.inlines.hh (1.12), Matrix.cc (1.72),
-	  Polyhedron_nonpublic.cc (1.24), Polyhedron_widenings.cc (1.27),
-	  Row.cc (1.64): New function void sub_mul_assign(Integer& x, const
-	  Integer& y, const Integer& z) to efficiently compute x -= y*z.
-
-	  Use add_mul_assign() and sub_mul_assign() when possible.
-
-2004-08-22 Sunday 23:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.defs.hh (1.43): Spurious friend declarations
-	  removed.
-
-2004-08-22 Sunday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.88), GenSys.cc (1.90),
-	  Generator.defs.hh (1.88), Polyhedron_nonpublic.cc (1.23),
-	  Polyhedron_public.cc (1.27), Polyhedron_widenings.cc (1.26),
-	  globals.cc (1.17), globals.hh (1.40): Functions const Integer&
-	  operator*(const Constraint& c, const Generator& g) and const
-	  Integer& reduced_scalar_product(const Constraint& c, const
-	  Generator& g) removed.  Used void scalar_product_assign(Integer&
-	  z, const Row& x, const Row& y) and void
-	  reduced_scalar_product_assign(Integer& z, const Row& x, const
-	  Row& y) instead.
-
-	  Use void scalar_product_sign(const Row& x, const Row& y) and void
-	  reduced_scalar_product_sign(const Row& x, const Row& y) wherever
-	  possible.
-
-2004-08-22 Sunday 19:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.68), GenSys.cc (1.89), Integer.defs.hh (1.12),
-	  Integer.inlines.hh (1.11), Matrix.cc (1.71), Polyhedron_public.cc
-	  (1.26), Polyhedron_widenings.cc (1.25), Row.cc (1.63),
-	  Row.defs.hh (1.80), Row.inlines.hh (1.45), conversion.cc (1.57):
-	  Functions const Integer& operator*(const Row& x, const Row& y)
-	  and const Integer& reduced_scalar_product(const Row& x, const
-	  Row& y) removed.  New functions void
-	  scalar_product_assign(Integer& z, const Row& x, const Row& y) and
-	  void reduced_scalar_product_assign(Integer& z, const Row& x,
-	  const Row& y) provide the same functionality, but without
-	  (explicitely) using temporaries.
-
-	  New functions int scalar_product_sign(const Row& x, const Row& y)
-	  and int reduced_scalar_product_sign(const Row& x, const Row& y)
-	  return the sign of the (reduced) scalar product of the given
-	  arguments.
-
-	  New function void add_mul_assign(Integer& x, const Integer& y,
-	  const Integer& z) to efficiently compute x += y*z.
-
-2004-08-22 Sunday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.88), Generator.cc (1.51), Init.cc (1.13),
-	  Matrix.cc (1.70), Polyhedron_nonpublic.cc (1.22),
-	  Polyhedron_widenings.cc (1.24), Row.cc (1.62), conversion.cc
-	  (1.56), globals.cc (1.16), globals.hh (1.39): Old code for the
-	  handling of temporary coefficients removed.
-
-2004-08-22 Sunday 17:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.87), Generator.cc (1.50), Init.cc (1.12),
-	  Matrix.cc (1.69), Polyhedron_nonpublic.cc (1.21),
-	  Polyhedron_widenings.cc (1.23), Row.cc (1.61), conversion.cc
-	  (1.55), globals.cc (1.15), globals.hh (1.38): Draft new code for
-	  the handling of temporary coefficients.
-
-2004-08-22 Sunday 08:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Widening_Function.inlines.hh (1.4): Added \relates doxygen
-	  command to function definition.
-
-2004-08-21 Saturday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.11), demos/ppl_lpsol/Makefile.am (1.2),
-	  interfaces/Prolog/Ciao/Makefile.am (1.29),
-	  interfaces/Prolog/GNU/Makefile.am (1.35),
-	  interfaces/Prolog/SICStus/Makefile.am (1.42),
-	  interfaces/Prolog/SWI/Makefile.am (1.35),
-	  interfaces/Prolog/XSB/Makefile.am (1.22),
-	  interfaces/Prolog/YAP/Makefile.am (1.26), tests/Makefile.am
-	  (1.208): Match every `endif' with the corresponding `if'
-	  condition.
-
-2004-08-21 Saturday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/Makefile.am (1.5): Add `expected' to the list of
-	  files to be distributed.
-
-2004-08-21 Saturday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.101): Now `make check' runs a number of tests with
-	  `ppl_lcdd', comparing the results to expected ones.
-
-2004-08-21 Saturday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/: Makefile.am (1.4), expected (1.1): Use
-	  `ppl_lcdd' to perform regression testing.
-
-2004-08-20 Friday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.120): Check for md5sum.
-
-2004-08-20 Friday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.26): Option `--with-cxxflags=-Wno-deprecated'
-	  removed from `DISTCHECK_CONFIGURE_FLAGS'.
-
-2004-08-20 Friday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_6-branch.3): Update version.
-
-2004-08-20 Friday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_6-branch.[3,5]): Mark
-	  ChangeLog.
-
-2004-08-20 Friday 19:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_6-branch.4): Updated.
-
-2004-08-20 Friday 19:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (ppl-0_6-branch.2): Glitch fixed.
-
-2004-08-20 Friday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_6-branch.3): Updated.
-
-2004-08-20 Friday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.41),
-	  devref-print.doxyconf-latex.in (1.41), devref.doxyconf-html.in
-	  (1.41): Include certificates in the developer's reference.
-
-2004-08-20 Friday 18:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/H79_Certificate.defs.hh (1.5): Spurious comments removed.
-
-2004-08-20 Friday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in,
-	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
-	  (ppl-0_6-branch.[3,3,4]): Include certificates in the developer's
-	  reference.
-
-2004-08-20 Friday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/H79_Certificate.defs.hh (ppl-0_6-branch.2): Spurious comments
-	  removed.
-
-2004-08-20 Friday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog (ppl-0_6-branch.[2,2]): Updated.
-
-2004-08-20 Friday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox, doc/ppl.sty,
-	  interfaces/Prolog/Prolog_interface.dox (ppl-0_6-branch.[1,1,1]):
-	  Merge from the main trunk.
-
-2004-08-20 Friday 17:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.157): Minor English improvement.
-
-2004-08-20 Friday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (ppl-0_6-branch.3): The
-	  documentation of BHZ03_widening_assign made shorter by referring
-	  to the new section in the introduction.  The comment on
-	  concatenate_assign() made shorter (as suggested by Pat).
-
-2004-08-20 Friday 17:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.156): Link error corrected.
-
-2004-08-20 Friday 17:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.155): Added a paragraph on the BGP99
-	  extrapolation operator.
-
-2004-08-20 Friday 17:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.154): After doing the meet on elements of
-	  the powerset domain elementwise, omega reduction is needed.
-
-2004-08-20 Friday 16:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.153): Small improvements.
-
-2004-08-20 Friday 16:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.33): The comment on
-	  concatenate_assign() made shorter (as suggested by Pat).
-
-2004-08-20 Friday 16:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.32): The documentation of
-	  BHZ03_widening_assign made shorter by referring to the new
-	  section in the introduction.
-
-2004-08-20 Friday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (ppl-0_6-branch.1): Ready for the release of PPL 0.6.1.
-
-2004-08-20 Friday 16:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.152): A couple of corrections.
-
-2004-08-20 Friday 16:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.151): Added a section on certificate-based
-	  widenings.
-
-2004-08-20 Friday 16:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.31): Corrected two comments.
-
-2004-08-20 Friday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/: ppl_lcdd/ppl_lcdd.cc, ppl_lpsol/ppl_lpsol.c
-	  (ppl-0_6-branch.[1,1]): Do not try to use RLIMIT_AS unless the
-	  configure script has determined its availability.
-
-2004-08-20 Friday 15:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/: ppl_lcdd/ppl_lcdd.cc (1.23), ppl_lpsol/ppl_lpsol.c (1.2):
-	  Do not try to use RLIMIT_AS unless the configure script has
-	  determined its availability.
-
-2004-08-20 Friday 15:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.150): Some improvements for the section on
-	  polyhedra powersets.
-
-2004-08-20 Friday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.149): In the section about add_disjuct,
-	  \cS_1 ==> \cS.
-
-2004-08-20 Friday 15:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.112): Update cross
-	  reference.
-
-2004-08-20 Friday 15:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: definitions.dox (1.148), ppl.sty (1.16): Added a short
-	  (incomplete) section on the polyhedral powerset domain and
-	  revised the description of the generic powerset meet operation.
-
-2004-08-20 Friday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/NEWS (ppl-0_6-branch.1): Updated for the release of PPL
-	  0.6.1.
-
-2004-08-20 Friday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh,
-	  src/Polyhedra_PowerSet.inlines.hh, tests/bgp99extrapolation2.cc,
-	  tests/bhz03widening2.cc, tests/bhz03widening3.cc,
-	  tests/bhz03widening5.cc, tests/bhz03widening6.cc
-	  (ppl-0_6-branch.[2,1,1,1,1,1,1]): The methods
-	  Polyhedra_PowerSet::semantically_contains(const
-	  Polyhedra_PowerSet&) and
-	  Polyhedra_PowerSet::semantically_equals(const
-	  Polyhedra_PowerSet&) have been renamed
-	  Polyhedra_PowerSet::geometrically_covers(const
-	  Polyhedra_PowerSet&) and
-	  Polyhedra_PowerSet::geometrically_equals(const
-	  Polyhedra_PowerSet& y), respectively.
-
-2004-08-20 Friday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (ppl-0_6-branch.1): Completed for 0.6.1.
-
-2004-08-20 Friday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (ppl-0_6-branch.2): Formatting glitch fixed.
-
-2004-08-20 Friday 14:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_6-branch.2): Version number bumped.
-
-2004-08-20 Friday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.100): Completed for 0.6.1.
-
-2004-08-20 Friday 14:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.7): Formatting glitch fixed.
-
-2004-08-20 Friday 14:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.147): Small improvements to section 1.6.
-
-2004-08-20 Friday 14:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.146): Some polyhedra where wrongly named P
-	  instead of \cP.  Replaced a couple of = signs by \defeq.  A first
-	  pass on Section 1.5 (PowerSet) to correct minor typos.
-
-2004-08-20 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.99), src/Polyhedra_PowerSet.defs.hh (1.30),
-	  src/Polyhedra_PowerSet.inlines.hh (1.40),
-	  tests/bgp99extrapolation2.cc (1.6), tests/bhz03widening2.cc
-	  (1.7), tests/bhz03widening3.cc (1.5), tests/bhz03widening5.cc
-	  (1.4), tests/bhz03widening6.cc (1.5): The methods
-	  Polyhedra_PowerSet::semantically_contains(const
-	  Polyhedra_PowerSet&) and
-	  Polyhedra_PowerSet::semantically_equals(const
-	  Polyhedra_PowerSet&) have been renamed
-	  Polyhedra_PowerSet::geometrically_covers(const
-	  Polyhedra_PowerSet&) and
-	  Polyhedra_PowerSet::geometrically_equals(const
-	  Polyhedra_PowerSet& y), respectively.
-
-2004-08-20 Friday 14:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (ppl-0_6-branch.1): Documented
-	  function pairwise_reduce().
-
-2004-08-20 Friday 13:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.145): Some stuff (lazy/eager operators and
-	  polymorphism disclaimer) moved into section 1.6 (Using the
-	  Library).
-
-2004-08-20 Friday 13:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.144): Bug fixed.
-
-2004-08-20 Friday 13:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.29): Documented method
-	  pairwise_reduce().
-
-2004-08-20 Friday 13:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: definitions.dox (1.143), ppl.sty (1.15): First draft of
-	  description of the powerset construction added.
-
-2004-08-20 Friday 11:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* README.configure (ppl-0_6-branch.1): Spurious indentation fixed.
-
-2004-08-20 Friday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BHRZ03_Certificate.defs.hh, H79_Certificate.defs.hh
-	  (ppl-0_6-branch.[1,1]): In the Doxygen comments: lgo --> limited
-	  growth ordering.
-
-2004-08-20 Friday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* README.configure (1.6): A spurious indentation fixed.
-
-2004-08-20 Friday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BHRZ03_Certificate.defs.hh (1.5), H79_Certificate.defs.hh
-	  (1.4): In the Doxygen comment: lgo --> limited growth ordering
-
-2004-08-19 Thursday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* BUGS, CREDITS, ChangeLog, Makefile.am, NEWS, README,
-	  README.configure, STANDARDS, TODO, config.guess, config.sub,
-	  configure.ac, depcomp, install-sh, ltmain.sh, ppl.lsm.in,
-	  ppl.spec.in, Watchdog/ChangeLog,
-	  Watchdog/Doubly_Linked_Object.defs.hh,
-	  Watchdog/Doubly_Linked_Object.inlines.hh,
-	  Watchdog/Doubly_Linked_Object.types.hh, Watchdog/EList.defs.hh,
-	  Watchdog/EList.inlines.hh, Watchdog/EList.types.hh,
-	  Watchdog/EList_Iterator.defs.hh,
-	  Watchdog/EList_Iterator.inlines.hh,
-	  Watchdog/EList_Iterator.types.hh, Watchdog/Handler.defs.hh,
-	  Watchdog/Handler.inlines.hh, Watchdog/Handler.types.hh,
-	  Watchdog/Makefile.am, Watchdog/NEWS, Watchdog/Pending_Element.cc,
-	  Watchdog/Pending_Element.defs.hh,
-	  Watchdog/Pending_Element.inlines.hh,
-	  Watchdog/Pending_Element.types.hh, Watchdog/Pending_List.cc,
-	  Watchdog/Pending_List.defs.hh, Watchdog/Pending_List.inlines.hh,
-	  Watchdog/Pending_List.types.hh, Watchdog/README,
-	  Watchdog/Time.cc, Watchdog/Time.defs.hh,
-	  Watchdog/Time.inlines.hh, Watchdog/Time.types.hh,
-	  Watchdog/Watchdog.cc, Watchdog/Watchdog.defs.hh,
-	  Watchdog/Watchdog.inlines.hh, Watchdog/config.guess,
-	  Watchdog/config.sub, Watchdog/configure.ac, Watchdog/depcomp,
-	  Watchdog/install-sh, Watchdog/ltmain.sh, demos/Makefile.am,
-	  demos/ppl_lcdd/Makefile.am, demos/ppl_lcdd/ppl_lcdd.cc,
-	  demos/ppl_lcdd/examples/.cvsignore,
-	  demos/ppl_lcdd/examples/Makefile.am, demos/ppl_lpsol/.cvsignore,
-	  demos/ppl_lpsol/Makefile.am, demos/ppl_lpsol/expected,
-	  demos/ppl_lpsol/ppl_lpsol.c, demos/ppl_lpsol/examples/.cvsignore,
-	  demos/ppl_lpsol/examples/Makefile.am,
-	  demos/ppl_lpsol/examples/afiro.mps,
-	  demos/ppl_lpsol/examples/bgprtr.mps,
-	  demos/ppl_lpsol/examples/ex1.mps,
-	  demos/ppl_lpsol/examples/sample.mps,
-	  demos/ppl_lpsol/examples/unboundedmin.mps, doc/Makefile.am,
-	  doc/definitions.dox, doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/devref.tex, doc/fdl.txt, doc/gpl.txt, doc/ppl.sty,
-	  doc/user-browse.doxyconf-latex.in,
-	  doc/user-print.doxyconf-latex.in, doc/user.doxyconf-html.in,
-	  doc/user.tex, interfaces/C/Makefile.am, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h.in, interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/Makefile.am,
-	  interfaces/Prolog/Ciao/ciao_pl_check.pl,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/.cvsignore,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_pl_check.P,
-	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
-	  src/BHRZ03_Certificate.defs.hh,
-	  src/BHRZ03_Certificate.inlines.hh, src/BoundingBox.inlines.hh,
-	  src/C_Polyhedron.cc, src/C_Polyhedron.defs.hh,
-	  src/C_Polyhedron.inlines.hh, src/ConSys.defs.hh,
-	  src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh,
-	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
-	  src/Generator.cc, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/H79_Certificate.cc,
-	  src/H79_Certificate.defs.hh, src/H79_Certificate.inlines.hh,
-	  src/H79_Certificate.types.hh, src/Init.cc, src/Makefile.am,
-	  src/Matrix.defs.hh, src/NNC_Polyhedron.defs.hh,
-	  src/NNC_Polyhedron.inlines.hh, src/Ph_Status.idefs.hh,
-	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.defs.hh,
-	  src/Polyhedra_PowerSet.defs.hh,
-	  src/Polyhedra_PowerSet.inlines.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.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/Row.defs.hh,
-	  src/SatMatrix.defs.hh, src/Widening_Function.defs.hh,
-	  src/Widening_Function.inlines.hh, src/Widening_Function.types.hh,
-	  src/algorithms.hh, src/conversion.cc, src/globals.cc,
-	  src/globals.hh, src/minimize.cc, src/simplify.cc,
-	  src/statistics.hh, src/version.hh.in, tests/.cvsignore,
-	  tests/Makefile.am, tests/bgp99extrapolation1.cc,
-	  tests/bgp99extrapolation2.cc, tests/bhz03widening1.cc,
-	  tests/bhz03widening2.cc, tests/bhz03widening3.cc,
-	  tests/bhz03widening4.cc, tests/bhz03widening5.cc,
-	  tests/bhz03widening6.cc, tests/boundingbox1.cc,
-	  tests/boundingbox2.cc, tests/boundingbox3.cc,
-	  tests/boundingbox4.cc, tests/boundingbox5.cc,
-	  tests/exceptions3.cc, tests/expanddim1.cc, tests/expanddim2.cc,
-	  tests/folddims1.cc, tests/folddims2.cc, tests/h79widening6.cc,
-	  tests/linearpartition1.cc, tests/linearpartition2.cc,
-	  tests/linearpartition3.cc, tests/linearpartition4.cc,
-	  tests/polydifference8.cc, tests/watchdog1.cc
-	  (altnum.[1,2,1,2,1,1,1,1,1,1,1,5,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,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,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,2,1,1,2,2,1,1,2,2,2,2,2,1,1,1,1,1,7,1,1,1,1,1,1,1,1,2,2,1,1,2,2,2,1,1,2,1,1,1,1,1,2,2,2,1,1,1,1,1,2,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-19 Thursday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.207), linearpartition4.cc (1.1): New test
-	  for linear_partition() (still to be completed).
-
-2004-08-19 Thursday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.119): Version number bumped.
-
-2004-08-19 Thursday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.18): Updated.
-
-2004-08-19 Thursday 15:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.142): This is a start in revising the
-	  introductory sections to the manual so as to allow for the
-	  inclusion of domains other than that of convex polyhedra.
-
-2004-08-19 Thursday 14:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in,
-	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
-	  (ppl-0_6-branch.[2,2,3]), devref-browse.doxyconf-latex.in (1.40),
-	  devref-print.doxyconf-latex.in (1.40), devref.doxyconf-html.in
-	  (1.40): AskTell should not appear in the develper's reference.
-
-2004-08-19 Thursday 14:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Widening_Function.defs.hh (ppl-0_6-branch.1): Avoided a
-	  warning in the devref documentation.
-
-2004-08-19 Thursday 14:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Widening_Function.defs.hh (1.4): Avoided a warning in the
-	  devref documentation.
-
-2004-08-19 Thursday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (ppl-0_6-branch.2), AskTell.defs.hh (1.24):
-	  Previous change reverted.
-
-2004-08-19 Thursday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.39),
-	  devref-print.doxyconf-latex.in (1.39), devref.doxyconf-html.in
-	  (1.39): Widening_Function and Polyhedra_PowerSet should appear in
-	  all the devref manuals.
-
-2004-08-19 Thursday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/AskTell.defs.hh (1.23): AskTell should not appear in the user
-	  documentation until working.
-
-2004-08-19 Thursday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in,
-	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
-	  (ppl-0_6-branch.[1,1,2]): Widening_Function should appear in the
-	  devref manuals.
-
-2004-08-19 Thursday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/devref.doxyconf-html.in (ppl-0_6-branch.1):
-	  Polyhedra_PowerSet has to also appear in the developers manual.
-
-2004-08-19 Thursday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/AskTell.defs.hh (ppl-0_6-branch.1): AskTell construction
-	  should not appear in the user manuals.
-
-2004-08-18 Wednesday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (ppl-0_6-branch.1), Makefile.am (1.76): AskTell
-	  is unfinished and not working: it should not be distributed.
-
-2004-08-18 Wednesday 22:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: configure.ac (ppl-0_6-branch.1), ChangeLog (1.8),
-	  configure.ac (1.20): Version number bumped.
-
-2004-08-18 Wednesday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_6-branch.1): Update version.
-
-2004-08-18 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_6-branch.[1,1]): Mark
-	  ChangeLog.
-
-2004-08-18 Wednesday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.21): Distribute more documentation.
-
-2004-08-18 Wednesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.38),
-	  devref-print.doxyconf-latex.in (1.38): The Polyhedra_PowerSet
-	  documentation has to appear in the devref manual too.
-
-2004-08-18 Wednesday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Widening_Function.defs.hh (1.3), algorithms.hh (1.29):
-	  Applied the Doxygen \relates command in a couple of places.
-
-2004-08-18 Wednesday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: bgp99extrapolation1.cc (1.4), bgp99extrapolation2.cc
-	  (1.5), bhz03widening1.cc (1.5), bhz03widening2.cc (1.6),
-	  bhz03widening3.cc (1.4), bhz03widening6.cc (1.4): Modified to
-	  comply with the new interface.
-
-2004-08-18 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.28),
-	  Polyhedra_PowerSet.inlines.hh (1.39): Added doxygen
-	  documentation.  Removed some methods that are now subsumed by the
-	  generic ones.
-
-2004-08-18 Wednesday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README (1.3): Last change reverted.
-
-2004-08-18 Wednesday 13:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.23): Ready for the release.
-
-2004-08-18 Wednesday 13:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/README (1.2): Revised.
-
-2004-08-18 Wednesday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.29): Installation of the documentation now
-	  works both for distribution archives and for CVS versions.
-
-2004-08-18 Wednesday 11:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.38): Include
-	  "Widening_Function.defs.hh" instead of
-	  "Widening_Function.types.hh".
-
-2004-08-18 Wednesday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.84): Ready for the release.
-
-2004-08-18 Wednesday 09:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: bhz03widening4.cc (1.3), bhz03widening5.cc (1.3):
-	  Exploiting helper functions widen_fun().
-
-2004-08-18 Wednesday 09:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.37): Exploiting helper
-	  function widen_fun().
-
-2004-08-18 Wednesday 09:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: GenSys.cc (1.86), Polyhedron.types.hh (1.12),
-	  Polyhedron_widenings.cc (1.22), conversion.cc (1.54), simplify.cc
-	  (1.36): Comments improved.
-
-2004-08-18 Wednesday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.106), interfaces/C/ppl_c.h.in (1.32),
-	  src/C_Polyhedron.defs.hh (1.23), src/C_Polyhedron.inlines.hh
-	  (1.17), src/NNC_Polyhedron.defs.hh (1.26),
-	  src/NNC_Polyhedron.inlines.hh (1.18), tests/Makefile.am (1.206),
-	  tests/exceptions3.cc (1.2): Start dealing with requests to build
-	  "over-sized" objects.
-
-2004-08-18 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Widening_Function.defs.hh (1.2),
-	  Widening_Function.inlines.hh (1.3): Added helper function
-	  widen_fun() to simplify the creation of widening function
-	  objects. Added brief documentation.
-
-2004-08-18 Wednesday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: linearpartition2.cc (1.14), linearpartition3.cc (1.14):
-	  Fixed.
-
-2004-08-18 Wednesday 09:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: AskTell.defs.hh (1.22), ConSys.defs.hh (1.84),
-	  Determinate.defs.hh (1.42), GenSys.defs.hh (1.97),
-	  Polyhedra_PowerSet.defs.hh (1.27), Polyhedron.defs.hh (1.241),
-	  Polyhedron.inlines.hh (1.94): Comments improved.
-
-2004-08-18 Wednesday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/linearpartition1.cc (1.14): Fixed.
-
-2004-08-17 Tuesday 23:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Widening_Function.inlines.hh (1.2):
-	  Limited_Widening_Function::operator() fixed.
-
-2004-08-17 Tuesday 23:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.28): Install documentation in text format.
-
-2004-08-17 Tuesday 21:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: bhz03widening4.cc (1.2), bhz03widening5.cc (1.2):
-	  Corrected to work with the new implementation.
-
-2004-08-17 Tuesday 21:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Makefile.am (1.75), Polyhedra_PowerSet.defs.hh (1.26),
-	  Polyhedra_PowerSet.inlines.hh (1.36), Widening_Function.defs.hh
-	  (1.1), Widening_Function.inlines.hh (1.1),
-	  Widening_Function.types.hh (1.1): Factorized a lot of code
-	  related to widenings of powersets by using function objects
-	  instead of method pointers.
-
-2004-08-17 Tuesday 21:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.41), Determinate.inlines.hh (1.39),
-	  algorithms.hh (1.28): Improved a little bit the docuemntation for
-	  the Determinate construction.  Removed a few seemingly useless
-	  methods. The polyhedron() methods renamed as element().
-
-2004-08-17 Tuesday 19:43  Abramo Bagnara
-
-	* src/checked_mpq.inlines.hh (altnum.8): Fixed unhandled native
-	  integer type behaviour.
-
-2004-08-17 Tuesday 19:39  Abramo Bagnara
-
-	* src/checked_mpz.inlines.hh (altnum.9): Fixed unhandled native
-	  integer type behaviour.
-
-2004-08-17 Tuesday 19:33  Abramo Bagnara
-
-	* src/Makefile.am (altnum.6): Added Limits.hh
-
-2004-08-17 Tuesday 19:33  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (altnum.6): Fixed float96_t format
-	  oddities. Cleaned code.
-
-2004-08-17 Tuesday 19:31  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  Limits.hh, checked.defs.hh, checked_int.inlines.hh
-	  (altnum.[4,5,1,7,6]): Fixed unhandled native integer type
-	  behaviour.
-
-2004-08-17 Tuesday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/gpl.txt (1.2): Spacing fixed.
-
-2004-08-17 Tuesday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.25): Distribute also README.configure.
-
-2004-08-17 Tuesday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.83): One less thing to do.
-
-2004-08-17 Tuesday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* BUGS (1.4), CREDITS (1.13): Formatted.
-
-2004-08-17 Tuesday 14:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* README.configure (1.5): Corrected a typo and improved the
-	  English.
-
-2004-08-17 Tuesday 13:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* BUGS (1.3), CREDITS (1.12), STANDARDS (1.14): English
-	  improvements made.
-
-2004-08-17 Tuesday 12:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.40), Determinate.inlines.hh (1.38),
-	  PowerSet.defs.hh (1.47), PowerSet.inlines.hh (1.57):
-	  Determinate::operator+(), Determinate::operator*(),
-	  PowerSet::operator+() and PowerSet::operator*() removed.
-
-2004-08-17 Tuesday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.11): Small English improvement.
-
-2004-08-17 Tuesday 11:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/bhz03widening2.cc (1.5): Redundant code removed.
-
-2004-08-17 Tuesday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.39), Determinate.inlines.hh (1.37):
-	  The methods grouped according to constness and space-dim
-	  preservation, as done for the class Polyhedron.  Two inline
-	  directives moved from *.defs.hh into *.inlines.hh.
-
-2004-08-17 Tuesday 10:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.94): Tests for adding and
-	  removing dimensions now include cases where no dimensions are
-	  added or removed and also when all the dimensions are removed.
-
-2004-08-17 Tuesday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.141): The descriptions of the add and
-	  remove dimensions operators improved.  The description of the
-	  concatenate operation moved to just before the description of the
-	  add dimensions operators.
-
-2004-08-17 Tuesday 10:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.98), configure.ac (1.118), doc/Makefile.am (1.27): The
-	  documentation for users, in PostScript, PDF and HTML formats, is
-	  now installed in a standard place by `make install'.
-
-2004-08-17 Tuesday 09:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Determinate.defs.hh (1.38): Small improvements.
-
-2004-08-17 Tuesday 09:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.140): Added a section on constructions on
-	  polyhedra.
-
-2004-08-17 Tuesday 09:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.25): Started documenting the
-	  widening operators.
-
-2004-08-17 Tuesday 09:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BHRZ03_Certificate.defs.hh (1.4),
-	  BHRZ03_Certificate.inlines.hh (1.2), H79_Certificate.cc (1.2),
-	  H79_Certificate.defs.hh (1.3), H79_Certificate.inlines.hh (1.2):
-	  H79_Certificate simplified by removing useless methods. The
-	  documentation of BHRZ03_Certificate method is_stabilizing() now
-	  only appears in the developers manual. Both classes now appear in
-	  the user manual, as they provide documentation of the method
-	  needed by any new certificate.
-
-2004-08-17 Tuesday 09:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.111): Several minor
-	  "English" corrections and some cross references improved or
-	  added.
-
-2004-08-17 Tuesday 09:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.139): An anchor has been added and minor
-	  English improvement.
-
-2004-08-17 Tuesday 08:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: bhz03widening3.cc (1.3), bhz03widening6.cc (1.3),
-	  boundingbox2.cc (1.21), boundingbox4.cc (1.10): Comments revised
-	  in boundinbox2.cc and boundingbox4.cc.  Known result in
-	  bhz03widening3.cc added and checked.	New test added to
-	  bhz03widening6.cc for the case when the multiset ordering wrt the
-	  lgo is converging.
-
-2004-08-17 Tuesday 00:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/bgp99extrapolation2.cc (1.4): Be quiet.
-
-2004-08-17 Tuesday 00:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/folddims2.cc (1.2): Removed test that was already made in
-	  folddims1.cc.  Comment revised.
-
-2004-08-17 Tuesday 00:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.205): Spurious backslash removed.
-
-2004-08-17 Tuesday 00:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/bgp99extrapolation2.cc (1.3): Completed (and made more
-	  interesting).
-
-2004-08-16 Monday 21:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: Makefile.am (1.204), folddims2.cc (1.1): Tests for NNC
-	  polyhedra added.
-
-2004-08-16 Monday 21:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/bgp99extrapolation2.cc (1.2): Comment corrected.
-
-2004-08-16 Monday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/h79widening6.cc (1.7): An example taken from CH78.
-
-2004-08-16 Monday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.203), bgp99extrapolation2.cc (1.1),
-	  h79widening6.cc (1.6): Test program h79widening6.cc renamed
-	  bgp99extrapolation2.cc.
-
-2004-08-16 Monday 19:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.20): Added the `ppl_lcdd' program to the main
-	  package.  Require gcc-c++ to be exactly version 3.4.1.
-
-2004-08-16 Monday 19:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/Makefile.am (1.3): The `ppl_lcdd' program will be
-	  installed in `bindir'.
-
-2004-08-16 Monday 18:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.lsm.in (1.5), ppl.spec.in (1.19): Updated.
-
-2004-08-16 Monday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.138): Definition of the folding operation
-	  improved.
-
-2004-08-16 Monday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.82): Some items postponed.  Main points of PPL 0.7
-	  drafted.
-
-2004-08-16 Monday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.22): Typo fixed.
-
-2004-08-16 Monday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/README (1.7): Updated.
-
-2004-08-16 Monday 18:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BHRZ03_Certificate.defs.hh (1.3), H79_Certificate.defs.hh
-	  (1.2): Fixed the documentation of the certificates (for now, this
-	  will only appear in the developer manual).
-
-2004-08-16 Monday 18:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.24),
-	  Polyhedra_PowerSet.inlines.hh (1.35): Fixed header inclusions.
-
-2004-08-16 Monday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Determinate.defs.hh (1.37), src/Polyhedron.defs.hh (1.240),
-	  doc/definitions.dox (1.137): Added a section about concatenation
-	  of polyhedra to the introduction of the user manual. Now the
-	  documentation of concatenate_assign() refers to it.
-
-2004-08-16 Monday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.54): Prolog_raise_exception()
-	  implemented.
-
-2004-08-16 Monday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.10): Specify that Andrea is with the University of
-	  Parma.  Email address omitted.
-
-2004-08-16 Monday 17:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.21): Formatting changes.
-
-2004-08-16 Monday 17:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.93): This test file now checks
-	  correctly that the exceptions do work ok.
-
-2004-08-16 Monday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.20): Updated.
-
-2004-08-16 Monday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.4): Added instructions about the use of
-	  Comeau C/C++ 4.3.3.
-
-2004-08-16 Monday 16:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.97): Announce the new README.configure file.
-
-2004-08-16 Monday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.96): Drafted an announcement for the new Determinate,
-	  PowerSet and Polyhedra_PowerSet classes.
-
-2004-08-16 Monday 16:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ConSys.inlines.hh (1.33): Fixed
-	  ConSys::max_space_dimension().
-
-2004-08-16 Monday 14:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/bhz03widening6.cc (1.2): Comments added.
-
-2004-08-16 Monday 14:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: Makefile.am (1.202), bhz03widening6.cc (1.1): dded more
-	  tests.
-
-2004-08-16 Monday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.81): Some items postponed.  Main points of PPL 0.7
-	  drafted.
-
-2004-08-16 Monday 12:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.95): Announce the new "expand" and "fold" operations.
-
-2004-08-16 Monday 12:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.201), bhz03widening4.cc (1.1),
-	  bhz03widening5.cc (1.1): New tests are the same as
-	  bhz03widening1.cc and bhz03widening2.cc, but use the
-	  H79_Certificate instead of BHRZ03_Certificate.
-
-2004-08-16 Monday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: H79_Certificate.cc (1.1), H79_Certificate.defs.hh (1.1),
-	  H79_Certificate.inlines.hh (1.1), H79_Certificate.types.hh (1.1),
-	  Makefile.am (1.74), Polyhedra_PowerSet.defs.hh (1.23),
-	  Polyhedra_PowerSet.inlines.hh (1.34), Polyhedron.defs.hh (1.239):
-	  Added the H79 widening certificate.  The certificate-based
-	  widening methods for the Polyhedra_Powerset domain made generic
-	  by parameterizing the certificate used. The instance using the
-	  BHRZ03_Certificate still have the old name (so as old code still
-	  works).
-
-2004-08-16 Monday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.94), Watchdog/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.17), Watchdog/ChangeLog (1.7): Updated.
-
-2004-08-16 Monday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.14): In
-	  Polyhedron::fold_dimensions(const Variables_Set&, Variable)
-	  correctly handle the case where the set is empty.
-
-2004-08-15 Sunday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.105), ppl_c.h.in (1.31): New C
-	  interface functions ppl_Polyhedron_expand_dimension() and
-	  ppl_Polyhedron_fold_dimensions().
-
-2004-08-15 Sunday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.13): Polyhedron::fold_dimensions()
-	  now checks its interface invariants.
-
-2004-08-15 Sunday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.238): Completed the documentation of
-	  Polyhedron::fold_dimensions().
-
-2004-08-15 Sunday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.136): Set-cardinality notation explained.
-
-2004-08-15 Sunday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.22): Do not mix extern "C" pointers
-	  and extern "C++" pointers: they are different types.
-
-2004-08-15 Sunday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.135): Drafted a formal definition of the
-	  "fold_dimensions" operation.
-
-2004-08-15 Sunday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl.sty (1.14): Added the definition of the set-cardinality
-	  operator `\card'.
-
-2004-08-15 Sunday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.134), src/Polyhedron.defs.hh (1.237):
-	  Added placeholder and reference to the (yet to be written)
-	  section on folding dimensions.
-
-2004-08-15 Sunday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: boundingbox1.cc (1.36), boundingbox3.cc (1.12),
-	  boundingbox4.cc (1.9): Comments corrected/revised.
-
-2004-08-15 Sunday 10:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.110): Documentation for
-	  the ppl_Polyhedron_expand_dimension/3 and
-	  ppl_Polyhedron_fold_dimensions/3 predicates, added.
-
-2004-08-15 Sunday 10:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.92): A bug has been fixed.  The
-	  tests for the bounding box predicates improved.
-
-2004-08-15 Sunday 10:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: boundingbox1.cc (1.35), boundingbox2.cc (1.20),
-	  boundingbox3.cc (1.11), boundingbox4.cc (1.8): The tests for
-	  shrink_bounding_box() and building polyhedra from boxes have been
-	  revised.
-
-2004-08-15 Sunday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.21): Catch and handle the
-	  exceptions that may be raised.
-
-2004-08-15 Sunday 08:44  Abramo Bagnara
-
-	* src/checked_mpz.inlines.hh (altnum.8): Added conversion from mpz
-	  to int.
-
-2004-08-15 Sunday 00:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.20): Missing include files added.
-	  Reduced the scope of some variables in set_alarm_on_cpu_time().
-
-2004-08-14 Saturday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.3): Added instructions on how to use the
-	  Intel C/C++ compiler.
-
-2004-08-14 Saturday 23:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.117): Version number bumped.	Require Autoconf
-	  2.59 or later.
-
-2004-08-14 Saturday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/boundingbox5.cc (1.2): Be quiet.
-
-2004-08-14 Saturday 23:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Ph_Status.idefs.hh (1.6): Inclusion guard added.
-
-2004-08-14 Saturday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Integer.defs.hh (altnum.5): Friend declarations
-	  fixed.
-
-2004-08-14 Saturday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Checked_Integer.inlines.hh (altnum.6): Horrible kludge to fix
-	  a bug in Checked_Integer<T>::Checked_Integer(U), where U is some
-	  native integral type.
-
-2004-08-14 Saturday 10:11  Abramo Bagnara
-
-	* src/checked_mpz.inlines.hh (altnum.7): Fixed unsigned/signed
-	  typo.
-
-2004-08-14 Saturday 10:10  Abramo Bagnara
-
-	* src/: Checked_Integer.inlines.hh, Checked_Number.inlines.hh,
-	  checked.defs.hh, checked_float.inlines.hh, checked_mpq.inlines.hh
-	  (altnum.[5,4,6,5,7]): Fixed code formatting.
-
-2004-08-14 Saturday 08:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (altnum.5): Include the contents of
-	  Integer.inlines.hh in ppl_install.hh.
-
-2004-08-14 Saturday 00:04  Abramo Bagnara
-
-	* src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[6,6]): Fixed signed/unsigned conversion.
-
-2004-08-13 Friday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/bhz03widening3.cc (1.2): Be quiet.
-
-2004-08-13 Friday 19:21  Abramo Bagnara
-
-	* src/: checked.defs.hh, checked_mpq.inlines.hh,
-	  checked_mpz.inlines.hh (altnum.[5,5,5]): Always pass 'from'
-	  arguments by reference in inline helper functions
-
-2004-08-13 Friday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: checked_mpq.inlines.hh, checked_mpz.inlines.hh
-	  (altnum.[4,4]): Qualified name is not allowed in namespace member
-	  declaration.
-
-2004-08-13 Friday 18:05  Abramo Bagnara
-
-	* configure.ac (altnum.4): Added AM_CONDITIONAL for new checked
-	  code.
-
-2004-08-13 Friday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.10), src/Makefile.am (1.73): Version info
-	  updated for the libtool libraries.
-
-2004-08-13 Friday 17:29  Abramo Bagnara
-
-	* src/checked.defs.hh (altnum.4): More explicit name for function
-	  container
-
-2004-08-13 Friday 17:20  Abramo Bagnara
-
-	* src/float.types.hh (altnum.2): Renamed float basic type.
-
-2004-08-13 Friday 17:19  Abramo Bagnara
-
-	* src/: checked.defs.hh, checked.inlines.hh,
-	  checked_int.inlines.hh, checked_mpq.inlines.hh,
-	  checked_mpz.inlines.hh (altnum.[3,3,5,3,3]): Added many const.
-	  Renamed float basic type.
-
-2004-08-13 Friday 17:19  Abramo Bagnara
-
-	* src/checked_float.inlines.hh (altnum.4): Added pred/succ.
-
-2004-08-13 Friday 17:17  Abramo Bagnara
-
-	* src/Makefile.am (altnum.4): Adjusted for use of new checked code.
-
-2004-08-13 Friday 17:17  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  Checked_Number.types.hh (altnum.[3,3,2]): Added policy to
-	  Checked_Numbers. Added operator from basic types.
-
-2004-08-13 Friday 17:07  Abramo Bagnara
-
-	* src/Checked_Number.cc (altnum.2): Removed empty file.
-
-2004-08-13 Friday 17:06  Abramo Bagnara
-
-	* src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh,
-	  GMP_Integer.defs.hh, GMP_Integer.inlines.hh, Integer.defs.hh,
-	  Integer.inlines.hh, Integer.types.hh, Native_Integer.defs.hh,
-	  Native_Integer.inlines.hh (altnum.[4,4,3,3,4,1,4,4,4]): Shared
-	  definitions and declarations Integer_{zero,one}.
-
-2004-08-13 Friday 16:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.9), doc/devref.tex (1.14), doc/user.tex (1.15):
-	  Authors lists adapted to reality.
-
-2004-08-13 Friday 16:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.116): Version number bumped.
-
-2004-08-13 Friday 16:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.13): Slightly modified the policy for the list of
-	  parameters: for increased flexibility, detailed comments may
-	  occur both before and after the list.
-
-2004-08-13 Friday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.21), C_Polyhedron.defs.hh (1.22),
-	  ConSys.defs.hh (1.83), Determinate.defs.hh (1.36), GenSys.defs.hh
-	  (1.96), Generator.defs.hh (1.87), Matrix.defs.hh (1.58),
-	  NNC_Polyhedron.defs.hh (1.25), Polyhedra_PowerSet.defs.hh (1.22),
-	  Polyhedron.defs.hh (1.236), Row.defs.hh (1.79), SatMatrix.defs.hh
-	  (1.34), conversion.cc (1.53), globals.hh (1.37), minimize.cc
-	  (1.36), simplify.cc (1.35): All parameter lists formatted
-	  according to the new policy in STANDARDS.
-
-2004-08-13 Friday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/.cvsignore (1.6), tests/.cvsignore (1.9):
-	  Updated.
-
-2004-08-13 Friday 15:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.91): Tests for
-	  ppl_new_Polyhedron_from_bounding_box/3 that use the empty box as
-	  input have been added.  Unwanted code removed.
-
-2004-08-13 Friday 14:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.93), interfaces/Prolog/ppl_prolog.icc (1.134): Fixed a
-	  bug in the Prolog interface predicate
-	  ppl_new_Polyhedron_from_bounding_box/3 whereby the predicate was
-	  failing when given an empty bounding box.
-
-2004-08-13 Friday 14:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.90): Improved documentation and
-	  tests.
-
-2004-08-13 Friday 12:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.235), Polyhedron_nonpublic.cc (1.20):
-	  Some parameters renamed so as to be more consistent with the rest
-	  of the code.
-
-2004-08-13 Friday 12:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.80): Updated.
-
-2004-08-13 Friday 12:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/version.hh.in (1.9): Split the brief and detailed parts of a
-	  couple of doxygen comments.
-
-2004-08-13 Friday 12:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.30): Split a few brief comments where
-	  seemingly appropriate.  Started applying the new formatting
-	  policy for doxygen lists of parameters.
-
-2004-08-13 Friday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.12): Drafted a policy for the formatting of
-	  parameter lists in doxygen comments.
-
-2004-08-13 Friday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Makefile.am (1.72): ppl.hh and ppl_install.hh also depend on
-	  version.hh.
-
-2004-08-13 Friday 11:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.92): Fixed a bug in the Prolog interface predicate
-	  ppl_Polyhedron_get_bounding_box/3 whereby a wrong result was
-	  sometimes computed in the case of an empty polyhedron.
-
-2004-08-13 Friday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BoundingBox.inlines.hh (1.12): BoundingBox::set_empty() now
-	  empties all the intervals.
-
-2004-08-13 Friday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: boundingbox1.cc (1.34), boundingbox2.cc (1.19),
-	  boundingbox3.cc (1.10), boundingbox4.cc (1.7): Comments fixed.
-
-2004-08-13 Friday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.200), boundingbox5.cc (1.1): New test for
-	  Polyhedron::shrink_bounding_box().
-
-2004-08-13 Friday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.89): Improved comments and
-	  better sequence of tests for the widening and extrapolation
-	  operators.
-
-2004-08-13 Friday 08:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.37),
-	  devref-print.doxyconf-latex.in (1.37), devref.doxyconf-html.in
-	  (1.38), user-browse.doxyconf-latex.in (1.20),
-	  user-print.doxyconf-latex.in (1.20), user.doxyconf-html.in
-	  (1.22): Use the `:=' operator to PREDEFINE __P: this prevents the
-	  definition to be undefined by `#undef'.
-
-2004-08-13 Friday 08:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.88): Added simpler test defined
-	  by predicate boundingbox_test/0 to show bug in
-	  ppl_Polyhedron_get_bounding_box/3 predicate when the polyhedron
-	  is empty. Test can be run using check_noisy/0.
-
-2004-08-13 Friday 00:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.19), doc/devref-browse.doxyconf-latex.in (1.36),
-	  doc/devref-print.doxyconf-latex.in (1.36),
-	  doc/devref.doxyconf-html.in (1.37): The file statistics.hh has
-	  been removed.
-
-2004-08-13 Friday 00:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.79): Harmonization of methods Polyhedron::throw_*() dealt
-	  with.
-
-2004-08-13 Friday 00:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.cc (1.9), Constraint.cc (1.41),
-	  Constraint.defs.hh (1.87), Constraint.inlines.hh (1.49),
-	  Generator.cc (1.49), Generator.defs.hh (1.86),
-	  Generator.inlines.hh (1.43), Matrix.defs.hh (1.57),
-	  Ph_Status.idefs.hh (1.5), Poly_Con_Relation.defs.hh (1.24),
-	  Poly_Gen_Relation.defs.hh (1.22), Polyhedron.defs.hh (1.234),
-	  Polyhedron.inlines.hh (1.93), Polyhedron_chdims.cc (1.12),
-	  Polyhedron_nonpublic.cc (1.19), Polyhedron_public.cc (1.25),
-	  Polyhedron_widenings.cc (1.21), Row.defs.hh (1.78): The various
-	  methods throw_incompatible_*() made more consistent with each
-	  other, as well as the way they are called.  When closing a
-	  doxygen comment group with @}, made clear the group closed.
-
-2004-08-12 Thursday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.91): Mention that a bug has been fixed in
-	  Polyhedron::poly_difference_assign(const Polyhedron&).
-
-2004-08-12 Thursday 18:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.87), ppl_prolog.icc (1.133),
-	  Ciao/ciao_pl_check.pl (1.4), Ciao/ppl_ciao.pl (1.66),
-	  GNU/ppl_gprolog.pl (1.45), SICStus/ppl_sicstus_sd.cc (1.62),
-	  SWI/ppl_swiprolog.cc (1.87), XSB/ppl_xsb.H (1.32), XSB/ppl_xsb.cc
-	  (1.53), XSB/xsb_pl_check.P (1.9), YAP/ppl_yap.cc (1.80): Added
-	  interface predicate for fold_dimensions().  Added test for this
-	  predicate.
-
-2004-08-12 Thursday 17:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.86): Bugs introduced by adding
-	  full stops corrected.
-
-2004-08-12 Thursday 17:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.24): The patch for poly-difference
-	  operator seems to be the right solution: CHECKME removed.
-
-2004-08-12 Thursday 17:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.133), src/Polyhedron.defs.hh (1.233):
-	  Pedantic correction to the explanation of poly-difference.
-
-2004-08-12 Thursday 17:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.29): Simplified comments about
-	  poly-hull operators.	For the poly-difference, added reference to
-	  appropriate section of the manual.
-
-2004-08-12 Thursday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.2), TODO (1.78): Explained the basics about
-	  configuring GMP and the PPL, as far as selecting the right
-	  version of GPM is concerned.
-
-2004-08-12 Thursday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.77), doc/definitions.dox (1.132): Added a paragraph
-	  explaining that PPL types should not be used polymorphically.
-	  This is at the beginning of section 7 (The library), since it is
-	  specific of the C++ language.
-
-2004-08-12 Thursday 15:14  Abramo Bagnara
-
-	* src/Integer.defs.hh (altnum.3): Fixed typos including new files.
-
-2004-08-12 Thursday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, src/Integer.defs.hh, src/Integer.types.hh
-	  (altnum.[3,2,3]): First go at a setup that allows to test the new
-	  checked code against the old one.  The configure option
-	  `--enable-new-checked-code' does what is expected.
-
-2004-08-12 Thursday 12:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.76), doc/definitions.dox (1.131): Small improvement to
-	  the discussion about the use of iterators and references.
-
-2004-08-12 Thursday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.28): Corrected two doxygen comments:
-	  "const iterator system" --> "const iterator".
-
-2004-08-12 Thursday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.130): Drafted a section providing a
-	  warning about the possible invalidation of references and
-	  iterators.
-
-2004-08-12 Thursday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac, src/Integer.types.hh, src/Makefile.am
-	  (altnum.[2,2,3]): Do not use C types like char, short, long and
-	  long long.  Use the fixed width types int8_t, int16_t, int32_t
-	  and int64_t instead.
-
-2004-08-12 Thursday 10:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/folddims1.cc (1.2): A number of different tests for
-	  fold_dimensions() added.
-
-2004-08-12 Thursday 10:20  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.4): Added preliminary
-	  optimizations.
-
-2004-08-12 Thursday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/checked_float.inlines.hh (altnum.3): Parenthesis moved
-	  outside #if/#endif block.
-
-2004-08-12 Thursday 09:49  Abramo Bagnara
-
-	* src/checked.inlines.hh (altnum.2): Missing file from previous
-	  commit (policy addition).
-
-2004-08-12 Thursday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.23): Added a comment to the
-	  implementation of Polyhedron::poly_difference_assign().
-
-2004-08-12 Thursday 09:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/pl_check.pl (1.85): Given a proper reference to
-	  the work of Gopan et al.  Comments terminated by a full-stop.
-
-2004-08-12 Thursday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.132): Indentation fixed.
-
-2004-08-12 Thursday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.199), expanddim1.cc (1.7), expanddim2.cc
-	  (1.1): Tests that are specific to NNC polyhedra must go in
-	  separate files: expanddim2.cc cut out from expanddim1.cc.
-
-2004-08-12 Thursday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/expanddim1.cc (1.6): Biobliographic reference fixed.
-
-2004-08-12 Thursday 08:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.84): Added another (simple) test
-	  for the poly difference predicate; Added a test for the
-	  expand_dimension predicate based on that in the TACAS04 paper on
-	  page 519.
-
-2004-08-12 Thursday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/expanddim1.cc (1.5): Added test corresponding to example in
-	  the TACAS04 paper on page 519.
-
-2004-08-12 Thursday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/expanddim1.cc (1.4): We always terminate sentences with a
-	  full stop.
-
-2004-08-11 Wednesday 23:49  Abramo Bagnara
-
-	* src/checked_int.inlines.hh (altnum.3): Changed approach to
-	  checked add/sub to avoid undefined behaviour caused by out of
-	  range expressions.
-
-2004-08-11 Wednesday 22:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.83): Test for
-	  ppl_Polyhedron_poly_difference_assign corrected.
-
-2004-08-11 Wednesday 21:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.82), ppl_prolog.icc (1.131),
-	  Ciao/ciao_pl_check.pl (1.3), Ciao/ppl_ciao.pl (1.65),
-	  GNU/ppl_gprolog.pl (1.44), SICStus/ppl_sicstus_sd.cc (1.61),
-	  SWI/ppl_swiprolog.cc (1.86), XSB/ppl_xsb.H (1.31), XSB/ppl_xsb.cc
-	  (1.52), XSB/xsb_pl_check.P (1.8), YAP/ppl_yap.cc (1.79): Prolog
-	  interface predicate added for expand_dimension().  Test for new
-	  predicate added to pl_check.pl.
-
-2004-08-11 Wednesday 21:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/expanddim1.cc (1.3): More tests added for testing
-	  expand_dimensions().
-
-2004-08-11 Wednesday 19:25  Abramo Bagnara
-
-	* src/: Checked_Number.defs.hh, Checked_Number.inlines.hh,
-	  Result_Info.defs.hh, checked.defs.hh, checked_float.cc,
-	  checked_float.defs.hh, checked_float.inlines.hh, checked_int.cc,
-	  checked_int.defs.hh, checked_int.inlines.hh, checked_mpq.cc,
-	  checked_mpq.defs.hh, checked_mpq.inlines.hh, checked_mpz.cc,
-	  checked_mpz.defs.hh, checked_mpz.inlines.hh
-	  (altnum.[2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]): Added policy to
-	  checked functions. Deleted useless files. Confined checked
-	  functions and helper class to Checked namespace.
-
-2004-08-11 Wednesday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.22): Drafted a patch to correct bug
-	  shown by polydifference8.cc.
-
-2004-08-11 Wednesday 18:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.198), bhz03widening3.cc (1.1),
-	  polydifference8.cc (1.1): New test polydifference8.cc (extracted
-	  from bhz03wodening3.cc) shows a bug in method
-	  Polyhedron::poly_difference_assign().
-
-2004-08-11 Wednesday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.197), folddims1.cc (1.1): Use folddims1.cc
-	  for testing Polyhedron::fold_dimensions().
-
-2004-08-11 Wednesday 16:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.21),
-	  Polyhedra_PowerSet.inlines.hh (1.33): Use BHRZ03_Certificate
-	  instead of BHRZ03_info. First step towards generalizing the BHZ03
-	  widening to arbitrary certificates.
-
-2004-08-11 Wednesday 16:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.232), Polyhedron.inlines.hh (1.92),
-	  Polyhedron_widenings.cc (1.20): Got rid of all the stuff related
-	  to Polyhedron::BHRZ03_info, superseded by the class
-	  BHRZ03_Certificate.
-
-2004-08-11 Wednesday 16:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/BHRZ03_Certificate.defs.hh (1.2): The comparison function is
-	  now provided with a brief and a detailed doxygen descriptions.
-
-2004-08-11 Wednesday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/expanddim1.cc (1.2): Two new tests sketched.
-
-2004-08-11 Wednesday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.11): Fixed a bug in
-	  Polyhedron::expand_dimension().  Polyhedron::fold_dimensions()
-	  drafted.
-
-2004-08-11 Wednesday 12:03  Abramo Bagnara
-
-	* src/: Checked_Number.cc, Checked_Number.defs.hh,
-	  Checked_Number.inlines.hh, Checked_Number.types.hh
-	  (altnum.[1,1,1,1]): Replacement for Checked_Integer and more
-
-2004-08-11 Wednesday 12:03  Abramo Bagnara
-
-	* src/float.types.hh (altnum.1): Native float type declaration
-
-2004-08-11 Wednesday 12:02  Abramo Bagnara
-
-	* src/Result_Info.defs.hh (altnum.1): Result info for checked
-	  functions
-
-2004-08-11 Wednesday 12:02  Abramo Bagnara
-
-	* src/: checked.defs.hh, checked.inlines.hh, checked_float.cc,
-	  checked_float.defs.hh, checked_float.inlines.hh, checked_int.cc,
-	  checked_int.defs.hh, checked_int.inlines.hh, checked_mpq.cc,
-	  checked_mpq.defs.hh, checked_mpq.inlines.hh, checked_mpz.cc,
-	  checked_mpz.defs.hh, checked_mpz.inlines.hh
-	  (altnum.[1,1,1,1,1,1,1,1,1,1,1,1,1,1]): Checked functions for
-	  int, float, mpz and mpq
-
-2004-08-11 Wednesday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.10), tests/Makefile.am (1.196),
-	  tests/expanddim1.cc (1.1): Added a prototype implementation of
-	  Polyhedron::expand_dimension(Variable var, dimension_type m).
-
-2004-08-09 Monday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.18): Started revision for the PPL 0.6 release.
-
-2004-08-09 Monday 22:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.75): Section on portability migrated to README.configure.
-	  Section on constructions on polyhedra revised.
-
-2004-08-09 Monday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README.configure (1.1): New file describing the PPL-specific
-	  aspects of configuration, compilation and installation of the
-	  library.
-
-2004-08-09 Monday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: Makefile.am (1.26), fdl.txt (1.1), gpl.txt (1.1): We now
-	  distribute the GPL and the FDL also in text format (so as not to
-	  assume that users have Doxygen and/or LaTeX and/or a
-	  PostScript/PDF viewer).
-
-2004-08-09 Monday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Init.cc (1.11), Makefile.am (1.71), Polyhedron_widenings.cc
-	  (1.19), statistics.hh (1.4): Dealt with all the stuff needed to
-	  collect statistics about the BHRZ03 widening operator.
-
-2004-08-09 Monday 10:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.74), src/Polyhedron.defs.hh (1.231),
-	  src/Polyhedron.inlines.hh (1.91): In
-	  Polyhedron::map_dimensions(const PartialFunction&), the method
-	  PartialFunction::maps() is now called at most `n' times, where
-	  `n' is the dimension of the vector space enclosing the
-	  polyhedron.
-
-2004-08-09 Monday 08:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.90), TODO (1.73), interfaces/Prolog/ppl_prolog.icc
-	  (1.130), src/Polyhedra_PowerSet.inlines.hh (1.32),
-	  src/PowerSet.inlines.hh (1.56), src/conversion.cc (1.52),
-	  src/globals.cc (1.14), src/globals.hh (1.36), tests/watchdog1.cc
-	  (1.20): The variable `abandon_exponential_computations' has been
-	  renamed `abandon_expensive_computations'.  Its documentation has
-	  also been revised.
-
-2004-08-08 Sunday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.18): Two FIXMEs dealt with.
-
-2004-08-08 Sunday 19:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.89), demos/ppl_lcdd/ppl_lcdd.cc (1.19), src/version.hh.in
-	  (1.8): New macro PPL_VERSION expands to the version string of the
-	  library.
-
-2004-08-08 Sunday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.88), Watchdog/Makefile.am (1.9), Watchdog/Watchdog.cc
-	  (1.17), Watchdog/Watchdog.defs.hh (1.13),
-	  Watchdog/Watchdog.inlines.hh (1.11),
-	  interfaces/Prolog/ppl_prolog.icc (1.129), tests/watchdog1.cc
-	  (1.19): Watchdog library completely reorganized.  Deadlock bug
-	  fixed in the process.
-
-2004-08-08 Sunday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/examples/Makefile.am (1.2): Distribute the
-	  examples.
-
-2004-08-08 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.types.hh (1.11): Namespace closing brace
-	  commented.
-
-2004-08-08 Sunday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: Handler.defs.hh (1.1), Handler.inlines.hh (1.1),
-	  Handler.types.hh (1.1): Classes for handlers of the watchdog
-	  events.
-
-2004-08-08 Sunday 18:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.129): Corrected a typo.
-
-2004-08-08 Sunday 12:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.230): Documentation on map_dimensions
-	  wrt the specification of pfunc revised.
-
-2004-08-08 Sunday 10:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.229): Added to documentation of
-	  map_dimensions, in the specification of the partial function
-	  pfunc/2, an indication of the number of times the different
-	  methods will be called.
-
-2004-08-07 Saturday 19:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.19), Watchdog/ltmain.sh (1.8): Updated from Libtool
-	  1.5.8.
-
-2004-08-07 Saturday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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>
-
-	* Watchdog/: 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>
-
-	* Watchdog/: 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>
-
-	* Watchdog/: 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>
-
-	* Watchdog/: 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>
-
-	* Watchdog/EList.defs.hh (1.2): Class comment revised.
-
-2004-08-06 Friday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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>
-
-	* Watchdog/: 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-05 Thursday 08:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.72): ppl_Polyhedron_maximize,
-	  ppl_Polyhedron_maximize_with_point, and ppl_Polyhedron_minimize,
-	  ppl_Polyhedron_minimize_with_point have been added to the Prolog
-	  interface with corresponding additions to the documentation and
-	  pl_check.pl.	Todo item on this removed.
-
-2004-08-05 Thursday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh,
-	  Checked_Integer.types.hh, GMP_Integer.defs.hh,
-	  GMP_Integer.inlines.hh, GMP_Integer.types.hh,
-	  Integer_traits_template.hh, Native_Integer.defs.hh,
-	  Native_Integer.inlines.hh, Native_Integer.types.hh
-	  (altnum.[3,3,2,2,2,2,2,3,3,2]): Copyright years updated.
-
-2004-08-04 Wednesday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* depcomp (1.8), install-sh (1.9), Watchdog/depcomp (1.6),
-	  Watchdog/install-sh (1.6): Updated from Automake 1.9.
-
-2004-08-04 Wednesday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.87), configure.ac (1.115), demos/Makefile.am (1.3),
-	  demos/ppl_lcdd/Makefile.am (1.2),
-	  demos/ppl_lcdd/examples/.cvsignore (1.1),
-	  demos/ppl_lcdd/examples/Makefile.am (1.1),
-	  demos/ppl_lpsol/.cvsignore (1.1), demos/ppl_lpsol/Makefile.am
-	  (1.1), demos/ppl_lpsol/expected (1.1),
-	  demos/ppl_lpsol/ppl_lpsol.c (1.1),
-	  demos/ppl_lpsol/examples/.cvsignore (1.1),
-	  demos/ppl_lpsol/examples/Makefile.am (1.1),
-	  demos/ppl_lpsol/examples/afiro.mps (1.1),
-	  demos/ppl_lpsol/examples/bgprtr.mps (1.1),
-	  demos/ppl_lpsol/examples/ex1.mps (1.1),
-	  demos/ppl_lpsol/examples/sample.mps (1.1),
-	  demos/ppl_lpsol/examples/unboundedmin.mps (1.1),
-	  interfaces/C/Makefile.am (1.17): All demos are now under the
-	  `demos' directory.
-
-2004-08-04 Wednesday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.28): The source
-	  `fake_mail.pl' has gone long time ago.
-
-2004-08-04 Wednesday 20:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.23), config.sub (1.22), Watchdog/config.guess
-	  (1.7), Watchdog/config.sub (1.7): Updated.
-
-2004-08-04 Wednesday 20:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.71): The Polyhedron::*recycled*() methods do not make
-	  sense for the Prolog interface.
-
-2004-08-04 Wednesday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: adddimensions11.cc, dualhypercubes.cc (altnum.[1,1]): The
-	  main program must catch exceptions.
-
-2004-08-04 Wednesday 16:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.70): Some things to do will only be done in PPL 0.7 or
-	  later version.
-
-2004-08-04 Wednesday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Interval.defs.hh, Interval.inlines.hh (altnum.[2,2]):
-	  Returning by const reference when appropriate. (numerator and
-	  denominator).
-
-2004-08-04 Wednesday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Checked_Integer.defs.hh, Checked_Integer.inlines.hh,
-	  Native_Integer.defs.hh, Native_Integer.inlines.hh
-	  (altnum.[2,2,2,2]): Use Integer_macros.hh to declare and define
-	  all the required functions.
-
-2004-08-04 Wednesday 15:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (altnum.2): Wrongly-named variable references
-	  fixed.
-
-2004-08-04 Wednesday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Integer_macros.hh, Makefile.am (altnum.[1,2]): Helper
-	  macros for the implementation of Native_Integer and
-	  Checked_Integer.
-
-2004-08-04 Wednesday 15:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (altnum.1): Temporarily disable the `interfaces'
-	  directory.
-
-2004-08-04 Wednesday 13:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS, configure.ac, src/BoundingBox.cc,
-	  src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh,
-	  src/Checked_Integer.defs.hh, src/Checked_Integer.inlines.hh,
-	  src/Checked_Integer.types.hh, src/ConSys.cc, src/ConSys.defs.hh,
-	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
-	  src/GMP_Integer.defs.hh, src/GMP_Integer.inlines.hh,
-	  src/GMP_Integer.types.hh, src/GenSys.cc, src/GenSys.defs.hh,
-	  src/Generator.cc, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/Integer.defs.hh,
-	  src/Integer.types.hh, src/Integer_traits_template.hh,
-	  src/Interval.defs.hh, src/Interval.inlines.hh,
-	  src/LinExpression.cc, src/LinExpression.defs.hh,
-	  src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc,
-	  src/Native_Integer.defs.hh, src/Native_Integer.inlines.hh,
-	  src/Native_Integer.types.hh, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Polyhedron_nonpublic.cc,
-	  src/Polyhedron_public.cc, src/Polyhedron_widenings.cc,
-	  src/Row.cc, src/Row.defs.hh, src/Row.inlines.hh,
-	  src/conversion.cc, src/globals.cc, src/globals.hh, tests/BBox.cc,
-	  tests/BBox.hh, tests/Makefile.am
-	  (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,1,1,1,1,1,1,1,1,1,1]):
-	  Imported, with changes, from the `altnum' branch of the students'
-	  repository.  As the Purenum project seems dead, support for
-	  Purenum has been evicted.  Notice that both native and checked
-	  integers do not currently work due to the absence of some
-	  relational operators.
-
-2004-07-15 Thursday 18:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.18): Option `-c' (`--check')
-	  implemented.
-
-2004-07-15 Thursday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/examples/: 1d.ine (1.1), 1da.ine (1.1), cp4.ext
-	  (1.1), cp4.ine (1.1), cp5.ext (1.1), cp5.ine (1.1), cp6.ext
-	  (1.1), cp6.ine (1.1), cp7.ext (1.1), cross4.ine (1.1), cube.ext
-	  (1.1), cube.ine (1.1), cubetop.ine (1.1), cut16_11.ext (1.1),
-	  cut32_16.ext (1.1), cyc.ine (1.1), cyclic17_8.ine (1.1),
-	  cyclic25_13.ext (1.1), diamond.ine (1.1), in0.ine (1.1), in1.ine
-	  (1.1), in2.ine (1.1), in3.ine (1.1), in4.ine (1.1), in5.ine
-	  (1.1), in6.ine (1.1), in7.ine (1.1), kq20_11_m.ine (1.1),
-	  metric40_11.ine (1.1), metric80_16.ine (1.1), mit.ine (1.1),
-	  mit288-281.ine (1.1), mit31-20.ine (1.1), mit41-16.ine (1.1),
-	  mit708-9.ine (1.1), mit71-61.ine (1.1), mit90-86.ine (1.1),
-	  mp5.ext (1.1), mp5.ine (1.1), mp5a.ine (1.1), mp6.ine (1.1),
-	  trunc10.ine (1.1), trunc7.ine (1.1), tsp5.ext (1.1), tsp5.ine
-	  (1.1): Borrowed, with some minor changes, from lrslib 042.
-
-2004-07-15 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/examples/: allzero.ine (1.1), ccc4.ext (1.1),
-	  ccc5.ext (1.1), ccc6.ext (1.1), ccp4.ext (1.1), ccp5.ext (1.1),
-	  ccp6.ext (1.1), cross10.ine (1.1), cross12.ine (1.1), cross6.ine
-	  (1.1), cross8.ine (1.1), cube10.ine (1.1), cube12.ine (1.1),
-	  cube3.ine (1.1), cube6.ine (1.1), cube8.ine (1.1), cubocta.ine
-	  (1.1), cyclic10-4.ext (1.1), cyclic12-6.ext (1.1), cyclic14-8.ext
-	  (1.1), cyclic16-10.ext (1.1), dodeca_m.ine (1.1), ex1.ine (1.1),
-	  grcubocta.ine (1.1), hexocta.ine (1.1), icododeca_m.ine (1.1),
-	  infeas.ine (1.1), integralpoints.ine (1.1), irbox20-4.ext (1.1),
-	  irbox200-4.ext (1.1), kkd18_4.ine (1.1), kkd27_5.ine (1.1),
-	  kkd38_6.ine (1.1), nonfull.ine (1.1), origin.ine (1.1),
-	  prodst62.ext (1.1), project1_m.ine (1.1), project1res.ine (1.1),
-	  project2_m.ine (1.1), project2res.ine (1.1), rcubocta.ine (1.1),
-	  redcheck.ext (1.1), reg24-5.ext (1.1), reg24-5.ine (1.1),
-	  reg600-5_m.ext (1.1), rhomtria_m.ine (1.1), sample.ine (1.1),
-	  sampleh1.ine (1.1), sampleh2.ine (1.1), sampleh3.ine (1.1),
-	  sampleh4.ine (1.1), sampleh5.ine (1.1), sampleh6.ine (1.1),
-	  sampleh7.ine (1.1), sampleh8.ine (1.1), samplev1.ext (1.1),
-	  samplev2.ext (1.1), samplev3.ext (1.1): Borrowed, with some minor
-	  changes, from cddlib 093c.
-
-2004-07-11 Sunday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.17): Append to the output file,
-	  instead of truncating it.
-
-2004-07-11 Sunday 15:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.16): Error messages fixed.
-
-2004-07-10 Saturday 19:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.15): Fixed the handling of equality
-	  constraints in read_polyhedron().
-
-2004-07-10 Saturday 17:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.14): Corrected input and output of
-	  H-representations (a couple of sign errors).	When outputting
-	  rational coefficients, print 0 instead of 0/<denominator>.
-
-2004-07-10 Saturday 16:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.13): Bug fixed in function
-	  normalize().
-
-2004-07-10 Saturday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.12): Initial implementation of the
-	  `project' command (which seems to be unimplemented in the real
-	  lcdd).
-
-2004-07-10 Saturday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.11): Started adding a new option to
-	  check the result.  Bugs fixed in set_input() and set_output().
-	  Reject the `linearity' command when it does not appear before
-	  `begin'.
-
-2004-07-10 Saturday 01:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.10): Output made watertight.
-
-2004-07-09 Friday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.9): Several bugs fixed.  Formal
-	  parameters tightened.
-
-2004-07-09 Friday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.8): Obey the `-o' option.
-
-2004-07-09 Friday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.7): Make sure every non-empty
-	  generator system we create has at least one point.
-
-2004-07-09 Friday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.6): Input made more robust.
-
-2004-07-09 Friday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.5): Make sure points are created
-	  with the right denominator.
-
-2004-07-09 Friday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.4): Bug fixed in
-	  write_polyhedron().
-
-2004-07-09 Friday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.3): Input/output rewritten.
-
-2004-07-09 Friday 09:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.81): Some reorganisation of test
-	  predicates to match order of tests.  Improved handling of
-	  deletion of polyhedra in the exception tests.
-
-2004-07-09 Friday 08:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/ppl_lcdd/ppl_lcdd.cc (1.2): Started drafting the output
-	  function.  Several other improvements.
-
-2004-07-09 Friday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/.cvsignore (1.3): Put under CVS control.
-
-2004-07-09 Friday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.114), demos/.cvsignore (1.2), demos/Makefile.am
-	  (1.2), demos/ppl_lcdd.cc (1.2), demos/ppl_lcdd/.cvsignore (1.1),
-	  demos/ppl_lcdd/Makefile.am (1.1), demos/ppl_lcdd/ppl_lcdd.cc
-	  (1.1): The `ppl_lcdd' demo has now its own subdirectory.
-
-2004-07-08 Thursday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Watchdog.cc (1.16): Spacing fixed.
-
-2004-07-08 Thursday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.113): Added checks for getopt.h and signal.h.
-	  Added demos/Makefile to the output list.
-
-2004-07-08 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.24): Added `demos' to `SUBDIR'.
-
-2004-07-08 Thursday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* demos/: .cvsignore (1.1), Makefile.am (1.1), ppl_lcdd.cc (1.1):
-	  `ppl_lcdd' is a sort of clone of the cddlib test program `lcdd'.
-
-2004-07-08 Thursday 16:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.109): Brief
-	  descriptions of the new interface predicates are added.
-
-2004-07-08 Thursday 12:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.108): New Prolog
-	  interface predicates recently added have been added to the PPL
-	  Predicate List in the documentation for this interface.
-
-2004-05-26 Wednesday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.228): Fixed examples involving
-	  ConSys::insert() and GenSys::insert().
-
-2004-05-26 Wednesday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.86): Mention the documentation improvements.
-
-2004-05-21 Friday 22:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.112): Tests reordered so that an invalid
-	  combination of compiler options is detected earlier and diagnosed
-	  in an intelligible way.
-
-2004-05-09 Sunday 17:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Watchdog.cc (1.15): Anachronisms removed.
-
-2004-05-09 Sunday 14:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.11), src/Polyhedra_PowerSet.inlines.hh (1.31),
-	  src/Polyhedron_public.cc (1.21), src/Polyhedron_widenings.cc
-	  (1.17), src/simplify.cc (1.34), tests/bhrz03widening14.cc (1.5),
-	  tests/bhrz03widening15.cc (1.7): All other things being equal,
-	  always prefer preincrement and predecrement to postincrement and
-	  postdecrement.
-
-2004-05-09 Sunday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_chdims.cc (1.9): Redundant test avoided.
-
-2004-05-08 Saturday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.cc (1.68), Matrix.defs.hh (1.56),
-	  Polyhedron.inlines.hh (1.90): New declaration and implementation
-	  of Matrix::permute_columns().  Implementation of
-	  Polyhedron::map_dimensions() improved.
-
-2004-05-08 Saturday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.21): Missing dependency
-	  added.
-
-2004-05-07 Friday 21:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_pl_check.P (1.7): Code reordered.
-
-2004-05-07 Friday 21:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.51):
-	  Integer_to_integer_term() fixed.
-
-2004-05-07 Friday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/.cvsignore (1.5): Updated.
-
-2004-05-07 Friday 19:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_pl_check.P (1.6): Small improvement to
-	  a comment.
-
-2004-05-07 Friday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_pl_check.P (1.5): Kludge to to test the
-	  Prolog interface exceptions when converting PPL integers to XSB
-	  Prolog integer terms.
-
-2004-05-07 Friday 19:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BHRZ03_Certificate.cc (1.1), BHRZ03_Certificate.defs.hh
-	  (1.1), BHRZ03_Certificate.inlines.hh (1.1),
-	  BHRZ03_Certificate.types.hh (1.1): Put under CVS control.
-
-2004-05-07 Friday 19:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Makefile.am (1.70), Polyhedron.defs.hh (1.227),
-	  Polyhedron_widenings.cc (1.16): Changed to use the new
-	  BHRZ03_Certificate class.  Current implementation for NNC
-	  polyhedra is an inefficient kludge, but should be correct. It
-	  will become efficient as soon as we implement lazy procedures for
-	  eps-minimization of NNC polyhedra.
-
-2004-05-07 Friday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.20): Avoid code
-	  duplication: Integer_to_integer_term() now uses
-	  Prolog_put_long().
-
-2004-05-07 Friday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/.cvsignore (1.5), SICStus/.cvsignore
-	  (1.5), SWI/.cvsignore (1.5), XSB/.cvsignore (1.4), YAP/.cvsignore
-	  (1.5): Updated.
-
-2004-05-07 Friday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/fake_main.pl (1.2): This is not necessary
-	  with new versions of Ciao Prolog.
-
-2004-05-07 Friday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.27): The previous change
-	  did not take into account that `ciaoc' always writes the object
-	  file in the same directory where the sources reside.	Copies
-	  restored, but now the copies are written in the right place.
-
-2004-05-07 Friday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/.cvsignore (1.3), src/.cvsignore (1.7),
-	  tests/.cvsignore (1.8): Updated.
-
-2004-05-07 Friday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: Makefile.am (1.26), ciao_clpq.pl (1.9),
-	  ciao_clpq2.pl (1.4), ciao_pl_check.pl (1.2): New versions of Ciao
-	  Prolog no longer require the sources to be copied.
-
-2004-05-07 Friday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/Makefile.am (1.25), SICStus/Makefile.am
-	  (1.41), SWI/Makefile.am (1.34): Clean things up after `make
-	  check'.
-
-2004-05-07 Friday 10:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.80): Additional tests for system
-	  dependent exceptions when the integer values are max, max+1, min,
-	  or min-1.
-
-2004-05-07 Friday 10:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.79): More and improved tests for
-	  exceptions.  Code better commented and additional predicates for
-	  i/o etc reorganised.
-
-2004-05-07 Friday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/xsb_pl_check.P (1.4): Corrected typo.
-
-2004-05-07 Friday 10:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/xsb_pl_check.P (1.3): Added a definition
-	  for current_prolog_flag/3.
-
-2004-05-07 Friday 09:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.19):
-	  Integer_to_integer_term() fixed.
-
-2004-05-06 Thursday 10:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.78): More tests for ppl Prolog
-	  interface exceptions added.
-
-2004-05-05 Wednesday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: Makefile.am (1.33), swi_pl_check.pl
-	  (1.1): Use also pl_check.pl to test the SWI-Prolog interface.
-
-2004-05-05 Wednesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (1.40), sp_pl_check.pl
-	  (1.1): Use also pl_check.pl to test the SICStus-Prolog interface.
-
-2004-05-05 Wednesday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: Makefile.am (1.24), ciao_pl_check.pl
-	  (1.1): Use also pl_check.pl to test the Ciao-Prolog interface.
-
-2004-05-05 Wednesday 10:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.77): Comment added explaining
-	  new code for exceptions tests
-
-2004-05-05 Wednesday 10:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.76): New tests for checking some
-	  possible exceptions in the C++ and Prolog interface added.
-
-2004-05-04 Tuesday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.226): Documentation for
-	  Polyhedron::expand_dimension() improved.  New method void
-	  Polyhedron::void fold_dimensions(const Variables_Set&
-	  to_be_folded, Variable var) declared: documentation still to be
-	  written.
-
-2004-05-04 Tuesday 21:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.128), src/Polyhedron.defs.hh (1.225): New
-	  declaration and documentation for void
-	  Polyhedron::expand_dimension(Variable var, dimension_type m).
-
-2004-05-04 Tuesday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.127): Added a section on the new
-	  `expand_dimension' operation.
-
-2004-05-04 Tuesday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.126): Additions to the bibliography.
-
-2004-05-04 Tuesday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.125): Definition of `map_dimensions'
-	  improved.
-
-2004-04-30 Friday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh (1.11), ppl_prolog.icc (1.128),
-	  Ciao/ppl_ciao.cc (1.23), GNU/ppl_gprolog_sd.cc (1.18),
-	  SICStus/ppl_sicstus_sd.cc (1.60), SWI/ppl_swiprolog.cc (1.85),
-	  XSB/ppl_xsb.cc (1.50), YAP/ppl_yap.cc (1.78): Deal with different
-	  representations for integers in Prolog and C++ code.
-
-2004-04-30 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.104): Handle std::overflow_error.
-
-2004-04-30 Friday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.103), ppl_c.h.in (1.27): Missing
-	  try/catch blocks added.  Interface changed for
-	  ppl_version_major(), ppl_version_minor(), ppl_version_revision(),
-	  ppl_version_beta(), ppl_version() and ppl_banner().
-
-2004-04-30 Friday 16:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.102): CATCH_ALL fixed: was translating
-	  std::exception to PPL_ERROR_INTERNAL_ERROR instead of
-	  PPL_ERROR_UNKNOWN_STANDARD_EXCEPTION.
-
-2004-04-27 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.111), interfaces/OCaml/.cvsignore (1.3),
-	  interfaces/OCaml/Makefile.am (1.8), interfaces/OCaml/gmp.h (1.2),
-	  interfaces/OCaml/ppl_ocaml_c.swg (1.3): Our OCaml interface will
-	  not be based on SWIG.
-
-2004-04-26 Monday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_pl_check.pl (1.5): Previous change
-	  reverted.
-
-2004-04-26 Monday 22:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/YAP/yap_pl_check.pl (1.4): Paths to pl_check.pl
-	  and yap_pl_check.pl need to allow for working in a separate build
-	  directory.
-
-2004-04-26 Monday 22:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.75): Bug fixed in
-	  "format_banner" code.  Definitions of "make_noisy" and
-	  "make_quiet" corrected.  Added a new top-level predicate
-	  "check_noisy/0" since "check_all" is now forced to be quiet.	A
-	  redundant temporary test removed.
-
-2004-04-26 Monday 22:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.127): Removed unwanted line
-	  in ..._relations_with_constraints procedure.	Modified
-	  .._relations_with_generator procedure to be in line with changes
-	  to ..._relations_with_constraints procedure.
-
-2004-04-26 Monday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.126): Do not call any
-	  Prolog_put_*() function on a destination term that does not
-	  represent a free variable.
-
-2004-04-26 Monday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.20): Infrastructure for
-	  automatic testing with pl_check.pl completed.
-
-2004-04-26 Monday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_pl_check.P (1.2): Initial goal fixed.
-
-2004-04-26 Monday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: Makefile.am (1.19), xsb_pl_check.P (1.1):
-	  Use also pl_check.pl when testing the XSB interface.
-
-2004-04-26 Monday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.49): Some assertion fixed: we
-	  cannot assume XSB's TRUE evaluates to C++'s true.
-
-2004-04-26 Monday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/pl_check.pl (1.74): A predicate is either
-	  static or dynamic (noisy/1).	The predicate retractall/1 is
-	  non-standard: do not use it.
-
-2004-04-25 Sunday 22:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh (1.10), ppl_prolog.icc (1.125):
-	  New error handling code completed.
-
-2004-04-25 Sunday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* depcomp (1.7), install-sh (1.8), mkinstalldirs (1.7),
-	  Watchdog/depcomp (1.5), Watchdog/install-sh (1.5),
-	  Watchdog/mkinstalldirs (1.3): Updated from Automake 1.8.4.
-
-2004-04-25 Sunday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.124): Previous changes
-	  reverted.  Rewritten a good part of the error handling code.
-	  Several bugs fixed.
-
-2004-04-25 Sunday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/exceptions.hh (1.9): Exception classes revised.
-
-2004-04-25 Sunday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.84): Prolog_put_long()
-	  and Integer_to_integer_term() implemented properly.  Added
-	  Prolog_put_ulong().
-
-2004-04-25 Sunday 22:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.59): The wrong
-	  exception was thrown by integer_term_to_Integer(): fixed.
-
-2004-04-25 Sunday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sicstus_cfli.ic (1.8): Added
-	  Prolog_put_ulong().
-
-2004-04-25 Sunday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.48): Added a temporary, buggy
-	  version of Prolog_put_ulong().  All the XSB c2p_*() functions
-	  require that the second argument is an unbound variable:
-	  assertions added to check that we abide by this rule.
-
-2004-04-25 Sunday 21:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.22),
-	  GNU/ppl_gprolog_sd.cc (1.17), YAP/ppl_yap.cc (1.77): Added a
-	  temporary, buggy version of Prolog_put_ulong().
-
-2004-04-25 Sunday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/pl_check.pl (1.73): Previous changes reverted.
-
-2004-04-25 Sunday 11:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.72), ppl_prolog.icc (1.123):
-	  Bug in an interface predicate
-	  (ppl_Polyhedron_relation_with_constraints) that only caused an
-	  error with the XSB interface now fixed.  pl_check revised to
-	  avoid warning messages with XSB compiler.
-
-2004-04-24 Saturday 23:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.83): SWI Prolog does
-	  not support unlimited precision integers.
-
-2004-04-24 Saturday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/memory1.cc (1.21): If GMP does not support exceptions this
-	  test is pointless.
-
-2004-04-24 Saturday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.69): Flags for ICC changed.
-
-2004-04-24 Saturday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.34): Use the C++ compiler to
-	  compile and link.  Do not mention -lstcd++.
-
-2004-04-24 Saturday 10:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.16): Work around
-	  gprolog.h namespace pollution.
-
-2004-04-24 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.122): Include
-	  "max_space_dimension.hh".
-
-2004-04-24 Saturday 10:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.101): Include "max_space_dimension.hh".
-
-2004-04-24 Saturday 10:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.85): Explain the changes concerning the
-	  max_space_dimension() functions.
-
-2004-04-24 Saturday 10:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.inlines.hh (1.16), max_space_dimension.hh
-	  (1.2): C_Polyhedron::max_space_dimension() fixed.
-
-2004-04-24 Saturday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.defs.hh (1.95), GenSys.inlines.hh (1.33): New
-	  function GenSys::max_space_dimension().
-
-2004-04-24 Saturday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.82), ConSys.inlines.hh (1.32): New
-	  function ConSys::max_space_dimension().
-
-2004-04-24 Saturday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.inlines.hh (1.44): Spurious newline removed.
-
-2004-04-24 Saturday 09:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.55), Matrix.inlines.hh (1.37): New
-	  functions Matrix::max_num_rows() and Matrix::max_num_columns().
-
-2004-04-24 Saturday 09:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.defs.hh (1.77), Row.inlines.hh (1.43): New functions
-	  Row::Impl::max_size() and Row::max_size().
-
-2004-04-24 Saturday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.21), C_Polyhedron.inlines.hh
-	  (1.15), Makefile.am (1.69), NNC_Polyhedron.defs.hh (1.24),
-	  NNC_Polyhedron.inlines.hh (1.17), Polyhedra_PowerSet.defs.hh
-	  (1.20), Polyhedra_PowerSet.inlines.hh (1.30), Polyhedron.defs.hh
-	  (1.224), algorithms.hh (1.27), globals.hh (1.35),
-	  max_space_dimension.hh (1.1): The function
-	  Parma_Polyhedra_Library::max_space_dimension() has been given a
-	  new semantics and destiny: it returns the maximum space dimension
-	  that _all_ the abstractions provided by the library can handle.
-	  Each individual abstraction provides its versions of this
-	  function.  Thus, e.g., NNC_Polyhedron::max_space_dimension()
-	  gives the maximum space dimensions an NNC_Polyhedron can handle.
-
-2004-04-24 Saturday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.inlines.hh (1.12), Topology.hh (1.9),
-	  initializer.hh (1.8): Comment added.
-
-2004-04-24 Saturday 00:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.32): Pass the C and C++
-	  compilers to plld.
-
-2004-04-23 Friday 18:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.71), ppl_prolog.icc (1.121),
-	  Ciao/ppl_ciao.pl (1.64), GNU/ppl_gprolog.pl (1.43),
-	  SICStus/ppl_sicstus_sd.cc (1.58), SWI/ppl_swiprolog.cc (1.82),
-	  XSB/ppl_xsb.H (1.30), XSB/ppl_xsb.cc (1.47), YAP/ppl_yap.cc
-	  (1.76): Minimize and maximize with generator point predicates
-	  added.
-
-2004-04-23 Friday 16:10  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.63): Interface definitions
-	  for the banner predicate corrected.
-
-2004-04-23 Friday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.46): Temporary, kludgy
-	  definitions for `bool Prolog_has_unbounded_integers' and `long
-	  Prolog_max_integer'.	Comments added.
-
-2004-04-23 Friday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.21),
-	  GNU/ppl_gprolog_sd.cc (1.15), SICStus/ppl_sicstus_sd.cc (1.57),
-	  SWI/ppl_swiprolog.cc (1.81), YAP/ppl_yap.cc (1.75): Define `bool
-	  Prolog_has_unbounded_integers' and `long Prolog_max_integer'.
-	  Comments added.
-
-2004-04-23 Friday 11:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.70), ppl_prolog.icc (1.120),
-	  Ciao/ppl_ciao.pl (1.62), GNU/ppl_gprolog.pl (1.42),
-	  SICStus/ppl_sicstus_sd.cc (1.56), SWI/ppl_swiprolog.cc (1.80),
-	  XSB/ppl_xsb.H (1.29), XSB/ppl_xsb.cc (1.45), YAP/ppl_yap.cc
-	  (1.74): ppl_banner added. pl_check revised so that check_all
-	  calls for checks on all recently added predicates.
-
-2004-04-23 Friday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.119), Ciao/Makefile.am
-	  (1.23), GNU/Makefile.am (1.33), SICStus/Makefile.am (1.39),
-	  SWI/Makefile.am (1.31), XSB/Makefile.am (1.18), YAP/Makefile.am
-	  (1.25): Follow our programming conventions concerning code
-	  formatting.  Do not include "version.hh.in": include "version.hh"
-	  instead.
-
-2004-04-23 Friday 07:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.61): Ciao interface for the
-	  additional ppl predicates corrected.
-
-2004-04-22 Thursday 12:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.69), ppl_prolog.icc (1.118),
-	  Ciao/ppl_ciao.pl (1.60), GNU/ppl_gprolog.pl (1.41),
-	  SICStus/ppl_sicstus_sd.cc (1.55), SWI/ppl_swiprolog.cc (1.79),
-	  XSB/ppl_xsb.H (1.28), XSB/ppl_xsb.cc (1.44), YAP/ppl_yap.cc
-	  (1.73): Added version predicates and maximum dimension predicate.
-
-2004-04-22 Thursday 07:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.68), ppl_prolog.icc (1.117),
-	  Ciao/ppl_ciao.pl (1.59), GNU/ppl_gprolog.pl (1.40),
-	  SICStus/ppl_sicstus_sd.cc (1.54), SWI/ppl_swiprolog.cc (1.78),
-	  XSB/ppl_xsb.H (1.27), XSB/ppl_xsb.cc (1.43), YAP/ppl_yap.cc
-	  (1.72): Added predicates ppl_Polyhedron_maximize/5 and
-	  ppl_Polyhedron_minimize/5.  A second version of the same
-	  predicates with 6 arguments is still needed.
-
-2004-04-21 Wednesday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: exceptions1.cc (1.37), exceptions2.cc (1.31): We were not
-	  flagging as errors the cases where an exception that must be
-	  thrown is not thrown.
-
-2004-04-21 Wednesday 14:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.68): Remember to explain how to use the Intel C/C++
-	  compiler.
-
-2004-04-21 Wednesday 14:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.195), exceptions3.cc (1.1): New test
-	  program: this shows that we are not checking against attempts of
-	  building polyhedra with a dimension greater than
-	  max_space_dimension() (which results in violated assertions and
-	  who knows what other nasty things).
-
-2004-04-21 Wednesday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: exceptions1.cc (1.36), exceptions2.cc (1.30): Comment
-	  improved.
-
-2004-04-21 Wednesday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: bgp99extrapolation1.cc (1.3), bhz03widening1.cc (1.4),
-	  bhz03widening2.cc (1.4), dualhypercubes.cc (1.4): Avoid defining
-	  things in the global namespace.
-
-2004-04-21 Wednesday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.26): The function check_containment(const
-	  PH&, const Polyhedra_PowerSet<PH>&s) is now declared before being
-	  defined.
-
-2004-04-21 Wednesday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.100): Use the `%u' conversion specifier
-	  (not `%d') for the conversion of an object of type
-	  ppl_dimension_type.
-
-2004-04-21 Wednesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.26): Unused SWIG stuff removed.
-
-2004-04-19 Monday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.67): Fixed Matrix::permute_columns().
-
-2004-04-19 Monday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.89): Avoid useless parentheses.
-
-2004-04-19 Monday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.194), mapdim3.cc (1.1): New test for
-	  Polyhedron::map_dimensions().
-
-2004-04-19 Monday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.88): Comment improved.
-
-2004-04-19 Monday 08:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/mapdim2.cc (1.2): Add some variety in the tested
-	  conditions.
-
-2004-04-19 Monday 08:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.84), src/Polyhedron.inlines.hh (1.87): The method
-	  Polyhedron::map_dimensions(const PartialFunction& pfunc) has been
-	  significantly optimized for the case when `pfunc' is a
-	  permutation.	A simple "renaming" of the dimensions is now
-	  extremely cheap.
-
-2004-04-18 Sunday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.cc (1.66), Matrix.defs.hh (1.54): Added
-	  Matrix::permute_columns().
-
-2004-04-18 Sunday 13:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.18): Spacing fixes in comments.
-
-2004-04-18 Sunday 13:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.20): Two messages fixed in
-	  Polyhedron::OK().
-
-2004-04-17 Saturday 23:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.65): Matrix::swap_columns() improved.  Be
-	  consistent in variable names.
-
-2004-04-17 Saturday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.defs.hh (1.76): Mathematical objects whose name is more
-	  than one character long are typeset in Roman.
-
-2004-04-17 Saturday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.124): Mathematical objects whose name is
-	  more than one character long are typeset in Roman.  Fixed two
-	  other font mistakes.
-
-2004-04-17 Saturday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.193): Put more things in the convenience
-	  library `libppl_tests'.
-
-2004-04-17 Saturday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.192), mapdim2.cc (1.1): New test for
-	  Polyhedron::map_dimensions().
-
-2004-04-16 Friday 16:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.191), boundedh79extrapolation1.cc (1.1):
-	  Test Polyhedron::bounded_H79_extrapolation_assign().
-
-2004-04-06 Tuesday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.22), config.sub (1.21), ltmain.sh (1.18),
-	  Watchdog/config.guess (1.6), Watchdog/config.sub (1.6),
-	  Watchdog/ltmain.sh (1.7): Updated from libtool-1.5.4.
-
-2004-03-06 Saturday 09:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.67), src/ConSys.defs.hh (1.81), src/GenSys.defs.hh
-	  (1.94), src/LinExpression.defs.hh (1.63), src/Matrix.defs.hh
-	  (1.53): Matrix::ascii_dump(), Matrix::ascii_load(),
-	  LinExpression::~LinExpression(), Matrix::~Matrix(),
-	  ConSys::~ConSys(), GenSys::~GenSys() and
-	  ConSys::const_iterator::~const_iterator() are no longer virtual.
-
-2004-03-04 Thursday 07:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.86):
-	  Constraint::Constraint(LinExpression& e) made explicit.
-
-2004-02-25 Wednesday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.66): Added a (monster) configure command line to compile
-	  with Comeau C/C++ compiler.
-
-2004-02-25 Wednesday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.65): Started adding instructions on how to compile with
-	  other C++ compilers.
-
-2004-02-24 Tuesday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.25): Fixed the comments for
-	  ppl_Polyhedron_minimize() and ppl_Polyhedron_maximize().
-
-2004-02-22 Sunday 18:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.20), AskTell.inlines.hh (1.21):
-	  AskTell<CS>::add_constraints() now takes a ConSys by const
-	  reference.
-
-2004-02-22 Sunday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.29): Avoid making
-	  unnecessary copies.
-
-2004-02-22 Sunday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron_public.cc (1.19), Polyhedron_widenings.cc
-	  (1.15): Use the add_recycled_*() methods whenever necessary or
-	  desirable.
-
-2004-02-22 Sunday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.cc (1.8), NNC_Polyhedron.cc (1.12),
-	  Polyhedra_PowerSet.inlines.hh (1.28), Polyhedron_public.cc
-	  (1.18), Polyhedron_widenings.cc (1.14): Use the add_recycled_*()
-	  methods whenever necessary or desirable.
-
-2004-02-22 Sunday 17:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.99): The function snprintf() is not in
-	  standard C++: use sprintf() instead, but play safely anyway.
-
-2004-02-22 Sunday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.24): Non-standard trailing comma
-	  removed from enumeration.
-
-2004-02-22 Sunday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.98): Meaningless type qualifiers
-	  removed.
-
-2004-02-22 Sunday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.83), TODO (1.64), interfaces/C/ppl_c.cc (1.97),
-	  interfaces/C/ppl_c.h.in (1.23), src/Polyhedron.defs.hh (1.223),
-	  src/Polyhedron_public.cc (1.17): The methods void
-	  Polyhedron::add_constraints(ConSys& cs), void
-	  Polyhedron::add_generators(GenSys& gs), bool
-	  Polyhedron::add_constraints_and_minimize(ConSys& cs), and bool
-	  Polyhedron::add_generators_and_minimize(GenSys& gs) have been
-	  renamed void Polyhedron::add_recycled_constraints(ConSys& cs),
-	  void Polyhedron::add_recycled_generators(GenSys& gs), bool
-	  Polyhedron::add_recycled_constraints_and_minimize(ConSys& cs),
-	  and bool Polyhedron::add_recycled_generators_and_minimize(GenSys&
-	  gs), respectively. At the same time, the methods void
-	  Polyhedron::add_constraints(const ConSys& cs), void
-	  Polyhedron::add_generators(const GenSys& gs), bool
-	  Polyhedron::add_constraints_and_minimize(const ConSys& cs), and
-	  bool Polyhedron::add_generators_and_minimize(const GenSys& gs)
-	  have been added. Corresponding changes have been made to the C
-	  interface.
-
-2004-02-22 Sunday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.rpath (1.2): Support Comeau's C/C++ compiler.
-
-2004-02-16 Monday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.defs.hh (1.75): Comments fixed.
-
-2004-02-12 Thursday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.52), Matrix.inlines.hh (1.36): Do not put
-	  code into files named *.defs.hh.
-
-2004-02-09 Monday 08:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.27): All names that are not
-	  dependent on template parameters are bound to their present
-	  definitions when parsing a template function or class: make sure
-	  elements of the base class are correctly referred to.
-
-2004-02-08 Sunday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.110): Fixed some error messages.
-
-2004-02-08 Sunday 21:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/AskTell.inlines.hh (1.20): Missing `typename' added.
-
-2004-02-06 Friday 11:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.109): Disable the interface/OCaml directory, for
-	  the time being.
-
-2004-02-05 Thursday 22:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Makefile.am (1.9): Ignore the OCaml subdirectory, for
-	  the time being.
-
-2004-02-05 Thursday 22:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.108): Version number bumped.
-
-2004-02-05 Thursday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.96): Output functions fixed.
-
-2004-02-05 Thursday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.95), ppl_c.h.in (1.22): New functions
-	  ppl_io_print_variable() and ppl_io_fprint_variable().
-
-2004-02-05 Thursday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.82), interfaces/C/ppl_c.cc (1.94), src/Variable.cc
-	  (1.16), src/Variable.defs.hh (1.36), src/Variable.inlines.hh
-	  (1.18), tests/writevariable1.cc (1.10):
-	  Variable::Output_Function_Type renamed
-	  Variable::output_function_type.
-
-2004-02-05 Thursday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.93): cxx_Variable_output_function()
-	  partly fixed.
-
-2004-02-05 Thursday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variable.defs.hh (1.35): Comment corrected.
-
-2004-02-05 Thursday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.92), ppl_c.h.in (1.21): New functions
-	  ppl_io_set_variable_output_function() and
-	  ppl_io_get_variable_output_function().
-
-2004-02-05 Thursday 19:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.91): Implemented most of the machinery
-	  allowing the user to select its preferred output function for
-	  Variable objects,
-
-2004-02-05 Thursday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.20): Make Doxygen comments uniformly
-	  brief.
-
-2004-02-05 Thursday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.7): Add `-I../C' to
-	  libppl_ocaml_c_la_CPPFLAGS.
-
-2004-02-05 Thursday 14:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.90), ppl_c.h.in (1.19): Documentation
-	  improvements.
-
-2004-02-05 Thursday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: user-browse.doxyconf-latex.in (1.19),
-	  user-print.doxyconf-latex.in (1.19), user.doxyconf-html.in
-	  (1.21): Add PPL_DECLARE_PRINT_FUNCTIONS to EXPAND_AS_DEFINED.
-
-2004-02-05 Thursday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.18): Make sure not to leave
-	  unnecessary preprocessor symbols behind.
-
-2004-02-05 Thursday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.89), ppl_c.h.in (1.17): A first,
-	  tentative implementation of the new print functions.	New error
-	  codes PPL_STDIO_ERROR and PPL_ARITHMETIC_OVERFLOW.
-
-2004-02-05 Thursday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.16): Added a kludge to make the
-	  documentation on how to use the C interface easier to find.
-
-2004-02-04 Wednesday 18:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.15): A couple of corrections to the
-	  usage instructions.
-
-2004-02-04 Wednesday 18:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_c.h.in (1.14): Corrections to the explanation on
-	  using the C interface done.
-
-2004-02-04 Wednesday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.13): Two minor fixes.
-
-2004-02-04 Wednesday 16:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/C/ppl_c.h.in (1.12): The comment on how to use the C
-	  interface revised.
-
-2004-02-04 Wednesday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.11): Documentation on how to use the C
-	  interface finished (for the time being, at least).
-
-2004-02-04 Wednesday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.10): Finished the section on linking.
-
-2004-02-04 Wednesday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.9): Started explaining how to link.
-
-2004-02-04 Wednesday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.8): Better explained how to use the -I
-	  (or similar) compiler option.
-
-2004-02-04 Wednesday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.7): Finished dealing with version
-	  checking.
-
-2004-02-03 Tuesday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.6): Fix thinko in Doxygen's comments.
-
-2004-02-03 Tuesday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/version.cc (1.4): Put new functions into the PPL namespace.
-
-2004-02-03 Tuesday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.88), ppl_c.h.in (1.5): New functions:
-	  ppl_version_major(), ppl_version_minor(), ppl_version_revision(),
-	  and ppl_version_beta().
-
-2004-02-03 Tuesday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: version.cc (1.3), version.hh.in (1.7): New functions:
-	  version_major(), version_minor(), version_revision(), and
-	  version_beta().
-
-2004-02-03 Tuesday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.107): Some vertical space added.
-
-2004-02-03 Tuesday 14:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.4): New macro PPL_VERSION added.
-
-2004-02-03 Tuesday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h.in (1.3): Started dealing with version
-	  checking.
-
-2004-02-03 Tuesday 09:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: Makefile.am (1.16), ppl_c.cc (1.87), ppl_c.h.in
-	  (1.2): New C interface functions ppl_version() and ppl_banner().
-
-2004-02-03 Tuesday 09:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/version.hh.in (1.6): Tell emacs that this is C++.
-
-2004-02-03 Tuesday 09:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.106), doc/Makefile.am (1.25),
-	  doc/devref-browse.doxyconf-latex.in (1.35),
-	  doc/devref-print.doxyconf-latex.in (1.35),
-	  doc/devref.doxyconf-html.in (1.36),
-	  doc/user-browse.doxyconf-latex.in (1.18),
-	  doc/user-print.doxyconf-latex.in (1.18),
-	  doc/user.doxyconf-html.in (1.20), interfaces/C/ppl_c.h (1.100),
-	  interfaces/C/ppl_c.h.in (1.1), interfaces/OCaml/Makefile.am
-	  (1.6): The C interface's header file `ppl_c.h' is now generated
-	  at configuration time from `ppl_c.h.in' so as to carry the proper
-	  version information.
-
-2004-02-02 Monday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.86), ppl_c.h (1.99): Now
-	  ppl_initialize() and ppl_finalize() return
-	  PPL_ERROR_INVALID_ARGUMENT if called when they should not.
-
-2004-02-02 Monday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.98): Explain initialization and
-	  finalization in the C interface.
-
-2004-02-02 Monday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.97): Explained what to do in case
-	  `#include <ppl_c.h>' seems not to work.  Explained what opaque
-	  data types are and why we use them.
-
-2004-02-01 Sunday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.96): Explain the usage of the header file
-	  for the C interface and its name space.
-
-2004-02-01 Sunday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: gpl.dox (1.6), gpl.tex (1.2): Avoid excessive
-	  capitalization.
-
-2004-02-01 Sunday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.tex (1.13), fdl.dox (1.6), fdl.tex (1.2), user.tex
-	  (1.14): The documentation is now distributed under the terms of
-	  version 1.2 of the GNU Free Documentation License.
-
-2004-01-28 Wednesday 18:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/.cvsignore (1.2): Updated.
-
-2004-01-28 Wednesday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.5): Seriously hacked so that
-	  files are created in the right places.
-
-2004-01-28 Wednesday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/gmp.h (1.1): Hacked version of the main C header
-	  file of GMP 4.1.2.  This is to get around some bugs and
-	  limitations of SWIG 1.3.21.
-
-2004-01-28 Wednesday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.8), Watchdog/README (1.6),
-	  Watchdog/Watchdog.cc (1.14), Watchdog/Watchdog.defs.hh (1.12),
-	  Watchdog/Watchdog.inlines.hh (1.10), Watchdog/Watchdog.types.hh
-	  (1.5), Watchdog/configure.ac (1.19), Watchdog/pwl_header.top
-	  (1.4), doc/devref.tex (1.12), doc/ppl.sty (1.13), doc/user.tex
-	  (1.13), interfaces/Prolog/XSB/ppl_xsb.H (1.26),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.42): Update copyright years.
-
-2004-01-27 Tuesday 23:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.23), README (1.17), configure.ac (1.105),
-	  doc/Makefile.am (1.24), doc/definitions.dox (1.123),
-	  interfaces/Makefile.am (1.8), interfaces/C/Makefile.am (1.15),
-	  interfaces/C/ppl_c.cc (1.85), interfaces/C/ppl_c.h (1.95),
-	  interfaces/OCaml/Makefile.am (1.4),
-	  interfaces/OCaml/ppl_ocaml_c.swg (1.2),
-	  interfaces/Prolog/Makefile.am (1.24),
-	  interfaces/Prolog/Prolog_interface.dox (1.107),
-	  interfaces/Prolog/clpq.pl (1.15), interfaces/Prolog/clpq2.pl
-	  (1.26), interfaces/Prolog/exceptions.hh (1.8),
-	  interfaces/Prolog/expected (1.6), interfaces/Prolog/expected2
-	  (1.11), interfaces/Prolog/pl_check.pl (1.67),
-	  interfaces/Prolog/ppl_prolog.icc (1.116),
-	  interfaces/Prolog/track_allocation.hh (1.13),
-	  interfaces/Prolog/Ciao/Makefile.am (1.22),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.8),
-	  interfaces/Prolog/Ciao/ciao_clpq2.pl (1.3),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.20),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.58),
-	  interfaces/Prolog/GNU/Makefile.am (1.32),
-	  interfaces/Prolog/GNU/gnu_pl_check.pl (1.2),
-	  interfaces/Prolog/GNU/gp_clpq.pl (1.7),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.39),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.14),
-	  interfaces/Prolog/SICStus/Makefile.am (1.38),
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.23),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.53),
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.3),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.4),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.7),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.9),
-	  interfaces/Prolog/SWI/Makefile.am (1.30),
-	  interfaces/Prolog/SWI/pl_clpq.cc (1.7),
-	  interfaces/Prolog/SWI/pl_clpq.pl (1.5),
-	  interfaces/Prolog/SWI/ppl_pl.cc (1.7),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.77),
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.3),
-	  interfaces/Prolog/XSB/Makefile.am (1.17),
-	  interfaces/Prolog/XSB/expected (1.7),
-	  interfaces/Prolog/XSB/expected2 (1.9),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.41),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.8),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.6),
-	  interfaces/Prolog/YAP/Makefile.am (1.24),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.71),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.7),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.7),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.3),
-	  interfaces/Prolog/YAP/yap_pl_check.pl (1.3), m4/Makefile.am
-	  (1.10), m4/ac_check_gmp.m4 (1.16), m4/ac_cxx_attribute_weak.m4
-	  (1.3), m4/ac_cxx_flexible_arrays.m4 (1.8), src/AskTell.defs.hh
-	  (1.19), src/AskTell.inlines.hh (1.19), src/AskTell.types.hh
-	  (1.6), src/BoundingBox.cc (1.8), src/BoundingBox.defs.hh (1.11),
-	  src/BoundingBox.inlines.hh (1.11), src/BoundingBox.types.hh
-	  (1.6), src/C_Polyhedron.cc (1.7), src/C_Polyhedron.defs.hh
-	  (1.20), src/C_Polyhedron.inlines.hh (1.14),
-	  src/C_Polyhedron.types.hh (1.7), src/ConSys.cc (1.67),
-	  src/ConSys.defs.hh (1.80), src/ConSys.inlines.hh (1.31),
-	  src/ConSys.types.hh (1.7), src/Constraint.cc (1.40),
-	  src/Constraint.defs.hh (1.85), src/Constraint.inlines.hh (1.48),
-	  src/Constraint.types.hh (1.7), src/Determinate.defs.hh (1.35),
-	  src/Determinate.inlines.hh (1.36), src/Determinate.types.hh
-	  (1.5), src/GenSys.cc (1.85), src/GenSys.defs.hh (1.93),
-	  src/GenSys.inlines.hh (1.32), src/GenSys.types.hh (1.7),
-	  src/Generator.cc (1.48), src/Generator.defs.hh (1.85),
-	  src/Generator.inlines.hh (1.42), src/Generator.types.hh (1.7),
-	  src/Init.cc (1.10), src/Init.defs.hh (1.10), src/Init.types.hh
-	  (1.6), src/Integer.cc (1.4), src/Integer.defs.hh (1.11),
-	  src/Integer.inlines.hh (1.10), src/Integer.types.hh (1.8),
-	  src/Interval.cc (1.9), src/Interval.defs.hh (1.16),
-	  src/Interval.inlines.hh (1.11), src/Interval.types.hh (1.7),
-	  src/LinExpression.cc (1.20), src/LinExpression.defs.hh (1.62),
-	  src/LinExpression.inlines.hh (1.29), src/LinExpression.types.hh
-	  (1.7), src/Makefile.am (1.68), src/Matrix.cc (1.64),
-	  src/Matrix.defs.hh (1.51), src/Matrix.inlines.hh (1.35),
-	  src/Matrix.types.hh (1.7), src/NNC_Polyhedron.cc (1.11),
-	  src/NNC_Polyhedron.defs.hh (1.23), src/NNC_Polyhedron.inlines.hh
-	  (1.16), src/NNC_Polyhedron.types.hh (1.7), src/Ph_Status.cc
-	  (1.4), src/Ph_Status.idefs.hh (1.4), src/Ph_Status.inlines.hh
-	  (1.4), src/Poly_Con_Relation.cc (1.8),
-	  src/Poly_Con_Relation.defs.hh (1.23),
-	  src/Poly_Con_Relation.inlines.hh (1.11),
-	  src/Poly_Con_Relation.types.hh (1.6), src/Poly_Gen_Relation.cc
-	  (1.8), src/Poly_Gen_Relation.defs.hh (1.21),
-	  src/Poly_Gen_Relation.inlines.hh (1.11),
-	  src/Poly_Gen_Relation.types.hh (1.6),
-	  src/Polyhedra_PowerSet.defs.hh (1.19),
-	  src/Polyhedra_PowerSet.inlines.hh (1.26),
-	  src/Polyhedra_PowerSet.types.hh (1.2), src/Polyhedron.defs.hh
-	  (1.222), src/Polyhedron.inlines.hh (1.86),
-	  src/Polyhedron.types.hh (1.10), src/Polyhedron_chdims.cc (1.8),
-	  src/Polyhedron_nonpublic.cc (1.17), src/Polyhedron_public.cc
-	  (1.16), src/Polyhedron_widenings.cc (1.13), src/PowerSet.defs.hh
-	  (1.46), src/PowerSet.inlines.hh (1.55), src/PowerSet.types.hh
-	  (1.6), src/Row.cc (1.60), src/Row.defs.hh (1.74),
-	  src/Row.inlines.hh (1.42), src/Row.types.hh (1.7),
-	  src/SatMatrix.cc (1.28), src/SatMatrix.defs.hh (1.33),
-	  src/SatMatrix.inlines.hh (1.21), src/SatMatrix.types.hh (1.7),
-	  src/SatRow.cc (1.22), src/SatRow.defs.hh (1.32),
-	  src/SatRow.inlines.hh (1.28), src/SatRow.types.hh (1.7),
-	  src/Topology.hh (1.8), src/Variable.cc (1.15),
-	  src/Variable.defs.hh (1.34), src/Variable.inlines.hh (1.17),
-	  src/Variable.types.hh (1.7), src/algorithms.hh (1.25),
-	  src/conversion.cc (1.51), src/globals.cc (1.13), src/globals.hh
-	  (1.34), src/initializer.hh (1.7), src/minimize.cc (1.35),
-	  src/ppl_header.top (1.7), src/simplify.cc (1.33),
-	  src/statistics.hh (1.3), src/version.cc (1.2), src/version.hh.in
-	  (1.5), tests/BBox.cc (1.4), tests/BBox.hh (1.3),
-	  tests/CbecomesNNC1.cc (1.5), tests/Makefile.am (1.190),
-	  tests/NNCminimize1.cc (1.10), tests/NNCminimize2.cc (1.10),
-	  tests/NNCminimize3.cc (1.10), tests/NNCminimize4.cc (1.12),
-	  tests/NNCminimize5.cc (1.9), tests/NNCminimize6.cc (1.11),
-	  tests/PFunction.cc (1.3), tests/PFunction.hh (1.3),
-	  tests/addconstraint1.cc (1.5), tests/addconstraint2.cc (1.4),
-	  tests/addconstraint3.cc (1.4), tests/addconstraints1.cc (1.11),
-	  tests/addconstraints10.cc (1.10), tests/addconstraints11.cc
-	  (1.11), tests/addconstraints12.cc (1.4),
-	  tests/addconstraints13.cc (1.6), tests/addconstraints2.cc (1.19),
-	  tests/addconstraints3.cc (1.9), tests/addconstraints4.cc (1.11),
-	  tests/addconstraints5.cc (1.12), tests/addconstraints6.cc (1.13),
-	  tests/addconstraints7.cc (1.12), tests/addconstraints8.cc (1.12),
-	  tests/addconstraints9.cc (1.13), tests/adddimensions1.cc (1.14),
-	  tests/adddimensions10.cc (1.7), tests/adddimensions11.cc (1.5),
-	  tests/adddimensions12.cc (1.4), tests/adddimensions13.cc (1.3),
-	  tests/adddimensions2.cc (1.10), tests/adddimensions3.cc (1.12),
-	  tests/adddimensions4.cc (1.10), tests/adddimensions5.cc (1.8),
-	  tests/adddimensions6.cc (1.8), tests/adddimensions7.cc (1.8),
-	  tests/adddimensions8.cc (1.6), tests/adddimensions9.cc (1.7),
-	  tests/addgenerator1.cc (1.5), tests/addgenerator2.cc (1.5),
-	  tests/addgenerator3.cc (1.4), tests/addgenerator4.cc (1.5),
-	  tests/addgenerators1.cc (1.12), tests/addgenerators10.cc (1.4),
-	  tests/addgenerators11.cc (1.6), tests/addgenerators12.cc (1.6),
-	  tests/addgenerators13.cc (1.2), tests/addgenerators2.cc (1.12),
-	  tests/addgenerators3.cc (1.12), tests/addgenerators4.cc (1.12),
-	  tests/addgenerators5.cc (1.12), tests/addgenerators6.cc (1.12),
-	  tests/addgenerators7.cc (1.9), tests/addgenerators8.cc (1.7),
-	  tests/addgenerators9.cc (1.6), tests/affineimage1.cc (1.12),
-	  tests/affineimage2.cc (1.11), tests/affineimage3.cc (1.4),
-	  tests/affineimage4.cc (1.4), tests/affineimage5.cc (1.5),
-	  tests/affineimage6.cc (1.4), tests/affineimage7.cc (1.4),
-	  tests/affineimage8.cc (1.8), tests/affinepreimage1.cc (1.11),
-	  tests/affinepreimage10.cc (1.8), tests/affinepreimage2.cc (1.11),
-	  tests/affinepreimage3.cc (1.11), tests/affinepreimage4.cc (1.12),
-	  tests/affinepreimage5.cc (1.4), tests/affinepreimage6.cc (1.5),
-	  tests/affinepreimage7.cc (1.4), tests/affinepreimage8.cc (1.4),
-	  tests/affinepreimage9.cc (1.5), tests/affinetrans.cc (1.14),
-	  tests/append1.cc (1.22), tests/append2.cc (1.22),
-	  tests/ascii_dump_load1.cc (1.13), tests/ascii_dump_load2.cc
-	  (1.11), tests/ascii_dump_load3.cc (1.14),
-	  tests/ascii_dump_load4.cc (1.14), tests/ascii_dump_load5.cc
-	  (1.10), tests/ascii_dump_load6.cc (1.7),
-	  tests/ascii_dump_load7.cc (1.7), tests/bgp99extrapolation1.cc
-	  (1.2), tests/bhrz03widening1.cc (1.4), tests/bhrz03widening10.cc
-	  (1.4), tests/bhrz03widening11.cc (1.4), tests/bhrz03widening12.cc
-	  (1.4), tests/bhrz03widening13.cc (1.4), tests/bhrz03widening14.cc
-	  (1.4), tests/bhrz03widening15.cc (1.6), tests/bhrz03widening16.cc
-	  (1.4), tests/bhrz03widening17.cc (1.4), tests/bhrz03widening18.cc
-	  (1.4), tests/bhrz03widening19.cc (1.4), tests/bhrz03widening2.cc
-	  (1.6), tests/bhrz03widening3.cc (1.6), tests/bhrz03widening4.cc
-	  (1.4), tests/bhrz03widening5.cc (1.4), tests/bhrz03widening6.cc
-	  (1.5), tests/bhrz03widening7.cc (1.5), tests/bhrz03widening8.cc
-	  (1.4), tests/bhrz03widening9.cc (1.6), tests/bhz03widening1.cc
-	  (1.3), tests/bhz03widening2.cc (1.3), tests/bounded1.cc (1.13),
-	  tests/boundingbox1.cc (1.33), tests/boundingbox2.cc (1.18),
-	  tests/boundingbox3.cc (1.9), tests/boundingbox4.cc (1.6),
-	  tests/bounds1.cc (1.6), tests/bounds2.cc (1.6),
-	  tests/concatenate1.cc (1.8), tests/concatenate2.cc (1.8),
-	  tests/concatenate3.cc (1.7), tests/concatenate4.cc (1.6),
-	  tests/concatenate5.cc (1.4), tests/concatenate6.cc (1.6),
-	  tests/constraints1.cc (1.6), tests/constraints2.cc (1.6),
-	  tests/constraints3.cc (1.6), tests/constraints4.cc (1.6),
-	  tests/contains1.cc (1.5), tests/contains2.cc (1.2),
-	  tests/contains3.cc (1.2), tests/contains4.cc (1.2),
-	  tests/contains5.cc (1.2), tests/disjoint1.cc (1.7),
-	  tests/disjoint2.cc (1.8), tests/disjoint3.cc (1.7),
-	  tests/dualhypercubes.cc (1.3), tests/ehandlers.cc (1.5),
-	  tests/ehandlers.hh (1.8), tests/empty1.cc (1.14),
-	  tests/exceptions1.cc (1.35), tests/exceptions2.cc (1.29),
-	  tests/files.cc (1.5), tests/files.hh (1.5),
-	  tests/generalizedaffineimage1.cc (1.8),
-	  tests/generalizedaffineimage10.cc (1.7),
-	  tests/generalizedaffineimage11.cc (1.6),
-	  tests/generalizedaffineimage12.cc (1.5),
-	  tests/generalizedaffineimage2.cc (1.7),
-	  tests/generalizedaffineimage3.cc (1.8),
-	  tests/generalizedaffineimage4.cc (1.6),
-	  tests/generalizedaffineimage5.cc (1.6),
-	  tests/generalizedaffineimage6.cc (1.6),
-	  tests/generalizedaffineimage7.cc (1.8),
-	  tests/generalizedaffineimage8.cc (1.6),
-	  tests/generalizedaffineimage9.cc (1.6), tests/generators1.cc
-	  (1.13), tests/generators2.cc (1.9), tests/generators3.cc (1.5),
-	  tests/generators4.cc (1.5), tests/generators5.cc (1.5),
-	  tests/generators6.cc (1.6), tests/h79widening1.cc (1.6),
-	  tests/h79widening2.cc (1.7), tests/h79widening3.cc (1.7),
-	  tests/h79widening4.cc (1.4), tests/h79widening5.cc (1.5),
-	  tests/h79widening6.cc (1.5), tests/h79widening7.cc (1.3),
-	  tests/intersection1.cc (1.6), tests/intersection10.cc (1.6),
-	  tests/intersection11.cc (1.6), tests/intersection2.cc (1.10),
-	  tests/intersection3.cc (1.7), tests/intersection4.cc (1.7),
-	  tests/intersection5.cc (1.7), tests/intersection6.cc (1.7),
-	  tests/intersection7.cc (1.6), tests/intersection8.cc (1.5),
-	  tests/intersection9.cc (1.5),
-	  tests/limitedbhrz03extrapolation1.cc (1.3),
-	  tests/limitedh79extrapolation1.cc (1.3),
-	  tests/limitedh79extrapolation2.cc (1.3),
-	  tests/limitedh79extrapolation3.cc (1.3),
-	  tests/limitedh79extrapolation4.cc (1.3),
-	  tests/linearpartition1.cc (1.13), tests/linearpartition2.cc
-	  (1.13), tests/linearpartition3.cc (1.13), tests/linexpression1.cc
-	  (1.4), tests/mapdim1.cc (1.2), tests/max_min1.cc (1.4),
-	  tests/max_min2.cc (1.4), tests/mc91.cc (1.14), tests/memory1.cc
-	  (1.20), tests/minconstraints1.cc (1.5), tests/minconstraints2.cc
-	  (1.5), tests/minconstraints3.cc (1.4), tests/minconstraints4.cc
-	  (1.8), tests/mingenerators1.cc (1.5), tests/mingenerators2.cc
-	  (1.4), tests/mingenerators3.cc (1.4), tests/onepoint.cc (1.10),
-	  tests/permute.cc (1.31), tests/polydifference1.cc (1.7),
-	  tests/polydifference2.cc (1.9), tests/polydifference3.cc (1.4),
-	  tests/polydifference4.cc (1.5), tests/polydifference5.cc (1.6),
-	  tests/polydifference6.cc (1.6), tests/polydifference7.cc (1.5),
-	  tests/polyhull1.cc (1.8), tests/polyhull10.cc (1.4),
-	  tests/polyhull2.cc (1.7), tests/polyhull3.cc (1.7),
-	  tests/polyhull4.cc (1.6), tests/polyhull5.cc (1.5),
-	  tests/polyhull6.cc (1.5), tests/polyhull7.cc (1.4),
-	  tests/polyhull8.cc (1.5), tests/polyhull9.cc (1.6),
-	  tests/ppl_test.hh (1.4), tests/print.cc (1.10), tests/print.hh
-	  (1.14), tests/randphull1.cc (1.10), tests/randphull2.cc (1.6),
-	  tests/relations1.cc (1.10), tests/relations10.cc (1.6),
-	  tests/relations11.cc (1.6), tests/relations12.cc (1.5),
-	  tests/relations13.cc (1.5), tests/relations14.cc (1.5),
-	  tests/relations15.cc (1.5), tests/relations16.cc (1.5),
-	  tests/relations17.cc (1.7), tests/relations18.cc (1.5),
-	  tests/relations19.cc (1.6), tests/relations2.cc (1.11),
-	  tests/relations3.cc (1.11), tests/relations4.cc (1.11),
-	  tests/relations5.cc (1.11), tests/relations6.cc (1.10),
-	  tests/relations7.cc (1.10), tests/relations8.cc (1.10),
-	  tests/relations9.cc (1.12), tests/removedim1.cc (1.11),
-	  tests/removedim10.cc (1.3), tests/removedim2.cc (1.15),
-	  tests/removedim3.cc (1.11), tests/removedim4.cc (1.12),
-	  tests/removedim5.cc (1.10), tests/removedim6.cc (1.13),
-	  tests/removedim7.cc (1.9), tests/removedim8.cc (1.6),
-	  tests/removedim9.cc (1.6), tests/smm1.cc (1.15),
-	  tests/timeelapse1.cc (1.8), tests/timeelapse2.cc (1.8),
-	  tests/timeelapse3.cc (1.8), tests/timeelapse4.cc (1.8),
-	  tests/timeelapse5.cc (1.9), tests/timeelapse6.cc (1.4),
-	  tests/timeelapse7.cc (1.4), tests/timeelapse8.cc (1.5),
-	  tests/timings.cc (1.4), tests/timings.hh (1.4),
-	  tests/topclosed1.cc (1.7), tests/topclosed2.cc (1.6),
-	  tests/topclosed3.cc (1.8), tests/topclosure1.cc (1.7),
-	  tests/topclosure2.cc (1.4), tests/topclosure3.cc (1.4),
-	  tests/topclosure4.cc (1.6), tests/universe1.cc (1.10),
-	  tests/universe2.cc (1.11), tests/universe3.cc (1.11),
-	  tests/universe4.cc (1.11), tests/universe5.cc (1.12),
-	  tests/universe6.cc (1.9), tests/watchdog1.cc (1.18),
-	  tests/writeconsys1.cc (1.7), tests/writegensys1.cc (1.8),
-	  tests/writegensys2.cc (1.8), tests/writegensys3.cc (1.7),
-	  tests/writepolyhedron1.cc (1.7), tests/writepolyhedron2.cc (1.8),
-	  tests/writepolyhedron3.cc (1.7), tests/writerelation1.cc (1.7),
-	  tests/writevariable1.cc (1.9): Update copyright years.
-
-2004-01-27 Tuesday 23:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.3): Some little progress.
-
-2004-01-27 Tuesday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/: ppl_c.swg (1.2), ppl_ocaml_c.swg (1.1):
-	  Renamed.
-
-2004-01-27 Tuesday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* compile (1.1), Watchdog/compile (1.1): Added from Automake 1.8.2.
-
-2004-01-26 Monday 19:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/Makefile.am (1.2): Avoid running swig multiple
-	  times.
-
-2004-01-26 Monday 16:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.104), interfaces/Makefile.am (1.7),
-	  interfaces/OCaml/.cvsignore (1.1), interfaces/OCaml/Makefile.am
-	  (1.1): Directory `interfaces/OCaml' activated.
-
-2004-01-26 Monday 16:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.23): It is no longer necessary to specify `-d
-	  Validate' on the Doxygen's command line.
-
-2004-01-26 Monday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.94): Temporarily avoid splitting
-	  preprocessor directives across multiple lines.  This is to get
-	  around a bug in SWIG 1.3.21.
-
-2004-01-26 Monday 08:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.93): Spacing fixed.
-
-2004-01-25 Sunday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/OCaml/ppl_c.swg (1.1): SWIG module declaration for the
-	  OCaml interface to the C interface.
-
-2004-01-25 Sunday 23:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.92): Explain to SWIG how to convert an
-	  OCaml array to a C array plus length.
-
-2004-01-25 Sunday 23:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.67): Avoid repeating the name of the target
-	  file.
-
-2004-01-25 Sunday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* depcomp (1.6), install-sh (1.7), missing (1.7), mkinstalldirs
-	  (1.6), Watchdog/depcomp (1.4), Watchdog/install-sh (1.4),
-	  Watchdog/missing (1.3), Watchdog/mkinstalldirs (1.2): Update from
-	  Automake.
-
-2004-01-25 Sunday 22:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.103): Check for SWIG added.
-
-2004-01-25 Sunday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.21), config.sub (1.20), Watchdog/config.guess
-	  (1.5), Watchdog/config.sub (1.5): Updated from config.
-
-2004-01-25 Sunday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.17), Watchdog/ltmain.sh (1.6): Updated from Libtool
-	  1.5.2.
-
-2004-01-23 Friday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.221): Implement a new method to
-	  differentiate between the inclusion of Ph_Status.idefs.hh and the
-	  inclusion of all other header files.	This gets around a bug in
-	  doxygen.
-
-2004-01-23 Friday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.220): Documentation for
-	  Polyhedron::max_min() fixed.
-
-2004-01-21 Wednesday 13:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/dualhypercubes.cc (1.2): Corrected an error and made
-	  silent.
-
-2004-01-20 Tuesday 08:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.189), dualhypercubes.cc (1.1): Put under
-	  CVS control.
-
-2003-12-19 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ppl_header.bottom (1.5), ppl_header.top (1.6): Include
-	  <cassert> after restoring the status of NDEBUG: this should
-	  finally solve the NDEBUG problem.
-
-2003-12-17 Wednesday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.middle (1.3): GCC versions prior to 3.0 are no
-	  longer supported.
-
-2003-12-15 Monday 23:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.63): See if we can provide some guarantee on the maximum
-	  number of times we are calling the methods of the argument of
-	  Polyhedron::map_dimensions(const PartialFunction&).
-
-2003-12-05 Friday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Watchdog.cc (1.13): Do not use the ITIMER_PROF timer
-	  when profiling.
-
-2003-12-05 Friday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.102): Define the symbol `PROFILING' when
-	  profiling is enabled.
-
-2003-12-04 Thursday 10:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.34),
-	  devref-print.doxyconf-latex.in (1.34), devref.doxyconf-html.in
-	  (1.35): The source files for the Status class are now called
-	  Ph_Status.*.
-
-2003-12-02 Tuesday 21:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: lib-ld.m4 (1.2), lib-prefix.m4 (1.2): Updated from gettext
-	  0.13.
-
-2003-11-19 Wednesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.62): Remember to implement void
-	  Polyhedron::envelope_assign(const Polyhedron& y).
-
-2003-11-12 Wednesday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.22), acinclude.m4 (1.6): Implement a much simpler
-	  way of telling aclocal where to look for `.m4' files (in
-	  addition, `sinclude', which we used in `acinclude.m4', is an
-	  obsolete name for `m4_include').
-
-2003-11-09 Sunday 00:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.hh (1.33): Comment for compute_capacity() improved.
-	  Added an alternative implementation (commented out) characterized
-	  a speculation factor of 1.5.
-
-2003-11-07 Friday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.defs.hh (1.73): Including Integer.types.hh is not enough:
-	  include Integer.defs.hh.
-
-2003-11-04 Tuesday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.20), config.sub (1.19), Watchdog/config.guess
-	  (1.4), Watchdog/config.sub (1.4): Updated.
-
-2003-10-30 Thursday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ph_Status.cc (1.3), Polyhedron_public.cc (1.15): OK()
-	  methods must print their own error messages (unless NDEBUG is
-	  defined).
-
-2003-10-29 Wednesday 06:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.15): In case libgmp and libgmpxx are
-	  installed in the same location, allow to specify the prefix for
-	  either one, the other being set automatically.
-
-2003-10-29 Wednesday 06:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_cxx_attribute_weak.m4 (1.2), ac_cxx_flexible_arrays.m4
-	  (1.7): Preserve CPPFLAGS.
-
-2003-10-28 Tuesday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.101), interfaces/C/Makefile.am (1.14),
-	  interfaces/Prolog/Ciao/Makefile.am (1.21),
-	  interfaces/Prolog/GNU/Makefile.am (1.31),
-	  interfaces/Prolog/SICStus/Makefile.am (1.37),
-	  interfaces/Prolog/SWI/Makefile.am (1.29),
-	  interfaces/Prolog/XSB/Makefile.am (1.16),
-	  interfaces/Prolog/YAP/Makefile.am (1.23), src/Makefile.am (1.66),
-	  tests/Makefile.am (1.188): Got rid of extra_cpp_flags (was used
-	  nowhere).
-
-2003-10-27 Monday 22:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.8), NEWS (1.81), TODO (1.61), acinclude.m4 (1.5),
-	  config.rpath (1.1), m4/ac_check_gmp.m4 (1.14), m4/lib-ld.m4
-	  (1.1), m4/lib-link.m4 (1.1), m4/lib-prefix.m4 (1.1): Thanks to
-	  Bruno Haible, it is now possible to use versions of the GMP
-	  library installed into nonstandard places.
-
-2003-10-27 Monday 10:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ph_Status.idefs.hh (1.3), Ph_Status.inlines.hh (1.3): Some
-	  useless code removed.
-
-2003-10-27 Monday 09:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Ph_Status.cc (1.2), Ph_Status.idefs.hh (1.2),
-	  Ph_Status.inlines.hh (1.2): Comments fixed.
-
-2003-10-27 Monday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.65), Ph_Status.cc (1.1), Ph_Status.idefs.hh
-	  (1.1), Ph_Status.inlines.hh (1.1), Polyhedron.defs.hh (1.219),
-	  Status.cc (1.22), Status.defs.hh (1.30), Status.inlines.hh
-	  (1.15), Status.types.hh (1.7): The Status class is now a private
-	  member of class Polyhedron.
-
-2003-10-26 Sunday 18:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Status.defs.hh (1.29), Status.inlines.hh (1.14): Pass
-	  objects of type Status by value.
-
-2003-10-16 Thursday 17:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/polyhull1.cc (1.7): Debug message improved.
-
-2003-10-13 Monday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.59): Comment fixed.
-
-2003-10-06 Monday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.60), tests/h79widening6.cc (1.4): h79widening6.cc
-	  temporarily fixed, but must be turned into a proper test.
-
-2003-10-04 Saturday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.58): Revert previous change.
-
-2003-10-04 Saturday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.57): Avoid including <iostream>.
-
-2003-10-03 Friday 12:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.7), Watchdog/.cvsignore (1.4): Ignore config.h.in.
-
-2003-10-03 Friday 09:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.26), Watchdog/config.h.in (1.4): These should not
-	  be in the repository, since they are automatically generated.
-
-2003-09-23 Tuesday 10:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.33),
-	  devref-print.doxyconf-latex.in (1.33), devref.doxyconf-html.in
-	  (1.34), user-browse.doxyconf-latex.in (1.17),
-	  user-print.doxyconf-latex.in (1.17), user.doxyconf-html.in
-	  (1.19): Updated for Doxygen 1.3.4.
-
-2003-09-10 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.19), config.h.in (1.25), config.sub (1.18),
-	  depcomp (1.5), install-sh (1.6), missing (1.6),
-	  Watchdog/config.guess (1.3), Watchdog/config.sub (1.3),
-	  Watchdog/depcomp (1.3), Watchdog/install-sh (1.3),
-	  Watchdog/missing (1.2): Updated.
-
-2003-09-10 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Variable.cc (1.14), Variable.defs.hh (1.33): Pass variables
-	  by const reference for uniformity.
-
-2003-09-01 Monday 23:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.54):
-	  PowerSet<CS>::check_omega_reduced() fixed: now it return false if
-	  a bottom element is encountered (even in a singleton).
-
-2003-09-01 Monday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.53): Modified
-	  PowerSet<CS>::omega_reduce() so that all bottom elements are
-	  removed first.
-
-2003-09-01 Monday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.24): Use Polyhedra_PowerSet<PH>::empty()
-	  instead of Polyhedra_PowerSet<PH>::is_bottom().
-
-2003-09-01 Monday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.18): Useless using declarations
-	  removed.
-
-2003-09-01 Monday 20:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.45), PowerSet.inlines.hh (1.52): Method
-	  bool PowerSet<CS>::empty() const added.  Useless using
-	  declarations removed.  Added a bool argument to
-	  PowerSet<CS>::OK() to decide whether bottom is or not allowed
-	  into the powerset.
-
-2003-09-01 Monday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.17),
-	  Polyhedra_PowerSet.inlines.hh (1.25): Methods
-	  Polyhedra_PowerSet<PH>::add_constraint() and
-	  Polyhedra_PowerSet<PH>::add_constraints() made lazy.	Methods
-	  Polyhedra_PowerSet<PH>::add_constraint_and_minimize() and
-	  Polyhedra_PowerSet<PH>::add_constraints_and_minimize() added.
-
-2003-08-31 Sunday 23:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.51): Correct a mistake in previous
-	  change.
-
-2003-08-31 Sunday 23:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.50): PowerSet<CS>::collapse(iterator
-	  sink) improved.
-
-2003-08-30 Saturday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/bhz03widening2.cc (1.2): Be quiet.
-
-2003-08-30 Saturday 12:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.24): Corrected a bug in
-	  pairwise_reduce(), whereby we were marking the wrong polyhedra in
-	  the sequence.  Corrected a bug in BHZ03_widening_assign(),
-	  whereby we were calling BGP99_extrapolation_assign() instead of
-	  BGP99_heuristics_assign (the latter does not pairwise-reduce nor
-	  collapse the sequence of polyhedra).	In the implementation of
-	  BGP99_heuristics_assign(), we now take a copy of polyhedron `pi'
-	  before computing the base-level widening.
-
-2003-08-30 Saturday 12:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.49): In function collapse(const
-	  unsigned max_disjuncts), removed the never used iterators sbegin
-	  and send.
-
-2003-08-30 Saturday 00:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.187), bhz03widening2.cc (1.1): New test
-	  for Polyhedra_Powerset<PH>::BHZ03_widening_assign().
-
-2003-08-29 Friday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.59): The name of the `abandon_exponential_computations'
-	  variable is now misleading, as we use it also to abandon
-	  polynomial computations in the PowerSet domains.
-
-2003-08-29 Friday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.44), PowerSet.inlines.hh (1.48): Method
-	  PowerSet::collapse() added.  It provides the same functionality
-	  as the project() function, which has been removed.
-
-2003-08-29 Friday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.16),
-	  Polyhedra_PowerSet.inlines.hh (1.23), PowerSet.defs.hh (1.43),
-	  PowerSet.inlines.hh (1.47): Method collapse() reimplemented
-	  generically in the PowerSet class.  Methods
-	  PowerSet<CS>::omega_reduce() and
-	  Polyhedra_PowerSet<PH>::concatenate_assign() (which have
-	  quadratic complexity) now test the
-	  `abandon_exponential_computations' variable and hurry up (giving
-	  up precision) if necessary.
-
-2003-08-28 Thursday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.23): Function check_containment() fixed and
-	  silenced.
-
-2003-08-27 Wednesday 23:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.22): Fixed a couple of bugs in
-	  check_containment().	Print statements added to the same function
-	  in order to help debugging it (it still does not work).
-
-2003-08-27 Wednesday 23:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.15),
-	  Polyhedra_PowerSet.inlines.hh (1.22): New methods `bool
-	  semantically_contains(const Polyhedra_PowerSet&) const' and `bool
-	  semantically_equals(const Polyhedra_PowerSet&) const'.  Fixed
-	  methods ascii_dump() and ascii_load().
-
-2003-08-27 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.14),
-	  Polyhedra_PowerSet.inlines.hh (1.21): Methods `void
-	  Polyhedra_PowerSet<PH>::ascii_dump(std::ostream&) const' and
-	  `bool Polyhedra_PowerSet<PH>::ascii_load(std::istream&)' added.
-
-2003-08-27 Wednesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.58), src/Init.cc (1.9): New mechanism to allow the user
-	  to redefine the GMP memory allocation functions being 100% sure
-	  that all GMP objects are allocated and deallocated by the same
-	  functions (nasty things happen if this is not the case).
-
-2003-08-27 Wednesday 18:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* acinclude.m4 (1.4), config.h.in (1.24), configure.ac (1.100),
-	  m4/ac_cxx_attribute_weak.m4 (1.1): Check whether the C++ compiler
-	  supports __attribute__ ((weak)).
-
-2003-08-26 Tuesday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.18), AskTell.inlines.hh (1.18),
-	  Determinate.defs.hh (1.34), Determinate.inlines.hh (1.35),
-	  Polyhedra_PowerSet.defs.hh (1.13), Polyhedra_PowerSet.inlines.hh
-	  (1.20), PowerSet.defs.hh (1.42), PowerSet.inlines.hh (1.46):
-	  Added the swap() method and the specialization of std::swap().
-
-2003-08-26 Tuesday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.21): Added a first version of the
-	  "check_containment" algorithm described in Srivastava93.
-	  Multiple inclusion guard added.
-
-2003-08-26 Tuesday 08:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.12),
-	  Polyhedra_PowerSet.inlines.hh (1.19): Added
-	  Polyhedra_PowerSet<PH>::limited_BHZ03_widening_assign().
-
-2003-08-26 Tuesday 08:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.18): TODO comment revised.
-	  Variable declaration turned into a constant declaration.
-
-2003-08-25 Monday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/bhz03widening1.cc (1.2): Ensure the widening is always
-	  called properly.
-
-2003-08-25 Monday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.186), bhz03widening1.cc (1.1): Test
-	  Polyhedra_Powerset<PH>::BHZ03_widening_assign().
-
-2003-08-25 Monday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.11),
-	  Polyhedra_PowerSet.inlines.hh (1.17): Method
-	  new_widening_assign() renamed BHZ03_widening_assign() and
-	  modified to accept a widening method on the underlying polyhedra
-	  domain.
-
-2003-08-25 Monday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.16): In BGP99 extrapolation,
-	  do pairwise reduction before collapsing.
-
-2003-08-25 Monday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.10),
-	  src/Polyhedra_PowerSet.inlines.hh (1.15), tests/Makefile.am
-	  (1.185), tests/bgp99extrapolation1.cc (1.1),
-	  tests/powersetwidening1.cc (1.8): Cleaned and simplified the code
-	  for the "simple powerset widening", now more appropriately called
-	  "BGP99 extrapolation".
-
-2003-08-25 Monday 00:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.99): Version number bumped.
-
-2003-08-25 Monday 00:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.16): Avoid two compiler warnings.
-
-2003-08-24 Sunday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/powersetwidening1.cc (1.7): 20 iterations are enough.
-
-2003-08-24 Sunday 17:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/powersetwidening1.cc (1.6): Corrected the affine image
-	  transformation.  Made the test silent.
-
-2003-08-24 Sunday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.84), ppl_c.h (1.91): Revised interface
-	  for ppl_Polyhedron_maximize() and ppl_Polyhedron_minimize().
-
-2003-08-24 Sunday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.218), src/Polyhedron.inlines.hh (1.85),
-	  src/Polyhedron_nonpublic.cc (1.15), tests/max_min1.cc (1.3),
-	  tests/max_min2.cc (1.3): Revised interface for
-	  Polyhedron::maximize() and Polyhedron::minimize().
-
-2003-08-24 Sunday 13:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.80): Section on bugfixes added for PPL 0.6.
-
-2003-08-24 Sunday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.79), src/LinExpression.cc (1.19),
-	  src/LinExpression.defs.hh (1.61): New output operator in
-	  namespace IO_Operators: std::ostream& operator<<(std::ostream&,
-	  const LinExpression&).
-
-2003-08-23 Saturday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.14): The applicability test
-	  asserted in Polyhedra_PowerSet<PH>::widening_assign() was
-	  reversed: fixed.
-
-2003-08-23 Saturday 18:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.83): Fixed indentation.
-
-2003-08-23 Saturday 18:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/powersetwidening1.cc (1.5): Counter-example for the simple
-	  powerset widening is now working as expected.
-
-2003-08-23 Saturday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/powersetwidening1.cc (1.4): Fixed an output statement.
-	  Avoid computing S(n) multiple times.
-
-2003-08-23 Saturday 16:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/powersetwidening1.cc (1.3): For readability, use an
-	  alternate output function for variables.
-
-2003-08-23 Saturday 16:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.13): In
-	  Polyhedra_PowerSet<PH>::widening_assign(const Polyhedra_PowerSet&
-	  y, ...) assert that `*this' definitely entails `y'.
-
-2003-08-23 Saturday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/powersetwidening1.cc (1.2): Started turning this program
-	  into an implementation of Enea's counterexample for the simple
-	  powerset widening.
-
-2003-08-22 Friday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: max_min1.cc (1.2), max_min2.cc (1.2): Be quiet.
-
-2003-08-22 Friday 19:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.98): Version number bumped.
-
-2003-08-22 Friday 19:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.78): Announce Polyhedron::maximize() and
-	  Polyhedron::minimize().
-
-2003-08-22 Friday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.57): New things to do before releasing PPL 0.6.
-
-2003-08-22 Friday 19:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.82), ppl_c.h (1.90): Added
-	  ppl_Polyhedron_maximize() and ppl_Polyhedron_minimize().
-
-2003-08-22 Friday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.217): Documentation for
-	  Polyhedron::maximize(const LinExpression&, ...) and
-	  Polyhedron::minimize(const LinExpression&, ...) revised.
-
-2003-08-22 Friday 18:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.184), max_min1.cc (1.1), max_min2.cc
-	  (1.1): Test Polyhedron::maximize(const LinExpression&, ...) and
-	  Polyhedron::minimize(const LinExpression&, ...).
-
-2003-08-22 Friday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.14): Method Polyhedron::max_min()
-	  implemented.
-
-2003-08-22 Friday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.13): Avoid useless iterations in
-	  Polyhedron::bounds().
-
-2003-08-22 Friday 13:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.216), Polyhedron.inlines.hh (1.84),
-	  Polyhedron_nonpublic.cc (1.12): Revised specification for the new
-	  methods Polyhedron::maximize(const LinExpression&, ...) and
-	  Polyhedron::minimize(const LinExpression&, ...).  Implementation
-	  work started.
-
-2003-08-22 Friday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator.cc (1.47): Avoid useless calls to std::ostream&
-	  std::operator<<(std::ostream& s, ...).
-
-2003-08-20 Wednesday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.215): First tentative declaration for
-	  the new maximization and minimization methods.
-
-2003-08-20 Wednesday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.56): We must explain very well that iterators can be
-	  invalidated by several (actually, almost all) operations, and
-	  that use of an invalidated iterator causes undefined behavior.
-
-2003-08-20 Wednesday 16:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (ppl-0_5-branch.1): Fixed constructor
-	  `PIFunc::PIFunc(dimension_type* v, size_t n)': it was not
-	  initializing the `empty' member.  (Thanks to Axel Simon.)
-
-2003-08-20 Wednesday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.81): Fixed constructor
-	  `PIFunc::PIFunc(dimension_type* v, size_t n)': it was not
-	  initializing the `empty' member.  (Thanks to Axel Simon.)
-
-2003-08-19 Tuesday 09:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.inlines.hh (1.12), PowerSet.defs.hh
-	  (1.41), PowerSet.inlines.hh (1.45): Lazy, much more efficient
-	  implementation of powersets.
-
-2003-08-18 Monday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.77), src/Variable.cc (1.13), src/Variable.defs.hh (1.32),
-	  tests/writevariable1.cc (1.8): The type of output functions for
-	  the class Variable, Variable::Output_Function_Type, is now
-	  defined as void Output_Function_Type(std::ostream& s, const
-	  Variable& v).  In other words, `v' is now passed by const
-	  reference and not by value.
-
-2003-08-10 Sunday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.11): Removed the final
-	  pairwise-reduction step from the 4th case of the new widening.
-
-2003-08-10 Sunday 12:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.10): Added a new case to the
-	  definition of the new widening for powerset polyhedra.
-
-2003-08-08 Friday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.9): Corrected the
-	  implementation of the new widening so that we now check for `y'
-	  not being a singleton before computing its multiset lgo
-	  information.
-
-2003-08-07 Thursday 12:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/powersetwidening1.cc (1.1): Put under CVS control.
-
-2003-08-06 Wednesday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.9),
-	  src/Polyhedra_PowerSet.inlines.hh (1.8), src/Polyhedron.defs.hh
-	  (1.214), src/Polyhedron.inlines.hh (1.83),
-	  src/Polyhedron_widenings.cc (1.12), tests/Makefile.am (1.183):
-	  Added a (rough) draft for the new widening on Polyhedra_PowerSet,
-	  using the BHRZ03 widening and based on the lgo relation induced
-	  by the BHRZ03 lgo.
-
-2003-08-06 Wednesday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.97), Watchdog/configure.ac (1.18): Allow for
-	  `mild', -O1 optimization.
-
-2003-08-04 Monday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.8): Let the PPL compile.
-
-2003-08-04 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.7),
-	  Polyhedra_PowerSet.inlines.hh (1.7), PowerSet.defs.hh (1.40),
-	  PowerSet.inlines.hh (1.44): Currect, greedy implementation of the
-	  powerset construction and of its specialization on polyhedra.
-	  (Will be replaced by a lazy implementation ASAP.)
-
-2003-08-04 Monday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.6),
-	  Polyhedra_PowerSet.inlines.hh (1.6), Polyhedron.defs.hh (1.213),
-	  Polyhedron.inlines.hh (1.82), Polyhedron_widenings.cc (1.11):
-	  Drafted functions to compute multiset lgo for the powerset
-	  domain.
-
-2003-08-02 Saturday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (1.21): Alternative implementation for
-	  SatRow::next() added in a comment.
-
-2003-07-30 Wednesday 22:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.18): Build an RPM package also for the PWL.  The
-	  Prolog interfaces depend on the PWL.
-
-2003-07-30 Wednesday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: xsb_clpq.P (1.7), xsb_clpq2.P (1.5): XSB
-	  version 2.6 still does not offer read_term/2.
-
-2003-07-30 Wednesday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.106), XSB/.cvsignore
-	  (1.3), XSB/Makefile.am (1.15), XSB/ppl_xsb.cc (1.40): Removed
-	  most of the kludges we had for supporting old versions of XSB.
-	  We now only support XSB version 2.6 and following.
-
-2003-07-28 Monday 08:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/fdl.dox (1.5), doc/gpl.dox (1.5),
-	  interfaces/Prolog/Prolog_interface.dox (1.105): No longer using
-	  Doxygen sectioning commands inside normal documentation blocks
-	  (they only work inside \page and \mainpage blocks). Instead, now
-	  using \anchor and unnumbered section headings.
-
-2003-07-22 Tuesday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.5): Ensure omega reductions
-	  in the widening and extrapolation methods.
-
-2003-07-22 Tuesday 13:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.43): PowerSet::is_top() now asserts
-	  this->is_omega_reduced().
-
-2003-07-21 Monday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.defs.hh (1.5),
-	  Polyhedra_PowerSet.inlines.hh (1.4): Limited extrapolation
-	  operators added.
-
-2003-07-20 Sunday 12:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.18), config.sub (1.17): Updated.
-
-2003-07-18 Friday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.122): Citations fixed.
-
-2003-07-18 Friday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.17), AskTell.inlines.hh (1.17): Entry
-	  point for AskTell<CS>::H79_extrapolation_assign() added.
-
-2003-07-18 Friday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.20): poly_hull_assign_if_exact() improved.
-
-2003-07-18 Friday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.inlines.hh (1.3):
-	  Polyhedra_PowerSet<PH>::collapse() improved.
-
-2003-07-16 Wednesday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/h79widening7.cc (1.2): Make sure the outcome is as
-	  expected.
-
-2003-07-16 Wednesday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/h79widening6.cc (1.3): Made silent.
-
-2003-07-16 Wednesday 15:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc (1.63), Polyhedron_widenings.cc (1.10): Corrected
-	  a bug in H79_widening_assign() and BHRZ03_combining_constraints()
-	  whereby we could have created an illegal constraint system (the
-	  bug was showing up when running the test h79widening6 with
-	  assertions enabled).	Also added an assertion to the
-	  corresponding constructor of Matrix.
-
-2003-07-16 Wednesday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.121): Updated.
-
-2003-07-16 Wednesday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.4): Comment fixed.
-
-2003-07-16 Wednesday 09:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.182), h79widening7.cc (1.1):
-	  h79widening7.cc shows there is a bug somewhere.
-
-2003-07-15 Tuesday 22:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: h79widening6.cc (1.2), mc91.cc (1.13): Brought up-to-date
-	  with respect to the rest of the library.
-
-2003-07-15 Tuesday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedra_PowerSet.defs.hh (1.3): Initial fix for the problem
-	  concerning dependent names.
-
-2003-07-15 Tuesday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.96), m4/ac_check_gmp.m4 (1.13): Separated the
-	  check for the existence of the GMP library from the check that it
-	  has been compiled with the C++ interface enabled. Changed error
-	  messages accordingly, to avoid the user getting confused.
-
-2003-07-14 Monday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.inlines.hh (1.34): Fixed two copy-and-paste
-	  errors.
-
-2003-07-14 Monday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedra_PowerSet.inlines.hh (1.2), PowerSet.defs.hh
-	  (1.39), PowerSet.inlines.hh (1.42): Lots of improvements and bug
-	  fixes.
-
-2003-07-14 Monday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.inlines.hh (1.33): Exploit pointer equality to
-	  optimize equality and containment tests.
-
-2003-07-14 Monday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.16), AskTell.inlines.hh (1.16): Several
-	  improvements.
-
-2003-07-13 Sunday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.15), AskTell.inlines.hh (1.15),
-	  Polyhedra_PowerSet.defs.hh (1.2): Fixed a few glitches.
-
-2003-07-13 Sunday 11:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.19): Several functions moved (as methods) to
-	  the Polyhedra_PowerSet class.
-
-2003-07-13 Sunday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.64), Polyhedra_PowerSet.defs.hh (1.1),
-	  Polyhedra_PowerSet.inlines.hh (1.1), Polyhedra_PowerSet.types.hh
-	  (1.1): The powerset construction instantiated on PPL polyhedra.
-
-2003-07-13 Sunday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.38), PowerSet.inlines.hh (1.41):
-	  Rewritten so as to be truly generic.
-
-2003-07-13 Sunday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.14), AskTell.inlines.hh (1.14): Includes
-	  fixed.  Comment added.
-
-2003-07-10 Thursday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.181), h79widening6.cc (1.1): Test the
-	  simple powerset widening.
-
-2003-07-10 Thursday 17:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.18): Includes fixed.  Simple powerset
-	  widening reimplemented.
-
-2003-07-10 Thursday 17:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.14): Wrong call to
-	  Polyhedron::throw_topology_incompatible() replaced with call to
-	  Polyhedron::throw_dimension_incompatible().
-
-2003-07-10 Thursday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.63): Obsolete stuff out, AskTell class in.
-
-2003-07-10 Thursday 17:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.33), Determinate.inlines.hh (1.32):
-	  Big exception-safety bug fixed.  Some obsolete stuff removed.
-
-2003-07-10 Thursday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.37), PowerSet.inlines.hh (1.40),
-	  PowerSet.types.hh (1.5): Several improvements.
-
-2003-07-10 Thursday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.13), AskTell.inlines.hh (1.13),
-	  AskTell.types.hh (1.5), LCompare.defs.hh (1.6),
-	  LCompare.inlines.hh (1.5), LCompare.types.hh (1.5): Started
-	  reimplementing the AskTell class from scratch.
-
-2003-07-10 Thursday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.55): We must not forget to harmonize all the methods void
-	  PPL::Polyhedron::throw_...(): now they build error messages
-	  according to (confusingly) different styles.
-
-2003-07-05 Saturday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/mc91.cc (1.12): Call PowerSet:add_disjunct() instead of the
-	  no longer existing PowerSet::inject().
-
-2003-07-05 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Watchdog.cc (1.12): Delete statement uncommented.
-
-2003-07-05 Saturday 17:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.17): Added simple widening on powersets of
-	  polyhedra.  They are based on the extrapolation operators but
-	  enforce a maximum number of polyhedra in the destination
-	  powerset.
-
-2003-07-05 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.36), PowerSet.inlines.hh (1.39): Added
-	  template <typename CS> void PowerSet<CS>::pop_back().
-
-2003-07-01 Tuesday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.35), PowerSet.inlines.hh (1.38),
-	  algorithms.hh (1.16): PowerSet::inject() renamed
-	  PowerSet::add_disjunct().
-
-2003-07-01 Tuesday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.12), AskTell.inlines.hh (1.12):
-	  AskTell::inject() renamed AskTell::add_pair().
-
-2003-07-01 Tuesday 09:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.inlines.hh (1.81), PowerSet.defs.hh (1.34):
-	  Corrected minor typo.  Renamed PowerSet::add_disjunct as
-	  PowerSet::inject.
-
-2003-06-17 Tuesday 23:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh, Polyhedron_widenings.cc
-	  (alt_lgo.[1,1]): Initial support for the "facing constraints"
-	  technique, as provided by Pat.
-
-2003-06-17 Tuesday 23:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.defs.hh (1.33): Comments revised.  Some cleaning.
-
-2003-05-24 Saturday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* install-sh (1.5): Updated.
-
-2003-05-15 Thursday 07:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.54): Started drafting a list of enhancements for PPL 0.6.
-
-2003-05-07 Wednesday 21:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/algorithms.hh (ppl-0_5-branch.1): Functon linear_partition()
-	  excluded from the user manual version 0.5.
-
-2003-05-07 Wednesday 21:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Determinate.defs.hh, PowerSet.defs.hh
-	  (ppl-0_5-branch.[1,1]): Determinate and PowerSet template classes
-	  excluded from the user manual of version 0.5.
-
-2003-05-04 Sunday 19:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.10), doc/devref-browse.doxyconf-latex.in (1.32),
-	  doc/devref-print.doxyconf-latex.in (1.32),
-	  doc/devref.doxyconf-html.in (1.33), src/Determinate.defs.hh
-	  (1.32), src/Determinate.inlines.hh (1.31), src/PowerSet.defs.hh
-	  (1.32), src/PowerSet.inlines.hh (1.37): In the STANDARDS,
-	  explained how the Doxygen documentation of a non-member method
-	  has to be related to a templatic class.  Added or improved the
-	  documentation of Determinate and PowerSet. Let these files be
-	  included in the devref manual (they were already in the user
-	  manual).
-
-2003-05-01 Thursday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/fdl.dox (ppl-0_5-branch.1): \ingroup replaced by \addtogroup,
-	  since otherwise the documentation page is not included in the
-	  produced manuals.
-
-2003-05-01 Thursday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/fdl.dox (1.4): \ingroup replaced by \addtogroup, since
-	  otherwise the documentation page is not included in the produced
-	  manuals.
-
-2003-05-01 Thursday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in,
-	  devref-print.doxyconf-latex.in, devref.doxyconf-html.in
-	  (ppl-0_5-branch.[1,1,1]): List CATCH_ALL in EXPAND_AS_DEFINED.
-	  This is a temporary kludge to get around a bug in Doxygen whereby
-	  occurrences of CATCH_ALL are otherwise interpreted as namespace
-	  declarations.
-
-2003-05-01 Thursday 10:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.31),
-	  devref-print.doxyconf-latex.in (1.31), devref.doxyconf-html.in
-	  (1.32): List CATCH_ALL in EXPAND_AS_DEFINED.	This is a temporary
-	  kludge to get around a bug in Doxygen whereby occurrences of
-	  CATCH_ALL are otherwise interpreted as namespace declarations.
-
-2003-04-30 Wednesday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (ppl-0_5-branch.1), Matrix.defs.hh (1.50):
-	  Use \genfrac instead of \atop, since the latter causes problems
-	  with the amsmath package.
-
-2003-04-30 Wednesday 20:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (ppl-0_5-branch.1), Polyhedron.defs.hh
-	  (1.212): Name the parameters of conversion() in a consistent way.
-
-2003-04-30 Wednesday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.95): Version number bumped.
-
-2003-04-27 Sunday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, Watchdog/ChangeLog, Watchdog/NEWS, Watchdog/README,
-	  Watchdog/configure.ac (ppl-0_5-branch.[2,2,1,1,1]): Synchronize
-	  with the main trunk.
-
-2003-04-27 Sunday 21:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_5-branch.1): Update version.
-
-2003-04-27 Sunday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_5-branch.[1,1]): Mark
-	  ChangeLog.
-
-2003-04-27 Sunday 21:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.16), Watchdog/ChangeLog (1.6): Updated.
-
-2003-04-27 Sunday 21:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.17): Version number bumped.
-
-2003-04-27 Sunday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.15), Watchdog/ChangeLog (1.5): Updated.
-
-2003-04-27 Sunday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: ChangeLog (1.4), NEWS (1.3), README (1.5): Updated for
-	  release 0.2.
-
-2003-04-27 Sunday 21:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.53), ChangeLog (1.14): Updated.
-
-2003-04-27 Sunday 20:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.13): Updated.
-
-2003-04-27 Sunday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.76): Reorganized.
-
-2003-04-27 Sunday 16:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BoundingBox.cc (1.7), BoundingBox.defs.hh (1.10),
-	  BoundingBox.inlines.hh (1.10), Polyhedron.inlines.hh (1.80):
-	  Added Doxygen comments for class BoundingBox.  Method
-	  Polyehdron::shrink_bounding_box() adapted to the lack of default
-	  constructors for LBoundary and UBoundary.
-
-2003-04-27 Sunday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Interval.cc (1.8), Interval.defs.hh (1.15),
-	  Interval.inlines.hh (1.10): Added Doxygen comments to classes
-	  ERational, Boundary, LBoundary, UBoundary, Interval. Removed all
-	  the comparison operators that are not currently used in the
-	  sources. Removed the default constructors for LBoundary and
-	  UBoundary.  Made explicit that the Interval class, as it is
-	  defined, can only manipulate standard (i.e., non-extended)
-	  rational intervals.
-
-2003-04-27 Sunday 16:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.defs.hh (1.72): Added a scary comment to Row::assign(),
-	  since its improper use may cause memory leaks.
-
-2003-04-27 Sunday 16:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.211): In the documentation of
-	  shrink_bounding_box, we now state that we will always call
-	  raise_lower_bound and lower_upper_bound with fractions in
-	  canonical form.
-
-2003-04-27 Sunday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.30),
-	  devref-print.doxyconf-latex.in (1.30), devref.doxyconf-html.in
-	  (1.31): Added files Interval.* and BoundingBox.* to the
-	  documentation of the developers.
-
-2003-04-27 Sunday 12:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/writevariable1.cc (1.7): Pass objects of type `Variable' by
-	  value.
-
-2003-04-27 Sunday 11:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: LinExpression.cc (1.18), LinExpression.defs.hh (1.60),
-	  LinExpression.inlines.hh (1.28), Polyhedron.defs.hh (1.210),
-	  Polyhedron_public.cc (1.13), Variable.cc (1.12), Variable.defs.hh
-	  (1.31), Variable.inlines.hh (1.16): Be consistent: always pass
-	  objects of type `Variable' by value.
-
-2003-04-27 Sunday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BoundingBox.cc (1.6), BoundingBox.inlines.hh (1.9),
-	  ConSys.cc (1.66), ConSys.inlines.hh (1.30), Constraint.cc (1.39),
-	  Constraint.inlines.hh (1.47), GenSys.cc (1.84), GenSys.inlines.hh
-	  (1.31), Generator.cc (1.46), Generator.inlines.hh (1.41): Declare
-	  variables `const' whenever possible or desirable.  Other little
-	  improvements.
-
-2003-04-27 Sunday 10:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (1.62): Fixed a typo in a comment.
-
-2003-04-27 Sunday 09:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.9): Avoid unnecessary explicit
-	  initialization of vectors.
-
-2003-04-27 Sunday 09:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.8): Some debugging output removed.
-
-2003-04-27 Sunday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_widenings.cc (1.7): Declare variables `const'
-	  whenever possible or desirable.
-
-2003-04-26 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.12): Declare variables `const'
-	  whenever possible or desirable.
-
-2003-04-26 Saturday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.11): Declare variables `const'
-	  whenever possible or desirable.
-
-2003-04-26 Saturday 19:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.16): Updated.
-
-2003-04-26 Saturday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.75): Tentative release date for PPL 0.5 is April 28,
-	  2003.
-
-2003-04-26 Saturday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatMatrix.cc (1.27), SatMatrix.inlines.hh (1.20): Declare
-	  variables `const' whenever possible or desirable.
-
-2003-04-26 Saturday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatRow.cc (1.20), SatRow.inlines.hh (1.27): Declare
-	  variables `const' whenever possible or desirable.
-
-2003-04-26 Saturday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (1.61): Added comments to Matrix::sort_rows(first,
-	  last).
-
-2003-04-26 Saturday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.74), TODO (1.52): Widening with tokens announced in the
-	  NEWS file.
-
-2003-04-26 Saturday 07:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.80), ppl_c.h (1.89): Stick to the C89
-	  standard.
-
-2003-04-26 Saturday 07:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.51): We must announce widening with tokens in the NEWS
-	  file.
-
-2003-04-25 Friday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.15): Changes made elsewhere (removal of the
-	  comparison operators over polyhedra and introduction of widenings
-	  with tokens) now reflected here.
-
-2003-04-25 Friday 21:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.50): All the functionalities are available in all
-	  interfaces.  The documentation for Polyhedron::map_dimensions()
-	  and its wrappers for all the interfaces is OK.
-
-2003-04-24 Thursday 22:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.73), TODO (1.49), doc/definitions.dox (1.120),
-	  interfaces/C/ppl_c.cc (1.79), interfaces/C/ppl_c.h (1.88),
-	  interfaces/Prolog/Prolog_interface.dox (1.104),
-	  interfaces/Prolog/pl_check.pl (1.66),
-	  interfaces/Prolog/ppl_prolog.icc (1.115),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.57),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.38),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.52),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.76),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.25),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.39),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.70), src/Determinate.defs.hh
-	  (1.31), src/Determinate.inlines.hh (1.30), src/Polyhedron.defs.hh
-	  (1.209), src/Polyhedron.inlines.hh (1.79), src/PowerSet.defs.hh
-	  (1.31), src/PowerSet.inlines.hh (1.36), tests/Makefile.am
-	  (1.180), tests/mapdim1.cc (1.1), tests/remapdim1.cc (1.3): The
-	  "remap_dimensions" operation is now called "map_dimensions".
-
-2003-04-23 Wednesday 14:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.103), pl_check.pl
-	  (1.65): Improved grammar specification for Prolog interface.
-	  Amended remap test so that it does not refer to unused
-	  (singleton) variable D.
-
-2003-04-22 Tuesday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: conversion.cc (1.50), minimize.cc (1.34), simplify.cc
-	  (1.32): Declare variables `const' whenever possible or desirable.
-
-2003-04-22 Tuesday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron_chdims.cc (1.7), Polyhedron_nonpublic.cc (1.10),
-	  Polyhedron_public.cc (1.11), Polyhedron_widenings.cc (1.6):
-	  Consistently use `space_dim' instead of `space_dimension()' from
-	  within the Polyhedron class.
-
-2003-04-22 Tuesday 08:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.cc (1.60), Matrix.inlines.hh (1.34), Row.cc (1.56),
-	  Row.inlines.hh (1.41): Declare variables `const' whenever
-	  possible or desirable.
-
-2003-04-20 Sunday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.87),
-	  interfaces/Prolog/Prolog_interface.dox (1.102),
-	  interfaces/Prolog/pl_check.pl (1.64),
-	  interfaces/Prolog/ppl_prolog.icc (1.114), src/Polyhedron.defs.hh
-	  (1.208), src/Polyhedron.inlines.hh (1.78), tests/remapdim1.cc
-	  (1.2): Changed the documentation of the remapping operator to
-	  refer to the specification provided in doc/definitions.dox;
-	  changed the tests to avoid experimenting with cases when the
-	  behavior is undefined; no longer insisting that the partial
-	  function is injective (since this is required but it is not
-	  enough to obtain a well-defined behavior).
-
-2003-04-19 Saturday 10:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.179), remapdim1.cc (1.1), renamedim1.cc
-	  (1.3): Test program renamedim1.cc renamed remapdim1.cc.
-
-2003-04-18 Friday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.119), doc/devref-browse.doxyconf-latex.in
-	  (1.29), doc/devref-print.doxyconf-latex.in (1.29),
-	  doc/devref.doxyconf-html.in (1.30),
-	  doc/user-browse.doxyconf-latex.in (1.16),
-	  doc/user-print.doxyconf-latex.in (1.16),
-	  doc/user.doxyconf-html.in (1.18), interfaces/C/ppl_c.cc (1.78),
-	  interfaces/C/ppl_c.h (1.86),
-	  interfaces/Prolog/Prolog_interface.dox (1.101),
-	  interfaces/Prolog/pl_check.pl (1.63),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.7),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.19),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.56),
-	  interfaces/Prolog/GNU/Makefile.am (1.30),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.13),
-	  interfaces/Prolog/SICStus/Makefile.am (1.36),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.6),
-	  interfaces/Prolog/SWI/Makefile.am (1.28),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.75),
-	  interfaces/Prolog/XSB/Makefile.am (1.14),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.38),
-	  interfaces/Prolog/YAP/Makefile.am (1.22),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.69), m4/Makefile.am (1.9),
-	  m4/ac_check_gmp.m4 (1.12), m4/ac_cxx_flexible_arrays.m4 (1.6),
-	  src/ConSys.cc (1.65), src/GenSys.cc (1.83), src/GenSys.defs.hh
-	  (1.92), src/Generator.defs.hh (1.84), src/Matrix.cc (1.59),
-	  src/Matrix.defs.hh (1.49), src/NNC_Polyhedron.defs.hh (1.22),
-	  src/Poly_Con_Relation.defs.hh (1.22), src/Polyhedron.defs.hh
-	  (1.207), src/Polyhedron.inlines.hh (1.77),
-	  src/Polyhedron_chdims.cc (1.6), src/Polyhedron_nonpublic.cc
-	  (1.9), src/Polyhedron_public.cc (1.10),
-	  src/Polyhedron_widenings.cc (1.5), src/PowerSet.inlines.hh
-	  (1.35), src/Row.cc (1.55), src/Row.defs.hh (1.71),
-	  src/SatMatrix.cc (1.26), src/SatMatrix.defs.hh (1.32),
-	  src/SatRow.cc (1.19), src/SatRow.defs.hh (1.31), src/Status.cc
-	  (1.21), src/conversion.cc (1.49), src/minimize.cc (1.33),
-	  src/simplify.cc (1.31): Trailing blanks removed.
-
-2003-04-18 Friday 19:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.72), TODO (1.48), interfaces/C/ppl_c.cc (1.77),
-	  interfaces/C/ppl_c.h (1.85),
-	  interfaces/Prolog/Prolog_interface.dox (1.100),
-	  interfaces/Prolog/pl_check.pl (1.62),
-	  interfaces/Prolog/ppl_prolog.icc (1.113),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.55),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.37),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.51),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.74),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.24),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.37),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.68), src/Determinate.defs.hh
-	  (1.30), src/Determinate.inlines.hh (1.29), src/Polyhedron.defs.hh
-	  (1.206), src/Polyhedron.inlines.hh (1.76), src/PowerSet.defs.hh
-	  (1.30), src/PowerSet.inlines.hh (1.34), tests/renamedim1.cc
-	  (1.2): The "rename_dimensions" operation is now called
-	  "remap_dimensions".
-
-2003-04-18 Friday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.118): Section about "Remapping the
-	  Dimension of the Vector Space" rewritten.
-
-2003-04-18 Friday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/ppl.sty (1.12): New macro \pard[3] to typeset the signature
-	  of a partial function.
-
-2003-04-17 Thursday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.117), src/ConSys.cc (1.64),
-	  src/Matrix.defs.hh (1.48), src/Polyhedron_nonpublic.cc (1.8):
-	  Prefer "zeroes" to "zeros".
-
-2003-04-17 Thursday 22:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.112): The Boundary_Kind enum
-	  is now confined into the anonymous namespace.
-
-2003-04-17 Thursday 22:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Watchdog.cc (1.11), interfaces/Prolog/ppl_prolog.icc
-	  (1.111): Prefer anonymous namespaces to static declarations.
-
-2003-04-17 Thursday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.110),
-	  src/BoundingBox.inlines.hh (1.8), src/Interval.cc (1.7),
-	  src/Interval.defs.hh (1.14), src/Interval.inlines.hh (1.9),
-	  src/Interval.types.hh (1.6), src/Polyhedron.inlines.hh (1.75):
-	  Class `ExtendedRational' renamed `ERational'.
-
-2003-04-17 Thursday 19:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.47), src/Matrix.defs.hh (1.47), src/Matrix.inlines.hh
-	  (1.33): Fixed the comments of the following methods of Matrix:
-	  void grow(dimension_type new_n_rows, dimension_type
-	  new_n_columns); void resize_no_copy(dimension_type new_n_rows,
-	  void add_rows_and_columns(dimension_type n).
-
-2003-04-17 Thursday 19:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.94): Version number bumped.
-
-2003-04-17 Thursday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.21): Target `check-local'
-	  fixed.
-
-2003-04-17 Thursday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.20): Remove ciao_clpq and
-	  ciao_clpq2 when cleaning.
-
-2003-04-17 Thursday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.29): Remove check_script3
-	  when cleaning.
-
-2003-04-17 Thursday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.20): Distribute also
-	  yap_pl_check.pl.
-
-2003-04-17 Thursday 07:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.28): Distribute also
-	  gnu_pl_check.pl.
-
-2003-04-16 Wednesday 07:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.99): Small corrections
-	  made.
-
-2003-04-16 Wednesday 05:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.23): Distribute expected3.
-
-2003-04-15 Tuesday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.22): Distribute also
-	  pl_check.pl.
-
-2003-04-15 Tuesday 19:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.71), TODO (1.46), interfaces/C/ppl_c.cc (1.76),
-	  interfaces/C/ppl_c.h (1.84),
-	  interfaces/Prolog/Prolog_interface.dox (1.98),
-	  interfaces/Prolog/pl_check.pl (1.61),
-	  interfaces/Prolog/ppl_prolog.icc (1.109),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.54),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.36),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.50),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.73),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.23),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.36),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.67), src/C_Polyhedron.cc
-	  (1.6), src/Determinate.inlines.hh (1.28), src/Polyhedron.defs.hh
-	  (1.205), src/Polyhedron.inlines.hh (1.74),
-	  src/Polyhedron_public.cc (1.9), tests/bounded1.cc (1.12),
-	  tests/disjoint1.cc (1.6), tests/disjoint2.cc (1.7),
-	  tests/disjoint3.cc (1.6), tests/empty1.cc (1.13),
-	  tests/intersection2.cc (1.9), tests/linearpartition1.cc (1.12),
-	  tests/linearpartition2.cc (1.12), tests/linearpartition3.cc
-	  (1.12), tests/randphull1.cc (1.9), tests/smm1.cc (1.14),
-	  tests/timeelapse5.cc (1.8), tests/topclosed1.cc (1.6),
-	  tests/topclosed2.cc (1.5), tests/topclosed3.cc (1.7),
-	  tests/universe1.cc (1.9), tests/universe2.cc (1.10),
-	  tests/universe3.cc (1.10), tests/universe4.cc (1.10),
-	  tests/universe5.cc (1.11), tests/universe6.cc (1.8): The methods
-	  Polyhedron::check_empty() and Polyhedron::check_universe() have
-	  been renamed is_empty() and is_universe(), respectively.  The
-	  function check_disjoint(const Polyhedron&, const Polyhedron&) had
-	  been replaced by method Polyhedron::is_disjoint_from(const
-	  Polyhedron&).  The methods Polyhedron::check_bounded() and
-	  Polyhedron::check_topologically_closed() have been renamed
-	  is_bounded() and is_topologically_closed(), respectively.
-
-2003-04-15 Tuesday 19:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.19): Distribute also
-	  ciao_clpq2.pl.
-
-2003-04-15 Tuesday 13:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.204), Polyhedron.inlines.hh (1.73),
-	  Polyhedron_chdims.cc (1.5), Polyhedron_nonpublic.cc (1.7),
-	  Polyhedron_public.cc (1.8), Polyhedron_widenings.cc (1.4):
-	  Polyhedron::is_empty() renamed Polyhedron::marked_empty().
-
-2003-04-15 Tuesday 13:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.16), Watchdog/ltmain.sh (1.5): Updated.
-
-2003-04-15 Tuesday 09:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.70), interfaces/C/ppl_c.cc (1.75),
-	  interfaces/Prolog/ppl_prolog.icc (1.108), src/ConSys.defs.hh
-	  (1.79), src/GenSys.defs.hh (1.91), src/Generator.defs.hh (1.83),
-	  src/Polyhedron.defs.hh (1.203), src/Polyhedron.inlines.hh (1.72),
-	  src/Polyhedron_public.cc (1.7), src/Polyhedron_widenings.cc
-	  (1.3), tests/Makefile.am (1.178), tests/NNCinclusion1.cc (1.7),
-	  tests/contains1.cc (1.4), tests/contains2.cc (1.1),
-	  tests/contains3.cc (1.1), tests/contains4.cc (1.1),
-	  tests/contains5.cc (1.1), tests/exceptions1.cc (1.34),
-	  tests/exceptions2.cc (1.28), tests/inclusion1.cc (1.7),
-	  tests/inclusion2.cc (1.4), tests/linearpartition1.cc (1.11),
-	  tests/linearpartition2.cc (1.11), tests/linearpartition3.cc
-	  (1.11), tests/operator1.cc (1.5): The functions
-	  Polyhedron::operator<=(const Polyhedron&, const Polyhedron&),
-	  Polyhedron::operator>=(const Polyhedron&, const Polyhedron&),
-	  Polyhedron::operator<(const Polyhedron&, const Polyhedron&), and
-	  Polyhedron::operator>(const Polyhedron&, const Polyhedron&) have
-	  been removed.  The methods Polyhedron::contains(const
-	  Polyhedron&) and Polyhedron::strictly_contains(const Polyhedron&)
-	  provide the same functionality.
-
-2003-04-14 Monday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.202), Polyhedron_nonpublic.cc (1.6),
-	  Polyhedron_public.cc (1.6): Polyhedron::is_included(const
-	  Polyhedron&) renamed Polyhedron::is_included_in(const
-	  Polyhedron&).
-
-2003-04-14 Monday 12:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.60), Ciao/ppl_ciao.pl (1.53):
-	  The ciao system now allows for
-	  ppl_Polyhedron_generalized_affine_image to fail.  This is now
-	  tested in pl_check.
-
-2003-04-14 Monday 11:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.59), Ciao/ppl_ciao.pl (1.52):
-	  This allows for failure in ciao for timeout_exception_atom when
-	  the atom given does not unify with the current value and also for
-	  the new_Polyhedron predicates when unifying the new handle with
-	  the input value.  In order to test this, the tests in pl_check
-	  assume that unifying a new handle with value 0 will fail.
-
-2003-04-13 Sunday 21:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/expected2 (1.8): Adapted to strong
-	  normalization.
-
-2003-04-13 Sunday 13:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.63), GenSys.cc (1.82), Matrix.cc (1.58),
-	  Matrix.defs.hh (1.46), Row.cc (1.54), Row.defs.hh (1.70),
-	  simplify.cc (1.30): Added a boolean parameter to Matrix::OK() to
-	  control whether or not we also want to check for strong
-	  normalization of the rows in the matrix.  Strong normalization is
-	  now checked when this might be useful, i.e., avoiding bare
-	  repetitions of the same check.  Also added a method
-	  Row::check_strongly_normalized() with the obvious semantics.
-
-2003-04-13 Sunday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.18): Do not use the
-	  GLOBALSTKSIZE kludge for testing with clpq2.pl.
-
-2003-04-13 Sunday 09:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.51): Indentation fixed.
-
-2003-04-12 Saturday 20:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/expected2 (1.10): Updated according to the
-	  enforcing of strong-normalization.
-
-2003-04-12 Saturday 20:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplify.cc (1.29): Method Polyhedron::simplify(mat, sat)
-	  takes as 1st input argument a well-formed Matrix mat.  When a
-	  ray-point-inequality is transformed into a line-equality,
-	  sign_normalization is applied to enforce strong-normalization.
-	  Well-formedness of mat also asserted on exit.
-
-2003-04-12 Saturday 20:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (1.57): Methods Matrix::gauss() and
-	  Matrix::back_substitute() are applied to well-formed matrices and
-	  will return well-formed matrices.  Corrected a bug in the
-	  handling of the sortedness flag in back_substitute().  Method
-	  Matrix::OK() now also checks strong normalization of rows.
-
-2003-04-12 Saturday 20:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Row.cc (1.53), Row.defs.hh (1.69), Row.inlines.hh (1.40):
-	  Strong normalization of rows made inline and implemented by
-	  calling Row::normalize() and Row::sign_normalize().
-
-2003-04-11 Friday 08:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.62), GenSys.cc (1.81): Fixed a couple of
-	  comments.
-
-2003-04-11 Friday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.15), Watchdog/ltmain.sh (1.4): Updated.
-
-2003-04-11 Friday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.61), Constraint.cc (1.38),
-	  Constraint.inlines.hh (1.46), GenSys.cc (1.80), Generator.cc
-	  (1.45), Matrix.cc (1.56), Matrix.inlines.hh (1.32), Row.cc
-	  (1.52), Row.defs.hh (1.68), conversion.cc (1.48), simplify.cc
-	  (1.28): Commit to EXTRA_NORMALIZATION=1.
-
-2003-04-10 Thursday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.60), GenSys.cc (1.79), Polyhedron_widenings.cc
-	  (1.2), conversion.cc (1.47): Strong normalization of rows called
-	  when EXTRA_NORMALIZATION is set; otherwise use (simple)
-	  normalization.
-
-2003-04-10 Thursday 12:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.59), GenSys.cc (1.78), Matrix.defs.hh (1.45),
-	  Matrix.inlines.hh (1.31), Polyhedron_chdims.cc (1.4): Added
-	  method Matrix::remove_columns(dimension_type new_n_columns) with
-	  the expected semantics. The method ensures that the resulting
-	  matrix is in normal form, thus correcting the bug shown by
-	  removedim10.cc.  The new method is now used everywhere we remove
-	  columns from a matrix.
-
-2003-04-10 Thursday 11:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/removedim10.cc (1.2): Corrected the known result.
-
-2003-04-10 Thursday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.177), removedim10.cc (1.1): New test
-	  showing a bug whereby rows of matrices are not re-normalized
-	  after the removal of some columns.
-
-2003-04-10 Thursday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/removedim9.cc (1.5): Indentation fixed.
-
-2003-04-09 Wednesday 09:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.9): Improved the section about the production of
-	  Doxygen documentation.
-
-2003-04-09 Wednesday 09:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.58): Changed the way variables
-	  are bound to dimension names.  This avoids a problem due to a bug
-	  in XSB.
-
-2003-04-08 Tuesday 19:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.45): For the moment, it is convenient to have
-	  Matrix::set_sorted(bool value) instead of, say,
-	  Matrix::set_sorted() and Matrix::set_unsorted().  Sortedness will
-	  have to be dealt with at a more fundamental level anyway.
-
-2003-04-08 Tuesday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.lsm.in (1.4): Updated.
-
-2003-04-08 Tuesday 19:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.44): Section on "Constructions on Polyhedra" revised.
-	  Minor fix in the section about "Cutting-Plane Methods".
-
-2003-04-08 Tuesday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.43): Remove the section about designing and
-	  implementating strict weak orderings on polyhedra.
-
-2003-04-08 Tuesday 19:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.15): Updated.
-
-2003-04-08 Tuesday 18:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.5): Copyright symbol added.
-
-2003-04-08 Tuesday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.12): Updated.
-
-2003-04-08 Tuesday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.7): Minor correction.
-
-2003-04-08 Tuesday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.97): Information on how
-	  to use the XSB interface added.
-
-2003-04-08 Tuesday 16:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/SatMatrix.defs.hh (1.31): Added short Doxygen description and
-	  improved the long one for SatMatrix.
-
-2003-04-08 Tuesday 13:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.49): Added missing
-	  definitions for
-	  ppl_Polyhedron_limited_H79_extrapolation_assign_with_token and
-	  ppl_Polyhedron_bounded_H79_extrapolation_assign_with_token.
-
-2003-04-08 Tuesday 13:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.322): Implementation file Polyhedron.cc has
-	  been split in 4 chunks: - Polyhedron_widenings.cc contains the
-	  definitions of (non-inline) functions   related to widening and
-	  extrapolation operators; - Polyhedron_chdims.cc contains the
-	  definitions of (non-inline) functions   that change the space
-	  dimensions; - Polyhedron_public.cc contains the definitions of
-	  all the other public	 (non-inline) functions -
-	  Polyhedron_nonpublic.cc contains the definitions of all the other
-	  non-public (i.e., private or protected) (non-inline) functions.
-
-2003-04-08 Tuesday 13:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron_chdims.cc (1.3), Polyhedron_nonpublic.cc (1.5),
-	  Row.defs.hh (1.67), statistics.hh (1.2): Added Doxygen
-	  documentation for a few #define's.
-
-2003-04-08 Tuesday 10:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.57), Ciao/ppl_ciao.pl (1.50):
-	  Added code and test to allow for Prolog failure in the
-	  ppl_Polyhedron_generalized_affine_image_lhs_rhs/4 predicate.
-
-2003-04-08 Tuesday 09:39  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.56): Added tests for Prolog
-	  failure for the "with_token" predicates.  Some reorganisation of
-	  the widening/extrapolation tests.
-
-2003-04-08 Tuesday 09:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.49): Modified the
-	  "with_token" predicates to allow for Prolog failure.
-
-2003-04-08 Tuesday 08:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.29), PowerSet.inlines.hh (1.33): Added
-	  \relates command for functions working on class template
-	  PowerSet.
-
-2003-04-08 Tuesday 08:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.defs.hh (1.66): Improved the detailed Doxygen description
-	  of class Row.
-
-2003-04-08 Tuesday 08:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.29), Determinate.inlines.hh (1.27):
-	  Added a few \relates commands, which however show a bug in the
-	  handling of template specializations by Doxygen.
-
-2003-04-08 Tuesday 08:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LinExpression.cc (1.17): Added missing \relates Doxygen
-	  commands.
-
-2003-04-07 Monday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.14), Watchdog/ltmain.sh (1.3): Updated.
-
-2003-04-07 Monday 08:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.48): The local definition
-	  of many of the ppl predicates changed to allow for Prolog
-	  failure.  Some missing predicates added.
-
-2003-04-07 Monday 08:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.55): Tests have been improved
-	  and extended to check negation and Prolog failure.  Some
-	  reorganisation done.
-
-2003-04-07 Monday 07:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.35):
-	  ppl_Polyhedron_limited_H79_extrapolation_assign_with_token was
-	  missing - is now added.
-
-2003-04-06 Sunday 18:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.84), Constraint.inlines.hh (1.45),
-	  Generator.defs.hh (1.82), Generator.inlines.hh (1.40),
-	  LinExpression.defs.hh (1.59), LinExpression.inlines.hh (1.27),
-	  Polyhedron_public.cc (1.5): Adding a few missing \relates Doxygen
-	  commands.  Avoid adding Doxygen blocks near to *friend*
-	  declarations: comment the very function declarations instead.
-
-2003-04-06 Sunday 18:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Poly_Con_Relation.defs.hh (1.21),
-	  Poly_Con_Relation.inlines.hh (1.10), Poly_Gen_Relation.defs.hh
-	  (1.20), Poly_Gen_Relation.inlines.hh (1.10), SatRow.inlines.hh
-	  (1.26), Status.defs.hh (1.28), Status.inlines.hh (1.13): Adding a
-	  few missing \relates Doxygen commands.  Avoid adding Doxygen
-	  blocks near to *friend* declarations: comment the very function
-	  declarations instead.
-
-2003-04-06 Sunday 18:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/SatRow.defs.hh (1.30): Removed declared but unimplemented
-	  member function unsigned int size().
-
-2003-04-06 Sunday 12:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.defs.hh (1.65): Upgraded the detailed documentation of
-	  class Row to also describe the representation of NNC row objects.
-
-2003-04-05 Saturday 09:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Status.defs.hh (1.27): Modified class documentation to also
-	  consider the flags about pending constraints and generators.
-	  Moved Doxygen comments from friend declaration to the real
-	  function declaration. Avoid using preproc flag PPL_DOXYGEN_HYDE_
-	  IMPLEMENTATION_DETAILS when useless, i.e., when we are inside a
-	  class whose documentation is already hidden.
-
-2003-04-05 Saturday 09:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc (1.55), Matrix.defs.hh (1.44): Adjusted a couple
-	  of Doxygen and code comments.
-
-2003-04-01 Tuesday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.93): Fixed a bug whereby building of the SICStus
-	  Prolog interface was attempted even if deemed to fail because the
-	  sicstus.h include could not be found.
-
-2003-04-01 Tuesday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron_public.cc (1.4), SatRow.cc (1.18): Added four
-	  \relates Doxygen commands to correctly match declaration and
-	  definition of functions in the devref manual.
-
-2003-03-31 Monday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.83): Missing inline qualification added.
-
-2003-03-31 Monday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.13): Updated.
-
-2003-03-28 Friday 10:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.92): When checking for the presence of source
-	  files, avoid testing for `Polyhedron.cc', who is going to be
-	  removed from the repository.
-
-2003-03-27 Thursday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.42): New items to be checked.
-
-2003-03-27 Thursday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.54): Comments of Matrix::operator=(const Matrix&
-	  y) made more precise.
-
-2003-03-27 Thursday 14:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.inlines.hh (1.39): Indentation of preprocessing
-	  directives fixed.
-
-2003-03-27 Thursday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.51): Row::Impl::copy_construct() slightly improved.
-
-2003-03-27 Thursday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.inlines.hh (1.30): Spacing adjusted.
-
-2003-03-25 Tuesday 18:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.96), pl_check.pl
-	  (1.54): The documentation for the relations_with predicates
-	  corrected.  The tests for the relations_with predicates improved.
-
-2003-03-25 Tuesday 11:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.71): Inline functions should be
-	  *defined* before they are used.
-
-2003-03-19 Wednesday 09:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.53): All tests now test both c
-	  and nnc polyhedra.  Some more checks on the interface
-	  incorporated into these tests.
-
-2003-03-19 Wednesday 08:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/permute.cc (1.30): Avoid unnecessary calls to
-	  append_size_rel.
-
-2003-03-19 Wednesday 07:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/permute.cc (1.29): Bug fixed
-
-2003-03-18 Tuesday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/SatRow.defs.hh (1.29): Added Doxygen comment to class SatRow.
-	  Avoiding commenting friend declarations.
-
-2003-03-18 Tuesday 15:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.defs.hh (1.64): Added doxygen comment to class Row::Impl.
-
-2003-03-18 Tuesday 12:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.28),
-	  devref-print.doxyconf-latex.in (1.28), devref.doxyconf-html.in
-	  (1.29): Added input file version.hh.
-
-2003-03-18 Tuesday 11:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.inlines.hh (1.44), Row.cc (1.50), Row.defs.hh
-	  (1.63), Row.inlines.hh (1.38), SatMatrix.defs.hh (1.30),
-	  SatMatrix.inlines.hh (1.19), SatRow.defs.hh (1.28),
-	  SatRow.inlines.hh (1.25): As suggested in our STANDARDS file, let
-	  all Doxygen comments be centralized before methods declarations
-	  in file *.defs.hh.  In class Row, be careful to use the same
-	  parameter naming in declarations and definitions.  For Row and
-	  SatRow, let std::iter_swap be declared in *.defs.hh.
-
-2003-03-18 Tuesday 11:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.107), Ciao/ppl_ciao.pl
-	  (1.47): Be more general with respect to different ways of raising
-	  Prolog exceptions in C code.
-
-2003-03-18 Tuesday 10:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.95): Bug in comment for
-	  ppl_Polyhedron_OK fixed.
-
-2003-03-18 Tuesday 10:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.34): Repeated declaration
-	  removed.
-
-2003-03-18 Tuesday 08:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.94): Bug fixed in
-	  documentation of ppl_Polyhedron_OK.
-
-2003-03-18 Tuesday 08:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.33): Bug fixed.
-
-2003-03-18 Tuesday 08:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.93), pl_check.pl
-	  (1.52), ppl_prolog.icc (1.106), Ciao/ppl_ciao.pl (1.46),
-	  GNU/ppl_gprolog.pl (1.35), SICStus/ppl_sicstus_sd.cc (1.48),
-	  SWI/ppl_swiprolog.cc (1.72), XSB/ppl_xsb.H (1.22), XSB/ppl_xsb.cc
-	  (1.32), YAP/ppl_yap.cc (1.66): The "with_token" predicates added
-	  for the extrapolation operators.  The ppl_Polyhedron_OK predicate
-	  added.  The documentation predicates reorganised to match the
-	  standard ordering.  Tests added for the new predicates.
-
-2003-03-17 Monday 09:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.82): Comments fixed.
-
-2003-03-17 Monday 09:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.51): Many improvements and extra
-	  tests added.
-
-2003-03-16 Sunday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.105): Default arguments are
-	  only permitted on functions.
-
-2003-03-16 Sunday 22:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.104): Prefer anonymous
-	  namespaces to static linkage.
-
-2003-03-16 Sunday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.inlines.hh (1.70), Polyhedron_chdims.cc (1.2),
-	  Polyhedron_nonpublic.cc (1.4), Polyhedron_public.cc (1.3): A few
-	  harmless FIXME's replaced by TODO.
-
-2003-03-16 Sunday 10:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_public.cc (1.2): In affine_image(), added a
-	  comment explaining why in one case we can leave work correctly
-	  with a DD pair having pending rows.
-
-2003-03-16 Sunday 10:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron_nonpublic.cc (1.3): Preferred unset_pending_rows()
-	  wrt set_index_first_pending_row().
-
-2003-03-16 Sunday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplify.cc (1.27): Preferring unset_pending_rows() wrt
-	  set_index_first_pending_row().
-
-2003-03-16 Sunday 10:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (1.46): Dealt with a FIXME. Preferring the use
-	  of unset_pending_rows() wrt the use of set_index_first_pending(),
-	  since the first is more intuitive.
-
-2003-03-16 Sunday 10:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.77): Dealt with the CHECK ME in
-	  remove_invalid_rays_and_lines().
-
-2003-03-16 Sunday 10:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (1.58): Added a needed comment.
-
-2003-03-15 Saturday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.103): Some code duplication
-	  avoided.
-
-2003-03-15 Saturday 13:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.78), GenSys.defs.hh (1.90): Corrected
-	  typos in comments.
-
-2003-03-15 Saturday 13:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.69): Small corrections in
-	  rename_dimensions().
-
-2003-03-15 Saturday 13:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.h (1.81), ppl_c.cc (1.74): Added the
-	  equality test for polyhedra to the C interface.
-
-2003-03-14 Friday 21:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/devref-browse.doxyconf-latex.in (1.27),
-	  doc/devref-print.doxyconf-latex.in (1.27),
-	  doc/devref.doxyconf-html.in (1.28), interfaces/C/ppl_c.h (1.80),
-	  interfaces/Prolog/Prolog_interface.dox (1.92),
-	  interfaces/Prolog/ppl_prolog.icc (1.102),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.45),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.34),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.47),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.71),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.21),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.31),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.65), src/Polyhedron.defs.hh
-	  (1.201), src/Polyhedron.inlines.hh (1.68),
-	  src/Polyhedron_nonpublic.cc (1.2): Reordered the functions and
-	  their documentation in all the interfaces to follow the
-	  reorganization done in Polyhedron.defs.hh.  Adjusted Doxygen
-	  configuration files for the devref manuals to get their input
-	  from the new .cc files of class Polyhedron.
-
-2003-03-14 Friday 13:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.69), TODO (1.41), interfaces/C/ppl_c.cc (1.73),
-	  interfaces/C/ppl_c.h (1.79),
-	  interfaces/Prolog/Prolog_interface.dox (1.91),
-	  interfaces/Prolog/pl_check.pl (1.50),
-	  interfaces/Prolog/ppl_prolog.icc (1.101),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.44),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.33),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.46),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.70),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.20),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.30),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.64): Interfaces changed to
-	  match method name changes (check_bound, check_topolo- giaclly
-	  close and check_disjoint). Change reported in the NEWS.
-
-2003-03-14 Friday 13:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: bounded1.cc (1.11), disjoint1.cc (1.5), disjoint2.cc
-	  (1.6), disjoint3.cc (1.5), linearpartition1.cc (1.10),
-	  linearpartition2.cc (1.10), linearpartition3.cc (1.10),
-	  topclosed1.cc (1.5), topclosed2.cc (1.4), topclosed3.cc (1.6):
-	  Tests changed according to method renaming.
-
-2003-03-14 Friday 13:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.cc (1.5), Makefile.am (1.62), Polyhedron.cc
-	  (1.321), Polyhedron.defs.hh (1.200), Polyhedron.inlines.hh
-	  (1.67), Polyhedron_chdims.cc (1.1), Polyhedron_nonpublic.cc
-	  (1.1), Polyhedron_public.cc (1.1), Polyhedron_widenings.cc (1.1):
-	  Split file Polyhedron.cc into several files.	Methods
-	  is_bounded(), is_topologically_closed() and are_disjoint()
-	  renamed to check_bounded(), check_topologically_closed() and
-	  check_disjoint().  Documentation reorganized to match more
-	  closely the order in the introduction of the user manual, also
-	  grouping related methods.  Added exception thrower
-	  throw_runtime_error().  In the documentation, all examples using
-	  class `Polyhedron' changed to use the user-accessible class
-	  `C_Polyhedron'.
-
-2003-03-14 Friday 12:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.43), Poly_Con_Relation.defs.hh (1.20),
-	  Poly_Gen_Relation.defs.hh (1.19), Row.defs.hh (1.62),
-	  SatRow.defs.hh (1.27), Status.defs.hh (1.26): In Doxygen
-	  documentation, replaced `@name' by `\name'.
-
-2003-03-14 Friday 09:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.17): Corrected for clpq2.pl
-	  checks
-
-2003-03-13 Thursday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/: Makefile.am (1.27), gnu_pl_check.pl
-	  (1.1): Test all predicates with GNU Prolog.
-
-2003-03-13 Thursday 08:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/yap_pl_check.pl (1.2): Comment corrected.
-
-2003-03-13 Thursday 08:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.19): Dependencies fixed.
-
-2003-03-12 Wednesday 19:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.116): Another attempt at specifying the
-	  space-dimensions remapping operator.
-
-2003-03-12 Wednesday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: expected3 (1.1), YAP/Makefile.am (1.18),
-	  YAP/yap_pl_check.pl (1.1): A first attempt at integrating
-	  `pl_check.pl' into the regression testing mechanism.
-
-2003-03-12 Wednesday 19:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: user-browse.doxyconf-latex.in (1.15),
-	  user-print.doxyconf-latex.in (1.15), user.doxyconf-html.in
-	  (1.17): Hide the listing of friend compounds in the user
-	  documentation.
-
-2003-03-12 Wednesday 16:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.49): Removed the "and_minimize"
-	  from the code for the "checks" predicate.
-
-2003-03-12 Wednesday 13:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.320): Corrected a bug in
-	  Polyhedron::add_genrators() whereby a generator system was
-	  wrongly declared sorted after the inclusion of pending rows.
-
-2003-03-12 Wednesday 10:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/GNU/ppl_gprolog.pl (1.32): Added missing
-	  definitions and corrected a bug.
-
-2003-03-12 Wednesday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.176), addgenerators13.cc (1.1): New test
-	  exhibiting a bug triggered by an invocation to
-	  Polyhedron::add_generators()..
-
-2003-03-12 Wednesday 08:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.48): In many cases, predicates
-	  that are intended to cause Prolog failure in certain specified
-	  situations now tested more thoroughly.  Unnecessary uses of
-	  "and_minimize" removed.  Other general improvements.
-
-2003-03-11 Tuesday 20:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.90): Mention that we
-	  support only YAP version 4.4 or later and Ciao Prolog 1.9 #44 or
-	  later.
-
-2003-03-11 Tuesday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.100): Now all the
-	  *_and_minimize/2 predicates fail if the resulting polyhedron is
-	  empty.
-
-2003-03-11 Tuesday 17:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.99): Indentation fixed.
-
-2003-03-11 Tuesday 15:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.47), ppl_prolog.icc (1.98),
-	  Ciao/ppl_ciao.pl (1.43), GNU/ppl_gprolog.pl (1.31),
-	  SICStus/ppl_sicstus_sd.cc (1.45), SWI/ppl_swiprolog.cc (1.69),
-	  XSB/ppl_xsb.H (1.19), XSB/ppl_xsb.cc (1.29), YAP/ppl_yap.cc
-	  (1.63): The "..with_tokens" predicates are now "..with_token".
-	  The predicate ppl_Polyhedron_bounded_H79_extrapolation_assign/3
-	  added to Ciao, GNU, SICStus, XSB, and Yap.
-
-2003-03-11 Tuesday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: ciao_clpq.pl (1.6), ciao_clpq2.pl (1.2):
-	  Import as few predicates as possible.
-
-2003-03-11 Tuesday 13:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.42): Complete declarations
-	  for ppl_Polyhedron_H79_widening_assign_with_tokens/3.
-
-2003-03-11 Tuesday 11:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.46), Ciao/ppl_ciao.pl (1.41),
-	  GNU/ppl_gprolog.pl (1.30), SICStus/ppl_sicstus_sd.cc (1.44),
-	  SWI/ppl_swiprolog.cc (1.68), XSB/ppl_xsb.H (1.18), XSB/ppl_xsb.cc
-	  (1.28), YAP/ppl_yap.cc (1.62): Tests for new interface predicates
-	  added.
-
-2003-03-11 Tuesday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.97): Translate std::bad_alloc
-	  into a usable Prolog exception.
-
-2003-03-11 Tuesday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.96):
-	  PIFunc::max_in_codomain() fixed.
-
-2003-03-11 Tuesday 09:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.89): Descriptions of
-	  "with_token" predicates improved.
-
-2003-03-10 Monday 19:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: Makefile.am (1.16), ciao_clpq.pl (1.5),
-	  ciao_clpq2.pl (1.1), ppl_ciao.cc (1.18), ppl_ciao.pl (1.40): Ciao
-	  Prolog interface fixed and now part of the regression testing
-	  mechanism.
-
-2003-03-10 Monday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.68): The Prolog interface now supports also Ciao Prolog
-	  and XSB.
-
-2003-03-10 Monday 18:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.115): First attempt at describing the
-	  operator remapping dimensions.
-
-2003-03-10 Monday 12:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.114): Changed a bit the description about
-	  widenings to better clarify what has been done and we are still
-	  doing for NNC polyhedra.
-
-2003-03-10 Monday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.72), ppl_c.h (1.78): Modified the C
-	  interface to support the widening-with-tokens technique for all
-	  widening and extrapolation operators.
-
-2003-03-10 Monday 10:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.88): Descriptions for
-	  the bounded_..._extrapolation_assign predicates corrected.
-
-2003-03-10 Monday 10:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.87): Added
-	  documentation for the with_token versions of the widening
-	  predicates and for the bounded versions of the extrapolation
-	  predicates.
-
-2003-03-10 Monday 09:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.86): Prolog interface
-	  documentation reorganised with a summary list of all predicates.
-
-2003-03-09 Sunday 22:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.95): Started factorizing the
-	  implementation of the Prolog interface using pointers to members.
-
-2003-03-09 Sunday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.94), Ciao/ppl_ciao.pl
-	  (1.39), GNU/ppl_gprolog.pl (1.29), SICStus/ppl_sicstus_sd.cc
-	  (1.43), SWI/ppl_swiprolog.cc (1.67), XSB/ppl_xsb.H (1.17),
-	  XSB/ppl_xsb.cc (1.27), YAP/ppl_yap.cc (1.61): New predicate
-	  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign/3.
-
-2003-03-09 Sunday 21:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.93), Ciao/ppl_ciao.pl
-	  (1.38), GNU/ppl_gprolog.pl (1.28), SICStus/ppl_sicstus_sd.cc
-	  (1.42), SWI/ppl_swiprolog.cc (1.66), XSB/ppl_xsb.H (1.16),
-	  XSB/ppl_xsb.cc (1.26), YAP/ppl_yap.cc (1.60): New predicate
-	  ppl_Polyhedron_BHRZ03_widening_assign_with_tokens/3.
-
-2003-03-09 Sunday 21:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.71), ppl_c.h (1.77): New function
-	  ppl_Polyhedron_BHRZ03_widening_assign_with_tokens().	Some
-	  hyperlinks added.
-
-2003-03-09 Sunday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.23): Updated.
-
-2003-03-09 Sunday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.91): Check whether the C compiler supports the
-	  `inline' keyword.
-
-2003-03-09 Sunday 19:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.40), src/Interval.defs.hh (1.13): The Interval class has
-	  been documented.
-
-2003-03-09 Sunday 19:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.199): Polyhedron::OK() only prints
-	  something if run-time assertions are enabled.
-
-2003-03-09 Sunday 11:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.39), src/Polyhedron.types.hh (1.9): Explained PPL's I/O
-	  operators and how to deal with the IO_Operators namespace.
-
-2003-03-09 Sunday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.38): It should now be clear how to build the
-	  documentation.
-
-2003-03-09 Sunday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.90): Version number bumped.
-
-2003-03-09 Sunday 08:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/adddimensions13.cc (1.2): Comments improved.
-
-2003-03-09 Sunday 08:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.53): Explain the necessity of the guard against
-	  auto-assignments in Matrix::operator=(const Matrix&).
-
-2003-03-08 Saturday 22:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (1.52): Corrected Matrix::operator= to avoid the
-	  bug shown by tests adddimensions13.
-
-2003-03-08 Saturday 22:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.175), adddimensions13.cc (1.1): Added test
-	  showing a bug in teh assignment operator of Matrix. Bug is only
-	  visible when configuring with --enable-more-assertions.
-
-2003-03-08 Saturday 22:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.113): Removed wrong capitalization.
-
-2003-03-08 Saturday 21:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.tex (1.11), user.tex (1.12): Apparently, CoVer is a
-	  MURST project.
-
-2003-03-08 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.70), ppl_c.h (1.76): New functions
-	  ppl_add_LinExpression_to_LinExpression(),
-	  ppl_subtract_LinExpression_from_LinExpression() and
-	  ppl_multiply_LinExpression_by_Coefficient().
-
-2003-03-08 Saturday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variable.defs.hh (1.30): Variable::Compare commented.
-
-2003-03-08 Saturday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.6), TODO (1.37): CREDITS updated.
-
-2003-03-08 Saturday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/README (1.1): Explain how to get (more) PPL documentation.
-
-2003-03-08 Saturday 09:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.69), ppl_c.h (1.75): Typos fixed.
-
-2003-03-08 Saturday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: adddimensions9.cc (1.6), affineimage8.cc (1.7),
-	  affinepreimage10.cc (1.7), bounded1.cc (1.10), concatenate2.cc
-	  (1.7), disjoint1.cc (1.4), exceptions1.cc (1.33), exceptions2.cc
-	  (1.27), intersection10.cc (1.5), removedim7.cc (1.8): Typos
-	  fixed.
-
-2003-03-08 Saturday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.83), GenSys.cc (1.76), Polyhedron.cc
-	  (1.319), Polyhedron.defs.hh (1.198), Polyhedron.inlines.hh
-	  (1.66), SatRow.defs.hh (1.26), Status.cc (1.20), conversion.cc
-	  (1.45), minimize.cc (1.32), simplify.cc (1.26): Typos fixed.
-
-2003-03-07 Friday 19:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: exceptions1.cc (1.32), exceptions2.cc (1.26),
-	  generalizedaffineimage1.cc (1.7), generalizedaffineimage10.cc
-	  (1.6), generalizedaffineimage11.cc (1.5),
-	  generalizedaffineimage12.cc (1.4), generalizedaffineimage2.cc
-	  (1.6), generalizedaffineimage3.cc (1.7),
-	  generalizedaffineimage4.cc (1.5), generalizedaffineimage5.cc
-	  (1.5), generalizedaffineimage6.cc (1.5),
-	  generalizedaffineimage7.cc (1.7), generalizedaffineimage8.cc
-	  (1.5), generalizedaffineimage9.cc (1.5): Reflect the changes to
-	  the enumerate Relation_Symbol.
-
-2003-03-07 Friday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.68), ppl_c.h (1.74): New functions
-	  ppl_LinExpression_coefficient() and
-	  ppl_LinExpression_inhomogeneous_term().
-
-2003-03-07 Friday 17:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.73): Reorganized the C interface
-	  documentation using Doxygen member grouping and trying to use
-	  brief comments when possible.
-
-2003-03-07 Friday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.61): Old stuff removed.
-
-2003-03-07 Friday 15:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.67), doc/definitions.dox (1.112), doc/ppl.sty (1.11),
-	  interfaces/C/ppl_c.cc (1.67), interfaces/C/ppl_c.h (1.72),
-	  interfaces/Prolog/Prolog_interface.dox (1.85),
-	  interfaces/Prolog/ppl_prolog.icc (1.92), src/Constraint.defs.hh
-	  (1.82), src/LinExpression.defs.hh (1.58), src/Polyhedron.cc
-	  (1.318), src/Polyhedron.defs.hh (1.197), src/globals.hh (1.32):
-	  We now speak of "relation symbols", not of "relation operators"
-	  or "relational operators".
-
-2003-03-07 Friday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.111),
-	  interfaces/Prolog/Prolog_interface.dox (1.84): The discussion
-	  about eager methods moved from the prolog interface to the
-	  introduction (just before the bibliography).
-
-2003-03-07 Friday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.66), TODO (1.36), interfaces/C/ppl_c.cc (1.66),
-	  interfaces/C/ppl_c.h (1.71),
-	  interfaces/Prolog/Prolog_interface.dox (1.83),
-	  interfaces/Prolog/pl_check.pl (1.45),
-	  interfaces/Prolog/ppl_prolog.icc (1.91),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.37),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.27),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.41),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.65),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.15),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.25),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.59), src/Determinate.defs.hh
-	  (1.28), src/Determinate.inlines.hh (1.26), src/Polyhedron.defs.hh
-	  (1.196), src/Polyhedron.inlines.hh (1.65), src/PowerSet.defs.hh
-	  (1.28), src/PowerSet.inlines.hh (1.32), tests/Makefile.am
-	  (1.174), tests/renamedim1.cc (1.1), tests/shuffledim1.cc (1.11):
-	  We rename dimensions, we do not shuffle them.
-
-2003-03-07 Friday 11:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: definitions.dox (1.110), devref-browse.doxyconf-latex.in
-	  (1.26), devref-print.doxyconf-latex.in (1.26),
-	  devref.doxyconf-html.in (1.27), user-browse.doxyconf-latex.in
-	  (1.14), user-print.doxyconf-latex.in (1.14),
-	  user.doxyconf-html.in (1.16): Updated Doxygen configuration files
-	  to version 1.3-rc3-20030223.	Small typo fixed in
-	  definitions.dox.
-
-2003-03-07 Friday 11:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.90): Predicate
-	  ppl_Polyhedron_shuffle_dimensions/2 now fails when given a
-	  non-injective function.
-
-2003-03-07 Friday 09:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: CbecomesNNC1.cc (1.4), NNCinclusion1.cc (1.6),
-	  NNCminimize1.cc (1.9), NNCminimize2.cc (1.9), NNCminimize3.cc
-	  (1.9), NNCminimize4.cc (1.11), NNCminimize5.cc (1.8),
-	  NNCminimize6.cc (1.10), addconstraint1.cc (1.4),
-	  addconstraint2.cc (1.3), addconstraint3.cc (1.3),
-	  addconstraints1.cc (1.10), addconstraints10.cc (1.9),
-	  addconstraints11.cc (1.10), addconstraints12.cc (1.3),
-	  addconstraints13.cc (1.5), addconstraints2.cc (1.18),
-	  addconstraints3.cc (1.8), addconstraints4.cc (1.10),
-	  addconstraints5.cc (1.11), addconstraints6.cc (1.12),
-	  addconstraints7.cc (1.11), addconstraints8.cc (1.11),
-	  addconstraints9.cc (1.12), adddimensions1.cc (1.13),
-	  adddimensions10.cc (1.6), adddimensions11.cc (1.4),
-	  adddimensions12.cc (1.3), adddimensions2.cc (1.9),
-	  adddimensions3.cc (1.11), adddimensions4.cc (1.9),
-	  adddimensions5.cc (1.7), adddimensions6.cc (1.7),
-	  adddimensions7.cc (1.7), adddimensions8.cc (1.5),
-	  adddimensions9.cc (1.5), addgenerator1.cc (1.4), addgenerator2.cc
-	  (1.4), addgenerator3.cc (1.3), addgenerator4.cc (1.4),
-	  addgenerators1.cc (1.11), addgenerators10.cc (1.3),
-	  addgenerators11.cc (1.5), addgenerators12.cc (1.5),
-	  addgenerators2.cc (1.11), addgenerators3.cc (1.11),
-	  addgenerators4.cc (1.11), addgenerators5.cc (1.11),
-	  addgenerators6.cc (1.11), addgenerators7.cc (1.8),
-	  addgenerators8.cc (1.6), addgenerators9.cc (1.5), affineimage1.cc
-	  (1.11), affineimage2.cc (1.10), affineimage3.cc (1.3),
-	  affineimage4.cc (1.3), affineimage5.cc (1.4), affineimage6.cc
-	  (1.3), affineimage7.cc (1.3), affineimage8.cc (1.6),
-	  affinepreimage1.cc (1.10), affinepreimage10.cc (1.6),
-	  affinepreimage2.cc (1.10), affinepreimage3.cc (1.10),
-	  affinepreimage4.cc (1.11), affinepreimage5.cc (1.3),
-	  affinepreimage6.cc (1.4), affinepreimage7.cc (1.3),
-	  affinepreimage8.cc (1.3), affinepreimage9.cc (1.4),
-	  affinetrans.cc (1.13), append1.cc (1.21), append2.cc (1.21),
-	  ascii_dump_load1.cc (1.12), ascii_dump_load2.cc (1.10),
-	  ascii_dump_load3.cc (1.13), ascii_dump_load4.cc (1.13),
-	  ascii_dump_load5.cc (1.9), ascii_dump_load6.cc (1.6),
-	  ascii_dump_load7.cc (1.6), bhrz03widening1.cc (1.3),
-	  bhrz03widening10.cc (1.3), bhrz03widening11.cc (1.3),
-	  bhrz03widening12.cc (1.3), bhrz03widening13.cc (1.3),
-	  bhrz03widening14.cc (1.3), bhrz03widening15.cc (1.5),
-	  bhrz03widening16.cc (1.3), bhrz03widening17.cc (1.3),
-	  bhrz03widening18.cc (1.3), bhrz03widening19.cc (1.3),
-	  bhrz03widening2.cc (1.5), bhrz03widening3.cc (1.5),
-	  bhrz03widening4.cc (1.3), bhrz03widening5.cc (1.3),
-	  bhrz03widening6.cc (1.4), bhrz03widening7.cc (1.4),
-	  bhrz03widening8.cc (1.3), bhrz03widening9.cc (1.5), bounded1.cc
-	  (1.9), boundingbox1.cc (1.32), boundingbox2.cc (1.17),
-	  boundingbox3.cc (1.8), boundingbox4.cc (1.5), bounds1.cc (1.5),
-	  bounds2.cc (1.5), concatenate1.cc (1.7), concatenate2.cc (1.6),
-	  concatenate3.cc (1.6), concatenate4.cc (1.5), concatenate5.cc
-	  (1.3), concatenate6.cc (1.5), constraints1.cc (1.5),
-	  constraints2.cc (1.5), constraints3.cc (1.5), constraints4.cc
-	  (1.5), contains1.cc (1.3), disjoint1.cc (1.3), disjoint2.cc
-	  (1.5), disjoint3.cc (1.4), ehandlers.hh (1.7), empty1.cc (1.12),
-	  exceptions1.cc (1.31), exceptions2.cc (1.25),
-	  generalizedaffineimage1.cc (1.6), generalizedaffineimage10.cc
-	  (1.5), generalizedaffineimage11.cc (1.4),
-	  generalizedaffineimage12.cc (1.3), generalizedaffineimage2.cc
-	  (1.5), generalizedaffineimage3.cc (1.6),
-	  generalizedaffineimage4.cc (1.4), generalizedaffineimage5.cc
-	  (1.4), generalizedaffineimage6.cc (1.4),
-	  generalizedaffineimage7.cc (1.6), generalizedaffineimage8.cc
-	  (1.4), generalizedaffineimage9.cc (1.4), generators1.cc (1.12),
-	  generators2.cc (1.8), generators3.cc (1.4), generators4.cc (1.4),
-	  generators5.cc (1.4), generators6.cc (1.5), h79widening1.cc
-	  (1.5), h79widening2.cc (1.6), h79widening3.cc (1.6),
-	  h79widening4.cc (1.3), h79widening5.cc (1.4), inclusion1.cc
-	  (1.6), inclusion2.cc (1.3), intersection1.cc (1.5),
-	  intersection10.cc (1.4), intersection11.cc (1.5),
-	  intersection2.cc (1.8), intersection3.cc (1.6), intersection4.cc
-	  (1.6), intersection5.cc (1.6), intersection6.cc (1.6),
-	  intersection7.cc (1.5), intersection8.cc (1.4), intersection9.cc
-	  (1.4), limitedbhrz03extrapolation1.cc (1.2),
-	  limitedh79extrapolation1.cc (1.2), limitedh79extrapolation2.cc
-	  (1.2), limitedh79extrapolation3.cc (1.2),
-	  limitedh79extrapolation4.cc (1.2), linearpartition1.cc (1.9),
-	  linearpartition2.cc (1.9), linearpartition3.cc (1.9),
-	  linexpression1.cc (1.3), mc91.cc (1.11), memory1.cc (1.19),
-	  minconstraints1.cc (1.4), minconstraints2.cc (1.4),
-	  minconstraints3.cc (1.3), minconstraints4.cc (1.7),
-	  mingenerators1.cc (1.4), mingenerators2.cc (1.3),
-	  mingenerators3.cc (1.3), onepoint.cc (1.9), operator1.cc (1.4),
-	  permute.cc (1.28), polydifference1.cc (1.6), polydifference2.cc
-	  (1.8), polydifference3.cc (1.3), polydifference4.cc (1.4),
-	  polydifference5.cc (1.5), polydifference6.cc (1.5),
-	  polydifference7.cc (1.4), polyhull1.cc (1.6), polyhull10.cc
-	  (1.3), polyhull2.cc (1.6), polyhull3.cc (1.6), polyhull4.cc
-	  (1.5), polyhull5.cc (1.4), polyhull6.cc (1.4), polyhull7.cc
-	  (1.3), polyhull8.cc (1.4), polyhull9.cc (1.5), randphull1.cc
-	  (1.8), randphull2.cc (1.5), relations1.cc (1.9), relations10.cc
-	  (1.5), relations11.cc (1.5), relations12.cc (1.4), relations13.cc
-	  (1.4), relations14.cc (1.4), relations15.cc (1.4), relations16.cc
-	  (1.4), relations17.cc (1.6), relations18.cc (1.4), relations19.cc
-	  (1.5), relations2.cc (1.10), relations3.cc (1.10), relations4.cc
-	  (1.10), relations5.cc (1.10), relations6.cc (1.9), relations7.cc
-	  (1.9), relations8.cc (1.9), relations9.cc (1.11), removedim1.cc
-	  (1.10), removedim2.cc (1.14), removedim3.cc (1.10), removedim4.cc
-	  (1.11), removedim5.cc (1.9), removedim6.cc (1.12), removedim7.cc
-	  (1.7), removedim8.cc (1.5), removedim9.cc (1.4), shuffledim1.cc
-	  (1.10), smm1.cc (1.13), timeelapse1.cc (1.7), timeelapse2.cc
-	  (1.7), timeelapse3.cc (1.7), timeelapse4.cc (1.7), timeelapse5.cc
-	  (1.7), timeelapse6.cc (1.3), timeelapse7.cc (1.3), timeelapse8.cc
-	  (1.4), topclosed1.cc (1.4), topclosed2.cc (1.3), topclosed3.cc
-	  (1.5), topclosure1.cc (1.6), topclosure2.cc (1.3), topclosure3.cc
-	  (1.3), topclosure4.cc (1.5), universe1.cc (1.8), universe2.cc
-	  (1.9), universe3.cc (1.9), universe4.cc (1.9), universe5.cc
-	  (1.10), universe6.cc (1.7), watchdog1.cc (1.17), writeconsys1.cc
-	  (1.6), writegensys1.cc (1.7), writegensys2.cc (1.7),
-	  writegensys3.cc (1.6), writepolyhedron1.cc (1.6),
-	  writepolyhedron2.cc (1.7), writepolyhedron3.cc (1.6),
-	  writerelation1.cc (1.6), writevariable1.cc (1.6): Treatment of
-	  exceptions harmonized.  Some stylistic improvements.
-
-2003-03-07 Friday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.82), pl_check.pl
-	  (1.44): Added documentation and tests for the new Prolog
-	  interface predicates ppl_Polyhedron_generalized_affine_image/5
-	  and ppl_Polyhedron_generalized_affine_image_lhs_rhs/4.
-
-2003-03-06 Thursday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: append1.cc (1.20), permute.cc (1.27), shuffledim1.cc
-	  (1.9): Return 1 on failure.
-
-2003-03-06 Thursday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.70): Avoid using `//' comments, since
-	  they are not in C89.	Let the multiple inclusion guard be
-	  external to everything.
-
-2003-03-06 Thursday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.89), Ciao/ppl_ciao.pl
-	  (1.36), GNU/ppl_gprolog.pl (1.26), SICStus/ppl_sicstus_sd.cc
-	  (1.40), SWI/ppl_swiprolog.cc (1.64), XSB/ppl_xsb.H (1.14),
-	  XSB/ppl_xsb.cc (1.24), YAP/ppl_yap.cc (1.58): New predicates
-	  ppl_Polyhedron_generalized_affine_image/5 and
-	  ppl_Polyhedron_generalized_affine_image_lhs_rhs/4.
-
-2003-03-06 Thursday 15:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/version.hh.in (1.4): Specify that the beta number is zero for
-	  official releases and nonzero for development snapshots.
-
-2003-03-06 Thursday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.81): Improved
-	  discussion about *_and_minimize predicates.
-
-2003-03-06 Thursday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/version.hh.in (1.3): Small correction of module heading.
-
-2003-03-06 Thursday 11:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.109), doc/fdl.dox (1.3), doc/gpl.dox
-	  (1.4), interfaces/C/ppl_c.h (1.69),
-	  interfaces/Prolog/Prolog_interface.dox (1.80): Let the licence
-	  pages and the documentation of foreign language interfaces be
-	  grouped into ``modules'', so as to avoid spreading information in
-	  too many places of the user manual. We no longer have a ``PPL
-	  pages'' index.
-
-2003-03-06 Thursday 09:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.43): Updated the predicate
-	  testing the PPL watchdog predicates to use ppl_Polyhedron_swap/2.
-
-2003-03-06 Thursday 09:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.79), pl_check.pl
-	  (1.42): Added the ppl_Polyhedron_time_elapse_assign/2 to the
-	  Prolog documentation and to the tests in pl_check.pl.
-
-2003-03-05 Wednesday 23:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/version.hh.in (1.2): Library defines with version info put
-	  inside a \defgroup block to have them appear in the user
-	  documentation.
-
-2003-03-05 Wednesday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: append1.cc (1.19), append2.cc (1.20), concatenate1.cc
-	  (1.6), permute.cc (1.26): Do not use the obsolete
-	  operator>>(const Constraint&, unsigned int).
-
-2003-03-05 Wednesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.88), Ciao/ppl_ciao.pl
-	  (1.35), GNU/ppl_gprolog.pl (1.25), SICStus/ppl_sicstus_sd.cc
-	  (1.39), SWI/ppl_swiprolog.cc (1.63), XSB/ppl_xsb.H (1.13),
-	  XSB/ppl_xsb.cc (1.23), YAP/ppl_yap.cc (1.57): New predicate
-	  ppl_Polyhedron_time_elapse_assign/2.
-
-2003-03-05 Wednesday 17:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.64), tests/shuffledim1.cc (1.8):
-	  Corrected implementation of shuffle_dimensions() and the known
-	  result in the last test of shuffledim1.
-
-2003-03-05 Wednesday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.317): Avoid useless abbreviations.
-
-2003-03-05 Wednesday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.41): Call to polydiff_assign_min
-	  removed from check_all.
-
-2003-03-05 Wednesday 15:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.78), pl_check.pl
-	  (1.40): Added ppl_Polyhedron_swap/2.	Shuffle_Map syntax added
-	  and ppl_Polyhedron_shuffle_dimensions/2 documentation header
-	  added.
-
-2003-03-05 Wednesday 14:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.65), interfaces/C/ppl_c.cc (1.65), interfaces/C/ppl_c.h
-	  (1.68), interfaces/Prolog/Prolog_interface.dox (1.77),
-	  interfaces/Prolog/pl_check.pl (1.39),
-	  interfaces/Prolog/ppl_prolog.icc (1.87),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.34),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.24),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.38),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.62),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.12),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.22),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.56), src/Polyhedron.cc
-	  (1.316), src/Polyhedron.defs.hh (1.195), tests/polydifference6.cc
-	  (1.4): The method
-	  Polyhedron::poly_difference_assign_and_minimize(const
-	  Polyhedron&) has been removed.
-
-2003-03-05 Wednesday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.86), Ciao/ppl_ciao.pl
-	  (1.33), GNU/ppl_gprolog.pl (1.23), SICStus/ppl_sicstus_sd.cc
-	  (1.37), SWI/ppl_swiprolog.cc (1.61), XSB/ppl_xsb.H (1.11),
-	  XSB/ppl_xsb.cc (1.21), YAP/ppl_yap.cc (1.55): New predicate
-	  ppl_Polyhedron_swap/2.
-
-2003-03-05 Wednesday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.315), Polyhedron.defs.hh (1.194): The
-	  (dis-)equality boolean functions operator== and operator!= on
-	  objects of the class Polyhedron no longer require topological-
-	  and dimension-consistency. Inconsistent objects are not
-	  equivalent.
-
-2003-03-05 Wednesday 14:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.64), configure.ac (1.89), src/Makefile.am (1.60),
-	  src/version.cc (1.1), src/version.hh.in (1.1): New macros
-	  PPL_VERSION_MAJOR, PPL_VERSION_MINOR, PPL_VERSION_REVISION, and
-	  PPL_VERSION_BETA allow the client application to adapt to
-	  different versions of the library.
-
-	  New function const char* version() returns a character string
-	  containing the PPL version.
-
-	  New function const char* banner() returns a character string
-	  containing 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.
-
-2003-03-05 Wednesday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.63): News item concerning the new
-	  Polyhedron::generalized_affine_image() operators revised.
-
-2003-03-05 Wednesday 10:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/shuffledim1.cc (1.7): Added a test showing a bug in
-	  Polyhedron::shuffle_dimensions().
-
-2003-03-05 Wednesday 10:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.62): Improved the synthetic description of methods
-	  generalized_affine_image().
-
-2003-03-04 Tuesday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.88): Require GMP version 4.1.2 or following.
-
-2003-03-04 Tuesday 18:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.61): The C and Prolog interfaces have been extended so as
-	  to make more of the library's functionality available to Prolog
-	  and C users.
-
-2003-03-04 Tuesday 18:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.67): Comments fixed.
-
-2003-03-04 Tuesday 18:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.64), ppl_c.h (1.66): New functions
-	  ppl_ConSys_clear() and ppl_GenSys_clear().
-
-2003-03-04 Tuesday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.85): Predicate
-	  ppl_Polyhedron_shuffle_dimensions(Ph, PFun) now fails if the
-	  domain of PFun is not contained in the space dimension of Ph.
-
-2003-03-04 Tuesday 17:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.60): Added the new Polyhedron::generalized_affine_image()
-	  method.
-
-2003-03-04 Tuesday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.59), src/Constraint.cc (1.37), src/Constraint.defs.hh
-	  (1.81): The operator Constraint operator>>(const Constraint&,
-	  dimension_type) has been removed.
-
-2003-03-04 Tuesday 15:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.108), src/Polyhedron.defs.hh (1.193):
-	  Reordered the sections in the final part of definitions.dox;
-	  added a section on extrapolation operators, describing the
-	  limited and bounded extrapolation operators.	Corrected
-	  capitalization of a doxygen reference.
-
-2003-03-04 Tuesday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.63), ppl_c.h (1.65): New functions
-	  ppl_Polyhedron_generalized_affine_image() and
-	  ppl_Polyhedron_generalized_affine_image_lhs_rhs().
-
-2003-03-04 Tuesday 08:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.38): Bug corrected.
-
-2003-03-04 Tuesday 08:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.37): Improved tests for widenig
-	  operators.  Added tests for ...shuffle_dimensions.
-
-2003-03-04 Tuesday 06:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.17): We require GMP at least 4.1.2.
-
-2003-03-03 Monday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.64): For some reason, GMP up to and
-	  including version 4.1.2 requires <stdio.h> to be included before
-	  <gmp.h>.
-
-2003-03-03 Monday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.62), ppl_c.h (1.63): The `var'
-	  argument of ppl_Constraint_coefficient() and
-	  ppl_Generator_coefficient() is of type ppl_dimension_type.
-
-2003-03-03 Monday 21:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.62): FIXME added.
-
-2003-03-03 Monday 21:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.61): Do not worry about versions of GMP
-	  prior to 4.1.2 since they are not supported anyway.
-
-2003-03-03 Monday 21:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.61), ppl_c.h (1.60): New function
-	  ppl_Polyhedron_time_elapse_assign().
-
-2003-03-03 Monday 21:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.60), ppl_c.h (1.59): Added
-	  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign() and
-	  ppl_Polyhedron_bounded_H79_extrapolation_assign().  Comments of
-	  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign() and
-	  ppl_Polyhedron_limited_H79_extrapolation_assign() fixed.
-
-2003-03-03 Monday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* depcomp (1.4), install-sh (1.4), Watchdog/depcomp (1.2),
-	  Watchdog/install-sh (1.2): Updated.
-
-2003-03-03 Monday 21:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.87), Watchdog/configure.ac (1.16): Require
-	  Autoconf 2.57 or following and Automake 1.7.3 or following.
-
-2003-03-03 Monday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.27), PowerSet.inlines.hh (1.31): The
-	  method PowerSet<CS>::limited_H79_extrapolation_assign() takes a
-	  constant constraint system.
-
-2003-03-03 Monday 19:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.59), ppl_c.h (1.58):
-	  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign() and
-	  ppl_Polyhedron_limited_H79_extrapolation_assign() take a constant
-	  constraint system.
-
-2003-03-03 Monday 18:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.12), Watchdog/COPYING (1.2), Watchdog/ChangeLog
-	  (1.3), Watchdog/INSTALL (1.2), Watchdog/NEWS (1.2),
-	  Watchdog/config.guess (1.2), Watchdog/config.sub (1.2),
-	  Watchdog/ltmain.sh (1.2): Updated.
-
-2003-03-03 Monday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.7): Update version info.
-
-2003-03-03 Monday 18:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.13), src/Makefile.am (1.59): AGE must
-	  be reset to 0 since we removed some interfaces.
-
-2003-03-03 Monday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: exceptions1.cc (1.30), exceptions2.cc (1.24): Refer the
-	  new extrapolation operators.
-
-2003-03-03 Monday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.58), interfaces/C/ppl_c.cc (1.58), interfaces/C/ppl_c.h
-	  (1.57), interfaces/Prolog/Prolog_interface.dox (1.76),
-	  interfaces/Prolog/pl_check.pl (1.36),
-	  interfaces/Prolog/ppl_prolog.icc (1.84),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.32),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.22),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.36),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.60),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.10),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.20),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.54), src/Determinate.defs.hh
-	  (1.27), src/Determinate.inlines.hh (1.25), src/Polyhedron.cc
-	  (1.314), src/Polyhedron.defs.hh (1.192), src/PowerSet.defs.hh
-	  (1.26), src/PowerSet.inlines.hh (1.30), src/algorithms.hh (1.14),
-	  tests/Makefile.am (1.173), tests/limitedbhrz03extrapolation1.cc
-	  (1.1), tests/limitedbhrz03widening1.cc (1.5),
-	  tests/limitedh79extrapolation1.cc (1.1),
-	  tests/limitedh79extrapolation2.cc (1.1),
-	  tests/limitedh79extrapolation3.cc (1.1),
-	  tests/limitedh79extrapolation4.cc (1.1),
-	  tests/limitedh79widening1.cc (1.6), tests/limitedh79widening2.cc
-	  (1.7), tests/limitedh79widening3.cc (1.4),
-	  tests/limitedh79widening4.cc (1.4): From now on, the name
-	  `widening' is reserved for operators that come with a convergence
-	  guarantee (i.e., with the ability of turning infinite chains to
-	  finite ones).  Upper bound operators without such a guarantee
-	  contain the word `extrapolation' in their name.
-
-2003-03-03 Monday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.57): Confine implementation classes into
-	  anonymous namespaces.
-
-2003-03-03 Monday 16:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.57): News item for Polyhedron::shrink_bounding_box()
-	  completed.
-
-2003-03-03 Monday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.56): News item concerning
-	  Polyhedron::shuffle_dimensions() completed.
-
-2003-03-03 Monday 16:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.56), ppl_c.h (1.56): New function int
-	  ppl_Polyhedron_shuffle_dimensions().
-
-2003-03-03 Monday 15:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.191): Another reorganization for better
-	  documentation.
-
-2003-03-03 Monday 14:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.190): Let all the methods
-	  <method>_and_minimize be declared after the corresponding methods
-	  <method>, so that a less disordered documentation is produced.
-
-2003-03-03 Monday 12:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.313), Polyhedron.defs.hh (1.189): Now the
-	  constraint system parameter of methods bounded_*_widening_assign
-	  and limited_*_widening_assign is a const parameter.
-
-2003-03-03 Monday 11:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.55), ppl_c.h (1.55): New function int
-	  ppl_not_a_dimension(ppl_dimension_type*).
-
-2003-03-03 Monday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.83), Ciao/ppl_ciao.pl
-	  (1.31), GNU/ppl_gprolog.pl (1.21), SICStus/ppl_sicstus_sd.cc
-	  (1.35), SWI/ppl_swiprolog.cc (1.59), XSB/ppl_xsb.H (1.9),
-	  XSB/ppl_xsb.cc (1.19), YAP/ppl_yap.cc (1.53): New predicate
-	  ppl_Polyhedron_shuffle_dimensions/2.
-
-2003-03-03 Monday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.55), src/globals.hh (1.31): New function dimension_type
-	  not_a_dimension(): returns a value that does not designate a
-	  valid dimension.
-
-2003-03-03 Monday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.35): We must explain to the users of CVS versions how to
-	  build the documentation.
-
-2003-03-02 Sunday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.34): Make sure all the functionalities are available in
-	  all interfaces.
-
-2003-03-02 Sunday 20:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.33), src/Polyhedron.defs.hh (1.188),
-	  src/Polyhedron.inlines.hh (1.63): Documentation of
-	  Polyhedron::shuffle_dimensions() improved.
-
-2003-03-02 Sunday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.32): More things that should not be forgotten.
-
-2003-03-02 Sunday 19:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.54): News items added, others improved, reorganized.
-
-2003-03-02 Sunday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.11): Updated.
-
-2003-03-01 Saturday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.312): Full stop added.
-
-2003-03-01 Saturday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sicstus_cfli.ic (1.5): Include
-	  assert.h.
-
-2003-03-01 Saturday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.34): Includes
-	  reordered.
-
-2003-03-01 Saturday 07:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.86): Enable shared the libraries by default.
-
-2003-03-01 Saturday 07:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.17), config.sub (1.16), ltmain.sh (1.11):
-	  Updated.
-
-2003-02-24 Monday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-browse.doxyconf-latex.in (1.25),
-	  doc/devref-print.doxyconf-latex.in (1.25),
-	  doc/devref.doxyconf-html.in (1.26), src/Init.cc (1.8),
-	  src/Makefile.am (1.58), src/Polyhedron.cc (1.311),
-	  src/Statistics.hh (1.2), src/statistics.hh (1.1): Statistics.hh
-	  improved, added to the documentation for developers, and renamed
-	  statistics.hh.
-
-2003-02-24 Monday 16:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Init.cc (1.7), Makefile.am (1.57), Polyhedron.cc (1.310),
-	  Statistics.hh (1.1), globals.cc (1.12), globals.hh (1.30):
-	  Removed from globals.hh and globals.cc all the stuff related to
-	  statistics and placed into Statistics.hh; modified Polyhedron.cc
-	  and Init.cc accordingly.
-
-2003-02-23 Sunday 21:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: bhrz03widening2.cc (1.4), limitedbhrz03widening1.cc
-	  (1.4): Restored expected result after correction on evolving
-	  points technique.
-
-2003-02-23 Sunday 20:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.309), tests/Makefile.am (1.172),
-	  tests/bhrz03widening3.cc (1.4): Improved is_BHRZ03_stabilizing to
-	  always avoid considering the low-level constraints when comparing
-	  the number of constraints. As a consequence, changed back the
-	  known result of test bhrz03widening3.
-
-2003-02-23 Sunday 16:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.31): Remember to comment uncommented classes.
-
-2003-02-23 Sunday 09:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.tex (1.10), user.tex (1.11): Thank the CoVer
-	  project.
-
-2003-02-22 Saturday 22:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/conversion.cc (1.44): Two FIXMEs dealt with and removed.
-
-2003-02-22 Saturday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.inlines.hh (1.37), SatRow.inlines.hh (1.24): Redundant
-	  comment removed.
-
-2003-02-22 Saturday 21:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.inlines.hh (1.36), SatRow.inlines.hh (1.23): FIXMEs
-	  related to Doxygen's bugs removed.
-
-2003-02-22 Saturday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.defs.hh (1.61): FIXME dealt with and removed.
-
-2003-02-22 Saturday 21:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.171), bhrz03widening2.cc (1.3),
-	  bhrz03widening3.cc (1.3), limitedbhrz03widening1.cc (1.3):
-	  Expected results adjusted.
-
-2003-02-22 Saturday 17:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.308): Commit to
-	  BHRZ03_EP_DELAY_INTERSECTION.
-
-2003-02-22 Saturday 09:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PowerSet.defs.hh (1.25): Fixed a parameter name mismatch in
-	  the documentation.
-
-2003-02-21 Friday 19:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.80): Doxygen documentation fix: "<" and
-	  ">" should not be escaped by "\" when occurring inside a \code
-	  ... \endcode section.
-
-2003-02-21 Friday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.107): Bibliography and bibliographic
-	  references improved.
-
-2003-02-21 Friday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/bib2html2.sed (1.3): Provide text for the \ref link commands.
-
-2003-02-21 Friday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: bib2dox (1.3), bib2html2.sed (1.2): Produce
-	  cross-references that work well with any Doxygen output.
-
-2003-02-21 Friday 16:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.106), src/Polyhedron.defs.hh (1.187): In
-	  the documentation, added explanation for the BHRZ03 widening and
-	  the widening with tokens technique.  Broken <a name=...> links
-	  replaced by \ref and \anchor.
-
-2003-02-21 Friday 11:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.10): Updated.
-
-2003-02-21 Friday 11:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.85): Version number bumped.
-
-2003-02-21 Friday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.307), Polyhedron.defs.hh (1.186): The
-	  widening-with-tokens delay technique is now also available for
-	  the standard widening as well as the ``limited'' and ``bounded''
-	  variants.
-
-2003-02-21 Friday 09:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* TODO (1.30): Items dealt with removed.
-
-2003-02-21 Friday 09:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.75), pl_check.pl
-	  (1.35): Prolog_interface.dox:   Added simple descriptions for the
-	  timeout predicates.	 Atom added to the syntax of the language
-	  specification.  pl_check.pl	Several small improvements.
-
-2003-02-21 Friday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.306), Polyhedron.defs.hh (1.185): In
-	  Polyhedron::BHRZ03_widening_assign(), pass the number of tokens
-	  as `unsigned', not `long'.
-
-2003-02-20 Thursday 16:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Init.cc (1.6), Polyhedron.cc (1.305), Polyhedron.defs.hh
-	  (1.184), globals.hh (1.29): The averaging_constraints technique
-	  is now called combining_constraints.	Added optional pointer
-	  argument to BHRZ03_widening_assign to implement the
-	  ``widening-with-tokens'' technique.
-
-2003-02-19 Wednesday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/track_allocation.hh (1.12): Declaration fixed.
-
-2003-02-16 Sunday 14:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.9): Updated.
-
-2003-02-16 Sunday 14:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: bhrz03widening15.cc (1.4), bhrz03widening6.cc (1.3),
-	  bhrz03widening7.cc (1.3): Expected results fixed.
-
-2003-02-11 Tuesday 11:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.304): Commit to
-	  BHRZ03_AC_CHECKS_H79_BOUNDARY=1.
-
-2003-02-11 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.303): Commit to BHRZ03_AC_IS_SUM=1.
-
-2003-02-11 Tuesday 11:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.302): Commit to BHRZ03_ER_CWQ=1.
-
-2003-02-09 Sunday 18:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.301): New candidate techniques for the
-	  implementation of BRHZ03.
-
-2003-02-07 Friday 20:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.300): Let an assertion in
-	  select_H79_constraints be satisfied.
-
-2003-02-07 Friday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.299): Unreachable statements removed.
-
-2003-02-07 Friday 17:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.62): Make sure inline functions are
-	  defined before being used.
-
-2003-02-07 Friday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.298): Added new preproc flag BHRZ03_EP_P1_P2
-	  to be experimented with.
-
-2003-02-07 Friday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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/Watchdog.inlines.hh (1.9): Throw std::invalid_argument
-	  if a Watchdog constructor is called with a non-positive number of
-	  time units.
-
-2003-02-06 Thursday 18:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.297): Added preprocessing flag
-	  BHRZ03_EP_DELAY_INTERSECTION, enabling a different implementation
-	  of the evolving points technique to be experimented with.
-
-2003-02-06 Thursday 10:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.296): Make BHRZ03_AC_IS_SUM and
-	  BHRZ03_AC_CHECKS_H79_BOUNDARY default to 1.
-
-2003-02-05 Wednesday 16:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.295), tests/limitedh79widening2.cc (1.6):
-	  Corrected the implementation of limited_H79_widening_assign to
-	  match its specification; the same for
-	  limited_BHRZ03_widening_assign.  Corrected the known result of
-	  test limitedh79widening2, which was computed according to a
-	  flawed specification.
-
-2003-02-05 Wednesday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.294): Both BHRZ03_AC_IS_SUM and
-	  BHRZ03_AC_CHECKS_H79_BOUNDARY default to 0.
-
-2003-02-05 Wednesday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.293), Polyhedron.defs.hh (1.183): A first,
-	  totally untested implementation of
-	  Polyhedron::bounded_H79_widening_assign() and
-	  Polyhedron::bounded_BHRZ03_widening_assign().
-
-2003-02-05 Wednesday 11:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.182): Improved the Doxygen comments for
-	  the two limited widening operators.
-
-2003-02-05 Wednesday 10:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.181): Give more guarantees to the user
-	  of Polyhedron::shrink_bounding_box().
-
-2003-02-05 Wednesday 10:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.292): Added preprocessing flags to control
-	  whether or not, in the technique BHRZ03_averaging_constraints, we
-	  actually compute averages or just sum the constraints and whether
-	  the selected point can lie on the boundary of H79.
-
-2003-02-04 Tuesday 21:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.16), config.sub (1.15): Updated.
-
-2003-02-04 Tuesday 20:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.291): Spurious newline removed.
-
-2003-02-04 Tuesday 19:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.290): Avoiding equality check in
-	  is_BHRZ03_stabilizing, which is called more than once, and
-	  computing it just once inside BHRZ03_widening_assign.
-
-2003-02-04 Tuesday 11:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.289): Corrected a bug in
-	  H79_widening_assign, whereby we were relying on the number of
-	  columns of a constraint system that was not up-to-date.
-
-2003-02-04 Tuesday 09:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.288), Polyhedron.inlines.hh (1.61): When
-	  declaring constraints (generators) no longer up-to-date, also
-	  clearing the pending constraints (generators) flag.  In
-	  H79_widening_assign, avoiding the creation of polyhedra having
-	  the wrong dimension.
-
-2003-02-03 Monday 15:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.287), Polyhedron.defs.hh (1.180): The
-	  quick equivalence check is now a provate method of Polyhedron and
-	  it is called also by the inclusion test operator<=.  Improved the
-	  computation of the H79widening operator by resorting to CH78 when
-	  polyhedra x and y have the same dimension.
-
-2003-02-01 Saturday 15:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.286): Commented out conditionals removed.
-
-2003-02-01 Saturday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.51): Old garbage removed.
-
-2003-01-31 Friday 21:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.50): Fixed a very serious performance bug in
-	  Matrix::add_pending_rows() whereby adding one row to a matrix
-	  with `n' rows had complexity O(n) instead of amortized constant.
-
-2003-01-27 Monday 13:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: expected (1.6), expected2 (1.7): Adapted
-	  to the new normal form.
-
-2003-01-27 Monday 11:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* configure.ac (1.84), interfaces/Prolog/expected (1.5),
-	  interfaces/Prolog/expected2 (1.9), src/Row.cc (1.49),
-	  src/Row.defs.hh (1.60): Modified strong normalization of rows, so
-	  that the first *homogeneous* coefficient is required to be
-	  positive.
-
-2003-01-27 Monday 10:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.285): Removed no longer used preprocessing
-	  flag.
-
-2003-01-27 Monday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc (1.49), Matrix.defs.hh (1.42): Added private
-	  method Matrix::gram_shmidt() to orthogonalize a matrix so that
-	  its rays/points/inequalities have a unique representation.
-
-2003-01-27 Monday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: conversion.cc (1.43), minimize.cc (1.31), simplify.cc
-	  (1.25): Adjusted a few comments that became outdated after the
-	  merge with the lazy branch. Removed a couple of FIXME's.
-
-2003-01-26 Sunday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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-24 Friday 18:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.77), GenSys.defs.hh (1.89), Polyhedron.cc
-	  (1.284), Polyhedron.defs.hh (1.179), Polyhedron.inlines.hh
-	  (1.60): Equality test between polyhedra improved to first perform
-	  a few fast-fail checks, including a complete test for
-	  representations in normal form.
-
-2003-01-24 Friday 10:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.283), Polyhedron.defs.hh (1.178): Added
-	  private method  void select_CH78_constraints(const Polyhedron& y,
-	  ConSys& cs) const; performing a constraint selection from
-	  y.con_sys according to the definition of the widening as reported
-	  in Cousot&Halbwachs78.
-
-2003-01-24 Friday 10:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.79), GenSys.cc (1.75), GenSys.defs.hh
-	  (1.88): Added private method bool
-	  GenSys::satisfied_by_all_generators(const Constraint& c) const.
-
-2003-01-21 Tuesday 11:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.34): Test for time out
-	  predicates improved.
-
-2003-01-21 Tuesday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.82): Make sure that the
-	  timeout is reset when caught.
-
-2003-01-21 Tuesday 09:00  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.74), pl_check.pl
-	  (1.33), ppl_prolog.icc (1.81): Restored deleted text.
-
-2003-01-20 Monday 15:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/expected (1.4), interfaces/Prolog/expected2
-	  (1.8), interfaces/Prolog/XSB/expected (1.5),
-	  interfaces/Prolog/XSB/expected2 (1.6), tests/bhrz03widening15.cc
-	  (1.3), tests/bhrz03widening9.cc (1.4): Applying some semantically
-	  preserving syntactic changes to the expected results in order to
-	  match what is obtained after modification to methods
-	  Matrix::gauss() and Matrix::back_substitute().  The changes are
-	  also semantic for the known results of bhrz03widening9/15.
-
-2003-01-20 Monday 09:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.282), Polyhedron.defs.hh (1.177):
-	  Rewritten methods related to the computation of the BHRZ03
-	  widening, which are no longer static and now take the polyhedron
-	  corresponding to the H79 widening as a parameter.
-
-2003-01-20 Monday 09:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc (1.48), Row.cc (1.48), Row.defs.hh (1.59),
-	  minimize.cc (1.30), simplify.cc (1.24): Strong normalization of
-	  Row objects now enforce the first non-zero coefficient to be
-	  positive.  When creating a matrix having n copies of the same
-	  row, the matrix is now declared to be sorted (since sortedness by
-	  itself does not implies that it has no duplicates); this also
-	  includes the case of empty matrices.	Some improvements in
-	  methods Matrix::gauss() and Matrix::back_substitute().
-
-2003-01-18 Saturday 16:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.36), Constraint.inlines.hh (1.43),
-	  Generator.cc (1.44), Matrix.cc (1.47), Polyhedron.cc (1.281),
-	  minimize.cc (1.29), simplify.cc (1.23): Implemented changes
-	  required to make the library compile cleanly and pass `make
-	  check' when the flag EXTRA_NORMALIZATION is set to 1 (the default
-	  being still 0).
-
-2003-01-18 Saturday 12:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.170): The `libppl_tests.a' library should
-	  not be built until the `make check' command is run.
-
-2003-01-18 Saturday 11:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.280): Corrected a bug in
-	  poly_hull_assign_and_minimize().
-
-2003-01-15 Wednesday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* README (1.14), doc/devref-browse.doxyconf-latex.in (1.24),
-	  doc/devref-print.doxyconf-latex.in (1.24),
-	  doc/devref.doxyconf-html.in (1.25), src/Init.inlines.hh (1.8): No
-	  longer using file Init.inlines.hh.
-
-2003-01-15 Wednesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.279): After applying each of the techniques
-	  of the BHRZ03 widening, check whether we have obtained a
-	  polyhedron strictly smaller than that one obtainable using the
-	  H79 widening.
-
-2003-01-15 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Init.cc (1.5), Init.defs.hh (1.9), Makefile.am (1.56):
-	  Initialization and finalization of the library are no longer
-	  inlined.
-
-2003-01-13 Monday 23:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.278): Many improvements in the code and
-	  comments of method averaging_constraints().
-
-2003-01-12 Sunday 23:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.59): Try to avoid minimization in
-	  method check_empty().
-
-2003-01-12 Sunday 23:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.277): In add_generators_and_minimize(), an
-	  odd use of method check_empty() replaced by correct use of method
-	  minimize().
-
-2003-01-12 Sunday 23:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.defs.hh (1.41): Fixed documentation of method
-	  index_first_pending().
-
-2003-01-12 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.169), bug1.cc (1.4), bug1.dat (1.3):
-	  Obsolete bug witness removed.
-
-2003-01-12 Sunday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.168): No longer lie to automake.
-
-2003-01-12 Sunday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Watchdog.defs.hh (1.11): Spurious, illegal qualification
-	  removed.
-
-2003-01-12 Sunday 00:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.276): In check_universe(), try to avoid
-	  minimization as much as possible.
-
-2003-01-11 Saturday 22:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.275): Got rid of preprocessing flag
-	  NEW_LIMITED_GROWTH_ORDERING: now always using the new lgo in
-	  is_BHRZ03_stabilizing().  Added preprocessing flag
-	  EVOLVING_RAYS_SATURATORS for testing purposes on the evolving
-	  rays technique of BHRZ03_widening_assign().  Some improvements in
-	  the variable names and comments of the evolving rays technique.
-	  No longer testing for stabilization after applying H79 (unless
-	  assertions are turned on).
-
-2003-01-10 Friday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.15), config.sub (1.14): Updated.
-
-2003-01-10 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.80): Paranoid robustness
-	  improvements.
-
-2003-01-10 Friday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.79): Avoid leaking memory on
-	  exit and in the case of multiple calls to ppl_set_timeout/1 not
-	  intermixed to calls to ppl_reset_timeout/0.
-
-2003-01-10 Friday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.53), interfaces/Prolog/ppl_prolog.icc (1.78),
-	  interfaces/Prolog/Ciao/Makefile.am (1.15),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.30),
-	  interfaces/Prolog/GNU/Makefile.am (1.26),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.20),
-	  interfaces/Prolog/SICStus/Makefile.am (1.35),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.33),
-	  interfaces/Prolog/SWI/Makefile.am (1.27),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.58),
-	  interfaces/Prolog/XSB/Makefile.am (1.13),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.8),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.18),
-	  interfaces/Prolog/YAP/Makefile.am (1.17),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.52), src/Init.cc (1.4):
-	  Timeout computation facilities have been added to the Prolog
-	  interfaces: new predicates ppl_set_timeout_exception_atom/1,
-	  ppl_timeout_exception_atom/1, ppl_set_timeout/1,
-	  ppl_reset_timeout/0.
-
-2003-01-10 Friday 09:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.29): More urgent things to do.
-
-2003-01-10 Friday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/watchdog1.cc (1.16): Do not explicitly initialize the Parma
-	  Watchdog Library.
-
-2003-01-10 Friday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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-10 Friday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: expected (1.4), expected2 (1.5): Update
-	  copyright years.
-
-2003-01-09 Thursday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.83), Watchdog/configure.ac (1.15): Building the
-	  Parma Watchdog Library is now enabled by default.
-
-2003-01-09 Thursday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.77): Added a new class
-	  `timeout_exception'.
-
-2003-01-07 Tuesday 16:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.73), pl_check.pl
-	  (1.32): A typo in the Prolog_interface,dox corrected and
-	  ppl_Polyhedron_is_disjoint_from_Polyhedron/2 documentation added.
-	  Many improvements to pl_check.pl and some bugs fixed.
-
-2003-01-07 Tuesday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.82): Bump version number.
-
-2003-01-07 Tuesday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: expected (1.3), expected2 (1.4): Update
-	  copyright years.
-
-2003-01-07 Tuesday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.52), configure.ac (1.81): We now require GMP 4.1.2 or
-	  higher.
-
-2003-01-07 Tuesday 15:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* CREDITS (1.5): Typo corrected.
-
-2003-01-07 Tuesday 15:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* CREDITS (1.4), doc/devref.tex (1.9), doc/user.tex (1.10): The
-	  MURST project COFIN01 credited.
-
-2003-01-07 Tuesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.defs.hh (1.12), Interval.inlines.hh (1.8): Old
-	  kludges removed.
-
-2003-01-07 Tuesday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/bhrz03widening9.cc (1.3): Updated the known result to match
-	  the output according to the new limited growth ordering
-	  convergence criterion.
-
-2003-01-07 Tuesday 12:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.hh (1.28): Do not output statistics by default.
-
-2003-01-01 Wednesday 02:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.21), README (1.13), configure.ac (1.80),
-	  Watchdog/Makefile.am (1.6), Watchdog/README (1.4),
-	  Watchdog/Watchdog.cc (1.7), Watchdog/Watchdog.defs.hh (1.9),
-	  Watchdog/Watchdog.inlines.hh (1.7), Watchdog/Watchdog.types.hh
-	  (1.3), Watchdog/configure.ac (1.14), Watchdog/pwl_header.top
-	  (1.3), doc/Makefile.am (1.22), doc/definitions.dox (1.105),
-	  doc/devref.tex (1.8), doc/user.tex (1.9), interfaces/Makefile.am
-	  (1.6), interfaces/C/Makefile.am (1.12), interfaces/C/ppl_c.cc
-	  (1.54), interfaces/C/ppl_c.h (1.54),
-	  interfaces/Prolog/Makefile.am (1.21),
-	  interfaces/Prolog/Prolog_interface.dox (1.72),
-	  interfaces/Prolog/clpq.pl (1.14), interfaces/Prolog/clpq2.pl
-	  (1.25), interfaces/Prolog/exceptions.hh (1.7),
-	  interfaces/Prolog/expected (1.3), interfaces/Prolog/expected2
-	  (1.7), interfaces/Prolog/pl_check.pl (1.31),
-	  interfaces/Prolog/ppl_prolog.icc (1.76),
-	  interfaces/Prolog/track_allocation.hh (1.11),
-	  interfaces/Prolog/Ciao/Makefile.am (1.14),
-	  interfaces/Prolog/Ciao/ciao_clpq.pl (1.4),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.17),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.29),
-	  interfaces/Prolog/GNU/Makefile.am (1.25),
-	  interfaces/Prolog/GNU/gp_clpq.pl (1.6),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.19),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.12),
-	  interfaces/Prolog/SICStus/Makefile.am (1.34),
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.22),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.32),
-	  interfaces/Prolog/SICStus/sicstus_cfli.cc (1.2),
-	  interfaces/Prolog/SICStus/sicstus_cfli.h (1.3),
-	  interfaces/Prolog/SICStus/sicstus_cfli.ic (1.4),
-	  interfaces/Prolog/SICStus/sp_clpq.pl (1.8),
-	  interfaces/Prolog/SWI/Makefile.am (1.26),
-	  interfaces/Prolog/SWI/pl_clpq.cc (1.6),
-	  interfaces/Prolog/SWI/pl_clpq.pl (1.4),
-	  interfaces/Prolog/SWI/ppl_pl.cc (1.6),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.57),
-	  interfaces/Prolog/SWI/ppl_swiprolog.pl (1.2),
-	  interfaces/Prolog/XSB/Makefile.am (1.12),
-	  interfaces/Prolog/XSB/expected (1.2),
-	  interfaces/Prolog/XSB/expected2 (1.3),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.17),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.6),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.4),
-	  interfaces/Prolog/YAP/Makefile.am (1.16),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.51),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.6),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.6),
-	  interfaces/Prolog/YAP/yap_clpq2.pl (1.2), m4/Makefile.am (1.8),
-	  m4/ac_check_gmp.m4 (1.11), m4/ac_cxx_flexible_arrays.m4 (1.5),
-	  src/AskTell.defs.hh (1.11), src/AskTell.inlines.hh (1.11),
-	  src/AskTell.types.hh (1.4), src/BoundingBox.cc (1.5),
-	  src/BoundingBox.defs.hh (1.9), src/BoundingBox.inlines.hh (1.7),
-	  src/BoundingBox.types.hh (1.5), src/C_Polyhedron.cc (1.4),
-	  src/C_Polyhedron.defs.hh (1.19), src/C_Polyhedron.inlines.hh
-	  (1.13), src/C_Polyhedron.types.hh (1.6), src/ConSys.cc (1.57),
-	  src/ConSys.defs.hh (1.76), src/ConSys.inlines.hh (1.29),
-	  src/ConSys.types.hh (1.6), src/Constraint.cc (1.35),
-	  src/Constraint.defs.hh (1.78), src/Constraint.inlines.hh (1.42),
-	  src/Constraint.types.hh (1.6), src/Determinate.defs.hh (1.26),
-	  src/Determinate.inlines.hh (1.24), src/Determinate.types.hh
-	  (1.4), src/GenSys.cc (1.74), src/GenSys.defs.hh (1.87),
-	  src/GenSys.inlines.hh (1.30), src/GenSys.types.hh (1.6),
-	  src/Generator.cc (1.43), src/Generator.defs.hh (1.81),
-	  src/Generator.inlines.hh (1.39), src/Generator.types.hh (1.6),
-	  src/Init.cc (1.3), src/Init.defs.hh (1.8), src/Init.inlines.hh
-	  (1.7), src/Init.types.hh (1.5), src/Integer.cc (1.3),
-	  src/Integer.defs.hh (1.10), src/Integer.inlines.hh (1.9),
-	  src/Integer.types.hh (1.7), src/Interval.cc (1.6),
-	  src/Interval.defs.hh (1.11), src/Interval.inlines.hh (1.7),
-	  src/Interval.types.hh (1.5), src/LCompare.defs.hh (1.5),
-	  src/LCompare.inlines.hh (1.4), src/LCompare.types.hh (1.4),
-	  src/LinExpression.cc (1.16), src/LinExpression.defs.hh (1.57),
-	  src/LinExpression.inlines.hh (1.26), src/LinExpression.types.hh
-	  (1.6), src/Makefile.am (1.55), src/Matrix.cc (1.46),
-	  src/Matrix.defs.hh (1.40), src/Matrix.inlines.hh (1.29),
-	  src/Matrix.types.hh (1.6), src/NNC_Polyhedron.cc (1.10),
-	  src/NNC_Polyhedron.defs.hh (1.21), src/NNC_Polyhedron.inlines.hh
-	  (1.15), src/NNC_Polyhedron.types.hh (1.6),
-	  src/Poly_Con_Relation.cc (1.7), src/Poly_Con_Relation.defs.hh
-	  (1.19), src/Poly_Con_Relation.inlines.hh (1.9),
-	  src/Poly_Con_Relation.types.hh (1.5), src/Poly_Gen_Relation.cc
-	  (1.7), src/Poly_Gen_Relation.defs.hh (1.18),
-	  src/Poly_Gen_Relation.inlines.hh (1.9),
-	  src/Poly_Gen_Relation.types.hh (1.5), src/Polyhedron.cc (1.274),
-	  src/Polyhedron.defs.hh (1.176), src/Polyhedron.inlines.hh (1.58),
-	  src/Polyhedron.types.hh (1.8), src/PowerSet.defs.hh (1.24),
-	  src/PowerSet.inlines.hh (1.29), src/PowerSet.types.hh (1.4),
-	  src/Row.cc (1.47), src/Row.defs.hh (1.58), src/Row.inlines.hh
-	  (1.35), src/Row.types.hh (1.6), src/SatMatrix.cc (1.25),
-	  src/SatMatrix.defs.hh (1.29), src/SatMatrix.inlines.hh (1.18),
-	  src/SatMatrix.types.hh (1.6), src/SatRow.cc (1.17),
-	  src/SatRow.defs.hh (1.25), src/SatRow.inlines.hh (1.22),
-	  src/SatRow.types.hh (1.6), src/Status.cc (1.19),
-	  src/Status.defs.hh (1.25), src/Status.inlines.hh (1.12),
-	  src/Status.types.hh (1.6), src/Topology.hh (1.7), src/Variable.cc
-	  (1.11), src/Variable.defs.hh (1.29), src/Variable.inlines.hh
-	  (1.15), src/Variable.types.hh (1.6), src/algorithms.hh (1.13),
-	  src/conversion.cc (1.42), src/globals.cc (1.11), src/globals.hh
-	  (1.27), src/initializer.hh (1.6), src/minimize.cc (1.28),
-	  src/ppl_header.top (1.5), src/simplify.cc (1.22), tests/BBox.cc
-	  (1.3), tests/BBox.hh (1.2), tests/CbecomesNNC1.cc (1.3),
-	  tests/Makefile.am (1.167), tests/NNCinclusion1.cc (1.5),
-	  tests/NNCminimize1.cc (1.8), tests/NNCminimize2.cc (1.8),
-	  tests/NNCminimize3.cc (1.8), tests/NNCminimize4.cc (1.10),
-	  tests/NNCminimize5.cc (1.7), tests/NNCminimize6.cc (1.9),
-	  tests/PFunction.cc (1.2), tests/PFunction.hh (1.2),
-	  tests/addconstraint1.cc (1.3), tests/addconstraint2.cc (1.2),
-	  tests/addconstraint3.cc (1.2), tests/addconstraints1.cc (1.9),
-	  tests/addconstraints10.cc (1.8), tests/addconstraints11.cc (1.9),
-	  tests/addconstraints12.cc (1.2), tests/addconstraints13.cc (1.4),
-	  tests/addconstraints2.cc (1.17), tests/addconstraints3.cc (1.7),
-	  tests/addconstraints4.cc (1.9), tests/addconstraints5.cc (1.10),
-	  tests/addconstraints6.cc (1.11), tests/addconstraints7.cc (1.10),
-	  tests/addconstraints8.cc (1.10), tests/addconstraints9.cc (1.11),
-	  tests/adddimensions1.cc (1.12), tests/adddimensions10.cc (1.5),
-	  tests/adddimensions11.cc (1.3), tests/adddimensions12.cc (1.2),
-	  tests/adddimensions2.cc (1.8), tests/adddimensions3.cc (1.10),
-	  tests/adddimensions4.cc (1.8), tests/adddimensions5.cc (1.6),
-	  tests/adddimensions6.cc (1.6), tests/adddimensions7.cc (1.6),
-	  tests/adddimensions8.cc (1.4), tests/adddimensions9.cc (1.4),
-	  tests/addgenerator1.cc (1.3), tests/addgenerator2.cc (1.3),
-	  tests/addgenerator3.cc (1.2), tests/addgenerator4.cc (1.3),
-	  tests/addgenerators1.cc (1.10), tests/addgenerators10.cc (1.2),
-	  tests/addgenerators11.cc (1.4), tests/addgenerators12.cc (1.4),
-	  tests/addgenerators2.cc (1.10), tests/addgenerators3.cc (1.10),
-	  tests/addgenerators4.cc (1.10), tests/addgenerators5.cc (1.10),
-	  tests/addgenerators6.cc (1.10), tests/addgenerators7.cc (1.7),
-	  tests/addgenerators8.cc (1.5), tests/addgenerators9.cc (1.4),
-	  tests/affineimage1.cc (1.10), tests/affineimage2.cc (1.9),
-	  tests/affineimage3.cc (1.2), tests/affineimage4.cc (1.2),
-	  tests/affineimage5.cc (1.3), tests/affineimage6.cc (1.2),
-	  tests/affineimage7.cc (1.2), tests/affineimage8.cc (1.5),
-	  tests/affinepreimage1.cc (1.9), tests/affinepreimage10.cc (1.5),
-	  tests/affinepreimage2.cc (1.9), tests/affinepreimage3.cc (1.9),
-	  tests/affinepreimage4.cc (1.10), tests/affinepreimage5.cc (1.2),
-	  tests/affinepreimage6.cc (1.3), tests/affinepreimage7.cc (1.2),
-	  tests/affinepreimage8.cc (1.2), tests/affinepreimage9.cc (1.3),
-	  tests/affinetrans.cc (1.12), tests/append1.cc (1.18),
-	  tests/append2.cc (1.19), tests/ascii_dump_load1.cc (1.11),
-	  tests/ascii_dump_load2.cc (1.9), tests/ascii_dump_load3.cc
-	  (1.12), tests/ascii_dump_load4.cc (1.12),
-	  tests/ascii_dump_load5.cc (1.8), tests/ascii_dump_load6.cc (1.5),
-	  tests/ascii_dump_load7.cc (1.5), tests/bhrz03widening1.cc (1.2),
-	  tests/bhrz03widening10.cc (1.2), tests/bhrz03widening11.cc (1.2),
-	  tests/bhrz03widening12.cc (1.2), tests/bhrz03widening13.cc (1.2),
-	  tests/bhrz03widening14.cc (1.2), tests/bhrz03widening15.cc (1.2),
-	  tests/bhrz03widening16.cc (1.2), tests/bhrz03widening17.cc (1.2),
-	  tests/bhrz03widening18.cc (1.2), tests/bhrz03widening19.cc (1.2),
-	  tests/bhrz03widening2.cc (1.2), tests/bhrz03widening3.cc (1.2),
-	  tests/bhrz03widening4.cc (1.2), tests/bhrz03widening5.cc (1.2),
-	  tests/bhrz03widening6.cc (1.2), tests/bhrz03widening7.cc (1.2),
-	  tests/bhrz03widening8.cc (1.2), tests/bhrz03widening9.cc (1.2),
-	  tests/bounded1.cc (1.8), tests/boundingbox1.cc (1.31),
-	  tests/boundingbox2.cc (1.16), tests/boundingbox3.cc (1.7),
-	  tests/boundingbox4.cc (1.4), tests/bounds1.cc (1.4),
-	  tests/bounds2.cc (1.4), tests/concatenate1.cc (1.5),
-	  tests/concatenate2.cc (1.5), tests/concatenate3.cc (1.5),
-	  tests/concatenate4.cc (1.4), tests/concatenate5.cc (1.2),
-	  tests/concatenate6.cc (1.4), tests/constraints1.cc (1.4),
-	  tests/constraints2.cc (1.4), tests/constraints3.cc (1.4),
-	  tests/constraints4.cc (1.4), tests/contains1.cc (1.2),
-	  tests/disjoint1.cc (1.2), tests/disjoint2.cc (1.4),
-	  tests/disjoint3.cc (1.3), tests/ehandlers.cc (1.4),
-	  tests/ehandlers.hh (1.6), tests/empty1.cc (1.11),
-	  tests/exceptions1.cc (1.29), tests/exceptions2.cc (1.23),
-	  tests/files.cc (1.4), tests/files.hh (1.4),
-	  tests/generalizedaffineimage1.cc (1.5),
-	  tests/generalizedaffineimage10.cc (1.4),
-	  tests/generalizedaffineimage11.cc (1.3),
-	  tests/generalizedaffineimage12.cc (1.2),
-	  tests/generalizedaffineimage2.cc (1.4),
-	  tests/generalizedaffineimage3.cc (1.5),
-	  tests/generalizedaffineimage4.cc (1.3),
-	  tests/generalizedaffineimage5.cc (1.3),
-	  tests/generalizedaffineimage6.cc (1.3),
-	  tests/generalizedaffineimage7.cc (1.5),
-	  tests/generalizedaffineimage8.cc (1.3),
-	  tests/generalizedaffineimage9.cc (1.3), tests/generators1.cc
-	  (1.11), tests/generators2.cc (1.7), tests/generators3.cc (1.3),
-	  tests/generators4.cc (1.3), tests/generators5.cc (1.3),
-	  tests/generators6.cc (1.4), tests/h79widening1.cc (1.4),
-	  tests/h79widening2.cc (1.5), tests/h79widening3.cc (1.5),
-	  tests/h79widening4.cc (1.2), tests/h79widening5.cc (1.3),
-	  tests/inclusion1.cc (1.5), tests/inclusion2.cc (1.2),
-	  tests/intersection1.cc (1.4), tests/intersection10.cc (1.3),
-	  tests/intersection11.cc (1.4), tests/intersection2.cc (1.7),
-	  tests/intersection3.cc (1.5), tests/intersection4.cc (1.5),
-	  tests/intersection5.cc (1.5), tests/intersection6.cc (1.5),
-	  tests/intersection7.cc (1.4), tests/intersection8.cc (1.3),
-	  tests/intersection9.cc (1.3), tests/limitedbhrz03widening1.cc
-	  (1.2), tests/limitedh79widening1.cc (1.5),
-	  tests/limitedh79widening2.cc (1.5), tests/limitedh79widening3.cc
-	  (1.3), tests/limitedh79widening4.cc (1.3),
-	  tests/linearpartition1.cc (1.8), tests/linearpartition2.cc (1.8),
-	  tests/linearpartition3.cc (1.8), tests/linexpression1.cc (1.2),
-	  tests/mc91.cc (1.10), tests/memory1.cc (1.18),
-	  tests/minconstraints1.cc (1.3), tests/minconstraints2.cc (1.3),
-	  tests/minconstraints3.cc (1.2), tests/minconstraints4.cc (1.6),
-	  tests/mingenerators1.cc (1.3), tests/mingenerators2.cc (1.2),
-	  tests/mingenerators3.cc (1.2), tests/onepoint.cc (1.8),
-	  tests/operator1.cc (1.3), tests/permute.cc (1.25),
-	  tests/polydifference1.cc (1.5), tests/polydifference2.cc (1.7),
-	  tests/polydifference3.cc (1.2), tests/polydifference4.cc (1.3),
-	  tests/polydifference5.cc (1.4), tests/polydifference6.cc (1.3),
-	  tests/polydifference7.cc (1.3), tests/polyhull1.cc (1.5),
-	  tests/polyhull10.cc (1.2), tests/polyhull2.cc (1.5),
-	  tests/polyhull3.cc (1.5), tests/polyhull4.cc (1.4),
-	  tests/polyhull5.cc (1.3), tests/polyhull6.cc (1.3),
-	  tests/polyhull7.cc (1.2), tests/polyhull8.cc (1.3),
-	  tests/polyhull9.cc (1.4), tests/ppl_test.hh (1.3), tests/print.cc
-	  (1.9), tests/print.hh (1.13), tests/randphull1.cc (1.7),
-	  tests/randphull2.cc (1.4), tests/relations1.cc (1.8),
-	  tests/relations10.cc (1.4), tests/relations11.cc (1.4),
-	  tests/relations12.cc (1.3), tests/relations13.cc (1.3),
-	  tests/relations14.cc (1.3), tests/relations15.cc (1.3),
-	  tests/relations16.cc (1.3), tests/relations17.cc (1.5),
-	  tests/relations18.cc (1.3), tests/relations19.cc (1.4),
-	  tests/relations2.cc (1.9), tests/relations3.cc (1.9),
-	  tests/relations4.cc (1.9), tests/relations5.cc (1.9),
-	  tests/relations6.cc (1.8), tests/relations7.cc (1.8),
-	  tests/relations8.cc (1.8), tests/relations9.cc (1.10),
-	  tests/removedim1.cc (1.9), tests/removedim2.cc (1.13),
-	  tests/removedim3.cc (1.9), tests/removedim4.cc (1.10),
-	  tests/removedim5.cc (1.8), tests/removedim6.cc (1.11),
-	  tests/removedim7.cc (1.6), tests/removedim8.cc (1.4),
-	  tests/removedim9.cc (1.3), tests/shuffledim1.cc (1.6),
-	  tests/smm1.cc (1.12), tests/timeelapse1.cc (1.6),
-	  tests/timeelapse2.cc (1.6), tests/timeelapse3.cc (1.6),
-	  tests/timeelapse4.cc (1.6), tests/timeelapse5.cc (1.6),
-	  tests/timeelapse6.cc (1.2), tests/timeelapse7.cc (1.2),
-	  tests/timeelapse8.cc (1.3), tests/timings.cc (1.3),
-	  tests/timings.hh (1.3), tests/topclosed1.cc (1.3),
-	  tests/topclosed2.cc (1.2), tests/topclosed3.cc (1.4),
-	  tests/topclosure1.cc (1.5), tests/topclosure2.cc (1.2),
-	  tests/topclosure3.cc (1.2), tests/topclosure4.cc (1.4),
-	  tests/universe1.cc (1.7), tests/universe2.cc (1.8),
-	  tests/universe3.cc (1.8), tests/universe4.cc (1.8),
-	  tests/universe5.cc (1.9), tests/universe6.cc (1.6),
-	  tests/watchdog1.cc (1.15), tests/writeconsys1.cc (1.5),
-	  tests/writegensys1.cc (1.6), tests/writegensys2.cc (1.6),
-	  tests/writegensys3.cc (1.5), tests/writepolyhedron1.cc (1.5),
-	  tests/writepolyhedron2.cc (1.6), tests/writepolyhedron3.cc (1.5),
-	  tests/writerelation1.cc (1.5), tests/writevariable1.cc (1.5):
-	  Update copyright years.
-
-2002-12-31 Tuesday 17:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.273), Polyhedron.defs.hh (1.175): The
-	  three different techniques making up BHRZ03_widening_assign() are
-	  now isolated into corresponding members, to ease further
-	  experimentation.  Keeping track of the convergence reason and of
-	  the successful technique in order to later output statistics
-	  about it.
-
-2002-12-31 Tuesday 17:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Init.inlines.hh (1.6), globals.cc (1.10), globals.hh
-	  (1.26): Added a global struct to keep statistics about BHRZ03
-	  when the pre-proc flag PPL_STATISTICS is set (now set by
-	  default). Statistics are outputted during the library
-	  finalization.
-
-2002-12-30 Monday 19:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.272): In the NEW_LIMITED_GROWTH_ORDERING
-	  case of method is_BHRZ03_stabilizing(), when we have the same
-	  number of constraints for x and y, we now also check if the same
-	  number is obtained when disregarding the positivity constraint.
-
-2002-12-30 Monday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.271): Wrong reference to `abort()' corrected
-	  into a call.
-
-2002-12-30 Monday 09:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.270): Added preproc flag
-	  NEW_LIMITED_GROWTH_ORDERING to test the new convergence criterion
-	  for bhrz03. The new stabilization test now prints a '*' on
-	  std::cerr each time we miss an opportunity of applying the new
-	  widening techniques due to the new convergence criterion.
-
-2002-12-26 Thursday 14:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.75), Ciao/ppl_ciao.cc
-	  (1.16), GNU/ppl_gprolog_sd.cc (1.11), SICStus/sicstus_cfli.ic
-	  (1.3), SWI/ppl_swiprolog.cc (1.56), XSB/ppl_xsb.cc (1.16),
-	  YAP/ppl_yap.cc (1.50): Transition to C: avoid references.
-
-2002-12-26 Thursday 11:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.15),
-	  GNU/ppl_gprolog_sd.cc (1.10), SICStus/sicstus_cfli.h (1.2),
-	  SICStus/sicstus_cfli.ic (1.2), SWI/ppl_swiprolog.cc (1.55),
-	  XSB/ppl_xsb.cc (1.15), YAP/ppl_yap.cc (1.49): Transition to C:
-	  avoid `bool'.
-
-2002-12-26 Thursday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (1.33), ppl_sicstus_sd.cc
-	  (1.31), sicstus_cfli.cc (1.1), sicstus_cfli.h (1.1),
-	  sicstus_cfli.ic (1.1): Started carving the new Common Foreign
-	  Language Interface.
-
-2002-12-25 Wednesday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.74): Spurious element removed
-	  from the `prolog_atoms' array.
-
-2002-12-22 Sunday 09:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.51): Mention the bug fixed in
-	  Polyhedron::minimized_constraints().
-
-2002-12-22 Sunday 08:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.79): Version number bumped.
-
-2002-12-21 Saturday 20:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.269), tests/topclosure1.cc (1.4): Corrected
-	  the bug pointed out by topclosure1.cc.
-
-2002-12-21 Saturday 20:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.73): In add_corresponding_points(), iteration
-	  now goes upward to insert the new points in a partially ordered
-	  sequence.
-
-2002-12-21 Saturday 19:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.cc (1.8): Consistently follow "true" and "false" by a
-	  full stop.
-
-2002-12-21 Saturday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: print.cc (1.7), print.hh (1.12): Removal of easy_print()
-	  completed.
-
-2002-12-21 Saturday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.53), src/Status.cc (1.18),
-	  src/initializer.hh (1.5), tests/ehandlers.cc (1.3): Prefer
-	  anonymous namespaces to static declarations.
-
-2002-12-21 Saturday 13:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.cc (1.6): The functions print_constraints() and
-	  print_generators() were ignoring the `intro' argument.
-
-2002-12-20 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/topclosure1.cc (1.3): Temporarily force NOISY to 1.
-
-2002-12-20 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.cc (1.5): Avoid excess minimizations when printing
-	  constraints or generators.
-
-2002-12-20 Friday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/boundingbox1.cc (1.30): Minor adjustments to expression
-	  spacing; cutted away a few commented stmts.
-
-2002-12-20 Friday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/BBox.cc (1.2): Output functions greatly improved.
-
-2002-12-19 Thursday 07:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.78): Version number bumped.
-
-2002-12-18 Wednesday 20:10  Elisa Ricci
-
-	* src/conversion.cc (1.41): The bug witnessed by the `polyhull10'
-	  test program has been fixed: under some circumstances we were not
-	  indicating that the matrix no longer had pending rows.
-
-2002-12-17 Tuesday 19:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.166), polyhull10.cc (1.1): New test
-	  showing a bug in the current version of the library.
-
-2002-12-16 Monday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.21): Production of the documentation depends
-	  also on ppl.sty.
-
-2002-12-15 Sunday 20:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.165): The -lm flag for *randphull2 is in
-	  addition to the other LDFLAGS.
-
-2002-12-15 Sunday 19:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.164): The randphull2 and nnc_randphull2 test
-	  programs need to be linked against the math library.
-
-2002-12-15 Sunday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/shuffledim1.cc (1.5): Define print_function() only when
-	  noisy.
-
-2002-12-15 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/randphull2.cc (1.3): Define M_PI unless it is already
-	  defined.
-
-2002-12-14 Saturday 21:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: limitedbbrz02widening1.cc (1.4),
-	  limitedbhrz03widening1.cc (1.1): The new widening is now
-	  nicknamed BHRZ03.
-
-2002-12-14 Saturday 20:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: affineimage8.cc (1.4), affinepreimage10.cc (1.4): Use the
-	  NOISY flag to control noisiness.
-
-2002-12-14 Saturday 20:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: addconstraints13.cc (1.3), addgenerators12.cc (1.3),
-	  affineimage8.cc (1.3), affinepreimage10.cc (1.3), boundingbox1.cc
-	  (1.29), concatenate6.cc (1.3), constraints4.cc (1.3),
-	  generators6.cc (1.3), intersection11.cc (1.3), polyhull9.cc
-	  (1.3), relations19.cc (1.3), shuffledim1.cc (1.4), topclosure4.cc
-	  (1.3): Use internal linkage when possible.
-
-2002-12-14 Saturday 20:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variable.cc (1.10): Variable::default_output_function()
-	  improved.
-
-2002-12-14 Saturday 18:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.50), doc/definitions.dox (1.104), interfaces/C/ppl_c.cc
-	  (1.52), interfaces/C/ppl_c.h (1.53),
-	  interfaces/Prolog/Prolog_interface.dox (1.71),
-	  interfaces/Prolog/pl_check.pl (1.30),
-	  interfaces/Prolog/ppl_prolog.icc (1.73),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.28),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.30),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.54),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.7),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.14),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.48), src/Polyhedron.cc
-	  (1.268), src/Polyhedron.defs.hh (1.174), src/algorithms.hh
-	  (1.12), tests/Makefile.am (1.163), tests/bbrz02widening1.cc
-	  (1.5), tests/bbrz02widening10.cc (1.2), tests/bbrz02widening11.cc
-	  (1.2), tests/bbrz02widening12.cc (1.4), tests/bbrz02widening13.cc
-	  (1.7), tests/bbrz02widening14.cc (1.8), tests/bbrz02widening15.cc
-	  (1.7), tests/bbrz02widening16.cc (1.2), tests/bbrz02widening17.cc
-	  (1.2), tests/bbrz02widening18.cc (1.2), tests/bbrz02widening19.cc
-	  (1.2), tests/bbrz02widening2.cc (1.3), tests/bbrz02widening3.cc
-	  (1.3), tests/bbrz02widening4.cc (1.2), tests/bbrz02widening5.cc
-	  (1.2), tests/bbrz02widening6.cc (1.4), tests/bbrz02widening7.cc
-	  (1.4), tests/bbrz02widening8.cc (1.3), tests/bbrz02widening9.cc
-	  (1.7), tests/bhrz03widening1.cc (1.1), tests/bhrz03widening10.cc
-	  (1.1), tests/bhrz03widening11.cc (1.1), tests/bhrz03widening12.cc
-	  (1.1), tests/bhrz03widening13.cc (1.1), tests/bhrz03widening14.cc
-	  (1.1), tests/bhrz03widening15.cc (1.1), tests/bhrz03widening16.cc
-	  (1.1), tests/bhrz03widening17.cc (1.1), tests/bhrz03widening18.cc
-	  (1.1), tests/bhrz03widening19.cc (1.1), tests/bhrz03widening2.cc
-	  (1.1), tests/bhrz03widening3.cc (1.1), tests/bhrz03widening4.cc
-	  (1.1), tests/bhrz03widening5.cc (1.1), tests/bhrz03widening6.cc
-	  (1.1), tests/bhrz03widening7.cc (1.1), tests/bhrz03widening8.cc
-	  (1.1), tests/bhrz03widening9.cc (1.1), tests/exceptions1.cc
-	  (1.28), tests/exceptions2.cc (1.22),
-	  tests/limitedbbrz02widening1.cc (1.3): The new widening is now
-	  nicknamed BHRZ03.
-
-2002-12-06 Friday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.57): Avoid totally useless
-	  parentheses.	Make sure inline methods and functions are defined
-	  before being used.
-
-2002-12-05 Thursday 21:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.14), config.sub (1.13): Updated.
-
-2002-12-05 Thursday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.77): Bump version number.
-
-2002-12-05 Thursday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/minconstraints4.cc (1.5): Original testcase restored.
-
-2002-12-05 Thursday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: append1.cc (1.17), append2.cc (1.18), exceptions1.cc
-	  (1.27), minconstraints4.cc (1.4), permute.cc (1.24),
-	  removedim1.cc (1.8), removedim2.cc (1.12), removedim3.cc (1.8),
-	  removedim6.cc (1.10), removedim7.cc (1.5), removedim8.cc (1.3):
-	  Use PPL::Variables_Set instead of std::set<Variable>.
-
-2002-12-05 Thursday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.25), Determinate.inlines.hh (1.23),
-	  Polyhedron.cc (1.267), Polyhedron.defs.hh (1.173),
-	  PowerSet.defs.hh (1.23), PowerSet.inlines.hh (1.28),
-	  Variable.defs.hh (1.28), Variable.inlines.hh (1.14): The function
-	  bool operator<(const Variable&, const Variable&) has been
-	  substituted by bool less(const Variable&, const Variable&).  New
-	  predicate Variable::Compare useful for defining associative
-	  containers of variables.  New typedef Variables_Set standing for
-	  std::set<Variable, Variable::Compare>.  Use PPL::Variables_Set
-	  instead of std::set<Variable>.
-
-2002-12-05 Thursday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: C/ppl_c.cc (1.51), Prolog/ppl_prolog.icc (1.72): Use
-	  PPL::Variables_Set instead of std::set<Variable>.
-
-2002-12-05 Thursday 12:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.28): Added an item about strong minimization.
-
-2002-12-05 Thursday 12:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.266): In
-	  Polyhedron::strongly_minimize_constraints(), corrected the bug
-	  spotted by test minconstraints4.cc.
-
-2002-12-05 Thursday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/minconstraints4.cc (1.3): Further simplified the test
-	  showing the bug.
-
-2002-12-05 Thursday 10:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/minconstraints4.cc (1.2): Simplified the test showing the
-	  bug in the strong minimization of constraints.
-
-2002-12-05 Thursday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.162), minconstraints4.cc (1.1): New test
-	  showing a bug triggered by an invocation of
-	  Polyhedron::minimized_constraints().
-
-2002-12-03 Tuesday 20:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ConSys.cc (1.56), src/ConSys.defs.hh (1.75),
-	  src/ConSys.inlines.hh (1.28), src/GenSys.cc (1.72),
-	  src/GenSys.defs.hh (1.86), src/GenSys.inlines.hh (1.29),
-	  src/Matrix.cc (1.45), src/Matrix.defs.hh (1.39),
-	  src/Matrix.inlines.hh (1.28), src/Polyhedron.cc (1.265),
-	  src/Polyhedron.defs.hh (1.172), src/Polyhedron.inlines.hh (1.56),
-	  src/Status.cc (1.17), src/Status.defs.hh (1.24),
-	  src/Status.inlines.hh (1.11), src/conversion.cc (1.40),
-	  src/minimize.cc (1.27), src/simplify.cc (1.21), tests/Makefile.am
-	  (1.161), tests/addconstraints13.cc (1.2),
-	  tests/addgenerators12.cc (1.2), tests/affineimage8.cc (1.2),
-	  tests/affinepreimage10.cc (1.2), tests/boundingbox1.cc (1.28),
-	  tests/bug1.cc (1.3), tests/bug1.dat (1.2), tests/concatenate6.cc
-	  (1.2), tests/constraints4.cc (1.2), tests/generators6.cc (1.2),
-	  tests/intersection11.cc (1.2), tests/polyhull9.cc (1.2),
-	  tests/relations19.cc (1.2), tests/timeelapse8.cc (1.2),
-	  tests/topclosure4.cc (1.2): The `lazy' branch has been merged.
-
-2002-12-03 Tuesday 11:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.264): Fixed a couple of comments.
-
-2002-12-02 Monday 18:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[12,12]): A
-	  whole pass on the code of the class, trying to use the new
-	  methods defined for the handling of pending rows; also tried to
-	  provide more uniform comments and to avoid useless reordering of
-	  rows when invoking add_and_minimize().
-
-2002-12-02 Monday 18:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (lazy.4): Modified methods
-	  add_corresponding_points() and add_corr_closure_points() to rely
-	  on the caller for the management of pending rows.
-
-2002-12-02 Monday 18:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (lazy.3): Modified method
-	  adjust_topology_and_dimensions() to rely on the caller for the
-	  management of pending rows.
-
-2002-12-02 Monday 18:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh, minimize.cc (lazy.[7,4]): Provided
-	  slightly better names for methods dealing with pending rows.
-	  Modified the assertions for the two methods named
-	  add_and_minimize(...) and added new documentation.
-
-2002-12-02 Monday 18:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (lazy.8): No longer using flag
-	  KEEP_SOURCE_SORTEDNESS.
-
-2002-12-02 Monday 18:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (lazy.10): Corrected a typo in
-	  add_pending_rows(const Matrix&).  Removed an ill-placed
-	  well-formedness check.  Adjusted a few assertions.
-
-2002-12-02 Monday 09:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh
-	  (lazy.[9,7,3]): Added new method unset_pending_rows() that sets
-	  the index_first_pending_row equal to the number of rows of the
-	  matrix.  Added new methods add_rows(const Matrix&) and
-	  add_pending_rows(const Matrix&) to add a set of rows with one
-	  matrix reallocation at most.	Adjusted a few comments.  Factored
-	  some common code in the sorting methods.
-
-2002-11-30 Saturday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ciao_clpq.pl (1.3): No longer use the
-	  debug package: use the debugger library instead.  Added
-	  use_module(library(prolog_sys)) in order to use statistics/0.
-
-2002-11-29 Friday 20:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (1.39): Committed to preserving the sortedness
-	  of `source', but changed the name of the new index, now using
-	  `source_num_redundant'.  Using a reference instead of evaluating
-	  source[k] many times.
-
-2002-11-29 Friday 11:51  Elisa Ricci
-
-	* src/: Matrix.cc, Matrix.defs.hh, Polyhedron.cc,
-	  Polyhedron.defs.hh, Polyhedron.inlines.hh, conversion.cc,
-	  minimize.cc (lazy.[8,6,11,6,11,7,3]): Added
-	  Matrix::sort_rows(dimension_type first_row, dimension_type
-	  last_row) that sorts the the part of the matrix that is between
-	  `first_row' and `last_row'. Added also
-	  Matrix::sort_pending_and_remove_duplicates() that sorts the
-	  pending part of the matrix and remove the pending rows that are
-	  also in the upper part of the matrix.  Added
-	  Polyhedron::remove_pending_constraints_and_minimize() and
-	  Polyhedron::remove_pending_generators_and_minimize() that remove
-	  pending constraints/generators and minimize the polyhedron: now
-	  Polyhedron::remove_pending_and_minimze() only calls the two added
-	  methods.  Added also Polyhedron::add_and_minimize(bool, Matrix&,
-	  Matrix&, SatMatrix&) to obtain a polyhedron in minimal form
-	  defined by the system composed by the non-pending rows and by the
-	  pending rows of the first matrix.  This new method is called by
-	  Polyhedron::add_and_minimize(bool, Matrix&, Matrix&, SatMatrix&,
-	  const Matrix&) after We have added the row of the constant matrix
-	  to the first matrix.	Changed conversion so that when we swap the
-	  rows of source we set a flag and at the end we verify if the
-	  matrix is really sorted or not.
-
-2002-11-29 Friday 11:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.27): We should not forget to document
-	  Polyhedron::shuffle_dimensions().
-
-2002-11-29 Friday 10:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (lazy.6): The management of flag
-	  KEEP_SOURCE_SORTEDNESS reported into the branch lazy.
-
-2002-11-29 Friday 10:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (1.38): Implemented a more efficient way to
-	  keep the sortedness of Matric `source', requiring max
-	  source_num_rows - 1 swaps of the rows in source.  The new code is
-	  controlled by pre-proc flag KEEP_SOURCE_SORTEDNESS, which is now
-	  set to 0 (i.e., still using old code).
-
-2002-11-28 Thursday 18:22  Elisa Ricci
-
-	* src/: SatMatrix.cc (1.24), SatMatrix.defs.hh (1.28), minimize.cc
-	  (1.26): Restored SatMatrix::transpose() and used it in
-	  add_and_minimize(), where it is possible, instead of
-	  SatMatrix::transpose_assign().  When we use add_row(), it sets
-	  correctly if the changed matrix is sorted or not: so we have not
-	  to say in add_and_minimize() that the changed matrix is not
-	  sorted.  In add_and_minimize(), after adding the new rows to the
-	  matrix `source1', we resize the saturation matrix `sat' instead
-	  of built a temporary saturation matrix.
-
-2002-11-28 Thursday 14:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (1.37): Added (a preprocessing controlled and
-	  now disabled) alternative code for the removal of rows in Matrix
-	  `source' that are found to be redundant.  The alternative code
-	  does keep the sortedness of `source'.
-
-2002-11-28 Thursday 14:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (lazy.5): Added (a preprocessing controlled and
-	  now disabled) alternative code for the removal of rows in Matrix
-	  source that are found to be redundant.  The alternative code does
-	  keep the sortedness of source.
-
-2002-11-27 Wednesday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.cc (1.42), Poly_Con_Relation.cc (1.6),
-	  Poly_Gen_Relation.cc (1.6): Added missing \relates needed by
-	  Doxygen.
-
-2002-11-27 Wednesday 18:10  Elisa Ricci
-
-	* src/conversion.cc (lazy.4): Improve the last part of conversion:
-	  now we check if the sorted matrix `dest' is really sorted and
-	  then we update `index_first_pending' of `dest'.
-
-2002-11-27 Wednesday 16:19  Elisa Ricci
-
-	* src/conversion.cc (lazy.3): Improved the part in which we update
-	  `index_first_pending' of `dest'.
-
-2002-11-27 Wednesday 13:15  Elisa Ricci
-
-	* src/: Matrix.defs.hh, Matrix.cc, conversion.cc (lazy.[5,7,2]):
-	  Now we have Matrix::add_pending_row(Row::Type type) instead of
-	  Matrix::add_row(Row::Type type). This new method does not change
-	  `index_first_pending' and does not verify the sortedness of the
-	  matrix.  Used this new method in conversion.	At the end of
-	  conversion, we update the sortedness of `dest' and its
-	  `index_first_pending'.
-
-2002-11-27 Wednesday 11:45  Elisa Ricci
-
-	* src/minimize.cc (lazy.2): When we use add_row(), it sets
-	  correctly if the changed matrix is sorted or not: so we do not
-	  say in add_and_minimize() that then the vhanged matrix is not
-	  sorted.  In add_and_minimize(), after adding the new rows to the
-	  matrix `source1', we resize the saturation matrix `sat' instead
-	  of built a temporary saturation matrix.  In add_and_minimize(),
-	  also used SatMatrix::transpose() where it is possible instead of
-	  SatMatrix::transpose_assign().
-
-2002-11-27 Wednesday 11:21  Elisa Ricci
-
-	* tests/shuffledim1.cc (1.3): Added a test to verify
-	  Polyhedron::shuffle_dimensions() in the case that the polyhedron
-	  is zero-dimensional.
-
-2002-11-26 Tuesday 17:51  Elisa Ricci
-
-	* tests/shuffledim1.cc (1.2): Added void print_function() that is
-	  used to print a function in this test.  Added also other tests to
-	  verify Polyhedron::shuffle_dimensions().
-
-2002-11-26 Tuesday 17:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.cc (1.4): Fixed a bug whereby universe polyhedra were
-	  sometimes wrongly printed.
-
-2002-11-26 Tuesday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.160), PFunction.cc (1.1), PFunction.hh
-	  (1.1), shuffledim1.cc (1.1): To test
-	  Polyhedron::shuffle_dimensions().
-
-2002-11-26 Tuesday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.263), SatRow.cc (1.16), SatRow.defs.hh
-	  (1.24), SatRow.inlines.hh (1.21), conversion.cc (1.36),
-	  simplify.cc (1.20): New functions bool subset_or_equal(const
-	  SatRow&, const SatRow&) and bool strict_subset(const SatRow&,
-	  const SatRow&) replace the misleading overloadings of the
-	  comparison operators `<', `<=', `>' and `>=' on SatRow's.
-
-2002-11-26 Tuesday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (lazy.1): From the main trunk: fixed int
-	  compare(const SatRow&, const SatRow&), bool operator<=(const
-	  SatRow&, const SatRow&), and bool operator<(const SatRow&, const
-	  SatRow&).
-
-2002-11-26 Tuesday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.cc (1.15): Fixed int compare(const SatRow& x, const
-	  SatRow& y), bool operator<=(const SatRow& x, const SatRow& y),
-	  and bool operator<(const SatRow& x, const SatRow& y): they were
-	  completely broken.
-
-2002-11-25 Monday 15:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (lazy.6): Fixed a bug in Matrix::grow() whereby,
-	  depending on the relations between the new rows' size and the old
-	  row's capacity, index_first_pending could erroneously be set to
-	  zero.
-
-2002-11-25 Monday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.32): Properly install
-	  ppl_sicstus.so.
-
-2002-11-25 Monday 09:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh, GenSys.defs.hh, Matrix.defs.hh
-	  (lazy.[3,4,4]): Added more details in the documentation for the
-	  split constructors.
-
-2002-11-25 Monday 09:25  Elisa Ricci
-
-	* src/: Matrix.cc, Polyhedron.cc (lazy.[5,10]): Corrected the bug
-	  in Matrix::ascii_load: we used "nrows" instead of "index", when
-	  we set the "index_first_pending".  In Matrix::add_row, erased in
-	  a condition of an "if" erased the check about the number of
-	  pending rows, because we use this method only when the matrix has
-	  no pending rows.  In Polyhedron::Polyhedron(Topology topol,
-	  ConSys& cs) and Polyhedron::Polyhedron(Topology topol, const
-	  ConSys& cs) erased an "if" that is repeated twice.
-
-2002-11-24 Sunday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, bug1.cc, bug1.dat (lazy.[4,1,1]): New test
-	  program (with input data) meant to witness the existence of a bug
-	  in Polyhedron::concatenate_assign().	Unfortunately, it shows
-	  that there are also problems in Polyhedron::ascii_dump() and/or
-	  Polyhedron::ascii_load().
-
-2002-11-24 Sunday 14:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc, Polyhedron.defs.hh (lazy.[9,5]): Using the
-	  new split constructor to implement remove_pending_and_minimize().
-
-2002-11-24 Sunday 14:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh, ConSys.inlines.hh, GenSys.defs.hh,
-	  GenSys.inlines.hh, Matrix.cc, Matrix.defs.hh
-	  (lazy.[2,1,3,1,4,3]): Added split constructors for Matrix, ConSys
-	  and GenSys.
-
-2002-11-23 Saturday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.31): Use libtool
-	  whenever possible.
-
-2002-11-23 Saturday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.52): Include <stdio.h> before <gmp.h> so
-	  as to avoid warnings about the implicit declaration of all the
-	  I/O functions.
-
-2002-11-22 Friday 17:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/disjoint2.cc (1.3): Be quiet.
-
-2002-11-22 Friday 15:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.11): Practice information hiding.
-
-2002-11-22 Friday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: affinepreimage9.cc (1.2), append1.cc (1.16), append2.cc
-	  (1.17), ascii_dump_load1.cc (1.10), ascii_dump_load2.cc (1.8),
-	  ascii_dump_load3.cc (1.11), ascii_dump_load4.cc (1.11),
-	  ascii_dump_load5.cc (1.7), ascii_dump_load6.cc (1.4),
-	  ascii_dump_load7.cc (1.4), bbrz02widening1.cc (1.4),
-	  bbrz02widening12.cc (1.3), bbrz02widening13.cc (1.6),
-	  bbrz02widening14.cc (1.7), bbrz02widening15.cc (1.6),
-	  bbrz02widening9.cc (1.6), boundingbox1.cc (1.27), boundingbox2.cc
-	  (1.15), boundingbox3.cc (1.6), boundingbox4.cc (1.3),
-	  disjoint2.cc (1.2), disjoint3.cc (1.2), exceptions1.cc (1.26),
-	  exceptions2.cc (1.21), files.cc (1.3),
-	  generalizedaffineimage10.cc (1.3), generalizedaffineimage11.cc
-	  (1.2), generalizedaffineimage7.cc (1.4),
-	  generalizedaffineimage9.cc (1.2), intersection10.cc (1.2),
-	  intersection2.cc (1.6), limitedh79widening4.cc (1.2),
-	  linearpartition1.cc (1.7), linearpartition2.cc (1.7),
-	  linearpartition3.cc (1.7), memory1.cc (1.17), operator1.cc (1.2),
-	  permute.cc (1.23), polydifference7.cc (1.2), polyhull8.cc (1.2),
-	  randphull1.cc (1.6), randphull2.cc (1.2), relations17.cc (1.4),
-	  relations9.cc (1.9), smm1.cc (1.11), watchdog1.cc (1.14),
-	  writeconsys1.cc (1.4), writegensys1.cc (1.5), writegensys2.cc
-	  (1.5), writegensys3.cc (1.4), writepolyhedron1.cc (1.4),
-	  writepolyhedron2.cc (1.5), writepolyhedron3.cc (1.4),
-	  writerelation1.cc (1.4), writevariable1.cc (1.4): Consistency
-	  improvements.
-
-2002-11-22 Friday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/files.hh (1.3): Include <iostream> instead of <iosfwd>.
-
-2002-11-22 Friday 11:54  Elisa Ricci
-
-	* src/Matrix.inlines.hh (lazy.2): Added the assertion
-	  "assert(num_rows() >= first_pending_row())" in
-	  Matrix::num_pending_rows().
-
-2002-11-22 Friday 10:23  Elisa Ricci
-
-	* src/: ConSys.cc, GenSys.cc, Matrix.cc, Polyhedron.cc,
-	  Polyhedron.inlines.hh (lazy.[2,3,3,8,10]): Added some comments to
-	  explain the case in which the polyhedron has something pending.
-	  Added some assertions to verify that a method is not used in
-	  wrong cases.
-
-2002-11-22 Friday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.defs.hh (1.24): Teo declarations uncommented.
-
-2002-11-22 Friday 09:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.51): Declarations of ppl_ConSys_begin()
-	  and ppl_ConSys_end() fixed.
-
-2002-11-22 Friday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ppl_test.hh (1.2): Copyright notice added.
-
-2002-11-22 Friday 09:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ehandlers.cc (1.2): Include ehandlers.hh.
-
-2002-11-22 Friday 09:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.76): Bump version number.
-
-2002-11-21 Thursday 18:18  Elisa Ricci
-
-	* src/: ConSys.cc, ConSys.defs.hh, GenSys.cc, GenSys.defs.hh,
-	  Matrix.cc, Matrix.defs.hh, Polyhedron.cc, Polyhedron.defs.hh,
-	  Polyhedron.inlines.hh, conversion.cc, minimize.cc, simplify.cc
-	  (lazy.[1,1,2,2,2,2,7,4,9,1,1,1]): Added the methods
-	  Matrix::add_pending_row(), Matrix::insert_pending(),
-	  GenSys::insert_pending() and ConSys::insert_pending().  Erased
-	  the matrices `pending_cs' and `pending_gs' from polyhedron: now
-	  if the polyhedron has pending constraints/generators, they are in
-	  con_sys/gen_sys.  Modified the methods of Polyhedron, ConSys,
-	  GenSys and Matrix so that they always consider if the polyhedron
-	  contains something pending or if the matrix has some pending
-	  rows.
-
-2002-11-20 Wednesday 12:38  Elisa Ricci
-
-	* tests/: Makefile.am (1.159), disjoint2.cc (1.1), disjoint3.cc
-	  (1.1): Added new tests to verify are_disjoint(const Polyhedron&
-	  x, const Polyhedron& y).
-
-2002-11-15 Friday 16:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.158), intersection2.cc (1.5),
-	  randphull1.cc (1.5), randphull2.cc (1.1): New test computing
-	  random polytopes by generating points on the surface of an
-	  n-dimensional sphere.
-
-2002-11-15 Friday 12:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.29), ppl_prolog.icc (1.71):
-	  Bug in term_to_complexity_class/2 corrected (a_empty changed to
-	  a_any).  Tests for ppl_Polyhedron_get_bounding_box/3 added to
-	  pl_check.pl.
-
-2002-11-15 Friday 12:31  Elisa Ricci
-
-	* src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh
-	  (lazy.[1,1,1]): Started to insert the pending system into the
-	  matrix.
-
-2002-11-15 Friday 09:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.70): Added
-	  documentation for the complexity classes allowed in
-	  ppl_Polyhedron_get_bounding_box/3
-
-2002-11-14 Thursday 10:30  Elisa Ricci
-
-	* src/Polyhedron.inlines.hh (lazy.8): Erased a repeated comment.
-
-2002-11-14 Thursday 10:14  Elisa Ricci
-
-	* src/Polyhedron.cc, tests/topclosure4.cc (lazy.[6,2]): Improved
-	  Polyhedron::topological_closure_assign() in the case that the
-	  polyhedron has pending constraints.  Typo fixed in the test.
-
-2002-11-14 Thursday 09:43  Elisa Ricci
-
-	* src/Polyhedron.inlines.hh, tests/boundingbox1.cc (lazy.[7,1]):
-	  Corrected an error in Polyhedron::shrink_bounding_box(Box& box,
-	  Complexity_Class complexity).  Added two tests to verify this
-	  method. In boundingbox1.cc, corrected also test10 that did not
-	  verify if the resulting box computed using POLYNOMIAL were equal
-	  to the "known_pbox".
-
-2002-11-13 Wednesday 18:51  Elisa Ricci
-
-	* tests/: Makefile.am, topclosure4.cc (lazy.[3,1]): Added a new
-	  test to verify Polyhedron::topological_closure_assign().
-
-2002-11-13 Wednesday 18:50  Elisa Ricci
-
-	* src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[5,6]): Improved
-	  Polyhedron::intersection_assign(),
-	  Polyhedron::poly_hull_assign(), Polyhedron::add_generator(),
-	  Polyhedron::add_constraint(), Polyhedron::concatenate_assign(),
-	  Polyhedron::add_constraints(), Polyhedron::add_generators() and
-	  modified Polyhedron::topological_closure_assign() and
-	  Polyhedron::shrink_bounding_box(Box& box, Complexity_Class
-	  complexity) in the case in which the polyhedra can have something
-	  pending.
-
-2002-11-13 Wednesday 18:43  Elisa Ricci
-
-	* src/: GenSys.cc, GenSys.defs.hh (lazy.[1,1]): Added the method
-	  add_corresponding_points(const GenSys& gs) that add to *this the
-	  "corresponding point of the closure points of "gs" and of *this".
-
-2002-11-13 Wednesday 10:58  Elisa Ricci
-
-	* tests/: Makefile.am, addconstraints13.cc, addgenerators12.cc,
-	  affineimage8.cc, affinepreimage10.cc, relations19.cc,
-	  timeelapse8.cc (lazy.[2,2,1,1,1,1,1]): Added some other tests
-	  that verify the methods Polyhedron::add_generators(),
-	  Polyhedron::add_generators_and_minimize(),
-	  Polyhedron::affine_image(), Polyhedron::affine_preimage(),
-	  Polyhedron::relation_with() and Polyhedron::time_elapse_assign()
-	  in the case in which the polyhedra can have something pending.
-
-2002-11-13 Wednesday 10:49  Elisa Ricci
-
-	* src/Polyhedron.cc (lazy.4): Improved Polyhedron::is_bounded() and
-	  Polyhedron::bounds().  Corrected
-	  Polyhedron::is_topologically_closed().
-
-2002-11-13 Wednesday 09:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.28): pl_check.pl now avoids
-	  unifying terms with constraint and generator systems.
-
-2002-11-12 Tuesday 17:32  Elisa Ricci
-
-	* tests/: Makefile.am, addconstraints13.cc, concatenate6.cc,
-	  constraints4.cc, generators6.cc, intersection11.cc, polyhull9.cc
-	  (lazy.[1,1,1,1,1,1,1]): Added some new tests that verify the case
-	  in which the polyhedron can have something pending.
-
-2002-11-12 Tuesday 17:30  Elisa Ricci
-
-	* src/: Polyhedron.cc, Polyhedron.inlines.hh (lazy.[3,5]): Improved
-	  operator<=(x, y) and Polyhedron::concatenate_assign(y) in the
-	  case that the polyhedra have something pending.
-
-2002-11-12 Tuesday 16:21  Elisa Ricci
-
-	* src/Polyhedron.inlines.hh (lazy.4): Considered the case of a
-	  polyhedron that has something pending in
-	  Polyhedron::shrink_bounding_box(Box& box, Complexity_Class
-	  complexity) and in Polyhedron::shuffle_dimensions(const
-	  PartialFunction& pfunc).
-
-2002-11-12 Tuesday 11:52  Elisa Ricci
-
-	* src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh
-	  (lazy.[2,3,3]): Improved the case of pending system in
-	  Polyhedron::generators() and Polyhedron::minimize() and
-	  Polyhedron::intersection_assign().  Corrected operator<= in the
-	  case that one of the two polyhedra have something pending.  Added
-	  the method Polyhedron::can_have_something_pending().	Considered
-	  the case of pending constraints or pending generators in
-	  concatenate_assign(), poly_hull_assign(),
-	  poly_hull_assign()_and_minimize, add_dimension_and_embed(),
-	  add_dimensions_and_project, remove_dimensions()
-	  remove_higher_dimensions, in all the methods that are used to add
-	  constraints and generators, in affine_image() and
-	  affine_preimage, in time_elapse_assign(), in check_universe(), in
-	  is_bounded() and bounds(), in is_topologically_closed() and in
-	  topological_closure_assign(), in Polyhedron::swap() and in
-	  Polyhedron(Topology topol, const Box& box).
-
-2002-11-12 Tuesday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.26): Revised the section on urgent things to do.
-
-2002-11-12 Tuesday 10:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.69), pl_check.pl
-	  (1.27), ppl_prolog.icc (1.70), Ciao/ppl_ciao.pl (1.27),
-	  SICStus/ppl_sicstus_sd.cc (1.29), SWI/ppl_swiprolog.cc (1.53),
-	  XSB/ppl_xsb.H (1.6), XSB/ppl_xsb.cc (1.13), YAP/ppl_yap.cc
-	  (1.47): Implemented ppl_Polyhedron_get_bounding_box/3.
-
-2002-11-10 Sunday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/memory1.cc (1.16): Do not try to run the real test on
-	  Cygwin since the implementation of setrlimit() there is a dummy
-	  one.
-
-2002-11-10 Sunday 11:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.11): Allow to build in the
-	  sources' directory.
-
-2002-11-10 Sunday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/.cvsignore (1.4), tests/.cvsignore (1.7):
-	  Ignore more generated files.
-
-2002-11-09 Saturday 22:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/memory1.cc (1.15): The LIMIT macro has been fixed.
-
-2002-11-08 Friday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: Makefile.am (1.13), ciao_clpq.pl (1.2):
-	  Completed.
-
-2002-11-08 Friday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.cc (1.14): Fixed two critical
-	  bugs.
-
-2002-11-08 Friday 12:20  Elisa Ricci
-
-	* src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh
-	  (lazy.[1,2,2]): Added to a polyhedron the system of pending
-	  constraints and the system of pending generators.  Added the
-	  methods that set the flags used for the pending systems and
-	  Polyhedron::remove_pending_and_minimize(),
-	  Polyhedron::remove_pending_to_obtain_constraints() and
-	  Polyhedron::remove_pending_to_obtain_generators().  Started to
-	  consider the pending systems and in particular used them
-	  operator<=(x, y), Polyhedron::intersection_assign_and_minimize(y)
-	  and Polyhedron::intersection_assign(y).
-
-2002-11-08 Friday 12:13  Elisa Ricci
-
-	* src/Status.cc (lazy.2): Modified Status::OK() so that it also
-	  verify if the polyhedron has both pending constraints and pending
-	  generators.
-
-2002-11-08 Friday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.12): Added missing patterns
-	  to MOSTLYCLEANFILES.
-
-2002-11-08 Friday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ascii_dump_load3.cc (1.10), ascii_dump_load4.cc (1.10),
-	  ascii_dump_load5.cc (1.6), ascii_dump_load6.cc (1.3): Be noisy
-	  when NOISY.
-
-2002-11-08 Friday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ascii_dump_load7.cc (1.3): Comment fixed.
-
-2002-11-08 Friday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.11): Add fake_main.pl and
-	  ciao_clpq.pl to EXTRA_DIST.
-
-2002-11-07 Thursday 18:32  Elisa Ricci
-
-	* src/: Polyhedron.defs.hh, Polyhedron.inlines.hh, Status.cc,
-	  Status.defs.hh, Status.inlines.hh (lazy.[1,1,1,1,1]): Added in
-	  the Status the flags that say if the polyhedron has something
-	  pending. Added the methods that check these flags.
-
-2002-11-07 Thursday 16:45  Elisa Ricci
-
-	* src/: SatMatrix.cc (1.23), SatMatrix.defs.hh (1.27),
-	  SatMatrix.inlines.hh (1.17): Erased SatMatrix::transpose(),
-	  operator==(const SatMatrix& x, const SatMatrix& y) and
-	  operator!=(const SatMatrix& x, const SatMatrix& y), because they
-	  were never used.
-
-2002-11-07 Thursday 16:04  Elisa Ricci
-
-	* src/Polyhedron.cc (1.262): Corrected the bug: we printed "sat_c"
-	  twice instead of "sat_c" and "sat_g".
-
-2002-11-07 Thursday 15:41  Elisa Ricci
-
-	* tests/ascii_dump_load7.cc (1.2): Simplify the test that shows the
-	  bug.
-
-2002-11-07 Thursday 15:35  Elisa Ricci
-
-	* tests/: Makefile.am (1.157), ascii_dump_load7.cc (1.1): This test
-	  shows a bug: we have a polyhedron with sat_g up-to-date but sat_g
-	  is dimensional incompatible with con_sys.
-
-2002-11-07 Thursday 15:20  Elisa Ricci
-
-	* tests/ascii_dump_load6.cc (1.2): Added two other tests to verify
-	  Status::ascii_dump() and Status::ascii_load().
-
-2002-11-06 Wednesday 19:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ascii_dump_load3.cc (1.9), ascii_dump_load4.cc (1.9):
-	  Added missing calls to seekp() where input was immediately
-	  followed by output on a stream open in read/write mode.
-
-2002-11-06 Wednesday 07:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.25): Added a few things to do rather urgently.
-
-2002-11-05 Tuesday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/watchdog1.cc (1.13): Missing return statement added.
-
-2002-11-05 Tuesday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/memory1.cc (1.14): Missing return statement added.
-
-2002-11-05 Tuesday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.10): Detection of sizeof(mp_limb_t) fixed.
-
-2002-11-05 Tuesday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/memory1.cc (1.13): The custom allocation functions must
-	  have C linkage.
-
-2002-11-05 Tuesday 14:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/mc91.cc (1.9): Do not refer to the AskTell class.
-
-2002-11-05 Tuesday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.23), PowerSet.defs.hh (1.22),
-	  PowerSet.inlines.hh (1.27): Include the required files.
-
-2002-11-05 Tuesday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.54): The AskTell constraint system class is
-	  nowhere near maturity: will not be distributed for the time
-	  being.
-
-2002-11-05 Tuesday 12:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.75): Check whether the C++ compiler supports
-	  flexible array only after having set CXXFLAGS.
-
-2002-11-05 Tuesday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/: ac_check_gmp.m4 (1.9), ac_cxx_flexible_arrays.m4 (1.4): More
-	  quoting where needed.
-
-2002-11-05 Tuesday 11:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: Watchdog.cc (1.6), Watchdog.defs.hh (1.8): Standard
-	  conformance fixes.
-
-2002-11-05 Tuesday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.8): Updated.
-
-2002-11-05 Tuesday 10:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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.74), Watchdog/configure.ac (1.12),
-	  m4/ac_check_gmp.m4 (1.8), m4/ac_cxx_flexible_arrays.m4 (1.3):
-	  Avoid using obsolete macros.
-
-2002-11-05 Tuesday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.73), m4/ac_check_gmp.m4 (1.7),
-	  m4/ac_cxx_flexible_arrays.m4 (1.2): Avoid using obsolete macros.
-
-2002-11-05 Tuesday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.12): Warning avoided, FIXME
-	  added.
-
-2002-11-05 Tuesday 09:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/smm1.cc (1.10): Extend the Parma_Polyhedra_Library
-	  namespace with the output operators before using STL stream
-	  iterators.
-
-2002-11-05 Tuesday 00:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.55), ConSys.defs.hh (1.74), ConSys.inlines.hh
-	  (1.27), GenSys.cc (1.71), GenSys.defs.hh (1.85), Matrix.defs.hh
-	  (1.38): We were violating the C++ standard by referring to
-	  unaccessible base classes.
-
-2002-11-04 Monday 17:28  Elisa Ricci
-
-	* tests/: Makefile.am (1.156), affineimage7.cc (1.1),
-	  affinepreimage9.cc (1.1), ascii_dump_load4.cc (1.8),
-	  ascii_dump_load5.cc (1.5), ascii_dump_load6.cc (1.1): Added tests
-	  to verify ascii_dump() and ascii_load() of SatMatrix and of
-	  Status and to verify Polyhedron::affine_image() and
-	  Polyhedron::affine_preimage() with a negative denominator.
-
-2002-11-04 Monday 12:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.55): Reposition a declaration that
-	  was moved by mistake.
-
-2002-11-04 Monday 12:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: Makefile.am (1.10), ciao_clpq.pl (1.1):
-	  Little progress in the Ciao-Prolog interface.
-
-2002-11-04 Monday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.54): Improved comments for
-	  Polyhedron::shrink_bounding_box().
-
-2002-11-04 Monday 11:36  Elisa Ricci
-
-	* src/Polyhedron.inlines.hh (1.53): In
-	  Polyhedron::shrink_bounding_box() added the comment that explains
-	  why we change the sign of `n' when we built the ExtendedRational
-	  `r`.
-
-2002-11-04 Monday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.52): Avoid taking references to
-	  temporary GMP expressions.  FIXME about a missing comment added.
-
-2002-11-04 Monday 09:34  Elisa Ricci
-
-	* tests/: boundingbox3.cc (1.5), boundingbox4.cc (1.2): Modified
-	  these tests so that they also verify
-	  Polyhedron::shrink_bounding_box(box, POLYNOMIAL).
-
-2002-11-04 Monday 08:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.261): Avoid some useless copies.
-
-2002-11-03 Sunday 23:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.260): Avoid taking references to temporary
-	  GMP expressions.
-
-2002-11-03 Sunday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.155), ascii_dump_load1.cc (1.9),
-	  ascii_dump_load2.cc (1.7), ascii_dump_load3.cc (1.8),
-	  ascii_dump_load4.cc (1.7), ascii_dump_load5.cc (1.4): Be
-	  consistent in naming files.
-
-2002-11-03 Sunday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.46), Row.inlines.hh (1.34): Progress in
-	  supporting compilers that do not provide flexible arrays.
-
-2002-11-03 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.68),
-	  interfaces/Prolog/GNU/Makefile.am (1.24), m4/ac_check_gmp.m4
-	  (1.6): For the sake of not very smart linkers, link with `-lgmpxx
-	  -lgmp' instead of the other way around.
-
-2002-11-03 Sunday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: ascii_dump_load1.cc (1.8), ascii_dump_load2.cc (1.6),
-	  ascii_dump_load3.cc (1.7), ascii_dump_load4.cc (1.6),
-	  ascii_dump_load5.cc (1.3), linearpartition1.cc (1.6),
-	  linearpartition2.cc (1.6), linearpartition3.cc (1.6), memory1.cc
-	  (1.12), writeconsys1.cc (1.3), writegensys1.cc (1.4),
-	  writegensys2.cc (1.4), writegensys3.cc (1.3), writepolyhedron1.cc
-	  (1.3), writepolyhedron2.cc (1.4), writepolyhedron3.cc (1.3),
-	  writerelation1.cc (1.3), writevariable1.cc (1.3): Be consistent
-	  as far as inclusions are concerned.
-
-2002-11-03 Sunday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/pwl_header.middle (1.2): Include sys/time.h, if
-	  available.
-
-2002-11-03 Sunday 10:56  Elisa Ricci
-
-	* tests/: Makefile.am (1.154), boundingbox3.cc (1.4),
-	  boundingbox4.cc (1.1): Erased form boundingbox3.cc the flags
-	  "C_TESTS" and "NNC_TESTS".  boundingbox3.cc now contains only
-	  tests with C_Polyhedron; the tests that were in boundingbox3.cc
-	  and that contain polyhedron described by strict inequalities now
-	  are in boundingbox4.cc.
-
-2002-11-03 Sunday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.10): Always use the current
-	  C++ compiler, not simply `g++'.
-
-2002-11-03 Sunday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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>
-
-	* Watchdog/: 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 23:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.50), ppl_c.h (1.50): The function
-	  ppl_Polyhedron_shrink_bounding_box() has now a parameter allowing
-	  the selection of the desired complexity class.
-
-2002-11-02 Saturday 23:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.hh (1.25): Spurious line removed.
-
-2002-11-02 Saturday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.9): Can now compile the
-	  Ciao-Prolog interface.
-
-2002-11-02 Saturday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.26): Properly declare all
-	  the predicates.
-
-2002-11-02 Saturday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.11): Uninitialized variable
-	  bug fixed.
-
-2002-11-02 Saturday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.10): Buggy conditional fixed.
-
-2002-11-02 Saturday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: adddimensions11.cc (1.2), addgenerators11.cc (1.3),
-	  exceptions1.cc (1.25), exceptions2.cc (1.20): Avoid inventing
-	  non-existing standard exceptions.
-
-2002-11-02 Saturday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.171), src/Polyhedron.inlines.hh (1.51),
-	  src/globals.hh (1.24), tests/boundingbox1.cc (1.26),
-	  tests/boundingbox2.cc (1.14): New enum Complexity_Class to
-	  represent complexity classes.  Polyhedron::shrink_bounding_box()
-	  now takes a complexity class, defaulting to ANY, instead of a
-	  bool.
-
-2002-11-02 Saturday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.49): Mention the bug fixed in operator-=(LinExpression&,
-	  const LinExpression&).
-
-2002-11-02 Saturday 09:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.22), configure.ac (1.72): Get rid of AC_C_INLINE:
-	  we do not use inlines in C code and it was doing harm with some
-	  compilers.
-
-2002-11-01 Friday 20:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.21), configure.ac (1.71), m4/ac_check_gmp.m4
-	  (1.5): Much improved detection of the size of GMP's mp_limb_t.
-
-2002-11-01 Friday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatRow.cc (1.14), SatRow.defs.hh (1.23): Got rid of
-	  operator<<(std::ostream&, const SatRow&).
-
-2002-11-01 Friday 18:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.73), Constraint.defs.hh (1.77),
-	  GenSys.defs.hh (1.84), Generator.defs.hh (1.80),
-	  Poly_Con_Relation.defs.hh (1.18), Poly_Gen_Relation.defs.hh
-	  (1.17), Polyhedron.defs.hh (1.170), Variable.defs.hh (1.27):
-	  Correctly relate the output operators to the corresponding
-	  classes.
-
-2002-11-01 Friday 18:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.24): There must be a more efficient way to implement bool
-	  are_disjoint(const Polyhedron&, const Polyhedron&).
-
-2002-11-01 Friday 18:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: NNCminimize1.cc (1.7), NNCminimize2.cc (1.7),
-	  NNCminimize3.cc (1.7), NNCminimize5.cc (1.6), ascii_dump_load3.cc
-	  (1.6), ascii_dump_load4.cc (1.5), bbrz02widening13.cc (1.5),
-	  bbrz02widening14.cc (1.6), bbrz02widening15.cc (1.5),
-	  bbrz02widening9.cc (1.5), concatenate1.cc (1.4), exceptions1.cc
-	  (1.24), generators1.cc (1.10), generators2.cc (1.6),
-	  linearpartition1.cc (1.5), linearpartition2.cc (1.5),
-	  linearpartition3.cc (1.5), memory1.cc (1.11), smm1.cc (1.9),
-	  watchdog1.cc (1.12): It is pointless to say `using namespace std'
-	  and `std::' at the same time.
-
-2002-11-01 Friday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.48), src/AskTell.defs.hh (1.10), src/AskTell.inlines.hh
-	  (1.10), src/BoundingBox.cc (1.4), src/BoundingBox.defs.hh (1.8),
-	  src/ConSys.cc (1.54), src/ConSys.defs.hh (1.72),
-	  src/Constraint.cc (1.34), src/Constraint.defs.hh (1.76),
-	  src/Determinate.defs.hh (1.22), src/Determinate.inlines.hh
-	  (1.22), src/GenSys.cc (1.70), src/GenSys.defs.hh (1.83),
-	  src/Generator.cc (1.41), src/Generator.defs.hh (1.79),
-	  src/Interval.cc (1.5), src/Interval.defs.hh (1.10),
-	  src/Poly_Con_Relation.cc (1.5), src/Poly_Con_Relation.defs.hh
-	  (1.17), src/Poly_Gen_Relation.cc (1.5),
-	  src/Poly_Gen_Relation.defs.hh (1.16), src/Polyhedron.cc (1.259),
-	  src/Polyhedron.defs.hh (1.169), src/Polyhedron.types.hh (1.7),
-	  src/PowerSet.defs.hh (1.21), src/PowerSet.inlines.hh (1.26),
-	  src/SatRow.cc (1.13), src/SatRow.defs.hh (1.22), src/Variable.cc
-	  (1.9), src/Variable.defs.hh (1.26), tests/NNCminimize4.cc (1.9),
-	  tests/NNCminimize6.cc (1.8), tests/bbrz02widening13.cc (1.4),
-	  tests/bbrz02widening14.cc (1.5), tests/bbrz02widening15.cc (1.4),
-	  tests/bbrz02widening9.cc (1.4), tests/boundingbox1.cc (1.25),
-	  tests/boundingbox2.cc (1.13), tests/linearpartition1.cc (1.4),
-	  tests/linearpartition2.cc (1.4), tests/linearpartition3.cc (1.4),
-	  tests/mc91.cc (1.8), tests/print.cc (1.3), tests/relations1.cc
-	  (1.7), tests/relations10.cc (1.3), tests/relations11.cc (1.3),
-	  tests/relations12.cc (1.2), tests/relations13.cc (1.2),
-	  tests/relations14.cc (1.2), tests/relations15.cc (1.2),
-	  tests/relations16.cc (1.2), tests/relations17.cc (1.3),
-	  tests/relations18.cc (1.2), tests/relations2.cc (1.8),
-	  tests/relations3.cc (1.8), tests/relations4.cc (1.8),
-	  tests/relations5.cc (1.8), tests/relations6.cc (1.7),
-	  tests/relations7.cc (1.7), tests/relations8.cc (1.7),
-	  tests/relations9.cc (1.8), tests/smm1.cc (1.8),
-	  tests/writeconsys1.cc (1.2), tests/writegensys1.cc (1.3),
-	  tests/writegensys2.cc (1.3), tests/writegensys3.cc (1.2),
-	  tests/writepolyhedron1.cc (1.2), tests/writepolyhedron2.cc (1.3),
-	  tests/writepolyhedron3.cc (1.2), tests/writerelation1.cc (1.2),
-	  tests/writevariable1.cc (1.2): All the input/output operators
-	  have been confined into namespace
-	  Parma_Polyhedra_Library::IO_Operators.  This way they do not
-	  conflict with the operators the user might want to define.
-
-2002-11-01 Friday 14:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.53): Exclude Topology.hh from the generation
-	  of user's documentation.
-
-2002-11-01 Friday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: BBox.cc (1.1), BBox.hh (1.1), Makefile.am (1.153),
-	  boundingbox1.cc (1.24), boundingbox2.cc (1.12), boundingbox3.cc
-	  (1.3): Avoid code duplication and some spaghetti-code.
-
-2002-11-01 Friday 12:03  Elisa Ricci
-
-	* tests/: boundingbox1.cc (1.23), boundingbox3.cc (1.2): Added
-	  operator<=(const BInterval& x, const BInterval& y) and
-	  operator<=(const BBox& x, const BBox& y).  In the tests, now we
-	  verify also if nbox <= pbox.
-
-2002-11-01 Friday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.cc (1.4): Always include <iostream>.
-
-2002-10-31 Thursday 18:08  Elisa Ricci
-
-	* tests/: Makefile.am (1.152), boundingbox1.cc (1.22),
-	  boundingbox3.cc (1.1): Modified the test boundingbox1.cc to use
-	  only necessarily closed polyhedron and to test also
-	  Polyhedron::shrink_bounding_box(Box& box, bool polynomial) when
-	  polynomial is "true".  Put the tests with not necessarily closed
-	  polyhedra into boundingbox3.cc.
-
-2002-10-31 Thursday 18:02  Elisa Ricci
-
-	* src/: Interval.cc (1.3), Interval.defs.hh (1.9),
-	  Interval.inlines.hh (1.6), Polyhedron.inlines.hh (1.50): Added
-	  :operator<<(std::ostream& s, const ExtendedRational& x).  In
-	  ExtendedRational(const Integer& num, const Integer& den) we
-	  temporary use `canonicalize()'.  Added the part that we use if
-	  the bounding box must be shrunk in polynomial time (if the
-	  generator system of the polyhedron is not up-to-date).
-
-2002-10-30 Wednesday 21:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.49): Two problems with the current
-	  implementation of Polyhedron::shrink_bounding_box() flagged.
-
-2002-10-30 Wednesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.47), src/Polyhedron.defs.hh (1.168),
-	  src/Polyhedron.inlines.hh (1.48): New boolean parameter for
-	  template <typename Box> void Polyhedron::shrink_bounding_box(Box&
-	  box, bool polynomial) const: when true it specifies the bounding
-	  box must be shrunk in polynomial time.
-
-2002-10-30 Wednesday 17:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc, src/Polyhedron.defs.hh, tests/Makefile.am,
-	  tests/stronglyminimize1.cc, tests/stronglyminimize2.cc,
-	  tests/stronglyminimize3.cc (alt_nnc.[26,10,8,4,4,4]): Got rid of
-	  Polyhedron::strongly_minimize().
-
-2002-10-30 Wednesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.258), src/Polyhedron.defs.hh (1.167),
-	  tests/Makefile.am (1.151), tests/stronglyminimize1.cc (1.2),
-	  tests/stronglyminimize2.cc (1.2), tests/stronglyminimize3.cc
-	  (1.2): Got rid of Polyhedron::strongly_minimize().
-
-2002-10-30 Wednesday 17:24  Elisa Ricci
-
-	* tests/: NNCminimize5.cc (1.5), NNCminimize6.cc (1.7),
-	  addconstraints3.cc (1.6), generators1.cc (1.9), h79widening2.cc
-	  (1.4), h79widening3.cc (1.4): Now these tests verify if the used
-	  methods do the right thing.
-
-2002-10-30 Wednesday 17:18  Elisa Ricci
-
-	* tests/: Makefile.am (1.150), ascii_dump1.cc (1.2), operator1.cc
-	  (1.1), writerelation1.cc (1.1): The test ascii_dump1.cc now is
-	  called writerealtion1.cc, because it verifies operator<< of
-	  Poly_Gen_Relation and Poly_Con_Relation.  In operator1.cc put the
-	  tests to verify operator>=(const Polyhedron& x, const Polyhedron&
-	  y), operator>(const Polyhedron& x, const Polyhedron& y),
-	  operator!=(const Polyhedron& x, const Polyhedron& y) and
-	  operator<(const Polyhedron& x, const Polyhedron& y).
-
-2002-10-30 Wednesday 16:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Variable.defs.hh (1.25): Duplicate `public' specification
-	  removed.
-
-2002-10-30 Wednesday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.25): extra_linker_opts/1
-	  directive added.
-
-2002-10-30 Wednesday 09:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.149), writegensys4.cc (1.2),
-	  writevariable1.cc (1.1): Properly test operator<<(std::ostream&
-	  s, const Variable& v) and the related machinery.
-
-2002-10-29 Tuesday 18:35  Elisa Ricci
-
-	* tests/: Makefile.am (1.148), writegensys4.cc (1.1): Added a test
-	  to print a variable with id > 26.
-
-2002-10-29 Tuesday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.45), Row.defs.hh (1.57): Removed
-	  operator<<(std::ostream&, const Row&).
-
-2002-10-29 Tuesday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.7): Updated.
-
-2002-10-29 Tuesday 14:49  Elisa Ricci
-
-	* tests/: Makefile.am (1.147), ascii_dump1.cc (1.1),
-	  ascii_dump_load1.cc (1.7), ascii_dump_load2.cc (1.5),
-	  ascii_dump_load3.cc (1.5), ascii_dump_load4.cc (1.4),
-	  ascii_dump_load5.cc (1.2): Added some tests to verify
-	  Poly_Gen_Relation::ascii_dump(), Poly_Gen_Relation::OK(),
-	  Poly_Con_Relation::ascii_dump() and Poly_Con_Relation::OK().
-	  Corrected the comment of the tests ascii_dump_load1.cc,
-	  ascii_dump_load2.cc, ascii_dump_load3.cc, ascii_dump_load4.cc,
-	  ascii_dump_load5.cc.
-
-2002-10-28 Monday 08:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LinExpression.cc (ppl-0_4-branch.1): Fixed a bug in
-	  LinExpression::operator-=().
-
-2002-10-28 Monday 08:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, linexpression1.cc (ppl-0_4-branch.[5,1]):
-	  This test shows a bug in LinExpression::operator-=().
-
-2002-10-26 Saturday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.70): Bump version number.
-
-2002-10-25 Friday 20:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (alt_nnc.8): Definitions of num_cons()
-	  and num_gens().
-
-2002-10-25 Friday 19:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh, tests/hypercubes.cc (alt_nnc.[9,10]):
-	  Added methods for printing sizes of (low-level) con_sys and
-	  gen_sys.
-
-2002-10-25 Friday 18:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.25): n strong minimization of
-	  constraints, force all strict inequalities to have the same
-	  epsilon coefficient.
-
-2002-10-25 Friday 18:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/hypercubes.cc (alt_nnc.9): Test exploiting smf's.
-
-2002-10-25 Friday 12:42  Elisa Ricci
-
-	* tests/: Makefile.am (1.146), ascii_dump_load4.cc (1.3),
-	  ascii_dump_load5.cc (1.1): Added some new test to verify
-	  ascii_dump() and ascii_load().
-
-2002-10-24 Thursday 18:07  Elisa Ricci
-
-	* tests/: Makefile.am (1.145), ascii_dump_load4.cc (1.2),
-	  writegensys3.cc (1.1): Added a new test to verify
-	  operator<<(std::ostream&, const GenSys&).  Erased form
-	  ascii_dump_load4.cc an unused const char*.
-
-2002-10-24 Thursday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Init.defs.hh (1.7): Useless file inclusion removed.
-
-2002-10-24 Thursday 15:45  Elisa Ricci
-
-	* src/LinExpression.cc (1.15): Corrected the bug in
-	  operator-=(LinExpression& e1, const LinExpression& e2): if
-	  e1.size() < e2.size(), we compute a copy e of e1 with the
-	  dimension of e2 and then we compute e - e2.
-
-2002-10-24 Thursday 15:09  Elisa Ricci
-
-	* tests/: Makefile.am (1.144), addgenerator4.cc (1.2),
-	  linexpression1.cc (1.1): Now, the test addgenerator4.cc verifies
-	  only Polyhedron::add_generator(g).  The bug of
-	  operator-=(LinExpression& e1, const LinExpression& e2) is now
-	  reported in the test linexpression1.cc.
-
-2002-10-24 Thursday 14:37  Elisa Ricci
-
-	* tests/: Makefile.am (1.143), addgenerator4.cc (1.1): Added a test
-	  for Polyhedron::add_generator(g). This test shows a bug in
-	  operator-=(LinExpression& e1, const LinExpression& e2) if
-	  e1.size() < e2.size().
-
-2002-10-23 Wednesday 12:19  Elisa Ricci
-
-	* src/Polyhedron.cc (alt_nnc.24): Corrected a problem in
-	  Polyhedron::is_BBRZ02_stabilizing(x, y): the vector `x_num_rays'
-	  must have `x.gen_sys.num_columns() - 1' elements and not
-	  `x.space_dimension()'. We have done the same change for the
-	  vector `y_num_rays'.
-
-2002-10-23 Wednesday 10:09  Elisa Ricci
-
-	* src/Polyhedron.cc (alt_nnc.23): Modified
-	  Polyhedron::is_BBRZ02_stabilizing(x, y) so that if `x' and `y'
-	  are not necessarily closed we compute the number of their points
-	  and closure points and not only the number of their closure
-	  points.
-
-2002-10-21 Monday 07:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am, smfintersection.cc, smfpolyhull.cc
-	  (alt_nnc.[7,1,2]): Trying to better exploit smf's.
-
-2002-10-21 Monday 07:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.22): Disregarding the minusepsray when
-	  performing strong minimization of consys.
-
-2002-10-19 Saturday 00:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* mkinstalldirs (1.5): Updated.
-
-2002-10-19 Saturday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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-18 Friday 17:02  Elisa Ricci
-
-	* src/: ConSys.cc (1.53), ConSys.defs.hh (1.71): Modified
-	  ConSys:OK(): now we verify also if every row in the matrix is a
-	  valid constraint.
-
-2002-10-18 Friday 16:46  Elisa Ricci
-
-	* tests/: Makefile.am (1.142), ascii_dump_load1.cc (1.6),
-	  exceptions1.cc (1.23), writeconsys1.cc (1.1): The writeconsys1.cc
-	  test verifies operator<<(s, cs).  Added tests in exceptions1.cc
-	  to verify Generator::coefficient() and Constraint::coefficient().
-	  In ascii_dump_load1.cc erased an unused variable.
-
-2002-10-18 Friday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/smfpolyhull.cc (alt_nnc.1): Put under CVS control.
-
-2002-10-18 Friday 10:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.21): Modified the widening operators
-	  to also add the non-strict inequality corresponding to each
-	  strict inequality added.
-
-2002-10-17 Thursday 18:33  Elisa Ricci
-
-	* tests/: exceptions1.cc (1.22), exceptions2.cc (1.19),
-	  writegensys1.cc (1.2): Added some tests to verify
-	  Generator::ray(), Generator::line(), Generator::closure_point(),
-	  Generator::coefficient(), Generator::divisor() and operator<<(s,
-	  g).
-
-2002-10-17 Thursday 18:30  Elisa Ricci
-
-	* src/Polyhedron.cc (1.257): In
-	  Polyhedron::BBRZ02_widening_assign() and
-	  Polyhedron::is_BBRZ02_stabilizing() debugging-purpose output made
-	  silent.  Modified Polyhedron::select_H79_constraints(y, cs) so
-	  that when we use it the system of constraints has the right
-	  topology.
-
-2002-10-17 Thursday 17:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/hypercubes.cc (alt_nnc.8): Now committed the right file I
-	  was playing with.
-
-2002-10-17 Thursday 17:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am, hypercubes.cc (alt_nnc.[6,7]): Playing with
-	  hypercubes and strong minimization.
-
-2002-10-17 Thursday 17:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.20): Debugging-purpose output made
-	  silent.
-
-2002-10-17 Thursday 15:39  Elisa Ricci
-
-	* tests/: Makefile.am (1.141), ascii_dump_load4.cc (1.1),
-	  relations18.cc (1.1), writepolyhedron3.cc (1.1): The
-	  ascii_dump_load4.cc test verifies some particular cases of
-	  ConSys::ascii_dump(s) and ConSys::ascii_load(s).  The
-	  relations18.cc test verifies Polyhedron::relation_with(g), where
-	  "g" is a closure point and the system of constraints of the
-	  polyhedron contains equalities.  The writepolyhedron3.cc test
-	  verifies operator<<(std::ostream&, const Polyhedron&) with an
-	  universe polyhedron.
-
-2002-10-17 Thursday 11:20  Elisa Ricci
-
-	* tests/: ascii_dump_load1.cc (1.5), relations17.cc (1.2): Added
-	  new tests and modified other tests to verify some other methods
-	  of the class GenSys.
-
-2002-10-16 Wednesday 19:02  Elisa Ricci
-
-	* tests/writegensys2.cc (1.2): Now we print the system of
-	  generators of an empty polyhedron.
-
-2002-10-16 Wednesday 19:00  Elisa Ricci
-
-	* tests/: Makefile.am (1.140), limitedbbrz02widening1.cc (1.2),
-	  relations17.cc (1.1), writegensys1.cc (1.1), writegensys2.cc
-	  (1.1): Added new tests for the methods of the class GenSys.
-	  limitedbbrz02widening1.cc is now silent.  Now we do not test
-	  nnc_bbrz02widening4.cc and nnc_bbrz02widening7.cc because they
-	  contains NNC polyhedra.
-
-2002-10-16 Wednesday 17:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.256): Fixed a topology problem in
-	  select_H79_constraints().
-
-2002-10-16 Wednesday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/writepolyhedron2.cc (1.2): Inconsistent spacing fixed.
-
-2002-10-16 Wednesday 14:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.255), Polyhedron.defs.hh (1.166),
-	  Polyhedron.inlines.hh (1.47): Added static member
-	  add_low_level_constraints(ConSys&) to factorize common code
-	  adding either the positivity or the epsilon-bound constraints.
-
-2002-10-16 Wednesday 14:36  Elisa Ricci
-
-	* tests/: Makefile.am (1.139), bbrz02widening19.cc (1.1),
-	  limitedbbrz02widening1.cc (1.1), writepolyhedron2.cc (1.1): Added
-	  new tests to verify some methods of the class Polyhedron.
-
-2002-10-16 Wednesday 09:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/hypercubes.cc (alt_nnc.6): Experimenting with closed
-	  hypercubes from which we cut vertices using strict inequalities
-	  and open duals of hypercubes to which we add (relatively open)
-	  facets by adding points.
-
-2002-10-16 Wednesday 07:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.69): Handle unary plus:
-	  previously, `+A = 1' could not be valid syntax for a constraint.
-
-2002-10-16 Wednesday 07:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.69): Version number bumped.
-
-2002-10-15 Tuesday 18:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.254): Debugging code in
-	  Polyhedron::check_universe() fixed.
-
-2002-10-15 Tuesday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.138), writepolyhedron1.cc (1.1): Test
-	  operator<<(std::ostream&, const Polyhedron&).
-
-2002-10-15 Tuesday 18:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.46), src/LinExpression.defs.hh (1.56),
-	  src/LinExpression.inlines.hh (1.25): New function LinExpression
-	  operator+(const LinExpression&): previously an expressions like
-	  `+x2-x3-x4 <= 0' could not constitute valid syntax for a
-	  constraint.
-
-2002-10-15 Tuesday 17:55  Elisa Ricci
-
-	* src/Polyhedron.cc (1.253): Modified Polyhedron::check_univers():
-	  if we are considering a not necessarily closed polyhedron and if
-	  its system of constraints contains only two rows that are not
-	  equalities, we are sure that they are epsilon constraints.
-
-2002-10-15 Tuesday 17:48  Elisa Ricci
-
-	* tests/: Makefile.am (1.137), topclosure3.cc (1.1): Added a test
-	  to verify Polyhedron::topological_closure_assign().
-
-2002-10-15 Tuesday 15:27  Elisa Ricci
-
-	* tests/: Makefile.am (1.136), adddimensions12.cc (1.1),
-	  affineimage6.cc (1.1), affinepreimage8.cc (1.1), disjoint1.cc
-	  (1.1), generalizedaffineimage11.cc (1.1),
-	  generalizedaffineimage12.cc (1.1), limitedh79widening4.cc (1.1):
-	  Added new tests for some methods of the class Polyhedron.
-
-2002-10-15 Tuesday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, NEWS, STANDARDS, config.guess, config.h.in,
-	  config.sub, configure.ac, ltmain.sh, ppl.spec.in,
-	  doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed,
-	  doc/bib2html2.sed, doc/definitions.dox,
-	  doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
-	  src/BoundingBox.defs.hh, src/C_Polyhedron.defs.hh, src/ConSys.cc,
-	  src/ConSys.defs.hh, src/Constraint.cc, src/Constraint.defs.hh,
-	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
-	  src/GenSys.cc, src/GenSys.defs.hh, src/Integer.defs.hh,
-	  src/Integer.inlines.hh, src/LinExpression.cc,
-	  src/LinExpression.defs.hh, src/LinExpression.inlines.hh,
-	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
-	  src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc,
-	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc,
-	  src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc,
-	  src/Polyhedron.defs.hh, src/PowerSet.defs.hh,
-	  src/PowerSet.inlines.hh, src/Row.cc, src/Row.defs.hh,
-	  src/SatMatrix.cc, src/SatMatrix.defs.hh, src/SatRow.cc,
-	  src/SatRow.defs.hh, src/Status.cc, src/Status.defs.hh,
-	  src/algorithms.hh, src/conversion.cc, src/globals.hh,
-	  src/minimize.cc, src/simplify.cc, tests/Makefile.am,
-	  tests/addconstraint2.cc, tests/addconstraint3.cc,
-	  tests/addconstraints10.cc, tests/addconstraints11.cc,
-	  tests/addconstraints12.cc, tests/adddimensions11.cc,
-	  tests/addgenerator3.cc, tests/addgenerators11.cc,
-	  tests/affineimage3.cc, tests/affineimage4.cc,
-	  tests/affineimage5.cc, tests/affinepreimage5.cc,
-	  tests/affinepreimage6.cc, tests/affinepreimage7.cc,
-	  tests/ascii_dump_load1.cc, tests/ascii_dump_load2.cc,
-	  tests/ascii_dump_load3.cc, tests/bbrz02widening1.cc,
-	  tests/bbrz02widening10.cc, tests/bbrz02widening11.cc,
-	  tests/bbrz02widening12.cc, tests/bbrz02widening13.cc,
-	  tests/bbrz02widening14.cc, tests/bbrz02widening15.cc,
-	  tests/bbrz02widening16.cc, tests/bbrz02widening17.cc,
-	  tests/bbrz02widening18.cc, tests/bbrz02widening6.cc,
-	  tests/bbrz02widening7.cc, tests/bbrz02widening9.cc,
-	  tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc,
-	  tests/exceptions2.cc, tests/files.cc, tests/files.hh,
-	  tests/generalizedaffineimage1.cc,
-	  tests/generalizedaffineimage10.cc,
-	  tests/generalizedaffineimage2.cc,
-	  tests/generalizedaffineimage3.cc,
-	  tests/generalizedaffineimage4.cc,
-	  tests/generalizedaffineimage5.cc,
-	  tests/generalizedaffineimage6.cc,
-	  tests/generalizedaffineimage7.cc,
-	  tests/generalizedaffineimage8.cc,
-	  tests/generalizedaffineimage9.cc, tests/h79widening5.cc,
-	  tests/intersection10.cc, tests/linearpartition1.cc,
-	  tests/linearpartition2.cc, tests/linearpartition3.cc,
-	  tests/mc91.cc, tests/memory1.cc, tests/minconstraints2.cc,
-	  tests/minconstraints3.cc, tests/mingenerators2.cc,
-	  tests/mingenerators3.cc, tests/polydifference7.cc,
-	  tests/polyhull7.cc, tests/polyhull8.cc, tests/relations10.cc,
-	  tests/relations11.cc, tests/relations12.cc, tests/relations13.cc,
-	  tests/relations14.cc, tests/relations15.cc, tests/relations16.cc,
-	  tests/stronglyminimize1.cc, tests/stronglyminimize2.cc,
-	  tests/stronglyminimize3.cc, tests/timeelapse6.cc,
-	  tests/timeelapse7.cc, tests/topclosed3.cc, tests/topclosure2.cc
-	  (alt_nnc.[3,6,4,3,5,3,5,3,3,3,3,3,3,4,3,3,3,3,3,6,6,4,4,4,5,4,4,3,4,4,4,4,4,5,5,5,8,7,7,7,7,7,10,7,4,4,4,5,5,4,4,5,5,4,5,4,5,19,8,6,6,4,5,4,5,3,5,4,5,3,4,5,5,4,5,3,3,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,4,4,4,3,3,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]):
-	  Merged the changes on the main trunk within the tags
-	  third_merge_to_alt_nnc and fourth_merge_to_alt_nnc.
-
-2002-10-15 Tuesday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, NEWS, STANDARDS, config.guess, config.h.in,
-	  config.sub, configure.ac, ltmain.sh, ppl.spec.in,
-	  doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed,
-	  doc/bib2html2.sed, doc/definitions.dox,
-	  doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
-	  src/BoundingBox.defs.hh, src/C_Polyhedron.cc,
-	  src/C_Polyhedron.defs.hh, src/ConSys.cc, src/ConSys.defs.hh,
-	  src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh,
-	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
-	  src/Generator.cc, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/Integer.defs.hh,
-	  src/Integer.inlines.hh, src/LinExpression.cc,
-	  src/LinExpression.defs.hh, src/LinExpression.inlines.hh,
-	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
-	  src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc,
-	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc,
-	  src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc,
-	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
-	  src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.cc,
-	  src/Row.defs.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh,
-	  src/SatRow.cc, src/SatRow.defs.hh, src/Status.cc,
-	  src/Status.defs.hh, src/algorithms.hh, src/conversion.cc,
-	  src/globals.hh, src/minimize.cc, src/simplify.cc,
-	  tests/Makefile.am, tests/addconstraint2.cc,
-	  tests/addconstraint3.cc, tests/addconstraints10.cc,
-	  tests/addconstraints11.cc, tests/addconstraints12.cc,
-	  tests/adddimensions11.cc, tests/addgenerator3.cc,
-	  tests/addgenerators11.cc, tests/affineimage3.cc,
-	  tests/affineimage4.cc, tests/affineimage5.cc,
-	  tests/affinepreimage5.cc, tests/affinepreimage6.cc,
-	  tests/affinepreimage7.cc, tests/ascii_dump_load1.cc,
-	  tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc,
-	  tests/bbrz02widening1.cc, tests/bbrz02widening10.cc,
-	  tests/bbrz02widening11.cc, tests/bbrz02widening12.cc,
-	  tests/bbrz02widening13.cc, tests/bbrz02widening14.cc,
-	  tests/bbrz02widening15.cc, tests/bbrz02widening16.cc,
-	  tests/bbrz02widening17.cc, tests/bbrz02widening18.cc,
-	  tests/bbrz02widening6.cc, tests/bbrz02widening7.cc,
-	  tests/bbrz02widening9.cc, tests/boundingbox2.cc,
-	  tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc,
-	  tests/exceptions2.cc, tests/files.cc, tests/files.hh,
-	  tests/generalizedaffineimage1.cc,
-	  tests/generalizedaffineimage10.cc,
-	  tests/generalizedaffineimage2.cc,
-	  tests/generalizedaffineimage3.cc,
-	  tests/generalizedaffineimage4.cc,
-	  tests/generalizedaffineimage5.cc,
-	  tests/generalizedaffineimage6.cc,
-	  tests/generalizedaffineimage7.cc,
-	  tests/generalizedaffineimage8.cc,
-	  tests/generalizedaffineimage9.cc, tests/h79widening5.cc,
-	  tests/hypercubes.cc, tests/intersection10.cc,
-	  tests/linearpartition1.cc, tests/linearpartition2.cc,
-	  tests/linearpartition3.cc, tests/mc91.cc, tests/memory1.cc,
-	  tests/minconstraints2.cc, tests/minconstraints3.cc,
-	  tests/mingenerators2.cc, tests/mingenerators3.cc,
-	  tests/polydifference7.cc, tests/polyhull7.cc, tests/polyhull8.cc,
-	  tests/relations10.cc, tests/relations11.cc, tests/relations12.cc,
-	  tests/relations13.cc, tests/relations14.cc, tests/relations15.cc,
-	  tests/relations16.cc, tests/stronglyminimize1.cc,
-	  tests/stronglyminimize2.cc, tests/stronglyminimize3.cc,
-	  tests/timeelapse6.cc, tests/timeelapse7.cc, tests/topclosed3.cc,
-	  tests/topclosure2.cc
-	  (alt_nnc.[2,5,3,2,4,2,4,2,2,2,2,2,2,3,2,2,2,2,2,5,5,3,3,3,4,3,3,2,3,3,3,3,3,4,4,3,4,7,6,5,6,6,5,6,6,9,6,7,7,5,3,3,3,4,4,3,3,4,4,3,4,3,4,18,7,7,5,5,3,4,3,4,2,4,3,4,2,3,4,4,3,4,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,3,2,2,2,2,2,2,2,2,2,3,3,3,5,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,5,2,2,2,2,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]):
-	  Erroneous merge undone.
-
-2002-10-15 Tuesday 12:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.67): Documentation for
-	  ppl_Polyhedron_add_constraint_and_minimize ppl_Polyhedron_and
-	  add_generator_and_minimize added.
-
-2002-10-15 Tuesday 12:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.10): Bug introduced in previous change
-	  fixed.
-
-2002-10-15 Tuesday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.20), configure.ac (1.68), tests/memory1.cc (1.10):
-	  Portability improvements for memory-guarded programs.  Mac OS X
-	  is now supported.  Operating systems not providing any mechanism
-	  to limit memory usage are also supported.
-
-2002-10-15 Tuesday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.252): Greatly simplified the
-	  strongly_minimize() procedure.
-
-2002-10-15 Tuesday 08:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.30): Specify -lstdc++ in
-	  splfr command invocation (this seems to help on Mac OS X).
-
-2002-10-15 Tuesday 08:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.9): Use
-	  Polyhedron::add_constraint_and_minimize().
-
-2002-10-14 Monday 21:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog, NEWS, STANDARDS, config.guess, config.h.in,
-	  config.sub, configure.ac, ltmain.sh, ppl.spec.in,
-	  doc/Makefile.am, doc/bib2dox, doc/bib2html1.sed,
-	  doc/bib2html2.sed, doc/definitions.dox,
-	  doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  doc/fdl.dox, doc/gpl.dox, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h, interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/clpq2.pl, interfaces/Prolog/pl_check.pl,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/SICStus/Makefile.am,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/YAP/ppl_yap.cc, src/AskTell.defs.hh,
-	  src/BoundingBox.defs.hh, src/C_Polyhedron.cc,
-	  src/C_Polyhedron.defs.hh, src/ConSys.cc, src/ConSys.defs.hh,
-	  src/ConSys.inlines.hh, src/Constraint.cc, src/Constraint.defs.hh,
-	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
-	  src/Generator.cc, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/Integer.defs.hh,
-	  src/Integer.inlines.hh, src/LinExpression.cc,
-	  src/LinExpression.defs.hh, src/LinExpression.inlines.hh,
-	  src/Makefile.am, src/Matrix.cc, src/Matrix.defs.hh,
-	  src/NNC_Polyhedron.defs.hh, src/Poly_Con_Relation.cc,
-	  src/Poly_Con_Relation.defs.hh, src/Poly_Gen_Relation.cc,
-	  src/Poly_Gen_Relation.defs.hh, src/Polyhedron.cc,
-	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
-	  src/PowerSet.defs.hh, src/PowerSet.inlines.hh, src/Row.cc,
-	  src/Row.defs.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh,
-	  src/SatRow.cc, src/SatRow.defs.hh, src/Status.cc,
-	  src/Status.defs.hh, src/algorithms.hh, src/conversion.cc,
-	  src/globals.hh, src/minimize.cc, src/simplify.cc,
-	  tests/Makefile.am, tests/addconstraint2.cc,
-	  tests/addconstraint3.cc, tests/addconstraints10.cc,
-	  tests/addconstraints11.cc, tests/addconstraints12.cc,
-	  tests/adddimensions11.cc, tests/addgenerator3.cc,
-	  tests/addgenerators11.cc, tests/affineimage3.cc,
-	  tests/affineimage4.cc, tests/affineimage5.cc,
-	  tests/affinepreimage5.cc, tests/affinepreimage6.cc,
-	  tests/affinepreimage7.cc, tests/ascii_dump_load1.cc,
-	  tests/ascii_dump_load2.cc, tests/ascii_dump_load3.cc,
-	  tests/bbrz02widening1.cc, tests/bbrz02widening10.cc,
-	  tests/bbrz02widening11.cc, tests/bbrz02widening12.cc,
-	  tests/bbrz02widening13.cc, tests/bbrz02widening14.cc,
-	  tests/bbrz02widening15.cc, tests/bbrz02widening16.cc,
-	  tests/bbrz02widening17.cc, tests/bbrz02widening18.cc,
-	  tests/bbrz02widening6.cc, tests/bbrz02widening7.cc,
-	  tests/bbrz02widening9.cc, tests/boundingbox2.cc,
-	  tests/concatenate5.cc, tests/contains1.cc, tests/exceptions1.cc,
-	  tests/exceptions2.cc, tests/files.cc, tests/files.hh,
-	  tests/generalizedaffineimage1.cc,
-	  tests/generalizedaffineimage10.cc,
-	  tests/generalizedaffineimage2.cc,
-	  tests/generalizedaffineimage3.cc,
-	  tests/generalizedaffineimage4.cc,
-	  tests/generalizedaffineimage5.cc,
-	  tests/generalizedaffineimage6.cc,
-	  tests/generalizedaffineimage7.cc,
-	  tests/generalizedaffineimage8.cc,
-	  tests/generalizedaffineimage9.cc, tests/h79widening5.cc,
-	  tests/hypercubes.cc, tests/intersection10.cc,
-	  tests/linearpartition1.cc, tests/linearpartition2.cc,
-	  tests/linearpartition3.cc, tests/mc91.cc, tests/memory1.cc,
-	  tests/minconstraints2.cc, tests/minconstraints3.cc,
-	  tests/mingenerators2.cc, tests/mingenerators3.cc,
-	  tests/polydifference7.cc, tests/polyhull7.cc, tests/polyhull8.cc,
-	  tests/relations10.cc, tests/relations11.cc, tests/relations12.cc,
-	  tests/relations13.cc, tests/relations14.cc, tests/relations15.cc,
-	  tests/relations16.cc, tests/stronglyminimize1.cc,
-	  tests/stronglyminimize2.cc, tests/stronglyminimize3.cc,
-	  tests/timeelapse6.cc, tests/timeelapse7.cc, tests/topclosed3.cc,
-	  tests/topclosure2.cc
-	  (alt_nnc.[1,4,2,1,3,1,3,1,1,1,1,1,1,2,1,1,1,1,1,4,4,2,2,2,3,2,2,1,2,2,2,2,2,3,3,2,3,6,5,4,5,5,4,5,5,8,5,6,6,4,2,2,2,3,3,2,2,3,3,2,3,2,3,17,6,6,4,4,2,3,2,3,1,3,2,3,1,2,3,3,2,3,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,2,2,2,4,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  Fourth merge from main trunk.
-
-2002-10-14 Monday 17:09  Elisa Ricci
-
-	* tests/: Makefile.am (1.135), addconstraint3.cc (1.1),
-	  addgenerator3.cc (1.1): Added a test for
-	  Polyhedron::add_constraint_and_minimize(c) and a test for
-	  Polyhedron::add_generator_and_minimize(g).
-
-2002-10-14 Monday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.45), interfaces/C/ppl_c.cc (1.49), interfaces/C/ppl_c.h
-	  (1.49), interfaces/Prolog/pl_check.pl (1.26),
-	  interfaces/Prolog/ppl_prolog.icc (1.68),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.24),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.28),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.52),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.5),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.10),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.46), src/Polyhedron.cc
-	  (1.251), src/Polyhedron.defs.hh (1.165): New methods bool
-	  Polyhedron::add_constraint_and_minimize(const Constraint&) and
-	  bool Polyhedron::add_generator_and_minimize(const Generator&) to
-	  add a constraint or a generator and minimizing the result at the
-	  same time.
-
-2002-10-14 Monday 14:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.44), interfaces/C/ppl_c.cc (1.48), interfaces/C/ppl_c.h
-	  (1.48), interfaces/Prolog/Prolog_interface.dox (1.66),
-	  interfaces/Prolog/pl_check.pl (1.25),
-	  interfaces/Prolog/ppl_prolog.icc (1.67),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.23),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.27),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.51),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.4),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.9),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.45), src/Polyhedron.cc
-	  (1.250), src/Polyhedron.defs.hh (1.164): New method void
-	  Polyhedron::BBRZ02_limited_widening_assign(const Polyhedron&,
-	  ConSys&).  Both this and void
-	  Polyhedron::BBRZ02_widening_assign(const Polyhedron&) are now
-	  available through all the interfaces.
-
-2002-10-14 Monday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.67): We now require autoconf (at least) 2.54 and
-	  automake (at least) 1.7.
-
-2002-10-14 Monday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.66), interfaces/Prolog/SICStus/Makefile.am
-	  (1.29): An hack that was necessary to build the SICStus Prolog
-	  interface with SICStus 3.9.0 has been removed, since it prevented
-	  us to build on Darwin.  Consequently, we now require SICStus
-	  3.9.1 or later version.
-
-2002-10-14 Monday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.65): Bump version number.
-
-2002-10-13 Sunday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.6): Update to the latest version of libtool.
-
-2002-10-13 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.8): Bug fixed in widening_assign().
-
-2002-10-13 Sunday 16:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.75): We were too eager in converting
-	  "<" and ">" to "\<" and "\>" in Doxygen comments: this should not
-	  be done within LaTeX formulas.
-
-2002-10-12 Saturday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/conversion.cc (1.35): Comment fixed for Doxygen.
-
-2002-10-12 Saturday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/memory1.cc (1.9): Much improved portability.
-
-2002-10-12 Saturday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.19), configure.ac (1.64): Check for declarations
-	  of RLIMIT_DATA, RLIMIT_RSS, RLIMIT_VMEM, RLIMIT_AS in
-	  <sys/resource.h>.
-
-2002-10-12 Saturday 20:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.7): Two serious bugs have been fixed.  Other
-	  improvements.
-
-2002-10-12 Saturday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.21), Determinate.inlines.hh (1.21),
-	  PowerSet.defs.hh (1.20), PowerSet.inlines.hh (1.25): New default
-	  constructor.
-
-2002-10-12 Saturday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.103), src/AskTell.defs.hh (1.9),
-	  src/C_Polyhedron.defs.hh (1.18), src/Constraint.defs.hh (1.74),
-	  src/Determinate.defs.hh (1.20), src/NNC_Polyhedron.defs.hh
-	  (1.20): Fix all but one of the problems reported by the new
-	  version of Doxygen.
-
-2002-10-12 Saturday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/fdl.dox (1.2), doc/gpl.dox (1.3),
-	  interfaces/Prolog/Prolog_interface.dox (1.65): Sectioning fixed.
-
-2002-10-12 Saturday 09:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: bib2dox (1.2), bib2html1.sed (1.1), bib2html2.sed (1.1),
-	  bib2html2dox.sed (1.2), definitions.dox (1.102): Improvements to
-	  the machinery we use to build the bibliography section of the
-	  documentation.
-
-2002-10-11 Friday 18:41  Elisa Ricci
-
-	* tests/: Makefile.am (1.134), stronglyminimize1.cc (1.1),
-	  stronglyminimize2.cc (1.1), stronglyminimize3.cc (1.1): Added
-	  three tests for Polyhedron::strongly_minimize().
-
-2002-10-11 Friday 18:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.44): Use the new C interface
-	  provided by YAP.
-
-2002-10-11 Friday 16:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.64): Mention other
-	  problems we had with the GNU Prolog interface.
-
-2002-10-11 Friday 12:53  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.163): Polyhedron::strongly_minimize()
-	  is now public, but the user can not see its documentation.
-
-2002-10-11 Friday 11:49  Elisa Ricci
-
-	* tests/: Makefile.am (1.133), addconstraint2.cc (1.1),
-	  concatenate5.cc (1.1), intersection10.cc (1.1),
-	  polydifference7.cc (1.1), polyhull8.cc (1.1): Added these tests
-	  to verify some methods of the class Polyhedron in the case of
-	  empty or zero dimensional polyhedron.
-
-2002-10-11 Friday 11:46  Elisa Ricci
-
-	* tests/generalizedaffineimage10.cc (1.2): Added two tests to
-	  verify Polyhedron::generalized_affine_image(lhs, r, rhs) when the
-	  set of variables of left hand side and the set of the variable of
-	  the right hand side are disjoint.
-
-2002-10-10 Thursday 17:47  Elisa Ricci
-
-	* tests/: Makefile.am (1.132), generalizedaffineimage10.cc (1.1):
-	  Added a new test for Polyhedron::generalized_affine_image(lhs, r,
-	  rhs).
-
-2002-10-10 Thursday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.249): Do not use vector<bool>.
-
-2002-10-10 Thursday 11:20  Elisa Ricci
-
-	* src/Polyhedron.cc (1.248): Some improvements to the third
-	  technique of Polyhedron::BBRZ02_widening_assign(): - the test
-	  y.relation_with(x_g) == Poly_Gen_Relation::nothing() is done
-	  after testing if x_g is a ray; - corrected the test of the
-	  elements of the vector "considered"; - now we use a const
-	  reference x_g (for x.gen_sys[i]) to find how it evolved since a
-	  ray of "y" and a copy of "x_g" to built the new ray.	Use
-	  "H79_con_sys" instead of "common_con_sys" in
-	  Polyhedron::BBRZ02_widening_assign() and in
-	  Polyhedron::H79_widening_assign().
-
-2002-10-10 Thursday 10:35  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.247), Polyhedron.defs.hh (1.162): Improved
-	  the messages of the exceptions.
-
-2002-10-09 Wednesday 20:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/addgenerators11.cc (1.2): Be quiet.
-
-2002-10-09 Wednesday 17:59  Elisa Ricci
-
-	* tests/: bbrz02widening13.cc (1.3), bbrz02widening14.cc (1.4),
-	  bbrz02widening15.cc (1.3), bbrz02widening9.cc (1.3): Added the
-	  "known_result" to verify if the resulting polyhedron is equal to
-	  the polyhedron that we want to have.
-
-2002-10-09 Wednesday 14:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.24): Problem due to bug in GNU
-	  Prolog now avoided by delaying as much as possible any reference
-	  to variables that are intended to be bound to polyhedral handles.
-
-2002-10-09 Wednesday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/algorithms.hh (1.6): poly_hull_assign_if_exact(p,q) now
-	  return true if the poly-hull is exact.
-
-2002-10-09 Wednesday 10:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.73), Polyhedron.defs.hh (1.161):
-	  Escaped a few ">" and "<" occurring inside HTML tags.
-
-2002-10-09 Wednesday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.101): "<" and ">" inside HTMK tags have to
-	  be escaped by "\".
-
-2002-10-09 Wednesday 09:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.131), bbrz02widening18.cc (1.1): New test
-	  for bbrz02widening18, showing that we fall back to H79 when we
-	  may have obtained more precise results by combining H79 and the
-	  bbrz02 heuristics.
-
-2002-10-09 Wednesday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.20): Use the `-d Validate' option of doxygen
-	  (and see the resulting disaster).
-
-2002-10-08 Tuesday 12:29  Elisa Ricci
-
-	* src/Polyhedron.cc (1.246), tests/Makefile.am (1.130),
-	  tests/bbrz02widening16.cc (1.1), tests/bbrz02widening17.cc (1.1):
-	  Improved the third technique: the rays that we want to add are
-	  modified so that they satisfy the constraints of
-	  "common_con_sys".  Added to test to verify these changes.
-
-2002-10-08 Tuesday 09:24  Elisa Ricci
-
-	* src/Polyhedron.cc (1.245): Modified
-	  Polyhedron::is_BBRZ02_stabilizing(): if the number of points (or
-	  closure points) of `y' is smaller than the number of points of
-	  `x', the chain is not stabilizing.
-
-2002-10-07 Monday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.129), ascii_dump_load1.cc (1.4),
-	  ascii_dump_load2.cc (1.4), ascii_dump_load3.cc (1.4): Write files
-	  in the current directory.  Make sure the current directory is
-	  also properly cleaned afterwards.
-
-2002-10-07 Monday 17:16  Elisa Ricci
-
-	* src/Polyhedron.cc (1.244): Made a little improvement to the third
-	  technique of Polyhedron::BBRZ02_widening_assign(): we built a
-	  temporary system of generators and then we use
-	  Polyhedron::add_generators_and_minimize() to add this system to
-	  the polyhedron `x'.
-
-2002-10-07 Monday 16:07  Elisa Ricci
-
-	* src/Polyhedron.cc (1.243): Corrected an error in the second
-	  technique of Polyhedron::BBRZ02_widening_assign(): we add the
-	  system of generators `valid_rays' if the new ray has all
-	  homogeneous coefficients equal to zero or if adding only a ray
-	  there is not stabilization.
-
-2002-10-07 Monday 14:38  Elisa Ricci
-
-	* src/Polyhedron.cc (1.242): Modified the second technique of
-	  Polyhedron::BBRZ02_widening_assign() so that before we add only
-	  the averaged ray and if the result is not stabilizing we add all
-	  the rays of `valid_rays'.
-
-2002-10-07 Monday 12:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.241): In is_BBRZ02_stabilizing(), corrected
-	  a bug in the test on stabilization based on number of rays.
-
-2002-10-07 Monday 11:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.24), ppl_prolog.icc (1.66),
-	  Ciao/ppl_ciao.pl (1.22), GNU/ppl_gprolog.pl (1.18),
-	  SICStus/ppl_sicstus_sd.cc (1.26), SWI/ppl_swiprolog.cc (1.50),
-	  XSB/ppl_xsb.H (1.3), XSB/ppl_xsb.cc (1.8), YAP/ppl_yap.cc (1.43):
-	  Added ppl_Polyhedron_is_disjoint_from_Polyhedron/2 to Prolog
-	  interface.  Tests for this added to pl_check.pl
-
-2002-10-07 Monday 11:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.240): Modified method
-	  Polyhedron::is_BBRZ02_stabilizing(x, y) so that:  - we check for
-	  a decreasing number of rays lying inside the faces	of an
-	  orthant.   - we check whether x and y do happens to be the same
-	  polyhedron.  Modified method
-	  Polyhedron::BBRZ02_widening_assign(y) to apply, as a last resort,
-	  the widening H79.
-
-2002-10-07 Monday 11:19  Elisa Ricci
-
-	* tests/: ascii_dump_load3.cc (1.3), bbrz02widening1.cc (1.3),
-	  bbrz02widening12.cc (1.2), exceptions1.cc (1.21), exceptions2.cc
-	  (1.18): Modified these tests so that there is only a
-	  `set_handlers()' for each test.
-
-2002-10-07 Monday 10:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.160): In the Doxygen documentation of
-	  affine (pre)-image operators, fixed a couple of mismatches in the
-	  naming of parameters.
-
-2002-10-07 Monday 07:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.inlines.hh (1.20): PH&
-	  Determinate<PH>::polyhedron() fixed: it was not calling mutate().
-
-2002-10-06 Sunday 22:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.5): Added a tentative, inefficient
-	  implementation for template <typename PH> bool
-	  poly_hull_assign_if_exact(PH& p, const PH& q): if the poly-hull
-	  of `p' and `q' is exact, assigns it to `p' and returns `true'; it
-	  returns false otherwise.
-
-	  Added a tentative implementation for template <typename PH> void
-	  complete_reduction(PowerSet<Determinate<PH> >& p): it collapses
-	  all the elements of `p' that can be poly-hulled without loss of
-	  precision.
-
-	  Added tentative implementations of template <typename PH> void
-	  H79_widening_assign(PowerSet<Determinate<PH> >& r, const
-	  PowerSet<Determinate<PH> >& q) and template <typename PH> void
-	  BBRZ02_widening_assign(PowerSet<Determinate<PH> >& r, const
-	  PowerSet<Determinate<PH> >& q): they are meant to generalize the
-	  widenings on polyhedra to sets of polyhedra.
-
-2002-10-06 Sunday 22:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.19), Determinate.inlines.hh (1.19):
-	  Added PH& polyhedron().
-
-2002-10-06 Sunday 22:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: linearpartition1.cc (1.3), linearpartition2.cc (1.3),
-	  linearpartition3.cc (1.3): Reduce the scope of declarations.
-
-2002-10-06 Sunday 20:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: linearpartition2.cc (1.2), linearpartition3.cc (1.2):
-	  Made quiet.
-
-2002-10-06 Sunday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.128), linearpartition2.cc (1.1),
-	  linearpartition3.cc (1.1): Test linear_partition() with two
-	  disjoint polyhedra and with two telescopic polyhedra.
-
-2002-10-06 Sunday 19:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.4): Relax the limitations of
-	  linear_partition().
-
-2002-10-06 Sunday 18:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.239): Many (small) improvements in the
-	  implementation of the 2nd technique of BBRZ02_widening_assign().
-
-2002-10-06 Sunday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.100): Bibliography added (perhaps not at
-	  the right place).
-
-2002-10-06 Sunday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: bib2dox (1.1), bib2html2dox.sed (1.1): A tool to convert a
-	  BibTeX file into something suitable for inclusion into the
-	  Doxygen documentation.
-
-2002-10-06 Sunday 09:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.3): Comment slightly improved.
-
-2002-10-06 Sunday 09:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.23),
-	  devref-print.doxyconf-latex.in (1.23), devref.doxyconf-html.in
-	  (1.24): Include `algorithms.hh' in the sources used to create the
-	  developer's reference manual.
-
-2002-10-06 Sunday 09:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.99): Use the condition
-	  `Include_Implementation_Details' instead of
-	  `Implementation_Info'.
-
-2002-10-06 Sunday 09:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.8): A few minor improvements.
-
-2002-10-05 Saturday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/algorithms.hh (1.2): Include implementation details for
-	  linear_partition().
-
-2002-10-05 Saturday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/linearpartition1.cc (1.2): Be quiet.
-
-2002-10-05 Saturday 22:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: bbrz02widening13.cc (1.2), bbrz02widening14.cc (1.3):
-	  Made silent.
-
-2002-10-05 Saturday 22:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.238), Polyhedron.defs.hh (1.159): Added
-	  new private method void Polyhedron::select_H79_constraints(const
-	  Polyhedron& y,					ConSys&
-	  cs_selection) const; that selects the common constraints of *this
-	  and y (into cs_selection) according to H79.  Used the method both
-	  in H79_widening and in BBRZ02_widening.  Modified the second
-	  technique of BBRZ02 to have more chances that it will produce a
-	  stabilizing sequence of polyhedra.  Added a few outputs for the
-	  debugging of BBRZ02_widening.
-
-2002-10-05 Saturday 20:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.52), src/algorithms.hh (1.1),
-	  tests/Makefile.am (1.127), tests/linearpartition1.cc (1.1): New
-	  function template <typename PH> std::pair<PH,
-	  PowerSet<Determinate<NNC_Polyhedron> > > linear_partition(const
-	  PH& p, const PH& q) computing a partition of `q' with respect to
-	  `p'.
-
-2002-10-05 Saturday 20:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.18), Determinate.inlines.hh (1.18):
-	  Added const PH& polyhedron() const.
-
-2002-10-05 Saturday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.47), ppl_c.h (1.47): The function int
-	  ppl_Polyhedron_is_disjoint_from_Polyhedron() makes the
-	  disjointness test for polyhedra available to the C interface.
-
-2002-10-05 Saturday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.43), src/Polyhedron.cc (1.237), src/Polyhedron.defs.hh
-	  (1.158): New function bool are_disjoint(const Polyhedron&, const
-	  Polyhedron&) returning true if and only if the two polyhedra are
-	  disjoint.
-
-2002-10-05 Saturday 18:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.157): All the relational operators on
-	  polyhedra are now commented the same way.
-
-2002-10-05 Saturday 17:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.19), PowerSet.inlines.hh (1.24): The
-	  default constructor now builds an empty (bottom) PowerSet.
-
-2002-10-05 Saturday 16:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: BoundingBox.defs.hh (1.7), ConSys.cc (1.52), ConSys.defs.hh
-	  (1.70), Constraint.cc (1.33), Constraint.defs.hh (1.72),
-	  Determinate.defs.hh (1.17), GenSys.cc (1.69), GenSys.defs.hh
-	  (1.82), Generator.cc (1.40), Generator.defs.hh (1.78),
-	  Matrix.defs.hh (1.37), Poly_Con_Relation.defs.hh (1.16),
-	  Poly_Gen_Relation.defs.hh (1.15), Polyhedron.cc (1.236),
-	  Polyhedron.defs.hh (1.156), PowerSet.defs.hh (1.18), Row.cc
-	  (1.44), Row.defs.hh (1.56), SatMatrix.cc (1.22),
-	  SatMatrix.defs.hh (1.26), SatRow.cc (1.12), SatRow.defs.hh
-	  (1.21), Status.cc (1.16), Status.defs.hh (1.23), conversion.cc
-	  (1.34), minimize.cc (1.25), simplify.cc (1.19): Started enforcing
-	  STANDARDS rules as far as the doxygen documentation is concerned:
-	  - added a \brief declaration where needed;  - cut detailed
-	  doxygen comments from *.cc files and pasted in *.defs.hh    files
-	  (with the exceptions of conversion, minimize and simplify);  -
-	  started using the conditional section
-	  Include_Implementation_Details;  - avoided using \fn declaration
-	  where it is not needed (it was also	 causing problems since it
-	  does not support line breaks);  - fixed some problems with the
-	  naming of doxygen documentation groups.
-
-2002-10-05 Saturday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/mc91.cc (1.7): Fixed and made quiet.
-
-2002-10-05 Saturday 12:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.23): Fixed a couple of bugs concerning
-	  space dimensions.
-
-2002-10-05 Saturday 10:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.17), PowerSet.inlines.hh (1.22): The
-	  default constructor for PowerSet now takes the dimension of the
-	  enclosing space as an optional parameter, defaulting to zero.
-
-2002-10-05 Saturday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.68), Polyhedron.cc (1.235): Added missing
-	  \relates doxygen declarations.
-
-2002-10-05 Saturday 10:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (1.33): Added a missing namespace qualification
-	  in the doxygen comment.
-
-2002-10-05 Saturday 10:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.51), ConSys.defs.hh (1.69): According to
-	  STANDARDS, moved doxygen documentation in the header file.  Added
-	  a missing \relates declaration to avoid a doxygen warning.
-
-2002-10-05 Saturday 10:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.22),
-	  devref-print.doxyconf-latex.in (1.22), devref.doxyconf-html.in
-	  (1.23): Added Include_Implementation_Details in the
-	  ENABLED_SECTIONS of the developer reference.
-
-2002-10-05 Saturday 10:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.7): Added specification on how to integrate an
-	  end-user comment block with further comments for the developer
-	  only.
-
-2002-10-04 Friday 23:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.42): Notified new function for manipulation
-	  LinExpression's.
-
-2002-10-04 Friday 23:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: bbrz02widening14.cc (1.2), bbrz02widening15.cc (1.2):
-	  Tests made silent.
-
-2002-10-04 Friday 22:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.98): Cut away previous spurious commit on
-	  the specification of generalized affine image. Added a missing
-	  transposition sign.
-
-2002-10-04 Friday 22:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.63): Typo corrected:
-	  closure-point ==> closure_point.
-
-2002-10-04 Friday 19:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.10): Updated.
-
-2002-10-04 Friday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.41): Report the news for PPL 0.4.2.
-
-2002-10-04 Friday 18:53  Elisa Ricci
-
-	* src/Polyhedron.cc (1.234): Modified the second technique of
-	  Polyhedron::BBRZ02_widening_assign(): we add all the chosen rays
-	  that satisfy the system of constraints `common_con_sys' to the
-	  system of generators of `x'.
-
-2002-10-04 Friday 18:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.126), bbrz02widening14.cc (1.1),
-	  bbrz02widening15.cc (1.1): Added two new tests. The first one is
-	  similar to bbrz02widening13, but this time the limit of the chain
-	  of polyhedra is a bounded polyhedron.  The second one is similar
-	  to the first one, but it is based on a chain of polyhedral cones.
-
-2002-10-04 Friday 18:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.cc (1.14), LinExpression.defs.hh (1.55):
-	  Added new function   LinExpression& operator*=(LinExpression& e,
-	  const Integer& n); to multiply (in place) a given expression by
-	  an Integer constant.
-
-2002-10-04 Friday 15:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.97), tests/Makefile.am (1.125),
-	  tests/bbrz02widening13.cc (1.1): Added a new test for the bbrz02
-	  widening.
-
-2002-10-04 Friday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[3,7]): Mark
-	  ChangeLog.
-
-2002-10-04 Friday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_4-branch.6): Updated.
-
-2002-10-04 Friday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.16): Require GCC 3.2 or later, require GMP 4.1 or
-	  later version.
-
-2002-10-04 Friday 10:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (ppl-0_4-branch.1): Require GCC 3.2 or later version.
-
-2002-10-04 Friday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_4-branch.5): Updated.
-
-2002-10-04 Friday 09:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_4-branch.4): Version number bumped.
-
-2002-10-04 Friday 09:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (ppl-0_4-branch.7): Try to release today.
-
-2002-10-03 Thursday 17:58  Elisa Ricci
-
-	* tests/: Makefile.am (1.124), exceptions1.cc (1.20),
-	  exceptions2.cc (1.17), generalizedaffineimage9.cc (1.1): Added
-	  some new tests for Polyhedron::generalized_affine_image(lhs, r,
-	  rhs).
-
-2002-10-03 Thursday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.123), ascii_dump_load1.cc (1.3),
-	  ascii_dump_load2.cc (1.3), files.cc (1.2), files.hh (1.2):
-	  Several improvements.
-
-2002-10-03 Thursday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.122), ascii_dump_load3.cc (1.2), files.cc
-	  (1.1), files.hh (1.1): Avoid spaghetti-coding.
-
-2002-10-03 Thursday 15:01  Elisa Ricci
-
-	* tests/generalizedaffineimage7.cc (1.3): Corrected the test: we
-	  want "return 1" if there is at least a test that exits with
-	  "return 1".
-
-2002-10-03 Thursday 12:23  Elisa Ricci
-
-	* tests/: Makefile.am (1.121), ascii_dump_load2.cc (1.2),
-	  ascii_dump_load3.cc (1.1): Added a new test for
-	  Polyhedron::ascii_dump() and Polyhedron::ascii_load().  Corrected
-	  an error in the comment of ascii_dump_load2.cc.
-
-2002-10-03 Thursday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.233), src/Polyhedron.defs.hh (1.155),
-	  tests/generalizedaffineimage1.cc (1.4),
-	  tests/generalizedaffineimage7.cc (1.2): When the lhs of the
-	  generalized affine image is an arbitrary LinExpression, there is
-	  no need of having a denominator for the rhs.
-
-2002-10-03 Thursday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.96): Added missing transposition signs in
-	  documentation of affine images.  Improved comment of generalized
-	  affine images.
-
-2002-10-03 Thursday 11:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.40): Reported the bug on minimization of
-	  zero-dim-universe NNC polyhedra.
-
-2002-10-03 Thursday 11:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (1.50): Fixed a couple of comments.
-
-2002-10-03 Thursday 10:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS, doc/definitions.dox, src/ConSys.cc, src/Polyhedron.cc,
-	  tests/Makefile.am, tests/minconstraints1.cc,
-	  tests/minconstraints2.cc, tests/minconstraints3.cc,
-	  tests/mingenerators1.cc, tests/mingenerators2.cc,
-	  tests/mingenerators3.cc (ppl-0_4-branch.[6,1,4,7,4,1,1,1,1,1,1]):
-	  Reported on the branch a couple of bugfixes and corresponding
-	  tests.
-
-2002-10-03 Thursday 09:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.95): Corrected the definition of affine
-	  preimage.
-
-2002-10-03 Thursday 04:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.13), config.sub (1.12): Updated.
-
-2002-10-02 Wednesday 17:32  Elisa Ricci
-
-	* tests/: Makefile.am (1.120), ascii_dump_load2.cc (1.1): Added a
-	  new test to verify Polyhedron::ascii_load() and
-	  Polyhedron::ascii_dump().
-
-2002-10-02 Wednesday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.232): Fixed a typo in a comment.
-
-2002-10-02 Wednesday 16:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.231): The implementation of
-	  generalized_affine_image(lhs, rel, rhs, denom) now handles some
-	  special cases in a more efficient way.
-
-2002-10-02 Wednesday 16:14  Elisa Ricci
-
-	* src/Polyhedron.cc (1.230): In
-	  Polyhedron::strongly_minimize_constraints() and
-	  Polyhedron::strongly_minimize_generators() corrected the bug
-	  shown by minconstraints3.cc and mingenerators3.cc: now we verify
-	  if the polyhedron is not empty and zero-dimensional.
-
-2002-10-02 Wednesday 16:10  Elisa Ricci
-
-	* tests/: Makefile.am (1.119), minconstraints3.cc (1.1),
-	  mingenerators3.cc (1.1): The test minconstraints3.cc shows a bug
-	  in Polyhedron::strongly_minimize_constraints().  The test
-	  mingenerators3.cc shows a bug in
-	  Polyhedron::strongly_minimize_generators().
-
-2002-10-02 Wednesday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.118): Expect addgenerators11 to fail.
-
-2002-10-02 Wednesday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/exceptions1.cc (1.19): Fixed a few comments on tests about
-	  generalized_affine_image.
-
-2002-10-02 Wednesday 14:40  Elisa Ricci
-
-	* tests/generalizedaffineimage8.cc (1.2): Corrected an error in the
-	  comment of the test: the relation is `>' and not `<'.
-
-2002-10-02 Wednesday 14:39  Elisa Ricci
-
-	* tests/: Makefile.am (1.117), generalizedaffineimage8.cc (1.1):
-	  Added a new test for Polyhedron::generalized_affine_image(v, r,
-	  e, d) in the case of non necessarily closed polyhedron and the
-	  relation `>'.
-
-2002-10-02 Wednesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: exceptions1.cc (1.18), exceptions2.cc (1.16): Adapted to
-	  the new interface of Polyhedron::generalized_affine_image().
-
-2002-10-02 Wednesday 14:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.116), generalizedaffineimage3.cc (1.4),
-	  generalizedaffineimage7.cc (1.1): Added a new test for method
-	  Polyhedron::generalized_affine_image(lhs, relop, rhs, denum)
-	  checking that, when lhs has a single variable, the current
-	  implementation does have the same behavior of
-	  Polyhedron::generalized_affine_image(var, relop, rhs, denum).
-
-2002-10-02 Wednesday 14:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.115): Specify the source for
-	  addgenerators11.
-
-2002-10-02 Wednesday 14:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.114), addgenerators11.cc (1.1): New test
-	  for Polyhedron::add_generators_and_minimize().
-
-2002-10-02 Wednesday 12:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.229), src/Polyhedron.defs.hh (1.154),
-	  src/globals.hh (1.23), tests/generalizedaffineimage1.cc (1.3),
-	  tests/generalizedaffineimage2.cc (1.3),
-	  tests/generalizedaffineimage3.cc (1.3),
-	  tests/generalizedaffineimage4.cc (1.2),
-	  tests/generalizedaffineimage5.cc (1.2),
-	  tests/generalizedaffineimage6.cc (1.2): Added enumeration
-	  Relation_Operator to encode the operator <, <=, ==, >=, >.  Used
-	  the enumeration to specify the relation operator of methods
-	  Polyhedron::generalized_affine_image().  Patched the tests to use
-	  the enumeration instead of string encodings.
-
-2002-10-02 Wednesday 12:05  Elisa Ricci
-
-	* src/ConSys.cc (1.49): Modified
-	  ConSys::adjust_topology_and_dimension() so that if the system of
-	  constraints was sorted, does not contains strict inequalities and
-	  is not necessarily closed and if the new topology is
-	  NECESSARILY_CLOSED, we sort the system again.
-
-2002-10-02 Wednesday 11:20  Elisa Ricci
-
-	* src/ConSys.cc (1.48), tests/Makefile.am (1.113),
-	  tests/addconstraints12.cc (1.1): Corrected an error in
-	  ConSys::adjust_topology_and_dimension: now we erase the
-	  constraints 0 <= \epsilon <= 1 if the system of constraints does
-	  not contains strict inequalities and is not necessarily closed
-	  and the new topology is NECESSARILY_CLOSED.  Added a test to
-	  verify this function.
-
-2002-10-02 Wednesday 10:19  Elisa Ricci
-
-	* tests/topclosed3.cc (1.3): Added the comment to explain what this
-	  test does.
-
-2002-10-02 Wednesday 09:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/topclosed3.cc (1.2): New test made silent.
-
-2002-10-02 Wednesday 09:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.112), topclosed3.cc (1.1): Added a new
-	  test on the topological closure check.  It shows that an
-	  unmatched closure point lying on the same line of a point, after
-	  performing minimization, is converted by back_substitute() into
-	  the corresponding matched closure point: this property is needed
-	  to ensure the correctness of the current implementation.
-
-2002-10-01 Tuesday 21:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.228), tests/Makefile.am (1.111),
-	  tests/generalizedaffineimage6.cc (1.1): Added a first draft
-	  implementation for method
-	  Polyhedron::generalized_affine_image(const LinExpression& lhs,
-					       const char* relation,
-					     const LinExpression& rhs,
-					   const Integer& denominator);
-	  Added a first test to check if it works.
-
-2002-10-01 Tuesday 14:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.94), src/Polyhedron.cc (1.227),
-	  src/Polyhedron.defs.hh (1.153): The specification of the
-	  generalized affine image operator further generalized to allow
-	  for an arbitrary affine expression in the lhs.  Added the
-	  declaration of this generalization (with a void implementation).
-
-2002-10-01 Tuesday 11:56  Elisa Ricci
-
-	* tests/: bbrz02widening6.cc (1.3), bbrz02widening7.cc (1.3):
-	  Modified the polyhedron `known_result' according to the changes
-	  of Polyhedron::BBRZ02_widening_assign().
-
-2002-10-01 Tuesday 11:22  Elisa Ricci
-
-	* src/Polyhedron.cc (1.226), tests/Makefile.am (1.110),
-	  tests/generalizedaffineimage5.cc (1.1): Corrected an error in
-	  Polyhedron::generalized_affine_image().  Added a test to verify
-	  this function.
-
-2002-09-30 Monday 11:32  Elisa Ricci
-
-	* tests/: Makefile.am (1.109), affinepreimage6.cc (1.2),
-	  affinepreimage7.cc (1.1), exceptions1.cc (1.17), exceptions2.cc
-	  (1.15), polyhull7.cc (1.1): Added new tests for some methods of
-	  the class Polyhedron.  Corrected a comment in the test
-	  affinepreimage6.cc.
-
-2002-09-29 Sunday 15:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ConSys.cc (1.47), src/ConSys.defs.hh (1.68), src/GenSys.cc
-	  (1.67), src/GenSys.defs.hh (1.81), src/Matrix.cc (1.44),
-	  src/Matrix.defs.hh (1.36), src/Poly_Con_Relation.cc (1.4),
-	  src/Poly_Con_Relation.defs.hh (1.15), src/Poly_Gen_Relation.cc
-	  (1.4), src/Poly_Gen_Relation.defs.hh (1.14), src/Polyhedron.cc
-	  (1.225), src/Polyhedron.defs.hh (1.152), src/SatMatrix.cc (1.21),
-	  src/SatMatrix.defs.hh (1.25), src/Status.cc (1.15),
-	  src/Status.defs.hh (1.22), tests/ascii_dump_load1.cc (1.2): The
-	  ASCII_dump() and ASCII_load() methods have been renamed
-	  ascii_dump() and ascii_load().
-
-2002-09-29 Sunday 11:16  Elisa Ricci
-
-	* src/Status.cc (1.14), tests/Makefile.am (1.108),
-	  tests/ascii_dump_load1.cc (1.1): Corrected an error in
-	  Status::ASCII_load(std::istream& s).	Added a test to verify
-	  Polyhedron::ASCII_dump(std::ostream& s) and
-	  Polyhedron::ASCII_load(std::istream& s).
-
-2002-09-27 Friday 20:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.39), tests/affineimage5.cc (1.2): Test affineimage5 made
-	  silent.  The bug affecting affine_image() could have produced
-	  wrong results (not just violate a library invariant).
-
-2002-09-27 Friday 20:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS, src/ConSys.cc, src/GenSys.cc, src/Polyhedron.cc,
-	  tests/Makefile.am, tests/affineimage4.cc, tests/affineimage5.cc
-	  (ppl-0_4-branch.[5,3,3,6,3,1,1]): The correction of the bug
-	  affecting Polyhedron::affine_image() and
-	  Polyhedron::affine_preimage() reported on ppl-0_4-branch.
-
-2002-09-27 Friday 15:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.93), src/Polyhedron.defs.hh (1.151): Fixed
-	  documentation reference for the generalized_affine_image
-	  operator.
-
-2002-09-27 Friday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.224): Methods Polyhedron::affine_image() and
-	  Polyhedron::affine_preimage() now only call
-	  ConSys::affine_preimage() and GenSys::affine_image() with a
-	  strictly positive denominator.  Added draft implementation of
-	  generalized_affine_image() for the case of a strict relation
-	  operator (only for NNC polyhedra).
-
-2002-09-27 Friday 15:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.46), GenSys.cc (1.66): Private methods
-	  ConSys::affine_preimage() and GenSys::affine_image() now assume
-	  that the third argument is a _positive_ Integer.
-
-2002-09-27 Friday 15:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.107), affineimage5.cc (1.1),
-	  generalizedaffineimage1.cc (1.2), generalizedaffineimage2.cc
-	  (1.2), generalizedaffineimage3.cc (1.2),
-	  generalizedaffineimage4.cc (1.1): Added new tests and adjusted
-	  the known_results of generalizedaffineimage* to match the
-	  specification.
-
-2002-09-27 Friday 09:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.92), src/Polyhedron.cc (1.223),
-	  src/Polyhedron.defs.hh (1.150): Method generalized_affine_image()
-	  reimplemented to match its specification.  The doxygen
-	  specification improved.
-
-2002-09-27 Friday 09:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.38): Reported the bugfix for Polyhedron::affine_image().
-
-2002-09-27 Friday 09:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.65): Corrected a bug in GenSys::affine_image()
-	  whereby we were creating points having a negative divisor when
-	  the denominator of the affine transformation was negative.
-
-2002-09-27 Friday 09:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.106), affineimage4.cc (1.1): New test
-	  showing a bug in Polyhedron::affine_image() when the divisor is
-	  negative.
-
-2002-09-26 Thursday 15:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.222): The draft implementation of
-	  Polyhedron::generalized_affine_image() extended to work with NNC
-	  polyhedra.
-
-2002-09-26 Thursday 13:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.105), generalizedaffineimage3.cc (1.1):
-	  Added a test for generalized_affine_image where the points of the
-	  polyhedron have non-integral coordinates.
-
-2002-09-26 Thursday 12:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.104), generalizedaffineimage1.cc (1.1),
-	  generalizedaffineimage2.cc (1.1): Added a couple of tests for the
-	  new generalized_affine_image operator.
-
-2002-09-26 Thursday 12:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.91): Added draft specification of the
-	  generalized affine image operator.
-
-2002-09-26 Thursday 12:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.221), Polyhedron.defs.hh (1.149): Added a
-	  first draft implementation of the generalized_affine_image
-	  operator.  Current implementation should work correctly for
-	  C_Polyhedron.
-
-2002-09-26 Thursday 12:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.defs.hh (1.54), LinExpression.inlines.hh
-	  (1.24): Added methods to provide read-only access to the
-	  coefficients and the inhomogeneous term of a LinExpression.
-
-2002-09-25 Wednesday 18:25  Elisa Ricci
-
-	* src/Polyhedron.cc (1.220), tests/Makefile.am (1.103),
-	  tests/bbrz02widening12.cc (1.1): Corrected an improved the third
-	  technique of Polyhedron::BBRZ02_widening_assign().  Added a test
-	  to verify this technique.
-
-2002-09-25 Wednesday 16:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.90): Greatly improved the matrix in the
-	  explanation of affine images and preimages.
-
-2002-09-25 Wednesday 14:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.37): Removed a few repetitions in the list of bugfixes.
-
-2002-09-25 Wednesday 10:12  Elisa Ricci
-
-	* src/: Integer.defs.hh (1.9), Integer.inlines.hh (1.8),
-	  Polyhedron.cc (1.219): Added the functions void
-	  sqrt_assign(Integer& x) and void sqrt_assign(Integer& x, const
-	  Integer& y) in Integer to compute he truncated integer part of
-	  the root of an Integer.  Used the function sqrt_assign(Integer&)
-	  in the first technique of BBRZ02_widening_assign().
-
-2002-09-24 Tuesday 19:05  Elisa Ricci
-
-	* src/: Integer.defs.hh (1.8), Integer.inlines.hh (1.7),
-	  Polyhedron.cc (1.218): Added the functions lcm_assign(Integer& x,
-	  const Integer& y) and lcm_assign(Integer& x, const Integer& y,
-	  const Integer& z) in Integer.  Modified the function
-	  Polyhedron::BBRZ02_widening_assing() so that in the first
-	  technique we choose the constraints to add in the right system
-	  and we normalize the vectors using a bad approximation of the
-	  norm; corrected also an error in the third technique in the case
-	  of rays with negative coefficients.
-
-2002-09-24 Tuesday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS, src/GenSys.cc, src/Polyhedron.cc (ppl-0_4-branch.[4,2,5]):
-	  Reported to the ppl-0_4-branch the corrections to a couple of
-	  bugs affecting methods GenSys::insert(const Generator& ) and
-	  Polyhedron::add_generator(const Generator& ).
-
-2002-09-24 Tuesday 10:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc, tests/Makefile.am, tests/relations14.cc
-	  (ppl-0_4-branch.[2,2,1]): Added the test showing a bug when
-	  invoking method   Polyhedron::relation_with(const Generator& ).
-	  Implemented the correction in method
-	  ConSys::satisfies_all_constraints(const Generator& ).
-
-2002-09-23 Monday 17:15  Elisa Ricci
-
-	* tests/: Makefile.am (1.102), relations11.cc (1.2), relations15.cc
-	  (1.1), relations16.cc (1.1): Added two tests for the methods of
-	  the class GenSys and corrected an error in the comment of the
-	  test relations11.cc.
-
-2002-09-23 Monday 12:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.36), src/ConSys.cc (1.45): Corrected a bug in
-	  ConSys::satisfies_all_constraints(const Generator& ) which was
-	  affecting the public method	Polyhedron::relation_with(const
-	  Generator& ).  The bug reported on the NEWS file.
-
-2002-09-23 Monday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.101), relations13.cc (1.1), relations14.cc
-	  (1.1): A couple of new tests. relations14 shows a bug in the
-	  implementation of ConSys::satisfies_all_constraints(const
-	  Generator& g) const.
-
-2002-09-20 Friday 11:54  Elisa Ricci
-
-	* tests/: Makefile.am (1.100), addconstraints11.cc (1.8),
-	  affinepreimage6.cc (1.1), relations10.cc (1.2), relations12.cc
-	  (1.1): Added other tests for some methods of the classes ConSys
-	  and GenSys.  Corrected the comment of the test in relations10.cc.
-
-2002-09-19 Thursday 17:16  Elisa Ricci
-
-	* tests/: Makefile.am (1.99), affineimage3.cc (1.1),
-	  affinepreimage5.cc (1.1), relations10.cc (1.1), relations11.cc
-	  (1.1): Added some tests for the methods of the classes
-	  Polyhedron, ConSys and GenSys.
-
-2002-09-18 Wednesday 11:54  Elisa Ricci
-
-	* tests/: Makefile.am (1.98), adddimensions11.cc (1.1),
-	  exceptions2.cc (1.14): Added two other tests to verify the
-	  methods of the class Polyhedron.
-
-2002-09-18 Wednesday 10:27  Elisa Ricci
-
-	* src/Polyhedron.cc (1.217): Made some little improvements to the
-	  function Polyhedron::BBRZ02_widenin_assign().  Improved also some
-	  comments of this function.
-
-2002-09-17 Tuesday 18:44  Elisa Ricci
-
-	* tests/: Makefile.am (1.97), contains1.cc (1.1), exceptions2.cc
-	  (1.13), h79widening5.cc (1.2), minconstraints2.cc (1.2): Improved
-	  some tests and added other tests to verify some methods of
-	  Polyhedron.cc and C_Polyhedron.cc.
-
-2002-09-17 Tuesday 11:29  Elisa Ricci
-
-	* tests/: Makefile.am (1.96), addconstraints10.cc (1.7),
-	  bbrz02widening10.cc (1.1), bbrz02widening11.cc (1.1),
-	  h79widening5.cc (1.1), minconstraints2.cc (1.1),
-	  mingenerators2.cc (1.1), timeelapse7.cc (1.1), topclosure2.cc
-	  (1.1): Added other tests to verify some methods of Polyhedron.cc.
-
-2002-09-12 Thursday 18:17  Elisa Ricci
-
-	* tests/: Makefile.am (1.95), timeelapse6.cc (1.1): Added a new
-	  test for the function Polyhedron::time_elapse_assign().
-
-2002-09-12 Thursday 16:30  Elisa Ricci
-
-	* src/Polyhedron.cc (1.216): Corrected an error in
-	  Polyhedron::BBRZ02_widening_assign(): the new generator was added
-	  to the polyhedron x instead of the polyhedron x2.
-
-2002-09-12 Thursday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.51): Try to fix a long-standing problem in the
-	  generation of ppl_install.hh.
-
-2002-09-11 Wednesday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, STANDARDS, acinclude.m4, config.h.in, configure.ac,
-	  doc/definitions.dox, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h,
-	  interfaces/Prolog/Makefile.am,
-	  interfaces/Prolog/Prolog_interface.dox,
-	  interfaces/Prolog/clpq.pl, interfaces/Prolog/clpq2.pl,
-	  interfaces/Prolog/pl_check.pl, interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/track_allocation.hh,
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.cc, m4/Makefile.am,
-	  m4/ac_cxx_flexible_arrays.m4, src/AskTell.defs.hh,
-	  src/AskTell.inlines.hh, src/BoundingBox.cc,
-	  src/BoundingBox.defs.hh, src/BoundingBox.inlines.hh,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  src/ConSys.cc, src/ConSys.defs.hh, src/ConSys.inlines.hh,
-	  src/Constraint.cc, src/Constraint.defs.hh,
-	  src/Constraint.inlines.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/GenSys.cc, src/GenSys.defs.hh,
-	  src/GenSys.inlines.hh, src/Generator.cc, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/Init.cc, src/Init.defs.hh,
-	  src/Init.inlines.hh, src/Interval.defs.hh, src/LCompare.defs.hh,
-	  src/LinExpression.cc, src/LinExpression.defs.hh,
-	  src/LinExpression.inlines.hh, src/Makefile.am, src/Matrix.cc,
-	  src/Matrix.defs.hh, src/Matrix.inlines.hh,
-	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
-	  src/Poly_Con_Relation.cc, src/Poly_Con_Relation.defs.hh,
-	  src/Poly_Gen_Relation.cc, src/Poly_Gen_Relation.defs.hh,
-	  src/Polyhedron.cc, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/PowerSet.defs.hh,
-	  src/PowerSet.inlines.hh, src/Row.cc, src/Row.defs.hh,
-	  src/Row.inlines.hh, src/SatMatrix.cc, src/SatMatrix.defs.hh,
-	  src/SatMatrix.inlines.hh, src/SatRow.defs.hh,
-	  src/SatRow.inlines.hh, src/Status.cc, src/Status.defs.hh,
-	  src/Variable.cc, src/Variable.defs.hh, src/Variable.inlines.hh,
-	  src/conversion.cc, src/globals.cc, src/globals.hh,
-	  src/initializer.hh, src/minimize.cc, src/ppl_header.middle,
-	  src/simplify.cc, tests/CbecomesNNC1.cc, tests/Makefile.am,
-	  tests/addconstraint1.cc, tests/addconstraints2.cc,
-	  tests/addconstraints4.cc, tests/addconstraints5.cc,
-	  tests/addconstraints6.cc, tests/addconstraints7.cc,
-	  tests/addconstraints8.cc, tests/addconstraints9.cc,
-	  tests/adddimensions1.cc, tests/adddimensions10.cc,
-	  tests/adddimensions2.cc, tests/adddimensions3.cc,
-	  tests/adddimensions4.cc, tests/adddimensions5.cc,
-	  tests/adddimensions6.cc, tests/adddimensions7.cc,
-	  tests/adddimensions8.cc, tests/adddimensions9.cc,
-	  tests/addgenerator1.cc, tests/addgenerator2.cc,
-	  tests/addgenerators10.cc, tests/addgenerators3.cc,
-	  tests/addgenerators4.cc, tests/addgenerators5.cc,
-	  tests/addgenerators6.cc, tests/addgenerators7.cc,
-	  tests/addgenerators9.cc, tests/affineimage1.cc,
-	  tests/affineimage2.cc, tests/affinepreimage1.cc,
-	  tests/affinepreimage2.cc, tests/affinepreimage3.cc,
-	  tests/affinepreimage4.cc, tests/append1.cc, tests/append2.cc,
-	  tests/bbrz02widening1.cc, tests/bbrz02widening2.cc,
-	  tests/bbrz02widening3.cc, tests/bbrz02widening4.cc,
-	  tests/bbrz02widening5.cc, tests/bbrz02widening6.cc,
-	  tests/bbrz02widening7.cc, tests/bbrz02widening8.cc,
-	  tests/bbrz02widening9.cc, tests/bounded1.cc,
-	  tests/boundingbox1.cc, tests/boundingbox2.cc, tests/bounds1.cc,
-	  tests/bounds2.cc, tests/concatenate2.cc, tests/concatenate3.cc,
-	  tests/concatenate4.cc, tests/constraints1.cc,
-	  tests/constraints2.cc, tests/constraints3.cc, tests/empty1.cc,
-	  tests/exceptions1.cc, tests/exceptions2.cc, tests/generators3.cc,
-	  tests/generators4.cc, tests/generators5.cc,
-	  tests/h79widening4.cc, tests/inclusion2.cc,
-	  tests/intersection2.cc, tests/intersection3.cc,
-	  tests/intersection4.cc, tests/intersection5.cc,
-	  tests/intersection6.cc, tests/intersection8.cc,
-	  tests/intersection9.cc, tests/limitedh79widening1.cc,
-	  tests/limitedh79widening2.cc, tests/limitedh79widening3.cc,
-	  tests/memory1.cc, tests/minconstraints1.cc,
-	  tests/mingenerators1.cc, tests/permute.cc,
-	  tests/polydifference1.cc, tests/polydifference2.cc,
-	  tests/polydifference3.cc, tests/polydifference4.cc,
-	  tests/polydifference5.cc, tests/polydifference6.cc,
-	  tests/polyhull1.cc, tests/polyhull2.cc, tests/polyhull3.cc,
-	  tests/polyhull5.cc, tests/polyhull6.cc, tests/relations1.cc,
-	  tests/relations2.cc, tests/relations3.cc, tests/relations4.cc,
-	  tests/relations5.cc, tests/relations6.cc, tests/relations7.cc,
-	  tests/relations8.cc, tests/relations9.cc, tests/removedim4.cc,
-	  tests/removedim5.cc, tests/removedim6.cc, tests/removedim7.cc,
-	  tests/removedim8.cc, tests/removedim9.cc, tests/timeelapse1.cc,
-	  tests/timeelapse2.cc, tests/timeelapse3.cc, tests/timeelapse4.cc,
-	  tests/timeelapse5.cc, tests/topclosed1.cc, tests/topclosed2.cc,
-	  tests/topclosure1.cc, tests/universe1.cc, tests/universe2.cc,
-	  tests/universe3.cc, tests/universe4.cc, tests/universe5.cc,
-	  tests/universe6.cc, tests/watchdog1.cc
-	  (alt_nnc.[3,1,1,2,2,1,3,3,1,1,1,1,1,2,2,1,1,1,2,2,1,2,2,2,2,5,4,3,4,4,3,4,4,7,4,2,5,5,3,1,2,2,2,2,1,2,2,1,1,2,2,2,2,1,2,1,2,16,5,5,3,3,1,2,2,1,2,2,2,2,1,2,1,2,2,1,1,2,2,2,1,1,1,2,1,2,2,2,2,2,2,2,2,1,2,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,2,2,3,1,1,2,2,1,1,1,1,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,2,2,1,2,1,1,2,2,2,1,1,1,1,2,2,2,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,1,1,1,2,2,2,2,2,2,2]):
-	  Merged changes in main trunk between tags
-	  "second_merge_to_alt_nnc" and "third_merge_to_alt_nnc".
-
-2002-09-11 Wednesday 19:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.63): Fixed a bug whereby the configuration
-	  options --enable-assertions and --enable-more-assertions were not
-	  working properly.
-
-2002-09-11 Wednesday 14:51  Elisa Ricci
-
-	* tests/bbrz02widening9.cc (1.2): Corrected this test: to built the
-	  increasing chain q_i we must do the widening between q_i_minus_1
-	  and the poly_hull of q_i_minus_1 and p_i (and not the widening
-	  between p_i and the poly_hull of q_i_minus_1 and p_i).
-
-2002-09-11 Wednesday 12:55  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.215), Polyhedron.defs.hh (1.148): Added
-	  the function static bool is_BBRZ02_stabilizing(const Polyhedron&
-	  x, const Polyhedron& y).  Used this new function in
-	  Polyhedron::BBRZ02_widening_assign().
-
-2002-09-10 Tuesday 23:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.214): A couple of comments adjusted in
-	  add_generator() and bbrz_widening_assign().
-
-2002-09-10 Tuesday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.35), doc/definitions.dox (1.89),
-	  interfaces/Prolog/Makefile.am (1.20),
-	  interfaces/Prolog/Prolog_interface.dox (1.62),
-	  interfaces/Prolog/clpq.pl (1.13), interfaces/Prolog/clpq2.pl
-	  (1.23), interfaces/Prolog/pl_check.pl (1.23),
-	  interfaces/Prolog/ppl_prolog.icc (1.65),
-	  interfaces/Prolog/track_allocation.hh (1.10),
-	  src/AskTell.inlines.hh (1.9), src/C_Polyhedron.defs.hh (1.17),
-	  src/ConSys.defs.hh (1.67), src/Constraint.cc (1.32),
-	  src/Constraint.defs.hh (1.71), src/conversion.cc (1.32),
-	  tests/addconstraints2.cc (1.16), tests/adddimensions10.cc (1.4),
-	  tests/adddimensions5.cc (1.5), tests/adddimensions6.cc (1.5),
-	  tests/adddimensions7.cc (1.5), tests/adddimensions8.cc (1.3),
-	  tests/adddimensions9.cc (1.3), tests/addgenerator1.cc (1.2),
-	  tests/addgenerator2.cc (1.2), tests/addgenerators7.cc (1.6),
-	  tests/addgenerators9.cc (1.3), tests/bbrz02widening1.cc (1.2),
-	  tests/bbrz02widening2.cc (1.2), tests/bbrz02widening3.cc (1.2),
-	  tests/bbrz02widening6.cc (1.2), tests/bbrz02widening7.cc (1.2),
-	  tests/bbrz02widening8.cc (1.2), tests/bounded1.cc (1.7),
-	  tests/boundingbox1.cc (1.21), tests/boundingbox2.cc (1.11),
-	  tests/bounds1.cc (1.3), tests/concatenate4.cc (1.3),
-	  tests/constraints1.cc (1.3), tests/constraints2.cc (1.3),
-	  tests/constraints3.cc (1.3): Lots of trailing blanks removed.
-
-2002-09-10 Tuesday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/topclosed1.cc (1.2): Indentation improvements.
-
-2002-09-10 Tuesday 18:05  Elisa Ricci
-
-	* src/Polyhedron.cc (1.213): Simplify the function
-	  `Polyhedron::add_generator(g)' in the case of a necessarily
-	  closed empty polyhedron and of a non-necessarily closed
-	  generator.
-
-2002-09-10 Tuesday 18:00  Elisa Ricci
-
-	* tests/: Makefile.am (1.94), topclosed1.cc (1.1), topclosed2.cc
-	  (1.1): Added two tests for the method
-	  `Polyhedron::is_topologically_closed()'.
-
-2002-09-10 Tuesday 17:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.15): The correction of the bug on
-	  Polyhedron::operator<=() reported on the alt_nnc branch.
-
-2002-09-10 Tuesday 16:46  Elisa Ricci
-
-	* tests/: Makefile.am (1.93), addgenerator1.cc (1.1),
-	  addgenerator2.cc (1.1), addgenerators10.cc (1.1), exceptions1.cc
-	  (1.16), exceptions2.cc (1.12), h79widening4.cc (1.1): Added some
-	  other tests to verify the functions of Polyhedron.cc.
-
-2002-09-10 Tuesday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (ppl-0_4-branch.4):
-	  Parma_Polyhedra_Library::dimension_type is undefined in PPL
-	  0.4.x.
-
-2002-09-10 Tuesday 14:48  Elisa Ricci
-
-	* tests/: bounds2.cc (1.3), polydifference5.cc (1.3),
-	  polydifference6.cc (1.2), polyhull5.cc (1.2), polyhull6.cc (1.2),
-	  removedim8.cc (1.2), removedim9.cc (1.2), topclosure1.cc (1.2):
-	  Added some explanations of what these tests do and improved the
-	  `return' of the test bounds2.
-
-2002-09-10 Tuesday 13:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (ppl-0_4-branch.3), NEWS (1.34): The correction
-	  of the bug affecting Polyhedron::operator<=() reported on the
-	  ppl_0_4-branch. Bug correction notified in the NEWS.
-
-2002-09-10 Tuesday 12:33  Elisa Ricci
-
-	* tests/: CbecomesNNC1.cc (1.2), Makefile.am (1.92),
-	  addconstraint1.cc (1.2), addconstraints2.cc (1.15),
-	  adddimensions10.cc (1.3), adddimensions8.cc (1.2),
-	  adddimensions9.cc (1.2), addgenerators9.cc (1.2), bounds1.cc
-	  (1.2), bounds2.cc (1.2), concatenate4.cc (1.2), constraints1.cc
-	  (1.2), constraints2.cc (1.2), constraints3.cc (1.2),
-	  generators3.cc (1.2), generators4.cc (1.2), generators5.cc (1.2),
-	  intersection8.cc (1.2), intersection9.cc (1.2),
-	  minconstraints1.cc (1.2), mingenerators1.cc (1.2),
-	  polydifference4.cc (1.2), polydifference5.cc (1.2): Improved some
-	  tests.
-
-2002-09-10 Tuesday 12:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/adddimensions10.cc (1.2): The old `known_result' was wrong.
-	  This was masking the bug in Polyhedron::operator<=().
-
-2002-09-10 Tuesday 12:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.212): Correcting the bug in operator<=()
-	  pointed out by test inclusion2.cc.
-
-2002-09-10 Tuesday 11:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.91), inclusion2.cc (1.1): New test showing
-	  a bug in Polyhedron::operator<=().
-
-2002-09-09 Monday 18:00  Elisa Ricci
-
-	* tests/: CbecomesNNC1.cc (1.1), Makefile.am (1.90),
-	  addconstraint1.cc (1.1), addconstraints2.cc (1.14),
-	  adddimensions10.cc (1.1), adddimensions8.cc (1.1),
-	  adddimensions9.cc (1.1), addgenerators9.cc (1.1), bounds1.cc
-	  (1.1), bounds2.cc (1.1), concatenate4.cc (1.1), constraints1.cc
-	  (1.1), constraints2.cc (1.1), constraints3.cc (1.1),
-	  exceptions1.cc (1.15), exceptions2.cc (1.11), generators3.cc
-	  (1.1), generators4.cc (1.1), generators5.cc (1.1),
-	  intersection8.cc (1.1), intersection9.cc (1.1),
-	  minconstraints1.cc (1.1), mingenerators1.cc (1.1),
-	  polydifference3.cc (1.1), polydifference4.cc (1.1),
-	  polydifference5.cc (1.1), polydifference6.cc (1.1), polyhull5.cc
-	  (1.1), polyhull6.cc (1.1), removedim8.cc (1.1), removedim9.cc
-	  (1.1), topclosure1.cc (1.1): Added tests to verify some methods
-	  of Polyhedron.cc and NNC_Polyhedron.cc.
-
-2002-09-09 Monday 17:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.211), src/Polyhedron.defs.hh (1.147),
-	  tests/Makefile.am (1.89), tests/bbrz02widening1.cc (1.1),
-	  tests/bbrz02widening2.cc (1.1), tests/bbrz02widening3.cc (1.1),
-	  tests/bbrz02widening4.cc (1.1), tests/bbrz02widening5.cc (1.1),
-	  tests/bbrz02widening6.cc (1.1), tests/bbrz02widening7.cc (1.1),
-	  tests/bbrz02widening8.cc (1.1), tests/bbrz02widening9.cc (1.1):
-	  Initial implementation of the new widening.
-
-2002-09-04 Wednesday 20:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.43), Row.inlines.hh (1.33): Changes to support
-	  C++ compilers not providing flexible arrays.
-
-2002-09-04 Wednesday 12:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.210): Method OK() adjusted to behave
-	  correctly on an empty polyhedron having a single trivially false
-	  constraint.
-
-2002-09-03 Tuesday 20:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* acinclude.m4 (1.3), config.h.in (1.18), configure.ac (1.62),
-	  m4/Makefile.am (1.7), m4/ac_cxx_flexible_arrays.m4 (1.1),
-	  src/Row.defs.hh (1.55), src/Row.inlines.hh (1.32): Initial
-	  support for compilers not providing flexible arrays.	(Flexible
-	  arrays are standard in C99 but not in the current C++ standard.)
-
-2002-09-03 Tuesday 19:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.17), configure.ac (1.61): New configuration option
-	  --enable-more-assertions: for the time being it enables more
-	  complete debugging of the class Row by defining EXTRA_ROW_DEBUG.
-
-2002-09-03 Tuesday 18:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/hypercubes.cc (alt_nnc.3): Computing also the constraints
-	  for the dual of hypercubes.
-
-2002-09-02 Monday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.16), configure.ac (1.60), src/ppl_header.middle
-	  (1.2): Some portability enhancements.
-
-2002-09-02 Monday 22:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.defs.hh (1.16): Friend declaration fixed.
-
-2002-09-02 Monday 22:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LCompare.defs.hh (1.4): Use public inheritance.
-
-2002-09-02 Monday 17:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.33), interfaces/C/ppl_c.cc (1.46), interfaces/C/ppl_c.h
-	  (1.46), src/initializer.hh (1.4): Identifiers containing a double
-	  underscore ("__") are reserved: we no longer use them.
-
-2002-09-02 Monday 16:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.defs.hh (1.77), LinExpression.defs.hh (1.53):
-	  Illegal friend function declarations removed and substituted with
-	  (still unsatisfactory) friend class declarations.
-
-2002-09-02 Monday 16:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.inlines.hh (1.31): Fixed typo in comment.
-
-2002-09-01 Sunday 19:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_gprolog_sd.cc (1.9): Encode addresses
-	  with terms of the form `$address'(High, Low) instead of
-	  [High|Low].
-
-2002-09-01 Sunday 15:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.6), interfaces/C/ppl_c.cc (1.45),
-	  interfaces/C/ppl_c.h (1.45), interfaces/Prolog/ppl_prolog.icc
-	  (1.64), interfaces/Prolog/track_allocation.hh (1.9),
-	  src/AskTell.defs.hh (1.8), src/BoundingBox.defs.hh (1.6),
-	  src/C_Polyhedron.inlines.hh (1.12), src/ConSys.defs.hh (1.66),
-	  src/ConSys.inlines.hh (1.26), src/Constraint.defs.hh (1.70),
-	  src/Determinate.defs.hh (1.15), src/Determinate.inlines.hh
-	  (1.17), src/GenSys.defs.hh (1.80), src/GenSys.inlines.hh (1.28),
-	  src/Generator.cc (1.39), src/Generator.defs.hh (1.76),
-	  src/Interval.defs.hh (1.8), src/Matrix.cc (1.43),
-	  src/Matrix.defs.hh (1.35), src/NNC_Polyhedron.inlines.hh (1.14),
-	  src/Poly_Con_Relation.defs.hh (1.14),
-	  src/Poly_Gen_Relation.defs.hh (1.13), src/Polyhedron.cc (1.209),
-	  src/Polyhedron.defs.hh (1.146), src/SatMatrix.cc (1.20),
-	  src/conversion.cc (1.31), src/minimize.cc (1.24), src/simplify.cc
-	  (1.18), tests/append1.cc (1.15), tests/append2.cc (1.16),
-	  tests/empty1.cc (1.10), tests/exceptions1.cc (1.14),
-	  tests/permute.cc (1.22): Avoid source lines longer than 78
-	  characters.
-
-2002-09-01 Sunday 15:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatRow.cc (1.11), SatRow.defs.hh (1.20), SatRow.inlines.hh
-	  (1.20): Use the right integral types.  Avoid source lines longer
-	  than 78 characters.
-
-2002-09-01 Sunday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.44), GenSys.cc (1.64), Generator.defs.hh
-	  (1.75), LinExpression.defs.hh (1.52): Minor formatting changes.
-
-2002-09-01 Sunday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.46): Make sure inlines are defined
-	  before they are used.
-
-2002-09-01 Sunday 13:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.32), configure.ac (1.59), interfaces/C/ppl_c.cc (1.44),
-	  interfaces/C/ppl_c.h (1.44), interfaces/Prolog/ppl_prolog.icc
-	  (1.63), interfaces/Prolog/track_allocation.hh (1.8),
-	  src/BoundingBox.cc (1.3), src/BoundingBox.defs.hh (1.5),
-	  src/BoundingBox.inlines.hh (1.6), src/C_Polyhedron.defs.hh
-	  (1.16), src/C_Polyhedron.inlines.hh (1.11), src/ConSys.cc (1.43),
-	  src/ConSys.defs.hh (1.65), src/ConSys.inlines.hh (1.25),
-	  src/Constraint.cc (1.31), src/Constraint.defs.hh (1.69),
-	  src/Constraint.inlines.hh (1.41), src/Determinate.defs.hh (1.14),
-	  src/Determinate.inlines.hh (1.16), src/GenSys.cc (1.63),
-	  src/GenSys.defs.hh (1.79), src/GenSys.inlines.hh (1.27),
-	  src/Generator.cc (1.38), src/Generator.defs.hh (1.74),
-	  src/Generator.inlines.hh (1.38), src/Init.cc (1.2),
-	  src/Init.defs.hh (1.6), src/LinExpression.cc (1.13),
-	  src/LinExpression.defs.hh (1.51), src/LinExpression.inlines.hh
-	  (1.23), src/Makefile.am (1.50), src/Matrix.cc (1.42),
-	  src/Matrix.defs.hh (1.34), src/Matrix.inlines.hh (1.27),
-	  src/NNC_Polyhedron.defs.hh (1.19), src/NNC_Polyhedron.inlines.hh
-	  (1.13), src/Polyhedron.cc (1.208), src/Polyhedron.defs.hh
-	  (1.145), src/Polyhedron.inlines.hh (1.45), src/PowerSet.defs.hh
-	  (1.16), src/PowerSet.inlines.hh (1.21), src/Row.cc (1.42),
-	  src/Row.defs.hh (1.54), src/Row.inlines.hh (1.30),
-	  src/SatMatrix.cc (1.19), src/SatMatrix.defs.hh (1.24),
-	  src/SatMatrix.inlines.hh (1.16), src/SatRow.cc (1.10),
-	  src/SatRow.defs.hh (1.19), src/SatRow.inlines.hh (1.19),
-	  src/Variable.cc (1.8), src/Variable.defs.hh (1.24),
-	  src/Variable.inlines.hh (1.13), src/conversion.cc (1.30),
-	  src/globals.cc (1.9), src/globals.hh (1.22), src/minimize.cc
-	  (1.23), src/simplify.cc (1.17), tests/append1.cc (1.14),
-	  tests/append2.cc (1.15), tests/boundingbox1.cc (1.20),
-	  tests/intersection2.cc (1.4), tests/memory1.cc (1.8),
-	  tests/permute.cc (1.21), tests/watchdog1.cc (1.11): No longer
-	  abuse `size_t'.  The new type `dimension_type' is an unsigned
-	  integral type for representing space dimensions.  The new
-	  function dimension_type max_space_dimension() returns the maximum
-	  space dimension this library can handle.
-
-2002-08-22 Thursday 15:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.61), pl_check.pl
-	  (1.22): Updated for concatenate_assign.
-
-2002-08-22 Thursday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.20): PowerSet<CS>::add_constraint()
-	  and PowerSet<CS>::add_constraints() fixed.
-
-2002-08-22 Thursday 01:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/hypercubes.cc (alt_nnc.2): Some more tests.
-
-2002-08-20 Tuesday 17:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.19): Several corrections.
-
-2002-08-19 Monday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.144): Avoid unnecessary qualification.
-
-2002-08-19 Monday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.42), ConSys.defs.hh (1.64), GenSys.cc (1.62),
-	  GenSys.defs.hh (1.78), Matrix.cc (1.41), Matrix.defs.hh (1.33),
-	  Poly_Con_Relation.cc (1.3), Poly_Con_Relation.defs.hh (1.13),
-	  Poly_Gen_Relation.cc (1.3), Poly_Gen_Relation.defs.hh (1.12),
-	  Polyhedron.cc (1.207), SatMatrix.cc (1.18), SatMatrix.defs.hh
-	  (1.23), Status.cc (1.13): Rewriting of all input/output functions
-	  and operators completed.
-
-2002-08-19 Monday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.206), Status.cc (1.12), Status.defs.hh
-	  (1.21): The input and output operators on Status have been
-	  replaced by methods void ASCII_dump(std::ostream&) const and bool
-	  ASCII_load(std::istream&).
-
-2002-08-19 Monday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.143): Comment corrected.
-
-2002-08-19 Monday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.205), Polyhedron.defs.hh (1.142): The
-	  historical operators operator<<(std::ostream&, const Polyhedron&)
-	  and oprator>>(std::istream&, Polyhedron&) have been replaced by
-	  (internal) methods Polyhedron::ASCII_dump(std::ostream& s) and
-	  ASCII_load(std::istream& s).	New version of
-	  operator<<(std::ostream& s, const Polyhedron& ph): writes a
-	  textual representation of \p ph on \p s: "false" is written if
-	  `ph' is an empty polyhedron; "true" is written if `ph' is a
-	  universe polyhedron; a minimized system of constraints defining
-	  `ph' is written otherwise, all constraints in one row separated
-	  by ", ".
-
-2002-08-19 Monday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Init.inlines.hh (1.5), Makefile.am (1.49), Variable.cc
-	  (1.7), Variable.defs.hh (1.23), Variable.inlines.hh (1.12): Allow
-	  the user to change the output function for Variable objects by
-	  calling Variable::set_output_function().  Allow the user to
-	  obtain a pointer to the current output function by calling
-	  Variable::get_output_function().
-
-2002-08-19 Monday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.hh (1.21): Obey the indentation rules.
-
-2002-08-18 Sunday 22:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.88): We know nnc_limitedh79widening3 should
-	  fail (for the time being).
-
-2002-08-18 Sunday 22:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: addconstraints4.cc (1.8), addconstraints5.cc (1.9),
-	  addconstraints6.cc (1.10), addconstraints7.cc (1.9),
-	  addconstraints8.cc (1.9), addconstraints9.cc (1.10),
-	  adddimensions1.cc (1.11), adddimensions2.cc (1.7),
-	  adddimensions3.cc (1.9), adddimensions4.cc (1.7),
-	  adddimensions5.cc (1.4), adddimensions6.cc (1.4),
-	  adddimensions7.cc (1.4), addgenerators3.cc (1.9),
-	  addgenerators4.cc (1.9), addgenerators5.cc (1.9),
-	  addgenerators6.cc (1.9), addgenerators7.cc (1.5), affineimage1.cc
-	  (1.9), affineimage2.cc (1.8), affinepreimage1.cc (1.8),
-	  affinepreimage2.cc (1.8), affinepreimage3.cc (1.8),
-	  affinepreimage4.cc (1.9), bounded1.cc (1.6), boundingbox1.cc
-	  (1.19), boundingbox2.cc (1.10), concatenate2.cc (1.4),
-	  concatenate3.cc (1.4), intersection3.cc (1.4), intersection4.cc
-	  (1.4), intersection5.cc (1.4), intersection6.cc (1.4),
-	  limitedh79widening1.cc (1.4), limitedh79widening2.cc (1.4),
-	  limitedh79widening3.cc (1.2), polydifference1.cc (1.4),
-	  polydifference2.cc (1.6), polyhull1.cc (1.4), polyhull2.cc (1.4),
-	  polyhull3.cc (1.4), relations1.cc (1.6), relations2.cc (1.7),
-	  relations3.cc (1.7), relations4.cc (1.7), relations5.cc (1.7),
-	  relations6.cc (1.6), relations7.cc (1.6), relations8.cc (1.6),
-	  relations9.cc (1.7), removedim4.cc (1.9), removedim5.cc (1.7),
-	  removedim6.cc (1.9), removedim7.cc (1.4), timeelapse1.cc (1.5),
-	  timeelapse2.cc (1.5), timeelapse3.cc (1.5), timeelapse4.cc (1.5),
-	  timeelapse5.cc (1.5), universe1.cc (1.6), universe2.cc (1.7),
-	  universe3.cc (1.7), universe4.cc (1.7), universe5.cc (1.8),
-	  universe6.cc (1.5): Comments corrected.
-
-2002-08-18 Sunday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.14): Adjusted new constructors to
-	  produce the new epsilon representations.
-
-2002-08-18 Sunday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.87), limitedh79widening3.cc (1.1): New
-	  test showing an incongruence in the behavior of the limited
-	  widening operations in C and NNC polyhedra, respectively.
-
-2002-08-17 Saturday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.41): Properly terminate messages.
-
-2002-08-17 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.15), PowerSet.inlines.hh (1.18): Define
-	  `reverse_iterator' and `const_reverse_iterator'.  New methods
-	  rbegin() and rend().	New method definitely_contains(const CS&).
-	  First prototype of method limited_H79_widening_assign(const
-	  PowerSet&, ConSys&).
-
-2002-08-17 Saturday 18:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.13), Determinate.inlines.hh (1.15):
-	  New method is_definitely_equivalent_to(const Determinate&).
-
-2002-08-17 Saturday 17:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.inlines.hh (1.14), PowerSet.inlines.hh (1.17):
-	  PowerSet<CS>::omega_reduction() properly implemented.
-	  operator<<(std::ostream&, const Determinate<PH>&) implemented so
-	  as to obtain something readable.
-
-2002-08-17 Saturday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, config.h.in, configure.ac, Watchdog/Watchdog.defs.hh,
-	  Watchdog/Watchdog.inlines.hh, Watchdog/Watchdog.types.hh,
-	  Watchdog/pwl_header.top, interfaces/C/ppl_c.cc,
-	  interfaces/C/ppl_c.h, interfaces/Prolog/track_allocation.hh,
-	  src/AskTell.defs.hh, src/AskTell.inlines.hh,
-	  src/AskTell.types.hh, src/BoundingBox.defs.hh,
-	  src/BoundingBox.inlines.hh, src/BoundingBox.types.hh,
-	  src/C_Polyhedron.defs.hh, src/C_Polyhedron.inlines.hh,
-	  src/C_Polyhedron.types.hh, src/ConSys.defs.hh,
-	  src/ConSys.inlines.hh, src/ConSys.types.hh, src/Constraint.cc,
-	  src/Constraint.defs.hh, src/Constraint.inlines.hh,
-	  src/Constraint.types.hh, src/Determinate.defs.hh,
-	  src/Determinate.inlines.hh, src/Determinate.types.hh,
-	  src/GenSys.defs.hh, src/GenSys.inlines.hh, src/GenSys.types.hh,
-	  src/Generator.cc, src/Generator.defs.hh,
-	  src/Generator.inlines.hh, src/Generator.types.hh,
-	  src/Init.defs.hh, src/Init.inlines.hh, src/Init.types.hh,
-	  src/Integer.defs.hh, src/Integer.inlines.hh,
-	  src/Integer.types.hh, src/Interval.defs.hh,
-	  src/Interval.inlines.hh, src/Interval.types.hh,
-	  src/LCompare.defs.hh, src/LCompare.inlines.hh,
-	  src/LCompare.types.hh, src/LinExpression.defs.hh,
-	  src/LinExpression.inlines.hh, src/LinExpression.types.hh,
-	  src/Matrix.defs.hh, src/Matrix.inlines.hh, src/Matrix.types.hh,
-	  src/NNC_Polyhedron.defs.hh, src/NNC_Polyhedron.inlines.hh,
-	  src/NNC_Polyhedron.types.hh, src/Poly_Con_Relation.defs.hh,
-	  src/Poly_Con_Relation.inlines.hh, src/Poly_Con_Relation.types.hh,
-	  src/Poly_Gen_Relation.defs.hh, src/Poly_Gen_Relation.inlines.hh,
-	  src/Poly_Gen_Relation.types.hh, src/Polyhedron.cc,
-	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh,
-	  src/Polyhedron.types.hh, src/PowerSet.defs.hh,
-	  src/PowerSet.inlines.hh, src/PowerSet.types.hh, src/Row.defs.hh,
-	  src/Row.inlines.hh, src/Row.types.hh, src/SatMatrix.defs.hh,
-	  src/SatMatrix.inlines.hh, src/SatMatrix.types.hh,
-	  src/SatRow.defs.hh, src/SatRow.inlines.hh, src/SatRow.types.hh,
-	  src/Status.defs.hh, src/Status.inlines.hh, src/Status.types.hh,
-	  src/Topology.hh, src/Variable.defs.hh, src/Variable.inlines.hh,
-	  src/Variable.types.hh, src/globals.hh, src/initializer.hh,
-	  src/ppl_header.top, tests/ehandlers.hh, tests/mc91.cc,
-	  tests/print.hh, tests/timings.hh
-	  (alt_nnc.[2,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,3,2,1,3,3,2,1,3,3,1,3,1,1,4,4,2,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,13,4,4,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1]):
-	  Merge changes from the trunk between tags `merge_to_alt_nnc' and
-	  `second_merge_to_alt_nnc'.
-
-2002-08-17 Saturday 13:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PowerSet.inlines.hh (1.16):
-	  PowerSet<CS>::concatenate_assign() fixed.
-
-2002-08-17 Saturday 11:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.12): In method
-	  add_dimensions_and_project(), now adding the minus_epsilon_ray
-	  instead of the zero_dim_closure_point.
-
-2002-08-17 Saturday 10:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh, Polyhedron.inlines.hh (alt_nnc.[3,3]):
-	  Method shuffle_dimensions(...) implemented in tha alt_nnc branch
-	  too.
-
-2002-08-16 Friday 22:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.31), interfaces/C/ppl_c.cc (1.43), interfaces/C/ppl_c.h
-	  (1.43): The functions taking non-const arguments named
-	  ppl_new_<T>_from_<S> have been renamed ppl_new_<T>_recycle_<S>,
-	  where <T> is either "C" or "NNC", and <S> is either "ConSys" or
-	  "GenSys".  The old names have been given to the new const
-	  functions.
-
-2002-08-16 Friday 22:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.defs.hh (1.12), src/Determinate.inlines.hh
-	  (1.13), src/PowerSet.defs.hh (1.14), src/PowerSet.inlines.hh
-	  (1.15), tests/mc91.cc (1.6): Another bit of Determinate and
-	  PowerSet implementation written.
-
-2002-08-16 Friday 22:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.30): Updated.
-
-2002-08-16 Friday 22:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.cc (1.30), Generator.cc (1.37): Exception
-	  messages improved.
-
-2002-08-16 Friday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.15), C_Polyhedron.inlines.hh
-	  (1.10), NNC_Polyhedron.defs.hh (1.18), NNC_Polyhedron.inlines.hh
-	  (1.12), Polyhedron.cc (1.204), Polyhedron.defs.hh (1.141): New
-	  constructors to build polyhedra from read-only constraint and
-	  generator systems: C_Polyhedron(const ConSys&),
-	  C_Polyhedron(const GenSys&), NNC_Polyhedron(const ConSys&), and
-	  NNC_Polyhedron(const GenSys&).  Some comments improved.  Poorly
-	  chosen variable name changed.  Exception messages improved.
-
-2002-08-16 Friday 16:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Determinate.defs.hh, Determinate.inlines.hh
-	  (alt_nnc.[2,2]): Chnages needed to let China compile (taken from
-	  the main trunk).
-
-2002-08-16 Friday 16:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.11): Widening operators now should
-	  work with the NER.
-
-2002-08-16 Friday 10:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.10): Corrected a comment.
-
-2002-08-16 Friday 10:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (alt_nnc.6): Corrected method
-	  adjust_topology_and_dimension(), which could have introduced an
-	  illegal (all zero's) ray when mapping a NNC to a C gensys.
-
-2002-08-16 Friday 10:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/C_Polyhedron.cc (alt_nnc.1): Constructor
-	  C_Polyhedron::C_Polyhedron(const NNC_Polyhedron& y) now is
-	  implemented using generators (using constraints is not safe wrt
-	  NER).
-
-2002-08-16 Friday 10:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.15), configure.ac (1.58),
-	  Watchdog/Watchdog.defs.hh (1.6), Watchdog/Watchdog.inlines.hh
-	  (1.5), Watchdog/Watchdog.types.hh (1.2), Watchdog/pwl_header.top
-	  (1.2), interfaces/C/ppl_c.h (1.42),
-	  interfaces/Prolog/track_allocation.hh (1.7), src/AskTell.defs.hh
-	  (1.7), src/AskTell.inlines.hh (1.8), src/AskTell.types.hh (1.3),
-	  src/BoundingBox.defs.hh (1.4), src/BoundingBox.inlines.hh (1.5),
-	  src/BoundingBox.types.hh (1.4), src/C_Polyhedron.defs.hh (1.14),
-	  src/C_Polyhedron.inlines.hh (1.9), src/C_Polyhedron.types.hh
-	  (1.5), src/ConSys.defs.hh (1.63), src/ConSys.inlines.hh (1.24),
-	  src/ConSys.types.hh (1.5), src/Constraint.defs.hh (1.68),
-	  src/Constraint.inlines.hh (1.40), src/Constraint.types.hh (1.5),
-	  src/Determinate.defs.hh (1.11), src/Determinate.inlines.hh
-	  (1.12), src/Determinate.types.hh (1.3), src/GenSys.defs.hh
-	  (1.77), src/GenSys.inlines.hh (1.26), src/GenSys.types.hh (1.5),
-	  src/Generator.defs.hh (1.73), src/Generator.inlines.hh (1.37),
-	  src/Generator.types.hh (1.5), src/Init.defs.hh (1.5),
-	  src/Init.inlines.hh (1.4), src/Init.types.hh (1.4),
-	  src/Integer.defs.hh (1.7), src/Integer.inlines.hh (1.6),
-	  src/Integer.types.hh (1.6), src/Interval.defs.hh (1.7),
-	  src/Interval.inlines.hh (1.5), src/Interval.types.hh (1.4),
-	  src/LCompare.defs.hh (1.3), src/LCompare.inlines.hh (1.3),
-	  src/LCompare.types.hh (1.3), src/LinExpression.defs.hh (1.50),
-	  src/LinExpression.inlines.hh (1.22), src/LinExpression.types.hh
-	  (1.5), src/Matrix.defs.hh (1.32), src/Matrix.inlines.hh (1.26),
-	  src/Matrix.types.hh (1.5), src/NNC_Polyhedron.defs.hh (1.17),
-	  src/NNC_Polyhedron.inlines.hh (1.11), src/NNC_Polyhedron.types.hh
-	  (1.5), src/Poly_Con_Relation.defs.hh (1.12),
-	  src/Poly_Con_Relation.inlines.hh (1.8),
-	  src/Poly_Con_Relation.types.hh (1.4),
-	  src/Poly_Gen_Relation.defs.hh (1.11),
-	  src/Poly_Gen_Relation.inlines.hh (1.8),
-	  src/Poly_Gen_Relation.types.hh (1.4), src/Polyhedron.defs.hh
-	  (1.140), src/Polyhedron.inlines.hh (1.44),
-	  src/Polyhedron.types.hh (1.6), src/PowerSet.defs.hh (1.13),
-	  src/PowerSet.inlines.hh (1.14), src/PowerSet.types.hh (1.3),
-	  src/Row.defs.hh (1.53), src/Row.inlines.hh (1.29),
-	  src/Row.types.hh (1.5), src/SatMatrix.defs.hh (1.22),
-	  src/SatMatrix.inlines.hh (1.15), src/SatMatrix.types.hh (1.5),
-	  src/SatRow.defs.hh (1.18), src/SatRow.inlines.hh (1.18),
-	  src/SatRow.types.hh (1.5), src/Status.defs.hh (1.20),
-	  src/Status.inlines.hh (1.10), src/Status.types.hh (1.5),
-	  src/Topology.hh (1.6), src/Variable.defs.hh (1.22),
-	  src/Variable.inlines.hh (1.11), src/Variable.types.hh (1.5),
-	  src/globals.hh (1.20), src/initializer.hh (1.3),
-	  src/ppl_header.top (1.4), tests/ehandlers.hh (1.5),
-	  tests/print.hh (1.11), tests/timings.hh (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-08-15 Thursday 11:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc, GenSys.defs.hh, Generator.cc, Generator.defs.hh
-	  (alt_nnc.[5,2,3,3]): Removed useless methods
-	  Generator::is_matching_closure_point() and
-	  GenSys::add_corresponding_points().
-
-2002-08-15 Thursday 11:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.9): Corrected trivial errors in
-	  is_topologically_closed() and topological_closure_assign().
-
-2002-08-15 Thursday 11:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.10), Determinate.inlines.hh (1.11):
-	  Implemented the functionality required for testing with China.
-
-2002-08-15 Thursday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.203), Polyhedron.defs.hh (1.139),
-	  Polyhedron.inlines.hh (1.43): Added template <typename
-	  PartialFunction> void Polyhedron::shuffle_dimensions(const
-	  PartialFunction& pfunc).
-
-2002-08-14 Wednesday 18:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.8): Comments of
-	  Polyhedron::concatenate_assign() improved.
-
-2002-08-14 Wednesday 18:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.202): Polyhedron::concatenate_assign()
-	  improved.
-
-2002-08-14 Wednesday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.7): Rewritten methods
-	  is_topologically_closed() and topological_closure_assign().
-
-2002-08-14 Wednesday 16:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.6): Some improvements to
-	  concatenate_assign().
-
-2002-08-14 Wednesday 16:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (alt_nnc.4): Corrected method has_points(), which
-	  was returning true even when finding the minus_epsilon ray.
-
-2002-08-14 Wednesday 15:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.41): Documentation of
-	  ppl_Polyhedron_concatenate_assign() corrected.
-
-2002-08-14 Wednesday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/hypercubes.cc (alt_nnc.1): Put under CVS control. It is not
-	  (yet) built and executed by `make check', because we should find
-	  the right performance tradeoff.
-
-2002-08-14 Wednesday 14:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS, interfaces/C/ppl_c.cc, interfaces/C/ppl_c.h,
-	  interfaces/Prolog/ppl_prolog.icc,
-	  interfaces/Prolog/Ciao/ppl_ciao.pl,
-	  interfaces/Prolog/GNU/ppl_gprolog.pl,
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc,
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc,
-	  interfaces/Prolog/XSB/ppl_xsb.H,
-	  interfaces/Prolog/XSB/ppl_xsb.cc,
-	  interfaces/Prolog/XSB/xsb_clpq.P,
-	  interfaces/Prolog/XSB/xsb_clpq2.P,
-	  interfaces/Prolog/YAP/ppl_yap.cc, src/ConSys.cc,
-	  src/Determinate.defs.hh, src/Determinate.inlines.hh,
-	  src/GenSys.cc, src/Polyhedron.cc, src/Polyhedron.defs.hh,
-	  src/PowerSet.defs.hh, src/PowerSet.inlines.hh, tests/Makefile.am,
-	  tests/NNCinclusion1.cc, tests/NNCminimize1.cc,
-	  tests/NNCminimize2.cc, tests/NNCminimize3.cc,
-	  tests/NNCminimize4.cc, tests/NNCminimize5.cc,
-	  tests/NNCminimize6.cc, tests/addconstraints1.cc,
-	  tests/addconstraints10.cc, tests/addconstraints11.cc,
-	  tests/addconstraints2.cc, tests/addconstraints3.cc,
-	  tests/addconstraints4.cc, tests/addconstraints5.cc,
-	  tests/addconstraints6.cc, tests/addconstraints7.cc,
-	  tests/addconstraints8.cc, tests/addconstraints9.cc,
-	  tests/adddimensions1.cc, tests/adddimensions2.cc,
-	  tests/adddimensions3.cc, tests/adddimensions4.cc,
-	  tests/adddimensions5.cc, tests/adddimensions6.cc,
-	  tests/adddimensions7.cc, tests/addgenerators1.cc,
-	  tests/addgenerators2.cc, tests/addgenerators3.cc,
-	  tests/addgenerators4.cc, tests/addgenerators5.cc,
-	  tests/addgenerators6.cc, tests/addgenerators7.cc,
-	  tests/addgenerators8.cc, tests/affineimage1.cc,
-	  tests/affineimage2.cc, tests/affinepreimage1.cc,
-	  tests/affinepreimage2.cc, tests/affinepreimage3.cc,
-	  tests/affinepreimage4.cc, tests/affinetrans.cc, tests/append1.cc,
-	  tests/append2.cc, tests/bounded1.cc, tests/boundingbox1.cc,
-	  tests/boundingbox2.cc, tests/concatenate1.cc,
-	  tests/concatenate2.cc, tests/concatenate3.cc, tests/empty1.cc,
-	  tests/exceptions1.cc, tests/exceptions2.cc, tests/generators1.cc,
-	  tests/generators2.cc, tests/h79widening1.cc,
-	  tests/h79widening2.cc, tests/h79widening3.cc,
-	  tests/inclusion1.cc, tests/inters1.cc, tests/inters2.cc,
-	  tests/inters3.cc, tests/inters4.cc, tests/inters5.cc,
-	  tests/inters6.cc, tests/inters7.cc, tests/intersection1.cc,
-	  tests/intersection2.cc, tests/intersection3.cc,
-	  tests/intersection4.cc, tests/intersection5.cc,
-	  tests/intersection6.cc, tests/intersection7.cc,
-	  tests/limitedh79widening1.cc, tests/limitedh79widening2.cc,
-	  tests/mc91.cc, tests/memory1.cc, tests/onepoint.cc,
-	  tests/permute.cc, tests/polydifference1.cc,
-	  tests/polydifference2.cc, tests/polyhull1.cc, tests/polyhull2.cc,
-	  tests/polyhull3.cc, tests/polyhull4.cc, tests/ppl_test.hh,
-	  tests/randphull1.cc, tests/relations1.cc, tests/relations2.cc,
-	  tests/relations3.cc, tests/relations4.cc, tests/relations5.cc,
-	  tests/relations6.cc, tests/relations7.cc, tests/relations8.cc,
-	  tests/relations9.cc, tests/removedim1.cc, tests/removedim2.cc,
-	  tests/removedim3.cc, tests/removedim4.cc, tests/removedim5.cc,
-	  tests/removedim6.cc, tests/removedim7.cc, tests/smm1.cc,
-	  tests/timeelapse1.cc, tests/timeelapse2.cc, tests/timeelapse3.cc,
-	  tests/timeelapse4.cc, tests/timeelapse5.cc, tests/universe1.cc,
-	  tests/universe2.cc, tests/universe3.cc, tests/universe4.cc,
-	  tests/universe5.cc, tests/universe6.cc, tests/watchdog1.cc
-	  (alt_nnc.[1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,3,5,2,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,1,1,1,1,1,1,1,2,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,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]):
-	  Merge changes from the trunk between tags `alt_nnc_root' and
-	  `merge_to_alt_nnc'.
-
-2002-08-14 Wednesday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: NNCinclusion1.cc (1.4), NNCminimize1.cc (1.6),
-	  NNCminimize2.cc (1.6), NNCminimize3.cc (1.6), NNCminimize4.cc
-	  (1.8), NNCminimize5.cc (1.4), NNCminimize6.cc (1.6),
-	  addconstraints1.cc (1.8), addconstraints3.cc (1.5),
-	  addconstraints4.cc (1.7), addconstraints5.cc (1.8),
-	  addconstraints6.cc (1.9), addconstraints7.cc (1.8),
-	  addconstraints8.cc (1.8), addconstraints9.cc (1.9),
-	  adddimensions1.cc (1.10), adddimensions2.cc (1.6),
-	  adddimensions3.cc (1.8), adddimensions4.cc (1.6),
-	  adddimensions5.cc (1.3), adddimensions6.cc (1.3),
-	  adddimensions7.cc (1.3), addgenerators1.cc (1.9),
-	  addgenerators2.cc (1.9), addgenerators3.cc (1.8),
-	  addgenerators4.cc (1.8), addgenerators5.cc (1.8),
-	  addgenerators6.cc (1.8), addgenerators7.cc (1.4),
-	  addgenerators8.cc (1.4), affineimage1.cc (1.8), affineimage2.cc
-	  (1.7), affinepreimage1.cc (1.7), affinepreimage2.cc (1.7),
-	  affinepreimage3.cc (1.7), affinepreimage4.cc (1.8),
-	  affinetrans.cc (1.11), append1.cc (1.13), append2.cc (1.14),
-	  bounded1.cc (1.5), boundingbox1.cc (1.18), boundingbox2.cc (1.9),
-	  concatenate1.cc (1.3), concatenate2.cc (1.3), concatenate3.cc
-	  (1.3), empty1.cc (1.9), exceptions1.cc (1.13), exceptions2.cc
-	  (1.10), generators1.cc (1.8), generators2.cc (1.5),
-	  h79widening1.cc (1.3), h79widening2.cc (1.3), h79widening3.cc
-	  (1.3), inclusion1.cc (1.4), intersection1.cc (1.3),
-	  intersection2.cc (1.3), intersection3.cc (1.3), intersection4.cc
-	  (1.3), intersection5.cc (1.3), intersection6.cc (1.3),
-	  intersection7.cc (1.3), limitedh79widening1.cc (1.3),
-	  limitedh79widening2.cc (1.3), mc91.cc (1.5), memory1.cc (1.7),
-	  onepoint.cc (1.7), permute.cc (1.20), polydifference1.cc (1.3),
-	  polydifference2.cc (1.5), polyhull1.cc (1.3), polyhull2.cc (1.3),
-	  polyhull3.cc (1.3), polyhull4.cc (1.3), randphull1.cc (1.4),
-	  relations1.cc (1.5), relations2.cc (1.6), relations3.cc (1.6),
-	  relations4.cc (1.6), relations5.cc (1.6), relations6.cc (1.5),
-	  relations7.cc (1.5), relations8.cc (1.5), relations9.cc (1.6),
-	  removedim1.cc (1.7), removedim2.cc (1.11), removedim3.cc (1.7),
-	  removedim4.cc (1.8), removedim5.cc (1.6), removedim6.cc (1.8),
-	  removedim7.cc (1.3), smm1.cc (1.7), timeelapse1.cc (1.4),
-	  timeelapse2.cc (1.4), timeelapse3.cc (1.4), timeelapse4.cc (1.4),
-	  timeelapse5.cc (1.4), universe1.cc (1.5), universe2.cc (1.6),
-	  universe3.cc (1.6), universe4.cc (1.6), universe5.cc (1.7),
-	  universe6.cc (1.4), watchdog1.cc (1.10): Minor improvements.
-
-2002-08-14 Wednesday 12:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.86): The test nnc_polydifference1 must fail.
-
-2002-08-14 Wednesday 12:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc, Generator.cc, Generator.defs.hh
-	  (alt_nnc.[2,2,2]): The skip_forward() method now only skips the
-	  minus_epsilon_ray.
-
-2002-08-14 Wednesday 12:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (alt_nnc.3): In the skip_forward() method, avoid
-	  useless computations for necessarily closed constraint systems.
-
-2002-08-14 Wednesday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.85), NNCinclusion1.cc (1.3),
-	  NNCminimize1.cc (1.5), NNCminimize2.cc (1.5), NNCminimize3.cc
-	  (1.5), NNCminimize4.cc (1.7), NNCminimize5.cc (1.3),
-	  NNCminimize6.cc (1.5), addconstraints1.cc (1.7),
-	  addconstraints3.cc (1.4), addconstraints4.cc (1.6),
-	  addconstraints5.cc (1.7), addconstraints6.cc (1.8),
-	  addconstraints7.cc (1.7), addconstraints8.cc (1.7),
-	  addconstraints9.cc (1.8), adddimensions1.cc (1.9),
-	  adddimensions2.cc (1.5), adddimensions3.cc (1.7),
-	  adddimensions4.cc (1.5), adddimensions5.cc (1.2),
-	  adddimensions6.cc (1.2), adddimensions7.cc (1.2),
-	  addgenerators1.cc (1.8), addgenerators2.cc (1.8),
-	  addgenerators3.cc (1.7), addgenerators4.cc (1.7),
-	  addgenerators5.cc (1.7), addgenerators6.cc (1.7),
-	  addgenerators7.cc (1.3), addgenerators8.cc (1.3), affineimage1.cc
-	  (1.7), affineimage2.cc (1.6), affinepreimage1.cc (1.6),
-	  affinepreimage2.cc (1.6), affinepreimage3.cc (1.6),
-	  affinepreimage4.cc (1.7), affinetrans.cc (1.10), append1.cc
-	  (1.12), append2.cc (1.13), bounded1.cc (1.4), boundingbox1.cc
-	  (1.17), boundingbox2.cc (1.8), concatenate1.cc (1.2),
-	  concatenate2.cc (1.2), concatenate3.cc (1.2), empty1.cc (1.8),
-	  exceptions1.cc (1.12), exceptions2.cc (1.9), generators1.cc
-	  (1.7), generators2.cc (1.4), h79widening1.cc (1.2),
-	  h79widening2.cc (1.2), h79widening3.cc (1.2), inclusion1.cc
-	  (1.3), intersection1.cc (1.2), intersection2.cc (1.2),
-	  intersection3.cc (1.2), intersection4.cc (1.2), intersection5.cc
-	  (1.2), intersection6.cc (1.2), intersection7.cc (1.2),
-	  limitedh79widening1.cc (1.2), limitedh79widening2.cc (1.2),
-	  mc91.cc (1.4), memory1.cc (1.6), onepoint.cc (1.6), permute.cc
-	  (1.19), polydifference1.cc (1.2), polydifference2.cc (1.4),
-	  polyhull1.cc (1.2), polyhull2.cc (1.2), polyhull3.cc (1.2),
-	  polyhull4.cc (1.2), ppl_test.hh (1.1), randphull1.cc (1.3),
-	  relations1.cc (1.4), relations2.cc (1.5), relations3.cc (1.5),
-	  relations4.cc (1.5), relations5.cc (1.5), relations6.cc (1.4),
-	  relations7.cc (1.4), relations8.cc (1.4), relations9.cc (1.5),
-	  removedim1.cc (1.6), removedim2.cc (1.10), removedim3.cc (1.6),
-	  removedim4.cc (1.7), removedim5.cc (1.5), removedim6.cc (1.7),
-	  removedim7.cc (1.2), smm1.cc (1.6), timeelapse1.cc (1.3),
-	  timeelapse2.cc (1.3), timeelapse3.cc (1.3), timeelapse4.cc (1.3),
-	  timeelapse5.cc (1.3), universe1.cc (1.4), universe2.cc (1.5),
-	  universe3.cc (1.5), universe4.cc (1.5), universe5.cc (1.6),
-	  universe6.cc (1.3), watchdog1.cc (1.9): Most of the test programs
-	  are now used to test both closed and not necessarily closed
-	  polyhedra.
-
-2002-08-14 Wednesday 11:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh,
-	  Constraint.cc, Constraint.defs.hh (alt_nnc.[2,2,1,2,2]): Now the
-	  iterators on constraint systems do skip the next constraint when
-	  the current one is a strict inequality and the next one is a
-	  non-strict inequality matching the current one (we still skip
-	  trivial-true constraints).
-
-2002-08-14 Wednesday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.29): Updated.
-
-2002-08-14 Wednesday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.201): Polyhedron::concatenate_assign()
-	  improved.
-
-2002-08-13 Tuesday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.84), inters1.cc (1.11), inters2.cc (1.14),
-	  inters3.cc (1.7), inters4.cc (1.6), inters5.cc (1.8), inters6.cc
-	  (1.7), inters7.cc (1.4), intersection1.cc (1.1), intersection2.cc
-	  (1.1), intersection3.cc (1.1), intersection4.cc (1.1),
-	  intersection5.cc (1.1), intersection6.cc (1.1), intersection7.cc
-	  (1.1): Renamed intersN.cc to intersectionN.cc, for N = 1, ..., 7.
-
-2002-08-13 Tuesday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: xsb_clpq.P (1.5), xsb_clpq2.P (1.3):
-	  Import as little as possible.
-
-2002-08-13 Tuesday 21:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.4): add_constraints_and_minimize()
-	  should now be ok for the new NNC repr.  Added a couple of FIXME's
-	  to mark methods that still need to be adjusted.
-
-2002-08-13 Tuesday 21:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc, GenSys.defs.hh (alt_nnc.[1,1]): Removed method
-	  add_corresponding_closure_points().
-
-2002-08-13 Tuesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.42), interfaces/C/ppl_c.h (1.40),
-	  interfaces/Prolog/ppl_prolog.icc (1.62),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.21),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.17),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.25),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.49),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.2),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.7),
-	  interfaces/Prolog/XSB/xsb_clpq.P (1.4),
-	  interfaces/Prolog/XSB/xsb_clpq2.P (1.2),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.42), src/Determinate.defs.hh
-	  (1.9), src/Determinate.inlines.hh (1.10), src/Polyhedron.cc
-	  (1.200), src/Polyhedron.defs.hh (1.138), src/PowerSet.defs.hh
-	  (1.12), src/PowerSet.inlines.hh (1.13), tests/Makefile.am (1.83),
-	  tests/addconstraints10.cc (1.6), tests/addconstraints11.cc (1.7),
-	  tests/addconstraints2.cc (1.13), tests/concatenate1.cc (1.1),
-	  tests/concatenate2.cc (1.1), tests/concatenate3.cc (1.1),
-	  tests/exceptions2.cc (1.8): The method
-	  Polyhedron::add_dimensions_and_constraints(ConSys&) has gone.  A
-	  similar functionality is provided by the new method
-	  Polyhedron::concatenate_assign(const Polyhedron&).
-
-2002-08-13 Tuesday 18:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (alt_nnc.2): Fixed method	template
-	  <typename Box>   Polyhedron::Polyhedron(Topology topol, const
-	  Box& box) to work correctly with the new NNC representation.
-
-2002-08-13 Tuesday 18:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/boundingbox2.cc (alt_nnc.1): Some strange formatting fixed.
-
-2002-08-13 Tuesday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.8), Determinate.inlines.hh (1.9):
-	  Default constructor replaced with a generalized constructor.	New
-	  method Determinate::concatenate_assign(const Determinate& y).
-
-2002-08-13 Tuesday 16:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.3): Most methods now correctly use the
-	  new NNC representation (notable exceptions: the wideinings and
-	  the boundingbox operators).
-
-2002-08-13 Tuesday 16:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/minimize.cc (alt_nnc.1): When con_to_gen is false, no longer
-	  checking for the presence of the positivity constraint (C) or the
-	  presence of eps_geq_zero (NNC).
-
-2002-08-13 Tuesday 16:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.cc, Generator.defs.hh, Generator.inlines.hh
-	  (alt_nnc.[1,1,1]): Added method for getting the
-	  minus_epsilon_ray, needed for the new NNC representation;
-	  adjusted the OK() method so that it will no longer complain when
-	  finding a ray with a non-zero epsilon coefficient.
-
-2002-08-13 Tuesday 16:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, ConSys.defs.hh (alt_nnc.[1,1]): Added method
-	  add_corresponding_nonstrict_inequalities().
-
-2002-08-13 Tuesday 14:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.11), PowerSet.inlines.hh (1.12): Added
-	  a `space_dim' private member and its usual public accessor:
-	  space_dimension().
-
-2002-08-13 Tuesday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.7), Determinate.inlines.hh (1.8):
-	  Method space_dimension() added.  Added template <typename PH>
-	  bool operator==(const Determinate<PH>& x, const Determinate<PH>&
-	  y) and template <typename PH> bool operator!=(const
-	  Determinate<PH>& x, const Determinate<PH>& y).  Added several
-	  assertions.  Default constructor made public (it was left private
-	  by mistake).	Prepare for some cleanup.
-
-2002-08-13 Tuesday 11:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (alt_nnc.2): Started converting
-	  H-representations into P-representations.  The build is
-	  (obviously) broken.
-
-2002-08-13 Tuesday 10:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc, Constraint.defs.hh, Constraint.inlines.hh,
-	  Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh
-	  (alt_nnc.[1,1,1,1,1,1]): Getting rid of the epsilon_geq_zero()
-	  constraint.  Added the static function
-	  Polyhedron::add_low_level_constraints(ConSys&) to centralize the
-	  issues related to the positivity and the epsilon_leq_one()
-	  low-level constraints.
-
-2002-08-13 Tuesday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.41), GenSys.cc (1.61): In methods
-	  ConSys::insert() and GenSys::insert(), when the systems are empty
-	  and NNC, computing the new size of the constraint/generators in a
-	  cleaner way.
-
-2002-08-12 Monday 20:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.60): Patched the method insert(const
-	  Generator&), which was doing nasty things when trying to insert a
-	  generator into an empty generator system that was declared to be
-	  NNC.
-
-2002-08-12 Monday 20:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/addgenerators8.cc (1.2): No longer NOISY.
-
-2002-08-12 Monday 20:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.199): Corrected a bug in add_generator(const
-	  Generator&) whereby we were not adding the corresponding closure
-	  point when adding a point to an empty NNC polyhedron.
-
-2002-08-12 Monday 20:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.137): Removed a /*! that was inside the
-	  scope of another /*!.
-
-2002-08-12 Monday 20:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.82), addgenerators8.cc (1.1): The new test
-	  addgenerators8 shows a bug when trying to insert a point into an
-	  empty NNC polyhedron using add_generator(const Generator&).
-
-2002-08-12 Monday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.6), Determinate.inlines.hh (1.7),
-	  PowerSet.defs.hh (1.10), PowerSet.inlines.hh (1.11): Classes
-	  Determinate and PowerSet equipped with initial implementations of
-	  methods add_constraint(), add_constraints(), and
-	  add_dimensions_and_constraints().
-
-2002-08-12 Monday 09:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.136): The documentation of
-	  Polyhedron::add_dimensions_and_constraints() has been made
-	  consistent with that of the other methods.
-
-2002-08-12 Monday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/clpq2.pl (1.22), interfaces/Prolog/expected2
-	  (1.6), interfaces/Prolog/XSB/expected2 (1.2), src/ConSys.cc
-	  (1.40), src/Constraint.cc (1.29), src/Constraint.inlines.hh
-	  (1.39), src/GenSys.cc (1.59), src/Generator.cc (1.36),
-	  src/Generator.inlines.hh (1.36), src/Matrix.cc (1.40),
-	  src/Matrix.defs.hh (1.31), src/Polyhedron.cc (1.198),
-	  src/Polyhedron.inlines.hh (1.42), src/minimize.cc (1.22): Avoid
-	  using LaTeX commands in ordinary C++ comments.
-
-2002-08-12 Monday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.197): Properly comment a couple of
-	  preprocessor directives.
-
-2002-08-11 Sunday 17:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.61), src/C_Polyhedron.defs.hh
-	  (1.13), src/C_Polyhedron.inlines.hh (1.8),
-	  src/NNC_Polyhedron.defs.hh (1.16), src/NNC_Polyhedron.inlines.hh
-	  (1.10), src/Polyhedron.defs.hh (1.135), src/Polyhedron.inlines.hh
-	  (1.41), src/PowerSet.defs.hh (1.9), src/PowerSet.inlines.hh
-	  (1.10): The syntax `template <class T>' is an anachronism: use
-	  `template <typename T>' instead.
-
-2002-08-11 Sunday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BoundingBox.types.hh (1.3), C_Polyhedron.types.hh (1.4),
-	  ConSys.types.hh (1.4), Constraint.types.hh (1.4), GenSys.types.hh
-	  (1.4), Generator.types.hh (1.4), Init.types.hh (1.3),
-	  Integer.types.hh (1.5), Interval.types.hh (1.3),
-	  LinExpression.types.hh (1.4), Matrix.types.hh (1.4),
-	  NNC_Polyhedron.types.hh (1.4), Poly_Con_Relation.types.hh (1.3),
-	  Poly_Gen_Relation.types.hh (1.3), Polyhedron.types.hh (1.5),
-	  Row.types.hh (1.4), SatMatrix.types.hh (1.4), SatRow.types.hh
-	  (1.4), Status.types.hh (1.4), Variable.types.hh (1.4): Obey our
-	  standard about namespace-level indentation.
-
-2002-08-11 Sunday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.6), AskTell.inlines.hh (1.7),
-	  AskTell.types.hh (1.2), BoundingBox.defs.hh (1.3),
-	  BoundingBox.inlines.hh (1.4), BoundingBox.types.hh (1.2),
-	  C_Polyhedron.defs.hh (1.12), C_Polyhedron.inlines.hh (1.7),
-	  C_Polyhedron.types.hh (1.3), ConSys.defs.hh (1.62),
-	  ConSys.inlines.hh (1.23), ConSys.types.hh (1.3),
-	  Constraint.defs.hh (1.67), Constraint.inlines.hh (1.38),
-	  Constraint.types.hh (1.3), Determinate.defs.hh (1.5),
-	  Determinate.inlines.hh (1.6), Determinate.types.hh (1.2),
-	  GenSys.defs.hh (1.76), GenSys.inlines.hh (1.25), GenSys.types.hh
-	  (1.3), Generator.defs.hh (1.72), Generator.inlines.hh (1.35),
-	  Generator.types.hh (1.3), Init.defs.hh (1.4), Init.inlines.hh
-	  (1.3), Init.types.hh (1.2), Integer.defs.hh (1.6),
-	  Integer.inlines.hh (1.5), Integer.types.hh (1.4),
-	  Interval.defs.hh (1.6), Interval.types.hh (1.2), LCompare.defs.hh
-	  (1.2), LCompare.inlines.hh (1.2), LCompare.types.hh (1.2),
-	  LinExpression.defs.hh (1.49), LinExpression.inlines.hh (1.21),
-	  LinExpression.types.hh (1.3), Matrix.defs.hh (1.30),
-	  Matrix.inlines.hh (1.25), Matrix.types.hh (1.3),
-	  NNC_Polyhedron.defs.hh (1.15), NNC_Polyhedron.inlines.hh (1.9),
-	  NNC_Polyhedron.types.hh (1.3), Poly_Con_Relation.defs.hh (1.11),
-	  Poly_Con_Relation.inlines.hh (1.7), Poly_Con_Relation.types.hh
-	  (1.2), Poly_Gen_Relation.defs.hh (1.10),
-	  Poly_Gen_Relation.inlines.hh (1.7), Poly_Gen_Relation.types.hh
-	  (1.2), Polyhedron.defs.hh (1.134), Polyhedron.inlines.hh (1.40),
-	  Polyhedron.types.hh (1.4), PowerSet.defs.hh (1.8),
-	  PowerSet.inlines.hh (1.9), PowerSet.types.hh (1.2), Row.defs.hh
-	  (1.52), Row.inlines.hh (1.28), Row.types.hh (1.3),
-	  SatMatrix.defs.hh (1.21), SatMatrix.inlines.hh (1.14),
-	  SatMatrix.types.hh (1.3), SatRow.defs.hh (1.17),
-	  SatRow.inlines.hh (1.17), SatRow.types.hh (1.3), Status.defs.hh
-	  (1.19), Status.inlines.hh (1.9), Status.types.hh (1.3),
-	  Variable.defs.hh (1.21), Variable.inlines.hh (1.10),
-	  Variable.types.hh (1.3): Multiple inclusion guards properly
-	  commented.
-
-2002-08-11 Sunday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: C/ppl_c.h (1.39), Prolog/XSB/ppl_xsb.cc (1.6),
-	  Prolog/YAP/ppl_yap.cc (1.41): Comment the closing brace of
-	  `extern "C"' blocks.
-
-2002-08-11 Sunday 15:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.61), Constraint.defs.hh (1.66),
-	  GenSys.defs.hh (1.75), Generator.defs.hh (1.71), Integer.defs.hh
-	  (1.5), Interval.defs.hh (1.5), LinExpression.defs.hh (1.48),
-	  Matrix.defs.hh (1.29), Poly_Con_Relation.defs.hh (1.10),
-	  Poly_Gen_Relation.defs.hh (1.9), Polyhedron.defs.hh (1.133),
-	  Row.defs.hh (1.51), SatMatrix.defs.hh (1.20), SatRow.defs.hh
-	  (1.16), Status.defs.hh (1.18), Variable.defs.hh (1.20):
-	  Namespace-level indentation fixed.
-
-2002-08-11 Sunday 15:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.5): Add rules concerning block closures and
-	  namespace indentation.
-
-2002-08-11 Sunday 11:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.4), Determinate.inlines.hh (1.5),
-	  PowerSet.defs.hh (1.7), PowerSet.inlines.hh (1.8): Added methods
-	  add_dimensions_and_project(), add_dimensions_and_embed(),
-	  remove_dimensions(), and remove_higher_dimensions().
-
-2002-08-10 Saturday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.57), interfaces/C/Makefile.am (1.11),
-	  src/Makefile.am (1.48): Bump version numbers.
-
-2002-08-10 Saturday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/.cvsignore (1.2): For those building in the sources
-	  directory.
-
-2002-08-10 Saturday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.9): Allow building in any
-	  directory (included the one containing the sources).
-
-2002-08-09 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.8): Distribute also expected
-	  and expected2.
-
-2002-08-09 Friday 21:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: Makefile.am (1.19), devref-browse.doxyconf-latex.in (1.21),
-	  devref-print.doxyconf-latex.in (1.21), devref.doxyconf-html.in
-	  (1.22), user-browse.doxyconf-latex.in (1.13),
-	  user-print.doxyconf-latex.in (1.13), user.doxyconf-html.in
-	  (1.15): Transition to Doxygen 1.2.17 completed.
-
-2002-08-08 Thursday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/.cvsignore (1.6): Ignore also the newly added tests.
-
-2002-08-07 Wednesday 23:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: .cvsignore (1.2), Makefile.am (1.7):
-	  Support building in the sources' directory.
-
-2002-08-07 Wednesday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: Makefile.am (1.6), expected2 (1.1): XSB
-	  interface now fully operational.
-
-2002-08-07 Wednesday 19:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: Makefile.am (1.5), expected (1.1),
-	  ppl_xsb.cc (1.5), xsb_clpq.P (1.3), xsb_clpq2.P (1.1): Bug fixed.
-	  Tests with clpq.pl now working.
-
-2002-08-07 Wednesday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.4): Improve the `make check'
-	  mechanism.
-
-2002-08-07 Wednesday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/Makefile.am (1.3): MOSTLYCLEANFILES
-	  integrated.
-
-2002-08-07 Wednesday 11:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/xsb_clpq.P (1.2): Unneeded parentheses
-	  removed.
-
-2002-08-07 Wednesday 11:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/: Makefile.am (1.2), xsb_clpq.P (1.1):
-	  Towards a working XSB interface.
-
-2002-08-06 Tuesday 19:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.38): Better comment for the closing
-	  #endif of the multiple inclusion guard.
-
-2002-08-06 Tuesday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.4): Wrong initializations
-	  fixed.
-
-2002-08-06 Tuesday 18:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.3): Try to get around bugs in
-	  XSB 2.5 foreign language interface (several foreign language
-	  interface functions do not properly dereference their arguments).
-
-2002-08-05 Monday 17:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.5), AskTell.inlines.hh (1.6),
-	  PowerSet.inlines.hh (1.7): Some cleaning.
-
-2002-08-04 Sunday 18:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.4), AskTell.inlines.hh (1.5),
-	  Determinate.defs.hh (1.3), Determinate.inlines.hh (1.4),
-	  PowerSet.defs.hh (1.6), PowerSet.inlines.hh (1.6): All the
-	  entails() functions became definitely_entails() methods.  More
-	  cleaning.
-
-2002-08-04 Sunday 14:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.3), AskTell.inlines.hh (1.4),
-	  PowerSet.defs.hh (1.5), PowerSet.inlines.hh (1.5): More cleaning.
-
-2002-08-04 Sunday 13:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/AskTell.inlines.hh (1.3), src/Determinate.defs.hh (1.2),
-	  src/Determinate.inlines.hh (1.3), src/PowerSet.defs.hh (1.4),
-	  src/PowerSet.inlines.hh (1.4), tests/mc91.cc (1.3):
-	  CS::operator*=() renamed CS::meet_assign().  CS::operator+=()
-	  renamed CS::upper_bound_assign().
-
-2002-08-04 Sunday 13:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.47), PowerSet.defs.hh (1.3),
-	  PowerSet.inlines.hh (1.3): Use the new classes also for the
-	  documentation.  The PowerSet construction is now implemented
-	  using a sequence.  PowerSet::omega_reduction() reimplemented.
-
-2002-08-03 Saturday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.2), PowerSet.inlines.hh (1.2): Complete
-	  redesign started.
-
-2002-08-02 Friday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/AskTell.defs.hh (1.2), src/AskTell.inlines.hh (1.2),
-	  tests/mc91.cc (1.2): Move all code to AskTell.inlines.hh.  Minor
-	  improvements.
-
-2002-08-02 Friday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: exceptions1.cc (1.11), exceptions2.cc (1.7), print.hh
-	  (1.10), randphull1.cc (1.2): Include <iostream>.
-
-2002-08-02 Friday 09:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.56): Check whether the Mercury compiler is
-	  installed.
-
-2002-08-01 Thursday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.81), mc91.cc (1.1): Test the constraint
-	  systems' constructions with McCarthy's 91 function.
-
-2002-08-01 Thursday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.46): Activate the new constraint systems'
-	  files.
-
-2002-08-01 Thursday 17:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Determinate.inlines.hh (1.2): Inclusion guard comment fixed.
-
-2002-08-01 Thursday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PowerSet.defs.hh (1.1), PowerSet.inlines.hh (1.1),
-	  PowerSet.types.hh (1.1): Initial implementation for the class
-	  `PowerSet': the powerset construction on constraint systems.
-
-2002-08-01 Thursday 17:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: AskTell.defs.hh (1.1), AskTell.inlines.hh (1.1),
-	  AskTell.types.hh (1.1): Initial implementation for the class
-	  `AskTell': the ask and tell construction on constraint systems.
-
-2002-08-01 Thursday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: LCompare.defs.hh (1.1), LCompare.inlines.hh (1.1),
-	  LCompare.types.hh (1.1): Initial implementation for the class
-	  `LCompare': a function object for lexical comparison.
-
-2002-08-01 Thursday 16:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Determinate.defs.hh (1.1), Determinate.inlines.hh (1.1),
-	  Determinate.types.hh (1.1): Initial implementation for the class
-	  `Determinate': it wraps a polyhedron class into a determinate
-	  constraint system interface.
-
-2002-07-30 Tuesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_4-branch.3): Update version.
-
-2002-07-30 Tuesday 11:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[2,4]): Mark
-	  ChangeLog.
-
-2002-07-30 Tuesday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_4-branch.3): Updated.
-
-2002-07-29 Monday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* COPYING (1.2), INSTALL (1.4), config.guess (1.12), config.sub
-	  (1.11), depcomp (1.3), install-sh (1.3), missing (1.5),
-	  mkinstalldirs (1.4): Updated to the respective latest versions.
-
-2002-07-29 Monday 10:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.196): Added an assertions to
-	  add_constraints(ConSys& cs).	Also added a test for emptyness, to
-	  avoid adding constraints to a polyhedron already known to be
-	  empty.
-
-2002-07-29 Monday 07:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/pl_check.pl (1.21): Comment removed.
-
-2002-07-29 Monday 07:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/pl_check.pl (ppl-0_4-branch.1): Comment
-	  removed.
-
-2002-07-29 Monday 07:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (ppl-0_4-branch.3): Mention the fixes to
-	  Polyhedron::check_universe() and
-	  NNC_Polyhedron::NNC_Polyhedron(ConSys& cs).
-
-2002-07-29 Monday 01:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc, src/GenSys.cc, tests/universe6.cc,
-	  src/Polyhedron.cc (ppl-0_4-branch.[1,1,1,2]): The following
-	  corrections made on HEAD are now reported in the ppl-0_4-branch:
-	  - fixed a bug in ConSys/GenSys.adjust_topology_and_dimension()  -
-	  fixed a bug in Polyhedron::check_universe().
-
-2002-07-29 Monday 00:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.195): Fixed a bug in check_universe(), which
-	  was returning the wrong result when called by a zero-dim universe
-	  polyhedron.
-
-2002-07-29 Monday 00:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.39), GenSys.cc (1.58): Methods
-	  adjust_topology_and_dimension() now behave properly even on
-	  constraint/generator systems having no rows.
-
-2002-07-29 Monday 00:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/universe6.cc (1.2): Added a new test, showing two bugs:  -
-	  the first bug has to do with an invariant that was not fullfilled
-	  when creating an NNC polyehdron starting from an empty
-	  constraint system;	this bug was only visible when compiling
-	  with assertions turned on.   - the second bug was due to the fact
-	  that check_universe() returns     the wrong result when applied
-	  to a zero-dim-universe polyhedron.
-
-2002-07-28 Sunday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/.cvsignore (1.1): Put under CVS control.
-
-2002-07-28 Sunday 20:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/pl_check.pl (1.20): Properly initialize and
-	  finalize the library.
-
-2002-07-28 Sunday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.13),
-	  GNU/ppl_gprolog_sd.cc (1.8), SICStus/ppl_sicstus_sd.cc (1.24),
-	  SWI/ppl_swiprolog.cc (1.48), YAP/ppl_yap.cc (1.40): Fixed some
-	  comments and assertions.
-
-2002-07-28 Sunday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/XSB/ppl_xsb.cc (1.2): Several bugs fixed.
-
-2002-07-28 Sunday 12:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_4-branch.2): Updated.
-
-2002-07-28 Sunday 11:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (ppl-0_4-branch.1): Updated for version 0.4.1.
-
-2002-07-28 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (ppl-0_4-branch.2): Add news for version 0.4.1.
-
-2002-07-28 Sunday 11:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_4-branch.2): Bump version number.
-
-2002-07-28 Sunday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Integer.types.hh, Makefile.am (ppl-0_4-branch.[1,1]):
-	  Document the fact that Parma_Polyhedra_Library::Integer is a
-	  synonym for GMP's mpz_class.
-
-2002-07-24 Wednesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/Makefile.am (1.8): Ciao Prolog library
-	  renamed.
-
-2002-07-24 Wednesday 14:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Integer.types.hh (1.3), Makefile.am (1.45): Document the
-	  fact that Parma_Polyhedra_Library::Integer is a synonym for GMP's
-	  mpz_class.
-
-2002-07-23 Tuesday 18:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.70): Corrected doxygen comments to
-	  shorthands functions line, ray, point.
-
-2002-07-23 Tuesday 18:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.88): Small correction in the example of
-	  the use of an extended generator system.
-
-2002-07-22 Monday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.12),
-	  GNU/ppl_gprolog_sd.cc (1.7), SICStus/ppl_sicstus_sd.cc (1.23),
-	  SWI/ppl_swiprolog.cc (1.47), YAP/ppl_yap.cc (1.39): Comments
-	  fixed.  Avoid macros with unused parameters.
-
-2002-07-22 Monday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.55), interfaces/Prolog/Makefile.am (1.19),
-	  interfaces/Prolog/XSB/Makefile.am (1.1),
-	  interfaces/Prolog/XSB/ppl_xsb.H (1.1),
-	  interfaces/Prolog/XSB/ppl_xsb.cc (1.1): New Prolog interface.
-
-2002-07-22 Monday 14:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc, tests/Makefile.am, tests/polydifference2.cc
-	  (ppl-0_4-branch.[1,1,1]): The corrections of the bug identified
-	  in revisions 1.193 and 1.194 of the HEAD branch are now reported
-	  in the ppl-0_4-branch.  The same for the test that outlighted the
-	  bug.
-
-2002-07-10 Wednesday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/polydifference2.cc (1.3): Don't be noisy.
-
-2002-07-10 Wednesday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.194): Corrected a bug in
-	  poly_difference_assign(const Polyhedron& y).	No longer ignoring
-	  the equality constraints of `y' (the bug was affecting both C and
-	  NNC computations).
-
-2002-07-10 Wednesday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/polydifference2.cc (1.2): Output improved.
-
-2002-07-10 Wednesday 11:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.193): Corrected a bug in
-	  Polyhedron::operator=(...).  When assigning to *this a polyhedron
-	  declared to be empty, we now call set_empty() to also clear the
-	  constraint and generator systems, therefore enforcing the
-	  corresponding invariant.
-
-2002-07-10 Wednesday 11:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.80), polydifference2.cc (1.1): Added a new
-	  test showing two bugs:  - the assignment operator on Polyhedron
-	  breaks the invariant saying that    an empty polyhedron has a
-	  constraint system with either no rows or    a single
-	  unsatisfiable constraint;  - the current implementation of
-	  poly_difference_assign() is wrong in	  that it disregards
-	  equality constraints.
-
-2002-07-03 Wednesday 15:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: fake_main.pl (1.1), ppl_ciao.pl (1.20):
-	  Wrong declarations fixed (thanks to Jose Morales).  The file
-	  fake_main.pl is a kludge to convince ciaoc to produce object code
-	  (the `-c' option is broken in Ciao Prolog 1.8 #2).  Missing
-	  predicate declarations have been added.
-
-2002-07-02 Tuesday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.19): Some bugs have been
-	  fixed.
-
-2002-07-02 Tuesday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.54): Version bumped: we are now in the 0.5 era.
-
-2002-07-02 Tuesday 22:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.53), interfaces/Prolog/Makefile.am (1.18): The
-	  Ciao Prolog interface has been re-enabled.
-
-2002-07-02 Tuesday 21:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.52), Watchdog/configure.ac (1.9): Shared
-	  libraries are again turned off by default.
-
-2002-07-02 Tuesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (ppl-0_4-branch.1), NEWS (1.28): Cut and paste error fixed.
-
-2002-07-01 Monday 18:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_4-branch.1): Update version.
-
-2002-07-01 Monday 18:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/ChangeLog, ChangeLog (ppl-0_4-branch.[1,1]): Mark
-	  ChangeLog.
-
-2002-07-01 Monday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.9): Updated.
-
-2002-07-01 Monday 16:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.11), config.sub (1.10), ltmain.sh (1.5): Updated.
-
-2002-07-01 Monday 08:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.27): Updated.
-
-2002-06-30 Sunday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* STANDARDS (1.4): Use the same form of headings.
-
-2002-06-30 Sunday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.12): Mention the support for NNC polyhedra.  Updated
-	  for PPL 0.4.	Organization of source distributions updated.
-
-2002-06-30 Sunday 22:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/GNU/ppl_gprolog.pl (1.16): Bug fixed in
-	  limited_H79_widening_assign.
-
-2002-06-30 Sunday 21:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.15): Mention not necessarily closed convex
-	  polyhedra in the main %description.
-
-2002-06-30 Sunday 20:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: check_script (1.3), expected (1.2): Test
-	  ack.clpq with the easier query `?- ack(2, 1, Z).'.
-
-2002-06-30 Sunday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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>
-
-	* Watchdog/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.51), Watchdog/configure.ac (1.8): Invocations to
-	  AC_PROG_* macros repositioned.
-
-2002-06-30 Sunday 15:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.69): Friend declaration split
-	  differently.
-
-2002-06-30 Sunday 15:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: Watchdog.defs.hh (1.4), Watchdog.inlines.hh (1.3): Use
-	  methods instead of friends for binary operators over Time.
-
-2002-06-30 Sunday 12:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/.cvsignore (1.4), SICStus/.cvsignore
-	  (1.4), SWI/.cvsignore (1.4), YAP/.cvsignore (1.4): Added files to
-	  be ignored.
-
-2002-06-30 Sunday 12:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/.cvsignore (1.3), GNU/.cvsignore (1.3),
-	  SICStus/.cvsignore (1.3), YAP/.cvsignore (1.3): For those
-	  building in the sources' directory.
-
-2002-06-30 Sunday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.50): Make building shared libraries the default.
-
-2002-06-29 Saturday 21:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.60), ppl_prolog.icc
-	  (1.60), Ciao/ppl_ciao.pl (1.18), GNU/ppl_gprolog.pl (1.15),
-	  SICStus/ppl_sicstus_sd.cc (1.22), SWI/ppl_swiprolog.cc (1.46),
-	  YAP/ppl_yap.cc (1.38): Added documentation for Prolog interface
-	  predicates bounds from above/below and moved definitions to
-	  follow that of is_bounded.
-
-2002-06-29 Saturday 14:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.19), ppl_prolog.icc (1.59),
-	  Ciao/ppl_ciao.pl (1.17), GNU/ppl_gprolog.pl (1.14),
-	  SICStus/ppl_sicstus_sd.cc (1.21), SWI/ppl_swiprolog.cc (1.45),
-	  YAP/ppl_yap.cc (1.37): Predicates for bounds_from_above/below
-	  added to Prolog interface.
-
-2002-06-29 Saturday 08:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.41), ppl_c.h (1.37): Added
-	  ppl_Polyhedron_bounds_from_above() and
-	  ppl_Polyhedron_bounds_from_below().
-
-2002-06-29 Saturday 08:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.192), Polyhedron.defs.hh (1.132),
-	  Polyhedron.inlines.hh (1.39): Added bool bounds_from_above(const
-	  LinExpression&) const and bool bounds_from_below(const
-	  LinExpression&) const: both are implemented in terms of the new
-	  bool bounds(const LinExpression& expr, bool from_above) const.
-
-2002-06-28 Friday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.191): Polyhedron::is_bounded() improved.
-
-2002-06-28 Friday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: clpq2.pl (1.21), expected2 (1.5): Undo the
-	  changes corresponding to the last two commits of clpq2.pl and to
-	  the last commit of expected2.
-
-2002-06-28 Friday 17:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: clpq2.pl (1.20), expected2 (1.4): Updated the
-	  expected2 file to match current clpq2.pl clpq2.pl has a minor bug
-	  fixed when writing equality bindings that were not included as
-	  constraints (this does not affect the results of the
-	  check_script2).
-
-2002-06-28 Friday 09:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: memory1.cc (1.5), timings.cc (1.2): Improved error
-	  handling.
-
-2002-06-28 Friday 09:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/memory1.cc (1.4): Cleaned and improved error handling.
-
-2002-06-27 Thursday 09:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.defs.hh (1.60), src/ConSys.inlines.hh (1.22),
-	  src/GenSys.defs.hh (1.74), src/GenSys.inlines.hh (1.24),
-	  tests/NNCminimize1.cc (1.4), tests/NNCminimize2.cc (1.4),
-	  tests/NNCminimize3.cc (1.4), tests/NNCminimize4.cc (1.6): Added
-	  public method clear() to ConSys and GenSys.  Added a FIXME
-	  comment to NNCminimize* tests.
-
-2002-06-27 Thursday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.59), ConSys.inlines.hh (1.21),
-	  Constraint.defs.hh (1.65), Constraint.inlines.hh (1.37),
-	  GenSys.defs.hh (1.73), GenSys.inlines.hh (1.23),
-	  Generator.defs.hh (1.68), Generator.inlines.hh (1.34),
-	  LinExpression.defs.hh (1.47), LinExpression.inlines.hh (1.20):
-	  Added several versions of swap() to cope with the private
-	  inheritance problems caused by the departure of PPL_HIDDEN.
-
-2002-06-27 Thursday 08:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator.inlines.hh (1.33): Avoid redefinition of default
-	  arguments.
-
-2002-06-26 Wednesday 19:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.57), GenSys.defs.hh (1.72): Added
-	  std::ostream& operator<<(std::ostream&, const GenSys&) and
-	  std::istream& operator>>(std::istream&, GenSys&).
-
-2002-06-26 Wednesday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.38), ConSys.defs.hh (1.58), Matrix.cc (1.39):
-	  Added std::ostream& operator<<(std::ostream&, const ConSys&) and
-	  std::istream& operator>>(std::istream&, ConSys&).
-
-2002-06-26 Wednesday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-browse.doxyconf-latex.in (1.20),
-	  doc/devref-print.doxyconf-latex.in (1.20),
-	  doc/devref.doxyconf-html.in (1.21), interfaces/C/Makefile.am
-	  (1.10), interfaces/C/ppl_c.cc (1.40),
-	  interfaces/Prolog/Ciao/Makefile.am (1.7),
-	  interfaces/Prolog/GNU/Makefile.am (1.23),
-	  interfaces/Prolog/SICStus/Makefile.am (1.28),
-	  interfaces/Prolog/SWI/Makefile.am (1.25),
-	  interfaces/Prolog/YAP/Makefile.am (1.15), src/ConSys.defs.hh
-	  (1.57), src/Constraint.defs.hh (1.64), src/GenSys.defs.hh (1.71),
-	  src/Generator.defs.hh (1.67), src/LinExpression.defs.hh (1.46),
-	  src/Makefile.am (1.44), src/Poly_Con_Relation.defs.hh (1.9),
-	  src/Poly_Gen_Relation.defs.hh (1.8), src/ppl_filter_doxygen.sed
-	  (1.3), src/ppl_filter_install.sed (1.3): PPL_HIDDEN has gone.
-
-2002-06-26 Wednesday 18:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: ConSys.defs.hh (1.56), Constraint.defs.hh (1.63),
-	  GenSys.defs.hh (1.70): Minor improvements to comments (just
-	  English).
-
-2002-06-26 Wednesday 18:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.defs.hh (1.66), Generator.inlines.hh (1.32),
-	  Makefile.am (1.43): Added new shorthand non-member functions for
-	  creting generators: Generator line(const LinExpression&),
-	  Generator ray(const LinExpression&), Generator point(const
-	  LinExpression&, const Integer&), Generator closure_point(const
-	  LinExpression&, const Integer&).
-
-2002-06-26 Wednesday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: C/ppl_c.cc (1.39), Prolog/ppl_prolog.icc (1.58): Use
-	  the new static members of Generator to construct generatos.
-
-2002-06-26 Wednesday 15:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LinExpression.defs.hh (1.45): Removed spurious duplicated
-	  declaration (was already commented out).
-
-2002-06-26 Wednesday 15:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.40), Row.defs.hh (1.50), globals.cc (1.8),
-	  globals.hh (1.19): const Integer& operator*(const Constraint&,
-	  const Generator&) and const Integer& reduced_scalar_product(const
-	  Constraint&, const Generator&) moved from Row.* to globals.*.
-
-2002-06-26 Wednesday 14:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.62), Generator.cc (1.35),
-	  Generator.defs.hh (1.65), LinExpression.defs.hh (1.44),
-	  Makefile.am (1.42), Polyhedron.cc (1.190), Row.cc (1.39),
-	  Row.defs.hh (1.49): Started getting rid of preprocessing flag
-	  PPL_HIDDEN (work still in progress - build broken).
-
-2002-06-26 Wednesday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.55), GenSys.defs.hh (1.69): Input and
-	  output operator for Polyhedron made friends of ConSys and GenSys.
-
-2002-06-26 Wednesday 14:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (1.37): Comment alignment fixed.
-
-2002-06-26 Wednesday 08:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.87): Improved and corrected affine image
-	  paragraph.
-
-2002-06-25 Tuesday 16:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.86): More improvements to paragraph on
-	  affine image operations.
-
-2002-06-25 Tuesday 16:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.85): For uniformity, using \cQ instead of
-	  \cP' in the section about widening.
-
-2002-06-25 Tuesday 16:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.84): Improved the section about
-	  addition/removal of space dimensions.
-
-2002-06-25 Tuesday 16:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.131): The documentation for the swap
-	  function on Polyhedron objects now appears in the user manuals
-	  too.
-
-2002-06-25 Tuesday 15:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.types.hh (1.3): Added comments to `namespace std'.
-
-2002-06-25 Tuesday 15:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.83): Added more on an affine preimage.
-
-2002-06-25 Tuesday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/.cvsignore (1.3), src/.cvsignore (1.6), tests/.cvsignore
-	  (1.5): For those building in the sources' directory.
-
-2002-06-25 Tuesday 15:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.82): Added formal definition of the
-	  time-elapse operator.
-
-2002-06-25 Tuesday 14:16  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.81): Changed rows and columns round in the
-	  affine paragraph.
-
-2002-06-25 Tuesday 14:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.80), src/Polyhedron.defs.hh (1.130):
-	  Adding some references to the introduction to the documentation
-	  of operators.
-
-2002-06-25 Tuesday 14:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.19),
-	  devref-print.doxyconf-latex.in (1.19), devref.doxyconf-html.in
-	  (1.20): No longer including the second part of the introduction
-	  in the devref's manuals, since it is not up-to-date.
-
-2002-06-25 Tuesday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.79): Examples added to explanation of
-	  affine image operator.
-
-2002-06-25 Tuesday 13:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.78): Started explaining the affine
-	  operators.
-
-2002-06-25 Tuesday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.77), src/Polyhedron.defs.hh (1.129): In
-	  the widening and poly-difference comments, using the \anchor
-	  doxygen command to link to a specific paragraph of the
-	  introduction.
-
-2002-06-25 Tuesday 11:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.128): A few docuemntation errors
-	  corrected.  Added a note about methods ending in _and_minimize(),
-	  to explain the menaing of their return value. From all of their
-	  brief doxygen comments, moved the corresponding sentence on their
-	  return value, which is now placed in the detailed doxygen
-	  comment, using the \return command.
-
-2002-06-25 Tuesday 11:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.76): Renamed variables in example in
-	  paragraph wrt adding dimensions.
-
-2002-06-25 Tuesday 11:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.19): Improved version of clpq2.pl:
-	  - Code formatting corrected;    - Unused predicate
-	  definitions removed;	       - Predicates renamed to match
-	  functionality;    - Much more efficient as it projects unwanted
-	  dimensions away;  - Allows input variables to bind to Herbrand
-	  terms;     - Allows integer expressions as input (eg fib(2,
-	  X+1)).
-
-2002-06-25 Tuesday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.75): Added paragraphs on adding and
-	  removing dimensions.
-
-2002-06-25 Tuesday 08:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.18): More tidying of the tests.
-
-2002-06-25 Tuesday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.49): Version number bumped.
-
-2002-06-25 Tuesday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: ConSys.cc (1.36), Generator.defs.hh (1.64), Polyhedron.cc
-	  (1.189), Polyhedron.defs.hh (1.127), conversion.cc (1.29): In all
-	  files, changed reference to Introduction to the relevant section.
-	  In Polyhedron.defs.hh:   - A few minor changes to English
-	  expressions.	 - An x_1 changed to y.
-
-2002-06-25 Tuesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.26), doc/definitions.dox (1.74), interfaces/C/ppl_c.cc
-	  (1.38), interfaces/C/ppl_c.h (1.36),
-	  interfaces/Prolog/Prolog_interface.dox (1.59),
-	  interfaces/Prolog/pl_check.pl (1.17),
-	  interfaces/Prolog/ppl_prolog.icc (1.57),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.16),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.13),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.20),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.44),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.36), src/Polyhedron.cc
-	  (1.188), src/Polyhedron.defs.hh (1.126), tests/.cvsignore (1.4),
-	  tests/Makefile.am (1.79), tests/exceptions1.cc (1.10),
-	  tests/h79widening1.cc (1.1), tests/h79widening2.cc (1.1),
-	  tests/h79widening3.cc (1.1), tests/limitedh79widening1.cc (1.1),
-	  tests/limitedh79widening2.cc (1.1), tests/limitedwideningcc921.cc
-	  (1.2), tests/limitedwideningcc922.cc (1.2), tests/permute.cc
-	  (1.18), tests/wideningcc921.cc (1.3), tests/wideningcc922.cc
-	  (1.3), tests/wideningcc923.cc (1.2): The widening is now called
-	  H79 not to confuse the user.
-
-2002-06-25 Tuesday 06:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.14): %files section for gprolog package fixed.
-
-2002-06-24 Monday 23:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.13): %files section fixed for the yap package.
-
-2002-06-24 Monday 22:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.14): Do not forget
-	  yap_clpq2.pl.
-
-2002-06-24 Monday 21:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.58): Should now contain
-	  all the information need to use the Prolog interface.
-
-2002-06-24 Monday 18:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.187), Polyhedron.defs.hh (1.125): The
-	  detailed comments about class Polyhedron improved.  Better
-	  marking the start of detailed doxygen sections in the
-	  documentation of Polyhedron methods (using /*! ... */ instead of
-	  multi-line //!).  Adjusted a couple of old comments saying that
-	  the return value of minimize() was `true' when the polyhedron is
-	  found to be empty.
-
-2002-06-24 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.22): Added definitions for
-	  libppl_gprolog_la_LIBADD and libppl_gprolog_la_LDFLAGS.
-
-2002-06-24 Monday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.12): The %files sections of each package are now
-	  complete.
-
-2002-06-24 Monday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.57): Dealt with the
-	  issue of initialization and finalization.
-
-2002-06-24 Monday 17:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.21): Install also
-	  ppl_gprolog.pl.
-
-2002-06-24 Monday 17:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.56): Reorganization
-	  started.
-
-2002-06-24 Monday 15:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* NEWS (1.25), STANDARDS (1.3): Minor spelling/grammar corrections.
-
-2002-06-24 Monday 15:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.124), Polyhedron.inlines.hh (1.38):
-	  Adding short doxygen comment to Polyhedron related functions.
-
-2002-06-24 Monday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* STANDARDS (1.2): Sketching the first rules to obtain a somewhat
-	  standard Doxygen documentation style.
-
-2002-06-24 Monday 14:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.186): Polyhedron::remove_dimensions() fixed.
-
-2002-06-24 Monday 14:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/removedim6.cc (1.6): This test was carefully written so as
-	  to cover a bug in the library: fixed.
-
-2002-06-24 Monday 13:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.18): Final delete_Polyhedron for Q
-	  now replaced by cleanup call and by adding polyhedron Q to list
-	  of used polyhedra in head of solve_query.
-
-2002-06-24 Monday 13:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.185), Polyhedron.defs.hh (1.123): Going on
-	  enforcing new rules on doxygen comments of class Polyhedron.
-
-2002-06-24 Monday 12:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.16): Improved layout and
-	  comments.  Simplified and renamed some tests while adding others.
-
-2002-06-24 Monday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/configure.ac (1.7): Fixed typo in a comment.
-
-2002-06-24 Monday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.48): Effectively disable the
-	  interface/Prolog/Ciao directory.
-
-2002-06-24 Monday 11:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.54), GenSys.defs.hh (1.68),
-	  Generator.defs.hh (1.63): Added examples to ConSys and GenSys
-	  documentation using strict inequalities and closure points.
-	  Improved terminology note point/vertex in Generator.
-
-2002-06-24 Monday 11:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Poly_Con_Relation.defs.hh (1.8): Missing full stop added.
-
-2002-06-24 Monday 08:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.24): Distribute also
-	  ppl_swiprolog.pl.
-
-2002-06-24 Monday 00:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.184), Polyhedron.defs.hh (1.122),
-	  Polyhedron.inlines.hh (1.37): Started uniformizing doxygen
-	  comments of class Polyehdron according to new rules.
-
-2002-06-24 Monday 00:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.inlines.hh (1.20), GenSys.inlines.hh (1.22),
-	  LinExpression.inlines.hh (1.19), Row.inlines.hh (1.27),
-	  SatMatrix.inlines.hh (1.13), SatRow.inlines.hh (1.16): Relating
-	  std::swap functions to the corresponding classes.
-
-2002-06-23 Sunday 22:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.defs.hh (1.48): Surrounding the   #define
-	  EXTRA_NORMALIZATION 0 with   #ifndef EXTRA_NORMALIZATION.
-
-2002-06-23 Sunday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.55), ppl_prolog.icc
-	  (1.56), Ciao/ppl_ciao.cc (1.11), GNU/ppl_gprolog_sd.cc (1.6),
-	  SICStus/ppl_sicstus_sd.cc (1.19), SWI/Makefile.am (1.23),
-	  SWI/ppl_swiprolog.cc (1.43), SWI/ppl_swiprolog.pl (1.1),
-	  YAP/Makefile.am (1.13), YAP/ppl_yap.cc (1.35): Avoid unnecessary
-	  differences in the implementation of the various Prolog
-	  interfaces.  Hook ppl_Prolog_sysdep_deinit() added.
-
-2002-06-23 Sunday 22:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.35), ConSys.defs.hh (1.53), GenSys.cc (1.56),
-	  Matrix.cc (1.38), Matrix.defs.hh (1.28), Matrix.inlines.hh
-	  (1.24): Fixed doxygen comments in class Matrix.  Changed raw
-	  output methods get() and print() to also read/write information
-	  about topology. Changed the corresponding methods of ConSys and
-	  GenSys so that they no longer output this information.
-
-2002-06-23 Sunday 18:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.28), Generator.cc (1.34): Using flag
-	  EXTRA_NORMALIZATION instead of STRONG_NORMALIZATION.
-
-2002-06-23 Sunday 18:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Init.defs.hh (1.3): Added short doxygen comment to class
-	  Init.
-
-2002-06-23 Sunday 18:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.183), tests/timeelapse5.cc (1.2):
-	  Implementation of time_elapse corrected and cleaned.	The test
-	  timeelapse5 corrected according to the new specification.
-
-2002-06-23 Sunday 15:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.17): The Ciao-Prolog interface
-	  will not be included in PPL 0.4.
-
-2002-06-23 Sunday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/: Makefile.am (1.12), ppl_yap.cc (1.34),
-	  yap_clpq.pl (1.5), yap_clpq2.pl (1.1): The YAP interface is now
-	  complete and running.
-
-2002-06-22 Saturday 11:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Topology.hh (1.5): Nothing (apart comments) should follow
-	  #endif.
-
-2002-06-22 Saturday 08:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/globals.hh (1.18): Long comment for class Throwable improved.
-	  Function maybe_abandon() related to class Throwable.
-
-2002-06-22 Saturday 08:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Poly_Con_Relation.defs.hh (1.7), Poly_Gen_Relation.defs.hh
-	  (1.7): Comments of *_Relation classes adapted to new doxygen
-	  rules.
-
-2002-06-21 Friday 23:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.52), GenSys.defs.hh (1.67),
-	  Generator.defs.hh (1.62), Topology.hh (1.4): Adapted doxygen
-	  comments of classes ConSys and GenSys to the new style.  Added
-	  short description for the enumeration Topology (in the devref
-	  manual).
-
-2002-06-21 Friday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.35): No longer use __BEGIN_DECLS and
-	  __END_DECLS (so as not to provoke pollution).  Use a brief only
-	  description for the opaque pointers.	Undefine
-	  PPL_TYPE_DECLARATION as soon as we are done with it.
-	  Documentation for all the *_OK() functions improved: they do not
-	  always make noise (if the compilation was done with NDEBUG
-	  defined, they do not make any noise).
-
-2002-06-21 Friday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/C_Polyhedron.defs.hh (1.11): Alignment fixed in a comment.
-
-2002-06-21 Friday 19:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.27), Constraint.defs.hh (1.61),
-	  Constraint.inlines.hh (1.36), Generator.defs.hh (1.61),
-	  LinExpression.defs.hh (1.43): Documentation of classes
-	  LinExpression, Constraint and Generator adapted to the new
-	  doxygen rules.
-
-2002-06-21 Friday 19:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.10), NNC_Polyhedron.defs.hh (1.14):
-	  Avoiding repetitions due to REPEAT_BRIEF = YES.
-
-2002-06-21 Friday 19:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.18),
-	  devref-print.doxyconf-latex.in (1.18), devref.doxyconf-html.in
-	  (1.19), user-browse.doxyconf-latex.in (1.12),
-	  user-print.doxyconf-latex.in (1.12), user.doxyconf-html.in
-	  (1.14): Changed doxygen configuration files so that brief
-	  comments are always repeated at the beginning of long comments
-	  (REPEAT_BRIEF = YES).
-
-2002-06-21 Friday 15:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.9), NNC_Polyhedron.defs.hh (1.13):
-	  For classes C_Polyhedron and NNC_Polyhedron, adopting the new
-	  doxygen standards about brief/long comments.
-
-2002-06-21 Friday 15:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.27), Row.inlines.hh (1.26): Non-friend
-	  but related functions should have the \relates special doxygen
-	  command.
-
-2002-06-21 Friday 15:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/SatRow.cc (1.9): As things are now, doxygen comments to
-	  friend functions should not have the \relates special command.
-
-2002-06-21 Friday 09:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.47): Use C to test the presence and usability of
-	  <glpk.h>.  Use the new style AC_LANG(LANGUAGE) macro.
-
-2002-06-21 Friday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.20): Additions
-	  MOSTLYCLEANFILES.
-
-2002-06-20 Thursday 22:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.54),
-	  track_allocation.hh (1.6): Prolog allocation tracking properly
-	  reimplemented.
-
-2002-06-20 Thursday 22:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/clpq2.pl (1.17): Singleton variable renamed so
-	  as to disable the corresponding warning.
-
-2002-06-20 Thursday 22:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.cc (1.2): Do not redefine the default arguments.
-
-2002-06-20 Thursday 21:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.73): A few improvements in the first
-	  paragraph of the introduction.  Better explained what a preimage
-	  is and some chnages to the paragraph on the DD method.
-
-2002-06-20 Thursday 21:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Row.cc (1.38), Row.defs.hh (1.47), Row.inlines.hh (1.25),
-	  SatMatrix.cc (1.17), SatMatrix.defs.hh (1.19),
-	  SatMatrix.inlines.hh (1.12), SatRow.cc (1.8), SatRow.defs.hh
-	  (1.15), SatRow.inlines.hh (1.15), Status.defs.hh (1.17): Added
-	  \relates doxygen commands to match related function declarations
-	  and definitions.
-
-2002-06-20 Thursday 13:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.72): Reordered the bibliography to be
-	  alphabetical.  Changed the syntax in Bounded Polyhedra.  Moved
-	  Rational Polyhedra to end of section on representations (it needs
-	  the definition of constraint representation).  Comment in
-	  Generators Representation wrt this moved to the Rational one.
-	  Small change of wording to Points... paragraph.
-
-2002-06-20 Thursday 13:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.53): Corrected the
-	  grammar rules for Rational and made other changes related to
-	  this.
-
-2002-06-20 Thursday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.37): Functions dealing with closure
-	  points and strict inequalities were still commented out: fixed.
-
-2002-06-20 Thursday 12:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.52): Improvements to
-	  grammar rules.  List_of_Constraints and List_of_Generators now
-	  specified formally as Constraint_System and Generator_System.
-
-2002-06-20 Thursday 12:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.51): Improved
-	  description of "relation with" predicates.
-
-2002-06-20 Thursday 11:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.50): In the grammar
-	  rules Numerator and Denominator are non-terminals and should
-	  start with capitals.
-
-2002-06-20 Thursday 11:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.49): Many improvements,
-	  including: Where comments were repeated elswhere (ie
-	  compatibility rules) they have been removed.	Where possible,
-	  references to relevant sections in the introduction have been
-	  made.  Grammar rule for Relation added.
-
-2002-06-20 Thursday 11:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.71): Improved the paragraph on topological
-	  compatibility.
-
-2002-06-20 Thursday 09:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.16): Cleaned up previous changes.
-
-2002-06-20 Thursday 08:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.15): Revised the way unwanted
-	  polyhedron are removed.  It has not been checked yet for leaks.
-
-2002-06-20 Thursday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/clpq2.pl (1.14): PPL is the right acronym in
-	  normal text.
-
-2002-06-20 Thursday 08:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/expected2 (1.3): Corrected with the right
-	  results.
-
-2002-06-20 Thursday 07:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.13): Bug fixed and I hope the
-	  variable ordering is now stable so that the constraints are
-	  presented uniformly in all Prologs.
-
-2002-06-19 Wednesday 23:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.60), Generator.defs.hh (1.60),
-	  Generator.inlines.hh (1.31), Variable.defs.hh (1.19): Using the
-	  \relates doxygen special command to have non-member and
-	  non-friend functions listed in the related classes.
-
-2002-06-19 Wednesday 22:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.55), track_allocation.hh
-	  (1.5): Leave the responsibility of TRACK_ALLOCATION to
-	  track_allocation.hh.
-
-2002-06-19 Wednesday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/clpq2.pl (1.12): A couple of trivial formatting
-	  changes.
-
-2002-06-19 Wednesday 20:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.20), STANDARDS (1.1): The `STANDARDS' file will
-	  contain a description of our coding standards.
-
-2002-06-19 Wednesday 20:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: clpq.pl (1.12), clpq2.pl (1.11): Use a
-	  uniform coding style.
-
-2002-06-19 Wednesday 18:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.19): Use the 2nd CLP(Q)
-	  interpreter for regression testing.
-
-2002-06-19 Wednesday 18:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.22): Fixed the dependencies
-	  of the `check-local' target.
-
-2002-06-19 Wednesday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/clpq2.pl (1.10): Fixed calls meant to be to
-	  ppl_delete_Polyhedron/1.
-
-2002-06-19 Wednesday 18:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: expected2 (1.2), check_script2 (1.2):
-	  Trailing blank line removed.
-
-2002-06-19 Wednesday 17:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.48): Many ongoing
-	  changes.
-
-2002-06-19 Wednesday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.16): Distributes also
-	  check_script2 and expected2.
-
-2002-06-19 Wednesday 16:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.47): Corrected a typo
-	  in the first paragraph about the SICStus Prolog interface.
-
-2002-06-19 Wednesday 16:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.34): Corrected a typo in the
-	  documentation of PPL_CONSTRAINT_TYPE_GREATER_THAN.
-
-2002-06-19 Wednesday 16:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Variable.defs.hh (1.18): Adjusted comment about the
-	  constructor.
-
-2002-06-19 Wednesday 16:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.70): Improvements to the space dimension
-	  and the relation with paragraphs.
-
-2002-06-19 Wednesday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.121), globals.hh (1.17): Added a
-	  short description for class Throwable.  Corrected a typo in
-	  comment for remove_dimensions.
-
-2002-06-19 Wednesday 15:18  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.69): Bounding box paragraph improved a
-	  little.
-
-2002-06-19 Wednesday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.68): Corrected spurious uses of the macro
-	  \mathord.  Some improvements in the paragraph on bounding boxes:
-	  the standard notation for the i-th vector of the canonical base
-	  is \vect{e}_i.
-
-2002-06-19 Wednesday 14:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.67): Changes to relation-wirh and widening
-	  paragraphs.
-
-2002-06-19 Wednesday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/sp_clpq.pl (1.7): Import append/3 and
-	  member/2 from library(lists).
-
-2002-06-19 Wednesday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/clpq2.pl (1.9): Avoid defining append/3 and
-	  member/2, since they are defined as built-ins or provided as
-	  library predicates by any supported Prolog implementation
-	  (SWI-Prolog seems to be annoyed if a user program tries to
-	  redefine them).
-
-2002-06-19 Wednesday 14:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.4): Upgraded from the CVS version of libtool.
-
-2002-06-19 Wednesday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (1.27), sp_clpq.pl (1.6):
-	  Use the 2nd CLP(Q) interpreter for regression testing.
-
-2002-06-19 Wednesday 14:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Makefile.am (1.15): Distribute also the tests
-	  for strict inequalities.
-
-2002-06-19 Wednesday 14:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.66): Changes in the paragraph on the
-	  relation-with operators.
-
-2002-06-19 Wednesday 13:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/Makefile.am (1.18), SWI/Makefile.am
-	  (1.21): Use the configured version of libtool.
-
-2002-06-19 Wednesday 11:43  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.46): Changed the
-	  description for the assignment predicates.
-
-2002-06-19 Wednesday 11:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.65): A first draft for a paragraph on the
-	  relation-with operators.
-
-2002-06-19 Wednesday 10:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.64): Using the macro \nonnegRset in the
-	  paragraph defiing extreme rays.
-
-2002-06-19 Wednesday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: definitions.dox (1.63), ppl.sty (1.10): Some improvements
-	  in the introduction. Redefined the command \vec following
-	  llncs.cls.
-
-2002-06-19 Wednesday 08:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.45), pl_check.pl
-	  (1.15), ppl_prolog.icc (1.54), Ciao/ppl_ciao.pl (1.15),
-	  GNU/ppl_gprolog.pl (1.12), SICStus/ppl_sicstus_sd.cc (1.18),
-	  SWI/ppl_swiprolog.cc (1.42), YAP/ppl_yap.cc (1.33): Predicates
-	  ppl_Polyhedron_topological_closure_assign and
-	  ppl_Polyhedron_is_topologically_closed added.
-
-2002-06-19 Wednesday 08:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.36), interfaces/C/ppl_c.h (1.33),
-	  src/Polyhedron.defs.hh (1.120): Added topological closure test
-	  and assignment to the C interface.
-
-2002-06-19 Wednesday 07:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/schedule.clpq (1.3): Use a uniform syntax.
-
-2002-06-19 Wednesday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/Makefile.am (1.11): Checking mechanism
-	  fixed (but still commented out).
-
-2002-06-19 Wednesday 07:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: check_script2 (1.1), expected2 (1.1),
-	  SWI/Makefile.am (1.20): Test also with clpq2.pl.
-
-2002-06-19 Wednesday 07:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: clpq.pl (1.11), clpq2.pl (1.8): Improved the
-	  query for more solutions.
-
-2002-06-18 Tuesday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.14): Use
-	  use_foreign_library/1 instead of use_foreign_source/1.
-
-2002-06-18 Tuesday 17:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.53): Indentation fixed.
-
-2002-06-18 Tuesday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/ppl_ciao.pl (1.13): Declarations
-	  completed.
-
-2002-06-18 Tuesday 17:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.62): Corrected a typo in the definition of
-	  closed polyhedra.  Improved the paragraph on dimension
-	  compatibility to make it independent from th epolyhedra topology.
-
-2002-06-18 Tuesday 15:51  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.7): Just a little more robust in
-	  that it fails if there are variables in non-integer positions in
-	  a query rather than crashing.
-
-2002-06-18 Tuesday 15:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.14): Tidied the tests on
-	  bounding boxes.
-
-2002-06-18 Tuesday 14:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.44), pl_check.pl
-	  (1.13), ppl_prolog.icc (1.52), Ciao/ppl_ciao.pl (1.12),
-	  GNU/ppl_gprolog.pl (1.11), SICStus/ppl_sicstus_sd.cc (1.17),
-	  SWI/ppl_swiprolog.cc (1.41), YAP/ppl_yap.cc (1.32):
-	  ppl_new_Polyhedron_from_ConSys and ppl_new_Polyhedron_from_GenSys
-	  renamed ppl_new_Polyhedron_from_constraints and
-	  ppl_new_Polyhedron_from_generators, respectively.
-
-2002-06-18 Tuesday 12:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.61): Added a preamble based on the ppl
-	  home web page.
-
-2002-06-18 Tuesday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.60): Reorganised the introductory
-	  sections.
-
-2002-06-18 Tuesday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.inlines.hh (1.35): Corrected a trivial bug just
-	  introduced in   Constraint operator>(const LinExpression& e1,
-	  const LinExpression& e2).
-
-2002-06-18 Tuesday 10:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/schedule.clpq (1.2): Improved layout.
-
-2002-06-18 Tuesday 10:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: clpq2.pl (1.6), schedule.clpq (1.1): clpq2.pl
-	  now allows Herbrand terms as arguments including lists.
-	  schedule.clpq tests the strict inequalities in clpq2.pl
-
-2002-06-18 Tuesday 10:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.inlines.hh (1.34): Avoiding the creation of
-	  temporaries in   Constraint operator>(const LinExpression& e1,
-	  const LinExpression& e2)   Constraint operator>(const Integer& n,
-	  const LinExpression& e)   Constraint operator>(const
-	  LinExpression& e, const Integer& n).
-
-2002-06-18 Tuesday 08:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.59): Paragraph for widening improved.
-	  Paragraph for time-elapse added (just a reference to the 1997
-	  Halbwachs paper).
-
-2002-06-18 Tuesday 07:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.31): Code for testing YAP
-	  exceptions temporarily included.
-
-2002-06-18 Tuesday 00:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.182), Polyhedron.defs.hh (1.119): Private
-	  methods strongly_minimize* now return a boolean which is false if
-	  the result is an empty polyhedron (this is consistent with the
-	  behavior of private method minimize()).  Patched method
-	  widening_CC92_assign() to also work for NNC polyhedra.
-
-2002-06-17 Monday 23:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/: Makefile.am (1.10), ppl_yap.pl (1.5),
-	  yap_clpq.pl (1.4): Some progress in the support for YAP.
-
-2002-06-17 Monday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.37), Row.defs.hh (1.46), Row.inlines.hh (1.24):
-	  The NDEBUG symbol no longer changes data layout.  Now, to obtain
-	  a version of Row where each object remembers its own capacity,
-	  the macro EXTRA_ROW_DEBUG must evaluate to true (whether this
-	  capacity is tested in run-time assertions or not depends, as
-	  usual, on the NDEBUG macro not being or being defined).
-
-2002-06-17 Monday 18:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.78), wideningcc921.cc (1.2),
-	  wideningcc922.cc (1.2), wideningcc923.cc (1.1): Added a new tests
-	  showing a bug in the current implementation of
-	  widening_CC92_assign, when the arguments are NNC polyhedra.
-	  Corrected the output of the other widening tests.
-
-2002-06-17 Monday 18:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.inlines.hh (1.33), LinExpression.cc (1.12),
-	  LinExpression.defs.hh (1.42), LinExpression.inlines.hh (1.18):
-	  Added LinExpression& operator-=(LinExpression& e1, const
-	  LinExpression& e2), LinExpression& operator-=(LinExpression& e,
-	  const Variable& v), and LinExpression& operator-=(LinExpression&
-	  e, const Integer& n).  Useless creation of a temporary avoided
-	  thanks to the second of those.
-
-2002-06-17 Monday 17:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.58),
-	  interfaces/Prolog/Prolog_interface.dox (1.43): Added the
-	  condition that the CC92-widening requires the polyhedra to have
-	  the same topology.
-
-2002-06-17 Monday 17:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.23): We now have complete support for bounding boxes.
-	  List a couple of pending efficiency issues.
-
-2002-06-17 Monday 17:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.57), interfaces/C/ppl_c.h (1.32),
-	  interfaces/Prolog/Prolog_interface.dox (1.42), src/Polyhedron.cc
-	  (1.181), src/Polyhedron.defs.hh (1.118): Added a draft paragraph
-	  about widening (and CC92-widening) to definitions.dox.  Replaced
-	  "widening" by CC92-widening" in the comments about the widening
-	  operators.
-
-2002-06-17 Monday 16:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.55), Polyhedron.cc (1.180): All the FIXME's in
-	  Polyhedron.cc and GenSys.cc transformed into TODO's, since they
-	  were just place-holders for possible performance improvements.
-
-2002-06-17 Monday 16:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.35), ppl_c.h (1.31): Added interfaces
-	  function for the copy constructors of classes Constraint and
-	  Generators and for the constructors of a LinExpression from a
-	  Constraint/Generator.
-
-2002-06-17 Monday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_gprolog.pl (1.10): The two widening
-	  predicates have been renamed.
-
-2002-06-17 Monday 15:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.24), interfaces/C/ppl_c.cc (1.34), interfaces/C/ppl_c.h
-	  (1.30), interfaces/Prolog/Prolog_interface.dox (1.41),
-	  interfaces/Prolog/pl_check.pl (1.12),
-	  interfaces/Prolog/ppl_prolog.icc (1.51),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.11),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.16),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.40),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.30), src/Polyhedron.cc
-	  (1.179), src/Polyhedron.defs.hh (1.117), tests/.cvsignore (1.3),
-	  tests/Makefile.am (1.77), tests/exceptions1.cc (1.9),
-	  tests/limitedwidening1.cc (1.8), tests/limitedwidening2.cc (1.5),
-	  tests/limitedwideningcc921.cc (1.1),
-	  tests/limitedwideningcc922.cc (1.1), tests/permute.cc (1.17),
-	  tests/widening1.cc (1.5), tests/widening2.cc (1.3),
-	  tests/wideningcc921.cc (1.1), tests/wideningcc922.cc (1.1):
-	  Widening methods, functions and test programs renamed so as to
-	  make clear that (currently) our widenings are extensions of the
-	  one proposed in the PLILP'92 paper by Cousot & Cousot.
-
-2002-06-17 Monday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.29): Added comment to functions building
-	  polyhedra from bounding boxes.
-
-2002-06-17 Monday 12:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq.pl (1.10): clpq.pl only uses C polyhedron
-	  again.
-
-2002-06-17 Monday 12:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.8), NNC_Polyhedron.defs.hh (1.12),
-	  Polyhedron.defs.hh (1.116), globals.hh (1.16): Added
-	  documentation for constructor of C_ and NNC_ polyhedra out of a
-	  bounding box.  The comment on the C_Polyhedron destructor is now
-	  a proper doxygen comment.  Added a short description doc for
-	  struct FromBoundingBox to avoid cluttering the ``PPL Compound
-	  List'' page.
-
-2002-06-17 Monday 11:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LinExpression.defs.hh (1.41): Corrected typo in documentation
-	  of   explicit LinExpression(const Generator& g);
-
-2002-06-17 Monday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.115): Improved documentation of
-	  poly_difference_assign* methods, stating that topological closure
-	  is enforced when *this is a C_Polyhedron.
-
-2002-06-17 Monday 10:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LinExpression.defs.hh (1.40): Constructors of a LinExpression
-	  out of a Constraint/Generator made public.  Added a more detailed
-	  comment about the unicity of the built expression.
-
-2002-06-17 Monday 10:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.inlines.hh (1.32): Removed FIXME's about the
-	  efficiency of row-type setting methods.
-
-2002-06-17 Monday 08:59  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.40), clpq.pl (1.9):
-	  clpq.pl is updated to allow for strict constraints.  Improved
-	  comments for new polyhedron predicates from consys, gensys and
-	  boxes.
-
-2002-06-17 Monday 08:47  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.56): Paragraphs on intervals and bounding
-	  boxes improved.
-
-2002-06-17 Monday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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-17 Monday 08:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.37): It is non-standard to omit the second
-	  argument of std::vector::iterator std::vector::insert(iterator
-	  position, const T& x).
-
-2002-06-17 Monday 07:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.inlines.hh (1.19), Constraint.cc (1.26),
-	  Constraint.inlines.hh (1.31), GenSys.inlines.hh (1.21),
-	  Generator.inlines.hh (1.30), LinExpression.inlines.hh (1.17),
-	  Row.defs.hh (1.45): Reduce our dependence on the PPL_HIDDEN
-	  trick.
-
-2002-06-16 Sunday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.h (1.28): Remove non-standard trailing comma.
-
-2002-06-16 Sunday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.inlines.hh (1.30), Generator.inlines.hh (1.29),
-	  Matrix.inlines.hh (1.23), Polyhedron.inlines.hh (1.36),
-	  Row.inlines.hh (1.23): Make sure the first use of each inline
-	  function follows its definition.
-
-2002-06-16 Sunday 20:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.26): Modified SICStus
-	  interface makefile to find the ppl library even when this has not
-	  been installed yet.
-
-2002-06-16 Sunday 19:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.51), GenSys.defs.hh (1.66),
-	  LinExpression.defs.hh (1.39): Reposition friend declarations.
-	  Always put the public section before the protected one before the
-	  private one.
-
-2002-06-16 Sunday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LinExpression.defs.hh (1.38): LinExpression(const
-	  Constraint&) and LinExpression(const Generator&) made private
-	  again, since they expose the library's internals.
-
-2002-06-16 Sunday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.54), Polyhedron.cc (1.178), minimize.cc
-	  (1.21), simplify.cc (1.16): No space before question mark in
-	  comments.
-
-2002-06-16 Sunday 18:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: generators1.cc (1.6), generators2.cc (1.3): Include
-	  <stdexcept>.
-
-2002-06-16 Sunday 17:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.25), Constraint.inlines.hh (1.29),
-	  Polyhedron.cc (1.177): Removed CHECKME comments from a few
-	  methods of classes Constraint and Polyhedron. A few FIXME changed
-	  to CHECKME.
-
-2002-06-16 Sunday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.cc (1.2): Replace `and' by `&&'.
-
-2002-06-16 Sunday 17:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BoundingBox.defs.hh (1.2), BoundingBox.inlines.hh (1.3),
-	  C_Polyhedron.defs.hh (1.7), ConSys.defs.hh (1.50),
-	  Constraint.defs.hh (1.59), GenSys.defs.hh (1.65),
-	  Generator.defs.hh (1.59), Init.defs.hh (1.2), Integer.defs.hh
-	  (1.4), Interval.defs.hh (1.4), LinExpression.defs.hh (1.37),
-	  Matrix.defs.hh (1.26), NNC_Polyhedron.defs.hh (1.11),
-	  Poly_Con_Relation.defs.hh (1.6), Poly_Gen_Relation.defs.hh (1.6),
-	  Polyhedron.defs.hh (1.114), Row.defs.hh (1.44), SatMatrix.defs.hh
-	  (1.18), SatRow.defs.hh (1.14), Status.defs.hh (1.16),
-	  Variable.defs.hh (1.17): Use uniform guards against multiple
-	  inclusion.  Include Interval.defs.hh in BoundingBox.defs.hh.
-
-2002-06-16 Sunday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.inlines.hh (1.22), SatRow.inlines.hh (1.14): Fully
-	  qualify `vector' as `std::vector'.
-
-2002-06-16 Sunday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/C_Polyhedron.cc (1.3), interfaces/C/ppl_c.cc (1.33): Include
-	  <stdexcept>.
-
-2002-06-16 Sunday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.inlines.hh (1.28), Integer.inlines.hh (1.4),
-	  LinExpression.defs.hh (1.36), LinExpression.inlines.hh (1.16):
-	  Remove unnecessary include files and add some necessary one.
-
-2002-06-16 Sunday 16:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BoundingBox.inlines.hh (1.2), C_Polyhedron.inlines.hh
-	  (1.6), ConSys.inlines.hh (1.18), Constraint.inlines.hh (1.28),
-	  GenSys.inlines.hh (1.20), Generator.inlines.hh (1.27),
-	  Init.inlines.hh (1.2), Integer.inlines.hh (1.3),
-	  LinExpression.inlines.hh (1.15), Matrix.inlines.hh (1.22),
-	  NNC_Polyhedron.inlines.hh (1.8), Poly_Con_Relation.inlines.hh
-	  (1.6), Poly_Gen_Relation.inlines.hh (1.6), Polyhedron.inlines.hh
-	  (1.35), Row.inlines.hh (1.21), SatMatrix.inlines.hh (1.11),
-	  SatRow.inlines.hh (1.13), Status.inlines.hh (1.8),
-	  Variable.inlines.hh (1.9): Guard against multiple inclusion.
-
-2002-06-16 Sunday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.49), GenSys.defs.hh (1.64),
-	  LinExpression.defs.hh (1.35), Matrix.defs.hh (1.25),
-	  Variable.defs.hh (1.16): Avoid being pedantic when commenting
-	  constructors.
-
-2002-06-16 Sunday 15:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.48), GenSys.defs.hh (1.63): All the OK()
-	  methods must be public.
-
-2002-06-16 Sunday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-browse.doxyconf-latex.in (1.17),
-	  doc/devref-print.doxyconf-latex.in (1.17),
-	  doc/devref.doxyconf-html.in (1.18), interfaces/C/Makefile.am
-	  (1.9), interfaces/Prolog/Ciao/Makefile.am (1.6),
-	  interfaces/Prolog/GNU/Makefile.am (1.17),
-	  interfaces/Prolog/SICStus/Makefile.am (1.25),
-	  interfaces/Prolog/SWI/Makefile.am (1.19),
-	  interfaces/Prolog/YAP/Makefile.am (1.9), src/ConSys.defs.hh
-	  (1.47), src/Constraint.defs.hh (1.58), src/GenSys.defs.hh (1.62),
-	  src/Generator.defs.hh (1.58), src/LinExpression.defs.hh (1.34),
-	  src/Makefile.am (1.41), src/Polyhedron.defs.hh (1.113),
-	  src/Row.defs.hh (1.43), src/ppl_filter_doxygen.sed (1.2),
-	  src/ppl_filter_install.sed (1.2): PPL_INTERNAL has gone: replaced
-	  with `private' everywhere.
-
-2002-06-16 Sunday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (1.24), sp_clpq.pl (1.5):
-	  Simplify `make check' in the SICStus directory and solve a `make
-	  distcheck' problem.
-
-2002-06-16 Sunday 08:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.16): Generation of gp_clpq
-	  fixed.
-
-2002-06-16 Sunday 00:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.50), src/ConSys.cc (1.34),
-	  src/ConSys.defs.hh (1.46), src/ConSys.inlines.hh (1.17),
-	  src/Constraint.defs.hh (1.57), src/GenSys.cc (1.53),
-	  src/GenSys.defs.hh (1.61), src/GenSys.inlines.hh (1.19),
-	  src/Generator.defs.hh (1.57), src/LinExpression.defs.hh (1.33),
-	  src/Makefile.am (1.40), src/Polyhedron.defs.hh (1.112),
-	  src/Polyhedron.inlines.hh (1.34): Phasing out PPL_INTERNAL.
-
-2002-06-15 Saturday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: memory1.cc (1.3), watchdog1.cc (1.8): Be quiet.
-
-2002-06-15 Saturday 18:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.32), interfaces/Prolog/ppl_prolog.icc
-	  (1.49), src/C_Polyhedron.defs.hh (1.6),
-	  src/C_Polyhedron.inlines.hh (1.5), src/ConSys.defs.hh (1.45),
-	  src/Constraint.defs.hh (1.56), src/GenSys.defs.hh (1.60),
-	  src/NNC_Polyhedron.defs.hh (1.10), src/NNC_Polyhedron.inlines.hh
-	  (1.7), tests/boundingbox2.cc (1.7): Start replacing our ad hoc
-	  protection mechanisms with friendship.  Got around the GCC bug
-	  described in http://gcc.gnu.org/bugs.html#known by exchanging the
-	  order of arguments in the constructors from bounding boxes of
-	  C_Polyhedron and NNC_Polyhedron.  The test program
-	  boundingbox2.cc has been cleaned up consequently.
-
-2002-06-15 Saturday 17:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.3): Revert previous change: the CVS version of
-	  libtool causes more problems than it solves.
-
-2002-06-15 Saturday 17:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.76): Always distribute the sources for
-	  watchdog1.
-
-2002-06-15 Saturday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ltmain.sh (1.2), missing (1.4): Updated to the CVS version of
-	  libtool.
-
-2002-06-15 Saturday 14:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.6): For those building in the sources' directory.
-
-2002-06-15 Saturday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/Makefile.am (1.5): dist-hook goes into the unconditional
-	  section.
-
-2002-06-15 Saturday 14:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.75): Always distribute $(watchdog1_SOURCES).
-
-2002-06-15 Saturday 14:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/.cvsignore (1.3), tests/.cvsignore (1.2):
-	  For those building in the sources' directory.
-
-2002-06-15 Saturday 13:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: NNC_Polyhedron.cc (1.9), NNC_Polyhedron.defs.hh (1.9),
-	  Polyhedron.cc (1.176): Corrected method
-	  Polyhedron::limited_widening_assign to work with NNC polyehdra.
-	  Removed the overriding method from NNC_Polyhedron.
-
-2002-06-15 Saturday 13:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.55): Added comment for
-	  construct_eps_geq_zero().
-
-2002-06-15 Saturday 12:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/.cvsignore (1.2), GNU/.cvsignore (1.2),
-	  SWI/.cvsignore (1.2), YAP/.cvsignore (1.2), YAP/ppl_yap.cc
-	  (1.29), YAP/yap_clpq.pl (1.3): Minor changes to YAP support.
-	  Changes for those building in the sources' directory.
-
-2002-06-15 Saturday 12:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.23): Removed
-	  ppl_sicstus.pl and sp_clpq.pl from MOSTLYCLEANFILES.
-
-2002-06-14 Friday 23:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.28): Support for YAP almost
-	  completed.
-
-2002-06-14 Friday 23:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.48): Include initializer.hh.
-
-2002-06-14 Friday 23:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/initializer.hh (1.2): Added the guard against multiple
-	  inclusion.  Include Init.defs.hh.
-
-2002-06-14 Friday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.44), Constraint.defs.hh (1.54),
-	  GenSys.defs.hh (1.59): Temporary kludges removed.
-
-2002-06-14 Friday 19:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.47), Ciao/Makefile.am
-	  (1.5), Ciao/ppl_ciao.cc (1.10), GNU/Makefile.am (1.15),
-	  GNU/ppl_gprolog_sd.cc (1.5), SICStus/Makefile.am (1.22),
-	  SICStus/ppl_sicstus_sd.cc (1.15), SWI/Makefile.am (1.18),
-	  SWI/ppl_swiprolog.cc (1.39), YAP/Makefile.am (1.8),
-	  YAP/ppl_yap.cc (1.27): Include the true sources.
-
-2002-06-14 Friday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.26): Prolog_raise_exception()
-	  written.
-
-2002-06-14 Friday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Interval.defs.hh (1.3), Interval.inlines.hh (1.4): Provide
-	  a copy constructor and assignment operator for ExtendedRational.
-
-2002-06-14 Friday 18:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/boundingbox1.cc (1.16): Made it quiet and corrected a
-	  comment.
-
-2002-06-14 Friday 18:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: boundingbox1.cc (1.15), boundingbox2.cc (1.6): Test file
-	  boundingbox1.cc tidied.  Small changes to comments in
-	  boundingbox2.cc.
-
-2002-06-14 Friday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BoundingBox.cc (1.2), BoundingBox.defs.hh (1.1),
-	  BoundingBox.hh (1.7), BoundingBox.inlines.hh (1.1),
-	  BoundingBox.types.hh (1.1), Interval.defs.hh (1.2),
-	  Interval.inlines.hh (1.3), Makefile.am (1.39),
-	  Polyhedron.inlines.hh (1.33): template <class Box> void
-	  Polyhedron::shrink_bounding_box(Box&) redesigned and simplified.
-	  Many other improvements in the code for dealing with bounding
-	  boxes.
-
-2002-06-14 Friday 17:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/boundingbox2.cc (1.5): Made boundingbox2.cc quiet.
-
-2002-06-14 Friday 16:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/boundingbox2.cc (1.4): Some tidying of the tests.
-
-2002-06-14 Friday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.55), src/Polyhedron.cc (1.175),
-	  src/Polyhedron.defs.hh (1.111): Removed strange mixing of short
-	  and detailed style doxygen comments, that was causing a warning
-	  when building the documentation.  Improved the user introduction,
-	  adding definition of poly-differences.
-
-2002-06-14 Friday 12:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.46): Added to
-	  term_to_boundary checks that the input numerator and denominator
-	  are integers and that the denominator is positive.
-
-2002-06-14 Friday 10:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.45):
-	  ppl_new_Polyhedron_from_bounding_box() fixed and simplified.
-
-2002-06-14 Friday 10:15  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.39): Added a short
-	  description for new_Polyhedron_from_bounding_box.
-
-2002-06-14 Friday 09:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.11), ppl_prolog.icc (1.44):
-	  Some tidying of the code for
-	  ppl_new_Polyhedron_from_bounding_box.
-
-2002-06-14 Friday 08:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/boundingbox2.cc (1.3): Some bugs fixed.
-
-2002-06-13 Thursday 22:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.43): Fixed two occurrences of
-	  assignment where a test for equality was intended.
-
-2002-06-13 Thursday 16:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.42): In
-	  ppl_new_Polyhedron_from_bounding_box it now fails (ie
-	  PROLOG_FAILURE is returned) if the list is not properly
-	  terminated or it is not a list.  A few comments added to the
-	  code.
-
-2002-06-13 Thursday 16:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.10), ppl_prolog.icc (1.41),
-	  Ciao/ppl_ciao.pl (1.10), GNU/ppl_gprolog.pl (1.9),
-	  SICStus/ppl_sicstus_sd.cc (1.14), YAP/ppl_yap.cc (1.25):
-	  Completed the code for ppl_new_Polyhedron_from_bounding_box/3.
-
-2002-06-13 Thursday 14:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.38): Prepare to explain
-	  the not-so-easy situation with GNU Prolog.
-
-2002-06-13 Thursday 13:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BoundingBox.cc (1.1), BoundingBox.hh (1.6): Start
-	  completing the BoundingBox class.
-
-2002-06-13 Thursday 12:42  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: boundingbox1.cc (1.14), boundingbox2.cc (1.2): More tests
-	  added.
-
-2002-06-13 Thursday 11:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.32), tests/Makefile.am (1.74),
-	  tests/boundingbox2.cc (1.1): A bug corrected in the constructor
-	  of a Polyhedron from a Box.  Added a new test boundingbox2.
-
-2002-06-13 Thursday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BoundingBox.hh (1.5): Fixed two bugs whereby call-by-value
-	  was used instead of call-by-reference.
-
-2002-06-12 Wednesday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.38):
-	  ppl_new_Polyhedron_from_bounding_box/3 added.
-
-2002-06-12 Wednesday 17:29  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.40): A start in completing
-	  ppl_new_Polyhedron_from_bounding_box.
-
-2002-06-12 Wednesday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: pl_clpq.cc (1.5), ppl_pl.cc (1.5),
-	  ppl_swiprolog.cc (1.37): Also uninstall() "returns" install_t.
-
-2002-06-12 Wednesday 14:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: pl_clpq.cc (1.4), ppl_pl.cc (1.4),
-	  ppl_swiprolog.cc (1.36): Make sure the library is always
-	  uninstalled.
-
-2002-06-12 Wednesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.11): Added file list for package gprolog.  Updated
-	  file list for package swi.
-
-2002-06-12 Wednesday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.17): Create dynamic
-	  libraries but link statically until we understand whether and if
-	  libtool can be made to interoperate with plld.
-
-2002-06-12 Wednesday 10:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.14): Create dynamic
-	  libraries but link statically until we understand whether and if
-	  libtool can be made to interoperate with gplc.
-
-2002-06-12 Wednesday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.37): Started writing
-	  the documentation for the GNU Prolog interface.
-
-2002-06-12 Wednesday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.hh (1.15): Document struct From_Bounding_Box.
-
-2002-06-11 Tuesday 17:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.54): Added a few words on the double
-	  description method.  Adjusted capitalizations.
-
-2002-06-11 Tuesday 15:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.52), Polyhedron.cc (1.174): Enforcing
-	  normalization of constraints and generators in Polyhedron methods
-	  strongly_minimize_generators(), add_generator(),
-	  time_elapse_assign()	 and topological_closure_assign(); the same
-	  for method GenSys::add_corresponding_closure_points().
-
-2002-06-11 Tuesday 12:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.24), Constraint.defs.hh (1.53),
-	  Generator.cc (1.33): Added method Constraint::OK() to check for
-	  normalization of constraints.  Added the same check to method
-	  Generator::OK().
-
-2002-06-11 Tuesday 11:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.51), GenSys.defs.hh (1.58), GenSys.inlines.hh
-	  (1.18), Polyhedron.cc (1.173): Added method
-	  GenSys::const_iterator::skip_forward(): if the generator
-	  currently pointed is a closure point and the next generator is
-	  the point matching this closure point, then it skips to the next
-	  generator. This method is used to skip redundant closure points
-	  when iterating through strongly-minimized generator systems.
-	  Added note to Polyhedron::strongly_minimize_generators() stating
-	  that the approach is correct if the generator system is sorted.
-
-2002-06-11 Tuesday 11:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.defs.hh (1.43): Corrected comment to the method
-	  skip_forward().
-
-2002-06-11 Tuesday 11:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.inlines.hh (1.27), Generator.cc (1.32):
-	  Enforcing the normalization of constraints and generators.
-
-2002-06-11 Tuesday 09:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: definitions.dox (1.53), ppl.sty (1.9): Better explaning
-	  affine transformations.
-
-2002-06-11 Tuesday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.36), pl_check.pl
-	  (1.9): Grammar for boxes and description of
-	  ppl_Polyhedron_get_bounding_box improved.
-
-2002-06-11 Tuesday 08:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.52): Added a paragraph on topologies and
-	  topological compatibility.
-
-2002-06-10 Monday 19:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.21): Fix packaging
-	  problem.
-
-2002-06-10 Monday 19:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/boundingbox1.cc (1.13): Updated so as to abide by the new
-	  interfaces.
-
-2002-06-10 Monday 18:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.31), interfaces/C/ppl_c.h (1.27),
-	  src/BoundingBox.hh (1.4), src/ConSys.defs.hh (1.42),
-	  src/Polyhedron.defs.hh (1.110), src/Polyhedron.inlines.hh (1.31):
-	  This should be the final version of the interfaces for dealing
-	  with bounding boxes.
-
-2002-06-10 Monday 18:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.51): Several improvements and a few
-	  corrections.
-
-2002-06-10 Monday 17:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.109), Polyhedron.inlines.hh (1.30):
-	  Improvements to the documentation of template <class Box>
-	  Polyhedron::Polyhedron(Topology topol, const Box& box).
-
-2002-06-10 Monday 17:09  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.50): A first attempt to define intervals,
-	  boxes and bounding boxes.
-
-2002-06-10 Monday 16:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.108), Polyhedron.inlines.hh (1.29):
-	  Finished the implementation of constructor   template <class Box>
-	  Polyhedron(Topology topol, const Box& box); Changed comments to
-	  require that class Box provides a method   bool is_empty();
-
-2002-06-10 Monday 15:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.49): Minor improvements and bug fixed in
-	  paragraph on the generators representation.
-
-2002-06-10 Monday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.28): Avoid a couple of compiler's
-	  warnings.
-
-2002-06-10 Monday 13:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.35): Added grammar for
-	  intervals and description for ppl_Polyhedron_get_bounding_box/2
-
-2002-06-10 Monday 11:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/boundingbox1.cc (1.12): Now it exits with return value 1 if
-	  the boxes are not as expected.
-
-2002-06-10 Monday 11:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.39), src/BoundingBox.hh
-	  (1.3), src/ConSys.defs.hh (1.41), src/Constraint.defs.hh (1.52),
-	  src/GenSys.defs.hh (1.57): ppl_new_Polyhedron_from_bounding_box/3
-	  sketched.  Class Parma_Polyhedra_Library::BoundingBox fixed.
-	  Inserted several temporary kludges related to the interaction of
-	  templates, access control, and the way we produce ppl_install.hh.
-
-2002-06-10 Monday 10:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.5): clpq2.pl now can handle strict
-	  constraints.
-
-2002-06-10 Monday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/BoundingBox.hh (1.2): Complete this implementation of
-	  bounding boxes.
-
-2002-06-10 Monday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.107): Fix the comment fix.
-
-2002-06-10 Monday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.106): Comment fixed.
-
-2002-06-10 Monday 09:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/boundingbox1.cc (1.11): Added operator==() and operator!=()
-	  for BInterval and BBox.
-
-2002-06-10 Monday 09:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.38): Formatting changes.
-
-2002-06-10 Monday 09:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/boundingbox1.cc (1.10): Further small improvements to test
-	  file boundingbox1.cc
-
-2002-06-10 Monday 08:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/clpq2.pl (1.4), tests/boundingbox1.cc (1.9):
-	  boundingbox1.cc is improved but needs further testing.  clpq2.pl
-	  now works with changed interface predicates.
-
-2002-06-10 Monday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.9): Only declarations here.
-
-2002-06-09 Sunday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.105): Useless `explicit' qualification
-	  removed.
-
-2002-06-09 Sunday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Makefile.am (1.14), ppl_prolog.pl (1.4),
-	  GNU/Makefile.am (1.13), GNU/ppl_gprolog.pl (1.8),
-	  GNU/ppl_gprolog_sd.pl (1.11), SICStus/Makefile.am (1.20),
-	  SICStus/ppl_sicstus.pl (1.21), SICStus/ppl_sicstus_sd.pl (1.3):
-	  Reorganization due to the fact that ppl_prolog.pl was obsolete.
-
-2002-06-09 Sunday 19:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/ppl_c.cc (1.30): Use the new bounding box
-	  constructors.
-
-2002-06-09 Sunday 19:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.5), C_Polyhedron.inlines.hh (1.4),
-	  NNC_Polyhedron.defs.hh (1.8), NNC_Polyhedron.inlines.hh (1.6),
-	  globals.hh (1.14): Differentiate the bounding box constructors
-	  for C_Polyhedron and NNC_Polyhedron from all the other
-	  constructors.
-
-2002-06-09 Sunday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.34), exceptions.hh
-	  (1.6), pl_check.pl (1.8), track_allocation.hh (1.4),
-	  Ciao/ppl_ciao.pl (1.9), GNU/gp_clpq.pl (1.5),
-	  GNU/ppl_gprolog_sd.pl (1.10), SICStus/ppl_sicstus_sd.pl (1.2),
-	  SICStus/sp_clpq.pl (1.4), SWI/pl_clpq.cc (1.3), SWI/pl_clpq.pl
-	  (1.3), SWI/ppl_pl.cc (1.3), YAP/ppl_yap.pl (1.4), YAP/yap_clpq.pl
-	  (1.2): Copyright and "no warranty" notices added.
-
-2002-06-09 Sunday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.lsm.in (1.3): Updated.
-
-2002-06-09 Sunday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: Makefile.am (1.4), configure.ac (1.6): Consistent
-	  spelling for Autoconf and Automake.
-
-2002-06-09 Sunday 16:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.46): Set CFLAGS properly.  Quote systematically.
-
-2002-06-09 Sunday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/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.45), Watchdog/configure.ac (1.4): Be more
-	  friendly to compilers different from GCC.
-
-2002-06-09 Sunday 14:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.29), ppl_c.h (1.26): Added
-	  ppl_new_C_Polyhedron_from_bounding_box() and
-	  ppl_new_NNC_Polyhedron_from_bounding_box().
-
-2002-06-09 Sunday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.4), C_Polyhedron.inlines.hh (1.3),
-	  NNC_Polyhedron.defs.hh (1.7), NNC_Polyhedron.inlines.hh (1.5),
-	  Polyhedron.defs.hh (1.104), Polyhedron.inlines.hh (1.27): Added
-	  template <class Box> C_Polyhedron::C_Polyhedron(const Box& box)
-	  and template <class Box> NNC_Polyhedron::NNC_Polyhedron(const
-	  Box& box).  Added the declaration and documentation and sketched
-	  the implementation of template <class Box>
-	  Polyhedron::Polyhedron(Topology topol, const Box& box): these
-	  constructor allow to builds a polyhedron out of a generic,
-	  interval-based bounding box.
-
-	  Documentation of Polyhedron::shrink_bounding_box(Box& box)
-	  revised: we now promise to communicate rational numbers using
-	  fractions in canonical form.	The fraction n/d is in canonical
-	  form if and only if n and d have no common factors and d is
-	  positive, 0/1 being the unique representation for zero.
-
-2002-06-09 Sunday 12:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.48): Added definitions of "minimized"
-	  constraints and generators.
-
-2002-06-09 Sunday 11:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.47): Further updating of the user manual
-	  to allow for NNC polyhedra.  Minkowski's and Weil's theorems and
-	  some definitions moved to the developers part.
-
-2002-06-09 Sunday 08:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Interval.inlines.hh (1.2): Removed redundant and erroneous
-	  default argument specification.
-
-2002-06-08 Saturday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Interval.hh (1.3), Makefile.am (1.13),
-	  ppl_prolog.icc (1.37): Use the new implementation of bounding
-	  boxes.
-
-2002-06-08 Saturday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/addconstraints2.cc (1.12): Shut up if not noisy.
-
-2002-06-08 Saturday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: BoundingBox.hh (1.1), Interval.cc (1.1), Interval.defs.hh
-	  (1.1), Interval.inlines.hh (1.1), Interval.types.hh (1.1),
-	  Makefile.am (1.38): New implementation of bounding boxes.
-
-2002-06-08 Saturday 17:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.73), addconstraints2.cc (1.11),
-	  boundingbox1.cc (1.8), ehandlers.cc (1.1), ehandlers.hh (1.4),
-	  memory1.cc (1.2), print.cc (1.1), print.hh (1.8), smm1.cc (1.5),
-	  watchdog1.cc (1.7): Better implementation for auxiliary
-	  functions.  Some more cleaning.
-
-2002-06-08 Saturday 12:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Interval.hh (1.2), ppl_prolog.icc (1.36),
-	  Ciao/ppl_ciao.cc (1.9), Ciao/ppl_ciao.pl (1.8), GNU/gp_clpq.pl
-	  (1.4), GNU/ppl_gprolog_sd.pl (1.9), SICStus/ppl_sicstus_sd.cc
-	  (1.13), SWI/ppl_swiprolog.cc (1.35), YAP/ppl_yap.cc (1.24):
-	  Initial implementation for ppl_Polyhedron_get_bounding_box/2.
-	  ppl_init/0 removed (was an inferior duplicate of
-	  ppl_initialize/0).
-
-2002-06-07 Friday 17:31  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.46): On-going reorganisation of
-	  introduction based on some of the items suggested by Enea.
-
-2002-06-07 Friday 16:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh (1.5), ppl_prolog.icc (1.35):
-	  The function term_to_polyhedron_handle() replaces
-	  get_ph_pointer().  The new function either return a plausible
-	  polyhedron handle or throws the `not_a_polyhedron_handle'
-	  exception.  All sites that used to call get_ph_pointer() have
-	  been consequently simplified.
-
-2002-06-07 Friday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.12): Stub
-	  declarations fixed.
-
-2002-06-07 Friday 14:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.172): Corrected a bug in
-	  strongly_minimize_constraints() whereby sat_c was declared
-	  up-to-date even if it was not the case.
-
-2002-06-07 Friday 13:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: definitions.dox (1.45), ppl.sty (1.8): Some further step
-	  toward the reorganization of user-manual intro.
-
-2002-06-07 Friday 13:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.33): Documentation for
-	  the Prolog interface updated to allow for the change to more
-	  generic predicates.
-
-2002-06-07 Friday 13:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/exceptions2.cc (1.6): Typos fixed.
-
-2002-06-07 Friday 12:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: clpq.pl (1.8), pl_check.pl (1.7),
-	  ppl_prolog.icc (1.34), Ciao/ppl_ciao.pl (1.7),
-	  GNU/ppl_gprolog_sd.pl (1.8), SICStus/ppl_sicstus_sd.cc (1.11),
-	  SWI/ppl_swiprolog.cc (1.34), YAP/ppl_yap.cc (1.23): All
-	  predicates specific to C or NNC now removed and replaced by
-	  generic predicates. Documentation needs to be updated.
-
-2002-06-07 Friday 11:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.6), ppl_prolog.icc (1.33),
-	  SWI/ppl_swiprolog.cc (1.33): Predicates
-	  ppl_new_Polyhedron_from_Polyhedron/4,
-	  ppl_new_Polyhedron_from_ConSys/3, and
-	  ppl_new_Polyhedron_from_GenSys/3 added - just defined in SWI
-	  Prolog in this commit.
-
-2002-06-07 Friday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.32): Explain how to
-	  enable polyhedra allocation tracking.
-
-2002-06-07 Friday 10:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.32): Creation and disposal of
-	  polyhedra is enabled only if explicitely requested.
-
-2002-06-07 Friday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.31): Remove useless inclusion
-	  and using namespace directives.
-
-2002-06-07 Friday 10:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.30): Avoid quoting for better
-	  output.
-
-2002-06-07 Friday 10:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh (1.4), ppl_prolog.icc (1.29):
-	  New internal_exception: not_a_polyhedron_kind.  New function
-	  term_to_polyhedron_kind() replaces term_to_atom().
-
-2002-06-07 Friday 08:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.28): `a_closed' renamed
-	  `a_c'.
-
-2002-06-07 Friday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.27), Ciao/ppl_ciao.cc
-	  (1.8), GNU/ppl_gprolog_sd.cc (1.4), SICStus/ppl_sicstus_sd.cc
-	  (1.10), SWI/ppl_swiprolog.cc (1.32), YAP/ppl_yap.cc (1.22):
-	  Prolog_get_name_arity() renamed Prolog_get_compound_name_arity().
-
-2002-06-07 Friday 08:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.26), Ciao/ppl_ciao.cc
-	  (1.7), GNU/ppl_gprolog_sd.cc (1.3), SICStus/ppl_sicstus_sd.cc
-	  (1.9), SWI/ppl_swiprolog.cc (1.31), YAP/ppl_yap.cc (1.21):
-	  Prolog_get_atom_name() added.
-
-2002-06-07 Friday 07:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Ciao/ppl_ciao.cc (1.6), Ciao/ppl_ciao.pl
-	  (1.6), GNU/ppl_gprolog_sd.cc (1.2), SICStus/ppl_sicstus_sd.cc
-	  (1.8), SWI/ppl_swiprolog.cc (1.30), YAP/ppl_yap.cc (1.20):
-	  Prolog_is_atom() added.
-
-2002-06-06 Thursday 18:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.5), ppl_prolog.icc (1.25),
-	  SWI/ppl_swiprolog.cc (1.29): Added 2 generic predicates
-	  ppl_new_Polyhedron_from_dimension/3 and
-	  ppl_new_Polyhedron_empty_from_dimension/3 where the 1st argument
-	  must be c or nnc.  The only Prolog system with interface changed
-	  is SWI.
-
-2002-06-06 Thursday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.10): The `swi' package has now its `%files'
-	  section.
-
-2002-06-06 Thursday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.44): Version number bumped.
-
-2002-06-06 Thursday 17:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.31), SWI/Makefile.am
-	  (1.16), SWI/pl_clpq.cc (1.2), SWI/ppl_pl.cc (1.2),
-	  SWI/ppl_swiprolog.cc (1.28): Support for SWI-Prolog completed and
-	  documented.
-
-2002-06-06 Thursday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.44): Slowly progressing.
-
-2002-06-06 Thursday 12:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: definitions.dox (1.43), ppl.sty (1.7): Started rewriting
-	  the introduction to the user manual.
-
-2002-06-06 Thursday 10:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.30): Explained how to
-	  use the library from SICStus Prolog.
-
-2002-06-06 Thursday 09:40  Elisa Ricci
-
-	* src/: ConSys.defs.hh (1.40), Constraint.defs.hh (1.51),
-	  Generator.defs.hh (1.56), LinExpression.defs.hh (1.32),
-	  Matrix.defs.hh (1.24), Polyhedron.defs.hh (1.103), Row.defs.hh
-	  (1.42), SatMatrix.defs.hh (1.17), SatRow.defs.hh (1.13),
-	  Status.defs.hh (1.15): Now, a Doxygen comment is separated by an
-	  empty line from the C++ item that precedes it.
-
-2002-06-05 Wednesday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: Makefile.am (1.15), ppl_pl.cc (1.1),
-	  pplpl.cc (1.2): Renamed pplpl.cc to ppl_pl.cc.
-
-2002-06-05 Wednesday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.9): We will build several RPM packages out of our
-	  source tree.
-
-2002-06-05 Wednesday 17:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.23): Added support for timeout-guarded operations.
-
-2002-06-05 Wednesday 17:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.72), timings.cc (1.1), timings.hh (1.1),
-	  watchdog1.cc (1.6): When NOISY, watchdog1 prints the time after
-	  which the timeout exception has been received.
-
-2002-06-05 Wednesday 17:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.29): Added
-	  documentation for the minimized_constraints and
-	  minimized_generators predicates.  Removed comments that SWI, GNU,
-	  YAP are not yet supported.
-
-2002-06-05 Wednesday 17:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.28), ppl_c.h (1.25): Added support for
-	  minimized_constraints() and minimized_generators() to the C
-	  interface.
-
-2002-06-05 Wednesday 16:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.24), Ciao/ppl_ciao.pl
-	  (1.5), GNU/ppl_gprolog_sd.pl (1.7), SICStus/ppl_sicstus_sd.cc
-	  (1.7), SWI/ppl_swiprolog.cc (1.27), YAP/ppl_yap.cc (1.19): All
-	  Prolog interfaces now have methods for accessing the minimized
-	  constraint and generator systems.
-
-2002-06-05 Wednesday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.hh (1.13): Simpler and more efficient implementation
-	  of Parma_Polyhedra_Library::maybe_abandon().
-
-2002-06-05 Wednesday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: conversion.cc (1.28), globals.hh (1.12): Documentation of
-	  `abandon_exponential_computations' changed: we now provide a
-	  quite strong guarantee, which is implemented in
-	  Polyhedron::conversion().
-
-2002-06-05 Wednesday 15:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.102), tests/NNCminimize1.cc (1.3),
-	  tests/NNCminimize2.cc (1.3), tests/NNCminimize3.cc (1.3),
-	  tests/NNCminimize4.cc (1.5), tests/NNCminimize6.cc (1.4): Methods
-	  strongly_minimize(), strongly_minimize_constraints() and
-	  strongly_minimize_generators() are now private; tests changed to
-	  call the public methods minimized_constraints() and
-	  minimized_generators(), instead.
-
-2002-06-05 Wednesday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.22): More news.
-
-2002-06-05 Wednesday 14:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.21): News items added.  List sorted to match the
-	  (subjective) relative importance of the innovations.
-
-2002-06-05 Wednesday 12:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.22): Removed some obsolete entries.
-
-2002-06-05 Wednesday 12:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.20): Mention the addition of the time-elapse operation.
-
-2002-06-05 Wednesday 08:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.19), configure.ac (1.43), doc/Makefile.am (1.18),
-	  interfaces/Makefile.am (1.5), interfaces/C/Makefile.am (1.8),
-	  interfaces/Prolog/Makefile.am (1.12),
-	  interfaces/Prolog/Ciao/Makefile.am (1.4),
-	  interfaces/Prolog/GNU/Makefile.am (1.12),
-	  interfaces/Prolog/SICStus/Makefile.am (1.19),
-	  interfaces/Prolog/SWI/Makefile.am (1.14),
-	  interfaces/Prolog/YAP/Makefile.am (1.7), m4/Makefile.am (1.6),
-	  src/Makefile.am (1.37), tests/Makefile.am (1.71): File
-	  description improved.
-
-2002-06-05 Wednesday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.18): Improved formatting.
-
-2002-06-04 Tuesday 20:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.10), config.sub (1.9): Updated.
-
-2002-06-04 Tuesday 18:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.3), ChangeLog (1.8): Updated.
-
-2002-06-04 Tuesday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.3): Updated.
-
-2002-06-04 Tuesday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* BUGS (1.2): Written.
-
-2002-06-04 Tuesday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.13): Do not assume the
-	  library has already been installed.
-
-2002-06-04 Tuesday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.11): Do not assume `.' is
-	  the first item of the current PATH.
-
-2002-06-04 Tuesday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/Makefile.am (1.10): No longer require that
-	  the library is already installed for a successful `make check'.
-
-2002-05-31 Friday 11:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.14), configure.ac (1.42), interfaces/C/Makefile.am
-	  (1.7): Improvements in automatic configuration and make file
-	  generation.
-
-2002-05-31 Friday 11:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.70), memory1.cc (1.1): To test the
-	  allocation error recovery facility of the library.  Not yet
-	  operational.
-
-2002-05-31 Friday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/watchdog1.cc (1.5): Minor improvements.
-
-2002-05-30 Thursday 16:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.171): Modified methos strongly_minimize()
-	  according to the recent findings by Pat.
-
-2002-05-30 Thursday 15:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.170): In method
-	  strongly_minimize_constraints(), corrected handling of the sorted
-	  flag for the constraint system and of the changed boolean flag.
-
-2002-05-30 Thursday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.169): In methods strongly_minimize_*(),
-	  keeping track of whether or not we modify the considered system.
-	  If there has been no changes, the dual system is not flagged as
-	  out-of-date at the end of the method.
-
-2002-05-30 Thursday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.168): The method
-	  strongly_minimize_generators() now forces all point encodings to
-	  have the same epsilon-coordinate (which is 1).
-
-2002-05-29 Wednesday 18:11  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.28), pl_check.pl
-	  (1.4): Documentation now introduces the C and NNC polyhedra.	The
-	  grammar rules allow for strict inequalities and closure points.
-	  The test file has minor improvements; checking that redundant
-	  strict inequalities are ignored when creating a C polyhedron as a
-	  copy of an NNC polyhedra.
-
-2002-05-29 Wednesday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: NNCminimize1.cc (1.2), NNCminimize2.cc (1.2),
-	  NNCminimize3.cc (1.2), NNCminimize4.cc (1.4), NNCminimize6.cc
-	  (1.3): Methods NNC_minimize* renamed as strongly_minimize*
-
-2002-05-29 Wednesday 15:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.167), Polyhedron.defs.hh (1.101): Methods
-	  NNC_minimize* renamed as strongly_minimize* and implemented
-	  (almost) according to the technical report Q286.  When strongly
-	  minimizing a constraint system, we now always remove any
-	  eps-upper-bound constraint and we later insert back the
-	  constraint eps-leq-one only if that is needed to obtain an
-	  epsilon-representation.
-
-2002-05-29 Wednesday 07:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: NNCinclusion1.cc (1.2), NNCminimize6.cc (1.2),
-	  boundingbox1.cc (1.7), watchdog1.cc (1.4), widening2.cc (1.2): Be
-	  quiet.
-
-2002-05-28 Tuesday 16:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.166): Several simplifications in strong
-	  minmization of constraints and generators and in check for
-	  topological closure of a NNC polyhedron.
-
-2002-05-28 Tuesday 16:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.cc (1.31), Generator.defs.hh (1.55): Method
-	  is_corresponding_closure_point() renamed as
-	  is_matching_closure_point().
-
-2002-05-28 Tuesday 13:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.5), Watchdog/.cvsignore (1.2),
-	  interfaces/C/.cvsignore (1.2), interfaces/Prolog/ppl_prolog.icc
-	  (1.23), interfaces/Prolog/SICStus/.cvsignore (1.2): For those
-	  building in the sources' tree.
-
-2002-05-28 Tuesday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/watchdog1.cc (1.3): Adapted to the new version of the
-	  Watchdog library and "abandon" mechanism.
-
-2002-05-28 Tuesday 12:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: globals.cc (1.7), globals.hh (1.11): Improved
-	  implementation of the "abandon" mechanism.
-
-2002-05-28 Tuesday 12:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: Watchdog.cc (1.4), Watchdog.defs.hh (1.2),
-	  Watchdog.inlines.hh (1.2): Better implementation using templates.
-
-2002-05-28 Tuesday 12:12  Elisa Ricci
-
-	* src/Polyhedron.cc (1.165): Corrected an error in
-	  Polyhedron::topological_closure_assign(): if we modify the system
-	  of constraints or of generators, it is no longer minimized.
-
-2002-05-27 Monday 17:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: pl_check.pl (1.3), ppl_prolog.icc (1.22): Bug
-	  in ppl_prolog.icc corrected.	Tests in pl_check.pl amended to use
-	  poly_hull and poly_difference instead of convex_hull and
-	  convex_difference.
-
-2002-05-27 Monday 16:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/.cvsignore (1.5): For those that build in the source
-	  directory.
-
-2002-05-27 Monday 16:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ppl_header.bottom (1.4): Undefine all autoconf macros.
-
-2002-05-27 Monday 16:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/Makefile.am (1.6),
-	  interfaces/Prolog/Ciao/Makefile.am (1.3),
-	  interfaces/Prolog/GNU/Makefile.am (1.9),
-	  interfaces/Prolog/SICStus/Makefile.am (1.18),
-	  interfaces/Prolog/SWI/Makefile.am (1.12),
-	  interfaces/Prolog/YAP/Makefile.am (1.6), src/Makefile.am (1.36):
-	  INCLUDES is deprecated: use AM_CPPFLAGS instead.
-
-2002-05-27 Monday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.69), watchdog1.cc (1.2): Stress test for
-	  the timeout facility.
-
-2002-05-27 Monday 15:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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-27 Monday 13:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.27): Prolog interface
-	  predicates and their names in the documentation now agree with
-	  each other.
-
-2002-05-26 Sunday 14:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.164): Assertion fixed in
-	  time_elapse_assign().
-
-2002-05-26 Sunday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.163): Properly identify time_elapse_assign()
-	  when throwing an exception from there.
-
-2002-05-25 Saturday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.35), Row.cc (1.36), SatMatrix.cc (1.16),
-	  maxmin.hh (1.3): Baking our own versions of max() and min() was a
-	  bad idea.
-
-2002-05-25 Saturday 16:26  Elisa Ricci
-
-	* src/Polyhedron.cc (1.162), src/Polyhedron.defs.hh (1.100),
-	  tests/timeelapse1.cc (1.2), tests/timeelapse2.cc (1.2),
-	  tests/timeelapse3.cc (1.2), tests/timeelapse4.cc (1.2): Changed
-	  the function Polyhedron::time_elapse_assign() so that only
-	  polyhedra that are topology-compatible can be used and modified
-	  the tests so that the polyhedra satisfy this condition.
-
-2002-05-24 Friday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.161): Corrected method
-	  topological_closure_assign(): inserting the constraint
-	  eps_leq_one after modifying the polyhedron to enforce the epsilon
-	  upper bound.
-
-2002-05-24 Friday 10:34  Elisa Ricci
-
-	* src/Constraint.cc (1.23): Corrected an error in the function
-	  Constraint::is_trivial_true(): a strict inequality such as `lhs -
-	  k > 0' can not be trivial true if `k' is a non negative integer.
-
-2002-05-24 Friday 07:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.41), tests/Makefile.am (1.68), tests/watchdog1.cc
-	  (1.1): Prepare for testing the timeout facility.
-
-2002-05-24 Friday 07:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.17): If we are building the Watchdog library, make
-	  sure it is built before entering the `tests' directory.
-
-2002-05-24 Friday 07:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Watchdog/: 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-24 Friday 07:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.26): Be more specific
-	  about how to use the library in SICStus Prolog.
-
-2002-05-23 Thursday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/widening2.cc (1.1): widening2.cc shows a precision problem
-	  in Polyhedron::widening_assign().
-
-2002-05-23 Thursday 09:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.67): widening2.cc shows a precision problem
-	  in Polyhedron::widening_assign().
-
-2002-05-22 Wednesday 13:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.cc (1.6): Definition of
-	  abandon_exponential_computations fixed again.
-
-2002-05-22 Wednesday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/conversion.cc (1.27): Added a call to maybe_abandon(): this
-	  is supposed to be called on all the exponential paths within the
-	  library and, in such paths, invocations to it should be separated
-	  from one another by a distance that is bounded from above by a
-	  polynomial of the size of the input to conversion().
-
-2002-05-22 Wednesday 13:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.cc (1.5): Definition of
-	  abandon_exponential_computations fixed.
-
-2002-05-22 Wednesday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: convexdifference1.cc (1.10), convexhull1.cc (1.7),
-	  convexhull2.cc (1.6), convexhull3.cc (1.6), convexhull4.cc (1.5),
-	  randchull1.cc (1.15): Removed and replaced by tests named
-	  "poly*".
-
-2002-05-22 Wednesday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.66), NNCminimize5.cc (1.2), append1.cc
-	  (1.11), append2.cc (1.12), exceptions1.cc (1.8), permute.cc
-	  (1.16), polydifference1.cc (1.1), polyhull1.cc (1.1),
-	  polyhull2.cc (1.1), polyhull3.cc (1.1), polyhull4.cc (1.1),
-	  randchull1.cc (1.14), randphull1.cc (1.1), widening1.cc (1.4):
-	  Renaming convex-hull into poly-hull.
-
-2002-05-22 Wednesday 11:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.160), src/Polyhedron.defs.hh (1.99),
-	  interfaces/C/ppl_c.cc (1.27), interfaces/C/ppl_c.h (1.24),
-	  interfaces/Prolog/Prolog_interface.dox (1.25),
-	  interfaces/Prolog/pl_check.pl (1.2),
-	  interfaces/Prolog/ppl_prolog.icc (1.21),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.4),
-	  interfaces/Prolog/GNU/ppl_gprolog_sd.pl (1.6),
-	  interfaces/Prolog/SICStus/ppl_sicstus_sd.cc (1.6),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.26),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.18): Renamed convex-hull into
-	  poly-hull.
-
-2002-05-22 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.11): Build the SWI Prolog
-	  interface only if SWI Prolog is installed.
-
-2002-05-22 Wednesday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.16), configure.ac (1.40), Watchdog/.cvsignore
-	  (1.1), Watchdog/BUGS (1.1), Watchdog/COPYING (1.1),
-	  Watchdog/CREDITS (1.1), Watchdog/ChangeLog (1.1),
-	  Watchdog/INSTALL (1.1), Watchdog/Makefile.am (1.1), Watchdog/NEWS
-	  (1.1), Watchdog/README (1.1), Watchdog/Timeout.hh (1.1),
-	  Watchdog/Watchdog.cc (1.1), Watchdog/Watchdog.hh (1.1),
-	  Watchdog/config.h.in (1.1), Watchdog/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.
-
-2002-05-22 Wednesday 08:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.34), globals.cc (1.4), globals.hh (1.10):
-	  New timeout mechanisms.
-
-2002-05-22 Wednesday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.159): Typo fixed.
-
-2002-05-22 Wednesday 08:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/GenSys.cc (1.50): Useless emphasis removed.
-
-2002-05-22 Wednesday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Makefile.am (1.11), Ciao/Makefile.am (1.2):
-	  Compile also the Ciao Prolog interface, if Ciao Prolog is
-	  available.
-
-2002-05-22 Wednesday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.16),
-	  devref-print.doxyconf-latex.in (1.16), devref.doxyconf-html.in
-	  (1.17): Fixes and additions for the developer's documentation of
-	  Prolog interfaces.
-
-2002-05-18 Saturday 16:56  Elisa Ricci
-
-	* src/Polyhedron.cc (1.158), src/Polyhedron.defs.hh (1.98),
-	  tests/Makefile.am (1.65), tests/exceptions1.cc (1.7),
-	  tests/timeelapse1.cc (1.1), tests/timeelapse2.cc (1.1),
-	  tests/timeelapse3.cc (1.1), tests/timeelapse4.cc (1.1),
-	  tests/timeelapse5.cc (1.1): Added the function void
-	  time_elapse_assign(const Polyhedron&) and some tests for it.
-
-2002-05-17 Friday 07:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.17): Commented out statement
-	  removed.
-
-2002-05-17 Friday 07:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: .cvsignore (1.1), Makefile.am (1.1),
-	  ppl_ciao.cc (1.5): Rewritten using the interface provided by Ciao
-	  Prolog 1.8 (still not operational).
-
-2002-05-14 Tuesday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/pl_check.pl (1.1): pl_check.pl can be used to
-	  run all the interface predicates with simple tests.
-
-2002-05-14 Tuesday 09:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: clpq.pl (1.7), ppl_prolog.icc (1.20),
-	  GNU/ppl_gprolog_sd.pl (1.5), SICStus/ppl_sicstus_sd.cc (1.5),
-	  SWI/ppl_swiprolog.cc (1.25), YAP/ppl_yap.cc (1.16): All interface
-	  predicates now renamed and completed apart from
-	  shrink_bounding_box predicate.
-
-2002-05-13 Monday 18:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.19), GNU/ppl_gprolog_sd.pl
-	  (1.4), SICStus/ppl_sicstus_sd.cc (1.4), SWI/ppl_swiprolog.cc
-	  (1.24), YAP/ppl_yap.cc (1.15): Prolog interface predicates for
-	  removing dimensions renamed.
-
-2002-05-13 Monday 17:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.18), ppl_prolog.pl (1.3),
-	  GNU/ppl_gprolog_sd.pl (1.3), SICStus/ppl_sicstus_sd.cc (1.3),
-	  SWI/ppl_swiprolog.cc (1.23), YAP/ppl_yap.cc (1.14): The "add"
-	  predicates renamed or added to the Prolog interface.
-
-2002-05-13 Monday 15:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: clpq.pl (1.6), ppl_prolog.icc (1.17),
-	  GNU/ppl_gprolog_sd.pl (1.2), SICStus/ppl_sicstus_sd.cc (1.2),
-	  SWI/ppl_swiprolog.cc (1.22), YAP/ppl_yap.cc (1.13): More
-	  interface predicates updated for NNC polyhedra
-
-2002-05-13 Monday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.15), configure.ac (1.39): Use --enable-shared when
-	  making distcheck.  Make sure we really have the Prolog systems.
-
-2002-05-13 Monday 10:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Makefile.am (1.10), ppl_prolog.icc (1.16):
-	  Always enter subdirectories.	Source file ppl_prolog.icc is a C++
-	  file.
-
-2002-05-13 Monday 10:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/: Makefile.am (1.8), ppl_gprolog.cc (1.13),
-	  ppl_gprolog.pl (1.7), ppl_gprolog_sd.cc (1.1), ppl_gprolog_sd.pl
-	  (1.1): Cleaned up.
-
-2002-05-13 Monday 10:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (1.17), ppl_sicstus.cc
-	  (1.54), ppl_sicstus.pl (1.20), ppl_sicstus_sd.cc (1.1),
-	  ppl_sicstus_sd.pl (1.1), sp_clpq.pl (1.3): Cleaned up: works both
-	  with static and dynamic linking.
-
-2002-05-13 Monday 10:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/: Makefile.am (1.5), ppl_yap.cc (1.12),
-	  ppl_yap.pl (1.3): Cleaned up, but still not operational.
-
-2002-05-10 Friday 13:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.38), interfaces/Prolog/SICStus/Makefile.am
-	  (1.16): Some Progress with the SICStus interface.
-
-2002-04-28 Sunday 22:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.26): Formatting change.
-
-2002-04-24 Wednesday 21:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.15): Fixed two declarations
-	  of std::ostringstream's.
-
-2002-04-20 Saturday 22:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.inlines.hh (1.25), tests/boundingbox1.cc (1.6):
-	  shrink_bounding_box now works for NNC polyhedra defined both with
-	  and without strict inequalites.  The test file boundingbox1.cc
-	  has been also updated to deal with NNC polyhedra.  Extra tests
-	  have been added to check the changes.
-
-2002-04-19 Friday 17:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.14): Now including the
-	  closure points in the list of generators is ok when creating new
-	  polyhedra from lists of generators in the Prolog interface.
-
-2002-04-19 Friday 16:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.13), GNU/ppl_gprolog.pl
-	  (1.6): Predicates for GNU Prolog brought in line with the Prolog
-	  interface.
-
-2002-04-19 Friday 15:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.12): Now constraint_term()
-	  supports strict inequalities.
-
-2002-04-19 Friday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/inclusion1.cc (1.2): Be quiet.
-
-2002-04-19 Friday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.11): a_strictly_greater_than
-	  and a_strictly_less_than renamed a_greater_than and a_less_than.
-
-2002-04-19 Friday 14:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.10): Throw an exception
-	  instead of aborting in generator_term().
-
-2002-04-19 Friday 14:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.9), GNU/ppl_gprolog.cc
-	  (1.12), SICStus/ppl_sicstus.cc (1.53), SWI/ppl_swiprolog.cc
-	  (1.21), YAP/ppl_yap.cc (1.11): General cleanup.
-
-2002-04-19 Friday 13:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: clpq.pl (1.5), ppl_prolog.icc (1.8): The
-	  order of arguments in the revised predicates is input followed by
-	  output.  The ppl_prolog.icc now has code to handle strict
-	  inequalities and closure points.  clpq.pl has been updated to use
-	  the revised predicates.
-
-2002-04-19 Friday 11:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.20):
-	  ppl_delete_polyhedron/2 renamed ppl_delete_Polyhedron/2.
-
-2002-04-19 Friday 11:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.7), SICStus/ppl_sicstus.cc
-	  (1.52), SWI/ppl_swiprolog.cc (1.19), YAP/ppl_yap.cc (1.10): The
-	  code for ppl_new_NNC_Polyhedron_from_GenSys uncommented.
-
-2002-04-19 Friday 10:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.6), SICStus/ppl_sicstus.cc
-	  (1.51), SWI/ppl_swiprolog.cc (1.18): ppl_delete_polyhedron
-	  renamed ppl_delete_Polyhedron.  SP_STUB_0 macro fixed.
-
-2002-04-19 Friday 10:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/ppl_yap.cc (1.9): Added missing semicolons.
-
-2002-04-19 Friday 10:17  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.icc (1.5): In the copy
-	  methods/predicates the arguments have been reversed to match the
-	  corresponding ones in the C interface.  Now the 1st argument
-	  unifies with a handle for the new polyhedron and the 2nd argument
-	  is the handle for the source/original polyhedron.  Predicates
-	  affected are: ppl_new_C_Polyhedron_from_C_Polyhedron,
-	  ppl_new_NNC_Polyhedron_from_NNC_Polyhedron,
-	  ppl_new_C_Polyhedron_from_NNC_Polyhedron,
-	  ppl_new_NNC_Polyhedron_from_C_Polyhedron.
-
-2002-04-19 Friday 10:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.4), SICStus/ppl_sicstus.cc
-	  (1.50), SWI/ppl_swiprolog.cc (1.17), YAP/ppl_yap.cc (1.8):
-	  Predicates: ppl_new_C_Polyhedron_from_ConSys,
-	  ppl_new_NNC_Polyhedron_from_ConSys,
-	  ppl_new_C_Polyhedron_from_GenSys added.
-
-2002-04-19 Friday 08:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.icc (1.3), SICStus/ppl_sicstus.cc
-	  (1.49), SWI/ppl_swiprolog.cc (1.16), YAP/ppl_yap.cc (1.7): The
-	  new, new_empty and copy predicates have been replaced by ones
-	  that allow for C and NNC polyhedra to match the same methods in
-	  the C interface.  Propositions ppl_initialize and ppl_finalize
-	  added.
-
-2002-04-16 Tuesday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.157): Test NNCminimize6 has shown that our
-	  check for topological closure was relying on a false invariant
-	  (namely, that in a weakly minimized constraint system any strict
-	  inequality can be made redundant by another strict inequality
-	  only).  Corrected the implementation of
-	  is_topologically_closed().
-
-2002-04-15 Monday 10:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (1.33): Corrected a memory allocation bug in
-	  ConSys::insert(const Constraint& c).	Now test NNCminimize6 shows
-	  that the strong minimization of constraints for NNC polyhedra
-	  does not fully minimize constraint systems, yet.
-
-2002-04-15 Monday 09:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.64), NNCminimize6.cc (1.1): Example
-	  NNCminimize6 shows a memory allocation bug in method
-	  ConSys::insert(const Constraint&).
-
-2002-04-14 Sunday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator.cc (1.30): Avoid redundant test.
-
-2002-04-14 Sunday 17:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.cc (1.22): Factorize some calls to
-	  operator<<(std::ostream&, ...).
-
-2002-04-13 Saturday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.24): Avoid shadowing in
-	  Polyhedron::shrink_bounding_box().
-
-2002-04-12 Friday 20:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.63), NNCminimize4.cc (1.3),
-	  NNCminimize5.cc (1.1): Test NNCminimize5 is a fake test showing
-	  that strong minimization problems can arise even when the user is
-	  only allowed to interact using constraint systems.
-
-2002-04-12 Friday 20:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.156): When performing strong minimization of
-	  constraints, no longer preventing the removal of the \esilon \leq
-	  1 constraint.  This modification is justified by the relaxation
-	  of the invariant on the class Generator, where we no longer
-	  require the coordinate of \epsilon to be \leq 1.
-
-2002-04-12 Friday 09:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.9), config.sub (1.8): Updated.
-
-2002-04-11 Thursday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Interval.hh (1.1), Makefile.am (1.9),
-	  ppl_prolog.icc (1.2): Progress in the implementation of
-	  ppl_get_bounding_box().
-
-2002-04-11 Thursday 18:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Makefile.am (1.8), ppl_prolog.icc (1.1),
-	  ppl_prolog.outlines.hh (1.26), GNU/ppl_gprolog.cc (1.11),
-	  SICStus/ppl_sicstus.cc (1.48), SWI/ppl_swiprolog.cc (1.15),
-	  YAP/ppl_yap.cc (1.6): The file `ppl_prolog.outlines.hh' has been
-	  renamed `ppl_prolog.icc'.
-
-2002-04-10 Wednesday 12:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.cc (1.29): The OK() function for Generator no
-	  longer checks that, for points, the epsilon coordinate is less
-	  than or equal to 1 (because strong minimization does not maintain
-	  this invariant).
-
-2002-04-10 Wednesday 10:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: SICStus/ppl_sicstus.cc (1.47),
-	  SWI/ppl_swiprolog.cc (1.14), YAP/ppl_yap.cc (1.5): Provided the
-	  ppl_Prolog_sysdep_init() hook for system-dependent
-	  initialization.
-
-2002-04-10 Wednesday 10:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_gprolog.cc (1.10):
-	  Prolog_raise_exception() implemented.  Provided the
-	  ppl_Prolog_sysdep_init() hook for system-dependent
-	  initialization.
-
-2002-04-10 Wednesday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.25): Started playing
-	  with the ppl_get_bounding_box() interface function.
-
-2002-04-09 Tuesday 18:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.155), Polyhedron.defs.hh (1.97): Added
-	  methods   const ConSys& Polyhedron::minimized_constraints()
-	  const;   const GenSys& Polyhedron::minimized_generators() const;
-	  together with the corresponding (unoptimized) implementations.
-
-2002-04-08 Monday 22:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.154): Typo fixed.
-
-2002-04-08 Monday 22:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.49), GenSys.defs.hh (1.56), Polyhedron.cc
-	  (1.153), Polyhedron.defs.hh (1.96): Added first draft for the
-	  method Polyhedron::topological_closure_assign().  Also added
-	  method GenSys::add_corresponding_points().
-
-2002-04-07 Sunday 15:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.26), ppl_c.h (1.23): Two bugs fixed.
-	  The swap functions have been removed.
-
-2002-04-07 Sunday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.152): Avoid an inconsistent mixture of
-	  useless emphasizers.
-
-2002-04-07 Sunday 13:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.62), inclusion1.cc (1.1): Test
-	  C_Polyhedron::operator<=().
-
-2002-04-07 Sunday 12:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: exceptions1.cc (1.6), exceptions2.cc (1.5): Replace
-	  "impossible" with "illegal" when the latter was meant.
-
-2002-04-07 Sunday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.151): There is no such a thing as the
-	  reduced scalar product operator^.
-
-2002-04-06 Saturday 08:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* m4/ac_check_gmp.m4 (1.4): Fixed two instances of the use of an
-	  inexistent GMP assignment operator from `char*'.  These gave no
-	  error because of the C++ pointer to `bool' conversion feature and
-	  because GMP had an assignment operator from `bool'.
-
-2002-04-05 Friday 12:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/boundingbox1.cc (1.5): Improved printed results: now says
-	  "none" when the denominator of the bound is 0.
-
-2002-04-05 Friday 12:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.inlines.hh (1.23), tests/boundingbox1.cc (1.4):
-	  The dimension() method removed from BBox.
-
-2002-04-05 Friday 10:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.inlines.hh (1.22), tests/boundingbox1.cc (1.3): In
-	  Polyhedron.inlines.hh:    shrink_bounding_box now handles the
-	  empty polyhedron correctly.
-
-	  In boundingbox1.cc:	 BBox and Interval improved and many tests
-	  added.
-
-2002-04-04 Thursday 14:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.inlines.hh (1.21): Initial implementation of
-	  Polyhedron::shrink_bounding_box().
-
-2002-04-04 Thursday 13:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.32), GenSys.cc (1.48), Polyhedron.cc (1.150),
-	  Row.cc (1.35), Row.defs.hh (1.41): PPL::operator^(const Row&,
-	  const Row&) renamed as "reduced_scalar_product".
-
-2002-04-04 Thursday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/boundingbox1.cc (1.2): Use a more concrete bounding-box
-	  class.
-
-2002-04-04 Thursday 11:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.15),
-	  devref-print.doxyconf-latex.in (1.15), devref.doxyconf-html.in
-	  (1.16): Configuration files updated after class names changes.
-
-2002-04-04 Thursday 11:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.types.hh (1.3): Forgot to remove this one.
-
-2002-04-04 Thursday 10:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: PolyBase.cc (1.25), PolyBase.defs.hh (1.17),
-	  PolyBase.inlines.hh (1.5): Getting rid of these old files.
-
-2002-04-04 Thursday 10:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.149), Polyhedron.defs.hh (1.95),
-	  Polyhedron.inlines.hh (1.20): All functions created to throw
-	  exceptions are now private methods of the class Polyhedron.
-	  Exception messages modified to reflect the changes in the names
-	  of the classes and in the names of methods (e.g., add_constraint
-	  instead of insert).  Added topology-compatibility test to method
-	  swap(Polyhedron& y).	In all public methods, we now first check
-	  for topology inconsistencies, then we check for dimension
-	  inconsistencies.
-
-2002-04-04 Thursday 10:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.25), ppl_c.h (1.22): Add
-	  copy-conversion functions.
-
-2002-04-04 Thursday 08:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.24), ppl_c.h (1.21): Basic interface
-	  for the NNC polyhedra.
-
-2002-04-03 Wednesday 19:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/: C/ppl_c.cc (1.23), Prolog/ppl_prolog.outlines.hh
-	  (1.24): Allow the manipulation of closed polyhedra only (for the
-	  moment).
-
-2002-04-03 Wednesday 19:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.94): Make the destructor public (for
-	  the moment).
-
-2002-04-03 Wednesday 18:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.93): Modified doxygen comments to
-	  account for the possibility of exceptions caused by incompatible
-	  topologies.
-
-2002-04-03 Wednesday 17:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/C_Polyhedron.types.hh (1.2): Cutted (redundant) brief
-	  namespace description to avoid a Doxygen warning.
-
-2002-04-03 Wednesday 17:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Row.defs.hh (1.40), Row.inlines.hh (1.20): Some cleaning in
-	  the Row::Type class:	- removed the useless static methods;  -
-	  the constants NNC and RPI are now tied to the Topology and
-	  Row::Kind    enumerations.
-
-2002-04-03 Wednesday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.148), Polyhedron.defs.hh (1.92): All the
-	  assertions regarding topology compatibility (but those inside the
-	  non-public methods) replaced by run-time checks so that, When
-	  identifying a topology mismatch, we now throw an exception.
-
-	  Since wrapper classes C_Polyhedron and NNC_Polyhedron will not
-	  override the methods of base class Polyhedron (they will just
-	  inherit them), all implementation specific members of Polyhedron,
-	  apart from the constructors and assignment, are now declared
-	  "private" instead of "protected".
-
-2002-04-03 Wednesday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.61), boundingbox1.cc (1.1): To test
-	  Polyhedron::shrink_bounding_box().
-
-2002-04-03 Wednesday 12:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.defs.hh (1.3), NNC_Polyhedron.cc (1.8),
-	  NNC_Polyhedron.defs.hh (1.6), Polyhedron.cc (1.147),
-	  Polyhedron.defs.hh (1.91): The method   bool
-	  is_topologycally_closed() const; is now a method of the _base_
-	  class Polyhedron, trivially returning true if the polyhedron is
-	  necessarily closed.
-
-2002-04-03 Wednesday 11:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/C_Polyhedron.cc (1.2), src/C_Polyhedron.defs.hh (1.2),
-	  src/C_Polyhedron.inlines.hh (1.2), src/Makefile.am (1.33),
-	  src/NNC_Polyhedron.cc (1.7), src/NNC_Polyhedron.defs.hh (1.5),
-	  src/NNC_Polyhedron.inlines.hh (1.4), src/Polyhedron.cc (1.146),
-	  src/Polyhedron.defs.hh (1.90), src/Polyhedron.inlines.hh (1.19),
-	  src/conversion.cc (1.26), src/minimize.cc (1.20), src/simplify.cc
-	  (1.15), tests/print.hh (1.7): Base class PolyBase renamed (back)
-	  as Polyhedron.
-
-2002-04-03 Wednesday 10:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Makefile.am (1.32), src/NNC_Polyhedron.cc (1.6),
-	  src/NNC_Polyhedron.defs.hh (1.4), tests/addconstraints1.cc (1.6),
-	  tests/addconstraints10.cc (1.5), tests/addconstraints11.cc (1.6),
-	  tests/addconstraints2.cc (1.10), tests/addconstraints3.cc (1.3),
-	  tests/addconstraints4.cc (1.5), tests/addconstraints5.cc (1.6),
-	  tests/addconstraints6.cc (1.7), tests/addconstraints7.cc (1.6),
-	  tests/addconstraints8.cc (1.6), tests/addconstraints9.cc (1.7),
-	  tests/adddimensions1.cc (1.8), tests/adddimensions2.cc (1.4),
-	  tests/adddimensions3.cc (1.6), tests/adddimensions4.cc (1.4),
-	  tests/addgenerators1.cc (1.7), tests/addgenerators2.cc (1.7),
-	  tests/addgenerators3.cc (1.6), tests/addgenerators4.cc (1.6),
-	  tests/addgenerators5.cc (1.6), tests/addgenerators6.cc (1.6),
-	  tests/addgenerators7.cc (1.2), tests/affineimage1.cc (1.6),
-	  tests/affineimage2.cc (1.5), tests/affinepreimage1.cc (1.5),
-	  tests/affinepreimage2.cc (1.5), tests/affinepreimage3.cc (1.5),
-	  tests/affinepreimage4.cc (1.6), tests/affinetrans.cc (1.9),
-	  tests/append1.cc (1.10), tests/append2.cc (1.11),
-	  tests/bounded1.cc (1.3), tests/convexdifference1.cc (1.9),
-	  tests/convexhull1.cc (1.6), tests/convexhull2.cc (1.5),
-	  tests/convexhull3.cc (1.5), tests/convexhull4.cc (1.4),
-	  tests/empty1.cc (1.7), tests/exceptions1.cc (1.5),
-	  tests/exceptions2.cc (1.4), tests/generators1.cc (1.5),
-	  tests/generators2.cc (1.2), tests/inters1.cc (1.10),
-	  tests/inters2.cc (1.13), tests/inters3.cc (1.6), tests/inters4.cc
-	  (1.5), tests/inters5.cc (1.7), tests/inters6.cc (1.6),
-	  tests/inters7.cc (1.3), tests/limitedwidening1.cc (1.7),
-	  tests/limitedwidening2.cc (1.4), tests/onepoint.cc (1.5),
-	  tests/permute.cc (1.15), tests/randchull1.cc (1.13),
-	  tests/relations1.cc (1.3), tests/relations2.cc (1.4),
-	  tests/relations3.cc (1.4), tests/relations4.cc (1.4),
-	  tests/relations5.cc (1.4), tests/relations6.cc (1.3),
-	  tests/relations7.cc (1.3), tests/relations8.cc (1.3),
-	  tests/relations9.cc (1.4), tests/removedim1.cc (1.5),
-	  tests/removedim2.cc (1.9), tests/removedim3.cc (1.5),
-	  tests/removedim4.cc (1.6), tests/removedim5.cc (1.4),
-	  tests/removedim6.cc (1.5), tests/smm1.cc (1.4),
-	  tests/universe1.cc (1.3), tests/universe2.cc (1.4),
-	  tests/universe3.cc (1.4), tests/universe4.cc (1.4),
-	  tests/universe5.cc (1.5), tests/widening1.cc (1.3): Wrapper class
-	  Polyhedron renamed as C_Polyhedron.  All test programs modified
-	  accordingly.
-
-2002-04-03 Wednesday 10:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: C_Polyhedron.cc (1.1), C_Polyhedron.defs.hh (1.1),
-	  C_Polyhedron.inlines.hh (1.1), C_Polyhedron.types.hh (1.1): Added
-	  wrapper class C_Polyhedron to implement necessarily closed
-	  polyhedra.
-
-2002-04-02 Tuesday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (1.24), tests/addconstraints6.cc (1.6): Corrected
-	  stupid bugs related to a misinterpretation of the value returned
-	  by minimize().
-
-2002-04-02 Tuesday 18:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.22), ppl_c.h (1.20): All the
-	  *_and_minimize functions return a positive integer if the
-	  reulting polyhedron is non-empty; they return 0 if it is empty
-	  (and, as usual, return a negative number if an error occurred).
-
-2002-04-02 Tuesday 17:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* TODO (1.21): Dealt with the first item (the *_and_minimize one).
-
-2002-04-02 Tuesday 17:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: PolyBase.cc (1.23), PolyBase.defs.hh (1.16): All the public
-	  methods of PolyBase whose name ends in "_and_minimize" now return
-	  a boolean value (which is `false' iff the resulting polyhedron is
-	  empty).
-
-2002-04-02 Tuesday 16:48  Elisa Ricci
-
-	* tests/: Makefile.am (1.60), removedim7.cc (1.1), universe6.cc
-	  (1.1): Added a test for the functions remove_higher_dimensions()
-	  and remove_dimensions() and one for the function check_universe
-	  for NNC_Polyhedron.
-
-2002-04-02 Tuesday 16:43  Elisa Ricci
-
-	* tests/exceptions1.cc (1.4): Added a test to show when an
-	  exception is thrown in the function convex_difference_assign(ph).
-
-2002-04-02 Tuesday 12:08  Elisa Ricci
-
-	* tests/: Makefile.am (1.59), adddimensions5.cc (1.1),
-	  adddimensions6.cc (1.1), adddimensions7.cc (1.1): Added tests for
-	  the functions add_dimensions_and_embed and
-	  add_dimensions_and_project for NNC_Polyhedron.
-
-2002-04-02 Tuesday 09:43  Elisa Ricci
-
-	* tests/: Makefile.am (1.58), addgenerators7.cc (1.1), print.hh
-	  (1.6): Add a test for the function
-	  add_generators_and_minimize(gs) for a NNC_Polyhedron.  Changed
-	  the functions to print the polyhedra so that they can be used to
-	  print also for the NNC polyhedra.
-
-2002-04-02 Tuesday 08:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.cc (1.22): Some nonsense removed from
-	  PolyBase::affine_image() and PolyBase::affine_preimage().
-
-2002-04-02 Tuesday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.cc (1.21): PolyBase::limited_widening_assign()
-	  fixed: it was not checking the return value of
-	  PolyBase::update_generators().
-
-2002-03-31 Sunday 23:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.20), interfaces/C/Makefile.am (1.5),
-	  interfaces/C/ppl_c.cc (1.21),
-	  interfaces/Prolog/Prolog_interface.dox (1.24),
-	  interfaces/Prolog/ppl_prolog.outlines.hh (1.23),
-	  interfaces/Prolog/ppl_prolog.pl (1.2),
-	  interfaces/Prolog/Ciao/ppl_ciao.cc (1.4),
-	  interfaces/Prolog/Ciao/ppl_ciao.pl (1.3),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.5),
-	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.46),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.13),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.4), src/PolyBase.cc (1.20),
-	  src/PolyBase.defs.hh (1.15), tests/addconstraints11.cc (1.5),
-	  tests/addconstraints2.cc (1.9), tests/addconstraints4.cc (1.4),
-	  tests/addconstraints6.cc (1.5), tests/addconstraints7.cc (1.5),
-	  tests/addconstraints8.cc (1.5), tests/addconstraints9.cc (1.6),
-	  tests/adddimensions1.cc (1.7), tests/adddimensions3.cc (1.5),
-	  tests/addgenerators1.cc (1.6), tests/addgenerators2.cc (1.6),
-	  tests/addgenerators3.cc (1.5), tests/addgenerators4.cc (1.5),
-	  tests/addgenerators5.cc (1.5), tests/addgenerators6.cc (1.5),
-	  tests/affineimage1.cc (1.5), tests/affineimage2.cc (1.4),
-	  tests/affinepreimage2.cc (1.4), tests/affinepreimage3.cc (1.4),
-	  tests/affinepreimage4.cc (1.5), tests/append1.cc (1.9),
-	  tests/append2.cc (1.10), tests/bounded1.cc (1.2),
-	  tests/convexhull3.cc (1.4), tests/convexhull4.cc (1.3),
-	  tests/exceptions1.cc (1.3), tests/exceptions2.cc (1.3),
-	  tests/inters1.cc (1.9), tests/inters2.cc (1.12), tests/inters3.cc
-	  (1.5), tests/inters4.cc (1.4), tests/inters5.cc (1.6),
-	  tests/inters6.cc (1.5), tests/inters7.cc (1.2),
-	  tests/limitedwidening1.cc (1.6), tests/onepoint.cc (1.4),
-	  tests/permute.cc (1.14), tests/randchull1.cc (1.12),
-	  tests/relations9.cc (1.3), tests/removedim6.cc (1.4),
-	  tests/smm1.cc (1.3), tests/universe2.cc (1.3), tests/universe3.cc
-	  (1.3), tests/universe4.cc (1.3), tests/universe5.cc (1.4),
-	  tests/widening1.cc (1.2): Renamed Polyhedron::insert(const
-	  Constraint&) to Polyhedron::add_constraint(const Constraint&).
-	  Likewise, renamed Polyhedron::insert(const Generator&) to
-	  Polyhedron::add_generator(const Generator&).
-
-2002-03-31 Sunday 21:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.37), interfaces/C/Makefile.am (1.4): Added a
-	  first starting draft of `lpenum', a program to solve linear
-	  programming problems by vertex/point enumeration.  Just a toy to
-	  test the C interface of the library.
-
-2002-03-31 Sunday 20:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.cc (1.28), Matrix.cc (1.36), PolyBase.cc (1.19),
-	  Row.cc (1.34), SatMatrix.cc (1.15): All the OK() methods are now
-	  silent if the NDEBUG symbol is defined.
-
-2002-03-31 Sunday 19:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.cc (1.18): Always provide default cases in switches.
-
-2002-03-31 Sunday 19:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.39), ConSys.inlines.hh (1.16),
-	  Constraint.inlines.hh (1.26), GenSys.defs.hh (1.55),
-	  GenSys.inlines.hh (1.17), Generator.inlines.hh (1.26), Matrix.cc
-	  (1.35), Matrix.defs.hh (1.23), Matrix.inlines.hh (1.21),
-	  PolyBase.cc (1.17), PolyBase.defs.hh (1.14), Row.defs.hh (1.39),
-	  Row.inlines.hh (1.19): Do not shadow the members of *this.
-
-2002-03-31 Sunday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.cc (1.16): Started exploiting the return value of
-	  PolyBase::minimize().
-
-2002-03-31 Sunday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.57), widening1.cc (1.1): Test
-	  Polyhedron::widening_assign() with empty polyhedra.
-
-2002-03-31 Sunday 10:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.cc (1.15):
-	  PolyBase::intersection_assign_and_minimize() fixed.
-
-2002-03-31 Sunday 10:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.56), inters7.cc (1.1): Test
-	  Polyhedron::intersection_assign_and_minimize() with empty
-	  polyhedra (exposes bugs in the current implementation of that
-	  method).
-
-2002-03-31 Sunday 10:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PolyBase.cc (1.14), PolyBase.defs.hh (1.13):
-	  PolyBase::minimize() now returns a Boolean: false if and only if
-	  *this turns out to be empty.	Handling of empty polyhedra fixed
-	  in PolyBase::convex_hull_assign_and_minimize().
-
-2002-03-31 Sunday 09:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/convexhull4.cc (1.2): Exercise
-	  PolyBase::convex_hull_assign_and_minimize() with empty polyhedra
-	  in all possible ways (exposes more bugs in the current PolyBase
-	  implementation).
-
-2002-03-31 Sunday 08:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.cc (1.13):
-	  PolyBase::convex_hull_assign_and_minimize() fixed.
-
-2002-03-31 Sunday 00:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.55), convexhull4.cc (1.1): Test
-	  Polyhedron::convex_hull_assign_and_minimize() with an empty
-	  parameter polyhedron.
-
-2002-03-30 Saturday 22:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.20), ppl_c.h (1.19): New interface
-	  functions.
-
-2002-03-30 Saturday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: PolyBase.cc (1.12), PolyBase.defs.hh (1.12):
-	  PolyBase::generators() fixed: no longer ignoring the return value
-	  of PolyBase::update_generators().
-
-2002-03-30 Saturday 11:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (1.11): Corrected bugs in methods insert(g),
-	  add_generators(gs) and add_generators_and_minimize(gs): in the
-	  case of NNC topology, we were not adding the closure points
-	  corresponding to each added point.
-
-2002-03-30 Saturday 11:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.47), GenSys.defs.hh (1.54): Added method
-	  GenSys::add_corresponding_closure_points().
-
-2002-03-30 Saturday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.19), ppl_c.h (1.18): Fixed
-	  ppl_assign_Coefficient_from_mpz_t() and ppl_Generator_type().
-
-2002-03-30 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.18), ppl_c.h (1.17): More functions to
-	  deal with coefficients.  New function to get the type of a
-	  generator.
-
-2002-03-30 Saturday 10:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.inlines.hh (1.4): Added an empty implementation for
-	  PolyBase::shrink_bounding_box().
-
-2002-03-30 Saturday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.54), generators2.cc (1.1): New test
-	  computing the generators of an empty polyhedron.
-
-2002-03-30 Saturday 09:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.17), ppl_c.h (1.16): New functions and
-	  bug fixes.
-
-2002-03-29 Friday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (1.10), src/PolyBase.defs.hh (1.11),
-	  tests/NNCminimize4.cc (1.2): Added methods
-	  NNC_minimize_generators() and NNC_minimize_constraints(), which
-	  enforce NNC-minimization on only one system.	They have a common
-	  kernel, which might be factored out in a "generic"
-	  NNC-minimization function (something like the simplify() method).
-	  Now test NNCminimize4.cc uses the (more lazy)
-	  NNC_minimize_constraints() function.
-
-2002-03-29 Friday 10:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.53), NNCminimize4.cc (1.1): New test put
-	  under CVS control.
-
-2002-03-28 Thursday 22:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.16), ppl_c.h (1.15):
-	  ppl_Polyhedron_shrink_bounding_box() added to the C interface.
-
-2002-03-28 Thursday 20:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.cc (1.27), Generator.defs.hh (1.54), Matrix.cc
-	  (1.34), NNC_Polyhedron.cc (1.5), PolyBase.cc (1.9): Added method
-	   bool Generator::is_corresponding_closure_point(const Generator&)
-	  const; Methods NNC_Polyhedron::is_necessarily_closed() and
-	  PolyBase::NNC_minimize() updated to use the above method; this
-	  also corrects a bug in the previous implementations.
-
-	  Added a \param Doxygen command in Matrix.cc to avoid a warning.
-
-2002-03-28 Thursday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.defs.hh (1.10): Redeclared `shrink_bounding_box' as
-	  template <class Box> void shrink_bounding_box(Box& box) const;
-	  the previous declaration was too concrete.
-
-2002-03-28 Thursday 16:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.defs.hh (1.9): Added the declaration and
-	  documentation of template <class Interval> void
-	  shrink_bounding_box(std::vector<Interval>& box) const.
-
-2002-03-28 Thursday 15:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.52), NNCinclusion1.cc (1.1),
-	  NNCminimize1.cc (1.1), NNCminimize2.cc (1.1), NNCminimize3.cc
-	  (1.1): Added a test on the inclusion method for NNC_Polyhedron
-	  and three tests for the full minimization of NNC_Polyhedron.
-
-2002-03-28 Thursday 15:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: PolyBase.cc (1.8), PolyBase.defs.hh (1.8): Added method
-	  PolyBase::NNC_minimize() performing "full" minimization of
-	  constraint and generator systems of a NNC_Polyhedron.
-	  Temporarily public for testing and debugging purposes.
-
-2002-03-28 Thursday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.cc (1.26): Printing closure points as c(lin-expr).
-
-2002-03-28 Thursday 09:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.31), GenSys.cc (1.46): Methods get() and
-	  print() of classes ConSys and GenSys modified in order to:  -
-	  read (and print) the new kinds of constraint/generators types;  -
-	  check for the correspondence between declared and actual row
-	  types    when reading them in;  - check for the well-formedness
-	  of the read ConSys/GenSys, using OK().
-
-2002-03-27 Wednesday 19:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.19), TODO (1.19): Updated.
-
-2002-03-27 Wednesday 19:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.18), interfaces/C/ppl_c.cc (1.15),
-	  interfaces/Prolog/ppl_prolog.outlines.hh (1.22),
-	  src/Constraint.defs.hh (1.50), src/Constraint.inlines.hh (1.25),
-	  src/Generator.inlines.hh (1.25), src/Row.defs.hh (1.38),
-	  src/Row.inlines.hh (1.18): Constraint::coefficient(void) and
-	  Row::coefficient(void) renamed to
-	  Constraint::inhomogeneous_term(void) and
-	  Row::inhomogeneous_term(void).
-
-2002-03-27 Wednesday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.defs.hh (1.7): Documentation for PolyBase::OK()
-	  improved.
-
-2002-03-27 Wednesday 18:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.17), interfaces/C/ppl_c.cc (1.14), src/NNC_Polyhedron.cc
-	  (1.4), src/PolyBase.cc (1.7), src/PolyBase.defs.hh (1.6),
-	  src/Polyhedron.cc (1.145): Now the default for PolyBase::OK() is
-	  not to check for non-emptiness.  This is more consistent since
-	  OK() without arguments now checks for well-formedness only as all
-	  the other methods with the same name.  Use OK(true) if you want
-	  the extra service of non-emptiness checking.
-
-2002-03-27 Wednesday 18:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.30), ConSys.defs.hh (1.38), Constraint.cc
-	  (1.21), Constraint.defs.hh (1.49), Constraint.inlines.hh (1.24),
-	  GenSys.cc (1.45), GenSys.defs.hh (1.53), Generator.cc (1.25),
-	  LinExpression.defs.hh (1.31), Matrix.cc (1.33), Matrix.defs.hh
-	  (1.22), Matrix.inlines.hh (1.20), NNC_Polyhedron.cc (1.3),
-	  NNC_Polyhedron.inlines.hh (1.3), PolyBase.cc (1.6),
-	  PolyBase.defs.hh (1.5), Poly_Con_Relation.defs.hh (1.5),
-	  Poly_Gen_Relation.defs.hh (1.5), Row.defs.hh (1.37),
-	  Row.inlines.hh (1.17), Topology.hh (1.3): Replaced everywhere
-	  "non_necessarily_closed" by "not_necessarily_closed".  Improved
-	  the documentation of class Constraint to consider examples using
-	  strict inequalities. Added brief description for classes
-	  Poly_xxx_Relation and for the const_iterators of ConSys and
-	  GenSys.
-
-2002-03-27 Wednesday 16:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/PolyBase.cc (1.5): PolyBase::OK(bool check_not_empty) was
-	  disregarding its argument in some cases.  This bug was hiding two
-	  bogus assertions in PolyBase::add_constraints() and
-	  PolyBase::add_constraints_and_minimize().
-
-2002-03-27 Wednesday 16:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/addconstraints1.cc (1.5): Unused variable removed.
-
-2002-03-27 Wednesday 16:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: NNC_Polyhedron.defs.hh (1.3), Polyhedron.defs.hh (1.89):
-	  Removed duplicate documentation stuff from Polyhedron.defs.hh.
-	  Documented constructors of classes Polyhedron and NNC_Polyhedron.
-	  Provided a brief explanation of the reason why we do have 2
-	  classes.
-
-2002-03-27 Wednesday 15:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.16): At a closer scrutiny, the <CODE> and </CODE> tags
-	  are actually superior to any other alternative.  Remove the TODO
-	  item that suggested not to use them.
-
-2002-03-27 Wednesday 12:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.37), GenSys.defs.hh (1.52),
-	  Generator.defs.hh (1.53), PolyBase.defs.hh (1.4), Row.cc (1.33):
-	  Started adjusting the documentation to made it aware of the new
-	  kind of constraints and generators.  Corrected a couple of
-	  docuementation problems causing Doxygen warnings.
-
-2002-03-27 Wednesday 10:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (1.4): One FIXME removed: was related to an
-	  efficiency concern where we really do not have any efficiency
-	  problem.
-
-2002-03-27 Wednesday 08:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.44), PolyBase.cc (1.3): Merged the changes
-	  made to the `strict' branch after yesterday's merge.
-
-2002-03-27 Wednesday 08:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.15), src/ConSys.defs.hh (1.36), src/ConSys.inlines.hh
-	  (1.15), src/Constraint.defs.hh (1.48), src/Constraint.inlines.hh
-	  (1.23), src/GenSys.defs.hh (1.51), src/GenSys.inlines.hh (1.16),
-	  src/Generator.defs.hh (1.52), src/Generator.inlines.hh (1.24),
-	  src/Integer.defs.hh (1.3), src/LinExpression.defs.hh (1.30),
-	  src/LinExpression.inlines.hh (1.14), src/Matrix.defs.hh (1.21),
-	  src/Matrix.inlines.hh (1.19), src/PolyBase.defs.hh (1.3),
-	  src/PolyBase.inlines.hh (1.3), src/Row.defs.hh (1.36),
-	  src/Row.inlines.hh (1.16), src/SatMatrix.defs.hh (1.16),
-	  src/SatMatrix.inlines.hh (1.10), src/SatRow.defs.hh (1.12),
-	  src/SatRow.inlines.hh (1.12): Added a specialization of the the
-	  std:swap() function for LinExpression.  Solved several
-	  documentation and stylistic issues concerning our specializations
-	  of std::swap().
-
-2002-03-27 Wednesday 08:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc, PolyBase.cc (strict.[13,31]): Method
-	  GenSys::relation_with(c) now supports all the possible
-	  combinations of topology and type for both *this and the
-	  constraint parameter c.
-
-2002-03-27 Wednesday 08:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.14), src/Constraint.defs.hh (1.47), src/Generator.defs.hh
-	  (1.51): Avoid using \enum when it is not strictly necessary.
-
-2002-03-26 Tuesday 23:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/devref-browse.doxyconf-latex.in (1.14),
-	  doc/devref-print.doxyconf-latex.in (1.14),
-	  doc/devref.doxyconf-html.in (1.15),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.4), src/ConSys.cc (1.29),
-	  src/ConSys.defs.hh (1.35), src/ConSys.inlines.hh (1.14),
-	  src/Constraint.cc (1.20), src/Constraint.defs.hh (1.46),
-	  src/Constraint.inlines.hh (1.22), src/GenSys.cc (1.43),
-	  src/GenSys.defs.hh (1.50), src/GenSys.inlines.hh (1.15),
-	  src/Generator.cc (1.24), src/Generator.defs.hh (1.50),
-	  src/Generator.inlines.hh (1.23), src/LinExpression.cc (1.11),
-	  src/LinExpression.defs.hh (1.29), src/LinExpression.inlines.hh
-	  (1.13), src/Makefile.am (1.31), src/Matrix.cc (1.32),
-	  src/Matrix.defs.hh (1.20), src/Matrix.inlines.hh (1.18),
-	  src/NNC_Polyhedron.cc (1.2), src/NNC_Polyhedron.defs.hh (1.2),
-	  src/NNC_Polyhedron.inlines.hh (1.2), src/NNC_Polyhedron.types.hh
-	  (1.2), src/PolyBase.cc (1.2), src/PolyBase.defs.hh (1.2),
-	  src/PolyBase.inlines.hh (1.2), src/PolyBase.types.hh (1.2),
-	  src/Polyhedron.cc (1.144), src/Polyhedron.defs.hh (1.88),
-	  src/Polyhedron.inlines.hh (1.18), src/Row.cc (1.32),
-	  src/Row.defs.hh (1.35), src/Row.inlines.hh (1.15),
-	  src/Topology.hh (1.2), src/conversion.cc (1.25), src/minimize.cc
-	  (1.19), src/simplify.cc (1.14), tests/Makefile.am (1.51),
-	  tests/exceptions2.cc (1.2), tests/relations9.cc (1.2): The
-	  `strict' branch has been merged.
-
-2002-03-26 Tuesday 21:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.13), ppl_c.h (1.14): Implemented the
-	  error handling and reporting mechanisms.  Many other
-	  improvements.
-
-2002-03-26 Tuesday 19:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/minimize.cc (1.18): Throw `std::runtime_error' instead of
-	  `std::invalid_argument'.  Removed the inclusion of two unneeded
-	  header.
-
-2002-03-26 Tuesday 18:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: Makefile.am (1.3), ppl_c.cc (1.12), ppl_c.h
-	  (1.13): All the interface functions should be there now.
-
-2002-03-26 Tuesday 17:54  Elisa Ricci
-
-	* src/: GenSys.cc, Polyhedron.cc, Polyhedron.defs.hh, minimize.cc
-	  (positive.[2,6,4,12]): Some changes in the part controlled by
-	  "POSITIVE_TRANSFORMATION".
-
-2002-03-26 Tuesday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (strict.12): Some progresses in the generalization
-	  of method GenSys::relation_with(c) to work with a NNC system of
-	  generators.
-
-2002-03-26 Tuesday 17:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.23): Refer to handles
-	  rather than addresses.
-
-2002-03-26 Tuesday 16:41  Elisa Ricci
-
-	* tests/exceptions2.cc (strict.3): Added other two tests to show
-	  when an exception is thrown.
-
-2002-03-26 Tuesday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/LinExpression.defs.hh (1.28): Friend declarations fixed.
-
-2002-03-26 Tuesday 16:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Poly_Con_Relation.inlines.hh (strict.1): Bug (related to
-	  operator precedence) corrected in method implies().
-
-2002-03-26 Tuesday 14:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am, relations9.cc (strict.[2,1]): Test
-	  relations9 calls method PolyBase::relation_with(c) when *this is
-	  a necessarily closed polyhedron and c is a strict inequality.
-
-2002-03-26 Tuesday 13:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc, PolyBase.cc (strict.[11,30]): Methods
-	  PolyBase::relation_with(c) and GenSys::relation_with(c) modified
-	  to work as expected when *this.topology() == NECESSARILY_CLOSED
-	  and the c.type() == STRICT_INEQUALITY.
-
-2002-03-26 Tuesday 11:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, GenSys.cc, PolyBase.cc, PolyBase.defs.hh
-	  (strict.[13,10,29,9]): Some cleaning in ConSys/GenSys methods
-	  adjust_topology_and_dimension().  Adjusted a few comments and
-	  removed a few FIXME and CHECKME notes.
-
-2002-03-26 Tuesday 11:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.13): More things to do after the `strict' merge.
-
-2002-03-26 Tuesday 11:05  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: GNU/ppl_gprolog.pl (1.3),
-	  SICStus/ppl_sicstus.cc (1.45), YAP/ppl_yap.cc (1.3): Update so
-	  that they are all consistent with each other and SWI
-
-2002-03-25 Monday 21:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh,
-	  PolyBase.defs.hh, Polyhedron.cc, Polyhedron.defs.hh
-	  (strict.[3,3,8,4,4]): Added explicit constructors (to be used as
-	  conversion functions) for building a Polyhedron starting from a
-	  NNC_Polyhedron, and viceversa.  Added method	 bool
-	  NNC_Polyhedron::is_topologucally_closed() used in the above
-	  constructor to check if the argument is legal.
-	  NNC_Polyhedron::limited_widening_assign() reimplemented using the
-	  new constructor functions.
-
-2002-03-25 Monday 21:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.28): Corrected a bug in the assignment
-	  operator, which was not clearing matrices when a zero-dim
-	  polyhedron was assigned.
-
-2002-03-25 Monday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.12): More things to do after the merge with the `strict'
-	  branch.
-
-2002-03-25 Monday 19:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.11), ppl_c.h (1.12): More interface
-	  functions added.
-
-2002-03-25 Monday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.10), ppl_c.h (1.11): Widenings added.
-
-2002-03-25 Monday 17:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh (strict.[2,2]):
-	  Method limited_widening_assign() overridden in NNC_Polyhedron to
-	  avoid an annoying problem when testing with china.
-
-2002-03-25 Monday 17:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.27): When looping on constraints in
-	  widening_assign(), now going upward so as to avoid reversing the
-	  ordering of constraints.
-
-2002-03-25 Monday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.9), ppl_c.h (1.10): Added an interface
-	  for the Polyhedron::relation_with() methods.
-
-2002-03-25 Monday 16:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.12): Predicate
-	  add_dimensions_and_constraints/2 added.
-
-2002-03-25 Monday 16:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (strict.12): Trivially true constraints (such as 1
-	  > 0, the eps_leq_one constraint) should not be considered by
-	  method "has_strict_inequalities()".
-
-2002-03-25 Monday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Poly_Gen_Relation.defs.hh (1.4),
-	  Poly_Gen_Relation.inlines.hh (1.5): Provide a hidden
-	  Poly_Gen_Relation::get_flags() method for use by the foreign
-	  language interfaces.
-
-2002-03-25 Monday 15:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Poly_Con_Relation.defs.hh (1.4),
-	  Poly_Con_Relation.inlines.hh (1.5): Provide a hidden
-	  Poly_Con_Relation::get_flags() method for use by the foreign
-	  language interfaces.
-
-2002-03-25 Monday 15:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.143), Polyhedron.defs.hh (1.87): Both
-	  Polyhedron::relation_with() methods were erroneously not declared
-	  const.
-
-2002-03-25 Monday 14:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.8), ppl_c.h (1.9): Added more
-	  interface functions for ordinary polyhedra.
-
-2002-03-24 Sunday 21:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.26): Coorected trivial bug in
-	  check_universe().
-
-2002-03-24 Sunday 20:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.7), ppl_c.h (1.8): All the
-	  functionality provided by the C++ classes Constraint, ConSys,
-	  Generator and GenSys is now available to the C user.
-
-2002-03-24 Sunday 20:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.25): Method check_universe() is now
-	  correct for NNC polyhedra.  Try to exploit the boolean value
-	  returned by update_generators() to shorthen computations when
-	  possible.
-
-2002-03-24 Sunday 16:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: PolyBase.cc, PolyBase.defs.hh (strict.[24,7]): Methods
-	  obtain_sorted_constraints(), obtain_sorted_generators(),
-	  obtain_sorted_constraints_with_sat_c(),
-	  obtain_sorted_generators_with_sat_g() now declared const, since
-	  they do not logically modify the polyhedron.	As a consequence,
-	  simplified (by removing the const_cast's) the methods
-	  constraints(), generators(), intersection_assign(),
-	  convex_hull_assign(), convex_hull_assign_and_minimize().
-
-2002-03-24 Sunday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.6), ppl_c.h (1.7): Added all the
-	  functions for the handling of generators and generators' systems.
-
-2002-03-24 Sunday 10:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.23): Patched method convex_hull_assign().
-	  The error (not correctly handling the sorting of gen_sys rows for
-	  the parameter y) was NOT related to the changes done in the
-	  strict branch.  Changed (detailed) doxygen comments for the
-	  methods obtain_sorted_constraints() and
-	  obtain_sorted_generators().
-
-2002-03-23 Saturday 19:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.5), ppl_c.h (1.6): Finished the
-	  implementation of const iterators for constraints.
-
-2002-03-23 Saturday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.13), configure.ac (1.36): Support C compilers that
-	  do not support `const' and/or `inline'.
-
-2002-03-23 Saturday 14:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: ppl_c.cc (1.4), ppl_c.h (1.5): Started interfacing
-	  ConSys::const_iterator.
-
-2002-03-23 Saturday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/: Makefile.am (1.7), gp_clpq.pl (1.3),
-	  ppl_gprolog.cc (1.9): The GNU Prolog interface is finally
-	  operational.	The problem was that a GNU Prolog integer is not
-	  wide enough to hold a memory address:  now memory addresses are
-	  represented by terms of the form `[u1|u2]' where `u1' and `u2'
-	  are GNU Prolog integers.
-
-2002-03-23 Saturday 13:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/track_allocation.hh (1.3): This was always
-	  commented out due to a typo.	Missing qualification added.
-
-2002-03-22 Friday 20:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (strict.11): Method satisfies_all_constraints(g)
-	  reimplemented to work with NNC polyhedra and to correctly deal
-	  with potential (legal) topology mismatches.  As a consequence,
-	  now PolyBase::relation_with(g) also works for NNC polyhedra
-	  and/or an NNC generator parameter g.
-
-2002-03-22 Friday 20:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.22): The inclusion operator<=
-	  re-implemented:  - using the new scalaro product operator ^ when
-	  appropriate;	- changed the order of the two nested loops to
-	  factor out some    tests that were repeated unnecessarily.
-
-2002-03-22 Friday 20:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Row.cc, Row.defs.hh (strict.[2,3]): Added the "strict"
-	  scalar product operator (PPL::operator^) computing the scalar
-	  product of two Row objects but ignoring the last coefficient of
-	  the first row.
-
-2002-03-22 Friday 15:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, GenSys.cc, PolyBase.cc (strict.[10,9,21]):
-	  Metods GenSys::affine_image(v, e, d) and
-	  ConSys::affine_preimage(v, e, d) no longer require the expression
-	  `e' to have the _same_ number of columns of the matrix; now they
-	  only require dimension compatibility.  This change, while
-	  allowing a correct implementation for NNC topology matrices, also
-	  turns out to be a potentially remarkable performance improvement.
-
-	  The corresponding methods of PolyBase changed accordingly:  - no
-	  longer performing the dangerous const_cast on the expression;  -
-	  missing assertion OK(false) placed on exit.
-
-2002-03-22 Friday 12:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.20): Cleaned the code trying to preserve
-	  the sortedness of matrices when swapping epsilon columns in
-	  methods add_dimensions*.  In operator<=, avoiding repeated tests
-	  on the generator kind when computing the scalar products for NNC
-	  polyhedra.
-
-2002-03-22 Friday 10:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.19): Corrected a bug in
-	  add_dimensions_and_constraint().  The OK() assertion at the end
-	  of limited_widening_assign() changed into OK(false), because the
-	  parameter cs may cause the polyhedron to become inconsistent. In
-	  widening_assign(), now adding the epsilon constraints (instead of
-	  the positivity one) when the topology requires them.
-
-2002-03-21 Thursday 18:08  Elisa Ricci
-
-	* src/: GenSys.cc, GenSys.defs.hh, Matrix.defs.hh, Polyhedron.cc,
-	  Polyhedron.defs.hh, conversion.cc, minimize.cc
-	  (positive.[1,1,2,5,3,6,11]): Started to implement the new method
-	  that use a transformation to compute the system of constraints of
-	  a positive polyhedron described by its system of generators: this
-	  method is controlled by the flag "POSITIVE_TRANSFORMATION".
-
-2002-03-21 Thursday 16:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.18): Corrected a bug in the constructor
-	  PolyBase(t, gs): we were breaking the correctenss of the
-	  sortedness flag.
-
-2002-03-21 Thursday 16:03  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.17): Added missing OK(bool) assertions on
-	  exit of constructors and methos operator<=,
-	  intersection_assign(ph), convex_difference_assign(ph), insert(g),
-	  insert(c), add_dimensions_and_constraints(),
-	  add_generators_and_minimize().
-
-	  Corrected \epsilon-swapping bugs in methods add_dimensions(...),
-	  add_dimensions_and_project(), add_dimensions_and_embed() and
-	  add_dimensions_and_constraints().
-
-	  Patched topology-related bug in limited_widening_assign().
-
-2002-03-21 Thursday 15:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, GenSys.cc (strict.[9,8]): Methods get() and
-	  print(), i.e., input/output operators >> and <<, now also handle
-	  topology information.
-
-2002-03-21 Thursday 10:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.22): Added a note to
-	  try and explain when the _and_minimize predicates should be used.
-
-2002-03-21 Thursday 09:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.21): Two bugs corrected
-	  in the description of the "relation_with" predicates.
-
-2002-03-20 Wednesday 19:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.16): Patched methods
-	  add_dimensions_and_embed(), add_dimensions_and_project() and
-	  add_dimensions() to properly handle the "sorted" flag of
-	  matrices.  Corrected a small bug in
-	  add_dimensions_and_constraints(), where we were trying to swap a
-	  column with itself.
-
-2002-03-20 Wednesday 17:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.15): In constructors for NNC polyhedra,
-	  add the \epsilon constraint in the order that is likely to
-	  preserve the sorted flag.
-
-2002-03-20 Wednesday 17:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.inlines.hh, Generator.cc (strict.[5,3]): Just a
-	  few spaces added for style.
-
-2002-03-20 Wednesday 17:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (strict.8): Corrected a bug in
-	  has_strict_inequalities() whereby we were returning "true" when
-	  finding the epsilon_geq_zero() constraint.
-
-2002-03-20 Wednesday 16:48  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.inlines.hh, PolyBase.cc (strict.[4,14]): A
-	  strict inequality has a _negative_ \epsilon coefficient
-	  (previously, we were testing for a _non-zero_ coefficient,
-	  causing a bug in method operator<=(PolyBase&, PolyBase&).
-
-2002-03-20 Wednesday 16:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.defs.hh (strict.6): Constructors of the base class
-	  PolyBase are now protected, so that the user _has_ to create
-	  objects of the derived classes Polyhedron and NNC_Polyhedron.
-
-2002-03-20 Wednesday 15:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.13): Corrected a bug in operator<= for
-	  the NNC case.
-
-2002-03-20 Wednesday 14:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.12): Implemented operator<= for NNC
-	  polyhedra.  Added a couple of missing assertions to
-	  add_generators().
-
-2002-03-20 Wednesday 13:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, GenSys.cc, Matrix.cc (strict.[7,7,8]): In
-	  Matrix::OK(), restored the test checking that num_columns() == 0
-	  whenever num_rows() == 0.  Added assertions to
-	  ConSys::adjust_topology_and_dimension() and
-	  GenSys::adjust_topology_and_dimension().
-
-2002-03-20 Wednesday 12:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc, Matrix.defs.hh, Matrix.inlines.hh
-	  (strict.[7,4,3]): Corrected bugs:  - set_necessarily_closed() and
-	  set_non_necessarily_closed() now also    set the right topology
-	  for all the rows in the matrix;  - grow(...) no longer asserts
-	  OK() on exit, because it may leave	the matrix in a state where
-	  num_rows() == 0 and num_columns() > 0;  - grow(...) was comparing
-	  the first row to be added with the last row	 in the matrix even
-	  when there were no rows in the matrix;  - insert(...) no longer
-	  swaps a coefficient with itself when	  num_columns() and
-	  row.size() do match.
-
-2002-03-20 Wednesday 11:20  Elisa Ricci
-
-	* tests/exceptions2.cc (strict.2): Added some other tests that show
-	  when an exception is thrown: one of them shows that there is
-	  still a problem with the function Matrix::grow().
-
-2002-03-19 Tuesday 19:02  Elisa Ricci
-
-	* tests/: Makefile.am, exceptions2.cc (strict.[1,1]): In
-	  "exceptions2.cc" put two tests that show that an exception is
-	  thrown if we want to built a Polyhedron starting from a system of
-	  constraints that contains strict-inequalities or a a system of
-	  generators that contains closure_points.
-
-2002-03-19 Tuesday 18:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.11): The method OK() improved to check
-	  invariants for both NC and NNC polyhedra.
-
-2002-03-19 Tuesday 18:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (strict.6): One of the new tests added to OK() was
-	  causing Matrix::grow() to fail.  Temporarily commented out.
-
-2002-03-19 Tuesday 16:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (strict.6): Method OK() now merely calls
-	  Matrix::OK(), since there are no other meaningful tests to
-	  perform. Overriding used just for better documenting this fact.
-
-2002-03-19 Tuesday 16:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (strict.5): In method OK(), added a check on
-	  matrices with no rows.
-
-2002-03-19 Tuesday 16:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (strict.6): In method OK(), no longer checking for
-	  topology mismatches between the systems and its generators (this
-	  is already done when calling Matrix::OK()).  No longer checking
-	  for the existence of a point, because points are only required if
-	  the GenSys is representing a polyhedron (check has to be
-	  performed by PolyBase::OK()).
-
-2002-03-19 Tuesday 15:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.cc (strict.4): Method OK() now checks for topology
-	  mismatches between the matrix and its rows.  The check on the
-	  minimum number of columns updated to work correctly with NNC
-	  topology matrices.
-
-2002-03-19 Tuesday 15:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.cc, Generator.inlines.hh (strict.[2,4]): Method
-	  OK() updated to perform checks of invariants for generators
-	  defined on the NNC topology.
-
-2002-03-19 Tuesday 15:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.cc (strict.1): In method OK(), added a check on the
-	  minimum number of coefficients of a row (the minimum depends on
-	  the row topology).
-
-2002-03-19 Tuesday 13:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (strict.5): In function OK(), when checking for the
-	  existence of a point, we now use is_point() to (correctly)
-	  disregard closure points.  Also checking for topology mismatches
-	  between gen_sys and its elements.
-
-2002-03-19 Tuesday 11:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.10): Exploiting the new explicit
-	  conversions from Constraint/Generator to LinExpression in
-	  PolyBase methods   - insert(const Constraint&)   - insert(const
-	  Generator&)	- convex_difference_assign(const PolyBase&).
-
-2002-03-19 Tuesday 11:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LinExpression.cc (strict.2): Corrected a bug in the newly
-	  introduced constructors.
-
-2002-03-19 Tuesday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.cc, LinExpression.defs.hh (strict.[1,1]):
-	  Added explicit constructors taking a constraint/generator as
-	  parameter: they are PPL_INTERNAL and extract from the parameter a
-	  "necessarily closed" copy of the corresponding linear expression.
-
-2002-03-19 Tuesday 01:09  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/devref-browse.doxyconf-latex.in,
-	  doc/devref-print.doxyconf-latex.in, doc/devref.doxyconf-html.in,
-	  src/Makefile.am (strict.[1,1,1,3]): Added files NNC_Polyhedron.*
-	  and PolyBase_* to Makefile.am and to the INPUT_FILE flags for
-	  doxygen devref configuration files.
-
-2002-03-19 Tuesday 01:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.9): Consistency modification: all static
-	  functions defined to just throw an exception now print the class
-	  name of the invoking object (dirty kludge using the topology()
-	  accessor; may be improved).  Added a whole set of such functions
-	  for reporting topology clashes and illegal generator systems.
-	  Adjusted several comments.  In method remove_dimensions, the case
-	  when we remove _all_ dimensions captured earlier.  Provided a
-	  temporary patches for the methods PolyBase::insert(const
-	  Constraint&) and PolyBase::insert(const Generator&).	Added
-	  topology-inconsistency checks to add_generators(gs).
-
-2002-03-19 Tuesday 00:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (strict.4): Methods reordered according
-	  to Polyhedron.defs.hh.
-
-2002-03-19 Tuesday 00:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.defs.hh (strict.5): Method topology() made public.
-
-2002-03-19 Tuesday 00:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: NNC_Polyhedron.cc, NNC_Polyhedron.defs.hh,
-	  NNC_Polyhedron.inlines.hh, NNC_Polyhedron.types.hh
-	  (strict.[1,1,1,1]): Put under CVS control.
-
-2002-03-19 Tuesday 00:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (strict.3): Removed useless include
-	  directives (already included by PolyBase.defs.hh).
-
-2002-03-19 Tuesday 00:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/minimize.cc (strict.2): In both minimize(...) methods,
-	  modified the emptyness check after conversion in order to work
-	  for NNC Polyhedra too.
-
-2002-03-18 Monday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/user-browse.doxyconf-latex.in (1.11),
-	  doc/user-print.doxyconf-latex.in (1.11),
-	  doc/user.doxyconf-html.in (1.13), interfaces/C/ppl_c.cc (1.3),
-	  interfaces/C/ppl_c.h (1.4): Several improvements to the C
-	  interface.
-
-2002-03-18 Monday 17:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.17), doc/devref-browse.doxyconf-latex.in
-	  (1.13), doc/devref-print.doxyconf-latex.in (1.13),
-	  doc/devref.doxyconf-html.in (1.14),
-	  doc/user-browse.doxyconf-latex.in (1.10),
-	  doc/user-print.doxyconf-latex.in (1.10),
-	  doc/user.doxyconf-html.in (1.12), interfaces/C/ppl_c.cc (1.2),
-	  interfaces/C/ppl_c.h (1.3), src/LinExpression.defs.hh (1.27):
-	  Started merging the new C interface.
-
-2002-03-18 Monday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.11): Another thing to remember.
-
-2002-03-18 Monday 15:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.8): Corrected a (just introduced) bug in
-	  add_dimensions_and_constraints(ConSys& cs).
-
-2002-03-18 Monday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.10): More things we should not forget to do.
-
-2002-03-18 Monday 14:58  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.defs.hh, PolyBase.cc (strict.[4,7]): Patched method
-	  PolyBase::add_generators_and_minimize(gs).
-
-2002-03-18 Monday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.6): Patched method
-	  PolyBase::add_dimensions_and_constraints(cs).
-
-2002-03-18 Monday 13:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.9): Things todo just after merging the `strict' branch.
-
-2002-03-18 Monday 11:43  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.5): Adding topology-compatibility checks
-	  where needed, throwing exceptions if necessary.  Consistently
-	  using the methods [ConSys/GenSys]::adjust_topology_and_dimension
-	  when building a new polyhedron (or augmenting an existing one)
-	  starting from a ConSys or a GenSys.  When building an NNC
-	  polyhedron using the constructor PolyBase(GenSys&), we now add a
-	  closure point for each point in the GenSys.  Patched the
-	  specification of convex_difference_assign() to work correctly for
-	  NNC polyhedra.  Patched the methods add_dimensions_and_* and
-	  remove*_dimensions() to work correctly for NNC polyhedra.  Added
-	  a few "placeholder" exceptions to point out places where the
-	  current implementation is still not correct.
-
-2002-03-18 Monday 11:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.defs.hh (strict.4): In doxygen comments, added
-	  specification for exceptions that should be thrown when
-	  identifying a topology-incompatibility.
-
-2002-03-18 Monday 11:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (strict.4): Using Matrix::swap_columns.  Corrected
-	  a bug in GenSys::insert(g).
-
-2002-03-18 Monday 11:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, ConSys.defs.hh (strict.[5,3]): Method
-	  contains_strict_inequalities() renamed as
-	  has_strict_inequalities().  Using Matrix::swap_columns(i, j)
-	  whene swapping the \epsilon coefficients after dimension changes.
-
-2002-03-18 Monday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc, Matrix.defs.hh (strict.[3,3]): Added method
-	  Matrix::swap_columns(size_t i, size_t j) to factorize the several
-	  places where we swap the column of \epsilon coefficients.
-
-2002-03-18 Monday 11:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.defs.hh, Generator.cc, Generator.inlines.hh
-	  (strict.[2,1,3]): Implemented friend function closure_point(...)
-	  returning a closure point.  Added static method
-	  zero_dim_closure_point().
-
-2002-03-17 Sunday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc, GenSys.defs.hh (strict.[3,3]): Added methods
-	  adjust_topology_and_dimensions(), has_closure_points() and
-	  has_points() to help checking for legality and automatically
-	  adjusting generator systems when building polyhedra.
-
-2002-03-17 Sunday 14:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (strict.4): Optimized the method
-	  contains_strict_inequalities() by factoring out the topology
-	  tests.
-
-2002-03-17 Sunday 11:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/YAP/: Makefile.am (1.4), ppl_yap.cc (1.2),
-	  ppl_yap.pl (1.2): Slow and difficult progress on the YAP
-	  interface.
-
-2002-03-17 Sunday 11:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: definitions.dox (1.42), ppl.sty (1.6): Introcude the macro
-	  \cone.  Fix the macro \linspace.  Define commands using the
-	  \{new,renew,provide}command* form.
-
-2002-03-17 Sunday 11:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.35): Configuration for producing dlopen modules
-	  and WIN32 dlls.
-
-2002-03-17 Sunday 08:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (strict.3): Add missing `inline'
-	  qualifiers.
-
-2002-03-17 Sunday 00:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: PolyBase.cc, PolyBase.defs.hh, PolyBase.inlines.hh
-	  (strict.[4,3,3]): The Topology parameter is now the first one in
-	  constructors.  Added the missing topology consistency assertion
-	  to limited_widening_assign.  Using the static Constraint members
-	  for adding the positivity and epsilon related constraints in the
-	  constructors.  Constructor PolyBase(Topology, ConSys) now
-	  automatically adjust the constraint system according to the first
-	  parameter, throwing an exception if we try to insert a strict
-	  inequality into a Polyhedron.
-
-2002-03-17 Sunday 00:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh
-	  (strict.[3,2,2]): Added the assignment operator. All methods are
-	  now inlined.
-
-2002-03-17 Sunday 00:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.defs.hh, GenSys.inlines.hh (strict.[2,3]): The
-	  Topology parameter is now the first one in constructors.
-
-2002-03-17 Sunday 00:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh
-	  (strict.[3,2,3]): Added methods adjust_topology_and_dimensions()
-	  and contains_strict_inequality() to help checking for legality
-	  and automatically adjusting constraint systems when building
-	  polyhedra.  Now the Topology parameter is the first one in
-	  constructors.
-
-2002-03-17 Sunday 00:19  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc, Constraint.defs.hh, Constraint.inlines.hh
-	  (strict.[3,2,3]): Added static methods to produce the two
-	  (zero-dim) epsilon constraints replacing the positivity
-	  constraint in NNC polyhedra (0 \leq \epsilon \leq 1).  Methods
-	  is_trivial_true() and is_trivial_false() modified to also work
-	  for strict inequalities.
-
-2002-03-16 Saturday 13:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, ConSys.defs.hh, ConSys.inlines.hh,
-	  Constraint.cc, Constraint.inlines.hh, GenSys.cc, GenSys.defs.hh,
-	  GenSys.inlines.hh, Generator.inlines.hh, Makefile.am, Matrix.cc,
-	  Matrix.defs.hh, Matrix.inlines.hh, PolyBase.cc, PolyBase.defs.hh,
-	  PolyBase.inlines.hh, Polyhedron.cc, Row.defs.hh, Row.inlines.hh,
-	  conversion.cc (strict.[2,1,2,2,2,2,1,2,2,2,2,2,2,3,2,2,2,2,3,3]):
-	  In constructors, now using an element of the enum Topology in
-	  order to control the kind of object created (instead of the
-	  previous boolean).  Started adding controls on Topology
-	  mismatches and automatic conversions of objects when needed.
-
-2002-03-16 Saturday 13:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Topology.hh (strict.1): Put under CVS control: new header
-	  file for the enumeration controlling the topological kind of Row,
-	  Matrix, Constraint, Generator, ConSys, GenSys and PolyBase
-	  objects.
-
-2002-03-15 Friday 11:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.inlines.hh (strict.2): Re-ordering the initializer in Row
-	  constrauctors to avoid the warnings.
-
-2002-03-15 Friday 10:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc, ConSys.inlines.hh, Constraint.cc,
-	  Constraint.defs.hh, Constraint.inlines.hh, GenSys.cc,
-	  GenSys.inlines.hh, Generator.defs.hh, Generator.inlines.hh,
-	  LinExpression.inlines.hh, Matrix.cc, Matrix.defs.hh,
-	  Matrix.inlines.hh, Row.defs.hh, Row.inlines.hh, conversion.cc
-	  (strict.[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2]): Removed enumeration
-	  Type from class Row: added enumerations PolyhedronKind and
-	  RowKind; they are merged into a single object using new class
-	  Row::Type.  Rows now rememberif they have or not the \epsilon
-	  coefficient.
-
-	  Constructors for Matrix now have a boolean flag indicating
-	  whether or not the matrix has the \epsilon coefficient. The flag
-	  is remembered in order to correctly set the type of new rows.
-
-	  Added support for creating constraints that are strict
-	  inequalities and generators that are closure points. Added
-	  support for adding these two new kind of objects to constraint
-	  systems and generator systems (with automatic detection and
-	  resizing if needed).
-
-	  Constraints, generators and the respective systems
-	  space-dimensions now depend on the Polyhedron kind of the
-	  corresponding rows.
-
-2002-03-15 Friday 08:55  Elisa Ricci
-
-	* doc/definitions.dox (1.41): Improved the proposition that is
-	  before the definition of the ray space: we were using an object
-	  that was not defined before.
-
-2002-03-14 Thursday 15:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.20): Draft descriptions
-	  for all the new predicates added.  A few other small improvements
-	  made.
-
-2002-03-14 Thursday 13:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.21): Improved
-	  ppl_affine_image and ppl_affine_preimage.
-
-2002-03-14 Thursday 12:22  Elisa Ricci
-
-	* doc/definitions.dox (1.40): Improved the definition of minimal
-	  proper face.
-
-2002-03-14 Thursday 10:56  Elisa Ricci
-
-	* doc/definitions.dox (1.39): Corrected two errors in the
-	  definition of minimal proper face: I have written "C" instead of
-	  "P".
-
-2002-03-14 Thursday 09:21  Elisa Ricci
-
-	* doc/definitions.dox (1.38): Improved the documentation about the
-	  faces of a polyhedron.
-
-2002-03-13 Wednesday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.50), relations9.cc (1.1): New test.
-
-2002-03-13 Wednesday 20:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.20),
-	  interfaces/Prolog/GNU/ppl_gprolog.pl (1.2),
-	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.44),
-	  interfaces/Prolog/SWI/ppl_swiprolog.cc (1.11),
-	  src/Poly_Con_Relation.defs.hh (1.3),
-	  src/Poly_Con_Relation.inlines.hh (1.4),
-	  src/Poly_Gen_Relation.defs.hh (1.3),
-	  src/Poly_Gen_Relation.inlines.hh (1.4):
-	  Poly_Con_Relation::implies() and Poly_Gen_Relation::implies()
-	  were wrong because of missing parentheses.
-	  Poly_Con_Relation::operator!() and Poly_Gen_Relation::operator!()
-	  were ill-designed: removed.  Added Poly_Con_Relation
-	  operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y)
-	  and the similar operator dealing with Poly_Gen_Relation.  Prolog
-	  interface functions ppl_relation_with_constraint/2 and
-	  ppl_relation_with_generator/2 changed accordingly.  New Prolog
-	  interface functions made available to GNU, SICStus, and SWI
-	  Prolog.
-
-2002-03-13 Wednesday 18:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.19): ppl_affine_image
-	  and ppl_affine_preimage corrected and
-	  ppl_add_domensions_and_constraints added.
-
-2002-03-13 Wednesday 17:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/PolyBase.cc (strict.2): When constructing a PolyBase, now we
-	  store the value of the newly introduced boolean flag in the
-	  corresponding private member.
-
-2002-03-13 Wednesday 17:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Makefile.am, PolyBase.cc, PolyBase.defs.hh,
-	  PolyBase.inlines.hh, PolyBase.types.hh, Polyhedron.cc,
-	  Polyhedron.defs.hh, Polyhedron.inlines.hh, conversion.cc,
-	  minimize.cc, simplify.cc (strict.[1,1,1,1,1,1,1,1,1,1,1]): Class
-	  Polyhedron renamed into PolyBase.  Added a private boolean flag
-	  "necessarily_closed_" and modified all constructors (but not the
-	  copy constructor) to also accept a boolean argument (which is
-	  ignored, for the moment).  Created a new class Polyhedron
-	  inheriting public-ly from PolyBase.  This will be the class
-	  defining "necessarily closed" polyhedra.
-
-2002-03-13 Wednesday 16:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.18):
-	  ppl_relation_with_constraint/3 and ppl_relation_with_generator/3
-	  added.
-
-2002-03-13 Wednesday 16:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Poly_Con_Relation.defs.hh (1.2),
-	  Poly_Con_Relation.inlines.hh (1.3), Poly_Gen_Relation.defs.hh
-	  (1.2), Poly_Gen_Relation.inlines.hh (1.3): The implies() methods
-	  were not qualified as const.	Poly_Con_Relation::operator!() and
-	  Poly_Gen_Relation::operator!() added.
-
-2002-03-13 Wednesday 16:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.17),
-	  SWI/ppl_swiprolog.cc (1.10): ppl_affine_image and
-	  ppl_affine_preimage added.
-
-2002-03-13 Wednesday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.43): Misspelled
-	  functions fixed.  ppl_polyhedron_strictly_included/2 added.
-
-2002-03-13 Wednesday 14:02  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.16): Definitions of
-	  equal, included_or_equal and strictly_included predicates
-	  corrected.
-
-2002-03-13 Wednesday 11:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.15),
-	  SWI/ppl_swiprolog.cc (1.9): Some corrections to some of the new
-	  predicates definitions.
-
-2002-03-13 Wednesday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.10): Always build `pplpl'
-	  and `pl_clpq'.
-
-2002-03-13 Wednesday 07:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.14): Added new atoms
-	  for the relations of polyhedra with constraints and generators.
-
-2002-03-13 Wednesday 07:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.42): Missing
-	  semicolons added.
-
-2002-03-12 Tuesday 20:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.41): Macro SP_STUB_3
-	  added and used for ppl_limited_widening_assign/3.
-
-2002-03-12 Tuesday 19:46  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.13),
-	  SICStus/ppl_sicstus.cc (1.40), SWI/ppl_swiprolog.cc (1.8): <=,
-	  ==, and < added as ppl predicates.  SWI and SICStus interfaces
-	  updated with <= and == predicates.
-
-2002-03-12 Tuesday 19:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.12),
-	  SICStus/ppl_sicstus.cc (1.39), SWI/ppl_swiprolog.cc (1.7): Added
-	  ppl_add_generators_and_minimize, ppl_check_universe, and
-	  ppl_is_bounded.  SICStus and SWI updated to use the new
-	  predicates.
-
-2002-03-12 Tuesday 18:57  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.11):
-	  ppl_add_generators_and_minimize added.
-
-2002-03-12 Tuesday 17:50  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.19): Restored comment
-	  for ppl_copy_polyhedron, small change to notation and added draft
-	  documentation for three predicates that were missing.
-
-2002-03-12 Tuesday 17:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/ppl_prolog.outlines.hh (1.10): Code for
-	  ppl_limited_widening_assign, ppl_relation_with_constraint and
-	  ppl_relation_with_generator added.
-
-2002-03-12 Tuesday 15:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.18): Added a note on the change of terminology
-	  vertex/point.
-
-2002-03-12 Tuesday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.9),
-	  Ciao/ppl_ciao.cc (1.3): Using "point" instead of "vertex".
-
-2002-03-12 Tuesday 15:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: addconstraints9.cc (1.5), adddimensions1.cc (1.6),
-	  adddimensions3.cc (1.4), addgenerators1.cc (1.5),
-	  addgenerators2.cc (1.5), addgenerators3.cc (1.4),
-	  addgenerators4.cc (1.4), addgenerators5.cc (1.4),
-	  addgenerators6.cc (1.4), affineimage1.cc (1.4),
-	  affinepreimage1.cc (1.4), affinepreimage3.cc (1.3),
-	  affinepreimage4.cc (1.4), affinetrans.cc (1.8),
-	  convexdifference1.cc (1.8), convexhull1.cc (1.5), convexhull2.cc
-	  (1.4), convexhull3.cc (1.3), error1.cc (1.8), error10.cc (1.2),
-	  error11.cc (1.2), error12.cc (1.2), error13.cc (1.2), error14.cc
-	  (1.2), error15.cc (1.2), error16.cc (1.2), error17.cc (1.2),
-	  error18.cc (1.3), error19.cc (1.2), error2.cc (1.10), error20.cc
-	  (1.3), error21.cc (1.4), error22.cc (1.3), error23.cc (1.2),
-	  error24.cc (1.2), error25.cc (1.4), error26.cc (1.3), error27.cc
-	  (1.3), error28.cc (1.3), error29.cc (1.3), error3.cc (1.10),
-	  error4.cc (1.5), error5.cc (1.6), error6.cc (1.4), error7.cc
-	  (1.3), error8.cc (1.2), error9.cc (1.3), exceptions1.cc (1.2),
-	  generators1.cc (1.4), inters2.cc (1.11), inters5.cc (1.5),
-	  inters6.cc (1.4), onepoint.cc (1.3), randchull1.cc (1.11),
-	  relations2.cc (1.3), relations3.cc (1.3), relations4.cc (1.3),
-	  relations5.cc (1.3), removedim1.cc (1.4), removedim2.cc (1.8),
-	  removedim4.cc (1.5): In all the tests, now using "point" instead
-	  of "vertex".	Removed the old tests "errorN.cc", which are now
-	  all subsumed by the single test "exceptions1.cc".
-
-2002-03-12 Tuesday 15:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.28), Constraint.defs.hh (1.45),
-	  Constraint.inlines.hh (1.21), GenSys.cc (1.42), GenSys.defs.hh
-	  (1.49), GenSys.inlines.hh (1.14), Generator.cc (1.23),
-	  Generator.defs.hh (1.49), Generator.inlines.hh (1.22),
-	  LinExpression.defs.hh (1.26), Matrix.cc (1.31), Polyhedron.cc
-	  (1.142), Polyhedron.defs.hh (1.86), Row.cc (1.31), Row.defs.hh
-	  (1.34), Row.inlines.hh (1.14), conversion.cc (1.24), minimize.cc
-	  (1.17), simplify.cc (1.13): The term "vertex" replaced almost
-	  everywhere by "point": this is because these kind of generators
-	  are not necessarily vertices of the polyhedron.  All comments
-	  adjusted accordingly.
-
-2002-03-12 Tuesday 15:02  Elisa Ricci
-
-	* src/minimize.cc (positive.10): Some changes in the part
-	  controlled by the flag " POS_SIMPLEX_TRICK".
-
-2002-03-12 Tuesday 14:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.18): Description of
-	  some of the Prolog predicates improved.
-
-2002-03-12 Tuesday 13:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.141): Do not use the amsmath's \text{} macro
-	  in contexts like $a_\text{var}$.  Use $a_\mathrm{var}$ instead.
-
-2002-03-12 Tuesday 12:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.30): Do not use the `-e' option of GNU grep
-	  (this solves a portability problem on Solaris).
-
-2002-03-12 Tuesday 11:44  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.44), Generator.defs.hh (1.48),
-	  Generator.inlines.hh (1.21): The method Constraint::type() and
-	  the corresponding enum Constraint::Type are now public.  Added
-	  new public type tests to Generator, is_ray() and is_vertex();
-	  also, the existing method is_line() is now public.
-
-2002-03-12 Tuesday 11:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.cc (1.22), Generator.defs.hh (1.47),
-	  Generator.inlines.hh (1.20): We were still throwing an exception
-	  from the inlined method divisor(); added a non-inline function
-	  for that purpose.
-
-2002-03-12 Tuesday 11:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/Makefile.am (1.6), SWI/Makefile.am (1.9),
-	  YAP/Makefile.am (1.3): More packaging glitches have been fixed.
-
-2002-03-12 Tuesday 09:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Makefile.am (1.7), GNU/Makefile.am (1.5),
-	  SICStus/Makefile.am (1.15), SWI/Makefile.am (1.8),
-	  YAP/Makefile.am (1.2): A first go at fixing the packaging
-	  problems.
-
-2002-03-11 Monday 19:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.17), src/Polyhedron.defs.hh (1.85): Visibility bug fixed:
-	  Polyhedron::is_empty() must be private.
-
-2002-03-11 Monday 18:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.17): Fixed a severe performance bug
-	  in operator<(const Polyhedron& x, const Polyhedron& y).
-
-2002-03-11 Monday 14:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.34), Constraint.defs.hh (1.43),
-	  GenSys.defs.hh (1.48), Generator.defs.hh (1.46), Matrix.defs.hh
-	  (1.19), Row.defs.hh (1.33): Added a few missing doxygen comments
-	  to avoid warnings.
-
-2002-03-11 Monday 14:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Matrix.inlines.hh (1.17): Fixed a \relates doxygen comment
-	  pointing to the wrong class.
-
-2002-03-11 Monday 14:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Variable.defs.hh (1.15): Removed a redundant namespace
-	  qualification.
-
-2002-03-11 Monday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.12),
-	  devref-print.doxyconf-latex.in (1.12), devref.doxyconf-html.in
-	  (1.13): Set the WARN_IF_UNDOCUMENTED flag to YES. This will have
-	  no effect until we will set EXTRACT_ALL to NO.  Added the
-	  *.types.hh files to the INPUT variable.
-
-2002-03-11 Monday 14:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.17): Documentation
-	  describing the PPL Prolog predicates revised.
-
-2002-03-11 Monday 12:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.16): Documentation for
-	  ppl_copy_polyhedron corrected.
-
-2002-03-11 Monday 12:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: clpq.pl (1.4), clpq2.pl (1.3): Now consulting
-	  'file' will try also 'file.pl' in case 'file' does not exist or
-	  is not readable.
-
-2002-03-11 Monday 01:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.19), Constraint.defs.hh (1.42),
-	  Generator.cc (1.21), Generator.defs.hh (1.45), Matrix.cc (1.30),
-	  Matrix.defs.hh (1.18), Matrix.inlines.hh (1.16), Polyhedron.cc
-	  (1.140), Polyhedron.defs.hh (1.84), Row.cc (1.30), Row.defs.hh
-	  (1.32), Row.inlines.hh (1.13), SatMatrix.cc (1.14),
-	  SatMatrix.defs.hh (1.15), SatRow.cc (1.7), SatRow.defs.hh (1.11),
-	  SatRow.inlines.hh (1.11), Status.cc (1.11), Status.defs.hh
-	  (1.14), Variable.cc (1.6), Variable.defs.hh (1.14),
-	  Variable.inlines.hh (1.8): Placing the doxygen \relates command
-	  before function definitions (instead of declarations) to avoid
-	  warnings for unmatched functions.
-
-2002-03-11 Monday 00:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.11),
-	  devref-print.doxyconf-latex.in (1.11), devref.doxyconf-html.in
-	  (1.12): Added the newer (and old ones too) source files to the
-	  INPUT tag.  Turned on the STRIP_CODE_COMMENTS flag, to avoid
-	  outputting dosygen comments in the devref detailed comments for
-	  enumerations (e.g., Generator::Type).
-
-2002-03-10 Sunday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.27), LinExpression.defs.hh (1.25),
-	  Polyhedron.cc (1.139): Just formatting.
-
-2002-03-10 Sunday 21:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.29), Row.defs.hh (1.31): Avoid the creation of
-	  temporaries in operator*(const Row& x, const Row& y).  This
-	  results in a speedup of at least 3%.
-
-2002-03-10 Sunday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.26), GenSys.cc (1.41): Missing full-stops
-	  added.
-
-2002-03-10 Sunday 16:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.25), GenSys.cc (1.40):
-	  ConSys::affine_preimage() and GenSys::affine_image() shortened
-	  and slightly optimized.  Moreover, each contained a wrong
-	  assertion.
-
-2002-03-10 Sunday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ConSys.cc (1.24): Avoid a useless temporary in
-	  ConSys::affine_preimage().
-
-2002-03-10 Sunday 14:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.23), ConSys.defs.hh (1.33), ConSys.inlines.hh
-	  (1.13), Constraint.defs.hh (1.41), Constraint.inlines.hh (1.20),
-	  GenSys.cc (1.39), GenSys.defs.hh (1.47), GenSys.inlines.hh
-	  (1.13), LinExpression.defs.hh (1.24), LinExpression.inlines.hh
-	  (1.12), Matrix.cc (1.29), Matrix.defs.hh (1.17), Polyhedron.cc
-	  (1.138), Row.defs.hh (1.30), Row.inlines.hh (1.12), SatMatrix.cc
-	  (1.13), SatMatrix.defs.hh (1.14), SatMatrix.inlines.hh (1.9),
-	  Variable.defs.hh (1.13), Variable.inlines.hh (1.7): Compile
-	  cleanly with gcc's -Wshadow.
-
-2002-03-10 Sunday 13:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.34): The configure options --with-cflags and
-	  --with-cxxflags now add more compiler options (as opposed to
-	  replace them).  In addition the --with-cflags options was simply
-	  broken.
-
-2002-03-10 Sunday 13:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swiprolog.cc (1.6): Assertion fixed.
-
-2002-03-10 Sunday 00:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.18), Generator.cc (1.20): Useless
-	  namespace qualification in argument was causing a doxygen
-	  warning.
-
-2002-03-10 Sunday 00:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.10),
-	  devref-print.doxyconf-latex.in (1.10), devref.doxyconf-html.in
-	  (1.11), user-browse.doxyconf-latex.in (1.9),
-	  user-print.doxyconf-latex.in (1.9), user.doxyconf-html.in (1.11):
-	  New configuration files obtained by using the -u options of
-	  doxygen 1.2.14 and a bit of manual editing.
-
-2002-03-09 Saturday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/C/: Makefile.am (1.2), ppl_c.c (1.2), ppl_c.cc (1.1),
-	  ppl_c.h (1.2): Slow progress.  The C interface is implemented in
-	  C++ (of course).
-
-2002-03-09 Saturday 13:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.33), interfaces/Makefile.am (1.4),
-	  interfaces/C/.cvsignore (1.1), interfaces/C/Makefile.am (1.1),
-	  interfaces/C/ppl_c.c (1.1), interfaces/C/ppl_c.h (1.1): C
-	  interface started.
-
-2002-03-08 Friday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.8): More things to do.
-
-2002-03-08 Friday 12:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.32): The SICStus Prolog interface is only built
-	  if the user has SICStus Prolog 3.9.0 or a later version.
-
-2002-03-08 Friday 11:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/ppl_gprolog.cc (1.8),
-	  SICStus/ppl_sicstus.cc (1.38), SWI/ppl_swiprolog.cc (1.5): Minor
-	  improvements.
-
-2002-03-08 Friday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.31), interfaces/Prolog/YAP/.cvsignore (1.1),
-	  interfaces/Prolog/YAP/Makefile.am (1.1),
-	  interfaces/Prolog/YAP/ppl_yap.cc (1.1),
-	  interfaces/Prolog/YAP/ppl_yap.pl (1.1),
-	  interfaces/Prolog/YAP/yap_clpq.pl (1.1): YAP Prolog interface
-	  started.
-
-2002-03-08 Friday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: relations1.cc (1.2), relations2.cc (1.2), relations3.cc
-	  (1.2), relations4.cc (1.2), relations5.cc (1.2), relations6.cc
-	  (1.2), relations7.cc (1.2), relations8.cc (1.2): Tests updated to
-	  correctly use the new classes Poly_Con_Relation and
-	  Poly_Gen_Relation.
-
-2002-03-08 Friday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.38), GenSys.defs.hh (1.46), Polyhedron.cc
-	  (1.137), Polyhedron.defs.hh (1.83): Methods relation_with(...)
-	  updated to correctly use the new classes Poly_Con_Relation and
-	  Poly_Gen_Relation.
-
-2002-03-08 Friday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.32), ConSys.inlines.hh (1.12),
-	  Constraint.cc (1.17), Constraint.defs.hh (1.40),
-	  Constraint.inlines.hh (1.19), GenSys.defs.hh (1.45),
-	  GenSys.inlines.hh (1.12), Generator.cc (1.19), Generator.defs.hh
-	  (1.44), LinExpression.cc (1.10), LinExpression.defs.hh (1.23),
-	  LinExpression.inlines.hh (1.11), Matrix.cc (1.28), Matrix.defs.hh
-	  (1.16), Matrix.inlines.hh (1.15), Poly_Con_Relation.cc (1.2),
-	  Poly_Gen_Relation.cc (1.2), Polyhedron.cc (1.136),
-	  Polyhedron.defs.hh (1.82), Polyhedron.inlines.hh (1.16), Row.cc
-	  (1.28), Row.defs.hh (1.29), Row.inlines.hh (1.11), SatMatrix.cc
-	  (1.12), SatMatrix.defs.hh (1.13), SatMatrix.inlines.hh (1.8),
-	  SatRow.cc (1.6), SatRow.defs.hh (1.10), SatRow.inlines.hh (1.10),
-	  Status.cc (1.10), Status.defs.hh (1.13), Status.inlines.hh (1.7),
-	  Variable.cc (1.5), Variable.defs.hh (1.12), Variable.inlines.hh
-	  (1.6): For each operator name @ different from `new' and
-	  `delete', the syntax `operator@()' has to be preferred to
-	  `operator @'.
-
-2002-03-08 Friday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Poly_Con_Relation.inlines.hh (1.2),
-	  Poly_Gen_Relation.inlines.hh (1.2): Add missing `inline'
-	  qualifiers.
-
-2002-03-08 Friday 10:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.37), GenSys.defs.hh (1.44), Makefile.am
-	  (1.29), Poly_Con_Relation.cc (1.1), Poly_Con_Relation.defs.hh
-	  (1.1), Poly_Con_Relation.inlines.hh (1.1),
-	  Poly_Con_Relation.types.hh (1.1), Poly_Gen_Relation.cc (1.1),
-	  Poly_Gen_Relation.defs.hh (1.1), Poly_Gen_Relation.inlines.hh
-	  (1.1), Poly_Gen_Relation.types.hh (1.1), Polyhedron.cc (1.135),
-	  Polyhedron.defs.hh (1.81), relations.cc (1.2), relations.hh
-	  (1.3): New classes for polyhedron/constraint and
-	  polyhedron/generator relations.
-
-2002-03-08 Friday 09:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Status.defs.hh (1.12), Status.inlines.hh (1.6): Only
-	  esthetics.
-
-2002-03-07 Thursday 19:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/Makefile.am (1.4), GNU/gp_clpq.pl (1.2),
-	  GNU/ppl_gprolog.cc (1.7), SWI/Makefile.am (1.7): GNU Prolog
-	  CLP(Q) interpreter almost working (the ack.clpq test provokes a
-	  segmentation fault though).
-
-2002-03-07 Thursday 16:35  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.37): First part of Section 1.2 -
-	  Homogeneous Systems of the developer's manual, revised.
-
-2002-03-07 Thursday 14:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.7): Started adding the list of minor things to do.
-
-2002-03-07 Thursday 12:48  Elisa Ricci
-
-	* tests/: Makefile.am (1.49), includes1.cc (1.7), includes2.cc
-	  (1.6), includes3.cc (1.6), includes4.cc (1.6), relations1.cc
-	  (1.1), relations2.cc (1.1), relations3.cc (1.1), relations4.cc
-	  (1.1), relations5.cc (1.1), relations6.cc (1.1), relations7.cc
-	  (1.1), relations8.cc (1.1), satisfies1.cc (1.8), satisfies2.cc
-	  (1.6), satisfies3.cc (1.7), satisfies4.cc (1.5): The tests
-	  includes1, includes2, includes3, includes4 are now renamed
-	  relations1, relations2, relations3, relations4 and the tests
-	  satisfies1, satisfies2,satisfies3, satisfies4 are renamed
-	  relations5, relations6, relations7, relations8.
-
-2002-03-07 Thursday 12:24  Elisa Ricci
-
-	* tests/: Makefile.am (1.48), exceptions1.cc (1.1): All the tests
-	  for the exceptions are now put in this file.
-
-2002-03-07 Thursday 12:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: check_script (1.2), clpq.pl (1.3),
-	  SICStus/sp_clpq.pl (1.2), SWI/Makefile.am (1.6), SWI/pl_clpq.cc
-	  (1.1), SWI/pl_clpq.pl (1.2): The CLP(Q) interpreter now behaves
-	  the same under SICStus and SWI-Prolog.  The two version now
-	  implement the same `make check' procedure.
-
-2002-03-07 Thursday 11:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.16): Corrected a cut&paste error and added a note on the
-	  bug fixed in Polyhedron::add_constraints().
-
-2002-03-07 Thursday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.8),
-	  GNU/ppl_gprolog.cc (1.6), SICStus/ppl_sicstus.cc (1.37),
-	  SWI/Makefile.am (1.5), SWI/ppl_swiprolog.cc (1.4): Use the names
-	  Prolog_is_cons and Prolog_get_cons instead of the ambiguous
-	  Prolog_is_list and Prolog_get_list.  Bugs fixed.  The CLP(Q)
-	  interpreter now works also under SWI-Prolog.
-
-2002-03-07 Thursday 11:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.36): Adjusted a few comments in
-	  GenSys::relation_with(c). Also avoided using the boolean variable
-	  first_vertex_or_nonsaturating_ray when c is an equality
-	  constraint.
-
-2002-03-07 Thursday 10:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.35), tests/satisfies4.cc (1.4): Method
-	  Polyhedron::relation_with(c) corrected to work as expected when c
-	  is an equality. Test satisfies4, modified to test for the right
-	  thing, now is correctly handled.
-
-2002-03-07 Thursday 08:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.134): "steel" corrected to "steal".
-
-2002-03-06 Wednesday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Makefile.am (1.6), check_script (1.1),
-	  clpq.pl (1.2), clpq2.pl (1.2), expected (1.1), GNU/Makefile.am
-	  (1.3), GNU/gp_clpq.pl (1.1), GNU/ppl_gprolog.cc (1.5),
-	  SICStus/Makefile.am (1.14), SICStus/check_script (1.2),
-	  SICStus/expected (1.5), SWI/Makefile.am (1.4), SWI/pl_clpq.pl
-	  (1.1): Slow progress on the unified Prolog interfaces.
-
-2002-03-06 Wednesday 19:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.80), tests/error21.cc (1.3),
-	  tests/error22.cc (1.2), tests/includes1.cc (1.6),
-	  tests/includes2.cc (1.5), tests/includes3.cc (1.5),
-	  tests/includes4.cc (1.5): Small fix in a comment of
-	  Polyhedron.defs.hh.  Modified a few tests to let them compile
-	  after the API changes.
-
-2002-03-06 Wednesday 15:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* NEWS (1.15), src/relations.hh (1.2): Small change in a comment to
-	  enum Relation_Poly_Con.  Added to NEWS information about the
-	  replacement of includes() and satisfies() by methods
-	  relation_with().
-
-2002-03-06 Wednesday 15:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.34), src/GenSys.defs.hh (1.43), src/Makefile.am
-	  (1.28), src/Polyhedron.cc (1.133), src/Polyhedron.defs.hh (1.79),
-	  src/relations.cc (1.1), src/relations.hh (1.1),
-	  tests/satisfies1.cc (1.7), tests/satisfies2.cc (1.5),
-	  tests/satisfies3.cc (1.6), tests/satisfies4.cc (1.3): Put under
-	  CVS control.
-
-2002-03-06 Wednesday 15:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ack.clpq (1.1), ackn.clpq (1.1), clpq.pl
-	  (1.1), clpq2.pl (1.1), fib.clpq (1.1), mc91.clpq (1.1),
-	  ppl_prolog.pl (1.1), smm.clpq (1.1), smmdiff.clpq (1.1),
-	  sumto.clpq (1.1), tak.clpq (1.1), SICStus/Makefile.am (1.13),
-	  SICStus/ack.clpq (1.4), SICStus/ackn.clpq (1.2), SICStus/clpq.pl
-	  (1.28), SICStus/clpq2.pl (1.4), SICStus/fib.clpq (1.3),
-	  SICStus/mc91.clpq (1.2), SICStus/ppl_sicstus.pl (1.19),
-	  SICStus/smm.clpq (1.2), SICStus/smmdiff.clpq (1.3),
-	  SICStus/sp_clpq.pl (1.1), SICStus/sumto.clpq (1.2),
-	  SICStus/tak.clpq (1.2): Share as much sources as possible among
-	  all supported Prolog implementations.
-
-2002-03-06 Wednesday 13:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.7),
-	  track_allocation.hh (1.2), SICStus/ppl_sicstus.cc (1.36),
-	  SICStus/ppl_sicstus.pl (1.18): GNU Prolog, SICStus Prolog and
-	  SWI-Prolog interfaces now share most of the code.
-
-2002-03-06 Wednesday 11:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.33): In GenSys::affine_image(), rays and lines
-	  can be mapped into the origin only if the transformation is NOT
-	  invertible.
-
-2002-03-06 Wednesday 11:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.132): Invertible affine transformations
-	  preserve both the minimality and the saturation relations of
-	  constraints and generators.
-
-2002-03-06 Wednesday 08:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: exceptions.hh (1.3), ppl_prolog.outlines.hh
-	  (1.6), track_allocation.hh (1.1), GNU/ppl_gprolog.cc (1.4),
-	  SWI/ppl_swiprolog.cc (1.3): GNU Prolog interface fixed.  More
-	  common code between the GNU Prolog and the SWI Prolog interfaces.
-	  Allocation tracking implemented in a separate file.
-
-2002-03-05 Tuesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/ppl_gprolog.cc (1.3): Work around a couple
-	  of bugs in GNU Prolog 1.2.8.
-
-2002-03-05 Tuesday 19:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.32): Now GenSys::satisfy() correctly handles the
-	  case when c is an equality.  Still have to check the case of c
-	  being an inequality.
-
-2002-03-05 Tuesday 16:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/satisfies4.cc (1.2): Corrected the test just inserted (and
-	  set NOISY = 0).
-
-2002-03-05 Tuesday 15:46  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.47), satisfies4.cc (1.1): The test
-	  satisfies4 shows a bug whereby we return SOME_SATISFY even when
-	  the considered equality constraint has an empty intersection with
-	  the polyhedron.
-
-2002-03-05 Tuesday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.131): Corrected a bug in satisfies() for the
-	  case when *this is a zero-dim univ.  polyhedron. Now the test
-	  satisfies3 should pass.
-
-2002-03-05 Tuesday 14:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/satisfies3.cc (1.5): Test satisfies3 modified to check all
-	  the possibilities when calling Polyhedron::satisfies() on a
-	  zero-dim-universe polyhedron.  The old test was meaningless,
-	  since it was saying that the wrong result was ok. This new test
-	  shows a bug that I am going to correct.
-
-2002-03-05 Tuesday 12:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.39): A couple of spelling errors in
-	  comments fixed.
-
-2002-03-04 Monday 22:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.9),
-	  devref-print.doxyconf-latex.in (1.9), devref.doxyconf-html.in
-	  (1.10): Include the Prolog interfaces into the documentation for
-	  developers.
-
-2002-03-04 Monday 22:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: SICStus/ppl_sicstus.cc (1.35),
-	  SWI/ppl_swiprolog.cc (1.2): Small improvements.
-
-2002-03-04 Monday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/GNU/: Makefile.am (1.2), ppl_gprolog.cc (1.2),
-	  ppl_gprolog.pl (1.1): GNU Prolog interface almost complete.
-
-2002-03-04 Monday 17:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/simplify.cc (1.12): Adjusted the comments in the part where
-	  we check the independence rule for inequalities.
-
-2002-03-04 Monday 17:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: GNU/.cvsignore (1.1), SWI/.cvsignore (1.1):
-	  Put under CVS control.
-
-2002-03-04 Monday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.30), interfaces/Prolog/GNU/Makefile.am (1.1),
-	  interfaces/Prolog/GNU/ppl_gprolog.cc (1.1): GNU Prolog interface
-	  started.
-
-2002-03-04 Monday 17:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (1.12), ppl_sicstus.cc
-	  (1.34): Comment added.  Do not use the preprocessor to declare
-	  constants.
-
-2002-03-04 Monday 17:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/: Makefile.am (1.3), ppl_swi.cc (1.7),
-	  ppl_swiprolog.cc (1.1): Renamed.
-
-2002-03-04 Monday 17:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swi.cc (1.6): More interface functions
-	  added.
-
-2002-03-04 Monday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/Makefile.am (1.2), src/Makefile.am (1.27):
-	  Comments fixed.
-
-2002-03-04 Monday 16:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.8): Updated.
-
-2002-03-04 Monday 15:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.29), interfaces/Prolog/exceptions.hh (1.2),
-	  interfaces/Prolog/ppl_prolog.outlines.hh (1.5),
-	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.33),
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.17),
-	  interfaces/Prolog/SWI/Makefile.am (1.1),
-	  interfaces/Prolog/SWI/ppl_swi.cc (1.5),
-	  interfaces/Prolog/SWI/pplpl.cc (1.1): SWI Prolog interface almost
-	  complete.
-
-2002-03-04 Monday 14:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.130): Since the Row::capacity() method is
-	  accessible only during debugging, we no longer swap rows in
-	  Polyhedron::add_constraints() (we always swap the coefficeints).
-
-2002-03-03 Sunday 11:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: minimize.cc (1.16), simplify.cc (1.11): Started polishing
-	  the comments, and also the code in a few places, for the function
-	  simplify(). Adjusted a few comments in minimize(), regarding the
-	  saturation matrix.
-
-2002-03-02 Saturday 17:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/exceptions.hh (1.1): Exceptions to be used by
-	  the Prolog interfaces.
-
-2002-03-02 Saturday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.4),
-	  SICStus/ppl_sicstus.cc (1.32), SICStus/ppl_sicstus.pl (1.16),
-	  SWI/ppl_swi.cc (1.4): Progress on the SWI and SICStus interfaces.
-	  More error checking added.
-
-2002-03-02 Saturday 14:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.3),
-	  SICStus/ppl_sicstus.cc (1.31), SWI/ppl_swi.cc (1.3): SICStus and
-	  SWI interfaces reconciled.
-
-2002-03-02 Saturday 09:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.129): In add_constraints(), corrected a bug
-	  whereby we were mixing constraints having different row's
-	  capoacities into a single constraint system.
-
-2002-03-02 Saturday 09:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/minimize.cc (1.15): Small change in a comment.
-
-2002-03-02 Saturday 09:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.43): Added the right doxygen comments to
-	  enumeration Generator::Type.	The special command
-	  \hideinitializer allows to mask implementation details.
-
-2002-03-02 Saturday 07:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: ppl_prolog.outlines.hh (1.2),
-	  SICStus/ppl_sicstus.cc (1.30), SWI/ppl_swi.cc (1.2): Some
-	  progress on the combined SICStus/SWI interface.
-
-2002-03-01 Friday 16:55  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.defs.hh (1.78), minimize.cc (1.14): Polished the
-	  function add_and_minimize(...).  No longer using variable
-	  `index', which was useless.  Some style changes to made the code
-	  more uniform wrt what is done in function minimize(...). Also,
-	  con_to_ray renamed into con_to_gen.
-
-2002-03-01 Friday 16:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SWI/ppl_swi.cc (1.1): This will become the
-	  SWI-Prolog stub.
-
-2002-03-01 Friday 15:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.29): Use
-	  ppl_prolog.outlines.hh.
-
-2002-03-01 Friday 15:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Makefile.am (1.5), ppl_prolog.outlines.hh
-	  (1.1): Will try to derive as much Prolog interfaces as possible
-	  from this one.
-
-2002-03-01 Friday 14:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: ppl_ciao.cc (1.2), ppl_ciao.pl (1.2):
-	  Ciao only handles integer type `int'.  Added placeholders for
-	  linker and compiler options.
-
-2002-03-01 Friday 14:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* interfaces/Prolog/Ciao/: ppl_ciao.cc (1.1), ppl_ciao.pl (1.1):
-	  Put under CVS control.  The structure of ppl_ciao.pl is basically
-	  there, even if there still are gaps to be filled. ppl_ciao.cc,
-	  for the moment, is just a bare copy of the code written for
-	  SICStus.
-
-2002-03-01 Friday 12:42  Elisa Ricci
-
-	* src/: conversion.cc, minimize.cc (positive.[5,9]): Tried to
-	  implement a new method to compute the system of constraints of a
-	  positive polyhedron defined by its system of generators: it is
-	  controlled by the flag "POS_SIMPLEX_TRICK".
-
-2002-02-28 Thursday 17:08  Elisa Ricci
-
-	* src/conversion.cc, src/minimize.cc, src/simplify.cc,
-	  tests/Makefile.am, tests/bug7.cc, tests/bug7.dat
-	  (positive.[4,8,4,8,1,1]): We need the equalities that derived
-	  from the constraints of positivity of the variables: this
-	  resolves "bug6".  Added a test that still fails.
-
-2002-02-28 Thursday 12:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.6): Reference added.
-
-2002-02-28 Thursday 08:44  Elisa Ricci
-
-	* src/: Generator.defs.hh (1.42), Row.defs.hh (1.28): Changed the
-	  place of the comment about the inhomogeneous term of a vertex.
-
-2002-02-27 Wednesday 19:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.14): Better explanations.
-
-2002-02-27 Wednesday 19:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.8),
-	  devref-print.doxyconf-latex.in (1.8), devref.doxyconf-html.in
-	  (1.9): Predefine PPL_INTERNAL and PPL_HIDDEN.
-
-2002-02-27 Wednesday 18:26  Elisa Ricci
-
-	* NEWS (1.13), src/Polyhedron.cc (1.128), src/Polyhedron.defs.hh
-	  (1.77), tests/Makefile.am (1.46), tests/bounded1.cc (1.1): Added
-	  the function Polyhedron::is_bounded() that returns true if and
-	  only if the polyhedron is bounded.  Added a test for this
-	  function.
-
-2002-02-27 Wednesday 17:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/minimize.cc (1.13): In minimize(), added an assertion saying
-	  that matrix source is not empty.  Removed a FIXME and added a
-	  comment explaining why dest is initialized as what would be a
-	  non-legal generator matrix.
-
-2002-02-27 Wednesday 16:52  Elisa Ricci
-
-	* NEWS (1.12): Added the new feature that says that PPL does not
-	  call abort(), but we have an error message and the correction of
-	  the bug of the negative denominator of the vertex.
-
-2002-02-27 Wednesday 16:36  Elisa Ricci
-
-	* src/: Generator.cc (1.18), Generator.defs.hh (1.41),
-	  Polyhedron.cc (1.127): Considered the fact that a vertex must
-	  always have a positive denominator.
-
-2002-02-27 Wednesday 14:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.5): Non-Necessarily-Closed Polyhedra.
-
-2002-02-27 Wednesday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.4): Constructions on polyhedra.
-
-2002-02-27 Wednesday 13:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/generators1.cc (1.3): Print something only when NOISY.
-
-2002-02-27 Wednesday 13:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* TODO (1.3): Started with the definition of strict weak ordering
-	  and with a statement about why we need one or more of them.
-
-2002-02-27 Wednesday 11:16  Elisa Ricci
-
-	* src/minimize.cc (1.12), tests/generators1.cc (1.2): Used the
-	  exception instead of the abort() and modified the test.
-
-2002-02-27 Wednesday 10:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.11), configure.ac (1.28), src/Makefile.am (1.26): We are
-	  now in the 0.4 era.
-
-2002-02-27 Wednesday 10:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/minimize.cc (1.11): Polishing the comments in function
-	  minimize().  Small changes to the code (no longer using the flag
-	  empty_or_illegal).
-
-2002-02-27 Wednesday 09:18  Elisa Ricci
-
-	* tests/: Makefile.am (1.45), generators1.cc (1.1): Added a test
-	  for a polyhedron built form a system of generators with a vertex
-	  with negative denominator.
-
-2002-02-26 Tuesday 14:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.27): Release number back to 0.3 i order to
-	  generate the Web pages' documentation.
-
-2002-02-26 Tuesday 12:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (ppl-0_3-branch.2), README (1.11): Fixed.
-
-2002-02-26 Tuesday 12:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (ppl-0_3-branch.1), NEWS (1.10): Updated.
-
-2002-02-26 Tuesday 12:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.10): Updated.
-
-2002-02-26 Tuesday 12:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (ppl-0_3-branch.1): Updated.
-
-2002-02-26 Tuesday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.26): Bump version number: the main trunk is now
-	  in the 0.4 era.
-
-2002-02-26 Tuesday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (ppl-0_3-branch.1): Update version.
-
-2002-02-26 Tuesday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (ppl-0_3-branch.1): Mark ChangeLog.
-
-2002-02-26 Tuesday 11:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (ppl-0_3-branch.1),
-	  Makefile.am (1.11): Ignore all space when comparing results.
-
-2002-02-26 Tuesday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.7): Updated.
-
-2002-02-26 Tuesday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.9): Updated.
-
-2002-02-26 Tuesday 11:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.6), config.guess (1.8), doc/definitions.dox (1.36),
-	  interfaces/Prolog/SICStus/clpq.pl (1.27),
-	  interfaces/Prolog/SICStus/clpq2.pl (1.3),
-	  interfaces/Prolog/SICStus/expected (1.4),
-	  interfaces/Prolog/SICStus/fib.clpq (1.2),
-	  interfaces/Prolog/SICStus/smmdiff.clpq (1.2),
-	  src/Constraint.defs.hh (1.38), src/GenSys.cc (1.31),
-	  src/Polyhedron.cc (1.126), tests/addconstraints11.cc (1.4),
-	  tests/addconstraints5.cc (1.5), tests/adddimensions1.cc (1.5),
-	  tests/convexdifference1.cc (1.7), tests/error28.cc (1.2),
-	  tests/error29.cc (1.2), tests/universe5.cc (1.3): Trailing blanks
-	  removed.
-
-2002-02-26 Tuesday 10:34  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.76): Added the documentation for the
-	  exception thrown in the function Polyhedron::add_generators and
-	  Polyhedron::add_generators_and_minimize if the polyhedron is
-	  empty and the system of generators has no vertices.
-
-2002-02-26 Tuesday 09:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.37): Simplified the example showing how
-	  to use the Constraint::coefficient() methods.
-
-2002-02-26 Tuesday 08:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.15):
-	  ppl_convex_difference_assign/2 mentioned.
-
-2002-02-26 Tuesday 02:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (1.23): Another big pass on all the comments,
-	  trying to uniformize the terminology.  Small changes in the code
-	  to avoid repeating tests that are useless under certain
-	  conditions.
-
-2002-02-25 Monday 22:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.36): Small changes in the
-	  documentation.
-
-2002-02-25 Monday 22:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.14), configure.ac (1.25), doc/Makefile.am (1.16),
-	  interfaces/Makefile.am (1.3), interfaces/Prolog/Makefile.am
-	  (1.4), interfaces/Prolog/SICStus/Makefile.am (1.10),
-	  m4/Makefile.am (1.5), m4/ac_check_gmp.m4 (1.3), src/Makefile.am
-	  (1.25), tests/Makefile.am (1.44): Limit the exceptions to the
-	  GPL.
-
-2002-02-25 Monday 21:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.40): The example on the use of
-	  coefficient(v) modified to keep into account the divisor of the
-	  vertex and to actually check that g1 is a vertex.
-
-2002-02-25 Monday 18:02  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.35), Generator.defs.hh (1.39):
-	  Modified the example of the use of coefficient(v) for a
-	  generator.  Modified also the similar example for a constraint,
-	  now using the assignment operator.
-
-2002-02-25 Monday 17:28  Elisa Ricci
-
-	* tests/: Makefile.am (1.43), addconstraints10.cc (1.4),
-	  addconstraints11.cc (1.3), addconstraints2.cc (1.8),
-	  addconstraints4.cc (1.3), addconstraints5.cc (1.4),
-	  addconstraints6.cc (1.4), addconstraints7.cc (1.4),
-	  addconstraints8.cc (1.4), addconstraints9.cc (1.4),
-	  adddimensions1.cc (1.4), adddimensions2.cc (1.3),
-	  adddimensions3.cc (1.3), adddimensions4.cc (1.3),
-	  addgenerators1.cc (1.4), addgenerators2.cc (1.4),
-	  addgenerators3.cc (1.3), addgenerators4.cc (1.3),
-	  addgenerators5.cc (1.3), addgenerators6.cc (1.3), affineimage1.cc
-	  (1.3), affineimage2.cc (1.3), affinepreimage1.cc (1.3),
-	  affinepreimage2.cc (1.3), affinepreimage3.cc (1.2),
-	  affinepreimage4.cc (1.3), convexdifference1.cc (1.6),
-	  convexhull1.cc (1.4), convexhull2.cc (1.3), error28.cc (1.1),
-	  error29.cc (1.1), includes2.cc (1.4), includes3.cc (1.4),
-	  includes4.cc (1.4), inters3.cc (1.4), inters4.cc (1.3),
-	  inters5.cc (1.4), inters6.cc (1.3), limitedwidening1.cc (1.5),
-	  removedim2.cc (1.7), removedim3.cc (1.4), removedim4.cc (1.4),
-	  removedim5.cc (1.3), removedim6.cc (1.3), satisfies1.cc (1.6),
-	  satisfies2.cc (1.4), satisfies3.cc (1.4), universe1.cc (1.2),
-	  universe2.cc (1.2), universe3.cc (1.2), universe4.cc (1.2),
-	  universe5.cc (1.2): We use the functions of the file print.hh to
-	  print when it is possible.  Added two tests for the functions
-	  Polyhedron::add_generators() and
-	  Polyhedron::add_generators_and_minimize().
-
-2002-02-25 Monday 17:23  Elisa Ricci
-
-	* src/Polyhedron.cc (1.125): In functions
-	  Polyhedron::add_generators() and
-	  Polyhedron::add_generators_and_minimize, we throw an exception if
-	  we add a system of generators with no vertex to an empty
-	  polyhedron.
-
-2002-02-25 Monday 17:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/globals.hh (1.9): Qualified name is not allowed in namespace
-	  member declaration.
-
-2002-02-25 Monday 17:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.34), Constraint.inlines.hh (1.18),
-	  Generator.defs.hh (1.38), Generator.inlines.hh (1.19),
-	  Row.defs.hh (1.27), Row.inlines.hh (1.10): Assignments operators
-	  added for Constraint and Generator.  Some cleaning meanwhile.
-
-2002-02-25 Monday 15:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.33): Changed the example showing how to
-	  use method coefficient(v) and is_equality(). This shows that we
-	  probably miss a public method that is capable to set the
-	  relational operator of a constraint.
-
-2002-02-25 Monday 15:02  Elisa Ricci
-
-	* tests/: addconstraints1.cc (1.4), addconstraints10.cc (1.3),
-	  addconstraints5.cc (1.3), addconstraints6.cc (1.3),
-	  addconstraints7.cc (1.3), addconstraints8.cc (1.3),
-	  addconstraints9.cc (1.3), error25.cc (1.3), includes1.cc (1.5),
-	  includes2.cc (1.3), includes3.cc (1.3), includes4.cc (1.3),
-	  inters5.cc (1.3), satisfies2.cc (1.3), satisfies3.cc (1.3):
-	  Corrected some errors in the tests.
-
-2002-02-25 Monday 14:51  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.16), Constraint.defs.hh (1.32),
-	  Constraint.inlines.hh (1.17), Generator.cc (1.17),
-	  Generator.defs.hh (1.37), Generator.inlines.hh (1.18): Added
-	  non-inlined methods that throw exceptions. These are now called
-	  by the inline methods coefficient(v).
-
-2002-02-25 Monday 14:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.7), config.sub (1.7): Updated.
-
-2002-02-25 Monday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.124), Row.cc (1.27), Row.defs.hh (1.26):
-	  Row::first(), Row::last(), Row::next() and Row::prev() are gone.
-
-2002-02-25 Monday 13:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/conversion.cc (1.22): Started polishing comments. Avoided
-	  swapping rows with themselves.  A few other tiny improvements.
-
-2002-02-25 Monday 12:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: addconstraints10.cc (1.2), addconstraints11.cc (1.2),
-	  addconstraints2.cc (1.7), addconstraints4.cc (1.2),
-	  addconstraints5.cc (1.2), addconstraints6.cc (1.2),
-	  addconstraints7.cc (1.2), addconstraints8.cc (1.2),
-	  addconstraints9.cc (1.2), adddimensions1.cc (1.3),
-	  adddimensions2.cc (1.2), adddimensions3.cc (1.2),
-	  adddimensions4.cc (1.2), addgenerators1.cc (1.3),
-	  addgenerators2.cc (1.3), addgenerators3.cc (1.2),
-	  addgenerators4.cc (1.2), addgenerators5.cc (1.2),
-	  addgenerators6.cc (1.2), affineimage2.cc (1.2),
-	  affinepreimage1.cc (1.2), affinepreimage2.cc (1.2),
-	  affinepreimage4.cc (1.2), affinetrans.cc (1.7),
-	  convexdifference1.cc (1.5), convexhull1.cc (1.3), convexhull2.cc
-	  (1.2), convexhull3.cc (1.2), error18.cc (1.2), error20.cc (1.2),
-	  error21.cc (1.2), error25.cc (1.2), error26.cc (1.2), error27.cc
-	  (1.2), error6.cc (1.3), error7.cc (1.2), error9.cc (1.2),
-	  includes1.cc (1.4), includes2.cc (1.2), includes3.cc (1.2),
-	  includes4.cc (1.2), inters3.cc (1.3), inters4.cc (1.2),
-	  inters5.cc (1.2), inters6.cc (1.2), permute.cc (1.13), print.hh
-	  (1.5), removedim3.cc (1.3), removedim4.cc (1.3), removedim5.cc
-	  (1.2), removedim6.cc (1.2), satisfies1.cc (1.5), satisfies2.cc
-	  (1.2), satisfies3.cc (1.2): Started putting some order in the way
-	  results are returned how objects are built, and how we print
-	  things in NOISY mode.  While at it, a zillion of trailing blanks
-	  have been removed.
-
-2002-02-25 Monday 12:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.cc (1.15): Unwanted change retracted.
-
-2002-02-25 Monday 11:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.31), Constraint.cc (1.14),
-	  Constraint.defs.hh (1.31), GenSys.defs.hh (1.42),
-	  Generator.defs.hh (1.36), Makefile.am (1.24),
-	  ppl_filter_doxygen.sed (1.1), ppl_filter_install.sed (1.1): Now
-	  PPL_INTERNAL means `private' everywhere we are not compiling the
-	  library itself.  PPL_HIDDEN, instead, is `private' only to keep
-	  doxygen from including documentation that is not for the user.
-
-2002-02-25 Monday 10:02  Elisa Ricci
-
-	* tests/: Makefile.am (1.42), addconstraints10.cc (1.1),
-	  addconstraints11.cc (1.1), addconstraints4.cc (1.1),
-	  addconstraints5.cc (1.1), addconstraints6.cc (1.1),
-	  addconstraints7.cc (1.1), addconstraints8.cc (1.1),
-	  addconstraints9.cc (1.1), adddimensions2.cc (1.1),
-	  adddimensions3.cc (1.1), adddimensions4.cc (1.1),
-	  addgenerators3.cc (1.1), addgenerators4.cc (1.1),
-	  addgenerators5.cc (1.1), addgenerators6.cc (1.1), affineimage2.cc
-	  (1.1), affinepreimage1.cc (1.1), affinepreimage2.cc (1.1),
-	  affinepreimage3.cc (1.1), affinepreimage4.cc (1.1),
-	  convexhull2.cc (1.1), convexhull3.cc (1.1), error10.cc (1.1),
-	  error11.cc (1.1), error12.cc (1.1), error13.cc (1.1), error14.cc
-	  (1.1), error15.cc (1.1), error16.cc (1.1), error17.cc (1.1),
-	  error18.cc (1.1), error19.cc (1.1), error20.cc (1.1), error21.cc
-	  (1.1), error22.cc (1.1), error23.cc (1.1), error24.cc (1.1),
-	  error25.cc (1.1), error26.cc (1.1), error27.cc (1.1), error6.cc
-	  (1.2), error7.cc (1.1), error8.cc (1.1), error9.cc (1.1),
-	  includes2.cc (1.1), includes3.cc (1.1), includes4.cc (1.1),
-	  inters4.cc (1.1), inters5.cc (1.1), inters6.cc (1.1),
-	  removedim5.cc (1.1), removedim6.cc (1.1), satisfies2.cc (1.1),
-	  satisfies3.cc (1.1), universe1.cc (1.1), universe2.cc (1.1),
-	  universe3.cc (1.1), universe4.cc (1.1), universe5.cc (1.1): Added
-	  new tests for the functions of the Polyhedron class.
-
-2002-02-25 Monday 09:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/conversion.cc (1.21): Two kludges (with FIXME) to continue
-	  supporting GCC 2.96.
-
-2002-02-25 Monday 08:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.14): Minor typos fixed.
-
-2002-02-25 Monday 08:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.13): Add CIAO Prolog to
-	  the list of (to be) supported systems and sort the list of
-	  prologs alphabetically.
-
-2002-02-25 Monday 01:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.30), Generator.defs.hh (1.35): Added
-	  examples on the use of methods coefficient(v), coefficient() and
-	  divisor(), as well as (en passant) the method Generator::type().
-
-2002-02-25 Monday 00:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Row.defs.hh (1.25): Added comments to methods first(),
-	  last(), next(...) and prev(...).
-
-2002-02-24 Sunday 22:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: addconstraints2.cc (1.6), includes1.cc (1.3),
-	  satisfies1.cc (1.4): Do not use private methods.
-
-2002-02-24 Sunday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Init.cc (1.1), Init.defs.hh (1.1), Init.inlines.hh (1.1),
-	  Init.types.hh (1.1), Makefile.am (1.23), Row.cc (1.26),
-	  conversion.cc (1.20), globals.cc (1.3), globals.hh (1.8),
-	  initializer.hh (1.1): New standard compliant mechanism for the
-	  library initialization and finalization.  New implementation for
-	  tmp_Integer (worth a speedup greater than 3%).
-
-2002-02-24 Sunday 19:31  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/SatRow.inlines.hh (1.9): Spurious space in comment removed.
-
-2002-02-24 Sunday 19:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.cc (1.16): Using function
-	  all_homogeneous_terms_are_zero() when building a ray or line to
-	  check their validity.
-
-2002-02-24 Sunday 19:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.inlines.hh (1.17): Throwing an exception if
-	  Generator::coefficient(v) is called with a variable beyond the
-	  space-dimension.
-
-2002-02-24 Sunday 19:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.inlines.hh (1.16): We now throw an exception if
-	  Constraint::coefficient(v) is called with a variable which is
-	  beyond the current space-dimension.
-
-2002-02-24 Sunday 19:25  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.123): Many comments adjusted. We now use the
-	  BE_LAZY flag in Polyhedron::operator<=, where we do not
-	  necessarily minimize given arguments.
-
-2002-02-24 Sunday 19:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.30): Using "satisfy" instead of "verify" when
-	  talking about the relation between a generator and a constraint.
-
-2002-02-24 Sunday 12:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.13), README (1.9), configure.ac (1.24),
-	  doc/Makefile.am (1.15), doc/definitions.dox (1.35),
-	  interfaces/Makefile.am (1.2), interfaces/Prolog/Makefile.am
-	  (1.3), interfaces/Prolog/SICStus/Makefile.am (1.9),
-	  interfaces/Prolog/SICStus/clpq.pl (1.26),
-	  interfaces/Prolog/SICStus/clpq2.pl (1.2),
-	  interfaces/Prolog/SICStus/expected (1.3), m4/Makefile.am (1.4),
-	  m4/ac_check_gmp.m4 (1.2), src/ConSys.cc (1.22),
-	  src/ConSys.defs.hh (1.30), src/ConSys.inlines.hh (1.11),
-	  src/ConSys.types.hh (1.2), src/Constraint.cc (1.13),
-	  src/Constraint.defs.hh (1.29), src/Constraint.inlines.hh (1.15),
-	  src/Constraint.types.hh (1.2), src/GenSys.cc (1.29),
-	  src/GenSys.defs.hh (1.41), src/GenSys.inlines.hh (1.11),
-	  src/GenSys.types.hh (1.2), src/Generator.cc (1.15),
-	  src/Generator.defs.hh (1.34), src/Generator.inlines.hh (1.16),
-	  src/Generator.types.hh (1.2), src/Integer.cc (1.2),
-	  src/Integer.defs.hh (1.2), src/Integer.inlines.hh (1.2),
-	  src/Integer.types.hh (1.2), src/LinExpression.cc (1.9),
-	  src/LinExpression.defs.hh (1.22), src/LinExpression.inlines.hh
-	  (1.10), src/LinExpression.types.hh (1.2), src/Makefile.am (1.22),
-	  src/Matrix.cc (1.27), src/Matrix.defs.hh (1.15),
-	  src/Matrix.inlines.hh (1.14), src/Matrix.types.hh (1.2),
-	  src/Polyhedron.cc (1.122), src/Polyhedron.defs.hh (1.75),
-	  src/Polyhedron.inlines.hh (1.15), src/Polyhedron.types.hh (1.2),
-	  src/Row.cc (1.25), src/Row.defs.hh (1.24), src/Row.inlines.hh
-	  (1.9), src/Row.types.hh (1.2), src/SatMatrix.cc (1.11),
-	  src/SatMatrix.defs.hh (1.12), src/SatMatrix.inlines.hh (1.7),
-	  src/SatMatrix.types.hh (1.2), src/SatRow.cc (1.5),
-	  src/SatRow.defs.hh (1.9), src/SatRow.inlines.hh (1.8),
-	  src/SatRow.types.hh (1.2), src/Status.cc (1.9),
-	  src/Status.defs.hh (1.11), src/Status.inlines.hh (1.5),
-	  src/Status.types.hh (1.2), src/Variable.cc (1.4),
-	  src/Variable.defs.hh (1.11), src/Variable.inlines.hh (1.5),
-	  src/Variable.types.hh (1.2), src/conversion.cc (1.19),
-	  src/globals.hh (1.7), src/minimize.cc (1.10), src/ppl_header.top
-	  (1.3), src/simplify.cc (1.10), tests/Makefile.am (1.41),
-	  tests/addconstraints1.cc (1.3), tests/addconstraints2.cc (1.5),
-	  tests/addconstraints3.cc (1.2), tests/adddimensions1.cc (1.2),
-	  tests/addgenerators1.cc (1.2), tests/addgenerators2.cc (1.2),
-	  tests/affineimage1.cc (1.2), tests/affinetrans.cc (1.6),
-	  tests/append1.cc (1.8), tests/append2.cc (1.9),
-	  tests/convexdifference1.cc (1.4), tests/convexhull1.cc (1.2),
-	  tests/ehandlers.hh (1.3), tests/empty1.cc (1.6), tests/error1.cc
-	  (1.7), tests/error2.cc (1.9), tests/error3.cc (1.9),
-	  tests/error4.cc (1.4), tests/error5.cc (1.5), tests/includes1.cc
-	  (1.2), tests/inters1.cc (1.8), tests/inters2.cc (1.10),
-	  tests/inters3.cc (1.2), tests/limitedwidening1.cc (1.4),
-	  tests/limitedwidening2.cc (1.3), tests/onepoint.cc (1.2),
-	  tests/permute.cc (1.12), tests/randchull1.cc (1.10),
-	  tests/removedim1.cc (1.3), tests/removedim2.cc (1.6),
-	  tests/removedim3.cc (1.2), tests/removedim4.cc (1.2),
-	  tests/satisfies1.cc (1.3), tests/smm1.cc (1.2), doc/devref.tex
-	  (1.7), doc/user.tex (1.8): Copyright year bumped.
-
-2002-02-23 Saturday 17:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/convexdifference1.cc (1.3): Do not be noisy.
-
-2002-02-23 Saturday 17:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.121), tests/convexdifference1.cc (1.2):
-	  Polyhedron::convex_difference_assign() fixed.
-
-2002-02-23 Saturday 16:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.120): Method
-	  Polyhedron::convex_diffrence_assign corrected.  The new version
-	  forces the result to be a _closed_ polyhedron.
-
-2002-02-23 Saturday 14:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.8), src/Polyhedron.cc (1.119), src/Polyhedron.defs.hh
-	  (1.74), tests/Makefile.am (1.40), tests/convexdifference1.cc
-	  (1.1): New methods Polyhedron::convex_difference_assign(const
-	  Polyhedron&) and
-	  Polyhedron::convex_difference_assign_and_minimize(const
-	  Polyhedron&).  They assigns to *this the convex hull of the
-	  set-theoretic difference of *this and the argument (possibly non
-	  minimized or minimized, respectively).
-	  Polyhedron::convex_hull_assign() was missing the final
-	  assert(OK()).
-
-2002-02-22 Friday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.7), src/Polyhedron.cc (1.118), src/Polyhedron.defs.hh
-	  (1.73), tests/limitedwidening1.cc (1.3),
-	  tests/limitedwidening2.cc (1.2):
-	  Polyhedron::limited_widening_assign(const Polyhedron&, ConSys&)
-	  was erroneously returning a (random) boolean: it is now a void
-	  method.
-
-2002-02-22 Friday 19:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.39), limitedwidening2.cc (1.1): New test
-	  to check that the case where the passed constraint system is
-	  inconsistent with respect to the widened polyhedron.	Note: it
-	  currently fails, since Polyhedron::limited_widening_assign() is
-	  buggy, as it is now.
-
-2002-02-22 Friday 19:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/limitedwidening1.cc (1.2): Improved: now we check also the
-	  returned boolean.
-
-2002-02-22 Friday 19:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/print.hh (1.4): New functions to print the constraints and
-	  the generators.
-
-2002-02-22 Friday 19:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.117): Readability improvements to
-	  Polyhedron::limited_widening_assign().
-
-2002-02-22 Friday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.116): Slightly optimized operator <=(const
-	  Polyhedron& x, const Polyhedron& y).
-
-2002-02-22 Friday 08:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.6): Updated for release 0.3.
-
-2002-02-20 Wednesday 19:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.5): Updated.
-
-2002-02-20 Wednesday 13:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.115): In Polyhedron::add_constraints(ConSys&
-	  cs), turned on the BE_LAZY version which does not sort matrices
-	  and does not perform unnecessary copies.
-
-2002-02-17 Sunday 23:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/satisfies1.cc (1.2): Avoid a compiler warning when NOISY is
-	  0.
-
-2002-02-17 Sunday 21:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* acinclude.m4 (1.2), configure.ac (1.23),
-	  interfaces/Prolog/SICStus/Makefile.am (1.8), m4/Makefile.am
-	  (1.3), m4/ac_check_gmp.m4 (1.1), m4/ac_check_gmp_exceptions.m4
-	  (1.3), m4/ac_check_have_gmp.m4 (1.3), tests/Makefile.am (1.38):
-	  GMP configuration machinery rewritten (this should help people
-	  trying to build the PPL under CygWin).
-
-2002-02-15 Friday 16:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/bug6.dat (positive.2): This is the correct test data.
-
-2002-02-15 Friday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: bug1.cc, bug2.cc, bug3.cc, bug4.cc, bug5.cc, bug6.cc
-	  (positive.[3,2,2,2,2,2]): All the invocations of Polyhedron::OK()
-	  were misplaced.
-
-2002-02-15 Friday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, bug6.cc, bug6.dat (positive.[7,1,1]): bug6
-	  shows that problems minimizations problems persist.
-
-2002-02-14 Thursday 14:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.22), src/Integer.cc (1.1), src/Integer.defs.hh
-	  (1.1), src/Integer.inlines.hh (1.1), src/Integer.types.hh (1.1),
-	  src/Makefile.am (1.21): Integer stuff moved up one level.
-
-2002-02-14 Thursday 13:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.37), affine_image1.cc (1.2),
-	  affineimage1.cc (1.1): For consistency, affine_image1.cc has been
-	  renamed affineimage1.cc.
-
-2002-02-14 Thursday 13:17  Elisa Ricci
-
-	* tests/: Makefile.am (1.36), adddimensions1.cc (1.1),
-	  convexhull1.cc (1.1), inters3.cc (1.1), limitedwidening1.cc
-	  (1.1), removedim4.cc (1.1): Added tests for the functions
-	  Polyhedron::add_dimensions_and_project(),
-	  Polyhedron::convex_hull_assign(),
-	  Polyhedron::intersection_assign(),
-	  Polyhedron::limited_widening_assign() and
-	  Polyhedron::remove_higher_dimensions().
-
-2002-02-14 Thursday 11:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.114): Added comments regarding the handling
-	  of the `sorted' flag in methods remove_dimensions and
-	  remove_higher_dimensions.
-
-2002-02-14 Thursday 11:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.cc (1.28): In method remove_invalid_lines_and_rays(),
-	  we do not need to keep the generators sorted (this saves
-	  efficiency, since we were always calling it with a possibly
-	  non-sorted system).  Using remove_invalid_lines_and_rays() in
-	  affine_image.
-
-2002-02-14 Thursday 10:04  Elisa Ricci
-
-	* src/Generator.cc (1.14): Changed the error message and the
-	  comment in function Generator::OK().
-
-2002-02-14 Thursday 09:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.27), Polyhedron.cc (1.113): Avoiding all
-	  shadowing of the space_dim member of a Polyhedron.  Now using the
-	  accessor Polyhedron::space_dimension() only when needed.  Fixed a
-	  few comments.
-
-2002-02-14 Thursday 09:37  Elisa Ricci
-
-	* src/Polyhedron.cc (1.112), tests/Makefile.am (1.35),
-	  tests/includes1.cc (1.1): Erased the abort() at the end of
-	  function Polyhedron::includes(g) and added a test for this
-	  function.
-
-2002-02-13 Wednesday 23:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.21): Bump version number.
-
-2002-02-13 Wednesday 23:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.26), GenSys.defs.hh (1.40): Overload the
-	  output operator for GenSys_Con_Rel.
-
-2002-02-13 Wednesday 23:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.34), affine_image1.cc (1.1), satisfies1.cc
-	  (1.1): New test programs.
-
-2002-02-13 Wednesday 19:08  Elisa Ricci
-
-	* src/: GenSys.cc (1.25), Polyhedron.cc (1.111): Modified the
-	  function Polyhedron::satisfies(...).	In function
-	  GenSys::affine_image(...) we erase the rows that have all the
-	  terms equal to zero.
-
-2002-02-13 Wednesday 12:07  Elisa Ricci
-
-	* src/minimize.cc (positive.7): In functions minimize() and
-	  add_and_minimize(), to obtain the system of constraints in the
-	  case !con_to_gen now we use conversion().
-
-2002-02-12 Tuesday 15:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, bug5.cc, bug5.dat (positive.[6,1,1]): bug5
-	  shows that we still have problems with minimization.
-
-2002-02-12 Tuesday 10:10  Elisa Ricci
-
-	* src/minimize.cc (positive.6): We must simplify also `dest' in
-	  function minimize to erase all redundant constraints in the case
-	  !con_to_gen.	In functions minimize() and add_and_minimize(), in
-	  the case !con_to_gen, there was an error when we choose the
-	  constraints to erase.
-
-2002-02-11 Monday 12:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, bug4.cc, bug4.dat (positive.[5,1,1]): bug4
-	  shows that we still have minimization problems.
-
-2002-02-11 Monday 11:49  Elisa Ricci
-
-	* src/minimize.cc (positive.5): In function add_and_minimize, we
-	  must simplify `dest' in the case !con_to_gen because it can
-	  contain redundant constraints.
-
-2002-02-11 Monday 10:57  Elisa Ricci
-
-	* src/: conversion.cc, minimize.cc, simplify.cc (positive.[3,4,3]):
-	  In function add_and_minimize and in the case of !con_to_gen, the
-	  system of constraints (that in this case is `dest') must contain
-	  the constraints of positivity of variables.  In minimize and
-	  add_and_minimize, we must erase the constraints that are a linear
-	  combination of an equality and a constraint of positivity of
-	  variables.
-
-2002-02-09 Saturday 07:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (positive.4): Error message made more specific.
-
-2002-02-07 Thursday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, bug3.cc, bug3.dat (positive.[4,1,1]): bug3
-	  shows that Polyhedron::minimize() does not minimize.
-
-2002-02-07 Thursday 14:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatMatrix.cc, SatMatrix.inlines.hh (positive.[1,1]):
-	  SatMatrix::columns_erase_to_end() fixed (and no longer inline).
-
-2002-02-07 Thursday 12:25  Elisa Ricci
-
-	* src/: Row.cc, minimize.cc (positive.[3,3]): Corrected an error in
-	  the function Row::only_a_term_is_positive().	In minimize and in
-	  the case !con_to_gen we must call simplify() also for the `dest'
-	  because there is the possibility that constraints that are
-	  redundant with the constraints of positivity of variables are
-	  present in dest.
-
-2002-02-06 Wednesday 08:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, bug2.cc, bug2.dat (positive.[3,1,1]): bug2
-	  shows another problem this time cropping up in
-	  SatMatrix::columns_erase_to_end().
-
-2002-02-06 Wednesday 08:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/bug1.cc (positive.2): Assert that the input polyhedra are
-	  OK.
-
-2002-02-06 Wednesday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.110): Error messages improved.
-
-2002-02-05 Tuesday 22:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am, bug1.cc, bug1.dat (positive.[2,1,1]): bug1
-	  shows a problem with
-	  Polyhedron::convex_hull_assign_and_minimize().
-
-2002-02-05 Tuesday 22:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (positive.3): The input operator now handles
-	  the `positive' flag.
-
-2002-02-05 Tuesday 16:02  Elisa Ricci
-
-	* src/Matrix.cc, src/Matrix.defs.hh, src/Polyhedron.cc,
-	  src/Polyhedron.defs.hh, src/Polyhedron.inlines.hh, src/Row.cc,
-	  src/Row.defs.hh, src/conversion.cc, src/minimize.cc,
-	  src/simplify.cc, tests/Makefile.am, tests/addconstraints1.cc,
-	  tests/addconstraints2.cc, tests/addconstraints3.cc,
-	  tests/addgenerators1.cc, tests/addgenerators2.cc,
-	  tests/affinetrans.cc, tests/append1.cc, tests/append2.cc,
-	  tests/empty1.cc, tests/error2.cc, tests/error3.cc,
-	  tests/error4.cc, tests/error5.cc, tests/error6.cc,
-	  tests/inters1.cc, tests/inters2.cc, tests/onepoint.cc,
-	  tests/permute.cc, tests/randchull1.cc, tests/removedim1.cc,
-	  tests/removedim2.cc, tests/removedim3.cc, tests/smm1.cc
-	  (positive.[1,1,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]):
-	  Considered the case of a positive poited cone (i.e. a polyhedron
-	  composed by points that satisfies the constraints of positivity
-	  of all variables).  Added a test that shows that we can not add
-	  or insert a line in a positive pointed cone.	All the tests use
-	  positive pointed cones.
-
-2002-02-04 Monday 22:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.109): More concise usage of stringstreams.
-
-2002-02-03 Sunday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.6), config.sub (1.6): Updated.
-
-2002-02-01 Friday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc, Polyhedron.defs.hh, Polyhedron.inlines.hh,
-	  Row.cc, Row.defs.hh, conversion.cc, minimize.cc, simplify.cc
-	  (positive.[1,1,1,1,1,1,1,1]): The work on positive polyhedra is
-	  being moved onto the `positive' branch.  Phase 2: latest changes
-	  reapplied on the branch.
-
-2002-02-01 Friday 15:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.108), Polyhedron.defs.hh (1.72),
-	  Polyhedron.inlines.hh (1.14), Row.cc (1.24), Row.defs.hh (1.23),
-	  conversion.cc (1.18), minimize.cc (1.9), simplify.cc (1.9): The
-	  work on positive polyhedra is being moved onto the `positive'
-	  branch.  Phase 1: latest changes undone.
-
-2002-01-31 Thursday 08:35  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.107), Polyhedron.defs.hh (1.71),
-	  Polyhedron.inlines.hh (1.13), Row.cc (1.23), Row.defs.hh (1.22),
-	  conversion.cc (1.17), minimize.cc (1.8), simplify.cc (1.8):
-	  Started to consider the case of positive polyhedra: this part is
-	  controlled by POSITIVE.
-
-2002-01-29 Tuesday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.20): Tell the user how to configure GMP.
-
-2002-01-29 Tuesday 15:41  Elisa Ricci
-
-	* src/Polyhedron.cc (1.106): In function
-	  Polyhedron::remove_higher_dimensions, erased the command `size_t
-	  space_dim = space_dimension()' because it caused a problem.
-
-2002-01-29 Tuesday 11:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.19), interfaces/Prolog/SICStus/ppl_sicstus.cc
-	  (1.28), m4/ac_check_gmp_exceptions.m4 (1.2),
-	  m4/ac_check_have_gmp.m4 (1.2), src/Constraint.cc (1.12),
-	  src/Constraint.inlines.hh (1.14), src/Generator.cc (1.13),
-	  src/Generator.defs.hh (1.33), src/LinExpression.cc (1.8),
-	  src/LinExpression.inlines.hh (1.9), src/Matrix.cc (1.26),
-	  src/Matrix.inlines.hh (1.13), src/Polyhedron.defs.hh (1.70),
-	  src/Row.cc (1.22), src/Row.defs.hh (1.21), src/conversion.cc
-	  (1.16), src/globals.hh (1.6), tests/randchull1.cc (1.9): We now
-	  use the integer C++ class of GMP, instead of baking our own.
-	  Note: we now require GMP 4.0.1 or higher.
-
-2002-01-29 Tuesday 08:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.20): Finish backing out the unwanted commit.
-
-2002-01-29 Tuesday 08:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.105): Better formatting for error messages.
-
-2002-01-29 Tuesday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.cc (1.11), Constraint.inlines.hh (1.13),
-	  Generator.cc (1.12), Generator.defs.hh (1.32), LinExpression.cc
-	  (1.7), LinExpression.inlines.hh (1.8), Matrix.cc (1.25),
-	  Matrix.defs.hh (1.14), Matrix.inlines.hh (1.12), Polyhedron.cc
-	  (1.104), Polyhedron.defs.hh (1.69), Row.cc (1.21), Row.defs.hh
-	  (1.20), conversion.cc (1.15), globals.hh (1.5): Back out previous
-	  commit.
-
-2002-01-29 Tuesday 08:23  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.cc (1.10), Constraint.inlines.hh (1.12),
-	  Generator.cc (1.11), Generator.defs.hh (1.31), LinExpression.cc
-	  (1.6), LinExpression.inlines.hh (1.7), Makefile.am (1.19),
-	  Matrix.cc (1.24), Matrix.defs.hh (1.13), Matrix.inlines.hh
-	  (1.11), Polyhedron.cc (1.103), Polyhedron.defs.hh (1.68), Row.cc
-	  (1.20), Row.defs.hh (1.19), conversion.cc (1.14), globals.hh
-	  (1.4): Better formatting for error messages.
-
-2002-01-29 Tuesday 07:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.27): Fix a couple of
-	  namespace and include file glitches.
-
-2002-01-27 Sunday 22:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.18), ppl.spec.in (1.7), doc/Makefile.am (1.14),
-	  interfaces/Prolog/SICStus/Makefile.am (1.7), src/Makefile.am
-	  (1.18), tests/Makefile.am (1.33): The move to libtool is
-	  complete: we can now build and distribute (with, e.g., RPM)
-	  static and dynamic versions of the library.
-
-2002-01-27 Sunday 17:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.12), configure.ac (1.17), ltmain.sh (1.1): Start
-	  to migrate to libtool.
-
-2002-01-27 Sunday 15:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.28): Fixed a typo in a (documentation)
-	  comment.
-
-2002-01-19 Saturday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.29), ConSys.inlines.hh (1.10),
-	  GenSys.defs.hh (1.39), GenSys.inlines.hh (1.10): ConSys and
-	  GenSys were both missing the assignment operator.
-
-2002-01-14 Monday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.5), config.sub (1.5): Updated.
-
-2001-12-23 Sunday 22:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.19): Include maxmin.hh.
-
-2001-12-20 Thursday 09:21  Elisa Ricci
-
-	* src/Polyhedron.cc (1.102): Modified the part of function
-	  Polyhedron::add_constraints(cs) that is controlled by "#if 0":
-	  used Matrix::grow(size_t, size_t) instead of resize(size_t,
-	  size_t) and swap instead of "=", where it is possible.
-
-2001-12-15 Saturday 11:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.6): Distribute also
-	  clpq2.pl.
-
-2001-12-15 Saturday 11:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.cc (1.23), Polyhedron.cc (1.101), conversion.cc
-	  (1.13): Some comments fixed.
-
-2001-12-14 Friday 16:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/smmdiff.clpq (1.1): smmdiff.clpq is
-	  based on smm.clpq and solves the classic send-more-money problem
-	  so that each variable is bound to a unique number.
-
-2001-12-14 Friday 16:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq2.pl (1.1): clpq2.pl is an
-	  alternative meta-interpreter with some extra features, including
-	  disjunction.
-
-2001-12-13 Thursday 16:52  Elisa Ricci
-
-	* tests/: Makefile.am (1.32), addgenerators1.cc (1.1),
-	  addgenerators2.cc (1.1): Added a test for the function
-	  Polyhedron::add_generators_and_minimize(gs) and one for the
-	  function Polyhedron::add_generators(gs).
-
-2001-12-13 Thursday 16:50  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.100), Polyhedron.defs.hh (1.67): The
-	  function Polyhedron::add_generators(gs) now is called
-	  Polyhedron::add_generators_and_minimize(gs).	Added the function
-	  Polyhedron::add_generators(gs) that adds the system of generators
-	  "gs" to the polyhedron without minimizing the resulting
-	  polyhedron.
-
-2001-12-13 Thursday 11:35  Elisa Ricci
-
-	* src/Polyhedron.cc (1.99): In functions
-	  Polyhedron::add_constraints() and add_constraints_and_minimize()
-	  improved the comments for the case of a zero-dimensional
-	  polyhedron.
-
-2001-12-13 Thursday 08:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.98): Some comments have been improved.
-
-2001-12-12 Wednesday 18:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.31), bug1.cc (1.2), bug2.cc (1.2):
-	  Obsolete bug witnesses removed.
-
-2001-12-12 Wednesday 18:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.30), addconstraints3.cc (1.1): New test.
-
-2001-12-12 Wednesday 18:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.cc (1.10), Generator.defs.hh (1.30),
-	  LinExpression.defs.hh (1.21), Matrix.cc (1.22), Polyhedron.cc
-	  (1.97), Polyhedron.defs.hh (1.66), Polyhedron.inlines.hh (1.12),
-	  Row.cc (1.18), Row.defs.hh (1.18), conversion.cc (1.12),
-	  minimize.cc (1.7), simplify.cc (1.7): Kill trailing blanks.
-
-2001-12-12 Wednesday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Row.cc (1.17): The function compare(const Row& x, const Row&
-	  y) can now compare rows of different size.
-
-2001-12-12 Wednesday 17:16  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.96), Polyhedron.inlines.hh (1.11): The
-	  function Polyhedron::set_zero_dim_univ() is now in Polyhedron.cc
-	  (instead of Polyhedron.inlines.hh), says that a zero-dimensional
-	  polyhedron is in a 0-dimensional space and clears the system of
-	  the polyhedron.  Used "space_dim" instead of "space_dimension()"
-	  (where we call this function many times).
-
-2001-12-12 Wednesday 14:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.95): Some minor improvements.
-
-2001-12-11 Tuesday 22:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.94): Bad uses of the negation operator `!'
-	  have been fixed.  Some comments improved.
-
-2001-12-11 Tuesday 19:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatMatrix.cc (1.10), SatMatrix.defs.hh (1.11): Wrong
-	  comments fixed.
-
-2001-12-11 Tuesday 19:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatMatrix.defs.hh (1.10): Spurious declarations removed: two
-	  methods were declared and never used nor implemented.
-
-2001-12-11 Tuesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.12), Matrix.inlines.hh (1.10): Comments
-	  for Matrix::clear() adjusted.
-
-2001-12-11 Tuesday 18:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: SatMatrix.cc (1.9), SatMatrix.defs.hh (1.9),
-	  SatMatrix.inlines.hh (1.6): SatMatrix::clear() was complete
-	  nonsense: rewritten.
-
-2001-12-11 Tuesday 17:10  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.inlines.hh (1.9): Matrix::clear() now releases as much
-	  memory as possible.
-
-2001-12-11 Tuesday 16:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.tex (1.6), user.tex (1.7): People that are no longer
-	  contributing or willing to contribute take a back seat (will
-	  simplify the publication of the documentation as a technical
-	  report).
-
-2001-12-11 Tuesday 11:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatRow.inlines.hh (1.7): Much more efficient (and concise)
-	  implementation for SatRow::clear_from().
-
-2001-12-11 Tuesday 10:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.93), Polyhedron.defs.hh (1.65): Comments
-	  added for Polyhedron::remove_higher_dimensions().
-
-2001-12-11 Tuesday 09:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.92): Polyhedron::Polyhedron(ConSys& cs)
-	  improved.
-
-2001-12-11 Tuesday 00:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.cc (1.21), Matrix.defs.hh (1.11): Always compile
-	  Matrix::check_sorted().  Matrix::OK() fixed: the symbols `cerr'
-	  and `endl' live in the `std' namespace.
-
-2001-12-11 Tuesday 00:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.cc (1.20), Matrix.inlines.hh (1.8), Polyhedron.cc
-	  (1.91): A default-constructed (empty) Matrix is now declared as
-	  sorted.  Matrix::grow() was not handling the `sorted' flag
-	  correctly: fixed.  Matrix::add_zero_columns() is now an inline
-	  method.  Matrix::OK() now checks that the `sorted' flag is set
-	  only if the matrix is actually sorted.
-	  Matrix::add_rows_and_columns() now asserts OK() before returning.
-	  Some comments fixed.
-
-2001-12-10 Monday 16:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatMatrix.cc (1.8): SatMatrix::resize() was not shrinking the
-	  matrix when requested to do so: fixed.
-
-2001-12-10 Monday 12:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatMatrix.cc (1.7): Added speculative memory allocation for
-	  SatMatrix.
-
-2001-12-10 Monday 08:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.90), Row.defs.hh (1.17): Some comments
-	  have been fixed.
-
-2001-12-09 Sunday 11:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.16): Bump version number so as to avoid
-	  confusion.
-
-2001-12-08 Saturday 10:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/expected (1.2), src/Row.defs.hh (1.16):
-	  EXTRA_NORMALIZATION defaults to 0.  Expected outcome from the
-	  clpq test updated.
-
-2001-12-05 Wednesday 18:58  Elisa Ricci
-
-	* src/: ConSys.cc (1.21), GenSys.cc (1.24), Matrix.cc (1.19),
-	  Matrix.defs.hh (1.10), Polyhedron.cc (1.89), Row.cc (1.16),
-	  Row.defs.hh (1.15), conversion.cc (1.11): The method
-	  Row::normalize() has been restored so that it only ensures
-	  coefficients are mutually prime.  The new method
-	  Row::strong_normalize() also ensures that the first non-zero
-	  coefficient of lines and equalities is negative.  The new method
-	  Matrix::strong_normalize() that calls strongly normalizes each
-	  row.	Strong normalization is now used wherever it is guaranteed
-	  to be both safe and efficient.  The "EXTRA_NORMALIZATION" flag is
-	  used to decide whether strong_normalization is also used in
-	  Row::libear_combine() (since in this case strong normalization
-	  can incur performance penalties).
-
-2001-12-03 Monday 09:16  Elisa Ricci
-
-	* src/Row.cc (1.15): Changed the function Row::normalize() so that
-	  the first coefficient different from zero is negative (and not
-	  positive).
-
-2001-12-02 Sunday 16:09  Elisa Ricci
-
-	* src/: Matrix.cc (1.18), Polyhedron.cc (1.88), Row.cc (1.14): In
-	  Polyhedron::intersection_assign_and_minimize added the assertion
-	  to verify if the resulting polyhedron is OK.	In function
-	  Row::normalize() if we normalize an equality or a line, we decide
-	  that the first element of the corresponding row is positive.	In
-	  function Matrix::back_substitute(), if we call linear_combine
-	  with an equality and an inequality, we must change the
-	  coefficients of the equality so that the coefficient of the
-	  inequality in the linear combination is non-negative.
-
-2001-11-26 Monday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.4), config.sub (1.4): Updated.
-
-2001-11-26 Monday 17:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.26): Typo fixed.
-
-2001-11-21 Wednesday 19:26  Elisa Ricci
-
-	* src/Polyhedron.cc (1.87): Changed the message of some exceptions:
-	  where it is possible we use the functions
-	  `throw_different_dimensions' and `throw_dimension_incompatible'.
-
-2001-11-20 Tuesday 20:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.25): End-of-line characters
-	  left behind be read_term/2 are now eaten.
-
-2001-11-13 Tuesday 21:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.4): Updated.
-
-2001-11-13 Tuesday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.5): Mention that we have greatly improved the
-	  documentation.
-
-2001-11-13 Tuesday 21:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.3): Updated.
-
-2001-11-13 Tuesday 21:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.12): Use `| ?-'
-	  everywhere a goal is introduced.
-
-2001-11-13 Tuesday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.11): `E.g.' and `i.e.'
-	  must always be followed by comma.  There are no exceptions to
-	  this rule.
-
-2001-11-13 Tuesday 18:14  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.10): Documentation for
-	  ppl_add_consraints_and _minimize and for ppl_copy_polyhedron
-	  added.  Two examples for ppl_insert_constraints added that
-	  compare with examples for those for
-	  ppl_add_consraints_and_minimize.  Introductory sentence added.
-	  "To be written"  replaced by "Support for XXX ...future release."
-
-2001-11-13 Tuesday 17:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.8): Updated for release 0.2.
-
-2001-11-13 Tuesday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.15): Version number bumped to 0.2.
-
-2001-11-13 Tuesday 17:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.4): PPL 0.2 will be released on November 14, 2001.
-
-2001-11-13 Tuesday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.5): Packaging issues
-	  solved.
-
-2001-11-13 Tuesday 15:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: Makefile.am (1.4), check_script
-	  (1.1), expected (1.1): Use the meta-interpreter for `make check'.
-
-2001-11-13 Tuesday 15:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.24): reconsult(File) command
-	  fixed.
-
-2001-11-13 Tuesday 15:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_check.pl (1.7): Gone, at last.
-
-2001-11-13 Tuesday 15:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.23): Legalese added.
-
-2001-11-13 Tuesday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.22): Better support for
-	  debugging.  Now the `spy' command works as expected by most
-	  Prolog users.
-
-2001-11-13 Tuesday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/tak.clpq (1.1): New test program.
-
-2001-11-13 Tuesday 09:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ack.clpq (1.3), ackn.clpq (1.1):
-	  ack.clpq is the original version whereas ackn.clpq is the
-	  normalized version.
-
-2001-11-12 Monday 22:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.21): Fixed a bug whereby
-	  original_goal_variables/1 was not retracted in some cases.
-	  Multiple clauses for original_goal_variables/1 were causing the
-	  use of already discarded polyhedra.
-
-2001-11-12 Monday 22:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.25): When compiled
-	  with run-time assertions switched on, the interface now checks
-	  that the Prolog caller is not messing around with Polyhedron's
-	  addresses.
-
-2001-11-12 Monday 17:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.20): Use
-	  ppl_add_constraints_and_minimize/2 instead of adding one
-	  constraint at a time and then checking for emptiness.
-
-2001-11-12 Monday 17:41  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.24), ppl_sicstus.pl
-	  (1.15): New interface predicate
-	  ppl_add_constraints_and_minimize/2.
-
-2001-11-12 Monday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.19): Fixed bug in
-	  read_clauses/1: now unit clauses are read correctly.
-
-2001-11-12 Monday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.18): The meta-interpreter
-	  core has been rewritten.  Computed answer constraints are also
-	  output in a readable way with variables named as in the original
-	  goal.
-
-2001-11-12 Monday 16:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.9): General
-	  improvements throughout the file.
-
-2001-11-12 Monday 09:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.8): A linear expression
-	  for defining constraints or generators can only have integer
-	  coefficients.  Therefore division by a number is not allowed and
-	  option removed from the grammar rules.  Also a number can
-	  multiply a PPL variable but not an arbitrary linear expression.
-
-2001-11-11 Sunday 18:19  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.guess (1.3), config.sub (1.3): Updated.
-
-2001-11-11 Sunday 18:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/Makefile.am (1.3): Missing dependency
-	  added: pplsp depends on the library.	Do not assume `.' is in
-	  PATH.
-
-2001-11-11 Sunday 17:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.27), Constraint.inlines.hh (1.11),
-	  Generator.defs.hh (1.29), Generator.inlines.hh (1.15),
-	  Row.defs.hh (1.14): std::swap() specialized both for Constraint
-	  and Generator.  Less verbose comments for such a simple
-	  operation.
-
-2001-11-11 Sunday 17:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/GenSys.cc (1.23): Spurious assertions removed.
-
-2001-11-11 Sunday 17:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.28), ConSys.inlines.hh (1.9), GenSys.cc
-	  (1.22), GenSys.defs.hh (1.38), GenSys.inlines.hh (1.9):
-	  ConSys::swap() and GenSys::swap() removed: they are inherited
-	  from Matrix.	GenSys::remove_invalid_lines_and_rays()
-	  implemented.
-
-2001-11-11 Sunday 16:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: GenSys.cc (1.21), GenSys.defs.hh (1.37), Polyhedron.cc
-	  (1.86): Use Constraint::trivial_true() and
-	  Constraint::trivial_false().	Prepare to remove invalid line and
-	  rays from a GenSys.  This is necessary in the
-	  Polyhedron::remove_...() methods.
-
-2001-11-11 Sunday 16:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ConSys.cc (1.20): Use Constraint::is_trivial_true().
-
-2001-11-11 Sunday 15:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.cc (1.9), Generator.defs.hh (1.28): Added `bool
-	  Generator::OK() const'.
-
-2001-11-11 Sunday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.cc (1.9), Constraint.defs.hh (1.26):
-	  Constraint::is_trivial() renamed is_trivial_true().
-	  Constraint::is_unsatisfiable() renamed is_trivial_false().  Both
-	  now use Row::all_homogeneous_terms_are_zero().
-
-2001-11-11 Sunday 15:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Row.cc (1.13), Row.defs.hh (1.13): Added `bool
-	  Row::all_homogeneous_terms_are_zero() const'.
-
-2001-11-11 Sunday 12:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.85): All other things being equal, prefer
-	  pre-increment/decrement to post-increment/decrement.
-
-2001-11-10 Saturday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: append1.cc (1.7), append2.cc (1.8), permute.cc (1.11):
-	  Infamous relops are already neutralized in ppl_install.hh.
-
-2001-11-09 Friday 19:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.29), smm1.cc (1.1): New test program.
-
-2001-11-09 Friday 18:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.17): Now clpq.pl does not
-	  require the lists module.
-
-2001-11-09 Friday 17:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.16): Now a vertex is
-	  inserted before any lines or rays.  This avoids a bug when
-	  inserting generators into the empty polyhedron.
-
-2001-11-09 Friday 16:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.15): Now the interpreter
-	  answers "yes" or "no".  The listing/0 command has been improved.
-
-2001-11-09 Friday 15:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Matrix.cc (1.17), Matrix.defs.hh (1.9), Polyhedron.cc
-	  (1.84), Row.cc (1.12), Row.defs.hh (1.12), conversion.cc (1.10):
-	  Another go at smart memory allocation.
-
-2001-11-09 Friday 15:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/addconstraints2.cc (1.4): Catch standard exceptions.
-
-2001-11-09 Friday 14:22  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.7): Corrections and
-	  improvements as suggested by Enea implemented.  Other corrections
-	  done and examples added.
-
-2001-11-09 Friday 13:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.14): Now there are no calls
-	  to the ppl_convex_hull_assign operation.  This version keeps the
-	  list of generators and uses that to recover from failure paths.
-
-2001-11-09 Friday 08:48  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.13): Now many of the
-	  unwanted temporary copies of polyhedra are deleted earlier.
-
-2001-11-08 Thursday 22:23  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.6): More detailed
-	  specification of the interface predicates with many examples
-	  added.  Introduction includes grammar rules and list of some
-	  important issues wrt using the PPL in Prolog.
-
-2001-11-08 Thursday 17:37  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.12): Each constraint output
-	  on a new line.
-
-2001-11-08 Thursday 15:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.pl (1.14): Comment
-	  containing documentation removed.
-
-2001-11-08 Thursday 15:30  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.11): The main polyhedron is
-	  now deleted when solve(goal) fails.
-
-2001-11-08 Thursday 12:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.10): Unwanted polyhedra are
-	  deleted now when calls to solve/7 fail.
-
-2001-11-08 Thursday 11:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.16): Matrix::resize_no_copy() now deals with the
-	  case where the vector of rows must be reallocated.
-
-2001-11-08 Thursday 10:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/Prolog_interface.dox (1.5): Detailed predicate
-	  descriptions drafted for SICStus Prolog.
-
-2001-11-08 Thursday 08:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.9): Some improvements to the
-	  efficiency by replacing calls to member/2 by member_check/2 and
-	  by reducing the number of calls to ppl_check_empty.  Also,
-	  numbervars/3 replaced by numvars/3 defined within clpq.pl.
-
-2001-11-07 Wednesday 13:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.pl (1.13): First draft of
-	  documentation for ppl_sicstus.pl the interface for Prolog.
-
-2001-11-07 Wednesday 11:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.8): This version tries to
-	  reduce the amount of memory leakage between requests for more
-	  solutions and between tests.
-
-2001-11-06 Tuesday 16:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.7): More small improvements
-	  made.
-
-2001-11-06 Tuesday 16:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/: ack.clpq (1.2), clpq.pl (1.6):
-	  clpq.pl: The comments have been corrected and 	 some
-	  simplifications to the code.	ack.clpq: A bug in the second
-	  clause corrected.
-
-2001-11-06 Tuesday 15:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.5): Temporary version. This
-	  is working but needs commenting and further checking.
-
-2001-11-05 Monday 11:36  Elisa Ricci
-
-	* src/ConSys.cc (1.19), src/ConSys.defs.hh (1.27), src/GenSys.cc
-	  (1.20), src/GenSys.defs.hh (1.36), src/Polyhedron.cc (1.83),
-	  src/Polyhedron.defs.hh (1.64), tests/affinetrans.cc (1.5),
-	  tests/error2.cc (1.8): Changed the name of some functions:
-	  Polyhedron::assign_variable --> Polyhedron::affine_image
-	  Polyhedron::substitute_variable --> Polyhedron::affine_preimage
-	  GenSys::assign_variable --> GenSys::affine_image
-	  ConSys::substitute_variable --> ConSys::affine_preimage The new
-	  names are used in the examples and in the tests.
-
-2001-11-05 Monday 10:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/smm.clpq (1.1): A new example program.
-
-2001-11-05 Monday 09:57  Elisa Ricci
-
-	* src/Polyhedron.cc (1.82): At the end of the functions
-	  Polyhedron::add_dimensions_and_project and
-	  Polyhedron::add_dimensions_and_constraints, we can have an empty
-	  polyhedron without the flag EMPTY sets: so, the assertion OK() is
-	  modified not to verify if the system of constraints is
-	  satisfiable.
-
-2001-11-05 Monday 09:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ack.clpq (1.1), fib.clpq (1.1),
-	  mc91.clpq (1.1), sumto.clpq (1.1): Small programs to test
-	  clpq.pl.
-
-2001-11-05 Monday 08:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.81): The final OK() assertion of
-	  Polyhedron::add_dimensions_and_embed() has been modified so as to
-	  allow for empty polyhedra.  Needs checking.  A similar analysis
-	  must be conducted on Polyhedron::add_dimensions_and_project().
-
-2001-11-05 Monday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.4): Let `.clpq' be the
-	  default extension.
-
-2001-11-05 Monday 07:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.17), Matrix.cc (1.15), Matrix.inlines.hh
-	  (1.7), Row.defs.hh (1.11), Row.inlines.hh (1.8), globals.hh
-	  (1.3): Speculative memory allocation is now completely
-	  implemented.	The function `size_t compute_capacity(size_t
-	  requested_size)' is now in namespace scope, since it is used both
-	  for Row's and for Matrix columns.  Its current implementation
-	  (2*(requested_size+1)) is to be considered experimental.
-
-2001-11-04 Sunday 22:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.34): Doxygen no longer causes a spurious
-	  string of characters in the user manual.
-
-2001-11-04 Sunday 22:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.14): In Matrix(const Matrix& y) the right
-	  row-capacity is computed for the copy.
-
-2001-11-04 Sunday 19:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.13): The methods Matrix::add_row(...) are now
-	  careful with respect to reallocation of the `rows' vector.  The
-	  stage is now ready for speculative memory allocation.
-
-2001-11-04 Sunday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.25), Constraint.inlines.hh (1.10),
-	  Polyhedron.cc (1.80): Added and used `const Constraint&
-	  Constraint::zero_dim_positivity()'.
-
-2001-11-04 Sunday 15:59  Elisa Ricci
-
-	* src/Polyhedron.cc (1.79): In functions
-	  Polyhedron::update_constraints and Polyhedron::update_generators
-	  we only have a saturation matrix up-to-date: so, we must say that
-	  the other is not up-to-date.	In function
-	  Polyhedron::assign_variable, if the transformation is not
-	  invertible, we must have the system of generators up-to-date, and
-	  then if the polyhedron is non-empty, we use the function
-	  GenSys::assign_variable to find the resulting polyhedron. so, we
-	  always modify the polyhedron (we do not modify the polyhedron if
-	  it is empty or if there are dimensional problems).
-
-2001-11-04 Sunday 15:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.78): Polyhedron::remove_...() methods
-	  improved.
-
-2001-11-04 Sunday 12:56  Elisa Ricci
-
-	* src/Matrix.cc (1.12): A wrong comment erased: it is not true that
-	  the Row::linear_combine changes the flag `sorted' of the matrix.
-
-2001-11-04 Sunday 12:22  Elisa Ricci
-
-	* src/Polyhedron.cc (1.77): In functions
-	  Polyhedron::assign_variable and Polyhedron::substitute_variable
-	  we must clear the flags SAT_C_UP_TO_DATE and SAT_G_UP_TO_DATE,
-	  because after the operations the polyhedron is changed.
-
-2001-11-04 Sunday 12:01  Elisa Ricci
-
-	* src/Matrix.cc (1.11): In function Matrix::gauss(), we change a
-	  row without changing "changed" that indicates that the matrix is
-	  changed: so the flag "sorted" of the matrix was true even if the
-	  matrix was not sorted.
-
-2001-11-04 Sunday 10:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.23):
-	  ppl_intersection_assign/2 calls
-	  Polyhedron::intersection_assign().
-
-2001-11-04 Sunday 09:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.18), GenSys.cc (1.19), Makefile.am (1.16),
-	  Matrix.cc (1.10), Matrix.defs.hh (1.8), Matrix.inlines.hh (1.6),
-	  Polyhedron.cc (1.76), Row.cc (1.11), Row.defs.hh (1.10),
-	  Row.inlines.hh (1.7), SatRow.inlines.hh (1.6), conversion.cc
-	  (1.9), globals.cc (1.2), globals.hh (1.2), minimize.cc (1.6):
-	  OK() methods changed to allow for ConSys and GenSys with a single
-	  column.
-
-	  Temporary Integer's now incapsulated into a function: the source
-	  globals.cc is no longer necessary.
-
-	  The funcionality of Matrix::compute_row_capacity() is now
-	  provided by Row::compute_capacity().
-
-	  Tracking of capacity improved (there are still several problems
-	  though).  Matrix::sort_rows() rewritten: the STL algorithms keep
-	  the freedom of making copies of rows and we cannot accept that.
-
-	  Temporaty kludges added to the Matrix::add_row() methods: if the
-	  rows vector must grow, the implementation will copy the rows
-	  changing their capacity.  A proper solution to this problem must
-	  be found.
-
-	  OK() safety checks added tp Polyhedron::remove_dimensions() and
-	  Polyhedron::remove_higher_dimensions().
-
-	  Polyhedron::remove_dimensions() and
-	  Polyhedron::remove_higher_dimensions() where not clearing the
-	  "generators are minimized" flag.  With this change the flag is
-	  cleared a bit too often.  A proper solution must be found.
-
-	  Polyhedron::remove_dimensions() and
-	  Polyhedron::remove_higher_dimensions() now use
-	  Matrix::resize_no_copy() instead of Matrix::resize() in order to
-	  shrink matrices.
-
-	  Row::OK() added and used.  When compiling with assertions each
-	  rows brings its own capacity in the capacity_ flag.  The
-	  consistency of this information is checked by Row::OK() which, in
-	  turn, is called by Matrix::OK() for each row of the matrix.  For
-	  internal use, the capacity_ field can be accessed by `size_t
-	  Row::capacity() const'.
-
-	  `void Row::assign(Row& y)' added to assign the implementation of
-	  y to *this.
-
-	  `std::iter_swap()' specialized both for vector<Row> and
-	  vector<SatRow>.
-
-2001-11-04 Sunday 08:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.28), bug2.cc (1.1): bug2.cc shows a
-	  problem whereby we do not correctly keep track of the status of
-	  saturation matrices.
-
-2001-11-04 Sunday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.27), bug1.cc (1.1): bug1.cc shows a
-	  problem with the tracking of matrix sortedness.
-
-2001-11-03 Saturday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/append1.cc (1.6): Two assertions added: they prove that
-	  Polyhedron::remove_dimensions() is broken.
-
-2001-11-03 Saturday 13:49  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.26), GenSys.defs.hh (1.35): "no guarantee
-	  at all" changed into "no guarantees" as suggested by Pat.
-
-2001-11-03 Saturday 10:45  Elisa Ricci
-
-	* src/Polyhedron.cc (1.75): In a comment correct an error: there
-	  was "systemo" instead of "system".
-
-2001-11-03 Saturday 10:40  Elisa Ricci
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.22),
-	  src/Polyhedron.cc (1.74), src/Polyhedron.defs.hh (1.63),
-	  tests/inters1.cc (1.7), tests/inters2.cc (1.9): The function
-	  Polyhedron::intersection_assign now is
-	  Polyhedron::intersection_assign_and_minimize.  Added a new
-	  function Polyhedron::intersection_assign that computes the
-	  intersection between x and y without minimizing the result.
-
-2001-11-02 Friday 17:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.3): Use
-	  ppl_remove_higher_dimensions/2.
-
-2001-11-02 Friday 17:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.21), ppl_sicstus.pl
-	  (1.12): Added ppl_remove_higher_dimensions/2.
-
-2001-11-02 Friday 17:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.73), Polyhedron.defs.hh (1.62): New method
-	  drafted: void Polyhedron::remove_higher_dimensions(size_t
-	  new_dimension).
-
-2001-11-02 Friday 17:22  Elisa Ricci
-
-	* src/Polyhedron.cc (1.72), src/Polyhedron.defs.hh (1.61),
-	  tests/addconstraints1.cc (1.2), tests/append1.cc (1.5),
-	  tests/append2.cc (1.7), tests/error3.cc (1.8), tests/permute.cc
-	  (1.10): The Polyhedron::add_constraints now is
-	  Polyhedron::add_constraints_and_minimize, while
-	  Polyhedron::add_constraints_lazy now is only
-	  Polyhedron::add_constraints.	The Polyhedron::convex_hull_assign
-	  now is Polyhedron::convex_hull_assign_and_minimize, while
-	  Polyhedron::convex_hull_assign_lazy now is
-	  Polyhedron::convex_hull_assign.
-
-2001-11-02 Friday 16:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/clpq.pl (1.2): Some infrastructure
-	  added to simplify loading programs and trying them.
-
-2001-11-02 Friday 15:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.33), src/ConSys.defs.hh (1.25),
-	  src/Constraint.defs.hh (1.24), src/GenSys.defs.hh (1.34),
-	  src/Generator.defs.hh (1.27), src/LinExpression.defs.hh (1.20),
-	  src/Polyhedron.defs.hh (1.60): A further scan on almost all user
-	  documentation in order to better comment on space-dimensionality
-	  checks.
-
-2001-11-02 Friday 14:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: clpq.pl (1.1), solve.pl (1.19):
-	  Renamed.
-
-2001-11-02 Friday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Matrix.cc (1.9): Matrix::resize_no_copy() improved.  It now
-	  preserves the sortedness flag in the easy cases.
-
-2001-11-02 Friday 13:28  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.18): Comments added
-	  throughout.
-
-2001-11-02 Friday 09:01  Elisa Ricci
-
-	* src/Row.cc (1.10): In a comment of operator *(Row, Row) used
-	  "dimension-compatible", instead of "dimension-compatibility".
-
-2001-11-02 Friday 08:24  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.17): An improved version of
-	  the interpreter. This is a bit faster.
-
-2001-11-01 Thursday 19:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.26): Link the GMP library after the PPL.
-
-2001-11-01 Thursday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.14): The --with-cc configure option has been
-	  fixed (it affected CXX instead of CC).
-
-2001-11-01 Thursday 18:08  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.16): Now only use the
-	  copied polyhedron when trying a clause.
-
-2001-11-01 Thursday 17:27  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.15): Bug is fixed and test
-	  added to check bug is dead.  Also, more care is taken to remove
-	  polyhedron that are no longer needed.
-
-2001-11-01 Thursday 15:44  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.14): Now, delete_polyhedron
-	  is used when the call to solve((A,B)...) fails as well as when it
-	  succeeds.
-
-2001-11-01 Thursday 15:36  Elisa Ricci
-
-	* src/: ConSys.cc (1.17), GenSys.cc (1.18), Row.cc (1.9),
-	  Row.defs.hh (1.9): Erased the function projected_scalar_prod(x,
-	  y) and used instead of it the operator * that it is changed to
-	  support also the case of x.size() < y.size (operator * so can be
-	  used in the case x.size <= y.size).  The functions
-	  GenSys::satisfy(Constraint) and
-	  ConSys::satisfies_all_constraints(Generator) are modified to use
-	  only the operator *.
-
-2001-11-01 Thursday 14:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.13): Names of terms made
-	  more descriptive.
-
-2001-11-01 Thursday 14:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.cc (1.8), Matrix.inlines.hh (1.5),
-	  Polyhedron.inlines.hh (1.10), Row.cc (1.8), Row.defs.hh (1.8),
-	  SatMatrix.defs.hh (1.8), SatMatrix.inlines.hh (1.5),
-	  SatRow.defs.hh (1.8), SatRow.inlines.hh (1.5), Status.cc (1.8),
-	  Status.defs.hh (1.10), Status.inlines.hh (1.4),
-	  Variable.inlines.hh (1.4): Using the \related doxygen command
-	  everywhere appropriate (but not using it for specialization of
-	  std::swap functions).  All inline functions enclosed in namespace
-	  delimiters: removed redundant namespace qualifiers accordingly.
-
-2001-11-01 Thursday 13:53  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.12): Now temporary
-	  polyhedra are deleted when they are no longer needed.
-
-2001-11-01 Thursday 13:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.11): Old code for
-	  ppl_renew_polyhedron that does not use ppl_delete_polyhedron has
-	  been restored.
-
-2001-11-01 Thursday 11:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.10): Now all but the head
-	  variables are projected away.  Other general improvements and
-	  corrections done.
-
-2001-11-01 Thursday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.7), Polyhedron.cc (1.71), Row.defs.hh
-	  (1.7), Row.inlines.hh (1.6): Using the \relates doxygen command
-	  for Row and Matrix.  Enclosing inline functions in the namespace
-	  delimiters.  Avoiding useless namespace qualifiers.
-
-2001-11-01 Thursday 07:48  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* NEWS (1.3): Drafted.
-
-2001-10-31 Wednesday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.20): Removed
-	  false_constraint_term(): it is no longer needed.
-
-2001-10-31 Wednesday 22:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.19), ppl_sicstus.pl
-	  (1.11), solve.pl (1.9): ppl_copy_polyhedron/2 is now provided by
-	  the interface.
-
-2001-10-31 Wednesday 22:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.18): In
-	  ppl_get_constraints/2, no longer treat empty polyhedra specially.
-	  get_generator() renamed generator_term().
-
-2001-10-31 Wednesday 21:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.17): In
-	  ppl_get_generators/2, no longer abort if the polyhedron is
-	  zero-dimensional.
-
-2001-10-31 Wednesday 21:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.23), Generator.defs.hh (1.26),
-	  Polyhedron.defs.hh (1.59), Variable.defs.hh (1.10): Exploiting
-	  the doxygen special command \relates to put the documentation of
-	  non-friend functions inside the documentation of the related
-	  class.
-
-2001-10-31 Wednesday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.16): All C++
-	  exceptions are now handled and translated into Prolog exceptions.
-
-2001-10-31 Wednesday 18:25  Elisa Ricci
-
-	* src/: Matrix.cc (1.7), Polyhedron.cc (1.70): Now, the function
-	  merge_row_assign resizes the second matrix if it is necessary: it
-	  means that in functions add_constraints_lazy and
-	  limited_widening_assign we do not resize the matrix cs.  In
-	  Polyhedron::OK the check of the number of columns is not
-	  necessary.
-
-2001-10-31 Wednesday 15:37  Elisa Ricci
-
-	* src/Polyhedron.cc (1.69): In function Polyhedron::OK() the case
-	  of is_empty == true is considered.
-
-2001-10-31 Wednesday 14:45  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.8): Now, backtracking works
-	  for some queries including fibonacci.  Also it works with a test
-	  that checks deeper backtracking.
-
-2001-10-31 Wednesday 14:36  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.68): In the checking function OK, we were
-	  forgetting return or jump to the appropriate code after having
-	  checked the correctness of a 0-space dim polyhedron.
-
-2001-10-31 Wednesday 12:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.67): A missing "return" added inside
-	  "add_dimensions_and_constraints".
-
-2001-10-31 Wednesday 12:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.58): Added specification for
-	  add_dimensions_and_constraints(ConSys& cs).
-
-2001-10-31 Wednesday 11:52  Elisa Ricci
-
-	* src/Polyhedron.cc (1.66): In functions
-	  Polyhedron::widening_assign and
-	  Polyhedron::limited_widening_assign considered the case of the
-	  polyhedra in a zero-dimensional space.  In function
-	  Polyhedron::limited_widening_assign considered the case of
-	  cs.space_dimension() < space_dimension().
-
-2001-10-31 Wednesday 11:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/GenSys.defs.hh (1.33): Added an example where a system of
-	  generators is printed by using more features of the STL.
-
-2001-10-31 Wednesday 11:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.65): When the user invokes
-	  Polyhedron::constraints() on an empty polyhedron, we now return
-	  the inconsistent constraint of the right dimension.  This also
-	  implies that a polyhedron with the EMPTY flag set can still have
-	  a non-empty con_sys; therefore, we clear the con_sys whenever we
-	  change the dimension of an empty polyhedron.
-
-2001-10-31 Wednesday 10:28  Elisa Ricci
-
-	* src/: ConSys.cc (1.16), Polyhedron.cc (1.64): In functions
-	  Polyhedron::includes and ConSys::satisfies_all_constraints the
-	  cases of a polyhedron in a zero-dimensional space and of
-	  g.space_dimension < space_dimension are considered.
-
-2001-10-31 Wednesday 09:56  Elisa Ricci
-
-	* src/: GenSys.cc (1.17), Polyhedron.cc (1.63), Row.cc (1.7),
-	  Row.defs.hh (1.6): The function projected_scalar_prod() moved in
-	  `namespace Parma_Polyhedra_Library'.	The case of
-	  c.space_dimension < polyhedron.space_dimension is considered in
-	  functions Polyhedron::satisfies and GenSys::satisy.  In function
-	  Polyhedron::satisfies the cases of empty polyhedron and of the
-	  polyhedron is a zero-dimensional space are considered.
-
-2001-10-31 Wednesday 08:47  Elisa Ricci
-
-	* src/LinExpression.defs.hh (1.19): The copy-constructor of a
-	  linear expression with a specified dimension is PPL_INTERNAL and
-	  not public.
-
-2001-10-30 Tuesday 22:01  Elisa Ricci
-
-	* tests/affinetrans.cc (1.4): We can use the linear expression `x +
-	  4' instead of `x + 0*y + 4'.
-
-2001-10-30 Tuesday 21:57  Elisa Ricci
-
-	* src/: LinExpression.defs.hh (1.18), Polyhedron.cc (1.62): In
-	  functions Polyhedron::assign_variable and
-	  Polyhedron::substitutte_variable considered the cases of an empty
-	  polyhedron and of space_dimension of linear expression <
-	  space_dimension of polyhedron.  In LinExpression the
-	  copy-constructor with the size of the new linear expression is
-	  now public.
-
-2001-10-30 Tuesday 18:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.8), Constraint.defs.hh (1.22): Added
-	  PPL_INTERNAL method Constraint::is_unsatisfiable().
-
-2001-10-30 Tuesday 18:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.7): Now it allows for
-	  constants in the head.
-
-2001-10-30 Tuesday 17:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.6): The interpreter now
-	  accepts repeated variables in the head.
-
-2001-10-30 Tuesday 17:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.61), src/Polyhedron.defs.hh (1.57),
-	  tests/addconstraints2.cc (1.3): Method
-	  add_dimensions_and_constraints_lazy renamed as
-	  add_dimensions_and_constraints; signature changed (the argument
-	  is no longer const); in the implementation, we swap coefficients
-	  instead of copying them.
-
-2001-10-30 Tuesday 15:54  Elisa Ricci
-
-	* src/: Row.cc (1.6), Row.defs.hh (1.5): Added the function Integer
-	  projected_scalar_prod(const Row&, const Row&).
-
-2001-10-30 Tuesday 15:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.56): Spelling of "poject" to "project"
-	  changed.
-
-2001-10-30 Tuesday 15:17  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.60): Spelling error corrected in an output
-	  message; for consistency, try always to use the
-	  dimension-compatibility concept in error messages.
-
-2001-10-30 Tuesday 15:12  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.5): Adjusted to allow for =
-	  instead of == for equality.
-
-2001-10-30 Tuesday 14:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.defs.hh (1.17), LinExpression.inlines.hh
-	  (1.6): Added method space_dimension.
-
-2001-10-30 Tuesday 14:54  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.55): We do not have any exception if we
-	  use the function Polyhedron::constraints() with an empty
-	  polyhedron of the function Polyhedron::generators() with a
-	  zero-dimensional polyhedron.
-
-2001-10-30 Tuesday 14:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.15): Use '='/2
-	  instead of '=='/2 to denote equality.  Fixed a bug whereby the
-	  sign of the inhomogeneous term of constraints was inverted.
-
-2001-10-30 Tuesday 14:40  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.59): Started using the methods
-	  space_dimension() of classes Constraint, Generator, ConSys and
-	  GenSys.
-
-2001-10-30 Tuesday 14:30  Elisa Ricci
-
-	* src/Polyhedron.cc (1.58): In functions Polyhedron::insert used
-	  the function space_dimension() (of a constraint or of a
-	  generator) instead of size() - 1.
-
-2001-10-30 Tuesday 13:25  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.4): More improvements.
-
-2001-10-30 Tuesday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.24), ConSys.inlines.hh (1.8),
-	  GenSys.defs.hh (1.32), GenSys.inlines.hh (1.8): Added method
-	  space_dimension() to both ConSys and GenSys.
-
-2001-10-30 Tuesday 12:25  Elisa Ricci
-
-	* src/Polyhedron.cc (1.57): In function
-	  add_dimensions_and_constraints_lazy, if we are lazy we only say
-	  that the system of constraints is not sorted, otherwise we sort
-	  the system of constraints.
-
-2001-10-30 Tuesday 12:17  Elisa Ricci
-
-	* tests/addconstraints2.cc (1.2): Changed the second system of
-	  constraints (ConSys c2) to have a non-empty polyhedron.
-
-2001-10-30 Tuesday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.56): insert(const Generator&) improved.
-
-2001-10-30 Tuesday 11:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.3): Now upgraded to accept
-	  user predicates as well as constraints.
-
-2001-10-30 Tuesday 11:47  Elisa Ricci
-
-	* tests/: Makefile.am (1.25), addconstraints2.cc (1.1): Added the
-	  test for the function add_dimensions_and_constraints_lazy.
-
-2001-10-30 Tuesday 11:39  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.55): In add_constraints, after adding NO
-	  constraints at all we still need to check for the emptyness of
-	  the polyhedron.  In insert(const Constraint&), adjusted
-	  assertions and added triviality check when inserting into a
-	  zero-dim space polyhedron.
-
-2001-10-30 Tuesday 11:29  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.54), Polyhedron.defs.hh (1.54): Added the
-	  function add_dimensions_and_constraints_lazy(const ConSys& cs).
-
-2001-10-30 Tuesday 11:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.53): In add_constraints(_lazy), if a
-	  zero-dim space polyhedron is considered, using ConSys iterators
-	  to see if an inconsistent polyhedron is created.
-
-2001-10-30 Tuesday 10:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.24), addconstraints1.cc (1.1): Added test
-	  for the addition of consistent and inconsistent zero-dim
-	  constraints to a zero-dim space polyhedron.  Tests re-ordered
-	  alphabetically.
-
-2001-10-30 Tuesday 10:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.2): Some small bugs fixed.
-
-2001-10-30 Tuesday 10:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.23), removedim3.cc (1.1): Added simple
-	  test on the removal of dimensions from an empty polyhedron.
-
-2001-10-30 Tuesday 09:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.52), Polyhedron.defs.hh (1.53): BE_LAZY
-	  used also in Polyhedron::add_dimensions_and_project.	A couple of
-	  assertions added and old code (already commented out) removed.
-
-2001-10-30 Tuesday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* interfaces/Prolog/SICStus/solve.pl (1.1): A first start/attempt
-	  at a simple meta-interpreter for CLP(Q).  There is a bug to be
-	  fixed.
-
-2001-10-29 Monday 21:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.51): Be lazy.
-
-2001-10-29 Monday 21:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: conversion.cc (1.8), minimize.cc (1.5), simplify.cc (1.6):
-	  Comments fixed: the class is called Polyhedron, not Poly.
-
-2001-10-29 Monday 18:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.14): Use
-	  Constraint/Generator::space_dimension() instead of the no longer
-	  existing last_variable().
-
-2001-10-29 Monday 16:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.21), Constraint.inlines.hh (1.9),
-	  Generator.defs.hh (1.25), Generator.inlines.hh (1.14): Removed
-	  methods last_variable() and added method space_dimension() to
-	  Constraint and Generator.
-
-2001-10-29 Monday 16:46  Elisa Ricci
-
-	* src/Polyhedron.cc (1.50): In Polyhedron(size_t num_dimensions,
-	  Degenerate_Kind kind) if we build an universe polyhedron the
-	  system of constraints is in the minimal form.  In the function
-	  insert(Constraint) added the comment that specify why when we
-	  insert the constraint the polyhedron is non-empty.
-
-2001-10-29 Monday 16:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.15), Constraint.cc (1.7), Constraint.defs.hh
-	  (1.20): Constraint::is_non_trivial() transformed into
-	  Constraint::is_trivial().  Btw, the old evrsion was still wrong.
-
-2001-10-29 Monday 16:26  Elisa Ricci
-
-	* src/Polyhedron.cc (1.49): In function add_constraints,
-	  add_constraints_lazy and add_generators the case of
-	  cs(gs)_num_columns == 1 && space_dimension() == 0 is considered.
-
-2001-10-29 Monday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* missing (1.3): Updated.
-
-2001-10-29 Monday 14:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Constraint.cc (1.6): Constraint::is_nontrivial() fixed.
-
-2001-10-29 Monday 14:29  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.48): In add_dimensions_and_embed, when
-	  embedding a zero-dim universe polyhedron the creation of the
-	  system of generators is now guarded by pre-proc flag BE_LAZY.
-
-2001-10-29 Monday 13:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.cc (1.16), GenSys.defs.hh (1.31), GenSys.inlines.hh
-	  (1.7), Polyhedron.cc (1.47): Added static member function
-	  GenSys::zero_dim_univ() to replace static member
-	  GenSys::zero_dim_univ. All inline functions enclosed in the
-	  namespace.
-
-2001-10-29 Monday 13:23  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.cc (1.8), Generator.defs.hh (1.24),
-	  Generator.inlines.hh (1.13): Added static member function
-	  Generator::zero_dim_vertex().  Functions vertex, ray and line are
-	  no longer inlined; for ray and line we now check that the
-	  argument does not represent the origin of the space.
-
-2001-10-29 Monday 13:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/ConSys.defs.hh (1.23): Must include <iterator>.
-
-2001-10-29 Monday 12:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.14), ConSys.defs.hh (1.22), ConSys.inlines.hh
-	  (1.7), Polyhedron.cc (1.46): Added static member function
-	  ConSys::zero_dim_empty().
-
-2001-10-29 Monday 12:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.5), Constraint.defs.hh (1.19),
-	  Constraint.inlines.hh (1.8): Added static memebr function
-	  Constraint::zero_dim_false().  All inline functions enclosed in
-	  the namespace.
-
-2001-10-29 Monday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.cc (1.5), LinExpression.defs.hh (1.16),
-	  LinExpression.inlines.hh (1.5): Added static member function
-	  LinExpression::zero() in place of static member LinExpression
-	  zero.  All inline functions enclosed in the scope of namespace.
-
-2001-10-29 Monday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.45): Polyhedron::Polyhedron(GenSys& gs)
-	  improved.
-
-2001-10-29 Monday 10:21  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.13): Require autoconf 2.52e.
-
-2001-10-29 Monday 10:18  Elisa Ricci
-
-	* tests/: affinetrans.cc (1.3), append2.cc (1.6), empty1.cc (1.5),
-	  error1.cc (1.6), error2.cc (1.7), error3.cc (1.7), error4.cc
-	  (1.3), error5.cc (1.4), inters1.cc (1.6), inters2.cc (1.8),
-	  permute.cc (1.9), randchull1.cc (1.8), removedim1.cc (1.2),
-	  removedim2.cc (1.5): Added the comment to the tests, the
-	  inclusion of the file "ehandlers.hh", use the function
-	  set_handlers() and added some NOISY-print of the polyhedra (where
-	  they are necessary).
-
-2001-10-29 Monday 09:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/Makefile.am (1.22): Committing Makefile.am was unwanted
-	  (error6 is a non-meaningful dummy test).
-
-2001-10-29 Monday 06:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.cc (1.7), Polyhedron.defs.hh (1.52),
-	  conversion.cc (1.7): The Integer constants 0 and 1 are now
-	  provided by the static methods Integer::zero() and
-	  Integer::one().
-
-2001-10-28 Sunday 21:41  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/ConSys.cc (1.13), src/ConSys.defs.hh (1.21),
-	  src/ConSys.inlines.hh (1.6), src/GenSys.cc (1.15),
-	  src/GenSys.defs.hh (1.30), src/GenSys.inlines.hh (1.6),
-	  src/Generator.defs.hh (1.23), src/Polyhedron.cc (1.44),
-	  tests/Makefile.am (1.21): Added static members denoting the
-	  zero-dim usatisfiable constraint, teh corresponding constraint
-	  system and the system of generators corresponding to the zero-dim
-	  universe.
-
-2001-10-28 Sunday 20:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.cc (1.4), Constraint.defs.hh (1.18):
-	  is_non_trivial() now correctly handles inconsistent constraints,
-	  which should NOT be considered trivial.  Output operator now
-	  correctly prints inconsistent constraints.
-
-2001-10-28 Sunday 18:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.4),
-	  SICStus/ppl_sicstus.pl (1.10): Added ppl_insert_constraints/2 and
-	  ppl_insert_generators/2.
-
-2001-10-28 Sunday 18:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.3),
-	  SICStus/ppl_sicstus.cc (1.13), SICStus/ppl_sicstus.pl (1.9):
-	  Added ppl_add_dimensions_and_embed/2 and
-	  ppl_add_dimensions_and_project/2.
-
-2001-10-28 Sunday 18:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/: Prolog_interface.dox (1.2),
-	  SICStus/ppl_check.pl (1.6), SICStus/ppl_sicstus.cc (1.12),
-	  SICStus/ppl_sicstus.pl (1.8): ppl_remove_dimensions/2 added.
-
-2001-10-28 Sunday 14:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.11), configure.ac (1.12),
-	  interfaces/Prolog/Makefile.am (1.2): Try not to bother people
-	  without the SICStus include file.
-
-2001-10-28 Sunday 14:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.cc (1.6), Generator.defs.hh (1.22),
-	  Generator.inlines.hh (1.12), LinExpression.cc (1.4),
-	  LinExpression.defs.hh (1.15): Now the friend function vertex(e,
-	  d) has also its first argument optional; calling vertex() creates
-	  the origin of the zero-dim vector space.  Added zero-dim checks
-	  to ray(e) and line(e).
-
-2001-10-28 Sunday 13:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.13), doc/devref-browse.doxyconf-latex.in
-	  (1.7), doc/devref-print.doxyconf-latex.in (1.7),
-	  doc/devref.doxyconf-html.in (1.8),
-	  doc/user-browse.doxyconf-latex.in (1.8),
-	  doc/user-print.doxyconf-latex.in (1.8), doc/user.doxyconf-html.in
-	  (1.10), interfaces/Prolog/Prolog_interface.dox (1.1): Provide a
-	  framework for the Prolog interface documentation.
-
-2001-10-28 Sunday 11:12  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/removedim2.cc (1.4): Moved creation of lin-expr
-	  infrastructure outside the loop.
-
-2001-10-28 Sunday 10:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_check.pl (1.5), ppl_sicstus.cc
-	  (1.11), ppl_sicstus.pl (1.7): Added ppl_get_constraints/2 and
-	  ppl_get_generators/2.
-
-2001-10-28 Sunday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.51): Do not create yet another Integer
-	  set to one to use as default parameter: use Integer::one instead.
-
-2001-10-28 Sunday 10:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.17), Generator.defs.hh (1.21),
-	  Generator.inlines.hh (1.11): New methods of Generator:
-	  last_variable(), coefficient(), and divisor().  Harmonized with
-	  the ones of Constraint.  Do not create yet another Integer set to
-	  one to use as default parameter: use Integer::one instead.
-
-2001-10-28 Sunday 08:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.43): Corrected the error making test
-	  `randchull1' fail (I was forgetting to clear flags after
-	  insertion of the generator).
-
-2001-10-27 Saturday 22:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/onepoint.cc (1.1): New test on the creation of a one-point
-	  polyhedron.
-
-2001-10-27 Saturday 22:52  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.20), error1.cc (1.5), error2.cc (1.6),
-	  error3.cc (1.6), error4.cc (1.2), error5.cc (1.3), removedim.cc
-	  (1.3), removedim1.cc (1.1), removedim2.cc (1.3): Try to be
-	  consistent.
-
-2001-10-27 Saturday 18:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.16), Constraint.inlines.hh (1.7): New
-	  Constraint methods: last_variable(), coefficient(Variable v) and
-	  coefficient() to return the last variable, the homogeneous and
-	  inhomogeneous coefficients.
-
-2001-10-27 Saturday 17:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_check.pl (1.4), ppl_sicstus.cc
-	  (1.10), ppl_sicstus.pl (1.6): ppl_new_polyhedron/1 replaced with
-	  ppl_new_polyhedron/2 and ppl_new_empty_polyhedron/2.
-
-2001-10-27 Saturday 16:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/definitions.dox (1.32), src/Constraint.defs.hh (1.15),
-	  src/Constraint.inlines.hh (1.6), src/Generator.cc (1.5),
-	  src/Generator.defs.hh (1.20), src/Generator.inlines.hh (1.10),
-	  src/Polyhedron.cc (1.42), src/Polyhedron.defs.hh (1.50),
-	  src/Polyhedron.inlines.hh (1.9), src/Status.cc (1.7),
-	  src/Status.defs.hh (1.9), src/Status.inlines.hh (1.3),
-	  tests/Makefile.am (1.19), tests/affinetrans.cc (1.2),
-	  tests/append1.cc (1.4), tests/append2.cc (1.5), tests/empty1.cc
-	  (1.4), tests/error3.cc (1.5), tests/error5.cc (1.2),
-	  tests/inters2.cc (1.7), tests/permute.cc (1.8), tests/print.hh
-	  (1.3), tests/randchull1.cc (1.7), tests/removedim.cc (1.2),
-	  tests/removedim2.cc (1.2): All changes on the `space_dim' branch
-	  have been merged to the main trunk.
-
-2001-10-27 Saturday 15:30  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (space_dim.12): In Polyhedron::insert(const
-	  Generator&) added generator type check.
-
-2001-10-27 Saturday 15:24  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh, Constraint.inlines.hh, Polyhedron.cc,
-	  Polyhedron.defs.hh (space_dim.[1,1,11,6]): Default constructor
-	  for Constraint is now private and not implemented.  In
-	  Polyhedron::insert(const Generator&) we should check that the
-	  generator is a vertex if the polyhedron is empty (we cannot add
-	  just a ray or a line).
-
-2001-10-27 Saturday 15:12  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.9), ppl_sicstus.pl
-	  (1.5): ppl_widening_assign/2 added.
-
-2001-10-27 Saturday 15:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_sicstus.cc (1.8), ppl_sicstus.pl
-	  (1.4): ppl_intersection_assign/2 and ppl_convex_hull_assign/2
-	  added.  Try to be as const-correct as possible.
-
-2001-10-27 Saturday 14:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_check.pl (1.3), ppl_sicstus.cc
-	  (1.7), ppl_sicstus.pl (1.3): ppl_check_empty/1 added.
-
-2001-10-27 Saturday 14:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.6):
-	  SP_register_atom() and SP_unregister_atom() can fail.
-
-2001-10-27 Saturday 14:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/: ppl_check.pl (1.2), ppl_sicstus.cc
-	  (1.5), ppl_sicstus.pl (1.2): ppl_insert_generator/2 added.
-
-2001-10-27 Saturday 12:35  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, src/Status.cc, src/Status.defs.hh,
-	  src/Status.inlines.hh, tests/empty1.cc, tests/inters2.cc,
-	  tests/print.hh, tests/randchull1.cc
-	  (space_dim.[10,5,2,1,1,1,1,1,1,1]): The zero_dim flag (and
-	  methods) in Status changed into more meaningful "zero_dim_univ".
-	  A lot of small changes to have a consistent dimension-checking.
-	  Now there is one "default" constructor for Polyhedron having two
-	  optional arguments: the space dimension (default 0) and the
-	  degenerate kind (default UNIVERSE).  Tests adapted to use the new
-	  constructor and to avoid using the removed
-	  Polyhedron::is_zero_dim().
-
-2001-10-27 Saturday 12:26  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.31): Proposition after Minkowsky's theorem
-	  corrected (we can CHOOSE extreme rays so that they have rational
-	  coefficients).
-
-2001-10-27 Saturday 11:54  Elisa Ricci
-
-	* tests/: affinetrans.cc, error3.cc (space_dim.[2,2]): To build the
-	  polyhedron that we want using the system of generators, we must
-	  create the system of generators and then use Polyhedron ph(gs).
-	  (If we use Polyhedron ph(num_dim), we have the universe
-	  polyhedron and then when we add the generators we do not have our
-	  polyhedron but the universe one).
-
-2001-10-27 Saturday 11:49  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (space_dim.4): Added an example for the
-	  function remove_dimensions (the example 8).  In the examples when
-	  we build a polyhedron we must specify the dimension of the space
-	  if then we use the function Polyhedron::insert(Constraint).  We
-	  can not do the same thing if then we want to use the function
-	  Polyhedron::insert(Generator) In fact, in this case we build the
-	  universe polyhedron and then we add the generators. To build a
-	  polyhedron starting from the system of generators we must create
-	  the system of generators and then use Polyhedron ph(gs).
-
-2001-10-27 Saturday 11:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.11): Version number bumped so as to avoid
-	  confusion: 0.2-pre1.
-
-2001-10-27 Saturday 10:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure.ac (1.10), interfaces/Prolog/SICStus/Makefile.am (1.2),
-	  interfaces/Prolog/SICStus/ppl_check.pl (1.1),
-	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.4),
-	  interfaces/Prolog/SICStus/ppl_sicstus.pl (1.1): Check to see
-	  whether `sicstus' is installed: if it is, tests can be performed.
-	  Some progress in the interface itself.
-
-2001-10-27 Saturday 10:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.41): ConSys and GenSys do not yet provide a
-	  `bool empty() const' method.
-
-2001-10-27 Saturday 10:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.15): Distribute ppl_header.middle.
-
-2001-10-26 Friday 21:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.3): Exception
-	  handling improved.
-
-2001-10-26 Friday 19:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc, tests/Makefile.am, tests/removedim2.cc
-	  (space_dim.[9,4,1]): Polyhedron::remove_dimensions(...) rewritten
-	  from scratch.  Added a new test to check its correctness.
-
-2001-10-26 Friday 18:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* interfaces/Prolog/SICStus/ppl_sicstus.cc (1.2): Can now insert
-	  constraints into a polyhedron.
-
-2001-10-26 Friday 16:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am, ppl_header.middle (space_dim.[1,1]): Get
-	  around a bug in GCC versions prior to 3 whereby the <cassert>
-	  header is wrongly guarded against multiple inclusion.
-
-2001-10-26 Friday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.12), config.h.in (1.10), configure.ac (1.9),
-	  interfaces/.cvsignore (1.1), interfaces/Makefile.am (1.1),
-	  interfaces/Prolog/.cvsignore (1.1), interfaces/Prolog/Makefile.am
-	  (1.1), interfaces/Prolog/SICStus/.cvsignore (1.1),
-	  interfaces/Prolog/SICStus/Makefile.am (1.1),
-	  interfaces/Prolog/SICStus/ppl_sicstus.cc (1.1): Start working on
-	  the Prolog interfaces.
-
-2001-10-26 Friday 16:51  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.14): ppl_install.hh depends also on
-	  ppl_header.middle.
-
-2001-10-26 Friday 16:46  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.13), ppl_header.middle (1.1): Get around a
-	  bug in GCC versions prior to 3 whereby the <cassert> header is
-	  wrongly guarded against multiple inclusion.
-
-2001-10-26 Friday 16:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.40), Variable.defs.hh (1.9): Just
-	  formatting.
-
-2001-10-26 Friday 13:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (space_dim.8): A few trivial errors inside
-	  assertions fixed.
-
-2001-10-26 Friday 12:29  Elisa Ricci
-
-	* src/Polyhedron.cc (space_dim.7): In function add_generators we
-	  resize the matrix gs that we want to add if space_dimension() >
-	  num_columns() - 1.
-
-2001-10-26 Friday 12:14  Elisa Ricci
-
-	* src/Polyhedron.cc (space_dim.6): Added the dimension-consistency
-	  check in the function add_constraints_lazy and add_generators.
-	  In functions add_constraints and add_generators we use
-	  if(check_empty()) instead of	minimize() if(is_empty()) In
-	  functions add_constraints and add_constraints_lazy we resize the
-	  matrix of constraints that we add if	num_columns - 1 <
-	  space_dimension().
-
-2001-10-26 Friday 12:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.defs.hh, Generator.inlines.hh (space_dim.[1,1]):
-	  The default constructor for Generator is now private and
-	  unimplemented.
-
-2001-10-26 Friday 11:22  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am, error5.cc, removedim.cc (space_dim.[3,1,2]):
-	  New test for dimension-compatibility in
-	  Polyhedron::remove_dimensions.  The test still fails because
-	  objects of set<Variable> do not provide ordered access to their
-	  elements (yet).
-
-2001-10-26 Friday 10:42  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am, removedim.cc, remuvedim.cc
-	  (space_dim.[2,1,2]): Test file "remuvedim.cc" renamed.
-
-2001-10-26 Friday 10:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (space_dim.5): Using begin() instead of max()
-	  to select the highest dimension variable from a set of variables.
-
-2001-10-26 Friday 10:34  Elisa Ricci
-
-	* tests/: Makefile.am, remuvedim.cc (space_dim.[1,1]): Added a test
-	  for the function remuve_dimensions(...).
-
-2001-10-26 Friday 10:34  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (space_dim.4): Some comments improved. Added
-	  dimension-compatibility checks to
-	  Polyhedron::remove_dimensions(...).
-
-2001-10-25 Thursday 23:21  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc, tests/affinetrans.cc, tests/append1.cc,
-	  tests/append2.cc, tests/error3.cc, tests/permute.cc
-	  (space_dim.[3,1,1,1,1,2]): Going on ading the right
-	  dimension-compatibility checks.  Now the tests are all passed
-	  (some of them changed to declare polyhedra dimensions in the
-	  constructors, other changed by calling operator
-	  add_dimensions_and_embed).
-
-2001-10-25 Thursday 20:59  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.cc (space_dim.1): Strange code indentation fixed.
-
-2001-10-25 Thursday 20:36  Elisa Ricci
-
-	* src/Polyhedron.cc (space_dim.2): In operator <=(x,y) we only need
-	  the generators of x and the constraints of y.  In functions
-	  intersection_assign and convex_hull, we did two checks of the
-	  dimension of the space (one with space_dimension() and the other
-	  with num_columns()).	In functions add_dimensions_and_embed and
-	  add_dimensions_and_project we have both the system of constraints
-	  and the system of generators minimized when we add some
-	  dimensions to a polyhedron in a 0-dimensional space.
-
-2001-10-25 Thursday 16:45  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc, src/Polyhedron.defs.hh,
-	  src/Polyhedron.inlines.hh, tests/permute.cc
-	  (space_dim.[1,3,1,1]): Added private member
-	  Polyhedron::space_dim, which stores the number of dimensions of
-	  the enclosing space.	Public member Polyhedron::num_dimensions()
-	  renamed into Polyhedron::space_dimension() and now reads the
-	  member space_dim.  Started modifying methods of the class
-	  Polyhedron so that they consistently use space_dimension() and
-	  space_dim.  Started guarding methods by suitable
-	  dimension-compatibility checks.
-
-2001-10-25 Thursday 11:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (space_dim.2): All comparison operators on
-	  Polyhedron throw an exception when the two polyhedra are
-	  dimension-incompatible.
-
-2001-10-25 Thursday 11:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox, src/Polyhedron.defs.hh (space_dim.[1,1]):
-	  Added an informal specification for dimension-compatibility.	The
-	  specification of Polyhedron::insert now says that an exception is
-	  thrown if the argument is dimension-incompatible with the
-	  polyhedron.
-
-2001-10-24 Wednesday 20:16  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Generator.defs.hh (1.19), Polyhedron.cc (1.39),
-	  Polyhedron.defs.hh (1.49): Exceptions are thrown when polyhedra
-	  are dimension-incompatible.
-
-2001-10-24 Wednesday 20:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.30): Better explained the difference
-	  between the dimension of the polyhedron and the dimension of the
-	  enclosing space.  The terminology "dimension-consistent" added.
-	  Pointed out what seems to be a problem with empty polyhedrons
-	  (what is the dimensions of their enclosing space?)
-
-2001-10-24 Wednesday 14:57  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.29): A full scan on the user-manual
-	  portion of the introduction.	In particular: - added a
-	  proposition after Minkowsky's theorem for rational polyhedra; -
-	  preferring the use of \lambda wrt \mu for scalars; - yet another
-	  variation on the definition of extreme rays; - "non-negative"
-	  combinations are now "positive" combinations; - better explaining
-	  the border-line cases of the generators representation.
-
-2001-10-24 Wednesday 10:47  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.28): Doxygen does not accept "\f(" [and
-	  neither the potentially correct "\f\("] as a way to enter LaTeX
-	  mathematical environment.  Indexes of vectors goes from 0 to the
-	  dim-1.
-
-2001-10-23 Tuesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.7): Ready for distribution.
-
-2001-10-23 Tuesday 19:43  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.11): Distribute also the BUGS file.
-
-2001-10-23 Tuesday 19:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.12): Produce and make available HTML
-	  documentation to be used off-line.
-
-2001-10-23 Tuesday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* BUGS (1.1), NEWS (1.2), TODO (1.2): Initial versions of these
-	  files.
-
-2001-10-23 Tuesday 19:23  Elisa Ricci
-
-	* tests/: Makefile.am (1.18), affinetrans.cc (1.1): Added a test
-	  for the functions assign_variable and substitute_variable.
-
-2001-10-23 Tuesday 19:21  Elisa Ricci
-
-	* src/Polyhedron.cc (1.38): In function assign_variable and
-	  substitute_variable we must have size_t num_columns =
-	  x.num_dimensions() + 1 instead of size_t num_columns =
-	  x.con_sys(gen_sys).num_columns() because at this point we do not
-	  know which system we have.
-
-2001-10-23 Tuesday 18:52  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.27): A small improvement on the
-	  explanation of the representation by generators.
-
-2001-10-23 Tuesday 18:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.37), Polyhedron.defs.hh (1.48):
-	  Polyhedron::constraints() no longer throws an exception when
-	  *this is a zero-dimensional polyhedron (now it returns the empty
-	  system of constraints).  Polyhedron::generators() no longer
-	  throws an exception when *this is an empty polyhedron (now it
-	  returns the empty system of generators).
-
-2001-10-23 Tuesday 18:12  Elisa Ricci
-
-	* src/minimize.cc (1.4): We see the definitions in the Introduction
-	  and not in the file definition.dox.
-
-2001-10-23 Tuesday 18:09  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.47): Typo fixed.
-
-2001-10-23 Tuesday 18:05  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: Makefile.am (1.17), error4.cc (1.1): Added a test on the
-	  exception thrown when building a polyhedron by using a non-empty
-	  system of generators with no vertices.
-
-2001-10-23 Tuesday 17:57  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.46): Added the explanation of why a
-	  parameter of a function is non-constant.
-
-2001-10-23 Tuesday 17:54  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.36): Exception messages now use the
-	  "function: message" convention.  The comment in
-	  PPL::Polyhedron::Polyhedron(GenSys& gs) related to the existence
-	  of a vertex improved.
-
-2001-10-23 Tuesday 17:27  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.26): In the proposition after the
-	  definition of rays, we need to consider a non-empty polyhedron
-	  and a non-zero vector \vect{r}.  It is NOT true that extreme rays
-	  define _all_ the directions in which an arbitrary polyhedron is
-	  infinite.  Definition of line simplified. A typo fixed in
-	  definition of Minkowsky's sum.
-
-2001-10-23 Tuesday 16:50  Elisa Ricci
-
-	* src/Polyhedron.cc (1.35): In function
-	  Polyhedron::insert(Constraint), if we add a constraint to an
-	  empty polyhedron it remains empty.
-
-2001-10-23 Tuesday 16:35  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.34), Polyhedron.defs.hh (1.45): When a
-	  polyhedron is built starting from a system of generators, this
-	  must have at least a vertex; otherwise an exception is thrown.
-
-2001-10-23 Tuesday 16:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Generator.cc (1.4), Generator.inlines.hh (1.9),
-	  Polyhedron.cc (1.33), Polyhedron.inlines.hh (1.8): Inlining is no
-	  longer requested for functions that may throw.
-
-2001-10-23 Tuesday 16:11  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.9), configure.ac (1.8), src/Makefile.am (1.12),
-	  src/Row.defs.hh (1.4), src/ppl_header.bottom (1.3),
-	  src/ppl_header.top (1.2): Better configuration and macro
-	  handling.
-
-2001-10-23 Tuesday 14:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.32): DLEVEL noise removed.
-
-2001-10-23 Tuesday 14:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.8), configure.ac (1.7), src/ConSys.cc (1.12),
-	  src/ConSys.defs.hh (1.20), src/ConSys.inlines.hh (1.5),
-	  src/Constraint.cc (1.3), src/Constraint.defs.hh (1.14),
-	  src/Constraint.inlines.hh (1.5), src/GenSys.cc (1.14),
-	  src/GenSys.defs.hh (1.29), src/GenSys.inlines.hh (1.5),
-	  src/Generator.cc (1.3), src/Generator.defs.hh (1.18),
-	  src/Generator.inlines.hh (1.8), src/LinExpression.cc (1.3),
-	  src/LinExpression.defs.hh (1.14), src/LinExpression.inlines.hh
-	  (1.4), src/Makefile.am (1.11), src/Matrix.cc (1.6),
-	  src/Matrix.defs.hh (1.6), src/Matrix.inlines.hh (1.4),
-	  src/Polyhedron.cc (1.31), src/Polyhedron.defs.hh (1.44),
-	  src/Polyhedron.inlines.hh (1.7), src/Row.cc (1.5),
-	  src/Row.defs.hh (1.3), src/Row.inlines.hh (1.5), src/SatMatrix.cc
-	  (1.6), src/SatMatrix.defs.hh (1.7), src/SatMatrix.inlines.hh
-	  (1.4), src/SatRow.cc (1.4), src/SatRow.defs.hh (1.7),
-	  src/SatRow.inlines.hh (1.4), src/Status.cc (1.6),
-	  src/Status.defs.hh (1.8), src/Status.inlines.hh (1.2),
-	  src/Variable.cc (1.3), src/Variable.defs.hh (1.8),
-	  src/Variable.inlines.hh (1.3), src/ppl_header.bottom (1.2): The
-	  INLINE/OUTLINE mechanism has gone: it caused too many problems.
-
-2001-10-23 Tuesday 14:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: GenSys.defs.hh (1.28), GenSys.inlines.hh (1.4): Inserting a
-	  generator in a GenSys automatically adjust the dimensions.
-	  Specialization of std:swap for GenSys's added.
-
-2001-10-23 Tuesday 14:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.19), ConSys.inlines.hh (1.4): Better
-	  documented the fact that, when inserting constraints in a ConSys,
-	  dimensions are automatically adjusted.  Added the specialization
-	  of function std:swap for ConSys's.
-
-2001-10-23 Tuesday 13:40  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: definitions.dox (1.25), ppl.sty (1.5): Changes to allow for
-	  a decomposition when there are no vertices.
-
-2001-10-23 Tuesday 11:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.43): Brackets closing a namespace
-	  should be marked as in
-
-	  namespace Parma_Polyhedra_Library {	...  } // namespace
-	  Parma_Polyhedra_Library
-
-2001-10-23 Tuesday 11:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/SatMatrix.inlines.hh (1.3): Must include <cassert>.
-
-2001-10-23 Tuesday 11:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/maxmin.hh (1.2): Put everything in our namespace.
-
-2001-10-23 Tuesday 10:58  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.24): Changes to user introduction to
-	  clarify why a polyhedron represented by a system of generators
-	  needs a vertex.  On-going improvements to the developer's guide
-	  including the removal of some repeated definitions.  Minor bugs
-	  fixed.
-
-2001-10-23 Tuesday 10:02  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/Makefile.am (1.16): INCLUDES now includes @extra_includes at .
-
-2001-10-23 Tuesday 09:53  Elisa Ricci
-
-	* src/: ConSys.cc (1.11), GenSys.cc (1.13), simplify.cc (1.5): For
-	  the definitions and the rules, we must see the Introduction
-	  instead of the file definitions.dox.	In the functions
-	  assign_variable and substitute_variable, the parameter "expr" is
-	  the "numerator" of affine expression.
-
-2001-10-23 Tuesday 09:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.10), Constraint.cc (1.2),
-	  Constraint.inlines.hh (1.4), GenSys.cc (1.12), LinExpression.cc
-	  (1.2), Matrix.cc (1.5), Matrix.inlines.hh (1.3), Row.cc (1.4),
-	  Row.inlines.hh (1.4), SatMatrix.cc (1.5): Do not request the
-	  inlining of functions containing loops.  Be consistent in the use
-	  of namespace names and aliases.
-
-2001-10-23 Tuesday 08:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.7), configure.ac (1.6),
-	  doc/user-browse.doxyconf-latex.in (1.7),
-	  doc/user-print.doxyconf-latex.in (1.7), doc/user.doxyconf-html.in
-	  (1.9), src/Makefile.am (1.10), src/Polyhedron.inlines.hh (1.6),
-	  src/ppl.cc (1.3), src/ppl_header.bottom (1.1), src/ppl_header.top
-	  (1.1), src/protect.sed (1.3), src/restore.sed (1.3),
-	  tests/append1.cc (1.3), tests/append2.cc (1.4), tests/empty1.cc
-	  (1.3), tests/error1.cc (1.4), tests/error2.cc (1.5),
-	  tests/error3.cc (1.4), tests/inters1.cc (1.5), tests/inters2.cc
-	  (1.6), tests/permute.cc (1.7), tests/print.hh (1.2),
-	  tests/randchull1.cc (1.6): The mechanism for automatically
-	  generating the header files has been rewritten from scratch.	We
-	  no longer depend on kcc: we use CXXCPP instead.  Avoid checking
-	  for header files we do not use.  Try to convince Doxygen not to
-	  sort things the way he wants, at least in user's documentation
-	  (SORT_MEMBER_DOCS = no).  Using std::invalid argument requires
-	  including <stdexcept>.  All tests should include the header file
-	  that will be installed (ppl_install.hh) so that we avoid checking
-	  against an already installed header (ppl.hh).
-
-2001-10-23 Tuesday 08:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Status.cc (1.5): Do not fight against emacs indentation
-	  rules.
-
-2001-10-22 Monday 19:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.18), GenSys.defs.hh (1.27): When using
-	  the doxygen command \code, indentation really matters and, for
-	  consistency, we should start with a 2-spaces indentation.
-
-2001-10-22 Monday 19:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.17): Example on how to build vertices
-	  split into two parts: the first one shows how to build a generic
-	  vertex and, in particular, the origin of the space; the second
-	  one shows how to use the optional denominator argument.
-
-2001-10-22 Monday 19:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Status.cc (1.4), Status.defs.hh (1.7): An annoying warning
-	  about an unused argument dealt with by exploiting pre-processing
-	  macro NDEBUG.
-
-2001-10-22 Monday 16:18  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.30), conversion.cc (1.6), simplify.cc
-	  (1.4): Used the notation of "vect{..}" for all the vectors that
-	  are in the comments.	The definitions and the rules must be seen
-	  in the "Introduction" instead of "definitions.dox" or
-	  "user_definitions.dox".
-
-2001-10-22 Monday 16:08  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Polyhedron.cc (1.29), Polyhedron.defs.hh (1.42): Now the
-	  argument `denominator' for methods Polyhedron::assign_variable
-	  and Polyhedron::substitute_variable is a _const_ Integer&,
-	  optional and with a default value of 1.
-
-2001-10-22 Monday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ChangeLog (1.2): Updated.
-
-2001-10-22 Monday 15:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* tests/: error1.cc (1.3), error2.cc (1.4), error3.cc (1.3),
-	  inters2.cc (1.5), randchull1.cc (1.5): All tests updated to use
-	  the new functions line, ray and vertex.
-
-2001-10-22 Monday 15:10  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.cc (1.9), ConSys.defs.hh (1.17), GenSys.cc (1.11),
-	  GenSys.defs.hh (1.26), Generator.defs.hh (1.16),
-	  Generator.inlines.hh (1.7), Polyhedron.defs.hh (1.41): Operators
-	  |, ^, /= have now been replaced by functions `line', 'ray' and
-	  'vertex'. Note that the function vertex has an _optional_ second
-	  argument (the denominator), with default value 1.  Hopefully, all
-	  the documentation has been changed accordingly (please check).
-	  In GenSys and ConSys, now the functions assign_variable and
-	  substitute_variable take a _const_ Integer& as their third
-	  argument.  The same change cannot be applied to the corresponding
-	  functions defined on Polyhedron, since we perform a swap on this
-	  argument, so that it cannot be const.  However, I am now seeing
-	  if it is possible to have also these as "optional" arguments,
-	  with a default value of 1. Alas, I need to read the C++ manual in
-	  order to see how I can define a default value for a non-const
-	  argument passed by reference.
-
-2001-10-22 Monday 15:05  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.6), configure.ac (1.5),
-	  doc/devref-browse.doxyconf-latex.in (1.6),
-	  doc/devref-print.doxyconf-latex.in (1.6),
-	  doc/devref.doxyconf-html.in (1.7), src/.cvsignore (1.4),
-	  src/Makefile.am (1.9), src/SatRow.cc (1.3), src/SatRow.defs.hh
-	  (1.6), src/SatRow.inlines.hh (1.3): SatRow reimplemented from
-	  scratch: we no longer depend on the BitSet class.
-
-2001-10-22 Monday 14:26  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.23): Changed \alpha in the definition of
-	  affine transformations to \lambda.  Added a comment after the
-	  definition of "Combinations" that the empty sum is the origin.
-
-2001-10-22 Monday 10:34  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.22): Changes to wording and restructuring
-	  of the definition of Polyhedra.  New headings added : Constraints
-	  representation and Rational polyheron.  Heading "Generators"
-	  replaced by "Generators representation".  Wording in this
-	  definition changed
-
-2001-10-22 Monday 10:02  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.40): In the comments, there was a
-	  system of constraints called "constraints" instead of "cs" and a
-	  variable called "var" instead of "v".
-
-2001-10-22 Monday 09:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Generator.defs.hh (1.15): Wording of comment on how to build
-	  a generator changed. Also minor changes to wording in the
-	  following examples.
-
-2001-10-22 Monday 09:52  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.21): I was wrong to remove the
-	  "^\transpose" in Weil's theorem - restored.
-
-2001-10-22 Monday 09:25  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.39): In two examples, erased the spaces
-	  between the factor and the variable.
-
-2001-10-22 Monday 09:04  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.20): Comment at the end of Weil's theorem
-	  had "convex" and "positive" and "rays" and "vertices" wrong way
-	  round.  Minor change to wording introducing the two theorems.  In
-	  final comment of user part, "blurb" removed.
-
-2001-10-22 Monday 08:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.19): Removed spurious ^\transpose (^T) in
-	  Weil's theorem.  Added "dual representation" as heading and
-	  emphasised in text at end of user definitions.
-
-2001-10-21 Sunday 15:50  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.16), GenSys.defs.hh (1.25),
-	  Generator.defs.hh (1.14), Generator.inlines.hh (1.6),
-	  LinExpression.defs.hh (1.13), LinExpression.inlines.hh (1.3),
-	  Polyhedron.defs.hh (1.38): Systems of constraints and generators
-	  do not define polyhedra; rather, they may "correspond to" a given
-	  polyhedron (the one that would be built by applying the adequate
-	  constructor).  A system of generator does not need to include a
-	  vertex, in general.  The vertex is needed if the system of
-	  generators is meant to correspond to a non-empty polyhedron.	The
-	  detailed description of class Generator changed to highlight that
-	  vertices, lines and rays are represented as a type plus a
-	  direction in the space.
-
-2001-10-21 Sunday 14:00  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.10): CREDITS added to the distribution.
-
-2001-10-21 Sunday 13:04  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.13), Constraint.inlines.hh (1.3): In
-	  the documentation, used n to denote the dimension of the space.
-	  In the renaming operator >>, the parameter p renamed into offset,
-	  consistently with the comment.  In the examples, removed spaces
-	  between factor and variable when specifying a linear expression
-	  (e.g., "3 * x + 4 * y" now is written "3*x + 4*y").
-
-2001-10-21 Sunday 13:01  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/definitions.dox (1.18): When specifying the coordinates of a
-	  point, indexes should range from 0 to n-1, if n is the dimension
-	  of the space.  This is to be consistent with definition of class
-	  Variable.  Change applied to the definitions of scalar-product,
-	  of polytope and to Weil's theorem.  Note: I do not like to say a
-	  polyhedron is "open" in one direction; I prefer the terminology
-	  "unbounded", so I changed it.
-
-2001-10-21 Sunday 12:09  Elisa Ricci
-
-	* doc/definitions.dox (1.17): Restored some mathematical changes
-	  and used the notation "\vect{..}" for all the vectors (also in
-	  the part that is not in the user manual).
-
-2001-10-21 Sunday 11:56  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.12), Generator.defs.hh (1.13),
-	  Polyhedron.defs.hh (1.37), Variable.cc (1.2), Variable.defs.hh
-	  (1.7): In the documentation of the namespace PPL, all non-friend
-	  operators are now grouped consistently. I do not like very much
-	  the current header of each group ("Non-friend operators on
-	  objects ..." is maybe too much implementation-aware), but in any
-	  case it is definitely better than the default grouping header
-	  ("Functions").
-
-2001-10-21 Sunday 11:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* README (1.6): Now it is in sync with the home page of the www
-	  documentation.
-
-2001-10-21 Sunday 11:14  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* doc/: definitions.dox (1.16), ppl.sty (1.4): The new macro \vect
-	  inserted in ppl.sty; now the macro simply uses the latex command
-	  \mathbf, but we can modify its meaning as we like.  Had a run on
-	  definitions.dox to consistently use the new macro: be careful, in
-	  the future, to use 0 when a scalar is meant, and \vect{0} when
-	  the origin of the space is meant.  Also made small, readability
-	  related changes to Minkowsky's and Weil's theorems.
-
-2001-10-20 Saturday 21:30  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.5): Equation -> equality.
-
-2001-10-20 Saturday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.4): Almost complete: only the directory structure is
-	  missing.
-
-2001-10-20 Saturday 16:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* CREDITS (1.2): Just a formatting change.
-
-2001-10-20 Saturday 16:25  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: definitions.dox (1.15), devref.tex (1.5), user.tex (1.6):
-	  Footers fixed.  Put the blame on Doxygen.
-
-2001-10-20 Saturday 16:22  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* AUTHORS (1.2), CREDITS (1.1): Renamed and completed.
-
-2001-10-20 Saturday 12:22  Elisa Ricci
-
-	* doc/definitions.dox (1.14), src/Polyhedron.defs.hh (1.36): Moved
-	  the definition of the universe polyhedron after the definition of
-	  the polyhedron.
-
-2001-10-20 Saturday 11:47  Elisa Ricci
-
-	* src/: GenSys.cc (1.10), GenSys.defs.hh (1.24), Polyhedron.cc
-	  (1.28), Polyhedron.defs.hh (1.35), Status.defs.hh (1.6),
-	  conversion.cc (1.5): Now, we always use `system of' instead of
-	  `set of' for GenSys and ConSys.  In the comment of polyhedron
-	  added the explanation of what an universal polyhedron is.  Some
-	  changes to the comment of the exception: we say that they "have
-	  different dimension" instead of that they "do not have the same
-	  dimension".
-
-2001-10-20 Saturday 10:26  Elisa Ricci
-
-	* src/LinExpression.defs.hh (1.12): In the second part of the
-	  example, we can use  LinExpression e = LinExpression(14) instead
-	  of   LinExpression e = LinExpression(Integer(14)).
-
-2001-10-19 Friday 20:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: user-browse.doxyconf-latex.in (1.6),
-	  user-print.doxyconf-latex.in (1.6), user.doxyconf-html.in (1.8):
-	  No INTERNAL_DOCS, no INHERIT_DOCS, no FILE_PATTERNS, and no
-	  EXCLUDE_PATTERNS.
-
-2001-10-19 Friday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.15), GenSys.defs.hh (1.23): Use
-	  PPL_INTERNAL inheritance.
-
-2001-10-19 Friday 18:13  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.13): Generators and associated terminology
-	  now defined in the user section.  There is now some repetition of
-	  definitions in the developer's section.
-
-2001-10-19 Friday 17:27  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.27), Polyhedron.defs.hh (1.34),
-	  Polyhedron.inlines.hh (1.5): Simplified the comment to the
-	  function swap.  Used `v' instead of `var', `dim' instead of
-	  `add_dim'.  All the ConSys are called `cs' and all the GenSys are
-	  called `gs'.	Used the expression "thrown if" to introduce the
-	  comment to the exceptions.  The variable is "substituted" in the
-	  function substitute_variable.
-
-2001-10-19 Friday 17:19  Elisa Ricci
-
-	* src/: ConSys.cc (1.8), ConSys.defs.hh (1.14), GenSys.cc (1.9),
-	  GenSys.defs.hh (1.22): The Generator is called `g' instead of `r'
-	  and the number that indicates the variable is called `v' instead
-	  of 'var'.
-
-2001-10-19 Friday 17:12  Elisa Ricci
-
-	* src/: Constraint.defs.hh (1.11), Generator.defs.hh (1.12):
-	  Constraint and Generator are :: PPL_INTERNAL Row instead of ::
-	  public Row (like LinExpression).
-
-2001-10-19 Friday 14:24  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.9), depcomp (1.2), install-sh (1.2), ppl.spec.in
-	  (1.6), doc/Makefile.am (1.11), doc/definitions.dox (1.12),
-	  doc/devref-browse.doxyconf-latex.in (1.5),
-	  doc/devref-print.doxyconf-latex.in (1.5),
-	  doc/devref.doxyconf-html.in (1.6), doc/gpl.dox (1.2),
-	  doc/user-browse.doxyconf-latex.in (1.5),
-	  doc/user-print.doxyconf-latex.in (1.5), doc/user.doxyconf-html.in
-	  (1.7), src/ConSys.cc (1.7), src/ConSys.defs.hh (1.13),
-	  src/ConSys.inlines.hh (1.3), src/Constraint.defs.hh (1.10),
-	  src/GenSys.cc (1.8), src/GenSys.defs.hh (1.21),
-	  src/GenSys.inlines.hh (1.3), src/Generator.defs.hh (1.11),
-	  src/LinExpression.defs.hh (1.11), src/Makefile.am (1.8),
-	  src/Matrix.cc (1.4), src/Matrix.defs.hh (1.5),
-	  src/Matrix.inlines.hh (1.2), src/Polyhedron.cc (1.26),
-	  src/Polyhedron.defs.hh (1.33), src/Polyhedron.inlines.hh (1.4),
-	  src/Row.cc (1.3), src/Row.inlines.hh (1.3), src/SatMatrix.cc
-	  (1.4), src/SatMatrix.defs.hh (1.6), src/SatMatrix.inlines.hh
-	  (1.2), src/SatRow.defs.hh (1.5), src/SatRow.inlines.hh (1.2),
-	  src/Status.cc (1.3), src/Status.defs.hh (1.5), src/conversion.cc
-	  (1.4), src/minimize.cc (1.3), src/simplify.cc (1.3),
-	  tests/Makefile.am (1.15), tests/append2.cc (1.3), tests/error2.cc
-	  (1.3), tests/inters1.cc (1.4), tests/inters2.cc (1.4),
-	  tests/permute.cc (1.6): Annoying trailing blanks removed.
-
-2001-10-19 Friday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: LinExpression.defs.hh (1.10), LinExpression.inlines.hh
-	  (1.2): We now have only one sizing constructor, and it is
-	  private.
-
-2001-10-19 Friday 12:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: conversion.cc (1.3), minimize.cc (1.2), simplify.cc (1.2),
-	  Matrix.cc (1.3): Old junk removed.
-
-2001-10-19 Friday 12:15  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.25), Polyhedron.defs.hh (1.32): In
-	  functions widening_assign and limited_widening_assign considered
-	  the case of empty-polyhedron and the exception for the different
-	  dimension of the polyhedra and the matrix (this for the
-	  limited_widening); added some explanations for the parameters.
-	  In function assign_variable and substitute_variable considered
-	  the exceptions for the variable that is not inside the polyhedron
-	  and the expression that does not have the right dimension.
-
-2001-10-19 Friday 09:57  Elisa Ricci
-
-	* doc/definitions.dox (1.11): Some mathematical changes.
-
-2001-10-19 Friday 09:42  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.5), configure.ac (1.4): Add checks to determine
-	  the size of ints and longs.
-
-2001-10-19 Friday 09:06  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/Polyhedron.defs.hh (1.31): Examples 4 to 7 simplified.
-
-2001-10-19 Friday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: Polyhedron.defs.hh (1.30), Variable.defs.hh (1.6): Changes
-	  to English.
-
-2001-10-18 Thursday 18:51  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.24), Polyhedron.defs.hh (1.29),
-	  Polyhedron.inlines.hh (1.3): In function add_dimensions_and_embed
-	  and add_dimensions_and_project the case of "add_dim" = 0 and the
-	  case of the empty polyhedron are considered.	In functions
-	  add_constraints, add_constraints_lazy, add_generators, generators
-	  and constraints instead of some assertion some exceptions are
-	  added.
-
-2001-10-18 Thursday 15:36  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: GenSys.defs.hh (1.20), LinExpression.defs.hh (1.9),
-	  Polyhedron.defs.hh (1.28): More improvements to the English.
-
-2001-10-18 Thursday 15:29  Elisa Ricci
-
-	* src/GenSys.defs.hh (1.19): The real name of the function is
-	  GenSys_Con_Rel satisfy(const Constraint& c) const and not
-	  GenSys_Con_Rel satisfy_constraint(const Constraint& c) const.
-
-2001-10-18 Thursday 14:01  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/GenSys.defs.hh (1.18): Just "specify" changed to "specifies".
-
-2001-10-18 Thursday 13:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/: ConSys.defs.hh (1.12), Constraint.defs.hh (1.9),
-	  GenSys.defs.hh (1.17), Generator.defs.hh (1.10): Changes to
-	  English.  In GenSys.defs.hh the explanation about a system of
-	  generators changed to:     An object of the class GenSys is a
-	  system of generators,     i.e. a container of objects of the
-	  class Generator     (lines, rays and vertices).      The set of
-	  generators must include at least one vertex.	    This is needed
-	  since a line or ray only specify a direction	    and a point is
-	  needed to indicate its position.
-
-2001-10-18 Thursday 12:40  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.23), Polyhedron.defs.hh (1.27): Now the
-	  function  GenSys_Con_Rel poly_satisfies_constraint(const
-	  Constraint& con) is called  GenSys_Con_Rel satisfies(const
-	  Constraint& c).  Added the exception for the functions
-	  convex_hull_lazy(), satisfies() and includes().
-
-2001-10-18 Thursday 12:37  Elisa Ricci
-
-	* src/: GenSys.cc (1.7), GenSys.defs.hh (1.16): Now the function
-	  PPL::GenSys::satisfy_constraint(const Constraint& c) const is
-	  called PPL::GenSys::satisfy(const Constraint& c) const.
-
-2001-10-18 Thursday 11:36  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/ehandlers.hh (1.2): Call exit(1) instead of abort().
-
-2001-10-18 Thursday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.14), append1.cc (1.2), ehandlers.hh (1.1):
-	  Set the handlers for unexpected and uncaught exceptions.
-
-2001-10-18 Thursday 09:38  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* src/GenSys.defs.hh (1.15): Small change to wording in
-	  GenSys_Con_Rel comment.
-
-2001-10-18 Thursday 09:07  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/permute.cc (1.5): Now the termination conditions are
-	  checked.
-
-2001-10-18 Thursday 08:32  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/permute.cc (1.4): Instead of giving the number of variables
-	  explicitly, it is obtained as needed using
-	  Polyhedron.num_dimensions.
-
-2001-10-18 Thursday 08:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.10): Now `make world' also produces the
-	  licenses in various formats.
-
-2001-10-17 Wednesday 20:18  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.22): throw_different_dimensions() fixed.
-
-2001-10-17 Wednesday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.13), permute.cc (1.3): Made quiet.
-
-2001-10-17 Wednesday 20:17  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/error3.cc (1.2): Fixed and made quiet.
-
-2001-10-17 Wednesday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/append.cc (1.4): Renamed append1.cc.
-
-2001-10-17 Wednesday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: append1.cc (1.1), append2.cc (1.2): Renamed.
-
-2001-10-17 Wednesday 19:37  Elisa Ricci
-
-	* tests/error3.cc (1.1): Tests whether convex_hull assign throws
-	  when it should.
-
-2001-10-17 Wednesday 19:33  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.21), Polyhedron.defs.hh (1.26):
-	  Polyhedron::intersection_assign() and
-	  Polyhedron::convex_hull_assign() now throw an exception if asked
-	  to operate on polyhedra of different dimensions.
-
-2001-10-17 Wednesday 16:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/permute.cc (1.2): We now use the intended constraints.
-	  Termination is guaranteed by using Polyhedron::widening_assign().
-
-2001-10-17 Wednesday 16:31  Elisa Ricci
-
-	* src/: ConSys.defs.hh (1.11), ConSys.inlines.hh (1.2),
-	  GenSys.defs.hh (1.14), GenSys.inlines.hh (1.2): Added the
-	  function swap for GenSys and ConSys.
-
-2001-10-17 Wednesday 16:21  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/: Makefile.am (1.12), append2.cc (1.1), my_append.cc (1.2),
-	  permute.cc (1.1): The file my_append.cc renamed to append2.cc A
-	  new test program permute.cc added.  Makefile.am updated to
-	  include these tests.
-
-2001-10-17 Wednesday 16:08  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.20), Polyhedron.defs.hh (1.25): Added
-	  comments of the parameters to some public functions of
-	  Polyhedron.
-
-2001-10-17 Wednesday 15:27  Elisa Ricci
-
-	* src/: ConSys.defs.hh (1.10), Constraint.defs.hh (1.8),
-	  GenSys.defs.hh (1.13), Polyhedron.defs.hh (1.24): Now, the
-	  definitions of the variables used in the examples are before the
-	  examples (they are not inside the examples).
-
-2001-10-17 Wednesday 15:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* tests/my_append.cc (1.1): A modified version of append.cc where
-	  code is structured into two procedures, one for the initial
-	  polyhedra and one for the fix-point.
-
-2001-10-17 Wednesday 12:55  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.10): Definitions of linearly independent
-	  and affinely independent improved.
-
-2001-10-17 Wednesday 12:38  Elisa Ricci
-
-	* src/: Constraint.defs.hh (1.7), Generator.defs.hh (1.9),
-	  LinExpression.defs.hh (1.8): Now, "friend" mathods are inside the
-	  class documentation of these class.  In the "Detail Description"
-	  of the class LinExpression there is the paragraph "How to build a
-	  linear expression".
-
-2001-10-17 Wednesday 12:03  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.23): Used "check_not_empty" instead of
-	  "check_satisfiable" also in the comment of function
-	  Polyhedron::OK().
-
-2001-10-17 Wednesday 12:01  Elisa Ricci
-
-	* src/: ConSys.defs.hh (1.9), GenSys.defs.hh (1.12), Matrix.defs.hh
-	  (1.4), Polyhedron.cc (1.19), Polyhedron.defs.hh (1.22),
-	  SatMatrix.cc (1.3), SatMatrix.defs.hh (1.5), SatRow.defs.hh
-	  (1.4), Status.defs.hh (1.4): Changed the comments in the function
-	  OK().  In function Polyhedron::OK() used "check_not_empty"
-	  instead of "check_satisfiable".
-
-2001-10-17 Wednesday 11:05  Elisa Ricci
-
-	* src/: ConSys.cc (1.6), ConSys.defs.hh (1.8), GenSys.cc (1.6),
-	  GenSys.defs.hh (1.11), Polyhedron.cc (1.18), Polyhedron.defs.hh
-	  (1.21): In function assign_variable and substitute_variable and
-	  in their comments used "expr" instead of "coefficient".  Used the
-	  concatenation of two strings in the argument of
-	  std::invalid_argument(...).
-
-2001-10-17 Wednesday 11:03  Elisa Ricci
-
-	* src/Generator.inlines.hh (1.5): Used the concatenation of two
-	  strings in the argument of std::invalid_argument(...).
-
-2001-10-17 Wednesday 10:14  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.20): Erased the temporary debug
-	  constructor of a polyhedron.
-
-2001-10-17 Wednesday 09:19  Elisa Ricci
-
-	* src/: ConSys.cc (1.5), ConSys.defs.hh (1.7), GenSys.cc (1.5),
-	  GenSys.defs.hh (1.10), Matrix.cc (1.2), Matrix.defs.hh (1.3),
-	  Polyhedron.cc (1.17), Polyhedron.defs.hh (1.19), SatMatrix.cc
-	  (1.2), SatMatrix.defs.hh (1.4), SatRow.cc (1.2), SatRow.defs.hh
-	  (1.3), Status.cc (1.2), Status.defs.hh (1.3): Now, there is not
-	  NDEBUG before the function OK.
-
-2001-10-17 Wednesday 07:47  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: ConSys.cc (1.4), GenSys.cc (1.4), Generator.inlines.hh
-	  (1.4), Makefile.am (1.7), Polyhedron.cc (1.16), Row.cc (1.2),
-	  Row.inlines.hh (1.2): Now Integer and BitSet are in the PPL
-	  namespace.  Other namespace-related fixes.  Exception strings
-	  improved.
-
-2001-10-16 Tuesday 19:05  Elisa Ricci
-
-	* src/: Constraint.defs.hh (1.6), Generator.defs.hh (1.8): Changed
-	  the place of the paragraph "How to build ...".  In the comment of
-	  'Generator operator /=' used std::invalid_argument instead of
-	  invalid_argument.
-
-2001-10-16 Tuesday 18:59  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.18): Used std::invalid_argument instead
-	  of invalid_argument in the documentation of exception.
-
-2001-10-16 Tuesday 18:54  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: definitions.dox (1.9), ppl.sty (1.3): More definitions
-	  added to ppl.sty.
-
-	  New definitions used in definitions.dox.  Layout of formula in
-	  Minkowski's theorem improved.
-
-2001-10-16 Tuesday 18:23  Elisa Ricci
-
-	* src/: ConSys.defs.hh (1.6), GenSys.defs.hh (1.9), Polyhedron.cc
-	  (1.15), Polyhedron.defs.hh (1.17), Status.defs.hh (1.2),
-	  conversion.cc (1.2): Used "\Rset" instead of "\mathbb{R}".
-
-2001-10-16 Tuesday 18:18  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Constraint.defs.hh (1.5), LinExpression.defs.hh (1.7),
-	  Variable.defs.hh (1.5): Examples on the creation of linear
-	  expressions and constraints moved to the right place. Comment
-	  about variable names moved into the definition of the class
-	  Variable.
-
-2001-10-16 Tuesday 18:06  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.7): The examples on how to build
-	  generators moved to the right place.
-
-2001-10-16 Tuesday 17:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: error1.cc (1.2), error2.cc (1.2): There is no point in
-	  including print.hh.
-
-2001-10-16 Tuesday 17:33  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/: definitions.dox (1.8), ppl.sty (1.2): Some logic notation
-	  and "things that hold by definition" added to ppl.sty \mathbb{R}
-	  replaced by \Rset in definitions.dox
-
-2001-10-16 Tuesday 17:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.14), src/Polyhedron.defs.hh (1.16),
-	  src/Variable.defs.hh (1.4), src/Variable.inlines.hh (1.2),
-	  tests/append.cc (1.3): The argument of
-	  Polyhedron::remove_dimensions() has changed again.  Now it is
-	  remove_dimensions(const std::set<Variable>& to_be_removed).
-
-2001-10-16 Tuesday 17:24  Elisa Ricci
-
-	* tests/: Makefile.am (1.11), error2.cc (1.1): Added a test for the
-	  expception of Polyhedron::assign_variable.
-
-2001-10-16 Tuesday 17:12  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.15): Commented the exception for the
-	  function assign_variable and substitute_variable.  Now, some
-	  important puclic function are in the user manual.
-
-2001-10-16 Tuesday 17:10  Elisa Ricci
-
-	* src/Generator.defs.hh (1.6): Commented the exception of the
-	  constructor of a vertex.
-
-2001-10-16 Tuesday 17:09  Elisa Ricci
-
-	* src/Generator.inlines.hh (1.3): A line has the inhomogeneus term
-	  equal to zero (like a ray).
-
-2001-10-16 Tuesday 16:40  Elisa Ricci
-
-	* src/GenSys.defs.hh (1.8): Added two examples that show that at
-	  least a vertex is necessary in a set of generators.
-
-2001-10-16 Tuesday 15:20  Elisa Ricci
-
-	* src/Polyhedron.cc (1.13): In functions assign_variable and
-	  substitute_variable tha case of denominator == 0 is considered.
-
-2001-10-16 Tuesday 15:11  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.defs.hh (1.6), Variable.defs.hh (1.3): No
-	  longer using modules (\ingroup, \addgroup, etc.).
-
-2001-10-16 Tuesday 12:26  Elisa Ricci
-
-	* src/Polyhedron.cc (1.12): Erased a print.
-
-2001-10-16 Tuesday 12:23  Elisa Ricci
-
-	* src/: ConSys.cc (1.3), ConSys.defs.hh (1.5), GenSys.cc (1.3),
-	  GenSys.defs.hh (1.7): Corrected my previous error.
-
-2001-10-16 Tuesday 12:09  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.11), Polyhedron.defs.hh (1.14): The
-	  functions assingn_variable and substitute_variable use a Variable
-	  instead od a size_t and a const LinExpression instead of a
-	  vector<Integer>.  In this functions, we use a copy of the `coeff'
-	  to find the inverse transformations.	Changed the example in
-	  according to these changes.
-
-2001-10-16 Tuesday 12:04  Elisa Ricci
-
-	* src/: ConSys.cc (1.2), ConSys.defs.hh (1.4): Now
-	  substitute_variable uses LinExpression instead of a
-	  vector<Integer>.
-
-2001-10-16 Tuesday 12:03  Elisa Ricci
-
-	* src/: GenSys.cc (1.2), GenSys.defs.hh (1.6): Now
-	  assign_variable(..) uses an LinExpression instead of a
-	  vector<Integer>.
-
-2001-10-16 Tuesday 11:59  Elisa Ricci
-
-	* src/LinExpression.defs.hh (1.5): Now LinExpression is
-	  PPL_INTERNAL Row, instead of private Row.
-
-2001-10-16 Tuesday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator.inlines.hh (1.2), tests/Makefile.am (1.10),
-	  tests/error1.cc (1.1): Throw an invalid_argument exception if
-	  Generator operator /=(const LinExpression& e, const Integer& n)
-	  is called with n == 0.  New test program error1.cc to test
-	  whether this situation is correctly handled.
-
-2001-10-16 Tuesday 10:54  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.3): New incipit.
-
-2001-10-16 Tuesday 10:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: Matrix.defs.hh (1.2), Row.defs.hh (1.2), SatMatrix.defs.hh
-	  (1.3), SatRow.defs.hh (1.2): All the specializations of the
-	  std::swap function related to implementation classes are now
-	  hidden from the user guide.
-
-2001-10-16 Tuesday 10:53  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.5): Summary changed.  Packager also changed in
-	  view of PGP signatures.
-
-2001-10-16 Tuesday 10:20  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.13): The parameter name of the
-	  "default" constructor for Polyhedron is `kind'.  Hal the comment
-	  was using a different parameter name (`full').
-
-2001-10-16 Tuesday 10:15  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.defs.hh (1.5): In the examples, replaced "\=" by "/=".
-
-2001-10-16 Tuesday 10:13  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.5): In the examples for defining
-	  vectors, all "\=" replaced by "/=".
-
-2001-10-16 Tuesday 08:31  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.lsm.in (1.2), src/Polyhedron.cc (1.10),
-	  src/Polyhedron.defs.hh (1.12), tests/append.cc (1.2): New
-	  interface for remove_dimensions(const std::vector<unsigned int>&
-	  to_be_removed).  Note: BitSet is an implementation detail that
-	  should not surface in the API.
-
-2001-10-16 Tuesday 07:38  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.4): First attempt at the LSM (Linux Software Map)
-	  entry form.
-
-2001-10-15 Monday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.9), append.cc (1.1): A first at the
-	  append's analysis test.
-
-2001-10-15 Monday 20:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/randchull1.cc (1.4): Do less work.
-
-2001-10-15 Monday 20:14  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/empty1.cc (1.2): Must return an int, not a bool.
-
-2001-10-15 Monday 18:35  Elisa Ricci
-
-	* src/Polyhedron.cc (1.9): Erased the "assert(OK())" from the
-	  function Polyhedron::insert(const Generator&): after an insertion
-	  of a generator the polyhedron can be not OK.
-
-2001-10-15 Monday 18:24  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.11): Added a new example to show the
-	  use of the function Polyhedron::insert(...).
-
-2001-10-15 Monday 18:13  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.8), src/Polyhedron.defs.hh (1.10),
-	  tests/Makefile.am (1.8), tests/empty1.cc (1.1): It is not
-	  possible to overload bool and unsigned int.  New enumeration
-	  Degenerate_Kind added with vales ZERO_DIMENSIONAL and EMPTY.	The
-	  constructor Polyhedron(Degenerate_Kind kind = ZERO_DIMENSIONAL)
-	  does the expected thing.  The program empty1.cc exemplifies two
-	  methods of obtaining an empty polyhedron.
-
-2001-10-15 Monday 18:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.9): ppl.sty must also be distributed.
-
-2001-10-15 Monday 17:14  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.7), Polyhedron.defs.hh (1.9): Now the
-	  default constructor of a polyhedron has a default argument.  If
-	  `full' is false, it builds an empty polyhedron (it has the flag
-	  set to empty); otherwise, if it has the default value (i.e.
-	  true), it bulids a zero-dimensional polyhedron.
-
-2001-10-15 Monday 16:44  Elisa Ricci
-
-	* src/Polyhedron.cc (1.6): If we build a polyhedron starting from a
-	  matrix of generators with no rows the polyhedron is empty.
-
-2001-10-15 Monday 16:15  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Makefile.am (1.8): Use an absolute path for adding to
-	  TEXINPUTS.
-
-2001-10-15 Monday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/.cvsignore (1.3): Here is the Integer class again.
-
-2001-10-15 Monday 15:40  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.inlines.hh (1.2): Multiple inclusion guard added.
-
-2001-10-15 Monday 15:20  Elisa Ricci
-
-	* src/Polyhedron.cc (1.5): In the constructors of a polyhedron that
-	  use a system of constraints or a set of generators these matrices
-	  must be at least two columns.  In the function
-	  remove_dimensions(..) if the matrix of generators does not have
-	  at least two columns (i.e num_columns() <= 1) the polyhedron
-	  becomes zero-dimensional and so we clear the `con_sys' and
-	  `gen_sys'.  In function insert(const Constraint& c) if the
-	  polyhedron is zero-dimensional we add also the positivity
-	  constraint.  In functions insert(...) it is no longer necessary
-	  clear `con_sys' and `gen_sys' before adding a row if the
-	  polyhedron is zero-dimensional.  In function OK(), we verify if
-	  in a zero-dimensional polyhedron `con_sys' and `gen_sys' have no
-	  rows.
-
-2001-10-15 Monday 15:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: Makefile.am (1.7), devref-browse.doxyconf-latex.in (1.4),
-	  devref-print.doxyconf-latex.in (1.4), devref.doxyconf-html.in
-	  (1.5), devref.tex (1.4), ppl.sty (1.1),
-	  user-browse.doxyconf-latex.in (1.4), user-print.doxyconf-latex.in
-	  (1.4), user.doxyconf-html.in (1.6), user.tex (1.5): New LaTeX
-	  commands can now be defined in ppl.sty and then freely used in
-	  the doxygen and LaTeX sources.  This works also when producing
-	  HTML pages.
-
-2001-10-15 Monday 13:59  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.8): Rewrite a part of the brief
-	  description of the class Polyhedron.	Added some more expanation
-	  for the examples 5 and 6.
-
-2001-10-15 Monday 12:19  Elisa Ricci
-
-	* src/SatMatrix.defs.hh (1.2): Added a briefly description for the
-	  saturation matrix.
-
-2001-10-15 Monday 11:59  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.3): Now we build a relocatable package.
-
-2001-10-15 Monday 11:34  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* ppl.spec.in (1.2): A first cut at a working RPM spec file.
-
-2001-10-15 Monday 09:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Makefile.am (1.6): It is now possible for the build directory
-	  to be the same as the source directory.
-
-2001-10-14 Sunday 22:32  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* INSTALL (1.2), missing (1.2), mkinstalldirs (1.3): Updated.
-
-2001-10-14 Sunday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.8), configure.ac (1.3), doc/Makefile.am (1.6),
-	  m4/Makefile.am (1.2), src/Makefile.am (1.5), tests/Makefile.am
-	  (1.7): Several packaging bugs have been fixed: now `make
-	  distcheck' is OK.
-
-2001-10-14 Sunday 21:26  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref-browse.doxyconf-latex.in (1.3),
-	  devref-print.doxyconf-latex.in (1.3), devref.doxyconf-html.in
-	  (1.4), user-browse.doxyconf-latex.in (1.3),
-	  user-print.doxyconf-latex.in (1.3), user.doxyconf-html.in (1.5):
-	  The sysdep directory does not exist anymore.
-
-2001-10-14 Sunday 14:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.7), doc/Makefile.am (1.5), doc/definitions.dox
-	  (1.7), doc/devref-browse.doxyconf-latex.in (1.2),
-	  doc/devref-print.doxyconf-latex.in (1.2),
-	  doc/devref.doxyconf-html.in (1.3), doc/fdl.dox (1.1), doc/fdl.tex
-	  (1.1), doc/gfdl.dox (1.2), doc/gpl.tex (1.1), doc/gpl.texi (1.2),
-	  doc/gpl.texinfo (1.2), doc/texinfo.tex (1.2),
-	  doc/user-browse.doxyconf-latex.in (1.2),
-	  doc/user-print.doxyconf-latex.in (1.2), doc/user.doxyconf-html.in
-	  (1.4): Documentation reorganized.
-
-2001-10-14 Sunday 11:46  Elisa Ricci
-
-	* src/Polyhedron.cc (1.4): In functions Polyhedron::insert(const
-	  Constraint& c) e Polyhedron::insert(const Constraint& c) the case
-	  of a zero-dimensional polyhedron is considered.
-
-2001-10-13 Saturday 21:16  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/Polyhedra.texinfo (1.3): Was never meant to be here.
-
-2001-10-13 Saturday 19:06  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* config.h.in (1.4), configure.ac (1.2): Configuration fixed in
-	  various respects.
-
-	  Please note that:
-
-	  - debugging (-g) is ON by default; - standard optimization (-O2)
-	  is THE default; - run-time assertions are OFF by default.
-
-2001-10-13 Saturday 19:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.4), ppl.cc (1.2), protect.sed (1.2),
-	  restore.sed (1.2): Generation of libppl.a and ppl.hh fixed.
-
-2001-10-13 Saturday 19:03  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.6), inters1.cc (1.3), inters2.cc (1.3),
-	  randchull1.cc (1.3): Programs using the PPL need only include
-	  ppl.hh.
-
-2001-10-13 Saturday 19:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Polyhedron.cc (1.3), tests/randchull1.cc (1.2): It is now
-	  possible to insert a generator into an empty polyhedron.
-
-2001-10-13 Saturday 16:37  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.6), acconfig.h (1.2), acinclude.m4 (1.1),
-	  config.guess (1.2), config.h.in (1.3), config.sub (1.2),
-	  configure.ac (1.1), configure.in (1.5), doc/Makefile.am (1.4),
-	  m4/.cvsignore (1.1), src/Makefile.am (1.3), tests/Makefile.am
-	  (1.5): Upgraded to newer versions of autoconf.  Use the new
-	  checks for detecting GMP.
-
-2001-10-13 Saturday 12:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.5), m4/Makefile.am (1.1),
-	  m4/ac_check_gmp_exceptions.m4 (1.1), m4/ac_check_have_gmp.m4
-	  (1.1): New tests to check whether GMP is installed and, if so,
-	  whether it was compiled with -fexceptions.
-
-2001-10-13 Saturday 10:56  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.4), Makefile.am (1.4), Makefile.in (1.4),
-	  aclocal.m4 (1.2), configure (1.5), stamp-h.in (1.2),
-	  doc/.cvsignore (1.1), doc/Makefile.am (1.3), doc/Makefile.in
-	  (1.3), src/.cvsignore (1.2), src/Makefile.in (1.3),
-	  tests/.cvsignore (1.1), tests/Makefile.in (1.5): Automatically
-	  generated  files should not be in the repository and their
-	  presence in the directory structure should be ignored.
-
-2001-10-12 Friday 22:27  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* configure (1.4), configure.in (1.4), doc/Makefile.am (1.2),
-	  doc/Makefile.in (1.2), doc/devref-browse.doxyconf-latex.in (1.1),
-	  doc/devref-print.doxyconf-latex.in (1.1),
-	  doc/devref.doxyconf-pdf.in (1.3), doc/devref.tex (1.3),
-	  doc/user-browse.doxyconf-latex.in (1.1),
-	  doc/user-print.doxyconf-latex.in (1.1), doc/user.doxyconf-pdf.in
-	  (1.4), doc/user.tex (1.4): Several improvements to the
-	  documentation.  We now produce docs for printing and docs for
-	  browsing
-
-2001-10-12 Friday 18:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.doxyconf-html.in (1.2), devref.doxyconf-pdf.in
-	  (1.2), user.doxyconf-html.in (1.3), user.doxyconf-pdf.in (1.3),
-	  user.tex (1.3): The project name is "Parma Polyhedra Library",
-	  "PPL" for short.
-
-2001-10-12 Friday 18:01  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.4), Makefile.in (1.4), randchull1.cc
-	  (1.1): New test computing convex-hulls of random polytopes.
-
-2001-10-12 Friday 17:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.6): Title of document changed.  Sections
-	  changed so that there are two sections, an introduction to
-	  polyhedra and a more advanced section which talks about the PPL
-	  implementation.  Comment about vertices differing from rays only
-	  in the n+1'th  term moved to before "Valid linear inequalities"
-	  paragraph.
-
-2001-10-12 Friday 17:09  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/: Makefile.am (1.2), Makefile.in (1.2): Header file ppl.hh is
-	  now guarded against multiple inclusion.
-
-2001-10-12 Friday 17:08  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* src/Generator.cc (1.2): Bug fixed: a vertex in the origin was
-	  printed as "v()" instead of "v(0)".
-
-2001-10-12 Friday 16:51  Elisa Ricci
-
-	* src/: Polyhedron.cc (1.2), Polyhedron.defs.hh (1.7): Added the
-	  function Polyhedron::insert(const Generator& g).
-
-2001-10-12 Friday 16:36  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.6): Added other two examples: one is
-	  for the use of assign_variable(...) and the other is for the use
-	  of substitute_variable(...).
-
-2001-10-12 Friday 15:44  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.5): Corrected a my error: to build a
-	  vertex "/=" is needed instead of "\=".
-
-2001-10-12 Friday 15:12  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.4): Added two examples to the comment:
-	  one to specify the use of add_dimensions_and_embed(..) and the
-	  other to specify the use of add_dimensions_and_project(...).
-	  Corrected an error in a formula: now in the comment of
-	  convex_hull(...) and convex_hull_lazy(..) there is \f$\cup\f$
-	  instead of \f$\union\f$ (that caused an error in Latex).
-
-2001-10-12 Friday 15:07  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/inters2.cc (1.2): Fixed and extended.
-
-2001-10-12 Friday 14:20  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* tests/: Makefile.am (1.3), Makefile.in (1.3), inters1.cc (1.2),
-	  inters2.cc (1.1), print.hh (1.1): print.hh contains functions
-	  that are useful for printing polyhedra.  inters1.cc improved.
-	  New test inters2.cc computing the intersection of a pyramid with
-	  an half-space of variable height, then counting the number of
-	  vertices of the resulting polytope (the empty polyhedron, a
-	  proper frustum, or a singleton).
-
-2001-10-12 Friday 13:20  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.5): Section on the "equivalence of
-	  homogeneous and inhomogeneous systems" (up to the paragraph
-	  called "Valid linear inequalities") changed and reworded.  Title
-	  of section changed to "Homogeneous systems".
-
-2001-10-12 Friday 10:04  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* README (1.2), doc/Polyhedra.texinfo (1.2), tests/Makefile.am
-	  (1.2), tests/Makefile.in (1.2): Bump copyright year.
-
-2001-10-12 Friday 09:55  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.3), Makefile.in (1.3), config.h.in (1.2),
-	  configure (1.3), configure.in (1.3), tests/Makefile.am (1.1),
-	  tests/Makefile.in (1.1), tests/inters1.cc (1.1): Infrastructure
-	  for the tests directory and `make check'.  inters1.cc is a first
-	  example of how test programs could be written.
-
-2001-10-11 Thursday 17:37  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Polyhedron.defs.hh (1.3): Added a backslash to mathbb in the
-	  second example.  Removing empty lines that were causing Examples
-	  1 and 2 to end prematurely.
-
-2001-10-11 Thursday 17:00  Elisa Ricci
-
-	* src/Polyhedron.defs.hh (1.2): Added two examples to the comment:
-	  one is for the construction of a square using the constraints and
-	  the generators. The other is for the construction of an
-	  half-strip using the constraints and the generators.
-
-2001-10-11 Thursday 16:57  Elisa Ricci
-
-	* src/GenSys.defs.hh (1.4): Added another example for the
-	  construction of a set of generators (it builds an half-strip).
-
-2001-10-11 Thursday 16:56  Elisa Ricci
-
-	* src/ConSys.defs.hh (1.3): Added another example for the
-	  constraction of a system of constraints (it builds an
-	  half-strip).
-
-2001-10-11 Thursday 16:41  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.4): The paragraph "The Minkowski's
-	  theorem" renamed to	"Minkowski's theorem.  The condition
-	  "rank(A) = n" changed to   "where A is a matrix of rank n".  The
-	  note following the definition is reworded so that the
-	  conditions are not bracketed.  "Linear equalities and
-	  inequalities" has been   changed to "constraints".  "positive
-	  multiples of each inequality and ray" has been    changed to
-	  "positive multiples of each constraint and ray".  The word "the"
-	  inserted where necessary.
-
-	  The paragraph "The Weil's theorem" renamed to "Weil's theorem.
-
-2001-10-11 Thursday 16:07  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Constraint.defs.hh (1.4): In the examples, variable "cs"
-	  renamed into "inequal" and "equal".
-
-2001-10-11 Thursday 15:49  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.3): In the definition of rays:  P is
-	  defined before P_0;  A and b are defined;  inserted "any point"
-	  before r; The comment that a ray is the direction in which P is
-	  infinite, moved from within the statement of the proposition to
-	  before the proposition and reworded.
-
-	  In the definition of lines, wording improved.  Comment relating
-	  opposite rays with lines made into a separate paragraph. It is
-	  not part of the definition.
-
-2001-10-11 Thursday 14:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LinExpression.defs.hh (1.4): In the first two examples,
-	  variable z now has index 2 (using index 5 was correct, but a bit
-	  misleading).
-
-2001-10-11 Thursday 14:33  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.4): IN the first example, variable "g"
-	  renamed as "line".
-
-2001-10-11 Thursday 14:32  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/Generator.defs.hh (1.3): Examples modified:  - using more
-	  meaningful names (line, ray and vertex) for Generator variables;
-	  - explained that the first argument of operators | and ^ is
-	  meaningless;	- explained how to use the second argument of /= to
-	  obtain vertices    with non-integral coefficients.
-
-2001-10-11 Thursday 14:28  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/GenSys.defs.hh (1.3): In the first example, Variable y(0)
-	  changed in Variable y(1) to avoid dimension clash with Variable
-	  x(0).  In the second example, the computation of the past-the-end
-	  iterator moved outside the for-loop.
-
-2001-10-11 Thursday 13:53  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: ConSys.defs.hh (1.2), Constraint.defs.hh (1.3),
-	  Constraint.inlines.hh (1.2): Friend members building a constraint
-	  using operators < and > removed.  Example changed accordingly.
-	  In the example on the use of iterators for ConSys, the
-	  past-the-end iterator is now computed only once before the
-	  for-loop.
-
-2001-10-11 Thursday 13:49  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: user.doxyconf-html.in (1.2), user.doxyconf-pdf.in (1.2): Do
-	  not show inheritance graphs or diagrams.  Do not show a thousands
-	  times that the only PPL header file is ppl.hh.
-
-2001-10-11 Thursday 13:44  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* doc/: devref.tex (1.2), user.tex (1.2): Tatiana's email address
-	  fixed.  Better titles.
-
-2001-10-11 Thursday 13:03  Patricia M. Hill <hill at comp.leeds.ac.uk>
-
-	* doc/definitions.dox (1.2): In the definition of the combinations,
-	  the p_1,...,p_k are changed to x_1,...,x_k.  In the definition of
-	  scalar product: "vector" is changed to "vectors".  In the
-	  definition of polyhedra there are a number of changes to
-	  notation, the definitions of the notation and to the wording.
-
-2001-10-11 Thursday 12:38  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/: LinExpression.defs.hh (1.3), Variable.defs.hh (1.2): Some
-	  errors (just introduced by me) removed.  Methods of class
-	  Variable added to group LinExpression.
-
-2001-10-11 Thursday 12:00  Enea Zaffanella <zaffanella at cs.unipr.it>
-
-	* src/LinExpression.defs.hh (1.2): A few changes in the example.
-
-2001-10-11 Thursday 11:22  Elisa Ricci
-
-	* src/Generator.defs.hh (1.2): Added three examples: one for the
-	  construction of a line, one for the construction of a ray and the
-	  other for the construction of a vertex.
-
-2001-10-11 Thursday 11:19  Elisa Ricci
-
-	* src/GenSys.defs.hh (1.2): Added an example in the comment: it is
-	  useful to specify the construction of a set of generators.
-
-2001-10-11 Thursday 11:16  Elisa Ricci
-
-	* src/Constraint.defs.hh (1.2): Added two examples in the comment:
-	  one for the building of an inequality and the other for the
-	  building of an equality.
-
-2001-10-11 Thursday 08:39  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* Makefile.am (1.2), Makefile.in (1.2), configure (1.2),
-	  configure.in (1.2): Disable the test directory.
-
-2001-10-11 Thursday 08:33  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.3), src/.cvsignore (1.1): My mistake: BitSet and
-	  Integer are subdirectories of src.
-
-2001-10-11 Thursday 08:29  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.2): Ignore the BitSet and Integer subdirectories:
-	  they must be here and must be ignored by CVS.
-
-2001-10-10 Wednesday 21:50  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* mkinstalldirs (1.2): $Id tag removed.
-
-2001-10-10 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.1.1.1), AUTHORS (1.1.1.1), COPYING (1.1.1.1),
-	  ChangeLog (1.1.1.1), INSTALL (1.1.1.1), Makefile.am (1.1.1.1),
-	  Makefile.in (1.1.1.1), NEWS (1.1.1.1), README (1.1.1.1), TODO
-	  (1.1.1.1), acconfig.h (1.1.1.1), aclocal.m4 (1.1.1.1),
-	  config.guess (1.1.1.1), config.h.in (1.1.1.1), config.sub
-	  (1.1.1.1), configure (1.1.1.1), configure.in (1.1.1.1), depcomp
-	  (1.1.1.1), install-sh (1.1.1.1), missing (1.1.1.1), mkinstalldirs
-	  (1.1.1.1), ppl.lsm.in (1.1.1.1), ppl.spec.in (1.1.1.1),
-	  stamp-h.in (1.1.1.1), doc/Makefile.am (1.1.1.1), doc/Makefile.in
-	  (1.1.1.1), doc/Polyhedra.texinfo (1.1.1.1), doc/definitions.dox
-	  (1.1.1.1), doc/devref.doxyconf-html.in (1.1.1.1),
-	  doc/devref.doxyconf-pdf.in (1.1.1.1), doc/devref.tex (1.1.1.1),
-	  doc/gfdl.dox (1.1.1.1), doc/gpl.dox (1.1.1.1), doc/gpl.texi
-	  (1.1.1.1), doc/gpl.texinfo (1.1.1.1), doc/texinfo.tex (1.1.1.1),
-	  doc/user.doxyconf-html.in (1.1.1.1), doc/user.doxyconf-pdf.in
-	  (1.1.1.1), doc/user.tex (1.1.1.1), src/ConSys.cc (1.1.1.1),
-	  src/ConSys.defs.hh (1.1.1.1), src/ConSys.inlines.hh (1.1.1.1),
-	  src/ConSys.types.hh (1.1.1.1), src/Constraint.cc (1.1.1.1),
-	  src/Constraint.defs.hh (1.1.1.1), src/Constraint.inlines.hh
-	  (1.1.1.1), src/Constraint.types.hh (1.1.1.1), src/GenSys.cc
-	  (1.1.1.1), src/GenSys.defs.hh (1.1.1.1), src/GenSys.inlines.hh
-	  (1.1.1.1), src/GenSys.types.hh (1.1.1.1), src/Generator.cc
-	  (1.1.1.1), src/Generator.defs.hh (1.1.1.1),
-	  src/Generator.inlines.hh (1.1.1.1), src/Generator.types.hh
-	  (1.1.1.1), src/LinExpression.cc (1.1.1.1),
-	  src/LinExpression.defs.hh (1.1.1.1), src/LinExpression.inlines.hh
-	  (1.1.1.1), src/LinExpression.types.hh (1.1.1.1), src/Makefile.am
-	  (1.1.1.1), src/Makefile.in (1.1.1.1), src/Matrix.cc (1.1.1.1),
-	  src/Matrix.defs.hh (1.1.1.1), src/Matrix.inlines.hh (1.1.1.1),
-	  src/Matrix.types.hh (1.1.1.1), src/Polyhedron.cc (1.1.1.1),
-	  src/Polyhedron.defs.hh (1.1.1.1), src/Polyhedron.inlines.hh
-	  (1.1.1.1), src/Polyhedron.types.hh (1.1.1.1), src/Row.cc
-	  (1.1.1.1), src/Row.defs.hh (1.1.1.1), src/Row.inlines.hh
-	  (1.1.1.1), src/Row.types.hh (1.1.1.1), src/SatMatrix.cc
-	  (1.1.1.1), src/SatMatrix.defs.hh (1.1.1.1),
-	  src/SatMatrix.inlines.hh (1.1.1.1), src/SatMatrix.types.hh
-	  (1.1.1.1), src/SatRow.cc (1.1.1.1), src/SatRow.defs.hh (1.1.1.1),
-	  src/SatRow.inlines.hh (1.1.1.1), src/SatRow.types.hh (1.1.1.1),
-	  src/Status.cc (1.1.1.1), src/Status.defs.hh (1.1.1.1),
-	  src/Status.inlines.hh (1.1.1.1), src/Status.types.hh (1.1.1.1),
-	  src/Variable.cc (1.1.1.1), src/Variable.defs.hh (1.1.1.1),
-	  src/Variable.inlines.hh (1.1.1.1), src/Variable.types.hh
-	  (1.1.1.1), src/conversion.cc (1.1.1.1), src/globals.cc (1.1.1.1),
-	  src/globals.hh (1.1.1.1), src/maxmin.hh (1.1.1.1),
-	  src/minimize.cc (1.1.1.1), src/ppl.cc (1.1.1.1), src/protect.sed
-	  (1.1.1.1), src/restore.sed (1.1.1.1), src/simplify.cc (1.1.1.1):
-	  Imported into the new repository.
-
-2001-10-10 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
-
-	* .cvsignore (1.1), AUTHORS (1.1), COPYING (1.1), ChangeLog (1.1),
-	  INSTALL (1.1), Makefile.am (1.1), Makefile.in (1.1), NEWS (1.1),
-	  README (1.1), TODO (1.1), acconfig.h (1.1), aclocal.m4 (1.1),
-	  config.guess (1.1), config.h.in (1.1), config.sub (1.1),
-	  configure (1.1), configure.in (1.1), depcomp (1.1), install-sh
-	  (1.1), missing (1.1), mkinstalldirs (1.1), ppl.lsm.in (1.1),
-	  ppl.spec.in (1.1), stamp-h.in (1.1), doc/Makefile.am (1.1),
-	  doc/Makefile.in (1.1), doc/Polyhedra.texinfo (1.1),
-	  doc/definitions.dox (1.1), doc/devref.doxyconf-html.in (1.1),
-	  doc/devref.doxyconf-pdf.in (1.1), doc/devref.tex (1.1),
-	  doc/gfdl.dox (1.1), doc/gpl.dox (1.1), doc/gpl.texi (1.1),
-	  doc/gpl.texinfo (1.1), doc/texinfo.tex (1.1),
-	  doc/user.doxyconf-html.in (1.1), doc/user.doxyconf-pdf.in (1.1),
-	  doc/user.tex (1.1), src/ConSys.cc (1.1), src/ConSys.defs.hh
-	  (1.1), src/ConSys.inlines.hh (1.1), src/ConSys.types.hh (1.1),
-	  src/Constraint.cc (1.1), src/Constraint.defs.hh (1.1),
-	  src/Constraint.inlines.hh (1.1), src/Constraint.types.hh (1.1),
-	  src/GenSys.cc (1.1), src/GenSys.defs.hh (1.1),
-	  src/GenSys.inlines.hh (1.1), src/GenSys.types.hh (1.1),
-	  src/Generator.cc (1.1), src/Generator.defs.hh (1.1),
-	  src/Generator.inlines.hh (1.1), src/Generator.types.hh (1.1),
-	  src/LinExpression.cc (1.1), src/LinExpression.defs.hh (1.1),
-	  src/LinExpression.inlines.hh (1.1), src/LinExpression.types.hh
-	  (1.1), src/Makefile.am (1.1), src/Makefile.in (1.1),
-	  src/Matrix.cc (1.1), src/Matrix.defs.hh (1.1),
-	  src/Matrix.inlines.hh (1.1), src/Matrix.types.hh (1.1),
-	  src/Polyhedron.cc (1.1), src/Polyhedron.defs.hh (1.1),
-	  src/Polyhedron.inlines.hh (1.1), src/Polyhedron.types.hh (1.1),
-	  src/Row.cc (1.1), src/Row.defs.hh (1.1), src/Row.inlines.hh
-	  (1.1), src/Row.types.hh (1.1), src/SatMatrix.cc (1.1),
-	  src/SatMatrix.defs.hh (1.1), src/SatMatrix.inlines.hh (1.1),
-	  src/SatMatrix.types.hh (1.1), src/SatRow.cc (1.1),
-	  src/SatRow.defs.hh (1.1), src/SatRow.inlines.hh (1.1),
-	  src/SatRow.types.hh (1.1), src/Status.cc (1.1),
-	  src/Status.defs.hh (1.1), src/Status.inlines.hh (1.1),
-	  src/Status.types.hh (1.1), src/Variable.cc (1.1),
-	  src/Variable.defs.hh (1.1), src/Variable.inlines.hh (1.1),
-	  src/Variable.types.hh (1.1), src/conversion.cc (1.1),
-	  src/globals.cc (1.1), src/globals.hh (1.1), src/maxmin.hh (1.1),
-	  src/minimize.cc (1.1), src/ppl.cc (1.1), src/protect.sed (1.1),
-	  src/restore.sed (1.1), src/simplify.cc (1.1): Initial revision
+2009-01-08  Enea Zaffanella <zaffanella at cs.unipr.it>
 
+	* src/BD_Shape.defs.hh, src/BD_Shape.inlines.hh,
+	src/BD_Shape.templates.hh: Drafted an implementation for
+	BHZ09_upper_bound_assign_if_exact(); the public method
+	upper_bound_assign_if_exact() is now based on this new (private)
+	method.
diff --git a/Makefile.am b/Makefile.am
index aead277..d2f40fc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -23,38 +23,58 @@
 # Tell aclocal where to find `.m4' files.
 ACLOCAL_AMFLAGS = -I m4
 
-DISTCHECK_CONFIGURE_FLAGS = \
---enable-shared --enable-watchdog
+SUBDIRS = . utils src Watchdog tests interfaces demos doc m4
 
 dist_noinst_SCRIPTS = \
 configure
 
+nodist_noinst_HEADERS = \
+ppl-config.h
+
 dist_noinst_HEADERS = \
 instchk.hh
 
+ppl-config.h: config.h $(srcdir)/ppl-config.sed
+	$(SED) -f $(srcdir)/ppl-config.sed $< >$@
+
+ppl-config.h.in: config.h.in $(srcdir)/ppl-config.sed
+	$(SED) -f $(srcdir)/ppl-config.sed $< >$@
+
+DISTCHECK_CONFIGURE_FLAGS = \
+--enable-shared --enable-watchdog
+
+# 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
+# it, hence we erase it in `dist-hook'.
 dist-hook:
-	$(SED) -e "s/^enableval=thorough$$/enableval=quick/g" \
+	rm -f $(distdir)/ppl-config.h \
+	&& $(SED) -e "s/^enableval=thorough$$/enableval=quick/g" \
+	          -e "s/^default_interfaces=\$${available_interfaces}$$/default_interfaces=\$${non_prolog_interfaces}/g" \
 		<$(distdir)/configure.ac >$(distdir)/configure.ac.new \
 	&& touch $(distdir)/configure.ac.new -r $(distdir)/configure.ac \
 	&& mv -f $(distdir)/configure.ac.new $(distdir)/configure.ac
 	$(SED) -e "s/^enableval=thorough$$/enableval=quick/g" \
+	          -e "s/^default_interfaces=\$${available_interfaces}$$/default_interfaces=\$${non_prolog_interfaces}/g" \
 		<$(distdir)/configure >$(distdir)/configure.new \
 	&& touch $(distdir)/configure.new -r $(distdir)/configure \
 	&& mv -f $(distdir)/configure.new $(distdir)/configure \
 	&& chmod +x $(distdir)/configure
 
+# 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
+# it, hence we erase it in `dist-hook'.
 EXTRA_DIST = \
+ppl-config.h \
+ppl-config.h.in \
+ppl-config.sed \
 ppl.lsm.in \
-BUGS CREDITS README.configure STANDARDS
-
-SUBDIRS = utils src Watchdog tests interfaces demos doc m4
+BUGS \
+CREDITS \
+README.configure \
+STANDARDS
 
-# The files @PACKAGE at -config.h and _configs.sed, which are generated by
-# the autoconf macro AX_PREFIX_CONFIG_H, are not automatically cleaned up
-# by `make distclean'. So we need to explicitly clean them.
 DISTCLEANFILES = \
- at PACKAGE@-config.h \
-_configs.sed
+ppl-config.h
 
 distcleancheck_listfiles = \
-	find -type f -exec sh -c 'test -f $(srcdir)/{} || echo {}' ';'
+  find -type f -exec sh -c 'test -f $(srcdir)/{} || echo {}' ';'
diff --git a/Makefile.in b/Makefile.in
index aae4d8c..316efa6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -85,12 +85,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -109,7 +108,7 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	install-pdf-recursive install-ps-recursive install-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	ps-recursive uninstall-recursive
-HEADERS = $(dist_noinst_HEADERS)
+HEADERS = $(dist_noinst_HEADERS) $(nodist_noinst_HEADERS)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
 ETAGS = etags
@@ -181,6 +180,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -189,6 +190,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -263,6 +265,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -303,30 +306,38 @@ xsb_prolog = @xsb_prolog@
 
 # Tell aclocal where to find `.m4' files.
 ACLOCAL_AMFLAGS = -I m4
-DISTCHECK_CONFIGURE_FLAGS = \
---enable-shared --enable-watchdog
-
+SUBDIRS = . utils src Watchdog tests interfaces demos doc m4
 dist_noinst_SCRIPTS = \
 configure
 
+nodist_noinst_HEADERS = \
+ppl-config.h
+
 dist_noinst_HEADERS = \
 instchk.hh
 
+DISTCHECK_CONFIGURE_FLAGS = \
+--enable-shared --enable-watchdog
+
+
+# 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
+# it, hence we erase it in `dist-hook'.
 EXTRA_DIST = \
+ppl-config.h \
+ppl-config.h.in \
+ppl-config.sed \
 ppl.lsm.in \
-BUGS CREDITS README.configure STANDARDS
-
-SUBDIRS = utils src Watchdog tests interfaces demos doc m4
+BUGS \
+CREDITS \
+README.configure \
+STANDARDS
 
-# The files @PACKAGE at -config.h and _configs.sed, which are generated by
-# the autoconf macro AX_PREFIX_CONFIG_H, are not automatically cleaned up
-# by `make distclean'. So we need to explicitly clean them.
 DISTCLEANFILES = \
- at PACKAGE@-config.h \
-_configs.sed
+ppl-config.h
 
 distcleancheck_listfiles = \
-	find -type f -exec sh -c 'test -f $(srcdir)/{} || echo {}' ';'
+  find -type f -exec sh -c 'test -f $(srcdir)/{} || echo {}' ';'
 
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -784,12 +795,24 @@ uninstall-am:
 	ps ps-am tags tags-recursive uninstall uninstall-am
 
 
+ppl-config.h: config.h $(srcdir)/ppl-config.sed
+	$(SED) -f $(srcdir)/ppl-config.sed $< >$@
+
+ppl-config.h.in: config.h.in $(srcdir)/ppl-config.sed
+	$(SED) -f $(srcdir)/ppl-config.sed $< >$@
+
+# 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
+# it, hence we erase it in `dist-hook'.
 dist-hook:
-	$(SED) -e "s/^enableval=thorough$$/enableval=quick/g" \
+	rm -f $(distdir)/ppl-config.h \
+	&& $(SED) -e "s/^enableval=thorough$$/enableval=quick/g" \
+	          -e "s/^default_interfaces=\$${available_interfaces}$$/default_interfaces=\$${non_prolog_interfaces}/g" \
 		<$(distdir)/configure.ac >$(distdir)/configure.ac.new \
 	&& touch $(distdir)/configure.ac.new -r $(distdir)/configure.ac \
 	&& mv -f $(distdir)/configure.ac.new $(distdir)/configure.ac
 	$(SED) -e "s/^enableval=thorough$$/enableval=quick/g" \
+	          -e "s/^default_interfaces=\$${available_interfaces}$$/default_interfaces=\$${non_prolog_interfaces}/g" \
 		<$(distdir)/configure >$(distdir)/configure.new \
 	&& touch $(distdir)/configure.new -r $(distdir)/configure \
 	&& mv -f $(distdir)/configure.new $(distdir)/configure \
diff --git a/NEWS b/NEWS
index 01f019d..d185ac2 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,118 @@ Parma Polyhedra Library NEWS -- history of user-visible changes
 
 
 --------------------------------------------------------------------------
+NEWS for version 0.10.1  (released on April 14, 2009)
+--------------------------------------------------------------------------
+
+New and Changed Features
+========================
+
+o  Added support for cross compilation.
+
+o  The configuration script now explicitly checks that a recent enough
+   version of GNU M4 is available if at least one non-C++ interface is
+   enabled (in previous versions this check was not performed and
+   building the library could fail in a mysterious way).
+
+o  Robustness improved.
+
+o  Some packaging issues have been fixed.
+
+o  New macro PPL_DIRTY_TEMP_COEFFICIENT allows users of the C++
+   interface to decrease memory allocation overhead and to improve
+   locality whenever they need a temporary variable of type
+   `Coefficient'.
+
+o  The C++, C, Java and OCaml interfaces now provide utility functions
+   to format the textual representations of constraints, congruences
+   and so on.  This makes it easy to code debugging prints with line
+   indentation and wrapping.
+
+o  The C interface now provides functions of the form
+
+     int ppl_io_asprint_Polyhedron(char** strp, P x)
+
+   where `P' is any opaque pointer to a const PPL object. These
+   functions print `x' to a malloc-allocated string, a pointer to
+   which is returned via `strp'.
+
+o  The OCaml interface can now be compiled to native code using ocamlopt.
+
+o  New configuration option `--with-mlgmp=DIR' allows to specify the
+   installation directory of the ML GMP package.
+
+o  The OCaml interface now supports timeout computation facilities
+   through functions ppl_set_timeout and ppl_reset_timeout.  Moreover,
+   new functions ppl_Coefficient_is_bounded, ppl_Coefficient_min,
+   ppl_Coefficient_max and ppl_max_space_dimension have been added.
+
+o  The Prolog interfaces are no longer enabled by default in the
+   release tarballs (they are enabled by default in the Git versions).
+
+
+Bugfixes
+========
+
+o  Fixed a bug whereby `make check' was failing when the library was
+   configured with the `--disable-watchdog' option.
+
+o  Fixed a bug in method
+
+     bool Polyhedron::contains_integer_point() const;
+
+   whereby, under very specific conditions, an empty polyhedron is
+   incorrectly said to contain an integer point.
+
+o  Fixed a bug in method
+
+     Partially_Reduced_Product<D1, D2, R>::time_elase_assign(y)
+
+  whereby, if the product y was not already reduced, the operation could
+  lose precision.
+
+o  Fixed a bug in the OCaml interface, which was affecting functions
+
+     ppl_Grid_generalized_affine_image_with_congruence
+
+   and
+
+     ppl_Grid_generalized_affine_preimage_with_congruence.
+
+o  Fixed a bug in the Grid class that affected the methods
+
+     Grid::bounds_from_above(), Grid::bounds_from_below(),
+     Grid::maximize() and Grid::minimize();
+
+   causing all of them to wrongly return true in certain cases where
+   the grid generators were not minimized.
+
+o  Fixed a bug whereby big-endian architectures were not properly
+   recognized by the configuration script.
+
+o  Fixed a bug in the Java/OCaml/Prolog interfaces, whereby
+   the method/function/predicate for dropping a disjunct from a
+   Pointset_Powerset object were returning an invalid iterator.
+
+o  Fixed a bug in method Octagonal_Shape<T>::affine_image(var, expr)
+   whereby a wrong result was computed under specific conditions.
+
+o  Fixed a bug in the OCaml interface, whereby functions of form
+
+     ppl_..._widening_assign_with_tokens
+
+   and
+
+     ppl_..._extrapolation_assign_with_tokens
+
+   could return a wrong number of tokens.
+
+o  Fixed a bug in the OCaml interface, whereby functions that returned
+   an OCaml 'unit' type were returning the wrong value.
+
+o  Fixed several garbage collection related bugs in the OCaml interface.
+
+
+--------------------------------------------------------------------------
 NEWS for version 0.10  (released on November 4, 2008)
 --------------------------------------------------------------------------
 
@@ -1388,10 +1500,10 @@ o  The methods Polyhedron::widening_assign() and
    of the widenings introduced in
 
      N. Halbwachs.
-     Détermination Automatique de Relations Linéaires
-     Vérifiées par les Variables d'un Programme.
-     Thèse de 3ème cicle d'informatique,
-     Université scientifique et médicale de Grenoble,
+     Determination Automatique de Relations Lineaires
+     Verifiees par les Variables d'un Programme.
+     These de 3eme cicle d'informatique,
+     Universite scientifique et medicale de Grenoble,
      Grenoble, France, March 1979.
 
    and described in
diff --git a/README b/README
index 66aed01..a79c408 100644
--- a/README
+++ b/README
@@ -1,11 +1,11 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 
-Parma Polyhedra Library (Release 0.10)
-=====================================
+Parma Polyhedra Library (Release 0.10.1)
+========================================
 
-This is the release 0.10 of the Parma Polyhedra Library:
+This is the release 0.10.1 of the Parma Polyhedra Library:
 a C++ library for (not necessarily closed) convex polyhedra
 and other numerical abstractions.
 
@@ -64,9 +64,9 @@ 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.10 source distribution
-(41 directories, 1409 files):
+(41 directories, 1446 files):
 
-ppl-0.10
+ppl-0.10.1
 |-- BUGS
 |-- COPYING
 |-- CREDITS
@@ -102,9 +102,7 @@ ppl-0.10
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
 |   |   |-- README.doc
-|   |   |-- devref.doxyconf-html
 |   |   |-- devref.doxyconf-html.in
-|   |   |-- devref.doxyconf-latex
 |   |   |-- devref.doxyconf-latex.in
 |   |   |-- devref.tex
 |   |   |-- fdl.dox
@@ -121,9 +119,7 @@ ppl-0.10
 |   |   |-- pwl-user-0.5.pdf
 |   |   |-- pwl-user-0.5.ps.gz
 |   |   |-- pwl.sty
-|   |   |-- user.doxyconf-html
 |   |   |-- user.doxyconf-html.in
-|   |   |-- user.doxyconf-latex
 |   |   |-- user.doxyconf-latex.in
 |   |   `-- user.tex
 |   |-- install-sh
@@ -131,7 +127,6 @@ ppl-0.10
 |   |-- m4
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
-|   |   |-- ax_prefix_config_h.m4
 |   |   |-- lib-ld.m4
 |   |   |-- lib-link.m4
 |   |   |-- libtool.m4
@@ -141,6 +136,8 @@ ppl-0.10
 |   |   `-- lt~obsolete.m4
 |   |-- missing
 |   |-- mkinstalldirs
+|   |-- pwl-config.h.in
+|   |-- pwl-config.sed
 |   |-- src
 |   |   |-- Doubly_Linked_Object.defs.hh
 |   |   |-- Doubly_Linked_Object.inlines.hh
@@ -377,12 +374,9 @@ ppl-0.10
 |   |-- Makefile.in
 |   |-- README.doc
 |   |-- definitions.dox
-|   |-- devref-language-interface.doxyconf
 |   |-- devref-language-interface.doxyconf.in
 |   |-- devref-language-interface.tex
-|   |-- devref.doxyconf-html
 |   |-- devref.doxyconf-html.in
-|   |-- devref.doxyconf-latex
 |   |-- devref.doxyconf-latex.in
 |   |-- devref.tex
 |   |-- fdl.dox
@@ -400,28 +394,25 @@ ppl-0.10
 |   |-- libppl.3
 |   |-- libppl_c.3
 |   |-- ppl-config.1
-|   |-- ppl-user-0.10-html.tar.gz
-|   |-- ppl-user-0.10.pdf
-|   |-- ppl-user-0.10.ps.gz
-|   |-- ppl-user-c-interface-0.10-html.tar.gz
-|   |-- ppl-user-c-interface-0.10.pdf
-|   |-- ppl-user-c-interface-0.10.ps.gz
-|   |-- ppl-user-java-interface-0.10-html.tar.gz
-|   |-- ppl-user-java-interface-0.10.pdf
-|   |-- ppl-user-java-interface-0.10.ps.gz
-|   |-- ppl-user-ocaml-interface-0.10-html.tar.gz
-|   |-- ppl-user-ocaml-interface-0.10.pdf
-|   |-- ppl-user-ocaml-interface-0.10.ps.gz
-|   |-- ppl-user-prolog-interface-0.10-html.tar.gz
-|   |-- ppl-user-prolog-interface-0.10.pdf
-|   |-- ppl-user-prolog-interface-0.10.ps.gz
+|   |-- ppl-user-0.10.1-html.tar.gz
+|   |-- ppl-user-0.10.1.pdf
+|   |-- ppl-user-0.10.1.ps.gz
+|   |-- ppl-user-c-interface-0.10.1-html.tar.gz
+|   |-- ppl-user-c-interface-0.10.1.pdf
+|   |-- ppl-user-c-interface-0.10.1.ps.gz
+|   |-- ppl-user-java-interface-0.10.1-html.tar.gz
+|   |-- ppl-user-java-interface-0.10.1.pdf
+|   |-- ppl-user-java-interface-0.10.1.ps.gz
+|   |-- ppl-user-ocaml-interface-0.10.1-html.tar.gz
+|   |-- ppl-user-ocaml-interface-0.10.1.pdf
+|   |-- ppl-user-ocaml-interface-0.10.1.ps.gz
+|   |-- ppl-user-prolog-interface-0.10.1-html.tar.gz
+|   |-- ppl-user-prolog-interface-0.10.1.pdf
+|   |-- ppl-user-prolog-interface-0.10.1.ps.gz
 |   |-- ppl.sty
-|   |-- user-language-interface.doxyconf
 |   |-- user-language-interface.doxyconf.in
 |   |-- user-language-interface.tex
-|   |-- user.doxyconf-html
 |   |-- user.doxyconf-html.in
-|   |-- user.doxyconf-latex
 |   |-- user.doxyconf-latex.in
 |   `-- user.tex
 |-- install-sh
@@ -445,10 +436,10 @@ ppl-0.10
 |   |   `-- tests
 |   |       |-- Makefile.am
 |   |       |-- Makefile.in
-|   |       |-- cxxoutput.c
+|   |       |-- formatted_output.c
 |   |       |-- ppl_c_test.cc
 |   |       |-- ppl_c_test.h
-|   |       |-- print_to_buffer.cc
+|   |       |-- print_to_buffer.c
 |   |       `-- print_to_buffer.h
 |   |-- Java
 |   |   |-- Makefile.am
@@ -482,6 +473,7 @@ ppl-0.10
 |   |   |   |-- Grid_Generator.java
 |   |   |   |-- Grid_Generator_System.java
 |   |   |   |-- Grid_Generator_Type.java
+|   |   |   |-- IO.java
 |   |   |   |-- Invalid_Argument_Exception.java
 |   |   |   |-- Length_Error_Exception.java
 |   |   |   |-- Linear_Expression.java
@@ -735,7 +727,6 @@ ppl-0.10
 |   |-- ac_prog_javac.m4
 |   |-- ac_prog_javah.m4
 |   |-- ac_text_md5sum.m4
-|   |-- ax_prefix_config_h.m4
 |   |-- lib-ld.m4
 |   |-- lib-link.m4
 |   |-- lib-prefix.m4
@@ -744,10 +735,13 @@ ppl-0.10
 |   |-- ltsugar.m4
 |   |-- ltversion.m4
 |   |-- lt~obsolete.m4
+|   |-- m4.m4
 |   |-- ppl.m4
 |   `-- ppl_c.m4
 |-- missing
 |-- mkinstalldirs
+|-- ppl-config.h.in
+|-- ppl-config.sed
 |-- ppl.lsm.in
 |-- src
 |   |-- BDS_Status.idefs.hh
@@ -984,6 +978,10 @@ ppl-0.10
 |   |-- Widening_Function.types.hh
 |   |-- algorithms.hh
 |   |-- assign_or_swap.hh
+|   |-- c_streambuf.cc
+|   |-- c_streambuf.defs.hh
+|   |-- c_streambuf.inlines.hh
+|   |-- c_streambuf.types.hh
 |   |-- checked.cc
 |   |-- checked.defs.hh
 |   |-- checked.inlines.hh
@@ -1022,7 +1020,6 @@ ppl-0.10
 |   |-- mp_std_bits.defs.hh
 |   |-- mp_std_bits.inlines.hh
 |   |-- namespaces.hh
-|   |-- ppl-config.cc
 |   |-- ppl-config.cc.in
 |   |-- ppl.hh.dist
 |   |-- ppl_header.hh
@@ -1033,7 +1030,9 @@ ppl-0.10
 |   |-- stdiobuf.types.hh
 |   |-- swapping_sort.icc
 |   |-- version.cc
-|   `-- version.hh.in
+|   |-- version.hh.in
+|   |-- wrap.cc
+|   `-- wrap.hh
 |-- tests
 |   |-- BD_Shape
 |   |   |-- Makefile.am
@@ -1092,17 +1091,18 @@ ppl-0.10
 |   |   |-- maxspacedim1.cc
 |   |   |-- membytes1.cc
 |   |   |-- minconstraints1.cc
-|   |   |-- pointsetpowerset1.cc
 |   |   |-- relations1.cc
 |   |   |-- relations2.cc
 |   |   |-- relations3.cc
 |   |   |-- relations4.cc
 |   |   |-- removespacedims1.cc
 |   |   |-- run_tests
+|   |   |-- simplifyusingcontext1.cc
 |   |   |-- timeelapse1.cc
 |   |   |-- unconstrain1.cc
 |   |   |-- universe1.cc
 |   |   |-- upperbound1.cc
+|   |   |-- upperboundifexact1.cc
 |   |   `-- writebdshape1.cc
 |   |-- Box
 |   |   |-- Makefile.am
@@ -1147,13 +1147,12 @@ ppl-0.10
 |   |   |-- geomcovers1.cc
 |   |   |-- intersection1.cc
 |   |   |-- interval1.cc
+|   |   |-- limitedcc76extrapolation1.cc
 |   |   |-- mapspacedims1.cc
 |   |   |-- max_min1.cc
 |   |   |-- maxspacedim1.cc
 |   |   |-- membytes1.cc
 |   |   |-- minconstraints1.cc
-|   |   |-- pointsetpowerset1.cc
-|   |   |-- pointsetpowerset2.cc
 |   |   |-- propagateconstraints1.cc
 |   |   |-- propagateconstraints2.cc
 |   |   |-- refinewithcongruences1.cc
@@ -1167,11 +1166,13 @@ ppl-0.10
 |   |   |-- relations4.cc
 |   |   |-- removespacedims1.cc
 |   |   |-- run_tests
+|   |   |-- simplifyusingcontext1.cc
 |   |   |-- timeelapse1.cc
 |   |   |-- topclosed1.cc
 |   |   |-- unconstrain1.cc
 |   |   |-- universe1.cc
 |   |   |-- upperbound1.cc
+|   |   |-- upperboundifexact1.cc
 |   |   `-- writebox1.cc
 |   |-- Grid
 |   |   |-- Makefile.am
@@ -1248,7 +1249,6 @@ ppl-0.10
 |   |   |-- outputoperator2.cc
 |   |   |-- outputoperator3.cc
 |   |   |-- partition1.cc
-|   |   |-- pointsetpowerset1.cc
 |   |   |-- powersetdifference1.cc
 |   |   |-- powersetgeometricallycovers1.cc
 |   |   |-- powersetgeometricallyequals1.cc
@@ -1259,6 +1259,7 @@ ppl-0.10
 |   |   |-- relations3.cc
 |   |   |-- removespacedims1.cc
 |   |   |-- removespacedims2.cc
+|   |   |-- simplifyusingcontext1.cc
 |   |   |-- timeelapse1.cc
 |   |   |-- topclosed1.cc
 |   |   |-- topclosure1.cc
@@ -1335,17 +1336,18 @@ ppl-0.10
 |   |   |-- maxspacedim1.cc
 |   |   |-- membytes1.cc
 |   |   |-- minconstraints1.cc
-|   |   |-- pointsetpowerset1.cc
 |   |   |-- relatwithcons1.cc
 |   |   |-- relatwithcons2.cc
 |   |   |-- relatwithcons3.cc
 |   |   |-- relatwithgen1.cc
 |   |   |-- removespacedims1.cc
 |   |   |-- run_tests
+|   |   |-- simplifyusingcontext1.cc
 |   |   |-- timeelapse1.cc
 |   |   |-- unconstrain1.cc
 |   |   |-- universe1.cc
 |   |   |-- upperbound1.cc
+|   |   |-- upperboundifexact1.cc
 |   |   `-- writeoctagon1.cc
 |   |-- Partial_Function.cc
 |   |-- Partial_Function.defs.hh
@@ -1389,6 +1391,7 @@ ppl-0.10
 |   |   |-- ascii_dump_load2.cc
 |   |   |-- ascii_dump_load3.cc
 |   |   |-- bgp99extrapolation1.cc
+|   |   |-- bgp99extrapolation2.cc
 |   |   |-- bhrz03widening1.cc
 |   |   |-- bhrz03widening2.cc
 |   |   |-- bhrz03widening3.cc
@@ -1436,9 +1439,9 @@ ppl-0.10
 |   |   |-- intersection1.cc
 |   |   |-- limitedbhrz03extrapolation1.cc
 |   |   |-- limitedh79extrapolation1.cc
+|   |   |-- linearexpression1.cc
 |   |   |-- linearpartition1.cc
 |   |   |-- linearsystem1.cc
-|   |   |-- linexpression1.cc
 |   |   |-- mapspacedims1.cc
 |   |   |-- matrix1.cc
 |   |   |-- max_min1.cc
@@ -1460,6 +1463,8 @@ ppl-0.10
 |   |   |-- polydifference2.cc
 |   |   |-- polyhull1.cc
 |   |   |-- polyhull2.cc
+|   |   |-- polyhullifexact1.cc
+|   |   |-- polyhullifexact2.cc
 |   |   |-- randphull1.cc
 |   |   |-- refinewithcongruence1.cc
 |   |   |-- refinewithcongruences1.cc
@@ -1490,15 +1495,47 @@ ppl-0.10
 |   |-- Powerset
 |   |   |-- Makefile.am
 |   |   |-- Makefile.in
-|   |   |-- pointsetpowerset1.cc
-|   |   |-- pointsetpowerset2.cc
-|   |   |-- pointsetpowerset3.cc
-|   |   |-- pointsetpowerset4.cc
-|   |   |-- pointsetpowerset5.cc
-|   |   |-- pointsetpowerset6.cc
+|   |   |-- addcongruences1.cc
+|   |   |-- addconstraints1.cc
+|   |   |-- affinedimension1.cc
+|   |   |-- affineimage1.cc
+|   |   |-- affinepreimage1.cc
+|   |   |-- bounded1.cc
+|   |   |-- bounds1.cc
+|   |   |-- closed1.cc
+|   |   |-- closure1.cc
+|   |   |-- collapse1.cc
+|   |   |-- concatenate1.cc
+|   |   |-- contains1.cc
+|   |   |-- containsintegerpoint1.cc
+|   |   |-- difference1.cc
+|   |   |-- discrete1.cc
+|   |   |-- disjoint1.cc
+|   |   |-- disjunct1.cc
+|   |   |-- empty1.cc
+|   |   |-- entails1.cc
+|   |   |-- equals1.cc
+|   |   |-- frombdshape1.cc
+|   |   |-- frombox1.cc
+|   |   |-- fromcongruences1.cc
+|   |   |-- fromconstraints1.cc
+|   |   |-- fromgrid1.cc
+|   |   |-- fromoctagonalshape1.cc
+|   |   |-- frompolyhedron1.cc
+|   |   |-- fromspacedimension1.cc
+|   |   |-- intersection1.cc
+|   |   |-- maxmin1.cc
+|   |   |-- meet1.cc
+|   |   |-- membytes1.cc
 |   |   |-- powerset1.cc
-|   |   |-- product1.cc
-|   |   `-- simplifyusingcontext1.cc
+|   |   |-- reduce1.cc
+|   |   |-- refinewith1.cc
+|   |   |-- relationwith1.cc
+|   |   |-- simplifyusingcontext1.cc
+|   |   |-- size1.cc
+|   |   |-- spacedims1.cc
+|   |   |-- universe1.cc
+|   |   `-- upperbound1.cc
 |   |-- README
 |   |-- Random_Number_Generator.defs.hh
 |   |-- Random_Number_Generator.inlines.hh
@@ -1521,7 +1558,7 @@ ppl-0.10
 
 --------
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/README.configure b/README.configure
index 6fe96c5..9b97730 100644
--- a/README.configure
+++ b/README.configure
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 
@@ -15,7 +15,8 @@ Contents
 5. Configuring the Language Interfaces
 6. Configuring for Optimized Performance
 7. Configuring for Debugging
-8. Using the CVS Sources
+8. Programs that Come with the Library
+9. Using the CVS Sources
 
 
 1. The Standard Thing (configure, make, make install)
@@ -240,6 +241,10 @@ or any space-separated list of interface specifiers chosen among
   xsb_prolog,      the XSB interface;
   yap_prolog,      the YAP interface.
 
+Note that, in order to build any interface different from the C++ one,
+a recent enough version of GNU M4 is required (the configuration script
+searches for one and gives an error if it cannot find it).
+
 The instantiations for the domains for interfaces other than the main
 C++ interface can be customized via the `instantiations' option for
 the PPL `configure' shell script which is described below. Some
@@ -259,6 +264,11 @@ For the Java interface, the `--with-java=DIR' configure option allows
 to select the Java SDK root directory.  We have tested the Java interface
 with the Java SE Development Kit 6 and OpenJDK 1.6.
 
+For the OCaml interface, the `--with-mlgmp=DIR' configure option allows
+to specify the installation directory of the ML GMP package (which allows
+to use GMP numbers in OCaml programs).  By default, ML GMP is searched
+in the `gmp' subdirectory of the OCaml standard library directory.
+
 The C++ interface provides access to all the numerical abstractions
 provided by the PPL.  The majority of these (we are talking about
 hundreds of different numerical abstractions) are provided by means
@@ -392,7 +402,35 @@ 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. Using the CVS Sources
+8. Programs that Come with the Library
+--------------------------------------
+
+The PPL is shipped with two programs that are interesting per se, and
+allow to sanity-check the build as well as to obtain performance
+comparisons.  The first such program is `ppl_lpsol', which offers some
+of the functionality of GLPK's `glpsol' using the service of the
+PPL, including its simplex solver.  Since `ppl_lpsol' uses GLPK's
+input routines, it is only built if a suitable version of GLPK is
+available.  If you prefer `ppl_lpsol' not to be built, use the
+configure option
+
+  --disable-ppl_lpsol
+
+Another program that is built by default and is used for regression
+testing and build validation is `ppl_lcdd'.  This is a program for
+vertex/facet enumeration, accepting the same input format as the
+similar programs shipped with cddlib and lrslib.  If you prefer `ppl_lcdd'
+not to be built, use the configure option
+
+  --disable-ppl_lcdd
+
+Disabling these programs will shorten the compilation time by a few
+seconds, and the time spent in `make check' by a dozen of minutes.
+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
 ------------------------
 
 If you use the CVS sources, then you need recent versions of Autoconf
@@ -404,7 +442,7 @@ you cannot explain otherwise, use `autoreconf -f'.
 
 --------
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/STANDARDS b/STANDARDS
index 32d8da5..cebaa8a 100644
--- a/STANDARDS
+++ b/STANDARDS
@@ -259,7 +259,7 @@ How to clean what
 Cleaning in this context means removing files from the build directory.
 In order to clean files, they must be listed in one of three variables:
 MOSTLYCLEANFILES, CLEANFILES and DISTCLEANFILES.  The rules (believed to
-have been first formulated by Fran�ois Pinard) are:
+have been first formulated by Francois Pinard) are:
 
   - If `make' built the file, and it is commonly something that one would
     want to rebuild (such as an object file), then list the file in
diff --git a/TODO b/TODO
index 7c6d9cc..a8c932c 100644
--- a/TODO
+++ b/TODO
@@ -2,34 +2,72 @@
 Enhancements for PPL 0.10.1 or later versions
 =============================================
 
-- Improve the OCaml interface by supporting dynamic loading and
-  native compilation.
-- In libppl.3 and in the test programs, use malloc(), realloc() and
-  free() instead of operator new() and operator delete() to implement
-  the replacement GMP allocation functions.
-- In libppl.3 and in the test programs, use malloc(), realloc() and
-  free() instead of operator new() and operator delete() to implement
-  the replacement GMP allocation functions.
-- Enhance the support for systems not providing support for the IEEE
-  inexact flag.
-- `make check' in ppl_lpsol must run also the incremental version
-  of the simplex solver.
-- Complete the implementation of the --enable-check configure option.
-  Explain it in README.configure.
-- Explain the `--enable-ppl_lcdd' and `--enable-ppl_lpsol' in
-  README.configure.
+- Update the NEWS file.
+
+
+Enhancements for PPL 0.11
+=========================
+
+- Add the domain of circular linear progressions.
+- Finish the domain of intervals.
+- Supplement the "preemption" methods of the library allowing for
+  deterministic mechanisms (e.g., decrementing a counter and throwing
+  when it reaches zero).  This will probably require changing the
+  current interface based on `abandon_expensive_computations'.
+- Get rid of ugly assign functions defined in anonymous namespace of
+  MIP_Problem.cc replacing it with a more general-purpose approach.
+- When the PPL has been configured with
+  CPPFLAGS="-DPPL_ARM_CAN_CONTROL_FPU=1" make sure the library initialization
+  procedure checks that the FPU can indeed be controlled, failing if
+  that is not the case.
+- Reconsider the datatype for the units parameter in the Watchdog
+  constructors: should we prefer an unsigned?
+- Rename set_rational_sqrt_precision_parameter to
+  set_irrational_precision and make it available on all interfaces.
 - Intervals are best instantiated with checked numbers with
   particular policies: review all the interfaced boxes,
   augment the testsuite, and update the documentation.
-- Review and revise the m4 code for the interfaces, looking for
-  cleaner and maybe more flexible methods and more efficient code.
-- Check the configuration dependent documentation for Prolog,
-- Make `ppl_lpsol --help' and `ppl_lcdd --help' consistent.
+- DO_TEST_F should not cause the output "failed tests" to appear,
+  but "tests unexpectedly succeeded".
+- Reduce the number of FIXMEs to no more than 20.
+- Switch to the latest versions of Autoconf and Automake (in beta test
+  at the time of writing): they provide features we have been looking
+  for for years.
+- Use the OCaml-Autoconf macros: https://forge.ocamlcore.org/frs/?group_id=69
+  (see also
+  http://rwmj.wordpress.com/2009/03/31/using-autoconf-for-ocaml-projects/).
+- Fix the methods Box<ITV>::refine_with_constraint/s so that they perform
+  a safe (i.e., always terminating) propagation instead of ignoring the
+  non-interval constraints.
 
 
 Enhancements for PPL 0.11 or later versions
 ===========================================
 
+- Consider switching to MLGMPIDL for the OCaml interface
+  (see https://bugzilla.redhat.com/show_bug.cgi?id=491712).
+- Improve the OCaml interface by supporting dynamic loading.
+- Enhance the support for systems not providing support for the IEEE
+  inexact flag.
+- `make check' in ppl_lpsol must run also the incremental version
+  of the simplex solver.
+- Complete the implementation of the --enable-check configure option.
+  Explain it in README.configure.
+- Make the library thread-safe.
+- 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.
+- Provide methods computing approximations of the integer convex hull
+  of semantic domains for the case where we are only interested in integral
+  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
+  Check the work by Kent Andersen and Gerard Cornuejols on
+  reduce-and-split cuts.
+- Consider the addition of "constraint-only" methods (e.g., computing
+  projections and upper bounds using the MIP solver).
+- Consider extending the MIP solver to handle Parametric Integer
+  Programming.
 - 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
@@ -57,8 +95,6 @@ Enhancements for PPL 0.11 or later versions
     or we are otherwise 100% sure that the changed argument and the
     argument that is read afterward are not aliases (in the latter
     case an assert(&to != &z) shall be added.
-- DO_TEST_F should not cause the output "failed tests" to appear,
-  but "tests unexpectedly succeeded".
 - Improve the handling of the --enable-instantiations configure
   option so that "closure by subdomain" is automatically implemented
   (e.g., if Pointset_Powerset(X) is specified, X should be automatically
@@ -70,8 +106,6 @@ Enhancements for PPL 0.11 or later versions
 - Consider whether or not our interface for method time_elapse_assign()
   is the one needed by users: in particular, see if it should take as
   an argument a generator system, instead of an abstract element.
-- Finish the domain of intervals.
-- Reduce the number of FIXMEs to no more than 20.
 - Provide a generic implementation for the `widening with tokens'.
 - In the OK() methods, instead of having all those #ifndef NDEBUG,
   it is probably worthwhile to use a suitable defined `barf' stream
@@ -90,13 +124,6 @@ Enhancements for PPL 0.11 or later versions
   temporarily in algorithms.hh, more efficiently.
 - Provide optimized implementations of Polyhedron::expand_dimension()
   Polyhedron::fold_dimensions().
-- Suppose we are only interested in integral solutions (as is the
-  case, e.g., in most termination 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
-  Check the work by Kent Andersen and Gerard Cornuejols on
-  reduce-and-split cuts.
 - Add an implementation of Minkowski addition.  Check the algorithm
   described in
 
diff --git a/Watchdog/ChangeLog b/Watchdog/ChangeLog
index 2851afa..69c2902 100644
--- a/Watchdog/ChangeLog
+++ b/Watchdog/ChangeLog
@@ -1,2113 +1,409 @@
-2008-11-04  Release Manager
+2009-04-04  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* PPL 0.10 Released.
+	* Watchdog/NEWS, Watchdog/README, Watchdog/configure.ac,
+	Watchdog/src/Makefile.am: Updated for PWL 0.7.
 
-2008-11-03 Monday 09:51  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* INSTALL (1.10): Previous commit reverted.
+	* Watchdog/configure.ac, configure.ac: Version number bumped.  The
+	name of the program is Autoconf.
 
-2008-11-03 Monday 08:56  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* INSTALL (1.9): Same changes as in previous commit for the
-	  top-level ppl INSTALL file.
+	* TODO, Watchdog/src/Watchdog.defs.hh: Moved TODO items to their
+	place.
 
-2008-11-01 Saturday 15:59  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-30  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-	* README (1.20): Updated.
+	* 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.
 
-2008-11-01 Saturday 12:54  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-28  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.
+	* ChangeLog, ChangeLog-2001-2008, ChangeLog_2001-2008,
+	Watchdog/ChangeLog, Watchdog/ChangeLog-2001-2008,
+	Watchdog/ChangeLog_2001-2008: Change logs updated.
 
-2008-10-31 Friday 19:44  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-28  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog (1.23): Updated.
+	* Watchdog/configure.ac, configure.ac: Improved the semantics of the
+	--enable-watchdog configure option.
 
-2008-10-31 Friday 15:58  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-27  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.
+	* 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.
 
-2008-10-29 Wednesday 21:45  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-27  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.
+	* ChangeLog, ChangeLog-2001-2008, Watchdog/ChangeLog,
+	Watchdog/ChangeLog-2001-2008: Renamed and frozen: the
+	ChangeLog-2001-2008 should never be changed again.
 
-2008-10-27 Monday 18:57  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-27  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* ChangeLog (1.22): Updated.
+	* ChangeLog, Watchdog/ChangeLog: Updated to 2008-12-31.
 
-2008-10-26 Sunday 20:51  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* NEWS (1.12): The target release date is November 4, 2008.
+	* Watchdog/tests/pwl_test.cc, tests/ppl_test.cc: Support systems
+	that do not define `siginfo_t'.
 
-2008-10-26 Sunday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* README (1.19), ChangeLog (1.21): Updated.
+	* Watchdog/configure.ac, configure.ac: Added checks for the
+	availability of `siginfo_t'.
 
-2008-10-26 Sunday 19:35  Roberto Bagnara <bagnara at cs.unipr.it>
+2009-03-26  Roberto Bagnara <bagnara at cs.unipr.it>
 
-	* configure.ac (1.55), src/Makefile.am (1.18): Version number
-	  corrected.
+	* 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>).
 
-2008-10-26 Sunday 09:19  Patricia M. Hill <hill at comp.leeds.ac.uk>
+2009-03-25  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-	* src/Makefile.am (1.17): Ensure the clean and mostlyclean comply
-	  with the 'STANDARDS' file and are used sensibly.
+	* 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.
 
-	  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
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-25 Saturday 22:42  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/fpu-ia32.inlines.hh: Properly use PPL_FPMATH_MAY_USE_387 and
+	PPL_FPMATH_MAY_USE_SSE.
 
-	* doc/Makefile.am (1.7): Do clean .tag files generated by Doxygen.
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-24 Friday 22:14  Enea Zaffanella <zaffanella at cs.unipr.it>
+	* src/fpu-ia32.cc: Depend on PPL_CAN_CONTROL_FPU.
 
-	* 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.
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-19 Sunday 14:15  Roberto Bagnara <bagnara at cs.unipr.it>
+	* configure.ac: Typo fixed.
 
-	* tests/pwl_test.cc (1.3): Do not rely on the definition of
-	  optional macros of <fenv.h>.
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-19 Sunday 14:15  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
 
-	* 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
+2009-03-25  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-18 Saturday 21:57  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.
 
-	* tests/pwl_test.hh (1.3): Define the NOISY and VERY_NOISY macros
-	  before they are used.  Unused parameter warning avoided.
+2009-03-25  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-18 Saturday 21:57  Roberto Bagnara <bagnara 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.
 
-	* 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
+2009-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+	* TODO: TODO item - Check the configuration dependent documentation for Prolog, done
+	and removed.
 
-	* tests/Makefile.am (1.6): Must link with -lm for fetestexcept().
+2009-03-25  Patricia Hill <p.m.hill at leeds.ac.uk>
 
-2008-10-18 Saturday 21:55  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* tests/Makefile.am (bounded_arithmetic.1): file Makefile.am was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-18 Saturday 20:56  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.
 
-	* configure.ac (1.54): Improved and reorganized.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-11 Saturday 22:07  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/tests/formatted_output.c: Reduced DIMENSION to 100.
 
-	* configure.ac (1.53): The PWL is now enabled by default also on
-	  Cygwin.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-11 Saturday 10:56  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.
 
-	* configure.repo (1.5): The configure.repo files do not solve the
-	  problem they were meant to solve.
+2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-11 Saturday 10:42  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/Makefile.am: Fixed file names.
 
-	* tests/Makefile.am (1.5): Avoid using $(builddir).
+2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-10 Friday 21:28  Roberto Bagnara <bagnara at cs.unipr.it>
+	* NEWS: Mention the bug corrected for method
+	Octagonal_Shape<T>::affine_image().
 
-	* ChangeLog (1.20): Updated.
+2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-06 Monday 21:34  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/ppl_c_header.h: Fixed comment.
 
-	* 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.
+2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-06 Monday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/ppl_c_header.h: Fixed indentation.
 
-	* tests/simple1.cc (bounded_arithmetic.1): file simple1.cc was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
+2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-06 Monday 15:26  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/Octagonal_Shape.templates.hh: Corrected bug affecting method
+	Octagonal_Shape::affine_image().
 
-	* 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.
+2009-03-24  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-05 Sunday 22:20  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* 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.
+2009-03-24  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-10-05 Sunday 22:10  Roberto Bagnara <bagnara 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.
 
-	* tests/Makefile.am (1.3): Spurious backslash removed.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-05 Sunday 22:05  Roberto Bagnara <bagnara at cs.unipr.it>
+	* README.configure, TODO: Explained the `--disable-ppl_lcdd' and
+	`--disable-ppl_lcdd' configure options.
 
-	* tests/: Makefile.am (1.2), valgrind_suppressions (1.1):
-	  Distribute also pwl_test.hh and valgrind_suppressions.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-05 Sunday 22:05  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).
 
-	* tests/valgrind_suppressions (bounded_arithmetic.1): file
-	  valgrind_suppressions was added on branch bounded_arithmetic on
-	  2008-10-29 20:45:22 +0000
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-05 Sunday 22:03  Roberto Bagnara <bagnara at cs.unipr.it>
+	* fedora/ppl.spec: Synchronized with the Fedora repository.
 
-	* doc/devref.doxyconf-html.in (1.4): Updated for Doxygen 1.5.7.1.
+2009-03-24  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-05 Sunday 10:33  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.
 
-	* tests/simple1.cc (1.2): Added some debug output.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/tests/formatted_output.c,
+	interfaces/C/tests/print_to_buffer.c: Build restored.
 
-	* tests/.cvsignore (bounded_arithmetic.1): file .cvsignore was
-	  added on branch bounded_arithmetic on 2008-10-29 20:45:22 +0000
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-05 Sunday 09:23  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* 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.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-10-04 Saturday 18:03  Roberto Bagnara <bagnara at cs.unipr.it>
+	* interfaces/C/tests/print_to_buffer.c,
+	interfaces/C/tests/print_to_buffer.h, src/c_stream.h: Some fixes.
 
-	* m4/ax_prefix_config_h.m4 (1.2): Updated.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-10-04 Saturday 17:33  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.
 
-	* config.guess (1.27), config.sub (1.25): Updated.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-09-20 Saturday 20:57  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.
 
-	* configure.ac (1.49), configure.repo (1.1): Capitalization fixed.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-09-20 Saturday 20:43  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/c_stream.cc, src/c_stream.h, src/c_streambuf_format.cc: Better
+	name.
 
-	* NEWS (1.11): Set a tentative release date.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-09-20 Saturday 20:36  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/c_stream.cc, src/c_stream.h, src/c_streambuf_format.cc: Bug
+	fix: ostringstream.str() returns a temporary.
 
-	* configure.ac (1.48): We do not need the `win32-dll' Libtool
-	  option.
+2009-03-23  Enea Zaffanella <zaffanella at spartacus.cs.unipr.it>
 
-2008-09-20 Saturday 20:06  Roberto Bagnara <bagnara at cs.unipr.it>
+	* tests/Octagonal_Shape/affineimage1.cc: Added a test.
 
-	* configure.ac (1.47): Punctuation improved.  Require Autoconf 2.60
-	  or later.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-09-20 Saturday 19:57  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* ChangeLog (1.19): Updated.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-09-11 Thursday 22:37  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/OR_Matrix.inlines.hh, src/Octagonal_Shape.inlines.hh,
+	src/Octagonal_Shape.templates.hh: Readability improvements.
 
-	* 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.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-09-11 Thursday 20:34  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.
 
-	* INSTALL (1.8): Updated from Autoconf 2.63.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-09-08 Monday 17:40  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/c_stream.cc, src/c_stream.h: Added ppl_io_ostream_buffer_clear
+	function.
 
-	* 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.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-09-07 Sunday 12:02  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/c_stream.cc, src/c_stream.h: Added write functions for native
+	types.
 
-	* doc/Makefile.am (1.5): `abs_srcdir' is automatically set by
-	  Automake: removed redundant definitions.
+2009-03-23  Abramo Bagnara <abramo.bagnara at gmail.com>
 
-2008-09-07 Sunday 12:01  Roberto Bagnara <bagnara at cs.unipr.it>
+	* 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.
 
-	* config.guess (1.26), config.sub (1.24): Updated.
+2009-03-23  Enea Zaffanella <zaffanella at spartacus.cs.unipr.it>
 
-2008-09-07 Sunday 11:52  Roberto Bagnara <bagnara at 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.
 
-	* src/Makefile.am (1.14), utils/Makefile.am (1.10): Removed useless
-	  dependencies from Makefile.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-09-07 Sunday 11:50  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/OR_Matrix.inlines.hh: Obsolete FIXME removed.
 
-	* 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.
+2009-03-23  Roberto Bagnara <bagnara at cs.unipr.it>
 
-2008-09-06 Saturday 17:45  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/Octagonal_Shape.templates.hh: Little formatting improvement.
 
-	* 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.
+2009-03-23  Enea Zaffanella <zaffanella at cs.unipr.it>
 
-2008-08-15 Friday 15:27  Roberto Bagnara <bagnara at cs.unipr.it>
+	* src/pretty_print.cc, src/pretty_print.hh: Use consistent parameter
+	names in helper function wrap.
 
-	* ChangeLog (1.18): Updated.
+2009-03-22  Roberto Bagnara <bagnara at cs.unipr.it>
 
-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.
+	* 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/Makefile.am b/Watchdog/Makefile.am
index e1f1181..b9b7bb2 100644
--- a/Watchdog/Makefile.am
+++ b/Watchdog/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -23,22 +23,39 @@
 # 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
+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
 
-dist_noinst_SCRIPTS = \
-configure
+# 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 \
 CREDITS
 
-# The files @PACKAGE at -config.h and _configs.sed, which are generated by
-# the autoconf macro AX_PREFIX_CONFIG_H, are not automatically cleaned up
-# by `make distclean'. So we need to explicitly clean them.
 DISTCLEANFILES = \
- at PACKAGE@-config.h \
-_configs.sed
+pwl-config.h
diff --git a/Watchdog/Makefile.in b/Watchdog/Makefile.in
index 677a2c2..500ef77 100644
--- a/Watchdog/Makefile.in
+++ b/Watchdog/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -36,6 +36,7 @@
 # For the most up-to-date information see the Parma Polyhedra Library
 # site: http://www.cs.unipr.it/ppl/ . */
 
+
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -61,11 +62,11 @@ DIST_COMMON = README $(am__configure_deps) $(dist_noinst_SCRIPTS) \
 	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/ax_prefix_config_h.m4 \
-	$(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__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 \
@@ -83,11 +84,12 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-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
 ETAGS = etags
 CTAGS = ctags
-DIST_SUBDIRS = m4 utils src tests doc
+DIST_SUBDIRS = . m4 utils src tests doc
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
@@ -221,21 +223,26 @@ top_srcdir = @top_srcdir@
 
 # Tell aclocal where to find `.m4' files.
 ACLOCAL_AMFLAGS = -I m4
- at BUILD_WATCHDOG_LIBRARY_TRUE@SUBDIRS = m4 utils src tests doc
 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 \
 CREDITS
 
-
-# The files @PACKAGE at -config.h and _configs.sed, which are generated by
-# the autoconf macro AX_PREFIX_CONFIG_H, are not automatically cleaned up
-# by `make distclean'. So we need to explicitly clean them.
 DISTCLEANFILES = \
- at PACKAGE@-config.h \
-_configs.sed
+pwl-config.h
 
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
@@ -476,6 +483,9 @@ distdir: $(DISTFILES)
 	      || exit 1; \
 	  fi; \
 	done
+	$(MAKE) $(AM_MAKEFLAGS) \
+	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
+	  dist-hook
 	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
 	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
 	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
@@ -582,7 +592,7 @@ distcleancheck: distclean
 	       exit 1; } >&2
 check-am: all-am
 check: check-recursive
-all-am: Makefile $(SCRIPTS) config.h
+all-am: Makefile $(SCRIPTS) $(HEADERS) config.h
 installdirs: installdirs-recursive
 installdirs-am:
 install: install-recursive
@@ -674,19 +684,31 @@ 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-lzma dist-shar dist-tarZ 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-lzma dist-shar dist-tarZ 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
index 364feee..0d73c44 100644
--- a/Watchdog/NEWS
+++ b/Watchdog/NEWS
@@ -4,6 +4,13 @@ Parma Watchdog Library NEWS -- history of user-visible changes
 
 
 --------------------------------------------------------------------------
+NEWS for version 0.7  (released on April 14, 2009)
+--------------------------------------------------------------------------
+
+o  Minor configuration improvements.
+
+
+--------------------------------------------------------------------------
 NEWS for version 0.6  (released on November 4, 2008)
 --------------------------------------------------------------------------
 
diff --git a/Watchdog/README b/Watchdog/README
index 53d52a2..4aaf43a 100644
--- a/Watchdog/README
+++ b/Watchdog/README
@@ -1,5 +1,5 @@
 
-This is the release 0.5 of the Parma Watchdog Library:
+This is the release 0.6 of the Parma Watchdog Library:
 a C++ library for software timeouts.
 
 To be continued...
@@ -12,10 +12,10 @@ 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.5 source distribution
-(5 directories, 100 files):
+Here is the contents of the PWL 0.7 source distribution
+(5 directories, 97 files):
 
-pwl-0.5
+pwl-0.7
 |-- BUGS
 |-- COPYING
 |-- CREDITS
@@ -38,9 +38,7 @@ pwl-0.5
 |   |-- Makefile.am
 |   |-- Makefile.in
 |   |-- README.doc
-|   |-- devref.doxyconf-html
 |   |-- devref.doxyconf-html.in
-|   |-- devref.doxyconf-latex
 |   |-- devref.doxyconf-latex.in
 |   |-- devref.tex
 |   |-- fdl.dox
@@ -53,13 +51,11 @@ pwl-0.5
 |   |-- gpl.ps.gz
 |   |-- gpl.tex
 |   |-- gpl.txt
-|   |-- pwl-user-0.5-html.tar.gz
-|   |-- pwl-user-0.5.pdf
-|   |-- pwl-user-0.5.ps.gz
+|   |-- pwl-user-0.7-html.tar.gz
+|   |-- pwl-user-0.7.pdf
+|   |-- pwl-user-0.7.ps.gz
 |   |-- pwl.sty
-|   |-- user.doxyconf-html
 |   |-- user.doxyconf-html.in
-|   |-- user.doxyconf-latex
 |   |-- user.doxyconf-latex.in
 |   `-- user.tex
 |-- install-sh
@@ -67,7 +63,6 @@ pwl-0.5
 |-- m4
 |   |-- Makefile.am
 |   |-- Makefile.in
-|   |-- ax_prefix_config_h.m4
 |   |-- lib-ld.m4
 |   |-- lib-link.m4
 |   |-- libtool.m4
@@ -77,6 +72,8 @@ pwl-0.5
 |   `-- lt~obsolete.m4
 |-- missing
 |-- mkinstalldirs
+|-- pwl-config.h.in
+|-- pwl-config.sed
 |-- src
 |   |-- Doubly_Linked_Object.defs.hh
 |   |-- Doubly_Linked_Object.inlines.hh
@@ -125,7 +122,7 @@ pwl-0.5
 
 --------
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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
diff --git a/Watchdog/aclocal.m4 b/Watchdog/aclocal.m4
index d70185e..ecfd403 100644
--- a/Watchdog/aclocal.m4
+++ b/Watchdog/aclocal.m4
@@ -19,6 +19,6645 @@ 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'.])])
 
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+
+# serial 52 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+         [],
+         [m4_define([AC_PROVIDE_IFELSE],
+	         [m4_ifdef([AC_PROVIDE_$1],
+		           [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+  AC_PROVIDE_IFELSE([AC_PROG_CXX],
+    [AC_LIBTOOL_CXX],
+    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+  ])])
+dnl And a similar setup for Fortran 77 support
+  AC_PROVIDE_IFELSE([AC_PROG_F77],
+    [AC_LIBTOOL_F77],
+    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+    [AC_LIBTOOL_GCJ],
+    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+      [AC_LIBTOOL_GCJ],
+      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+	[AC_LIBTOOL_GCJ],
+      [ifdef([AC_PROG_GCJ],
+	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([A][M_PROG_GCJ],
+	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([LT_AC_PROG_GCJ],
+	     [define([LT_AC_PROG_GCJ],
+		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+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
+
+# 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']
+
+# 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 avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# 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
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    AC_PATH_MAGIC
+  fi
+  ;;
+esac
+
+_LT_REQUIRED_DARWIN_CHECKS
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+    [AC_HELP_STRING([--disable-libtool-lock],
+	[avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+    [AC_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=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])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_AC_SYS_COMPILER
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[AC_REQUIRE([LT_AC_PROG_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.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[AC_REQUIRE([LT_AC_PROG_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
+# --------------------------
+# Check for some things on darwin
+AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+
+    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.
+   echo "int foo(void){return 1;}" > conftest.c
+   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+     -dynamiclib ${wl}-single_module conftest.c
+   if test -f libconftest.dylib; then
+     lt_cv_apple_cc_single_mod=yes
+     rm -rf libconftest.dylib*
+   fi
+   rm conftest.c
+      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"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[0123]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*)
+      # 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" != ":"; then
+      _lt_dsymutil="~$DSYMUTIL \$lib || :"
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+# _LT_AC_SYS_LIBPATH_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.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_REQUIRE([LT_AC_PROG_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_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+	 [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+[$]*
+EOF
+  exit 0
+fi
+
+# 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
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+    then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for dir in $PATH /usr/ucb; do
+    IFS="$lt_save_ifs"
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running configure again with it.
+      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+	  then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "[$]0"'; then
+	  echo_test_string=`eval $prev`
+	  export echo_test_string
+	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+    [AC_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 __oline__ "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*|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*)
+      libsuff=64
+      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*)
+          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_TRY_LINK([],[],[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*
+  ;;
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+  ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+  ifelse([$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:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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
+    ifelse([$5], , :, [$5])
+else
+    ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                          [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_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 "X$_lt_linker_boilerplate" | $Xsed -e '/^$/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
+    ifelse([$4], , :, [$4])
+else
+    ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# 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*)
+    # 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;
+    ;;
+
+  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
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+	       = "XX$teststring") >/dev/null 2>&1 &&
+	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	      lt_cv_sys_max_cmd_len=$new_result &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      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
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# ------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ---------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_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 <<EOF
+[#line __oline__ "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
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#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;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}]
+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_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# ----------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_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*)
+    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_AC_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_AC_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
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_AC_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:__oline__: $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:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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_AC_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 ..
+   rmdir conftest
+   $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_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
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_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
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$_LT_AC_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_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_AC_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; 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
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[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
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+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"
+m4_if($1,[],[
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+    # 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 -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # 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; }
+}'`
+  sys_lib_search_path_spec=`echo $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+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*)
+  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=`$echo "X$lib" | $Xsed -e '\''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'
+  ;;
+
+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*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    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'
+    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="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        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
+      ;;
+    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}${versuffix}$shared_ext ${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
+  ;;
+
+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'
+  ;;
+
+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)
+  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
+  # 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
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+
+  # 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;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $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=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
+  ;;
+
+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
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      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
+  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'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    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'
+  ;;
+
+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
+
+AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
+[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
+[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+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
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
+    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+        [include additional configurations @<:@automatic@:>@])],
+    [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+  if test ! -f "${ofile}"; then
+    AC_MSG_WARN([output file `$ofile' does not exist])
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+    else
+      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+    fi
+  fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+  for tagname in $tagnames; do
+    IFS="$lt_save_ifs"
+    # Check whether tagname contains only valid characters
+    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+    "") ;;
+    *)  AC_MSG_ERROR([invalid tag name: $tagname])
+	;;
+    esac
+
+    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+    then
+      AC_MSG_ERROR([tag name \"$tagname\" already exists])
+    fi
+
+    # Update the list of available tags.
+    if test -n "$tagname"; then
+      echo appending configuration tag \"$tagname\" to $ofile
+
+      case $tagname in
+      CXX)
+	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+	    (test "X$CXX" != "Xg++"))) ; then
+	  AC_LIBTOOL_LANG_CXX_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      F77)
+	if test -n "$F77" && test "X$F77" != "Xno"; then
+	  AC_LIBTOOL_LANG_F77_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      GCJ)
+	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+	  AC_LIBTOOL_LANG_GCJ_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      RC)
+	AC_LIBTOOL_LANG_RC_CONFIG
+	;;
+
+      *)
+	AC_MSG_ERROR([Unsupported tag name: $tagname])
+	;;
+      esac
+
+      # Append the new tag name to the list of available tags.
+      if test -n "$tagname" ; then
+      available_tags="$available_tags $tagname"
+    fi
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  # Now substitute the updated list of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+    mv "${ofile}T" "$ofile"
+    chmod +x "$ofile"
+  else
+    rm -f "${ofile}T"
+    AC_MSG_ERROR([unable to update list of available tagged configurations.])
+  fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 DLLs
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]AC_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=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+# set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]AC_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=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]AC_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=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognize shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_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="ifelse([$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 <<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
+
+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
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognize a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_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
+    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+    [AC_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])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])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])
+AC_PROG_LD_GNU
+])# AC_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+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
+])# AC_PROG_LD_GNU
+
+
+# AC_PROG_LD_RELOAD_FLAG
+# ----------------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[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
+])# AC_PROG_LD_RELOAD_FLAG
+
+
+# AC_DEPLIBS_CHECK_METHOD
+# -----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[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.
+  if ( 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
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+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
+  ;;
+
+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]) 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)
+  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=unknown
+  ;;
+
+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
+  ;;
+
+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
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  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
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible 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
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-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_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!).  If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case $enable_ltdl_convenience in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, lt_dlinit,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    LTDLINCL=
+  fi
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+# _LT_AC_PROG_CXXCPP
+# ------------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+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
+fi
+])# _LT_AC_PROG_CXXCPP
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# -------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[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_AC_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_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF
+
+# 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])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_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(int, char *[[]]) { return(0); }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_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_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+  # Set up default GNU C++ configuration
+
+  AC_PROG_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_AC_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_AC_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 "\-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_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_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_AC_TAGVAR(archive_cmds, $1)=''
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+    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_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_AC_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
+
+    # It seems that -bexpall does not export symbols beginning with
+    # underscore (_), so it is better to generate a list of symbols to export.
+    _LT_AC_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_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+      # Determine the default libpath from the value encoded in an empty executable.
+      _LT_AC_SYS_LIBPATH_AIX
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+      _LT_AC_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 echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+     else
+      if test "$host_cpu" = ia64; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	_LT_AC_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_AC_SYS_LIBPATH_AIX
+	_LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	# Exported symbols can be pulled into shared objects from archives
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	# This is similar to how AIX traditionally builds its shared libraries.
+	_LT_AC_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_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+
+  chorus*)
+    case $cc_basename in
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+
+  cygwin* | mingw* | pw32*)
+    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+    # as there is no search path for DLLs.
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+    _LT_AC_TAGVAR(always_export_symbols, $1)=no
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      _LT_AC_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_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+  ;;
+      darwin* | rhapsody*)
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+      if test "$GXX" = yes ; then
+      output_verbose_link_cmd='echo'
+      _LT_AC_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_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+      _LT_AC_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_AC_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}"
+      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+        _LT_AC_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_AC_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
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
+          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+      fi
+        ;;
+
+  dgux*)
+    case $cc_basename in
+      ec++*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      ghcx*)
+	# Green Hills C++ Compiler
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  freebsd[[12]]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  freebsd-elf*)
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    ;;
+  freebsd* | dragonfly*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+    ;;
+  gnu*)
+    ;;
+  hpux9*)
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    aCC*)
+      _LT_AC_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) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      ;;
+    *)
+      if test "$GXX" = yes; then
+        _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+    ;;
+  hpux10*|hpux11*)
+    if test $with_gnu_ld = no; then
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+      case $host_cpu in
+      hppa*64*|ia64*) ;;
+      *)
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        ;;
+      esac
+    fi
+    case $host_cpu in
+    hppa*64*|ia64*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+    *)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_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; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test $with_gnu_ld = no; then
+	    case $host_cpu in
+	    hppa*64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      _LT_AC_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_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  interix[[3-9]]*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    _LT_AC_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_AC_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_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -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_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	  else
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	  fi
+	fi
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+	;;
+    esac
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    ;;
+  linux* | k*bsd*-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_AC_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_AC_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; echo $list'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+	_LT_AC_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_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	;;
+      icpc*)
+	# 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_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+  	  _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  _LT_AC_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_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	;;
+      pgCC* | pgcpp*)
+        # Portland Group C++ compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	_LT_AC_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'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
+	# Compaq C++
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_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=`echo $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; echo $list'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C++ 5.9
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_AC_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; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+	  # Not sure whether something based on
+	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	  # would be better.
+	  output_verbose_link_cmd='echo'
+
+	  # 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_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	  ;;
+	esac
+	;;
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  mvs*)
+    case $cc_basename in
+      cxx*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  netbsd*)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_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::"'
+    ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  openbsd*)
+    if test -f /usr/libexec/ld.so; then
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      _LT_AC_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_AC_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_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      fi
+      output_verbose_link_cmd='echo'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+  osf3*)
+    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_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	_LT_AC_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=`echo $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; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	  _LT_AC_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" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_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 "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  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_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_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=`echo $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; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	 _LT_AC_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" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_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 "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  sunos4*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.x
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      lcc*)
+	# Lucid
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  solaris*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	_LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	_LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	    ;;
+	esac
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+	output_verbose_link_cmd='echo'
+
+	# 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_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	;;
+      gcx*)
+	# Green Hills C++ Compiler
+	_LT_AC_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_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	  if $CC --version | grep -v '^2\.7' > /dev/null; then
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_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 \"\-L\""
+	  else
+	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	    # platform.
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_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 \"\-L\""
+	  fi
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	  case $host_os in
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	  *)
+	    _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_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.
+    # 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.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$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_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+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
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([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.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+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...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+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
+
+  # The `*' in the case matches for architectures that use `case' in
+  # $output_verbose_cmd can trigger glob expansion during the loop
+  # eval without this substitution.
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+  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_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_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_AC_TAGVAR(postdeps, $1)"; then
+	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_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_AC_TAGVAR(predep_objects, $1)"; then
+	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_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
+
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+# PORTME: override above test on systems where it is broken
+ifelse([$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_AC_TAGVAR(predep_objects,$1)=
+  _LT_AC_TAGVAR(postdep_objects,$1)=
+  _LT_AC_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_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # 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_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_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_AC_TAGVAR(objext, $1)=$objext
+
+# 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_AC_SYS_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"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+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_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_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_AC_SYS_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"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# -------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_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_AC_SYS_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"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then 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
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # 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
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    _LT_AC_TAGVAR(compiler, $1) \
+    _LT_AC_TAGVAR(CC, $1) \
+    _LT_AC_TAGVAR(LD, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+    _LT_AC_TAGVAR(old_archive_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+    _LT_AC_TAGVAR(predep_objects, $1) \
+    _LT_AC_TAGVAR(postdep_objects, $1) \
+    _LT_AC_TAGVAR(predeps, $1) \
+    _LT_AC_TAGVAR(postdeps, $1) \
+    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
+    _LT_AC_TAGVAR(archive_cmds, $1) \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(postinstall_cmds, $1) \
+    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+    _LT_AC_TAGVAR(no_undefined_flag, $1) \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+    _LT_AC_TAGVAR(hardcode_automatic, $1) \
+    _LT_AC_TAGVAR(module_cmds, $1) \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
+    _LT_AC_TAGVAR(exclude_expsyms, $1) \
+    _LT_AC_TAGVAR(include_expsyms, $1); do
+
+    case $var in
+    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(module_cmds, $1) | \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\[$]0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+    ;;
+  esac
+
+ifelse([$1], [],
+  [cfgfile="${ofile}T"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  $rm -f "$cfgfile"
+  AC_MSG_NOTICE([creating $ofile])],
+  [cfgfile="$ofile"])
+
+  cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 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 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.
+
+# 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//"
+
+# 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
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# 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
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# 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
+
+# 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
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# 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
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# 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
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# 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
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $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.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# 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=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# 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
+
+# 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=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+  case $host_os in
+  aix3*)
+    cat <<\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
+EOF
+    ;;
+  esac
+
+  # 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 '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" || \
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+])
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([LT_AC_PROG_SED])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# 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]]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \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\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux* | k*bsd*-gnu)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDGIRSTW]]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  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
+
+# 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
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Try without a prefix undercore, 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.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+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 <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+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_AC_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
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_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_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+    amigaos*)
+      # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32*)
+      # 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_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $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_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # 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*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *)
+      _LT_AC_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_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_AC_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
+	;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           ;;
+         esac
+       ;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_AC_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_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  icpc* | ecpc*)
+	    # Intel C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler.
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_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_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2*)
+      # 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_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    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_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | cygwin* | pw32* | os2*)
+      # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    linux* | k*bsd*-gnu)
+      case $cc_basename in
+      icc* | ecc*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
+    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+  _LT_AC_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
+    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_AC_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_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    _LT_AC_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_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+],[
+  runpath_var=
+  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_AC_TAGVAR(archive_cmds, $1)=
+  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+  _LT_AC_TAGVAR(module_cmds, $1)=
+  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(always_export_symbols, $1)=no
+  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_AC_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_AC_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=
+  # Just being paranoid about ensuring that cc_basename is set.
+  _LT_CC_BASENAME([$compiler])
+  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
+
+  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = 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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [[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_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, 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 modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=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 can't use
+      # them.
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=no
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        _LT_AC_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_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix[[3-9]]*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_AC_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_AC_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_AC_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* | k*bsd*-gnu)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$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' ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_AC_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; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  _LT_AC_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
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<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.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_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_AC_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_AC_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
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_AC_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_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+      _LT_AC_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_AC_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_AC_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
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_AC_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_AC_TAGVAR(archive_cmds, $1)=''
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+      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_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes
+  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  	  _LT_AC_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
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_AC_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_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       _LT_AC_SYS_LIBPATH_AIX
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	_LT_AC_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 echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_AC_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_AC_SYS_LIBPATH_AIX
+	 _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_AC_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*)
+      _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      # see comment about different semantics on the GNU ld section
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    bsdi[[45]]*)
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    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.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        _LT_AC_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_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+        _LT_AC_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_AC_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}"
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
+         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_AC_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_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_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_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_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~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_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}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_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'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_AC_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_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $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_AC_TAGVAR(lt_prog_compiler_wl, $1)
+	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+        then
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# #  ifdef __CYGWIN32__
+# #    define __CYGWIN__ __CYGWIN32__
+# #  endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+#   __hDllInstance_base = hInst;
+#   return TRUE;
+# }
+# /* ltdll.c ends here */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+  AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+
+# Cheap backport of AS_EXECUTABLE_P and required macros
+# from Autoconf 2.59; we should not use $as_executable_p directly.
+
+# _AS_TEST_PREPARE
+# ----------------
+m4_ifndef([_AS_TEST_PREPARE],
+[m4_defun([_AS_TEST_PREPARE],
+[if test -x / >/dev/null 2>&1; then
+  as_executable_p='test -x'
+else
+  as_executable_p='test -f'
+fi
+])])# _AS_TEST_PREPARE
+
+# AS_EXECUTABLE_P
+# ---------------
+# Check whether a file is executable.
+m4_ifndef([AS_EXECUTABLE_P],
+[m4_defun([AS_EXECUTABLE_P],
+[AS_REQUIRE([_AS_TEST_PREPARE])dnl
+$as_executable_p $1[]dnl
+])])# AS_EXECUTABLE_P
+
+# 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.                               #
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+AC_DEFUN([LT_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])
+])
+
 # Copyright (C) 2002, 2003, 2005, 2006, 2007  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -866,7 +7505,6 @@ AC_SUBST([am__tar])
 AC_SUBST([am__untar])
 ]) # _AM_PROG_TAR
 
-m4_include([m4/ax_prefix_config_h.m4])
 m4_include([m4/lib-ld.m4])
 m4_include([m4/lib-link.m4])
 m4_include([m4/libtool.m4])
diff --git a/Watchdog/config.h.in b/Watchdog/config.h.in
index 4125ef2..ffccb43 100644
--- a/Watchdog/config.h.in
+++ b/Watchdog/config.h.in
@@ -19,6 +19,9 @@
 /* Define to 1 if you have the `setitimer' function. */
 #undef HAVE_SETITIMER
 
+/* 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
 
diff --git a/Watchdog/configure b/Watchdog/configure
index f6cfa8b..fe04510 100755
--- a/Watchdog/configure
+++ b/Watchdog/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for the Parma Watchdog Library 0.5.
+# Generated by GNU Autoconf 2.63 for the Parma Watchdog Library 0.7.
 #
 # Report bugs to <bagnara at cs.unipr.it>.
 #
@@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='the Parma Watchdog Library'
 PACKAGE_TARNAME='pwl'
-PACKAGE_VERSION='0.5'
-PACKAGE_STRING='the Parma Watchdog Library 0.5'
+PACKAGE_VERSION='0.7'
+PACKAGE_STRING='the Parma Watchdog Library 0.7'
 PACKAGE_BUGREPORT='bagnara at cs.unipr.it'
 
 ac_unique_file="src/Watchdog.cc"
@@ -828,7 +828,6 @@ CXXFLAGS
 CXX
 GCC_FALSE
 GCC_TRUE
-ISODATE
 am__fastdepCC_FALSE
 am__fastdepCC_TRUE
 CCDEPMODE
@@ -845,6 +844,7 @@ CPPFLAGS
 LDFLAGS
 CFLAGS
 CC
+ISODATE
 am__untar
 am__tar
 AMTAR
@@ -916,11 +916,11 @@ SHELL'
 ac_subst_files=''
 ac_user_opts='
 enable_option_checking
+with_cc
+with_cxx
 enable_dependency_tracking
 with_gnu_ld
 enable_rpath
-with_cc
-with_cxx
 enable_debugging
 enable_profiling
 enable_coverage
@@ -1502,7 +1502,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 Watchdog Library 0.5 to adapt to many kinds of systems.
+\`configure' configures the Parma Watchdog Library 0.7 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1572,7 +1572,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of the Parma Watchdog Library 0.5:";;
+     short | recursive ) echo "Configuration of the Parma Watchdog Library 0.7:";;
    esac
   cat <<\_ACEOF
 
@@ -1600,9 +1600,9 @@ Optional Features:
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-gnu-ld           assume the C compiler uses GNU ld default=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
@@ -1688,7 +1688,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-the Parma Watchdog Library configure 0.5
+the Parma Watchdog Library configure 0.7
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1702,7 +1702,7 @@ 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.5, which was
+It was created by the Parma Watchdog Library $as_me 0.7, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2515,7 +2515,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='pwl'
- VERSION='0.5'
+ VERSION='0.7'
 
 
 # Some tools Automake needs.
@@ -2654,70 +2654,36 @@ am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
 ac_config_headers="$ac_config_headers config.h"
 
 
-# Determine the system-dependent aspects of rpath usage and add
-# the --disable-rpath configure option.
-DEPDIR="${am__leading_dot}deps"
+ISODATE=`date +%Y-%m-%d`
 
-ac_config_commands="$ac_config_commands depfiles"
 
 
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:$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
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
-fi
 
 
-{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
+# C compiler.
 
-# 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='\'
+# Check whether --with-cc was given.
+if test "${with_cc+set}" = set; then
+  withval=$with_cc; CC=$with_cc
 fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
+
+
+# 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'
@@ -3650,6 +3616,68 @@ 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 done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:$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
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+   am__include=include
+   am__quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+      am__include=.include
+      am__quote="\""
+      _am_result=BSD
+   fi
+fi
+
+
+{ $as_echo "$as_me:$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=
 
@@ -3759,1042 +3787,69 @@ else
 fi
 
 
+CFLAGS="$save_CFLAGS"
 
-# 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
+ if test x"$GCC" = xyes; then
+  GCC_TRUE=
+  GCC_FALSE='#'
 else
-  with_gnu_ld=no
+  GCC_TRUE='#'
+  GCC_FALSE=
 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:$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:$LINENO: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
+
+# The Intel C compiler masquerades as gcc, but we want to know.
+if test x"$GCC" = xyes
+then
+  { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifndef __INTEL_COMPILER
+choke me
+#endif
+
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+  ICC=yes
 else
-  { $as_echo "$as_me:$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:$LINENO: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ $as_echo "$as_me:$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:$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:$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:$LINENO: result: $acl_cv_rpath" >&5
-$as_echo "$acl_cv_rpath" >&6; }
-  wl="$acl_cv_wl"
-  libext="$acl_cv_libext"
-  shlibext="$acl_cv_shlibext"
-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  hardcode_direct="$acl_cv_hardcode_direct"
-  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
-
-
-
-# Generate prefixed defines.
-ac_config_commands="$ac_config_commands $PACKAGE-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:$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:$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:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:$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:$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:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	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:$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:$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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-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:$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:$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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* 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"
-  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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_c89=$ac_arg
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-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:$LINENO: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-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="$CC"   am_compiler_list=
-
-{ $as_echo "$as_me:$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
-  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
-
-    case $depmode in
-    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
-      ;;
-    none) break ;;
-    esac
-    # 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.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} 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 sub/conftest.${OBJEXT-o} 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:$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:$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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifndef __INTEL_COMPILER
-choke me
-#endif
-
-_ACEOF
-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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
-  ICC=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	{ $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
-  ICC=no
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+  ICC=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -5785,6 +4840,156 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 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:$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:$LINENO: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:$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:$LINENO: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
+$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
+   { (exit 1); exit 1; }; }
+{ $as_echo "$as_me:$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:$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:$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:$LINENO: result: $acl_cv_rpath" >&5
+$as_echo "$acl_cv_rpath" >&6; }
+  wl="$acl_cv_wl"
+  libext="$acl_cv_libext"
+  shlibext="$acl_cv_shlibext"
+  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
+  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
+  hardcode_direct="$acl_cv_hardcode_direct"
+  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:$LINENO: checking whether to compile with debug info" >&5
 $as_echo_n "checking whether to compile with debug info... " >&6; }
@@ -6259,12 +5464,117 @@ esac
   VALGRIND_TESTS_ENABLED_TRUE=
   VALGRIND_TESTS_ENABLED_FALSE='#'
 else
-  VALGRIND_TESTS_ENABLED_TRUE='#'
-  VALGRIND_TESTS_ENABLED_FALSE=
+  VALGRIND_TESTS_ENABLED_TRUE='#'
+  VALGRIND_TESTS_ENABLED_FALSE=
+fi
+
+
+# setitimer() is a strong requisite for the PWL.
+
+for ac_func in setitimer
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); 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 $ac_func
+
+/* 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 $ac_func ();
+/* 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_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 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
+  eval "$as_ac_var=yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+		 $as_echo "$as_val"'`
+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+		 $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ have_setitimer=yes
+else
+  have_setitimer=no
 fi
+done
 
 
-enableval=yes
+enableval=default
 { $as_echo "$as_me:$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.
@@ -6274,20 +5584,31 @@ fi
 
 case "${enableval}" in
 yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  if test x"$have_setitimer" = xyes
+  then
+    build_watchdog_library=yes
+  else
+    { { $as_echo "$as_me:$LINENO: error: CANNOT BUILD THE WATCHDOG LIBRARY
+*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&5
+$as_echo "$as_me: error: CANNOT BUILD THE WATCHDOG LIBRARY
+*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  ;;
+default)
+  build_watchdog_library=$have_setitimer
   ;;
 no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  build_watchdog_library=no
   ;;
 *)
-  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} --enable-watchdog, needs yes or no" >&5
-$as_echo "$as_me: error: bad value ${enableval} --enable-watchdog, needs yes or no" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-watchdog, needs yes or no" >&5
+$as_echo "$as_me: error: bad value ${enableval} for --enable-watchdog, needs yes or no" >&2;}
    { (exit 1); exit 1; }; }
   ;;
 esac
-build_watchdog_library=$enableval
+{ $as_echo "$as_me:$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='#'
@@ -7136,6 +6457,7 @@ fi
 
 done
 
+
   # Checks for the availability of C library functions in C++.
   { $as_echo "$as_me:$LINENO: checking whether getenv is declared" >&5
 $as_echo_n "checking whether getenv is declared... " >&6; }
@@ -7208,79 +6530,78 @@ fi
 
 
 
-  # Checks for library fuctions.
-  # The following invocations of AC_LANG_PUSH(C) and AC_LANG_POP(C)
-  # are to work around a bug in AC_CHECK_FUNCS.  For more information,
-  # http://www.cs.unipr.it/pipermail/ppl-devel/2002-November/002929.html
-  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
-
-
-for ac_func in setitimer
-do
-as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
-$as_echo_n "checking for $ac_func... " >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  # Checks for typedefs, structures, and compiler characteristics.
+  { $as_echo "$as_me:$LINENO: checking for siginfo_t" >&5
+$as_echo_n "checking for siginfo_t... " >&6; }
+if test "${ac_cv_type_siginfo_t+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_type_siginfo_t=no
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
 
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
+#include <signal.h>
 
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
 
-#undef $ac_func
+int
+main ()
+{
+if (sizeof (siginfo_t))
+       return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <signal.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 $ac_func ();
-/* 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_$ac_func || defined __stub___$ac_func
-choke me
-#endif
 
 int
 main ()
 {
-return $ac_func ();
+if (sizeof ((siginfo_t)))
+	  return 0;
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+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:$LINENO: $ac_try_echo\""
 $as_echo "$ac_try_echo") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
@@ -7289,47 +6610,35 @@ $as_echo "$ac_try_echo") >&5
   (exit $ac_status); } && {
 	 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
-  eval "$as_ac_var=yes"
+       } && test -s conftest.$ac_objext; then
+  :
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	eval "$as_ac_var=no"
+	ac_cv_type_siginfo_t=yes
 fi
 
-rm -rf conftest.dSYM
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
 fi
-ac_res=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-as_val=`eval 'as_val=${'$as_ac_var'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
 
-else
-  { { $as_echo "$as_me:$LINENO: error: CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&5
-$as_echo "$as_me: error: CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&2;}
-   { (exit 1); exit 1; }; }
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-done
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_siginfo_t" >&5
+$as_echo "$ac_cv_type_siginfo_t" >&6; }
+if test "x$ac_cv_type_siginfo_t" = x""yes; then
 
-  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
+#define HAVE_SIGINFO_T 1
+_ACEOF
+
+
+fi
 
 fi
 
@@ -7819,13 +7128,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:7822: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:7131: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:7825: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:7134: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:7828: output\"" >&5)
+  (eval echo "\"\$as_me:7137: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -9030,7 +8339,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 9033 "configure"' > conftest.$ac_ext
+  echo '#line 8342 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -11116,11 +10425,11 @@ else
    -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:11119: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10428: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11123: \$? = $ac_status" >&5
+   echo "$as_me:10432: \$? = $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.
@@ -11455,11 +10764,11 @@ else
    -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:11458: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10767: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:11462: \$? = $ac_status" >&5
+   echo "$as_me:10771: \$? = $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.
@@ -11560,11 +10869,11 @@ else
    -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:11563: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10872: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11567: \$? = $ac_status" >&5
+   echo "$as_me:10876: \$? = $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
@@ -11615,11 +10924,11 @@ else
    -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:11618: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:10927: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:11622: \$? = $ac_status" >&5
+   echo "$as_me:10931: \$? = $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
@@ -14415,7 +13724,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 14418 "configure"
+#line 13727 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -14511,7 +13820,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 14514 "configure"
+#line 13823 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -16531,11 +15840,11 @@ else
    -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:16534: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15843: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:16538: \$? = $ac_status" >&5
+   echo "$as_me:15847: \$? = $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.
@@ -16630,11 +15939,11 @@ else
    -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:16633: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15942: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16637: \$? = $ac_status" >&5
+   echo "$as_me:15946: \$? = $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
@@ -16682,11 +15991,11 @@ else
    -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:16685: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:15994: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:16689: \$? = $ac_status" >&5
+   echo "$as_me:15998: \$? = $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
@@ -17803,13 +17112,6 @@ $as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
 if test -z "${GCC_TRUE}" && test -z "${GCC_FALSE}"; then
   { { $as_echo "$as_me:$LINENO: error: conditional \"GCC\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -18181,7 +17483,7 @@ exec 6>&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 Watchdog Library $as_me 0.5, which was
+This file was extended by the Parma Watchdog Library $as_me 0.7, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -18244,7 +17546,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-the Parma Watchdog Library config.status 0.5
+the Parma Watchdog Library config.status 0.7
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -18358,7 +17660,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # INIT-COMMANDS
 #
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-PACKAGE="$PACKAGE"
 
 
 # The HP-UX ksh and POSIX shell print the target directory to stdout
@@ -18721,7 +18022,6 @@ do
   case $ac_config_target in
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "$PACKAGE-config.h") CONFIG_COMMANDS="$CONFIG_COMMANDS $PACKAGE-config.h" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
@@ -19511,140 +18811,6 @@ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
   done
 done
  ;;
-    "$PACKAGE-config.h":C) ac_prefix_conf_OUT=`echo $PACKAGE-config.h`
-ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"`
-ac_prefix_conf_PKG=`echo $PACKAGE`
-ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
-ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:"  -e "/^[0123456789]/s/^/_/"`
-ac_prefix_conf_INP=`echo "" | sed -e 's/ *//'`
-if test ".$ac_prefix_conf_INP" = "."; then
-   for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
-     case "$ac_file" in
-        *.h) ac_prefix_conf_INP=$ac_file ;;
-        *)
-     esac
-     test ".$ac_prefix_conf_INP" != "." && break
-   done
-fi
-if test ".$ac_prefix_conf_INP" = "."; then
-   case "$ac_prefix_conf_OUT" in
-      */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
-      ;;
-      *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"`
-      ;;
-      *) ac_prefix_conf_INP=config.h
-      ;;
-   esac
-fi
-if test -z "$ac_prefix_conf_PKG" ; then
-   { { $as_echo "$as_me:$LINENO: error: no prefix for _PREFIX_PKG_CONFIG_H" >&5
-$as_echo "$as_me: error: no prefix for _PREFIX_PKG_CONFIG_H" >&2;}
-   { (exit 1); exit 1; }; }
-else
-  if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
-     ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
-  fi fi
-  { $as_echo "$as_me:$LINENO: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
-$as_echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
-  if test -f $ac_prefix_conf_INP ; then
-    echo "s/#undef  *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
-    echo "s/#undef  *\\([abcdefghijklmnopqrstuvwxyz]\\)/#undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix
-    echo "s/#define  *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix
-    echo "#define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix
-    echo "#endif/" >>conftest.prefix
-    echo "s/#define  *\\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix
-    echo "#define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix
-    echo "#endif/" >> conftest.prefix
-    # now executing _script on _DEF input to create _OUT output file
-    echo "#ifndef $ac_prefix_conf_DEF"      >$tmp/pconfig.h
-    echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
-    echo ' ' >>$tmp/pconfig.h
-    echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
-
-    sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
-    echo ' ' >>$tmp/pconfig.h
-    echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
-    echo "#endif" >>$tmp/pconfig.h
-    if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
-      { $as_echo "$as_me:$LINENO: $ac_prefix_conf_OUT is unchanged" >&5
-$as_echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
-    else
-      ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" ||
-$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
-	 X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
-	 X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_prefix_conf_OUT" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      { as_dir="$ac_dir"
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    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_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-      rm -f "$ac_prefix_conf_OUT"
-      mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
-    fi
-    cp conftest.prefix _configs.sed
-  else
-    { { $as_echo "$as_me:$LINENO: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&5
-$as_echo "$as_me: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  rm -f conftest.*
-fi
- ;;
     "libtool":C)
 
     # See if we are running on zsh, and set the options which allow our
diff --git a/Watchdog/configure.ac b/Watchdog/configure.ac
index fcfe30a..42fb136 100644
--- a/Watchdog/configure.ac
+++ b/Watchdog/configure.ac
@@ -1,5 +1,5 @@
 # Autoconf source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -20,13 +20,13 @@
 # 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.
+# 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.5],[bagnara at cs.unipr.it],[pwl])
+AC_INIT([the Parma Watchdog Library],[0.7],[bagnara at cs.unipr.it],[pwl])
 
 # Minimum Autoconf version required.
-AC_PREREQ(2.60)
+AC_PREREQ(2.61)
 
 # Make sure the sources are there.
 AC_CONFIG_SRCDIR(src/Watchdog.cc)
@@ -45,13 +45,6 @@ AC_SUBST(VERSION)
 # Generate a configuration header file.
 AC_CONFIG_HEADER([config.h])
 
-# Determine the system-dependent aspects of rpath usage and add
-# the --disable-rpath configure option.
-AC_LIB_RPATH
-
-# Generate prefixed defines.
-AX_PREFIX_CONFIG_H
-
 ISODATE=`date +%Y-%m-%d`
 AC_SUBST(ISODATE)
 
@@ -64,15 +57,13 @@ AH_BOTTOM([
 # C compiler.
 
 AC_ARG_WITH(cc,
-  AC_HELP_STRING([--with-cc=XXX],
-    [use XXX as the C compiler]),
+  AS_HELP_STRING([--with-cc=XXX], [use XXX as the C compiler]),
   CC=$with_cc)
 
 # C++ compiler.
 
 AC_ARG_WITH(cxx,
-  AC_HELP_STRING([--with-cxx=XXX],
-    [use XXX as the C++ compiler]),
+  AS_HELP_STRING([--with-cxx=XXX], [use XXX as the C++ compiler]),
   CXX=$with_cxx)
 
 # Checks for programs.
@@ -138,6 +129,10 @@ AC_PROG_INSTALL
 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,
@@ -314,8 +309,8 @@ AC_C_CONST
 enableval=no
 AC_MSG_CHECKING([whether tests should be run under Valgrind])
 AC_ARG_ENABLE(valgrind-tests,
-  AC_HELP_STRING([--enable-valgrind-tests],
-    [run library tests under Valgrind]))
+  AS_HELP_STRING([--enable-valgrind-tests],
+                 [run library tests under Valgrind]))
 case "${enableval}" in
 yes)
   AC_CHECK_PROG(VALGRIND, valgrind, valgrind)
@@ -337,22 +332,35 @@ no)
 esac
 AM_CONDITIONAL(VALGRIND_TESTS_ENABLED, test x"$enable_valgrind_tests" = xyes)
 
-enableval=yes
+# setitimer() is a strong requisite for the PWL.
+AC_CHECK_FUNCS([setitimer], [have_setitimer=yes], [have_setitimer=no])
+
+enableval=default
 AC_MSG_CHECKING([whether to build the Parma Watchdog Library])
 AC_ARG_ENABLE(watchdog,
-[  --enable-watchdog       build also the Parma Watchdog Library])
+  AS_HELP_STRING([--enable-watchdog],
+                 [build also the Parma Watchdog Library]))
 case "${enableval}" in
 yes)
-  AC_MSG_RESULT(yes)
+  if test x"$have_setitimer" = xyes
+  then
+    build_watchdog_library=yes
+  else
+    AC_MSG_ERROR([CANNOT BUILD THE WATCHDOG LIBRARY
+*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION.])
+  fi
+  ;;
+default)
+  build_watchdog_library=$have_setitimer
   ;;
 no)
-  AC_MSG_RESULT(no)
+  build_watchdog_library=no
   ;;
 *)
-  AC_MSG_ERROR([bad value ${enableval} --enable-watchdog, needs yes or no])
+  AC_MSG_ERROR([bad value ${enableval} for --enable-watchdog, needs yes or no])
   ;;
 esac
-build_watchdog_library=$enableval
+AC_MSG_RESULT($build_watchdog_library)
 AM_CONDITIONAL(BUILD_WATCHDOG_LIBRARY, test x"$build_watchdog_library" = xyes)
 
 if test x"$build_watchdog_library" = xyes
@@ -360,19 +368,14 @@ 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>])
 
-  # Checks for library fuctions.
-  # The following invocations of AC_LANG_PUSH(C) and AC_LANG_POP(C)
-  # are to work around a bug in AC_CHECK_FUNCS.  For more information,
-  # http://www.cs.unipr.it/pipermail/ppl-devel/2002-November/002929.html
-  AC_LANG_PUSH(C)
-  AC_CHECK_FUNCS([setitimer],
-                 [],
-                 AC_MSG_ERROR([CANNOT BUILD THE WATCHDOG LIBRARY
-*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION.]))
-  AC_LANG_POP(C)
+  # Checks for typedefs, structures, and compiler characteristics.
+  AC_CHECK_TYPES([siginfo_t], [], [], [[
+#include <signal.h>
+  ]])
 fi
 
 # Libtool.
diff --git a/Watchdog/doc/Makefile.am b/Watchdog/doc/Makefile.am
index 2d98e06..891b0ed 100644
--- a/Watchdog/doc/Makefile.am
+++ b/Watchdog/doc/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -263,10 +263,6 @@ $(DEVREF_CORE_HTML_DIR): devref.doxyconf-html $(DEVREF_CORE_STUFF)
 EXTRA_DIST= \
 $(DIST_DOCS) \
 $(DOX_FILES) \
-user.doxyconf-latex \
-devref.doxyconf-latex \
-user.doxyconf-html \
-devref.doxyconf-html \
 user.tex \
 devref.tex \
 gpl.tex \
diff --git a/Watchdog/doc/Makefile.in b/Watchdog/doc/Makefile.in
index b89161e..e25303b 100644
--- a/Watchdog/doc/Makefile.in
+++ b/Watchdog/doc/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -60,11 +60,11 @@ DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
 	$(srcdir)/user.doxyconf-html.in \
 	$(srcdir)/user.doxyconf-latex.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prefix_config_h.m4 \
-	$(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__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
@@ -273,10 +273,6 @@ TEX_ENV = TEXINPUTS=$(abs_srcdir):$(TEXINPUTS)
 EXTRA_DIST = \
 $(DIST_DOCS) \
 $(DOX_FILES) \
-user.doxyconf-latex \
-devref.doxyconf-latex \
-user.doxyconf-html \
-devref.doxyconf-html \
 user.tex \
 devref.tex \
 gpl.tex \
diff --git a/Watchdog/doc/README.doc b/Watchdog/doc/README.doc
index a20abe0..90d5232 100644
--- a/Watchdog/doc/README.doc
+++ b/Watchdog/doc/README.doc
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 How To Get (More) PWL Documentation
@@ -108,7 +108,7 @@ of the above formats.
 
 --------
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This document describes the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/doc/devref.doxyconf-html b/Watchdog/doc/devref.doxyconf-html
deleted file mode 100644
index a25dc98..0000000
--- a/Watchdog/doc/devref.doxyconf-html
+++ /dev/null
@@ -1,284 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PWL
-PROJECT_NUMBER         = 0.5
-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                  = ./../src/Doubly_Linked_Object.types.hh \
-                         ./../src/Doubly_Linked_Object.defs.hh \
-                         ./../src/Doubly_Linked_Object.inlines.hh \
-                         ./../src/EList.types.hh \
-                         ./../src/EList.defs.hh \
-                         ./../src/EList.inlines.hh \
-                         ./../src/EList_Iterator.types.hh \
-                         ./../src/EList_Iterator.defs.hh \
-                         ./../src/EList_Iterator.inlines.hh \
-                         ./../src/Handler.types.hh \
-                         ./../src/Handler.defs.hh \
-                         ./../src/Handler.inlines.hh \
-                         ./../src/Pending_Element.types.hh \
-                         ./../src/Pending_Element.defs.hh \
-                         ./../src/Pending_Element.inlines.hh \
-                         ./../src/Pending_Element.cc \
-                         ./../src/Pending_List.types.hh \
-                         ./../src/Pending_List.defs.hh \
-                         ./../src/Pending_List.inlines.hh \
-                         ./../src/Pending_List.cc \
-                         ./../src/Time.types.hh \
-                         ./../src/Time.defs.hh \
-                         ./../src/Time.inlines.hh \
-                         ./../src/Time.cc \
-                         ./../src/Watchdog.types.hh \
-                         ./../src/Watchdog.defs.hh \
-                         ./../src/Watchdog.inlines.hh \
-                         ./../src/Watchdog.cc \
-                         ./gpl.dox \
-                         ./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-0.5-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           = ./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-0.5-html.tag
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/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 b/Watchdog/doc/devref.doxyconf-latex
deleted file mode 100644
index 2b4269d..0000000
--- a/Watchdog/doc/devref.doxyconf-latex
+++ /dev/null
@@ -1,284 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PWL
-PROJECT_NUMBER         = 0.5
-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                  = ./../src/Doubly_Linked_Object.types.hh \
-                         ./../src/Doubly_Linked_Object.defs.hh \
-                         ./../src/Doubly_Linked_Object.inlines.hh \
-                         ./../src/EList.types.hh \
-                         ./../src/EList.defs.hh \
-                         ./../src/EList.inlines.hh \
-                         ./../src/EList_Iterator.types.hh \
-                         ./../src/EList_Iterator.defs.hh \
-                         ./../src/EList_Iterator.inlines.hh \
-                         ./../src/Handler.types.hh \
-                         ./../src/Handler.defs.hh \
-                         ./../src/Handler.inlines.hh \
-                         ./../src/Pending_Element.types.hh \
-                         ./../src/Pending_Element.defs.hh \
-                         ./../src/Pending_Element.inlines.hh \
-                         ./../src/Pending_Element.cc \
-                         ./../src/Pending_List.types.hh \
-                         ./../src/Pending_List.defs.hh \
-                         ./../src/Pending_List.inlines.hh \
-                         ./../src/Pending_List.cc \
-                         ./../src/Time.types.hh \
-                         ./../src/Time.defs.hh \
-                         ./../src/Time.inlines.hh \
-                         ./../src/Time.cc \
-                         ./../src/Watchdog.types.hh \
-                         ./../src/Watchdog.defs.hh \
-                         ./../src/Watchdog.inlines.hh \
-                         ./../src/Watchdog.cc \
-                         ./gpl.dox \
-                         ./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          = NO
-HTML_OUTPUT            = pwl-devref-0.5-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           = ./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              = /usr/bin/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
index c32b300..8c89107 100644
--- a/Watchdog/doc/devref.tex
+++ b/Watchdog/doc/devref.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Watchdog Library (PWL).
 %
@@ -85,7 +85,7 @@ Roberto Bagnara\thanks{bagnara at cs.unipr.it,
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2008 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/doc/fdl.pdf b/Watchdog/doc/fdl.pdf
index e426286..6215ec3 100644
Binary files a/Watchdog/doc/fdl.pdf and b/Watchdog/doc/fdl.pdf differ
diff --git a/Watchdog/doc/fdl.ps.gz b/Watchdog/doc/fdl.ps.gz
index b3ced82..bbf26c9 100644
Binary files a/Watchdog/doc/fdl.ps.gz and b/Watchdog/doc/fdl.ps.gz differ
diff --git a/Watchdog/doc/gpl.pdf b/Watchdog/doc/gpl.pdf
index 99a293f..a484187 100644
Binary files a/Watchdog/doc/gpl.pdf and b/Watchdog/doc/gpl.pdf differ
diff --git a/Watchdog/doc/gpl.ps.gz b/Watchdog/doc/gpl.ps.gz
index 69ed798..6f5aaf9 100644
Binary files a/Watchdog/doc/gpl.ps.gz and b/Watchdog/doc/gpl.ps.gz differ
diff --git a/Watchdog/doc/pwl-user-0.5-html.tar.gz b/Watchdog/doc/pwl-user-0.5-html.tar.gz
deleted file mode 100644
index ed2c1c6..0000000
Binary files a/Watchdog/doc/pwl-user-0.5-html.tar.gz and /dev/null differ
diff --git a/Watchdog/doc/pwl-user-0.5.pdf b/Watchdog/doc/pwl-user-0.5.pdf
deleted file mode 100644
index 2eaf9be..0000000
Binary files a/Watchdog/doc/pwl-user-0.5.pdf and /dev/null differ
diff --git a/Watchdog/doc/pwl-user-0.5.ps.gz b/Watchdog/doc/pwl-user-0.5.ps.gz
deleted file mode 100644
index a305805..0000000
Binary files a/Watchdog/doc/pwl-user-0.5.ps.gz and /dev/null differ
diff --git a/Watchdog/doc/pwl-user-0.7-html.tar.gz b/Watchdog/doc/pwl-user-0.7-html.tar.gz
new file mode 100644
index 0000000..65cb799
Binary files /dev/null and b/Watchdog/doc/pwl-user-0.7-html.tar.gz differ
diff --git a/Watchdog/doc/pwl-user-0.7.pdf b/Watchdog/doc/pwl-user-0.7.pdf
new file mode 100644
index 0000000..6782ada
Binary files /dev/null and b/Watchdog/doc/pwl-user-0.7.pdf differ
diff --git a/Watchdog/doc/pwl-user-0.7.ps.gz b/Watchdog/doc/pwl-user-0.7.ps.gz
new file mode 100644
index 0000000..7cc193b
Binary files /dev/null and b/Watchdog/doc/pwl-user-0.7.ps.gz differ
diff --git a/Watchdog/doc/pwl.sty b/Watchdog/doc/pwl.sty
index faf86f6..7757db4 100644
--- a/Watchdog/doc/pwl.sty
+++ b/Watchdog/doc/pwl.sty
@@ -1,5 +1,5 @@
 %%    LaTeX package providing macros for typesetting the PWL manuals.
-%%    Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+%%    Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %%
 %% This file is part of the Parma Watchdog Library (PWL).
 %%
diff --git a/Watchdog/doc/user.doxyconf-html b/Watchdog/doc/user.doxyconf-html
deleted file mode 100644
index 122c39b..0000000
--- a/Watchdog/doc/user.doxyconf-html
+++ /dev/null
@@ -1,255 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PWL
-PROJECT_NUMBER         = 0.5
-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 \
-                         ./gpl.dox \
-                         ./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-0.5-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           = ./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-0.5-html.tag
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/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 b/Watchdog/doc/user.doxyconf-latex
deleted file mode 100644
index 7bafe44..0000000
--- a/Watchdog/doc/user.doxyconf-latex
+++ /dev/null
@@ -1,255 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PWL
-PROJECT_NUMBER         = 0.5
-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 \
-                         ./gpl.dox \
-                         ./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-0.5-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           = ./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              = /usr/bin/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
index 3a0a607..d6f41aa 100644
--- a/Watchdog/doc/user.tex
+++ b/Watchdog/doc/user.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Watchdog Library (PWL).
 %
@@ -85,7 +85,7 @@ Roberto Bagnara\thanks{bagnara at cs.unipr.it,
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2008 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/m4/Makefile.am b/Watchdog/m4/Makefile.am
index 1553ce6..6d725b4 100644
--- a/Watchdog/m4/Makefile.am
+++ b/Watchdog/m4/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -26,7 +26,6 @@ m4data_DATA =
 
 # M4 macro files for internal use.
 m4macros = \
-ax_prefix_config_h.m4 \
 lib-ld.m4 \
 lib-link.m4 \
 libtool.m4 \
diff --git a/Watchdog/m4/Makefile.in b/Watchdog/m4/Makefile.in
index 640a23d..d34be4d 100644
--- a/Watchdog/m4/Makefile.in
+++ b/Watchdog/m4/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -57,11 +57,11 @@ 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/ax_prefix_config_h.m4 \
-	$(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__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
@@ -205,7 +205,6 @@ m4data_DATA =
 
 # M4 macro files for internal use.
 m4macros = \
-ax_prefix_config_h.m4 \
 lib-ld.m4 \
 lib-link.m4 \
 libtool.m4 \
diff --git a/Watchdog/m4/ax_prefix_config_h.m4 b/Watchdog/m4/ax_prefix_config_h.m4
deleted file mode 100644
index 53f252a..0000000
--- a/Watchdog/m4/ax_prefix_config_h.m4
+++ /dev/null
@@ -1,183 +0,0 @@
-dnl @synopsis AX_PREFIX_CONFIG_H [(OUTPUT-HEADER [,PREFIX [,ORIG-HEADER]])]
-dnl
-dnl This is a new variant from ac_prefix_config_ this one will use a
-dnl lowercase-prefix if the config-define was starting with a
-dnl lowercase-char, e.g. "#define const", "#define restrict", or
-dnl "#define off_t", (and this one can live in another directory, e.g.
-dnl testpkg/config.h therefore I decided to move the output-header to
-dnl be the first arg)
-dnl
-dnl takes the usual config.h generated header file; looks for each of
-dnl the generated "#define SOMEDEF" lines, and prefixes the defined
-dnl name (ie. makes it "#define PREFIX_SOMEDEF". The result is written
-dnl to the output config.header file. The PREFIX is converted to
-dnl uppercase for the conversions.
-dnl
-dnl Defaults:
-dnl
-dnl   OUTPUT-HEADER = $PACKAGE-config.h
-dnl   PREFIX = $PACKAGE
-dnl   ORIG-HEADER, from AM_CONFIG_HEADER(config.h)
-dnl
-dnl Your configure.ac script should contain both macros in this order,
-dnl and unlike the earlier variations of this prefix-macro it is okay
-dnl to place the AX_PREFIX_CONFIG_H call before the AC_OUTPUT
-dnl invokation.
-dnl
-dnl Example:
-dnl
-dnl   AC_INIT(config.h.in)        # config.h.in as created by "autoheader"
-dnl   AM_INIT_AUTOMAKE(testpkg, 0.1.1)    # makes #undef VERSION and PACKAGE
-dnl   AM_CONFIG_HEADER(config.h)          # prep config.h from config.h.in
-dnl   AX_PREFIX_CONFIG_H(mylib/_config.h) # prep mylib/_config.h from it..
-dnl   AC_MEMORY_H                         # makes "#undef NEED_MEMORY_H"
-dnl   AC_C_CONST_H                        # makes "#undef const"
-dnl   AC_OUTPUT(Makefile)                 # creates the "config.h" now
-dnl                                       # and also mylib/_config.h
-dnl
-dnl if the argument to AX_PREFIX_CONFIG_H would have been omitted then
-dnl the default outputfile would have been called simply
-dnl "testpkg-config.h", but even under the name "mylib/_config.h" it
-dnl contains prefix-defines like
-dnl
-dnl   #ifndef TESTPKG_VERSION
-dnl   #define TESTPKG_VERSION "0.1.1"
-dnl   #endif
-dnl   #ifndef TESTPKG_NEED_MEMORY_H
-dnl   #define TESTPKG_NEED_MEMORY_H 1
-dnl   #endif
-dnl   #ifndef _testpkg_const
-dnl   #define _testpkg_const _const
-dnl   #endif
-dnl
-dnl and this "mylib/_config.h" can be installed along with other
-dnl header-files, which is most convenient when creating a shared
-dnl library (that has some headers) where some functionality is
-dnl dependent on the OS-features detected at compile-time. No need to
-dnl invent some "mylib-confdefs.h.in" manually. :-)
-dnl
-dnl Note that some AC_DEFINEs that end up in the config.h file are
-dnl actually self-referential - e.g. AC_C_INLINE, AC_C_CONST, and the
-dnl AC_TYPE_OFF_T say that they "will define inline|const|off_t if the
-dnl system does not do it by itself". You might want to clean up about
-dnl these - consider an extra mylib/conf.h that reads something like:
-dnl
-dnl    #include <mylib/_config.h>
-dnl    #ifndef _testpkg_const
-dnl    #define _testpkg_const const
-dnl    #endif
-dnl
-dnl and then start using _testpkg_const in the header files. That is
-dnl also a good thing to differentiate whether some library-user has
-dnl starting to take up with a different compiler, so perhaps it could
-dnl read something like this:
-dnl
-dnl   #ifdef _MSC_VER
-dnl   #include <mylib/_msvc.h>
-dnl   #else
-dnl   #include <mylib/_config.h>
-dnl   #endif
-dnl   #ifndef _testpkg_const
-dnl   #define _testpkg_const const
-dnl   #endif
-dnl
-dnl @category Misc
-dnl @author Guido U. Draheim <guidod at gmx.de>
-dnl @author Marten Svantesson <msv at kth.se>
-dnl @version 2006-10-13
-dnl @license GPLWithACException
-
-AC_DEFUN([AX_PREFIX_CONFIG_H],[dnl
-AC_BEFORE([AC_CONFIG_HEADERS],[$0])dnl
-AC_CONFIG_COMMANDS([ifelse($1,,$PACKAGE-config.h,$1)],[dnl
-AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl
-AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl
-AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl
-AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl
-AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl
-AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl
-m4_pushdef([_script],[conftest.prefix])dnl
-m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl
-_OUT=`echo ifelse($1, , $PACKAGE-config.h, $1)`
-_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"`
-_PKG=`echo ifelse($2, , $PACKAGE, $2)`
-_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"`
-_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:"  -e "/^@<:@m4_cr_digits@:>@/s/^/_/"`
-_INP=`echo "ifelse($3,,,$3)" | sed -e 's/ *//'`
-if test ".$_INP" = "."; then
-   for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
-     case "$ac_file" in
-        *.h) _INP=$ac_file ;;
-        *)
-     esac
-     test ".$_INP" != "." && break
-   done
-fi
-if test ".$_INP" = "."; then
-   case "$_OUT" in
-      */*) _INP=`basename "$_OUT"`
-      ;;
-      *-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"`
-      ;;
-      *) _INP=config.h
-      ;;
-   esac
-fi
-if test -z "$_PKG" ; then
-   AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H])
-else
-  if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then
-     _INP="$srcdir/$_INP"
-  fi fi
-  AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines)
-  if test -f $_INP ; then
-    echo "s/@%:@undef  *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/" > _script
-    echo "s/@%:@undef  *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script
-    echo "s/@%:@def[]ine  *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1 \\" >> _script
-    echo "@%:@def[]ine $_UPP""_\\1 \\2 \\" >> _script
-    echo "@%:@endif/" >>_script
-    echo "s/@%:@def[]ine  *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script
-    echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script
-    echo "@%:@endif/" >> _script
-    # now executing _script on _DEF input to create _OUT output file
-    echo "@%:@ifndef $_DEF"      >$tmp/pconfig.h
-    echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h
-    echo ' ' >>$tmp/pconfig.h
-    echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
-
-    sed -f _script $_INP >>$tmp/pconfig.h
-    echo ' ' >>$tmp/pconfig.h
-    echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h
-    echo "@%:@endif" >>$tmp/pconfig.h
-    if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then
-      AC_MSG_NOTICE([$_OUT is unchanged])
-    else
-      ac_dir=`AS_DIRNAME(["$_OUT"])`
-      AS_MKDIR_P(["$ac_dir"])
-      rm -f "$_OUT"
-      mv $tmp/pconfig.h "$_OUT"
-    fi
-    cp _script _configs.sed
-  else
-    AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT])
-  fi
-  rm -f conftest.*
-fi
-m4_popdef([_symbol])dnl
-m4_popdef([_script])dnl
-AS_VAR_POPDEF([_INP])dnl
-AS_VAR_POPDEF([_UPP])dnl
-AS_VAR_POPDEF([_LOW])dnl
-AS_VAR_POPDEF([_PKG])dnl
-AS_VAR_POPDEF([_DEF])dnl
-AS_VAR_POPDEF([_OUT])dnl
-],[PACKAGE="$PACKAGE"])])
-
-dnl implementation note: a bug report (31.5.2005) from Marten Svantesson points
-dnl out a problem where `echo "\1"` results in a Control-A. The unix standard
-dnl    http://www.opengroup.org/onlinepubs/000095399/utilities/echo.html
-dnl defines all backslash-sequences to be inherently non-portable asking
-dnl for replacement mit printf. Some old systems had problems with that
-dnl one either. However, the latest libtool (!) release does export an $ECHO
-dnl (and $echo) that does the right thing - just one question is left: what
-dnl was the first version to have it? Is it greater 2.58 ?
diff --git a/Watchdog/config.h.in b/Watchdog/pwl-config.h.in
similarity index 73%
copy from Watchdog/config.h.in
copy to Watchdog/pwl-config.h.in
index 4125ef2..44a54ee 100644
--- a/Watchdog/config.h.in
+++ b/Watchdog/pwl-config.h.in
@@ -2,46 +2,49 @@
 
 /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
    */
-#undef HAVE_DECL_GETENV
+#undef PWL_HAVE_DECL_GETENV
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
+#undef PWL_HAVE_DLFCN_H
 
 /* Define to 1 if you have the <fenv.h> header file. */
-#undef HAVE_FENV_H
+#undef PWL_HAVE_FENV_H
 
 /* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
+#undef PWL_HAVE_INTTYPES_H
 
 /* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
+#undef PWL_HAVE_MEMORY_H
 
 /* Define to 1 if you have the `setitimer' function. */
 #undef HAVE_SETITIMER
 
+/* 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
+#undef PWL_HAVE_STDINT_H
 
 /* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
+#undef PWL_HAVE_STDLIB_H
 
 /* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
+#undef PWL_HAVE_STRINGS_H
 
 /* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
+#undef PWL_HAVE_STRING_H
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
+#undef PWL_HAVE_SYS_STAT_H
 
 /* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
+#undef PWL_HAVE_SYS_TIME_H
 
 /* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
+#undef PWL_HAVE_SYS_TYPES_H
 
 /* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
+#undef PWL_HAVE_UNISTD_H
 
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
@@ -51,25 +54,25 @@
 #undef NDEBUG
 
 /* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
+#undef PWL_PACKAGE_BUGREPORT
 
 /* Define to the full name of this package. */
-#undef PACKAGE_NAME
+#undef PWL_PACKAGE_NAME
 
 /* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
+#undef PWL_PACKAGE_STRING
 
 /* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
+#undef PWL_PACKAGE_TARNAME
 
 /* Define to the version of this package. */
-#undef PACKAGE_VERSION
+#undef PWL_PACKAGE_VERSION
 
 /* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
+#undef PWL_STDC_HEADERS
 
 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
+#undef PWL_TIME_WITH_SYS_TIME
 
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const
diff --git a/Watchdog/pwl-config.sed b/Watchdog/pwl-config.sed
new file mode 100644
index 0000000..960a73e
--- /dev/null
+++ b/Watchdog/pwl-config.sed
@@ -0,0 +1,21 @@
+s/\([^A-Z_]\)HAVE_DECL_GETENV/\1PWL_HAVE_DECL_GETENV/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_H/\1PWL_HAVE_SETITIMER_H/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
index 90370c3..fd00eef 100644
--- a/Watchdog/src/Doubly_Linked_Object.defs.hh
+++ b/Watchdog/src/Doubly_Linked_Object.defs.hh
@@ -1,5 +1,5 @@
 /* Doubly_Linked_Object class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Doubly_Linked_Object.inlines.hh b/Watchdog/src/Doubly_Linked_Object.inlines.hh
index ed6f885..cd6210a 100644
--- a/Watchdog/src/Doubly_Linked_Object.inlines.hh
+++ b/Watchdog/src/Doubly_Linked_Object.inlines.hh
@@ -1,5 +1,5 @@
 /* Doubly_Linked_Object class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Doubly_Linked_Object.types.hh b/Watchdog/src/Doubly_Linked_Object.types.hh
index 725737c..3d0387c 100644
--- a/Watchdog/src/Doubly_Linked_Object.types.hh
+++ b/Watchdog/src/Doubly_Linked_Object.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Watchdog/src/EList.defs.hh b/Watchdog/src/EList.defs.hh
index 9707373..e16ceb0 100644
--- a/Watchdog/src/EList.defs.hh
+++ b/Watchdog/src/EList.defs.hh
@@ -1,5 +1,5 @@
 /* EList class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/EList.inlines.hh b/Watchdog/src/EList.inlines.hh
index 865ab34..28a3a61 100644
--- a/Watchdog/src/EList.inlines.hh
+++ b/Watchdog/src/EList.inlines.hh
@@ -1,5 +1,5 @@
 /* EList class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/EList.types.hh b/Watchdog/src/EList.types.hh
index d3e3b87..7239f98 100644
--- a/Watchdog/src/EList.types.hh
+++ b/Watchdog/src/EList.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Watchdog/src/EList_Iterator.defs.hh b/Watchdog/src/EList_Iterator.defs.hh
index 6d45751..8c593fa 100644
--- a/Watchdog/src/EList_Iterator.defs.hh
+++ b/Watchdog/src/EList_Iterator.defs.hh
@@ -1,5 +1,5 @@
 /* EList_Iterator class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/EList_Iterator.inlines.hh b/Watchdog/src/EList_Iterator.inlines.hh
index a68b742..b35cf4a 100644
--- a/Watchdog/src/EList_Iterator.inlines.hh
+++ b/Watchdog/src/EList_Iterator.inlines.hh
@@ -1,5 +1,5 @@
 /* EList_Iterator class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/EList_Iterator.types.hh b/Watchdog/src/EList_Iterator.types.hh
index 02fd313..d0d2c04 100644
--- a/Watchdog/src/EList_Iterator.types.hh
+++ b/Watchdog/src/EList_Iterator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Watchdog/src/Handler.defs.hh b/Watchdog/src/Handler.defs.hh
index b64e5fa..1a58d20 100644
--- a/Watchdog/src/Handler.defs.hh
+++ b/Watchdog/src/Handler.defs.hh
@@ -1,5 +1,5 @@
 /* Handler and derived classes' declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Handler.inlines.hh b/Watchdog/src/Handler.inlines.hh
index a85af28..87a0ecd 100644
--- a/Watchdog/src/Handler.inlines.hh
+++ b/Watchdog/src/Handler.inlines.hh
@@ -1,5 +1,5 @@
 /* Handler and derived classes' implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Handler.types.hh b/Watchdog/src/Handler.types.hh
index 426d3d3..37e92da 100644
--- a/Watchdog/src/Handler.types.hh
+++ b/Watchdog/src/Handler.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Watchdog/src/Makefile.am b/Watchdog/src/Makefile.am
index a27a309..0b94acc 100644
--- a/Watchdog/src/Makefile.am
+++ b/Watchdog/src/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -85,8 +85,9 @@ pwl_header.hh
 #	    0.3			0.6		    2:0:0
 #	    0.4			0.7		    3:0:0
 #	    0.4			0.8		    3:0:0
-#	    0.4			0.9		    3:0:0
-#	    0.5			0.10		    4:0:0
+#	    0.5			0.9		    3:0:0
+#	    0.6			0.10		    4:0:0
+#	    0.7			0.10.1		    4:0:0
 
 LIBPWL_LT_CURRENT =  4
 LIBPWL_LT_REVISION = 0
@@ -118,7 +119,7 @@ pwl_include_files.hh: $(INCLUDE_FILES) Makefile
 
 if HAVE_PERL
 
-pwl.hh:	$(top_builddir)/config.h pwl_header.hh pwl_include_files.hh $(top_builddir)/utils/build_header
+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 >$@
diff --git a/Watchdog/src/Makefile.in b/Watchdog/src/Makefile.in
index ecf97eb..e7ed665 100644
--- a/Watchdog/src/Makefile.in
+++ b/Watchdog/src/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -59,11 +59,11 @@ 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/ax_prefix_config_h.m4 \
-	$(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__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
@@ -301,8 +301,9 @@ pwl_header.hh
 #	    0.3			0.6		    2:0:0
 #	    0.4			0.7		    3:0:0
 #	    0.4			0.8		    3:0:0
-#	    0.4			0.9		    3:0:0
-#	    0.5			0.10		    4:0:0
+#	    0.5			0.9		    3:0:0
+#	    0.6			0.10		    4:0:0
+#	    0.7			0.10.1		    4:0:0
 LIBPWL_LT_CURRENT = 4
 LIBPWL_LT_REVISION = 0
 LIBPWL_LT_AGE = 0
@@ -634,7 +635,7 @@ pwl_include_files.hh: $(INCLUDE_FILES) Makefile
 	  printf "#include \"%s\"\n" $$file >>$@; \
 	done
 
- at HAVE_PERL_TRUE@pwl.hh:	$(top_builddir)/config.h pwl_header.hh pwl_include_files.hh $(top_builddir)/utils/build_header
+ at HAVE_PERL_TRUE@pwl.hh:	$(top_builddir)/pwl-config.h pwl_header.hh pwl_include_files.hh $(top_builddir)/utils/build_header
 @HAVE_PERL_TRUE@	$(top_builddir)/utils/build_header \
 @HAVE_PERL_TRUE@		-I $(top_builddir) -I $(top_builddir)/src \
 @HAVE_PERL_TRUE@		$(top_srcdir)/src/pwl_header.hh >$@
diff --git a/Watchdog/src/Pending_Element.cc b/Watchdog/src/Pending_Element.cc
index 8359c81..51e2274 100644
--- a/Watchdog/src/Pending_Element.cc
+++ b/Watchdog/src/Pending_Element.cc
@@ -1,5 +1,5 @@
 /* Pending_Element class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Pending_Element.defs.hh b/Watchdog/src/Pending_Element.defs.hh
index 8726c11..f7cdae1 100644
--- a/Watchdog/src/Pending_Element.defs.hh
+++ b/Watchdog/src/Pending_Element.defs.hh
@@ -1,5 +1,5 @@
 /* Pending_Element class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Pending_Element.inlines.hh b/Watchdog/src/Pending_Element.inlines.hh
index d9a5116..9eedc09 100644
--- a/Watchdog/src/Pending_Element.inlines.hh
+++ b/Watchdog/src/Pending_Element.inlines.hh
@@ -1,5 +1,5 @@
 /* Pending_Element class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Pending_Element.types.hh b/Watchdog/src/Pending_Element.types.hh
index 7598e96..b9d7188 100644
--- a/Watchdog/src/Pending_Element.types.hh
+++ b/Watchdog/src/Pending_Element.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Watchdog/src/Pending_List.cc b/Watchdog/src/Pending_List.cc
index 5e9ce8f..0ff7708 100644
--- a/Watchdog/src/Pending_List.cc
+++ b/Watchdog/src/Pending_List.cc
@@ -1,5 +1,5 @@
 /* Pending_List class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Pending_List.defs.hh b/Watchdog/src/Pending_List.defs.hh
index 3b6e8d5..7b4f532 100644
--- a/Watchdog/src/Pending_List.defs.hh
+++ b/Watchdog/src/Pending_List.defs.hh
@@ -1,5 +1,5 @@
 /* Pending_List class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Pending_List.inlines.hh b/Watchdog/src/Pending_List.inlines.hh
index 60ed84c..e38f894 100644
--- a/Watchdog/src/Pending_List.inlines.hh
+++ b/Watchdog/src/Pending_List.inlines.hh
@@ -1,5 +1,5 @@
 /* Pending_List class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Pending_List.types.hh b/Watchdog/src/Pending_List.types.hh
index dbd1644..3f77f1f 100644
--- a/Watchdog/src/Pending_List.types.hh
+++ b/Watchdog/src/Pending_List.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Watchdog/src/Time.cc b/Watchdog/src/Time.cc
index a5c3599..94a5be7 100644
--- a/Watchdog/src/Time.cc
+++ b/Watchdog/src/Time.cc
@@ -1,5 +1,5 @@
 /* Time class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Time.defs.hh b/Watchdog/src/Time.defs.hh
index 3ef182a..d817e40 100644
--- a/Watchdog/src/Time.defs.hh
+++ b/Watchdog/src/Time.defs.hh
@@ -1,5 +1,5 @@
 /* Time class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Time.inlines.hh b/Watchdog/src/Time.inlines.hh
index c1b73a6..c761d36 100644
--- a/Watchdog/src/Time.inlines.hh
+++ b/Watchdog/src/Time.inlines.hh
@@ -1,5 +1,5 @@
 /* Time class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Time.types.hh b/Watchdog/src/Time.types.hh
index da0a08b..8d11ae2 100644
--- a/Watchdog/src/Time.types.hh
+++ b/Watchdog/src/Time.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Watchdog/src/Watchdog.cc b/Watchdog/src/Watchdog.cc
index c8a470e..21c0dab 100644
--- a/Watchdog/src/Watchdog.cc
+++ b/Watchdog/src/Watchdog.cc
@@ -1,5 +1,5 @@
 /* Watchdog and associated classes' implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Watchdog.defs.hh b/Watchdog/src/Watchdog.defs.hh
index f52db6f..733c355 100644
--- a/Watchdog/src/Watchdog.defs.hh
+++ b/Watchdog/src/Watchdog.defs.hh
@@ -1,5 +1,5 @@
 /* Watchdog and associated classes' declaration and inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Watchdog.inlines.hh b/Watchdog/src/Watchdog.inlines.hh
index a29ebbc..0938216 100644
--- a/Watchdog/src/Watchdog.inlines.hh
+++ b/Watchdog/src/Watchdog.inlines.hh
@@ -1,5 +1,5 @@
 /* Watchdog and associated classes' implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/src/Watchdog.types.hh b/Watchdog/src/Watchdog.types.hh
index c465a71..fc5f84c 100644
--- a/Watchdog/src/Watchdog.types.hh
+++ b/Watchdog/src/Watchdog.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Watchdog/src/pwl.hh.dist b/Watchdog/src/pwl.hh.dist
index 9e7dc04..93fa0e7 100644
--- a/Watchdog/src/pwl.hh.dist
+++ b/Watchdog/src/pwl.hh.dist
@@ -1,5 +1,5 @@
 /* This is the header file of the Parma Watchdog Library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -29,142 +29,92 @@ site: http://www.cs.unipr.it/ppl/ . */
 #endif
 
 // Automatically generated from PPL source file ../pwl-config.h line 1
-#ifndef _PWL_CONFIG_H
-#define _PWL_CONFIG_H 1
- 
-/* pwl-config.h. Generated automatically at end of configure. */
 /* 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.
    */
-#ifndef PWL_HAVE_DECL_GETENV 
-#define PWL_HAVE_DECL_GETENV  0 
-#endif
+#define PWL_HAVE_DECL_GETENV 0
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-#ifndef PWL_HAVE_DLFCN_H 
-#define PWL_HAVE_DLFCN_H  1 
-#endif
+#define PWL_HAVE_DLFCN_H 1
 
 /* Define to 1 if you have the <fenv.h> header file. */
-#ifndef PWL_HAVE_FENV_H 
-#define PWL_HAVE_FENV_H  1 
-#endif
+#define PWL_HAVE_FENV_H 1
 
 /* Define to 1 if you have the <inttypes.h> header file. */
-#ifndef PWL_HAVE_INTTYPES_H 
-#define PWL_HAVE_INTTYPES_H  1 
-#endif
+#define PWL_HAVE_INTTYPES_H 1
 
 /* Define to 1 if you have the <memory.h> header file. */
-#ifndef PWL_HAVE_MEMORY_H 
-#define PWL_HAVE_MEMORY_H  1 
-#endif
+#define PWL_HAVE_MEMORY_H 1
 
 /* Define to 1 if you have the `setitimer' function. */
-#ifndef PWL_HAVE_SETITIMER 
-#define PWL_HAVE_SETITIMER  1 
-#endif
+#define HAVE_SETITIMER 1
+
+/* Define to 1 if the system has the type `siginfo_t'. */
+#define HAVE_SIGINFO_T 1
 
 /* Define to 1 if you have the <stdint.h> header file. */
-#ifndef PWL_HAVE_STDINT_H 
-#define PWL_HAVE_STDINT_H  1 
-#endif
+#define PWL_HAVE_STDINT_H 1
 
 /* Define to 1 if you have the <stdlib.h> header file. */
-#ifndef PWL_HAVE_STDLIB_H 
-#define PWL_HAVE_STDLIB_H  1 
-#endif
+#define PWL_HAVE_STDLIB_H 1
 
 /* Define to 1 if you have the <strings.h> header file. */
-#ifndef PWL_HAVE_STRINGS_H 
-#define PWL_HAVE_STRINGS_H  1 
-#endif
+#define PWL_HAVE_STRINGS_H 1
 
 /* Define to 1 if you have the <string.h> header file. */
-#ifndef PWL_HAVE_STRING_H 
-#define PWL_HAVE_STRING_H  1 
-#endif
+#define PWL_HAVE_STRING_H 1
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
-#ifndef PWL_HAVE_SYS_STAT_H 
-#define PWL_HAVE_SYS_STAT_H  1 
-#endif
+#define PWL_HAVE_SYS_STAT_H 1
 
 /* Define to 1 if you have the <sys/time.h> header file. */
-#ifndef PWL_HAVE_SYS_TIME_H 
-#define PWL_HAVE_SYS_TIME_H  1 
-#endif
+#define PWL_HAVE_SYS_TIME_H 1
 
 /* Define to 1 if you have the <sys/types.h> header file. */
-#ifndef PWL_HAVE_SYS_TYPES_H 
-#define PWL_HAVE_SYS_TYPES_H  1 
-#endif
+#define PWL_HAVE_SYS_TYPES_H 1
 
 /* Define to 1 if you have the <unistd.h> header file. */
-#ifndef PWL_HAVE_UNISTD_H 
-#define PWL_HAVE_UNISTD_H  1 
-#endif
+#define PWL_HAVE_UNISTD_H 1
 
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
-#ifndef PWL_LT_OBJDIR 
-#define PWL_LT_OBJDIR  ".libs/" 
-#endif
+#define LT_OBJDIR ".libs/"
 
 /* Assertions are disabled when this is defined */
-#ifndef PWL_NDEBUG 
-#define PWL_NDEBUG  1 
-#endif
+#define NDEBUG 1
 
 /* Define to the address where bug reports for this package should be sent. */
-#ifndef PWL_PACKAGE_BUGREPORT 
-#define PWL_PACKAGE_BUGREPORT  "bagnara at cs.unipr.it" 
-#endif
+#define PWL_PACKAGE_BUGREPORT "bagnara at cs.unipr.it"
 
 /* Define to the full name of this package. */
-#ifndef PWL_PACKAGE_NAME 
-#define PWL_PACKAGE_NAME  "the Parma Watchdog Library" 
-#endif
+#define PWL_PACKAGE_NAME "the Parma Watchdog Library"
 
 /* Define to the full name and version of this package. */
-#ifndef PWL_PACKAGE_STRING 
-#define PWL_PACKAGE_STRING  "the Parma Watchdog Library 0.5" 
-#endif
+#define PWL_PACKAGE_STRING "the Parma Watchdog Library 0.7"
 
 /* Define to the one symbol short name of this package. */
-#ifndef PWL_PACKAGE_TARNAME 
-#define PWL_PACKAGE_TARNAME  "pwl" 
-#endif
+#define PWL_PACKAGE_TARNAME "pwl"
 
 /* Define to the version of this package. */
-#ifndef PWL_PACKAGE_VERSION 
-#define PWL_PACKAGE_VERSION  "0.5" 
-#endif
+#define PWL_PACKAGE_VERSION "0.7"
 
 /* Define to 1 if you have the ANSI C header files. */
-#ifndef PWL_STDC_HEADERS 
-#define PWL_STDC_HEADERS  1 
-#endif
+#define PWL_STDC_HEADERS 1
 
 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#ifndef PWL_TIME_WITH_SYS_TIME 
-#define PWL_TIME_WITH_SYS_TIME  1 
-#endif
+#define PWL_TIME_WITH_SYS_TIME 1
 
 /* Define to empty if `const' does not conform to ANSI C. */
-/* #undef _pwl_const */
+/* #undef const */
 
 
 #ifdef PWL_NDEBUG
 # define NDEBUG 1
 #endif
 
- 
-/* once: _PWL_CONFIG_H */
-#endif
-// Automatically generated from PPL source file ../src/Doubly_Linked_Object.types.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Doubly_Linked_Object.types.hh line 1
 
 #ifndef PWL_Doubly_Linked_Object_types_hh
 #define PWL_Doubly_Linked_Object_types_hh 1
@@ -176,7 +126,7 @@ 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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/EList.types.hh line 1
 
 #ifndef PWL_EList_types_hh
 #define PWL_EList_types_hh 1
@@ -189,7 +139,7 @@ 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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/EList_Iterator.types.hh line 1
 
 #ifndef PWL_EList_Iterator_types_hh
 #define PWL_EList_Iterator_types_hh 1
@@ -202,7 +152,7 @@ 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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Handler.types.hh line 1
 
 #ifndef PWL_Handler_types_hh
 #define PWL_Handler_types_hh 1
@@ -219,7 +169,7 @@ 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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Pending_Element.types.hh line 1
 
 #ifndef PWL_Pending_Element_types_hh
 #define PWL_Pending_Element_types_hh 1
@@ -231,7 +181,7 @@ 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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Pending_List.types.hh line 1
 
 #ifndef PWL_Pending_List_types_hh
 #define PWL_Pending_List_types_hh 1
@@ -243,7 +193,7 @@ 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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Time.types.hh line 1
 
 #ifndef PWL_Time_types_hh
 #define PWL_Time_types_hh 1
@@ -255,7 +205,7 @@ class Time;
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Time_types_hh)
-// Automatically generated from PPL source file ../src/Watchdog.types.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Watchdog.types.hh line 1
 
 #ifndef PWL_Watchdog_types_hh
 #define PWL_Watchdog_types_hh 1
@@ -267,14 +217,14 @@ namespace Parma_Watchdog_Library {
 }
 
 #endif // !defined(PWL_Watchdog_types_hh)
-// Automatically generated from PPL source file ../src/Handler.defs.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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 27
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Handler.defs.hh line 27
 
 //! Abstract base class for handlers of the watchdog events.
 class Parma_Watchdog_Library::Handler {
@@ -336,7 +286,7 @@ private:
   void (*f)();
 };
 
-// Automatically generated from PPL source file ../src/Handler.inlines.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Handler.inlines.hh line 1
 /* Handler and derived classes' implementation: inline functions.
 */
 
@@ -375,17 +325,17 @@ Handler_Function::act() const {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Handler_inlines_hh)
-// Automatically generated from PPL source file ../src/Handler.defs.hh line 89
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Handler.defs.hh line 89
 
 #endif // !defined(PWL_Handler_defs_hh)
-// Automatically generated from PPL source file ../src/Time.defs.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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 27
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Time.defs.hh line 27
 
 namespace Parma_Watchdog_Library {
 
@@ -468,7 +418,7 @@ private:
   unsigned long microsecs;
 };
 
-// Automatically generated from PPL source file ../src/Time.inlines.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Time.inlines.hh line 1
 /* Time class implementation: inline functions.
 */
 
@@ -594,17 +544,17 @@ operator>=(const Time& x, const Time& y) {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Time_inlines_hh)
-// Automatically generated from PPL source file ../src/Time.defs.hh line 110
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Time.defs.hh line 110
 
 #endif // !defined(PWL_Time_defs_hh)
-// Automatically generated from PPL source file ../src/Doubly_Linked_Object.defs.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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 29
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Doubly_Linked_Object.defs.hh line 29
 
 //! A (base) class for doubly linked objects.
 class Parma_Watchdog_Library::Doubly_Linked_Object {
@@ -638,7 +588,7 @@ private:
   template <typename T> friend class EList_Iterator;
 };
 
-// Automatically generated from PPL source file ../src/Doubly_Linked_Object.inlines.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Doubly_Linked_Object.inlines.hh line 1
 /* Doubly_Linked_Object class implementation: inline functions.
 */
 
@@ -689,17 +639,17 @@ Doubly_Linked_Object::~Doubly_Linked_Object() {
 } // 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 63
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Doubly_Linked_Object.defs.hh line 63
 
 #endif // !defined(PWL_Doubly_Linked_Object_defs_hh)
-// Automatically generated from PPL source file ../src/EList_Iterator.defs.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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 28
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/EList_Iterator.defs.hh line 28
 
 namespace Parma_Watchdog_Library {
 
@@ -753,14 +703,14 @@ private:
   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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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 27
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/EList_Iterator.inlines.hh line 27
 
 namespace Parma_Watchdog_Library {
 
@@ -839,17 +789,17 @@ operator!=(const EList_Iterator<T>& x, const EList_Iterator<T>& y) {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_EList_Iterator_inlines_hh)
-// Automatically generated from PPL source file ../src/EList_Iterator.defs.hh line 82
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/EList_Iterator.defs.hh line 82
 
 #endif // !defined(PWL_EList_Iterator_defs_hh)
-// Automatically generated from PPL source file ../src/EList.defs.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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 28
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/EList.defs.hh line 28
 
 /*! \brief
   A simple kind of embedded list (i.e., a doubly linked objects
@@ -907,7 +857,7 @@ public:
   bool OK() const;
 };
 
-// Automatically generated from PPL source file ../src/EList.inlines.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/EList.inlines.hh line 1
 /* EList class implementation: inline functions.
 */
 
@@ -1001,17 +951,17 @@ EList<T>::OK() const {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_EList_inlines_hh)
-// Automatically generated from PPL source file ../src/EList.defs.hh line 86
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/EList.defs.hh line 86
 
 #endif // !defined(PWL_EList_defs_hh)
-// Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Pending_Element.defs.hh line 30
 
 //! A class for pending watchdog events with embedded links.
 /*!
@@ -1055,7 +1005,7 @@ private:
   bool* p_f;
 };
 
-// Automatically generated from PPL source file ../src/Pending_Element.inlines.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Pending_Element.inlines.hh line 1
 /* Pending_Element class implementation: inline functions.
 */
 
@@ -1100,17 +1050,17 @@ Pending_Element::expired_flag() const {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Pending_Element_inlines_hh)
-// Automatically generated from PPL source file ../src/Pending_Element.defs.hh line 74
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Pending_Element.defs.hh line 74
 
 #endif // !defined(PWL_Pending_Element_defs_hh)
-// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Pending_List.defs.hh line 31
 
 //! An ordered list for recording pending watchdog events.
 class Parma_Watchdog_Library::Pending_List {
@@ -1152,7 +1102,7 @@ private:
   EList<Pending_Element> free_list;
 };
 
-// Automatically generated from PPL source file ../src/Pending_List.inlines.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Pending_List.inlines.hh line 1
 /* Pending_List class implementation: inline functions.
 */
 
@@ -1199,17 +1149,17 @@ Pending_List::erase(Iterator position) {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Pending_List_inlines_hh)
-// Automatically generated from PPL source file ../src/Pending_List.defs.hh line 73
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Pending_List.defs.hh line 73
 
 #endif // !defined(PWL_Pending_List_defs_hh)
-// Automatically generated from PPL source file ../src/Watchdog.defs.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/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 30
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Watchdog.defs.hh line 30
 #include <cassert>
 
 #ifdef PWL_HAVE_SYS_TIME_H
@@ -1310,7 +1260,7 @@ public:
 
 } // namespace Parma_Watchdog_Library
 
-// Automatically generated from PPL source file ../src/Watchdog.inlines.hh line 1
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Watchdog.inlines.hh line 1
 /* Watchdog and associated classes' implementation: inline functions.
 */
 
@@ -1319,7 +1269,7 @@ public:
 
 #include <stdexcept>
 
-// Automatically generated from PPL source file ../src/Watchdog.inlines.hh line 29
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Watchdog.inlines.hh line 29
 
 namespace Parma_Watchdog_Library {
 
@@ -1372,7 +1322,7 @@ Init::~Init() {
 } // namespace Parma_Watchdog_Library
 
 #endif // !defined(PWL_Watchdog_inlines_hh)
-// Automatically generated from PPL source file ../src/Watchdog.defs.hh line 131
+// Automatically generated from PPL source file /home/bagnara/ppl/ppl/Watchdog/src/Watchdog.defs.hh line 131
 
 namespace {
 
diff --git a/Watchdog/src/pwl_header.hh b/Watchdog/src/pwl_header.hh
index 320fb89..d0d9700 100644
--- a/Watchdog/src/pwl_header.hh
+++ b/Watchdog/src/pwl_header.hh
@@ -1,5 +1,5 @@
 /* This is the header file of the Parma Watchdog Library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/tests/Makefile.am b/Watchdog/tests/Makefile.am
index 5820bcd..134b023 100644
--- a/Watchdog/tests/Makefile.am
+++ b/Watchdog/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
diff --git a/Watchdog/tests/Makefile.in b/Watchdog/tests/Makefile.in
index 8c912bf..34df493 100644
--- a/Watchdog/tests/Makefile.in
+++ b/Watchdog/tests/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -61,11 +61,11 @@ 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/ax_prefix_config_h.m4 \
-	$(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__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
diff --git a/Watchdog/tests/pwl_test.cc b/Watchdog/tests/pwl_test.cc
index 67b4fb2..f328518 100644
--- a/Watchdog/tests/pwl_test.cc
+++ b/Watchdog/tests/pwl_test.cc
@@ -1,5 +1,5 @@
 /* Implementation of utility functions used in test programs.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
@@ -43,6 +43,7 @@ uncaught_exception_handler() {
   exit(1);
 }
 
+#ifdef HAVE_SIGINFO_T
 void
 fpe_handler(int sig, siginfo_t* sip, void*) {
   if (sig != SIGFPE) {
@@ -112,6 +113,7 @@ fpe_handler(int sig, siginfo_t* sip, void*) {
   }
   exit(1);
 }
+#endif // defined(HAVE_SIGINFO_T)
 
 } // namespace
 
@@ -119,6 +121,7 @@ namespace Parma_Watchdog_Library {
 
 namespace Test {
 
+#ifdef HAVE_SIGINFO_T
 void
 set_handlers() {
   struct sigaction action;
@@ -130,6 +133,7 @@ set_handlers() {
 	      << std::endl;
     abort();
   }
+#endif // defined(HAVE_SIGINFO_T)
 
   std::set_unexpected(unexpected_exception_handler);
   std::set_terminate(uncaught_exception_handler);
diff --git a/Watchdog/tests/pwl_test.hh b/Watchdog/tests/pwl_test.hh
index a9058b3..0d35090 100644
--- a/Watchdog/tests/pwl_test.hh
+++ b/Watchdog/tests/pwl_test.hh
@@ -1,5 +1,5 @@
 /* Header file for test programs.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/tests/simple1.cc b/Watchdog/tests/simple1.cc
index 9681a81..d6b9fa7 100644
--- a/Watchdog/tests/simple1.cc
+++ b/Watchdog/tests/simple1.cc
@@ -1,5 +1,5 @@
 /* Some simple tests for the basic functionality of the PWL.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Watchdog Library (PWL).
 
diff --git a/Watchdog/utils/Makefile.am b/Watchdog/utils/Makefile.am
index 58268db..8ee0a3f 100644
--- a/Watchdog/utils/Makefile.am
+++ b/Watchdog/utils/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
diff --git a/Watchdog/utils/Makefile.in b/Watchdog/utils/Makefile.in
index 8d96163..a262436 100644
--- a/Watchdog/utils/Makefile.in
+++ b/Watchdog/utils/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Watchdog Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Watchdog Library (PWL).
 #
@@ -58,11 +58,11 @@ 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/ax_prefix_config_h.m4 \
-	$(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__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
diff --git a/Watchdog/utils/build_header.in b/Watchdog/utils/build_header.in
index 178cea1..0f242d6 100644
--- a/Watchdog/utils/build_header.in
+++ b/Watchdog/utils/build_header.in
@@ -6,7 +6,7 @@ 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/aclocal.m4 b/aclocal.m4
index f8ce2d8..1ed770c 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -19,6 +19,6645 @@ 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'.])])
 
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+
+# serial 52 AC_PROG_LIBTOOL
+
+
+# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
+# -----------------------------------------------------------
+# If this macro is not defined by Autoconf, define it here.
+m4_ifdef([AC_PROVIDE_IFELSE],
+         [],
+         [m4_define([AC_PROVIDE_IFELSE],
+	         [m4_ifdef([AC_PROVIDE_$1],
+		           [$2], [$3])])])
+
+
+# AC_PROG_LIBTOOL
+# ---------------
+AC_DEFUN([AC_PROG_LIBTOOL],
+[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
+dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
+dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
+  AC_PROVIDE_IFELSE([AC_PROG_CXX],
+    [AC_LIBTOOL_CXX],
+    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
+  ])])
+dnl And a similar setup for Fortran 77 support
+  AC_PROVIDE_IFELSE([AC_PROG_F77],
+    [AC_LIBTOOL_F77],
+    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
+])])
+
+dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
+dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
+dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
+  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+    [AC_LIBTOOL_GCJ],
+    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+      [AC_LIBTOOL_GCJ],
+      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
+	[AC_LIBTOOL_GCJ],
+      [ifdef([AC_PROG_GCJ],
+	     [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([A][M_PROG_GCJ],
+	     [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
+       ifdef([LT_AC_PROG_GCJ],
+	     [define([LT_AC_PROG_GCJ],
+		defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+])])# AC_PROG_LIBTOOL
+
+
+# _AC_PROG_LIBTOOL
+# ----------------
+AC_DEFUN([_AC_PROG_LIBTOOL],
+[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
+AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+# Prevent multiple expansion
+define([AC_PROG_LIBTOOL], [])
+])# _AC_PROG_LIBTOOL
+
+
+# AC_LIBTOOL_SETUP
+# ----------------
+AC_DEFUN([AC_LIBTOOL_SETUP],
+[AC_PREREQ(2.50)dnl
+AC_REQUIRE([AC_ENABLE_SHARED])dnl
+AC_REQUIRE([AC_ENABLE_STATIC])dnl
+AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_PROG_LD])dnl
+AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
+AC_REQUIRE([AC_PROG_NM])dnl
+
+AC_REQUIRE([AC_PROG_LN_S])dnl
+AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
+# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
+AC_REQUIRE([AC_OBJEXT])dnl
+AC_REQUIRE([AC_EXEEXT])dnl
+dnl
+AC_LIBTOOL_SYS_MAX_CMD_LEN
+AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+AC_LIBTOOL_OBJDIR
+
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+_LT_AC_PROG_ECHO_BACKSLASH
+
+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
+
+# 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']
+
+# 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 avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Constants:
+rm="rm -f"
+
+# Global variables:
+default_ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+ltmain="$ac_aux_dir/ltmain.sh"
+ofile="$default_ofile"
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+AC_CHECK_TOOL(AR, ar, false)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_CHECK_TOOL(STRIP, strip, :)
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+test -z "$AS" && AS=as
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+test -z "$LD" && LD=ld
+test -z "$LN_S" && LN_S="ln -s"
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+test -z "$NM" && NM=nm
+test -z "$SED" && SED=sed
+test -z "$OBJDUMP" && OBJDUMP=objdump
+test -z "$RANLIB" && RANLIB=:
+test -z "$STRIP" && STRIP=:
+test -z "$ac_objext" && ac_objext=o
+
+# 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
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    AC_PATH_MAGIC
+  fi
+  ;;
+esac
+
+_LT_REQUIRED_DARWIN_CHECKS
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+enable_win32_dll=yes, enable_win32_dll=no)
+
+AC_ARG_ENABLE([libtool-lock],
+    [AC_HELP_STRING([--disable-libtool-lock],
+	[avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+AC_ARG_WITH([pic],
+    [AC_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=default
+
+# Use C for the default configuration in the libtool script
+tagname=
+AC_LIBTOOL_LANG_C_CONFIG
+_LT_AC_TAGCONFIG
+])# AC_LIBTOOL_SETUP
+
+
+# _LT_AC_SYS_COMPILER
+# -------------------
+AC_DEFUN([_LT_AC_SYS_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])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_AC_SYS_COMPILER
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+AC_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 "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+AC_DEFUN([_LT_COMPILER_BOILERPLATE],
+[AC_REQUIRE([LT_AC_PROG_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.
+AC_DEFUN([_LT_LINKER_BOILERPLATE],
+[AC_REQUIRE([LT_AC_PROG_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
+# --------------------------
+# Check for some things on darwin
+AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+
+    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.
+   echo "int foo(void){return 1;}" > conftest.c
+   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+     -dynamiclib ${wl}-single_module conftest.c
+   if test -f libconftest.dylib; then
+     lt_cv_apple_cc_single_mod=yes
+     rm -rf libconftest.dylib*
+   fi
+   rm conftest.c
+      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"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[0123]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*)
+      # 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" != ":"; then
+      _lt_dsymutil="~$DSYMUTIL \$lib || :"
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+# _LT_AC_SYS_LIBPATH_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.
+AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
+[AC_REQUIRE([LT_AC_PROG_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_AC_SYS_LIBPATH_AIX
+
+
+# _LT_AC_SHELL_INIT(ARG)
+# ----------------------
+AC_DEFUN([_LT_AC_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+	 [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_AC_SHELL_INIT
+
+
+# _LT_AC_PROG_ECHO_BACKSLASH
+# --------------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
+[_LT_AC_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+echo=${ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $echo works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+[$]*
+EOF
+  exit 0
+fi
+
+# 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
+
+if test -z "$ECHO"; then
+if test "X${echo_test_string+set}" != Xset; then
+# find a string as large as possible, as long as the shell can cope with it
+  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
+       echo_test_string=`eval $cmd` &&
+       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
+    then
+      break
+    fi
+  done
+fi
+
+if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+   test "X$echo_testing_string" = "X$echo_test_string"; then
+  :
+else
+  # The Solaris, AIX, and Digital Unix default echo programs unquote
+  # backslashes.  This makes it impossible to quote backslashes using
+  #   echo "$something" | sed 's/\\/\\\\/g'
+  #
+  # So, first we look for a working echo in the user's PATH.
+
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for dir in $PATH /usr/ucb; do
+    IFS="$lt_save_ifs"
+    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      echo="$dir/echo"
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  if test "X$echo" = Xecho; then
+    # We didn't find a better echo, so look for alternatives.
+    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
+       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
+       test "X$echo_testing_string" = "X$echo_test_string"; then
+      # This shell has a builtin print -r that does the trick.
+      echo='print -r'
+    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
+	 test "X$CONFIG_SHELL" != X/bin/ksh; then
+      # If we have ksh, try running configure again with it.
+      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+      export ORIGINAL_CONFIG_SHELL
+      CONFIG_SHELL=/bin/ksh
+      export CONFIG_SHELL
+      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+    else
+      # Try using printf.
+      echo='printf %s\n'
+      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
+	 echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
+	 test "X$echo_testing_string" = "X$echo_test_string"; then
+	# Cool, printf works
+	:
+      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+	export CONFIG_SHELL
+	SHELL="$CONFIG_SHELL"
+	export SHELL
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+	   test "X$echo_testing_string" = 'X\t' &&
+	   echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+	   test "X$echo_testing_string" = "X$echo_test_string"; then
+	echo="$CONFIG_SHELL [$]0 --fallback-echo"
+      else
+	# maybe with a smaller string...
+	prev=:
+
+	for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+	  if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
+	  then
+	    break
+	  fi
+	  prev="$cmd"
+	done
+
+	if test "$prev" != 'sed 50q "[$]0"'; then
+	  echo_test_string=`eval $prev`
+	  export echo_test_string
+	  exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+	else
+	  # Oops.  We lost completely, so just stick with echo.
+	  echo=echo
+	fi
+      fi
+    fi
+  fi
+fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+ECHO=$echo
+if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(ECHO)
+])])# _LT_AC_PROG_ECHO_BACKSLASH
+
+
+# _LT_AC_LOCK
+# -----------
+AC_DEFUN([_LT_AC_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+    [AC_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 __oline__ "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*|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*)
+      libsuff=64
+      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*)
+          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_TRY_LINK([],[],[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*
+  ;;
+
+AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
+[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+  ])
+esac
+
+need_locks="$enable_libtool_lock"
+
+])# _LT_AC_LOCK
+
+
+# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_SED])
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+  ifelse([$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:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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
+    ifelse([$5], , :, [$5])
+else
+    ifelse([$6], , :, [$6])
+fi
+])# AC_LIBTOOL_COMPILER_OPTION
+
+
+# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                          [ACTION-SUCCESS], [ACTION-FAILURE])
+# ------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
+[AC_REQUIRE([LT_AC_PROG_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 "X$_lt_linker_boilerplate" | $Xsed -e '/^$/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
+    ifelse([$4], , :, [$4])
+else
+    ifelse([$5], , :, [$5])
+fi
+])# AC_LIBTOOL_LINKER_OPTION
+
+
+# AC_LIBTOOL_SYS_MAX_CMD_LEN
+# --------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
+[# 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*)
+    # 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;
+    ;;
+
+  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
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
+	       = "XX$teststring") >/dev/null 2>&1 &&
+	      new_result=`expr "X$teststring" : ".*" 2>&1` &&
+	      lt_cv_sys_max_cmd_len=$new_result &&
+	      test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      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
+])# AC_LIBTOOL_SYS_MAX_CMD_LEN
+
+
+# _LT_AC_CHECK_DLFCN
+# ------------------
+AC_DEFUN([_LT_AC_CHECK_DLFCN],
+[AC_CHECK_HEADERS(dlfcn.h)dnl
+])# _LT_AC_CHECK_DLFCN
+
+
+# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ---------------------------------------------------------------------
+AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_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 <<EOF
+[#line __oline__ "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
+
+#ifdef __cplusplus
+extern "C" void exit (int);
+#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;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+    exit (status);
+}]
+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_AC_TRY_DLOPEN_SELF
+
+
+# AC_LIBTOOL_DLOPEN_SELF
+# ----------------------
+AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
+[AC_REQUIRE([_LT_AC_CHECK_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*)
+    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_AC_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_AC_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
+])# AC_LIBTOOL_DLOPEN_SELF
+
+
+# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
+# ---------------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler
+AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_AC_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:__oline__: $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:__oline__: \$? = $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 "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/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_AC_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 ..
+   rmdir conftest
+   $rm conftest*
+])
+])# AC_LIBTOOL_PROG_CC_C_O
+
+
+# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
+# -----------------------------------------
+# Check to see if we can do hard links to lock some files if needed
+AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
+[AC_REQUIRE([_LT_AC_LOCK])dnl
+
+hard_links="nottested"
+if test "$_LT_AC_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
+])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
+
+
+# AC_LIBTOOL_OBJDIR
+# -----------------
+AC_DEFUN([AC_LIBTOOL_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
+])# AC_LIBTOOL_OBJDIR
+
+
+# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
+# ----------------------------------------------
+# Check hardcoding attributes.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_AC_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
+   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
+   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existant directories.
+  if test "$_LT_AC_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_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_AC_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; 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
+])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
+
+
+# AC_LIBTOOL_SYS_LIB_STRIP
+# ------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
+[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
+])# AC_LIBTOOL_SYS_LIB_STRIP
+
+
+# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+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"
+m4_if($1,[],[
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
+    # 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 -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # 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; }
+}'`
+  sys_lib_search_path_spec=`echo $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+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*)
+  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=`$echo "X$lib" | $Xsed -e '\''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'
+  ;;
+
+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*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32*)
+    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'
+    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="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        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
+      ;;
+    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}${versuffix}$shared_ext ${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
+  ;;
+
+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'
+  ;;
+
+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)
+  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
+  # 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
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+
+  # 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;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $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=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
+  ;;
+
+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
+      export_dynamic_flag_spec='${wl}-Blargedynsym'
+      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
+  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'
+    shlibpath_overrides_runpath=no
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    shlibpath_overrides_runpath=yes
+    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'
+  ;;
+
+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
+
+AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
+[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
+sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
+[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
+sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+
+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
+])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
+
+
+# _LT_AC_TAGCONFIG
+# ----------------
+AC_DEFUN([_LT_AC_TAGCONFIG],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_ARG_WITH([tags],
+    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
+        [include additional configurations @<:@automatic@:>@])],
+    [tagnames="$withval"])
+
+if test -f "$ltmain" && test -n "$tagnames"; then
+  if test ! -f "${ofile}"; then
+    AC_MSG_WARN([output file `$ofile' does not exist])
+  fi
+
+  if test -z "$LTCC"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
+    if test -z "$LTCC"; then
+      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
+    else
+      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
+    fi
+  fi
+  if test -z "$LTCFLAGS"; then
+    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
+  fi
+
+  # Extract list of available tagged configurations in $ofile.
+  # Note that this assumes the entire list is on one line.
+  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
+
+  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+  for tagname in $tagnames; do
+    IFS="$lt_save_ifs"
+    # Check whether tagname contains only valid characters
+    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
+    "") ;;
+    *)  AC_MSG_ERROR([invalid tag name: $tagname])
+	;;
+    esac
+
+    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
+    then
+      AC_MSG_ERROR([tag name \"$tagname\" already exists])
+    fi
+
+    # Update the list of available tags.
+    if test -n "$tagname"; then
+      echo appending configuration tag \"$tagname\" to $ofile
+
+      case $tagname in
+      CXX)
+	if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+	    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+	    (test "X$CXX" != "Xg++"))) ; then
+	  AC_LIBTOOL_LANG_CXX_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      F77)
+	if test -n "$F77" && test "X$F77" != "Xno"; then
+	  AC_LIBTOOL_LANG_F77_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      GCJ)
+	if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
+	  AC_LIBTOOL_LANG_GCJ_CONFIG
+	else
+	  tagname=""
+	fi
+	;;
+
+      RC)
+	AC_LIBTOOL_LANG_RC_CONFIG
+	;;
+
+      *)
+	AC_MSG_ERROR([Unsupported tag name: $tagname])
+	;;
+      esac
+
+      # Append the new tag name to the list of available tags.
+      if test -n "$tagname" ; then
+      available_tags="$available_tags $tagname"
+    fi
+    fi
+  done
+  IFS="$lt_save_ifs"
+
+  # Now substitute the updated list of available tags.
+  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
+    mv "${ofile}T" "$ofile"
+    chmod +x "$ofile"
+  else
+    rm -f "${ofile}T"
+    AC_MSG_ERROR([unable to update list of available tagged configurations.])
+  fi
+fi
+])# _LT_AC_TAGCONFIG
+
+
+# AC_LIBTOOL_DLOPEN
+# -----------------
+# enable checks for dlopen support
+AC_DEFUN([AC_LIBTOOL_DLOPEN],
+ [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_DLOPEN
+
+
+# AC_LIBTOOL_WIN32_DLL
+# --------------------
+# declare package support for building win32 DLLs
+AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
+])# AC_LIBTOOL_WIN32_DLL
+
+
+# AC_ENABLE_SHARED([DEFAULT])
+# ---------------------------
+# implement the --enable-shared flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_SHARED],
+[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([shared],
+    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]AC_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=]AC_ENABLE_SHARED_DEFAULT)
+])# AC_ENABLE_SHARED
+
+
+# AC_DISABLE_SHARED
+# -----------------
+# set the default shared flag to --disable-shared
+AC_DEFUN([AC_DISABLE_SHARED],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_SHARED(no)
+])# AC_DISABLE_SHARED
+
+
+# AC_ENABLE_STATIC([DEFAULT])
+# ---------------------------
+# implement the --enable-static flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_STATIC],
+[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([static],
+    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]AC_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=]AC_ENABLE_STATIC_DEFAULT)
+])# AC_ENABLE_STATIC
+
+
+# AC_DISABLE_STATIC
+# -----------------
+# set the default static flag to --disable-static
+AC_DEFUN([AC_DISABLE_STATIC],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_STATIC(no)
+])# AC_DISABLE_STATIC
+
+
+# AC_ENABLE_FAST_INSTALL([DEFAULT])
+# ---------------------------------
+# implement the --enable-fast-install flag
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+AC_DEFUN([AC_ENABLE_FAST_INSTALL],
+[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
+AC_ARG_ENABLE([fast-install],
+    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]AC_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=]AC_ENABLE_FAST_INSTALL_DEFAULT)
+])# AC_ENABLE_FAST_INSTALL
+
+
+# AC_DISABLE_FAST_INSTALL
+# -----------------------
+# set the default to --disable-fast-install
+AC_DEFUN([AC_DISABLE_FAST_INSTALL],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+AC_ENABLE_FAST_INSTALL(no)
+])# AC_DISABLE_FAST_INSTALL
+
+
+# AC_LIBTOOL_PICMODE([MODE])
+# --------------------------
+# implement the --with-pic flag
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+AC_DEFUN([AC_LIBTOOL_PICMODE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+pic_mode=ifelse($#,1,$1,default)
+])# AC_LIBTOOL_PICMODE
+
+
+# AC_PROG_EGREP
+# -------------
+# This is predefined starting with Autoconf 2.54, so this conditional
+# definition can be removed once we require Autoconf 2.54 or later.
+m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
+[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
+   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
+    then ac_cv_prog_egrep='grep -E'
+    else ac_cv_prog_egrep='egrep'
+    fi])
+ EGREP=$ac_cv_prog_egrep
+ AC_SUBST([EGREP])
+])])
+
+
+# AC_PATH_TOOL_PREFIX
+# -------------------
+# find a file program which can recognize shared library
+AC_DEFUN([AC_PATH_TOOL_PREFIX],
+[AC_REQUIRE([AC_PROG_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="ifelse([$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 <<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
+
+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
+])# AC_PATH_TOOL_PREFIX
+
+
+# AC_PATH_MAGIC
+# -------------
+# find a file program which can recognize a shared library
+AC_DEFUN([AC_PATH_MAGIC],
+[AC_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
+    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# AC_PATH_MAGIC
+
+
+# AC_PROG_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([AC_PROG_LD],
+[AC_ARG_WITH([gnu-ld],
+    [AC_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])
+AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])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])
+AC_PROG_LD_GNU
+])# AC_PROG_LD
+
+
+# AC_PROG_LD_GNU
+# --------------
+AC_DEFUN([AC_PROG_LD_GNU],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+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
+])# AC_PROG_LD_GNU
+
+
+# AC_PROG_LD_RELOAD_FLAG
+# ----------------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
+[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
+])# AC_PROG_LD_RELOAD_FLAG
+
+
+# AC_DEPLIBS_CHECK_METHOD
+# -----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
+[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.
+  if ( 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
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+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
+  ;;
+
+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]) 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)
+  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=unknown
+  ;;
+
+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
+  ;;
+
+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
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  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
+])# AC_DEPLIBS_CHECK_METHOD
+
+
+# AC_PROG_NM
+# ----------
+# find the pathname to a BSD-compatible name lister
+AC_DEFUN([AC_PROG_NM],
+[AC_CACHE_CHECK([for BSD-compatible 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
+  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
+fi])
+NM="$lt_cv_path_NM"
+])# AC_PROG_NM
+
+
+# AC_CHECK_LIBM
+# -------------
+# check for math library
+AC_DEFUN([AC_CHECK_LIBM],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-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_CHECK_LIBM
+
+
+# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl convenience library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-convenience to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
+# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
+# (note the single quotes!).  If your package is not flat and you're not
+# using automake, define top_builddir and top_srcdir appropriately in
+# the Makefiles.
+AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  case $enable_ltdl_convenience in
+  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
+  "") enable_ltdl_convenience=yes
+      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
+  esac
+  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
+  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_CONVENIENCE
+
+
+# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
+# -----------------------------------
+# sets LIBLTDL to the link flags for the libltdl installable library and
+# LTDLINCL to the include flags for the libltdl header and adds
+# --enable-ltdl-install to the configure arguments.  Note that
+# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
+# and an installed libltdl is not found, it is assumed to be `libltdl'.
+# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
+# '${top_srcdir}/' (note the single quotes!).  If your package is not
+# flat and you're not using automake, define top_builddir and top_srcdir
+# appropriately in the Makefiles.
+# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
+AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
+[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
+  AC_CHECK_LIB(ltdl, lt_dlinit,
+  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
+  [if test x"$enable_ltdl_install" = xno; then
+     AC_MSG_WARN([libltdl not installed, but installation disabled])
+   else
+     enable_ltdl_install=yes
+   fi
+  ])
+  if test x"$enable_ltdl_install" = x"yes"; then
+    ac_configure_args="$ac_configure_args --enable-ltdl-install"
+    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
+    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
+  else
+    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
+    LIBLTDL="-lltdl"
+    LTDLINCL=
+  fi
+  # For backwards non-gettext consistent compatibility...
+  INCLTDL="$LTDLINCL"
+])# AC_LIBLTDL_INSTALLABLE
+
+
+# AC_LIBTOOL_CXX
+# --------------
+# enable support for C++ libraries
+AC_DEFUN([AC_LIBTOOL_CXX],
+[AC_REQUIRE([_LT_AC_LANG_CXX])
+])# AC_LIBTOOL_CXX
+
+
+# _LT_AC_LANG_CXX
+# ---------------
+AC_DEFUN([_LT_AC_LANG_CXX],
+[AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
+])# _LT_AC_LANG_CXX
+
+# _LT_AC_PROG_CXXCPP
+# ------------------
+AC_DEFUN([_LT_AC_PROG_CXXCPP],
+[
+AC_REQUIRE([AC_PROG_CXX])
+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
+fi
+])# _LT_AC_PROG_CXXCPP
+
+# AC_LIBTOOL_F77
+# --------------
+# enable support for Fortran 77 libraries
+AC_DEFUN([AC_LIBTOOL_F77],
+[AC_REQUIRE([_LT_AC_LANG_F77])
+])# AC_LIBTOOL_F77
+
+
+# _LT_AC_LANG_F77
+# ---------------
+AC_DEFUN([_LT_AC_LANG_F77],
+[AC_REQUIRE([AC_PROG_F77])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
+])# _LT_AC_LANG_F77
+
+
+# AC_LIBTOOL_GCJ
+# --------------
+# enable support for GCJ libraries
+AC_DEFUN([AC_LIBTOOL_GCJ],
+[AC_REQUIRE([_LT_AC_LANG_GCJ])
+])# AC_LIBTOOL_GCJ
+
+
+# _LT_AC_LANG_GCJ
+# ---------------
+AC_DEFUN([_LT_AC_LANG_GCJ],
+[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
+    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
+      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
+	 [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
+	   [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
+])# _LT_AC_LANG_GCJ
+
+
+# AC_LIBTOOL_RC
+# -------------
+# enable support for Windows resource files
+AC_DEFUN([AC_LIBTOOL_RC],
+[AC_REQUIRE([LT_AC_PROG_RC])
+_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
+])# AC_LIBTOOL_RC
+
+
+# AC_LIBTOOL_LANG_C_CONFIG
+# ------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
+AC_DEFUN([_LT_AC_LANG_C_CONFIG],
+[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_AC_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_AC_SYS_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+AC_LIBTOOL_SYS_LIB_STRIP
+AC_LIBTOOL_DLOPEN_SELF
+
+# 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])
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_C_CONFIG
+
+
+# AC_LIBTOOL_LANG_CXX_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
+AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
+[AC_LANG_PUSH(C++)
+AC_REQUIRE([AC_PROG_CXX])
+AC_REQUIRE([_LT_AC_PROG_CXXCPP])
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Dependencies to place before and after the object being linked:
+_LT_AC_TAGVAR(predep_objects, $1)=
+_LT_AC_TAGVAR(postdep_objects, $1)=
+_LT_AC_TAGVAR(predeps, $1)=
+_LT_AC_TAGVAR(postdeps, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_AC_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(int, char *[[]]) { return(0); }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_AC_SYS_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_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# We don't want -fno-exception wen compiling C++ code, so set the
+# no_builtin_flag separately
+if test "$GXX" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+else
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+fi
+
+if test "$GXX" = yes; then
+  # Set up default GNU C++ configuration
+
+  AC_PROG_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_AC_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_AC_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 "\-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_AC_TAGVAR(ld_shlibs, $1)=yes
+case $host_os in
+  aix3*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_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_AC_TAGVAR(archive_cmds, $1)=''
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+    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_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_AC_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
+
+    # It seems that -bexpall does not export symbols beginning with
+    # underscore (_), so it is better to generate a list of symbols to export.
+    _LT_AC_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_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+      # Determine the default libpath from the value encoded in an empty executable.
+      _LT_AC_SYS_LIBPATH_AIX
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+      _LT_AC_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 echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+     else
+      if test "$host_cpu" = ia64; then
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	_LT_AC_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_AC_SYS_LIBPATH_AIX
+	_LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	# Exported symbols can be pulled into shared objects from archives
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	# This is similar to how AIX traditionally builds its shared libraries.
+	_LT_AC_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_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+
+  chorus*)
+    case $cc_basename in
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+
+  cygwin* | mingw* | pw32*)
+    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+    # as there is no search path for DLLs.
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+    _LT_AC_TAGVAR(always_export_symbols, $1)=no
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+      _LT_AC_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_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+  ;;
+      darwin* | rhapsody*)
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+      if test "$GXX" = yes ; then
+      output_verbose_link_cmd='echo'
+      _LT_AC_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_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+      _LT_AC_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_AC_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}"
+      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+        _LT_AC_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_AC_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
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
+          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+      fi
+        ;;
+
+  dgux*)
+    case $cc_basename in
+      ec++*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      ghcx*)
+	# Green Hills C++ Compiler
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  freebsd[[12]]*)
+    # C++ shared libraries reported to be fairly broken before switch to ELF
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  freebsd-elf*)
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    ;;
+  freebsd* | dragonfly*)
+    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+    # conventions
+    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+    ;;
+  gnu*)
+    ;;
+  hpux9*)
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+    _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    aCC*)
+      _LT_AC_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) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
+      ;;
+    *)
+      if test "$GXX" = yes; then
+        _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+    ;;
+  hpux10*|hpux11*)
+    if test $with_gnu_ld = no; then
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+      case $host_cpu in
+      hppa*64*|ia64*) ;;
+      *)
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        ;;
+      esac
+    fi
+    case $host_cpu in
+    hppa*64*|ia64*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+    *)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      aCC*)
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_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; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes; then
+	  if test $with_gnu_ld = no; then
+	    case $host_cpu in
+	    hppa*64*)
+	      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	      ;;
+	    ia64*)
+	      _LT_AC_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_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  interix[[3-9]]*)
+    _LT_AC_TAGVAR(hardcode_direct, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+    _LT_AC_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_AC_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_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -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_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	  else
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
+	  fi
+	fi
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+	;;
+    esac
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+    ;;
+  linux* | k*bsd*-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_AC_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_AC_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; echo $list'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
+	_LT_AC_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_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	;;
+      icpc*)
+	# 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_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+  	  _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	  _LT_AC_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_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	;;
+      pgCC* | pgcpp*)
+        # Portland Group C++ compiler
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+  	_LT_AC_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'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+	_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+        ;;
+      cxx*)
+	# Compaq C++
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_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=`echo $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; echo $list'
+	;;
+      *)
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C++ 5.9
+	  _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	  _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_AC_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; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+
+	  # Not sure whether something based on
+	  # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+	  # would be better.
+	  output_verbose_link_cmd='echo'
+
+	  # 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_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	  ;;
+	esac
+	;;
+    esac
+    ;;
+  lynxos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  m88k*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  mvs*)
+    case $cc_basename in
+      cxx*)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  netbsd*)
+    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_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::"'
+    ;;
+  openbsd2*)
+    # C++ shared libraries are fairly broken
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  openbsd*)
+    if test -f /usr/libexec/ld.so; then
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      _LT_AC_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_AC_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_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      fi
+      output_verbose_link_cmd='echo'
+    else
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    fi
+    ;;
+  osf3*)
+    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_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	_LT_AC_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=`echo $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; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	  _LT_AC_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" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_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 "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  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_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	# Archives containing C++ object files must be created using
+	# the KAI C++ compiler.
+	_LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
+	;;
+      RCC*)
+	# Rational C++ 2.4.1
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      cxx*)
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	_LT_AC_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=`echo $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; echo $list'
+	;;
+      *)
+	if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	 _LT_AC_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" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	  _LT_AC_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 "\-L"'
+
+	else
+	  # FIXME: insert proper C++ library support
+	  _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+    esac
+    ;;
+  psos*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  sunos4*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.x
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      lcc*)
+	# Lucid
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  solaris*)
+    case $cc_basename in
+      CC*)
+	# Sun C++ 4.2, 5.x and Centerline C++
+        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
+	_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	_LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	_LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	    ;;
+	esac
+	_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+	output_verbose_link_cmd='echo'
+
+	# 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_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	;;
+      gcx*)
+	# Green Hills C++ Compiler
+	_LT_AC_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_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	  if $CC --version | grep -v '^2\.7' > /dev/null; then
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_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 \"\-L\""
+	  else
+	    # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	    # platform.
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	    _LT_AC_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 \"\-L\""
+	  fi
+
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	  case $host_os in
+	  solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+	  *)
+	    _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_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.
+    # 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.
+    # So that behaviour is only enabled if SCOABSPATH is set to a
+    # non-empty value in the environment.  Most likely only useful for
+    # creating official distributions of packages.
+    # This is a hack until libtool officially supports absolute path
+    # names for shared libraries.
+    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+    runpath_var='LD_RUN_PATH'
+
+    case $cc_basename in
+      CC*)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	;;
+      *)
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$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_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+      *)
+	# FIXME: insert proper C++ library support
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+	;;
+    esac
+    ;;
+  vxworks*)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+  *)
+    # FIXME: insert proper C++ library support
+    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+    ;;
+esac
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_AC_TAGVAR(GCC, $1)="$GXX"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_POSTDEP_PREDEP($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC=$lt_save_CC
+LDCXX=$LD
+LD=$lt_save_LD
+GCC=$lt_save_GCC
+with_gnu_ldcxx=$with_gnu_ld
+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
+])# AC_LIBTOOL_LANG_CXX_CONFIG
+
+# AC_LIBTOOL_POSTDEP_PREDEP([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.
+AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+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...
+ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
+int a;
+void foo (void) { a = 0; }
+EOF
+],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+EOF
+],[$1],[F77],[cat > conftest.$ac_ext <<EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+EOF
+],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+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
+
+  # The `*' in the case matches for architectures that use `case' in
+  # $output_verbose_cmd can trigger glob expansion during the loop
+  # eval without this substitution.
+  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
+
+  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_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_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_AC_TAGVAR(postdeps, $1)"; then
+	   _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_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_AC_TAGVAR(predep_objects, $1)"; then
+	   _LT_AC_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_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
+
+_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
+  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+# PORTME: override above test on systems where it is broken
+ifelse([$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_AC_TAGVAR(predep_objects,$1)=
+  _LT_AC_TAGVAR(postdep_objects,$1)=
+  _LT_AC_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_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # 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_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+case " $_LT_AC_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+])# AC_LIBTOOL_POSTDEP_PREDEP
+
+# AC_LIBTOOL_LANG_F77_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
+AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
+[AC_REQUIRE([AC_PROG_F77])
+AC_LANG_PUSH(Fortran 77)
+
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_AC_TAGVAR(allow_undefined_flag, $1)=
+_LT_AC_TAGVAR(always_export_symbols, $1)=no
+_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_direct, $1)=no
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+_LT_AC_TAGVAR(hardcode_automatic, $1)=no
+_LT_AC_TAGVAR(module_cmds, $1)=
+_LT_AC_TAGVAR(module_expsym_cmds, $1)=
+_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_AC_TAGVAR(no_undefined_flag, $1)=
+_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_AC_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_AC_TAGVAR(objext, $1)=$objext
+
+# 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_AC_SYS_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"
+CC=${F77-"f77"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+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_AC_TAGVAR(GCC, $1)="$G77"
+_LT_AC_TAGVAR(LD, $1)="$LD"
+
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_POP
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_F77_CONFIG
+
+
+# AC_LIBTOOL_LANG_GCJ_CONFIG
+# --------------------------
+# Ensure that the configuration vars for the C compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
+AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_AC_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_AC_SYS_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"
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
+AC_LIBTOOL_PROG_COMPILER_PIC($1)
+AC_LIBTOOL_PROG_CC_C_O($1)
+AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
+AC_LIBTOOL_PROG_LD_SHLIBS($1)
+AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
+AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_GCJ_CONFIG
+
+
+# AC_LIBTOOL_LANG_RC_CONFIG
+# -------------------------
+# Ensure that the configuration vars for the Windows resource compiler are
+# suitably defined.  Those variables are subsequently used by
+# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
+AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
+AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
+[AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_AC_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_AC_SYS_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"
+CC=${RC-"windres"}
+compiler=$CC
+_LT_AC_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+AC_LIBTOOL_CONFIG($1)
+
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# AC_LIBTOOL_LANG_RC_CONFIG
+
+
+# AC_LIBTOOL_CONFIG([TAGNAME])
+# ----------------------------
+# If TAGNAME is not passed, then 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
+# TAGNAME from the matching tagged config vars.
+AC_DEFUN([AC_LIBTOOL_CONFIG],
+[# The else clause should only fire when bootstrapping the
+# libtool distribution, otherwise you forgot to ship ltmain.sh
+# with your package, and you will get complaints that there are
+# no rules to generate ltmain.sh.
+if test -f "$ltmain"; then
+  # 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
+  # Now quote all the things that may contain metacharacters while being
+  # careful not to overquote the AC_SUBSTed values.  We take copies of the
+  # variables and quote the copies for generation of the libtool script.
+  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
+    SED SHELL STRIP \
+    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
+    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
+    deplibs_check_method reload_flag reload_cmds need_locks \
+    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
+    lt_cv_sys_global_symbol_to_c_name_address \
+    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
+    old_postinstall_cmds old_postuninstall_cmds \
+    _LT_AC_TAGVAR(compiler, $1) \
+    _LT_AC_TAGVAR(CC, $1) \
+    _LT_AC_TAGVAR(LD, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
+    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
+    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
+    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
+    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
+    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
+    _LT_AC_TAGVAR(old_archive_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
+    _LT_AC_TAGVAR(predep_objects, $1) \
+    _LT_AC_TAGVAR(postdep_objects, $1) \
+    _LT_AC_TAGVAR(predeps, $1) \
+    _LT_AC_TAGVAR(postdeps, $1) \
+    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
+    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
+    _LT_AC_TAGVAR(archive_cmds, $1) \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(postinstall_cmds, $1) \
+    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
+    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
+    _LT_AC_TAGVAR(no_undefined_flag, $1) \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
+    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
+    _LT_AC_TAGVAR(hardcode_automatic, $1) \
+    _LT_AC_TAGVAR(module_cmds, $1) \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
+    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
+    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
+    _LT_AC_TAGVAR(exclude_expsyms, $1) \
+    _LT_AC_TAGVAR(include_expsyms, $1); do
+
+    case $var in
+    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_cmds, $1) | \
+    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(module_cmds, $1) | \
+    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
+    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
+    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
+    extract_expsyms_cmds | reload_cmds | finish_cmds | \
+    postinstall_cmds | postuninstall_cmds | \
+    old_postinstall_cmds | old_postuninstall_cmds | \
+    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
+      # Double-quote double-evaled strings.
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    esac
+  done
+
+  case $lt_echo in
+  *'\[$]0 --fallback-echo"')
+    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
+    ;;
+  esac
+
+ifelse([$1], [],
+  [cfgfile="${ofile}T"
+  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
+  $rm -f "$cfgfile"
+  AC_MSG_NOTICE([creating $ofile])],
+  [cfgfile="$ofile"])
+
+  cat <<__EOF__ >> "$cfgfile"
+ifelse([$1], [],
+[#! $SHELL
+
+# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+# Free Software Foundation, Inc.
+#
+# This file is part of GNU Libtool:
+# Originally by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 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 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.
+
+# 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//"
+
+# 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
+
+# The names of the tagged configurations supported by this script.
+available_tags=
+
+# ### BEGIN LIBTOOL CONFIG],
+[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
+
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
+
+# Whether or not to disallow shared libs when runtime libs are static
+allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# 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
+
+# An echo program that does not interpret backslashes.
+echo=$lt_echo
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A C compiler.
+LTCC=$lt_LTCC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_LTCFLAGS
+
+# A language-specific compiler.
+CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
+
+# Is the compiler the GNU C compiler?
+with_gcc=$_LT_AC_TAGVAR(GCC, $1)
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# The linker used to build libraries.
+LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
+
+# Whether we need hard or soft links.
+LN_S=$lt_LN_S
+
+# A BSD-compatible nm program.
+NM=$lt_NM
+
+# A symbol stripping program
+STRIP=$lt_STRIP
+
+# Used to examine libraries when file_magic_cmd begins "file"
+MAGIC_CMD=$MAGIC_CMD
+
+# Used on cygwin: DLL creation program.
+DLLTOOL="$DLLTOOL"
+
+# Used on cygwin: object dumper.
+OBJDUMP="$OBJDUMP"
+
+# Used on cygwin: assembler.
+AS="$AS"
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# How to pass a linker flag through the compiler.
+wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
+
+# Object file suffix (normally "o").
+objext="$ac_objext"
+
+# Old archive suffix (normally "a").
+libext="$libext"
+
+# Shared library suffix (normally ".so").
+shrext_cmds='$shrext_cmds'
+
+# Executable file suffix (normally "").
+exeext="$exeext"
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+pic_mode=$pic_mode
+
+# What is the maximum length of a command?
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# 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
+
+# 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
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
+
+# Compiler flag to generate thread-safe objects.
+thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
+
+# Library versioning type.
+version_type=$version_type
+
+# 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
+
+# Commands used to build and install an old-style archive.
+RANLIB=$lt_RANLIB
+old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
+
+# Commands used to build and install a shared archive.
+archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
+archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
+postinstall_cmds=$lt_postinstall_cmds
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to build a loadable module (assumed same as above if empty)
+module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
+module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
+
+# Dependencies to place before the objects being linked to create a
+# shared library.
+predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
+
+# Dependencies to place after the objects being linked to create a
+# shared library.
+postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
+
+# The directories searched by this compiler when creating a shared
+# library
+compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
+
+# 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
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
+
+# Flag that forces no undefined symbols.
+no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# Same as above, but a single script fragment to be evaled but not shown.
+finish_eval=$lt_finish_eval
+
+# 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
+
+# This is the shared library runtime path variable.
+runpath_var=$runpath_var
+
+# This is the shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $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.
+hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
+
+# Whether we need a single -rpath flag with a separated argument.
+hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
+
+# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
+# resulting binary.
+hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
+
+# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
+# resulting binary.
+hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
+
+# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
+# the resulting binary.
+hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
+
+# 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=$_LT_AC_TAGVAR(hardcode_automatic, $1)
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at relink time.
+variables_saved_for_relink="$variables_saved_for_relink"
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
+
+# 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
+
+# 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=$_LT_AC_TAGVAR(always_export_symbols, $1)
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
+
+# Symbols that must always be exported.
+include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
+
+ifelse([$1],[],
+[# ### END LIBTOOL CONFIG],
+[# ### END LIBTOOL TAG CONFIG: $tagname])
+
+__EOF__
+
+ifelse([$1],[], [
+  case $host_os in
+  aix3*)
+    cat <<\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
+EOF
+    ;;
+  esac
+
+  # 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 '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" || \
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+])
+else
+  # If there is no Makefile yet, we rely on a make rule to execute
+  # `config.status --recheck' to rerun these tests and create the
+  # libtool script then.
+  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
+  if test -f "$ltmain_in"; then
+    test -f Makefile && make "$ltmain"
+  fi
+fi
+])# AC_LIBTOOL_CONFIG
+
+
+# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
+[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
+
+_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
+
+
+# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+# ---------------------------------
+AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
+[AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([LT_AC_PROG_SED])
+AC_REQUIRE([AC_PROG_NM])
+AC_REQUIRE([AC_OBJEXT])
+# 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]]*\)'
+
+# Transform an extracted symbol line into a proper C declaration
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \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\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*) # Its linker distinguishes data from code symbols
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  ;;
+linux* | k*bsd*-gnu)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDGIRSTW]]'
+    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
+  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
+
+# 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
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Try without a prefix undercore, 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.
+  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ 	]]\($symcode$symcode*\)[[ 	]][[ 	]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+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 <<EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+EOF
+	  # Now generate the symbol file.
+	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
+
+	  cat <<EOF >> conftest.$ac_ext
+#if defined (__STDC__) && __STDC__
+# define lt_ptr_t void *
+#else
+# define lt_ptr_t char *
+# define const
+#endif
+
+/* The mapping between symbol names and symbols. */
+const struct {
+  const char *name;
+  lt_ptr_t address;
+}
+lt_preloaded_symbols[[]] =
+{
+EOF
+	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
+	  cat <<\EOF >> conftest.$ac_ext
+  {0, (lt_ptr_t) 0}
+};
+
+#ifdef __cplusplus
+}
+#endif
+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_AC_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
+]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
+
+
+# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
+# ---------------------------------------
+AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
+[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+ ifelse([$1],[CXX],[
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_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_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+    amigaos*)
+      # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32*)
+      # 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_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $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_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # 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*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *)
+      _LT_AC_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_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_AC_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
+	;;
+       darwin*)
+         # PIC is the default on this platform
+         # Common symbols not allowed in MH_DYLIB files
+         case $cc_basename in
+           xlc*)
+           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           ;;
+         esac
+       ;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_AC_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_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  icpc* | ecpc*)
+	    # Intel C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler.
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_AC_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_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2*)
+      # 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_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    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_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    hpux*)
+      # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+      darwin*)
+        # PIC is the default on this platform
+        # Common symbols not allowed in MH_DYLIB files
+       case $cc_basename in
+         xlc*)
+         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
+         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       esac
+       ;;
+
+    mingw* | cygwin* | pw32* | os2*)
+      # 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_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_AC_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_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    linux* | k*bsd*-gnu)
+      case $cc_basename in
+      icc* | ecc*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      *)
+        case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)
+	  # Sun C 5.9
+	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
+	  _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
+    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
+    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
+AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
+])
+
+
+# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
+# ------------------------------------
+# See if the linker supports building shared libraries.
+AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
+[AC_REQUIRE([LT_AC_PROG_SED])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+ifelse([$1],[CXX],[
+  _LT_AC_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
+    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_AC_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_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw*)
+    _LT_AC_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_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+],[
+  runpath_var=
+  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_AC_TAGVAR(archive_cmds, $1)=
+  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
+  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
+  _LT_AC_TAGVAR(module_cmds, $1)=
+  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
+  _LT_AC_TAGVAR(always_export_symbols, $1)=no
+  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_AC_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_AC_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=
+  # Just being paranoid about ensuring that cc_basename is set.
+  _LT_CC_BASENAME([$compiler])
+  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
+
+  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = 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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+    _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+      else
+  	_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>/dev/null` in
+      *\ [[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_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, 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 modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+EOF
+      fi
+      ;;
+
+    amigaos*)
+      _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=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 can't use
+      # them.
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32*)
+      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=no
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
+        _LT_AC_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_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix[[3-9]]*)
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_AC_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_AC_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_AC_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* | k*bsd*-gnu)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	tmp_addflag=
+	case $cc_basename,$host_cpu in
+	pgcc*)				# Portland Group C compiler
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_addflag=' $pic_flag'
+	  ;;
+	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$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' ;;
+	esac
+	case `$CC -V 2>&1 | sed 5q` in
+	*Sun\ C*)			# Sun C 5.9
+	  _LT_AC_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; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	*)
+	  tmp_sharedflag='-shared' ;;
+	esac
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+	if test $supports_anon_versioning = yes; then
+	  _LT_AC_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
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+	cat <<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.
+
+EOF
+      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_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_AC_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_AC_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
+	;;
+	*)
+	  if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
+	    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
+	    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
+	  else
+	    _LT_AC_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_AC_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_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_AC_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_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
+      _LT_AC_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_AC_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_AC_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
+	if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
+	  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
+	else
+	  _LT_AC_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_AC_TAGVAR(archive_cmds, $1)=''
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+
+      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_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes
+  	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+  	  _LT_AC_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
+
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_AC_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_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
+       # Determine the default libpath from the value encoded in an empty executable.
+       _LT_AC_SYS_LIBPATH_AIX
+       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+	_LT_AC_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 echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+       else
+	if test "$host_cpu" = ia64; then
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_AC_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_AC_SYS_LIBPATH_AIX
+	 _LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+	  _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+	  # Exported symbols can be pulled into shared objects from archives
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+	  # This is similar to how AIX traditionally builds its shared libraries.
+	  _LT_AC_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*)
+      _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      # see comment about different semantics on the GNU ld section
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    bsdi[[45]]*)
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    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.
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      case $host_os in
+        rhapsody* | darwin1.[[012]])
+         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
+         ;;
+       *) # Darwin 1.3 on
+         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
+           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+         else
+           case ${MACOSX_DEPLOYMENT_TARGET} in
+             10.[[012]])
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
+               ;;
+             10.*)
+               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
+               ;;
+           esac
+         fi
+         ;;
+      esac
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_direct, $1)=no
+      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+    if test "$GCC" = yes ; then
+    	output_verbose_link_cmd='echo'
+        _LT_AC_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_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+        _LT_AC_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_AC_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}"
+    else
+      case $cc_basename in
+        xlc*)
+         output_verbose_link_cmd='echo'
+         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
+         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
+          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+          ;;
+       *)
+         _LT_AC_TAGVAR(ld_shlibs, $1)=no
+          ;;
+      esac
+    fi
+      ;;
+
+    dgux*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_AC_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_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+	case $host_cpu in
+	hppa*64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_AC_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+	  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_AC_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_AC_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_AC_TAGVAR(hardcode_direct, $1)=yes
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+        fi
+      else
+	_LT_AC_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_AC_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_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)	# as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+	_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+	_LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
+	_LT_AC_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~
+	$LD -shared${allow_undefined_flag} -input $lib.exp $linker_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_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_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}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+      else
+	wlarc=''
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_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'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_AC_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_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_AC_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_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
+      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_AC_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_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_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
+      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_AC_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+  fi
+])
+AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
+test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_AC_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_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $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_AC_TAGVAR(lt_prog_compiler_wl, $1)
+	pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
+        then
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+	  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $rm conftest*
+      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+])# AC_LIBTOOL_PROG_LD_SHLIBS
+
+
+# _LT_AC_FILE_LTDLL_C
+# -------------------
+# Be careful that the start marker always follows a newline.
+AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
+# /* ltdll.c starts here */
+# #define WIN32_LEAN_AND_MEAN
+# #include <windows.h>
+# #undef WIN32_LEAN_AND_MEAN
+# #include <stdio.h>
+#
+# #ifndef __CYGWIN__
+# #  ifdef __CYGWIN32__
+# #    define __CYGWIN__ __CYGWIN32__
+# #  endif
+# #endif
+#
+# #ifdef __cplusplus
+# extern "C" {
+# #endif
+# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
+# #ifdef __cplusplus
+# }
+# #endif
+#
+# #ifdef __CYGWIN__
+# #include <cygwin/cygwin_dll.h>
+# DECLARE_CYGWIN_DLL( DllMain );
+# #endif
+# HINSTANCE __hDllInstance_base;
+#
+# BOOL APIENTRY
+# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
+# {
+#   __hDllInstance_base = hInst;
+#   return TRUE;
+# }
+# /* ltdll.c ends here */
+])# _LT_AC_FILE_LTDLL_C
+
+
+# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
+# ---------------------------------
+AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
+
+
+# old names
+AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
+AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
+AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
+AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
+AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
+
+# This is just to silence aclocal about the macro not being used
+ifelse([AC_DISABLE_FAST_INSTALL])
+
+AC_DEFUN([LT_AC_PROG_GCJ],
+[AC_CHECK_TOOL(GCJ, gcj, no)
+  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+  AC_SUBST(GCJFLAGS)
+])
+
+AC_DEFUN([LT_AC_PROG_RC],
+[AC_CHECK_TOOL(RC, windres, no)
+])
+
+
+# Cheap backport of AS_EXECUTABLE_P and required macros
+# from Autoconf 2.59; we should not use $as_executable_p directly.
+
+# _AS_TEST_PREPARE
+# ----------------
+m4_ifndef([_AS_TEST_PREPARE],
+[m4_defun([_AS_TEST_PREPARE],
+[if test -x / >/dev/null 2>&1; then
+  as_executable_p='test -x'
+else
+  as_executable_p='test -f'
+fi
+])])# _AS_TEST_PREPARE
+
+# AS_EXECUTABLE_P
+# ---------------
+# Check whether a file is executable.
+m4_ifndef([AS_EXECUTABLE_P],
+[m4_defun([AS_EXECUTABLE_P],
+[AS_REQUIRE([_AS_TEST_PREPARE])dnl
+$as_executable_p $1[]dnl
+])])# AS_EXECUTABLE_P
+
+# 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.                               #
+# LT_AC_PROG_SED
+# --------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+AC_DEFUN([LT_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])
+])
+
 # Copyright (C) 2002, 2003, 2005, 2006, 2007  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
@@ -906,7 +7545,6 @@ 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/ax_prefix_config_h.m4])
 m4_include([m4/lib-ld.m4])
 m4_include([m4/lib-link.m4])
 m4_include([m4/lib-prefix.m4])
@@ -915,3 +7553,4 @@ m4_include([m4/ltoptions.m4])
 m4_include([m4/ltsugar.m4])
 m4_include([m4/ltversion.m4])
 m4_include([m4/lt~obsolete.m4])
+m4_include([m4/m4.m4])
diff --git a/config.h.in b/config.h.in
index 5541b20..357d000 100644
--- a/config.h.in
+++ b/config.h.in
@@ -3,106 +3,24 @@
 
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
+#define PPL_FLOAT_IEEE754_SINGLE 1
 
 /* Unique (nonzero) code for the IEEE 754 Double Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
+#define PPL_FLOAT_IEEE754_DOUBLE 2
 
 /* Unique (nonzero) code for the IEEE 754 Quad Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
+#define PPL_FLOAT_IEEE754_QUAD 3
 
 /* Unique (nonzero) code for the Intel Double-Extended
    floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
+#define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
 
 
-/* ABI-breaking extra assertions are enabled when this is defined. */
-#undef ABI_BREAKING_EXTRA_DEBUG
-
 /* Define if building universal (internal helper macro) */
 #undef AC_APPLE_UNIVERSAL_BUILD
 
-/* Not zero if the FPU can be controlled. */
-#undef CAN_CONTROL_FPU
-
-/* Defined if the integral type to be used for coefficients is a checked one.
-   */
-#undef CHECKED_INTEGERS
-
-/* The number of bits of coefficients; 0 if unbounded. */
-#undef COEFFICIENT_BITS
-
-/* The integral type used to represent coefficients. */
-#undef COEFFICIENT_TYPE
-
-/* This contains the options with which `configure' was invoked. */
-#undef CONFIGURE_OPTIONS
-
-/* The unique code of the binary format of C++ doubles, if supported;
-   undefined otherwise. */
-#undef CXX_DOUBLE_BINARY_FORMAT
-
-/* Not zero if C++ supports exact output for doubles. */
-#undef CXX_DOUBLE_EXACT_OUTPUT
-
-/* The binary format of C++ floats, if supported; undefined otherwise. */
-#undef CXX_FLOAT_BINARY_FORMAT
-
-/* Not zero if C++ supports exact output for floats. */
-#undef CXX_FLOAT_EXACT_OUTPUT
-
-/* Not zero if the C++ compiler has the remainder bug. */
-#undef CXX_HAS_REMAINDER_BUG
-
-/* The unique code of the binary format of C++ long doubles, if supported;
-   undefined otherwise. */
-#undef CXX_LONG_DOUBLE_BINARY_FORMAT
-
-/* Not zero if C++ supports exact output for long doubles. */
-#undef CXX_LONG_DOUBLE_EXACT_OUTPUT
-
-/* Not zero if the C++ compiler provides long double numbers that have bigger
-   range or precision than double. */
-#undef CXX_PROVIDES_PROPER_LONG_DOUBLE
-
-/* Not zero if the C++ compiler supports __attribute__ ((weak)). */
-#undef CXX_SUPPORTS_ATTRIBUTE_WEAK
-
-/* Not zero if the C++ compiler supports flexible arrays. */
-#undef CXX_SUPPORTS_FLEXIBLE_ARRAYS
-
-/* Not zero if the the IEEE inexact flag is supported in C++. */
-#undef CXX_SUPPORTS_IEEE_INEXACT_FLAG
-
-/* Not zero if it is possible to limit memory using setrlimit(). */
-#undef CXX_SUPPORTS_LIMITING_MEMORY
-
-/* Defined if floating point arithmetics may use the 387 unit. */
-#undef FPMATH_MAY_USE_387
-
-/* Defined if floating point arithmetics may use the SSE instruction set. */
-#undef FPMATH_MAY_USE_SSE
-
-/* Defined if GLPK provides glp_term_hook(). */
-#undef GLPK_HAS_GLP_TERM_HOOK
-
-/* Defined if GLPK provides glp_term_out(). */
-#undef GLPK_HAS_GLP_TERM_OUT
-
-/* Defined if GLPK provides lib_set_print_hook(). */
-#undef GLPK_HAS_LIB_SET_PRINT_HOOK
-
-/* Defined if GLPK provides _glp_lib_print_hook(). */
-#undef GLPK_HAS__GLP_LIB_PRINT_HOOK
-
-/* Defined if the integral type to be used for coefficients is GMP's one. */
-#undef GMP_INTEGERS
-
-/* Not zero if GMP has been compiled with support for exceptions. */
-#undef GMP_SUPPORTS_EXCEPTIONS
-
 /* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
 #undef HAVE_DECL_FFS
 
@@ -202,6 +120,12 @@
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
+/* Define to 1 if you have the `setitimer' function. */
+#undef HAVE_SETITIMER
+
+/* Define to 1 if the system has the type `siginfo_t'. */
+#undef HAVE_SIGINFO_T
+
 /* Define to 1 if you have the <signal.h> header file. */
 #undef HAVE_SIGNAL_H
 
@@ -260,13 +184,6 @@
    */
 #undef LT_OBJDIR
 
-/* Defined if the integral type to be used for coefficients is a native one.
-   */
-#undef NATIVE_INTEGERS
-
-/* Assertions are disabled when this is defined. */
-#undef NDEBUG
-
 /* Define to the address where bug reports for this package should be sent. */
 #undef PACKAGE_BUGREPORT
 
@@ -282,6 +199,107 @@
 /* Define to the version of this package. */
 #undef PACKAGE_VERSION
 
+/* ABI-breaking extra assertions are enabled when this is defined. */
+#undef PPL_ABI_BREAKING_EXTRA_DEBUG
+
+/* Not zero if the FPU can be controlled. */
+#undef PPL_CAN_CONTROL_FPU
+
+/* Defined if the integral type to be used for coefficients is a checked one.
+   */
+#undef PPL_CHECKED_INTEGERS
+
+/* The number of bits of coefficients; 0 if unbounded. */
+#undef PPL_COEFFICIENT_BITS
+
+/* The integral type used to represent coefficients. */
+#undef PPL_COEFFICIENT_TYPE
+
+/* This contains the options with which `configure' was invoked. */
+#undef PPL_CONFIGURE_OPTIONS
+
+/* The unique code of the binary format of C++ doubles, if supported;
+   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 C++ compiler provides long double numbers that have bigger
+   range or precision than double. */
+#undef PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE
+
+/* 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
+
+/* Defined if floating point arithmetics may use the 387 unit. */
+#undef PPL_FPMATH_MAY_USE_387
+
+/* Defined if floating point arithmetics may use the SSE instruction set. */
+#undef PPL_FPMATH_MAY_USE_SSE
+
+/* Defined if GLPK provides glp_term_hook(). */
+#undef PPL_GLPK_HAS_GLP_TERM_HOOK
+
+/* Defined if GLPK provides glp_term_out(). */
+#undef PPL_GLPK_HAS_GLP_TERM_OUT
+
+/* Defined if GLPK provides lib_set_print_hook(). */
+#undef PPL_GLPK_HAS_LIB_SET_PRINT_HOOK
+
+/* Defined if GLPK provides _glp_lib_print_hook(). */
+#undef PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK
+
+/* Defined if the integral type to be used for coefficients is GMP's one. */
+#undef PPL_GMP_INTEGERS
+
+/* Not zero if GMP has been compiled with support for exceptions. */
+#undef PPL_GMP_SUPPORTS_EXCEPTIONS
+
+/* Defined if the integral type to be used for coefficients is a native one.
+   */
+#undef PPL_NATIVE_INTEGERS
+
+/* Assertions are disabled when this is defined. */
+#undef PPL_NDEBUG
+
+/* Not zero if doubles are supported. */
+#undef PPL_SUPPORTED_DOUBLE
+
+/* Not zero if floats are supported. */
+#undef PPL_SUPPORTED_FLOAT
+
+/* 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
 
@@ -321,18 +339,6 @@
 /* Define to 1 if you have the ANSI C header files. */
 #undef STDC_HEADERS
 
-/* Not zero if doubles are supported. */
-#undef SUPPORTED_DOUBLE
-
-/* Not zero if floats are supported. */
-#undef SUPPORTED_FLOAT
-
-/* Not zero if long doubles are supported. */
-#undef SUPPORTED_LONG_DOUBLE
-
-/* Defined if the Parma Watchdog Library is enabled. */
-#undef WATCHDOG_LIBRARY_ENABLED
-
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
 #if defined AC_APPLE_UNIVERSAL_BUILD
@@ -364,7 +370,7 @@
 #undef typeof
 
 
-#ifdef PPL_NDEBUG
+#if defined(PPL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PPL_NDEBUG
 #endif
 
diff --git a/configure b/configure
index 2d999fc..3d541bc 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for the Parma Polyhedra Library 0.10.
+# Generated by GNU Autoconf 2.63 for the Parma Polyhedra Library 0.10.1pre13.
 #
 # Report bugs to <ppl-devel at cs.unipr.it>.
 #
@@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='the Parma Polyhedra Library'
 PACKAGE_TARNAME='ppl'
-PACKAGE_VERSION='0.10'
-PACKAGE_STRING='the Parma Polyhedra Library 0.10'
+PACKAGE_VERSION='0.10.1pre13'
+PACKAGE_STRING='the Parma Polyhedra Library 0.10.1pre13'
 PACKAGE_BUGREPORT='ppl-devel at cs.unipr.it'
 
 ac_unique_file="src/Polyhedron_public.cc"
@@ -789,6 +789,7 @@ ac_includes_default="\
 enable_option_checking=no
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
+mlgmp_dir
 ocamlc_root
 required_instantiations_ocaml_cxx_objects
 required_instantiations_ocaml_cxx_sources
@@ -838,13 +839,14 @@ NM
 ac_ct_DUMPBIN
 DUMPBIN
 LD
-FGREP
 LIBTOOL
 THOROUGH_MAKE_CHECK_FALSE
 THOROUGH_MAKE_CHECK_TRUE
 VALGRIND_TESTS_ENABLED_FALSE
 VALGRIND_TESTS_ENABLED_TRUE
 VALGRIND
+M4_DEBUGFILE
+M4
 BUILD_SOME_PROLOG_INTERFACES_FALSE
 BUILD_SOME_PROLOG_INTERFACES_TRUE
 BUILD_YAP_PROLOG_INTERFACE_FALSE
@@ -874,6 +876,11 @@ CIAO_PROLOG
 ciao_prolog
 BUILD_OCAML_INTERFACE_FALSE
 BUILD_OCAML_INTERFACE_TRUE
+HAVE_OCAMLOPT_FALSE
+HAVE_OCAMLOPT_TRUE
+HAVE_OCAMLC_FALSE
+HAVE_OCAMLC_TRUE
+OCAMLOPT
 OCAMLC
 BUILD_JAVA_INTERFACE_FALSE
 BUILD_JAVA_INTERFACE_TRUE
@@ -930,6 +937,8 @@ HOST_CPU_X86_64_FALSE
 HOST_CPU_X86_64_TRUE
 HOST_OS_SOLARIS_FALSE
 HOST_OS_SOLARIS_TRUE
+HOST_OS_MINGW_FALSE
+HOST_OS_MINGW_TRUE
 HOST_OS_DARWIN_FALSE
 HOST_OS_DARWIN_TRUE
 HOST_OS_CYGWIN_FALSE
@@ -943,6 +952,7 @@ DEBUGGING_ENABLED_TRUE
 CXXCPP
 SED
 EGREP
+FGREP
 GREP
 am__fastdepCXX_FALSE
 am__fastdepCXX_TRUE
@@ -1069,6 +1079,7 @@ enable_ppl_lcdd
 enable_ppl_lpsol
 enable_interfaces
 with_java
+with_mlgmp
 enable_instantiations
 enable_valgrind_tests
 enable_check
@@ -1090,7 +1101,8 @@ CXX
 CXXFLAGS
 CCC
 CXXCPP
-CPP'
+CPP
+M4'
 ac_subdirs_all='Watchdog'
 
 # Initialize some variables set by options.
@@ -1643,7 +1655,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.10 to adapt to many kinds of systems.
+\`configure' configures the Parma Polyhedra Library 0.10.1pre13 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1713,7 +1725,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of the Parma Polyhedra Library 0.10:";;
+     short | recursive ) echo "Configuration of the Parma Polyhedra Library 0.10.1pre13:";;
    esac
   cat <<\_ACEOF
 
@@ -1766,6 +1778,7 @@ Optional Packages:
   --with-libgmpxx-prefix[=DIR]  search for libgmpxx in DIR/include and DIR/lib
   --without-libgmpxx-prefix     don't search for 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
                           both]
   --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
@@ -1782,6 +1795,8 @@ Some influential environment variables:
   CXXFLAGS    C++ compiler flags
   CXXCPP      C++ preprocessor
   CPP         C preprocessor
+  M4          Location of GNU M4 1.4.5 or later. Defaults to the first program
+              of `m4', `gm4', or `gnum4' on PATH that meets Autoconf needs.
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
@@ -1849,7 +1864,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-the Parma Polyhedra Library configure 0.10
+the Parma Polyhedra Library configure 0.10.1pre13
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1863,7 +1878,7 @@ 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.10, which was
+It was created by the Parma Polyhedra Library $as_me 0.10.1pre13, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2676,7 +2691,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ppl'
- VERSION='0.10'
+ VERSION='0.10.1pre13'
 
 
 # Some tools Automake needs.
@@ -2917,24 +2932,16 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define CONFIGURE_OPTIONS "$ac_configure_args"
+#define PPL_CONFIGURE_OPTIONS "$ac_configure_args"
 _ACEOF
 
 PPL_CONFIGURE_OPTIONS="\"$ac_configure_args\""
 
 
-# Installation directories.
-docdir='${datadir}/doc/ppl'
-
-
 # Generate a configuration header file.
 ac_config_headers="$ac_config_headers config.h"
 
 
-# Generate prefixed defines.
-ac_config_commands="$ac_config_commands $PACKAGE-config.h"
-
-
 ISODATE=`date +%Y-%m-%d`
 
 
@@ -4757,6 +4764,75 @@ $as_echo "$ac_cv_path_GREP" >&6; }
  GREP="$ac_cv_path_GREP"
 
 
+{ $as_echo "$as_me:$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
+    ac_count=`expr $ac_count + 1`
+    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_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
 { $as_echo "$as_me:$LINENO: checking for egrep" >&5
 $as_echo_n "checking for egrep... " >&6; }
 if test "${ac_cv_path_EGREP+set}" = set; then
@@ -5399,7 +5475,7 @@ then
   enable_assertions=yes
 
 cat >>confdefs.h <<\_ACEOF
-#define ABI_BREAKING_EXTRA_DEBUG 1
+#define PPL_ABI_BREAKING_EXTRA_DEBUG 1
 _ACEOF
 
 
@@ -5418,7 +5494,7 @@ if test x"$enable_assertions" = xno
 then
 
 cat >>confdefs.h <<\_ACEOF
-#define NDEBUG 1
+#define PPL_NDEBUG 1
 _ACEOF
 
   debug_flag="-DNDEBUG=1"
@@ -5586,7 +5662,7 @@ if test x"$fpmath_may_use_387" = xyes
 then
 
 cat >>confdefs.h <<\_ACEOF
-#define FPMATH_MAY_USE_387 1
+#define PPL_FPMATH_MAY_USE_387 1
 _ACEOF
 
 fi
@@ -5595,7 +5671,7 @@ if test x"$fpmath_may_use_sse" = xyes
 then
 
 cat >>confdefs.h <<\_ACEOF
-#define FPMATH_MAY_USE_SSE 1
+#define PPL_FPMATH_MAY_USE_SSE 1
 _ACEOF
 
 fi
@@ -5650,6 +5726,7 @@ CXXFLAGS="$COMP_FLAGS $OPT_FLAGS $CXXFLAGS"
 
 # System-dependent adjustments.
 cygwin=no
+mingw=no
 darwin=no
 solaris=no
 x86_64=no
@@ -5681,6 +5758,9 @@ cygwin)
 darwin*)
   darwin=yes
   ;;
+mingw*)
+  mingw=yes
+  ;;
 solaris*)
   solaris=yes
   ;;
@@ -5704,6 +5784,14 @@ else
   HOST_OS_DARWIN_FALSE=
 fi
 
+ if test x$mingw = xyes; then
+  HOST_OS_MINGW_TRUE=
+  HOST_OS_MINGW_FALSE='#'
+else
+  HOST_OS_MINGW_TRUE='#'
+  HOST_OS_MINGW_FALSE=
+fi
+
  if test x$solaris = xyes; then
   HOST_OS_SOLARIS_TRUE=
   HOST_OS_SOLARIS_FALSE='#'
@@ -5874,48 +5962,48 @@ then
   coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t, Checked_Number_Transparent_Policy>"
 
 cat >>confdefs.h <<_ACEOF
-#define COEFFICIENT_TYPE $coefficient_type
+#define PPL_COEFFICIENT_TYPE $coefficient_type
 _ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
-#define COEFFICIENT_BITS $coefficient_bits
+#define PPL_COEFFICIENT_BITS $coefficient_bits
 _ACEOF
 
 
 cat >>confdefs.h <<\_ACEOF
-#define NATIVE_INTEGERS 1
+#define PPL_NATIVE_INTEGERS 1
 _ACEOF
 
 elif test x"$coefficient_kind" = xchecked
 then
   coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t>"
   cat >>confdefs.h <<_ACEOF
-#define COEFFICIENT_TYPE $coefficient_type
+#define PPL_COEFFICIENT_TYPE $coefficient_type
 _ACEOF
 
   cat >>confdefs.h <<_ACEOF
-#define COEFFICIENT_BITS $coefficient_bits
+#define PPL_COEFFICIENT_BITS $coefficient_bits
 _ACEOF
 
 
 cat >>confdefs.h <<\_ACEOF
-#define CHECKED_INTEGERS 1
+#define PPL_CHECKED_INTEGERS 1
 _ACEOF
 
 elif test x"$coefficient_kind" = xunbounded
 then
   cat >>confdefs.h <<\_ACEOF
-#define COEFFICIENT_TYPE mpz_class
+#define PPL_COEFFICIENT_TYPE mpz_class
 _ACEOF
 
   cat >>confdefs.h <<\_ACEOF
-#define COEFFICIENT_BITS 0
+#define PPL_COEFFICIENT_BITS 0
 _ACEOF
 
 
 cat >>confdefs.h <<\_ACEOF
-#define GMP_INTEGERS 1
+#define PPL_GMP_INTEGERS 1
 _ACEOF
 
 fi
@@ -11281,16 +11369,63 @@ fi
 
 done
 
-{ $as_echo "$as_me:$LINENO: checking for the possibility to control the FPU" >&5
-$as_echo_n "checking for the possibility to control the FPU... " >&6; }
+{ $as_echo "$as_me:$LINENO: checking if it is possible to control the FPU" >&5
+$as_echo_n "checking if it is possible to control the FPU... " >&6; }
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#if i386 || (sparc && defined(HAVE_IEEEFP_H))
+
+int
+main() {
+  return 0;
+}
+
+#else
+
+  choke me
+
+#endif
+
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+    ac_cv_can_control_fpu=1
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+    ac_cv_can_control_fpu=0
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11417,7 +11552,6 @@ sed 's/^/| /' conftest.$ac_ext >&5
 { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
   ac_cv_can_control_fpu=0
-
 fi
 rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
@@ -11434,7 +11568,7 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define CAN_CONTROL_FPU $ac_cv_can_control_fpu
+#define PPL_CAN_CONTROL_FPU $ac_cv_can_control_fpu
 _ACEOF
 
 ac_ext=cpp
@@ -11460,8 +11594,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 { $as_echo "$as_me:$LINENO: checking whether the C++ compiler provides proper long doubles" >&5
 $as_echo_n "checking whether the C++ compiler provides proper long doubles... " >&6; }
 if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
   ac_cxx_provides_proper_long_double=no
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -11533,7 +11667,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_PROVIDES_PROPER_LONG_DOUBLE $value
+#define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE $value
 _ACEOF
 
 
@@ -11560,15 +11694,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 { $as_echo "$as_me:$LINENO: checking the binary format of C++ floats" >&5
 $as_echo_n "checking the binary format of C++ floats... " >&6; }
-ac_cxx_float_binary_format=unknown
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  ac_cxx_float_binary_format=unknown
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11651,7 +11778,7 @@ $as_echo "$ac_try_echo") >&5
   (exit $ac_status); }; }; then
 
 cat >>confdefs.h <<\_ACEOF
-#define CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE
+#define PPL_CXX_FLOAT_BINARY_FORMAT PPL_FLOAT_IEEE754_SINGLE
 _ACEOF
 
   ac_cxx_float_binary_format="IEEE754 Single Precision"
@@ -11660,6 +11787,8 @@ else
 $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+( exit $ac_status )
+ac_cxx_float_binary_format=unknown
 fi
 rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
@@ -11682,16 +11811,11 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 { $as_echo "$as_me:$LINENO: checking whether C++ provides exact output for floats" >&5
 $as_echo_n "checking whether C++ provides exact output for floats... " >&6; }
-ac_cxx_float_exact_output=unknown
 
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
+  ac_cxx_float_exact_output=0
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11749,7 +11873,7 @@ convert(uint32_t x) {
   return u.value;
 }
 
-#if CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
 
 int
 main() {
@@ -11766,14 +11890,14 @@ main() {
     return 1;
 }
 
-#else // CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
+#else // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
+#endif // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
 
 #else // SIZEOF_FLOAT != 4
 
@@ -11828,7 +11952,7 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_FLOAT_EXACT_OUTPUT $ac_cxx_float_exact_output
+#define PPL_CXX_FLOAT_EXACT_OUTPUT $ac_cxx_float_exact_output
 _ACEOF
 
 
@@ -11858,7 +11982,7 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define SUPPORTED_FLOAT $ac_supported_float
+#define PPL_SUPPORTED_FLOAT $ac_supported_float
 _ACEOF
 
 
@@ -11875,7 +11999,6 @@ LIBS="$ac_save_LIBS"
 # Detect the binary format used by C++ doubles.
 
 
-
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
 ac_ext=cpp
@@ -11887,15 +12010,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 { $as_echo "$as_me:$LINENO: checking the binary format of C++ doubles" >&5
 $as_echo_n "checking the binary format of C++ doubles... " >&6; }
-ac_cxx_double_binary_format=unknown
+
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  ac_cxx_double_binary_format=unknown
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11987,7 +12104,7 @@ $as_echo "$ac_try_echo") >&5
   (exit $ac_status); }; }; then
 
 cat >>confdefs.h <<\_ACEOF
-#define CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE
+#define PPL_CXX_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE
 _ACEOF
 
   ac_cxx_double_binary_format="IEEE754 Double Precision"
@@ -11996,6 +12113,8 @@ else
 $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+( exit $ac_status )
+ac_cxx_double_binary_format=unknown
 fi
 rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
@@ -12007,6 +12126,7 @@ fi
 $as_echo "$ac_cxx_double_binary_format" >&6; }
 
 
+
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
 ac_ext=cpp
@@ -12018,16 +12138,11 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 { $as_echo "$as_me:$LINENO: checking whether C++ provides exact output for doubles" >&5
 $as_echo_n "checking whether C++ provides exact output for doubles... " >&6; }
-ac_cxx_double_exact_output=unknown
 
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
+  ac_cxx_double_exact_output=0
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12094,7 +12209,7 @@ convert(uint32_t msp, uint32_t lsp) {
   return u.value;
 }
 
-#if CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
 
 int
 main() {
@@ -12111,14 +12226,14 @@ main() {
     return 1;
 }
 
-#else // CXX_DOUBLE_EXACT_OUTPUT != FLOAT_IEEE754_DOUBLE
+#else // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_DOUBLE_EXACT_OUTPUT != FLOAT_IEEE754_DOUBLE
+#endif // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
 
 #else // SIZEOF_DOUBLE != 8
 
@@ -12173,7 +12288,7 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_DOUBLE_EXACT_OUTPUT $ac_cxx_double_exact_output
+#define PPL_CXX_DOUBLE_EXACT_OUTPUT $ac_cxx_double_exact_output
 _ACEOF
 
 
@@ -12203,7 +12318,7 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define SUPPORTED_DOUBLE $ac_supported_double
+#define PPL_SUPPORTED_DOUBLE $ac_supported_double
 _ACEOF
 
 
@@ -12219,6 +12334,7 @@ LIBS="$ac_save_LIBS"
 
 # Detect the binary format used by C++ long doubles.
 
+
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
 ac_ext=cpp
@@ -12230,16 +12346,9 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 { $as_echo "$as_me:$LINENO: checking the binary format of C++ long doubles" >&5
 $as_echo_n "checking the binary format of C++ long doubles... " >&6; }
-ac_cxx_long_double_binary_format=unknown
 
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  ac_cxx_long_double_binary_format=unknown
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12331,7 +12440,7 @@ $as_echo "$ac_try_echo") >&5
   (exit $ac_status); }; }; then
 
 cat >>confdefs.h <<\_ACEOF
-#define CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 _ACEOF
 
   ac_cxx_long_double_binary_format="Intel Double-Extended"
@@ -12340,6 +12449,8 @@ else
 $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+( exit $ac_status )
+ac_cxx_long_double_binary_format=unknown
 fi
 rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
@@ -12350,13 +12461,7 @@ fi
 if test x"$ac_cxx_long_double_binary_format" = x"unknown"
 then
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  ac_cxx_long_double_binary_format=unknown
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12461,7 +12566,7 @@ $as_echo "$ac_try_echo") >&5
   (exit $ac_status); }; }; then
 
 cat >>confdefs.h <<\_ACEOF
-#define CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_QUAD
+#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_QUAD
 _ACEOF
 
   ac_cxx_long_double_binary_format="IEEE754 Quad Precision"
@@ -12470,6 +12575,8 @@ else
 $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+( exit $ac_status )
+ac_cxx_long_double_binary_format=unknown
 fi
 rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
@@ -12481,13 +12588,7 @@ fi
 if test x"$ac_cxx_long_double_binary_format" = x"unknown"
 then
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  ac_cxx_long_double_binary_format=unknown
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12579,7 +12680,7 @@ $as_echo "$ac_try_echo") >&5
   (exit $ac_status); }; }; then
 
 cat >>confdefs.h <<\_ACEOF
-#define CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 _ACEOF
 
   ac_cxx_long_double_binary_format="Intel Double-Extended"
@@ -12588,6 +12689,8 @@ else
 $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+( exit $ac_status )
+ac_cxx_long_double_binary_format=unknown
 fi
 rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
@@ -12599,13 +12702,7 @@ fi
 if test x"$ac_cxx_long_double_binary_format" = x"unknown"
 then
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  ac_cxx_long_double_binary_format=unknown
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12697,7 +12794,7 @@ $as_echo "$ac_try_echo") >&5
   (exit $ac_status); }; }; then
 
 cat >>confdefs.h <<\_ACEOF
-#define CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE
+#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT PPL_FLOAT_IEEE754_DOUBLE
 _ACEOF
 
   ac_cxx_long_double_binary_format="IEEE754 Double Precision"
@@ -12706,6 +12803,8 @@ else
 $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+( exit $ac_status )
+ac_cxx_long_double_binary_format=unknown
 fi
 rm -rf conftest.dSYM
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
@@ -12730,16 +12829,11 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 { $as_echo "$as_me:$LINENO: checking whether C++ provides exact output for long doubles" >&5
 $as_echo_n "checking whether C++ provides exact output for long doubles... " >&6; }
-ac_cxx_long_double_exact_output=unknown
 
 if test "$cross_compiling" = yes; then
-  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-{ { $as_echo "$as_me:$LINENO: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&5
-$as_echo "$as_me: error: cannot run test program while cross compiling
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }; }
+  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
+  ac_cxx_long_double_exact_output=0
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12806,7 +12900,7 @@ convert(uint32_t msp, uint64_t lsp) {
   return u.value;
 }
 
-#if CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
 main() {
@@ -12823,14 +12917,14 @@ main() {
     return 1;
 }
 
-#else // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
 #elif SIZEOF_LONG_DOUBLE == 16
 
@@ -12854,7 +12948,7 @@ convert(uint64_t msp, uint64_t lsp) {
   return u.value;
 }
 
-#if CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
 
 int
 main() {
@@ -12871,7 +12965,7 @@ main() {
     return 1;
 }
 
-#elif CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
 main() {
@@ -12888,14 +12982,14 @@ main() {
     return 1;
 }
 
-#else // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
 #elif SIZEOF_LONG_DOUBLE == 8
 
@@ -12919,7 +13013,7 @@ convert(uint32_t msp, uint32_t lsp) {
   return u.value;
 }
 
-#if CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
 
 int
 main() {
@@ -12936,14 +13030,14 @@ main() {
     return 1;
 }
 
-#else // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
 
 #else // SIZEOF_LONG_DOUBLE != 8
 
@@ -12998,7 +13092,7 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_LONG_DOUBLE_EXACT_OUTPUT $ac_cxx_long_double_exact_output
+#define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT $ac_cxx_long_double_exact_output
 _ACEOF
 
 
@@ -13028,7 +13122,7 @@ fi
 
 
 cat >>confdefs.h <<_ACEOF
-#define SUPPORTED_LONG_DOUBLE $ac_supported_long_double
+#define PPL_SUPPORTED_LONG_DOUBLE $ac_supported_long_double
 _ACEOF
 
 
@@ -13068,9 +13162,89 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 { $as_echo "$as_me:$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
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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;
+}
+
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+    ac_cxx_supports_flexible_arrays=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cxx_supports_flexible_arrays=no
+    ac_cxx_supports_flexible_arrays=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -13173,7 +13347,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_SUPPORTS_FLEXIBLE_ARRAYS $value
+#define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS $value
 _ACEOF
 
 
@@ -13201,8 +13375,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 { $as_echo "$as_me:$LINENO: checking whether the IEEE inexact flag is supported in C++" >&5
 $as_echo_n "checking whether the IEEE inexact flag is supported in C++... " >&6; }
 if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
   ac_cxx_supports_ieee_inexact_flag=no
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -13343,7 +13517,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_SUPPORTS_IEEE_INEXACT_FLAG $value
+#define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG $value
 _ACEOF
 
 
@@ -13372,8 +13546,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 { $as_echo "$as_me:$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:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  { $as_echo "$as_me:$LINENO: result: assuming yes" >&5
+$as_echo "assuming yes" >&6; }
   ac_cv_cxx_has_remainder_bug=yes
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -13451,7 +13625,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_HAS_REMAINDER_BUG $value
+#define PPL_CXX_HAS_REMAINDER_BUG $value
 _ACEOF
 
 
@@ -13533,7 +13707,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_SUPPORTS_ATTRIBUTE_WEAK $value
+#define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK $value
 _ACEOF
 
 
@@ -13547,30 +13721,42 @@ CPPFLAGS="$ac_save_CPPFLAGS"
 LIBS="$ac_save_LIBS"
 
 
-# Checks for the availability of C library functions in C++.
-{ $as_echo "$as_me:$LINENO: checking whether ffs is declared" >&5
-$as_echo_n "checking whether ffs is declared... " >&6; }
-if test "${ac_cv_have_decl_ffs+set}" = set; then
+# 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`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
   $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+		 $as_echo "$as_val"'`
+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <strings.h>
-
-int
-main ()
-{
-#ifndef ffs
-  (void) ffs;
-#endif
-
-  ;
-  return 0;
-}
+$ac_includes_default
+#include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -13590,105 +13776,117 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_ffs=yes
+  ac_header_compiler=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_ffs=no
+	ac_header_compiler=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_ffs" >&5
-$as_echo "$ac_cv_have_decl_ffs" >&6; }
-if test "x$ac_cv_have_decl_ffs" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FFS 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FFS 0
-_ACEOF
-
-
-fi
-
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
-{ $as_echo "$as_me:$LINENO: checking whether getenv is declared" >&5
-$as_echo_n "checking whether getenv is declared... " >&6; }
-if test "${ac_cv_have_decl_getenv+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <cstdlib>
-
-int
-main ()
-{
-#ifndef getenv
-  (void) getenv;
-#endif
-
-  ;
-  return 0;
-}
+#include <$ac_header>
 _ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
+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:$LINENO: $ac_try_echo\""
 $as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
+  (exit $ac_status); } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_getenv=yes
+       }; then
+  ac_header_preproc=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_getenv=no
+  ac_header_preproc=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    ac_header_preproc=yes
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+    ( cat <<\_ASBOX
+## ------------------------------------ ##
+## Report this to ppl-devel at cs.unipr.it ##
+## ------------------------------------ ##
+_ASBOX
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  eval "$as_ac_Header=\$ac_header_preproc"
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5
-$as_echo "$ac_cv_have_decl_getenv" >&6; }
-if test "x$ac_cv_have_decl_getenv" = x""yes; then
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+		 $as_echo "$as_val"'`
+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV 1
+fi
+as_val=`eval 'as_val=${'$as_ac_Header'}
+		 $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
+fi
 
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETENV 0
-_ACEOF
+done
 
 
-fi
-{ $as_echo "$as_me:$LINENO: checking whether strtof is declared" >&5
-$as_echo_n "checking whether strtof is declared... " >&6; }
-if test "${ac_cv_have_decl_strtof+set}" = set; then
+# Checks for the availability of C library functions in C++.
+{ $as_echo "$as_me:$LINENO: checking whether ffs is declared" >&5
+$as_echo_n "checking whether ffs is declared... " >&6; }
+if test "${ac_cv_have_decl_ffs+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -13697,13 +13895,19 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <cstdlib>
+
+#if defined(HAVE_STRINGS_H)
+# include <strings.h>
+#elif defined(HAVE_STRING_H)
+# include <string.h>
+#endif
+
 
 int
 main ()
 {
-#ifndef strtof
-  (void) strtof;
+#ifndef ffs
+  (void) ffs;
 #endif
 
   ;
@@ -13728,35 +13932,37 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtof=yes
+  ac_cv_have_decl_ffs=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_strtof=no
+	ac_cv_have_decl_ffs=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtof" >&5
-$as_echo "$ac_cv_have_decl_strtof" >&6; }
-if test "x$ac_cv_have_decl_strtof" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_ffs" >&5
+$as_echo "$ac_cv_have_decl_ffs" >&6; }
+if test "x$ac_cv_have_decl_ffs" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOF 1
+#define HAVE_DECL_FFS 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOF 0
+#define HAVE_DECL_FFS 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether strtod is declared" >&5
-$as_echo_n "checking whether strtod is declared... " >&6; }
-if test "${ac_cv_have_decl_strtod+set}" = set; then
+
+
+{ $as_echo "$as_me:$LINENO: checking whether getenv is declared" >&5
+$as_echo_n "checking whether getenv is declared... " >&6; }
+if test "${ac_cv_have_decl_getenv+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -13770,8 +13976,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef strtod
-  (void) strtod;
+#ifndef getenv
+  (void) getenv;
 #endif
 
   ;
@@ -13796,35 +14002,35 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtod=yes
+  ac_cv_have_decl_getenv=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_strtod=no
+	ac_cv_have_decl_getenv=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtod" >&5
-$as_echo "$ac_cv_have_decl_strtod" >&6; }
-if test "x$ac_cv_have_decl_strtod" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getenv" >&5
+$as_echo "$ac_cv_have_decl_getenv" >&6; }
+if test "x$ac_cv_have_decl_getenv" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOD 1
+#define HAVE_DECL_GETENV 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOD 0
+#define HAVE_DECL_GETENV 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether strtold is declared" >&5
-$as_echo_n "checking whether strtold is declared... " >&6; }
-if test "${ac_cv_have_decl_strtold+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether strtof is declared" >&5
+$as_echo_n "checking whether strtof is declared... " >&6; }
+if test "${ac_cv_have_decl_strtof+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -13838,8 +14044,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef strtold
-  (void) strtold;
+#ifndef strtof
+  (void) strtof;
 #endif
 
   ;
@@ -13864,35 +14070,35 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtold=yes
+  ac_cv_have_decl_strtof=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_strtold=no
+	ac_cv_have_decl_strtof=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtold" >&5
-$as_echo "$ac_cv_have_decl_strtold" >&6; }
-if test "x$ac_cv_have_decl_strtold" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtof" >&5
+$as_echo "$ac_cv_have_decl_strtof" >&6; }
+if test "x$ac_cv_have_decl_strtof" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLD 1
+#define HAVE_DECL_STRTOF 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLD 0
+#define HAVE_DECL_STRTOF 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether strtoll is declared" >&5
-$as_echo_n "checking whether strtoll is declared... " >&6; }
-if test "${ac_cv_have_decl_strtoll+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether strtod is declared" >&5
+$as_echo_n "checking whether strtod is declared... " >&6; }
+if test "${ac_cv_have_decl_strtod+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -13906,8 +14112,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef strtoll
-  (void) strtoll;
+#ifndef strtod
+  (void) strtod;
 #endif
 
   ;
@@ -13932,35 +14138,35 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtoll=yes
+  ac_cv_have_decl_strtod=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_strtoll=no
+	ac_cv_have_decl_strtod=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoll" >&5
-$as_echo "$ac_cv_have_decl_strtoll" >&6; }
-if test "x$ac_cv_have_decl_strtoll" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtod" >&5
+$as_echo "$ac_cv_have_decl_strtod" >&6; }
+if test "x$ac_cv_have_decl_strtod" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLL 1
+#define HAVE_DECL_STRTOD 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOLL 0
+#define HAVE_DECL_STRTOD 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether strtoull is declared" >&5
-$as_echo_n "checking whether strtoull is declared... " >&6; }
-if test "${ac_cv_have_decl_strtoull+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether strtold is declared" >&5
+$as_echo_n "checking whether strtold is declared... " >&6; }
+if test "${ac_cv_have_decl_strtold+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -13974,8 +14180,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef strtoull
-  (void) strtoull;
+#ifndef strtold
+  (void) strtold;
 #endif
 
   ;
@@ -14000,37 +14206,35 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_strtoull=yes
+  ac_cv_have_decl_strtold=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_strtoull=no
+	ac_cv_have_decl_strtold=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoull" >&5
-$as_echo "$ac_cv_have_decl_strtoull" >&6; }
-if test "x$ac_cv_have_decl_strtoull" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtold" >&5
+$as_echo "$ac_cv_have_decl_strtold" >&6; }
+if test "x$ac_cv_have_decl_strtold" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOULL 1
+#define HAVE_DECL_STRTOLD 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRTOULL 0
+#define HAVE_DECL_STRTOLD 0
 _ACEOF
 
 
 fi
-
-
-{ $as_echo "$as_me:$LINENO: checking whether fma is declared" >&5
-$as_echo_n "checking whether fma is declared... " >&6; }
-if test "${ac_cv_have_decl_fma+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether strtoll is declared" >&5
+$as_echo_n "checking whether strtoll is declared... " >&6; }
+if test "${ac_cv_have_decl_strtoll+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -14039,13 +14243,13 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <cmath>
+#include <cstdlib>
 
 int
 main ()
 {
-#ifndef fma
-  (void) fma;
+#ifndef strtoll
+  (void) strtoll;
 #endif
 
   ;
@@ -14070,35 +14274,35 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_fma=yes
+  ac_cv_have_decl_strtoll=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_fma=no
+	ac_cv_have_decl_strtoll=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fma" >&5
-$as_echo "$ac_cv_have_decl_fma" >&6; }
-if test "x$ac_cv_have_decl_fma" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoll" >&5
+$as_echo "$ac_cv_have_decl_strtoll" >&6; }
+if test "x$ac_cv_have_decl_strtoll" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMA 1
+#define HAVE_DECL_STRTOLL 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMA 0
+#define HAVE_DECL_STRTOLL 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether fmaf is declared" >&5
-$as_echo_n "checking whether fmaf is declared... " >&6; }
-if test "${ac_cv_have_decl_fmaf+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether strtoull is declared" >&5
+$as_echo_n "checking whether strtoull is declared... " >&6; }
+if test "${ac_cv_have_decl_strtoull+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -14107,13 +14311,13 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <cmath>
+#include <cstdlib>
 
 int
 main ()
 {
-#ifndef fmaf
-  (void) fmaf;
+#ifndef strtoull
+  (void) strtoull;
 #endif
 
   ;
@@ -14138,35 +14342,37 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_fmaf=yes
+  ac_cv_have_decl_strtoull=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_fmaf=no
+	ac_cv_have_decl_strtoull=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fmaf" >&5
-$as_echo "$ac_cv_have_decl_fmaf" >&6; }
-if test "x$ac_cv_have_decl_fmaf" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_strtoull" >&5
+$as_echo "$ac_cv_have_decl_strtoull" >&6; }
+if test "x$ac_cv_have_decl_strtoull" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAF 1
+#define HAVE_DECL_STRTOULL 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAF 0
+#define HAVE_DECL_STRTOULL 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether fmal is declared" >&5
-$as_echo_n "checking whether fmal is declared... " >&6; }
-if test "${ac_cv_have_decl_fmal+set}" = set; then
+
+
+{ $as_echo "$as_me:$LINENO: checking whether fma is declared" >&5
+$as_echo_n "checking whether fma is declared... " >&6; }
+if test "${ac_cv_have_decl_fma+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -14180,8 +14386,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef fmal
-  (void) fmal;
+#ifndef fma
+  (void) fma;
 #endif
 
   ;
@@ -14206,35 +14412,35 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_fmal=yes
+  ac_cv_have_decl_fma=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_fmal=no
+	ac_cv_have_decl_fma=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fmal" >&5
-$as_echo "$ac_cv_have_decl_fmal" >&6; }
-if test "x$ac_cv_have_decl_fmal" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fma" >&5
+$as_echo "$ac_cv_have_decl_fma" >&6; }
+if test "x$ac_cv_have_decl_fma" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAL 1
+#define HAVE_DECL_FMA 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FMAL 0
+#define HAVE_DECL_FMA 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether rintf is declared" >&5
-$as_echo_n "checking whether rintf is declared... " >&6; }
-if test "${ac_cv_have_decl_rintf+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether fmaf is declared" >&5
+$as_echo_n "checking whether fmaf is declared... " >&6; }
+if test "${ac_cv_have_decl_fmaf+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -14248,8 +14454,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef rintf
-  (void) rintf;
+#ifndef fmaf
+  (void) fmaf;
 #endif
 
   ;
@@ -14274,35 +14480,35 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_rintf=yes
+  ac_cv_have_decl_fmaf=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_rintf=no
+	ac_cv_have_decl_fmaf=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_rintf" >&5
-$as_echo "$ac_cv_have_decl_rintf" >&6; }
-if test "x$ac_cv_have_decl_rintf" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fmaf" >&5
+$as_echo "$ac_cv_have_decl_fmaf" >&6; }
+if test "x$ac_cv_have_decl_fmaf" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTF 1
+#define HAVE_DECL_FMAF 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTF 0
+#define HAVE_DECL_FMAF 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether rintl is declared" >&5
-$as_echo_n "checking whether rintl is declared... " >&6; }
-if test "${ac_cv_have_decl_rintl+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether fmal is declared" >&5
+$as_echo_n "checking whether fmal is declared... " >&6; }
+if test "${ac_cv_have_decl_fmal+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -14316,8 +14522,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef rintl
-  (void) rintl;
+#ifndef fmal
+  (void) fmal;
 #endif
 
   ;
@@ -14342,88 +14548,52 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_rintl=yes
+  ac_cv_have_decl_fmal=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_rintl=no
+	ac_cv_have_decl_fmal=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_rintl" >&5
-$as_echo "$ac_cv_have_decl_rintl" >&6; }
-if test "x$ac_cv_have_decl_rintl" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_fmal" >&5
+$as_echo "$ac_cv_have_decl_fmal" >&6; }
+if test "x$ac_cv_have_decl_fmal" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTL 1
+#define HAVE_DECL_FMAL 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RINTL 0
+#define HAVE_DECL_FMAL 0
 _ACEOF
 
 
 fi
-
-
-
-# Checks for the availability of "fast" integral types.
-{ $as_echo "$as_me:$LINENO: checking for int_fast16_t" >&5
-$as_echo_n "checking for int_fast16_t... " >&6; }
-if test "${ac_cv_type_int_fast16_t+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether rintf is declared" >&5
+$as_echo_n "checking whether rintf is declared... " >&6; }
+if test "${ac_cv_have_decl_rintf+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_int_fast16_t=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-if (sizeof (int_fast16_t))
-       return 0;
-  ;
-  return 0;
-}
-_ACEOF
-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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
+#include <cmath>
+
 int
 main ()
 {
-if (sizeof ((int_fast16_t)))
-	  return 0;
+#ifndef rintf
+  (void) rintf;
+#endif
+
   ;
   return 0;
 }
@@ -14446,52 +14616,224 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  :
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_type_int_fast16_t=yes
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  ac_cv_have_decl_rintf=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-
+	ac_cv_have_decl_rintf=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_int_fast16_t" >&5
-$as_echo "$ac_cv_type_int_fast16_t" >&6; }
-if test "x$ac_cv_type_int_fast16_t" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_rintf" >&5
+$as_echo "$ac_cv_have_decl_rintf" >&6; }
+if test "x$ac_cv_have_decl_rintf" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_INT_FAST16_T 1
+#define HAVE_DECL_RINTF 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RINTF 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking for int_fast32_t" >&5
-$as_echo_n "checking for int_fast32_t... " >&6; }
-if test "${ac_cv_type_int_fast32_t+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether rintl is declared" >&5
+$as_echo_n "checking whether rintl is declared... " >&6; }
+if test "${ac_cv_have_decl_rintl+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
-  ac_cv_type_int_fast32_t=no
-cat >conftest.$ac_ext <<_ACEOF
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
+#include <cmath>
+
 int
 main ()
 {
-if (sizeof (int_fast32_t))
-       return 0;
+#ifndef rintl
+  (void) rintl;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_rintl=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_have_decl_rintl=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_rintl" >&5
+$as_echo "$ac_cv_have_decl_rintl" >&6; }
+if test "x$ac_cv_have_decl_rintl" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RINTL 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RINTL 0
+_ACEOF
+
+
+fi
+
+
+
+# Checks for the availability of "fast" integral types.
+{ $as_echo "$as_me:$LINENO: checking for int_fast16_t" >&5
+$as_echo_n "checking for int_fast16_t... " >&6; }
+if test "${ac_cv_type_int_fast16_t+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_type_int_fast16_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (int_fast16_t))
+       return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((int_fast16_t)))
+	  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_type_int_fast16_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_int_fast16_t" >&5
+$as_echo "$ac_cv_type_int_fast16_t" >&6; }
+if test "x$ac_cv_type_int_fast16_t" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_INT_FAST16_T 1
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking for int_fast32_t" >&5
+$as_echo_n "checking for int_fast32_t... " >&6; }
+if test "${ac_cv_type_int_fast32_t+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_type_int_fast32_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (int_fast32_t))
+       return 0;
   ;
   return 0;
 }
@@ -16033,9 +16375,56 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 { $as_echo "$as_me:$LINENO: checking for the GMP library version 4.1.3 or above" >&5
 $as_echo_n "checking for the GMP library version 4.1.3 or above... " >&6; }
 if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: no" >&5
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#include <gmpxx.h>
+
+#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
+#GMP version 4.1.3 or higher is required
+#endif
+
+int
+main() {
+  return 0;
+}
+
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+    ac_cv_have_gmp=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	{ $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-  ac_cv_have_gmp=no
+    ac_cv_have_gmp=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -16051,7 +16440,7 @@ cat >>conftest.$ac_ext <<_ACEOF
 #include <iostream>
 
 #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
-#error "GMP version 4.1.3 or higher is required"
+#GMP version 4.1.3 or higher is required
 #endif
 
 int
@@ -16507,8 +16896,8 @@ _ACEOF
 { $as_echo "$as_me:$LINENO: checking whether GMP has been compiled with support for exceptions" >&5
 $as_echo_n "checking whether GMP has been compiled with support for exceptions... " >&6; }
 if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
   ac_cv_gmp_supports_exceptions=no
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -16598,7 +16987,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define GMP_SUPPORTS_EXCEPTIONS $value
+#define PPL_GMP_SUPPORTS_EXCEPTIONS $value
 _ACEOF
 
 
@@ -16985,7 +17374,112 @@ fi
 extra_includes="${extra_includes}${extra_includes:+ }${gmp_includes_option}"
 extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_option}"
 
-enableval=yes
+# setitimer() is a strong requisite for the PWL.
+
+for ac_func in setitimer
+do
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $ac_func innocuous_$ac_func
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $ac_func (); 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 $ac_func
+
+/* 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 $ac_func ();
+/* 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_$ac_func || defined __stub___$ac_func
+choke me
+#endif
+
+int
+main ()
+{
+return $ac_func ();
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 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
+  eval "$as_ac_var=yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	eval "$as_ac_var=no"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_var'}
+		 $as_echo "$as_val"'`
+	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+as_val=`eval 'as_val=${'$as_ac_var'}
+		 $as_echo "$as_val"'`
+   if test "x$as_val" = x""yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+ have_setitimer=yes
+else
+  have_setitimer=no
+fi
+done
+
+
+enableval=default
 { $as_echo "$as_me:$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.
@@ -16995,12 +17489,22 @@ fi
 
 case "${enableval}" in
 yes)
-  { $as_echo "$as_me:$LINENO: result: yes" >&5
-$as_echo "yes" >&6; }
+  if test x"$have_setitimer" = xyes
+  then
+    build_watchdog_library=yes
+  else
+    { { $as_echo "$as_me:$LINENO: error: CANNOT BUILD THE WATCHDOG LIBRARY
+*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&5
+$as_echo "$as_me: error: CANNOT BUILD THE WATCHDOG LIBRARY
+*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION." >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+  ;;
+default)
+  build_watchdog_library=$have_setitimer
   ;;
 no)
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  build_watchdog_library=no
   ;;
 *)
   { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-watchdog, needs yes or no" >&5
@@ -17008,7 +17512,8 @@ $as_echo "$as_me: error: bad value ${enableval} for --enable-watchdog, needs yes
    { (exit 1); exit 1; }; }
   ;;
 esac
-build_watchdog_library=$enableval
+{ $as_echo "$as_me:$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='#'
@@ -17021,7 +17526,7 @@ if test x"$build_watchdog_library" = xyes
 then
 
 cat >>confdefs.h <<\_ACEOF
-#define WATCHDOG_LIBRARY_ENABLED 1
+#define PPL_WATCHDOG_LIBRARY_ENABLED 1
 _ACEOF
 
 fi
@@ -17098,14 +17603,13 @@ else
 fi
 
 
-# This is the list of available interfaces: lowercase and blank-separated.
-available_interfaces="cxx c ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog ocaml java"
+# 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"
+available_interfaces="${non_prolog_interfaces} ${prolog_interfaces}"
 
 # This is the list of interfaces that are enabled by default.
-#default_interfaces="cxx c swi_prolog"
-#default_interfaces=${available_interfaces}
-default_interfaces="cxx c ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog ocaml java"
-#default_interfaces="cxx c ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog ocaml java"
+default_interfaces=${non_prolog_interfaces}
 
 enableval=not_specified
 { $as_echo "$as_me:$LINENO: checking which interfaces are enabled" >&5
@@ -17175,8 +17679,13 @@ $as_echo "${enabled_interfaces}" >&6; }
   ;;
 esac
 
-# Set an Automake conditional to build or not to build the C interface.
- if test x${cxx_interface_enabled} = xyes && test x"$PERL" != xno; then
+# Perl is needed to build the C++ interface.
+if test x${cxx_interface_enabled} = xyes \
+&& test x"$PERL" != xno
+then
+  build_cxx_interface=yes
+fi
+ if test x$build_cxx_interface = xyes; then
   BUILD_CXX_INTERFACE_TRUE=
   BUILD_CXX_INTERFACE_FALSE='#'
 else
@@ -17185,8 +17694,13 @@ else
 fi
 
 
-# Set an Automake conditional to build or not to build the C interface.
- if test x${c_interface_enabled} = xyes && test x"$PERL" != xno; then
+# Perl is needed to build the C interface.
+if test x${c_interface_enabled} = xyes \
+&& test x"$PERL" != xno
+then
+  build_c_interface=yes
+fi
+ if test x$build_c_interface = xyes; then
   BUILD_C_INTERFACE_TRUE=
   BUILD_C_INTERFACE_FALSE='#'
 else
@@ -17197,36 +17711,36 @@ fi
 
 # Checks for systems for which the interface is enabled.
 
-# Set the optional Java SDK directory.
+# Allow to specify the Java SDK installation directory.
 
 # Check whether --with-java was given.
 if test "${with_java+set}" = set; then
-  withval=$with_java; JAVA_HOME=$with_java
+  withval=$with_java; java_dir=$with_java
 fi
 
 
 case "${host_os}" in
 # On Darwin the JDK, if present, is installed in /Library/Java/Home .
 darwin*)
-  if test "x$JAVA_HOME" = x
+  if test "x$java_dir" = x
   then
-    JAVA_HOME="/Library/Java/Home"
+    java_dir="/Library/Java/Home"
   fi
   ;;
 # On Fedora 9 systems the JDK is usually in /usr/lib/jvm/java .
 linux*)
-  if test "x$JAVA_HOME" = x
+  if test "x$java_dir" = x
   then
-    JAVA_HOME="/usr/lib/jvm/java"
+    java_dir="/usr/lib/jvm/java"
   fi
   ;;
 *)
   ;;
 esac
 
-if test "x$JAVA_HOME" != x
+if test "x$java_dir" != x
 then
-  JAVAPREFIX="${JAVA_HOME}/bin"
+  JAVAPREFIX="${java_dir}/bin"
 fi
 
 # Checks for Java.
@@ -17341,7 +17855,7 @@ else
 JAVA_TEST=Test.java
 CLASS_TEST=Test.class
 cat << \EOF > $JAVA_TEST
-/* #line 17344 "configure" */
+/* #line 17858 "configure" */
 public class Test {
 public enum Relation_Symbol {
     /*! Less than. */
@@ -17532,7 +18046,7 @@ EOF
 if uudecode$EXEEXT Test.uue; then
         ac_cv_prog_uudecode_base64=yes
 else
-        echo "configure: 17535: uudecode had trouble decoding base 64 file 'Test.uue'" >&5
+        echo "configure: 18049: 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
@@ -17651,7 +18165,7 @@ else
 JAVA_TEST=Test.java
 CLASS_TEST=Test.class
 cat << \EOF > $JAVA_TEST
-/* #line 17654 "configure" */
+/* #line 18168 "configure" */
 public class Test {
 public enum Relation_Symbol {
     /*! Less than. */
@@ -17700,7 +18214,7 @@ JAVA_TEST=Test.java
 CLASS_TEST=Test.class
 TEST=Test
 cat << \EOF > $JAVA_TEST
-/* [#]line 17703 "configure" */
+/* [#]line 18217 "configure" */
 public class Test {
 public static void main (String args[]) {
         System.exit (0);
@@ -18020,8 +18534,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 $as_echo_n "checking whether jlong can contain data pointers... " >&6; }
   if test "$cross_compiling" = yes; then
   ac_jlong_can_contain_pointers=no
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: assuming it cannot" >&5
+$as_echo "assuming it cannot" >&6; }
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -18089,9 +18603,18 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 
-# All the Java programs are required to build the Java interface and if
-# the Java interface is enabled.
- if test "x$JAVA" != xno &&  test "x$ac_cv_javac_supports_enums" != xno && test "x$JAR" != xno && test "x$JAVAH" != xno && test x${java_interface_enabled} = xyes && test x${ac_jlong_can_contain_pointers} = xyes; then
+# In order to build the Java interface, it must be enabled and all the
+# Java tools must be available.
+if test x${java_interface_enabled} = xyes \
+&& test "x$JAVA" != xno \
+&& test "x$ac_cv_javac_supports_enums" != xno \
+&& test "x$JAR" != xno \
+&& test "x$JAVAH" != xno \
+&& test x${ac_jlong_can_contain_pointers} = xyes
+then
+  build_java_interface=yes
+fi
+ if test x$build_java_interface = xyes; then
   BUILD_JAVA_INTERFACE_TRUE=
   BUILD_JAVA_INTERFACE_FALSE='#'
 else
@@ -18100,9 +18623,21 @@ else
 fi
 
 
+
+# Allow to specify the ML GMP installation directory.
+
+# Check whether --with-mlgmp was given.
+if test "${with_mlgmp+set}" = set; then
+  withval=$with_mlgmp; mlgmp_dir=$with_mlgmp
+else
+  mlgmp_dir=+gmp
+fi
+
+
 # Checks for OCaml.
 if test x${ocaml_interface_enabled} = xyes
 then
+  # Check for the bytecode compiler.
   # Extract the first word of "ocamlc", so it can be a program name with args.
 set dummy ocamlc; ac_word=$2
 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -18140,26 +18675,106 @@ $as_echo "no" >&6; }
 fi
 
 
-  ocamlgmp="no"
+  ocamlc_gmp="no"
   if test x"$OCAMLC" = xocamlc
   then
      ocamlc_root=`ocamlc -where`
-     # Checks for OCaml GMP.
-     { $as_echo "$as_me:$LINENO: checking for OCaml-GMP module gmp.cma" >&5
-$as_echo_n "checking for OCaml-GMP module gmp.cma... " >&6; }
-     if test -f ${ocamlc_root}/gmp/gmp.cma;
+     # Check for the bytecode version of ML GMP.
+     { $as_echo "$as_me:$LINENO: checking for ML GMP bytecode module gmp.cma" >&5
+$as_echo_n "checking for ML GMP bytecode module gmp.cma... " >&6; }
+     if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlc_root}/gmp/gmp.cma ) \
+        || test -f ${mlgmp_dir}/gmp.cma;
+     then
+         { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+	 ocamlc_gmp="yes"
+     else
+         { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+	 ocamlc_gmp="no"
+     fi
+  fi
+  # Check for the native compiler.
+  # Extract the first word of "ocamlopt", so it can be a program name with args.
+set dummy ocamlopt; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OCAMLOPT+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OCAMLOPT"; then
+  ac_cv_prog_OCAMLOPT="$OCAMLOPT" # 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_OCAMLOPT="ocamlopt"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+OCAMLOPT=$ac_cv_prog_OCAMLOPT
+if test -n "$OCAMLOPT"; then
+  { $as_echo "$as_me:$LINENO: result: $OCAMLOPT" >&5
+$as_echo "$OCAMLOPT" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  ocamlopt_gmp="no"
+  if test x"$OCAMLOPT" = xocamlopt
+  then
+     ocamlopt_root=`ocamlopt -where`
+     # Check for the native version of ML GMP.
+     { $as_echo "$as_me:$LINENO: checking for ML GMP native module gmp.cmxa" >&5
+$as_echo_n "checking for ML GMP native module gmp.cmxa... " >&6; }
+     if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlopt_root}/gmp/gmp.cmxa ) \
+        || test -f ${mlgmp_dir}/gmp.cmxa;
      then
          { $as_echo "$as_me:$LINENO: result: yes" >&5
 $as_echo "yes" >&6; }
-	 ocamlgmp="yes"
+	 ocamlopt_gmp="yes"
      else
          { $as_echo "$as_me:$LINENO: result: no" >&5
 $as_echo "no" >&6; }
-	 ocamlgmp="no"
+	 ocamlopt_gmp="no"
      fi
   fi
 fi
- if test x$OCAMLC = xocamlc && test x$ocamlgmp = xyes; then
+ if test x$ocamlc_gmp = xyes; then
+  HAVE_OCAMLC_TRUE=
+  HAVE_OCAMLC_FALSE='#'
+else
+  HAVE_OCAMLC_TRUE='#'
+  HAVE_OCAMLC_FALSE=
+fi
+
+ if test x$ocamlopt_gmp = xyes; then
+  HAVE_OCAMLOPT_TRUE=
+  HAVE_OCAMLOPT_FALSE='#'
+else
+  HAVE_OCAMLOPT_TRUE='#'
+  HAVE_OCAMLOPT_FALSE=
+fi
+
+
+if test x${ocaml_interface_enabled} = xyes \
+&& (test x$ocamlc_gmp = xyes || test x$ocamlopt_gmp = xyes)
+then
+  build_ocaml_interface=yes
+fi
+ if test x$build_ocaml_interface = xyes; then
   BUILD_OCAML_INTERFACE_TRUE=
   BUILD_OCAML_INTERFACE_FALSE='#'
 else
@@ -18448,7 +19063,13 @@ else
 fi
 
 fi
- if test x$have_ciao_prolog = xyes; then
+
+if test x${ciao_prolog_interface_enabled} = xyes \
+&& test x$have_ciao_prolog = xyes
+then
+  build_ciao_prolog_interface=yes
+fi
+ if test x$build_ciao_prolog_interface = xyes; then
   BUILD_CIAO_PROLOG_INTERFACE_TRUE=
   BUILD_CIAO_PROLOG_INTERFACE_FALSE='#'
 else
@@ -18640,7 +19261,13 @@ fi
 
   fi
 fi
- if test x$GNU_PROLOG = xgprolog; then
+
+if test x${gnu_prolog_interface_enabled} = xyes \
+&& test x$GNU_PROLOG = xgprolog
+then
+  build_gnu_prolog_interface=yes
+fi
+ if test x$build_gnu_prolog_interface = xyes; then
   BUILD_GNU_PROLOG_INTERFACE_TRUE=
   BUILD_GNU_PROLOG_INTERFACE_FALSE='#'
 else
@@ -18889,7 +19516,13 @@ else
 fi
 
 fi
- if test x$have_sicstus_prolog = xyes; then
+
+if test x${sicstus_prolog_interface_enabled} = xyes \
+&& test x$have_sicstus_prolog = xyes
+then
+  build_sicstus_prolog_interface=yes
+fi
+ if test x$build_sicstus_prolog_interface = xyes; then
   BUILD_SICSTUS_PROLOG_INTERFACE_TRUE=
   BUILD_SICSTUS_PROLOG_INTERFACE_FALSE='#'
 else
@@ -18899,9 +19532,7 @@ fi
 
 
 # Checks for SWI-Prolog.
-# Under Cygwin, SWI-Prolog does not work with foreign code:
-# see http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007838.html
-if test x${swi_prolog_interface_enabled} = xyes && test x"${host_os}" != xcygwin
+if test x${swi_prolog_interface_enabled} = xyes
 then
 
 # Extract the first word of "swi-prolog", so it can be a program name with args.
@@ -19039,7 +19670,8 @@ then
   swi_prolog_lib=`$swi_prolog -dump-runtime-variables | grep PLLIB= | sed 's/PLLIB="\(.*\)";/\1/'`
 
 
-  # In Fedora, SWI-Prolog.h is installed in /usr/include/pl.
+  # 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}"
   ac_save_CPPFLAGS="$CPPFLAGS"
@@ -19256,7 +19888,16 @@ else
 fi
 
 fi
- if test x$have_swi_prolog = xyes; then
+
+# Under Cygwin, SWI-Prolog does not work with foreign code:
+# see http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007838.html
+if test x${swi_prolog_interface_enabled} = xyes \
+&& test x$have_swi_prolog = xyes \
+&& test x"${host_os}" != xcygwin
+then
+  build_swi_prolog_interface=yes
+fi
+ if test x$build_swi_prolog_interface = xyes; then
   BUILD_SWI_PROLOG_INTERFACE_TRUE=
   BUILD_SWI_PROLOG_INTERFACE_FALSE='#'
 else
@@ -19331,7 +19972,13 @@ else
 fi
 
 fi
- if test x$have_xsb_prolog = xyes; then
+
+if test x${xsb_prolog_interface_enabled} = xyes \
+&& test x$have_xsb_prolog = xyes
+then
+  build_xsb_prolog_interface=yes
+fi
+ if test x$build_xsb_prolog_interface = xyes; then
   BUILD_XSB_PROLOG_INTERFACE_TRUE=
   BUILD_XSB_PROLOG_INTERFACE_FALSE='#'
 else
@@ -19523,7 +20170,13 @@ fi
 
   fi
 fi
- if test x$YAP_PROLOG = xyap; then
+
+if test x${yap_prolog_interface_enabled} = xyes \
+&& test x$YAP_PROLOG = xyap
+then
+  build_yap_prolog_interface=yes
+fi
+ if test x$build_yap_prolog_interface = xyes; then
   BUILD_YAP_PROLOG_INTERFACE_TRUE=
   BUILD_YAP_PROLOG_INTERFACE_FALSE='#'
 else
@@ -19533,16 +20186,16 @@ fi
 
 
 # Test if *any* Prolog system has to be built.
-if test x${have_ciao_prolog} = xyes \
-|| test x${GNU_PROLOG} = xgprolog \
-|| test x${have_sicstus_prolog} = xyes \
-|| test x${have_swi_prolog} = xyes \
-|| test x${have_xsb_prolog} = xyes \
-|| test x${YAP_PROLOG} = xyap
+if test x$build_ciao_prolog_interface = xyes \
+|| test x$build_gnu_prolog_interface = xyes \
+|| test x$build_sicstus_prolog_interface = xyes \
+|| test x$build_swi_prolog_interface = xyes \
+|| test x$build_xsb_prolog_interface = xyes \
+|| test x$build_yap_prolog_interface = xyes
 then
-  SOME_PROLOG=yes
+  build_some_prolog_interfaces=yes
 fi
- if test x$SOME_PROLOG = xyes; then
+ if test x$build_some_prolog_interfaces = xyes; then
   BUILD_SOME_PROLOG_INTERFACES_TRUE=
   BUILD_SOME_PROLOG_INTERFACES_FALSE='#'
 else
@@ -19551,6 +20204,75 @@ else
 fi
 
 
+if test x$build_c_interface = xyes \
+|| test x$build_java_interface = xyes \
+|| test x$build_ocaml_interface = xyes \
+|| test x$build_some_prolog_interfaces = xyes
+then
+  # Look for a recent enough version of GNU M4.
+
+  { $as_echo "$as_me:$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
+  $as_echo_n "(cached) " >&6
+else
+  rm -f conftest.m4f
+if test -z "$M4"; then
+  ac_path_M4_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 m4 gm4 gnum4; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_M4="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_M4" && $as_test_x "$ac_path_M4"; } || continue
+      # Root out GNU M4 1.4.4, as well as non-GNU m4 that ignore -t, -F.
+      ac_snippet=change'quote(<,>)in''dir(<if''def>,mac,bug)d'nl
+      test -z "`$ac_path_M4 -F conftest.m4f </dev/null 2>&1`" \
+      && test -z "`echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \
+      && test -f conftest.m4f \
+      && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:
+      rm -f conftest.m4f
+      $ac_path_M4_found && break 3
+    done
+  done
+done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_M4"; then
+    { { $as_echo "$as_me:$LINENO: error: no acceptable m4 could be found in \$PATH.
+GNU M4 1.4.5 or later is required; 1.4.11 is recommended" >&5
+$as_echo "$as_me: error: no acceptable m4 could be found in \$PATH.
+GNU M4 1.4.5 or later is required; 1.4.11 is recommended" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_M4=$M4
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_M4" >&5
+$as_echo "$ac_cv_path_M4" >&6; }
+  M4=$ac_cv_path_M4
+  { $as_echo "$as_me:$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
+  $as_echo_n "(cached) " >&6
+else
+  case `$M4 --help < /dev/null 2>&1` in
+      *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;;
+      *) ac_cv_prog_gnu_m4_debugfile=--error-output ;;
+    esac
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gnu_m4_debugfile" >&5
+$as_echo "$ac_cv_prog_gnu_m4_debugfile" >&6; }
+  M4_DEBUGFILE=$ac_cv_prog_gnu_m4_debugfile
+
+
+fi
+
 # Define the list of instantiations that are enabled by default.
 # Different instantiations are separated by a '@' character.
 di="        Polyhedron @ Grid"
@@ -19975,75 +20697,6 @@ Xsed="$SED -e 1s/^X//"
 
 
 
-{ $as_echo "$as_me:$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
-    ac_count=`expr $ac_count + 1`
-    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_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
 test -z "$GREP" && GREP=grep
 
 
@@ -20351,13 +21004,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
 else
   lt_cv_nm_interface="BSD nm"
   echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:20354: $ac_compile\"" >&5)
+  (eval echo "\"\$as_me:21007: $ac_compile\"" >&5)
   (eval "$ac_compile" 2>conftest.err)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:20357: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval echo "\"\$as_me:21010: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
   (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
   cat conftest.err >&5
-  (eval echo "\"\$as_me:20360: output\"" >&5)
+  (eval echo "\"\$as_me:21013: output\"" >&5)
   cat conftest.out >&5
   if $GREP 'External.*some_variable' conftest.out > /dev/null; then
     lt_cv_nm_interface="MS dumpbin"
@@ -21562,7 +22215,7 @@ ia64-*-hpux*)
   ;;
 *-*-irix6*)
   # Find out which ABI we are using.
-  echo '#line 21565 "configure"' > conftest.$ac_ext
+  echo '#line 22218 "configure"' > conftest.$ac_ext
   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   (eval $ac_compile) 2>&5
   ac_status=$?
@@ -23648,11 +24301,11 @@ else
    -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:23651: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24304: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:23655: \$? = $ac_status" >&5
+   echo "$as_me:24308: \$? = $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.
@@ -23987,11 +24640,11 @@ else
    -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:23990: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24643: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:23994: \$? = $ac_status" >&5
+   echo "$as_me:24647: \$? = $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.
@@ -24092,11 +24745,11 @@ else
    -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:24095: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24748: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:24099: \$? = $ac_status" >&5
+   echo "$as_me:24752: \$? = $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
@@ -24147,11 +24800,11 @@ else
    -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:24150: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:24803: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:24154: \$? = $ac_status" >&5
+   echo "$as_me:24807: \$? = $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
@@ -26947,7 +27600,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 26950 "configure"
+#line 27603 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -27043,7 +27696,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 27046 "configure"
+#line 27699 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -29063,11 +29716,11 @@ else
    -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:29066: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:29719: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>conftest.err)
    ac_status=$?
    cat conftest.err >&5
-   echo "$as_me:29070: \$? = $ac_status" >&5
+   echo "$as_me:29723: \$? = $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.
@@ -29162,11 +29815,11 @@ else
    -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:29165: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:29818: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:29169: \$? = $ac_status" >&5
+   echo "$as_me:29822: \$? = $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
@@ -29214,11 +29867,11 @@ else
    -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:29217: $lt_compile\"" >&5)
+   (eval echo "\"\$as_me:29870: $lt_compile\"" >&5)
    (eval "$lt_compile" 2>out/conftest.err)
    ac_status=$?
    cat out/conftest.err >&5
-   echo "$as_me:29221: \$? = $ac_status" >&5
+   echo "$as_me:29874: \$? = $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
@@ -30513,7 +31166,7 @@ $as_echo "$ac_cv_have_decl_lib_set_print_hook" >&6; }
 if test "x$ac_cv_have_decl_lib_set_print_hook" = x""yes; then
 
 cat >>confdefs.h <<\_ACEOF
-#define GLPK_HAS_LIB_SET_PRINT_HOOK 1
+#define PPL_GLPK_HAS_LIB_SET_PRINT_HOOK 1
 _ACEOF
 
 fi
@@ -30606,7 +31259,7 @@ $as_echo "$ac_cv_func__glp_lib_print_hook" >&6; }
 if test "x$ac_cv_func__glp_lib_print_hook" = x""yes; then
 
 cat >>confdefs.h <<\_ACEOF
-#define GLPK_HAS__GLP_LIB_PRINT_HOOK 1
+#define PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK 1
 _ACEOF
 
 fi
@@ -30674,7 +31327,7 @@ $as_echo "$ac_cv_have_decl_glp_term_out" >&6; }
 if test "x$ac_cv_have_decl_glp_term_out" = x""yes; then
 
 cat >>confdefs.h <<\_ACEOF
-#define GLPK_HAS_GLP_TERM_OUT 1
+#define PPL_GLPK_HAS_GLP_TERM_OUT 1
 _ACEOF
 
 fi
@@ -30742,7 +31395,7 @@ $as_echo "$ac_cv_have_decl_glp_term_hook" >&6; }
 if test "x$ac_cv_have_decl_glp_term_hook" = x""yes; then
 
 cat >>confdefs.h <<\_ACEOF
-#define GLPK_HAS_GLP_TERM_HOOK 1
+#define PPL_GLPK_HAS_GLP_TERM_HOOK 1
 _ACEOF
 
 fi
@@ -30756,40 +31409,34 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
-# Checks for header files.
-
-
-
-
-
-
-
-
-for ac_header in fenv.h ieeefp.h getopt.h signal.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`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+# Checks for header declarations.
+{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_DATA is declared" >&5
+$as_echo_n "checking whether RLIMIT_DATA is declared... " >&6; }
+if test "${ac_cv_have_decl_RLIMIT_DATA+set}" = set; then
   $as_echo_n "(cached) " >&6
-fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
 else
-  # Is the header compilable?
-{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
-$as_echo_n "checking $ac_header usability... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
+
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
+
+
+int
+main ()
+{
+#ifndef RLIMIT_DATA
+  (void) RLIMIT_DATA;
+#endif
+
+  ;
+  return 0;
+}
 _ACEOF
 rm -f conftest.$ac_objext
 if { (ac_try="$ac_compile"
@@ -30809,117 +31456,107 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
+  ac_cv_have_decl_RLIMIT_DATA=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_header_compiler=no
+	ac_cv_have_decl_RLIMIT_DATA=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_DATA" >&5
+$as_echo "$ac_cv_have_decl_RLIMIT_DATA" >&6; }
+if test "x$ac_cv_have_decl_RLIMIT_DATA" = x""yes; then
 
-# Is the header present?
-{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
-$as_echo_n "checking $ac_header presence... " >&6; }
-cat >conftest.$ac_ext <<_ACEOF
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RLIMIT_DATA 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RLIMIT_DATA 0
+_ACEOF
+
+
+fi
+{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_RSS is declared" >&5
+$as_echo_n "checking whether RLIMIT_RSS is declared... " >&6; }
+if test "${ac_cv_have_decl_RLIMIT_RSS+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <$ac_header>
+
+#ifdef HAVE_SYS_RESOURCE_H
+# include <sys/resource.h>
+#endif
+
+
+int
+main ()
+{
+#ifndef RLIMIT_RSS
+  (void) RLIMIT_RSS;
+#endif
+
+  ;
+  return 0;
+}
 _ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
+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:$LINENO: $ac_try_echo\""
 $as_echo "$ac_try_echo") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
+       } && test -s conftest.$ac_objext; then
+  ac_cv_have_decl_RLIMIT_RSS=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-  ac_header_preproc=no
+	ac_cv_have_decl_RLIMIT_RSS=no
 fi
 
-rm -f conftest.err conftest.$ac_ext
-{ $as_echo "$as_me:$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:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    ( cat <<\_ASBOX
-## ------------------------------------ ##
-## Report this to ppl-devel at cs.unipr.it ##
-## ------------------------------------ ##
-_ASBOX
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
-$as_echo_n "checking for $ac_header... " >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  $as_echo_n "(cached) " >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-ac_res=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_RSS" >&5
+$as_echo "$ac_cv_have_decl_RLIMIT_RSS" >&6; }
+if test "x$ac_cv_have_decl_RLIMIT_RSS" = x""yes; then
 
-fi
-as_val=`eval 'as_val=${'$as_ac_Header'}
-		 $as_echo "$as_val"'`
-   if test "x$as_val" = x""yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RLIMIT_RSS 1
 _ACEOF
 
-fi
 
-done
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_RLIMIT_RSS 0
+_ACEOF
 
 
-# Checks for header declarations.
-{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_DATA is declared" >&5
-$as_echo_n "checking whether RLIMIT_DATA is declared... " >&6; }
-if test "${ac_cv_have_decl_RLIMIT_DATA+set}" = set; then
+fi
+{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_VMEM is declared" >&5
+$as_echo_n "checking whether RLIMIT_VMEM is declared... " >&6; }
+if test "${ac_cv_have_decl_RLIMIT_VMEM+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -30937,8 +31574,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef RLIMIT_DATA
-  (void) RLIMIT_DATA;
+#ifndef RLIMIT_VMEM
+  (void) RLIMIT_VMEM;
 #endif
 
   ;
@@ -30963,35 +31600,35 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_RLIMIT_DATA=yes
+  ac_cv_have_decl_RLIMIT_VMEM=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_RLIMIT_DATA=no
+	ac_cv_have_decl_RLIMIT_VMEM=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_DATA" >&5
-$as_echo "$ac_cv_have_decl_RLIMIT_DATA" >&6; }
-if test "x$ac_cv_have_decl_RLIMIT_DATA" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_VMEM" >&5
+$as_echo "$ac_cv_have_decl_RLIMIT_VMEM" >&6; }
+if test "x$ac_cv_have_decl_RLIMIT_VMEM" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_DATA 1
+#define HAVE_DECL_RLIMIT_VMEM 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_DATA 0
+#define HAVE_DECL_RLIMIT_VMEM 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_RSS is declared" >&5
-$as_echo_n "checking whether RLIMIT_RSS is declared... " >&6; }
-if test "${ac_cv_have_decl_RLIMIT_RSS+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_AS is declared" >&5
+$as_echo_n "checking whether RLIMIT_AS is declared... " >&6; }
+if test "${ac_cv_have_decl_RLIMIT_AS+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -31009,8 +31646,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef RLIMIT_RSS
-  (void) RLIMIT_RSS;
+#ifndef RLIMIT_AS
+  (void) RLIMIT_AS;
 #endif
 
   ;
@@ -31035,35 +31672,38 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_RLIMIT_RSS=yes
+  ac_cv_have_decl_RLIMIT_AS=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_RLIMIT_RSS=no
+	ac_cv_have_decl_RLIMIT_AS=no
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_RSS" >&5
-$as_echo "$ac_cv_have_decl_RLIMIT_RSS" >&6; }
-if test "x$ac_cv_have_decl_RLIMIT_RSS" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_AS" >&5
+$as_echo "$ac_cv_have_decl_RLIMIT_AS" >&6; }
+if test "x$ac_cv_have_decl_RLIMIT_AS" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_RSS 1
+#define HAVE_DECL_RLIMIT_AS 1
 _ACEOF
 
 
 else
   cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_RSS 0
+#define HAVE_DECL_RLIMIT_AS 0
 _ACEOF
 
 
 fi
-{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_VMEM is declared" >&5
-$as_echo_n "checking whether RLIMIT_VMEM is declared... " >&6; }
-if test "${ac_cv_have_decl_RLIMIT_VMEM+set}" = set; then
+
+
+
+{ $as_echo "$as_me:$LINENO: checking whether getrusage is declared" >&5
+$as_echo_n "checking whether getrusage is declared... " >&6; }
+if test "${ac_cv_have_decl_getrusage+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -31073,6 +31713,9 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
 #ifdef HAVE_SYS_RESOURCE_H
 # include <sys/resource.h>
 #endif
@@ -31081,8 +31724,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-#ifndef RLIMIT_VMEM
-  (void) RLIMIT_VMEM;
+#ifndef getrusage
+  (void) getrusage;
 #endif
 
   ;
@@ -31107,203 +31750,159 @@ $as_echo "$ac_try_echo") >&5
 	 test -z "$ac_cxx_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_RLIMIT_VMEM=yes
+  ac_cv_have_decl_getrusage=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_have_decl_getrusage=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getrusage" >&5
+$as_echo "$ac_cv_have_decl_getrusage" >&6; }
+if test "x$ac_cv_have_decl_getrusage" = x""yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETRUSAGE 1
+_ACEOF
+
+
+else
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETRUSAGE 0
+_ACEOF
+
+
+fi
+
+
+
+# Checks for typedefs, structures, and compiler characteristics.
+{ $as_echo "$as_me:$LINENO: checking for timeval" >&5
+$as_echo_n "checking for timeval... " >&6; }
+if test "${ac_cv_type_timeval+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_type_timeval=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (timeval))
+       return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((timeval)))
+	  return 0;
+  ;
+  return 0;
+}
+_ACEOF
+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:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_RLIMIT_VMEM=no
+	ac_cv_type_timeval=yes
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_VMEM" >&5
-$as_echo "$ac_cv_have_decl_RLIMIT_VMEM" >&6; }
-if test "x$ac_cv_have_decl_RLIMIT_VMEM" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_VMEM 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_VMEM 0
-_ACEOF
-
-
-fi
-{ $as_echo "$as_me:$LINENO: checking whether RLIMIT_AS is declared" >&5
-$as_echo_n "checking whether RLIMIT_AS is declared... " >&6; }
-if test "${ac_cv_have_decl_RLIMIT_AS+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#endif
-
-
-int
-main ()
-{
-#ifndef RLIMIT_AS
-  (void) RLIMIT_AS;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_RLIMIT_AS=yes
 else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_have_decl_RLIMIT_AS=no
+
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_RLIMIT_AS" >&5
-$as_echo "$ac_cv_have_decl_RLIMIT_AS" >&6; }
-if test "x$ac_cv_have_decl_RLIMIT_AS" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_timeval" >&5
+$as_echo "$ac_cv_type_timeval" >&6; }
+if test "x$ac_cv_type_timeval" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_AS 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_RLIMIT_AS 0
+#define HAVE_TIMEVAL 1
 _ACEOF
 
 
 fi
 
-
-
-{ $as_echo "$as_me:$LINENO: checking whether getrusage is declared" >&5
-$as_echo_n "checking whether getrusage is declared... " >&6; }
-if test "${ac_cv_have_decl_getrusage+set}" = set; then
+{ $as_echo "$as_me:$LINENO: checking for siginfo_t" >&5
+$as_echo_n "checking for siginfo_t... " >&6; }
+if test "${ac_cv_type_siginfo_t+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_type_siginfo_t=no
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-#ifdef HAVE_SYS_TIME_H
-# include <sys/time.h>
-#endif
-#ifdef HAVE_SYS_RESOURCE_H
-# include <sys/resource.h>
-#endif
-
-
-int
-main ()
-{
-#ifndef getrusage
-  (void) getrusage;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-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:$LINENO: $ac_try_echo\""
-$as_echo "$ac_try_echo") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_have_decl_getrusage=yes
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_have_decl_getrusage=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_getrusage" >&5
-$as_echo "$ac_cv_have_decl_getrusage" >&6; }
-if test "x$ac_cv_have_decl_getrusage" = x""yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETRUSAGE 1
-_ACEOF
-
-
-else
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETRUSAGE 0
-_ACEOF
-
-
-fi
+#include <signal.h>
 
 
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:$LINENO: checking for timeval" >&5
-$as_echo_n "checking for timeval... " >&6; }
-if test "${ac_cv_type_timeval+set}" = set; then
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_type_timeval=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
 int
 main ()
 {
-if (sizeof (timeval))
+if (sizeof (siginfo_t))
        return 0;
   ;
   return 0;
@@ -31333,11 +31932,14 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
+
+#include <signal.h>
+
+
 int
 main ()
 {
-if (sizeof ((timeval)))
+if (sizeof ((siginfo_t)))
 	  return 0;
   ;
   return 0;
@@ -31366,7 +31968,7 @@ else
   $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	ac_cv_type_timeval=yes
+	ac_cv_type_siginfo_t=yes
 fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -31379,12 +31981,12 @@ fi
 
 rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_timeval" >&5
-$as_echo "$ac_cv_type_timeval" >&6; }
-if test "x$ac_cv_type_timeval" = x""yes; then
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_siginfo_t" >&5
+$as_echo "$ac_cv_type_siginfo_t" >&6; }
+if test "x$ac_cv_type_siginfo_t" = x""yes; then
 
 cat >>confdefs.h <<_ACEOF
-#define HAVE_TIMEVAL 1
+#define HAVE_SIGINFO_T 1
 _ACEOF
 
 
@@ -31406,8 +32008,8 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 { $as_echo "$as_me:$LINENO: checking whether we can limit memory in C++ using setrlimit()" >&5
 $as_echo_n "checking whether we can limit memory in C++ using setrlimit()... " >&6; }
 if test "$cross_compiling" = yes; then
-  { $as_echo "$as_me:$LINENO: result: no" >&5
-$as_echo "no" >&6; }
+  { $as_echo "$as_me:$LINENO: result: assuming not" >&5
+$as_echo "assuming not" >&6; }
   ac_cxx_supports_limiting_memory=no
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -31532,7 +32134,7 @@ else
 fi
 
 cat >>confdefs.h <<_ACEOF
-#define CXX_SUPPORTS_LIMITING_MEMORY $value
+#define PPL_CXX_SUPPORTS_LIMITING_MEMORY $value
 _ACEOF
 
 
@@ -31599,6 +32201,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/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/examples/Makefile doc/Makefi [...]
 
 #               tests/Ask_Tell/Makefile
@@ -31762,6 +32365,13 @@ $as_echo "$as_me: error: conditional \"HOST_OS_DARWIN\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${HOST_OS_MINGW_TRUE}" && test -z "${HOST_OS_MINGW_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HOST_OS_MINGW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HOST_OS_MINGW\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${HOST_OS_SOLARIS_TRUE}" && test -z "${HOST_OS_SOLARIS_FALSE}"; then
   { { $as_echo "$as_me:$LINENO: error: conditional \"HOST_OS_SOLARIS\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -31910,6 +32520,20 @@ $as_echo "$as_me: error: conditional \"BUILD_JAVA_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${HAVE_OCAMLC_TRUE}" && test -z "${HAVE_OCAMLC_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_OCAMLC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_OCAMLC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
+if test -z "${HAVE_OCAMLOPT_TRUE}" && test -z "${HAVE_OCAMLOPT_FALSE}"; then
+  { { $as_echo "$as_me:$LINENO: error: conditional \"HAVE_OCAMLOPT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+$as_echo "$as_me: error: conditional \"HAVE_OCAMLOPT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 if test -z "${BUILD_OCAML_INTERFACE_TRUE}" && test -z "${BUILD_OCAML_INTERFACE_FALSE}"; then
   { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_OCAML_INTERFACE\" was never defined.
 Usually this means the macro was only invoked conditionally." >&5
@@ -32337,7 +32961,7 @@ exec 6>&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.10, which was
+This file was extended by the Parma Polyhedra Library $as_me 0.10.1pre13, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32400,7 +33024,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-the Parma Polyhedra Library config.status 0.10
+the Parma Polyhedra Library config.status 0.10.1pre13
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -32513,7 +33137,6 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #
 # INIT-COMMANDS
 #
-PACKAGE="$PACKAGE"
 AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
 
 
@@ -32876,7 +33499,6 @@ for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
     "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-    "$PACKAGE-config.h") CONFIG_COMMANDS="$CONFIG_COMMANDS $PACKAGE-config.h" ;;
     "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
     "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
@@ -33579,140 +34201,6 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
 
 
   case $ac_file$ac_mode in
-    "$PACKAGE-config.h":C) ac_prefix_conf_OUT=`echo $PACKAGE-config.h`
-ac_prefix_conf_DEF=`echo _$ac_prefix_conf_OUT | sed -e "y:abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:" -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g"`
-ac_prefix_conf_PKG=`echo $PACKAGE`
-ac_prefix_conf_LOW=`echo _$ac_prefix_conf_PKG | sed -e "y:ABCDEFGHIJKLMNOPQRSTUVWXYZ-:abcdefghijklmnopqrstuvwxyz_:"`
-ac_prefix_conf_UPP=`echo $ac_prefix_conf_PKG | sed -e "y:abcdefghijklmnopqrstuvwxyz-:ABCDEFGHIJKLMNOPQRSTUVWXYZ_:"  -e "/^[0123456789]/s/^/_/"`
-ac_prefix_conf_INP=`echo "" | sed -e 's/ *//'`
-if test ".$ac_prefix_conf_INP" = "."; then
-   for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
-     case "$ac_file" in
-        *.h) ac_prefix_conf_INP=$ac_file ;;
-        *)
-     esac
-     test ".$ac_prefix_conf_INP" != "." && break
-   done
-fi
-if test ".$ac_prefix_conf_INP" = "."; then
-   case "$ac_prefix_conf_OUT" in
-      */*) ac_prefix_conf_INP=`basename "$ac_prefix_conf_OUT"`
-      ;;
-      *-*) ac_prefix_conf_INP=`echo "$ac_prefix_conf_OUT" | sed -e "s/[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*-//"`
-      ;;
-      *) ac_prefix_conf_INP=config.h
-      ;;
-   esac
-fi
-if test -z "$ac_prefix_conf_PKG" ; then
-   { { $as_echo "$as_me:$LINENO: error: no prefix for _PREFIX_PKG_CONFIG_H" >&5
-$as_echo "$as_me: error: no prefix for _PREFIX_PKG_CONFIG_H" >&2;}
-   { (exit 1); exit 1; }; }
-else
-  if test ! -f "$ac_prefix_conf_INP" ; then if test -f "$srcdir/$ac_prefix_conf_INP" ; then
-     ac_prefix_conf_INP="$srcdir/$ac_prefix_conf_INP"
-  fi fi
-  { $as_echo "$as_me:$LINENO: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&5
-$as_echo "$as_me: creating $ac_prefix_conf_OUT - prefix $ac_prefix_conf_UPP for $ac_prefix_conf_INP defines" >&6;}
-  if test -f $ac_prefix_conf_INP ; then
-    echo "s/#undef  *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_]\\)/#undef $ac_prefix_conf_UPP""_\\1/" > conftest.prefix
-    echo "s/#undef  *\\([abcdefghijklmnopqrstuvwxyz]\\)/#undef $ac_prefix_conf_LOW""_\\1/" >> conftest.prefix
-    echo "s/#define  *\\([ABCDEFGHIJKLMNOPQRSTUVWXYZ_][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_UPP""_\\1 \\" >> conftest.prefix
-    echo "#define $ac_prefix_conf_UPP""_\\1 \\2 \\" >> conftest.prefix
-    echo "#endif/" >>conftest.prefix
-    echo "s/#define  *\\([abcdefghijklmnopqrstuvwxyz][abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]*\\)\\(.*\\)/#ifndef $ac_prefix_conf_LOW""_\\1 \\" >> conftest.prefix
-    echo "#define $ac_prefix_conf_LOW""_\\1 \\2 \\" >> conftest.prefix
-    echo "#endif/" >> conftest.prefix
-    # now executing _script on _DEF input to create _OUT output file
-    echo "#ifndef $ac_prefix_conf_DEF"      >$tmp/pconfig.h
-    echo "#define $ac_prefix_conf_DEF 1" >>$tmp/pconfig.h
-    echo ' ' >>$tmp/pconfig.h
-    echo /'*' $ac_prefix_conf_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
-
-    sed -f conftest.prefix $ac_prefix_conf_INP >>$tmp/pconfig.h
-    echo ' ' >>$tmp/pconfig.h
-    echo '/* once:' $ac_prefix_conf_DEF '*/' >>$tmp/pconfig.h
-    echo "#endif" >>$tmp/pconfig.h
-    if cmp -s $ac_prefix_conf_OUT $tmp/pconfig.h 2>/dev/null; then
-      { $as_echo "$as_me:$LINENO: $ac_prefix_conf_OUT is unchanged" >&5
-$as_echo "$as_me: $ac_prefix_conf_OUT is unchanged" >&6;}
-    else
-      ac_dir=`$as_dirname -- "$ac_prefix_conf_OUT" ||
-$as_expr X"$ac_prefix_conf_OUT" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	 X"$ac_prefix_conf_OUT" : 'X\(//\)[^/]' \| \
-	 X"$ac_prefix_conf_OUT" : 'X\(//\)$' \| \
-	 X"$ac_prefix_conf_OUT" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_prefix_conf_OUT" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)[^/].*/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\/\)$/{
-	    s//\1/
-	    q
-	  }
-	  /^X\(\/\).*/{
-	    s//\1/
-	    q
-	  }
-	  s/.*/./; q'`
-      { as_dir="$ac_dir"
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    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_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-      rm -f "$ac_prefix_conf_OUT"
-      mv $tmp/pconfig.h "$ac_prefix_conf_OUT"
-    fi
-    cp conftest.prefix _configs.sed
-  else
-    { { $as_echo "$as_me:$LINENO: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&5
-$as_echo "$as_me: error: input file $ac_prefix_conf_INP does not exist - skip generating $ac_prefix_conf_OUT" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  rm -f conftest.*
-fi
- ;;
     "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
   # Strip MF so we end up with the name of the file.
   mf=`echo "$mf" | sed -e 's/:.*$//'`
diff --git a/configure.ac b/configure.ac
index 86c7a6a..bb40683 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 # Autoconf source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -20,13 +20,13 @@
 # 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.
+# 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.10], [ppl-devel at cs.unipr.it], [ppl])
+AC_INIT([the Parma Polyhedra Library],[0.10.1pre13],[ppl-devel at cs.unipr.it],[ppl])
 
 # Minimum Autoconf version required.
-AC_PREREQ(2.60)
+AC_PREREQ(2.61)
 
 # Make sure the sources are there.
 AC_CONFIG_SRCDIR(src/Polyhedron_public.cc)
@@ -67,18 +67,12 @@ AC_SUBST(PPL_VERSION_MINOR)
 AC_SUBST(PPL_VERSION_REVISION)
 AC_SUBST(PPL_VERSION_BETA)
 
-AC_DEFINE_UNQUOTED(CONFIGURE_OPTIONS, "$ac_configure_args", [This contains the options with which `configure' was invoked.])
+AC_DEFINE_UNQUOTED(PPL_CONFIGURE_OPTIONS, "$ac_configure_args", [This contains the options with which `configure' was invoked.])
 PPL_CONFIGURE_OPTIONS="\"$ac_configure_args\""
 AC_SUBST(CONFIGURE_OPTIONS)
 
-# Installation directories.
-AC_SUBST([docdir], ['${datadir}/doc/ppl'])
-
 # Generate a configuration header file.
-AC_CONFIG_HEADER(config.h)
-
-# Generate prefixed defines.
-AX_PREFIX_CONFIG_H
+AC_CONFIG_HEADER([config.h])
 
 ISODATE=`date +%Y-%m-%d`
 AC_SUBST(ISODATE)
@@ -86,23 +80,23 @@ AC_SUBST(ISODATE)
 AH_TOP([
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
+#define PPL_FLOAT_IEEE754_SINGLE 1
 
 /* Unique (nonzero) code for the IEEE 754 Double Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
+#define PPL_FLOAT_IEEE754_DOUBLE 2
 
 /* Unique (nonzero) code for the IEEE 754 Quad Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
+#define PPL_FLOAT_IEEE754_QUAD 3
 
 /* Unique (nonzero) code for the Intel Double-Extended
    floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
+#define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
 ])
 
 AH_BOTTOM([
-#ifdef PPL_NDEBUG
+#if defined(PPL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PPL_NDEBUG
 #endif
 
@@ -128,15 +122,13 @@ AH_BOTTOM([
 # C compiler.
 
 AC_ARG_WITH(cc,
-  AC_HELP_STRING([--with-cc=XXX],
-    [use XXX as the C compiler]),
+  AS_HELP_STRING([--with-cc=XXX], [use XXX as the C compiler]),
   CC=$with_cc)
 
 # C++ compiler.
 
 AC_ARG_WITH(cxx,
-  AC_HELP_STRING([--with-cxx=XXX],
-    [use XXX as the C++ compiler]),
+  AS_HELP_STRING([--with-cxx=XXX], [use XXX as the C++ compiler]),
   CXX=$with_cxx)
 
 # Checks for programs.
@@ -192,6 +184,7 @@ choke me
   AC_LANG_POP(C++)
 fi
 
+AC_PROG_FGREP
 AC_PROG_EGREP
 AC_PROG_SED
 AC_PROG_CXXCPP
@@ -206,8 +199,7 @@ OPT_FLAGS=""
 enableval=yes
 AC_MSG_CHECKING([whether to compile with debug info])
 AC_ARG_ENABLE(debugging,
-  AC_HELP_STRING([--enable-debugging],
-    [compile with debugging information]))
+  AS_HELP_STRING([--enable-debugging], [compile with debugging information]))
 case "${enableval}" in
 yes)
   AC_MSG_RESULT(yes)
@@ -225,8 +217,7 @@ AM_CONDITIONAL(DEBUGGING_ENABLED, test x"$enableval" = xyes)
 enableval=no
 AC_MSG_CHECKING([whether to compile for profiling])
 AC_ARG_ENABLE(profiling,
-  AC_HELP_STRING([--enable-profiling],
-    [compile for profiling]))
+  AS_HELP_STRING([--enable-profiling], [compile for profiling]))
 case "${enableval}" in
 yes)
   AC_MSG_RESULT(yes)
@@ -244,8 +235,7 @@ esac
 enableval=no
 AC_MSG_CHECKING([whether to compile for test coverage])
 AC_ARG_ENABLE(coverage,
-  AC_HELP_STRING([--enable-coverage],
-    [compile for test coverage]))
+  AS_HELP_STRING([--enable-coverage], [compile for test coverage]))
 case "${enableval}" in
 yes)
   AC_MSG_RESULT(yes)
@@ -263,8 +253,7 @@ esac
 enableval=no
 AC_MSG_CHECKING([whether to enable checking of run-time assertions])
 AC_ARG_ENABLE(assertions,
-  AC_HELP_STRING([--enable-assertions],
-    [check run-time assertions]))
+  AS_HELP_STRING([--enable-assertions], [check run-time assertions]))
 case "${enableval}" in
 yes)
   AC_MSG_RESULT(yes)
@@ -281,8 +270,8 @@ enable_assertions=${enableval}
 enableval=no
 AC_MSG_CHECKING([whether to enable even more run-time assertions])
 AC_ARG_ENABLE(more-assertions,
-  AC_HELP_STRING([--enable-more-assertions],
-    [break the ABI to check even more run-time assertions]))
+  AS_HELP_STRING([--enable-more-assertions],
+                 [break the ABI to check even more run-time assertions]))
 case "${enableval}" in
 yes)
   AC_MSG_RESULT(yes)
@@ -299,14 +288,14 @@ enable_more_assertions=${enableval}
 if test x"$enable_more_assertions" = xyes
 then
   enable_assertions=yes
-  AC_DEFINE(ABI_BREAKING_EXTRA_DEBUG, 1, [ABI-breaking extra assertions are enabled when this is defined.])
+  AC_DEFINE(PPL_ABI_BREAKING_EXTRA_DEBUG, 1, [ABI-breaking extra assertions are enabled when this is defined.])
   AC_DEFINE(_GLIBCXX_DEBUG, 1, [When defined and libstdc++ is used, it is used in debug mode.])
   AC_DEFINE(_GLIBCXX_DEBUG_PEDANTIC, 1, [When defined and libstdc++ is used, it is used in pedantic debug mode.])
 fi
 
 if test x"$enable_assertions" = xno
 then
-  AC_DEFINE(NDEBUG, 1, [Assertions are disabled when this is defined.])
+  AC_DEFINE(PPL_NDEBUG, 1, [Assertions are disabled when this is defined.])
   debug_flag="-DNDEBUG=1"
 fi
 
@@ -317,8 +306,8 @@ arch=no
 enableval=standard
 AC_MSG_CHECKING([whether to enable optimizations])
 AC_ARG_ENABLE(optimization,
-  AC_HELP_STRING([--enable-optimization@<:@=LEVEL@:>@],
-    [enable compiler optimizations]))
+  AS_HELP_STRING([--enable-optimization@<:@=LEVEL@:>@],
+                 [enable compiler optimizations]))
 case "${enableval}" in
 sspeed)
   AC_MSG_RESULT(sspeed)
@@ -358,8 +347,8 @@ esac
 enableval=$arch
 AC_MSG_CHECKING([for which architecture to optimize])
 AC_ARG_ENABLE(arch,
-  AC_HELP_STRING([--enable-arch@<:@=ARCH@:>@],
-    [optimize for architecture ARCH]))
+  AS_HELP_STRING([--enable-arch@<:@=ARCH@:>@],
+                 [optimize for architecture ARCH]))
 case "${enableval}" in
 yes)
   m=`uname -m`
@@ -387,8 +376,8 @@ fpmath_may_use_387=yes
 fpmath_may_use_sse=yes
 AC_MSG_CHECKING([whether to select specific floating point arithmetics])
 AC_ARG_ENABLE(fpmath,
-  AC_HELP_STRING([--enable-fpmath=INSTRUCTION_SET],
-    [select floating point arithmetics]))
+  AS_HELP_STRING([--enable-fpmath=INSTRUCTION_SET],
+                 [select floating point arithmetics]))
 case "${enableval}" in
 sse)
   AC_MSG_RESULT(sse)
@@ -432,12 +421,12 @@ esac
 
 if test x"$fpmath_may_use_387" = xyes
 then
-  AC_DEFINE(FPMATH_MAY_USE_387, 1, [Defined if floating point arithmetics may use the 387 unit.])
+  AC_DEFINE(PPL_FPMATH_MAY_USE_387, 1, [Defined if floating point arithmetics may use the 387 unit.])
 fi
 
 if test x"$fpmath_may_use_sse" = xyes
 then
-  AC_DEFINE(FPMATH_MAY_USE_SSE, 1, [Defined if floating point arithmetics may use the SSE instruction set.])
+  AC_DEFINE(PPL_FPMATH_MAY_USE_SSE, 1, [Defined if floating point arithmetics may use the SSE instruction set.])
 fi
 
 # Disable all transformations and optimizations that assume default
@@ -455,8 +444,8 @@ fi
 enableval=no
 AC_MSG_CHECKING([whether to use precompiled headers])
 AC_ARG_ENABLE(pch,
-  AC_HELP_STRING([--enable-pch],
-    [use precompiled headers, if available]))
+  AS_HELP_STRING([--enable-pch],
+                 [use precompiled headers, if available]))
 case "${enableval}" in
 yes)
   AC_MSG_RESULT(yes)
@@ -476,6 +465,7 @@ CXXFLAGS="$COMP_FLAGS $OPT_FLAGS $CXXFLAGS"
 
 # System-dependent adjustments.
 cygwin=no
+mingw=no
 darwin=no
 solaris=no
 x86_64=no
@@ -507,6 +497,9 @@ cygwin)
 darwin*)
   darwin=yes
   ;;
+mingw*)
+  mingw=yes
+  ;;
 solaris*)
   solaris=yes
   ;;
@@ -516,6 +509,7 @@ esac
 
 AM_CONDITIONAL(HOST_OS_CYGWIN, test x$cygwin = xyes)
 AM_CONDITIONAL(HOST_OS_DARWIN, test x$darwin = xyes)
+AM_CONDITIONAL(HOST_OS_MINGW, test x$mingw = xyes)
 AM_CONDITIONAL(HOST_OS_SOLARIS, test x$solaris = xyes)
 
 AM_CONDITIONAL(HOST_CPU_X86_64, test x$x86_64 = xyes)
@@ -526,8 +520,8 @@ AM_CONDITIONAL(NO_UNDEFINED, test x$no_undefined = xyes)
 enableval=mpz
 AC_MSG_CHECKING([the type of integral values to use as coefficients])
 AC_ARG_ENABLE(coefficients,
-  AC_HELP_STRING([--enable-coefficients=TYPE],
-    [select the type of the coefficients]))
+  AS_HELP_STRING([--enable-coefficients=TYPE],
+                 [select the type of the coefficients]))
 case "${enableval}" in
 native-int8)
   AC_MSG_RESULT([native 8 bits integers])
@@ -600,32 +594,32 @@ 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>"
-  AC_DEFINE_UNQUOTED(COEFFICIENT_TYPE, $coefficient_type, [The integral type used to represent coefficients.])
-  AC_DEFINE_UNQUOTED(COEFFICIENT_BITS, $coefficient_bits, [The number of bits of coefficients; 0 if unbounded.])
-  AC_DEFINE(NATIVE_INTEGERS, 1, [Defined if the integral type to be used for coefficients is a native one.])
+  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.])
 elif test x"$coefficient_kind" = xchecked
 then
   coefficient_type="Parma_Polyhedra_Library::Checked_Number<int${coefficient_bits}_t>"
-  AC_DEFINE_UNQUOTED(COEFFICIENT_TYPE, $coefficient_type)
-  AC_DEFINE_UNQUOTED(COEFFICIENT_BITS, $coefficient_bits)
-  AC_DEFINE(CHECKED_INTEGERS, 1, [Defined if the integral type to be used for coefficients is a checked one.])
+  AC_DEFINE_UNQUOTED(PPL_COEFFICIENT_TYPE, $coefficient_type)
+  AC_DEFINE_UNQUOTED(PPL_COEFFICIENT_BITS, $coefficient_bits)
+  AC_DEFINE(PPL_CHECKED_INTEGERS, 1, [Defined if the integral type to be used for coefficients is a checked one.])
 elif test x"$coefficient_kind" = xunbounded
 then
-  AC_DEFINE(COEFFICIENT_TYPE, mpz_class)
-  AC_DEFINE(COEFFICIENT_BITS, 0)
-  AC_DEFINE(GMP_INTEGERS, 1, [Defined if the integral type to be used for coefficients is GMP's one.])
+  AC_DEFINE(PPL_COEFFICIENT_TYPE, mpz_class)
+  AC_DEFINE(PPL_COEFFICIENT_BITS, 0)
+  AC_DEFINE(PPL_GMP_INTEGERS, 1, [Defined if the integral type to be used for coefficients is GMP's one.])
 fi
 
 # Allow additions to C and C++ compilation flags.
 
 AC_ARG_WITH(cflags,
-  AC_HELP_STRING([--with-cflags=XXX],
-    [add XXX to the options for the C compiler]),
+  AS_HELP_STRING([--with-cflags=XXX],
+                 [add XXX to the options for the C compiler]),
   CFLAGS="$CFLAGS $with_cflags")
 
 AC_ARG_WITH(cxxflags,
-  AC_HELP_STRING([--with-cxxflags=XXX],
-    [add XXX to the options for the C++ compiler]),
+  AS_HELP_STRING([--with-cxxflags=XXX],
+                 [add XXX to the options for the C++ compiler]),
   CXXFLAGS="$CXXFLAGS $with_cxxflags")
 
 # Check for Perl.
@@ -698,8 +692,20 @@ AC_CXX_HAS_REMAINDER_BUG
 # Check whether the C++ compiler supports __attribute__ ((weak)).
 AC_CXX_SUPPORTS_ATTRIBUTE_WEAK
 
+# Checks for header files.
+AC_CHECK_HEADERS([fenv.h ieeefp.h getopt.h signal.h string.h strings.h sys/resource.h sys/time.h sys/types.h unistd.h])
+
 # Checks for the availability of C library functions in C++.
-AC_CHECK_DECLS([ffs], , , [#include <strings.h>])
+AC_CHECK_DECLS([ffs],
+               ,
+               ,
+               [
+#if defined(HAVE_STRINGS_H)
+# include <strings.h>
+#elif defined(HAVE_STRING_H)
+# include <string.h>
+#endif
+               ])
 AC_CHECK_DECLS([getenv,strtof,strtod,strtold,strtoll,strtoull], , , [#include <cstdlib>])
 AC_CHECK_DECLS([fma,fmaf,fmal,rintf,rintl], , , [#include <cmath>])
 
@@ -749,27 +755,39 @@ fi
 extra_includes="${extra_includes}${extra_includes:+ }${gmp_includes_option}"
 extra_libraries="${extra_libraries}${extra_libraries:+ }${gmp_library_option}"
 
-enableval=yes
+# setitimer() is a strong requisite for the PWL.
+AC_CHECK_FUNCS([setitimer], [have_setitimer=yes], [have_setitimer=no])
+
+enableval=default
 AC_MSG_CHECKING([whether to build the Parma Watchdog Library])
 AC_ARG_ENABLE(watchdog,
-  AC_HELP_STRING([--enable-watchdog],
-    [build also the Parma Watchdog Library]))
+  AS_HELP_STRING([--enable-watchdog],
+                 [build also the Parma Watchdog Library]))
 case "${enableval}" in
 yes)
-  AC_MSG_RESULT(yes)
+  if test x"$have_setitimer" = xyes
+  then
+    build_watchdog_library=yes
+  else
+    AC_MSG_ERROR([CANNOT BUILD THE WATCHDOG LIBRARY
+*** THE SYSTEM DOES NOT PROVIDE THE SETITIMER FUNCTION.])
+  fi
+  ;;
+default)
+  build_watchdog_library=$have_setitimer
   ;;
 no)
-  AC_MSG_RESULT(no)
+  build_watchdog_library=no
   ;;
 *)
   AC_MSG_ERROR([bad value ${enableval} for --enable-watchdog, needs yes or no])
   ;;
 esac
-build_watchdog_library=$enableval
+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(WATCHDOG_LIBRARY_ENABLED, 1, [Defined if the Parma Watchdog Library is enabled.])
+  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.
@@ -778,8 +796,7 @@ AC_CONFIG_SUBDIRS(Watchdog)
 enableval=yes
 AC_MSG_CHECKING([whether to build the ppl_lcdd program])
 AC_ARG_ENABLE(ppl_lcdd,
-  AC_HELP_STRING([--enable-ppl_lcdd],
-    [build the ppl_lcdd program]))
+  AS_HELP_STRING([--enable-ppl_lcdd], [build the ppl_lcdd program]))
 case "${enableval}" in
 yes)
   AC_MSG_RESULT(yes)
@@ -797,8 +814,7 @@ AM_CONDITIONAL(BUILD_PPL_LCDD, test x"$build_ppl_lcdd" = xyes)
 enableval=yes
 AC_MSG_CHECKING([whether to build the ppl_lpsol program])
 AC_ARG_ENABLE(ppl_lpsol,
-  AC_HELP_STRING([--enable-ppl_lpsol],
-    [build the ppl_lpsol program]))
+  AS_HELP_STRING([--enable-ppl_lpsol], [build the ppl_lpsol program]))
 case "${enableval}" in
 yes)
   AC_MSG_RESULT(yes)
@@ -813,20 +829,19 @@ esac
 build_ppl_lpsol=$enableval
 AM_CONDITIONAL(BUILD_PPL_LPSOL, test x"$build_ppl_lpsol" = xyes)
 
-# This is the list of available interfaces: lowercase and blank-separated.
-available_interfaces="cxx c ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog ocaml java"
+# 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"
+available_interfaces="${non_prolog_interfaces} ${prolog_interfaces}"
 
 # This is the list of interfaces that are enabled by default.
-#default_interfaces="cxx c swi_prolog"
-#default_interfaces=${available_interfaces}
-default_interfaces="cxx c ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog ocaml java"
-#default_interfaces="cxx c ciao_prolog gnu_prolog sicstus_prolog swi_prolog xsb_prolog yap_prolog ocaml java"
+default_interfaces=${non_prolog_interfaces}
 
 enableval=not_specified
 AC_MSG_CHECKING([which interfaces are enabled])
 AC_ARG_ENABLE(interfaces,
-  AC_HELP_STRING([--enable-interfaces=INTERFACES],
-    [enable some or all the library interfaces]))
+  AS_HELP_STRING([--enable-interfaces=INTERFACES],
+                 [enable some or all the library interfaces]))
 case x"${enableval}" in
 xyes | x)
   AC_MSG_ERROR([--enable-interfaces needs at least one argument chosen among ${available_interfaces}, none and all])
@@ -880,42 +895,51 @@ xall)
   ;;
 esac
 
-# Set an Automake conditional to build or not to build the C interface.
-AM_CONDITIONAL(BUILD_CXX_INTERFACE, test x${cxx_interface_enabled} = xyes && test x"$PERL" != xno)
+# Perl is needed to build the C++ interface.
+if test x${cxx_interface_enabled} = xyes \
+&& test x"$PERL" != xno
+then
+  build_cxx_interface=yes
+fi
+AM_CONDITIONAL(BUILD_CXX_INTERFACE, test x$build_cxx_interface = xyes)
 
-# Set an Automake conditional to build or not to build the C interface.
-AM_CONDITIONAL(BUILD_C_INTERFACE, test x${c_interface_enabled} = xyes && test x"$PERL" != xno)
+# Perl is needed to build the C interface.
+if test x${c_interface_enabled} = xyes \
+&& test x"$PERL" != xno
+then
+  build_c_interface=yes
+fi
+AM_CONDITIONAL(BUILD_C_INTERFACE, test x$build_c_interface = xyes)
 
 # Checks for systems for which the interface is enabled.
 
-# Set the optional Java SDK directory.
+# Allow to specify the Java SDK installation directory.
 AC_ARG_WITH(java,
-	AC_HELP_STRING([--with-java=DIR],
-       [use the Java SDK installed in DIR]),
-       [JAVA_HOME=$with_java])
+  AS_HELP_STRING([--with-java=DIR], [use the Java SDK installed in DIR]),
+  java_dir=$with_java)
 
 case "${host_os}" in
 # On Darwin the JDK, if present, is installed in /Library/Java/Home .
 darwin*)
-  if test "x$JAVA_HOME" = x
+  if test "x$java_dir" = x
   then
-    JAVA_HOME="/Library/Java/Home"
+    java_dir="/Library/Java/Home"
   fi
   ;;
 # On Fedora 9 systems the JDK is usually in /usr/lib/jvm/java .
 linux*)
-  if test "x$JAVA_HOME" = x
+  if test "x$java_dir" = x
   then
-    JAVA_HOME="/usr/lib/jvm/java"
+    java_dir="/usr/lib/jvm/java"
   fi
   ;;
 *)
   ;;
 esac
 
-if test "x$JAVA_HOME" != x
+if test "x$java_dir" != x
 then
-  JAVAPREFIX="${JAVA_HOME}/bin"
+  JAVAPREFIX="${java_dir}/bin"
 fi
 
 # Checks for Java.
@@ -947,43 +971,95 @@ then
   ac_jlong_can_contain_pointers=no
   AC_MSG_RESULT(no),
   ac_jlong_can_contain_pointers=no
-  AC_MSG_RESULT(no))
+  AC_MSG_RESULT([assuming it cannot]))
   AC_LANG_POP(C++)
   CPPFLAGS="$ac_save_CPPFLAGS"
 fi
 
-# All the Java programs are required to build the Java interface and if
-# the Java interface is enabled.
-AM_CONDITIONAL(BUILD_JAVA_INTERFACE, test "x$JAVA" != xno &&  test "x$ac_cv_javac_supports_enums" != xno && test "x$JAR" != xno && test "x$JAVAH" != xno && test x${java_interface_enabled} = xyes && test x${ac_jlong_can_contain_pointers} = xyes)
+# In order to build the Java interface, it must be enabled and all the
+# Java tools must be available.
+if test x${java_interface_enabled} = xyes \
+&& test "x$JAVA" != xno \
+&& test "x$ac_cv_javac_supports_enums" != xno \
+&& test "x$JAR" != xno \
+&& test "x$JAVAH" != xno \
+&& test x${ac_jlong_can_contain_pointers} = xyes
+then
+  build_java_interface=yes
+fi
+AM_CONDITIONAL(BUILD_JAVA_INTERFACE, test x$build_java_interface = xyes)
+
+
+# Allow to specify the ML GMP installation directory.
+AC_ARG_WITH(mlgmp,
+  AS_HELP_STRING([--with-mlgmp=DIR],
+                 [use the ML GMP package installed in DIR]),
+  mlgmp_dir=$with_mlgmp,
+  mlgmp_dir=+gmp)
 
 # Checks for OCaml.
 if test x${ocaml_interface_enabled} = xyes
 then
+  # Check for the bytecode compiler.
   AC_CHECK_PROG(OCAMLC, ocamlc, ocamlc)
-  ocamlgmp="no"
+  ocamlc_gmp="no"
   if test x"$OCAMLC" = xocamlc
   then
      ocamlc_root=`ocamlc -where`
-     # Checks for OCaml GMP.
-     AC_MSG_CHECKING(for OCaml-GMP module gmp.cma)
-     if test -f ${ocamlc_root}/gmp/gmp.cma;
+     # Check for the bytecode version of ML GMP.
+     AC_MSG_CHECKING([for ML GMP bytecode module gmp.cma])
+     if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlc_root}/gmp/gmp.cma ) \
+        || test -f ${mlgmp_dir}/gmp.cma;
      then
          AC_MSG_RESULT(yes)
-	 ocamlgmp="yes"
+	 ocamlc_gmp="yes"
      else
          AC_MSG_RESULT(no)
-	 ocamlgmp="no"
+	 ocamlc_gmp="no"
      fi
   fi
+  # Check for the native compiler.
+  AC_CHECK_PROG(OCAMLOPT, ocamlopt, ocamlopt)
+  ocamlopt_gmp="no"
+  if test x"$OCAMLOPT" = xocamlopt
+  then
+     ocamlopt_root=`ocamlopt -where`
+     # Check for the native version of ML GMP.
+     AC_MSG_CHECKING([for ML GMP native module gmp.cmxa])
+     if ( test ${mlgmp_dir} = +gmp && test -f ${ocamlopt_root}/gmp/gmp.cmxa ) \
+        || test -f ${mlgmp_dir}/gmp.cmxa;
+     then
+         AC_MSG_RESULT(yes)
+	 ocamlopt_gmp="yes"
+     else
+         AC_MSG_RESULT(no)
+	 ocamlopt_gmp="no"
+     fi
+  fi
+fi
+AM_CONDITIONAL(HAVE_OCAMLC, test x$ocamlc_gmp = xyes)
+AM_CONDITIONAL(HAVE_OCAMLOPT, test x$ocamlopt_gmp = xyes)
+
+if test x${ocaml_interface_enabled} = xyes \
+&& (test x$ocamlc_gmp = xyes || test x$ocamlopt_gmp = xyes)
+then
+  build_ocaml_interface=yes
 fi
-AM_CONDITIONAL(BUILD_OCAML_INTERFACE, test x$OCAMLC = xocamlc && test x$ocamlgmp = xyes)
+AM_CONDITIONAL(BUILD_OCAML_INTERFACE, test x$build_ocaml_interface = xyes)
 
 # Checks for Ciao Prolog.
 if test x${ciao_prolog_interface_enabled} = xyes
 then
   AC_CHECK_CIAO_PROLOG
 fi
-AM_CONDITIONAL(BUILD_CIAO_PROLOG_INTERFACE, test x$have_ciao_prolog = xyes)
+
+if test x${ciao_prolog_interface_enabled} = xyes \
+&& test x$have_ciao_prolog = xyes
+then
+  build_ciao_prolog_interface=yes
+fi
+AM_CONDITIONAL(BUILD_CIAO_PROLOG_INTERFACE,
+               test x$build_ciao_prolog_interface = xyes)
 
 # Checks for GNU Prolog.
 if test x${gnu_prolog_interface_enabled} = xyes
@@ -996,30 +1072,59 @@ then
                     GNU_PROLOG="")
   fi
 fi
-AM_CONDITIONAL(BUILD_GNU_PROLOG_INTERFACE, test x$GNU_PROLOG = xgprolog)
+
+if test x${gnu_prolog_interface_enabled} = xyes \
+&& test x$GNU_PROLOG = xgprolog
+then
+  build_gnu_prolog_interface=yes
+fi
+AM_CONDITIONAL(BUILD_GNU_PROLOG_INTERFACE,
+               test x$build_gnu_prolog_interface = xyes)
 
 # Checks for SICStus.
 if test x${sicstus_prolog_interface_enabled} = xyes
 then
   AC_CHECK_SICSTUS_PROLOG
 fi
-AM_CONDITIONAL(BUILD_SICSTUS_PROLOG_INTERFACE, test x$have_sicstus_prolog = xyes)
+
+if test x${sicstus_prolog_interface_enabled} = xyes \
+&& test x$have_sicstus_prolog = xyes
+then
+  build_sicstus_prolog_interface=yes
+fi
+AM_CONDITIONAL(BUILD_SICSTUS_PROLOG_INTERFACE,
+               test x$build_sicstus_prolog_interface = xyes)
 
 # Checks for SWI-Prolog.
+if test x${swi_prolog_interface_enabled} = xyes
+then
+  AC_CHECK_SWI_PROLOG
+fi
+
 # Under Cygwin, SWI-Prolog does not work with foreign code:
 # see http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007838.html
-if test x${swi_prolog_interface_enabled} = xyes && test x"${host_os}" != xcygwin
+if test x${swi_prolog_interface_enabled} = xyes \
+&& test x$have_swi_prolog = xyes \
+&& test x"${host_os}" != xcygwin
 then
-  AC_CHECK_SWI_PROLOG
+  build_swi_prolog_interface=yes
 fi
-AM_CONDITIONAL(BUILD_SWI_PROLOG_INTERFACE, test x$have_swi_prolog = xyes)
+AM_CONDITIONAL(BUILD_SWI_PROLOG_INTERFACE,
+               test x$build_swi_prolog_interface = xyes)
 
 # Checks for XSB.
 if test x${xsb_prolog_interface_enabled} = xyes
 then
   AC_CHECK_XSB_PROLOG
 fi
-AM_CONDITIONAL(BUILD_XSB_PROLOG_INTERFACE, test x$have_xsb_prolog = xyes)
+
+if test x${xsb_prolog_interface_enabled} = xyes \
+&& test x$have_xsb_prolog = xyes
+then
+  build_xsb_prolog_interface=yes
+fi
+AM_CONDITIONAL(BUILD_XSB_PROLOG_INTERFACE,
+               test x$build_xsb_prolog_interface = xyes)
 
 # Checks for YAP.
 if test x${yap_prolog_interface_enabled} = xyes
@@ -1032,19 +1137,36 @@ then
                     YAP_PROLOG="")
   fi
 fi
-AM_CONDITIONAL(BUILD_YAP_PROLOG_INTERFACE, test x$YAP_PROLOG = xyap)
+
+if test x${yap_prolog_interface_enabled} = xyes \
+&& test x$YAP_PROLOG = xyap
+then
+  build_yap_prolog_interface=yes
+fi
+AM_CONDITIONAL(BUILD_YAP_PROLOG_INTERFACE,
+               test x$build_yap_prolog_interface = xyes)
 
 # Test if *any* Prolog system has to be built.
-if test x${have_ciao_prolog} = xyes \
-|| test x${GNU_PROLOG} = xgprolog \
-|| test x${have_sicstus_prolog} = xyes \
-|| test x${have_swi_prolog} = xyes \
-|| test x${have_xsb_prolog} = xyes \
-|| test x${YAP_PROLOG} = xyap
+if test x$build_ciao_prolog_interface = xyes \
+|| test x$build_gnu_prolog_interface = xyes \
+|| test x$build_sicstus_prolog_interface = xyes \
+|| test x$build_swi_prolog_interface = xyes \
+|| test x$build_xsb_prolog_interface = xyes \
+|| test x$build_yap_prolog_interface = xyes
+then
+  build_some_prolog_interfaces=yes
+fi
+AM_CONDITIONAL(BUILD_SOME_PROLOG_INTERFACES,
+               test x$build_some_prolog_interfaces = xyes)
+
+if test x$build_c_interface = xyes \
+|| test x$build_java_interface = xyes \
+|| test x$build_ocaml_interface = xyes \
+|| test x$build_some_prolog_interfaces = xyes
 then
-  SOME_PROLOG=yes
+  # Look for a recent enough version of GNU M4.
+  AC_PROG_GNU_M4
 fi
-AM_CONDITIONAL(BUILD_SOME_PROLOG_INTERFACES, test x$SOME_PROLOG = xyes)
 
 # Define the list of instantiations that are enabled by default.
 # Different instantiations are separated by a '@' character.
@@ -1126,8 +1248,8 @@ available_instantiations=${ai}
 enableval=not_specified
 AC_MSG_CHECKING([which instantiations are enabled])
 AC_ARG_ENABLE(instantiations,
-  AC_HELP_STRING([--enable-instantiations=INSTANTIATIONS],
-    [enable instantiations for the non-C++ interfaces]))
+  AS_HELP_STRING([--enable-instantiations=INSTANTIATIONS],
+                 [enable instantiations for the non-C++ interfaces]))
 case x"${enableval}" in
 xyes | x)
   ai_one_per_line=`echo "${available_instantiations}" | sed -e 's/ *@ */\n/g' -e 's/ *\([[A-Z]]\)/\1/g'`
@@ -1208,8 +1330,8 @@ esac
 enableval=no
 AC_MSG_CHECKING([whether tests should be run under Valgrind])
 AC_ARG_ENABLE(valgrind-tests,
-  AC_HELP_STRING([--enable-valgrind-tests],
-    [run library tests under Valgrind]))
+  AS_HELP_STRING([--enable-valgrind-tests],
+                 [run library tests under Valgrind]))
 case "${enableval}" in
 yes)
   AC_CHECK_PROG(VALGRIND, valgrind, valgrind)
@@ -1234,8 +1356,8 @@ AM_CONDITIONAL(VALGRIND_TESTS_ENABLED, test x"$enable_valgrind_tests" = xyes)
 enableval=quick
 AC_MSG_CHECKING([whether `make check' does a thorough or quick check])
 AC_ARG_ENABLE(check,
-  AC_HELP_STRING([--enable-check=KIND],
-    [select thorough or quick `make check']))
+  AS_HELP_STRING([--enable-check=KIND],
+                 [select thorough or quick `make check']))
 case "${enableval}" in
 thorough)
   AC_MSG_RESULT(thorough)
@@ -1271,7 +1393,7 @@ then
   ac_save_LIBS="$LIBS"
   LIBS="$LIBS -lglpk"
   AC_CHECK_DECL(lib_set_print_hook,
-                AC_DEFINE(GLPK_HAS_LIB_SET_PRINT_HOOK,
+                AC_DEFINE(PPL_GLPK_HAS_LIB_SET_PRINT_HOOK,
                           1,
                           [Defined if GLPK provides lib_set_print_hook().]),
                 ,
@@ -1283,11 +1405,11 @@ then
 #endif
                 ])
   AC_CHECK_FUNC(_glp_lib_print_hook,
-                AC_DEFINE(GLPK_HAS__GLP_LIB_PRINT_HOOK,
+                AC_DEFINE(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK,
                           1,
                           [Defined if GLPK provides _glp_lib_print_hook().]))
   AC_CHECK_DECL(glp_term_out,
-                AC_DEFINE(GLPK_HAS_GLP_TERM_OUT,
+                AC_DEFINE(PPL_GLPK_HAS_GLP_TERM_OUT,
                           1,
                           [Defined if GLPK provides glp_term_out().]),
                 ,
@@ -1299,7 +1421,7 @@ then
 #endif
                 ])
   AC_CHECK_DECL(glp_term_hook,
-                AC_DEFINE(GLPK_HAS_GLP_TERM_HOOK,
+                AC_DEFINE(PPL_GLPK_HAS_GLP_TERM_HOOK,
                           1,
                           [Defined if GLPK provides glp_term_hook().]),
                 ,
@@ -1314,9 +1436,6 @@ then
 fi
 AC_LANG_POP(C)
 
-# Checks for header files.
-AC_CHECK_HEADERS([fenv.h ieeefp.h getopt.h signal.h sys/resource.h sys/time.h sys/types.h unistd.h])
-
 # Checks for header declarations.
 AC_CHECK_DECLS([RLIMIT_DATA, RLIMIT_RSS, RLIMIT_VMEM, RLIMIT_AS],
                ,
@@ -1325,7 +1444,7 @@ AC_CHECK_DECLS([RLIMIT_DATA, RLIMIT_RSS, RLIMIT_VMEM, RLIMIT_AS],
 #ifdef HAVE_SYS_RESOURCE_H
 # include <sys/resource.h>
 #endif
-])
+               ])
 
 AC_CHECK_DECLS([getrusage],
                ,
@@ -1341,6 +1460,9 @@ AC_CHECK_DECLS([getrusage],
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_CHECK_TYPES([timeval])
+AC_CHECK_TYPES([siginfo_t], [], [], [[
+#include <signal.h>
+]])
 
 # Check whether the IEEE inexact flag is supported and available to
 # C++ programs.
@@ -1396,6 +1518,7 @@ AC_SUBST(required_instantiations_ocaml_cxx_headers)
 AC_SUBST(required_instantiations_ocaml_cxx_sources)
 AC_SUBST(required_instantiations_ocaml_cxx_objects)
 AC_SUBST(ocamlc_root)
+AC_SUBST(mlgmp_dir)
 
 AC_CONFIG_FILES(Makefile
                 ppl.lsm
diff --git a/demos/Makefile.am b/demos/Makefile.am
index 171812b..bb950be 100644
--- a/demos/Makefile.am
+++ b/demos/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/demos/Makefile.in b/demos/Makefile.in
index 6f78438..adc14e3 100644
--- a/demos/Makefile.in
+++ b/demos/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -78,12 +78,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -161,6 +160,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -169,6 +170,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -243,6 +245,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
diff --git a/demos/ppl_lcdd/Makefile.am b/demos/ppl_lcdd/Makefile.am
index 0cf7252..7e40916 100644
--- a/demos/ppl_lcdd/Makefile.am
+++ b/demos/ppl_lcdd/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -104,19 +104,20 @@ mit71-61.ine \
 mit90-86.ine \
 $(TOUGH_EXAMPLES_IF_ASSERTIONS_ENABLED)
 
-check-local: ppl_lcdd
+check-local: ppl_lcdd$(EXEEXT)
 	echo $(TOUGH_EXAMPLES) >tough_examples
 	echo $(ECHO_N) "$(ECHO_C)" >obtained
-	LANG=C; \
+	export LC_ALL=C; \
 	for path in $(srcdir)/examples/*.ext $(srcdir)/examples/*.ine; \
 	do \
 	  file=`basename $$path`; \
-	  grep $$file tough_examples >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
 	  echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \
-	  echo ppl_lcdd $$path; \
-	  ./ppl_lcdd $$path | $(TEXT_MD5SUM) >>obtained; \
+	  echo ppl_lcdd$(EXEEXT) $$path; \
+	  ./ppl_lcdd$(EXEEXT) $$path | tr -d '\015' | $(TEXT_MD5SUM) \
+            >>obtained; \
 	done
-	diff -u $(srcdir)/$(EXPECTED) obtained
+	diff obtained $(srcdir)/$(EXPECTED)
 
 MOSTLYCLEANFILES = \
 tough_examples \
diff --git a/demos/ppl_lcdd/Makefile.in b/demos/ppl_lcdd/Makefile.in
index a9024bc..afbbf82 100644
--- a/demos/ppl_lcdd/Makefile.in
+++ b/demos/ppl_lcdd/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -81,12 +81,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -186,6 +185,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -194,6 +195,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -268,6 +270,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -812,19 +815,20 @@ polylib_lcdd.o:	$(srcdir)/ppl_lcdd.cc
 polylib_lcdd: polylib_lcdd.o $(top_builddir)/utils/libppl_utils.a
 	$(CXXLINK) $< -lpolylibgmp -lgmpxx -lgmp $(top_builddir)/utils/libppl_utils.a
 
- at HAVE_MD5SUM_TRUE@check-local: ppl_lcdd
+ at HAVE_MD5SUM_TRUE@check-local: ppl_lcdd$(EXEEXT)
 @HAVE_MD5SUM_TRUE@	echo $(TOUGH_EXAMPLES) >tough_examples
 @HAVE_MD5SUM_TRUE@	echo $(ECHO_N) "$(ECHO_C)" >obtained
- at HAVE_MD5SUM_TRUE@	LANG=C; \
+ at HAVE_MD5SUM_TRUE@	export LC_ALL=C; \
 @HAVE_MD5SUM_TRUE@	for path in $(srcdir)/examples/*.ext $(srcdir)/examples/*.ine; \
 @HAVE_MD5SUM_TRUE@	do \
 @HAVE_MD5SUM_TRUE@	  file=`basename $$path`; \
- at HAVE_MD5SUM_TRUE@	  grep $$file tough_examples >/dev/null 2>&1 && continue; \
+ at HAVE_MD5SUM_TRUE@	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
 @HAVE_MD5SUM_TRUE@	  echo $(ECHO_N) $$file " $(ECHO_C)" >>obtained; \
- at HAVE_MD5SUM_TRUE@	  echo ppl_lcdd $$path; \
- at HAVE_MD5SUM_TRUE@	  ./ppl_lcdd $$path | $(TEXT_MD5SUM) >>obtained; \
+ at HAVE_MD5SUM_TRUE@	  echo ppl_lcdd$(EXEEXT) $$path; \
+ at HAVE_MD5SUM_TRUE@	  ./ppl_lcdd$(EXEEXT) $$path | tr -d '\015' | $(TEXT_MD5SUM) \
+ at HAVE_MD5SUM_TRUE@            >>obtained; \
 @HAVE_MD5SUM_TRUE@	done
- at HAVE_MD5SUM_TRUE@	diff -u $(srcdir)/$(EXPECTED) obtained
+ at HAVE_MD5SUM_TRUE@	diff obtained $(srcdir)/$(EXPECTED)
 # 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/demos/ppl_lcdd/examples/Makefile.am b/demos/ppl_lcdd/examples/Makefile.am
index 6f758ce..78df9ce 100644
--- a/demos/ppl_lcdd/examples/Makefile.am
+++ b/demos/ppl_lcdd/examples/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/demos/ppl_lcdd/examples/Makefile.in b/demos/ppl_lcdd/examples/Makefile.in
index 8982a39..ce5081d 100644
--- a/demos/ppl_lcdd/examples/Makefile.in
+++ b/demos/ppl_lcdd/examples/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,12 +80,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -152,6 +151,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -160,6 +161,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -234,6 +236,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
diff --git a/demos/ppl_lcdd/ppl_lcdd.1 b/demos/ppl_lcdd/ppl_lcdd.1
index 97a1b26..f460191 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.36.
-.TH PPL_LCDD "1" "November 2008" "ppl_lcdd 0.10" "User Commands"
+.TH PPL_LCDD "1" "April 2009" "ppl_lcdd 0.10.1" "User Commands"
 .SH NAME
 ppl_lcdd \- a PPL-based program for vertex/facet enumeration of convex polyhedra
 .SH SYNOPSIS
@@ -41,13 +41,16 @@ 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 .
+.SH NOTES
+The option \fB\-CSECS\fR (\fB\-\-max\-cpu\fR=\fISECS\fR) is not available
+on some platforms.
 .SH AUTHOR
 See the file \fBCREDITS\fR in the source distribution or use the command
 \fBppl\-config \-\-credits\fR for a list of contributors.
 .SH "REPORTING BUGS"
 Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH COPYRIGHT
-Copyright (C) 2001\-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 .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 d6c17a1..e174030 100644
--- a/demos/ppl_lcdd/ppl_lcdd.cc
+++ b/demos/ppl_lcdd/ppl_lcdd.cc
@@ -1,5 +1,5 @@
 /* A sort of clone of the cddlib test program `lcdd'.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -91,6 +91,8 @@ typedef Polyhedron* POLYHEDRON_TYPE;
 #include <gmpxx.h>
 #include <vector>
 #include <set>
+#include <limits>
+#include <cassert>
 #include <cstdarg>
 #include <csignal>
 #include <cerrno>
@@ -104,8 +106,22 @@ typedef Polyhedron* POLYHEDRON_TYPE;
 
 #ifdef PPL_HAVE_GETOPT_H
 #include <getopt.h>
+
+// Try to accommodate non-GNU implementations of `getopt()'.
+#if !defined(no_argument) && defined(NO_ARG)
+#define no_argument NO_ARG
+#endif
+
+#if !defined(required_argument) && defined(REQUIRED_ARG)
+#define required_argument REQUIRED_ARG
+#endif
+
+#if !defined(optional_argument) && defined(OPTIONAL_ARG)
+#define optional_argument OPTIONAL_ARG
 #endif
 
+#endif // defined(PPL_HAVE_GETOPT_H)
+
 #ifdef PPL_HAVE_UNISTD_H
 // Include this for `getopt()': especially important if we do not have
 // <getopt.h>.
@@ -122,6 +138,11 @@ typedef Polyhedron* POLYHEDRON_TYPE;
 # include <sys/resource.h>
 #endif
 
+#if defined(PPL_HAVE_SYS_RESOURCE_H) \
+  && (defined(SA_ONESHOT) || defined(SA_RESETHAND))
+# define PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME
+#endif
+
 namespace {
 
 #ifdef PPL_HAVE_GETOPT_H
@@ -146,7 +167,9 @@ static const char* usage_string
 "and generates a V-representation (resp., an H-representation) of\n"
 "the same polyhedron.\n\n"
 "Options:\n"
+#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME
 "  -CSECS, --max-cpu=SECS  limits CPU usage to SECS seconds\n"
+#endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME)
 "  -RMB, --max-memory=MB   limits memory usage to MB megabytes\n"
 "  -h, --help              prints this help text to stdout\n"
 "  -oPATH, --output=PATH   appends output to PATH\n"
@@ -171,7 +194,10 @@ static const char* usage_string
 
 const char* program_name = 0;
 
+#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME
 unsigned long max_seconds_of_cpu_time = 0;
+#endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME)
+
 unsigned long max_bytes_of_virtual_memory = 0;
 bool print_timings = false;
 bool verbose = false;
@@ -267,6 +293,8 @@ warning(const char* format, ...) {
   va_end(ap);
 }
 
+#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME
+
 extern "C" typedef void (*sig_handler_type)(int);
 
 void
@@ -282,7 +310,7 @@ set_alarm_on_cpu_time(const unsigned seconds, sig_handler_type handler) {
 #elif defined(SA_RESETHAND)
   s.sa_flags = SA_RESETHAND;
 #else
-  #error "Either SA_ONESHOT or SA_RESETHAND must be defined."
+# error "Either SA_ONESHOT or SA_RESETHAND must be defined."
 #endif
 
   if (sigaction(SIGXCPU, &s, 0) != 0)
@@ -299,7 +327,10 @@ 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
+
 void
 limit_virtual_memory(const unsigned bytes) {
   struct rlimit t;
@@ -313,10 +344,13 @@ limit_virtual_memory(const unsigned bytes) {
       fatal("setrlimit failed: %s", strerror(errno));
   }
 }
+
 #else
+
 void
 limit_virtual_memory(unsigned) {
 }
+
 #endif // !PPL_HAVE_DECL_RLIMIT_AS
 
 extern "C" void
@@ -365,6 +399,8 @@ process_options(int argc, char* argv[]) {
       exit(0);
       break;
 
+#ifdef PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME
+
     case 'C':
       l = strtol(optarg, &endptr, 10);
       if (*endptr || l < 0)
@@ -373,6 +409,8 @@ process_options(int argc, char* argv[]) {
 	max_seconds_of_cpu_time = l;
       break;
 
+#endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME)
+
     case 'R':
       l = strtol(optarg, &endptr, 10);
       if (*endptr || l < 0)
@@ -1141,9 +1179,13 @@ main(int argc, char* argv[]) try {
   // Process command line options.
   process_options(argc, argv);
 
+#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);
 
+#endif // defined(PPL_LCDD_SUPPORTS_LIMIT_ON_CPU_TIME)
+
   if (max_bytes_of_virtual_memory > 0)
     limit_virtual_memory(max_bytes_of_virtual_memory);
 
diff --git a/demos/ppl_lpsol/Makefile.am b/demos/ppl_lpsol/Makefile.am
index 1650af1..1df27b7 100644
--- a/demos/ppl_lpsol/Makefile.am
+++ b/demos/ppl_lpsol/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -169,8 +169,8 @@ modglob.mps
 if HOST_OS_CYGWIN
 
 DIFF_COMMAND = \
-grep "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \
-&& grep "^Optimum value: " obtained >obtained_optima \
+$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \
+&& $(EGREP) "^Optimum value: " obtained >obtained_optima \
 && diff -u expected_optima obtained_optima
 
 else !HOST_OS_CYGWIN
@@ -178,8 +178,8 @@ else !HOST_OS_CYGWIN
 if HOST_OS_DARWIN
 
 DIFF_COMMAND = \
-grep "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \
-&& grep "^Optimum value: " obtained >obtained_optima \
+$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \
+&& $(EGREP) "^Optimum value: " obtained >obtained_optima \
 && diff -u expected_optima obtained_optima
 
 else !HOST_OS_DARWIN
@@ -187,16 +187,27 @@ else !HOST_OS_DARWIN
 if HOST_OS_SOLARIS
 
 DIFF_COMMAND = \
-grep "^Optimum value: " $(srcdir)/$(EXPECTED) \
+$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) \
 | $(SED) -e "s/^Optimum value: \(-*[0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.]\)[0-9]*$/Optimum value: \1/g" >expected_optima \
-&& grep "^Optimum value: " obtained \
+&& $(EGREP) "^Optimum value: " obtained \
 | $(SED) -e "s/^Optimum value: \(-*[0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\\.][0-9\.][0-9\.]\)[0-9]*$/Optimum value: \1/g" >obtained_optima \
 && diff -u expected_optima obtained_optima
 
 else !HOST_OS_SOLARIS
 
+if HOST_OS_MINGW
+
+DIFF_COMMAND = \
+tr -d '\015' <obtained \
+| sed -e "s/ppl_lpsol.exe/ppl_lpsol/g" -e "s/1e+012/1e+12/g" \
+| diff $(srcdir)/$(EXPECTED) -
+
+else !HOST_OS_MINGW
+
 DIFF_COMMAND = diff -u $(srcdir)/$(EXPECTED) obtained
 
+endif !HOST_OS_MINGW
+
 endif !HOST_OS_SOLARIS
 
 endif !HOST_OS_DARWIN
@@ -206,23 +217,23 @@ endif !HOST_OS_CYGWIN
 # NOTE: use exact steepest-edge pricing (-p1) instead float-based one.
 # This has an efficiency penalty, but it guarantees deterministic
 # results across different architectures.
-SIMPLEX = ./ppl_lpsol -s -p1 $(CHECK_OPTION) -oobtained
-SIMPLEX_NOCHECK = ./ppl_lpsol -s -p1 -oobtained
+SIMPLEX = ./ppl_lpsol$(EXEEXT) -s -p1 $(CHECK_OPTION) -oobtained
+SIMPLEX_NOCHECK = ./ppl_lpsol$(EXEEXT) -s -p1 -oobtained
 ECHO_SIMPLEX = echo "***" $(SIMPLEX)
 ECHO_SIMPLEX_NOCHECK = echo "***" $(SIMPLEX_NOCHECK)
 
-check-local: ppl_lpsol
+check-local: ppl_lpsol$(EXEEXT)
 	echo $(ECHO_N) "$(ECHO_C)" >obtained
 	echo $(LP_PROBLEMS) >lp_problems
 	echo $(DO_NOT_CHECK_PROBLEMS) >do_not_check_problems
-	LANG=C; \
+	export LC_ALL=C; \
 	echo $(TOUGH_EXAMPLES_FOR_BB_SATISFIABILITY) >tough_examples
 	-for path in $(srcdir)/examples/*.mps; \
 	do \
 	  file=`basename $$path`; \
-	  grep $$file lp_problems >/dev/null 2>&1 && continue; \
-	  grep $$file do_not_check_problems >/dev/null 2>&1 && continue; \
-	  grep $$file tough_examples >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file lp_problems >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file do_not_check_problems >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
 	  $(ECHO_SIMPLEX) "-n $$m $$file" >>obtained; \
 	  $(SIMPLEX) -n $$path >/dev/null; \
 	done
@@ -230,9 +241,9 @@ check-local: ppl_lpsol
 	-for path in $(srcdir)/examples/*.mps; \
 	do \
 	  file=`basename $$path`; \
-	  grep $$file lp_problems >/dev/null 2>&1 && continue; \
-	  grep $$file do_not_check_problems >/dev/null 2>&1 && continue; \
-	  grep $$file tough_examples >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file lp_problems >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file do_not_check_problems >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
 	  for m in -m -M; \
 	  do \
 	    $(ECHO_SIMPLEX) "$$m $$file" >>obtained; \
@@ -244,10 +255,10 @@ check-local: ppl_lpsol
 	-for path in $(srcdir)/examples/*.mps; \
 	do \
 	 file=`basename $$path`; \
-	 grep $$file do_not_check_problems >/dev/null 2>&1 && continue; \
-	 grep $$file tough_examples >/dev/null 2>&1 && continue; \
-	 verbosity='';\
-	 grep $$file do_not_output_location >/dev/null 2>&1 && verbosity='-v 2'; \
+	 $(FGREP) $$file do_not_check_problems >/dev/null 2>&1 && continue; \
+	 $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
+	 verbosity=''; \
+	 $(FGREP) $$file do_not_output_location >/dev/null 2>&1 && verbosity='-v 2'; \
 	 for m in -m -M; \
 	 do \
 	    $(ECHO_SIMPLEX) "-r $$m $$file" >>obtained; \
@@ -258,10 +269,10 @@ check-local: ppl_lpsol
 	-for path in $(srcdir)/examples/*.mps; \
 	do \
 	  file=`basename $$path`; \
-	  grep $$file do_not_check_problems >/dev/null 2>&1 && continue; \
-	  grep $$file tough_examples >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file do_not_check_problems >/dev/null 2>&1 && continue; \
+	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
 	  echo "*** ppl_lpsol -e -r $$m -oobtained $$file" >>obtained; \
-	  ./ppl_lpsol -e -r $(CHECK_OPTION) $$m -oobtained $$path >/dev/null; \
+	  ./ppl_lpsol$(EXEEXT) -e -r $(CHECK_OPTION) $$m -oobtained $$path >/dev/null; \
 	done
 	$(ECHO_SIMPLEX) "-r -m mas74.mps" >>obtained
 	-$(SIMPLEX) -r -m $(srcdir)/examples/mas74.mps >/dev/null
diff --git a/demos/ppl_lpsol/Makefile.in b/demos/ppl_lpsol/Makefile.in
index 93fa843..4018efe 100644
--- a/demos/ppl_lpsol/Makefile.in
+++ b/demos/ppl_lpsol/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -82,12 +82,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -198,6 +197,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -206,6 +207,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -280,6 +282,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -443,30 +446,35 @@ expected_int64_a
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at mas76.mps \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at modglob.mps
 
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_FALSE at DIFF_COMMAND = diff -u $(srcdir)/$(EXPECTED) obtained
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_FALSE@@HOST_OS_SOLARIS_FALSE at DIFF_COMMAND = diff -u $(srcdir)/$(EXPECTED) obtained
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@@HOST_OS_SOLARIS_FALSE at DIFF_COMMAND = \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@@HOST_OS_SOLARIS_FALSE at tr -d '\015' <obtained \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@@HOST_OS_SOLARIS_FALSE@| sed -e "s/ppl_lpsol.exe/ppl_lpsol/g" -e "s/1e+012/1e+12/g" \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_MINGW_TRUE@@HOST_OS_SOLARIS_FALSE@| diff $(srcdir)/$(EXPECTED) -
+
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE at DIFF_COMMAND = \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE at grep "^Optimum value: " $(srcdir)/$(EXPECTED) \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@| $(SED) -e "s/^Optimum value: \(-*[0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.]\)[0-9]*$/Optimum value: \1/g" >expected_optima \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@&& grep "^Optimum value: " obtained \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@&& $(EGREP) "^Optimum value: " obtained \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@| $(SED) -e "s/^Optimum value: \(-*[0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\.][0-9\\.][0-9\.][0-9\.]\)[0-9]*$/Optimum value: \1/g" >obtained_optima \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_FALSE@@HOST_OS_SOLARIS_TRUE@&& diff -u expected_optima obtained_optima
 
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE at DIFF_COMMAND = \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE at grep "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE@&& grep "^Optimum value: " obtained >obtained_optima \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE@$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE@&& $(EGREP) "^Optimum value: " obtained >obtained_optima \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_FALSE@@HOST_OS_DARWIN_TRUE@&& diff -u expected_optima obtained_optima
 
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE at DIFF_COMMAND = \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE at grep "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE@&& grep "^Optimum value: " obtained >obtained_optima \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE@$(EGREP) "^Optimum value: " $(srcdir)/$(EXPECTED) >expected_optima \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE@&& $(EGREP) "^Optimum value: " obtained >obtained_optima \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@@HOST_OS_CYGWIN_TRUE@&& diff -u expected_optima obtained_optima
 
 
 # NOTE: use exact steepest-edge pricing (-p1) instead float-based one.
 # This has an efficiency penalty, but it guarantees deterministic
 # results across different architectures.
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at SIMPLEX = ./ppl_lpsol -s -p1 $(CHECK_OPTION) -oobtained
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at SIMPLEX_NOCHECK = ./ppl_lpsol -s -p1 -oobtained
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at SIMPLEX = ./ppl_lpsol$(EXEEXT) -s -p1 $(CHECK_OPTION) -oobtained
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at SIMPLEX_NOCHECK = ./ppl_lpsol$(EXEEXT) -s -p1 -oobtained
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at ECHO_SIMPLEX = echo "***" $(SIMPLEX)
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at ECHO_SIMPLEX_NOCHECK = echo "***" $(SIMPLEX_NOCHECK)
 MOSTLYCLEANFILES = \
@@ -934,18 +942,18 @@ uninstall-man: uninstall-man1
 	uninstall-binPROGRAMS uninstall-man uninstall-man1
 
 
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at check-local: ppl_lpsol
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE at check-local: ppl_lpsol$(EXEEXT)
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	echo $(ECHO_N) "$(ECHO_C)" >obtained
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	echo $(LP_PROBLEMS) >lp_problems
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	echo $(DO_NOT_CHECK_PROBLEMS) >do_not_check_problems
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	LANG=C; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	export LC_ALL=C; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	echo $(TOUGH_EXAMPLES_FOR_BB_SATISFIABILITY) >tough_examples
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	-for path in $(srcdir)/examples/*.mps; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	do \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  file=`basename $$path`; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  grep $$file lp_problems >/dev/null 2>&1 && continue; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  grep $$file do_not_check_problems >/dev/null 2>&1 && continue; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  grep $$file tough_examples >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(FGREP) $$file lp_problems >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(FGREP) $$file do_not_check_problems >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(ECHO_SIMPLEX) "-n $$m $$file" >>obtained; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(SIMPLEX) -n $$path >/dev/null; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	done
@@ -953,9 +961,9 @@ uninstall-man: uninstall-man1
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	-for path in $(srcdir)/examples/*.mps; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	do \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  file=`basename $$path`; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  grep $$file lp_problems >/dev/null 2>&1 && continue; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  grep $$file do_not_check_problems >/dev/null 2>&1 && continue; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  grep $$file tough_examples >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(FGREP) $$file lp_problems >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(FGREP) $$file do_not_check_problems >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  for m in -m -M; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  do \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	    $(ECHO_SIMPLEX) "$$m $$file" >>obtained; \
@@ -967,10 +975,10 @@ uninstall-man: uninstall-man1
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	-for path in $(srcdir)/examples/*.mps; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	do \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 file=`basename $$path`; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 grep $$file do_not_check_problems >/dev/null 2>&1 && continue; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 grep $$file tough_examples >/dev/null 2>&1 && continue; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 verbosity='';\
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 grep $$file do_not_output_location >/dev/null 2>&1 && verbosity='-v 2'; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 $(FGREP) $$file do_not_check_problems >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 verbosity=''; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 $(FGREP) $$file do_not_output_location >/dev/null 2>&1 && verbosity='-v 2'; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 for m in -m -M; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	 do \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	    $(ECHO_SIMPLEX) "-r $$m $$file" >>obtained; \
@@ -981,10 +989,10 @@ uninstall-man: uninstall-man1
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	-for path in $(srcdir)/examples/*.mps; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	do \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  file=`basename $$path`; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  grep $$file do_not_check_problems >/dev/null 2>&1 && continue; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  grep $$file tough_examples >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(FGREP) $$file do_not_check_problems >/dev/null 2>&1 && continue; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  $(FGREP) $$file tough_examples >/dev/null 2>&1 && continue; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  echo "*** ppl_lpsol -e -r $$m -oobtained $$file" >>obtained; \
- at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  ./ppl_lpsol -e -r $(CHECK_OPTION) $$m -oobtained $$path >/dev/null; \
+ at BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	  ./ppl_lpsol$(EXEEXT) -e -r $(CHECK_OPTION) $$m -oobtained $$path >/dev/null; \
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	done
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	$(ECHO_SIMPLEX) "-r -m mas74.mps" >>obtained
 @BUILD_C_INTERFACE_TRUE@@HAVE_GLPK_TRUE@	-$(SIMPLEX) -r -m $(srcdir)/examples/mas74.mps >/dev/null
diff --git a/demos/ppl_lpsol/examples/Makefile.am b/demos/ppl_lpsol/examples/Makefile.am
index ec3b973..f0bc3fb 100644
--- a/demos/ppl_lpsol/examples/Makefile.am
+++ b/demos/ppl_lpsol/examples/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/demos/ppl_lpsol/examples/Makefile.in b/demos/ppl_lpsol/examples/Makefile.in
index c60d3ce..2158eb7 100644
--- a/demos/ppl_lpsol/examples/Makefile.in
+++ b/demos/ppl_lpsol/examples/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,12 +80,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -152,6 +151,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -160,6 +161,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -234,6 +236,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
diff --git a/demos/ppl_lpsol/expected_mpz_a b/demos/ppl_lpsol/expected_mpz_a
index 7eb0202..7418253 100644
--- a/demos/ppl_lpsol/expected_mpz_a
+++ b/demos/ppl_lpsol/expected_mpz_a
@@ -1,44 +1,44 @@
-*** ppl_lpsol -s -n  -oobtained egout.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n  egout.mps
 Feasible problem.
-*** ppl_lpsol -s -n  -oobtained ex1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n  ex1.mps
 Feasible problem.
-*** ppl_lpsol -s -n  -oobtained lseu.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n  lseu.mps
 Feasible problem.
-*** ppl_lpsol -s -n  -oobtained markshare1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n  markshare1.mps
 Feasible problem.
-*** ppl_lpsol -s -n  -oobtained markshare2.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n  markshare2.mps
 Feasible problem.
-*** ppl_lpsol -s -n  -oobtained mip.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n  mip.mps
 Feasible problem.
-*** ppl_lpsol -s -n  -oobtained p0033.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n  p0033.mps
 Feasible problem.
-*** ppl_lpsol -s -n  -oobtained unboundedmin.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n  unboundedmin.mps
 Feasible problem.
-*** ppl_lpsol -s -m -oobtained ex1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -m ex1.mps
 Optimum value: -3
 Optimum location:
 x1 = 1
 x2 = 2
-*** ppl_lpsol -s -M -oobtained ex1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -M ex1.mps
 Optimum value: 2
 Optimum location:
 x1 = 2
 x2 = 0
-*** ppl_lpsol -s -m -oobtained mip.mps
+*** ./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_lpsol -s -M -oobtained mip.mps
+*** ./ppl_lpsol -s -p1 -oobtained -M mip.mps
 Optimum value: 43
 Optimum location:
 X1 = 4
 X2 = 4
 X3 = 0
 X4 = 3
-*** ppl_lpsol -s -m -oobtained p0033.mps
+*** ./ppl_lpsol -s -p1 -oobtained -m p0033.mps
 Optimum value: 3089
 Optimum location:
 C157 = 1
@@ -74,7 +74,7 @@ C186 = 1
 C187 = 0
 C188 = 0
 C189 = 0
-*** ppl_lpsol -s -M -oobtained p0033.mps
+*** ./ppl_lpsol -s -p1 -oobtained -M p0033.mps
 Optimum value: 5201
 Optimum location:
 C157 = 1
@@ -110,18 +110,18 @@ C186 = 1
 C187 = 0
 C188 = 1
 C189 = 1
-*** ppl_lpsol -s -m -oobtained unboundedmin.mps
+*** ./ppl_lpsol -s -p1 -oobtained -m unboundedmin.mps
 Unbounded problem.
-*** ppl_lpsol -s -M -oobtained unboundedmin.mps
+*** ./ppl_lpsol -s -p1 -oobtained -M unboundedmin.mps
 Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ppl_lpsol -r -s -m -oobtained adlittle.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m adlittle.mps
 Optimum value: 225494.9632
-*** ppl_lpsol -r -s -M -oobtained adlittle.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M adlittle.mps
 Unbounded problem.
-*** ppl_lpsol -r -s -m -oobtained afiro.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m afiro.mps
 Optimum value: -464.7531429
 Optimum location:
 X01 = 80
@@ -156,7 +156,7 @@ X36 = 339.9428571
 X37 = 17.50496094
 X38 = 157.5682954
 X39 = 0
-*** ppl_lpsol -r -s -M -oobtained afiro.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M afiro.mps
 Optimum value: 3438.2921
 Optimum location:
 X01 = 54.5
@@ -191,11 +191,11 @@ X36 = 345.4253571
 X37 = 0
 X38 = 0
 X39 = 389.4253571
-*** ppl_lpsol -r -s -m -oobtained bgprtr.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m bgprtr.mps
 Unfeasible problem.
-*** ppl_lpsol -r -s -M -oobtained bgprtr.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M bgprtr.mps
 Unfeasible problem.
-*** ppl_lpsol -r -s -m -oobtained blend.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m blend.mps
 Optimum value: -30.81214985
 Optimum location:
 1 = 20.94480195
@@ -212,12 +212,12 @@ Optimum location:
 12 = 10.10117614
 13 = 0
 14 = 11.78035507
-15 = 0.4067430357
-16 = 0
+15 = 0
+16 = 0.4067430357
 17 = 0
 18 = 2.173256964
-19 = 1.61181687
-20 = 5.25
+19 = 2.018559906
+20 = 4.843256964
 21 = 3.079217438
 22 = 0.05896569207
 23 = 1.149909949
@@ -281,17 +281,17 @@ Optimum location:
 81 = 0.8033012352
 82 = 26.03036862
 83 = 87.09497412
-*** ppl_lpsol -r -s -M -oobtained blend.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M blend.mps
 Unbounded problem.
-*** ppl_lpsol -r -s -m -oobtained boeing1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing1.mps
 Optimum value: -335.2135675
-*** ppl_lpsol -r -s -M -oobtained boeing1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing1.mps
 Optimum value: 286.9746573
-*** ppl_lpsol -r -s -m -oobtained boeing2.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m boeing2.mps
 Optimum value: -315.018728
-*** ppl_lpsol -r -s -M -oobtained boeing2.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M boeing2.mps
 Optimum value: -73.36896911
-*** ppl_lpsol -r -s -m -oobtained egout.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m egout.mps
 Optimum value: 149.5887662
 Optimum location:
 I.001... = 0.02093301435
@@ -435,7 +435,7 @@ F.041... = 5.08
 F.040041 = 0
 F.041042 = 0
 F.042... = 6.44
-*** ppl_lpsol -r -s -M -oobtained egout.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M egout.mps
 Optimum value: 964.30053
 Optimum location:
 I.001... = 1
@@ -579,17 +579,17 @@ F.041... = 0
 F.040041 = 105.52
 F.041042 = 110.6
 F.042... = 117.04
-*** ppl_lpsol -r -s -m -oobtained ex1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m ex1.mps
 Optimum value: -3.75
 Optimum location:
 x1 = 1.25
 x2 = 2.5
-*** ppl_lpsol -r -s -M -oobtained ex1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M ex1.mps
 Optimum value: 2.5
 Optimum location:
 x1 = 2.5
 x2 = 0
-*** ppl_lpsol -r -s -m -oobtained kb2.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m kb2.mps
 Optimum value: -1749.90013
 Optimum location:
 BAL.3EBW = 0.8118235251
@@ -633,7 +633,7 @@ WMO73PBW = 1770.361014
 WRO73PBW = 2009.742955
 WMO73RBW = 5651.99315
 WRO73RBW = 6262.646874
-*** ppl_lpsol -r -s -M -oobtained kb2.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M kb2.mps
 Optimum value: 0
 Optimum location:
 BAL.3EBW = 0
@@ -677,7 +677,7 @@ WMO73PBW = 0
 WRO73PBW = 0
 WMO73RBW = 0
 WRO73RBW = 0
-*** ppl_lpsol -r -s -m -oobtained lseu.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m lseu.mps
 Optimum value: 834.6823529
 Optimum location:
 C101 = 1
@@ -769,7 +769,7 @@ C186 = 0
 C187 = 0
 C188 = 0
 C189 = 0
-*** ppl_lpsol -r -s -M -oobtained lseu.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M lseu.mps
 Optimum value: 7167.482759
 Optimum location:
 C101 = 0
@@ -802,9 +802,9 @@ C127 = 0
 C128 = 0
 C129 = 0
 C130 = 0
-C131 = 0.3428571429
+C131 = 0
 C132 = 0
-C133 = 0.6571428571
+C133 = 1
 C134 = 0
 C135 = 1
 C136 = 0
@@ -861,7 +861,7 @@ C186 = 0
 C187 = 0
 C188 = 1
 C189 = 1
-*** ppl_lpsol -r -s -m -oobtained markshare1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare1.mps
 Optimum value: 0
 Optimum location:
 x1 = 0
@@ -926,7 +926,7 @@ x59 = 0
 x60 = 1
 x61 = 0
 x62 = 0.2898890259
-*** ppl_lpsol -r -s -M -oobtained markshare1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare1.mps
 Optimum value: 7286
 Optimum location:
 x1 = 1116
@@ -991,7 +991,7 @@ x59 = 0
 x60 = 0
 x61 = 0
 x62 = 0
-*** ppl_lpsol -r -s -m -oobtained markshare2.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m markshare2.mps
 Optimum value: 0
 Optimum location:
 x1 = 0
@@ -1068,7 +1068,7 @@ x71 = 0
 x72 = 1
 x73 = 0.6098932051
 x74 = 1
-*** ppl_lpsol -r -s -M -oobtained markshare2.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M markshare2.mps
 Optimum value: 10512
 Optimum location:
 x1 = 1324
@@ -1145,21 +1145,21 @@ x71 = 0
 x72 = 0
 x73 = 0
 x74 = 0
-*** ppl_lpsol -r -s -m -oobtained mip.mps
+*** ./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_lpsol -r -s -M -oobtained mip.mps
+*** ./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_lpsol -r -s -m -oobtained noswot.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m noswot.mps
 Optimum value: -43
 Optimum location:
 x1 = 0
@@ -1290,7 +1290,7 @@ x125 = 0
 x126 = 0
 x127 = 0
 x128 = 0
-*** ppl_lpsol -r -s -M -oobtained noswot.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M noswot.mps
 Optimum value: -5
 Optimum location:
 x1 = 0
@@ -1421,7 +1421,7 @@ x125 = 0
 x126 = 0
 x127 = 0
 x128 = 0
-*** ppl_lpsol -r -s -m -oobtained p0033.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m p0033.mps
 Optimum value: 2520.571739
 Optimum location:
 C157 = 0
@@ -1457,7 +1457,7 @@ C186 = 0.5
 C187 = 0
 C188 = 1
 C189 = 0.175
-*** ppl_lpsol -r -s -M -oobtained p0033.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M p0033.mps
 Optimum value: 5299.698868
 Optimum location:
 C157 = 1
@@ -1493,7 +1493,7 @@ C186 = 0.72
 C187 = 0
 C188 = 1
 C189 = 1
-*** ppl_lpsol -r -s -m -oobtained pk1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m pk1.mps
 Optimum value: 0
 Optimum location:
 x1 = 0
@@ -1582,21 +1582,21 @@ x83 = 0
 x84 = 0
 x85 = 0
 x86 = 0
-*** ppl_lpsol -r -s -M -oobtained pk1.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M pk1.mps
 Unbounded problem.
-*** ppl_lpsol -r -s -m -oobtained sample.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m sample.mps
 Optimum value: -733.3333333
 Optimum location:
 x1 = 33.33333333
 x2 = 66.66666667
 x3 = 0
-*** ppl_lpsol -r -s -M -oobtained sample.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M sample.mps
 Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
 x3 = 0
-*** ppl_lpsol -r -s -m -oobtained sc105.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m sc105.mps
 Optimum value: -52.20206121
 Optimum location:
 COL00001 = 0
@@ -1702,7 +1702,7 @@ COL00100 = 26.37637065
 COL00101 = 26.37637065
 COL00102 = 123.0897297
 COL00103 = 123.0897297
-*** ppl_lpsol -r -s -M -oobtained sc105.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M sc105.mps
 Optimum value: 0
 Optimum location:
 COL00001 = 0
@@ -1808,7 +1808,7 @@ COL00100 = 0
 COL00101 = 0
 COL00102 = 0
 COL00103 = 0
-*** ppl_lpsol -r -s -m -oobtained sc50a.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50a.mps
 Optimum value: -64.57507706
 Optimum location:
 COL00001 = 0
@@ -1859,7 +1859,7 @@ COL00045 = 20.25950793
 COL00046 = 20.25950793
 COL00047 = 94.54437032
 COL00048 = 94.54437032
-*** ppl_lpsol -r -s -M -oobtained sc50a.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50a.mps
 Optimum value: 0
 Optimum location:
 COL00001 = 0
@@ -1910,7 +1910,7 @@ COL00045 = 0
 COL00046 = 0
 COL00047 = 0
 COL00048 = 0
-*** ppl_lpsol -r -s -m -oobtained sc50b.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m sc50b.mps
 Optimum value: -70
 Optimum location:
 COL00001 = 30
@@ -1961,7 +1961,7 @@ COL00045 = 43.923
 COL00046 = 40.9948
 COL00047 = 61.4922
 COL00048 = 102.487
-*** ppl_lpsol -r -s -M -oobtained sc50b.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M sc50b.mps
 Optimum value: 0
 Optimum location:
 COL00001 = 0
@@ -2012,9 +2012,9 @@ COL00045 = 0
 COL00046 = 0
 COL00047 = 0
 COL00048 = 0
-*** ppl_lpsol -r -s -m -oobtained unboundedmin.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m unboundedmin.mps
 Unbounded problem.
-*** ppl_lpsol -r -s -M -oobtained unboundedmin.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M unboundedmin.mps
 Optimum value: 0
 Optimum location:
 x1 = 0
@@ -2044,7 +2044,7 @@ Optimum value: 0
 Optimum location:
 x1 = 0
 x2 = 0
-*** ppl_lpsol -r -s -m -oobtained mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas74.mps
 Optimum value: 10482.79528
 Optimum location:
 x1 = 0
@@ -2198,7 +2198,7 @@ x148 = 0
 x149 = 0.973369113
 x150 = 0.5192990175
 x151 = 10482.79508
-*** ppl_lpsol -r -s -M -c0.000123 -oobtained mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas74.mps
 Optimum value: 1e+12
 Optimum location:
 x1 = 0
@@ -2352,9 +2352,9 @@ x148 = 0
 x149 = 0
 x150 = 0
 x151 = 1e+12
-*** ppl_lpsol -n -s -oobtained mas74.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n mas74.mps
 Feasible problem.
-*** ppl_lpsol -r -s -m -oobtained mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m mas76.mps
 Optimum value: 38893.90364
 Optimum location:
 x1 = 0
@@ -2508,7 +2508,7 @@ x148 = 0.8642716954
 x149 = 0
 x150 = 0.03629410147
 x151 = 38893.90349
-*** ppl_lpsol -r -s -M -c0.000123 -oobtained mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000123 mas76.mps
 Optimum value: 1e+12
 Optimum location:
 x1 = 0
@@ -2662,9 +2662,9 @@ x148 = 0
 x149 = 0
 x150 = 0
 x151 = 1e+12
-*** ppl_lpsol -n -s -oobtained mas76.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n mas76.mps
 Feasible problem.
-*** ppl_lpsol -r -s -m -c0.0000002 -oobtained modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -m -c0.0000002 modglob.mps
 Optimum value: 20430947.62
 Optimum location:
 x1 = 0
@@ -3089,7 +3089,7 @@ x419 = 0
 x420 = 0
 x421 = 0
 x422 = 0
-*** ppl_lpsol -r -s -M -c0.000003 -oobtained modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -r -M -c0.000003 modglob.mps
 Optimum value: 742543789.3
 Optimum location:
 x1 = 0
@@ -3514,5 +3514,5 @@ x419 = 0
 x420 = 0
 x421 = 0
 x422 = 0
-*** ppl_lpsol -n -s -oobtained modglob.mps
+*** ./ppl_lpsol -s -p1 -oobtained -n modglob.mps
 Feasible problem.
diff --git a/demos/ppl_lpsol/ppl_lpsol.1 b/demos/ppl_lpsol/ppl_lpsol.1
index 767741f..d00ea15 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.36.
-.TH PPL_LPSOL "1" "November 2008" "ppl_lpsol 0.10" "User Commands"
+.TH PPL_LPSOL "1" "April 2009" "ppl_lpsol 0.10.1" "User Commands"
 .SH NAME
 ppl_lpsol \- a PPL-based mixed integer programming problem solver
 .SH SYNOPSIS
@@ -77,11 +77,16 @@ 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 .
+.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.
 .SH AUTHOR
 See the file \fBCREDITS\fR in the source distribution or use the command
 \fBppl\-config \-\-credits\fR for a list of contributors.
+.SH "REPORTING BUGS"
+Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH COPYRIGHT
-Copyright (C) 2001\-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 .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 90cfe7d..935cf9b 100644
--- a/demos/ppl_lpsol/ppl_lpsol.c
+++ b/demos/ppl_lpsol/ppl_lpsol.c
@@ -1,6 +1,6 @@
 /* Solve linear programming problems by either vertex/point enumeration
    or the primal simplex algorithm.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,8 +41,22 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #ifdef PPL_HAVE_GETOPT_H
 # include <getopt.h>
+
+/* Try to accommodate non-GNU implementations of `getopt()'. */
+#if !defined(no_argument) && defined(NO_ARG)
+#define no_argument NO_ARG
+#endif
+
+#if !defined(required_argument) && defined(REQUIRED_ARG)
+#define required_argument REQUIRED_ARG
+#endif
+
+#if !defined(optional_argument) && defined(OPTIONAL_ARG)
+#define optional_argument OPTIONAL_ARG
 #endif
 
+#endif /* defined(PPL_HAVE_GETOPT_H) */
+
 #ifdef PPL_HAVE_UNISTD_H
 /* Include this for `getopt()': especially important if we do not have
    <getopt.h>. */
@@ -75,6 +89,15 @@ static const char* ppl_source_version = PPL_VERSION;
 # define ATTRIBUTE_UNUSED
 #endif
 
+#if PPL_HAVE_DECL_GETRUSAGE
+# define PPL_LPSOL_SUPPORTS_TIMINGS
+#endif
+
+#if defined(PPL_HAVE_SYS_RESOURCE_H) \
+  && (defined(SA_ONESHOT) || defined(SA_RESETHAND))
+# define PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME
+#endif
+
 #ifdef PPL_HAVE_GETOPT_H
 static struct option long_options[] = {
   {"check",           optional_argument, 0, 'c'},
@@ -90,7 +113,9 @@ static struct option long_options[] = {
   {"pricing",         required_argument, 0, 'p'},
   {"enumerate",       no_argument,       0, 'e'},
   {"simplex",         no_argument,       0, 's'},
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
   {"timings",         no_argument,       0, 't'},
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
   {"verbosity",       required_argument, 0, 'v'},
   {"version",         no_argument,       0, 'V'},
   {0, 0, 0, 0}
@@ -121,9 +146,15 @@ static struct option long_options[] = {
   "                          0 --> steepest-edge using floating point\n" \
   "                          1 --> steepest-edge using exact arithmetic\n" \
   "                          2 --> textbook\n"                          \
-  "  -s, --simplex           use the simplex method\n"                  \
+  "  -s, --simplex           use the simplex method\n"
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+#define USAGE_STRING3                                                   \
   "  -t, --timings           prints timings to stderr\n"
+#else /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
 #define USAGE_STRING3                                                   \
+  ""
+#endif /* !defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+#define USAGE_STRING4                                                   \
   "  -v, --verbosity=LEVEL   sets verbosity level (from 0 to 4, default 3):\n" \
   "                          0 --> quiet: no output except for errors and\n" \
   "                                explicitly required notifications\n" \
@@ -132,19 +163,28 @@ static struct option long_options[] = {
   "                          3 --> state + optimal value + optimum location\n" \
   "                          4 --> lots of output\n"                    \
   "  -V, --version           prints version information to stdout\n"
+#ifndef PPL_HAVE_GETOPT_H
+#define USAGE_STRING5                                                   \
+  "\n"                                                                  \
+  "NOTE: this version does not support long options.\n"
+#else /* defined(PPL_HAVE_GETOPT_H) */
+#define USAGE_STRING5                                                   \
+  ""
+#endif /* !defined(PPL_HAVE_GETOPT_H) */
+#define USAGE_STRING6                                                   \
+  "\n"                                                                  \
+  "Report bugs to <ppl-devel at cs.unipr.it>.\n"
+
 
 #define OPTION_LETTERS "bc::eimnMC:R:ho:p:rstVv:"
 
 static const char* program_name = 0;
-
-static unsigned long max_seconds_of_cpu_time = 0;
 static unsigned long max_bytes_of_virtual_memory = 0;
 static const char* output_argument = 0;
 FILE* output_file = NULL;
 static int check_results = 0;
 static int use_simplex = 0;
 static int pricing_method = 0;
-static int print_timings = 0;
 static int verbosity = 3;
 static int maximize = 1;
 static int incremental = 0;
@@ -154,6 +194,14 @@ static int check_results_failed = 0;
 static double check_threshold = 0.0;
 static const double default_check_threshold = 0.000000001;
 
+#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME
+static unsigned long max_seconds_of_cpu_time = 0;
+#endif /* defined (PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */
+
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+static int print_timings = 0;
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
 static void
 my_exit(int status) {
   (void) ppl_finalize();
@@ -269,12 +317,12 @@ process_options(int argc, char* argv[]) {
       fputs(USAGE_STRING1, stdout);
       fputs(USAGE_STRING2, stdout);
       fputs(USAGE_STRING3, stdout);
-#ifndef PPL_HAVE_GETOPT_H
-      fputs("\nNOTE: this version does not support long options.\n");
-#endif
+      fputs(USAGE_STRING4, stdout);
       my_exit(0);
       break;
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
     case 'C':
       l = strtol(optarg, &endptr, 10);
       if (*endptr || l < 0)
@@ -283,6 +331,8 @@ process_options(int argc, char* argv[]) {
 	max_seconds_of_cpu_time = l;
       break;
 
+#endif /* defined (PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */
+
     case 'R':
       l = strtol(optarg, &endptr, 10);
       if (*endptr || l < 0)
@@ -311,10 +361,14 @@ process_options(int argc, char* argv[]) {
       simplex_required = 1;
       break;
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
     case 't':
       print_timings = 1;
       break;
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
     case 'v':
       l = strtol(optarg, &endptr, 10);
       if (*endptr || l < 0 || l > 4)
@@ -388,6 +442,8 @@ process_options(int argc, char* argv[]) {
     output_file = stdout;
 }
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
 /* To save the time when start_clock is called. */
 static struct timeval saved_ru_utime;
 
@@ -425,6 +481,10 @@ print_clock(FILE* f) {
   }
 }
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
+#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME
+
 void
 set_alarm_on_cpu_time(unsigned seconds, void (*handler)(int)) {
   sigset_t mask;
@@ -440,7 +500,7 @@ set_alarm_on_cpu_time(unsigned seconds, void (*handler)(int)) {
 #elif defined(SA_RESETHAND)
   s.sa_flags = SA_RESETHAND;
 #else
-  #error "Either SA_ONESHOT or SA_RESETHAND must be defined."
+# error "Either SA_ONESHOT or SA_RESETHAND must be defined."
 #endif
 
   if (sigaction(SIGXCPU, &s, 0) != 0)
@@ -456,7 +516,10 @@ 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
+
 void
 limit_virtual_memory(unsigned bytes) {
   struct rlimit t;
@@ -470,12 +533,17 @@ limit_virtual_memory(unsigned bytes) {
       fatal("setrlimit failed: %s", strerror(errno));
   }
 }
+
 #else
+
 void
 limit_virtual_memory(unsigned bytes ATTRIBUTE_UNUSED) {
 }
+
 #endif /* !PPL_HAVE_DECL_RLIMIT_AS */
 
+#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME
+
 static void
 my_timeout(int dummy ATTRIBUTE_UNUSED) {
   fprintf(stderr, "TIMEOUT\n");
@@ -484,6 +552,8 @@ my_timeout(int dummy ATTRIBUTE_UNUSED) {
   my_exit(0);
 }
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */
+
 static mpz_t tmp_z;
 static mpq_t tmp1_q;
 static mpq_t tmp2_q;
@@ -706,6 +776,8 @@ solve_with_generators(ppl_Constraint_System_t ppl_cs,
   /* Create the polyhedron (recycling the data structures of ppl_cs). */
   ppl_new_C_Polyhedron_recycle_Constraint_System(&ppl_ph, ppl_cs);
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
   if (print_timings) {
     fprintf(stderr, "Time to create a PPL polyhedron: ");
     print_clock(stderr);
@@ -713,8 +785,12 @@ solve_with_generators(ppl_Constraint_System_t ppl_cs,
     start_clock();
   }
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
   empty = ppl_Polyhedron_is_empty(ppl_ph);
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
   if (print_timings) {
     fprintf(stderr, "Time to check for emptiness: ");
     print_clock(stderr);
@@ -722,6 +798,8 @@ solve_with_generators(ppl_Constraint_System_t ppl_cs,
     start_clock();
   }
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
   if (empty) {
     if (verbosity >= 1)
       fprintf(output_file, "Unfeasible problem.\n");
@@ -743,6 +821,8 @@ solve_with_generators(ppl_Constraint_System_t ppl_cs,
     ? !ppl_Polyhedron_bounds_from_above(ppl_ph, ppl_objective_le)
     : !ppl_Polyhedron_bounds_from_below(ppl_ph, ppl_objective_le);
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
   if (print_timings) {
     fprintf(stderr, "Time to check for unboundedness: ");
     print_clock(stderr);
@@ -750,6 +830,8 @@ solve_with_generators(ppl_Constraint_System_t ppl_cs,
     start_clock();
   }
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
   if (unbounded) {
     if (verbosity >= 1)
       fprintf(output_file, "Unbounded problem.\n");
@@ -770,6 +852,8 @@ solve_with_generators(ppl_Constraint_System_t ppl_cs,
 
   ppl_delete_Polyhedron(ppl_ph);
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
   if (print_timings) {
     fprintf(stderr, "Time to find the optimum: ");
     print_clock(stderr);
@@ -777,6 +861,8 @@ solve_with_generators(ppl_Constraint_System_t ppl_cs,
     start_clock();
   }
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
   if (!included)
     fatal("internal error");
 
@@ -860,6 +946,8 @@ solve_with_simplex(ppl_const_Constraint_System_t cs,
       status = ppl_MIP_Problem_solve(ppl_mip);
   }
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
   if (print_timings) {
     fprintf(stderr, "Time to solve the problem: ");
     print_clock(stderr);
@@ -867,6 +955,8 @@ solve_with_simplex(ppl_const_Constraint_System_t cs,
     start_clock();
   }
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
   if ((no_optimization && !satisfiable)
       || (!no_optimization && status == PPL_MIP_PROBLEM_STATUS_UNFEASIBLE)) {
     if (verbosity >= 1)
@@ -923,9 +1013,13 @@ solve(char* file_name) {
   mpz_t den_lcm;
   int optimum_found;
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
   if (print_timings)
     start_clock();
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
   if (verbosity == 0) {
     /* FIXME: find a way to suppress output from lpx_read_mps. */
   }
@@ -935,6 +1029,8 @@ solve(char* file_name) {
   if (glpk_lp == NULL)
     fatal("cannot read MPS file `%s'", file_name);
 
+#ifdef PPL_LPSOL_SUPPORTS_TIMINGS
+
   if (print_timings) {
     fprintf(stderr, "Time to read the input file: ");
     print_clock(stderr);
@@ -942,6 +1038,8 @@ solve(char* file_name) {
     start_clock();
   }
 
+#endif /* defined(PPL_LPSOL_SUPPORTS_TIMINGS) */
+
   glpk_lp_problem_kind = lpx_get_class(glpk_lp);
   if (glpk_lp_problem_kind == LPX_MIP && !no_mip && !use_simplex)
      fatal("the enumeration solving method can not handle MIP problems");
@@ -1179,11 +1277,21 @@ ppl_set_GMP_memory_allocation_functions(void) {
 }
 #endif
 
-#if defined(NDEBUG) && \
-  !(defined(PPL_GLPK_HAS_GLP_TERM_OUT) && defined(GLP_OFF))     \
-  && (defined(PPL_GLPK_HAS_GLP_TERM_HOOK) \
-      || defined(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK) \
-      || defined(PPL_GLPK_HAS_LIB_SET_PRINT_HOOK))
+#if defined(NDEBUG)
+
+#if !(defined(PPL_GLPK_HAS_GLP_TERM_OUT) && defined(GLP_OFF))
+
+#if defined(PPL_GLPK_HAS_GLP_TERM_HOOK) \
+  || defined(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK)
+
+static int
+glpk_message_interceptor(void* info, const char* msg) {
+  (void) info;
+  (void) msg;
+  return 1;
+}
+
+#elif defined(PPL_GLPK_HAS_LIB_SET_PRINT_HOOK)
 
 static int
 glpk_message_interceptor(void* info, char* msg) {
@@ -1192,12 +1300,18 @@ glpk_message_interceptor(void* info, char* msg) {
   return 1;
 }
 
-#endif
+#endif /* !(defined(PPL_GLPK_HAS_GLP_TERM_HOOK)
+            || defined(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK))
+          && defined(PPL_GLPK_HAS_LIB_SET_PRINT_HOOK) */
+
+#endif /* !(defined(PPL_GLPK_HAS_GLP_TERM_OUT) && defined(GLP_OFF)) */
+
+#endif /* defined(NDEBUG) */
 
 int
 main(int argc, char* argv[]) {
 #if defined(PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK)
-  extern void _glp_lib_print_hook(int (*func)(void *info, char *buf),
+  extern void _glp_lib_print_hook(int (*func)(void *info, const char *buf),
 				  void *info);
 #endif
   program_name = argv[0];
@@ -1242,9 +1356,13 @@ main(int argc, char* argv[]) {
   mpq_init(tmp2_q);
   ppl_new_Coefficient(&ppl_coeff);
 
+#ifdef PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME
+
   if (max_seconds_of_cpu_time > 0)
     set_alarm_on_cpu_time(max_seconds_of_cpu_time, my_timeout);
 
+#endif /* defined (PPL_LPSOL_SUPPORTS_LIMIT_ON_CPU_TIME) */
+
   if (max_bytes_of_virtual_memory > 0)
     limit_virtual_memory(max_bytes_of_virtual_memory);
 
diff --git a/doc/Makefile.am b/doc/Makefile.am
index b04dffb..ac2ab5e 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -1041,10 +1041,10 @@ $(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh \
 $(srcdir)/gpl.dox $(srcdir)/fdl.dox
 
 OCAMLDOC_HTML_OPTIONS = \
--I +gmp -I $(top_builddir)/interfaces/OCaml -html
+-I @mlgmp_dir@ -I $(top_builddir)/interfaces/OCaml -html
 
 OCAMLDOC_LATEX_OPTIONS = \
--I +gmp -I $(top_builddir)/interfaces/OCaml \
+-I @mlgmp_dir@ -I $(top_builddir)/interfaces/OCaml \
 -latex -noheader -notrailer -notoc
 
 user-ocaml-interface.latex-dir: \
@@ -1559,22 +1559,22 @@ $(USER_CORE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_CORE_HTML_DIR)
 	tar c $(USER_CORE_HTML_DIR) | gzip --best --force > $@
 
-$(USER_C_INTERFACE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF) \
+$(USER_C_INTERFACE_HTML_MANUAL): $(USER_CORE_HTML_MANUAL) \
 user-language-interface.doxyconf $(USER_C_INTERFACE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_C_INTERFACE_HTML_DIR)
 	tar c $(USER_C_INTERFACE_HTML_DIR) | gzip --best --force > $@
 
-$(USER_PROLOG_INTERFACE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF) \
+$(USER_PROLOG_INTERFACE_HTML_MANUAL): $(USER_CORE_HTML_MANUAL) \
 user-language-interface.doxyconf $(USER_PROLOG_INTERFACE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_PROLOG_INTERFACE_HTML_DIR)
 	tar c $(USER_PROLOG_INTERFACE_HTML_DIR) | gzip --best --force > $@
 
-$(USER_OCAML_INTERFACE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF) \
+$(USER_OCAML_INTERFACE_HTML_MANUAL): $(USER_CORE_HTML_MANUAL) \
 user-language-interface.doxyconf $(USER_OCAML_INTERFACE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_OCAML_INTERFACE_HTML_DIR)
 	tar c $(USER_OCAML_INTERFACE_HTML_DIR) | gzip --best --force > $@
 
-$(USER_JAVA_INTERFACE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF) \
+$(USER_JAVA_INTERFACE_HTML_MANUAL): $(USER_CORE_HTML_MANUAL) \
 user-language-interface.doxyconf $(USER_JAVA_INTERFACE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_JAVA_INTERFACE_HTML_DIR)
 	tar c $(USER_JAVA_INTERFACE_HTML_DIR) | gzip --best --force > $@
@@ -1597,20 +1597,14 @@ EXTRA_DIST= \
 $(DIST_DOCS) \
 $(DOX_FILES) \
 README.doc \
-devref-language-interface.doxyconf \
 devref-language-interface.tex \
-devref.doxyconf-html \
-devref.doxyconf-latex \
 devref.tex \
 fdl.tex \
 gpl.tex \
 interfaces-html.sed \
 interfaces-latex.sed \
 ppl.sty \
-user-language-interface.doxyconf \
 user-language-interface.tex \
-user.doxyconf-html \
-user.doxyconf-latex \
 user.tex
 
 GENERATED_LATEX_HEADER_FILES = \
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 9c60d73..a0ca81e 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -85,12 +85,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -164,6 +163,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -172,6 +173,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -248,6 +250,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = $(docdir)
@@ -945,10 +948,10 @@ $(srcdir)/../interfaces/OCaml/ppl_ocaml_common.inlines.hh \
 $(srcdir)/gpl.dox $(srcdir)/fdl.dox
 
 OCAMLDOC_HTML_OPTIONS = \
--I +gmp -I $(top_builddir)/interfaces/OCaml -html
+-I @mlgmp_dir@ -I $(top_builddir)/interfaces/OCaml -html
 
 OCAMLDOC_LATEX_OPTIONS = \
--I +gmp -I $(top_builddir)/interfaces/OCaml \
+-I @mlgmp_dir@ -I $(top_builddir)/interfaces/OCaml \
 -latex -noheader -notrailer -notoc
 
 
@@ -1049,20 +1052,14 @@ EXTRA_DIST = \
 $(DIST_DOCS) \
 $(DOX_FILES) \
 README.doc \
-devref-language-interface.doxyconf \
 devref-language-interface.tex \
-devref.doxyconf-html \
-devref.doxyconf-latex \
 devref.tex \
 fdl.tex \
 gpl.tex \
 interfaces-html.sed \
 interfaces-latex.sed \
 ppl.sty \
-user-language-interface.doxyconf \
 user-language-interface.tex \
-user.doxyconf-html \
-user.doxyconf-latex \
 user.tex
 
 GENERATED_LATEX_HEADER_FILES = \
@@ -2108,22 +2105,22 @@ $(USER_CORE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_CORE_HTML_DIR)
 	tar c $(USER_CORE_HTML_DIR) | gzip --best --force > $@
 
-$(USER_C_INTERFACE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF) \
+$(USER_C_INTERFACE_HTML_MANUAL): $(USER_CORE_HTML_MANUAL) \
 user-language-interface.doxyconf $(USER_C_INTERFACE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_C_INTERFACE_HTML_DIR)
 	tar c $(USER_C_INTERFACE_HTML_DIR) | gzip --best --force > $@
 
-$(USER_PROLOG_INTERFACE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF) \
+$(USER_PROLOG_INTERFACE_HTML_MANUAL): $(USER_CORE_HTML_MANUAL) \
 user-language-interface.doxyconf $(USER_PROLOG_INTERFACE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_PROLOG_INTERFACE_HTML_DIR)
 	tar c $(USER_PROLOG_INTERFACE_HTML_DIR) | gzip --best --force > $@
 
-$(USER_OCAML_INTERFACE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF) \
+$(USER_OCAML_INTERFACE_HTML_MANUAL): $(USER_CORE_HTML_MANUAL) \
 user-language-interface.doxyconf $(USER_OCAML_INTERFACE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_OCAML_INTERFACE_HTML_DIR)
 	tar c $(USER_OCAML_INTERFACE_HTML_DIR) | gzip --best --force > $@
 
-$(USER_JAVA_INTERFACE_HTML_MANUAL): user.doxyconf-html $(USER_CORE_STUFF) \
+$(USER_JAVA_INTERFACE_HTML_MANUAL): $(USER_CORE_HTML_MANUAL) \
 user-language-interface.doxyconf $(USER_JAVA_INTERFACE_STUFF)
 	$(MAKE) $(AM_MAKEFLAGS) $(USER_JAVA_INTERFACE_HTML_DIR)
 	tar c $(USER_JAVA_INTERFACE_HTML_DIR) | gzip --best --force > $@
diff --git a/doc/README.doc b/doc/README.doc
index a0de9b2..57c60ad 100644
--- a/doc/README.doc
+++ b/doc/README.doc
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 How To Get (More) PPL Documentation
@@ -127,7 +127,7 @@ for the change to become effective.
 
 --------
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/doc/definitions.dox b/doc/definitions.dox
index 61f12be..d6ef265 100644
--- a/doc/definitions.dox
+++ b/doc/definitions.dox
@@ -1,4 +1,4 @@
-//  Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+//  Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 //
 //  This document describes the Parma Polyhedra Library (PPL).
 //
diff --git a/doc/devref-language-interface.doxyconf b/doc/devref-language-interface.doxyconf
deleted file mode 100644
index 6b66983..0000000
--- a/doc/devref-language-interface.doxyconf
+++ /dev/null
@@ -1,255 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = "PPL <PPL_SED_LANGUAGE_NAME> Language Interface"
-PROJECT_NUMBER         = 0.10
-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                = <PPL_SED_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                  = <PPL_SED_INPUT>
-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         = 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          = <PPL_SED_GENERATE_HTML>
-HTML_OUTPUT            = ppl-devref-<PPL_SED_INTERFACE_NAME>-0.10-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         = <PPL_SED_GENERATE_LATEX>
-LATEX_OUTPUT           = devref-<PPL_SED_INTERFACE_NAME>.latex-dir
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = YES
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = ppl
-LATEX_HEADER           = devref-<PPL_SED_INTERFACE_NAME>.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             = PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS \
-                         PPL_PROTO(protos):=protos
-EXPAND_AS_DEFINED      = DECLARE_CONVERSIONS \
-                         CATCH_ALL
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = <PPL_SED_TAGFILES>
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/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/doc/devref-language-interface.tex b/doc/devref-language-interface.tex
index db4984f..691d1ca 100644
--- a/doc/devref-language-interface.tex
+++ b/doc/devref-language-interface.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001--2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -100,7 +100,7 @@ Enea Zaffanella\thanks{zaffanella at cs.unipr.it,
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2008 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/doc/devref.doxyconf-html b/doc/devref.doxyconf-html
deleted file mode 100644
index 3b6fa1d..0000000
--- a/doc/devref.doxyconf-html
+++ /dev/null
@@ -1,486 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PPL
-PROJECT_NUMBER         = 0.10
-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                  = ./definitions.dox \
-                         ./../src/namespaces.hh \
-                         ../src/version.hh \
-                         ./../src/version.cc \
-                         ./../src/meta_programming.hh \
-                         ./../src/Float.defs.hh \
-                         ./../src/Float.inlines.hh \
-                         ./../src/Float.cc \
-                         ./../src/Checked_Number.types.hh \
-                         ./../src/Checked_Number.defs.hh \
-                         ./../src/Checked_Number.inlines.hh \
-                         ./../src/Checked_Number.cc \
-                         ./../src/GMP_Integer.types.hh \
-                         ./../src/GMP_Integer.defs.hh \
-                         ./../src/GMP_Integer.inlines.hh \
-                         ./../src/Coefficient_traits_template.hh \
-                         ./../src/Coefficient.types.hh \
-                         ./../src/Coefficient.defs.hh \
-                         ./../src/Coefficient.inlines.hh \
-                         ./../src/Coefficient.cc \
-                         ./../src/checked.defs.hh \
-                         ./../src/checked.inlines.hh \
-                         ./../src/checked_float.inlines.hh \
-                         ./../src/checked_int.inlines.hh \
-                         ./../src/checked_mpq.inlines.hh \
-                         ./../src/checked_mpz.inlines.hh \
-                         ./../src/checked.cc \
-                         ./../src/Init.types.hh \
-                         ./../src/Init.defs.hh \
-                         ./../src/Init.inlines.hh \
-                         ./../src/Init.cc \
-                         ./../src/initializer.hh \
-                         ./../src/globals.types.hh \
-                         ./../src/globals.defs.hh \
-                         ./../src/globals.inlines.hh \
-                         ./../src/globals.cc \
-                         ./../src/math_utilities.defs.hh \
-                         ./../src/math_utilities.inlines.hh \
-                         ./../src/distances.types.hh \
-                         ./../src/distances.defs.hh \
-                         ./../src/distances.inlines.hh \
-                         ./../src/stdiobuf.types.hh \
-                         ./../src/stdiobuf.defs.hh \
-                         ./../src/stdiobuf.inlines.hh \
-                         ./../src/stdiobuf.cc \
-                         ./../src/Topology.hh \
-                         ./../src/Row.types.hh \
-                         ./../src/Row.defs.hh \
-                         ./../src/Row.inlines.hh \
-                         ./../src/Row.cc \
-                         ./../src/Matrix.types.hh \
-                         ./../src/Matrix.defs.hh \
-                         ./../src/Matrix.inlines.hh \
-                         ./../src/Matrix.cc \
-                         ./../src/Linear_Row.types.hh \
-                         ./../src/Linear_Row.defs.hh \
-                         ./../src/Linear_Row.inlines.hh \
-                         ./../src/Linear_Row.cc \
-                         ./../src/Linear_System.types.hh \
-                         ./../src/Linear_System.defs.hh \
-                         ./../src/Linear_System.inlines.hh \
-                         ./../src/Linear_System.cc \
-                         ./../src/MIP_Problem.types.hh \
-                         ./../src/MIP_Problem.defs.hh \
-                         ./../src/MIP_Problem.inlines.hh \
-                         ./../src/MIP_Problem.cc \
-                         ./../src/Bit_Row.types.hh \
-                         ./../src/Bit_Row.defs.hh \
-                         ./../src/Bit_Row.inlines.hh \
-                         ./../src/Bit_Row.cc \
-                         ./../src/Bit_Matrix.types.hh \
-                         ./../src/Bit_Matrix.defs.hh \
-                         ./../src/Bit_Matrix.inlines.hh \
-                         ./../src/Bit_Matrix.cc \
-                         ./../src/Variable.types.hh \
-                         ./../src/Variable.defs.hh \
-                         ./../src/Variable.inlines.hh \
-                         ./../src/Variable.cc \
-                         ./../src/Variables_Set.types.hh \
-                         ./../src/Variables_Set.defs.hh \
-                         ./../src/Variables_Set.inlines.hh \
-                         ./../src/Variables_Set.cc \
-                         ./../src/Linear_Expression.types.hh \
-                         ./../src/Linear_Expression.defs.hh \
-                         ./../src/Linear_Expression.inlines.hh \
-                         ./../src/Linear_Expression.cc \
-                         ./../src/Constraint.types.hh \
-                         ./../src/Constraint.defs.hh \
-                         ./../src/Constraint.inlines.hh \
-                         ./../src/Constraint.cc \
-                         ./../src/Congruence.types.hh \
-                         ./../src/Congruence.defs.hh \
-                         ./../src/Congruence.inlines.hh \
-                         ./../src/Congruence.cc \
-                         ./../src/Generator.types.hh \
-                         ./../src/Generator.defs.hh \
-                         ./../src/Generator.inlines.hh \
-                         ./../src/Generator.cc \
-                         ./../src/Grid_Generator.types.hh \
-                         ./../src/Grid_Generator.defs.hh \
-                         ./../src/Grid_Generator.inlines.hh \
-                         ./../src/Grid_Generator.cc \
-                         ./../src/Constraint_System.types.hh \
-                         ./../src/Constraint_System.defs.hh \
-                         ./../src/Constraint_System.inlines.hh \
-                         ./../src/Constraint_System.cc \
-                         ./../src/Congruence_System.types.hh \
-                         ./../src/Congruence_System.defs.hh \
-                         ./../src/Congruence_System.inlines.hh \
-                         ./../src/Congruence_System.cc \
-                         ./../src/Generator_System.defs.hh \
-                         ./../src/Generator_System.types.hh \
-                         ./../src/Generator_System.inlines.hh \
-                         ./../src/Generator_System.cc \
-                         ./../src/Grid_Generator_System.defs.hh \
-                         ./../src/Grid_Generator_System.types.hh \
-                         ./../src/Grid_Generator_System.inlines.hh \
-                         ./../src/Grid_Generator_System.cc \
-                         ./../src/Scalar_Products.types.hh \
-                         ./../src/Scalar_Products.defs.hh \
-                         ./../src/Scalar_Products.inlines.hh \
-                         ./../src/Scalar_Products.cc \
-                         ./../src/Ph_Status.idefs.hh \
-                         ./../src/Ph_Status.inlines.hh \
-                         ./../src/Ph_Status.cc \
-                         ./../src/Polyhedron.types.hh \
-                         ./../src/Polyhedron.defs.hh \
-                         ./../src/Polyhedron.inlines.hh \
-                         ./../src/Polyhedron.templates.hh \
-                         ./../src/Polyhedron_public.cc \
-                         ./../src/Polyhedron_nonpublic.cc \
-                         ./../src/Polyhedron_widenings.cc \
-                         ./../src/Polyhedron_chdims.cc \
-                         ./../src/conversion.cc \
-                         ./../src/minimize.cc \
-                         ./../src/simplify.cc \
-                         ./../src/Grid.types.hh \
-                         ./../src/Grid.defs.hh \
-                         ./../src/Grid.inlines.hh \
-                         ./../src/Grid.templates.hh \
-                         ./../src/Grid_public.cc \
-                         ./../src/Grid_nonpublic.cc \
-                         ./../src/Grid_conversion.cc \
-                         ./../src/Grid_simplify.cc \
-                         ./../src/Grid_widenings.cc \
-                         ./../src/Grid_chdims.cc \
-                         ./../src/Poly_Con_Relation.types.hh \
-                         ./../src/Poly_Con_Relation.defs.hh \
-                         ./../src/Poly_Con_Relation.inlines.hh \
-                         ./../src/Poly_Con_Relation.cc \
-                         ./../src/Poly_Gen_Relation.types.hh \
-                         ./../src/Poly_Gen_Relation.defs.hh \
-                         ./../src/Poly_Gen_Relation.inlines.hh \
-                         ./../src/Poly_Gen_Relation.cc \
-                         ./../src/Interval_Restriction.defs.hh \
-                         ./../src/Interval_Info.types.hh \
-                         ./../src/Interval_Info.defs.hh \
-                         ./../src/Interval_Info.inlines.hh \
-                         ./../src/Interval.types.hh \
-                         ./../src/Interval.defs.hh \
-                         ./../src/Interval.inlines.hh \
-                         ./../src/C_Polyhedron.types.hh \
-                         ./../src/C_Polyhedron.defs.hh \
-                         ./../src/C_Polyhedron.inlines.hh \
-                         ./../src/C_Polyhedron.cc \
-                         ./../src/NNC_Polyhedron.types.hh \
-                         ./../src/NNC_Polyhedron.defs.hh \
-                         ./../src/NNC_Polyhedron.inlines.hh \
-                         ./../src/NNC_Polyhedron.cc \
-                         ./../src/Widening_Function.types.hh \
-                         ./../src/Widening_Function.defs.hh \
-                         ./../src/Widening_Function.inlines.hh \
-                         ./../src/BHRZ03_Certificate.types.hh \
-                         ./../src/BHRZ03_Certificate.defs.hh \
-                         ./../src/BHRZ03_Certificate.inlines.hh \
-                         ./../src/BHRZ03_Certificate.cc \
-                         ./../src/H79_Certificate.types.hh \
-                         ./../src/H79_Certificate.defs.hh \
-                         ./../src/H79_Certificate.inlines.hh \
-                         ./../src/H79_Certificate.cc \
-                         ./../src/Grid_Certificate.types.hh \
-                         ./../src/Grid_Certificate.defs.hh \
-                         ./../src/Grid_Certificate.inlines.hh \
-                         ./../src/Grid_Certificate.cc \
-                         ./../src/Determinate.defs.hh \
-                         ./../src/Determinate.inlines.hh \
-                         ./../src/iterator_to_const.types.hh \
-                         ./../src/iterator_to_const.defs.hh \
-                         ./../src/iterator_to_const.inlines.hh \
-                         ./../src/Powerset.types.hh \
-                         ./../src/Powerset.defs.hh \
-                         ./../src/Powerset.inlines.hh \
-                         ./../src/Powerset.templates.hh \
-                         ./../src/Pointset_Powerset.types.hh \
-                         ./../src/Pointset_Powerset.defs.hh \
-                         ./../src/Pointset_Powerset.inlines.hh \
-                         ./../src/Pointset_Powerset.templates.hh \
-                         ./../src/Pointset_Powerset.cc \
-                         ./../src/Partially_Reduced_Product.types.hh \
-                         ./../src/Partially_Reduced_Product.defs.hh \
-                         ./../src/Partially_Reduced_Product.inlines.hh \
-                         ./../src/Partially_Reduced_Product.templates.hh \
-                         ./../src/algorithms.hh \
-                         ./../src/Box.types.hh \
-                         ./../src/Box.defs.hh \
-                         ./../src/Box.inlines.hh \
-                         ./../src/Box.templates.hh \
-                         ./../src/Box.cc \
-                         ./../src/DB_Row.types.hh \
-                         ./../src/DB_Row.defs.hh \
-                         ./../src/DB_Row.inlines.hh \
-                         ./../src/DB_Row.templates.hh \
-                         ./../src/DB_Matrix.types.hh \
-                         ./../src/DB_Matrix.defs.hh \
-                         ./../src/DB_Matrix.inlines.hh \
-                         ./../src/DB_Matrix.templates.hh \
-                         ./../src/BD_Shape.types.hh \
-                         ./../src/BD_Shape.defs.hh \
-                         ./../src/BD_Shape.inlines.hh \
-                         ./../src/BD_Shape.templates.hh \
-                         ./../src/BD_Shape.cc \
-                         ./../src/OR_Matrix.types.hh \
-                         ./../src/OR_Matrix.defs.hh \
-                         ./../src/OR_Matrix.inlines.hh \
-                         ./../src/OR_Matrix.templates.hh \
-                         ./../src/Octagonal_Shape.types.hh \
-                         ./../src/Octagonal_Shape.defs.hh \
-                         ./../src/Octagonal_Shape.inlines.hh \
-                         ./../src/Octagonal_Shape.templates.hh \
-                         ./../src/Octagonal_Shape.cc \
-                         ./gpl.dox \
-                         ./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            = ppl-devref-0.10-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         = ppl
-LATEX_HEADER           = ./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             = PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = ppl-devref-0.10-html.tag
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/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/doc/devref.doxyconf-latex b/doc/devref.doxyconf-latex
deleted file mode 100644
index 0408fe6..0000000
--- a/doc/devref.doxyconf-latex
+++ /dev/null
@@ -1,486 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PPL
-PROJECT_NUMBER         = 0.10
-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                  = ./definitions.dox \
-                         ./../src/namespaces.hh \
-                         ../src/version.hh \
-                         ./../src/version.cc \
-                         ./../src/meta_programming.hh \
-                         ./../src/Float.defs.hh \
-                         ./../src/Float.inlines.hh \
-                         ./../src/Float.cc \
-                         ./../src/Checked_Number.types.hh \
-                         ./../src/Checked_Number.defs.hh \
-                         ./../src/Checked_Number.inlines.hh \
-                         ./../src/Checked_Number.cc \
-                         ./../src/GMP_Integer.types.hh \
-                         ./../src/GMP_Integer.defs.hh \
-                         ./../src/GMP_Integer.inlines.hh \
-                         ./../src/Coefficient_traits_template.hh \
-                         ./../src/Coefficient.types.hh \
-                         ./../src/Coefficient.defs.hh \
-                         ./../src/Coefficient.inlines.hh \
-                         ./../src/Coefficient.cc \
-                         ./../src/checked.defs.hh \
-                         ./../src/checked.inlines.hh \
-                         ./../src/checked_float.inlines.hh \
-                         ./../src/checked_int.inlines.hh \
-                         ./../src/checked_mpq.inlines.hh \
-                         ./../src/checked_mpz.inlines.hh \
-                         ./../src/checked.cc \
-                         ./../src/Init.types.hh \
-                         ./../src/Init.defs.hh \
-                         ./../src/Init.inlines.hh \
-                         ./../src/Init.cc \
-                         ./../src/initializer.hh \
-                         ./../src/globals.types.hh \
-                         ./../src/globals.defs.hh \
-                         ./../src/globals.inlines.hh \
-                         ./../src/globals.cc \
-                         ./../src/math_utilities.defs.hh \
-                         ./../src/math_utilities.inlines.hh \
-                         ./../src/distances.types.hh \
-                         ./../src/distances.defs.hh \
-                         ./../src/distances.inlines.hh \
-                         ./../src/stdiobuf.types.hh \
-                         ./../src/stdiobuf.defs.hh \
-                         ./../src/stdiobuf.inlines.hh \
-                         ./../src/stdiobuf.cc \
-                         ./../src/Topology.hh \
-                         ./../src/Row.types.hh \
-                         ./../src/Row.defs.hh \
-                         ./../src/Row.inlines.hh \
-                         ./../src/Row.cc \
-                         ./../src/Matrix.types.hh \
-                         ./../src/Matrix.defs.hh \
-                         ./../src/Matrix.inlines.hh \
-                         ./../src/Matrix.cc \
-                         ./../src/Linear_Row.types.hh \
-                         ./../src/Linear_Row.defs.hh \
-                         ./../src/Linear_Row.inlines.hh \
-                         ./../src/Linear_Row.cc \
-                         ./../src/Linear_System.types.hh \
-                         ./../src/Linear_System.defs.hh \
-                         ./../src/Linear_System.inlines.hh \
-                         ./../src/Linear_System.cc \
-                         ./../src/MIP_Problem.types.hh \
-                         ./../src/MIP_Problem.defs.hh \
-                         ./../src/MIP_Problem.inlines.hh \
-                         ./../src/MIP_Problem.cc \
-                         ./../src/Bit_Row.types.hh \
-                         ./../src/Bit_Row.defs.hh \
-                         ./../src/Bit_Row.inlines.hh \
-                         ./../src/Bit_Row.cc \
-                         ./../src/Bit_Matrix.types.hh \
-                         ./../src/Bit_Matrix.defs.hh \
-                         ./../src/Bit_Matrix.inlines.hh \
-                         ./../src/Bit_Matrix.cc \
-                         ./../src/Variable.types.hh \
-                         ./../src/Variable.defs.hh \
-                         ./../src/Variable.inlines.hh \
-                         ./../src/Variable.cc \
-                         ./../src/Variables_Set.types.hh \
-                         ./../src/Variables_Set.defs.hh \
-                         ./../src/Variables_Set.inlines.hh \
-                         ./../src/Variables_Set.cc \
-                         ./../src/Linear_Expression.types.hh \
-                         ./../src/Linear_Expression.defs.hh \
-                         ./../src/Linear_Expression.inlines.hh \
-                         ./../src/Linear_Expression.cc \
-                         ./../src/Constraint.types.hh \
-                         ./../src/Constraint.defs.hh \
-                         ./../src/Constraint.inlines.hh \
-                         ./../src/Constraint.cc \
-                         ./../src/Congruence.types.hh \
-                         ./../src/Congruence.defs.hh \
-                         ./../src/Congruence.inlines.hh \
-                         ./../src/Congruence.cc \
-                         ./../src/Generator.types.hh \
-                         ./../src/Generator.defs.hh \
-                         ./../src/Generator.inlines.hh \
-                         ./../src/Generator.cc \
-                         ./../src/Grid_Generator.types.hh \
-                         ./../src/Grid_Generator.defs.hh \
-                         ./../src/Grid_Generator.inlines.hh \
-                         ./../src/Grid_Generator.cc \
-                         ./../src/Constraint_System.types.hh \
-                         ./../src/Constraint_System.defs.hh \
-                         ./../src/Constraint_System.inlines.hh \
-                         ./../src/Constraint_System.cc \
-                         ./../src/Congruence_System.types.hh \
-                         ./../src/Congruence_System.defs.hh \
-                         ./../src/Congruence_System.inlines.hh \
-                         ./../src/Congruence_System.cc \
-                         ./../src/Generator_System.defs.hh \
-                         ./../src/Generator_System.types.hh \
-                         ./../src/Generator_System.inlines.hh \
-                         ./../src/Generator_System.cc \
-                         ./../src/Grid_Generator_System.defs.hh \
-                         ./../src/Grid_Generator_System.types.hh \
-                         ./../src/Grid_Generator_System.inlines.hh \
-                         ./../src/Grid_Generator_System.cc \
-                         ./../src/Scalar_Products.types.hh \
-                         ./../src/Scalar_Products.defs.hh \
-                         ./../src/Scalar_Products.inlines.hh \
-                         ./../src/Scalar_Products.cc \
-                         ./../src/Ph_Status.idefs.hh \
-                         ./../src/Ph_Status.inlines.hh \
-                         ./../src/Ph_Status.cc \
-                         ./../src/Polyhedron.types.hh \
-                         ./../src/Polyhedron.defs.hh \
-                         ./../src/Polyhedron.inlines.hh \
-                         ./../src/Polyhedron.templates.hh \
-                         ./../src/Polyhedron_public.cc \
-                         ./../src/Polyhedron_nonpublic.cc \
-                         ./../src/Polyhedron_widenings.cc \
-                         ./../src/Polyhedron_chdims.cc \
-                         ./../src/conversion.cc \
-                         ./../src/minimize.cc \
-                         ./../src/simplify.cc \
-                         ./../src/Grid.types.hh \
-                         ./../src/Grid.defs.hh \
-                         ./../src/Grid.inlines.hh \
-                         ./../src/Grid.templates.hh \
-                         ./../src/Grid_public.cc \
-                         ./../src/Grid_nonpublic.cc \
-                         ./../src/Grid_conversion.cc \
-                         ./../src/Grid_simplify.cc \
-                         ./../src/Grid_widenings.cc \
-                         ./../src/Grid_chdims.cc \
-                         ./../src/Poly_Con_Relation.types.hh \
-                         ./../src/Poly_Con_Relation.defs.hh \
-                         ./../src/Poly_Con_Relation.inlines.hh \
-                         ./../src/Poly_Con_Relation.cc \
-                         ./../src/Poly_Gen_Relation.types.hh \
-                         ./../src/Poly_Gen_Relation.defs.hh \
-                         ./../src/Poly_Gen_Relation.inlines.hh \
-                         ./../src/Poly_Gen_Relation.cc \
-                         ./../src/Interval_Restriction.defs.hh \
-                         ./../src/Interval_Info.types.hh \
-                         ./../src/Interval_Info.defs.hh \
-                         ./../src/Interval_Info.inlines.hh \
-                         ./../src/Interval.types.hh \
-                         ./../src/Interval.defs.hh \
-                         ./../src/Interval.inlines.hh \
-                         ./../src/C_Polyhedron.types.hh \
-                         ./../src/C_Polyhedron.defs.hh \
-                         ./../src/C_Polyhedron.inlines.hh \
-                         ./../src/C_Polyhedron.cc \
-                         ./../src/NNC_Polyhedron.types.hh \
-                         ./../src/NNC_Polyhedron.defs.hh \
-                         ./../src/NNC_Polyhedron.inlines.hh \
-                         ./../src/NNC_Polyhedron.cc \
-                         ./../src/Widening_Function.types.hh \
-                         ./../src/Widening_Function.defs.hh \
-                         ./../src/Widening_Function.inlines.hh \
-                         ./../src/BHRZ03_Certificate.types.hh \
-                         ./../src/BHRZ03_Certificate.defs.hh \
-                         ./../src/BHRZ03_Certificate.inlines.hh \
-                         ./../src/BHRZ03_Certificate.cc \
-                         ./../src/H79_Certificate.types.hh \
-                         ./../src/H79_Certificate.defs.hh \
-                         ./../src/H79_Certificate.inlines.hh \
-                         ./../src/H79_Certificate.cc \
-                         ./../src/Grid_Certificate.types.hh \
-                         ./../src/Grid_Certificate.defs.hh \
-                         ./../src/Grid_Certificate.inlines.hh \
-                         ./../src/Grid_Certificate.cc \
-                         ./../src/Determinate.defs.hh \
-                         ./../src/Determinate.inlines.hh \
-                         ./../src/iterator_to_const.types.hh \
-                         ./../src/iterator_to_const.defs.hh \
-                         ./../src/iterator_to_const.inlines.hh \
-                         ./../src/Powerset.types.hh \
-                         ./../src/Powerset.defs.hh \
-                         ./../src/Powerset.inlines.hh \
-                         ./../src/Powerset.templates.hh \
-                         ./../src/Pointset_Powerset.types.hh \
-                         ./../src/Pointset_Powerset.defs.hh \
-                         ./../src/Pointset_Powerset.inlines.hh \
-                         ./../src/Pointset_Powerset.templates.hh \
-                         ./../src/Pointset_Powerset.cc \
-                         ./../src/Partially_Reduced_Product.types.hh \
-                         ./../src/Partially_Reduced_Product.defs.hh \
-                         ./../src/Partially_Reduced_Product.inlines.hh \
-                         ./../src/Partially_Reduced_Product.templates.hh \
-                         ./../src/algorithms.hh \
-                         ./../src/Box.types.hh \
-                         ./../src/Box.defs.hh \
-                         ./../src/Box.inlines.hh \
-                         ./../src/Box.templates.hh \
-                         ./../src/Box.cc \
-                         ./../src/DB_Row.types.hh \
-                         ./../src/DB_Row.defs.hh \
-                         ./../src/DB_Row.inlines.hh \
-                         ./../src/DB_Row.templates.hh \
-                         ./../src/DB_Matrix.types.hh \
-                         ./../src/DB_Matrix.defs.hh \
-                         ./../src/DB_Matrix.inlines.hh \
-                         ./../src/DB_Matrix.templates.hh \
-                         ./../src/BD_Shape.types.hh \
-                         ./../src/BD_Shape.defs.hh \
-                         ./../src/BD_Shape.inlines.hh \
-                         ./../src/BD_Shape.templates.hh \
-                         ./../src/BD_Shape.cc \
-                         ./../src/OR_Matrix.types.hh \
-                         ./../src/OR_Matrix.defs.hh \
-                         ./../src/OR_Matrix.inlines.hh \
-                         ./../src/OR_Matrix.templates.hh \
-                         ./../src/Octagonal_Shape.types.hh \
-                         ./../src/Octagonal_Shape.defs.hh \
-                         ./../src/Octagonal_Shape.inlines.hh \
-                         ./../src/Octagonal_Shape.templates.hh \
-                         ./../src/Octagonal_Shape.cc \
-                         ./gpl.dox \
-                         ./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          = NO
-HTML_OUTPUT            = ppl-devref-0.10-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         = ppl
-LATEX_HEADER           = ./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             = PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-EXPAND_AS_DEFINED      = PPL_OUTPUT_DECLARATIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/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/doc/devref.tex b/doc/devref.tex
index ee02b76..0f350d4 100644
--- a/doc/devref.tex
+++ b/doc/devref.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -109,7 +109,7 @@ Tatiana Zolo
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2008 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/doc/fdl.pdf b/doc/fdl.pdf
index 44efcac..4b76858 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 1ba1ee4..6a39c87 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 9a600e9..11eb33f 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 5d9045e..5d5902a 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 1594772..401c817 100644
--- a/doc/libppl.3
+++ b/doc/libppl.3
@@ -1,4 +1,4 @@
-.TH libppl "3" "November 2008" "PPL 0.10" "libppl overview"
+.TH libppl "3" "November 2008" "PPL 0.10.1" "libppl overview"
 
 .SH NAME
 libppl \- the C++ interface of the Parma Polyhedra Library
@@ -107,26 +107,30 @@ upon memory exhaustion.
 For instance:
 .sp
 .nf
+#include <new>
+#include <cstdlib>
+
 extern "C" void*
 cxx_malloc(size_t size) {
-  return ::operator new(size);
+  void* p = malloc(size);
+  if (p != 0 || size == 0)
+    return p;
+
+  throw std::bad_alloc();
 }
 
 extern "C" void*
-cxx_realloc(void* p, size_t old_size, size_t new_size) {
-  if (new_size <= old_size)
+cxx_realloc(void* q, size_t, size_t new_size) {
+  void* p = realloc(q, new_size);
+  if (p != 0 || new_size == 0)
     return p;
-  else {
-    void* new_p = ::operator new(new_size);
-    memcpy(new_p, p, old_size);
-    ::operator delete(p);
-    return new_p;
-  }
+
+  throw std::bad_alloc();
 }
 
 extern "C" void
 cxx_free(void* p, size_t) {
-  ::operator delete(p);
+  free(p);
 }
 .fi
 .sp
@@ -213,7 +217,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\-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 .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 538815e..91c8633 100644
--- a/doc/libppl_c.3
+++ b/doc/libppl_c.3
@@ -1,4 +1,4 @@
-.TH libppl_c "3" "November 2008" "PPL 0.10" "libppl_c overview"
+.TH libppl_c "3" "November 2008" "PPL 0.10.1" "libppl_c overview"
 
 .SH NAME
 libppl_c \- the C interface of the Parma Polyhedra Library
@@ -153,7 +153,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\-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 .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 2f84bd6..ef18a8e 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.36.
-.TH PPL-CONFIG "1" "November 2008" "ppl-config 0.10" "User Commands"
+.TH PPL-CONFIG "1" "April 2009" "ppl-config 0.10.1" "User Commands"
 .SH NAME
 ppl-config \- obtain information about an installation of the Parma Polyhedra Library
 .SH SYNOPSIS
@@ -104,7 +104,7 @@ Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH "REPORTING BUGS"
 Report bugs to <ppl\-devel at cs.unipr.it>.
 .SH COPYRIGHT
-Copyright (C) 2001\-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001\-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 .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-user-0.10-html.tar.gz b/doc/ppl-user-0.10-html.tar.gz
deleted file mode 100644
index 94f7ef6..0000000
Binary files a/doc/ppl-user-0.10-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-0.10.1pre13-html.tar.gz b/doc/ppl-user-0.10.1pre13-html.tar.gz
new file mode 100644
index 0000000..1cae2c7
Binary files /dev/null and b/doc/ppl-user-0.10.1pre13-html.tar.gz differ
diff --git a/doc/ppl-user-0.10.pdf b/doc/ppl-user-0.10.1pre13.pdf
similarity index 50%
rename from doc/ppl-user-0.10.pdf
rename to doc/ppl-user-0.10.1pre13.pdf
index c4d8b6c..662b909 100644
--- a/doc/ppl-user-0.10.pdf
+++ b/doc/ppl-user-0.10.1pre13.pdf
@@ -1,4 +1,5 @@
 %PDF-1.4
+%����
 5 0 obj
 << /S /GoTo /D (section.1) >>
 endobj
@@ -495,72750 +496,71251 @@ endobj
 << /S /GoTo /D [334 0 R  /Fit ] >>
 endobj
 336 0 obj <<
-/Length 1369      
+/Length 1269      
 /Filter /FlateDecode
 >>
 stream
-x��W�r�6��+�锚� ���I�6i�q-���YP$��H���_ߋ)ɖ��:Z� p_�
B$��#�‰����I��dӿ�H\f4�癅IF$R8��D�H�
�
��b��&�\Di�����_q��(�,�-��B�d����Z�'���fLxZ�M�m�_녉�w��f?�4{�p��$�
�"�?�C�͏c��.l�.�]Q;��+�P�8?0FR��2��
�,`O}�(�r�ؒ��D4�_���tU��

�p���@LJp8c��X�Cn۹6�
�_���X��L�%0q[!W�+CY&�߹?gb"`�`����#CN���*����U]��&��L�X�?o�#�s~b���ʟ�rLy�
����s��
�wl��Y[�d�P� Q {���"��K�5ڙ�R��Ȃ;�Ak>�QQw1���$��I�H*
����.�q[�e��	���Y4
�=�DN���iѓ�e�TM8g%D!)&�^4
�g�Fw��6�)�9#�+]G����m������<K�VE�W����3�3�
e�|�:�no��a{�c�6�.gC���A��Y��	�*c�	��>~��0oGX#yrp[)�lF$W�*X?S����B�&H$W��0�p`�����T�ĝ�1hң�>�hG�+(�NeԢ��c��h]��֎jT����zf��v����@���E��Ԝ�����.�sP�A�`��ͻxjY��V�=-Ìѝ.L��
��o]ڰ�I�㾆q��ZAkovF��#���n�*8-A.�z2>�Q�����
����$��d���n�3x%�{2&�wƍ�=ǻ��m�>7��7�]�b0�@�Bl p��Е~�b�YS���Mc��ֶ
��
��0���1�|��$H�,��vx�N��՛.���f_��5m=��6��ޅً���]uȏx�9~>9�je|Wc��zЃ��;ߎ��[]tNPVa�5�k����<Џe*]�vs&�׺���r�^ԫ�Tv
��� �'��W56�c�6ѬH�`SX��ն��@%�
wx��;zm��pzH�<N���9�,���u�-�1&xf���8@�^�P���
u�����Fg(*�=����SA�3J �]�j ����
-^
����fz��	sPe���{��z

��.
\�;m�֋Ua�=���`����/��hwC��c���0���?6�W1���Z�̓�{�8g�}�̈�
>�9R
-�ט�(ç���D���j��Ю���i%�l�$��N�7��!��c�gQ�"���8��X�i���3�L���$����'������^E�֋%�}~֧xݶ��_C[g
�ܩ=����?�z}���G7���0�"2G9�K�٫����\���;�/ɫl�endstream
+x��WIs�6��W��)5c"X.�%�:�;�%��4��$4��P
���a�[v{�f�����G�GN�+߳�ɻ+�#�#Jx�g)K��<�
+�(��x}��
9H(��݀�X�Ӷ�,�T�鍚h�7���'�,h�P��‹y��q�y�y��h֢��wW�E��S�ƨ���i8���CNMQ�3�*�x����UV�N���È�o�%a�Ov�vČ!��Q�R�3�eݷ�M�e��y#�`w��Q��
{
�R������C�Ñ���be�ޯF�J_�"��E���
�K
W�%<
��g�!�e#ǟb6�<�
�E#���Y ��f}?JEC�rp
E��
:��z�>�~K�M������_�L�]p��gRZ"
+�Hh��2���V]0�^U�r at H��e����%�D�s)#�g�Yۨ�KI��(� �0���T�N��]%�	`
+��pރ��OOm#�~6���� ��M��n��.���3\iU{��~@1.-|[җ㓯'������Q���Z�|���)��0dC=:�2"Y�H�ø�F'��� ��y֗#��Cb�
)�]�@���:� ��
�F������B�剔69h��6�Ưv�ժ���m~�AY�(�@}u��og���Q�V�W�7Aj�dc(O+��e'��A��-+�l�V�w?���q�MJ��ZK?����ժV^�:�Y$!�1if�+�Bu�%D��@P�� Z�o�Gc�S���q�L�M�y̝n�Z,=�
���
 ��,j�m'��‹c�uc��B4y�?��g;�7Ĝ:;�����f%-�ǣMg������y����$>��ѯQo:�sN��r��s���\������ģ��������ɽ�� sr��^��jm`
R/ee<��r���
Y�.��������,��Elo�;��Tc�<oh�����umT'MU�8n7
���Zm����9žs
+�C�
�0ו��B��~�
�+-(&�Se��Ϯf}X�2�o#e7w����4���i�f��O;5o<��
\my-wtE|y7�?��
�U��K�!������e4G�̸F%tx�<�E�������Q~��Rڻ<��Z����/w=�^bR�������O��,)
+��aOF�m�*K����k�p�@�v��w�{���:�n�J�.��	ʅ�=x)�`�=v�,�<ڇ�Nl�p�_�h��k���5Oo[.����WP���r�!Q����޽����ږ����J������
�-՟^<��瘼�?
� �(:=
+endstream
 endobj
 334 0 obj <<
 /Type /Page
 /Contents 336 0 R
 /Resources 335 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 351 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 343 0 R
 >> endobj
 337 0 obj <<
-/D [334 0 R /XYZ 90 757.9346 null]
+/D [334 0 R /XYZ 90 757.935 null]
 >> endobj
 338 0 obj <<
 /D [334 0 R /XYZ 90 733.028 null]
 >> endobj
 335 0 obj <<
-/Font << /F52 341 0 R /F25 344 0 R /F39 347 0 R /F40 350 0 R >>
+/Font << /F50 339 0 R /F23 340 0 R /F37 341 0 R /F38 342 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-354 0 obj <<
-/Length 2942      
+372 0 obj <<
+/Length 1877      
 /Filter /FlateDecode
 >>
 stream
-x��[�r�8��+��*���g3Nb���8
[��Tw/d��Y-�j��?@�B:ZvRZ�./.
I��G���Q�x���p� ���ΞC��6x�8:>�D��4�Q��o=D	Jh�X���t�8�\���X�p�eX�3���ģ�E�_/XD����~�k���F,MD�
�4�����<l�n����Q�
�Z�<�tP
��S�(�3�×*xlfs*p�;D�Q���FpMT�uy�UM�
�.�e��oa��T¿V5����	���,��8A�I�"�U�ǼVo����)+4�uV���.ә�c�n�fD���IyUn^
��Ap��U��e����S4o��ʪ�����š"�ղh��| ���L\� �"��$���n �
rwM�̖������S���_�}�h��)��uV�\ڸ������J9����A�����e�֋B�/�UV������B¬��|��ʒ�e²�A~Q�e�����d����n�׏2V��N�"��ϒa�� �J"�yU���������s��ͮg�6<-���y�M��tʙ�F	�W1 �	�Џ�Hݬ��@�z���)�$�s�<�m8g�q�ڒ�f��dI
�3�!�T2?_�]�o���@-6�:볪,���R�R��̈��,�a&S�����	ջ����1N�.W�>b�GS�ٜ'OTV�CZG��2Uu\��(�����k�������b��kU_� ϛ�b��+ʆ
I�8�$���J�jH�U=h�k�I;����ۤ�_����a
v�"6]��
F�$IP��& ��$@W28��8��p�j

4Sݴ����J��amu& 1K@&ʝ�Z-
uSe�2Jg��v
-�-���"Bi�Ad�kE�x��Q�dEV-7}*��_I�ZI�Ѯ	���Z%�Bɭ�A�G�(�֏p
D�"�hRȺ7��+n���-!0!��B�X����!���:כ2��
�L)

��X%������R堽l�)P�Ҍ����V�[�|?nI^�qK�[�@�b¤dɌ�dɧ�ZpUԒ.
Udj���HVk"E�z��EJ>�EJ��D�s�N`�"q�	�����
�q��ۉ��������B>����{u��������w��7���F	Jb"M��0+�1����f
]u�
d+6~
բ<U�Ey��H��Zg*S�
�mf�Z�I�F�<盍���ֻ:��m��D�Z=�z�����B��\~֩36'��'��ϳ��
����4�fr`W
-|�{
P�i�ɕF�PK�������D������P�,��=�8_|�����/.Oon�çkus�.W���,������ʼnξ����ts�T7�Ƥ%r8xwáQe5[7:l
��ý�z�����Y��;sW�W
�Oe���)� �:'/��'k
��}Ⱥ�Λ�'g\ 0������y��}a�'8J0��c,*
�cn�U+��
;�]g&���4۟������Y��R�x��
��s
-�͘{�[srm�#��9�^b�C/��VTES{�
�]0
M�\�ۦ��yg ˄A�`<`�yq/{[�
�p�)�dؾ�!Фh�w��j��	�$����#����4A)�XN�`��ܶ���k-��
*�0Q��4S�l���i>�"D
�
c��&PQB��a��h���2���<ca�&��z�RQ�+��ǥ���\�a&~�W���*�\���aP�O�۪��?y'�0�B�+��t�j�&�Q���� h��c��:hכ�t�%�Xy�����"��A�&(
|j�F����K~�H*d�C��j�	tЉ(}x?Du�����Sw<����Rw����G3F&�����.�Խζ0��+�߮1�u
C�Va^Zk��m�au�X$i�ߕ�c��81כ�X�%�XyQ��
'���"��D��������P���
�%���@M#��a����H
��x;��0�����N at G
<��
�8�|���Jq3��<�um����hz��R��嗖��e,�RJ�h���&v
�
���W�����YM����R#�w����
+��m�w�mm0Ѵ�5m�%8̖n^��٦W�Cr��z(�de���KYc5��<���4N��sZ���Zz:[��-�
-<��X �D<ALc����Ig���|]���F��vA��j
-O���%}@?��;�wG����E/w�
-<��4�!����n:1O}�"J1�
�����&pR�"��Q����Ѡ�9
T�[�M���h�s3�V�������
{S�����笪��[F�M�[y�L,B�pϰ��&0v�~�w?
��~6:
[�[KO�^�h�z��?'*(�$�qz+MO���5�l�mJ��4�A��5V�i���ޤ�o'�c��Dr4T����ލ��I& @B'Xh�4
�#�y�tLs���|���:�K1p� <�K�j+Jb"�`�Gy
��%���t��s����	����
��J�)b��y�0PDs$e�:J�$	��Ց�������c!�
-֎��b�h�]o2�
{Y;Vࡃ:IS'�����f-W�}��m��Zng�X�������(�
�������A�o��6�~0������=����N0�E"�_q>��QL�Wχuꈋ>�꣊�y�T-��r=�I���}�l�,�
�#����X������aHΪI�o��ANr��C�L�Z�	����`�74 p�&�
-�e��1hKӡy�mULV��|}r�׍�nЊ��� �P݌��}lL�y" :�9yM ,Ko�M~[����r��d�,�:��	�
L�8�#��h
CW�
ᩴH��[�$R��t��+JPL��3Bi,G�{��X���+�����{�ڜ�,vF��g���pP���q�n�d;�.(�1��;pl^�[o�����:~���1L�y��5ܼ3r��"/? �S�{X<ʭC��7y��O#ȴendstream
+x��ZKs�6��W�Vr&��^*;r�ԱUIn&��@K��	E�$U����\@Z�%O�3�s"� ���-� �qg0�m�t�99�
#�#_���ֈ����7&3�yvu9�_N�֟�w�+�-
x�iJP��O:u8Ș�����
Ϙ.:��d�
��
f;Qh�7��u�Ƹ�{�m��c���f��f�g�C���k�+<f~
��`�‡gD�Q~#�:��i|��e��b
�!�/��^fIQZ�g�I
M�n�ʌ.l_�4�d�T��,�.2S3��jZ&7R5�sI���=3.j�a�>��L��"�)��a=���b��CY.��J���:��8|ޕqV�V��
E�T��=���М%U
S��uYK�g�����"�%�T��Z�z��~��d��(
5�Ku�o�ڸ���$祔�Eq;�|Z��>��u	0�E2�Y%_a�7��8�,�U;�5��Qgh���q-��oo�Y,oҤ����z�^��"���/�.��1>5]��7�q~[ߣi�RI�q�
,Ck MfX���)4�z��~�
�� �\3��$n`ⱜ��
+�����e��ݳ
GV��ߜX3%J�Z]@��Mz7 at WS��4�~y�#��QW��u��=jZ��Q��F)�

+)y�*
O�M��
l�c�I֢KE�
+�"�S�r\8ʸ��N��Qc�h�M{�=���j�T�{؎8� /������0��� ��NP̗�kgT(�#�����+�,�h׬��j=#�:W��e�6b
d&�8�e�!ra�.+�@��qE�M���!
��"
tQ.��Zd��'�P�@B�h�t:$'�	
>�6"F��T㚺�[�]1(/p.w�}�:��/U<A��T�w�ذ��w��܁*�yQ� ��M$��;�XY�
@|�m��?�]�������LQbpֿ
����p#��pC":�>S�5��@0�
�E�c�SM��$M�t�z/+y�L_)!��ʇ��׫�	u�]~TR�C��hԻ�|�"� ʥ��W%FYrf��<
+R�E�&D �T8����$A�|���
+Z �tp1�|T
Jz�&���XU�FT��c���,������EO5�Gëqߦ1�R�I��U�Ӕ�tC�|#�5�[�;1ܔRg0u���N�k�V�^��~�E�λ�iՒd0�b#�V:(?'1��Z�����8A
�md��av�
4ٞ'h=�.^������:��(ғ�q��������uWڜ�o�򯬮����X�iE`G��
�X�o��1�mü�Y"�i��a_��Vb

�\WyZO�n&�'z���ަ�e\/KY�G
!5�z�����F�a=[v�_;C#�Q�nq�Io\*�
�We�5Y��:�N�������V_��QV6S*���ʤ�#T���]��?uNJ�r�Hqt�>����9�
+C��n�]�
�6���{U���i�왖u}��u��������W�
@�P�g~�LN�x8�m��h���Gh���h�����2��>tG2mh�3��<.v%:�˱�72v���}ߖ��y������
��'"�~r=�B�:y9
������a���^���W�mU��鮼�
���Sy���� ^?�x���d��e�O!�i�9���
��M���6����E�g�!c_WIv�B�> k6��g>�	�
P\��ir�&�]s
oZ�#��_���S_R��Ӯ>��
;#�G�#ԃ��ہ=��t�}�*l{<�=�yi��<����h�=t\W��F4�4����ER���]���	�O��;���5��{�ϖ����3���G������
���_B� �
N�~�"���L��d���Q���l��������� ��yQJ�Я]�;���A����sl
rm���
������Jv��lܹ�m'�
j�a
+endstream
 endobj
-353 0 obj <<
+371 0 obj <<
 /Type /Page
-/Contents 354 0 R
-/Resources 352 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 351 0 R
-/Annots [ 358 0 R 359 0 R 360 0 R 361 0 R 362 0 R 363 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 ]
+/Contents 372 0 R
+/Resources 370 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 343 0 R
+/Annots [ 344 0 R 345 0 R 346 0 R 347 0 R 375 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 369 0 R ]
 >> endobj
-358 0 obj <<
+344 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 672.7083 490.9468 683.6123]
+/Rect [385.063 672.708 490.947 683.612]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
 >> endobj
-359 0 obj <<
+345 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4258 650.8553 322.5851 659.7019]
+/Rect [181.426 650.855 322.585 659.702]
 /Subtype /Link
 /A << /S /GoTo /D (GFDL_GFDL) >>
 >> endobj
-360 0 obj <<
+346 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.4645 619.2185 337.8767 630.1224]
+/Rect [231.464 619.218 337.877 630.122]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
 >> endobj
-361 0 obj <<
+347 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 607.2633 513.9963 618.1672]
+/Rect [440.112 607.263 513.996 618.167]
 /Subtype /Link
 /A << /S /GoTo /D (GPL_GPL) >>
 >> endobj
-362 0 obj <<
+375 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 597.3654 169.8699 606.2121]
+/Rect [89.004 597.365 169.87 606.212]
 /Subtype /Link
 /A << /S /GoTo /D (GPL_GPL) >>
 >> endobj
-363 0 obj <<
+348 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.8063 511.2194 383.1936 521.1172]
+/Rect [219.806 511.219 383.194 521.117]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-368 0 obj <<
+349 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 445.4149 244.6089 454.3911]
+/Rect [89.004 445.415 244.609 454.391]
 /Subtype /Link
 /A << /S /GoTo /D (section.1) >>
 >> endobj
-369 0 obj <<
+350 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 427.8105 204.1113 436.6571]
+/Rect [103.948 427.81 204.111 436.657]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.1) >>
 >> endobj
-370 0 obj <<
+351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 408.1288 224.216 419.0327]
+/Rect [103.948 408.129 224.216 419.033]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.2) >>
 >> endobj
-371 0 obj <<
+352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 390.5044 202.0397 401.4084]
+/Rect [103.948 390.504 202.04 401.408]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.3) >>
 >> endobj
-372 0 obj <<
+353 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 372.8801 278.9603 383.784]
+/Rect [103.948 372.88 278.96 383.784]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.4) >>
 >> endobj
-373 0 obj <<
+354 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 355.2557 260.6992 366.1596]
+/Rect [103.948 355.256 260.699 366.16]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.5) >>
 >> endobj
-374 0 obj <<
+355 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 339.569 207.5883 348.5353]
+/Rect [103.948 339.569 207.588 348.535]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.6) >>
 >> endobj
-375 0 obj <<
+356 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 320.007 234.0287 330.9109]
+/Rect [103.948 320.007 234.029 330.911]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.7) >>
 >> endobj
-376 0 obj <<
+357 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 304.4399 187.2445 313.2865]
+/Rect [103.948 304.44 187.245 313.287]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.8) >>
 >> endobj
-377 0 obj <<
+358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 284.7582 245.9041 295.6622]
+/Rect [103.948 284.758 245.904 295.662]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.9) >>
 >> endobj
-378 0 obj <<
+359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 269.1911 237.0773 278.0378]
+/Rect [103.948 269.191 237.077 278.038]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.10) >>
 >> endobj
-379 0 obj <<
+360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 249.5095 292.4192 260.4134]
+/Rect [103.948 249.509 292.419 260.413]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.11) >>
 >> endobj
-380 0 obj <<
+361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 233.9424 252.3 242.789]
+/Rect [103.948 233.942 252.3 242.789]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.12) >>
 >> endobj
-381 0 obj <<
+362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 214.2607 199.688 225.1647]
+/Rect [103.948 214.261 199.688 225.165]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.13) >>
 >> endobj
-382 0 obj <<
+363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 196.6364 181.3869 207.5403]
+/Rect [103.948 196.636 181.387 207.54]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.1.14) >>
 >> endobj
-383 0 obj <<
+364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 171.0867 229.0868 180.0629]
+/Rect [89.004 171.087 229.087 180.063]
 /Subtype /Link
 /A << /S /GoTo /D (section.2) >>
 >> endobj
-384 0 obj <<
+365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 143.4997 252.1306 152.4759]
+/Rect [89.004 143.5 252.131 152.476]
 /Subtype /Link
 /A << /S /GoTo /D (section.3) >>
 >> endobj
-385 0 obj <<
+366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 114.0098 173.5459 124.8889]
+/Rect [89.004 114.01 173.546 124.889]
 /Subtype /Link
 /A << /S /GoTo /D (section.4) >>
 >> endobj
-386 0 obj <<
+367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 88.3257 165.4464 97.3019]
+/Rect [89.004 88.326 165.446 97.302]
 /Subtype /Link
 /A << /S /GoTo /D (section.5) >>
 >> endobj
-387 0 obj <<
+369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-367 0 obj <<
-/D [353 0 R /XYZ 90 463.9829 null]
+373 0 obj <<
+/D [371 0 R /XYZ 90 757.935 null]
 >> endobj
-352 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+377 0 obj <<
+/D [371 0 R /XYZ 90 463.983 null]
+>> endobj
+370 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-392 0 obj <<
-/Length 2704      
+416 0 obj <<
+/Length 1362      
 /Filter /FlateDecode
 >>
 stream
-x��\�r7}�W��J���E��������Z�}�$�b��ĊHjIj
��336�㋜*��|�
v�n����)
.�P�0.���.n쏿;"��S��4<�
����0�H*�ɻʂ$HPB������_M�}5�<�u�C��B\:k��|�~x��$�o�
f1���~�ז�G1�E���#b
-G�2����ˣ;����(8�
Y�2�����@��������sd8��S��<D.h����Q rb
|������tC&�"E�)b�=��� ��F�"�NN�O
��3B�T2��
-����U2=�$��i���b�*�_W��ĕ�{�6 

�4ks�j�(7�����Z	�\^����
F��C_�
(�#$��FȞϦԤRH����7��/_�������m��!HI%ڬ���
�6R��<��R��`W���l�����v`�
-��T���y�H/�f�
T��#��.w���� ��.)�>E�S9�@#<P�
Ue!�h�����z���=��eJ��KթC�8�B�I=���J�F!*Up�րb�

X�X�>R������kd
*X��.51�����
qF��1~�T��T�&WT�>�u�T�7nP9.�#�I��Sm~\��#�+_xd���u�
:<�|�0HsN��o 8:�)�zW�����aQ.���|�첥�������(T��.G1)���1����q��أ������o�*�-o
f7a��-��N>v�s7=����0�ǣ2���s��6ç*m4�8�R0�}kiVU
-9<�J�������

��\t�kp�R��Ҵ�]%�ؠ2�vi�yI��P�� �?��j��_�U'�U��yxsB��l��M߬�>ܖ������o�Y�P'�����r].��˨
N�մM����ʰf� a0i��S���]��y�[KkǕ�0�p�$�OH�2�iN2��F\4+��󗯧���l�Zo���^�]�cr}�yT&f7vLr��q$�I��o��'�>��ђ�v�,��HƣɰZ2���ab�
#%I{�O�
(�-�
-rO=���3
P���U�TIuB��
Y���s� ��H�\D�Q�_ �p�1U�n'H
*�fW�1�~�B%��lp}Fx�>=�NȀ~��������쾪ѳ����
-�Ys�����(3�ALF4J�����h�&'
-�����67�p"���I&�QA;��|�D9Z?@�}k@��9j���ɌF�f.e<�Q理���o����\o�`L��"� M�u�%-"z����A���I݊�L���c�1p
]K�@$�~���M�vЍ�\
T#6R&�����l���r�~�������mW��j?~��DęD�H��
-$s�ڪ�N�� ���dvw)2G�Ո���Ԣ&0�������ɿSf
�Z�ϼ�UUh�4
g�?�yT&�
K��l~��

-`�U��V-��*�o�*ǥ�
6�zT�U1@�ᇶS
��� ��MuL�/��𷋛�o:<�^&�:�NA`�=[���
-�;�Q�8��s��j$�(趼�ݝҗ��W���ub֢n�\
��+~��Z�����Q����4"L����+�4e����
�ʤ���
SE����t
t{�ڪu�<���ա

�i�0�
�!:\-o���
��w���V
�
{&m��h��Z�f��C��dFڳU�S�2�7RFԸNXe�
��2��hz�a�-����b�w߶�B��0ਹ�c(
'(��g�VL� �7V1J !X� �Ř1�9?�Z-7��|[�X
W��6�.�~
-<*G�jG5N � �N�V�c��ac%�z at 3M�����F8+��v=�/��\!�)-"R��ƒ`�����jq��.����tE۵T��%U9+"��^�gΒ�
-2"��h��c{$��
-n�
O
:�Qк��(Z��ى��g���t@c�B)�g.P�녎��Ǭ;a�\1�ĺӠ2Aqa`F���(%���`V][��[��X%ԯ�����J`�(a3}[^?\�{��.ܽG�8t��4[��4���
�����s��8�Aqg�S X!����@�{T��h������!M at y��B��vNX̗.݉3e��d���˔��4�[
T�Ŕ�"�U⾿AeRʩ�K"��~�
��ř�ڵU�3��3�o�4����U�$��8� q�vY��ԕ<=�
�
-3͟dޒvk)���Gã2��R"��h'�@�D�
a
][�8��
�o�
)(��[�M��2�y�X�Ӌ�����V��˛���~��
�-����T&�p��
-���`
;̀a�lA����
�H�9�	(����w���^�q������Ub�ߠ2䛽�l��J7�`�;1��lAb��]�t��E�#����b���3#��\� �Aeb`�
���񘺁���
�g��d��n@#'!cù�=ȫ�
���9��Iʊ�j���qΐ�ʴ"�R �y%��:�j
$�@g�{
)!�
�.���W;����'l�(v�����TL�o0wT^o&�M[$��k����F_��צ\��D��F?͖����`��fh3�o�X��> v���Q��^���};��V%�~�{�����{�������*��g��|��ޟ����
]m��r~�F������Y�to�ZU�x�������<�)c����;_o���o��?\T������T�"f��endstream
+x��Z[s�F}�W�0)��/L��q�4�]C�P'�(�ƚ �H���}WH� ���Ӊ_����=�|7IКY�z�:�z'�X
+(��5���G�ad���U{p~6z}6v>��Y	@92���9N<�z=j}mŃ�B��� �0kⶮ>Akj��Y%���U�E11ǹ5l�ق�Z���Y:�e�:7V� �RK` g�2@�.�
�?���\��Ue�ZW]jN�N����@��uCA�l3�5��WNJ]����0)�xL�1qf�:\���bCϩ7���V	��O�w�mk#�f4�1M�������	��9F؋"*J�@
+"��`n��2�ȸ:Y̩���	7 *����Æѷ��`r�a�
MЗ(񔚐�4!i"M�HE�A`�?��� Q�@�T��u�O���";r|/o+)x���ID�
�իT
�7[ڳu�tp�1[��KξB��B�k�a��D.�_ �`�檁 Xf5V 3�.:���������FO{���l��]����.�����
+��Id!u��:s��.��?=�/L�� �	}d4�`�>
$�!���6Hz�1��Q%&6��w#�q�X�n1P����
��7�b�~���Y��U9�J�ߒKr�0��
FsH���.����ʮ؀g�����܎J]��ձC=T���!��סJ�����?��:�����z�8<�k��#yH��4N��yPyjc��|wa)�(XN��h�X�t�pխ޻��U�[��18��e����fQ �Gw4A^24#���)�Į۱
+<
փ&�Vv7��3d�"W���+�*���ɗ�������������HV&�{�y���	�ƨ3��pW031]�}C�h��E⣼<�s� D�}o,W��,;A���HE��
�'k�3
ޅ�v�c�0�����%T
�����؉�>�N� D_A��4ť
��v���8'��(�/h�P
�j;����@��N�p
�pD�W"R4���_8��SSަ=`>�b��Ee�l{��T{��R�	�=j��l�gBY�OE� �E��#y��"\Nj�UPKbJgT
��a�,0��`��&����R�#o�R��(�����/?�oa���$�ճ�Z��V3
+L]�#n^�I��_�o��Ǜ��>�zc�$~�Ĩ��H�#�F{u�$���
�C�!Y����υ�M�MU������0��(L��ϖ�
+ɪ_-e�&q���SL�R�F7i�[#�n����o��
+u�K��v
+��[����G�`�B'{vA�njhD�yd` �ס�pL������?/g�60�^��(Z�{���[0	��sp��b1�ma��:B�Mr����SD�3���a�6G��� x��
+endstream
 endobj
-391 0 obj <<
+415 0 obj <<
 /Type /Page
-/Contents 392 0 R
-/Resources 390 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 351 0 R
-/Annots [ 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 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 ]
+/Contents 416 0 R
+/Resources 414 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 343 0 R
+/Annots [ 368 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 404 0 R 405 0 R 406 0 R 407 0 R 408 0 R 409 0 R 410 0 R 411 0 R 413 0 R ]
 >> endobj
-394 0 obj <<
+368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 721.9695 163.7232 730.8162]
+/Rect [103.948 721.97 163.723 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.5.1) >>
 >> endobj
-395 0 obj <<
+380 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 692.4597 180.9283 703.3388]
+/Rect [89.004 692.46 180.928 703.339]
 /Subtype /Link
 /A << /S /GoTo /D (section.6) >>
 >> endobj
-396 0 obj <<
+381 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 674.7009 192.7638 685.6048]
+/Rect [103.948 674.701 192.764 685.605]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.6.1) >>
 >> endobj
-397 0 obj <<
+382 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 649.1512 155.4838 658.1274]
+/Rect [89.004 649.151 155.484 658.127]
 /Subtype /Link
 /A << /S /GoTo /D (section.7) >>
 >> endobj
-398 0 obj <<
+383 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 629.4895 192.714 640.3934]
+/Rect [103.948 629.49 192.714 640.393]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.7.1) >>
 >> endobj
-399 0 obj <<
+384 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 603.9398 155.4838 612.9161]
+/Rect [89.004 603.94 155.484 612.916]
 /Subtype /Link
 /A << /S /GoTo /D (section.8) >>
 >> endobj
-400 0 obj <<
+385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 586.3354 168.4351 595.1821]
+/Rect [103.948 586.335 168.435 595.182]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.8.1) >>
 >> endobj
-401 0 obj <<
+386 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 558.7285 206.3926 567.7047]
+/Rect [89.004 558.728 206.393 567.705]
 /Subtype /Link
 /A << /S /GoTo /D (section.9) >>
 >> endobj
-402 0 obj <<
+387 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 539.0667 226.298 549.9707]
+/Rect [103.948 539.067 226.298 549.971]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.9.1) >>
 >> endobj
-403 0 obj <<
+388 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 511.6142 221.8745 522.4933]
+/Rect [89.004 511.614 221.874 522.493]
 /Subtype /Link
 /A << /S /GoTo /D (section.10) >>
 >> endobj
-404 0 obj <<
+389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 493.8554 325.6744 504.7593]
+/Rect [103.948 493.855 325.674 504.759]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.10.1) >>
 >> endobj
-405 0 obj <<
+390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 476.231 385.9875 487.1349]
+/Rect [103.948 476.231 385.987 487.135]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.10.2) >>
 >> endobj
-406 0 obj <<
+391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 458.6066 231.7572 469.5106]
+/Rect [103.948 458.607 231.757 469.511]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.10.3) >>
 >> endobj
-407 0 obj <<
+392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 433.057 196.43 442.0332]
+/Rect [89.004 433.057 196.43 442.033]
 /Subtype /Link
 /A << /S /GoTo /D (section.11) >>
 >> endobj
-408 0 obj <<
+393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 413.3952 416.0402 424.2992]
+/Rect [103.948 413.395 416.04 424.299]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.1) >>
 >> endobj
-412 0 obj <<
+394 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 395.7709 389.9025 406.6748]
+/Rect [103.948 395.771 389.902 406.675]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.2) >>
 >> endobj
-413 0 obj <<
+395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 378.1465 434.176 389.0504]
+/Rect [103.948 378.147 434.176 389.05]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.3) >>
 >> endobj
-414 0 obj <<
+396 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 360.5221 399.9906 371.4261]
+/Rect [103.948 360.522 399.991 371.426]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.4) >>
 >> endobj
-415 0 obj <<
+397 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 342.8978 364.4485 353.8017]
+/Rect [103.948 342.898 364.449 353.802]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.5) >>
 >> endobj
-416 0 obj <<
+398 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 325.2734 474.8194 336.1773]
+/Rect [103.948 325.273 474.819 336.177]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.6) >>
 >> endobj
-417 0 obj <<
+399 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 307.649 355.0239 318.553]
+/Rect [103.948 307.649 355.024 318.553]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.7) >>
 >> endobj
-418 0 obj <<
+400 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 290.0247 389.3448 300.9286]
+/Rect [103.948 290.025 389.345 300.929]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.8) >>
 >> endobj
-419 0 obj <<
+401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 272.4003 449.6675 283.3042]
+/Rect [103.948 272.4 449.668 283.304]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.9) >>
 >> endobj
-420 0 obj <<
+402 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 254.7759 348.3984 265.6799]
+/Rect [103.948 254.776 348.398 265.68]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.10) >>
 >> endobj
-421 0 obj <<
+403 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 237.1516 382.7193 248.0555]
+/Rect [103.948 237.152 382.719 248.056]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.11) >>
 >> endobj
-422 0 obj <<
+404 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 219.5272 443.0421 230.4311]
+/Rect [103.948 219.527 443.042 230.431]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.12) >>
 >> endobj
-423 0 obj <<
+405 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 201.9028 487.4416 212.8068]
+/Rect [103.948 201.903 487.442 212.807]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.13) >>
 >> endobj
-424 0 obj <<
+406 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 184.2785 427.1082 195.1824]
+/Rect [103.948 184.278 427.108 195.182]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.14) >>
 >> endobj
-425 0 obj <<
+407 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 166.6541 464.1893 177.558]
+/Rect [103.948 166.654 464.189 177.558]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.15) >>
 >> endobj
-426 0 obj <<
+408 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 149.0297 394.0376 159.9337]
+/Rect [103.948 149.03 394.038 159.934]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.16) >>
 >> endobj
-427 0 obj <<
+409 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 131.4053 346.715 142.3093]
+/Rect [103.948 131.405 346.715 142.309]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.17) >>
 >> endobj
-428 0 obj <<
+410 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 113.781 381.0358 124.6849]
+/Rect [103.948 113.781 381.036 124.685]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.18) >>
 >> endobj
-429 0 obj <<
+411 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 96.1566 441.3586 107.0605]
+/Rect [103.948 96.157 441.359 107.061]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.19) >>
 >> endobj
-430 0 obj <<
+413 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-393 0 obj <<
-/D [391 0 R /XYZ 90 757.9346 null]
+417 0 obj <<
+/D [415 0 R /XYZ 90 757.935 null]
 >> endobj
-390 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+414 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-433 0 obj <<
-/Length 2747      
+452 0 obj <<
+/Length 1426      
 /Filter /FlateDecode
 >>
 stream
-x���s����W�[���o
4�<DI\'��Zj_�
���'�
�����
p����\Y�L�&u��~��-�ő,��e�fFb������>��_
���
����^
��A����ή��=hFg<�����������W�'�]��I��r��5��x��U�_7��f����~��f7ƏG����#���Y˳�#Ʌ�:�<�G�S]� �BRC�l&$�5|zo�.�j��-sF%�R�r.�J劷�{�`����'3E�/N�:^�w���f�鶸)���E����������p6��d��g��v[�|[�/�b}]�{Lh
-}-x֎m 8X%$����@\��K��)m5^�Fo��8��r���TL$��1C4�r4DT)Y����#�F T.o�K /�V8Cl�
�p�[�:Qyh>�+���.�{�C�X*���L�ܐ�i�C�<U|
U��-��_/ E�g�P��̳vxCȼUB�0�H7�td<=<��@�m�kϏ�&%��� 7�r� �[y���NO�6w���&�rW>\�(I�\d�@��UB`D��=A�r ����FA��"F�8Q�� ��"G�X�b�9h�k�Z��W>�UBA�]��Av��5�����(�mojv�P	x���G

-����vW܍gHRAx�J;ˆ��*!DRM�uW��8�����81QN���	�
fk�`�9�99=�ެ���rwh�ZMU�x�
�QB�4�(�z��;@v<�����k
v���s���h
+ at t؃�v�
��;y�-l�Ai;���R[%D�饣��T\��6�U�#c���ML*��(�+�O>��ikWAr�U֎3�v��r�ڵ����@C|��}U|�(h{S��v܉ͱ7�t�4
�`W�q��b�ļ����g�h`=P;�V���=���ŷ���
x>����T���7ך� ��s�$=��Չ�����*d�?Wib`z�Z
8
o�w�Ԛ��Lu��@�(�h=O�:
-"��T�&9g)++�I#�ǯ������c{c1��
-�F�xq�eL>�vr<�:Hp�3�tDt
�լmK�91\�n����$k����3Z�ۛ�'��Y#|z+�'�B|��k}Fk�����eī�D��h� �t�WHr��8%M��Tv�ۀs"��{������@lƭ"�%��b��*;zs0��-�g[�:�V��YdH�$:g���l+�_�a:2M*@f�J�r���T �:�����*l��
-���[5�����2�
87���k��4�Ң�xe����͐�@��Gr�G�9L���p��7��
����]��
�8��y�.����ܗ�v�ܬ(
@sL*�����UB��a�g�x���j�AE
|a��M��B'�+���f�i��W�r�nuH��bp�q+�H)�6�c�h��6�&�A�����Dk�hcS��n;�*+OΈ�����烲�1$�$��C����V	M�iKxJb0U
2����=4y�„�7��-ݞ����)XyjF
\�o�o�X��*�o��0��������w<�N0�U�ǯ+	pʹ�-RX���+U��
-w�w�h<�E<���=�6z؊�75�YҪ���<�#NS�\�6��j~y��/�;dI�q_~���D%�8��[�!��}*��l�;��YI�*��G��U�}&
oo"���TcX��?XyG
��w��j��ʏō[��D�R
-"�¨�D�ٳ�$א$�o#^ݨK<Y��.�Ұh
H�s_b#�@n�a���2P�
)����>{]��L����r�"x��ۛz
�
-���S�����#N�.6��n[��+},Jx�O
�������2�HDi�����g�5Mm��lXҴ�v�X0B4���=�2�C�J ,׵6��X���t
�0w�m�0��
X �0]��
\��S%$�6�v5<I���4��j�����Dx{wb��T��N,Xy^�H^^�y��E;�8/n�Khxikx^05
/��������
ooj~ُ~��-+�
����
�6�o�5$�[%�����?��&��U:�Ua����&b�ac�L�u���H��]!1+
-3��qaa�/
��C-�J���S�
�
�39U�
}dP��=�����\ܒ��������I<b][�5�
q2�v�?]��������G$�{:L�=4
?!��fm3䈤#��$<Tc�*q��(z���7�#آ(ا$8�V���$�w��-Z��TEE�u�ݙ?�"k�\�� g����d@����F ���� Dۛ
-���r�x2 Xy G
�\ݖ՜�
HY�[
�	w
[�vt�<�"����;���ֻP�
T���=T<zv��7*.����j���#9���_'�1��<�'a���C�Q��լm�	6�J@��(x�eTTx��{��*ZF�ۛ�UD���[y�������<�P&k�)MTF	!�4�Q�$�`jjP5_5�R��DjX�s!��`婱R��_��~p��
^�g�V	a�ޑ�l��1p�K
�B8���,d<�!���B�L+�Y?����'����&���Q�“����� |u[盀\��sW�����s[�9Q긦��b��XU���VO��c�*�

L���pɍ��3!�}UW��������'�߳2-��N��nw���Ǐ���<���%Y�^�߯^
��!5�� ��F�X:=/rM�e��{��廍���5��n_�&�oaB�/�h%endstream
+x��Z[s�6}�W��0S�/L����n
�/�
�J𬱩q6Ϳ�
�ps��,���	[�?�����ɂޭ��ƻa��#'��c�
o<=�`yñw��^�z�A���G�)���3�6>
7�)�
z|�	 �F���W�M�'��w�Xk�QL�o�
4`ٔ���
tY6����!H���� �Y�
+0l�l�[�5�t��$z��q����4H:���g:�s��V�7�Q0����F�:
��N-Z�]�%�M�LJ{��J-�6!lb�֊�3�m$ �t	
��&
��x*�k�^�
aȰ
d~W�Y�B<
+
��d
�IԚI+������t��,HK|Yz7�v ĉx}﫺͠�e�Ou�� K�:SI
�	
9@��B�
晞�#C }��K�y�
{�錒x��aV�'�B�jbN
S���oB��
W����a��*.Z'�܏�q����׹�J������p��U�Ʃqha)�l�8��<��w�]<6�[�5.�:�o���
���_wF^��%`SOg�w��k�/>�SN삹�� ʠ��6�p�gs�;ѣo-3�z\���@{��1$`B�•.*�Һ�B�W�
+zwCM'�ؚ��
��~��2�߻�^�
d;���Hi
��O�YC�'�W��&�h9���Fc@����F8��X1�(3�"�X����
����*V$�e܆�(T!/؊� 
s5�����E���
�8{�Y�p�
V�=*��Ƙq.����s� �?�3K�|
&��{‚�6	�̀X$K�g}��&�Q�|�sr$�0�a�X$L�^���E8��B��ΚX�O�Ŀ�c3���R��*
���
���=�G���W2��q���P(�Ig��]���6���L���tԤ�x�����o���J*�fB̒��a��ˇYD�CAmc��
��c�^^c�a#r��
sC���",C ї���
*P�
�aY�@��
ܧ
$�8�@�����q6יy�[�{���J1F����?�ob�ڷH��� af�"��r
f
+m`6����FLjA��~y'��_�)���T�����o�(��S\
N����Ё$���	������ �t�JD�a�Q�YQ�]0h ��
���.�(�0����{�X�� )��,�H��`>y1W���$H�c��bV���	�@B�-i�p�"�oF�Q�o�
��U�8�"����2O�z0����Q�%k����NB�_P*�p��IUM4��@g5G����M�Z�n�N��dI��p��J���8�`�$�pR��	��vsq[b]��9��O-ƚ%��A|D���`��.w�!0��f�F�<Gbz<Ћ�(���[\���c+�Ɛ $���I��:''���`4wq8KA���f���]G���N��� �4YL�06��GG�>Ff��IPI
+endstream
 endobj
-432 0 obj <<
+451 0 obj <<
 /Type /Page
-/Contents 433 0 R
-/Resources 431 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 351 0 R
-/Annots [ 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 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 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 461 0 R 462 0 R 463 0 R 464 0 R 465 0 R 466 0 R ]
+/Contents 452 0 R
+/Resources 450 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 343 0 R
+/Annots [ 412 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 453 0 R 430 0 R 431 0 R 432 0 R 433 0 R 434 0 R 435 0 R 436 0 R 454 0 R 437 0 R 438 0 R 439 0 R 440 0 R 441 0 R 442 0 R 443 0 R 444 0 R 445 0 R 446 0 R 447 0 R 449 0 R ]
 >> endobj
-434 0 obj <<
+412 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 719.9123 361.5194 730.8162]
+/Rect [103.948 719.912 361.519 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.20) >>
 >> endobj
-435 0 obj <<
+419 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 702.2879 325.1461 713.1918]
+/Rect [103.948 702.288 325.146 713.192]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.21) >>
 >> endobj
-436 0 obj <<
+420 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 684.6635 371.631 695.5674]
+/Rect [103.948 684.664 371.631 695.567]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.22) >>
 >> endobj
-437 0 obj <<
+421 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 667.0391 415.9045 677.9431]
+/Rect [103.948 667.039 415.904 677.943]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.23) >>
 >> endobj
-438 0 obj <<
+422 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 649.4148 369.9576 660.3187]
+/Rect [103.948 649.415 369.958 660.319]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.24) >>
 >> endobj
-439 0 obj <<
+423 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 631.7904 404.2785 642.6943]
+/Rect [103.948 631.79 404.278 642.694]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.25) >>
 >> endobj
-440 0 obj <<
+424 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 614.166 464.6013 625.07]
+/Rect [103.948 614.166 464.601 625.07]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.26) >>
 >> endobj
-441 0 obj <<
+425 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 596.5417 370.5253 607.4456]
+/Rect [103.948 596.542 370.525 607.446]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.27) >>
 >> endobj
-442 0 obj <<
+426 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 578.9173 414.7988 589.8212]
+/Rect [103.948 578.917 414.799 589.821]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.28) >>
 >> endobj
-443 0 obj <<
+427 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 561.2929 457.7436 572.1969]
+/Rect [103.948 561.293 457.744 572.197]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.29) >>
 >> endobj
-444 0 obj <<
+428 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 543.6686 422.0178 554.5725]
+/Rect [103.948 543.669 422.018 554.573]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.30) >>
 >> endobj
-445 0 obj <<
+429 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 526.0442 513.9963 536.9481]
+/Rect [103.948 526.044 513.996 536.948]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.31) >>
 >> endobj
-446 0 obj <<
+453 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 516.0267 169.2324 524.993]
+/Rect [89.004 516.146 169.232 524.993]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.31) >>
 >> endobj
-447 0 obj <<
+430 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 496.4647 468.6526 507.3686]
+/Rect [103.948 496.465 468.653 507.369]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.32) >>
 >> endobj
-448 0 obj <<
+431 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 478.8403 382.1418 489.7442]
+/Rect [103.948 478.84 382.142 489.744]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.33) >>
 >> endobj
-449 0 obj <<
+432 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 461.2159 363.3424 472.1199]
+/Rect [103.948 461.216 363.342 472.12]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.34) >>
 >> endobj
-450 0 obj <<
+433 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 443.5916 378.8345 454.4955]
+/Rect [103.948 443.592 378.834 454.496]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.35) >>
 >> endobj
-451 0 obj <<
+434 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 425.9672 454.2268 436.8711]
+/Rect [103.948 425.967 454.227 436.871]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.36) >>
 >> endobj
-452 0 obj <<
+435 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 408.3428 443.1483 419.2467]
+/Rect [103.948 408.343 443.148 419.247]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.37) >>
 >> endobj
-453 0 obj <<
+436 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 390.7184 513.9963 401.6224]
+/Rect [103.948 390.718 513.996 401.622]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.38) >>
 >> endobj
 454 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 380.8206 169.2324 389.6672]
+/Rect [89.004 380.821 169.232 389.667]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.38) >>
 >> endobj
-455 0 obj <<
+437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 361.1389 451.2274 372.0428]
+/Rect [103.948 361.139 451.227 372.043]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.39) >>
 >> endobj
-456 0 obj <<
+438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 343.5145 385.4892 354.4185]
+/Rect [103.948 343.515 385.489 354.418]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.40) >>
 >> endobj
-457 0 obj <<
+439 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 325.8902 385.4792 336.7941]
+/Rect [103.948 325.89 385.479 336.794]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.41) >>
 >> endobj
-458 0 obj <<
+440 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 308.2658 352.8222 319.1697]
+/Rect [103.948 308.266 352.822 319.17]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.42) >>
 >> endobj
-459 0 obj <<
+441 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 290.6414 410.2517 301.5454]
+/Rect [103.948 290.641 410.252 301.545]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.43) >>
 >> endobj
-460 0 obj <<
+442 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 273.0171 367.0487 283.921]
+/Rect [103.948 273.017 367.049 283.921]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.44) >>
 >> endobj
-461 0 obj <<
+443 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 255.3927 468.6225 266.2966]
+/Rect [103.948 255.393 468.623 266.297]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.45) >>
 >> endobj
-462 0 obj <<
+444 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 237.7683 349.6939 248.6723]
+/Rect [103.948 237.768 349.694 248.672]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.46) >>
 >> endobj
-463 0 obj <<
+445 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 220.144 340.0798 231.0479]
+/Rect [103.948 220.144 340.08 231.048]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.47) >>
 >> endobj
-464 0 obj <<
+446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 202.5196 384.3533 213.4235]
+/Rect [103.948 202.52 384.353 213.424]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.48) >>
 >> endobj
-465 0 obj <<
+447 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 184.8952 361.6685 195.7992]
+/Rect [103.948 184.895 361.668 195.799]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.49) >>
 >> endobj
-466 0 obj <<
+449 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-431 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+450 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-469 0 obj <<
-/Length 3165      
+465 0 obj <<
+/Length 2579      
 /Filter /FlateDecode
 >>
 stream
-xڵْ��}�Bo�W\���*^�[��w���(Hb����c��Ӎ ��HoR���ht7�B�!���mRo����A�ɫos���LMoa~k|�����(ܤn�h�t�"憜�����=ny�9�E-ڬ�Λ���C�i��/����?	j�{�1O=�?�����O��g�G
���ᇟ��
����s�4	7���\��|S=�ם����?

��
�2~�,pa��
s�����f��_�6J����� 2� `�(���ē^�uV(\_"��C��Gt��\5����It��
�w�,t2�Pu��r�Vu��6k/���
=`>����8p�f/ښ�^}�	5Jái��k�UV����@�z�D[�R�H�>9��p?FX����� ȸ�g55v���8��u/�j�a�sn���h�P���$=�,�(p���D�Z=#��M�4U �}Q��f%���W���{)$t�r�B;M@}
�Ds��Y���M�\�6�\�k

|xd�#p��M!�‰=��QRbJJ�֏S�2?�n8����èP
%i�R�o+%����
�xjO��7�:_���`�Þ��lW�C���l� p�8��q�=*��,�4�[{�t̑n��_���j��
�	gS�&��@�0u�
�B?�� ���D�u(��ZA��}MȶyQ����"-�Wӷh��p�����C�
2'$ڽtE�{
-�BR��y<�n�
����?#��xi�
��T�Tg0h�:��$r���4����\De��/u]�G�%NQ���u�/P~�s��Xj���es,r;�ͱͪ�`+��8dG�)$ݥ�OmS7�"n Ƽ�S	
�e��JN8��&oJ�;�h���
�M�ŧG��][Ȯ���������P��f8�t[!"���&��th��MO�Jdu?@ �x�g�
9������s�Y�9ꖆa[�RT�)?V\��^tű��

�-dt
mE{��+�S�Qc'�ZVjʋ^��b�^_��l-�^�Tqnΰv
�RE8!��Y�QS5|m��^
�<``�P��9� �v�-�<K=N �g .����i�� ]�Y�!��i
%�͔'�P��8�Q�B�)�<������h9���Ԙ��سv�~�����4[f��9	
����n[մ�G��=���xR͝Z6t�0��~>�ٳ]Ɛ�E�/(���U�b�N�VE�W�ց�x�ޜa8t�{Z�B�5dc7�A`�H Y�<� s,э��W=�:��Ӈ��x�Z��|:�܆@>�y|7	�n��En�'��<f8�����%���
�]ȋS/��t�^)HI
4�*9������S�T8���ƟۢW�WO�C&���
-����O��i�o#�7'���1�XN �'��exe������}.�T
J�A�q`X�+��d��s��iIϑ24��@���y�ւ4q� �ښ
�`kl��)^mm����ݩ�AH)��/uV����c>�e�+�g�Z���C% �^��7�F\U�[�:WmPsG
P
���	���b��e����� �����D�R�2]���V
�
��-��R��D��v"��
q�o�zI̺Æ��C�L�Hi ��af
&/�N�g5��R�[�Ռ��
���%��f����t�.����QD�wx�C�O=��+7�,rd�;�����X����,�/@
`I�l]�K-.�5��NH��3��B	��/c*v��Z�D3���)��pUg���U:���n��`͎:����
��%�o��}EX K��`�X�h)b��Q�Mw��=OZ�B�d�
9G�O�Z	�Y�	Rֱ9W�*��#T��hRy����W�9I�pL
�ܚ_���Z������j!�D�2�+h��Ps�6�P��1\Nٹ���<P�0���
.c���[qX��FZ���&H���
�$`
�.�%������t���6-/��O��&��œ�o��X�0`��
/ <y9�����++zA��o_eUIP�$ �Q�
���(O`�z���9wgS��Y��1���3
`Igl]gK-�-�5:���d��0��Z�RN�/��-��
� D�i�j��]2_����ʻaW��<��9$��.�X��lÔ��n��W����Mi�S�[9/#%
B���ԪL�pW<�4M�d��дYDo>0"�!��A��5WI�Rd FL��:8c|��t��%S��5��Bb��LU��Tw�"?��dJî�
B�EJx�leAJ?I���9��-��L�s��0���� ����Q�&qr��=]�Z;�7
�X��+�v���z�-^������� r����� ~Wp�1c5P+��b�UvYĊɆ��V���bA���
S$��l�k��9�]Y�Ҍ��7h��[
���*F>	z�?���^�-�����*W����,������@��lGT�OMm� [...]
-՟9U���it��� !����w����0R�SUo�i�'T#a)�1
-�
�q�̻������J�\����v�{�y at A0Y(�᝶d��9�?�t؅cʋ�`l
O�|�(�
�
-d�rO#Tߖ�S�Ԕ��P�jy��*��� �QPB��UEc�Y�㻑L�d��A�  ��
-�tq�I2=-Jk�������F01ٰj����5J���뤏0ͨ3rc��j�\���>$��ۥ
��W�ռb���/.�Z�U�rwS�p#�^��_0o�>KR�N�2�[�&�lH�ŜB�
���� Kj�`�jX���j�rwG
6w�|���1�K�pY2jE>���*��$J�+�XR�[W�ŏWĔ�;�������CR4�
� v��k�w
�4����o��Q-]�V��~�뮎�o���-`I�l]�
?^�S������ۼώ���U5��(����9O�Gh��7P+J��vO۩���B�Κ_е�ZU�����yE۬}��6������X�o�����֓�č#oQ [�"�).ҭ���=�n���5X�ˢ0��~�(-�b�xͯ-&F���O�;~fyk?~�?�M��?U����TUf}}
V=��(L>�
q�t1����c�쇍n���?�`k���w��
^���ϟ�|�����;�Źu����\����&!>D�K���^F��!��)
F��'�k���1�;��:�� ����endstream
+x��YI��6����m��n�w�R5��.{
Ǔn��N�(�0�����y�(5�[|����ۗ��ڮ����ww�H�U��'���*�Wi����j��
.�y�{7�CQ���vs�c��Bɮ�I�T;A�ׯ_� ����_�^\|w��E |�U���)K�xU6o�W̿X�,̳�^�jV�Y�n/�}��
D,�n��!��	
��WK
����q�9��kF�a�,�;���BZ? Q�i�
2O�D/�gVFr(~N䈈{�/��+ at B��Շ����R��b8��;?�AXx4!Gz�ő�t�Z�z��
�9�M7�@Y�M��~��}`��г�1�R�y�gG��!c�>jW(Xp�,Z�=�b�������w�U#�I�i�A�
����$b�ρ���.8fE��u%ю ��~@3�Ri ��(�q���
+Ȩ��W��C�-�Y at h�
L��
|O��MT]�}�I}�g��H�7LsJ�0�q��n@#�4�gɘ8�\�9hã2��D��	~�U�1xp��-�l\vAi8lM>�|s�z��=]���H�)A
A0^ƻ��
q���� ��D4}ݡ�:P疞��
"(�q�0*ь�B�
r

+��a��}3$
���yi#���b��(
+y�u�6��S�5=*FD�x{�v'�%�Z���$vh�8�k[�n�-�d�
t�Q�+4U�m��tލ�0����~�C�4�Z]�۩؊�m����
s�`�
ĂGn����	'���ʮִ#LࢾV�Q��m�]B��_C�,��8�����!�vݴ�ٱ!DY ;]��Y��l;E�F�Z�9
,�
U�.�[��
�^_
J�P���ֵhP�05R�t%F�mi��
�Rg$Ѐ%���Ҭ�#
�B�m��>�m{�$��Tf���jٶBT���ߖ���Д&;��@��q��jx��\�)�]��4�)s` .
uZD���~<[pl�
�V4��5��F���ȡ��
'�
�L����#H�=k�u� *{QR��;:Z�+����r�f�c��!�%kA_�|�3G��G
h;��LzdH�è�۝�Ͷi����~'ڥb�kH7 �+��m��s����2�dCO,<�ru��dW�$��c���GsT+M6���c}�sl���󦫡^��A�'�m HXf kb�F�w��g��:�$�Q��6

�A���O0�/t���
 �7C��8�m��N� �G�ഁ��-��,s� �r�j�����	����
�?�@
�Y���#���I�t�p�n��à�Ft��j<��z�k
rf1D����
	�P��m���8���( t
+Y���9���s#�&
N	���ZK���T3���|�C{�A*#:S;��3�}�m�y�B��%XVb�7�
���2��v�O�>���fG��U�yz��H��ň
+煲�FQ�9u�/0��%[P
W���
���ԦO
�V�Aa< ��
٪=��z,6�H��!�	
Q�7۠v�P�Jx\A���F�jd����.��
X��bk��vL7����ІvVz����B�T6�Z#�ޘw����MaN'&��y�/MKF�v�F| zB=W�rj���H�vW��Y �P�As���vu ��&5�p�Q����� 5��av��F��
+�,T��S�`�!m���-�r��^���xE8觧ES�*r*,+�
N�k�Q
��z�d�}?cQ��B�ϫ�]���
�E��Xd�X�Q
�8F���,���<�>n^�Y�lz=�k
�`�R�P�3����
c9�h�b�6�S����&������U�z~�s<���v��;��6��h�#N�3T��H���* �-�H��N�
�xf2�G�t���
����6�Z�bH۵��M���?�G�
^L8㍧�3�Y?ˌ�TW+�0;^�3=�km2<|pϼ��"�~ޅ�z38�Zƙ�*[���'��
��s�1͑ Ұ��C��>��|�f�.xj��yc[�~v�
+t �y�.�U� ��l.�����L�������%)��O�y5�qt�Bν���_��tz;c@J�êt��t(�M�y��p������?������
+��B���� _�V�m$�
�9p{��� 
�ܻ�B��Iۮ�u��h���yfR��	��Ӱ���
��'lק��f�z@nj
h�opq`����5�[�n+�)�})e)�ۦ��MwW݁
h_�N���rc��f�8��r����,T8��͎��C-MX��Ш/l7'J
�LX�S����	�@l��<�����uG�������"s&X1Ν2W�
��O6�/��իϕ,KX�&I�G�����ݳ_o��/]�G);
�?y��[� %u���*�=_�o��O�*��&
T?�Y����㕉��㧭/t|��ҍF
+9��N~�����_���D'{���L2������{��H�9���;��?y��O�����7 ���p��$��RA�iB�+
���A?� 4��`���hJ�_�ѿ�yG����x
�S����~�g�ȦV���q�׏���H%"�ɖ���8
#g��s'�R��
+endstream
 endobj
-468 0 obj <<
+464 0 obj <<
 /Type /Page
-/Contents 469 0 R
-/Resources 467 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 351 0 R
-/Annots [ 472 0 R 473 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R ]
+/Contents 465 0 R
+/Resources 463 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 343 0 R
+/Annots [ 448 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R 462 0 R ]
 >> endobj
-472 0 obj <<
+448 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.3506 641.7246 427.8181 652.6285]
+/Rect [351.351 641.725 427.818 652.629]
 /Subtype /Link
 /A << /S /GoTo /D (main_convex_polys) >>
 >> endobj
-473 0 obj <<
+455 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.548 288.2881 337.1216 299.1921]
+/Rect [263.548 288.288 337.122 299.192]
 /Subtype /Link
 /A << /S /GoTo /D (main_use_of_library) >>
 >> endobj
-485 0 obj <<
+456 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 170.907 190.1246 180.8048]
+/Rect [113.91 170.907 190.125 180.805]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-486 0 obj <<
+457 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 150.9817 202.0797 160.8795]
+/Rect [113.91 150.982 202.08 160.88]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-487 0 obj <<
+458 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 131.0565 187.6893 140.9542]
+/Rect [113.91 131.056 187.689 140.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-488 0 obj <<
+459 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 111.1312 229.5324 121.0289]
+/Rect [113.91 111.131 229.532 121.029]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-489 0 obj <<
+460 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 91.3005 169.7565 101.4872]
+/Rect [113.91 91.301 169.757 101.487]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-490 0 obj <<
+462 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
+466 0 obj <<
+/D [464 0 R /XYZ 90 757.935 null]
+>> endobj
 6 0 obj <<
-/D [468 0 R /XYZ 90 733.028 null]
+/D [464 0 R /XYZ 90 733.028 null]
 >> endobj
-470 0 obj <<
-/D [468 0 R /XYZ 90 712.582 null]
+467 0 obj <<
+/D [464 0 R /XYZ 90 712.582 null]
 >> endobj
-471 0 obj <<
-/D [468 0 R /XYZ 90 712.582 null]
+468 0 obj <<
+/D [464 0 R /XYZ 90 712.582 null]
 >> endobj
 10 0 obj <<
-/D [468 0 R /XYZ 90 712.582 null]
+/D [464 0 R /XYZ 90 712.582 null]
 >> endobj
-474 0 obj <<
-/D [468 0 R /XYZ 159.6282 279.4861 null]
+469 0 obj <<
+/D [464 0 R /XYZ 159.628 279.486 null]
 >> endobj
-475 0 obj <<
-/D [468 0 R /XYZ 90 262.7589 null]
+470 0 obj <<
+/D [464 0 R /XYZ 90 262.759 null]
 >> endobj
-467 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R /F25 344 0 R /F74 478 0 R /F33 481 0 R /F10 484 0 R >>
+463 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R /F23 340 0 R /F72 471 0 R /F31 472 0 R /F10 473 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-500 0 obj <<
-/Length 2732      
+487 0 obj <<
+/Length 2303      
 /Filter /FlateDecode
 >>
 stream
-xڥێ۸�}��o���ËHJIQ��Ӥ�n�i2��f1�mΌ���Hrfݯ�9�Ȕ-�	�EVyt�Wz،�l�љ��d"Q����Ξa��
��K8_� ?<�ܾWr��Lq5{x�#�3>{��2g�-��R:x1�%�t��������˹ɻ}�`�ܴ��`2Us���᧛�<�=_R(�d����+�m���n(Y*g��B	�2>��$\�����Ϳz<��~0&

/EBR_^��
B�Lz�%��gT�D�ɬC-|�\���(|ť��O)&$K���p�y�G#�@��wJ���w�bs�]ˆ�ZMr�졮i�
�}�DgKppId�H{��b�v��f$�*�h�`�>=�U�LR���k~@���p�-��P`L�l��G�ߚ�X���)��_��T
r[W����2�ow�}\�yێp �Y�=�d��4�=�/WP�oE�ϕ�,���Py3�QIԏ�f�/uӍ��IS�}+��C�0�t�Rd�(�5�(ɤtY��m4dJ���im�T�.a�D+)b �=�L%��Ϋ��{��ܳ{1n�c���A���u�^_�M�■{�l,F57_������4U׎�υ$L�H���f,U�heH�
��z��[^m
+ [...]
Fm���l
7����
7f�oZ�ʦ<`��ç�޺U^��k�
p�0�k��,�
�:h�Z|l]�7�U]*�2p�K�L�_v5��(~w�u��x����!���{��_M
gg�r1�X
�Ǒ�
-�>IC	��4��[Á��,�Н�6衮X�
[_�NM��V4���� S&`�M>A��M~�������MW@<

?��~m6��M
�Q�'ȗ�o5�
{���;�G�[�3_B&��6Nu�D�آ�
�!9k���E4��n>t_�/7O��o���������[�S�+Z���_E��rB]^ٱ��ͨ^�ч;�R�}��(��$�q���U��?�>��}�+j�]�3M�_ᴫ#���ݮ,l!�}QCk
-���>����U�
-�����0���-�]�|(�V\���(�`q��>���U��_P��۵�,�diݾ
������ZlP<y�
1,֍�/�g
!Rh Z|s��V������
�<_��ԙ�yl[܆�y�(��_k,���X�����oм��G�j/T׍��9�q���k<���;�$Y;ǃWߨ���|��7m0�i�M�2'6;GB���wB{s²D�+!���Ч�ޚ�	�w�ꮫ��&���A�e�;�y{��i����$�?/�G��K��Ƃ�3��
�S�
�}���
�ɶ�O�*�j�;����($��[<،h!r���{i�<& �,H�K�VT���)�z�����*�
~���� �` c��
�	�6�+���i|	'��'�� L� �7���b `N!ƶ#��4��nM��K�s��8�K����`#ɲ�'�"��������f��OBy_Ez@i#�0�e�{/�l	�
-4��p�m��sr(Xc����
-������O$(�6�
-
�~�� E�~#R[�Ɩ;��l���&[�����.I�1���5����l��~��<�P���y���Յ���>ܽ�W�	ᚳ�jT��)
%mn�|�I�	"��(��(T�O:
-��)H� �
;8�
��1���{�:$6}#��n��S��e- �o�����Rbݏf��h��2I
��5��-ޤ.�)`���Ó�kGx��ž[S��6?�������	t�|���V��?
�g��g6A=�-|�_��޳���=����\
-
���뚍
��6����V�z
��!`�j+p�E�����2�K��] ���}T�?�<�e�z
-Wc`k����~U
R�B�'����g/��ż�P��<�� �\vu���x�B�B7Lj��.wa�bk�z�w#B�T�����1���=�U�')
��B7=��n!�Js�,���#�Q�(@����1��B�u�LQ�2M�WHLw]��m�+ VF%��'�Z^�8��8�]�x�b$�4�^�nYTP$��]
�AN����VP� �E� �D`�E���>M�=�ۘ2��v�ٮ�rTh�F/�TF�S"{��O���$��u�v݅���H�y�_̈́�\�#|��5�*�R��nBI�����w"�O`��g�L���qe��Z@;�/ʍC���`'7
X��&���xO��vL�&��0h��p�>
-#�w
��}
�Oی��@E�A���d�|�
Hήu��
�"�u
?��?�{�[w��f���)�.=�ǍeO|��c4�j0�y�:��u
̥�r:
OĢ�����8I1bD1θG���̈�_�G�
SR�_
�~�L�f٠mP$�"���4��vrn����Ë�4���b�������B�y���y�ذ�
��O��*u]5L�t�ɜ�"�9��顂��o���{�[F�`}��Ҟ�E�_�n��������[���]C����۳��T��l�p�
茗��E���`؏yy:��+*��i���#��FX��

+xڭYY���~�_��H����$� @v'�xw���J^�ŀ�Z#b)R&)k�_�U]�K�h
À�쳺����Z�{�w������V^�b-���x1�B-X ��\{g���Bp�g˭�/d�g�J��Zo�2���9Ts�L=_(Dz��-������s�',� d�
+�tw��7�a�'�3G�Ѯ�y�T�ͽ7���G>�5�^��W�JŸ��OR��~?�_=9F��㕃���:�9����֣�ggJ8��v�+\�-��<�	
b���[S��#R� ~i�s�^�n�+�8�Y�vA�:�YB��3U�R�9�A�*�t[֦p+we�DdG�
+1%[����
�<��	�B��P$g�4\����;Q���¬�
��FI5APC�Hp[V��(�j��b��Y܋s��B��\z
!X
8��;�YR,�9�Q�.x��#l.�g�x�ˊ�I1��D�rC�fk��c
S��?����1[7[j�8�䓱��|>d�_�$7ESO�/U���F�Sr�eQ�W�/���q��X+uI�@�
+:�t����7�m�k�
�ą���8������^�t:}��n�"uȋ��/ʟN}	��=�w���K�_÷@��wvژ�>Ow�u[F2!�N0Ʋ_�1в�Ѭ6��hz�
g�w5(C*ղ~�6�#$�L�����n_
PmH�
k��"���@�R�Yje�V��/A��!m̚�A�Nr�;]��P��$�PM~B3��MU�9�Ə#p���d$�%[�ڴ*M���jh�K({(�j�<>�GSA�$(�H�`!����	O��5��a�^T�K�vͼgR�#�x��9�J8��G
+I�d����{�>�f��P�И���^�F��N���s']���qT{Q<�Yr!}̈́R��ljJ}���d�Wb�Ϣ0��8E�g��P�A�y���e��d�q}N���>��� P`���F[l��g� �q�1�~��t��9j��pV�v�d��ܛ*q]�m����~�gi��P���B����]�� b]� î/!�6��z��#� �;�����Pd�v�A64j�
\��q�=J{J�K�Ƌ�����H+����	�]�D�=�F�!�
��5B:���t�9T-��7H�%B���@]�A��\�t���F3�^
�k�76��t�~� [9*e�F��$%���
d�:��8�Uݪ��i��̙�.�0g��ҋcf�DL��b��^��rg�����S�MYMI�V~��q~c��.�2�dz����y~�n��M�4��a�����f�XA&�3�r�mN�T�k��{�6n"’�8�#0j,- �Bj��m+�� ��~8��߳b�,

�R,J3�#�@.���D�!
������UR[z"~��/�����
���	S
t ��k�j ��@�s���,薐
��7��R�����@E��ݵ��8�TSya�3��

 ��J at b��F���d8�X�5�ry
�I�)�/CcM��	��
CeAW�P����
���l��56�� �
j��0��i�f	#a�JU��&�8���ꏆ�U\u�l��}ݦ��8.��{�-|&óz3�MR姹,��rމ����J�Cԡ˃5�nsd
�e�r�� ����| �yMD,x�i��

s�!
�m˦�;�E�y ���ずxD���>}W�4
+�Jj�"�TN0~�]��X`���\l�j�wɉVn_1�m "Z�s���É�uC��A�����aEA�c'�r���.�
�BP��ؘa.�YǠ����2a�(��NK�ۯ5hl��
+���^�@ ���*���'t�x�9u���)�2
+�00�
��jC���4��q	��t�
~q7�x�[��5�~W����� �[�_g;SԐ��/�/�E8J��ȱ�M��a�S`M�vJZ��2��3d�u2yV �/�n{p�o�|e�6W�y�nU��*Ft��i
y��u[�O��? ��"t��m��[��L%
+���H�I�fb�u�g
���
ز�|Ws���,_a2L��f�أ���D����`;����6�
��8��/�k�a��'�����f�?��NPX��1TO�
��
��H�]w�V5��Vp��Q���E{��_Lwd��1R/��~X�o+W_�&ܰ'=v��wt�b}�;�9��!����,�3�~�	g�K\��O[��\��lU%�3��Ԧ��<fu�KUyH�\�Xw���� 1BQP�\�-�>���~�������3-�b"�j�m��_��
�G��
��}Ų�����OOE��]꺹�B��x�>�\	��
 endstream
 endobj
-499 0 obj <<
+486 0 obj <<
 /Type /Page
-/Contents 500 0 R
-/Resources 498 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 351 0 R
-/Annots [ 502 0 R 503 0 R 504 0 R 505 0 R 512 0 R ]
+/Contents 487 0 R
+/Resources 485 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 343 0 R
+/Annots [ 461 0 R 481 0 R 482 0 R 483 0 R 484 0 R ]
 >> endobj
-502 0 obj <<
+461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 720.6295 142.3039 730.4327]
+/Rect [113.91 720.63 142.304 730.433]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-503 0 obj <<
+481 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9567 624.8877 268.2606 635.7916]
+/Rect [215.957 624.888 268.261 635.792]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-504 0 obj <<
+482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 562.4608 247.4651 572.264]
+/Rect [113.91 562.461 247.465 572.264]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-505 0 obj <<
+483 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 542.4409 337.1289 552.3387]
+/Rect [113.91 542.441 337.129 552.339]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-512 0 obj <<
+484 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-501 0 obj <<
-/D [499 0 R /XYZ 90 757.9346 null]
+488 0 obj <<
+/D [486 0 R /XYZ 90 757.935 null]
 >> endobj
-506 0 obj <<
-/D [499 0 R /XYZ 496.0736 477.8422 null]
+489 0 obj <<
+/D [486 0 R /XYZ 496.074 477.842 null]
 >> endobj
-507 0 obj <<
-/D [499 0 R /XYZ 90 461.115 null]
+490 0 obj <<
+/D [486 0 R /XYZ 90 461.115 null]
 >> endobj
-508 0 obj <<
-/D [499 0 R /XYZ 390.8984 361.5225 null]
+491 0 obj <<
+/D [486 0 R /XYZ 390.898 361.523 null]
 >> endobj
-509 0 obj <<
-/D [499 0 R /XYZ 90 344.7954 null]
+492 0 obj <<
+/D [486 0 R /XYZ 90 344.795 null]
 >> endobj
-510 0 obj <<
-/D [499 0 R /XYZ 338.8742 166.5573 null]
+493 0 obj <<
+/D [486 0 R /XYZ 338.874 166.557 null]
 >> endobj
-511 0 obj <<
-/D [499 0 R /XYZ 90 149.8302 null]
+494 0 obj <<
+/D [486 0 R /XYZ 90 149.83 null]
 >> endobj
-498 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F74 478 0 R /F11 411 0 R >>
+485 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-519 0 obj <<
-/Length 2892      
+502 0 obj <<
+/Length 2512      
 /Filter /FlateDecode
 >>
 stream
-x��Zݏ۸߿¸��h̐�(RI�R����٢��A��]����l���CR�W����X�c8C�73�!��آ�
)$)�,_l7tq��n��^A�*&����˷�X��y���Y9#�3���~�0–+F)Mn��r�M�^V5��.�Htٟ�%S��	�'����n��
�ݼD�3#������-��J�B��T(aE��������y��;쀩��U���ȋ��)��������hN�Te�@fv���|M��(.�E���@uM.�HA�|,w_պlq�7M}מt���Le��n�Le�
�m���4�5e��-�֛:O6e�
k���S��kO�/���@)�[l�
��{�Eܖ&M�x4n��i}����^L��7Fi
*Ϧ{��r�WW=�Wvy�c����Iw�&4+�AW2vY�c���U�g%�_��ɭj�U���`�pw�u��
-��
ya����T�Pj�Q�ుK"3%
���<�B�`9s4
	Fs��+�&����%��K�]�%"��œ]�eNb�˼܀K,�/O}�o�M�.�(	��
-.��K����)�(��!c�9\<�u\�$F���
��ra�u�Ѹ��Ņ��b�pи-�4
XT
��e`��]Å��]�e�C�Q]eF\�ɬ� I$tݜ�ޮ�����ӭ9���M��(¶}�4��J���	6��4�� SZ����	E	x��"�1�
Ɓ�*ȳ����0��6���k�g�]AD.��N]B���sX� �0�˰Fs�z���I�`��`���!���T���9sEU�
��?C�&`���pV���Dsx���I� �� ���M����6.�!��� E�অ�r��.Y^:!fd4��ir8�M/�ED0���^�I��b^nЋX�/�BA���_W'V)˒?M�G>ٗ��aGJ
-y�(
�GӻУ�/{_rM�k���e�:�Ƒn��
�#	)�$9w��W�j_���e.��$
�o!��[dQ���6���og��b�k�
7P�6̸M���q���n3n�:ϸ�oȸ'��aO�R�
ܔ��r�̘S �jN�s�"כ�H�d��p���Ԍ�B}A�͐F.rR�TE$+�\��J?�x��EDĞ�3H��t��?Gu
�qz�Bx���t�
��@
X��`��1�,K�L]/"�Cϓ]�oNb�߼� `,w2�DGj�4��
��ձm���<�G�������4� �'�YE�_�|������\��C��b�r4&�љ@vUgf%:sE�י��gk��I7�ߣ`0!���x�ɂ�B�q<��82�[�e���r�5X�N�c�ڸ��
�p<t�&	E��U�xm ��P�ij���K��
-_P�3x;"�P���&
-OD*������N�N� �џ	�l4�P����$K�ϡ��Aj���/�ޒ��c��� ���
���
�� G�S�Ҕ(�z�p��"v6�33hK6��_��t��w��-�#�%K��
-��{���&��:���x*����]�ƅ���r��2��p3�f‹�a�(���7n�ߘ�J��;����4��6���-vD;�vǡu�
��^6zb�!�%4��}��
�O�P�T&NBy�W��0R�c��D�|�-�@
v��`fV��t��T��f}*mr�f�6�6$V�X:��a�5C{x��'���5��H1왩�=�Ž�3�IڰH6��G���ߔ�5�}e�0�bp�[!P�
�L�J1T.���I�3&����~�=ˋ������"�í�B@�6
����Tw�
-�ԗ��g�2�����q�$P���6�~l��ޮ��>�m2^��S;��'J�>=�y��#(�m i-rN	a��c����
-�f�Z��v2���ޚ�[�Q������"K�3�"VS��U(����ch3Ӵ�7�����_�̨sv��=��m["��1Z��p
-����p�<��JY1��P�/7L���X7G'�qTi����rq���R(p�M!�?6
Ӈ�0}���6��d�z5�ynz����e&���ԋ���
-n ��:c��<��  �ã$��ߌ��폑y깔љ¿<�ݛ�8M>f�o,&X�$W9�b\ڊ)�����w���1�#Cz�&���o2��X*�Ǩ
 a}�,`f����uG�}!�
�{~>�t�n^�M�3ٌ�kB�G0�bƼ R�0��;��f��`�T�T��Ck:�&�k��ˠ��AN��1��
-��
-26L3ETvCDDk�p5����mZʜ.����c����7
-V$���_#Y\�j>E9��}��V
!�0(~F��ڡ��4���Wg��0�k�@7��ŕ����+5x
�JZ���^@�؋��
��
Z�Lk�w�g���b8^d`g�cR#Mߜ���>�h�nOӔ3�ǯ]�~�7v1���d���MY�su��V[����8��f?�xxr�{��&>�=����I~�m�MI9D��~z�^��y֮�
RQ�X��N�=�*�z��* �l�A�#r�����w�Ȕ�y���ܳ;
-ȧ�3܌`0K���d8y���� ���LE�������
:l���+7�r쫮�[i����I�`	e
����Ddƕ���?{2�H0-d�=”��`/�M�w���y���e�̆����꣆�ɮmܘ0����EC(�{�lg�5/Όe"x�:���6
(zlk��
��+;�ݝ��
��޽!SO�$����.�c��ַ��M��-F��
�D�$����?�:��t�!
7տ��
������NP��n}�7��dtgt�
�J1��&�>�.9����a�����a�a�*��#�{�׬��^�|xx �����ؒ�	a���y��Me��n���e��ʉ4�
�s�����P1�1
-j����S�?��*�endstream
+x��ZKs���W���b�H�1�\R�3U�dkS�T3[[�YL(RKR�ѿO7 A��eg&��ģ���?@�;/��_�����]
z�b{�;/
�$�L
+���G�3�Z� �۽Z��
���eM�w+!}���v�S_u�u�e�����~�����>��5_��$���p���+`�G/`a�z����E"�o�}���U`d
\Ye��ʃ�Ea�%"dA,I�OBH��]�}\K�*k��$����ړ���!����&Y�F��|���pX�mX��-X�Ǿ�yME�ݩ���RWyו��@��F���mTB�c��ԆGc��֎�hY���4Uՠ��K˦;�}��˭�6k�] �q�Ic -���L��d��LY�h���Z��X���O�
�c׸��]�zM�,
��z��(��'Qf	>$ŌK�$�-� �ItD,K��D�S]�\��>k��4�O��秾���r�W��9��Kt����Q�dƍ�Ϲ�W�g��KU�|"m�4��eA�E1��:�!���"�7ͩ.T�.�
*�S-f��h�.��R>�S��r�ݲ4�E
�f��26�>�k��E
u`���ҙ͆��?b���_嘉�S
�>�.��[��o��*��k��L&Oor��
�tQ [...]
+U�(��'��0�B����d�~���e� I�D��5ucH���gfd�JX,
�塬�:�b�_�F)
t�R��RF.5}
.�hc�xF4v��'�ڎ��FKO���,�x��x�F<�Ș�m򵁤���
+��K@'�����ɚC΋&�4�;�C�_UG�b%�˪�"�|�i(ȟ3M�-L�:�%N��L:Z:�1Ů����Ƕ9��2N�R}iz��#��"S���%5�igȉW��1�y�3��$
/rƫ��1����֕�֍/��X(;<��b�
zSIb��M��g��U�P�;
�M��3�ΐ)
w*�8�&���
�-�ryR�����H_��4A;�S�W�8 �e���
�
+���J�ɤ�N�Y
��"��J��@��i^_��
�^5���{�Bܭ��?�����J�xv�c_
 �>���4�ǘ�v�骉4E-]5�KU3
+'��%�S�j���L�����W�� 3D"��4ߐ��G�Y��8��
+1D�)D�߯8\�ڂz�m��n�T^w4C��������	��0���T+�CDr� ��WC�`���� w7���t��`
+�l��jmWLƱ]E�o��.�
��q1d2
�ib�-M}�v��k 
�h�m�Cĩ%N�H���ƇD�8><�#HG�ث�Hr�͇=4�^r��[�'�.u�L�$ǪDg`q���f]'����#���a[X�ظ�Ά��*ty���'�����bHȭ. |Љ�^o$<�ݩ�0��Mio���5��y)E��ց�I��dr�V
�J�h����R�����y��
�A�I;F�II�
�<
 ��k �C΢������l����"C�u}A��Bi�Z�����RJ:�h�
J�C۪���2��U�\��E4��WE��$-j��H�!�-&�/���g����y]Pc:���Ua��As1ߢ��
2�;6
�i`:�������e�^���J���M���@9=���c
+p=`O���9���[f���#Jɋ�W'y<�X)�̀y�x
,S�r���
+8�7;x�������ԑ:yms.0�����s�I�;���)5a�
�r�`Ԁp�ϥ����A>n�$�R�G",?�+
�1�[:R�"�*���x��4{ҋ1����ځ����O;�������0͝)�a3Ώ;���� �y�0^M1
�����(e�~�v-1b�O�z���L>�br�ƀ��Ơ��&�
}��t`��i���A�[�Ǭé��uQ
��q���Cgt��}����	C���Z�Ь9���E�:�Y��~���R_[D0K���B��BH���教���g6 at q"��	듚h�}s��*>0�u�F��C�Q�/*3��sϚ��6#^�)9aQ20���P_7����تNս*\$ 0����  �`qܢonγ�>7��,� $�u�
+����ɽz�{<���(��Qr>>W��-�f��%1��
9^�1`5�N|K
���	���
D�E<���	Z�a;=f�k�@ޫaB�9hyi���}�5������Ż�����N��a>��cf�H�8�*���۷WlUꠟ
��>tٞN���H[�B
��Lvmc�
�<Z����[�p뿞���-;���l���4�Om;���
����{��@���Ӱ��3G������/��ߍ��X  �2rB`ߟ12�����o����:�T�����d�/�>��R�4��u��'�C��!!y���A)�)��/϶�|���(�B�ǃ���㛛���{��ة.�-+��I7��ȅ�Yqg/9�8O��A�<�N�7�0*�
+endstream
 endobj
-518 0 obj <<
+501 0 obj <<
 /Type /Page
-/Contents 519 0 R
-/Resources 517 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 529 0 R
-/Annots [ 528 0 R ]
+/Contents 502 0 R
+/Resources 500 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 507 0 R
+/Annots [ 499 0 R ]
 >> endobj
-528 0 obj <<
+499 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-520 0 obj <<
-/D [518 0 R /XYZ 90 757.9346 null]
+503 0 obj <<
+/D [501 0 R /XYZ 90 757.935 null]
 >> endobj
-527 0 obj <<
-/D [518 0 R /XYZ 90 79.6165 null]
+506 0 obj <<
+/D [501 0 R /XYZ 90 79.617 null]
 >> endobj
-517 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F8 523 0 R /F25 344 0 R /F11 411 0 R /F7 526 0 R /F74 478 0 R /F67 366 0 R >>
+500 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R /F11 418 0 R /F7 505 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-532 0 obj <<
-/Length 2857      
+511 0 obj <<
+/Length 2432      
 /Filter /FlateDecode
 >>
 stream
-x��Zݓ�
߿�o�Μ��(���^�I:I{ۧ\�C��Yr$���__�%˔�ۙ�͞)H�E���,X$<!����p,����
5�+_��>�=|��"#Y
Ƌǽ�S�C.
w?/)��+���YޯB
,�!�R�>އ|)E{��i�����Q��K~���ww{��yqS���Ͽ�
�ﻻ��,�3<�fY�8�E!����v|�zajy��[�2Ĝ����0��O���h�Z����~� �m�a��>|�Ùf�C�a*ȸS�O?���S]˲-^�cs:
��m�S{����2��hiF���}��C�~B�q��4
ӫ��(�
�$bi����|	Ë-����;�9�4"Y�C�Ǫxy��Z�4�


t�,�dQ���c��m�N?����T�;�(�R6�L�1�H
3~]��O��l^�>��
�r;=�r��|w�
-{�����
���!�u-V��
��@��@��$
-5-6��шqd'��(��� ��Yy�pҺ� �W�4�y�a��A:AF:�X�}U�����勦ۊ��Z��	����`�)%�7��%6cG:�tr��[���=۪lkѴ �E�R4�5Q�R�
;gA�(6��+�'�{��GMac#-8�
�0
GvC���A�:��ܚmw��Z�(�JJ����/�F&Gif��	�
�
fr	�,$a�Ɔ�����	��4��e)�h�`�$M���m��ǎ�an����Lf1~�
-<�6�:*�S���3���
��	^y=&�H��0��W�K[��j��@c��T�޵��%l���ck�P���9o�{����04{�
���]���v�)��А��w|��d��Уx�<G�~���]���R���>�֨�x��*�Gi����T޼���:��5w�d14��@n�V.�ĚÔ0
�=���}8btF����'�\M�(�͛�2�/�N �H�p�Z�
츬CJ�4�
����
��$$	:|��k[A�R=�[Q/�mQ�z$�(�
#{���Ҍ#��AH��|�gu�zD�����w7թ�yב�$��%Q8~4k��I�k=�W4�$�3��Dx���Ƹ��"Z�3%d#6�1"��8��k�׽+�h2�].�ǻ:�Y�����B�w
�U+��A
��6d�y��L�%$J#~�f�? ),_%��>
l7���
c���(�U)��{�l�����ˀԯ��g�㄄Y8���o�-���{���>�{e�]�?~�Q0T��Yn׉��D0ݒ��;>a���ga���+&
��3	>������Z
k8� (�*sX%i��	~����5���U6�欄H�L%��>W���Ȥ1���s9*��	`�UUH=$��t�4^��1qO���Y2H�T6�‘T�~�kU9��J��97�(
�*l�U����1���!vw�m��h�&
2�MZ�y����mr,��M�rU��H��4���~���J��:�<� !�H�:ip�r��qT����
���p9N��'_8b)'	*�o.��
-:�Y+����B�
��n=��f
��p�O�2J��͓JA��pKqU�I��0 �'ECX��vߗ_1�d)��L+��G �(�����_�
-�!�}�k}[Z
-h�H�F���U�{�$�MDs�l	���W2�C���X�ɸv4lŦ���N���D���э3�� ��͉./�
�r$���(z]ƚcn4���ą
-Qt[�0b�f
��	<�֝j��g�
�T�
-t�
�-T�
-�*�
�/a�A��t`�s�)d���:��4N��t�b��v��Zc@��p�=�H�$�쑨��C��[8�0W����� ���TnQ�V�B�N��
-�`yGE�2Fٞ�
���Cv�%��,��l���
�,d��v�}!w�r�q�M��A�n����z�5E�N"���,
���z_W/z��0
-�:
����C一&l�h�^^��*ҹY�X�B�̚�C�31K6ob^�����^11W�SVQE�S-נ���'��� ��e�)�+x*i�B�؇��0c7�?
��
�c!�H`�e^t��כ��E,� D�=D�r{����I3��j�ֲ��&�d�4y}fq�B�
2�� �^Q�ڊV���?Y����胘���!L'(^��Wz�yc/��/�C9���C�
K68^�=��^
W�V]�̄�٪''�
V�ݨ�������9Ȳ	�YT�7�]��G~��|[9�¡M�&/_���N�΁�<�+pD�t����W�A�T/`x{j��I�#�>��	3��L��W�W%�#�Q�zƹqt%7��tQ��K��5��2���H7ki��I�U��4IJ��u�<>k�f]�+��ر�i�u��O~O�M���p

��`;�8�t���G
8 ��fO9'M���ڄ�[��X��֔�$��C�X�7���m���%l�&��;fХ띂�
вFL�����]W�
]�����rN[6ǎQ%k�8_3�ꅪ�-�����B��rCHc��00
-�[#H�A�eY?0.7$�ܐN�!�ԩ:�8�'A_����N*�c��sT6$�Դ����j��Q��q@
��yQ���P�Y����M�6���Y��q���e�yNR���O
Yn/�y9l�b�TЕ{��a����\������g)��5��
-��2��&��_��4��>��ԁ��l�)EL����M;��Ǖ�JS7�ï�~�7���w�nd��{Η����<�K>�u��Ka�
- ��TcՄIH�2�����o
���_g���y�Ʃ~�|q��m{|��p>�ɶ!�2?�$o�\��²x%�o�V
��\�giL��F��t�懪�nD����S�q{!;endstream
+x��ZY��6~�_����,
@��e�vm�Jv=�d�T���
+IY���ۍ��H�43U[�1qv7�����>�}�pw�1ೈD��
v���€���v�e�[,�t��W��'��g���qቹ�͡Z��\Ջ%gb��⷇���p��
>t�4]���Y��}��ζ��Ì
�fG=*��
�o:�|��;:)��	
D+#��r~R��dSTF�O��TS%��~Pu\%%t�(��GA{�YDI�eЄ�%���O��J�M�d���,���M�9.�vd*�Zٞbg��#�>���V��Ζ,�	[���ïg���yb8��R�R�"}ګm%G���A�<{U���FS�"ɛ���T���+�)�I��)H�l�U��^�n�@�RVNOU'�"��	��W�
�7,i���E7����
P�K'_)�bS��#��4dp�I�+K�V��;γed���J�Ju��'3.�y^4���
5Dž�>3	������
+$�Š�
;�;Y,���MK\�M%�xsߟ��L�i��֒�-�rS�|��?��	{$�w
+
Y�
pkbس
��x
u����{��W��ֈ�^�@�6���+
H�G�\��P�@���=���֢��v���j���H�@�8#�0� g 7]~i�Y�(?wjr�ZCc�G|�����NY�߁}S
bMp ?��y��mθr��@Iee��m(��=&;;?c�=�v�u)�1oP�v����x'WsnK唈�^6���$cfؠJ�P��j�Q?卌{��L� �C��! ��
܊����]R�����;��""a�	�V�)z��+�#	'�
Or�jΗ�n���-��$�i�����q��# ��&K�\�qC��&` ү�*�D�:���o'����]��@����^F�GU�5ZN�_2�?Dh!"�kmTm�s��U�
\�s��U���N�G�0Rߥ��%���
Է)��3���x�yɧt��ćp���T�S�ob�	Ȩ�����8�jl�Z�Q$�=��jZ
k���U��W�����ˏ
�Õ�{������))S�4 k���K;C��7�k�bЅU�]�X�TYA�z�h�^�+o�~���Zz��:^H��	��t����·
K#��
#+ [�/�T�.����*�W��I͏{e������
+�X��!�t:�
�aa�
+l�;h��ڰ�����@�ĝΙc/8v�#׭{��#�H����N�v �U��:���j�߷�(������(�wc��|~k_r��0�����9����l��nףͮ� "��ʹO� �\�I�^��Ag9YO�y��"*�ﰿS���0�<~8<?�:
-��
+�����ȡ݊
+P�z����`Ӝ����gW�ۛ��t2Y�B���Ɋm�Ü*F��`
�}��:j}o� ��0�����@������5�-�|Į�e�x�l���>��4T'�X`�	��X���0�����4j��ͭ�-�4�R��b
�B��d�E��ͭ
g��s��I-�u*�T��Ј�kӵU��
�fA�
A�A{
җ
�}cǚ${4���^J��
��!�q�
_
y-gy�'ʲ�#t`���R㐥�c��:�n�Ɯ��T�2i��^o��C>�;���]Ud����3>
+���lo����
W�ls����< ���]�}<ަh:A;Tj
l��I�B@;���K��ttxX+��W��$Yx�E�b
J��6�>�[C	��fm�9��yLgΰ{<t# �w��y|ͦi���'ހ�U*��*�����x#�\����8�����M�����2a�3��"1�s���n�
y����?-^�� ����� ����Sk�\�
m���s�7*-�oG:�%d߯rO�m&K��Hۇ�8p+�1�S��8[SNr�,3i���^�И>U�v�L�DU��셃PCuį�G#G	2��(�L �O#��߃`�_'�^�1�YLR)�4����t6�M2��^���Y�
�D�
+�Ԥ[
6�^)(���gB�����	^�,	H��lE:+�W�W� \��V�.
�<�Q�Q����r/����{x��*4[��� {�$�n��7�r/0P뿻�Æѕޯ���S_��3�6��g(3̥}

zi�	� �\-��$�GQ�1N�B��������n�giXH��A�ִ\a���^�b���>�]2�I�.T2�{��m�$MMicGAΔ&�B��v7���2�!� �jG���z��3�
+"��k��m�t ��D�{-L,��t���J���=A�FQ#%$��vO��2��,�\y�o,�o+�p�|e[!0��ǿ�@i%�`�ß��l*����S��o
!���H~pw�h��ݱu �0���8�31?���]�Y�3W��8�Nh�r�:��7M����x<��&�<)+�4��7��X;*��$l
C��U�p��u
?k
+endstream
 endobj
-531 0 obj <<
+510 0 obj <<
 /Type /Page
-/Contents 532 0 R
-/Resources 530 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 529 0 R
-/Annots [ 539 0 R ]
+/Contents 511 0 R
+/Resources 509 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 507 0 R
+/Annots [ 508 0 R ]
 >> endobj
-539 0 obj <<
+508 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-533 0 obj <<
-/D [531 0 R /XYZ 90 757.9346 null]
+512 0 obj <<
+/D [510 0 R /XYZ 90 757.935 null]
 >> endobj
-534 0 obj <<
-/D [531 0 R /XYZ 90 733.028 null]
+513 0 obj <<
+/D [510 0 R /XYZ 90 733.028 null]
 >> endobj
-535 0 obj <<
-/D [531 0 R /XYZ 292.5682 631.5706 null]
+514 0 obj <<
+/D [510 0 R /XYZ 292.568 631.571 null]
 >> endobj
-536 0 obj <<
-/D [531 0 R /XYZ 90 615.1611 null]
+515 0 obj <<
+/D [510 0 R /XYZ 90 615.161 null]
 >> endobj
-537 0 obj <<
-/D [531 0 R /XYZ 90 588.9093 null]
+516 0 obj <<
+/D [510 0 R /XYZ 90 588.909 null]
 >> endobj
-538 0 obj <<
-/D [531 0 R /XYZ 90 569.5556 null]
+517 0 obj <<
+/D [510 0 R /XYZ 90 569.556 null]
 >> endobj
-530 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+509 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-542 0 obj <<
-/Length 2865      
+521 0 obj <<
+/Length 2514      
 /Filter /FlateDecode
 >>
 stream
-x��]����}~��bW�5�@6O�ۏ���咙}���b0
S���>�ק����{�yHjj
-$��խ��lF��b:
eHb�Y����W��p���֗>�_��
�+9�I���=�
ň�ϞV��a�%��Ο6�b�%����%��_p9ϒv_/X4Ϛ�R0��Z����ݻ���=��i�����7:[��~��Dđ�
`@	�c>��\�Aq�x��.�
c�����$R�}
����T)�*t����R�Y��s9d�	F�@���𜮃:��B��P$�AЧ�4i�?U��L%��O18r�H(4A��
z��� Q�����e�H�x��O��f��VZ����n���r�/վ�&�]V'm^�
Q�D�� #�F9	�'<������K1M���F��T����b[�Ӷ��m�`^���ɶI��)�>����*3�H����u�� �
&�G;	�U{�b��І�8BU�Ԃ��LH,%3��\b^�dm`h�	_�o�4m�;$�B��"Hv�z ��[�	���Ҍ�!�<�^
-ηYR��+"m7I��2D��
�,aOZ02҂gnΖ��Dq8����6e
�m��B#o�+ԓIQ�UC�wU^�
N����j_�Nzgb���e��\����UM��G\�Vu�')�?V��\g�������֕��/�*�	�SB�vW�+�#o����Z�@0<��ƾm�t���=�g�+���,L��{��U1������aWgi� F
-w\'�l	LCҜS����k/������7�e����!�
�Q�@
�xC@���ŵ��}pY˱
�7�QG
u(����γlgg7vypn��΍��r�cWDz��I� F>@�w� �A�Uh�i�tt{
�)�v
�
�V)y
ܗ龮�q�y�o	>����
�C��zea�!x�� X�#L��`�ر��vG������1uJl���U
����&�&�Y�1
-bn�S
VOD��|,��H�H��b�&�X��
\b��NA�
-U�zTA�G�ixh�
=�#�S�i�	
�

f� ��/Yn��	���,���5Ǧ�,�������z����r[$D�1u�s:��}���a�,*%L���}����w'=��Ѐ�����]

-_�r���
;�qk�\��ۯp�ҦT�bQ�Da���������B#�gY���
ܻ��er��}�,&E��D
�!�v�z=2����r�LN@���f�L����f2E�3�i����T�f���ć$=	�%kYV��鉹�f�2��� ��uG��0��<>�D�Ӂ]-x��v���G7Y��O"��PbIT�5cU�DR��������(#�E�W��(uL��fRHD����lZEA��
��׾I@�,}�X��(�3̾xn!��D](,Q�/J�W1�Zi�
-�Ʌ��9���!L
]x�3Me]xx�•��a�\��E��\�ns���?q��ܞ���U=f1aR�o�
EI��a �8J%�T��T�
�b-S�5X��}�J��
�ˉ�+C��)z��K�K�d��LeW���w��`tNc_��K��Y���>�N�O��f�/,N
׻ʤp\ӊ��vz�:-�▍T�:3��;�~��Ώي\
H���_~% �`�����v��x@�ѭ�5�Ϻ�-0�@�@Myv��+=�	L�n�@��*	�'���m�;�+�������f�?��ӄ�LE)ﻜ��A�ŭT��zU��1��F׽5�ܦ�C�M��^�=��eS�G�w'q�g��^2[`�H�)k�Q&��SI3XJ���(CW�2
�apP4�� �P�o�sAbF
�gJ�X�ʾ�)�)��i��1��J^0>��Ę�
�ϗ����
���
�cFX�>	�{,�C��,��vB�L;�E��[�.��h��r�8`������/��

Q���3�FW�Nܳ(t����l�&���u6���� ��˒L�4L�Z��܁��Q`�Ȱ�b:!n�=��
Ԭ�6���5�NB�^�}�$� [...]
%Ё�k"u0�5O�hܹ��!d}&5�D2���?ڋ}����%/nPA��c��;���r�Y]���u�����j=H��V��el�it�`<�)�8��`.DZ�� �� ����
-���կ��m�f�XY�˔|�N!{�e��6
����J6oуmb�L�݆�7�M�8�}ў����(��\\6.B�^|�.���Ё}���ĕ��)�h"�b�Ԑ_��`�hv5���]���D�G���0�ďFS���3�.��%D��^��JQ܊����?>��h%笟^�F{P�b��

yYX�`�a��،���X�ΖQm��X�v�
��'�Z*�s�+Z}��Rj
u]����Tz@�F{D��tE��}�(�I%��P�MU 
*$�j�%�N{��$�>�]=ƨ�ث5����9�$�t5u�����
80���"�V�sU��(&	�ŵ���`S:���+�$ݓV
�^P+�n�&���s��=�<�3H��@k�:��A���^�^v`�}��lfe�(N΅�����v~S+�ɸ�
����(��Q{(�$D?�6���>
$�����
�
�����͈��]C�
;���������������X�g����?�{z�8�r�P�^|~}���b�dA�����j��J�Rb�
8�PD��v����v��6��ڜ�8n�Um�?�/uR[����?-t���:�ܻo�Z:���M�օ�R��t��$�,���А�}���3����݆�����3���M���<<
�6d_滚���nW<
�%"Ih�S����ғ��	c���}i=e�y�K7��g�S21v�
-��endstream
+x��ZKs�6��W�R� 	��S6��&�l�9ͤ\Y�P$��Q��~h�)Y��LmU.�ٍ~��n�t�4��w7��{+�YJR���a3K�,�D��
ֳ�sF�b�(��Z,yD�?˼�����Jv}�`�\��e��D�����o�<����:c�n�8�f�����t���g�i2ۛU�Y������P{F�5��YOH�Y�BE���ydػ} `�mJH(�0�e���cQ��'Q�cz�M����m��#�!I>���w���X���%
H�
+���
-l�e�wv�\c��a��U#��*[2�
B�
X�$�V�d��e&�vwM�uU�m��j�_��V�d���޽�E�T8���6M���,*,�� ��(��R�@;b�U�R
�@�(I#�N_�0�W+�h����J�}K���3d_�e���	Ⱥn!��g�3�FJN�����>�}g�x�S���'��me�Z
+)f�
�r�t=�3���l�iL����<���=ʐ`Ἣ�7д;s��,
+;kX�t]�e�⠱�?�V}�)
���nqx��t�]Rw�m�Uq�5��Q`����}�S'<��Z
:�#�d T�J��s�V8�
+�`�.���̻�]
Jة�xt�y���m�mq����u�gβ0�I� �5U1Y�1\�;:��nT��H����VKpSKN�T��3t�g�a�p�_-�!����[t���`򨆐'y�sy���Xg��Ԥ�>���
F�J�vtk�'熑�ܸ//';�8��.�.0���� 
��k��`�2�`x"�9?� r;�j�����2��(�ZLݒ���
�� &��fm� &xx`l� 
��	}��[��@K�*G��`��,��
y�ݭ�W�3�������V�
��GD�i� �
�5A�'x��/"�}h�A�V� �%�& �:��;l����qm��J6�����S�t�x'���#�<5�*5�q�ZJD;	uQ�s:� �|���Yp=���S�/�g�oU⪣R��=�a��\�
xSa7�u]5�96�1�L��*mJ�
 �3d
+�w�_�Tb�J��8!|˪�P�w�֥
.�0�Y�(�|�
wt�L��jxl�-�
���5n�u��Ki�&�#����J�Q<m��l�w,�bĘG$���p_�n�׏G.��4""�RNFID���
�eD��EҡO ��j
QD L]�
 ��$i�b�K�U��)9�����J��P��s
��v&q�� ��b�r$RH�m��
�#��������8E�x��¢O|�>�G�8�1ko��xr��%�1����V﬚s#%,���!(I<��9�%�����bդu��Ӂ�1�XUiҡ��s9�
���1�n�N��Z�Heg�pa0�R�0.��oL2��4���OK����n��Ҵ�F����$�nOܪsN4��Fq�
���k@���F#�%�H$��7jȣ.;��}��2��$��e�#LI��AL8,��'�	l;�/����ʟ�
+�_2*��l|���
+,,"1
=5J+��/�#����h�Y�Zp4�5�Z
F
��3����??��!��^)��(M��a	d�rg�d;�ʪ�Q-� k]�10  MSbp�_y@��>Q�{��1��1F�a��5���+�3F
�K�ӷ=�Edz
�
��X"HN�
+�;�
K��;
����bf�8��.��*���Ű������Tvtk^�9�)�ᕑ��
K�-
+]J�b�K����=g��67u�����Ҕ��<U�w�Ɔ_VC�x���PX��͸�9�n at 5cy��p�<��SB �ѳ�RD���
+�*u�y;k
�U�t
�{p5���$��"kWL�H�Ą'�a�����kr�Wg���@*%q�-��|8�����R�l�tL4��$g�P��̏�������Lt,�t�T3��l&+��yN���|�ᘳvI���8s�/��
�~��#��[Ǘ�HK��Ew�ʑ���Z��v$)CzJ�$�	ll�/ʕ��^b�M���r�cD�K���\���!�W��.#1GN���.�r<�����K�'�
&���r�2��Ѽ�k�m�
Fl"�孎n���›˷ΰ!�w�g�G�⢩S�5���2���	'�~g%
p�pZ�t���*4!�/��?���z�7/�{R� �7��P�����߾6*

+��BE½����A&%�w�ո�&�'����v�J�
��NT/��=a.	4��EM��V�����Yp�al�<�(��(����ț�,�Ӊ
f%��
�����i��zuƥ�@P

������/?������_��!u��������_ )"G��78���DuHr�
����_��h�RE��.���	��ـ�kU
�j���O�����fZ��m��:�e�~Z�Rb�Ѵ�S%��
�
`��0��%(�3��^���;�m��~uw���I֒�����]]w�Q�H��JyGd�����V�㐩�
+�f
+endstream
 endobj
-541 0 obj <<
+520 0 obj <<
 /Type /Page
-/Contents 542 0 R
-/Resources 540 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 529 0 R
-/Annots [ 547 0 R ]
+/Contents 521 0 R
+/Resources 519 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 507 0 R
+/Annots [ 518 0 R ]
 >> endobj
-547 0 obj <<
+518 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-543 0 obj <<
-/D [541 0 R /XYZ 90 757.9346 null]
+522 0 obj <<
+/D [520 0 R /XYZ 90 757.935 null]
 >> endobj
-544 0 obj <<
-/D [541 0 R /XYZ 90 703.078 null]
+523 0 obj <<
+/D [520 0 R /XYZ 90 703.078 null]
 >> endobj
-545 0 obj <<
-/D [541 0 R /XYZ 90 599.5687 null]
+524 0 obj <<
+/D [520 0 R /XYZ 90 599.569 null]
 >> endobj
-546 0 obj <<
-/D [541 0 R /XYZ 90 555.8352 null]
+525 0 obj <<
+/D [520 0 R /XYZ 90 555.835 null]
 >> endobj
-540 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F74 478 0 R /F25 344 0 R >>
+519 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-550 0 obj <<
-/Length 4116      
+533 0 obj <<
+/Length 3757      
 /Filter /FlateDecode
 >>
 stream
-xڵ;ms����+��<� ����=�&���4�f:�D�l$R!���_�]�P 	K�\nnn�]�b�	��l�ӅQ��B��zwAw0����+X_� �\_��B�ENr�����bЌ(���z��~�b��������\���ˏ/�Z���%˖��jW�US�R.�^�˟�����z �w��fH���
���
JD���<P��/v��𰽸��ۀ�-�R�)&Rܙ�;&4ɸ�
��Z	�����W�^���z}�����?���U�3d����8�����GdDF�(� ����٫���
-�O`̀1ʥ��7	�L����ü���W�^y���Y�(�\	ɖ��U'��ٗm�7->�e��7�.jD�X���l�b��J1��/~�dtY�L/
��o����E-�绲������W-�ο��
-�Aw�]Y�ae�m������e��:]�KGPI�Ҟ۫�?�����O
�Ds�	[��\	mHf`΋�?W��,�=������7�M�7e�P��{�
� 
>���׊eؕ���u�#~�j1��Ϩ ]8��e�ݍz��.���Ӈk����K'��
-��U�?~SݴE�x���
-侼E&q��o:�c]te��e�gQ]�D
-o�u�
۲;l��b]7~|�5���/7
_��Wu��A�}���E)/��!o�A#���Z����T,�ծ�;�A��D�
-/.#G�"'���(�Ka��J\���A�BCnnݛ�(`��X�ܥΗ_�5CX9�
>}�YU~�+
09g�pƔ�j,�ɂO
G)�S8���b����웮�n�����j�qupE]�,G
-pHӕ}S�}7�Y�	1��`�K�at�
Tdb � S���*%�
�e�
E�nꮯz��L�'be)8W��ؑ�2�|����ے
-�
B���o�`�Xb0�ꎃ}� �_���Tm��� �}����q����
-�HI�ܦy�#u�Wg�ڥB$�D�<�)�GN��Pf�X������Î7�6hq�8���
)?>:�v�m�˖?�W[�i��K�����#v�
�@O��>�n<�����m��R���H��eS��48>�q��/8+Ql��Ԯ������G���
-�����f] �p_���$B�H
=���Z7�ӊhvu�;�7c:���1[Ni�5�
 X%�5*�N��7����v(�W�l���E
�~؂^�B�E�L
��6ۭ;����/:)
�}��Z��K�!�X��X��:�G�fv%D�M�:5k!G��ft��8U���g�W�`
�/���Ԧ�E>n!��k+
!��M"Zp�=�����l�w3
�[��&�����~���p?㍸9'
7����ZN5vN
-Fv���
�_��8.�c[��:��p�F�h�SMh�H���S@{*��}���S�����X�nȑ��_�)dɿ�̺9@`���Q���Z����֧
e췢-z��O
����+�Q�v��ʾo-�`4<V||8te��73��1��|��K�f 
�Nnv�,�#����߸�y��I�V�M�[���3Р�U��{�_0c�3
(��d�K�I��I�p(�y~�e�[��Kp�C�z6�}��kTH��Dk�j
����4�m6kl �
�p`�z*@�$ծLr��-�w��z��QR��V~���0��/�-(��d����Ր�ʋ��
ĉ�1`�\�(.R���B�=
�K�]�RN�e�ZH�ae&]��K흇y���*~������E&����E��O�mCd���6&͆�
���i0"�q"�gs�ϑ��\q�9�f<K&!a��~�� u��
[�g�r�4}6��Y�S����?d	�'Fi~�� u��
�c|��)u#��������1�k%�:�j�����FvZ
��sl��|t�_�,�

-2i��&�;뿃�7�����ꠜz��u�9�s箋����{�.3���4��t

-���R���`�JK�JK�di�~�_Z
-_Z��������Kj�*E��/�6�h
8�b�r�f�ZJ�T�/֞W����9u�N�͐�KiqúՇ�
�	�p�d\��2���t�	�i��g|6@ �
���8�
B�
&��f��Cm�0ז�0��n���؂���M��m
�����p+>8[H�sC���;N=6n2��gD�l�{�
P�D�+ �q�_�T53�"��
A
7TPG̕F
-%QhU�Ƕ��G��6
�
-(

\6�>�u��)d,t��f
��K�1�gx�kub3�B�bhP��	�Vf0<���E� �"
m��/��c��ׄmK�q���U��2������xmJ�M*t�'=�~A��a�+�!��Z���%�p�N�t&��n��]m��v1rN�4��$��<&g�3 �9(�,��S�K�12sZ�i}�:��l��t���0���	Z�+�2��f�uM8����4����A�G��Hw%�zR�J�Q[�'\��lP���U?��԰k��8Q�B�D�
-���S4D<3D ��s*��I9�Р�ɨ̸���е�(��I
��ܤ��В#^8�Ҵ�]��
�R&2
�G���V���>�]�
�s
�/��/�z~�[�
�
*�;�Ӗ��X�|l�#�� �c���Aq/g�}��"0׎E�*�$:�'��e�oK�q�s
�{�a��6|�4 ��4�/wS��5��~ N����:��C�]�T
�Q�D�}%����a�*l�(��݀���,0q�\�ޢpΪ
'e<N�:C\�mƖ�R�
���~[�C�@���4.�Hן�}�f�5���EY����<�	�U�Uwr�'?�~m���7]؝�G��L
���s��y�t ¨
�y�}'��e01v�N��b�_ȹ�����/-
U�K�`��%E�Y~��0e���$1l���c�6Gኛ`��%��:��?
�w"��0�D��>�����
-(���ߓ
.ڃ��&M6_z�ȕ^����#
-D����g�[b�b�
�
�
�=$�>{�fH�構_ �f
(פ�w��yr�6[��Xq0�̵����Ye�p����
'�ޒ�,�(�R0J�ӵO�
-#l���87|H����y�FE�˄��7��
Zd���X�cai������r�C�{�:1�
-m��K
����$t6��fGh3γ���������ω�:��o��ޥj
���?`w.���T"@����?�̑������\S�q��6&��v�~r�Y��e����o�.Q�d%��ˈ��&�R�e'��O�z.R�ۤ[֒����s8	�G�F�?���L�?	b
-�z��߉�3�x�L!P���d���x�#�x>
-DwO��BO�e��/��=�p���[[t�$��=d6��ۢ�u��*��+۳~F#?
-`�uF�蓕���_
�j��K��p��\W
wwߧ�ͅ�^
<���Q�
-�l�?�}q�u/�\U�뙉ܚ�#�'�\��;):�*G-$t�j�zM����L��:��"�j��b'���M�MF
F4��p�[�/҅c<j��?�V�BL3h6.�e��k�I�;�0�樧��qo�ϩm��
�����
�]�˘�4ǶU]���ޕl���S�,E
ݖ�[����Pn�u�oӟC�U�B��� i0��HC2�K��R��f�
LX`�奔؈�_[ՠJ�<����>Ĵ @��t�� u�.~�3#�E�2b���n���	�����z������7 �mM�(V�P.�;����@�衡|�h��ud��<a�"�rl�_�Y3�cJ8T�
����҆ v^NQ���4�Ab�E��e?�V�-��m�ЭK����(�o�4�j�1���{j�����F�Ag�:|�������)��ɞ>������P�����O
>"��7����N��=q�̙��+��6"g���v$�.*�|H$�
��J��_�Y��������F���ݧ
��>
��9�S��ﻲ=^<��=�!�=������n��[��?�
W��pB
D둀��ϋ0�ˑ��U�F����58�k�߿|���ၬ;r��}K���~�}1�����8�� 4��H�q�ə
��6t���Og�mΙ
-�L&��?qG
�endstream
+xڽks�6���U�V
�3}&�i.v�w�v:�DۼR�JRq|��v� 	R�l'�}��
���/�|����'��j��,����r��E
��X�o?/��+�9_�������Jj���T��nמ�tټ+�y_65�ʢ(^&���{����'V�
a��%J/�ۓ��
���Le���@m�T�[-�N�~�';����Y*�E"���l�����/Ͽ��o/_�����/��~�ß��<�Fs��L�Z��Ob��fB��/�~���ٷ? �#8S��K�M^oXÈ\
���/_=?�R+����t�"�<�.;�t̗ͮh�i�I,�kh~�׈l���`�\��`������O_�,��9�����ش(C|�*j����z�w�+
��_�Eݻ7�E�ok
�_n�"M9d���:vĞ���ُ�}L��b�
�{=D�Rq��$������L3����{R���t4�(��������q����_Ö	`Wl�/���ݫ�T��
�@�1�&���C�8�E�T��sܐ����Sn��}�a�+/ڼ�=�5X�J�dy�4����,�u�

o���΢��o�+���==�E��z�a]7v|�5�ݾ/6_�_��[тt�b]�¹,��!m��CE���-h W˪ܖ}4(1,�ѫܲ
,����ȩ�
9~����~�
��Q�g�n�{NO/�K�	xl�Gb
�zg�o�Bx3�
>=��s�J;�9X
Y>Ș���#��X��.�����D�d�4Ha.��]�u�EuKO]ߖk��ۃ�
+�d�W ��욲�a��K��'�Y%�aoD�8�D��0��ؿ������8��F��M��eoe�ow��ᣒ��̅"�)_�j@$�q���	L�~�

6�Y
FF�q�k\�m�����-��%�u״��o�׊+��yY4�馹�=E�/�
�E��N����d��xq͸H���B�j�
3�_��M��F�8I�/�h=>K;t�&̥˟����n�m@.rx1��G����g��o��
�eTu|�l�m�g�����l�����w
	��c��yuմ���}6�
�,<�\oJ�Kx��L� 7����&Xrk��v�uӒNx���}�����غ�խ!Y �jEv��g8*�h�EaM
(�I&��.���-h���}�/	��]6UE�*�+�!�HA�����,PUO�����Ue�
}5GG3�Bͦ���,��8t|H&�ės�A�a��
+��@�b
,Lm�K���X�6�P�	
?5тO�AM�lM�e�9�(~z��K,$��w���6���Fh�xAcC�>,G�
��E���~�
��5��	
�b�	l��s&$y;�h��	���)�=�h�\�1�`����ޖ
%�8�
�B��w�ͬ�=�$3I��!�x�$&�>�(S��m����A;3k9��l�
�4ߛ��3�+>>컢����ĉɇ]2���T��i�i�a�D���:|�h��\��M0�j��(�n
nH%W��ݻ��[�I���I/�g��f�_�P��5��;B��
�ޙ�ڽ�D�M�K����j5L��
�I�l��� f=��l��\є��E<����9b��֭jV�d?-��Mka6E���Z�F^�`B�WCJ>�.
&���r=D#�6�B��	�����T���O��o�lu�����g��o���ˋ_-���>��7�߳��_��)
}4�u��P�e���bNTII�;�A/����PI��5�}�]��
S�b��u��t�j5P���Wu:MM�.y
+BWVP�u�Ak͒X}p��(S�
���_N@�>�!L�k{�6%��0��
��5U�@S��זT���K
+
S�`�)z�$z0���T#�H�e&�Sf�BQ96� ��z�����`�ݸ'��@�.�A��,�fM��Es5ďDP�-a`
+$�p�&1����zU�su
+��/q#�
H����	<�
�Ɔ&��!e�">gD� ��B�ʱ ~��eC1�Y�g��)rH�5&R
2?��� �om1"��T���T��x(yh)$�|
+'˧��O�~>��:��Y�FcY�y`'�tj,�`���*��	�'Z4�j`�ۀYG,��Dre�qe�/8��Ha�&,똆� r�"5tAWh+J	��C�l�PENSH�	,5�M��֦#g^zn���	�u��,�1c&�m�ghef�	y0
Ȣ��(cúř���[H��ػ�0Y�
�7�I}����c&e2S��؎dž��F�4�pa%
�o`x����d�� X&
�����bؐ��)Q�\�Dur�0��1ĸD��Ǵ{Ǹc'�8�M���0,d�P�2�3�g���؄:D`�cx��;�,dY^���U�R��Q��u�9�[S�"
+W��w��c��W����m�a�G��	踑�0Vs#�(]ʒT�q�PY �=^	K��=(j5�����A�P�P4S
Fu�
���sG4	x�l�ʇ�F0��%G��|�Әs#K&ܠsmu��WT<�D�^7����ab�Q��֜pΨ
+g
+N]���
�Ѱ�ʕrW�kי t�
���J/�}
+J��L�;ccF>���nP�-�

�'�S�6�������r��
��v�H0�y�:���۝Es��#$���C-�\�R��=�ST�a'>Kl�����
V���F��9K�<	�D䐠
b�%���&x�!>�	�r���=Y2�̧�:@
���>�����
�O�t,f��,g��`i*�Y��Y0�"+��nLGk ��t<����	���dV�=��@�7���d�H�EY���R��-NrdTuܲ4
݀�3�#��$@	&E6���d�X�>
&� �cdA��=5�4m� SL�d�݄�D�ǣzP���pcE �����X;�J"���|P������,���z����d�Q,-1��
�w��Z�5��`�/��84���67A�����#l����~��
J$5w�B���#�Y<�&,
n�L׊ͽ��,&�X�=
[�
��<���C���_���Rf�>d�35�X�p���`.�
8��OOޓ��J��
�����‹_�}�:Xj�a���u|��J�N��AD��Q2�ރ���\�׹{�ȯ"� ���y=6����/M1a3��;H[���>hͿȫ˕i=w�_����&�93;Z��$�� W2�u�{�ر`��b6S��
I��@���o/����Go�x�
�0��S m,
�8�b�`��cⳬq�B�k
i��g�:p�'�N3�x��|��h�`�l���)�#O�%�^�c%SyG<R�<?�Z>�f�Ŭm���g�
H�Y���ж�NǨ��
�p�=�@JM �
+���
W��{]m^�}�瀙����X
����U߅�5����l�8:P��LRgt�[	K�#�;)(�4W��;L��$IzǞ+�9]�@�h.������q��{�"����Ӣ�!1-@{�����1��2��RM\�Qs�I�
+[��M|�a�1ܥ�r� 
�eE&�G�)&���]�0�%vm
���s}���(u�l��ԫ�R
��?P$JKߣ<R$�>Bl����d��8�e�|mvE�'q���L��y��q���y�������|F���#NY&҇�[��w�,�BgL�Ȼ�NW{�
��q����ߍW���Ǯh�;Px��޻f6�)-k��j
gx\�k
�ܕSH
φ�-D��
7���ם���#���~��ɓ����ؾ.w-+�'�]�d»�����t��D�5��9�� @_��
+endstream
 endobj
-549 0 obj <<
+532 0 obj <<
 /Type /Page
-/Contents 550 0 R
-/Resources 548 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 529 0 R
-/Annots [ 553 0 R 554 0 R 555 0 R 556 0 R 576 0 R ]
+/Contents 533 0 R
+/Resources 531 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 507 0 R
+/Annots [ 526 0 R 527 0 R 528 0 R 529 0 R 530 0 R ]
 >> endobj
-553 0 obj <<
+526 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.3533 436.0252 378.495 446.3712]
+/Rect [328.353 436.025 378.495 446.371]
 /Subtype /Link
 /A << /S /GoTo /D (main_BRZH02b) >>
 >> endobj
-554 0 obj <<
+527 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.4838 436.0252 415.5758 446.3712]
+/Rect [381.484 436.025 415.576 446.371]
 /Subtype /Link
 /A << /S /GoTo /D (main_Fuk98) >>
 >> endobj
-555 0 obj <<
+528 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.5646 436.0252 453.7524 446.3712]
+/Rect [418.565 436.025 453.752 446.371]
 /Subtype /Link
 /A << /S /GoTo /D (main_NW88) >>
 >> endobj
-556 0 obj <<
+529 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.6179 436.0252 506.7533 446.3712]
+/Rect [473.618 436.025 506.753 446.371]
 /Subtype /Link
 /A << /S /GoTo /D (main_Wil93) >>
 >> endobj
-576 0 obj <<
+530 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-551 0 obj <<
-/D [549 0 R /XYZ 90 757.9346 null]
+534 0 obj <<
+/D [532 0 R /XYZ 90 757.935 null]
 >> endobj
-552 0 obj <<
-/D [549 0 R /XYZ 90 687.0355 null]
+535 0 obj <<
+/D [532 0 R /XYZ 90 687.036 null]
 >> endobj
 14 0 obj <<
-/D [549 0 R /XYZ 90 682.4279 null]
+/D [532 0 R /XYZ 90 682.428 null]
 >> endobj
-491 0 obj <<
-/D [549 0 R /XYZ 267.9203 509.1118 null]
+474 0 obj <<
+/D [532 0 R /XYZ 267.92 509.112 null]
 >> endobj
 18 0 obj <<
-/D [549 0 R /XYZ 90 492.3847 null]
+/D [532 0 R /XYZ 90 492.385 null]
 >> endobj
-557 0 obj <<
-/D [549 0 R /XYZ 508.2477 438.6204 null]
+536 0 obj <<
+/D [532 0 R /XYZ 508.248 438.62 null]
 >> endobj
-558 0 obj <<
-/D [549 0 R /XYZ 90 422.4511 null]
+537 0 obj <<
+/D [532 0 R /XYZ 90 422.451 null]
 >> endobj
-574 0 obj <<
-/D [549 0 R /XYZ 506.2584 236.432 null]
+543 0 obj <<
+/D [532 0 R /XYZ 506.258 236.432 null]
 >> endobj
-575 0 obj <<
-/D [549 0 R /XYZ 90 219.3711 null]
+544 0 obj <<
+/D [532 0 R /XYZ 90 219.371 null]
 >> endobj
-548 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R /F33 481 0 R /F10 484 0 R /F11 411 0 R /F6 561 0 R /F25 344 0 R /F8 523 0 R /F80 564 0 R /F7 526 0 R /F13 567 0 R /F77 570 0 R /F1 573 0 R >>
+531 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F6 538 0 R /F23 340 0 R /F8 504 0 R /F78 539 0 R /F7 505 0 R /F13 540 0 R /F75 541 0 R /F1 542 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-583 0 obj <<
-/Length 3942      
+553 0 obj <<
+/Length 3703      
 /Filter /FlateDecode
 >>
 stream
-x��[Ks�6���W�Tl�G;�m�����8��v�a<����"kH��������BI�[�	
��@"3�����Ǯ
�6�'��^���=4����+�_-	��t��Z];�4�ן��������kň�Y1Ji�C�n�����zj�n�YqE��.�~�w7�V��0Z5�C��7
�O�f��I�*{�O���O3_�m%4C��~�׿��
���+J����^(a���ݕ�"�l��r�?�8��PZ�b��|�O���Z	����������z�'S5��!�=ܨ�i�
�m�5����Ka2��q���8�C �tA"�5RF�:0� �DP��*
 ���F��&4QZ�H���~-���_8`�(�Y��
��`
-A��
ҹm��6�O��ل�zL��m75�جѤB���%��FՇ������n�������ޭ�}�nƂ0VLQ��k`�8��?[3f�̊[
K᪤C�~V��dgu�)���
mdF
L�T4쟲�����f�0j�3"�������J�y|܎h4JW]��J���M���t�8J
���Ϸ�#��oc�-��ᑂ�`�6
�	�,�[����Qh�j�cJ6{f�%af����X�����`�TK��v���A
M
��꨼�0����	�^	)�30O���g�DmICP�FT���#H��CkWM�PI����$����qz^1ԝێ~�H��	N��&0
C�DO܄�LJ~ۄ~p� ���GlA�B,U�
�ൢ���g�E
$�2��T]A�P�$H�Hs{aK&����ŽF
.������L
�h�i��{arFc�l4� �NVZ z�8�J��@k�R^B���K"�
��_���ed�/`�Ʀ����J´�_��dΈ��J�(�	΢R�q� �q=F�H/��|��k�'���n�B��H�9ʭAY}m�(�����Ӗ(ɓ��f)��a&�|�ݷ�
\C at h[@�1՝����~�����.����黴J�
-X.�j�[o��Z�p��J.���Jɂ
�
W5�q?�����1�I�

N�ю�״�q���aw�bA�"��M�<��F���'Q�ˢ�4`U�"����oG�Ԧ��
~!~8�y�i�K�ҝ;_
 a��|AǶ�aѧX�^����:W���~]�QN�
-T[	��O	5c�,��n�C�)�_�OH؅�x3�C^�
�f��6�Kp�e���̽i0��fO
A��E�M�	x��A���e[RӼ��[L*��ɀ���Q��2�+���+HA��3xT�
��q&��ٱKPN�Lq�
�@}���2`S�5�~^/�|qx�	��.�Z!5��l0ٸ�.!�R�Etf ��i�<>s9���a��&Z�3�op�N�v*�6h8m��;I����q��,S�(�f�ʡH��
Fδ�o�	�u!�;�eF���2.;H	�<�д�ˎ�"^�eHw��J�
1��W_���u�&�)pN����@��>yK��c�/=^�/��oK�����ߊ��2B�wf���>�Q�p�
mw�o<�C��WT�O�?�W$%	L綇1�S ��/[z\���q!q�\Ij��%D�9���&�S�5nX��~��HʳM]ͻh���T'y
��
Q
�(�
h��Gq��W�j܁�7���RE�]H�������6;ȥ���7
����CI̐�I��k}�so,�
��a&��R8�;��JP
��� ��	��n��|ɦ�4TZ����u��
�0����BX"��2��k�
�M�\�J���"(J,�2
��2���Z�364�n|W�9`;GU~Y|�`y�ы�
�
�Z��洙�i�����`��.$
���u�����J	15OL��<�{�d`y�d!�g��y��X"Z-��Ǭ#���$8.g����>���('��N;S��{�]`73P�L�6��14TB�����ߏ�4�a�i��&=�� �a<��
-͈���S����P@����Bs
_U�~W�]	�5$��\�[�i�T�/��i����#;����FV?v���Ww)��]�E1�߶k_�5��v�`��X
BYMU�zӠ�
�?6�u! |�
�`��o��~i7��&A��C��
�z��P������!�����e>���h
��A����!��oʰ3���S��z<"���@�s(
�Keqg�;��v��AZ?��:�D���e��
O�����}=����5$r��඙
�&�рa3�Lj��6�oe@��-�3�iNw7�X&��b~���Ʈ�>�����3�j���>?�g7�bn"�>�B�����պ��A8���N��Jm�=���f��=-�ؙ���m��V��Ƃ�����&�
�2
P<�)�{n
��P �i���]��z
�ҁ�]?4�
���!r>l����{W�9A�U�-���|�羝Ē�5ܕ��
P�Dqt|Ke������]
��`���u
������ [...]
��
RW�T����T@ʃ~�ٸnV�_c�4�8���������Z锊�0�
�a�p
�@$Ҷ�eP��5��
@�����;Y��5&4�Żh�

WD�	��.~.���"�gg<����N���]�|���>�|^�6Xa,�j�� 仹�� ����1�g~�}%��k.3.n�e�	;�
mОX<+^6�����?���!�%J �/v���8��@��3��^4��.W3�"�X��!
(֮`o�gG�3�JD
�o��6I(d�oo�E/���Ym
^ñ<�k	�;�^<��~!b�-.[�DZ�����H2�c9��[������'
��#̼ӵ�8ڪ����0��8�
"�9W�8����f���1g�F���6��N�bY��җU�5,Uk�����M�|���e�ɧ�:��Dl��s֘���
1
T���N	��ǰ��� ��z=='m��Җ#�Kb??T��[#�cTj
��ww�@�"��e@���g����(���L}�-Q [...]
-g�D3!V
����D��N�b��?��ӓ�Ї����� C	���x.?
��D���<�����RPt\�ץ���`���˕x�Vt�K
�
-�
���lL�k�wQ��`�K���5�_��l����m(�����(��.���c���R��?4!�
����L��	���:�q�
&��0�{�
v�������no�z�����
�r��k��?��!
�b�@r8
����)��
Dk`*P������_�"|�`��"��-�{6��/�i�x����Gr���@���~�}ʗ��Di�s�[�Dg�d�V��x�KqN���Hw��v���[�� m��Jendstream
+x��[K���ϯ�-Re�ś�6�]W첓�6��r�}�H�
��Iʳ���ƃ$(h4�]�}����n|�5����]|y�����Z,2�i�����.͈�lq�]��dD�֌R���8�+�.�����/��[������~~��+I���]�mݻ��+�mU"aj��~�����7��0�]03�JH"�b����'��B��
JD�.
��~!���j���n�t	���Z�%|��
�����=��e�ov�n�R�ӡhU^8��_�BU$�4�e:�Y�$���&�
�V����&�*/�Y�I$O����,4Qz�CiҠ]K��_G��(Ql���Jj�!���&��z�
+��m�#��.��:�F]{Y�E��
�d�b*�?�g4�vS5��������ߊ���~�
�M�E��f��(0�)�g�̚�),���
"�� �	�zsGM��L;P����^�#�J~b��\Fӧt 	O�n�j-�A�T
������e��^~��d��+��
+2J2�gJK�l�$*�4�%^�Ff
��3/�c

�����
�FL}`"z+��Ɣ
��m�f�2s�D��L'˗��1ہ�g���4�Z���x��o��ᄝ,�B
+��)���#U�$A�&b�W�
B����e�
���
C� E����!Nٖgtuo�U������al���]�

;[=����k�¶CH5l���d��Sm�,#rt�o�A(�ԓ�HB#~��TG��e��Q
+F6��L���P��a!j������LP)��}�
b�LG�1�Xk(����0��g\���ŚK"df��5
J������=&�n���!t�Ȋ9#�Y/YD]�<���
0E���� /�w �h]@<��N�b�Xvj+PU�m���l%ղ�M��(9�X�'��mؠ�o�����넨DM�1I��f�ivMۻ�
_�{��ڭ���*�ɢ���w��;72�C�'F�,�*���d��d�7��C
*7:Ա
�ǡ0g=�c=�:�YRS������;�A�ys(��]���S�<�HY@�|�DI)�h��@k"�R�9�s���CT�ϣn:E��h�4Z1���U6��l���`��&�/.�g@�Z 0�z�D�	����l�n(
&�
+��s@� :`���L����Ͷ�2y�E0�@~���
���`hMh�{��쉱�
n"D��V��
+�X]s5�q�.øR�ƅf��3(*qm򙝼|Rq�&BVo��ӑ[
H
�gH
uב����C�z:���N�TL�9�FL�����k׽롉]�e�̳�
+0s���
]��W��pdA
��u&-Zg�m4���54�M������r at k([A5�b2���l�d�q��'�s�3�7dF���X�����q@���
+ C�˲� �ޘG%���8�8�9�3Pz�$��%0
�' ��c`����P�SF(D� ���3
F	��mі�~�>�P�byw��N��[H`�V
;�CA�-*s�hIzy>�*�B��1��O�*�3�>t`&�1B{���N��3ͭ�4�������n
+�]�л�f�Bv� �Z��mE�����E��ov��S��ˇ�����=�͝�f�
|�5�.�c��d*�I
���I���u@�4���-���r�uT;���G
^0}Q9�K����Om_:
���
J��օ���/��4>�C$�#9���Bbd
B&�3'�g��m}EIJ=Is��jDɦ-���*�v߽�mp��TҢ�Dȃ�%6&����)�C��ɱ��,��D/8jJ��g�R|�*�vǻ��J	�y`Q�frWh���g~>$Dޕ�

�W8�f�
+�
�J<�JA|tLA�����5�j/!B��T.]>���9��ry쎰�N�1��?�H��
@��mMm�{�����e
CJ
�㕙��I��D�ơM���
�0M&r�}
��ٶ��1
��;����ʍ9�L`9e׃�;�
��J-����0�2\{W�ډv�+�/,���������*�u��%����{_B�#����ȏ�``����ôh�@������s�)B	
�I���0v�
��$Gl�=@��L<K]聆r�1د
�p=�u����n�t�ں�8���1��$��P/wE�X�
��;��
0��a��Xg���	y�jL>��p��o�w���7����*�N�
+���c�Ǽ��4��������s��W��ozʪ�]�O�1���a����xZ�F<I>����̒���
v��vZ��-|�z突�
��CX��Ysg���]
+7>��I�q�az�]�_�c�
}�،�g��>����qx0�]5BF1$Λ�����c�7����G{�܏̶J�g at Z���A����
[+e�a�
h���%wFB��l�az�p�%x�#��x����Fkٝ���&���d���n�
���;v���+tf˷����$����ڭ�`��;�u`6�p�!��s$Ӑ�$a��@`��'�������L��K���e��ܶmz���]Q��6G���f?K�!F�E>���fsl�
n:�Z�k(�	0+{
%�k(���ms
g���'��7��`�
��H��cLz���O�ly�<
c�sɌ��c��HƐ:L������!�#B�^2s��ly|<�	���c�t~O����`�!����{:�Nu�
�C!����>F����<�3H�X`��Rqv��O)j�-��^q$D�I֣\�
+?#b<j����KI
���z��]|��g�å2שA��;㘐�e�
F߇��^�
O��ȫϝ�GV���d�?G'�A�<z�x����tH��ㇵ`�q?�|~~
+>!�ga? �Y:�
Y�ˍW���G�?>��1dt�[����c(yv�8�0m��,��%e����]B�$
+�"�jo\����pm����
Q�r9�V�p�L�B �G�L`W0v����n1"�`�)�t!T&���ʫo"l0�<8����z
+��>��˨N��h�1�
^�>����\S�KA��}����YTg+�xk�H�0��z\oQ��M���6j�

�9
���@�"�-틾-7�^��&
�
t�n���ne�,��u+�C
�|rܰ��XTH,����
+6
U0G
O��5WWX�#�~�c:ei\��LsY���_ؾ/
�w
U ����b��e
5ڴ�^��ٟ��I=:�:Fo~w��<s
ߚ�?�:7��R��Q����5 at C��x�k,�
����l�H1���0g����[��h����W
��O�S�4�d
B��WM\//<i��S$�x	;�
O���T�3��=�Ϯ� ;_�}��m�g���!.i�vx��b{{����:;�tO ݅/�~r�
�u��J"%����x8� �{��y��H(�s ��uӏ�X�+�r�p��ѧ�@_
��4���`�4���t4l[�G�^��8������a���-�!���t�Y�XO�~�
%zs�;DZ'n��iC_cB�U��=��"ݝ������+��5��Eֆ�t�?`i�-:�����+ˋ�g��p>�>��c�����i'��
�
�
+��5x�=
���eFF���1��Sf�4t�������;����=�x���Wy���ﻢ��J�����룿D�e��
/�($8��b������d���-|�xA�&��T������ë�/ɦ#Ǻ<���_
���
���H�ɘ�
�r?����:�
+endstream
 endobj
-582 0 obj <<
+552 0 obj <<
 /Type /Page
-/Contents 583 0 R
-/Resources 581 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 529 0 R
-/Annots [ 587 0 R 593 0 R ]
+/Contents 553 0 R
+/Resources 551 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 507 0 R
+/Annots [ 549 0 R 550 0 R ]
 >> endobj
-587 0 obj <<
+549 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.0961 424.911 457.6681 435.815]
+/Rect [287.096 424.911 457.668 435.815]
 /Subtype /Link
 /A << /S /GoTo /D (main_Topologies_and_Topological_compatibility) >>
 >> endobj
-593 0 obj <<
+550 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-584 0 obj <<
-/D [582 0 R /XYZ 90 757.9346 null]
+554 0 obj <<
+/D [552 0 R /XYZ 90 757.935 null]
 >> endobj
-585 0 obj <<
-/D [582 0 R /XYZ 155.8601 687.1998 null]
+555 0 obj <<
+/D [552 0 R /XYZ 155.86 687.2 null]
 >> endobj
-586 0 obj <<
-/D [582 0 R /XYZ 90 670.6125 null]
+556 0 obj <<
+/D [552 0 R /XYZ 90 670.613 null]
 >> endobj
-588 0 obj <<
-/D [582 0 R /XYZ 90 368.9008 null]
+557 0 obj <<
+/D [552 0 R /XYZ 90 368.901 null]
 >> endobj
-589 0 obj <<
-/D [582 0 R /XYZ 90 363.6561 null]
+558 0 obj <<
+/D [552 0 R /XYZ 90 363.656 null]
 >> endobj
-590 0 obj <<
-/D [582 0 R /XYZ 282.0283 281.5575 null]
+559 0 obj <<
+/D [552 0 R /XYZ 282.028 281.557 null]
 >> endobj
 22 0 obj <<
-/D [582 0 R /XYZ 90 264.9702 null]
+/D [552 0 R /XYZ 90 264.97 null]
 >> endobj
-591 0 obj <<
-/D [582 0 R /XYZ 325.4343 211.2058 null]
+560 0 obj <<
+/D [552 0 R /XYZ 325.434 211.206 null]
 >> endobj
-592 0 obj <<
-/D [582 0 R /XYZ 90 194.6185 null]
+561 0 obj <<
+/D [552 0 R /XYZ 90 194.619 null]
 >> endobj
-581 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F80 564 0 R /F11 411 0 R /F8 523 0 R /F77 570 0 R /F33 481 0 R /F10 484 0 R /F74 478 0 R /F6 561 0 R /F1 573 0 R /F7 526 0 R /F67 366 0 R >>
+551 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F78 539 0 R /F11 418 0 R /F8 504 0 R /F75 541 0 R /F31 472 0 R /F10 473 0 R /F72 471 0 R /F6 538 0 R /F1 542 0 R /F7 505 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-597 0 obj <<
-/Length 4352      
+566 0 obj <<
+/Length 3943      
 /Filter /FlateDecode
 >>
 stream
-x��\[�۶~�_��H
���L�i=Mzq3��N�>p�\��Vڊ����{@@
���:��K����w�8 [P���.�2�	���
�x
���`��k�}�7�㫋��j�p�i����
4#�3�xu���Z3J��e}{X1���zw���~׮�\���:\��w+I���]��³+
��o�C��aj�V�~�׋?�Jt�d+����??��.����^P"�U���%�9����\�?�?\�#�~�^�f��@���`�\�����M}����B���� 7�-�����鷌e�*K,�
��/6��yk�5N�
�j-�^^�v6k�4����
C���Y&�_�� ��Ʀ�F:�@ S):x
�,H|���	c*r�}
-��6pK�X ��<5Z�E֪��9K�����Dc�\�T��&�rq�]#��^�)qN�Q�4 ٹŚCg�u�~�%��8C���!��ȣ0b֬�]��J��]Vą�DT�Yk#l/� �( )g{/�� A̭s����d�Yb�+pa��ɜ_����	ŒbE��􉉬%zx�%�
a3`V9�V
��o�����e�+�}�� ��#�!t�
-����]�m�M�>	Ƣ����>r�������l���fw��_���f:9��m�96+��)S�z{��jI/
-c	�Tp�0�po+	����e���d���w�m�pz� �{��G �
ts���
u�7 0�E����rw�8PpZ�
p���+1���!��\�+	)�GG�.��
n�(�9%�Wk��e�	�4=P/�Q�숰�QY�K/&�.�p�a�
Wl�?oaջW
�
�����{�o������/7f�n�muhQ�HbTDLY�/�"�1�x]7���_�
r���_<�=:5ok<V+׬X�~͢K��B�j
�wb3�õ0�p'=� I�ů��&�2[�
(ONn���aMl�L���W�5g?��# 
~�`K|�R�!C_Bb�
- &T�>?�ڂ9Sר���b�4�������g[5Q�����W�U��;�����=_
��8��i�椳K���I&�р`,f�[�K%}6OU,ȵ��釻͛8��rF�$/�c*P:�_��H0��<bT)�L�tH�)�@��K
���p��̠̫j�^�����Rtq�o���Zc>� �&
�U4�w��ʨI(�5
+����V�w!�k,* Lu��H�dl�3�tK��Bp4�1h�N��������2�o-
/C@[��F�~56_sf��u���� �rk�D8"�X]���� V�4���N2�~֘��
&�/5����O83n��b�j�I
� JE<V�>9��3�$�g+A�5�@f��Z���L�����Xrwn-�K��{
P�$N��bl���K���)�<C��gG6�����b�y�M��alz܄�|�95��Ӌ�O)�� �r�B,\��5��{�,�)�n q�)@���V3е�$��I�
������B/������_ޟ#
͒G%�l��2g��RW*ռ;N�N�y��vy
n���a�Q�)g��d����a�
�63�>�&O� t5F��ْ�.����F��e�����2
��0��AG���&
07���y!�>(��:���Ȃ�WH�/aaL�
n���
�~x�E�E�S��>��9НEJ+�?�P��+�'ы��'^���P�����KC,���I7W��x;�������Hz
-�K��
��F'��Dr���*|$%)D����0�\���*l� ��S�\�
��`iK�G�@�)��
q��`r�2`��]3~
-&��'���9�� �@-�E�y�i��|*�ưR0�'��3E�&f�9ц�Nl�DnNR'{���
�
�Y0�H�}J�
j��!}a��XRG�K	�6$���
-�:a��c���Tї�%^��~�,��Nĥ�h�M���t;���vS#)$�wF�\��̆��sT$�в���x �٤��p���ʆ��:,q[�g���y���`մ�6�T
���1�s�H�fi�	�����P�E���mu��0܇t
��j3�x��~[�_�]x ��Th�I��M��2f�}�;��	����G �7�z֠�}��/�T���_P�'�ד�	:�0M �"aoT�*k� �>��:>��$�E���!��``��S�34���sg�a�q�1ĘdԱ0���Fr.8����M��R���hl�)�	\r���ԸD
9FS���3)��m>��
���T}�T��;U���L_!��
-�h)�� �Pȵ���ar��x#�o�]O��/��l�Ux���NB�������j�E���&?�ȏ< 
O��jS#�� '@��_�&�����o����fӹT+�}A�8��v0k�Zc����~��c���������]���bH>l�I�Uǜ���K��
�!��7N���Y���g-�g6��X�cRU��zB9k�;�j�g��P��f-^�;�#?ov�d+3,�
f�_�
-7�Dt�x^z���Z[��PAvL�ci�
c�/����=�Wo�
�q!8����[d�Ol[�V��SÝ6-��{���0��Ŷ�0��ha��Ŷ.�A�*��^���c[(���N{� Ml�D �<��5�~�r]#���}���� �9n��=k0�����O��-��i��q��7xM��,՞ݴ~D�p'Ħ(~
�6A�	5����p-�GB
-Zp�"�v�<A��ʓ��;ԩ9B��D*k�o��K��Q��L!>6�G�Ԉ��M���6��"C<(�6a����9��O��������t
-��
J�>wSh��?u,/AQz
Oڽ'�ܳ<�(�*GU�mP�vX��
/)`T꡺^����z��f��>��f�W�އ��97&ʾ,�M%^
LP�$�/Ռ���F��+���Ud-~?C��Q	�O&��s޹5��_�	-`�;K���I�̹8 *
�I�7X�M��
-�x�6��Lq�y���G�]N�I*�qw^69+����^v��
���0���'�|l5�㧆;���A���}�f��	.>ܥri�Gpi��>.RR���Gu`��#�CQ?�E�\*�
*��&M�� �o��T���E?鐂Y�
R%Ҟ�l��
�%�P(����w�D���mw"��X�$��!�
mbԉ�v���40+�ҡ��%�*%�> `�I��]�˓��QZ�Z�����p
�p��Bʃ4�W=�v]2�o�]5=�6�n���\������
y7�S"3�5���0)�;$y��e��]� ^�����p{[5��"�d���fם���Եh���T��3�p��%�
X��Ct�J��	=-��)q)���@Ԡ�
ӺBɴ#��2�7V{��Ӕ]
�9����'8�J0�6唛8��M���O�QUfY{pQ
�EU ����
��:4��?U�r^k����ȿ�	�+���ѣ��ƣѤ0����;�R؉�a
�7.Y�ѓ�Rp�^���9to�D�z�&�C���>h�b! ��yV��n�J����hX`�y�y6�$���٥�����O��@J)��_�|ŧ���`(A���C�

�`���1�KV����>��XPb��M%�Dᴣ3R̨����a��r�2%R��S�D�0����l����uxty��4\U
OÁ�����
U�V�^
J#�ү��Z�m�@����KY���9y��n�A���7I��w��:U���d���������~��8�N�"ì�Ur����0m�C�I1�y.K��m�{�;�Ň��Z�t�r��_��M߬��G՗B�u{ڋ�J0�I�?GCciv��;
`���[.���\-�*;���҉N�O�R��
P�7�lc�7�9ƀ����A9�U)u�l��'��c졜6����xw������I����� ?��������p~0�}�o˾\��*��_k��Z�E�)�
���9��D��!���{�I���=�7���>��z����`�C|���~���]�4_�mꮹ`~��$�f�X��0��-�vŖ��RV@��TG��cyQP
�,�
�e�l|��ޗ��,‚�Oolj_b%g��9�v�x
���8��_��5Z���q/@���].|s���_�EJ��A.|\N�
�c	�`��7�_�$�?����b��2ꇻ���%J	t�˻��#�C�+N�[b����t�ɒgD�&���SF��>��"�ZWry�}��?��������.nVz���Ц� �4�Z���g� ��o

-����w;�3�����3ŧ;�v ?
o�z���۷dӒ�]s{ �������.a�Ҹ��[�Fg���?%�Ӓ�8n��}	��	� �?
���_~��endstream
+x��\[�7~�_��,t��as��$�Y�a�=� y���0����a��%�/R��� �
/�i�R�T��UC'�'t����ߜ<�I��#Ns=ys>qtb4#��ɛ���)#r6g����j3cvZ�e�-��uU��\���<>�����ӏ3F�����À��Ey�)�0LM��7������d�	
�*C�P��������
��2�D8;�	�.'�
x�&�O�}B�-(:��j�psQnʇ���rz���ɦ�j�x�c�O�%�[�7�pG�?���{>�K���q�MF1M�i�1d!I�e�'�H"y��N ���	x;�}
��1[�!B�&��v�� 
+��6�J>��9���F�I2�ٮH�b�P���^��1�'�h���8�ō�8�j7�S�'H%'s3�8�
�(M�h�ѤR�*��^��d��*��8�d2���]�YN�y
�����\~g
�9���(kLJL�@���HkV5	e�i26�(��d��9m�	� ̨lF\%a�ϝSQK
3w;�AN��bSF�^4���Ӳ��u 3�F� �A
`z� -��.V��FtS���9��ռ�n��m������?��
�dS�W�b��q�m����ۙVSY�Y7
+;�Ap[�Fxcޞ�/O�Uj�:��q�Z�ca6.	�*����"Rj�e��׈� ��n<E� ą���l���Ӯ��iu�J`��?t|������N�����.
p�DyJ���\)8�1
 @0�|1;"��p��+����?L0�rۼ���/��eo�]oj2�%�?�7������Ū�Ԩ�HbT'
+�]�{��X���=��_.�
7  ��yG�U��'�
B<���K����
F�o.�"<�*��N~��70��4�60�
+$ :/a�K�-�(�Z���ۻ�w��[
;:`�z�A��P�~(	������N��Ʀ�Gm���
R�Ų�u|�6x^4������+��b��Ɓ��=:�ơ�
����c.s��
���k�d�����E���ءg/+|���+ 2_���[0�
+��x����sEq2P���j]�9�Xb�� �w�QE;����ÕźZ.��иd2�Ê�"/�1����b�Q�;�;�J��^�X4����
���Ȉ
�������^���LJv{W
�+�� �:"�Пי��0� ����ve(��h��u�"+�{O�ܧ��ń\/ٳx\
+��L����n����;y;8���>�J�� @�0�%
�ccH��k���RHZ4���g>ag�R,A�.>�9����
G��}����_E�!1�ԕ
�6�����K��ge��6�Oowy
FK�َ�h��)�O�-�w��}w2r1�v
+��Gfl2J8�{B��TD���A~!/��e��X�����٠�37(�5r���
 k�5�w��N�i����Ƽ�q��?�'�$�o����O
�	���aqa��/B�
�����a8��,�Ga��.\<lݚ6�������<���\b{�|�;���>�S��p�7� ��:@z	��֭y��5
L_ꖌ���8.���m0H��<��~T�|=����7�Ǡ���[d�
��!�#��~�O��!���q�$z���vƩ��8����tQUa
l��U�$�%Nȃ&�Ҏ�Q#`�Q��C�xFu���y5P��Ө �C�\��J�tO
\��������q�Y�:��0����4MX"?£oJ"*�벩���X3�o�IP�0���h.�G�m���<����D�¤��@�@���sT�0U
���K�]V��K����
��2�o]�&G�|� ��"���u��JI
�>�T�A,���aZ[��%��*��h�R�Z��
�}��xZ,~,|�Y����o�p�
TY`@�,^-}�˜�6�^j3��%�
�7�^�����9���t�8�!�!�1#�/��m��l�8�ӫ��S�[	)�W�	SU�KL�-�av@�Ш�]w�!	�=*�+�{
Yn�u�ZS�����>��'��R:v�B����ՌMqa䡼y�ˆzh�vR������f�nF7��	^�H`{�m@�C�c�o�TO)�/5��͙
c�
��M6ꟾ���t�m��*U�\���&�����}�����]���B~�-� .����E� ���s��:��7��Z���#E�X��V�!z�v�Fr����
�}f��8��k��/��
����1q���!eҹ���J���L
ˣ����ų�
X��*v{-D�k��ն��x���݅i�`2�U��
�s����e�~

�I�"BS�f
3�t�\�	
�]U��:���u%R���_r]5��7e5H؃�{|q��Š�`'��"ڊd԰��C�I7�S�"a�X^�4�ܱ�� ����qo�/+�x�=y;U�_*ձU�;�u1�M*m��v#�-�쥩�;�L����´Z:vRJ�g�FOʺq5�Dn� T�����{X�ޔ�p�8C�T��I� Q��AAbY�&H
"���
���׍ϖ$}�I*I��.i˩K��y^��n�坈�]�E�X�FcO�Rlx|b��x����B�"������Pq��VU�6�0��r�[}�kZ��sY5�d�1�a΍i����}��`"Q��T-�F�	+��
�Ɉ�3���
�����8�K�4eA���l��e=V���3P
+e�ԅϮ��P���1��i�J0�ƨ�*~���)�;F��]�
N����6� �C�}X��D#��f,��qq��^�nh�@:~}3%�uNPiv!'IkL/��"+e�vl!�5����.l@�!%QB
m���D�7�����D�����>?axt����G��%�&������������&v�:�X��M�׏�f;����L�"7��T!O�k
�W��6�[U�n>��i�8W���Y
?YGi��X��d&w2�i
�e�s�! ���6/}!)~�*��8"�d`���
+w���È%v��B���
�m.)���ߴ�G�_qB�
غ����3����d�D�C��~�P2O����>���,��6��e��QK��y�bRX�5���
+ˏ�/��xQb��N��s�-xe
�ق����m8
s�B�����"��F��4^� �-��
���,z�cX�eY+��U��T}�j�����G�m؁��7eǣ��X��0��}?�Ώ��>�{sG���M���';�ؼ��Ы���4��L�(K������{�
�q9�ޙt�#R
㘸�j
a
������Ea�3:�5�_�r�Ƿy�u�}Iw�	I1y�����|�4�R�C#)}3�p��	���2�n��Ͳz_��6�~�m�K�\���΋��~�"Z)�N��^���\\��Guq������{����˪�}��5��)���{de�$�|H'��p!%�
��_���p��e�P��~���W�r`������:?�.��t��s�g�����|�

	L��q<�
Z�\��%L�F������:��a�mj2�5� �
���
���f>iT�#�ό�jS���-���U�L���K�?#i�m�yR
#E�p��;���Ϋ�ܴwy����Hzb�R���n���� 0n��շ����8
�����nn
�I5���+��ý+�͹`�x�/�8fG�dB��
r�� b]����9�Z�i�\|c] �v?M ����evH
�qc-�_�x���	����rٺi839��<]7���ж�$�|pH��Ŏ�z�ԯ��Wصw9n���fJM[��$Y&r��l�
9�Oٴ¦��0�rD�ƚv �2`��Iy�L��N(��n�MӼ�ܤ4�ZT�m�~t�6uw���V������|-��q{&��?
�қ�T�������G�nnnȢ&���jC��GWW�G�[g�i���.�~�n�������!�
!$
+endstream
 endobj
-596 0 obj <<
+565 0 obj <<
 /Type /Page
-/Contents 597 0 R
-/Resources 595 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 529 0 R
-/Annots [ 608 0 R ]
+/Contents 566 0 R
+/Resources 564 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 507 0 R
+/Annots [ 563 0 R ]
 >> endobj
-608 0 obj <<
+563 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-598 0 obj <<
-/D [596 0 R /XYZ 90 757.9346 null]
+567 0 obj <<
+/D [565 0 R /XYZ 90 757.935 null]
 >> endobj
-602 0 obj <<
-/D [596 0 R /XYZ 481.3177 711.1102 null]
+569 0 obj <<
+/D [565 0 R /XYZ 481.318 711.11 null]
 >> endobj
-603 0 obj <<
-/D [596 0 R /XYZ 90 694.383 null]
+570 0 obj <<
+/D [565 0 R /XYZ 90 694.383 null]
 >> endobj
-604 0 obj <<
-/D [596 0 R /XYZ 480.615 441.1563 null]
+571 0 obj <<
+/D [565 0 R /XYZ 480.615 441.156 null]
 >> endobj
-605 0 obj <<
-/D [596 0 R /XYZ 90 424.0953 null]
+572 0 obj <<
+/D [565 0 R /XYZ 90 424.095 null]
 >> endobj
-606 0 obj <<
-/D [596 0 R /XYZ 213.944 213.8719 null]
+573 0 obj <<
+/D [565 0 R /XYZ 213.944 213.872 null]
 >> endobj
-607 0 obj <<
-/D [596 0 R /XYZ 90 197.1447 null]
+574 0 obj <<
+/D [565 0 R /XYZ 90 197.145 null]
 >> endobj
-595 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F25 344 0 R /F8 523 0 R /F10 484 0 R /F33 481 0 R /F9 601 0 R /F80 564 0 R /F7 526 0 R /F1 573 0 R /F74 478 0 R /F6 561 0 R /F77 570 0 R /F67 366 0 R >>
+564 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F23 340 0 R /F8 504 0 R /F10 473 0 R /F31 472 0 R /F9 568 0 R /F78 539 0 R /F7 505 0 R /F1 542 0 R /F72 471 0 R /F6 538 0 R /F75 541 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-611 0 obj <<
-/Length 4300      
+578 0 obj <<
+/Length 4074      
 /Filter /FlateDecode
 >>
 stream
-x��[_s붱���ە�G<�0�Ν^�&�6�&���%�{(R!�:��
� I>i�v�@����b���%�%�9��Rg9�v��!�����
����~
w�����_*y�g�b���ɍ�h&e��^�Lܭ)!d�]y��Y�}�
�P�M�f���'�޷͝ ���Q�*¶w
:ԯ��+��3*W�����7��0��\QK֏7�
�}�{C2�y�$�y�n�7���P�|�q
|���Z��<�~��g<#Jr��?���R��K���,ϵ�am�wk��Î��
Y&�f����B�-
���](Ϙ��v
�΅p
��3�L�X�o�^H�3�*�۾|���gzۼ������|��7lJ�v a'�0���?šjp��/?�����US�~e4^|�3C���X�ʴ!�w���u�kr4�)C���]b0J2#L��h
m�۵ �:*��4˥D�>�U3$����h��P#s��p��Ea.
�3-LXL
'z�5�	���e������V������.����3��+�bb�Uҿ�5��
HW����DB�o>3��}mV������fD� O�&e�
	D���E��W�b�Ư��!`�MCH�qƒ����iJ�OrU
m�|�r��=����'���c�HD�WͶ�y_<��Z��Y�R�Z3�g�0L�*(���|&I�����+�wE��
��U���NGd�����1�:�pu}F�at��͹m�ľf`~��-��
-��MQk�����WS���x:S �kԲ
ds�����<Bf�H~�n��t�5nN��y~���̌bN�Lk���(az�u�c�}v���[!�
Vn�;&�Jw��-��cW�3�#.Hl+�3&��b<���x��"����
��
��<�`޽~i��	S�M��kbJ�2�n�\�$�p��B�3(�2b
���F-�	X_��|�fЛ@x�M�h�2���)�'x
-q�S��Ы�����W�e#�g�6��2�ҷ:ͽ�f]��<ϸ
���tBf=�7�� ���SP>/޶�_�zJHBZ(I�e��~
��ȅ�~S�m��5 at q mv��+%طf�co79 �B��,$P�؊XZ�%�m�㫴���h~I1`~Խ��]{|ޥ��nV��8��ؖN�e���m���0��9�B�L�ܫ��7�
-�� L�#L�L���HbZ0kL�+��_�
9S�YR� >�&�Z����.J�JI������E)E$Jh���ݧE�C.8��(��]�,�2�L�)|h�!5�̄Сς����%����
-@}n��+%̿+�u(

�~a}�}&�Lh�gt�
4�"@
4��,���qɉI�5�;�k;��m�X5�H���2� ���.G��CWX�0���
�j�	��h�G�d���`>IҰH��������gѩ{�����>��Y�G���p9L��a�����/��@�9�?�斴?nw�+T�
���K��I%7s�0[ ͤ�
-V�i��t$	ȋ}����P�9b��,D�MdbI�=�n{ z8%^�H���GJ@{���x9#�]���7����%$e�
7�?�M����In�n��bn��tӥ�|�k��9X�1�O�U	f.�@��+(�L(P�|���y,���TXT�Z^l���o���:�d_��FV�p,g
[籯t	�1TM��jr4g����Y�0� |���)�P4!@���Е�rAl�h�qf�'ū��=�bcj at i��
6���g���j_�
=g:�:1A at d'rD}����P��|�)3=%�m>a�'���sR�~��{��rىYr
G0q���L���.!�ϋ�s#/���Ä;�Zڂ�D�b�|����lN�<�f��hm���=��i�qӗ�'̀� czM�J�[�'c"�螽*��t�n7�&��36��)X�Yz�{`[]tu�:81�0��b$�_ȂPcү��
-
�A�:�e�D�oH�6�7M�7
,7M~m��T
_	��4�S,���_8��Z˓M���hw�&?�i�eްg�ܰ��PY�y8�<p2`�l�m�
[�7�w��Í���l/�5�(�z!� ٘x�
-E��_���T:�p
-�� ���)��Mr^��?�w
2�;G2u��tL�,"�?��A��M��Ƽ?3��W�~:��>ۦJ��P��9���ʹ�
Y$b�!��ֹٔ��ɧ��G�N��E�^�
�����c)����
'�0��0oF�?�y
���i�.����R4���8$O'D�;_�^f
⛨�%v����x⛎- ��
F,�tD)��\w3^@���$� +��h����/�~�U
�߀����˂;�ko.;_�	!��,kih�	���:
�>:7�J��*
�
{SaA\b|f��{-@��)u��v���ע-{Ԏ�ƾ��,����`��s��I°�v�!
�@-� q��\:Јվ,\e�X�dx,�Bip4��c� ��c���PT
e��_L�����Fa
1����i���Y-_l%z�矧N;�\�W)
��
��QayJWI����$���kS��.N��]�^�e��u�
����z�y
�JU��KY��
1�zq�3��c|7o�~4�\�W�mWն��OW���ŵ���Ș?�;���j:o�m۔��c�ul����kj�
�����?���%>f)�綫���"T.�snٴ?
}��.��|��
-��K�ۛ��_w�t�^ތ3Ȁ���^bO��uN?ʩ+��sA����<!\�R	�G�g�Xq����?���
�I�ah\�ݶ�b�>���?�*!o�]�<���S)��a���|@�̬�� [�n��GZ$/�)?v�g���I
�@�)�ű/}�ںdR
���g��\ h���q�&<e�1�zw�������
:/���c/հ��.M1
;�S��	��Ov_�r�mU�ס'���o_�ގ^��r7O�
�N�Ύ�G(�������jA�}���K�)ǩ����~{�o���:�&�|��w�h���oqkI�D �zh=
�rrm���*C�K�3u�K0Sk��������7���'d�G�;�uZ�o"c�S�A"�J�W�f��(�9��3pƐ�T��4�N�m��rJ������+Cʸ��r
�SE'0��/@�?I�P�T
���Cz,q �R�˵3c��jg8��F�K��7R�X�E�J,��_�d�2�Xy�]�*�&9�b���̘\�8���OcZ�@
�
��3F��������'��O�Uܨe�2��L�(���D�g��e���b~H���qx�el��2����o�9��3�p��T[�vЏǢ��>7
4k[W1smC5V���B_��+[f�#t�[�����-���B���
@�
>� W&S���aӀwU�m�S�� i���^}
)�����3X�����Bg��٦:�՟�}�F�8�`[�B~�?L_O�G<s�
-���	��;�ڏ�d�G�	�&ל�r�_�b�b��%�H�
.z�ٸ$��6]��<DX��g�e�r� 
-��B���
���F�R{x#��)T����
%?Fed� �:��
e��P�,�
����гa�ʌl�����ΐ�����ج��X�F�g�D�춫�vxN;˧��&��.�ǜg��#��Ӝ�PG��6��
Lpv��
-�q+����hT��7<'�\����Nq}��	���q��^�Ž���I��t�$�c��r;�C?_��)ڣ��J��
F<p��n��DA�/��)"�g
��cZJ�a�P G|%�h(�C "��a��Q�hD�/�����/�&<��cS�-���b=��^\1��/��>h�
ml����T��RMl.|��)�r��������P����:)Y
KOX+�s\Kp��L\Ĉ����p�T����T���P54����
���%�a���;���o���ߞQb�����q��a1]<%���_�q�um^j;J��
��ݩ��h2�.$O����6�++�I�
�

�/��9_?O1�P�����q�KLݮ3�Ҍ�/�;2=��;sZf�ǒ��0`_.a&l����\}��(&�ń��|�Jsn

�&*�5��+m�sz��
�*���~�:>�2��"%�g�k&�Al��������Ks�r:��Oi���͑w{��>�7�7����?�e�?6y�-��Es
��F.
`�Up@��=�`
���e�d
�,#��9�����p��i����?�
Ḷ�d\�q�0
>{����%��ٱ�]V
�����.n$�2�_�z�tBˌ��i[J��56�_���_u�%[�c�)� H�#endstream
+x��[ݏ����o��g
?D�JP�	�&���A
�<ȶv��,9�������K$e��KrA�DQ\r83���p��
����?�_��L�E�
+A���aQ�E.�,�e7+�1^���
��j�ڱ
�
nV��e�`��]{���/7/�_M��
�����%t1J�����|���W?�"@^�.�Q��b���Ox���/�B.���"�
����W�~��=p<�e
n����jՊo>��V�@E��
z���*+ؒ����)�to���0AΤB��-V��"3��e��15��Q�,�c�tC�5��Z׾�V,G�
��
���v�+��ADZ<n���y��1m�Q#ˡ�Jt���m5�mE;/�d��W�-	�Y�(
����d
	I�ط��F2�f+ۭ�Xe�F2�.A�B=tu;&��D�Ś\�H�F Nu��_�t5+� ���
��(�J	�fD4T�U�)���l5
M�\ԝN�}n��P�A�&������q�$��3I�c8�"���mߝN��|7LL��^�n�CYo��;ӳ��-�9
��1��
��b���,Ǯ�S>c�O�
��L\x��	VfSzM
�4�P��ʬ�d	ߕ�x���J	kEE�8���J=i����D̄�N\�'��2$�U��t:
+�=}��P�<6�
�QLg�W�N/�佢`�j
���7)%"�!���d9�D�
�AJ�8���3��?2(�w)b�5��'f
����H1�EF�X��w��q�uk���@˙hV7�[���Wp+Ǿ2/�nN�;qpCWN����P�l�� �®YV�-�v,�VԁZ���ڥ�T��PoωE-?�N�yM:7����⪗A�� ��4����Y
����H�e�����ˎ`Z�_���t��"J�U�@��:c�A�E�b�+�f�
���cV �_:�s3��4��i������zV�]�<�V���g��<Cb�_%1�D��� .��O��Kгh�!Y�Rr�3+�U��A
pB��
Km����1��@��Bc���)mq��	rQ/`}>	�l�]w|ܥ�@
���3i ��Z[�ۮ]U���l��`�

+ؑfH�G�6-,
+$
+$
�bY&!+X5��+t{	ԃ�p�-�_[)C��Z96%�>T�W��ieɳ@��m��n�e�A��k^�;�qW�%˾J B0�ğ��S3r�yݞq��,p���
�@�ޱ�Z	����a5
J
�`��_|�x�2��-,�W����|�)W��
�L�01���7]aڡk�u�h�Р�� : �>6�$�a�K�W����$RP"
��Ӗ�

'�
+�E|p�4}p��(�����܆B��p���<���_�}��W�>�/�������+��\h�
���)�+��'� �\B�J*��
D�#�s����#�t��.V�0�S�T����3 HM����0s�s!,p=��(��M6ѝ��	�S^\�? �2N>���"���]��\^���E\$�
t�����\$1u2�f��
��=��y��g�&��a������X~1�T��,��)��=O*�����I�b��Q��s6���WAQ�g���[�S|S,����W2}����XTƯ������:�վ���29E�k�
R}z@�4灁���bJ�#nS�_�m���k|c:�~�*!@�+��>Q��X`0
�cH�r*�&���c��s��|��7���3щU
+�0���$�U�5�\�ׅ<ɡkF�
$�
��8I�
!�+&��O�9])c(�6Q{0ik'?�ݡ�,��M;�c̆?�Weq��<K 
+����N���D���
���FE�x�x֔}�"
+��&
���2
�F���$�!Y��`";��8�Y�'�8�O$�S�{5��v`��Tu딉�Q
��0�/�91��� }`��� ����
�!�K̊I�p6��Q����VO���m۩��j)�����zMiz�R���|r��a�T�$��p*.UF?��avA��ߏ�V���t�-���Ѫ��NH�ǰ��:�]zJ�;��g��
+�Og�/��a�C�N�g@*�
�rAg�1K��g�ry%�Q�`��~J�A�φ��ߠ;a�
>M�j�W��A��MMD����0�M'�3r��U��
.�E�-�I���)�=�`�9ʣD��XNf7��Y�S����ђe���$���I 
 70�����O�㺱���j���A���_{�����Ѫ�eGKQ�]��}�b�)�����V�ֵ��R��8ظɔm`A1�~�G
b��t��(h���ʹ�'��������S�P�qӮ�qg�j� "o��z2[�R������H�b�|9���։�k�_w
ʺ7)_�駾�;�f�X��-���m������
�e(��S�!`�ਨ��H���}�]��ϳ^dؾw]
+�uM��
_�Ǧk�j�
�Y�A�Yl"�L3�|��f�b
ʗO��E_aL��
G���J���Xo�ƌ������;3�ɃgRg"^�o����n�׮�̷w���Q]�gJ@�x�������[eW�`�y��z��e܀z�����͐0s��bF�*��3ݪ�i����N5�4�i]"3/���l���������&C���nK��7��4W�i̢�
��}�wv�r:�{W}�������t)���:4
��i��%�n�ch�}<�YL.��:��
,��5�PH�V��"o��#���u
�;6�q�l���tQ���d�
�ӑ���
�~0��v��B��vǦq�^�v�CoE��l��T�;��fH[��^�;eB�Ճ:��oSW��^2p�O�`�N.��#�f�Q[�8�:5���4��UV��Vg���
V��ʌXW�R�Ds��9��Цx�J��2�;�U�m
+]�Ws�8O�<O��u����5�c]�j��&�`�V���uS��/ &�ͷ�[�wSx���L��;y���zZ s%c@ ��l
+T_���S_�ȩl���~l��r��������K`f��X����9]�R=Z�Gw��Nb�V9�R���G�
�rCL����
޳ ��R*���U�ڷPy�3�*o��b�
+8�#X8�r��h.�#�W�*��Pv
+�����E�sDŤ��%PN",�
��+���V�-'�k�[^�
�QR6>)��Y�ޝV���\2<������c��+���y��XO�&�,����”�����r��-Li����}	p�7/'@W��"��L�hZ��e�S�~��
+[�$_~
�(����a `D�?�Am}�]�3��^y�Skؠz�*{h�oԫ��҃J;���c�aU�r?������K�r�hOm�Җ��R��^\q�
4g�^���
���?�٦��n � �����#�l�~�t*|:��̼>8�J�V��DɎ�z
��N���'��h�t��m:/�S�l��7/�-
v�
+M�ȵ�h���z �j����Mf�P����
r�<�{?|��tp�T���_�{p�=��*J��)�� ̈��
+0"�� �
���O5��؛��Ovk��MB8�UiR�$ڐ
��O�M[c
b~Y�V��
���U�D:��N�D7F�O��z_���Ԙ

�e	9��]���HJ�áڌ�x8	CE+���		~����wGKv���,
�T�	�50��ֺ�è���IEf�$�+��ͥ
_�
+��7�d� 	�n�/	
E�ۨ��Y�`e��a[����i|�~��y����
��E`� ��wK�X�+�w���
	
,������a?�8ơ5��?=��9�\"�~��*_��>)vx�̜eȮ���k>
�MU?f�wb͘<��7�d��0���^zm"�a�Z�Ӊ�ۮtk�n��3K�!~�A����,`��,qxY6V�s�ۙXl��9�����B��ȗ������g�a
+^ ����ϔ��ղ�X龚�
�|7T�_T�j���e{t~D!f�l��Y���(�0|X���mUٝ��[�ֿ��7y@�
+˂B��8
>z����	mtl�C�����м�x7�:Q�]tV��	�1�fͅ�?p	z�
+endstream
 endobj
-610 0 obj <<
+577 0 obj <<
 /Type /Page
-/Contents 611 0 R
-/Resources 609 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 619 0 R
-/Annots [ 618 0 R ]
+/Contents 578 0 R
+/Resources 576 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 585 0 R
+/Annots [ 575 0 R ]
 >> endobj
-618 0 obj <<
+575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-612 0 obj <<
-/D [610 0 R /XYZ 90 757.9346 null]
+579 0 obj <<
+/D [577 0 R /XYZ 90 757.935 null]
 >> endobj
-613 0 obj <<
-/D [610 0 R /XYZ 252.8958 596.4861 null]
+580 0 obj <<
+/D [577 0 R /XYZ 252.896 596.486 null]
 >> endobj
-614 0 obj <<
-/D [610 0 R /XYZ 90 580.354 null]
+581 0 obj <<
+/D [577 0 R /XYZ 90 580.354 null]
 >> endobj
-615 0 obj <<
-/D [610 0 R /XYZ 175.2409 487.0475 null]
+582 0 obj <<
+/D [577 0 R /XYZ 175.241 487.047 null]
 >> endobj
-616 0 obj <<
-/D [610 0 R /XYZ 90 471.7176 null]
+583 0 obj <<
+/D [577 0 R /XYZ 90 471.718 null]
 >> endobj
-594 0 obj <<
-/D [610 0 R /XYZ 198.7513 329.7882 null]
+562 0 obj <<
+/D [577 0 R /XYZ 198.751 329.788 null]
 >> endobj
-617 0 obj <<
-/D [610 0 R /XYZ 90 313.6561 null]
+584 0 obj <<
+/D [577 0 R /XYZ 90 313.656 null]
 >> endobj
-609 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F33 481 0 R /F10 484 0 R /F11 411 0 R /F8 523 0 R /F74 478 0 R /F7 526 0 R /F1 573 0 R /F13 567 0 R /F67 366 0 R >>
+576 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F72 471 0 R /F7 505 0 R /F1 542 0 R /F13 540 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-622 0 obj <<
-/Length 3574      
+589 0 obj <<
+/Length 3277      
 /Filter /FlateDecode
 >>
 stream
-x��ێ��}��o�ѵ�w��H�\�"i��$�@6[3Vז
�����{x)��-P,0��C���/\<C���I.
E���v7h� ������/c�/����E�*� b��ެ p�	&����`�%FͿ������P����t�a�$
ͻ{��e�.����h^�co �O�z�W0D	�s�?�����oboN�h�r���h����AU%�=�
*�Rd��a������7߆u�3!w|�yIYQ
-�y�>�Hp��ID�D�h�fLS�
!||&�`�t/x�c���/f�BB��
�}�:]I9o���S�m�O�]�W��c_5��`�v�l�é��辋 젚�}��
�U��>-W�n
�ۺ)��qc�*���0�E��}�
�*p�%ƅ���T�n��x4Nt���u"�������$��0\pŸY��M
��e���^����A#�B��7]1�6w}�?9���s~m�������[���:��h[�Ǧ}���ng�*�[|fa�`���
�9Gԧ��s��V�S�͒�
 �����>�vmс�dwx�Tz�_��0���ލE��T���
-L����t����Z��jvu{��JU��[+4��H�["���2��noa$Y,�eA� X#�����a��*��o;ɰfT��jɲ�$����I�ƛX4'����*���h&
-%ii�)PY�z9�Z�ú,�dA�C
i�ZV6�x�5���'NA
-Q�����10-�|��9x��lz
lQ6�
,��y�E��u��#��*Չ�1
U"��
�B�` ^g�����P,-��a��z�j6�^<7����p2�A���"ܓ��
�%�
 E
��5�.#�b���P0H6��\�g ٢����c�,�Qj3Řc�qI
��(Ƕ��_@�Q$��`z#㾮�!D��ٍC�k�U�
�1���Q���>��[O��;�>6����>�k�1���y�Q�<x��
D�#�6�[��޾�t1����	��ɾ
�����k���t8f]�]�W��u�m��v
���k3`Xj)c"Q	�d7�<x�KX)������4~���8��"a�`"^
-`W��
�x�ʾ>^J��G���]���9նu�7w
�h�
�t�ؘ�w��?
�4l�*G|p�I|����=�u�O�z�@�x_gNQ�uki��ىˍ�(QA�R2o頻�4p��Uf6Tz����A\p������
��r~
g+K��2�EA>Uz�
M�z�&����Eϑ���Rg��wnj��U����مS�eJ�d��P���"2,��B��tm)<_�!�5
_�:�8^�ID>%�!`��N�
��7��]漐�
-@%���
f��V��Y�_l
-F��D�XZp� 1K�̵4!g�2DŌ�>��_�1���F�|}� w�i��q
39�"ˡ	��a�|�R�x�
.+�iB^4�1���
`W
�䎃����7�ɾ.�»�Bp^ ��F���hJ!����@/�����.#8��K��b����@"���<�{��W͚cVH�Ԥ�sU&2k��ǒJ�,�b���ٵ,䐲}�&L+B9�Z#5O/�A0�
�L����A
�}�\����p�w��$*B���&�G	��c�q��dR��~�T&��g��X�O�|��2q0�����:����e�
���(ϋ������MW����*��"�W�
�5z8ꋈ��Y���d��o�g_�U�M�N�n�3EN7��$l&3@��ڔ6�m�zm�L�|5C
�)�
^m
�VKըvë��Y!��;��jS�
=�>�l��~۬L2lV�nv�c����+�Fe�l���E�M�j��S���d�P�J�r����mro���]����>�!A
-��DAoT)�\k&���ͱ�o�Zc-]Vr_�>��%/0��~�gCDUb�:D�T�LvW�p�C�)�Ka.:~���	o�X� ��J��`�>ƛ�-��E,�iH���
-�ѵ����)a���
���=&+F��M��cn
-�/����@�dm9ϙC!^e\��61�yQb,��g�|>��(���
-9���:G������
�2e�(1lD>�Є��L������ݻ�F��y��w���L�X@(B�>˲P���HI��TQH_h_i��?3�!H7u��`E�
=�
���,�6�G!=V:��ܵ<.p%#M�.A!1��rQgev�$�E%��Z.���bƒr�U!��ë
������
-{��{�%)EA�KO�D1�'i��<
-�n�;��n}<�
_�u޳�V��a )�ᴠ�"���Tc��R����Ֆ);�>s8�+l��ϙ��~<��3�nO�C̶
D	zŔo	��.4�U���E��iw绝���ء�0xp(.�
���u�t0��U�H��D0𘊬OLX .��QW�
@Qo�����KLJS�%
A��%�W at X�f�<�]�$��$R�z�϶�
-=6�e�\MwY%xn����g��
���eU��'!٦�$Xe0�qDb5U6�
d�b��I)�T�$������9HsgR���ӹ��JF44�x�ӭK�8f�$�`�,S�����6�d%�V�u�Yq�ReT���N��d}��� J�X
:*�|:0��.�*�d\�"�����z$
#���)~�^3����V�� ���RK_������S=����P��4�w� �uk�� ��j���z��N�{lfm���/ ȩ
���_�����朑F�(ep\9�M�Cm��T{��+J c%ȵ�ÿo��1�݋P4�O|a�c�&�B����h�,=�i�v$.]PfUH���r�<&e
x7e���&h�ށ��ӝ
6���3�B��x�-<2��w�Ϳm7=�C�6�����<����؝��
�C��q�#�8�O�&IM�{���\�jr�����W�N芌匁��X$�Ÿ�Zj�k`F!��p=�-c��+������1���k�=/ϫ�����6�m�:�w [...]
�``�2�T�'
&�4_�&��e4���h�
�A�o����;X����
���^��P���*H�
]��f����D���>oq�'�v�^����Y�;��ܯ�o�����n��n� ��U�!�V_�uwHE�3f�E�|��D�b��.�QD�_;�����괭z�(��ݽY[���J˙uZL`�Fק�/��Vq�Js�f��BJ��߷ٜ�
-r�Pz�� <x��S��e��@l�����`I���T�(KH��ͯ�I ���T���
->1�
-�:�hV�ݺ>T/r8@D��_eW=Y��|� EARih4
�i�ͭ���LX00/	)80�ŧ̬��!6����N�c�_Jpr���]JS`Pi֗�r(�-���O
��,�a��/�_�DR
z��U�;��7)C�
_F��P�Xp�9��?��Tm�N�����ȆV���u=&��� 	��~}?�O�&,�6�J���uM��xܿ��}||,V���6��h����ݎ�:��Nw�q� t�KByZ�^*�5c\B�s��r���΄�g"�!�ʠ� �ӌendstream
+x��Z[��~�_���û�
Z ��H�.6�)�̓Ɩ��ؒ#�;;��=�I�L۳�(0�B��~�sH<{���?n>�����d�
����f��Y&	���ֳ��Œ`��ߖ�vAԼ�ʺ/����Œ
+<o6���^p<� x^~���.(
�=o�u[�#F���������rC�<#f]�����j��Ox���_�0b��=�Q��
~w��n����
�"p�
�q�feKazG�0���f?.���m��D��U]�r,vU�����
+x�ۢ���(�{�k�c[ڧ�&a��94��Z���r�� ������v\���YZR6�5�T��2�-	A�p
5���J�r��z��4�����|��
�8�_�D���?lK �
+�91/[�� B�N��Jk
����X�w�}[��nP��o�W벳O�e�m֝
�/�|[�f
+.ھ���M���U�
9�֬���H��D���b�ȼ��v�vVX8���jڶ�M�����hu��z�������Z�,X��w�K�<���bp%��3}w(Vn�/�}Yw�;Y�
+_x���S�4�E֎�v��jw@����%bX�X3�sT(:_���,sD���GF/�E��RL�}���A��"ˈ���b�A��d$H	"���@3��Dy���AXi@�K6E�B�e�`�;,��:Ҧ�cW@�@<hf����ERя����!��U.�!/�X��s���e����-����C�H2� �:�S��$x{��F0ACsa$�dꋉ�1"�W����C�]&��+���&�cH��R]��b)1Nc(r����jn=?AN �b��ʺl
`��#�#�OL�0�(�2��������$�g
�AD_��0�u�BEW�]���Pdb_�$uA��zWv�cIlzп�Z������!N��Z{��s�Z���.��nD�
�
�[�#�L}�ŬZ�_���g{32��9�l�w�cק�ys_�Bym�ݮѹ�i����F��$�"V`
+��������p�p�
AƯcp�$�FS.�^� � )�L�:�N	ڕq���)Ђ���q���b���4,�IL��ȁ^��y=�$s�D1e�4��
�l��"�$�a�'�8�|�|H��
TY%� tʇ
�Df�[`N)@
�(��ڇH�d0��4C|�~�S��1S���
�$��0�/g��'���҂�~��^/O��d��
�� ԇd�ƣ�
ȝh��~���%�C��^I{���<����2�N
��X��$����-έ
 �H��A��M�vB��
�
�����8t:��@���}J%6�쐧��y�J��I�, J���dTi>ah�R�/YD�쒝倮�o63�
QYdg6ٳs�޸ZTgp� �%��l	�-��&c
G��Ӷ$F5[�9}ɻd�	�	h�l`T�l��g
����
T��ٗ�9@��/���@A�MV�2	 �+`L�ƞ�w6�;�k��Μ"
�5Y��Wg�0��"&����|�?!_+���/��#�\8����fH���y<O۹����aFN_�
C�����Un�lK?�w���7{`δ�ܣ�π�
����.�!;��rm�|��:1��<bnmio{Q��'�W�g� ���D�mQ?r�C�����]�2��a����}��:���
�dg���˶p]�ñ=4]��L�:0�nle���^����>;�,
�Ņ>ɤ�vN17_W}i�RS���V&|��4>)��X�l��&Wd�l��Q��i18�&�Ǎ�
�{�����O
+]Q�0�&�I�fJ�cx昆�<Xh�9��rP�
S���z�6S�!S���P��nt#ܚ���c5XP�Z�A
	��+۲��
_�y��uD#�,�"�%J�^�c�0���P�b�^�%H��p�4�	��o�hY+@Y�̆1�I>l�u�qHAr��	$ֽ|�]�h�IH�`�K��F�D�3�͜�{��9��wb6
e�.�	�$�
+�Pc46�h)mA�AxȄ8��pZ�"^/.��Z�W|4�*·��y8��0A��0N���i
�E�3r��R+�W�LYyyE~ �G۳�*��R�
Rkٍ��o��Y�m�s`>�tĤѱ�`�J�C �٤	p)�<&8�h"���*���_w���7���-c{�R�#���z����P�������%�
]HT�Ià�1i8�:��Nm-h�:v�u

�8?��T��cٴ�Qq�χ�՟��
��
���D�4�e<���,��25��rH6d���lܝ�[SL䗷�2���֔ ����apɯmM���:9T���o�� )IR��2u���0��Aq��U�bˋ�m�7g�
�3@�9�rc
+M����(�I�j��`�>���a�I2�S�‘+��y���|*�I/F�
'���L�v'�%�hx\c�q~?Gt�ަ{>t
�׽�1)ұ#����s�+,���������h�!_�1��Ž�����r�\��
�A����>��I�A��b���؎� �Ol�' N6�7'��ۧj4ǔ�F=񱝤�"��h�yd���
9nW�.�-�hNu/|���̨Ŵ@�! }NC+��7�zf�?�'a�q�8z`m���eԑ�{�!�O����,�c"L�T����_���w����m��Kn��>ͮ���}L�9Nwg'&��}bǺ��D5ǝ�(h��<�b
3N�5�����|�X�Tc�	}� �T_��T
���Q�՜4b�2� �)�l��C�2���gq�Q�Ts
+a_�-z�`,'�.7�U���
��yE��
E���@�2BksT at SZ[�,
��O�d�Gh��
�����K
�,�
��vC�	���{'s��ͱ3�
�܎�w+�h8��
��ON�\Rg��.�{F�&
j���d�����m�2��\�\-��ݢ�㡴�}Y�#��T[|�E�>w��B��F{��ݫ�$�
N�0L�_֖��>s�:�V�eϰ;�g�0*:p
�4�sr��K�K��k�Q�t<)Qϓ�0��6�7�"��Sr�3p�C�)&�)�tm
����';�YK�
:�`:�>��g�h'O�@5N9s�m������vū
PR0�?ge_<[��=�$b�LTYV�t#hr�f�;�xG�E`-�`��Ak�b��f�
W7G��ͮ�>9C�!�N`K�r�^z�ڟ�
#L!r����[-��;��5���|��]��i! �����؍ۆ�D0&��$̂sV⻲t�Z�
g��k�LD���
��l��������	�:t��C������S�4,�$�z����SY��pop��
��Z
+endstream
 endobj
-621 0 obj <<
+588 0 obj <<
 /Type /Page
-/Contents 622 0 R
-/Resources 620 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 619 0 R
-/Annots [ 629 0 R ]
+/Contents 589 0 R
+/Resources 587 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 585 0 R
+/Annots [ 586 0 R ]
 >> endobj
-629 0 obj <<
+586 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-623 0 obj <<
-/D [621 0 R /XYZ 90 757.9346 null]
+590 0 obj <<
+/D [588 0 R /XYZ 90 757.935 null]
 >> endobj
-624 0 obj <<
-/D [621 0 R /XYZ 316.3298 673.5605 null]
+591 0 obj <<
+/D [588 0 R /XYZ 316.33 673.561 null]
 >> endobj
-625 0 obj <<
-/D [621 0 R /XYZ 90 656.8334 null]
+592 0 obj <<
+/D [588 0 R /XYZ 90 656.833 null]
 >> endobj
-626 0 obj <<
-/D [621 0 R /XYZ 155.5735 392.7862 null]
+593 0 obj <<
+/D [588 0 R /XYZ 155.574 392.786 null]
 >> endobj
-627 0 obj <<
-/D [621 0 R /XYZ 90 376.0591 null]
+594 0 obj <<
+/D [588 0 R /XYZ 90 376.059 null]
 >> endobj
-628 0 obj <<
-/D [621 0 R /XYZ 90 95.4396 null]
+595 0 obj <<
+/D [588 0 R /XYZ 90 95.44 null]
 >> endobj
-620 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F33 481 0 R /F10 484 0 R /F11 411 0 R /F80 564 0 R /F8 523 0 R /F7 526 0 R /F1 573 0 R /F77 570 0 R /F67 366 0 R >>
+587 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F78 539 0 R /F8 504 0 R /F7 505 0 R /F1 542 0 R /F75 541 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-632 0 obj <<
-/Length 3501      
+599 0 obj <<
+/Length 3387      
 /Filter /FlateDecode
 >>
 stream
-x��[[s�~���[�i��
�f���M��M7���$�CI��V"�������Bdk�޴Ϙ$�������YNfZ�,�B�V�+2���\Q�z����z����<�S���
A�L2�f7��p{�����?�e[�USw�
&ɼ���s�d��5%��k{s͠���\��m2bN��O7_]��f�Ǔ+��H��W?�Dfk ��+�����=<���9����a{���7�8�� �jI�%�f<#Jr�l�Q�W��]v�M�
V��
�&C��ȸȩ
�3`�t��ן�
�����Qu�}Ul���
��d@
-É�Il����N��V!��\m�$}��Ϻ,]C[�۲+�
�v/
ܵ��������5w]_�ܻ���-}�����w���ɛ-��3)��;��R:����	����_pi�ki��Ӫ)��|s���GBت���z!�ه1�`˲��]w��'��� q��[�N*pI�x�
�A
;��kw�������U��Z���=�w�F|�/
�ՙ�����ܚ�=��g���Ji�
}�4f��9�f`�	W�:SLK��
_���Z�E��
��2���7m2�\�d��[�����pЭ��Zaw��7�x���[�vU�P��۪�u����y�<��Yb>qB]"�8F�
�wׇ��n�k�-S���H3��&����+
��ҏҖ?��J=�R�&ُ�˝�Uk����
Vw~�.�h�"�
-ֵ�Kl����=�H$	��{�k���べ�ݦiw.d���
�j]�i��Ŏ'��u���ޕA��X<�˶
���n�V��3�Y�7�(��"��%��m�֑A	���|�^�.� �	
��QϾ/�M�Ѳ�������z�n�f���s������/*��l��3�N�c�g2�]�s�|8z���Le��{�
�(1�8�l��E�d �*�I�O�A/��{M���I5;���2�\F�sQMF���duB2C�2��c+�M
�Ry�g�����q:� :ŀ@x	!�L�y�
ES�$��ib>���s�/�D'<뼏s�H�S
�7]ٻ�jjX����͔�2
�šh@�A��#��<'�Q)�����ܢ&���/��[
���Y���>W�j{p�
��|�`J�9 kf�
��ќ^�>���#�ϧ�P1�]�-ڭu՞�ikd+4	���D��.f��[�л�/^p���
-khp�	W 2�d�Ι�!'ȍ	���:�
�c3">X�����s�q�'� D���S
-$�[�,>
-�'�~B/����2��_�5lX�Ǎj��0}���ko��
Y��_�.���8gl�Q`
R��+�BPy>��E��A+�T"s��M�d�y`5ړ����~ Ed E��ն��u4VuD0%3p/!~���g�p�$� 7L��.7 b��
�X!2
�y��!��R�j5m�W+��J9V�:�?�A-��9��\n
�&
��If��&1�K��C �lq'�-��+��?4��,���$5A�:�k~��$�qFuvR����T��T)� c�
�S}�ܼ��3��~�]
-m��̹�p�i�D%�r4�3B��y�pS�` ����4��4��\�O�fSڤ��W��d=FN
܈`��l

�γ�D�(�0�[�z@�쩴�7F}��'?�����
�ɜ -Һڠ�6p}N(�+7#<:���
l�z�������1�r*�DC
��?�����Jş(#>���	x���`�
-�߻8��	���+Y�pe������-�R�٧��
���%�auY*������Ǣ�B)u���-Z��l"���5��0́���5��O�u��/�LF)��Y[-D�6���-b+W��G�'��
-� ����v"m֡Ь}�Y�F��}?@��EIe�ư�
o��;&�o�Wm���5�]X�5�#�\E���
-C�e�55"I�q7�ϵjv�Co���/G�����|��#>�x��~�ə���W���i��:OV<��C[�)�н-�ö����G��*��.����gA��kҲ�|�)��̓K$^l�&�}]
�q-x��m��`\��.
�{w�P�J�
F,�]��s���+7���qװ��[����3D$vq�% �B(�v.ẊY�Mv��Mk�R�{pg�7�:ݦR���Y
w� ��!�
���
!J�"Y�U��4��e-�
�qx�IQ&�Mܢ�$|IҠ
n�d��6���ᑸ�
z$��
p
��=��.�‟�D�5�/�cӅzHv��J�_�16��Lb���,-|��:�ͳ`�4�	�q���a(
켐O~O1ll%�P1�XO�5�~��u-�1J4�{%���֥�YfJpFYL���/&ʣ2�
���j�ZN��0tC�'��!��;��AX3��,�R��x��2<�w��b�z��)?������@�
G߇���r4J�q��faG�j��t7�.�y�fk�'�xM`N@�=��
��ng�
-I>z�Sh@2�����}�>��4�
̄�Y%��/j�9j
�ਡO��?3>�_f}��k
�P�ij�Ά�7	~A�G���$nL�.��CJ7
�0]$;�b
C�j
�W��7	��3F��`�`��0JM
_'�BDc6��@����b8� צO6�T��	׮,]>⡾�v�Z���n�q��C�X�i;߽�-m~��㘊I��G���p3=�xJ��e�+wx��6���g
�	d���^ 7r�:8�>r����GP�BP�dG�"�ݧ�. �b��v��/�ۇ�c�Ů\/�}���[}�
[Z'��x���LXB
94@(�,t�a�4Y��sBh�^5��罟��C��uy
-�^J�7G+�
t�
���ﬨɑ�x��O�3���
���y�Z��n`���6�0�'
?(\�;���
�E�F(P%S,b���B
To��X=y.��{�|r�2}��	���x���
R�3�-�¿ ��ߖ�U\���C�\h�5ͼ�cK�.��v��n������43R�1C�D�[���L�v)zK)3T�h;[i�vla�v�ޭ
-<�[v������Z��s���djG�M�Gw�;"ߊ�����Y��������i�����*�U��m��'��d9����x
ܝ�vnFO
$�GI`�o-uo�E��������χ�<�[����fp�}��QuS<ӊ��c���F1mr��M�
Z'bp��^Ԉؚ���|��>�gڰ#4��j���O�u�(.�
w@][�����^G{��s���q	�5J�3݄����\��
��O
�����8b"��4'S��У��؟D���U�D�T��Ke2Ms:���3I�G"���ڌ����Í7�!��O������w�Rν��GQBi
ӈ$�����wey��@'�c���������
>XL�p���Q�p4��@��_�zu����PW�6��W����1]�Ȍ�͏n1t:�%�<7*�9-��PwM;
N��g���O����VO�endstream
+x��[[w�~���[�Ә�;��Ӈ4mڤm���yIr��d��H������
.$AA������!���L�
���ş�/^}����
+���z�(�B+�IF���Kh^^QB���{Ӗ}�����d����4Y�rI��|p}o/
�>ܙu[ڮ\,)����닿^_�|Aay��v9�3��b����'�XC��
��"_��Q��`
���w�.�Y�ψ��t�Q��֒^nS�U���d2Y\1�qQ��>��rJ��|�6�r�m�U��W�vk�nB�&R�N
&���T.E��siw�W�H���њ}k:S������=K�Ȭo˪�]w���f�~��3��[�����������Ȥ�РY!=����wB�w%2�ܙq=��s|[5�.7�L.$��* ��.���˯�0���Ƙڵ��?���h+���pB�F$�2#�8n��׮������	��&�n-�Qy�����nxpO���[S��4�{
\Ƕ�
��:i�
}�
-f�]9Rf`�W�:SL8����J/��M[���힩|�
����AF�똬wKW4L�L���
+����q�Sԇݍ����r��Vƿ�M?''L��^E�Pn?��ϜPo�C��@�v�k��ii�F��5�4�O� ��-tYuvߔ~�]��7~���|�Z+��K=Zd?��p�W�A�kOlwX��e���
�p,X׿6�SW��{��H8
m�k�����ݦiw΍g��u�3��8��\���Խ~U
���	ʄ��ɿi+�8\�Vm��9A����G�(��,q�6hc���f=H$���ˑ{Ѿ8�h1 �QϾ��M�Ѷ�z������>��/q��X	o�e_V��ٸ�g�0���x�t&
��[�*+4�q�X:
���Q:��^LƼI�c�>��b�It��G
�Sj
+X)��DI���M�	��
��d�g���1	PdJC\G�@��8�^ �b`=�-!
����M,�ç�@�L���<���[���cީ9ӣ�F�Fgzר��tL%��L	��gp&�Me���H� �.HjJ
+ꠞ�=���0�,�򦂸z{��վ;s1����^m�k�����@�K���`�����Lir-��5:/^\k��
Ų�vնl��%{>�m ��4б�>נ��s�b���]��^q��X�0��MؽȤ8n͉�����}0/�	��̞�YyZ�<��pyV�:�<�b��(��$�� �¨{��d��OSZyڞuF���:�4f�A�{ʖtbG֘a3
�e���Кr��)Cwd�v|�x���0fF�/쓕�J�<� ���
��y�x
+�2�q^�U��K��8��	�X�
Xg�y�m:�Nb��N �d�$l�F�<cy��:ib����3��:��#D����
A2��iM_�lB+����P�rTqT�>
��]�i�>|�d+8l�����a��c����a���FP|����:��tw��	�0�I:D��N�Ɓ
�8�]��%�bp��m��@���X���k��a�e�6]
+E�W<��G02F�2���r����*)��[S�
�
�:�j��j������l�ͱM�2�Ibr91�\Ænk��t�4�$1 �	�͒����t��~$�oMD����Lc�SP���Ud�P
+dr�@<�j�
+�z��)=�TO��9D%$�Փ���
_9eJb
�rr5�����
�"թ��Q�e7�t�b�O����ßq�
���e5����L5�+OAe�R $+���9��)_ �UO�l_��s��ù�z��j��y�P�ݢ�ilf!������p�B~��XU&	���,����9��H�h��2Z���3g5�ʇ
m@�[�O��\��PO����96�����D
+�C�X��� h�Og�&)�ªp|z1
t�A\���o�
��.�!���1�����)��F�H9
B��V�n���f�i��D%>@��
q�G���g'J���[4o�M��0
��x�ˇ��ޚ���Uhňe��eVeo�<�3���_*����{�L��
<"�bw7��W��
������?�`�wa"<r�ȅbT�

b���
�۝��.��
�~��=����/O��
�|�%(��ṊY�]���Mk�@�{g�7�9=]R���Y
w�
HN�����$P�,�* M��	8.��0�Lp5/.‡$
Р�䯙 �	d���I� �qʞW�ޥ��R�Q���/�g3�zȯg�;Vƣ�jD&֒�$ւ���o��R��b�4��������!+{��`8�Jh�
�O�`�;=.RьQ��J�n��x4�O��Dëɰ?�mD)RF�3YD�ȣ��	��?�B�'�U
���t���Ur���_���5>�{��x�:?$d� ��<%j�O��2I�
�i?-G��=
OUX#�5X�fa"e�
`�~>�3
��~4
��l��

+	3����&�N
���

�\���d����Y.� u	��"O	���n
wǼt

+�"���KX��m�M<�j���ŶqZ����
-o��\�}��M��1iz��
R:���w��3�߱��%L���C\�`��89�q���
�!��m�f�+.l�	���/X³3�e
��g瞥n����{�^;
���������&�J��JLr��<w�c�O�$4��py���bC�����&�YC��D  6ȶ�
t��8���h%�t�
 y��
�E�] ��z
���U_�lB�X�;��*�e�K`n�m7
B
�������Y	y
B>
z�p��0����~�(�>��|�
R�o�}(�{)���v�=�*D

�YQ?��^��ir�_&��0�3T����nl�oz���u�[�	�`\d����L�H��LO��z�K�'�e����On?���0����AV(s��K���˖��e�� Oq�����
k���
4��=�{Ԯz�~u����>��,�ӤSyj۹��ӱ�Vp��Y��JAİG��]{�n[��V�:��P#@n���7
��Y�o=3�#��U�DޭN�#�wMg�+��%����n(�W��)O�������g�Su��%e��{K��q7����w�'q&����s�ú�!}χa} 쬒)���'�X>^��zM�8����;a�� ��H
]o���P�φ:]d:�3��#k�\?��#�tU{r�8��5������W
�
���Zc��]��Zb�

���f,��n�C�'�7��HI
#���b$-H�T�Y������ʭܞ��#�F��W��?�;��'������Nk���L��K)����UևP�F��!����[C9�^��;c�N�����\X;� u.g����߿~����>[u١��mV�����w��S�e2X�&x�]�Wp����\�k���
+endstream
 endobj
-631 0 obj <<
+598 0 obj <<
 /Type /Page
-/Contents 632 0 R
-/Resources 630 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 619 0 R
-/Annots [ 644 0 R ]
+/Contents 599 0 R
+/Resources 597 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 585 0 R
+/Annots [ 596 0 R ]
 >> endobj
-644 0 obj <<
+596 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-633 0 obj <<
-/D [631 0 R /XYZ 90 757.9346 null]
+600 0 obj <<
+/D [598 0 R /XYZ 90 757.935 null]
 >> endobj
-634 0 obj <<
-/D [631 0 R /XYZ 90 733.028 null]
+601 0 obj <<
+/D [598 0 R /XYZ 90 733.028 null]
 >> endobj
-635 0 obj <<
-/D [631 0 R /XYZ 317.4941 633.2712 null]
+602 0 obj <<
+/D [598 0 R /XYZ 317.494 633.271 null]
 >> endobj
 26 0 obj <<
-/D [631 0 R /XYZ 90 616.5441 null]
+/D [598 0 R /XYZ 90 616.544 null]
 >> endobj
-636 0 obj <<
-/D [631 0 R /XYZ 474.3552 574.7349 null]
+603 0 obj <<
+/D [598 0 R /XYZ 474.355 574.735 null]
 >> endobj
-637 0 obj <<
-/D [631 0 R /XYZ 90 558.0077 null]
+604 0 obj <<
+/D [598 0 R /XYZ 90 558.008 null]
 >> endobj
-638 0 obj <<
-/D [631 0 R /XYZ 285.4065 452.746 null]
+605 0 obj <<
+/D [598 0 R /XYZ 285.407 452.746 null]
 >> endobj
-639 0 obj <<
-/D [631 0 R /XYZ 90 436.0189 null]
+606 0 obj <<
+/D [598 0 R /XYZ 90 436.019 null]
 >> endobj
-640 0 obj <<
-/D [631 0 R /XYZ 409.4786 342.7124 null]
+607 0 obj <<
+/D [598 0 R /XYZ 409.479 342.712 null]
 >> endobj
-641 0 obj <<
-/D [631 0 R /XYZ 90 325.9852 null]
+608 0 obj <<
+/D [598 0 R /XYZ 90 325.985 null]
 >> endobj
-642 0 obj <<
-/D [631 0 R /XYZ 392.9378 201.2903 null]
+609 0 obj <<
+/D [598 0 R /XYZ 392.938 201.29 null]
 >> endobj
-643 0 obj <<
-/D [631 0 R /XYZ 90 184.5632 null]
+610 0 obj <<
+/D [598 0 R /XYZ 90 184.563 null]
 >> endobj
-630 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F7 526 0 R /F11 411 0 R /F33 481 0 R /F10 484 0 R /F8 523 0 R /F1 573 0 R /F13 567 0 R /F67 366 0 R >>
+597 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F7 505 0 R /F11 418 0 R /F31 472 0 R /F10 473 0 R /F8 504 0 R /F1 542 0 R /F13 540 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-647 0 obj <<
-/Length 4064      
+615 0 obj <<
+/Length 3876      
 /Filter /FlateDecode
 >>
 stream
-x��\[w�~ׯ�[��p��ũ�Ф�IZ;���%I}��Jb,�
IIv}gp#�
^d�js���e
��o>�����%�Z��r��Ϯ���<�����cx?��rz��+%�mcSǧ�E�(;>��4�˓1%���[t�v=��V'c&�h>�_�� ��JF�[���W�.�ɲu��Q~���G=M�u%W����_������4�y|7��ֲ��#�x��:���Ԏ���6jIyeؒ���xC��n�?I֗
�.8
��Q�����:
����r٭��d:��R�y���&F�d�M��������]��ofg�p�l��n���d̉}uB�h��
MA���u��ۻ�n���r}BGA1:_ί��0�1�������9-”���Г�X>�R4�0����AE��yY�3YF�
�/��>V��ܠ��i�F�`��Lau�W��L��M��`;?(�����2�]-ڳ�_&�~��
��������^]���]Ol�I�m�2�AT�m�u:��M&GIc	��
ϼ -$'7�a��dؒn�f��BN9�����d�
N�l��4o��I՚�PV
gR��rW��$
�2��6�Gh�
�2l�ʰ9g��t��ieZ
,
x0��jNnA,���Y+|8�a\i�R��q�JhL��q9p�c z19ѿ�x��3�!d
םi
5���jN+A��b�=�D,ΰ�-30%���o 
sa!)� �����>�p̔.sB4w�7䁁6F��e�^���j�1^AP|�X�����h"o�B�V,��X��
(����eC9�n�5�wFA% x1�ðUH5����3H���cA �Y#b2b�^���Y������b��]҃��-����d���Q� ����C7��&l
�'�&H���U�	�d��s�r����7K���&
n�I)Z�h���nS���K�]�W����P�V��}�0�o��[y�3�IX$��5��&�τ�&ޡ�V5�H��
 G
-�tlu̼��tvvu3	]czG(�^mQŁK�L�F0�j��`I01z�^wW�N���fC\"
{{P��0-�Q��8�}���
\s8��P���?_���|EP]�7�f؎3�
�p�.)倝W��t/R��b9q���X��."�3���=̉�
��ex�MПԳ;�N)���h�pЬ`. �� ̈́��
�md�0^v�s�)nS<�2/���|yB!�\�"�?�HB'��G��Q
��C	�s˩Xzt5}�l���� F�c
-�u�ڽ^ߡZs�:����ܥ
-x�t�ˠ=�
-�/s��C€7��?y��
�`g��FB��rCHA�k�dD�����k�
-�ܫ���C�s�4�G��X>�/�l�������:M�4$
-C󤳁�p㬱� ��<
-[�i�� 
��5Xa���#
��X�w8���`�1��C��U�	�JD�  �:�u	��!�m���
N�we�K��U����=�G����cխ��C�Җ8
3��ܙ�]2����A᪸�USͲL�����-'��*(���"M>���u��%�=<�ZtgS��r=z�?Uh
��Dx4��� ��\�
-T��6T ���n���u�$�!�J:��.�d�����XT�A�I����]A�y,��0+��\�W�����W<<`r~�� k(?���q`l'�� ���|���!!SF�Y����6}tZ-||��x�W�=��+�}q>l0���nc��j�݅7)�C5�$b�������}�1
-��Z��#(��?��
����H��ۼ��H:g�Ц�J6�Ҥ�����V#T�Xd}�(��Y�T� [(��kpX6�\,�U��I�0�>�!9���
-���#fH����!s*�)�J�m�,ȕov}ن.�҆�@����$�B��IPk㼘7ᦙ)wA
�  Q�J�q9� @�*�J��s���u 
���&���Z~V���Y�����hj��&ӳ��Ųk]��R@�	d#I�/�5�i)�{�����'h8Vf�X�}`�֨
	��Ew�%!��
A�� p&�1|k�B���,dZ��9@����vUH��x𰖠lJP�HP�'��J���=XoJT�t���!�)��
��L����m���?�@GA�-g���*��K����
���+��H��tA�J$�
-$��v�ȠWW'R"�z 
-��]qZ*0Q�,���A� �6�l�8K���w�k?�Q�
�7�˪��ͨ�yO ���c���Q�p�I��e�`���=,�0[�L���|8z��+@��t��}�lnW��b�����zKڗ�Q|�3�ƥ2����Z ������0���O�C��t�U�1qQmFBH5�!mYK�0y�IHy��J=0W�yQC�ƍW/��9�
s� ��P��NK�J@�E���
P*U
b�6cbߌ�G�1�o�x9aEK���~��Y��j(A%��+�Â5�-���
W�s���P��.�o�:�s�cN�ɭ���<2~������|�l
�@�Xta2Me��).ʞ�H
7�RV�H�j
-xP�H�z���y0)�w"��ֈ@��.X&Y��V��P ��tM��I��)/vd
��k�YL$��͛Y��A��_�w�]�xҩPh���.��Y��Z�mtqn����Ɣa}�Lu��`��}6[ � ��I��>I�j�������+�1��>��a��gI���t��8Pe��ȋ�߻��wsѣM��^��
��)pD���y���\%V�P�V���p��Nr�j��R�
7�Fm�B �����1����3��[1���*�,i����4XLWN�r!,
p�^�*��
�J����m
�-kHBKc�mt���e:
�8k�ex ���=�p�`��8V��d
-}䋖l�=7ڔ|
-c�|ZV3�G,�a�R����t�ރt+���|�I:��
�}�8 ��IEv�)��� ���1���0Z
��\����\n9'����Dx�j\�B ��$We88g
�V"5�(�Lb8t`8��v�f��Y���Q���ȼ-����aD�j'&��b��8�\H-oq�0���Tv��M
wr�A�B�LV�P
-��Z����%646�7�Z|{^9[b��b?B��ǝ L at r�*c���rȅ6�I�Q��s�۪
X�:
�@�^���Å��7U��᪬
}��~�����O6�k�h�鲧f��z�K۫�LɆJn��lX&��~9����zJDRW���8ūx�3�w׭���x+G��B�^��������#�_��, at A��s�49�/0]�m뿑 K�����_.���b�U���9@������9�<�����é�JE XV��ϰ���y:l���ګxԼV����šf��
	m�|x1�@�U�'���
��9}]�
��V��|
��)x Kx�njfo6s���
2��Ǭ� ��R,#5M�(��}'��R�Yc? _���F��$�
���	�2Q�x��m=A���AF���m
c��%��[����;���~G����̴���S볽�����[��%���,֘X��˟+0�o&AlK4ޯ��	�����
��g>�U�@eE��'^%ZWɊ����MI��
�VK}�jg�(�轸e�,OkC�
3������s\���_k�%���T��~��L�w&�I�)�Y�ޤ��Moj�*�:3�ۗ˙���_ɜ�!g�M�n̆��=�C�дf6�t���
H�I����������R���h�ہ.���i	�Ko��6	� ��l?T�y��� qHE��z��+�H7 8Ed,���	e^��x&&��P</櫸�3���qd*@S����+���"���~�"��3���W
ZE����/�u{E�/-@ +���nF��w���-��o}H���
5���~����2P-�U��h�ĆRq�WB��u�����O�������Ǫ[��D�Q�����E���a[iS���$��T?v�`24k���_ȿ}s
���ML��q���\rD<h�|�^/�>yrwwל����t�l��'��Փ�^�] " �호q�RX
+Dm�9r]�#Qv�J���Y��.���U�/
��endstream
+x��\[�۶~�_��j�-wv���⓴v
g�'��%�b��P�]����
I
]�Y���Ip��`0��Ptt1��g';;y�#K��ztv>�tThFg�����nO'�R:�q]��v�ZnN'\��j�_Í��SF���P�����e5�K_d䘉�_�~8��������ͩ�B��W'�����0�DX3��RW#�\��O~:�i�ͺ��Z���B�^Vм�=��e=/�.*7 )��U]W��j9�//��v��gr\�f�,���W�r��e
��^N�p[��e5�F9�j�ߝ25^ա�9H��i�0<�^V�p��)oc���^]9E�('���p�
��V�:=�����$)��_�_��~h
+z�<�
+��rF��� Q�4��0N� �� �� k�)
��h���Y�(�.��݇��r^Ƿ�u9��m�؇�T|�s�؆���b��V��^�pK�6�I02m�� g1F���Q�� ��
+�h-�btXOAd�G�TLE1�V'�)T������VB�����j�Dj;J���Z�V!�qޫ��{�|��A�n�
+
����(v�̥�� 
&R�]["�=`ֽ��p�
�E2B����fQ*����cք09�f_�|��c�Lds6��4\c�f�k
3Rb�E�qL�a�Zhb����=8]!-��%���<�(dp%��4��g�� �����������7]\x��ͺ^�VM�Q]<���w֭�]ק�� ����!�B���:-�G���+�x¹i$�K�wΨ'��㲦p���l��\�
7.�A�}`��Ƒ[>^���V#��1�!V�J���W��X
�p��%2J0#�ډ��zUW���oxhǶW��鋶��	�(mon/W�Xq�	�QO6���
��6�Y�	��ƆE2T�1I=�P0�~��/]l
��j���ge�
]ĵE\���r���Ŧ]w��\�芇�pm;��%��vY 
�\�_�W��éVM��k�'A
�:�+��H��`,�s���1��nX
+
�s׷Q����\�_Q�[+:��
+�&���ͽp�m�v�#�Ѕp�k\����<XSǀ5��k� T�/��c´�K�Vǀ��F,�w��
���>�������%>=��R&����Ga/�W�D �ԙ���쨄�LxU]�
ap�z�o����!+�s�����h�?��g�l��
5VpT1^���e��=�`+��o|0�����[�𺁃�ݹ�P^�ޫ�{�*zHw��N8FxS.Cɋ_����P��$ɼ�]t p�b>����5�X��9�@"�0�C�Vu�O�
+����\n���y�
d�q�C���Uq8�g`9Eü���D����=U\a���L��[7^d=pM
o=�
+"!����A��Xt����H�A�qm}��<v��ܩ7�t�tP<\6�6�x��lD�x��K�O�`UK��Ln5�T�lS��"��_F����Y
4�zҢ;��
���`�3�ͺ��
F�PT��U�� '�h�
�(���<��
��u<���E���H�sއe\
f�
ny��
|��
Z���p�f�o�|H�S��*���0�@�� tra���I �
�=�� �v��A��G+��R�r�
5�	3�H%��EeUؾ�P��w	{!��mO���
Y��|[Ս����ߵ�
҃f#���o/��

�j
���v ���9?4�GQg����u}P�����#�v�
�Up�4`���"��ϔ2
�߽��=�#���N���[uz4��JYO���J8>�(��ͤ��pi� ��e�
�)eIrxcZ��܄Z��el�/f�F�Ŀ\�B�(tޔ�^u�#oX6=��8ecO�(�
l�x�r~��Md��D�G����Z":G1@
�P�\-t
⡬����t�/�}�/g�iS�E]��[��<�/"{�
��^�0i��7a�2Am:X��&B)V�lV�*�6�n���\
	U���h�^�9M� 敛p}�3��}��
G�
G��lG�"��t|��0Ѧ��J�R����ܗ۾/�i{�. ��e|{�5C�
jVM��_��g�7�>cDW/���ёy^��	��pN��O�ĆX�/�S��y�r}T��"Y�;��+�Р[��mz��1� �l��=O�z|�	$Ra��p�P"�sh�t��+�/������>���H�밻�5�8�ݮ���m.�-�$�����t�#�+Kt~��c<(�(�ǘ�O�ϱUk
�C^�q�cw��R4�'��(�A�
�RԟQ��1��IO���'��B����iC�

J���`6���8�!�����a�}2�)�G�\� ��I"�c�ء	��	�V_/
ۿQ����K�$S�X?p~bl �X�_}�N�U{���
 �!9*?;o9l��x.­�!����H$�
�\��
�*nWB�A,�
�c�9݁���~�0k�ׂ�ӑ}����s iV�ǚ���z�b�P�-��{
+x�T����Ȭ
����	"��.郉�
�v�^/��
+�.v�<Q
��^�:t��a�M&T����k0�mܷ=0a�y�`�G3��	��z,�혬�͎����W�._O�ӑ~q�n�]��)��=4�$�G�is;�T{��Q���4??��"��s���!^d�H�������

�#�4M��<
Py$�P$(@�ܮs+�%T�0�sG��M���� ��A��"K�c�r��N��&P��(��
+
‚�n��R�"oU'b��Ι�{�a��zM��@C�����
��S*��q��Ʃ��Ɖ�L�����tu�b����Ʌ����&�x�~��9x��~v��� �
���G�����#�3��F
������?ެښ���42
3�(�Q��NϦ^c��8�T
%,����r�4;Ƣ��ŷ��e�~\���(�
�{�bȂ�$6T�k�B��5@��5��#�6��$$�;�
ע�'�f�
+Zb�=���s������Ճ�i�[��
_�Z�}���&]���vd�7��TbW� ��j��F����<��l�;C�+�UX�.� �g�_
�;8�
U��R�N�F7N}
�����'r�/HA�Y�C�X�2y��iv��[�q=y� ���`K�3_�����
��"�ŁTTpv�uHja8Z�X�pV�6��
��
+�<p<�!k�Y8��e� ����
��j=�rѲ c�c����v4&�&<vt�mA��U
v����?oρ�#`�9捥j�@xTn
�CŻ๸?x^�Sr�9i�VG�US�t��x`<���K�0Cn$���Rט�ay��v�Z��N0��Z	�y�:i��8W覑Cɐ9�m��@%� R��kV�L����AT��o;7�nw���C��&&
�kd�܇)��f�8P�iL}z��ۛx�m�����W�>qb�����  �m�%x�����
ϗ�6�
�1�Hd�;� t��]�Rޝ"7}�\t��z/���黱��P
cC��V3%��H���0K� ���r��*�o
�$VPR��goJ�8Sj�}�A������lc-�W?~�$1����wh��
M[�ǯ�9�8
��͕H��P��n&�s��e�vf���q���{
+H�\�� 
{��X�E'b7:y���FN�h
 ���p�}X�����R^��� KC�B��^m����_0'���'����^����}�M�-T�ß=4g�ۂ�O$4���c�C���n��
+e}�����,�;�z�]x��O��?�
���꿜*5�:x^.��9E=A7H: N�;S��+&�� ,�sUő��5w?�LFBiQAX��^n��Ǐ
��ޒ�\/��̷���ţ�l$�v�yC�\��~���M�`�
��G�
+endstream
 endobj
-646 0 obj <<
+614 0 obj <<
 /Type /Page
-/Contents 647 0 R
-/Resources 645 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 619 0 R
-/Annots [ 662 0 R 665 0 R ]
+/Contents 615 0 R
+/Resources 613 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 585 0 R
+/Annots [ 611 0 R 612 0 R ]
 >> endobj
-662 0 obj <<
+611 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.6526 86.2883 290.2075 97.1923]
+/Rect [235.653 86.288 290.207 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (main_GDDetal04) >>
 >> endobj
-665 0 obj <<
+612 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-648 0 obj <<
-/D [646 0 R /XYZ 90 757.9346 null]
+616 0 obj <<
+/D [614 0 R /XYZ 90 757.935 null]
 >> endobj
-649 0 obj <<
-/D [646 0 R /XYZ 90 586.497 null]
+617 0 obj <<
+/D [614 0 R /XYZ 90 586.497 null]
 >> endobj
-650 0 obj <<
-/D [646 0 R /XYZ 90 572.6713 null]
+618 0 obj <<
+/D [614 0 R /XYZ 90 572.671 null]
 >> endobj
-651 0 obj <<
-/D [646 0 R /XYZ 90 372.7059 null]
+619 0 obj <<
+/D [614 0 R /XYZ 90 372.706 null]
 >> endobj
-652 0 obj <<
-/D [646 0 R /XYZ 90 358.8803 null]
+620 0 obj <<
+/D [614 0 R /XYZ 90 358.88 null]
 >> endobj
-659 0 obj <<
-/D [646 0 R /XYZ 90 230.6499 null]
+623 0 obj <<
+/D [614 0 R /XYZ 90 230.65 null]
 >> endobj
-660 0 obj <<
-/D [646 0 R /XYZ 90 230.6499 null]
+624 0 obj <<
+/D [614 0 R /XYZ 90 230.65 null]
 >> endobj
-661 0 obj <<
-/D [646 0 R /XYZ 90 216.8243 null]
+625 0 obj <<
+/D [614 0 R /XYZ 90 216.824 null]
 >> endobj
-663 0 obj <<
-/D [646 0 R /XYZ 90 87.2846 null]
+626 0 obj <<
+/D [614 0 R /XYZ 90 87.285 null]
 >> endobj
-664 0 obj <<
-/D [646 0 R /XYZ 90 87.2846 null]
+627 0 obj <<
+/D [614 0 R /XYZ 90 87.285 null]
 >> endobj
-645 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F33 481 0 R /F7 526 0 R /F8 523 0 R /F1 573 0 R /F11 411 0 R /F67 366 0 R /F74 478 0 R /F10 484 0 R /F30 655 0 R /F12 658 0 R /F6 561 0 R /F13 567 0 R /F80 564 0 R >>
+613 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F8 504 0 R /F1 542 0 R /F11 418 0 R /F65 376 0 R /F72 471 0 R /F10 473 0 R /F28 621 0 R /F12 622 0 R /F6 538 0 R /F13 540 0 R /F78 539 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-669 0 obj <<
-/Length 4167      
+633 0 obj <<
+/Length 3949      
 /Filter /FlateDecode
 >>
 stream
-x��\�s����B3�Pj�x?�83iRg�6����8	M����PIʊ����;�|HV����
� �X��o_w��;u��(C���t�8���p���
���t�__�<z�թ#Ns}���ϠQ����Fpy6f��ѷ��z��W��٘+:Z-����B�ћ3FGկ���3�o���z�oY9b��勯N����'���fH�N~xIOg@�W'�g��-|��9�O'��������v���Ai׊�c���Z�f��ƍ?;�
-63���aw_�̷���
-�>��r���"��^��� k���:�8��L�w�r�
-W�.��!�
=S<!��K"�c����|��g���h��D)C^�/.`?op��g
���
-`F���zu���M=�fa�Wo��mC¼~���ߞi5��(>���qo��2
���Q4�=��(��D�v��gp~l��H!���'k���j⌰8Bj-
>#�I釕تJP2(���^�YY2|,�#܂Ў#N)
g

�F��_ؔP�t�H(-P ��L��:7֟ʔ�|�F�6�6|�2�7Q���qf3��1�����ƫ���ұP�5�
����0�$�!	�02=
Z�Fj'��x����1�3�_�)~����sM�d&[pljd��w����3q�����D���S�!c\m�%A�>�J",�b��q�d9+I��9՞�X�oNn�4�3
� t�dZ�X���&?��I��V�yaG,g6�ь M�m�4��[Pz:��. 2��t�v�[�lmm���Źk�� op�"o8��X���ZW%�0bU���ڢ�iD7��E���� ��-
0��
@WD�W=+����I`!8X�1 �&��
-�	*�T-���f����0���qO
J�1�: $"���&�P\���+��^�[�,�0T�;�W�U�4�����!#	GY�ܥ��V��	�3#4+�ۘ
A��@�c*�$��lue	�ihL-�OT�e�E�Є M7�m~�3�|¸���-�YU����cl9
zSخ#�ΙZd�@��� C���	���}�����R$PP�D`��`�� ��f���E�M�LƔo�;��' @�@*����]� HO��7�y@�lk�y0��K���=���pޔ���6.��:��
�h`�d�"�v����`3�F��0�e�@��D1��2#J�8^�)c�X"j��d�*�
��	6��Ȗgݵ���p`K���.ϵ�SfP:���Qɳ��|(߹�:?��
=J@!��$'ٚ
�Dsgs���%��V�8���f���di3�$�="���Iߏ�(�z���(�����!QeE�2W
�]�.0�\�ؐ�P`�<�H�iXT6� �Ssф��K#�7���φS�%;�43��hW\!:˒�~aB@).ر.v�:���(�g_�d�	X_��
.�Rw���	����?`�L�P���D�QT��R�����-},i0�=
-����ҳ�P�݃`�<�����-�\��T?)���8��
sG����|�(����M�w����xqq/�x~¡���E�gN����
-|D0g3)�+8�

�L�9&W2���n�N�n� ��$;�C*rY�6s]�;k����;J��;f�z�
W���=��cA�
�q�DWpF���C�\TP���BP
sJ�����CK� �ƨ�ý��UC�ya9G��
�U�ն��\��zV�I��ow���ͨ���2JvZm�
Rభ��'!�ˬ gC	o�@�e,�5i�US�
�&�����z^�W׫
ַBa�_��͂3�`)�L�5�W��8����؎�?��<�<�)���?���9�/�XG����+z��-?�-d�C%1�k� �ZضT�b�����
�A�b����QU'�5��酗�(/Ό
�'��E+��W�Xr>X
}�l_��6�(��:�P� �Vw�$t�w����#�B���Ѕ�&j3�ˢ'c9D��d��+1�ŝ\Xh 
@����V�}A��uS�M��C�{���

-���
�ץ·s
�ȿ
�E�hE�94toe
H)���b�m��W�TU�÷���*�T �N)6�y6�U��op���E��
-��6�;/��<�o�
��|��'(�
-
�E�{��
�א��I+a~��
�^4ߡ(V�,�m�A(�f��
�:x[.e	�U
67SN��*Xm%�1y�R���2�y�����
���&��=���'�&��7E�v+so/�V�1���Ji*�`n�ӕ<�T<�\�X��
�����E/

-�9�̋=��|�΂�ۦ���QR�η����z/T�J�M�<��ы��Ue�Mt�	�H�6$����sb
�Oo�������\
66�j'j�*���L��D�y�6�	�R�A���v�XL�����)/χ0;?�;����L�R�W��壀��r�!z�`��P����/e��R�l�wP
QH{
�����E�{�4/UPzY-*�/H��J��w��~��+k2�q�QLr<���P/(�Y�ҤP��E�<�i�,���$�Y�JE�"�
2���Z�2V{rl&K���IDm&ű4�߯JX)!�dmұ���V
E7��
����ܔX���c�

B9Út�����\a����	�/�;.k������TY����tc:�p������eiF,
nzy�
���6��e\���&�~�7��+�F�
��hI
��X����&��Q�o|V��I
-UW.!r��L�:X	�P1�C�%�)�Q;�����]�]\���h�n;�;�u��@��d	���8V�ji�� �e��i��/��c@}md�z�S����6q�z̙�i�;�Ac�D�7VL�P
�"�~yُ_{
$Jk����.���i�:Θb�~֫4�e�n�C�<��%`wŏ�3|Tl����]��J�R}uȷ���UDZ�݉Eo�4w:W�R�IS�_v��,|U�=�F��~�ہ]˦IY��	���8��l�5�N� �.w�6��O\���{��Pxz*�b��K�ĶL��=Hv��ﷳ����w����neǓS gFiq����;�>~R�5N��I]F�BzZ\yR��t6��	l>A�!�n�B
��7�|rpK���k�
����xF
�vt��L
���H�!��~)W���<��x�N2�72|������H�\W�z2���M���ŧq�޲7>�+��]%j�|��c�x�����;bF�Z����
-�m�rKU7,.j\��z����f9��i�d�r	����,��j9n��l��6~�N1ٮ�_��O
�L��P#��Snq�‰�7��r�d
q�>:<7�\7���5�!��ӎ����<���O���S��&�;�h�c��c
�^赆}��?���'��
tAL���3;�&����I��^�1��B��)�B�|2�z>��68��9�x�m>D+Βf�L��y��Wx�T�3��>��7�|��}��$��H������Ba���6tO����4vM�7��M+�
@7��Uz�
p
-��m���xV��c�50�?��帅������
��U�'�uw�w*c
Fn&�8�;��oN��W��p\F�iZ>.�V��<�g�
�J4A�>�22ϓ�- �9����|O��_�|E*A���y�O��$���B��b��W�7���*ܾ����e7��
\�u=݆��l���W���X�� dMB��2�Y�>����m��';��*)����G��DA���v�̸�$�b���ٻn{R�5x��p��7
W��G�լ��K`m����$�|]/gq��
?�6غ�W�ݢ>���^L�7���hVm���^��XOí�fS_.A���Ա����=]jk�s�vA�
}:v
ۼ�0�����C���\-�>EI���v�xDG�7��lC�-��Q,�쩑%�cu�)E��콕�ġ�ȗ��1��q�-qT;���2��|��d4��8,�I�=X���\���6G�\m�<.�Laˏ(��
a�i���ua�5h�_IS|ǩ���.�
uc�^�==�^q6�G|���O�?�)5���z��i��)ڀNJ�T
h�/m9��A�;j�?%eP���is���������gYš?�ρo�׏=���%�
�Y��kRo�K�O���P	�鞃���d�V���dFK��Y����|p �
=�.V 忽cjendstream
+x��\Ys�F~ׯ`�>,U1�s`�HU6Y���$N���I(��В����9 � 
R$oe+O��LOwO}tr1��/O�����
%&9�W��瓜N�bDr6y�������QJ��]����n��3.�t���EF��O���{/O9
X}�,����e�)�N߾����O�s�`y:an9��r�X��yK'K������ɍ��d\��j����z�t.U�&��@��S.��e���~s�:�W����\�}��s�y�
�
���-۝���j������_}�i�gw�����t2�Y�|m��O���0��
l������9����
���ޮ�󲡻��`l���n{���}�,�~ų��P��*�v�݇S%����Ӌ�2��c�����*���#�E�
%*W��/Og��)�#�FrN�L6�F'��Z;Bj�d�H�g~�UI��D��n��e�4^v&�p�`^Fr)��g���O�LL&*j	P����U`q�����(�Ƶ���4
>�A�෶0���Dk^-�u�Ĝ(%�ߟcB�$�!�${��Б(2¨HDA�Y2�Ǣx
+�P�������>����"���'˭�0
�p��]���K7L�u5�!��|�#aޒp�zqI���������W����|�� ��؀_a.�ܔ`i�)�&�����y}+�
�`a-�l�>a�&F��ő)rbx[?��:�s��Nf�
�
�}ce��IM�V��f��O�����uz���,v�F�Cs
���
��8{2��f��B=8X�v�
 +�M ��m����w	`��
����ﻇĚ8ݠ������y��0��d�z�
]&���2N2P����F7���-2
~i�08�5Y�a����bƏ����� Y�&�792Y-Ռ
A$�<�$gad�@�����
3D
+6j��ܵ�$ �5l����I�����Y���
�SV�-*����Fs0b�3 z��
`[�w�&	�'�0�]��r"���
�рW��W3y�:h&2���G�����[ ��9�}	jS��=2
藉����K
B�sO��k���`��cP�a�-��hQ3�E�
��Q����-iH�Z[L(� \r����
@<����A�?�>9�l]���ڶ��RS5v�3
sy���
����4
{�EW�ӓW�'�z���`���ZJmMuW�-W��J�qy�8
-#���j=
��fR��
�����l������-�WJKc�[jx�)�	���L

�\��*ZL
�_-�ew��YR�Z���V?
+���
��9Od�� F��C"Z���X
3$`t�r>����l�;�2������A6{ l���CX�G� ��� *S�>=���
�\l���6���n�º�����.�
��Y�o	��z�P޲�OQ�W
�8�	�P�AP%���VU���#P�\�
��G�� �?�G�A5��٭��`jQ0�:��?�O�"Q�
+�T$�P6O-Ev_��
�c� 4��[��/({�ǒ�
+���3�Yv��X�I���d2A���Ng��
�Sb�
.AB�_
�
z4�+��)J��mW,�0h
3-�����ZNX����ط�S��nY�1(z*X�Z�����!0˜��1Z@�F����-3\
鬚�YU۪r�۪x�^�����J]^�W۽-M�����"��"T
��d������/�(��ކ��*�R���&Қ� �PYS�Ce����b�ͼ���iQF�U
���q2������f^����*TIK/l��%��yw�
3`g
T��+����42�
s�S����"�o{���h��
ED��Q���i��&Y΢��ӛ�sΟ
]��SK�F�.�Z.��X,1�t�9���stN	ʻ�nޟ�֨1"e�5

�x�7gM1����/\a��(�kk�}�Y��
+�c,O������NHЛ.���� d�m��L�
�r��s��V3���֍��ԡ9�x.������P̬��i�Tel�
�
ʸt���n�c�
+[�;Ҍ��+8����U�i[`3�H�h:����ke�=&��W�m�V
�i
i��Z�M�ּG}<�8�O�`�F67X�!�m����#��`2o�C
F�}{��x9��;�����\���.	�n�u?Q%6݁��[؊!�1O1udO��4���k2d�d$y0�&B�\N4���j�6����9�zJEmR�B;��(���%���B
=
~��MP��."J��p���}�b���;I�M+���p��_����iѱI�?-��i���iF�+"�n 9,�j=H�G!�Ⱥ�큸����a��
Zi
���.i�;��h��
�W�vC�D#�`��M
#�
B����z
��A$�6	�@��9JX�Q�`�י
�A_��>��6�U��4|�&4XG�� �&�r�y
U���ċ�_�
���qP�/v�m_5�ݥ�4�ؐ*�����*޸�
j����8� _�q鏨 }�(
��2
�
+6��C̩i}���6�g��\c9��.��ݲ�4���
�����0x���R��9�}�&<�����ˬU�R^��6�/��4�d�]ö!ldw�c�tC4j�%�Wj׈���P��m]���`�F� 16`�����w��尨*���UF&=�� =���֫��f��f�;C�o�bE\ύ=L�P�C�!�hۆ`x��n5FH�
����P�a��~��"t�X���'Ѡ;��eOi�5�e��m�%���D�ʘ�A���.A�?�q��sVb�D�d��?�lոw��չV�nZ�Q�SI5�Ъ��7#
ī�IT���������G\���]�~
����֩�G��
+��᝶5&
�C6a���O������}�{!=O��~i�`&&t���H={��'LG��3,q�U�X�kd��L��&h?��� T�a*\�ɧ�[��_h��~m��S��ƎJ�<��k�}�������B.�m�!WP����!��=�	�E9_�{�����g���C�Ѻ�}�TH5�Q��b3�IL>�
�c]A���F�zb3�P��8�g�K�<Y�����`\ٴ-�!�����f�~)Pb���_e�Ŵݬ>�[�'SEf�V
�%�_���7�<iD�<�Sy��}ټ�'�
+���
�
$�
WC�{D�s����E��v/��7��
�!�͹y8�DriX�w�s�l���������{z2��bs���S`�����n\̎Ʃ.�n�!;��pZ����G��V�l����‰���P�d
��ij���f����!X��(��h���,\��xۄc�����텮��0�_
��oڳ׾
+�~>Tdϯ�V�"���_����:{�cܼ���j, (��f�G���r

׾��T���N\���w \.����j��>yM�������:��
���5X����n���!\��=
Ņe�T5���1q��!yY�W��eI����D���T���
γHd���$�h\@��z�Ε������߾އ�^|Y3����]�8���l���j�V�9�W�w}���b�
+M���
�F��LRV����5�R5m���˗:��S�S���Q at _���_�����[�+��W��vY��%�~�77ߕ�e�ͷ��_mSjYuܪfQ��/,V���p�tY
�ݺ܀gX.���~_^l�
��C�5�M�$��{�����Y�x�*4*/`[n������f��PD�E��]"`ڥ۾��^\�w�=��B��r��Y��5*&%�:��-�jT�J
:̷���
f�,�)I�@�Q5{�UX��
��������K�Ľ�

��$���K)�r�#�+��'%����v��+�/�~�w�@���=W��w(�/���메Ӱ�o��J!���4J@�
�	�\�^�(�N���M����WEE}*���f��p�z�����
Y�����ڑ��@�q»���H�����vW���u�z�l	ῇJ��
+endstream
 endobj
-668 0 obj <<
+632 0 obj <<
 /Type /Page
-/Contents 669 0 R
-/Resources 667 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 619 0 R
-/Annots [ 672 0 R 676 0 R ]
+/Contents 633 0 R
+/Resources 631 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 585 0 R
+/Annots [ 629 0 R 630 0 R ]
 >> endobj
-672 0 obj <<
+629 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.6526 450.6726 290.2075 461.5765]
+/Rect [235.653 450.673 290.207 461.577]
 /Subtype /Link
 /A << /S /GoTo /D (main_GDDetal04) >>
 >> endobj
-676 0 obj <<
+630 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-670 0 obj <<
-/D [668 0 R /XYZ 90 757.9346 null]
+634 0 obj <<
+/D [632 0 R /XYZ 90 757.935 null]
 >> endobj
-671 0 obj <<
-/D [668 0 R /XYZ 90 733.028 null]
+635 0 obj <<
+/D [632 0 R /XYZ 90 733.028 null]
 >> endobj
-673 0 obj <<
-/D [668 0 R /XYZ 90 451.6688 null]
+636 0 obj <<
+/D [632 0 R /XYZ 90 451.669 null]
 >> endobj
-674 0 obj <<
-/D [668 0 R /XYZ 90 451.6688 null]
+637 0 obj <<
+/D [632 0 R /XYZ 90 451.669 null]
 >> endobj
-675 0 obj <<
-/D [668 0 R /XYZ 90 437.3294 null]
+638 0 obj <<
+/D [632 0 R /XYZ 90 437.329 null]
 >> endobj
-667 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F33 481 0 R /F10 484 0 R /F11 411 0 R /F8 523 0 R /F7 526 0 R /F13 567 0 R /F1 573 0 R /F80 564 0 R /F12 658 0 R /F9 601 0 R /F74 478 0 R >>
+631 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F13 540 0 R /F1 542 0 R /F78 539 0 R /F12 622 0 R /F9 568 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-679 0 obj <<
-/Length 4977      
+642 0 obj <<
+/Length 4766      
 /Filter /FlateDecode
 >>
 stream
-x��\�s�6��_�{:�&���c�Ru��e��nk�6ާ�^-�6kdI��q濿n $�${Wz	�@ht��MvN���
=7�'�>_ܟ��[(������|�V������:w�i��/o|
��?����
./�R:�˦�V�f��]̹���*��ξ\0:�	e�.8TX~�����/�r���?.�t��
=�\%4Cj~>��?��5���3J����n(a����3�E{�<��쿻v��Bi��x.$��<8-\���E�dZ�D
-+ϻj89?q>��W�<mp�cWk�_&��Z����j�T�p�լ^��[$���&�JN:�w~�5ҵ�e�&>�Ztf�U4�d,�Ce5��2�8#,VPD;�kΈt2PYjG��<Oj}��z��L�����
�I�+D��*VI5�=.m$�'`�1�p��Y`�Y�
s���b���+ֻ
����X��
�j�ؘ��Xo�
V�ms__�� 9-�_.��Uۦ�Zֻ�#�����
��K��P��7�zW�����ݦZԡ�5���M��0��EZ
W�8�x—�����U�C;��.7��]�9���ǂ�Ў��
��i�#���6�����o�~�M���'OP9���Ⴭ���&J+
�0ۈ)SC%���
e+ �9, ��#�F	0�7�$�&�Z˧$'� �O�b,!��dr$'�mEH2�i"�G8pn�veˆ��\ � ���e������ ��D�`���� ��T�`�^���b�
 �ju[��P��K�r����GR��h�Mˏc=&��x���H��V(7��4�����%
%��j��Xq��+
w�u,^/[x&�-���o 4��z��`��ju
K6�����
#��b��u��-{ց�����Bib���֫n.��݀0,��{!r��]}
4u�n륧
-��1[U����V�o�@��
�Z_��w�Y]�8���d! dne�e�P��0@-�-{򋹤��X00��
oY
:�d�Ó�pU F � �0a6���e.òV<%�4�-!���8��M;��%�}]�žY��ت� �7�����c���F��XY���d�|���R�
7V(�4Jx#�'T�`�p���W˯�J��v�z��a��F�0�z��K��]��X�7X�Oa$2T��
��H��&>ib'�n���Q+L?�
Ԩ���|�v;
-�j�[����i
�N�C�n����`J�6
�c��7��oK�PP�C�'�`�[��K�Y�9b$t������w
i[��?H��~��a1��aɚ�m�hD+���b��
��ۨ?Q�C
 K��!e;�����C
ƙ,�(t�	��ad�r��	��B�C���8mѼ����`�\������
 !�e.Lf�`7/+,-MNQ�1#=��?���s<%����ӧh�Cv�s�Z�q
��md���Z͂ד�&UQ��kX�\2
2mڜ���C��ᝇԨe�i�M�ob��ӼЎ��K���I^u�f��N{��Ϯ�- ��S�ƒ
$���t�`�*�
��O�-y���Y2�-0�M�2��2����e:O�},Y�Dr�R�X ��e�M�َ��Ҕ���61�3�}�<��l��Pj�'
�f
�4�q�b�}�e��*ɗlrh8�bih�^��"F�L�� ��i�q��4���K��	RM�SbZ�ū��W�	�����L��/c�$�ܱ7����{��v@�����)��Uʜ�#�Ik��ۤ�4<}��9����8t�a�e��U;0�K���=�I1T���i�7�C�!����8/25��U&��q�+����Ɩ�{Sh��h��h�
���y�Y-J����ҽ=b��:]������B��G�,��
�1
-,�9����Ʒn�l����k����56��
����]
-�d���<�[���澺��k���m���u7I�X]���d[���������j��Z���ܓ����)D�T
�������2��E�v-F�-��U+��pY��o��\A�$,^�Z$f[��Fc��GxgY���������nR�~xX-<U���lDHf�M�}*5��
-�z^O�A�P�N��G��5>�g(q,g*:ǯ#�@mQ�w��a��v���u��\�+`v�简�3�Y����$���(�|��
�th��%�]iQ8�F�-\e7
�6Ե����
�m��wܧ
-��sB =pP>���{x��P!�s
���"��G�Q(a5���

���.e�
�i<����%��Կ9_��U��M)Ϋ�
-E��� Oa�`��|(��=-,�7�����G`���w�/%O%'FLu�
�e
T<�v��N���.1����Ii���aUڴ0�r�(x`���{(�{����/E�]!����������
-�P����s;���Ka���l�X2��}�1����rܞ��� ���<�ld�(��MJ�s鐙��q
�`�m!��1�P�_PO�m N�H��
-s`c7�`�*B�d��\�9�h�8�������p�+�^Ih�����PDJ��r�+
����P��$(%�r0�9K��S
HXf�:iЕ#:%x"s\Ē2�!lg���'��~���62G4.��,G�|�B�лjˣ*Y�\�i�.���=BnnyG��UŨ爊��SS�
-��SS�C���<��AcVKyRk�Ԛ�����J^�미
-Ϯ��UЇϮ���QV�J���0�"8;e
�qa[q�� �S��-{���,�%
�b��;�X��0!��r�J��L��bQ�½D���,C�+L�.����`c�� Dpг
<�zɆ ���b�������+�;��$|Wv�
�
�郖z]�`9�MH�:�{��
�L���}���Cd`�0�) +I	F�T����Уm.
cN �w�����z��a<C�

��1>���mSB^F�>Mt�*k_#�����4FD��D���7�;���m�ېo�A!������(�a��"��;�ӑ
�.�V=!�^�������3��$sַD)���nh��yGp�M�Z�#��%�@7�Ц�mֻ&�'�
r� ��ܹ#s���8>�������a�Ao���
�� ��x
2����j[�N���(�$?_m	��S����E��i)b�)b_J)bݲ�w�#&�<,�F��9��X�4M�j�%���*-:���g���'c�t��EI|#�9'��X����@��\�b}*�m�s -K�݋
�������P(�}�8�͸!N,��)i9�b)�@�&��mx���

-kڔ|�J���ɳ������]D���&3K�����cxv+�i�f
�#ھ,Fi�U>��d���p����ӂ���\�e1�
4�y1'
�:�i��\�V0���a�3�}n
��>Uȴ�
f���K���U�k��ŀ*g��t+�?��Rv�Q����6'^'��X<Q����q�׻L��0Pl����ʻ��jU��4(0�
����" �󹤔0�X�%��n_��� 8
�� �B�am>!������;�^���t�=>
������jw�ކ4x�sc���l��C���[�����S�#�Y�����<(x[�p����6$���އ
���d5�W��X��D
�}~���c��,C��	sU��gg#?�QϞ���b�����L�M��*D�߀h��8��W��1�О�zX��/�m��6H,�%Q��P)
RE���لP8ȩ�3
���Vp�9G�����bȼM�hbx48�t�N&���Yt�.c�b#13@�b��=|*��Ig.sB�

-��dI=`ڵN���!!���%^��^
P8�u����[R��wh_��|Ui#C]��-Bk�3垦b�-�)b�B�8�3?��s��q�Ϯ��]�,���hٝ�X���e���c�\F�@��ă����"�w�
@�ڰ
�8�g�
- ^���U6նZ.���v[��ŏ:i.�ns��q�'�*B�ˌ��p-= ���
-' �
XV{ RD�cp�
��'`�+hDy�F�'kDVt ���_�j�O9��W���C
C�X�j�g�a�����]�P5�
˸��Q8H����⿻�\�+�ښ	PЙ0P�ֺZ6??$/�By+lү����e�*f-HJ���� �p&��-+twz��FNK� >�=�����t��!F쾤�|
- �_�`v��0� >+��R�:��.���-��])b��168
	�&~��an��7C��%C�ɍ<�2�U܋�Ä���ȗ���'�
�8�[O:]5<�-� �$;�fV2�/R�f�v}U<�hѷ�
&���.~Z$c���>����Q��
@	�!���i���hJ}�Ï���]���f�T�땗��S�KAz�|'�(֓2Hw*�c��P�Gs,���t!̬�r�j��wJK���-�S
Ńm*�T�d�X/><��
0����.�cV�
{{����D�^�
����� xe1xX�Ws^;�,gr����L�/a�c
J��?f�[�/˙��=3"1=G�3� ��y����ml���ȿ��ݧr�Ӈ]BP��n��7�����V�؃/`�ЃS�,e��X\�C�/�נ�U/	���q`J(�R�̡.����
$SK9�-Le�5,3�m�h
[NL�0x�q\
|G�b��c����~@�z��6���x�Π�T�T�̋w�
t�U���a�X�>L��7�|
-;
������YO�ǥa�fo
<$h
t{׷�;I:d;ڻX�
i�Ջuk�d[
��
�Q9���󌒗�8}ɧ��g��c�����}�����W�6���쿺,h��ۮ��녂)��V-c ��z볌�T�
	�c]���#�L>A������?�qv/̓7����C
�v����7޿||$�
yX5�-i��{��O��<�p�҈�l�J=�dFK� Ǐ��u�J��<�tM���@������endstream
+x��\[�۸�~��P��)�`�/vmU6�l*�s�8Y�i7��h83,k$-����i\H (j.�8/#
+
�_w��7
��˫?~x��{�I�������	J�?-��bE0�����mulv��Ŋ
+��m�����
���������Ϸ�U[�&͗D\��������/�L��M'RL,�w�~�^\A�
��ы��n�)�����W��8^�����3�P�!,�_�ϔ���-~Z	X���$��e�>�Z����JGC
+����;7֯�G��������ˆF-������qKfc��DF�v2$
_����:��ራE��
�I��[�!���>���0��dT!�X2�6tcQ7�
�
�?�8�ɖ�R�u!�-���)��!�a�J�_I�����IX���d��z��P4����h����殾*��	¢��
*�U�T���ॣq�xy�߻��η�������;y:�u�\���C�
����\Þp
� :t�����c��	�ut`
+���	dX/l�R
X)�(S0?��(
+�|FQ���dH�DBz��D��Q��`���W)��UJ �O��uj<k,yx��k}R�@�)h
{�ұ�ҍ�IT3�gJ+�Khe��i�L����QB���� 6�I�dp�=��V�ɂN����3�Iۡݠ��1�I�g�I0@~Y'�j{S�RI��"g���RIi�z���JV[���apچ}t��f���mu�O0�ڹ=�o�]hޭ��-�������߹����Zdf8��uG���A��j�u
��˺ L
+gz�\]_���R��)���ϞžԶ�8�@��muWo>_H���Y^��r
�j}럚�Um��גq8Du/���BcФ����O/V
�,c]#�
+����
0�
�-���rltz0r���dKI/�7�#3�v���3c����X���:|
K�;{�s�H9FJ���
sm_�M�"闩��i٠�rX��3�:��d��I���
+L�n���It�v��3�o�\֖t����
ͅ�K�e���m/�}��q�KlY�ݎ��i��0Ou8��{��5l7�S�p�n��S��U���?�w�צ�z3	͇c
�8��!���a@�"�����5��I�Ɠy"8.���#
��N(1r�%< $��;�5���۞�n����TQϬf{S��
��C&�_�p�
)�}X�v�{F�c|�+DL��Ya&�4�	��R���L��
�{��Ž���e�p<N��<ɓ�É�-T��
+��
���=�
Z>�dF�G�S!�:w>M�����'��ߞӞ2)KL�x�y��� 3��t�}�=G`CyYi*ѿ�D��dm����C8kl
�s��
*6��ބ�9

�3�ן3�]�˶û�i�<������U�-F�
�
2$,J�
EX���x �⧲��،tMX	�'�'֤�ѭ�^�
+�B/�#���Υ�ϥV�Չ;o=���J���b����TX=
�'r��u�$!��H���KNN��̉�
6�ǎ����aʘ*
+�j�u<��gӅe�`�2	�8o��ӣf+[q��d�	+
!�)+N2�PIXAS�g���q�Ì(�{Y�wI`�gȆ���#xĬy���fz]o��5Xo

+�
+���x8�#]:�s���"]3��4�k��xF���@�EQ&�R�
L��>XM<��Or�6�evq��$伀�9���9FG�otΚ�4rr���l�%H�<h�L!�� ��']8�����H���G�ی;������d��ʮ�r�\�U���6��
��࿻5
t����n�4�h��l:��E�þ�����>����۫���i�ñm\X�}?�_�7�#�v-8
Z��A�)�`�W
n?Y{�
˫C��붹�L\���1����+
y�%	V��Q���*"8�X��l��?�W�1���uL���۵�
+�ېb�����
�$�R������ئY'�!|�H˙`
g�H�X����5|�K=;qqdo=�}Ϸ&<���a��C���v^����.�o
�"ffX���-�0!eN�0J���%�P$�s��h����WaӅ���MD
�m~�w����Y��H���
+`�Dd�(>]��lH���Ƈ�FX�4�
6�����b���D,S']z��oKb�
~_�T�#�\%G��;^���(l;�Jo��ᄖ��}��y�b���$���RБ"������s��qv1���1�
E�
�D�c�
��F�mIM�ɢ
�PjLkYݓ�!�D1>���$��
Eg*��&S. :=�F��*�T
+*��
+�]�Ţ�h�	��D��S�,��.P/,�C>}ڮrh!,2�7)�H��Ǯ8�T�M?�ߗ�-XP��
+[D\(Ya�G��+N���XQ�X��0��&���ǝ���8��Ʈ�X3��$&�fq�O���.J)1$
�J��ڷ������� 
�[ 
+}�\��n
��	?O�";�?A
8p��
'X�ߏ�D�o���d�,�L��ԣ�p�������4jV^J��$������̉�X�6����dv? �Ř-d�
U�'KK~�Xŵ����.�W(C���1��[\�\YgFh;F\�2����'T��lF�: ñ
tt�:
抑�US�-s
�$[D ���"k
+9
&#S8e:'�sF���5N�(�F��2�;�2��8�������<ۦ���Fx�r��8�uFN�]6�"rȗbJ3\�z
+��_	~�r�
� �1�*V<�4�:FKP�X
+��nr�x�����`	����*��o��Yڊ�J�^1
+狎����!�&��~
�j�Wy��i�
��a��)�#gG
K�7;ܣ
8ǫ��,��1��bȋ����1rI��b*����
�����{�
4H�M�gwɵI��aWaL���MH5D3��>����V[W=�*��Ep��p{�����$,����������]�#��헼�B�7�5"��`]�g�c��ϭ+�T�+�9*}�wE�	��Q���C������u�q̚%���1��p��

}[�\�I��4_FDS
+rd��Ҥ���Ҟq���
�
8�0�����Le7
�np�1���x
�4J�p9S�1]D�}�ҧ�{3������~�ʦ�w��>����x���L�J�
�w
_@�ŋW$$���N�H)�b�
�||>�*0��~��
5���F�$��
��B���!e9e��	o[	{��aK��
��sE�� ~��6Gu�*�N�In£+����t9�b���R��/�a�p��|�XHf^�
+��
+�.�FO��(��b.�&�|�M�L���Y][���a/7 V����-v��a��#BI����Xm׶��Q{qb�Ɋ���?-4�5�5�B��R�J�`��0������]�kO�� e��-��Wm�݁�4��
��r��o$n���i���Z��s�d�➰������j����fr�g��Z�e�̿�E����4������ ��
{�c�S2�Q���N�,�%���$�'����2{�`��eQ"yD1�&zhMHѕ҄&"
�IaOЭ5<���@�t�

*��1�We�޾tuTDV�1w33�Tr��W���e'.�+�[t�H‘�O����b�m-�UAҘ�3�[��Ŭx��y�^:lŲ�e�V	2�}�aR��~,�
�ߪ!����0�
��O
����ehD��N�#��KH
+��0�9�
Sө�u6q!�	bJ(�6��n��&�Ҝu����
��)<F�>4�M
+

6��c)Q"���L�C����ZVf ����u_��fSov7muW�U�X
ߗ<�����
�9A
*���3�q1샻�*�!�6c�ܿ:
/Ԡ��
��һZF�L*6�NYK2):􀮲W'<_ȳky�a��8�xq�	����	C�SJc���A_n���6�P
��&(�.X�����<�
A�+�$<��
����)�Fl��M��}��o�LK�1L�i��r���)���j4����͎S6��/���Q�2�˿^g��#@,rؿ�E�����e
>d�f�ct
oP]μ`��Bŏ�
�4�:�B�"���
!\G�³���⍻�F��2�����,;4I�B�`�
}v%���Ӳ�<�exF��3�I��X)���m��hoςL�r-OLΝ��x�0�Z=JJ\ɹ	o�Hd<����W��ד��5pO&�e����DQ�n�y�D�PG��T7�����EH鏼�
UF�(1��B\�^Ꙉ�Rnk�.�Z�s�Ui��j
^�C
�Ձ^hδ��I�m��ϓVJ ��`e�V���^U��
8<?ª�Y�0�n9f�ξ�t0�XaeH1>a���}������p"�;wl�C�[��޾�v1GזJ�
:�hiD���Ҡ�&-��>��
��1[��w�ܿr�����m4�d�+�f����g�<�� �]����r��J5_)���r�hʪ���!��e�DžO
�L�Xt�(���Ԋ�8��"E��������d�"ɇ`^o�cF�mn��D	л����y_~YJ
 ��W�?:* �ڈ$1���
͂��?�ݹn��p����Y��:�����G�dG�j����C��uNG�����j�B����R��3_�۽B7�Xx!
�Wֿ�%�j��5y�����a���C���B�R������
�-�
o9jr1�c���]���c]����}\tO��.q��3����q��͛���>��m�oQs|l|��]�t�
��|��}����_��r��(g�����h
+endstream
 endobj
-678 0 obj <<
+641 0 obj <<
 /Type /Page
-/Contents 679 0 R
-/Resources 677 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 619 0 R
-/Annots [ 683 0 R ]
+/Contents 642 0 R
+/Resources 640 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 585 0 R
+/Annots [ 639 0 R ]
 >> endobj
-683 0 obj <<
+639 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-680 0 obj <<
-/D [678 0 R /XYZ 90 757.9346 null]
+643 0 obj <<
+/D [641 0 R /XYZ 90 757.935 null]
 >> endobj
-681 0 obj <<
-/D [678 0 R /XYZ 395.521 512.4741 null]
+644 0 obj <<
+/D [641 0 R /XYZ 395.521 512.474 null]
 >> endobj
-682 0 obj <<
-/D [678 0 R /XYZ 90 495.747 null]
+645 0 obj <<
+/D [641 0 R /XYZ 90 495.747 null]
 >> endobj
-677 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F80 564 0 R /F8 523 0 R /F11 411 0 R /F7 526 0 R /F10 484 0 R /F13 567 0 R /F74 478 0 R /F25 344 0 R /F33 481 0 R /F1 573 0 R /F67 366 0 R >>
+640 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F78 539 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F72 471 0 R /F23 340 0 R /F31 472 0 R /F1 542 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-686 0 obj <<
-/Length 4055      
+651 0 obj <<
+/Length 3826      
 /Filter /FlateDecode
 >>
 stream
-x��\[��D~�_ᗭ��b�lP��.`�} �Jckf
�H�
������j��dU�V
F�ZݧO��w�Q�
�?<�h&��4eb��=C�k������|�����'��t���+;��'��.V����|�B�M_��n3�/G�n��~
�_�c4o~u�^��~uӬ���Rl������}|1����T`C�/g���f+ ��3TQ���
~�
-kMf�g���c}�����<�}��k�iaۜd�&�B�S��m��6+�\
-���o��ucv����W���
�2/��Fș����
��T��b�1;
-�Q		�"��Y4��x
-�+C��Mc��ys����m�
�H�*le��U�U8�j׹a$�*���n����h�,G
-˱�	���ރ
+:��4�
�r<��߭w�����zy�r	��!/�îo����rW��p—�
)�A�R
6���Ҝ;�W+���
.��_Ų�+�����#\:X�K?��t��a��);�
��;>]��*!��-�apz���[�����wp��c4�B�Z`Y	�~u94�K#نɌ �띻������]�3����e׌�l�ͮ�r�tE�"~G��} B�%g~.��pm������>P��{��d�d
-w2w�
���,~k�����+%d&���p�Ww��
���
V
���Z��r�O��J�3�H�w߂����w�U��K}��m܉���b*�i�ΛT.�2�U�il���5{p�y^����N�|�ʀVƼ��"�g���H[PAP�6Q1*�C2����J�
{KnN�޸������e g20L-fʘ��{֗θ=/�4��R<�?�F�JI�TCG���B���)D��HB;���T�0��t��g�\8/*�H��0}�2QI=�q��@ 9=�a��F7�2L
c�|,��
-
{H�	X|�\0�+�M(���X�A��JlMN!Xq�^���#�lt�TL7����C���Rֵ�c#�s�����+��V�X�S��M��L��$u�"K<�;����a2�F���{�8���
-�X��A��������
-�	!-eA2_�CQc��]?D���1��~�)�N��b�#��)����Ѩ��t_
-OqE�#ޜ^R�7�U�K�}I��dٗE���hdN�{J����Tfg�2�NfG"2�j��I$���

-OXKj� �O�ʿ�PaZ�
�h�AcL�{�,2):��1����l��U�2c��-�d���rJ	KB�
S4ʮhe��_
�P�
|ko��
��2x5:��R�+�T'2���t
���#�Dࡕ�A<`{
\�x�F-��
��1�
2*�#
-W�Le%��1:��7� .|L&úœ!S���mK�`
x�s�`	f��ѯ#�N�%)��Gu�ea5����NL�B�0����qQҵK���� � `�1>c��g+A&�!ӧͦ��u���`$�}�޶�_�:�Fr�
��8�,*h�M�k����r`ɏ�r���`NWX��(�n\��f(*�K��1
��D9��PJY�;���yR� �cL��@�5=9
mp}Q�
l��p?��1A�����2� E����B<dq	~_��!M�����
�
'*;��\3ؚ�s�6��2M�ʴ�]0
�5@� �\��fe)�<S�vg�C�o�*�*J
ρ�cTh��U1���?+�E*,8���+yb^���	��jKF3 �8 ����G�t]�}&I��j�����W�����4w"�q�`E�+����ш���=
-��G
�s!����&4�d>��[C���
cQE٢�臰��{
Y��Q,N( ���d��b,�(�cQ���c,/���L�ZiS�A(��-�%17�e?�y)���K&�EU�?�Jc#��	X)[��������d��g9��a4�<+�g5�Iͼ\�AF��J~��J�1��f���b,����O�\+�V��p��Pz4��pQ_�rl��b��0(
-r��e��n���h~��%=S�[�����V��WS�
5E�҅\��e��N+c�s�x*L�����3�kd?���e��3�?Q۟�q���%�W�����_]��Q;�
�M(i�:۹���qW�
N����{���d��q?������MU��,"�������H����8=�so�]�.mO6"Q�
�#��6
��q���y�\������|.y�	&Qj��:C��R?
�&,�kz�{�D���-1�֠�V�+�
p�	ˍ�k�"��M7�����&ې�h�!��.Lfg�c����Nͯ�>�4�j-K5�w���z3\5~T��R�YÂ���&I�]'Ip�q����
��i5�M�pC
�<`�qa�t���o�~l
���q�F5�gßHŊ��uwؿ�.�xjk�yʏ^��ͪom�M�\���x
�Eh��W D�" �����7�
�cЉ�ү*�F��k���aߤUH{�؈���
e͉�" Q��+��Zh���~�7Q�a���O
'�b����8�@�J�3���qԱ�%tAH���^
-�	�6����ָ����ҋ��"��.�`0|n��Ι�a�y�3����^W���cŻ��^��kʃ��w��y��0I#D8���RT�
 T�|���0ߖ��@oS쯓Ed�`f���������i	t�����2�.%~
�	E��ARǃ6p͞F�DD*s�Yg��3+�K>`9��`�̆b}r�·`J�X��{j�H�g�埕Nر�B.C�`8�\\�uD���$���\�^�^w�����R2P
��5�ʫA�!ʳDj�%
��]������w�-���� ��lBo��
7���@�
�GH�Z1~Q�pIx8�ҙڥ�T4G��TD|�!���R�P��!��SyV(b�jiڤ-eo����CRH'��t":Ɛ'��~*��������~*�_(���ゑ���T�2M�])� ��
-�b�ʄo���5�߫�v��\�
���y�3���h����w��n]��?�=w���MZ��w���+w�}���XS�+�E��ٰ��M�U��]z��&p�]��B������vS���}��#b��5�j�_����<!0���

�G�C�x��Z�^�����v�U4�%��k>4~Ti�`�4��<�0������z;4ow���L��ig�o��L��2X����N�(t�ج܊b��"�=2�<XQP��xf
��_�Š�Ѽ�F�)�?�	�9�	��,=���Q����]
)dH^9jou�̷�R�ߛ�;�7Bd$.RR��Ժ������am�`V^��n�ov��:t��{Vp6^|e,��&��K�~�z=tn����<�y�|}���^ue�����l���������4�Vr���
�
��.��"�"B�S��C�"�}rf���LA�bE�7.��}�1(2m��T������11��"*&�
ɖ 
H���Uc�R [...]
6��4z#ˁPG2ɼF�|�h���q.�T�P�h=�̗2����!�����
-���cⒹ|W*��L��z���]�p��rd����|�qP|�C�x��𞏺�	O>�
-��smJ�����86-�o�5��_
-�q
��E(""�-��M����/���`��14��
M��s���_ԛ;���kH��c�HE��j���m�i�ML�_�
rO����!�a���K��Id2��
��O�<�����Cu�i�}��l��'��[�
-����MhI8O��~�yL��FȺ~�_����m'"d�;�)�d��Xendstream
+x��[ے�6}�����j*
� ��V%��Iv��2�}p�*J��0ш
+Iy�|�6.$��M�DR �h4��i4��j�gOξ�8����f
+)A���r��,qJf���9\�/�x��l�������r<����1\0<uN�|m�==��`��\7�y$ٜ��_.�;����3��1��
���n�^��gkx��
�L�٭iu3c4�����ٳ3��q$:�܊�k��r
����|^4U�ܔZ��_�*8�9�~͋�m�|&��3�p$T6[����mH�#J��kTl��ť�g���O�yyN����)�t��I戳�L,��
�)�e�jۊ��N0���=�WT���`
1�����de6�˭U\��������^��;g-ƪ��
ڋy�5�ν[/����k�|�%�-(�Hr
+B��3�b��c�Uھ�b/[�o�X�:�sLR�c����i/�:t��2U���2$���.��H�b��Z���=]MW�KD�+��
�����g��r$����e[6��=k�2
+�.:{�kj��U�6�e�s�Vu9l�UUn���	S��A��k��]@���qK�{rd��ר����mAʦ�3��I��^�65<�6�}����z���lj�%���J	�"��6��r�]uU�t+焫���Y��}��1�E��;�t���_��ؔ��v�sC}Y�v���K_����� �P2
Cʘ��<��
�lN:02z�X�S
P
��� ,e��6�g�D�e���Ռ"I���z���V[��[_��Hd��?&�Gv3�,���G��La��0�k����2$s� ���x����uB����j:��|���
+"���.�Hȡ���Tg�jh��Ke`�h�T6hd��W*��We�d��*� c�P at X�\0̑�����w81���i�3 (v���cB�1Pfb:G	�t��Gv�tH�,S��7��Q�
+�P�Gr�0�D�F��Ay��1�+q�e�R�n{]Zu�+�&�0�@0�@T
�;�	{�:��*���
�
�Yho
�<���;�mr�h���Z
u8�)(JP6����J	�}0ZiB�`�WIW�	;��ަ$��&�)�,��+I�fܙ��YN|�{ND�
�w�J�d8�[c�����}�`�*�o
���G</\E�*��eo�n���t�'��񌑦�K ����lG�ˏ�W������t`������ۯӞ,O[�\
�3�;�@�������uʓ�O���0�dR����I�H�#$�|��JtD"�
S��PSC���~O;(��F��;M��y`��Dǣ���Ub,AV��"���PQ�8�
��y��_�+� �� DuK�Y*�QG���۲)6՟�ρ^T7զh6o�7 at -��X2b�+�M14�D2kා�5�����n����{`-��
X�nfJ���.�]���.�VȄ��	(_
So���X
+(�{A����٧}ߥx@�z"fVI� ;G��3
�Yw{VJ�\�۰��4�&;v'ς�6��N�i�L���T+M���9]0�(=Ӕw��4q�6�
��^:
+�G��F[�\&�e
��a�'�H��/9ʙ:����Pt��/z+
R��,�r�uhJbt�)�gcr��`�����4w훛e����N$k`�<7�_����9B�_����M��	d�Cs��s<��dd����>`��6i�
+ߕKx��
>0�'G�wX�G�Oq�"����5��(\����?e��?�}��lR������
+K
#�D��<�p��ͣz�y�� 
b>}���J!��(@�^��9v]�W�N�I�K�m/G�
-��
^'�����
��N���8��A�Pi�5I���Dy�\%W�
x
e�9�;{���
��'�$��&4� 
�-�U}S����c����F��N�9�?Pk� �� ��@�����"�é�T�Z�>N�>⮰s�|=XF2C_���1���
+z_��3j�P�Ŷ�qWW�!�iU��5B�W�)��
����S5����M�b�]�۶3AW&خ
+Ӟy"ԝ[W�xjW#W��,\
@�7e�T+SuA�1���L𾐂�f��y�Z���bp{Н�d�J��3
�=���`�㶴ɌЕ
t���A��d�ىuS2l�"p
�5t:�k$���U�Lg5�A0F1��&f ���a
+{`$s}|N� �C-��_�M?Z�`XFn:��tM�m/Kת߼�sb�*:�n�1�!���Q���^��GZj�wh�
�"�b�M(8D*!�Ip~@��C�-Q�*S
�
wT҃ڲ
�{e3�w�\0/�����7�j�n*S�����9�Wtr]�Lu��~��:&`�O������ <����a�!���]َUS�t%hk$&��t����k�\���'qɞ 31��o����/�U[�7{i��u8�Y{P-���v��Ϸ�r���}�T��0�0��(����2:�:�d�,t<ڟ�|����usSl�\n������I-�0C*0��k>�`��$s:�qUrE�Xg�8i�,$��^�~��������;
�Tr�Q�� ����e~Ln��r�Uւ��ŷ���@�਌��ݵ
l)X
�g��U�%�!�P�' �.��@����?���zd��G$ӓ}y�.�d2�����4#fK��ͦ���m�rd9��j�*"{�Ozs�8b�r
Y�Y.I����
����dRn�=8d6!X{v�N�
O#��16�+�V �h��i�3��x^�ZL=��d�az���dI��-����%y�>8�2vLe$:�H����TN�sۏ�$����D�}�-�4Q����o�����\
e$�3�$p'�	 #IC'��{L����bs�.ovuga&<��O.
�{[���wE�U��� �ќgʖ �̖����/��?
�[�Ƕ���sm
��V�[���X��������U9�1 M�9�����m���Gdx�Q1�¶³�24��(��
ᚿ�4(��c�X
+�wq ���9�3� 3
85��ꋩ�ҵ����jm�Å>��/����<�6��I,�;c��t���>����pp���֎2hY�\	<򐂾�����ŗ�<}����f��/V����y�.��}��O4M�����W#@}�3ZÁA6ղ)�7��lV��*�m����;{}�����r
��DxX�ާB�|��
Q�.�M[�f.S�{��q���/z�,��뙉�fkl�
=����0�"д
1����g6�'9��W+��?�챦��Ky�%
+�D?X��mY&��'�Y$T���z6I����ƒ�gI�C2�g�A�u�}y��
��Ϯ����?�fS�g��F�[�rTK��m�jc����!_�@%"*&_�[�9��3+�����J+�?l�R��߅�_�j���\r8�"�,G��#}X�}�c��N��V
!�i�h+f ��� @^.O��9Ag���Cq�#?.T��2��[/��N	�:�~��B��BBXhR�M�T5�2��?��Y����L9Q�}
�	������
u�����f\a��M�
+~h�>f��!�>犏��R����
���*�9�T����L{��h{��^'}�B;Iy��R�H��]*D��
6I�je��ydż9�x�>t�qP��xٿ簩��An8*����&('~v�n=t�a�p�������ơ��g���
�
+n~j���
�������
c���}��	r�@�dה$sgm�>�EY�����>��}f��^�*�Y�u��
ܿ{{�V-�o�]����n���.�:!
����Lu3�/u�X���"��x#�
+endstream
 endobj
-685 0 obj <<
+650 0 obj <<
 /Type /Page
-/Contents 686 0 R
-/Resources 684 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 700 0 R
-/Annots [ 694 0 R 697 0 R 699 0 R ]
+/Contents 651 0 R
+/Resources 649 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 662 0 R
+/Annots [ 646 0 R 647 0 R 648 0 R ]
 >> endobj
-694 0 obj <<
+646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.6477 328.8734 370.3748 339.7774]
+/Rect [329.648 328.873 370.375 339.777]
 /Subtype /Link
 /A << /S /GoTo /D (main_HMT71) >>
 >> endobj
-697 0 obj <<
+647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.1506 180.6734 315.118 191.5773]
+/Rect [277.151 180.673 315.118 191.577]
 /Subtype /Link
 /A << /S /GoTo /D (main_HPR97) >>
 >> endobj
-699 0 obj <<
+648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-687 0 obj <<
-/D [685 0 R /XYZ 90 757.9346 null]
+652 0 obj <<
+/D [650 0 R /XYZ 90 757.935 null]
 >> endobj
-688 0 obj <<
-/D [685 0 R /XYZ 199.8867 681.5306 null]
+653 0 obj <<
+/D [650 0 R /XYZ 199.887 681.531 null]
 >> endobj
-689 0 obj <<
-/D [685 0 R /XYZ 90 666.8608 null]
+654 0 obj <<
+/D [650 0 R /XYZ 90 666.861 null]
 >> endobj
-690 0 obj <<
-/D [685 0 R /XYZ 90 562.5001 null]
+655 0 obj <<
+/D [650 0 R /XYZ 90 562.5 null]
 >> endobj
-691 0 obj <<
-/D [685 0 R /XYZ 90 547.9298 null]
+656 0 obj <<
+/D [650 0 R /XYZ 90 547.93 null]
 >> endobj
-692 0 obj <<
-/D [685 0 R /XYZ 175.5483 388.5703 null]
+657 0 obj <<
+/D [650 0 R /XYZ 175.548 388.57 null]
 >> endobj
-693 0 obj <<
-/D [685 0 R /XYZ 90 371.8432 null]
+658 0 obj <<
+/D [650 0 R /XYZ 90 371.843 null]
 >> endobj
-695 0 obj <<
-/D [685 0 R /XYZ 291.4623 240.3702 null]
+659 0 obj <<
+/D [650 0 R /XYZ 291.462 240.37 null]
 >> endobj
-696 0 obj <<
-/D [685 0 R /XYZ 90 223.6431 null]
+660 0 obj <<
+/D [650 0 R /XYZ 90 223.643 null]
 >> endobj
-698 0 obj <<
-/D [685 0 R /XYZ 400.8484 106.1179 null]
+661 0 obj <<
+/D [650 0 R /XYZ 400.848 106.118 null]
 >> endobj
-684 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F7 526 0 R /F25 344 0 R /F8 523 0 R /F10 484 0 R /F13 567 0 R /F80 564 0 R /F74 478 0 R /F33 481 0 R /F1 573 0 R /F9 601 0 R /F67 366 0 R /F6 561 0 R >>
+649 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F8 504 0 R /F10 473 0 R /F13 540 0 R /F78 539 0 R /F72 471 0 R /F31 472 0 R /F1 542 0 R /F9 568 0 R /F65 376 0 R /F6 538 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-705 0 obj <<
-/Length 3905      
+672 0 obj <<
+/Length 3435      
 /Filter /FlateDecode
 >>
 stream
-x��َ���}�Bo� Vo߇
'��,
{�W ^à$�
c]&%�N�>է�dK��yH�yP�Y쮮��j�
��<SB!ø�-77xv��!��
��s�/�߼�F��AFR9{�V�	J�����
-��s�1�~�7]}hw��vN�v[��%
8�~�%�j>��׷ �Oͪ�ݔ�Q�?������	���`�Xl~���'<[���`Č�Gx��Cg�NY|X߼�y���/��S
žsl����c#O�}�
毻[���o:{����?���u��M�=��z��w�f�n?`L��v�/�4���rĸ!n��9~D ��`
��C�A(��� ���S����
-&�sWx
T��
��
�b$��#d�L"���a��R�sV"
�aj�A-O�W���}�2t;gp
���>�
-h��y��

0!X"�4?�c��@��E0|E��.���pd���}�hE�e�@����<�+d��X��w�L9�v�<]TJ����>��O�����20�aW��!�3�1”����O��m�-�ǒ$��Ő��
�(�_{WXD#���8���a܏¢:��aĉ��~^�P��$
x�0��9@��@�s�s-hL�y�� .qm�ε�v̸v�����}��Y�^J��Ӻ�����8�;]]P�q"��|mJ�l>}
;�b��)�#]\�ĕ�ۢ��SjO��W�\��v��/�]�x�3W��[�z��
-�w�������&�A��M*�z���-�xR[�����W��Vb�\v� Jⱺ"�(��i�Mxa
 �4<�ǾtF�	� ����
��)���<�+ZZm�'`��J�v#�?$I�O�0X�ݪ�����6�A"�U�v�n�6n[p��xHF��(H�
Q�
-�����bu�
��>�I�v%����I�\�C���U�*�.����d`)�[*��,�f�t+�y8��,@�X�cX�~�jwh���Q`]j{bE�Zt3^��3�<N��6�ʃmwajV���Xn,�JWUY��oI�]_�W�]���\xa�}���k�nW�J{x�Ow���ɦ[�{#���J�
|�<a�z�~�	
��	>J�O����=>$J;+p
-���"M
����'�����$������6�\\��<����:�qR#
�������so>��a�q�\<=�>wq�C�|�ۀ(������IR���I�&VT
�)�����c�$
j��pWϏ����!��`rzI09Q�n�b�=�u-@ׇo�*��*�Q,�gE�
�8���{;�O���L„���fo��P^c����vrrj��cM�vz|;[��] ��k�a��
�

�F��[�}��C�#�I���Nb{k��v�_|�����v�C}�����z��!��XV��.���J�t�i�k��j��m8#�8��x�8���{7�H8׈J&f 
6$��}�����k�����#����Ay4��

�-�o�8!u4��N�.'?
k�D0�"p�ʮv���`�SMWK�(�1'<.	zFBPr�tȐ�x۬����l�½���/�/�Il(�fҭ�a�[��.-�
�5
��/A��(�t�:]W��*�,��cӄ7u�
�=Td�DK��z�r_�����
��}�
�@Dk>� ����o
-�ߜ�P����Y�ʕƟ~��
�N�s��
aDr�,�n����Z�h��6��C���7��C
�
��v�l2G�DA��Ӕv�L��Am"��|�7N�ypdeJO�X~�|c�[8�M1.fĄ��f�a?��7x�)
�
�K�RJ������R���H���
$��D^"U��LU�(@ mS�C��AdFp�
-p�=�!�(��35¯��pP
%���M��P����$_����0M\O�Ή��KhSD��hߗٟ)r9 �;��\�|�$��5W�7H*�Z0���m�с����`���b0
-�kp\xY�, IA��^��)P֙��v�n�u����Ѩ�w���
-�" 9{v��L0�9y�D �)ɣ��{�ۭ�ԗ�7̖P��g�79���M������)y3ٷ�������&�UVm��[%!Hᤀ�ݦp+� -��]��빸siX=L�)J�PU
�������2�iq/Y0j��
�W�d��F�r'g
%{WNdRN.�xFT��2���}D<0{�ٻ�^�F��9E����
��G���~inj����a�|�3�.ur������ڒƈ
-���!�<�%#a�Y⒮Qpu�]�j�� oW3���7�]"�,�-�'Ǯ���w�/0���gm8����5�����av�"`�(E��.r�@�A\��s�|N��N�,EJ2uF� �c������)/G���'@��G
)8g0�����KZe[t0
x���/T
,npm�����
��"|a�L�G���l�盫v�\Wͪd�$\SR���B
��0V2�i���z��M�pD���K�f�Զ
$J�t=�f��.�q�)�oV%.�����%�
�'���|q�'O�-��`�3�������Y�և�d{���$o���!��m�
�ۙs��¥U/
k���aYq���85L�0����<S)��B!V!����VTO��ۯ�m�ߵ��qi�!����Of�h)
�Mp��'��E
rC
�	�
��'�1���؁k1�m��˧�>UU�_��`�*�
����(t�=i�a����e��u��-��@Ub�P��1lT���Z��9L`�,(D($m�_�'a����Y��9�,$��
�N�ź���
-h
�b��]��iȹm�g'�7k��P��Rל
qkUa3�A�
�qӔ��
#cR {�۟���[q,���!�{��K�5�L#M�y�z������;��D�
_�.�ra|-�+,���댘���ae[��jP�0�j�u�LF
-�#{\�~ � ���
-�_�X5�Tk~V݃��¬�l�u[�:<�Pq�_?���SVa���b<�*k�����Y�#�0sB$�Q]	n۸�����
 �^$bTO|��<�[l��8)��%�,�.���/˘ى��I�ߒj�,��5�ψ���M��ȇ��L߆�]��^!���^/
���ä�%�L��Ķ:r"���<�/�ǫZ���(��C�fz��ȏLP�v���݇+�8�8-����K�]�p�Į>����!�%`�WK�	~�P�'�z��~kԄ`�gF�1c�; ]�x�V�_+�l���dƓ$�4~b��쏇XЇ7N0M�{����
�#X3Nh�8*��@�����T���vI������~ ��Օ�����
�6�p؈�V�/K
�!������`$o	o>�����&�_�m�T<�a��Y�l�9���)�x�CLiH��9'1��R�
�c��S��
-0��Mq�b
<{�u]�6�ylq�5W�V������-|ބ�}
V%�q
j�,s��:5�p��%�&�<��/���{���!�
�u_�s����1�dF'<�
�&��H���}7��.�־�(�
-أL�	L�Ip'�G at F������jpN	�L �5�����L�x]��<���������!c���m>Y-���g�nT�T�O2և� ]��$c���0�9h"�����Q�0/
�M�Ѽ���tJ@�*"~��z{�M��{X��
"Ξ
�2I�5������ �rl!�^Aԏ��,	�~T3L�[�R
-Kp�YѮ�h��|���w)�>nې
��㤍3$��
�����nz`^�ū���򃫿�M��N�}�=��2*|�dl2M�T�*�f�yl�ٸsJQ�QC������/YU�`�}���Ke���� ����/
ѲG�m��P{x�߯_��?
-Axb.]�<MpP
$ )Z)�%5��Nܘ���ͩ�5�ǶiP�<q��endstream
+x��ZY��~�_�o� 
oJ6
���ݝ @v���3��/Kj�N~}�H�:�==��H�Z��dU�tv?���]|y{q��������ݬ�3�Q��n���<^^1Ji����e[���W4�m��W� i��%�����n.9LX?��.�P.3f.��~w���ů
��3�S��f�����t����f��"�=�Y���~׳7�.蓤sA�V�t�:������/Y����H�o��ޓ��v]��{�����ۥxSm���
�|��G.��Ut�5�]qI�,��?��O�C��"� �n΍���`B�݄�KH"y��*�BN���^�50h��yb��D�)�t�IaD�4�y>�bD��J	Ɛ���`��z��|���w0!�W��ve��:�t'=�R9хr2�T���q�F�&��D�g�4FI!d7�j�Ç�i�n���/�qr�9^Uk����Cծ<��m�v���'Z�d1��b
	>4��ݶ��LeR�S ;5��tY�M�]b��(3B
��;&�
+��?J$�@�<�
��~�

>�qM�$����{ A
�#(1J�mH��3BE7�:�X�wvљ���'�F�vwi9����8y|f���(�)�&/�4�t�D�L���ؒ�5�PЂɬLș"x�M�y�
F1�I\<�$��u܉:'��T'��M.g�|���9�s��E@:hä}�KBY��'�������6�� 1�ib��"j<��I4X<Ex��x	�xA��â��ն\Wme�q����6ն�T��n[��F- p � nA�zM[�U�k��=)w���C�"���Q �e���zu�����2��%W4�̮/��J,�:���r�ܵ�=��*�c��
+�ok ���

n�]�i�]��J?>�
�Ϩ�����,�Y7�g��l�������ܿ�?]�w�R��ѿ�
�
��n=�l1j
�;�h[{�T�z�,�[�\pt�n��a�6e�ĝ
x���"Ѭ�ٺ��e��_���8i�H���n��Eŀ2��,x@:��<�ɺ{�������rL�M�Ӏ��}�
ێ��n�h��.�r��PܫS������������)����[�� �?����?V��g��g�G�ۍ"�n�6���&�'�r�W�qPN
�
p��G�� j�5��P9N\�=z
e����#�q�k��C&~=fG�u�
���Fnw��S�S���eS-��G�I��>8�m�=���ղ{��k��E�O��nі�;��~�Y�{� !P�Tgo���v�C�}�
6q���K�<n��#�8�Ɏ�E��ޅ0���>$��!�x�&OE��5���
B����fr��L�L�
+�RC �'�:$�����w�<���lDs:s
���AFC�/cC�#���{
�� Wv�K��y�9h�:�!�V��2�����
�!9��j��ά�+�?���L�s'�`���6�M�y��M~s��w�M�]����LP&��������1w�8��1�Vы��s�C��X=��p����n
��n���ĔrL�D�saF��WB�Q~�gU�ə��X4K��qbgAzH�&a*�����^$�
+��U?o�Q	�U
y�՚�&Վ�
+X��~H���(ɒ
�eO.�6�5��l��^�\�1�,y^��
�w5�Gfz�S�m����B0p�=�w�g�$�s6=]v
+hg�K�ʨ�\!�M��	�S��4�9��J~���qF�_M�}�		
�wp
M��h0���c2c��|.;���36Tۂ`0�j�j��>dZ�z��zvf=D0�)?��D���5��
f�)~`�|o`���!Nh���
�0�	1�f�E=�&U& �z�w��e��
2u
����sW�6	)pF������r̩�W>�Ƙ���y�\;��}q�G|�
��T5!;-���ƶR^�c<�/YNq(cO{RїB�9r8�C�Q
�e7{�c��;��
	�+�
����x �yt?`��E�FZ
+��|����IA�h<�Md�?�#0���"�D����W�L'���pZ<	'FD_��DѸg���\�#�
�4M&E���ѡ���EN�V*�sb.ΡV��3�Z��)�����2�[o���q:�n�#o:��m����Q��I�YE��'E^�.���L�(W�����˔Q� �>Bۦ
Z��M��b�B�*]!g��7���A��6�k[bc����z�*�����
�޽]
\<�?<�סFN�֦,�( 	4O������erб��ZX��g/k��@1,�s6,Ï3Y�wL���DSD��O��P8���T�����u���[�]
X����G?8H(R�
�J>;R
LU��H;zBЌ��Cu4{;G�Dr5)�����#
������B�x��X
������Tr�9�#�;�cy
�=O
7zhr�
Й
��/�y�
)_�o?����������ΙT)�{�ﱨ\<Y�´��I�elZ]������`��BB��N�����7�ys��T�RRR�m��۾/�
�RD���?qEdh�ݒ'���I��g��us��O�I��o���Jq
+Eu�A��ܹV�.�7���N[��S�BJ���aLիa?"�W�M�Z�b��ncK���Sh�
Zg�2�Xcվ}�lh�??���mP�]�^t9�� �ޖ�|v\�U��~�k5l��o�`'��a�b�6L
+�/Lq�M�-�}|�X�
�u�:�7��D�
A��.�M
+�>���O�—�����q��ª�Jc/�Q��N��b՜n��_��\S��6?/�t�X��	���|u5w�d6>>?ѻ��틛ׅy�g�2R`������W
#�,v����:f��!������u�	��0o�<� sJ�d�
+T�^%n
[���� k_�1�n�pu�gU�/��F�K���\����������)��]�Wh~=T��*��a4�`J��:�;ׄY�bh�1Ж�
�����N��q��mʍ�W�����׈@�k.�P�q�6�-
������Dk�mCgy_�
��SW
�4}7Z�;�_�U�p��uH}S>wF
'�0Z�#2"��_�x�O*��[FB�7�Sp��7����2��E��w滶"�rd�`pd�B�
hR�~�Rp-����2e+ � Oo������t� �K�00��]{t���Z�B'�����@n:tR�F''�?�6�
��hZ�2�?�u�m�U
-}��h�B�h��,�h6�� ��:�
�{�
+��������j&u��

'��+�,$eϼ��nn��5�%Ta�HW�5rL��Mhߌn�g?�=r�����_��
����
��W�VNw�)��"5`"\j���x��s���e�=}�.��Ds
+~�o���v������Y4䰭�5����~}=)z�XgLb��k:tmr�a���`p��]
� 6?�]
+endstream
 endobj
-704 0 obj <<
+671 0 obj <<
 /Type /Page
-/Contents 705 0 R
-/Resources 703 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 700 0 R
-/Annots [ 708 0 R 709 0 R 716 0 R 717 0 R 719 0 R 720 0 R ]
+/Contents 672 0 R
+/Resources 670 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 662 0 R
+/Annots [ 665 0 R 675 0 R 666 0 R 667 0 R 668 0 R 669 0 R ]
 >> endobj
-708 0 obj <<
+665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [447.2673 502.9119 513.9963 513.8159]
+/Rect [447.267 502.912 513.996 513.816]
 /Subtype /Link
 /A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
 >> endobj
-709 0 obj <<
+675 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 490.9568 234.3668 501.8607]
+/Rect [89.004 490.957 234.367 501.861]
 /Subtype /Link
 /A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
 >> endobj
-716 0 obj <<
+666 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.8588 163.6886 492.8348 174.5925]
+/Rect [459.859 163.689 492.835 174.593]
 /Subtype /Link
 /A << /S /GoTo /D (main_Hal79) >>
 >> endobj
-717 0 obj <<
+667 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.7909 151.7334 180.7583 162.6905]
+/Rect [142.791 151.733 180.758 162.691]
 /Subtype /Link
 /A << /S /GoTo /D (main_HPR97) >>
 >> endobj
-719 0 obj <<
+668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.3884 98.2435 148.9721 109.2007]
+/Rect [99.388 98.244 148.972 109.201]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHRZ03a) >>
 >> endobj
-720 0 obj <<
+669 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-706 0 obj <<
-/D [704 0 R /XYZ 90 757.9346 null]
+673 0 obj <<
+/D [671 0 R /XYZ 90 757.935 null]
 >> endobj
-707 0 obj <<
-/D [704 0 R /XYZ 90 733.028 null]
+674 0 obj <<
+/D [671 0 R /XYZ 90 733.028 null]
 >> endobj
-710 0 obj <<
-/D [704 0 R /XYZ 90 491.953 null]
+676 0 obj <<
+/D [671 0 R /XYZ 90 491.953 null]
 >> endobj
-711 0 obj <<
-/D [704 0 R /XYZ 90 491.953 null]
+677 0 obj <<
+/D [671 0 R /XYZ 90 491.953 null]
 >> endobj
-712 0 obj <<
-/D [704 0 R /XYZ 90 477.9552 null]
+678 0 obj <<
+/D [671 0 R /XYZ 90 477.955 null]
 >> endobj
-713 0 obj <<
-/D [704 0 R /XYZ 130.9441 234.7681 null]
+679 0 obj <<
+/D [671 0 R /XYZ 130.944 234.768 null]
 >> endobj
-714 0 obj <<
-/D [704 0 R /XYZ 90 218.6135 null]
+680 0 obj <<
+/D [671 0 R /XYZ 90 218.613 null]
 >> endobj
-715 0 obj <<
-/D [704 0 R /XYZ 400.4389 178.7968 null]
+681 0 obj <<
+/D [671 0 R /XYZ 400.439 178.797 null]
 >> endobj
-718 0 obj <<
-/D [704 0 R /XYZ 90 128.8193 null]
+682 0 obj <<
+/D [671 0 R /XYZ 90 128.819 null]
 >> endobj
-703 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F11 411 0 R /F33 481 0 R /F10 484 0 R /F74 478 0 R /F8 523 0 R /F67 366 0 R /F1 573 0 R /F80 564 0 R >>
+670 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F11 418 0 R /F31 472 0 R /F10 473 0 R /F72 471 0 R /F8 504 0 R /F65 376 0 R /F1 542 0 R /F78 539 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-726 0 obj <<
-/Length 3940      
+694 0 obj <<
+/Length 3596      
 /Filter /FlateDecode
 >>
 stream
-xڥZYo��~ׯ�[F����&
��kرs8k[��؆Aʹ$b9�,���ߧ��5\�@0�Gu�U�W���
-~�:W�.qQn���p�R����+-�{���	��^��6M��(OMz}{O
R
%F����;(��Rj��o��l��fo�kj��
-��}��j�?qۻ��?�5e�Ng7������q=��ĦW����������+�<K����"����t*���W?�|��l�:�vcۉYm��H���m�m�Ǜ��f�T
}]�X����i;�<5�<��sU�#7�
������{G�����n=S
�o�TvL���Y����迀��v���
�G�5���B�g8l��^�(OM�j}7T=N��ݩx�B��\8TM����(��N(<�����<p����D����cF�2G�/8$�;X#75�+����ߔ2�b�yA���4�ݱ�����xmb�xMö���5Mhe�&jR>Pn��ж��e��\�TiU2d$
��j�z
Eg�-Dz��
���|�|
�^\o�����$68y���P���;A
Qx�L
� ZJi�+�m]TB�� a/tN*�}��!S�)��K���y F�Z�G.���n
-
X�d�ێ͇{A
�|�P�ʻ�h��²k�	�~�c�
�8��7&��r����ʸm�{h�,mMd�*���*Y X�H~lNE9��앁�i���eI�t�S�GI��M���s�Kc��RxY���y
M�\Ϫ���5��iG��y�R+9m��N���h���u
J�
�OP5liXz�8��X��.�6��+ŔA$,,lOm���Y��~����y���ݾ���a�);nb!�(���2N�蜜	1Dc�Ǝ4Q�no2�G�E-�H��<
-��$�/I���TvC}��AQv�B�+�-%$-��n��-��
U�We2�\*�`:`��[3AmA�JES�c���D*Ks�@c��&��������%v���T��@r�/�|�|�׬`�1��6���f3�O��9
�[OΉ�7t�=�?����d�z��,�*�<�'u�M�)�
(*Ot�XJY���a-���(W*Y��
nI�;�
-7�
%<m_N�h�t����7�

-\U[�3�l���w.�#H���C��t��ܸ�8��<��SYU<-��e	�
��oH�J�̹Օ�t��}[<6�	}��NJXq��;�8��g��^�Tt��~(N�S�U��sβ���q(ܕ�ߝ}�
咗u(K�V�k�Y��'Q�U��;3-k4s8�~�� ���� 8_X#�6�u'/rP�m�ꥸcƨ�pj����R���(:��şW�8�Z�Bx,�|����
��l>9����2]�r�l���������� �G��2P�hO��e�#I�xŭ{�PF��
-Bp:
B��DV*O�P.E6��Iлs[��t����U���@b@��"�3L�&/˸�IVX�@�OaT!
EK�1x�<��͡�+7n�36��
6)w*Xҋ� 6}O�-��D3І�Q
�L��t�(��aÝd_^������
���s�6@�p.G��.g��h���#\�xvqX���`��4][@z
��� ItkB
�PW��m�?`�4LزBidr�/�@6��Q�����
"x	
d 
�Y
-cb��X\����Ah�&\P"t?6ձ�~F������(;�_m�Ђ�S+)$�-#A�rP� �,h��]�
-��B��	�z�Tց�sa
�Җ��i1����a�lQ�xOi���"Q���	�C�t
�!C�L�D��e�@n�(,���fװ"��Ƶ‚L
�8g�������r�|*Op|l�3JyX���|:7e�s�9��1  ����29�1����!08��}(���ه8��va˨s;�Gm.;	�


-�� ht!P&C���̚�F"n&n�x�F����B��$�H[�f)ΐ�v��VmS"�K'
�$��{- {���^���kl"���
 ����2�lom�9�ӤfP�ȧ�Ga�o���JV+�.�T2����h-��
-�>�.D��jb
-�(K]B:���N�&�zRL�B��2v�3�]������#�N�5�{,B�VHr# ��91 4R1�v�
���K���b�_h�*k��R�Yll���U�yN��w
	p5���������"�a��ڬ�^'0�+�^rl�;�
-��n: �rb�q���l{.j��G.
�VJp
��'I g�o�`#,��\��=Q�q�p�����R��9�d
�� �A��
�Eê݁$r��I3p����h)�i��8�2ا�P� j�L ��
,�n8���h�X����؍���d���:n�
AU�+'�`
�(U�E�?�
�!�L3vU
a
��r��n� ��
�B��TF֍��
���1M�IJ(�Ӏ0?�N|)�¡B�z;8z�+�ܽq`��Y�XsS!0��9���E"�s��
��@��N��!�<6�'�Iht�E���ę̋8�=�|!P �z8ݑ\"��k�e �ʊbr�xM�
-g�z�n
�.���� 4��-�s�A�q$��4]R�G�9
����L%���n�}ᭌ@)W
)q���Agí)�q��W�"��A�# �řa�1����0%Q�
-��RƳ�#1�#.��#
Xl� 8��Ru<(�f�
-e�# U����$;��P@\� �J�Ϟ�	?���KP��u���~���Ix���e���w�@�_5�����²�+H�-�1{q'�4
��fo"m���M�a�>�~��{��>70D�y
�e��p-I@�2��#
,�;�G��/��<�%y���/YP
:υ�j����`�x3(�H����0x	��ݱ�
��}X��
�t.��c��Z'
_�"��K�щ��?sTEc	5������#��pc��1K�B0�bҊT3�4��d>�V���yN$�<K��m1������ V���Ҫ�T���ph
-��$�L]���h����r� v�Y�
�
%�- #b���y/(Z =��Y�4�g/@/�
���S�
��Ec`���X� Z��u?��]XeY�a�?��$��x(26��}A�����K@{ɗ��w�~����u���\�
-K�T�L}�M�4��a���	�C���Ȁ	�-�+K��>��Z_���Z��M��~��3��IH�԰�����l�R�>E��M�
- t2I)\I����P�fI
6�k��\���.�{Pj��ԓ�fR�f�$�'!�`A
k;���is�`� �<a��vA�N�Nz��b���q
�W7�= 3���
����7�E
I}�N���a�5�.��?�A��ah�H(�"*(�~~�X�.�O
-ֻ�ϡY��遾�I��B��S�l���t3�
	^�Qm0
g����n�zeRm  ��YN�Gf@,�
�<�`�{��,,�"M우��"}�m^XN����Kd,e,(��|�$��
��
�$b�l�"�� ���PԻ�πS�����Eo;�
�bh�C��~,踰��6
�����
�V�m��j£����8�VaE�BH�z|�9HU5&�v>��ʧ5�d��y�`��b����5�U��f���$����S��r3�8=�L��c( `�O�Eq�
 �,�2�^Q�~?��Y|q�_���h�WK�\���+Yiv zez�x �P^L��S�H��X���@��4���2ҿ��K��rlR.2�����{�HF��&7yd�ZM6�j���pa�(F�L�kr�!O����ѩ��OJ�������I�EN�
�ѷ�x���1��bHמ
-�.����s|7��:��]����*j~He�f��q#,UI6	u�g�lƙH9�����ס􏙴�������v{��Ҁ}��͛�����EC]�ۨ�߀Axs!g�]]��.n?]�eq�6àXNj��K�3:�ĴD
����`�
�0yc)��sܷendstream
+xڍZY��~�_�o� -����<x
;��8^{Y���=-�Z�ձ���S%J�h�w�,��U���a�v��y{��,�a�E����+��d:L#��?��P���J��?WەC�6��]���m��
+*�
+>�j�����m꧳=v%u�I����￿����㍆��N�v�	M����������ߩ0.��#ͺ�(����r��F�GO���Q
�,壿m���]���:ڦj
�-]��z
<�
W����뵮�;�����G��Z��]R���ly��ێkU�S�%e�L����w�FyPɞ�x8ˮ�4��9P��m��T���~��B%��|�J�\9�mo�'7<}�tN�<��b��:p�j���g���r+*٣
�`g���"�_��M��P�4���3����S���8���Q���˞D.K�d�'
�2f(w����u�d��Z�
4�T�d�:��Ͳ���x�=Ǫ���J�N>h����X$6Q��b��'Y�G

q<��`��詤
��vMY�d{pw!>�<�nqC��\�>��Q�
�]� ���l�\9���m�4<
l׳	�A��a�䇅J]�{��f�q'\�	��#�qP��(�ҳ��@ju�6�=tN���t�D
�%�I �0M?����i����'#�i:�-gxV�N�E��`E�%��h��j��T�<4��}�P�/�-�
�DQ����S��qR�=-
U=��͆K_��bZ��tB�;�;?v�`'bn���p����s ����y�0�=w��`�u*lݸ��-g;NQ�ΐ���6'Q�QT�O䇪���*��T	:.U?6G����32A5l݇(�Ԋ�
��P��TqJ6�kՉ'�| �o��|��q����h��x�RVT��i���,4Q��ۦ��i�o*U� 9v�V�"�OϬ`A�mL�I
��,��k� [R`��@~��&
ퟸ$+T^x�'|����}
�G��3�.�da:�s�8I
�:{ƫ�PY����q�XfڍD�@�7T��� z � �h^#爢Է���L��‘�~k�?���Q�D=4�LWb�ƃ&`p
+��?Vu��R�[1� (���,̍Y=y��{�ȸi끵�j�4Ζ���
.�	��̄?{�sS?���p�
+U�Ĭ���*���<�����#e�D��tR
J��k�9�,�)P�M4k�r��:�����(L�b)��:�"�/ ^���ݐڕ�A��qi����
2
�-�=��8�ږG�gM�a����
UC}阡c�G��<υ�r�9l�
p9� �(�[�I�ZǞ�&	΍b�j�!~r�!����Є�q;D�X�F2��f�|��kw Q�x܏/�1��=���@

+���
T� ����c�I�;����nU)%�XE�KP�:Y�y�n(�\_2I_1I��xCj�F 
+?PlH�9Ռp�R�ӝ�Dw�J1N��3{�
+��*<��oV��`-�b`ˑ���s�S�`K|x��[|�r�`��,[��8�
1�� G��A2hlj�8��	�� Wl#���PFE�B�?C�����?�h,f���:6+aL�Hl
+���ʇn�Բ	���>�<΀�J�x�؃^]�D�x�s�����
�
�@E�+�����=��M\�
��x��V(U��k�2*�
�:�CJ�XP6c�`�"��N�l�b-e, X-`Q��dJ��:��ʯhgx���k��E��DM��p�(	c~�J $�
B��\]�{l�s�3�h1U���V��݇�r
�P &����K����~4<i���ŭ
J at H�g�a�M�����&CQ��^�؈��q�A��aό$�ĸbb�}�5�X�{aOf�~��6uפ�B�<8 ~MHumI0`csb�L܌�J ��]zQ��M���)�-�(]�HW�rle]��IҬ_Єh�&1;u�k���h�@���v�4����B��Ih&�sp��	Y�x(&�zVGl�5����c�+Z��7\�$�Ƚ��aK

����Hp�15F���C�@�D����d�l��}XI�6,�ӛ݃�9~��st2���?�,���#_��K��y3nr��p� ���(�\֑k���ܶE��(�Q#�\Kf
{:{���](���f��U��-� ��.��k��8���4X�ۑ3R�o��@]���
p&k �be-zcIm�	{G��Nj=J���Ί�f���M���AҺ�X�L��g��D� Z�{��t�a`�
 �3{8T��!C�R�-�D﨑qUfV݅�1
+c3�+�M���z
��aR�3_:gr��C�P#,<��ڱ�Px�o_yDEv`�ԋ��w:��}>Iq���ڡDK!IYJ2C���W�Rh��(��cw��
��I�xٓL"�Ӗ0;���)̥
�lp�XOc�����
��@���b9��D�d�\� 6�ܼ#�wl/�;�T��[߆���@�Vr�Ml.vs6����")^sy��r�@p�4��9��q8�Q�)��P�d=�:NfF��=ǒX	2��(�ŋ\�iק`Q��q�
+
j{"�ǹp���߂�5����޹�c=NJJPb��BP��+4���r�_Džom���S�$��
s�����_���7⯱6��I�^��+��kT�a:ˁE]�;����"�b���1Yh8'�� g��;����N�׀`
*�HI>*��
1��_eR�oX��u�O.��đAuB�����J�Z���\�oM@�n�d���	��ؒr5�\NF,�(��cZ��L�~G��
+ħ��Ǻ�o�B�
�@��g~���i�,Q�X|\+&�3�g.2�l��Ֆ2�[�@�P����K��n×�k�H="��"3��|�Q�i��b��$U0D��a,�[
8
��MϬuι_�l���Xy��C
�d
��YPs�
�M��*�j��CW��!��d�{O����υ�B��N����p�-�{'�27a^��}a}<��P���Yr� 
����v��z�)45be���s>�ݡ=�U<L>*�\�I%T����ylJ�g�xA4���=U�椡�%����+��.���'�iJ	�"uyA�;�cXM��K6� �������%��L��
��v��b@,�X
 h����oh�Lp�Uq�
�BJ������.e���c�UB�1z�J�����a�Si� ډ~�;�(R����
p[��w��D�i����J�pS����!���2�YD_���
+�9w�s�,����3ƫ��D��

;'�4�^нa����"Q�m\�Ҝ=�0�1�~�6*8��|�V�7�sI|�v"���.�0�w�fsC��҆G+��I�B��&��Uj
� �������N�U1ɥ������y��yA�
yj�_|B���Lu�ʉ~�d�򟃖��2A*����s}e���B�U)�+��ߠ��u�x
�r�E����!�2A	�������_̲<,t�W�a��Y������,K�;���⿹!N�.�4�x
~�r���oo���ݒ ��e�i�TQx����;U�����%R�G�ź���}عڿn�c�|�b0�O�<
�/޼y||
}86յ
��
�ƛ��T��h��fJ~�9��]؆a��@�eN����yk�
+endstream
 endobj
-725 0 obj <<
+693 0 obj <<
 /Type /Page
-/Contents 726 0 R
-/Resources 724 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 700 0 R
-/Annots [ 730 0 R 734 0 R 735 0 R 737 0 R 738 0 R 740 0 R ]
+/Contents 694 0 R
+/Resources 692 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 662 0 R
+/Annots [ 686 0 R 687 0 R 688 0 R 689 0 R 690 0 R 691 0 R ]
 >> endobj
-730 0 obj <<
+686 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 386.8497 138.5874 397.7536]
+/Rect [89.004 386.85 138.587 397.754]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHRZ03a) >>
 >> endobj
-734 0 obj <<
+687 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.0892 205.085 416.0565 215.9889]
+/Rect [378.089 205.085 416.057 215.989]
 /Subtype /Link
 /A << /S /GoTo /D (main_HPR97) >>
 >> endobj
-735 0 obj <<
+688 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 157.2643 126.9711 168.1683]
+/Rect [89.004 157.264 126.971 168.168]
 /Subtype /Link
 /A << /S /GoTo /D (main_HPR97) >>
 >> endobj
-737 0 obj <<
+689 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4449 115.7296 242.0882 126.6336]
+/Rect [176.445 115.73 242.088 126.634]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_interval_widening) >>
 >> endobj
-738 0 obj <<
+690 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.6401 115.7296 327.726 126.6336]
+/Rect [302.64 115.73 327.726 126.634]
 /Subtype /Link
 /A << /S /GoTo /D (main_Intervals_and_Boxes) >>
 >> endobj
-740 0 obj <<
+691 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-727 0 obj <<
-/D [725 0 R /XYZ 90 757.9346 null]
+695 0 obj <<
+/D [693 0 R /XYZ 90 757.935 null]
 >> endobj
-728 0 obj <<
-/D [725 0 R /XYZ 90 489.9743 null]
+696 0 obj <<
+/D [693 0 R /XYZ 90 489.974 null]
 >> endobj
-729 0 obj <<
-/D [725 0 R /XYZ 90 485.3666 null]
+697 0 obj <<
+/D [693 0 R /XYZ 90 485.367 null]
 >> endobj
-731 0 obj <<
-/D [725 0 R /XYZ 233.4105 318.2718 null]
+698 0 obj <<
+/D [693 0 R /XYZ 233.411 318.272 null]
 >> endobj
-732 0 obj <<
-/D [725 0 R /XYZ 90 301.5446 null]
+699 0 obj <<
+/D [693 0 R /XYZ 90 301.545 null]
 >> endobj
-733 0 obj <<
-/D [725 0 R /XYZ 90 235.6608 null]
+700 0 obj <<
+/D [693 0 R /XYZ 90 235.661 null]
 >> endobj
-736 0 obj <<
-/D [725 0 R /XYZ 90 158.2606 null]
+701 0 obj <<
+/D [693 0 R /XYZ 90 158.261 null]
 >> endobj
-739 0 obj <<
-/D [725 0 R /XYZ 484.168 118.8827 null]
+702 0 obj <<
+/D [693 0 R /XYZ 484.168 118.883 null]
 >> endobj
-724 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F8 523 0 R /F11 411 0 R /F74 478 0 R >>
+692 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F11 418 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-744 0 obj <<
-/Length 4482      
+709 0 obj <<
+/Length 4144      
 /Filter /FlateDecode
 >>
 stream
-x��
ے۶�}�bߢ�F4� s��n�I�L]۝>$y�J\���Tt�z��=�@�%�Nӎg,���s�q�5��&�Z��B]/���k�������|�Nx����WJ^�U���~u�VP�����W�f�R7sJ�}���
%������f�$
���o�lj6bF뛟^}{�嫸�MrE�ο^���^��^���F^?��h]���+�x�X_���G\�J'����HiUK��������'{�,5`
��D�EM݂��40_������`���*f��+�&��lw�l��
g��[
,���a�ط}���
>��n�m���b��V����v�+5[.��f�On��7T�
���z��p��ܿ�0	���"��@~D�a�xt �0��Z?�6�m�k:<AWӕb���Q�E�B*+Qk���� !0#\s at 4��<��y�����OyQX��JRC�"�m��-��ja�bo�w@���$ҿ{��U�%���a~��K�s�&��a�u� LXXQUL�prK�u����
��J��U7s������
"��	1�\t�^�7�h��{?I(�GK�pR!Y�{�5�����b�d��vXS^��i�`S@ԕT<�T�i� i�E�{iQ�Z��^��5s{�=�ܰg=�硛����R��0\��7w�"Jk��� ��U��w�&����=��f����%����c��4�K!�>!��d��ֳ����� T�<
-�ߜn[�{�߆���*���
&sX@��ceh��4���kU�V�h�5�����
-g�A��D
�
+�C�@!,�(Mu��������,��Rd��dw��ǃ�xۯ
�SV�����T�ٓ8P�G�K"f^ߚt����R�v�'"[}Z�JTԌ��#arj�S��_��fՑq^�*��D��x����Ek�x�t�`��[0���@�AW�)p;��#f�Φ*
�է�2��-��@�ɀᶸ�T�h���ͭ/ ����2^�v�v��}����0n‘2'��ѱ���CtZ�0�4�|x��i���`�
6���n���Z at Z�IF��G#$�7�~g��J�
2 GJ��2�Y����'^�g]ҚE����1$`<%
���*�uQŀ�6�
�&AL/�{��f ޙ�@�R��Y�T
8Bܘ��/�LŔ���
���.��J(}נ�T�변��u���f�i5).'W,N|O&W���#]~�wc��>-��ƀ`Q0��(e=�0�H��d̪�oɤ�Q���
-sъL
5�!�;�o�j2����=K���a�������x�_
��������@�I��z�
@w5n��Ѓ�(-�m�%� 
K�,���J(�N�bX����"9���49�x[n ��\L��!�0�&�
�r*F�uX�ߖa��K�K~qbI��F#=@X�̲�F����l(.Vr\�J��^
$�(ԦROY��f�o��%�N
P<-z��#b�G#g���C�-�͐#ȽIЌ,
-R),0�a�e�
*���+����&EE���5E]'m��꺂�P at R8^��.�-�A��2Cx�����h��kq��	R ��W�!k�*Ҝp��y2-P
5'�>	;݃b���U
���#?�#L�<�ɝۙ"@m7 at x�X�B"��,@%l<�>��f��
��
u(eg6���Q�5P.^����mﲿ���oc�}�[�O
�0,���p�a��uo_�CN�.�L-p*x���g������X}H`
�#�1	��C4+�
Tr
-�"�rdȗ�v��6}��:
,�>r&�ș�ޅгU��\�.�R(k���)����Yu�'�C�������E
*+.���ك

G��Z�<#��:��,�ģ���6s�����!�g�Tn�����7��ʘ���iw��%�,��r��$��ڻ�����\N�|���3��r�̐x<C'��
-
\�/&r�B�A��r�u��������
-�0/��v�خo@�,�M�W
-�1��I��]
�~�	��m�;PJ鰱�q��R�����}�g�dtG�q9�-�"b20��G*G�1pnR�r�
�OU�.�
&�^�#>\��C���T�:�r��G�Lj
��e�K�S�����1,-bY2xb�L��}��R
�F�F�  \�L�!�T+}��Y}F
k
rGj��"{?Zڶ�@�?Q��A���m)p��?{��;��:'��C������@�U����F�$aj�
p�֏o�ն/)�,�A�<G�V
-����T�Ϟ���.3i*��T(�J�;=
��mh���X*��ż��������rz<z�b]�P?��[?����$
���c��y��B�2�C]
��5{����v��*�ɑ��`�oBP
-!��X⒉E9V����V�
ǃ2!4>�R�ӈk�qYNfC�hꣴ�΢����QiFEwcT�:*�3�\
�J��ٯ�v��M4� &�%E,m��N�ܲ�ؘ�����a#E�MA501��1B������b��N�"�>)�sEF��ڴ�8eU����t�_�j�
bF��lS�-
r`
��>T��7v����ѻh��|��ȧ��o4Ⲍɩ,&T
-�h������	�q��Eq
-���+�4�g�����A��Q���R��~�
�w�;ۨ0 ��B
TnD^�
g���+�&�������4,;�]%c#
�B�����y���­�޶��B�
�H�;�������_�-oWM���d�/߂F����w��~��n�K�D��u{�]���g�mo)�����<D��U�Ɨ�X����e{'x=��
h�����l��"H���%V`���#��G �2�\
���z̄
�u�
�!N��ŰQ!0��>�24�q%�p,S�5HU�gϴ�G��hp�I,Y,6�u�G̊��Q��-d�|^�G�I��8��D�i奄 �,����3�
�
(!$D7��@O+�jm_�9/���8����'��Ѻ�,�:�Ap�cQ#FM�qֹ��V
�7ʇF!�
t�yx	h�Z>r!�M
�桮\��� M����1�}��M xӯW>Ħ2@�/�22���`��m�ܨ
-Q�!S�?O_8F��LO�=����A�1����o�F���f�ٟ��������Q��٦`K�ʥd�*�	�kG�:#�v�v��腛��=ȇ.pA�����7D��G�c�`$�)��w�]��އ�^B�2f"v�UNڱ�A\	�l�	!�С�\G�
ڳY��~��H۟a�o��;�k�;�k2����Ў
؂�F����z���Ͷ]:P`��#]S��2vE�.߬�%��nY0��v~":�0lM�xm������6�}㛕��{䀗��Y�`�1`r
�[{���̎�9��b����
�#{�n�߀N= yf{世�.���w���1l��t�9�1��Y
=ޅ� 5"c �� �;��
-��~�\{ �
u��P�
��
,}��H at 2��<Vwk�v�h��'�CM1k�wY'G��
ϣ�E�XGy݀G�ߕ�[2vlutl����_ۻ;�������r9��
-NS�t7��`�jƭ+64
�{Ԑ���(�0��[qݷ���`E�V��bKz�&�?������`w��
:q
�ӝ��
C��D+.0�����D��"\����%�z���
-�x�k[����Y�8����\�L
��Z��=����5\֣8�'c���D�f�,�^�wVAX=�5��zMl�
���Gk�U�G+��
�U�
*g���~Ō����ĸ��F����s�
�sfδC�љvHq�5��%���a}�����
�50�b���
-AQ��٠8͝�a�8
c�m)5vr�8�x�QrA�7�}'�;�{�
%Kk���sQ�k%�����e�c������B��
.(^؏[n�'F����D��f�
!��إ	lx\K
��֠�I=-jɄS����S;&�6�wB��}/�ߧ�Z�ͥ��r�?��
����f.	�?�
-@�ø>����a��g��yޜJ������Z�P �C{�t�:�plX�r��o�.( �

-�pp9. [P��#;R��(ee��wz�
->��^�9p�+#�# =4H��/?Ɨ0s�ކ�޵�:�\�!
Z�|9َB��������"��y&��.�P;�1��N�Hw[#Èn����h�?��A��n��i��g����Uw��u��d������5�ŀk
->
-e훥x��T�!j��l ��G��?l�-�өBYbUJ��L�>Ql�g��&ޑ����(^L��X�Z�C����
-�Gk���3��Z�)���ݶ���yȌ��w��d/��k��H9�1�����iV�|�p�\�e�
-�˳��˦9J
kf���9���/�a�$�
^�'o�_jH����u��~���ɓ���j��]��V���f�~2��мBק7���`�0o�غ���-�}b���٢����l|�� ��I�endstream
+x��[�s�6�_���s�o�m��&m:�5s��7���A�蘭L��
����
 Jr2�u&~��b���O���	�|����������������Q�M.��wSF���QJ�?4�js����o�ڞϸ��f�7�ۏ��r���_.<�����3K�	sS+C�P���ٻ_�d	��P"�br�F�N$p]Mޞ���d��J�@'�j�itu/MvN'3.��%NxyS�x-��_�do�t

La�i{���C��۵�w�u�����v�7��v}��������4m3�T+�i��w��v^7�'�IO�ժZ◫��9S�*|Í�t���������s��ݢ�2
7�WAF�m+��n`���n����V
�t����پi���'ld����P7	Bb��l����ҹ�F�!o2�0J+�I��	9�ۋ���v3�E{��T�)����k�9��1������'�0p?z�ރ,f�Ԅ�n��D3�U�e"��Ii:���Li6�n��A�]!�ƿ��EU�qo���TQ��
!4Tw�,V�
�h�|2�$ܔ}is�.
�^	K�1�P.>FEI��o�ue��0�p3�����j��y�3��Y6��<��]3�j��M��#�?\������fHІ��'�'2T�5
�|Z�p����o /
)�*�R����z)UyH/
a��w

ia̲] I�(�}p�ص^�M��c����q}Z����Qr<��N4)
�V����̖JPlL����-l�|�.

����
��6����N�^RI��gx0=���۫v����З�Cd�L/r' �D��LQ9����%�D�N(�f�ē�X}�YJ��g���If��g9�9a���}����0�*�SI��v�`�w0��
�p��o2�.H��<�7MU�f�
�p�c�
��nv	-�
Т�۷��m�R��E9���%��Z�Z��E6Ճ8�� �����j"2�/���eGo}��V�me��c���5�����}ɰ�0p+Lp��e"�=9����
@�"��K{�x1���l2Ā���G��t�0��²���>�2Bw�wL����o>����4]K	&g�p�D�	�o�
+�uq"��q�?�ӹc�Hm�qZK9��QB��<Fu��7V��t�q
��O!pt(��7�>K�z;�g
�C�K
5�'�����L�g �YN�1OQjh�z�
+q�+�~wȤ3����C/�r2���a��8$�k��Os|���v�}�����@�I��ל���pUnz��}�0�
�ns2A9��؁��U2j���Xub�ɞ�1�N3��Ǭj'D�5�:ԟB��ɯ�2#v��&O�)�����(R��	��=D�9`V�E	�d�f��!ϵ$�>&H at M(
��M�h��S�����
p�O
��Y�]��-wnH��6j��~�����}o�1:8��� E�ƈ��ku�}��J��Uꬼ�P�1��NH�ڜ�q�����9�8�<o���4��� ��(&!�e��� P
ǎ�	�Ĝ�C6��`4��
ӣ�i�[�!5u��g*H
+�N�
��
�_��b�*
A�
r��u��}�g
����զu	\g��ZYIFfm
�U�Fp&��'�9��Y�
+oV����0<��$�Ќ���){�=驕���R"�+W��Z
���6
�U���D5�7�j�n��/0�fχ0�x��L��a�q)Zx�os!laQB�
R>
+gzG!>3)�|r�����S!{y=YL�]����
R1�� L�酲�w�
���2�h%��=$��Y��[k�h�{锡���].i�""D�eO|Ӹ��
<$-\v��>k��A��<//h����l�6�aϳ�L�4�@ݮ9\��}���	R�ɗ��m��oV�{��=��q
ۙϔǿ��6�A
a�[�x�q��uڽ�!�!<�Ȉ�"U���ȄR�̺s�
*�8J�s���#��>
x�
.)a��F
��p�N����bn�Q��Q�=��M���
�M�(�?��7�މ���Q���p=�@BF05�4
�^�	���aP�霦B�Q�p��Y�tx�"���m.��Na�
Y\
]���Ǜ��F��I�c�o�=����\R�a"�K�V7�r�� � ��u����
���캁/^g�	�
�3�y�ɞ�v;�
�
-��r������#M[�Φ��఍�29m���
+�|�1�&0�iy�?ۤ���j�
�i�R�vu
+�Ɏ�xq�W���F蠔�3&vd�#�z[���E(+e?�&�w�	�O]�0��r�?��z��bP`/�A
h���F�IR��K�����:h�C��E�k1e�>[ַU�Ŷ���&D��t����R12��?aH�
8
����- %�Ƭ	��UD69�x�	�i�s�I
���~��8���uw����h��̉ɜ0�	���ԉ<�:ɤz 8��N��у�`1�i�G�
+�9
ƈ��e��Ӊ�ө�@O��;��
��AԘ-P:ƞ�
+
���D��y9��dJy�����
+�#C��uY�V�������u
��5��li��r�ӧ��E��������e�x7���� ��a_궯�	��|�n�
���4�A�?]�W��K��r�޴��|7��<��}G�}j���GX��4�v�	QN����78dwo��Z|j�ri�op�����;�4��
x&*��Uf!.�p�����}�$6�	-c���4*R��ѳ�}��zut�^����Yٵ;�� (�erD>
�C�$���S�pH;V��b�ا^|b�3l�ܼ�=�o�?��s��Y6���`��P1[i�Ht?aa|�^��
\�bsl���U�6���o|81$�g(� ��M���04�xM�m�
���{����W�^��|��AI�����Btbr�/S2N��%%��M&��Zh��a'.2��ϝ�)�#�\~�# ���J��1+�CW+$׮!�n�
C�l�c�n�)H~g�CC�mS��c`:S [�[=�ޤ��0�ۛ���ߒ��ߒ��~�����
0n��
��q�ksw[m�#�ܒ�މ��
����ZU
t�ܴ <��[?=5	�V'�B��w�M�W�nW�F�
.�4���.j0)蠻^Ѝ�G �wB�2|������t���e�9���p��AWN���n�zk�s�r��7p^�5��λ�[�,9�.Ɖ>��
���y�p�
���v��&���f�����a�����Tđ�����:�y���U5l�v��ӟ�bS�u,�^٪����|):�L�E=O}�o��k�?_L��E����
�����<��Y
+��B��G�t�x4F�h�����`��wB��xN�}�H�~ #a��̎ݝ����N������\�)i�*ˑ,
}�O��,ҲF�������׼��d��^L��•�z��W�����,�Fl>ߗ J����L;m{���T@
� Hd���6d_C[����-S%Q���z�f����1��=�f�E"�m�#�u"��c�u�>ڠy�;�4
��/�^6Č��` Q�"��U�qîX"�@ƚ�>����������ތ�fէ�*�1
w�ӏnc�s�����k=��l�^Z�ث�7DOo%<��_�
v�,�z�ft�۠�vD�b�N�9U��9}2�	^�OZ0��	��|&9
��k�6y��
'��������$B�
��*ч�ol��g=v��p�
nM��Ό���xZg���jgv�ڙ%m��s��c<oK˴C���vxƖ����&�u������۷O�0���"T�@�hs}Y,���8{�B��E�����
�.�H<�91d���W<s[`� ^��
%<�ɺ��]Y�ky�v2)ڹ'��\>:�x���H8��)љ�˜�/l��8P�+��-��ݘ��$5눑B��Ɛ�s��
�>
)R�'T�R�
�p[�dũ��v��V=KN�(%�L
��k�Ӟͭ�x
bv|�)d��ÿ���s��ޡ}5o�B��*�/�l�t?� �1c���.u
+�lU����~�������hە�"���v�//.����bK�z�!��b�^]

Lo�
�6���o��
+׍� ğY���?kkc:
+endstream
 endobj
-743 0 obj <<
+708 0 obj <<
 /Type /Page
-/Contents 744 0 R
-/Resources 742 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 700 0 R
-/Annots [ 749 0 R 750 0 R 755 0 R ]
+/Contents 709 0 R
+/Resources 707 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 662 0 R
+/Annots [ 704 0 R 705 0 R 706 0 R ]
 >> endobj
-749 0 obj <<
+704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.4617 394.8635 244.3419 405.7675]
+/Rect [212.462 394.864 244.342 405.767]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76) >>
 >> endobj
-750 0 obj <<
+705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.8551 382.5745 219.1345 394.5297]
+/Rect [141.855 382.575 219.134 394.53]
 /Subtype /Link
 /A << /S /GoTo /D (main_BCCFMMMR02) >>
 >> endobj
-755 0 obj <<
+706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-745 0 obj <<
-/D [743 0 R /XYZ 90 757.9346 null]
+710 0 obj <<
+/D [708 0 R /XYZ 90 757.935 null]
 >> endobj
 30 0 obj <<
-/D [743 0 R /XYZ 90 733.028 null]
+/D [708 0 R /XYZ 90 733.028 null]
 >> endobj
-746 0 obj <<
-/D [743 0 R /XYZ 90 684.6042 null]
+711 0 obj <<
+/D [708 0 R /XYZ 90 684.604 null]
 >> endobj
-741 0 obj <<
-/D [743 0 R /XYZ 90 476.3139 null]
+703 0 obj <<
+/D [708 0 R /XYZ 90 476.314 null]
 >> endobj
-747 0 obj <<
-/D [743 0 R /XYZ 90 476.3139 null]
+712 0 obj <<
+/D [708 0 R /XYZ 90 476.314 null]
 >> endobj
-748 0 obj <<
-/D [743 0 R /XYZ 90 461.7436 null]
+713 0 obj <<
+/D [708 0 R /XYZ 90 461.744 null]
 >> endobj
-751 0 obj <<
-/D [743 0 R /XYZ 458.5281 386.0615 null]
+714 0 obj <<
+/D [708 0 R /XYZ 458.528 386.061 null]
 >> endobj
 34 0 obj <<
-/D [743 0 R /XYZ 90 369.0005 null]
+/D [708 0 R /XYZ 90 369.001 null]
 >> endobj
-752 0 obj <<
-/D [743 0 R /XYZ 253.525 291.6596 null]
+715 0 obj <<
+/D [708 0 R /XYZ 253.525 291.66 null]
 >> endobj
-753 0 obj <<
-/D [743 0 R /XYZ 90 276.9898 null]
+716 0 obj <<
+/D [708 0 R /XYZ 90 276.99 null]
 >> endobj
-754 0 obj <<
-/D [743 0 R /XYZ 138.1482 128.1361 null]
+717 0 obj <<
+/D [708 0 R /XYZ 138.148 128.136 null]
 >> endobj
-742 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F33 481 0 R /F80 564 0 R /F25 344 0 R /F10 484 0 R /F11 411 0 R /F8 523 0 R /F7 526 0 R /F67 366 0 R >>
+707 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F31 472 0 R /F78 539 0 R /F23 340 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-760 0 obj <<
-/Length 3672      
+727 0 obj <<
+/Length 3315      
 /Filter /FlateDecode
 >>
 stream
-xڥZm���������:���tAP��$m���

-4����Jdɕ��m}g8$Mڲ�i���"G��>$�g
���`�LeI!S=[���l���q;���EH���ݛ���I���}|2
4O��b�q��'���3�����j^��6/�﫦
�-���Pl��-�� �	9�����}���k�RRs���w?��fk��;��"W�gxa	/
-1�ݥB�������
��V��|��L�V�-/v��Wc�9[,���J<@�"MdZp���{��]i�Ym������j5ˆa����N�R�
J"����AD"D eD����{"�l��"�9d�@[&���P�k�&�l���vMkVeSZ�9>JE��"��/'��*U�?�>��H�����G��ε�[�����]3!9"��[r�u63� �� ��V�E1��
��D3�,��ĔY�����gS�I*���Ą�L胋$���
-����۪�I��
ƾ��qb���y���g
Xa��v�Ee�g��]4Z�N$S<^X�!Zا	it��Җ���B�<;1��:��u�%��^W�CY��5v�\V�,m at di8%d�9&
��{��Χ�H�N7哝h[�v�
-���z��3r�r��^�
�)���_	J��/S~��
->���f�?���cSA�9O�9͌o��ÿٱvB	�Y��/3v.�m	��ĭ}3��̩|8�
`�^�o'
-������aH`
-F�TL'���#�4!��\��W���=����
��
-�Ѽ�D�W��Z �$-��b,�Dr��*k�)����4b��d�2@@�
p��|e!b۟;�<�)�R�+��:�����g8u�jG
-<.:\@p��
�m��6c�p��^p�p�W:ܯ�����9>��ͦR��,
�D4�yL��T-��RSo�_��`�G&�A�LM��X&G��d]X���H_�� �%T���TE��� NZ`ѾO�Ō�d`>�w�˶Z��T���e�����Bj6	��� w_~��)��w����N�޼(�Ъ���l��M��
Sg��R��җ���?��h�����S���}B3ۮa�S���F�5utm�U5�)S�P�3_�>L9/K :
LY�rg��g����2�����r�������C����"��
�fE[���=�Uv���\]?Y,a<uخ=�
@�����c�c�����X�y�_�u
�c�6n�?N�m �m<�\$)���EJ���
i�0x��l��u���`\��
�,�C�&���5��P�'�~��0(|�

Q�-�Dv)��)�y���1�{~����1���[;w[�L��v5t@�$��/)@
-��
�O}��y"vap���u�jR.J]%=�M�y��ʲ0
	�u��ځ<^�a�
��J����������^�,iz�z��R
�����K
�w�0&�
љ �K@&E�����
g
��
�.��i	�l*�ۦ
Ll�
-��G�C��͑U����
} 	@�o���@cc��԰qo�<M	��� ���i�q�$d9T���]5�� ����!�.
XQ����ʔmӀ�X��t
)o�X��
\�Vsr	u�؛�����
��ꕧ!�Zu�4����)��c��
���9����Ǘ�R&�� ����9��>+���qhkL7�"(�,���
-���9,J5�G�E�y�ʅ�af�p�+�&���e���a�� � /��X�
/� D��4D����Ո^n;�~�xԖum+I�]Uف�\x3bG�4�;@�Z���W �˾.*���K��R_u�XkJā
�3v���^�Q��>Kz�Z�k���:cJ�8w��r�<���4�:���X ���Dh��E U�z
�	�������:�����������ǎ����
��c
���,��V�s���#
��Y�1�Vnah
0���s|��,�-�=�������B 	��>�Ϩ�H$���lAw�n�]��ڪ;8v>��\Z�z
/g?��
�D��$#B����j��|"�i��-�!���˜-� "$�E�
���|r׀�j�U���y�#�^m;sG�ڝ�Y�R�uS.���As��8�ԑS�d�
�x\9�d7O ��x<�1�;��
@.�������
7(h���v�/���El����JB�+*�d7UruƣJn��T�{M%��dne@w��/+G�v@�e�ה��n+�ڌ�r����{h����F�k���x_��N֞���|��Pu)�����Z&% ��``h������As��
�F�"
#�!��}�m�M�A�\Z>�%�]��hQ��rI�)A$�8؎��t�t�j}"#~1��Yw��eR�&�㓶�v�J�[��:�;�}�8���A$�� �7��� ��ڞ0�W�8M�lQM�4�b�=��qZ74H�a���eH�␥4hE��o�����mw�l]�r�+��ȉ�/{�]��ն�a�
۝�Vv����
M��<�i��s_Y~$i���
vO-�)���E1���b�v�XBI|@�U8����4�k��`]�uٔ�vr��T_8�QL\]a� �-#��W��m���;��Qre<�-�I��s�)�rh�@�;#$
~�(��������q����L���M ��h� 2ua`_�&
-���w鶖b�� ;�3,#r�%������P�U98�OԃkG��}�Z��m
�ȴ3˩��3y*MA-��J��+q��&uf6 �H!��(�
X���l�q��G��X�p�[f0��v�U��F����y[�Dp!?!�
ޛ ��(4�
-<��hȤSxR4U&J�d׭a�h?7�	O:����`�d]-—��v:�:�����t|�ʃ��$A��[
|�����4`���2;$�}�4��?V��;��˼��DW&\��
ʵ��6e��M�����>	*���
����꥟$���c�}H"�''��5Ʉ�’���+�\C�E�
e���35�4R乽Gá~ci��_�L�3�(ݏ_�9�>�A0����e8Af��������{�
-f�j�d��z�[�""�
�Ԩɕ'�Rf
-�0-^�JK}c9�<�����1U>�sy�Q�����5�n�p΍.*�Gx&�B�84n#��\q{b��P�fM?d�vs
Q5�"p^���^�ʤ���3~�Tt�����Tv�iMW��(#�h��jd`��<gg�G:�*�
�Xd�n�q�X7�c�����(�{L�w�¬R�}�0V{��fU����8Qnj&T�oZ�1Zz';�6��NC);�;��� �����r��%���1�P�j*�4؇q��T&���V�9�E��D���e��JL��:��$�<խ�ϸ�&Ejle�X=�(�Jsρi&���(��z����O����<#�>؟F�
�r�
l/+k��<l�-����B���Es>X���Q���p���F�����
�Ql\����=��	6���m��_���g��;�R�%?9�PE���<���r�Q����0��&O2^��7
�b��?��~gu��$��o����?
U�\�U�we{p9Ӯ���ZQ���˶Ǫ:�HXƳXA4��̵� [...]
+xڭZݓ��߿Bo�V��|0��*;��\ֹ�U����X�3P֛�>��=�H�]�1
�L����n!�]�y��[�Y�Ye���X$VFF������RF��J
+!����fY�����E��eS���J����Ǣ�q*�^*q�����y��+	ۈ�t˚$J�YlW~�-������Ń�:,b��Z-��~%�eQ�HX3�)f�v��
ƀ�W�1YC,V*�t���^K�lZx�*�q�Ǒ\���MO�I:Y�Ƒ1��VȉB�F*5�@���U��LR,l�%:E�$��]��JKD��,i$T�XM��zK�t��ʙy9�9VQ�����A��~)�[�� �
����_*�e�b�릚�\*�t�9��6Y���@JP�
EX�,[��Ԏ2��辞��
�	���*�b� �K(��чT��g����[�u����MSw}��u?��J�42R/V _f8�3���49w�@,ia��
+V��4��
�������Z�$�>j(�
8*;��./�4���
��

��n	�@
\7���XRN���@9ly�틖�(0|*���<�j�GYoˍO/��
+�?X��
+���ۜ�0���)hg�M��b.��l

��5^,]��&�f4�c�FO�

���h��A��lf��a�����z޿v���~�v%��(D&��/�L at w��4�mv��Ӵj"~��Q����WGZ&�	+unEȆ��t��f�%��5!���4f����	�˳~2���]�)c��}��ļ)�^�*+	��������R�$��ʄ�k2���KȒi�o�
+�Y��+S0Ԙ�>^�b%|q	���|��)�_~VFQ����m!�
"L
Fڟ��8Êt

�C.!�|�<6��ض�\.I�$�[^i+f��	߾�1�Ԯ�O㫞M,�4�\��� î���� p�T�c؅��CT9�����	0���^!o�
�}���HҼ�8��-M4u�>*J,Gsv��Ȍ��ݜ�H��ݐ��U,2�f�!�A�;�E�\x�n�����E�2&�3
�Μ.��T]�L^��
	������j�٨����/�:���`��[���P�3
+� ��3���z��g�1��⏳>;�
�:UQ,��)���[C��\�t �QYox�
�{��us��d�t�WRfy�f�&toU]CTyM3�a��ax�`�7�����e�z�w=z���������B����pc ����5�0�o���q
+�3��~�T�Q���2���}w�7��sI�n�CQw��p��B�/0�nn�����2��)�ݞ���-��s�s�����#r�����\5t��
�q���z������j����
nP�Vv�9 �
	Q�x��{�$ >��!����g}ŢٕАV~���
�gj�
薗s����;�H�dW�G��Nd#b^+��͜v�G
�=Zڸ�� 
��k�yLj�~{��4m��f�Л
{�e�+�aL ����V��J���f�w����eg���]
��㨓�|��-�s	
R�L�i�
�8�%f���]V� �Yh���c^R"�8P,hnٕ`�
��vqZXb:x�.w;~
\W$��C���K�(x0znb!†������y�h~���.���9?�N��`C�h��PԚ3�=���x'�����"���
��fD����yC�v�rp�"
�
P0*��ӅD��:���
C<�¥�#HW�
�y:

������9C\ �������N�
+%�	Jaq
�������*@����2�Q<���m�ڟ���
+m"it��\.
+A������2��������oP�Ls�m�&�I2

��#��?̃9�͑H-۱^�tY�C�+�9�� v�w��Fc!��
l��0o#��)�S���0�)ں��x��d3���-�^b�X���@Q:Yζ
,?4t�#e�|�ԛ}�ΗX�)�T^V��*n<&�ʈ�������1wv�.{�ae VL��X�%7e7����X��q��
���>��=�򅏛�J�c�S�E�Qa�A`+��M�
[J����������ZL�=6Z<

Კ�P7;�`�+Ƶ����8���#*b�`&���z(r�1
�u���Lҕ��
�Ǧ�Jp��U��A?�NB�j����G|c&��!GP�U���i�O�א�m��Ǽ�rpBv�
+il���� ���:����[=n��7:�#��N
���0 �g�C��*
ZhW��U�{&ڪ�Y�oN��
[��O�~<Xn7���&��
�`�_�K��6�Cm����
q�x���\C=56?~!]Y����
��
����,
ƀ
��2��P�!7�X�6!V PQ�x�a-�i9���cZ9~	��Ij�L����1�R�v�HtC`��;NP�f�!�?��xI���
�x#�,
^�,�U Ub.��J�0Q�<�=p�g�M�"h\���W#䄠�{��0Юv~�{�Aٱ�BiC�bH@���=��V�����@e)��S�dq���'�ӞK��X�qH�,@��0�<�d�������;�d�}˻n���Ի�
w��&�'��ୋ/�G��Va�<�#�M�J�T� �C��ց_w�	W:���ж���C_��&4>o���N1��&��O:;��C�x8D�(���e�O�$d�	
�
C�ad�~�$������0��ݸ�J�O�0C�6��jc1y�*�m�>�+���_�
e���r9l2Y�aP�{<�$.{��9
�1Ѵ"�`��"e���3f�K�;����� ����'�g�[P�I�@u�"q������	���}���@�_`$^~x��O�&������٣�S��#:Igs [...]
+��ŷ�*�Ł
+v��a���/���V�9���$H]�6�/+^���S;Dg�i-���
+V�
�w}q��ᤚ�5�Q��H�x8�5��utOv�������� ��$ߘ���TcL�Y�=:zx�y�_����o;8Z�N�Yo��i$
w;��8��}�����
6
��k����K��ʣ@
�
�Hv��S��``0�u�uwp0듸�编=�=~��y(�}�O�����lV�U������;�sc���
Na
�N����Tf�(����)s�%3�w{�0YdL
��X�C������s7��u�
+����? �,�Oy}�� S�?
�
�B���N\�	�]Q��$�Dž�� g&L+�#9~�������WѦ�Nuyl��u<V�ξ��KG����s�a0RY�$A�
#�mF(
+endstream
 endobj
-759 0 obj <<
+726 0 obj <<
 /Type /Page
-/Contents 760 0 R
-/Resources 758 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 700 0 R
-/Annots [ 768 0 R 769 0 R 771 0 R 773 0 R ]
+/Contents 727 0 R
+/Resources 725 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 662 0 R
+/Annots [ 720 0 R 721 0 R 722 0 R 724 0 R ]
 >> endobj
-768 0 obj <<
+720 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.1912 181.8352 208.6194 192.7391]
+/Rect [176.191 181.835 208.619 192.739]
 /Subtype /Link
 /A << /S /GoTo /D (main_CH78) >>
 >> endobj
-769 0 obj <<
+721 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.4937 181.8352 511.5056 192.7391]
+/Rect [413.494 181.835 511.506 192.739]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHMZ05a) >>
 >> endobj
-771 0 obj <<
+722 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.9056 140.3005 492.7858 151.2044]
+/Rect [460.906 140.301 492.786 151.204]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76) >>
 >> endobj
-773 0 obj <<
+724 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-761 0 obj <<
-/D [759 0 R /XYZ 90 757.9346 null]
+728 0 obj <<
+/D [726 0 R /XYZ 90 757.935 null]
 >> endobj
-762 0 obj <<
-/D [759 0 R /XYZ 90 733.028 null]
+729 0 obj <<
+/D [726 0 R /XYZ 90 733.028 null]
 >> endobj
-763 0 obj <<
-/D [759 0 R /XYZ 121.5512 562.1569 null]
+730 0 obj <<
+/D [726 0 R /XYZ 121.551 562.157 null]
 >> endobj
-764 0 obj <<
-/D [759 0 R /XYZ 90 547.4871 null]
+731 0 obj <<
+/D [726 0 R /XYZ 90 547.487 null]
 >> endobj
-765 0 obj <<
-/D [759 0 R /XYZ 121.2721 253.4872 null]
+732 0 obj <<
+/D [726 0 R /XYZ 121.272 253.487 null]
 >> endobj
-766 0 obj <<
-/D [759 0 R /XYZ 90 238.8174 null]
+733 0 obj <<
+/D [726 0 R /XYZ 90 238.817 null]
 >> endobj
-767 0 obj <<
-/D [759 0 R /XYZ 90 212.5454 null]
+734 0 obj <<
+/D [726 0 R /XYZ 90 212.545 null]
 >> endobj
-770 0 obj <<
-/D [759 0 R /XYZ 90 158.9211 null]
+735 0 obj <<
+/D [726 0 R /XYZ 90 158.921 null]
 >> endobj
-772 0 obj <<
-/D [759 0 R /XYZ 438.9586 119.5432 null]
+736 0 obj <<
+/D [726 0 R /XYZ 438.959 119.543 null]
 >> endobj
-758 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F80 564 0 R /F25 344 0 R /F33 481 0 R /F10 484 0 R /F11 411 0 R /F8 523 0 R /F74 478 0 R /F67 366 0 R >>
+725 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F78 539 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-778 0 obj <<
-/Length 4044      
+742 0 obj <<
+/Length 3830      
 /Filter /FlateDecode
 >>
 stream
-x��\�۶�~��U�Z0�{<��ۤI�ǾNg���Ļc*Q
-�����.�
-�ɱ�z:�p	����o4�a�GfϔP�0.gכ
<����\�x	ϗ逯./�-�� #��]�
3H�%tv��qN�^,	�x���7۶Z/�T��7]��?_~7�!���
�ػ���z��Į��ŏ?��
-���#f��=���1t�����w?�y܃���a����4��R��v��kxq���rĸ!��߶0\�����핞������~��ͦ�w���u�nw�R��vXjxP�Iv�vA��}��W��գ{���s�����
R��bɌ�����j�o�"�X �g�h�����Aw�G�M8�G/��33^L�
��?���Wk,~> $�
�"&B���Z\��a��7�����k�4k`���%���e�xgU��]��R�oo�_/T�Zm7UӢa� ����)ХS$
-~�y��m�}�
��u��z��}��%�#���n:���s��t��ld��J���]o���n�=I�c��7%5֠��{�jW�ɉ��0���f����ۺ�*Z�r�\�$79o�S�0�
��ݪ0��υ��
�˜v��
`��U] Sq��V~�u��U�^J�aw
�������$`�X��
��;�&�gt�OV��
��U�*��؀ܚ��]R�fb0�"�A�YB���q2���p�z���������]���zto�J�"�eЯ�%�$��j���7�
�n�*D<�nc��A
��-�
-3��Y�*��&��T"����?a�`<��(��*�k�qq�~SX�z:K](�HItyU��}��՗C���
#
e9�	�p)�PS P�_�zܫ,�C)�Εɿ
-�d^8�Z⼅���
��dp�x~��S㟿*L at 0�G�M��3�8���Kj8�LE�wB����B$�H}Wd�!�D�.3A���Sbt����
���,L����&�%;6�~d�,.�;���u5<����m at 2θ�tp�A��;~�
�:jKI�@��
-�s6;�^����d���5�`;�a`�mR*]�Y`.�'��Z�ࡲ
�$~s`W]���/�*�
-�����~�)�L˨�l�3��PﱀH�J�w(m[ �dP����
���mT"�E�����~(� ����6p�8>f��iz�vk$�z�x[�i�q�� ��1�&B
�%�dئl�	G� ��#�NӖ�N
"���rV&�4��!��-�jk�'� #9}����h���X�
�;x�������V��� ���ˎK��`b�����0��&Wb0�A
&P��0������Z�n����,W]2r	G;{갓sO��2�H�'�!�KD�\�f�����c(D
b��I�����
-�������R}~Y8�`W ��X�x[��@!0.��p��yH�,\
-����a
U��>����p5X(���n_
� ��oݝblf#*�E���[p@��+�A��X�e��SE��,OG'�R�Q�e>���1�)
-��
-ܠyQ
Q
c3Q
}Tw�VX�8��@gЃ�0���պ�?��ٟ&`�Q
�G�3`'��(���M 7UB���@ac�R
-a
b2&I����
��Mi
�e"(�"�w�Ư{<�Ȥ��x��
dPS
p�]ݯ�Y
p�*�W��f1���HE
�9��������kǏ����.�
��A,�	�.����Hh=�����t1)�T졚�J�u��J��"���
S]�\2o���?�\�Mp\4�0@�|J��VU�V�&�A�hVsf�}ִ����S��YP1w�ݝ���?�Wۭ+��!� #o�)
���%�};��P��w at kg�Ek>ᓡ5<�(8�GgA�	 �gE�W�p"?�T`�%�a��HĬ�$37�`Ij�TfU��s==�dv�sV,��	�t�]�tf�
���r�������m��r�{���ԀiLڞ��?>�kc�d��?F��=�
wM_k$D��T�H�o]����J��T����js+�ҁ���8��(�4�Q���F�V% ��@���y.�w��](�e4�͍_�ʉQ6߶�Gw+<�+���Y�"�������`����;[�T�^F3b��
~Nn��* [...]
<��K��VQ�	{be�T��A�q��a[F�dME��0�wtE�V����y`��YJF5Ok�Ϻ̻�~��N�։�R�y']
-�Ū0����L�r��
-[��̮$8X�m�0;b�Z���!�ʉ�GM. P�N��
-��00�,(�@�����Jqz�
�hu����z;���8i�H}�
��γǀ��
i��W�-hZ�F߀ �}	�/F;��F'�f ��?>T�ݺ~��xe�+m�pI���'
NY�8d�}
e&u�I1�(�(�%E���-c�x��%�k&�er�)�P
6'�H
-N��M]�M{�D1�\����ȷaS��9'�0X��s���������J��)�Ӓ��ڤ؉�JF��-k�)=;C�
)�!/�}�&(~�<��ĭ��3rÀI	5�t��@䷇���q?�&��
W��xo�Cr
~j���u�)����+˜�}�g��\A��ǜ��"Px�]�����k
2�s?2�3���;g
L`�Xt.�w�fm�GSֿN�|=��-S���U�9V��Ƙt=��������^ ��^B�7j�\����W<)v��ؓF�Aq����E������-����i!
1kTʣ:Ǟ�9K�ԙ����
�ӇF��#�
��2�P.�i{�Ǹ���e��
-��u]��5���i�C����v��
z����f��E�ޯ�������6>���A���ޔ{QB��{2�7Z_�Oua�育�R}r�%�)�<n�t(p
o��Nf
����mG�'�*${M�0��Ӏ���c@�����u��u�韕Sࢰ��h���ey��o����3Q��-���V��ꠥ4��EӰ̧a�m��m���vsմ�6���i���h����
Y��ܑLŴ
k��p<<._ E�)�4<����|/�_%�Da/���CA{<XJ)�w�$�I���Jv4}�@+�<�γv�J��=8~���1Ib��t�n`n$�_�SJ�1\�Æ|����v[�8�4��
-].P��g���k\0�O�铂�϶�
"��;��p5) N�dI=�B
&��ϸ\Ĭ��0q�jf�>}�3�U!L�ߡ��
�7�z�f몒������Q��_�Zfbr�9ҠÅ�Q�U���
,PL��痢� Fe��S�KYF�pl�k�<�w����?�؊�5��
��GZݑ����h���Շ-�Yz0��R
Ӄ�l86����&��Vg��&3w
r�Y� FL�1!���Ҋ"m���bӉ(R2���4� �k
UK��Q|�1
��z�Jn���Rv
�v�Y�6�SK�k����K���#S���?�Y�	n���ʒ�
Q���s'�8w7��H���A�|�)vt�w0�؝ Py?�� 
-F��?�FPal��I�����|����|E�
=X,o3� 7j\��r�
��YP �����k@���� w�
~��>��0]��m�Q'�<Y�k�}I�
����0�N�qk̉s����
��
�~�<z����g�y*����7���]���T������� �Y����������6���Rz�؏�'��m@�~H�1�=��,\�m�g|a��ᾩO
����M��w/�?xx@�=� mסf�|�[?��5�

�	�-�Z2�3
�� �Oi�	��f����Oz}��
��H�
�endstream
+x��[�۶�~��U��`�ړ�L��u��8�u:��މw�T�R����]<H $(ɱ'��(����>�w
�x}�����o$[��T.�n^(I��dq�^��$H�.	�x��<Ի�ܬ.����m��V?]}��!��g_��ܽ����/n���
+�����?������z�hGm�2��,>\|w�G�
+!hO!�%�8����
�/.)G���7

W��p_w�J/�����n?V�f�
����r�۰<��K���d��VD,?��j�\?�'�{?Ǧ�n��i%��.Y!�*���t;�Fǿ��3����v����߫C���'?�1�>.���֭V�	�0�� )Fb��Oǁu�ݴ���8��u��%p��m˺A��
+I���Wf;L�a;�.���~�
:���"0�{�V����`Y�GXz�P7
�yj��_:Y*ɒ��RP
�{7��}��OR��
�mN	4h !�{e��LN4�Z�c
=n�;����Z#�� ��\2ɐ�Jx;OÈ�y��Y���0����Ӷ;xX]W2GJ�D����ֽ���oWL-�����$B(�x���}}s���l{��U�j
B�R�)�+;6 �fbo.�a3�QDp8҈�C�j��/e�e/^�ydk�C��ݮ�'4���[���(*�`�ʗ@�T�k�+���
o�*Dl���9
�� ��Ra�b���
U
:�n�`(c�����0	^HT(��*��*�?ȷ��*]D��3K����u������L�+$
+�9�ӝp
�3�
�	ƣ��,?�"g����*ɀ�e��d\!�
����U?�3T'L�|�W�	F��xӷ��
f�c�-8L����!�"�@����kA���K�q�E�L�p�����F?�ef
+�8գS��bN����
;�S斃�
f@�eUZk���
 �Yv��D:p�:v�
+$uqL�@~ �g����	���nYk�3
VN�2P"^�"���@��N E�c
����]�eVwSnʶ��)�	X~�g�j!�sY�PgX&��M��Y�`��k�m[ ����3g0���lT"�23C���f��H�a�ڝ��m�v�[�[n���h�uV��D�
@����� j4���
�H72o�	G2l�\
���MN�@D�S�D�s"�s2�eA�;'�wR\5���ئ�)�	�W�€�ԅ��!{�Lp�z ;�}Wn�Ǽ���S1�Ȼk�-���jo�D=T�y�̤����`�.����s�-�
����gX ����K
��^�:7C�>�;"�@R #�̠� ~2]
+l&L
���̹KR 
���x�
�&C
0dP����P�.�$���KAU��RH�@G>��3- .�-4`"_s�+m�w;w'��Љ��i߮8 �}�f���\�2�<;
v��d�
O�KR�G��(��yثN�`�P�
\�
+yA�(��&D1R
=�7�t�Dk'�!��:�+K��C��O�]2��i
`N�ⳅ�>A��h0���ѡ�=���j�deL�
aH.P)����4gK@�&]e��xCP�����#�"62 ��
#���n��y�fn��*=�
�|3`�
��_!�AT�;.�ʱ�c�y�r[2h�A.=��Eo� �Z/��:8XL�4U9U2@�@�)t>����g�3J��p�+[��
�;��)�Ҝ���
�
�P�q
+�܌8���!7�`ow
++*�n��s��'pg�Miޟ�c݉��*��6�
��ԣS�t
#����b3�Љ�����
��)���#b�,�2RO]�g�Kz\*�蒤ಞ	��؅��V�p��|�>�.ŧQ�rI�x�}�T&'gî�R~�w�\}�L�Ik����:����
j�|T���H
�$q0�
Bd�?<
f�{�
<n��V<�|��/y�P�S�tu8ʭ5�
+���tϑ�Qs#��)�4֯�����`4u����(,sX`<Tҗ�<�;����X��/`��([�͓��?�j#��mi8��0¡2�o�,X�zQsg痊�F��Y�]C��|��t��KOS��n�
���g�W}�|�).y�|�S'�H ����0���l&p(�
Ib�h�#7c��)�D�Y�Q�ؕ�jj�
�WQ<i,�l<9�R $�����b�L��� �a��d�mx3�A4$
�@�q���8�V��2gW$�29�Br�MxG�S׳C635Ğ!���1�V$�)eI��U��De{J�V���xN�ب
+9fQ���H6�e�|�d���E0Y�A!tkd�E��
����0��Q�էC��wgm���Ι�J
m�J��:~�IaY+BO���I���/D�c�
�7�b�CrJhJ:<����
+P�%���rr���z]0I*v�rq�M�*�D��u�(���H����l
��=#��!t�(k�X��G|�s�]ɐ�o@]
�o9���l�%-tT;:+���r��T��n ��'cHڨ�G�J	4p�$d�oG	�������/����H�+���I�A4�Lyd�|T9J3ҔE۪l���I hZ��"����|e~�䛺p�+!5�m��y���F~�:�	��u ��h.D��pz�
�#��O3��䴦OT�&z�o�eO:��d/��T2r:�
ȓ�-<0�7��SkvCit|��#
{U���&K`S��W��
n���u&۴�v��c��=@������]��!���
��=o£��_���5�����}כ��u_�դ�s6�`�iڞۣz�\��Ԯ��1L
��Iטln��[��зy�쁁=�29
��t�!]����L��
�8g��Li�z��B��&���(`�ߜ�)l
2���b�o�������ޤ��!Y�
�e>S`.z�1�q2sI�`B�?�YW�4�@�
rb
v{Ӭ
rc���c춦����\�t]��
����L���6�C�������A����^�c����
+(aŸ�N�چFQN���*�|���p�~hꏦoܜ�
|��p
C�>`'�^K��7�(�
+vmu�o���P���Y.�
	_&d�@0��3`j�+@h�	T!V��1�Z�}f)�^��
�̧W�4�ꮟ��n{]7������bo�6�t  !z���
�P���‘"��:�x_f�è�V�G��d�p
�/�*
�(�#2����|�'`��l6#��L�gXuf�^�(��
��
+�(�`n:7�-t�QBl�"�f�Mq�g[b��HS5�KE�1�¢�7�r	�(�LӥuBf��d�,�
	���٤WTL5P�	�恇G[���t�/3�"i��s
�_eb0W�u͘vл\aˍ2uQ�0�/�(��+|Q��A]���LW
�

+g�k��4�U��m @L4較�s^8:��{����S񾯇�9Sq�
+��5���év�c����	6y�AZ5��M�|d�@L豮q���7��k�:�>;�$�-a��\'�~�XȉiT/�~�R1n\M�-R2
+sa���� �\%F�#^(٪E�9��3
���e(��Gg_j�%���r�c��
�G}
+��g�*�0�vA�?90�{H��p�!
b�(�#fh�q��x<���F�
:=���� ߦR�~#��:N��%����Q Q�):�
��[Q�v��b�;c5ʶ�V g�� ���v��p[��D�z�v�51|�U%!���I��
�,M
S�����Y���"����F o���w���}�n˞9��\��_]��i�ų�e���	F��~���bdR<��"�h�ߪ�D���m�?����Km�
+����N��a������Gt�!���-������w���Q(�����v�V����S}o�H���
+endstream
 endobj
-777 0 obj <<
+741 0 obj <<
 /Type /Page
-/Contents 778 0 R
-/Resources 776 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 700 0 R
-/Annots [ 780 0 R 789 0 R ]
+/Contents 742 0 R
+/Resources 740 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 662 0 R
+/Annots [ 723 0 R 739 0 R ]
 >> endobj
-780 0 obj <<
+723 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.0837 695.5631 458.0906 706.4671]
+/Rect [404.084 695.563 458.091 706.467]
 /Subtype /Link
 /A << /S /GoTo /D (main_BDHetal05) >>
 >> endobj
-789 0 obj <<
+739 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-779 0 obj <<
-/D [777 0 R /XYZ 90 757.9346 null]
+743 0 obj <<
+/D [741 0 R /XYZ 90 757.935 null]
 >> endobj
 38 0 obj <<
-/D [777 0 R /XYZ 90 733.028 null]
+/D [741 0 R /XYZ 90 733.028 null]
 >> endobj
-781 0 obj <<
-/D [777 0 R /XYZ 505.5668 657.1815 null]
+744 0 obj <<
+/D [741 0 R /XYZ 505.567 657.182 null]
 >> endobj
-782 0 obj <<
-/D [777 0 R /XYZ 90 640.5447 null]
+745 0 obj <<
+/D [741 0 R /XYZ 90 640.545 null]
 >> endobj
-783 0 obj <<
-/D [777 0 R /XYZ 393.4957 461.5733 null]
+746 0 obj <<
+/D [741 0 R /XYZ 393.496 461.573 null]
 >> endobj
-784 0 obj <<
-/D [777 0 R /XYZ 90 444.2429 null]
+747 0 obj <<
+/D [741 0 R /XYZ 90 444.243 null]
 >> endobj
-785 0 obj <<
-/D [777 0 R /XYZ 322.8747 245.2669 null]
+748 0 obj <<
+/D [741 0 R /XYZ 322.875 245.267 null]
 >> endobj
-786 0 obj <<
-/D [777 0 R /XYZ 90 229.2925 null]
+749 0 obj <<
+/D [741 0 R /XYZ 90 229.293 null]
 >> endobj
-787 0 obj <<
-/D [777 0 R /XYZ 222.1614 145.8949 null]
+750 0 obj <<
+/D [741 0 R /XYZ 222.161 145.895 null]
 >> endobj
-788 0 obj <<
-/D [777 0 R /XYZ 90 131.3154 null]
+751 0 obj <<
+/D [741 0 R /XYZ 90 131.315 null]
 >> endobj
-776 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F11 411 0 R /F25 344 0 R /F33 481 0 R /F10 484 0 R /F8 523 0 R /F80 564 0 R /F77 570 0 R /F1 573 0 R /F7 526 0 R /F67 366 0 R >>
+740 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F8 504 0 R /F78 539 0 R /F75 541 0 R /F1 542 0 R /F7 505 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-793 0 obj <<
-/Length 3971      
+758 0 obj <<
+/Length 3645      
 /Filter /FlateDecode
 >>
 stream
-xڵ[Yo�F~ׯ !
��#Al�Mv�N �Z,�v
�%1�!'Cj��_��'ٜ�|<<����U_}U��
��B���Д��z{�����3�_���j���˳�?
-�ЅD,.ol�`���~�ą:_a���u��mSn�W���O���;����ô@T2�|@�yz���8��S�͘���
-�A���PA���A֚,�g��p�9{s�*��^�rs3�W�J����' ��,N����1��-b33�w���0����q�#�V��Ŭ�H�t��i�?�/�u���Th�%�s,��w�/�*$g8,t)��k�� 
%��aݹ���fS]���}+=|�HA)��[0
-�v��M��
�io2�bTH��o��TJ�����!Z`���
����
qd�ǍV0
�X��'��a��J��[�":Z�m@���
0����]�@�ZReHpI�-�Ӫɬ
/��������W9�I��RO]�.F���7O91&�ôPV`IT0&/�5~�y4~���K��v�ެQ���j�3}Vi��5!����iܽ�ɫ
#�XQDrZӅR���K
"U�w9� 0��7(����bY �I
-O*��ht�7;��
-���F�(�	��N�( �	�Z�
��3���]Xp�2r@���5j�q�9'����
�,��"��D�eMG�Q[y(`H���`��:�Bb�y=�A�
� plv���8 �q '��^N0/�<��MF베H�#Z7ޤ�>���!0�E`U0ƹ�`���B�3�X
�(�)���M�T��(P:-��r
���Q<Sä�x�!>����J��3P� T
4`� F�
|�$�1��1D�:�D�\��Iyf^(
��	�dՒ�Yc@�
���ZH3��&@�
�#S`���$DI5F� ¡��X
��ImM �K��
-i�3�y�r
-� ɋV
�Ҁ솱���Q�}~tyW
�����j_�6����jA-��jz�Me$t$��L;���s���c�ۘ
��u������ѽڏ�4	9p�&�
�E࠘���#�2���yԁ�B�b��f�n�|N�w��Bw�W]ջ7�
�Y�wF�2��q�.L�O��R����˪\ߍ����
-
R�pjC�Q"cV,ƃ���}��K��?�ztO����
/�[��ʽ{�n�Wu��վ��n^���[�:q_�A��K��o�6�ٵ�7G�7�E֑�
��C�~'C�77焻��
-�Z��V(�S���"J$��K�~��t�wX��ﰜX��+�{��;԰�Ȉ�^�`(14�
����"/�A�����y*�'�T&�O
"$i3���� �����tAcr�a�
-�^:�;T�)�c|}�!zK5w�D-��
�(G(��4!Q	�
-��8	��g��`�>�1�#�'	��?���?[��
�"���Z3��=ߋ�|��z<�C{. lQ at tO�Х�(�w��{�^�w�ef4)II��5��_�~����
�%#�R7��1������}��9�Kߪ��
-C�i��''�r��2��� f<�>!�P�N�Z�^���
��yZ�M<䨫���@fa�����gs.nO�+ d�Xܗ9�����z�i��
f<㾌�o߬��� �2�b�O��Y�ՉA18���.<YBص��b��ڮ��
(�s�pb "I���������Z-}��oU_n?���� �5[������hB3�9A%t���6աgrH��
!_M(�c,���q��c��qt�&�q=����/s���� ��r �C��L
���0���
�6�?v}��
�@ŀf$
�&��)�0�8�ќ����U=x��7��[�5��'��[`Wsk��\}�EK,��4l�S`��9����
K(.{g���#�T����Ĩ�2��3stP�V	0) _<k���X�O҅
*[7P��w�l d���7N�0@)m�yt�ܫ��\�=�z�O�	yZ>`VC�G~Sta�
��@�?6�$\�����;6���[.fj@�8����"�3Wۚ�@��GE���G9Lv"$V�����#��
�X	&ET'�d��q�n��mfTU(�ŧ�Hp�C�:>s at x�
]������VҎ��s�㨬s���A�g�
X�U,P���򆌶Ӛ�l��o�;
�z�MvC��^�d����U�ul#�#L��lݑS�����5y��B0	�~��(�I�G�4�d,�	_��,����
[�CI�ם.��%�M��q\�m
.3
N<n����v_5kC��ǜ%U4�c��<D�H�f�
7�\
!3��
w�l�b�� [...]
-��
-�l���Ӻ@B��H~�5�/� �rb��,���J
�B_�d�e4���Ml�ʓ9��3W6}%#ӶO��tX �v�
-�M�YU�]��nC�K�we����m������14Y'@:�ޑp��R)
��M���j�
R�ty�ݔ{�l�[B1��ρK�[� }�@��p��Z���Em�c�R1!͚�]a��1e�kH����Ǥ�)$B�8���Q�"�A�"����s�."L��d\$�;�2�x��3;���
����]3%�I������"�)AR��P��cF1��uH����
���"�9 
���z�GG�@=�sPO��Q����P����w�Wȃ�ѺF:̡���.]�a�;�0V�?U�WY8έ"M������
�
�����T`Ν
�?n����T�G�NN��S��	��GFl�u���
>b3��4�lD�4�%q��`L7����>�(F��4��q��u�����]��-���%T(
�5��G
A�h^�%��8� ��j5O�
e;;�n?	 �F갣9ID�a"}򢽿�����[��ݰ�j�YCz
OR��A,
�i�� �s���`����]�y�����a��
��˙�
f@�(�'>0-����U�~��
��y��f<�����6��(����=H��8�ᓴ��A>��
D
�2���Mi��s���3�@�$�������<1ȴ� 0[X�]A��W��w[�M�.m�~M]2��"f��_��a�׉aÃ]Y�
_z�bx:�5��T1~�=�L���9&N���M��
�j�B[rH�P���(x�eVcක�C�^aގ@T�u
-ͩ)�����\*!!�!�4���A�[
!p��F
<*���l��г]j������=�
�Uw����S���3�^lR�mCmW���$9P2�#(9=�y�ԝ�;��뎒H8�9{[�W��ƽm����k[j���~��n?x|���6�ݡ���ܶ����v\������y�o:�w��)
�l
�{9�Gqb��G�x���+G�1�kll at 8���/�y>�
6{w���B�m��1s2����1��t?v��
-1B���7ns�<��6�6�0
�
�*�ŝ�p����`���O8�Sv���@i�~6
}�w�1�K2�
�������H�ٕ��k�gg�� ���(������3�<�m+&B��`���u?�/��*�p��~a��9�@MIX�щ
��N\(���#�	G.����	�H@��
ӝHu<
��+�XD�9sX[��O�k�.1��D�Q�u��ڵ͵�G�nt��޻%�
ڄ�ǝ�S�Þ�:l��

�IO���ɮ[R#=�[7M�r<��7;LZo"��ܽ;l��sy�;��K��4��j_�Penj��r��S0q�ҍ+|E�x�.8�ٿ24{%Xp�I�������N�lX��Q�.쁇���i�E����eP���gW���)s�K�܇s��g��EQ�?ZB��T���`��TA���E�������`5���ͩ
���_{��w_?���P��⾩w����v��S���bR[�Ult K�y��ܘ%�
a�
�M��Bk�&�!�ψ��GBendstream
+xڵ[m������@?ċ�u|'��4���4	��(л|���]�lɑ��n}�/I��}/+����p��3C-�h������?
+�ȳ\���]�h!�8������g�r�B�7E_5u��\����j�]�v�ӂa�!*�=�!���/�\`(D
l�2��/ֻ�w����Z���j�hj��P�no/^_ ' 
+�(#�1��@������M��w�w+�V�_b�,�}��J��*h��L�a{[���Q��l
&�(��g[/�
*ʱ���}�������uO��)
>��ڪ����D'P�p<�on�b��|��TdJ�M|�m�%����
�
+zR�J�?�
+V�+�T�84�L�7�F0�\�%@��/h&��N
�g��VA�gZ|�|�/�2!9%F�ْ
[!l
�^���d��塤Ē������|�+�Oڕ�Y
��/Z=GŮ��6eV,#H�2���cv�g,{�n��¾�E$��<4�	{0��.�b�Z,�Mbz���,|	K�Q�_;�������^D���7JI‹ tk��%gM`��78�� +�0�
V �Y��q���
�lQD9T���v,�� ���_Id��![�2����F�)`$Q�c�&�#3�Աi3��g#���i��P�"�F	
+�����m��LtDe�sq
&pF	>ʏ9	y��'�L�hOv(�ѠS at 1��$Pv�D
+�G4�����y��)�?œ�Z��RfD�HA�C
+=�)��,R�+?ƈr�t����"�$8��sA|S]M����l�x��M/�QG��1b��
�Xi �;��;^|}_zJ��ʺl��`2<�)��uղ�ʺ7,:!Z��(�m��Thi�xk}#�w�]W
��JO�U�s1�G�	uj90 �^%�F�(+l\�,�H��A�۶�9�l��"u5��=�teo� j����l��C�и�DŒ�n��F��[}�/�b}|k‘@�
q
̧�d�H���(04
+J�����]�͓���T���Q�"��ڢu���j;����c�7c����o\���-a-��Exs�y=V4���P�k{�t���^n'�Yq�)�yB�<�xLC��e�DҠ���o����]��0��ks˫���@�<�k�����Ȑ3�n�>�nĎc��g������q$1:C��#a��la�Ę�
+��/,�r�v�F������������%Qˇ��=�(�� �є���U*�8�g.���\��vAE>L�B�ɬ�h>��*�	!��z��XQ�
����J
v2#��	(����F��
���{��4[{�U�+�鯓+A�Q��lC��nz�vQW�T��K

S�c������=�4M�TׯS���r<'d&�
?
�cy��c�85�
��D-���]��3�~���tc~[�/��B�~f�7�;_�,Y{��eot�B$�7�b��v}��M#�ɔ{ê���]�;�*�P��e�W�Ի�_���-�Ӟ��e�J�
��t�?�e��!Ф(���NaѲ� ��`���	��Y��� hWTNG��ЍB*$��Ƽ�q���i��.�$R,�Ӎ?u}�K.B
+�i�`&o�P26o�<
4QAB�G��
[����1y�S��
�ܜ�n���I�'&����̱9.2�]gH+~m���5L�5G0���T"hb�G4 �c8P��U�3�����WU���W��A�l�n
����'[d_��<wlrP�)	#�8ne��¼7��>�O���+�'���_1��
���T��������H�̦Uf<8(�	��/�y`�q4
G�H4���
恫���E�r�LL�,KP�]�O�)�U�4^# �&
�yf��v��f���
��)g�<S�K�P�J�F��?l�e��)۲؄��T�,T��t��{��Mf�b��}Oh��m6'��l��Lvq��nafB��$�8���ԞG8!�
����9�怄���v���=�	:L�t�s?N�X������_b8�F�����}(�f���!K��
����~H2�Gc��/0���֐ٓ�!13R=�H�/U�E錰 ��3�NL�����Gd��$��r��N�4��}�Q����o`(�Ԟ+	<�
��
�>M�gH�~�OI��$':]��
&���|F[��+��
q.�ӫ����rč⁸�;H���Mi�{L���ަ���>�M�*w���>A]������5]*��a2�cR'��UeH*�X
)3�����̌���n�X��A�l�r��yֲg�m5��ax������\��xyB�s�w�B�31�ACގ�T|��3�IB� {"fك�
 14 ���4 �����W�"L���b�C(� �����a�qJ�/K��|Q���}j�W�&5=���ϱ��&�W
4E�$����ĸ2D�2�Gx5���9=�H��#9�D��`���s~��dBR��u��\7�i��
�0�N�O�P�g��:	C�a
��)�>�
ɗ��4%
iϲ��6�3	�
*����dd�.��OM��:��|�Ѱ
+��f�z&�,���WW���}I���qރ��.�n
/hl��hq�2�Mo�d��
5[��[���ihMB-q��
Ǔ\���l��eN�
K34k�6	���\�i6�6�a�!]��y�ٺT�˲[����ә��!�
�g��4
�uq��fsɆ����l���>ݗ��Д�0���_�d�0VDOE|4e�ͭۻ)�uc�xc,K��T�|��֣.*F��~��D n>����Q�q�1�@�Q]iz�7e��,�5C��2��҉b��f�͌T�b҆N�p����^weQw���᪳��`�
�qan��6�YC���\���|�K=/P'M��AO���G�?$���9�	�I
��
gV��#	o&<aM]'5�6?P�3#u{�Z����oRa�����~�?��w?���(*�e�l/�r[�}�f��
+�
`�Wks� >m��aۻ�-��O����4T�͎�i��J��(L
+�t�JVn(�"�{��h+H2�{"��үl��}ۘS/?T&�.�

\�r��,�k��{���=� �ۻ����]g_�a�ͺ���Q��V�ۍ�t�gz�ñY��N��ǘu�y<��,G�>��q
��ҳ��C�`"uK�/�aߕ�
=&}������w���
�rp1�� ��U徱ʺ`�ߖ�������B-:�m�i��"΍�o�
L�n�`�(t���ᚶ�E8%�8�����t���.�����+gg��q㋕62P�M����O'i��R~���Q"����  i&���s"����z����M~%��c
�c3�2
[ I'#�wQ�A5���D<�Q��	`�q��4Ybz
�[7-,�}S�k�]ph�<��J������/��
+��
��i�t���ʛ�
+�l
� UL��y̬i�aj���f�O�}�GMuS.�oo~�tq� Ͷ�i
��C�jmJ{Bn�B�.��eс�鏠L����
��'?
��3�Y�B����Q�v�~�t5�E���0$��l�7����~j��t7�X.�fc�P��e�Fj��a1��]���BD3�7X��~���珏�ٺ�
�j�fU�|��>�t7:�*I�S��k�ӀU������I�S�DP
+endstream
 endobj
-792 0 obj <<
+757 0 obj <<
 /Type /Page
-/Contents 793 0 R
-/Resources 791 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 810 0 R
-/Annots [ 797 0 R 798 0 R 809 0 R ]
+/Contents 758 0 R
+/Resources 756 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 770 0 R
+/Annots [ 753 0 R 754 0 R 755 0 R ]
 >> endobj
-797 0 obj <<
+753 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 501.9482 122.5378 513.9034]
+/Rect [89.004 501.948 122.538 513.903]
 /Subtype /Link
 /A << /S /GoTo /D (main_Sch99) >>
 >> endobj
-798 0 obj <<
+754 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.7909 501.9482 275.7979 513.9034]
+/Rect [221.791 501.948 275.798 513.903]
 /Subtype /Link
 /A << /S /GoTo /D (main_BDHetal05) >>
 >> endobj
-809 0 obj <<
+755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-794 0 obj <<
-/D [792 0 R /XYZ 90 757.9346 null]
+759 0 obj <<
+/D [757 0 R /XYZ 90 757.935 null]
 >> endobj
-795 0 obj <<
-/D [792 0 R /XYZ 90 650.9448 null]
+760 0 obj <<
+/D [757 0 R /XYZ 90 650.945 null]
 >> endobj
-796 0 obj <<
-/D [792 0 R /XYZ 90 644.3446 null]
+761 0 obj <<
+/D [757 0 R /XYZ 90 644.345 null]
 >> endobj
-802 0 obj <<
-/D [792 0 R /XYZ 393.867 463.9005 null]
+763 0 obj <<
+/D [757 0 R /XYZ 393.867 463.9 null]
 >> endobj
-803 0 obj <<
-/D [792 0 R /XYZ 90 446.4798 null]
+764 0 obj <<
+/D [757 0 R /XYZ 90 446.48 null]
 >> endobj
-804 0 obj <<
-/D [792 0 R /XYZ 116.849 329.9565 null]
+765 0 obj <<
+/D [757 0 R /XYZ 116.849 329.956 null]
 >> endobj
-805 0 obj <<
-/D [792 0 R /XYZ 90 313.2293 null]
+766 0 obj <<
+/D [757 0 R /XYZ 90 313.229 null]
 >> endobj
-806 0 obj <<
-/D [792 0 R /XYZ 353.5391 196.0125 null]
+767 0 obj <<
+/D [757 0 R /XYZ 353.539 196.012 null]
 >> endobj
-807 0 obj <<
-/D [792 0 R /XYZ 90 179.2853 null]
+768 0 obj <<
+/D [757 0 R /XYZ 90 179.285 null]
 >> endobj
-808 0 obj <<
-/D [792 0 R /XYZ 127.2696 115.5583 null]
+769 0 obj <<
+/D [757 0 R /XYZ 127.27 115.558 null]
 >> endobj
-791 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F80 564 0 R /F25 344 0 R /F74 478 0 R /F33 481 0 R /F10 484 0 R /F8 523 0 R /F77 570 0 R /F11 411 0 R /F81 801 0 R /F13 567 0 R /F67 366 0 R >>
+756 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F78 539 0 R /F23 340 0 R /F72 471 0 R /F31 472 0 R /F10 473 0 R /F8 504 0 R /F75 541 0 R /F11 418 0 R /F79 762 0 R /F13 540 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-814 0 obj <<
-/Length 3657      
+776 0 obj <<
+/Length 3507      
 /Filter /FlateDecode
 >>
 stream
-x��[Ys��~�ط,���܇\yp�Xe�q
Y��R�\���
0 h��>�3�Y ;K.%1V�R���h
zz��������хQ�8!��|{B�p��	��Wp5&���g�h�p�i��/���_�^��dĝ��t���-�����Wt������Xl�ً�Z#�VL,�8���˓��N
D��
����50���Z��	%�9�؞H.���ɏ'�L����<���L�
B�q�6M�ˋ_(�u��m�.�K�W��+E�S¯�mYw� ��S��M;�
H��7��؀�����@b�Sb3@�uS���u�KJb������x��CAl��ӕ�n��cBG���{_
-F�8#,Rb�5�#�I�˰e	��.FTWE��'S�\����.�x�Y��x+l��
P����̼-Q&
���#�S
	���À"���O�-A)��\����C���=�uuʖ[�2���.9%�X;�x<M@&`���0X�f�63#E�w:��"L���b����6��7۳�š+�x ��R�a4����~��a�6wxM,�dI} �n����qU�UPP
-6�L��T2T]F`؆��
�ta�����e���P/%�����`r�	��G� N�d�0�3���V���4�ei
N�&�>�C����.�3�p*ܰ���F�tU�r�����e�/ �U�'��2���v\��(��fO����h�%�gkj��8�\ZVO �"i�Ȕ
-"�:!	HZ}@l|0|�;
-���e�,���Ip�W(��
-�D܅�uٝ��Y�ٌy���8l��	�.c���+�@Z�q��A���Z{E�W���
�¦:k���T+�)ZDo�@��t�#�j[m��j��U�Em
&�l��c��
Spagz�)��Gx���$�F�` _��=>�,�ި���u�
-d�/��.\����]�붘�,���z��
�$�x�m��;Jp���&7h2aQ�__�O_�]R�1�����6U}�^~�����
�I��uQ���G•˝�L��$V��K #H��5LM 	��I�vr
I�ȼ
����z��N�9_�S��p�?
m)��xD�q];o���n@'��)��nghs��JN+�!`Ka�g��h�ɉ�P�2�3�
-�^�4�ٞJD��#1hf��iV�Tcs�0�1	�<J0��g��0�
2��̨����t�=��H��S�C�Q
p��
 �e���B�4a���&D~Ϛ�*'&I�AY�1�
�>�>ң
'�/`�V
�n�#�����-j��4r��yA��������^[d�|8�1Di����Od�ƍ�-T��

�oq�Ќ�Ff��c~E
s�,
-�),�㢈��m���Rt��p�J��⃇
LQb9�#��|�M�Z��=�V���8�#��
�<�D-��PM[��9B^�!�*�m
-%�T���<��[A�x�-��
�i�pc#�8
�9��p�-�ۇ7�U5��}? 0�c|ض� �/
Ή�	�$f�kx�B�TN���/����x
��sIqF"C᤮����9�# #��	�N�2�	��)搗�Aޯ����2_�{�߰ô��.���
ƴ˭�H{�
-��B��A���=���0���0
-�_W����+̡��{�j�>8�j,[����ќ}���_(5�i���+l4d�0�;Q����^�
>�V��<���*���W�t+�+��E��*�?��>6n�G��Gĭ=7e
�����^ꫦ>/��.�$�#+J?�j %
-�6<��
~v�>ް1�I�
2ț�Mi��W��$Tq�DͲ�OV��k�����ᛮ����A��6P��Z��e�t�>&�3ԿAo
����gB�6�_�i�}�i�w��/¯w�X��E7���p�3��a�@T�ٔZ�
-37����A�pԀL�BJ���$��i���
���ˏ��g
�Jpe�G�S�OO<4=;y�63���l@
-�X���S;��i_���JYO���ʋ.�1l�x�9��!��M�  >�7�z_��8.m��ԛ%t�É�&
o
c��8l�L
 d��J
G�Ln̠�萠�{;���$�
&������窈v~�d�*=Z������c�O:���eD0�
-�rK ��l
\�ؠ4g ���t�
�w�����i�p���B��i" �N?Z�^�w�I�q��HPn�w^g����
�ك��U��f�h�C��
g���/! �3 ��sgr����e��<ߙ��
-�Z����O���q�g?u��m��(�
�����t�
���w9-����[ē/3�w�!��
Ɖ��NM�}&�Ljl�y�g!�F&!�`��еT7�RZlI��[D9�]8A8�}
-]Yz���0;�]�-�@s�l6��Q����o�h�H^n��0R
hm������n�Ԥ�	N�
?��w�7m��u���n���~%&�*��eA��i��|_��y�,cĸ�q6������I�~�
�z i1a����̷����Ŷ\��뢍U� �v���s�1r�貽�%�m��Gp�
-�����;�����p�5h�{y�
��딀_��z��yWC��O`t����5���=�)�-�ɨ1ÿP,{owM�=��J��6
�u�W�:�f�Ł
iS-��7���tV]����PDJz��E��5d}���(2������mK��PS��ͧg5��-���Q�.�?��R���
-�ԡ���;��)�v�����Qdn�$�N-g%�
�J���i�s:/����|P}�ZWƙN4B���h�~	�6�ؕ䉱S(l�(C��u���_�����W��U�A��uu^v$�����Y�P&YRtf�4
-�kj��I��̾���
��7!ne�ԠL֊��{�\-�z	(>��c���gu�yv�n��ф��II�d���X�+3����n]�
�X7U�I�,�2M�@�c���>K�$�y�ڲ�i��=4.���n&E
-cB�P�M��jj��%
D��M�5��™{�Ɂ2Z=Bމ��qy����\��O� &���>۶쮛::}��f�pa�Mf�������������؊ �`�Ӎ6����������6�	x.�}b�m��z.
�c����Q�:N��sq��6���^���m
�=�0BXI RxP���<S�[1
-�E�޵�n�Tt'��g���f��m��}�ge�ҷ��
J
&�X3J
:�u4Kt3
�G��2C��rfޫG�1c�O�d�����ۭ�
���]�Yq�95�;
-��Tf_R8�sb9����Pjlx�4�[ܢ.�0�v
+���ն�z�Qa��PPqqf�v�bH~�`��3�����u{*��#q�H�uj��
�
����X�ɦ���ݸ"	��pX;9떚�fS>�†�`�#F
�\�0$�,5�� ���@����;v���J�?e˫�w�;�������T����K���E(�%]�	�hW�O���
ֆ��Q�Y+�A����5 2�ظ}���cb������E�-�����]BL�����O�������E}3|w��n�H�҈e�o
�D�AѨ�4P��v1
�m�e���j�D���Lꓳq}����ϟ=���%�
����T����ͳ�o�"Tw�­�
/�
���`�c^.�Ŷi�!W��mȜ��2�� �~�endstream
+x��[Ys��~ׯ�[Ȋ9;���<8q��q���۵��� �V�>=�8���b�J% ��
=}|��ċ�^�����ի/$[d$��뻅�
%	�,�7���՚`�����u�U٬�T�eU��[טm�ӛ��X)[R����˫�^_����xA� B!���vw���x���/1���j���u����_W��d)CX�n����gw?`L��O�o�&���
-Y��7c�ϋ]^6E���˪��+z����4�bM9b��Y|�I�g���@�ʪ\�}���s�HGxz/�h��鈾Z�6K�	�	
�Coo<�
��b�R�Fp�X�
�KLJ#��""zȚ�"�@�����VD/{�J������*5����ωUk$T�yj�)���ub
+#:�O`N�,A"�6��	ބ
��G�"LX�,�,pbz#>���qG	����	����3l��2c���
)��ڇ��]���
v��<�n��v�X3���
+v
�[թ���]����}�mlY���z�}U�m��2%�
�(�	7&2�y���IpA[)�0A����C��^�%I�D�n��Ȳ],�
�`q���6�	�G� 
�^sݭ�OϢ��M�{��Ƕ�oB׸���� 
+#��x3
�1z�V/Y�̏���Bw�Jɤ�n3�
�ǝ
b)_D��;�H1�g,��	�I�7z�M�
����� �$�qDԯ�d�Z��ُ
�s2`ȲY�e~�z�g��@qSV:ؓ���m]܄�U<'��
+��Ü��>xW7^�zҬ}��ʊ�/��ɟ
�ɓx� 
���꧕V8#V���vd����)v�6
>�I��>TM��n!�����
X�]}0��7W��
��V�nx/���o���>=�:
�zd0��N1
+�{@$�����y���#���K;��(��/
e��5�d�@��>+B��(�r?H���q�������זH�T�^�$4����N���P at C��D�vF�>H�g9x�9,b��"YlY�'��$�[�;������e3��$t�ة�s���3L��홢��X�K��
�чl�x]a\��Hd�{"$0��-E�&�YR������C(0���q�;}�����K3^��
���fl�W,� n�� {�7�o^_Y`t�=xc����jR,�"s	��P�YbC���b�),Q��%l�#q T�(�s5
+h
�~J[S�D��>�0�}3�1�D������{P�1�J�����j���(�^@�
d���eۭW'�;�=�q�)V�pN�F���
�������fFlg�;�9!X��а�
+I*lɤ�EU��ŭŁLB\�׻Ĉu��R�L�#sHƾ�<�wN��K�8���/"O`��%= �Mu
F�F�)J
&���٨f��w9��c^P��^�d�!�fyB��4;$U�{�1c^����q ƞ��n�x���
� E� �I��5; m�>E���~^����_�L��U�\e�����`=W�K^���pulS.ū�
�J�|
�rl^�r2�W9�xK؂M1�˧��ejnw���!�8�^��ځ�gxP t��jz4�Ϸ�q��x��tPah�\M�`�~[�mV�koh���~bi��~��vݛ��.}�2d��l��F?��yl�J]�'��|�<)Q496O,�'�o�6/!��xzfr廕0�[?�o�&�˰�~��

b��pAhx�o�@c�[E
|
�&��R��"4��z�}|h��6tZ��@��b�[9ީIT7V�:���o�u��0Mk���kU�x�km:;m�����i����n����F�
+beȣ$Ce;
�7�g���`crh��p���`�Mr�d����pq���~D�"�̦�S�酖�K,m��sf�A���-n��m�$/�Y���f�J�?�pS�?������;u���xsb�rd�N�{�
��)�±a�ث؄`w:1�z�k-��6����0�=�
�go ?���x�I�F6���[����E���.����	��֌��
����pJ�)��O��qW`p=�S �,
��,�����%X T��9�O0`8=�{����֪�#�N
���j��x�mR��:�Xz7�`�	�q֭���
+�G����yz
�m����U6����ߠ���EM���n�˚�D�\&0�W��irq
��B�sv�)%��t��
�4�7�K�5
,D�	�J� �R���|��-�h���H_zSV�?j{�.���dO���S{����Ӷ͢}wm�5k<�]��V.�h^[M]y@��|��:-�L��	�?	����(<"�p�
+s����m�:,o��0tX�<YuCh��
��ы�GV~j�UK�+���q�ϧ�1�M&��y�!�_!�>mv�*R�	��l�o��>�C��s�
J�\DR�g������6>z��J��2�W�K�}�(@���Y%�}��m�l�H���qR��LO��z�}����z',�Ax������
pQ���-[�o�=J�rШ��d�̹�Y
�&MD��$��C�"]
+"�(����͈',�z���D�՝y���RIB��a�
��%ĵ-F������]`��Y
�8)�z}f.�Ϥ��]|f��3���]���qbj��~5�B�Ӿ��ܒn�&o��6]�+��f��
6��V��T��Rt�����%�%ʄbGl
`�ٍ��_MLY��:�">���WQn�ۼA}Ȟ��H�P�2[!b�`\����杛�a�����.+�n�Һ?�qd��
���6��&6�? 9ُm�4���	^M���^R�����s��-�`�V:Q˨Nכ�X4�D�'�C�nj�;]���b��-;�:o��<%�"���Q�A)_���v�����yCՕ|���Qgi�F����6FC�~������\r
*�4��8�.�X�y���`���6�t���N3�k�}�
^
J�gSgӦ�"��4��P@����l���|
�u�Oமv�=�
sbl":���3Ӕ#� 
C���c3hCj	�L9�֜ pdF$��ž
-��~֧���7Rx`�'�{q���XlC��M�J�
�
#���x�N� 
+ǩ�\ns�ڦF�gQx�?���ʹ�
&R.
����s2<���8�"@v����T-,'b�M~'2�99v"��T�c�!)	�ϑ�%cd��q2���J\Q	���Κ֖��P��0;�6�qg3ϡ
�
~w�<���(%�W
̷%N��� ��鬹���8��tN�P�
w�û3Ea�&�n�D���m�%.܆���66�ls
u 
��fP���*	���V;��ƹ��Ap��K��m
*�u>5m�0
��������:{��/	
+~��_�_}�8`�.�AB�Q|�������]6-w�_
�+^����?� �
+��?�����[3u�L ��:',�Fl�{�R�����߯��D9@� L���ж�ׯ^=>>��
�b_��}��o_�x7Y:X4(�]��:��		���n�dW|{
+endstream
 endobj
-813 0 obj <<
+775 0 obj <<
 /Type /Page
-/Contents 814 0 R
-/Resources 812 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 810 0 R
-/Annots [ 818 0 R 827 0 R ]
+/Contents 776 0 R
+/Resources 774 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 770 0 R
+/Annots [ 772 0 R 773 0 R ]
 >> endobj
-818 0 obj <<
+772 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.2197 601.1781 370.0571 612.082]
+/Rect [236.22 601.178 370.057 612.082]
 /Subtype /Link
 /A << /S /GoTo /D (main_Operations_on_Convex_Polyhedra) >>
 >> endobj
-827 0 obj <<
+773 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-815 0 obj <<
-/D [813 0 R /XYZ 90 757.9346 null]
+777 0 obj <<
+/D [775 0 R /XYZ 90 757.935 null]
 >> endobj
-816 0 obj <<
-/D [813 0 R /XYZ 90 733.028 null]
+778 0 obj <<
+/D [775 0 R /XYZ 90 733.028 null]
 >> endobj
-817 0 obj <<
-/D [813 0 R /XYZ 195.9476 674.8059 null]
+779 0 obj <<
+/D [775 0 R /XYZ 195.948 674.806 null]
 >> endobj
 42 0 obj <<
-/D [813 0 R /XYZ 90 657.7617 null]
+/D [775 0 R /XYZ 90 657.762 null]
 >> endobj
-819 0 obj <<
-/D [813 0 R /XYZ 371.5515 604.3312 null]
+780 0 obj <<
+/D [775 0 R /XYZ 371.551 604.331 null]
 >> endobj
-820 0 obj <<
-/D [813 0 R /XYZ 90 587.6208 null]
+781 0 obj <<
+/D [775 0 R /XYZ 90 587.621 null]
 >> endobj
-821 0 obj <<
-/D [813 0 R /XYZ 245.1178 494.3142 null]
+782 0 obj <<
+/D [775 0 R /XYZ 245.118 494.314 null]
 >> endobj
-822 0 obj <<
-/D [813 0 R /XYZ 90 477.6039 null]
+783 0 obj <<
+/D [775 0 R /XYZ 90 477.604 null]
 >> endobj
-823 0 obj <<
-/D [813 0 R /XYZ 269.5716 425.832 null]
+784 0 obj <<
+/D [775 0 R /XYZ 269.572 425.832 null]
 >> endobj
-824 0 obj <<
-/D [813 0 R /XYZ 90 409.1217 null]
+785 0 obj <<
+/D [775 0 R /XYZ 90 409.122 null]
 >> endobj
-825 0 obj <<
-/D [813 0 R /XYZ 418.8174 284.6425 null]
+786 0 obj <<
+/D [775 0 R /XYZ 418.817 284.643 null]
 >> endobj
-826 0 obj <<
-/D [813 0 R /XYZ 90 267.9321 null]
+787 0 obj <<
+/D [775 0 R /XYZ 90 267.932 null]
 >> endobj
-812 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F33 481 0 R /F10 484 0 R /F11 411 0 R /F8 523 0 R /F7 526 0 R /F1 573 0 R /F13 567 0 R /F67 366 0 R >>
+774 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F1 542 0 R /F13 540 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-830 0 obj <<
-/Length 3524      
+791 0 obj <<
+/Length 3355      
 /Filter /FlateDecode
 >>
 stream
-x��[Y��~�_��<�[!����C*�ʊd;�&/����ڑ�C��j���4NC�Xk-���9�@�ϯ a����#%2�����
�����g$����IN�˳�Ϥd$���+7�$HPBG�����	���[��f�-����
-<^����{�����U7�R6�����g__&��Ib����ǟ�h��8È-Fwp�1��n�8e�f~���?�8���Am�0ye��J�R0��U;O��l<k˜�]��.��3�
I�)�0���KOQ�.�VD�G0$H㮛���]?���Z{���l�%	�����fO����3�m�[� ~����Yw��k�5����mn���s)��W��jծ��~�RH�"�e!�c��9�f�5o���
np1�7���
#�`���o�[D�J�1�Ȱ?;'b�X��
���������n{�W˩��Z-n
~��`f�0K��&�L�R�0�������e	n�kO�@uF1��
�ZeH�`$��j'Ì��T�j�/s�("ܰ(t�e��n5��^6��_&�>��^�p���o�u�*�z�ȶB"��1�xԄ0�Y��'L��չ�#��P���D�#��0��<��]Q
-$
30%�{)Ն�K�G��;�'}��
I@}��0��&'���P �J�1,��N��B)!L8�ˊ	j�*<�dd5�3�cC��^6
-�U�B�I�\G5��
O
�d�\�DXk�D
-���zى���z��!��
�{��b�ˊ#Az�d�#I�f�i�b�Q^x�"�N���!�q���1#r���fqN���+��O��_�Ή
�h���ï�n\�?�0���n(�7>\�d�y�fլ>���ja���nfS�}���l-���!��*���s2HA+ǽ��W!ر"��_��o���/�Sн"Y�g��j���
�7>�
�)�K��+2���3#�J{��jÊ A��I�\DcZ�}��I��B@�z�1��_}kS�]�]e��H/��o�7�E��a�
Ϻ���7��&
-���$X� ��c^fDF��7�Ą��d��Y?��?JX}�Y�}�����҄�u���++GS
�ieDM�(�rpW���!�Ke��C����_2c�H��h���W8fׁY��%�r�p���۸���[/�igAl
���APB=oT%
�
ńr@��H��}ڨ-�UmT�l`5��(�
a6��3l��0��,&�M�r��6��*>	lYEsF��(J!�I�����ނ;��ۂ*&�}�1�H®)�� �@sݜ�<+t��q����ٴ�8ZT
3A������
-X�)���!�(���0�1-��
W�
e)�ɐ�^5�e�?�y�޼�>Xb3�⅄��bw�,O�n(*��1Je�r�'�nh�7��mj��e=x_dF��Հ���4,��)���Qw���9T.I{���(�u���h�0
-!O�L��m�Z浥���u�;XAT���=D ZS����h
�R�b���d&����]���$
-��i� :G���K��t��5
�!xP�V�+�X��9.)8
]
�
A�;�*�-	�����+�1"��vz��ʦ"
X1���|`�8����%L&�QQlFI
V*�,��}�c�4��_4�J�U-Cj�:�!Q��i
�8�sH�ڪA���K�0W�F�� �@��\�2
F󇁱�Q�N�
-��,W���Ydv�q\H]���/�H$�
�UV
�Ր�ޭO��䩑�f)��, at q�RR�)~sU�Rֺ
D\�(������X�[e�ܶZ����(^�l)DȖB
J)���D4�R�֭��}h�,���L���
-���Ƶ8
�q�1�T�����鶰{
������� }W�e�@�V��A�+s�f�G
� 2�E*fb�o�ZL��Am+���q�G��
m�HB�(o�>	���wݺ=�b��n9V�CN ����%��A]�;w��vB�k�
-L�Vg`�
S��!i=��8�%Z
�v��m�o�O�51�
Oc�v��f(0KC�`f��	�(����:��@F����7�8�X�L<���j��pi�>�r��r+�1۸
�0�#7=l�0̺�l����I�d�,<]h�j%���D��-�´�軒ݶ�@\�����:���ޣ�ɛj������ۿ��H-���i��]�i��?�}9
-��Wo�� - �.�%�j��A� �N�\��׿-�
R}��
��1��d�n9�m[�։�J
�D�D
�h�u�6#j	�qD%f�^��ҵ�
-K��ao��l]��D�8�u� (�޶
l�ڃv֢��|���झ�+U�1��
�wL���s���. ezoqފS+š���*�׀�ؠ�����	������a���֙�>�����
P֢����
�D�?�f8b��#%}]
"j��$e�ȸH����@�&�D{0�H]�
A�@��d+.
�P/X%{l��<x^�������o�t�OK{��o(�H�Ry���M˩��U��R�%�O6����)��J� 
U�=z�&Tί�$�{i�|{��������Av?�d0� n	������ZG YWJ�m���2l�e�}c5B�gU�+�"���=غ�)�K��S�;�����}
�e���(2h*
j ��p1�h�	H�a���4j=. ��z�`*�H0�K
;�Q0�H=���#0w���R
�
ٛb/|����
F�.�uu �i�9O�n�S�@]��" �hl٢�+BE�X���3C3)t��
��	�
���[%;̑�lӓ��y2���m���]O�YvO*4�ܫ��墶"��N�m͜GF
���Y��'ZS�
À�(?nLDa���`�cMQ��w� *��Z�����>�lj|_- ���ݙ�Q*aJ)6����};���o���D�N�A�O� 2%D�?"�=�l'���ZkH�-W�8
}Gs"Tyz*TyR�i���
������.)�'�M�C��Ee���Q�����`{���}8�4�9�*�\��q�8�ԂM,iwxpjft��{Y����.�p�5�k_��
R�dE;�{����
��
���f�H`��얿J�N�&�њ��U�h�)�������7�����=�V9W*�L*{Qݪ2"�5:;�A�n\w��7�b�wCc)�F)�D�?���T
KM��O�A�&t
!�o��(2s𰛁Yq�����_�LY�SjO��lS�N���%#HiI��3��d8b�(���˪���o%����v�I��K��~�.� ����_�U2ã�����䕿U��w���J �eq��e�9��}��ڤf`�٣G����#^�pe����]"�81����Z�����+[9)�'����Mj�dž����r�1�핃俷jV7����b�񺝭����ņ����_υ�j�t��n�M�m{
-Xu� 	-��v(�_�Q������x���:�&�/���r��׮�z�Y^<~|ww��kt�w��6�����!_��(n��vx)$ϴD�v)s^�"��I}��w�7{�
���?���endstream
+x��[Ks���W�*��ea4�e�����"َ��b;��$W�bIH���y���b@��CN�j������\O����_.Ϟ��lb��TN.�&O�$HP2�\L~�d�gc<�qS6E[�����
+<]���ֽ,���eS-,��M)?�������g���O��@(����Wg?��'
x�j�3z�sT�	�
��ɻ���Y�G�R���٦\�
b6]��`L몾�l<}A�*�0�0���kO��.�V�#xCŠv�r�����vQ�>-���|,�-��
�8Y]{S��r��-�UYo-�^>��X����Rt��������n��"�i2S
+i�&3�A
w�TL��*�/
\�Sn
�p3�	ۦ�j��h���>P�5ğ��
��s"����`����O���
�nZ˨{�j֫���,%��`ER��Q�����<1#1ň���[O�@sF1���$���fm`�YDU�A(V��
+
+/q�("ܤ"oo�f�=`�)楿�U��?{E�
h�v���`Rp��
�
"�MCLY�,0�
&ؓ���Wt2���L2	)މ�Ӿ��Ä����F�0�$�y�C��x�&
��4��
+���Ƃayd6�4�#B����؝e�ET9�3�cs�ޢAؾ��L
��\��qg�R��t�a�'3
+R!Gu*��=�NiN�#}I�W�7�/P���3N���d{ə�@�#���DI��Q
���-8�F����,ߖ��9��;=���ڇy�|՜=u11v���𴜷.�‹w.��-�jm(����A6YV��6��F�ja�}��,Wk��v}݄oWvJi�q̋���bK�U�������Cq��҇|
+q����A
238H |��/S. VTg$$�EDaF��uS�b 	��Y���B��
(W������D�+��.m��Eq;�eH��
���2+��B�K�ٵe̚���>p�2��%
��
ȷ<3
L( G���n�p��P��ո���ї��ם53���$\�e�o�WV�&�36��Y�`��KE�,�h-��f����͙�o�g��A���?t���f]Җx���f��n�D0�Į��r^Y�Z[y�y
�8��SJ�B]�p�Y�2#�¥�e�>��
���dR9QH!�� �[?C{S�)]D1=�t�=Q���7�-�>�g����
=S�C3=��Mu
��[��319��QS0F[B��
�
47�9��A~�
pݔE[6�hEPq� :
n?�s���G��S��h�z�8�1-��
���CB�!��)6���~���]�+��(�v�ޅ�`�G�U�9ɷ�^��U�!~B���v


`���{�-�W#o-�����[�%CU�!�Q� F�G
ˀ~ #�"�b��bPi��6�t�̮�? �Q@	涞��� l��M�!Y*z��Ȥ$u�UK�ϑ�F��# �
{�����3����
��
+��2��u$$3H�i׍H
��Cq����{�)���V ^�켽���1��H�
ȁ�Y �2X�'Oa1)z��0Z��2F��wZ�g4
+����X&�s�+V�F
Sj�l�L�RK���7�.ģ]���F�?
�B������[6����M���:���� _f��Z
��p.y/�~��,�fX %U
+��v�Qj$k�F �
�9 4�:[L����£�)�tZ�u�6E
+R����Wi�#��h����
`��a�r�`�gW)~Z׳L8�q�{
0������,6�5��-�I�?
(~g�I��iz��Xo
‘
+�hޏ��}��c����z6������~�������.P
G� i��]�-�i�V��
+�!H�@Q
,�M,��Q
�t�v-*۰�F��e�bF!��q�
��Qf��,��"�5���ԧ�		�$0ECdzʈL ��F�~ԥ�n�h
��.�8�H.��4�[&�[ץ9i��u�#��{��pƜ�� 
+/bS�j?��s*�/�(��pxt�<Tb��}:l�]�(�a�����I��U��=��
+�A�>w�G-��j���D�`7T<D��u�ű.�I�a]pHB�o�BF����YL�m�3HS �o��k�B���O�"BK?�����	�z	��,�;�5���6@���s�[Ǹ��K�#*��;���)V
+/��}(�m.pp8s+@�܇f���}v֤-�|/���������
�46Ԛ��d
�ͧL��+1z����.i
苏
+�V�
+�0��
+���31
7�R
k
I�Z}<Ɇ8=�J�\�)��
��'��3jm#6t���t1
+�YÓ�}-�l`} ٙ�[ڳ#Ǫ�h
�ʌ�\�x�B5`��᧏c�>@N��k/f{b�蟊y����{��w��A$u�8�el�f��&�
�P�
ݍY{s���}�@���0�&~��M�/V,��*��E��G�����:|%���
+�Mv�aH�2�ʾ��Y�
r˷�f�a�0ap&���v�*�|��p������Z�	��s�+B9�d��s9ƺ�blu`�1'a�#�S?� {�u�wE,���7�Q�@��Q�?��C/n����.��b��
N���6�.2W�6U
���i�m��[���J�""����B��ǿa	�z���(�!{܉�]�P&dr�9��o<K$ϒ����j}�W�πF�#���lH��P.rKb��0gJ�bzr�CΒ
���Bv�P�ҹ��DF��/4����k��*juZi��Np���݊���c�`���J�?>݅���L,�#�z�ZEµ
d���2=l����Q�:��?��?
+�	�7���	������Y���J�I�) �ۧ�I���M����C[�`%����p.+�k8��6Gz���u�v�@�]�ѱ��
;�k۱�5<�f���%*��P��
R49r�ա#w�>�v�P��a�X?T��
Q�n�����oS�^����Sp6lƇ����	�t�з��퉳�IP樂��:
�qg�<�ύ뎱���s�Op��/HG)�������R�J�%�u�� چ�@��H=��c��T�**�]z��_r�J�ۋ��:0��Ó� ���vj��q]F�e��7d�rf
B��m����y�����
n�]
�͟�;�\���)-�|��σ�����liD�m'�^�z�{�9�>R�
O �ՃF���
����R���mi�I��n�7��$��O�3T�'�aBBؖ ��� �����f�.?���o�E
_�}gx��l�|.�4��MQ�g��M�3�Iٳ��$�"��zW�a�~y'����\��Z0CdP7m��x�t�ۡ���զAU�t�Y>Md7Z:?�U�V}���]��
- at c%��q�
+endstream
 endobj
-829 0 obj <<
+790 0 obj <<
 /Type /Page
-/Contents 830 0 R
-/Resources 828 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 810 0 R
-/Annots [ 840 0 R ]
+/Contents 791 0 R
+/Resources 789 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 770 0 R
+/Annots [ 788 0 R ]
 >> endobj
-840 0 obj <<
+788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-831 0 obj <<
-/D [829 0 R /XYZ 90 757.9346 null]
+792 0 obj <<
+/D [790 0 R /XYZ 90 757.935 null]
 >> endobj
-832 0 obj <<
-/D [829 0 R /XYZ 90 655.3449 null]
+793 0 obj <<
+/D [790 0 R /XYZ 90 655.345 null]
 >> endobj
-833 0 obj <<
-/D [829 0 R /XYZ 90 640.7769 null]
+794 0 obj <<
+/D [790 0 R /XYZ 90 640.777 null]
 >> endobj
-834 0 obj <<
-/D [829 0 R /XYZ 477.4943 527.6892 null]
+795 0 obj <<
+/D [790 0 R /XYZ 477.494 527.689 null]
 >> endobj
-835 0 obj <<
-/D [829 0 R /XYZ 90 510.9643 null]
+796 0 obj <<
+/D [790 0 R /XYZ 90 510.964 null]
 >> endobj
-836 0 obj <<
-/D [829 0 R /XYZ 90 339.3377 null]
+797 0 obj <<
+/D [790 0 R /XYZ 90 339.338 null]
 >> endobj
-837 0 obj <<
-/D [829 0 R /XYZ 90 324.7697 null]
+798 0 obj <<
+/D [790 0 R /XYZ 90 324.77 null]
 >> endobj
-838 0 obj <<
-/D [829 0 R /XYZ 90 191.7983 null]
+799 0 obj <<
+/D [790 0 R /XYZ 90 191.798 null]
 >> endobj
-839 0 obj <<
-/D [829 0 R /XYZ 90 177.2303 null]
+800 0 obj <<
+/D [790 0 R /XYZ 90 177.23 null]
 >> endobj
-828 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F33 481 0 R /F7 526 0 R /F1 573 0 R /F8 523 0 R /F11 411 0 R /F10 484 0 R /F67 366 0 R /F30 655 0 R /F12 658 0 R /F6 561 0 R /F13 567 0 R /F80 564 0 R >>
+789 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F10 473 0 R /F65 376 0 R /F28 621 0 R /F12 622 0 R /F6 538 0 R /F13 540 0 R /F78 539 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-843 0 obj <<
-/Length 5134      
+806 0 obj <<
+/Length 4862      
 /Filter /FlateDecode
 >>
 stream
-x��\�oIr�A>�B�q��l�
�]�f����>���8��L
�$e��ק��g�=SCR+�:�y4��������3��̳�ն�R����+6���߽����/����՛o����af�C�WZp1{���W�b�c������ٴ����l�i��w��r
��6+l`4�s�/����W���� ���8�ϯ��6[�߿b��N�
�U�{1�{���n֯~|�Ǿ��"���'
NLT��D����2L����H�oE��*�t�
��th�Cl���T�J�
M�,�ЮR^���.6�Y+TK�g����jU_�v.�W&��+�l
��4h�JT\9�b����i��c�|+���|}�a��@�R
�]�w#`j
X�*�e��M�d�JU^(���	�d�Ʀ6w��Y�
� ����'���_��I��9�,��8�P!,���� ?ʥ�|$�q�u���_k{I+��+�lǻ���ukY��JH�
�lR;ё
�D�:�9P�8S6�H�ab�`�D�Ds��iT��	 ���
e*�,jЧy\���l��;jd4��a<W�4�����6Fu��2�Rï���l���?�]z��KTt�F�
-U
-W�	����rR�3�N653
����Z�Ԡ���{%���T�9�OT�I�v�(Y��(��!�
-���QT�Y��_VT?�͐���ؙ@Fy�
�K�֝�I�B��9-�B���h�օ�כ--��u
�s�����b�R�_#�e��N�D��Ą<��;B�`��������
�UZ�1�줰xe���x���.^�r�9����.��
^����Kzx�
��4���
���Ϳ�f>�	���Z1my�L
�A�^Y�����J
�E �Sq���k4�^�tÜ���}ٮ^�0���RV�*uB��s���[Rt���\�Q�A���/@��H��p^`�+�X6v����
8�}~��7�b���i�Hq>���d�d�����䝞���B������ߓ D�r�����ڞ
���ߣ����k~3%z������ � vBϸ Jw��>���5�[�u����-o����^p7���n,�,�L�|��o�� 5�����M{����5��)>�߬?�֫�2�"����0�&D��)q�pB^
_moR�wY��o��0N���E�lڛu����j��#]�\_=︄O�}h�b�p at +�C�� [...]
�׽���Q�?��Y^�k�`DŲS�O�75^z�q<���0��U�/��n�z���b	
��`]	��S�Z�
�!��2i\qo	4-!��ݒ�T��y_
 F Xrg�X��GD'�u
�+�
�!��$=���(�N�@�|��}��k�t���JJ8(�
-r�*$T27�o����.$ᩌ�� A
��P� � C����\ii�1`S���H��R�_�*w����4���O�
�Z0���'aik=9�ϒ3@�∜^�r�BA��`�8������["��t [��v�7b�f�D�P̱36ƣ���x�b���r?P�]�_�h�>Ǜ�M��	��@��

-M	|�
YF�x�@�2���gD�T���7�
�����S�B��4����Ģl]����P��״i��IT
�+�J����Rz����9 ��N�����0��v����	F"V���1��Qi�I�<_F�
�$�'
vo��*vi�?P��`5�� b�iA*�B�q��

�����;
-I�>���at# �;W�	c�
��rK�'k���,7�i�����v��v~�ea�eQ�yş�A�NYA@ԺK�N��Q�L.�j�I�͝`����T�b!<V`R #Iâ���M�^v��>�x
B�
�I��g��51�»��u�A������a��ޅ�EJ>}q��t�����Ϥ5�ӽR����
a�P� H���v�$�sS��5N��v������x��AWO���U
����"��$�iw�e{U�N����AH�{���`�!�Q���ч�渼0.���~/S�=ުW�E�K/n�]l�u_;��1�Y�R8с&�>
{Gm�
a���]��xY���EM쨽�<�vW�㓠o�:���ؘa�.�y
ȹޠq2O�8��®k2�r�EzY��Deye4"K}d:z�|f�N��"D�/@���9=���ɛ��P�� &���{tV-&��7 ���(�xq�iw
�sn�/�J�ĠrR�h����Z{<�D�5�ΏsK9�kL���b��t<
��³��2Rw��m/y*����z�0 )@��/�:˭~Ґ��!�]%�N
�F!c���LCb�
-,Y��6�@��ac	���ƒu��>@,k|����S+a+
�"�Q��ẗJX�� ԩ�
Y�;�%!����钿�$�$�eI��
�E\��� 8��c�^'�@��\>�
���xt,��˱@�D��P��| 1��ZNzsp�:_��3�hȥ��P
-t�X@�<�x|�.
D�O�\�Y�r�v{�翁�Q�Ju�����q�9�-����'
�:���ܕ�񶹺�b�3���%���_D�&[N%;-�cV��Η��a� 3�.����s��A�r��.�p��p��`���0nP�U
#��U}�IN�v>�7/�����,��**6���/�{�Y�������F��j����X����8
-\ ���>�o����ݾ��7q�Xj���re����J���
���PHS$��)����'�_+���H�W�}&'Ƙ���&FU0E�U�"=���a�/���Rr�E��5�0�I0]�Η�xY_o��
�BS��k2�`���x
-�)�l���7I��|
���{��(�S"��
-l�
NMN�AS���4����=[�5���t�39�t-�>\+��/���PS
3K| � -(
�3�p��7�M��@��ǂ�@_A
-���s+�YNPr�*X���im����m�
׏�!W�ٮpuz�ܦ7�<h��v�����߯cK
�4<����AL�������Z7uy�+O� b\n>�M�������D�P�7��v'1_mBq�J�{
��0G�d(Jizx�%��]��W]�
;E'2�
U����\��pG��n���T����UW92��}�,����R�@�!5��
vY��M`c�@��
��[*m�
��dy�
-<B�׏�^hx`
��"_�d�K��a�v#�~���.Q=���~��>�Fy}�ZK�fL?;�f+�{���P���R�+*�� �=U¥t%E��L���T��{ʼj�Db��\��d� ��F:$5\�@ȧ���V��]���dA�d�s:@JP�{�˦“Ͷ�i�l|?�'($��=T��:V���ry�\		��o��ι���m|v��١�c�w�����$�6]�j�(�%��˔�E*�G���C�6<*�s1���
W�a����g�<��Ⴗ/��
Eb��@B_|ٓZjnA��9 �A��]�HfM�q����LfX_g���F3c���
J �\%\���>Irp��x��>���D�=Eg
��kr�QUY�o�Lm<�|�GL34ߜ�_
��!�������d�/���� ��|Ҽ�m�}ْ�S
r��: ��u�+���\DAq�~����l
�
뜶�y���{W�WW��W�n�d�X�y=ؿ?Q�C8
_��DlZ�E����bU�$��� [...]
�l�XC<>'g��x�ı���"�q�a�/N��Y
j@:ߥ���@N
Ot��5t�N�7�-�KU�á��<���K�6�sϲ�ݐёb�;Р;
-
�LgL�M��MǷ��0&��>�څC#��!�
	�
��:�X��p
��GГ�V���0���D�b r}��b�vѥ���6o����گ��'j�
�*ޟp��
�,�";������%ʀnwD]�Z���&�6�����
#�٩,�����+1�2?C
�U<�Cbj�sNV�����!���t<l��(M~�gW�N�X�d�
re
ψ�D�:��ؓEp迱�Ep�4��=y���Y�����t�\��h�����_�H�F92�L{�m{�9�m���Wڗ��%Y����P
-�`��Ƴ�#�Q���#�E{���(��s�L��/M��\u��
��%������
�� �d
�\�h��
|��E�����"kuR�
���W���e��冦T��
���l؏�f1�Թ��HV+
�i���ˎ9�<�|��C
g[
�������\����
6�F����]$e
8�^��ڊ<M�}��:���F�5ݕ<�NrmҰ�͵��0<�5���~�@�X<[�K�_�݅�3�O/u��,s*D�ګ�[
�1Ǐ ,�
�|�0eq
���NB��*P�o-b�N��/�p_��	��n9unH��f
��g�pO�.x�>��HE)��>&r���|ُ�Q'���3'���b��}���4��_���M�4Q`���n�hX9İ��|9�~K�Y�S�bc��|�\oݯ� K�<�rlj�X���$��}�Ĥ��[H�(
^�O$ obV'�xA�e��??@й�|at�y��;]^ư����"=
b�pO�8����)m��5��b�Ǧ���!U�\uI(x��
��f�j�M�C|)��
��*��rz
ݕ��:�c���=d���
-����S_R`
+��(�%��d~�-���A�����A��K	-���"����	+t{
#��|�7|v�`0�y��ʪCD����*!벽[��,g�?�/��Ӯ��˅��
���}�>J��,eHw}H
��*�l�#�|��flɠ��ì���,���`��"~c�8�:�7@�����7����ծzh��m��߀ƽ�����;�p��ш����D�\��\��nӅ�M��G"�_[&H�_��B�endstream
+x��\�s�6���BW�pre��7ș�U�.���nw�٧�J�h��r$9�ٿ�����(��\^l~@@������7
�������k#UQa�[X�
-���f���Ŋ3Ɩ����c�k+��r���߻�뭿�f�l���\.�����o_���W���0 [p7����zqu�������`���ţku�PB����W}�bb5ˈ�`F{bo�}�C��Zē�e��b��BK��;ߊ��)*+Kle��
+hU�*�w�[٨:�t[p%|�M}훕ш�00�.���՗a���(��
n
&�o�w�Y3�*L�����1ͪ�Z �\�H�4P�{�=��L]�6���������� $+��.&SgEYV
.
)D�W�~|�`�Oyl�j��
fRr$B��W�5�L?�_�^�–�W–�x%s�
+�ʮ�[��`
煀+'�ʷnB3�i��L%/AЪ*p���x�rȠ�2��l547�
�TQ���(��J�B�H9ЦU?�D�X�Ը
+�|/��䗅0�{����:�n���;PX�"��1������[�z�;[�;݈p�5ហ�A S��f�IM453
�
Ӟ[��b\3n<�)�~��Oq�T]X&��@�*Sg�o"�����.Y N2 �����;�,�B+i�;0
��&p���"�Y��͘����E>4]���P� "R7ɞ :�%�\�<S�P������Ar�Ac:�Q^SZ��+;a��Ϙs���&O���c̓9/O�ss�97/c�Yu�=WϷ�vΞ�ޞ���p�oυ������V]�6�ӓ�wԓ���}�*��1m�
��
+�^A;^خ�9�?c��sm���l�<���9�_�����El�:��˳e����}�o'l~f�5�K�P�lt�q�n^{��6�Rʪϓ�?�YoI��z.���8I����s$�u���%*�thaP�T��&�Ė���	��W����
�	2
P�7���B�
(�I��-	5�3�Ab3?\�$���ᥘ�GhX�^�o�.ȭIQ��
�
+$C(�G��x�W��o��~_��n}S���V��/�u�ߍ��90)U�?_��yU�=�.�v�b�u�^���~��~��7���E�w�]��r�oB���o^-~t�~hڛm����f}��ᄎ�z���|��^�������B
���xo���z�)���!��6�:�b=���!�D��{V
�mQ��k�VX�ܹ��n�;xq��>P=��,o
�3�������3x��7��mMm1���WPI�c*����Z�� Z�y) B�M[��~a҇���Ӱ�#^CK��0�=�/M��n	�)��7��ْ�Ì{ ;*ʌ9�Q��* �>l�/h�uO�%���Ճ�^�A!<����z״���i%ePA�
+~N*�����~�
@��\���-���IC�W
D�i�̃'p����IՒ
��}$M�T#����%B
��J�ID �j�w�җ�C
a�?��E��
��D�r�8(_��p
+-+�yKx�8[9�Gk����A��_�� ����`��*Ac�d�����퍃�_���>���]�
	`�@�U
ۣ
�&w��IPMoe�E��
7����+�F����S�
+B�Fn@܍gO�&CФ��kڰN^*�ݎĬ�դ�:��~#G�&�]t�Q:FE	�����#�\��2���E��/#� lY�٩b�
�.��*��5�J�����d(�����Ֆ�:���Q��1ګ(�
��e��S�#p�D(�ǒ'�R�&�񸧗U�#3kb]�������2Ȱ�8�|��3*Q
�M��-A�tb��H��0'�ݩN�mE�<�5 �^O���@���
����� 7���
�������?
ѩ�;�|H�s ��	��k���M�<�9mO)=�vG����� �!�8ٔ�����bJ���	�&\�h��gc6�<̆��i� �a�+�+���k�'��4��n����
0�8�Rcxx��ߡ#!�^���������ed#]����
L���9����v׮����g�g�׬i)X�.
UX�$@�;�<��&�-�Ž��O���蟸��=0<�u:n`-
�-�>E���l��Ċ\�S	X#�I��`
�0آtf�jn�!Y��$�	��
��s�<�z�#���#��/�
+�S�!��5F��X��ڵ��7J4�'q!xbp?R�"�7�u���05��Hp��
Fa"x���ܳ������z�˹H�S�O���6g+෠�P�-?k at Nh��L�H5�����x�����%�O%M"x�%�Vv*ib˓I
È5œ
l3*b�E��$I��"��%��Y

�����R�KBry1�����m��!
-�ΐ �w@�x9`Il��l�A$�o1N (�c��ΰ
��c/f��	��dQ
Ѵ�('���Z��Vs���`�=�)}�4�h�1#�i��o|��x��O��wR
�96�S��綛�U9�v'�f�����0$�>��Yۭϲ��|����Ki_�z�3��>i�����񶹺���\�h&�*z��1(�^�9�r*8iM�(?%���*��7
+7�އ�\	\�����~}�y
��+S0iρh9�YqR",�40v��ɢ�'`�S��}TM08�d%d�Οb.I$��m��-�SCnp�"#�rS{���᱗$� �x���}���O�cM�

+޲.O�ϓڃ�d^�e�T\�/M�����	i�$��&�珴}V�tZEڞ�O���J��*zV��QJ�&��
@
+�z���aս�`1e�7�A��� OБw�v���5���
��פo~7�^�l��OɅ`ˇ��	�]��$<
?�X�@�󀽞�/ rd/g��
�4R������~�����>���}��L�geϕ�2���q�
�4="�2�:M �c����	l[V�:�)�V��Q1c[��br��WNE�M(�-�}�6 Yw�x��|������P�w�}x��~�ٯC_w8���o�=X����3pv5��V��mS�'�p�Q�!��<���}��f~"#&BE��Q_Jm�:p#��_I%�����RLJ��}��wQ�^uAzx�w"�N��
*�W�qzM�{���F���qz at R���*92NU2�+�6�+�C\y%���B�ހ�Ɩ�@�;��#��TH��
+
�����ޡxt�넷���p�
��<[�����uPаi��C?������}w�
o~GUz�tJ�fs�%I��̡���Y��
UpkEQUY2{��J�B��Lpvڨ1*���N�6_�
? ��:�aF��tD �
!�(;4 �=�P���<��Oު��C�e:Ct�m �o\@����d�on��O$��������\_}�]����~Be�~�Y����vJ���c��p
Z��
+��.6�;j�(2�l��I|��]
��]
��6�\,5���nbx�mb����+��޶���qx��fOf�[bVR"��bWO�!犥L"e]�J^�f��t1
]F�=�����ʑ�,
�T��7�IH���Q��;G�,%
�$�u ������YBs*C��������UZ�D%�؃�<��0�0�u맞��`m}�}"-
b
�����E_b
��?_
�}��\�:�x\ϼ�����ծ�7�US�GҵCP�'��I���*�3PQ#�@j"���'�
+�c�	���c��{��\>���~��O��M���S�����=kB�|��
�ZE��\��	��{�B��7.�m�Y�M��ϖ����5��އ��7������>*��f������R�UZv�M�I�ɲ{�;�]
e��WZv��U6;�2�����9���C��顪�
$�������x��ۇVw��_?�����
�!S�:���\����a,_�o�x�8�EI������v�Ea��M�RUY)��3�L%�k�F�L���U�'��;'en{{ ���� ��Ȇp�$WQ������@��1Y��:��
+i�c�tN�O�����$1u`,ɝ�����3K��t��.�K1�XNY��S0e�2��ut��%}�I��
���3~�>Qȥ
{:F��lˆ�oz"�
I&?l��eq�c����"�j�e'�ì�[�
${���Fv85��5*����\ӧӇ�ٯ��\�(��:�q^�<P'��JW	���
�/�霗��+��լh=R�
+/�(r�L{�ڷ��!�&
�+���`ϝyV�c��Ƴm
Q�=�:Xۜ�����
+�(+P&䁮,/�U�Ϫ����GR������3T�p�ݘ!ۗI_��T�
+z�I�w��ҟ+���<{�a��
(�~��3��y���

pa�������8 ����c�
=��`R���>���{��j�m^����t�βHP� �C�<
wid��"���b�
+��N+�^�se���HG~ZJU�q)򼆬@�.��x����sޗ�Νs�ցSB�
k"SlZ2�.�"�<4�N�7����!m����d����$ {"�O��X��s�Owձ�E0�
w��p���G,܅����x��OFw=� w������]�I���q���هYT����G��!�1̳�蓯a�%,����.�ov�Y�
��6�}(��p�
�s��ܖ�(�9
z�_���x�{(z__%�끮���*��^B�`�q�:fQ”p�F���P�)>�S�D�&)�>��ԔE ���v�-��&������{.���[��(�����'��ۡ��ۅ�� ��g�>t�`E�B{�>��
+<L<⮲
C7�-�g~z���au
�`I���x������cqu(
��~_4�7 �o�eS�2�����$��n��OMۇ,G����X�
+endstream
 endobj
-842 0 obj <<
+805 0 obj <<
 /Type /Page
-/Contents 843 0 R
-/Resources 841 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 810 0 R
-/Annots [ 847 0 R 850 0 R 852 0 R ]
+/Contents 806 0 R
+/Resources 804 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 770 0 R
+/Annots [ 801 0 R 802 0 R 803 0 R ]
 >> endobj
-847 0 obj <<
+801 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5589 534.6297 333.5787 545.5336]
+/Rect [205.559 534.63 333.579 545.534]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-850 0 obj <<
+802 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.3361 197.9604 346.9157 208.8643]
+/Rect [229.336 197.96 346.916 208.864]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-852 0 obj <<
+803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-844 0 obj <<
-/D [842 0 R /XYZ 90 757.9346 null]
+807 0 obj <<
+/D [805 0 R /XYZ 90 757.935 null]
 >> endobj
-845 0 obj <<
-/D [842 0 R /XYZ 90 593.8922 null]
+808 0 obj <<
+/D [805 0 R /XYZ 90 593.892 null]
 >> endobj
-846 0 obj <<
-/D [842 0 R /XYZ 90 579.7563 null]
+809 0 obj <<
+/D [805 0 R /XYZ 90 579.756 null]
 >> endobj
-848 0 obj <<
-/D [842 0 R /XYZ 225.3408 257.2229 null]
+810 0 obj <<
+/D [805 0 R /XYZ 225.341 257.223 null]
 >> endobj
-849 0 obj <<
-/D [842 0 R /XYZ 90 242.9874 null]
+811 0 obj <<
+/D [805 0 R /XYZ 90 242.987 null]
 >> endobj
-851 0 obj <<
-/D [842 0 R /XYZ 150.8083 89.4414 null]
+812 0 obj <<
+/D [805 0 R /XYZ 150.808 89.441 null]
 >> endobj
-841 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F10 484 0 R /F7 526 0 R /F8 523 0 R /F1 573 0 R /F80 564 0 R /F33 481 0 R /F13 567 0 R /F11 411 0 R /F12 658 0 R /F9 601 0 R /F74 478 0 R /F67 366 0 R >>
+804 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F10 473 0 R /F7 505 0 R /F8 504 0 R /F1 542 0 R /F78 539 0 R /F31 472 0 R /F13 540 0 R /F11 418 0 R /F12 622 0 R /F9 568 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-855 0 obj <<
-/Length 3761      
+817 0 obj <<
+/Length 3402      
 /Filter /FlateDecode
 >>
 stream
-x��[Y���~�_1/Af����	��v�8�-o ���.�Dr�ֿO�Ev�=�YY
-b��bWu�W'���?��h!�,4eb��ݠ������+x��	>��y��
]hA���ގ p�	&���wK\��F-�q������vE8Z
���K{�ܺ�/�zc�tI���w_�|v�K��T`����wߣ���T+�x�
T`��bw�
ۛoo���q�
�y�k&Jh��a��~�w�X-�]��l[
��M�-��1sz�9'�`����il����%��ʽ�z�.��[
K�.
�Z��H,�$����f��
�\�BK�
�(��|��ӌ9�
��8�`B�ED��
7�"R=��	]*�bJEi��C{f_x�Q�M�)�p�g��G~}+?Qc]&‚vF��S�td�
-�������R^���()�/�x"�~���hB^��rZJgg �2
�����ʱ��@��w����
-XK��(
�A7�Nu;ࡷ5���� r�I��t����+�̀I�+^C+Ky�d�*BAS�ɘ���<+�$G�D��$o2�����@p��^f

kp}
�
(7�3���"ʙ
-K�
�qy
K�oO���e!��h6�3��P!��Q0�U~�e�^"[���X��HE��j��� ��<��W�Z
�;�=�YDp5��
-c� �cG������0Jւ�
"'��%8V�����1�����yg�U��~ݔ�	�Z-������MպLJ~HKpoc-�_?V�����r��/���x�n<��
�}R�?�Wا�O�r}�?4�j����P��7�U`X�]��P�}��PpM0F�5e��|
�����xؾ}�6�aW�;�~(ΗE�L�0絾=
���R��#���F���=��3�z0B�'.O�^��
�� UȈ����sj6���:f�۶�v�YS
�����Q\�V䔄ә� ��ە"�_1'Ͷ=�_�c�e�:X�a׀���LP�Z��*��̛
B��
�Lb�{�8+H� }�1a�
d���~�"@
�Vm`m=΄
BK�&i����-It~=]-V	
%qR(�(A�2A(^)�3
� �c����!e��a@��l{�0Ň3!
O��� �t���9������gD
6�s:�.8�$9U��
-UX�h"X��;pXm���~��WA^_�jL1�
�3�
QO�d�у�\O"b� �2p��.�,�>{�?l��[—Om��d�	]�vL`+БS��
��%'��yao�6˱���
!
��H�~���tA�QP��B���`�W�����7��T=̥�S�∪��}>7�r@	��d�
-S�~e���0a�����+��^@Ʊ��Ywe
��}5Rv�>��@���!-�CPХ��/Swș*��r�rD<��ڀ�G�lU^ۧq!U��ۡ�����R��]Dsv�.��
��.�|��E�7o��h����nk�R
-0��1=��Zw�T�4B���+X�T|
�-�]�G?&"�~�V*��1`���I ���,~I-�.|��X���
_!J�VD�YP%EdɔK6
-��L�%#�g�Wh<k���f5k�P��3�
r������C��L�TP��P at F�+���#���]��VM�Բ�
�K�.��Oɧ��I����s$1��#��.:�Y��#���;�����ޯ��M�ťV(��l�"I��~���� g�uD�E>��P
-��5A~	�q[���&5
�,Ut6q��}گ�n
�l e����Gs�d�q?�1������|/�-�Scֵ�LĤ
-l�B�|6�ψ��k��}�b
�*:m����P��>$[E9f
�N�
-14ʋ��(���SqE�>^���ޜ�m
2š2w��afV0�i��F�ͨ�	'M�x�fJG�
-=��Ҡ�~J�����Е3
��
�!'L����PRS
�`�I� �쫀L�(dK����h�8�W��-r�¡2��PR�įh:@�1�N�?9
��C�'�OJ��҂��ΐ�$� �3�����
Ǵ��
"-�
�_R�G9��������5|FE*��R&
y�o�]����Ķ
-��{��h��8ڃ����YガX�q��P�=]
-u�] �@��/u����@>�Ō�@��x�����5��\��$=��a�� L������<%J���)���N�d)d/��U0'�#
�
�

"�98��p���a��

b���Ť�5\R�`�(��ϫ]�W�

��hߤ�`/������s����9�q�2ͳ(��P�.�l�c��1�3(��~�j
��%��c�l1��Ȁ:��&�0�F���&�eM�q�49�{F�1�w�/%�
-��� ���{ �3��$
;!��
䟸:
#y�iS1*��Cf
�dWRm��|K�і��Ѣ����t���<���=�nO���g
 Rߊ���/m��9�M5�[�}�X
����=��0+�յ�u?^�\j����Hr� �0�.�����"��n��l��:�JV
-r16*S\�+�7j��6�I,��L9�6��
7���1�R����:�
p��ۡ���ǑXu����ОL�?<�X&'g}�L3����=��ض�

(�x؇g=XR	-�� 
V�W�0��V�Bq�m@�l&"��G��#
=��_���
�̸l��YX	��\=���.� ��(� �M�J�"(wA~�{jK�5��
�ؔo
�[a�9n_e�ى8��{Q��8����~�
a��LkYQ
�!��} �Ab�� [�ς�b^(Jĵ�G	
�Pb�p%�r�i8u>�M�T��c���2{W�6ER�)�_�8����+��=�
�aO$�:�9"�`��p�7�!�	�K��)x5�O5�ai޳;,i�Si�l��{Ӵx�={�LIr5��l��E�����n�� ��Esyn
�9T2L�^
mw�@+ز=V��Bd=�;��m�
�X�)+�ʠ�.��Ҍ�=�Q��i^F�kO��_�&��q����O��r���A�p�&7K��=�%��т��<��b�~u��-��V5,r3,�
��"
-��)q�}0d��F������[��@V�b���\w�9m��N���\�5�a��~<ԁ{م���9��
~�G�r�u��H|����_1�P˖�v��,�`��D˿�*Е��;,m���r��„�NXO���P�W�Yb���-����]
)/;�X��p�+3���P�|�6�|�܏a�6d�n65펧��.K�'u;i ��?������i>&\<^"
-���%��
:wt��B	��s:�:���?�eȠ���T�9Ս���ȁ�`mR�Х�
%�bd���Q9S0�� ��~��g���&��M�
���L��u�UL5=�9V$�wKf�q�������RHJ�<۞j�wT3���1��̖kƽ	�bE
B��m+w�����j}
Y���'{�ך�q{���^ٿ����~���~$Xz3�ɹβ1����p3#*��
~a?�2Io{�v��Px���kn���^�p"^�ſX��XM`�v���o[?Q�a��9����af3��t�f���
.~�I^�of��1zc���A����5;p�����W}x���U�ksp�W+��pbٔ]
m
5���T`���U5^"I��)�d�����_�y�/��7���[�F��/�]w��ŋ���b��}}l��{�x1I�/`R�)n�MdIV�*���U,�}��v��ղ��͝G�H
s;#�sT�uendstream
+x��[��������Y.�C)�E�&iӴM.[�]>�lyW�_'������H����B���(r8�'Gtv?���������J�YNr���n5��L+F$g����՜����QJ��ڗu�V�ms}�%������Y����u��J21���ǻo����z{�`A:cv��r��\���Ζp��%"7�G;j3˸���쇫��$�\�dO,a��{w�̼ڔ7_��}S:��&v5�u����dtv�3"�����5�sh_+�x��.��k�w�v�v6
��9QRäv�o�=S$��� E��F�<�ԻA��d$S�,���Z0��3K�h)���p�gǃDHON2�wK}�	��Z Y�`��6�kIP����<kJO>F���Lu��(����x�̐���xS��e�M�VH��z�Xb9��}�eb1���w�P�7��Ӗ�vז�uEN(��#dD��
,�MjB��$���J�
8��ˣ,x����gq�	��9^SF=E&�>�=B����1�S���w	=��u^Sg�F
)Bi��	>"Eͳ��2�],��=�b�b�*,�!Bf=[2
�N�L:�}�	c�� �k�-尓�hP
�6N'L\D�8�
�^N����t �X�p�r��7%2J3 d�b�$�EH��
�|�
���1�ݠ*��{Ɨ`=�g�<V�C������f���՛���)�f��w�"��e�
��)퀕��p�P.~�����i:<�=Q���n��cLo����X�`���
���b����vQ�Q�Eox=`�郆�r�c��vv�hں����u�8������w맇rY�pż�꧒rN��4Q�#��~��
Wl�5���TGb ���u -e����DZ#����`�z�95;%���
�
7{��j���r`�[�yj�r���.�rۢ�Jb4�rj��	�����痣f����C�&�8hF�[��G�|�"�?D�
�FcT�t�&�+��U:��!a�`
�o�H����p��%A�B�*ĴB��n�ѝ_�(_%hO�\��9fUF�V�`���T �	*d����錢v��C}���%P���]9�^�GȰ�c­�p
���7-(h���2p���HnX���ir"�^��)!�
�pL������gP��z��W�
��NG�L0P>�����`>�	����
7��L
+o��b�

�v�����cc�l�!��0�_q��?��h�Q䀱�a<ڙb�.B]V��v�R`D���m������L2B[:�4�*
��a1��f"s�%��b��⟤�Pk�Q/Q
������F�����оh�`�{�b��F�
+�^�4��!�.�]JxƦ|�_C�x_!�~�`��>���r�o��eB�����
�����L�
��T�v�D��
�5%�r�6nj���@&ɬC�F[�&@�ʣ��Rh� �<����FpS�{����E��
��q����4�{ME��IJ�D���p��FL�
=�7���z�
��jC�I�T
�o�~��p8���"s�)�(wA=�U�o���uY�$�(%L�g���2&C��+m�wT�����*6�����@��I�
��
��e�����ęk��Nb}
+�Fˏe��y��ϙ��벸���|� �OG@�����<v���c�)�C�)�2�
�=�>D��+�����Ҟ��JU� �N%hj1	0��J��$�%>N���az�=����XW]�1dS�� /�Jġ�p�!��^D�y	3��乜F<�t�l;c�j(ș�͛.�w�t|,�
+)�,!�@B��b�D(�Τn�c���\Z?�>�����B��d"]H
+0*��O�[dQ)��-%<w{��#ڴ+ �ĥ�x����ل�aL���t��"}��J�LLy�$\�8��U�?���
L�}2��Sz�����"���Ӎ��ʐ+���̳;V0�U�zJj�{y>ҪQ�@� e�Q_5�Q�@�Uy�j��������\/�qݐ=�Z��a�%{~��|�zAąQ��
ޡ\�}�iA����K�"�=
+�3,�~�X(J$R�rl^(�+ޟ�f��������r[OqC�!J��4:M�t�������1�V��\���I�Ҫ(�J�y��1���l>q��e�!|-�t�d���
�MӌUM�"���B�����C�3eT����Y�
��9=�k���^���MsؔM�eC����xp���S�C���
d�����U���+vn:
� �t]��%�������;�ԜL��1s�;����]�K]2JH�hӕR��>S��#�m�Pt،��|5\�i
5�B�
�[5uF.�p��b�����9`�6<O���Dfg��x�/�����m#j����w��Y���B�*�ģʧ�5�<>��K��P�K��5�[���9���*��!���І#ڬ�9	,PP9���	�����*
"y��� 
+ȝ��D "\5�h{��'7���ږI���>f
+4�
jb�Q.X��e|�3BOߧf�����D��00�	fo�$�
k$�W#��y�	L�@�[8	������$�����W`@LЀ$|�lk�������H�G�C�������`���c�,C�����'��'0hf��l3��ڗ��r�) &�71M�{�7�HK3�
�Є$�W}H���g�O�*a�u�*^
y��vpUټٗ��5�|1
�ːcKwDžTW�M�����/!&}e����/-�bM�q��l��]�AkW�2E�)��e���ά�U��J��ʛq�zu>,�}_Y�
S�7�K�hݰ����w,�5��
�#9�⛋�]խ^��S��0x�hQ��I���M��y��5e�j�_��}+,`l����������kӶ���
i�a��1��E�#�+Y�mo��M�tF��ֲ��5��u��/;L�����(�t�

���A�4m���A.
��j�4�� �.�s���9�A��>R���#�4�:'�<�̩�'F�w�ȉ���}5�S;����~5 O5�mm&�O��P�
L��7�<�=�=�p!2x�e#���!FQ?Ɏ�ɾ36�M��
�|
+T�賠껓e��0��K����H��hN>��4x������
��0�Ƌ�)�-gU�g`���a��O���j�\��6п��Ǻj�~�n�Ո��;�n���*j�E���h|/"���T��n�M����Czp�]���j�oM��o�Ū�ߒU�El�C�4�}������'L@F���a�
ə��+�a�
���9��'�A�w�hTo|�w��p����
.�ݔ�o�ڇ��(���#1
�(����
�h��e}�CY�����4���;B]�-
+T6�

�v������#Y4䰭�5��[��1�%d`%��yՅ�]w�Pm���
x$��
+�]�
+endstream
 endobj
-854 0 obj <<
+816 0 obj <<
 /Type /Page
-/Contents 855 0 R
-/Resources 853 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 810 0 R
-/Annots [ 862 0 R 863 0 R ]
+/Contents 817 0 R
+/Resources 815 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 770 0 R
+/Annots [ 813 0 R 814 0 R ]
 >> endobj
-862 0 obj <<
+813 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.3661 187.4025 371.373 198.3064]
+/Rect [317.366 187.402 371.373 198.306]
 /Subtype /Link
 /A << /S /GoTo /D (main_BDHetal05) >>
 >> endobj
-863 0 obj <<
+814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-856 0 obj <<
-/D [854 0 R /XYZ 90 757.9346 null]
+818 0 obj <<
+/D [816 0 R /XYZ 90 757.935 null]
 >> endobj
-857 0 obj <<
-/D [854 0 R /XYZ 90 733.028 null]
+819 0 obj <<
+/D [816 0 R /XYZ 90 733.028 null]
 >> endobj
-858 0 obj <<
-/D [854 0 R /XYZ 90 658.282 null]
+820 0 obj <<
+/D [816 0 R /XYZ 90 658.282 null]
 >> endobj
-859 0 obj <<
-/D [854 0 R /XYZ 90 644.0178 null]
+821 0 obj <<
+/D [816 0 R /XYZ 90 644.018 null]
 >> endobj
-860 0 obj <<
-/D [854 0 R /XYZ 491.2364 258.7484 null]
+822 0 obj <<
+/D [816 0 R /XYZ 491.236 258.748 null]
 >> endobj
-861 0 obj <<
-/D [854 0 R /XYZ 90 242.3274 null]
+823 0 obj <<
+/D [816 0 R /XYZ 90 242.327 null]
 >> endobj
-853 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F7 526 0 R /F11 411 0 R /F33 481 0 R /F10 484 0 R /F74 478 0 R /F1 573 0 R /F80 564 0 R /F8 523 0 R /F67 366 0 R >>
+815 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F7 505 0 R /F11 418 0 R /F31 472 0 R /F10 473 0 R /F72 471 0 R /F1 542 0 R /F78 539 0 R /F8 504 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-866 0 obj <<
-/Length 4342      
+832 0 obj <<
+/Length 3992      
 /Filter /FlateDecode
 >>
 stream
-x��;ێ�Fv��ʓ�����Ś��7�����t ��%v7w%R&)�N��{N]UE�F��c,�ZE�x�Թ_�d�Ꮼ4^)��f\���Wx�����7�|�N���՛�I��HK*W���$HPBW��o�|�!���ss�����Q���^�4��L��?��8
����
�QX�5Uw���������`�~|���x�L��
-#�+�z�
���tux�)
�W�_�[��
�J�v*h�S�R����
a)��ol��m�����ɍ���x��1�o���5]�=�}��
MII�@W
-02��qS�J"�XefHT)"V����ѻ �B
c�Jf
��%�Dø�`R7-�=G\�
�k�I�ygC3���ٚ�|�]��~�F~j=��S���S�~AB��'�^�vjΤ| C
H^�� -��q�#gɻ�n-u�E�

ڧ�fpc�W�����IĿ�P���: ��ﯠ�8��,QȰQ�)�Rl��-���
�]�
ƴ�-�~�?����
k/���s�ߍ�5�*T���y��&�%# f ��X���I,.r�?��A9F�Z�s���_��>�������{^�$B���q�
�nj<��
s��}�0�ÇlA�cnv��Έ��L۾�N���ja����zی��#3�b�_�h#^�&h!�f�?�H�V‚}i�g7���t��Ŭ�tc�߀'�q����6������
�L-�
Q&�JnLj�,�y4<�9Jlf��I_(�\��˅-N��R�(��?�of��+XQF�r�
ㅵ%w
{sd���	���솺�]�.�+<{���1��c��
���n���x)�ABK��ja,4N��e
.��ػQT�ѽ?6Fѽ!�����vJ �t0��Qfؖy㼵�^�9�ҿ5G���>;�v�A��ya�ED��y���R��
�\E�`FM;��ilܠ���Q�пp:
?
��M���xj��u�[�*XQe��4�Ǚ�
F�����j�c,og|]fe������hM$��Sst���VHR�"�2!�c=L������!���<mjCd3���D|�}����

qp���<< ��m:�v��� ����v1��d�Q�d����Ck��RZ���"����E��Ƌ�`�&!9��:��:!c�Twn�+;7��Ⱥwè
��
Ff{"��︧����w���ѿ��/�i��V��O���kA��[��~A�C��l����\Cؠ�J �1��

�o���r	�`�����I��HT	��
������-���C*A��k#̎�:�K��k��D0
͐�4�����a��B?
A��������aj�w��@���>�#�QF��*ۙ
#8�r;��{}:��ϥ�Q0�G�����n}h��Ί	\<|p��\C�Db�*�DKi����OM SOV���A��I�W�G?rv�.����+��	�6�—
*Sz
��PC����V�a�w�nƃ�?�����,]�w<��;���� �LC���L�����cD,Fa7C�͇\�
	������i�c�C�T�L��$��|	�G\�
�!�����o�*
=���{��$
�Ȅ
i!<��M�cK�;�d�� �i�I`
&�h.k�84'C�8��;�(x���F3�h���OC
�j���i��]3w�N�`04���<\���ϧ�>K�v ��G}������l]
-��FL�X���"|E"W?1D
-�%>���>1j
���Ռ��`	~����<����%�
l���X�R��K�d�m���i3��r�8��p!���Z��U����g��Yj��<���-���"Z����b<
����e�0�4խ��� ���h����|A�M�R�M�umip�D�m^|�(��!�-�g�w��OV� <av�
{����h�RƲ$ .}&�B��f���	�Œ����-x��m���
FH���p $봐K�5.�Z��-(%��6�
C�v
ۼn
-w�K=��&�w�ilJT�Y!QA�|E���M:���9��(��IHb�r���o#I�H�*�MA4Gu
I�YW0\Bs&��B*�X���#r�S=o�wJ��� �Z�

�S��ܥ�yͨv�r_�"8x
��>����
-%ȕc�M՜Q�O~[�Uq�&>�� =���#�m���ߍ�g�mLQv�S(�bT���_�ݎ��
-Q� �	���$�Xc7�׎�&p#)ԛ���!q��w��bEU�-S����
��3&Ke�%LvC�ed]���J�5���&[��e)��������c4���Pdp����:&f�.�1I�cL�
�9\�y.ma����ͨ2^2x72B�XLV��VYDPqA�"#�s�}�	�~
-y�$���b�w�Ꭹu�;u;��%�U�U�,`k�.�8�qv6��	!X��f�w��G���%�B�"�QA��s)r	�h�'�7�eэ1�2̠&�d +�M//TJ
��^�_��
U| �g<�e��@�P	�#,U�
̲W1���F��m(�r���f�Ĩ.�����]Mȍ���\"�Ca1ȸ2!*7Ʒ-K��O9kC�$�
-0_�i� C�ϡC���BLY@(_
#A���F �>l`ҕ(S.�cI1�^Y
���5�
�ѽ�?��W	���
9F at q�XWo�`��eb�W�d�2)�4��2Y�Z���2S��z_���S�~�(������_����`���pK"ɿKi��`���+�*J�����@x_���y�x..�b�h�
}q���ˈ%#XS
 �D��$K$�*vik@#
�霤�����`�ay���+U���R�R1��rcvT�i@�]I��
�����kW�
�0���
���S
��KEC	�
��ůr������$�A�}���"�=bF�!7�>F�&k�����A3�>�o|F<�M�]c��ݬ�
w��o(�����
�2A��-�`b
o�F5`)
��%�_|X��(�*�
�*��U���1ǥ>fp����
6��,1Lh�GU�,��3Er�q?~g���*��j����x�*�m�g?��K.���3��c��W��*儐��\L�Ap�,\���<��2}$eT���v�I�9 �t�=}c
H/�D�J�0���=O����o��*,�p��`��Yw�(�E0׶ �m�
k����
-�ϳ��)F̜Jڜ
�)��kAL@�iL?JD���gр;��.
-�@��%��4 �%�G���ު1?`��κ%�3�ø���u�jK|��Rcq�����`�,Q�l/>>%#ε�Ղl �}�1{��۹����eo�,��p�R_���A,��8�
-5&
-�Xκ��W�MW���z�T��(K^�6���c�崍�8���I漖f��I9�H�؀,���FL���_��4���r����Fa/�tZ��t��ܞ N5�,B�O��j��]fڼ��3V�L�'̼ \�į�N��Jө_6��
㙘BmW
䱀�
�"�N�4Y�
s�
���|<GjY��)x&�#±�]ڙ@�Fn
,"X��$�S+S(�����2�$�5�p
��|C�ī�\���%
-�_v�C��ɖ4����b�
�pR�o��O��=�, at 67l��'�~����Z�$�2]�x�1}���"��kwH�1@:�ȇ�x2���l������F����tj)9��x��.�φJଂ
5c��P��1��/�1t��K��,$,��Ik��Z��������_�"�_�"�d���|�߬
��[
-��}�sK��?����>�Ǎqn��QA�T}̞f{�
90������}�D*�`���
�G
-�׋9D�wd��.u�5G�D�M?�q/����
-.d�,�q��,X���
"��\��D0H������1�[*�+���w7����f}��96��\.�waA�̗���T�r��ٴ����� �4#�|����
��=	'��GF�Q?�!�Y.U�)�H�y3Rf�P[���
|�7���Ci�Ùk����;�����Tl�/�l$���S�D�ɬ��J������ae�\z���ϙ�W��~^�\Z�1q�
�}�yh���U�6VӢ��g���qv�·��-��U�;L�ٍ�O!d^�ʾ��S���ѷ�j���z�5O�
�t��ô�������K����mD�r\�m�siq�`�ϜMm�H!֗���pYA`�Z�
�8#����
�:
����7��4�����0��}
�/uw
-�	�|2��\�*��1g���_E!�4e��@��_Va���A���&y�}�2o���y��o߼yyyA����8�vzs<��,�cV�"�c���I
\2ʛDi0�).��up_J�#��:��c>�/��ԛ�endstream
+x��ے�F�}��<�S���wIK偐p	�,�PT�	���dɑ�L�*��s�"u���˸%u�>}�
�ڭ���7��߼��������㪠�L3�8[�oWo׌0z{�(�������+�~}�麻et�\�C5ڷ���a쏛��Zx��L�yv����7���|{�`G�bf��L��f��k�����W��"_=�Y���~�՛�?��[El@L�2.�ʢ�
���X&��S9�Ѧ��c5���
<�۪��
���W<�S�hZ���vJ�Ҥ�D�34�3��cD�Q,''rL�a�B����"x�Ί�-��E�@��|���͈�2������6�
=���0Ի�r����{��;�S��}=V3� 
@� 
b�H�
凱�QF4Z�cY��g�
�ݮ��ؠ��:ρ����~�
BzA���}�4��$(���
KI@�K'b!.�`�m���ݶ��R^mO�,�n�=
U��-Wk'���k���
+��Us�3'�5�z
�6�D%��hroP����~�
+1�e��*��Ǿ<tʹ�r��(�o�� ����T��
+�n�\7������ݲ��S���i|����lw�r�jثDUn��X�D��Y�bMdν��������ko
��z|���ۂ���U;$�
hrI�,,��'�o������6��~��~}�z�6M�0F�OFҭ�tSFo%u�lh��=U۾L�&Ȣ
Y>[H ��r�������<x��9�� 8cAg�B�F�i���C�
�
M�5��C��W�8��R<S��^�+�8.�Ovz�	�_������<Y���#b�X�V-S�l��}�G��b}˜rd�"ᨪ{;<�
�Mgm+
݂��P�i`��IE3�ȷǪݸ���0@���d(E��}�$�G%��k=r��A�բwH�f{�?TN
+�i��a�V
��h���o�]
�>��Xo�M�#H[� ~�J�1��K2
|��=�P�
��:3��u�x�pVi�m�
|�k�SDI���y!h�}�V�TX��<��ˉ{v�;' J�B���"#^�
+xP+a I�M�ځ��F.�v4����pR
��:�ʼnX�6o:Q at MX���xp�;x�)�&IVLz1V���y�������o���cY��
~���*���
=�bl����xH9pđ�y��q�'��(&�������~,�[Є]�^�@~��[駶�y��z��� �එF�L���-�G�}��^X��>���w����{/O��]]5[Caxxxg��h�W��i"�R��\��Ѝ�S�F��A�-�w(7�
+k6=q?�CM�v��e��yK$�b
޾/��Wn��tm���xp��
E
]���~�c��)��3���E͹�Y��q
��	1/���4��
WGc7�c�#?k�
BIBOm%�r|����Ƚ�Df��lW1Hp�_a�iE��>�O�g�;t�~k|�	��9p���1PG|,-�C_�Y���� qg?l�}i�碖��x���W�MKp�k��������}kD�q[?���
c8G҂����U������T<"
+"2�Mh�U,�D�k�'zk��c�� �3Tc�-��T
��584q�24��!��l���X'
O�Q���u��~R��Ĩ���
��p��˾��up5���_�\�5����׳�G��X6r2��l���M�"���z#��

]�-|6"�o���%c�LR�����@��fN0 ��z������Lg��쮉�� `>� ��A�l�6qM�
�כj���l���)ƚ�?�������
+��]g�据�||� �h��= �c݌����8*��lYg
��W�5A��D;�
5_±�I�?M`
���dE|�@��atH���u�1���j(r190b��,-�7�R��$g
+y�I�!�&|���`_yn�;|Lm�	�f|EO�Z2Y,�)}�|���G��V�Xi �+�%�KŜ	|�i�f<t�h�k�*(�Ԅ2���)W�%R�3��m0�����G.'���K
_;����'��eg�/Ŝ4�AK ��2��<*�*�,)3ZOs�]2�^���+N�@�ؔ��]{��
+Ho��v
�.����ɏ���`� 6�>��<OK�VD̄�,�R�h��LQ+�~J##j���
����q�;4�i�M)ߤ�HA�\�@
%ڌ�l��'�Q d����l��U�lA�ՆUS�V0N�Dc5�$
��T�*��!?���c
v��bo��o[AVp���Ud�GIiԑH	
�mq��^L��?�A
��
�@'ފ��muuS�j)m�=FÄC"�q�'cS&{b^
�X4���c
+������nJ�\��#�`6F"s��6F�H^6F������4m�J'S��K�9_x�L㡄w
`�5�
!� ��D����F��	4�
�3��c��1
�[%迢���ƁR�M
+�%�V`��� %"�B
+��T�1�Y~�`@ 0�
�Y�7Q9�����W��C�y<�Is~\V,:���`�,�J��s$tN�X��.��?�_�q"½���!�u�K�"%]��)�9W�х��x�}y�D���;,[��`#��az�8ݚ���T�p�XmLr]�X����Ǹ���Ʀ@��*W�]��!�9���Y����U*��P�?��M�;�u�i��	�KUd�
+�#	c��Ge�,�����$Xd��oRP���1G���εt���,a&����W	�Y &� ?��S���‹eL��
+Ń(�g���'�v�� ����q"�7qO���0� ya��K2@~9�rŕ�:��2�
$(�{����&
+]��Wv�'y�i&?����O����Kp�Z�Y�dVR�9�G��9���
���
 2z̋��-�D\A q��A\��%E8��,)c�I��%e�pt��J]��)�
�����v�^�է�Jjz9=�p�s�c��x�)
+���a�v���B�k/�ֆ�\�
+�7��3�67O���a*Q�ؗ�%$̉�O���\l�TD�&C]ӿ�y
+N=���I;1b&����I!M�Ǵ�B�/Q�΁��n_��\��5@�Pr.
:ڢ�;�
�=��jL�
+^V�
]#
�5��	�M�*��2m�A�2�� s��H�������`)]�ON�aGd/�]͟#��
�W<ڃ��)
+������	�#&'|�vb�`��9�2��
)��O�Z�����K-qe%*���j㟧5�R�/�8��k���Q��n�m��,��h(�u�lq���l���ph�M�R�M$���ʠ���B�
$U�F�n`��\�[��X/l��^�@ -"�.%�B�K���j>�9���1������4����'j�"���5 ��
Ra���X
{�TE>�ӡdб�]j�8E2��!ԗ
a��7���E/G��/��-�+L*��z�sw��ߗx���Zl�47ճ�!Q��gG�
lQ��? �Ǒ�}�*
H��
0�
��g��䎃o��Zυ$����ۅ����>
����%V"�r����	Cc�pC�0�t����aZ���g���"n<�=�ú���f�$T/JL�R5$��-�)
�FN�̣ ��E�ajn!�����V���h���i./�����V�t�2U�� Z-;�:*uR�d^Ɵ���d���Eh��5Qw��]lq�8�lY�ЪطP!"$�_s"y��D�A���?�h�:�t [...]
+O
Az�nOʨ_vN<i\���W?.�L�
��S|!i9Y��=�y�?B[vA��������p��U��6������åt�b\ϋ �����_,�\�^^2�[¯��g��^�9)X~�?/�Z
n*Е� T��������K-�݉��_L��
��#���ߗ��GBF��a��RQs)��WL�k��᭽ʝ�
�+?�
�_�
+�Ƽ�ͱ��8
^�|���L69���'���ph^F�[
�1I�R�����4�	�K�dɄa
n�
+endstream
 endobj
-865 0 obj <<
+831 0 obj <<
 /Type /Page
-/Contents 866 0 R
-/Resources 864 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 810 0 R
-/Annots [ 870 0 R 873 0 R 875 0 R 876 0 R 877 0 R 881 0 R ]
+/Contents 832 0 R
+/Resources 830 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 770 0 R
+/Annots [ 824 0 R 825 0 R 826 0 R 827 0 R 828 0 R 829 0 R ]
 >> endobj
-870 0 obj <<
+824 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.2396 628.216 230.92 639.1199]
+/Rect [143.24 628.216 230.92 639.12]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-873 0 obj <<
+825 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.5334 518.8953 486.5007 529.7992]
+/Rect [448.533 518.895 486.501 529.799]
 /Subtype /Link
 /A << /S /GoTo /D (main_HPR97) >>
 >> endobj
-875 0 obj <<
+826 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.4947 389.341 266.1345 400.2449]
+/Rect [231.495 389.341 266.135 400.245]
 /Subtype /Link
 /A << /S /GoTo /D (main_Bag98) >>
 >> endobj
-876 0 obj <<
+827 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.0096 389.341 392.5249 400.2449]
+/Rect [354.01 389.341 392.525 400.245]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHZ04) >>
 >> endobj
-877 0 obj <<
+828 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.4667 365.8043 428.9049 376.3346]
+/Rect [303.467 365.804 428.905 376.335]
 /Subtype /Link
 /A << /S /GoTo /D (main_pointset_powerset) >>
 >> endobj
-881 0 obj <<
+829 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-867 0 obj <<
-/D [865 0 R /XYZ 90 757.9346 null]
+833 0 obj <<
+/D [831 0 R /XYZ 90 757.935 null]
 >> endobj
-868 0 obj <<
-/D [865 0 R /XYZ 90 679.0416 null]
+834 0 obj <<
+/D [831 0 R /XYZ 90 679.042 null]
 >> endobj
-869 0 obj <<
-/D [865 0 R /XYZ 90 671.1857 null]
+835 0 obj <<
+/D [831 0 R /XYZ 90 671.186 null]
 >> endobj
-871 0 obj <<
-/D [865 0 R /XYZ 319.418 631.3691 null]
+836 0 obj <<
+/D [831 0 R /XYZ 319.418 631.369 null]
 >> endobj
-872 0 obj <<
-/D [865 0 R /XYZ 90 615.3549 null]
+837 0 obj <<
+/D [831 0 R /XYZ 90 615.355 null]
 >> endobj
-874 0 obj <<
-/D [865 0 R /XYZ 296.4134 474.2277 null]
+838 0 obj <<
+/D [831 0 R /XYZ 296.413 474.228 null]
 >> endobj
 46 0 obj <<
-/D [865 0 R /XYZ 90 458.2136 null]
+/D [831 0 R /XYZ 90 458.214 null]
 >> endobj
-878 0 obj <<
-/D [865 0 R /XYZ 90 366.8005 null]
+839 0 obj <<
+/D [831 0 R /XYZ 90 366.801 null]
 >> endobj
-879 0 obj <<
-/D [865 0 R /XYZ 90 366.8005 null]
+840 0 obj <<
+/D [831 0 R /XYZ 90 366.801 null]
 >> endobj
-880 0 obj <<
-/D [865 0 R /XYZ 90 352.9432 null]
+841 0 obj <<
+/D [831 0 R /XYZ 90 352.943 null]
 >> endobj
-864 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F7 526 0 R /F74 478 0 R /F11 411 0 R /F8 523 0 R /F12 658 0 R /F9 601 0 R /F13 567 0 R /F30 655 0 R /F6 561 0 R /F67 366 0 R >>
+830 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F7 505 0 R /F72 471 0 R /F11 418 0 R /F8 504 0 R /F12 622 0 R /F9 568 0 R /F13 540 0 R /F28 621 0 R /F6 538 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-887 0 obj <<
-/Length 3226      
+852 0 obj <<
+/Length 2858      
 /Filter /FlateDecode
 >>
 stream
-xڵ�r���_���3� ��v��d�4ɦ����$��l3�H-I��~}n@B�w�;
�H�8����*�	�h���E�����.��^��*����ŷ�-R�����]�c�&��ͯK�0�\�(�o�����m��aŲm��p����K���X>�׃�>���|	#����߯���zD�c�(��w��^,6@��J���+E����𲽸��縎����0�p��	Eg�r��^w����ڡݻ��;�xj��P��[3�I,
f�[��DJ�����z�;��-P)�����ۛv�]
�R���#HME$*�
.
T�2�� ����J&*
-
-+)�<Y�����tO\$(�g7
�f�&
�CS6�ev�Ґ_p�	�mչ�����K̀�lY�:���j�n������(w�������G������	O�n�*�U߶��cF�X"\�:P��][��_ªR����G��K{�~G���%a�<a��
��(��H1��~��ڬ��������%�<^v�{�Eo��ͣ���
D�
u��>�O7�fSY�`������,���?�z���dr���h]��A�
�v?���ֻze	)��T
9f���3F���o�u=8��h,��{����;i�e�[����������"kw������[�
-��J������P
T�;d
�!�y�9�
/�
V�a�`{��Z���<�J�nG�� �)�����p_y^�s�v}�y����
#
�s �a��n�u���1���
�Qd�;������"���
�l��h�����}W�"��Ꮋ�Ž�
 
 
`�9��\�TR"
-�c���h4���53R�qx/c�����jP��>:�
X^���F�� x���k��F����D��+k�}X���U�VὯ-�
��*��Ή����%��L����
��H��M���VǷnܻ#�M�c+d)�Π^�L���Q&�%
� P�FE at A~�A�cd�e�u�_�৞�wz��*�"�8 uX�\����@3����4 e'	&
ɒ�EU��D�#�����Hf
�o9�J��PY(����D�J���$����S����՜�Z
��2l��.N�$A&J�t*��e��0� ̛��(œ���>J-�.�(��l
-F;=
�����X�Nh		����V� q]@Z
�0s����R�6���4�
N4�s	9��D���"��2�A�Rn%��
�fo���R ߌ%$��2�&��!UN��!�=���lƀK��3�"gɘ�J��y�f�hW�u��"�94!�Ŕ|�w�4IV���dͻ�RzOi�$��R�*������y�)��cl��
-�4��s�G?�����Ă���۱��Q$E�QfnW4����
B�2�jXJ����j
MM���,8�N�{�AE9��%g���
*	Cy
�ć�/7�����~^�B�\�'ِ}�$�0J�\� u,6� �b$S�FT��O�Q	�j�1�d��)
)v�/p��&��O��Mf�^��)�L@���j��ۜ/Y�Pl��<� nk2�´iؽy��I�|
�1ȴ�+R
'NFPD��lNϝ�s�<M
�)�Ep��O��Pg�����
~&	�:
�,$}4�0�w_��m��N#_,~��'��4I�*��I��� б/�c�MfM���Fc%�f��q�L�
-]���֎P�A�2�%s;���~$�,
��zh=sR�m�򭎒��&4m��u?�<�-%Wo��l�s����)�v;1���i
�c06�C��Nu3�r�K�UT֞�
��Ұe\TΘ#c�NNKv3b=�
L���o_��T#�3!M=��ld���_���ԕ
� qW�m�
-�BD)D��m]3��y������?�wx���Y�)��L��f!b��IҲ@E!�HZH��,#�*˴�g��i�����{�[�ϴF�Z.�<*������ ��Nm㷴BB��۪�u�
-�zwU3���y���N�{�Q���-s���Sl�vC]{�=�:�A���Z��8w^uF�U�AF�um�:�(}�f�7�-ƒH���)�-���m����@� o⓵�m�)LRS�3�
|�F}'���p⺱��i׷�?ۋft��ʣ[���oz��Lj��9��e���~���u
?�L
9��
�CI�,V��/-�y�!�
T�d��Qy�V1XF1g��'��
�XOn
"�߻�hA���
1�$=bx�h��mTbHक़�vRj#�T�׵�S��	���
���:��†��b˅d����MQ at l����P�,���՜宨�˿��'?�/�8�	����1�X;U�O��ھ�
��=̈́U��
r̵�,b�5Z
�@��D0��d�$���[{v�{H� z?fiW�n��MⰮ�wZ�Zg�cY;��ÐIe�)OJ޿�6�J
s�
�c|����y�k��4?���oiS�~jy0�d�]��f\�Zh�n{(�����s��ل�Yϱ���N���:'
�]X�J��V��&���Z���JN��H���F�/ �-�&�i&��j|�c2���}�ŲH�]�%A�	��؞��S-`3�
�޽���V>6A
'��Ħ}R(�;=cN�l��nR���N?��lk��e�&�
0q��X
��c�M!C
�lAC��쁯��w
����nX)�W�*Ą�J�y�C��`����-_�b{b��w�Tؐf�Y���<��мz��{���O��JP)�'�
-D�S��oJ����}�\@e���ԡ ͹��Է�l�fp�4O���2�C �G��4Ox at X$�1�	jzG�~w���n���Iuk��Tw�m�ST3F����_A$~֡����s�{�_��.\�t/�����t.�;���y�o��Er4�p���_
(Ju��W�t^� �,N��=>���P�y��K�>�vչ�@��.�u
-B��
-Rf[Y�����.�KA�[>�c�UF
-Xs�?�ޱU^h`�4&���#Ǟ�m
���]8'h���z�������/o�r���+�OUc\�}6]X��u���ڛ�>�_i=�T	m�H�f�\����U�`}����蘬kh����/


кG���w�
^����F#��yFp�h�K�yj�g
-,7�e����v׍��hMn�B��x��bezCendstream
+xڽ[w۶�ݿ�o�Ή`\L�
ڦ�֦�W�OI�FK��V"�����}���J��A� ���7'�	N^_|ssq�}ƒ
�͒��$lj��$7��� B�+�1^�ܨ��˺�+���Pvp��0�$x��N�v�[Xз��^	3�tA��.���xA �s2H0��wo���H0b�L

�.I)��6�����R��
+���A��n�
�n�@m�NU���]~O��!$E�H8��xgAޥ(����
�z�{
�-P*����н�����1!ծ�@���3j��0�h�'+�"�y���W/g�$�D�"xbN�58���־n��Z�E�j�f��V:�u]�U[��
�#��>l�۶h�܎���݊���5�FY��|����S�ˀ8�#�������K�VJ��~�/��w�9`��Kʽ��	�B��y
+l!(玗�zW�z�<7�20�V5��`k��n�쳰��_�e��>��}�)
.�S��
+�e�
f�ܔ���j�wh�J�\���K�Y���L�w떪m�+W{
�]9��$��H�?Ͷ\��E
dW-S��`��������G�sm�E�:K�S	d�飜ꝺ/�e4C��
ÏD�&�d���0T�{��TfM\cg���a�y�����;w�yف�2d��CI���hƤ1;�?d�ܷM����3�x�$����L������7G[�K܈�@|�c�����$�\�
�v��A9�J��rΦ�+�Y4m	��_g�C�� }',&���/-U _��g����U�2��XM�:�s�ӏ�>o��
+�'
�� �u[�*;a� �U��rm_�	��zh��ye̼�n�hݶ�I-���2feW1
�
��nI�wq����⃞�b�-:�ڪq~k�2�$dj�\�\0oQ�b6� � (�V֖�x��Q�W������~m��v�M
�긨
G^��˳��C,bqdt�.\$�&Yj�
a
+L �4�
�)h�Txt�� C�ˏ:�F��2�
r�Q
+8�Zf�f�FS
u!�f# �R�urZ	
�R�Nٸ7ے�22M`"iF
��"�o�(g�d��>�tvQhZf��@=�1�l��}[u�d�Sͦ,Ei*B�|��	��\ ��qN��(���F��<�	T
�=qga
M#y�%+H�D���p�,
��P
9�)p�"ө�L�5FϜ�������#Gq��ӄE�lE��.�4�c��J��WK�cB�J>�|�4*LB����*h�¨Z��$Z�`.�*8x��<�gC��WCp���UC�3C�(�;�1;cH��S��iz
\�4*G(1���Q�P�#�r�x��8�Mr��e��
�R���E�7�Y��n�\�|�6�.��,ۆ_��*r��Z1΢�
+�
����ɏL���$�*��h
+6�"�
C
��̡�<A��878�ř0�N�y9���87ǥ
�S*���Is�M��8E��^�}��A�;F�)ȼ,�!��"�T��W����<�I��N�
����5��!�)E�����I�N����E�p�4�$�s���m�tsG����J�dɧ
�9M���t�
 4vs����Y����iw�†��V�☑P�p�����򌣜��u�ޣb��Ѕ��V��C��u]�\�"��O�0?�ʮXn�C�r���d����M�C��vfd��R��j
n����A�q鿚T���o7��-æ�I034����3��H�t\]��jUc�l�Ve��9H�eV����k5t4.l���w}�_^_$o
�ͬ�
Q�o�T
4I�N��
��C�i�iK r�3�
���TL��1��
�J���=�r&�ۢ�T7�* '�U�;.��^�;շ�5�}�u[6�س
+�%�:�t�O1K��ϳ� 
g�����Z#ó�
F���G4
;Q4:b�����#���d�S�,���l[=�CGJ�γ#9�|-ݡ��A{N#V�vZ���&'U�th}w
`�����";;c|�t
[q������\�����Ǎh@�ٸ��A"�N5
�I�X1�S�s��������
ܾ��Dah��T�%��
�V���~k�W4H�A��{�W�G��_��
�� �Ӡ���2�d�A0O�a�7��ٖ����:�oT4���2�^<(�d�g��v0�
E�f�z�
��;���'�Y>E��^�Gf�?����0�'�Q�Bh
���
<����t �XDk���,1���և��R�Eİ��R/
�VE3r}_�� ���i�
���
"�q�\�*�30��1X���W|${�8{��c
wz-��s�;0�\��cM*��
+�}�i�~.���k�L�C䷇u���I|}��r�ةs�qt�!&Ů�[z�XO�{+�
ɜ{}G)���
��
B�
+�I���$��Q�NS?ژ�dbn
+VM�d��
+b�$��v��c�?��qe_ �E|�B�|J��5whh��U�p.�\�� �+�;m�x���w�j[�XV�v�s<T��9a�g<
l"�1��A��[�
� �
&%&����n�<<F4�c�/�κ�B|�
�,��4\�
����/�g6e*�r���h�J̏�vT��x9�����i�yc6���3���K���;95���j���0M��[�Ǩ��ǟT� ��$�hy�����&�J8�`�<�6KL�\W��|��>=�M�^�L������˒�ӏ��J۫����]]��΁A҈4�"Lw
\t�V�Qj��#�/�_�&�
3�8��~��������#Zwh_�M����i����I�ܜ����1���WV��4Fa��?��&�
+endstream
 endobj
-886 0 obj <<
+851 0 obj <<
 /Type /Page
-/Contents 887 0 R
-/Resources 885 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 908 0 R
-/Annots [ 899 0 R 900 0 R 901 0 R 902 0 R 903 0 R 904 0 R 905 0 R 907 0 R ]
+/Contents 852 0 R
+/Resources 850 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 868 0 R
+/Annots [ 845 0 R 864 0 R 846 0 R 847 0 R 865 0 R 848 0 R 866 0 R 849 0 R ]
 >> endobj
-899 0 obj <<
+845 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.5119 296.2257 513.9963 307.1296]
+/Rect [496.512 296.226 513.996 307.13]
 /Subtype /Link
 /A << /S /GoTo /D (main_powerset) >>
 >> endobj
-900 0 obj <<
+864 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 284.2705 181.0058 295.2276]
+/Rect [89.004 284.271 181.006 295.228]
 /Subtype /Link
 /A << /S /GoTo /D (main_powerset) >>
 >> endobj
-901 0 obj <<
+846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.7026 272.3153 287.7357 283.2193]
+/Rect [155.703 272.315 287.736 283.219]
 /Subtype /Link
 /A << /S /GoTo /D (main_Semantic_Geometric_Descriptors) >>
 >> endobj
-902 0 obj <<
+847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.9721 254.691 513.9963 265.5949]
+/Rect [417.972 254.691 513.996 265.595]
 /Subtype /Link
 /A << /S /GoTo /D (main_ps_operations) >>
 >> endobj
-903 0 obj <<
+865 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 242.7358 164.2821 253.6397]
+/Rect [89.004 242.736 164.282 253.64]
 /Subtype /Link
 /A << /S /GoTo /D (main_ps_operations) >>
 >> endobj
-904 0 obj <<
+848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.7124 242.7358 513.9963 253.6397]
+/Rect [380.712 242.736 513.996 253.64]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
 >> endobj
-905 0 obj <<
+866 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 230.7806 181.6838 241.6846]
+/Rect [89.004 230.781 181.684 241.685]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generic_Operations_on_Semantic_Geometric_Descriptors) >>
 >> endobj
-907 0 obj <<
+849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-888 0 obj <<
-/D [886 0 R /XYZ 90 757.9346 null]
+853 0 obj <<
+/D [851 0 R /XYZ 90 757.935 null]
 >> endobj
-889 0 obj <<
-/D [886 0 R /XYZ 90 621.9258 null]
+854 0 obj <<
+/D [851 0 R /XYZ 90 621.926 null]
 >> endobj
 50 0 obj <<
-/D [886 0 R /XYZ 90 616.1555 null]
+/D [851 0 R /XYZ 90 616.155 null]
 >> endobj
-890 0 obj <<
-/D [886 0 R /XYZ 90 560.2343 null]
+855 0 obj <<
+/D [851 0 R /XYZ 90 560.234 null]
 >> endobj
-891 0 obj <<
-/D [886 0 R /XYZ 90 560.2343 null]
+856 0 obj <<
+/D [851 0 R /XYZ 90 560.234 null]
 >> endobj
-892 0 obj <<
-/D [886 0 R /XYZ 90 545.9192 null]
+857 0 obj <<
+/D [851 0 R /XYZ 90 545.919 null]
 >> endobj
-893 0 obj <<
-/D [886 0 R /XYZ 90 490.6604 null]
+858 0 obj <<
+/D [851 0 R /XYZ 90 490.66 null]
 >> endobj
-894 0 obj <<
-/D [886 0 R /XYZ 90 490.6604 null]
+859 0 obj <<
+/D [851 0 R /XYZ 90 490.66 null]
 >> endobj
-895 0 obj <<
-/D [886 0 R /XYZ 90 476.3453 null]
+860 0 obj <<
+/D [851 0 R /XYZ 90 476.345 null]
 >> endobj
-896 0 obj <<
-/D [886 0 R /XYZ 90 422.4166 null]
+861 0 obj <<
+/D [851 0 R /XYZ 90 422.417 null]
 >> endobj
-897 0 obj <<
-/D [886 0 R /XYZ 90 422.4166 null]
+862 0 obj <<
+/D [851 0 R /XYZ 90 422.417 null]
 >> endobj
-898 0 obj <<
-/D [886 0 R /XYZ 90 408.1015 null]
+863 0 obj <<
+/D [851 0 R /XYZ 90 408.102 null]
 >> endobj
-884 0 obj <<
-/D [886 0 R /XYZ 270.2223 357.6599 null]
+844 0 obj <<
+/D [851 0 R /XYZ 270.222 357.66 null]
 >> endobj
 54 0 obj <<
-/D [886 0 R /XYZ 90 341.188 null]
+/D [851 0 R /XYZ 90 341.188 null]
 >> endobj
-721 0 obj <<
-/D [886 0 R /XYZ 122.3783 221.9786 null]
+683 0 obj <<
+/D [851 0 R /XYZ 122.378 221.979 null]
 >> endobj
-906 0 obj <<
-/D [886 0 R /XYZ 90 207.5639 null]
+867 0 obj <<
+/D [851 0 R /XYZ 90 207.564 null]
 >> endobj
-885 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F74 478 0 R /F67 366 0 R /F11 411 0 R /F7 526 0 R /F6 561 0 R /F8 523 0 R /F12 658 0 R /F9 601 0 R /F1 573 0 R /F10 484 0 R >>
+850 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F7 505 0 R /F6 538 0 R /F8 504 0 R /F12 622 0 R /F9 568 0 R /F1 542 0 R /F10 473 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-911 0 obj <<
-/Length 3600      
+879 0 obj <<
+/Length 3347      
 /Filter /FlateDecode
 >>
 stream
-xڽZ�s���B�JϜx �`�~�%�5�^w:��憖(�9�TH�
���.�@~�.��E�X,������_l��<-2�W��[�@��
��п���x�W�VEZh�WW;KA�T	.VW��rq�挱�궺\
Œ7��%m�
}5�-��%wU7�~�
ʺ�g-D"�˷W__|y5��U����/?�e�-p��K�¨�
����X
.�����⇋�t��N�m�יL���JEd)�J�RQ"�
-g:����q��'!�|O��,��UHp��8j��O�s�L��?�
S�i����r�eyR��\��47nܶ�>5��F�jX�Kx����P77��ׇ���1�)��mb�k��LHG��
ninW��ʯ0�4u�G���T�u��|��"ό
��
$�SYH �p����w/`YU$����uR��[��y0U�4��w#X��Lu>��}d#E*r.C�r at k���Pp��ct���ʱz�U�k�}�a�f�
-.���B)��m�s�rj�^Gx��̋|�{fD�<8؂��3ND	p3����A�`�	�倛�A�m�N���x��DO'�|�!?G�hR��'�QD�(S���ֽ�lA����#�k&�BMطf����G{�
l�����:T��&4[���l���"{�ک��7��d묐i�k�^�c�=��i

��� ��4U�+��RS����|a0*�Q��)R�5h� 
6���'T��������
���Po���K���7H%����
���#f������A��{2��wV,�D�4��$�hʹw�@�Ӫ;���9?�c�}���c���-�k+a`�2�y4[����p�T at a�B۔"v����⡳~j�L}�;�ظ��=Ri�b4[�vG��۝�v�*����`	��
zz�]��3��:<x��Wpxۇf��B�ӑ�<��i���Po���y
-
Gv�m-�fnYh�
/�D���:T����9��뺩P�=��D�d�^k&�IĀ���D)`x�so
M�|�/+ܘґ[8<l$<�r
�6[���	

�n[u�-x�V���ں�&<مnb˾
�RP>�¯�My�=�_��_����&���S
={�����l����~-;�0:&|�� ��ٻ��j����:ؕm����벯��
-7������Ä>

5�g���t<��� �K�3
C5
�xg��IH�Ӑ�U{�����i|�
�eW�m�Gt	�� ���ϛ�J�xGhy�#`�[ g��a�(b(i
->ALP�g��`�a��0��"����RYyt3y�塢��>`��|���9S;S���Xn
�m
�كxA6 h2�,�
�� ��*���{�L`,� Y�J�9���|"����o��{kW����@~�S���翍����9�w�Bp4���j3	
-G�ط'G'	0`��}S=���߇�%z�e�}ߺ'�wd�$��t�
H��̍�#>g�]�<T�OL1�`
�4E�UTryʌ���4J�b��3%��*�Q%ԩ�,�
�q�
Z~t�2��=,g�/����)��^ʖ�0��Kq�3'� 
����"N� W̱0jx��`�~9:��H31�b�uMC���
f3f��e��ս�ߑ���
��"g��ig�\`�E��R.��
�d����(p�$�c2�ip��:��`��z���3�Y��,�K�#�~L�F��@O;��RX
{�&X��t<K
f
*[�#�,�3H�_p��/!�5L�)�
���f
���ܣǨ�Q��!�
�eo����2=�
�����Ǥ��ݶ�=���G:)�\���Am
Y�
-�%ao�Pa̎��F)بb~��19�Z�Y�
lgz����
2giQ�ř
��t�n�7o�u�?8�YޏI+�������;+�we��7
.b��p#�n
�������B���35�I�h���

�A�M^��ﺣ&0�5��]5����SC�
<N��]u�<S8P;�5g�#4��",є �խ�R3O�'�Tw��m�T��U�S�
��)8�~��Z�"
-���}B{���4����n>7��/��j�X�-v��;�
�YL�'�=p�i�Ƃ�
��!5�,(��;�oK���-G6 &̔��զ�zԏljc��+��h��P���fF���1�e�������L�&'c
�걸	U�.��
�f�*��_��<�����w������c�
3�y8��9��#���M�߱:�����r����lR���T�_�
-��T��8,!�C�Ry��=:9S(N�a��ݸ��n�¡˛���=�W�����5�P � �M�_��QO,����Δ;
�s�r[ƽfY��U�����V�,��\��
ʭ[�Xv�/�`��
A;�D:6�
0Ιa�Xx�qLSϊ�I�PrR!�-�b��8ɣ�d'���o;zpj�-1T��2�6 ��P�s�R�a��֢B
�b%��B�<���?�"^���1�`2�٣�E��}>S����s�au�2�)��dd��r�/OA5��^g�*5�K�x|:Q_��J�5Rߵ������i�suC�s��r�lʆ��y�ܜ@ɛ������o`�����V}��e�^���"��O�^{ȟ��J
�𥆑�ɾl�
\@mN�k
^���~���]�b?0���2�	��a�X�>���_���j��D��4˥|ƒ���ᄥK[�%o���0�����\�X��R7�e�<Ԍ[��E�U.�~^u�wT��Uic
-�ߨ
-�N�_�)
`���%_��|��<o��^茍�F���F�!D�R
S�lG���^��,�<g�f�}�ޮ�Hm�ٕ�<K�B%�
1��	oJ�|����74ǗR�T�������
D�eD�
���CI6�I�!�VE�=�fr���d���qS�{�#���C�1K���v��t#S���gco�/�
��1H�Y�����pB�
-tG+̮fi>}�0�bf�㨧�^P
n�y���}O"˜g�6�簄��M�8
 �#�q�9�bQ
�A�7�h�~��
0)��;[�w�v����?u0��;xr_���$!�w���
���ꚃBm+
�5q?g���y���H��
��g+֒ϫkS�03[�ǀM5=s�+���JX&���¯��C����
���M��m�l�',� ��C-��pO�$֎h�A�u�x��l��	����Aԅ-�z7��Y9_f�S���B<�oQ<��G������}��^K3
��
�_�
-L�Q����4��3x�E�����d��n&\��
���MʊL�
a�r�a�~�Y��W
�*�����V�	r<R�Wu>RO�
0
�Xw��5PP�����"?�9����N�G��|��O��ba��/�
-�x��>*z��S$���k�`|i+���H2)@�Ř<X���`�iN 9�����)B8����
-��V���j��CV�T�����)�?�^[
-�&�y1I��w6g
g�E��~޽����j۹�oG`/����J%�W6'[�t�}���XeW�%���
@�<�
-�z߯��7A����
�.;��Z��=���/_��ݥ�>=5��K�������F�L��c�
-x�H

�>^
y3�C�U
G�x;�:��"��� ��Aendstream
+xڭZY�۸~�_��p�, 
��!����n�d'��x].��0�H-Iyv��ӍH��
v�"� �h��u�|u�����.^~�������VW�U�Wy&��bu�]�M�r-8��խ�\K͓7��'m�
�‘K��;Ӎ�ߴ��n�:�2��廫.�����B��|%�n:gy�W����w|���V��e����+%S�߯~���w����'<c*-V�L�4
�)���?��;
�`*+a�.�W�Qe"�����\�i�T�2��J8O�n��?�f3��1���]¥�M��nnh���}�
�rS
u���8�����ᖞ�L4~���Gg��R��lq�|��29���t�L�ʩ=�A�
+�W��z�v�e�k;�>KL���'��T��(�ޭ��e����s�L���E`�*-��-��o��
nMg
��B'����G�]�*cR(�H�R;�F��Lz�x
a<�Y�iLl�ȟ�
+=WEڠ9p���j��C�Z`���9+�h��ZRx"��?���ê�=���O1��_D��,J�aS
I�z��um��
�w��]Q�;�.E�ܘ�i�@��GΜ�N����D��c��
�
c����y
9�2�O�ec�m��!&K�r��!Ș!,�&ʙ0.Z����
x�`��3;E�D�d__wUw�7*9v-2��ޚ��+����H'��tՀƍ���5'^ �@cT�
�*ew������<p�����
P���o8xΏS�w��;�?X���gE 
8�ZD�Ut���p�4=YXӃ�9A�������d��څ�bHP�ukzd�0
$0�D���$�����S�Q��_=]��wp��ԉ\
+G�
<��
�n��Uf�l�7g�t���
�
R̤��2�����Z�Oݶ0��.�D���:�����9����1
��n*�^��+*ǀ��q�I���C�F
_�R~M�ȝ�:
$�W#��:ji��m�5


�И��lB͞�&������ Z�2���{�;�Wݿ�����$xp6�3R��0����{�������D�f�F��~��'��#swk���7���}�M͞�]t��G�� ĕ���+�s(��	=�Ba��aa*!4�	�3�_��`��ސ2�nǪ����#&�$dU���t(k�>6f���!�}A
׊ρ�s���
_E��5��
��0
��E��E_


�lǽ-�
���󲉒
+(��j��ok��
�
2�4+��Tc
3�$b迯�]̀Y(ZH��y*�3��BT
�Z�n�L�VW�C;[>~��_�F �JQ|?q�-��w�@����d����(�v�ۃ��ώ�p�ü�y+0)��z�{O�V��uW���y�x�+�,mҲ\Ď)�

?<�m
���D�Ph� ���L���-g�(��=y��n�'�5�Q�Q��X��/�B���t���U.��n�}�/�x[�j�l�]���


����:	40%a��egF�s�� ���J�N�K�k��R�
+Rj�R�ܲ����w��'�j7��s��
 �r�Rgx�,��L�u}f[�PG�Z�/E����ܿ7��,p�U������Y�f�DŽ
�?��jL-�2g
^
�ZO��Tc�:Nb�'ƶ��"�e)�#B�0	5k��"�V,-,2Taws�
�B 
jHq��-hvk�X�jJv�j�セۖ�W$��TU$��q��� �$�]$��	:J�]LL,SrQǙk��P�)YpVNH��U
�t�^$o���p~��E���)�t�߭P�[y�����ip
�u�	^[����̏��K>e�j!�"��Y�a��7�eja����$x�H�0�vf�XE㧆J;�$d�w��79�81�
�}����d��n-��T}1M=�߶����lN]�(���[�ki��%0f���
+
&��@
bT��+�Y�a�.�-���
���ѝ3�{��c�֬��[
Rw�Y�+�BPw.��V����
9 �0�Ţ6o���d
'��������!�S�hA1�#n�1�L��)���>�`�`p�lTf�fN�
+��Y1���{���oCW
�}�H���
+�(Rm�1
����<
�؜R��\�����
+�����r}���t֕���{?k
��Ȟ�a�����m#9k�{*|?�ݸe�x}���߾z��,���j�ιv�.�cTpa{�Ng��{�̅�h�h�
l!R��PmݾǪ�|ggl����D��^�@�Sc���"�b�i�nS����U��!���DTS��QSx��
�`
�!

�
�5 � ��.�A�
֐n/j�2k��x�*��v��x��N�����A�+����/��\�T�?4�/�6�,�����j 
V���(6H�ܸ���b�}3ە)��#�]{�AE�
1?Ӭ����}�ӹL6UC
�<MnN`��`
MQp��

]�H��i�q�l(�S�Z&���)��me�_�R�K_�{�fp�������t���0���9��v�]V���F�	N�a�]�)V_�f�y(��
޾��:
B�
�D�e�v��k�
޿��ط���
����_�Ðp1�a*��
L���n��O��8��;8h�K��e�vŘ��	��S1W���yo��ا�BM(i�=��>���Oا�C����3��'+�k�
�����f�
Yi�释lsA#R�A�7���^��^�O�9ޚD��u�:�f
�m{[(��诔M��<�J�M�#)��Zizo�,�O�> Y�AE�=2-��J�	��%
F ��2,O�s�
"0
-�#3���@䀥^��FŽ{jGI�4���� 5��Ф�����Ѐ����/L����-��!����8'#~�o�8.�G�X
/@~=���)19@�IJW�0�3�=D,�F����
+����s�Z*����Q�� �5��|��Ŧ���Z�l�g�#�ׇ�d7�X�XC�u;�e6ؠ�ѩ�������=��
G��np������
+�J�!��(�r����
��饃}��-ƈ�`�)�rFT��o��P\nuf�i=(Y���Aʅ;�r�|���墂�^y�L���G���ʐ��$��onmoV�F��ѓFu�wp"�_X��A�

P<��6�p��
�9�`�R� ѣϥ��@�'
1L��G1%x<�P|���yNK�05X_پ"�?R�H`9}�e%��
c��0Tj���a����8��]Mnf�嗌Y�JQ<�CF����GPTi�B
c?��,a�ݶ��[����#������ݥ։C|?U��6�
��a
�
?l<vF���l������>���_.��&�%O���p;
�߿|yww�6=;5��c���xܿ\|~9;��M�;F�zh;�S�M\��[-��?q���
+endstream
 endobj
-910 0 obj <<
+878 0 obj <<
 /Type /Page
-/Contents 911 0 R
-/Resources 909 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 908 0 R
-/Annots [ 922 0 R 923 0 R 927 0 R 928 0 R ]
+/Contents 879 0 R
+/Resources 877 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 868 0 R
+/Annots [ 869 0 R 870 0 R 871 0 R 876 0 R ]
 >> endobj
-922 0 obj <<
+869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 325.742 126.9711 336.6459]
+/Rect [89.004 325.742 126.971 336.646]
 /Subtype /Link
 /A << /S /GoTo /D (main_BGP99) >>
 >> endobj
-923 0 obj <<
+870 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.2409 277.9213 327.7563 288.8252]
+/Rect [289.241 277.921 327.756 288.825]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHZ04) >>
 >> endobj
-927 0 obj <<
+871 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.8108 197.4672 266.3075 208.3711]
+/Rect [222.811 197.467 266.307 208.371]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHZ03b) >>
 >> endobj
-928 0 obj <<
+876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-912 0 obj <<
-/D [910 0 R /XYZ 90 757.9346 null]
+880 0 obj <<
+/D [878 0 R /XYZ 90 757.935 null]
 >> endobj
-913 0 obj <<
-/D [910 0 R /XYZ 90 594.0682 null]
+881 0 obj <<
+/D [878 0 R /XYZ 90 594.068 null]
 >> endobj
-914 0 obj <<
-/D [910 0 R /XYZ 90 594.0682 null]
+882 0 obj <<
+/D [878 0 R /XYZ 90 594.068 null]
 >> endobj
-915 0 obj <<
-/D [910 0 R /XYZ 90 579.4979 null]
+883 0 obj <<
+/D [878 0 R /XYZ 90 579.498 null]
 >> endobj
-916 0 obj <<
-/D [910 0 R /XYZ 90 499.7212 null]
+884 0 obj <<
+/D [878 0 R /XYZ 90 499.721 null]
 >> endobj
-917 0 obj <<
-/D [910 0 R /XYZ 90 499.7212 null]
+885 0 obj <<
+/D [878 0 R /XYZ 90 499.721 null]
 >> endobj
-918 0 obj <<
-/D [910 0 R /XYZ 90 485.1509 null]
+886 0 obj <<
+/D [878 0 R /XYZ 90 485.151 null]
 >> endobj
-919 0 obj <<
-/D [910 0 R /XYZ 90 395.4569 null]
+887 0 obj <<
+/D [878 0 R /XYZ 90 395.457 null]
 >> endobj
-920 0 obj <<
-/D [910 0 R /XYZ 90 395.4569 null]
+888 0 obj <<
+/D [878 0 R /XYZ 90 395.457 null]
 >> endobj
-921 0 obj <<
-/D [910 0 R /XYZ 90 380.8866 null]
+889 0 obj <<
+/D [878 0 R /XYZ 90 380.887 null]
 >> endobj
-924 0 obj <<
-/D [910 0 R /XYZ 90 278.9176 null]
+890 0 obj <<
+/D [878 0 R /XYZ 90 278.918 null]
 >> endobj
-925 0 obj <<
-/D [910 0 R /XYZ 90 278.9176 null]
+891 0 obj <<
+/D [878 0 R /XYZ 90 278.918 null]
 >> endobj
-926 0 obj <<
-/D [910 0 R /XYZ 90 264.3473 null]
+892 0 obj <<
+/D [878 0 R /XYZ 90 264.347 null]
 >> endobj
-909 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F74 478 0 R /F7 526 0 R /F11 411 0 R /F10 484 0 R /F67 366 0 R /F8 523 0 R >>
+877 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F7 505 0 R /F11 418 0 R /F10 473 0 R /F65 376 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-933 0 obj <<
-/Length 3727      
+900 0 obj <<
+/Length 3367      
 /Filter /FlateDecode
 >>
 stream
-xڥk�ܶ����C�t��"����&v�6n� @���j�����"is���΋ZI+�
|�p���U�!�S�&�͒,0Q������
�_�(����v����������&����퐪 �J߾���Q���*
��w}Y��mun����W害���6Ra�7Qx���/o��v$)
%Q���/7?��/o� 2yr� a��ѷ��XG������?�><A
���h�d��d:
-�4��dߗ{W㉀��+5A�� �a[#�_#�
%d�0
�eq�p��I�lܝJ6��US=�Y�8t�ʦ���R��]�:[���]�l�0�6;��VUs������]�Թw����+���og{��3��� ql�
-L�(:L�p�_�{W��D1|���\{�a��{�� )��s}���qIạ�1
ua�mSo�2���6��R��y�
���߈-�(���&
�ȔN�s�&�}��mSY�?ӛ�;we?�E��n�$	����
���
-��mK�ͮ͢9e�6 �C#
xY *�Z]	���ɖ�
`CW��g at 9�7�+@��FD^[V�gh+9��{��fa�ST���:O�BY���1`�F��
���\i��,��o
s
���K�(H�<�s��B
HZh�ڴMߗ;�=m at 3ڶz۞rv��>Ur#�|^�|���
��1�'P�o���2!z���B��b�j7d&@��6��ͮ�,����-Ȗ�ȸῠ��3�г1���|B�3p	x���N�ۆ�p˻8���
Y<�x�:Õ5/���wj� #��'�ws���R�k�̥Y��7Zq!�_��&a6:�y� Cr�S4�j��瓫��N�'ڋ����W�t+��j:�<��;Y}r��y�H�ٗ<�����]u�|����P�o�l�	;6Է4�|�3~�S���{�W=��y��?�����O#7��  	��@T�
Z�-�(W�>t�mF&�2H1>�mNP�ݦG@������h�Ӓ�� �
-c������	�*�c�|N��$��W�T�
�b�j�������	E&��8��z���n���3��ʂT�1�Q��xS�T5�

l��N�E}b ��Ȭ�(����
�=���f���h)�Hs�
$;xf|��1j6N�i�ǣ�wVVAVY��oh�̘�S�w����
E��i��}7��N�/^��t��ߦ��
-�y
@��,.���z�=
wm�$�3����?�q�'��P ��Ԃ�U��Ĩ�#�8��
-���Y`c*�
�%�@^e�>l�G_
-E��p����8y��F��t��x��Ev��'�Ȩ K#�`gyG
�)&L
�f̜	J�@(\
����Nj�"~T̻;��1thoJ�c��,5hN�L2

-�@A",�i�Ma)�Pab���֘�ho�8�X+�>؂q�(�L�E��G?�Lªq�ޞd�6�_!�|I
+q��,끔��%��d�#��	(�\�_�0�%N��
��4k��JRX"HH`\
;,ҺI9�f��}j8�!f?�DpT��A� EU2��Ρ>.粇���4�(>#c8
���\�7��/�s'V
��.�ߺ��Э�<�|aV�X+� |"��Uk7����״��ir;b
pM�3��P{�ot1\�G�A5�(�鯼X�9���>���2�F�
�k9u��?Y��^$	��o�Al\{�!^��w���EW�B p#�f��Ky��s-���<b^an�7tw
o'�X��Y)_M�/�P"
���~�CD>���L��QA�����&�E)��u�� ��9	��}��X�0������
V�(����F�
k�Р�����\:f��������b���g����~��"rj P������a� �{ŝ�i"�"ް�f����5�.����,=��*��#C8 PY�+�7�A�Σ
 `pű.9;,�������(��;�<�+ܜ�7�w'�@aX� sTˑc+�]�����
�dA<��P��%�Lr�׸Y
-n�vUId!-�(\��$���� ��ۗ:���>�v��_��� ��TF��]�?X�"b)�\�>�������ێQ���d�1��A�G��t�+��<�`N�b]@O�,��Yd	����+t���$S�����=���:	�05�
<��epӒ0Q1<�)���E��Ԕ� ���lr��1m�C��Y
'����Ne]����
-�Y|�^pT�+� $�v`*%��
�2C�c�9,��2�g���p�v8��s��ٝ�C����r���
s�ޓ�`�zV7D��=�RRnz!�誖!������Tn�,��'	 p�^��|[:�6p'��D9E��	
�Jq�� �iBʢ7/m�6[�f�'��A�RB��{v���R`{� ��
-�q�q���
-�5�O&�$��5�	������ ��{�"GG1�x�B"H�-G3�
-�hxd0�z��p\�~��;�z�I|���([ϜIM�rma������F�u2I�D2���D��F��ă ;��s�Թ���H�8���Ɠ�/_�`�����X;��@�s�����sf2P���G=s����p�_���
�m'p1�YIRDc�����.!�^G8"F�j̅,���BNY^�p_��� �o/�lz<��GV�z��/">N��q�a?�ԘD�}O
_&\�˰�"2���j�]�Z`�N�1�C���Ֆ������Io�%��@�3�l{���&�<��me}���j��%�~��<1����͙�.��H%ɤ@|B�O�T�֜f4�$Ù�6
�����d����07:ʱ"n�{jMDX�3��S�i��r�w�H�Aw��P|�xd�=�w�����yՏ�`���e��#����(<�V�X�
d�l�*�xX�
4�	�/v�ʛ/��8��E�P��1C���,BvUˑ�,�7�C�ɬ��M�q#�m

Ɛ��Q
-��@OX.������
-��_saq3
���O��

�*�$���'����
~�Ta�D5���H_
��(���&��
����W�`8�n��`�7m��I�<�U�^��z�����"���(��*��e���=�|�J6�zq�
� ���8#�5
��a@֩���0�&�z��X��^j��Ԩ\[@~��<'���83X �<��0P!OqM3�I�ˬJ��Q�h�e�+�e����ʓ
����Pg�&a����$s�|�	Ƭ��b� �� G�2��Tʨ@�H�c�����S��A�"�$�\D=P�X+_ �]��E໰��_�
ǁJ#��W
1�W�2�,;J���4���An���*�8�/�{f��J�'��31`���r%xSg�c�sɨs�U��tN+}=�n� b��B�L�]�{Z�{_�o�\ �ջ�
P2�^]|
-�N�E��a�z|������j�b�.��g-����G\x�����5 ��p�|0��@��7 �y�.� |��0��J��.[
<�q�}����y�?��V��2l��D�[K�I�)�����L
{���S�t�JQHr�D�m�ex�բT��"�w�>;�s�6�@r�����t�Ǽ~|LL�$��Q7��$��~�'?V
6j����dQ.�����}WT�_/�s�	�?Tď�3�������g�
C�fm!�������La����x����s���l'+��/����|
�����A��l��
��m���E���|��#�/3�CMdF�3^>7����&%�hSW��Ps���b�%mendstream
+xڝk�����
+#_��:Qo]����]�6���
�L���%E��q~}�EY��iZ`���C�p8o9�<n�͗w��߽�"�6�_�a�y��&K���j�~���)_E�[�������m��p4<�����?�o#ġ��u���w?�)�l�d~%��t��c����M�GE�y"��&#x֛���y,�K��
#?  q��jo�
+���B�j��y�<�#	f*�(tOǪ<�9��k��NTx�^%�/]�V��9��^�C�6�����X	ڣiL��j8ߧ���Q��dW]��}�xO$OD'y��hM/��!�3eu8_��5[<�f��~�D��R~��\j����ܛV$
+����-�c���9�����l��خm�Ӓ��C�C��
��MU�g�p�����R<�<�fp�/ĖP�
+On���{2���s�}��][k�?
����Ui_�o�$!2�
@�q˩ o�:oy�v$� m��V&<p�@T���*L�ۓ��	:"���2�ρr{֔ Bb#�
�:�,�G��o���>��/�X��N��gސ�e��|#�zA�u����gt��g1�5vx�NW�Se
�9��T�=^�9��������ܵ�G�{ᕖA�[]��b�O��v�Y�L�4����W6w[*­��`��)e�B�Q4a�+^�!1
��
�B�
+ϓޛ%I�"��!�ʵ���}���!i� �M�lRS�95�!9�9���j>�x2�`�d�KG����-��3
o���XBg7�N����'���W��޾:��4��Ջ�+���@/�� ,�=#A@`SCUKc�
�q{��^��`���ž�5��8����s 7��  	�򀟖
:�.�(W�V�{
���7����3�Љ�=o�@�㏷����i3!r�q{�
�1p��=�V��3����&+&C�s�� �
L�� ��Q��Ms�K$;8f�{�1J'ߵ��h���Uw��+�wȡ�O�a��A2�W�^��d���9��r�r��0�lm�g<GVϲ=u�.�Z�<U��p�^�m�bּ;�7@!]
�L'���
+
8� F��8��}�P��'g0Hp~�p:@��(5���
¦�Wŷ��ꁱGI�r2�U��8p�K�AX
+�k���R
u�.=t��vC����I�Lq�~:��cVM{Y}�њGa~\΂X�_"9�
��" @�����=�L@�c��D(�!NTW;��<�̢�d��rGWo�{�E6�$�������b�+�
+�a�l��=�<ei�*S������c�ܼ7?�UoN�: '
�g��q2�a�<�P�0-|��G ��A�굃q��s� �c�X%��(�U��O����Rm�>a�G�e_�F�bv�Ps���SW���.:H�ȡ�J�#��B�&$(ƾ�1����<�(.�Ɩ}�	e ��
�=�,����t��3^�y������1����.�Ur�U�s��i@���a	�\2+����@~Ѳ��������*o�2H�oOB�1ϐ�R5�7�pS5�j��[���p�N��
宐y�Fs*�`N�3pL�m6|��~Ԙ��<�i~�ײö�V�ȩ�@3T�f z��g���8
+����yJ�"ް��'�d�:T�!Y	I�A��
0.�zf�O UMɮ�x��m��  �)�M��h0	�
.��ˌm�I�H�������"P;�
e���*�V �F<�� ����:j��3�
�m�Y�
1�Y
+^M�uEd!A�)��iPZ�� �
�[
!��1���}ܪ|a ~2��0���Xbꏈ�psQ^x��G�O�v��;�Q���d���DI��ԃ��\i��~�`Q�yAI��
g��%ٕ�4+tU�GE�v4���_�&~d+�_̣2�iɓ�L���MH��Fy
%!7��
`9B̛[���A9N
�����Nկf��,�
�M��"
B]�R���!(!d1Ɖ��銗�`=�\�Wj�s�؎��gw���
{Aq(� �3���ӷ���!����L�
����;�h~|j���f�h4g�'� p�^�|[a�yp'��D9C��	
�J9�Z�4!c	��ڢ�֓Y�	UÈWI(@�Ď5s�=l/@�R�3��G�w�0�9�<v�drNbخ�޹���� ����ȑ�s�g�LA�d9Z�U�EÙ����qӸ�.�4
�n����݀�u�I���\ +US�'���ԋL�N&�k&�8��E
@�K
`1XN<�3Fp{�N�[
0Aڈ��c5�m<��b�	� �u�D��j��@�s���Bց)3��x C�^q��
q�E~A��r�׽��l�f-I���C�gY�����pD�T�(.dY����Yփ�>�7
�
�<u�xʦ�C.�p���\J~�p�
��PQ���y|�0��auCdb����ֹ����_S@;��R�I��o���-Y(����`��DG/"N	����ZY�f
/²�f݉�4�
>�#��R�B�H&��|p�
+�f����58s�/"�\���锫EsF9��m�H
�
@��1��"�[ r�HR�FНA!1{�g�;���I�
���H��+��G�1V��DṠ�`�pn �dSV�����8��{�O�#�
��^@waB�WaBq�w���#B��
�ޫ&Ҳ0�$�`�Y�Nے�F�aC�G)��7=a�8��GS~��)$�|edL���0Ln�}�A�thpW��Zඎ�NP/=i|#��,�J�){�~�����3����d���tB��

���Q���U`�� /H8өG��}�a
�����D��*.�dr
!�Q��$�"S[)�����sb��n��F�I�i5�kX �z���Tી���pb��qY����ŒM?��eS�8���g
���!H��7�
��H΄���Eݛ�d� �
G.'��grrU(?
�Ϝ
XT�ԁ�8G��Y��"I��M^�q8}�ޛ����m`[m�B=�}���s��� ��_[E%z;=�������6S%f�
׬�DL�	lX�/�t�s:[Q-�o[���1ӷdҷ䦽B����~��� †�*�m�P�j���(Mga���/��;c�E��zl~��o
���É�����>lP��ݕ-��.��x
�8���7���B�:J x��k
\�px�/V8��
�@8�p���(O{�+�#�.@�OZ�t2��C�{6H9W�^�f�9��
�}*�ɽ�w��9�-V�N�*
+��H�m
ڱ��~��4J���S�s�u����~��;�B�Y�KO�"�r��JR�I2�R'����uJ��?�����~�c��nF�MB?�f4���"tB>��w�wK>ާ���hsa¬��)�=C���˧�'����T]�W�ˮ�_�F��.J�~6���
�Rp�ס|	�ҿ��� v�
+endstream
 endobj
-932 0 obj <<
+899 0 obj <<
 /Type /Page
-/Contents 933 0 R
-/Resources 931 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 908 0 R
-/Annots [ 935 0 R 936 0 R 937 0 R 938 0 R 939 0 R 940 0 R 945 0 R ]
+/Contents 900 0 R
+/Resources 898 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 868 0 R
+/Annots [ 872 0 R 873 0 R 874 0 R 875 0 R 895 0 R 896 0 R 897 0 R ]
 >> endobj
-935 0 obj <<
+872 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 684.0467 211.7546 694.9507]
+/Rect [89.004 684.047 211.755 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
 >> endobj
-936 0 obj <<
+873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.8464 684.0467 391.518 694.9507]
+/Rect [319.846 684.047 391.518 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (main_pps_pairwise_merge) >>
 >> endobj
-937 0 obj <<
+874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 636.784 132.5004 647.13]
+/Rect [89.004 636.784 132.5 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHZ03b) >>
 >> endobj
-938 0 obj <<
+875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.8752 636.784 188.3906 647.13]
+/Rect [149.875 636.784 188.391 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHZ04) >>
 >> endobj
-939 0 obj <<
+895 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 606.6465 285.0964 617.5505]
+/Rect [89.004 606.647 285.096 617.55]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-940 0 obj <<
+896 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.1264 594.6914 292.7595 605.5953]
+/Rect [227.126 594.691 292.759 605.595]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-945 0 obj <<
+897 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-934 0 obj <<
-/D [932 0 R /XYZ 90 757.9346 null]
+901 0 obj <<
+/D [899 0 R /XYZ 90 757.935 null]
 >> endobj
-492 0 obj <<
-/D [932 0 R /XYZ 138.697 550.0238 null]
+475 0 obj <<
+/D [899 0 R /XYZ 138.697 550.024 null]
 >> endobj
 58 0 obj <<
-/D [932 0 R /XYZ 90 535.3539 null]
+/D [899 0 R /XYZ 90 535.354 null]
 >> endobj
-941 0 obj <<
-/D [932 0 R /XYZ 90 506.685 null]
+902 0 obj <<
+/D [899 0 R /XYZ 90 506.685 null]
 >> endobj
-942 0 obj <<
-/D [932 0 R /XYZ 90 506.685 null]
+903 0 obj <<
+/D [899 0 R /XYZ 90 506.685 null]
 >> endobj
-943 0 obj <<
-/D [932 0 R /XYZ 90 158.9728 null]
+904 0 obj <<
+/D [899 0 R /XYZ 90 158.973 null]
 >> endobj
-944 0 obj <<
-/D [932 0 R /XYZ 90 154.3652 null]
+905 0 obj <<
+/D [899 0 R /XYZ 90 154.365 null]
 >> endobj
-931 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R >>
+898 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-950 0 obj <<
-/Length 3441      
+911 0 obj <<
+/Length 3283      
 /Filter /FlateDecode
 >>
 stream
-x��ZY��6~�_������!$'GUl'�d��O*IjBQ���Wxx���ۍ(�C���U[[z  6�@_��+~|�x�(�X"�ʊ+ou��Wܾ���������W2\%,��\�

�Y�su��y��-�<o�c���f�޺;)j|�wMڜ7[���_
������/o�%�D��
����_��
$���c"���=t<Ɠ�_W�/\'�zs�ρ�0�
�X�,�g���y2F��
�U���AX�{
-�(D�Z��|�UE]��h�U�겥N{��ܾ(��0�hUN�[�QeY����έJe�a�n�<m6<^�B��dY��

-o9gIr���I5�P5j8�;�c����{ݝfgx����!�s�{�� jS� ��h
2���Jʐ�^�,��#ڎ�
Z[�0��
�I�����قp�������"����
J0�
-�E,�"�p�{�˂�ш��L� @�ו.�Vuw��{0#��
�'�9�<N�O���A
;�o����&�ωb��dI�8�R0��
c)�Bi��4��w?�}����릂ƢA����)Y�
�HB�x���
\C��$�h�	�(v�N�y]	���-�S46oߑ�c�X:�,
߁Wui	{�A
hi
����D�������ݡ��F�[u�vK�"���"Jfg;?9���ɡ�
K</�z�	E�	
-2�1���h���gq$��,��iD���N��
�
�������
D���A��.I����¿��=
c�d,�f����6�	d�G�l�"	�>��WY�
�2��ޜ�Z-7�5)E��
s��
�C>�
K�,��s�g/�)l�����a�Y<��Z�C�������.1�X[�+� C��V<	�&1�^��E_�~WY�}�h�Y`h
��4^o|  ����	�>鶸1Xj�Q��m���P͂�
J�D�
@ &A�z��[j���_�1h�gj��� .��$ ��೭�$	�����YUf���J���,�s�Z P�0Xߟt�hZ�T
���
�@j ���؀��P�b#���e�JA@ ����8���Q
�ABV��`�LA���A9|md�
;fp6
-`n�]EOP'���b~M�.MX]���*���U�q�Q�� �/^��&
�d�ؑ�fQ�
����Fh�U�5������"6�\D�Ԩ��0H&�鷺��4_����8.������~]�"u��%
�w'm�iP@�,�
o
U�]�1):��é	�r#rlj��si�8
���6[�M�Q0�7{�ޱ*��.י吶�l\ۺ�:MF
�����x�j4*����*`�B��ͭ�
���yn|�hh����S���I~�b���.���]���{� �����FcJӝ
ȫ,IYZҴ}E�}��4ޛ�����҇c
�,��⏩l
�%���A 2S鞖1����

�-S����Z]������L&^uR�P��bI��Z�T��f�{|V��֊�#,]�:��9Cj���Z�
�d~<���N�����*�����i�ٺi�T���3���<�B^$�U0KW� w��Uc�O�Tm;MG����Ů��>��JOsp��A
�E�Y
��vj"�{��w&
-���$�b

iƈ��Xf�j�=@Y���)UC�)��U�M
-��
s�OH�:�!���M�m�)/7�ͺ�尐�.�ď��Ԣ�
S
-�gvJˣ1N
D���7
�u
�0Fl�C�\(P:0�Ʊp۷	C :����/zKkl��`�ꇼ��_gǼ�.iW��� �@e�R�ٛ #$�kzQ at t�M�^��&�C���R���h6j퓆�=
$E]*
E ק*�[s�Ah
��+��z�(��O���=�
���D
=���#tb	$ ަ�6(
ޠ�J�,����6U��a2����
-{h���er�DP�RD��ps�h8�يD�xZ�I�tZ��R�����.�&3}�q��]Kt�p�
�h��
j7� ���U�O�=��B�9�AþM���X�S�j'OA 8����8{t�P��x���
(3=0���c@��b�9K�6Ks ��~t�����XA�>v
�QT{}8�X
U	�o���;1�J#8(


&�eL-�^�2�Hb�V
��/���:)`f��
T�j��N�N���pH{e�#�jH����ԗ{�J4�(���7��#�w!�`���os;��#����|�L�ĮAR�s~h��¾1�1��ڽР�ݢ*dI	S��5�&j���.
�cr���e��
O��d�T�h(��
�5�ӈM�z��BC+�oq� ���'�(�D^7��-z˂-f��A�&=b�j

���rھ��y�dv���A�r�h��fK��m�;�y���.�
-qQ��N�\W�ͻ.�`
/��N�ݗ�cj�܎VK"�����5݆~�х���cd%�E[5ϓ
8�A6��DWl��N�9���Ύ�b����>=> $,�A� ����9����F�ǖ��Y�'v�
t
4�O8���ܘ���;=a~l�N
u�߃��D�ȱ�Sn�/+��e��0}6�f�}��6��Am*>�J.B��纽3���N�'Sw�k��[�0���GdϦv:�d�`�7E3I��7��P�Ƶ[�
��r���՗��Y�%ɷS;� �z>̝X���F�<f	N�g�
=��
��~�O��9���
���#k�J����.�b�-�WK7�nGN��U�%��SK����nM��(Џ_��X'�*o��G|m�
v1�a��ha=�h�
���P�E
��a�fR�
Z�G�h'�N�N}��l�>����
-��<=;vC�G�1�T:HϭF���F���\
����F����M�Bv'{�0K���("�PDE��1
p|>�
|��2
6l
-3:��R�h ���S q6T��W�r+�E(�|	fR�8)(h ���U��$�PO�ߏ[#�c�Kq�}W
�;��\A
!�V�)K�
:�k�K�n��x�E�f��G;�>|
�K~Lr9�R���B�O{����"vw�������3�ο s�o�g���ݗ�q"Z�V-24X����h�@:��ɑ�edưPh[�˭���g:�<�
-N��T�]�:81��:3j�
-�o�Ÿy�	,�X�=%Y�&r���
�qx84e���G��h��1x/(#&��U2s��C,�6�AHF��f���즔Di���T����E��	�`���_mZ.d�l��������
�ľI� h�}Gċ�׽_�!����( ����2.C�_����IJ�,�	�gD�z"��9!.����<���Ej��$��_���h���la�]Z��&!$ 9�F�N}my��|k��g^ģ���?V�����Ä�h�;̋���Χ��o�����Yֲ��u�tw]���\.�6D�c�
�
�2�yK%<��rp�T
��%
��i&�UlA��zA�endstream
+x��ZY�ܶ~�_1~�fc
D�|T�R��c[k]~�]k3��yh=���F7x-u8�< ��F@:���ټ������W��ID�����I�MJ�rs{����Bz�;�8���V���8���7is��y��ݭ'������W\IX��H�1�D������Wgs��o6��xso����z��7���u�L�
��t�'�0 ��\�`��VW%� �8B:��(c�pTn�����<͡*R]��i�U���S�V�Ľ%
U��
�NynU*n
�y�!򴹖�����f�
+����R$�q{V�:V�̋|�ٷ<:�(ؼ��y��*ϫk7�wv��%�ڔ0`�
̺��#�$��
�	���u�-���?���I@�d�N���	��0�m647�.�Vuw7�=l��h��Sގ�L�OW��g��ͫ5&dh&��(�*�"���(+�{"��a���t�痻ԡ����������p%�K���ˍV��� ~ޡ��K"x��լ����_��W�t���
9����˅��;p�.-�
�`Kc��<�Zni��=�����P��S����n�a���/ww�wa�-�u�v�\w�J�a

R`�JѮ�!=W�Q0�Ϛ�t;��BR����SH�2��� ��Y
Hc+�!� ��
�I�ߕ������1�D��/}Xa!��wq���
f	yB�|�u�*����9�Պo�	���s�
"��
�!~��Hb�|��������/d��\�B�H�����K�j�
�
+ �� �d�CX����r��ʺ��FC���B�Z�qs�B��/��t�Y��SD�_�s�fy�
լ��0³��TRHr77�R#��ƍ�V�4�	#�P;�GY$%��` �m�ˠB`>E����Ue֨�W:�
��.�j��G�{ֹ�iuSa~��jȧ��8�J
9��#�ep�e�JAH�$dEl
ѾT	{P�Us4�!SP|\'�8
+_9�A�c4a� ���*z�J3J��P#^і��qޞW������
��{YCS�8�X�4�'�͢j;j�m�6#4����U�ҀQF."j�jnw" 7C|��Mק����R��P�@T)�i�.i��I��ỳfyP[O��⭥J�QS��?��&�zd��
�!�`D�㓌����c���
��`P����ΘC�20\���:/F�kz�t�j4"��,౩
+0Z %F:K�л{��&D����8ܟ�*Y��F zc��F����w�X� � �#"�#��UMwZ��
�(diI�
���_h�7ǫ��uC��RH9�
+
��)�����L�Z��;,�K8kh m����j4p��I�
�tV�p�'�."�R�������ej�#�.]
�H �Gj��Z�
A(�x(5�����1KP�;�F�Qa��n�����q�L�W,��q�
+&�_T�g���ݳ�1G?��Tm;�H�s�b_��Œ?�c��6x������
�~
Y;5��u�;� =���$��V�$LR8��9z���OES��
+s��V�6)l���)=!mjI�\jz\
�� 
�!�0�q(3��\?V��Ԣ�
S�gvN˓�M
D���Һ��0#��'#J��X�|�A Pg���yϴ���ɰNz�ꇼ���˼حiW��x>�@e�R�ћ��X��E�����,mMZ�f�ggj����h>��Iç
6
j��.�
=?ܞ���4f��
���~��I����{Lxw�&��:z
*�#�c	�
ަ�6@
ޠ�Jy���M��,$��=��
����L.5b�P�H�
׉�
_�H���ՙ�M��*�-�l���G2�7OݵDg6����ы����v�j��VQ�~ph��p"�'��\�11h���ON��ԠHA
�[��O��4;��p|/���
h�Lfz��ۀ(�5B�%K6K���~r�����TA�>���y�(��>^,O���7�q��0%��,�g�e�q�1�
 e@��0�+&���<i\�03
+*�<ըZe���L�\Q砸6��t#	O�N}y��D��8��&WHD�6E 
�Ĉ��6�1�
��
�ej&v
�rl�Cc���3O	f����WU!OJ�< [cn��D
+��&`;�`��^���D�M�OCN���]�ઉ�F�|DX>�W
+
��g)ޠ� �
�'�$�D\7��-F��A��0�ؤ'L_��#����ox�@f?�*�
$/���ܸZB�H���睅K|�\
¢R
+���������b9�D"�
i�G ���~�.3���J�1�d좫����Âͺ2���p32�}����%
�����G��{"�� �������+�y�Fç���1�����)g��%��O�Zw��1?�b�N�\���T$��EN흲VW��q��0}6���>�X�HA��d	�L���Q&��\�wf�,�w��C��&=��t���oLm¹q���Y��w��Q�m&�ڮ��u™4�K_�n�_cun�
���l�;w��kMVy�oY1����硜��3'�M?⸳�0�Y��o��}��S���&Il����t�u;	_��NfN at H��L*��nMvv(CO_������ ׏�����+�b��\�ъ*��8;?p�ʙ*2��
�/����<x4�e!����{�� ��qB<OS8\��Ų*62���$�:v5*��� lv�'fs�I�A0^�
���,gw�ۀE�
��Vp�7��
Gx>��

��9x9x
��T����ǨE��J1р6�4�  �d8n_uʮ�"����r��0;
� ���k
,��?R϶��}>�S��c�"{zGE<^*�#� ��12�t�3�d�Do}ؚ��>����M
+_��Gk�u"���+��
��t�W>/�_ÕM�v��!?�F�/���c��O��al∖�#G��'�<x8�h��1�vɑ32c���V�s��
��畐N�!nS���Ru��P
�5�y��E�Wo;H#g�6�S�c���(mt�K��&�a۔���
���C��^�3��W��U,=�eX��� aB�Z�"�b��D��L�2l%��� ֆ�����?�ӤUD
Es].��FD���#��Y�,��	c���C���Ä ���0 ���~�2��$^3)w�9��?;|��<�;,>!|���9�����q��FHH�қ|�x�kJ����?ɶ�Ю�	9^R���~�������Zї�n���u���_'#)�
�
�֣��]�`��%�M�H�ʴ
+endstream
 endobj
-949 0 obj <<
+910 0 obj <<
 /Type /Page
-/Contents 950 0 R
-/Resources 948 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 908 0 R
-/Annots [ 956 0 R ]
+/Contents 911 0 R
+/Resources 909 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 868 0 R
+/Annots [ 908 0 R ]
 >> endobj
-956 0 obj <<
+908 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-951 0 obj <<
-/D [949 0 R /XYZ 90 757.9346 null]
+912 0 obj <<
+/D [910 0 R /XYZ 90 757.935 null]
 >> endobj
-952 0 obj <<
-/D [949 0 R /XYZ 90 618.1436 null]
+913 0 obj <<
+/D [910 0 R /XYZ 90 618.144 null]
 >> endobj
-953 0 obj <<
-/D [949 0 R /XYZ 90 613.5359 null]
+914 0 obj <<
+/D [910 0 R /XYZ 90 613.536 null]
 >> endobj
-954 0 obj <<
-/D [949 0 R /XYZ 475.5513 513.3208 null]
+915 0 obj <<
+/D [910 0 R /XYZ 475.551 513.321 null]
 >> endobj
-955 0 obj <<
-/D [949 0 R /XYZ 90 496.5936 null]
+916 0 obj <<
+/D [910 0 R /XYZ 90 496.594 null]
 >> endobj
-948 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R >>
+909 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-959 0 obj <<
-/Length 3842      
+927 0 obj <<
+/Length 3237      
 /Filter /FlateDecode
 >>
 stream
-xڽ[�r�6}�W�iCUy �N�Ͷ'��R,%��8�
-�<CNH�e��x�Q����*
.
4���n��4��Ԥ�Zjb�P���Izz�oO��^@�"x}{r���������';��D2�NoW�%�Pq��i�&�˻uY�7���������N�$�Z��(���\��:��$W5�q�����
-���IJ����#TRB�a���x��OnN~��q
v�ܓI�g
M�ѣ1X��ܮ���8[p�&m��%��wm�|9c2ɻ���ЬX��W�u�Dڧ�˗]��cw�g ݜA�J�$�n�O��󃺠��M��M몫�c���X�jY��߄��h>��4ɗa"x)�'���]�˥�)�}�uy���ә�	�~��� �� q.��_z��;�$Iaܩ��H���	B�Xjp� .�W�����*)S�	�
��KM��@9%�A�@����VP��o`{?ĕң��G.i��'�7E���
�����b޴�X֫�uŕ���h��W��\����6�uWna2��E��P�|�\Ȧ.�3�P��X���i@�{��z����hcX�µ>��t�pq�`��-�X��*�(_p�EӖ
�w]�d�{m��)[W����v_��ɫe�+Wy�|pE0�
K��?�Hj
|A���u~o�
�$Ȩ�*��T�zЫ5*�`�Z$��ʛ� �
Z9�j.�._|��ݸWU�~jq����n\�
ذ�a
l�k{_#z����u�Z˃�yu��m��dž�$e���!S���S���<M.�m�t����h�����B�hS���+X:�f�F�=
t]�A:*~����훅��nж�\{�q����HC,�^,�9�@��2��[9
-�Hh����`v����
�`������'�\�C	��

����oi����c���U<
-��!V��5��GטG�
�Ʉ��zg�j�D%�:�#{f�{_�s��jon�eQ-�}B�����lwp�z9Sk�ำٔ��
#�H�N{Nz���c*S�`�C_Rj`��E��0�����g�Iͣ)88]|W R9��P��,;����*
�
�P=⊦2
��m ���]h� ���B3

��C�U(|W��A�o��U�·+ o��
:��p�q�@��U�G�KPC��Qƀ�T��AxB+8��+�
h[���A���a��W%෼;��y��+�H��j�)0ok_w��z��]�L��gơci
- P��T
��C]�<Ƹ�Mf<�aaNHN���`���X�aƟ߽p�V"�e�/��Y��u�D�n�'*�I�(��N���i(���,��:F�x^܋��۾<?||$Kxf��� ���>�7E[��:���Z��~��}�6���`
���yD�^h��&s�S��St��~���<ك����ُ��>V|��z${�t�u���:��L�ƞ��se{�M��=ɱ�r
�/��9�/X*��0ӷ�
��f�,�4��\k��-��}�nlE.�X�ml�S���J�mʀP3��)��JhM8Z�V�#��Ş#�����
b��|k�,�(�{
-<��Ǭ
-R�ei5��(��Ԅ�.�p�W��,�z���a^
ջ��D�<��s�"^q��;�����@��W�s��y^�д��Z^a�9�+at�)W�K(s�C�G$����*r�0�"b1)
��3��n�ɘX(<83968����^�
TR�ʮ����w�4%2�!����馛:�n!7O��z��s
Nm��Mn�`�>�wq�}q�����0O��}��8��i���r����hJ�4�����N��Ml�
B��M{:�-Ifd��}��v.��F�Xw6i��4�.�{�L���e_{�hA���߼E�8͌��
�*�
�8��"��-�t��0؀�٬�{/�*eu�z�y&�|&����Gp���13�!RC�pTg/5U:���}WCշx��#�'�w�.G�1�����h�d`,Z��g���׻�,�\�`7ˇb�ٱ�!h[��
�}������]uW���
-0�F2���Wb!G�����
�!��M��"�����gl��
lS-7Qc0s0���
-�W�9�2;S
[4Crƈ1���8ČWnԀ��W�>o ���5p��p�i;�����|���o�LD�$�<��N�
-�j�:3�x�
$�CHi�K͒�pd����TL���gǕ�RS���\ 	�P�}
�2
��u�������+���ҷy�d}�#j���+0^�-Y|�R�|Nl,���ES���w�X�f#Z�2��w�2q�C#��8��0r���e� ���W���%���SA�y�s��
̐���A�+�F�\~�
-��hI��M]�Ow8���?!��ffH�1""xS
�8:*�>=�����޺�U�aQ?FN4����	�^݅t�s-6��b��5�d�
-	 dُ7�.�I���m���N~ȫ>'���
_�/l`G`o)n��Q�D�7�L�������p�(�p4��=8�#�i�0�9
-
��k������xA��)�
Q���.b�Bp��j�$�X�0����>�#�ه��� �%���6��η��dG$�n25����R���t����dY���],5o݃�޺�|&L
-���^j�vd�
V2P��]
���޼
�i�_oޱ�2ty�.B�C�y�
�w��;V�yǂ7���٘����Jo��24��]��W;��c�^d�{��+8oJ��*�!ܮ��ەx��`���\Jr����3Tr.on'1,��Fg�yCF,�!3�j2��^���
pㄩL
et��qJ#HM�5LiLf;�T&3���s����,S{���w3L�	5?�4M���)�
->T�x�c�*
�Tx��*P��y�t�)��b�S�L U���|HU
�*FT�Ch}��,�?�M�1N�MP@��~�˫ϥos�$���71'�����AВ�TF;����84:xF7����a��V!�X�
-v"�.��a���r��?�@��RH>�R@�,Zl�UtS�u6�R�
\i�J�Y
-A��I
-�P�I
-X��^Ϯ�`:ϝ���-���#|.
Nz)�|A3o������r����5���,e���nc�y
���k���j�B��q���T�ho!��D6TnS����>�Iy��L� ���%u4Ǧ�rY�6�Ӿs>w��h�e�N���8&�,+\���z.ڤA�	 d�=ö^?=+{{�3�H��a����][w��3�LV��b�f�-f�}�!���͛�^���$
��!��dz�
-��f{޺�7�R���b�f�du�Y6+M :�e3
	l���,���P;�fNx�ʈ͜��"�\�A��m��(]>��#����P������� L�j�� @w�?�;^��L�%���{/��n����^j�vB�L at y��R�Į9O��~�����z�C�;-��;��.#��Ԟ�X�S0���X8Bw�Gg���D�8�>ᔽp�z�L��@f�3}�GY;F��7u1�a� A2���������
b�b����}c�����7Nf�O�q�
�g�5�3	Aj��Q&a<�Qo��9��s���<9����3��p0����J{���7��=�m�b>8�e6cו�
�
v�znJ6cc�妌��R�Q̇G1��� 7<�Q��Q|�0��� Lf�a,[H5p�_�KC�䳎W
-ꨒ�����G �M� +
-?�§%~���ѧ���W�F{7�r���h��ۑ6|�Y��nj3���
w"��4d:�
-�I�@3�;�PlбLA��FӴ�ɼ3�Ǒ�B�c/n�
M�2�y�)���
-�kqG�Ѧn��(���L�|n)�:m
-�endstream
+x��ZKs�F��W��Lh��o��؎-�b)٭�9�$,�

 ZV~}��!J�ڭ݋0�y`f��"����>yu{r�c�g:��f��g��TDC���v=�=�!�%���e��wU��̩

���4���+X�
�
�'��'�P�5KJ*.g�������?�H�u<�7��3�8<�����'��=IF�c��H���n���
��ִhP.��:g2H��,� �X�-����CꇢIVM�rs�ws]͡mF� ����۸I��T�K��)�ھ��O��"]�׬
?��&�>�)	��_�s7����Z���ٲJ��y$����� �wùi�����RG
+�U���v��ϊ���f
t hȘ�?��0��W�۩b�	���l'���%-�O��3J�K$������{� F�jmǪ\��mzQc'��j��
|�vn�y��@�2(Wi]����woglq�2��\�T�"�C��H�*���e�.����]���7��5[g�@|����_q�iUg
~�v��ymUe�}��틑ܽ�X%�*u/WI���&՚�Ǵ��<�x8�Ĩ�Ur��q��0R��4��+�*yD�P�&\$M��1/��"�j<$�}.+�8cujc���%*�.[-^%�11&��>1
�gZ/�R�DO1�0�\�U
�$��vI�d
�Nt�D4�6-�]e�����#\W��
+F��']g��k�m�B��'5�<�*�!k+O
D>��
 ۷
z�Ï �]� {���C�Bh
�Y�&��@�c$��Q�c԰�.��I��}q8 �G��O�%��&=�����y�PY�eR*5�e�����­�����f�����&~���v�_�h�����v�w��p��P��S5'��$t��A_R�a��E���	eRD��6/ޤ�("�j�<�}�R"c�Q�eR���jYx1�#�m�w�o�<�CZ�վX�N
p���P���[�5m�cc�KS�B&�+v��
'i
ѱH!dC�5�

��� ɴ
h�Bu�w���u�ɖs{�� Աi�mZ�e����|��Y�8j
o"n3B$0<0U@�)KXGk�����l������4`��4]�~�_޽�R�%�
+��^��n3˓e��!I�0`�ؗ�o�C0�!�b�4��������
+v渃0Y��/�UZ�h᧻���7��:�7�6?�8�RE���Ǡ�!REJ<����
3�C�V� �-�Q��{�̳�V�u�F�A4�/��)</
�t�kw�]e)"N������M8+E�hF�3���RD�!�
�q�Cb
��.���������:.]���#|?D�1��<�0�?����)��pl��)���A�-~����s��I^���?(�t3'�#�
+^Wٺ~	m.l�������G��C�Ң�I1�
��N�у�n�3$Ȏ{
���>]��DA�� M�Y�a�e
+�L�^s��l���
FW����
���k�N����vK���%mFg��4j68
	
D����yq���vW��~;�0)	�Խx��}ŋ,��Fa!��-���KP2�u������d���P6&�]^	��~؃�Q�����
�Ö���ь
�!�d�?���W���TcLT�yxvz�zz���/��*O���W�O�&2䜍����Z��"��M�nч˃W�&�h���:��uZ-S��c��	��\3?�z�����d�����&]}�� �\�*E�3Z2�/��
+[�bY���o �G$�y
�a�q�aͬ��{�1BqY�d���A�h�UX���oٶ'����~O�a6c nV��&�0g��u�<�C�t~e�
l
+#|�97kp"�W
�˦�0���N�r�w��:�����En-
�VB-T�;f��c�j��A�xs�G�(����H�V3ڋ�u�.N`���J��+s2�Ҹ�f:c�i
vk��+V�h�(P~�&_�E����Y��$�P�.�<ƃd�Y�U:�?�=:<��XC�c!I�����U
^�?%��!�)}R
J5pTL���s�ߚ�Uo?��,�!
B���t�c5�*\	nd �=�N�.F�]�}Y}�7�ξ�/����C/p����1��-}�c�XɅ��5, �"��aLZ����psv�A��I4(q�����-jD �J�X\�뀋�x�A����&� >D=��:��`R}˾�euwz̐((�������W#`~z�QCB�p_d�*̚��.?�y �\��M��=�-dr�]��]�]�A�"����B����]`���r�B����s�]Ă���
|5��]8D���C@����<��0ah�3$p����,���֦
'}=��ܰ�g��J  ��}��֟�b���J�'�t�f
+��{2j
���'px�_�C��( z#͟���8����2�\
�} �I1$�2R}@
+H�2��
 #��]�x�@1ƀ�C at rH1$\�P�#�ż��(& 2�t��C�|�_2'�o]�Mzea��.�'S���Oi��ٛی����*�<i	3܂�r��!��R�t� lPf��<��Pq�G���U<Lh`
)f[�	���k��h��v��S��](���������e��v1�
���3��e�6i��տ;4��@
+3��wf��7Ÿ����a���j�/����(
��
�Z�>f�U�d��Ӷs��A���UV�v�}k8����/��(H��V�	��§ !�fT�*�M�6?�XYS���$�`_�
^u̞�
P`p�YkF�Zߌ̙�fdƘچ�%Pb�5h�)���K @��
$����R�Όh0�ۚ4�HAZ����x3��-�D}3��cf�C
���s_�B��
�$��%����/]d6�-]�y�g �"K�j�ܜ������>��K'�|��b����3/Nz�s`ו{z���K'j-��|2��s��d��pTgq���ش�`�8bq�GÜf`q���- _�){a>�[L�_+àn1�(�±f�"}��bH�`	�}�rH�&�wЭ0����m1��*�S <��GId
��a����>w^�w^�/��Št���s���A
���|������q���!;�a����V�le�BF����_���Bh���`��������?� ד�O�\��k�6q���
gq�d9K�V?`ݭ��&P�me��b at k���FB�tW����
�n�
7�n�
l����J��U(�jy��`w۲rw�mU�@	r�ʞ
+endstream
 endobj
-958 0 obj <<
+926 0 obj <<
 /Type /Page
-/Contents 959 0 R
-/Resources 957 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 908 0 R
-/Annots [ 964 0 R 966 0 R 969 0 R 970 0 R 971 0 R 974 0 R 976 0 R ]
+/Contents 927 0 R
+/Resources 925 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 868 0 R
+/Annots [ 917 0 R 918 0 R 919 0 R 920 0 R 921 0 R 922 0 R 924 0 R ]
 >> endobj
-964 0 obj <<
+917 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.9104 518.5366 444.67 528.4343]
+/Rect [113.91 518.537 444.67 528.434]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/research/pubs/reports.shtml)>>
 >> endobj
-966 0 obj <<
+918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.9104 474.701 420.7597 484.5987]
+/Rect [113.91 474.701 420.76 484.599]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.comp.leeds.ac.uk/hill/Papers/papers.html)>>
 >> endobj
-969 0 obj <<
+919 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [227.3474 318.6611 330.9589 329.565]
+/Rect [227.347 318.661 330.959 329.565]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
 >> endobj
-970 0 obj <<
+920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [348.1183 318.6611 511.5056 329.565]
+/Rect [348.118 318.661 511.506 329.565]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-971 0 obj <<
+921 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [211.9318 274.8255 429.1174 285.7294]
+/Rect [211.932 274.826 429.117 285.729]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-974 0 obj <<
+922 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [123.5939 120.031 340.7794 129.9287]
+/Rect [123.594 120.031 340.779 129.929]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-976 0 obj <<
+924 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-960 0 obj <<
-/D [958 0 R /XYZ 90 757.9346 null]
+928 0 obj <<
+/D [926 0 R /XYZ 90 757.935 null]
 >> endobj
-961 0 obj <<
-/D [958 0 R /XYZ 118.4032 711.1102 null]
+929 0 obj <<
+/D [926 0 R /XYZ 118.403 711.11 null]
 >> endobj
 62 0 obj <<
-/D [958 0 R /XYZ 90 694.383 null]
+/D [926 0 R /XYZ 90 694.383 null]
 >> endobj
-962 0 obj <<
-/D [958 0 R /XYZ 90 666.0872 null]
+930 0 obj <<
+/D [926 0 R /XYZ 90 666.087 null]
 >> endobj
-963 0 obj <<
-/D [958 0 R /XYZ 90 635.1941 null]
+931 0 obj <<
+/D [926 0 R /XYZ 90 635.194 null]
 >> endobj
-882 0 obj <<
-/D [958 0 R /XYZ 90 602.5964 null]
+842 0 obj <<
+/D [926 0 R /XYZ 90 602.596 null]
 >> endobj
-790 0 obj <<
-/D [958 0 R /XYZ 90 570.7159 null]
+752 0 obj <<
+/D [926 0 R /XYZ 90 570.716 null]
 >> endobj
-965 0 obj <<
-/D [958 0 R /XYZ 90 515.5478 null]
+932 0 obj <<
+/D [926 0 R /XYZ 90 515.548 null]
 >> endobj
-967 0 obj <<
-/D [958 0 R /XYZ 90 471.7122 null]
+933 0 obj <<
+/D [926 0 R /XYZ 90 471.712 null]
 >> endobj
-929 0 obj <<
-/D [958 0 R /XYZ 90 415.2987 null]
+893 0 obj <<
+/D [926 0 R /XYZ 90 415.299 null]
 >> endobj
-968 0 obj <<
-/D [958 0 R /XYZ 90 371.5826 null]
+934 0 obj <<
+/D [926 0 R /XYZ 90 371.583 null]
 >> endobj
-775 0 obj <<
-/D [958 0 R /XYZ 90 315.6723 null]
+738 0 obj <<
+/D [926 0 R /XYZ 90 315.672 null]
 >> endobj
-972 0 obj <<
-/D [958 0 R /XYZ 90 271.8367 null]
+935 0 obj <<
+/D [926 0 R /XYZ 90 271.837 null]
 >> endobj
-723 0 obj <<
-/D [958 0 R /XYZ 90 216.0459 null]
+685 0 obj <<
+/D [926 0 R /XYZ 90 216.046 null]
 >> endobj
-973 0 obj <<
-/D [958 0 R /XYZ 90 160.2551 null]
+936 0 obj <<
+/D [926 0 R /XYZ 90 160.255 null]
 >> endobj
-975 0 obj <<
-/D [958 0 R /XYZ 90 117.0422 null]
+937 0 obj <<
+/D [926 0 R /XYZ 90 117.042 null]
 >> endobj
-957 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+925 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-979 0 obj <<
-/Length 4070      
+950 0 obj <<
+/Length 3277      
 /Filter /FlateDecode
 >>
 stream
-x��[�sܶ~�_qo�fL
-�I�M��ĉ�Q#��$�}G�8�#�<�]���. � ɣ<�����], �÷K���GW��R�&�
�Z�/������N
�<�^?^\�Ur���Z=>
�&�Q�z��
ф�˘B����]Y?7�a{Ie�����+AyBx*�>�s�������%���y���ڀk?^���L�>�I��l���w������v��t���`0���U�E�)�>��Ʉ�,�E`ඒ��"t
-8��_��a����(�	�D�|s�A{�騒y�RA�i��Kr�TF���*o�W�����R9ѝ�����<�6����~˟.���.)a��� �����*P��>պޔճ}�m��î�U��e]ٶ������к8�fo�
&��
cJ-��QǼ)w_`pʢ��>�7�$��{����˶�ݗm�i�a�U��S�)��F)�8�0eβ�Myț�D�j�sS�߻�-���:7�i�kU�l�Pͱl���}�Q�7{�S!�
޵9LA��[���p=aq�/S��|^���j��x�@�%��Ji�P鶵������i�G}���a7o�m��]tx۶�ﮮ>����ɩ*MR�W�'�y�ǫ���e	et��$��ĩ`oOl�S�x�.<U��t�
þ�l
�
-C
��a�2�<h�5
u�
-vi86�0���<C
�����]
���
�n��l
+�0�Q��0bE��j���B����>A�8Dp*x���e#������&o�#E��Ƶ��L>_o��h��
J⟌����''-6e[7G�Wo��񶼂=
�!t�\
-@�uQ�
�MT`����
[�^���%}��hݬ;{n�Ԙ��%xQ7
��z�42 �7��PW <���,"6>�O�缹��.l��h��]}@���v�"��
�zI#
�����k칭�����T7��x�,V�;�ӑ�h�������x�+�c
g0I�[�W��!.��'iL%w��|Ӕ��������E5ǭ]

����/�����c�ؿo޿�WГX�;o���A|�o���z��.�l�mÁ�o
ƯO���ک��`i�p*P<5���#2���S��<Nu
-=N���8��5&��s�`��[����5���kp=B2h���Se�
�ͬ����t�23����}s�`�{q;
O���7ű-���q�%"��YD��
f�n�礈����}a���@r}�Htjk J�S�]4����E����{Ӕ;�z
M@� �
-N�w'2���4UN�P��m�?�u�Z~��U���� �f�
� ��a~{����<<�Ə���;f&��m�S&�ogaAJ 
�/���4

-�|���4�@]�C�3`C\��8�`��0���d���[�m�NgR�aGBؔ���\T�C��ւ9��P؀�R�V���ZVG����s��&�Pn
�GQ��Y��xo�铍Q��RN8�R��g��ٸ�7��Z���Q��i�w���m��Zѻ�-��e���E�p�Я�%�
�\��
���n�i�� ���z*�����A$�����;�1#���;#I&���@-̺ޝ��
�<�X���IƉv6����3)��s�nfe�9
��� P�
8aw�ú43�:�I"���ĺ�w���Ȝ��j��k�I;Dz84�
�1X���$���i����<�ȗ4a/�3|�Y4�z83h4
����t�O:&
��"!c�"l@ݹ_�&�p#�S�&(�EJ��	�zp��N�N�����H������


J=.>�

	�ea�U��>�/>�.���g�>3a���
hbZo mxJ�D*��~������.ӊ���
8GZ
-0�8ڂ��ԯ0�'��B�f�^5Ok>�:�>��B�-���x�3��m�n
R�
��
 ���
5��:������V#,%���� ���
��L�v���|�m�S_Q��uS
:VJ�}�n�M2wR�����!��!��̕D���0ǐ��adz\P�%i�ex^�OI���w�1<Ç�@��wL@�b��
��Ӛ�w�B���B�8�ENF��"��
�g��x�m<��|
-U:�W
�Cۭә�xNh�$U{��=�=�����&o� g�)t��&
��b������u�Yh�F��4���
-�Lc�lΑ�yCd�-����z����X
m��3�� ��Gڂ�����f��sĢӠ�tt�Y�
��;�@(�Ubr�)w�������Ox�a� �q�C���=��+�CDe"�gY�Q/�ϻ
��e��>���t� �}��Н�ԯQ
}l�
gn�v�ڮ�aH���� 
�sXr*$
�����`~wWDQF29�~<���!��Hp�>��z?yw��T��J���o]���2��&��w�7�*?%u�<�
��c�Ƽ�Ӛ:򎉵E������@�}�Y���_�,:�
&���
��M�T��h9��"2�e T�*"s
 e�N6_E�)>�z-ز8��[|�?)�A
-�Y�!(��:��O�rTY0����
�E[�`�l�
�
/��l�_
�l�:^Z�T/�8��
	����b�c���D�0�3�9u��@MU[{ܮ���6İ6P�I�I���r��
�\��9�
^ϧ�K��
�3-��Q�rh��\u�wp�MQ�1�$���ۿN�bl�˯�bΙ�}�$�S�@6��5�N�?�;���0��}���S��0�/&��^{jmT(K/$3��<�t
-�DH�����:O*��
� �x�B}P��p�T:P�
�P[8��YPa:����
��& �>S�����
|MdL��רeyK�%,d����l�2��2��k��P4p>N�G�P�%S��#ʇ2�o�ߧ|3|�
d�:
$ �h1��1S?L�{�&��<e|Z&�*�b���+X���]�X���2>II"�
�8
-�^k�W
-Sk}�#�C��Q���@���/!S�[�`������+�J�_�?��
x���R�鋯���=�oqb����PY²�3c��:��C�
YZ�g�)�/}:��f�W�y��-:��ɨ�/����"K|Fѝ��>e��0lC|\��s�ue
s0�(
���m��m�X|:!�C�{������!g������ԩ�b�YT����~
���i>��WM���(
-SjGJ��(Ct�� ��k�~�s���B��W	�u_9>�\HK|�
����l���1w!md���i0�Q����q�vZS��p�Xs���������e�Ϧa��"��7��S at R�E�O

�$�
&����
�
-���N�
��tB1���pZd�el�z�~�p�X�:t���
��2�5ub���֖1�Є���{J���KL�r�� �i�^i2䨘��U��
��AJ
�t`� �s�
��e��v�dgRj1N�y�R�.�擔D�)u���oO�a��X�=w��kRj��`^l��iL6���	5屠���B���k`-N{���8�R��4�+�鄨4{)���c��L�9��T����*ct��8�:��T��džï��mw	��)
�E1�!^��`B�4�YxZ�&�gØ�r�T,DZ�5ȽB���B*�8��NF�Oe��M0� ���-;�RY9����e'-U†�`��P%T�R%SJ�T�܂먒�?P%s���C+�LJ��^/��=W�K!W��]��[��ؿ������m.
�q��Ů05E7wTu��N�?�l�Z�HT�_;;sAltt��������7&\��
,��^�����CmS}]�4����
7s�����A5�f>Bfgn�p�����<%��
��N+x�B�����}

k3w_���:
(?�������i=3�
-�����ӂ��j� �]�Cm�j]
׵��p����c�b�+lf0w8�¹��
�����g�fE�T��?�2��
͔�i�Jt��ؓ�9L��/zK�-��c)>�����h��걻5]��o�݂26����,����4
h)��:�^������]H.����
 �؅�J_���d� ���)��u��Din���N�$>�� �[�endstream
+x��Z�s�H�_��CU�o o��d��S�Ȼw��<`�%*t������== ��c�*WuW�"�����1#6YN���ɫۓ�7FN"?2�Ln�'���Z���b���>W�g�y���<+�U�YM��
��n�(.}&�fťD����ɿO8ل[�:��'����'6Y ��	�eN�Z��D		�|2?�儹�G�)�g��ߏ�~������mv�F�^�|�v���L�{/���_�WȽ�)��s�k��)�sǏ��.
���~*�w?�
�i������Έ_���Ji����X�W�+[o�t�M�deA��޵/�VQ��3��3�}
�Ɍs?�n����
/��:]�wШ���,ş?��)�U��p�*��/�x�VEI\�4�X��{�m��px����y
7����V4�~-2�,uU�Y�Tl��yq��&86��e���p�5�c���l(�
��,���$���8��I��-F�-&���f�����ׯ~R��"�T~֜�l���
��c�$8lA$[u����VgR�>��g
�b`�w߲X�C�`���N�_��u6+u`m����P��!���l��H�f�"�٢Ν�"
-��2I,�3?�t�L0���J7|`�"�C��Y]D�P��y\U%ZG$�sG���?NVi�6�G��;���)�*�:n�Ț���
��	Dc�;	�E���
+���). at M:-6Aa�J����
��*qU�������i���)
��>׫r
U�Y���\o��6���"q^�7_a�%lQ^�5�����ID�3�\��z��e�`�UQ�4���/�]���2IU��\�If	�p�P�'�i5
1��.8��֛x��Ԓ�`Ƶt��xQe
���&�
+�����zEKy�St����o�wiE��W�7�Z2r637����}�"^�ƛ2G�yR�G ��y��@�X��l�mڊ]��kp�
���>B(?�c�w��A
WsԄ�A
e��CrC����nk�v��9w�ն ���A��I����M��M�
q#��U
w#�
V�N��
��-Zy��~A{�Ckr
�9�
+�m�r��/�U��'i�v��y���G�̉p
���ך��
�
���
���8Ƽ�6�x�i��Q~}���f�4�g �
8�>���
�_����3l=�I��iҬ?��E�s�vhz�T�H��
"�ȧ�
�
'3
+ȀG``��"-(<�h�I�͒4Xߎ�Mi1
K�6�Z��dE��:��a��E�&�q�
NBﭓ����
!$z
!\>x�v�F���.iN��W�`�����pvW7y�X�E�V���^b���`t��
�`��Ґ���0	/�Yዦ>�]l�yYܧ�k�8�?�f�]��]�'ثÙ`~��0���`��v�ԉH�?����5���Wi�l��Z�/��M,+�1C܇�8
�8iB>�G�$��9
�d��!��1^�W�c�}���:�H�������]�q��g�����I����(�ڗR��X=
+b���A����0�1���Ӂ�0I���
��� �\�=c�
��Ӣ_�(FJ�b�;�
���]e�E�I� u�_�!�4
5ߠ�C�#�ݮMԯ�l����7���2c�
�xz1����G�9� �
1(�<��*��
d/*`.<�^�R.p6�-/��Q�2L#�IbX����:S��� л<��tݢ<�3�"嶫�i�T٦�9��N�U����e ���C�LI	T��\X=���.����B��x�^X��})���s8�[^Dˑ=7�M�u��n��v]����H�FL�F�v�d�݈dܻ����
���n7�{��Uq� �0
+��H�U��jq<
w��s��uF�ȸ7H( PU�T"9��
QQH�f �Ѐ1�gQg5�ݔy�o	l���֍�S�+_k��w�&�j���0��˜�����aԁ�4��=7����d�f�&�I�M��L���)=�4�x�	�⇝��Q�uI��ym8&���!�$̏+=t$q����K����.X�Ga.}
��<�\���*�O]'��P��u��?�/~Y-]θox��cA�t4�V�Ya�j{%?EcW�
wx"m�/�GGޅ㍗��T��	��r�@�G@�&H��&2��;�88⢪���ž��Xe��t�Lō0GO�P�v
+�'�E}OI���	��u�����/ԩ�C�h���,��R+[6�^�+á`�jKp�v��tb��T`)��9�oI��i��|���&vl�e@��Vm��rFo���ܥ����zS��
8�*-��ʺ�5�m�4���ߦ�i���S-��·�'����5� ��^�mz0�}�6���� ��DZ
�@�p�Q
�(��6��1���E@�K�r�'67�Kb�O[@r�w�
{Q(��o!%�B�Z�q��y�
F�A�a�Cſڂ\�b���؇�0��L?���#�P�4�A$D��:P�*9�����c�'�>
B�ʢy�
+�>�Å�xh�wp�u	�jҺ8x����s!�'�`���d?
�
�J��k;�#��=ۃ�0$� 
�d4�Rͳ��?��/ִ]�&[�z��j�(Ï8_�U֬��i��2z)�
��J
�=@�4�Η�l�O�G�FL���|e0qUె�E
B���U
���m�~s+�j��!���W����˄�^�q8�|�S;��~���Nx�j_
~X�CT�a�����|%��b�*�|�4d?
�?���V��-9,l�.v��=��
|�n@�p�#9���a�0��m+rX`=�ÆU���as�0�
��zJ�C�oJ�xfx�TQ��Lq����P��U��5
|��
������\�E�
�6��Jm��X/s��=X��|�;3����
d��y�]�w�n/O5�$�[!6���a��7�{�ن�B���Z�^�@B�<�Qv!��!Jp�'�<
����\��e�l� t�(
+�ͷj������6��x���B�&�߸�
��h޻��Qw�3k�
Ӯ�u�s��A �ûY��u�j�: Dx����]�H�������|�l?<r�#���#W���\	I
f�"��./��^�ы l�.�$�Ax���"�R���pe|1�9���*
+��8�<v��Tq�duR:Ư������4�+�$B��������ф�ç�
����m�(���ۡ�ȥ�s�+�{��#�+~�Ww?]��?Н��I�m{ԍF382@"�i��*�r�?�
�-��𭿾Ay;��p�����
1o]Vn
2�o
��M�y��
+endstream
 endobj
-978 0 obj <<
+949 0 obj <<
 /Type /Page
-/Contents 979 0 R
-/Resources 977 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 908 0 R
-/Annots [ 982 0 R 985 0 R 988 0 R 989 0 R 991 0 R 993 0 R 994 0 R 996 0 R 997 0 R 999 0 R 1001 0 R ]
+/Contents 950 0 R
+/Resources 948 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 868 0 R
+/Annots [ 923 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 ]
 >> endobj
-982 0 obj <<
+923 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [211.9318 696.0019 429.1174 706.9059]
+/Rect [211.932 696.002 429.117 706.906]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-985 0 obj <<
+938 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.9104 473.4614 331.0959 483.3592]
+/Rect [113.91 473.461 331.096 483.359]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-988 0 obj <<
+939 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [204.8624 385.1675 422.048 396.0715]
+/Rect [204.862 385.168 422.048 396.071]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-989 0 obj <<
+940 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [292.3306 373.835 395.942 384.1163]
+/Rect [292.331 373.835 395.942 384.116]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
 >> endobj
-991 0 obj <<
+941 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.6463 329.3768 426.585 340.2807]
+/Rect [383.646 329.377 426.585 340.281]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHZ07c) >>
 >> endobj
-993 0 obj <<
+942 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [294.32 285.5411 511.5056 296.4451]
+/Rect [294.32 285.541 511.506 296.445]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-994 0 obj <<
+943 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [365.6648 273.586 469.2762 284.4899]
+/Rect [365.665 273.586 469.276 284.49]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
 >> endobj
-996 0 obj <<
+944 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [216.6298 229.7504 433.8153 240.6543]
+/Rect [216.63 229.75 433.815 240.654]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-997 0 obj <<
+945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [328.1961 218.4179 431.8075 228.6991]
+/Rect [328.196 218.418 431.808 228.699]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://arxiv.org/)>>
 >> endobj
-999 0 obj <<
+946 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.1817 185.9147 414.6783 196.8187]
+/Rect [371.182 185.915 414.678 196.819]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHZ06b) >>
 >> endobj
-1001 0 obj <<
+947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-980 0 obj <<
-/D [978 0 R /XYZ 90 757.9346 null]
+951 0 obj <<
+/D [949 0 R /XYZ 90 757.935 null]
 >> endobj
-981 0 obj <<
-/D [978 0 R /XYZ 90 733.028 null]
+952 0 obj <<
+/D [949 0 R /XYZ 90 733.028 null]
 >> endobj
-983 0 obj <<
-/D [978 0 R /XYZ 90 693.0131 null]
+953 0 obj <<
+/D [949 0 R /XYZ 90 693.013 null]
 >> endobj
-984 0 obj <<
-/D [978 0 R /XYZ 90 625.9845 null]
+954 0 obj <<
+/D [949 0 R /XYZ 90 625.984 null]
 >> endobj
-930 0 obj <<
-/D [978 0 R /XYZ 90 569.4764 null]
+894 0 obj <<
+/D [949 0 R /XYZ 90 569.476 null]
 >> endobj
-883 0 obj <<
-/D [978 0 R /XYZ 90 513.6856 null]
+843 0 obj <<
+/D [949 0 R /XYZ 90 513.686 null]
 >> endobj
-986 0 obj <<
-/D [978 0 R /XYZ 90 470.4727 null]
+955 0 obj <<
+/D [949 0 R /XYZ 90 470.473 null]
 >> endobj
-987 0 obj <<
-/D [978 0 R /XYZ 90 437.9695 null]
+956 0 obj <<
+/D [949 0 R /XYZ 90 437.97 null]
 >> endobj
-990 0 obj <<
-/D [978 0 R /XYZ 90 370.8462 null]
+957 0 obj <<
+/D [949 0 R /XYZ 90 370.846 null]
 >> endobj
-992 0 obj <<
-/D [978 0 R /XYZ 90 326.388 null]
+958 0 obj <<
+/D [949 0 R /XYZ 90 326.388 null]
 >> endobj
-995 0 obj <<
-/D [978 0 R /XYZ 90 270.5972 null]
+959 0 obj <<
+/D [949 0 R /XYZ 90 270.597 null]
 >> endobj
-998 0 obj <<
-/D [978 0 R /XYZ 90 215.4291 null]
+960 0 obj <<
+/D [949 0 R /XYZ 90 215.429 null]
 >> endobj
-1000 0 obj <<
-/D [978 0 R /XYZ 90 170.9708 null]
+961 0 obj <<
+/D [949 0 R /XYZ 90 170.971 null]
 >> endobj
-977 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F74 478 0 R >>
+948 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1004 0 obj <<
-/Length 4160      
+969 0 obj <<
+/Length 3584      
 /Filter /FlateDecode
 >>
 stream
-xڥ[[s۶~���ۡf*w�}���
7vϥI
h��8�H������� ^D�=��� X��������˄\j��
u��_��
T����y	��P�����K%/�8QL]�=��%���n�9�1�%%�D���./7Uz�.��
_��^
-�cµ��Q�
������$����׋�_�������<1��HL��]�/�mawq{�c7�k�
��L0�*C�咋�(�>%edL�Ѱ
���8�� ~����?s�u�m��X)�/��FJ;��V��T�X�D�u�K�Ut�n��J���a�͂R����:��l;��b��~�m?�
&��%�v)4pc��m�$n�GM�}���q��+_|��Wi��=tR,�[�8�7;`�y�U�?�&�Y2k_Oi�H�`Ug
��a��,����W������JWM^��|(+����X��
�nKk��~
-
���Jq�v�)�„�ijA׺|h�M�c�d�:Əy��~��H��nWyV�p9��0|>��86Y�J7�BHX9P�����y�qc�Р	 ��w��f_�$t��=_2�!&
ⳅ��I�X��m"����N���ۻ$��!��:;����"psA��_"��RD�Y]��we
-�Ԣm�

o���Z)�Scm��IYP��C^@�bv���ĥ�!ࠇ$�ԏ�j[�Ey���.-6�t��v(
�)�-P

.D7W8n *U�չ+�i�$z�[_�/\�����uޔU��*)�$�x��6`+7ƕ�>��0�E�*�ъM�d������f�^����ړ]�����P��q?�`���)I:��	�!a�]j[00�
� ���J�{��?Q��kՎ�>[5�j�u�{,a
�k^���
��Z��	`+"Nfǵ��S���.������Ɋ|���i`�J�
a#K`ﷇ
-f _����'�z��~�j�n�q_CQyμa��$O�w 5mޭ�3�wfʺA�6�����53�PR�5���nm	�]o���b
;��ո�
^�y�w�
eE����C� `^a#��l�-�_�����/�q�O���^[�N��+X��T����
k?
��4�E��>��t��vy�w��۴XY�X�=��a^{kW��X���ױ{�+�{��[���DS��xkM����a4k�ۚ8�\-8��W�}�������ģ�
����e�9�s{��(���.g�[j�m�����oc���y�A7b���ñ����/��8a���)�`ۄN!�`�	
F�1�̧XF�u�nn�ȱ��
L���w ��9�^�'�Lш���)_]J�o`O��d����sc�<����ʿ�� �pX�+���� 8���48��	w9���N�qǧ�_���C�vN����I���Zǰ������Ą�2��
��O�j��:�Ս]c���$N�6>�'zۖ��W�k�
]CQ6�e�+����K\��<S��w's�l�v}0Xm���ʌ���X
1I뫷l�
�	�عC��B�uV��9\�u�j���˫���9f�ni=�~�������C�?��:�~�O��x�:I<qAEb}x�&(4�PCb��u��S��B`P&�vcM���
��)/�t^v�^�y!d�
a�f��3�S@
�O,��<!|H�U���!͋S��<S���xH���Z<A
��4y�y�O��Q@dzZ;���y�����
y�
ypO" �՝!��u "$��C��C��C��!�g�C��C��#�j�;(�;q�-���b�;Ѕ����J�Ό�$*z�����=��u�R����Z
�T�
�p��UCX�7_� (��n�ļ���Ư�!�3s���
�F�؀Wq	O��bK��"�B����@~>�Q�F�e��Rp
{s ���<
5w�>��!
�|����eiF�&NX:�����]0 [...]
-��S�d&���l��.7/.s�=(V�\Z����ыw������I�WAFq
�B��(���y�cvC}<��F;�+�2�9��J���G�h� ��p"
N�9˓��SS�;��K~�N��ztRO(�6�\�`t�	��9���
0�5���3
*���a�!�\m��f
m��c]��H��^�[/�2������
��Щ�6E�ۮ�����	K�}��(�"O��;���2e���>
/4wg��5 �.a��>{/F	��O�
<����![��nys� :�|e�#��
-ϸ���F,X�]��^�O��q��K�;����v�*�2Pu��2�mPU?���];,��
Ȣ�k�Ԧ���,7]��I��8�j��׍+�Հ�7��u;���~���N�TsA
���m<bό8~]���BCX�
�
�
D��i�1~ϛDžt�Qq
-}��\�(ȉ�@����کzSJ��Ŧ�=�,{_�1�w�`�j�|�@*
��(g�)X_�Vi�w����^N
6��>���:}�:Y�X�$��@�F�8�Juj&�ۂ���6��%�慛�)��ڙȒ�X-�bdi���Iΐ(��<�P
-�&I��$���V��h<Y�U�I�u���R���S�5ˊ
L���*?��� t�
�g��E����
�6=龕;T�!���.y tp|Tۡ�K�@������
��.�,�)�>�/�� �3�I3�g"}�_n3�H��}�x�a��>+
����q�&�!EOpL"J|*�
>p���D�T3�G��
-6��K�j坡Ǣl�$�H�����:e`6g�Z��
HMc�h���`}Ne����3X5����	�Jz��˧^c�:o����;4��L>�[�����L��
�
�>�n��/��
��!t����puJ�n`b�}�d���|��WEq��5�tbe$�
ϛ*/V9li��h�ϝ{���s�z��¾� ����J���o��Σ���}��G��z��8% �2���Y�B�0o�=�v
�s�N *��x��q@\��
�Rg�n�i�~I��<(�W鮴8�w`�"[y���4�|����ᕻ3Ӎ�
�2Rp�����5 �(��a\)G�=�C޺H<1no�>�����X���]�i7�@�����aB���lbp
���;�nw
-x��|~><����>5�[@Xh|X��<��
�Ƈ�X;
-
��y���
e����'�U�X��b{� COϙe+�ی�.�9����n���}ڃ"�)4Q�-#��w���sLf�Y�I�ox�
]��

��u���/��?;s����C,i�gR�bD���)#4&쉨<�&����6�#b����	��'�y��
�
�nё������{���F���ձ)�.�m��^�
�7{�����1<a=��r���@
@�kK��5��M�U9���p�������P���O
�’��6�]
B�Ui�֮��])+^�!��A��m���mҢ���0T�6�n|6g�Yr���ٹ07�����D��;��qUw��WU���i�6}���^��Y\(5i'��3�m�Ą���	n�uvRc�J�1cP�S���8
N�9�`:U��b
E�}������v��ʛ��utW}�^-�n˅��=6Y��[}(����.
tt@���,��||�����qV����T��EV?�� K{���
�l|�;�ź��c{!hl\��(�`�	���?缘0�b2�gr[��N��'&hieo����P��K�^`F"{�F��T��8_����)Qi:�+q
��q��iL(5
�V����� �C�g�
���.�k
V�,��e�ES���{t`�����ut7&�y�(��K�ES�vw�1��P,�	�X���]�Y�) ��n�1�H|�d
��d�ޔŗ>��f��hΟ���R"�ݍk�
�6?aX�� �XJ>��
-�@�T���Bؿ����&4ġ�0�oU�It	� �a/��e�
Pl��Ͳ:���	ٺ�N��_x��G�#
�T	.��C&�YL4���=x�
�A��<��qg������#�ઙn�	���[yn޾���=�h_V��ȋ �=<�[.���-��endstream
+xڵZYs�F~ׯ�ۂU&47��I��S^ER����HT@���̯����E���ʖ�������s�f���:��?;�2r��fv�8��,0�ׂ��
���/8c̻�
�\U�v=����?߿�).}&ͲK�Գ��g��q ��C����%�����l	�3��(�}�\��������3��N.S��FӼ/_��‡�v�����f�>����z��"0�e�*�*~�Px7sι皮��u��]zq�$�K��k�8�{�s�i��� �л_��q�gW��U�|�N�����
���������!�J
�
�r�9��l�I��/��%g
��H�c��F
+`�G��MZeI���?�M'MV51<�\0�"��uV��%��}�X�I�#А�LkX�[uzе.�qS���tS����@
n��wt�di��Yj�~��A운��M5W�
&XU��7��X��#p����Ϩ >1��?�'��5�B� Q#.�Ѿa!�(:,�����PT—�[�^;�F+�2��x�  @�

4��6-��sF��qY8��6+�`�
�k��zx�Ѓ� �z_$�,�]M|y\�v�*��P�{S
+y�+��wv�����j�:�
+�RF�+�z�埤Ƴ��y�2kʪ~6�.�֢��@_Bc\�Ճ��0h���0Z�����p(�fM�7`��X�����o�e��6�F�!��
�����?�К����1��HQ	V�t�&�e����i�쪹
<��C	�HŬ�o/Xk�d
+�
+�� �2���zj�0�#��b'-�$��i�x�F�
yEx� iw�
+� ]8����`�7h��+'U�PAD��+����b�.<-U2�1�fafY]
IP�y\�%��
QH�C�cy�z7-�ti�
T���F�5i�.��w)�Z9�B��l�*���%,�&v$	���dY�(��
�7��m<<K8J���Q�y��Y�!�O�u\$v^��Z/jX����4`VJm�O�wE���
V�I�\1oJ脌�
�O
���S[����\2��r�������#�p���e��I� �}�iu���j#ۆ�\��lV�{�Zjr����h��B����/ޠŸɔo���J@��Hc](
%�C�§$; ����h�G����p�F�r�XO�0��
sb�E�Z:�
ha��KW�'�`8͕52H���•x�xK8�
�^%X �i��ا>��__3�v�_�c���C���l�6K���LG{ꀹN ��}:�\�/�tV��#�k�l��P�
���S;D�W��A.��J<ہ3����Ղy�1֭��0
9�X
�F�C�j 0�(��b�
z���iئ��eIT�;^���f�>��D�)S+A��:4�8������:u���x�-��ݢ�i
 D�
C��
#�)3�C�+6�i\�-.
*T�X�r)�TD��u�[��F�����Dt�Kp4X��
!"'����Z����Y�{��I�� �
V֌��ᯄ6Tr,�j$��	���hG����L
�V9�U���ЪVh�@h��Uc�U#����Z���Bk��X

-�
?��%���v� 3ދ
�|��=rmˌ��1DD(n�c����\�Ug�'��O�*�e��B�!xRQ�y]���P�Z��������p�Hƀ��:K1���8�ㇼ
�q���m֖�!
�P`��f�CӺi�?�����OjWd��Ϛ��C�Q�Y��¦���Q7�i	 =.���[�i0 ��P������
��
i�"�
'G�A��}�hz/����H��
+�R��*݂���'!dK����@%R�O�]w@�d����N��4�&0?L��L$Mi�IM�=0�n8��%�c�:m��|p���
B�Z�
+}D|�8��*mi�
�u�{ ,��[�k�p��Y�n��h{�E�Ż���kç���P��^BX 
x����.��2�.]�0����m�dq���U`�SGl#|࿩0㸡��imp�&+�?~L��bJ�=��Ɖ��m
+S�ϥ�2�' ���!].�f`�n��B1��~aS��1N�\u	�
%�؃��$�M�l�H��7��u�����ܭ֓����&}tr`S�5B]S
�{��(��bo�j��R@��o��5����^�.���c�^���<?�+��4�
X*ȯ=D�6�z�U�6�!�r�]�=4��E
�:B
ܭ���I�YW{��:��`����!���2���C_�h�1����8���t�Lfg3��"�q�"������H=�+��7a�-����g�H�}w.�����e.Ew���1

�2�cD�
6 ގ��t�4,S8���0\R��6�x��m�r���dw;`ڒ"���6*���|�
+T�]�DES�t4�X��X�Ch��",ܥ�c.�|��aC�q�:��t�"_��7�GB�qf`��58o0�[
1ʃ%~U��I��?0�t��eq
�u����,�!�ݣ�h�2(܎}JM����4h\�i (�;��5#���s���Hx���{v)���K���>T��� 
+�Å�vj0�A�Nf`��WTdX�(���Nh�T�� )�$��@ �d��kGl��2g0�a欞���w��p3�s�k��΁���v�_�X{�=�~4�tD�E�p�8�-δÙ6�	m�z\�I�S�{�E�A!i�T�6��_�eZ@�s�*z��F�� �
�����p�A��G�
�����4�($���|/�ݾ(��H�:{��o��
B��f“)"�w_�8��)�VSBA�]�g�f�F�u�$���X��$��Q�LO��H}���3�BCY�����b�r���C���q������I�L�I���9*��
���(PO�
�(}�{��q�|G�5�Ow���Y((\��
+��5��#\*�xN�pm������9��� <-�ϸz"�TV+� P��Fp�(H��!EI�bה��H����rλ�̞zZ����4��TZ ����;㦴@����0���� �
��9;�
ΚYW(��P�
�*O
ZĖ�XҒ��h��
$\�d�Vt�ڙ',w�I��[��y���$k�p�
��[L��)���P-"���8�.����*��Mo��4N)Hy��S�N���Bto Cz��܃A�"�ͺ'�;č �����8w����8	��Œ�
�c�@���d��n��
	@)�b�^�0_3�HC
*���;�;F�n2'D
�5r�ɣ:yAZ���}�|��(�M�2�
�ƿ�?���0�%/<��ꚼÚx�I--��|�d
+_���z�z�̳O���l�k޾�h���`�\�
���m(�߉"��E�wEF�P��� �EX��ӡ������H/=�|E�9@��a�9���ĉ~9�),���=|�E P�a 9� .B?�_~�R�	�p��T�[,�!��h�#(H�-oC�E�H"��=~�?�?�-��}�o��o�`�Ə�6�u:�V��� ,���]�G�j�Bo�uZ��Gu���l�qcݣ���c`�|�,���'��#��~тI���/R��m>�a�G�`m{ߖ�!�nSV�
�b�;����Cy�
+endstream
 endobj
-1003 0 obj <<
+968 0 obj <<
 /Type /Page
-/Contents 1004 0 R
-/Resources 1002 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1020 0 R
-/Annots [ 1010 0 R 1011 0 R 1013 0 R 1014 0 R 1019 0 R ]
+/Contents 969 0 R
+/Resources 967 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 980 0 R
+/Annots [ 962 0 R 963 0 R 964 0 R 965 0 R 966 0 R ]
 >> endobj
-1010 0 obj <<
+962 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.8314 485.3519 224.4151 495.6979]
+/Rect [174.831 485.352 224.415 495.698]
 /Subtype /Link
 /A << /S /GoTo /D (main_BRZH02c) >>
 >> endobj
-1011 0 obj <<
+963 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [277.9238 485.3519 495.1093 495.6979]
+/Rect [277.924 485.352 495.109 495.698]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-1013 0 obj <<
+964 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [188.7788 453.4714 405.9644 463.8174]
+/Rect [188.779 453.471 405.964 463.817]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/Publications/)>>
 >> endobj
-1014 0 obj <<
+965 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.334 453.4714 501.4757 463.8174]
+/Rect [451.334 453.471 501.476 463.817]
 /Subtype /Link
 /A << /S /GoTo /D (main_BRZH02b) >>
 >> endobj
-1019 0 obj <<
+966 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1005 0 obj <<
-/D [1003 0 R /XYZ 90 757.9346 null]
+970 0 obj <<
+/D [968 0 R /XYZ 90 757.935 null]
 >> endobj
-1006 0 obj <<
-/D [1003 0 R /XYZ 90 733.028 null]
+971 0 obj <<
+/D [968 0 R /XYZ 90 733.028 null]
 >> endobj
-1007 0 obj <<
-/D [1003 0 R /XYZ 90 693.1326 null]
+972 0 obj <<
+/D [968 0 R /XYZ 90 693.133 null]
 >> endobj
-1008 0 obj <<
-/D [1003 0 R /XYZ 90 637.2223 null]
+973 0 obj <<
+/D [968 0 R /XYZ 90 637.222 null]
 >> endobj
-1009 0 obj <<
-/D [1003 0 R /XYZ 90 581.4316 null]
+974 0 obj <<
+/D [968 0 R /XYZ 90 581.432 null]
 >> endobj
-577 0 obj <<
-/D [1003 0 R /XYZ 90 525.6408 null]
+545 0 obj <<
+/D [968 0 R /XYZ 90 525.641 null]
 >> endobj
-1012 0 obj <<
-/D [1003 0 R /XYZ 90 482.3631 null]
+975 0 obj <<
+/D [968 0 R /XYZ 90 482.363 null]
 >> endobj
-757 0 obj <<
-/D [1003 0 R /XYZ 90 450.4826 null]
+719 0 obj <<
+/D [968 0 R /XYZ 90 450.483 null]
 >> endobj
-756 0 obj <<
-/D [1003 0 R /XYZ 90 370.2236 null]
+718 0 obj <<
+/D [968 0 R /XYZ 90 370.224 null]
 >> endobj
-1015 0 obj <<
-/D [1003 0 R /XYZ 90 327.1052 null]
+976 0 obj <<
+/D [968 0 R /XYZ 90 327.105 null]
 >> endobj
-1016 0 obj <<
-/D [1003 0 R /XYZ 90 283.2696 null]
+977 0 obj <<
+/D [968 0 R /XYZ 90 283.27 null]
 >> endobj
-774 0 obj <<
-/D [1003 0 R /XYZ 90 216.8637 null]
+737 0 obj <<
+/D [968 0 R /XYZ 90 216.864 null]
 >> endobj
-1017 0 obj <<
-/D [1003 0 R /XYZ 90 170.9708 null]
+978 0 obj <<
+/D [968 0 R /XYZ 90 170.971 null]
 >> endobj
-1018 0 obj <<
-/D [1003 0 R /XYZ 90 127.8524 null]
+979 0 obj <<
+/D [968 0 R /XYZ 90 127.852 null]
 >> endobj
-1002 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+967 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1023 0 obj <<
-/Length 4133      
+985 0 obj <<
+/Length 3643      
 /Filter /FlateDecode
 >>
 stream
-xڭZ[s۶~���[����� ��9q��qr���s�>�-qL�
-/M�_v� ER�<��x�"�%���
-~���kv
���2ϗ�3v���3n���?���;{�.T��ס��
�!�����n���}
��1����\W�n3��{��~w}
p�30>�K��go�:�vJJ�
9~;��wv���]�1_�X���s����,ҽ�g����q��|0��@��b.��2��>�����x
�&�v����pU��٤a��xi\���>�v���:d�D�)����?������uƅ��K��t�"{�q�x̄��T!�.�uYe�fK�eE#��zi��_ZeŚ:�MJ�u�PK�@
I�SC]�m��EM��/��~�H���vJ�v���|�y�K
���}�IP����G���@z�� c?�i��\����/�<�������&��$95}J`	[hZ�Ԑ�q����<�Hg�_���X(����_�b!��D,�BK��u�c�p�j�M
��Bا�Ž��eR�rRc�4ώ��F��C�W��A�6��3i~d��
�/v���J~|[���ʼu�"h�ČH'To�lҢ6�vxD<�|��
L��Y�L���~)2+�u�<9�i]�p������I+ ԙ
��
-g-���ҾdA��Y�������~w�É�
�_�d�Q
�
n��K���G�Sͽw�c�J�ٜ�ԠYl�mU��^")�˲(S�*��U�ClR�6m6���Jͱdp"��|,��}�#_�?8�@�����S�
��v�
)�K4<�������
b�/ʶ���
�]I��)��ń�r��r+Z�e�"b�Tp4�
�@&e��,YB��L�fC]�fJy$�Ų�_�$<�"��ѐ|B�����h�7���LAY<�Td��f!`��Ƽ�� {B�i���'�ʶ�
v��4O�pj�&��Y
*v\a�IM�c?
{z� �*o�)
¹`��Ʉ�
�1n�{K�m��{�GV�s٤�dE�Z�Y�;�	��ε�C�K�n@́G��E/vh=aTX�
,3�i�dm?{
/Y��	

�
L�����ѣ��
��tG���8+JƧyvT�L�	�:`�ڃG2��aE 0e��IW�`ӽ��p��,
-�
џi��[|���u��t����n��޽`����#m(��b
�f���(�r�4
�9dx�I�:)
-���y�o
��82�O���X�&PI	
- 9_Y�5HC4��_3Xi�L��S��{��;	�ż�	
�?���q6M�{�������
<@|������ܼ$�}!�}����_�dD3��Q �H4�_��h�o���4�|�� 
��1>Z�؁wT��
H��h=�؎;e
-
]ŧ��#����7H���L�$g�!ڂЏx�d�
p
bMq?Ա�DW,��U	W�D��m�e�)�J���5�Βb�
b���{�=�ޗtg�$��[m�,�"Y[�
- �E�
J
�B�r�d'�W��
5��v�̝��#�á᮲ƾD�Ed[����9�� "a�
\CwZ�3�:/l�m�J��1�D�)�V�I�B�;܂�����.��
&��7!�ຩڥ�g֍�C�
�aH] 
��f1*
-[Ou�n�փZ���
�(������cV��" 3	��bA�
Ƃ)#
���~�C�lo���I��r�LǾ�0��k2�t��[�j�c��Y��Zi��\	��pR-�
v;/vIg�qW��5?�U� �q$�Q+=�i��H�\36��ǂ��,;�C����E�U����*�K��wj�H 
>Y����ŁC��T,:�
-��6y�:S��`�ή��$�f��*٦4�uT����4̄ H?(���W��(��ro�]�
-[T(�<��(���e��
��1ɓ
���ۧl�x��
�u/D��d����]����h�91��c'���)O0�0�c�d1��r� �PE�
x�U���2ں[��
;�� "�\��8�SM�#p8��qp��
<�q0�8a<�l%E
Z��'p�c<��o�@!X
-�q���d������m�js�_���|h
L�*�dz�
 ����v�s�ߟ?���҄�[�%�Փ��2�,zF�
�o�	6�z�)@�X�4��s�
�݄
�A,Z�q�ݕu�n�ˤu�y����+7������

- Z�( ɏ��Q�-���β��)]��Y��
����b�^ L�|:��Sij��Mc��4�D�4�I�O�����a^���B��2_=���c�s��ڒ|��_�le2u!ju$�U�ҥd� ���_3OW��6e�]�486$�	��9
--|�"'|����R�6���P�a�����x3�s�ǃ
Ls�
�!��]
�:&
2|)�3�Ч�����ġJ4?V��O���NU(�����n�p�J�+�������%����qϺ��`
-	��U����j�ﱗ~Ր5Yj�I�������w�a�]�1�[��s�쾩I��
#�������J\���Lt>9'�	�!ܺO��
��I `pd؅
��.����'�A��l�O�`�Ƭ�D֣� ��qGʬh��cy
V:�
�
�F����&-�'z�uKL�� h
��.��$��ǖK�?���A��G��Gn�
,�̬��Ny^~k��̃ҕ8�9Zh�����XAx�z(��9")�|��T��7����)�+���҂R
�$dhI
���XM�H��MZ���}4�o'��Si5�\�ƅ� @
3B=�Z����[A��q�I��H|$l*��i�
մ�s���Nh�S<{�n����
����kQN�QM
�|�Zń�}��T��viE����2V�wu��h��ieIPn�86i�Jm�,��4�(�v6'�]o%��31���
�������DŽUg
-L�NB,�X9�o�
������ýL��
����q�����t
����N��{x���~��(�A�4��X�`���1�ØY���i
?RaϹ�`\���(�
�X�5j�25-|WaAǾ l#L˅�l���
��P<f1R��gr�}�I0w��<ғ��ҧ9Z�C�����
�5+ at 8��=�M�M=Y�V�#rZ��+�38�mV��r���6%z��Z�H���K�'����d��d�@GĿb[�}eL�Sj�w�	/�	�Upkǽ�
��ʏ!�	��ߗ��O-�Y�t
~J$C������.�� fư�C���ƭ}Y�i�;���B(�+�F6Q���}�i�&�]i��N
-�m�l�>�hWUZ�֧w�
�48��T��k�
�*R��w}

q#��_ԧ���#p��(Nq� 0fx}��,���@hp��䉺�}�:֔H����Xn�+��`]m7�K��2yS�ղl��F�Fˁj;mX0i���G�PI����Ȼ�ȌAD=�t������q����
-�Ф���.�tz=����0,x�0L��η��<������� 
����tv]J�I)��6/�b�졕vX���yIJ$�3�c�jl
��Vǰv�����i�
�v�6P��T�t�~��fʠ@�����-��1���%����8�����f(��*uv�������j
U��a3�}_e�B�,�Ib
`�d�#67w��E��rm/��N
srQ�q�E����M�Ma�.l��*WƋq%xl]��E�:æ!-ѩ�
��8�
��۵����F/>L� N-
��z�iOkM���
��դauL���J ��b�Q�
-%�+
-��}u
� �⹻�=�i4�~
�=Q��%'�9�~�(�$/�덩f+�}���=^d��uJetiK�Лl\���+Jn��MR��ҁR�'!/�'�aDF�]��SymM�
��eI�˴����uf�!��E
/��p����a龬�/
��l9��
fc��X:��(�j��~3u���oc�4�l�Q\�Ft�O�*�1�0���:�
a�����w��9�(�����+��%ܠHƮ�j'a�����Y�ľ�KL�z��W	&�L֤N��0
P;_Җ3%��],-�a�����4
o����"

7��}��y�
w]h�ڃqG�����ٮ���n��
�K"�pN
ܼ#:��`�eln����Q�=ږU괣
"�COA������ ���endstream
+xڵZ[w�6~���[�s"ސ7%��8q֍���6}�%X�1E*��u~��` I���vOrLr0���7b�刍.N^ݞ��'r�B��dt{?Rl�&<��.F�<��x�c����ȫe�7�1�����W��ː�z��2F�ɛۓ�'
�l�m�q�2
��'���F
�_�X(U6z�Z�Q$$\������ǎS��������I�?���[��1�{%���p<�R���P�}��.�1gA�S�s,�@Cc��`Z,�:oWkҽ�j�a�7s�
L��KjhW�TӒ��'�.
+4UѵyU6$�vh�yitMM�-�^c�h�	OB�3��P��
+�tW�u���؛���4������3��f'b��֛��8]��Z�
� �7$��b��uoVO
����.`�e&��_�~���,�?����D(��J�p�����H�C�J�9�_�3]&�[�fҏ��
e�+{Mx���/�.aa�d���nQ��z
��*,Xָ�n�l�d-�z�Wk�Ʈ�s��(
E�|��LA�y97mUR��9.�s�&o���MӼ�������9
+8=D��{
+�Y
7��B�Rg��Y��F%G�,�PD[7{��Q<8�
���{k� �\�M]-�
R)������i�u�A�$�ڴ�ʽ]k�
�a�e�-����|f�h�F$����
+��'��P8�Pʴo��xl�2>_V]��
-
K�E�Vu���p�����\wy�A��vg̀7x0(�4���=�}%kW�t>�〼��W������.Mc]F�
+M�
�7�A?�W9u! `U��Pd�B6�}V�Nv�*���'�ONb'�J�ۙ)̼
s0 i݌3 �
|�9�!*
�dB� g��[۱ˀs��?��Q�B���=���9��$�͞�>T�qؗ��8�˅O~��5��+9���^��OqtK��l�iz�)M %q0N]�{�<��!Ur<t��!�#���v~��~��Tf.v1�T7U�2�q�6�wyÿ0N�`���3���Ǽi|�Y���o˦�'��&|Fs�ӂ�Q569�
n�)
�|UVE�|'��.��~��F���������[Y5)N��[.��-O�>/�� �u&#2�0�w�����X�uVm�yyz����@BȖ���K8_�����Ek�;�b��R�@��m"��
s���ן�5\����2s`wR����V�M�08��ٙiu����L�v�g�p3\T�]�u�. ��g���+���
+�(�Es-�
+A�Y��ll6T�%_�];��^�

+�� � � �E��91|

dE�[���cD�����
c)�|��<F5
�H��%T��fS�=
���Z��y�qiz,� 
eخ�-Z���fر竮�V���5 훶��6x
W��{S�
9��h^c���#JgOMk���C�Yˁ�m	0Y�%_K/
� >8
K��錺�E�RA�"�����!�l;�� 
Ut(ؗ	�i�#
+��1�{SA��}=�\Lb�<��zn
+��{�m���&ߓ1��&X*
c���oQ��m����ip��
<�yQa�=���
�\;���yܲ�
�q����&L���~8dO`̙�r���;Äc���=���&�~pb�Y�_�w���
��f
�s��Er
G[m
�t���!г~�\X��t�s��=ݍ\[��i����,����G9e
�v�S�������l[�(��m�!�������19W�~"9��s�[J�
��U^?�>�(�����o�9#�NgIv�QJ8��� �#����/��I��
���|EOmE�u��
+������o���ڐ6=��u����X�&��Q<�I
e��,ѹ���
+6L��Kx2ʜ��*U!�.����
8b�D�J
�Cǔ8@�S
�	�����JH�M��ݚ������4]7�CT�� f�h�$���R	`���!�s�k���_�����e6�y�g�St���?���o����{��^T�➖�%��@ӕSy�M����
U7����
(@�5���,�Ɖ���� ��i��҆P"��m�nPב�
+�+nx
�؎E�%�!���lS`����L8�)��P��kEa&Š.qQkſ��wc��
+`����4�q���g�sj�Dz ��"
\��9��챬;��m���y���^W6�D�m2�
7
i�
5]\�ύe�p��f�; 
+�@�y��,H|��<W�{R申������/0���' �r�8�����u~���z�gȁ_�3c9��R�mWh�*/[�X�[���#�
n���+S�OtOӖXT�
������:C�՞��̆˟@�6@��!c
�r���D-k.��sgq�7*�`�va%�
;����9ƿ��1�*��pM�0l^O�7`v
�C�Cl�}��q��G"%�ï��t����c|�UE��hG���HU������G�D����x� ܅��u�\�:'������s��0�̤?3X���
Vy=�`+�
�ؤe=h��2����-V�Ո�]���[ߙک��PJhM�0�,��`����tk�gsa.8��4.!jLY?�l�Y8(!�w�8��Z�3��
+l��|IY�9��3
sl$�r��
w�ж�$�O&x�;����HFj@�9 �+$a��������� b� b�H�i���%`�g��H�����
7@j[����˵�&�JH���	�`��8�.u��o1�8彣:Xx���|�
<��-�����'�q0�:/]y;����B���Z�Ə���8
��%��sW�&�_QV�xg�򆸀��"�O�֒��d@^?uX;U�ϓyA�+�ό���a8
+����]%
+��an¼�:?�%eg
+�v�	'I�
�ekgnM�2<�G
+֨�@�8�Em��G7�
��m
,[����W�ı�)���ǼN���:����&�P�
+�D�zW���@�<��U]�	
��
�uz��G^W]=��;�澂y
C�0�j� +��k4�P��"?��p��s��_'q|G� ;�A��{���!Y;\�KS����Q��D�[y �Sظ|
by��'����?]“R���5�)��\�[��C���W�o�./U�
������b��0���Y1�PU�I����_V�Аg��\Vx\�w��`�ɱ
���-���#����jaDj@�j�p�`�չ��&�֮ţ��P{
[��
��uZ��~((B����O.�U隦N����¦L����x��L7��┎��!2�t��.��l7TF���o8a*a��'���g�*PJ�������,�/���:������D$я
{�߈��I�
�/߫��(�5~%��(.;S4wx&�KC'Uҝ^A�^y�;j��|����,�����|?� !n�}���^戃�����B#�j�5����D�d*x�����w�s%��NI��|
�Ǫ���O��zP�
�K�;_Ҳp{��n��;�~���л��-�]T���w��"op۶�%N��QԠ<<�
����o����`
hk*3���`|�@o�|�1�v��|�
��w����i6��	�o��$����|k��

9����o���9~���`2����Δ�Mؕ����t�)N����0�˶�0�uU�V�E�/��'�
+endstream
 endobj
-1022 0 obj <<
+984 0 obj <<
 /Type /Page
-/Contents 1023 0 R
-/Resources 1021 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1020 0 R
-/Annots [ 1028 0 R 1037 0 R ]
+/Contents 985 0 R
+/Resources 983 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 980 0 R
+/Annots [ 981 0 R 982 0 R ]
 >> endobj
-1028 0 obj <<
+981 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.9104 577.0729 458.3963 587.3542]
+/Rect [113.91 577.073 458.396 587.354]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html)>>
 >> endobj
-1037 0 obj <<
+982 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1024 0 obj <<
-/D [1022 0 R /XYZ 90 757.9346 null]
+986 0 obj <<
+/D [984 0 R /XYZ 90 757.935 null]
 >> endobj
-1025 0 obj <<
-/D [1022 0 R /XYZ 90 733.028 null]
+987 0 obj <<
+/D [984 0 R /XYZ 90 733.028 null]
 >> endobj
-1026 0 obj <<
-/D [1022 0 R /XYZ 90 704.9683 null]
+988 0 obj <<
+/D [984 0 R /XYZ 90 704.968 null]
 >> endobj
-1027 0 obj <<
-/D [1022 0 R /XYZ 90 675.0255 null]
+989 0 obj <<
+/D [984 0 R /XYZ 90 675.026 null]
 >> endobj
-578 0 obj <<
-/D [1022 0 R /XYZ 90 617.2971 null]
+546 0 obj <<
+/D [984 0 R /XYZ 90 617.297 null]
 >> endobj
-666 0 obj <<
-/D [1022 0 R /XYZ 90 574.0841 null]
+628 0 obj <<
+/D [984 0 R /XYZ 90 574.084 null]
 >> endobj
-1029 0 obj <<
-/D [1022 0 R /XYZ 90 517.6707 null]
+990 0 obj <<
+/D [984 0 R /XYZ 90 517.671 null]
 >> endobj
-1030 0 obj <<
-/D [1022 0 R /XYZ 90 474.5523 null]
+991 0 obj <<
+/D [984 0 R /XYZ 90 474.552 null]
 >> endobj
-1031 0 obj <<
-/D [1022 0 R /XYZ 90 430.7167 null]
+992 0 obj <<
+/D [984 0 R /XYZ 90 430.717 null]
 >> endobj
-1032 0 obj <<
-/D [1022 0 R /XYZ 90 398.2385 null]
+993 0 obj <<
+/D [984 0 R /XYZ 90 398.238 null]
 >> endobj
-1033 0 obj <<
-/D [1022 0 R /XYZ 90 330.373 null]
+994 0 obj <<
+/D [984 0 R /XYZ 90 330.373 null]
 >> endobj
-722 0 obj <<
-/D [1022 0 R /XYZ 90 276.6395 null]
+684 0 obj <<
+/D [984 0 R /XYZ 90 276.64 null]
 >> endobj
-1034 0 obj <<
-/D [1022 0 R /XYZ 90 231.4639 null]
+995 0 obj <<
+/D [984 0 R /XYZ 90 231.464 null]
 >> endobj
-1035 0 obj <<
-/D [1022 0 R /XYZ 90 186.911 null]
+996 0 obj <<
+/D [984 0 R /XYZ 90 186.911 null]
 >> endobj
-1036 0 obj <<
-/D [1022 0 R /XYZ 90 143.0754 null]
+997 0 obj <<
+/D [984 0 R /XYZ 90 143.075 null]
 >> endobj
-1021 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R >>
+983 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1040 0 obj <<
-/Length 4246      
+1004 0 obj <<
+/Length 3595      
 /Filter /FlateDecode
 >>
 stream
-xڭ[]s�8�}����RU#��"�yslg��N|m禮&�@K���Ԑ�d<�~�� M���w�&U	4��8�>�`�,��l�F3�t�
-ϖ��h�
ſ�0W���E_������X��0�y<{x�=�,T�����׀�L�,���]�X��s�m�s����og��0ZB�(.b,=�|�t�!)3���ɯ�E�
��I�4Q���,M�ls"��/�����t�P�m053�aV	���aC�)�D�K4,�a�J
^/����ç�T��?5&�0֚����tvRc����2��X���?��Hx�!+
�Yd�u��|!Y
���Os�S?�YkkT��+��?猧A��t��u����c�8����w�A$2�I*�v�~��
_�U�{�Q/W�[3�Q�L��q�.K,�#��RU�1eK:��:���N�LG:�ǜ1��7��OZ
�x(��=e,L�"D���ri`�\�.
����*���=TO�
S��|I�f�� ��ޛmk6��v-�T�*��\T�
>k�~��;.�q�Ou������KC��je�}�x��)��D�ǁٗ�f'@����<���	pr8t�8���+�'
a����`�B�
�p�D
KX>�ł�!�]��$�;K�gCu�Xy�?�n�"��v!"\WՖ$JӴ$Ӽ���4yC��&/�I��l[�YAEǥ>x��q��Ȼ݁\�@����K3�q��:�<�9�]�]ݟ���l��5�rzg�]����3%�ҽ
�h�����PDR����4Լ A��A�I�%���Nj�t�DGl������)����
-|t����*��*������y��n��6�L���y�/E^��|��(���$[��
�i�R�-	]M��H��L�W3�����]/>TE�t�=�4��U�qv�'�V�=�y�T��;�O�6�Uhz�]=m��ݤU���?
S�	�4�

�x���;����ӡ3��3C
9LJu��XA�e/��\��J{���P��
�
���7YM��90��:_QO�
lզ����ݘ�l��!w�C�a����=Z������I�m�u�'�=
I���bKj�.�_���{��j05��s��z����͙
-
=��=:�%�uVf�
XM��qKn{i���!?xkHq�
�.�\���(X��{EԖvVhu�b���f[5�n3q^
F@��8�~ưX��*�cQ�Ēz�q���a,�v]\�e���B��|�����������
-�0N�*�_���$m�!0Y>
�6{6
5�\�q֮�s�ٽn
-,O�R��L�
�10ꖂ�ok���
�R#�' �As��T�B�A��R���,�>l��|5	#��6a��5&�B�QP|l�3
-X�x��v��
�,F=mn�Qm�b��G�3��h>:
r�$Ԧ�ш̝�)�!x�:��
�G��XMoL��V��#���Q���r
-�"8��y�d�"q���̔^�D�bSƛ ��x��zR�x�o_�)Ƒe��uz���љVa
4?̵�(a�b,@p���@:�+�� Xw[�]�l�
���\_�+ ^X
R���WF�Aa�L?ISh�Ods�sB�Y�����`��*�����!ή�)��}���}l�O�K#,�Q������Ys��U�d�¢ͤ�%�^�eNa�њ��eK�	P�	�}' ��6��I���
�����奟�!(�
_��=X����5��7����JB\�2��1�KM�����hY@�1�!�\
W��j���	�hX��r�Lk��@\J�N��H�:��'Ŏ��G�����el�u��r�2ixT(c�{��)�&�d�q]@���{��v�h��{��MV��s/q7BK���zD�}��O��y6�
-~��۪��A�t�>`�7�*G&�Y^d���'kG�� 
��x&5�(v������ӧ����~”
����q!�m�����Ǐa^�M>է�%�0��Z!W��������,�u�)��-%��޸��n^j<����{���БSH�z��������#ws��ɐ&yM�*��Z�<
-�Gt2�m�U����
�a�+@7V at v�7����;���owK�JQ>��S
"w������k�`[<&\��=T�ҟ2o
5^U�,��	�^�$s�zW�%x:a�ƇA������2�h�9s�nɦ,!|�qE)���uCMK�y�v��dpu\�r��Q��=;=lb��n)g��,+��F;]0CSu�
ء������ͺ�N?�2a=�'�h���-�a:���)��q�	�8
=Z:�F�B�SS����Bt����vh�"�?Q
-�j�:��Зz�9�����J2	�_��e��I���o���߻���[ $ �!�ㆤ/5iH:kH>�{gڬ��-�*�C��vRc���PH�9��l�
->�!
-�_2J�E��+��X5���k�
����x�dh�vi3�K���/���|��i
�bJS�)��U�~EA.����/f��8U��" U�2�6�w���I����+It�b��ϋ�Y�����4�0��
��|���$J���z��@#b�+w�ao:��%���A�C%N���v�1�R�ݜ�%p�H��Ξ�4:� �wb�V����
��I���8
j�C��hR���ٍ�.��}Usz̋�ظ�9x���P�EN�>U5=��
>��w�2��D����dH-�7�D�|��������7Y�v	-� ���2��[v�7�`]La
-w��
�ױ��3`�

�ك�����o��'5
/`�q�nҩȃ���9���kދ=4X��4P�A}����'޿�)�Q]Y�N��	�=vT��T����5$��U��������G]<�ׁ�G�u�T{�
�
���{

��׉%��� "� !������=�0L"p2}#�ߗ��� �T&M'�`�q�^h�r�~���@q�{�f
b����}*lEy*�Q�>��Wj%���G|��.��kj�a���vW8gq
�:��/�(�]+ˆSU�0u4�
Q�HXȓ���������HX؉���|�m���r�<>clHk�Հ��@��b}�DDR=�%d�
�S�� �����Z�N��|���I��8��Qo��™s� 
3<7����*�ڒ����O��V��h|�k�Ř��+� ��eo��
�6�
`BBd�Z���U�����/��7�81�~�Qu7�
W��0R��@���zC����1<�i�G�R_j�,ud��s��k.C���
U�I�����8�W^
��٦ [...]
���X�$
�����ʺl
-
b���܇(
�Y]g/T[mm�Ew\ eF˽t�R ���fZ��.��;%jg��P
-�����f�+��z�����"0�!94}ӷ�9c�n��$�u� �K��~Uv~C/�H����.$q?���m�jic�i��T�"f��>�]�bo���]�������Ӎ��]�
r�SI
���3<�v~��� �Y��(�od(�R���:h���>���#���
h�-�
�'�[��ͳ
@�5'/���\Q*_��u��w�<��:Ԟ�B
���N6�5›�ƴ
u�>a��$�[�v_��{ixf�)�E�Lx��X*j\���[^>�m������`lYN��?^�=	rE�7$L�@h�_/��Bq��/5�1/@�ˈe�t�D
���:�wԱC�6�
\ ��B��?���_�p ��b�����J�jS�c�XO
ŕ+Z唪75���c�+��dMN'���/nX%�^�g1a����]��+��y������,S¼�ʖ�[U)K��2�������W���
	��;��]W����ڌ��<��Y�����<�w��7�.^��˟:@"��3o�	q
C{%�I��G�]�2L�Ck���v���w-
oG��"�P`8:�E�%S
-\&wgY���4�)7YM�$��
�����E���,͍�L��+1yi�LX����{��­a\�7���p�
�~=�6}
�����(���mL�eo0���G�T�F�y�P#D��$0f��E�fz�@G�����‡ׯ�
��w麄��̷u����m1���J �G6n�	��2Xy��}L�
���J�`S���
P5�^�N
�_��pendstream
+xڽZ[s۶~���[���ƅ�%o�%�c;��f:I(
+�xL�*/M�_v� Eʌ����xL7��o�]�MV6ywr�xr�֗�ȍ|�O
�&�>w������]�Mg�1朥�,-Ve�]O�rv��?L<.]&��t�>֞\>��q¡�M��Rn �$ٜ|��M�P�a�\��o��f�		�l�p�f�ǎ.S��}E�����.R�����N�*��)�Wa�Џ�t&CἏ�ŷ)gN�����3���ܶ]O�rt�(�ڶ����~�r9���v�+
�d7����*N���q
z����t3��{��%
eL�\}���cΊ*km>&��
k�L˩��"�輦O
�ǽ�e��~���u�9�M��x����L*�J�&3��H�|[�y�a�B�������"�
+�2*O�
\}���^�5�c�֛�.��(RxFp8E���㺛����ش}}*�
���)M�Xj�@�e�	ύX �:�i��4���;����h�W+|W*{t1�M���|e�	-�]������e
:+MmFU���v���~Fa��i&�rn�bK=r]�ԧ���ZWiE�M��+��T�-2�?qF
Y
+zZ~WgB�>;�]����.s=�]A�vF
Jf�}u�0���x�m**/���t�d�nl�{��
��@�@M��2�̃
�B�[!�>�5���oP"t���95+���V^��m�?�&"��m��4�(��t�����@�_;�ei�,��Α���/ȼ�7P
E�
MYS��1ˆ�G�g���cQ����"�`�v��M�[�k�"dn�C��(�?bNw����r9���� +�h��Ч���%`i��ؖ騜�x�)�%����m_��D)|��븤�z
+.kQ�K����Qm*j[���q^٣c.���əiS�� ٠$��
�C'�n��/@Z\I���st��1����(q&ܳH
[�R�W�
;��8��\�<�v��Q
��;r��	�UE}h�!Vp,\��Osfv��C���fS6A~��U�lF�5.�[��g��?M�
8.��V����N�ntR7�T��1�ZW4O�S�y�۠�%�lu��
d�`u�x�N(�S
+l��x��G���(jA�Lg+8�����-���ٶʚ���
+���)���K�#�`h�J�4���"�u�/�E��s(���@��
��l�:�fuJZ zF/��a���w
��Y�i�V��9`�4:N���Qn�ӄ���^˪u~���UQ���*S$�"�=E2��_�b��7\3
��Z��Z
+W�/e���
�p�
+ӹ��i��,���ߤ�l�g�
�ݕ��`��:�r������|F�gf�_�"��zF�0G��
+�z��A
��[�dM���[��R�5-���\�cN��=
��:I,�� �
��k���ycP
��E��	X-hhN�
����L@"��5}1Q
+r7a]@�-��<"
�ʑ�#�����l�/]�0�ȲG5���Z����3��%����������%CW�N�ы�  ��2��(
b�u�pn��F�ˎ6��X ���Ԓ�r7js��|�os\y�:���VW&��
M茕~Eu�6.Q/��<<H��
<y��v�+S0�eJ_�a|���l�]�=�P�������T s��q�ŋ��'��(j~���k���]��7��߾}s�2�b��<��>�R�^�VV�����Ź�z�
��/��B�c�%X�������o��E���a�J9br)�O���snM��x�u���N�Nu�P�I)
�j؝�=t��C��!��	������omf(�a����4xYl��p>�{�S����(s@�V
}�b(�W��L�!/͓t�!�n�	
wd;	�B\�(\�骚Z!��z#���؄�f�4Q	{��8�L�R�.@'E�uC#;�H;�uv���|�����q��}el�
qqa�Qa�=b
D��G
c�#�ǏXg��({�����,�����ȳ���I�*.��V|*�����(j�S�B\��1aTX����.��Kl�X��ٙ���G��G�%��r��@1�]L!6s.m=BQٺ�}ݎ�xWw�-�
+�oj;�@\�24��)�L������N��3��,��Mg�YTTCz������_$��˯�酎��@=�m�1�.�;ŽH���� ��
@��
����Xa�;
��
�~��B�7

 .˷�peӄ&o�KN���
T����#gW��"�V���:
�
l�V�U�&��>	f#�[��™=y�E��Dx���
+�~
&J�n*���
+mȏe�GC���
�Z`�T�
�{}�9� SML
������!���']|Xgc҄�������o0��
(�Q� 
D\
��ƦߢW�]���L$`�o���4����M�yΜ�򢶽����
�r��[�|H�?��U�#�VE�����уwq�N��I{4?	V;З&��}���f(}3�$C`|@��B�7iK�/��%G7����6Q/�^����;08Y�uF{���G��Z�
�z��2b;b�?��{N��x+�������,�z� �WƀY`##�`�.7
K����1&
�^���9�3Cx4J}�d[��
N\-V�i�B\7(��ue�Q��w�>Re��Oq;p���!�y�����B�
U%2YL��e��ACZW:{�r]�s�ۈ��Q�޶��Z$!4�Dy��u+W�������i�b�
"9ԽW)�(?��+�Q@炽W�;oXM��=���|m���L�����rحS�6'd끪��}0�=Q ��YÐϚ�>�
+M�\Ʌ+�hH �;2J��f����}�v�g�YPu�"��
�o2LJ����a� G�ā
o��?aX/�'�`[6Ё��f��[��
+7/�xG����1�
		�
m4�iA���X���)�
omJ�ƙt�����0)|xX�
R���8
+��'9$`��7��w)F��n��1�dnY�����^���JBz�
���RSbX��8u�����8�>�چ6ThY	���� ��8�'���s48��6���J%D�<~�T#����.�@ߌ�h�U�$��/�6Ol~��p�S2h��
�~����z�0�W麢	�
ޗ>�����
A0���jL�
�\ٻ�3�|�U*VY��)͟0W]�4-��*9O��v��ôj��A���i$f�����������+��m�3
���ߥ�L&� 
�=r�n�T���3t"o�ng��b5R��Z B4�Յ�Z��;�%Z�lQ4���X�ÇCJ�@�'����b�]{����Y�͊���$��S�8�
N5�� W���'3�O��h?��j��9=G܈�*�ϋ����i�_�Զ���4;��D����S��c�TW�bO�m�>���+���|^0����m�FaCU/CoG24 at 8�0
W�B'
�J���a
��M>\�|�t�/�Iu��Q����.����C�����(�#(ج�?1폠�Ny��g�� ȱG�
5�iy�� �.��
֘�G
ր���%�%�-5��mJ��T~�h�����^�:�E���v�����,
B�}��F����n/�,v/��?����
+endstream
 endobj
-1039 0 obj <<
+1003 0 obj <<
 /Type /Page
-/Contents 1040 0 R
-/Resources 1038 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1020 0 R
-/Annots [ 1047 0 R 1053 0 R 1054 0 R 1059 0 R ]
+/Contents 1004 0 R
+/Resources 1002 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 980 0 R
+/Annots [ 998 0 R 999 0 R 1000 0 R 1001 0 R ]
 >> endobj
-1047 0 obj <<
+998 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.9104 469.4764 450.6476 479.3741]
+/Rect [113.91 469.476 450.648 479.374]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.irisa.fr/prive/Bertrand.Jeannet/newpolka.html)>>
 >> endobj
-1053 0 obj <<
+999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [113.9104 286.1638 374.7102 296.4451]
+/Rect [113.91 286.164 374.71 296.445]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://icps.u-strasbg.fr/~loechner/polylib/)>>
 >> endobj
-1054 0 obj <<
+1000 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.9172 274.1439 217.0526 284.4899]
+/Rect [183.917 274.144 217.053 284.49]
 /Subtype /Link
 /A << /S /GoTo /D (main_Wil93) >>
 >> endobj
-1059 0 obj <<
+1001 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1041 0 obj <<
-/D [1039 0 R /XYZ 90 757.9346 null]
+1005 0 obj <<
+/D [1003 0 R /XYZ 90 757.935 null]
 >> endobj
-1042 0 obj <<
-/D [1039 0 R /XYZ 90 733.028 null]
+1006 0 obj <<
+/D [1003 0 R /XYZ 90 733.028 null]
 >> endobj
-1043 0 obj <<
-/D [1039 0 R /XYZ 90 704.9683 null]
+1007 0 obj <<
+/D [1003 0 R /XYZ 90 704.968 null]
 >> endobj
-701 0 obj <<
-/D [1039 0 R /XYZ 90 673.0878 null]
+663 0 obj <<
+/D [1003 0 R /XYZ 90 673.088 null]
 >> endobj
-1044 0 obj <<
-/D [1039 0 R /XYZ 90 643.1451 null]
+1008 0 obj <<
+/D [1003 0 R /XYZ 90 643.145 null]
 >> endobj
-702 0 obj <<
-/D [1039 0 R /XYZ 90 585.4166 null]
+664 0 obj <<
+/D [1003 0 R /XYZ 90 585.417 null]
 >> endobj
-1045 0 obj <<
-/D [1039 0 R /XYZ 90 553.5362 null]
+1009 0 obj <<
+/D [1003 0 R /XYZ 90 553.536 null]
 >> endobj
-1046 0 obj <<
-/D [1039 0 R /XYZ 90 509.7005 null]
+1010 0 obj <<
+/D [1003 0 R /XYZ 90 509.701 null]
 >> endobj
-1048 0 obj <<
-/D [1039 0 R /XYZ 90 466.4876 null]
+1011 0 obj <<
+/D [1003 0 R /XYZ 90 466.488 null]
 >> endobj
-1049 0 obj <<
-/D [1039 0 R /XYZ 90 410.0741 null]
+1012 0 obj <<
+/D [1003 0 R /XYZ 90 410.074 null]
 >> endobj
-1050 0 obj <<
-/D [1039 0 R /XYZ 90 378.1937 null]
+1013 0 obj <<
+/D [1003 0 R /XYZ 90 378.194 null]
 >> endobj
-1051 0 obj <<
-/D [1039 0 R /XYZ 90 346.4327 null]
+1014 0 obj <<
+/D [1003 0 R /XYZ 90 346.433 null]
 >> endobj
-1052 0 obj <<
-/D [1039 0 R /XYZ 90 315.1501 null]
+1015 0 obj <<
+/D [1003 0 R /XYZ 90 315.15 null]
 >> endobj
-1055 0 obj <<
-/D [1039 0 R /XYZ 90 271.1551 null]
+1016 0 obj <<
+/D [1003 0 R /XYZ 90 271.155 null]
 >> endobj
-1056 0 obj <<
-/D [1039 0 R /XYZ 90 238.8362 null]
+1017 0 obj <<
+/D [1003 0 R /XYZ 90 238.836 null]
 >> endobj
-1057 0 obj <<
-/D [1039 0 R /XYZ 90 194.8811 null]
+1018 0 obj <<
+/D [1003 0 R /XYZ 90 194.881 null]
 >> endobj
-1058 0 obj <<
-/D [1039 0 R /XYZ 90 163.0007 null]
+1019 0 obj <<
+/D [1003 0 R /XYZ 90 163.001 null]
 >> endobj
-1038 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R >>
+1002 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1062 0 obj <<
-/Length 4239      
+1026 0 obj <<
+/Length 3582      
 /Filter /FlateDecode
 >>
 stream
-xڭ[Ys�8�~����m�*b  �~s
;
w��TMw?�,qL�j.ɸ����"EJ�U�V�",8X�������KE.���b<�\n/���?\P�=��y�������X\�P�Q|��lf�i("]>�~hH�lN	!���)��u��63*��ٟ�w����0�a~$g[/n
;�nI��9�u����rK�� !S���R����������ߺyl�0�3
���.猇I
�H8��

~�<����YA�ӟ�{�,
-'�e�ӎj�UD=��ɐEQ4�}��,�X�LP��\�m��e����Vҧ���e�5��m�f@
|,p�oo�z
�(La���0�֫�X׎���m,G�d�M����f
-(� �
�e���.�� d
F\(8	*!,��y�L�a%Amx��Xg�֕��A�]?��D(�����xF����X�K׺�S0J�*ױhڦY�D�V�k���mZXh�\kD�9t���777v}��v�6�f����`��r���u6����u

���1�*�"%Oc�O5�َ��l4�l�	�gxvTc����Lؐ3"6⪇X8���6>�Y$��bt��)���6T:O��,��֋v
 X��
�X����� p��q��F*p�_�jua����U�+V�a�2�����c�
�[�����(bHFSV��	a�"p
�6��3\�~^�������!
��1ÂB�(J. ��
�-^������
DB�q�
��ﳈe�i'���
��V挡��ԟ5�}�˦��mQ��lP������
S[�8=0WJA��:�މ+)��9]��tUe+WY���]�3rX�P_ k��
���@Wy�v���
2օ�32أ��AO�� ?!��x�d��
�9�!��H$�ڽx1)��h�<��sYY���[7p����P5v�� ��0k���ʬpsUm1o����
-��-�Z�#B�
��� ��6[�f�:��qL	
\UR
�Z�u��n�ƌട�bݦ��C�a3*( �^�FoQP%�Ƃ���o$5�
���b馵v:u{�K��^z�
և���>!;4	�n{��"
�8��$v
�d\��g���6�q����-p/�X;%������d�H6��=�Y�Q��x�VK�J�ŝ���� ��N�{�jR�;�N��qq?�s/�#���>�l�
ģ��}spBc���V��ӗ��
h��^�^��0�4�Z�;e1q�
- at O�w*ae"h���S�ƺ�0J�e�m�}������_�v��u�5qo�R�y�o���يj���"�C p*�k9�
�4<������G�&��$RƧwTc�R�B!5��8��8=,	�W����+A��_\�C�=�+��
-'u�ܐO��q2_�~�ѓ����?;��M��9���66��U�>��R�t�����ع�ͦ\�0�
.�xtIdW��`Ôi�+��8
-�.(\M�>�Zm�/F�;#~9��Q	�I"�������'�4-\����
#��.�W�h
:���n���[*���7�?N�q��J�}	H�!�;�)A�\
���x^��(�_���~U�l׶�,
�>���-�����U��P%{g
:�K�כ�����5���E�0����:3�6�q3uC���� ��;�C�c0�
*���1W0�Eg
�>դwF���:��Q�&�4ˎj�s(��I��!�N�c8��%-�z�aգ
گ\�m�ҮR���2�U���#Ð�;����te��3!I���
�n���w
-
�@��0�uT.���0��s
�8"����ӥ�UC��8�[�����k�'�M��w3���bJ~"���a��#�$p�!��Dj�0��,�q��$�!�����1�	,���o��0��3<=ј灳�����0��aL�=��"�$�յߕڵ\������rS�E�+q�#����+Gס�ek�u�a
-�>L��愙,�ԙWsX9J�PI�Ǡ�e����8�+����ơ
-�lD��8p��M������h�LY����p	�Rʖ��ݕ�q *ɳ9Ҧ���~z4�r��:��W�z�����tn|m)�	A��,��
���c��5��E`9㢗UKx�U�^ѹ�]�S뻲j,�w:]n�#�gn9�3��"���?W��W��vL�m"��X��
C�3^^�jZt=�ݯRN�
��'YvTc��A�ژr6Z�G��VQs�˹�P�5���n�1��D��ԍ�X�eVg���4���u����%ah�G�n�b�f��x�9���%�d�ajؤ��O9�p
-ݘ�yL�q4VmB��N	0j�U�
�s�d�pA���e��z��I�#9fw"eD��}��V
v�|t�ɇ�KU��w��6f�
��G,��gJ��yL��3t���Yo��R�f�}
���me�:�t>�U.�
�&�mi����Y=8�"��{�fs�
�U�
�C�~�0�ѼN�22.�Dv��C!�T�8�f�!�]�p咜q5�T���#8�M�%N����i]2�ltI��%�n��߻�k��u	�]�=]���_���y��$q�~�e��Z+w�N
�r)��8f��ܡ}�6S>;I1H9�ظL����<%�"�x�'1B�'�qaf|=�lRB�{�sVuZ�7H	�{�V�l�{��Ƥ
-yKc,���3����� �{܌q
-����`
�ﭞ�
��l�%�U��8�}�i	�v�dJ������f�Q�y
H�����{�ʯބ��K��Fu���!�k݄V
_ٶ<{�R�c��qi�����^U6�㘄������(�B*���}��~�z��Tr��d��AB���"��<���;�:��`�}�6mAzZG�BO�� :#GA� ��ܓ�j4
�ͷ$�L�F�����
G�\Rِ�Qʄ�

�T�v���Q�g�����r��0>(�^�d��)�SA�w`02�����Ɔ,��x� n�Р
-���l��m�2��P��ܧ~����r�23�	���
�x��
DD
]e�/��zY�F�do?�%���p�Ngߕ7�ᚠ�|LQ�{m�
���$J���A�	
���H`!���Q����S1d�=�3nӻ�
�iP��p�����v�~��Ӟ枰�cS��8��t�'4d�f�V+7�g�ub��&t-�3��
d�`<��E
���p/�����Q��.�����.��惣��2�� ��3�����/a<�q�
%Fp%�pp�
�9�z��B��}��
A�	@DBœ3/h}�i�V jJ�PR
�f�Q�y
�,����m��ڷ��]��TY��n��\�
"�Fg�<k��Զ��Q��a�Oax_G�l�7����gj�
�@aE$�&�'r5`PḤN�ZŪ`�$:B��Ժ�.�w��5�S��Z���>9s\5R���K8��>�$2:���

T<�,5F����Q��
�d���1`�yo�G��
b��%�q��Ǵ� ��
��v}.�:�˝K�8�Z��mZd�67Qؖ�?�ha�|�IN�K�L�ͮ��:Є�����1Gl�z�f�
�h�+��_;p���!d��
8zT���
8�	p����!�#��޻������Wh=����u�>e���Cp`K
v����\�2-�¼�������'qb�A�(��n��B0�
9NC{�����}�9�)�$$�K:��n��9U��[
7D����dx�Tӈ�Q�>�	u�����4ώj�� Q�	(Xw��r��-�㭝}Oe6H��w?�TY�)R���I�s4��-"J�toA������ i�g^m�sUnm)/M~���pT�1�ޡ#����>�3j�H�K�,s���iq�����
�}/���?�^/�i%���� [...]
-ek2�@y��/���x��ϳb�`���}��݁
����Q�Z&��'�9����'��
bp��$F�PI���w�"�������h�b����E���`p����oܵH�
�Q��R��T�*�Ʀ���QH$~0�? ��r�K��|?`�a����v4/�y�4��߾���G���`V�Y�v��ߎ���L�T�.n���28y u(僵�|�Ѷ�^H��8`!*vb)�(>�endstream
+xڭZYs�8~����U1 A�ț��;v�4��M恖`�c���H���
�ig��*�	4�����M��v�f�ޮ�^�b�q����,f�0���l��}q�����3Ɯ��m��*)ws.������υ�D��t"��tu��"�q�R�n(�l�?���m�~1c����w=k?�=�l�<�툙�g���ʁ�u�\�9����k��$�㇮�<��cw�����_���
��Y���u�l��:�m�Tɺ��p6�>Is�B�������#ύ�]麚�*�I�mm����.x�nw͎ڟ�1̨�a:N��NUs:*_+}�
�I���l��Ks�c߹Q(�o�gN����i�Ms�*��w�2�>�ܜ��849�dtg܏\��f�
+ދ�S&[U
��B��
,��i�s�$UcH�U�OrR؃�z��+��9?==�����m`��|v�����:U��|�I���=�HM���,
@��=�*�
{��x~<P8�sL�;5���:�8�I�6D�T�4i�'��v����^��G�U��Y��Y��s�Ŏ��
+��r-�m�m
+�.ߘ�
�(
�W�
_�sݪ�,9x�p@%���_M(q(]ɻ;X6p�5q8��<�i�� �G��sP������r#�<��� i��/�:m��I��4��m�1���6���a���,�@G�	�ץZ7-Y)�ǢA��f�ӳ�I�[��|d(�
�p�0��	69\xf�*�T��t�%Hݴ�.<#�e��
++�I |�
Ue���|

�B�i?�����?��"
��2
+���-B9�0ר2u搳�a��ݧ�[AW;C�ʘ(�k�]�E�^U�/�to^UU
+k6A�wZ���
_r��n�n�
Iƍ��}�L�|$]
��]�BSK�{�;��e�o�D��?�3����{��G	���Fp.
��kAh$�:m�R%�fkco���‡��u��}Oh-�܈ݻ/��q!?/��”q�W;���bl
+���_oS�{Φ0b��3F���_��_�~tp?o�j�2��iK���6�3�����hfgh�����
li�������$�?����h�Z
��坱҉��A�x'Uؘ� ���ы����_8�*8_����"{ ����_�2����s��Ri6x�gUj�9�j��%_�o��W+)������=�j
�:Ċ�Y�g�\����6��W3z��w����3�޼ri&�v��ua�վ�o������UI���Y@G7E{�)��Q��JKr�8�Wͮظ�~#p���z5|�<�pd0�ns�^}�33h[�8���BWҮ﵏3~�>{9�ba�K��T�-ZW��i���! ^T����2�4��ӆ~���O���"� 
�T at _
�.B���_٭�^�OrX�?���j���*�������Tim����/B�+���Ma����D�P
��S�lCI��p�^yE�� N<�
ࡆP[#�t�������Z����p�`r��i�K�K� [...]
+Sս�!�)�����y�j.�C�2���U[�N-��
`��.����Z�
p��}�b.�m��Sz�I7�`��a��c��&��E$�>���V27�
	���,��M�}��|㰗/�9
��P�rb(��c�zWyQ ��L#i�����i�"�@�[��PE Z�L�<
F��ڶ.��e�:<Œ�1���9s�dD�T	f����t�F�N8�W�E2���Ç��?]�ɗ ?��@�q
Sk�%ѹ
Ǒ�
TB�T���
�GBZ�e
+�	��X�^#u�6=\��%� h JK3{@Xi�A/��>
<���b6�]� ���"
ٸ���Z�J�;

��q�,�䩅t�/�;?�6u�%���͘#8Ǘx�Oa��G�]ƻ�k0�!����o��O�Om)�p>��’���s�V74c��i�v
�m�}bM}[j�&MS
-w���}RY��!���RV��#7�A�I���-c�"]Ē1�VCπ
�R���I����xX|���e�Y�4Aw��}:Y��O���a��0�
W���p�ئf��i\W����E��ϛsl@�F��W
+yY�	)�Y0<�=&�6`�ԭ�
Tp�E[r�N��(Uĥ�]Z�LJ�<��Vb��ښ������*
��
+kp�S8��cS��Y�H��
���5��LfL}J
+�i+‡�)D��.�mՒ� �5�
xa
+Ȭ��K�.�1Y�h�wFQd �2�VB�K���jJ
�Ƈ�!��y:�_��v�,b��h�J 
��l�ClA�A����~Z?���	��C� �3�P-n��@��P��8�k
�M�u�Eq�dɁ#�q��ܤu��l�hYz[%:������Ϣ�S��������|Δ2@�����5�a��ɧ*!4�4q!��/�t�No�9�9��I�ˆn�l�!iA歙r��\Mf� �K��s��<�tdŌQv�0��Z�lv
�K3��<?#
)�Af2u�

P�.�f�[�x�� �z�:�X�%
+c� 9ާ��&
+O�
,]�%���L�����kR ;�O
~�PUzX+~�B��eK�Q����V��_;��pK@��E/y�������Ct8��� |*Z��4hu\�
+E�
ETРJ�j5���+���]��BAsmdG�
���K���{���!�q��Pl�6�Uh�a����cK�@������H����<��*��N���
U٨��u�~^l��y;��ĝ[��S� ;��dJ�Ti�Ұɾ<��FiT�����I��
����
^j���w<D��M�cG��
s��5��4Bp�~o�d�1
�
��H��hR��c[��耱?,]�E��
/���nn��y��
�?&� ����N�@D���BbM��Ĵ���+3fұ��|��"_ �SN�=$�e���'D�=3���8KUa�t�E)w�
g<0��T�zT�J�J=
+d�(�]��C'��wJ�����^(�oʿ@=��Ϊ'up�E�X
�c� e ���ݘ�����u�KA/�xJ>]�b�cw�����T��R5����T$e��bq�eP�G
��C��>�����ؾn�^�ؗ?<^'�0�
�!~�,��*� �-���*�wyBEU
0a��̹L�(ʘ ؃�H�8���
+\��=��*���
+]�Xd��Sҁ��w�u�QZ����MAj�kҬ3��AS�'�H�L[a�1-�h��P/�'4�5*d����ez��f at -����������4b�R�Ұ��i��ImU��a�O�%Yk!B�!�_��R�Y����N��o�~\��2��*��g
����	 �L��"��,Z]쀙'	}=�Hb<.�di��j������7�9�ۖ�U�����J��
+�@�""�* �XQ$�Y��0�7 �z��9t���/X*�-楚��!<�S���l�
���R�t���m}@o!���p��X�횦|�������u� ��M��e��~�:z.
@b��\�aw��F����?�� +��
+endstream
 endobj
-1061 0 obj <<
+1025 0 obj <<
 /Type /Page
-/Contents 1062 0 R
-/Resources 1060 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1020 0 R
-/Annots [ 1072 0 R 1074 0 R 1077 0 R 1082 0 R ]
+/Contents 1026 0 R
+/Resources 1024 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 980 0 R
+/Annots [ 1020 0 R 1021 0 R 1022 0 R 1023 0 R ]
 >> endobj
-1072 0 obj <<
+1020 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 365.8002 146.8866 376.1462]
+/Rect [113.91 365.8 146.887 376.146]
 /Subtype /Link
 /A << /S /GoTo /D (main_NO80) >>
 >> endobj
-1074 0 obj <<
+1021 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.4263 333.3618 411.4025 344.2658]
+/Rect [378.426 333.362 411.403 344.266]
 /Subtype /Link
 /A << /S /GoTo /D (main_NO77) >>
 >> endobj
-1077 0 obj <<
+1022 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.7696 237.7205 290.7458 248.6244]
+/Rect [257.77 237.72 290.746 248.624]
 /Subtype /Link
 /A << /S /GoTo /D (main_NO77) >>
 >> endobj
-1082 0 obj <<
+1023 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1063 0 obj <<
-/D [1061 0 R /XYZ 90 757.9346 null]
+1027 0 obj <<
+/D [1025 0 R /XYZ 90 757.935 null]
 >> endobj
-1064 0 obj <<
-/D [1061 0 R /XYZ 90 733.028 null]
+1028 0 obj <<
+/D [1025 0 R /XYZ 90 733.028 null]
 >> endobj
-1065 0 obj <<
-/D [1061 0 R /XYZ 90 693.0131 null]
+1029 0 obj <<
+/D [1025 0 R /XYZ 90 693.013 null]
 >> endobj
-1066 0 obj <<
-/D [1061 0 R /XYZ 90 649.1775 null]
+1030 0 obj <<
+/D [1025 0 R /XYZ 90 649.178 null]
 >> endobj
-1067 0 obj <<
-/D [1061 0 R /XYZ 90 593.3867 null]
+1031 0 obj <<
+/D [1025 0 R /XYZ 90 593.387 null]
 >> endobj
-1068 0 obj <<
-/D [1061 0 R /XYZ 90 562.2236 null]
+1032 0 obj <<
+/D [1025 0 R /XYZ 90 562.224 null]
 >> endobj
-1069 0 obj <<
-/D [1061 0 R /XYZ 90 505.7155 null]
+1033 0 obj <<
+/D [1025 0 R /XYZ 90 505.716 null]
 >> endobj
-1070 0 obj <<
-/D [1061 0 R /XYZ 90 473.9545 null]
+1034 0 obj <<
+/D [1025 0 R /XYZ 90 473.955 null]
 >> endobj
-1071 0 obj <<
-/D [1061 0 R /XYZ 90 418.0443 null]
+1035 0 obj <<
+/D [1025 0 R /XYZ 90 418.044 null]
 >> endobj
-1073 0 obj <<
-/D [1061 0 R /XYZ 90 362.8114 null]
+1036 0 obj <<
+/D [1025 0 R /XYZ 90 362.811 null]
 >> endobj
-1075 0 obj <<
-/D [1061 0 R /XYZ 90 330.373 null]
+1037 0 obj <<
+/D [1025 0 R /XYZ 90 330.373 null]
 >> endobj
-579 0 obj <<
-/D [1061 0 R /XYZ 90 298.4926 null]
+547 0 obj <<
+/D [1025 0 R /XYZ 90 298.493 null]
 >> endobj
-1076 0 obj <<
-/D [1061 0 R /XYZ 90 266.6121 null]
+1038 0 obj <<
+/D [1025 0 R /XYZ 90 266.612 null]
 >> endobj
-1078 0 obj <<
-/D [1061 0 R /XYZ 90 234.7317 null]
+1039 0 obj <<
+/D [1025 0 R /XYZ 90 234.732 null]
 >> endobj
-1079 0 obj <<
-/D [1061 0 R /XYZ 90 203.5685 null]
+1040 0 obj <<
+/D [1025 0 R /XYZ 90 203.569 null]
 >> endobj
-1080 0 obj <<
-/D [1061 0 R /XYZ 90 170.9708 null]
+1041 0 obj <<
+/D [1025 0 R /XYZ 90 170.971 null]
 >> endobj
-1081 0 obj <<
-/D [1061 0 R /XYZ 90 139.2098 null]
+1042 0 obj <<
+/D [1025 0 R /XYZ 90 139.21 null]
 >> endobj
-1060 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+1024 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1085 0 obj <<
-/Length 3572      
+1049 0 obj <<
+/Length 3046      
 /Filter /FlateDecode
 >>
 stream
-xڥZYs�8~����Ue1�E�yslg&��l����d
h	���H
IM���
P�Dɵ��*G���b�	���<9�T�B���Yr���Ϙ�C�|H���ًש:��<����7C�b�?���-�9WI��_}�T�)J�|�ޗvA��va��@E
�#�g�y{v�g�צDʐ�g����/a�oϒX�Z���J�<���3�E��gwg���7`j����4�s!c���)*���
N��8I�<~� O��v�����ƀFf��g;��S
2U|��q
K�Ԙ�M<��LG����r���s��4�5UW�m�������n�rس��fk���-�j&�����ig,j]G
mLC�OEU���#eA_�"��oI�E�	��,b%u�J�6M�j���!@��6� -mۚ�+:X�5�Z�W�Mk�'j�<
-��h���t�MW�O�TE��v[�8�د�M�#�E�_q L���i��FՐjU=�C���1�'P%c����i�!*�U21b{	[癈�{c��w�T�6��u&S(�\�乡_
M�<�pw
�}o+S4T.�%�T�Ap�fp���~jfRE56�wY��jE\�
�`{)�
��	�_qF[
���Ӵ
k���D�]�V��1�"�M.E�q��!8o��Ѭ��A{���Mg��oM��������������#�Y~
Y*�E"�3�PM#+�
k�&��b&�i������hi��1��x@ �7�
�h��;Ԕ�ѵY�%޸�+=p�
�?� ���;�et�D=�z��v�Au��(@�ܚv
-�<ױ�X����H�m*4`8��_�r�v9Itu;E
F1�A .B"Wq��,@������H��^fi>ϲ� Ls `�$��wD�������%����T�8ɯ':`��X�X�<
�uz���ήk�����wp�X�u�e�AȜp]�.����7;5�P�;'d+�M��hl��6 �nŒT9P��y}����kʖ��ÚD�{m�oB1���c�`�����bi�Ki��q�

��E����ֶ/a��0%�%ҡ��

-Lv�Tr��rJǹ]h����n�v=S���欇)
H�tr0��v�g���=�ýd,�2
J��Yt�f&���M��8�i:���s"��ȂQQ��I-����'=L��ډ�\&<�+��3p&R��n&�
�x�4�{�[O��>z��6պh���
��LFw��
V�2��
��m*�U������{�1 ��B<�n�&�' nl.&$ח��<{�C�{2��:a٘�5*nG�x�
����Ȩ�g	���}�]o�4�ɕP(�K'��҆.[Qx�m� ����֠7�]eQ���ڡ�E9p
�J �^��:Wl|_;&��A�8�p���
-��
���=�˦#o׆H��,-�9G ��q���q�3bN�B0Q��y
�8�D
g��g�6���[  ��M�
0�i�
˞��
�ȫ1vނ�`**�������"�����:t&t���<�Ŷ+�KƓΥڶ%b�=bb�фhK����P�A�
t@���b[:�A�C� ���dr"�1m
3��:��1:�^
-�<�=,� y&�[C,(�&����E�S\מ�����z0���G즬��@
-� @*i�[�=�˖6�6�!_��^''pLuC�W����UE��ۛۏW�o� U/|R*$� �R��?��\�
*�
�)^7E�W�j�v�V�M�W�32Zw5X�O~«;*pR
\�iyM�[�'i��%G������
0�
-���[��G���,c��
-W�������
:�rJ}�D�Z��ڮ|
-��y��E裉���X�}�ط��
կ��:
-��L�8p�	gj�NufNa�h¨�
-7K�߿�q��z �i���M2e�3�ʚ���S
2�
�x���
�GY�cR
_�'�4��ۣ� ����~)x��)��	�����l�c7q��f� ��*����҂>w
1mM�T���[^���c�Hj
:����܄7�"��!'&�H�S
3>���ːc�
%�%ǭ�+�ƞ��j�`�$�	��; �>�# �G@]>
8�\sݔf����I�Y�+K�
iе�)DEs�M��tS�Ofy<��EK�{e�&�����#�~1��U'
��b��gu���%�0i� �򙝛j��vp����
l�U
$"�  ���@�t
v5+O�ypi=�|8�������oK
0�18Xlo1{�驞Y��l$�GdDh

���edH5)#=�PFTr\FN�����i�w���eD&3��g��<Q�
)R��{�.�ĵ��<�eS�Ie04��y���p����,����:��`��M��Lw��Ge���ƺ��^H0���b�#)' [...]
ɴwL�����j��wY
��Kjs�[��Z�z�� 
�����me�w"�R̙v�!^��
CH����ñ'�"�g�0��08�c�Q�z�

X��^�`�k�ʇ�^H2��<ˡ 7�@��V+=�|8`B���W+��
�\d{���
T�,A&i�m�%���v�wyu}(�W=f�ϸh�i�����0
�r2	�V}�iOt���Q9��
�"z���ai\�âKj.�}C:�s�A벦�){�RR�ޘ�Y��Ot[�
zm`�["���A�u�t�3}Љ�MC�	)q`'�r[�
��ꆒGe�H��v
\��C�@�ς�3	:���ɚ�7���q����o>�����1���1C�cn�r
�\Q*����h��
-j��_�gSU�
�ܜ��U�.H
�s
��x����<�|��c�

�Y��//�KO�ψ��!3����cB����i�������
,�S�v��
�{O���
)��W.�ߍt�׍1�
����/�����m�
���~�X�:N��%�8���w��~
J��U1!Y��
��3��n��ŋ��!��Ջ��3��lo9��U�:\��@�p�L	&���ғ{�Gs�.�Yێl4��v߅�"�4
4C�3�~&?�=
���a0=��ަ�ď�c���'�[to0�J������XT+�7���۶��@T�
h���K�
E�t�cj0�TĦXc�o�(P9
�����VЭ��`�M�pΥy�(�I�B�= z�4�A�z��Z�%�ݠ��N	�}��
�"pm�Fl���P�J{
H���R
m0
-�������.]V���s�-(���+��D-O��/
pY����G��
6H22(Ce���=�z���ӂ	��m���c��z��W��ճ����
��Ưĭ�Ӷ U�O�w
a�Pwc���uEڡ
�˒
-�
����q�rx�����7��0�zw�jK��BK��
�=�>F�1J��AI��rl�m[XF&L��b�]*���nP��R��_?�r�]Ku��|��H�<:<g�E��@�{ _
QP ���4P;��P�
Z���������n��1��<>�
��
-��z�v{0��x���#^�񶲛&�݋ͦ�0d�K� N\ܼ':X���N�,gr��^'��
m�������(&���_���+endstream
+xڝYIs�:��W�4���h���%q'�oRSI�KsQ@�9ʯ�n4@���,U.hl
t�׋��rL^
=�=:���$�Ǔ��IL���g��b�������ۿmC�R�%u��w�ZP��ZȺ��IE�z"�~�}utq{���Y������OD4YTG?��&�/�t�hfU��
����ѿ��g�$�\�A
�o�"���n��e�,�F���t&�ԃu
�8
��|�ֲ�u�SM-i��Ty��M�;R(�Y�B�^�-�z�?Sy�m�
��Q���y�
�nU��UZ}
+�ȇc�Z�~��e~�{�u��yU�q佖9��Pm+u�w��1���ՔG�Vu�7�V�8��*?>ܿ��r3�#��_��݁Ö��z;Y嵿'��
g<� �K�;a��,{Z��%�	�N��`�V����F�g�>�L���(��,vKoW��Zn^�oT-sM�.�qUw府��
}��a�5HZj�V �zI��fI�Gq��IW>����t�=G�
%녴�}�-�UM�s�.���f�P�	Ǫq�w+Y��-Ƀ��w�NU�Q
+�W��Jm�% ��>�n��Y�e�!���uդ�I����x�^��}��_X�v��"z�r�
+|m3VZ�a�_zP�μR�6�
�8�u�m5͚Z`���e{Hcx��)P,W�Є�^׈������t��T���5Hc���tL�Y�������(�{���,I���a�?0��A�M%��G&Ÿ7WU�����̃&�
+rS^�sb3K��i
+zfL�,1/�s
5`�%s24���=[{��\�nUI�Y���x�ӊ�Z��U�l;L�
�/,O���$"f�q�~1~_Y�����y
�h�
�]¼S���U�3�sĜ�/�D=li��w�
���m���/M��6պiU_
P
Tq��Xxs 첯��a,����/�0�����\t���ij�!��`��m�6�1
�G$�;3�CN�ysT�������R
�
�[�K�/�

Zl^O�c��P��{�轩�w���sYW�~�=�8	:�$��k
������3����|��o��;Z0z3�9'�2�!�~
pq��� p#>p c�,u�

��k�j��A+�V��0v�
��X`����9ѿ���y����ȣB-4)����S�i��a{�At
S?	��Q�j���Ǟ�Tw�([����"/���b?�U-\g�R�/�f"[g%~"�b�@�
z�3��|�#gbʚ$>h�w
+>͸�Pxo�4�
�C_����W�,�.�+�[O`C��%���
�c�ц�{xk�IlH
+�hԊ
V-�^�<����v �����<�9/��� Q�����%�(���ruqqq�%Q�������Y&$2[��5�� @-i�k٭���{Y�FfO���uSH���H��&�Y3;�@`Y
u�����ٻ�
����*vP-C?��]������kE6
�cj����θ�y=t,�� 5�㸲�KҲ��5o bt��{ܟ ۇ$�yԽ��L�QY����Qyh��1�&�o�)
��!�`A����̦O���PF;��DQ�{���j�I꟫
+�	*0���Xx��ݰ
o�?<�Ll/^#2@ �������:xڽ��O5��HH|��&�Z"+��~�AF�� _/�^��қ�P-m}.�W݁�c�T��D��x6��p"�!���ހ��D�X5e�vE��g�L
�^�����c�J�380��sN]r;w-�"��o�_nD�{�򀞝n
+J>K��_���R��4��LS�N���
*!�A�������,��lk?
���z_Kx)���
 �0��/�'�3� T���)����(X�����Қ+Tm_kCzi�D7/�&��ǝ�����hٟ�5
+~O�<e�r
�
�t���ΕR��wT
"�:
+u%
��MM���s3���k\ׯ
���M\p׃�
�7 M;��в���а�X�b��dcI�
�ա6�t!���+�π4#
+�KH��8�8�?FA̬��Τ~��f*
�� �0i�����
؎�0S�XjR���¸/]�t����Jcƙ�r�٪�io%.y��0Xe�n[ cYX���
�����n�_��}`�S�,�FwL�������հ�S��r���(��\x����
+ibȟ�\�;Mfù
��Z4T ��`
%����BZ��5dP� [���2>;O�w��
+s`sxI�r6�"� �I��є�AZ���ຶ��Z�$]�r�q��GN˶!��
�
 R@�^�\�O�:��,
^�j�.��"
+��C�Q��h� IY�od]��az6 ����Pt7m2�/#˜��d�31�`���w~1��� 31?�\����et<s�g,�[�����
,�c
:���n��`�T
��L
�]iZ�ZJW��
q�q�f
���u�[M�0�����0q��hc�(�L�`[TZu�����}{�7zy���R��ՅU��5��B��w`*��b�
Po�
�4��  C��uv'��
ܵ�鰘JЙc�x�N,�߀p�fѣ[��-H<���a��K2rd���
$���uc�v���Ŏ:���j��H6M�pK��чu
U9����K1���p\:�q�\�{{�rw!�
4��tl��4�evփ���j�Y������v/
wjK=:����c v�u@�1 ͵α�.׼	P���"��0���[��oN����E�n��iz{�a�T���
+�?�
��kuJRۖ���7K��;�!p
ǃ� :I��3H�[鳘����BZN
���
p��v��!
�
��Y�����I7Lwn�IJ���lLڐ32*	]���'�c�y��
��I���!�Rn�{BC�8V
3ڔF[vTg��-0�A-6x>
���/�q�g������`����p^�Cp��Q����˥��ٲ
@0olw"	S��{ �,v������o�%�Gl|7��ig�e�Cz�R��

�E���Zk_u'�uy�1lwa��՘X�����4F?��	��Z[�
+endstream
 endobj
-1084 0 obj <<
+1048 0 obj <<
 /Type /Page
-/Contents 1085 0 R
-/Resources 1083 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1020 0 R
-/Annots [ 1095 0 R 1097 0 R 1099 0 R 1101 0 R ]
+/Contents 1049 0 R
+/Resources 1047 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 980 0 R
+/Annots [ 1043 0 R 1044 0 R 1045 0 R 1046 0 R ]
 >> endobj
-1095 0 obj <<
+1043 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.0821 405.0928 309.5354 415.9968]
+/Rect [273.082 405.093 309.535 415.997]
 /Subtype /Link
 /A << /S /GoTo /D (main_Wey50) >>
 >> endobj
-1097 0 obj <<
+1044 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.9317 361.2572 405.3849 372.1611]
+/Rect [368.932 361.257 405.385 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (main_Wey35) >>
 >> endobj
-1099 0 obj <<
+1045 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 232.5685 388.7183 243.4724]
+/Rect [297.062 232.569 388.718 243.472]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
 >> endobj
-1101 0 obj <<
+1046 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1086 0 obj <<
-/D [1084 0 R /XYZ 90 757.9346 null]
+1050 0 obj <<
+/D [1048 0 R /XYZ 90 757.935 null]
 >> endobj
-1087 0 obj <<
-/D [1084 0 R /XYZ 90 733.028 null]
+1051 0 obj <<
+/D [1048 0 R /XYZ 90 733.028 null]
 >> endobj
-811 0 obj <<
-/D [1084 0 R /XYZ 90 704.9683 null]
+771 0 obj <<
+/D [1048 0 R /XYZ 90 704.968 null]
 >> endobj
-1088 0 obj <<
-/D [1084 0 R /XYZ 90 673.0878 null]
+1052 0 obj <<
+/D [1048 0 R /XYZ 90 673.088 null]
 >> endobj
-1089 0 obj <<
-/D [1084 0 R /XYZ 90 641.581 null]
+1053 0 obj <<
+/D [1048 0 R /XYZ 90 641.581 null]
 >> endobj
-1090 0 obj <<
-/D [1084 0 R /XYZ 90 587.4739 null]
+1054 0 obj <<
+/D [1048 0 R /XYZ 90 587.474 null]
 >> endobj
-1091 0 obj <<
-/D [1084 0 R /XYZ 90 553.6556 null]
+1055 0 obj <<
+/D [1048 0 R /XYZ 90 553.656 null]
 >> endobj
-1092 0 obj <<
-/D [1084 0 R /XYZ 90 497.7454 null]
+1056 0 obj <<
+/D [1048 0 R /XYZ 90 497.745 null]
 >> endobj
-1093 0 obj <<
-/D [1084 0 R /XYZ 90 466.5822 null]
+1057 0 obj <<
+/D [1048 0 R /XYZ 90 466.582 null]
 >> endobj
-1094 0 obj <<
-/D [1084 0 R /XYZ 90 434.7018 null]
+1058 0 obj <<
+/D [1048 0 R /XYZ 90 434.702 null]
 >> endobj
-1096 0 obj <<
-/D [1084 0 R /XYZ 90 402.104 null]
+1059 0 obj <<
+/D [1048 0 R /XYZ 90 402.104 null]
 >> endobj
-580 0 obj <<
-/D [1084 0 R /XYZ 90 358.2684 null]
+548 0 obj <<
+/D [1048 0 R /XYZ 90 358.268 null]
 >> endobj
 66 0 obj <<
-/D [1084 0 R /XYZ 90 303.444 null]
+/D [1048 0 R /XYZ 90 303.444 null]
 >> endobj
-1098 0 obj <<
-/D [1084 0 R /XYZ 90 270.7983 null]
+1060 0 obj <<
+/D [1048 0 R /XYZ 90 270.798 null]
 >> endobj
-389 0 obj <<
-/D [1084 0 R /XYZ 90 270.7983 null]
+379 0 obj <<
+/D [1048 0 R /XYZ 90 270.798 null]
 >> endobj
-1100 0 obj <<
-/D [1084 0 R /XYZ 90 165.0867 null]
+1061 0 obj <<
+/D [1048 0 R /XYZ 90 165.087 null]
 >> endobj
-1083 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+1047 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1104 0 obj <<
-/Length 3268      
+1065 0 obj <<
+/Length 3198      
 /Filter /FlateDecode
 >>
 stream
-xڥێ��}�b�"3^I�5}J�I�4�l;�"�G���ؒ�K�����HI�6
P,�&��s�P݇�/�/��<ͷ�J���t޿ ���H�a�q�᯻�w_g�}�-�8���	Cm�8��w��A�y��0���O20���'�磭x���L��*)Un~�}w���_.��*�����~�5������­*����p�e|�Kb�&ǻ���{<�@�XL#��c_��m���x
@����������M�sk�(
ڱ��`���*
�^V=
-
��p��c/(���epj��A�^~ǎ���� (�+{��|��GQ��Q�-�4"��oY3���Yx�I
w<$�m�ʳ�
��M-g����r�Y~� �z
m�o��0��&B�#�Up1oj��%mo�-��]���S��6�[�^���$!��y0�5O�
�\����W��'}"d.C�\D�
i�tfo��6/<%�Iݞ�T��|�@��o���x N��
�D���
-^�P�Zmz�Ґ蓄��p�#�	02��~���H�08�M
���e;�%.	KԵ��>�q��U{�Dg"rL�
a�/�!��i���:�nv�"דy3��f��4	
0��� (#w�9&�;:S��ӉO �`?�����ݎ�@��f�����\�
�

)0ݼȍ,o"h!(&fE�A��-�%�Dr�y�j
�}�(��eX�z��Ńצ��x�q��Ō�q�Ah^�U'�m
- �%H�`��'���/��)W`c8��%�i3��,�z
�;2^Ն�;j��?M&�ݵ�FH����! ��3Mm�5+��	Z��4,�
Pg��
%��q⮥"�2ݠQ�������=ځ|
�vϿ
˵s
qN
�r�w�Rg�%�#<������9�[2�WEݡX��$G���W
��*�, at V0��>��D~X�w�
-k��o,��Ur��}�X
� .���]F�,|��q
�̍#IH)�ӈ	Gg����mB����nQ��
�h�$��A�O�Kd�3\|�pN
��@Xc2*�y��B&l���K
Y`
�,[Ěx�di at Y/�,L�|%�b�� `�]�3o'>\c�p-u�.r��$���<rQ>��T�;���2��g�`�J���z�D��ӱ=s@����W��Y�ͤZ�7���
a"�F>L��b���ኌq��9��aN�6������ ��� �F>I�8�u]�ՌN�xQ,�'�
��`�ڙ�é���
����#)�e�K�<پ�m�
/�
g����}�SݻV�Z��n�l�V�4����Hɟ�Z.�MR�~�3Q'7�oR=k<*(�;*wʡ�|�
����Z*�,6�{QV�� ��*w�G�+�6���R6���-��40`�
��p�1,q�@v#�. ����o��(�>��%i�0���eG�P����N��
� Y��^5����p�Ԡ��q�b�bs\�c�h��x tmcڱw
��X.���
2�s��Z
-�r�g��+c)i�70#
-`�@
%�ɹ
-P���
-J�~��9lଦ�nlx��l�����D�媰�+lm>�O�(=��Ɨü`HP�͸'l� ��D9ڷ�!vb�e�"�
[�dR��yS��3duP�S>��rJAڞ�u�>
Qk�Ҽ�$j�K����w�
�|c�ί�Ah?�ρ`H`
O��R����f��t[U#�"����Z�M/� s�X
���8�@�j�Z"w=�#
ʷ�p�'���QxB6��W�7�  _$�ᎁw��D�9a��z
4h���hQQ�M�_��y2��<�`���̜Q
Rz+ ���R�X��P�W��
���j%
-�O�
�Ix�u�r�S`1G0ӝu'��|��X0��FKy�Y1G0?�%('%r��V��
�c���J�ũ$���̥���\�݊�f�
� �;ne�~
���E��
1�(�Ep���e
���ǵ��.
�ϴ���6$^�'T���{�g��u	<A���p Y����p^�
��H�2z
C�20:<F��OL'��Q�Q:����S�+���Վ�-d.�
-gu
W�'�q���\J�f�4�\4��
�d=���ܺcV!Evhw
-<Rr&/R{��b�i�hk��E��G6�k����Z[�QitK|�,=��ư+��r@'��_I
�V�<�˓o9S~��'��S߄��\`�$��0���Gu�tG�� �גfW^?��~�2zW��zl����dz-Y����]��ӫ��
/
���Gӕ_���n:B)��=�Mm�
���pw�>d޵R��
��Z*=-�[�=$q ��lx1�r�l�"g����O|���y�������O
��� ���V%%;_(%�{��4̚\������ı�]7N L�>���zlY�1 �e؛���~�Y�%R�式d�T���A�h4j�����h�����F�/�S
�7 �B� ���W(A��(�u_'(攑$TB��ޜ,d��7֓�_׳�����#��B�T��
-��>��p) �զ��T`vd��|doC�l0�J�����4�
�QAk�7�����i��X��
��ȏ�*B�.�O&7����n�/Sӆ���c\�}])��
-Ŀ�	 ����G�l���1���^��柙8a&���A�����Kq)��%�W�� (�rkD�N���qO�7�R�3�MK`�,#i���cF�Ǭ�|����͹�"W`Y�i�цd!�
c����	���S*�`:;�'q,Q�����8xL3
y~@ %2��@�"�
�,��,*�Θ�O>}b[�;Hū
���E��y�,�o��Uܫ��ń��ʗYq������5v�t��
��t0��S����
-�`�C�Q�Y��C��
�OT�u��_�3�cn|T˯8��#G�yƽT�(.80
C����(�M+Ϩ�R�'h��_:�j
A����/	y
��5q�	�r��Ž�e�=�����I��E*���Փ)�$k�.Hf��>�w�ّ̥�b���g��]��Z  �U!�"���ݢԕ1铁W��B��qR:�"�f��8��k��R�Zy����WT�
-O�L��U�şio��#-�i�V�:#��(������+����Q���#ۖ�*�<
��#�Mw'q���`�N����&?A'��[5������S(���
H
Q"�j��Qv.�8��a
�K����m��x���?��g���E��p��ݻ�岭����s���;p�w�t�"݆I^���
��Z�WE���(Y��;_@ �Df�����g������endstream
+xڍێ�6�}��o�����-u��M��&�;S,M8mcK�(�;��{n�.���<$��BM�:��Շ��?ܼ�i���M�������W�m���h�P�~���8
��~���u�N<��O���/�Ե�0ɓ4�b����7�n����p�l��%٪<���G�� ��*�$E��Ү�*��=��o�y�����q�	���
��$ʃ�Z-��f�]�Q�֭��,h��R�i�[ &Y�[Y�(�Y8fq�űg'���A��1���o����h���80�W].'�-�
x}
E�"���6,�N~U�,<��[
�}�Y�OZY]�٣��]JN?ʯ�dU�ݱi��
+���#D��Z	�&�����L����6�V����l<{��6N��5b�e��f�����P�ړ>2�!b�#�4�{Z��mk�O�4AR5g9U7
/_Z�#�'�g"
�����[8 �[^�+TVik5�>M�~�=W at 8�#=���G���$
��Z�a��Y�w�(8�_G�
f�7T�v�yij}'��b��Tęzq��N�!_�,T��^
U��<d�L�>O8�2�	'0�{�J}�u��w���f
g� �`F��˦�ݎ2D
�`3�����\�
�%:<R`�>ȍ�������S !�7��8�}�,F������'������ V��2
<����
O�\�8jGD��`}�a���-E":]v<q^��9
;�L<���0#�H����Z�P��<޷d�0�4�3���yA�D�k������! ܫ�u��$A~+h���0
�:
�)'ČwM�!�n;�Z$$�^�ښGs2
�B͞=��s
qN
7r�7
uI��d���;7��� ���d��6���C�z�I�2#+f5N
H.�܊�)r�L��Η�읰��*v/,��Up
+�}�/�
Q
�e֮G-Y� �w^H��J�ڑ$����Ǽ�����w75C at H_��<Bd�Kd�d�����:�.��e��r�@�@XaN*�q��B&l�����#7�S� E����Y@�o���F�����8�  ��W �5�
��R=�u���%�
�
ǁ��ɋ@�۳u
�9�>��kFJ��
�n�Nͅ��WI�R
+2�[�{���

�&
a����;
+
�����ŢG�;J�&G�fa���x�0�I2Ɓ�y)�T9:��E�\Ď
2ػ��kg��:
&6����'R�a
�K/ �<kMSO��c�� f���s�{�U�����h�nmUN�)h̟��
+�v"�$e�+��:�
�}��Y㻠�b����
�.'H�ݮ:O�R���b-�e�P�"��vN��2`A�cmo0,mG���!{��̜����1�!F%�
�n�� �b,��7-����� �|	�X
Zv�5.{��T-���u����e
��ȩAI�'�"�՜�渐�^�YQ72,� ��Z7�u}��X.�
�2�s1��7��ٟ�ꯈ�b����(�eW�0��'�J at aǛ�
m��s��I-	ھ��D;�a�
��	5�ÖY]�W�J%ޟ]Mz����^HQ�u�'le�M��j�6�!
���E�=6�gH������l�H�~�|����9�u�>
Qk�L�Oƭ�~}�:a�`����3��3PY�
�V����10Rl�VN7e�s*J�;_
��)
`���n�c
+����$rW�:Qݑ�fn���~="
+O�&���XM
+ �UB��x�L嵃�h��N�����&5ݤ��ݥc�إ

8�3�A�Co �p]�s�*�n��҂��R�V�0>�4V`N�.?�MN��8
�L�Ɲ��#�h��`Xe��V��6��a.A9%"�k�1>i�ꙡ�Z�I�4oٺSu�k����@r'Í���
�K�"�G��[�"8@޷
R�[A��R�h&��=�y�r�75���$��Q]�>��Z���p�;�,Ajhl8/���u�C[zC�40:<F�F�;�
+N(f���t��ϕ��WN
�
�[�\(�$
�1\�����2
+
�e(�c���
rш�~�z}��K�aX�٢�%��3y���p�,A����F�\e	�ydS�d����_c*>*}n��}��V�Vv�)U�� < �[�����{y�-Fʏ��d��ph�p��
���FR��.�ѝj��� ��X��Dž�.�ogF��
+����@;�~<ےE_�:����xz���e��R�Ŵ�4
���=�Me:�
���pw�>dޥR��
��ZJ5,��=$q ��Q��c|�ʓt�;����~���o?�����?������{�`�x ��t����$y����Y��'
���K
'�	��S�^����i@2�z�y|���EU"e?��H�*���I!�BŨ*������x7�m'�4_e��%"���
@�=AOP���P��>QP�)"ɧ���!��m
���
�Y�'�U�ـ�(�c�U$#U�"�~�/)I8��b3��_U`vb�W|�gC�l0�J�x��U
�QAk�5�����i��X���
t�ȏX*B�.m��~Xo��԰��?�hW`�
�L
��? `�_����e4<�����˵ S�3'���p��Y�V at 3y'.�� �*u�%wBn-����7:��ŽT�
Dq�b��E$�/?y�h�瘥��>n�7w��r�*�
���0�$ĸaL���6���lJL�O'��4�%H���O��4b1��D R"����(r��",����i�ֻ>��寏�|��"�� [...]
+.6��'6�xF��?@�n�΁W:XN/X�H!�c����K,H0�..��.S������M�-.RX�f/���� �}
�T��s2��gG���:���.w��_�,���R�����Y��2&}2p��t�w��)�6S����V#)f�U�]���>�����S7�o>���#-����{���ml�M���W�5��b����Y�ɲy�y��W�Y��9=u�*W�<�Xx��7h_��������]]�
�(��M����dP2�=?�� cH��ʍ��
+�����jL\$��]w��͛���)�ͥݘ�
�⛉�f�GQ����~x�n}
+���+��K��S
+endstream
 endobj
-1103 0 obj <<
+1064 0 obj <<
 /Type /Page
-/Contents 1104 0 R
-/Resources 1102 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1020 0 R
-/Annots [ 1108 0 R ]
+/Contents 1065 0 R
+/Resources 1063 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 980 0 R
+/Annots [ 1062 0 R ]
 >> endobj
-1108 0 obj <<
+1062 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1105 0 obj <<
-/D [1103 0 R /XYZ 90 757.9346 null]
+1066 0 obj <<
+/D [1064 0 R /XYZ 90 757.935 null]
 >> endobj
-1106 0 obj <<
-/D [1103 0 R /XYZ 90 301.9117 null]
+1067 0 obj <<
+/D [1064 0 R /XYZ 90 301.912 null]
 >> endobj
-1107 0 obj <<
-/D [1103 0 R /XYZ 90 277.5865 null]
+1068 0 obj <<
+/D [1064 0 R /XYZ 90 277.586 null]
 >> endobj
-1102 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1063 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1111 0 obj <<
-/Length 3414      
+1072 0 obj <<
+/Length 3350      
 /Filter /FlateDecode
 >>
 stream
-xڥْ��}�bޢ��ђ1o�+v��Φv���� ��/����ק/���S�JM� h4�F�o*|
�/|̃�,�����Ǣ~
� ��!��g��#|�����4y��y��/'�!
�IF�/�ϻ��9J��7?�$
ӘNW<�0
+[p�{[��708������__�{�ۋ?\hKT�ѿ?��k�X��={���
�}���c�G�
�������-غb��;&�ꎑ�i�莵�d�3_C?E���S�촭�2

Zi/����ɢ��m���Z�vl�Κ��-l�ɢb�x�g;�i-��T�
wz�}�L���6yzVA��%�T�6O1
&;��� �q� W!��SK�O
��nz��
-`8p�dp{bȵk����,�Bs�E<kd��$��U����P
-
F"
��
C;S� SO�E{�����}�$,�?��86 ��E���Ž5c��<\�v</g������h��x�n�]�޽���
-d�b�+��?��Nv��[?8��C�ȭ�8�k~�w
-��s��͡��l]�di�k��x|�����|q���
�{��^�bȏ� ܳ� �D
ۋ��%
�܄��
�8��X�0Ts��ycq��qC���P�bW���;�GoE����ad1P�  �$A�B
Θ h�a�^0 ��:{�
���G���i�����Ehq3U�:�B�X:�E�–�Ow cÝ!���u%��
���
#$���0ׁa�l��ߍ'���\
!K;:�_���-M����d�A�F�-��}��e߽1/�]�Xٔ��0�<���w�I�e.-j�M�['1�C+i4))Y������=\&<�=9����kgz�kϘ����7E�Y��6�
��*�78�rE�֋%���tbujӌ��:b�S/ݒ�^D��b���:�Ut��"�@�"����1��*$v����=�
-9⫶4�|�|ay�U�3S^��("S��
��
X/�F'bN�<�¹� P�v�<
��Δ~��{�
s��^�$�qu[�_� *���Zn�,B��?���b��!�;�Lу�	4	ͳg����N�Q��C 'ˉ��H��J�|;�a�&�Qb���v-�Y��-�8���B����eɹ �_|�ن�68�en ,hύ��)���[����*�
��{_E�d,���1���
�T�˻ʖ����D X0�5XD�N1VZ��}�N�5

 *ݜG}6����Ba#`X9���4�`+$��u�b��L!A�^M�/E����kQwGӦ԰.���{�����c�1���Zzuh��I�8H�
�r�H
���Ns~�Fąǀ
-47�����\�����m�xp��<�� ��<U���3��' PAd�:*s�\u�I���8�<�����\�|�f�V���pw�
c
x�v�h��\��BF��1ȝ%���!0�Ӣ��0YH�8J
��[1

P��mC�V&��
���H��ʜ'��8�3���
+��$.�9�;�������`�u��=;�K{��L�愷#Q�?@r�#%������9
N�puI/�'{x�
0��z����A>pʶ�t���P�P�#��
�7s�W�Np|J')�s�>��z
P��j9��(��u��d���.�B��,MF,O* ��J6װPQ��'�/:��dR

�邇`'���~F����N��⺆[���a:c�E
��w#�WJ�
FlF`d+#@1�x@�-X�r,�t�ƅW٤��X�C� �yN
A�OK'��@��춋�����B���c��r
-Ѽׇ�x4����x�r��D.�\^[s���quU1lp�x�X,n�)٭�|9h�TX��op�6TY�Td����%ԁ�<l�$ ���D\���Sl���}&��<ũ���WG"٩�_ �
b�+Fڲ�v�4t-q
l�QʺPD�����5t	L1O�	9,-[��Q.��=�
v9b4K+��yo�0�r�,9��Z�|
��'xh[ȏ�2 2J�[UQ�)ٲ��u��$����L��L�k"%�����64� ��$A�XL��jq�>������G#
-�Y1���n;�$� _�r���Y��ߍ}`(b��A�w�vk
��N��?+��h��.̶�겈��ʭ�}�X
)7m{rd��П6]@
:����\�>!$���
@�o�_4'l���J�Wyotm
�
Fl؅	B?
��lȠ�
]M%q��a �����c���sÂ%v9nj���v
|F���<G�9%88�\f�� ��R�Q�06��Vq4%f�@�߼�hG3܌�A?+$�&�,
ֳz4�m�L5}���d���|%�r� �E��Pq���� ��x�f�s� C��k��7x�
�����N][s�/�!o]}��I �z#�zk�O�7���g�i�)L%ۯ�^�[O�v	'�Η�w_s>��3`,�


�C!�
��)<
VS{�H�	W�K}]z�g#�1]�
�W���`�R1�i��S�j�V4N�3(�C-��S�{���%�L�Em!�;(Ŋ��J�+��;-����FI2cerƌL
�r
˵p\�k+
�2�ݱ�F�cS����)�;y>!��}�)sW�ͣ��)a
�2*sU���:���
��a�"�s�.�P�X�a
-�(�
-� ��PW�r/6��q*�\����P(~�E����J��v�Ї���a¨�0\
-9^7hUK���`�e�D5nR|jؔW�<���9���	?q��
-f���u�ɶ����/>r�YMy%� 9ޗ��G,"!�

n�yȿ�B���V%��TPw_�OB��wx��0g_

O��0�9�����ʖ�g[_ �Z��`�ӎ��\_qe/[U-;%�;m0��M��}�����0�UkK[+�K�?�M���0g
�3�T����k��t��� !��9iR��H�Q^%=�oI֡ �p��~:"�W���K/���9(�0�'��������B[Dω/g�7p������*-��V.��o鍓����5�E�N�N
��#��ÍS� ,
���ϱ��1������4g2م8b���/ƌ�yv
Q(�q�
V����0]�O�Nl��|�Ng�'
f:��/�/.�D��ld�_NH1�� }_3�m.����P�"�e��c/$�-�}�(*EDM��Z�H
�EW'z��L�l�QBH�~bg/ę�,u��}3/
d�.�h�lz�-����1p_�
O��m�U���$Q���	 ^
�$��~pC�J�,���j�}��������?�tWK�����Sv��b3<q3?A��	V������<"6����`)�}~4f��x�AfK��G���tO��y��"��n�j_��e�}��v��~�ܵ�����Z�_ӥ�>�����{�H�hYp^
�}����\����(�ܯ��_Lm��_�P�endstream
+xڍZI��6��_��HU~2Ip��&�d����
��
 �sQ2ʛ_?���iW�^=���������`w��o�������T��c�F���e��,
�I�>������9J��7?�$
ӘNW��n8W�����0�3�rR�i�_?|��O�?��W�
i�$;f*���Ͽ���킣�O���wq��Y��?��)��+>#u
҄���G�\�}����(�k[�se�ܷ�	�N쿒IM�
��ӵ��+ڡ�;k
���@'����>�~���|��:���avL��Y�p8�"�gd�_�Hms���0�����Op�8�0�������q�nh�A%��
S�]{�����
��7�s�iP8����f鎏CÅS02axH�1�3�a	0��Y�w�>�=<扨��/�

�`�H^��y��cp^���k�벷h�����齌^��k��;���@-�����C��e���ޏY+
+Ln�b9�<S�L���;�l~��օt���+���)�Z̛;j����a��݊)?�=�B��2y|�dM��7M�;��l��٦��������7�o(W�P�fW�FU/HPp?��{�/F����
 �� 	B���L0L7L�
! �뭳�[�c�)1�<)Z>����v:iބop1s�qB�#h䊭�h]�$��
�X��P*�%>g
�7ސ)VIa�
mWS�:�����͌��=� +���-M�G��d�@�N�O���֩?�{�;\4;��)Y����@	��:E+�o�CF��Z�HU|A���o/� �^�q�Ä���σ�w}Ӏt��:
��XY��|�1&�>������=�
��/��

�qj�
���ڈ��M�
Ic�"e�;��=V���� 紊�p*
�\N�����v� �B�xۖF�//L�⣊s	f�R��r�F!��GoN�2�¹� Q6{�
�|ug�q��[�����Z�N#"��궴�ATP
�[���=� ��>� [...]
�dl���0h�I�D���YeIw7�� ����C��
����f�B��렯�3��(b�V�z���6]'�
+���n=>-���n:�4��N�^�u�<mK�P~b�yq�?��{{�4X� ���IZ�'b�z�@�].xCp 
w8<�x
+���Os}ž�#d��7���$yŜ�.u����2rl<�IM�{C����G.�����a
�D�g$�Tl�D��⣾���Us��7��@y
x�E�
��a�?c�1����Y��pC�	hgL�{I�
ן�)�3�w�2c��$q�At1
ۑ��!ȕI�O��;����e>�d
�����e^�\2��=�oi�{ej�c���R�̭�ҥ[CR&��D�H#SҸ��5�Gw�����1��'��箸��1:n���9�����򉳶OU��T��
-9Rl��IB4�Hpdv2|8\����%���1csW�-�"���mp��5��e�z���
��جT N����aۢ��3��ir���#}p���`;#����.Ąq^�O���4�镢�
�廁іRl�{�A��Q�1n��|~9f�u����ң<-��e� x��g� a�u
+�
\{���؛+Fo[�B�]Jx�	�� �%�q
��LF*�(�O�B[��5�<������i��d��ɍ1%ٜ�+��z��[�LPU�HS��SDVB�P'N��e8؟N�F�<��=>P�Y���b��8т'����j�L��$�0�¾#�u����kI��g[�,�!O��'��.�P̩9L-[r�Q.%	�B9��]����2`Ǵ���l9�h�z��}d�o[Ȕ��!rJ��UQ*�r�8��i	�r<܇N�༕�#%���CwOaW
+p
X-�$H��i�UU�O�:�!e���I<dC��w�I�A!q3Q�Y���ơ0���(Hf��
�A��u����Bo+�
z�m%�eA����ε�E�-8!

y��О=<}�����E>g�$���
@k\��4�oЮ����q��ѵ-�zx`�!L��<��f4b�(NJ�^
+
��d�
�g�
���
���1�$}�~�9�;�:�xmk*E!�Խ�!X[�UW	�%n����ؼq���ƌ) _H�(L"Y��g�i�[�L<���v�9O"��+�E�7X��>S�BctF�2O
x��^��
+��fA�

W3%n�
=�-����tm�->�ܾt��-L9�B𗦍I�fn���0͘��T �n��9]o����H
+:_i�ͼC�g�Y:�叿P�yC�?�`]�q���F����|�X���^ؙ.�"���o�aH���4����]�j�;��R�P�Z��S8{�Y�(P��R���o�b����-������l�"R���X�	#��p���rU
g�����2
{�*
uMek+;��D}��&�`L���l
�(v��0�Q�� X����$�dH�6��kw9B)�^uQ��!$�<���^��f�����ȧ���
+ǯ�s�}bi���}(�j�Hxs�퇞+E!��p�W���A��=�{�7q��v�)�~iQ'��{��_����L�?��V�
��6~����*�+k��e��k�\�%%
���ۦ��!D
�U2�D@�u�=�$@HF��I�5��}{4����q����1>H�U`R�2A��i�{���:� k��+�t�T�rP��ӆ�YoJ��
	��
�_Y����\��`4yN��\t0�E����)L_�G�
��+
V
/�I�J�'#Dy��<����
y�;��<_�=�o��6���P�$
B���A���Ix�H���8㼁�oo�L`��X��4�1��<��/9:'E��g�9
+/I
�/G
��+� IX8 7mϱ��1�,�M���g�2��8����o�<����X�W���
���F�)�)�G�/��,���ٝGGa�8�F3���f����
<� �x�d�2YX*�
+(����zp�_��ӵ<�&D�4[)��V������B�=��$�f#J����q&`!μ�d��
����A��f϶�tJ��%�2�I/��,��Cp[��?��pY�P&=
���W'��
�L���1I~L�x�d�!c����k���);�ăi�Ċ� ���+������Q��
C��w&TX�������>�|�_��d�t�cx�Nb������~�x<��;BBu}�W��[
=
�c�EFl^��OOtSrv\+�����
+endstream
 endobj
-1110 0 obj <<
+1071 0 obj <<
 /Type /Page
-/Contents 1111 0 R
-/Resources 1109 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1116 0 R
-/Annots [ 1115 0 R ]
+/Contents 1072 0 R
+/Resources 1070 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1076 0 R
+/Annots [ 1069 0 R ]
 >> endobj
-1115 0 obj <<
+1069 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1112 0 obj <<
-/D [1110 0 R /XYZ 90 757.9346 null]
+1073 0 obj <<
+/D [1071 0 R /XYZ 90 757.935 null]
 >> endobj
-1113 0 obj <<
-/D [1110 0 R /XYZ 90 589.0019 null]
+1074 0 obj <<
+/D [1071 0 R /XYZ 90 589.002 null]
 >> endobj
-1114 0 obj <<
-/D [1110 0 R /XYZ 90 241.0984 null]
+1075 0 obj <<
+/D [1071 0 R /XYZ 90 241.098 null]
 >> endobj
-1109 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1070 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1119 0 obj <<
-/Length 3098      
+1080 0 obj <<
+/Length 2922      
 /Filter /FlateDecode
 >>
 stream
-xڥْ��}�b��]5��}�O�����&��+e��-��Y��MI;�@�գ�u*�U�$H  ��D�!����Ȋ�J�����������x���
y���<���*����G�!��,�����/�x�g����-M�·V�4�^ղ%L�$-wi����ww{�3oY�GH���_~
���0H�2��IDU�wwi��I{���-�[W̢d�Y|s�8	�<K�
�᲏��U��y�
ݧ����t��Q5�&�Y*MC-[1����B�'5�it
� � |=FE��)��j��i����������?��8��}#5
Eo�h2 IOw���܍��k9Ҫ�ߋԝ��0
�V��g�
�o�a�0Nw� �a�O�<���$�wAɏ�VQPe
-��m���~�h Z�%�/2���$
-��?�$W|z�{	7
��/@��f��$
-Ҳ�
'	�
���}T�萘e�Q��3�Xy���j�	M�:�}�O��+e` ����~��{�/B���̀�8
���
[?�VV��Q��}��F��
���g�
�~);��"�#��H0�+�(�#�lbf	�p�v8�Z0�N�qּ�������r��C��Z��O[&p��_�0n[#��wX�i��f�0K�pU�E��">s�_c�8��۷�����.-�tet�p1��PA�C��+XQw�������4ꭻ��S��W�wf���j1��9�q�ʳ6z���f���5�
-�ĸ�/~>K�K��G�A�O�ƅ�a�oM
֬�=�

.���� ��`Ok�M��|�'�i�4�8�b���-F�xde�*�B�
C
-�׸/��� 5�Y�E�)��

t��x;�
�>J[�F�#��uE�<�a�PF^�+\(�A\����������P'͍!4j�[��g:��!O��-�
{",
�)F�o74
-�q-n���9,���X_5�z�YN���W�`(5����N�R�8�:+9rd>�g�6�� ͨ�=�tCC�Jw��
#dQk���vd.��е}��_�Y)Ǭ%7 k�:G�o�@@%
��.ʡ~-��g�
g<�Wl���:J�)�8a��v���z8i�9� h��Ҟmx$x�j9��W^�jz B��c��D at 5w�ܰy1��5�
-9
��8b�0�;�U��<Rb�O
-� �����I�&<�&F�p@��l�Q4���3<t�&h�
H��a`2�D;�z䅖�Պ[�Az�� ���HL�(ܦ_�F�78ׄr i�y
-��4��8�� "8cMc�
Q;T׃f�=ÓM�pR�NH#�/:�Ȇ�(7&�
�<���ƌI0X�q����Q��\�.w�	E?�E?]�*		�Nki�d�x��~b���nMb�(c��K�0Y�`_�RB�3
�3�������Y���$iayI0�n
g�V�l�Hk�5zĺ���yc0�Z�~�����ۙ]#,���q�\=�,���%Pxy�_Z
mf&x.��������P|�!����#���������M�
p�JZx��1v`h��d:0`�y�e}����#�D��5�4�
�)�^��<�ʄAw7�����K��vG�þ����/��Q�����ɍ���r)V����X���͍$N��ʢ/���M�(̃4)���W(�oiE!���:E��St�4��<_���YD�~oe�
�l
Yd5�ȫ{�zJɩ@����F���ݼ+NBv0`�׃��Mۄ�6��-5�Y'e����
���n���^���u�NM>��))KRSR�Z	 &5�ՄCOM8]b(
_���	EI����6:9
�ښ�
�-��y�6�Ԇ��
gՐ�"�p�U�|@���|u��p{S�U�V�>+-;2B���7�/����1��[
-)��G�)h:qi�f����/a��t�$�<�"z�s�^1I��&�*��$?Aך�n͞����V:��vi�z�2%�f�W��eN�CI
v>��V���F���ߋ����z�Іz�$�1�2l�9G9�d%���+,"΍�g������o��IӠ�k	�(M�	�
g���
-����P&^�I�zW�}S���HXYanA��a��_�U�O��
p#
�'%<;W��q����}gGʖ�WK��� N��D
*(2,X!o8?���yAo^�\��?ByF�F�kn/��h`�g���v��n�4[D��>�g�e�Z��fXx�
f�blkUCe%
�v��ҷ
��&ΞR^�n̠@?��5uU��x�廢*�*�^�]��W|���I��*��w}���]+�
����}�b�+��d�o ��K�K�e��ߎ;�K�m9� ��O�F��4j��&���>8�u�
-��Ha��r�p�ˆF�y�z
�H%ʮ��=|9�n^�-�+Y\&W���@c�8p���bX_
�Ű�g��ÝNv�Kk��Ó���y.;���
TOc9f���yFe�X�`�����[�0�*�����m�Wg�s�Y�i�

#����xv��IJ<T�p�
����4���4���}��51�7�
����g���
��yn��i�jK����f�(����ݫ;@�i�R��?��:94��K)%T�w�B
��lh_l����Q�6p�h�:A?���qRh��,�Ӡ�ɮi�9OZ�w��kN�R�)l
��氢_RHq:yqp���	u\���bZ�3B
��[�qn��¼����98�%&��?(��_�N`@g�.��uɍܷvKX` =�1�N0	J���̻��
'������
f��k<�y<\"6��%��b�-�
��*�}���L�
�Q�.�f�����Y�|�1ܪ�V)��:{D��y�U.�"/E4�a몔�?nz#ֹ��|�Y���
��zVY�
bC��Q�����p�� /�"�V�EuDR��hX&�ޮ	�9������^ϲ����A
ی�o��w�p���g�i}Ț
]�X
1���;)oEqQ��~����/�t
��W7�w�gx���i�|�����SP��ܫ���,��-_I�aZT�)��mz��J�I�Q��xq�ԎJ���
�3���	��l��_!
��endstream
+xڥَ
��}�b�<��>�'E�
;����1��n�
�����f�>U�"��^C@ a�,�źX���]v��<ݽ�>	w�1O�d�t���.M�c
���r�q

������W
�FjQ��q<U���Ϫ�M/a��Q�����O?�����;��v��
��4�wE}��woW���w
�l�lvջ(�[�>���Λ�{+:���%1�Y�����7�.�A�DS-����
�^��&�U*MC-+1��鯪#ȳ�4���*
��]��m���r���?7�\�H�Ǧ����1K4i�J�����X��h
+�Ӫ�o'u�� �}[���1��A�6�2�f��Ξd�
��|H����z����(��q��H< ۆ�6�@Q1.Y~G�^x/M|�
+�3jA�qŧǦ��i/�h��Wv���1�r�$Dzӣ>��/����K��V'/V��B����ӱ�fo�A=�Sr�bHl&�χԳd-�
�
+�c1Y�[ +�A�XҾFy#���3��+Ȍ�'I�R��n�
pT�	�b��>#�8`3K �k�V�E�q�R��u��F�g&]Z���U��L�<V�</�*#�0M�-X�� ��f�0{
�U�i��}>s���S
����?h�x��KK1�]�vƂ
*��G߿��'{������!�@�z�KB��V��W�<��t�������uΠ��Y�U���f�C�
Ƃ]k����]%���Qp��]�� ����`͚�=���b�X�
�� �T��Ɋ�;~Қ6
-�ϭ>)�p�{�b�G�aNV( "xax���C�@Ms�f�o�=eDŽ�#1� ��
%��P=��ں��s�ԐB(�Y K]H�Atp�sV`d�_�3�I�2�R�E%T�Bg8�a.v{a�=���)FӷnK��k��ȝ9,���	xE�
��X>|e�R�|�q��1-�����}w�7��F��|���G�.i�~RI��a��a�Lj�ټ&~Վ
c�__��WbVF�#�YSn �xs���0�>�J80�k;�Po�
��>�p�S�[q���A8��w�E8�s���Q�-j�
 ���Bڳ%���,%���� P
�t�j�X3�
�k�^�<����vhL��W� x�;U���S^�/
+� �鶃�o�	���J�|8 Eq��(���
:��Y�2#��
����
��<Z��0(#�b>��s6��Q�,�H��pB�#�f�� l
L����(�� ΘDY�CԎE�F^��d�;�����۫~з��O��|���hp�Ec�$
L��9s���^6�\�N�Ä��֢n|+		�.Ki̯�U�*��o�vkKr@�OA�$ɭ}�S��̳�l�
�|�p=p ��
+��^$-L/	&`����
+^,�i-�F�X'�7��7���ï@�~?m��L��	�LM?v]��9�Kem	^�0�,�61<��+ʇ��]�/

m��#r�{�x��,��J_�
6�3���(��_�Doȁ��
�d:0`ӹ�e�Z^��W[�Z��4|���F�ߡf$lU	��Wy����S�5�����]�>F!W��'׷6P˩V]���{G����5�	�`���1
+3PkxLN>A����!����'|O���2���gb
+���c�V
�T[��3�1�>��r���9€=�C"\sC�
4��[Bh;.YC
g�q����x��x�E�
`�
G�;g��tr�p|�Yf�_F�j��
9�7�P[��#�%���� �Z��v�
�$_�򢅒�6Fy�����<��H�9fB�JCyo$
���x�?,�v���7D3�����E���
�Յ����l�����W(�`cO�˜���Z���M��8���,�D��<_�J�y6�f���h�H��h�І��%�0�k��a��{�|��
|�E���zh�Z�g�&���D�%�H^���#(&�	�I2o������|2
����$�ݮ���5."'�ũ��	ɛ`�"�Z��T�[��Z�J�Y�4�ʌ����]]��
+�~�>�����WK���,.���
)5
��7�yv����R�$3}���V�	GD�2�kb�ՙ�y���������*T��C �n��m+ۉ��a69��J�Tc�Vn}����[O��
+
W�7O�SЍ-�L
X�i.��^�d������f�B��|5�=�L/C�UWw`/`��lD
�
��Z������*�f��\w������
+M��Xs�!ur��Pg�&�&q�<�ԙA�n2�
[��sp�l	b,�9�,���K�p
3��� �n
+
6����
\����]��^��
�J�|s/]�Jo1]�z��T�='���/d����%�Y~n��,��5|RA��$�1�t���N��Sc#G��0
L�0
+�OA�&l�o�u*{�s~��&م�.���(_��R[�c�H��rU3��`�O�/٭T��/*�N�!��"��!L5��BekHM��&��y�-g=6
������ƚs��i�Z-.vM�yЊ���o\�R�ydl�%�)���,�
3:�΋�*X fs
#ĸ�����Xq�)�Ӄ�#��
sO��2)�冬]y�(
+
+��l�o�0�U��r����PJBf�f|�>
Q�yx��1i��`�z�����ᒡ
ɕL
ាЏ������Ǧ�F���F����&/{��^�'�Z��J!��!�]�=�r���r/n7�m&�"w֮�P�\�A`"�b�dzE�2d��N�c�g_���Q;9�)���v��4r��#R t�5�c[ݮ�����~������������f��l��
k�w�w��_��bL���)�Sb��Ύ���c �
x���p�}
���7o����E
��ހ*�,d�b���cX$��SS��n��
x���H�˻
+endstream
 endobj
-1118 0 obj <<
+1079 0 obj <<
 /Type /Page
-/Contents 1119 0 R
-/Resources 1117 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1116 0 R
-/Annots [ 1124 0 R ]
+/Contents 1080 0 R
+/Resources 1078 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1076 0 R
+/Annots [ 1077 0 R ]
 >> endobj
-1124 0 obj <<
+1077 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1120 0 obj <<
-/D [1118 0 R /XYZ 90 757.9346 null]
+1081 0 obj <<
+/D [1079 0 R /XYZ 90 757.935 null]
 >> endobj
-1121 0 obj <<
-/D [1118 0 R /XYZ 90 653.2498 null]
+1082 0 obj <<
+/D [1079 0 R /XYZ 90 653.25 null]
 >> endobj
-1122 0 obj <<
-/D [1118 0 R /XYZ 90 508.0564 null]
+1083 0 obj <<
+/D [1079 0 R /XYZ 90 508.056 null]
 >> endobj
-1123 0 obj <<
-/D [1118 0 R /XYZ 90 374.8182 null]
+1084 0 obj <<
+/D [1079 0 R /XYZ 90 374.818 null]
 >> endobj
-1117 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1078 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1127 0 obj <<
-/Length 3558      
+1088 0 obj <<
+/Length 3344      
 /Filter /FlateDecode
 >>
 stream
-xڥZI������[�����[�ʸ�$�I�}H�>@$�bL�2��;�>oRT�+����6�������̒�+�8},/��3��y�� ���OO?��c�i�>>�HBxI��OՏ�p���?HA��W
W>OǦ.��׺���Gq�����O�=���.sK�4��}��g���9~��{Q�'�/P�(���C
F��<|y����
�ak�I��5���IDkL��!
-���]���ݿ�P֯u��+��k_������L���]�_���S:�a��؋�" ��� ���g�.�
���ѢGKv��b��C���b�
N���Z�r���/]��[��t��qij+�3�x��Q��؝�m !u�
-5�������wמ'VWfR�Y�௰H�܀ �$a
�f�`�}^3��f�Ӵ�pQ�>؝�X
Z}赪Ա������õk+:
$�є�,+]�4+-
-Z)���� !m(R�V��
4@{�4>[:�:|���4μ0ȋ���2J(
-�ԋ�<���?�a�
+�W`~sD��޸A�~�.�U?�I���8j� �H[�`�e�#��w�� �LЗcWՄ"�-�)�Z��=H
ꒌ
0 �Ɉ���u[6� IJؖ��]Uc_�!��Ћ���KD�� ���.W���@M����Q�b�Dl3H��|?��vHt-3)�VSϨ��r������r��z\�ak�u��Fih0(�h��0t��1ڋ�[P���g�m�֏�(����u��a{�o����q-h�q���
����Ђ60�
����ܬ��_�6���
�����y�m
2h�F��K_��n��
\�	�%l

-(pw����bFt$��F�ad�x�f�V� ��t]H
-�$��06
�C��;�i
� �
W2�4\줕U��N�k׏\9
�V�kP�r�#op�h7vL{�ql�
QTK�!������^�a��gAՆ�0�����{V|�H ��&1ewE
����ݦ���Қfe�V�(u�b�w����o0S[�)GH(
s�X��n�lC���3[F�,�
-�q��1�l� 6J�l(�	��
,�L�����v
�KG�HTk!,
-A��

��:�|��4uh��
c6>C\���xY&��"��E���"�BAjgYF��H�O|h�	���
I`�m���%�?�
�Hݐ�"�7
-���(���I	L5
��.�i�#�w
�[�����A�;r-�7��x#f�6��&v�IMv���x���Z��Z��,
-��i�犝NL�Rf�����"S�d'�_�!Gt܍M��
l0߂p����e�lո4������텴;�p��@V�j i�/LmׂG�P�Ԛ&����8*ߑS���Jy@�ץv�W�T�
iQ%T9Ԁ��Y�Ŀu��	x򾺕q�
����niL�f^^�]�q�����Ҽ9�5�k�f1n�zѦ� ��=(�c�l���Ga�[��#P�$R���TL��P?*�~mT)Ѳ>� X��dp���
��iQX��	u0=�u�Q(�[I}̔��ʙ̩��R�Z�"f|����HI2Y��w���.��MG��|cM����&�����$���ln5m4���
=n:Z��5���>���I�5nQ$f	��'*²���a�D=�qV�P��9~�v41��̶@�=j����9K̬�H��%�C�ʍ��56#�e�x����]<mEgƀ!4�¸�6hd�A�ډ�t��� �"=�FӤ���������8Dj1!�D��6� �#b���e��#x�[+]�\E����EAH�P;�VB��s��[1��du~�6B0�IO
�dI�,��S��
(��G鍷m���<�
X:�4���f�
Q�꫆-D&C.�7J�c�3Ħ71�����/6��c9�
u�Bۆ
ݱ�i|���
����
��s���` ���n$�vo6��I&�PЎX�,怦�4ǵ�6^�
��ʖ#��؃H��
���#�l�:�7G�
�;�G�W���XN�����o�T���j�K=`@FW#����2z(ܕKj
P�`-/��&p��ec��UB�[�\�(b��Zq��V��|��=��4�<�;2��	�^�I&�2���r#`ݣ\�ɵ�V�WX靁��zI�y�y�A����y�Q��v���.����_�8����瘵5
��W[fW$)t�坳P���䛯è/��ثކ��&�;r���vVN�}/��
!� ij�ͼ4�c��y�
-
�0��A�3ߠ 1f'5��vq.~r��"�:L�w��}�G��sM�4^�jE��TqeT�s-��3��DcaN�N~0
-˙���K
����N���˗�f_Hd�\8w�ȸN��6���[

@V�� �����n��{2$���*h�b�"�����1
,��40&Ʈ)�Wi|`�[	2ɽ������h$yp�0H0��p�@�Vu�q<M
�A����p�˼;�
>���u�MU#?�ǭLND����L���兞�P=΃ݧ}[^�?����(!ϫ��|Y(3�	�`C�(
	�.��"Eڀh�O�7��#�����z�+D��*B��/:m�6�Ɠ����F
ò�9���&�ZJ�,h�8�k\�D(;��$��s�䙳����sc
����<�P�8)ie�
l�(:�aC�8�DDL-��� �΂"a�3�H�X�s;j���L�Ì42�Q
$.8��pX޺3VR$���]	��L�d��,�X�Kv���\u[M�^c�~
�m�
�����8{���h�
-T��Ҝ�,�Tk^��֘H��p]�עu��%�
-�G���P�ma�F,d�`1z#���ؼ�Ĝ��AP��vs�l<U�:���㹫hSbҳRW�:����������Z�D.3)�^L�gjӀ�kХ,В��e�ɨ�Ө�v��ވ�9���lxʩp�o|ޑ�n�J����
	���ڼ��ܿo �B�h97�;sCB,X� �ps�9�&��'M��H
k��(
��H��d,2� �$4�(�@Gƺ���NSKq0O,�����PX,7v2��^�@���&C�^"b��|zv_�h�	��
�d��s�8^MJ	�.�4�fV���c��&�=j-����J7���/�s�l~c�t�wvB�����ES2�
�y�J������
t�%|��i / 
�y��L�X"G�⺀
J����J
P
�4_��Bz���r�� ��f��d
-�Ҕ�lQ ��J����L��8�40����~>���S�t�L�1�P8
)?�q��瀪[�� x�ҿs(`/J�c+���z�����܅	�
�V���`�I:7%�V�c�bzz�YM��ԍ��K�h�{>���4I��O�Õ�˂"p/LR�Ȣ\>	4���2^�3�U���j׼�uիe"J<�?��\��j'�$�����;���i�|}�E��քY��Y�-7�[y4����
N� 2sV{#�|
��W?���x��Mm}�z�x�6������x����f.�������ǝ���gv�ܭ�����o>7��_��`xendstream
+xڥ�n��񮯘[(@����-1�����d�C��C٣a�!�l����S�&��6b`��.��]�	χ����_��޽��C�Y�
�N�28�Y�Qxx�����1J������Z�|��mS���M�;�aS�I�%���O��������
B���~
���r����P��C��eqx!��!�b��
>���.�"�Q�Y�|f��c
��}w��/��ַ�{f��Ǐ�4܇�Wi����R�.�GV߽O�~px�?NJ&����<��E�px�-.�m���?�+ƫz���k� k�������h�5�N�
������g9
50����g�4}'Є��N^�>��Ļ�XS[�Ƴ���� @�e*�U��A�ߙ%����..���s���A�Z
[9��m�}W�^�:��X���e�X�tE>k
���
P�I�}'�.h�˝;�&��|E�jm�f~���O��Q?GQ����m�9HC�/u,ϱ�2u¬bX��a�t���I0 at _�}ݐb�i9�Ȥ`=�e�T
+d�
+l���R����ډ���W��
�3��>٣Ր�
+?�ʵ�.�n�
��'����rU
sޑ쾴�YnU�8V�x�9�_IP5���o�i`��͚o at b~�����_Ԁ�x�Sr����'C/�ՉD

ӟF6�AbBӁ�Ug�=k��G+�"�dGk�VZ��
��f���#��he�r�x�Qm�D��$�p�\��DQnL���$���ۗ�G�1
<B�	�
D�J��T�Ԍ�:�).��ʌ
σ�
�i5A�����RN��I
+䍘�����g�l&���hx��)�;]��0��dq$ʆ����joQ
Q�=Þ|��
ATG�C�
�/gA���h�g_"bY;�	��t���I(�
G�UE�1����|u�֊��On��8:�)у��J�1��uzݹ)YaTH��Ւ4�8�q܁?K܁��9�|�;ph�� Hx���F�^��Y8����&k��m��1r���+�	��ܡ��b����܊XG�
��`���Ƿ�kF��
i[��:-�R$���YU`�{�!sO��R[᤯*�օ�|�/�R��ӣS^a�׃؇��h�{VT~9ܧ_��
���
_�C7�ı6�;7䴥��$-�NZ(洐{/஼R�h�>tb�Le��|:�3D���+

+���Vw��J5�U
�P�=����`��
����
=����X
�i�"�J�C�X	���
�
��UC�YJ���m&
:�i��nTЃ
��{��
ge���e��M���#��u���Bp U�kG)�y�
��?P��l�q�Z%¹̆�� ��|A�
m�
�� ��5;!A�@�M�
�F1"�ڪJ(b\x
��Y�D���
��#�JR���2m��ϓh�*�Iml��5�����XS&K��:}�o�EV�G�󡟞�o"�4�
a
�юq���ss
�ύS�i
;
)
w����~�ŀB�T����`�aт{�<���G
��#xۨ9I
׊+(\��ƒ��j��u2�,�u�-F���8�b�%�|��s���Θq,I�M��M"��D`=�Xh��3��gr����

�4��&����Ȇ'�4�~�C�e'A*�9�$ۣ(�CN�1�ϛ�
:�IM�Nû]'H��nΨ'2ߪi����^�
��L���((jz�*(�^�`}v���"ϯ#���B�
�ª���Zqe���ۧ����
��2w�������
E���C.	9�
�҅�J��q�����Q��q���\�h7G�����?�
��������4�բ���5�^"�L5��nϫO� �AdN}R�է�,3�&L�.
)�rҿ]9�FE4��P�h����?Қ�Tg.��*���r;��GY/T���
_(����J���<$���z��2
P�]^���5�����X��N ����tɀlC�ؐC�y�����NnsIC��4$��d
�� r�d��hrZ�z��g~����,��W��|�dO�<1{�b:_#Ƒ��s¾��
���+�\���.�n�"���͌�b��A
s
*e�
���<g��r*÷ڭ�Q����3���E�"��D'�0�<�}���	�wF��3(8�	!`�L�w]�=����PM
��:�-3
ތ�7ҩ�؄b���0
+&��
�v��"�[q\q]�3u*%mʻ4sۀ@�� ��s�
+��4\����iq�r3H�<�Τ
�����L�dA`
���K��.Lj˥:X��/�m�XfPW	^�qr�tR�Q�����<^!��9�l��`��
���8���ϠA��9�g'�
5ϸ���v�⠐�}.��e���
�X�zU�Iz���d�U�ˣ��Z%��A���!
+5:�B��d�1�"2���&G��ߠO�;��z̳
�ޮ<\�
�"’�r!m�LIO��}<�Ze���QR��~U׬)i&dF5No
�$�$����%g�%�oʥ5Zt]��� ne^𛈄�F
��
K��##�����F�L#��
�_D�b�$�X
+�s�+��d.�WΣ�<p\�+�a�ؔ�\
,N�@IP�K!��T��|!��
���[�!�����p�o�]�u}��p�J̃M���j�1���+�4��$�ٯ.,�+e�.s֢{3�5`&4��MkKQہ�V"d�d��#���N�nᏤAp��pl3U�9���㹯I(	�Y�k(�- at Mp<4�u����?	�eY�r/�-�f6�5蘒˰X�+�+�,��VM��S�4�ޒ��i�
q&ϸ�̂��Y����*�w �j&�af2�}�t�׼���
��B

��ū&=v:9�Ol4�F������2��d��ͭNl�-�I{ekQ ���M7�f8M
���X"���v��X]7q��d�b���#!��	�Xk|zI_�8�s�
�
H�1� �jrJXu�&��R���Rޟm�x�Z@U�]���Nj����S��O�B
���pҥ�H�'�4��D>�ӐH�����, �2�N�P"�CI�^�
Vl�ݳmt�8�$�d�[%=��U5Qe��H�ad�Ҍ'�H�X%W�sJ�p`�iڗF��<�7d�#�<
YNC�1�H0
*?���?,U)	�d���u~-�R`�Aʃ�4�z��qjƛ��K[
�\�m~2@�56�|�{��\��P���
K�P����WKY�a�{�D?VJ�)���B~���~�J?�d���YA��m��κ
Ժ��
*�O�h�����&�3,��&|^���Ec�"?����ܔ���������J
�� �����8^�z����ů�?u�u����ھ[�ns�0L�<�D�)�|Ť�w��V	�B~

+endstream
 endobj
-1126 0 obj <<
+1087 0 obj <<
 /Type /Page
-/Contents 1127 0 R
-/Resources 1125 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1116 0 R
-/Annots [ 1130 0 R ]
+/Contents 1088 0 R
+/Resources 1086 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1076 0 R
+/Annots [ 1085 0 R ]
 >> endobj
-1130 0 obj <<
+1085 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1128 0 obj <<
-/D [1126 0 R /XYZ 90 757.9346 null]
+1089 0 obj <<
+/D [1087 0 R /XYZ 90 757.935 null]
 >> endobj
-1129 0 obj <<
-/D [1126 0 R /XYZ 90 714.3182 null]
+1090 0 obj <<
+/D [1087 0 R /XYZ 90 714.318 null]
 >> endobj
-1125 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1086 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1133 0 obj <<
-/Length 3310      
+1094 0 obj <<
+/Length 3084      
 /Filter /FlateDecode
 >>
 stream
-xڥ�r���-3U�$�:�u��쬝�W�T���"9d9$��ʓ�O� �5:��j4�Fw�_��և�m�ߦq�e*Jn����ooY���{�뇛wK���˒0�}8�	I��a�>�����}��o�YUS�y͓��c�

�E�
L*:�"�������>X��[�� I�~��o�m	<~�{*;ķ�0� ����M*3�o>��Ӟ�
�a�q�6���;���X�
����|W��>/ƪ����_�8��Jw�>؝*��K���еM��'}j���e�e��m������]��]������zFO��P��-49O���B,/�����Ch��
#������q@��Ƽ�s>3L2�
��L �H�����K�����I�չjh�+�J��V at y���飬U��y��Nf�@��o��%��/��Wc��������?�Z�� ��� _�e�-�����`�}���׊����'�<�> �oˉv ��[Y!������C����} ����
~�*! [...]
(lT�dIp�ԕ��
��#CSf2u��)
-�
�Fp�
-"��
Mц��k�}
@w��%�݊�lܕ�&�����D7� �O�8	H�������yۛS�o�m�}QT��&�$,%��T�#(<3�2��+v3{>ү8�Q!F��.0T���`l�EAh�ޅAySʠd���Y;��xw�W;0�_�����L�=.�����_t[��,���60dhCu`�c[���aM�
�C{>O�.�3B�ܷ����.G�
��� ��p A�@����H�/�!�
�c����;T��c\��gp�<
(Old�	E�
3 ��l��
�ü�X
d�R�EHGI�
CM1��!Ӄ9�_�(N�7:Y(htňoԐ���(0��\��c-L�
 *���E�a
9�Β
�։���k
��h���U�6�R�����6v���	���MM���J�
��m��^�

p�2�U:�R!dQQJ�J�S ����(@���>
�E�9c�.�a�(c���jX�qHv�R�z 2 J�����O�!��0$�&�
䙮����.-'�L�Y��s��ec��E�!{��ط�-5�
><�U!f��
��+����AL�q�-D����*.��TL�������4J
@� C�x��3/
'Iy0��z�#X?�$?�(�NO'�!
ch��+6������N�xl%~'1�]�G#�Q҄�	�.Ac
 ��Zk!(�1�8�A�:��Ϙx[���#����&�Cf��
3A3b�SJ*kr�Xbf4�>���7s�p$�|���eؙazh�C�\��æ�q8���w���0kWi fk&0��$
�M�9�ƕ'
p�E����o�o
-��v[C�'
>�Aa�l'�MÙG�f��h3"���
�+."\�ed�����Ȝ8�Ε�� 4!���1!�ʣ�#+=C���

-e�j�a<
"Æk������!݇*0F���^����<,��s]1C�Vѣ�F҅�F�ųP�xa���>�z
)�S�hĚ��[ia��w�,ȳ��qoY��Ѯ�z,�p���6#�w*SNF�i
/
��:���0,�m�`��}���1%��v]��i�"�� ��ٌ�k^�I]�g
x7�d^cq'�!�м2D:������=�$�
��"�璂>i�����o;���B��N���W�|�?�#� H2%I
��1;��R���i����S��E 9�r�4����I�%�ME �y)P �=��!l0�w��[�O����by��r�
ѝ�|�$�t�؆�	�Fl���9�{��q��a�MC��4���j���b��^k�9�/�a��x�:D�I��5���Ma����Ho
"/�dA4����FE��3`�.�T��:�����ڶ�p
-�
TP
P�ib�8
E��
}�e)���bq	��A�D'nX�����oh0
<�����.�5
���x�����t�]������O;�nAwQa�b���#y 1�Ls�&šg �-�`���l�f��
A�/���e3,�
�7�F�6aA
q�z��m
-�zu�z����ÊG
����
 *]�N������C����x�x ��
-^5
��X�7��*��xޠk�gA���ۓ~4�5����P�`Fs �ń"�̜�~�Ȫ�A�N,���[�/z�6
-��mx���	�N���X h�
�ri^K���/b
��%ǹIF��͵P����p~դb��0}ݤ
�k&e��6�k
��Nך�K����9X�2��j��q���M��
�U�n��T��om� DZKz�q\Ո����A�E�����F�Qt4r��ՈK���x�MU���A��E8P��<��k౩���ˊ
��^MX��O�Uc 0��G����G*���XH��;���Vt ���c/ͮ��y����m�]!�(�*Q�7��Q*�0s;u�@/�f�U ����
-j�Q/;<���E��f����-h7�"ܻ���
�U�`0'��6듡��J�u�/�=���=���6�l3u*�?&O��|���H���"_�5�4z��.�OO�eύ��{�g.�8u��
c搂��!E��93F�3�?1q�Y����.�(�
Ml$�MAe�����5��\Ub���*s�E����}�\K�R/8p�A�R(&���S?ӀLt�5��ұNY��S�a���A��S�x�ن�B8�>�bR�mJӽ
�p��!��9���[)E�ܹd�&
����}sI
�NP*���K.)Tr��y3�L��z�
E��Zv�l&��L��J���)eC���� \�J��= �#���G�e�LX`
�Bz
��M�Oh��ݒ ���GJ
-��)��3ߩ�L���ȈWA��.�R3�s,�sK&d��Aa���_� �}��,��i�R��
���b��T�4<��,J�-3�a�/[.*v?��x�C�-
*r����y�Jrsesm
�V�01��X�~ؔ���9������l0�F8j�У�U�o~�����ۜ�/���*��,o#-�3/���/�|��A'�׏�(�H^d�,�T
��P�	�'��#���gif~l�˩*��dя}�Kd�9�i��;��T0�:������?y�����j-p;���R@���֌�>��n�wv���R�/��;�Ʊ��ݻ��g����]���]����|�C��Q�]SܽEz��B��@^D
^l���!�$t~õ����� ★endstream
+xڭZK��
�ϯ�[�U;ZIԣ��q⊳v6�q�R��=ͬ
����ί@���:{�e�A@�5���
�������_rq(�2O����PF�"��,���� 9�'Y|��Oܐ��UK�w�c�jj�U�썄�I�� �_������ǻ���];+�Bd�������� ��C��tx�\�!M�����q�rf�F�D�Q����
��(
+�K��z�Z�W6�DY�
+��c
\$��i�Z���7�"ҏäke�CL���1��n�!��o�&���v4�
L��n2#1<�fU]ݵ�.bn40�8�"8�}
�e��koƪm+Z3�K���YBK�Y��4�I�--?NJ�N�v�4��~`Ru��7��3�Irh�
�������7�
5��
oĢ�X��8��3U��U8A����D�F�E�U
����X=4��=/qa�O��H���Lv����y�k��Tݵ��P}�2��â�1^*C�G)y#��I���ӽGo����l�<^�y���]��66�
+�
+
�����I' �	���
Cd_ ��n��7��Ϟ���'�yIv�j��uм��\�W�+I���U�e��$Xx�6�H���	Yxv@��R��"� �`�wdv+y��n|�E� juU�-��(��Yij^��akv2쨞.��E�&�ɝ�r���?h�
+�
�o��kix�5JNZ��^���p����;/)� ����̥t��T"�� F�gj��A��x7"U}Í���v7v>&Yp�[k�@�,J��
+c�c8�Ƴ��,�����ВӬ���:
+�s4��q���Pjbw��0t�ԫz�F��`���%�%ڽћ"�dI q��@0�$k��7�(�
�e��H�O���1�h^��8� F��Μ��c3ӎ���'r����,��
Y6�"�j�M&%��z� c]�~�A�C�ٕy����Jt�
T��zlY({���x-�!�2�@�h�Z�J��|�-�� �����C;��v
����R�K���M���?���r�T�3��z��7�dp(��qɇ*0R ���Q�@'�ñL�Fv��X�%X#IC����/I"����<���)c�b�%%be��W�&��0%�.����n����,�-��ᷫ>�n�MY��W�'����y���	R�HMhG9E٨�XpGG5�gi�R2x*�%�8T�UHA�n�� H m(�
I�IW

�
C
D�Y<�.R�7.�
�Ӆh��s4��\6wɿq=7�j<�5��s�ʏN�#Ä�K�����L��U�!Cc��i9�
+�?#(w/zG	Z���+K$�rƯ%"AעYH�c�
{b�,�14��h�O�LZF
a�d(�!�60���
�n0�]#z�c�%�#�7D��M�1�	�7)
�j
y�4@	��X�xih1eh�|���awpjk��#L�t�E���i�?Q��D댘��?-���"B��_fAb���=b&P�
zG�'�K�hG\�6d<;y��`De�:�!P�ުĉ�M�d��'���cd��;��r(�"� C
�RTA�}�CR���4�
+�Ⱦ��y.�Xυ�g���B?AVF�%�Yq�b����̼(���3�M�Zj���ƪ
���
:��%S
3�7"2�NgS����Y
��#m"N��ipm��'��C.6� ��w��V�+��
�E�K���$kƱ���/D�煫L�� h��]֐íR~���I��}�rz����\���.
V�������? LF�I�{n����"[`�!4Vp�.�|]���)�C��i�ѹq�����B�@?/
+D_��dY�\ x�y�]a� g_zH-��
��Q�eh!�3��最��OD�i1�p��
�Y����9
}�0���}so[�8Sq�V�٩�Z����>��$�
��e�R
8/���]���8�j~��.\O��4
�e"G��!X�
��3�r���8���s	�,��-�(���4/צd}�q�&��߻�h���U��L�������I3�F���za��S�bF�ydH��;�h��]�iK
�0�

�%O�=�V��V�Xe��xg��r�>�'@T���7۰�v#d�a�	��
������h��1��%���B�o[�vJ�\ԣsN<�2ZZ����F���:�;1fV��^
�"�U�m�q&��V����9J��X��sF1�
�^@�MZ���Yo�W���ƺ�fKy��]O���
��'��`�f��o�P��>�ɇT�S��]}
���˾궤��a�м
ݥ�V�����F_9$Sd�7�n���#
�	�+5mJ1�v5rꪑ��v��>�C�A~�-�f�$��|jZ�XY,��C;ΤG��y���;x������d+k8{ׯ_��
+oϜ����_�i��ϼ���=ž�u�l
a�އ��e���M�a܊������E�A:�֡ �6� q�՝��I�V���&�xe���/��h��g��"�v��z񠥆�A���+h����EBk|	mЁ�	`����͙g&m�����F&��PeT�qΛ�b�h�����3�=b���q�y&(�C�y�|F5�1�Ҿw�'��	�1�~�*Ȅ66.���NV

+�<���w��|�:�˸B���(��J�6��/�^��j靹!��
��\��'��,ر|~N�KE?�V�m0����J�. at K+���"�G��/'vVRx(8�"�
�>@绒Pe 4"X�����~�a������p�C�J˶����!���H	}j�v������_��z�s|�b�i��ay
+���s�6)�����o��2��,�%�K�&2�P"R~(N[�	�k$��ٶ՚��Ou"[��t�G��"K�
���V0l3
Ä9k
:N���"n�
+]`���)��=��
�}F��gT,� �n��⭬�~�߱R�ʦ���Oa���!�A�aY@�H���a���/�Q���t���v���
�{ԕ�Ў_7�pĪ���W��0)zɏ�Q�-�

��m�F�(%������Z�1�<��H��	�Зq�~�����sX�p��U�j|
E���6G��4,��
;��@��o#����k
+endstream
 endobj
-1132 0 obj <<
+1093 0 obj <<
 /Type /Page
-/Contents 1133 0 R
-/Resources 1131 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1116 0 R
-/Annots [ 1136 0 R ]
+/Contents 1094 0 R
+/Resources 1092 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1076 0 R
+/Annots [ 1091 0 R ]
 >> endobj
-1136 0 obj <<
+1091 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1134 0 obj <<
-/D [1132 0 R /XYZ 90 757.9346 null]
+1095 0 obj <<
+/D [1093 0 R /XYZ 90 757.935 null]
 >> endobj
-1135 0 obj <<
-/D [1132 0 R /XYZ 90 541.1812 null]
+1096 0 obj <<
+/D [1093 0 R /XYZ 90 541.181 null]
 >> endobj
-1131 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1092 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1139 0 obj <<
-/Length 3121      
+1100 0 obj <<
+/Length 3046      
 /Filter /FlateDecode
 >>
 stream
-xڥْ��}�b�"U�hI���<9��8�ˉ�)�
-!�C
RV&_�� �}�R[�ЍF��7'}L�_�X'�UQ�j���M��<������� �#�����ge�X��2+��D�LwE�f�χ�7��)+���_'��[�|syim������^��M�o|�����p��V�2ţ?>|�c�x 
�|Hv���W�$������!ϔ���>�=�a mX�b���;��
3�K�B�
�r��b�6\p�o���+�q�(�A`<m�-���g���6M6������U�4��v:1t:Y�<�f�C�fY63�]Ɖέn���(n7
t�5�
Y��t?1x
.���$k�(4�
��)MwuQ�$�qғ�
����pd\>@ y��G��@�I�.}>�o<p �����
-�${��&�Ãm�d�W�]O �%Y�����a�
�cqC�c�x ծ�� ��w�R�D6�rs��
G�Ʒf
b�J���p��M7g
�� Rզ�o��Eh��<�W��e`p
\'G
y��]�
l$I����4�޲
�[{bb�4

c=�AF�ݘ3�a�/2/���:/9��b
i����@Ǎ�F7/�
	��� �*#�+�q��>)�𼭳
���ȑ�\�0����k��?�)�
��J
-��Jr�+^9��_�`!����t��
�xM�ϝm#�lۈ2KLv����ggƱ}
G9{`R������^ ���*�|�㞷5M���
������j���
���%D����f'^#Gsp!�h��9����mC_���7it�
-�I�I8 �����i�rcbo�r�9~�������r`7�
-&���#gcQz��W>��?6�f8�
<��|�)YZ�c��)��8_
h�W3����]Az*/6��L����Mc4^������j>
ׇ#��VdA+�&\B0Ÿ�z����
�
�P�"�֥�N�Ψ�o�8�tZ��ʓ�j���
��}し�4J��A�Gr�-<2�������.�dQ��_�nxC��F`1-���H� 
�QD�D�^)�\��
��d�&�W{��
��t
-�EVsd(k�������Gr��
e����� a̱Ò�>V��Ȇq���v�������^
�����	�
������px��
�Fѯgb�)��~dv	AWqºJr��*�o�	KA��F~�N6z$�#
�S�̯^Q|�.V%y#��l����o�0����!z#�Ы��d*�Z�.�ݓn�qb�d;s��I����A�4&�@��,a~EMb-�D
��OUa4;銭�ș�>r�0�RLV䱉�0�}�*؋�ξ��j1
�uq�S��
�^�+12�U��Ӯ�h+%9 ��
�
X����|mN_��\�Yx��$�}��� �<
-D09
F�)�!�(�V�$�A��ټ<��i��Ry�NyV��H�<�D*���c�C0b-��
q(��9�)��0ٳB�F�a��P8D�^�s\�}��+����D�5�8����Njn�cG.�Fh��R��Z�r
n��;A�e��5v��,��7$Ե$ԟ4��꾑#����%��t��9�y��}��N!	������+��h�Je�
�"āg(E�F2j
"���A��p*jR�h��0�
x��
�{�#XG�υ�o� �a��Y�!o �nUu�\�}�1���[����94��
	���R�GDF^
�@/�
��
p���ဵ<M��	q��x����	�[��{e�ןy$7\l����s�*�]U��[HmD�ܧ��I��"'�@t���\^���=Ӝ�f��@�^{?��ɰ2���춆��д560B��Vޙ���;NE�OƷD4���Ql�痣nc#�E�
b���0�BF^�|ֺ,
UG
W%%2�
�"#9-畵ܐ�����X�V�^����՜�
�!#K���L""���M�Z��z�fL�kF�
��� ы��ܢ���6�h��3�?x [...]
��lKN���Pq<� �l
ˍ�@i����Ψs6�<�s�\҇��t�Ɖ	�iǟ�����l�!���ڋ��^����y�
���m�b#� x�m�A�R2���; i6T%�V8�11ݻ�����si����
_��Ջ��!�!�o/�rr��
6�['0�9��+�B�;`�^;vA���V>�(�@3~^/R��c��� $���V�'����udp��
X_

��R���i�1;��
B�
�� �:���k�Lz�s-�Qw
|y�1L��_"�:��m}ƅ+C�H�3�0��6֓��
��(�qh7���.Dm��ü����:�Xs�?�
���3
a�Z����U����j���j'��8��x"�R�7�N�a[����
���f/�I,[�,�)/�����Y�
�C	�Yu�3�[������I
�b
A����<�إӋ,�*d,6��|jZm;^��hR�:ڹ��h�u��Iz_��hHb��D�>�f���A�_5���'*nt�T��ȮN�U�������f4m;C�2�܃���[�d	u�Q��ZM��J��t�5Hŷ,|m�����(��G��,��������J�4���rWWj/��6^�&^H�N�th�N����^
�h��h�Y8�J���A���8� �	a�2�[cnE�U�.��j) �~x���
��
��
Ut�;�x��4�����z�5���۳�����ܾ��K�]�W�/=�S@��e!y�/wU��
^B������Ļ��B���~���_�)Qendstream
+xڕ�v�q�Ю�9�.I��خ�6�&MN��,z�,`
+��K� ����
$(3�n, 3
����&�|��秇w��զ���|�y:m�tS�]�g����$�>�e�|���20����w���6<��mL?�
TqH�b���W�==||��t���U��4��?��#��Iw�>ln��m�\�o�y��4�L����.ݗ���NprV&�"��#���w�
��xڸ-���o�������i{^�M�|��㙡��
+��4�u�'0���:��piuc�Dq�a�7����
+������]}#?�iޚAh�-�1�vu)F=����<K܉q�X �X�
" �g-���Ҿ
+���g�%�b�%���$���w�mL���6z��
�ng��2���"��$�rIbz7A��>/�i|�*cLd��'�a�,c|n�!����ɒG��[T�Q%�~e�g�L�>�^�
+�����N�8�6-��E{�HR����q4��e�dq�=ߏx;����
�� ��i�0����z����x���EH��Gj��FN#k���˄�~�-�G��Z���>*����k�Hv.�v��N5���6C��QiɲVi�
+�+�.�e
�1^Ay J����k���5��v�(��d��X�~�f���h"g�L�L������pQ�H�����
���������ܼ �P�7KVdl���.!z���5;�9!��� D{D�-��ȶ ~�m��:�ޤ�m+DFy'� \�g��/�Q(ˍ�E��~����ǴLmߴ�#�?*�H�&8�
�E�E_<������X��|
T��˙�dih!�y�e�K��1�th�73����]Az�(
�T.E���1��C��D��ֵ��uw�_ъ|�
+�	�L3b�An�|�#
+W�׺��
�z�J��Kgע�V4�U������=.�i�
O'
ȃ�d��t��#��J�R8���E��k~\��
a��Ŵ�v$��D�B�(%�
J)璸Vn89L�nRxu��=��p�>]��pӽ�jN
e�R�����\�m���c
$�9���-ibE��l\'
�
D�ĸ:�{1���!
�O���_�7?�o
��W���1|㼉ݦX���%L���U��8�HWq~/OX���k�w`�D�%��cܓ8���-�+Z�O�
+��$ϤҚ�5=����3�/?"D�Dz4�\M��Û�
H��02t���c��u�� o%!G^
	�0�r�X�*Q��2U�~�bC9qt�<4LB�+�yo"F�"��LF��P�UV�X�z(�������t�*/
+KyH�2.��d,ͥ9ݧ-�ls�,"�2Ї�)F�8����]D�&Ggd��Œ�o*DA���-,и�
�ʃ�o�gEr�tDJ�R�|

K(�ki1����0��Ψ
�=+4��
V�
ED�$q�9��"�0���ʅ&?B����E7�7>^u�N;�wB�-�
��2�������d9��6��Q��M�_˩�Z��ԟ6��꾑#�
��'���쐄��<��t�)�
�����+�h4Y�ryX���3�"�u#I��
"�&��(X,�"ԤN��7o�xrൗ3x
��`��>�����<@B�@����D�6��2gz%��8}[S�bTS �k��y4�R�GD^���0>^
=&m=1�:L�/���8�G���@j�D�j
��\).A�Hn���8c=�B$rU*��"��������J2����Yэb*�&�<�3��kF1JqE  4�����
+�2*��˨<�S�͋)��+�L�
y�
g�Og:"��Y�(�?���Q��{"'�g��Qe!#/l>+)�HGՑ�U�
��|����S�Zn�BWҩ��X�V�^��۫�9�d*Y�;�g_�nJՒ	�o��r�l
�88�����zQ��[�R��M����
�ou�p�~Sw��6�#�ۯ�Ga�3�@ݩ����\%������X�p]�3��X�E*�$D��)!�,�q睱�����
+9��"���b���+�)Õ\
}xbY��/��T��5�(cDXtKUU�p}�7�D��7`4��>��T��T���l���h9;
�+�2= �I+�AU:G��׵N�$^���/c
���zg=5��c�+xF;��@�ȗ�P�Hts j�F8Ѧ�	q&ò��kyB�$�\��������
�R�?�� k�D�`��He̸��aK�����ųB�zGVF�?5�C���{�oFgeں�e@�W{����7ᛶ	��Q��6�E��K��ڎ�N*���~�w,���P�{�|V��8��/��r#/PJ��&~c�[t��yO!�C
������/�\���&�p��q1�b��Up!:p^�b��۲Ld�o�
�.%� �=dˆ��	G
0�y�V�^���a�I���d�w��z˩oHN��+���%\'��C�I�
�BH�
+i
��Ey�g��Z����GI��z�;N�9FX�
p@\kM>�=���]���s�j`C],�FK]�b�%�����}+�Z��8���q�K_." #�..�S
������+��mH�p���l?��"kmcɻ� ��QO�f”"CӅ�_�X�1��V��8�ϑ�@�9�c�
\��ZA
j.�fy(.s�(��XL �)�y��85k�b:��A���B�%cK�"2$�r׹E�O�Bp(�0�G]�\��lh�〿��@����B�,}W
m���E�_�?:�I��4�Vێ��~mc���3
�\Kv4��6\�(M�\a($1I<�.+Uqݠ�/XC�79�WJ�#O�eW�?��|L���u2���!�����
n>�`ЭY|�e
�ݯ}@
~A��
X~�A*�WRg;��O_��?���:;������~WW� ���zW��;=M�"c�wZ��}=���!�z�X������wp���j$�m����Qf�?Q9���)_��&����(#��T����8^�����v�5���ۋ�����Ҿ[����YV�<��K��"�yk7���G��=�
+endstream
 endobj
-1138 0 obj <<
+1099 0 obj <<
 /Type /Page
-/Contents 1139 0 R
-/Resources 1137 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1116 0 R
-/Annots [ 1144 0 R ]
+/Contents 1100 0 R
+/Resources 1098 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1076 0 R
+/Annots [ 1097 0 R ]
 >> endobj
-1144 0 obj <<
+1097 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1140 0 obj <<
-/D [1138 0 R /XYZ 90 757.9346 null]
+1101 0 obj <<
+/D [1099 0 R /XYZ 90 757.935 null]
 >> endobj
-1141 0 obj <<
-/D [1138 0 R /XYZ 90 630.5366 null]
+1102 0 obj <<
+/D [1099 0 R /XYZ 90 630.537 null]
 >> endobj
-1142 0 obj <<
-/D [1138 0 R /XYZ 90 399.6651 null]
+1103 0 obj <<
+/D [1099 0 R /XYZ 90 399.665 null]
 >> endobj
-1143 0 obj <<
-/D [1138 0 R /XYZ 90 283.3455 null]
+1104 0 obj <<
+/D [1099 0 R /XYZ 90 283.345 null]
 >> endobj
-1137 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1098 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1147 0 obj <<
-/Length 3525      
+1108 0 obj <<
+/Length 3460      
 /Filter /FlateDecode
 >>
 stream
-xڥَ��}�bެvz%Qgޒ�k��^?�8-���:ڔ�I��S)v��1
0"��"Y���<��<��c���Ze���_ ��C"�O0�"�����E�X��"-
?
�B���4I?5?G��)���~����
w>.�]{��w��
��N��*��ݯ��y��_\���"��{������=~��U]可Љ�I]���C�*��
~|����4a�y���S���\��d�{R	�g��l�y������`
0/��*���W<k����0�m�wi
-�h��`
�#i�
�3.q���if���5����i�e>�����ia�f�2x�����w�.�<��h<:
��ю/V�2j����g
��xR`J��,���p�kf�x��&th'�}֓i���
f�X�c�i�I
t�9�_솿_��<�
����$����q�������"͔��,~�<!y3M -J����L"3;���7��5��:n�c3�q����G�!ܵ���,���Ċ���8z�}g� U�ѝ5��H����Z\@�-�P�5�8����U���6�����o;
m;�8�ϲ�4����,o�H����y6��e�,䪨�}y'�;2�ןaU.�ڦc�d���ig!v'0
F�7#�%H,h�p��p��. 	������xlB�{�5�*����zb��.�{2�-f8�<��q�����8Nz��0#V,GB�0� ��PE�!n����8�ɓ|��J`��M
��
͒@Yǎu�Zf���
�U$6�`#��
3�:�B�Dn�crIsWD����vrs�赝O��籆�G�����+Y'g�D67M̗�L�R�
G 
	ɨ,��
5�qx2����
_�;
/�a�׶aXّ
������Ô
���yG

�O����k����.�U�.m��S
��!�7G[�tj��J*M`.
��N.���4&�9�?�V��CÍ���e�FvdT����ldz~���췅8p<�7�:��r<��5J'
�%
O
���[*����Y[
Rr>!;UF��K^
�/�*z�r��N��0���l�� �
I7wI��{{���UO�C�J���\c��o���4{�
��Vр!P������xZHk2���
�
�� `~�ȕL;�R��0��]Y�VO�;�6�v���7�:-$$�i
h  �IG‰8�̢O�
-�Q�I�%^
-rn��YI�����<x���/
�
�i�<��
<�
-���rr����=y�q���r5~� "�k�i�	�x�E
��K����˙G�
-��B'ۊCe�e���K�9.}�����+
�Z������
r���j?ԭ�:dR�3����hA8���5�8.��||��8
�U�X��1G��I�਷m��;�E�D��A�s�k�LƝ'e��)6@������^�#��x	"x�A���z��~h���l\^N[�����Ƒ�����C��`�;��u���1r�
°�e��
�쵞 )
-�1%Y
�b���43�:�9Y���M�b�@��fYN
��Αi��&��1��Y&��#�}P6g�����l��a�|
�1��5W|��ys<�<����;+��b��K�3��K�-��L�RL2�O���+��v(\��
�
�� [|���
�29%��.�U�7���K!��j�e�����F����H�7� ���ա=�\{ y��=|{m����
 8{t9��I�G�
 �	�Ԡ�_�y}�!9*e1��XS��s���O\��@�D7�ߛmV�"[���n���
$ӌb0g��B$F֕=k}� ����g�W�B�o���R%[r%��-�i�43>��#cM
�����`�:�D�Z�J���|3\�+@#���
i�p� ��R�o6]k�LI.�y�Num��|���qZ8��{"�TT���Rc�d0I].)Z��
 0�'��¤l�V9��"غ��
�������*E�i�
-�;,�]}�E[s�
c�L�F�׫6���
-TR�+���̆x
d�
�ӯ\�%�2A��b#L�2t@=
�	9�F2̲r�
��.�k�u�&E�y�d�V��a�2��x]��բu������
�M�`��
euR�z���Y����l�
Y�P?��c1�[k�	�f�5x?ݑ5ǘ��_���
-"��s
Le�?�$��@7U�D2� ���S�VR����oN1jZ�π
8��'�8M;
lKI�h/.?�#�3����,w��� �v�lD��r�lYs��&\�ES�T�Bwj�+y+l���+��BNKM ��rE��J;��XTε�A5瞨�"���8� �S����d�����"j�X�l
֕��҅@e�V��.�ѿv	�0�����BcSG��÷2
-�@F����f��rܒ}�
�[{!�a1&��n�`
U����"
�wp#�
��
-B�j�
b�ւ��t����aPt����0�
Vb�N�r��|�C�>���CQ38��VlC�Jd>4����Og)S:]+�f��I�
�B�al�WAV�^�ςuZ�U&�'R*%RŠ2Y�[8�m�
�^�
8Vzk�F𠑪�J��@17�c�@Y)�v�\��Y�%;][B��&T�&TQ�%�L9��
��hC�E쩾���R�ǯx�j�c�W
�޸^��|�x:.�q��z�^7�
�0��t�xB
-ܓ��@zϒ��X�k{m�N���c�rY�T�*���0��h]�
�	�Y\���QE�3d�H`b<146̺�R8/6����[p>�б�P���C"	v�n�l;�x at V��;
m�[�[���v��1���+�8Ƕ��,�V��^[���q��0�~	o�g�*~ � d;qx����<�8�i��@O��P�4{�j	�~۟!_i
�_y�,E"l6�(�G��q�
�r�-���5��3�R�]=+䱏�U�)g��aŽ�N�}��қ_7��U�O��7��
��,��b��g��\D����w>0�i��O����e��A����|���������

T��ź����-v��h���a�0x�(�!���K�Yf�5��c�
fF~�S\��
�b�$��™���
c�R
_y)N�
s���+7�We��K�-�ԯ�74z��7����y�p>�l���U=:��$͘�;K39
����K7�����	�
-�y�;|8�A���	9)��*s�+��j5h١q�`���[�ހ�$z�he�5qM
-ƔK�N�
��b
<�#@�L��U��>�x+��}�n��f�>�#��C��2�+
-�]-�f��[����K��Y��>��揣b�ߤȋ���W�#��ڗI���WNj}]�J~_�6����ϩm/OC��r2�����j+���\���{=,�Wgh+�7V�Vc��FΘ[�@���ˤ�f�~~t�o�s�	O�
�5Y���.�������___��i�
�����=X����RU�������{�Hw{�⼪�}Y'��^�ΩK:�Y=���������6��_x��gendstream
+xڍ˒��>_����]-I�[���̦<>�l ��"e��X���
$$q
WM
�F�4�
ś�M�����O>jS��"-6��M
o�"��i�yn6?G��}���W?�$
��[�|���=p�;{0�`�S����|���7O_>?����Z�&!�y�+U�9��~�5�4 �f�T]m^	��R�v��ӿ��?�g�vq��>�d�}������t��-|�����x�>�v*�y��q�Y�K��Cߍ��i
Mc� ��`
ف�4���:�r�Է�q<�z�}O���5#M̜,��y<Y��n�h�`
�G�!�>���鳌��-��z�Y;<7��R� ד=����&��L:����`a��
V � �|��-��n[�����<���<��6�#��wx��`�H��
+��M�8���0�HX�\U�х$Df�ڞ�o�kg�Ѷ�x�f*�6ͣ���C��y+=� ��+�+{�fq�n��
��
+�[gts����:\@�-�P�5�8�3�
t���#�mNm�ݽ���v/��^��� �u���%���v
�'t�9E��`!WE�m�;�ޑ�g�V�4,m: 
�m�
;
+��A` 0BDx�����(AbA�C;5������
Z
�V.��W�r�-l�<��h�¾��d���#
'�o���}c���G8
#0b�r$��X �
@�
UD�/���f�+G�+�a7�ّ�%���-�
�Yf���
�U$6�`=��t#�z�B�@��c�IsWD���A;��U�j�Ӳ��y�!E8�S`�B敬��Y"��&F���t*��qґ��ʢk?1P�����0h�h0����x�
kۼچae�zr0�
����久�vv����Dyo�O��+�	�bZ��"�f]�=�1]AYqs��:A�&�����1������KcЭǶ�K�d
�5��Q�_-��4rS'��2
�w��_��6Gg�.ā�y�y����:��Q:�,�xZ����R��
6/�i���	٩2r�G]�� �r��W)�
*-�Ը�+Y�.�@ېts�T
���
���wh)tk�kLןm�Bבfb/�Ab �1
�*0j�̲�_�<
&Қ�- };��2: X�A��\�0���WB�NF�'Kѕeh�D�#i�i������
�⢆�d%Y�E ����I8G�Y�@�/�̀��@A���?
�4P`� �v�!g��!DZ���"
�/��r�^���>�'�W�:Znh�?�H�l7�wQ
o�ȣu�A此b;��
�q�����NQTɳ�
����s7�
y\�p���
��bF�.��;dY�����g�@�.}�5��O��||��8��U�X�ʡG��I�ਾ���Vf��Q���r�� �q�I���A
+��6���5< ΂�d��p;_" h1�6��^Nk:����ԑ#�����C�QgƐ;�����1rv	
���2]
m`��L����,v
e1��i����bNF*A���AS��Xo�w�ɖ�l���xӲA�L ��I��Hy��90$/w4sqA��@8��{
S�|I���c�6��灳G��~���Je��Ƭ�1SFn
L��j��@3Ӭ���Sr>����v叏�p�0�#��a�����]&�$�e�H����.�j�e�����F����H8� �g����X.A�<U�
���S�GvJ| ���
H�$�#�p�l��֯]�>Ӑ
���xQ,QZ��a��O\��@�D7�?�mV�"[�<�nu���
+ӌ	B1o�pE�\�<�v� �v�ۑ��E!
�T�l��-���Ö�4̝�c��hν��g�:�D�Z�K����3\�
A����|'*�A&��߾7�57�$��G�h�Zۼ��)�.1�
&�䊒}SQI��J�}���
$��dj�u �l�l8�F0
���Z�
�d�B
;/p?�[��y77�M�+T�� �ar���5ښs��fr6��^����M���>��S��/�,�f+���+_���Z�
;��S�

P�nB��fN��
��.�K�u�&E:��R�$��8!d�;�>m�E!�l5��q�����

��
&r��I��5Sg�ף��!d]B� .��CC.l)q&ț����閬9�̳�k��qTHdu􎁩,e�9W�?�]�5�8 k������v>�}�~�QӒ�\�NA9�i�pp�r��]}�
+8GƱ#����,we.�� و4�)4�2pٲf?�p�M��R
+���+yK��bx��
h�P��RD t�\Xl���N�b�wmuP�y$��'.� @��Q�l�@2�d�dxQ	�B,�Y-G�jPY�������4��6!�Xg}�'��X�Q.���0�Q�Dy@��/§Yh�
�d�A#�G��������5��T)�'FB�x��Ώnp

��(���/��Rb�С?r��Aс�{fè_��;a#��c<�UK��E����k�
q+�����}:K���	 �Z�50�=N�f8�c{�
+�B ��-�Y�LK�c��r�TL����L���[{C�����ܨ�k�*p�� P�͊�X(PV
+�����.R
-�ʝ�n-!��B�(Ғh�
c���h����:k*o ��Q�y���c�+����W����
�n�=�F�c��z��
OH�{yHo/�_��<{�ζ�,&+'g�R9��*n�H�
k�u/ &8�f:p1^�IB/�y#����<�X7j+��~^�pUݦ��|��eˡr_��D�[WY��x at V��;
m�[�{���v��1��
�8�ٙ�,�V��^;���q����C���%��9�Vy�֯ d;qx����<:y�i�6��43mC-��8CK ����J��敗�R$�fc��D;���a)���!^C�A9�/�>ԳB
����8��?,�7ש�s���G�q�����!�g�d�'GU>���#����/��Lӟ��o"�H[fK
D/r9�p
���.J�Z�K��@�_
�˜ߑ���Fn���ߑ3,��g��r	b;��?��� cl�ad�7���X;&�,�,f� uh�c�ʃq�e�+��^�!��(��_^�i��~}��y�
.�~�Ǻy [...]
+�
+�y�-���l!U��F�*s2W���jв]���Y�����I��ʜk��)��ai��9�)R�<xqG�h�����
�c�
p+���v��f���#��C��2�+
+�}-�f�𓮔��Kx�������力jW'�_���\
+T��ե���Ry��s�����|��jw�'�O}{=��i�&�wډE�i07?��^w��!�|�d��x���řDͯf`������>o|�[��W
l:��.�p��[�x�ۇ����ð�:{q;;~ ���wwGO�lW���ѻEI�0/Ʒ�3�����W)�n
+endstream
 endobj
-1146 0 obj <<
+1107 0 obj <<
 /Type /Page
-/Contents 1147 0 R
-/Resources 1145 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1116 0 R
-/Annots [ 1151 0 R ]
+/Contents 1108 0 R
+/Resources 1106 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1076 0 R
+/Annots [ 1105 0 R ]
 >> endobj
-1151 0 obj <<
+1105 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1148 0 obj <<
-/D [1146 0 R /XYZ 90 757.9346 null]
+1109 0 obj <<
+/D [1107 0 R /XYZ 90 757.935 null]
 >> endobj
-1149 0 obj <<
-/D [1146 0 R /XYZ 90 716.2211 null]
+1110 0 obj <<
+/D [1107 0 R /XYZ 90 716.221 null]
 >> endobj
-1150 0 obj <<
-/D [1146 0 R /XYZ 90 153.7414 null]
+1111 0 obj <<
+/D [1107 0 R /XYZ 90 153.741 null]
 >> endobj
-1145 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1106 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1154 0 obj <<
-/Length 2906      
+1115 0 obj <<
+/Length 2822      
 /Filter /FlateDecode
 >>
 stream
-xڥY[s�F~���ۢ*[��7Y�6�,9�
�TN
��,*@�z��m`�r�֩:�t�����
˸��q�뗞�
}�v/7�
��
�������]]�ܻΥ?�]ӽ\�H�k

�0/W��4spm:��0[� ��"Jy�|zM�
���&��&#�
i�;�}��E��7�
�5p�?/~�]�܂�?]�C�9��0ч��
۴�$�X^�R�a-�;�cX=gt��Mk���Eg��Qv�#-��

-�� ��}�'�T97y�ƛ��ӊ|`��G�VL��
�NE��
�4غ���p���H�7�+���ɉ�����W�ښϪX6c��"+���
��
pеa
}�1��y��:���� �Lxτ]N�ieT%�N^�j�#e-��P�0ʶ�����
j���W�!�o�(�xgUR�l����~g�iJpcIVv��:IK,r��h�a
�ظ.e�{B'�Q�����n6 y�V!b at +#� �
Z��XV�I����@���KZ����h%e�gL�w��������a�G�v"	
!�IyVEA�o�d��%7��5��Oƹ�!�Hko���)P�J�W�
�TQHh�S6~�"�lKG�l!��b:���
�k`:,F
,���5�
IV�|��2Z���<W\���v��DW�����W���@���SZI6��a����b1�.Cv��k

-5$i��E����(:
ӏ�����UoX��#i��	��5@�f�n1M���T1�^Y
�MBA�I�yD8 0�tΦ<G8�h#��6L�høQ
`E	 �)�s@ú�b�m�"�x�
RT�:�"?�	jD��⪑ل+� ��6��;PÕ�uG%��f��x�Ѷ��"� ���o`�.$:ɛ�{R~
��;���oi�EL#S[�;>sT(
ڐCˁ�v��ŏ�r�TXa��"���%3b�3�%S�(V)�()h�� �*	��������1��C,�\Q 
1�X���
- 赁��v
D��
F���LI<���ǤH*VR︗G ��4��
��F5�\��m�����6��$�B%!��6,U.�����4>�*Z5Rk���5m��:�2�6�#�o	ş�Š�3�3��'H��^5���
-�t

b���A�Á�<!����f\*1l
q��	p����������6�f��vTve#
T6"[e#2j�F�ӴЫȨ�Z��Щ,���mXI�@6���
-o
�n���P��4?Vr
�+z�c-qN��hh��p����VW�Mi�M*�`ĉ43��)��
F���߾�w���рS�}Z+`�t�~���9&c6mL���i���
�uR�N�9��Y^1�2���s'�6�9���ww���׌�&�'Q����B0V`��\��g�:�8 !>��Tӻ�x�y��?a���ٟ=�A޵ڣ�w�N1#W%A~ �����M�1m
���N�2@ޝ�Yf{] ��k(� ��n7@����,c[ ��Vp��~��r�e����V
-Ai�1<*�xJ��7�l�#�(6q�޹>�dr��1e��Z�=���H�˶�1��䪄�I51�/wv���}�u?e�3!_Һ���nd
��0h^$�w�Awaw�rw�w�~P%����\jצ�i��|��,��w���.���ڞ<�K!9
�_��f-rP�W��&Q$o{q�>O��6U)})�-��x�h�@��f��-Ur!u���&Ց&�.)7imV�6�e �Ψ(����#�
���c�׶ajᒿ�9_�x��b<[}g��|�Xƃ��r��?]!��V�ПwĂ_W�l%K��S�Zw<�����ix����v`��0
�xN�K���A�$x^1��1�1u�V�� ^¥,_��Ŏ�:d CY�W�쁉d9&�����q�B���]�X��9��ݠ,����4}F�Nj>C�`)Dv� �]�D�`��X�`�3���,�����%\=��+���F���w<��<?��;�wtW
B�ǿ>/����js!�O�@-g����&�[,*2&3�O�! [...]
���	���<`����a_���+�;�s!��AK'�����"s��U�-��l“�r�~
-ZZ
�
(9"�!Hl:��,�@@����ϱK���Ƅ�
np������
4m>��/]��)<'��
�N��5I�/�("�����7҂ovHZϦ�v8^
xH�;D�Ca��
�̑��0
���uj�����0����^��mm��m8el��	�
-_�����f͈���9��w�=)k`\�
g߂���TP��vv��x�m\
�����b�m��i(�����u��b� ��Q>�s���QM,��f�C0
�)��lm�
LB�9�@] i���G^XJ. z0��²c�������
&����>�
�a9ghDR���
1#����
�� ��
&g����w6�αȲ��س
�~櫺���l
"�9�`9L%396��L�
u񷕢M*W�ki�밸F�u����c�轮>�����pM4���o8]����{�s��)��π�P�!W�w��%��F��p	5�z~�t���X�?
ꀁ���ׯ���;z�o4}t��g���GeD�7Sz�`�
��K�y���"R��ZD�t��2.��̟��~q�T���Su�\
�8�.���^�A���R�~>��^p�X��'{��~ҋg�W���77����M9<eɱ&����t�F�P�=��w]
}���yk�=߰[�ԏ�C^?�2 
�zhڃ?/���?
-B��endstream
+xڕY[s�F~���mE��u�
�l+�@
�TN
d��*B"�����۷��ly�N
�t�����
���zz���nsu{�Z��`�no��뽡k

��m���4�c:����� J�<Lx�:�$���x�E��e�4��������\�ye�^z� ��p0����x���zo�z���z�$u�٦ߤ����J����-;Mk���Y
���GZ6��
-,�}�}dg�wY�D���!��o��G��Lx�rx=��!��Ҵo��_}��"��#N�D.ώ��!#GT[����bV�|VŢ�
���-��03�D��;n
c0v��Y�ມ���B��.Cv9'{�a�"�
)kq�ǂ�a�W�`U���.�_����y�qʓ(-�<b;M�'�w;���L8v� �Z�
K,s`�e�a
�7ظ-d�{L'�Q������+D؀��Z����L{`�c6`���cQ�'9G\���:Z&i�����q�2){���eȯ�.�C�7+'��	�U�&q��(�Yr�
_�4�d�

2���Ѿ+*�9�
��{G:U섍߳�9��с![��@�X��?T� ���7

�	�
+L�`���8-E>dn�
-}K"��+n�N��A��au��z�T�
vW�;�#�`
礔l���Luum�bê
a�΂a�P�!N/(��4�E��|4�,�.�0/;�z�wI��hO8�B;+�Xw�ij/���y����b
+L���3 ��Av�s��9��iDU�aREƵ� +
+ xL���53�l�)��"���	P���MP#�O���&\I(��qeւ���;,�[�w���-xD��~P�
�ѥ�D'y�v����(
������Lm����\�І
�X��#�=(~ ��
+�2	P5�?(��5 (���@�R�DIA��VI�
U

a�{DŽ����2E,8F�b���g* �W���2�z���">�I���?$��<.YI��AV� �xR�s�2j�lr1�����N��
�qzW�PI�p��

���x0�;�%��*��F��J�p�6+�Bt�e
�(�L<���b
+���P �!U�;դ��

�q4��c���
��%�	��]7�B�a[�ۅL�ÔԘ\�w�nMSl�(�veg P6�@e#�U6"��jd�0M
�����I�j�2�MA�a���ds� 1.��֐�9�> e*K�S)Ǡ���8�%�(
mC2�3u
��ʳ)-�q)� �(�f��!Ԓè�3�7>����K#�*�
��Okl���
�dL�&��i� 41
�`<�tCfՅT醓}�aA~��L�
�&��	5�Fi�jbf�
��k�5��	��ڽ稶�X��,S=�ųN;@�.�*�_��#ޭ�j�O���|�g~�wm����]�U��U	E����?��
S��a�^ԩVȯ��L���6��`�6�� �K`R� �?n���oW;��'x.g0]6�_m��vó�����d|��.:��b���j&�+a
+��5A�3����?�l�S]M�J��wߕ;����|�U�Es�hȗ��g�q;2�Jc�/���ޠ;����B���G?���}	���.�s<�
��X"�4��]��3��
�J!>���_��z-rP�W��&��oq�!K��6U)})�-��x(��@��f��
Ur!����&Ց&u�$�6+o�܇Gg��aZ~����~��
���m�����b���7�$&��w&�/
�2
����!�<]#��6��_�ļ_7�b#K����l�O�D�d����o���n�a��0��ЗR79�So�a��`��³! <�kY�����
hu� $���9�7�⁉d9�����xܰ��r>�u������c,\���
+
�}|���Z��>>2���D�`��X�`�����,��������<.��4�F���w���e���b����j�/V���U���'W[
+��@yj���η3��ﰨ��,�<��v���Dֈ�+�]6�OE.�
��eC	=y���;�sº���7
8
S%����Fx���Dثm�Z����ʎ����.8��?s�KQ����1a�
�]3aSi��\�0�i��z̡�*'�a+7�㯙�y���}
$��.W�!W�3�s!��AC'�����"3������]�\6��d��>y
�T�
��$6��`�M! �uG���5��kc�مx
+?��R��e�i��Wp�
��s����@��<_�$�2�"�`K��iG����I�Ŝ�ǁǁ�t�� br��p�`���(��x<^<�R
e����_wnk�ul�)c�5OhW���U�4��kF�=?.y���T���q�w\|�
�]Pb^3�]A<��.��Ir^3����ܗ�MS��*[q1A RgT�O�\o-�*T
�q��[x�d�k���^yS_fj PH���9$/�%=��Ma�	`
+ہ
+Xqp�K���[���\�����
4"�r
�+y��Ѹ���
�� ]�
&��5�om4_b1�e�]`�.�����F2v�-�<�<H�r�Jfrl\5�nu�7��M*W�[i�밸F�u���ͣt^W�o|��h�&����>�ןo��@�=�9
+ at h��U�g at T��ˉ�+�;`Ւ�Z#�T�����3��
��s�;���WMT�"����ɯ��x�8v�o��v��7���L��
�y���%s�ܷE�W�8�?��Y�r�)�饤
�w�#��
+ү�HN�����F?�O�N�hS���d�,O���}��9�O� .oO�����
�

M��z�
��ђ�xy�׃�_j��
+endstream
 endobj
-1153 0 obj <<
+1114 0 obj <<
 /Type /Page
-/Contents 1154 0 R
-/Resources 1152 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1161 0 R
-/Annots [ 1160 0 R ]
+/Contents 1115 0 R
+/Resources 1113 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1121 0 R
+/Annots [ 1112 0 R ]
 >> endobj
-1160 0 obj <<
+1112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1155 0 obj <<
-/D [1153 0 R /XYZ 90 757.9346 null]
+1116 0 obj <<
+/D [1114 0 R /XYZ 90 757.935 null]
 >> endobj
-1156 0 obj <<
-/D [1153 0 R /XYZ 90 660.1161 null]
+1117 0 obj <<
+/D [1114 0 R /XYZ 90 660.116 null]
 >> endobj
-1157 0 obj <<
-/D [1153 0 R /XYZ 90 555.7516 null]
+1118 0 obj <<
+/D [1114 0 R /XYZ 90 555.752 null]
 >> endobj
-1158 0 obj <<
-/D [1153 0 R /XYZ 90 336.8353 null]
+1119 0 obj <<
+/D [1114 0 R /XYZ 90 336.835 null]
 >> endobj
-1159 0 obj <<
-/D [1153 0 R /XYZ 90 196.6054 null]
+1120 0 obj <<
+/D [1114 0 R /XYZ 90 196.605 null]
 >> endobj
-1152 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1113 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1164 0 obj <<
-/Length 2749      
+1128 0 obj <<
+/Length 2508      
 /Filter /FlateDecode
 >>
 stream
-xڵks�8�{~��U�i��On��K�^��Mg�3'˴ͩ,y%����(K����͍gLAċ�=��g�bk���^0JwW�h�W6_��u������}�b3�`�X+�m�����
g|���������2ɨ����dJ�LE^	�D�^8�c���t�,β�n`��^���5Z���^Y�G��
˴���<�՝�j~�φ
�	C[�mw`���ۣ�V�j��ߦ��k7���{j�O�	��p�n�H�nǞe,>j��q���q �/<k2'��X���
��m6��c.�0b>�����n�� ��um�f�����dC�+��Ol>L�&R��溎iŠ
-�k�&��-c�ע
����uR�"'�ŚڹHYQ���M�#^��[X��L׋�|f�˵b��
-"c%�4K�VW
Q��,��>F-�S2��Z���L&K�IM�/�����J��dI�D�&y^�/��cGS�d����Ulƾ�1b��k����$iZ�+�o at K�m��*@���z��k�B�-Uslf�š�+�Ym�,#t��g'YB$����̷IMЮ�J��4�B
e�C�ZT�5�vY١�]�9�����tn`(���n���L�LU�9YᏲ��
- ��bS&;Г�G�!�DU�H�s��°PIU
v�3w�-����v�$��
>�&-��Щ�JLIL�H��Rԇ��5J���l�� �����;"����b��iN�D��>ܿ�-f���כ=��{�����
-~d�
f���f��lE�;Y`C��N�2�m� {��8�c�P��^�v
76NŁ�p%ζ����hBc9y���
8���h���G^Z����
-"@7�~�"��bS
-t���)�J.3
;(� ���N�<��.��g�<�&�U��[�ھ�(ɚ���%ߐ'�ɚ����u�����V�[[딧"g�4i,r]��؁Mע��m�oy�W�l�_[�
-f��G�t�
-<c�ZDE��u�(a����"ˊV �1�PWT4^�	��
�i ʬ&���U��SiM=��"�
3,
O����)��1��[�3��Q�e9��*��-�aײ[y�G�������e at e�iv�8�9���N�{('���aIj�Sm�C�����!��4����{b|u
WG�Rn�5 ���g2��}!U�ѱ��V��Nׇ�kK:��G�
0B�_XF�i�Q8��tl�S�^�����M�JD�X"_���ˆ�&�!x5d�A�?�e�N��`���5f� [竊�y���
P�,%؆�xad���J�j��U!*]�-��}
-��Ă3�b%�m��C��_-ߺ�?��w�
Yf�P\��'��y��ϳ�Z��Po!�=wN`:�
��A���>v.#v잙�آ�eKɬ!FRlDH�F���PWe
T D�	�*���
�t���]���sLo�WSst�@Mٴ��fL]��/T��*��
�Fo	��`Z��,����x�#UQ�&���K��]�o��>#>
����b��i�=�BѪ�L� ���>��=��t7M�Ÿ?g`m�
�!�	;�
��{
-��&
�
�(3>�%�@�����a���l���iA����N
'��/o4kpL=C|}��n�I-������4}��
L�Ŕϛ�h�������뱒�my��>�M���n�SHֶ�)Z�r`�� 볫j+_��Vf��VdE������_�"M�{��ÍN��2�)J�
-H�d ���?nj}&Y�E�6ͺg��tf�6da��J��"]���7r���`פI�6��?��lf\��\��ul�u
�������/77������(77m�����P��ӓ�w�
�_�s�
�z��v��ehZ�M��IV���җE��]�݅�m��?�b	n�P�r�O�_���3�*�"׏qM��O���ځ3�
-u����1|4!
ZU<�L�hv�S]�rq,�uOQ�5����j�J��*W�d{>�&BP'�]��<��
4;�{r�.X�4�ѡ(x&28�g������M�B%ِ��ZŗU��POG\���˷~	i�
F
wc�3�0-v�ꇔ������bzǹ��a0Q5�4ǣ�Κ�#92�W�P@;
�|���Wp7�_S
-
E����E���/%�#׊�WR���ya_�aU
���K'�,Ե	\o;��Ӿ wR�dz��WD�
���+j)R uo<�q����KQ��Ջ⾔��t{�N
S��3���~ XN]WINdx��}����zUE��\R:a�D�j샌���;�v�A�� ��<��K��pJ�z����O3"V1e���iky�RWqV���2ɇ�^���*�T /~�mz0.��rF���A����	@Q�ڈC@��^�N*��F
�n� ��o̱���N�T�#�`�U�-�
�e���la�iO��7xD%.$������9a��ϟ	�ch\��F6Sd����d���0U��J� ϲ��(
��%"rjr��Ƨ*�ȉ���s'G���9����j^�#�{a
����v0���}�{͏z�����(6=�������׭	��9G�>׿[h��ez��u���ʆ�B�N����TY��~
I�
� h?;�w�����PDfh�v[���
�7D-�9�8Z6��";�m�L�G�e���:O�(���OI~�_V�e�նj
-D�B�ox�KqBǴB;�*�i&\�fh#9���o�J��<�r_���O�4,��0~���
Y:�w� �(0��,�W��n}}aB��x@�� u�#endstream
+xڥ]��8�}~o1U��ؘ���
{����٫T�U'����k���u�[�g7�{Am��j�w
o�
x��Wo�W���p0q'q�����cߍ�\>9��Uy���gd!+����~����;�ʢ�𑄣���.��-�����,o����
�� �]}���a���熓dp0X��(a���_y]>#�� t�8">g��q���Ѹx��%�������;G����ӏ�I�L��1L~�]�ofDz�L��?��[��g!��X�����
+`�
��|ߝD�-�b3��8��-\ľP	�
כ�h�?v���9���~G6�Q� �zC�B�8Yӗ�(�5O�|�l��`���
H���i2�@�U��B��p��ြ��Es�sn��NY��[r%V*W���Џ��j-y�X�
�HBJEQ���m�0�X�S4Ss�ą�0r�� ��ӧ
���Z�b
B�N�q�P ��)Y���N%���
�vW��US��:yNӢ,�#��!"�9<0�L4�t�P��Z�FiT��ډF�L��qU�|�Ⱦ[�z:�B��c�E;�E�H	G�gWG��
+��EA�E��d�B��c���؁��(q�E.�V�9�d��u�ߕ'��d���mW�BI�wAC�K<�x��MňM�P�@�l���Co#�۞?v�=sv��0,ผ=}X8�k7�o������uu�C`}}�zIBo52~`�5�B���!���&K�bh��>}�w�
��^
��1n���?��)��9�=��Z�l)�UAky͕�
���������/հ�i�F�o���`b[I� �V�V����F$�}r^�39�yigWDg�13��e�)�Lu�n�I��Յ�w�
�d<s=4�J�L�7
{�
2�fv��`�T�f
+Ѹ��j��y��L[��kY��oM�D�^k^:`�#gm�XE���M#
��HB�Ս�s݉���ꂚ�}�ad
��2oh���ZlH+���sC$�c���᭍���1X�-�5xB�"?{^����8R
=��4:A4?��؝&�|K�}͉/��t#�����;�a%ۜ0�u٪3��#��Sn����J.E�\p�9B	+����I!&)䪸�#|�V��83�C&+yR7��KD2�s��h�Ecsm�g��wP�%���� v���P�z!ۥq���O��
�ꫝ�`{Q�g!v�`�f V����<s0)٬�ֲ��Z���U�	��yr��%	�v~�"�~|�}v��sc(�=�x�d�'��N|[�ľ� /�
�%�JRdS_�pՑ_�'):!d�D����mLB�
A&�te"��ԉ�N���U;��
�δ�P2�޻]3-�lK��%A�mI
3���Pg�����=�]+�ˁ�фMA��&$�?����"�Ǐ��3s��4y���5������EƂX�Gv�\���d&���-���2S��]2]�~w�(��jV����˾
�!������yI���<;}z��/?������U^��ve�,Ӈ��du�
�a�ts
LmǪ!�ϗ��ł?��4���M����)O?>?A+8���h<���s�����9y�5�5�*�N���lb�(l�d*!���GH
���{d.r�łէ%}a�V�s>�
+{N-%ߙ��
,��'ڕ5M�����pp������:'���3�?}
��w#����/#Ӽ���zm��̮ۆ�i[w'tPP�p9H�pd~9�.��J��KQ�����n��ݟp�G�ul����_U��/��E�Q-�F��լ74�ϕ{�
`H�،�'媻����
�9MS�Ֆ�-�
�:5wO�)�ԯV��
+���>J�(
+mN��d>��d~��}h�E<s��kh~e}�I�7�����쎣��Co(m#
+�v����
�ϏOL���xyQz��D�W2�k��u�FO�T���
�L�V�����+}�/����$�Ɇ�s,58x�y��"��.^
+�kC|
^�HN��)��x�(��=�<��2���X�fz�r�yͅY�=�����I�< �qb^�L$�'����_
#��b�w��
�����=PRoUɢ%����H����sB6�`c��s<a�Ɗ����D�ކz"�25����6E��0>� ed.:)b���& ��
,�I�H�A�#��mX�6-
�v��)�<���Ɋ�>��L�N3�s|b�bǒ��B�<����s]m�3��u�}b:����$n���)��<IB�$��-*�
X���w�
�5
Rj�'��&s&v���)��$ݬ��+m���M���H���ɾ���?���K~����D�SX�C�K�T��U�Ep���K漤��C%�\�'?���%v'chS��h	nԍa�6�*�
���z�J�?{V��|<ײj�
�?�bo�!Bc�׫���<��_V�Ѡ���?���t����=�Nkw_��rUs
��#���'1���l����wJ�2$�
+endstream
 endobj
-1163 0 obj <<
+1127 0 obj <<
 /Type /Page
-/Contents 1164 0 R
-/Resources 1162 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1161 0 R
-/Annots [ 1171 0 R 1172 0 R 1173 0 R ]
+/Contents 1128 0 R
+/Resources 1126 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1121 0 R
+/Annots [ 1122 0 R 1123 0 R 1125 0 R ]
 >> endobj
-1171 0 obj <<
+1122 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.9562 295.0628 472.9634 304.17]
+/Rect [314.956 295.063 472.963 304.17]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
 >> endobj
-1172 0 obj <<
+1123 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.0867 86.911 321.4516 97.1923]
+/Rect [152.087 86.911 321.452 97.192]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
 >> endobj
-1173 0 obj <<
+1125 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1165 0 obj <<
-/D [1163 0 R /XYZ 90 757.9346 null]
+1129 0 obj <<
+/D [1127 0 R /XYZ 90 757.935 null]
 >> endobj
-1166 0 obj <<
-/D [1163 0 R /XYZ 90 670.2684 null]
+1130 0 obj <<
+/D [1127 0 R /XYZ 90 670.268 null]
 >> endobj
-1167 0 obj <<
-/D [1163 0 R /XYZ 90 557.9378 null]
+1131 0 obj <<
+/D [1127 0 R /XYZ 90 557.938 null]
 >> endobj
-1162 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F92 1170 0 R /F67 366 0 R >>
+1126 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F90 1132 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1176 0 obj <<
-/Length 3273      
+1136 0 obj <<
+/Length 3147      
 /Filter /FlateDecode
 >>
 stream
-xڥ˒��>_��%R�H���9��;��w7��lR.���$f)RI��ק_ )��CRS5 �F��OP�́?w�:�8�שD��p��v ��Ε�̯��^�
��p���ȋf�[����s��k���_���Y|��
w���MZ��:��jU[��>����
?\�����޿�L�����ow?���r���;g�I8;��Y�i��w���Ay�r���OЂ����?q�л:�篝(�鬯{`v��:pl]i�J�~�6e�q�?%�Z7�_�-���

-�UV�cm at HՎ��ug��;���{���U��+�Y�0��[+�t��4
]: ���z��
d*
6���
0�\��D��
 ^�t��Ό��US�������h�t��]�mW��Al�V�W �7:̪���V��b
D��#x��T�{�%�/
A#�A8�C��B����W-���t���L�{x�(
-߇��6�_"���iH"���VQ�7�*���*�z;yV�9�+�L��]�2���L�{��VL=\$}el���0NfQ�%l+<�uf{?vӯX�����G�sK�߷�񛇇���Uݺ6���(�>����y&�*w�r�o�5����	�+v�M�bݲxa߷Ԑ�5nJ^�
��<D]���k�0��\��_�mq�
ܳ��(���?��
c�~������^���w��R1���啄k�M�Y��k?q���n�f�Wcl{�	0�{����x6�n��,~qB�[����r��{O��\tVOE��/��=)#����r��=��l�[�V������dT�
�ke�S�E7@ݲ�����Mۓ��(�8��:+��^ _^
'w}��6�f��e�꜇�!��@,�S�L�EӚbӵB�mഇ~Aqbb_�Lzo�,�� ��fr�M'7��U�#�J춗lS("�ʲ>�|P�k�
VI]
8���x���݇��J
vyA0L/�p�A�kd���V\Y���` �8�`���.Xf�V�*�S�)��n����j#-�eÛl�*C�"/���Z�.�S�����|
�:�rèr��ׇN#�.�Z\�ׇo`��|
����`�g�X낦���V��mY �A�PRgو����[z΂��

-@QB&2n�E$ Sġ΋��t��X-D�1���6Y����r0S��Ť��4\�h� re���3��jH<֐�
���!�[�
�T�0Swǂ�C�J�Í�
�j���$Zhw�e�
��2P6
q�ŒV׆�0q!�( �)5O��ag�E�a�9�7��
����]P��3�	���*�س9sK�
Ӧ�$݈�L�$-��آdiY� Rm�̭��z��񬱏g���wЊ2�/�R* �!E�៺�i���k.���.l�����phti�aB,���%�a���"��F
d���*H��s˳���I����:	��3<
�
1DuAH�Y!!R!��E��,\�(�M��Hg�YE�cl��``%M6z����Lȩ�I��+t
�.2���!�z;�	��P�O�5�]��rK,b�=ws���ޘq�Y ��Fg�'8�9%�
-\d�R�E^<(�� 3�
D>��^_ !�wX��U�r��8y8�a%�gEN6� �$�ZKā7A�����u�H�	Ȝ�����>���	1}��E�8;��
�BE6ɔ$�!W#�z=��2<wyav���n	.��%�PpF� ��Bq�o�<8(Ȼ� H{�kE8(�*���<TV2k���s�L�|#8 at o* 6�"X%Xb���"ݬ8J<
�����p_�;2&{��B}h�l(',
��A�L��ō�2W�������>�{�����y��T.?=�>���˟ey�8����;�	W�Zf�/@�+b�~�]�ry~2�~����!Ѹ;�ā�ڪ�����
:�*����Fh��Mܞ��R�`*��K~� �h��CAre" �Xc�H�r��Z�榭M�A����&���tm�����|�E�j4-�,��7�� �SP��Ϋ��������Hp�j�!���0�ygl��%�Z ̏$Бd z�r���.&��}ځqu4��. at G �� 
������#�����g]֘s�$�D�a���F�˧�0
-� ���a��I���ʃ��G��Mm p�e
$��}y(���V�s�.&S��ߙr~�C����\ws���.~Z��e'Y��-�Y����I
[n�vI_W�ܜ@� �&'�M�1�at߸E%̌&��3���0hSS���fx��:7v�qN�}��Θȁ
m�Q2kΧ܋Ǘ�x�-O���!��Mxc�}#�S��_��41��ꊇ�ڌ<��F�{���k�q6C�"���/c��x��CBy�`Q[�*M)fH��&���6���ujw�wV�-��;��ESX��S�M"ZT�6�9
!��(d;
����r��8`+��t�3XI/ל͹X�c�j��4�"��;�-��o�:X��%�;p�U�/�
��
���
mxLR�@J�l�ƪ����>=5��e����b)�&V��Oz��T�*CG���%����Jf�@,j�K��D�5=Ґ'(�kL�VK�
X�Eu���0AjCo�)����y"���GJ�H����i�0~|�	R3��S�L��3��wc�d������(-(%�a���X����x�dM��R~�K#��^	Ӹ=LnI�"��A
�H[�"�D>�Z��,�FT?�oX���u���ހ7�Q�%	˱���AʡL(�m �OK�, ���@���c]B�у!�.�{Q��]�aҿ��}(���2p���		�r�͜�Tm���dڴ|njԫ�h
��L�n[��n�(q�r���:'q���z�[��^�s���Yx�Ml�!���P
-Irc-�_228�����r
I��ueȇC?��zU��(���	}���X�
:���|AGmF��A�F�J�!d�Ў/��B!d��-�ݝ�Q:c 5R�kmf�Q����2�qo��k�%�_$�fuC����7q�m��R�&6���x�~�8?9@ʋ���
�-�A�'���+vh$�R�S��
W?+�u�2��Ё�֍������|"Jֱ���/��:����v�L
�8���P�dX��΍��9��_m�`�R�`���!EV
�
�l���#p쭝؍/�g߀��h��R8�����`Y]U
ͺh����/�Hq�g��nx����D�8u�
^�w���� <P��Q!���+�
xkendstream
+xڝks���F_*��4�"�O��qrw�־v2I>@$$�LJ�Q�_�}��d:��F �v�O�]�����w/7��q�H�4����n���M�9��-^��ϫ`}�G���O_��h�^�ҚG�5Y_�S]��
�Pd�nq>v�h&�__~�y�r�ۍ{�
���6�&�Yu���"�
�	�dq"�j�������7��{u^?p�8��
`k/M��.
]�ڨ����mYd�N����-��MǠ�6U!���sl
0Z����FM�7���]3���Н2g^!x��4X=�P4�ם�9i$
0Y�<��= �2P����0��e�5�O
�n�GH�Q+uf����"�Fv
��ҷko�w}�Cd��!b at XY�_Y |�	0��G���c
Y��թ��KV
^�&��.	GP
+Yf��Au<�,"h�+U
��㕢(� �md�D� tےDh'��ҠҀU�m�U�3���3Gv%����
�q]ߴ

ԢԊ�G+���`�N��.l�G4�h��^;Q���z��7������׽Ә���P�M�
����|�}Ws�Rva��2*?q�4�-eq�Ox����8w��q"7\���<�
�u�A[\���o�4���?מ�i�a������Ԭ�h�;��jK
+P�9��͑]dš�D�����9�M�?�e���/n�~

��{
�-���в
r���ͮ;)#�Ǧ�sb��Ou�
*B�R��R4��
+V&�:Y�X��f�[6�����0��y�w+�/���&���ߵ97�
�[6�N�<Ds�6�pO�2�mg�m�	 �n�aANu�[0&}�{��Ĉ�h�0���&�����~����o��ʲ9�|��k���
��E�����>���~^	A�c^��{᠕�~�L\F(�+��G��Kf�ֽ*oS�*��m�櫀#-81Û��:C�"����^���x����r���sZ�s����N+
@����M�
��
�Pն�L���
�f]��;��i8��xA[iP!��Y6"�\�yk�]���tA(J���n�r��ɋݙ��&"	
�Ao0rV�6Y��G��m�L�����h��!�������j�f�!L4�!����,<@R=0a�x`�l"�J�Z��;$�(��3H���u�HJ�c�lᦅ��n
�a�B�-J�3dq��j�_4$:g���A[�h���0S��ݍ�%pl�ܒ���3�0MmL�3�B��b��8YA�3�� K�g��uKdt �ف�*�(y��6(�  0)J
�J��ʭ�܋�3�0L W}+t�jui�aF,[�n�#�a�Ƌ"��VU2�J����YPYH:p��b��m�
�l2��� ������hA�=F�2�
#�5G�n�}M:��*�
c��*��ѳ���uB
5H��A�_�w���>���7!H��6��d�l����[:"v�m�WP��M2
!M��L
�1�dT�lY��ߌJ�Ȍ�5�q at wp�7�n��9�A�\%yMD
y0��ܪ����ڂ�X�`�x��"�n>1��N�t+ј��1�^��;�Sv?&���|dg���*Td�LI6��p5Bj�C@�/csOafG9ò!��\��K�6�G� ��B
�o��<�d]F�=
4�!
�X��s
*+�5P��9�$@�100�
+����U
�X�>�m�H7+�
��:uy8<4���t�^ �PJ�>kK��
D�:�o�pS��Dk
>����û�O/?1��O�I����������>=�I�N�Hl&�!H���2C~�A1���'�����
�i

����+��J08� �N�l���Ǡc�2�i�o����Y�,摇��gP�VI.&W&��5֋�+�I�tlb��,Թ����
Y�﹧h&6!��!|Ūɴ���g�N��`
OA��W���NJ2#���ч$>���潱ś��k0�'@G����e�V�"��
��-����
�

+�4�/�����3�'tϺl0�8Iz�02
��|���8��ލ(\x�V��Y�Y.�$��++)������@�#�H��K
�ZA�[��9O����*�
>���D�

���(� ]����`d�>v�gYCg�&qP�=�%CQ!rsC)x����J�����-j9�dR	9��
�65�J��n�
�8���N1�)���
H<��-?Jf���w�r�O��!"7f�0�	/`��o��yJ���ȝ'�
^]��ؘ����h|˳Rv�;��f�Ra�c��e����*0$�����Җb��l�j[f���}���y�jy�Z�r���gMam�#N�c6�xUCڔ
�x��[�����p���ݐxX�K��[�MǠ3���Jz��l���
s���g�f;)b(�c�by֫�]b�7[����@��+kі�$u
�Tƶo���N O�s�YG�1
���*��mb5�%>�56Rɓ
�d#K��7?
+9�̌�X"�a�
��kz�!OPڧ�ҭ��`��z�kf��2C��)���з�0D�-|3�O�•�

e0>*�1D1`����f.e�P���g�s�m쒩��󠣴H���#��C�b�0�'t��&��#~�Kc��A	�� z��
+��kE"��2��1EF�|��P]���Q��>`Ag��q�z#ިFÖ$,�"o�?H�+�2�����+	`x��

�9��
�2�
�w1z܋�d꺫٘B��`X>��Е�S����u�K
R�@N�i��
3Ҡ"�5<�2�]ѕ�����;ʕ
+h��ĵ�N�Ӎ4��̝ޏ���%�b~d�hL���:T�B��ZD
�L
F� �f�W��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��G��{3׎���)�N�ccb�;�L7��a��t���;Nȃ��2u~��Y�b�F�(e;uSs�1|����
'N�%���t�=v�M��G�(u�hj��gdK�Jɰ)��ee��-
���
A����>,	ic��:
��F{:z[j��?�C�n�x�7��bG_G��=T���?u�T</t6�%2�d�WqJ
+XQ�yu	� V
+endstream
 endobj
-1175 0 obj <<
+1135 0 obj <<
 /Type /Page
-/Contents 1176 0 R
-/Resources 1174 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1161 0 R
-/Annots [ 1178 0 R 1180 0 R ]
+/Contents 1136 0 R
+/Resources 1134 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1121 0 R
+/Annots [ 1124 0 R 1133 0 R ]
 >> endobj
-1178 0 obj <<
+1124 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.5616 684.0467 508.5005 694.9507]
+/Rect [225.562 684.047 508.501 694.951]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
 >> endobj
-1180 0 obj <<
+1133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1177 0 obj <<
-/D [1175 0 R /XYZ 90 757.9346 null]
+1137 0 obj <<
+/D [1135 0 R /XYZ 90 757.935 null]
 >> endobj
 70 0 obj <<
-/D [1175 0 R /XYZ 90 669.3519 null]
+/D [1135 0 R /XYZ 90 669.352 null]
 >> endobj
-1179 0 obj <<
-/D [1175 0 R /XYZ 90 637.4234 null]
+1138 0 obj <<
+/D [1135 0 R /XYZ 90 637.423 null]
 >> endobj
-388 0 obj <<
-/D [1175 0 R /XYZ 90 637.4234 null]
+378 0 obj <<
+/D [1135 0 R /XYZ 90 637.423 null]
 >> endobj
-1174 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1134 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1183 0 obj <<
-/Length 3758      
+1142 0 obj <<
+/Length 3673      
 /Filter /FlateDecode
 >>
 stream
-xڥZYs�6~��p�e�*[�C$ży�Lvf��8��M��� �e�Tx�ѿ߯�͙MՖ�L��h4��!��şw���q/�`]f�
���w��`�f�������(�L�I�G��;�y�������N���C�y��gi����1Fz���;��Mۼ*�!�L��x���J������}τ��G,�~����-x���]�:�|B�]zI�_
.V~`;��狟z:2��z��^C�W?X�Q�^��`;���U��B��gj��/b�1��m���:!3u��t�}U��<�M�>�Fz�N�����>m'䊼i��� rR�������q�+���4{�L�m�n<o���'�
���*th3�* wFe��f-�X�V���)L��z�p���)Lژ��rK��yEeh�M�k�V�����1���!=��Ɯ�Wd���
�F[�|������!���[m�g�8>�H3hlTS���O]�����`^oIb��~e�Ӳ9BJʖ0X;Yu��'Ab��/� ��`0] [...]
-
���ŝ
kӀ]ᰬ�B*�]UR]�i_5fN̚����\�Ϭ��b���8�]
�:i��Bء����^�4uZH��m�<���=+�Qԓm��
H�H/�E�J�M^>Ȅ��vZ���i��o1��)���iN���v�)~$��u⑪Ӑ��mU72ļ ������A�
d��X���r�=���
&z26Z0D���u�P��g�-9�:%rO8���:��]nM��5�1{]+LP�dӋ��\�v�V��
Q||]�
-�4\
;k\*�

�`B�ZS����@!��
-|FD�4�1��TZ$�V,�Q���sӞΊ�e�됀�wj
-�`l�
x���`n>��L�V)��s��+�n��7F�C1w���̧����h.7i��
I�W�x���	���`��gg�ƘRZi
f
�n��G@߽�S+�e	HO�dUWC	��tX���+9TۉA��%�<�l����~�Ĥ19%�4+ϹU��Bƞ�_�"3�
v��h�����p�'���ڴls��LUW��`���
-�뱠t��[W�솖]4f��/K�¨û���دf}қ?�ñ��U��Fc�w�j�jw	�ف�(��-��̊�%
��Bb*�o?�z�^�di+V)�
��{c7����R$��
ᐦ���!�ɿ��6X��"���;��
�ėP3�����d���%�_߿�8/�H ��-
�MV��:ѝs�9]�+I���?�i~���
b��Y�[��%k���[lM�?�|� �x��dTv�Y��v?�;��PbV{� �ڃ1"�m��*/��zå����}zw-�_^����a���ݻ��D<ڋڄ�G��Hf;�O3�VS<H~)��H�c�6�1���F��]b��IV�u1`c<�a83M�H�Z�XĊf�U�"V�Y��>��ҔX%a��|a���߄�NU4�Vi�I�)��x;�����������&5l )Z��K�I4�d}��L ��]fgn�D�5:B��&g媑+�v��g�J ����)�R�;Ĺ�v�^�9RÙ������@ȯ�ˁ��$+z_�
�@$j�Φ�
���ہ [...]
�p�oJf�&8�/������BV(|�� h!EPt�]��`F(Жd.
W ��ƷԴ����)�����E炈�
!��G��N~��?4׳�^$�	��ƽ��Ty�;�/���Z����O�J�G�@�݉���D�{�6`<�A�@!F#�������QҮ���С��q Ml#|9�l�!��_��z����<�����j���5dS"��IR�0�=�I��,������j)�m�אW�;�i�� ���������9��Wv@�T�<��7�:U�,B���4�>�ˠg�2a_
D+��YksPA�RÍP�>R$tU�9��<M�����k薡J
�}�F�X���T�Q�8��s�ԯ���������
����6$� �؇��'Yk,�M��N��
-4̂����������W�Of*@�l'�n(�kр5hr��|��/��q='
�@'��s�)b����\�뮮��B�`+������d<\Q������m#c[�_��PCT�"���MHi���jR�۬� Vp98�"�=?5<;5���lh�GI�4P��I��
�����Ȩ�6Л�(Һ�f��K��n�D2�g�f��|󏗋��r���?
-�W?�}y�靐9{}��ח�G����z-Z��q��&� ���:�{72(�e}V��Sh�k�(�yw�M]�~�	+���,�,�P+
)��l�����!b�y.2������>Z�q� *-q��ꮂ,��Qd��٢Q
�g<
4�Ie�x
�F�����9[�

���5�:n��K�E!
�p\�+O�h�3h���[
++�Z�s�
\"��x���'Ph*�e�/BD��+HA�
�J�)����䲂�
��O|5�I��3 
�^B��l_��iҦ��?ѰH���e:W$����*���C>gޚ�X���u�9<O�c��
4f�3-/�-��}摈K1'�h�"���Jxrv�R�"_)��4<�9��>��J at X6V�L��6*#;˅0����	>�3#�S;0�
���jjʪ{ث���veM�=&j��Hv��*-��f�6z�XT���'y9����H�Əgâ�����%����1��3
Q�`#�t3zƛ>���q2��8Vʛca��u}�Q�&u�%���������
D,���������Ò�*�h0��^;��@�^Ц����pL|�3��Tň����j�gV=����w��β�t֍�����GK|�1r)0�u�Ո��Ŷ�!v��bpp�(����Z���7N���cMbM�-�oE��|~�
ɻ�<S����q,C�WbV+'+LZ�+�?<��Tm譍\�>�7�B��oE[rf^�)�#���퓛�����&��(��{��gv�O�@e�R���r6�+��EC��݄��/+z�
��ٱ�,�L.س�aJ��l�
�<l)�iO
�J�peq.\�����D��ho�nL~��
/�f��¨n�k��p�S��
�&T�J��6S;��8A0�;���9p@�84��
-m
+X��
�%��)��Ʈ;�c�R	��"��m��ʐ��r�vm
�>��X}���4�&J��(��q=���y6{,�;�7	4�	��S�溹�c4XTlը��
����.qF�֭
{�c���/ңA��|v�
�鹴�9��!$��Ù���A���7��2���>����-U���,��7'?
�e�?�r��(���_�����2�o�˰h���Zf�J�Zj��AC���8�
��As�M�OM���q��cZv
&�M>��F�U���F	���
��K7������K�����~��h���/
��]N����݋OOOˬYve~��y��ҋ)_�:\��8�����H�x9;�`
-��[���?�h�"%U[��C?��a����endstream
+xڍZY��6~�_�����fd
")�m|�Yۙ�'��&y�(h�2E*<2ѿ߯�M�S55�F�r�
w�����ճ�Q�HVI�G���"qq�B�[<��:���]�͇���^z�齬��h�6m�л<3eC���:Y����ի��?�<��.<^#�Wq.��կ���
�?,�U�lO�u\�� �b���+w�o�N��������K^�\���^��I�L-��e�:� �͵��Z'd�nӼ�Ns��V���i�G�H��˷U2�;��\�7��ݠDN��_�U��~�3]I�������(����VIh�=&�U�u��f�u �4ʪ��X �L�&=7S�NY�7,�\kS��1;�u��!�,���
+�p7Ν g�Oc�e�cz�����/3
+q;V��B�<-=g��C@?-wڐ��q2|��f�ت���?]t���"-�ޑ����
+Q�es���-	`�q��D�ς��(_ �
 ��`�
�
+I�C^��ڤ�t[謞h:$���;;զ%�6�aY�T���>���ӡj.�=��4'�忹��Y��b��R��]
��F�s�B�!����A��4uZH��m�<���=+� 'dc���v �'����
�M^>ʄ��nZ���i�xh1��)�w�yN�����)~$��u⑪Ӑ��mU72ļ ������Q�
d��T���r�=���
&z26Z0D��Ou�X�G�g�-9�:%rO8���:��]�L��eo,t��������ɦ�k׹���0����� &i�<uָT�9:X�����V"��Bڵ0���
+iR!b8�MZ$��,�Q���sӞΊ�e�됀�wj
+�`l�
x���`�>��L�N)��s��+�n��7F�C1�=�A����E[4��Ǵ�ܝH�׮x���	���`�y`g�֘RZi
f
�n��G@߃�S+�e	HO�dUWC	��tX��+9V��A��%�<�l����~�Ĥ19%�4kϹS��Bƞ�ߡ"3�
v��h�����p�g���ڴls��k�
��TW����
b�cA!� (�s����
-�h�8�1^��Q�w��)ű_���W��S�Q��^Ǎ����#�p���F��?���2+:�t`�
+�� �����[i���X��2H���p^�+K��oFx�C��λT&�B>lP�`=F���o޿0��_,�_B�T>⚊�~a.	���%�y��E�T��hn���Չ�
�MN���J������n�w��cV�V�,~�ƹ�Z ;��%�5�"� �#�]j�m���N(,���^( ��`�Hc۷������p�~�;��������a���p�f% O���6���;��N��
���_��V'��Mn
'6��U�.1	��$�ɺ�1��0���A$p#R,bE3�*B+�-��giJ����\>��J]�oB^�*E��4�$�\�FV�
���������&5l )Z��K�I4/d}��L �w]fgn�D�5:B��&g媑+�v��g�J ����)�R�;Ĺ�v�A�9RÙ������@ȯ�ˁ��$+z_�
�@$j�ζ�>+^ki�ٓ�
�׶1��F,ة�7�� YԢ��f4��ي��o��Jcv������wUA	��A��&�1�6�W�x��69���6i|H����������t2i-0N07�����&m�l��v^/��Q��\���pXOf�bGLĽ���S��hZ�F�9��\/@>����#������u1Ń�� �r&�; h��A:
��V�O0�(����̹x]�K�8yޗ&���r"B�]_�V������ǩv�

q�|F�C��٠
g��d�8`�S���k�O/d�§L��RE7ؕy+ f�mI��q"
+m|KM{�h��h���Zt.����
~t���	�4Uh�g��H� �#F���w$^h=�4Q1_#�����N�H��!�K����m�xj�P�B�F��ɦl�I�%���

�
�G��&1—���
{[����G����>����4tY͵�_��lJ��
I��G���B��>o�y��W��FA�qy�q����Fm
 M��I�8�N_K��\|e�J`σ:O��s��"H��꣺
z�.��@��Y]��
+�P�n����"���D�Y�9hzeU�F�;C�
U�x��0r�JEܧ�ό"����3�~��Df�x���d�`�h���!�Po��>�5�T}��l'v�\T��`�]|����`u��(��}�0S�d;�t;@_��A�#��;��~����9�(:1E�{L��H֮�J_w5+�b[Ie$
�'�ᚪ]d͗ ��)������q^�-oC�H[�Ȅ��P�R��f�����)�����ũ��gfC�<JR���*�M
+�\x�dW�fOFeݰ���G���87�N_�w�g��^�����տ�/��`?�}/t^�x���7B������-Zz��ll6�U�&
W��lr�0���s�w#�b^6e_�9���.��wG�Ե��
������r��ґ�*/٬��
".��"��*�&��hg	���;���*�b
E�K�ؚ-�zƃ��@���[֎Ǒj���,�����`]ͦ�A�q��P_�@(
+iH��F_yJES�AK����XY���K��)h����] �
+M%���E�(Wv)蹡ViB9���
O.k��A��W�:���%T��%,A��&m:	�
��Tm!�]�s%A�9j��B�H:�s�)�E
�}Wk���D>��@c6:��R`���g>#`)�$��Y�1�X	O.NY��A�+�@� ���5�V�T�DZZC	��ږ���Fedo��u��{��uf|����"���G����
j$��־]Y�g��ڼ)6��}�J���Y��^'U���I^�(�ll1����ٰha���u�:��p�F#A�
C�
Z���3����'C-�c��9v�^�7
E��º����|"q�y������ۇO�v,~����
�c���U mJ
+lA
g�ė<C*M5P�x<j\�'�yf���>*q�o��,kNg݈Ȩ(yLq��W
#��\�F�8�\l�*�b��/7��K
���Mx���r�)BB������������k��]K��.Ol�8�!��+1뵓&���
�f�6��F.H�}���:�~�\��{�}oӍ���de��[ι7y[��{c'��WT�/���kg��Һ\4��ms���PcIi�er�����g�et|��h��
x�=u
k�•˹pI�V"kOM���D�Z���0�f��¨n�k��p�S��
�&T�J��6S;��8A0�;���9p@�84�qT�:V�QS@K�
~[���]w
�֥6�E���@�
�!	�Ea�����nc��BN���(I������
�
+��ـ�@�$�$�H'��L5��撏�`Q�U�Jz3���#z����][�
+4�����H�ET�ٟ{����:H�0҇����gZDg��32���
/$���F�T�/J��Ԋ���5��W�Y%��������+Z%q��_x��*
/JX]j��QC���8
�rAs�m�OF�ɸ�q��}Zv
�M���q�+�C/ ߧN��1�S���m��~F����`�mhPr�=}������*kV]���U�>C�����&[���*�-��)D�(_���m�g|	��ך
+endstream
 endobj
-1182 0 obj <<
+1141 0 obj <<
 /Type /Page
-/Contents 1183 0 R
-/Resources 1181 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1161 0 R
-/Annots [ 1185 0 R ]
+/Contents 1142 0 R
+/Resources 1140 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1121 0 R
+/Annots [ 1139 0 R ]
 >> endobj
-1185 0 obj <<
+1139 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1184 0 obj <<
-/D [1182 0 R /XYZ 90 757.9346 null]
+1143 0 obj <<
+/D [1141 0 R /XYZ 90 757.935 null]
 >> endobj
-1181 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1140 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1188 0 obj <<
-/Length 3528      
+1147 0 obj <<
+/Length 3215      
 /Filter /FlateDecode
 >>
 stream
-xڥَ�6򽿢�/kc�$��[�I:�k1�I
���F�<:���u��d�
`1�1�"����
-�}����}�^���~���a���@�w0�s�x�{�!��s/O����@;$��Ax�X��Q�]��o~���m�m���W�~<�f(��mx��j��
�_ś�������׏�r�X%
��ݯ���%���;�Sy߿@���<�OwQ�L���x�O�OЂ��ƁZ�k
.�*�ObEw}8���|3
57:�i�:]b/�
zě�=O
ڎ���޷�'��C٦�d��m���6�7m=���
{3ɿ��~8�š�=WO��6�7�`T��k;2dlǺ��y
G�}�^vj-h�ti at b��=@�]xy
D�S� �W�h��94;]�mS��`��nj �p�~���s�D>�a�� 4CՌz�G���lO$�5�
-�1?Ϻ��-R/	�ȲS�=�bJ���?�(rK�HW=!KF�0�t.>�Qq�\!�h��H�C@#�<܌�'�U�3wOm'`�Jc����U��4��^i��ª��c�4�M�?!0il�Ǫ�;`G	��<��늦?���`\c��Rܢn��|��N�#��������U5��S7w]���p
-��}{�z gv�
^�����dS�{1:{���^���&s	`�u�;�D
uvڍ=3
�I6��>���I�{���	J���64M���̞Y"{�LMYt%�o�P];����[�޾��X��W�z$�����O�[T<tZ�!��ԫ�8g���=�̈-c
��#�����xS�@&��Y�n�&A�E�xl�{MƄg�
�z#�`��=� ou�K�Ob#��cE�Z�K6	y�Z%�q�+�|
0I���g#
S��F�� �=�V����´�� �R�5�w�T0N�b�-X�*Vj�a$��w�ʷʻI5�,،p	Ĕ��
�@��3�ث.:n�cf�0��
��dV�����J�["g�K �A�S�s����k׎�G�e�"��oqL����PT��z�)
�C)�_貚��R��a�]��p�@m����z'���#
6B�7M;L�E�=J`\94������ň��N�]\���`�E�D�'} ����:Af7�&?�x�B�jsr�����B��>ޒ�$>[ց#���2�T�L�r�Ɖ�"N�;�˂��H4�[nN�^����E��"�t �?���Ç�/?������?��Yܸ�o��x�(ݜ�g�+�
���u`�Ba"2�8�C[Vg�
a�_�w0] 蒑y
p� �Ǧ$fE�TD�%�~�E�7���S�U�{r9�H3���T�Fĕ1�h
5Z
m�1�.�ׅs�~A�^���MH�%)�
G�毠��b횂?I)�kV���]K�9a_:�r�n�Ʀ�DM�{]8+e�þ'9�5�Iz�kv3������ҽ
[=i�h���{�s�u�֤c� 
-���e��B����1r2��[�t�2��
���>[�*�
�� ˮf�.�e6���,��A����W�ê�ƛ-�%ޙ!
-����$����[1<A�a����
RQ�	QN�&��%V��Z�?#��g�QڇB�K(���i�,QC
�@<�C��`��Ѕ��p�PC�2���	A1p�b�	e��
"ó����mg�;�)޶%1JES�$���0����a���$  g�(�YH��u'[�H�^ބ��Y��Iuʼ�-x�[�l�W
�kO�bz$�
-Y�ڠk1����A��lP0�T0�틓�
k�IY
�2�X81s�8@|�M����*��)��aɧ�|`����ꕛ]�k7`#p�ݩ��[��0�Ȃ�� ��p������h��
w�~qE�C���WT����_�i���Cר8�Pʬ�a!1~�ф�}%	<�J�Z@��Tĝ֘�p�z��� �)��0�`�˱:���U`�̥|�Y��o��\�@f�X��	���P
s,�=k���6hP�A`Ħ;\���x4�p
�����L, �K2���W�H�[���bl�
.!E����΢��ñH����+�8��A����
�v�V
-��k����=�a��R��M7AW�UB�kl��PV��X�T]UV��Z�7��&�IY/�+�
�W�5H!	`e�(հ�R����f��h�b�f1��]��'���pW���ʽ��� �μi���m��@�pn��
-�
�_at��;�4�w?�qӝ��u� ����
%��B���d�K�*8c����� �"�{�·0:$^�Bc��W
D�������
-g�����0�����Ԝ�
DC������Gَ/�
���O�!

;W��^��u~9 ��e����-���x��������U��^��k��@�.D���.�a����-��w��UaN�J�Pqk�Jh!x�	9Ivw6z
��D�>s�!ǟ�).U�F1Å�
�e��q�:���'�ĉ��9*A��[�%	pׂ�����p�4E7�(�O�fp�:��n��
-���Ri���[�&�\"]I�7�¨<?�U�ٚԘ��#�Te���©�}ɮlO��,�0�RF�eE x���r�ǩL@\����8
@_.
~3|�K�þ���4"�r��{�_�w���p��ZW�*"p����2� ���������9q�~{�,��pn��cHZA�uy��e
p�:��3�������EN�69oatȹ�{��.އ5r�^��lU�T�I
-
-
[�PQ����JC�S����0�HÕ]8���
��KS0Q�%oM/��D&���:	~�B�� ^�}�cr��:
r�"����N�n�Y�9�U�J
v� "K�h�ZD�*^:%��Z�ChJ�~w77퇮I���.�Z쵊��`9*B������BtXS���R��$�
�}�)��)�3 ���RL
CpX�
����J�Ɇ7����T��Rc���}�iJ}`tA]Z���"6�4
杢
-E���2Z�Q
-ىEGJ���I�{*���
-�!����;�z�|Q�Dp��n�=AgXQ�n�\��˂�i�nb�L��u�5�����·fr�~���������9~.�ߴ
n^�ř��������ӠT�l��Lpc�yIʯ�4�?��+���m&;��W�� ��:�2uv5��@
�p���k
�uU�g�����)v�Ā�����{L
h��wE���{���ND���6OEOV
Ʊn��-�G~d�1��#�
�k�e55GMgv�'�
�ơ[����'>Z�o"�l�?��"aQz�o������_
Dӵq���R��w ��Iێ�/�YY�~
 �D�O	� �� 5��?��k�c���ުY]�T��ƒ�����w�8��X�Ɵ>X� �����S2�	� ��V���*�OK�!�
����R������֯���0a�SWt��v�
�(�9%��/HG��f?j�$
8$�O�tN ���޴�1��.�9+�B��m/��;������///޾�Ʀ:w^5�?����s�,�$(�o1ng�.�2���/̓hv���D�_<ؗbRN:x!B����Q����endstream
+xڭ�r�F�]_��˒U
`p1o�;r��[��j+�D
E�A����~��� ���*�0��stO�Cu��W�����z�2Q���M�du�_m�U�^
��b��Zm���_���7^�� [kͽ��p�u��eS3�r���_�����q����۫OW���#N�Tū���?�U��+�S�lu&��*
+|����^��ycv�Py~�yo��s�]�͍V�V��ֽ����}ǃ���.a��w
�������VV뛆nB�Tñ���3�����Þ'V��}yW=l�x�
�J���1�C3T�OC?;:��v�RSk٦*�^%��Y
��o
#�y�[?��
�Ѡ��k�
N�
3��G�y�~�+nO��D
�ԅA���
�l�Vw�Y�X�s��� '?����,����x�
+�$�)��
�`(�
~
�H[��
pÄ���£(��S�ܣ9�"
�
3�
�w�-�{�
�V��0�`���*rNu
:�/��p!e���y��
?������P�������<p��i�;���`��	|�R\�j��<æ<O�j
3�O&��'t���U���'Wu�K���p
+$�Ϯ9�X?�f�kݟ�i?�h�����ݷ͑[�C��a�o	p�u�[�D�:+]
_�I6v�>���Iv;�u�JŠf�6u����U�5�Dּ6�E�
�R�Xm�7��긛���tw�pq��e=O�2��0�	����S̼(t�l��e^y(�[�8�G@�f�hj���'���W�l2'A�I�G<��Fc£�D�T0W��VJ�nu�S�wb#k�N��c���h�F!�S������!��[�O|6�0Nj ��۽i�
�_j 
;(粪��c�{��,��W�R�o�~g�|�w7�F�����2�� P
���a:o����
3c�q��ЗG3�� s
J[��ə�2 F���\w}%����6����h��׽8&�H΢��J����ơ��/tQ��q)�߰�N݉�p�@����z'���#
��
�uӏ�E�=J`\94����������V6$Z\���`�I�`�;�'�ÛOu��>..
~I~r���%�զ�d}y6e� [...]
�Kd��IJAoU��$���h��	��ɐ�u�406
*:�]��Y���
��֘'��^ʠ?a�aF�·F��*�}j�N��Tg
�5�Xً���&*g{6Sb��}���zv�@ 7d�r�?Lh��K۷���n$^���ۋ��I�=
�	�� d^�la�����<�4�(���O���0ˏ�ݗ}%����(��;�ū�	M�d��AU 
垱�F�7C�\6
�B���	���^���N�'n�gCA�j'��
�)���KKE�S�G���Xq,r�8H����9+�H���ne鳴,�&��Ы�MaS�
+Y�?�`�>0T�=�B�!�\h���Ɏ!�
�:"
Ѩc�B_��qn��en��C������B ];.r�
���Ȗ K��ʊ��b�M/h��wtݳ��I�DzCo�O׬
�(�qs��>}��>��5(����b>Y�W�`�P�5
+E�2g
�GM8�U���W�oh�
I�;�1���
z��N���6���]�I�ﭺ 1S����vf���[1p���lg\�B�Ųн����D�J� 6���$ ۊ��[B�Ԃ�(OT��q!��y�xA��ZG�f
N�p]$�+��l�]�"�s��/���ؓ��I¡k�&ь4TQZJAtPq�N�Z�Vس�v�ւ;��$�[2�ۨ�oԉ��D�F�TT��i�R���
�&;�	;�cq�)_�lZ\X��Y��%��
+n��q�"��RkEށ���M:�
�D0`N�@r�X�9y�(����!(�����j.��'�A�l�mN��
n�My�Rg]�#\,�B�C_�U���,mH�m	��NJ���7I ,J��E/��.����85x7\�� ��]`eif��1~ivA��
�*TyD`e�!,/ .�#xweS=D��Ty
8���?+jS��DC�a� �;
h=R�@�8�Qz�nzJ���y9r
�3�mr�DS�� �w�bt���n[�jQ ��G�#����$��x���$Y8V���
����6C�m"�3 �9(`-���c�
H��A�y-����

�)=�#`�AY-r�T����X���36k
�S��%���ci�
+gz9��@
2���RJS?�{a~��WH����^��e�RQ&Ai���B�)�/����
�`X��
�pd
���SCȋ�����"��c1
[
X^|6�w��k���`�����
N��nsٗ��[s�xN�F	Y�`7��SF4�,�P�܂)�$�,#�!F	���T �&�-���~���	��(i�ԁ��%�.q����
e���a��3����q��@��͘�j��4��Y8�y��F�%�$a*��Ԙ�4t��0L�@g
��5�@b�
+a�ɵ�y�

+j!G�e%�G��۵坸E{*��B�=smN�)o�e�Y�сp]?m��\�~4����#R��^hL�����|��g�=�M�
82׍��X��'�ϩ�X�a�2qa�r��`�q��B��6C��W�{�����LiIM�#�R2«R��и���L
g\B��F�؝�@e����c^@c",OWIh���.|�D� � �$Z�`{"pݷ\��a�
�� N�օ,X�W��N��o�
+��E�q�t�
�\� �	Ϟ~
�
aQ��OE�����R�H3���)d�<3��-;Ⱥh�d���$/U��
+l����f�GS\
t���ׂ���t���U���u�=�n����O���������)�Ve�
�x�ű<Bݚ�n�R��Tpmn£�6o%z� �Ǎ����
i.X�{��(F��؉e��Z
�L�Ǖi��62v
��
22
����������u�P���+��S�|fi'�A�6jܛ7\�ڱ���$�.��p0p
+endstream
 endobj
-1187 0 obj <<
+1146 0 obj <<
 /Type /Page
-/Contents 1188 0 R
-/Resources 1186 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1161 0 R
-/Annots [ 1190 0 R ]
+/Contents 1147 0 R
+/Resources 1145 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1121 0 R
+/Annots [ 1144 0 R ]
 >> endobj
-1190 0 obj <<
+1144 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1189 0 obj <<
-/D [1187 0 R /XYZ 90 757.9346 null]
+1148 0 obj <<
+/D [1146 0 R /XYZ 90 757.935 null]
 >> endobj
-1186 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1145 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1193 0 obj <<
-/Length 3406      
+1152 0 obj <<
+/Length 3200      
 /Filter /FlateDecode
 >>
 stream
-xڥ˒���_��K�n�DQ�䔝�fv籩�I*��٢��ȒG���|} �(Yv'��IA �K
,|�
��H���B/6���o^���{�ǛW��h�yY,���VS�/�X<�.�ս��叟���]�
-ҥR4{�l�{U�y_65�>�Uw�
�a����o�?ݼ}�L0�Q����_���Ӎ�Y-�a�{A����F��L�����Z:��7�]��C�1�(
z~
I+�H8��ؓa*
%�U�hz���]"
-.��-���#
��2?������S�eq
-���*��M
��e^�섓d٩
�V��}�W����?o���JD�g�=)�gwK����U�����a��Vu��
QD��)B\����7[�u��/b�;���E�]^#{i�<��I岬i���`�
��U5]>��>�7��R14�����΅X"r�i�-�+�/��
��3��w��.�J��Q
�$�S������V��7�t���"�M�E�b��E��z�`�g�Λ���L:��&=��0NI�8к���z%}� �1o˼��-�,:BB��v��
Ndy�����F��e�C�\��g6�f6�D��<k��>#�x�&
ꮏ��j�
�����@}?����*��Cx�2B�0l�+
��y�+ڜ]��{�����$�%���mX�fk����]9α�ɡ
�9�㬝Iް`;{�*գp��
ϙ9���s���m]4m�
������}��!��O4 ���-�Mu,
i��Œ��MQ~�}dU�=[����� X�)�y��
2O�+�cX��N�zY�W�s�99�:�C?]p�
������q [...]
sS�O�e�sg�����{�8<|��T�4���FIvQ�.��[����A�g�Ϋt��K���
�]�G
���Rt�-��!o�nS��

��0��0��D�S�˜$�4�8���y�0OFO�0�aw4����l[�*��y���w6f�z��o~8��C���=����ݞ�1����ۓ����E���ϵ�"x8��XeP%E�����J�T%�Ss4DN�'�	 +-����C�F]�T�=S�=�(&F��!`kO�Rct)r�
EJRi��n�n�gK�<�94�[4�����B-
-Z���:f2jc�iP�]OK�GΦ(~p��8�u�ƅ�q�a�Uhe+0J`��)�Z\Ņ��رY�j �e����5��^O'4k��@�� l�EBf�-`=�������So�����Fh���� �=��Mw4a���Äsy�(�*At�(2�
su�r���>ѯ�zs��yY�:p��"��(����KA�
5Ko
��V���ڗ�^���x�\���f��鮕b�����=�jgʩ��d
�d����
-.Z��v�y7�<�c�k�[C�cJ#h]�Mޚ��AN�xɶ�`ے!�@r��˟��Lx<�\�k�#.w���B�m�1�����v�
I����J|֮.5�K�a��R�,�3� Ԟ�"3Ʃ	��@=�I��$�����.\9+��pdx=;"
�H'=x#Ch�`>N_!5���uu�ju&-�����+ÏF\�t���-��
-o��
�LlN1�5/}�#�a
-��m�O;��,�ix�H�Pf3l

�CV8�.�18t����.F����>0h�	�W�ʋM�<E/��f|M��
gځ9G�e����f�OE�-
r\�+>�E�<�D� ����Ӭ��$a��$%J�iL�yK#*
�� H%56T
-��E	f����2l{Gm!��R
X��.᠆��֑�O�LC�A
ޞ��3�mա�7j�B���0(�Ό�Y�us����}P��:�R�`n��`�q
�܆w
-&���.�3�5f,���S�ȰE
p�	���9 D�
Lja�6�%���z,tG#�'
��m|�+��\.b
;e(Qއ��ͺܭi��klJSXX�m�4&2B�ҏ�J�����H&����F"��: ��j����ן?�����O?r1�����o?=>��Y���M��c޵_��-��>�cWq��E��$aX0JG8��T�����.

+PX��@.#s>藑9��.�D�:@��M?�R,_;Ό@���`��1��
u��Q��f��I�`t�|84
��f(Z€D��Bn�
-��.�ڸ����� t��'���� �6��	بlՅ��~�a0�",�企��	�焔N`��;�s�@���t9�>~�1}�'�~����͔Kw�S��%�?�,��T���[�w}��B�W&�{�$r� �Zx��#���{��
Q9�����ˏF��I�+b�c՗�����B���& L�jY _�1P��Iʐ2i[A�gla��W�3��  W�moA�MY f6aҧ�h�8��( ;d����r)3y
�j;2�{�E��#��y�P���N��7������� qH.>4ߡ"�veGC�
�J]~?�M�K1]�P΂�~r�"S
�({�d�P���  ~I3^��1ta���3��Q�'���=��¥`:C�5�e���+[�9K-5Uu|rN��\b���]�
�GG��i����<d��c�����k�P�.�br?�	��;��霹�
�w�=�lv�^w��@��
4���Kc�)J� ����a�N[�m� ��_@M{��)���
`�-A�cT����$lO�@�����[�>~K���%v��F���+uLc��t�+c��(�)��o�w���v62;�]72�8�F�9�sұQc�0���@u���g�n_N%c�J~������ϟ
���w�CRN��D��*r
hBj�����~���t��ɍy�>����&��sP��9h"�
f&�t¨
���z��C1��� ��.� )�#9.�6{G�fk6�
��
��zDo�~ݹ
�S��QN?&����.�N�N��i��r枔��'�0�
��$8;K�3�g&	��	WUc��o��l�
��š���Z�+"�Ҁ�5����.�]`&�r�@.�?�8
m���� x�.��ȹ��͕6��wR#&�Z�q1j�pA/l�`6ɱ��Z�$��g�vM�'�-�4��{���v�kv?�6\�È�V�����
�DURՁ�|��N	���`,ͫ�#���
-�k��N�������I42<��9̣V.�;cF�F�ȍ&)�'�HQڱ�q
7����G�̋�p���|p�A
������yI���' ��$L��
C�\��W��=��i��Nmn�Ep��O�8���߲����ǜ�6��b������!�7JME#��I��D��f��pO����A_��gt�λ�?��ի��go�y��
Z��_
ի)_ay�L�k���Hg��$���d�
�b{M���sPYcN���_@�s���W�endstream
+xڭZ[�ۺ
~�_�ٗ�3�Z�/�Ssm�Iv�Y����y�-z�F�
]����P�l9�L���1	� ��Gh����[��z���{����͓ Y����[���Ɓ�X�_�pyĞ���5�4K?s��ޫz��eՉN��ޫ��Z
O�0vb��ꧫ׫��W>��-|�F��i/6��_~��Zxn�g�g͵_DA������W
���zǞ���%nf�4]/�I��A��ͼ��fn��0��v��Tl��ybX�,�ة�[�8���;���
� F^W��JY���_7_�z��3О$ګ�&N#���,�F[���AZ�|ld+�o��$I�N�j	��%�^o�<��67���-�����<fˈ
+��B�0]%�
U�I�Ƹ7ey:ܯ�NT�>H��9�~0$��w6;�ђ����Q�e�9}�
��fl�w���N�,F[�I��#{)��HU��XܒC����x���C�/�P慆ez�a��I��M��w�2�@a�Z4JT
�s��%&4�d����?p���e�,h���U�M�Z�ֱՄ3�p�����O�����V�~-6�9:ghȯ=�n���;�����)��*h
�?��G���B[{}K�x�f�6r�w
�+Y�5�ӳ�Cn�#Vx���모��Â
�������؋#5�R0��EU�)�ˆ�79��J@�P���@'I�ON�K��
8>X�G�����H#0a�Hik�hdG�;�Q�H佪�T�DÃ��ӱ�5�
͎��ى��:�L���Z�ڰ*�H
zV�n���"���ag.5:+ߜm�K���H�������2�Kـ�Ly��M)�
��CA��Ij�Hy������
��ay
�Ӊ��mK=H�m -��E����C��_q8�
+���DG���($��9�
_W�h�C���g����N�k��D�$
hiX�V���ʁ*��t�α#�
`��V}0�-��֪�Jt,���ܢ0s~F�vX��̦F;Y%�r��BD���Bo������۩��F-
+㤡�:
3k=
S��{KCf�
�-5s'�
۹��v�?-� �Z ��
t1���������}��uͣ�<���>�C5��g(�\��U�l &�[�AJn�
m`ݠ�1�����6DQ8�F���°��~٧[�1vO��`�:ҒJ�@��\u���ل^tr�>ү9��o���^�B^���
q��C)qS�
��
+y�)�l)yN�c�7eB���1
+Ԓ��v�宥d���vn�ƺ:�2ZY�0@T~Z�F+���$�0#�nW7
+_U#p5�
Z�q��B��
�8�b�[љoE�V�oEP� �V<I�i��?P_'G�
�v8��D�MѲ���S���/-K54�Z�
���I�`t�k��J��J�
��Q
����8�;/�q�Sp�S����-АUa����-����d��Ha����������Dz��#�U�3ki
f<v�0�x�Q�,�A򱱥�Y��� _�ƚE��I���^��,��5u��c^!O�EGq�4�a�o
!��v�-@�Py\��i��k��t���M�&�()�#uF����g3ݿ�5�
{:�YKDN+�rn2�?̧A��r
+\K^�M�:��D�!�������[�4e�iF�RS[ 떦�T�J
�^i����Q
�R��;Qn����'�0� 
ѳ%夆Q�L���v���gz���y(�F��к�(
cZ���gs �8yd�Wm;��1����`J��[>�wJ&:�1]Rg6�4gp�ǫВc���F�E'
���3b,'��l�K�>}�I�
����?)��¶�
+��ٷ�H"܇��͢����ml�yW
�VP���n:� ��<
���B�M"��
�'Ϩ��30|���Ż�w�o�-���Ӈ���Ǚg�EDx�{���k�Òg�^b��D�A��,��%�F�R�zw0�W����>\�`�	�YΗ�bp���u�
+B~ND4�����Aco�1��Ϡ��<u�PCРu$<
�LB�2�-��M*�f!����6��q;�������
2}#�"�l$4�	�(�<
�B{_��`eX�ɸ�������0W
<ђ1�]���}|'1}�+�qPu
�f�K7��񏟴�ii��q�
�⏕Nn$��4�����
�WIC�5>
+R���2�!)�yd�~��@˺<�	� lߗ�:�,���F�;���l���(!�<"��G&��{���5�y�O
	�d�a�lR@��l�<�Z7O4�Q{��y�-�1\���s)78[��2�{��
+��%��El*�����^|�]H�q�
M�
��CG
+]!��������^���^O
+�)�:�Y�ݝ,"ɕ�%T�Z)	�R�
�/Ybf�d��
+����16`��=��\� 
[��
Y�L
���3I�5�i�lyeA��].�c�ĥ@����P�J��"d�����k������3pr=�J�߯�^�s�.|2����睮:�d��ht,樗%�R��	>���H
w�*k�
���n��ԥ���! L�%H��
+���3g %��D	���~M�_F�6��#�ܱ���)��1�7��%v�1JO��~
�!V������w��!,�Л|We g��Ia�0o�D�]�v�ͽ�}(�
P����/W�
�I�Û�T��yZ�v M酚bn(��|u�j�g�1��)4,��/���h6M#�B� L+�Fc�T_��d|�a�? @r�
+z���G'�A]fo�]o��Ҍ�5�dUM��d�v���%��$Z^���4�`�֬Ɵ�.�g� ��u2�g 8@pn at pW�,kS�
=js��u�Ŧ�zL1e�	�h��@|
wdot�
r�E�/�\d1�
��v+F�ʪ�D<���)W��\���J#t�=����bR��}0�3)��@�gp-����\�Q���#�@~�K=��8��ɴl����)�DXj�oD�8
+m���OD�JQd=��|��#s�����r��5*�J�må/.�
+�E����Vi�ͩ�*��D杸"�h��Iܼ6���OO��(��������.J�<
3���8w�x���?�ʢ�s��c]
w�h��W�u��/b��'�����z��9֋�����<��
=�;
�����,L�g�

[J^����e}�u�?��=??���xh\��
���W���}?r���P�����5T��B�ĆC�/�DR�
+endstream
 endobj
-1192 0 obj <<
+1151 0 obj <<
 /Type /Page
-/Contents 1193 0 R
-/Resources 1191 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1161 0 R
-/Annots [ 1195 0 R ]
+/Contents 1152 0 R
+/Resources 1150 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1121 0 R
+/Annots [ 1149 0 R ]
 >> endobj
-1195 0 obj <<
+1149 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1194 0 obj <<
-/D [1192 0 R /XYZ 90 757.9346 null]
+1153 0 obj <<
+/D [1151 0 R /XYZ 90 757.935 null]
 >> endobj
-1191 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1150 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1198 0 obj <<
-/Length 3319      
+1158 0 obj <<
+/Length 3187      
 /Filter /FlateDecode
 >>
 stream
-xڥZYs�F~ׯ`�%d��>�O�M�Jl�+�q��<���08���o�t0 !m��\e��\==}|ݔ3��3K�YDV���,;\س
��_8<|�W感V׷a0K�$t��j�v
+p
w���>�Wn`�����m�p��{Wf�AM�Ȳ �G��������y�.�\�|�\uL0��:��_��i�6�����%q0{��m9I�����N~�x��nP
��8�?���Yvxꮑ���
{~�������7�$���>��ݾݭ>P��������_��~~���{}��9 t'�Bקcn`�̳�p�������-
4{A
-]�M�MM�������?؇�N0<�Y6{����X�cZ�
�j�b#����������aO�gY=�o��j��i���x��f�/�S� ��8�}yx;���Jwb��F�M%׸�%Y!� 6�=�����&b����<�2��*�R�-PJ�蒏V�V��#^�T�ݾ!R%�6od����* ������ы�2�ߢlhF[#jQI�\
$�>@��͉���i�R��X�?v��X�������T|��>

* ��Wu�U��MK����c7�E�������� 2��*
=ɫd���D+�AjZP�b��nÞzy�b`��T�-�2lt<�'������G�vl^
����c�x�^f{�P1�����Z�M�e��dC=�Ɇ��]Gy_]��:a�c�m�[���V�Ȟ��������LH(y�Zdlq���l-!�,]�|
-����%E=ܲ�L�
��"��9Ҙ9���B9���q���&J�G5BZY"��|ˤ��$� Ɋ�M��
�^w�
�ܑ|q�)_�uHO4��c�y���#�dv3s�zJY6Y0�*͞PQD3��I�lr���͚�0�|�9O�UYȌ��(����!䒼�
ȫl�X����8��>` �۲:p�����,k�:8�
ښm�T�l��
+Y4��@�g�Y�ˇ�6
�y_�/��0� k�0@̷X=��?~�a�+�L|� PU�E���&���]�Z��Qw�~J�'Y0A=|�F�a�n����
��w�uIsNe˓Q}�1łhM�K=<�$���C��QM�7���b
-�� $����y"�� ;��A�
axVs�lO�Y�T93��HKk�$��C�q�� ���$F=���
����������kHt��9�p�9(
\�F��&s%�V�Ɔ�7N�0I���'�V��S����hhJ&0n�z
-���F��
P^z$7 ����B����Z����lN0�d�
Z��[8[$�
�^HMy�
ep2C���
-�ڡ�h&(1{S��;��Fϡ�ppH�ɍ4H�z�&�\��C4�`޷E�Xn��N�Y����9��I�F��`32G ���Ph�2���e&�sY�rY����hDP
-�,>luH
;�^4Δ^	F���
K�I'����^���;�)K�J�Y:�`�A
-N�A�
��ͳPx4Я5�z��
-���h��#!�᭞O:f�V1�.]�H4�E{������=f���s
�D�e>��^]��ǎ{��4��v�b��kی܁��Ԩ$
��7�SQ��@�)�חx#��.�A�����4%\�Ab�w���T�N��;�{���>P
��%}��
���)c��
-��?u�vs��z�6���̒�s����NE�a��5�~3%�W�D#��ç�{

���N3r�iF.g"@ёhJ�HA�mO�u��{o�c�⳰;�Ua�P���ı�iim�AG�Z�1:�u@�ҁ�k�R�@�
&���v��
�g�M#dž�*C���,<'�ƒ{���5T��D��{Q �8
��!7|�<�+��c�6���U��p��P9�1
"AE�,�T�'1��!�B�2U���yq4?�UC�Z��-5�)�	�D&��uC�(���j*������I
ru��듹>%�9׏G�q�/y~C�tb�Ш
-�@�Ke�X8�C�V%�0�	��R��+�V{
,�� r�b�����u��aI;<,�{����[�a�������q����J+���Jn�p�XnUj����Kx

a9<�= n at j��Y�
eJ$U�`�:�{O�(�W�aP?��8I��ا)5���
�x���u��FL�0��ּa-2W���[L<�J2,�N��
�
Qr`��A~
&��	���V�Nڈ���+�h��R�UyꮧA���A�*�����mx�G!��y��V��
r
����4�4ӭ_�R{���\B���P���&��9�x}���l��*��58�S.����7ߍ,���o��7뜟�����t�\DobZ�2�^G�A���Y#��:
Z�vk�-��S��a
J������LLnD!��X��5䦄bG��V�.k�ʣ[����Y�q�_#���m�L; �u�26��XW�Q�� $,�#��������ؘ�My�2�)��c-��+> ��,d��
1|.l�
H��!�

�
1!4z-J�Wҁ����B}���Hk�q&��
[���U1;j��(�J�
!_�O4J"qmv��F
56����R餫��5A�:OU��q�d�=
�2o?��l	��'�
���'��\���l_��*#M��+F�2В�b�'t�U�U>?��!ZU��ӻZ(�> 
D;�cAOb
-ϱ�8 O`ϱu,�Ѣ�˥�
�^��e��
!c��^�{�$�p}
���e
���.���y&���%ꢯV���(<��1z at y� ܈�˖}1�ߪ�������?N
�8�F}{��	�ql��~�D=p.su@�
.?���Jt��װ�����;����c�?�#e
X�G3��-��5�Y��s���:z��ȡ��츮�Fq�m��~
�����f2�wDž�o˛�����&��|Z��	d��f_�s�'���w�E347�*�1�jrV�22�p�Q��ͩ
-��
�����Z�;rT�&j�`LYl�1ckd��;$���=
v
˝�C� -�}�
��n�7�vק�=_��(߭�;����T*lj�����
�j7.ܾκ�ʢ�z[~�̮�ߍ���ޜ�S�=��	
�R�5����3&S{���7Z���#ty��oV ��7	8mp�N��ן����	c+rDŽ���D^�����:,x�OL�C��2?�2T����*��x�������Ң+T���U���t!r-;r���^��+c�v7�m��
�
-Ym��<V�l�3��
-
z5?J^{��n�/�{qhE��x��8y(u9P�e�M~��&X�/(
�endstream
+xڍZIs����W�t	YeC�A����E���RI 8$� ����@P�/�L������M���̝���a}qu��Ic?��w�ԝ%��D�7[og�σ�k?r���>q�^x˹R�{[��*۬�Uɤ�u���c7�摿�s���j}�ׅg�3�Έ'	�Y~���Ow���3�	���f
g����=\����W~��q��M����s�׋(��{w�zw�H�����
���v��[�woWW��n-C
X����d��&r�s��k/qb?�c�a����x҅��Ϋ
��
#!�U5O�mÄ����_���m/�+��ۃl
{�Ll�)��V���-7t�U'��p����t��Y�_�WxQ��礑HP�U7���~����
��M[��^
��ꦭ�W�YVH=��>_�{%s�01ϊBmeK�x����B��(%u�t-G��iqu«=�zh�T��\���O]uWWG�2��Z��d
�e��s��Ѣ���>j�}���[0��jx�Il���@��-�p�t���†�|�J9�񐍏ЯW���_��̜,���n:?���	A7>T�d�si�0��e^��,�%)
R�����W��%�i��nfo+Rwh��a�өxb���xDc`��Š��%�M�1�JV
t~�	�И^{lT��$�^6�I6�m6�@��:�g�E�NE��xS�ּͤ�"q�t��[��꯳�?*٦Q�X
t����,c�g�BNBA�э����j�[v��{��A�t9G[3'^�W(/
�/E�i��T#�U�b�!+vBڙI�	���eڔڹ��t'��A�
����Y���6r��r�~�U�nno�L]��c���
*�jG���? &R
��h֤�����y� 
��R��E長�a����^e7�b�T7S
�X߀���(A���nTo ��w<7b���*70�T�%��g<�f�,J�6��CU��
� �1�ԥ�b}}��s3�/xX/ �Y�tq&tٯ�x����a�n����E�B������?\��M� 
���޼�x�Su�ɨ���bŴ�����
+]���w�QO�9���b
+��(f����y"� ;��^�
ax�����gլuF�
f?�҆{
�p��q
?(��r�Q'S�A5�ps���R���z�!��Ai��
?��(y6�$o�,a��#~=AO0���2����ДL`ܒ	����V��=(ӷC����%���-�M���6'�A�a-"X�[x�<Ⱥ��,����;�8��d�
+QP�cO�.L 	{S�,:��'ϡK88f��'�'�v����1qI0��b�Xn��V7y��#�x��i�Ft
y"،�HYA
+�^&0�1Խ�ĽV��
Z@ۏ�R�0�a�CZء{�Pz%�׌7��&�0;n{Q�D��n��<3+�f���`�
����s��GEx42�5�z
�NJ���d��#!����g
��ī��q���$
J�ˢ=��G�g�(N�f�
3AH��i��̺x
�.����*�H�ݥ��Mm��
+r�
+ SKIR/��/e�G>mO�o.�F��]��
-g�eh$\�^c��d�ݩ6�x�?���نk�@�$2W��.\�6��<��>���w�%�>�4f�-�C�6����Bޞ͛�����������-�@�b9������� �D�E
��%	A�]O���yS��2�ǂ���>��W�AKM�Ǹ7W���e�M
m�c���e����>��G��0�N���
���t8+k[u<�L�
ōƲ�t(� ��˂�p1"~&��$8؋��i,5������l�ٹ��`5�r�3D%��,�5�� RYh<�����b���TU�s,��)�[��bB��8dȿ�&<�V����-��dO��&_���lޔOR	l���
8]����(�,��rğ��Z��7��@'�-�RzQ�c�@mΔ��X'$�_��O�K��;��E�@N�-��b�7�֟�W���������~���V(?߾Y�=��!g c7{SS�Ջ�ծ�RW-p
EX����ؑ��	�qRKR�G�:|,��>h�n��
�8z��
\
05�ày��
p��Q�O[
+��#�=��
�9�	넘FL°��6�a�������O��˺
�B''Eԁ
�u��Y�>B�
2�S�����`>�-I��^S�*O��T�B
M!�6z	*Y3چ�P$�
,�c���̴~�jyd)��N��0D

�������㣳/�NU��<j�^ɖ\w�'N�o�@��a8��U��;T�z(:@���-?U��X�=�Rs9uHy>n�E $P�p}����%eĴ��[F�/�Vr.���
}(�g<�
I�,�
Y�ɗ�lӥ
��k‚����"�q��x|݊��y
��O���o�L���#�^�]�4I�jXr*JK<��H�\SK�[
=bʡ�Z�NHҁ����BsƘ�IL(&�Q�#��3�� �
Z�{�x���ٮe������H|W�!��.��.uV�N��I|��yT
�V��l�4`˾��#�%@���8FGv��&�K���CUq���f
�%��Mh�%Z�Љ�ʘr~�K�T$�ӻ£ 
D;qݱ�'x�9�R ��\�x�k>��I݌�D��0��EG�s�^���dp�C���`z\R91��S`�'�BT,�� 
o{�
(���#D�V�R#�+�V
��
iI`~	0H�ٍ��Nʡq:�/�
+�
<p.
�E7����z
[�}Y:��
ƻ��$�
��9�)۫��s.��Lq�������V�������W첟�Ya=�����M�ç{�tw�˪��]�<�G��R�ĉ����c�	�;����������P��}��j!�%��c�8\h����ul�
��a��[#؇�ޣ`�W�"��9��Y)�k��W{��P��y1��E^��/�;�󹰌K�m�Ք9i7)s�κ���}���j�]��[3�מ�C���<�RG4�����[{��f�7ZӕK��L1�6��k�`��[�Y��I�]�I��҈R'��
�y�9e�1�nU<��֙q��:��d�Q�����deW�A|VVs
�H�
�<�+�L�n�xKo+�s.��vt{�k*��x^��HygBű2�']�b}����B�Y
+endstream
 endobj
-1197 0 obj <<
+1157 0 obj <<
 /Type /Page
-/Contents 1198 0 R
-/Resources 1196 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1203 0 R
-/Annots [ 1200 0 R 1202 0 R ]
+/Contents 1158 0 R
+/Resources 1156 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1161 0 R
+/Annots [ 1154 0 R 1155 0 R ]
 >> endobj
-1200 0 obj <<
+1154 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.6759 310.2344 428.0408 321.1383]
+/Rect [258.676 310.234 428.041 321.138]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
 >> endobj
-1202 0 obj <<
+1155 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1199 0 obj <<
-/D [1197 0 R /XYZ 90 757.9346 null]
+1159 0 obj <<
+/D [1157 0 R /XYZ 90 757.935 null]
 >> endobj
-1201 0 obj <<
-/D [1197 0 R /XYZ 90 195.5547 null]
+1160 0 obj <<
+/D [1157 0 R /XYZ 90 195.555 null]
 >> endobj
-1196 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1156 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1206 0 obj <<
-/Length 2076      
+1189 0 obj <<
+/Length 1228      
 /Filter /FlateDecode
 >>
 stream
-xڽ�Ms�6����9l����e2q�$��rʦT�K�H�BR����4"
-�g�\��@���
��H&��D�I�C$Y &���l�������?o�]\]|"�TL��A��N�?��lN9��S�|F��ZťZ����(g.~��!�� b�!��֫�
��ř :��W��'k���FLF|�7)�dP�����m���j at _v�����I�@�G(E4��$��YpV)~���gs���C���z���{��q�d�i�KV*-�����i�nsV;�S��
e���q
l��
��n����3§�tݦ�@�P>��$NK�|�V:p�-�tei9�>�����-f!W��߲01�tm��ƫ���ru��+e<��Zܛ���"�:#�ӹKRU�?,*B���,=Ƭ�r�7�!��(�
!Bpg*�)m��m�i���Hvrz�g�JH_ܦ��*�ۦ���A%馞�����Z�������vq���[s�uޔC"3�͔}�e���j�z"�.��s}W�\�pֻ:i]�:#�8�fqR�����Y���T6=L�͎u��r�M�r��4���l�� [...]
-Y�!4`�r
-�˙��u����,�8��w)��&z�L��Q�?�*1��ġ�g�<�7��:w*��I�\A� ��X�j��Z�(TO��"%��BNq
�vJ
��;��jn���W�,Y)�Z鄶�j��-E�h
-
�������w�5�qaF�2CC�떏*Uy\k�t| ��㪚1�8�|���S�UIn��XԓYeʭd=�-�5Dp4� �iB5E�I����d$��ƾ}/���`v�k���M���?��#T"�YЍ�{�Mm�[+�5��v�j�L�����@���V��xy�<�q�|s����~��M�^/����r	;�r���>��:O ��
8�}�F~َ/-�?��J����,s���sU��(�{UY#GUgW&��$bD�pqsn�+��F��
&�����p�jߙ����,=�o���z8��
ό~
�2ˋ�l�(�
-�ٜ��Z
��z�9���q�(�-ۏ_˪���`
���c�Fw�~����ҕ`0BX���Y�宷~
ke
��^�8�_��r�] 6x�%&�1
Mbk��Ķ��#���e�9���$b��(�$���Il
Ɛ�	9�Dot��W��� �,
�����z����T��Ȣ��#��__c����Ix�b4����=��cG������"��
\o^
�	G~
�V�<Z�<vC������<���ϫ�z��@���E�Vy��8_Hd$�7��Z��.0P$0�L6���l
�1��zLv��̤7כ�I
sÂ$OF�D��c�l�ã/�����S 
�u_�
���U�{�>��Q�����W[c�h�G�����yAk8�� �
��`7���sp�y���
�0��z!�#(�
��?����p,��2���<��Z
��zk
�/R��'�p�yeY+W�(�$����p4��>(�^�N6�����z�C�%�
xwl[�C����r
����B	π*/�1˸(�M:pBJD���Y�����s�[��|��8��U5F��~�Կ���Fk8��� �
�Fb7��$�sp�yI$��.���V�$Z�$vC� ����B����Cv�ƀ����Y����/�ĆT5F��
 �6Ae4��h
G����-��@�dsDo�7?��"I�OF���c(l��/��u��d���3C!c�Z56~��F��ы
�B�O�>M��u;��
���5
�]k�����î��e�9��z�X8<�p��Ă�!L����ݪ��D�@C�6�P��mZ�)�'���&��m�i>N��17�*�f�������8=V�\��^���<�����BF�9#�ouѐ"
��[ ��פ��锧
0o�h>�:e���9o��ps}���V:��!GIy}8쮝u��� ����[#GK��,(�$�hy��L�Yn�2���飡.��O�?�n�4endstream
+x��XMs�6��Wp|h��H�}��*qR7RNnFS��	�
+PV�_��%��ڮ�C��X ����7��w�9
w���KI�7�y)����(`�x�]��n/��"j�e_d�S�]H�t���y}&�h�D��vNǝ?;
��c6JHF^Vt��Po
+�w
%a:�VvV���~so���Cw\������,H��^��0b7=8���ۋ)�ϔ�:��e!ʆ7�*�t!3Qjq@���g�
+�"n/�I
+^Y��
��_WK���Կ��84,�}c	"�+���#��}����U�M�me�j���݄X�j4���)�
��뿮q(Q�<��,�s+�,!;+��VA��#i��4kP�f!����գ��%��a�
��6��ݺc����t[��w-d9w:
Gcl�=
~r����t�;��m�pʵ����ra	�g'ii��mN�G�ݛZ[��V�ƘZA��'����6��x[-��^�ӝd��_�1]Q*�������c�f8Dza
���Až
��P�w�*�p�U�Q�¼�y#��„��j�qn�^ʦ�A�L�YZ��?!q�ߢ3��N�����e�\ZҠWBO���hC�xQ�֙�a�0R�j�x�MM�A
�+�� �`�)�P"\۬0]@�{����a<N��+���8�-˩�\t`���Z��`�ٳ�Xt5C¹8���g<O�@o�@;׸i�=I��\�Bq����p�b�*3j�
+��@K�.��Fm\6�n��>M�O�~
�*�0%l�l>M�҇�M����g����������q��^���p}:�xW�]+��Ҕi��b���B^+��GG�'�т���O�H7�(H�f�ʤ��,��b�)��Q;�~�Y���2���"�9Z�>Ii���H��c��?V��*�jmhRt��i'��&���Rz?*�����0&a|K�j)�L<Q��U`�*�/��*��ֺE+��ѥ`�L
+wD��\<M�����h��;�����j�b��ha^�xa5�J��fµ���)��9֯ߊ爰����uw�W
�k!�+9}��\ ��_�I�౏���B�I�����$�ܣ��u��\̍:����^'�F������E�{���˥�%C�H�
_�&vJ��J��(B����-�1��^�z��k�N4�k/kXMS

�V+�i�,e��l�:?���-
+��4$��U�F^Tjs%cq�²-�?�9��
+endstream
 endobj
-1205 0 obj <<
+1188 0 obj <<
 /Type /Page
-/Contents 1206 0 R
-/Resources 1204 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1203 0 R
-/Annots [ 1210 0 R 1211 0 R 1213 0 R 1214 0 R 1216 0 R 1217 0 R 1219 0 R 1220 0 R 1222 0 R 1223 0 R 1225 0 R 1226 0 R 1228 0 R 1229 0 R 1231 0 R 1232 0 R 1234 0 R 1235 0 R 1237 0 R ]
+/Contents 1189 0 R
+/Resources 1187 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1161 0 R
+/Annots [ 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1170 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 1186 0 R ]
 >> endobj
-1210 0 obj <<
+1162 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 496.5224 433.5586 507.4015]
+/Rect [128.007 496.522 433.559 507.402]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_b464aec35ab7fb9fe0a8a50e05ad6f99) >>
 >> endobj
-1211 0 obj <<
+1163 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 484.4328 321.7588 495.3367]
+/Rect [130.787 484.433 321.759 495.337]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1213 0 obj <<
+1164 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 448.1956 439.0879 459.0748]
+/Rect [128.007 448.196 439.088 459.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c20541d40c7629b278584406ce554eaf) >>
 >> endobj
-1214 0 obj <<
+1165 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 436.106 321.7588 447.01]
+/Rect [130.787 436.106 321.759 447.01]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1216 0 obj <<
+1166 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 399.8689 437.4339 410.748]
+/Rect [128.007 399.869 437.434 410.748]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_2626176104b632be36dc614e1d5536ea) >>
 >> endobj
-1217 0 obj <<
+1167 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 387.7793 321.7588 398.6832]
+/Rect [130.787 387.779 321.759 398.683]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1219 0 obj <<
+1168 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 351.5421 477.6428 362.4213]
+/Rect [128.007 351.542 477.643 362.421]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1cb059d74161d8458f18b02e33efe434) >>
 >> endobj
-1220 0 obj <<
+1169 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 339.4525 321.7588 350.3565]
+/Rect [130.787 339.453 321.759 350.356]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1222 0 obj <<
+1170 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 303.2154 442.9633 314.0945]
+/Rect [128.007 303.215 442.963 314.095]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8921d611a6be878bd8ad66a9af6f405e) >>
 >> endobj
-1223 0 obj <<
+1171 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 291.1258 321.7588 302.0297]
+/Rect [130.787 291.126 321.759 302.03]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1225 0 obj <<
+1172 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 254.8886 483.1721 265.7678]
+/Rect [128.007 254.889 483.172 265.768]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_794dad01f1995c73b887effa026ac32e) >>
 >> endobj
-1226 0 obj <<
+1173 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 242.799 321.7588 253.703]
+/Rect [130.787 242.799 321.759 253.703]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1228 0 obj <<
+1174 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 206.5619 450.1559 217.441]
+/Rect [128.007 206.562 450.156 217.441]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4882da0200ef4201f3adb0f6d7731526) >>
 >> endobj
-1229 0 obj <<
+1175 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 194.4723 321.7588 205.3762]
+/Rect [130.787 194.472 321.759 205.376]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1231 0 obj <<
+1176 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 158.2351 457.9369 169.1143]
+/Rect [128.007 158.235 457.937 169.114]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8e2f5b70168ac89a3f47639e7d9a4f9) >>
 >> endobj
-1232 0 obj <<
+1177 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 146.1455 321.7588 157.0495]
+/Rect [130.787 146.146 321.759 157.049]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1234 0 obj <<
+1178 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 109.9084 414.7293 120.7875]
+/Rect [128.007 109.908 414.729 120.788]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ccb5584441a7c7c84de73810cc6afbc4) >>
 >> endobj
-1235 0 obj <<
+1179 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 97.8188 321.7588 108.7227]
+/Rect [130.787 97.819 321.759 108.723]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1237 0 obj <<
+1186 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1207 0 obj <<
-/D [1205 0 R /XYZ 90 757.9346 null]
+1190 0 obj <<
+/D [1188 0 R /XYZ 90 757.935 null]
 >> endobj
 74 0 obj <<
-/D [1205 0 R /XYZ 90 550.9791 null]
+/D [1188 0 R /XYZ 90 550.979 null]
 >> endobj
-1208 0 obj <<
-/D [1205 0 R /XYZ 90 514.2532 null]
+1191 0 obj <<
+/D [1188 0 R /XYZ 90 514.253 null]
 >> endobj
-1209 0 obj <<
-/D [1205 0 R /XYZ 90 514.2532 null]
+1192 0 obj <<
+/D [1188 0 R /XYZ 90 514.253 null]
 >> endobj
-1212 0 obj <<
-/D [1205 0 R /XYZ 90 476.0554 null]
+1193 0 obj <<
+/D [1188 0 R /XYZ 90 476.055 null]
 >> endobj
-1215 0 obj <<
-/D [1205 0 R /XYZ 90 427.7287 null]
+1194 0 obj <<
+/D [1188 0 R /XYZ 90 427.729 null]
 >> endobj
-1218 0 obj <<
-/D [1205 0 R /XYZ 90 379.4019 null]
+1195 0 obj <<
+/D [1188 0 R /XYZ 90 379.402 null]
 >> endobj
-1221 0 obj <<
-/D [1205 0 R /XYZ 90 331.0752 null]
+1196 0 obj <<
+/D [1188 0 R /XYZ 90 331.075 null]
 >> endobj
-1224 0 obj <<
-/D [1205 0 R /XYZ 90 282.7484 null]
+1197 0 obj <<
+/D [1188 0 R /XYZ 90 282.748 null]
 >> endobj
-1227 0 obj <<
-/D [1205 0 R /XYZ 90 234.4217 null]
+1198 0 obj <<
+/D [1188 0 R /XYZ 90 234.422 null]
 >> endobj
-1230 0 obj <<
-/D [1205 0 R /XYZ 90 186.0949 null]
+1199 0 obj <<
+/D [1188 0 R /XYZ 90 186.095 null]
 >> endobj
-1233 0 obj <<
-/D [1205 0 R /XYZ 90 137.7682 null]
+1200 0 obj <<
+/D [1188 0 R /XYZ 90 137.768 null]
 >> endobj
-1236 0 obj <<
-/D [1205 0 R /XYZ 90 89.4414 null]
+1201 0 obj <<
+/D [1188 0 R /XYZ 90 89.441 null]
 >> endobj
-1204 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R >>
+1187 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1249 0 obj <<
-/Length 1892      
+1242 0 obj <<
+/Length 700       
 /Filter /FlateDecode
 >>
 stream
-xڽ�K�7����^%3
4zK=�<]q�ĉ'+�Eahc*�#MO�&�>в��W�㢼�@�{�Z-�!6�HU�J	�j�e5[�p�0O����9>��ލn~���Q-���>�
$A�Z���^��1���f�^}�̦]3?<��r�]��{Yq�f��v�����w��1�`�ت��޾����{9ˆ�ZT��F��i�q����7�ߝ���~@�;NMg��j�8��
O��@�he&���R�����W��}ӞvFh�0f������Q�W��3�c_���5�W�v5�����js�����/���}��}�.緷��|�0Mͺi�ݦ�L���j�^���5�=pS�R�Oz�&���$��l�����,��ұ9'/�t��Z9
'�F\I�s�8�����j,e�A����DsBAJ3�I�9��~�H�|m�o3��kmև����'~Zm�U��ݲ?��p"�m{���i7�b�l����It�L�����9�J ʹ�a�UI�� ưd�p���L��_��z��`�BkϙSeb�n	�s�&o�v]�:�8[�8J�ᙄN'L�(%CT�"����� p
\
ǰ�A
�
b7Gs��gh�$J�x<^¢_�E�t�z&��=���9�J�u�DQp�n ��<�Ce|j��LNe��ĥ�y
-{a1�� �B?��(
���!v)�6�͌���$�NP bX��D�z�{�Eq׵�広��Q���2�ʤ�����c�
�$��!����9U
,
����u~gꄥ� � �0�fB���
�p�2��L}U�^PaP�B�z����v�aU�S֋2�#/���a�j�%��s8�S��P$52����	�Q�@(�.�b��0�`��"���I�DI��
�
-0KG��ܕ�)������s"����ە���$H
Gr�(RB�̫���� t�R� �A��Av3!�C�C�$"�d6��*�a/(�0(Y"X=�}�Ǧ���a
-ϛSe��n��MC&�(���8�����
-I��^X̤7 b�p9&�n��{��@&���
�0��*ɤ0�,`�
�>��x��!�kx{Q��ȫ��|$%V�R!�\NKCɔDL��n�	K�� P.e�� �p�
%�Hd��%i
�GKX�T���'�g h6M�kf�,M���r��|�ȑ���^�
].�G̞R���(�d9�I���F���F�	���@|�.�W��0_`���)���lD}U�2'( -,Y�\=�=����9+���CY	p�"�)<k�(�;��
��
���Tq�4T�5Dy~�鄥�� �� �/�f�?���
換F�3�N_�����,��
��wx�~��tG�
�h/��y_[H�(�9<�N�i'v���-$6o��R��9U
l�N��Qc��}:a1�� �N?���
���!v�$�����0��*I���,��
�~y:3o
e�����d:U�����_iHl�o�{���NLcJ���4��u�RL� �A��av3�)�C�c�kD��lb}U�^P�iP�S�z��1��v�?��3�5<�N�i'v�/�� �	��9U
l�N��4��u�b:��~���t3L'�C�Ӊ	b��lq}U��^PBgP��N�z�����}�����L�����s�j�"j�b{⡀NLc�kdr�,���RO0�W��A+���
D^I>��45"���ƏH!��+���`�F���k�D�b����†�����%�p
�t����#vx��i���jwx�j�~����k�_ke�s'�D�v
���ѥ��_�*��	:
������S�n��q Oy�F���]����y||D�
zX/�-Zv7���M�H��%�7�
���EY��gZ"U���g���Dd�i�gb�6O��k:ZB��T���� �endstream
+x��[o�0���~��C
0����hݺuk��U�����lgQ��g��%��Х��"Eœ�>��s0�
 0�^ϭɞ�F����|
���<�#�
;�޲��8
��J�j��\H�d�<�B�j�v	���nn���"��mI �����OH�| �F!X��
+�9��.����B�Dt�������������R��_g8nm>�1Q^���vШZ��Y�i�1?唯����锦i��Q���q*+
�2���̋�73:�aJ�wDPR�*
��f�x֭Բ����-��t�
ǃ
+�c��c���J����L��R_��/�+X)�̻?���I�km���
nX|
��3�%0�'
+*�_�2a��7�⣵��0�L���
4���d��A���0#���!9�K�3!̪.�C=��苻�#
�r��r�5�
���_OI��Ǥ�8�����/�

+���
�%��1"�ʾ�a��
�S��/keV|Z-U���?ԃ��͛�I3�Y�j�@>����l��1�ϼdmǧ���S�|�=���B�lv~�F8ܶ��6z��>�74�^AB<��3G�#-?s����-E}�M0��&d$��-�t��
�_�V
+��b��9�nC�cW��
�v��F���\1�A.�!���R���d�Z�D�e��
�rR׋�Mڗ�`����69��E�M
�R	��
 �mR3
+endstream
 endobj
-1248 0 obj <<
+1241 0 obj <<
 /Type /Page
-/Contents 1249 0 R
-/Resources 1247 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1203 0 R
-/Annots [ 1251 0 R 1252 0 R 1254 0 R 1255 0 R 1257 0 R 1258 0 R 1260 0 R 1261 0 R 1263 0 R 1264 0 R 1266 0 R 1267 0 R 1269 0 R 1270 0 R 1272 0 R 1273 0 R 1275 0 R 1276 0 R 1278 0 R 1279 0 R 1281 0 R 1282 0 R 1284 0 R 1285 0 R 1287 0 R 1288 0 R 1290 0 R 1291 0 R 1292 0 R ]
+/Contents 1242 0 R
+/Resources 1240 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1161 0 R
+/Annots [ 1180 0 R 1181 0 R 1182 0 R 1183 0 R 1184 0 R 1185 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 1219 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 1239 0 R ]
 >> endobj
-1251 0 obj <<
+1180 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 720.0467 430.2211 730.9258]
+/Rect [128.007 720.047 430.221 730.926]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_880be9febc6dab2cdccbec8814c9a952) >>
 >> endobj
-1252 0 obj <<
+1181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 707.9571 321.7588 718.861]
+/Rect [130.787 707.957 321.759 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1254 0 obj <<
+1182 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 672.226 418.6046 683.1051]
+/Rect [128.007 672.226 418.605 683.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_726484f44f6e6653f9c0126e94e51ab0) >>
 >> endobj
-1255 0 obj <<
+1183 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 660.1364 321.7588 671.0403]
+/Rect [130.787 660.136 321.759 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1257 0 obj <<
+1184 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 624.4054 458.8135 635.2845]
+/Rect [128.007 624.405 458.813 635.284]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c587faeb0edfd2582564b9a8fa3335bd) >>
 >> endobj
-1258 0 obj <<
+1185 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 612.3157 321.7588 623.2197]
+/Rect [130.787 612.316 321.759 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1260 0 obj <<
+1211 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 576.5847 409.2 587.4638]
+/Rect [128.007 576.585 409.2 587.464]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fa7b390fb34934e419263a5fc694c946) >>
 >> endobj
-1261 0 obj <<
+1212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 564.4951 321.7588 575.399]
+/Rect [130.787 564.495 321.759 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1263 0 obj <<
+1213 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 528.764 413.0753 539.6431]
+/Rect [128.007 528.764 413.075 539.643]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_7704df6970b9563ef9e51793126c0ae2) >>
 >> endobj
-1264 0 obj <<
+1214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 516.6744 321.7588 527.5783]
+/Rect [130.787 516.674 321.759 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1266 0 obj <<
+1215 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 480.9433 453.2841 491.8225]
+/Rect [128.007 480.943 453.284 491.822]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2a66994a33d910d0fe8daccc6cc017ed) >>
 >> endobj
-1267 0 obj <<
+1216 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 468.8537 321.7588 479.7577]
+/Rect [130.787 468.854 321.759 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1269 0 obj <<
+1217 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 433.1227 434.0965 444.0018]
+/Rect [128.007 433.123 434.096 444.002]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1522764599cd8547bfe4ef7e88d8baec) >>
 >> endobj
-1270 0 obj <<
+1218 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 421.033 321.7588 431.937]
+/Rect [130.787 421.033 321.759 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1272 0 obj <<
+1219 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 385.302 474.3053 396.1811]
+/Rect [128.007 385.302 474.305 396.181]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_4d6e94fc9839cd5d455f195f46fc2dcf) >>
 >> endobj
-1273 0 obj <<
+1220 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 373.2124 321.7588 384.1163]
+/Rect [130.787 373.212 321.759 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1275 0 obj <<
+1221 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 337.4813 425.7972 348.3604]
+/Rect [128.007 337.481 425.797 348.36]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_59af9a947f610641fe02639f76cfc90e) >>
 >> endobj
-1276 0 obj <<
+1222 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 325.3917 321.7588 336.2956]
+/Rect [130.787 325.392 321.759 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1278 0 obj <<
+1223 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 289.6606 433.5783 300.5398]
+/Rect [128.007 289.661 433.578 300.54]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_901082d5c6de5ec4b457df69e41bb70c) >>
 >> endobj
-1279 0 obj <<
+1224 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 277.571 321.7588 288.475]
+/Rect [130.787 277.571 321.759 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1281 0 obj <<
+1225 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 241.84 466.2357 252.7191]
+/Rect [128.007 241.84 466.236 252.719]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a04426c5a10bb84d277c580d8377a8ca) >>
 >> endobj
-1282 0 obj <<
+1226 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 229.7504 321.7588 240.6543]
+/Rect [130.787 229.75 321.759 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1284 0 obj <<
+1227 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 194.0193 470.1111 204.8984]
+/Rect [128.007 194.019 470.111 204.898]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1773f4a296b1e34a24fc238f84d615c7) >>
 >> endobj
-1285 0 obj <<
+1228 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 181.9297 321.7588 192.8336]
+/Rect [130.787 181.93 321.759 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1287 0 obj <<
+1229 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 146.1986 471.765 157.0778]
+/Rect [128.007 146.199 471.765 157.078]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_f6ef577d2302b2baac4689f8766cfb2f) >>
 >> endobj
-1288 0 obj <<
+1230 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 134.109 321.7588 145.0129]
+/Rect [130.787 134.109 321.759 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1290 0 obj <<
+1231 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 98.378 475.6404 109.2571]
+/Rect [128.007 98.378 475.64 109.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ac2ae1578a08e1613a4e7ddfa0f4b711) >>
 >> endobj
-1291 0 obj <<
+1232 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 86.2883 321.7588 97.1923]
+/Rect [130.787 86.288 321.759 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1292 0 obj <<
+1239 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1250 0 obj <<
-/D [1248 0 R /XYZ 90 757.9346 null]
+1243 0 obj <<
+/D [1241 0 R /XYZ 90 757.935 null]
 >> endobj
-1253 0 obj <<
-/D [1248 0 R /XYZ 90 699.8328 null]
+1244 0 obj <<
+/D [1241 0 R /XYZ 90 699.833 null]
 >> endobj
-1256 0 obj <<
-/D [1248 0 R /XYZ 90 652.0121 null]
+1245 0 obj <<
+/D [1241 0 R /XYZ 90 652.012 null]
 >> endobj
-1259 0 obj <<
-/D [1248 0 R /XYZ 90 604.1914 null]
+1246 0 obj <<
+/D [1241 0 R /XYZ 90 604.191 null]
 >> endobj
-1262 0 obj <<
-/D [1248 0 R /XYZ 90 556.3708 null]
+1247 0 obj <<
+/D [1241 0 R /XYZ 90 556.371 null]
 >> endobj
-1265 0 obj <<
-/D [1248 0 R /XYZ 90 508.5501 null]
+1248 0 obj <<
+/D [1241 0 R /XYZ 90 508.55 null]
 >> endobj
-1268 0 obj <<
-/D [1248 0 R /XYZ 90 460.7294 null]
+1249 0 obj <<
+/D [1241 0 R /XYZ 90 460.729 null]
 >> endobj
-1271 0 obj <<
-/D [1248 0 R /XYZ 90 412.9087 null]
+1250 0 obj <<
+/D [1241 0 R /XYZ 90 412.909 null]
 >> endobj
-1274 0 obj <<
-/D [1248 0 R /XYZ 90 365.0881 null]
+1251 0 obj <<
+/D [1241 0 R /XYZ 90 365.088 null]
 >> endobj
-1277 0 obj <<
-/D [1248 0 R /XYZ 90 317.2674 null]
+1252 0 obj <<
+/D [1241 0 R /XYZ 90 317.267 null]
 >> endobj
-1280 0 obj <<
-/D [1248 0 R /XYZ 90 269.4467 null]
+1253 0 obj <<
+/D [1241 0 R /XYZ 90 269.447 null]
 >> endobj
-1283 0 obj <<
-/D [1248 0 R /XYZ 90 221.6261 null]
+1254 0 obj <<
+/D [1241 0 R /XYZ 90 221.626 null]
 >> endobj
-1286 0 obj <<
-/D [1248 0 R /XYZ 90 173.8054 null]
+1255 0 obj <<
+/D [1241 0 R /XYZ 90 173.805 null]
 >> endobj
-1289 0 obj <<
-/D [1248 0 R /XYZ 90 125.9847 null]
+1256 0 obj <<
+/D [1241 0 R /XYZ 90 125.985 null]
 >> endobj
-1247 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1240 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1309 0 obj <<
-/Length 1803      
+1293 0 obj <<
+/Length 736       
 /Filter /FlateDecode
 >>
 stream
-xڽ��r�6��z
-�Z{!w�ڵ�6��Mw�f<��(���Jr]��
�
�
{4ZH$�s�C~�� �R5��E��e5[�p�Ы_�H�y���}��ף�廊�H*���� A	����.��
-|�z;�[���6������?V�0�Y�u�V���o�]¾
�$1��
�{������F�Q���
����z�)�
����o.N��8 e�SmIV�GJ��)�U�P]�|�V`\�n��ݩ3B�1��۴[�߽�N��
�55��$�b�[Oo�\R|�]=|j��������a2�V/7�}{�5f�}��+&����
����t�_.��f~�^n����;�RL�'�N�nUOq4��O,�l����
-t�I�x�c�i�+�j���Z�*�UP����KYՄ BpG��6jaՊ�Ga� ���? Q@��Uׁ_��
���>|�T�oW��
�f'���'�_o�����O�0�Qm*ݜ4ѩ2
�h�:Mj����!���UIj����0e�p�8���V_�w�d2��o�X��R&��5��Tq��߸�z$g)$�>��
.̩���HJ�����,�NX��? @2(�lH�n��=��`$�sB2Hz�4�VP�d��I0{
�YH.�M��2D�C��L��*c!�� �-�r��*TS
 �˩��$�HP2�c�+��Q��e?���a!Q,�DQ��60��(ɡ�^�a���B0u��������ZBNa��uN�b���}Y���f��!�/wPYN��&PH
j͚,�NXʠ? �0(�l�n1�=��`�eLd�DO�F�
-JX
R��f���]�>�#F\�>C
t���8x�z��ahז�}�̚#Y�
\�S��It�%Qy6���Mo Ħ_���
�
�	z���lr�oj1W0��*ɦ��,`�
�}�Džv�0[�O Ua$��v:U�Q
͂�D:��h2U9U\U�N^k�y��yu�R:� �Ag�3t3H'�!��i�cZg��Ti:���� e	�`�8��<Lfxd
-)�������(�(b��h�Tn�:U\� ���JA䱴�b,��~��2p3�%�!�bɔD����W%�t�,ÔX���/w�,e�<�}Wvө2��hӧ��j�kLᢜ*.*�&3����
Ħ��� �

-8���A6aq4�M}�n����G6=U�M+(a3HY�&�=��B���
6�ni�:U�D

����vv1x?[�*t���8�_��k�i��pz 8��g�fN�C

���}��a8}UN'(�3LY '�=���O�e���8�N��8��yO�O�Sb
�i\�S�e���ʎI~:���� �

-8���A<aq4ONQ�yf:��J�i%x)K���q?�'��
Q��E����
���ˆ��A�$<���*.p�O�1VM~n���
���
8���a>Aq4�OҘ��43I�W%�t�>Ô|��㸟��^��t�Z��5N5�;hEQ���5s�f�s���4�Di��:
�Օr��,��g�2�2%h ��<
���Kj�G�����j;�`<0�A�8���>5T���	F�1A�f�)�?[|���$�}�=�VK{4�FNW��Ǻ
>I�:
�%��.�H!�5!�8�Z*�����5S�Uo_��wm��>K��Y�_���n�?Wt
��ݗ�B\�
y=��M{��L(}uw��.2���sQ�M<���2lP�������ѧ0�Ftg��s�5�?
������{4ۣ���v�������Ut��>7�`�w�؉�Z�Λ�j��ɯ壝 �޺m�W���F�*AX����-Ռendstream
+x��[o�0���+��C];�s{���`�iLQ�xiDn�)��z
��"�u�&!"U�>7Ƕr� ��˅1;rm���\����!�0X��|B̩E�d^������*�?͋�	p�
��	Uj-�f��
㻁�$X�#
�l��8�@ �' A;��Z�*�c٢-����@�7t�����ewN�Kʤme�e���c�K�OM�&1+��ԴФ.6K��8z�_��m�PM�U�i��t"k��D�?�^��uŜ�h�4*�*/�_T[W.
��"���⭩�ߢ]-y�2x�gvDЍ�-�S�a at t�g��
�
��C�j|u��v��,����j�.8��jg�dž����
�x< 5�]�]��wp\j�ľ�*
�4�䞳X��>x^m�4�dd�p�����8�4�l$q�S������R��a
�������
oi�C�#��C��l���Gh��$O��2D�������O}R����By����߹����z�G�ΈF.��� �7U�_�ӈq�\�HER�0�mǵ�4�I�-�a��R�Sd`R:D䖯e!
Hs%3�
$�ڎ6��2m$窍US�=�>ʸ(T�T��A��5Bׇ��Z"�%A�
��uI��G���Xd"����}*���G5��){n2ё��j��t�ѩWǖ'�X�F��e4��H���Q�}}�]w��
�-dC��|�l�&����5L8\Uy�`�Κ������Z����\����ޢ��d)�B�
�b��
+endstream
 endobj
-1308 0 obj <<
+1292 0 obj <<
 /Type /Page
-/Contents 1309 0 R
-/Resources 1307 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1203 0 R
-/Annots [ 1312 0 R 1313 0 R 1315 0 R 1316 0 R 1318 0 R 1319 0 R 1321 0 R 1322 0 R 1324 0 R 1325 0 R 1327 0 R 1328 0 R 1330 0 R 1331 0 R 1333 0 R 1334 0 R 1336 0 R 1337 0 R 1339 0 R 1340 0 R 1342 0 R 1343 0 R 1345 0 R 1346 0 R 1347 0 R ]
+/Contents 1293 0 R
+/Resources 1291 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1161 0 R
+/Annots [ 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1238 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 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1290 0 R ]
 >> endobj
-1312 0 obj <<
+1233 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 720.0467 482.833 730.9258]
+/Rect [128.007 720.047 482.833 730.926]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aaf96fa77980ed96433261f5dd4c8f5a) >>
 >> endobj
-1313 0 obj <<
+1234 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 707.9571 321.7588 718.861]
+/Rect [130.787 707.957 321.759 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1315 0 obj <<
+1235 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 672.0346 437.6035 682.9137]
+/Rect [128.007 672.035 437.603 682.914]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1c64e09d6022054690f7d2bdf4e02138) >>
 >> endobj
-1316 0 obj <<
+1236 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 659.945 321.7588 670.8489]
+/Rect [130.787 659.945 321.759 670.849]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1318 0 obj <<
+1237 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 624.0225 435.9299 634.9016]
+/Rect [128.007 624.022 435.93 634.902]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ec640128c6492defc09c4d6ad5d3ea19) >>
 >> endobj
-1319 0 obj <<
+1238 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 611.9329 321.7588 622.8368]
+/Rect [130.787 611.933 321.759 622.837]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1321 0 obj <<
+1271 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 576.0104 443.1328 586.8895]
+/Rect [128.007 576.01 443.133 586.89]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_eb30e6558c9efffc62d5765b3bfe5e4f) >>
 >> endobj
-1322 0 obj <<
+1272 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 563.9208 321.7588 574.8247]
+/Rect [130.787 563.921 321.759 574.825]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1324 0 obj <<
+1273 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 527.9983 441.4788 538.8774]
+/Rect [128.007 527.998 441.479 538.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_304e74729ca34fc67648cbc995e1dfc7) >>
 >> endobj
-1325 0 obj <<
+1274 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 515.9087 321.7588 526.8126]
+/Rect [130.787 515.909 321.759 526.813]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1327 0 obj <<
+1275 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 479.9862 481.6876 490.8653]
+/Rect [128.007 479.986 481.688 490.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e6eef0ed4aa8b3690f01f774dd0722fc) >>
 >> endobj
-1328 0 obj <<
+1276 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 467.8966 321.7588 478.8005]
+/Rect [130.787 467.897 321.759 478.801]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1330 0 obj <<
+1277 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 431.9741 439.8053 442.8532]
+/Rect [128.007 431.974 439.805 442.853]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_be643d7919aa34a2c1112702878f5536) >>
 >> endobj
-1331 0 obj <<
+1278 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 419.8844 321.7588 430.7884]
+/Rect [130.787 419.884 321.759 430.788]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1333 0 obj <<
+1279 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 383.962 480.0141 394.8411]
+/Rect [128.007 383.962 480.014 394.841]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7a8abcefdfb125b7c9ef5f96d352c1df) >>
 >> endobj
-1334 0 obj <<
+1280 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 371.8723 321.7588 382.7763]
+/Rect [130.787 371.872 321.759 382.776]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1336 0 obj <<
+1281 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 335.9498 447.0082 346.829]
+/Rect [128.007 335.95 447.008 346.829]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7e4bbfa6f481ead40e3ca6231e0f69be) >>
 >> endobj
-1337 0 obj <<
+1282 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 323.8602 321.7588 334.7642]
+/Rect [130.787 323.86 321.759 334.764]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1339 0 obj <<
+1283 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 287.9377 487.217 298.8169]
+/Rect [128.007 287.938 487.217 298.817]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_2aaf9117efebc52a8b45b787075a9647) >>
 >> endobj
-1340 0 obj <<
+1284 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 275.8481 321.7588 286.7521]
+/Rect [130.787 275.848 321.759 286.752]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1342 0 obj <<
+1285 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 239.9256 454.2007 250.8048]
+/Rect [128.007 239.926 454.201 250.805]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1956a63a72283d208851d3fe2b11989b) >>
 >> endobj
-1343 0 obj <<
+1286 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 227.836 321.7588 238.74]
+/Rect [130.787 227.836 321.759 238.74]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1345 0 obj <<
+1287 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.0071 191.9135 444.2682 202.7927]
+/Rect [128.007 191.914 444.268 202.793]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_97011210c7f0b2efa0f837ef2da6c5b3) >>
 >> endobj
-1346 0 obj <<
+1288 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.7869 179.8239 321.7588 190.7279]
+/Rect [130.787 179.824 321.759 190.728]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-1347 0 obj <<
+1290 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1310 0 obj <<
-/D [1308 0 R /XYZ 90 757.9346 null]
+1294 0 obj <<
+/D [1292 0 R /XYZ 90 757.935 null]
 >> endobj
-1311 0 obj <<
-/D [1308 0 R /XYZ 90 733.028 null]
+1295 0 obj <<
+/D [1292 0 R /XYZ 90 733.028 null]
 >> endobj
-1314 0 obj <<
-/D [1308 0 R /XYZ 90 699.7371 null]
+1296 0 obj <<
+/D [1292 0 R /XYZ 90 699.737 null]
 >> endobj
-1317 0 obj <<
-/D [1308 0 R /XYZ 90 651.725 null]
+1297 0 obj <<
+/D [1292 0 R /XYZ 90 651.725 null]
 >> endobj
-1320 0 obj <<
-/D [1308 0 R /XYZ 90 603.7129 null]
+1298 0 obj <<
+/D [1292 0 R /XYZ 90 603.713 null]
 >> endobj
-1323 0 obj <<
-/D [1308 0 R /XYZ 90 555.7007 null]
+1299 0 obj <<
+/D [1292 0 R /XYZ 90 555.701 null]
 >> endobj
-1326 0 obj <<
-/D [1308 0 R /XYZ 90 507.6886 null]
+1300 0 obj <<
+/D [1292 0 R /XYZ 90 507.689 null]
 >> endobj
-1329 0 obj <<
-/D [1308 0 R /XYZ 90 459.6765 null]
+1301 0 obj <<
+/D [1292 0 R /XYZ 90 459.677 null]
 >> endobj
-1332 0 obj <<
-/D [1308 0 R /XYZ 90 411.6644 null]
+1302 0 obj <<
+/D [1292 0 R /XYZ 90 411.664 null]
 >> endobj
-1335 0 obj <<
-/D [1308 0 R /XYZ 90 363.6523 null]
+1303 0 obj <<
+/D [1292 0 R /XYZ 90 363.652 null]
 >> endobj
-1338 0 obj <<
-/D [1308 0 R /XYZ 90 315.6402 null]
+1304 0 obj <<
+/D [1292 0 R /XYZ 90 315.64 null]
 >> endobj
-1341 0 obj <<
-/D [1308 0 R /XYZ 90 267.6281 null]
+1305 0 obj <<
+/D [1292 0 R /XYZ 90 267.628 null]
 >> endobj
-1344 0 obj <<
-/D [1308 0 R /XYZ 90 219.616 null]
+1306 0 obj <<
+/D [1292 0 R /XYZ 90 219.616 null]
 >> endobj
 78 0 obj <<
-/D [1308 0 R /XYZ 90 165.2634 null]
+/D [1292 0 R /XYZ 90 165.263 null]
 >> endobj
 82 0 obj <<
-/D [1308 0 R /XYZ 90 133.3349 null]
+/D [1292 0 R /XYZ 90 133.335 null]
 >> endobj
-1307 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+1291 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1362 0 obj <<
-/Length 1849      
+1345 0 obj <<
+/Length 1248      
 /Filter /FlateDecode
 >>
 stream
-x��Z[s�4~ϯ��@TI�n
�h��ea�6���d��m<$v��-��
���c�Vʄa�8>:��;::�M<
�)�	&���-��=���OH}{�gm�o���8�R�ro�Pj�1J�7_}���e��p�pU���U����/ >¾@�g\�;�vnl�.1�m�ɇ?����L0�d�\`D���vP���L�&?=Սr�-��H$�
-�� �a�E�@���
�
-BD|� "
-Aq�!"�O=#�#����
-��a�
RE�=h�pa��m���=�2�[����zKq�>�L���� &HZg
�> �d
��x�T�	R���!
��D�Ɇ�]��8/��0�S�z�vF�r��(�������
^�J��M�c�.��HZU�Ic������}G��U�/�xW�i�_�>@�`�q
YȜ��u�x$#L
�ڦ�Ոi�n�`ȶ��vJ���:Ze��m|����aT�b���a͌ԈK�RĤ
�.����k
-��8�y5
V~u�]���Ӥa�H��u#�t	L�#3�?ml&�cA���9�l3q�O����!B�0��	)�$C���h�
R�����Ż]��E���aƤ׶�O�Fj�A�0��e]u�}�g�/�E����e�/��'5���a�~���i�ZgZ��3M/�3"0�g����Sҏ	��8pO�����3b�!�m��5�H?`J>�~��-/V��‘¬%h_�k�1����A��T���U�����'�A�U�4t���LaM�!��~�f��0BQ����r~�	���^@�^�5�U
3����������`n��8YGY
-�ö����tY�\o���]|Qw ����!IZ4k�v����#nv��>*�%t�G{���*��f
-a[��T1bN������:�E���5r�L��KCe�&��j�s��}��WG�B
��0�E_��0�LSٿ��-����x��17�^��
���(+b�n-â�	����{mPn�G
�i��b�t-�d_AU�
�l�^
���5ԃ�u8�x�ć��i�'6Ļ�ϊ����
C�sC<��V�|�'
�gג�z��E
�](�%�r+.'�q�i���V�:���] ���F������^G�?�P�Z����G��H�}�OX[D�,���x�lѬ3DQ1J����
��Pg�l`m�;f�J,��竱^���Q�&��>J���]ˬ��n�����O����
--�'�
��;���s^Dۣ��;!<�mOk���Q�Z>'°3 at R�la#�2���`������!����a�{ZKąu
�Z>+�
����B`�\ϋ,���(�-�N����ZA�[��X>+��"�^D�Aۈ��H�h[wBx�۞�aiOގ�"L"�1���!�\.Z�8!>�}Ok�����Z>'�D1���h�ND<_��V��~�b��! 
y��:ސ�o���~� I1����:�POkŪu��Z>+��GTcˮsb�&������X�p �\Ig2o�lZ�32���s�p��֊Bi��c��2�|���q#�Fa��Y��-�:R=1�;:���;-[�:q:�OOkɩ���t-��S�Pȱˆ9q�]E�vq�jя�=���E}�bE��ڃ����ݱ|V���Y��5F�	��d�ih[uBv�˞�!d;�����] %�� ��}^u�/~ߧ|W���u�����/��M
-1V��3�[�dH�^_6�7����#�%��Ϧ�]��~
�}�1��G�*�r�r���X?�Cә��E�3*(�!��4�� Uw��_?�
i7f�{�mO��y]���˧�'���>�w����nsy�/�4H
��5B=_:����=�����h���p�s�
Y�7�]�J���endstream
+x��X�r�6}�W�Ҥ�p%HM�3���N�ĵ�>��hh
+�8/�8��.H��T7N��D
+�={v�  v�v�:oG��;�9>�]�:�g�ǎt	�8����u{T�� Vy��z�I&�[����	C�I�VN�y��u���C�%vHiRH$�p¸��;x�������RΊ
N�s��G[x�����̑`��1|�y$�E0m@J?�
�
+��Z��W
�����]����%�q����y�|D}��D0�OTe� _��v��g�#���m��z���6�
"�Z~�����T��,/�������1I�E���I��Ԏ�����U��t����C
eE�&�`��ո��v�,{� 6��
d:�w=
+X�˙��`|=�@/7
�4�OX���F
aD�G���î�mP��'�iR\�v��3�M���_+lu]	��(3wz������L�Hu���^��/&��!J�E�O
՛�Y[>5K�a��l)GC�inH��9|Y��
1�A��� ݶTA�y�s�&cy19Zy$�@�D7z�*��{�u�l�Ҷ�p
�y;
���-�� �e��Y���� ���������mI���nT@���l�칢���~S�
�$I����l�
+�15�g��IQ*�ܭ߯������,�T�!��\�8&u���p��g ��	�
6|D`��~�S![F)�{^S��`��)��_����x�t��
���nF<E>��V$�
 �!D�.�1) ��!:���ۮR���r8�nF�Ba
+�m�z��F��
������L�_�$5X�OJ�����?F�jƨ'y���q.wX6���%5�s$Ȋ�4��J��(v�.q��V����a�*>ԡ��zgF0�^�㨨N�h�]���Ռ�q��()�å@��N�u}<
~Y
;3��
s@$υ(߫�"4�]�V�l�
��
+�%�%y��
����;�`\�aF�Qbw�m�
�JV<�=�2g
"ۆo�r��*�S�2��
�w����ع�ę����p�V|���Z�UD��aj�~-wY
%ӱ=l�t*�qPm��J%ǔ�R铽��?ȸ^����1�w�n�ȗ̳�������uC�����H�c
J�1c�Z�g��=8�[��A����
5��΍2�/1��"�V�����*����
�
+�S��͔�XM1C�k
+nV٠�yyAa�I�i�,����|�h����rR����L/��H*�0I�R1��
+endstream
 endobj
-1361 0 obj <<
+1344 0 obj <<
 /Type /Page
-/Contents 1362 0 R
-/Resources 1360 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1203 0 R
-/Annots [ 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 1380 0 R 1381 0 R 1382 0 R 1383 0 R 1384 0 R 1385 0 R 1386 0 R 1387 0 R ]
+/Contents 1345 0 R
+/Resources 1343 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1161 0 R
+/Annots [ 1289 0 R 1319 0 R 1320 0 R 1321 0 R 1322 0 R 1323 0 R 1324 0 R 1325 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 1336 0 R 1337 0 R 1338 0 R 1339 0 R 1340 0 R 1342 0 R ]
 >> endobj
-1364 0 obj <<
+1289 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 721.9496 513.9963 730.9258]
+/Rect [502.041 721.95 513.996 730.926]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.9.1) >>
 >> endobj
-1365 0 obj <<
+1319 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 604.5585 221.094 615.4376]
+/Rect [103.177 604.559 221.094 615.438]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
 >> endobj
-1366 0 obj <<
+1320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 606.4614 513.9963 615.4376]
+/Rect [502.041 606.461 513.996 615.438]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.10.1) >>
 >> endobj
-1367 0 obj <<
+1321 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 582.6407 288.0521 593.5198]
+/Rect [103.177 582.641 288.052 593.52]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
 >> endobj
-1368 0 obj <<
+1322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 572.5884 513.9963 581.5647]
+/Rect [502.041 572.588 513.996 581.565]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.10.2) >>
 >> endobj
-1369 0 obj <<
+1323 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 548.7677 117.9015 559.6469]
+/Rect [103.177 548.768 117.901 559.647]
 /Subtype /Link
 /A << /S /GoTo /D (namespacestd) >>
 >> endobj
-1370 0 obj <<
+1324 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 550.7901 513.9963 559.6469]
+/Rect [502.041 550.79 513.996 559.647]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.10.3) >>
 >> endobj
-1371 0 obj <<
+1325 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 435.3019 513.9963 444.1587]
+/Rect [502.041 435.302 513.996 444.159]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.1) >>
 >> endobj
-1372 0 obj <<
+1326 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 413.2646 513.9963 422.2409]
+/Rect [497.06 413.265 513.996 422.241]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.2) >>
 >> endobj
-1373 0 obj <<
+1327 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 391.4663 513.9963 400.3231]
+/Rect [497.06 391.466 513.996 400.323]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.3) >>
 >> endobj
-1374 0 obj <<
+1328 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 369.5485 513.9963 378.4052]
+/Rect [497.06 369.549 513.996 378.405]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.4) >>
 >> endobj
-1375 0 obj <<
+1329 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 347.5112 513.9963 356.4874]
+/Rect [497.06 347.511 513.996 356.487]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.6) >>
 >> endobj
-1376 0 obj <<
+1330 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 325.5934 513.9963 334.5696]
+/Rect [497.06 325.593 513.996 334.57]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.7) >>
 >> endobj
-1377 0 obj <<
+1331 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 303.6756 513.9963 312.6518]
+/Rect [497.06 303.676 513.996 312.652]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.8) >>
 >> endobj
-1378 0 obj <<
+1332 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 281.8773 513.9963 290.734]
+/Rect [497.06 281.758 513.996 290.734]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.9) >>
 >> endobj
-1379 0 obj <<
+1333 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 259.84 513.9963 268.8162]
+/Rect [497.06 259.959 513.996 268.816]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.10) >>
 >> endobj
-1380 0 obj <<
+1334 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 237.9222 513.9963 246.8984]
+/Rect [497.06 237.922 513.996 246.898]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.11) >>
 >> endobj
-1381 0 obj <<
+1335 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 216.0044 513.9963 224.9806]
+/Rect [497.06 216.004 513.996 224.981]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.12) >>
 >> endobj
-1382 0 obj <<
+1336 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 194.0866 513.9963 203.0628]
+/Rect [497.06 194.087 513.996 203.063]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.13) >>
 >> endobj
-1383 0 obj <<
+1337 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 172.1687 513.9963 181.145]
+/Rect [497.06 172.169 513.996 181.145]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.14) >>
 >> endobj
-1384 0 obj <<
+1338 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 150.2509 513.9963 159.2272]
+/Rect [497.06 150.251 513.996 159.227]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.15) >>
 >> endobj
-1385 0 obj <<
+1339 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 128.3331 513.9963 137.3094]
+/Rect [497.06 128.333 513.996 137.309]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.16) >>
 >> endobj
-1386 0 obj <<
+1340 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 106.4153 513.9963 115.3915]
+/Rect [497.06 106.415 513.996 115.392]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.17) >>
 >> endobj
-1387 0 obj <<
+1342 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1363 0 obj <<
-/D [1361 0 R /XYZ 90 757.9346 null]
+1346 0 obj <<
+/D [1344 0 R /XYZ 90 757.935 null]
 >> endobj
 86 0 obj <<
-/D [1361 0 R /XYZ 90 705.3519 null]
+/D [1344 0 R /XYZ 90 705.352 null]
 >> endobj
 90 0 obj <<
-/D [1361 0 R /XYZ 90 670.5488 null]
+/D [1344 0 R /XYZ 90 670.549 null]
 >> endobj
 94 0 obj <<
-/D [1361 0 R /XYZ 90 534.0729 null]
+/D [1344 0 R /XYZ 90 534.073 null]
 >> endobj
 98 0 obj <<
-/D [1361 0 R /XYZ 90 502.01 null]
+/D [1344 0 R /XYZ 90 502.01 null]
 >> endobj
-1360 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+1343 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1393 0 obj <<
-/Length 1848      
+1382 0 obj <<
+/Length 1159      
 /Filter /FlateDecode
 >>
 stream
-x�ŚKs�6����U��`��N��i츶{J2
EflM�*E���/�4(@ ���"�����$��*8L E(Ζ8�ՇO�>=��'������Ά
-(����k�#�0��뛏#�x� ����t�
O0����4�fc$G��1b���`�������w���m�:#F8*�=��otf�%��A�� )���Ť��\
�l�T'�?�F!

:�
-$�wX!��G
�.��@��	L 䌺	!��>Ԛ�.����r�\�1
��w�M6M�ϿhT���'��&9IW�\��v1Q%d���:���6��x�@���"Y��n
��ػ����T�0F@!!��ud��>ˆD��Ik�{jAm'
�fq�����6O����{ӵ���!v2���[�>ƑU̅+����U
m�ڟ��*f�ݍ�g1s=����X���g��6O�y`�0r�����Z�5w�6�Zք�e��PY7f//�x�FJqԽc����9qr����z�"�:o����]$��<�M=x��qx���~���N���}�eJw]�jo<x[����Ռ�՟��䊐�k7v�\��B�ژ��Gi��?A�g�<�OوGٛ��L��ۍ�+e*���m�rc�Bʇ�G���zx���!�fo���+'�N�^�c$d(��1�B�V�غ6��A��k��=�܉�+dH��"��f/�
Y�F.qĽ��~+��I��O�Tj\����,�x�bd����rQ
��
B�g�������*��� �^��x��_�h�c�F�V�ENW_ǘ���\ �d����"�Ï����[���ự{�C�
-��[�8����]:�Vإ7.�X`-�É*� �:#��ы��[��\���{ՑH��Ȑ���O��p���/�T��
�Bo`�B�(A�
�•��s�VJi�)e\�x��~��q6-�ؽ�����u_[Ŗ��4���{�|���H���LO#���G����
ܧ��J�n��fQ�����i���gSuE��|��
�L!��?gۯ�s7v����G$�!ЍY�Ӌ�d������5��!�fk�-
��n�^3�gm
��Z�(����2����u	�.� Z��cg�cT/;����
C
��̡�	�ec�-U�'M�ؽ
-�%`��:��,J��|z�^M���t�:��0���
b��^&��JH�}�n�^���x�ұ����6����ⱺDu�XO����j
(1�����r�pK	P����O��Q���	v
m�Sg,)P����,R��pr�^i����M�)DQ��l�-9
��n�^As
�~'�M�f�}�ƀ6R�����[�v�������2� ���5{��p9_y(��({��V���[7v�υ��L1zݡ5��|�<���A
goʶ�"eD�
U7v������[����Y��
�H�����
�t���}�H0�0
=�i͞1oVi�M]-�(���
;{W.I�w5�����O��U�n�^�d`�CO�Z���d0�q���r���
Z7f�\��xW./��MM�q���뫠N�^g]��׭!
ͺ��3*h��u�$�!PH�ʻWWc�q�z�~ˮ�:��n�^g� �<��m͢t�Lg��E���6��~�F�8��\m�Յ�gڍ�
X_P:,��8�A��1��O��s�$ROk	�C}=��aI�&<S�1R���]�<�A��_�l�W?k�m����p����tu?]T�?A����V�ʃ:U�O 0�-�Uj�
��נ�~��J@��o���O�l�01�Q�'��Z~�1���������̶�~5�d`�l6��ݼ�d R�MkG���ʤÝH^m��L�����r��:�W���`�+fV&�����endstream
+x��X[s�F~�W��LY��joL����4v�M���F���DHT�����.` ��<�}��
����s]l=Yغ콛�8�R�pk�h)l	��&3���>`��Q�VN�0l
t�'H{:w���O	%�f��6��{?���c[�kd	ʬ�w�
[3���ˆ*i=�R
�%�<C��g�莟?������"�Yy� ��d�{c�`;7s=K|�s�`Po���$�y�:2�H�$G\@M�J̷�=�R�	�R�����V� R ������6�T/j`(B�M0��q�B����Pa�0"�0"_��p8��U��Ƀ"LÐx+��C�L�6�n'�]���(�O� ��p���W�Rc��0~��Q��,F:I������$�����!
��x�,ҡ�

F�d�ϋ�P�q���c�	�`
�����"Ʉ~�a�}�`�j0����S��B䰰`Dܭ��x
͌r�1�ע^E�av\��
d\o������c{̼��E�O��>UIٶ�\���\O�grzVE� �z����
+%
+�-	 �6-– �[ �7��y7��C����
+��P�
n�w�i�*�
+�|��\���a�߀�?
v���/�	�1 o�R��ֱG��脑�A���{�ϲȌ�UGu]��4�����j�s �CX�� ��TB�����ޭ���i��cϖ�.4�
(��T��ƣ��n�
+���t�_���G~������
saBU�}2���h'
�i��p
�DK��|�*I�	`���/�Z]��j�7�D��*��;"�X�Fqd8
+��>mH%�Mř��

+3	�@!ϛ<��s'��@%¦w0��6H at qImpϜ�onZ&S�D�.F�b9�z��JWE.p��l����Pٶ�����u��0N���I���:� *Ǿ�ZY�8o�u�杖o0���V�
�U
����W�
D���kpc��</+
�LfF���S�;��n�t3
�w-�i]���]R���opMK�
I�
����������V6.3nѨ��v�����n��,�T|����/�^^B_��ڌ���W��L�9��0����e����9}j����;�b{߭��ف�=�Sr�>��t9

����t��Q�LP���pp����M��.
+
�@����� 2�����E��W
��
+endstream
 endobj
-1392 0 obj <<
+1381 0 obj <<
 /Type /Page
-/Contents 1393 0 R
-/Resources 1391 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1203 0 R
-/Annots [ 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 1408 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 ]
+/Contents 1382 0 R
+/Resources 1380 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1161 0 R
+/Annots [ 1341 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 1379 0 R ]
 >> endobj
-1395 0 obj <<
+1341 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 721.9496 513.9963 730.9258]
+/Rect [497.06 721.95 513.996 730.926]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.24) >>
 >> endobj
-1396 0 obj <<
+1350 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 700.0318 513.9963 709.008]
+/Rect [497.06 700.032 513.996 709.008]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.18) >>
 >> endobj
-1397 0 obj <<
+1351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 678.114 513.9963 687.0902]
+/Rect [497.06 678.114 513.996 687.09]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.25) >>
 >> endobj
-1398 0 obj <<
+1352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 656.1962 513.9963 665.1724]
+/Rect [497.06 656.196 513.996 665.172]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.19) >>
 >> endobj
-1399 0 obj <<
+1353 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 634.2784 513.9963 643.2546]
+/Rect [497.06 634.278 513.996 643.255]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.26) >>
 >> endobj
-1400 0 obj <<
+1354 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 612.3606 513.9963 621.3368]
+/Rect [497.06 612.361 513.996 621.337]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.20) >>
 >> endobj
-1401 0 obj <<
+1355 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 590.5622 513.9963 599.419]
+/Rect [497.06 590.562 513.996 599.419]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.21) >>
 >> endobj
-1402 0 obj <<
+1356 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 568.5249 513.9963 577.5012]
+/Rect [497.06 568.525 513.996 577.501]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.22) >>
 >> endobj
-1403 0 obj <<
+1357 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 546.6071 513.9963 555.5834]
+/Rect [497.06 546.607 513.996 555.583]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.23) >>
 >> endobj
-1404 0 obj <<
+1358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 524.6893 513.9963 533.6655]
+/Rect [497.06 524.689 513.996 533.666]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.27) >>
 >> endobj
-1405 0 obj <<
+1359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 502.7715 513.9963 511.7477]
+/Rect [497.06 502.772 513.996 511.748]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.28) >>
 >> endobj
-1406 0 obj <<
+1360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 480.8537 513.9963 489.8299]
+/Rect [497.06 480.854 513.996 489.83]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.29) >>
 >> endobj
-1407 0 obj <<
+1361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 458.9359 513.9963 467.9121]
+/Rect [497.06 458.936 513.996 467.912]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.30) >>
 >> endobj
-1408 0 obj <<
+1362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 437.0181 513.9963 445.9943]
+/Rect [497.06 437.018 513.996 445.994]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.31) >>
 >> endobj
-1409 0 obj <<
+1363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 415.1003 513.9963 424.0765]
+/Rect [497.06 415.22 513.996 424.077]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.32) >>
 >> endobj
-1410 0 obj <<
+1364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 393.1825 513.9963 402.1587]
+/Rect [497.06 393.302 513.996 402.159]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.33) >>
 >> endobj
-1411 0 obj <<
+1365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 371.3841 513.9963 380.2409]
+/Rect [497.06 371.265 513.996 380.241]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.34) >>
 >> endobj
-1412 0 obj <<
+1366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 349.3469 513.9963 358.3231]
+/Rect [497.06 349.347 513.996 358.323]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.36) >>
 >> endobj
-1413 0 obj <<
+1367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 327.429 513.9963 336.4053]
+/Rect [497.06 327.429 513.996 336.405]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.37) >>
 >> endobj
-1414 0 obj <<
+1368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 305.5112 513.9963 314.4875]
+/Rect [497.06 305.511 513.996 314.487]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.38) >>
 >> endobj
-1415 0 obj <<
+1369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 283.5934 513.9963 292.5697]
+/Rect [497.06 283.593 513.996 292.57]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.40) >>
 >> endobj
-1416 0 obj <<
+1370 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 261.6756 513.9963 270.6518]
+/Rect [497.06 261.676 513.996 270.652]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.41) >>
 >> endobj
-1417 0 obj <<
+1371 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 239.7578 513.9963 248.734]
+/Rect [497.06 239.758 513.996 248.734]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.42) >>
 >> endobj
-1418 0 obj <<
+1372 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 217.84 513.9963 226.8162]
+/Rect [497.06 217.96 513.996 226.816]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.5) >>
 >> endobj
-1419 0 obj <<
+1373 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 195.9222 513.9963 204.8984]
+/Rect [497.06 195.922 513.996 204.898]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.35) >>
 >> endobj
-1420 0 obj <<
+1374 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 174.1239 513.9963 182.9806]
+/Rect [497.06 174.124 513.996 182.981]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.43) >>
 >> endobj
-1421 0 obj <<
+1375 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 152.2061 513.9963 161.0628]
+/Rect [497.06 152.206 513.996 161.063]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.43) >>
 >> endobj
-1422 0 obj <<
+1376 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 130.1688 513.9963 139.145]
+/Rect [497.06 130.169 513.996 139.145]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.39) >>
 >> endobj
-1423 0 obj <<
+1377 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 108.251 513.9963 117.2272]
+/Rect [497.06 108.37 513.996 117.227]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.44) >>
 >> endobj
-1424 0 obj <<
+1379 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1394 0 obj <<
-/D [1392 0 R /XYZ 90 757.9346 null]
+1383 0 obj <<
+/D [1381 0 R /XYZ 90 757.935 null]
 >> endobj
-1391 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R >>
+1380 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1427 0 obj <<
-/Length 2585      
+1423 0 obj <<
+/Length 1665      
 /Filter /FlateDecode
 >>
 stream
-x��[[o�~���[g��;)�(��6M�m��h�l
��L$y���=I-9�H��~]>�

~�‹I��$)N�P(e\&��N����Έ{���������7R$)J%���]ۂ$HPB��͏
�\Q�o�Y]����M�q����	'
a�8�m�B��g���9u��H���ǟq���?È�Z$Op�IS���8e�f{vu���
���`�W�h�tʓ�HK�| E��T@;�M�a"�P�|�<N1�t0���%����e7�K����C����w�m�U�W��~�y�o
�M�/��ο!$l8M���:[��B�d#�Ro��v<�ҁ�A�b�>
�j��L���7ս��
����jds�
K�
I>9����(��D��S�a����Z���Sv��OZ8�>�£��Zm-L�#ɿ���J����p�e��)@1f�P�
�+�k��
7���(#tʶ�b�^\���Y���v���,3��|ܦ524r(�w�1�]8�2�������Uޜ�n }�yG��:f�H�y
`P�
���JD0!�Z �
�[,!�o��f|�+4�����-|��S�Dj?�6�r���E��.֦��v��n*���\�$e��^e�Ww��s��h
��mU�w�r���8�|^_�*�(��
Zc�؋��z�'Xёs�!q�E���\=d�|�b�
-qLf,�m��թ*�+�cnj���3�
�Vq���ō����H�)��r˵cR�ڡ����Y��0;����u�	���ŕ��QC�"f��z'y
-s
��k���o����7y�?AɼΚ^�b�
Z
�M�ɠTe�
�i�sm���r���������
^�[�/#E�Z�-�X�+���*3�ZQ�e�d&%A��C��,�{{�?�U֘VNq���%p��s3L�?�a:�Q���"4��)ኈIFz�g3r���	1�����GMhͤ�Y��v���m0�Z4�&���}�ɫ�B��_J�ԑ̲�Ð)NbF$�gPNPDf�z>�G�f1�l�Ey(�5P�A��t�t�`��8��dR�FW�KJz�w�?
4���d6�
Q
�	��O�
5�}
-�A0���;�2��q9�a5��g�`����j8&Ģ���=eP�m��%�g��������W�a[�물��3�
��P=���'��
�2�2:�
-(͠�gn�m��
l��D/�6,�ȧ�JOB
��P��8�!�E�Š���s�G��+;I�X�i����k�eL����"R
qA��W;�<
-=��_�����qw
5��kʴ����nƢ���&Np�~
h�c�5NOEN&�T$a���M�A#�;����)OUv��gcaWg�7��R���4!k��N�
�bw��;��]��ٟ��ںCٹ�1̴H�8�d��7�(�r�
"ɯ�
�3B�I7�yn�/��v�q
?�6+,	���GM�G5FR�i�^?�E�gU?�R����A�Q5{����qr�._�  SJ<�m��^H�����w�y3C�H���&�5�%#fmP�Xˀ'�U�Ng��2c��9�0���Z��\k5З 
�L�8�څ�`�G��
���)��pL 
K����	�QZ3�M0,U�uK���1���;j���*L�>�?u�vif�:=Zg�,�A	�<w/ğ�_�j�g���@?ȰZNnv���*+ʦ��(���P�@Bs�	��0g��;���_�mѸzǯ� z>J�H��U�ת���Ϩ��m �bjB�Q/$ͩ$��`�R ��<h\EFLݠD��t�s
-�	1��3�2��q�-Q�p|1��	���$��}
S&���t)E�P�>u<jBk� �I�b�}v�
ٍ��(������H�Z��,'�\e��Q+���]� >B=����Eb_��6�a�F{!���saԬɪtb͂

c\�8Ɛ���+S�
�e��5aS�A�Bb��}��Ǩ����2]
>���Plrh7��k����%
AJ�4&��bK�]�<��^�


���
-7-�
���L�
=������x�����G$�5�� �j=�#
6�G���vE��w���f���=��S��~y5�s�R�|�#�_Rh��

�;Ԅ
̆3�\�v0
�*;��̄��rqy���;1π���	,d���ow�
i�x�"����&��K6g��l61�T��|�!�GY��A�G�_�I��Ħh�a�h߆�($
-f
�A%AO&)��lA!
a��
GM؅	���Ic��f�>1��\=썉�m{b�\<K��n]f`Q�������6��B�e����m�l�?���C���s` ƞ�
�S�w��\j��~�a%��G~ď<���tp�<�|�G�l�
-�b9�_�9�d�M'���D�ఠa�,	ј��h!�	������5��n������!���u^�a)��
�?��1�v�?����jP�C@, �U�-;`ET�[k ����_�=^�h?X_��SAo{�>?4�������	�k�X�
-���=�/�	�9ԉ�^�U7��Y�i����G����i��g,�
�2Sr���h}U��IT�endstream
+x��Y�n�F}�W�R����.��@�4iҴpc5�-�,"�($���
iQ�,*A�>i�Ù3gfgWػ��������yȼE!
��ҋ�'B�8%�t���hL9�/Ҹ�l�e�P_F����0�� If)�z����٧3��#F
H0�ͳ�w����W
F,��֬ʼ�2�M����ΰSm������	
+j��*q9"؏�,�]�(���v�e<{�\�qy;�\eq���Q�ͼN�\�|���]�Q�xc�Ov�އ
��ȏ�g�G#H�f��
Ly�z��]�"f1�Jݾ~`�1���ycJPD�@ ��rD�_�u��:U��ލ)�E�Ê`��
���QDaAr��,�����drQd����&DF\�&��iRͮT� �I
+�


H�XRM�1���@4bm ��#�
+ �97��G�,�����:�j���
��Z��n�M�ʮ��F�r���*>U]BD6�M���
�H�Z�K�\��mR�l�L��6����Z�w59�cA� <ɓO�ͮV�Z�%�P� ��ie�##B���d�C���c�q�s�,��r>�;�TF}ӄm�0E��FB��1��$<�������B�u�
c:�k��4h$�И:��ҝ9d� ���pm'�o��2��#ʬ_�(���v4K�<�� �6�aյ�4�[�<�ol�X�2����Rα�	��c�t�f��^�g@��:�Yu��&
�B��f=(�_��!�:�W�bB��E
�	�'��=U|�_ȥ��/AX�͊�ӷ=b@


a-M��0c���k(Ȃ

�
��E��A�~R�R"�̅�^��o�����zl�56�I�䮻��&U�c/]t&L!��3�)�$?
�k��/vl�6 �%��Or�ͧV+5�hT]���dא����
W
b�dwG�|��}��d~�#9�� 2��2��Z�o�x
ԳLl3���7d�������Ғb�ui�d�Te@�6����&��X�?�=S�vd�8����oʍ9�
fl��*.[�6�XD(����_MMq�-��۪V��*�Ȟ��}Ӫ!��R0M~���7m2M�z����3�1bM�G�ݮ�
���1���Z�zίD�
1j�G�4T�1��'pZ}��iR�m�&X�?��9TsD��g�7���BI0M�G7��)�-�!��]�t��Gb����HV���Ĩ� "R<6ѫ_��.������C
䁇$��
|�I�7��dT�+�nF�����3�a�s9�ӶFt"
	<꺩1ݸ(S��p�U{�wn���]�ok	�*Zd03�`��m�8�~���Y����~�%8:r'�G����f�"A�^�qԩ����JG	
M��J��m8_�) ����
X�eys���D��Mj����L<�(�"�!�.z$�Ru��W5s��X�r�
SN�i���8�aO�B���)4�!�|]h�l�<���a����R"�w��v����f��US.������B-�W6��}Aj
�6kP�V�Ӝ��'OE1a
+�����B(����`�(�
ŠI���灻�4)�R_�5�\��P��ym�֝�+U�0�k��8��ik*��E��j"F�d]*�4h�
2�J5%�5�״~���;JS���u��z=9?�n�h^�M��K����uz�G���"�.�,����kl��`�L�:��	�j�}
+endstream
 endobj
-1426 0 obj <<
+1422 0 obj <<
 /Type /Page
-/Contents 1427 0 R
-/Resources 1425 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1465 0 R
-/Annots [ 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 1451 0 R 1452 0 R 1453 0 R 1454 0 R 1455 0 R 1456 0 R 1457 0 R 1458 0 R 1459 0 R 1460 0 R 1461 0 R 1462 0 R 1463 0 R 1464 0 R ]
+/Contents 1423 0 R
+/Resources 1421 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1425 0 R
+/Annots [ 1378 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 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 1408 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 1420 0 R ]
 >> endobj
-1429 0 obj <<
+1378 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 721.9496 513.9963 730.9258]
+/Rect [497.06 722.069 513.996 730.926]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.45) >>
 >> endobj
-1430 0 obj <<
+1384 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 700.0318 513.9963 709.008]
+/Rect [497.06 700.032 513.996 709.008]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.46) >>
 >> endobj
-1431 0 obj <<
+1385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 678.2335 513.9963 687.0902]
+/Rect [497.06 678.114 513.996 687.09]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.47) >>
 >> endobj
-1432 0 obj <<
+1386 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 656.1962 513.9963 665.1724]
+/Rect [497.06 656.196 513.996 665.172]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.48) >>
 >> endobj
-1433 0 obj <<
+1387 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 634.2784 513.9963 643.2546]
+/Rect [497.06 634.278 513.996 643.255]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.49) >>
 >> endobj
-1434 0 obj <<
+1388 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 516.8873 299.6943 527.7664]
+/Rect [103.177 516.887 299.694 527.766]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-1435 0 obj <<
+1389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 518.9097 513.9963 527.7664]
+/Rect [502.041 518.91 513.996 527.766]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.1) >>
 >> endobj
-1436 0 obj <<
+1390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 494.9695 315.7182 505.8486]
+/Rect [103.177 494.969 315.718 505.849]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-1437 0 obj <<
+1391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 484.9172 513.9963 493.8934]
+/Rect [497.06 484.917 513.996 493.893]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.2) >>
 >> endobj
-1438 0 obj <<
+1392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 461.0965 362.0143 471.9756]
+/Rect [103.177 461.097 362.014 471.976]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
 >> endobj
-1439 0 obj <<
+1393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 451.1637 513.9963 460.0205]
+/Rect [497.06 451.164 513.996 460.02]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.3) >>
 >> endobj
-1440 0 obj <<
+1394 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 427.2235 284.2016 438.1026]
+/Rect [103.177 427.224 284.202 438.103]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-1441 0 obj <<
+1395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 417.2907 513.9963 426.1475]
+/Rect [497.06 417.291 513.996 426.147]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.4) >>
 >> endobj
-1442 0 obj <<
+1396 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 393.3505 288.7897 404.2297]
+/Rect [103.177 393.351 288.79 404.23]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-1443 0 obj <<
+1397 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 395.2534 513.9963 404.2297]
+/Rect [497.06 395.373 513.996 404.23]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.5) >>
 >> endobj
-1444 0 obj <<
+1398 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 371.4327 364.8213 382.3119]
+/Rect [103.177 371.433 364.821 382.312]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-1445 0 obj <<
+1399 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 361.3805 513.9963 370.3567]
+/Rect [497.06 361.38 513.996 370.357]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.6) >>
 >> endobj
-1446 0 obj <<
+1400 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 337.5598 279.1955 348.4389]
+/Rect [103.177 337.56 279.196 348.439]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-1447 0 obj <<
+1401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 339.4627 513.9963 348.4389]
+/Rect [497.06 339.463 513.996 348.439]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.7) >>
 >> endobj
-1448 0 obj <<
+1402 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 315.6419 314.6124 326.5211]
+/Rect [103.177 315.642 314.612 326.521]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-1449 0 obj <<
+1403 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 317.5448 513.9963 326.5211]
+/Rect [497.06 317.545 513.996 326.521]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.8) >>
 >> endobj
-1450 0 obj <<
+1404 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 293.7241 381.0027 304.6033]
+/Rect [103.177 293.724 381.003 304.603]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
 >> endobj
-1451 0 obj <<
+1405 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 283.7914 513.9963 292.6481]
+/Rect [497.06 283.672 513.996 292.648]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.9) >>
 >> endobj
-1452 0 obj <<
+1406 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 259.8512 273.6662 270.7303]
+/Rect [103.177 259.851 273.666 270.73]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-1453 0 obj <<
+1407 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 261.7541 513.9963 270.7303]
+/Rect [497.06 261.874 513.996 270.73]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.10) >>
 >> endobj
-1454 0 obj <<
+1408 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 237.9334 309.0831 248.8125]
+/Rect [103.177 237.933 309.083 248.812]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-1455 0 obj <<
+1409 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 239.8363 513.9963 248.8125]
+/Rect [497.06 239.836 513.996 248.812]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.11) >>
 >> endobj
-1456 0 obj <<
+1410 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 216.0155 375.4734 226.8947]
+/Rect [103.177 216.016 375.473 226.895]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
 >> endobj
-1457 0 obj <<
+1411 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 205.9633 513.9963 214.9395]
+/Rect [497.06 205.963 513.996 214.94]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.12) >>
 >> endobj
-1458 0 obj <<
+1412 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 182.1426 378.5995 193.0217]
+/Rect [103.177 182.143 378.599 193.022]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
 >> endobj
-1459 0 obj <<
+1413 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 172.0903 513.9963 181.0665]
+/Rect [497.06 172.09 513.996 181.067]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.13) >>
 >> endobj
-1460 0 obj <<
+1414 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 148.2696 312.6549 159.1487]
+/Rect [103.177 148.27 312.655 159.149]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-1461 0 obj <<
+1415 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 138.2173 513.9963 147.1936]
+/Rect [497.06 138.217 513.996 147.194]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.14) >>
 >> endobj
-1462 0 obj <<
+1416 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 114.3966 353.0664 125.2757]
+/Rect [103.177 114.397 353.066 125.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
 >> endobj
-1463 0 obj <<
+1417 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 104.3444 513.9963 113.3206]
+/Rect [497.06 104.344 513.996 113.321]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.15) >>
 >> endobj
-1464 0 obj <<
+1420 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1428 0 obj <<
-/D [1426 0 R /XYZ 90 757.9346 null]
+1424 0 obj <<
+/D [1422 0 R /XYZ 90 757.935 null]
 >> endobj
 102 0 obj <<
-/D [1426 0 R /XYZ 90 617.6806 null]
+/D [1422 0 R /XYZ 90 617.681 null]
 >> endobj
 106 0 obj <<
-/D [1426 0 R /XYZ 90 585.6177 null]
+/D [1422 0 R /XYZ 90 585.618 null]
 >> endobj
-1425 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R >>
+1421 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1479 0 obj <<
-/Length 2881      
+1488 0 obj <<
+/Length 1652      
 /Filter /FlateDecode
 >>
 stream
-x��[ko�6��_�o;�4�c���i��&�7q?��@�Ql�������^���
iD%�]b=ΐ�W�^�KQ$��dgJ(d��|u��;���in����������AFR��|�[�	Jhv��u������j����s*��m�������q�f�C�,��z��M�cCH0Il�>��w�-��Og1�E�'ch�:�����dz�����ʼnFJ��3��������
-h��4��ߴ�vwͽ�`��b�Ha�R�~;��f
t=%x��V��zJ�d�|�/�|����廧��7�)ѓ�jv���?�Ů\��^m>��0V"
�t֢�ؐ}��7,���S��;w0?(n�cZ��B
�:iQO��j���]6l��V(A�(���
-&�p%SZ�QZ��X����M@F�H���vѢ�b�k�
d�,��w�p�?M��4g�M���!pl���?�/:�A)E!��uZ
�Ґ	�CJRD��	)��/����Ӿ*V�H�%�X4�i<*A�a�
f:&Hj�H8�|r�<��'f���0�N��-ŴO.��y����M��A}�X./�����U8b�"���.]�x�0c�b�D�kᬭ*�� gjΡ�~��
���l*���5X����/�
rB��]���G9��^�E=���
̙6)�y�8ύ�������;�i�
�$
;�Ny
��G�FҀ5"~Vg��o7�E� 5(5)�S2�	�݅���uy\������퓻[����]Y��N�D$�&�
-k� ��k�F
0�� u� ��_� �;J�`
'�]��(�+D	�)챫<�J�� ���`j���B����0L��j-қ/
Z�Y� �\��<l�fWŮ*Ø�����(��4������M�R
���ō
%B	��S~��H�1��b2����OS*��޷�XJ
-�A��?-��H�U;�>��`!��_�J=f!
-
��Y��#�5��M��=d	�j��[��k�(�
�Q�/��hR�Tj�¾ұ./�6�m��ǩ%g�a.��L7��gA�谵 �r�'զʗp(
x΢^�q7�����a���#f����	��vOz��HJ>lJ�
-Y	�Ľ�Q��]��P�H�.�!�H�(W��Nբ|�a�K�^�
-�|
�
�ӔG���
uz��@�.��¾{�����/<wBb���K�jΝ�����kE��E�xi

���j�#��t4h�gQ��#Yjm��}��N�1p)�XR�Fd�J0e�#emD4�P���Kj����
���ģz�3d�g��K�Z�na_/�����B�����b�s���b$fޮ
�`��"^=�+���kf<�	̋�h��oI�N����d���GՒ��W�Q�/A��"bXR�
6J��P&U�qD����{�FJp�S��J�
}(c�t�Vߜ�I\�٫m	gOܚ
���:�7na	�
7v�:����;�ǫ1��ѣ�y���_��ֈQ�Rc
�:5&
-�$
��>
*A�HD�t
Q���>��P�@̵�O}Չ���}%)���k����I�1%a�b��B�i��('6�'��� 6��
!%6%6���k�7x�`��7��-�$)�nk�_
�sd�
�]����
0�b��څ���%X�r���o]}�	�Y8�
}7������s#+5�fT�i��7�כ�]^�b��w���]�﯋�w����l�
F��f�/o��j���}�WE����O�^H1 v��������;�X�{~	�@!�)�t����}1���{}Π(���ag�4��i� „:�x�@�Fd����j)�;Ha�^�BsQٻ�8��Y�`W$�,!��LR���Xݺ��G�BrƔ!_�/��>��>�J
�[
�h�C�RB�,4���Q��x�
?�

���sC��Gr�
(fR/�Z�Xɽϫ�Pm�~�%DH�¥�����!Y8�y�PԚ�/Ǡ[q�<%�^^
�[�!�D
�\hJXJ

6J
o�u��f��6�ľ�l`‡��
R�ٞՠL6H�u���ю��)��X2����� �N�Cz�ͳ����Ћ���˻�g�n���<K�B��$
v޳O�A%8R
JJ�
�R8��+?�Y/
��;p"j�SQ��а��嫕�/��6
�]��H��e�A�A�b�
�� ?�8���zWv�_��13�R\
���ﯢ[��	Q��
zBT�JPe at U���j���>K8��Wbњ�g��)F2���I�kx`�Vky�ޥ�AK>�� �%��j�6N^�هb�0��y�8��
�p��2!�p��&�5�ON^Ӟ֘@�0vzU:Y8���v���1�Veđ1܆�r
��Y�ã���zɗ3լ2X#Mɤ��
d�=��������4�?�ۯ;�-��K�ܼ�I�p}o�Y������;E�p
-������{~	Nz�D<�
6�)~�W��f�/g��m�[ *D�V�^!ȓ� �0�g����Q	K�W�XI[ⰷ��ݼ��G��bDn�YvZuR��
-9h�g�"t�(I-���QRl U�/�O.T�(r�
�8"�pЦ��(jQ�9��Ӭ�P���ћ#3Yh��Ӡ���~��yl�vK&��nlqf��>J��R��]�8:��k����_&W���w���]^O�#�(�옔�}!���G��%z}!�����n�R�~;��6I!��
���W�ց�`v��b���U$DS���	.jhN��oa������_�
��a����?��6U��2P�����9����辄V��(�Zn����?2������/��S�h;��1�W����������a]nw��.���E'�k�0�tC^��߃:\"�3-!"<���g&�ͮ�oN��*�jG����T�@ąendstream
+x��YYs�H~ׯ�mQU<���a\[[�q�u6v���(,a��Z����� 	YȎ�/b���뻅������ח��w�y
+)A�wy�)�IA�Ļ
{_������Ӹ,��c�cZV����0��Z�0Wzw��r���&��!�%��{����w�a���S�wgNͼ�2�N���?�{x��#���}�D$�$��l�	��bG�C��|��I�E
}L���X

�+�$��Yt��?�OR��$z���j
���o��?-U<���xL�k�,B9�>Q�Ey��p=�)"{��>ɒ"��b��4K^�e/����n��Ye�@�I��������Ŗ���H
�*ut�(�d�E��
�B^��&�K�!�̧��[���Q��U�V��
ZA3-��s�ɪ�۝�
[j@��� � ��˝S��!RL�a�b�+VL1�lW�Nϣ��J&�Ct�0�|ɮ��l��A
	 �ӥ���U�s 
dis�ja�V7�݀�ٝiz�8��0S�¬H�[|f����
J��>���k C�qRT�7��(��u	��F�K�+*�K ��G��)����r���F��� v��
�Ri�E���?�"��d [...]
;�� >
N ,��
9*
}*�煛� �%��ќ��1&7�r}n-��&�����
+|��4ay��#�z|�����>��
��t�
+����<�W
�XK��F�v�H�	"]�_�����w����\ !I�����Zlj4���k]K���6Q,��Ifͭ����A��-��>�4�NW�
+����},�+��%��,�"�.�nܒ�+�"�r��@��4��2�����JY�*qA#]G�O�C{$�~B�I
�$�&��T*)��mQ)]�e��z{(�u���{��*9~=4+䢳�ٕ�֨J��T��-�z q�ťB��K���
u��D4����*]f��S�E+>J�
�`���'�+�	F�X�=a�jݸ����],*Ӧaxl�����_������	�Z���G�v�p5�(����	���	�&��YFs��k�2{��Z���ڰ9o��_�%C�}�"�Ύ[���L��@�XM���Ne���n�Z��c0ħ�|�~�,�>'��Q��= �
���E
+EX5�
����C;�1��W�����J
+
E�D=�˵��5uw u�uR#ߐ8�B4��+l�(����N��"^O�o�8�Mjɍ���4a�l��ⴗ^)�
�}X����Ө�'yO���x�t&=		K�X��(����Yu���������`)�k�p�4�N�{�FY���D`$	��G���HIp#���A�c|��;Q���}$���ʢok�����a)�����ں�Ӏ�N��ۛ�
+j��Ę~#��3ڭ��� ��������_��[HI��%�B�κkw=sc��ʕa��2)~�}��4�nWZ�S�J�e����	a
+}�u��ݳ�W�����+LS�	{���������
��6K�J���|z�f-�	�ٔ_�uě�ERwe�9���P�(�?�9Yr
+endstream
 endobj
-1478 0 obj <<
+1487 0 obj <<
 /Type /Page
-/Contents 1479 0 R
-/Resources 1477 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1465 0 R
-/Annots [ 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 1491 0 R 1492 0 R 1493 0 R 1494 0 R 1495 0 R 1496 0 R 1497 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 1517 0 R 1518 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 1529 0 R ]
+/Contents 1488 0 R
+/Resources 1486 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1425 0 R
+/Annots [ 1418 0 R 1419 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 1451 0 R 1452 0 R 1453 0 R 1454 0 R 1455 0 R 1456 0 R 1457 0 R 1458 0 R 1459 0 R 1460 0 R 1461 0 R 1462 0 R 1463 0 R 1464 0 R 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 1480 0 R 1481 0 R 1482 0 R 1485 0 R ]
 >> endobj
-1481 0 obj <<
+1418 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 720.0467 317.0038 730.9258]
+/Rect [103.177 720.047 317.004 730.926]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1From__Covering__Box) >>
 >> endobj
-1482 0 obj <<
+1419 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 721.9496 513.9963 730.9258]
+/Rect [497.06 721.95 513.996 730.926]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.16) >>
 >> endobj
-1483 0 obj <<
+1437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 698.1289 271.9926 709.008]
+/Rect [103.177 698.129 271.993 709.008]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-1484 0 obj <<
+1438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 700.0318 513.9963 709.008]
+/Rect [497.06 700.032 513.996 709.008]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.17) >>
 >> endobj
-1485 0 obj <<
+1439 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 676.2111 307.4094 687.0902]
+/Rect [103.177 676.211 307.409 687.09]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-1486 0 obj <<
+1440 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 678.114 513.9963 687.0902]
+/Rect [497.06 678.114 513.996 687.09]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.18) >>
 >> endobj
-1487 0 obj <<
+1441 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 654.2933 373.7997 665.1724]
+/Rect [103.177 654.293 373.8 665.172]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
 >> endobj
-1488 0 obj <<
+1442 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 644.241 513.9963 653.2172]
+/Rect [497.06 644.241 513.996 653.217]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.19) >>
 >> endobj
-1489 0 obj <<
+1443 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 620.4203 286.9364 631.2994]
+/Rect [103.177 620.42 286.936 631.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-1490 0 obj <<
+1444 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 610.368 513.9963 619.3443]
+/Rect [497.06 610.368 513.996 619.344]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.20) >>
 >> endobj
-1491 0 obj <<
+1445 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 586.5473 248.2118 597.4264]
+/Rect [103.177 586.547 248.212 597.426]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-1492 0 obj <<
+1446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 588.5697 513.9963 597.4264]
+/Rect [497.06 588.57 513.996 597.426]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.21) >>
 >> endobj
-1493 0 obj <<
+1447 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 564.6295 298.0046 575.5086]
+/Rect [103.177 564.63 298.005 575.509]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
 >> endobj
-1494 0 obj <<
+1448 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.0787 564.6295 498.5541 575.5086]
+/Rect [476.079 564.63 498.554 575.509]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-1495 0 obj <<
+1449 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 554.5772 513.9963 563.5535]
+/Rect [497.06 554.577 513.996 563.553]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.22) >>
 >> endobj
-1496 0 obj <<
+1450 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 530.7565 344.3007 541.6357]
+/Rect [103.177 530.757 344.301 541.636]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
 >> endobj
-1497 0 obj <<
+1451 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [443.1849 530.7565 465.6603 541.6357]
+/Rect [443.185 530.757 465.66 541.636]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-1498 0 obj <<
+1452 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 520.7043 513.9963 529.6805]
+/Rect [497.06 520.704 513.996 529.681]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.23) >>
 >> endobj
-1499 0 obj <<
+1453 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 496.8836 297.4567 507.7627]
+/Rect [103.177 496.884 297.457 507.763]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-1500 0 obj <<
+1454 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 498.7865 513.9963 507.7627]
+/Rect [497.06 498.786 513.996 507.763]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.24) >>
 >> endobj
-1501 0 obj <<
+1455 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 474.9658 332.8736 485.8449]
+/Rect [103.177 474.966 332.874 485.845]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-1502 0 obj <<
+1456 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 476.8686 513.9963 485.8449]
+/Rect [497.06 476.869 513.996 485.845]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.25) >>
 >> endobj
-1503 0 obj <<
+1457 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 453.0479 399.2639 463.9271]
+/Rect [103.177 453.048 399.264 463.927]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
 >> endobj
-1504 0 obj <<
+1458 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 442.9957 513.9963 451.9719]
+/Rect [497.06 442.996 513.996 451.972]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.26) >>
 >> endobj
-1505 0 obj <<
+1459 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 419.175 295.2352 430.0541]
+/Rect [103.177 419.175 295.235 430.054]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-1506 0 obj <<
+1460 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 409.1227 513.9963 418.0989]
+/Rect [497.06 409.123 513.996 418.099]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.27) >>
 >> endobj
-1507 0 obj <<
+1461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 385.302 341.5313 396.1811]
+/Rect [103.177 385.302 341.531 396.181]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
 >> endobj
-1508 0 obj <<
+1462 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 375.2497 513.9963 384.2259]
+/Rect [497.06 375.25 513.996 384.226]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.28) >>
 >> endobj
-1509 0 obj <<
+1463 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 351.429 349.311 362.3081]
+/Rect [103.177 351.429 349.311 362.308]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-1510 0 obj <<
+1464 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 341.3767 513.9963 350.353]
+/Rect [497.06 341.377 513.996 350.353]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.29) >>
 >> endobj
-1511 0 obj <<
+1465 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 317.556 304.5658 328.4352]
+/Rect [103.177 317.556 304.566 328.435]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-1512 0 obj <<
+1466 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 319.4589 513.9963 328.4352]
+/Rect [497.06 319.459 513.996 328.435]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.30) >>
 >> endobj
-1513 0 obj <<
+1467 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 295.6382 412.7549 306.5174]
+/Rect [103.177 295.638 412.755 306.517]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
 >> endobj
-1514 0 obj <<
+1468 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 297.5411 513.9963 306.5174]
+/Rect [497.06 297.541 513.996 306.517]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.31) >>
 >> endobj
-1515 0 obj <<
+1469 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 273.7204 354.1694 284.5995]
+/Rect [103.177 273.72 354.169 284.6]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-1516 0 obj <<
+1470 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 275.6233 513.9963 284.5995]
+/Rect [497.06 275.743 513.996 284.6]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.32) >>
 >> endobj
-1517 0 obj <<
+1471 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 251.8026 308.3657 262.6817]
+/Rect [103.177 251.803 308.366 262.682]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-1518 0 obj <<
+1472 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 253.7055 513.9963 262.6817]
+/Rect [497.06 253.825 513.996 262.682]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.33) >>
 >> endobj
-1519 0 obj <<
+1473 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 229.8848 288.4209 240.7639]
+/Rect [103.177 229.885 288.421 240.764]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-1520 0 obj <<
+1474 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 219.952 513.9963 228.8088]
+/Rect [497.06 219.833 513.996 228.809]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.34) >>
 >> endobj
-1521 0 obj <<
+1475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 196.0118 303.1757 206.891]
+/Rect [103.177 196.012 303.176 206.891]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-1522 0 obj <<
+1476 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 197.9147 513.9963 206.891]
+/Rect [497.06 197.915 513.996 206.891]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.35) >>
 >> endobj
-1523 0 obj <<
+1477 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 174.094 344.4462 184.9731]
+/Rect [103.177 174.094 344.446 184.973]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
 >> endobj
-1524 0 obj <<
+1478 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 164.0417 513.9963 173.018]
+/Rect [497.06 164.042 513.996 173.018]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.36) >>
 >> endobj
-1525 0 obj <<
+1479 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 140.221 329.5819 151.1002]
+/Rect [103.177 140.221 329.582 151.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-1526 0 obj <<
+1480 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 142.1239 513.9963 151.1002]
+/Rect [497.06 142.124 513.996 151.1]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.37) >>
 >> endobj
-1527 0 obj <<
+1481 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 118.3032 416.7301 129.1824]
+/Rect [103.177 118.303 416.73 129.182]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-1528 0 obj <<
+1482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 108.251 513.9963 117.2272]
+/Rect [497.06 108.251 513.996 117.227]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.38) >>
 >> endobj
-1529 0 obj <<
+1485 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1480 0 obj <<
-/D [1478 0 R /XYZ 90 757.9346 null]
+1489 0 obj <<
+/D [1487 0 R /XYZ 90 757.935 null]
 >> endobj
-1477 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R >>
+1486 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1549 0 obj <<
-/Length 2654      
+1538 0 obj <<
+/Length 1581      
 /Filter /FlateDecode
 >>
 stream
-x�͛�s�6���W�����s3�s餗�|��^ڎ��h[W�T%ڎ��[ 
�@�&�K�W����d��?2�x��B�q9�����.�xD��ܟ��W�G'o��h�%��˛Ƃ$HPB'��_��xF��\-�W�����߯����eU
���N%>��򧣿_��\,�Ib\�y���x���~:ˆ�LL
�
FDk:Yq������ѿZ;�F�&q�!�i>�1�2	?Ph `g8+����4������@F0GD1
-)�
a)�p
-[]+3�<?&x�o����1��j�tW,��ջ��6�>����˲��Ә�<[�`�{��
�a����ﭤ	A�h��V$MK�$��D� "'a�{��D^'�@u�����b4�n�&�=�W����
k�Y
���3�dF)cZA������u����������쇍˱����9X�_ ���3�d ��i/���~.zVMЌ�}=���|��� �i�4�+{�������z_��첏#�c&'a}
�*)#)�Y7�g ��n�I6���9�.�Ǣ(���^۸�q�o�
{3�����t9�x�u�@��L�&0�&�U5*6D`���@���$��^F�E�@1	C8D�HE�܋����(�m^W��q�����
�����'��x��W��$^�"��~��UI��$��kM�J�IU��Y7�>��u�s��|�Vɛc*�
���9�>���
-��6��NCF0mQϪejpU���K0%���;�	�Z�
��֑Db�u���(��
�:&�PI5�M�I��>�^�H�
-R!t7ϓ&��u$\٫#����?�lq�p0���E�
-M� ����OS=�1��!��h�C�a�[�	�:�y��׀���I�$�^6
-����i�*�ޖ���G_�$j����U���p���
}?X���7eF��D5��hx=��
=�F,_�
X���blx�(6.���깅����G0l��3 ��ϑ��wЯ�N_�s� ɛ�
o�Cî<lm���DR�S�M��
��>�
"|������a�(��dZ7�=ܶ�f�)�}&����W�w�b�
�}�`�~n���~{Ĩ�,����>2*�*6*:���Q��L���Q������^�I��zz(5�(��H9Ӫ���߻S]���׻=��S�y^�[A�#8�?��hCzV�(
�(��/��R at s��ȫFQ�c
�v9���h1�~� yQ<:
-+��D����(wK�W��ad+�y���m�y���y��h�mZr�9��}p�D���9^�btNOϪ�&���Љ
Ѱ
a
��4�D��
�j����^-K
���-��b9�k�	ĊߠD(�孕X��F]���^���bk"
Krw��>�5�Q%r�#5z�#(:�Eq����k@�QD�L��e/FqwuQ
� Œ�I�~`�T�(�ْA�Ս���
�zqz�>��Y��o�e�(>�����M�Y�!˙
�"
1n
7�$
�L���$�8�L����o3jP̜
D���o��&����}~�
�-�b{cV��yn��e�Ӥ�՞�ͫ���\oVE�tpQ:7g
�K��{j��t�\?n�u]����_hز@�&�~�93�  ����f�s�:�<1M�t�A0lXƟ�48S�;�%�MQ��*��Xʮ_{����`��X�������zv݄#܄ӟl�����ME�ڍ
-[�Y����f�2��^�ȐP*;�z	���eN5#P�
��0R*����ei>�1>�~[>B�)>:�����g���#�v����6\}���c���Q��~�籁 3�$!-���"�))t��s�4�B��Ǧ@�4����q�-����
�c@��г;�_`�2�;FW\�s�@�B�%�>��eHXƻ�fN����
e��2^�F&0C&�E&�k��z����1N�
-�g7Į�����7�T��܄�4t�!Z
&G"&����f���7]�٠�H��65�Wl^W�Q[r�	��T���J����!�T&�|���y��c7�䢄2w
9�������m�i7�p�Ց��_0nL������>�
-((1j��V3���$
c
-�R#���畉�b#.�q
�cF\<���䈻��Vf�~l��C�p��*S�E�dƤ6��'��hb�=�Է2�ȏ;�bZ=��� �����3�L�q��9���qn�q�CY��D���<��H�г���ͶZ_�U�!<�
�4��U���^�@B�D�(�2T7��\
�h�&���,���܌���ab9ATb�9�5Y�v��ke#�u��Ϫ������1�Fط�D�}a
���
0
��
9H(&�c@�J�kr�����$S2���fq�<O�$����q�
��i�:�x
Q
���[Mo���)���{�e����e���\�I)|5����LK���p��`�u�)�Qsj������)�B�_���Nf��
��
-�{�
!
�D���緦���ޮ��9/F��
����	&���q>2/���E1�|
+�V���I������G�Y}�Y�
{ܮ����6����������w�\n�hY�l6��^��� \�n\�3��b�d�e@���"���
-����D�s֎��C�%^�(endstream
+x��Yms�8�ί�iQ�b�6sә6�v�k{\��K�a
[!���3&�+K/�$s�d#����>��
��
v���(T8�k'Ď/�8�����
����'���y<�ʬ��4Ϻ=�᫮������߇�;lc�Զ��|Ɲx���
;	��w0ba�,�]Sǣ
���W�v��^96�?�yN����
�2�����Q9�F�.�n>Y�Ȥ�Fҫ2*���^N�j&+�G}e!KXP!��!���1�~ n���[6
!S�ap�b�x(���FΆ���7�����h�MGa%t�<�U�<6y�=),DY���+�
��wz`4�����Ϋ����Mapџ�|�=�<!����8_{���2�7";�T��C�灧�!	N��d9:ϳ�g9��l�|b>o��
�������W�ZH��Ǒ^+�����>��0�a�>7Qթ ���x1?@!
m��
'��B����������Xf�����l���o
3��L}��f�.�D3SC�]�])��a�V�\���g�}L�� �e��%�M��I���H"0
+�W#1
+�JE/ڌ@�X+�~��0�&+��"	+["	+���Uz
�&���FE	��W�*m<��
�
��c��Y��x"G�b^�E�W:�*�pu?�g��z�ܗ|ǖ��4�݀T%&-�	Ct�y�[�ꂼ� =�^�c� �c9�0�9�*�5�p[h�Pqަ��W�[�:���6�|�@^ 6er*��<i���*�Fj�_�
6��Q=

� ��iz��f��"������Ϥ�5��G��l+���G�}�0}L�~�(D�
��_�!�N��
��d���=K툖_oE��*^5�Y��X��>y���y>-"M�����u��!LL��$�aZ�K���1��Li�H��*���^��D�j�]ӆ��V{_;w��1JE ��)�&x�ѥ�[�M@�*��W��e�F���Z�%��qA
A�,ve�b��JU��}
+ѐ���}�H��:;�%�0�Wj@
+1VΟ?�&>D�x
���wY%�kE���
uV���������4w鴘�Ʃ���j(P�27�3�.c�@�(Ӫ��[_!�Қ�KF	
;�Uۀ�l½���u�C�
y��-Z��+N��g��7

vY�n6:���Zj���K!t��n:�]�?�#�������ڲ	��x�2
+�!�


s�O��4�]�>E,����	���m��b��q�7
7��PJm��h��T3�'G���G��?=
�@\x��Pτ���(�P��D�5�$��
˶�8@����Y��S�3�M���Ȫ�&^Y���.
+;�]ۉ&�nQ�CZ����Y+�֣ �9
��Vw
ʲ˹�x��Q�U��ch֏�O�sE�Eݣ���Z?���oN��(�P$x P�-�o�|::��
$A�x���χB�:��
4���ƚc���D������/]BH�1�^���A={��D�OD'P�ì��#� a�ۚ&OUu>S�d��c���c��
��'>��/
E)	SS:R�I�)_ڈux?
{����y�i�"����TU�?;[,(��y�%J�������k+��F��8O�st��z��d
$�?�Ё�
+endstream
 endobj
-1548 0 obj <<
+1537 0 obj <<
 /Type /Page
-/Contents 1549 0 R
-/Resources 1547 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1465 0 R
-/Annots [ 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 1569 0 R 1570 0 R 1571 0 R 1572 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 ]
+/Contents 1538 0 R
+/Resources 1536 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1425 0 R
+/Annots [ 1483 0 R 1484 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 1518 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 1529 0 R 1530 0 R 1531 0 R 1532 0 R 1533 0 R 1534 0 R 1535 0 R ]
 >> endobj
-1551 0 obj <<
+1483 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 720.0467 338.9123 730.9258]
+/Rect [103.177 720.047 338.912 730.926]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-1552 0 obj <<
+1484 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 709.9944 513.9963 718.9707]
+/Rect [497.06 709.994 513.996 718.971]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.39) >>
 >> endobj
-1553 0 obj <<
+1507 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 686.1737 309.9999 697.0528]
+/Rect [103.177 686.174 310 697.053]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-1554 0 obj <<
+1508 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 676.1215 513.9963 685.0977]
+/Rect [497.06 676.121 513.996 685.098]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.40) >>
 >> endobj
-1555 0 obj <<
+1509 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 652.3007 309.9998 663.1799]
+/Rect [103.177 652.301 310 663.18]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-1556 0 obj <<
+1510 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 642.2485 513.9963 651.2247]
+/Rect [497.06 642.248 513.996 651.225]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.41) >>
 >> endobj
-1557 0 obj <<
+1511 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 618.4278 276.6154 629.3069]
+/Rect [103.177 618.428 276.615 629.307]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-1558 0 obj <<
+1512 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 620.3307 513.9963 629.3069]
+/Rect [497.06 620.331 513.996 629.307]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.42) >>
 >> endobj
-1559 0 obj <<
+1513 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 596.51 295.0629 607.3891]
+/Rect [103.177 596.51 295.063 607.389]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-1560 0 obj <<
+1514 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 586.5772 513.9963 595.4339]
+/Rect [497.06 586.577 513.996 595.434]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.43) >>
 >> endobj
-1561 0 obj <<
+1515 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 562.637 289.1579 573.5161]
+/Rect [103.177 562.637 289.158 573.516]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-1562 0 obj <<
+1516 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 564.5399 513.9963 573.5161]
+/Rect [497.06 564.659 513.996 573.516]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.44) >>
 >> endobj
-1563 0 obj <<
+1517 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 540.7192 354.2058 551.5983]
+/Rect [103.177 540.719 354.206 551.598]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
 >> endobj
-1564 0 obj <<
+1518 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 530.6669 513.9963 539.6431]
+/Rect [497.06 530.786 513.996 539.643]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.45) >>
 >> endobj
-1565 0 obj <<
+1519 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 506.8462 273.9453 517.7253]
+/Rect [103.177 506.846 273.945 517.725]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
 >> endobj
-1566 0 obj <<
+1520 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 508.7491 513.9963 517.7253]
+/Rect [497.06 508.749 513.996 517.725]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.46) >>
 >> endobj
-1567 0 obj <<
+1521 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 484.9284 263.893 495.8075]
+/Rect [103.177 484.928 263.893 495.808]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-1568 0 obj <<
+1522 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 486.9508 513.9963 495.8075]
+/Rect [497.06 486.831 513.996 495.808]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.47) >>
 >> endobj
-1569 0 obj <<
+1523 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 463.0106 310.1891 473.8897]
+/Rect [103.177 463.011 310.189 473.89]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
 >> endobj
-1570 0 obj <<
+1524 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 452.9583 513.9963 461.9345]
+/Rect [497.06 452.958 513.996 461.935]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.48) >>
 >> endobj
-1571 0 obj <<
+1525 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 429.1376 286.0297 440.0167]
+/Rect [103.177 429.138 286.03 440.017]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-1572 0 obj <<
+1526 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0598 431.0405 513.9963 440.0167]
+/Rect [497.06 431.041 513.996 440.017]
 /Subtype /Link
 /A << /S /GoTo /D (subsection.11.49) >>
 >> endobj
-1575 0 obj <<
+1527 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 280.5731 325.1121 291.4771]
+/Rect [138.538 280.573 325.112 291.477]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-1576 0 obj <<
+1528 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 267.6217 427.7622 278.5256]
+/Rect [138.538 267.622 427.762 278.526]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
 >> endobj
-1577 0 obj <<
+1529 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 254.6703 371.7468 265.5742]
+/Rect [138.538 254.67 371.747 265.574]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-1578 0 obj <<
+1530 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 241.7188 377.3558 252.6228]
+/Rect [135.768 241.719 377.356 252.623]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-1579 0 obj <<
+1531 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 202.8645 291.652 213.7685]
+/Rect [135.768 202.865 291.652 213.768]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
 >> endobj
-1580 0 obj <<
+1532 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 164.0103 336.5536 174.9142]
+/Rect [138.538 164.01 336.554 174.914]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1From__Covering__Box) >>
 >> endobj
-1581 0 obj <<
+1533 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 125.156 309.5647 136.0599]
+/Rect [138.538 125.156 309.565 136.06]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-1582 0 obj <<
+1534 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 86.3017 360.28 97.2056]
+/Rect [135.768 86.302 282.038 97.206]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-1583 0 obj <<
+1535 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1550 0 obj <<
-/D [1548 0 R /XYZ 90 757.9346 null]
+1539 0 obj <<
+/D [1537 0 R /XYZ 90 757.935 null]
 >> endobj
 110 0 obj <<
-/D [1548 0 R /XYZ 90 414.4428 null]
+/D [1537 0 R /XYZ 90 414.443 null]
 >> endobj
-1573 0 obj <<
-/D [1548 0 R /XYZ 90 382.3798 null]
+1540 0 obj <<
+/D [1537 0 R /XYZ 90 382.38 null]
 >> endobj
 114 0 obj <<
-/D [1548 0 R /XYZ 90 382.3798 null]
+/D [1537 0 R /XYZ 90 382.38 null]
 >> endobj
-1574 0 obj <<
-/D [1548 0 R /XYZ 90 299.547 null]
+1541 0 obj <<
+/D [1537 0 R /XYZ 90 299.547 null]
 >> endobj
-1547 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+1536 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1596 0 obj <<
-/Length 2132      
+1572 0 obj <<
+/Length 893       
 /Filter /FlateDecode
 >>
 stream
-xڵ�mo�D���S�
���}~�w
���p��%��E��m�ߞ��^�u���D��b{2���o׳�e�����(C��:[��hv�����9\?�
^]�.��*s�i����;��Ϯ��9���Rz���/��\ѳ7yus���яUS��?�F�3��]�4��*�vQ)���g��_4[Bt?�(Ϊ�(a���v&��V�w�_�����
�'�"V��\Hb5|{��0v0��qI�wn� T+�ddf!IZ�$1�5�f�̧��6!7sFϊ����W�j�t�E���u�zlO,V�m���6����_���bۀ��X��J���|E�f�QC��a�0��C����SL
�G;@B���#z@�Hae�[����\��/q%����v�F�(��Q���U�ݎT�&FK>T�W���X�7G�z��o�L���m~�v�z�T,���M�������?�1�Z�V�� �e�Jfҩ1�X�
|��K�ֵ��3���[E�/�ۢږ�=\l�o>uK�}�h�u�y��K�� ���a�y1��0��J
oo��9L��
�ƺ0��͘`�(,rC�=���� ��|������f�aQ6H�8��0v��"Bi��ܛ�a�*+Q����\�M��xO)����	�ͺ�W
���-a���Yq�eh{|�W8cO	>gDJ-1�{3
��a
-��n ?�EV��;
��/����*����ϛ
�~�!/�!,L:I�)`�
g��(Ǫ�`���h��Ŝӳ��
�
� ��)��P'dVYN��
a6�����"�=��4�C�	�"!���̾^W�<ɡ~�~��m��}�j�x:I
n�bPY�YX|��+;�Y��
 �X�F�����b��������tp� ����n�0nZ7��"�����a����^^���u	;��W�OA�2�R��I�F+�;
-�
�',ro��+�(v�u���
��(?����X�SOa�m�'
f8���i� |�� ?�|:���g ?�:"4Ų�7sV
�l	�N8��
����嫲y
�r���UbW(
(Z�O��ԚP�>�3��a_D��w���w(<_$��_�W��>���a79��w ��uk�$Ʉ
';�����p����f��S;X�`���`���Q�n�D�86=z�hzL������.�*t ?=n��-�M^ݬ�=))a\�S�
��̴ϗ������9L͞�n�=�.2{�SfO:���)��M}WT��P�.|%
����o at a�y���sA
yo����W,f27��Ѕ�Dp�f��l�0�,��3;�M3;��,����E+tG��N��ƭ RlG`XA��a8�
�BGY�Ɍ9%��A&��_0�a�
�`O��c]�����!��>�Qu�ԩ�"��-���#P
(�6��ف��?J���o)}҆��*P3���pP#�)PӺ�Xu <�t#�(���5�z�[�ʛ�MjH��;�$E7�;��ˌ�!Z�
�`��x���Җ��Pvg>�CQT�Ux�%b.U��%���a�� ��Jb�I���0b�'��&�,Ӽ�f	��iއ�xGB�Ey���p���ی8��9�0v+T�;�E�+M,C���
���k%���Å��XuҶ`@Ѷ_0���
��M�~c]�߁�~�!��>�_���}��9�F�v����73��

fG*���=�O�Iۅ��D%�.
f(�����n��@7��Px�H#�ӱ7�
�F[$9��UG)��q�Q��̞��
˯�Zŏx��o��~�����|wmU�
�iK�<i#�)X,
��
f8ב��i��u��p=��u:���i�7��.�%���$��os��IJ�3���NT~�Y�;���q�V�
�����}�0�}Z7`�"���`�a�_��ry���P�rIe:Q\X �
���(#¡��`�U�0��U�8
-,���'(�V�n
�ʼ�
��eA�2��!��E��}�rD���
+D�;����d�%�=�}[�_���=�%����(�SEォ����b��F�Qr��w�
�{�L�m�����Y���2�p
}��k�v�׏�S�l./.


�bK�rS����lV�2]A�b�0��w�7�2ȼ�0
�dq,�z�v]��p�v�T�HTL�
�_/
-cendstream
+x�ݘ]O�0���+|�FP�N����@�ƘĠ�� E&1%Z�ǥ��篤��ĤR�*%�����9��A`8���z���!
7 �"00�]
f	��;�����8�G���
2���	�oH����7�ع�
�f��
�� �����=�y��
+�D��p��WF�'�8�}�!�p���]0����R���	�
D�oT4ڒ4��J
f�ōy�[���Ƣ��*��߇Z���
��	����`�ʧC���u���b�K���X�E��-�3�G�8U
+�ItZd��4�$:I�9���c,[Sr���t��K��3r[�j�x�����K�
�@(�#w�&iL�e��K�\���<Q�Y��o	�M���U[m�j���� �I�(���C�i�meC���2=�y������d
[�_0i�$e":��_�Gek9b���j�|ݵ�?�L�Zz���GTٔ�u5�҄���*N�yO,��hw
���	K�*k������Ѩ�H��hF�&��3Bgu�6���k��XR�ZfUZI��o8aI�O�̺��2�ۏbs�j��se���N����}���V�[;��[Ǯ��QU�lŸ8+��q�'}:}͘�e1}�k�����b�G7�o���+ ~(n; �4�^������7P]<��2�����$KNE
�F��O�ƽOg?��S.R�yљ�
�5�Ұ��19yS��׍�)u�M����y�}�&t�*ʧF��3�q=?�%����uPnR ñ7��K?������-��m.�`7����5�2寄-��%�ѽ��UBA,%�ؓ�:O=���������m���v��D5jѷB���p�\¸�
��
�bX�ٰ�rm�X;H�gy�i�,+s�����	�!��
+endstream
 endobj
-1595 0 obj <<
+1571 0 obj <<
 /Type /Page
-/Contents 1596 0 R
-/Resources 1594 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1465 0 R
-/Annots [ 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 ]
->> endobj
-1598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 696.0019 282.0379 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/Contents 1572 0 R
+/Resources 1570 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1425 0 R
+/Annots [ 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 1569 0 R ]
 >> endobj
-1599 0 obj <<
+1552 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 657.1476 326.8693 668.0516]
+/Rect [138.538 696.002 326.869 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
 >> endobj
-1600 0 obj <<
+1553 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 618.2933 324.0999 629.1973]
+/Rect [135.768 657.148 324.1 668.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-1601 0 obj <<
+1554 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 579.439 324.6774 590.343]
+/Rect [135.768 618.293 324.677 629.197]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-1602 0 obj <<
+1555 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 540.5847 385.0002 551.4887]
+/Rect [135.768 579.439 385 590.343]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
 >> endobj
-1603 0 obj <<
+1556 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 501.7304 290.3566 512.6344]
+/Rect [135.768 540.585 290.357 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-1604 0 obj <<
+1557 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 462.8761 302.527 473.7801]
+/Rect [135.768 501.73 327.447 512.634]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-1605 0 obj <<
+1558 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 424.0218 331.3029 434.9258]
+/Rect [135.768 462.876 322.994 473.78]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-1606 0 obj <<
+1559 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 385.1675 391.6257 396.0715]
+/Rect [135.768 424.022 383.317 434.926]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
 >> endobj
-1607 0 obj <<
+1560 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 346.3132 296.9821 357.2172]
+/Rect [135.768 385.168 288.673 396.071]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-1608 0 obj <<
+1561 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 307.459 327.4473 318.3629]
+/Rect [135.768 346.313 331.303 357.217]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-1609 0 obj <<
+1562 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 268.6047 322.994 279.5086]
+/Rect [135.768 307.459 391.626 318.363]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
 >> endobj
-1610 0 obj <<
+1563 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 229.7504 383.3167 240.6543]
+/Rect [135.768 268.605 296.982 279.509]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-1611 0 obj <<
+1564 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 190.8961 288.6731 201.8]
+/Rect [135.768 229.75 346.237 240.654]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-1612 0 obj <<
+1565 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 152.0418 327.4374 162.9457]
+/Rect [135.768 190.896 406.559 201.8]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
 >> endobj
-1613 0 obj <<
+1566 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 113.1875 346.2366 124.0914]
+/Rect [135.768 152.042 311.916 162.946]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-1614 0 obj <<
+1567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 113.187 331.861 124.091]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+1569 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1597 0 obj <<
-/D [1595 0 R /XYZ 90 757.9346 null]
+1573 0 obj <<
+/D [1571 0 R /XYZ 90 757.935 null]
 >> endobj
-1594 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+1570 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1617 0 obj <<
-/Length 2407      
+1595 0 obj <<
+/Length 1182      
 /Filter /FlateDecode
 >>
 stream
-xڵ[mo����_�o�p�z�_��@/���\��E�^#ѶPK�Qt|���%��R�v�D�?H�3���3;;\�	�?6qtb�!NH=�����
~~s���3�?���9��A��#Ns=���5hFg|r����6�1J���ロθ��o���Sv�7W?��������a�5��v����o:��WJh��~��ot� �~>�D8�&�pA	s�OVg��p�xv}��NOs�~`���홐�jx��� T+ٍ^�h�j"���N����jwL��S\�I�p`����2I
պow��m��B�%�1�o�����؅ ��0��]��2u������x���/�����c���//ߔ���|��YU��ן�U�����mu����w��T�K�;K$e��P%�J1
@�����P�����x<�q9�0n-�qsG�qv�����n��QG�����2z�)o���c[���k>�!8�7���R�	��d�(C���
Ȱ/�f
H@�Ah+�F�#$��P�
-$@���I�7<��
�_H�]G��1���TȐ�(h��A���{'V�}���u�a���r�5�]�U�~ ��3�b���ZY��s���T�0�����A��.���ґQѱ�1�N��Պ�9�T�w=�@j%K��j�9?N�ւ„+�!9����<�u��l�~k�]�
��5j*}"�rz�G�o3�:<�q̜�R��8��q
��T(����Ha
-�i�
�c��{�Ǡ9��@/��w?]�^���GX�ws3��L%
X�Y]Z
��q(l�B݉E����|�Rr{�6�E��TQ�����淫r*US�ܷ	|�\߷pon��
���p!�	��Җ�
�N
{�0v�n {�n�}�#���0�;��m�	L�C����8
-ʕ �9��<��T ��(9l
�<%�9����p4F
-ShL����E��3<�izQ4~����!���ŋ`/iS�8��^�_��XC�q���٣�דƶ
Vކ(Kez8��
f�(��:d��H�>�E��X<�!�/�wSf�� �
;�y[�l�hB�36�~��D:F(�X�C+L0�ҳ�fH��� .
�
yu{��T2�D��,��H���
-��� �w�Xlx���/8��+�"��Sv>��D(�u>:1
���z�v;��v��
�Aoڅ�^���W�}��
�y(���i^J�m<e{Ӽ���s�(4e�9��҉�
�bV��>nc���(IO�:�L@)�x�p^D
-S�H��x�Ex�3<�iz��������U^V���yV���=
�ĉsA
=��S�Ra�6l;�^7���uI�v�C]2�h���&*����"_w�b��;La
D��AE(�X�C�+L��г��ʧy5d�o�
-�c9��V
�a���� UO��d��V;e�㰋/�q(�)aJ`�N,*y��
-	��9���D�������!
aN�V�R���@<���� ���A<����}�#r=��@/���C=cD�
Y2Hܷ"98sTso�J
�A,.�9�C@�1�CE�8S'����5�:1� ���� =�H��[
��z����0��d��O�J�](� j�W��ؗ&��#�;7�Xi�)��;��`��N
w�0��ܱ�tv�
��zǽ�G�;'�q����
A��]��e��A�xU��{����O"�ԉ��h���}�a8���ߍ{B�Y�Ўm~��Ņ �(v���s
-yT
-��A
gx�0��ݎ�]��=�c�va�e�/�${���LG�Äi!��\�SE��S�bъ�.��K>Ϸ۬\>~>j�%Ŀ�9����Z2�
Չ�Ў&���
���MC�ox�zQh��g�V�u�j�faO+�ݙ��ާD��C�Yn�U�L��!�8=.�!L�`=�N����&�o��#�WWo�����	-�rA�^�����ewX:��e�Zn�	�&9�k)�f/�R,K�HE8[
C���]�#��M�:��m^�#�4D(�FS��
%�h+��w�
�'�\R�����q�O���Ž�ub��sS<���缊��e�Q�����챦˧�ݎ-���0{|*eN�LAH��(}�ΟHa�@i�
�b��z��p(��@/ʢ�U�}�}�/Z�{�ˌuv<�X{l�5ߣN��S}�S�z��p-��8mh눔
����R��`yڼ������Ng�9L��ɶʫ�bq����L{��?���B9��n��h)L k��~��������j�2	�l|��.v��y:����?45Xl.����?M�:o��.[?�F�?c�ɫ���\���%����:���U�a�����&��?�����Y�D�Z&�@��CUm./.����| [...]
+x�ݙ[s�6���)x+�Ʋ$O�3M�d�ݤi���ɎG�fʭ����WB��؛�v.N� !����H at m�A�s8��NlS�gc[�5j�� �Hڍ�dt�P?����b��4���ɫ��d�����uLG���m��ˠ�O�@
U�8&���s�
jo��A`z�6�zŚ�M~�����
X[-%p�Rm`���`@�Hso1&���s�M�p�2��e}GX�OjӮ�>b&�":�c:�L��)
r:��r�?����������ex
!�i����4�h��>�N
���l�fc
l
k]d����%�2-i$O���(��ɤnI�Q"��Ek
+�K��N��O��#Z;���x��^��ϙXP�c�������a#�Ɯ�=�[�e�d
,yd��!ńJ�BH5�;��
+�wqʆ��H�4<e��E�
�4v�5P
U!R�V-#V��/�<d�I�E�4	�����V��HE�,��-T0W�-q���}��0t{T�{]V�g���<
E,�V
���=

� #���u
	�„ќ�!�v)�Ot�Hbq�Dv&o
+���N�0x��Ҹ�N���	��0�3�*���"��ף�P��d�W_Ͻ%sq�
+l���O�ϊ��a�𿢶۳���v�պ����G$�� ���q0@�XUV�(��@ ���q�Β��l�D?P�`�����AD=����a`�65K�l��3�"
�[���q�ʟ�
+��7����T$.��~NEKu8��n@��N0d[��닆
�	����!K9�<=I���&��	4{j����)��:�����@�5c�|�m�q!p����H�"
�c��X�#��HQ�k����=d�&4��!`��{i��\�%A�&K��U},&�Q�_Ǵ��m0���v��	��?K����߂c�f8�9�-�&0M�]�����/{\���Z�hm���Ps��bVN��{{?S��Ց��4����(Mxj�������n��	/e��o/��Uᬀ}4�/�'5F�x�����[
+����wq�@��PU!�i��)asÑ��?	���ç+������U�j}����H}���0�k�4��\#vm��P,/"pUQ�3d��
`tM��}9��5u����C����m�yZ�Y�כ���/�,	�
�e/ˢ�����i
��&Ns�jv�W�+"�
 у
+endstream
 endobj
-1616 0 obj <<
+1594 0 obj <<
 /Type /Page
-/Contents 1617 0 R
-/Resources 1615 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1465 0 R
-/Annots [ 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 1636 0 R 1637 0 R ]
+/Contents 1595 0 R
+/Resources 1593 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1425 0 R
+/Annots [ 1568 0 R 1574 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 1592 0 R ]
 >> endobj
-1619 0 obj <<
+1568 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 719.9123 406.5594 730.8162]
+/Rect [138.538 719.912 376.692 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
 >> endobj
-1620 0 obj <<
+1574 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 681.2391 311.9158 692.143]
+/Rect [135.768 681.239 312.483 692.143]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-1621 0 obj <<
+1575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 642.5659 294.7803 653.4699]
+/Rect [138.538 642.566 357.315 653.47]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
 >> endobj
-1622 0 obj <<
+1576 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 603.8928 305.3006 614.7967]
+/Rect [135.768 603.893 327.437 614.797]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-1623 0 obj <<
+1577 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 565.2196 267.1042 576.1236]
+/Rect [135.768 565.22 294.78 576.124]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-1624 0 obj <<
+1578 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 526.5465 318.5767 537.4504]
+/Rect [135.768 526.546 305.301 537.45]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-1625 0 obj <<
+1579 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 487.8733 306.4067 498.7772]
+/Rect [135.768 487.873 313.589 498.777]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
 >> endobj
-1626 0 obj <<
+1580 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 449.2001 345.6847 460.1041]
+/Rect [254.544 473.343 273.474 483.248]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-1627 0 obj <<
+1581 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 410.527 331.8606 421.4309]
+/Rect [135.768 449.2 306.407 460.104]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-1628 0 obj <<
+1582 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 371.8538 376.6919 382.7578]
+/Rect [135.768 410.527 320.793 421.431]
 /Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-1629 0 obj <<
+1583 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 333.1807 312.4834 344.0846]
+/Rect [135.768 371.854 267.104 382.758]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-1630 0 obj <<
+1584 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 294.5075 357.3148 305.4115]
+/Rect [135.768 333.181 360.28 344.085]
 /Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-1631 0 obj <<
+1585 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 255.8344 313.5891 266.7383]
+/Rect [135.768 294.508 302.527 305.411]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-1632 0 obj <<
+1586 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.5439 241.3042 273.4737 251.2094]
+/Rect [135.768 255.834 318.577 266.738]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-1633 0 obj <<
+1587 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 217.1612 320.7926 228.0651]
+/Rect [135.768 217.161 345.685 228.065]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-1634 0 obj <<
+1588 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 178.488 329.6446 189.392]
+/Rect [135.768 178.488 371.159 189.392]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
 >> endobj
-1635 0 obj <<
+1589 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 139.8149 312.7882 150.7188]
+/Rect [135.768 139.815 389.978 150.719]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
 >> endobj
-1636 0 obj <<
+1590 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 101.1417 371.159 112.0457]
+/Rect [135.768 101.142 356.763 112.046]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
 >> endobj
-1637 0 obj <<
+1592 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1618 0 obj <<
-/D [1616 0 R /XYZ 90 757.9346 null]
+1596 0 obj <<
+/D [1594 0 R /XYZ 90 757.935 null]
 >> endobj
-1615 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F11 411 0 R /F67 366 0 R >>
+1593 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1640 0 obj <<
-/Length 2098      
+1613 0 obj <<
+/Length 1180      
 /Filter /FlateDecode
 >>
 stream
-xڽ��o�F����zNB��}?��i�N��9n�4�A[��V"U�����oV�]�!]�����Ώ�;�`�G&O�P�0.'׫#<���?
���1�?n
|wqt����rr�y�A$(�����S���`������
-<}�7w�M��N�:�>g��T+����~�xs��"�m�Lk�ϣ_Ó9x��#f����	F�:Y
q��������
wc����q,�fzr�8���!D$�
�wj���~L(2���p�0b(h+�Kę� f#��Rя
��l�V8��Rv	GKٵ{��6��a&����
�[�M#s�v�˧\�.�͈�f�*�<+�����.�.���zx������U�(���y>���ea�=����j�)�Xkp�����
Qfx#��˥�+�C
#HS,���ĴFF
��A
1�s6����#��4i
��|��o�F
�
-,1����b���fy{��f\L���/�y�\�o`�@⼽����r�?�U�7A�)�Nҙ�o58�y��;h��
-<��9��
�#�Q*��02�cK��V�1a��رDZkx
.
�&q|_F)�ԃW3�� �W��\#�œ ($bD��^�oC���=r]�u��@L@�?f�� D?/�Ư�0�_�n��m7�_��>��]�M��ܬ�r��H��0�n�wTE�� �kxl�wh�
q.���hu��'�XGrM��L������b�̆���g��|ޡ���s��}��+_��n�i�d��g�M�� 	ؼT����jq�����8h
�{p��ך���+�
ަ匊�}^�ɮjK �����]Z��q�������LPx�C��O��P�`�J^�KR	��U͆����]�p!+ ������j\��l�)(^Hr��
H!8�F�T^,MUKa
����U�n���}Ȋ�0Лd��wg��)`en [��n�q��B�
F
{�|g)A�	���.�ʻb�3xa������~C at Sv����
z
9�;XB�\fBLǓ�B�5L����
n�j�~�
��l�o��u������� [...]
-	 U#
#J ��z�� p
�	���
����C���Oʻ�4�a�;`tm��
--�O��#U�
)��z�F��63ž��p&��S]� �����X����o��#�;������֍M=8�`=D
��^
-XS)�$I
[(�D���:+"�֙��m4����K�F��AxT����(Ұ)�n s�Ӯ�;��̈��@$ÃX2ã3<a�gx��?��H�9�i�"=����Sn
�n��go/y}������w/�|8�����$
� �p
����
�>�
��8$��:"��?��w��*�VWy�ہ{��w��,�`�1��'\<㻞�`c�چ�4	-�1�v	m�{��1�	q7z$���M�:� �p��}5Ѧ�G�N�!���C��uQXO��
-%�ψ�n����(�$
-m�v=
-
�i���@!��@o��׿�ڃ
�!�ہ�I��J�Aa�d���1
-��d�A�ζ�
A�C���ӗ�&��
[O�0��SH	.R\x�4-�1.�vm�{p�1�q7z�\|��bf���
Na#��h8�T�ʹm}��1��H|�z��#ƅ{�˜�U^g�(� �[�o��

p�a�����{����y�=s_�R��6-���]sX.�l�7����,F�
���\��v7E�>�a��@�J��ޖ�x3�B�Ԇ>��L�l)I�sfKr�V�6a�s۱��k|nn
���
�
-�Ɯ�x�T�<�(F{��v������
c`0��a6�m_�CP-���̪�Eο�v��m
-
���
�w�?
�&��
-���~`?���
�SL7�	kS���vhs�{�͏]cԝ��ɫ��y�	|�wY�m���bU������	� �*d���
-3�Q��m���?&��V���[O�6�j�v�׎����/NN�������u���z�<�
M  �t��O��҉<���!��K��ɪ�r߰����ޕ��~���@WG	endstream
+x��X�n�6}�WۇJ؊&%Q��(�m���\\ǻ}H�l1�Z�*�1ү�H$��4�8i�>�6͜3���9"�c�ø�?�
�г=4�F!A�G1�)���15-J1~~�޴lF��(�/�9��A.xu
͚e�;��9��q�p���G�-�V+��04�z�_�a��Z�Rrm�]�~�e�Cck9#+�S�a�	�O	�ԕ�_�6k��ϡK��3�4�ku�X͕��V�qlhRfDUM�Ezw��*��$�*����ԡH�4���x���x2�
+��Fo����@!
^њ��ٰۮ8�?Hxl5m��:�u=��Ok�n��#�F<�ͣ@�A@�E]
�
+��b�Ծ�ee��Iu^�.3���Fq-G�,�$�֢jQ����k��ukXX��=׆��!}]*8p���[ �!�
s�L��b�3/|
O4��u�~�����Z�ቜHD�i��bM(^�V
+7�(�{�]-x�iP�Dv �Y
�͌%�j���Q��
���NG��%!�p�ɢ�A�}�`�Ix.VYY�WG]�|��iTs+mI���Ȁ�7{ц�x8y�+0�}���r6e8�Px>Y	lD9dP��>�.i��X���&ɏ��IS��9��
pj+W���O�E
kp�
c�Ę7�*pU��k��9�M�禪<	�
�)').��3�Cyk����� YPU)S��E�K�~����p��GK�����\k܁�����U$��ޕ��4�$�
�/�%� �{V9��@�W�ع�D�q�(�{�w+ /k-�]�As�c	�r�k������Kh_,�����Gbox2�|8���MN���G��!�WO�/�~���x-�)�6:I-ץ�[� ;Z
=���v��
`���
�F���d+L;��R�
%uW��M�^
��c3t����9�
��
+YS."9�`�y
�B�I�`���2T�
���WU�]]�Ji`4���R�I�R]�zr����P�v�(3�~��f�G���X��,���7����ۘ|Gp󻢬8u�=�
��zT%��+��n�C�o����<�?��O��Ї2%�0�3�y���G-uۣ~:��G.>ռ����T�q�H�1W���F|^t�`e8���~�5yҽ?���Ҕg�b�M�.TO�Q������j�ȓ�‰�e���V�k�͗M�as�3{VT\�`��E�+R�����;
+endstream
 endobj
-1639 0 obj <<
+1612 0 obj <<
 /Type /Page
-/Contents 1640 0 R
-/Resources 1638 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1465 0 R
-/Annots [ 1642 0 R 1643 0 R 1644 0 R 1645 0 R 1646 0 R 1648 0 R 1649 0 R 1651 0 R 1652 0 R 1653 0 R 1655 0 R 1656 0 R 1657 0 R ]
+/Contents 1613 0 R
+/Resources 1611 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1425 0 R
+/Annots [ 1591 0 R 1597 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 1610 0 R ]
 >> endobj
-1642 0 obj <<
+1591 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 706.9608 389.978 717.8648]
+/Rect [135.768 706.961 419.706 717.865]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-1643 0 obj <<
+1597 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 668.1065 356.7633 679.0105]
+/Rect [135.768 668.107 329.645 679.01]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-1644 0 obj <<
+1598 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 629.2522 419.7065 640.1562]
+/Rect [135.768 629.252 312.788 640.156]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-1645 0 obj <<
+1599 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 590.3979 353.7639 601.3019]
+/Rect [135.768 590.398 353.764 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-1646 0 obj <<
+1600 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 551.5436 303.4776 562.4476]
+/Rect [135.768 551.544 303.478 562.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-1648 0 obj <<
+1601 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.1066 470.7811 327.9556 481.6851]
+/Rect [160.107 470.781 327.956 481.685]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
 >> endobj
-1649 0 obj <<
+1602 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.1066 431.9268 173.7253 442.8308]
+/Rect [160.107 431.927 173.725 442.831]
 /Subtype /Link
 /A << /S /GoTo /D (namespacestd) >>
 >> endobj
-1651 0 obj <<
+1603 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 352.1406 251.7824 362.0683]
+/Rect [145.731 352.141 251.782 362.068]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ge19dfe022c51c874d905e2a7c81c18f1) >>
 >> endobj
-1652 0 obj <<
+1604 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 313.2863 251.2245 323.214]
+/Rect [145.731 313.286 251.225 323.214]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g8458e58a5e857de11c35ce3076a70ab8) >>
 >> endobj
-1653 0 obj <<
+1605 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 274.432 264.5047 284.3597]
+/Rect [145.731 274.432 264.505 284.36]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gbadfeba0a415d210cdd6d7309365e800) >>
 >> endobj
-1655 0 obj <<
+1606 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 235.5777 243.1052 245.5054]
+/Rect [145.731 235.578 243.105 245.505]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g7a529f51bfebdd4b3e69c866dced9bc1) >>
 >> endobj
-1656 0 obj <<
+1607 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 185.7645 213.038 195.6922]
+/Rect [145.731 184.788 213.038 195.692]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g79bd3696a302bb721ef8168fa5d650fb) >>
 >> endobj
-1657 0 obj <<
+1610 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1641 0 obj <<
-/D [1639 0 R /XYZ 90 757.9346 null]
+1614 0 obj <<
+/D [1612 0 R /XYZ 90 757.935 null]
 >> endobj
-1647 0 obj <<
-/D [1639 0 R /XYZ 90 487.8521 null]
+1615 0 obj <<
+/D [1612 0 R /XYZ 90 487.852 null]
 >> endobj
-1650 0 obj <<
-/D [1639 0 R /XYZ 90 370.1382 null]
+1616 0 obj <<
+/D [1612 0 R /XYZ 90 370.138 null]
 >> endobj
-1654 0 obj <<
-/D [1639 0 R /XYZ 90 253.6947 null]
+1617 0 obj <<
+/D [1612 0 R /XYZ 90 253.695 null]
 >> endobj
-1638 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R >>
+1611 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1664 0 obj <<
-/Length 3082      
+1671 0 obj <<
+/Length 1314      
 /Filter /FlateDecode
 >>
 stream
-xڵ\�r�F}�W�m��r<�K�
��*�%E���MR,Z�eVDJKR���߷� FC
0
Eq�A�x�}p���s�ـ�?6pt`�!NH=�^
��-�����
����������8��`�igA3�8���/CG�h�(�������Ó���q~[���W�b�i~�?Z#�P��o�&��b��f��~��n�ݏ�g��
|��9���E������`��bwA��)&��
�j%vw7
9��P��6m�)%�R٭e�yS<�ƨ&RX�d����s���(\ŁT�c at a~�$�j��w[�g��6���mBÀ6�6X�oַ�"�S�1:M�������|������~.n������z�����7�e��,�W3O��RHC�d,/��(�<MPC����X� ��rsI�����H����ȁ�������P�� ��
�^�J?ܮ�����e$��v����򯻻����~]��
A*�M��.V�գ{(�
~
:mHQ�0��H"�QϿ}Q�=��)֝��
Y�v&	
M��`&	�u��}F��� �Ӵ�&��Xޯ��J�mi��:���C�񗤁�DSΰ4�a�4
Jy�
dm������$�PDK��eRpN�cK��'Ed0�y�!)b�{Iq~~2;<��ys|x<9�Φ?�O�����*�>��
	x�^j͒�{ ���WJ����Ur��y�X(���	�㓱X�԰8M�w�����|���"}5_�
�~.�ys���_��<�>�ӝ�ib�u/���Fk��#QN���d��,���Z�/%��929`h�e=>��α=��k�W8h�%k��
jj<� ����E�y�Kr�M��*/L@!���Б��b���*A?����[�>��R�PI>
�N�.޿>IT�0�0>cb�MQjP�Vb���{��	b��=%	p�w�*.��d�8̚�k	d��*@yV��VE����=	p�w�j�"c�Ǐ0=f��(�v@�-O$��i�]*b
T}h
�]��ǰ���i�U-f)1
-�B�N�s��c��=Bh�S��2C��yIjB)��.H]
��0tA��-2��*`=9M�+ň�B5�%�}�BH��ڋ
�e��&��O���3�&��df�yM
-!�Z˗���<��}b����'�f�Yi�Մ��E��J�2�&��f�i�J��O��	�T��Ϸ��E	(�Uj
�6ƯkZѿ�D�M
��Լ?>���
��9>=���
-�*�kpM�P��Z�@BS肘�+P�c������:븄�VK��ug#�X}�\�99	5�g�#�2�i��
�X5j
�Z
rb�=Ơ	7
&V�N3�V
s���c�'�3����(�O@!Sk�!*9L�{����n����0��k���b����
-
-s��.�F�cX�3N�!eLP"�yF�]�+c5����
��4]������ �l�jB-���:�n��.sݰ�#�?Lg�Ӌ��黤��*™tyY
-�Zk� 5�Ӣ�0��O��S�LZi]�z�*wt�a��Ʌ_�>K�qۡ���т[�:��
-5�am�x�Z{DiF�2��4��Z�1���
q�|�����L
���UID��Bإ֐BD9��?���.���S
>-�pg���6x6#�F!�Rk�
��^�'���ݞ�?;J
��&�f�5��&�F���ݗV��jW'��2���@8�7w;v�j�8��-A6��W$ht4g�ᴻ"�x�}�nϸ�����"AS%�iV��Bإ��II�����
2)�z�	�
:��Q�x�hR�*B/�ֱ|m�.��N���v{�s���H�����Z�5:�N@!�Rk���S�����o�}i]��򴜏��f��,EH��shb��	e�cK�B�cX� �X�O������!��~�WV�X�>�>.
�҇��P���8�T��1�%ykHe��e��]��l5���W�gG�ó��iף�e4��V�r����j�O�];�~q�h��C��̡� +ղtx��,>��������e��?
0��xq?�#N���
֧q������.��Cˇ��n_�󴀠�X*��2���c��
�ޏ
f���u���m�ޗ�Z��;uj<� ��o��?�n����b��1H
--��B��9*�>�?�ef
�8�M�c���6�F���hvTU�&Y�(Q�!P��Z��r+`����2� �5�
-]��K_ 8g�A39"R�r����� J8�W����'v����[�&m-%�T��'��ҷr�8D�����穥��7��|!Y6哣�Q:�C���|#�dW#Y��1�mt�Z�|,;��;�}��
�Ȍ��	�5�>�]���.O���
����v�[�Ϝ�k��{^i��
`�
̍�y���~�GpFt
����oZE��Q´-V��d1��˖��Bh¤�y�
-a)$�N�4�N:�����j���.����1̞.'��wN�h��K�!�7g��g�Q�䂷���Lޟ���\�DB�lz�_��Q�V
��\r�Ϫ��B�3�~��wI�l�Jj
��-V7���M�
�n:��q[ͦ�7��/���(v�y�E�AOǹ��pZ�,hm�
jZR#s���wZ�d�4{�y�i���y�M�=N;����������trB	�0,�M ��	Ρɇr��>�̴&B<ck=� �dj�����r6�G�κe�Z�
[v
v(�Yj�}5ow���s?a
q���'�م?�
-��ʗ��lx
�"=�5y����XÔ$�r�?z�
r�S��&'�M�����e�١v����t	Y�'�1��]T����#��p:�@#IQ�ZeV��Bئ֐H�H���%� I5�yb��#?��ڲ�dRX������u�-��=
-x�}�.*P=eF���SiY�
-a)-�yB�}��m
㠩�/Z�mdڼ �͜��z9t7�gZ6h��p/Y�Vв����
�ʼ��=(_(���-��� 9�z�� %�3����@��:���ȡ
���զX�m�԰j���W�����RE��M�M��R�����txY�� ���L�����A�ۻx���`
]Q�Gh��M��{���>|��՗/_���<�k�ؾzx�{�n�S����j>��p�S�o
�z�%,�,����d��}O���-T��]�?endstream
+x��Y[s�H~�W�P�`7w�Q�:Q4�ٚ�LQD;�ApSnj��vӠ�/�[e���9�w�x�̌�M��hvT�1CU�yb
�h*2Δy`
r< ��O�8^T ����ʛ!z�
=yr�k�ƪ2����0�Ɵ
�� ���&h��L���w�L��/
$Cg^ҷF%|�3v�z(JP��i2�^�)z�S���fGo�AU�%��EQP��DQ��<�
+�5�x4����I��&�ea���!֋�
.��g4�<��?F^�����
+c�w�^���h"�c�U��L|�E���`�2��:�n�0�,DSz�c8��(�dN��ҳ�EDO"k����0��Y璪�O7
�B��;�X�L�,��Kq��$SG�Q�����N�O�|8칭���t[]�r\���<A���
+�
 q��ϥ�7���@/�b��z����%Ylå'�(Է�~�w���! \=dI�J��y	�'�<c� �ūyR&�^?B�Y50�
+��v��}˵��u�`���c�%Q/u{�!�R^�؋ɓ!�=
B�P2����c���{׼��j��Zf
?!TK>
�.��{z���۫jeq�k�m�ku�V��Z'�$E-W�f&8
�9������װ+�riP��q1�c�g8�ݣC���E���Ai�XT��qmg䎭ۣ��N�����{�sDZ��y�	�ܽn���2� ��1��J6� ��:�;t�O�-�{T�
����c\�e�
پq*`
R�j!�G��E+����J�d ����և��0XI�1n�ڸ����h�|Ј��ʸG����+9
w�q�?��w�L�w�`/k����h‰���A�tf�/�� %�$�*I܋-J7�*,���bN��m�Q�
~=;�kc��\��yS�v.T35
֩KR��6�-4�C�����,4�% ��l��d��ƳM�%�l��f���]uO�lw�x �OYv���Z�a��3��&r�9
+���
��+c���m^,����]Kz��~8-T�)ݟI��+�'�j��'��$��(��T�*���in��:x\�/���:���%Y�*�Fd��mjl
[��u��
+܌�kB�:��P**�c��"���e�P'V�,g�-�4qK&X�S��-@�ꗂ�
���`h��}!P
Aɷ�|Wp�Lv�ӓ}֠
ыq��_8Ea�����U���
(�/��x( �-#%�

+
/a�m��D��~0��-�`T�8-I�:y�:��$˫f���E���*��'��r�|�ոE�X
+,Q���
�f��
��tX� V��
+endstream
 endobj
-1663 0 obj <<
+1670 0 obj <<
 /Type /Page
-/Contents 1664 0 R
-/Resources 1662 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1722 0 R
-/Annots [ 1667 0 R 1668 0 R 1669 0 R 1671 0 R 1672 0 R 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 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 1708 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 ]
+/Contents 1671 0 R
+/Resources 1669 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1684 0 R
+/Annots [ 1608 0 R 1609 0 R 1622 0 R 1623 0 R 1624 0 R 1625 0 R 1626 0 R 1675 0 R 1627 0 R 1628 0 R 1629 0 R 1630 0 R 1676 0 R 1631 0 R 1632 0 R 1633 0 R 1677 0 R 1634 0 R 1635 0 R 1678 0 R 1636 0 R 1637 0 R 1638 0 R 1679 0 R 1639 0 R 1640 0 R 1641 0 R 1642 0 R 1680 0 R 1643 0 R 1644 0 R 1645 0 R 1646 0 R 1681 0 R 1647 0 R 1682 0 R 1648 0 R 1649 0 R 1650 0 R 1651 0 R 1652 0 R 1653 0 R 1683 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 1668 0 R ]
 >> endobj
-1667 0 obj <<
+1608 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.0118 697.2473 348.7373 708.1512]
+/Rect [172.012 697.247 348.737 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-1668 0 obj <<
+1609 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.0118 658.393 360.9016 669.2969]
+/Rect [172.012 658.393 360.902 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-1669 0 obj <<
+1622 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.4548 619.5387 421.5541 630.4426]
+/Rect [264.455 619.539 421.554 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-1671 0 obj <<
+1623 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 538.7762 277.0768 549.6801]
+/Rect [138.538 538.776 277.077 549.68]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-1672 0 obj <<
+1624 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 522.836 288.9724 533.7399]
+/Rect [113.91 522.836 288.972 533.74]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a896b8890edb38e9960c455aa178e508ba) >>
 >> endobj
-1673 0 obj <<
+1625 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.743 522.836 429.25 533.7399]
+/Rect [292.743 522.836 429.25 533.74]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8b30277f972f730fe26f6cfc39098cc77) >>
 >> endobj
-1674 0 obj <<
+1626 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 522.836 513.9963 533.7399]
+/Rect [433.021 522.836 513.996 533.74]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e704947d33ff1b60a2475950d5f18ec3) >>
 >> endobj
 1675 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 510.8808 176.7741 521.7847]
+/Rect [113.91 510.881 176.774 521.785]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e704947d33ff1b60a2475950d5f18ec3) >>
 >> endobj
-1676 0 obj <<
+1627 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7629 510.8808 318.2922 521.7847]
+/Rect [179.763 510.881 318.292 521.785]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) >>
 >> endobj
-1677 0 obj <<
+1628 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 494.9406 252.4397 505.8445]
+/Rect [113.91 494.941 252.44 505.845]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8d5e386c6a05c9656eac42fe9e2cdd8b5) >>
 >> endobj
-1678 0 obj <<
+1629 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.0184 494.9406 411.4419 505.8445]
+/Rect [274.018 494.941 411.442 505.845]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8c77955fc77a169347da8820b46c3247b) >>
 >> endobj
-1679 0 obj <<
+1630 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 494.9406 513.9963 505.8445]
+/Rect [433.021 494.941 513.996 505.845]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a86c817c11198882f3864d8ace4ec326dd) >>
 >> endobj
-1680 0 obj <<
+1676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 482.9854 176.7741 493.8893]
+/Rect [113.91 482.985 176.774 493.889]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a86c817c11198882f3864d8ace4ec326dd) >>
 >> endobj
-1681 0 obj <<
+1631 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7629 482.9854 324.3794 493.8893]
+/Rect [179.763 482.985 324.379 493.889]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80d808c2d0d6514c33e06445d7aa34270) >>
 >> endobj
-1682 0 obj <<
+1632 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 467.0452 326.0431 477.9491]
+/Rect [113.91 467.045 326.043 477.949]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd640c30f757e4ecccd08ac527536ca6) >>
 >> endobj
-1683 0 obj <<
+1633 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.975 467.0452 513.9963 477.9491]
+/Rect [359.975 467.045 513.996 477.949]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a7ce2ad16ee907ff9d31eeb1cda41834) >>
 >> endobj
-1684 0 obj <<
+1677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 455.09 170.3982 465.9939]
+/Rect [113.91 455.09 170.398 465.994]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a7ce2ad16ee907ff9d31eeb1cda41834) >>
 >> endobj
-1685 0 obj <<
+1634 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.7179 455.09 380.1098 465.9939]
+/Rect [175.718 455.09 380.11 465.994]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8979f37a289d4cb316643f1dcc07ec7cd) >>
 >> endobj
-1686 0 obj <<
+1635 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.4295 455.09 513.9963 465.9939]
+/Rect [385.429 455.09 513.996 465.994]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a805e540f453fd070a4e4c0fdd887f4b7a) >>
 >> endobj
-1687 0 obj <<
+1678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 443.8521 193.6509 454.0388]
+/Rect [113.91 443.852 193.651 454.039]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a805e540f453fd070a4e4c0fdd887f4b7a) >>
 >> endobj
-1688 0 obj <<
+1636 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 427.1946 267.0349 438.0985]
+/Rect [113.91 427.195 267.035 438.099]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89606fc251d767040929d3e2645dbb446) >>
 >> endobj
-1689 0 obj <<
+1637 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.2238 427.1946 470.2111 438.0985]
+/Rect [275.224 427.195 470.211 438.099]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e0c660bfcbcd3d10c3e764e22f41d0a1) >>
 >> endobj
-1690 0 obj <<
+1638 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 427.1946 513.9963 438.0985]
+/Rect [478.4 427.195 513.996 438.099]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) >>
 >> endobj
-1691 0 obj <<
+1679 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 415.2394 257.1721 426.1434]
+/Rect [113.91 415.239 257.172 426.143]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) >>
 >> endobj
-1692 0 obj <<
+1639 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.1609 415.2394 449.0511 426.1434]
+/Rect [260.161 415.239 449.051 426.143]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a1bf7bec2cb0d949e45c3cd0e25874a6) >>
 >> endobj
-1693 0 obj <<
+1640 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 399.2992 298.9251 410.2031]
+/Rect [113.91 399.299 298.925 410.203]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a85912e00d1de38a643d48af1f0e5dd35f) >>
 >> endobj
-1694 0 obj <<
+1641 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.9011 399.2992 473.424 410.2031]
+/Rect [303.901 399.299 473.424 410.203]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fda2f32e2fc3f61357ce0d9d7813f5fc) >>
 >> endobj
-1695 0 obj <<
+1642 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 399.2992 513.9963 410.2031]
+/Rect [478.4 399.299 513.996 410.203]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8930a62d56d7231cdb1ed57e1d3eff0f7) >>
 >> endobj
-1696 0 obj <<
+1680 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 387.344 282.6364 398.248]
+/Rect [113.91 387.344 282.636 398.248]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8930a62d56d7231cdb1ed57e1d3eff0f7) >>
 >> endobj
-1697 0 obj <<
+1643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.6252 387.344 472.3136 398.248]
+/Rect [285.625 387.344 472.314 398.248]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd1bad185f4622d07b171767dafc78b6) >>
 >> endobj
-1698 0 obj <<
+1644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 371.4038 292.9975 382.3078]
+/Rect [113.91 371.404 292.997 382.308]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a0f28596ac7d4a43766fab174c28ccab) >>
 >> endobj
-1699 0 obj <<
+1645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.9136 371.4038 473.4839 382.3078]
+/Rect [297.914 371.404 473.484 382.308]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8261922c7bb53bf71459671df868e55da) >>
 >> endobj
-1700 0 obj <<
+1646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 371.4038 513.9963 382.3078]
+/Rect [478.4 371.404 513.996 382.308]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80905d51325862cb4db00635875efcff8) >>
 >> endobj
-1701 0 obj <<
+1681 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 359.4487 346.0185 370.3526]
+/Rect [113.91 359.449 346.018 370.353]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80905d51325862cb4db00635875efcff8) >>
 >> endobj
-1702 0 obj <<
+1647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.4295 359.4487 513.9963 370.3526]
+/Rect [385.429 359.449 513.996 370.353]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8202263943c451b9fdfe003b2bc8d0b1f) >>
 >> endobj
-1703 0 obj <<
+1682 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 348.2108 250.8461 358.3974]
+/Rect [113.91 348.211 250.846 358.397]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8202263943c451b9fdfe003b2bc8d0b1f) >>
 >> endobj
-1704 0 obj <<
+1648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 331.5533 307.7917 342.4572]
+/Rect [113.91 331.553 307.792 342.457]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fdd3365de1a07c7f7bdd1dc330bba8f4) >>
 >> endobj
-1705 0 obj <<
+1649 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.154 292.699 312.7927 303.6029]
+/Rect [142.154 292.699 312.793 303.603]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-1706 0 obj <<
+1650 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.7958 292.699 511.5056 303.6029]
+/Rect [327.796 292.699 511.506 303.603]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2beee33de6f8542b0228161d044640eaa) >>
 >> endobj
-1707 0 obj <<
+1651 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 280.7438 279.7173 291.6477]
+/Rect [113.91 280.744 279.717 291.648]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2a57b0c1a34eced57ca8437eea92a4328) >>
 >> endobj
-1708 0 obj <<
+1652 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.5432 280.7438 473.2466 291.6477]
+/Rect [282.543 280.744 473.247 291.648]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb20f182c5824807f7bc66d2d2033810feb) >>
 >> endobj
-1709 0 obj <<
+1653 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 280.7438 513.9963 291.6477]
+/Rect [478.4 280.744 513.996 291.648]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) >>
 >> endobj
-1710 0 obj <<
+1683 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 268.7886 301.5955 279.6926]
+/Rect [113.91 268.789 301.595 279.693]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) >>
 >> endobj
-1711 0 obj <<
+1654 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.6697 229.9343 337.1411 240.8383]
+/Rect [140.67 229.934 337.141 240.838]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-1712 0 obj <<
+1655 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.1757 229.9343 511.5056 240.8383]
+/Rect [349.176 229.934 511.506 240.838]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e757308990edf84fcb94023ff4a7183bf3f8dace5) >>
 >> endobj
-1713 0 obj <<
+1656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 217.9792 260.7484 228.8831]
+/Rect [113.91 217.979 260.748 228.883]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e75730899c7753e1dd51e1b7b3fdfafa9f8332370) >>
 >> endobj
-1714 0 obj <<
+1657 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 179.1249 321.3604 190.0288]
+/Rect [138.538 179.125 321.36 190.029]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-1715 0 obj <<
+1658 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 163.1846 282.8854 174.0886]
+/Rect [113.91 163.185 282.885 174.089]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae556cc08f48e769b9c15bea83d5d883a1) >>
 >> endobj
-1716 0 obj <<
+1659 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.1221 163.1846 511.5056 174.0886]
+/Rect [318.122 163.185 511.506 174.089]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312aed8db7109fb4bb50360b05800dd245416) >>
 >> endobj
-1717 0 obj <<
+1660 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 151.2295 260.2405 162.1334]
+/Rect [113.91 151.229 260.241 162.133]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae3e4424ce8e7ebe86e125541b561fc300) >>
 >> endobj
-1718 0 obj <<
+1661 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.2293 151.2295 478.1918 162.1334]
+/Rect [263.229 151.229 478.192 162.133]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae079e4b80f17b0095497103a52cffa3ab) >>
 >> endobj
-1719 0 obj <<
+1662 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 135.2893 304.4644 146.1932]
+/Rect [113.91 135.289 304.464 146.193]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae94cf20719046117aece5acba61dcae4d) >>
 >> endobj
-1720 0 obj <<
+1663 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.4532 135.2893 478.8394 146.1932]
+/Rect [307.453 135.289 478.839 146.193]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae8191bdbdcd041a9859ed465d16062ab1) >>
 >> endobj
-1721 0 obj <<
+1668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1665 0 obj <<
-/D [1663 0 R /XYZ 90 757.9346 null]
+1672 0 obj <<
+/D [1670 0 R /XYZ 90 757.935 null]
 >> endobj
-1666 0 obj <<
-/D [1663 0 R /XYZ 90 714.3182 null]
+1673 0 obj <<
+/D [1670 0 R /XYZ 90 714.318 null]
 >> endobj
-1670 0 obj <<
-/D [1663 0 R /XYZ 90 557.75 null]
+1674 0 obj <<
+/D [1670 0 R /XYZ 90 557.75 null]
 >> endobj
-1662 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+1669 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1769 0 obj <<
-/Length 2317      
+1740 0 obj <<
+/Length 1612      
 /Filter /FlateDecode
 >>
 stream
-xڵZ[s�H~���2
����%o���56k��dg�(d[��I������iIH�Fʕʃ��s?�9݄�0�#=�{J(d�����
���OH�=��a������=����7}�q�	Jho���o
	Ƹ���`H�_y�ǭ���h��у7�K���K1�m���r��M�L+�_~ýh��#f��=�#b
�N8e�byrw򯜏��}Pg��
2���/��
a)xn���	��3�{9�����Vl"�����
+s�.��#��,����UE������v+zLin�d�]T�Z
&"�^��f�p���/"ov�G^����y��,}K�� y��/�8>T�AܹR��M9U���0Ąde%�:�!	0��X��
�|�|4�*�]ʇ`
-a ��J*w���j ���z}3
�]��oƓ�˟Gӯ�Q��p�F;�un̩�E��
UnV�w��ad�>��Ɯ�C|�og�ݍv���J�D��r/���}DA
�=i�A��GN4,P���Z�p1֐*%��U��w�>��鸳�-iŴ��׬�/9Q�nLk�?������
-I{
����#��$\$
-
�
`X`�SF�e$�9���ѹ�]~8��x�W�{mb��s�]~��U
Q�߯0��%������$%�6�UGc��:S�aKcꐛ5����Ƅ
���4���K�
-���$�*��K�p=�
����"&m\�|�SuhȌ@cQְ�+
�}Wj_����4
]�ƣ�
!����Ҍ(�6W�=��
��S
�d5ͨ­P)��P(���F�����v�����vq�W�Y��r�
9� �ؔ5l�Vƀ��Wak�G�fd�e��8��� ,��{��ZlYJ�T�H��ㆰ.�ud���(;@�@��E�� +5҄�m�ؔ�K�!��Mf�(�P�fw��l���HB��=�Suh�

$�e[ �8� �U|��wB,)C��돗gw�W���'o
�o`9����p�f���S�a��n�?�V?�CAj�S�<�g�
�|;��������;G��%�����ŋ��hH�pa
�A��rͨ�E��r9�V�	
ge�-Ś�w�?��=M��c�^lq�P�
��Q9U��
k�\�5m�\&=��kW�EK�ʨ��6��+?NW�o�n;�p����{��o~�ۛI�c_cޞE�͝� ���{�/C!#Ԍk������Y	Z�eN��,[%�e�ܬY����u��XL��p at Ey at p�o�9�H���
�Bc�4����
����fύ����_�M1�Z�[fӔ���*��J���N=�Zn�����]�3���6�
d����)�i��؇9@�
��f�
Ҋ�j�ɬ�g�=
�sZ����S�;����~�
���Icirr�?������89�H�a<�/�/�ă�Z8U/�x
N�jNBY�Dƍ�y�
��a�>��c寓��]�<��e�H��˦�_
-��Q�$~�0H���}�s�Ջ($)4e�ם����k�t���w�֬�����`�--���-
���	��*X/\�27v�a�v��"��9&��V��;�� �n���O�)֏K�,���5/L���G�� ������<~  t���"�o��O%�����y�Z���L�f_.o��T9�}��u�q}*8��r*���ô2�q�UI5&W���C����˂���Gי����?F�B��������>
V� J�bn���
ᝆ�o0"�MwR����%���`���?�̕����� ������
bB����D
��T&�Y5012%X��0���3��,8�{��q8��±ݴ�ž�)L����p�f�;wV
���"�D�G�ּ|H��PR���5�,vicߕ"�þ��/�NRh�{N���{�s����A*�>L����ai~��� 8�dSVT#S ����0ARxw��'
���g��I��ɇ���0��
�FM0E��L��1�x��Z��Q���)g`���
v�M�o�f�yY�X�i�c�q��{�]E!~��U�r�w�fNJ)��0qMvn�� �dh��
�&�R�,Մ�U��3׾ڛ�`6&�?6d��s��J�j�;��c�kgX��)�tX��O��np&J��Ҽlb�
�m�
��,h�EuG?��`��.���U�Q�ݵj�9S�
-�QZ1�
VS%J��;�ϱ�m ���co���}�8PhJi
�h+P����Ψ�9E��AT�An�?��韅�\�����U��
-_k�S�lޟ�>??�y���`� 9�l��u��b�L[�9QE����2�����C�T��9b?RWRH Ԩ��Nf�endstream
+xڵXms�8�ί��>����/�FrG��KH��������l�\ڹ�~+K
&䥝aƒ,�>��jw6n
l�V;
՚63<���6F7��
�&�Sb���G�C�� c��իz�rlv��v��
+5�D�Hn�@N]�9���Gok�Q�-� �T� �q#X�>~����1�5��]
â
�s��g
k�x)�[H	���\á
a�+��(U�
�E�Z�u�'���.�
���
�	7�dᏇ��~&��?�O�߼9�˹�;�
�����O�]= ��ߟ��!�1\dٞ� y\[�V?
t�@���?�uZ��٠7��wFv@���-�=l�U'��2�g���V��ak���+-��C�e�m[y0X�8
 [ȳ,
XqFqΙ��e*VӸH�D�*EoT��A)�-
+O�<�pc�~�+�e.�o~�ѸO�^�Iߟ��x��:�N��W�N1G�A�G��k�P���]l�iN�:;�[�T+
��K���=r{��x��`�b|���j?�Hߟ��8����v�s�m�s
�u
�����;f�u�tp�?o��Z*���T
��p$�Ok>�䇇�*
�H��F=��~�H�[�̉W�i<�*����HJ���<�]�a1D�F��QpF��r �SUK�P?VK�8J3�q4K�:��
T'S*���t�� ���J&�L�)�繤��U��xgv.^��?�)�OU��"JC	����1б\ey^H�$��
�!�ze�[��ġl�4��z�:�B��&œ/"ȞN.[�f���\d>�k���4HB�i��pԨ���)1�"
+�8ѣP΅������k��i��n
Z���$�2���	}%Z� ����J�"Y��>��%t��a�2��P��`�\�p��S�U��xU��h���)O�ޛ8Qo��4��)!r7�Zh�s�8����at;j�������/R�/��E����?84Ү=�����Z�6g��k����
��w��+���^���R-��P�]n�����8�z6)bz?�]5P�*I�c-_���N��O��?�~>~v
�e�]G�	O� ��LVa�>�?��!j�#�%%���
�Gg�4K��i;����6�f��ȴi�\�l�E�W��C��+��B�j�Ş�1!Sř�p���`VAT�V�����,_ʲ �+�|�2��{y
+�� �-��#���6���
چ�M
S2w��&�<�����Mr��*�x
��{ ����A��,���_�Z�$�f
+@�1�{>a��0p
�M'�T���s�M�����j��� ���Vs
�i{T���Z
��@0Ea��� �6_�V)�H��B��o��`5_&B�Ti��7�K�K�Վ�odY.0���S�s=�1�b��Kb�~���!3��!��cv�*�]��GJ��
ʺ��`A�+�6�2�\B�V���A+�*揷�1�
+���J��H��y5��Ж��ı.�զ��k�J[˭��?|6t��}�|�z6
�y��
���|�>�ѼNE�k
��n8{~����
�ӼUYtS�+T3yL!c2����SY����(F�r�7�)�����̲l��ټ��CA�VQ�LP�5��ys����B�6�k�MA�bӑo��=���y_
+endstream
 endobj
-1768 0 obj <<
+1739 0 obj <<
 /Type /Page
-/Contents 1769 0 R
-/Resources 1767 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1722 0 R
-/Annots [ 1771 0 R 1772 0 R 1773 0 R 1774 0 R 1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1788 0 R 1795 0 R ]
+/Contents 1740 0 R
+/Resources 1738 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1684 0 R
+/Annots [ 1664 0 R 1665 0 R 1742 0 R 1666 0 R 1743 0 R 1667 0 R 1729 0 R 1730 0 R 1744 0 R 1731 0 R 1732 0 R 1733 0 R 1745 0 R 1734 0 R 1746 0 R 1735 0 R 1736 0 R 1737 0 R ]
 >> endobj
-1771 0 obj <<
+1664 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.9257 719.9123 358.4741 730.8162]
+/Rect [171.926 719.912 358.474 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-1772 0 obj <<
+1665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 719.9123 513.9963 730.8162]
+/Rect [433.021 719.912 513.996 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc171c9b0459dc8ba8cc0c8178b6cf4f017) >>
 >> endobj
-1773 0 obj <<
+1742 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 707.9571 285.3561 718.861]
+/Rect [113.91 707.957 285.356 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc171c9b0459dc8ba8cc0c8178b6cf4f017) >>
 >> endobj
-1774 0 obj <<
+1666 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.0027 707.9571 513.9963 718.861]
+/Rect [350.003 707.957 513.996 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc1b39e3c667ce455313f8ff578722af2e9) >>
 >> endobj
-1775 0 obj <<
+1743 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 696.0019 180.1017 706.9059]
+/Rect [113.91 696.002 180.102 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc1b39e3c667ce455313f8ff578722af2e9) >>
 >> endobj
-1776 0 obj <<
+1667 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0905 696.0019 386.9246 706.9059]
+/Rect [183.09 696.002 386.925 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc140409716eac06f7ee5c44a200d3702f0) >>
 >> endobj
-1777 0 obj <<
+1729 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.4815 657.1476 363.3624 668.0516]
+/Rect [169.481 657.148 363.362 668.052]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
 >> endobj
-1778 0 obj <<
+1730 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 657.1476 513.9963 668.0516]
+/Rect [433.021 657.148 513.996 668.052]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d654324bf568397fdfc332a4c06e7a4facf5) >>
 >> endobj
-1779 0 obj <<
+1744 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 645.1925 222.1435 656.0964]
+/Rect [113.91 645.192 222.143 656.096]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d654324bf568397fdfc332a4c06e7a4facf5) >>
 >> endobj
-1780 0 obj <<
+1731 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.1323 645.1925 412.9065 656.0964]
+/Rect [225.132 645.192 412.907 656.096]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d6540e1a601a53491f60c89282fde55b5352) >>
 >> endobj
-1781 0 obj <<
+1732 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.8178 606.3382 366.6899 617.2421]
+/Rect [167.818 606.338 366.69 617.242]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gdf9d6f17d8974c81e3499f170e7762a2) >>
 >> endobj
-1782 0 obj <<
+1733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 606.3382 513.9963 617.2421]
+/Rect [433.021 606.338 513.996 617.242]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a253f4353b82f1a10a08b1e756bb7c84ad) >>
 >> endobj
-1783 0 obj <<
+1745 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 594.383 286.5316 605.2869]
+/Rect [113.91 594.383 286.532 605.287]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a253f4353b82f1a10a08b1e756bb7c84ad) >>
 >> endobj
-1784 0 obj <<
+1734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.8447 594.383 513.9963 605.2869]
+/Rect [306.845 594.383 513.996 605.287]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a2b2bc77b49f9450faf5b5f8ca5374421d) >>
 >> endobj
-1785 0 obj <<
+1746 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 582.4278 162.5576 593.3318]
+/Rect [113.91 582.428 162.558 593.332]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a2b2bc77b49f9450faf5b5f8ca5374421d) >>
 >> endobj
-1786 0 obj <<
+1735 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.5464 582.4278 406.6304 593.3318]
+/Rect [165.546 582.428 406.63 593.332]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a278fc3e83d58f3eb97a8041b600870a05) >>
 >> endobj
-1788 0 obj <<
+1736 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.8919 501.6653 469.6632 512.5692]
+/Rect [219.892 501.665 469.663 512.569]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g00a906832c41c42a70a5c9d194e07a7d) >>
 >> endobj
-1795 0 obj <<
+1737 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1770 0 obj <<
-/D [1768 0 R /XYZ 90 757.9346 null]
+1741 0 obj <<
+/D [1739 0 R /XYZ 90 757.935 null]
 >> endobj
-1787 0 obj <<
-/D [1768 0 R /XYZ 90 520.6391 null]
+1747 0 obj <<
+/D [1739 0 R /XYZ 90 520.639 null]
 >> endobj
-1789 0 obj <<
-/D [1768 0 R /XYZ 90 464.3452 null]
+1748 0 obj <<
+/D [1739 0 R /XYZ 90 464.345 null]
 >> endobj
-1790 0 obj <<
-/D [1768 0 R /XYZ 90 376.0651 null]
+1749 0 obj <<
+/D [1739 0 R /XYZ 90 376.065 null]
 >> endobj
-1658 0 obj <<
-/D [1768 0 R /XYZ 90 353.7533 null]
+1618 0 obj <<
+/D [1739 0 R /XYZ 90 353.753 null]
 >> endobj
-1791 0 obj <<
-/D [1768 0 R /XYZ 90 353.7533 null]
+1750 0 obj <<
+/D [1739 0 R /XYZ 90 353.753 null]
 >> endobj
-1659 0 obj <<
-/D [1768 0 R /XYZ 90 316.4672 null]
+1619 0 obj <<
+/D [1739 0 R /XYZ 90 316.467 null]
 >> endobj
-1792 0 obj <<
-/D [1768 0 R /XYZ 90 301.8969 null]
+1751 0 obj <<
+/D [1739 0 R /XYZ 90 301.897 null]
 >> endobj
-1660 0 obj <<
-/D [1768 0 R /XYZ 90 268.7055 null]
+1620 0 obj <<
+/D [1739 0 R /XYZ 90 268.705 null]
 >> endobj
-1793 0 obj <<
-/D [1768 0 R /XYZ 90 254.1352 null]
+1752 0 obj <<
+/D [1739 0 R /XYZ 90 254.135 null]
 >> endobj
-1661 0 obj <<
-/D [1768 0 R /XYZ 90 218.8864 null]
+1621 0 obj <<
+/D [1739 0 R /XYZ 90 218.886 null]
 >> endobj
-1794 0 obj <<
-/D [1768 0 R /XYZ 90 204.3161 null]
+1753 0 obj <<
+/D [1739 0 R /XYZ 90 204.316 null]
 >> endobj
-1767 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F67 366 0 R >>
+1738 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1810 0 obj <<
-/Length 2511      
+1771 0 obj <<
+/Length 1928      
 /Filter /FlateDecode
 >>
 stream
-xڽZ]w�6}����J��o�٧�-�ud�Q�����Pmq#�Z�����
 E��l�������``�'� <ᡀq9X�.��	
�� ��ޏ��/.o�(�T��� A	
�׿
DFc�1
^}��hL
ޅ��!|���mRD�c�R��Ǽ�����?\L�X��`�(�����7<X�v?\`�_
��#t���ٛ�Ň���q�C��a��
eK���3�<>|�G��Q��:]
vQR�E�&jN fL9b< ��?E�o
��n�F�l.f#����e��pq/�0{y�f
��
�,�J�占5�A.񐤜�r�&z�tzJ����a!FD
��p�������4Ӎ,�gQ���'��^�
4+=r��hpJ0
-��
'O�y�h�f/
�篟�����˗"r����`]d�fw���������d:_��M^I�U=��1]Š����%��a~2�(�㭙f���蔬�n�@��J����/�
�
-%=\Ͱк:
E?��=

�r%U�T_��~�*�VU=o�4<�]

nv���F���ez� �\ex���(�t�
�e%�j�B�pXz�� e�$���B��>|��(
�4�x�mf��ezH�Z
F��%4RJ2X�d��穾�	�f��h�����jb��j��m뇠����!k�/=
�ҽzc,�W,p
E�ӭ�D��,N
-$|Fa$5������	Q�1�r�@ �	7
@����tY�����j�*��Z�2zӱ�1�:v�:��*,g>?�S�J�8�E0�u8%V�>��6�R6��7QK,D���X�*{2���ߧ@k\�����ŭ��(k)�{�{\�p`Q}*��&�4TPAC�	���M�ڨ���
-�␙V��kh�m��|
-��c�=�{�5����b�
��D��A�x����T
x�|9J,*aRn7�
�,�J���X����[EeX
���=���&6�k�U'���Q���F,P^��?�>E�sr֏� �U�^?rJ<�Q�\�G
�j3dBYM^��"�	^��
^�2�(u��,�O�ָJ��M���V)Z/��ݲ�hTJ�Q�I�P=ZP#*$kj�m^3�=�Xp�`�
C`�k�f����m�Ra�E�+�l�k���1Be�^s�>��U��}��Cc�t8s�*���Ι�y�T�#����������Z�{��t4x���B�֣q�,C�־x5�P�lz_���rk����CI��ƭI��v�=��w
��?��
-��ђ�4@���#ސȲ!���*���z�%,��}�]�%�\G�<�z'��� ���j�
��r#)��ʱj���^C}y���>��ԝk [k �50�i�U+I���!Ϭ`G�d����ҕ�If��|;\�tP\w���,V��ঀ�$Px�ĭ
�֦_Q��0�`�WV
Q�ܻ���y
k�W�֡X�;K���L�װhM,�.*�b����\�i�K
���'X�-h\G�kH5�&`,Ƒ���d�t��i�Ry��N�
��A����@�ymT�Ƨ������ۻ�
��[n*T[xs/�|$�ǚ��3�)��"�&��F��<1#� ���wEH
�"��JBw#�ݷra�@y�#ۢڲ�|p�h���M��eZ��S�^���L1ƝX�*�l���<���A*�D�u���
-�I|�A �1&�G�E��H��ݐ���֡<q�(}0��h��\4Z��q�S�F�ɵ���"
�ܯ��"�A��(z�9�\��fg:9ώK葜�g��	��,�A�;��c�s�ca&�M��
Xf�\�j�m9!VG�
����:eYF^8�Be�5��I
3��aiN�GS;�{���r��L�"�a��Gy�5��O
3��A(�r(݂-�-��� Qȷ������d��$�n��0Y�dh�o�?,n�7����ϭz�0ęt�`Am��:������T�B#�WNJ��uē�ŋ�8R}��D�+r;�RҀ}T�`.*-����#P�����l���'X
��ȩ���8�􀚴��[�9�E�ْR�+�&Dk��CL���s�ha�
gw.sf�/�[�
-�֡E����P��%B��	�K��0��-qv����`UT�4�PmM�Tb�UEe]c��NF���@�#����ş�ٲu����%]$�qN�Ֆ��F�D�
dS�4-'
�>G�j���w�8�\��6��O��������i3$��Q�t
jI?9a�P�!��K�J���j�߻�tg��sb����P�F�0$ܗ#�P�,Ju}�i�ɃR�����P�;�[PK|���H�o�����+��&r}��u}p�Ew�A�B~��\ʏ-P	z$h,�D��|�;�D#����V|�֞���?"}̣�o#!��Nz&��	u:j,'�� AU��4nj�ᇨ�	�zP�x�94�o?l��Z̴
Ƶ
��ΫͶ5���(�o./����*G�$�g(..����^L�r/p-ܸ�ti0�|����.��,viV��p�}��~�ԡ�L��oendstream
+xڽY�r�6}�W�m�J�~�}��e�YVl���3)EAw(�
�q<_�
6 ��,{&�T�
+ݧO7M�n���z����ʳ�!	=�.7����I\�
.�ÏZHL}d����AY����|��[��i^S��>
|��<O�m��`�
�o`�ch�R]���;L�����5��44�
��v�~�X6���~���8��
+!�ƥ�;�SI�t��.���Ӽ���9.:�
b;��nec}��J���B7
-f�8Z薡�ӎ�Y
����ӻw��T�$�2���+�8�
zM�x��z��(��Mۜ�q����j[g8�Jk{��a�ђ�
+�J�@Z"��U8*� :��"fxL
����{�/�S�{�~�Q����ꩦo'�>E�b1�Ʒ����x:�/�寋��t��0�$�o�%�Ҹ�N�*̈́�y�W��;�'�8 �N0t��dD�
ܮ�K��+6L�
�q_
+NǬ��Қ��$�S`��ˌ��J��绞��߹�8k����$iC�Ae�e��Ҝ�
���?x����&	]ad{:~���
Z�J\,DrrKs��`8�h� (��&_#
ۄ�\)� mp_������ȉ>�
[��%=�W��� b��Q��
+q�
0r�
�d�c����"���r`X�8��1���
x�m�M�_�L�ڤ���	]�9�� J�E�bs*8��E��I�ę
�}�^2σ=�C����
�Bq
>Y��]�q��D��b�_/l+v�����"�� ��/�/�q�Mp<�q�&;��m���0�K+lc1�g�x6A@�;�1x�خ/9ۗ_�$�����G ����q�����&VO�N���2����C�
Jj#w�&���T� ���a�:DQ�KEL�Vm⹑Km�Zf�N����g��q���2��_�m�{���C�]���g�s��
�;�|���:�7��� ���(��q
A9r�P{L� P�
����҄��.�=�a
+����˃�h�d�s8�`�Q �_�{�p�n��=��|�YC
+O��—�8]���`�|��Q�P�M�0#�s+c~�a:L�x��m���|���O����$k����
�p0(�w��͞|
 S��k��v<Ͷ�~,y�9(jnĈ�+_��p0���=�3f�C�gq%�
yN�\����<�i���ydqYR�L
'}�=���@HC���ؾ9"�<xl��
�L�rJ����L��2%^
a�\�*�x�
�(��C�刲k�C�.�V��迢�wT9OA��;Z��r�&��(�*Ő繴��b/9��U\���F��o{ZC����/��t�S�5����^��4TU��=zvn"�X`H@
�B�h~{w�~���1�
��"�A�.���%<��m� 	Q#�%���L7p�p��B���R'�=��n�
�@(;��\�+7��)����)q_��l��:�k<��+�E���/� m��+دB��擿��� j6y%(��
+P�^��
�
H���%�[��9J��5{ņ����lx��0<�n����t~5�O����j�L�u���o��oA�
+:O�'�8��:bu�|eڕ��g�:��A����j���}�
+hP�'��#�9c^�H�o�7<]�
���_��L�U��b��;��8GŽ�^���O��q^���ϓ-�����6|��ϡt<�������@9~|}
�Bp7p���~y}��|T�_E�JEǐ�
�
7��K��E���5a:�ut�]N��L۳u�]E�%�3]+h+�_(+�(���PV�f��W��5
�x$��@���!q]��K�-^0����ſ �_
+>T��C�/`q���y#�o�dž �R5�AL��Sf��� ����S�Q��}
��σ�]� �2lb���u������$i�d$�/�2�x�t��Ηzf�L��ܟ���	�8���
+endstream
 endobj
-1809 0 obj <<
+1770 0 obj <<
 /Type /Page
-/Contents 1810 0 R
-/Resources 1808 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1722 0 R
-/Annots [ 1816 0 R 1817 0 R 1823 0 R ]
+/Contents 1771 0 R
+/Resources 1769 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1684 0 R
+/Annots [ 1766 0 R 1767 0 R 1768 0 R ]
 >> endobj
-1816 0 obj <<
+1766 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [131.8436 511.1715 188.4709 522.0754]
+/Rect [131.844 511.172 188.471 522.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-1817 0 obj <<
+1767 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.3385 479.2911 267.7191 490.195]
+/Rect [193.339 479.291 267.719 490.195]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-1823 0 obj <<
+1768 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1811 0 obj <<
-/D [1809 0 R /XYZ 90 757.9346 null]
+1772 0 obj <<
+/D [1770 0 R /XYZ 90 757.935 null]
 >> endobj
-1812 0 obj <<
-/D [1809 0 R /XYZ 90 733.028 null]
+1773 0 obj <<
+/D [1770 0 R /XYZ 90 733.028 null]
 >> endobj
-1723 0 obj <<
-/D [1809 0 R /XYZ 90 714.3182 null]
+1685 0 obj <<
+/D [1770 0 R /XYZ 90 714.318 null]
 >> endobj
-1813 0 obj <<
-/D [1809 0 R /XYZ 90 714.3182 null]
+1774 0 obj <<
+/D [1770 0 R /XYZ 90 714.318 null]
 >> endobj
-1724 0 obj <<
-/D [1809 0 R /XYZ 90 678.935 null]
+1686 0 obj <<
+/D [1770 0 R /XYZ 90 678.935 null]
 >> endobj
-1814 0 obj <<
-/D [1809 0 R /XYZ 90 664.3647 null]
+1775 0 obj <<
+/D [1770 0 R /XYZ 90 664.365 null]
 >> endobj
-1725 0 obj <<
-/D [1809 0 R /XYZ 90 629.116 null]
+1687 0 obj <<
+/D [1770 0 R /XYZ 90 629.116 null]
 >> endobj
-1815 0 obj <<
-/D [1809 0 R /XYZ 90 614.5457 null]
+1776 0 obj <<
+/D [1770 0 R /XYZ 90 614.546 null]
 >> endobj
-1818 0 obj <<
-/D [1809 0 R /XYZ 90 417.8963 null]
+1777 0 obj <<
+/D [1770 0 R /XYZ 90 417.896 null]
 >> endobj
-1726 0 obj <<
-/D [1809 0 R /XYZ 90 393.6817 null]
+1688 0 obj <<
+/D [1770 0 R /XYZ 90 393.682 null]
 >> endobj
-1819 0 obj <<
-/D [1809 0 R /XYZ 90 393.6817 null]
+1778 0 obj <<
+/D [1770 0 R /XYZ 90 393.682 null]
 >> endobj
-1727 0 obj <<
-/D [1809 0 R /XYZ 107.7135 316.7539 null]
+1689 0 obj <<
+/D [1770 0 R /XYZ 107.713 316.754 null]
 >> endobj
-1728 0 obj <<
-/D [1809 0 R /XYZ 107.7135 300.8137 null]
+1690 0 obj <<
+/D [1770 0 R /XYZ 107.713 300.814 null]
 >> endobj
-1729 0 obj <<
-/D [1809 0 R /XYZ 107.7135 284.8735 null]
+1691 0 obj <<
+/D [1770 0 R /XYZ 107.713 284.873 null]
 >> endobj
-1730 0 obj <<
-/D [1809 0 R /XYZ 107.7135 268.9333 null]
+1692 0 obj <<
+/D [1770 0 R /XYZ 107.713 268.933 null]
 >> endobj
-1731 0 obj <<
-/D [1809 0 R /XYZ 107.7135 252.993 null]
+1693 0 obj <<
+/D [1770 0 R /XYZ 107.713 252.993 null]
 >> endobj
-1732 0 obj <<
-/D [1809 0 R /XYZ 107.7135 237.0528 null]
+1694 0 obj <<
+/D [1770 0 R /XYZ 107.713 237.053 null]
 >> endobj
-1733 0 obj <<
-/D [1809 0 R /XYZ 107.7135 221.1126 null]
+1695 0 obj <<
+/D [1770 0 R /XYZ 107.713 221.113 null]
 >> endobj
-1734 0 obj <<
-/D [1809 0 R /XYZ 107.7135 205.1724 null]
+1696 0 obj <<
+/D [1770 0 R /XYZ 107.713 205.172 null]
 >> endobj
-1735 0 obj <<
-/D [1809 0 R /XYZ 107.7135 189.2321 null]
+1697 0 obj <<
+/D [1770 0 R /XYZ 107.713 189.232 null]
 >> endobj
-1736 0 obj <<
-/D [1809 0 R /XYZ 107.7135 173.2919 null]
+1698 0 obj <<
+/D [1770 0 R /XYZ 107.713 173.292 null]
 >> endobj
-1737 0 obj <<
-/D [1809 0 R /XYZ 107.7135 157.3517 null]
+1699 0 obj <<
+/D [1770 0 R /XYZ 107.713 157.352 null]
 >> endobj
-1738 0 obj <<
-/D [1809 0 R /XYZ 107.7135 141.4115 null]
+1700 0 obj <<
+/D [1770 0 R /XYZ 107.713 141.411 null]
 >> endobj
-1739 0 obj <<
-/D [1809 0 R /XYZ 107.7135 125.4712 null]
+1701 0 obj <<
+/D [1770 0 R /XYZ 107.713 125.471 null]
 >> endobj
-1740 0 obj <<
-/D [1809 0 R /XYZ 107.7135 109.531 null]
+1702 0 obj <<
+/D [1770 0 R /XYZ 107.713 109.531 null]
 >> endobj
-1741 0 obj <<
-/D [1809 0 R /XYZ 107.7135 93.5908 null]
+1703 0 obj <<
+/D [1770 0 R /XYZ 107.713 93.591 null]
 >> endobj
-1808 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F97 1822 0 R >>
+1769 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1826 0 obj <<
-/Length 2142      
+1783 0 obj <<
+/Length 1475      
 /Filter /FlateDecode
 >>
 stream
-xڭZ�r��}�W�m��"	] o���'ӹu�����$��7Ɠ�|��B�"g�TW��^�����^���d��
������'��y
��뀟�'�(T
��
A�:��~���c<|���hL9
^���>|���E�G�c�T����P�џ�_N��*lɊ{����N~�V������8��
lN����dv򹺏����kp�`D��c�!_��](�)�
� ��UB�&QwÌ
*���������|2Q��q� #���l0(� �uG�R�I�|���'-}�2"x��8�c��y
��7����_<�n�]��󶋟�
���ՁQc��ĥ!
�a.

����K���D0�~��	�4��a�"0�G��0oP�@" ��,��sT�]�L���
��
ܠ��Mq$GVS3�|��a�� �s�0�t�_���J�g��4{
	>t��b2&�T��\�XM����oӻ�Û6
��z`.�,*�͢!��/�$���<ޮ_+�:*����,u����X�\5�K.;�5���{�R�0(�@k2(`~�$0�?�Y���m9�snj5�!&�'��s�i`ZLX�G�HI"�
e3h��{H>m2x�n������ȢM'�(�-��M�GU��ͻʥT��B�>ߍ<<�/��m�8b�JWx�·dˆ��6�-n�o�0+��4�[UN$ш��ӈ�\�u^^��7�3wV?B���
Yk0�������t}3&��V�.��/ӻ��[���#��J�
-e�jVC!dp��}�5I�R/�I�
TH}�ڗ��՚+��VqhL�S�T
�/2(���?
Lg�虁:�1̞�ۛY�
p���aU�lV����|����@a�?�� 	�y}��`.�
�Hs7Y�����M��8&^O|���Z��
Ǎ��I�A��VZ�%��0�w�nF�
���ǘQD���F
1D��V�D��V5�0ۄ�[�����s����e�������]�O��]L�L�k0ƪb"Aˮk�e�Y
8M�
������ϛ(���!��ZS�s�����@q��4������؃{�g ���Ԉ�0O�����ܑf��4�`�vEw���,&�2�}EBm.�RT(�E������X���m��
Y�ɧu5�t��x��JX��t��$����+�	ؖ�5��%�5E��׮�(��wF6�v��1
-�hFv
�u42��d��Хqq$�%fL��zD��\2XS苏P-�v���=J�͠U&x.H�&�F�˚��ֵ.��
i�g�8X�V�h�Fcf�����1m޾� �
������?�g�ʨ�h�:�5֜
p
L���dj��)	��tr�P6��E�0L��t�Jb<pE�hu��^��(�MKX�'�]�]����FW�:ݪ�
��=10����Iz�jG����
9���D���u�Qc�픟`��zڱ҉Zު��b[J��x��`
-|�Y�
YG
�
h��s��
-�Hl�EwbW��
-]_�����)��s
P�����"|����s�q���X�]Ԙ��4D����/��<��.sc�v�p
/
x:_�>s[��5�bb�n�Z�X�=�
�ܔ�U�k��6[�ت_�xu�mQF�X��_��h]T���u��`��
J��U��z�d�{��Q�,�
b����vw��Ţ;�*��q9����m/+`JԥN*�
�e���+��

�v&Bǣ;�����UC9FoP��o���*��G��/;w��}���Y,��#�`
,*�-��;ѷ}�6��!������:�%��y�Ԇ���
�1v�V
��`�
���׋��9�:�5|S
>�M��S���7S(�H�Mǀl6-���`P%�l��G���ˆڀ����%�����*���p�z8����g� ���H%(LF@�^s�a.%
L�0�޽~ԾT�>"e���L�c�����^�5�U��������#h�@�^=1~��hX�[eǔ
(O�
(�"A{}r���T
-�5�*L�a��96��r @���N΢�Zג�-%�)�����
}��qs��v���6Z�j��y�=;=}yyA�
+��P��n���6/O���1q�
-dqi(��IU�\�灛�l���A(+��z�jS�/l`�iendstream
+x��X�r�H}�W�6P���@��͉�lj,9Z25��(,�2�e4��υn�2(��̋XDw�s��s/`i#a�z�f9:�24�F����A��dQ�HK_�$ۈ(gc,�}�J9S)�'^�)�
�W7q��o]^Z�fʆ�|Y�9�ѷ�U�D�Y��L�J�h��
�|��N�H�-iW=I���1��#,�6R������u�T5�
��~to�W��x\
+
��W�F[Qb�?հK��
'����_�g��8���;���b����d�M� jd�&����
�gb�3B���Q�o>�V�2�Q�E� ������!���}p
��f�p���e��
̣%J�",�~�?z��'Šr?N�������3Wt,�� �0��Հo�0��S�����^
��4�G(�I�b�fpw5dA 
t��>O�u����ȟyQ+:"�C�*
Qp����t%�M�m�G��C�"/�}��B#9U]�@���\Ѱ�t��u/:�
s8X�o����4I�凘)����^Γ����"�~t(��.����t��,LKBnu�љ_M��>���Lf���k���vq�}���B�͛���x����L�s~#�H��B�)\c|���l�5d�b]��/���
�j:��ݷ�ۻ^?� @�=�$��a>G����� KxF�q(��-XXW�fS̑�TQ�*��4/�<���$|zd~깓�>�ҧ��yR�e�q�A�W� Ű��
U�g���<H�X
�zHD���1by��3*r�z�P [...]
+�:!�J��
:��v���!�v�U
� �g�/�K�az�rћ��eѦ�]�TĭR�f�C��5��냍�=&�8�c�ym��^��Y��E��n�g
xk�m�6}v��
�>x��5�X���n��
+w��'�	�S
�Q�C1�8��������w��e����K���j���u>����ʗ���ȶ�/.W�#�~>��|�d��m`'�12,�䜾��^�z�\��Kg�C��_Dt�I�딁U��@�z�N¶Q�
+�/�W���ڇ�+���ڑ���u�������a!�X�~��>W^v4K|X�6�T?��>K����om�I��*c�o��"�o����S\�x��Ƒmʈ�Ѩ,L9��R}��4��b
�����ۋ���n���ڱMQ��o���s����]��4
M�%u�P�K�@i|�6�_|}�
+endstream
 endobj
-1825 0 obj <<
+1782 0 obj <<
 /Type /Page
-/Contents 1826 0 R
-/Resources 1824 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1722 0 R
-/Annots [ 1831 0 R ]
+/Contents 1783 0 R
+/Resources 1781 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1684 0 R
+/Annots [ 1780 0 R ]
 >> endobj
-1831 0 obj <<
+1780 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1827 0 obj <<
-/D [1825 0 R /XYZ 90 757.9346 null]
+1784 0 obj <<
+/D [1782 0 R /XYZ 90 757.935 null]
 >> endobj
-1742 0 obj <<
-/D [1825 0 R /XYZ 107.7135 723.0653 null]
+1704 0 obj <<
+/D [1782 0 R /XYZ 107.713 723.065 null]
 >> endobj
-1743 0 obj <<
-/D [1825 0 R /XYZ 107.7135 707.1251 null]
+1705 0 obj <<
+/D [1782 0 R /XYZ 107.713 707.125 null]
 >> endobj
-1744 0 obj <<
-/D [1825 0 R /XYZ 107.7135 691.1849 null]
+1706 0 obj <<
+/D [1782 0 R /XYZ 107.713 691.185 null]
 >> endobj
-1745 0 obj <<
-/D [1825 0 R /XYZ 107.7135 675.2447 null]
+1707 0 obj <<
+/D [1782 0 R /XYZ 107.713 675.245 null]
 >> endobj
-1746 0 obj <<
-/D [1825 0 R /XYZ 107.7135 659.3044 null]
+1708 0 obj <<
+/D [1782 0 R /XYZ 107.713 659.304 null]
 >> endobj
-1747 0 obj <<
-/D [1825 0 R /XYZ 107.7135 643.3642 null]
+1709 0 obj <<
+/D [1782 0 R /XYZ 107.713 643.364 null]
 >> endobj
-1748 0 obj <<
-/D [1825 0 R /XYZ 107.7135 627.424 null]
+1710 0 obj <<
+/D [1782 0 R /XYZ 107.713 627.424 null]
 >> endobj
-1749 0 obj <<
-/D [1825 0 R /XYZ 107.7135 611.4838 null]
+1711 0 obj <<
+/D [1782 0 R /XYZ 107.713 611.484 null]
 >> endobj
-1750 0 obj <<
-/D [1825 0 R /XYZ 107.7135 595.5436 null]
+1712 0 obj <<
+/D [1782 0 R /XYZ 107.713 595.544 null]
 >> endobj
-1751 0 obj <<
-/D [1825 0 R /XYZ 107.7135 579.6033 null]
+1713 0 obj <<
+/D [1782 0 R /XYZ 107.713 579.603 null]
 >> endobj
-1752 0 obj <<
-/D [1825 0 R /XYZ 90 567.4839 null]
+1714 0 obj <<
+/D [1782 0 R /XYZ 90 567.484 null]
 >> endobj
-1828 0 obj <<
-/D [1825 0 R /XYZ 90 552.9136 null]
+1785 0 obj <<
+/D [1782 0 R /XYZ 90 552.914 null]
 >> endobj
-1753 0 obj <<
-/D [1825 0 R /XYZ 107.7135 476.1203 null]
+1715 0 obj <<
+/D [1782 0 R /XYZ 107.713 476.12 null]
 >> endobj
-1754 0 obj <<
-/D [1825 0 R /XYZ 107.7135 460.18 null]
+1716 0 obj <<
+/D [1782 0 R /XYZ 107.713 460.18 null]
 >> endobj
-1755 0 obj <<
-/D [1825 0 R /XYZ 107.7135 444.2398 null]
+1717 0 obj <<
+/D [1782 0 R /XYZ 107.713 444.24 null]
 >> endobj
-1756 0 obj <<
-/D [1825 0 R /XYZ 107.7135 428.2996 null]
+1718 0 obj <<
+/D [1782 0 R /XYZ 107.713 428.3 null]
 >> endobj
-1757 0 obj <<
-/D [1825 0 R /XYZ 90 416.1801 null]
+1719 0 obj <<
+/D [1782 0 R /XYZ 90 416.18 null]
 >> endobj
-1829 0 obj <<
-/D [1825 0 R /XYZ 90 401.6098 null]
+1786 0 obj <<
+/D [1782 0 R /XYZ 90 401.61 null]
 >> endobj
-1758 0 obj <<
-/D [1825 0 R /XYZ 107.7135 324.8165 null]
+1720 0 obj <<
+/D [1782 0 R /XYZ 107.713 324.817 null]
 >> endobj
-1759 0 obj <<
-/D [1825 0 R /XYZ 107.7135 308.8763 null]
+1721 0 obj <<
+/D [1782 0 R /XYZ 107.713 308.876 null]
 >> endobj
-1760 0 obj <<
-/D [1825 0 R /XYZ 90 296.7568 null]
+1722 0 obj <<
+/D [1782 0 R /XYZ 90 296.757 null]
 >> endobj
-1830 0 obj <<
-/D [1825 0 R /XYZ 90 282.1865 null]
+1787 0 obj <<
+/D [1782 0 R /XYZ 90 282.187 null]
 >> endobj
-1761 0 obj <<
-/D [1825 0 R /XYZ 107.7135 205.3932 null]
+1723 0 obj <<
+/D [1782 0 R /XYZ 107.713 205.393 null]
 >> endobj
-1762 0 obj <<
-/D [1825 0 R /XYZ 107.7135 189.453 null]
+1724 0 obj <<
+/D [1782 0 R /XYZ 107.713 189.453 null]
 >> endobj
-1763 0 obj <<
-/D [1825 0 R /XYZ 107.7135 173.5128 null]
+1725 0 obj <<
+/D [1782 0 R /XYZ 107.713 173.513 null]
 >> endobj
-1764 0 obj <<
-/D [1825 0 R /XYZ 107.7135 157.5726 null]
+1726 0 obj <<
+/D [1782 0 R /XYZ 107.713 157.573 null]
 >> endobj
-1765 0 obj <<
-/D [1825 0 R /XYZ 107.7135 141.6323 null]
+1727 0 obj <<
+/D [1782 0 R /XYZ 107.713 141.632 null]
 >> endobj
-1766 0 obj <<
-/D [1825 0 R /XYZ 107.7135 125.6921 null]
+1728 0 obj <<
+/D [1782 0 R /XYZ 107.713 125.692 null]
 >> endobj
-1796 0 obj <<
-/D [1825 0 R /XYZ 90 113.5727 null]
+1754 0 obj <<
+/D [1782 0 R /XYZ 90 113.573 null]
 >> endobj
-1824 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F67 366 0 R >>
+1781 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1834 0 obj <<
-/Length 2247      
+1792 0 obj <<
+/Length 1843      
 /Filter /FlateDecode
 >>
 stream
-xڥY[��8~�����3k�A�u��
���;��Lvf���V�l00��8�~K7
�Ɲ�'AR�T���R��1�#��e(��`�ڍ�x���<��iS��bt�1��E��/JC@u�;^�w"D&S�1v����d�R���t���G���
_�a�<�����ϣ�E}���z���5��O<^�u?�0򢐎0��D�;ލ|׳�d�4�W�G/�
}�Q��;�C8�����E��i���
^��r>q��%ǭX|y?�8^_��vy"���q�>�e)]��H��Y 5a(p}}��1!ԑ��1y)��l��D��q
)�$d� .�yQ��Z�iS��y!�=��"�"*�n�aQ�*+���&�m.�=�cD-ݵ"b
+���~C�4c�x7�����x?��[������6[|>7���8
F���Ӻ �b�̘_'!\xQV�/M�� i��y�ǫ�]�A���S <�{Mm���͊IS�f
-�!�\
-��a+j��m�<�L��
������Y*�J����
��g�^�J�c
�x����RVl��gńb�F(���yCls+&��y�<�7�!E��R]
�x�@�wfA*!<F�Y�O	1����eM�
~��
�*���yg��>[�!��Q2��2~NLBe
zfZ^g@��cf����
H}�n轙�����QU�I3�g���ndX/f�
[�G
�`d�緮�D1"�}~���G\��
��^��X��m\�=]ȶ��.VL�u��\�ڇ�]��Jum8�ƅo����M�tRke=�~<��g�弘��� �v˧�W���n_ac�������k
��ا@��w5�r���_�[�isC��zu�K�c݊"7�v�mH���
ǃ���0�:�̒��AEU���c�"7��AM��9ȇ�
�v�;| �:V��Z-&�������i���v�.䗉��G�w.����~
BRKu�9��<�-k[�{��h��>}\���A�Ea^���� T�����㧇�ނT�BwؘZ�kL)hhۘKH=g�t=��P���P
�!�����q�������$
�`L-�5��焄~ۘ~��� ��Fob;}��d�~��1S8>�Y���E��I��Ǽ���
-�=�t=���]_f
-9m�ݫ,-�;�)�5��RqP
-�I.��|c�� �
�#�3bD�JuY�H
�9k��?�-iKq�E,e7�׮��&hC#0xZ� �UCkY��S��IY�Rt����
g���
-Y
�Uo�U�ONJ!��.g"簍W[�h��������X�	u:!�wQdj[X�"
j�z��x��/����Ó,��5^w�0(�9��N�8���`�c$�9��zY� �)���<��.ut�5Dj�	q
R0��j��b5㩒�&}��� �œ_��l�+-�]��I$z*�R���7ʼ�%5t�{0z4�'��4�+�T�:���N�
Α��sPA[�K	[:;�%V�R��
_���#���Ul���fÒ����A"̳�
Eqz~d	wg/�pI�B�[pL��� XpB��q�(�A�U�"��@U���#̨��I,�����<�ǴtI�D�sZ��G��|��
�ڻ����4̜߂��=��?�[�wq�%�	�����S����:+|�y٧+s���T�Ն�D	����g����k~���
o6���
-E#zA^{��E)��!��B���c�DO��Gx�ڭ���\�
��6"�-`i�G����eZu�a#�U�\�0	�?7u���%A�BZ��n�)�z7K� ��^z�*�z;x����~E@�ȈGO�N�
>KU�Cʖ�%u�̯
-�QT���ؤ�9��$jP
�$,���h��o6ss$hS�Lm�B�[�tk77g��^$��B�5�K��2�l��3��&{��,q8�ҟ�YW%C�cS���U�푦`&&�t�4������-����j
u
z<U
-�.�$HU��'�.尨xי�X�B]2S�:���.l3������r�Rhn���Y��Հ�B�Dm����h
8	]���&ߓf	X	��1N��z�‚��l�z~H��8Q��
)B�_����� �i��1/4��X#Z]�\�'�F3�li~4j֧R580����vܒ�M��u��bI�2* ��D�/�:�L�%�	�^�2�_�l�%�ic��8��W��������p8�U��i�(����^���I.�Y4tq�Z�cK
y/T��[��XF�e���	�;^�[����zL�c���endstream
+x��XYo�F~ׯ�[)�Zsy�o�cj-Y��&ikj-mCq
Q�_�ً"e�P���9����
�X+˱�^�'��g%(	�К�[�cE!F������d'G�q
��ի��

��䫆������$�8�";��_�
.�o
�8�R�E^`����/�����,yIlm婍�
�Ϭ���Q����0h"%͛�6b�&�,fCױy�[�eIW�$����o���`�nq����O.��c�p�B�WO�C
��z��h��TH�����GJ�Ђk(�%��ҒԼ<�]݋H��#0��	\%`v}5��^O�gW��������x�� IO/샋���~��ʪ
���~-�`9�0��y��=
�C]{@G�P��h�Kt�E���7�~b+@�i^+���
�	��D
4��Ի��$��^OUq���8���r<��F�UPϦ��c� ���g�@�{��A�q��[#�E8���_N��f��Ԍ�	_�GX�	8�U��2
7�#@�l@��@��x:���:
�����y!vP�^���@V��%��Ъ���CB��F�����Ѹ(
+�
��,4��qa�
����q1��r�c���7����M���hj�j���{��^SmQ+ʕ.���O�z\>ܳ�ޮx�]Є
e��HrD�i��ˋ���뫋�D�n�;�5L'���a�
���$^�h��M~O�4�SYW	���������ś��
����x�/�����w=�
^��c�?nM4:�w2�)g3�`�q��R��I:}��2�
&.Ѕ�6����(�MA� D�g��6S)�+(F~����`�V
+���."�
�:�Q���xGp'ȏ�9�]����COr�ܑ|	i��(h^�!�J
+]�R�(ݎq
jP|�A�ʙ�e��`�C�L�}����b�����4��1a����e��P�_�Jbo�,]�Ms���	�O�T
�uP�'-���gKZP�T�0O�4�*u_�;$��J푶Häj
+��
e,��T�?;��E����d�at�(	tt�FF��
l��@
|-a8��`� �Z��\�d"�
�r���)��~M�5V��Ju߾�UK9υmԺ�=pRG�􃖣���[�A���%���)��
a�з�2d�e%����|e�衐&��hPf�Op�_�(~��[�T&�M�y�iA,?|��g��Ԕ���3�� �`���]mC��e2EquS�j
٠.��P
��8��1*��1)�
ZW��0R �WY`wj�ng.k�+���b{�	0�~�TZp[Kc�-���
5��Īc~|�nY��}����#�?�*`�PSՒ�2�

@O0x�^�߿c��j-B��!�^(sв�u���$B���sa�#zU;�6�Ff�h.�
��V4W�E��G��Dg2�n���DN���B�Ў�b[���nz�kz�hI�Q�$��F�UH�<��l�D�REO$]YQvj"���w0[��5M%�t�
���%�h��V!c��i�j��؛���Ƚ��FAJH��vf�/)Y�c��oܥa�֚T�
+G���[ު�P�UM��_�(
9��h���*��Wqک��j�0�{
+k)��U{�H�aPUG^$�ȍ<a���MF�B
+�2
���
�P�
0R��Z
�0-o�jLd�=�
pG�+Ϙ�p
+��q7/�PuC%�_Ds��  
 Y&>����Xm�M������Sa

e��_��R��%��_��}��%�	��KOM��?�u�~[ѲUR|���1�Ha��U�*A�
+��'ҋ�.�񆚯)��Wˌ~�"耆��m�u]���l�[�V��YQ"V�@�9y�:�R0�/J��7d��Ȇ�
i����&e
+endstream
 endobj
-1833 0 obj <<
+1791 0 obj <<
 /Type /Page
-/Contents 1834 0 R
-/Resources 1832 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1722 0 R
-/Annots [ 1839 0 R 1842 0 R ]
+/Contents 1792 0 R
+/Resources 1790 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1684 0 R
+/Annots [ 1788 0 R 1789 0 R ]
 >> endobj
-1839 0 obj <<
+1788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.8406 448.4773 249.2909 458.405]
+/Rect [190.841 448.477 249.291 458.405]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-1842 0 obj <<
+1789 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1835 0 obj <<
-/D [1833 0 R /XYZ 90 757.9346 null]
+1793 0 obj <<
+/D [1791 0 R /XYZ 90 757.935 null]
 >> endobj
-1836 0 obj <<
-/D [1833 0 R /XYZ 90 733.028 null]
+1794 0 obj <<
+/D [1791 0 R /XYZ 90 733.028 null]
 >> endobj
-1797 0 obj <<
-/D [1833 0 R /XYZ 107.7135 661.7396 null]
+1755 0 obj <<
+/D [1791 0 R /XYZ 107.713 661.74 null]
 >> endobj
-1798 0 obj <<
-/D [1833 0 R /XYZ 107.7135 645.7994 null]
+1756 0 obj <<
+/D [1791 0 R /XYZ 107.713 645.799 null]
 >> endobj
-1799 0 obj <<
-/D [1833 0 R /XYZ 107.7135 629.8591 null]
+1757 0 obj <<
+/D [1791 0 R /XYZ 107.713 629.859 null]
 >> endobj
-1800 0 obj <<
-/D [1833 0 R /XYZ 90 617.7397 null]
+1758 0 obj <<
+/D [1791 0 R /XYZ 90 617.74 null]
 >> endobj
-1837 0 obj <<
-/D [1833 0 R /XYZ 90 603.1694 null]
+1795 0 obj <<
+/D [1791 0 R /XYZ 90 603.169 null]
 >> endobj
-1801 0 obj <<
-/D [1833 0 R /XYZ 107.7135 526.3761 null]
+1759 0 obj <<
+/D [1791 0 R /XYZ 107.713 526.376 null]
 >> endobj
-1802 0 obj <<
-/D [1833 0 R /XYZ 107.7135 510.4359 null]
+1760 0 obj <<
+/D [1791 0 R /XYZ 107.713 510.436 null]
 >> endobj
-1803 0 obj <<
-/D [1833 0 R /XYZ 90 498.3164 null]
+1761 0 obj <<
+/D [1791 0 R /XYZ 90 498.316 null]
 >> endobj
-1838 0 obj <<
-/D [1833 0 R /XYZ 90 483.7461 null]
+1796 0 obj <<
+/D [1791 0 R /XYZ 90 483.746 null]
 >> endobj
-1804 0 obj <<
-/D [1833 0 R /XYZ 107.7135 407.9291 null]
+1762 0 obj <<
+/D [1791 0 R /XYZ 107.713 407.929 null]
 >> endobj
-1805 0 obj <<
-/D [1833 0 R /XYZ 107.7135 391.9888 null]
+1763 0 obj <<
+/D [1791 0 R /XYZ 107.713 391.989 null]
 >> endobj
-1806 0 obj <<
-/D [1833 0 R /XYZ 107.7135 376.0486 null]
+1764 0 obj <<
+/D [1791 0 R /XYZ 107.713 376.049 null]
 >> endobj
-1840 0 obj <<
-/D [1833 0 R /XYZ 90 359.3215 null]
+1797 0 obj <<
+/D [1791 0 R /XYZ 90 359.321 null]
 >> endobj
-1807 0 obj <<
-/D [1833 0 R /XYZ 90 337.0097 null]
+1765 0 obj <<
+/D [1791 0 R /XYZ 90 337.01 null]
 >> endobj
-1841 0 obj <<
-/D [1833 0 R /XYZ 90 337.0097 null]
+1798 0 obj <<
+/D [1791 0 R /XYZ 90 337.01 null]
 >> endobj
-1832 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R >>
+1790 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1845 0 obj <<
-/Length 2121      
+1818 0 obj <<
+/Length 1098      
 /Filter /FlateDecode
 >>
 stream
-xڵ��r�6����[�*�q>�R�Jf3[I&3Όwo2)-sln$R!�q��i� 
��$r����|h4@�9�?27x��B�q9_ogx~��3#��ܿ
���]��bn��Tί?u
$A�:���eA��
-�x�m�f����뿫��6/۬-�.i��B���?̾���.
�$�r��~��o!�f1����`D����S6|��>�~�~��5Kv�]�#�B��Q���7�`�h��wD��s]H���
:��jI�"����jI��<��u�zS��Y�t�#���zI�"/�R'2��a�l#
�Ԯ��� ¢v�7��������#ƴ�o��m����	��
�2
-C�U��n
�$��?�\h�
ͨ�K���fV�#�b_�`��0�QEo��:
�r��{e"ӂ`j�����ټ��SaL��0��z��묭�I�S"�V*�
)"����!&
�:>� ��v�]����9~��pEJ���+�������f�x,w�e��¿�J��ċ�m��1Ǭ^2���2�������/�F�
-��8�0���`Xw
�ɚ��4�AL�
�&�Ad�x��4�*>O���0MF�M[?�ۉ23���S>>G�T
��
iV����o" e?
�%O�3��
O����Q�S9̛�'p����P758#�S'
������|MH�3n���eͿ:����J���"�z����$2u�(bZ���^/_|�g����FP�
���
���Y	Yj&�c
-0�V���륀�E%K��Ҥ=������)�B�S(����1��%��v�W��XJ�6`J�=Qr���ʌ�'o�
��ad���P�t�vY��DJr�'
+g�
-a���
�4���(�
f�(m�20��L�6ެ+m�,��1;[�t>U�C	��X���i������6��[坫y�w���?�M�~Z�HMåF
k���͆f'Ɇ��
��@�,Mv�0Fv\ד
�&�
	�Bv<���~WVW6	=v���t� ��1��,^
�x�9F�+f)�3ۊ�6�����u�
%��ɯ�޸�<+�[���E�hW�㼂��=��
-~$N��Ҵ>�������s${‚`߫
�u]mW�*�����T����c���$���wQ����
�BR��#�:� 
���t.�v��(��`�0&/"S
-)�����,�b�0�bBw�q���q�|��&~m
����i��W�ۓ�I8F!�%�w
,���D&)Ҙ����o�(�\�D�i�Mr����(c(�u=��n|

���'B����e�ן�*�m�G ���hH�Ў�9 �
�NܼY �]Wa�� u�ڲroe�Λ&�����h��_
�g�7í�0RD�n�C���ls�jˤ!�%��a���ՃY���a�긮�:�MP=>��x�6��-	!
�U���
��Htʨ�춨�I���,�����S�?l�ꧽ��3���+},LG�)���R{���
՛%A

F at M���t㠎�O 5�į
�MQ�Y���]
9�=z?�S����E�
�r����)Z���M����>
�f�	�6�8�L ��yI,)�U����Y��a
˸��2�M`9>�x�ݙUU���ʷ��Դ����h����3�ς%�´),� ˦o�(���vGY���+�OJ��/�&�
6�}V���͒l�#l&t6G�q6��'��a�w���I#���w��<J�Yv�Dj���	&�ٱT��C�)ZW��9
�cǢľh�8{I at 9G���Zo�4p4��
u���O4
�į
���
1EL��vE��<d{R����7
�<q�T4�EUy��I�O�����u��w�x1J�F/Z���GI�zN����c��u=��nۑ�)��C��uy��~��c
]�
���������5i�SO�����7]��k*���
�c0�
�B��w��7���If����PL�Ը F�]uUJ�uOͮ�������쳌���=��)+a	�?�����
%���A�
F��C>�-S㩈wP�������y����
D*h�įm�}��|||D�=�ŮFE{��m.'/��2��>2p�h˨癆	a ������jx�(��{Er��}�@(��*(endstream
+x��Xmo�6��_�o���&)Q�����5E�,�o_�BPd�֪�Jr\��
�
�q�
v�~�DQw�=w�㑠)"�c���78
<�(`ߣ��a at 1g�'�ơ��3N���m��B��V��B�]�eU	S!2'��/�Ͻ�޷
�Q%����(-z7_���gD��h�V�g
�9����#[ب�=?`
�0	�#8J�
t�I
�8�\	"���fZ9�I#�'i�$
��8U���I����]�4˝d\�{Ѹ4tD	SJ
'k�Jm҈Hk���0k�s�.?k��V�-!���Uf���E�Wfn����ak��Un�<o����3
X�o����>'k��G��fj<��I��.��Z4IW5�����ِ����"!�
�!"��P~�s�QYϻA5�`�3U-��
�Gz�P�4�7t��fT��;�n���"L�1�Ô{�i����n�f�v{Xn�әH�J���]�eDPY�^C���5�B�	��/��
yi�|�`MX|1/���Oe��p�Lo�u�}�D;v�C

�P���^���o��ӈbƇ�PzB/`�rw
d���y�G� He<����8(W5�
���LO5q_��v�&KM
+.kar0+�\�
<+�&��0�
D��*�ҥ˟K���f�B
��ᬍgM%]�Pu�.���Wki���i��
��`�ѹ�ʒ�~j\�;�B�d

�gMUħ�t��
���)��D�lBB9�Mͽ��r��"�$�яh��!��K)�2�
#����
һ�gG��[Q� �ow�=���~	�Y)�&��nDۚc��ȕ\s
�'NP��+J�[Z|Z��IVv����Dq$�[-l��ҥ��{�p��5\�m��Yg��6�a���o�#hx`/�+����C8X5;:�s�0�̝�–�dU�Uå
+��TN6�l�[��Q���y�
���Y�����1M�Q'6^��*!NllȜ�H�4���z��l��}
 ��6B�B ����K
aη|� 7��ґ�:pM�X����'i�9���������pbO���`yE��z�b��S�–cm�Wd�~�=*_�4��әu]��`�X,p��y��
κA]烧-�
+nw!�c|Q�[����B��'�
d�
+endstream
 endobj
-1844 0 obj <<
+1817 0 obj <<
 /Type /Page
-/Contents 1845 0 R
-/Resources 1843 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1722 0 R
-/Annots [ 1848 0 R 1850 0 R 1851 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 ]
+/Contents 1818 0 R
+/Resources 1816 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1684 0 R
+/Annots [ 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 1815 0 R ]
 >> endobj
-1848 0 obj <<
+1799 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.1066 610.7753 216.8732 621.6792]
+/Rect [160.107 610.775 216.873 621.679]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators) >>
 >> endobj
-1850 0 obj <<
+1800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 530.989 187.4637 540.9167]
+/Rect [138.538 530.989 187.464 540.917]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-1851 0 obj <<
+1801 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 517.7786 316.6798 527.9653]
+/Rect [138.538 517.779 316.68 527.965]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4) >>
 >> endobj
-1852 0 obj <<
+1802 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 505.0862 234.0985 515.0138]
+/Rect [138.538 505.086 234.098 515.014]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-1853 0 obj <<
+1803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 492.1347 210.1485 502.0624]
+/Rect [135.768 492.135 210.149 502.062]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-1854 0 obj <<
+1804 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 454.3615 180.5696 463.2081]
+/Rect [135.768 454.361 180.57 463.208]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
 >> endobj
-1855 0 obj <<
+1805 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 413.4499 225.4712 424.3538]
+/Rect [138.538 413.45 225.471 424.354]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1From__Covering__Box) >>
 >> endobj
-1856 0 obj <<
+1806 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 374.5956 198.4823 385.4995]
+/Rect [138.538 374.596 198.482 385.5]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-1857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 337.7986 168.4948 346.6452]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
->> endobj
-1858 0 obj <<
+1807 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 298.9443 170.9555 307.7909]
+/Rect [135.768 337.799 170.956 346.645]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-1859 0 obj <<
+1808 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 258.0327 213.0175 268.9366]
+/Rect [135.768 296.887 213.018 307.791]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-1860 0 obj <<
+1809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 219.1784 213.595 230.0823]
+/Rect [135.768 258.033 213.595 268.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-1861 0 obj <<
+1810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 182.3814 179.2742 191.228]
+/Rect [135.768 221.236 179.274 230.082]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-1862 0 obj <<
+1811 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 143.5271 154.3681 152.3737]
+/Rect [135.768 180.324 216.365 191.228]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-1863 0 obj <<
+1812 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 102.6155 220.2205 113.5194]
+/Rect [135.768 141.47 211.912 152.374]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-1864 0 obj <<
+1813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 104.673 177.591 113.519]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+>> endobj
+1815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1846 0 obj <<
-/D [1844 0 R /XYZ 90 757.9346 null]
+1819 0 obj <<
+/D [1817 0 R /XYZ 90 757.935 null]
 >> endobj
 118 0 obj <<
-/D [1844 0 R /XYZ 90 733.028 null]
+/D [1817 0 R /XYZ 90 733.028 null]
 >> endobj
-1388 0 obj <<
-/D [1844 0 R /XYZ 90 709.8418 null]
+1347 0 obj <<
+/D [1817 0 R /XYZ 90 709.842 null]
 >> endobj
 122 0 obj <<
-/D [1844 0 R /XYZ 90 709.8418 null]
+/D [1817 0 R /XYZ 90 709.842 null]
 >> endobj
-1847 0 obj <<
-/D [1844 0 R /XYZ 90 627.8462 null]
+1820 0 obj <<
+/D [1817 0 R /XYZ 90 627.846 null]
 >> endobj
-1849 0 obj <<
-/D [1844 0 R /XYZ 90 548.9866 null]
+1821 0 obj <<
+/D [1817 0 R /XYZ 90 548.987 null]
 >> endobj
-1843 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F11 411 0 R /F67 366 0 R >>
+1816 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1867 0 obj <<
-/Length 2110      
+1843 0 obj <<
+/Length 938       
 /Filter /FlateDecode
 >>
 stream
-xڵ�Ys����)��RU�>�m�d�d�؛��l�h����+�<���i�
����j
F���o4~n6���?V8Ze�R��-
���G���~���܎���U��\��͈���_nj6�2J��z�踬W��z��x�����������L�\��?�U�ۖ�U{��z��	��j�bFZ96t���O�����q+����_��
��iD�pV�p�8Nj�Hr.������O�Cs�k×T+l1�X
w�b�4dRB_� 7R�}�8q���Y�����,+�d�QM����f>�9WǙa��J�Þb��t�$�j�ս_��]OXhb��G�����`�!
!�c!����ݬ���8�Y�|�!F2	a�5�)��3�x�Z�ႊ������l��P�l�|�_��/몬���/CbjL�kӼ�0>n ��O��
#BQ���PS���bG7�bWx �H=�>�OcP��ݲ��n�}/
R�|
`^���!R�)�#2�5D�[
w���w;Cs�yh��
��U{�X�+_��v�I��Hc�%I�(�Fj0�IM
�H��FRS]�Ԏ�R�!�����<��9�P-��b�>�3E��˃%�js
V�!��X
f~
���B=f
��|sWퟫ�pQ��m��D�q�+��
T�ݾ���\��������L+'`�D��f(ө�
ӈn`���g�+<�i$��_��պ������|��Ui
-��i��gAZK��A:�%
��
C��>�>ڏ��F�O�]�
�֙
6�JA���
f8���
�y݈h�� �
�h>�����0�&�I��v�N�΃���*��ٚ��^Փ��Pz=�_&J�o���tCO����"�؜F��;e/�.��U���
f8���
�y݈n����
�n>����1 ���AAǀ�����L
���pM
�p0�P��JY�e�I���DPf/�9@�
K����v�0�6�������
-`	��)��b>C��>���O�	t�Y�I͉��"tG3�y�A��6B*X���%y�(�
�k0�yM
�x��F^S]�׎�^�!���y�cp�
-��Ip�h��yH��q���R_�<�*�e���Wu��x�'�DH������8nn��m�0�-������
-�	��7��a�o
������`Q�w�y!�`��N�pW�����66/oo'��?�oŎ�O�I^�0��]X
k`g
l0ÁM
���F`S]؎�`�!�����x=��7w�~;�� �3�πհzr�<�JpfÐ
fI�}���:�������6f?RE�
����۞כ=
J�j�~< ���sg��C��+�N%�s0�qN
�p��F�S]����!������R�r��C��X-b_k��1��
����[8�w���y�Vɰ��`�Җ����
���y�:�H��{���|7��Tn�;�n�en��V�,%�kK�3j�Ά���i=Es�x�G����`
)�Q�6iys8��KB)%�̠T3
��a�˼n3�E��A3B�os``�iC�$��l����,�9h��
D��O�B5�m9�W��d�)/�H���
�!�h��8��׍|���
�!|�C���!��~_>n�����a⨤,��
-���Q���;C��3L�A�
���cB�K
`��
v\ ��L�3L"��Ɏn�ɮ� &�z~���C��۪�/>R���}LE�r$01��K�	���2�u��b6��
��T��
����mJ��ϋy��k��v�N ��0�/y��qK�P�m4�AO
�@��F�S]����!���~0��R"���<�w���p��$
ۨ�fi��f�!oD�r"47D�:"%��q�
-x�.�w^4������;��5n l3�<w�)`�)�g�hS��ie�t"�=��)s��	�1�՞8W�(%���u�f�:lφv�p�9t�ˮ���'oqߗ�Ш��b������=b��wdd2��tS��
Xj���5	j�o>��e��irG{��$����c���o�]]=??��
yZ/�5Y쯶���q\�*h
���u�G�z�t2/, �����jSW�p(|�j��{B1�Z(��N:endstream
+x��X[s�8~ϯ��
Q$��7�B���lxؖ�(��h�m%�i��J�d�Ѕ1��u���>���� p6z�M�F>��i�E`q������b�
� v�!��\�
�
��\9U���'�G���ܱ"�T�$��{Io(wq��R
�8H'F�Ňћ���z �[�a
c?Y1����J� ��l�U<_~s0�5B�}[l!z�
�~b*4�k�
[u��j
J�YN�0JA�6�^�K�Ӫ\�[�,��DC��>������T&
+�2���c
�)6��Ҥ	�Yۮn�7�d	�1=�c+��a�
y �9+)��]
:DŽy��*=�%天��?ݵ�gZ�ɔ`E�����p��$�=�V�0��ݚh�m�1����SW�l�L��w�#?=��a�yi��,6��7@Ν$���E؈��D�C7�������-[ђ�kCf�д0>�����Q�w��	��={�f2+�L/iN&1�^g�-mv�vdI�-��C��
+�
BǮ#媷�p�
XSZHגk[���Muƨ���=�+�d�s{
�3�̩H�9��%�fur"�~�DwgE��}V�4/�-k������bCe�svO�+�/e�	�/��F!ҵ�la=6Ӯ���M,��S�I��ѫ�Ac�0i�J��}���4
.P٬�W����RϏ	���7�/+�J*/QB�|�#�;C�u:T5}L(**�;ד��u����^>����-픮~D#�i�Y�V[���Q���ya�W�Ѳ�a��AR�5�\�^�`�t�!��yh��)����OL�	)���O��X8�a���fm��){m�2��
�'A�
7

S(���V�@Wܩ�(]퍠z��9ž��;���ϩE��}���z�
(�!�DM�Jo��>�L��-��-Y�!k&u�Oz
�A�Ҏ�}�M��[T�Z��E{i��<�[.׉
+endstream
 endobj
-1866 0 obj <<
+1842 0 obj <<
 /Type /Page
-/Contents 1867 0 R
-/Resources 1865 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1887 0 R
-/Annots [ 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 1880 0 R 1881 0 R 1882 0 R 1883 0 R 1884 0 R 1885 0 R 1886 0 R ]
+/Contents 1843 0 R
+/Resources 1841 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1845 0 R
+/Annots [ 1814 0 R 1822 0 R 1823 0 R 1824 0 R 1825 0 R 1826 0 R 1827 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 1840 0 R ]
 >> endobj
-1869 0 obj <<
+1814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 706.991 220.22 717.895]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
+>> endobj
+1822 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 706.991 185.8997 717.8949]
+/Rect [135.768 668.197 185.9 679.101]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-1870 0 obj <<
+1823 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 669.1734 192.5442 679.101]
+/Rect [135.768 629.403 235.154 640.307]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-1871 0 obj <<
+1824 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 629.4032 216.3649 640.3071]
+/Rect [135.768 591.586 200.833 601.513]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-1872 0 obj <<
+1825 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 590.6093 211.9116 601.5132]
+/Rect [135.768 552.792 220.778 562.719]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-1873 0 obj <<
+1826 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 553.8726 177.5907 562.7193]
+/Rect [135.768 513.998 201.401 523.925]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-1874 0 obj <<
+1827 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 513.0214 216.355 523.9254]
+/Rect [135.768 474.228 216.355 485.131]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-1875 0 obj <<
+1828 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 474.2275 235.1542 485.1314]
+/Rect [135.768 435.434 183.698 446.338]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-1876 0 obj <<
+1829 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 436.4098 200.8334 446.3375]
+/Rect [135.768 397.616 192.544 407.544]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-1877 0 obj <<
+1830 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 396.6397 183.6979 407.5436]
+/Rect [135.768 358.822 194.218 368.75]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-1878 0 obj <<
+1831 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 358.822 194.2182 368.7497]
+/Rect [135.768 320.028 202.507 329.956]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
 >> endobj
-1879 0 obj <<
+1832 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 321.1091 156.0218 329.9558]
+/Rect [254.544 304.461 273.474 314.367]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-1880 0 obj <<
+1833 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 280.2579 180.9283 291.1619]
+/Rect [135.768 280.258 195.324 291.162]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-1881 0 obj <<
+1834 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 241.464 195.3243 252.3679]
+/Rect [135.768 241.464 209.71 252.368]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-1882 0 obj <<
+1835 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 202.6701 208.0363 213.574]
+/Rect [135.768 204.727 156.022 213.574]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-1883 0 obj <<
+1836 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 164.8524 220.7782 174.7801]
+/Rect [135.768 165.933 168.495 174.78]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-1884 0 obj <<
+1837 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 126.0585 201.4011 135.9862]
+/Rect [135.768 127.14 154.368 135.986]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-1885 0 obj <<
+1838 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 87.2646 202.5068 97.1923]
+/Rect [135.768 86.288 180.928 97.192]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-1886 0 obj <<
+1840 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1868 0 obj <<
-/D [1866 0 R /XYZ 90 757.9346 null]
+1844 0 obj <<
+/D [1842 0 R /XYZ 90 757.935 null]
 >> endobj
-1865 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+1841 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1890 0 obj <<
-/Length 2172      
+1878 0 obj <<
+/Length 1067      
 /Filter /FlateDecode
 >>
 stream
-xڽ��s۸���W�����G�Z_r��]�&��t.7Z�mN%J��_�A��(�E��Cdr��X�v� AF����#%2���|u�G�p��+�ޞ��iW�wW��d$����F�$HPBGw�_�#2����vB�8ۮ�����z��/����~�m_&S*��c�ʫM6�ݟ��|;!z���Q\�"���~�zw
k�L���~�
����W1��h�+����S��X^}��G��n4
>�i�GSƑ���!"!:|P�
a�~�(CX
-
¨�HC%�a$� ��
1̻�6,�u9�x�b��������o��
�t�������A�^�HpLG]�ܭ�c+�3� ��P�
��b1�@Q�<��`/tA*eWq������,�G���B%�Y
q!��ѾK+D$�N("���o��
� �h>Ic"
F�N:�mę�#/e�R1t
���:��y��Q‘�R��ΗYU
�2���o�(:A<a_������춭@�>BX�K��C]CS;<ο%y����]/e���#�\��|�WU�-�m�/�U��Ko['��mڱO��ˣ�J���������J(���^,�lGa�ٸ� m�n�ڞ�S���0�k]�>���(m1�wDK����(�4��,�r���*����ӕ�M�8����?ynm���EY�{B���=�U�􁰻V�Tu�
-�택�A�8�*3J_�qJ璧�bi�;
-c���ƻv��
��x܅�^���zB�x�o��
x	3��!��YA
w���LS�U�uV�����e^w�}��Te�>�=��*�.d��˖��
-?J�0�7b�
M�0�$bI��
-#'�z�{v��
�@p
�^���UV=�>��E�
��"2�-y���"�u��b��T�k,�_�
�^͏f��\Z���zq`���p��uZ�s�/$���,�N'�3���b�{�4�
�1��v�]�	�{�O!>��@�uᦩkv
�"�S
��2
�!�<܃Ee�Nq���0�oz�K��
 
-i��%3 s�5K�%�X::
-c�2�k7�=çd@܅��fI�>>1�6$&
�`���9���eF$�b���y�f�9,]����s	K(���A,�|Wa��]�|�n
����O�0��4�M���E�\�8���W�N��?��@]OĄ�
�e}�AX
�J/�o����@��*�}z�-�;�l���Ɏ�8�
#B%�$�L)7]���bi�;
-c`����v`�
�v܅��f���DGI�E���a�V4�dx��a�ً
���R��6kǦ�T��-ػb�.;�{E~�&���)/_�-æL����CuLY��ӵWS�Jn���x~`˥K6�Lk�(���b���*��G®O���xz�
��
	z���Ys��#;5�~����LĂZ��9҄)���2�&A��[5\�J���N��ܴ��v4�+?�q��%��q��{
bi�;
-ch����vh�
��v܅����Ϸ�e��=�F���&
���ɳ4�
^����� f��Ky�~.�%��q�a�1����M~����^��q?��}�<Ddk�Q���=�� tt
< @�+��]�O�h�Y�JX�c��fKW �-A,�-Q��ْ�볥g��i�i��_>;�[�tߋ�ӊ����j�Y����Tά_�� �M
-�� ���~ߞ�o�`ɝj��X�]�-��0��r�@��k����u����W�0S�3�C(!Pǧ�)Ҙ\� ��knR{;A,�yGa����y��[8�yq�qw��ZoV�o_fΏC�s�4<��'HJl�Cz6��{��EIw�y}Y�6����#�c���l������b'���8�]��=�=�Ü������n>��x7����{R .�s���+/�po��m��o��7��
-``�
X�"��Lj�
-��ϒ
-DI�a�Tb�TȖ�o��yV�35e�
-����57��gl|�~��q�	ʿ|,�`�`�0�K0���4�;�`F�7	�=e{��	�Di�n��aV���;��K�o�d{��E���Ͼ
}���`��d�*�M�
���y~�< VDߚ ���
�_�
l
�v�p���v�׎���7����vh^���lQQ_o6��Avhx�\��_���

|�E�iX�({]_�P�C���̮h,�t8���1.�
endstream
+x�՘mo�6���S��$�I=�{��I��M���0$�@[�-LO�ާ�Q$e[Y�
N��$J:��w�;��A�?����G<��͖hBP
Q
z�Rt�P��;��g�RⰦ`����S�5O�|��
kv��
�s�
+.j����/y�ұ�K5D�`
81u����g�?tD��1��-����R��'c�m�*P��p�����1>�O����S(��7�d�b��$
+�_?i}�jS�<�i�TR�b?6�ոX���4tp����.Br at r�y8
+<8�xbh�y^xd�C@�ș憢Ѭ
���%��B�UU�<�i�<���+�x��R�V�Y���+r��`b�\�t��YU���l�	��v{Z7n:�r�>K��kv�V@;Tp��L�,�����<�V�{&���e�	0O�yV�B6�B�V��Q�~�'ý��3�o3��B�F��6؍�X��4Y��P-�d��Am��ch{A�S-
�m�O��&f
^����
�ɔ�'��I^ԕv�6}Vj�,7Md~���N^
w����XΤyX�j��x̘���ii�d��ٛ7/
�K�Y��81?�`k����t��a8JY
=�
���NCp' yg�7K5U{�^?�\/t����j�f��2��<ˤ=�s&�0oq������J5>���0e0�J(�ݟg�t�Y���^�"��8M.!�U4W���>�GK��L�:���?7m��|��� S�䰊�E5|��-ֆ~��>����n
8��
������nE��6uٔ��/�ȧ�Y�K	��W�k�����A4�|�Bz�
݂j}
�\W�
�N�7�����������) �o
R
�;vܟ�;��/�P���O��g��W�d����kk#x
+�
!�"��+]Y��b�!�Ldv�Y���Ճ=�j�o�J(
�~�i%�t�o�W�mJ�'1�	�5Np�[���v�b7������g��Ty3\>�rc�^��׵
��T�p��}�ݡ���_A���g��
���Ʊ�ي^KY�8m�[�xSfu�39��|�X�P�/���	Iߥ:
L���@���
+endstream
 endobj
-1889 0 obj <<
+1877 0 obj <<
 /Type /Page
-/Contents 1890 0 R
-/Resources 1888 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1887 0 R
-/Annots [ 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 1904 0 R 1905 0 R 1906 0 R 1907 0 R ]
->> endobj
-1892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.5439 720.2355 273.4737 730.1407]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
+/Contents 1878 0 R
+/Resources 1876 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1845 0 R
+/Annots [ 1839 0 R 1846 0 R 1847 0 R 1848 0 R 1849 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1855 0 R 1856 0 R 1857 0 R 1875 0 R ]
 >> endobj
-1893 0 obj <<
+1839 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 696.0019 209.7103 706.9059]
+/Rect [135.768 696.002 208.036 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-1894 0 obj <<
+1846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 659.2049 187.0051 668.0516]
+/Rect [135.768 658.124 210.268 668.052]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
 >> endobj
-1895 0 obj <<
+1847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 620.3506 174.034 629.1973]
+/Rect [135.768 619.27 229.087 629.197]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
 >> endobj
-1896 0 obj <<
+1848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 580.4153 210.2678 590.343]
+/Rect [135.768 580.415 195.872 590.343]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
 >> endobj
-1897 0 obj <<
+1849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 541.561 229.0869 551.4887]
+/Rect [135.768 540.585 247.189 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-1898 0 obj <<
+1850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 502.7067 195.8721 512.6344]
+/Rect [135.768 502.707 205.835 512.634]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
 >> endobj
-1899 0 obj <<
+1851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 462.8761 247.189 473.7801]
+/Rect [135.768 464.933 187.005 473.78]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-1900 0 obj <<
+1852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 424.9981 205.8346 434.9258]
+/Rect [135.768 426.079 174.034 434.926]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Domain__Product) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-1901 0 obj <<
+1853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 386.1438 211.1243 396.0715]
+/Rect [135.768 386.144 211.124 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-1902 0 obj <<
+1854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 346.3132 192.3952 357.2172]
+/Rect [135.768 346.313 192.395 357.217]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-1904 0 obj <<
+1855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.0118 265.5507 237.655 276.4547]
+/Rect [172.012 265.551 237.655 276.455]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-1905 0 obj <<
+1856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.0118 226.6964 249.8192 237.6004]
+/Rect [172.012 226.696 249.819 237.6]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-1906 0 obj <<
+1857 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.4548 187.8421 310.4717 198.7461]
+/Rect [264.455 187.842 310.472 198.746]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-1907 0 obj <<
+1875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1891 0 obj <<
-/D [1889 0 R /XYZ 90 757.9346 null]
+1879 0 obj <<
+/D [1877 0 R /XYZ 90 757.935 null]
 >> endobj
-1903 0 obj <<
-/D [1889 0 R /XYZ 90 282.6217 null]
+1880 0 obj <<
+/D [1877 0 R /XYZ 90 282.622 null]
 >> endobj
-1888 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F52 341 0 R /F67 366 0 R >>
+1876 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1910 0 obj <<
-/Length 3617      
+1923 0 obj <<
+/Length 1338      
 /Filter /FlateDecode
 >>
 stream
-xڵ\�r�}�W�- at U8����!�6	Ҽ(�ą�HHBL 
 JQ\����e���;�2�r�D��t�Nw�
�
���wƱLi�������7{������xy���5�ˬ��W�s+��B�_��2������ǂ�n6˛��X���������fv�x���|H�Gӛ�|�ps;/^^���7c�G�UxK8�����W��M��a��FY����/���;���=�T���gx�d��_�i���{�{?D�����7B
�_*ƭQ�����r���-֫m�՜3͹�v
��YS�2��~�	���Ҵ��OI0*�Q���,��6u��+�U<-Z��W�%�nA��,@�������~�l�`m�%�{����c�{�T�
�V!�^3m��
���$BaA����������,��-3ھW(J
��"Q/�wF
���S�7�}v2���m��)�d���"�1[��
-��~�c�xJ
����n+ÜV��%�Rmsu��9sI��\�)u�[�<�Y`-��<�(]��=�c&Z�
t��^�@*�+X��t�,� A�-
��]�(]���D�Rv�“�m�2���6c6#ݮP�.b�v�if�W�]�)y�[&��3��H��nG��ٺsʞ���
�|��|�
~+ˬ�(�+%�؈�6�����]�@*�+XپO��ח��������O��(�ЦeN;�0���2�2m��D<)��
-ܛ��f�o'�O��ʌ�ѶI	�kxj�@Da	f�
��q+����xR��[���X��A��2
��"l�l�!�BBu���D<%�x��p~vI��%�N�t "����!��ᅡ��Ta�`ռ>�~8Ev��Zv��`���[��>��p�+<)��-F���W�˫����{<鄵�I{_b�6S�
V>J���G<)��-<?:~;�yr1�|t��QHY�u���",�l=5��74 O�#�" P�f�GG�_d��0w��%��osI/9L39<�kH%}{r>��煇��n����
-E�غ�� E�����<�}����'��m|���"�1[w�Ťqb��O�#ޚ��'�ٯ2&2M
��"��l�ٯ5,����<�}
-���ˮ��1���?�0Q �f�|�R�	�J�U8#���
�Y&��D���%��os�l�e�K熺^�)�k���c�GWa-�1�+(�t=���'�3h
-"�z�S�-��u��L�y�t�JHsXE��T8"(m��Y8X-q90
Nh�Yq8�b� Xf5�	�l�10��J�*��h!7�d���
�
uP�u�5��5Ä]s�`
.�$�F�U;�8��:;=���0'`�7-i�_�(�
�&W���?|�䘰r�XxP�{q��LY?w$5��,�Α��>�X
�`��Z�2�$
:{>Zo��w��a��qw�^η��ſ7�?�caF��h�pR9�+�Y�>.��m	\/
w��
���@e���Ϫr�Ő���`�(�8�q0a��`�0q0H�ƱY��<�0�Ϭk�&��K<e��׏������h��ّ�0暈@�"��M�Z���5�i�
u?�)y��%��G����"{<$�I�
-BDQV ����)��n��xJ
�6�p}��&�K�Q�>f�THv��P�#��G�M���@�@��Z	��H�AD6hXO{/-
�������o30��a�Y�*���pP�*���dr49��xs�mF��[-{7�r�A
ֵ��T���t3����YʹƑj��^?�xET�����֒��~�!�嶿a�Ө0}n��I��
W~2�aF�0넉�I�V
����I��
p��� �
��a>�a�
-�����|9_��5RB�7�XDa	��pq�a	n�J�J
f��<�
���cXX\�SI�B��9�z���[w��!�
�z�'�ۼ�ݵ�s|���}E
��"��TL�����is;ӽ�
Z��
��a�����֪�n
ȇ|��
-W�򤬀ﶻ��]�μH����a�"��ix�Ӟ)m,U�*]�j���֍寮�.
�!�/m�-.��
kv�e�n}�oEd
R֧�Q�	:�
W@&��(�P�4��'�?�z,ȟL./gW�8xt�y
���Fa���[�훰��b����o�F��.�E3�����f�40a���@��%�0�u7 �ܹlh
"��G�yH��i������2 ���3��6����|�7ȿ��
�����9
4�ΥH�#��0[z�QC���
�e\�@�&T0��ڐI��an�
��R�(#[��d��������-�|EX.��`�u����Q�
�x�!dM;�gH����sfH5��
�׾�Q��b��͛f�lGe�+�7�
U�1+�
��t'���N�01�!t��j�vo�r�5��nb{��S �`�+X���+��,v_f��o���+�Ze2E�!���D��փ%��R
C�S�7?28;��棟�g�LJ'�Y���ǎ;xʄY�w�`Da
f��/��>V\
F�S�7�_
��'��]ػB��;^�"��l�;�
V�r���xJ
����Oq��z&�i�<�GG��	nL
^k��'���:���/&��-����	�C�:G�DX��H���<l�w��PT扦 
1g���k`%-,6�e���B�0�Һ�)�u�k��50a���v����:�t}7�ř�r��t"�0"�zy�0�c��C�(=4O�#� z<=>=����
�M�]L�C!�#0[w#�F��Cc�|�7���D
<g����c �(Ð�-��ww�~V��q��\�\P˖�%�L�����=_4��ʝ�e�
*]�"�,wu�D�#t�r���.w��m�&�]��۬E����7kx�����f����0^�W2
��"��0���.ް���)�a�:4O�#����������d�ǣ8.���x&�

�d0"���uW=J��C��<�-��2�O��X��pœ�ED�`��tP�31�Bj���`�L��*t :RCIaX7�B�Ka�԰.�P�����|S�g��9� ¾���c��،����3Y�
-�H�c{{���s��W�u����g�W�}�"��2��>u@��D�}��O݇ЭxC�q�]|X���]Ŕ������S���@���Oaf�ن����_�M�p���(ˆ�U#�k=n8�/��`�3.�yք�ΑH�+6w���I̤"J��0x7��d���I�C�b�l�˛�z�
-w����L
��P3��s�F�ʍ�n̍�.�
�!�����X��rC0�4��"����Z��J-��	��q����%�#ӟ�
�L�N�o�
Ђ�$��#�N�a*9Һ19�tr4��$G�
-��N��|,���"��9�ͫ,
��"l�2�5
݊�#<|���g�H�#�#�?G�{�!|e���t���LIc�(�`
-ܙ-

��ŭ�?�'���
�1��
�9��Ya8�0��r�U
D~�i�,�@q^�A��e㯺]o盿����?�Y=��?�S�śa/.�"6>P��9�|t'\�-P��������
���Os`W���?�v{������v�
W��
[�^<<ܿ��a�X4�B�a%�҈��
Jeݖx�v�ޔOb��7��_I	�j;L�?�1�endstream
+x��Y[s�H~�W�P��n�Q��D�2�@ ���LQF;	;`�٩���HԨ$��>X@����w���F �i�8h

tU0dCWt!�
 tt(#
+�L�!��Ԇ  ѕ 'Y<	]Ib:�ųl��l�=Hmў�8_L��?z�g�8�C��u5��H_�-3h}oA� �u䎊�iܺ�
+��  Y5��=�*4E%׹��Z`�U:�k0�e��I�I�f�D���A]�Ԯ�VY�d�(
+Z�.ۈ��	f9N��n�ux�
��|9/6e�����B"�����'��x��pG�u����P21�-vZ_�<{�X_\h���U_��YjȀM��,{쇖=�l+��=�m���DoMo0t$��9	�a
\�?\������g�V��<��
���ڲ}�<�lz�D��0!.����z�sS
�D
���GN�0������q���Q ���<Ib@à�0��;��4��ҘhS�`(����"nLr}?<qF����S
�(�p����ɰ�\�����%�:ϣ�yY��e1MI�.���u�/S	"�Oi��Fk>��ﳨ��qM��x�,X]��궣β�)���M
+-R:��.�Y�܄�({��tw��R��������u�d
`�
,j�ۛ��1qT��Ѫ�X�S�4�f�U]��;Č@�x�[-6v�f?�����4m�����
Nh��Cs�c��k���m�
���5̑��>��&�6�%��Ȟa�7,�ڐ#�,���U^�i�G0��=���9�������]t�����0��v��
�����1%�v+�D��3{�P
L�p=�����Tif�.
�Ji|�9��rFU��	�Ts�&�����d>��M$US�%
+�:C�/lgd�����O��s
+�[L�P �t����N�fF-I$=%��v���,mO)�8�
�j�,�(���9g��|Y� �m�5�>��e9uk���W�YU�������d��h�@�A7t��h�>i
��Œ~�c?��
�=�:
�!��
y
հ:�}��?gKt9n@��Sз�����5g^Ґ��/3o:���qGy�&k�nmՐAWhk�
Q��`�L_��m���MB�${c�fk��4��ɟi���/ 򃇆���eV���T���-q�+���u���qL�n��zu֢�MYc���Y�H�C�]Dގ<��j�3�<n
��DS�}�i=;�'��e�CB���#CFU�
5c{�,.O#�����g�8��/BbI�h�,'s����A ��3�*��,�U�vW�/�P�}�)�(� �ۺ�%S��(�

�����\^&�"���h��=�wO(�����y�!�iVr%d0�r�B��/ŵ�[
+endstream
 endobj
-1909 0 obj <<
+1922 0 obj <<
 /Type /Page
-/Contents 1910 0 R
-/Resources 1908 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1887 0 R
-/Annots [ 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 1933 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 1942 0 R 1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R 1955 0 R 1956 0 R 1957 0 R 1958 0 R 1959 0 R 1960 0 R 1961 0 R 1962 0 R 1963 0 R 1964 0 R 1965 0 R 1966  [...]
+/Contents 1923 0 R
+/Resources 1921 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1845 0 R
+/Annots [ 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 1872 0 R 1873 0 R 1874 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 1926 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1894 0 R 1927 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 1928 0 R 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1913 0 R 1914  [...]
 >> endobj
-1913 0 obj <<
+1858 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 697.6209 165.9944 708.1512]
+/Rect [138.538 697.621 165.994 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-1914 0 obj <<
+1859 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 681.6807 177.89 692.211]
+/Rect [113.91 681.681 177.89 692.211]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a896b8890edb38e9960c455aa178e508ba) >>
 >> endobj
-1915 0 obj <<
+1860 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.8788 681.6807 206.3035 692.211]
+/Rect [180.879 681.681 206.303 692.211]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8b30277f972f730fe26f6cfc39098cc77) >>
 >> endobj
-1916 0 obj <<
+1861 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.2923 681.6807 236.7393 692.211]
+/Rect [209.292 681.681 236.739 692.211]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e704947d33ff1b60a2475950d5f18ec3) >>
 >> endobj
-1917 0 obj <<
+1862 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7281 681.6807 267.1751 692.211]
+/Rect [239.728 681.681 267.175 692.211]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) >>
 >> endobj
-1918 0 obj <<
+1863 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 666.0841 141.3574 676.2708]
+/Rect [113.91 666.084 141.357 676.271]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8d5e386c6a05c9656eac42fe9e2cdd8b5) >>
 >> endobj
-1919 0 obj <<
+1864 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.3462 666.0841 170.6873 676.2708]
+/Rect [144.346 666.084 170.687 676.271]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8c77955fc77a169347da8820b46c3247b) >>
 >> endobj
-1920 0 obj <<
+1865 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.6761 666.0841 201.1231 676.2708]
+/Rect [173.676 666.084 201.123 676.271]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a86c817c11198882f3864d8ace4ec326dd) >>
 >> endobj
-1921 0 obj <<
+1866 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.1119 666.0841 237.6461 676.2708]
+/Rect [204.112 666.084 237.646 676.271]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80d808c2d0d6514c33e06445d7aa34270) >>
 >> endobj
-1922 0 obj <<
+1867 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 650.1439 214.9607 660.3305]
+/Rect [113.91 650.144 214.961 660.331]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd640c30f757e4ecccd08ac527536ca6) >>
 >> endobj
-1923 0 obj <<
+1868 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.9495 650.1439 312.0662 660.3305]
+/Rect [217.95 650.144 312.066 660.331]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a7ce2ad16ee907ff9d31eeb1cda41834) >>
 >> endobj
-1924 0 obj <<
+1869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.055 650.1439 408.3645 660.3305]
+/Rect [315.055 650.144 408.364 660.331]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8979f37a289d4cb316643f1dcc07ec7cd) >>
 >> endobj
-1925 0 obj <<
+1870 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.3533 650.1439 503.2681 660.3305]
+/Rect [411.353 650.144 503.268 660.331]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a805e540f453fd070a4e4c0fdd887f4b7a) >>
 >> endobj
-1926 0 obj <<
+1871 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 634.2037 155.9525 644.3903]
+/Rect [113.91 634.204 155.953 644.39]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89606fc251d767040929d3e2645dbb446) >>
 >> endobj
-1927 0 obj <<
+1872 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.9413 634.2037 242.8463 644.3903]
+/Rect [158.941 634.204 242.846 644.39]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e0c660bfcbcd3d10c3e764e22f41d0a1) >>
 >> endobj
-1928 0 obj <<
+1873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.8351 634.2037 308.3006 644.3903]
+/Rect [245.835 634.204 308.301 644.39]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) >>
 >> endobj
-1929 0 obj <<
+1874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.2894 634.2037 389.0973 644.3903]
+/Rect [311.289 634.204 389.097 644.39]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a1bf7bec2cb0d949e45c3cd0e25874a6) >>
 >> endobj
-1930 0 obj <<
+1881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 618.2634 187.8427 628.4501]
+/Rect [113.91 618.263 187.843 628.45]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a85912e00d1de38a643d48af1f0e5dd35f) >>
 >> endobj
-1931 0 obj <<
+1882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.8315 618.2634 249.272 628.4501]
+/Rect [190.831 618.263 249.272 628.45]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fda2f32e2fc3f61357ce0d9d7813f5fc) >>
 >> endobj
-1932 0 obj <<
+1883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.2608 618.2634 340.1907 628.4501]
+/Rect [252.261 618.263 340.191 628.45]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8930a62d56d7231cdb1ed57e1d3eff0f7) >>
 >> endobj
-1933 0 obj <<
+1884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.1795 618.2634 418.7855 628.4501]
+/Rect [343.179 618.263 418.785 628.45]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd1bad185f4622d07b171767dafc78b6) >>
 >> endobj
-1934 0 obj <<
+1885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 601.9795 181.9151 612.5099]
+/Rect [113.91 601.98 181.915 612.51]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a0f28596ac7d4a43766fab174c28ccab) >>
 >> endobj
-1935 0 obj <<
+1886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.0314 601.9795 252.5193 612.5099]
+/Rect [188.031 601.98 252.519 612.51]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8261922c7bb53bf71459671df868e55da) >>
 >> endobj
-1936 0 obj <<
+1887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.6357 601.9795 409.9476 612.5099]
+/Rect [258.636 601.98 409.948 612.51]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80905d51325862cb4db00635875efcff8) >>
 >> endobj
-1937 0 obj <<
+1888 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [416.064 601.9795 513.9963 612.5099]
+/Rect [416.064 601.98 513.996 612.51]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8202263943c451b9fdfe003b2bc8d0b1f) >>
 >> endobj
-1938 0 obj <<
+1926 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 590.368 170.3982 600.5547]
+/Rect [113.91 590.368 170.398 600.555]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8202263943c451b9fdfe003b2bc8d0b1f) >>
 >> endobj
-1939 0 obj <<
+1889 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 574.0841 196.7094 584.6145]
+/Rect [113.91 574.084 196.709 584.614]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fdd3365de1a07c7f7bdd1dc330bba8f4) >>
 >> endobj
-1940 0 obj <<
+1890 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.3004 534.8562 200.8567 545.7602]
+/Rect [141.3 534.856 200.857 545.76]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-1941 0 obj <<
+1891 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.1526 534.8562 286.78 545.7602]
+/Rect [214.153 534.856 286.78 545.76]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2beee33de6f8542b0228161d044640eaa) >>
 >> endobj
-1942 0 obj <<
+1892 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.5314 534.8562 347.256 545.7602]
+/Rect [292.531 534.856 347.256 545.76]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2a57b0c1a34eced57ca8437eea92a4328) >>
 >> endobj
-1943 0 obj <<
+1893 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.0074 534.8562 432.6285 545.7602]
+/Rect [353.007 534.856 432.628 545.76]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb20f182c5824807f7bc66d2d2033810feb) >>
 >> endobj
-1944 0 obj <<
+1894 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [443.6303 534.8562 513.9963 545.7602]
+/Rect [443.63 534.856 513.996 545.76]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) >>
 >> endobj
-1945 0 obj <<
+1927 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 523.2747 155.7434 533.805]
+/Rect [113.91 523.275 155.743 533.805]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) >>
 >> endobj
-1946 0 obj <<
+1895 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 484.0468 223.9268 494.9507]
+/Rect [138.538 484.047 223.927 494.951]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-1947 0 obj <<
+1896 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.6976 484.0468 282.9451 494.9507]
+/Rect [231.698 484.047 282.945 494.951]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e757308990edf84fcb94023ff4a7183bf3f8dace5) >>
 >> endobj
-1948 0 obj <<
+1897 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.9339 484.0468 321.6896 494.9507]
+/Rect [285.934 484.047 321.69 494.951]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e75730899c7753e1dd51e1b7b3fdfafa9f8332370) >>
 >> endobj
-1949 0 obj <<
+1898 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 445.1925 210.278 456.0964]
+/Rect [138.538 445.192 210.278 456.096]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-1950 0 obj <<
+1899 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 429.6259 171.803 440.1562]
+/Rect [113.91 429.626 171.803 440.156]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae556cc08f48e769b9c15bea83d5d883a1) >>
 >> endobj
-1951 0 obj <<
+1900 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.7918 429.6259 257.0929 440.1562]
+/Rect [174.792 429.626 257.093 440.156]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312aed8db7109fb4bb50360b05800dd245416) >>
 >> endobj
-1952 0 obj <<
+1901 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.0817 429.6259 295.3295 440.1562]
+/Rect [260.082 429.626 295.329 440.156]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae3e4424ce8e7ebe86e125541b561fc300) >>
 >> endobj
-1953 0 obj <<
+1902 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.3183 429.6259 402.1983 440.1562]
+/Rect [298.318 429.626 402.198 440.156]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae079e4b80f17b0095497103a52cffa3ab) >>
 >> endobj
-1954 0 obj <<
+1903 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 413.6856 193.382 424.216]
+/Rect [113.91 413.686 193.382 424.216]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae94cf20719046117aece5acba61dcae4d) >>
 >> endobj
-1955 0 obj <<
+1904 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.3708 413.6856 256.6746 424.216]
+/Rect [196.371 413.686 256.675 424.216]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae8191bdbdcd041a9859ed465d16062ab1) >>
 >> endobj
-1956 0 obj <<
+1905 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.4482 374.4577 214.9143 385.3617]
+/Rect [139.448 374.458 214.914 385.362]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-1957 0 obj <<
+1906 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.5059 374.4577 360.535 385.3617]
+/Rect [224.506 374.458 360.535 385.362]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc171c9b0459dc8ba8cc0c8178b6cf4f017) >>
 >> endobj
-1958 0 obj <<
+1907 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.4342 374.4577 478.2267 385.3617]
+/Rect [364.434 374.458 478.227 385.362]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc1b39e3c667ce455313f8ff578722af2e9) >>
 >> endobj
-1959 0 obj <<
+1908 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.1259 374.4577 513.9963 385.3617]
+/Rect [482.126 374.458 513.996 385.362]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc140409716eac06f7ee5c44a200d3702f0) >>
 >> endobj
-1960 0 obj <<
+1928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 362.8762 180.1017 373.4065]
+/Rect [113.91 362.876 180.102 373.407]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc140409716eac06f7ee5c44a200d3702f0) >>
 >> endobj
-1961 0 obj <<
+1909 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 323.6483 221.3364 334.5522]
+/Rect [138.538 323.648 221.336 334.552]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
 >> endobj
-1962 0 obj <<
+1910 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.1072 323.6483 301.9236 334.5522]
+/Rect [229.107 323.648 301.924 334.552]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d654324bf568397fdfc332a4c06e7a4facf5) >>
 >> endobj
-1963 0 obj <<
+1911 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.9124 323.6483 381.6042 334.5522]
+/Rect [304.912 323.648 381.604 334.552]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d6540e1a601a53491f60c89282fde55b5352) >>
 >> endobj
-1964 0 obj <<
+1912 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9897 285.1676 225.7794 295.6979]
+/Rect [137.99 285.168 225.779 295.698]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gdf9d6f17d8974c81e3499f170e7762a2) >>
 >> endobj
-1965 0 obj <<
+1913 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.454 285.1676 369.6585 295.6979]
+/Rect [232.454 285.168 369.659 295.698]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a253f4353b82f1a10a08b1e756bb7c84ad) >>
 >> endobj
-1966 0 obj <<
+1914 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.0992 285.1676 511.5056 295.6979]
+/Rect [372.099 285.168 511.506 295.698]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a2b2bc77b49f9450faf5b5f8ca5374421d) >>
 >> endobj
-1967 0 obj <<
+1915 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 273.2124 243.912 283.7427]
+/Rect [113.91 273.212 243.912 283.743]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a278fc3e83d58f3eb97a8041b600870a05) >>
 >> endobj
-1970 0 obj <<
+1916 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.3758 192.0763 211.7726 202.9802]
+/Rect [152.376 192.076 211.773 202.98]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_0adf6106892886dc859985042b8a7433) >>
 >> endobj
-1972 0 obj <<
+1917 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.3758 153.222 212.3305 164.1259]
+/Rect [152.376 153.222 212.331 164.126]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_f9dd9190c5f29dbbfa3d6e442dea7e7d) >>
 >> endobj
-1974 0 obj <<
+1918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.3758 114.3677 220.3802 125.2716]
+/Rect [152.376 114.368 220.38 125.272]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_5604f97d216583cdf012a50d2f8cdbde) >>
 >> endobj
-1975 0 obj <<
+1920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1911 0 obj <<
-/D [1909 0 R /XYZ 90 757.9346 null]
+1924 0 obj <<
+/D [1922 0 R /XYZ 90 757.935 null]
 >> endobj
-1912 0 obj <<
-/D [1909 0 R /XYZ 90 716.2211 null]
+1925 0 obj <<
+/D [1922 0 R /XYZ 90 716.221 null]
 >> endobj
-1968 0 obj <<
-/D [1909 0 R /XYZ 90 211.0501 null]
+1929 0 obj <<
+/D [1922 0 R /XYZ 90 211.05 null]
 >> endobj
-1969 0 obj <<
-/D [1909 0 R /XYZ 90 211.0501 null]
+1930 0 obj <<
+/D [1922 0 R /XYZ 90 211.05 null]
 >> endobj
-1971 0 obj <<
-/D [1909 0 R /XYZ 90 172.3153 null]
+1931 0 obj <<
+/D [1922 0 R /XYZ 90 172.315 null]
 >> endobj
-1973 0 obj <<
-/D [1909 0 R /XYZ 90 133.461 null]
+1932 0 obj <<
+/D [1922 0 R /XYZ 90 133.461 null]
 >> endobj
-1908 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R >>
+1921 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-1978 0 obj <<
-/Length 2914      
+1957 0 obj <<
+/Length 1509      
 /Filter /FlateDecode
 >>
 stream
-x��[�r�6}�W�m�������I%��8��)�R�2=ÊLi(j�ٯ�I��
�G��V*5�t�}��it� Y`��,
^(��a\.�Ox����t?_��W!�ow�o�Xd$����Ƃ$HPBw�.	F��`��7�/��)[�\R��n�|��l�cq_e՗�+*��]���w�:o������e^گ��/���7w�X�[0I,�O������
���b�
 c���S���\�r����\0u���+Ƒ�p�l|(CX
-��#h�%�L��(��R1�'��**�"48��Q)��#����=���C�?�|
���d���T}�0�!
�O�ٵ,>_�̫}�-W�y�
�P�a$	�Jp�0��� `��2
��0ֈP2�H�� O��	u�hh)��@K�&4� ��~qey����*��ꏝ*� 5����=���}
�nn~l?|��K`4w��4����!s7H(2b:F�2��B��`ia8`\*"���z[��6r�Ye�_��a��
��j'
e$"�MG��r�ݡՁ|F,
G�H�%|��X
�'�)
�R�Stڈ���F�鴲�q��	�d���f_WE���l�:+J��WJIhİ���	�SRr����11��z5�~�\9�x
��8�]��>+˼��"ɹH�ʡR����
-��QJO
#N�>IO����
�z�B
��r^O� .�9��@1��_LO��S`p�D��N��9�Ԕb�U�����M=�ǡ�UXE�Q��^��P	ۂ+���z�֛l�/
��*��	�fr6;TʷHi5�mU6�k�\��߽�'
�Ώ�-a!���{T�3,�
#���XzZ7��)�%�I/
fI���vidX�6���˪ڗ��*Eˋi0����V�n��9WP�C�~�[hG7ߴF����m�������Eݵ��.��Yic8����H#Ϙ���[�m�IW
�LW������Q���v��e���~����)#��A�_�w����<G
S���JyWiÆq�J60E(����w����X�H*n���Q	��v�R
�>�lE
-szR�	lĒ�����8�@�3Hv	���D�
�
��]ӝ�]�(7]�(
�Sٶ�N`ܶ�G&���Unk��f����!AB
uμD5R���by���y)0�Kq�>/�~?7���x�
��"�#��çX��Z���
-
-��S��|e
�j�Y=
�u
=�~�Z�lo���'
-�2�
F$ф�Ɯ$��FL�fy}��4,�޼i8�K.���4_�@��Cyj�U�5D��P��%U��"�ש�����j{(�g[=U�DoU�壩 Ч3+�O�u�>���!/
�#^���P	6�k�9̏��$$¡d0F�S$ڈH�����ׇ��dj���@/�Vڈ��@Xh�Y�p	,�^gT
��X��UL5�VM`0���_���or-��>b-I��u�%
-�:C��G%�P��vV��$�&n�Ee�$"���d؈���,�_�zv�IH��l;Q���R�՗��q��E�
f^�:
M�9 �ROk
*-�s1�E�z�N{s��O�v�~[=L/\�
0�E������qr#�^����S�c�/i�v�6 0�sb
-J~Ct��a2�0H�St���ҡ�תԈiߚ�f��0����J��msygj�ڲ��s�=�}�q?��f�1��Y�2e��K��
�L	��HNH�uI���+��$�B��ӂ�'���
�VUnW�l��l=����n��G%�r3���Q���,���±��)`�����T�a�(uҞsh#�L
�%�0B[��M6�����4�&�e�ل����0߀5���M����_H5�Bd_.�
	�]uN����iw�3��
w���f��x�þ��d4k���z��Ť�T��(�Z���q�{Ϛ�`Ѕ0��<` �u���t�

��\ܯ�s��d���}D�`1��m����1�͈�>���ţ�(����$��aښ^�	KO�H�9�	mDғ�u��u+��Eϫˎ�$f�=�����SI
#XSd�O�Z ��9��(PI��t��Xs�Ɲ:��N�J�9>B�q
-C��L�E�}�#���@xP��}*���H�Q��&��3c����
���{�;��W`fO�1:��r����r�[��Պ�=e
icR������'���'�[���,���v
>E`dשg�1_�
WC���G%�42Ò
F % �V�"?�;m��`��χ�*�z�~�T���z�_c�>�z�>̓+��%�<��X�����ݺj��b|�R8W�GY6G�T��}f!	I�t�
Kh8�Ǟ�)	��+Jh�?����đ��
C������'
�ʶe"�<]]���w	B�j0M
�=���I/K�6"����~u��;�=�=��}�#���ڜ�}����������O��}����w?ݾ��#���v��O�Nޚ{
�����1�K]�����|����920�0~}�
�&߆��>�m������O��e���SU�v�C͛Q��ʞ�z|.�l5���)
-��`6}��$QrN姽�ڈI���%��1���gG��m�NS�?���-��w���!�v����N\�������LÈ곾B�B�%_���1���z��~�}p���p���nS=���V�VHZ
��xT��U$t�a�o�������ݵ�'
�
-m�4�`3����h�U�Sv�AZ��eÀ��I_��q�v$R�����u��ת������.��{4M����Ru�g�������˥n{�YypA��.|����VV�Aw �a
W��`E����������@��%r��Ȯ��u�������3Z�ѡ,v*���ns=z��m��L��pt
hĥy�\UȽ!?_�����
����SS�	*��4
-Oendstream
+x��Y[��6~ϯ�[��H��}la(�eY���(�����]�ް��=�%��������qt9���st$a������o���O�E��[�3+�V��9ĺ�Zl���ؾ
l39g����v�=��d�t"�|
�
ۯٜ�Kx���ϸ
���B�"��v@��n_����[���
P@=+�>|��޿�0�Qh-�Vs�u(|fֻ���>�U_<��
�>rihE��Z�>:��Lo�YF
xW�2�|�S6�;m�M�J��0$��e��"��m���|�
�����
_�����Lt
从5".�\���W�e
`u��lfk�D=� ��s>�hv}��}xP�c[Y�z-YZ��Ș�Ed?fI.ʪ�.�gR5_9�r�ROX��1݁�r'�m�s�
Q����\���9�O�����]V2w�I.*������	����fB�}��hraz o���e^�)��r+#/�;��j3q\]�o���lmC�f�Ou�27�X�
N6�5!��Ҁ\B� [...]
+���"��
�Ri`��
��g_,d��L��%�
�
:�~&ژ�jx�ń��4u�V)�ҿ��n���1�uܙ�c�2��Y-��.���n��4v44d�Π�ᥐ��4���/�

~»�l�u�~�JR�P6a�G�`����V�o���$���d��~�a
L�-oK��3J� 4����4Z3������i��Gj�?U�&�j����H��L�ۖ��s�4
+
�i���̪f�
�m{��ޢ]Q�P�^^ �4���Ѭ4�g]6������\\8�x���P@:HE��(|6-���m1�T3���#p�����u��@]$�}*��i�T��(��묪�6T�t�U%�`�p���i��s;�83����
+T/��yn�u�S�ϋ�b&z7�
`ސ��%��K={#u5š���YE�4r ]E��b�*l����̊f*ٯ̌���Br^��jP<!M�����
9�F���E��1
+���@�
�߸0>���EA��J�J���F��io��^a���=q������v��M�y���Ⱦ��L�^X!)�N��`u	$e�@��ERA
�\g�ᶍ++�t��
蝜��b6����Kw����Q���d�m���JDP�w�o�
��8ˣ8�\�Y�Do�SQ��"�Ͷ^|�؁��^[r}
&�P���.��)=*j&9�ҽa��qY�6�?
�f/��
�P�t�Qɚ�P�~W2��p�+�sѭ���e�,\B��E���94k4r"ې��@%�;����4��4�=��z��(vM�{���?��V�I~���7��r����Q\�.kڛ7�_?�_<���Y�`P���e·�{=3'~iU�lv�<ݼ���YD�c/�̅���i�/�y���;xl2/�\5W��׵���%����aM�L�,v[�+j^B��_!9�m΄= �M��h��g�<�1hxY�`
+��.|﫪�u<^,()Q-�B��E6^�r�ub\ަ�L&�C]n��0�>�T;
+endstream
 endobj
-1977 0 obj <<
+1956 0 obj <<
 /Type /Page
-/Contents 1978 0 R
-/Resources 1976 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1887 0 R
-/Annots [ 1981 0 R 1983 0 R 1984 0 R 1986 0 R 1987 0 R 1988 0 R 1990 0 R 1991 0 R 1993 0 R 1995 0 R 1997 0 R 1999 0 R 2001 0 R 2003 0 R 2005 0 R 2006 0 R 2008 0 R 2009 0 R 2010 0 R 2012 0 R 2013 0 R 2014 0 R ]
+/Contents 1957 0 R
+/Resources 1955 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1845 0 R
+/Annots [ 1919 0 R 1933 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 1942 0 R 1943 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1948 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1954 0 R ]
 >> endobj
-1981 0 obj <<
+1919 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.3758 719.9123 205.1276 730.8162]
+/Rect [152.376 719.912 205.128 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_f127b16b1a8e300aa97caca515284b6f) >>
 >> endobj
-1983 0 obj <<
+1933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.5401 681.4316 195.713 691.9619]
+/Rect [164.54 681.432 195.713 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_99e9dc5df3cf7c0ab581e602d1176e41) >>
 >> endobj
-1984 0 obj <<
+1934 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.5401 642.5773 193.6408 653.1076]
+/Rect [164.54 642.577 193.641 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ee4e9b54e65780ac3010fda40ea235a6) >>
 >> endobj
-1986 0 obj <<
+1935 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 603.3494 141.3669 614.2533]
+/Rect [133.915 603.349 226.677 614.253]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_63bd7c7767faf3c219f9c2762095e2dd) >>
 >> endobj
-1987 0 obj <<
+1936 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.8651 603.3494 174.2929 614.2533]
+/Rect [133.915 564.495 243.822 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_4bef34d0d723e765fc4ae7dbd2d195b5) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
 >> endobj
-1988 0 obj <<
+1937 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.1085 603.3494 205.5651 614.2533]
+/Rect [133.915 525.641 264.305 536.545]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ce0cdceaa0c7eea84cc1c38cf5bea680) >>
 >> endobj
-1990 0 obj <<
+1938 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 564.4951 175.399 575.399]
+/Rect [233.172 486.786 346.955 497.69]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_215d809846aabbfafa5754ce051d1603) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_9c118832fed4c0b9b40547578459dad4) >>
 >> endobj
-1991 0 obj <<
+1939 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.2146 564.4951 206.6712 575.399]
+/Rect [133.915 447.932 246.592 458.836]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_d31eeb0067d6cad2eb2ea5ab5bd0a2b2) >>
 >> endobj
-1993 0 obj <<
+1940 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 525.6408 264.3047 536.5447]
+/Rect [251.334 409.078 370.297 419.982]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ce0cdceaa0c7eea84cc1c38cf5bea680) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_74074a5ed3718745a4d82bacd5b381ed) >>
 >> endobj
-1995 0 obj <<
+1941 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.1723 486.7865 346.9547 497.6904]
+/Rect [260.315 370.224 436.672 381.128]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_9c118832fed4c0b9b40547578459dad4) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_3e6dcd6f5d8e3ea263c9205b21a83e48) >>
 >> endobj
-1997 0 obj <<
+1942 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 447.9322 246.5918 458.8361]
+/Rect [133.915 308.455 262.631 319.359]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_d31eeb0067d6cad2eb2ea5ab5bd0a2b2) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6a54c55d8b52ef353df7cefdfa632d8d) >>
 >> endobj
-1999 0 obj <<
+1943 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.3343 409.0779 370.2974 419.9818]
+/Rect [133.915 269.601 206.582 280.505]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_74074a5ed3718745a4d82bacd5b381ed) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_5e801a56c2c3dcec13d2d87adf07ac47) >>
 >> endobj
-2001 0 obj <<
+1944 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.3149 370.2236 436.6722 381.1275]
+/Rect [126.921 230.747 204.012 241.651]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_3e6dcd6f5d8e3ea263c9205b21a83e48) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_19b0ebdb3476fe1feb0f51d9328fd384) >>
 >> endobj
-2003 0 obj <<
+1945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 308.4552 262.6315 319.3592]
+/Rect [113.91 191.892 141.367 202.796]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6a54c55d8b52ef353df7cefdfa632d8d) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-2005 0 obj <<
+1946 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 269.6009 206.5821 280.5049]
+/Rect [141.865 191.892 174.293 202.796]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_5e801a56c2c3dcec13d2d87adf07ac47) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_4bef34d0d723e765fc4ae7dbd2d195b5) >>
 >> endobj
-2006 0 obj <<
+1947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 230.7466 204.0118 241.6506]
+/Rect [178.109 191.892 205.565 202.796]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_19b0ebdb3476fe1feb0f51d9328fd384) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-2008 0 obj <<
+1948 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 191.8923 173.4667 202.7963]
+/Rect [134.114 153.038 175.399 163.942]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_215d809846aabbfafa5754ce051d1603) >>
 >> endobj
-2009 0 obj <<
+1949 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.9648 191.8923 204.1813 202.7963]
+/Rect [179.215 153.038 206.671 163.942]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_56eb4e32ec57658bc9e7823cd42ecbae) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-2010 0 obj <<
+1950 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.9969 191.8923 267.5532 202.7963]
+/Rect [113.91 114.184 173.467 125.088]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-2012 0 obj <<
+1951 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.3758 153.038 291.0441 163.942]
+/Rect [173.965 114.184 204.181 125.088]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_03c487cbbb8731e1c7c9131a7a1faeae) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_56eb4e32ec57658bc9e7823cd42ecbae) >>
 >> endobj
-2013 0 obj <<
+1952 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 114.1837 288.633 125.0877]
+/Rect [207.997 114.184 267.553 125.088]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_fbd401e5de5c3b3b7bcef22ffbfd6fb3) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-2014 0 obj <<
+1954 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-1979 0 obj <<
-/D [1977 0 R /XYZ 90 757.9346 null]
->> endobj
-1980 0 obj <<
-/D [1977 0 R /XYZ 90 733.028 null]
+1958 0 obj <<
+/D [1956 0 R /XYZ 90 757.935 null]
 >> endobj
-1982 0 obj <<
-/D [1977 0 R /XYZ 90 700.1513 null]
+1959 0 obj <<
+/D [1956 0 R /XYZ 90 733.028 null]
 >> endobj
-1985 0 obj <<
-/D [1977 0 R /XYZ 90 622.4427 null]
+1960 0 obj <<
+/D [1956 0 R /XYZ 90 700.151 null]
 >> endobj
-1989 0 obj <<
-/D [1977 0 R /XYZ 90 583.5884 null]
+1961 0 obj <<
+/D [1956 0 R /XYZ 90 544.734 null]
 >> endobj
-1992 0 obj <<
-/D [1977 0 R /XYZ 90 544.7341 null]
+1962 0 obj <<
+/D [1956 0 R /XYZ 90 505.88 null]
 >> endobj
-1994 0 obj <<
-/D [1977 0 R /XYZ 90 505.8798 null]
+1963 0 obj <<
+/D [1956 0 R /XYZ 90 467.026 null]
 >> endobj
-1996 0 obj <<
-/D [1977 0 R /XYZ 90 467.0255 null]
+1964 0 obj <<
+/D [1956 0 R /XYZ 90 428.171 null]
 >> endobj
-1998 0 obj <<
-/D [1977 0 R /XYZ 90 428.1712 null]
+1965 0 obj <<
+/D [1956 0 R /XYZ 90 389.317 null]
 >> endobj
-2000 0 obj <<
-/D [1977 0 R /XYZ 90 389.3169 null]
+1966 0 obj <<
+/D [1956 0 R /XYZ 90 327.549 null]
 >> endobj
-2002 0 obj <<
-/D [1977 0 R /XYZ 90 327.5485 null]
+1967 0 obj <<
+/D [1956 0 R /XYZ 90 288.694 null]
 >> endobj
-2004 0 obj <<
-/D [1977 0 R /XYZ 90 288.6942 null]
+1968 0 obj <<
+/D [1956 0 R /XYZ 90 210.986 null]
 >> endobj
-2007 0 obj <<
-/D [1977 0 R /XYZ 90 210.9856 null]
+1969 0 obj <<
+/D [1956 0 R /XYZ 90 172.131 null]
 >> endobj
-2011 0 obj <<
-/D [1977 0 R /XYZ 90 172.1313 null]
+1970 0 obj <<
+/D [1956 0 R /XYZ 90 133.277 null]
 >> endobj
-1976 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F67 366 0 R >>
+1955 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2020 0 obj <<
-/Length 2730      
+2002 0 obj <<
+/Length 1375      
 /Filter /FlateDecode
 >>
 stream
-x��\]��6}�_᧬�~S
��E�h���&ӧ�043ʌ[vd9��{)�2%J�ǻ�H�HW�
��sHQ��
�?2�x��B�q9�]_��=
��iO/���5���ųR�4Ғ����ڃ$HPBg�w��	F�rA0��K��i�N�W��7�O�]�.�oʴ�t���N��n��f͟��7YyI�yV�CD������Nj�;`-n�$1��]��;���/0b:��@њ���2�����ſ;?͉�����
�Q"����P���ˏ�N~�����:3���(�6
WQ�f��aD�tB ss�
)��S�
\��!�2����������bY}�f
N� !T'E
��q&a�t����,6�2]vh�@)�H*��@�U���


��_L���3�D(
M$�
-ȄGq�6
s���q)>K ��uj�FX����z�U���5�J����j�ҬzH����&k� ��l��i�
���Z�q4�l��O���l�	EZ�'���L8����Z�8��h-��±
-��
��&{sI�Lo󬨖U�������M����Q�Z��W�7�E�$�:�0F��8�?�r3�(�0�*���(
���"��D�$�FT*r
-�\2ufSd���|-/�����,�PVmz�9����qs�C^=x����	b8��$�	�Ĉe���r
����qˍ���w
��0}��07��(��F��YE�0�QBH2�S�a
#Nhr�
!�Y��	��4ÈF\0}N��nF�ìY�a����q;��q���
d�ȿ���|�H��\������x~
�|���<� �h
I����
��A�:#ɨ�}
qJ at X!q
-�\Nuf
��������8�ߛ�3 T}p�n�6ܲ|�b������4��S��%\P�cc�C�c05�t	FBkyF�	���͘�[g���0@�H\K�^����2L������1�=M2kC��5(v
��}q���7�ryu��7�R�d�E8�U�p�`X�W!2\	�'S�ӓ���Q˚\��jȫW���ir�
Yo�Z��fx��]o2�
f7���$b��Vp��ƹIwVv�F���a�mҪ
���v�+�����1pS���j�0��Z}�"�LN����̄�+݌�!fZ�83
�!f��v�t�ƙً}
3�(<�E��M�-���L�R��J�Hg�B�
����+c'a0Dh};
!vZ�Sؙ�W�v�h�d����y������0�$=BOS
C�59#�x�cZF�ՙE��:
0+�2�7ʬ~�#�A���'�������0�d���EVQ����{�G\^-�)<r}xԙ\?t�i��4CT
B���
t�
]���f�
-utk���PG��:�7��{����a�ߦ�aZLtt�('$�k�.%R�$����$"���:��#�٭����

yqZw��.I(?gw�b���*���N~���v�s� �?��)
Қ� ���e��2�I�`�� �Eg�@A��vZ}
i�V�&��8.��V��
��|�_��;�������'Ws���6iq��̹IƱD"F�ϘIq�F��
�kI2�@kD�q�̉���|�`7�
�Z�&w�z����fe
-{�Z��%��6-�Mۋ}��z	�a@�ʦ���jᚍ�n����mRI(A�&*�Z��UH+L�~&�;�~�*[oW�id��Ĕc��<���_��G	ŭ�@�	T�H�m��&��ӶG�Oґp� ɺ%��u����
-$�FA�E�^�}�ެ���Btg�^�`�p��WA���ʨه����jk�p/����S���g��Y�{C�l��\~��ݾ��
�Ɣ�1E�F����1�R�{��AO�p�I�5�+HAł�Į`>�޴�yB���?y�=��Q%#ǖ�������9��
ړ�d/X��*R
-�[�̖�N��3*��ؚD�Fs���%��f�	F1��G�t���c ��\��bٻ}��V�3͌��c+�0O>>�
iA��s��v+�ش����;f!9�fq9�=��H�9w�~��Zv�YЉ>Z��
rޙ�$�}t�r�a��
��'�G�� ��R�~O��`)r
.����s�spJ���@��k�t*�	O"��$�3�Jz8n'�cq}I��&��
-�c4�L}�t炐�[��$��nZ҇�&$���%��R8�
,���4I�‘�`)|o�H��_���@��妜Tw%��<9��3
-]EȘ�;f!u�fqu�=��H�uw�~S�F�M������!u�f��{ݴ�1M������q�p�=X
-��i�
*����R�޾�	����CZ��f��gSv�b\�V�]���wfQe��},��콰���N���C7
-z�����3;I���&���4��=L�Oُ,�A�å������R
�=\
-��׭�l�
M�%FX�Q�%E\���kRukW�`܃���
Qu7��z����ҏ_`w/��5;M�{�U}�iB�]L�PՏ+����R�~OS�P)
U����Mէ&��M՗�te�ؕ���S��.[z:�f��v_-^�+�n���Bh$}'
C("�%���a��y�G�7vH ̒��;,��#v�֛�X����+��
͟����e��1;"�mK�J����d���<����>6t�`@�י�^��+��	jξ��o�t���`�\��L9����6?T����g>|@�;�/�m����v�z�iL�ꭁ��-:#K/�fӚ҄���7
����58����y�acP��Vuendstream
+x��ZKo�6��W��@L�II���.6E��M���d!(6
�W$9���
��l9v�4v�-t0dS$g�����غ���{�qot(l�C���_Y
�
A��O��>��
�c�?��8�O���a&�y�	/� 
)���A,�,�H��T^�|@ܾLTq���|�}�nz����r96�&q����������\��[�����_=\ۀ�m�x��b�k9�FXpm���o�Y�C��V6�����)���;�z){�$,� 
+��9��
�1|H�y�
j���`J9J�`��<ƴnG�셆���8F���™�>Z+a!��Ј<�
.0���P8
0@�+���
yP�)(�7y�g���4�Y�
J��
�s*�y�������
+�M��JkR5�
0��v��M���C�7�@�fz�?ҴԿ&A4�GՀ��o%
Y���0������5�9����
�Y��iˤ¼|���c��IZ��ߌ�9O��
��4�	jئ�I3�Ar*U@�\

�>j4�Y��ʫ�U���2)�2²88�����Z��OR��4?d���K
�a�vꙘ
B��T��v�QW7߅���χ}����dw�����4�~fG���&P�LV}���
&�-�_�]�I�O���J� p�$��H�9�L%�^wi)�lj��/s���{�D�~u
x�d�����<�}�8�,T������e���}fA2��z�4�
�[Ǫ!e�c
mq&��Qku?�$�f��9�fưa
���<�T�|K����
�n�t5�A����"&��*e�Ej���e�~�A�y��ݣ5�@��L,	lu��c���5��t�8����d�6ҖÚr$
�����>�}J��H�G5� �,F�
�.mY�&�W�pm�:*���=��oUXH�8�?���{� �+@��{6�
�?�1���M�1Yc��!�)\�8�p�����U�p&Doocb}�q�a�>ֺI��-Y���Ѹ��JH\�i�Fňb�Y&���
��,
����5sA/�٦��Iİc�~��28�w�2�5t
d��C��\��{����o�wu���y�  ��y��&
�;ҿ��
��=��;��Z7�B�����p�������Ȏ�
�;��ˢ���r$k�c[�>���
�;�w��G�(�Z�F�o���":�w��x���߰�3�
o���MBr�_~@[�:�Q6/���
�E��IW�^	�*�˫W檕 .�n}m�{��
36�]M��㉹ [...]
+endstream
 endobj
-2019 0 obj <<
+2001 0 obj <<
 /Type /Page
-/Contents 2020 0 R
-/Resources 2018 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1887 0 R
-/Annots [ 2023 0 R 2024 0 R 2026 0 R 2028 0 R 2030 0 R 2031 0 R 2032 0 R 2034 0 R 2036 0 R 2038 0 R 2039 0 R 2044 0 R 2045 0 R 2047 0 R 2048 0 R 2050 0 R 2051 0 R 2053 0 R 2054 0 R 2056 0 R 2057 0 R 2059 0 R 2060 0 R 2061 0 R ]
+/Contents 2002 0 R
+/Resources 2000 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1845 0 R
+/Annots [ 1953 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 1999 0 R ]
 >> endobj
-2023 0 obj <<
+1953 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 719.9123 179.5535 730.8162]
+/Rect [133.915 720.286 170.776 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_03ed91fbbeb6d32952c5d2a30bfd3830) >>
 >> endobj
-2024 0 obj <<
+1975 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 719.9123 250.6762 730.8162]
+/Rect [133.915 681.432 165.237 691.962]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_20874a85120477d5cf11da451870d497) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_05dd6b345e96427a50b45f9756e302ab) >>
 >> endobj
-2026 0 obj <<
+1976 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 681.4316 322.077 691.9619]
+/Rect [152.376 642.204 291.044 653.108]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_93c37cc32a1f50c36ec15d67fdbec3aa) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_03c487cbbb8731e1c7c9131a7a1faeae) >>
 >> endobj
-2028 0 obj <<
+1977 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 642.5773 319.3174 653.1076]
+/Rect [133.915 603.349 288.633 614.253]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_fbd401e5de5c3b3b7bcef22ffbfd6fb3) >>
 >> endobj
-2030 0 obj <<
+1978 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.58 603.3494 192.2857 614.2533]
+/Rect [113.91 564.495 179.554 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_31f5a518ab35f859aafd220bc3e38dfd) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2031 0 obj <<
+1979 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 564.4951 226.6768 575.399]
+/Rect [180.052 564.495 250.676 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_63bd7c7767faf3c219f9c2762095e2dd) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_20874a85120477d5cf11da451870d497) >>
 >> endobj
-2032 0 obj <<
+1980 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 525.6408 243.8223 536.5447]
+/Rect [253.933 526.014 322.077 536.545]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_93c37cc32a1f50c36ec15d67fdbec3aa) >>
 >> endobj
-2034 0 obj <<
+1981 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 487.1601 170.7762 497.6904]
+/Rect [253.933 487.16 319.317 497.69]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_03ed91fbbeb6d32952c5d2a30bfd3830) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
 >> endobj
-2036 0 obj <<
+1982 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 448.3058 165.2374 458.8361]
+/Rect [172.58 447.932 192.286 458.836]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_05dd6b345e96427a50b45f9756e302ab) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_31f5a518ab35f859aafd220bc3e38dfd) >>
 >> endobj
-2038 0 obj <<
+1983 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 409.0779 179.5535 419.9818]
+/Rect [113.91 409.078 179.554 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2039 0 obj <<
+1984 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 409.0779 272.8029 419.9818]
+/Rect [180.052 409.078 272.803 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_ca6003248d614d68c07f5330b468a242) >>
 >> endobj
-2044 0 obj <<
+1985 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.7724 322.4323 272.3333 332.619]
+/Rect [176.772 322.432 272.333 332.619]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2045 0 obj <<
+1986 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2168 322.4323 448.7777 332.619]
+/Rect [353.217 322.432 448.778 332.619]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2047 0 obj <<
+1987 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.7724 287.5631 272.3333 297.7497]
+/Rect [176.772 287.563 272.333 297.75]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2048 0 obj <<
+1988 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2168 287.5631 448.7777 297.7497]
+/Rect [353.217 287.563 448.778 297.75]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2050 0 obj <<
+1989 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.7724 252.6938 272.3333 262.8805]
+/Rect [176.772 252.694 272.333 262.881]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2051 0 obj <<
+1990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2168 252.6938 448.7777 262.8805]
+/Rect [353.217 252.694 448.778 262.881]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2053 0 obj <<
+1991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.7724 217.8246 272.3333 228.0112]
+/Rect [176.772 217.825 272.333 228.011]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2054 0 obj <<
+1992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2168 217.8246 448.7777 228.0112]
+/Rect [353.217 217.825 448.778 228.011]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2056 0 obj <<
+1993 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.7724 182.9554 272.3333 193.142]
+/Rect [176.772 182.955 272.333 193.142]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2057 0 obj <<
+1994 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2168 182.9554 448.7777 193.142]
+/Rect [353.217 182.955 448.778 193.142]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2059 0 obj <<
+1995 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.7724 148.0861 272.3333 158.2728]
+/Rect [176.772 148.086 272.333 158.273]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2060 0 obj <<
+1996 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2168 148.0861 448.7777 158.2728]
+/Rect [353.217 148.086 448.778 158.273]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2061 0 obj <<
+1999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2021 0 obj <<
-/D [2019 0 R /XYZ 90 757.9346 null]
+2003 0 obj <<
+/D [2001 0 R /XYZ 90 757.935 null]
 >> endobj
-2022 0 obj <<
-/D [2019 0 R /XYZ 90 733.028 null]
+2004 0 obj <<
+/D [2001 0 R /XYZ 90 733.028 null]
 >> endobj
-2025 0 obj <<
-/D [2019 0 R /XYZ 90 700.1513 null]
+2005 0 obj <<
+/D [2001 0 R /XYZ 90 700.151 null]
 >> endobj
-2027 0 obj <<
-/D [2019 0 R /XYZ 90 661.297 null]
+2006 0 obj <<
+/D [2001 0 R /XYZ 90 661.297 null]
 >> endobj
-2029 0 obj <<
-/D [2019 0 R /XYZ 90 622.4427 null]
+2007 0 obj <<
+/D [2001 0 R /XYZ 90 583.588 null]
 >> endobj
-2033 0 obj <<
-/D [2019 0 R /XYZ 90 505.8798 null]
+2008 0 obj <<
+/D [2001 0 R /XYZ 90 544.734 null]
 >> endobj
-2035 0 obj <<
-/D [2019 0 R /XYZ 90 467.0255 null]
+2009 0 obj <<
+/D [2001 0 R /XYZ 90 505.88 null]
 >> endobj
-2037 0 obj <<
-/D [2019 0 R /XYZ 90 428.1712 null]
+2010 0 obj <<
+/D [2001 0 R /XYZ 90 467.026 null]
 >> endobj
-2040 0 obj <<
-/D [2019 0 R /XYZ 90 348.7486 null]
+2011 0 obj <<
+/D [2001 0 R /XYZ 90 428.171 null]
 >> endobj
-2046 0 obj <<
-/D [2019 0 R /XYZ 90 313.7449 null]
+2012 0 obj <<
+/D [2001 0 R /XYZ 90 348.749 null]
 >> endobj
-2049 0 obj <<
-/D [2019 0 R /XYZ 90 278.8757 null]
+2014 0 obj <<
+/D [2001 0 R /XYZ 90 313.745 null]
 >> endobj
-2052 0 obj <<
-/D [2019 0 R /XYZ 90 244.0064 null]
+2015 0 obj <<
+/D [2001 0 R /XYZ 90 278.876 null]
 >> endobj
-2055 0 obj <<
-/D [2019 0 R /XYZ 90 209.1372 null]
+2016 0 obj <<
+/D [2001 0 R /XYZ 90 244.006 null]
 >> endobj
-2058 0 obj <<
-/D [2019 0 R /XYZ 90 174.268 null]
+2017 0 obj <<
+/D [2001 0 R /XYZ 90 209.137 null]
 >> endobj
 2018 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F37 2043 0 R /F11 411 0 R >>
+/D [2001 0 R /XYZ 90 174.268 null]
+>> endobj
+2000 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2013 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2066 0 obj <<
-/Length 2551      
+2035 0 obj <<
+/Length 1865      
 /Filter /FlateDecode
 >>
 stream
-x��ZYs�F~ׯ�SV��܇jk�v�x˹ֱ�}q\,��,�I�@�ʯ�



(�[��������oz$

da�B	�
�r��]��;x��
Ҽ^��U(�����R,
2����]�A$(����7��,Wc
�\
��.^�\R
����䶈�?�7E\<.WT��x���x���W�]R,����>"�k
)�|{�����-��`�XX\�y�����
���b� 7 ���]p������ů�
��
06}�5�T�Ŋq�%
�"�#�WQ���u����QHR���u���G(A��z�Q�4�Im�J�
隭��~W�5}���@�*Ĺ�`�
-��It4J$4d��
�IQt�
Q�
ҵ�k���
-��Y)��R
&E�����Y|�M�/��B���j�C�
*��� ����WŻF�U�K/�
-��p�ךQ���tIE�aID���Y���O6�m	$�}tT�����z�m���:�j��- at O!a�i�v=�V(_���BP�����`'
oɳ���ꇺ�����P at 1���fV�u�PD������	�P����4]�
v�>�4"�MG�
���"��W
ۿc�����*/�"�w�_����g
-L�H�	&ݒ��YY�J��}U�"2�0�q��Z���O�\ۀ����b�g��av��)�1��ӣ)
�oֳa����./�E��a�lc+
j�&XSW��G����b�T�[�)_J���
�b��*���1�C����|���/ &�/��%�i2K���*
0F�}��D�R�)�Cק|/5�ԥ���S�q�b��-C}"�S��M�oǸ� �8�ӫ��^iD)�=3���LD�z�\���A�8�H3
:/4c�S����k{��˚��ɲ�r{?C�#���l*tLQ��Qy�/M倝+�	+�m8
��B�`5�BC;���5ؠ�!�ʼnMP�
�b�/?'��os^�6>x���dS�y�����
8�U*9X�b�^�B�����]���+ј��J�1�?���#!�G9X,�tj��gu�I.�,��n@�

-CJ*�6���m�W�a�Z$��R�%�zt!����wn^j���iAǶ�B
O؏�
-$���P�U�]73J���c���Ѥ�h�Ӯ �yw�=4nBb��I�ҏ.-]0
w�D#��@l�.��<]L�=�ň�����d�����E��No�����&�h���z�����˯�#|1�{_����O��A��P��)�E�����X��<�X��Nm�9�Q�	w���H
���$Mp=�
gh"���Vl�&��B��Iۋ�޹5$1��`�K
���v�4�Vj�l�#��)K����:������6.�&��í9��0�
w 6n/6�	�O�48�����O�>��1<�ƭ��i��ϋ:�U���^ ��������'G}��z����O�'�z‰���T���p۵J�h��pbS��b�ឰ��pO������)���C8��.�Q�AYQ�m��jm�Z�Ej;�r��)��jN~�
Fb�%�L󣞓	��ӕI��Ԝ]����C��c�c�c������sz�����mg�P���@K�������&
{h[�
�c�F�>+���N*
B�#���X+?㱡����&�n�l�؊�{�2<I�����GO�l�.4Ӯ���8��V6g��g �
�+p|������(�6'�D�A���E+V�����ifi���r�?n����d<
�o��l��Q(L�H
-{>������F�aOP�i~!`����㻤�!k����rS��0�@� �j-��v�Ui�\o�߀�
�A)C�̛�
��D�-�F�{�G����OY���8���3	ƶ��ys�v�&�
���b� ��U~���q��TH�S�.�%��#4
6���Q�ls�WIu(��i�y�iӱ��4{�:
›����˗?�����
-���	����P��ۤto��.�)7���M~�ܥ�	ÜMx�ؠ(A��b�
���X���u_�ho�;���1�Y5��c袈��ѽ~���2O��S,9����
v���ѷ�|c/Xd�
-��p�e��pU'.����=�[��)`m�K�	pX:�"	�H�yQ��ޕ�
p��hG�v�6�߻+�^�

-�܀
Bp��8��ܘ�|�5y1��w��zc��B�|��Kd�:�")m�i�4��з� �h��nW��!)Ҥ<fp=�:X
5�ܟ�����[t��3bV]&�?j,A�P�b��h
q����L�޹�:��f�ƥh���&5!�U�}t�݊	�!q�W�HWoZ��@�
�b��ճ�):�q�[�,)�nu�ƛam�~�b�fwv�nm�F�Ra�lt'�!
-D��o��S�����͉�|���S1�,�
Dg�zi�n������n;�f��L��-K6s�9�������� �.^���N�����`�u�{�~�~
?�4V��ܫ`��v��U����|xx@�
�t_����﷗�FL
��2S�[�B,
�3X>�!�����
{�&}�
-�hsG�����;endstream
+x��YYo�6~�_��D�L�$E]F ;��k�'/���V�n�ՒFb����[�t�վv�`���E���*��w�a��?�'���KQ��;��R��A!%���{���rE0��ْ`��;��-)���v+6-�~.�-oo�+b�W�]�sa
߈
�.I�J�"1K�����?.�?_|X�{D�
c�����co��0
+�Ļѣv
�\K����6�-!
�BH�"�� �(4�I����I1JcLԤ�(�z����R�	'�@�a
�c���1Y)Ba�+�6�����,�(aԍ��_p�g(�coEJCk��_�"{}a&2� K҄Nt\w����o~��5��ݤ�]�+�Œ���������f/�"�Rh�WNħ
+�
��}t>c�1v�W 4C
NO����܋˕۵�j��Y;��'���xĉ޻
b�wyQd����8FM�?q�;�9=�;�
+�[�9_t/�`oE!^8����u�I�}�B�:d������(b�y
�8����Ĭ����,���wukn*����{���Cĕ#m�Ѭ�	�F��E��kJ�g>���������Qs$Ly���<)����r��8|º��������3�Ss�@�H�K=?�_0+@�p�w��
6�3)ޫ 2Z
+L
b+�:��]��������ˢ���}�����
%� 1e,�$�y<S�0
+��ι%�CK�gg���U��\J�����:�L6b�l�!�f�&Ϩ�"���	���̬"E��o��f��%�)�����jQ�!����'M1��uoe0
M/�N?�|�mcQ�d���_�H+��m��4}"�CD��4

�0�V|�j�Byx
�W4&0=�u���]|&������5�2�P
���9
+�]:k�vͧ,/y�Y�>�H�1�7���@�-j�F���3���?��7�<b�aG���
W����˔��-T־�E��4͞�葇�L_"�� *�l�Ze�}��dӱ�q�h:���'1��č1{s(�E)�׃�y���L�p|��؍7Cy�k����_���E��
+6�)�������J�_?��\�햅R�c.�������~
�6
��χ� J	���������u�Nty[Qw
�!�
��?��fAT�h�}9>�+,!�#Z91�F�u#*w��fp�-@����6V�:��@
�,8�����&���Ȧ4
u��&
+B}��.恳��S�W墭�;�sZxa7����E�7B���:����7��w<��꟥
������*�>r��31&��&�o��@��b#:�`ӹ�6��4�F&L32፡R��h�
N�������<�2C�
+�R�ܚ�&i�-���|�岫�@�vɰ��7rԟ!��/��J��b9��5���.�i������(�k�@У?
+}e �l��Of~+����.;����g�����̝��ç�}
����
�c�
����Z�O�\p<��N�L���j��.���6�a5�5T�Q�Avܷ�,*�~�n�����[!�4�:��ܴV![�
��	��cL�k`�'���X.��P�����m
+��� j��X�W��m
���8�3�	�ﮍhU@�����Uts^�����3�B�,>��d��,�
+�/a�U��ɖ n��9���8iu��UK`�d݊���Մ\6\��̅e��Ɂ�h˝ׅ�Ά55}�zߕ��(���݉}h��w܏9lt��1?LA�CvP��T
Q�����q����h�TY��
���
�1J��% 
��b(� b��kV�yW���i�i5(M1�����Jٜ����ܠ�C��hZTȓ�)O��t�*ړ���'�ЏZ
��q�
�0��
+endstream
 endobj
-2065 0 obj <<
+2034 0 obj <<
 /Type /Page
-/Contents 2066 0 R
-/Resources 2064 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1887 0 R
-/Annots [ 2069 0 R 2070 0 R 2072 0 R 2073 0 R 2075 0 R 2077 0 R 2079 0 R 2081 0 R 2083 0 R 2085 0 R 2087 0 R 2088 0 R 2093 0 R ]
+/Contents 2035 0 R
+/Resources 2033 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1845 0 R
+/Annots [ 1997 0 R 1998 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 2050 0 R 2032 0 R ]
 >> endobj
-2069 0 obj <<
+1997 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.484 707.9571 272.0449 718.861]
+/Rect [176.484 707.957 272.045 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2070 0 obj <<
+1998 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.2095 707.9571 439.1392 718.861]
+/Rect [391.209 707.957 439.139 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_9bfba21dd2d808e2eabd2348e92cb96a) >>
 >> endobj
-2072 0 obj <<
+2020 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.1831 647.185 269.744 658.0889]
+/Rect [174.183 647.185 269.744 658.089]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-2073 0 obj <<
+2021 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.2248 647.185 419.6152 658.0889]
+/Rect [377.225 647.185 419.615 658.089]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_3504c6384a7e40501e2cfc49ba870ad5) >>
 >> endobj
-2075 0 obj <<
+2022 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.7712 549.8595 350.5786 560.8731]
+/Rect [272.771 549.86 350.579 560.873]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2077 0 obj <<
+2023 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.8129 514.9902 358.6203 526.0038]
+/Rect [280.813 514.99 358.62 526.004]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2079 0 obj <<
+2024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 492.0762 202.9022 503.0897]
+/Rect [125.095 492.076 202.902 503.09]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2081 0 obj <<
+2025 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 481.1173 202.9022 492.1308]
+/Rect [125.095 481.117 202.902 492.131]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2083 0 obj <<
+2026 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 470.1584 202.9022 481.1719]
+/Rect [125.095 470.158 202.902 481.172]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2085 0 obj <<
+2027 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 459.1995 202.9022 470.213]
+/Rect [125.095 459.199 202.902 470.213]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2087 0 obj <<
+2028 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 404.3398 182.2336 415.2438]
+/Rect [137.432 404.34 182.234 415.244]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable) >>
 >> endobj
-2088 0 obj <<
+2029 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.8919 404.3398 358.5808 415.2438]
+/Rect [219.892 404.34 358.581 415.244]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g00a906832c41c42a70a5c9d194e07a7d) >>
 >> endobj
-2093 0 obj <<
+2030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.893 138.747 513.996 149.651]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
+>> endobj
+2050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 126.792 155.753 137.696]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
+>> endobj
+2032 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2067 0 obj <<
-/D [2065 0 R /XYZ 90 757.9346 null]
+2036 0 obj <<
+/D [2034 0 R /XYZ 90 757.935 null]
 >> endobj
-2068 0 obj <<
-/D [2065 0 R /XYZ 90 733.028 null]
+2037 0 obj <<
+/D [2034 0 R /XYZ 90 733.028 null]
 >> endobj
-2071 0 obj <<
-/D [2065 0 R /XYZ 90 676.2409 null]
+2038 0 obj <<
+/D [2034 0 R /XYZ 90 676.241 null]
 >> endobj
-2074 0 obj <<
-/D [2065 0 R /XYZ 90 576.8931 null]
+2039 0 obj <<
+/D [2034 0 R /XYZ 90 576.893 null]
 >> endobj
-2076 0 obj <<
-/D [2065 0 R /XYZ 90 542.263 null]
+2040 0 obj <<
+/D [2034 0 R /XYZ 90 542.263 null]
 >> endobj
-2078 0 obj <<
-/D [2065 0 R /XYZ 90 507.3937 null]
+2041 0 obj <<
+/D [2034 0 R /XYZ 90 507.394 null]
 >> endobj
-2080 0 obj <<
-/D [2065 0 R /XYZ 90 496.0612 null]
+2042 0 obj <<
+/D [2034 0 R /XYZ 90 496.061 null]
 >> endobj
-2082 0 obj <<
-/D [2065 0 R /XYZ 90 485.1023 null]
+2043 0 obj <<
+/D [2034 0 R /XYZ 90 485.102 null]
 >> endobj
-2084 0 obj <<
-/D [2065 0 R /XYZ 90 474.1434 null]
+2044 0 obj <<
+/D [2034 0 R /XYZ 90 474.143 null]
 >> endobj
-2086 0 obj <<
-/D [2065 0 R /XYZ 90 423.3137 null]
+2045 0 obj <<
+/D [2034 0 R /XYZ 90 423.314 null]
 >> endobj
-2089 0 obj <<
-/D [2065 0 R /XYZ 90 367.0197 null]
+2046 0 obj <<
+/D [2034 0 R /XYZ 90 367.02 null]
 >> endobj
-2090 0 obj <<
-/D [2065 0 R /XYZ 90 308.3191 null]
+2047 0 obj <<
+/D [2034 0 R /XYZ 90 308.319 null]
 >> endobj
-2015 0 obj <<
-/D [2065 0 R /XYZ 90 286.0074 null]
+1971 0 obj <<
+/D [2034 0 R /XYZ 90 286.007 null]
 >> endobj
-2091 0 obj <<
-/D [2065 0 R /XYZ 90 286.0074 null]
+2048 0 obj <<
+/D [2034 0 R /XYZ 90 286.007 null]
 >> endobj
-2016 0 obj <<
-/D [2065 0 R /XYZ 90 209.3434 null]
+1972 0 obj <<
+/D [2034 0 R /XYZ 90 209.343 null]
 >> endobj
-2092 0 obj <<
-/D [2065 0 R /XYZ 90 194.7731 null]
+2049 0 obj <<
+/D [2034 0 R /XYZ 90 194.773 null]
 >> endobj
-2017 0 obj <<
-/D [2065 0 R /XYZ 199.7272 129.9448 null]
+1973 0 obj <<
+/D [2034 0 R /XYZ 267.991 129.945 null]
 >> endobj
-2064 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F37 2043 0 R /F11 411 0 R /F74 478 0 R /F25 344 0 R /F67 366 0 R >>
+2033 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F35 2013 0 R /F11 418 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2096 0 obj <<
-/Length 2288      
+2056 0 obj <<
+/Length 2079      
 /Filter /FlateDecode
 >>
 stream
-x��Ymo�6��_a�Ý
D4)�zI��k�Ezm7�M�v�bӱ�z��i���)K���ހ�ba��g
�0b��X$|Ɉ%~.6�_����|v�;�����M(	KB/\�P0�	oq�}�μ�+8���Rp'��t}��S�{������]�֏WW�o�o�N۪n��'��cZ��nuR;U/E���B߉�����.����4��~(����?��v��g~��t8I�-����m'�xw�^}�����	��x(}��`
�
"� "U�]�~�<�O��5��Ue����u�>�����!�� ��>p�7Uٴ���&�/��Z�I���p�B�DJ��<��h'Kb�/��Y���{B��Y�g��H���"d1�bhD,�@Ox�Zs���
��6{3����5���Uf��C��s��FU]U-�6i��r-�0�N�`��nfs1
�>Dh�)�DDF Ýp��UcZ�>-��m徣���|��V�Y #
�����^�}f� `|a�.IcC`�5�`��C0�Z&4`�F
&~!0AK�R8�Y8���AȒ �a�Z�E�z���V�$�B#�N�=���8Z�"f�D��j�ܡ�4b�q�.?fq��z�o~ݨ����ӵ�X�{bv���Ԋd�H�"�ˣV4�i�WWY�
�9�<ۮ���+T�N�J�[���"�KM����B�#cn�u���`b3�
� �.�ə�co5��Vi�:p��%���bt�js�P2��2
-�\
L��zW#9W]���������������	"�9�
��;Ǥ��a0�)*}s�%B��zE�5M��ݞ��mNN7:h�.�Iز��
-�.q���h,��N���A#Z2�\��Om��
�3K˷{���_H��
-2 at 8i�V,
�jh�53ʬ� f��)�m�B1���|��T;��w]��9^�TjkW�J���0 ��8����~R�&��O����i���;�0
ũ^�V
�L
-��v�}��*$��d
�qm��~#��d/��0��<wX)w(65�	�
"�C;���
����� �%���p�u���!����0b���J!��as��m��G� �y�$z��s�г�k��Ap
a�01��H0����l��-��>
�#Ll��� n����߆�?��k�>a/�$���mu�}�p�U�@l�p��3�K�G�w��ԗ,wO�D�O�
-�$�c�N"��9kI �Hp�!�� ]�C
����
���ݧ��d��֚(yO����G�˧��
{��"^yJ�6�{�҅�0H�����4am/`P)x���̡kWU��n�N_b@��7ji��"VZ��H�[6���3a���j�,���Vͦ�tF�����������V��L3p��

Ѭ�C9���R:v��f،[���Z;(
-N��|�¤��5�F�,
-uOMCEv�7�{Rb}��=[¸~�8[EAx�I�\�4��S7-�a��qX�{X��
\
�P\���
��a�
�
�j[�^�����z
6��ήL;�&/
����W��M����
-9
rh�4�'���[�'~��py(
!S�^"[�=� 0��Ј�0q��>��O��d?�
q��
Q�>Z��ʪ�7�7�1K�MhΜ[u!dH/�l�09�*
սA�퓂�ίiq�ե�M?�
�L�-(c�Ǟ�SU�'��9ySz�Z
JS��KC�Չ	\���b�Ss[�|�Խ!=Ϟ_ξؘ�\/b2&����
K4��q�O-���2Eմ����Q�K��H<����ڎ<��.�c2����5�{!��s[1ܹyVCH��f
�ծ�=6�*�@㛆~�D?��/�W&�t�(:<�w��ݩ����ƥU�T�=��'���@J�b��t���V����֨����
ԇ�g;����
6����#`aĔ��������w�f���^]��[���a
ޝ<�N
;�^�s<�1`�dlN9�.��:�������;�	�S�p�Xќ$T���s�
���*��e�e]Y@�����~(}��{��M������V��1r�Պ��CU�(„_7�5�
{������.xuu"]hj�6��1�>6w�
R�Օ]��+
-Wwf����
-s)��?p A�2�������,��i'���o
���T_�Rܘ�=-��G���!���H�ξ�#��5W��T�Lƣߩ	Gx��x$�1@���¶�:�J;�
̰�y��D�~Wh���j�����9�2;�,kW��&�$�A%���&����dQ"��-���Xzc�d��{�
vƔ��endstream
+xڽXY�۶~��0���@��kr����޶�&�@���Ȕ"Rq�����E�dz��!�"����򗻥��i�����U.s�'A���.s�&��]�l��=�`����{�+�{ew(��U�{M}�g��,~�]��]^^�.^��+U���:�}���d[V�L߰-�V4��%�I�����ϋo���TK�$
�euX���/7����'a�-�z�a!<�����
�Q����I<hDI at B��Ԫ�#�:�%��Ek��׿z��b��ΐ���>�)jb��B��̏Ah-�{.j.�G�3�';�n뚦$	"s�-S��jo�����t3!��n(�	��󨵵��l�tv#\���+o�Yk�'�@e��
+3ɾ�*��:H2�*��ȑ�p�K���Ee	�LK�Oi�����{��;�.XŤ뛩jF�92��b��O��{MH2U8S�
:i�4z6Z ƽ
�.Ŋƞ�$�)����
2���J9s��YP9
~����:Ǵ
��?ܲN�8��n����	a�

ŲW�(�
���bp�Z�#~Ө �À�A:
��� ד�m��ڳ�S��,�$�4&i�
�۝3p�޳��	���4���2BÁG�GѪ���� �>�,$a�����Ҡ|MCȋ~2��
S}�>����{|k�:Rpa�R��n��7���
���yztN�*�*�������xƬ��9�s�(�$��^�h�/� �J^����@]|/�0OBO�����
��S.W\�bі
����
B������;���㹔Zi[0�3�D$ϨC�@Y<�4��
>���Ϊf��~�C��:`�cf�s_��5�
����Zo��tnտq�k �cv�ԑ11$/S�m&V�
́��CK��9�K�sx�2���A�?�����z���g�
�<���A}AH熿ڞ!��$�#��<�k=�@[̌Ծf�m�
o��es�cF�xHDW���~����,�ܾ��4�ь�L����<02��<Hс���h
+
�$���Q0���
+bg=�t没b��#:0��!��&���X�E���
i̢�f$E(��Rm./�XE����n���֡8�e�I���t��;k0)
]�<���ф>f
+ C����v
+����O:�H
dτQ83���qc`�q� �<��A���p_J_{ҷ�4����P_/�^���\s>C�
+�k�i�QC�%�H�(`�l#+d�(�@r�R+�� �O[�L��$����!M�cW��l�@'�M�
잒�ᅱ]e�coFc=���䭊
��̆
�	��c�b��ϣ
��IU`�+j&v���
)[�,���{=�h\h� �Ii�F��X:#�ƙa�N�+�O���8�c�MOٶC[�.:(�<���^R�D�'�0'>�
�;ϒ1Z���S�+93��d����������} ׭&��3�6�`fE6f��2+���h���U
{��Lf�4�7l,9�(w�
���<BL����Hv´���ށ����i�M�>���a:��`�u�gޕ0�[}T�����emx�S�+k�	��><�Q��M' {�mcV�.^��3��
9:G�w���0�m�� �\̣�9;�,����#"
���F=�+0da���C�����@��԰aBC�
Zx�����
^��K�#ruDrڵ�
Z�~gOW�����5Ϩ��B��.���[3p���T�Bۻ�7�C[3��J۳r�ǒ���������L}�SRNh��x������(3�kS0/�/��
��$1��q�oQD�+�C<4R
7���J��c�@#isY�\���/
t����w�c嶵
+
�=;�*��I�_��J��̓��!"��9B�.~�ܲ
�C�
G�0��@B�F
+����n)�����)�����@�H|����rf�ӏ�	.�=�����	>��:��|ˌs�����Z�0 ��:4���������1�-E�n���A}7^3�?�V4D-P�2
F�OK7����(4\7
o�{��ˋ���H���mG���|rq���P���ua�����m��:�/ٶ
+endstream
 endobj
-2095 0 obj <<
+2055 0 obj <<
 /Type /Page
-/Contents 2096 0 R
-/Resources 2094 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2107 0 R
-/Annots [ 2100 0 R 2101 0 R 2103 0 R 2105 0 R 2106 0 R ]
->> endobj
-2100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.8935 538.3655 513.9963 549.2694]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
+/Contents 2056 0 R
+/Resources 2054 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2063 0 R
+/Annots [ 2031 0 R 2051 0 R 2053 0 R ]
 >> endobj
-2101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 526.4103 155.753 537.3143]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) >>
->> endobj
-2103 0 obj <<
+2031 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.4728 458.9669 424.8693 469.8709]
+/Rect [325.473 684.664 424.869 695.567]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_63bd7c7767faf3c219f9c2762095e2dd) >>
 >> endobj
-2105 0 obj <<
+2051 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.6686 154.1461 211.2045 165.05]
+/Rect [156.932 327.742 206.516 338.646]
 /Subtype /Link
-/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library_1_1IO__Operators_9ccf426c9d89537e0351aac50a333e95) >>
 >> endobj
-2106 0 obj <<
+2053 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2097 0 obj <<
-/D [2095 0 R /XYZ 90 757.9346 null]
+2057 0 obj <<
+/D [2055 0 R /XYZ 90 757.935 null]
 >> endobj
-2098 0 obj <<
-/D [2095 0 R /XYZ 90 733.028 null]
+2058 0 obj <<
+/D [2055 0 R /XYZ 90 733.028 null]
 >> endobj
-2062 0 obj <<
-/D [2095 0 R /XYZ 90 606.8052 null]
+1974 0 obj <<
+/D [2055 0 R /XYZ 484.685 675.861 null]
 >> endobj
-2099 0 obj <<
-/D [2095 0 R /XYZ 90 592.2349 null]
+2059 0 obj <<
+/D [2055 0 R /XYZ 90 659.302 null]
 >> endobj
-2063 0 obj <<
-/D [2095 0 R /XYZ 267.991 529.5634 null]
+2019 0 obj <<
+/D [2055 0 R /XYZ 199.727 596.63 null]
 >> endobj
-2102 0 obj <<
-/D [2095 0 R /XYZ 90 512.8363 null]
+2060 0 obj <<
+/D [2055 0 R /XYZ 90 582.128 null]
 >> endobj
-1389 0 obj <<
-/D [2095 0 R /XYZ 487.7735 450.1649 null]
+1348 0 obj <<
+/D [2055 0 R /XYZ 90 432.581 null]
 >> endobj
 126 0 obj <<
-/D [2095 0 R /XYZ 90 433.4377 null]
+/D [2055 0 R /XYZ 90 427.21 null]
 >> endobj
-2104 0 obj <<
-/D [2095 0 R /XYZ 90 374.9014 null]
+2061 0 obj <<
+/D [2055 0 R /XYZ 90 346.529 null]
 >> endobj
-1390 0 obj <<
-/D [2095 0 R /XYZ 90 92.97 null]
+2062 0 obj <<
+/D [2055 0 R /XYZ 90 278.82 null]
 >> endobj
-2094 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+2054 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F95 1779 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2110 0 obj <<
-/Length 2609      
+2070 0 obj <<
+/Length 1835      
 /Filter /FlateDecode
 >>
 stream
-xڵZmo�F��_!�
�F�}_�h�K�6)���}H����8�dH*>����E���	
X\rv�v���%��YDx��B�r��_��'���q�W�|�%xqsq�Z�E�"I��fk8H�%tq����rE0�A�l�+*p�k�O�2^'v�.�&Ւ�A��[*�4Pj����ߴn�I�E���/6��� #
-��
�(����������|�3a�DAظ���Hꍤ
a)��3L�|
��~�R����x�s��&�7q嘾��{{�{�����bL���߫���,q�^%��J�&-򯭓�M����l���%A\�c7,��]��̐oһ*�
�u�o�j_�QS�_ˉ8ɬ�������A��;e\5����Ւ��<
������u7��N�/ZS�*f�sDU�Zh����]'Un}K�?��� ���E
-|��;��G��G 'h�bDzG�����3{�+�T���o給 �M��47�q�%�3{�I�e7�s]&�4��?c��n
��o����wȻn�Q֮
��|m�Ȍ���Ô�S�'�1�L)
A����h�u��ү�,"U'R�|���}\�UЮ
h2F��&'ɠ���!��)P�/�����b��Eh��I��SEO����I7CR�(�z��NT��'Tߛp.M<j�TTn�v6�a@!Ws�_�u׵u6CCD����V�a�T��6K�iS�
"J�
#HFXh�����ɢ��,���(�
-3�f�hե�0B3�%!�3f�ԯE�\�J%�"�(��R
���@�B�0q��fG&����(�B�K�Ѱf�.�y4 ��Yl�oK���;����� B=z#}��E��ك�21�,Y� c� �߰d�
-���<�� 
��2���wK��CcqV��3\���~|{����c�b�"̽����[륡�B"� `��%
-%g-���1���S�4����N�㊶.�(䌞db��qp�f���sU�J�6bڪ%\=�%�0��sG{
α�ğ�u�p�ٯ�iY��Q���pԿzM!��O!������
��ŠER�mW|���^k������J�#ӭ
-�ҙ��6<׶����k
G�۸u���ՋW��wq���a�-e�pB�$�|L4�G�G���� |���y.ܑtL�YB����VrE�`DX�~���[�␷K�I��U ~��֡���F�����G�����i )�\�?���C�t�2C��& `B
�ֱ5��P��x�w��$��>��'�еB��{�.�X*�������F��
��[���R��EXʾ\��6��[}���b����Ϋ���e�׶‰	,��S ����.��aKH��i�3	��.,����d
1��G ����+z4G��EJnam��%��|�5J#)��mm��:�>�����
� ��L;�����b�^�5hN
-H�
�%�ɿ���y'��G �Qt�l

�S���"�+�#�T4��[���#ߑϩp���C�qġ��l�
5�HXQ�Y�<]O�qD�H�퀦tf��w}
�5�	l�B:GOփ��E$%�k�.��Oߕ�-L��
-�6�����Iqhw>�����ڵ&��u;�4��l^�z�4ˆ
-hz��.�ѳ8
-�4,a{Z�&����ׯ��}�DR�y���q`�`"A�d�	bR�1A���	�'��� ��@6�È@}��>EO?�ŀ��L��4��
��@�Pw��M��S�Ib,:��?g0K��Uo�F(d.�zR�vxL�%�*��J��h���4pk(#�>����j�T���	I�n�,�޿��'�g2嶴?u���
)&
�Qz��+����Ǒ���4��
ь�wG�-�5���T�oW�I$��� ؑ�y����M �'w�}ُ@���D�Z�H���
lb���*�]���~$�IH <ɓ�v���[�������'�_��#�,�
-����ĩ��p�&��98{�y8wN�yZn
��y8�d?��Z
���*͇pч
��=՜`}��c�����b�d�yj;<�P��LϨ}S�A�ɿB!J��F3C��b��jݍ�R�"�P�(�*n��[����7������@}�ٞ��G=#H�!���'�=c�A�'�G}���嶨�ʽ+�l�x����	�;�9
|�<+�a�Q	�
����jN�R(�"v�w_�ӑ~.��~I�'��c
-��L��|���$��Zr�1�3Y#�,݊�n���rKz�r�vW�t(���ڜ�����S��S1��8���Pj�g
4���{}�1$���;(:��9��aM4����jF�!7nN�"X�/�s:�H"���'$������V'���0��@n�
�B��a��P���8����P
��E�`�l��z�����=�C���v�qV�r� ��7�hvIu����9/���w�B>��%��e��z�,�b�;��J�˺�݈�w70<~w�����^
׮���C�
��ܧ%u�\�������ɢ��]��;�>���_�����OXuf�/?���j�wMS^]^��ߣu�yZV(m.�2�
$
�� �(�X�UK4�y����t����G��j��WM&�
BH~6���Z�endstream
+xڭXێ�6}�W(��ȚKR�.n�I��i.��y��֦�BeI��l7E��ë%��M��ؤDgg�����
�G���0�P�8���
IL�$����1�(�L	�x���dJ
�η�m�%7ӷ|�ń�c^�GI�q�L>�_�~��>����e�%!
����G
���� ����F��
�
ލ�ᮞ
�!�13z�
���ĵ=���Qp����6��6_\��톯D�xY\�\�ڍ�(���۸ݵҌ��vW����53���#y��+4���盢5/�y�߻�+;��u]�����M;����X��,�D�O2Dh�^�qd �
�u]�0V��W
p�8
+��
�����ۦҌ�4��
�;���ۺ�"��hʹ�d=X�͋ʪt��
��H끍֎][T�V�7�7N�l�z��W�mz���������"��ޯ)�ֳ��,j{KO��n�+��GV?�0ʺ{���l�J���(U����M( 4��٬o֍țEw��𲮔ǩ������	*�2fqh�҉<$�0�a�^zP3:�Umq]���
�͈[_��Wr���
�BC4�p��7��z\�Z|���V.ʢ⋒W�GO$p1̑���q��ňD���I5h�0�R��Yԣ��]5%	���^e!-��{�����hR�-�v5���_���I�I��'�� W�b�#�%F
�����t�C��(�X�"��1���1�E�Cm�l�p��\_�7u���I�z�>���=����)�𞣾}Jk��8=P�������ܭ��d���!NiF@KفnJ�h3�N��=s��yV�2�I�#�v�MY�X�}&��u�W�;��]�C��;~	eQ?��r�
+�j>���M80O�3�� �c���"!�U��;��C��}dʼZ��
+}����_/�#Ԉm�����gϧ\�E��|�ۥ(�y�N:E*֍���Neh�._�)��I���
��m�LsM�\֚�ÞB0��EcU�'M.d�ܕ��Dx�_2S
�˵�_��>����TC�i��"����T�.��
���  "�:���˲�R��x�%TL������̌6�Z������WQd
*�4%�6e.����"/�/�>�>�G�2x�Qf����`�I�0sg�'z]]w�X��1N{�7
+<��O�s\���
+T���� J��2�b(~ 5N�F�N]��j��TPg�+��k��h�i���T�a Ѥ��0�SJ�Ӌ,����2o]2uWth��[�#TA�,�%����#R����kp
�~��F����]H�iH�������	�vx ���NԠ�r���J9p��7UU^T�~��P?;
!� ��}�~
R_�W���W�	U#}��W†`J́2B�Џ2w�����&�a��RȦmmV_R�u,����
��8b.��i|�|Y�-���&�R�Rh���O���(ɼ���
�(��SFi
H��d��U��|k\�t��okW�'
+4Xx{J\�����A��
4�\���
�i�J!�N٠�g<(2 ��
.+?ٓ�A;<, at TV��묉���6�.�m��F8wG,
�ޘ��
;�P�3ύ�cb�jv��G'�xW�>� v���U�w)xy�/T~��X�*��b��"���͔�(,�g����Z���U�����֕�
�hh�m6G�@��o�z�:���L&��~�s��b�%aj��
X<�u�Œ�
3��
3�����	�6�Wy��KW�3lk�ַf�ch!H�

<~��WDc�߁�ij��Ҋ�H��x#e3;?���A�������aB�K!���h�ۖm-|O�
+N
{hx	�V_��
+endstream
 endobj
-2109 0 obj <<
+2069 0 obj <<
 /Type /Page
-/Contents 2110 0 R
-/Resources 2108 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2107 0 R
-/Annots [ 2113 0 R 2119 0 R 2121 0 R 2122 0 R 2125 0 R 2130 0 R 2132 0 R 2137 0 R 2138 0 R 2139 0 R ]
+/Contents 2070 0 R
+/Resources 2068 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2063 0 R
+/Annots [ 2052 0 R 2065 0 R 2067 0 R ]
 >> endobj
-2113 0 obj <<
+2052 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.0329 597.4846 284.8909 608.3886]
+/Rect [103.669 719.912 211.204 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9a28ec8161898b61530de9bbb4a3251d) >>
+/A << /S /GoTo /D (namespaceParma__Polyhedra__Library) >>
 >> endobj
-2119 0 obj <<
+2065 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.8565 351.8634 243.4733 362.7673]
+/Rect [247.033 276.941 284.891 287.845]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cfed8bc19e046453778c9d99d84df283) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9a28ec8161898b61530de9bbb4a3251d) >>
 >> endobj
-2121 0 obj <<
+2067 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2787 313.0091 155.4642 323.913]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.9624 313.0091 221.8944 323.913]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_12dc6df3a06f4c97c6bb2264bbad05ac) >>
+2071 0 obj <<
+/D [2069 0 R /XYZ 90 757.935 null]
 >> endobj
-2125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 232.2466 181.845 243.1505]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_edabe8ecd0866b972e97709e17f94681) >>
+2072 0 obj <<
+/D [2069 0 R /XYZ 90 654.237 null]
 >> endobj
-2130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 193.3923 181.845 204.2962]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_82b35fc075e1e9542d4cc5cff2e236f8) >>
+2064 0 obj <<
+/D [2069 0 R /XYZ 90 630.645 null]
 >> endobj
-2132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 154.538 154.727 165.4419]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_93c1c491c0035f6c38b9ee036184aa7e) >>
+2073 0 obj <<
+/D [2069 0 R /XYZ 90 630.645 null]
 >> endobj
-2137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 116.0573 176.5049 126.5876]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1a6088f536e9340145630576cfd6e6b9) >>
->> endobj
-2138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 101.0629 450.9552 110.9682]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_82b35fc075e1e9542d4cc5cff2e236f8) >>
->> endobj
-2139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2111 0 obj <<
-/D [2109 0 R /XYZ 90 757.9346 null]
+1349 0 obj <<
+/D [2069 0 R /XYZ 90 424.649 null]
 >> endobj
 130 0 obj <<
-/D [2109 0 R /XYZ 90 733.028 null]
+/D [2069 0 R /XYZ 90 419.966 null]
 >> endobj
-2112 0 obj <<
-/D [2109 0 R /XYZ 90 681.9891 null]
+2074 0 obj <<
+/D [2069 0 R /XYZ 90 361.446 null]
 >> endobj
 134 0 obj <<
-/D [2109 0 R /XYZ 90 503.2229 null]
+/D [2069 0 R /XYZ 90 182.788 null]
 >> endobj
-495 0 obj <<
-/D [2109 0 R /XYZ 90 471.2944 null]
+478 0 obj <<
+/D [2069 0 R /XYZ 90 150.86 null]
 >> endobj
 138 0 obj <<
-/D [2109 0 R /XYZ 90 471.2944 null]
+/D [2069 0 R /XYZ 90 150.86 null]
 >> endobj
-2117 0 obj <<
-/D [2109 0 R /XYZ 90 368.9343 null]
+2068 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F95 1779 0 R /F21 2075 0 R /F11 418 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-2118 0 obj <<
-/D [2109 0 R /XYZ 90 368.9343 null]
+2107 0 obj <<
+/Length 1857      
+/Filter /FlateDecode
+>>
+stream
+x��YY��8~�W�)
UAH�=��*smM6�lf���$E	[�+��c��eK60�a&$�/`��j��_w�������{�׽ѹ�k.r-ji�S�ŚmdR�]�ڧ>!�
�cܿ
�gY�Ɨ��I��s?c���$c�����t|5g)|�~5:'dE,q
d�,ZI}VY[�`D
5�C���n�/�p�<
��A�K�<JCV���{>�ـ8}
{��vu�o;Bd����G@
+�He
�F6��E�O_����WF:lfQ��4���
jW�?{x�e���e�
+^��0𔆶�_�<�TP2F�&^ݞ�
�ц�"Ӳk!�)5��h��&`U�0�O��z��Q6�[{_�{	
�f�3��
x\�����|M����ܦ��Y�PԲ
�
��
C�w=��ˈgj����I,T?�i�O�9�#f.'e�s���S�� O�+�$Ĭ~!��,��@w�fޡ� ��}?��4�ۍ��e����361�^paI�M:@i�H��JBϓ(쟉
�v/xm�ſ�,
�@��s��8�g������

ua�C�ȺM�7<��cT��e�A�P7U�
�݈��
��_F�
�Dk}�+���Nt�΂B��Hd,4W&�0�V�0/��#�gY=pM���e�j$�$|yurqQ?��J�
ܓ	�6�W]wE�� ����
���M:(�Aޡ�<DA�$�N����|(p+;'y�q&Y�$
�;�i#��G���g�0���"|�0�Y?���b��æ�@�2�

�V3��a\D��o�hD��߷���ݸW�����Ҋ����k�=�X,����=y���'�'I���0a�N�
���kȌ��<�H�

��D].�#b��nS}�� Q�ݢ���ľ�T"���K�*���d��f ���k1�Z�EO$�@�m
+U>��f�_���N���B.�@��nQd`H`�BL���yI��..�	�8ԉ8>e�
���*���۸�p%��S^zP���2|ڵ
��fS杒�Ԭ�@)�-H���cd��
,�� ���GI�
�������µ")X8�s�x<Y��b��z�Zi"Q�=�zV�.�M"�U����?=�Lur�I����
�y�R�4!ؿ��)�D����t�b�
�v�M
`�c=n�Du
9��_��2E��bw���|>���,����Q��IP
=�2�j�!k@��m�}���\K �@>�"��SVzPC�Oe����,� S�W
�J[���N����ܫC�.J%T���W�|]XouH��|E��0!��e4nF�����~wZ��E���g!���5����^�u����^ՙ�	(�Ũ�t\���e
܈f"��@�M
�Ų�ql�$yʽ@�ET��S�q�x@#�T ;����2x
.�D<Y,��'I��u���n�v���=�����ݛ��g�\\��ߩ��� �%�r赬
@�� ,d
.�$�6T�0	��m�W�
v��Ԏ�6�F{}M���6��,�n��C�`[[�؂��m*[�	�ѲϽ��K�q(�n�7
�)LLn�`��2c~�ah%��"�1�ݮ���\YX� �
>� �0�Y��<��#�
��j�/�F�
E,����A��
ZK�Db/���j$ �y`͂)�
���̘V'd���j�;���8�4y��ld�Z���RG)�J��2�ce��
^W]�tϞ��#j��kG���;���"��N����n#o^KZ�
q����n#%
�;p���'0�f�ۢ��o�H�|�ny��W�
!����4����,���x�7qCxE$�8х�e3�+���}�����o[�!�"�4z^��h�X,��#���
�(M����J��n�TUkp�k��x� ��B��
+endstream
+endobj
+2106 0 obj <<
+/Type /Page
+/Contents 2107 0 R
+/Resources 2105 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2063 0 R
+/Annots [ 2066 0 R 2077 0 R 2078 0 R 2079 0 R 2080 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 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2097 0 R 2098 0 R 2099 0 R 2100 0 R 2101 0 R 2104 0 R ]
 >> endobj
-2120 0 obj <<
-/D [2109 0 R /XYZ 90 332.1024 null]
+2066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.857 697.345 243.473 708.249]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cfed8bc19e046453778c9d99d84df283) >>
 >> endobj
-2123 0 obj <<
-/D [2109 0 R /XYZ 90 251.2204 null]
+2077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.279 658.685 155.464 669.589]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-2124 0 obj <<
-/D [2109 0 R /XYZ 90 251.2204 null]
+2078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.962 658.685 221.894 669.589]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_12dc6df3a06f4c97c6bb2264bbad05ac) >>
 >> endobj
-2129 0 obj <<
-/D [2109 0 R /XYZ 90 212.4856 null]
+2079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 578.204 181.845 589.108]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_edabe8ecd0866b972e97709e17f94681) >>
 >> endobj
-2131 0 obj <<
-/D [2109 0 R /XYZ 90 173.6313 null]
+2080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 539.545 181.845 550.449]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_82b35fc075e1e9542d4cc5cff2e236f8) >>
 >> endobj
-2136 0 obj <<
-/D [2109 0 R /XYZ 90 134.777 null]
+2081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 500.885 154.727 511.789]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_93c1c491c0035f6c38b9ee036184aa7e) >>
 >> endobj
-2108 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F23 2116 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F100 2135 0 R >>
-/ProcSet [ /PDF /Text ]
+2082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 462.599 176.505 473.129]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1a6088f536e9340145630576cfd6e6b9) >>
 >> endobj
-2143 0 obj <<
-/Length 3472      
-/Filter /FlateDecode
->>
-stream
-x��\ko7��_�O^
���f��I�v����b��yb
�
��q��~/g�
9rl���HmKG����{�%��`��L
�(��a\N��<����;!��3x��8y�����rr� 	�����og� 2���٫)�g��z15��l{s]\��Wo�����_~�b~~���?.~x�-!�Yb8RF3�a����D�	F�� .z�D��
�Y��,��
-
�
=+ֻ�EYԯ�.��)�g�f	/)�ę�����
�&��Ib����o��%������br`D����	���qsr~�/o�~��@�m�X ��d�8�>�"�\-� ����P�5�wbD46��
P"�4�x�
�vd�OQ�&���G��&�Q��쯚�^� �2���"v�b��������
}S���D$�R�
Vy��!�
�e�p�r[.n�
��f���,m�T+���I�3���p��uC���ԩ��ne��*D��41�>"	uC20QT|����U��A��;��^��~��nyݤl��W{���V��g
������7o.���Uq�>��
&'j��k�#�c��Q�#��j0���Pc�����0
��p�y¼�� .��佇e�>4xt�g�9\�ntާ�>8�3L
.bZL�8�P�M>��kj��g
��	��b�u_��B"��:*�)p�ax|گ��m_�����O���
-����
$)�Gg?�~F��d���?0ؽ�����:�ڔ�λ#�F�A?�
NY�ϑ�ص$����r{�U(�R3���C圃F�_
��'�>@���s`#�����E�����UY�n���_6��n���7�b%���7����t�8�猀�R�(��Ќ�~
�0�Z� )��,��nø��&4v$�o��v����W���j�.6e����b�ܕM#s/
-��nD��jN(�@:7�Y�Kg���e���J�
�DP	�d�5��[8a��I�W�L\
*�j��F��I��²
��Ko�Y�-����
-�a����N�i��Jߠ�GePN�0��ln�s���
�i�@��Ǒ���
��]K�Eե]�b�(��˛�fU��Q�3�Q&
&eJ¤,b��js����������U
�Ib�P���~�gHr��ԟ	D�2�ѣ�
#*9��ʛ���e,����{��MZ#� 7��b�+�.�����aW,W ���f��bټ�	D�	Q��@�F�@�6��
* �OT�:X^�G+`��S��[^�BL��
-����1fZ��'fg
>G�c7�ZJ@$C�Q�z�U���~*�YG��$���y��cжZ���M=?]���zɴ�Ð\JC��
�Geh0��R4汌x<���_����ӫ_����_���l[w�6R�`��/�)S�M���c.�����c�6���lX�8�
&�O�Y`���g4�ò��W8v}~��)��9�ܖn��j�
-��rs�e� !�h��ֽ�]�f�nJț
��.��iB|�
=f	�c58�k�G���àg\�	;��`�7��� 8|�F�nZ�1��t<��;z~Ե��I���Y��7���0��Du
��!��&���
��gBܵ;Z���5Ɍ8���`#��㕞KPE��r�U��FB�=l�۵)S��/Jhzm��L�oww��,4��n?��l�a��v���QP?���C�gyC f�a�V7|�ERJ��uŶ>J��J��W���m��̜��<L.T�_�G�����-p�C���e��jS���P�;BC�SF�Q�4
-Z`������|�a@�7��3?���|�|?�}Wg��=��#�r��J�
�/�AR��ɽ�[ݴk��|���@���?V3�r�`y

-irNBnyH�
U ���@��D��A�F�n#W�[�%fH
-4Aض��XxT��
	fhL�ty��f`
-�����FB<�ar�H�A��p3
1�?y3E�\��l����
�q��p�_���.��ds8v>"�34:v-���%��~��S��d(<*Á*�(�Y��4��P�8��
l�2��>aA�wl���WK= ��I%�L�j���l]g�.����Ұ�&8X^�GkB��ӄ�[^�BMH����%�	��1���ѱki�j6��
���‘}����e|SU�H�>�]��p�}�
�cб;z�C��܎�~��a��%Zqx�‡}`)57G�e`#���H��5�zsӧ��iw�G�t\����S��Ì :X^���>�����S-��)���)�rw�cj���h�b�ݍ��6c�>���G���à�g\k���-߃bO�
�J�
��ght�V!�~��� HS!�W�Q]��:zǚQ�S�튥}����]�=B۳Vb�җ�P��7�h�n~�S �X�� o��{\�������gbԵ;�rJm'�XyT�g N��GO)�Y
V�$L;`:1#d!�g��$�Ү"
�.�H�I����m�
 
�������O?���
�:7���le


��g�9����?�/T��k���qɶ����~�F�n5�߯.��G"h�L��=*���-��W���J��k��
���э��%lD&
��a�elw�D<
�����0?ja$���0{�����0jO���_��� .Xn����Lt�}~��y���o{K�
dy�&��aM��Q�
s��k%�&Ǯ�rl�Sɱ���]��V�e�����_��\��V$�Q]
-qwڱ6���N
�Ilr!
I�S�\*��8�
�
����i��D�kw|�+c����Q
���x�op�C\�(�B�c�Ch#Q
<�����y;;웅�j�CH�kL(�4��WtL!�=O��
����c��
9��!���&���v�����i��
��a�x�y۪���Տ��w4�Z�H_�e<S�Q����P�q5��=>G�c7�s�0����8TηHȜ��ߧՊI�c������Z9X��!n1z��5��
��U��CX�3���J�'9��>5�
��{H�GHb矕#�֑�Nc߶���V���MaoMBi����s�HhNi���$��ܡ�:��\�5O;u�|_}�Mw�L���40�8s��3
�V-��]��:���Kĥ��Kw��ci�T
��c��
�c���3��V��I��H_��
�jC\|�9��q����+���.�����C�W�D��Z��V�u�^dP$��*Ґ�Rh|>���"J?��j���ǜ��~�� �Uo���)�Q�;U��=�k��
TK{ ���/��N0��WU�ܯ� [...]
-endobj
-2142 0 obj <<
-/Type /Page
-/Contents 2143 0 R
-/Resources 2141 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2107 0 R
-/Annots [ 2146 0 R 2147 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 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 2181 0 R 2182 0 R 2183 0 R 2185 0 R 2186 0 R 2187 0 R ]
+2083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 447.702 450.955 457.607]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_82b35fc075e1e9542d4cc5cff2e236f8) >>
 >> endobj
-2146 0 obj <<
+2084 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 707.0278 191.7178 717.9318]
+/Rect [113.91 412.607 191.718 423.511]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2147 0 obj <<
+2085 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 707.0278 288.8524 717.9318]
+/Rect [192.216 412.607 288.852 423.511]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_033967c42f02b6029fc4d6153eb8072a) >>
 >> endobj
-2149 0 obj <<
+2086 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 668.3076 191.7178 679.2115]
+/Rect [113.91 373.947 191.718 384.851]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2150 0 obj <<
+2087 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 668.3076 303.0791 679.2115]
+/Rect [192.216 373.947 303.079 384.851]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_25c5ef784f17646705c76a5be6c724a3) >>
 >> endobj
-2151 0 obj <<
+2088 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.6348 629.9609 188.6794 640.4912]
+/Rect [144.635 335.661 188.679 346.191]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e0a1b4b4a344cad01c58e8e006a7ff16) >>
 >> endobj
-2152 0 obj <<
+2089 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 554.7827 170.2551 565.6866]
+/Rect [125.095 260.755 170.255 271.659]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ab3964a5c29992e6476852c9d246fe6f) >>
 >> endobj
-2153 0 obj <<
+2090 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.0708 554.7827 239.7139 565.6866]
+/Rect [174.071 260.755 239.714 271.659]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2154 0 obj <<
+2091 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.8775 554.7827 409.2665 565.6866]
+/Rect [323.878 260.755 409.266 271.659]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-2155 0 obj <<
+2092 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 520.0475 170.2551 530.9514]
+/Rect [125.095 226.081 170.255 236.984]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_3825b4905d72422089bf28d3c95c2964) >>
 >> endobj
-2156 0 obj <<
+2093 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.5923 520.0475 242.7526 530.9514]
+/Rect [197.592 226.081 242.753 236.984]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2157 0 obj <<
+2094 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.3168 520.0475 335.7828 530.9514]
+/Rect [260.317 226.081 335.783 236.984]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2158 0 obj <<
+2095 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 473.3571 170.2551 484.261]
+/Rect [125.095 179.451 170.255 190.355]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_fad498a5802a7928442fd0d4b8c6183f) >>
 >> endobj
-2159 0 obj <<
+2096 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.4282 473.3571 241.5885 484.261]
+/Rect [196.428 179.451 241.589 190.355]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2160 0 obj <<
+2097 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.612 473.3571 360.0781 484.261]
+/Rect [284.612 179.451 360.078 190.355]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2161 0 obj <<
+2098 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 438.6219 170.2551 449.5258]
+/Rect [125.095 144.776 170.255 155.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_128b2fafec11e096e41f78710ba2ff0a) >>
 >> endobj
-2162 0 obj <<
+2099 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.5923 438.6219 275.4194 449.5258]
+/Rect [197.592 144.776 275.419 155.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2163 0 obj <<
+2100 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 403.8866 170.2551 414.7906]
+/Rect [125.095 110.101 170.255 121.005]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_15b3e8152862a6b98ecf1c4f4a142634) >>
 >> endobj
-2164 0 obj <<
+2101 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.5923 403.8866 282.0448 414.7906]
+/Rect [197.592 110.101 282.045 121.005]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2165 0 obj <<
+2104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2108 0 obj <<
+/D [2106 0 R /XYZ 90 757.935 null]
+>> endobj
+2109 0 obj <<
+/D [2106 0 R /XYZ 90 714.318 null]
+>> endobj
+2110 0 obj <<
+/D [2106 0 R /XYZ 90 714.318 null]
+>> endobj
+2111 0 obj <<
+/D [2106 0 R /XYZ 90 677.681 null]
+>> endobj
+2112 0 obj <<
+/D [2106 0 R /XYZ 90 597.081 null]
+>> endobj
+2113 0 obj <<
+/D [2106 0 R /XYZ 90 597.081 null]
+>> endobj
+2115 0 obj <<
+/D [2106 0 R /XYZ 90 558.541 null]
+>> endobj
+2116 0 obj <<
+/D [2106 0 R /XYZ 90 519.881 null]
+>> endobj
+2118 0 obj <<
+/D [2106 0 R /XYZ 90 481.221 null]
+>> endobj
+2119 0 obj <<
+/D [2106 0 R /XYZ 90 431.603 null]
+>> endobj
+2120 0 obj <<
+/D [2106 0 R /XYZ 90 392.943 null]
+>> endobj
+2105 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F98 2117 0 R /F35 2013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2170 0 obj <<
+/Length 1840      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�H��
He�/^�ݻ�tIڨ���*]�T��B�۵M��o�^�.�4�(�=;;;�3��cckba�u�k
�r��!ϡ��[
��C��ꍬ/mB�t	Ƹ}�!��'3�ѡ�
M��r����� ����'g��k?����7ǯYSK<	υIs��"��	F�.z

"���ߥ�t�i�K9e
m�Y<�3Y\�(�2��-�!\
�m�)����ַ-�"�7�@�
�Z_�bk��X1X�"��Y6e�9�.[���,^�0��V�
!(C�ᅵW��|��x52ц|<oY_�
PXwr%
�Բ�0��(L3}ӠB���P&~%��e�əI��$m�aS�y�JP˅9�Z�ȱ��%y��9�ӑv�_|��]_�I���hV�ʮ5&iaK�=�E9em��X�N5�|��]�Q�?�25;�
�{�2.m��f]�Q�A��:�@����F���g�ǟF R��6Ȗ�"<
��5����?�����˿_�>ߋ�ޔ����	v�%UR��vE+п
�|�@��D�r��T�.+�Nn䑕
ȶ�FJ�irw�J�2��?Ӯy
f2��P��A7�wj�����j=������q��61�`��B]���'�m�a��sH�v�w�K\�y5��Msٰ�ٍMd�ڣAt�%���N����Z]%
wm�\Zw��aGlD�=�yVϷZ �_���~��x�#�67�ϙqDj]? �C��O�6$m*�M`�L������K�}f�$
+��AS3�q� ��'�Ee��>��ejwk���8��-w�؉�j�[2��P��3T�0�C

 ��sPt��#��,��h{҉�񀤷u����!W��+
0�I0	g2,�P�V�W���5�긷*@�0f��
h�W��:0�pH��h)�#c�
��Y��W%0,i4Ы
��4��n��`0��{V���7g�K�6i���g�j�� q����&�l
���q���� 9��d��^�/�����
�
,�$�>Iw�(�	8�
D�8j�j�z��V\a�
��@bU�U��JH�Ԯ��L�Y2��B���+���Q�9��L ʵW���@�4�j
3�~Z�P}�Ϣ��}�/��F�x�8�W�������* �܉*z�Umu��<���P���[���jK�7k|��<Y����z�[ݿ��j���-��p8�� �b��.�x����"�g��8�{�������
�ᓣZ� քF�U9�[��YaK06!
+��G�%MF8�d�_5�y�"H��u�MI��v��[7m@���&�
pD�E�
ҁ{`3
M�[8���TQ+�03u�7�oX
K}�!+���ЅEy�[U�*s�7�!�#F�c�C�i�}��6�.b�fÂ�X +;
W�F6��+e
W< �I2W���
K=,}�ZaKT�巹?
�em���b(�ʩ��d�`i�����u�-�uϲ�����!<�X؅y?�UxÍ
o�Mx
����x��o���6{���si���O[T��Ay�S��^��Ze �;�L5�0�nH���z�M؁��A�Kvkx
�h��nD�p���I4���H����!������8��
+�hy��CȽ��V� ���pn�wשe�?��+
+��z�\�\ �VSHX�Υp@�%�W��:��CS�\p��������{r ��:`-~
+26�Rq�}���%��y�����Șۍ�E^%3�
�/!����'��/
�[7B�p^v��PNV�}�WV�
v)�p/���U~����ie4Ū
�X|�e�����b��)��A�� ;�����}��Bl�zb3.�
�(��g�j��&�vJ�
+endstream
+endobj
+2169 0 obj <<
+/Type /Page
+/Contents 2170 0 R
+/Resources 2168 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2063 0 R
+/Annots [ 2102 0 R 2103 0 R 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 2136 0 R 2137 0 R 2138 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 2159 0 R 2160 0 R 2161 0 R 2162 0 R 2167 0 R ]
+>> endobj
+2102 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 369.1514 170.2551 380.0554]
+/Rect [125.095 719.912 170.255 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_dbf2609849c95cfb7277df1edc69534f) >>
 >> endobj
-2166 0 obj <<
+2103 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.5923 369.1514 273.7359 380.0554]
+/Rect [197.592 719.912 273.736 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-2167 0 obj <<
+2127 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 334.4162 170.2551 345.3201]
+/Rect [125.095 685.141 170.255 696.044]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_faa5d6b3c1b3b83161b619c28c5f9936) >>
 >> endobj
-2168 0 obj <<
+2128 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.5923 334.4162 245.5223 345.3201]
+/Rect [197.592 685.141 245.522 696.044]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-2169 0 obj <<
+2129 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.7152 334.4162 344.1813 345.3201]
+/Rect [268.715 685.141 344.181 696.044]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2170 0 obj <<
+2130 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 287.7258 170.2551 298.6297]
+/Rect [125.095 638.414 170.255 649.317]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a07f93a685253eb04edab43b5ebd27b2) >>
 >> endobj
-2171 0 obj <<
+2131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.2216 287.7258 232.8217 298.6297]
+/Rect [214.222 638.414 232.822 649.317]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-2172 0 obj <<
+2132 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.3832 287.7258 282.1101 298.6297]
+/Rect [249.383 638.414 282.11 649.317]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-2173 0 obj <<
+2133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.5462 287.7258 423.0123 298.6297]
+/Rect [347.546 638.414 423.012 649.317]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2174 0 obj <<
+2134 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 241.0354 170.2551 251.9394]
+/Rect [125.095 591.687 170.255 602.591]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_25a2d683973c6c6901e47c4fe90cf2b1) >>
 >> endobj
-2175 0 obj <<
+2135 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.5923 241.0354 217.8461 251.9394]
+/Rect [197.592 591.687 217.846 602.591]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-2176 0 obj <<
+2136 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.1261 241.0354 322.5922 251.9394]
+/Rect [247.126 591.687 322.592 602.591]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2177 0 obj <<
+2137 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 194.345 170.2551 205.249]
+/Rect [125.095 544.96 170.255 555.864]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_df78023ac662762ffc808902b970597b) >>
 >> endobj
-2178 0 obj <<
+2138 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.5913 194.345 279.8597 205.249]
+/Rect [207.591 544.96 279.86 555.864]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-2179 0 obj <<
+2139 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.8614 194.345 426.3274 205.249]
+/Rect [350.861 544.96 426.327 555.864]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2181 0 obj <<
+2140 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 147.6547 170.2551 158.5586]
+/Rect [125.095 498.233 170.255 509.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2182 0 obj <<
+2141 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.9947 147.6547 221.8013 158.5586]
+/Rect [180.995 498.233 221.801 509.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_bee6d42dd6f94979bcc7fb3d51102864) >>
 >> endobj
-2183 0 obj <<
+2142 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.1385 147.6547 294.2988 158.5586]
+/Rect [249.138 498.233 294.299 509.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2185 0 obj <<
+2143 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 111.0609 167.4656 121.9649]
+/Rect [145.1 461.566 167.466 472.47]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_9bf45a32e428970068f654258dd7fb0c) >>
 >> endobj
-2186 0 obj <<
+2144 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 111.0609 216.4416 121.9649]
+/Rect [171.281 461.566 216.442 472.47]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2144 0 obj <<
-/D [2142 0 R /XYZ 90 757.9346 null]
->> endobj
 2145 0 obj <<
-/D [2142 0 R /XYZ 90 726.0541 null]
->> endobj
-2148 0 obj <<
-/D [2142 0 R /XYZ 90 687.3339 null]
->> endobj
-2180 0 obj <<
-/D [2142 0 R /XYZ 90 164.6884 null]
->> endobj
-2184 0 obj <<
-/D [2142 0 R /XYZ 90 128.0947 null]
->> endobj
-2141 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2201 0 obj <<
-/Length 3529      
-/Filter /FlateDecode
->>
-stream
-x��\[o7~���S�"��Kw�m��f�m�Oma(�8֒\I����{83�ș�(�S`It9:��!�Ǐ
ΰ	�?l���(C��zr�<������g��z��R��ߟ��N��#Ns=y]{Ќ(�������6�1J���)����r~�v��������/~\|��7�_}���w7�j���^}�X�9I��`x�kL�Ȍ.�l-�8q�	�[���.���o��W�9~^-�n绪����L�=�V��qB��}�}�>&�ͧ��t�v��try��ᬚ<�J�s|�<�\�7�g����4_�?�I-�\��LHb5�|ȊQI�
��
B���
O��
ќ�I4����s�m
�лԙI�Wg���;���c��O):�	ul 
Ϻ�5˱QA���b��ֶ����
�J�.�a���G��
|��_6�?-$����
���M3�	E���%>j`FN, Ӳ&alk���<���v���ܭa(3vN��i�:
���bZL�j�V|�W$�+q����u
Z�
'�Y7�<qxG3��7��j]��ݯ.w���-���|׼z�n�������jq��ڒ?8�b`ň0��ԬP}�
��R�c�ךeخ�j���^�
�c
�!+��P4T�(
�.�`�
��n~Y]D�]�\Sb�D�1Z!�DH�:���
P�0w�KN 	�O��G�����S����k�
����o�ם��j�_׉n^��x��.V�防4���h��/��vN6��$��`��Yl��!�2�\��k
���)m��@�@�V�L��+�`��x���/�
%�b[��Ǘxf,���zʕI|U�tȪ��w�$�ҵ��<��)���T鉏R�����r.�4��t�䲲|ٴrq=X匀�pOP�؂G���@��
�ڲ���a���J���
-sޥ�NOh/�Lwz�� ��H��~�A
-�f�vɵ

*��tS
"�h��q0q��Yv�#
���1�r�(�켬
,��Q/G3��S���2�5˰}�ye3_�v�
��j٣:�j�ֺt$5sH�dMc�ˠ^F��
H	Kd+�ٜE+,���):�x+
��,UF�q���Ѭ��歖j�5]M*�L�7�l8���Ԓ���W�JA�����%'Z3l9��N
�\�ep��SlG�t��5]D����r�Z,���.J��@Y��pg�
-�?�� 9��9̖Ps'Uw�T���Pu�>m�[�YV>U�s�ؙ%T��V+v�	X9�؃^�Ó��
.{�
������!,vK�bE�u���!��/���.Cz�nwN���Y�������w�.amh�;i=��(Tx4;f��m�~���.v�Y�b����w����@
�ݹf��٦vi�${��]X�Z����L��
-���S_��=�6��K8�.�2�h�!�&�Ce/ ��j+��E+�`T��쨲W�'N��R���썪���&������E�F
q |�s ��
 �
�'Vr�$�,P���bw��m6zkD˪mj���e������|ߪ���
d1�,�g$1ބ���b���X,��,�8��
VX�@Pi���m/���9�=L��
��� �_]m/�7����������?�-;�
,�aH��0\P"�ӝ^�
�
�
L�V��I��`��z?.V�|s��w�j;�K�/�BFF�B@(
�/�d ^T� �h6f�$�'�q���������G�����7�[�6_�l��}�7�s�2�
k]A�F�c�#?(���T��u��B���ȫ�
[��Ǟ‹NT���� 
�dK�SX/4v%-���:,�'�e�,l�=�#����e����_
{�3'�L
-�]�D�B�x�tiZQ� �Ff#�c�^G���>���h�`@Zʊ�H<�5�QP<̞š��kF��S���1�?Q��HS�7�E�N�Jk)&9�N���i���L�
"MP ��E���X���z�;��^���4 �jː�+,��g�\'�a�d�T956�
���;�(�?j��.�"Za ��m;� �T�+�]���øac�,}��6M��\.�U��ߡPL��0��w+�	���]�z��R�Pm�f"�# �~GeB*I�`H�D+
�?Y�٭����S��U�
?13b�?��p���k/ꂾ_��o�?N�I�m�4�3t�<��
�o��,�o
k�[x�η�j�H�mg��
�Iql����-������chN(S
-��!H'�~�7���C%�%sp��d|�ߟ92ڇ��<�,.=�݄!k�om�
v9�V���0�SK0��ӕ�����ۆq����UW�A��S�.7��Dz��܈f��H
���Yؒ�ȣ�r	��:Jn�[
�:ȍ<������(���=Nns��� 72#��Ȅ��FK��qr�����@@��'�#3��e}��ɍb&�r�F?�ʍ�������G��b�p;�aR	������~=��U�������v�j?t2�Z
-VHp�';�$����X�#�h�'h��GAkE�/Z���t�7���
w�Ū�C��j~7����i����j�͛&� �6ؼ
5R�q�ޏ���O at s�c��
f��K
��_9n~i�a�g�a�v��_k���M�T�(ϪŶ�FXdP~\3�I�a�g���8F& �#0�~G+?�%s)�� s����	L�Y"�Vc��,}�#u�w�r>������NY�X��u�W;�3�}�#u�"Vb��V�g�3�u��6�}��.�+�}���o3�l��4�t"1�Q�>�
�>l?���Ȕ�+ZP>J�'R><��A�ʇ
R>�s�Z)�|zAJ������qԺg�=��{�_�#�g���v�S}�a�م��H���f��H
��Yآ��Î���1B��� 4��Ah�)G����FF��QB���(4AhdF
-����
�2����F1{���B#O"4Ffb/4� �~��L�"�~&p��2��r�5�v�A	�n0����CL]���!�Ձ��`j���~#�:����w�������9L}dV4�"��ȬO�Y�������Y�K�?b�R����g�[�����%�W�4_�x�3;��'�緽;o7_��C�!
@���
-�m}��n�����t΍MA�G`���
�ƕm���VXl%	
q��~�8z��ٝS~�N@�4E�?�gg��Nx>�3`�Q�mz�ϋ|
p�
�,zh�QH�|������d�#�Jv��ו��T��,2]sѕ�w�֏p�m���NjC|�'LVl4*#�;iZ�'� �I��VۑY�����"�Y ������&aY�Fi��	�y����'�j�Ozj�
ZmA|��������u
-�~l�bo�(l���z
@ۼm�Bۼ�����e��y����W��ݜ����=i���� j}�*�B���wU�s`�L���>MP��&��?��
-?�%�h
{i�����6��vw_�z���@.��~��ې�������#���B�͢QK�yaaQ�`��X��c��M���r���#^X�
A�����endstream
-endobj
-2200 0 obj <<
-/Type /Page
-/Contents 2201 0 R
-/Resources 2199 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2107 0 R
-/Annots [ 2204 0 R 2206 0 R 2207 0 R 2209 0 R 2210 0 R 2214 0 R 2216 0 R 2217 0 R 2219 0 R 2220 0 R 2222 0 R 2223 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 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 2249 0 R 2250 0 R 2251 0 R 2252 0 R 2253 0 R ]
->> endobj
-2204 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 719.9123 178.0039 730.8162]
+/Rect [125.095 424.899 178.004 435.803]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a78a6abbbb3c425992ca644f732e69e8) >>
 >> endobj
-2206 0 obj <<
+2146 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 648.2171 190.7379 659.121]
+/Rect [125.095 352.02 190.738 362.924]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2207 0 obj <<
+2147 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 648.2171 261.8505 659.121]
+/Rect [191.236 352.02 261.85 362.924]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8101d965bc32e4ab1df6aa445730769b) >>
 >> endobj
-2209 0 obj <<
+2148 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 611.9808 190.7379 622.8847]
+/Rect [125.095 315.353 190.738 326.257]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2210 0 obj <<
+2149 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 611.9808 262.1594 622.8847]
+/Rect [191.236 315.353 262.159 326.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_d09a9ccc89ace499a888b6b1a1f4ce44) >>
 >> endobj
-2214 0 obj <<
+2150 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.2253 598.669 390.0817 608.5743]
+/Rect [329.225 301.826 390.082 311.731]
 /Subtype /Link
 /A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
 >> endobj
-2216 0 obj <<
+2151 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 575.7444 202.9218 586.6484]
+/Rect [125.095 278.686 202.922 289.59]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2217 0 obj <<
+2152 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 575.7444 248.5799 586.6484]
+/Rect [203.42 278.686 248.58 289.59]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1e645f35cbeedf3341428988157f71ab) >>
 >> endobj
-2219 0 obj <<
+2153 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 539.5081 202.9218 550.412]
+/Rect [125.095 242.02 202.922 252.923]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2220 0 obj <<
+2154 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 539.5081 296.1808 550.412]
+/Rect [203.42 242.02 296.181 252.923]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_24fbe68af11e373092f23f59b6cfd3e1) >>
 >> endobj
-2222 0 obj <<
+2155 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 503.2718 209.5473 514.1757]
+/Rect [125.095 205.353 209.547 216.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2223 0 obj <<
+2156 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0454 503.2718 261.8309 514.1757]
+/Rect [210.045 205.353 261.831 216.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c7f89b09f6755cdcd97daa3a92522b00) >>
 >> endobj
-2225 0 obj <<
+2157 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 467.0355 209.5473 477.9394]
+/Rect [125.095 168.686 209.547 179.59]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2226 0 obj <<
+2158 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0454 467.0355 309.4317 477.9394]
+/Rect [210.045 168.686 309.432 179.59]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8f0bdfca2a6993bfa08358319d589ab6) >>
 >> endobj
-2227 0 obj <<
+2159 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 419.8402 228.8952 430.7442]
+/Rect [145.299 121.06 228.895 131.964]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_79a586ca093d218e5603380ac0475717) >>
 >> endobj
-2228 0 obj <<
+2160 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.2323 419.8402 333.4819 430.7442]
+/Rect [256.232 121.06 333.482 131.964]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2229 0 obj <<
+2161 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 385.2837 229.5026 396.1877]
+/Rect [145.299 86.288 229.503 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_641b55dd6c26bce06bd8041b38aec873) >>
 >> endobj
-2230 0 obj <<
+2162 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8398 385.2837 334.0894 396.1877]
+/Rect [256.84 86.288 334.089 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2231 0 obj <<
+2167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2171 0 obj <<
+/D [2169 0 R /XYZ 90 757.935 null]
+>> endobj
+2172 0 obj <<
+/D [2169 0 R /XYZ 90 515.285 null]
+>> endobj
+2173 0 obj <<
+/D [2169 0 R /XYZ 90 478.618 null]
+>> endobj
+2174 0 obj <<
+/D [2169 0 R /XYZ 90 441.951 null]
+>> endobj
+2175 0 obj <<
+/D [2169 0 R /XYZ 90 367.05 null]
+>> endobj
+2176 0 obj <<
+/D [2169 0 R /XYZ 90 332.405 null]
+>> endobj
+2178 0 obj <<
+/D [2169 0 R /XYZ 90 295.738 null]
+>> endobj
+2179 0 obj <<
+/D [2169 0 R /XYZ 90 259.072 null]
+>> endobj
+2180 0 obj <<
+/D [2169 0 R /XYZ 90 222.405 null]
+>> endobj
+2181 0 obj <<
+/D [2169 0 R /XYZ 90 185.738 null]
+>> endobj
+2168 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2013 0 R /F99 2114 0 R /F23 340 0 R /F97 2177 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2229 0 obj <<
+/Length 1591      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�O�44_DI,�}h��Z K�O]a(2mk�%O��z�~G��-�5�����%�w���#El�,l�Y��޹�H�Եn������)�n��.!���cܽ�	��$�_�w�x1��,��n� [�~�����8�J��͇�;B��� O�������R�L0�N��f�
��U�_I���<��)� LЮ�L㠐�Ε
��&~W&!���]+���7�:�`����
�@o8�|�����`a���y�kb9��5��;�w��l�Zzڣ��u�r�
�
e�\��J�,ɍq|�;�`�[YWd3��Lѫ:ECmm�
t#M�n��M��|�T!�N��*��o�Y2�F�0�
�M'摌ӹњh�B�	�2�Ęmr�O1��m#�QuBe4w�����5�S�C�Õ _P3JyM����cek��
+#�Ȁ��� U��k4���ͷ` �a���~�DY�-A�y�&���	�89��j�@�v/R9�)W�a$�b��|6�'{%�c$	-i��.ߨ<�r\�:R� ��t�l~!%��iF��A�x
��T
&+�@	ǯ%�GLA�$���A���xP�#�:���
�b�ڦ�"L��Lޢd���g-����TMw�D�]�̐���ֲ��R�*��H��(T����y[,
���0�
�c� Lf6��3CNwA<3+*
��tV��=	�"�!'y9٣T���Ldi�T�
��N�s����e���4��B7�c���b
��c|�V�ia�6Aڋ����z
b�\�B�P�O�d;
+v���d��%C��GP
�,J�{��HITKRd���O��Y�TM�:cu:Ût�w�wڢ3Vg����.:���lC�N:[���P���i���2� �E���WQ�D
�O
�Au���v��΃�'��ώ����x"�C����&� ҹ���#8Pu[���H��R�b��S�	6>�)_��|\ʯ
c��M��t)m�EG��^&y��E���"��"^�OPz9(UA�7��!����=
�(�D[���� ��RD�f0=�`���^xX�
�C
��J���W���;���l���e
+�t�&�+E�J�	����ϣb��]�.Ym��% ÖX����!��8�Q2�>�s)�Uz���	���1Ubiu�
+��G�J�?wYr�풖Kq��Z#���z+�F'l�;�!ߣ�.F�����X��'�<�e�B��_Y��(\�ԧ墒������"�,�F-�,Lyk�@���v��<&�
��HՆf��k�mS����,s8E
c�>���Y�=�;�R������/��;�����L���3Y�S�>8��
�y�(��_:�E:M�t�A��V�4��S�>6{�WU���i����4���1���P����4�	�T����$:j�T�z�$�
Z��A���/ �Eƒ*P������8W��,K�lbyY
����j��\f?ٜw�]��d��
+U
�V�M�
���$L���
r�ZV3�6�o�j��)}�4��
��u�7��Q�#�+����t�j�l�N�� LFȰʰI�-����I� �����E�
+endstream
+endobj
+2228 0 obj <<
+/Type /Page
+/Contents 2229 0 R
+/Resources 2227 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2063 0 R
+/Annots [ 2163 0 R 2164 0 R 2165 0 R 2166 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 2206 0 R 2207 0 R 2208 0 R 2209 0 R 2210 0 R 2211 0 R 2212 0 R 2213 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 2226 0 R ]
+>> endobj
+2163 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 350.7272 187.2643 361.6311]
+/Rect [145.98 698.02 187.264 708.924]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a7b3a5c12ea008b78eed88a621c1fab1) >>
 >> endobj
-2232 0 obj <<
+2164 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 350.7272 293.2128 361.6311]
+/Rect [215.963 698.02 293.213 708.924]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2233 0 obj <<
+2165 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 350.7272 371.1477 361.6311]
+/Rect [325.131 698.02 371.148 708.924]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2234 0 obj <<
+2166 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 350.7272 455.7274 361.6311]
+/Rect [409.711 698.02 455.727 708.924]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2235 0 obj <<
+2189 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 293.2566 187.2643 304.1606]
+/Rect [145.98 640.288 187.264 651.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e61fdcc22d1e0fe43b94194f2eadaa1a) >>
 >> endobj
-2236 0 obj <<
+2190 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 293.2566 293.2128 304.1606]
+/Rect [215.963 640.288 293.213 651.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2237 0 obj <<
+2191 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 293.2566 371.1477 304.1606]
+/Rect [325.131 640.288 371.148 651.192]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2238 0 obj <<
+2192 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 293.2566 455.7274 304.1606]
+/Rect [409.711 640.288 455.727 651.192]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2239 0 obj <<
+2193 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.2349 281.3015 220.0576 292.2054]
+/Rect [178.235 628.333 220.058 639.237]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-2240 0 obj <<
+2194 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 235.786 186.3482 246.69]
+/Rect [146.717 582.556 186.348 593.459]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_33daeddebffc6eb847edd92c3ba045dc) >>
 >> endobj
-2241 0 obj <<
+2195 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 235.786 293.7723 246.69]
+/Rect [216.523 582.556 293.772 593.459]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2242 0 obj <<
+2196 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 235.786 373.3671 246.69]
+/Rect [327.35 582.556 373.367 593.459]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2243 0 obj <<
+2197 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 235.786 456.8371 246.69]
+/Rect [410.82 582.556 456.837 593.459]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2244 0 obj <<
+2198 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 178.3154 186.3482 189.2194]
+/Rect [146.717 524.823 186.348 535.727]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1d00782cbab77286295552af7dba7ed8) >>
 >> endobj
-2245 0 obj <<
+2199 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 178.3154 293.7723 189.2194]
+/Rect [216.523 524.823 293.772 535.727]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2246 0 obj <<
+2200 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 178.3154 373.3671 189.2194]
+/Rect [327.35 524.823 373.367 535.727]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2247 0 obj <<
+2201 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 178.3154 456.8371 189.2194]
+/Rect [410.82 524.823 456.837 535.727]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2248 0 obj <<
+2202 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 166.3603 218.4038 177.2642]
+/Rect [176.581 512.868 218.404 523.772]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-2249 0 obj <<
+2203 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 120.8449 180.4964 131.7488]
+/Rect [145.299 467.091 180.496 477.995]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_6a3dd351c33d66250d2b4ac639768f07) >>
 >> endobj
-2250 0 obj <<
+2204 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.8336 120.8449 252.994 131.7488]
+/Rect [207.834 467.091 252.994 477.995]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2251 0 obj <<
+2205 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 86.2883 213.1533 97.1923]
+/Rect [145.299 432.273 213.153 443.177]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8a87935278cb7b1290301e96cb82fcb1) >>
 >> endobj
-2252 0 obj <<
+2206 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.4905 86.2883 285.6509 97.1923]
+/Rect [240.49 432.273 285.651 443.177]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2202 0 obj <<
-/D [2200 0 R /XYZ 90 757.9346 null]
->> endobj
-2203 0 obj <<
-/D [2200 0 R /XYZ 90 733.028 null]
->> endobj
-2205 0 obj <<
-/D [2200 0 R /XYZ 90 663.1391 null]
->> endobj
-2208 0 obj <<
-/D [2200 0 R /XYZ 90 628.9252 null]
->> endobj
-2215 0 obj <<
-/D [2200 0 R /XYZ 90 592.6889 null]
->> endobj
-2218 0 obj <<
-/D [2200 0 R /XYZ 90 556.4525 null]
->> endobj
-2221 0 obj <<
-/D [2200 0 R /XYZ 90 520.2162 null]
->> endobj
-2224 0 obj <<
-/D [2200 0 R /XYZ 90 483.9799 null]
->> endobj
-2199 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F25 344 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F99 2213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2264 0 obj <<
-/Length 3209      
-/Filter /FlateDecode
->>
-stream
-x��\[o�~ׯ�K�x(�$M��A]��K����r)��ݝ��.yfeZ)�~0)~<��3s�9s#�P��&�N�2�	�'��������`��W��U
-�����o��8�4ד��
����]�8e���+F)���dt:�o�W��Nw���j����������_|��׳7����߽����,s�g�����ď.��o�q�	�;��&�Z����+
-�
�V����P�y]�����N���d�PSK�͋?���⩄f>\����':YB\���D8�&��
%�9>�\H.›�ś��E;���5�p��
���j��DKk��1�-�
B���}��X��M�$�HK>�0����~�����/h����k��(�2���z׆x�]�/v��c�
->j�������5��OJ�G$�Ԙ���.�Q���!P/v��|u��#��}��aE��@���qF��lb'
�����f�hGJ���xSI�
ژ^�9�x��͹�DXW��1����7�J�\�XN{�ۭ�R������7
�u�@��
�m�c=[���V����~��{�}�i�� DT��*�>Uz`}�KF��nl("�����w#U��

NkY�Uⶆ0Ғq�x� ����P�4�ւ�����*��@T0�>[��C;L�`�?-y^BXJ��Ka�����jc` 6��uPkHxe��V���`�Wg����NK�u�̷WPT;�mg�+(UV�� Q�ѵS
-u�C�S]t�SHS���F\���p�~u�
����a��n^ET�͉��ߎ'%�:�bPM����%7v�*ӻ���b��Y9�!�
-�B@�(�s��Ѣ�\��D5���j���ڸx��4�Փ�u��������}s]
�W���N2a����S	�M�2w�	(L�44o�D(�E0���������%�W��^XY/�g�%�\��Է'�%������^����K��T/q�^f�X�ˌ|�^�n
�vzy���u��c�
-���ZS�����f�\2K�:^����&��˗ˤe{����I��� aF9SK�/�yv��Q�(�lA-#�����sղ�\�|k��۪���s�QK3N-�.�1�2W�jIӯ�TK:�PK�g�y;�j)���j��%7v��Z�~~��b�
�Z3<U �E�S�ח_�VKeQ��s�2���e�����Ư���m�ˮ������;
7_]*_���/K*
����%#�,��AdY���0�E�%s�˒v�e�jswx
xa�z���U��I�󠃺��m	�gM
SXn�g������mh^~��$��3�
�
-�x)�����-�<V��� ��8o����vL�
�v|�]]r5}�"^�����9�
a�@%'��JZ����T���Y
�
,���O��?�	~0�Ӻ���A�RΟ=��5�ISH�*�sbIg����M�sD.��}����0�`

�J�?y ��>�S"�XA�s�Nm 	
a�}7-�L��AǑ�ՂPI��Y)i#ԪҾV���61��-�7��37�
����]�
vw���f���׏��zWW��N;�a��C@G�D�4�O�da q�[_Lm`�
`�����
~(�zD� m�h^���uu�~כ�?T
?o�w�EI -�9o=r�P�$�\��*XY��*�ARZ\2�1��;0�۩���~�

-s�p��?�J��d#���Hm�*�YR���� �~-R�@� ���5��Y,��5f��<ŠY�D����eqF�fqN;"�

�6Eݩ��j�g7�~v�;rڂ�('5x8"��
�Z�^+<!������tbI��l3:
�m���u5�������Ȱ��
�w�Q5�8�'
-�OZ��
����b�	LaَЅT�lx�`��on�k���T=�vk��`��J
-�ά0il!����2>�i%�-z�\2Ʀ��j~�

���H��G�
�ȟ>q	�_���GK7DI��Ү�&^��P�\�2�z��
P�DX�z�FvJ,������k�
-ɈbNw���!�:��;�B��X�XY�����A�RZ\�2�1z�;0��=���~M��]
�*�BI�
��	�
w�ž�̘�@ �>�KH�êk�
-�zݹq��V@���Dž�>���R�iʏ(U����r�{��Õ8a��(�oV)/�<~{0
-B����k(W_�6ն�����~�޾��=��x8�js
j�o���6T?̻��a�\�{�ߜ����;s{�tA�R"jV5�7�Z���������Z
6��Q����KN
�6�\�����yx��(�bh"��?7ƥ�E��-!�:��0xɇ�U�B 7
-���AD�ȍr's��B�I
�4�=k8��I{�y���\�
3���c��Z<m�lS�����,
v=Y��C��I��!��I�b��
�.�f/+��[�Q�Ό��
��u�B%J��߯b�!ui*Š
-�D���)`F��u9툲�����P�fPy�6��j���p��5q~��GD���	͕7�I)t�T��xɇ����(�_Z< U �N�˜� ��J��sm�
D
-#�7)��R:}��'�Ls"�)ݜ���&1%�y����Z0�
Q
��M���]��Z<
U�CS[��4
��;�0�bT�
Dė���/<qk����Q%v�HR���+O'�G:��2g�`bS� ������T(e��D�P️���u���1I`��~F��(�3�e�x�]I���s�AL�pޠs)-^�e�c*>܁�ݡ���SM�񈨂;�@<�Q�v8%x�rb�Vc��7�v
7<�i)�
-�"�J�
-�ʒ���}}��lj� �M�N��[�.i�`�&W}�Fvp�Vs��o79N������*
-cb�E���Ŕ�X�e�#�?܃���D�
��vW�@���B�`�<�W
|�ʑ1��}���w��ͻ�B�4~N�E!�p�6�Jg
�X�DŽ�Q�{g��G������G��]�3��B-�_��āwݯ
'��
������7�D�
-�1ؾ�~h�}������R�i
����nk�w�p%'n8������������	5��j?��$��>
��/\%�hwEL����o��/^�|��=Y��~��ۓ������堫XE�4k����E
z�(�*���
�]7�}<K�4Whҫ ߎ��?��
-endstream
-endobj
-2263 0 obj <<
-/Type /Page
-/Contents 2264 0 R
-/Resources 2262 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2107 0 R
-/Annots [ 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 2278 0 R 2280 0 R 2282 0 R 2284 0 R 2286 0 R 2288 0 R 2289 0 R 2290 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 ]
->> endobj
-2266 0 obj <<
+2207 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 697.9944 213.1634 708.8984]
+/Rect [145.299 397.455 213.163 408.359]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_5e972fbb672e9b2faec34b949c9a2918) >>
 >> endobj
-2267 0 obj <<
+2208 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.5006 697.9944 285.661 708.8984]
+/Rect [240.501 397.455 285.661 408.359]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2268 0 obj <<
+2209 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 663.1252 205.6917 674.0291]
+/Rect [125.095 362.637 205.692 373.541]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-2269 0 obj <<
+2210 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 663.1252 261.3124 674.0291]
+/Rect [206.19 362.637 261.312 373.541]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_75188bcee0bfc88a4c8571acc04a1826) >>
 >> endobj
-2270 0 obj <<
+2211 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 663.1252 332.1558 674.0291]
+/Rect [288.65 362.637 332.156 373.541]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-2271 0 obj <<
+2212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 628.256 205.6917 639.1599]
+/Rect [125.095 327.819 205.692 338.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-2272 0 obj <<
+2213 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 628.256 261.3124 639.1599]
+/Rect [206.19 327.819 261.312 338.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4aef1a4f6e9bed5d473e98320401e0e5) >>
 >> endobj
-2273 0 obj <<
+2214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 628.256 338.7813 639.1599]
+/Rect [288.65 327.819 338.781 338.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-2274 0 obj <<
+2215 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 593.3867 205.6818 604.2907]
+/Rect [125.095 293 205.682 303.904]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-2275 0 obj <<
+2216 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1799 593.3867 261.3025 604.2907]
+/Rect [206.18 293 261.302 303.904]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_16f61fdba7e14a67990a84e93be00efb) >>
 >> endobj
-2276 0 obj <<
+2217 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6396 593.3867 330.4624 604.2907]
+/Rect [288.64 293 330.462 303.904]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-2278 0 obj <<
+2218 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 558.5175 183.8239 569.4214]
+/Rect [145.299 258.182 183.824 269.086]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_caa538c9c00b2f69301365d916bb49e8) >>
 >> endobj
-2280 0 obj <<
+2219 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 522.0293 192.2722 532.5596]
+/Rect [145.299 221.796 192.272 232.327]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_620d5cdb01b8b20848ca01f4e4c05b4f) >>
 >> endobj
-2282 0 obj <<
+2220 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 485.1675 189.9009 495.6979]
+/Rect [145.299 185.037 189.901 195.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_242d9bf0b5b215d4aa771e9f8595baea) >>
 >> endobj
-2284 0 obj <<
+2221 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 447.9322 241.9353 458.8361]
+/Rect [145.299 147.903 241.935 158.807]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_54f33edf5fdf4c6f606136b882be9f1d) >>
 >> endobj
-2286 0 obj <<
+2222 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 411.444 193.2289 421.9743]
+/Rect [145.299 111.517 193.229 122.048]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8c73e2c464d5e93dc55862d00d5478f8) >>
 >> endobj
-2288 0 obj <<
+2226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2230 0 obj <<
+/D [2228 0 R /XYZ 90 757.935 null]
+>> endobj
+2231 0 obj <<
+/D [2228 0 R /XYZ 90 275.257 null]
+>> endobj
+2232 0 obj <<
+/D [2228 0 R /XYZ 90 238.498 null]
+>> endobj
+2233 0 obj <<
+/D [2228 0 R /XYZ 90 201.738 null]
+>> endobj
+2234 0 obj <<
+/D [2228 0 R /XYZ 90 164.979 null]
+>> endobj
+2235 0 obj <<
+/D [2228 0 R /XYZ 90 128.219 null]
+>> endobj
+2227 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F50 339 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2283 0 obj <<
+/Length 1585      
+/Filter /FlateDecode
+>>
+stream
+x��]o�6���+t�����C�G1
X�e@�`Y��-
Ŧma�䊲���P"%˖];��n�EY���s
�<�����_:׃�Ս�,�u�����:qJ���z�%�^�`��w=��A:�w=��I���q

� ]�|y�zx?
��q��ꆐ�j�o#���Ѽ��"��	F�6
u��0n
+���^E���>�*�iW�Q����;1i�x]���3��������C�l���E.�;�w���0bЙǼ�ܲ)���u�����g�9޴��ȁ7\�vxa�Jy޼y�z����$��}eO:Ն��K����8
�X�zGxw*��"�_����0��Gz�]Y/f�_ݸ���f�V6S�
�X}o����D�Lc���7J3
�rL �t���W��f
+��¢ 
I
��+x����o�.�h���Y�
6rp�\6
�>3L�KmKV��D 3c�(w���S5& ��f�u���ʯ5��S��Z}�O�`�Y�waO������G��
�hz}գ
�	>�IN/�O��>� mh�x�yU
r�ϩg�e1644 
+*�y�
DA��o
+��g�����/�뷷Ϣr��� 
%TF�ѕ(�Fd���d��^�����Y����q�@I����U��H�_�s�0���O�	
�iq�V����,�Qoh������@;�6���y�Uq3؇$D�����ӌp|��`<
���w�ۤrOE�V�b�#~���4���Dߌ���^2iP���<����;�X��d+:r-31�7��,㱑1��BC�F��S#m�X(~c���!C�ʻ.$t
���ݖ�ա��
�a
�ÿ�3aτ�+]S���:��:Pɋ��Id�S��h�*1^��Ӧ\
�B�4��&e��
b�l�.���
9�ײ8��(Ng`�<3����6u��<����H���3���
K�24�&ہ��e}��e[-��
+6-I��H���/-e
��n?�O�Hg=��Q�����?���f9�pͽ#8r�9%rٔ�|]����&��V_W��6(ۧTG!w!٢��r�=Y�)���l%�?H۴�Y2i(��ާg���J|Z�� qVڳ3
�
��!@
�\۫V!���A�=yRt�δN��/�ϵ�+
�6��~�u�;Z�#{��;�:�l���F�2�1�`��qQ�&�z��^�.
���7����h_�-�	�.��eZM�5Ш)9��l��������'i��&�E��q~"�
F6�Ͻ"���
�Z��+}�6��,��I�wa�J���ւ��A�_&@����c;JJ)��x���b��t������t�R:�hS�T}E���F\H�(����jr�1����7�c0=N��b�$��a6���.5�H������;KE(
o}�u����t;G�W��#��w�ouω��܁�y�~�~�Y�k^�:
q��
��qF�ˑ:�4�9�� �e�>�}Ĺ>�60ι�:��3�C����h�b�~�tX�3%�2�Gb{+U�H�+�T@� L1� ��i�^���e����܉��0]!R��e�������#I���E���j���vO�T��} �
ғD���'iy(n�upf'� �ا�
+endstream
+endobj
+2282 0 obj <<
+/Type /Page
+/Contents 2283 0 R
+/Resources 2281 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2063 0 R
+/Annots [ 2223 0 R 2224 0 R 2225 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 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 2269 0 R 2270 0 R 2271 0 R 2272 0 R 2273 0 R 2274 0 R 2275 0 R 2280 0 R ]
+>> endobj
+2223 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 374.2086 238.4586 385.1126]
+/Rect [145.299 719.912 238.459 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_396bd79b5d57d54685d9c1b9d970c00e) >>
 >> endobj
-2289 0 obj <<
+2224 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 337.7205 187.6893 348.2508]
+/Rect [145.299 683.424 187.689 693.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_d369744c43a49ebac904bc3e17de0478) >>
 >> endobj
-2290 0 obj <<
+2225 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 337.7205 226.6926 348.2508]
+/Rect [191.505 683.424 226.693 693.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2292 0 obj <<
+2246 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 302.8512 161.6774 313.3816]
+/Rect [145.299 648.555 161.677 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_29212d49685544d8a3c71993bd30f467) >>
 >> endobj
-2293 0 obj <<
+2247 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 229.4361 205.7516 239.9664]
+/Rect [145.1 575.14 205.752 585.67]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_20814dec69b3a6602b70a9ad50db9b2a) >>
 >> endobj
-2294 0 obj <<
+2248 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.0887 229.4361 276.595 239.9664]
+/Rect [233.089 575.14 276.595 585.67]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-2295 0 obj <<
+2249 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 194.5668 267.9376 205.0972]
+/Rect [145.299 540.27 267.938 550.801]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_b464aec35ab7fb9fe0a8a50e05ad6f99) >>
 >> endobj
-2296 0 obj <<
+2250 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.2748 194.5668 338.781 205.0972]
+/Rect [295.275 540.27 338.781 550.801]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-2297 0 obj <<
+2251 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 159.324 212.377 170.2279]
+/Rect [145.1 505.028 212.377 515.932]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cf4dc2de16f4a54ca03daa6ac1d31ce2) >>
 >> endobj
-2298 0 obj <<
+2252 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7142 159.324 289.8459 170.2279]
+/Rect [239.714 505.028 289.846 515.932]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-2299 0 obj <<
+2253 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 124.4548 274.5631 135.3587]
+/Rect [145.299 470.158 274.563 481.062]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c20541d40c7629b278584406ce554eaf) >>
 >> endobj
-2300 0 obj <<
+2254 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9003 124.4548 352.032 135.3587]
+/Rect [301.9 470.158 352.032 481.062]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-2301 0 obj <<
+2255 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 89.5855 209.6269 100.4895]
+/Rect [145.1 435.289 209.627 446.193]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_28b268e37d25a0cfa2b5bf39e85c758d) >>
 >> endobj
-2302 0 obj <<
+2256 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.9641 89.5855 314.7912 100.4895]
+/Rect [236.964 435.289 314.791 446.193]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2265 0 obj <<
-/D [2263 0 R /XYZ 90 757.9346 null]
->> endobj
-2277 0 obj <<
-/D [2263 0 R /XYZ 90 575.6183 null]
->> endobj
-2279 0 obj <<
-/D [2263 0 R /XYZ 90 538.7565 null]
->> endobj
-2281 0 obj <<
-/D [2263 0 R /XYZ 90 501.8947 null]
->> endobj
-2283 0 obj <<
-/D [2263 0 R /XYZ 90 465.033 null]
->> endobj
-2285 0 obj <<
-/D [2263 0 R /XYZ 90 428.1712 null]
->> endobj
-2287 0 obj <<
-/D [2263 0 R /XYZ 90 391.3094 null]
->> endobj
-2291 0 obj <<
-/D [2263 0 R /XYZ 90 319.5784 null]
->> endobj
-2262 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2314 0 obj <<
-/Length 3733      
-/Filter /FlateDecode
->>
-stream
-x��\�n�}�W�ɑ�����"g�r��7/��@��M���$eG��T�L�{��U��(�&���Q�auϩꮞ3��,�3�����������<�ח��e	x����7��
V��ۛƂ�H!goߟ
��ť�����|���_�����n��a��ί��z��o�����Wo>��?����o�(̊��
^�h�7-��Yp&U�
�툑��2���4���|������� ϗ����~�~���f���|����\P�܋h��os��xeE
׏g���g
���8S���'xÙA�nϴT������߲����ƆE��5^i�-��J(f���z�D�I/����qkt
_�g
Bdu"
1�Z�2,��w�E���.@�w��
"d��;�v���
-�^3cd��]��;W\����
\�
w��m��������f�\�o��8TqĔkF��X��s�Ym�wӅ�ҭULH�f
@�}�,w.q�����`�i"�{���9!�������:���@r�c��pJ�s3ݘ<���2�Y)�,Ú�/�#޸-
�~��+-�A��~l�b��\��9�w
�ھ�0ߖ$�"Qٍ,���vy
����z��j�w;�̤vLrC%�>RfL��`p�+�.�&G$�)��F
s �޴�߀���y
���!�
-&�R����z��'�=SN�c���a��<�p�=|9&{
^?A��Ө�u�i�9'=k-3Z��P����Ýv�W�|ww�
�:���D���އV���v5�,�nW������Jp
�]X<���N1�a���*א���C�����
�9TV��3,x�!a��3���'%��:o����&q	���{��� mؓ��!�ZJ��ֿ� &��ߤ��[\{n�h N��K�{�$*
`�&<
��"�)X={/�`TFj?%L\7����x����4M�)W�aH(�DP�H��G�F�7�(a,l`˜`_j�q��u볻j���Y�"�{X��j\Zyj�4�1�
#��4�%�ʞ[rm�w=amL���%���C�f�U"H�4V�q�(����;m��?T(J
�7~j$2��Q��t����5�c\WS��;AB��M�ċ���0�=FK�0f�@�ƴG6I�)J/Ŝ�!���-|X}����}fTIv�Ї�ZX�ѥ
c���b[&T0d%h����g%�V8J���� &p��$p�[�컝P	*�#�F��
�ZJ< E�^�j /�-sq�ibX2��Q۝�t>0�*:É�P	����=��i��j��60�K�H�����c%Au��(�bAG���;<��"S�
���'Pî�cU&.���"z�Q��ZW#*���Ś�agS��B٨s|�^lj�}�u�ծ� 
-������b���R�QJ�s�������~@Oߥ�I�R{3_�c�&0�))�������7��.��
�{;@JO����
c�lE��\�<[@��<h*[$�-
-�X����lQ�����)�0N��{h��`ml�JH<(E���))|�[Ef &F$�IC�Ӓ��Ȋ�p�&AB��<��䠓��i���6�d�`_�b�,�A��O^k/���hB�*W�CDw�i\�-�{>'�ø��UJ��}Qm.�D�A83%<3܅�`�m�B��4zb`2�p?�:I�4L4�\� ��nJr�Rߴ�Z�H}���6}˰^1,���x	��uJ�ͱ��9t+/a\��(��
-2:,*H�u'd�������
-2~UV��^
=\$
-��U"�/iܺ~��L�֎����TF���"u4�h!-
bJ��MRZ�%�ž�	�"A��Yl�~����j���3U%\�N{" Ep��ǣ�j0�Q�a�y=5$OѨ���Kc�
&H�!��
ǽt}�/�q�2�r~T[����h�EZ��R�5O���#��Q��@�}.�FD*^�B�K�������0��{�>�O�������ͩ�R��Y����tK
d����ITvG�+�V�d�i�$�.���a�qP 
���SC����n�ڬ����Vx
��$�J)��
u&���õǭ;FK�>f�t},�6�FϼQ&/Y���s���U���|���cA;jQ��� �	Q�0RK��(~;Q�%E��z�($*�X�X�0� ��x@���S��p�h�gI�����hTv��IEw�+<E�P����
-u$IX�
uT?���ic�M�ƟpVI@V����,(��ն>��v� M{�(�L0Z;
��v�~�v�ni�칞��8��.VP���c�����(���
��PE�G�pEi�qAN�I�S4*��Z4�3�*:U�C$����0r
3�p������g�����!��f������񿧝��N��k�
��
��Fjgi�N�o��=��v�]O�N�De7�x��Z�"$3q��1H(�}�;�b��.\�p�@B���'
�F�B�Ϸ���u���x��dA@*
!0�4��l�ʤ�yP�cd����d��I���a�
�Q���j��
4�
"C��):��FU׫�b���v=߯�6cw�z
�>�ˌ"X��2� x=�+�8�\?��jf �v�Xд��:E���}7w����y|^�]���ͮ
K��8�%��8ߒ
�x�����n�z�i�e���ȖR��UGh$.bo���3���J�?y�L	%��dF��� �rp�)�n��s=%��$*��S��)w�SN/�
tm�O�B�4j�U��]�Y�,,�A[<E�p����Q�ŋ��ջ�U1$�������Ǥ��������v��2�y�
�T��):�݉��@Ě��D�2��$��r���T��'�E�i��Z��b�{��h��4,����$�Z��,?�Yjw�腏wJ�5R���Y_���<8mћ�#���3��޶"���1�S�����;�;�`�O�Ȕ�B}L�'�at"+
b�
��Y�Nd=�SN��ۜ����
\0���9U�x{��x,2��!�:�`
Nh ..>�`b42��Q�m����@�Vc2
ABQ�a��}�/
Ѥ%����Q-����2�9	��	�0��]���0p�� [...]
-
��7���4�Y��o(
.��ԣ\����0�D�&�,|�5f�sJ��zZ
�M��
�F��hd�G�S��-���ť�;91$	�3�D��F����<���0�-
���Z
պ,L ��P�Pф/.4?���Uɿ�
-���Z�2�4��KL<�=2�<>��{�s՛�[�(�9
y�Aa�>�>�h
+����9!����NO�o�v��o�|�[n���&�_盇��}
u�c4��<x@�Nj�]@*��o�#O���U��j���,��s�����������������?���_�|���'v�c0��l�y�~Y?��@��6p�Tq�E^y�\�+��rs��
%w�͋1��i�TS�5F�?��~|endstream
-endobj
-2313 0 obj <<
-/Type /Page
-/Contents 2314 0 R
-/Resources 2312 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2107 0 R
-/Annots [ 2316 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321 0 R 2322 0 R 2323 0 R 2324 0 R 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2331 0 R 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 ]
->> endobj
-2316 0 obj <<
+2257 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 698.0824 248.202 708.9863]
+/Rect [145.1 400.42 248.202 411.324]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_535090b407c713681228d6ab2b835e36) >>
 >> endobj
-2317 0 obj <<
+2258 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.0176 698.0824 329.8447 708.9863]
+/Rect [252.018 400.42 329.845 411.324]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2318 0 obj <<
+2259 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 663.3889 271.813 674.2929]
+/Rect [145.299 365.551 271.813 376.455]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_2626176104b632be36dc614e1d5536ea) >>
 >> endobj
-2319 0 obj <<
+2260 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.1501 663.3889 376.9772 674.2929]
+/Rect [299.15 365.551 376.977 376.455]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2320 0 obj <<
+2261 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 628.6955 310.388 639.5994]
+/Rect [145.299 330.681 310.388 341.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1cb059d74161d8458f18b02e33efe434) >>
 >> endobj
-2321 0 obj <<
+2262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.2037 628.6955 392.0308 639.5994]
+/Rect [314.204 330.681 392.031 341.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2322 0 obj <<
+2263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 594.0021 216.2524 604.906]
+/Rect [145.1 295.812 216.252 306.716]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a) >>
 >> endobj
-2323 0 obj <<
+2264 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.5896 594.0021 328.0421 604.906]
+/Rect [243.59 295.812 328.042 306.716]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2324 0 obj <<
+2265 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 559.3086 278.4384 570.2126]
+/Rect [145.299 260.943 278.438 271.847]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8921d611a6be878bd8ad66a9af6f405e) >>
 >> endobj
-2325 0 obj <<
+2266 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.7756 559.3086 390.2282 570.2126]
+/Rect [305.776 260.943 390.228 271.847]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2326 0 obj <<
+2267 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.9503 546.7683 356.1938 556.6736]
+/Rect [182.95 248.315 356.194 258.22]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a) >>
 >> endobj
-2327 0 obj <<
+2268 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 513.6563 254.8275 524.5602]
+/Rect [145.1 215.115 254.827 226.019]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a85819690f928a46e3f437bfe629e976) >>
 >> endobj
-2328 0 obj <<
+2269 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.6431 513.6563 343.0957 524.5602]
+/Rect [258.643 215.115 343.096 226.019]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2329 0 obj <<
+2270 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 478.9629 317.0135 489.8668]
+/Rect [145.299 180.246 317.013 191.149]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_794dad01f1995c73b887effa026ac32e) >>
 >> endobj
-2330 0 obj <<
+2271 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.8291 478.9629 405.2817 489.8668]
+/Rect [320.829 180.246 405.282 191.149]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2331 0 obj <<
+2272 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 433.6841 236.7449 444.2145]
+/Rect [145.1 134.791 236.745 145.321]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8ede75fbd470fa30f11d4c02672883f5) >>
 >> endobj
-2332 0 obj <<
+2273 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0821 433.6841 307.5883 444.2145]
+/Rect [264.082 134.791 307.588 145.321]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-2333 0 obj <<
+2274 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 398.6171 243.3704 409.521]
+/Rect [145.1 99.548 243.37 110.452]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ce010a880cb8574335f1be294907de89) >>
 >> endobj
-2334 0 obj <<
+2275 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.7076 398.6171 320.8393 409.521]
+/Rect [270.708 99.548 320.839 110.452]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-2335 0 obj <<
+2280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2284 0 obj <<
+/D [2282 0 R /XYZ 90 757.935 null]
+>> endobj
+2285 0 obj <<
+/D [2282 0 R /XYZ 90 733.028 null]
+>> endobj
+2286 0 obj <<
+/D [2282 0 R /XYZ 90 665.282 null]
+>> endobj
+2281 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2342 0 obj <<
+/Length 2355      
+/Filter /FlateDecode
+>>
+stream
+x��[mo����_�OW
+8����5�M�R��
+���_�AKk��H�$eG��;�B���Ǽ��ȢV�3;�<3;�£�
������囐�R!
G7w#�G2$HP2����� 2��q�vLp�Y�
S
,���I�Kz[$�������<Y��o7?_�!�%�(���`R+��nHgf�����

+&�=%��")��
+
�
t�Z$�vO��;]�I�|
+��b"��y����/H�#bWCH$a�iv��7<���G10�ю�F�2x]��/�u���
z�+.p[k"Q$����i��Raթ�7z?�����ft,��(c^�?`Ls
?��<�.�*�4��]�f�,�
r\��FJ|�)+����nZ�8���~�|#�(�Cn̦���&`�
l��ڻ,q/��j��Z޹�j�돌>c"g�}��
�5!�������nLG�Ƥ
R-��b�d��rg�ҭAG���:��{3K�
�
Ό���q�����C��
�@�9
d=q�&��y�g�&�
�z=��L���E��H� �X�5y"��������l�:G
+T(d��^<F�/x�x�1��uް�!
�{L�L�&�
��u�h�x�^/�պ2>b�Y7��
�ni>+R��iR��=��( F��)�t���1G7	�D���!�\�i��Y��r����xf:/��{����yH���	i��
�
+
@��[d�9l��Z/���˄�U�_0�E}���F��gpp'��ZW�$\-�[
��ԳO
+�
����!xxFp1�#BD
B�!�f�NleMl�V���Ƶ�󨉚�/l�@���$b|01�R�@XJ�m��zL�,jŘM���$�v���b,2�/�^(��T��(���ح�3�����
��s�oV��X��p1 �mAS��.��W��j
+�}M�(U�
U�TI�Y_��f̦G�@�Px*�BD�8o�����X���8K�4K�_��
�
�YE�V���F�乯ne�,�@����͎��l��=��qL�Q���"�����p�/\888�1�І">�	X(Feć2�
�����ڍ �X�?��]�Mc�c2��ʲ�'�`R~CMsF�g���RA�/��6~��B��
B�`SXHKg�6���#`
�cTΦz�s����F����E,���>$h�Z�S���c
ρg�Ǵ�=3�m���Ke�{Z�7�nʧE� @#��
��1�Q*LcԶ�_vk�'
+��Z{<e�&F�X�P@�Xn��/s�^Je����&^����<�r��6�p
��B����9e-0ݖ�#�*���d�V�xp�U�/�ᶡ����a4L}�1��
ʹ���ѵ^��
B �����p.Mv�	�o��q���}�k�`|��@<�n��wx��^�����X���9<6��
(��B
P�R�u�fɽ�o2?�`I0U,��2uHhp"�͜���N��Ǐ�B�e_�$��cՖ�z����Ϋ�������{ɰ��$��B��,�Ϧ�	c��
XR-����\�ڬ�!�sɅ��`ȅaz�\����$�Q;;
>�e���S[��a0}o����_9cDC:L=Iic�9#.��ͽ�w�܇�y�%��;D�7-x�r3E�8qN��
!��;sw�ˑ�
X�%
W�׬]6�`(�Rv}�}��Q5�A�6R�(Z8�cZ���'w�`"9e�P�(
�
+������gP�x���R�(��y��̠]�2��
�ګ�)9X�3N��&gQ�Q�KY����e��3�)��fx沫7�zn�˼k�˼9�\q�O2���\����
܎�
s
�a�xp�s]$��w=�;,�Ka4Ϻ�v(��N����n��Mv�l�:�zQn��]���v
&?A�m*�wGwy�ݕ;΋_�b��
�ب�Ür�Pv�0i���^��a�������
)�
��(S�nd-�7�`���Q	���!c!���`O(
e�
�	�
+C�
��E��d�B`��(4&��^"oIVT����v��{��3aaCx�80��
l��w��1�\ö׬;sneD;��`$�Yœm�H<�}��g
����:Zh�AG8�0as������5�M��R�� ����h���e��u�cاG
H��SOD���6Xu
+� ��Fz<!���|�g���?��4
�ż<��L�S����g��f�Q�z*ӓz��\1߿��S�0��9�
�/B!���a<��F���[{
���
��/C�[�����R2
��&�:�`6~{0�t�-� ���N���Y_������qa`�4�
���t�U����|||D���tU���\��;d�1�@�f��e�˖EӨ����u�� �G��
+endstream
+endobj
+2341 0 obj <<
+/Type /Page
+/Contents 2342 0 R
+/Resources 2340 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2345 0 R
+/Annots [ 2276 0 R 2277 0 R 2278 0 R 2279 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 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 2324 0 R 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2331 0 R 2332 0 R 2333 0 R 2339 0 R ]
+>> endobj
+2276 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 363.9237 240.6203 374.8276]
+/Rect [145.1 708.953 240.62 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8e13e7d3536de2745bc9e58a25b75b77) >>
 >> endobj
-2336 0 obj <<
+2277 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9575 363.9237 345.7846 374.8276]
+/Rect [267.957 708.953 345.785 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2337 0 obj <<
+2278 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 329.2302 247.2458 340.1342]
+/Rect [145.1 674.084 247.246 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_35f19d0e7190c5a18aebc9ced95d554e) >>
 >> endobj
-2338 0 obj <<
+2279 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5829 329.2302 359.0355 340.1342]
+/Rect [274.583 674.084 359.035 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2339 0 obj <<
+2296 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 294.9104 193.5774 305.4408]
+/Rect [145.1 639.588 193.577 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_668cbd7cea86f47c4e2b303468083712) >>
 >> endobj
-2340 0 obj <<
+2297 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 294.9104 232.5806 305.4408]
+/Rect [197.393 639.588 232.581 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2341 0 obj <<
+2298 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.0592 281.9965 248.8445 291.9018]
+/Rect [192.059 626.587 248.845 636.492]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-2342 0 obj <<
+2299 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 249.2581 193.5774 259.7884]
+/Rect [145.1 593.76 193.577 604.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_93728c0f0afcd949c391940be93455a8) >>
 >> endobj
-2343 0 obj <<
+2300 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9146 249.2581 277.6909 259.7884]
+/Rect [220.915 593.76 277.691 604.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-2344 0 obj <<
+2301 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 236.3442 252.6774 246.2494]
+/Rect [195.892 580.759 252.677 590.664]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-2345 0 obj <<
+2302 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 203.2322 223.4647 214.1361]
+/Rect [145.1 547.559 223.465 558.463]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_86dd59c40a3c9867c2979ff24ba342c2) >>
 >> endobj
-2346 0 obj <<
+2303 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8018 203.2322 295.9622 214.1361]
+/Rect [250.802 547.559 295.962 558.463]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2347 0 obj <<
+2304 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 168.5387 285.6507 179.4427]
+/Rect [145.299 512.689 285.651 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4882da0200ef4201f3adb0f6d7731526) >>
 >> endobj
-2348 0 obj <<
+2305 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.9879 168.5387 358.1482 179.4427]
+/Rect [312.988 512.689 358.148 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2349 0 obj <<
+2306 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 133.8453 229.5525 144.7492]
+/Rect [145.1 477.82 229.552 488.724]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0442c5079b3de8dcac61c224ee7a2e6f) >>
 >> endobj
-2350 0 obj <<
+2307 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8897 133.8453 302.05 144.7492]
+/Rect [256.89 477.82 302.05 488.724]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2351 0 obj <<
+2308 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 99.1519 291.7385 110.0558]
+/Rect [145.299 442.951 291.739 453.855]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_a8e2f5b70168ac89a3f47639e7d9a4f9) >>
 >> endobj
-2352 0 obj <<
+2309 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.0757 99.1519 364.2361 110.0558]
+/Rect [319.076 442.951 364.236 453.855]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2315 0 obj <<
-/D [2313 0 R /XYZ 90 757.9346 null]
->> endobj
-2312 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2367 0 obj <<
-/Length 4989      
-/Filter /FlateDecode
->>
-stream
-x��][oc��~���SGFl�/�� ;�,�����}��l���%�$w����\h�

�%O:�G�?U�d��"�f�c3GgF�Գ��:���
k����/C��o��^��#Ns=��PKЌ(�����_��X2J�������i��a��|�}y���՟6�����Ç����q}������g,˜$�Yf��i �fF	N���	!�0�t
�uQ�o���i�䊂4����a�>W�'?V�q�����G�	5�
e���wX�O%4Cw���_�Jg���?�P"�U�/��
�=�H.�7ۛ�n���4�����Z9x%�����	����:)��:3��"�s�1*	3�� `�p�_���!��0U��g�U�A��z=2��C-CXB/ׄ:�����R���?
?��C:|ɀ�\���p�������~Cj�i��<��S���}�VD��>�I\[´������w��r��ZL��Ǘ��E3�Z!m$ϻ��
-���D�؏u�{'�Ԁ�B��v�Hn�b*A�!�r�����,#g�Ҳ,n4��ah�
 �@�9?b�q�=�g�j>�?���@�q�*m� �3���r& I���0��ͩ�D�q��u�r
Z�rL6�\�yIH��圵�ͩiD����w���b�97-���̐�m�y�j��1���<�����-Dž0���|�����C�
�lNUB����	°S���
��SR'$4IM�2S���oi�B�{�L��&��R�ha2�G�3E����5-�ܧ�u�^c��lQ�KF
����Ws�H-ڄ1�0(�H���G
���\�ފ{a4GHE��|�?<�d�@n.Gp
F��LI��ACM���� �E�!���

���z<�s=

!-Z���#D#M}�{l���i��V�s���߶�֝T��Qs^ov�ݧ�L�ͪ�r �ȡ1Z�
?O�5V�#�ݢ�x��1��k�������ǀ��y��P�T)�v�r�
�bl^ocC�Y6
����

��
��6/��
��Ն���b��5d�W<�`�<�^_��q`�� �9���L�K�Rq��j�o�GT
�0
U��j�#�HvQ�
d�Bm�C��c��A �:DC|���^AL�vƾ	
���\T�TU��	ͧ���	��f�@3���������o
��u�ң
-�	n ~J�N�ܘk�×���iy�CuW/W�������H
K)
.�YHay���,��WX���/�R������w�
��hx�B�	Z�=�|����p~Y(�Iz�"p	��IOYM����aŤ
-�$���6�Ej�����L�k�%#r�R�+p����i�iH�)%F*�w�G��V�O�
 �
�BB�M���-��E
�{�������v�Ld�W�
�d�����@�B��w
��|>^�3JM�J�/5��F�i�������v8V���
4�08<�`�0�jz��]���o~������T���|\oΧj���M��R �z(c�T�Z:V�:�]vT���f�>��:���U8:��d���
V��.�#��
񰈏����qB\%rnt���N�!�؞3�g
/4| �
\�VlW�x�^��>�?C�`�U�~ZzT�"
1�ОI�$�Jvm�?�� \w�c뀇�]������p�9��
D�>�X��|�	��+M�D>��鎺�a�kxZD.�:o�"O�K ��)d]�n_�Z�?�uĺB9���;B�9s�-��z��J�ޞ� ���) �(N+S�@`����v'T;Nq
D<�Ӝa8
�dB_��@KS
��0�w�G���T��� Eq`Zm�TGx|т��2�Q
�n
.�P%`ͣe��!Ł�<Fq �8�'{�×�ȝHqp��g<�`�0&9D�Ȉ>�A�L�8�%F`���)� Pg/�8��
��`qɅ��궐�:�mE��P
	
:��̜m��Y��͝y��2����ңJ� EH�#��d^)s�nh�N����^���d�d�'V%�c^Ed'ҝ";0�)�k�
=���_��H�aE����0�X��&;
V$;��
�)�m�N�6�Q,d�Xuv#�Ɨ��E+>U���n���_M�����Q��n�E5;�TwG�� ?�J��>���}�e�c-D�
-.�P%
�D�?4^�O�^P�jVNu��,�EK~��u�~�����p�M
X]
U2�2"z}q������s<I�'�!Fr7�!
_�f(w�SL佁���Bae^')���{V'!�I�%�.��au
�:#�
W�0q:/utf��$��(Mk`eI�u�6��I��NR���C*p�g���#F�/t�Pn��z[�ɽ>I9p
粣j�QC�����T������2�I:S���3��p3A,m�z�F�mZ`��F̰��,t x��e�t�e�
���BƂ���뚺a�d���;�m�����
-�B6ħ��^�2�Y;)�0P
��٘�-�l�$zb3J��m�F!��_
�8)�q�*��-�Z:8������h05��L����n�%Ɍs�
�
j�K�
�����!���c��̖��D��2Y���������U�oz]�J]
�h
�}
c5uN
i����� 
W/�ãGm��P�(�{hFo(mZ�Ii"8ml��q�(��~�����4$�V	nB;=4�3�6�uJ�aު�fz��N�,L`��NO4��i���?d#
-1�4�[�2�gfU���ќB8��o�`��El�R��&6����e������\S�`(#�=,���r�	֩R_g
B<
� j�1A�h�	Z˚��0AT1��!��SL������^褁��v�7t�Z�/H��!��A1
d7
���"�c)
-�G��*Q at MEF<B#� RQ_<>�z�'DڮĆQG���Myk�D
-؄������А{ ��3\�*<�c�S:�*�
t
3oΪ0!J
Ryj�aE~
-̐���6'DjG閂IE_�x^��%#r��kt�x=
3���G�ƒ�x�GR%C����/ZЗ[,֥5|4$��* �N�
�%Cz��q�×,ȝBި2
Q!�
�*� 2�3�s9��H��X\���.���=��[��`���
�q���4����Sn&
[:�2�%�5� �J=웪.�cì��S2r�����E-ǫ�������Q�5�S
+2��Z^ۜ�ƨ{�ͨk�:�,� Lh�����
�5���1���q#�$\nl-=jhQ�\��(�EW�1B萓k�i�#>	I�
�)�^Xc�D.C���W�!
e.+2j����3��q�
ѐ3�{���-1
-�%�ޜ
�'�AS �
V$á�
.�m�p�v���Ň�cՙd�/1���d�>�Q�G��SŖ�;$����Lu�Ǘ�ȝ|L�ͻ£
-F�����(I�.����RS����r��ac�����Q%,�0�dlBdž[�	+kJeL>����a�c�<z�&̥�
���K��i%O^_K�{���N�*�9�ASQ,y�8N/��%����
֣���6���y���czʿ��bY���t����S>�Oamm{
��5��[C�)~ʋ��Ym��k�QC��T	L1�E?�x:�ޙT�� ��jb�k�o��ٍd�&�?��`s�F�?A���o��� �/p��-u�^�6��W�,0� �a|���n���Xuv˹Ɨ��mn���œ6�>>kD�%
U��K��5ɺ',�4
������}�壒x�����z��K�������
�B���}����r'1��ڼ_:P�d���#�moW��ިs|�r�s^K��r˥P6����6v�ŗBCX��a�����UC��-$����W9�٢b�)2��(��u����rM��'�b�R'��RwmCZ�)X�d
-ڐL��$S�
-P	w�x����>H
�PcJ�n
-���w�unl-;���^���Z
�fx7�iJ��[��W����Z\�j����=��-�5��aEٔg/=1ي\�2S'&�j�tJ��jfot
-�Qa9�g�e�6;b�}�b�L��h�E��
M_a�Z��՛YV`���@�S�gai�����c�2D�a��+���e(s�}�jx�����&�q��
����p1��n��"ef({AoK�#��'�x_u�	'^6b w���h��
��~��E
ƒ�TR���NB����/ZЗ;�'|��G�
p�طt82ގ�ܦy;n21�T�����r'�v���Z%��*��Ԍs��I0�Q�x�=�=�̽`�@�1�
�L����
s��o��3��{Q�8�a�
*>+���X�ZG��<��>�7cAk�J,���X�6���c���|�l�Ǣ�@�c at t��7
<�U��GSz�ee�<^�tv�-=h`[Lm5>*��i���m)<t6���Lc�V^��w"���T;;�J'w�)�»�
-_?������	��~�ɐ�b󰆑�<,d���RG�
��Q�
�_ipoF]��w"����U
����
�|�
(� ����E2���d>�#�y�
��﵏UO�׾`�@n
�7O�
-���4z�=Vr��<���
]����]0z�X��b�3<�d�@n�R{W�؄-��C�t;
q
-Yo��p�2�/���ۖC9������[��=���������:��9qܺ����\���
���Ҳ�J�B��,�ݸ�z��z���:��]��`q���.��M�z@�uҀ��,?
ܡ�)#��y�m�u�E�wB��[ЗZ���a���ܭ������|
M�
-�6.�
ʛoSa2�v͘�m�����E�mN+}�Ͼտ��4�9Z��S!������d?�Zk�}���^��Ž������N�6���z��n�O`�?����z��Z;��zֈ?U��c����j��?����;����7�4Akr�͏������_�|!w'��
�ds~8lߧ�}�x�i��
4�%��_x�Z`������i��ÇO�j��.�I����DG�endstream
-endobj
-2366 0 obj <<
-/Type /Page
-/Contents 2367 0 R
-/Resources 2365 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2426 0 R
-/Annots [ 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 2382 0 R 2383 0 R 2384 0 R 2385 0 R 2386 0 R 2387 0 R 2388 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 2402 0 R 2403 0 R 2404 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 2424 0 R 2425 0 R ]
->> endobj
-2369 0 obj <<
+2310 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 709.0894 266.6729 719.9934]
+/Rect [145.299 408.082 266.673 418.986]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4b7615a8ec5120dc083f368ecfe2d1da) >>
 >> endobj
-2370 0 obj <<
+2311 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0101 709.0894 339.1704 719.9934]
+/Rect [294.01 408.082 339.17 418.986]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2371 0 obj <<
+2312 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 663.5334 217.1088 674.4374]
+/Rect [145.1 362.253 217.109 373.157]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_894e92407922be006a76577cf47b8589) >>
 >> endobj
-2372 0 obj <<
+2313 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 663.5334 289.6063 674.4374]
+/Rect [244.446 362.253 289.606 373.157]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2373 0 obj <<
+2314 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 628.9364 271.1256 639.8403]
+/Rect [145.299 327.384 271.126 338.288]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_84a9c57aa31433a277d9be6b0077065a) >>
 >> endobj
-2374 0 obj <<
+2315 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.4628 628.9364 343.6231 639.8403]
+/Rect [298.463 327.384 343.623 338.288]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2375 0 obj <<
+2316 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.8625 616.4442 326.2592 626.3495]
+/Rect [214.863 314.756 326.259 324.661]
 /Subtype /Link
 /A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-2376 0 obj <<
+2317 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 583.3804 201.7419 594.2843]
+/Rect [147.984 281.556 201.742 292.46]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_4e04c3a6c835332c31dfbb928b31144e) >>
 >> endobj
-2377 0 obj <<
+2318 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.4419 583.3804 243.6294 594.2843]
+/Rect [208.442 281.556 243.629 292.46]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2378 0 obj <<
+2319 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0792 583.3804 371.3288 594.2843]
+/Rect [294.079 281.556 371.329 292.46]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2379 0 obj <<
+2320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.5617 558.9331 267.7587 568.8383]
+/Rect [221.562 256.973 267.759 266.878]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-2380 0 obj <<
+2321 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2877 525.8692 212.7678 536.7732]
+/Rect [146.288 223.773 212.768 234.677]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_07cc48290e435dfb739fb565ff1aa3fa) >>
 >> endobj
-2381 0 obj <<
+2322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.7715 525.8692 252.9591 536.7732]
+/Rect [217.771 223.773 252.959 234.677]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2382 0 obj <<
+2323 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.8959 525.8692 375.1455 536.7732]
+/Rect [297.896 223.773 375.145 234.677]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2383 0 obj <<
+2324 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.6566 501.4219 275.7477 511.3272]
+/Rect [218.657 199.189 275.748 209.095]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-2384 0 obj <<
+2325 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4429 468.3581 250.0993 479.262]
+/Rect [145.443 165.989 250.099 176.893]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e0ba85e8cab7e4e95ec001bde5bdd99d) >>
 >> endobj
-2385 0 obj <<
+2326 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2582 468.3581 289.4458 479.262]
+/Rect [254.258 165.989 289.446 176.893]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2386 0 obj <<
+2327 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.7722 468.3581 379.5123 479.262]
+/Rect [307.772 165.989 379.512 176.893]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-2387 0 obj <<
+2328 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 468.3581 513.9963 479.262]
+/Rect [436.747 165.989 513.996 176.893]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2388 0 obj <<
+2329 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4301 442.7018 403.6961 454.8668]
+/Rect [351.43 140.197 403.696 152.362]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-2392 0 obj <<
+2330 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0912 410.8469 250.7476 421.7508]
+/Rect [146.091 108.206 250.748 119.11]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0acf1147e3f81830606dec4cc8faddd4) >>
 >> endobj
-2393 0 obj <<
+2331 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.0677 410.8469 357.3173 421.7508]
+/Rect [280.068 108.206 357.317 119.11]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2394 0 obj <<
+2332 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.4046 410.8469 456.1447 421.7508]
+/Rect [384.405 108.206 456.145 119.11]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-2395 0 obj <<
+2333 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 398.8917 202.3443 409.7957]
+/Rect [125.095 96.251 202.344 107.155]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2396 0 obj <<
+2339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2343 0 obj <<
+/D [2341 0 R /XYZ 90 757.935 null]
+>> endobj
+2340 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F97 2177 0 R /F38 342 0 R /F98 2117 0 R /F34 2344 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2407 0 obj <<
+/Length 2661      
+/Filter /FlateDecode
+>>
+stream
+x��[Y���~���V��s�@�*R,��k��(.��vQ!A�j�����M� �XK�� �K6zz�����ػ���������d^�I�w��
��$A��z��	Ad� c��`?L����b�y���i��.�I�����W]��
�����o���PK�T�aP��ON�52���R�GG�����4�ބY6_P�AY@�h�߄y�>�!��s��(Y�G*`��̨�}y=�iF@
����PH��������[���z1�̃��z�2x�x�f��³�W�iE=
�Jn��`.�U�!,���/Y�&`7���wn�A�x
�"Z���7Ƭ�h
+!�+g�wq�dZ�S�x��.r��������W|���g�FL���x��;7j:gʏ�}��+w��;�a3���_ͼ�V �`B
&�$j��ǻ�xօ&��1cL�0fsW̴'P��K3��
CN��
U	,�EC
+͉"�U!�
+�r���M�"&*���������z
�T\�@k�b����g-'�E:�
` 
+D1��?mEe�ۛ�ƽ��ڭ�����'/ O�R���
<�c����
���^��
"������"O)--�2��E�x=�XRR�6J�4��?G�%$E�-�iusuUK�@D�A��?�@�8���<N�e��s
A�NI���|�bѣ�9�GI�vI���wq��raSA#.5��)�s����du�
+�6�͉�A�o?{��*ǭ�(ɗy�y��5g�dv�l��Q���I���/�%��.�#�_oz
�."��,(̂t@�tp�ttt͠{WP
쥐=��+N�^u�9{�=-�5f��9��F����.H�9�G��`L�Ïs�L��@0EB�B�@\�af���_qp���L�
t��V�=)4I��- ����Դ�
l���0�
+�0ܣ��9���Ju�	�*�� [>� ��4	�T��Uxs1�S
+
˞��B|�__������<d�if�`vM��Ѝ
a I�-%t��?G�5A
5�B?41A2
�d��DX�"$ӧ@2��!jsJH�C�L� �
@2=�
��z�v�N��c&g��:���FB���a�X
�j'�v�!��o�/�D�O�]8��B#}Al
o��
��V��F�����,;��y�Ch:����~v
2��1#p
�E&�c�u�a�.3<�-! >��v8
��q̰8l�r�A�('��Jq/(��F"	Ҍ4[��M5�ZN"«�~��򢠞�@��8b��$����-TA+*�uۡ�2���2����E�U�,ZD�(��IT���	H���~։��B����
���HG0��#.�C��C����9�c
	.%���T�Pn
��{�f
����>Y�r
���#�0.�ą�hK�%�A�����I�	:;㼻3��^��s^S���l�s~���2�P��8��jx
@��"*ui��V'���`�Hh� 焭B����2��A."����>�4�֬�بԥ�yT�LG�����H��N��X���P5�,Z������ #�<C= ��Sq�R$9��
���D[J�v
_m
f����
�i_W���>���z�q��
��>/�D�C%=�j�r�l��L�����n�]�<�(�T���g=�������mv��*�,W�]v��e�����էMF�e��Z>7S.2���� Aot^Lt +O��
t�D��k%�&
�00���>3�̥(���Č�M�W-�
�`�0>-�p ��_��20<,r���"���"2I �5��{
�Q
��|�G �� �~"��Zt�hR�:`�Z��)�U^�q
�h�Q�8:7�Z�$u���(	�EĿɣ��CZz@u�>�A��%k��N8m"�ڇu�I'M�w�������R���cf��fy�w�߄�G ��05`�����#�����-΢�W_�/,�1,= 0�ǚU��q,E��V9օtQ��/��7Di��D'��L���d�,���8��ˢ^&'(|*A��^3�H�I�|��A��V�s���*�K 
�ʒ>�,F
�6�}�5۴·
��QV�8���n����l�#[6�Rd�N@ĕ^y�
�o
�C�MV
~Eɇ��b�*Ԏ��
+�l�
uA0
+�㤧
vօ�VG��5�Ѕyy4��E�h>,�s�T
搙^�qo_�ͦs�i�+,
�	�!
&9i4��x�/�0�	��v�I��;����+��6��M
C��=皀�Dk�`�
��+.�����&ۊ0_�f|��W0{��q��=��b�� i���a�Ly(o�X6�����u�>���u�K5FXwn������&^ٯ��
+�̩i���ȳVp��jɈ
�
�� 9�	�F�	YN
8d<’̈��k^DcI�e}�׬T��R�ȩ�<cf�i��yܐ�yuli�u��
�Y�4�
T����-%Ģވ�e�E)�*-W��v�� ��
��� =�� �V��P����?�{r�u�f���g'���
����
�,�+
Q�_�����v�
�?�_΋�����dQ���~�i߇�}�[o<�Ѩ�Ҭ�x��9٧af~���]T:�M�?^��o3����f��Ԏ����˫������}�S�W at 8W�����
�:M�[붻��Al `kQu��
��v
+endstream
+endobj
+2406 0 obj <<
+/Type /Page
+/Contents 2407 0 R
+/Resources 2405 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2345 0 R
+/Annots [ 2334 0 R 2335 0 R 2336 0 R 2337 0 R 2338 0 R 2409 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 2410 0 R 2369 0 R 2370 0 R 2371 0 R 2372 0 R 2373 0 R 2411 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 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 2413 0 R 2395 0 R 2396 0 R 2397 0 R 2398 0 R 2399 0 R 2400 0 R 2404 0 R ]
+>> endobj
+2334 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.4617 386.3996 409.1851 397.3556]
+/Rect [356.462 720.235 409.185 731.192]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-2397 0 obj <<
+2335 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2074 353.3358 266.586 364.2397]
+/Rect [149.207 687.036 266.586 697.939]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_988ff507806fa8126649f463ef6a1f31) >>
 >> endobj
-2398 0 obj <<
+2336 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5094 353.3358 309.697 364.2397]
+/Rect [274.509 687.036 309.697 697.939]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2399 0 obj <<
+2337 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4935 353.3358 408.2337 364.2397]
+/Rect [336.494 687.036 408.234 697.939]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-2400 0 obj <<
+2338 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 353.3358 513.9963 364.2397]
+/Rect [477.703 687.036 513.996 697.939]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2401 0 obj <<
+2409 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 341.3806 171.3608 352.2845]
+/Rect [125.095 675.08 171.361 685.984]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2402 0 obj <<
+2359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.1406 327.6795 414.3239 339.8445]
+/Rect [362.141 661.243 414.324 673.408]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-2403 0 obj <<
+2360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.0173 295.8246 265.396 306.7285]
+/Rect [148.017 629.252 265.396 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_79acafbe4f67eb7e2710287bcd60db96) >>
 >> endobj
-2404 0 obj <<
+2361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.5684 295.8246 375.818 306.7285]
+/Rect [298.568 629.252 375.818 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2405 0 obj <<
+2362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.2392 295.8246 478.9794 306.7285]
+/Rect [407.239 629.252 478.979 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-2406 0 obj <<
+2363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 283.8694 225.8659 294.7734]
+/Rect [148.616 617.297 225.866 628.201]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2407 0 obj <<
+2364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.0115 271.3773 414.1831 282.3333]
+/Rect [362.012 604.669 414.183 615.625]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-2408 0 obj <<
+2365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.9331 238.3134 239.9836 249.2174]
+/Rect [146.933 571.469 239.984 582.373]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cda762f8c081fed2862260211618fce0) >>
 >> endobj
-2409 0 obj <<
+2366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.6327 238.3134 280.8203 249.2174]
+/Rect [245.633 571.469 280.82 582.373]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2410 0 obj <<
+2367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.8547 238.3134 405.1043 249.2174]
+/Rect [327.855 571.469 405.104 582.373]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2411 0 obj <<
+2368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 238.3134 513.9963 249.2174]
+/Rect [477.703 571.469 513.996 582.373]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2412 0 obj <<
+2410 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 226.3583 171.3608 237.2622]
+/Rect [125.095 559.514 171.361 570.418]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2413 0 obj <<
+2369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.2574 212.6571 432.0923 225.8152]
+/Rect [347.257 545.677 432.092 558.835]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-2414 0 obj <<
+2370 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4364 179.5994 251.209 190.5034]
+/Rect [145.436 512.483 251.209 523.387]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_178a6a88143f44b43939d36024af6162) >>
 >> endobj
-2415 0 obj <<
+2371 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.3614 179.5994 290.549 190.5034]
+/Rect [255.361 512.483 290.549 523.387]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2416 0 obj <<
+2372 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 179.5994 409.9686 190.5034]
+/Rect [332.719 512.483 409.969 523.387]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2417 0 obj <<
+2373 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 179.5994 513.9963 190.5034]
+/Rect [477.703 512.483 513.996 523.387]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2418 0 obj <<
+2411 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 167.6443 171.3608 178.5482]
+/Rect [125.095 500.528 171.361 511.432]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-2419 0 obj <<
+2374 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.1145 153.9431 456.9923 167.1012]
+/Rect [370.114 486.69 456.992 499.848]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-2420 0 obj <<
+2375 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 120.8854 224.5705 131.7894]
+/Rect [145.1 453.497 224.57 464.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_5a66e6f883c7310ddbc312f78bb0970f) >>
 >> endobj
-2421 0 obj <<
+2376 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.9077 120.8854 297.068 131.7894]
+/Rect [251.908 453.497 297.068 464.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2422 0 obj <<
+2377 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 108.3933 347.8694 118.2985]
+/Rect [304.542 440.868 347.869 450.774]
 /Subtype /Link
 /A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-2424 0 obj <<
+2378 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 86.2883 255.5641 97.1923]
+/Rect [145.1 418.627 255.564 429.531]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_d80989353ea3738abdb6b605d27cc8fa) >>
 >> endobj
-2425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2368 0 obj <<
-/D [2366 0 R /XYZ 90 757.9346 null]
->> endobj
-2423 0 obj <<
-/D [2366 0 R /XYZ 90 103.253 null]
->> endobj
-2365 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F99 2213 0 R /F40 350 0 R /F100 2135 0 R /F36 2391 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2441 0 obj <<
-/Length 4040      
-/Filter /FlateDecode
->>
-stream
-x��\m�����ŸR/P������i���4w͇&��[�n��������;#�\J�I]�� �"=��xf4
�3CRb
-�cG'F�ԓ�������v���3�>����z�VG��z��m-A3�8�����v=c���w׌N��b��5�����Z
���
��O?������ž�����/�b,˜$�Yf��?5��fF	N���B
aB��YQ����x=㊂4ǧ�f�^���﫷���i�����jjʼ����֟Jh����Տ?�����%�Y5��?(a����Jr��X_���g��\�04,�1"�r�I���(&�����!��-�
B��a|��Xp����$�HK>	0t�_��ջm�Ӯ�=e��%V9���'JE; &I��1-�t�:6����h�Z����w�
�ػ��b�|y��
���L�k���?>�3��d�8ap;�8N�2���ޥ�0#8x�� +&�w�Q 2C4�v`��8WC��zc��^�*��PǺj�׳t�LTKC�uU�û�}l�Ǘ�H�ֳ�
������tX�/N��v��#�oWƊ��W�`W�1z^��*z��
O�n�H2
g�ҢK�d [...]
��9OQ�h�V_�PʺCi]OV`�V&(��S��J��40n=�:O�
�
*L�6��n�����ڧ��þ�.6�d��T
��a@��D�P�~6��f�	��V RK at 4�Dp�D��g����/�W��`ӢgZB�-�`dU"$�t�I
�+kF�%�Kf$r�|*4�ͻ �
-���	U\vu>U�<F�L1�i��7l�2�&��B��g
ҏ�L>��OG�
�r$#G�
�r�{c9�T�%�̨Ƅ���rl��G�@��ֳ32��\���ʔ
	�qr^�'�Xm�g�
�3�H��)����j~�ZV[���f�X�����%5Z�{�p�[Ԅ1��:$�Kf$rK=#�8�s.��n������
{F��E�
���G}<��q�z��)��8Ig~���$!���
�,�
-���(��q�


D:3�FƎ`"~9)ˉr��{CeP��&
-�"�3LT��2QGm���Nڞ�l�U�KF$rъ�j�:U�y�Hc�/A�����P�� J���
5a�"q�Gz(�Kf$r��davHV�@
*iv�HB]�Q󥧃����{
#=�{R�u��&
��i���x�6}sp6���+P�hcG�
Gг#�i���
ś�Z_�ϑ�
A{��f��jZ�����k�>t�S�=[@���V�ޭ���<�`w*w
cR(��Y���`���`��c
��� k��yh�]����[�����MSgԎ�
[��ӬiE!�[ϯ�C��&���`�"YƉ"����p��B�.�#��$�n֑~��8�
{�E}'��b�~����]kjSI

�I�
T<A���bN��Kb)̏gg|�f�s%���2�Gs����X���{vU��=
F$r�2�vq8쮹��g�O	ْI��H@���I��H�m?�p�|�O�dF"7��c�wA@t
�)7]ݟ<�9�RbϜ��A��
yX�K�J���\R��'H*
-�;D�%�֘�5�Eߟv�:���
�
�V��(�v}�	��\�
4�A��`qjl��<)��ݱ���CR
ZG�ն1�kA�/�G*7�ܶd����
2��ˬ�Ѓt�J�p�A@�b�@ C��wV��~�^�����J�c!�������rf
|`E��f����嫎��|e����:�W-�dD"7�P?l{��b]�;U0�;Ȥ��ި��O9
�c���#�Y�Ҹ(�l�����@{�3��;��R�3�)��ZA�<�_�'�;�=�
-�`^�2U2�AM���]�`�ڤE���ݝ�L+,�Z=�����0�.:n��6��
-���uL�x���"3�w+����N�~�~$uxjVg]<
��5E-�h�X�if�?����f��5���f?&�
��L3�H:��BDC ͺD��*ug�|���D[!�����U"q:��{��>�mK{�-L��<�PD�L=�-��]�#�ׂ�\��k����(cy_T��:U8fzcp�s��<�c��%3�����X��\P��B�]��q:feV�%6�
��^�Ddhͣ>��ӎ�Fl�f��Hmg��5`���27�3�)�Vؗ*�Q�ѝ�V����
-�O�dx(��<
��PAo�C
�E
�
�C#�hE��pO���~��	xLR)���Y��'�XO|ɌDn����Ev�
U�m-
P]ݿ��
,��L�he6��c!C�^�����J"
��k\s��d򌂮���ϗ	�HE�,�+�H`.����<����
���_2"��� �^���X�Z�9U�
��Id�]��x���?�=_0#��-��:��.��n<<)z
x�=���V�#%�
�r�-�A�t\�L@��0p�q�)�Y
����o(��,�����T�QwO��1�Qj/JՑ�\���39�h�y���k6=5_�}�I�Z��/�w7���_0=�[*⑲9���:
��~k���Z���{�<R����I����֜䀏�I-�-~I�j����I�z]�u��jk�5�v'
=೫��Ӯ��̯{��V�p�D�_�
�V���+�{�Ww�i����i2\����

Bi�Qx;/�͛��8��M�����+_.ځx�[��>����զ�z������9M��M��~�j��I&�uP:3cK�Q
˔GV,��zCyT�ۖG
��6��zDV0"�[��������/��
�Д�1�i���	�wK@,��uo0�,Jw#aB`ʑ
	����\� �a���u�m�
��BSb���&K�
����"2�ed�8�����8�+9åO���L�s.,Mn�����!�f�m����;�2�n�^���W����
�#����A8���=���Z:g�Q��(.���J}V�t��R�wLN�Z��H���?�iN�8�3
�9�~�[��(
&$E�EV� /��I
��
��?do>�����I.UG}>�[��2-��22�(�~�T�$��tB�Z��ݝ���榓�Q�
�>*�Fd+f�%J?{�b��p������b���U��f���b��
��
-F$r�~k{�8U[��ܢ�P�j�wE@� _�
�
��mʼn�M�tF���H�fW�!�)*Y�
U��
q�DVGw�<0�dh�Eo5�e�R������I(B� ����h��­�r�Sc� 7
�Xf�e�A%�n\(�U�[<����~�a�
.{U�>���
-G�v���2�#
i��^��IC�TZ:�`e҈�H#�דF��L
�cH#oD"�8T�
�{��*�z�$.SB��P���g+1Ou���

�5��z&�Kf$rь�^
V�7��8U��$ ��-�
*� �#Fݵ��n���wi�g.q?�7�2r��ah����~�|pm�nV�2�c�eR�)��A9�Ҫ��� +��H`.u�����-����1�#oD"w uܮ��V�r�����P�pc�"ou�e�a��
-41�7_��/wL�
��yxPA���EX��

>�8ٜ�`��h9/��
5�0B�h"i�)>��{ '��)����?ޯ|>�]��z‡:y
ݍ�<t�3�'��+�J�
��
-B��8�G���J_������'nM :m��loD��j���-��f���_���پ;���_���<�r�0�;�&d�uM.8<n����9���N_Ui' �5�t
�\�e�?�=.��̢_4�J&��D.������ŋ��{rs$w���@V�������!�4.7p� Jl�x
� �dǖ�~�e�;T�†/7u�B_͐��z��endstream
-endobj
-2440 0 obj <<
-/Type /Page
-/Contents 2441 0 R
-/Resources 2439 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2426 0 R
-/Annots [ 2443 0 R 2444 0 R 2445 0 R 2446 0 R 2447 0 R 2448 0 R 2449 0 R 2450 0 R 2451 0 R 2452 0 R 2453 0 R 2454 0 R 2455 0 R 2456 0 R 2457 0 R 2458 0 R 2459 0 R 2460 0 R 2461 0 R 2462 0 R 2463 0 R 2464 0 R 2465 0 R 2466 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 ]
->> endobj
-2443 0 obj <<
+2379 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 696.9982 257.6366 707.9021]
+/Rect [145.1 381.766 257.637 392.67]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_9507085c5b0efd13c80f08a22b0f5529) >>
 >> endobj
-2444 0 obj <<
+2380 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.9737 696.9982 330.1341 707.9021]
+/Rect [284.974 381.766 330.134 392.67]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2445 0 obj <<
+2381 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 684.37 378.4537 694.2752]
+/Rect [304.542 369.137 378.454 379.043]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2446 0 obj <<
+2382 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.7057 650.1738 260.2426 661.0777]
+/Rect [147.706 334.941 260.243 345.845]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_24d2b69146ab1b2216e437468a818cea) >>
 >> endobj
-2447 0 obj <<
+2383 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.7917 650.1738 337.952 661.0777]
+/Rect [292.792 334.941 337.952 345.845]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2448 0 obj <<
+2384 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 625.5904 378.4537 635.4956]
+/Rect [304.542 310.358 378.454 320.263]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2449 0 obj <<
+2385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 603.3494 257.7862 614.2533]
+/Rect [145.1 288.117 257.786 299.021]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_1a02b17cbccf348192f3e7f776b3b3fd) >>
 >> endobj
-2450 0 obj <<
+2386 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.1234 603.3494 330.2837 614.2533]
+/Rect [285.123 288.117 330.284 299.021]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2451 0 obj <<
+2387 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 590.7212 375.7729 600.6264]
+/Rect [304.542 275.489 375.773 285.394]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHMZ05_widening) >>
 >> endobj
-2452 0 obj <<
+2388 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.6985 568.4801 308.9421 579.3841]
+/Rect [147.698 253.248 308.942 264.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_eda87d46bc3b54b420a475934e0e1cb6) >>
 >> endobj
-2453 0 obj <<
+2389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.4769 568.4801 386.6373 579.3841]
+/Rect [341.477 253.248 386.637 264.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2454 0 obj <<
+2390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.1692 568.4801 513.9963 579.3841]
+/Rect [436.169 253.248 513.996 264.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2455 0 obj <<
+2391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.4892 543.8967 302.7196 553.802]
+/Rect [231.489 228.664 302.72 238.569]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHMZ05_widening) >>
 >> endobj
-2456 0 obj <<
+2392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 510.6968 245.9108 521.6007]
+/Rect [145.1 195.464 245.911 206.368]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_df3cfc56df68bc8063e6e9eb3d0ad3f1) >>
 >> endobj
-2457 0 obj <<
+2393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.248 510.6968 318.4083 521.6007]
+/Rect [273.248 195.464 318.408 206.368]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2458 0 obj <<
+2394 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.0906 498.0686 513.9963 507.9739]
+/Rect [488.091 182.836 513.996 192.741]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2459 0 obj <<
+2413 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 487.1097 189.266 497.0149]
+/Rect [139.268 171.877 189.266 181.782]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2460 0 obj <<
+2395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.5761 464.8687 292.3278 475.7726]
+/Rect [146.576 149.636 292.328 160.54]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_2af430cd70ac416ca0907312b65812e6) >>
 >> endobj
-2461 0 obj <<
+2396 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.6177 464.8687 367.7781 475.7726]
+/Rect [322.618 149.636 367.778 160.54]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2462 0 obj <<
+2397 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.6619 464.8687 491.489 475.7726]
+/Rect [413.662 149.636 491.489 160.54]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2463 0 obj <<
+2398 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.6217 440.2853 310.5328 450.1905]
+/Rect [236.622 125.053 310.533 134.958]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2464 0 obj <<
+2399 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 407.0854 236.1973 417.9893]
+/Rect [145.1 91.853 236.197 102.757]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_5d71f71f50ba04fe5f810acf0cf1e294) >>
 >> endobj
-2465 0 obj <<
+2400 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.5345 407.0854 308.6949 417.9893]
+/Rect [263.534 91.853 308.695 102.757]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2466 0 obj <<
+2404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2408 0 obj <<
+/D [2406 0 R /XYZ 90 757.935 null]
+>> endobj
+2412 0 obj <<
+/D [2406 0 R /XYZ 90 435.728 null]
+>> endobj
+2405 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F97 2177 0 R /F38 342 0 R /F98 2117 0 R /F50 339 0 R /F34 2344 0 R /F23 340 0 R /F35 2013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2459 0 obj <<
+/Length 1914      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ�S*�zwym�
uڴ���K4����*I�ѿ����kY��&@�8�����|��Ea�����ً��ɩc>�
��+�dž�dSb����9!�,�c<� x
VY�[P</���U��\Ta�}��ū�l
�l�����)!�ķ��{�����\2ڙ`D�v��F���i�
~�K��4��Œ���tβ2
&?y�V�Zo��>r}Ӟ{9��|�ό�l�
�E.�e������o
�L0�Z��
���g�?gXyv�*<�R�m
Khk��p�RaǖZ?���2Wz7�4����
���O���`��
���Y'�\3�
v��E�3��t�ޤ�|_��kTd�I�K��Z�<�n�.��޿�ł_]y��,�ȕ���
�\3�k
$��(q�0�=��0�5r��
�[��H�����L�����x@ǥI)
$�XR�|�H�C�=u�
��J��$���֥A(����'l���f���a��x�]8����z��r


80��M�F~����D+ !�:r��%�
211��D��I	ga���s\
&��N�.�Έ��
��XD���z0z��I�4,��lA��צ
+��RR�A
+��),�R��Cj	o �{�zɗTa�7�ٶnX��J�&_� ��x��V!�v�x��棑���$�; �M��߲�ZX����q�8�
+~p1
+~`�~j�o���
|/���YJ��J�aZ��B�� +�-j&�
�*N��;�5�4	D4ں,�F8N�8}�
��t�@riZ�0�}&�PT�q|��b���A\���TfM��9�?F���~1�g˨tX�"�r�l`��HQoYvu�0�t�G
�67K����P��m'���
���A ��i��`"���)�>ge�O��D x�}̜�qP�]��U� [����s��y'%h�����{��<<�����bDܮ��4,q�m
Kr���{��s�n�zY��o_�:�@�b�h$_x��?,�Y����
�*�~?`��
��u�v4�
��E3`�B�iY��W�3����JMQ�]Q>�߰+��<�k��&>׆*�X�����;����m�
~�˧�N�|.
+���Є
�bJ,P�?&�+��8]��؍� N�U^��Θ6D>i��c5�$��BT[�j뫺dQ2,�z����
����N.׬���$�Bn��QA�|/-�瓺�V���J7H��@��-���M�뒠q��z9��9�@~�I����3+�r��B�w�^�
a��M(fڃu�E��OF�#I�{;9�y7x'z��I�4hKt�

\z�dx8�� 0����~|�����s��2��+x�/w!��
�L�nXNi;��n�f�"�O��� ��ݞ)�yr�j���5�����9�)y
<A��5J�ۯx��F�mw���}�K��Lj+l��;+�R��2a��j��x��TL,�|D.M)�R�ڝJW�C�d�A�����A��
+z�oV���Y�� �;����B�y�\�A���95�>2�0>4S��
���bѣkDa|�nRY�95
'Q�C�	�2�M5���H���E�^��L�F@4��
�퓣ۈZ�M�iv伯�F˃�C�;�-��cͦʧā͓l��^�,���Q���V
����[]��	�
9/-��2̡���J�(eA�O�k1���Ϛ�2
>w]�i�t��g��-N�1
<.�kᶇ��,l;K����Ȅq��$1�}��'���#�tYm����/L�w at 4}��x�=��週�=�@���G��\t�
��:���,ȷ�W
��_5�~�
�v��oڪ�C&٪�,�l�WV�����҄F��S���h�~�	�z�)���?�Z7M������E5��IY��9)���f"�>K��;��tϊ��i>��xj

+��/�7`�
+endstream
+endobj
+2458 0 obj <<
+/Type /Page
+/Contents 2459 0 R
+/Resources 2457 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2345 0 R
+/Annots [ 2401 0 R 2402 0 R 2403 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 2450 0 R 2451 0 R 2452 0 R 2456 0 R ]
+>> endobj
+2401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 394.4571 357.8403 404.3624]
+/Rect [304.542 720.235 357.84 730.141]
 /Subtype /Link
 /A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-2468 0 obj <<
+2402 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 372.2161 214.0604 383.12]
+/Rect [145.1 697.994 214.06 708.898]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_00b832cc0784b7b30f4d4a2f738a3032) >>
 >> endobj
-2469 0 obj <<
+2403 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.3976 372.2161 286.5579 383.12]
+/Rect [241.398 697.994 286.558 708.898]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2470 0 obj <<
+2426 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2208 335.3543 284.8756 346.2583]
+/Rect [145.221 661.133 284.876 672.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_ccbd8986577794cea90edef63e859ab1) >>
 >> endobj
-2471 0 obj <<
+2427 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.4551 335.3543 357.6154 346.2583]
+/Rect [312.455 661.133 357.615 672.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2472 0 obj <<
+2428 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.0949 335.3543 476.9219 346.2583]
+/Rect [399.095 661.133 476.922 672.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2473 0 obj <<
+2429 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.9021 310.771 286.1999 320.6762]
+/Rect [232.902 636.549 286.2 646.455]
 /Subtype /Link
 /A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-2474 0 obj <<
+2430 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 239.0251 289.8656 249.9291]
+/Rect [145.1 564.803 289.866 575.707]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_9c0703b2311336754e28a7f739b7e685) >>
 >> endobj
-2475 0 obj <<
+2431 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6812 239.0251 359.3244 249.9291]
+/Rect [293.681 564.803 359.324 575.707]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2476 0 obj <<
+2432 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 204.1559 290.9713 215.0598]
+/Rect [145.1 529.934 290.971 540.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_fa8a10ff4b09f8a87e3c558a39f5888e) >>
 >> endobj
-2477 0 obj <<
+2433 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.7869 204.1559 360.4301 215.0598]
+/Rect [294.787 529.934 360.43 540.838]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2478 0 obj <<
+2434 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 169.2866 224.0028 180.1906]
+/Rect [145.1 495.065 224.003 505.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_b0a670aeef72d808d620bbc33a5e8cd7) >>
 >> endobj
-2479 0 obj <<
+2435 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 169.2866 296.5004 180.1906]
+/Rect [251.34 495.065 296.5 505.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2480 0 obj <<
+2436 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6947 156.6584 272.4902 166.5637]
+/Rect [219.695 482.437 272.49 492.342]
 /Subtype /Link
 /A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-2481 0 obj <<
+2437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 134.4174 254.1498 145.3213]
+/Rect [145.1 460.196 254.15 471.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_f8cd5fb701a14bc509872aeb3617b0b4) >>
 >> endobj
-2482 0 obj <<
+2438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 134.4174 338.2632 145.3213]
+/Rect [281.487 460.196 338.263 471.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-2483 0 obj <<
+2439 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 99.5482 284.5854 110.4521]
+/Rect [145.1 425.327 284.585 436.23]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_b054f67fb31ea4e860dd7c24c0b56676) >>
 >> endobj
-2484 0 obj <<
+2440 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.4011 99.5482 354.0443 110.4521]
+/Rect [288.401 425.327 354.044 436.23]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2442 0 obj <<
-/D [2440 0 R /XYZ 90 757.9346 null]
->> endobj
-2467 0 obj <<
-/D [2440 0 R /XYZ 90 389.3169 null]
->> endobj
-2439 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2501 0 obj <<
-/Length 3320      
-/Filter /FlateDecode
->>
-stream
-x��\Ys
�~�ؼ�d�	�>Tv

[�rbG���خ���P��^�J�Ocv b`)�*�Rz�
�t�4���%�a�GfϔP�0.g�������~F��/��������R�
2����u'A$(������ rqI0��.>��j�������^
��?Wo���ŋo�������ůW�?IH ����
̰R�:B�	F��#�B
"L�
�ע���������4C���~]������pA�y�]�G�0q���y�ݕwX�O�$������_�l	~��
#f����7c�ls�)so�g�����
��.H-
31)
��HK�<�"
I�5�N��u�F�`���:)��(F!ET)�@�ЏD!I��y���/�������c���
�0��R��!C��[�n��
-�T!ε
�@�DBC�
�ݾ�V�> ��s�����E��m:4�԰"��x
n�"L9�W!�v��d��\��M�b+
!A{��oo{�O��
�2�'�l,՚����f_-��r���
�a36�r64f�|=$o �?����`���͸��������"L2NfVBp��P5�\��nA�[���C���{U�
~���}
io��	�ٽ�]� ��E�;
_wKp|Y-�)S `���d�5�s&0���ѝOF��n3�kos\��-�A>�&q,��Dd�ң
-��Ҭ!h:�Mg*
]
I�:J)�[q^��
V����Lu,���@m��
U�Pf
-FDr��M��j�
כ��h�D�]�Qk V�&å������To����L�����q��ͺ���8g���{�A%����
����
��H7��:�	
_�$�k-�0�m7�Ea���]�Q%
Cx��|7�%�Q�$���&֑Ү���g�����
-k������H���8����W�T
-��}6vo�
�h����E��i|�E$�q4+S�9%���p�S)U��;X��s<���Pm��T�R��FDr�׻��L��و�yã
-� �ǫ��X��x�dx|ɌHnTƛ��:��Q�Xɼ3<�`�Ѐ�dC+�����zn�^��
�F���
���-��bc���0�����s����(Mlc��t����Q5=����fm{yA�8�EjN(�=f�M[l�Z�y5X�DՕ����Xm��J�a�)�h:U�Q�
d$w��ֳ���u[��E?<޾Y��?ԛ7u?]�A�Il��,�Lz;��

�OTJ�5�i�Lv	X6C˪�R‘�R�6G7��2�A��P�t�p�c�e2G1�u�E��)�+
�UZ��`y#=,4rS}(NF �
�l��
�`�Q@��p�l�J�({A-��P��
H"úͪ4��з�ɗ��D����������a;�O���vS��Mպ=��o�}�3ɪ�����@4y붮
c
~���9.���ֶ���ʰR>;X9�������)
�m���f�[G6
U��L���
^�e,�#���P/���-����_�
-:ʼ�k�z3A
#����u�G���,xdU)��1H�nb*�22��aa*Ž����u�n�D��@#�o���"�a>�ڛU�����g�v�#�C�®����u���x�d*B�F�O4򇤢�LEm
�XR��
-̤bA�KŁ�SSqhB9
���N���í}F5���_y�8P�$���j�,�D��rL��D
d���>�D�-���>���Qn
d$�4�9
v\ȗ�U�]�x2�$�D��
2��a�t�j�O�^�������Gz3d�Ǘ,��Z
v��P����_Gv(�g�p�UҮ�x3�F~��B�i�ةN����\kFx`�FsB�.�X��L@,m�(�!�
4J�̓ޡ�g�
�n�?D�1�Tg{|�ٱܜ��� �q!�<���Xڧs�]�1��`<�
�22-��
҂Zh�Đ�ظ����(�o�o�w�n�uB���r��C�a����
I�񆻢�c��s�C0N6<&��~
�
)��lx�)�<�_
{pd��'���
���㮭c&P7�A���I�&ؓr����Z0�~�'n�4\+6ܬ�����
�q
w���N�\%2�tw�j�8�bЍ ��q�v��������;�ŽYB ��
E�>�4Gp����bErC��(��g.'��*�T@�Wfd踃:T�<J�,���<�	�5��G=ف
_�0�[jy0!d}�cb�Q�
%}�f�f���
T}(��Q�C(#��<�����vۗ;��N��a�hh���CFi���
��1G�R�t�r�
�eBo�Z�z�
�2;BQ���Su�^��<,,�I�P���Ȏh��Q%�0j��e�<3A� �8�^�!��
��5����{T�z8>E�>��	C��y��=���Xn���Vl
-��Qg��>��B�si��I #�O
��y|�~q�`���)�b�I��?����y�|/�A�Nz/,�Gc��.h|�
�!n����Tn�`z��� AXPvJ��6`�n�@Зu������T�
˵
jS׫m]
��U�V�AC�4�����
���â�ӣ
-����J34'}p� ���T�x|ɂHnw<�^�f�T/�?�v}Ԙ8V��~�؊aK��M����̷������>��v�-���ك2�R�X�{���\��T��~֟&�T%{�}�B��@tK1�����}��j�<
+.FV�k�Cź�n��}&ĈR����Tg{|�ٱ�,
U�� 3yg{T�ٱ�OH�.�H���G���z��
^��v<hw۝Þ���
J!����~��ݡ��ꐣ���壶Bz�a]1�m��m=>��?mu����m
��V?Tۛ��f��T�������u���S'0)p#q���X�@���ԉK�xEH���9!L���s�ae��1����
�>
�S��:8��>� C��,1T��;q�@
	CL���
1t��&�æ�a֜{b��'��9$ �y
"�%�9?�pl�1
���CL��w:1
.�C;���&�c��0�=�U$�"�U
�z��"��Ш	b�0b)�:��
Ύ��!C6��v���#Y�����xJ�8��
_pq,��
-5�uV�G��k�$7�%V�'����Ij}����q��}C:��gL)n�n{
ۭ�Ӊ��� !X�wb��@�I?��rt
H���!�g�Z)��Rz#:�o�<b������m�Q�o��ԇ/.�8o<;�u���}�U�ۃ��yKtc>]'����������6s��&\�ep����
-�6�k���m�/�?��=Z4�v��Ъ}�߯�GQ����酻�Ȗ�癶?o�
�r�(�f��_���ᦲ�-"
-K��?���}endstream
-endobj
-2500 0 obj <<
-/Type /Page
-/Contents 2501 0 R
-/Resources 2499 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2426 0 R
-/Annots [ 2503 0 R 2504 0 R 2505 0 R 2506 0 R 2507 0 R 2508 0 R 2509 0 R 2510 0 R 2513 0 R 2514 0 R 2516 0 R 2518 0 R 2520 0 R 2521 0 R 2522 0 R 2524 0 R 2525 0 R 2526 0 R 2527 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 ]
->> endobj
-2503 0 obj <<
+2441 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 697.169 241.7263 708.0729]
+/Rect [145.1 378.502 241.726 389.406]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c65231748a66ac5c074502cc8e652e10) >>
 >> endobj
-2504 0 obj <<
+2442 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.6171 684.7115 407.6577 694.6168]
+/Rect [349.617 365.874 407.658 375.779]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-2505 0 obj <<
+2443 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 662.6413 249.3181 673.5452]
+/Rect [145.1 343.633 249.318 354.537]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0badc932380dcb7f72ea50ca922d9d4b) >>
 >> endobj
-2506 0 obj <<
+2444 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.1337 662.6413 288.3213 673.5452]
+/Rect [253.134 343.633 288.321 354.537]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2507 0 obj <<
+2445 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.8754 662.6413 371.5186 673.5452]
+/Rect [305.875 343.633 371.519 354.537]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2508 0 obj <<
+2446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 628.1136 240.6204 639.0175]
+/Rect [145.1 308.764 240.62 319.668]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_bb521f4ff8e2e40318bd06b0ff4d7617) >>
 >> endobj
-2509 0 obj <<
+2447 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9576 628.1136 324.7339 639.0175]
+/Rect [267.958 308.764 324.734 319.668]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-2510 0 obj <<
+2448 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.5366 628.1136 425.7242 639.0175]
+/Rect [390.537 308.764 425.724 319.668]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2513 0 obj <<
+2449 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 549.8389 203.0748 560.7428]
+/Rect [137.432 229.994 203.075 240.898]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2514 0 obj <<
+2450 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 549.8389 296.3242 560.7428]
+/Rect [203.573 229.994 296.324 240.898]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) >>
 >> endobj
-2516 0 obj <<
+2451 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 511.3262 287.8558 522.2301]
+/Rect [157.636 191.139 287.856 202.043]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e748c3f5082b158453fbb3ccf57c8f70) >>
 >> endobj
-2518 0 obj <<
+2452 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 472.8135 294.4813 483.7174]
+/Rect [157.636 152.285 294.481 163.189]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8c89ddcd2fc4311af0e358477630d7d9) >>
 >> endobj
-2520 0 obj <<
+2456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2460 0 obj <<
+/D [2458 0 R /XYZ 90 757.935 null]
+>> endobj
+2461 0 obj <<
+/D [2458 0 R /XYZ 90 715.095 null]
+>> endobj
+2462 0 obj <<
+/D [2458 0 R /XYZ 90 248.967 null]
+>> endobj
+2463 0 obj <<
+/D [2458 0 R /XYZ 90 248.967 null]
+>> endobj
+2464 0 obj <<
+/D [2458 0 R /XYZ 90 210.233 null]
+>> endobj
+2465 0 obj <<
+/D [2458 0 R /XYZ 90 171.378 null]
+>> endobj
+2457 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F35 2013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2516 0 obj <<
+/Length 1576      
+/Filter /FlateDecode
+>>
+stream
+x��[s�F���+�3�z�O҇\ܙ4M][}J2,a��*�:��=�Mw�9qj=	�rv��;g��:�����9=��1�H*�ލc��$A��7t>�� �u	�ؽ�v�d��/<��x4�
���^'~2;;{��u�O�S���9!
b��H
��R�C�f&Q^
�m�aa��K��W#?M�.�����ς��ep$
�n
�2L�ZX��7���
R�Crk��;w>|��οu0b��}>j�p��w�\u���F�R���ϓ0��i>iu����
+Ięv��"Y���R�t��+�;�q<*�ە'��
+���t<	?��/V�W?b�q�f�B}���egs�$f+�^֬��	�V��]�ɗ�
�
H�oW��6
t�s'3� YZ�|q��8#%��u���u��#�yq�e�M�(-�B,�gx1q�dZ&�P�L��jPxS�ӏ��A
�f�\Z��+�A���/�+$)�X��BD���0�"�
�'
Sn���]y�������+�ŜKy�%�@�K��"�U洴(�?�F�,�+�.y�?8bܔ�	i�>��e�Y���<�'�A����x��Ts��x��@ a�� _�BFaR�!�u�es= (��B�������H�:%��$�j[�6diN����y
dD�O�
���4K\?�
k�*G����y#ka�6�u㆕���
a�7�|��Iy=L�
#+��c�M�e�Z�{D���	!���b�A�t>��?�y���Ӄ�eƑf߸�}��|��b��
�C�cY�e9z�1�z�W�m� B jt	��E

�(��holjV��0�Jt�pL�$��aF���a������^(�{�2��a�U���.|�[�`�?����� FEc�B�%�<E���n�c�͗
�D�D��xl��m�SR	�)S�NU�r���Cv�F
u�0�^1�.|�-�T_ͧGO؃�$3O
+�K��/�i4
����0�T'�a�3�m�/`�K�~���	�b4�3ʫ�r\
��G��C��ӗk)���w
d�Am +%�x��|�&��ƞ
�4��c����t���L8.�f.+�0�%
�Wsy����ʒ�f��Z�&��)�Z���nT��@ڪ��
ˠ^#�A7�r�_;z!k�rO��o���+$���5RPM�����v8ݕ��|�ؑ�?2�O�͈L�p�Q+�١���¼
+*�X��R�R]!�
����TWj������T�O�iƓ��L��DP� ݆R�
Q�� |_���Fq�=p+�ۅ��D��'��E��� 
��!l�0��l�
+mXh���l�6lu֠-0��Z�@{a��v�6hk�5} h���-r�l��E�uĽ+�ZӌR��U #cʝ��@P�6b
�v��d
��
!���г�c������Ǹ<������z�c�h���zKB�_z�_xC�I��X|�m_Q��)�j
t�"����o��|��|���W$�<!ܴ~�0�G�7�XQA��q����A&I@�
 �u@�*���P�S
���
:_���][�.�&g�����h��iNf����t�h�FU��M��d
Wߺ��
����e�����
+endstream
+endobj
+2515 0 obj <<
+/Type /Page
+/Contents 2516 0 R
+/Resources 2514 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2345 0 R
+/Annots [ 2453 0 R 2454 0 R 2455 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 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 2513 0 R ]
+>> endobj
+2453 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 392.5462 180.5399 403.4502]
+/Rect [134.114 697.247 180.54 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_c91aac77237c2405df039c4fcfa08ab0) >>
 >> endobj
-2521 0 obj <<
+2454 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 392.5462 253.0374 403.4502]
+/Rect [207.877 697.247 253.037 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2522 0 obj <<
+2455 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.3365 392.5462 366.4968 403.4502]
+/Rect [321.336 697.247 366.497 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2524 0 obj <<
+2475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 273.5575 226.0342 284.4615]
+/Rect [175.349 577.251 226.034 588.155]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_5049b85730d6720536be440753b11ed8) >>
 >> endobj
-2525 0 obj <<
+2476 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 273.5575 366.3363 284.4615]
+/Rect [321.176 577.251 366.336 588.155]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2526 0 obj <<
+2477 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 223.0896 178.2386 233.9936]
+/Rect [134.114 526.442 178.239 537.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_cdc537f0aa5117fe3749d3c50b7dc4fd) >>
 >> endobj
-2527 0 obj <<
+2478 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 223.0896 250.7361 233.9936]
+/Rect [205.576 526.442 250.736 537.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2528 0 obj <<
+2479 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.0352 223.0896 364.1955 233.9936]
+/Rect [319.035 526.442 364.196 537.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2529 0 obj <<
+2480 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6253 172.6217 245.5216 183.5257]
+/Rect [135.625 475.632 245.522 486.536]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_f4b0f891a6911d7784216f537fa3e473) >>
 >> endobj
-2530 0 obj <<
+2481 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8481 172.6217 325.2287 183.5257]
+/Rect [250.848 475.632 325.229 486.536]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-2531 0 obj <<
+2482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 160.6666 159.0707 171.5705]
+/Rect [113.91 463.677 159.071 474.581]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2532 0 obj <<
+2483 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.3698 160.6666 272.5302 171.5705]
+/Rect [227.37 463.677 272.53 474.581]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2533 0 obj <<
+2484 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.6603 160.6666 376.2166 171.5705]
+/Rect [316.66 463.677 376.217 474.581]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-2534 0 obj <<
+2485 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6253 110.1987 245.5216 121.1026]
+/Rect [135.625 412.867 245.522 423.771]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_221657648a7e456dba61589e37765cd4) >>
 >> endobj
-2535 0 obj <<
+2486 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8481 110.1987 325.2287 121.1026]
+/Rect [250.848 412.867 325.229 423.771]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-2536 0 obj <<
+2487 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 98.2435 159.0707 109.1474]
+/Rect [113.91 400.912 159.071 411.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2537 0 obj <<
+2488 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.3389 98.2435 274.4992 109.1474]
+/Rect [229.339 400.912 274.499 411.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2538 0 obj <<
+2489 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.2233 98.2435 379.7796 109.1474]
+/Rect [320.223 400.912 379.78 411.816]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-2539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2502 0 obj <<
-/D [2500 0 R /XYZ 90 757.9346 null]
->> endobj
-2511 0 obj <<
-/D [2500 0 R /XYZ 90 568.642 null]
->> endobj
-2512 0 obj <<
-/D [2500 0 R /XYZ 90 568.642 null]
->> endobj
-2515 0 obj <<
-/D [2500 0 R /XYZ 90 530.2487 null]
->> endobj
-2517 0 obj <<
-/D [2500 0 R /XYZ 90 491.736 null]
->> endobj
-2519 0 obj <<
-/D [2500 0 R /XYZ 90 411.3493 null]
->> endobj
-2523 0 obj <<
-/D [2500 0 R /XYZ 90 331.082 null]
->> endobj
-2499 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2550 0 obj <<
-/Length 3636      
-/Filter /FlateDecode
->>
-stream
-x��\m����~�B��;4Z���n��� iR���)	<�w�F�����w���]r���:u�€E�Ù�y}vD
Y`�G%^(�Pɸ\��xq��� ���/C�O__<�\�E�JI���m�A$(����o/	A�jI0Ɨ/�������ŗ���^�믚�Cuxz���ׯ�}}���/�}NH���
��`����gCI&QVrK�:��D�	i	>�d��Mu<^-�������v���ڜ����W���w+8�J&.
�y^|����S0I��~���{�X�]������X<��HY����S�l.^]���1�Rn�X���%㨐pw��H��'9��엊2���޽�/
-��佅h�08b��zK���CW[cu��F�+�.�U�l�]]
�����=����W]W��$1�����,���{��u�
-��B��zcH"]��8�j�Np!�"��<%���r
��`���
�0���9��
;�v�,'�z�E�D�|�ɴ��Q*�*�]T�E�p
�*)
-�¤�K8*����ΥJoO���B�2�㈥D����sz�׻j[�4,�n��m�
�
�0Q4N��x`{�� �/�\�B�Uܴ�fd=�$���\��x���Β|�ё/����\���a�i�u��v9q
����
u�
BE�����(�	�	�"�D��H��ZI��iO>!~ȵ�.����;�����7Pw�0
-��\�Z��T��ĈW
���(�\�othBPr�.?{�ջ�W��e�iVWD�
-�6H	&|��dR�G�+�ǿ�jw�n�>+�@��0u���D���j}¶
i!
-�\
�VG5�
�i��c&�@��RY�G,>zc�M�ؔ�Ih�3���'�=�36U �e��&�=�����J
-��a�h�B��V��V
��J|�>������E3.6 at H)fyK{�)�J!�6��n=$:7�Ĩ %y����<O��y�S�
�#@���_�p����1}gG�C8�ES�RM��
~
M��@��Co
-�MT���G88��,�S�<�$o�($0��|�ܐ�x��b�H�� /��	���a�<s8/�����"��
�7��
�
��͂=��^;�7���#��"-΃���3`/�}H�E���<�X�W�16e1ޙilO?a�1�<�c+�m�&L=���Y�
҃�8%��kbO?a�1�i�W U�	;{�)�A 2.�g\�\�"���n�lj+��Bzˁ��D�S����jz�C�д�5��E�!�
��d�wD) �KQ�Q
-I�RrRz�IL2̀ʔ���������p��z�h$�'1��_�7�0㐯�`s��Ø��i6DJ�Y�f#�h�&�\ �U�N5�^
-�\�x�I�|�F�8�"oO5�b���2��J6�����CF*i9��ZP
2
-�͆��
���fA�X���q$;
#��|p��O�����|g���>���
s�`�3�|��<�;{>���i>8!��#��A��)"�	�<rhΑ�ќq7�!x"�a���ʐp
��TJ�fO�x�Q	f0�$P�l�5���Eɐ�~ 8��O��ĉ#E1�‰�l'
s81!7�C����G
�x�J)�l(ސ����C�X��P2�����:Y(9� '(9����[BɬNPr�EJFZ�&�$W��P2�!%=�,(kqJ�d��d$�C�>�4�i��7����c��~��7���3}�i���1o�1���Ǭ�O��	�n���@��\`D~�߳C
�����W)^�����_�9 G�	��&�j�.VBX5����!��>3��
-
��O����:�4+ #`e��,f ͞~ސF�1_����{�j�Jt�E�q�TS�!O8{E�S���e
�w��
��C�Z����'��O�ǝH
-U�M�Ɗ
����N��2�i!�8����P3jn%�-<;�<����|���z���%�ii��k�� C�G.����!Yp�����\cf �~�mncyd�'�m��WM�i~��<nd�"��+��n�����Ԗw^����S
�&*�;��ɗblx1fҿ�_�yQwU��צ���C�� f�'l�>�w�8���2P�y�r
'bHI�R�~_fuz_�^�)��)����͒A�(�غ�8L�r�us{E��m}�=P;jՑ�Sn�W��_����P���Bn�P����4
\Xd.uj�|��R8
Qm6�^���hwۿ���v
����)Ѫ�w�9y����_�>P�;�[s�r$��Ь�ގp��f�6W��ej8����ps��ݷ��]c�3+ 0A���
-������c�N,X?iVP��.�x~�
����1��]�꯸g�Ez��\J��<E
-�БB
-
)�{O&Z���c�P���0�S>}���\�YW ��}{�t�FW����1`l�W/����8y{h���j� A�nf�*A�>EW����W��X��Ǖ���z_mn��}�2rC��� ����g��nj&�����4.���e�<YZ=9Tͮ;��
B����������+Ĉ/�$�Ȣ�R�q�BH�RiH�wJRG��PiS�I��x"��S�J}�|"]�������.��C��*J��Z
$V��'�l�V��4S�g�s͔��~�
��fG���P������m{W����m�k/lF�����Ʋ��;�}��6���̔�0Xr��*�D]���D�.�L�O�9
�Ƣ���+�\�������
Rp[w��ç`EJA��,�"3�����ee>L��6}��
-ޚO��f��P�X�kc?o4
xh6�e���|�+�Z{i�?�ol�'CBo��b�l�ҡ��3���/���gP��A�?�*
���Ѳ
,
Μ���ڡ�?5��ȫ��A�L�,[�Ӟ��:�T6
�O( Q?Q�c"�"p@n��o3��:
���
U�D��R�C����of���2
/!�Â
w[@��:�X��>W�ś�|��2����HnV���a��op͐Ɩ3S�TN4	�1p���& %���}�,\S�VOn�g>۝;7)������ؓ�3/y�IYp=3)sT�����Ӥ,/�M�B�UYCv�����}I��D��C�hdT�;�q��	�XI��
pa�K���gL
:h�+��J�4+�
-��	��?�\[>&	9ﻀ �<G6���}y������Z��ݝ��6�~a�+
�<�� ���
3�œ��u�p�I�&&P!���"�f(���C��
ٴs/��z/�r���ȑ��s�!F/ڋSUG��Y^7��}��˓�T'=��+������$���LQ�w�v��yf,�c"fk�w��i臬�X@�g���
@��
k�
�����z��������֕�9��.�ػ*Krl RU��;�o��Fot�ߚ���snڽ�r{��
��+G������	 ��|��͎|Ч�s���9Ώg��x`_�
�c5���&�y%���ۢ� `ɹ �#&)�;�Y�Vh�T�
�~-�o�%N�hlf�m��
�j�l��?!h���
G�GW
\F�ܴ��T�AU��
��� Җ��@��
w��i {�2���IU��_�����?�������a�������g�_
-�\�9�-=�H���ߙAp��ܺ¸m~'�
}�
�� ̘P�ߖ�� endstream
-endobj
-2549 0 obj <<
-/Type /Page
-/Contents 2550 0 R
-/Resources 2548 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2426 0 R
-/Annots [ 2552 0 R 2553 0 R 2554 0 R 2555 0 R 2556 0 R 2557 0 R 2558 0 R 2559 0 R 2560 0 R 2561 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 2578 0 R 2579 0 R ]
->> endobj
-2552 0 obj <<
+2490 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.9202 684.306 243.6051 695.2099]
+/Rect [135.92 338.148 243.605 349.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_47a21a1c8a88c306877d15d4dbc697b4) >>
 >> endobj
-2553 0 obj <<
+2491 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2264 684.306 323.607 695.2099]
+/Rect [249.226 338.148 323.607 349.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-2554 0 obj <<
+2492 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 672.3508 159.0707 683.2547]
+/Rect [113.91 326.192 159.071 337.096]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2555 0 obj <<
+2493 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.3698 672.3508 272.5302 683.2547]
+/Rect [227.37 326.192 272.53 337.096]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2556 0 obj <<
+2494 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.6603 672.3508 376.2166 683.2547]
+/Rect [316.66 326.192 376.217 337.096]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-2557 0 obj <<
+2495 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.9202 622.0597 243.6051 632.9637]
+/Rect [135.92 275.383 243.605 286.287]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e5c66812ab981ee2d1ab96ce218a7782) >>
 >> endobj
-2558 0 obj <<
+2496 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2264 622.0597 323.607 632.9637]
+/Rect [249.226 275.383 323.607 286.287]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-2559 0 obj <<
+2497 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 610.1046 159.0707 621.0085]
+/Rect [113.91 263.428 159.071 274.332]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2560 0 obj <<
+2498 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.3389 610.1046 274.4992 621.0085]
+/Rect [229.339 263.428 274.499 274.332]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2561 0 obj <<
+2499 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.2233 610.1046 379.7796 621.0085]
+/Rect [320.223 263.428 379.78 274.332]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-2562 0 obj <<
+2500 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.1381 547.8584 242.189 558.7623]
+/Rect [136.138 200.663 242.189 211.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_d0a9267e420144cacfb867076d00a803) >>
 >> endobj
-2563 0 obj <<
+2501 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.0282 547.8584 322.4088 558.7623]
+/Rect [248.028 200.663 322.409 211.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-2564 0 obj <<
+2502 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 535.9032 159.0707 546.8071]
+/Rect [113.91 188.708 159.071 199.612]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2565 0 obj <<
+2503 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.3698 535.9032 272.5302 546.8071]
+/Rect [227.37 188.708 272.53 199.612]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2566 0 obj <<
+2504 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.6603 535.9032 376.2166 546.8071]
+/Rect [316.66 188.708 376.217 199.612]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-2567 0 obj <<
+2505 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.1381 485.6121 242.189 496.5161]
+/Rect [136.138 137.899 242.189 148.802]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_8d6c186583503c4394603550b50edf59) >>
 >> endobj
-2568 0 obj <<
+2506 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.0282 485.6121 322.4088 496.5161]
+/Rect [248.028 137.899 322.409 148.802]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-2569 0 obj <<
+2507 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 473.657 159.0707 484.5609]
+/Rect [113.91 125.943 159.071 136.847]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2570 0 obj <<
+2508 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.3389 473.657 274.4992 484.5609]
+/Rect [229.339 125.943 274.499 136.847]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2571 0 obj <<
+2509 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.2233 473.657 379.7796 484.5609]
+/Rect [320.223 125.943 379.78 136.847]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-2572 0 obj <<
+2513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2517 0 obj <<
+/D [2515 0 R /XYZ 90 757.935 null]
+>> endobj
+2518 0 obj <<
+/D [2515 0 R /XYZ 90 716.221 null]
+>> endobj
+2519 0 obj <<
+/D [2515 0 R /XYZ 90 635.459 null]
+>> endobj
+2514 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2013 0 R /F98 2117 0 R /F38 342 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2536 0 obj <<
+/Length 3138      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~������y%9��f�������<#{��H������=���p.޴�.`xt!y��9"�=������ۋ�ׂ�r�
*f���
�RAPB��v5{7'�����$x^t��Ï�ϛ�Ӻ\uŇVw]�=�ܼ|���h�˟o��~M�G��
�y�*��C��	F���9",��~�·���/4�@,��r�n���O~*���d�^£4g�<���?n/>]��gDI#IQ
+�.��~Ƴ<�n�f
ը�S���ۋ]`#Y�K8��.�,���!,����&jy;OMJQ�b"'e��ܲ6X^�`o�8�"Χb(	�d���Ԗu�-���	�
e�N�
�H��t� S��ϯ�B���Iʲ{0B������"a|�?*�j�ͻ�8�gK[L�-;�$����4�'
+��9���+�"q�(�i��1��4��|uX&'�B�r�lA9Cr�@�Y����^��$M���S��	�H�-�[K)P˅�ʌ��(��D
+a�i�eUl���޸{����є�aus�?jc����>Ĺ:�� �,��S@��L�ec4t��U9զ\i�yU�ˮj�������H;��l Q�"��c�"Ш����?(���r��_�3$=��u�xq4�0��,�����]��WV����&s��:��g��:��!)x��۵
�
+'�4U�^
�b�)bn%5x�q�����K�f�H�
{����3��������eUփ~ؕmW�p[(;U3�{���C������#����W�

���G�D2���m`g`E��T,��#&�a	
<YA@�M_�"
��̥�%�cH,
K�ﳞ�Z#��X�Ԃ��9��y�h*@B�
+`		Xj ���̥�����X��^�z�_�Y̨���d�C�
Ʃ�1�k�W��l�^?�	�I�OB�֫�]*]�nX��
0�Tׅ3�ڼ]��E�K��Oa�.: \vo����9�0wf�ֈ4.��ݓ��`QEU��<�1e~�z-� �m�̩;x���̱�xQ�f�� 
Ε����M!F� ʗԨ*��tF>��ǔ�
���p�K���a�aDi����%��{�8as����Ǩ�rHƿ��`�������5�UT���6e]6;���R���<D��Je���S����z�����$5�sB4�����6������ۆ
�N�r
�f� ��j��%��P��N�Br�B���4�e$
���ŶR�Vn�^�j
J�>Ҝ��V��N��]�
���s
�yն]�ل|�1�$4t�j�9�p���T��Ѫz��
+�^��'i���b
��ސ�pOF�d$�9��jU��
+�|�#���ujwOd�P}�3� �U�qD:�8P��HD�������E���Xn6���#��
�a�&�KY
dX����Y.���D͝�V�~ʭ�H�YvB q�:w��LW
k0�jiF�꥚�2`b3�Dr�^���H
�_�꘿dPSr�]d-�$�-�
x4���^�'&
�@�7aͺH^ $��4K�E�,m��4\�[V�e*�
ʐ�nʼ�%z at W�`!��F 
T�0Dd�=3>ML!� 1)���8��y1�
��`��J�/d6րU��uS)�{���T�{�o�Z�3H$l
���謚��&�X,A�H���2=WDF�:�Ҟ�4],�I�D[�V�.(Zw�+����(�
+�Qq��'c�h���A�H� m�!�m��0-�5�V�c�w"Bgt
�.S+I�uO�A
%˽��
�L��-
[F����̬�
�+ȴ��n�M�W�.���N��.V^D�4���܎�
�GҔ�V��$u��k-i�}������Eu� �Ǘ���:��d�3q�i@����vm
eRL�)��j�M�-\��Yw(v����:�F2�id}R�CiC�_��c��C�S�c��<�=٠����V��z����my�����+6�P���ә�WQ�{�1e/z�'2�It�;�۫�-<ѥ���&bp�aݬ�4���n`�Ǎ�����8�-�Œ�L�]7�~�[�pV�U��R�2~q��jcL�,T�\�Vj�/�e�.��x]���`�3�N��L at 1$5nv?�p���zglM�s��a���3՗Y>,�Npe�Be毭�D���j�2'�$��P��(��)B��<��Þ*b$�y�NT��xa�S:��>o�#d8"�Ӟ��і�-ѹm|�ίeɠ��4W)�Q
+Ŧւ�5�
ߧO��I������
�P �k���fp�_@�H����$�J��O��^�:I@��
4y���"ܭ#S@�fQ��:[7!<tƚ�j/�M2"����C�ξN��$tm��|d\f	�Y@�e3�B��y�[���
+ɱ
��X�>K�Yh
K�1_k��1����
�+�XZv�o���Eԡ"�sl�<��>| z2�g�d`����*87	V�XTp��A����Z7~��M� ��t���"�w^{)���0&~;��	�������,o@�0<�BF�kr�6��]=3H�ll�,�N�o�ъ����G�� �G`y�O�-B�h2���A�HB���i� �����8��>�
�
��ս�T9�~2w�n��
?��]��r<�d�*RP2�,c��f�3d�I�X����4�Et}c?ƺ>���f�7�
�]��l��
�
D=���(�{-�k1e�
j+��aӖ8՚���P?)��E�ʯ�.e�(��32�1i���K�xe�EO-�<E�ƹ�x���+�fDپ��"�vG�;,Ӓ�by��Tq�8�w0��}
Ʈ��E\�z!��_�[��E�H��Xp�N��Y�����,e'��?�ZR/C�J80���Q5�17�PH� 
�i���Q7�,�
vS�ۂ�,!
U��SN.T
@����WrN�����ؚP��>����M0"������<��-&�/���
\��2�`8��]3��9�-��0�
+�!+3�Fk	e�!��6[<�
Ǻ�_hu���.6K��э�}�S�;)z��Hv�T�гE��΃��vE�r��{l�
�
�$���;�in��Gpk��C��yv�(����ٰ#�g����@��"̞�����f���BY�o��F[C{s}�����=��Uۡj�n����ac?gp4��{�?�M�c�.��L���'st
+endstream
+endobj
+2535 0 obj <<
+/Type /Page
+/Contents 2536 0 R
+/Resources 2534 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2345 0 R
+/Annots [ 2510 0 R 2511 0 R 2512 0 R 2538 0 R 2529 0 R 2530 0 R 2531 0 R 2533 0 R ]
+>> endobj
+2510 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.7425 411.4107 159.1085 422.3147]
+/Rect [136.742 707.957 159.108 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_f6351727d099ad178db8b8e742507f4c) >>
 >> endobj
-2573 0 obj <<
+2511 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.7513 411.4107 321.9941 422.3147]
+/Rect [165.751 707.957 321.994 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2574 0 obj <<
+2512 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.7845 411.4107 513.9963 422.3147]
+/Rect [378.784 707.957 513.996 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2575 0 obj <<
+2538 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 399.4556 140.2514 410.3595]
+/Rect [113.91 696.002 140.251 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2578 0 obj <<
+2529 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [110.8613 86.2883 170.4176 97.1923]
+/Rect [110.861 381.787 170.418 392.691]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-2579 0 obj <<
+2530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.722 191.797 349.228 202.701]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.725 150.263 193.232 161.167]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+>> endobj
+2533 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2551 0 obj <<
-/D [2549 0 R /XYZ 90 757.9346 null]
+2537 0 obj <<
+/D [2535 0 R /XYZ 90 757.935 null]
 >> endobj
-2576 0 obj <<
-/D [2549 0 R /XYZ 90 362.628 null]
+2539 0 obj <<
+/D [2535 0 R /XYZ 90 659.031 null]
 >> endobj
-2577 0 obj <<
-/D [2549 0 R /XYZ 90 311.9074 null]
+2540 0 obj <<
+/D [2535 0 R /XYZ 90 608.311 null]
 >> endobj
-2548 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F52 341 0 R /F37 2043 0 R /F100 2135 0 R /F40 350 0 R /F25 344 0 R /F10 484 0 R /F8 523 0 R >>
+2534 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F10 473 0 R /F8 504 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2587 0 obj <<
-/Length 3157      
+2545 0 obj <<
+/Length 2086      
 /Filter /FlateDecode
 >>
 stream
-x��Z�۶�~��Uj-
��1�q�i;Mc�_⌇�xwL$Q�ܝ��.�(�:_�L?t<���.���o 
����
-��d��“[x��+�?���<&x��������r��� 	��ɻ��SB��	�x���i����Q<�׏w�j_|�k���Ǘ/_�����ؕ��}s����-1
)�L�r�ܑ$�	F��)�e�D����ˋ,��.�f6�7C��f�.�{�]yS�gDO��^)��TK����w�¼>�Ī��������+���brc�ds�)
뫷W�����ܶ�2�"�`_(CX
-��s���7E�u�����k�����8E)�(J��5U�զX����nW�~`2
��F�q/s� 
8k��:��8Ӽ�c��T
e
�(�cTbGuI.��`)S���x���m�,�N7�v�~T�e�m��Pn�}>�a3̀����Қ�2*�� I9���`De
�E��J�UvAnPY"wQ���/|U�̨���97�)�
	V.�y]���T�.kbD\��Q��
"��z;���
��	���*�
�X�|,�ա*�@ܻ�]�M��{�3"��}�4�b�_��W���֑U�dN���"
1����rWnW��FI(m`10�ҽؔ��ze�,���t������{��_}�Wx��q���}�c��b�3(3]��݄|��+�le�p�{_��ϖ��}��5Am�X���!��9�����~�vu�
>l�-�����wi�{D��x +
u�V�@����j�a^|����f�����2�M���R�RHk�`V	�����(�-�@TJ
-t�?�*Ð!F��DTYf�0�cF�/ ��{�&Y�����'��3|8�s����� 	�Q��jz
;��t�ɸ�)��~;�3n0�
΢
-)!���S-��8���ܚ�{Ly�%C �'��Q�DC
&��� s�Z�
��$
`�6�"�2���֜�"
�?m׫���fM�Q/��I��(���"�vjcg��}ș
-CI��M�3�[�6���h_,�
�8tY�-\������j�sF�
̜K�,��� 
�$"��� ��B��B�aR� ��}���#��FR�1�'j/#�B-�ų�q�4f� �S�6<M��0�
�A�s��9�O}&ܶi
��C:�bQ[[�������2� �1��h:P�J,��u�����|��~
8Ex�|������yp
�Nc�.�%�#-!&��ŏ��+�
��«l(#h
�W��E���
-	5����gLM-�LP$`�
#p�p�1���E9�
b?��g��`�F�Fb�
-Lg�S��S��G
���tV�v�}sߚ�
{3����20�;�T�m����z�H/@bd4�i�"Y� �S����x�^��M"^_���:�Ԧ��_��eմ��U�W��3�5��L�Z��LC=�a�(�l�0��Un���/��E���r
�X��L�
����
�<
�)�N��;&16*
->�ǰ�
T��ۦ��H�\Ӗ�e��I��A�TXxMB��!���oj
-(X���<f�h��a=4�B�ҡ�&\�˲E9,���-
s�%n�"q����:��́Q�}w�Dn��C{ ��	z����mXb/���4���0#�O#.u��A
kK�$�pr���}
���6�=��\��+�?Ԉ�V�YI �l%c#+�=c%����JT!)�P
-Jeo*i\� 

r
Y�b�.90T�����<f��+�\'X	��L
�ɗH0Y�L�_ɞ�����Jg���dqLh
[�͉���Vmv?X�'����%k��F�d���Gc��.[������r�X,����tJI��)kY*�4H��� t֤��~ �M8�J��(�1����|eQ0E��N�q��,O��,$�(�ǝN��Nw6�`V���U�E�u�2m
��4w�=���#��q���m_��~ѷ�oB=�h�qĔ6�{�h\������8�W��O�+�u}��	b�����[[�����5��;�
m��h\�Y��}�I�	[����p�cNJjlw��3�OZ�
�CG?����S�jze
NcX�{�
�3k@���P8XŌ0Bȋ�)
4�
V�1��b,�D�pƁ&@(�F��F��2��_x��7��ڶ�
5���
l]�D��m�2
�T��z�Ņ�Уή����/^��q�
iP3�C�?[�a����M�^�Ƅ�&B8�����о��ۿ���qc�� [...]
b��( [9��
�͔d�\�?����g�+	QJ� �l�	��
�_�ފ}U,��C�,Y�tW
.�eNY���k���Mڸ���E&�3�*m~��
��<�9`�Q�N�z+kN�j��"Є)�:�'7N�[ �������La�b�uU��
�]ٿ�^����]�s�,x�=p��}���i�--�h�K���6��/1�:�&�!�c� `�����k��OK%L�b����N�����
BkG�\
-��\��
����z��W���= �]
Z����ty
�w�~���8�p�����w�ةm�X�+���IJ].��BD��m��ݦ���<B�٤ע�6�˳�C!n`iԨ#���g<���s�z�)����OӚ�ə��A@˽�J��Q~���{�r�>��ȓ=>G��s$}|���O��$~��KG���/�n���ؕ
���ܽ
-� 뵰~
�\�
~�
v����y�6
��G(0��j�
۫�����;��� Fwy�o5 �m�C������?
�a!h��q��2�+7vn���
�� �c"T��O�5=`:��
���7�Yx�J!��)���@0���{�É�i�O��|��;��{�o��9E��㆔��
�<\_���,�
^$�5'4�/	h3�DP$1��4��������Vۿ��L)�%sʣI��BY�o>1BZ�� !X�ۍ�m�B�}W��xxc���=z�&���om,���c���
�5u��O���fBL}(�[�=�>�]����
J0U��"�������U�
&
-r_��_�:a�<"L�g�k�;
v/������q[���:\�v��ƅ��\����wD'sI4ϴD����&Tɛz��B���;��|�e��T�
���endstream
+xڽYms۸��_�OW��` $"�e�I|7��K�nz��h(��٣H��b˿��7��h٧N;�	Ix���gw!��x����������!
�����!A�o��>�Ad� �ه9����ūs�ge~�M7u��>[�q}x��ͻ��m\�����.�!d��� q����+M�L0��%XN�����~���<n���2
����*��T�|L�i='�,-X��g��K�Wˋ_�=���8�pn����{X����e���
��ܻ���
Z��e��pȴ�?�Oج�M�K8+��k�q�y�>�m�*-6Yq���u�s��YR��ܷfO�4�*�7F���^x���eѴu����"���Y��W���5��Tg+cGm��Zk��
+���%��t����!68Ah�\�$���XXb�G��s"Dz��,ϵ�k�4S��}���"^ W��3�՝Ύ������>�Aę��0�)�A/�����M�Ms��e�<��Z�B�{Y�5��ʷ$�7&��B?u,$i�fe�����(����e��6��e[�y9�
�@�%�%��I�"WO�
���I�4��
1m�z
�,2�n�Z�
�-����8���A�K`(
sR�

]�M��s�A�ǐ�f[�5�+ʙ�c
+�:3^�R�/�ζƍZO��E�+��x--t���E��C�sK�b���:��Q�a�R�c
��Q�ÓLj��&�|��0x� Rk
&l�M��>fc��}l5/
��O%2k`"Z at r!@�Q���Z�_���Jѽ˳�j�[�
��AҒ#Z6E� iiG;q9
�5�� �ӕN�4mwLN"ı�9����6
��C�`�ǵ,��,������ݵ��봩JS0��J�4ٯ
������>��T��I��{�HRpD�|�@��a�H�Իɤf:�
+7L�|��sgPok����D�Am��	��譮���I3I� 4�ZB0�ה����G�nj�+����s6
�9�p�I���̓l�j�ZS�%,��6��E:�P�
+(L�î3՛Q��U�����l�� *�BM�̎/:���lE'm���mY�
߭~�&��0|�h�!����@�ɶ���
�纇<V�˾���*τ���s�P�����z��tX 
��.H���>

�����5ՉƠv�Blܶ�5.,p��Ѩ

+��ge���O���d�$epNR�s�28')�9Iy�z1�ea΅F>./�"�m��:L;

+���)�U��E!�!�`v0b�Y��K���@��>A���χ�����vP�"Y�|
+�2�giD�4�C�����J?ޥ��2Q}s����H�
lȴ�[;�
�R
"���K ��"���8��y�#ޏ^�9C�����
��� �����
����ر�+��ˋ���'�`�����J�<����<���P�w�nK3%E�`C��T_��m�<�x��ł�~�u�i
���~
.o�nyw��Y7Y�N����%�����\}���`p��5 #��D��"ϊԖL�@��
��Wy�d���<���
7��b�v��)	)�
F���U�R�Ti��!ʖ֦�;]Y磓SFB�j

+��e
r=Vw]w´A@�a�?���*`Z*�����uZ��N[D[�G��A���˦�Y�0�xst[���em�>��e

^wn2b���
ANDG6�v±��z4̵h����4
 �w�������S�)���Nx��	ꝳ�čP$��y��*�<|�31���/'�U������Sw��Sw�=���`
CG$F�G.�B5
%���D^b�g�a�oЏG����O�
S'���'
Y�H�	��]����_�����	~��ˆ�S+�� 4g
a�M�r`���MV@��A���|X$�~����j���(j����lp	�o`���o�q���w�0��8z������X0���AJ)3�|�T՟&_���Њ�I*o��!.�q��
����W�)񥯐�Ldz�45�j�~�������
M��H�#�m�V///������U�������c����x��[�ڻ����@�
Udp� �W�
+endstream
 endobj
-2586 0 obj <<
+2544 0 obj <<
 /Type /Page
-/Contents 2587 0 R
-/Resources 2585 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2426 0 R
-/Annots [ 2589 0 R 2590 0 R 2591 0 R 2592 0 R ]
->> endobj
-2589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.722 558.4533 349.2282 569.3573]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
+/Contents 2545 0 R
+/Resources 2543 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2345 0 R
+/Annots [ 2532 0 R 2542 0 R ]
 >> endobj
-2590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.7255 516.9186 193.2317 527.8225]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
->> endobj
-2591 0 obj <<
+2532 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.433 434.0341 336.9393 444.9381]
+/Rect [293.433 719.912 336.939 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-2592 0 obj <<
+2542 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2588 0 obj <<
-/D [2586 0 R /XYZ 90 757.9346 null]
+2546 0 obj <<
+/D [2544 0 R /XYZ 90 757.935 null]
 >> endobj
-2585 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F10 484 0 R /F25 344 0 R /F8 523 0 R /F67 366 0 R /F7 526 0 R /F33 481 0 R >>
+2547 0 obj <<
+/D [2544 0 R /XYZ 90 343.76 null]
+>> endobj
+2122 0 obj <<
+/D [2544 0 R /XYZ 90 320.518 null]
+>> endobj
+2548 0 obj <<
+/D [2544 0 R /XYZ 90 320.518 null]
+>> endobj
+2123 0 obj <<
+/D [2544 0 R /XYZ 90 189.718 null]
+>> endobj
+2549 0 obj <<
+/D [2544 0 R /XYZ 90 175.147 null]
+>> endobj
+2124 0 obj <<
+/D [2544 0 R /XYZ 240.245 112.476 null]
+>> endobj
+2543 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R /F65 376 0 R /F31 472 0 R /F7 505 0 R /F72 471 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2595 0 obj <<
-/Length 2176      
+2554 0 obj <<
+/Length 1917      
 /Filter /FlateDecode
 >>
 stream
-x��Zے�F}�+x�B�P]�K�#��v����4�c<A�A
-��J�=��fQ*!�Bt���~p� ���2��,5b�#C��J(d���f��K����T�'p�x1
\}%�� #�
N�$A�:�.ލAd<!���1��(�D��c�G�z��y4�.�ˣ|}����vm����W_�PK
G�hfX��r"��	F�^ILJ
"L�J�ˋ*^���O�����Q�ٮ�2vW���q>&z�s��
#����ʹvX�O�$������{<\�_�
`���1�7N���
��[�q7��"{L\(CX
-V��*2/��(�ݼ�r��/�ǫ�}�U6�mⴌ�$K�^a�	�qCZ눗�e�X(�8!�'�
-)�U%P�qm��5
W2��T}�A+�O�F�Ǥ/[k��%
q*I��x��N�� cb8�!
�~�/Q�Y�9�F5�JD(��Jw�Y�H2�9���+��B�@`�-�
�<�Av0�!��q���ul�*`,L�=�K�E@?� $�e������O7ono��B�b/%am��޻$]'i��GF�ņ��8d���d���6��Q��($)���d���'r�4S1�}L�(΋��<,e��}}�궺w�>�U%\l�y�+�4^�
Ѽ�W���@��tU����
M�R]
-�a�@�H��0h������	�H1J�t
������
-��
���вDi�)���TׂVȉ.&��-��`�)wqގdôp�]v
ٺ`(R�H���#�.�<�ra
b
�Ep����b=��Ś0n�K�%4�E��^��n��
�wI���� ��������[��V��p��*�e�>�*�;[e �%
-�΄W��/��V5����R�f�:	�$�}�	�A����R!k5Һn۞RJ��Esn;���9r�>�UY{6�9Ҽ.�К�G��_�*%FJo�>Tڠ�`�X�š����?$�~��ݮb-�>�^?ZA��2��ƛ���_f/���w7?3�%�HRjI?����Qe+���q�"I!I
L�����~2o��B��ow����k�KǸ�}����]I*jH�i�Nj�
���d �@Hf P�$�%�n�m
ܮ��8�ކz}
E����=�ן8�S(�
��>���}����>��%V��K؋s�`/���xʖDXH>�ڷak%ֽ�o�2���E��G�����2��
D��J#iH�� 98lPU�!
V!�v>�
��1��R�|�L1� ���ab'A�x��C�͒8��v60��gUӳ}p0��h�ͳ��
���
�
�P�v8[&��?Ǥ}���9��������
;EIZ�n���>���w��<tN�5Z}&�;�	..��
��ls:�76駷y�"d�ƈ3r����Sy�]�5h�Ϡ��2Ia�IʢsX�=� )�hr�D3C
C`���R��Ε󤃆�=�oǒ��[�
��Z
,�����R�Uۮ�آ�d������Ը$�k�$��+ƴ�� Z���	Gy�.�Yy�HU��m�;��y�ؐ����V���l�.gY`�"����>��q|ǽ
� �������d���B��ܢ}-r>�<Km�D�U�[��cUn_��R *8k�&���[
-���?�<q�
�?��g�x�y
��"�6��ÐJ��B��{�a
omG����}<��
��5�(��I:���h�,fQ^��FA��}���Z�kL+u(�
*|o3]�͑H��(	q,��ͺiS,���u��� ����m��]~X%󕻕T�և
�i��{w��m�Y~�1��n�l������PrZ�&UV����l����X7�c�f�&����
�2�Y��رA�`du6.��N��j٨�� _�Z���a�\P��	�?��Z��z�*}�]MS�<w�cX=��
-���
K��]���~����.{�C١�������C1�T�m���z�ʀ���WEt���I��?	�AB�ධ=@�B~�?
��CBKC
i:E�#��|�4���mCb����������x[��?�j��t��wKA��K
0�V����8>u
U�
*��rw�o�9�~`�x�a at 5v��k��*��������h�&�
%��v���t�k\���Mj��--��,��!�e˽#����s
\tG6���I�������endstream
+x��Y�o�6��B�6�>DJ
�M_h�nY�+�"Pl�fK�$7���H�
FN�ۇL1��=w<ao�a���d6:z%�'�Tx�+Ob/qJ���;��dJ0���	��(�D����z�R�<�x_�Q�;>>yqq��25�2{{�["}����hHz'��_�
<$"��?��|
�dJ9f���&[G�2;ԕ�'$
�d[�d|
�����l�׈ ��<@�;ߌο`o�o=�(s]Qm<�2�]{g��Gxв�!,xkYD��-ko+
H�:d;ї5A��Tm@/.�Ӓ
��)
��w����H�>:
+�0�ek��OTN5oJ�1�{S0���
wE,]9�K�P��9X
�ҳM'����Ɵ1��4)J�菇��a$pxP�F��na�������PHާHc�����L�T?L�2���S/u��
���K�k�7/�N��MD�d)x'�l�x��:@
C �z������^��f��qdR4��c�u
A!m$:��u�(�]@ګ�l
���y���{� �X N� [���6^/,�E�G�ʿN(Ge��N�#�ٵɑ�}+���&� m�����%6X#�7{r$�����HYE���q�R���uZ��}F�
+��ۍJJ�[�e��j�
���.�X����B4�`X'��nl�V�=��Lt �m�,��!
+�0I��b�I�Ah���ϣ8)/�vx��҅��@��p�"*�S%!Жp���
;yqfWyj�)�.::B
5iLP��
1��W�'�5�~jA��> 4��'+��e�/h��rC��_����R6
ОAf�(�)	����Tyq�c�2�טj
�
�+[煾�
�&=��8[�Qi�{
�
�=7V��**
q�+����=\7���v�^����2�&
�0ԋ�J�3t����m�-�?�N<�B{bH�U�]�j�*X�`�F��������*Ҹc�4�Z���ޖʖ�2�G��
v��	
�^y3W��>�8�@�T
�rq|
'����"�m�	�4X2[�6�5ؒ16�]I���-�;8�B��IRB��g�h'����*��̿bK�è�H�0�h�ޙ�b�ei^9E?^�
�v���
�����n�t�
+)t=,`_A�^9�������.󭆋��|
z[O�������^P��~�eu�h��Z��;��'.��b��A81���p��]� �wؒP��V�k�VA�͚rqY�.�R����|��;�D|���
N^�D�Q�懛s
+�F���9��n��Q͹����`�`s��-���H>
�k}��
Cֲ������
]�UQ]uE-=�;�8Y��g6
T��B}Ƙ&�O�%������0�^jL5��V�.�6R�JyJ͘M0@ �;7����CM}'�R�a���w��I:�
+=�
���H�(Vp����������4�Y�/0N�6)Ɯ`
|k8�? �O��]��Lc �ԉאv7��V�/$�v��"�������N48}��th���t�����
+���0����� �@�1����|��>�G5ᠷ�ܵ�	��Y
+�H��V�B��bpԖ�mQ����2�_m��׫�Pf�?��r,Re	͍�b��;,<W�Ӌ4��"S�X���Y��r�{�o���?��瑞��g)��>
�
+�
SAP�~�
g�wƚ��1�Ǹ���*� ׉�6�p
����x]�G]z���*33κ;F ��=�-
�M!��|*B���}��V_M�,
���������T��~�Xc�y��<|,T��D7^��}�l��Yk
6����
�%��\f�[�E�L)��Q�O�^�2�l�
+M1C$lj˪,�㣣��k4/�6��
��Q���n7-�j8ݠ�U�ۋY����
��3�-'�
�j�@
+endstream
 endobj
-2594 0 obj <<
+2553 0 obj <<
 /Type /Page
-/Contents 2595 0 R
-/Resources 2593 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2426 0 R
-/Annots [ 2602 0 R 2604 0 R ]
+/Contents 2554 0 R
+/Resources 2552 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2561 0 R
+/Annots [ 2550 0 R 2551 0 R ]
 >> endobj
-2602 0 obj <<
+2550 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.0217 295.6246 393.6059 324.6904]
+/Rect [311.022 541.129 393.606 570.194]
 /Subtype /Link
 /A << /S /GoTo /D (main_Bounded_Difference_Shapes) >>
 >> endobj
-2604 0 obj <<
+2551 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2596 0 obj <<
-/D [2594 0 R /XYZ 90 757.9346 null]
->> endobj
-2597 0 obj <<
-/D [2594 0 R /XYZ 90 733.028 null]
->> endobj
-2189 0 obj <<
-/D [2594 0 R /XYZ 90 716.2211 null]
+2555 0 obj <<
+/D [2553 0 R /XYZ 90 757.935 null]
 >> endobj
-2598 0 obj <<
-/D [2594 0 R /XYZ 90 716.2211 null]
+2556 0 obj <<
+/D [2553 0 R /XYZ 90 733.028 null]
 >> endobj
-2190 0 obj <<
-/D [2594 0 R /XYZ 90 588.4982 null]
+2125 0 obj <<
+/D [2553 0 R /XYZ 240.245 663.906 null]
 >> endobj
-2599 0 obj <<
-/D [2594 0 R /XYZ 90 574.1587 null]
+2557 0 obj <<
+/D [2553 0 R /XYZ 90 647.709 null]
 >> endobj
-2191 0 obj <<
-/D [2594 0 R /XYZ 240.2453 511.4873 null]
+2126 0 obj <<
+/D [2553 0 R /XYZ 90 468.538 null]
 >> endobj
-2600 0 obj <<
-/D [2594 0 R /XYZ 90 494.991 null]
+2558 0 obj <<
+/D [2553 0 R /XYZ 90 454.498 null]
 >> endobj
-2192 0 obj <<
-/D [2594 0 R /XYZ 240.2453 420.3644 null]
+2182 0 obj <<
+/D [2553 0 R /XYZ 90 341.896 null]
 >> endobj
-2601 0 obj <<
-/D [2594 0 R /XYZ 90 403.8681 null]
+2559 0 obj <<
+/D [2553 0 R /XYZ 90 327.856 null]
 >> endobj
-2193 0 obj <<
-/D [2594 0 R /XYZ 90 219.7084 null]
+2183 0 obj <<
+/D [2553 0 R /XYZ 90 202.019 null]
 >> endobj
-2603 0 obj <<
-/D [2594 0 R /XYZ 90 205.3689 null]
+2560 0 obj <<
+/D [2553 0 R /XYZ 90 187.978 null]
 >> endobj
-2194 0 obj <<
-/D [2594 0 R /XYZ 90 89.4414 null]
+2184 0 obj <<
+/D [2553 0 R /XYZ 107.534 89.441 null]
 >> endobj
-2593 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+2552 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2607 0 obj <<
-/Length 2301      
+2565 0 obj <<
+/Length 1739      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�����Ÿ��|�����pi�\�.��rXhm�-Ԗ\I����
��,Z���H
-���<�<
�y�k2��G&O$�H�DL��+<Y��wW�}=���}�׋��o�h���C;� �SB'���)!���c<�0#x�V���Ì�i�}�d�*��.���������w��t��>-�����ްD'Hj� ���$�L0�L'�bD#¸p���f���lN9��4�f��6m2��o�CV͈�f�
I��T)3���E0O�1�����Ox���~{�ӊO��#�5����������8����زp�.Y��u�(nm?�aԤF	!j$��DIgм�"ݙ0Q
]n�"#� W0g�Ei#$J0�
���UH�.%^���OM;��0�˲���d���5�C�5�}�]VdUڔ���K
+a3�w֗�}�.�O�u
�x����%�}̋m^d���dB����˼�d���
�ff�\I$h���~̷+�SR����[{�P�n>��m��7���~�}�\�d�<�v ��Ӛ n�1�����=(>�w�v��:�����֮I�"/�G�{��ea�Xe?aL�le���̃B�c���y�n
sF�t�v��b�Uy�BL�}�t��|�u��PP���:L<�~$�3���<�z�#L� (8
'���}�a�Ra�`,�9	ע���y���[}s�`�$�$�| ��
��aL`�y
F50�fus��ON���.�֏�f J+$L�
�Hg5D�b�	�: ��T�
*�SawT��y�ξ�>���@
͋��7���=ߤ���ܗy��(R�\р�9�������~I�n��yMc��4JAPG&>��M\Fq�}1����M	
�=��˝Váa�'�k��>�!��*�y�*f�&�3��_~�{����{����c�	�R���X���1�q��š=‰ [...]

<;4p�7�������
����b�|
�[Y�ww�Mt9�W@�uv�B�I�s�}\e=�~z���ӎ5�@��0FǛ����&�)
-�'�J�6�H#0������h�(E�K5
��j�:dBj5	]/�>�5�UkZC�-z����um�Y����A��ȡ�D��p_�l,|�lXR�
��T�q��j��Hy
-�V$����7m����p�.�ʞ�Y}�N�����[v]��E�ˁ��#=+��C�M��3�(}���C�ٴ��Ĝ�-�1���ͺC�mV���]VUe5 ��1��HtVCa@	��D��q�
�0�\\]6�zu�|?CK̞��{�&�s
���yAr�]j;��ͦ��9�=��SP�i����
2
-Ȝ
-��=L
Vi;����6�
=E�h�oG4��ͻ*_��� c�'z1�6��'���w*�1�P�)��E�2�<�k����*X��/�}&�c��xe��G� ��GB��\�M�3(s�>��o�~��#}��g�Z��GN	�n�1�"����շ:�\Dc
�?K�� ��� I��:��^
e_�N��>k4�z$�4b���k'��]U8��N۹�X
E�i�G�4�b7���fc��f��q��x������\噃S%�>�WzV#{��K��*/�|l�Q�X|o�y*o4�7 Wy�@�a��Wy���p���)���q����
�2ґ2�y��<ܗy�X���Á��Hq*N˼�ߢp��YT at c��s��%?Si$��&���H���P<���}0a1��zgo���7��꫙�����>-
��3R�g3�ePxP���4�8n��84TBq�D����s��|�g�¼��ݑ�7���fΛ���\_?==�e�
�|_������Ǹ�����c
7�X��3�qR�$�� ���
-�+�<ܥM,��?�#P�
��;lendstream
+x��Y[��F~����R=;W�Y����)i�l���(�V��ڨ\�Y��.cc�$+m�d�9�̹}������������
��G=gz�(��
A�g:w>�� 2���{9&�
�Up}9��M��e8ς�7�Md���Ϯ���:
��>{AHG-Q
�J��J��ZIJL0�����P�0Q
<9��i
��xBe���j
E�W�
o�lL�&3X��T�������-�!U4��|�;[�>~��
�_;18�]%�r8e�;W�?Fx0��!�6��"i�[���W�:;p��Z��_�I��s�Uo(}��c)!_�Ās�G�'_�ܫ�(���Uq�}i���
�կ%����L8\V7�GJ�\�R�Rt��@c�U�D��OD�鑎3ʘ�7x�&yQ�r�"��K""��^�Z��3�#�b��AK(aKx���IKc�>M
I������}�B�ۨ���M��_��^S#�fC��	�\�o�/F�R������~�������~��+�d&H�Q	&%mJ�c��Q�1= �v
G�����	�u�`P�N�I��_l�xnf\�.�]�tS��[K�&ݢ���e0]Ve�
�s�dfQ���B���:��y�
+�<J�Oe����	â�~S�$�]�-Ƙ�F�^h��R]辻��Y��;�eP�~���<��Y������|ޭ
+��;P��X���H~nmo��u����
�W�mVz���hjGK�J_d!!�"Jz��e����To�#�{n��1=!IO���!��BT��騮�
+X�
S��?�"I�pn���"�z[���&�%���fy��"Sս�sL�[��	w8Ǟ�
�,`Z(����,\P�_�`��V^����0Y��0��l(j>���Q��1�
�ԍn�_��R.�n+�:�V���3_8EB�v�n{�	%��CV�o��$)��]�h�Y�� ���eV��(xf���Da
�[�x�zg�B
,� �m^�
��}�A� }�,(�����;�4N"�P�
�&�V?����P�t���	M�8�A �Խ�"Ӄ}�����E)ۃ�
��At9=
ѥ�'!:���F����TBZ��v$/nC9����`�-('5��ʉ
��TWT,�zlcy�ڮ��I��V�˱��d˽��N�Μ�V0�v��0[E۔
�/�Fja�l��>�C���
����n\C7n��ЍA7`�h��qjח�T� ec7��w��b7n�[�
L8�C`7���[r�Zx���\
 oI��S�
I�`�4d�o��|����龝�,���,�e;o�X����	� �b
`{_E;8��b 	u���0��B�&p
��	#�������{X
�DGG��
�|�H�y��^�
%Oz���z0v둨�4}���Gf?J �?���f�� 1,hV�KRI^��
�1�
.:4�4z�f�k]�
jE�e
n�q��5ץE�u������"�jiQ�݊���萤.
�#�$�_w���{$�� N������I�"M�	�jz.���H��y�^Ob��8�g#�1Y��T�X��ϯ|1�2�߆151����I��<��R�)	�T
JWJ�����t%m0�5oз�<��y��8�5��6H6u����T#���X
"0�+A��z0*��МT����mT�u�b��lXղ(��ggwwwh��M�3g�u|�_O��l?��B�Uޭ��L�%��
+��$�x
<�
+endstream
 endobj
-2606 0 obj <<
+2564 0 obj <<
 /Type /Page
-/Contents 2607 0 R
-/Resources 2605 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2614 0 R
-/Annots [ 2613 0 R ]
+/Contents 2565 0 R
+/Resources 2563 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2561 0 R
+/Annots [ 2562 0 R ]
 >> endobj
-2613 0 obj <<
+2562 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2608 0 obj <<
-/D [2606 0 R /XYZ 90 757.9346 null]
->> endobj
-2609 0 obj <<
-/D [2606 0 R /XYZ 90 733.028 null]
->> endobj
-2195 0 obj <<
-/D [2606 0 R /XYZ 90 615.9649 null]
->> endobj
-2610 0 obj <<
-/D [2606 0 R /XYZ 90 602.219 null]
+2566 0 obj <<
+/D [2564 0 R /XYZ 90 757.935 null]
 >> endobj
-2196 0 obj <<
-/D [2606 0 R /XYZ 107.5342 503.682 null]
+2567 0 obj <<
+/D [2564 0 R /XYZ 90 733.028 null]
 >> endobj
-2611 0 obj <<
-/D [2606 0 R /XYZ 90 488.4019 null]
+2185 0 obj <<
+/D [2564 0 R /XYZ 90 527.358 null]
 >> endobj
-2197 0 obj <<
-/D [2606 0 R /XYZ 90 291.563 null]
+2568 0 obj <<
+/D [2564 0 R /XYZ 90 512.82 null]
 >> endobj
-2612 0 obj <<
-/D [2606 0 R /XYZ 90 277.8171 null]
+2186 0 obj <<
+/D [2564 0 R /XYZ 90 309.486 null]
 >> endobj
-2198 0 obj <<
-/D [2606 0 R /XYZ 90 89.4414 null]
+2569 0 obj <<
+/D [2564 0 R /XYZ 90 294.948 null]
 >> endobj
-2605 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+2563 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2617 0 obj <<
-/Length 2378      
+2573 0 obj <<
+/Length 1747      
 /Filter /FlateDecode
 >>
 stream
-x��Z�۸���?�6Ps��} ���k�K/�C,��v�V�\I�f��w(��hQ����!@V�F3�y�fH��d��,Ҍ��zw�g��7W�}����>�����)fiI�lu�p�	J�l��4'�Œ`�����r߾_P</��m�)�۷�]�O77/^�~���d�y���Bzl��(Ҋ����,�'�`D��-�*�D#„l	�p���,��Œ
-
�4�'�}׉����>)D͓|
?E���҆���Ug�֞�Ib����O��lv��
-#���=�
FDk:�]q��Mv���
��y!�A�%~�
a)X�D��sj����ɌL�>BWQKP?�<ށQ�A?����IGP$�8���"�#,�馂�}
��T\��%A�4\fKo��l	��B���X�S�0�t*��}R���9X��x��e�s6�;x]�Umn���u
?y��g�Ĉk��*��1�����@�ǯ,��|��W-�*�D!%����,�P\�/
��KZ?���r�
IƜI��
	\!��3��[�>�%'b�d�
	[3���n_~�������ꇐ����&`
%n���<K�*!ۓ/�,]��g�
��)�8�@�I�y���C�m�j�?/^}��e�k���o�B��V&^P�ر�eh�5���2��4�&eZW��vϫ���u{�IwI^�Eno���|󲕿dX
%ޙ|�U՞l����UK�/�uZ�j\o�[[ύi����5�e7e�>p(�0�ĔX!�!Ce�-�T�ү4˜/()
�~قRX'eus*�`H ̠��

�P?+1���#�cvz҉D"�dz�
�P�τB;"ȉ�Ք;��J6��
-�ׅ��ĥ
-hԄBS0�#��t}�	�ud���I�J�3�
�P�oB!�Z_�j����tBH���➤yQ:3Ƨ�g��vwj�#����.u�+^1oV-�|4u�Z:�:}����@Rb[�^Y'���Dބ�O9�T��;2�FUonn�$���IY�@�70��g�
�P	?EZc�+�ږł��cS��<��[�y�m��m���
 -�a~�ܾ&
j�
�$������������Yf�!6T�5i�#%��K���x�4���$zڮ�fmc�.�����D�C��[���b�dL����fZ�
�n~�h�#�8!�'��L�[t�Tt�
&���"�̾n����s=�Q�Xϋ��[޻�o*ף�
-
�ף�7�����w�Y߿�m
�5���-4Yqy����N�U��;بFn�i"1�V
�%	��{m54r�YIĹ�~���(�Hh��z�'��̫c�����C`
-mǎ�����ȳ�B@p����h�		-T4�t �kI�˄q�p.Ks˓��?H�G#cP�^v��
 �cH솏Q|☙	�O�S�j
�8��
E�b|
-	����a|��:|Ssȗ8K7�q�v�Ji��ƤE:��2�������S�ǩ�����H�D왨��)�2� �ؙH�d�m�v8��	�!���,	�e��Y�ڈ�XW�/���
-�q�.�`y|.LѪ�:�Y0Ej�o�����_������P@�� �
4�&�O5(
��b@		� ��a@��~�LZ�(e€�)�
�
��/��1 at a
O"
-A�c�#
-p�*D�<�$���nIJ)D��
\_)�@��'q�"���dR�A�;�o���#�w
��Er�I�i�	�F�)�P�ҽ[
��y@���|.	��&��%��c��t�Q����7ǟ]l��y����\�͖�x
�ƻ�c
-o
�3
�9�;��[M��#��
S����⭹ruϫW&)I�r_W��jTVf^���L�tTm(#���l�
����X�o���dc�0�K$	yv�@e :ͭ��m�޶�@Q�JJ�r����d�2�L�}1�� g��߷50p���h�)���9��S�7DB2*�&B�'���"�~�#�Nj'�
-���^G5���dB�j!�/�;�Ț�m��6'x���w�-�Ç�s��?�u���TGp-�sG�o����g
��aH�l�]���O0�P�:#�Q
��+2YM|���r�F˸.Z���eބ�G
�䜵zdS�rd
.�Z
GP��;�����`��Yk�����9�
� ��1W�j�Z���=�\�\	=�\G4��|��(����Yxʠ��]V'������Q��&��0�@`��|p%���/��OΤ�h�3sL=����)���{S1M�޺��4]���X%�B�[����;q4
����XyAUl;�M�Շ$95
��$�|٧����?�ٽ������_��m]�o��ѺB�<ݗ(������T/f��Gz�qˎh��gy�$�4�.�.�wE��Ï��kBf ��_qE��endstream
+x��Z[��F~�W��)����UrUs��d��F����Bm���=��
�ղjT�-cg8����l����Ϋ�����K�9
+)�����Qؑ.A��z�|��dJ0�����~�����Ix�ѫԟ�
����fO��?n���|�~}����X�8����ԟ햎f��Ն�

+&�
��&�Y�g�dJa��u�
�\�;�Z��u��[R11V؈
��
�=" ;����H��e4��;+������3�bW�p��3t>�~᳑�
aW4�E���;
-��¸��x�Il��'�]���/n�� ~J9b\���Y�+G�(℞��
+b�
��V�~����͈p�'�ٔPD�v,�$���WKa枭���>�!j�s�wb1�-�]����"S&%‚9S��D��uQRI4�����SV�X�eg��|��O�/�mmfY���-J���
y^�6_���C�%�&�H�D���oKe.⍋��8�>ۍ�6N)UH(�D.���
t�K�O0Cܫ�"Ow�G(�6X[[�xeI
���ױ
+�mj�	�9%
�ԥ�u�D�f�4a�&���J�(��M�1�1�#�Պ�M��Yǐ���|*�8H�B�9U�H�%4����[�
+٬��FH��<$1� pK�VD��f3�C��a����m��حR��כ4�P1��g��)�c�L����D���2߫ |7'q��$��.B�z�ڔ2�\ ��6�G(�n�x������a��!0L���Pv��Y�K.f �v��a�./���/	¼��R ���0!�@�1r�	jNd�� �^�)$]~��Z{!
g8G�� 
+��
���Bp
j�i���@q�
�O�ȁ�g�^CU�e`�P��O��2��y�v�yܣ�PD^Jê_ށ[�s��fr,R��zDs��Y��T!ף�t��Np�8ҝʝC9L��}�95(gz���&���ɬ*�� �9��28�2"��$�
����1�X���� �"�PI�"ͅm���.S)��&]�!T�ޅ�@�2�
�V�~,7%x�}���g%��rg!զf����u��"]Y5.E�]�W�2FJ�eK�Va	��ԹN�ؖ=�#���S
bBy3�V���ٵ61�2O�9�~VH��B��S/�zoOV���{i�Ӂ���k�9�0u`q �'���<��l��yR�(Y+�[쳺�
\�b �G��t�DA� ����-�n�w'�.
x\`�?�Iu��0K6V�v=>4�q���l\n
�T��P>0�u��+�c�}̄�ߜ���I^wI��I��#	�M�;n#�
���7���V�n��G7!P��XC���2`�.!���b��Zى	��)�3j
���{��8G{��3f�4�؃]�ۨ;�dG&���i]z�^��j��n�)��!�_�2��쾵����
K{$i�$M�$i��$iJݙ���B�S�I:�����p���
I�H�l�JҞ�
�b��U�ʇ��t�
���
+����K��6�_����N�
`-R�@������=���V�~l� .��~�S����
z坦�T�аʉ7(ԭm���-�zgĽ/�d��󻧟�?q��7�7"�oC�V8�y�oC�B�z�]��dЌ
�e5sTo����^�����	��������^-Ҧ ���%��dN5
Ժ�Ժ��S��Xn�m��4Y���vvu����2C�8ئ(ȯ����8M�B8j��K���Kx�?A�I�l�
+endstream
 endobj
-2616 0 obj <<
+2572 0 obj <<
 /Type /Page
-/Contents 2617 0 R
-/Resources 2615 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2614 0 R
-/Annots [ 2624 0 R ]
+/Contents 2573 0 R
+/Resources 2571 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2561 0 R
+/Annots [ 2570 0 R ]
 >> endobj
-2624 0 obj <<
+2570 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2618 0 obj <<
-/D [2616 0 R /XYZ 90 757.9346 null]
+2574 0 obj <<
+/D [2572 0 R /XYZ 90 757.935 null]
 >> endobj
-2619 0 obj <<
-/D [2616 0 R /XYZ 90 733.028 null]
+2575 0 obj <<
+/D [2572 0 R /XYZ 90 733.028 null]
 >> endobj
-2620 0 obj <<
-/D [2616 0 R /XYZ 90 520.0802 null]
+2187 0 obj <<
+/D [2572 0 R /XYZ 90 716.221 null]
 >> endobj
-2254 0 obj <<
-/D [2616 0 R /XYZ 90 495.7111 null]
+2576 0 obj <<
+/D [2572 0 R /XYZ 90 716.221 null]
 >> endobj
-2621 0 obj <<
-/D [2616 0 R /XYZ 90 495.7111 null]
+2188 0 obj <<
+/D [2572 0 R /XYZ 90 611.589 null]
 >> endobj
-2255 0 obj <<
-/D [2616 0 R /XYZ 90 390.903 null]
+2577 0 obj <<
+/D [2572 0 R /XYZ 90 597.034 null]
 >> endobj
-2622 0 obj <<
-/D [2616 0 R /XYZ 90 376.3327 null]
+2236 0 obj <<
+/D [2572 0 R /XYZ 90 494.44 null]
 >> endobj
-2256 0 obj <<
-/D [2616 0 R /XYZ 90 273.5618 null]
+2578 0 obj <<
+/D [2572 0 R /XYZ 90 479.885 null]
 >> endobj
-2623 0 obj <<
-/D [2616 0 R /XYZ 90 258.9915 null]
+2237 0 obj <<
+/D [2572 0 R /XYZ 211.842 234.629 null]
 >> endobj
-2615 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2579 0 obj <<
+/D [2572 0 R /XYZ 90 219.92 null]
+>> endobj
+2571 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2627 0 obj <<
-/Length 2547      
+2583 0 obj <<
+/Length 1988      
 /Filter /FlateDecode
 >>
 stream
-x��ZK����ϯ�)� VO�� ��x�� �z�

c��(�T(�c�ק�ͦ�d��m�`�5E���U�U�d��?�0x��B�q�X�o�����4�W�|������)I��a[k�	J��a�nI"�+�1^��%x������-��b��9ݔ��/�S�����������޾���B:j��H��
���N$�L0���F�!�� „l�0���]r<ޮ�����e�?�*uw~M�iyK�2��pK&�[�7�ڀ5�L�ݼ{���O71���~`D����
����ݼ��K��=�_�-
��$���J��0Q)-&Z�
-b�(���
-j�0fj��DD2]����uz��"?����`��t�U��h��^,�B
-��պq�6��Y~���c��6�I��O�j��H
-�H̩�3^j茠
g(fH2��yx.�[*�/�K�lۤT�;8ELbӤT��P:�P�D
�F&�7N��)�V����
V(f�e�����㬭�I�MQ<����|]�I�=�Rd�_�(�&X��Њ���is�Thr7D��R�Sܖ`��^�eQF4C�cb�L����r���S�I7��,��*y*n�X~��K_ElE(�h�n��1�Xg�J��iu*sg��3 �/4 ��x:<汏3Hk��-槴�Yw�l漌�����p(#��.+�ɧl�GTr�c��y�t[��S^�5`���}�(tH�ZtA
�a*ߢ��_�I��1��~õw��|H�d>�[Q0��b
-M�
�F�(vN�7� tge���f�B�*�̈́�A,���E����v���Xj��6�.���V��_�<M��׶-J
ms����7�`��)4�a�
?L#*۾�
- at W���E��6CיE�Q�
-�DY�G,X' �da� �Q�\j�)�
�Px�A}������x�֊S����i��I-�.��U;��Z?��u�8�>q�\
����/�,�A������Q̦4j�y�¯u�<�s�W�iU��8�b� ��aZ7����w��UC5[�_�j||�n
�M=���ָ6���r���&"Fΰ?X�v��ք ����`���N�10�����s�~nڌ�Pmf�
ਞ�
��2�5Q��hG�dwj
�K\_�E�7x��i
�
yR�/���4�j6
Y���8;P��׺S���S�j,�������.�	����� �*-'F��������ފu�اJ��� �RC���S���V`���ɮF$w��t�<,��T��yz�eO�H�U+)c@!�0��%��w#�Jt,�G��V]����bD�a�����^jh��^ʶn�+��]���ee?-
s
�d.Z
��hy� ����
-Z�a/54<�����hmҼ�g�5�h��0f&^]��x�b�)&0�
���1���>.8���
M��v�m{���f�?֬� ��=A���_1$��s��M�ߋ��\`�@�h��F���h��vpS��F����Nk��I��q�N�ͱ���%��܃��+	4�n��}L�Gs��yo��w��T����1�g5�����h�
��Yul��a���=Rv�� '�v����@Wj|�
��`Rx$j|*��^���:
-o2"g
-o�L��
��������ӹ����=�	�J���5��w\ ��
z��k��PVo�ͱw�6�^ͳwj�i9����=�g�κ0B�a�f.a��yǑPT̐w�
`�f���=�4!{TO����Q���~-
�87QP�7	@��@���" �Q"C��}���0���S�_�j���$y���������ATQ�\��3l��3c��0o�j� �g�@
=��F,�$Bp���,��	@�
��J� ���)��BC �(����uS/F� dP���.#�8 at bԝ�)c<
 ����K^����V�Y��ӹ�Y�6�z
�3����5B���Uh��͠Wc
=Øw-J�	e��H�&����m᫾��ܜb�1��R��5���ɳfx�1t�1v�C��~�(:�g���(�/����hܕ��y���d$���x<�$>
�b�4�d �4��n�&
�~=Mր��d�M'�Zy�fi2
-S6d���M-�
�$\/ۉ�a/54�[/�4�ZB��dc�7.�!A戇��T��X���p1Lٌa/54<�L����'��� Q�2
���D�Z�
ڇD���16c�K
M��2���24}m���)����
"`k��
,t��a�X�J�����
�{1�^���Ɉ���3q�$p���I�̓lǥo=�$�ؙ'>~�	�E�y�n�<�3O�S���'�.:���ġ'>~�cٶ}š������&ܼ��
nʾ��S��0H�
��1��Y���t��>�+54
tiO`��<�w"��7v4�$F�ӳ�gCe�=��oo�X6
��I~Jv�����+�#&����ٝ^�M�~h���h�� ���\�����پ������������pw����GtʳC����p����bn8d��­Z��/A䙖Hȴ�/[?�싲�U�����2H!��#���.�$endstream
+x��ZK��6�ϯ�)+UY<	`��C;��V9�l�ฦ84b�"�$���O��S�˛
��e���h4��oZ8xp���׷W�oBh�C��@�@�	J��E�~B"��O�N	�D�:�{;�x�%O+�ȣ����<ʟnn�����*ژ�����K4GR+PZI��[2�L0��Yp둡a�Y��1	�$QQLgT`��Ĭ7IT7�Y�|J�Ĥs�����&V���۫�^��RyCH$A�|}��0�C���<V���
>�����W��,�{X��� ��@R�p(���vs���7/^���Ոu�Y��X�4[�iTf��Ȗ�lV��ܬ�k��ǔ�I�l͗;�Μ�����u�1�b�����x��|[�p!�$͢�67J��i��F�����FI��,lL=gǒ"��p���ÎX��_W&uZ;����2�`�ak�|n̢x��L
�$q_��
+�i�����u���M���õ�͓���������䵯���$lO�|���Q��Jn���NG\��`�8�lC� -����ڍ���q�B
+��)R���fc=V�
�
9,���l�=[���M�N9%��.��k
:t�i�ݩ<�[xL����(�����^��Ȯ��A��K٬�
c�S��j唫�8�,o�B
{/���8�g�
��}�N\��
�$�v�~��PH�%�b흇�"\���';T6�=���[c��IN��ɽ϶���,;�̳�E�ٔ�X�ϼ�&X#��j��$��e
b8T��sSn��iU���.f�Y��S��4R�����|!i_���b�
���;�fLAr��;
F��G�B�s^��Y�n�M�l
�h�<�
V@�``HL-VA
���M�߇R#N�!4"��ф��Ƥ�L�Ly����v��
N("��
�Y�8i���0�� �h�YN�
x����p�.
R"
�3��߰�s��<i6�)NM�߽�7�B��p�Q��N�0�۪����nL!�.�gJ��7�YB����T�qD�dP̺{�.��7�@�u\^J�§b��^�c�!)r�nu�U
�fp�{�Ew\
jf���
+���<��o]�>N8�޼�VΈ��^_�_�4X��2�%9�{I��6sW8�B"�-F�.��D���׾5.�
+
�jXcھ��O `�:��E��UM����� �|��%�Gտd��5�}\��U��"���Qav�y�ڻ�����mY��Q ����G֩ui�ӱ�
\�0\��)�21,��Q���rnl,� 1M���PӔ����ytѰ���ͼl�zNU�����j���P�y8dFm�
��D��=� ��du,>����Yx�OY�����4��6$�]�
%�
)A>����!F]�z�Sո����D�\��}>�#�bz�	��~6��O`z���)� @G�mL1ɛ:i�^�' �ң�ڊ���Zlm���`V�m�
���@-����(�c@�ٮ���٧��
S�<��A�ƒ)��7hƱe�;��ɁL�C�s��T�~�G����7�jj���Q�F��TM�}"�LjT/�N�j>
j\;�������1�Ju&U{U�4
+��
��;����O��Hp��G���A
+�xa
�G( �.�Q@�����
+�B�C[����	"ƛ
$��-�YP�krX�jm];�@�L�0���@�*z��K�+u^O�{�,
�{��t�F�{�Z4=]��^-�J��k�ܗM�f��.|�
ݝ��;�p ��$�~G�
+�ut1ܪ�|=Z'�tU�ӥ�/L����-󓗰�v^�hSW�7uuxJS��tu�XW�8ѷ]]rJSW
���=]y�o��Gi�ib��}
���Ϟn{�ws� �ԟ\U?�3B��L�?br �)�o-*��~l�{�i�{�wa�L�z���(�F�[��~<�w�
+N��"��*d�2��3�ީ���f����3`,m|��rss}�����ڦ�&Gqy��$����B��uQ�lP�:�ۚ
�몘�
Ÿ9C�
+endstream
 endobj
-2626 0 obj <<
+2582 0 obj <<
 /Type /Page
-/Contents 2627 0 R
-/Resources 2625 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2614 0 R
-/Annots [ 2631 0 R ]
+/Contents 2583 0 R
+/Resources 2581 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2561 0 R
+/Annots [ 2580 0 R ]
 >> endobj
-2631 0 obj <<
+2580 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2628 0 obj <<
-/D [2626 0 R /XYZ 90 757.9346 null]
+2584 0 obj <<
+/D [2582 0 R /XYZ 90 757.935 null]
 >> endobj
-2257 0 obj <<
-/D [2626 0 R /XYZ 211.8424 666.6665 null]
+2238 0 obj <<
+/D [2582 0 R /XYZ 192.853 604.83 null]
 >> endobj
-2629 0 obj <<
-/D [2626 0 R /XYZ 90 651.9418 null]
+2585 0 obj <<
+/D [2582 0 R /XYZ 90 589.416 null]
 >> endobj
-2258 0 obj <<
-/D [2626 0 R /XYZ 192.8535 376.418 null]
+2239 0 obj <<
+/D [2582 0 R /XYZ 211.842 359.287 null]
 >> endobj
-2630 0 obj <<
-/D [2626 0 R /XYZ 90 360.3135 null]
+2586 0 obj <<
+/D [2582 0 R /XYZ 90 345.253 null]
 >> endobj
-2259 0 obj <<
-/D [2626 0 R /XYZ 211.8424 114.0649 null]
+2240 0 obj <<
+/D [2582 0 R /XYZ 192.853 89.441 null]
 >> endobj
-2625 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+2581 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2634 0 obj <<
-/Length 2304      
+2590 0 obj <<
+/Length 1416      
 /Filter /FlateDecode
 >>
 stream
-x��Z�s��
�_��F������d���i��\r���r�%�bJ�*I����Œ\�+�H�lgҏ�I� ? K2��GfϔP�0.g���=���^����/�_�^]#�� #���nj� A	�ݮ��	Ad�$������Ewo���i�����侈������t�n��Ň�﮿!�ǖ���
԰\�lH<�#�
o)nL
"LȖ��,�N��\,�����y�ۧQ7��o�bA�<�V�2L�
�<���vk�)�$�\��z���`��0bF��#�`D������ݤW�~��4�Bn�]����u~A
��7�[��j� N�
��B�k�TO�8�v`�t�
B"���E�8G��y�0{^ a���cԗR
l�	�#�{����%Y�K�U�3[2�V�̖��Aj�����<+���;�>�⨸{�q�DWY&yf���Fy:KD�2��ؾX�FT�y>_,�"��x��t��Y+<$A1�sfI��]�@�v\���I�����%4�q�1H*���8���AZӱ���)FC2h�դ�o�,.�*/�,�j�;g�y
M\��Iì����ϐIĹv�O�b�CCj
	�F#���
-I�yM�c\
��
�e at Mܶ-q�%�{�
�d�B$Fٺ�ȳ��G��T�;�hf��bPóF�M�i5�Ff�W�$����P�_|
v�B��C����n�|��
�����������
^v)el�lb��c��g�X��*��d�mS��v/?Ŭ��E�j�^$�ݘv;Է�إD�}���^4��yb7��|��E
X��>
-�i��
��+�h��[�MZ�Q�ݰ��x�N1U
�d%H+N��舖}�!*j��)�����l�����*.ʛS�S�%A�t�CM�D���<9r�ѓ����:��\�#�aI|��.N����xA�
r�TT���o�
��S
��WUG�#F"f�R{�}q�m�a���f;��G6�.G档�/
/xJ��
->�G������î�O���}�\€]
��꓍��#���\
C�;.�Q
�E5<�w�Z�Y!��Sa����zdcsd'%�'�Cɡ����L.(�O����Г�	|��5�]����O(ݢ/���u<�S��ߑuŜ'zi ˎ
uTC�~�ں
�g_�߷�m �t�5���@
-ȯ�U
�K[(F�4m
�|l_�6y�l:�-��_l����4/E<x~��iHLUTq�q���qR�m��1��L�u��mw�X"I&��
��Z@@L
)=�|\�{k�:  z,�Nt8v-�ա��77P�q�C�&뻨x�4�U����v0f��h���:̐dp���v[4Eo��� VC	
-��+
-��f�+(Ǖ|�������u&���2�l�	��>m�k��PI~X��б��9��1I�D=�Á��P�k>ȱ���y�,�2�M�:Ⱥn�H��!]�C�2�硊
-
q���@�!#���8�Eݓ:��MbDeù��6��zC����|8[rQf��M��i�����f���`����Fnoڊ��U�rj�$��3�@�sP��.�s?��s?�Yx�9�Y�������Yn�
�I���~ ���������*Ϫ(�
�i豠5���7���
Y�����;8kĠ�q�y
-�8e�1�"�#lo.m����/]�-h+��/
N��9]��R(��
'��w�γua>^(���WJ
R��B\\)����J-µRG�i�ҨE���@�p��)s�^�Bɯ�^�ι r�.���bi�:6�R��
�Py�M�5���
-ÎBԖr���0%�yp{.�P*&ΛXW>��
b�$��vʪHVU�t�t'N ��n�>�tY�v��0D, ��d�8��cqȀ
�9
-�(�v�$4��gc�)�:�I}��D��U�k.����LhƤ���0i�"GL(�$O��c�	&�W�$@�0&Q�
k���tH�̞IZ!C��74�Ԑ��6���F()��I��
(v�$9b
��ț�s�|�kA�H���˘�bF�J�"T"�K�w�=��<
J� c=1Q�S�%�a��]>R	��aP��>
�F-r��2aP������IW�h�T�>O�'l��PL��7��#
-ے
�m6�B>�s��;M����s��r���s@��w �֞�[|io
�4�-�47+�ⳅ��k�
�������� ��m�C��<ǧ���"���
�<���]����e�
w�y\퀯]��7�׏��hU�C��
�T��}z}����+3�eG4�ų<�)C������./�R�qW��
B�>���o$6nCendstream
+x��K��F������y?T�
�خr�*g��
���X���e}�4
�E��V.{��;�t���G;K;�Ϧ����9I�3�u
v�$HP�L��!!���c<|;"x��kw�vD�0
+v+o��?��؍w�ɳ�f�V��}���zIȞYb8RFä��_���#���&���Yx
�I2S����Co�	�ԳW��[/
=��9\R����������+�!�B!��׃�����
���G�
N�
�w�?�SY���V1�
+u�����+�8�]ځ�ܔ���
�5�%0kURhD�锒"(�r�M��y5��Լ��i�j D��wyސb2�Ga��a��t�Lcd�v�`Lj"c�aX����@�{Z~�"��0�9@�*�]�	�xm�#60�
�o�I�k���a��;Pཁc"8�/��$L��p�w���0C��w�y-F)̎�J�o��n��Q���+���
+Q&�X1k�#��ҕ��_5�A	$�<��aJ �*ҡ
*%5&V�A)E�{ˋOso����I���H�
4R؀-S�t�.&?
q<���b��˻���4�6�xE��*�FT
�a�����ħ?��};D"�:u׈�Ps��
�N@ͱΣ��M���C-�fL3���0�X�����B�cZ!*X��MLg���4���{�
�4�W�	�N�؟��n6.H�`eh�$u�,�̞�m�1�>p3�Gn�G���1t���]��d����wYF�n�0.Ғ>�)0�A�-����7�8�[1N�d�=+
��g�΢�VȐN�g��.�i��~ ��d��"?L+�K+��v�m����Ÿ���=S\)�x���w�C��C���eO/�Ҝ?
��!�y�z���pN�MD�]��E���7�}Hc��o���9�}��9p�U�i5����yή=�¶��!:P�����.��9��	�l�O@�}YfC�m�t�����a

Wq�JOY$��_� [...]
+�"�#��=²E�Fcl|�yE�6�����A.p�4��8�3�J����j�ݢy��B#?��l���UU[��.���m��uT����:���$�Z��`
+endstream
 endobj
-2633 0 obj <<
+2589 0 obj <<
 /Type /Page
-/Contents 2634 0 R
-/Resources 2632 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2614 0 R
-/Annots [ 2640 0 R ]
+/Contents 2590 0 R
+/Resources 2588 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2561 0 R
+/Annots [ 2587 0 R ]
 >> endobj
-2640 0 obj <<
+2587 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2635 0 obj <<
-/D [2633 0 R /XYZ 90 757.9346 null]
+2591 0 obj <<
+/D [2589 0 R /XYZ 90 757.935 null]
 >> endobj
-2636 0 obj <<
-/D [2633 0 R /XYZ 90 733.028 null]
+2592 0 obj <<
+/D [2589 0 R /XYZ 90 733.028 null]
 >> endobj
-2260 0 obj <<
-/D [2633 0 R /XYZ 192.8535 467.0689 null]
+2241 0 obj <<
+/D [2589 0 R /XYZ 90 642.023 null]
 >> endobj
-2637 0 obj <<
-/D [2633 0 R /XYZ 90 450.9644 null]
+2593 0 obj <<
+/D [2589 0 R /XYZ 90 628.017 null]
 >> endobj
-2261 0 obj <<
-/D [2633 0 R /XYZ 90 347.5709 null]
+2242 0 obj <<
+/D [2589 0 R /XYZ 90 531.507 null]
 >> endobj
-2638 0 obj <<
-/D [2633 0 R /XYZ 90 333.0006 null]
+2594 0 obj <<
+/D [2589 0 R /XYZ 90 517.5 null]
 >> endobj
-2304 0 obj <<
-/D [2633 0 R /XYZ 90 230.2298 null]
+2243 0 obj <<
+/D [2589 0 R /XYZ 90 420.991 null]
 >> endobj
-2639 0 obj <<
-/D [2633 0 R /XYZ 90 215.6595 null]
+2595 0 obj <<
+/D [2589 0 R /XYZ 90 406.984 null]
 >> endobj
-2305 0 obj <<
-/D [2633 0 R /XYZ 90 112.8886 null]
+2244 0 obj <<
+/D [2589 0 R /XYZ 90 310.474 null]
 >> endobj
-2632 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2596 0 obj <<
+/D [2589 0 R /XYZ 90 296.467 null]
+>> endobj
+2245 0 obj <<
+/D [2589 0 R /XYZ 90 199.958 null]
+>> endobj
+2597 0 obj <<
+/D [2589 0 R /XYZ 90 185.951 null]
+>> endobj
+2287 0 obj <<
+/D [2589 0 R /XYZ 90 89.441 null]
+>> endobj
+2588 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2643 0 obj <<
-/Length 1910      
+2603 0 obj <<
+/Length 1666      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�6~������
�w�zN/h��sҾ�=KI�ڒ+;'�ߡu�(�t6q�yX�!�<�?~ߐL)���ҩ��X.�t����
��~��
�~�7xw19�Nɩ%V15���{P@$6�H?� �@)��2:K�ur�˜�Y�z���*��W~U%�����o.?�&�l���dz� zn�
-��ᘆ����ċ
�0nEcqpb	p��
u�~�l����Y6�֛U���;�묚��e�oi���2�s��EW����+p��s��3��X�'�pk��
/(k�t=�����ɯ�����B�"�?e^'TI��
�h39�vt���9DJ��F7��MV$kW'��y��H�Ld"�ӭ�-�����C�Y�eQ{	��b$��q��0D-(¥�.��VJ88"�D��5t�\���U���.�b��/߻�U����j�V�1+qA�+c�-�5�P{���}�\!L[�Oy�ʋ�sm(Y��
�-@ń���C����f��n�S5�m�ߖ�4/nꋫlw�eE
����f�K��@ƂX� w��6�,�Q��I��[>�z�_s™`~�=�X�[j!C0�P��WBc ��[�E�j���%X�Њc�.��Yf�}uχ��2�#��$:�q>�(��ѫKc�K���b.��K���ˤ��[guM���!ʱV�"��8j)'��g/��۪�39�/�ί��p�q�� [...]
.��UF
�R-HT���>��������N��7�]�]
�~���-�,o��T�� `�	i[���K�/%����Ǐ�k�op��%�D�l��ou����D`�'�(x��GY��3{
�G+�H��d���%�F��0��$��vnB�� v	�MX �� 3��W � �Uɮ�b��r�M������?%
-�|�������t��9�j���h�p���q��[
�~��J6���p(x��GY���3{
�G+����d���%��?*��P���g�0k���_��
��������I�Z���\��^tnh\%����†�
�� ������h�.�fR;
-G���sŤ��� �
4׬����
-�ϱ�x~�@4�
s"Lׅc�sl���g�-��X=���_3�0�F���;�j�ȷ�Mx�D�Cj�����t��*�	�;qA�[
h�?YB�#�0�",���!Z�GA%/�C��O�'�
Š��ْ��v�,��݀<�D��
�'������
-�Ê����A��0(����S�����,�8=(�����J�݁���>��� �!�Ƀ��!I��E�
��
-VeX����T�;����S�W�1�0+�@>A. at X�pI�ہ��t뭌e�q��Э��ǤȥD+Ŏ��v�\������G�*Ճ� ��:��V�I8�p
���S+�-�٩ԂS
0H<���բouX-
�
-͠�_�.�]VE#�@D1F���3�f�
�K
�2��wV㠃C:M 
�A/�j�����p�x!s�O:��AQ��
ҁ���{��W+?�6Gn����\�C���_�#��YEЁ����<���!c��d�f��%�y�%FɄ{	/�~/��>���n��Ѓƞ�x�K3J����r�K��p���K�4��D�r
��>�k��F�Pn��Hn����ru����W"��ɪ��n�)�]���
����n/��R+�XxCZ"%>n���Uc��/j�ߐQ1l�7����E�6	���徏i.�F��l����mV}5�r����Iq��
{�/��y�ub��)|C_�lX�[T�A����c�~��q���_Ԭ�{�
�uc���6�gg���d�%wE��H�;�lVgü�c/�ml���(���(��	/���|u]��,y�7�����-Ʃ�\��@endstream
+x��Yَ�F}�W��R\];�E�5�d��t���hS�F�@ O���\�X
+㥷�(ʓ1w���*��r��������d�BJR�_;
+;�$HP��ŔDfs�1���<����vF�4��7:���«�϶����o�T�>��9{MHO,Q
����ԯ�%�f��͂�
+&��
��"��|6��0E�z�F~��;���fě�x	�\��T�R������	)�!U4��\л\O.>`'��o
�8s[�Z;�2�����_&�`d)CX�.���O&�Ec��
}�P��F���6ձ�.}��h(���H,�͊�$�ji*�C�=R=��E�9;d���b��y��a��k�9s)�ܙC�0��

�[Y#~�W�1]��T�]ڈ��gc�3D�
+�������/�Ip���"��0����A.&`��$x���.6Y��P.C�ks[d="��rL�E�um��EG��
+
�
Q&w�ak��w��`���FS���~$%$Q�.������ڌ7a>fC��U��4� ys�(�ԅ
�0��z��_K�!��^�XUB<H��D����"X,�K�!PQ\��j��q1�Ʋ[	�Z��o�dF��6>�N��2'�I~����Ҡd��9xo��z$UZVz���9W�1a��̡u\!m�O���`$�p=� ��WK�L ��0>%HyKK����BO
S�S?.�GEKH��6%Uk
����_� -�6��z9b�Wq���Fy��������kp5~<
��j�e���ڶ�`���
��O,�����n��B��}�6�Z�5^%�8h�3   X�I��b�����q�ƚ�� �=I��VF]Ș2�j�JS��]����
‚���D��D�z'iu�Mܯ�s�q
��
�~g�
���0�@Z��%܆Qd��C���lWq������v8?;�b�my�*A���Q�.^[���R*=ؓ�ע�+�Zj��c�����D8�e�N�"�1R�\2M���g�
UUVV����_K[Y3��K �k?j�%ߤi�M�]m���YW�H]��b3ή
+IF��U<)��}�J�
�>ru{�Rڃ�U�c��c�*�;�Rv���G��P��0�����,���fzͲSh��B��@yx������,���,K{���!/
�|@
��W��(�8�x�\ﴍ�
�L�h@� '�v&����y�o�� n

 �|���F�<��@��ē�	�^��g���
���-9��g+/uZ�.�҂�

���Z�7�&8���j�J����4�u�;h]�_�:�E?�:�$�-;�
T ˹e���R��=���9������t�O,ħ8���`��6�W��Y�z<:Kq�<�չ\�XemE<L)��^�5M5
�� %�e�q�nB
�#���Ng~�$xI1�XcөǾ�lR�'�-V������taUܞ���(�V�s�w���;t�
����oqj~�@��}����<��A�~��t�S�o�v.�tu�����J��d�D�4?�**�W!
'~�>��g)v���P��|P�o��J�5�oC6�_��������˙S [...]
+�ި��x
�QY�N2�|���j�I�?pC՟
+endstream
 endobj
-2642 0 obj <<
+2602 0 obj <<
 /Type /Page
-/Contents 2643 0 R
-/Resources 2641 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2614 0 R
-/Annots [ 2650 0 R ]
+/Contents 2603 0 R
+/Resources 2601 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2561 0 R
+/Annots [ 2598 0 R 2599 0 R 2600 0 R ]
 >> endobj
-2650 0 obj <<
+2598 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [88.007 272.362 138.508 283.241]
+/Subtype /Link
+/A << /S /GoTo /D (deprecated__deprecated000023) >>
 >> endobj
-2644 0 obj <<
-/D [2642 0 R /XYZ 90 757.9346 null]
+2599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 252.272 314.566 283.241]
+/Subtype /Link
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-2645 0 obj <<
-/D [2642 0 R /XYZ 90 733.028 null]
+2600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2306 0 obj <<
-/D [2642 0 R /XYZ 90 635.7621 null]
+2604 0 obj <<
+/D [2602 0 R /XYZ 90 757.935 null]
 >> endobj
-2646 0 obj <<
-/D [2642 0 R /XYZ 90 621.1918 null]
+2605 0 obj <<
+/D [2602 0 R /XYZ 90 733.028 null]
 >> endobj
-2307 0 obj <<
-/D [2642 0 R /XYZ 90 518.4209 null]
+2288 0 obj <<
+/D [2602 0 R /XYZ 90 644.917 null]
 >> endobj
-2647 0 obj <<
-/D [2642 0 R /XYZ 90 503.8506 null]
+2606 0 obj <<
+/D [2602 0 R /XYZ 90 631.171 null]
 >> endobj
-2308 0 obj <<
-/D [2642 0 R /XYZ 90 401.0798 null]
+1202 0 obj <<
+/D [2602 0 R /XYZ 90 486.475 null]
 >> endobj
-2648 0 obj <<
-/D [2642 0 R /XYZ 90 386.5095 null]
+2607 0 obj <<
+/D [2602 0 R /XYZ 90 472.729 null]
 >> endobj
-2309 0 obj <<
-/D [2642 0 R /XYZ 90 283.7387 null]
+2289 0 obj <<
+/D [2602 0 R /XYZ 90 247.883 null]
 >> endobj
-2649 0 obj <<
-/D [2642 0 R /XYZ 90 269.1684 null]
+2608 0 obj <<
+/D [2602 0 R /XYZ 90 234.137 null]
 >> endobj
-1238 0 obj <<
-/D [2642 0 R /XYZ 90 110.741 null]
+1203 0 obj <<
+/D [2602 0 R /XYZ 90 89.441 null]
 >> endobj
-2641 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2601 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2653 0 obj <<
-/Length 1994      
+2614 0 obj <<
+/Length 1713      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~ׯ�S+�x����&E��v�}�,
Z�m"�R�ί�qHq��P^;A������3�6�96�c�G�ϕP�0.���
����?ψ{����>�����[)�I���� A$(����D�+�1^�[�H�mr�nI��<�gi�\�5������������.[~����[Bzb��H��
+��
��L0��p��
-1�0!
�I_o��~���4C�v�I���}v�UK�Y����aba��9��s��`�Xw�{�������g1���
0"���v�)k6��vr��/��";'.�!,��"��nO7t�栙���R\+��vY�l�)�`
�=���!�u����4�^�BI�M,�jY$�ER*1��
� ��I�^�,l�b�"
����Fr���b_WI^��I�^o�"��?�,�
| 4�_w���w�~��cjHs�Z����S�堂8�'� M�p��y�ɋ�S��
�+J ?ذ"
-I���JSW;I�ߺ���=5O�m�iw��
�^J��Ӯ�]W��Fh}�ܷ�C^�oʇ"���!�o�T,��m;����i�w�Bꥈ��H�=��sd4i=\�����P����vt�:�@�@QIA��o1�
hX��@�1����(�����~��%���T5�)FITw*�cm��e��&�}p	��m��.bP.��ƥO���t��6�*rG�h��R��om��M8���x�D�l��t�:�b��%&���U��
zaR�Oߡ�J��(zB4�^�qY�t��Do�{h�Y��+���5?�cQ�^'�T�|	��f����p͵ItW���>�
BB'��
ώ>j<;��
����?�lW�e��B�#�1�"�
̚����˼Xr���l��:��
�Yӊ=��J��cD=ҡ���}3$��su_�6��$W�‡͗sD�8����֫�v�����^F at Z���]dg
yH������={��r�K��fc�)�(�е�0\М���։�d�!�V��
�h�x	�M6m��v����2�y: [...]
����$%R��hs���/�
g���0^�����|e�1��
-̤L�M71�*�=e
�3$;$@�p�W#
��{U1�We��^U�|�����z�Z���Yk�I�A1�7���j{U;�/߫����q����Іp���
��d˞>j���B"F�~=	���o�6AO��?ғ��0=�=�J 
Nu<@}T$@�2��ExT�1(C���t���]8
a�
-����K��q��
�R
�����`_F��
9ҿ�1a�����ߣ��1���W[yB�EF���C=c�ٗ�ҕg�ԑ�g��/<=N�;�}���3��eg�����:��0H��,��"�|��
��Gj����$$�Z��$��
��ޣv�p��
�<�a�y��>�~�b�.��%�C�9���V�.(`*�����0�QT�P at k=5o��?��x��
��7�{�xځ\{����]^\<>>��
=��By}��m.Ib�W&�U��y�ii��ܳ��jC~��E"/���!�)t�M�Д�=A�endstream
+x��YYo�6~ϯ�Sk5�C$E�(�g��ݸ�C�0d�I�ʒ*ɛ���#�:-�	�[��-��\��|c���η/�osR�
+gq�(�HA��Y���D�3�1���<񳍿|?�x�D�;
d��p���n>�zyu�z�q���-!�c�r�T
�N��l�I&Q�ް9C!�x��S'���<��(�p���I#��f僾�ٔx
�aI*�'�-��x�����)�!�7�D�7����;#��W�6�K|G���/��g)CX�ֳ�!"�{�Z�}�=�c�
]Uo(v���
&0u������%CR�z�*I"s��@@�8���1�	EB
U��E�a>��`9+�93�(�X83��6�$�Ͷ%�~
,7a
n¿-P~�
�0������
#^�x��m�ַ#**��� ��=�s at G��z�uGa�?��
w6�(�ȥ`�D���",�}�N�2t;s��ԫ�Ac @
Z�N\�M���
[�Y�
p}Hf�ܨ�=$P)�qf#*�Hy��~�#*Bҩf�WF��r��t��
+T��:���Q�G(�.�����d]��|�{�=��!���C����;O
�ͼ6;j��T�QX�k� 

7�Aa�z&}���$��{�0��Aͳ7~��X0��l
+Uhyg�G���A`�M

���n*��q� �y}�����i&�#c��‘�|
�SO>�Q,��v��qq,���6�wY2�|rOg�������2��9�@vh��R�� ��
� 
zXR?��� W���Y��M��*Ґ~̥�$+7TAZ�G3fz%�	���uanƉEKq��Q��|��IVh
��n �����U?�d�1 �$٭e
+�a�b(Dz��:5�c��#�o�򮴶�up�+�_�Jj“�+���K��e�
t���Tg~�dyOQP ���H�*�=,�$�{V�#�
��)�Ӷ�Oe	O����d�C�)��)����Kt�" �!rc�/�:m{��I!m]�G��U��8�(c���!�):��o$�}��6��F���ClV�6�@1���
�h��4.i��)3 �s1�fӉ�O)�Ny^6C��=X���)�a��#�8#��ܺ�Ȭ��fKmf��
��=h�,UM�\ibU��Ū+�Xat��P�vU�yH0�O��6N�S<k�'<����"T�T�"�9 *���KEFj�DXz�rT�9Z��� ����
���qXX�Nh�a�����ź CV	��b�iJ��]������a,{	,���6�>�6Mۦ����������H�
�Kw�H�Ѷ��^�A�T��^�
ҫɃ�X"���u�ޓ}`���3��HI�Y2yt?
.��Vי����ֈ;]q�
��1p��q��
+����U���77��r<R��	��Y5�xj�'g�@�����l}�}��/�˾�(�[9E�ʹ�N�G��>
y'���_~�o7�.0Bj2w�~l~��C?h
0q�p�E��m�X�v
�>��FV at f��Sxa��h����Y9�ϖ�)�[�þ՛Av�A��.��7�e�I5�֊�Nƒ��
�S�?�B %�g�g�
+q�
+��2�%S��5U2�v�a.~�u����~�-=T��O�QЇ��F>i�	+ك-��ʘ��S���̐[�).�DM �"�_^��ߣu��q�f(,.�4��Gf{
+�\�My�)�]
��L׍ 7��k/� )
>+endstream
 endobj
-2652 0 obj <<
+2613 0 obj <<
 /Type /Page
-/Contents 2653 0 R
-/Resources 2651 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2614 0 R
-/Annots [ 2656 0 R 2657 0 R 2660 0 R 2661 0 R 2662 0 R ]
->> endobj
-2656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 530.0183 138.5077 540.8974]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000023) >>
->> endobj
-2657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 509.9287 314.5657 540.8974]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+/Contents 2614 0 R
+/Resources 2612 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2619 0 R
+/Annots [ 2609 0 R 2610 0 R 2611 0 R ]
 >> endobj
-2660 0 obj <<
+2609 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 115.9568 138.5077 126.8359]
+/Rect [88.007 524.436 138.508 535.315]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000024) >>
 >> endobj
-2661 0 obj <<
+2610 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 95.8672 314.5657 126.8359]
+/Rect [123.594 504.346 314.566 535.315]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-2662 0 obj <<
+2611 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2654 0 obj <<
-/D [2652 0 R /XYZ 90 757.9346 null]
+2615 0 obj <<
+/D [2613 0 R /XYZ 90 757.935 null]
 >> endobj
-2655 0 obj <<
-/D [2652 0 R /XYZ 90 733.028 null]
+2616 0 obj <<
+/D [2613 0 R /XYZ 90 733.028 null]
 >> endobj
-2310 0 obj <<
-/D [2652 0 R /XYZ 90 503.5029 null]
+2290 0 obj <<
+/D [2613 0 R /XYZ 90 496.525 null]
 >> endobj
-2658 0 obj <<
-/D [2652 0 R /XYZ 90 489.3899 null]
+2617 0 obj <<
+/D [2613 0 R /XYZ 90 482.16 null]
 >> endobj
-1239 0 obj <<
-/D [2652 0 R /XYZ 90 338.5844 null]
+2291 0 obj <<
+/D [2613 0 R /XYZ 90 315.213 null]
 >> endobj
-2659 0 obj <<
-/D [2652 0 R /XYZ 90 324.4714 null]
+2618 0 obj <<
+/D [2613 0 R /XYZ 90 300.848 null]
 >> endobj
-2311 0 obj <<
-/D [2652 0 R /XYZ 90 89.4414 null]
+1204 0 obj <<
+/D [2613 0 R /XYZ 90 89.441 null]
 >> endobj
-2651 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2612 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2665 0 obj <<
-/Length 2032      
+2627 0 obj <<
+/Length 1623      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�����_�O�D{���C��� �k���x"uG�"U��U����.)R\Rw����0N$�;�3��<��c�G�ϕPH3.���
����w3�
����+�j=��V��FZR9_��$A�:_G�� �\���͒�EX��͛%ŋ<==�Qn���aq��}�z��!<���n�%��,�
)
00ì�G+��L0�Ls'��,�aB:���.�u��rE��4]��CV���6��Œ�8��-��Xhn֜}�n
��)�$�]���������FLb���|?�5�����:�A��/,���ą2��`m\C$p����
�p��Ȅ�R<PN�:
�,܃S$V�8H�fL�A�[��8y�?
FI"��j�zF�"p1a~�����0�6+#6_1M� �W -�E�yVVE�d��ۏX������}�yw*!T��V�V]�E��&��c^��n�����CP at I���I�&Y��
-
-�\�eT�'�$�~�OQ��R=���2�<�!�q /��i$
q�ư�/Ԕ
�;��.?fQ
ً(�-�X@���u�D��,��F�ÄI�H�2�<�s����!��)�	n����@�@h��HI������RÌ4 ��Z2@�Q�r������R=�)F�W���VzhH��*�y�sh{ډ��Q:��Vj�����֗Z�%L�>������
�4���0$p
!(?�wrq�bX��V��;-����ʈSFe��T�� I��~�H0֌@G@�_9
���t ��;��g��?���	�
���3f�Ut{
�����0M�MX��qV
���>�'=�J
��'.f
��3f�P�&��Tm�

�+�~��!���ɄY�+�
-a�ԕ�)�l�S�Ycz��K�*ɶ��V�]i
�E^�tњp��ʚ�C�U�9���?p�i�:�`ms�.�u��2���l\�p��N���:�a
-�c���pȋ���w��>�굓���m�
T!O˄�
�70᦬�>��/F��g�(u�D�_�D/@��5��B�,N,ߞ�i
m���94* .�9�|4�B��
-��^�F��<*x���}�3�%
<�Ⱨ�%~�.A9�J��t��J��<
H0L<�/�
��{K�}��—&��K�~��Ӻ
�n��:wN��K�#>x��&����A���������O���vIĢ�<�����˺R�
ц�>����O��Ҋ|6b?��Mz�����yYϘ�y��+/��� �O�VWj<��i�
���R
-��Ins20�_���j`B?&M^�b牕�E��OaY
�uʛk�L��df�Ý{iF��^X{��Y�*�@ٞ�
�SQ
�0Ŗ�c�֚ظ��I�{X�ձp/���g�����,\#�@�(�Mo.�]ܠ)���i�'W|/�;q^u̝w�;ſ(sc̝���i�D����<��}2k��5�~V;��e��Ӣ7P97�$K���O=�L!N���ݜ�s�~���e�A�g#�z4W���]���N!�s᭩Gu]�`M���U}��˖Z1��e��
��I��!qa3���1k�^�
w�Ǵ�`(j���Q���
ܕ�p01,Ϛ�|L�z`����bW&���'��V����:>�ؾW����w0:�G
j
���@Wj<ZD)�E���v}ʧ"ui�H���7CLz�<C
���=c~�!~K3�@$����
�,�����=��B�^+S�ײ��2�x
�!fh�v�y�4� ��+0�8p8m �5w<K;۞�HZ1c�8
��7L}'���I_S~�fM�l,��7?�0�H/����M��|�e?���qVy1h

(��0#L�a�J]��p5/��x.4�����V��������;2�`jҵU"�X�~���^o
I2#��lf{�{��2.��b���av
�3��h�2��Lņw�s;����A�w�}�Ӽ����>�V�7Rv��`]�燪:���<>>�m��Yr(PR�
�� '�lp���j���<�i�,�=[vf�6>��E܌	ps_�z !�5����[�xendstream
+x��Y[��F~��ੵ�xv.
�XU�\���4�U6�5k�6*x�������$^)Q��b�0���s��
��4zv5�x�1G"�QϹZ:;�#�S�\���D&S�1
��<V�F��L(
'�n��L�
o2��f�g/�k�������9X�H	��r�*��f�uk���5$"��?��<Ry>�R�a1I�z�F��Օ�z��	��:^�%!Kn�
��}X;��H���ft�
;\�`����Rj㸔�1r.G����R��Ǜ�"�(��-j
�=�]��Nlte-P�R
�
8�a�J#�d�7�
	��7IU�}
�@�R�g:���N�nb���ŢF̙2Iƞ3��Kn�H��T�\��|��&��"�
渔�N��痻
RV]��2C�3(ȥ�6d����#*�iU��
�����B�a
��~_	r| ��]�	�A%�<
[���t�qu!�{�B�b����H\�{�"���"�,��M��
T'A��P>�Z4uh�	�;�i
ƫJ#m�ÔM�0�1�E��G�X�}�C)J�Be�����ҔQ��rJ!&�򑷺�B��8�u�n��GKH��0gճK��(F{@�6f�J�8�ٌ-;��t��,HCIh(�n���8�D�m�l�C)t��YG��'=D��m�@�k�tu/<����݅Qdqd���u0�=(v�
r������.tZ�I���ɦm�E0�A�x|��0��l���8��H���,1��Q���. �c����<��m ��j��*y�)y���� �s�4��&UEx�'�&'Y�.*�l���ʚ���"�4�� ��	���n�H=�p�n�H��{	�a�����m�&YQ7��]�ܞ��r娫�V�U��'�"���o���bh՝��B�9Y(cA?@ہ��6>/��OvMp�K{�Vf��Ԥ(�;N�
�DH+S*�>��#ՙ*��]�uK�
�-ݦ�h!�!9H���! [...]
+Ԛ4a\E:�����C�
m�0�PX\�itq
�f4��?K��]j�麰�⦜oGI��7)�
+endstream
 endobj
-2664 0 obj <<
+2626 0 obj <<
 /Type /Page
-/Contents 2665 0 R
-/Resources 2663 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2673 0 R
-/Annots [ 2670 0 R 2671 0 R 2672 0 R ]
+/Contents 2627 0 R
+/Resources 2625 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2619 0 R
+/Annots [ 2620 0 R 2621 0 R 2622 0 R 2623 0 R 2624 0 R ]
 >> endobj
-2670 0 obj <<
+2620 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 117.5161 138.5077 128.3952]
+/Rect [88.007 528.286 138.508 539.165]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000025) >>
 >> endobj
-2671 0 obj <<
+2621 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 97.4265 314.5657 128.3952]
+/Rect [123.594 508.197 314.566 539.165]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-2672 0 obj <<
+2622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [88.007 218.324 138.508 229.203]
+/Subtype /Link
+/A << /S /GoTo /D (deprecated__deprecated000026) >>
+>> endobj
+2623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 198.234 314.566 229.203]
+/Subtype /Link
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+>> endobj
+2624 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2666 0 obj <<
-/D [2664 0 R /XYZ 90 757.9346 null]
->> endobj
-2667 0 obj <<
-/D [2664 0 R /XYZ 90 733.028 null]
+2628 0 obj <<
+/D [2626 0 R /XYZ 90 757.935 null]
 >> endobj
-2354 0 obj <<
-/D [2664 0 R /XYZ 90 571.0943 null]
+2629 0 obj <<
+/D [2626 0 R /XYZ 90 733.028 null]
 >> endobj
-2668 0 obj <<
-/D [2664 0 R /XYZ 90 556.7007 null]
+1205 0 obj <<
+/D [2626 0 R /XYZ 90 500.832 null]
 >> endobj
-1240 0 obj <<
-/D [2664 0 R /XYZ 90 344.6391 null]
+2630 0 obj <<
+/D [2626 0 R /XYZ 90 486.55 null]
 >> endobj
-2669 0 obj <<
-/D [2664 0 R /XYZ 90 330.2455 null]
+2292 0 obj <<
+/D [2626 0 R /XYZ 90 190.87 null]
 >> endobj
-1241 0 obj <<
-/D [2664 0 R /XYZ 90 89.4414 null]
+2631 0 obj <<
+/D [2626 0 R /XYZ 90 176.588 null]
 >> endobj
-2663 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2625 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2676 0 obj <<
-/Length 2157      
+2640 0 obj <<
+/Length 1831      
 /Filter /FlateDecode
 >>
 stream
-x��Zݏ۸߿�OW�����(h���wm/���C.0��v-T�|�����w(���L'��������p�7_��
�?2�x��B�q9��o�����
��KX_v	^�nn��b���T�V
I����V�sBY,	�x�vA�<.�����y��vɶ��I�˸<�ݽz�~��������	�%�#�#j�hIz�	F�in)VL4"LHK��U����K*0p�t��Y\'�7�\�h���Ji&�Z�7߭���=�Ę�כ�l
v��#�#1{����t��ᔹ�����ϞO�м0�A����2��`�/�!�S�ݍ�q��H��
-)
)KP�I
��(�I?H��(����R�E�r{
��:�!5bY B�")����"�ww�v�^�ْi�08`��k!HC҂hs�d�v�)�.�4��u�o��4O��-�~������
-��.}�j�UG*�� �격&����s��X�.�6�ı���Y�'[B�љpIC��%QHRΛ7����0�wv'�}�_���`�y�a���I$
q.�;�b ��X�x� ƴ�J�:��lBA�tD
\�]:�"�&����i����ˤ:f5�H L���k�"��TpD�.�8DP���T(b��׻�>�<���	�H1J��=Մ�
�0D��37#�!Ϊd�z
ܠ<�S�C
�<;Y =LZ�.ZWC��O
)�
�%`�]��(`^�M�i���[��
Yx,>d�
z�Ζ�
D=�V���{���~4R��
�\�c~
�.r�--d�d�&“GHhB?#<���'Z,xj�eyJi�%!��K'����o�lL�5E�"6�M����٥��Nc�Q�m�C��؟
��H�ilz2�FUo����
�?�Y�]���q� ^�J�I��-������
>��Y��bA��)�&��a�a���@�D;4��6Q��J�+ �\:��eҪ�M���w��b���>KL%Rb^�S�h�J�����!Pj�����K��@9��ӷ>�:���v�f�O�ya�
-@�>�\����CQ�.Cܟ���K�t���m�Q�C
�������T�Ђ�F�ֵ�j���} �Bt�j�B�'>�
����P[-�'l��&��3��u�����ý}io�듰��O�l*`@I
.��Š���MRU��
-([mc.��b�X�žh b���N���~�<A�K� /~H
��	�0�H���ZO�J�(D�M}C`�.���.�,J�\C"�XrDF�7���
-���H
�Ly��w�#C4L�&7vt���`�dF��I2R
:! H߂
d��	�l�֟+܌np�K
�71%n�ߝ
<�O����
�J
�C!5ba驮�`̭m@�3ڒRϒ""T����	^]��)�}i�מ�	�"ݶ
�=�qm���we��|y{�O]�{,��,�:��M��>���W�vAFU�c�<V�{�ы��r��>���>Ղ3���z^��19���;����>��/��.�f����r%��|#��O.����X�W(�ᦡKu9�32���?wZ�R ��G�L�䞬c�~:�S^p��j,v��l�G}����d��mд�i��fȗ:bC
�
�=�`�_C5���0ʺT�an]|��7%<�����d�m�
Z�<������z�t�>&؅�f��9T�S���}��&�%���ڝ����>��
s�P\��i��ψ�m��>�Rx�w�}�ޯ<�
�)���"S�������Bd�J]��m}��P��*L^�BDD��;�W�.6��d�ܦ�q	#�x���RD%���dɗ]���;���ms����52�62�7�0��9��;
�
�5����	W�{c�����j�ڜ ߷ �
<6)֛a��g
-��9ͺh4�O @@~�
b��B~��
›
ޗ;� Rn*
��Qt�>�������'
�Q�-x����ϯzF�B�"��1��VU��H���	i���B
-��@4�<�8S����LM����S�w���$YS!�+�����߫���B�������1��u���e���b�
-�����FX�7P��ϙ���y���e�
w�z�툯��w��OOOhS�c�
J�ַ�Cv;‰�
�v�qKO4ҥgyIs��{�<���檻(7�×��#5�9cU��w�Qendstream
+x��Y[o�F~ׯ�S�����
4IS��l��>��0����T\���
gH�-�H�}	`��px�\��
���=��]��,PHI*��@� �	J��$x��|A0��9��.wz�fNqXd�[��z�S�.uy�\>�z��{3���+B���Q�b8���O�ep2���v���
��]��"�U5_P�A�����3]��1�ġ�7�)&B%���w׳3Rp@o�Ep�f7{�
	��`����f�.���,x;��
{��=
+�1"*��)�����"���c)W��864FV����NDU'�e��9?�,MV��=�L^^��إ)��|[s*»|�`����1=֞s��h���3�c�8Rq'�ަ��38�F��.�:O&�)L�=��I9q�%�.�S>I��
+<�H�M���:]g�<��(�cI�ӢnO��:�+w�����Q�l��Evޖ�m6��f�.S��yQ��2a�����V���(k��۵_��^��~_Sz�eR�@-4Q"
��d$Xp�b)�G
Q�
�nk�c��Ε1T
��ߛ\�@-��dQK�H�
�U�P�vǺ(2'��� y��N�N(����݆�R'�j�DQ@�D���ZAA�vi���?}P�Î�gɋn���}!s��85pAy�x,O2{l/���d�D�iW!��<Ks�~�L4bH��!I=�=7[mC�qNDhl�s��������o�ςw�<
+�ӎ
s�x��
ߴ�w�?�7�����un垹r���T��N�[w�T<o���)M}(sI<�s�ބ� BW57:�̄�E N�.@�&�
,�-"��:p:�j���K�QG�y��,BA�(G�5�ٻv����[�����֘3���u��R�}��G��d2��i�-���;~ݛR�EY��`!C#¦�QD�
BD��%DT]~�8X����ɨH�%T<b
�b,>*���w��� 	zT|B�A�`�W(�
ł{(�F}�$ހ��`Y
�,�#X�IJ$�5r�W��jP� ��Z����ҙe��RÒ:�;0�)�&��y
+eI
�lC#z:�M
+� 59�"��PC�)�ȗc�
(w����EG�y����+�]���4����o�<o8��V�Um��ugw������S��a�-�sd
C=� ˕U������/Uj�2,՝�
j�5����M힏4������u*�:}���Ii�_ˢti9~�� '9x�\�
\����{
+�-n�p���ڿ�Ӊq+�4�b$.��R]x{w�
++@�����9d^�ҝe��m�i���^�������ʄM�-��$���7��eb�+��=L<����S��3�^�g��O�[%GXF����G��X!"Ր��έq���1�|���z��b���3�{�aMu<���``�c�tq4Xa���h`U��:=�R
�L�K�)Ğ!B�h����T���_gT��
���$��	���Jp:�Z���0
K~�d��B ���K�zty������:5�jwi�]�S�C��<�
S��������8)�l�G"�d���u���iO�S���Ü>�wBN�#K�ǀ|}�-Z8w�ʦ:j����'-L w��ߘ�hXM�� ܝb�xO�?u|"��l� ��ˌ�g��TD?ܘq
��Z���M������gC	~">��ۼ(ǃ��������c?�5���^�T�b�AS(p1Y��6s�B���!w���@
���
z������v���:�v?��f+ӻ�o-μ��Տ�&�z����>߶u�_^]��ݡM�y�/Q [...]
+endstream
 endobj
-2675 0 obj <<
+2639 0 obj <<
 /Type /Page
-/Contents 2676 0 R
-/Resources 2674 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2673 0 R
-/Annots [ 2679 0 R 2680 0 R 2683 0 R 2684 0 R 2685 0 R 2686 0 R ]
+/Contents 2640 0 R
+/Resources 2638 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2619 0 R
+/Annots [ 2632 0 R 2633 0 R 2634 0 R 2635 0 R 2636 0 R 2637 0 R ]
 >> endobj
-2679 0 obj <<
+2632 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 462.2963 138.5077 473.1755]
+/Rect [135.616 620.655 327.1 631.559]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000026) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a) >>
 >> endobj
-2680 0 obj <<
+2633 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 442.2068 314.5657 473.1755]
+/Rect [88.007 584.279 138.508 595.158]
 /Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+/A << /S /GoTo /D (deprecated__deprecated000027) >>
 >> endobj
-2683 0 obj <<
+2634 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6157 197.4722 327.0996 208.3762]
+/Rect [123.594 564.19 314.566 595.158]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a) >>
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-2684 0 obj <<
+2635 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 160.0024 138.5077 170.8815]
+/Rect [88.007 219.431 138.508 230.31]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000027) >>
+/A << /S /GoTo /D (deprecated__deprecated000028) >>
 >> endobj
-2685 0 obj <<
+2636 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 139.9128 314.5657 170.8815]
+/Rect [123.594 199.341 314.566 230.31]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-2686 0 obj <<
+2637 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2677 0 obj <<
-/D [2675 0 R /XYZ 90 757.9346 null]
+2641 0 obj <<
+/D [2639 0 R /XYZ 90 757.935 null]
 >> endobj
-2678 0 obj <<
-/D [2675 0 R /XYZ 90 733.028 null]
+1206 0 obj <<
+/D [2639 0 R /XYZ 90 683.228 null]
 >> endobj
-2355 0 obj <<
-/D [2675 0 R /XYZ 90 433.2404 null]
+2642 0 obj <<
+/D [2639 0 R /XYZ 90 668.855 null]
 >> endobj
-2681 0 obj <<
-/D [2675 0 R /XYZ 90 418.6701 null]
+2293 0 obj <<
+/D [2639 0 R /XYZ 90 556.318 null]
 >> endobj
-1242 0 obj <<
-/D [2675 0 R /XYZ 90 260.2427 null]
+2643 0 obj <<
+/D [2639 0 R /XYZ 90 541.944 null]
 >> endobj
-2682 0 obj <<
-/D [2675 0 R /XYZ 90 245.6724 null]
+1207 0 obj <<
+/D [2639 0 R /XYZ 90 318.38 null]
 >> endobj
-2356 0 obj <<
-/D [2675 0 R /XYZ 90 130.9464 null]
+2644 0 obj <<
+/D [2639 0 R /XYZ 90 304.006 null]
 >> endobj
-2674 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2294 0 obj <<
+/D [2639 0 R /XYZ 90 191.469 null]
+>> endobj
+2645 0 obj <<
+/D [2639 0 R /XYZ 90 177.096 null]
+>> endobj
+2638 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2689 0 obj <<
-/Length 2345      
+2650 0 obj <<
+/Length 1603      
 /Filter /FlateDecode
 >>
 stream
-x��Z[�۸~�_�V�
�)�M�[d��t3E���X��PY�Jr��_�C��%��'ɤ؇"@F��y���xd���,4^(��f\.6�+�x���"��
-����n���b���T.n�$A���M?D� �\�q�nIp�Իd�nIqTO�,�����:��nn^�Y��&�l�����,K4GJ�
�0��Ί�4�(��I�ш0!���/.�H�f���j�F�n_$mf����g���QVn��LDZ�5����s�L�_�>|ċ���FL�b�0"Z���S�(��_�ͯct_�E���P����1D�
N��n궘�fFf\���r��>+�
8Eb��4n&�\ D�K|2�S�]��҈ I��K�N��I#B����1��Go��M���[���C+��t"6�6O�"Kכ�|�&�\��
���\�j X��o�r�F{���W�yh»�1�c
-��DPLI��yY�e��
-
-:\QH�Xp�RHR�0��C��-���
���Ӓ
m�,`G:&}E�ۼ	��q�p_��I^�Nw��!_RY�%EV��&�w�Jz���
9EI$b1q��"bJч ���X L�`��P�P����VC�ia���Z
-��+�it5U�fuss��`��$h��/=�d�x�
:�qՁ�F�)FZC��RS�c_S�4��X-L
I`"���1\�c�=IZ{�����s�P�Y�Ī����
-Ẻ7� ��$j�=x�|lR_�H}�4��'ڊ)
�m��"�e�l�&UH�z,>�'��w�
-�l�$"�z���Z!̥�Oܡ�L�B��Yqg����d�6G�Oڐ򙤝XNZ/f�h���ʟ��SR��:�ƕ���J��
�RSc�ф��
�G��n�����+X��R�s�:~FF�
���O��L�=iL�l
�q�z��:�Ƨ9��� ��rS��I���w&q㨪C����3�m|���KN���
�M��m�ٺ��`��
bT����(\�4����ۮE�z:��Wo�\GF�˴ځ]�ˊ�B��(t��p�X0[��XJ@�ڔu��3�5�PP'����''e3���s
�(�և]W��I߇u�I�-ۆ5���=��	
�y6?0RX���[��4�@�#hz�Bs(���Ngf��w��=���P;3�4�{��N`']
-�Iɑ���4�}��T��T��\�=	�!X��J"�7b�⛲yq��C��<0R'qWU�]���/1y%�&/�~&Og���z���.�O�E��J�7E/��#��L�4-ǒzK�^e��D듩��E�1Tsm IL�p ��Cg� {�
q����j��SY��zO:�����:kE
=���:0��:�[ǖ��ZL��Q�O�&
9�BO�T~o�g ��E�Wu��C��s
3P����g�c`���P

�
-�l���]?��?�ā�
-�
PB]8Yx)��7���xb��I�B� i
�<�ơ053�p`�Y�n{p��1�}�MO

���ij>rҗ���ٝzm8�R���k��
͹#��?#t�"�gu�V���Ġȅ�|6
V^������)�C�]2=�BW$ؿ�h�εoh�i=�#��}�-Y<�>��x}�o�}���nO���P̀f�q+z���zp�x�ݳ_�<������y~�B8uP�_
-q��(���c��7�@&�5��!�+g�߀
p�����[i�s������'��
���W
ʴ?
�����v�ՃyRj��3:�Q���x�\7��OT
h���~(u
"Xǵ���ç�300�$|��b>�#�P���x~�^j�t��!M	��X��`��2�
f�)o]���fr1����V��M�PV���N��4%������S�Wn�񹣛�򹐟Zq&�ؗ�nf=r
�L�	�nF�
G7�F71��
�p�i�l_fw���ٶH�c
���1N�6�H���
����WGF�)m=�	��qb��s�
� �C
���8��$��B�A#E���yq��}�|�@�]�	���(1��31�
C���A�y�->�2�
����%a��b��9�C���{��֓##EX���ӗ�/��{P�C;b�j�5"_ ��<  �]z���I�S��K}��sƑ?�Z�CK~%��|s�ј�����������
6��B~�Ok��4����Ql$�
-���t�7bT����0������� Q�ۥ�+�?'�!)� k��u��A`*6��@`�e�7VD�
d��k�_�tܧ��j�
[�j��ɺf�۶��\_?>>�M�e��Q�^����d<eʟ+=����2�<���1�r߽��>��n�i�$���ى)�
dO�endstream
+x���o�F���+�Ԃt,�ۻ��å�S�Z)��}�E����l��Y���`~$!�J��,��3�Ϯ��������7�ޥd�FZR��<x{�$HP�݌��6!�t�cܾ���Y0��PܞOדp��ߢ�$H����_ד`v�n>�.	�0K4G�V0in�';�63���b�M�
�ŀ��Y��i��R�����p��Yh�|	¤CT;��p��L��oL�>ܴ��X�
ɣ!|�ü�Y��{#���È�bV����)�ϩw����]d��+�0�O%"�[g?�3
Y4��~�Ķ�ޥ�
U�����%�5�f�~?�;
��i4�x9
�f�w)�fHҴ��$�w�h�b���Ƙnz�)b���W���æ{
iUZ�&Qj��f��sL�AA<�s!YD��-�B!)t�a�U��,�,H\�G�!��v�x8�-�,������`8G3��$R>�4���BV��n�*���9T/א�a
��O�Ƣ��T�z�xY��F��hd
�L��&�*ff��d!r��C�����[QB]�8
t�xH�bHiʝT徊�� �e�,��M��b��
+��[?�`�KI��*���E
�ʫ���4�5E˚���i�w
�%J!�%|���[͟i�zUP�`ar��W�R
ł\��tg)��	�Z)�ͭ���^e�%]�P�u���x�
+]=�~�Ը��#w�Q�O��X�`H�c�Vo�k�1 � jЯO�_�$@sY���m�I
‚nw_W�(3%��ngu�
���5r����V
�n�ߖ��uG�����U4�:+np4��I8:;������"gb�O�9G���~
J��O��8m�`��S�S�gދ)���r��t���덞ۈ�\
��ô�W���g�%a`������W� 4��x����7�F�X�Z
�rž3� ���p,=�1�K�0Vl�w�\�`�25��aw�]�$(0W4�|ǓT��4��$��vh֠A��	|� ��$��^��^�5z��Nz�u�^K�}Z퍚�U�:/����Yǭlw�~_
+	����1�O��W��
+1�P%������P�:s�1Zۿth�ɉ��w�9�	�z�Y��
a�[���
a���D���C��mQa̘0RdH�B��:~�8�W� �A�ȝ��gQ�r$}�H9�_�rD`�H
+_!�b�R�]��_�9�1�A�զn��!o

+���x���=kE���K� �H_�A
7h��y
�WGa</��I�jl��=�5h��3o'��{M��c˻�
;D��0�(�
��QM�nd�s:�#��9���H�Rbf#aW���"
fn9s��.��+jV�� $�wrRo�>��n�
lѨji
+=� �
c��rZ9��̐��/zI\N�&�pVy;&R�����'P3ߎ�,պ��Qn�q�������`��	V�~�`��Y�ʾ���,Z�Wg{���:�ߋJcթ�E�נ0��0S�E��H�UeW��ʸ�3�ұ�^�6>��#D���� �-U���)�I>� Td����n�L\�ES����+�}n�A����!R�q�e�~��Z��0E�8Z$(�z�Ŵ�[\�'���0O�w�y�L#����u�$�_Kn�
+endstream
 endobj
-2688 0 obj <<
+2649 0 obj <<
 /Type /Page
-/Contents 2689 0 R
-/Resources 2687 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2673 0 R
-/Annots [ 2693 0 R 2694 0 R 2697 0 R ]
->> endobj
-2693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 422.8387 138.5077 433.7178]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000028) >>
+/Contents 2650 0 R
+/Resources 2648 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2619 0 R
+/Annots [ 2646 0 R 2647 0 R ]
 >> endobj
-2694 0 obj <<
+2646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 402.7491 314.5657 433.7178]
+/Rect [149.4 184.234 212.124 195.138]
 /Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+/A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-2697 0 obj <<
+2647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2690 0 obj <<
-/D [2688 0 R /XYZ 90 757.9346 null]
+2651 0 obj <<
+/D [2649 0 R /XYZ 90 757.935 null]
 >> endobj
-2691 0 obj <<
-/D [2688 0 R /XYZ 90 733.028 null]
+2295 0 obj <<
+/D [2649 0 R /XYZ 90 698.567 null]
 >> endobj
-1243 0 obj <<
-/D [2688 0 R /XYZ 90 520.2342 null]
+2652 0 obj <<
+/D [2649 0 R /XYZ 90 684.802 null]
 >> endobj
-2692 0 obj <<
-/D [2688 0 R /XYZ 90 506.0979 null]
+2346 0 obj <<
+/D [2649 0 R /XYZ 90 551.762 null]
 >> endobj
-2357 0 obj <<
-/D [2688 0 R /XYZ 90 396.1935 null]
+2653 0 obj <<
+/D [2649 0 R /XYZ 90 537.998 null]
 >> endobj
-2695 0 obj <<
-/D [2688 0 R /XYZ 90 382.0572 null]
+2347 0 obj <<
+/D [2649 0 R /XYZ 90 404.958 null]
 >> endobj
-2358 0 obj <<
-/D [2688 0 R /XYZ 90 242.8175 null]
+2654 0 obj <<
+/D [2649 0 R /XYZ 90 391.194 null]
 >> endobj
-2696 0 obj <<
-/D [2688 0 R /XYZ 90 228.6811 null]
+2348 0 obj <<
+/D [2649 0 R /XYZ 90 246.198 null]
 >> endobj
-2359 0 obj <<
-/D [2688 0 R /XYZ 90 89.4414 null]
+2655 0 obj <<
+/D [2649 0 R /XYZ 90 232.434 null]
 >> endobj
-2687 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2349 0 obj <<
+/D [2649 0 R /XYZ 90 89.441 null]
+>> endobj
+2648 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2700 0 obj <<
-/Length 2201      
+2663 0 obj <<
+/Length 1536      
 /Filter /FlateDecode
 >>
 stream
-x��Z[��~���Sk�w�F��l� � ��$/����53jmɑ�ο�DɢDI��]4@?X�#��9���H�,1��R�
-i��rw\��#\�nA�� �]���7�J��HK*�wU
� A	]��߭Ad
�����U����5ū�����h�cr�G��f��?��O�)^�����[B:�͑�!�տ�&N�#�4�w�F4"LHk��loQQ�*0���*>�Q�W~��|M�U����L��2m.��k
f�)�$�]�/޽��=���FL�b�
'����5'����m;���_Xa�ą2��`m\C4��)��
�r虑	�+�x��A�r���N�x�`<B�T
(�L7L�dɾn�Ӳ,Y8�EU��D��cS�+w4Ml6u���1M�m`�

-�ZК�T��I���eiQ�Q��6�~�W��7����Ka�/���Mv�+�&�Z$�ƒ5DT������Q�CJ�5z���$��׆�v
J$Œq�B�r^=�K۱D��.;�(��g�C�_>���
�ԇ������!
q.�H�Y�Znc���x��t���}��O��Ú��{3�-�}�X�>��Ӯs)ֈ�T����3�tH�q�O�o$0u5�
��>τaa�|B$�Dct��Lj8�-�Q(�qL�v���.����'�"�(� i��H���0���/�^"��n��P:=��jث�4#����
�s�6M��[�s��:`�;m�&�"�B�[�4+�M����1�r��XF`���h3ѱ����T�����S���&����T2�A�$Ccf`�~�z�x�!:$�m�?��1�J�H�:9��jƝ��!���s��g&Tϩ�̓�8ELb}%�J���*G��G��J��)�M�}N, �A���)*��C�<8|f�Y�4R����O}�������C%C}a���
�%Ҋ4Pw�>�A�ȼF_�k��+ �/�k���}"��菮G�9��Q\+X#	2]O�V��D���G)
���2@�/*�Y'�N��(�
k5�'1@��
v��$���4�A�yc�3������tӺ��$�9�xݘW�z��;s��]m�~��Z&Mc�	C-P����eN�pN��J�$M�j<i�$HJ��V!�Χ��b$a�ש�I�\T� �_�8`��*�
-
}�
�
I�^���!D`��
-�2�d��S�:1�!U���C(�H(>1���6n>���1!\	�՜[6�s�.�.�W���I���T��à�WD��V�q���Uo ��eEy����fN�%Sf�v�in�����Tn����0h��+k"V/0�}���
��1Q���R�S�
J26����(�,��� 
-V��,0��~
�xW�Pd�q���م��
8Gp��'��f��ͨ�����**
-�fFl�)Р9.`��"	Ee��OqL����"��
P�(���xqe�y�m��Qd> v��_`[�N ��lr�E6�֯Ȝn�M�vNI�o�<'�Co��„�*���OƯk5
?
-zfyx�8�u>�
-�Z�׉�I�\�� �_
9`�đ;9
q�'W�$Eo/��?���s�Y���ך��m�S0�OSgG�����m\N�����l���>�:4�{T����
�H`�Ɣ��#ʊ#!5��Hȸ�UV�>�>�SV�v?FY	X:�
�����fpPJ�\�8�4���=�9�������~��$&��jBR](Ⲿb��̿%1s�%�ƒ�L"r�$_�	�ap'�'3
���
-���*j�(4gw�Qh�E���}�5�u��d
�:�.�]���N@�SI?J������ ��ޚM�[�9�r�
���;�58���jl6W��l�j5��1
ݎ�Dt�3㯕m�ΧB�G1���u�m�#�6 �mW���=-���<{Z�;��S#{Q���[�Q��Ku*_��
�e���R����nخ�����{q���+D���k�� �$TJ2@v�/�6�-B �{"	�[Y����A�R8�%��ه+*�|�e��`ޒ�͗bR�O�d��VN�r�hg�i^���~�Հph��&F���F�֧V��'�q�׵+���)J���"?���H��P�Qx����x�T�WlD����{�
���?�A牚�Tg��v͘��򴹹y~~F���䔣��9�7}\�p*Wz*pAk4��x���U�P],Y^�蘵W�p�XI�A
-.�@�/���Mendstream
+x��Y�r�6}�W�%g*w��Ng��2Moi����hh	���V���~}/�DQN��y�IZ��= �uma�������d��|I�uve��r%A��li�ۄ �L	��~�ly
��:�i��Q�<��^�A��͞�����r.�ޜ�"d�,�9r}��~o��V&Q�L8��#�D3�c~���p�T`0�S[�Y�ʌ�SW*w�g�dC�τ�{������	+�"�E.���'��Z��
#���Y��)���u:�c�G��
a):dC���l<܏��
|�~3��d*	b�,�t= ��R�h��ԧᲶ�9�@1F��c��
�~ʉDLk
+ �B
����l�JiR�y&�>`��!��^WJ���e�������1�}�]l�G�-�2�_���y�
��3^׿��I=�g� ��f�y�D`��Lx*X��"	�o�>��U���%�vyS�`b�9������u��p��7��2?`LA�I�S��Lj�W��k9.xnf!q�{���&,���۲X�卉 WE��Sy[�]X�@�J���[d����2�UR at 4ŀK�
������֔yК��W�@n{��Pj�-��L� ��I�\���m� A���� �}\�.%�w��
��!���zy�)�)�T�'8���
��Ty1���3��
���t�9�,�\���l����h�Q��0�֏m���z�:�"�tYO�1A�\D�F*^��P����*�(����m��y�_���ry�;P�ԡ�^W�v8ԛ�"q�)o<,̂-���3`
�L�?ӻ�)M�!�2w����!�a�]�,]�lP�F%�Xy�Q!����*�a2� �K�������í���h�T��<
�������'�0��TP"P�sC��J?�W��
9�W��=�Y��6����
�-s3a3`�#��<���w�MP"���g�ňRq����g𖜩�������
`���˞A�
�T"�uw2ӳd�M8�����E&�W���vn��nzj5H�@���{��ٗ%r~�ȱ���%/�4��}.�Kq���C��
*b
�I����etJCF���1B�
��}�I����ߩr���.��z�uzb�WAT��0��r]X�t��$ڴ�}��֥ �Vn
)�g�=��#�����}
c ����
��[����@�z.$�T�������[�ܶv��z�'�O���H�?��L�A����1��
$��Z�ݾl�/(ۜ��j!\PmwT.(��^t�/m������������t���
��]�Q$1�u_6�H�'
�C�k�G=�
 [...]
+endstream
 endobj
-2699 0 obj <<
+2662 0 obj <<
 /Type /Page
-/Contents 2700 0 R
-/Resources 2698 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2673 0 R
-/Annots [ 2705 0 R 2707 0 R 2708 0 R 2709 0 R ]
+/Contents 2663 0 R
+/Resources 2661 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2619 0 R
+/Annots [ 2656 0 R 2657 0 R 2658 0 R 2659 0 R 2660 0 R ]
 >> endobj
-2705 0 obj <<
+2656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4002 369.2153 212.1242 380.1192]
+/Rect [153.573 690.333 216.297 701.237]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-2707 0 obj <<
+2657 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.5732 204.6814 216.2973 215.5853]
+/Rect [448.024 589.072 483.212 620.041]
 /Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2708 0 obj <<
+2658 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 107.4843 483.2121 138.453]
+/Rect [88.007 273.218 138.508 284.098]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (deprecated__deprecated000029) >>
 >> endobj
-2709 0 obj <<
+2659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 253.129 314.566 284.098]
+/Subtype /Link
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+>> endobj
+2660 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2701 0 obj <<
-/D [2699 0 R /XYZ 90 757.9346 null]
+2664 0 obj <<
+/D [2662 0 R /XYZ 90 757.935 null]
 >> endobj
-2702 0 obj <<
-/D [2699 0 R /XYZ 90 733.028 null]
+2665 0 obj <<
+/D [2662 0 R /XYZ 90 733.028 null]
 >> endobj
-2360 0 obj <<
-/D [2699 0 R /XYZ 90 598.1563 null]
+2350 0 obj <<
+/D [2662 0 R /XYZ 90 568.997 null]
 >> endobj
-2703 0 obj <<
-/D [2699 0 R /XYZ 90 583.9517 null]
+2666 0 obj <<
+/D [2662 0 R /XYZ 90 554.427 null]
 >> endobj
-2361 0 obj <<
-/D [2699 0 R /XYZ 90 431.62 null]
+1208 0 obj <<
+/D [2662 0 R /XYZ 90 450.809 null]
 >> endobj
-2704 0 obj <<
-/D [2699 0 R /XYZ 90 417.4154 null]
+2667 0 obj <<
+/D [2662 0 R /XYZ 90 436.239 null]
 >> endobj
-2362 0 obj <<
-/D [2699 0 R /XYZ 90 267.0861 null]
+2351 0 obj <<
+/D [2662 0 R /XYZ 90 244.162 null]
 >> endobj
-2706 0 obj <<
-/D [2699 0 R /XYZ 90 252.8815 null]
+2668 0 obj <<
+/D [2662 0 R /XYZ 90 229.592 null]
 >> endobj
-2363 0 obj <<
-/D [2699 0 R /XYZ 90 89.4414 null]
+1209 0 obj <<
+/D [2662 0 R /XYZ 90 126.821 null]
 >> endobj
-2698 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2661 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2712 0 obj <<
-/Length 1727      
+2676 0 obj <<
+/Length 1982      
 /Filter /FlateDecode
 >>
 stream
-x��Z�n�F}�W評
����(
-4MR4�%�է4h���R�JRqܯ�x)�V�	\Lr4;{fv��Hd��<TB!ø
Η<���?
H�x�'m�g���K)�I�pz�� 	���t�nD"�	��ތ	
�2��S<J㻛p��_��,���ϟ=�]��p�~���%!-��p��f���]i�Y�`D������ „�
�?���8���
-
�

��U
ay�mxfc�Ga2�[�012��
��6�Ux
-&������x� \_
0bF��-\`D����SV_ă���������Ž�
eK��� ���SԻ�æ9�̈z�ת2(�Va,"�t&BiȄ!�LP�����u�F���)eD1FBq�V6
c⩢	'1!���A�n���y�a���"J��Vt����x�&yQ^�����2�u�1���0�k���t����l}\a����x!HSR�wQGI��4�
9�
-��\!I9�|�
��-��GT3ބ��#
��&u��M�;"��*���	�3Z�I�
Q(
�1GD��E�,\�J�����t�d��
�n��aE+�BZw���&m�~���^��+a�_|��+
X~��6�P݌�� �~;�
-�*~�Ն�
{"�
�>q����z&E/(���
֋Hc���A̐d�w'��M����VU���S�$6���}U�<U����N��@,"�0��N�d�.WA]�!r�	�(�"������
���>Z–{����.�4�ܝJJ@�� +�{�=��fP�e�D����E)���gUj'P?���1e���(v/�b��

��>Gs9���9@票��~�#�f��۰X��#GyW�rSy'75fv�� �C,`Ô��Hb�O
r��$�k��,��
-�0_��ٍ�j��Z܍��0א)f����<�b	�o�
� 
K{@ލ��������Ɩ�w#q�;�������Z8W.@�o�ĔD�1�������v!V%6���6*����?W�;�
$Ƣ�zo��n�s/��#o��Z��/�ֶ�����̆y���(G�쀸�����;>7�U�����{�,Ҵ��A����
����
-��H�|w�0$$��
&�Ձ
�5ғ��q鐟��'�Ʃy����&���"Jyo*b
�6[�s�ӟ��]�[��I�
ٹ^AI�&��)����x�LנC8(a
q��SS��\JE�BmP�/�8�y�(��\�g$�;�b���*���(���8�W�iä_O�����`e�ӱ�ʵ���zQ�%Uc�0M�Ed+�z��UU'��G*��&
���^N��
�4ܰ^9Q���ژ���4��!Nۮ���0��Fj'�Y�񀳪��WB ����f8x�i�v���>
�|F!���5��z���|m���G!n��<~R�]}Ky�坔ט}I�����wU?�m�� ��GKz��p-����[Z4f�^D�Ң�[Zt�y�
���Cr���X�eH=�V��ش=�ؐ}��m�Ħ1�Ol� 
��
X|��g���ʡ5�����I$�AB0緯��)�I?����I��"��
$0
��Oh� �6PA������e�U��jS^���ٷc!FUg�5H�A��~�
��&/*��	�R�+�(Š�.@�ӿ��_���l>0i}�&��n{~�o�bu~vv{{��9���PT��V�Y�Nl�� T<��4F�X:�3m�>�sݎ�*�J��i�|�7���m��P��t"�endstream
+x��Z�n�F}�W𩕀j<�"���E���ۗ4id�H��b�_�;
�V�t���3w?�^
+��������+����2�ZJ$(	�V��	!�Lgc<y6%xf�p�lJ�$��o�*
�E��0����xq�v���˯�lK
G�h8���c��w2���z���
&�����M���63tb��&,���ܮm6%zb�%�R���1nˋ'W�_����PH������W8X��o�(s[���2������,eK�Z1�Deޢ����y��@Fn��>�q��8W�����GmIŪ^�:I6n7�� ��Br4ܱ�X8�arL�-��]��l1s
��IL�lc����ū�Kt
/B��Fq������W,�2���<���Xa����Sa.O�y��~���Y�ق#��ЏTkD�К�z��(�D�}�
+�YV

FUHB�|V����"��ў
Qݑ�)82������D�
���[�
7ۺ텿 W!88��d���S�'o�DL��s�����)/���
�(ę~
Eȃ�H
s�DZ��s{�d��,juU���Q�DیBD@�)yn�]������$����?�7�
�Q�Tc�h���f�7{U�8%��nS�0��	
+e��JqB9Aֺҭ���Ҧ�s�Z��S��wȋ�|
�H	7ԍ�z��q1������6�o�dJ��6n�
�0�$�MPi�e��0����@�
�9��e�M�"z��h`Z���u���;�fV}O}iS��K���g�D�:���/���
��,����CR3�:ӛ |
+�l�â[��~�	�$�{r��7�ʤ"<�qW�Y�
�w��c؀
�u6�~��h��w�x0P@������y�<�da��dq��eil9
+��"���y�*�%=V
�IFNn� F>�ϊO������>�l��("�����NO�=�lgO��%s� t�TM���mT#~�c��9j�M����t����;�a�j*�����{Q�>�S�(�����M�Cl#��*�4�Qs��BਦT�q��D�j�� 
�	ŏ)�;zL��1H�^�Э�ug�Q�كa�5v-�
`���A%pm��1������w�;��u&�]I����=-���Ȟ�C;[�'�ǃ��������1�G��:�#������Q���H�S�@{�x�T=���#0j��7͎�&���.�b�pu��$$����q
�94�$� F0Xm΃�
��ȔD�Z[����6{��n� �ҏ6���r���r�y.%�t7^4�4�e�ݱcow�i+�!��-b�9�t=�s��v�#
��rv;�RЦ!��;���l�t0Zh�8�|�rа�(=p�	0���{�q��q����:ƁOܴ�(�9�}���3Bz�$/�4�$��
Ĺ� )2���A�s��񀪟DH��
 H�.����A���a�h�E�0�
;dT��vX遉 3�8�]	�m;t�`���6�.I�,���B9̢���}(RP��(�lL�B�ʇ$|R��� w�l����/ �(�Q�i
c�c#gjЌ
�"���d���¨���R��?���|�h��Am
��q��[�mշe��c�0�Dh��'#�
�|�{
y���:�t0�O
�Ĝ�;$\B�Q��
��)M�3����� �;Q²���#U(��
�5A���L&;��.^�#�Iu��wq���6LӒ��o��|��N �ܮI�� ��� ����=S�� n�T�[M��ב�� [...]
僛ےh�sŸ�c>
+endstream
 endobj
-2711 0 obj <<
+2675 0 obj <<
 /Type /Page
-/Contents 2712 0 R
-/Resources 2710 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2673 0 R
-/Annots [ 2716 0 R 2717 0 R 2720 0 R 2721 0 R 2722 0 R ]
->> endobj
-2716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 458.1712 138.5077 469.0503]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000029) >>
->> endobj
-2717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 438.0816 314.5657 469.0503]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+/Contents 2676 0 R
+/Resources 2674 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2619 0 R
+/Annots [ 2669 0 R 2670 0 R 2671 0 R 2672 0 R 2673 0 R ]
 >> endobj
-2720 0 obj <<
+2669 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 134.1833 138.5077 145.0624]
+/Rect [88.007 578.982 138.508 589.861]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000030) >>
 >> endobj
-2721 0 obj <<
+2670 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 114.0937 314.5657 145.0624]
+/Rect [123.594 558.893 314.566 589.861]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-2722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2713 0 obj <<
-/D [2711 0 R /XYZ 90 757.9346 null]
->> endobj
-2714 0 obj <<
-/D [2711 0 R /XYZ 90 733.028 null]
->> endobj
-1244 0 obj <<
-/D [2711 0 R /XYZ 90 635.7621 null]
->> endobj
-2715 0 obj <<
-/D [2711 0 R /XYZ 90 621.1918 null]
->> endobj
-2364 0 obj <<
-/D [2711 0 R /XYZ 90 429.1153 null]
->> endobj
-2718 0 obj <<
-/D [2711 0 R /XYZ 90 414.545 null]
->> endobj
-1245 0 obj <<
-/D [2711 0 R /XYZ 90 311.7741 null]
->> endobj
-2719 0 obj <<
-/D [2711 0 R /XYZ 90 297.2038 null]
->> endobj
-2427 0 obj <<
-/D [2711 0 R /XYZ 90 105.1273 null]
->> endobj
-2710 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2725 0 obj <<
-/Length 2456      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~���S+�x�!)�$�"i
-l�n_6
�+Q6�T)�^���
ɡ8�V�ڢ@
?���9g��;gDf����
-��l����{x��Ҽ��}�%�����{)fI��n[� 	�������D���.���>^�]P<�w�ɦ�W?���x^.��n��!>$�w?�~OHgYb8RF3î�UM�q&QfxCqX� „l�������qQ�a5C�����ˤ~�s�M���$[�#e��c׼ys�*�ѧ`�Xu����<ۀ^���-fOp�1���7�2w��yw�v��E�A�,��K�B�R��.�!&�nwC�i��P�B�k��χ$����u� (��N�"��3��<�ի��Ђ�/�"�.�zʋ<�!��0�r#O
���pH�Ud	g�IL�,�u����)۬����l�nWɧx]֎�
x�g��vjw
-��p��Q���j
-�|
-��h(�kp�b6H�Y�V���l�fɇ�P�aD�F�3
*UHRΫ/~�."�ͼ|H��
�e���2��KR/X(���,  GFGS>�ǀlT!��SE
LUHKJ|uy��sN
|*��s�&�{��ii���}�LI��2l�`���}�k�,Nɋ
��Iy*`/�Vs�i�
� ��1�Lr`u�ƻc���)-;�l�9~��ϵ@�@hK��j
�Ǝ(�R
3�6kA:Ԛ�J�7��ɡL!ޗ}�S�(0�| DK=����� �ϫZ1��f�L����x�Bj*�O�$+B��-?�i������
Iמ0wE��b����IC!����+��D
�iO�H+�&"V#.�+pq�`�M
-*<�q�4[��C\�w	
-$��RP�fl��m��6X+��P
�(
dv��h+u�n�_��(�H�%��1ƭ�B�G
����
-�M�� ��D���, �2���*31��w����?U:lRm�0q��f���\!��w��l��ie���Z�i�f����I�BykS�F��� ���spM�_��2J9Ӎ�7A!�R��K5^�*N���-�|��
�������ۤF��m L��y�����˛����I9"��0
P
+�'���j�������ܲ�
\����c
-jM��mK��
b>
!��l&L>��[�$�$7�?9�yE���=qQGj;qh+���\���{��u�
+��YMD�2������Mqߐ��Mo
yԥf�����>I��P$Ǥx��)�v@�]Ƕ����Ȟ����R� 5<H�rk5�	��][�Oi�Po
�pH��N���%FD�c�
*x��~؆�@���]'`�v�m�+Aۆ�Rn�O��
-�Hm�����-�#l�Z�~��<H���B�q���D�
]�q��A:��ե�#�|t
������@ǤFΠc Ltx�tA�f2
:�&b~�
->fs��

1S�ܙ��S:��e~�w����9�+5ϋ��Kj�`F���}�E� �2��d1_r����

�L�ѡ�`��ܮ����lz��a=2Gg�]��om�Ȓ�(�f8ѷ�>��p����?��M\��u�!2Pj:w �1.B[aЍ6�%�s���  .Vo>
�)��X�>��"T#A�1hb?
�԰�V{
�o���:���*�8-��e%ʪ��=�
-�1��V6I���V�@��O%���C�Q���t_�YC3��ʽMk��,�V� ,� $��
#\B�Qd����|�[�n��1f��C?�ۤ@��@�䜾�
}�� ���VI��Y�ATo��>�b�>����/G��(�i�
��_`z럯;�����m��7�a�̷��)��>>
*tjo
����ở�jv���)��@?�&
@Ey��g�:% ;�{�����c
�,��г=ܱ>>�mC�T�<�i@�4:��[��D�F�"=����JN#�.�8ң��03��ISӠjZ:��BL���$a�גu��cO12�K�u�j��qj;(]
�;��=/v�����C�~��5��P����9,�Ѹ�i
G��Y�
�)�:��'��u���먆|}�2������j6�^Tা�M�Z�P7��/i�C6�5G�[�=�
��f暴�}�A�Z�}���
WR�KDZ�I�tV�R�g�)���u���B�-ؒ}^�8��s�8&�>z�t�G��m��Wj���/�
�>�L!��J�
\����cG����X�SHm����P7S\^�u��^�J�oDt��Ĉ�F����?��Q
�v?�Fpw��x�7ܸ7��8��a)�q0ǐ!-BC���	��`�߻a;���k~RW��Qj;v ]חP#�n~2��r�[��l��ֹܺ�m�����Ǥ��B�y����)ޝ��v)�*��AԪ9B ˼K��\Q� ;OA�� [...]
-������/�)�C�1a��%��i���);��ʲua�ϋv���
y�Bթ�P���;endstream
-endobj
-2724 0 obj <<
-/Type /Page
-/Contents 2725 0 R
-/Resources 2723 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2673 0 R
-/Annots [ 2730 0 R 2732 0 R 2733 0 R ]
->> endobj
-2730 0 obj <<
+2671 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.2748 445.6977 293.9708 456.6017]
+/Rect [170.275 248.929 293.971 259.833]
 /Subtype /Link
 /A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-2732 0 obj <<
+2672 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.3316 292.4911 235.5982 303.395]
+/Rect [183.332 98.244 235.598 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-2733 0 obj <<
+2673 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2726 0 obj <<
-/D [2724 0 R /XYZ 90 757.9346 null]
+2677 0 obj <<
+/D [2675 0 R /XYZ 90 757.935 null]
 >> endobj
-2727 0 obj <<
-/D [2724 0 R /XYZ 90 733.028 null]
+2678 0 obj <<
+/D [2675 0 R /XYZ 90 733.028 null]
 >> endobj
-2428 0 obj <<
-/D [2724 0 R /XYZ 90 625.8093 null]
+2352 0 obj <<
+/D [2675 0 R /XYZ 90 551.083 null]
 >> endobj
-2728 0 obj <<
-/D [2724 0 R /XYZ 90 611.239 null]
+2679 0 obj <<
+/D [2675 0 R /XYZ 90 536.721 null]
 >> endobj
-2429 0 obj <<
-/D [2724 0 R /XYZ 90 508.4682 null]
+2353 0 obj <<
+/D [2675 0 R /XYZ 90 426.311 null]
 >> endobj
-2729 0 obj <<
-/D [2724 0 R /XYZ 90 493.8979 null]
+2680 0 obj <<
+/D [2675 0 R /XYZ 90 411.948 null]
 >> endobj
-2430 0 obj <<
-/D [2724 0 R /XYZ 90 367.2167 null]
+2354 0 obj <<
+/D [2675 0 R /XYZ 90 311.491 null]
 >> endobj
-2731 0 obj <<
-/D [2724 0 R /XYZ 90 352.6464 null]
+2681 0 obj <<
+/D [2675 0 R /XYZ 90 297.129 null]
 >> endobj
-2431 0 obj <<
-/D [2724 0 R /XYZ 90 138.4283 null]
+2355 0 obj <<
+/D [2675 0 R /XYZ 90 172.761 null]
 >> endobj
-2723 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2682 0 obj <<
+/D [2675 0 R /XYZ 90 158.399 null]
+>> endobj
+2674 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2736 0 obj <<
-/Length 2871      
+2689 0 obj <<
+/Length 1847      
 /Filter /FlateDecode
 >>
 stream
-x��[[o��~���S+�x�#
ФI�4��n_6
�k�Q�R%z
���
�͐CR����E,%
�9s�ܾO4�a���
�)��a\��Wx�_�労��p
-|w{u��3���rv�P� 	�������DK�1��Y<����͂��n��W������!;���|��w�l�/>��t�#!���p��f`�]��F$�L0���V�6��A�	�
-|;�����x\,������|��dU�|�6�
��yy_)��
vi����{�u�`�X����<[�c�ˆ-f��#b
�m�8e��������:͍��Թ��9�����A
qܞN����栙��+��V�@����l
^�J%
������H`�����]�jV��8/R1G����:f��N���&{�cZ�wK+;[2�(��KX�Aj�}O�6{�1��`��iC/;��M�!�³��*���CjC
Q�J�BU����<V����2�w?�ڪ?
�]���]Ba`1��l���c	��Gx���]^�����:dEu���M�kt�)�P-1$s�Wy�Mn�V)���r�-ʬڥ��I�]@����܊�4�Ec������$Y@�>�!���D�B�rG��O�K"
�2pC9���
�ci+8��5�h
IC�7��
�üZDŽT"��By��
e�C J�
�m��:<�2o�B���u���׵d
*�M.5���|��E9C��]���&��\"����=$\�h
S�v�S��܀-�y� �u�\?<��U����l�/����'모n�A�!E��v+Gl��S�c%[tNt Mi���F븴�
"�P*\u�
���
�h�j�������Q�r���.��r�گDZI�kG�<D�I��`�z�nli�0��.�A��R��d��P�'k��!X$W�@�����
��Ǜ^�a��$��g���WV


f#�f�nZG�ݺ��3�
-d�KF:o��xEo�M
{���_�_9�N]�oRW������*��*_�a�z`�L���ՓԘW[�0�c�:W�)uB=��[x_H)�n-�������#T��9r�_��Y3�Pl�c^,���z	�Aj\��꫏}�O�4�z�Ў
�ϕ	!�F/�kI(5\L�)�5��_���#�$�|��V

��f
���MQ.8dv�)Vw��B��zFm�������_
Iב1���Ξ�3�ȧxH�h�;B���D
w��V��o9h�+2��2�Gp �x��)��6�G;#7S\^`�
���U�e��aJ��pO�Ey���u�%Kr��!���
�ޭ
ٮjS��Mg��̾� *a)�<Đ!���A'a���E�,փ�DŘ�|E�M�IԪ �0CFP+��=�]/�%��b�m
�~3��p)��IH�N����:ަ�-���`��؜��m�����A�߂E�����p��w�^�w�!���=���6� �����
��]
�x���K
-c55�t��10�N�� �)��P��,���0.���Y�]�ؙ HY�>�� `W'Re�4�i�H�	 {��
x�X�4
-j/�eP+u6>պ�������A�4E'0t���qŘ�|�N����� �_7E'X;���٥"�ю]���K��ѡ10�
�Eḑ��sWZ���}���",	�
�0N����(C
"���V��pL�8Q��M��O�����>�����4��t+.�%k�֝����c 
�� 2OM
�H�*80�m�h
�X���!՝�1�������.�ii�Ǻ-��/y@���Mh�
J�Q�@�
-�+d�����b+8�
'�LJ!F(5
1����W�)F`Fϒ4��bS����O�EOm����z���ڱtm���Ћ� �����2�(�ՖLJ���
8
�!E88�C�w{�8$#�
rRjB���k��ip{��v,�F|Z(�	_bc�pb��θ^O����H���Ρx\���3?Ljhg|ҩ�ؘS�ع�ϸz���ԧ��H�+��K{�df�m5@	��
J
Wm�A�1q61�R>v�]+N؉}
14�1�3&M
E������"��ߡF�G
bR���N�`#�=�[;V�⾚�]b�a�֞��1E/FL��SS������z/E�y)}/ō�y���
{+E�X�QJ8��1��
��;��s(+C�g�
�	�Jw�o�Ծc9y-c�4�Qթ�K�JoLz���3�{)rShi��I>��H$�Q���D��#�U�HM�Ls<)��8�HC�X���i] ��$���o
-r�7��)���/�$Oo�>���9@�h��B���<N�oMD�� rd�f� �c�㡈2R32B�A��nj�I(�+t
�D�L��*�Iy�R���T	�~E�9T	t��k��n_��
-J��ET	�O�.D�
�S1>t�R�C�m1Dp�*�$e���ݳ$=x{��%Dꡰi�����T_m�*�T
t�H�T��Q��\
r��h(6�2'v�1���
=�i�#���tp!9��E 6�
'tژ� 6�لZ'�W�g�4 �H����ۄ`Ę&�H
��%l�a�l��R>vn]+�͉}
�
��	o��I��ȘoSA<R��&@�����4V�b)��>B�G�1�a����}tj�	
&��H���kbAJ2
)��8��������ز��@[O�?l��¾��%Q������i�
-������#�
Hl>�H���c~��B�y돿e�S�"�}�KA��� S�_�L9�����w�EX;�������k�Z�{`<�ԙ�G��v����\_???��#z*����~�����	��+3vpK/Գ%�<��R0���Q �ݡ=���/�Y�'�����)�ClRendstream
+x��Z[��F}�W���
s�1J+5i)M�4���6B^�Q�P�������g|�e�4Qԕf<�u�w�Y
\8x�{~���,Q(�
��A�%	���O"�!���
�G�*��P�_/�f�D���2������/��E�1��oF��mKB�T��h��3��a�`Dy��e�&�?ݷËe���T`�,�}��,�Ը+���$��&��%ř�C�ٞ���z����!R`x��]|��
��	0b�m�jp��u��~�a�Z|0�:D�@Q����[��heR�lǹ#�;�^��
�F
+��^��n��(i�:z%p�*i����̀
+0n�˥�������N�R�:�g��˜������I�vkױ�f}��*63��W#��wlH
+��<;vCT��_�L���}\��~��ިs�Y��x��qn��]�"������O�p�׆J"��a*��3����lR������p[l��xl��v6��+H|�v� ��պ/Yg��B�p@;�'�n�
Ą,n�����2D���g��m�ɀxG�Y�
��7���q
+�0,E�̭���,�J������P�Kc�|��Xb��3
Y��>��	��RĴ�ꐪ:6��W�(��.��5xŐ�e�<�캃���8��:�M껹����
i�����C!)���0�\C!;�""t5�C
����a�h8Ϻ��^V)�ۘ0
J�T�
��v1�.�������܎���0�����i�5�!u,���|����פhW�(��7�u�F�]EW�:&4t��fS��J��*A�
+O˦mh]r�`�+ܟ���[�(����
��+��� �_�>HHvp�z�/�&O��DN�$��v<�]�8�u>�bZb$���g�G�f:w@��
 �TeJ~l9yHIc���:�ױ���I+�"H��:��*��M��\�x	%��r��D*�]��G��9�ȰG�
e\8G��1��$�"�[F
+�+�߿��
�
��
�g������>��p>�O�z	����$>c9� o���4u(
�W�fc�+�U�
� �ru﬐չ�q�&���r� ��a�Y���+�3�ٝf�.\޵�	L�z�8�0��8o�+�V��yt��Q

����>S��k �E5���r���:=J��>JЯ��g� ��� �E�|���ē
+xR_X��
+ ��
+ �V
��e���GCA��T@��cd Ÿ�
��}�ۼ�)�D��j��Ā�K�� Vʠ���
C�3&��i?c���
-99�[]���Ey[b�ۻU[v"dw�BT@
�D|�&*� ��;����f[�h
!�R� �6<a;�~ ��&R UN?�=�@�E�!��^!�g��*���foO$*��6]8�. �N�
�����
ݓ7,;�y���q
�Yp
Ą�異@�P1�ϫ �Ǡ<��m�N`=
��*4 ������!�MM�8�9Pͧ�
(��a�$���?�ռ|ʟ?կ�����S
CU�״
+!l�Dy���q��
����F�M�O&�6�����.�eYO��
H:�	4b֩�`b�����p
�AW#���	ţ�$��4?�,�ܳ�E��\���|�c��w��x�۹�,�P���*�� ���5`[tϷy�\{��6��Ztd���M���<���$��b��Ȯ3Bh]&��CI�ۭ��ڟ�4���Xp����A��c�n g�ZE)`
"!���˰ ��c���G/݇?�&�~ D���[_G~�gd�&�
+fiF���Qp�f�)��
��x�k/O{�za�HU�E�nƣ���-�n�ul7	��h�Y��a��I�ËM�E�W�����pq�G(¿�ɤS
+endstream
 endobj
-2735 0 obj <<
+2688 0 obj <<
 /Type /Page
-/Contents 2736 0 R
-/Resources 2734 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2745 0 R
-/Annots [ 2739 0 R 2741 0 R 2743 0 R 2744 0 R ]
+/Contents 2689 0 R
+/Resources 2687 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2693 0 R
+/Annots [ 2683 0 R 2684 0 R 2686 0 R ]
 >> endobj
-2739 0 obj <<
+2683 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.1511 678.3775 244.3447 689.2815]
+/Rect [180.151 531.827 244.345 542.73]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-2741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.6123 460.9586 384.1894 473.8764]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-2743 0 obj <<
+2684 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.6792 231.428 395.1716 243.9073]
+/Rect [326.612 301.759 384.189 314.677]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-2744 0 obj <<
+2686 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2737 0 obj <<
-/D [2735 0 R /XYZ 90 757.9346 null]
->> endobj
-2738 0 obj <<
-/D [2735 0 R /XYZ 90 733.028 null]
+2690 0 obj <<
+/D [2688 0 R /XYZ 90 757.935 null]
 >> endobj
-2432 0 obj <<
-/D [2735 0 R /XYZ 90 536.3909 null]
+2356 0 obj <<
+/D [2688 0 R /XYZ 90 606.552 null]
 >> endobj
-2740 0 obj <<
-/D [2735 0 R /XYZ 90 522.3927 null]
+2691 0 obj <<
+/D [2688 0 R /XYZ 90 591.982 null]
 >> endobj
-2433 0 obj <<
-/D [2735 0 R /XYZ 90 305.5817 null]
+2357 0 obj <<
+/D [2688 0 R /XYZ 90 377.764 null]
 >> endobj
-2742 0 obj <<
-/D [2735 0 R /XYZ 90 291.5834 null]
+2692 0 obj <<
+/D [2688 0 R /XYZ 90 363.193 null]
 >> endobj
-2434 0 obj <<
-/D [2735 0 R /XYZ 90 89.4414 null]
+2358 0 obj <<
+/D [2688 0 R /XYZ 90 133.035 null]
 >> endobj
-2734 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+2687 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2748 0 obj <<
-/Length 3047      
+2699 0 obj <<
+/Length 2042      
 /Filter /FlateDecode
 >>
 stream
-x��[mo#���_�O�D4�_ܴ@�&����~��l��E�����q~}��$����;%�� ��r����<��d���<SB!ø��m.��>�����2�����[)fI����YA$(����sBY,	�x�nA�|UoV7�Ϸ�ק�^��P�֫���꫿ݼZ�����_~KH�,1
)��aW��I4�(3�I\g1�0!��_�.��z��/�T`X��y�٭W�����⡨Dϋ�>R��9��.z��u�s�`�X�����xv���#f������1t����7���
�_4��Ev��P��,

b�3w:����4͌L�^!ŵr��]Q�6�"�̞��p�L
�H	��G8���-�9qD1FB�4�1��%'1!fK���n"q���cQ�j]�Z�߬
~˜V�ͮ��r�z�1"�?a��mnU��۵ۆQq�*W��}|\չhf�j'��b)%���#.�������v�YY
Ĉ�}]������"D���V�C��ʪX�7���v�߃R��l [...]
-�s��e�"H��
-I�y��_�l
�&ω�a�>Hc;8\�o�
�2fp8�p
��r���JĹA�h��j�T���!c���Rg��<<�&��~W�
Z
�	�3��~:gL�/ 	K
5�aW%�W����1��A~?�$�Į�־�Â�t`󄷳���
��"TϮ^�RCktl���F�N���r��
�Y"��vyFh=c���)�ɚI.%щ��j~�
-�hE8&�0�#�܅����9�!��]3��
h&�ev�\�k6.�
�4C%�ƕ �'�N5AD�u&�:i�m�"���<u�h1H�$d��k�
�#i�Jsk�w�pEͻ}[
-�א���}���5�n�2S ҀHK!�ɽ��*�	TF���Đl�z�e,5ll�A�`-p,��
�#@r(��U_?�P�!Ƴ

	�CKz

->��ݪQqN�S���s�RC���	�\�j��i���C��iU��ݗ��ۏ6��F��p.Q��~��K [�����ͻ�����w������;wGbS��biH&��:�dZ��jN=�
���T������ h�8
ߴ/b�	_����eZ����ybTH��
���7:�oʇV]>>M�0Њt������p*�e��8��Hlʩ^,�
&�%T

sZ���O}
]�\����؎�ǻ>!
8R16��c��-HQ���_�9;�|��V����f��WWe��
!�X�!����(����{�#AjhLڜbhM�N��~����^ �p�6�C���&�
�+�i ��^��v�_
����FӨ
% � ���PH� [l�
zb�].��ѧʠj��/�l/
�X�4�a�ڝ�ruW��]��^AG�is�����Ϋںk�rW�[.��C��r�σy�1�?b��
��
6�ۣ���P�w�#u��
�
D�M
N�*�0T�l
�~+Cu��
-~��)��T�-��!�
�.!{�
�C�a���_?�s�EDs��:�.w���@��o&��$���
-lx
-��N��N�WY
���!����Z�ΜD�H
b��E��a���<PA�8�c�9
���x
�x Xb}J��'X at LB�X�cM���qF��*˻q.�
#y��2~ C�
�
�<��c$�A�ٳk@�8��51�áC�
*1f�� �}�㡈Z�r�mp��<�ݒ'�XBW��cAM�
��
€�(�/,��ƙH-8��L	�'FCz/�I,�l��0,M�E��n���M���hF�[��c��
�%D�"o�MrLt�K�]x�
-C�
:m�������&����e��D��ӡ)D3b�͟���ؔ˼�	�Ǵ��}
4繏D�'rL@��L�_DbS��bQ�M�bC�
Q륆j����*U{�[�o�ᅄs�������g�ʻ�
-��)�:��#���>
|Oz��c��;1&�T� ���	��b�,�
ܟ +A�!\m��L��A@Z�!T5���u0RF�~��YF%����K4��@h���Лd��,�	�����L��L��L��b�	��I�mxl&E�V�Ùv�Ϛ�рpq�@_
U=2Q���Go�v�\A�t�Y�A�+�A��%'�D@CH �N��P*�-��|g���;j���ooF���!�z}�<�zr�큨�ONN��dr��ar��''N�L�,�
���rtr�z
O	�NN�R?6�E
RCvaB�s�ws`@77�E;7a]�����"B�![J�������
�
�k�sY����h��!
-NmQ���k(��дdB �
��%
�\K�"�s;Q�6�oo��P�t8��
t��koG
�0�\�kf� �f,�
��
Dz94bn4��<C@}VT�
-��9��f��k��uj�A6���j��QŕK���H��>�
l�u��R"���_q/98�N/�x�
��o�ȟ�O#�Nf
�@1 {){U1T>�XzV��:6�1��n���0?�)
�r8�񼻇��c��������?���U��hB,6�6/�k�R��"uD�*N���h��'�&�[��Z��RV����	�
-�D
�b�)�z1�f}
-`�+)���RC�=�Jʤ�O���nwv�t�
#�b�)�z�Sg=�ՇY�����G���*#����l�����z�V���8�Ǣ�O44���
�}�
B#��ߧ������<���sؼ�r���
���h
7�����!Nk�g��e��B��
��T�����E�.�
I�����܀w�c���
���h޾�׾���b��g�5��v)(n�� Sq����N�*��"*uP��f��߻}���m	NFr���=?
���˗�t�G�U��Qy���֗`
=��1qp� 4�%�<� G
�ؖ�r6�ڝDY���Uv�����?�d��endstream
+x��Z[o�D~ϯ�8���,�+- -��KYE��i,'�nK��s�י�N��ԧ&����\��'8�
p�z�����d�AFR�,�%	�7��6$��`�÷c��(�D��c����i/�h�]�!������of׫h��߼�zE�#���Ѡ���yu��L0��9p�#� �Ds��S^��<O�� ��0���QW����q6&:��9|�8!���
���:" �
�PH���ft�

��M�o
�S��S����>Z���
-b��:�Ec�뚃>v,z`#7́�i��<#��`*
�4ǢI)Rm���o�E-��	ŏ9��~‰DL�`A4B
{��e:���8����x1��?cL�x�l�;�7"�
<ߦyQ��.I�(���mWeK�'۴��'�2#\��FR�F�z��e)ED��%�AF�Ճ������v�#�@U*�|/���Ӧ/v
+���W>��`´BT?t��Z�s�0d�jm���!�F
�J�3�
0AS�
�M�5��:(�{����
+I���
_��w)T9�<,����k�H���z����ֆb��=�!��+�bW:�̱/��
�B ����?&ŪҚ��.�m�(ͳ��ja�]��޽
���h9�6�m�7r��W���Wڽ+�7��MX �QL��M�x�Y��� ����ChL�
+����O"�͋
�aR9�2|\�Y_�a�IUmO�/����&ǪȂ�	Z�lk�
+bY7yU��k3�E���|x��t]��=��@Z��~����n��B���rU�u�t(�,�z:A^�
Yl�F|v����>�B]#�Y�sw
/���*J�p�ɢ����e��D�Г�~��g�V	^C6�a
2�A7>0��"�+/���OH#�u�Nsr��`��|`��4^:��m
אָ秂u�t�#/�i��9`��\���7qZ
s� �s?�Z�
ˈ�0�륜B�3z)=�K%�X��mu.���p�@�nv� �u��~�S���8舾6��
�f}r0`cy��Y1̑��ɗf�'�Ȅq)��
,�sT'^�%��DM
d�A:'�2�
�e�P�߅�5�kp
��O� EYٌ?D{Dq ��<D� �sa��qy�j�!
�Z�5N�N���
+�bUu=7|}����FEl%�8	][���b��'��fE%E>����*s\�٣XH�a�E�n7I�> Pb���=��.[7�iˤ2l����
$�sg�$9
��s�:�	�k�.��:b �[x�/��� �U
+���}*0��z	�nMP>f�6��ݚ`1{�c��
���,�΀��	6���v�����ð] 	!�8�<��
�� � �
����+
*�`	<M!
=����z�R>_qUv��B?�&� �4Լ
L�-i
+Ad �����6 at A����L���<�0 ���y&aP�B�-������0<ؒh�V�	T�bg
+Ah��in[t�ny�΋�d�2��B6��PLa8w�U�N����ޅو�Em���^��#�
�Zw�o�#�գ$  V���,�K�+�G�8 �^���u�ʎ�Mi jR�AY�cP�H�O	p�
���]ڴh�^�᠆`�;���k��,���a�$�b���d�I�^�����H��1r��B�n
���ֵ�~!-��BP�~�a�)O�O`�N�]�wb��-�>�ɟ���x�ywբ�f6�d�*	wP��U�w��B����8-u�<W���~�ۯԎ�aG�V-�{���B�����P[���0�n0A��
w3���P�q7���`���[<�}
���[p�o��8�o�{��R��M"-����#�
Ș%nΩ�
���X�Hw�B�0e�:�⬅
�Z�p�N.���y��p��y��o���[ğǽ���PIj�c}����g`b7K@�0H�W#om�[ Z�m�hgJ8Z��1��O�B��_�G�}T�d��
�(肭_ ;"PN�Y؂�,��u�
�ʽ_��շ�2�΃F� �
eU������#���>MvJ���n}uX
��F�u�eCp6۬�A�‡����\��ߵ�
+endstream
 endobj
-2747 0 obj <<
+2698 0 obj <<
 /Type /Page
-/Contents 2748 0 R
-/Resources 2746 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2745 0 R
-/Annots [ 2751 0 R 2753 0 R 2755 0 R 2756 0 R ]
+/Contents 2699 0 R
+/Resources 2697 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2693 0 R
+/Annots [ 2685 0 R 2694 0 R 2695 0 R 2696 0 R ]
 >> endobj
-2751 0 obj <<
+2685 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.3823 677.0988 394.782 690.0166]
+/Rect [336.679 678.378 395.172 690.857]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-2753 0 obj <<
+2694 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.7227 434.5032 400.6078 446.9825]
+/Rect [337.382 460.959 394.782 473.876]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-2755 0 obj <<
+2695 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0594 205.2124 422.9245 219.9278]
+/Rect [342.723 231.428 400.608 243.907]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-2756 0 obj <<
+2696 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2749 0 obj <<
-/D [2747 0 R /XYZ 90 757.9346 null]
+2700 0 obj <<
+/D [2698 0 R /XYZ 90 757.935 null]
 >> endobj
-2750 0 obj <<
-/D [2747 0 R /XYZ 90 733.028 null]
+2701 0 obj <<
+/D [2698 0 R /XYZ 90 733.028 null]
 >> endobj
-2435 0 obj <<
-/D [2747 0 R /XYZ 90 509.1937 null]
+2414 0 obj <<
+/D [2698 0 R /XYZ 90 536.391 null]
 >> endobj
-2752 0 obj <<
-/D [2747 0 R /XYZ 90 494.6586 null]
+2702 0 obj <<
+/D [2698 0 R /XYZ 90 522.393 null]
 >> endobj
-2436 0 obj <<
-/D [2747 0 R /XYZ 90 281.1816 null]
+2415 0 obj <<
+/D [2698 0 R /XYZ 90 305.582 null]
 >> endobj
-2754 0 obj <<
-/D [2747 0 R /XYZ 90 266.6464 null]
+2703 0 obj <<
+/D [2698 0 R /XYZ 90 291.583 null]
 >> endobj
-2746 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+2416 0 obj <<
+/D [2698 0 R /XYZ 90 89.441 null]
+>> endobj
+2697 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2759 0 obj <<
-/Length 2824      
+2711 0 obj <<
+/Length 2006      
 /Filter /FlateDecode
 >>
 stream
-x��Zmo���_�O�
�����{۽�+��M�e�0�X�g�>Y�l��;E��h9��k{ȇX҈3
�yf(2��GfϔP�0.g��
<���rA��Kx�
�����N��AFR9��kF�	J��z�aN"�%���-�g�6[�[P<�m
��u��~(n��z����ϫ���>_|����;B�a��H��
;��H��`D���ub��xuv�7��pX,��0���|��du������Ղ�y^��-ř�L�o�;��L믟/>|ij58��
���b� c�l{�)������q�R��)��&l�)*LRJ
��V��X"��Wr	�A35ST""�n����m���]y�����t땏���V��B
-֫՚q��WWE��x�9��UV}:n�
e4�<�2�7�K��40�b�$�ߑ1���nA���\,9�⮍�p
\X
���u^�E�ջ��Fj�AZ��7�sP����N+�C(�/onV��}J	d�����{�MbHj� N�xzH�4g��8;�r�i_K� ���'�A��0K��������C�r��gU�E��BvY����>���M��z��Oz�0�����s��3�6%�ʎW�j�#s���vhNk�]�5�Γ�]�ϸ�!C��J�
,GLce��X؈!.[Ԯ=��T���[�&���Ϧ~��e�m��� -�İ3���+c3ʮX���_�F�8�L~�U��/�
�W��quu�;��|�ZZQX�AT�-�;�Z櫽K7�6�.dZ6{��63eU���n4�(J ~`r�P�gn��,������Z����̳j��Kk��Ű5�w)��y�RI
��2��a��.����h�>2�X?C
-0=�/���.o�}[@NY�UVԇ��ƪ�3#L����iF�)��,`�[�?%v���
��
-gٮ���7P�
-UbW݄���90�v�~(�
x�cK 2"
-6&8	ed��kX�O�>���.g
BAH�4;𐳴�!/wJ����4�JXe��K���P����<��ڙ ^p޸χ��٤B!�
-�90x�!$�Q����1�&��2|aLM��Z�Zhq�dw��8qvV9@��N#9�HJ�F��f+56M�$�
���+��&3	�	�U���9����:f�r�PGZ�E��96�%��%�H��Ķ�M�2͸�ݐ�p��,��0v�`
m|H�MP�y��
-I;�DŽh#�r'���# Z��'��#9�mo
 �АŘ�
+�zn,�^o8�%ǖ-j����SK��Ƙ?c	
��L ����WЏ�
�
-`�� Z9�~1���M��C�i��K0x+2]��R�+3aKpa�Voi�:�NVg$i���$,IWg�X@/"��M����j#�����b���-��lqΓ���q��v7�����w<0��-��R��ѻ/�r�p�H5�HzNkn�Ɗc6;ƢU��s`	�tհ_��۸z7o�7Y�(?��f��"f�ۄO�F�JyΧ�ؔO�؀�E��d�
-d�U{���W� ^�~�W���K{�
-�W�3

�&<ډ%8m�^HcH����X}�U)�.���o��i�(뷻�5
�`h[#t���� ���E��o�������>��Л���RN8BUrW�M��MѶ��;-���������amslc�����3�q�*�`(u:�p�!kS�� I*�
-��'�ϋ}]p�#}pdL��[�e:��௯�~���$�4��
�W�f��b��#>X�`�:e>������`
!��� v� d����!_eM����|M��^NM��A�����'�%���
�
c�p/=�ae۹�[T'PbS�
+˾�
+n{���E!
uD`�K�Z\:�
�Kt���z���L`֙3��N~��Hi�q
K��Kt�:��АAF�Ψg�8�����~��2�6�Si�_ �\�T
i
-�n?&�)T�\Sd
h.l
,��X(u��1�}�u�S�XJ�Y�&c��ב�I��dldL��EƄd,�����رy�
>Ej"�4�Rӧіd��q�������`x:�+�SG.�邂���
ώ��
n��<ËT'388�'�7o��8�=�� ���l�s}�����
�I�_��Y�& ����s���FD��v��BD)P����#��4��;XƩ��ϟ�?���x���'��G���'��	�щ5���������ZW!6
���:c	l
ȱ�Ɩ��"��$҄�8GE�eK�I*J��"�p��oO��z��2`���,IӑN��N�
 �@!?=�Nj�4nH�f&D�X�k����������Hg���
u*
�:k��&�[������E�>�f��ɦm�O�S���!
��L�9�ZF/�c|��X��V/5�:8E�P� ,DZ_۬l[l��QK�|�+ʺ��ã�xnf�h�ؚ���'x~�w�CVx�P����Aa;�e;n�b�P�~��+o��Y��.:����
 �{���
�G�����)����Mk�a1�
�w��@>�����u^v���`��
$b��ظ��wB�&Q�de6���P�������,~>�}v�L
Ug�4�:�� >@`�yri�R>�	�V�؄^��J�I���Ști��P�
>	���{c��퇂������_jXy
�F�FDǙ�,9�5Z{�4w�Vj������B ��e���Y,�l������T�]s��>O�Q�0TY���ӟf��_C:ھ�
�p{1�
d4���}]�./

��
�b_���(�
1R���
�X�e'4�%�<���-w��b���T�ps��Qٽ�0�?f��endstream
+x��ZI��F��+|J@��k�2Y�,3��H��N.3#��mlǘ�t~}^Uy+04�Ҋ�����۷���}s=�z)Y�HR\/�J$(	���1!�LB�1
��<��u<{5�x��
�E�~Joʸ|�N��n��..�����^�cK"�T�A����#�$�(o�xD�0�|��oW�f3	���,��d]��*qW^'ˤ�=N�9\R��1���
��
�1"�ĺC(�@�|=z�

��C�k�-�:��q��2�G]K�Rt�E
qQ��jT�7]s�ǎyt�QCP=I���|З�!J�ǜ�[o~0��Ӆ�xV&h�~4�c���)�yc:�ɷ�"Y�BC�La��A�D
�x�c�%�t
߂�%�wX��L��e߬js"��!��S\�n��lJ���<�TN�Oi����ş����&�3��'C"i�tWK��Yb�����.k.$�u����'�
�A|
ЉhD%��$ ����y�dլ*��L�VәS�_��	��j�.�,_�Y\ [...]
+�%Nh]T�q�
���	u�|r�|�ݧ՝S�L6E2��
+��;�#׶�ۺ��~���up��rB����S&�zM�;&��_�T�D�bڥ.�q$Aw�yS{��
�D�s����@�׭�2����?�l96{��Y��c�N_Z�Ji�#q�B�
҈af�d��"�P��L�F� ����;�!�5𓤖��J;��
U'�o��H� �U�iF��H��
�I�
�s��p�0ȕ</����������zO���C(�f���
ӰTI��z�w|�N���8b���ֻ�S�v�6
���냩�fn�+�b���<�c���$\iJ��
��a->$�|o"
R��{Jg�uRڀ�S�o����(y�Կ۞�f��,H&D�A7Y��QkԷc{�
/��vl��_��iӷa'��;�Pܳ������:��4�k��h��͗���&sG�-���l�3�Rxf��}�7�:y�l����i�5^ծ��-D"�ܕz�	c����vU��e���N���<��@A�5��Γ¨�
ul��t�f*ūt1��ڂ#�� ܽP: [...]

� �� N�%�����?%�^����V
+\����h��u
ݰ��Z
�͠� l���J�����4��U�����3�d�a���|`mM3z"0��
���=0W�Od<
�f�c} ��G}��
�U�\�NBaWi�9��{��w[�9�Ԩ�w�9��AsP�Bs㍣�
;h�;(�|
+4W
+z{t4��BsԜP��yȼ�aXv2WHru2�Hy)d.�0�	"sp7l� �,�H
�,O��g`�s�̟��G s�n����	��gh�������d�G����#@`� 47
C�	��ާ �
�й'}��`)���+H��kX����Š�$�؂!�9nPXkN���@��[��wD�c�KXk� ^�Hu]�a��
�/�&̓�X
���,�楚]�o�^?jh��
l�ӗ�U��
v� �%t9�
��盤�O�l��D��e�C�7ۦ����Hw�g
�8T�OY�x ���\�?K��L+/�SG�.��]#޽��Ƞ����#��W�,H��*��v/���_�]�t���i��~��N~�$�!�uQ�
g�f!5=�ah�
�A'"���vN��I�Rr��
4�~
YwJS��k9�着�^]��ߣ�m��(QZ]��j?�z�HQ[6��:o�fpqm�^��
�6
+endstream
 endobj
-2758 0 obj <<
+2710 0 obj <<
 /Type /Page
-/Contents 2759 0 R
-/Resources 2757 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2745 0 R
-/Annots [ 2762 0 R 2764 0 R 2766 0 R 2767 0 R 2768 0 R ]
+/Contents 2711 0 R
+/Resources 2709 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2693 0 R
+/Annots [ 2704 0 R 2705 0 R 2706 0 R 2708 0 R ]
 >> endobj
-2762 0 obj <<
+2704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.3329 594.1745 425.662 608.8899]
+/Rect [328.059 677.099 422.924 691.814]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-2764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 347.6818 322.4458 358.5858]
-/Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
->> endobj
-2766 0 obj <<
+2705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 230.3407 355.5118 241.2446]
+/Rect [332.333 405.417 425.662 420.133]
 /Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-2767 0 obj <<
+2706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 158.7439 268.3399 169.6479]
+/Rect [274.526 158.925 322.446 169.828]
 /Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-2768 0 obj <<
+2708 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2760 0 obj <<
-/D [2758 0 R /XYZ 90 757.9346 null]
->> endobj
-2437 0 obj <<
-/D [2758 0 R /XYZ 90 682.134 null]
+2712 0 obj <<
+/D [2710 0 R /XYZ 90 757.935 null]
 >> endobj
-2761 0 obj <<
-/D [2758 0 R /XYZ 90 667.5637 null]
+2713 0 obj <<
+/D [2710 0 R /XYZ 90 733.028 null]
 >> endobj
-2438 0 obj <<
-/D [2758 0 R /XYZ 90 410.4523 null]
+2417 0 obj <<
+/D [2710 0 R /XYZ 90 493.377 null]
 >> endobj
-2763 0 obj <<
-/D [2758 0 R /XYZ 90 395.882 null]
+2714 0 obj <<
+/D [2710 0 R /XYZ 90 478.806 null]
 >> endobj
-2486 0 obj <<
-/D [2758 0 R /XYZ 90 293.1112 null]
+2418 0 obj <<
+/D [2710 0 R /XYZ 90 221.695 null]
 >> endobj
-2765 0 obj <<
-/D [2758 0 R /XYZ 90 278.5409 null]
+2715 0 obj <<
+/D [2710 0 R /XYZ 90 207.125 null]
 >> endobj
-2487 0 obj <<
-/D [2758 0 R /XYZ 90 104.1733 null]
+2419 0 obj <<
+/D [2710 0 R /XYZ 90 104.354 null]
 >> endobj
-2757 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F7 526 0 R /F8 523 0 R /F13 567 0 R /F74 478 0 R >>
+2709 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F7 505 0 R /F8 504 0 R /F13 540 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2771 0 obj <<
-/Length 2666      
+2725 0 obj <<
+/Length 1600      
 /Filter /FlateDecode
 >>
 stream
-x��[�o�F��B��d�Z��a�
-4i{m�
-�ߗK��蘨D)���͒��\-�&9
� @��pfvv^�!Ef����3%2�����
���忟����/�ϯ�.��bf��Tή�� A	�]-_�	A�|A0���ϳj�]�<�x�Y=���*��gqSe�����o�_�g�����O��cK
G�hjX��Z�@2��2�;����#�z�ŋU�۝/�����y�ޮ�:o������9�󼼅K�31'�Y�g�]y�uLk�wg����
��F�h1{���1t�>㔹��٫�y>��ؾ�N������A
q��N�7��� ����R\���~��e��Hʣ!1���N0{�
��1���bJ7
���:��zS�֬�T����{�ܛb�2>��
�g�`�,�"���4,N�-���tH�d2
6"��`7//_�P�:�����v�ؔ���"A���X��M���'�����O�}��/-�Q}
-p}��#<8��sz~u�f�,C.&����1��
�$��
�6��)�K��ڼ���$� s�I**�ƬP�%@��K�m������5�ć	,�E$+ĕ
�z{$�r�v�o
E��c\����C�0��^��\e��%�
�S�5�pM9o���q�.�כ�98���9582������.���c�i��Q���n�7w����z����m��}>,&T	(����Pa�j��U��h~�UO��?Д�P�ߦ�A�/�s"�����G�@U
u�'O5�	�����&7y���ed��@R
�)+�1��H+9���u�W����M�V!��B
�
�}�q1��L
-���H����
r��r(�`��$��HO=�$̥�ԲWo�@8�P�N��S���&̄h
-��
��߾r�u�Q�0ә�Ϭ�.}��@ m�7�
Ѳ�
-�@��"撒!h��GpI�/���鰝���&n��.
�R��Q
�X �R���\G4��#�H	N�ߔ�u]�2&���k��9pz6'�z�]l7EY'
�!PmK8a�
Y�d��_�C��Sc���r
�X��d�!

�=�f����6s�f\eO��02��6�%l���E�<⒳	��j,u`A�8�ZHm,�n��U.[�3>o��W�-h��YG껩���s* ���*o�
���p��3\-��DZ)���	-�bu`Po~�)=o: ��v��hS\��Z���-��j���v2�nW����)�j�fBihR��I��~� b�_��C��K��CQ߻^̯x��H���>�o��jB+*
����Z-�U��)��ޗŻ}n;У�\0�.�!�Rާ:^�a���m)���ۼq�D�	O��P�#��Ȭ�zyy	U��wf�by�Uo��
�8�a���%-��ʄ���
�e�
����b};���_B
	I;��U]�]`�
l�(m�}5�<�`!�k�>��E���n�����Q�
^J�L
ьu��X�2��	�VHo�gS�cʃ�Q=9��~����������@r�B���e��H�iI#��#=�*;:�3���\3:�Hi?V9i$�Y�(�3Eछ'�?�<�KlW�N�'�H�<�U�
��/��A���'T&2Hh�&T��" X6���~jk�G*rj� �f
�\H7
}��g@/y�
!�@��io><Yz��\�a�0�!B?���}��&�\�,���l�z87��s��/p��]
�
L)N�s�pΓ} �
�;
-��Zy8h�d8
����Ϊ}��Y�A
s)��p.&<�#-�����KZ� �F���\��87�s��9�D
�	�bKa[Ť�9����A�P��M������	�Wź��t
-�҃�����+o�|�8I�;
-��wGVI��0GV�È_O�8��[jOq
-�ST��"���=��s��_=��G��QY�
-��귻�4���*��/ݶ@f�����G�&5�%�gÚ
-�@�y������&����m%���8�@��vD�h{`$�).fT@�$�N��~� �
�����,\$\��2�^�QM�@�B�
-�Ђ��
vc����o��mڣ���Tݻ��j�]g�[����]�
l,���z}h�
jU
.l�k�В
�<Wbv��ξ�r���k��j��iqw~�����#��\�)�J1���*�U���wU�Rm�yV�)��F��;+O�ƪ����Hh
�B?S�J4�J�V�%�ѓ
b6�Gi��NHuTc�#�j�Pꕋ�]WW�)^?���!���v[’0HM�u���$
� �4�S�푥
��&� i�~0�R�
:�N$��.�0��'F ��' �rG I�<���d�Olu�T�
U��x�"�#��9�DŽ��p�ő td
�'-r��#e��?P&�����
ZrN>vm�*�E qh����`��pV��p��Z�`� ����=H(Uh�P$���qu�̮��Z�Y�8Ek&(<�m�j�n^S?�K1��Ϡ��Ey��/)���������w@��O
�A]}i�
St�nNўvÊ��߻��빀Dߞ����lux�ۖ�j�����6�,$�Wy�-EX�����
���t��'�T�z�
�k����������ݡ}Yl+T�P).F/�lJ㐢 [...]
-���

�P���X����I#endstream
+x��Z�n�F}�W𩕀r�w�
+m'ͥi���R'0him�H�����;��*S��؀�I�j8;;s��ٵ�s�`����dp�R2G#-�t&7�Ǝ'	�8��s9$��K0��w#��~��ލ(
F����%�՟�u�'w��߮.�~lF'o�^�pK4G�V0i��gkҚ�`Dyi0��a�4�u���
��T`p���,ㅟ;��ܘdD�ЄS�8C�Y�s�b2�< �;$O��O��ˏؙ��#���VK�S�
�b�� ���2���S���oZ�x��|�/{#ץAz��_�ʸT���5q�{�I'�����Q0��
P$�{�М�+xH
ü/�V6����=y�fv��C
Q�
^�(Ja���G�� 
+� 8�mh��
<��Uj�V&�J�8��0.���@�����9�:\pd��4r`o
fK63kN[�
+�*�m��YN
���
+�2���h�h̓;\�=U"H����z.�p��5�a�R�=p ��$�4�</}�iԕUf��ъ�#��t̃UG T"�ImTPSbV�E����~N�e�N��k��o`)*�-�����s�dxw͈�a��;��
+�k�n�	;�I��0�,�
�P?�u�M"�y[�myi�ֲ��i*��I������S���-��v+)�a
 Q
���B+F

�v��1.ʪ��]tJ��t���*�J!�m��kS�"L� ���1�*#���!�Ȑ&dWZy����cYkA�x�ve8�cUW�g�
��
��"{��8
+B���
+z3�
ӊ���/#*�؁�0��U%���k�l0����#��c~��Y��v�F�2��
�<�l���+�n涩2BW����q��;��7�̄��&H�%;Uu4��,����L�a�ym2���
��
+�v��:5y
�l]�x���c�'����`v�'��	��f�T��̓(+ɦؖ��.j���g�
’}���
+�O�����d�
Œց�b�c�
AS�^�º�PmѨQ4�n�)N$F�c��HBV=�1�\<�/6�
���>�sךa/���!��6s�Kؖ��͎ �n>D�*�m;��$�_
+�O�-ŻC�*�R���S���
��S��%ߧhyS��m��
r�0
��I��C�����oN�
r�k��g2&��
8�vΔ��8irT��I��$�I�?�$o0߮��*q}s^������1�	��f(.O��(���5|�Ŕ�@K��yzЈ�P=0�(,���2�*�l�E�����#N�'t��Z
���C��%�8H�u�n6q}��
~�-9�c����Қ�+x�VG\�?{��,���	&�������7�����7䵋]W�O����Q��>1�
"��A� �fV���I�[���Fӱ�D]�K1E��O�r�Q�zԃ(pRpz� �'^pv�B�'��](D�@���"y27�DT�H�*ۿʐ@D
�������d��1�Р�x��"�w�M�ڊ�R���B�ه�W&�q$����[?\�}Y��/�+���'��x'�0
;�X/L	v��ON���<�u��ץ��i<>;�l6h�B�0��g�Jg�aT{!��Z�ܔ�eT�#ap�_P�+¿qzߎ
+endstream
 endobj
-2770 0 obj <<
+2724 0 obj <<
 /Type /Page
-/Contents 2771 0 R
-/Resources 2769 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2745 0 R
-/Annots [ 2774 0 R 2775 0 R 2777 0 R 2778 0 R 2780 0 R 2781 0 R 2782 0 R ]
+/Contents 2725 0 R
+/Resources 2723 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2693 0 R
+/Annots [ 2707 0 R 2716 0 R 2717 0 R 2718 0 R 2719 0 R 2720 0 R 2722 0 R ]
 >> endobj
-2774 0 obj <<
+2707 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 678.3775 355.5118 689.2815]
+/Rect [274.526 690.333 355.512 701.237]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2775 0 obj <<
+2716 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 574.9003 268.3399 585.8043]
+/Rect [180.659 618.736 268.34 629.64]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-2777 0 obj <<
+2717 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 457.5592 355.6614 468.4631]
+/Rect [274.526 489.44 355.512 500.344]
 /Subtype /Link
-/A << /S /GoTo /D (main_BHMZ05_widening) >>
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2778 0 obj <<
+2718 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 385.9624 268.3399 396.8664]
+/Rect [180.659 385.962 268.34 396.866]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-2780 0 obj <<
+2719 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0082 256.6661 276.1434 267.5701]
+/Rect [274.526 268.621 355.661 279.525]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHMZ05_widening) >>
 >> endobj
-2781 0 obj <<
+2720 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 157.1739 268.3399 168.0779]
+/Rect [180.659 197.025 268.34 207.928]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-2782 0 obj <<
+2722 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2772 0 obj <<
-/D [2770 0 R /XYZ 90 757.9346 null]
+2726 0 obj <<
+/D [2724 0 R /XYZ 90 757.935 null]
 >> endobj
-2773 0 obj <<
-/D [2770 0 R /XYZ 90 733.028 null]
+2727 0 obj <<
+/D [2724 0 R /XYZ 90 733.028 null]
 >> endobj
-2488 0 obj <<
-/D [2770 0 R /XYZ 90 520.3297 null]
+2420 0 obj <<
+/D [2724 0 R /XYZ 90 564.165 null]
 >> endobj
-2776 0 obj <<
-/D [2770 0 R /XYZ 90 505.7594 null]
+2728 0 obj <<
+/D [2724 0 R /XYZ 90 549.595 null]
 >> endobj
-2489 0 obj <<
-/D [2770 0 R /XYZ 90 331.3918 null]
+2421 0 obj <<
+/D [2724 0 R /XYZ 90 331.392 null]
 >> endobj
-2779 0 obj <<
-/D [2770 0 R /XYZ 90 316.8215 null]
+2729 0 obj <<
+/D [2724 0 R /XYZ 90 316.821 null]
 >> endobj
-2490 0 obj <<
-/D [2770 0 R /XYZ 90 90.6481 null]
+2422 0 obj <<
+/D [2724 0 R /XYZ 90 142.454 null]
 >> endobj
-2769 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R >>
+2723 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2785 0 obj <<
-/Length 2853      
+2737 0 obj <<
+/Length 2276      
 /Filter /FlateDecode
 >>
 stream
-x��[[���~�_��V�ٹ_i��M������5\��%"�2IY��3
�␣��]-R�E�p�e��;
��?df�L	�
�r��^�����i/��rH������R�
2�����fI����n�o� �X������yRn���
�����1]���_��2)�nn���ݛ�d�.���t�=!�e��H�@
��׎��L0����6��A�	�����6IU-�T`X��y��m�:uw~Nߧ��y����L�	�vѫ�n{��Lk�Wo���
��F�h1;�F�:�^qʺ��՛����
�}�]�1�!,�71بvw�N���4ΌDl���Z���.͓-X�K
��K�1�qlLK��zN��݊��#������c
L�0�H�����+%n�d�!E��-a#ih�l����
���\/{ȝ��

�*�v�1�F��@�����w��(�Bi#Z���
�GwK�~��Q��5%�*o�|���;G(�pI18�&�����7o|Ә"�Ǽ.܋ԓ�! [...]
-HsY���9�&�d��!�J
Տa�pNv�M�j�Uh�P
�	�	�`G�+�
�rH5��ڀڰҦV�] ��Rq���͘?�)FIP�� =�T�Q�C��
r\�wb�9�Y¤�k�SM�zv'��h�3��˗o܏�E?V|�3�]tѴ�Wu��	l��j DZ�t��E�I
�H)��x�'�G@��Ѹ�
�"�C ��y���Jw��v���L�;NOfŨ���
X����d����a�M�z"��H��Z���
-�[3$����},��C[��P~�1�'��x��F��$_�J�DZI�:-�uZI�v��
LX��.�|Ulw���7�i'����;ـ괓	�d�>V��uq�ہ[�����w����`	;٤��B�Bjﮒ����(ݳC�N�j���.-(��W��
�L�6�衣�����!2�a��n׳V�m��u+d�n�8E�rm�Kh��;�;��v_�kw��G5�^���A��]/�|N�|̊��N�<����d¥��LwVo��G��I�B��
m=/
�2�BN�V0�7��
���#�վ,�ƞ@�)���/�u_��%)0��̯�U�`j��3ՈK�H�]
0 ����{
+m_� �6��^����
�L6�PR����Y?�X�Q
��U���y�1z1ݷއ
�4��WA��V֮���/H�@Xϭ>�JNl�����u����]�n���8�.X���(#)��a}&�e@}L{$�VA��$�7
*
��|�; �fJ�A����c� ��=��mW|��ώ���gYA7
���{�m!��=�V�SC�lB#
‚#���CޚG�7��5�Co�����<���Dz���,�"���:���
D޽y�l�u�yQ(VLu�VU��F�(��m�[
��@ـm��GH��c���X��m�݉Q�-��@�� H�����KM*8���Aŏ�
� O?ڿ�⦻���P���}8i�%�B��))�D��/�/�ɺ�cj��9x,Ө���HB�B��K2��m�ܿɦ*ܯ4�>n康�xE����Pe�����41rt�L
�C��ñݠ{i�o�+���M�"Z�~3�|���ҕ�p˅	%/0�i�';�=!#�OLKzX0�:

�1H��K�!��0$
?{���"��qn1a�[xL�����E�t�I���&��Ⓦ�vJ
x�c�ý!Yl;�c���(m��3\;�)W)�fo���
ݪ+�����<pc_u��@<�-~]��v���D
krL�9��b��ȎU�7,�J	�s�\'����\����Xn�~b3%�.A��{��n&-i�s4w
^,��~����P�>v6���~{߭�l�]���n�ls\�.~�i+�
,�m
�

�k�� pnb�~m�bԔک�F�K=d
(�5�ϕ:W�;����'�:�׏>��;7�5
�}��L������TT(�֣�R��M���:]=�`f�OT+j��Y�Z
�"�
-�q��4�<�)¡ؓ}ޤ4j��t"LxR�	�MJ�g����o����0_V��{�
�lt|�
-�J�qũ&PkŽq+h
��g�VJ�B>Kht	��r�me�ܢI�}9Ek�(?٪�:���
��~ZH
h@�IFhp����<�Gx��h
=��I&�
�����
���X��1r�<�e�Y���	�����ӟ{v�CN��G��Gl^��)��Ef
-\��������
�q�f���Cm#0GT�^�������A�XGcG ���"��r�hz�����`��Bi�w5#I�L � �����cOu�?�.��
���>�i�뱀�&�[�
6�*�M�"��3���!���N��n{�K� !"��D�poՓ�� Q�c�	���c�
~G�<�V�d�m���8�
�N��Ѫ���h�E�~���_��՞�h՗�$Z�KգUO�_�V�]��s�&�Q	�#�^�T��#A8� 
�-��aԈ
�u$F������1آ%!X��
�am�j<�z�_��
7^��L�g#;!���k;ܴH��젘�l��g���_���oI�O6G���e�>�M��(�ɉ7i������=�e���˰�l_X�p��Nֵ:?������p8�U��y�+QV_C����6ʹ2��[�DY<�3-�2������M`�m�ySf?�m�/i(t:6 ʿf���endstream
+x��Z[o�6~����&3ëDۀ�[w�%{YW��$�dɕ���;��f˲��C���ύ���=x��a��fr�2`^����ͽa/
�x7K�O"������q��o_M)��t���E|�krW��n>����c�V�77?_�$�#�D
���E�ԯ���#��	72"D��'|{J‹4.��
+
�"��:�+eG�T����lC!g�'�k���o&o'�`�w����b5y�{K��È�5[3k�q��o�]O���Q�R�p Z�"�D�ߪV��t�a=6�=БG��j�VY��X(})
+(u&A\���w:�y����	2B��&�^9�4�tL��;��4Y%�Z���Tl����7��"���������V���x�C �<��
J
2��c�,�"��J��F
+
+�P�0��6b�OD����/�H�g̈́݀�x�_�F��ߘ���������ޕ��vxp)k�F֢
XM"E{�m�:&�D�b����V튢
+H#��ـN!�ɒj}
1�d���=�I�B< B�(��"����I�6˼N�4��;Q���YȐvA����?��E>%BoA�+
ia�W��>�ܤ�}���_i>j$�V<8,����L��>�&K�%ك�lq�MY���2��
+��ٿqZ��Ie�y�пw��Sj��S7����=H��C�
�L�
��f
�a�l	��p�^��%$��1Fy���}����ug��a�"L�a��l�(��U3��?"�$���^R͈�������.�z��r��y+��)%
+��9�,ځ��z*F����Y�<�������K�U
�%����jSVC�kLo�ѝs>�IYRG�Β��H��㻿�7؀���8 ɺ�y�s�!ڪpS�W�`ӥWmugw����=P���M���f��?���jfM!]0<j
�n�g @�|�� ��p�o�C�OFm���M�ی��R���w����*/,n�gk�f�՝�ȭ�`,���
+H�V@���w��J;]�f����cΫ0�}T&�4���_a��:�Y]���#g��f�6�
��5
+�)|]�4vT��c���(]*�1�c�a��P& Q��e���a�A!���6.
6+�U�� e���
�	!��pG�O�p�C�q~�}۲�C!��(�$Ȏ�8[�8�<U�dˇm�ۗ	����̒L�L�<6K#�1E�?�%���3g��в�BcG�8E�=�Tɢ�AU��@���4����d�q�)�����
����[K��/E-mk{-�i]*��6��>�� o�a��ɋa�4&����E3�
ӫ�ڲ-�Oӕ��v�[�['0ė���ۖ�X
�j�Ot%��w%c���C�)�t�nѲj��gƃ��l%�
���a�O�/��-�j����~��΍ՕQ��f at b�G�.��f�
�p��-`��6=��>o7�nU��I�ҍ���\�]o���D�ۚ��,t]��{�0���Z�Q������ۮr
ě�mt�xw���&�$����ɼF|^�K� ��Џ�K�B �?�K$�p��@��M8Y�x\(ѵ�������R��^"A�
�3�P�kl�2/�c�0��K�to�|��@���˯�{��26U��鞯(�;o�p�YA{
�85W*�*�dn�@��r��� [...]
+v���g{���Pƛ0�g�4��'MY�?=�8 	�+�ݷT�b�B��N������6���#�-�`}�o���Q�����k��ЇD[�
���{dx��fy��i�v-e�o��sl�M�a��йH6\������$�;�~
+��搰s
+�|��Y�Vv�V���v��_]��ɐ0
7���2أ� ,��kRX�Ia�oPFV>z�B.|�bv���	��שH>ک�a|�P�_E���w*B��'�n�
!C��Q
]�h�עP��<y�"�Vk��
D	8��Cѧ]��'_����E
����u���Nv�P:$���`�9
��i�tJ���Hw� q}q"q��Ĭo/N��Ѱ�#'��ы�n��)_�\���Խ	��6��6q�&�C�M>�[��!gܙ��w&����?���_���:�t ��!�^�?:"BB�|�3J�5�Z6��X�}��TŗS����&N��Z��Ei

b��@oH��Mt?r�j�Z����_&f�JS� H�
}�����j�ݢE�6Y�.PR]AЮ3��Bt�h2�6��*��C����T�� �Q|�
+endstream
 endobj
-2784 0 obj <<
+2736 0 obj <<
 /Type /Page
-/Contents 2785 0 R
-/Resources 2783 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2745 0 R
-/Annots [ 2788 0 R 2793 0 R 2794 0 R 2796 0 R 2797 0 R 2798 0 R ]
+/Contents 2737 0 R
+/Resources 2735 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2693 0 R
+/Annots [ 2721 0 R 2730 0 R 2731 0 R 2732 0 R 2733 0 R 2734 0 R ]
 >> endobj
-2788 0 obj <<
+2721 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0107 690.3327 513.9963 701.2366]
+/Rect [195.008 678.378 276.143 689.281]
 /Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
+/A << /S /GoTo /D (main_BHMZ05_widening) >>
 >> endobj
-2793 0 obj <<
+2730 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0616 432.6124 276.0472 443.5163]
+/Rect [180.659 579.381 268.34 590.285]
 /Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-2794 0 obj <<
+2731 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 335.9946 268.3399 346.8985]
+/Rect [433.011 450.685 513.996 461.589]
 /Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2796 0 obj <<
+2732 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 210.1795 334.0726 221.0834]
+/Rect [195.062 187.442 276.047 198.345]
 /Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-2797 0 obj <<
+2733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 140.8183 268.3399 151.7223]
+/Rect [180.659 88.445 268.34 99.349]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-2798 0 obj <<
+2734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2786 0 obj <<
-/D [2784 0 R /XYZ 90 757.9346 null]
->> endobj
-2787 0 obj <<
-/D [2784 0 R /XYZ 90 733.028 null]
+2738 0 obj <<
+/D [2736 0 R /XYZ 90 757.935 null]
 >> endobj
-2491 0 obj <<
-/D [2784 0 R /XYZ 90 506.9935 null]
+2739 0 obj <<
+/D [2736 0 R /XYZ 90 733.028 null]
 >> endobj
-2792 0 obj <<
-/D [2784 0 R /XYZ 90 492.7106 null]
+2423 0 obj <<
+/D [2736 0 R /XYZ 90 513.406 null]
 >> endobj
-2492 0 obj <<
-/D [2784 0 R /XYZ 90 272.6625 null]
+2740 0 obj <<
+/D [2736 0 R /XYZ 90 498.886 null]
 >> endobj
-2795 0 obj <<
-/D [2784 0 R /XYZ 90 258.3797 null]
+2424 0 obj <<
+/D [2736 0 R /XYZ 90 262.061 null]
 >> endobj
-2493 0 obj <<
-/D [2784 0 R /XYZ 90 89.4414 null]
+2742 0 obj <<
+/D [2736 0 R /XYZ 90 247.54 null]
 >> endobj
-2783 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F74 478 0 R /F108 2791 0 R /F8 523 0 R >>
+2735 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F106 2741 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2801 0 obj <<
-/Length 2662      
+2750 0 obj <<
+/Length 2316      
 /Filter /FlateDecode
 >>
 stream
-x��Z[sۺ~���S+τ0����$�֞�3i�>�d4�D[�H������.�"H�v����d�`\�.��a)���G/R�"͸\��xq�?^�8��ɐ�����R,4Ғ���]�A$(���ͻ%!�\&c�|}I�2�����%��j���7u��Kq[g������Vo��!�|����
��Q�5
�o,I �`D���&�D#„tx�ŷ��i.*0p�t������ʛ�.�/�Z���R�Ē`a�^|�[�T0I��>\�{�0�O1���n0"Z����S�ovo/����b~�=�1�!,�
��y��ۛ�Mq��Ȍ�S�r�:����
��Ru�HR��<AW�b)~5�S���Hi��sq���a�3��������7�Đ.`
-��' K
A:�?�z�l��P���\A��%�[�.����i���%D��TX����1M�Se��7�B��
���Q<Fxpa�]��22]�������lWo�O�
�E��yu�MDP��'Nڱ4�7���A���k�3�,"7�D!
���E�=�).����;�4АH�GX��T�*	az(ڋyW�����[BPo�;�`3�A���j^���PW�D���
��l�nM6S����k�buwz8*{D����-��^���&�Q}�h�
�WO�
_�X��˜���eQޏ5�Pk�"#�dT?{�'�S���"����cۥ�5��5V�k*���wU�6�9�U�3�rgꢌ8�b���;����6���$�6sn��ܕ
M�L�
-�N�7����lF{�?���E�|sq�����?�B(b"���	6ÑV�g�
t*M��4��&���T �ru�'J�T��
��!9Ȥ�vG�c���y�\O�S�2J�
-L驧��U
C� �r��W�@8X�0����辶Bð��'D�P�K��W߽�1 �Թ)�CWB:(����Ǧ���4T��í
&���G�� �$C ��3‰='���p:��;��EOn
�͹ѓ�r6� ��	��j*5�#�P��Ro|�6�����.8�
�pl�;�ʹ%l���]�
-��y�
-͌v�	��f
ۓ��mhX�8��R=�T�İ�ù!����20Iu0u?3��p[!�\�=�l��#��F���%Pa��v���M[�]�0���a�<�o=��q�����A�;1h�_L���ƒ�h�6�`͹V
�y�s�X���f����*�
>�1t@)�5�(�̟K�wxO�
_�X{�ר�wwv�ևi��qߗ)b
��7����	���H1QC�6�.sͲ��۲�p�
*;ۮ��8�t�]
�η+!$�B�mW�\�] δ���T
kq&=Y�%���5Trљ��*����lc�P�C�Ez��2�w0C��u���*��C�JY
�p ,P0�t�y���
�xRy씕���Тe:
��V�g���~S����(
`�uE	��(.������H�FO���ez
=�2���4/0
?o���盳��ܼ p��O�
T?/�6�Y�v��88`6�l��z�6+�U���bS���+c���baкw�>����K
8)�
`��i���f��<̌G��ϖ2�2}�՘T�.:5#
S�6#�
-��;㟭��ar����Wx��+�I����"?�#^�=U�(ؚ��	k�%ơ�Pba{$4��c_{�A!�@�eBS$��'�D
�
-7/�(�0�<)n7�[��
^S
����~�w#,�)�Mn��G?L���k����-�[��{u�����
�a9��
�7��a���X
A����@G�wymf؍]���.
D Y
y},=.3�uu��5�
1���ɀ��4�����`�Vձ
@���/
"4X�&g��m���j?Je��Ʌ�����^�XAţ�3ND����;/$�)S�l-؂��a�j4R��
�r@�*��~
�׿�7��1ښ�Y���7��9
�`�ɡ6qffHq�*>qcH4n��BXjO'p��13O���� 8H�4�1��n��?�ܡG(I�=ghߎ1DELy�]|���d@�u�ӉsΤCalj� 
-40 >�d;�#��m���ሯTGB��æ�Pp���_܌�#����5�� 6�}B� �0���`4�p3�O�Q�� ��_���(=tG����� )��&�EH*Mx�O ��)PʞJ'���}�T�#.�v�`
Jm���
V�c�u[�����t6�	��uHu
�R���t�I�5��
|�hǯ=�<����	�N��!l �+��BV����)���N9��k�'\�1,,�0lG�1���aNu26�{�a�Egk�@YǨ
-wDN�BR��?
�2\v����@�T��[
�^h��ƒ�;z
�����*�H�-
��z�j��� ��,�M�/���l {A�
��k�
{�2����~s�v�B%0�����`�p�0�t�Hʡ��`,�\4�Ϡ�)~Ӧ���� N!eF�_q��
��Lh$�~�����~_���O*�:�N|2�@����6� Zw���u��������^�a�5��f�-|
Z�R7�)�"������x�O>CA�#��44�}���_�y��ǿ�
ް(f�f�۶=\_]=<<�u��eq�Q�^
���^̠%��9�%=�D���LIS
x�˝Gt�ʏ�
�#�}�;�	�뾵LU����endstream
+x��Z[�۸}���S+1�WQ�^�dwg�m
���S604g,�-9�������HQӗ�L�-`0�(�#�]�9���� ?���ͮn"$(�h�=	dD��$�˂�!!��c
��
��6]��S
���ʪt����J����7�/o��N�?��tuC��,I8�I
��V�l��F&Q�u���Ha����s�ۤu=_P��XBC��m�F��w�AUs��XA��L�
ms����㌀
��
B"	����p�A�OF
V�����2����ϰu->��8A�@�������y�vM^�u;�����D
W#��`A�Ic�n��뼘s
~J7y�L���V���Ս�C�
+�P��uU�
+�R����8�g�8�y�g����p~
%1��4�6}FCS���Lj@����=⁁��<&�D���[��A8�c��Tʬ=��u5d��r�K��~�>aY��3
��a�^0�,�4/jc4�����8��a��|՘�
�qqn����
,A#�g�%��gĐඨ��.�-���T�Ba�ą�y��t
>2�����'
&F�_>i�)���2�5��G�N�������G޸���L�
��B�q0��Ly���
՟����
�5q�p�g��%� 5:���?�
c(� �*
������󅀬�z�*��K
��
��hP��t���q�C��x
+�q��= ���!���	�������@Y~�T���I�S@���x�F޲TS�����hKϡm�;�dK�����l���p�o 3���2�&���2�g���$��K������yR��b��X����w�
"����(4��	�21� �L��

Q����.'r at h���&v��a��^w q�E*m̪�8F�Įʷ���9��r\�ݫ.Zj�B���	b���K	r��#�AQ�.]N��I4�c� ����\\ު�t��x�+�bg
AA�����@�m���RZ婑�n��T
<6��~{o,rSaЖj3�Mo�)��ZD��
�$����k3PikSS�ca��z"��6ϗW��^{׬;Hr��u�6��V�"��W'OǀrT7�A��Ҿ$�_��^�K!����b�{Ae����W�z"�EA;���Q|E�Ȥ�KD��N*
T
��-~�F�m#'��hd�F�ׇ���ɷy�2��%�X'j
�>7U�+!
+�^0J9�p{r��P�
�G�#��`X���N�*��p����e��,o�k�N��
�ƈ���m���qD��	;�)}
+p��}���I2F��B���� >�T�K�*�D���ш��T�i��v���I�S at O�2Cq�r'"u�����Q��_:���Bۄ7��h�.M�*
�j�����V.E�\;�2�	���H�l�A_ȨG�ԮS����Q�|4ܨük�
�)�{K��f�sr{�J��)�Ä#��Lȗ�
O\N�4��\|���y+��yT�2�)�bƮ�� r���n����A�'�?Iٶl��@xά���7��M��_
+�s��#�=/�/P�ǎ�9_��i�"��֏��֏��j�H�-�3���=�k}m�֟���%�+���'��Q�'A�

G���?�z���`
ˇ]�RK�z	i�T OYJ�.��=T�1�2o럖 /&
)�Z��pfY�1
+U%�s��)T[𓔷�K��h
TO���d�QN:���?s�G[����h{9/:�w�5�����C�!�w�D/A 	�<0I�?�fd
��V�R]�	o}�6�i�5��
�k����&/2����n;a���;
�+;�:_��W�W3���e�ĈmhN͇�@z�x\g�]���
f���
�}P�~9\��vrB����f�	
۽�
M�U��~k�sb/�Ỗ2N�)
d�o���ʷ�
��0�WV h�a��I��H��*������{
+u��
L ǀ��Ό� 4k���U�A�S�!��
��Ζz�
�CV:���u
H���U6��W��
�p��m�I
[?i �xn|
'
N�	��H-����S��
+L�v8����P�l������
`�#v�C��
�GLE�g
�~
9��
d2|�y4�#��u�]B&�s�RּZ5�
!
Þ�/!�ŝa��"��<�� ��@�	h�aN�;�D1�rgL��D�w�Gi%֯L��.0�H�j\ъ��v���Z]en�S��s�'�/�J�}��ʼn�6Vu{x��oW)���c��/oU��1��%��1kC?i�잜Y7�������	�j�/�]���
+vSW��[������Ciis[vz:�GJ���	M��?�&%�
+endstream
 endobj
-2800 0 obj <<
+2749 0 obj <<
 /Type /Page
-/Contents 2801 0 R
-/Resources 2799 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2745 0 R
-/Annots [ 2804 0 R 2805 0 R 2808 0 R ]
+/Contents 2750 0 R
+/Resources 2748 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2693 0 R
+/Annots [ 2743 0 R 2744 0 R 2745 0 R 2746 0 R 2747 0 R ]
 >> endobj
-2804 0 obj <<
+2743 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.2237 678.3775 256.77 689.2815]
+/Rect [274.526 621.557 334.073 632.461]
 /Subtype /Link
 /A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-2805 0 obj <<
+2744 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 578.8854 268.3399 589.7893]
+/Rect [180.659 552.563 268.34 563.467]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-2808 0 obj <<
+2745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.224 427.32 256.77 438.224]
+/Subtype /Link
+/A << /S /GoTo /D (main_H79_widening) >>
+>> endobj
+2746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 331.174 268.34 342.078]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+2747 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2802 0 obj <<
-/D [2800 0 R /XYZ 90 757.9346 null]
+2751 0 obj <<
+/D [2749 0 R /XYZ 90 757.935 null]
 >> endobj
-2803 0 obj <<
-/D [2800 0 R /XYZ 90 733.028 null]
+2425 0 obj <<
+/D [2749 0 R /XYZ 90 683.993 null]
 >> endobj
-2494 0 obj <<
-/D [2800 0 R /XYZ 90 524.3147 null]
+2752 0 obj <<
+/D [2749 0 R /XYZ 90 669.757 null]
 >> endobj
-2806 0 obj <<
-/D [2800 0 R /XYZ 90 509.7444 null]
+2466 0 obj <<
+/D [2749 0 R /XYZ 90 501.711 null]
 >> endobj
-2495 0 obj <<
-/D [2800 0 R /XYZ 90 325.663 null]
+2753 0 obj <<
+/D [2749 0 R /XYZ 90 487.475 null]
 >> endobj
-2807 0 obj <<
-/D [2800 0 R /XYZ 90 311.0927 null]
+2467 0 obj <<
+/D [2749 0 R /XYZ 90 280.322 null]
 >> endobj
-2496 0 obj <<
-/D [2800 0 R /XYZ 90 126.847 null]
+2754 0 obj <<
+/D [2749 0 R /XYZ 90 266.086 null]
 >> endobj
-2799 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R /F33 481 0 R /F7 526 0 R /F1 573 0 R /F8 523 0 R >>
+2468 0 obj <<
+/D [2749 0 R /XYZ 90 89.441 null]
+>> endobj
+2748 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F72 471 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2811 0 obj <<
-/Length 2545      
+2763 0 obj <<
+/Length 2142      
 /Filter /FlateDecode
 >>
 stream
-x��Z]��}�_���9���6�"i���4/ۅ��5c5���r&��s)��(Ѳ��y(��H�uxy�=���
�df�L	�
�r�����3<��
q�
h_�
�y��{+�� #��=<�=H�%t���8'������<��]�|wK�ھn�u�-�Y<�Y�z��ߖ6�>������[Bz�Ñ2�
��:���#�
w�N
"LHg��]�u�
�
*0�f�<��Y�wO��Oy}K�</W�Hq&�K��ͷ�cΡ�Ib�������l
���#f����
F�:��p�����������}!5/��k&�2��`abCB��i���~�
��Ȅ�R\+gм��2ہW��29J�T21�"%\��6p�b�:��8�#���P�c2F
N$bB��C#9;��-����\��K����*��.�����C��N��d�JI�<
��i��¨�Bi���5�G�>]a���D��)�	��(�E��
�{�R��d\������>t)�T݋4B�Ռ�%`pd4�P�MqH ���&�9ѐ�
��4
q-t����~v6�{	��ڬ��;��8RQ�C(�	��(���. �
RU@�G ������Z���u*t$�J�8 �N2*T�7.F��l��]��o
����5Tu!�h�U-&�˒C����r�7Z�ƥX΁���Q at I���e���|
�G���&1J���c�
����ԫ�qh���ۼ|n6˼��zj7�ZO{"X�A
�"c0�A<l�ꖊ�
L�j^<ٿ�M��A� ��$��[2_;��xp��Ei�D��U�j�l�m��$�&0��f]���H4B
�
�YB.�饜����
]xD3���d���l�. ���F@D�-�a�Vc8q6�z�pP��/��]r�֑�0���`�'��SL��D�+
��	V���L)���)�PQ��S����
-�S���oǒ/��ق)�
aċ�nuH�����"{����=N�M�@���1_�- �ro�,��W�q�Zp����>�ᆚm����?��U�Em��'�%A1|��iR�[�'�+�+�.!ƛ�� ��	b!IC0����4��DO{$X���䠠
(Fb a�|$vj$����g+�7��gԫ���-!ħ�7H3�ot��"���?_=���E������uQ>Y
��0ٽ��k��٘�
-.���1߷:��X{��B��O��E:ރYB�9T�l[��Y�|�5#P�.�'=��`�Y�
��#0}ADE+��
��_I+�Y���=
�(�U�ۃ��߶�ͦ��J�����X,qxL�0�Φg���q����R�ӓ�. ��d1 ��
[5�EL�@�Ml�����q)ňY��!
����X�HcɝXS���$�jjM�F����՚����g��M����y��-��S�L3�d�P�/�hy3�e
�^�ˀ�lTF�8I]�s���۲f���q�t�<{�Rxɷ�l�t�
| 1LF�%��]w)S,ʸ ���4���γ(��W��kY4��	
�H�h0�<��ȉEG`�,��Y�	T����uӬ��zQ%�?�9��:Dg9Zc�p<uޓ�Í5�`��5ۘ��3(+�M��8�Z��^��q
��H�U�@����jSf���6�VA!�Ʋ�
�4E�]�=��&DD�� "����z_�T �n<�tD�Aq
J?W�'h���)�#����v�>�W\��&��Mz�mI�3P��v�N�?���
Va��
A�$5
��L
X�?\Xfur�g�߉
Ԅl
��.�L�c
-�Si�)�t�����s�o��nv:,O�� A�
J� Ҡ��K at F�M�)h�G�ɴou�L!�A;�v&`�PGH̢҄P� 0���Ix��g�M8��Y�ٰ钎������)nC.��b6�_�dȳ�f�.��z܁XP�Mt�:�ӿ�U۲;���}���b�p>U�m'�`�7���Ο��6�LK�z}k�﯐Q�t�č�hfvЏUޖ����޼.Wպ���1
 ��]5M�n�o��:o�uyH*]Ĩ@M}�SBzR�`�=���=��
�
�}�
�����|�
`{�-!���)��-��w��m�ߵ��E焮ź�@9z�F͋�}��YC����Q���B#��[��z,׹���Ÿ�,�]%��;J���%�3��X�w�0�̸
-cz�m��t��*�n[��c�T��y�g�p��-\`�Jw�i�4��L��Gg���wU[��fJ1�]���n�r)$Af
)/�d$n
��mH%����o�z
։~g�s��R ��9�׫*A�x�x+;��ھ�x{&X������H�g�W��6D
-�E?Uj$&5p��v�%��n�>�ADe�U�]�n���n���n�}��?ڃz7y��ʣg%����@�.��Ӈ|�W� Q���֟f���޾�a�{���i��~�4i�������
Z
б,�5*���~{7�T4\���[����LK�
DT˓�����t;��pמ����.�P~��]endstream
+x��Y�n�F}�W�)+Q����f+A��M&@v�
{�2�H[L$R!������7���;�f ^��]��NU�i���ǫ7wW7oeh�%���C�i�$#���.
>�#�z�(��w׌Βj�,�]s:+7��,���?��*���7�/o��.��x���[�j����1�Z�u"��%<j�&th�B�
+|wI��6I]_Ϲ�P��,��6I��'ﳇ��f�,+Vx��P��F��wW�_1���pE^m�>|�A��?�����Jm������W���g��!�R�В���m�-
�
GX/<�
��V�y�eE��e��I,%�
+�Y0C8������<u�,�L���4?
+����Gn�E��˹
��Ŕ���.Ye�4�fE��E�L�t��!R���6�PA;��A٭��`eN	����{
��ɼ�P
6�N�C^l�"��
�9����
E$��~��4�'�"��{��I$���5�'g|��oJ���I���[w��'e態�C�m�3�6����@�hYD���e����6������H$�5Ň,��ɪz1���3r$����Ƅ�p ��v�JvYzי���~���y0�ć)%Qd�PD�j�1�#���.�?囍�ҳ{/ެ��_������}վ��Yݸ��H3��g
~�>tZ��]��_����j�?��/���z����=N�O�\����t��.��=v���40��
{���
~��u�O\|2�I�'��V�����
+V��q�UH�Qh�
`�����5.Vx�TI^�ۄK',�.Q(G�����/%XX��[�
w<̡5��[�`^V�x\5��=T��k[�L:������<&!�(�
��4H�s'
�����N@���Dƴ
B𹷎O0
+�T�x�
?`���΂��~^��
���β*���ƥ	�P���g ��>� )WO��!scn6Ǣ�eF�d<2&R�#����D��"�է�ߠ�K5Cԇr�ͱV�����%avLb!��0�
+�Ƚ�+�)�jQ}ѯ%�1f
+
��	EX�F���x�xl�$4�r���
�c
�$��qM
Z�t� �� @
�m"l��d���؄�ĸ�b�)0!N"�(a<
����"2A�d��b4��\�ő6�E���G䔢-��3Zzj��I�#f��.��|�
�_b������$����ĥ�4��؞�v�i�W��D'
+	�	<O����\.6��e�(P$���]�q�E��`4��E����jD=���e�P�{53�U�~�{��U��n��3J̨��h>&��U��e��nMI��^��ԁGZ
�v_{���L�e�a{�{7�U�~T���6�3� �l�G��y��
b/�A}(p�ˍZM�Xl��Y/��B�s��Vp˾��J۔��0V34����gÃ�O�'KK�M�DWɾ���+91�
;bx�҉�nx�e�{��&'b���s���������i8����S� ��2UJ��I���	5�%��%��&�L��}�O�:��%F�
7ĚP��r�h����du�aPB��Ҷ4���d��B?������d���
b�C��6�'y�Dܟ04��>[Vv?�{:a�dD���ʁ@�	�ˁ7��h�Ҥ�ֻ.��e�܌��YA�y����_g�g~��@<��R)��a@�:�U�����k�X����to�<����T�+
?PM�Ϝ:shg���
��[�Zm�ڀ�!o�M�.��q�]7��(�L [...]
���"���-h��~Ӝ�����iv�����'��ɾ�wɛ��nss
t��qVu�xh���-��-�x���������
+endstream
 endobj
-2810 0 obj <<
+2762 0 obj <<
 /Type /Page
-/Contents 2811 0 R
-/Resources 2809 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2823 0 R
-/Annots [ 2814 0 R 2815 0 R 2817 0 R 2818 0 R 2821 0 R 2822 0 R ]
+/Contents 2763 0 R
+/Resources 2761 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2769 0 R
+/Annots [ 2755 0 R 2756 0 R 2757 0 R 2758 0 R 2760 0 R ]
 >> endobj
-2814 0 obj <<
+2755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.3343 690.3327 236.6587 701.2366]
+/Rect [179.334 491.517 236.659 502.421]
 /Subtype /Link
 /A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-2815 0 obj <<
+2756 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 633.4377 256.1568 643.3355]
+/Rect [128.635 434.58 256.157 444.478]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) >>
 >> endobj
-2817 0 obj <<
+2757 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7077 517.468 250.8953 546.5338]
+/Rect [215.708 318.519 250.895 347.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2818 0 obj <<
+2758 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 471.9055 483.2121 502.8742]
+/Rect [448.024 272.915 483.212 303.883]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.3762 259.0577 385.5187 269.9616]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-2822 0 obj <<
+2760 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2812 0 obj <<
-/D [2810 0 R /XYZ 90 757.9346 null]
+2764 0 obj <<
+/D [2762 0 R /XYZ 90 757.935 null]
 >> endobj
-2813 0 obj <<
-/D [2810 0 R /XYZ 90 733.028 null]
+2765 0 obj <<
+/D [2762 0 R /XYZ 90 733.028 null]
 >> endobj
-2497 0 obj <<
-/D [2810 0 R /XYZ 90 624.5132 null]
+2469 0 obj <<
+/D [2762 0 R /XYZ 90 556.444 null]
 >> endobj
-2816 0 obj <<
-/D [2810 0 R /XYZ 90 609.9504 null]
+2766 0 obj <<
+/D [2762 0 R /XYZ 90 541.874 null]
 >> endobj
-2498 0 obj <<
-/D [2810 0 R /XYZ 90 451.8726 null]
+2470 0 obj <<
+/D [2762 0 R /XYZ 90 425.614 null]
 >> endobj
-2819 0 obj <<
-/D [2810 0 R /XYZ 90 437.3098 null]
+2767 0 obj <<
+/D [2762 0 R /XYZ 90 411.043 null]
 >> endobj
-2540 0 obj <<
-/D [2810 0 R /XYZ 90 333.7758 null]
+2471 0 obj <<
+/D [2762 0 R /XYZ 90 252.84 null]
 >> endobj
-2820 0 obj <<
-/D [2810 0 R /XYZ 90 319.213 null]
+2768 0 obj <<
+/D [2762 0 R /XYZ 90 238.27 null]
 >> endobj
-2809 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+2472 0 obj <<
+/D [2762 0 R /XYZ 90 134.652 null]
+>> endobj
+2761 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2826 0 obj <<
-/Length 3397      
+2778 0 obj <<
+/Length 2558      
 /Filter /FlateDecode
 >>
 stream
-xڵ[[��4~�_�'6SKtt���V-�@��U,g���<��!���p���۲,ٲ'������n�Z}���!+
de�J	�
�r�=���x��
�_o��fL���ͫ/�Xd$������$HPBW��ք r�!��������=|{K�ڿ�wu��M�Xg���������9;�?���
BFl��H�@
��G�L0����>�� „�	�~��?�Y��n�����u~8�6wO�˟����u^n��L�	V�����Ac�B����כ~«
(�����b�n0"����S�o�7�o�����u�%F���P����]�������>��:d����n~��b��O�'�Zw���������V�]uȊ��VO��Ǭn�l�n�N�-�M5��D���j�x޳�{�͘�'p at Faҭ/�H��V�U�Hlgl~��C^6 �C�
̱{W|�~�w��?�W�]n��i�mE���~�
���n�o�6e��IyK}Jp�H1%z�G�X�5
u~��&/�|�	Zv��r������KrP��>7��Z`Ȫ&:p�1&V$��X� �n�1믞R�
-�
e��h����G�i�)n�H�EXk��	��~�-+e�bF�F�XN
��
im/��!�8���Si���$$�HJb&ʀ�V�	� G���
f��sʰ9j-����`d;�l��c�֧<��J�1�*p��	�#I��²��'6�9V֧rl�U at V#_�
-:�
-�ʄ
���)�7)E0p��YM�N��Sw� )wA�޺%#��Ӿuז���&ܽH9+�1N���6���d6lx!wU�RV���!�]/M�~B
-�7Cp�wo���]�n
-|}��cx���c�
���W2@R�?���M���	��&h �3m����Z�f}hM%;H)Ǣ|ӿ�idmUOŤL#-a	ca'I.P]t����9���Y2b��
1��
��
�̝Bs %�,�2����!e������I�& \Z4� �@6����fAeU�
�AL
���8��šS���1f������"����2S6�aJ�c���p�ds���fu�=���ȁ!�rJ����թ91��C�3��`�$2C=�g)����8��)���(�E����N�(!�q���
��Ip�qS�~H��}��V�.�$
�S�������!�
�r
<�B�!��f�
�@�b��gѰ��)-�U@@�c�y�v�x	�4X\7b�9�m^7w��	�
L)%�L�@=�$6P
v5��u��hx
-x݌	S�T�ac]S�2�����+�l�U
+}��x�����㾀����v^�P��IՓR�lI��,�C4(@i.7,��N��cA�
�-O�G(�#_�Ҥյ��|w�%����-�Ę�Kpc!v���m~��}�
R�/��L��z�.����;�8
,3����~skgB�0m�\�H��
�
��u$��s]Y�x��v8r~�Y�w�J(�j��j�>�E��Y�\ �sk�����:J
�墿�ɖ�ϓ�������!��9�#
-

-�
Bx����i
-A�X�hݤ����f�.���PAQ�[L�p�Sh�w�
S
-�2,�]^i),\;�w��6;5=�[9��V.��� ���3�9�D �r�Y
��)ܚ� �����
�A�ߌ?��q���t��{� 8��<(�� S,״
����6�p��=�q+�W�4j�"!�	8���#������h�%�������z����e�Z�*C���<�62f��
sWI&2A�c3(
�G�:�P��f0N
�M���
����و�E�y��~I.%�X���<U��' �k��8:	�|•C Ҝ^�9���0uWi0 -�9��E���9��^qB6�^rsG��'�넧��#[ȹ�ɠm�H�����.��!��3
>]u`D9��@C ?�e�Ԇ
-�
�b�\��2ac*�>���f��_A"Jש�&F��K#y����H#ݏZߥڪ8��?@��nTw���FI��.��Q"&�R�J���(֓= �'��$��&
- �(]�1�846B�r|�6#ABʥP4r�DAk\_�z��W�&��`�˗�@��r;N��!�<������CJ�|��zx��:E��(6�Z "T�ĭ�

(���v���b�H\�)bPP7ÿ����\Q�7�@,AL�ѽ�F
-��Q
�!�e:L+@�a�E�!f����b!<�:_�p�����R�/�R3AҵT ;g��,6thɖu��2�z��&e�Z�w/��y�����X���#�_�h��J��-!d셑(}&�U�.	`я�r� ���P�5/k��i�8�:�)��e#�d�+�1ق��K���aC#r6l�
�
��i#�љn��ӗ�}�i�n�� w$�������Rk��odE�PS�u���F�ұ
-�Ba���ј�|0�
-R����\j�%ۘJq�6<����-jd��̈́Iw�"a��
�b�+�I.
���]�n�r|���k�MQn�����Z�n(���Ǩ���U1�UxOb[B�awU���^�P��>k at gv �)�ť:��o���w��b0��j�7e��z�KH[��x�!ki#�Yџ�iP%��B@��[{�c��}S���q�Q�9U ���d�Z!J����u����Q1�����c�"�\G��T�@Z
-1]��
�_��j�Q���8�J�+$�%k�C�rc$%�CZ:T����>M������ӿ�w�8x�����3��n� .>D1���F
Kr�c�Ipu�z/���D���8��
&����m�.s{$:�M���UӫltԤUٽ)zC̜��`�?��S����=��&4�b�2q"��X�$盭����Y�XE��@�~��x�
r�Yy�<#���f��?$��
*�}��= g/� 2�v�U�w���Q2RRp҄ {����M��Yf�Z��
�"#j�r�
���
7�G�
?�ç�I/�g�RÊe{(^g3�
-����3P�=��P<ݝ��	-~��f!1�9�EL8I
d�u
_Ҝ��j�[>�5��-<
b��;i�9@
����ݝn��8w���$�
�����n����=}7>���3�y,�n��
�
Et�j0�m�!R��0df1X"��9��Q/�T
�'����K{�
-~�I�{����
��j)`�w���������
~�:s�
7�R4\� �04�
\Q�X��vv��^u���E����j��M�A-!�3�GZ/D�V��6km��o}�p�}�p7�k��/�B�{o�OV��?�X�����Eh{VVg�!����]� =(�b�����տG�3��f�?0�vƷ��m{�{���۷h۠SY
kT�������\��L8 ������,���f�2��cY��I�C�=�(��!�籩4!��rP��endstream
+xڵZY��6~�_���Tkap �M�!�8�٤ʱg��q�8$4bL�
+Iy<�~HD��T�,
`���1x����n����})�"F��bq�[�x
+�8%��l�vI"�5�/_�^&�!پZQ�������d�K~_'��f��?�o��Q����|���Y(�#ش���^��L0�A���C#F��~�w�(�P$M�ZS��XL��p,�V�'��N�+-e�£0`|Ip�h��xw��
2xA:8x�B�8=ܼ}�<�y�i
�U�E@��77���Yh)CXp
-bH���=��G����
��_�>
e�
�d�{�
�h
L���/��B���d͘T�'���Lۼ*}�CA��=���n�g�.`�k��b�X
+
kPA̍:>è�fe'���Y5��X�M�7x�fsH��昤r��Y6 �y ��w�q
+w����۽�F���.�aYE
w�0��~�H̢1�u at b$"��6/�����
�>��2D��[�Z���y۽�ٱ���M���R�mU��$}��iUgy�`>����ᵧ���_�t�x۽>j�����<'^��`���8
 ��`f�V�ZY7�kK�Q
�PH �aN'�}� J�h��]��_$�L�ݓi ^6m^*p�\�e��'�A���aMCģp�C�����Wj�3�Uo'eԝ u�V}�39asWE��|�8� 﫬A@��(��5`"���0��c��� *�y�4[`�}ڦUV
��T�֙�^�ݹa��#$jٞj0�s�a�����Izh*R�SrP�2)3u.��xҏ�W
D�U-��ld��L��A�XsPkA➰������j�A�o9�����2o��=�B��cg�+���,m'<B1�n�8���
cZ�L�Vk
��z��1
+�衘Q�9��R�!jS�Y
T(H���S���K��&E����宪�s�6\��W�\AB2^Bb�#����ˤ�_G�z��
mѠ�s�a��(����X&�

^�L��!��˪�vop��-Dݭւ~aBE�������W��q�!LmU�=��|����tkWH��N�>E�|IqbW�Z�ˇ�MO���y��F���TV��p�_�_��7���	�/���H���y�A��5Tg.Q\8a���8��k9�5'���wWEw
���|�+�<�^�{�ࠪa�l�����/GQL��4�R�Yq9�Z}���o1�
+���%�}*|���h,&\F��|T]b_Á�0�p�����N��2$� <Wt��6��:�:�IJ,̡f
�WC*�1[o�&B�P�b�An��b���~��3ң�kR�O�zW�	��U�A�P�[�N��G	��0t��ª��V���Ni"��h�uW���#k���Coi�uF.�l���J�M���*KH2��D���
nF�QUl�WW�)(��:J���
�yZ�����V�J��fMX}���*�C�ؒ�,�@28��b$Q����4A�܁bH<{пp����6�
�'�s�����#(�_4 �bD�t��
[�N
+����khl6��"�0�U�bS�;��\w��ffI�'���L
��1�CR�b�z6D~V.x(����~)��	��a���aM!�R���������l-r�GU� ����z=j4��h �j�WǪtf
1c2V���Ƈr�1[C��+�;'��X �/Y�؝Y�.M,`)�Y��NuTe
q��B�/�
+(�
���1��hm�[C���Ӫ��<�-v&Oy:��ڵ�C��0�1�W
#�̩��?���5X���x�l���
臤ȳmR?� �vN� )��]]9��*���b�!�nz��e;5���gϛ
�y��
+�����B��~+뺚5�ґ� 
����7�7�:C?G-�]�;�
藲ﮁh� p�
V���Td�u���R�X.�v�"�0@��a
@���~�R���L��
�@�>�_�I�e�������C~��e_WS�q
��ϞQl���>o��}�FC�-f�p�3���ͭ���q�{tI���"6��"��}y�
�uس�#�����P
+��^���ӯ��{�"��4��0
"�]��1��}�`����gvOk�X�u)��D������������OU j
U�3�f(~v�c΅���Nyq�
�#���	���ئ����K�l��w�@?#B�#�AU�k��˺�<ӌ@'g����1>��!B�����7� g��
�Ώ�������
�����:̥睟��e� %��������S'�z��r���ݟ�p4��5��3���v�	6�7�<��!h1#ۛ���^nw
��	3�9�0!��Wz� �j��z~q��0��O&K/U ��g�
�;Js٠d<�5�� sK� Q�t^��4t|�{f�B��
+�#"�����
���8�|�lr{!s�{0%��ޯ�q.}��F�[q�4P������C�9*���
�
kI�9FT��7���i��/����b�2M!���m{���>>>��A�2?�(oo�����ڴTd�Ў�����
j�����������i'
+endstream
 endobj
-2825 0 obj <<
+2777 0 obj <<
 /Type /Page
-/Contents 2826 0 R
-/Resources 2824 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2823 0 R
-/Annots [ 2828 0 R 2830 0 R 2831 0 R 2833 0 R 2834 0 R 2835 0 R 2837 0 R ]
+/Contents 2778 0 R
+/Resources 2776 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2769 0 R
+/Annots [ 2759 0 R 2770 0 R 2771 0 R 2772 0 R 2775 0 R ]
 >> endobj
-2828 0 obj <<
+2759 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 631.6148 239.8565 642.5187]
+/Rect [322.376 678.378 385.519 689.281]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-2830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 446.1437 300.1613 456.4249]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) >>
->> endobj
-2831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1437 408.9391 182.1636 419.8431]
-/Subtype /Link
-/A << /S /GoTo /D (main_expand_space_dimension) >>
->> endobj
-2833 0 obj <<
+2770 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.5022 306.9567 241.6898 336.0225]
+/Rect [89.004 383.594 239.856 394.498]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-2834 0 obj <<
+2771 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 237.6015 163.8226 248.5054]
+/Rect [172.639 189.301 300.161 199.582]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) >>
 >> endobj
-2835 0 obj <<
+2772 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.5494 177.1092 513.9963 188.0132]
+/Rect [142.144 149.136 182.164 160.04]
 /Subtype /Link
-/A << /S /GoTo /D (main_fold_space_dimensions) >>
+/A << /S /GoTo /D (main_expand_space_dimension) >>
 >> endobj
-2837 0 obj <<
+2775 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2827 0 obj <<
-/D [2825 0 R /XYZ 90 757.9346 null]
->> endobj
-2541 0 obj <<
-/D [2825 0 R /XYZ 244.4393 634.7679 null]
+2779 0 obj <<
+/D [2777 0 R /XYZ 90 757.935 null]
 >> endobj
-2829 0 obj <<
-/D [2825 0 R /XYZ 90 618.5736 null]
+2780 0 obj <<
+/D [2777 0 R /XYZ 90 733.028 null]
 >> endobj
-2542 0 obj <<
-/D [2825 0 R /XYZ 400.6899 412.0922 null]
+2473 0 obj <<
+/D [2777 0 R /XYZ 244.439 386.747 null]
 >> endobj
-2832 0 obj <<
-/D [2825 0 R /XYZ 90 395.898 null]
+2781 0 obj <<
+/D [2777 0 R /XYZ 90 370.02 null]
 >> endobj
-2188 0 obj <<
-/D [2825 0 R /XYZ 213.4267 168.3072 null]
+2474 0 obj <<
+/D [2777 0 R /XYZ 400.69 152.289 null]
 >> endobj
-2836 0 obj <<
-/D [2825 0 R /XYZ 90 152.1129 null]
+2782 0 obj <<
+/D [2777 0 R /XYZ 90 135.562 null]
 >> endobj
-2824 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R /F8 523 0 R /F97 1822 0 R /F25 344 0 R >>
+2776 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2840 0 obj <<
-/Length 2437      
+2787 0 obj <<
+/Length 2771      
 /Filter /FlateDecode
 >>
 stream
-x��Zms���_��CB͜`����L��4m��ٝ~��xh�>s"�*I���P�Rrl�e��� ��v�}�`����)$ҌǓ��O>C�N��=����7�'��b1�H�4�\�4b�%tr����tF0���)�QR����S��by�.�����u���ggoί.n�u:�t���;B:b��Hj�@
#��vH��#�4w#.B4"L�n�wE�]&U5�Q�A��Q�Z/�:�=қ����
�$g""X�'?\�3�&T��������Ox�����#�����FDk:Y�p�������o�
{�y �.��c�2�c�څA�-ͻ2K�3��|�m4���w�|^gEn�΋�f��u�t�Ѡnjrĸ&
����~��WEj�	Q#++��J���:͓�YƂ�,(R���uƒk7�(�VZ�Nˤ.�ׯ�5�~�ϋ����1��
i��b)F�S�B��%|mh�S?�K@GZD��3.yt��2F�dc�7�D * �g��Z�T�8`�T��z��Ƌ��$nLO
-A�/��M��@пk\�8�fD�
sC�zS�U at 0c�+��ܤ�Ԉ�����J|���޶���
��I�{��q
�Fl��)��I
R:�o]����7�����

1?U�y���nN�ЌiD5��
�G$䅬7��N�E�V�Ͳ|^�� o�Ko����l:c�Ʋ��9Ԝ'U�jgz~�R%K��=U!R����M��BN�(bR�%�/+�K(�Z����Ð8e��32�q�%Œ���ѓ�U�8;+�ڦ�dem�<D�0��ahv0�kp$ �nõ
-�f�{�o��{p5B\g6B n!B �
Pڌ9�� �R�x�#�p�O��eA�UŒ�Q䯛z��
@zO"B��t�������Qb��߉��ԛdi;�t]�UKd��"����0��zQ�
�(&~�%F�r(��v8�j0�9��U7�A�;0�N�����!�y
��(�e'N,�C}o�k�ԋ�ېA#�t|0�I���eM p�kf���y����
�q�
�ҮyF\ͦ��3οH���vM�1�����+ L��h���.�,���E�3�4���!��
)��ʽ�(���.kR
�
-���a
-��
��
����$�t��[R���W.s}J(8�H�s2{AÉ�!"�3	�X�U�ك4�{m���
.G�=�.�!�ݾt �o��8�*Ҏ8��
,Zn/��OIt~�]@k��C�&B
��Y?f�-I���������H�|���OJ�����BT���g��G��qdr� �u
w1�?#F
�m�¶a2 � ���

a���3F�e��:[fy��W����|�^%U�}�� �oo��/f�1]x�M� [�� ڬ��P1��K��P� �i
�f&LR�$��
����J�۝��>8
�W�I��� L$E["�G�&�S�
��M��ˆa���fkɞ�����L�Wom5�
G�M� �yu����8��-�2�
-ТO�L	5e���M�� �[�u���Ƶ�0q\��_�
��z���n�
��4
\r�Ԙ?�N�@ZJ?��F
D`��񏦀���E��3�tlm3Wö�]gLŘm	��q� ���U���%FI[�
�zJG����3Ud�^�ŗl�k�U8����uRJ�����6n���!��,��ĺ�C��!M���o��8��|!���s�]4�
����mKV?�_`��� ڙ�Q��o��3�Z��/)��]��=
��@���D�]b�~��+͛�o�lO��lP�����e.7�����%Se� #sO�Ϳ�����é
脈E�{F�(��T�&�
��R����R
��T��M�7
-�<O<Ѻ�w��p3��;&�.� / r
���Y a[ a\� ��i �4
�LIdT3=CLsCLW�=\9
1��0S`�Z
"�=Ԧ"��0b>ؚo��
#{5�����x�m=Nړ��TМ���to@�
-��Ox˫�� �;TUZ8a�F���vk�A�Qf�[�8����Fo�I*�֓@��z8�I�}��n#kG
SPBi��m�'	$p�?`*�U�ꠉ⠉�!�{&���J�T����"G�X
�2;"*j�Q|T����*�"I�|@���v`A���fg����j��)F\��&�oE�!�T?Z6=����nk��)5���~��/�����n�Q�hs��?�թ�ͥ��=�
,�����
ϥC8 Ĩ"{ =���B�����[,
�Lr
plqwD8�+��

�ņ��"~Թ��D5�I4i�킎�9M�ܹ]�D�-ߛ
-���v��8��tg���߫���
��ZT�`
��C����� >�_�.�twj(dz,!��&���e�[���>0�<aO)ˎ�{r�ͷu�>;=���C�
-m�l]��>]����z1%� _#
7k��қy�bsV��t��qU�X�rJM���P
P�_P�Zendstream
+x��ZYs��~ׯ`�`�U�hN
�ͺ�{�e;q6�J� o� r�D�h \��>=N��u9y`
{�{��>x�a�'ߟ��>��
+�$BQ@����$�$(�\/'7SB��	�x�fF�4�7����l�_�e
��%���|y����U�U���?^\�"K"�d¢�����#ʫ	�
"LT�
��r
�lNb���v
�ʎ�U�*��p��
I�Ĕ�P�<{}}��2xB�:�D^l�n�����`�@�3k3��u=yw��3�T�U
Fc>�4@$�[��x�J����>���H��
���dW,�%Sf�w��^��K������Z��+��B��&�w��z�?8����lrc��sF���n�:
�	�ݿբt{���\�,]&�;Tf�Z/���v�lTZ$YZt�޹��F�g=�:��;�D��;s���t���ꄑ���0BāI�E}]�9�80V�SM�K;'):���(�4.�\���;C����[��ɨ'V���,@�$P

+xd�{��P[���47�E���L�Ǡ�u����;��<������<��} iYĦɽ�k�f�
DI��_0f����q���S�@�fNgi*QHe5I�^�Yo�<I�f
�4���=$�ʳaT�W��U�W#(e�9Yޢh��-��X_��ܜ� ����I���.-
�lZ�I
+�`���y��a�"�'5��$���V:��9����EfW([���6��b �5�I�������w�~y �AO����:�]���
+��Ր��H�[I$@i��>
�b�
 .k.V�AG� g�B�� r�Z��>�f
��5���
Z�$L�֜B�uA9�~�LÞ%;b�{�"�b�>xøSKبE�����G������>�}FA[!c�
t��8�Qɴ���[���ke4L@�Y�V��^e���M��lv;�/�&q�����sc��,�}zD����v��Ǩ��ϳ� �/]z�I)�<
��î�i���G�΍�ܩ�I�0�	���
��Q�*S:jý�q�׷��OB��2{�m�
��#\
��t�
y�s���
Q�x����B���E�6���d��0 �B�\�g���u�
�'��n ��
+���A
�%W��U���j� �L��oU
+�>l
��� ()u��fIP���%�ߔiC�e�h��Y�ڏ��I!�
S��% ����!�#]WZdK���`��G��"-ʁ��T�7I��4��j�n�Hs5�ߪr�W�Gl/���Wiv���u=�{�
+:��X�g("����
�?��	
+gZ��Gu�oAͥN	������(����v�U�ٱo�mc��l
��=n���L켆
/�Aho�Gd,M�ZcG��< 2B ֝�8@����YH-H���*OT�tV�]��c���.]�B�^e
S[��P[ ����*�,��]s����7 e�X��M�;Лie7wY���l��z
(����[���ZJ
|B�RkQ㡩�O��k;�[C�GEϽ:4z)�K>=MF A�F(��:�x:�>
��g,�)��^Im+��]�>�����n�x��C�C
��.6�e
񰶆2ߩ�������a|�}Y���;o�* �f�@� ���i�%��w/^��B�N at Y/����(�2(K�V��#�&�w;yC�#�v��R�X�N���)ƅ:�i�&��j��� &�5��P��� ���
@87���~��̇��~A8�C�����
�u�h�����m��K�k{�ڛ�i�|�b0��$���F��R
ڬmz`	QT儆& k�UB��
��$8@����bj�Z�� ��S�����f^���,��� ە�]u
P��.�]h�W����r�5�����ci�~��*�:�1cޒB�iwV�²h
�t���I!b�{i�D�����X��
>�`�r�z��s��hǎ,�C���[W�e�3�@P��h<�I�F0�
������™�W8X�iT
���v��
�.M4,�֠�����X��x�
 K{oZ�Z��c(t
m��c��Ƈ/�׍
+~Ϭ�sGH�?$&���L�^;<��ZW�
�I�6Λl����\���I�7��/��
�!
��0��h��
Z#ş���vJ�GSz�]�!o0��"
�zyCB��y�
+;��iJ�D�_���bL;���3	��wF�ot�S~v^/�4�Z��@y�i�rZZ�OPOc�#�1Y��~����sݞ
+&x �it�GQ�!�$��59��/�D�J��v�e�.�m\ɇ�N�P�r�u�Y-��²��.f��3�&�f�h�
�)n�0��!X���G��KXڒ�z��b�U��ÑFzk)/H$E=#?�
��V��2d(
�5��)��w�#��"���zB{/�E<���m�3Gl����W����/�ܿ
��Z#T�
�K_��l
ֆμ���%s��S"��ͩJ������\��(󋵏�d�;���@����]軲n:��F2�4,�n-マn�+&$���h�CvL�S�h&me����hZ@*��;].��v�g��ƕ�z(s��S*sM�#�.S�l퐟"�S�P��,���9�Pnd=k�`o�	�5�ꢭ�I\��� F�S��4_q¢�;:�ehJ����ot���_�cu�j�!�}�G��ot?��}�}a}����# � ��6W�iwE6�z��sx+��Iu�ә�g�4�P�5@�*�������Z��m���b�]_
~��P!�#Y�}%���U')
n<�%�&�����
+endstream
 endobj
-2839 0 obj <<
+2786 0 obj <<
 /Type /Page
-/Contents 2840 0 R
-/Resources 2838 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2823 0 R
-/Annots [ 2848 0 R ]
+/Contents 2787 0 R
+/Resources 2785 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2769 0 R
+/Annots [ 2773 0 R 2774 0 R 2783 0 R 2784 0 R ]
 >> endobj
-2848 0 obj <<
+2773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.502 704.958 241.69 734.024]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 631.459 163.823 642.363]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+2783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [486.549 568.006 513.996 578.91]
+/Subtype /Link
+/A << /S /GoTo /D (main_fold_space_dimensions) >>
+>> endobj
+2784 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2841 0 obj <<
-/D [2839 0 R /XYZ 90 757.9346 null]
->> endobj
-2842 0 obj <<
-/D [2839 0 R /XYZ 90 733.028 null]
+2788 0 obj <<
+/D [2786 0 R /XYZ 90 757.935 null]
 >> endobj
-2543 0 obj <<
-/D [2839 0 R /XYZ 90 716.2211 null]
+2121 0 obj <<
+/D [2786 0 R /XYZ 213.427 559.204 null]
 >> endobj
-2843 0 obj <<
-/D [2839 0 R /XYZ 90 716.2211 null]
+2789 0 obj <<
+/D [2786 0 R /XYZ 90 542.477 null]
 >> endobj
-2544 0 obj <<
-/D [2839 0 R /XYZ 491.3508 651.5123 null]
+2790 0 obj <<
+/D [2786 0 R /XYZ 90 463.701 null]
 >> endobj
-2844 0 obj <<
-/D [2839 0 R /XYZ 90 634.7852 null]
+2520 0 obj <<
+/D [2786 0 R /XYZ 90 440.767 null]
 >> endobj
-2545 0 obj <<
-/D [2839 0 R /XYZ 203.8219 548.2034 null]
+2791 0 obj <<
+/D [2786 0 R /XYZ 90 440.767 null]
 >> endobj
-2845 0 obj <<
-/D [2839 0 R /XYZ 90 531.4763 null]
+2521 0 obj <<
+/D [2786 0 R /XYZ 491.351 376.058 null]
 >> endobj
-2546 0 obj <<
-/D [2839 0 R /XYZ 485.3732 468.8048 null]
+2792 0 obj <<
+/D [2786 0 R /XYZ 90 359.331 null]
 >> endobj
-2846 0 obj <<
-/D [2839 0 R /XYZ 90 452.0777 null]
+2522 0 obj <<
+/D [2786 0 R /XYZ 203.822 272.749 null]
 >> endobj
-2547 0 obj <<
-/D [2839 0 R /XYZ 125.5542 241.5086 null]
+2793 0 obj <<
+/D [2786 0 R /XYZ 90 256.022 null]
 >> endobj
-2847 0 obj <<
-/D [2839 0 R /XYZ 90 224.7814 null]
+2523 0 obj <<
+/D [2786 0 R /XYZ 485.373 193.35 null]
 >> endobj
-2580 0 obj <<
-/D [2839 0 R /XYZ 438.9984 90.9958 null]
+2794 0 obj <<
+/D [2786 0 R /XYZ 90 176.623 null]
 >> endobj
-2838 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+2785 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2851 0 obj <<
-/Length 2031      
+2798 0 obj <<
+/Length 1783      
 /Filter /FlateDecode
 >>
 stream
-x��[�r�F}�W�)KV���_����\+�X��T	Y�� #���

@�
�%m�,K� �FwO����$S�ccG�F����jD�����#�����=����7Z�
q����M)A3�8�����	c�Mg�R:y=et������I����yt�Cr�G��˗_|u��6Z��w��.�a�%�9I���@��WS:of�p᤟q�J�	���2�l�3�(Hs|��˨��;��7q>ev�s�e�PF

-
}}�x�;T	��_�
�}G�
p�%�Y5��%�9>^�$�`9z3���S=(?Z��)
��Z�fa�$�/NQ[w�6�d����#����u�F+p����\V]��δ�-8�T����TY/�u�-+q�v�Lq�^-�M��\�*&�S|L'�RE����a,Ƌ��
ϸ�;+�3p�S��Rڮ�a��
-<�]_02�)ob} �
�&_(�t���׹�� u��}�h��j�3�	����"�F�Q���O�Y�)@c�'=ii!&��nH	uF<�}"$q���o&�"�̾*px?����'h)%�:�g�-�h�����%ۦ�$}�U����]'�"��k W�"@1?io
,g�vo��d�	�iy�q�i�k$KY�m�Zo��Cnq둶��jX�u5����8NC�hG���
=,��ɭ(]�@nh�uyG�"Θ�}��	����y�*���tf�[m�`ز��>� � �-c��!���$�d�+�<�]��ɦ���?�
���<����"���즲*)�q�YH)��ޙ��J�L+��q���M@�Ԑ¢^�"����1:Fk��g���cFR����o�s+]��&ZnB���M�ƀ
�!�K6��
�a[���u*@v�s�T�Nm�ʾ��V��i���	.]��s0�S@�РcC���^�3v)�
�/a[��-���.��Tw�<�.�q~��+�
��
`Uu���+��D���
-M���!���n~|�F��U�;Fu(���n�J��
�S���F�k�ɧLMB�9W�	i�{����Y��
�g,�������t,�;,��a	�)�/<�L�XTw<���
��-��Wp�W��	�@˝=
O
��,�QD~�����ȓ#�>�m��	�lӮ�3V�ܘ���FV��d�	�`B� �����mE���(�xYŦN��
��/+�F��%n���1�uz�t�J?�t�
��8v�:RqX��8�v�Z����R}��1�� W�*�젉j�D�����:��%�BE�I�c�sM(��~͘�bx�D�%�H��t��'�N
��&��J/����=X��ĠX�i at 6�Ҋ�-w��1��=Z6R��e��va��E��Lz�2�
���2[\�����f_j,������l�K��'@�m��@��o�R�R��+�*�q�yq�.dy�b�a�/�P W�9@�AqϚ��N{ݡnW
-�'e8��!l�6a>
�
��
b���XS۰]MK���9��HB�
h�X���Eq˫$-�&���a�'
m���i�w�}n���&l��s��	�&�^��n���
1�����|D�H��P|�`�����
�Y���y�1��g2�4%g��B�#
�U��{�1�3�e�c��
�G�Mq�P��5�5��
�u� �A���S(��O|��S�ς�Qy���~�����^n\�<0���C?-���q/���.��;�̞�<O��'��)~�G��
)��)�5��>R]#�Z��O��*3�>R�j�=g�����+��=�����wB�ۦ�Vz'�9W��#׮�Ŵo qb(5����@:7�H��@:7���
��o�+�� �o�S�
���^��@#)r���:�����谏׸��O	���-A5�?(�����?��f�}�����#�����|��P���H�[���}�p�N���qP��q}�������'��蛖�r��ۢX������#�
٦�:'Iq�^//��@Y����g�fͤ]:���dG G��VY�VHRdL%�"���_@�? }�s�endstream
+x��Z[o�6~����f5ëHvŀ��a�Y�=����L#Ԗ<In��C��%����ِ�@ �st����|4���~=����@#
�0��
+4dH��$�X�Ƅ 2����|B�8�V��|B�8]�]�E�~�/�(�{�������hm&.^��HH�,�
I�॥�gՐΛ	F��.<64"L����b��dJc���j��
+S��1W&�56�
�$gbL��6G�.F���)�!$����j����:����r�*��u�
�1���
+�
-e��a�v�,��̋8M�fzU]��y�^g�m���cb-_�y�
cjU��
�h��b�8guh�}ՠ�{D"�h=�������������d����zS�n�UO���fm��4[Y�ls�������
+G�K���"���n���ŵ���f��7�K�y��D(zI�S��6�D��d*�
��-L�h�Ϧ`F	b�`��p3u�.������
*��y��	Xf������
a`!�&�ޔi��eU�"΋�LYۺ4ō1�g�	�q���FB6�d�����2bs�t�؄L�"͔
�E��,Jܵ�Ҷ+u���]�"�9� b�a��h.��&�<�59eR"&Hwҋlc<�akR��Zt�M3�8���h��l2
+��ɐ�?��s�RE$q�]���;W=�=%w��
2���
G��G���
�V�aLa���
�*b�Zҽ�E(�ڥR�@��+|
�0�oUnđpջ�
�RC��C���
s�l�q�ת��^�oH�@w�FX
�{���2M�����7�9�Is� ����a����c���
e�X��J
 
]�;���T<�%�)=�z�7}S
Т;@�
_v,0��|i�#a�<�����Y�IH8=��T8�O
��c�C
#֫7TH(�M�}�i5���
ˏ^`9��e‹
�yH{U���
|��o�M� R���	�cTR$��Ԑ~�5��]�n�����C`�fa�5�ئq���mٲM
�6
�
�B|Xz�8�2cyy������QL�� S��ٔ���J�����Y����� ,]rʡ֒e�߫%)��<>-�Հ�
�d�CZR -U_B��u%�I&�d�W+�EK&ۗuer�j�|nm�m�i�,+�R��L��jg�E=ܼj�x��rKwI�k���pƖqw�!��1P� -����c���W(lKM�
��
bvP0$�_k�l��xa�dG��.�%��=�������j}��j��/���fL�û�Ϋ�$)� n
	;�ajY��C6��'
�����K�<F�(K�ῂ8�D �/
�~�
��lH�o��Qz����%�5~��=���Q����8�]��#�e}?�F@>b���v���n�F�]�F	w��

�-`�G; 
�+z�z� Ei�H���-�F)i��}V�

+�*E���Ͷ�)7)P��!����_^A�c�Y�)�r9������8��8Nũ}*.�P��פ�N%_���"��E�4B�?��x�th�=4�ǡ	��
+�C
�H���Z� �
I[�� ߡ	`��Zl�Uܡ	Xۿo��R��Ƨ��y���t^�H�K�����⤆�>�Og#���H�}j�3W���̑_��_��@RL��[p��g׹����a׬?������gn�o' 0���z-��ٟ�)��M�ʀ�uf��M�Nb������)��~�Q�:M19�D�(�O��nnn�<G�$^g(.����Y'v=�����ԫ��}���'6�Dݙ���U�
+endstream
 endobj
-2850 0 obj <<
+2797 0 obj <<
 /Type /Page
-/Contents 2851 0 R
-/Resources 2849 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2823 0 R
-/Annots [ 2857 0 R ]
+/Contents 2798 0 R
+/Resources 2796 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2769 0 R
+/Annots [ 2795 0 R ]
 >> endobj
-2857 0 obj <<
+2795 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2852 0 obj <<
-/D [2850 0 R /XYZ 90 757.9346 null]
+2799 0 obj <<
+/D [2797 0 R /XYZ 90 757.935 null]
 >> endobj
-2853 0 obj <<
-/D [2850 0 R /XYZ 90 733.028 null]
+2524 0 obj <<
+/D [2797 0 R /XYZ 125.554 616.702 null]
 >> endobj
-2581 0 obj <<
-/D [2850 0 R /XYZ 125.5542 527.9638 null]
+2800 0 obj <<
+/D [2797 0 R /XYZ 90 600.329 null]
 >> endobj
-2854 0 obj <<
-/D [2850 0 R /XYZ 90 511.2366 null]
+2525 0 obj <<
+/D [2797 0 R /XYZ 438.998 466.543 null]
 >> endobj
-2582 0 obj <<
-/D [2850 0 R /XYZ 438.9984 377.4509 null]
+2801 0 obj <<
+/D [2797 0 R /XYZ 90 450.17 null]
 >> endobj
-2855 0 obj <<
-/D [2850 0 R /XYZ 90 360.7238 null]
+2526 0 obj <<
+/D [2797 0 R /XYZ 125.554 239.601 null]
 >> endobj
-2583 0 obj <<
-/D [2850 0 R /XYZ 125.5542 150.1547 null]
+2802 0 obj <<
+/D [2797 0 R /XYZ 90 223.227 null]
 >> endobj
-2856 0 obj <<
-/D [2850 0 R /XYZ 90 133.4275 null]
+2527 0 obj <<
+/D [2797 0 R /XYZ 438.998 89.441 null]
 >> endobj
-2849 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F13 567 0 R >>
+2796 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2860 0 obj <<
-/Length 2371      
+2808 0 obj <<
+/Length 1997      
 /Filter /FlateDecode
 >>
 stream
-xڽZm�۸����@��
��|�z����H���@kk�Bm�'�����%��$�r�ȇX���p��33��
�?23x��B�q9[nn��3���7��z�/B�on��H13�H*gO�I����
V� z� ���[��Y��>���x�]�<�*��C�Xe�����y�O�>���	c����vA��^g�}��]��W�D��r�7�9+�����7z�vKL���7>��
-���
F�h1;�F�:��p�������߽����XDa��:	�s�D��v�;�y���9��߽!$x�:.� ��:	6��(���DJc�O7���n�z�	���@lU�묉������</�W�
-^Ui�d�ï�q�i'����"�V�V�%�D������ ,J)ĩ]�B�v~���v�?1
-VTME�NG� �虈Y���Q$�Љ�İ��)��҉�5JX'P�[�V�͘2_}�B����ʻ���/��nWm-6Y]l����S�UQ��EYocNi/�^U�,��W���*��\�:�{��yD)e��~ע�S�(��� #DK4�-1�k!]2=e�}���)퀸�U�b�w����LxD�F��K�UQ��6�����v�ax������._6d����|�,�b�#�n
`/�\KBT�S��%X?���^�֖
5~ueU��.������u������|��Z�n�� ���
�yl#@P�������s��ob�AF~�Kc*��n�'=t�ԩ	+���^)�D��p�
-����V?��-hc��
�
s��>b8�kGn��./���#����
	�(���0v��ʼ-V���1��Oj�x�j���s���2��i�+k
1�Dl1	�wiz-�Z	���N��rOE��
�Z��h;�i��5� R�<
�<�ƣA�P�h*�рxi#�f�z\8 $�=����C�[p�>FRhA)�������u��(Wp�!nS������e��`H�
&4���D���a��u@��u��
7/O]�����s^�]m�f��
��i�^o-
=iZ�_���6
-
�Ĝ�C�q{I0P
�����5J�����Z��襦��
�ٳ�ۭ��ǔ���<&"Z�_�1\p���!� p[È��
->�K^�Mx��Һ��X������^—��)��o�r�>���Av:�5,.o����-�R��,
�����j��6�nv�b�95��9�	{�I'-�P<aס�gw��
YfP�L}����s'�.���O�0���Dی
�P�;lUr�R#m�m�ay ��
�f�8?��v�]0m@���0�AI��� 
��y����Rc[g]�	�g
-����8mzy�G�W�H:�F
I#�[V�#z�ѶuP���x\�����c�%��C�l��qF0�
5��lF����b����[�	���i�\ϻ(C�b1����R~P
3� A��ږ(~�M���O�#�N���]��
ֵ/8-�@jB�g�Nm(3_�-s�
-e��H��ƒ�	$z�I$�
-�F�wN���!1�m�Ĵ�� ��
ڦT�L�����hx�)/Fz�ꚩm9�C1��۱x�)�
-ZAMi����s*��������Hd�k
�O���#�4$<�Mu��
-�p�`&rmծ�����m8�D�"���Lz(p�B39��Nl:���'}�;��w_��	oäO�ᓾ���پ$��^��^
f�
49�hx�	?@NI:ǫ�d�3��5gWe�#��N����˗b{�L��9	��l�TN:��
^��C行�d�;�b���1��R
�E1�\��KMD�B[F$�\_�}#11j�5X
u$���ھ�2�MS�+��`ɧ����$>C��!~®C^�nQ�'x J���y�;�)Fz��3���%h5�v'5eZr��1u?��JtqH�p�&"����8�GBJ�����*e�Gtߏ����l	���
t�2܉
�!-f��?����
�N� У~EF��)�����4#
-S����!��d���K!��H�E��\��Ҧ=#�b>�F��i7Fz'&Q��B���&�S������I�"  IJ�jKC
)"pb�S_{V���-��-��R�t7�Yd}�>��.��Y�9�2h���뱨�/�z��t�x��|[�&a{Ǣ�L�3$%�Wp���:ڶa{�*[���#���?h1$����G��p(����[{�dZGw��>v7_��?�y�[{��
O���w�n������b�6�,j7���K�Dyߚ ���k�>�-���
����\�
�k~�������xD�=:�ŮBE}�ۭ�FS�se�~
w�	�|�E�i����⁼ٺ�����Ks!<����_ĕ� ��E�endstream
+x��Zo�۶�O!`�f=
���-(���ڮ
���fI`�lޝP[�$�����P�dI�e_�
+� S:������#
+G��>y~;�~�H#
�8���4�dL��$�]Fo�� :�"���ӤX'�W3���j�h�E2�>�+�bs������l��U�c�H*3��O_���t����3��&[�Z2ǰ
+����n�������Ԫ�$�b=y�
GK��]��*�ճ��
~Wћɏ<jeǢ5� ��7�2���j
J\�$��Ԉ
+b�瞹=٠"�̈́j�1Y��b,��3M��
����ф�	���H�2�$aHa�̸��[c5O3��,���eZVI6#Ӆ���Ӈ�Mz�~�h?�x����.]QXV�qt�������
��XI&�-r�-6sp�8�	��d����dKXډo�)]�� }�uGo�?�Z�gH��(2��2n&�����"�J�_Zs9}����c�	%���$OqF�L������2 Ċ��M�?��+N���(d�F�ţ�bD�
�#�N�
u��*��_��l�f��" S�n�/�"
;�s����4������B��)p�g��p		��{�E��l+��z
��Q�-F|�g�(FZ2eg�H*���n0/� �QCX;�
j,<pߙjgL0Rb0�r�'[!
�e�dː��n��B��
+A���]�����
R��� W�]�.>�.(0I�ά����#�H�x�]1�ϸ
���ܥ;E��N�������+�iY�����~�4�l��C�N�4�ܿ�{���r�iV�!������T�V�+L�- ^�%rV�vC-�& 6s�
+���
N-n����2
#"Z��UZ�Q�	�Cv��4>c�*Г^��>��1
�O{i���s=���J}͗��)�Y�:�,���#�ꧬ�
+��
+�b"E������j�Jw')�lLq�k���ܖ �n�ˌBir�2�)k����Ǎ���4� v#b1�kzF�(��L�Z����'7�HB�ύW�r̈��È�Y��9%�c�嘼��2���I|F����C&�GE&�A&�� �����#�u�������do�I����2p�B�l� o��z����Zbt��� ��������T+�
�lwe�nL�G'�(
=�����-�qu��h�}�KMM�ă�f�L�L
eC<�0F(}�0S Ƨ5��S(-�5X��+�ϵˢ�_�4�T��F�;!�9G�^Hu��T�xI�|l`S��BB�~Z�2��Sz����q��g��8���I��fg�g��
/韽�(ԗ� 6�^W�78 �X��o�-;��'�M��
{�@/z��b]�(����4��E����g��K��̝|��C��b}�^�Zx�;/���=�,��)������0�6�ӝ���@�w���xL��I�m`$�Œ
��U��|��+��f����A*"8��,�>��˒�t�$���� d͢�/��<�;ë:���U:�ܖ�ʞ�\N+[�x��}�;H,�I������)��3Jm>��E�d��'\�F�
+/���M������#� `I�)��۵ɪ�5�֠��p4��C�/
Lf
+k����L��W����K��+sS��7��}8� 	��Rџ��>"�lV�񱍔KHꎪ�X�����(`0@l�jh�f�n
DL���%���;q�w�v>��d�O�< ]
+���۟�l��.���B�B��
��X
��U<Z�W  �ho���쪠
�p_oR����T�T��@�����^�x�n���ԑ�M�n��LJ��/��*����
��м@Jސ��J<��p0	4�8�);d/�%Uc��	t���_��_��+�D�Q��T��Q['��)w��]�T��/6�|q��d��v���^����6�!̂)r��ޘ& μ��f�I��)fP����XU�����n�%�f�@iu
�y}�E)b'[Pmkm�7�/�,߫q�¯+�
+endstream
 endobj
-2859 0 obj <<
+2807 0 obj <<
 /Type /Page
-/Contents 2860 0 R
-/Resources 2858 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2823 0 R
-/Annots [ 2864 0 R 2867 0 R 2869 0 R 2870 0 R 2872 0 R 2873 0 R 2875 0 R 2876 0 R 2877 0 R 2879 0 R 2880 0 R 2881 0 R ]
+/Contents 2808 0 R
+/Resources 2806 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2769 0 R
+/Annots [ 2803 0 R 2805 0 R ]
 >> endobj
-2864 0 obj <<
+2803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 401.4462 177.0528 412.3502]
+/Rect [138.538 138.284 177.053 149.188]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) >>
 >> endobj
-2867 0 obj <<
+2805 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 321.0573 198.9206 331.5876]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_67b4e0eba7692bced073431cd3cc22ae) >>
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2869 0 obj <<
+2809 0 obj <<
+/D [2807 0 R /XYZ 90 757.935 null]
+>> endobj
+2810 0 obj <<
+/D [2807 0 R /XYZ 90 733.028 null]
+>> endobj
+2528 0 obj <<
+/D [2807 0 R /XYZ 125.554 527.964 null]
+>> endobj
+2811 0 obj <<
+/D [2807 0 R /XYZ 90 511.237 null]
+>> endobj
+2541 0 obj <<
+/D [2807 0 R /XYZ 438.998 377.451 null]
+>> endobj
+2812 0 obj <<
+/D [2807 0 R /XYZ 90 360.724 null]
+>> endobj
+906 0 obj <<
+/D [2807 0 R /XYZ 90 262.331 null]
+>> endobj
+142 0 obj <<
+/D [2807 0 R /XYZ 90 255.731 null]
+>> endobj
+2813 0 obj <<
+/D [2807 0 R /XYZ 90 157.258 null]
+>> endobj
+2806 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F13 540 0 R /F72 471 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2827 0 obj <<
+/Length 1535      
+/Filter /FlateDecode
+>>
+stream
+x��XM��8��Wp�BU,K�1�L��dkv2{�L*�`yLx]���� 
f������e������	��;�y9{v3[\���i�ܬ
��($�Q�ܬ��.!�zs�1v�<��Dn��W
�n�6b%��o�;���r����_��x!d��bLӤޜ2�^�I]��X
��E*�� �*��p�z��f�yF�5��
+�P�3'�����
+�v0�y�����P�s���>��	�jw�g����ށKz|�+�&+�Z���[\2|d��(�cgN)
+[�����;&yo��~9s���8���0O�r��Ym=���Ga�<R�ԙ� � 0
=�d�7&�Bj�.mJ��MZ} �yk
��gƫݴ'̩iW6��b�ȓj�=�]�0-��Op�j�����&tz��k����cG���#JBp@/Pm̜�'����u;Cb������y��'��ۣ��Ó���-.�1��(y�w���fK�q;�g�?�e�����nS(+�����/�U�ߚa7]�k߳�Ɣ��}���A���q���_hO=?rEm
+��W�EQ_T؟ � ��+�f���
+���i'�f�8׃�b��5x���ȏ������>�*s�ܙ>",�u"V�=M��be
�ROeV��<%�
j{��.<P^{��F��E�%\:�L]��>[�"+��UY	�(�a�Ĭ� 
+i�gX<�F�dփ]�Îc�)͝
�0)��x
+7��0x���õL�£��+[�O�vmm$vc3vWB�_X;G��U\�FgV���
e-�U���V���m�h�7���!�#C����l��F��\	�5/�HR( ���7��`��j�F�
+ �g��0O�-͕�55#iW��o��\�ZL��0a�S���<�h�t�]��O��><�g�Iq���Ø�I�6�w�	�
�FR�FO_E|X5�g�w

+&"�3���9;���@6up��P���(��%�1
;
�����o;�-����c�5�w
smߛOU�ĉ�m
���iK��	�d���q��q�
)b�
��Gv�3���ĵhvR�WQ�
z 4�w����x$7��C&†F
w0>=5��wmmZ�Qg�=�
[Pm/>����JT�X���B��F�o��aO*�����
+�w�f��Wo�<
�'�S3�wIn��^��R���3�	1�
�2x�C<����֤�+��Z�����mk��
@4B,��V����4�੏3| �N
Q�X@�&� XdW�l�c�@�_S6
+{?5&WBv���L�55T�׽� 7������1U�j�g[��+3�^���Xs�:f��]�p�\R��'��H���c�Հ��f�
M�jZ�$�ړ꤭4\�r;�h]�	��7�R>��G.�g�O&U���f�d�%/ML��~��� IBH
p�|�c
16��JՃ�W�� c/m�2�B�����mRt嬺���u�;F�c������ �E�h��	�ӎ~���|O�������~�Gi�vEVI�5
@oq*�z+NN=Wvɰ-�� +��V'
o�?�n�
+endstream
+endobj
+2826 0 obj <<
+/Type /Page
+/Contents 2827 0 R
+/Resources 2825 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2769 0 R
+/Annots [ 2804 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 0 R ]
+>> endobj
+2804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.621 198.921 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_67b4e0eba7692bced073431cd3cc22ae) >>
+>> endobj
+2814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 281.8294 198.9206 292.7334]
+/Rect [113.91 658.393 198.921 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_5ebec8f5ff32009c4cf98dead90f4a3c) >>
 >> endobj
-2870 0 obj <<
+2815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.2578 281.8294 274.1878 292.7334]
+/Rect [226.258 658.393 274.188 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-2872 0 obj <<
+2816 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 242.9751 198.9206 253.8791]
+/Rect [113.91 619.539 198.921 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_f2ec3c62388f9aef1414a527e82cd1a7) >>
 >> endobj
-2873 0 obj <<
+2817 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.2578 242.9751 311.2681 253.8791]
+/Rect [226.258 619.539 311.268 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-2875 0 obj <<
+2818 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 204.4944 206.6694 215.0248]
+/Rect [113.91 581.058 206.669 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_97b2101d371edae52746a53cf34e4b67) >>
 >> endobj
-2876 0 obj <<
+2819 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 165.2665 163.2149 176.1705]
+/Rect [126.921 541.83 163.215 552.734]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_35ea0c10995c89f8a11a2e8bb5dc7f17) >>
 >> endobj
-2877 0 obj <<
+2820 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5521 165.2665 275.5624 176.1705]
+/Rect [190.552 541.83 275.562 552.734]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-2879 0 obj <<
+2821 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 126.4122 163.2149 137.3162]
+/Rect [126.921 502.976 163.215 513.88]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_6ab41afc79135511037718442fcad4d4) >>
 >> endobj
-2880 0 obj <<
+2822 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5521 126.4122 238.4821 137.3162]
+/Rect [190.552 502.976 238.482 513.88]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-2881 0 obj <<
+2823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 335.293 191.727 346.197]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+>> endobj
+2824 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-2861 0 obj <<
-/D [2859 0 R /XYZ 90 757.9346 null]
+2828 0 obj <<
+/D [2826 0 R /XYZ 90 757.935 null]
 >> endobj
-2584 0 obj <<
-/D [2859 0 R /XYZ 438.9984 640.6127 null]
+2829 0 obj <<
+/D [2826 0 R /XYZ 90 716.221 null]
 >> endobj
-2862 0 obj <<
-/D [2859 0 R /XYZ 90 623.8856 null]
+2830 0 obj <<
+/D [2826 0 R /XYZ 90 716.221 null]
 >> endobj
-946 0 obj <<
-/D [2859 0 R /XYZ 90 525.4927 null]
+2831 0 obj <<
+/D [2826 0 R /XYZ 90 677.486 null]
 >> endobj
-142 0 obj <<
-/D [2859 0 R /XYZ 90 518.8925 null]
+2832 0 obj <<
+/D [2826 0 R /XYZ 90 638.632 null]
 >> endobj
-2863 0 obj <<
-/D [2859 0 R /XYZ 90 420.4201 null]
+2833 0 obj <<
+/D [2826 0 R /XYZ 90 599.778 null]
 >> endobj
-2865 0 obj <<
-/D [2859 0 R /XYZ 90 339.6575 null]
+2834 0 obj <<
+/D [2826 0 R /XYZ 90 522.069 null]
 >> endobj
-2866 0 obj <<
-/D [2859 0 R /XYZ 90 339.6575 null]
+2835 0 obj <<
+/D [2826 0 R /XYZ 90 465.656 null]
 >> endobj
-2868 0 obj <<
-/D [2859 0 R /XYZ 90 300.9227 null]
+2836 0 obj <<
+/D [2826 0 R /XYZ 90 321.719 null]
 >> endobj
-2871 0 obj <<
-/D [2859 0 R /XYZ 90 262.0684 null]
+2837 0 obj <<
+/D [2826 0 R /XYZ 90 299.407 null]
 >> endobj
-2874 0 obj <<
-/D [2859 0 R /XYZ 90 223.2141 null]
+2838 0 obj <<
+/D [2826 0 R /XYZ 90 299.407 null]
 >> endobj
-2878 0 obj <<
-/D [2859 0 R /XYZ 90 145.5055 null]
+1426 0 obj <<
+/D [2826 0 R /XYZ 90 115.733 null]
 >> endobj
-2858 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F13 567 0 R /F67 366 0 R /F97 1822 0 R /F74 478 0 R /F25 344 0 R /F101 2128 0 R >>
+2825 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2114 0 R /F95 1779 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-2885 0 obj <<
-/Length 2048      
+2860 0 obj <<
+/Length 1657      
 /Filter /FlateDecode
 >>
 stream
-xڵYێ�6}�W(��@��UE�&m��M�&ۗ�E ��Z�,9�\g��C�b�lo��`J

���3�\2��G�
-O��H1
MW�	�����'�u/��6xv7�y��B*���n�x����������
�1���<K�]��͜�Y�=l��L>��.ˤ|��}���o�}x��:�
c�Jj}{����rN♞/���wuyXն�Vo���W�-00$��q�j��]��K����?N����k�߫	FL�bz���Rt��p��C6y7�%��
�c��
�eG�y|("�ou���^۹}��U�����|n^�r+A9b\����֡�k�g͉�Yh�-6MgZ�jS��Q{vl���u�������2��!f��d� E��&��g�ew�ʾKJ�y��i��.�4��$�S)��B��K47e��s*fG�\E��}]9����gkm�ϝ�����O�
-#H	a�
��8J=���	B��v��.vI��~&�a�iD�
�`,��Ѣm5̥X!���
�X�&ҟ
�4�Q	�H2J.���vR�`�$a���
�]��B
+v>���4�[�L�a���.��M
-�s���>
�zk-?"pD�.3�
�ʚ�n�.���r��R��C?
��gJ
ĘX�LWy�l�vt�����f�1�D�0��k7��Jz�kq(�(%��*�[t�y�e�E�)6�wY�%:�+I������K9���Iy@�E�`��
-h6�(u,�Z��m��|��e�bu��N<��X���>Ns�̄3�okת]�G�c���;v�-�H�����XL�la"b���k���j
A��� " a!!�ai��]jo3���n:���Y
�1C��2�����I,e�[]J��yu�/�~����T�m�`fa��b�l��ڭ��#���O��~��xāD\�����!V�B
�u�k����� �2�����;h(�0�IH6��6!�Y�۴��F�c�'���.�2
jq�?�M��d�m���L�/5�`뛑�H�a��n�N<))��2��RW{
�o�����a
yq�`������Hf��j;΁�"���� �X
;��\
Q���0eDv��d`qS|�O]�{
�|���ܦF��Y�� ܬ3dl;L�h��1�,݁�Z[����ڹ
�40
	���ry��d��.�ܞ�e]�[w�G߭O�U�T�و��=@�42ī�MY�zm�,��
����
�
�"8�(V��=��
�l/���I9JŐ,�+
-"����ڸ�GQw��>C�m�\a7Myn��#��˩R
-N��mO�L�lY�K�:
I����H����ۧ�o<5՞�N;�M��
)��
�;|}���vQ���
I{��j�W�0����	C�sf_�	4Ճ �9}f�zsXf���kL�U#	N���'x��B���	~q�S�_�'xg�eQd�qMBp������_�`ෑ�dh#��H���+ 8�kHHFz��ooh
-�MA�=�`%���Ǟ�h,���3�F��T)�����Ӟ
oG��(2X����+�
�>���/c����I�l�
&#�����DtJ9DGc ϊ5*j4������[�}4J>�!@
�0�S��i�p�ȫ@�'{�l</���8
�8�����<���E���6t
���4��ӈS
�����v�c��P�����*PO=��*3 at XtvI��L��%i��;%�` �֫��qw���s�
�YI��l�� El{_�u����o$�eb~X޴B1O��
�@{p�
-��6M��a�pxsn*(�w�C��ѫ���M���]qV����>{/�� �tպ��?�4��̑��h\��и8�Ih\�
�θ'�֛�PH��݉�+�D��5� �Hչl��GQ�}}�lxc�F��G�C���x��k��/�5�˄�I
��F^�;�*��ڨ
�FȠwzX�%��cp ���Է~lU}�����%+ٚ�������77���*t��}����f  ������-�� ��,�@�Cah�vܮ(�J80�r@��[#��
���
+x��X�n�F}�W(�R@��
��(иM��A][�C���ȵE�"Y����썺Q��*A
+��

�Μ=3�عs�����dt�2`N����։�qJ�I�s	Al���{9&�M�yrs9�ح���Ț��|�$�����_�����B4]�
c�&�8?���uҌI䊱G9v��f�vz|%n�~W��c��t�a�z��d������!�/
��q'���}�N�_;�8r��j�����p�G���
a&1��N�2��E&r�OR��$Y�zr^�(
+C�#
�~�=PӇ�g/9^ˆgm���k�t躪K
+=��L4yyg�J}՞�q��n��`��Oap(D5!�&/�b��Y��
�s�
���<��Ơ�
4�
�0�� �f��u2zq�|�TH�k��Ŵ�S=�7b>�Ъ��E�vyU��<6�[%�Y�(��O)����NѝVUa�K6w��W�BE�M�U�{�1��mi#ߥ�Uwj�VCp�>=7=!�r~V�"R'�H�����O�4>�ؤ�Jt�F'@1be�0"�tM�ambmB�b��[�QRf��Ń
���O�!�hO�O������\�n*n+�>�l�� ��z�����	�&�)f����|��W"����E��03�Q�i�ג�"���<�`ܛ�r.��Ӽ%��Y�x�n3!AJa,ya�+�d�yW�k�
+�7]�ϖ�<��ubѪ� �r&
L
K���KH�<���H�
�r�dZ-L)jEg�P��V���Գ�JsQv�
+V�IgAGM¯U��*2�ŝ(���\�6���VX���Ɣ��>�2@�8�\ͽ�qĭZ��uU�,���a>"Qԓ�?�BVf�A��K�Xղ����mBύɫ��!  ;��n���a��HZ��8���ׅ��N2P��!���EVV&��HE�&Mn%*-*`��꼭<�&p�fy6��T�F�]R��PI���%����8���NV�; ˄Y���k^1n��bI���AA~BM뗹�����0�2���� ф���=�>
W(X�pd��������N�p��Dw���}��^���'�b�W��͉]
�Ew�c�ے��٬��Ig��(��އp��^��a���D at f���ؓS�đZ�
�O1!��z�4;�'��j�
����h�����OH�u_�aE�&�d��*�?�1~>"�	�#�$Xh	�o75r�vC47jNOO��� G�l~��
Ze���̃�]TP
�9�"ʒ:��)O���Hf^ɂA�b� 
1����||d��u3
�։�&�h���Px��N�.J�@U��v*�j)
�
>�Z�o�FB�0�|
�np��(�W��h
���\�e.�2N
�VH�ą�o}���7�2�
+k�(�5�0���a��| �c��
e�`�0MX�
���P1 at A��d�iN��zk�A��%�O��
y�Pu��,�Pp�_H�?M ��
�h�[�	p]���-����
���>	�����Ѕ���⣢���qQ`�=��}�@��4!>B��i}L�њ�}p
 ��=7W�� "��/}\
��;��1��$��ڣ }k��͟�h����~�MR.l%%�^B���OP���nar�{��ZX������ѯ#ԕ��D}�f]W���-�K��hQ�u���
v�g��
+������c�y��:f�;��$���@�
 endstream
 endobj
-2884 0 obj <<
+2859 0 obj <<
 /Type /Page
-/Contents 2885 0 R
-/Resources 2883 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2823 0 R
-/Annots [ 2888 0 R 2893 0 R 2894 0 R 2895 0 R 2897 0 R ]
->> endobj
-2888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 610.327 191.7275 621.231]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+/Contents 2860 0 R
+/Resources 2858 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2868 0 R
+/Annots [ 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 2857 0 R ]
 >> endobj
-2893 0 obj <<
+2839 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 252.7733 175.9373 263.6772]
+/Rect [134.114 609.131 175.937 620.035]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_98c515b16e12424b273eaff073b31f3b) >>
 >> endobj
-2894 0 obj <<
+2840 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.2744 252.7733 288.2847 263.6772]
+/Rect [203.274 609.131 288.285 620.035]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-2895 0 obj <<
+2841 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.0178 252.7733 415.0281 263.6772]
+/Rect [330.018 609.131 415.028 620.035]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-2897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2886 0 obj <<
-/D [2884 0 R /XYZ 90 757.9346 null]
->> endobj
-2887 0 obj <<
-/D [2884 0 R /XYZ 90 733.028 null]
->> endobj
-2889 0 obj <<
-/D [2884 0 R /XYZ 90 596.753 null]
->> endobj
-2882 0 obj <<
-/D [2884 0 R /XYZ 90 574.4412 null]
->> endobj
-2890 0 obj <<
-/D [2884 0 R /XYZ 90 574.4412 null]
->> endobj
-1466 0 obj <<
-/D [2884 0 R /XYZ 90 390.7675 null]
->> endobj
-146 0 obj <<
-/D [2884 0 R /XYZ 90 384.1673 null]
->> endobj
-2891 0 obj <<
-/D [2884 0 R /XYZ 90 271.7471 null]
->> endobj
-2892 0 obj <<
-/D [2884 0 R /XYZ 90 271.7471 null]
->> endobj
-2896 0 obj <<
-/D [2884 0 R /XYZ 90 215.4532 null]
->> endobj
-497 0 obj <<
-/D [2884 0 R /XYZ 90 90.5544 null]
->> endobj
-2883 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F97 1822 0 R /F25 344 0 R /F8 523 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2900 0 obj <<
-/Length 3034      
-/Filter /FlateDecode
->>
-stream
-x��[َ��}��� �\�bf�L0�
�؝��̠���n��BRnw�>�HV57UQ��/����{oչu�
�a�GfϔP�0.g�������"��K�~�|}��)fI���CA$(�����sB_,	�x�vA�<ɷ��������>]���߳�<�_��~�y���O�~ ��H���
؀�!��#ʌC�x��H
-� �y�I�b��ϯ����a��i�ɻ�C�/����|d��p����˵/WSM�$����կ������F�h1{�7c�l{�)so6W�����_T?A���@��

eK��|X�F+$EZ)6�6�"l��L7�r�C3��cSłOü�\#��}�7�
-�]��ݾl^���(�<�<��6�"]���d�~�ϳtW�������?
�<OWe��ۤ�9
�J
�!
-I8�*���js\�#�U0��
K!ŵj ���ߏ�ai)D`�/�B�P1[2
-s&�E�=�n��+���؊��
A at 4��lm at 5-;cA�D�i��&��R��E0����
f�X^‘�Rv�p���C}��\�p�F�$�s�_�w
�]�����
�Z6L��ӂ�y�����t(�Hj�#%!�Ì[�c��# "�uH;KF#�N��=K	���O���L�a �J�a��3��q}��:��վ)q}�ɦ��pb*�
 t�nAe��.���3N���3��SR�.:�V��NH��j�����-t����ݪ���1�.�F��MЍ�Eu����H^��N�
c����ŋ�x�c	���N
��G�|��򦭞�p
���xT���.
�x�,���K�����6�/
�=,�Yr�6���)�@��̙a���.|E ��YM��
C��ɶcZ��Y��������S��Aؿ���
׳��I�Z�q�.�:�J-l�m��OI^���$��铽MNX��
�\��HA���E�c}���}�0�w�y}�i��T��l=�
Gk�ܧ{���X
�ZE��M�G*�P1�!�4��H�!ZZ�,'W��
�q�
Zx�
!@)E�6�
��,8��l��޲�U=鄾`3��"y�v�@#�0��}Z��
[0��&*�vSA
��{��8��	���Z�)��x�V���^3Ҫ<,ڪ��*�׵�N���~�`sF��ݼ�6��c
q�)��H
�����b��6:\��Р0�Ƣ7 c��T'7����c��Qm�uۉL���J���ZF
-�P1
-�3����K'�}#���B�
�
iC�Ժx|��0nuNe;_�
�aLW��ƀ��& ~;\
�����DZ�x�T����fj<>B`wR�`�NC�`<*FBX�E�ċ�D�
�&�\�^�b��+����
<a�J3�\aD!�
-�qd
�٘5`Y��ъCR�mx�ej��yV�wUߪN���t��'�����1�
-�sB���M��p��a�_ߖ���?�H�Hk>�D
-��P��\�G�0ĩ?w��C39VQ�(����b$&��*�`/G�<��
���6^Aw1K��֣[$���� �+$�վ��:��m
B���`�s�ط�L�>8X�>���C8���a���;�>�
�:�p<
B�A3��EX���Q�ҟ0���zb	<>�`w�w �:R��1 �4L��s�
"'rje<>�kw�w��V����	�w}���La2�
-
!0�;�;0{
->X��� � 3�Gb�w�
a��Eޡ#�

�{lN{��>�;@4�
�e�;���;�߶w�����^����������������� y�?@�X�?��Bv����)�@�Q�G����Z�g��]
-�־T����`
-4a���5޹�;��{c�E�d����cQ��U����R�
Vq��!ʈ�Ru�Օ�:��F�i�p=�
IO��.kz���g��
-ڂ\�g�1}��N]�(�Q�\��+� b^W��p��El:k�)����L #҉�lD�
I��
�ϊ�.F� �՝V3�v<�u0��j
���aq5�^��0;��6�3�
�z���T���T��.�f�M�7!]kK
1Dw�Q"TK{d�7�g����ĻD׭!];�)]��}]�C)9���dN�2�Ȕz�k�<�2v��â2o�X�v�a2���[�'e�i	c�Z�\N��AZ(��p
�+Ou(nn`K�i��ң"驠�KŦ7���M��s=~G�Tq�c��ag.ھ�5�p�\����mR��A��r�պM%G�����ӂ@E�� $h�
��rA��yA�ٝ!� ��
��ݦ�Y�OJ�¯�l��A�X��3�
�_Ru�Y�v���
�U�
tN	���v2�����9U E������*o�\�av^�mv�t��o
-���ɕ9�'PBL�1��(S��0-�e��i�f����rD�ZA�4Hw�Q"v�f\�ހN��m�J1y���12�����}8U��x��s�s�U9;��?���|�Z
�k���·B�_ϱG�o�ӄ�g�>Q
i�bxXT��K?���:�&K?��l�G�:\�ij����4��; �aMM��ң"|���H1��3:����\�@;F�8�����&��^������O���
-�������T?c
�H�aq��.�G�z]��FoG��p;r�� nu��Xe����=
o�H�g��5p�Xv��7�vk�B)��#^$Ч!}6(���y�u7z�-�TK��(ׯ_��|�FX�����[u��޿�������O��ʤ��I֊ѯш
�H�7����kd��k$"��L�z
**�V��v�I�t�I���$� �0�~ԉ�

�Wm8�m���j��2O�f
�����>�f�lt�񬺗C^��s���-���ɩ�v��5$:���t��f���=�\�m�l����H�?ڋ�M[�9�
�]���dC�y��
T�
�K���t�^ p9�o�����̽�[������/�'U�hq�1ߗ����WhU��.;�(+_
�W��p�U�;E���N�Xe�p��o�}�
|���ߠ��G����>.endstream
-endobj
-2899 0 obj <<
-/Type /Page
-/Contents 2900 0 R
-/Resources 2898 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2941 0 R
-/Annots [ 2904 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 2919 0 R 2920 0 R 2922 0 R 2923 0 R 2925 0 R 2926 0 R 2928 0 R 2929 0 R 2931 0 R 2932 0 R 2934 0 R 2935 0 R 2937 0 R 2939 0 R 2940 0 R ]
->> endobj
-2904 0 obj <<
+2842 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.367 623.0791 219.6827 633.9831]
+/Rect [165.367 322.866 219.683 333.77]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_cbf26ad2a67dbfbd24eb9c89448a793b) >>
 >> endobj
-2906 0 obj <<
+2843 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.7617 542.3166 216.096 553.2205]
+/Rect [166.762 242.104 216.096 253.007]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_9e6044d3d1b8cd66b7e150763a0cce2a) >>
 >> endobj
-2907 0 obj <<
+2844 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.9117 542.3166 255.0993 553.2205]
+/Rect [219.912 242.104 255.099 253.007]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2908 0 obj <<
+2845 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 503.8359 182.1437 514.3662]
+/Rect [133.915 203.623 182.144 214.153]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_d02ce2da26b1d9dcd0d45042b9f5c3e5) >>
 >> endobj
-2909 0 obj <<
+2846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.9593 503.8359 221.1469 514.3662]
+/Rect [185.959 203.623 221.147 214.153]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-2910 0 obj <<
+2847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 464.608 205.5861 475.512]
+/Rect [134.114 164.395 205.586 175.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_1d8eb71bd67ae50436968e7323bbeb7e) >>
 >> endobj
-2911 0 obj <<
+2848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.4017 464.608 275.0449 475.512]
+/Rect [209.402 164.395 275.045 175.299]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2912 0 obj <<
+2849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.8961 464.608 389.913 475.512]
+/Rect [343.896 164.395 389.913 175.299]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2913 0 obj <<
+2850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.1246 464.608 454.1415 475.512]
+/Rect [408.125 164.395 454.141 175.299]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2914 0 obj <<
+2851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 414.7948 205.8353 425.6987]
+/Rect [134.114 114.582 205.835 125.486]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a7961325727c376428ef2f9431e0c204) >>
 >> endobj
-2915 0 obj <<
+2852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.6509 414.7948 275.2941 425.6987]
+/Rect [209.651 114.582 275.294 125.486]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2916 0 obj <<
+2853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.1454 414.7948 390.1622 425.6987]
+/Rect [344.145 114.582 390.162 125.486]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2917 0 obj <<
+2854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.3738 414.7948 454.3907 425.6987]
+/Rect [408.374 114.582 454.391 125.486]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-2919 0 obj <<
+2857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2861 0 obj <<
+/D [2859 0 R /XYZ 90 757.935 null]
+>> endobj
+146 0 obj <<
+/D [2859 0 R /XYZ 90 733.028 null]
+>> endobj
+2862 0 obj <<
+/D [2859 0 R /XYZ 90 628.105 null]
+>> endobj
+2863 0 obj <<
+/D [2859 0 R /XYZ 90 628.105 null]
+>> endobj
+2864 0 obj <<
+/D [2859 0 R /XYZ 90 571.811 null]
+>> endobj
+480 0 obj <<
+/D [2859 0 R /XYZ 90 446.913 null]
+>> endobj
+150 0 obj <<
+/D [2859 0 R /XYZ 90 440.312 null]
+>> endobj
+2865 0 obj <<
+/D [2859 0 R /XYZ 90 339.937 null]
+>> endobj
+2866 0 obj <<
+/D [2859 0 R /XYZ 90 339.937 null]
+>> endobj
+2867 0 obj <<
+/D [2859 0 R /XYZ 90 261.077 null]
+>> endobj
+2858 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F21 2075 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2909 0 obj <<
+/Length 1652      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�8��_��
��e	��L{3m�v��K.q{�i;
���Լ
�$ܯ�l�ľ$·K�j�}yv1�f��
^O���\�2�i�3�Ś���&S�N��#�1֏��~�����z2/��4��i�g�����j�s�~���k	c�2
�W	|!�t
J02����=R
X��5��b�������ÑA�>��Σt�\�9�g<G�q �\B
8�)�&��`�T֠6�M����O�M��{
#�u��jU�Y�	׹v2�s��e�]+�S�ћ!�t4[
 ;R��A+u��B�l�;~7о�(����y��a\x'e^���m�A�-�lP_���?2l/ɕ��[��
8
 ,P2�
mD,�X�<�1/Y����%��V���kT�.��nN���8�gq׽�4bQdVC+M���*
1��ZS���\��<�4��z��
�߈���F��
b?~Q�Q�/�z�E���^�u,dg�����c+`��β��0����Ppҍ�QH�M�lhQ=�
+#�X��
d�r��q�D�[`n��AL`殑e2\c[h#
%Y��`�(S~7d�������iY�G͹Ź"0�&
+X8����*�� �l�ʫ/�`������}`
nb�<S�
bo[a����uU�,~"�ot�Ǿ��3�ߍx�.sFe�ocۺ� ��[b[�{Q�"�T}�L?�Л.��a�_Y�@R$=�3amc�����<�z�G1b
��������
M[穼�<. _'q�
���)����z\h+3'@A��
+�|'p��F�eI���� &���[y�F(���v����Z��"� ������&�{
ƅB�l�y��:� Cf7<�DIs��ʛ���/z
�2M�e��f��k���x��N�]X����/����	ty�I����P�?WU�=�nY��gH1��n�q{��l��Bp�L��v}��_ ~�Tz���,�@u���OU+��׻:�,ϯL�8c�L�)7S#�> ��OC�;�<�J���xyͪ�%~~�3��К�X��\�O�0�����������F.F��
p1E__/���۱-��B�%�*�g+~Ѹ�
+��S
�b�Ҵ|���[l�?K�[Z����z�^�ɚ���!av���$J���E��Yp������O߼���>
�}8���j|��
+�i�5��
m
	!��Qm��kc"6`mU���Uv�`m�6�y�Ҍ�#�!�6"�b��~��3���w��Nwn߃�
+��b 
��R�U�ן��/0Q��`�K��#wDY
8��Qm�}z.
f�@g�)K؝g@J/�H\��,�K_F@�\i��v8��
ڬa�e��ڒ�`�?
SŐ����I�߂���JS1�$�rݸ�Ⱦ&ʐi70}tܼ��[��ꖐ=恰`̹w��^B�kT>�h���6}�:�]�`�� z�&�o���/�n�|��S��b.�����c�"���:��i��p۠;����M7. �Z�����RΓ��G�A�H���e��S��@����o��Rf��Njz.���x�75#8!I3NL
�L��	��y�_Z��Ae�Vi���M}^��x|yy��
eO3�4��WyX+�@{�f˳��GI��t�,�+ �ξ

+endstream
+endobj
+2908 0 obj <<
+/Type /Page
+/Contents 2909 0 R
+/Resources 2907 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2868 0 R
+/Annots [ 2855 0 R 2856 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 2906 0 R ]
+>> endobj
+2855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 364.9816 191.7375 375.8855]
+/Rect [113.91 707.055 191.737 717.959]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2920 0 obj <<
+2856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2356 364.9816 237.3955 375.8855]
+/Rect [192.236 707.055 237.396 717.959]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_b76731fc33f60619d339fd146af90e7f) >>
 >> endobj
-2922 0 obj <<
+2873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 326.1273 191.7375 337.0313]
+/Rect [113.91 668.389 191.737 679.293]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2923 0 obj <<
+2874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2356 326.1273 284.9964 337.0313]
+/Rect [192.236 668.389 284.996 679.293]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ac61a0c0f3a687ef1d79d9014238554c) >>
 >> endobj
-2925 0 obj <<
+2875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 287.273 198.3629 298.177]
+/Rect [113.91 629.724 198.363 640.628]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2926 0 obj <<
+2876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.8611 287.273 250.6465 298.177]
+/Rect [198.861 629.724 250.646 640.628]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_319084c6ac93db482a8742a58e2e01f3) >>
 >> endobj
-2928 0 obj <<
+2877 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 248.4187 198.3629 259.3227]
+/Rect [113.91 591.058 198.363 601.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2929 0 obj <<
+2878 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.8611 248.4187 298.2473 259.3227]
+/Rect [198.861 591.058 298.247 601.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_5f1ce9b2af5f6ba550cd9080ff83077c) >>
 >> endobj
-2931 0 obj <<
+2879 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 209.5644 191.7178 220.4684]
+/Rect [113.91 552.392 191.718 563.296]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2932 0 obj <<
+2880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 209.5644 288.8524 220.4684]
+/Rect [192.216 552.392 288.852 563.296]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e627d4ce07125a5bf6dbe4c4464bfacf) >>
 >> endobj
-2934 0 obj <<
+2881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 170.7101 191.7178 181.6141]
+/Rect [113.91 513.726 191.718 524.63]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-2935 0 obj <<
+2882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 170.7101 303.0791 181.6141]
+/Rect [192.216 513.726 303.079 524.63]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_dcd50fc4fa1b8e5533d7af0513d1a833) >>
 >> endobj
-2937 0 obj <<
+2883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 131.8558 181.845 142.7598]
+/Rect [133.915 475.061 181.845 485.965]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_818b1050a44c6fb4d635a6fc088eeeca) >>
 >> endobj
-2939 0 obj <<
+2884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 93.0015 181.845 103.9055]
+/Rect [133.915 436.395 181.845 447.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_84d340c4e2a8a35e81d0fb91ff2c466e) >>
 >> endobj
-2940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2901 0 obj <<
-/D [2899 0 R /XYZ 90 757.9346 null]
->> endobj
-150 0 obj <<
-/D [2899 0 R /XYZ 90 733.028 null]
->> endobj
-2902 0 obj <<
-/D [2899 0 R /XYZ 90 640.1501 null]
->> endobj
-2903 0 obj <<
-/D [2899 0 R /XYZ 90 640.1501 null]
->> endobj
-2905 0 obj <<
-/D [2899 0 R /XYZ 90 561.2904 null]
->> endobj
-2918 0 obj <<
-/D [2899 0 R /XYZ 90 384.0749 null]
->> endobj
-2921 0 obj <<
-/D [2899 0 R /XYZ 90 345.2206 null]
->> endobj
-2924 0 obj <<
-/D [2899 0 R /XYZ 90 306.3663 null]
->> endobj
-2927 0 obj <<
-/D [2899 0 R /XYZ 90 267.512 null]
->> endobj
-2930 0 obj <<
-/D [2899 0 R /XYZ 90 228.6577 null]
->> endobj
-2933 0 obj <<
-/D [2899 0 R /XYZ 90 189.8035 null]
->> endobj
-2936 0 obj <<
-/D [2899 0 R /XYZ 90 150.9492 null]
->> endobj
-2938 0 obj <<
-/D [2899 0 R /XYZ 90 112.0949 null]
->> endobj
-2898 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F23 2116 0 R /F52 341 0 R /F67 366 0 R /F74 478 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2948 0 obj <<
-/Length 3626      
-/Filter /FlateDecode
->>
-stream
-x��\mo�F��_�O>�7����&-�K�\�����*1�P[�QrR���%��]-��X��P��G3�3��.I�	�����
-��dqs�'W���'���
>?�\�<�N��AFR9�|�X�	J��r�����	�x����鼾��ޞQ<�\�}���|�j�{=��>�f���o�?<����"�	�90��l!�S�e�!^^��c�;��E#�^�w��s*�����iu������w���>#zZ��!BÁ2k��ťWM�$����ɯ������	F�h1�`D����N��������N�A󅾓±@���9�HK�v�H8gp����
ak�\Q��ܟ\�'B$y"jVFO<̆��j_u��o�Ȫ�k-/�Ev�""�
-IJ\����ֳ�o_�l_�gLM�m�ϮZ���զ�m�wg���ш
�;��Ƙ��Hb%;��ê��d&�u tx�	V�H:Q�"!���3{�`��'�ADj��W"�4�8Tsؔ��0|�
-6	̥	�@��#����~l�{�L
Á�9���W
�]H��
�Z
-�z��'�C�a�?p*xQ��Q����?i�r�Y��C�"5G��c*50�)T����ڨ�����GԊ*�
-Ob�@}Z`��rմ�/�>]Tu�cK`$]i��V�
cP�Rѡ6۪��7�;B
��b�����
��ˌ�R�K���vt���:� �r�P�V���`���~}��~��
�
S�y��&���
��.���5J�
!p��s��
�ޕ�P�pߒ��bl����	f~��m�C7��#�k���bs�}؆P����+T�1E_�_I���L�N�p%��dF= .
�	F���p�{�)钺߀mc
H(&M��e	]T
�:XW+����f�E��n��Z�@(�7.>ͷ��zپx^�o���k
�F�v�� �W�v�����N(}�s
-�����p�R	iJJ�:TH��#^�"i��Á
-.�
��4
-�k�T#��������X��+H�

���ݶ:$B�)��
����x�$�q�׷73Oa��"a �3#L�
���
Z�\�7�rU�mۮf/�+[A���&H�l@:H����������~|��w/zE܎��E��wYL�
�
Rq&��&�ѣ�
���{WM�ܮ������n׫�v�i�[Չ�z���Q,ϻm�X��G��{c��>󩁆��h�>?�S
�2��)�
L��2]:++]`�h�˓sZrˊ]�Z�vy�^����E
����cw������k
)%
߁JN
�d*U����L�i�P㰆�O��#����n;/�l���s����K��@����(
�*� ����y,"
_=��ٷo^�}��_//�kS0_R~��6r��`��f�\�����-��w���2�h�!��UJO{�Z�`e�
-
��

�>�
-��P�B�{��٬��
-�0Ns~�Hn�E	�tkd;���n��L=�{��a�%�d��u�3���G�p�ψ�CE8r?,�y�^�C�#Dx�ߋp�Fb�$�ك�"|�4ީ?����V�A�D&�DJpo�gl
)>��01:�<����X�gpd
��Σ
-<,5�9̺�+>7U����DF�
j`Ե5S��{�x���-�o���mo���m}��t�����@�gHG
-zh�/w};���͔��@#e�P
y���%,�����a��<v.��`���\��48IQ�c�#4�@#�{�}4_�����
t�D��BZB	ec�QP�	���b��a�@�� ��S � ��}ߖ���r�
b��m'D+|��K
�
-	^���E��
�N%�eˌp�81��1�����8XY�G
A����[V2�B!�{�B��,��1B�����L!��"�,�{!I��
K�u>:

_b�ص
�U
[�w��j�r��M7 ��2�*�`Ps����X������b$�G)b`#��VR��
-�Bg/�����Q4��EQ�E$��.��h$
QQ�(����qˉb�Z ��N�E1v>B
4�����ՀM=��λ��PxT��<��{�ӫ�pĴ�����JAh##
�GWv!e��HA�����3�M��W���U�����r R��
8XY�G�A�����[V2�B9�{�r��,��1r�����<9ȅ"��,�{99�
�HP�6GF��K
�#G$m��"�0xT��D�H�#�	S)r�,ޛȩb�z�|�)#L�R�M�㔑�	}�m${��`�m$++c`�he̓s�r�*c�Z��y�^����1r>F�4���񪾵��I���Ρ4:T�eb���I��
��҆��h
-a��t�rff�~vf�ɹ�
�e33����{��������1����������"��,	��!��i��C��0x|�Abw\ӆv�B<�@�q�x�OB�Mۗ(��Z
-^*� �+Q+�h֯����7��
�}�
ܗ=m�n���_ئƪN�‚Ӝ?�9
UҜ�����
-��V2v;�9�!M��C��%�V�C>��0﹙�d
de��=*u
??�X��
�
����{�
�Ma���
�8�}����.���{|!Ʃ��״5i
���ہJ,�A��8�����+����߼~�����ðl���B`.
�q��
+v�m����*��J����|�N�0�<��[�9�.mA��Nl~Q\�Pa!�����koH��ݞ
Vl0��L���6����c�a���,G7� �i0Ul0�������6��mf��HcnF�×h$v�{����f=�
h5�
k���B�jk��BK��O2�k5�
�����>m5���16�
_�ujw|��HJ����X�V����5G�T��5���>)1�[aMt�g�
-�K��$��t�d.��4��#���5ki��Ma���a��<v�@��E�rZ��hu��ۀ�CR܀���؀(�H�6�9w�,�Y��WAg�B��Q�b(~З����C�� �sX?�����%����	5(퍗�HxT�#vJ�x���#�?
md���
���.ݚ
��>M����
-�����W
��Ka
_G��p�� ޛ;Z�̜
IJj8�+ìK��a0�Rz
��Y�V���u�s��~km
-�@��"�r�W�$�d�1{x�}bu��VPw�p�=�@�����/̎cE��
q�
g���:؃E�˵d/B#,���\��H�p�G��@�v�}V��`f+��o��}����ݏظ_~�?����P!��(RU�� ��#
���3����� r?�
�^CL@���f��5bV�c���K4��d���P�W���ٻjy������^��_PH�|T:LJ&��8�4����c�s�E��o�+�+2�t>�@_�̞.�IG�p�I���IH�mQ�L�
|�8��F �{�Hn�D�y�����&Ryԯ۵�y��"��Gb/��G�߇$�m.�t�t�麔[�uv?+���Ӯ��fڦkl���[��a��5U�;��Pm~��A��Ӌ��{�+�� ���1q��
?T�|�<�F��3*8�Į=�����'�>}B�
�]��5Z�l��Oҭ1�0�z˜�sJ�D�gZB�
qy�~n�fSwgb��7�G�P_.�P�/��תendstream
-endobj
-2947 0 obj <<
-/Type /Page
-/Contents 2948 0 R
-/Resources 2946 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2941 0 R
-/Annots [ 2951 0 R 2953 0 R 2954 0 R 2955 0 R 2956 0 R 2957 0 R 2958 0 R 2959 0 R 2960 0 R 2961 0 R 2962 0 R 2963 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 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 ]
->> endobj
-2951 0 obj <<
+2885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 696.0019 154.727 706.9059]
+/Rect [133.915 397.729 154.727 408.633]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5) >>
 >> endobj
-2953 0 obj <<
+2886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 657.1476 176.8637 668.0516]
+/Rect [133.915 359.063 176.864 369.967]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_beb3e0b3cafb96de2ab53e985c574bb7) >>
 >> endobj
-2954 0 obj <<
+2887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 581.7399 143.6949 592.6439]
+/Rect [125.095 284.504 143.695 295.408]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_b4b097033191e38bbb59add2ebba3e70) >>
 >> endobj
-2955 0 obj <<
+2888 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.5106 581.7399 213.1538 592.6439]
+/Rect [147.511 284.504 213.154 295.408]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-2956 0 obj <<
+2889 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.3173 581.7399 382.7063 592.6439]
+/Rect [297.317 284.504 382.706 295.408]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-2957 0 obj <<
+2890 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 546.8707 143.6949 557.7746]
+/Rect [125.095 249.823 143.695 260.727]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_cddbfcdd0e7dd70c2258493ef67d0911) >>
 >> endobj
-2958 0 obj <<
+2891 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 546.8707 189.6323 557.7746]
+/Rect [171.032 249.823 189.632 260.727]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-2959 0 obj <<
+2892 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.1964 546.8707 282.6625 557.7746]
+/Rect [207.196 249.823 282.662 260.727]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2960 0 obj <<
+2893 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 500.0463 143.6949 510.9502]
+/Rect [125.095 203.188 143.695 214.092]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_91546e88fe3474f55bc6f0eceffa7251) >>
 >> endobj
-2961 0 obj <<
+2894 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 500.0463 189.6323 510.9502]
+/Rect [171.032 203.188 189.632 214.092]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-2962 0 obj <<
+2895 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.9389 500.0463 347.4049 510.9502]
+/Rect [271.939 203.188 347.405 214.092]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2963 0 obj <<
+2896 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 465.177 143.6949 476.081]
+/Rect [125.095 168.507 143.695 179.411]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_3f2210364b954a8d532905d09bcb7149) >>
 >> endobj
-2964 0 obj <<
+2897 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 465.177 248.8592 476.081]
+/Rect [171.032 168.507 248.859 179.411]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2965 0 obj <<
+2898 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 430.3078 143.6949 441.2117]
+/Rect [125.095 133.826 143.695 144.73]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_7fff251a8cd2ecd8b928175af94d7069) >>
 >> endobj
-2966 0 obj <<
+2899 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 430.3078 248.8592 441.2117]
+/Rect [171.032 133.826 248.859 144.73]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-2967 0 obj <<
+2900 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.3882 430.3078 330.3329 441.2117]
+/Rect [270.388 133.826 330.333 144.73]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-2968 0 obj <<
+2901 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 395.4386 143.6949 406.3425]
+/Rect [125.095 99.146 143.695 110.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_7ded037fa4c26b2e12565d3aa2c6b70b) >>
 >> endobj
-2969 0 obj <<
+2902 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 395.4386 247.1757 406.3425]
+/Rect [171.032 99.146 247.176 110.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-2970 0 obj <<
+2906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2910 0 obj <<
+/D [2908 0 R /XYZ 90 757.935 null]
+>> endobj
+2911 0 obj <<
+/D [2908 0 R /XYZ 90 726.054 null]
+>> endobj
+2912 0 obj <<
+/D [2908 0 R /XYZ 90 687.388 null]
+>> endobj
+2913 0 obj <<
+/D [2908 0 R /XYZ 90 648.723 null]
+>> endobj
+2914 0 obj <<
+/D [2908 0 R /XYZ 90 610.057 null]
+>> endobj
+2915 0 obj <<
+/D [2908 0 R /XYZ 90 571.391 null]
+>> endobj
+2916 0 obj <<
+/D [2908 0 R /XYZ 90 532.725 null]
+>> endobj
+2917 0 obj <<
+/D [2908 0 R /XYZ 90 494.06 null]
+>> endobj
+2918 0 obj <<
+/D [2908 0 R /XYZ 90 455.394 null]
+>> endobj
+2919 0 obj <<
+/D [2908 0 R /XYZ 90 416.728 null]
+>> endobj
+2920 0 obj <<
+/D [2908 0 R /XYZ 90 378.062 null]
+>> endobj
+2907 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F98 2117 0 R /F35 2013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2966 0 obj <<
+/Length 1814      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o�F��?e�_���uRӴQ���oZ�V��8��������nRm������>���`ch`�u�k
��MC aS����&�Qb���6!��t	Ƹ}�!����ա�
��#9�������ŋ��K�s���[B
H$���m��2���K*%�r�Y��)��rͯ+���X�z�&I�Kn�:���$��̯\�;w�Ӗ��a(j)��7��?-b�A2k0���
o���������1�VM
��p
7��[X[v�1�8��M8�A'l���D)˶��_�'
�]����]�h��
�R�f�
�$�_6ܭ���@�n���y��I���ar�^ʵ�:����X�ςh�6�L'�9l���ʏGo95
0
+0E�M�m�
6LS�x�S7?܂��I�1y[z�?�ґF;�5��û�8T\V��}+���D��=��َ]�j��T6
���
+Ԩ�B�
+�]����q���a0���֡�
�%����F|�;�v�ݨz1G�c� v�e;9�"
e$���XG9�,Q��IFDL�
܉,Bܲ@S Ǣ���`�:!��
|��/ӎ��H�3����3r#Y3R5G`�(���?L#���!{M��B�e�e劃��:���pIŔ/~:��9��^e�˫�s'������٫�~W�&� �[5۾���:��Y�ö��$��>4D���q���)���U���%��B
$[dRgC��_x�%��|�#ڗ^���
o�LP+	�֗ �R�֗@�m�u&%��� ��5���vΤ4�ҙ�,�Xh���L���j�
#]w@�=̦/<
�\�a�ck
+�
*�����mA4��ht�)�ofID�%������U�J�#�u�b�\�:斉#��hE�
T����,�����IѮDŽgD~�u_ʢ�
0��~� -���zB��6S�K���놭@�͗�k�U=�lJ��8]�P����w��y�Z��
��Nҵ�Xu��1`�K��0�����3��NE0�4B��
]�{0�ָc����إF�4��w/�xo�8*`z8�����q� ���Bl1�D{����e{����l�S��_�W=y����������a0�A�)w\�f�m�P�3-�Z��X|��l��B6^ľ����P0-3�4�u�\��7HQ��r����Zˁ&~t�@�����c�
�c���\�P�+P'6�HS�>�֖)z��,�F����=������(i��2D�A����OG�ÿ��^�P���A��'}z~.����3�2<�D^$�
9��ڧ�N/��%Ew������}�/\��n^�`ԘWO&�

hKS�U����̇"ד��� [...]
�
�
�`��1���[�@���]�P!c����k6Bw���
��3?�*�
>,�j�]�� 
+�h(�Do�#lT�a�g汉E6��*w߆�x�a���Y�[��i`e�^UV��Tn��J*��pE���V�#��=�d-�`nƢ�ص!���t��N_�{U�8�?�}4��
z/��y�w�rF�8
�^6UP)X~ ��H�Fͦ�a��r����6���%��s3e�'^,S�����
���c
D���N�El�P񚏍7
�b�f�Y����+N4w��O�G�nU��D�?ukk�.�`Z�ؤ(P䊲���/�%1�
�k�S�ȂD�z��o��֋MSl"�x��4zqt4�͐� �Q���(��G�}�B
+!�eWzW��$��
� .N\�	VA�x.7.
+endstream
+endobj
+2965 0 obj <<
+/Type /Page
+/Contents 2966 0 R
+/Resources 2964 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2868 0 R
+/Annots [ 2903 0 R 2904 0 R 2905 0 R 2927 0 R 2928 0 R 2929 0 R 2930 0 R 2931 0 R 2932 0 R 2933 0 R 2934 0 R 2935 0 R 2936 0 R 2937 0 R 2938 0 R 2939 0 R 2940 0 R 2941 0 R 2942 0 R 2943 0 R 2944 0 R 2945 0 R 2946 0 R 2947 0 R 2948 0 R 2949 0 R 2950 0 R 2951 0 R 2952 0 R 2953 0 R 2954 0 R 2955 0 R 2956 0 R 2957 0 R 2958 0 R 2959 0 R 2960 0 R 2963 0 R ]
+>> endobj
+2903 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 360.5693 143.6949 371.4733]
+/Rect [125.095 708.953 143.695 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_9de293fc5ed59d0122ccd78839b1a668) >>
 >> endobj
-2971 0 obj <<
+2904 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 360.5693 247.1757 371.4733]
+/Rect [171.032 708.953 247.176 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-2972 0 obj <<
+2905 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.2627 360.5693 329.2074 371.4733]
+/Rect [269.263 708.953 329.207 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-2973 0 obj <<
+2927 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 325.7001 143.6949 336.604]
+/Rect [125.095 674.084 143.695 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_04732c1c89db2f6d76b3b9479ec2fb99) >>
 >> endobj
-2974 0 obj <<
+2928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 325.7001 255.4847 336.604]
+/Rect [171.032 674.084 255.485 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2975 0 obj <<
+2929 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 314.7412 143.6949 325.6451]
+/Rect [125.095 663.125 143.695 674.029]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ddca3baab772ce17fb5133b0c4e60c33) >>
 >> endobj
-2976 0 obj <<
+2930 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 314.7412 255.4847 325.6451]
+/Rect [171.032 663.125 255.485 674.029]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-2977 0 obj <<
+2931 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.995 314.7412 341.9397 325.6451]
+/Rect [281.995 663.125 341.94 674.029]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-2978 0 obj <<
+2932 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 291.8271 143.6949 302.731]
+/Rect [125.095 640.211 143.695 651.115]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_7e3ffa1dd9894e6418bd153a4cd2de12) >>
 >> endobj
-2979 0 obj <<
+2933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.8287 291.8271 227.9891 302.731]
+/Rect [182.829 640.211 227.989 651.115]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-2980 0 obj <<
+2934 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.6852 291.8271 382.1513 302.731]
+/Rect [306.685 640.211 382.151 651.115]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2981 0 obj <<
+2935 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 233.0475 143.6949 243.9515]
+/Rect [125.095 581.432 143.695 592.336]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_db355a57fc1949b2ef9627d45be5f9bc) >>
 >> endobj
-2982 0 obj <<
+2936 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.8086 233.0475 248.077 243.9515]
+/Rect [175.809 581.432 248.077 592.336]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-2983 0 obj <<
+2937 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.1952 233.0475 385.6613 243.9515]
+/Rect [310.195 581.432 385.661 592.336]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2984 0 obj <<
+2938 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 186.2231 143.6949 197.1271]
+/Rect [125.095 534.607 143.695 545.511]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_f623edfed6d4816ac5573f42a6a1e801) >>
 >> endobj
-2985 0 obj <<
+2939 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 186.2231 218.9621 197.1271]
+/Rect [171.032 534.607 218.962 545.511]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-2986 0 obj <<
+2940 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.155 186.2231 317.6211 197.1271]
+/Rect [242.155 534.607 317.621 545.511]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2987 0 obj <<
+2941 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 151.3539 143.6949 162.2578]
+/Rect [125.095 499.738 143.695 510.642]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_5c02cdac1cee4eda75e568ef9f550da9) >>
 >> endobj
-2988 0 obj <<
+2942 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0321 151.3539 191.286 162.2578]
+/Rect [171.032 499.738 191.286 510.642]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-2989 0 obj <<
+2943 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.4789 151.3539 289.9449 162.2578]
+/Rect [214.479 499.738 289.945 510.642]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2990 0 obj <<
+2944 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 104.5295 143.6949 115.4334]
+/Rect [125.095 452.914 143.695 463.817]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_2f516cd923f94296daf57c8ace328af9) >>
 >> endobj
-2991 0 obj <<
+2945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.3652 104.5295 298.7863 115.4334]
+/Rect [187.365 452.914 298.786 463.817]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-2992 0 obj <<
+2946 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.5302 104.5295 513.9963 115.4334]
+/Rect [438.53 452.914 513.996 463.817]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-2993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2949 0 obj <<
-/D [2947 0 R /XYZ 90 757.9346 null]
->> endobj
-2950 0 obj <<
-/D [2947 0 R /XYZ 90 715.0952 null]
->> endobj
-2952 0 obj <<
-/D [2947 0 R /XYZ 90 676.2409 null]
->> endobj
-2946 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R /F100 2135 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3010 0 obj <<
-/Length 3479      
-/Filter /FlateDecode
->>
-stream
-x��\[s�}��Гkͬ��_��C�$�4�l7n^����h/���P�������� :Zo���u9���8 	��0�'3�gJ(d����
�n���H��%|>�:{��3���rvuSG�	J��j��!��/	���͜���d�7s�/���|Ue�o��*�
?�������o^EH�H���
؀j ��#ʌC��ꇑ00�A��
��:���T�����f��y����&��D_��%|d��p��=��ʗ���`��b�r���x���~s�3Z�
�
F�:ۜq�ܛ���g��q�/��5
-31)
��HK���0$���z,aQM!��
a)�o]�gj$y]#E���<����b�j��5��)��r{Ȋm��m�޵5�eա�����m5g�"_�-�U�}5�⢄Omc�����ǘj[k�k0]�)ad
A��!� �8�)B��y~����Td�u�(F����4�����ݏ($)�3���T��ӆ�y92�0��~Rݶ_�
�Q��!Ir-�í�k��H
�v�Q��\ �
�=$q�u/��cv�T�A\����Uv(�?h@����ı;T*��H1!z�

����)�Q(.����4�q��<g ����{T*��!�/��G8~rT�Rہ��S�/��?�������Q�n7��м�]eNą�.�'��ڱ	� 0t
-%�n��'�و�q$�r�wxW�G<�KIlZP�]�y� ��b
G�X'"n$\f�����\p����^�e��e��z�ۦ9�RIdl���0���'LVJ�Ưq����Ɇ�y
*����N��zT��&j�0�wS�3�O�ĵ,���l7`�..a>/�C�rKۻzeo��ɪ(�J���������F0������a;T*���)��o)a.�I>Ĉ���YZ�?d���;Q��ڝ
�û1{�?SO��1K�0�p��'8*����	�Z��^"��d0C�REF#@��
�`
,S��fp��v�ѵ�we�G�]�������� ǽw���
:�Z6�Q�|W�����bL�.��c�b��"�E�
K���ϝ�'ȵ�7ߕ��]>t7�'q�q�e��Ke�4M�t���.[�
�v0��i���Q	
-T2�87�f稍�-T��j�6���	;ɓ�O�0��m~�������v�y���>_�)g]��e�]�˽]����
ҔT�0	İ�[(�����)!KI\��Z%%�`i�O�x���x�m��#,�/�8M/�gv3���$��*
�*����t)X�5��t�~��IJbĔ�`��kA����p���:�|�
eq3�r�6�CO�֡������֕����b���ū�,_��z-��x)%��G;��'�>��vR��N�7�>1P��&�E.=*E�.
��)G� 
-N���q�U-_ޙ�YdLXʙ
,��A��b=�יn���,�c
uj饍.�k|�� n��E-���S�am�8x�J��f����
�	N�IĈ��

�����
��<mh�ʮ�7ۺ+����W��2V�blz���r\��h$4/.a�"DЄ�=,)�0`D‰���;i� ��A�V�w��Ί��y���o0,P%ehA)��%){������)q���-{ا����{{} �h�EK{�L~E
�\�$�`iEc���u����I;E�q�����\����^�^�v��:f���D(g0a
��lU3�Ұ�T
Ĉ���~/�nz�Uu�#�i�EsF��z�&����"�
- 

�}yW 0/䌤\��Ү��B<�s�0m�:i��B�� n�
-�b���C>v}�`.��P��vi���9^�	Қ��A��8�'�u�7�:�e<���/Sq�R����~À�&���귛v�~q[�^�w��p o�t���;T*��
AAݲ?C�L
-d�:i�_#"_��
�
���L��f/�bn�c%Eܢ�~
-�p4�Sp�3.�0��F���֗כ-��E�m��6���
��0;�u�ƒ�T(�ׂu��
%[�����
Ĉ)��>Y%�.вi'��<ۻy�;�_��u;ew����;1�J_^���I���҂���$��k��v���q�6����sn�`
J��P��Z_3�+��f6�L���w��A\��9H�"���z���-J��K�Q	���t	���Y5��(L~�R'�[
cD
����׵����g��}
1���IIӽ������J�혩J�lN�h
����wPP��,u��%�0
x�N������\?.�(����:;�m��C�F�(щ�9(hD�d�q
�U�p�vm�wk1"i��G�H�4��v<z��������çh
�����Q�0ܷ@�6Y/�G%�3f/�`��~���Pl��s}
-��u|�Zs&��>�w�����v�
�|��/4\��6�.Ɏ���q&b�� ˑ�2^�͒C�b��j�Ǧ1On	�3��.�xX�-��'�e��sː�3�2B��ne��!Չn��e��w�N;�ݲ�|�[�i
�ny
�({���-R:�T���ͬ)���ϗ����%��;��1�t�߾_-�K�(2B����ћsU�-	X��n	��:��v� ��n'��2�V���y�-�u���-�4�T2YF��PM�%r�-����ʵێQ�d���ݒ�n�1�ki at k5�̒ĥ$�xT"���!{}�|�[ڋ���v�0�qK���esvq�<2���������K�1��+�S��Da��I�U�aI�
F�M&�V�I=7�M;��d�� n��n��/n�r�ȮK�
�
���t
-iCg�
� C����Y����P�LN��ǧh
�Z��<�_��U�~t�=��G�D��	��9@ɺ$��
D at a����pA�I�Ĉ�������̡\���v.��4�tٴٯ�}R�y�\�����;�i��
{q�Tj��Pi�|
-3�hR�Aθm�9��f4{?j�3��ui�.<
�R#���c5�8
�&(g�+5����	��]�A�1���	0�Rh��zϷH{��'�AƈY��}�i��C�
�s�>�Cڇe"_�"��H��HK�d0���&ô�|f��Q���T�~T�~��/6���Tj�8r�J��+g����=�<�ab<>Acw�IR�!�H��G�HX�i���'�v�W�%�l
�1� 
��2�ۜw�����"�XUO�	�ģR$�5*
-��-��n��*����	뉕���a�I��#�HB&
�"a���
����
�a�������@F��g�ׂ��$�[�g� !Ư3b�Dd���_����q�R�[�Φ7kB0Ih���Ht����>�Qmڝ�oܳ>���?�7�����B\���w��.[?=.��)�vTq�h
R����p�(�
-꧜j���̽�{ |������lTp������
��^�~xx@�=���
-�׻����r�0W&�p�
4�ҩ<�V�r�qw�l�ʯ���M}vl0�
�ƨ�4��'endstream
-endobj
-3009 0 obj <<
-/Type /Page
-/Contents 3010 0 R
-/Resources 3008 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2941 0 R
-/Annots [ 3013 0 R 3014 0 R 3015 0 R 3017 0 R 3018 0 R 3020 0 R 3021 0 R 3023 0 R 3024 0 R 3025 0 R 3027 0 R 3029 0 R 3031 0 R 3033 0 R 3035 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 ]
->> endobj
-3013 0 obj <<
+2947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 698.2384 143.6949 709.1423]
+/Rect [125.095 406.089 143.695 416.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3014 0 obj <<
+2948 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.4345 698.2384 195.2411 709.1423]
+/Rect [154.435 406.089 195.241 416.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_c8a2f81fc1c5b99600d406300792119f) >>
 >> endobj
-3015 0 obj <<
+2949 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.5783 698.2384 241.1784 709.1423]
+/Rect [222.578 406.089 241.178 416.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3017 0 obj <<
+2950 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 662.3523 167.4656 673.2562]
+/Rect [145.1 369.227 167.466 380.131]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_df00a3a6522cd0b27a52ba3e2ab5c8ab) >>
 >> endobj
-3018 0 obj <<
+2951 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 662.3523 189.8814 673.2562]
+/Rect [171.281 369.227 189.881 380.131]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3020 0 obj <<
+2952 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 591.6203 190.7379 602.5243]
+/Rect [125.095 295.812 190.738 306.716]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-3021 0 obj <<
+2953 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 591.6203 261.8505 602.5243]
+/Rect [191.236 295.812 261.85 306.716]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_286412c3f05e82abdf69c5e5562ff949) >>
 >> endobj
-3023 0 obj <<
+2954 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 555.7343 190.7379 566.6382]
+/Rect [125.095 258.95 190.738 269.854]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-3024 0 obj <<
+2955 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 555.7343 262.1594 566.6382]
+/Rect [191.236 258.95 262.159 269.854]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_7e1a00f36570e89ee95817d898587743) >>
 >> endobj
-3025 0 obj <<
+2956 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.2253 542.5977 390.0817 552.5029]
+/Rect [329.225 245.326 390.082 255.231]
 /Subtype /Link
 /A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
 >> endobj
-3027 0 obj <<
+2957 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 519.8482 183.8239 530.7522]
+/Rect [145.299 222.089 183.824 232.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) >>
 >> endobj
-3029 0 obj <<
+2958 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 484.3357 192.2722 494.8661]
+/Rect [145.299 185.6 192.272 196.131]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_901382835b88fb9969d88eea101ae7cf) >>
 >> endobj
-3031 0 obj <<
+2959 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 448.0761 241.9353 458.98]
+/Rect [145.299 148.365 241.935 159.269]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_339a341a2f7d60de83e4feb3e8986558) >>
 >> endobj
-3033 0 obj <<
+2960 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 412.5636 189.9009 423.094]
+/Rect [145.299 111.877 189.901 122.407]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_70638e55ff0529f6f481db703645be05) >>
 >> endobj
-3035 0 obj <<
+2963 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2967 0 obj <<
+/D [2965 0 R /XYZ 90 757.935 null]
+>> endobj
+2968 0 obj <<
+/D [2965 0 R /XYZ 90 423.19 null]
+>> endobj
+2969 0 obj <<
+/D [2965 0 R /XYZ 90 386.328 null]
+>> endobj
+2970 0 obj <<
+/D [2965 0 R /XYZ 90 310.891 null]
+>> endobj
+2971 0 obj <<
+/D [2965 0 R /XYZ 90 276.051 null]
+>> endobj
+2972 0 obj <<
+/D [2965 0 R /XYZ 90 239.189 null]
+>> endobj
+2973 0 obj <<
+/D [2965 0 R /XYZ 90 202.328 null]
+>> endobj
+2974 0 obj <<
+/D [2965 0 R /XYZ 90 165.466 null]
+>> endobj
+2975 0 obj <<
+/D [2965 0 R /XYZ 90 128.604 null]
+>> endobj
+2964 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2013 0 R /F99 2114 0 R /F97 2177 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3029 0 obj <<
+/Length 1696      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���S'	Ë�K1�E[��,����bӶ6]<I����
��,۲�8N��J��s?~�H�z�����3|�;�1�c�dž��)1�#�I��s�16/-�� ����E��FwS1ʂ���:
���/_��ַ�����4,�Aܱ��2��.��`D���?�X�P�e~�b��U��Q���9���[>5E<��B�'Wb,2�x�H���'܃�ri������G�
6��w�˸1�{_�ac��1�3�Tlؔ�52>����2���a��q9På
a��p�R��W��/�
r~��Q�\ƓM���T	ٖ0\��d$F���ۯ�c�#���4ɋ�b���K
b���٦ȱ�qN�mW�x%�y��e�y�4È0��|�ͅ.�j�! VU(
눂d�o�$��w�J���Fm�E
�]|��a#{u�0�F
E��@_�<�?nQk��)[��s�) ��<���W�"�|& [�͉��~=V?{϶��\���� /��JfPɶ�9�\
�
��?5�"SM���[뛟-B�v\G����E9�|���>
|V���� k�@<�<�N:�r�A�+�����y��i�����E!�03�
|�[�Պ'��K����dp%`V
�d5���,=X��t���b�u�V.{1<2��bZ��b�Y6�|7M�Q�LJ��B���'
��w�z�
;���]Ǹ�Ƣʼn�"��T�
P~ �
��[��[�)�Z�5y(��3 W#Ck\�Ě���6ō����r"�}�w⩠�Ei֊���hJ�&�2O��� Z��
������ΚK���8K�Ap��6������E�
���2��� ����>y~�L@����[�c�̲��ƥw��\���C
+�z�r( ]
�="� @^�(��}q㓃Q��b}�
�Eʏ���xf
܆q��2�wA�4�}�P�>�&?�a�9 ��X	H0
�bsm�
��� �i�w��kK�3Kը2�e;��	d��[{/T����؈��]
� �v"�
 ���
@.)ܔ�ڷg<�]~��f�������[��"#(„��-N�#~4F��՘V�m��!�9G�gҥ#]�H�p(�����
���J�kq
�bM�&�P��'7A4�f�z�#��
1�'��d~"��"���:Y�z���(����Z��]u}��
+]��-���v�uC�ic�n�(i/,����p!��!�Q�Чf
&�d�Nd&��!�J�6�:P�"L�;ɰ�%�-I2�5v��L���T':#^:c�t�7�
o�3n���*��:���
�w��
'[�l�.�Ae>����N*��
+�0�p��Uԉ8"��UQ�D;'�9�vVOa�uQO�K<�E�w�m��l���幵��~�:��@
�8Q��(H���
��1r�3��J���"��� ��DU�����f����>�(�����F�Q��%�Y}�y@ݝ��t�$�
�삏<��4Ҝ�޼'O��6?O���t����a.�T�a�(��L^������ )��.^?�x�';
��};�w����z�1)�Ut�J�]��Y\���X�U~�Ug���?s��dqn���$�l��>���U�z}�`eG�
+����'Q-u��6��=��e�3D��%�E1{yq�X,�0G�$�e(,.f��b%wkM'�r�o��<V�Y-{�a�ζlt�r��Y
+endstream
+endobj
+3028 0 obj <<
+/Type /Page
+/Contents 3029 0 R
+/Resources 3027 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2868 0 R
+/Annots [ 2961 0 R 2962 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 0 R 3020 0 R 3021 0 R 3022 0 R 3023 0 R 3026 0 R ]
+>> endobj
+2961 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 376.6776 193.2289 387.2079]
+/Rect [145.299 720.286 193.229 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_bd6b88d6fd6e0259faa544106b08aeaa) >>
 >> endobj
-3037 0 obj <<
+2962 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 340.4179 238.4586 351.3218]
+/Rect [145.299 683.05 238.459 693.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_055f3030915a1b7de0cc50761d9a3245) >>
 >> endobj
-3038 0 obj <<
+2984 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 304.9054 187.6893 315.4358]
+/Rect [145.299 646.562 187.689 657.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_573ac186b0da77408bcb80531ca0090c) >>
 >> endobj
-3039 0 obj <<
+2985 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 304.9054 226.6926 315.4358]
+/Rect [191.505 646.562 226.693 657.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3040 0 obj <<
+2986 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 270.1504 205.6917 281.0544]
+/Rect [125.095 611.319 205.692 622.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-3041 0 obj <<
+2987 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 270.1504 261.3124 281.0544]
+/Rect [206.19 611.319 261.312 622.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_8e45baf04a16a09cfa25bac864515832) >>
 >> endobj
-3042 0 obj <<
+2988 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 270.1504 332.1558 281.0544]
+/Rect [288.65 611.319 332.156 622.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-3043 0 obj <<
+2989 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 235.7691 205.6917 246.673]
+/Rect [125.095 576.45 205.692 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-3044 0 obj <<
+2990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 235.7691 261.3124 246.673]
+/Rect [206.19 576.45 261.312 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_3c8e578089e8420dc286b27411fde2fd) >>
 >> endobj
-3045 0 obj <<
+2991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 235.7691 338.7813 246.673]
+/Rect [288.65 576.45 338.781 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-3046 0 obj <<
+2992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 201.3877 205.6818 212.2916]
+/Rect [125.095 541.581 205.682 552.485]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-3047 0 obj <<
+2993 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1799 201.3877 261.3025 212.2916]
+/Rect [206.18 541.581 261.302 552.485]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_36e39f75a5b973533a044d606444db4f) >>
 >> endobj
-3048 0 obj <<
+2994 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6396 201.3877 330.4624 212.2916]
+/Rect [288.64 541.581 330.462 552.485]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-3049 0 obj <<
+2995 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 167.0063 228.8952 177.9102]
+/Rect [145.299 506.712 228.895 517.616]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ce7b6bb6c1aabdf57f1643e88a834aac) >>
 >> endobj
-3050 0 obj <<
+2996 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.2323 167.0063 333.4819 177.9102]
+/Rect [256.232 506.712 333.482 517.616]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3051 0 obj <<
+2997 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 132.6249 229.5026 143.5288]
+/Rect [145.299 471.843 229.503 482.746]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_bb6e0e38bda55fc988819da21f2689eb) >>
 >> endobj
-3052 0 obj <<
+2998 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8398 132.6249 334.0894 143.5288]
+/Rect [256.84 471.843 334.089 482.746]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3053 0 obj <<
+2999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 98.2435 187.2643 109.1474]
+/Rect [145.98 436.973 187.264 447.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_40ab06947d065a171792da1ce6ed2505) >>
 >> endobj
-3054 0 obj <<
+3000 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 98.2435 293.2128 109.1474]
+/Rect [215.963 436.973 293.213 447.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3055 0 obj <<
+3001 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 98.2435 371.1477 109.1474]
+/Rect [325.131 436.973 371.148 447.877]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-3056 0 obj <<
+3002 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 98.2435 455.7274 109.1474]
+/Rect [409.711 436.973 455.727 447.877]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-3057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3011 0 obj <<
-/D [3009 0 R /XYZ 90 757.9346 null]
->> endobj
-3012 0 obj <<
-/D [3009 0 R /XYZ 90 715.0952 null]
->> endobj
-3016 0 obj <<
-/D [3009 0 R /XYZ 90 679.2092 null]
->> endobj
-3019 0 obj <<
-/D [3009 0 R /XYZ 90 606.4548 null]
->> endobj
-3022 0 obj <<
-/D [3009 0 R /XYZ 90 572.5911 null]
->> endobj
-3026 0 obj <<
-/D [3009 0 R /XYZ 90 536.7051 null]
->> endobj
-3028 0 obj <<
-/D [3009 0 R /XYZ 90 500.819 null]
->> endobj
-3030 0 obj <<
-/D [3009 0 R /XYZ 90 464.933 null]
->> endobj
-3032 0 obj <<
-/D [3009 0 R /XYZ 90 429.0469 null]
->> endobj
-3034 0 obj <<
-/D [3009 0 R /XYZ 90 393.1608 null]
->> endobj
-3036 0 obj <<
-/D [3009 0 R /XYZ 90 357.2748 null]
->> endobj
-3008 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F52 341 0 R /F101 2128 0 R /F99 2213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3067 0 obj <<
-/Length 3591      
-/Filter /FlateDecode
->>
-stream
-x��\]s۸}��Гk���?v:�鶻;ݏi�q����Q$:fkI^I����^�
.�ٙ�L
"K��
^ I6���
�e�R��:{_sº�/������ɋ���9�4׳��&�fDq�g�˟�#���QJ�^�3z6߮�W/�9=��>�T�������v�}��/7������׌%��Di)�����K�(����/�=��ȟ� ���v�\ѳ�s�Ϫ���|_���X]W�sfϪ��rLY8Q僞|u��US	�|�~=��:[BU�=�D8�f�%�9>[�H.��'�N��?4�]�Z9�$��p��	����y,�p�!��P�d��F�,�H˦F��%�E��Տ��~��u55	^ m�mW����jA���I�:P}
56�l�^�6������^Wʒå%�H�
�3�b��$�x��;�ǮM�������O��
�ʔꎯ��m&�x��_/��|���R�mV]���m���g�Y�
+��
-�* 
�9с��Sj��a�pS/Ι:��B[����C�S�5�,滮��o��{��0P��U�����}�c�u��fuw���d؅P�B����0i���mRg���v *	3��.��>h��
@�T$�!ڷ��ےs�Ƙ7y#r4o@]����\�X?����6K+5qP�~V���M�1�����è>�j��^���2
-V�HX��y at a��#R�A���z�&�
�*�� �y\O��z]ͷW_A_�v�z���8N�P]�EDa$�"��A38�|��r#)t�-�A��Z��G��q�asS]�s�E�/�j�]a ��,$�0F��
-�s��*!A 
�vj%"
!�ǝT	�$1�!�$�0ޕQ�G*�!BE���͈e
��3�k�M��_e�cƁ5�L��Ba���#];��i|S���|���]ہ��M�Gcؗ
-I��`��r��aaaL��8
i�8�c�V�����l�>�h��h�����}���j�9���2���hFlޞB���K6�RMt}Z���^��Op"���
0��%K���7��4��3�0ai
���c�������/��s�@Xf�}\31(�a��l8fj"
��ǝl���˥JF�i��T3}����rD<�%�;��q�Ζ�Q	3K��^_��>ou�W"�y܉�O+�JDF�٨�Jx�'��>L�X0}�3}�3߯&�
j�t�����O��|
�>�i�-X�s>4w>��|T\�<��p�s%t���C���Sl��ɒ
�>�Su�y at l���=��QE�#��
1>��w�㖗�J�R��F
����(�f$�
-.���3i΢���`1�هQ���YQN�E�Ҩ��v�O��!��^֢T��,����H�O��
-�d+�D���g*J�x�e�R�J�8�i5x2EY����<��2�`&����Y@��n
�4��k�-����/����q�$0Ԩ�l�C!��B�u���O_AR��ڝ�uRi������N곓� '���G�P
Z��)��}�]C�4��5�0��%Kή�7X�4�]C�C?mq۰�c��M�۬�󺕠�>����|@a����tX�
�Z�ꦖ �y\O��եG�+"��JgQXZh����ҞN
�� �q���(
N�NZ��S�$�蔊W7:�����K��G�
i{�Xn��?���ٌqa��I��p��+���J;�(]��J�,(
��S�^ڢ���NP:�@�3���b�xuH�8�)��U�(�g�8�1���<Ɉ��N�E�c4���$OY�j`�gPXZM���K0Y�v�2{��%!
-�P�[�
�>V�����1�#��o"~>���%c�| �`��%K�W��/M[V�^�)�W&��m'LW�z�?U����
iL����"D¡?e��/����RD<F#�[?hX
-9����z�s��Ӟ>NV?M�w�c�/�Qҿ ��
-���SD;�
j�Ճ�ő�T7�f���`H�\0L;.�O�J�WL�/�YV�4��+fF����]�
:����O8�����a�*��M���Y���]���#��kw��z���b���6�Z�嫵�Ny;����~w��<�.?`��
@��C�8@�u
ZW�@�s�_Xh�F��D!�0_�Ww�Eu�zU��M��_������2p���M����5|�|��~�����9�V�~�w��Ͳ�~
�T���OĄ%�)��X
-+Y��JV��
��iY/���y�z9&h�)7H]T�����6�ry���v^�G��$1
-ZW�
�0��.����
8
-j��28�a�ݒ;X ���Y�
D�����:��~�h��|pE��Gm)�1J�
`��_��]o{`���z��:��~M?�n�����0 ,0w��
o}��U)iGqYy�^{5#
D��y����0oqT�g7n���,�1�
0\�%�+�
������z��Idqs�ۍ�hA�:DB�3�gbP�Òg�P*�V"�1Yܾ�]�j���f
h��IW�ED!$�c��8]���
m�t�P�4FA�"��~Q�F�'������)�N��t�S�ħ�=��t�[J���o?���`��G�{i���!y;��Eu��z��!$��A��U������"�*NR��B�p�vЎ�D0_=�n���D<� �;M�8�4	f�X��BH���6T��"S���/�Qҿ ���R�u��?�ƀ	��"
��$`I��y���iq�륞"eY������7���6-�oZj�e�(�>�����7-(1�����x�F�S�CE�^Ȱ�QXv�IE?���MY����QO��1Jr`�ی)	w�[�=��yt�]��}�v~[��3���{�qQ�ߌi04�4�i�%:��g5���:D�"
�4`AԐ����Ң��O=A�Y�\�F�CQ���r
"
-��o�6R�Xդ�q�N�D�c4��}U;��
�2�0���P	z��V} ne3�_�"�9j)/�QP��
�mԱ����,��T3��(p�.
��ES8f��>�j
ӒH�
a
-`��%K
-W�.M�+\/��+���
��
�;�_��x�(���!�ـ�����%s+�(�a�iJ'92�3l���^n

4\锟0
�*�4FI���MP:��RN<��A�5�S� Õ.	XR�rޠtiZ\�z��(]�D�yB�]ɨ�
��MiK���)HD!\��/J��пM�V�+��$�1Y�򶬠����E�($���?�d�ّmY]��Q
si��������/tVb���
�ުֶ�1-EPR�O��ƨ���٥�u/g++W@�•�+�V9i'[iNT�zy'�V��0jI�rg&�_qY,E��yp�-�I�/�a��F���X�G8
�N�L #e��"DP���;/�1l$8�o�Wj��z�2��Qo2n^ 
51������
-۽?:��T/�r�lDk���^��G�v��n� ����\��]��l}?�������Um��S�͝��
�?={U��,��
���������6���f:��mן��~�ŋd�#���nK������YK�0J���
wA�^���8�������Oo��Ƈ�����ߴ���o�ȩ��]Eendstream
-endobj
-3066 0 obj <<
-/Type /Page
-/Contents 3067 0 R
-/Resources 3065 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2941 0 R
-/Annots [ 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 3085 0 R 3086 0 R 3087 0 R 3088 0 R 3090 0 R 3091 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 ]
->> endobj
-3069 0 obj <<
+3003 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 687.0355 187.2643 697.9395]
+/Rect [145.98 379.19 187.264 390.094]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_90cc17398be6745eb507339397381d7a) >>
 >> endobj
-3070 0 obj <<
+3004 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 687.0355 293.2128 697.9395]
+/Rect [215.963 379.19 293.213 390.094]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3071 0 obj <<
+3005 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 687.0355 371.1477 697.9395]
+/Rect [325.131 379.19 371.148 390.094]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-3072 0 obj <<
+3006 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 687.0355 455.7274 697.9395]
+/Rect [409.711 379.19 455.727 390.094]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-3073 0 obj <<
+3007 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.2349 675.0804 220.0576 685.9843]
+/Rect [178.235 367.235 220.058 378.139]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-3074 0 obj <<
+3008 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 629.2522 186.3482 640.1562]
+/Rect [146.717 321.407 186.348 332.311]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_1039be5680ea8eceb903367e1e7aa13f) >>
 >> endobj
-3075 0 obj <<
+3009 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 629.2522 293.7723 640.1562]
+/Rect [216.523 321.407 293.772 332.311]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3076 0 obj <<
+3010 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 629.2522 373.3671 640.1562]
+/Rect [327.35 321.407 373.367 332.311]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-3077 0 obj <<
+3011 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 629.2522 456.8371 640.1562]
+/Rect [410.82 321.407 456.837 332.311]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-3078 0 obj <<
+3012 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 571.4689 186.3482 582.3728]
+/Rect [146.717 263.623 186.348 274.527]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_9ffb692c7f3bd8af9b81135e38b38dd7) >>
 >> endobj
-3079 0 obj <<
+3013 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 571.4689 293.7723 582.3728]
+/Rect [216.523 263.623 293.772 274.527]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3080 0 obj <<
+3014 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 571.4689 373.3671 582.3728]
+/Rect [327.35 263.623 373.367 274.527]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-3081 0 obj <<
+3015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 571.4689 456.8371 582.3728]
+/Rect [410.82 263.623 456.837 274.527]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-3082 0 obj <<
+3016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 559.5137 218.4038 570.4177]
+/Rect [176.581 251.668 218.404 262.572]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-3083 0 obj <<
+3017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 514.0592 180.4964 524.5895]
+/Rect [145.299 206.214 180.496 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_84a324ad469ad76c235789823cf4e0f4) >>
 >> endobj
-3084 0 obj <<
+3018 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.8336 514.0592 226.4338 524.5895]
+/Rect [207.834 206.214 226.434 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3085 0 obj <<
+3019 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 478.8164 213.1533 489.7203]
+/Rect [145.299 170.971 213.153 181.875]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_94dd083371c61a3f54521caed75e2820) >>
 >> endobj
-3086 0 obj <<
+3020 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.4905 478.8164 259.0907 489.7203]
+/Rect [240.49 170.971 259.091 181.875]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3087 0 obj <<
+3021 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 443.9471 213.1634 454.8511]
+/Rect [145.299 136.102 213.163 147.005]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_2ebf93b52454102cd99eaa211ad6ff71) >>
 >> endobj
-3088 0 obj <<
+3022 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.5006 443.9471 259.1008 454.8511]
+/Rect [240.501 136.102 259.101 147.005]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3090 0 obj <<
+3023 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 409.4515 161.6774 419.9818]
+/Rect [145.299 101.606 161.677 112.136]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_2f964d43c2798bde1924e82d88971ea2) >>
 >> endobj
-3091 0 obj <<
+3026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3030 0 obj <<
+/D [3028 0 R /XYZ 90 757.935 null]
+>> endobj
+3031 0 obj <<
+/D [3028 0 R /XYZ 90 733.028 null]
+>> endobj
+3032 0 obj <<
+/D [3028 0 R /XYZ 90 700.151 null]
+>> endobj
+3033 0 obj <<
+/D [3028 0 R /XYZ 90 118.333 null]
+>> endobj
+3027 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3086 0 obj <<
+/Length 1570      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���+��I�L�IQ�0`�a�d�ח�0d�q�ْ*�I��w��/�'Qg
�M���߹����_�ƃщ�
��
+c|a��pA�c
�&!�YC�16O-�M/]x�S�b3��.U�z�?�iꥫ�o��߬/��B6Z$B .�W4�CYe�S�m*�6���
+�*����Fl���~�e�5�
�c˥�Z$s/We�Gu�R�HSE>��K�Ѝ~�4�
Rh�;ȱ��/�_�@�#ە�uQka0j���8�5��fo���y�"�mW ��rg�����BEYG�����
6��hV���S(+�O����/*
�^^U�V�C
����J3�6b�N8ޔ�F�CJ�Kd)�gJ��O��!Z�
+F �Nk3�Uj�X���yA0�A�<��(�mG���9.jt7��7>4C��Y�С����3�#ƐP�rZ� ���~�T��/�ݽE�Y� ��7�umvU��5�zv��M�<ޙ�l��j��i%b�>cL#
Eч�n�Al�$�Z�5�YX6�\�Y��� '���V��hH%A�Ҋ#���^@���:o�)��f~[�2�ZfG2�y3�~�䀙b�?a�qq�}R�|���?W�����剼��2xu��e�n<�5u4�Ɵ��P�2;ԅ���qn���@赆ϢL}]�W�\��7����(�DP�Y�9���0�{<J�^0��8��B����U� J�$x`ȴzB��}_f`%A��;��
U���^�9zpz�6i���:�/�xV��3ՙߴ̊p��Ν\�e;f��<mH-�O��r?
��q����]G
�Egڋ�I{_!�
�4TD�5��
h�O
��E���K�
+y�y�>�>m�¢�[@�ވ&�!^"[�H@$�X٧�H�8�fx�\�f��E��_�&�Ÿ	
+ӻ�3/o���m���x�Y��6E
��yMA6��]0*�߂��v�3��%�G��Q�����,B�饡7��&& �=}Hz/�e��m�9{ǣ+��yi���_��
�t���m�)0F�>6U��X
�K����%�ϫ���g��.�#5����e�
� v�{V�M��C���^���b/�裰�
���<7�2���
���\.�uϙI���[��s��əj��y<���F�*��88s���3q�q�f��D��}�@�nۆ�u�6���6�Q�ʭZ����]�XM�f6�
���M=C]� �9ŽS��5��e��再��kۊq�6�w+Oj	��<��^7]!�4S���I���ڪV�d-���g�%������fm )t�S�JO���MI`u�b���R�

!�6uV-�p�����&%����I���4^F���F���l��!:U�h
+c�3�
\�M׵��q$�C>J�
<����E�4��weq^L�^�|���I�ܽ�'d1���w�@G�p
Pjyۑ�X��q
�i��J���i}ױ|�.<�/� L��87��~]���V3�+�ċ�:Hw�/I���d��'�T����Ǩ�~̬��؆����2ϓ�����5�3x')
+�Q��G7��[!���m�fe���ƅC�Ȩ��$�
�37�
+endstream
+endobj
+3085 0 obj <<
+/Type /Page
+/Contents 3086 0 R
+/Resources 3084 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2868 0 R
+/Annots [ 3024 0 R 3025 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 3083 0 R ]
+>> endobj
+3024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 336.0363 205.7516 346.5667]
+/Rect [145.1 671.777 205.752 682.308]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_c5eb33b72a86a33d7ae4685d376b50a6) >>
 >> endobj
-3092 0 obj <<
+3025 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.0887 336.0363 276.595 346.5667]
+/Rect [233.089 671.777 276.595 682.308]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-3093 0 obj <<
+3047 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 300.7935 209.6269 311.6974]
+/Rect [145.1 636.534 209.627 647.438]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_acf7b2a7e0bb5007ce8cd9506d06137d) >>
 >> endobj
-3094 0 obj <<
+3048 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.9641 300.7935 314.7912 311.6974]
+/Rect [236.964 636.534 314.791 647.438]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-3095 0 obj <<
+3049 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 265.9242 248.202 276.8282]
+/Rect [145.1 601.665 248.202 612.569]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a366a38561684a64bc0a042702534a07) >>
 >> endobj
-3096 0 obj <<
+3050 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.0176 265.9242 329.8447 276.8282]
+/Rect [252.018 601.665 329.845 612.569]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-3097 0 obj <<
+3051 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 231.055 212.377 241.9589]
+/Rect [145.1 566.796 212.377 577.7]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_b85f80c281c840eedb4f228757b8515a) >>
 >> endobj
-3098 0 obj <<
+3052 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7142 231.055 289.8459 241.9589]
+/Rect [239.714 566.796 289.846 577.7]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-3099 0 obj <<
+3053 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 196.1858 216.2524 207.0897]
+/Rect [145.1 531.927 216.252 542.831]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_92ef9a99d160f55e3fc44a4bd1ae78f2) >>
 >> endobj
-3100 0 obj <<
+3054 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.5896 196.1858 328.0421 207.0897]
+/Rect [243.59 531.927 328.042 542.831]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-3101 0 obj <<
+3055 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 161.3165 254.8275 172.2205]
+/Rect [145.1 497.058 254.827 507.961]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_736577ec65f40b0637f13486e64f051a) >>
 >> endobj
-3102 0 obj <<
+3056 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.6431 161.3165 343.0957 172.2205]
+/Rect [258.643 497.058 343.096 507.961]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-3103 0 obj <<
+3057 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 126.8209 236.7449 137.3512]
+/Rect [145.1 462.562 236.745 473.092]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e862a635387c2458da51889c20465f0c) >>
 >> endobj
-3104 0 obj <<
+3058 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0821 126.8209 307.5883 137.3512]
+/Rect [264.082 462.562 307.588 473.092]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-3105 0 obj <<
+3059 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 91.578 240.6203 102.482]
+/Rect [145.1 427.319 240.62 438.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6d2f7819b7359865679b24e683231303) >>
 >> endobj
-3106 0 obj <<
+3060 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9575 91.578 345.7846 102.482]
+/Rect [267.957 427.319 345.785 438.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-3107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3068 0 obj <<
-/D [3066 0 R /XYZ 90 757.9346 null]
->> endobj
-3089 0 obj <<
-/D [3066 0 R /XYZ 90 426.1787 null]
->> endobj
-3065 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3124 0 obj <<
-/Length 4478      
-/Filter /FlateDecode
->>
-stream
-x��]�n�ȑ}�W詷���~i��
��
����Q��(u����J�#�F����
�%�g��Gb��F&O�H&)q��?q��3�������_����_���%|��~����יּ
,Xi/?���`F
-y���
!��Z
-���+���v���J�����Sus\����x\߽������}����	ѱ(�e�j
���l �S��T!"����30<B~I����t�ZJ���\T����\5G��n���jw
��0
NԢы�~H�j�i���\��o�����
�T���
�™A^n/�T�������4�_S��I3o��#(������c&�2Lz	&�T�[���:}�!GV�9Ґ$��e�a�~8�y9j���NgȐY�7�s��ͮͺ�X�
W�6�ק�;W\�r�7֎W�-���\�v���|K�$�*'�Ԉw�,w.Z��s/����6 �d�[�ť�	���gB<8΂����L8%a�8�=�,���i,
�R����_J3y�kp�7�(��2
D��s}�on�5�a����]���D�SA
�b�v���lΟV07���ۋJjɔӢ���"b��F�nx}u
�;�
W~nJ�
-c`����$(�ת��"|+	�R���\�A��d�G��ϡ����%�$�u�����6O�u7�\���\�d.�
S܄g3�!��B)W^h���d���s~[��ܒ̕���\D�%�:
��2��)g$��`���i.{#1M]��ܜ$<��nN]����s�
0��A8��QDʂB��70�a�2��
�
��(�X�Q$V�a�	�Db�Q!�1?{6��l�ѯ��,���b��٬c��fe��ͺni6�\�a�r���?�ﮠ)8W��E��`@'2�t����"B�JB(�s>�\���s3��T�-�M$Aqδ6����"�+.�{����2���n-���0X�F��"lN79B�1o���5B
x-�HB�������x��&*�Vܭϛ���`��7�=�N�o�o܁��W��W�5,s�+���䷮��~[~�ܒ�����oD�~�5�9UNHB�H�ڂu�X�	�J湛�����[��mJ�)��0�D$\
L@˙��,ԌWЦ�g-�umh.������0^�/�z� ���V׌�
-��=���g
.P�.�h��,�^�od��[��2�sX�
��.F�KT7$��B9�(�}0�;��=��/v*PK�& ���v1�����q��x?\S����$�TR`� .�c��t`��g�����EXS���3v�J���CDe��EX�O�3�[S���fws�`�z�h��B
-hI�U1c˄"� e^A�(��c����_�O����X
p�I~Ө����
�}���a�w�����Ͷڝ6���#$g»H՟�DZ�c��b~V�^�O���n��k������S@#yYJ_

�0���[)m#
Z�W_I0�6)i�
at��,՜��Xs�n隓��Ss�A
�ή9�
<՜��Ts��O�kHm��pn�chwPxN����ʬe6��+&#��(\ �CYo����j���\��b�?Sqwl�jQ���h7^�,�
�?��P�Z<����Zd c�T.dl�PD�X�򲗔�Z$�.-�<�j-�O�.�b��ϊ�Ѷ.FqX����
��M��C�L���3��t�
g���J����J��ܑs�p(g�j�E���5qݚV0Z�<�(�ݚ����
��Sݓv�i˩�		FV���B%#���,sKV����JF1��Q@^
Op�l^5�jXT$�.�"��0$�C�����z�`�h���Hx*��]
����Wy��!fBBQn�S��ݾy,,����zֆ���B�J0
�W�t8��Dy ��D���tDP��θӍ/�)�.
-�
kY�V�t,�����,":{
�b�r)3j�X��o~�0,vx5FM�
�%j,����uKSc�z5��ح���P
W���If��+˩H("
-\�����(0�U7?	O�1�;ŌN3�w��gQ�[h��2wK1#
�ճv9tm��1�~&�xڮ��je�G���~!9�;�>�6�q9Gڗ�O��	��å��^$ќ7#J�g����1X�ϲ�ȟ]����1�����"w�x*���q�\mnW���i}=rS�������"BB1&�S���$R\c�V��L�Sa
�N��)l�.�|N���
-U$wJ�-�%0�6
-4�`���Z�Ю�ʠ�i�
��Nst��\�M�E���LW��B��<���zpsjN�B!�
W��Zl���ϛK�j�s��ɄP��q���CE��Ҭ<��p>���a`�_6����x������!���Ө� >���L�
�����3��Hle
�I��`d��,��o["2����]ϐ�D����o
�V�z?��ƛ:B�r6�D�^/\}�Ga�8�*Ҡ���#�0v'�$t!gQ�[����&wK�
䟧��6J�!�~&*'��8Ak���+�@p��mB�I�_qV�3�!P��	F�c�`�
�~#=v�t�v��&��N���~s��z8A3���΍|>OѤ�L at Q-g%�����0���VЁi��y��p*���I�
h-1
����8����;��3t�F�!#,g�`�20�y��RǾ
Vi����bzD<q�C��~[U�塽�U
?7�
��沙���$��B�KC�L("8%��:��M�ҹ�
��&�yvK�$͇�����WT�������cP���}���
-�Q����I�� �]o!k��@�����xeL���~
�
��ƕO�ZT7�`d��,�;�o[�2��� 
$�d�]J^���ح9�n�'7���p7#��ic˩H("
-ɡe�zC0��Sr(E����<$<A�.���U0��)�(* ��^����
�X!�
g�Y�x*��]
�ϛ]�>�~���X�Nc��N��
	E�
.����x�h�C77��Wi�^o��y�{9Χw��ŽRC�z)����m����n�������v��
-g'J��
�]Y��
N]9�`�
QFL����/�q_�#[�Ӱ
n�A}���l�µx�ԇv[�>�}
�> ��Q���U��šZ&�u�!�YH�yP��H��
���Wn끯���d�}صoׇC�~��a�����^>I��}����g�3��h4�Bz��ɋf}6��SR��jY/����DZ�``"�3P���V��Ͱ�ɳ �n�%(Sg����u7/
u[,�h��1XR9e�Q�t�N�
�I�<DN�B�[
H
(d�*oi:aʩH("l���7c*Z_g�����'#�ۥU��uO� �� �멟��O��ʁ+yJ�x惔���TP�3U�}	����"�P���.�A�U�f���}uʆo�rD@�>G�tmTN��.�O/�H!_fY:(�J*��`}/�
�5�8��ݡ���okgY���
��#�L(*2��A�M����^|Z�S�*aCG���u���2E8�u�I�}�I���Q��A���h
-
Wƿ�����:	Fj�����!��Z's[����C���M�O1��Q�U�긾����Y�X݁�Ep%�iI("�Z
`%ʇcL��<�F��9Ix2��]Z�x�4�!����� ��6I�Ɠ������sS��D$C����}�H�z���8��
0���|H(*|�7�����E��fT�i}��anB��fhw��3XEK�0u��РcG�J񽎨��(Ux��{2Q�t-*Wt|j�
-�+8�^DJ(�}�р�W�p	{B�h�/�5/
H{	"��#q�(.�ԧ�h�6�i����
�֥��̮j^
R��&��&�qW����?�<Sʫ�D[&� ��Y��$�~�8?_��:N�K�Ƶ�
3P����
�g�ߤָ["�ؕpb���}2���
H�S|H�+Ͳ�� ���8B�V�F^����7Ll/��<�hl䯄^&�ˮ�:GY�
נf�ɧL�]-�bT�i kSX1��m�|l�->90C]u��S�Eg,�0սL� �ҙ9��B���
��2�Ԕ�����zS��BJȀ��nS{F�P�I�-{aB))���^^�����F�ގ���-��e��vR�l�T����x*��ݢ�\��L���$� f��S���S|lqfZ���o�T��B䜘
	E��͔advL+_��z8ӵ,�Hvg(_�
`�b2�Ax쏳��u�Lh_P�6 �LI�S�
�v�o|R�H�0�u�ia�k ��� ����#h�A�\�p�xtQ?�
8.��F7�p_Xc��w
�?�a�At3c���#��� 0'bi��eGаͯ�ok4��`���Su�ܠӖ׿�w붆� [...]
-B��®�n���jd}Q�S
.OP���/�O��X��e���q��
��s�t>޽}���v}b����6緇����x��~3���-hK�y�-s�b7��Z����vG��m�-l�y
	��u�endstream
-endobj
-3123 0 obj <<
-/Type /Page
-/Contents 3124 0 R
-/Resources 3122 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2941 0 R
-/Annots [ 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 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 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 ]
->> endobj
-3126 0 obj <<
+3061 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 698.0288 243.3704 708.9327]
+/Rect [145.1 392.45 243.37 403.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_944e2c41213d3ea40e74930a90de97bf) >>
 >> endobj
-3127 0 obj <<
+3062 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.7076 698.0288 320.8393 708.9327]
+/Rect [270.708 392.45 320.839 403.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-3128 0 obj <<
+3063 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 663.2283 247.2458 674.1322]
+/Rect [145.1 357.581 247.246 368.484]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_22f9ceb879f1c8d892f60fb3d9577d81) >>
 >> endobj
-3129 0 obj <<
+3064 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5829 663.2283 359.0355 674.1322]
+/Rect [274.583 357.581 359.035 368.484]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-3130 0 obj <<
+3065 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 628.4277 230.5982 639.3317]
+/Rect [145.1 322.711 230.598 333.615]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_685232ed211cce61f5d27727d979df94) >>
 >> endobj
-3131 0 obj <<
+3066 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.9354 628.4277 301.4416 639.3317]
+/Rect [257.935 322.711 301.442 333.615]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-3132 0 obj <<
+3067 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 593.6272 234.4736 604.5311]
+/Rect [145.1 287.842 234.474 298.746]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_a18b052380a4cbb9db236d690f932eda) >>
 >> endobj
-3133 0 obj <<
+3068 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.8107 593.6272 339.6378 604.5311]
+/Rect [261.811 287.842 339.638 298.746]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-3134 0 obj <<
+3069 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 559.2003 193.5774 569.7306]
+/Rect [145.1 253.346 193.577 263.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_87e906459b095e23114ee8f0025086cb) >>
 >> endobj
-3135 0 obj <<
+3070 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 559.2003 232.5806 569.7306]
+/Rect [197.393 253.346 232.581 263.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3136 0 obj <<
+3071 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.0592 546.2328 248.8445 556.1381]
+/Rect [192.059 240.345 248.845 250.25]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-3137 0 obj <<
+3072 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 513.4408 193.5774 523.9712]
+/Rect [145.1 207.518 193.577 218.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4b050985a103d89eaa5627c16f4f4257) >>
 >> endobj
-3138 0 obj <<
+3073 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9146 513.4408 277.6909 523.9712]
+/Rect [220.915 207.518 277.691 218.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-3139 0 obj <<
+3074 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 500.4734 252.6774 510.3786]
+/Rect [195.892 194.516 252.677 204.422]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-3140 0 obj <<
+3075 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 467.3078 223.4647 478.2117]
+/Rect [145.1 161.317 223.465 172.22]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_3daaa36a6bf749e0b4d66ce57878e2d0) >>
 >> endobj
-3141 0 obj <<
+3076 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8018 467.3078 269.402 478.2117]
+/Rect [250.802 161.317 269.402 172.22]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3142 0 obj <<
+3077 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 432.5073 229.5525 443.4112]
+/Rect [145.1 126.447 229.552 137.351]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e70fafb10013762e436a434564d7e931) >>
 >> endobj
-3143 0 obj <<
+3078 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8897 432.5073 275.4898 443.4112]
+/Rect [256.89 126.447 275.49 137.351]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3144 0 obj <<
+3079 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 397.7067 266.6729 408.6107]
+/Rect [145.299 91.578 266.673 102.482]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_d9dba7a094763a47be44e246c1120fa7) >>
 >> endobj
-3145 0 obj <<
+3080 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0101 397.7067 312.6102 408.6107]
+/Rect [294.01 91.578 312.61 102.482]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3146 0 obj <<
+3083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3087 0 obj <<
+/D [3085 0 R /XYZ 90 757.935 null]
+>> endobj
+3084 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3156 0 obj <<
+/Length 2756      
+/Filter /FlateDecode
+>>
+stream
+x��[mo����_�O�����ܠ-�;\�^�@���%9�L�D%Q�(;���rI���M
D�����}�Y�N
&t���o���h1��j�'7�K'F3�8���M>L#r6g������0]���3N����1�K����m�/�_�|��z���Ǝ$2����s��L�(�倿��� ��Z��c�a�?���n6�Nof�O��vfQ~�]t�3L��.Y�0ԠЫo��u�@
�0�
e�j�\_}��N���OJ�
&�n�z"�������߯��l��y��I ��3P_	
+�
B���߃��n���Z1�o����v��7w���>w��G�%�2�>R*���� I4
�1�c���T4�0ɊA!Lz*�iB�&?�AJ@(-Ļ܆#�S�̾���8�
*~�E�6�73K̴�0&�i����13K�Q��
+Sҙ0�(ۧ`��VNXV���s��&C��Qz��Xesy��j�8�=�B�xV��-"��(z�}�pP>���9W!�sP��  ���VI��y�F�.w����)�5�g�|m��p�G��2��ny
_�w�z��Y��u�q���9�����'���^c���z�m���a�#�@".�C$�޸�5%�MuI�Wti�}E�e][\Q}^�1k���G�$YuG�.x��_�]�yX@,�35��}mQ��QguK�Y�6�
 ,�0TYGQ6�摸��'�&꨼�A
�
�89u(������av,CJ�<��c�>��6Zfޟ �I�$J+eO@{�蹔Sr�ސ����J���%�k2�I���KV��)Ұ
���_��
'{�)u�^,�s�V�~%�4t������:|�Nd�|��ʙ�2c�݌�����0���3��U3>���8���&
+�ŏ��i[�4�Q�
;�DzH�Ҩe
m�E��q�{��ͺ���
���"�U�;=�|��hm�u�	�$�é�d�WY��
�]!Zr�P�]�{j�Q��>�{
�V��2��uyd�z����;Yg����r`�z
P9�6�m�G���~��^^�ۭE��t�u� ��U�a�09���%��+��q��(Qʼn�S��+a�!���p���A�@�R���A���	e����$��Df4���V�
���/ ,ah
���}��s����m �	
2��q&�a�V�A���T����F��-���J
g���q�y���y�-�\�~��-��Ќi�� x�9ƭ��
�%�}����X�ic�m�4\�������� �	+ �QF��h媄����mY�UtI���e�]���+�`�
 l �:*b(���ek���5a�5#� 
�-���ep���"T���/�@�j)Gi�-���4
�u�`u1�6E.���$��2�5���U���L�i��"�RѺ�
+���	�G6�}TJK���h�A9;���D ��1�h
�"\�=-��2>� j�z�jٲGM	
x٦v��ʜ�,���ࡄ��P��V���ik����p58�!8$��c*3��gY
W6O%9����f��u��0�e�$G�-'��MpV
 �`�~�6�ּ=�qY��%� �
�
+�V}� ����hݗ
+p�O�
�j;Yv���=-�9��i.�x|�8n�+Y�l$��K�ҚDvlm�܀�Trj�����+7��܀?Ts�
��!40c%��109`k ��֐�LW~`��R�#��,=xQ��������n�t&���C���&1,|nA���AE;V#l�D0~3�&�NA�
҇@h]=�:ҁ0�/
��2
��N�H��.���q{C��
+��8L9��+ܤuƮl
c�GX:����xYv��v�J'a��̈́
�v:��W:��M�����u������e�7}l�D�PerD Ԭa�i��g~���̘�R!�Č��3c�i  *��$��
@�L�"J) ���8���b��
+Q9��<	;��;�W[8�'�������H��+�)��b��M���}Z1�
�	}FZ"�
u`���HM
C1�m�y���pN+�b)��1
D
q�=��z
&ڇdxS/��W��E��?O|��X��O����΂�>���:qSA�ŠӦ�ho:���̛
+�MgQo:
�t}MgA�풏��V��h��֚���{W���q����K���1�[Z�B�!W	�]�1��>�k[Zե�-�Z)�
���/j�����a�zgE��� ��d�i!��o
l�:�~
+�	a0�� ~H�y���2��29�Yfc�ic�x�EG���{
A�,:h�=�4������#�j}<M)=��i�V%��ͭm!ek�0�:�V"���!�J��Y"HyHA8�V���� PPfH
+B�w�  0 o�KO-�,c�F5(	)�P�ѩeK�
�9�v!�y���و!��i�E��d��ox�C�e.�F�,m�[C�Qp�"�#
آ�|q%���v�v����V<b�WY����\&��>˟4�u��繫��te�Q�iz�� ���Y8�)1~ƛ焯@�Pj4:�"b����x��U�ۧ}�|v0B1e�p0��
��R9��#���}�D���Dc�З>

+¢j at AH	�k�
+_��'�7Ŷy�:y)��k��̷iݛ�����w�6�7�o�f_؆+�������$ 3����& 
y+7⯿^�8(ͩ p/���e�������d�#�M�MI�]o������΀�
�7�O�\�u��/��ŵ�$�E�E�P#��
+endstream
+endobj
+3155 0 obj <<
+/Type /Page
+/Contents 3156 0 R
+/Resources 3154 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2868 0 R
+/Annots [ 3081 0 R 3082 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 3158 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 3159 0 R 3140 0 R 3141 0 R 3142 0 R 3143 0 R 3144 0 R 3160 0 R 3145 0 R 3146 0 R 3147 0 R 3148 0 R 3149 0 R 3153 0 R ]
+>> endobj
+3081 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 351.9473 217.1088 362.8512]
+/Rect [145.1 687.211 217.109 698.115]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_161c87c94b78fd1111365e185d0a3ae7) >>
 >> endobj
-3147 0 obj <<
+3082 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 351.9473 263.0461 362.8512]
+/Rect [244.446 687.211 263.046 698.115]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3148 0 obj <<
+3105 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 317.1468 271.1256 328.0507]
+/Rect [145.299 652.694 271.126 663.598]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_fb683aefdda7a1c5dcf92ee2a03daf81) >>
 >> endobj
-3149 0 obj <<
+3106 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.4628 317.1468 317.063 328.0507]
+/Rect [298.463 652.694 317.063 663.598]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3150 0 obj <<
+3107 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.8625 304.5529 326.2592 314.4582]
+/Rect [214.863 640.242 326.259 650.147]
 /Subtype /Link
 /A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-3151 0 obj <<
+3108 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 271.3873 201.7419 282.2913]
+/Rect [147.984 607.218 201.742 618.122]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_06c2ce3f0789aba0294da43628b50226) >>
 >> endobj
-3152 0 obj <<
+3109 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.4419 271.3873 243.6294 282.2913]
+/Rect [208.442 607.218 243.629 618.122]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3153 0 obj <<
+3110 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0792 271.3873 371.3288 282.2913]
+/Rect [294.079 607.218 371.329 618.122]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3154 0 obj <<
+3111 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.3057 246.8383 269.9387 256.7436]
+/Rect [223.306 582.81 269.939 592.716]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-3155 0 obj <<
+3112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2877 213.6727 212.7678 224.5767]
+/Rect [146.288 549.786 212.768 560.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e1509738a054a1ffeb070a35c41db257) >>
 >> endobj
-3156 0 obj <<
+3113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.7715 213.6727 252.9591 224.5767]
+/Rect [217.771 549.786 252.959 560.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3157 0 obj <<
+3114 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.8959 213.6727 375.1455 224.5767]
+/Rect [297.896 549.786 375.145 560.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3158 0 obj <<
+3115 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.4006 189.1237 277.9276 199.0289]
+/Rect [220.401 525.379 277.928 535.284]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-3159 0 obj <<
+3116 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4429 155.9581 250.0993 166.862]
+/Rect [145.443 492.355 250.099 503.259]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_bd266a7d827fb77e09de63dfea2f9d58) >>
 >> endobj
-3160 0 obj <<
+3117 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2582 155.9581 289.4458 166.862]
+/Rect [254.258 492.355 289.446 503.259]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3161 0 obj <<
+3118 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.7722 155.9581 379.5123 166.862]
+/Rect [307.772 492.355 379.512 503.259]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-3162 0 obj <<
+3119 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 155.9581 513.9963 166.862]
+/Rect [436.747 492.355 513.996 503.259]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3163 0 obj <<
+3120 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.3043 130.2001 439.3345 142.3651]
+/Rect [344.304 466.738 439.335 478.903]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-3164 0 obj <<
+3121 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2074 98.2435 266.586 109.1474]
+/Rect [149.207 434.923 266.586 445.827]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_17182f3f0d9242d5821ba59b2773ae55) >>
 >> endobj
-3165 0 obj <<
+3122 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5094 98.2435 309.697 109.1474]
+/Rect [274.509 434.923 309.697 445.827]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3166 0 obj <<
+3123 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4935 98.2435 408.2337 109.1474]
+/Rect [336.494 434.923 408.234 445.827]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-3167 0 obj <<
+3124 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 98.2435 513.9963 109.1474]
+/Rect [477.703 434.923 513.996 445.827]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3168 0 obj <<
+3158 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 171.3608 97.1923]
+/Rect [125.095 422.968 171.361 433.872]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
 3125 0 obj <<
-/D [3123 0 R /XYZ 90 757.9346 null]
->> endobj
-3122 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R /F99 2213 0 R /F40 350 0 R /F100 2135 0 R /F36 2391 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3187 0 obj <<
-/Length 4766      
-/Filter /FlateDecode
->>
-stream
-x��]mo#�q��_�O
-0{��e�/�����n�m�8�b·���ʯO��t�{^��V�,
�%�a�3��UO��̲�����3�
qB����ξ���z��?/���O7��j��\�>}�-hFg|�i��9cD�.�t��-���i�Z�x����}~�֧��O������������?�����"Ӛ(-%0@���@��.�G����f8`���S��w���|���?�:>�v���R5��T}�N��Ϋ�=|䘲p�����SWM%4�`��͟�Jgk��o(Ϊ��B	s��v7�
�����Ϳ;��/

�p��
�$����DKk��!L(�-�
B��at��Y���u�$IK>
0��?�ϛ/{��Tf~9���,���D���/��v L�!��b.�s�IpE4��qy<�
-3�6�ΰ/���/v~�<DF
��c�e�<4t6�cuiX at H�� ���ìbǽ���K��)
k�/
T�.rlB�ǹ�����u�l�g3D����5S~s�wIK�5=ҝ9P}��Ł��8 �0��Y���K:S 1�2�����	b���ԏ1��Zb,���
��2����БɅP�j���Y�jx���{�LB6S��
��
X��j������'����^���f
���k� L��$������W0���p���5a`
Cl%7��~�$������qKպ��I��>�_H�6_��H�P���yww�6?C�<�q�/w�K�q鐫������H��ƺ@�;j�-$��1¤ѿ>?
-�"�A�"��pmd����ag/R��0Y��Y��Y�s5D�v�����_�	�������ěu�B-D9u=���D�g��K���|��T�U����ҿ�r&���D>,U`ĕ�L�a����a��[���M
L��h��"�?m����=�
-�l?
���,
-*P
-6��n�p�M�l)")�S��%
-=�H�6�,?6�[���e
�;��*P��ق�B�{ s
-#�#,/ca>�R!��E��,Z��4+8$:!m�Lw�xT��PD�5)�w��3�6�m�FMi�k�hl#�F,Q���^P@	e�#cb=�N;B�+7"D��J@��y4J��*Q��J�ˀU��(h�t�Ɨ���owT�"�T�"���P��sm�A}����$
��(d�!
-+���� B�cc"4q�BX)��yf���E
�Y^���v�$K#]��"���(:-�[��\�!	���<���"�9E���C�v\�a҃=E�:��Z|�D�nV�A�uZ��+E&�
-��F)�
�QM�
v����|�E��4Mg$�
�͇"�
-$�ž�̒AU')�w���!�
�v��:c`3.X>
-U�`!Q8&S
-^Ձk,h��)�-
dw�Tӿ
�z0�5�4�v��MXK5~ax-�v��=^��t�Nw�xT��MEJ�,��!
-2��^d#'�<,�{B���#6O���̒Dq��=!t����#�e��|�:�F�a݇<P����}�ʬ�
�����h���>d��>��} Ѵ��rf�-�O5U~�|���jN������P�Ӕ� g�R~MƂK
"�v��
�a)|+2PYE��o��SPs��^�e`l0#
~[���5�
w��:�ث�%=�����_Ok�	��w�I@�p�0�a���L�=8̱���"��]d��-cl�:mVw�~�	�����{+��՟
-�H��Gi鰼����|�T��$y#q�Q���(���
M(���-+�Hxϧ
i,����	����(8
/Q9��J���1(BK=S�h�p�
�E
X����GV��;���
����7�����V���Ç:���Bon�#<��:�~���a_��E��ՠ
-{�������h� K[����
-(
����S��#x��

�9*b
u�&�6
�I�t
u�3 >%�
�t��3����o7�F
�N�Qм��@aa
�Kn�J�q#�U	����+��
1~�jH��O����k�0Hǡ[�RHT�
-�1���_�:�\�6�3��Z�`G9z˺3Eq¨枵/�\Hg3S�pf`�[˒n-�2�־x���
-�Ђ����C�g	�Լf��m%
�	!�y� ��9q�n3������A�j���rg���UR�
VV���r����=v;��5J���ro�%=���}�y�p��oP�zT�ޑ����h
�w�����|�A�nY�[G@&F@�8��[ڟ�|̈|PV�S��R}��;����\d�@B��5�u�f@����EhO
O$���zv�)�)JV��/��|oQ��Իt���k�{l#��,� �LY)e�ұ�4T���
^�O�
-)�;�o��� �nx�
d9�A�j�@��� ���h��&"
�t���3+����3mP}z���2QMO�
��Me<�8�
��*��
-'O��Els�:�kk o87Y�+��LN��
���@�D�f����g��ƞ3��qAoKir�
f�s����������&��A\����-�� �so-�%H4m�+� +
-��`F����>q���(u��5�D�g�. �]���x<W�U]����Q�c.U`�1ZvX��� e䨘
��/���E�F������{T�-�-�J<u��9/��h��@��� �ΉI:޾��٫t
����
��������������x�쿼܁�
-�L at d�荫�/��oׯ�E����L�ϻ�qP%�ҁ��&uW]��j?8B0��d�
��~=tv8.�~
���f���)��7+߼\�C�g.
-�����"2�+y��\�n��"q=�\�I��֓�p<l_6����~{8?�Fˆ� ƌˇ$�
-l�2�*�:C����5x[C�*uF6r������v��+�T�o��j�f=d�1�ݏ/@�4��l^� q�*�@a%�(�� +���`f��+0q[\���	+�@�g�~�;��O��P���
hs�,�#�
-<�Ԅ��K:����n�;5
_�ѳ;&�`Cʅ������[�w�tg.�{��ʷ�
�8U[y��B��To��-B�
�p����|N�!����i��LN
�oG�ћ ����kt��h���D��@.�D at C50�	�oN
-͠��7��#���R� ���(2�+G~
qu?>*G�ۋ�D�n2�"���1��(�}Z�<��j�.�?\����*K$�"}[F����2뜖/WN�
L
-3�rF_�UN���3a4^9�<^*g�cB���r�i��+g��_*g�m���ۤr��V��
���2����|ɗE�s�Uo9�m�ʢ�}Ce1�ޔ��
U��(�����b�@(�1�o�,2��^�7/�T���]����bd0W�~}Y�ݖkM�zJ�ɓ��mn���
×�H��C@(p���d7��eFr|��N�D��h�쎕���+�_�G�܂4�������q��uJޫ
y�md*Q�!��A­�r4�xpZ<ߪ��/f<ŀn�\�^�	�
�5
8���xV�1��L�)�msL�v<�(<�j;�39�ŗH���g
-6�ͥZ/�QnN�\N��}~v$����ΰ|t�@
�Q�tgT�2�`�F���|�F��H��� ��WP%�椢&u��y@�
��N�c�S���%>=���B
-��fY~|>î���ޥ�Pxg�qڙ����mD2�Oq:�t��K�rrR���I��Sd��\R�����;<A��u'���>N�_Nx��
����z���lc�u.e�l{|�w�n���9H*�S�>����e��!^T��`
s2)�f'�>X��{nOzmχ�j��PG���4A<����z
6�
�=Է�isL}4
˺��
lG9�Y����a���V�=��!X�}ƽm��k��n;O�

�v7�Oa�D���S�_�xq��Ě��c@΀l�M��{X��Gs�?�����mq������(���
����t:��ڧ\S
r%>���H@�pi���Q:�M-�
����/���
�m8J,����{TɭDH�R��<�)|��U���F��X�
�2�^F�U^z���KxeR�@B�.��r8���4���!�J�i�8"�v]����::5�`�%�~V��˓�BMb{8��7/AH�j��̘�<�0=�vC�o�@��X�;��T���0� �2+��+
��
��a֡b�����v<n7����x��:U��4+e0r�}�m8���J�Xp�
-障Ιp��A�.���~�vwU����q__��^S��je�����sG9��fW�����
��3�O:��CC��qu�Ә/�$�JW��1,S��X��~C�.�mkv�X�S�jv�D�n=����#�\�;/W��g���Y��H�ȇ%�
-�x�B��`
=>� ���F$���v��>K�
���%�[��@@
E
2Q�`����j�_u�6����
V����<P�8���9�v
\sa_���BO��Xaʵ��}�!�'_�m>��߮����Bz����Ο+�$D����7U+���bZ��e�R�i��b�Ŝ������
�V�	�x:�'>�5�?t��s�<
^P&
��|��¨N�F���w�NIF �f/>�����*q?��
�)|<X
�
-6�n��W�K"�?�ϭ����jF<Q�9&�D?���c-
O�U����[�_�¥��?����������?����
��N/����,~,����8���4@�_�k���xs�~a}�Qi&�ڞ]����������'r&����D6���L���J�r��
�$��jb��1��^����'g�pWK�^����P�_�7��endstream
-endobj
-3186 0 obj <<
-/Type /Page
-/Contents 3187 0 R
-/Resources 3185 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2941 0 R
-/Annots [ 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 3216 0 R 3217 0 R 3218 0 R 3219 0 R 3220 0 R 3221 0 R 3222 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 ]
->> endobj
-3189 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.2371 720.2355 480.8696 731.1915]
+/Rect [381.237 410.516 480.87 421.472]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-3190 0 obj <<
+3126 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0912 687.0385 250.7476 697.9424]
+/Rect [146.091 377.492 250.748 388.396]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ace7b1f85601837554656295b9c90dce) >>
 >> endobj
-3191 0 obj <<
+3127 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.0677 687.0385 357.3173 697.9424]
+/Rect [280.068 377.492 357.317 388.396]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3192 0 obj <<
+3128 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.4046 687.0385 456.1447 697.9424]
+/Rect [384.405 377.492 456.145 388.396]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-3193 0 obj <<
+3129 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 675.0833 202.3443 685.9872]
+/Rect [125.095 365.537 202.344 376.441]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3194 0 obj <<
+3130 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.0047 662.458 446.0713 673.414]
+/Rect [350.005 353.085 446.071 364.041]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-3195 0 obj <<
+3131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.0173 629.261 265.396 640.1649]
+/Rect [148.017 320.061 265.396 330.964]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e8b96392adb007f1c59758cba8cbc886) >>
 >> endobj
-3196 0 obj <<
+3132 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.5684 629.261 375.818 640.1649]
+/Rect [298.568 320.061 375.818 330.964]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3197 0 obj <<
+3133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.2392 629.261 478.9794 640.1649]
+/Rect [407.239 320.061 478.979 330.964]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-3198 0 obj <<
+3134 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 617.3058 225.8659 628.2097]
+/Rect [148.616 308.105 225.866 319.009]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3199 0 obj <<
+3135 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.2222 604.6805 466.6702 615.6365]
+/Rect [369.222 295.653 466.67 306.609]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-3200 0 obj <<
+3136 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.9331 571.4835 239.9836 582.3874]
+/Rect [146.933 262.629 239.984 273.533]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_fd20bc6142cb1206b51b0b449ebf4273) >>
 >> endobj
-3201 0 obj <<
+3137 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.6327 571.4835 280.8203 582.3874]
+/Rect [245.633 262.629 280.82 273.533]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3202 0 obj <<
+3138 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.8547 571.4835 405.1043 582.3874]
+/Rect [327.855 262.629 405.104 273.533]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3203 0 obj <<
+3139 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 571.4835 513.9963 582.3874]
+/Rect [477.703 262.629 513.996 273.533]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3204 0 obj <<
+3159 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 559.5283 171.3608 570.4322]
+/Rect [125.095 250.674 171.361 261.578]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3205 0 obj <<
+3140 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.2574 545.694 432.0923 558.852]
+/Rect [347.257 237.013 432.092 250.171]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-3206 0 obj <<
+3141 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4364 512.5031 251.209 523.4071]
+/Rect [145.436 203.995 251.209 214.899]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_3d107d8f8a78a3925031545c8e1d1a73) >>
 >> endobj
-3207 0 obj <<
+3142 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.3614 512.5031 290.549 523.4071]
+/Rect [255.361 203.995 290.549 214.899]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3208 0 obj <<
+3143 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 512.5031 409.9686 523.4071]
+/Rect [332.719 203.995 409.969 214.899]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3209 0 obj <<
+3144 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 512.5031 513.9963 523.4071]
+/Rect [477.703 203.995 513.996 214.899]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3210 0 obj <<
+3160 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 500.548 171.3608 511.4519]
+/Rect [125.095 192.04 171.361 202.944]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-3211 0 obj <<
+3145 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.1145 486.7137 456.9923 499.8717]
+/Rect [370.114 178.378 456.992 191.536]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-3212 0 obj <<
+3146 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 453.5228 224.5705 464.4267]
+/Rect [145.1 145.36 224.57 156.264]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6d5097ef9a821f98cb97571eb52a49aa) >>
 >> endobj
-3213 0 obj <<
+3147 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.9077 453.5228 270.5078 464.4267]
+/Rect [251.908 145.36 270.508 156.264]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3214 0 obj <<
+3148 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 440.8975 347.8694 450.8027]
+/Rect [304.542 132.908 347.869 142.813]
 /Subtype /Link
 /A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-3216 0 obj <<
+3149 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 418.6594 255.5641 429.5633]
+/Rect [145.1 110.843 255.564 121.747]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_96038eb89649898faa9a4355206b72d3) >>
 >> endobj
-3217 0 obj <<
+3153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3157 0 obj <<
+/D [3155 0 R /XYZ 90 757.935 null]
+>> endobj
+3161 0 obj <<
+/D [3155 0 R /XYZ 90 127.768 null]
+>> endobj
+3154 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F50 339 0 R /F97 2177 0 R /F38 342 0 R /F98 2117 0 R /F34 2344 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3211 0 obj <<
+/Length 2110      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�~ׯ�ӆ�� H�JR��S��TM�ξ�l�h��+
!)k���8x
+�e[��*y�ţ�h����$�
,l�u������s��
����b��b�Xw���&������Q�Eˏs��b�_󤊖O﫨ڿ�C�u����W7�
4�C�sa<��Jd4(��v?��b�BAw2>��	[��MT��eؾ����Y����|�+^�I`�<�K!aL4Jg���kF@
��\
�#�aV��>�����la䄁��R��R~7���3�WW�ᡝ�G
<�Sa�)s�P����s���5�+�&����z��}�Rb>�׾�ܥ	���a	O�6!�3
yݜV��8}����c�;���\
��:t�0AX1�/;Jj�
.
+��4�0GFö�W7>�x@.(->����i�~/'�=�j�0
<�(���2.�p��Nk%3��
iLUsǷy��4�X�߸��m~Ѧ����\��4��7;�s�
I ����1��
v2{���n dtm��6
&.����GbD>�0O�����/�4�r O�
'|4���C�ٗ<�2��^EMQ�20����+�`#L
X5d:��l�wSՊ1���x��97|�����?x�׃�Y	���6�����6�
�z�n;��t���@,�~κY4��y��ybt�
������ڛ4K�,��|N������ nN���?��s�	b&��ޟN`���Z�TQ�7��}
�è4��F�BT1��Q"R͠T�YY�]f�F� ���9py�o��V��Ih\x�&�׹n�@bE��|�~�~�M]�#��
+iM,YU<լ�����Sj
p��E�́&%���p�
+A�K��i��Բ��̮E��*��k�ͦgyP�8�)
\�`��p����V�e4L|�*xXѰ�>#����S��M	��hh9k]A�2�\P�1B.�m٨X�#�e����u(�$��-#�C=�L	����
D�
�p���+5ʔ
o�Kذ)j}�~
BRr����
�Yt$#�,7i,oקc���hKa(�P~2�S���=ׅ��6����!Zj�i��P$�j?!�ӌC,9�6��� �c��]�}[F1?�}u��~�P��dY�Q�Ikl��Zr)f�
���:�N�R�S��W|���R
�F��� ^��l.
��Z�~�:�:1��'.+6m� >�~�Dh�_��8
�3�\ǿdq}��eU� |;�&�1g��sk���Z8/�2����0�8��7�H!@�<�����5 n9Wգ�ؑ�q��y=�^�F�˒.4�rõ��C��U�	���wBjGm!����v��9�E��esYr�Qe?�Zeq [...]
+
B��I�{���I���X���،�5i��T�;TssU�<N�}X?��e\�&��c�>�yu�[^�.!i����N��^�Ȝ�bZ�vO��R����]��u��'�Mi<`@�^���6D,�]��J?�����k������4�,�&�0F ���W ���9dQ�L�9n�"�r�yS ؍�)l�P=��,E>q��[��_�	��ʔjzJv5��`i�W��E҇�m-E%?���)j�0L�?
+����+
+��f}���Z�Ĥ�G�x�G�*��(S~
U$%�
`�9�,��
ob|��~�1�
F��ۆg�
d�wAd������#bp��{��x}M
��$�D�_�����
�!���{��4%<�a',w
*0��4��Ә��Q ?���:�0Gwcb�?�ܿ�ߴ�捲S�X
����§>��ՠ/e�9��l�,��5.
+]��cͶʧ����l�=E/�7/j�eۨ
+�<ٜ��0�&�
$���IT�	�e
�W}d-!cz1���'�����3u��3S'��y��n7\�m���sT�^���t���8q�{х5�-oq�����
�m&C�7Z4��a�n�����n�Cq��yZV(m��rsu��^
��
Ԫ�J���-C��LnZ��N�7f���
+endstream
+endobj
+3210 0 obj <<
+/Type /Page
+/Contents 3211 0 R
+/Resources 3209 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3217 0 R
+/Annots [ 3150 0 R 3151 0 R 3152 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 3214 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 3208 0 R ]
+>> endobj
+3150 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 381.8092 242.2944 392.7132]
+/Rect [145.1 719.912 242.294 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6df8193213c66dcf70814c097d7b2fcb) >>
 >> endobj
-3218 0 obj <<
+3151 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.6315 381.8092 288.2317 392.7132]
+/Rect [269.632 719.912 288.232 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3219 0 obj <<
+3152 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 369.1839 363.3276 379.0892]
+/Rect [304.542 707.284 363.328 717.189]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-3220 0 obj <<
+3173 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 334.9907 242.2944 345.8946]
+/Rect [145.1 673.088 242.294 683.992]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_fb9fe84fabd3625d37c47e517034d88b) >>
 >> endobj
-3221 0 obj <<
+3174 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.6315 334.9907 288.2317 345.8946]
+/Rect [269.632 673.088 288.232 683.992]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3222 0 obj <<
+3175 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 322.3653 363.3276 332.2706]
+/Rect [304.542 660.46 363.328 670.365]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-3224 0 obj <<
+3176 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 300.1272 214.0604 311.0312]
+/Rect [145.1 638.219 214.06 649.123]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6919ec5aef8459ad9c65bc36e8100d58) >>
 >> endobj
-3225 0 obj <<
+3177 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.3976 300.1272 259.9977 311.0312]
+/Rect [241.398 638.219 259.998 649.123]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3226 0 obj <<
+3178 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.9416 263.2771 290.6933 274.181]
+/Rect [144.942 601.357 290.693 612.261]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_f5edabe0fbfa14196208041ded356c65) >>
 >> endobj
-3227 0 obj <<
+3179 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.7143 263.2771 336.3144 274.181]
+/Rect [317.714 601.357 336.314 612.261]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3228 0 obj <<
+3180 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.9574 263.2771 454.7845 274.181]
+/Rect [376.957 601.357 454.784 612.261]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-3229 0 obj <<
+3181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.6217 238.6966 310.5328 248.6019]
+/Rect [236.622 576.773 310.533 586.679]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-3230 0 obj <<
+3182 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 205.4996 245.9108 216.4036]
+/Rect [145.1 543.574 245.911 554.477]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_e1186868176c9fb31d7293bc2fe55e52) >>
 >> endobj
-3231 0 obj <<
+3183 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.248 205.4996 291.8482 216.4036]
+/Rect [273.248 543.574 291.848 554.477]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3232 0 obj <<
+3184 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.0906 192.8743 513.9963 202.7796]
+/Rect [488.091 530.945 513.996 540.851]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-3233 0 obj <<
+3214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 181.9154 189.266 191.8207]
+/Rect [139.268 519.986 189.266 529.892]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-3234 0 obj <<
+3185 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 121.1518 289.8656 132.0557]
+/Rect [145.1 459.199 289.866 470.103]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_ba476c1ff2b0f1cd58f6e76b981cafac) >>
 >> endobj
-3235 0 obj <<
+3186 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6812 121.1518 359.3244 132.0557]
+/Rect [293.681 459.199 359.324 470.103]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-3236 0 obj <<
+3187 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 86.2883 290.9713 97.1923]
+/Rect [145.1 424.33 290.971 435.234]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4aa52c6b939cf0076740afb33dd454e5) >>
 >> endobj
-3237 0 obj <<
+3188 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.7869 86.2883 360.4301 97.1923]
+/Rect [294.787 424.33 360.43 435.234]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-3238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3188 0 obj <<
-/D [3186 0 R /XYZ 90 757.9346 null]
->> endobj
-3215 0 obj <<
-/D [3186 0 R /XYZ 90 435.7572 null]
->> endobj
-3223 0 obj <<
-/D [3186 0 R /XYZ 90 317.2251 null]
->> endobj
-3185 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F99 2213 0 R /F40 350 0 R /F100 2135 0 R /F36 2391 0 R /F52 341 0 R /F25 344 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3252 0 obj <<
-/Length 3343      
-/Filter /FlateDecode
->>
-stream
-x��\mo#���_�~�X@����!)���iS\7_��XK��z���;��wI���%�8n��$��
�ዎ,0�G/�P�0.��^����|A��+x~���x�V��AFR����$H�%tq���ėWc|�nI�eu�V7�_�7����X����=V��7o��Z�t��뷄D��HH��+�
2PJ0��x�_���C�=��E!�T���
-|y�4��
6U[��|[���%ї�n"4
T[���r�L�_��^���__`���#b
]l/8e���⻋9���
SAa� &��W
i	_�@�$�^O� L �)�P�!,�U|��G�w>��$��"�����^��CU�řs�G
�)$)�
��K".?�
^7�zwj�;�v���w!���ҽ�vk��}���}ۿ����{ڸ���H�@�z����ӡZu��8��$'
E("���pF�F��12B��`
d����S�	�\b
I�"��?�TLY���z=���J�
����v�NTs
�Y:Tm
�;̷�
_2"�k�X�w+H�
���Dn����P;���yWT�
-�5�F�Q��`ɩM�
���\g|ɌD�5���� 	Yș)�ޣJj��-	��
a�d6y��@v=5�R��ed�*��Y��u�{��7]V�/ޓI��4��T����]�A�p��c�۴��a��ړ
���ԋ~ҹ��^}A�d��
� ��1f,ʑ�J9L{ߜ&x�r��Tm6N�帱��}���vn���m[5;˘������Q��O\5L0�L(���+�)S��ڱ���C�s��A�u|7�("
�R�_�Q
)��}l���%�!mɠ�����2��
����*�^�p��#�
-G�
G,0S8
-z]��-���3
-G��D���Xo������o�&�&�F"g�&�~	��I�B�KG�"��0z�g�dF"ך����{S���|W'�0��o
să
-60f4�rhëvs[�
��Η%Q�gU�'�"�P��o;m?�ZҎ��x:ԫ����i�exҟ��yqހ�
LK��aeވ�x#���F������FވD�o�7���c�>4C
�wO@,�,��g��T����b��&���Z
��o��C���#�:�*�g@�i5�K<
-K��8�	+h�A�s#���
��@�d�^��¸jG_�����Z�hM۽��xJ��>�#�S�y
+
-iX�G��h�$��vl�ф�1�_���/46F
�"��3�6�W!+���j[��Թ��Oa��dp{a��N-}�l�mWm]x�Yn��mSmn�>�Vm�@����m[eo��(”�g2�PQ*��L
!���m4U�2�BK
��n�)� N@�b5��e�w|�����g�HH���G{�22|`������c�@����?��[.�[zUZ�
-��h��%�
�L��a
����EY�ıDR�
�U@
I�8�C/Ly�d��~?3Ǒ
V��H`�#�z=G�j�\3P}��H�Z+���O�j�
SN�81Jt�%U��*҄�Q(�:=�e�zá�ڇ2��a�n*�(�݁Jʡ��D�d:X�]r�5�H7��:�	_�$�{F��0��+�d�
<��6_M�@ Ϫ&��\5��<��F���<*��b��=*Z�M=W�����[(A�'>�w�B�ZD�2��̭�("!�(7��#�%}y�
i�X��=�L��
���z�Ֆ	|��
��ȵV��7�r��
����7�`@!|
��M>{+�s��%3�gn��=t�d�U���ԀɆV�m>�z��!�d�g{$�K�$r���ۓ�8�&�B*�簶��/�4��-��� 90�=�XF�����vI��� �Π�S8� [l�!�Uk�����	5��45F~��
-���y�#��f8WHi�G���j��[<>�n��o����
��ĵ�؞�^�\	�
g�?ə-9C�k
��^���
�
�zg�5C�)cF���ǗlH䖻:�)�J��(��Q~���7sa/��
�����Sq%b�ى���̣Jf�
��V�I��
-�8�w�����v��{e
\}˘`,h)��� ��4ڇ�nLW�f��-��O[�U�S����������Q�rg�s0��ˤ�z�*�
-j<e�xz���/�o�֛��Q.��(f��� 3_B�?!|�˜��A�̣����W^���X�)����~� 4T:�?�b]0d$�E��X�l�
W���k6��ϛ�㩭��S��Ps�	��E���=�ģ�L{��
��Dd8£���6��7.�fU=
��.��_A�V���u�~���
R�ns�^��&	�(1y�l���c�J��a�|��*�7dT����pFN�mK�ɪ��{-x6����%���I�H%�(,��bЊH���W��\by�� �\
2Y���3˦s�ɘl�;�#�2��cS��S
;�E���!��3d�3���������>?z's�����L���%
�ւ��>V���嗉
�����=��]C��8�}v/�/m۩3��3R�s�~�5e{̜
}@�j�?�H�
��4p��<s�<�����Q����s]
�W�r�:rJ��
������T��]��w�c��PA�”>�Gc�z`q=I7�Z��$Z(Ż�����$����է���Pp5�~�S��Š�ؤHB3���B�27�l
�;n��f�]w��?o�
˘.v�C�^O��cﰬ'6�Fs�V7�7$����m=q��w
ձ
5 �hc���Ԭ3�N��Z=ϔZ�*Vڜ��B;�4�&��l��	����C��Őj��� Rn졌�Ɯ�
�_�47��h���uC;�f��Jڡi�Ex�<�
@=�
^�!�:�0����*�:j��~K� CF���Z�<�ʝm��������Si��F�0[�ų6lb�F �����gKu����Z�^pG�jRF�R��r
��
-�ީJ����R����o��O��aū��I褬,�4���Jy�U���l#�qY����?���bj��2C+'V�
(o� 	
-�m�Uw�[�l��%Q�\�x޼D�\��W�,��\@�Α�G����Xg��	�+���a�Gd�����I�hG�؉!q4����W�5�7��z}?��u�}��m����*�7�<��ϖB\�=�o�݃�>l�]���ӱ!��mǢ�#���8Ie���E��A��-���F��p}�_��h��\;���=�y���ǏhuB��pDM��pؼN椆
䐁��]Pb�����G(�-w���v
���ᶲ뷤v	{�15�?§/�endstream
-endobj
-3251 0 obj <<
-/Type /Page
-/Contents 3252 0 R
-/Resources 3250 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3288 0 R
-/Annots [ 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 3270 0 R 3271 0 R 3272 0 R 3274 0 R 3276 0 R 3278 0 R 3279 0 R 3280 0 R 3282 0 R 3283 0 R 3284 0 R 3285 0 R 3286 0 R 3287 0 R ]
->> endobj
-3254 0 obj <<
+3189 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 697.9944 224.0028 708.8984]
+/Rect [145.1 389.461 224.003 400.365]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_070e05c80af78d7c91bee958b9848080) >>
 >> endobj
-3255 0 obj <<
+3190 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 697.9944 269.9402 708.8984]
+/Rect [251.34 389.461 269.94 400.365]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3256 0 obj <<
+3191 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 652.1663 254.1498 663.0702]
+/Rect [145.1 343.633 254.15 354.537]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_8ed22a325737be112cad6864b2a7ef59) >>
 >> endobj
-3257 0 obj <<
+3192 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 652.1663 338.2632 663.0702]
+/Rect [281.487 343.633 338.263 354.537]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-3258 0 obj <<
+3193 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 617.2971 284.5854 628.201]
+/Rect [145.1 308.764 284.585 319.668]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_929caef76be87459ac964105f4c75cf4) >>
 >> endobj
-3259 0 obj <<
+3194 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.4011 617.2971 354.0443 628.201]
+/Rect [288.401 308.764 354.044 319.668]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-3260 0 obj <<
+3195 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 570.4727 241.7263 581.3766]
+/Rect [145.1 261.939 241.726 272.843]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_597f9740fbc8534391d2c8cb6381660c) >>
 >> endobj
-3261 0 obj <<
+3196 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.6171 557.8444 407.6577 567.7497]
+/Rect [349.617 249.311 407.658 259.216]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-3262 0 obj <<
+3197 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 535.6034 249.3181 546.5073]
+/Rect [145.1 227.07 249.318 237.974]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_0cb0abcc152d2d7c95a116efd3ea989a) >>
 >> endobj
-3263 0 obj <<
+3198 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.1337 535.6034 288.3213 546.5073]
+/Rect [253.134 227.07 288.321 237.974]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3264 0 obj <<
+3199 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.8754 535.6034 371.5186 546.5073]
+/Rect [305.875 227.07 371.519 237.974]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-3265 0 obj <<
+3200 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 500.7342 240.6204 511.6381]
+/Rect [145.1 192.201 240.62 203.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_d4d12fdbf775bc0ad0bb248bbaa19370) >>
 >> endobj
-3266 0 obj <<
+3201 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9576 500.7342 324.7339 511.6381]
+/Rect [267.958 192.201 324.734 203.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-3267 0 obj <<
+3202 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.5366 500.7342 425.7242 511.6381]
+/Rect [390.537 192.201 425.724 203.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3270 0 obj <<
+3203 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 421.9642 203.0748 432.8681]
+/Rect [137.432 113.431 203.075 124.335]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-3271 0 obj <<
+3204 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 421.9642 296.3242 432.8681]
+/Rect [203.573 113.431 296.324 124.335]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) >>
 >> endobj
-3272 0 obj <<
+3205 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.1979 407.3434 309.133 417.2487]
+/Rect [293.198 98.81 309.133 108.715]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3274 0 obj <<
+3208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3212 0 obj <<
+/D [3210 0 R /XYZ 90 757.935 null]
+>> endobj
+3213 0 obj <<
+/D [3210 0 R /XYZ 90 655.319 null]
+>> endobj
+3215 0 obj <<
+/D [3210 0 R /XYZ 90 132.405 null]
+>> endobj
+3216 0 obj <<
+/D [3210 0 R /XYZ 90 132.405 null]
+>> endobj
+3209 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F35 2013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3271 0 obj <<
+/Length 1624      
+/Filter /FlateDecode
+>>
+stream
+x���s�F���W�f��}'�CҸӴM]G�K���l3� ����{p�K 5�#'~��������v1عt��K���w|�3G!�S�\8
+;�O������.!�{}�1v�<��0���G��N�Wz���ߣY��ON��7�����SB�4�G��^��i%��(��6��٠��nd~ڢ��Z��$�s�Ov��������՝s}�3�HW'#�����2J{/�O=j�C�h� L8����=v�p���Sҹ.�b�S�O�7��z�F/GX�;}ęt��Ee�;JE�|�;�m_@��",�Qe��4�Xc[vi�</���(L��
yD���DGi�Y%�0�煎��5̯�a��Y�����4���a�6P�s��	G����s]̲��"��6�Q2�F`~rY}.�¢����8����ZۻIj3��
g��G�A�U�6ڼ�}%���x�"_8���$�7w�і��c�)����
a�=�"��WC�^Ui�;���-�ޖt���H�g϶��L�v%jK�ҍ�����m����oF�Tkxk�rt��RA|��7yG�.��w�|�V�X 7�~u
�%y�\�u
+H�Jh���S��.�X�ɸ�H�����ņ%8D
|���٠?@>���Q{[	�W�	�-J��*ɺ��E
ƺ���n�I癿Z���
����Y2*�����&b��W�6��^���
]�(��\b
���V���
$Զs��/@*���'��L-�C���b!GĹ���
	hZd�h�Ou���\"*�
+�/)�R���uhw���%)�����!p��]���0�p<2�0,y�1@��(���!U���{�ȋ��I
+ͯ�J��n�ؐ�#�-��ikK�/:��
��wV�|���{?I�{5s���V�Ί��&�	}9���G�g�)���O�sյ��]^	�;2�P�s4rL]���h%:̆�f63q��yĽL֏K�
��[u�/���yʡ��׳�KiIU�b
�6�*�Z�d����
�/o
+�����g�$�&�M�L} �ߚ�f�&�3��[dVj-�>
+	JWC�U�`
��=�g��=_���Z~��`|O.�?G٦~o
e;s�����N�Hc�T=�7ǯ���r��2���	��Pb��֖��챭�k��
m%:x�ś
�X�O{��2~x
��
�yv����	e"($�j���
f�G,e,�w�eC��V�I_v�����2㲋ˌ�N.�eNܛ]\6εq�x\�{k�e˨r��x�7|#�o��7�
���`�ZGd���������@�6#���&�X��*�7 
���
+0oE���H�}�
 �N�H����N�O��N�{봛*ڏ��_#Bvq�|E�b��:����~�����h���
�W��?6��	���}��F�b'R
�N�
F�&Q1�5��-�!P��5�8�`-0��Rt�zi��f�.XK$��>�~�����x��I D�/M�/I�P�@��5T�0�~?eP�����Z��c�j�Ѿ�Z}�;��O7o�a�����ƿF���(����E��&����d�*|����r�S_��+a�0� �Ȇ�WE1=9>���F�
͒h���8�N'Ƿ��B��	�ĸ���iּ�7�м6��7�?1o�
+endstream
+endobj
+3270 0 obj <<
+/Type /Page
+/Contents 3271 0 R
+/Resources 3269 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3217 0 R
+/Annots [ 3206 0 R 3207 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 3268 0 R ]
+>> endobj
+3206 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 383.1099 287.8558 394.0138]
+/Rect [157.636 719.912 287.856 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_5659d55fb93c1fe31b82a674e2630c13) >>
 >> endobj
-3276 0 obj <<
+3207 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 344.2556 294.4813 355.1595]
+/Rect [157.636 681.058 294.481 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_1d20ad17015746b2d9e0290631fc175b) >>
 >> endobj
-3278 0 obj <<
+3230 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 263.4931 180.5399 274.397]
+/Rect [134.114 600.295 180.54 611.199]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_5b6323dfa423ea57b8d845237d9b576d) >>
 >> endobj
-3279 0 obj <<
+3231 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 263.4931 226.4772 274.397]
+/Rect [207.877 600.295 226.477 611.199]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3280 0 obj <<
+3232 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.2868 263.4931 323.887 274.397]
+/Rect [305.287 600.295 323.887 611.199]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3282 0 obj <<
+3233 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 143.4968 178.2386 154.4007]
+/Rect [134.114 480.299 178.239 491.203]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_025c54a0d06e882346b74c0624ee6e71) >>
 >> endobj
-3283 0 obj <<
+3234 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 143.4968 224.1759 154.4007]
+/Rect [205.576 480.299 224.176 491.203]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3284 0 obj <<
+3235 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.9855 143.4968 321.5857 154.4007]
+/Rect [302.985 480.299 321.586 491.203]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3285 0 obj <<
+3236 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 92.6873 226.0342 103.5913]
+/Rect [175.349 429.49 226.034 440.394]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_1915597423b1aa0dbed55312b2308efd) >>
 >> endobj
-3286 0 obj <<
+3237 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 92.6873 339.7761 103.5913]
+/Rect [321.176 429.49 339.776 440.394]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3253 0 obj <<
-/D [3251 0 R /XYZ 90 757.9346 null]
->> endobj
-3268 0 obj <<
-/D [3251 0 R /XYZ 90 440.938 null]
->> endobj
-3269 0 obj <<
-/D [3251 0 R /XYZ 90 440.938 null]
->> endobj
-3273 0 obj <<
-/D [3251 0 R /XYZ 90 402.2032 null]
->> endobj
-3275 0 obj <<
-/D [3251 0 R /XYZ 90 363.3489 null]
->> endobj
-3277 0 obj <<
-/D [3251 0 R /XYZ 90 282.4669 null]
->> endobj
-3281 0 obj <<
-/D [3251 0 R /XYZ 90 201.7044 null]
->> endobj
-3250 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F52 341 0 R /F101 2128 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3300 0 obj <<
-/Length 3190      
-/Filter /FlateDecode
->>
-stream
-x��mo�����S�U*��>r��"@�$EҴM�o���%��F"U�ʝ�}gI�r�K���4��������HYa���^I!�b<Z�Wxuo�銴��p|�|v}���H�R�V�ojA������&�͖`���n^'�1��vC�8<ܧ�2��&�-�����ϊw����~�%!�GEHD�C��/(��2e,����
-6ؘ|2�䏇�|�l���덢��x:$Uڼ�]�&-7$^���RD�p�J;�����ժ)XD�X����'�ڃ�__a�T,Vo�FD)�:^q�̋���W�~��	c�±@1�W[�Q
��#F$�1��ţ
�k�[I‘�vp%_� Q�k��BX�xeʹT�T�K�(S��0b�T�K��E!X"ѕ$���l�I<(A��L��BD{-�z�
!�b�2V�R~�T
���`+��PAc4֋ĤJ8R8�����[��dұ�q
G���<�ڈk�jO�4O����1
H����?��](^L%�"�W�'�V�
a	�,�ۢ8
�c�(�
����q��>T޵6߹:��{���
��
�tWe�,O��f�����
���.�'F9�MJ���XoX��L:��`)?���������n�Pk?���o��ݧ������o�z9������`�S�_Xk5���d���y�
 AR`�βf��$�
��xW���f|�mq�vzSy�&��x`�6�hk�Q���zСvE~�s�.R)� 97g���=ad���|ڢ�/(���^�-�X
��
-
�M�ɂ2J��1
��y��]���J
����[(����z�wBjJ��Q
V��=���:��:?l"Ӻ}�@BH�X`c?'���N�������l��p��*,����ϸ@!����J�s�rDP��} �� $kV��� )mq��o�o�ar�U��M]3���$�}RA�/�~�T���mZ�MӼ�Y�$��Pvv�\��*u5I��B at dE���0�D �/�1�d��+�8�ߛ��4�0��
��y�s
�po$��q��$�7*�{"A'J�0��>
-aYq&�r(tNA�1{2z�MCa0�
-�t�P�L
-�
�>
-C:8P��b
-�,>X(����ˑК���1��A'�4
�'P�
81�k�LJ
�",��A��)�̓�x���:(o��2y2�����{���;�
-�d���:�k��,�	�����&�	�b�=���ڵ�'WW��U�
9��#���C
t��2e�4�=
���@
��[�>li�~cK-���>#Z���H�h-��,Z�h9w-����^�"����	I_�����=a
}�:��;d�4�硑���{i
����I�rH�[^2�Ј�T.����e0��
-aU�u�V�,z���6YM)�\�4J�Xh��	��|2��F�F�$�����=! ��l
�&�qv
��/���Pꮓ�z�w��T�v�B|��N�R�m'qF��ŝĠ�]'1
�v��3�D�SL"�^���ў1
О�U�9��!B�/���@s�Hr\i����J�y���a�s� ������y؃+K
/�=�� �Y������$셓���%���rt�7����#a/�C{�,�a���C�=w�J�h1�'`Ϛ�����$�
ŽÞ��u
J��
�R���
�Rw]ð�Co/�s�Tc�;��x�wq�0(v�A
Ƿ=D/�sw�."�u@��|)��J�G�+�ٯ�+9p=a2zN��m�
X6fdX��t�B`����;�!h�C�k�ed�[�c?��=�:��&��Y�0��!�Mk���Q8
-��K/�Q`���x��|.z��RZ$PW�
-`�)�X��+��4|�,0<)����CU�u�N���R,�,�=!ĉ�l���9�v�ݰ/�)�P�)�z�w�)T�6�B|����R�mSpF���M���]S0
�6��3MAI3��o�u�����5��f�1vY� ����7�	��PJʨ��Tje0Pq�>�3]0/�
-vg��
#�~����
�I��
Y����P��,�X8w
���}'��<�5m���vtO��5{2=��M�c8Ï^:A�\(HG�s	��>�!�2t9�b�"�,>H�d0�!�?[vO`�5��H?�I�
�
�H/�
k7.��k7��
��k7��ڍa���^R�q�ƶ�8�����vcP���oۍ^��nd sy��
!^m�~�է�*U
-Eb�u�t�\�O��PO��>��H����i�d�t�h�yzޕ٩ʊZ7��A)
k1�uW„�Q�Y~�$��(K�o@@�Nj��u�?�	�T�4~�$���ILЪ�L�O���}�>Ow������m�
�s�oI:;ۢ�Ҽ2�w�B9��~.&��)2cH�|欍2����
�@��|�a�7���=a�6��w�7`�KAY/��l7Vsa�nI�����@�IE�2=���ӳE��S8p>&����SY�/�	r]��,"��f�G���QcP���a�Ͱ6�^�$P�=í1�䷺��
��eC�:9��BA���,�P�K5s䶝J�
�r��k�^Af�s	�7�%��z_w��!v���}Z�����!�x��d�ϯΧ�l����g�ay�bMo�w��(��J�A�Y�7O?����.b�����h�	�I��-
80�����sg�o�`
N��84�{�XMŹ+/���ȃ����9I+��M�?0��*�Up��^�]�vr�!NH�1!�ֺ�-��Ҋ�R [...]
-�
��͊��I�h�r"ڽѭ#�4˿��L�O�M�~��A*������.�n
&���Y*�G���
-	�F�0�@���I��N�3�sDy�B5�,n��$a�6���������e��͋���w!�g���Ō���ѮҲ���*�[8�;7^��S*) ;��@�џW�?;��愭sFs�!��
���|_U�ׯ^�}����g�eի���jp�

���*4p[k4��S�ŀ�
-���\ޘ�Ei��yL*S��|�T���Xmendstream
-endobj
-3299 0 obj <<
-/Type /Page
-/Contents 3300 0 R
-/Resources 3298 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3288 0 R
-/Annots [ 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 3334 0 R 3335 0 R 3336 0 R ]
->> endobj
-3302 0 obj <<
+3238 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6253 684.0467 245.5216 694.9507]
+/Rect [135.625 378.68 245.522 389.584]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_8653fd3779f7a28930872b1f885f25ee) >>
 >> endobj
-3303 0 obj <<
+3239 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8481 684.0467 325.2287 694.9507]
+/Rect [250.848 378.68 325.229 389.584]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3304 0 obj <<
+3240 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 672.0916 132.5105 682.9955]
+/Rect [113.91 366.725 132.511 377.629]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3305 0 obj <<
+3241 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.3201 672.0916 229.9203 682.9955]
+/Rect [211.32 366.725 229.92 377.629]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3306 0 obj <<
+3242 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.5609 672.0916 344.1172 682.9955]
+/Rect [284.561 366.725 344.117 377.629]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3307 0 obj <<
+3243 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6253 621.2821 245.5216 632.186]
+/Rect [135.625 315.916 245.522 326.82]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_6592baa6045a08fe1eb0ba33e8ed2942) >>
 >> endobj
-3308 0 obj <<
+3244 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8481 621.2821 325.2287 632.186]
+/Rect [250.848 315.916 325.229 326.82]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3309 0 obj <<
+3245 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 609.3269 132.5105 620.2309]
+/Rect [113.91 303.96 132.511 314.864]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3310 0 obj <<
+3246 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.4196 609.3269 234.0197 620.2309]
+/Rect [215.42 303.96 234.02 314.864]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3311 0 obj <<
+3247 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.9788 609.3269 351.5351 620.2309]
+/Rect [291.979 303.96 351.535 314.864]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3312 0 obj <<
+3248 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.9202 546.5623 243.6051 557.4662]
+/Rect [135.92 241.196 243.605 252.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_2d20e2dc8d4d0fbbdf87bd01a51dc01e) >>
 >> endobj
-3313 0 obj <<
+3249 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2264 546.5623 323.607 557.4662]
+/Rect [249.226 241.196 323.607 252.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3314 0 obj <<
+3250 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 534.6071 132.5105 545.5111]
+/Rect [113.91 229.241 132.511 240.145]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3315 0 obj <<
+3251 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.3201 534.6071 229.9203 545.5111]
+/Rect [211.32 229.241 229.92 240.145]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3316 0 obj <<
+3252 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.5609 534.6071 344.1172 545.5111]
+/Rect [284.561 229.241 344.117 240.145]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3317 0 obj <<
+3253 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.9202 483.7977 243.6051 494.7016]
+/Rect [135.92 178.431 243.605 189.335]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_438eaa92ba7d9f7d8ec085fe9b00ec0b) >>
 >> endobj
-3318 0 obj <<
+3254 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2264 483.7977 323.607 494.7016]
+/Rect [249.226 178.431 323.607 189.335]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3319 0 obj <<
+3255 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 471.8425 132.5105 482.7464]
+/Rect [113.91 166.476 132.511 177.38]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3320 0 obj <<
+3256 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.4196 471.8425 234.0197 482.7464]
+/Rect [215.42 166.476 234.02 177.38]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3321 0 obj <<
+3257 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.9788 471.8425 351.5351 482.7464]
+/Rect [291.979 166.476 351.535 177.38]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3322 0 obj <<
+3258 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.1381 409.0779 242.189 419.9818]
+/Rect [136.138 103.711 242.189 114.615]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_852ebcee0de832c12a87ad15d37570a2) >>
 >> endobj
-3323 0 obj <<
+3259 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.0282 409.0779 322.4088 419.9818]
+/Rect [248.028 103.711 322.409 114.615]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3324 0 obj <<
+3260 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 397.1227 132.5105 408.0266]
+/Rect [113.91 91.756 132.511 102.66]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3325 0 obj <<
+3261 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.3201 397.1227 229.9203 408.0266]
+/Rect [211.32 91.756 229.92 102.66]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3326 0 obj <<
+3262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.5609 397.1227 344.1172 408.0266]
+/Rect [284.561 91.756 344.117 102.66]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3327 0 obj <<
+3268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3272 0 obj <<
+/D [3270 0 R /XYZ 90 757.935 null]
+>> endobj
+3273 0 obj <<
+/D [3270 0 R /XYZ 90 733.028 null]
+>> endobj
+3274 0 obj <<
+/D [3270 0 R /XYZ 90 700.151 null]
+>> endobj
+3275 0 obj <<
+/D [3270 0 R /XYZ 90 619.269 null]
+>> endobj
+3276 0 obj <<
+/D [3270 0 R /XYZ 90 538.507 null]
+>> endobj
+3269 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3292 0 obj <<
+/Length 2416      
+/Filter /FlateDecode
+>>
+stream
+x��Ymsܶ��_�O��L�
N�[�3N
ǵ�L3�熺�$�<�!y���wA $A�'MZ��O|[,���]7�?yyqr�Z�@")�.���H�)	.���.Wc�x�$x�T�d�~I���j[%��U�T���_���?��&d����a���_
��)��vo.~��B�w4��0a�Q�eI]/W����R҅ڕY�(�惺VՒ�
�o�$<^�5ӓ��N��i��#1
lv'��q���?1w-�.)�k|<��	��
_[KG4�A^0���J�� �
a����7�
+��*�'�կ�1̝�o
��d���F$Xa$��^4T�����T۴n��"z�+��)�[K��J�Pĉ��~�w���|;��p$dGs�`�he���7s�=}�� V$�(�"X�m�
�O�r�I�(�a��(]�4.\�q���F(
�Q4{� ���t(U��
��P4O�X7�Hbȭ#]~xbNQH�(A�f(�!�$�
���Ȭ]t�W76�?|\�B��:�?aL�9�]��!�қܳ����9��8�U�/I�v�n���D�2J{�&x�yO�Q��8���ʷ�F��E�n���p�q
+<�G-�o��Z����V�"��9�W��(��oy
�s����jN��l7�D���*�qyv
+�0>�����1�D\�?]��Rp�ʼ�܇b�o��f�*��!�5ۦη���ZF��Y�+�ė��B�_�;�] ؂���n59�d!��6F����ɐ}�j=�ZD���b�/����� �!C`��w�
�+�$i��F�W��Ti٤E�&�\�1������0��ȱz������z�Ǐ�C]ô�ۡ?��AWӯ���U��E���}adϋ�ި���J��y�ɊZmm�L�bUT����%�~��Jm ho2��
��>�v�E
*��k_G���_�uْT��T
��Y'eKT/�b�Է橬��ޭ)���
Cm��|�R���
p�-{˘�:�ڛ���}eH�b�_A�/4(:�lW���|�d�1)�ģ"�)�,}e
b�bcT�^�a��{XXCD){;>�GC����nU5�rń
7_��d: ���.m�t��Zg��KGzU�#k!�;C٠���"��j�
����;ɠt at s�V�J�)	|��<� �!t�.(�7����?��ڷ#Єu0t�`biC�k�/bQ�&�4�U
Do�n���#�-
G�"��.��`
I1��1?��
{���Tg��&��”ʙL��S���;�m��BBcݙ���K2M��,����<��+���-W�!�!
+L��
+g��C�j�}Sd�M���m
�یLs���*��ٻ�
�������&��	g�pY1��]����+�j�tcl�6i��>ig����WtoX峷�S�fdh�%Qd�"��8���#=�(�k��z�G��JA��l�T�-|J+%�ة�h+���}�&�n%���\�e�%���p�5	�3��M�	�
�gw��K3�-�ye�A������Q�~�L�h|�U��
�i�
���WVz��徼3���{RBq4�1�d���B�6 �[>��ߚc����E�����u�S�ma�Wv�Ē��.͒j����D�K�H�ۛ��I��ʊR;uJ��'K��:�t�0_
��[�ko��Î�B�僁�ځ�
j��\T<�F
���b��k27l�ݠrd���4���!'f)�f�H��Yl�C��8�g"zd�{t�R
��3����^�e�H�W�t���a��f�o�o
�E���
�zJ�����o
�\?�	z��-2o����
+�c}���
<UB;�q��vC8�#����ݛ_�?|<��F(�G~w2

+Ȑ�2ͳ4W�� ��}�����<5AR���߆�ܧ���
�yڃH��� �Ts�:��޿.�&Շ�������� ^�N��&
�!�u�|�4����K=� ��\�͝�G
��؝�:�rs>�>`8mc�
���
è��	�ۑx�r++�
+�&�^��S�2Dy
;?����W�N��ёM��m����٫�<�f�X�B�O��
+`�#��Ww��<�Kr
�	�2����g܁����
;Y�வ��nθ��i)�1fDŽ\����NE�;�0�Mമxrt�C+
+��[�Aq�����������Ų?.�L�  ]�'���~]��������|s����!��:*��È����`�pt3W�����
�1�~
������S���+w����E��>��.��-~���2(+�ȳ����Y�X����$�}tYi
mj���a4��V���c���l�s�aa7�`1H�J�}�t����
�z_w���֕��3���~�4���ӻ�;�� pY��9-���!��\�"�ĵ��]Qu�6�

GC'�+MK*
+endstream
+endobj
+3291 0 obj <<
+/Type /Page
+/Contents 3292 0 R
+/Resources 3290 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3217 0 R
+/Annots [ 3263 0 R 3264 0 R 3265 0 R 3266 0 R 3267 0 R 3285 0 R 3286 0 R 3287 0 R 3288 0 R 3289 0 R ]
+>> endobj
+3263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.1381 346.3132 242.189 357.2172]
+/Rect [136.138 684.047 242.189 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4b5e1306956d46f1ee477428b451b44b) >>
 >> endobj
-3328 0 obj <<
+3264 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.0282 346.3132 322.4088 357.2172]
+/Rect [248.028 684.047 322.409 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3329 0 obj <<
+3265 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 334.3581 132.5105 345.262]
+/Rect [113.91 672.092 132.511 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3330 0 obj <<
+3266 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.4196 334.3581 234.0197 345.262]
+/Rect [215.42 672.092 234.02 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3331 0 obj <<
+3267 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.9788 334.3581 351.5351 345.262]
+/Rect [291.979 672.092 351.535 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3334 0 obj <<
+3285 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.1484 197.9828 117.7486 208.8867]
+/Rect [99.148 535.716 117.749 546.62]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3335 0 obj <<
+3286 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.9862 138.9432 125.5864 149.7276]
+/Rect [106.986 476.677 125.586 487.461]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3301 0 obj <<
-/D [3299 0 R /XYZ 90 757.9346 null]
->> endobj
-3332 0 obj <<
-/D [3299 0 R /XYZ 90 285.0828 null]
->> endobj
-3333 0 obj <<
-/D [3299 0 R /XYZ 90 234.3622 null]
->> endobj
-3298 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F52 341 0 R /F37 2043 0 R /F67 366 0 R /F100 2135 0 R /F40 350 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3345 0 obj <<
-/Length 2398      
-/Filter /FlateDecode
->>
-stream
-x��Z�o�F��B�z2P����=��q�M.q�+�@�%�&*�:�����f��%��%����&����y�f�"
db�D	�
�r�X���
<����3X�5	^^�]|+�� #��\��
$A�:�^~�����`��o�	�&�:��=�xZ����L��g7eR�_�xY<�����[B
��HH�A��O���)��2(^_�<��
$9��r�l��3*�����i�ެ�*uOޥ�iyN�4������b����:��kS0I���y���,A�ߝaČ����C'�3NY�Y��?�{�����b�g�#-�ͣV�
a)x�����Kę�Hfu�R�=��l�d��1R�ڗpd���}�{��,���s*���=Y�]��j�Ʃ��]%���T�:Y���v��l��J���f^��U˴Im׻�:�=�E�	�_TCv������m�P�i�� [i��z��0\ԋ��M�/����p��no���`�V���k{C��m$L

hf[�IV�m�/������Sd[�?/*��T��(�8�I|hY�a��H�`�F����+̀�t� �6h9���DL)l\�GE�N��U�����}�o��6�	6΋|楇E�
�6.�x�'�MY<��
E����Z�k{4F�z����v�ۚ��/�~�j�
F"HX)҆0
v���$�q��gM��0�r���l��
�.R�u��g�:�+%iMڻz�;�l��u�X�� [...]
;�`P'u��q�&8X��݄A�*3�B@�Jz�p�~�|a�r=�5���
���P!j��Hҳ��:��[�C
����
-q�Q��u��-��_�����WŢN�u��@�
1nH�+"�oL�}�VqB��+ȥ:d�jI4Y�4c̑J@
-D4�㥀b4���n| R�񺥱�ѺE)F�m)�IS�ަ�ev؂�3�=
TO�iLjU��lT{o%���z
�m��Hc��<���a�'�
�E�
-
 ���u��i	�1�Z�5,�5qm��������4�>U��~|��ջ�W�8�C���k��3�j��Y����$�L��f�-���@� �� ���\M�r����
���� �!!�*��7�Gص�N�ݤ��#�4TG�M��k�֨���@���	
-�%�`�
-D�&U�_�à�}��q
�}ѯA��2(�@-����|�`$�ā�׷$Qa���*"U_�6Xh(�	&m	���@��PKK6D���Cjnj�U����+�.<�r�YDz�쏪n���:�5ö�/ ��\��7P��m+�a������^���j�j�H6w�I�V
-�Tm"�Dd�X:��N��q�4��1�$��<t��9�@#�z&t��[�*w;,%�
8͘~g
Jh*�tn��gP|5 ����&`�~� �o#�e.�>f�~~y�u[����h\��v��^��(�͏��/���������e�
�D�#j?k��Zoc�Ji�}oJ��Ìac�v?[4�]!�������R�~6
	�?L�|"���L�Ca��
-pľ`�K}�T7|�)9�$��#�1�����3�{c��|XF�bJ��B�I)T� ����t
ˉ�%�pX��R�u��'��S�JwJ}��W��H��	f�?�B�)]`$��٪��X���d�b�l�
{b�R���f+z�'������%��FS�
(�������E�E�ɮ��I�V����'
�b�9 7�C�(�~@�Vw�G�ĀR��s��@R�_0�j�{$�
-5�hRP
��RC��pons$%	$�$�,���)�ŋ��1[���%����[0C+
����Y��,�Q��T[n?U(�E�S,V��e���ۍC�V�0���@�[L�l�cw>�8��K+x��j%
-���j�
�� c�/A���g�94T�
EH6>ThR
*P
-��x�PaH��N�'�p���i�N$�
�h�����k[�PI����ن|�k���/lˣ[^Y���F�h�G��Q�
���P���qt�
�O���מ��}D�SK4��暍�8R��+�QqT��"wcSa�F��X��������.vad��+��>L,8^1�Te�	�Cg�5�ƴ͒��@�l�:0{����Y��3�w�b�X����f74p�j��X�-w��Pu�0�\��ּC��<��tQ��bǜ��Fb �	y>0���ePL�A���W�
��Ol��o����M��H�4��
�i�C� DK]o�Am\�����G���	�?�ɍW�I�
?$�qF�Q� *v�	Oߧ�����l��V����5>Ԇf�7\Ţ���g���͋�����آ]�mJ�U���n�2�ʌn�z��4�l�l����܆A��(�s�a��My��s@��Z�endstream
-endobj
-3344 0 obj <<
-/Type /Page
-/Contents 3345 0 R
-/Resources 3343 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3288 0 R
-/Annots [ 3347 0 R 3348 0 R 3354 0 R 3356 0 R ]
->> endobj
-3347 0 obj <<
+3287 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.1697 664.7382 213.7699 675.6422]
+/Rect [195.17 355.938 213.77 366.842]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3348 0 obj <<
+3288 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.7316 652.7831 218.2879 663.687]
+/Rect [158.732 343.983 218.288 354.887]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-3354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.8701 203.2032 391.8446 232.269]
-/Subtype /Link
-/A << /S /GoTo /D (main_intervals) >>
->> endobj
-3356 0 obj <<
+3289 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3346 0 obj <<
-/D [3344 0 R /XYZ 90 757.9346 null]
->> endobj
-3349 0 obj <<
-/D [3344 0 R /XYZ 90 639.209 null]
->> endobj
-2994 0 obj <<
-/D [3344 0 R /XYZ 90 616.8973 null]
->> endobj
-3350 0 obj <<
-/D [3344 0 R /XYZ 90 616.8973 null]
+3293 0 obj <<
+/D [3291 0 R /XYZ 90 757.935 null]
 >> endobj
-2995 0 obj <<
-/D [3344 0 R /XYZ 90 498.0518 null]
+3294 0 obj <<
+/D [3291 0 R /XYZ 90 622.816 null]
 >> endobj
-3351 0 obj <<
-/D [3344 0 R /XYZ 90 483.4815 null]
+3295 0 obj <<
+/D [3291 0 R /XYZ 90 572.096 null]
 >> endobj
-2996 0 obj <<
-/D [3344 0 R /XYZ 240.2453 420.81 null]
+3296 0 obj <<
+/D [3291 0 R /XYZ 90 330.409 null]
 >> endobj
-3352 0 obj <<
-/D [3344 0 R /XYZ 90 404.0829 null]
+2921 0 obj <<
+/D [3291 0 R /XYZ 90 308.097 null]
 >> endobj
-2997 0 obj <<
-/D [3344 0 R /XYZ 240.2453 329.4563 null]
+3297 0 obj <<
+/D [3291 0 R /XYZ 90 308.097 null]
 >> endobj
-3353 0 obj <<
-/D [3344 0 R /XYZ 90 312.7291 null]
+2922 0 obj <<
+/D [3291 0 R /XYZ 90 189.252 null]
 >> endobj
-2998 0 obj <<
-/D [3344 0 R /XYZ 90 182.2817 null]
+3298 0 obj <<
+/D [3291 0 R /XYZ 90 174.681 null]
 >> endobj
-3355 0 obj <<
-/D [3344 0 R /XYZ 90 167.7114 null]
+2923 0 obj <<
+/D [3291 0 R /XYZ 240.245 112.01 null]
 >> endobj
-3343 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R /F97 1822 0 R >>
+3290 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F98 2117 0 R /F38 342 0 R /F65 376 0 R /F50 339 0 R /F35 2013 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3359 0 obj <<
-/Length 2011      
+3305 0 obj <<
+/Length 1666      
 /Filter /FlateDecode
 >>
 stream
-x��Zێ�F}�W�)������b�8H�$��7V��1�đ�H�BR�﷚�M�&�c#�
�y�,V���S�
a�#���
-�e�>�p���og�?^��e[��jv���AFR�
k
� A	�V��sB_,	�x�rA�<.�����|�%�"~�W���������������oii$R"!9V�?�H�(��2$�[�wD

D�yS�W��,K*�|�0t�
���J�ȏ�cR,��'��
zN(�Jg_�wyo
-&�u֯��op��~?È-�'���C�ÌSn��W��4z܃����p
-ф��A�22*��D+�ֈ"��
˜�HQ��d�v��\|H��(���$�"�(�ڪ��Fz�ĨN<R���V
e]�	3�b�b5H
�
-ڶ
-�Ę��/!���sY%w�?�_6_�YYq�U�%c�=�D�]\9�H�P�W�y0‘����a[/�ckF���
�����mA�<�;Hm�}h#�5�vq#u
�a�+�sq�t��E�q7?c����n΍�.?mw���}t��#�0�982B�Z�!>���Ŷ�8]nf]�[;|�j�0X��w��c�����de�g ��+�@"���9���Բ-6������t8���R�v���l78C�c�5���mݹ'�v�U��*^W�:����]�6|P/��J�
-Z�R_]��=����
��&N�:O�*/J4R���c�rsT�aD��
T�*>�e'DO�
��C�t���dPK
z�G	@�')G at x���Gf�P+2E�m3W�Q 	�=��3}�����:8.�5c\�t]��I�1���U(��Ϝ�Β7.��v�������B/��
L��	�N�}�%_,�'��t�Vo�{���ڳ����u���7~����u��u[�&Y��n�
�1��#F�
'L���ޟN9w-UF��
�3
-.�deRZ&����5UP��lۓ?��g�~���1��i�G�A9�j����cɰ����W�A�Uw���P���
=�׈KM���}
ܮ����!C�.�-u��P��bn�}�n�
+���������qzi�,����ߧقQ��t��xzа���wNz����x�b�xp����叧�eQ���Ts/�_�t�@��'���=h$��1���(߸B7c��>�ߕp�D�[��y�O
�ˎ�jD�"�ak�i�z�F�
�\6J^ ��xyɺ��{G �b�*-nW�e1����O,�DZ
-�M�XK�:�q`�{�I3?Ac}
�,�.����������!A���&W!o�
��&)װ�
�Zg��vTo���x,�w��ds}��CBS}c����g��霶6���Ύٿئs4���r6wI����\bܞ������cƧ"�Gq%�A����I�\����~����ԟ��?��*϶��
��l!P��;t��і�M��u���"׺8
V�iwC0�:�����"ݸ�vd_=;���^�H�,2V�w�X���0�y=ޛ��FU�ib"�fߴ�&�E�I(4��Ȏ
�6�?��Ҍ�L}����P�7�R�
?%P���j�� L����߈�
�1��Lο���R�;�kǬ�}�.ː�ec�ex#��0kQ����Gr�
F�<[	�`X&��K~=��
@��o�J—	���
�d�3��Dͧ	OJ�������ѧ#(ʒ���p���l��	��O at +��^�竰�i3�
-�0�a���g6�;�jfS����
�V�?tJ��
*�0Z>�پ�ze�pe��s��ϤL �
-��1��H٭C��N�Ho�	ʴ;3����48�UltS�#��B~�I���"5��p
4
���cDg���Fɖj������T&��
!�ާ���SM#¥����ţ �"�dP�^%I�5TQ�mA�8�=�%
-W?\�ټ�l��Z
՚�@��󮪎�wwOOOh]�S�

�Vw���n��߶0\���-���癖Hh��X
�	�!/��`a�P��`	�_�P�s�Kendstream
+x��Yێ�6}�W詵��ˋH�F[ 	� i�l�h�	Z���ڒ*����w(R7�|�
���>Y����̜3
	;
;/O����9IA�3�;;� �S�Lg���c<<<
�upy>�x���K5˂�7�Ud���ir3�<}}����E"�
�J�?�!�E	F�
�j�W�
+Cp=��=F��F<[y>S��ӑ�C�NWA�̓�j���*�$�J�������3�!�7��<Ɲp=����<�`Ĥ�\��֎K����?��g)CX�Ƴ�"f�[To�ݓ�%��[o�ئ*ְ1��=��(����"Ѭy 
���=��+�*��H0C���ܗ�c=�3@��z
����H�B�1GR�H�h�Am��"fL]1��9�8/�m?HOS����9F
2�0�Z�~0#$���zĶdž�܆�?�Ʈd�g	��������mþ@�_�
�	}+�PZ��;�c
Z�|���:M$C���&�޽=���Wӏ=kq��&O!d�g9��Ӛ&Q��b[@}u���0*>�y
��=c���xH����O7�jf�-0?:KT�eD�0("��eD�P/��ޤ׆
3;+M��&Z��$6��yl��ѝ`vr$�ڑ�8�HYf�Am�8]�
+����WF� *�x�Y��0O"��h'���
�cD	䷭��*�v�(*G�=�
�<�
S�cՔI� �;��$��am�$��F�
]��3(�]���� ����
�`"�'$�5��{���Jy
+��=�E��x�w3��_W�$��<K�v�*���
�E5�
�>��-���j�
h֡;��=xʺrP�� �Q��M��^�"`Z~��p�ھ�蠬�@;q�.D	�S�B;< v*�'
��n��!��/洍�5�
�!Z;�	�X�M��
�`�MFp`�;a,�ˠ0��L�GqR����1[س����
 �+i^�);�Q��iVi�����e�+@�f���KU-Uh#����:�j�
��;u�Yt�o
+e�D���@��}�
�@�\8-{~G���D+�.� �
�&+܆+u�*N7E�Y8�0Yx�Y��r
#���Q�^���QI�
�j%�TXR*��ΐ{��ϑ��=T_B�!r�����ߛ��
P
I��pPo���b�8���
4�h9�`
+]��6.����`��V��_s�A/�/}�e�Q$��{�Kts�&�&,�,�-p
:E��7٩oⱾ}�䥊U@莗7
+���-�˛���u 
8+O/I'v ���
��廻>�ZU��%�YHp����ʼ�r-x������Ԧ_Y��~�>aL�R���m�.�
՜�;�b̰ok'�R�j���[K�Ԫ�p�[;��>r����S����B�r�}��v��<�	U���ܭz�V^�&�(
�P�U4�
2���@Kh\IM��2K��^�E4�[bv^��Z^�hV��li��W=��������lX�z��Q��q��p��}7p���W5_!�R����%�b�|h �a?j����_�5�6�]���F��Nj�ξ��Ch"n�h'��3����a_�טv?�
+���7���+lJ ��V̷W.续󹦗�X{[����Jkn��U������ ޔ�
7�gڪ�i�1ҟ��Lf��1��}P���l����mP&VZ����-�"���]__�0G�8J3gi�:�
��J�����y�u���<4�n�?�
+endstream
 endobj
-3358 0 obj <<
+3304 0 obj <<
 /Type /Page
-/Contents 3359 0 R
-/Resources 3357 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3288 0 R
-/Annots [ 3361 0 R 3366 0 R ]
+/Contents 3305 0 R
+/Resources 3303 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3217 0 R
+/Annots [ 3300 0 R 3301 0 R 3302 0 R ]
 >> endobj
-3361 0 obj <<
+3300 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.8701 704.9584 391.8446 734.0242]
+/Rect [313.87 539.432 391.845 568.498]
 /Subtype /Link
 /A << /S /GoTo /D (main_intervals) >>
 >> endobj
-3366 0 obj <<
+3301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.87 397.701 391.845 426.767]
+/Subtype /Link
+/A << /S /GoTo /D (main_intervals) >>
+>> endobj
+3302 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3360 0 obj <<
-/D [3358 0 R /XYZ 90 757.9346 null]
+3306 0 obj <<
+/D [3304 0 R /XYZ 90 757.935 null]
 >> endobj
-2999 0 obj <<
-/D [3358 0 R /XYZ 90 668.0967 null]
+3307 0 obj <<
+/D [3304 0 R /XYZ 90 733.028 null]
 >> endobj
-3362 0 obj <<
-/D [3358 0 R /XYZ 90 653.5264 null]
+2924 0 obj <<
+/D [3304 0 R /XYZ 240.245 663.906 null]
 >> endobj
-3000 0 obj <<
-/D [3358 0 R /XYZ 90 521.7987 null]
+3308 0 obj <<
+/D [3304 0 R /XYZ 90 647.451 null]
 >> endobj
-3363 0 obj <<
-/D [3358 0 R /XYZ 90 507.2284 null]
+2925 0 obj <<
+/D [3304 0 R /XYZ 90 520.018 null]
 >> endobj
-3001 0 obj <<
-/D [3358 0 R /XYZ 90 315.8591 null]
+3309 0 obj <<
+/D [3304 0 R /XYZ 90 505.719 null]
 >> endobj
-3364 0 obj <<
-/D [3358 0 R /XYZ 90 301.2888 null]
+2926 0 obj <<
+/D [3304 0 R /XYZ 90 362.95 null]
 >> endobj
-3002 0 obj <<
-/D [3358 0 R /XYZ 90 176.5105 null]
+3310 0 obj <<
+/D [3304 0 R /XYZ 90 348.651 null]
 >> endobj
-3365 0 obj <<
-/D [3358 0 R /XYZ 90 161.9402 null]
+2976 0 obj <<
+/D [3304 0 R /XYZ 90 219.938 null]
 >> endobj
-3357 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R >>
+3311 0 obj <<
+/D [3304 0 R /XYZ 90 205.639 null]
+>> endobj
+3303 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3369 0 obj <<
-/Length 2420      
+3315 0 obj <<
+/Length 2121      
 /Filter /FlateDecode
 >>
 stream
-x��Zm��6���Ÿ�l����K�+�M�"���K��i���Z[8[r%����7EY�)ٛ����SԈ
�
�g�BF~dd�H	�
�r4[����<#��)���.���_I12�H*GW�U
� A	
]�?�	A|2%����q�����	��lu���yt�&�ɣ��ٳ������O�i�H�DBr��s"�N	F�/����@3d���h#/VQQL�T�����q�ެ�2v5���8�=��T"�Pj=��1WmM�$������g<��U:È-Fw�1���g�2��:�p��
��� �N�!�0(�)#A)-&Z���F���6c�F�JD$ӕ1j�E브����8	�H1JG��4҇���B�0�kժ2[݃k�i
���H
v+h�[*�Q\w�}��j\�e��e=�n]�,K��FXfJ�i�8�r�N8�cW�fuM���<��J�4Z����m�J�{'
-�e
%iY�5�,�,��� #�� ONa�!H��oX�r�mK��2�1�wOw�j�J�C�'7vVn}���Pl�Y]�'�8- at a耠�p #�	�qt������K�aͷ���A�
�%�p���A���
�Y����ȫ��a�E�R�}ZF�2�E�ս7�턊1�E��I��2��%K��<[�<�R�8B`;+��@욊Z�)S�s)�E\p�A�
5|ad c�
��	���88 ��\ɑdjp��5ٯ
�	+,�)���]k	��ɺ}-s1���:�D *�,;���( �jw��ԚrM* �b�>������h�5�ID�!�5�7vȼ6�
�n���9��gk�
w3/B�0��F�aC\��
�(��y���m�!}ў�g��.�O�-:��j/N��ֺ|�����޾~��zZ��>R�f�]��x�����y}�1Ч0H)�[� ���?#>%�*Ic���Y
٬�YR~v�u�m� 5v}��*���6Y�k@��ߍ�
O
@=I��C���B�1��ş=�u�&�Ի9K��V�y�XG5ƨ���5 ll��>U�2Fڪ��0T���"ۢ��"r��i�N,MWիE�'�r�&S!��j{�H�ހ�( m�S�dT嘋-�m=֤��J	�ݸ�ӁA@��`VBj�a�3|3�@�,n8(3P���`�� ���h?AP�v�[�)3D0�
�}�� C`@�F"��a�!��
Ep�	
�!�'1�m�>���F�J�T�Ч��D�C�Ύw���TA<5
�8��0qBtX�?�0Š}��A��0�S,�{C ��� �bM�?��0�A?��N�4B?�a�-0fՆ�S�C�; };2��,u�,���\���,��aR���4��X5�����Q"
����M=���� j����%��@�cғ�>7u���
-��͞o��W��
��s��W dX
w�<
wv�ǘ
�C@����;�S�kc^ם�-�"��ڠ�OU`TJͳ��6�l�����ܽp�
/�=[Sl�Y��ԉ���#��a�0
�ΓA�r*��O�_��	�D�06[����7������
xbʤ�RڔlA��>^�*]�
P(T{N;A�i���U��((
�ʔR0�Q�K&���~��E�|Þ�o���o��l�o
3��W�~z��`&
�7v�m��d�c��=�(ęޣ��<\i#�)jie�
c�m>��)(
VR�\���=w��i�e��L.�"�z�E��Zurk�sku4��LF7ka����r���˭U7���?�6H*}bj�5���ZuSk�	y�^
B���`f��

-k�f���f��:�^��C&���6/-vt_�!�Q��"C{�=;�O�I��0���73Ǡ\�A��B�6~ebϢ�����,�__��<��1(h!��1x���z�
-�OU�A_p��drũt3�Z�KO�6�[Y�����������
sV���W
�)�̊R���,D��V��H�%�c�8�C�Z䐞|�6^��3�W�tf/-���٬���
C�>�9
-_r�n�p⠌��{8�H��r�#,�v��&�V�����Da�1:|����ė	aNO훻"MrB����%�_�(O��U
�2q��u�Dy��v��wwA�$⻍����eR.�jM��q����*��D�'�e��C�������m�{����𐖄���3{�k�� ����V��{���I�D�v��D�wG������W3�e<�dȐ&UC��h0Ņ`�R�
�H!uU��!�MCڷk$D��Lv�V�:
��ri��N����4�XO7��K��1���6J��������8/pU���І��x�4�	VDu
���w�K�ڍ��`���]�S��
�[mٖ�������
�h�&�
%��f�:�׋�k{�xd�q�F�@���a=q1���6��|�屏Q�\W@~B���*���~9endstream
+x��Zm��6���B��l���]��Z {M�&Ͷ�������p��Jr7��7�7[��ۤ����E
g�3�3
{
{����^\���SHI*�郧��K�%�t���xB0ƣ�1��0[���1ţt�[�y�^��Y���ӏ��o._ҒH�DBrX��;��(���n�?�H�0�s�:"��j�?Wa��'T��t��H�7���v����1	F:�`H��F�����/�`���>�����؛��7
FL�c9k�q��w��]|��gq��Jt���y>eKa՝o��]�~���+�[o1�8�+�^X;�[�e.�Ej�]R�QG�j����1#�]'E\{�X��Si�
�t]=tC)\e�2J��ȶQ�f9�S��%�aқP�0	��/?FzS� ��n#�� �XyC�y+/�WWq2�x�k���0[l�`Ԑ�@�V�.����1�&�g��滼���{�Љ�Bc�{��&ia/ �
+��{�"[7�
��w��Ia}��2B��y���M"���E͇y�+�	
J6�>^�I���$\����O=_ ƒ���up>'�BD��8�Y�P$}9�m�V������eh�w���[
v"O:XI�E�5�1�kE���2{y�����E�gC�v-(@ܜ� �J�I��d'���D����fGq����	�	_Pi,��-߿�ƫy�A�j��%t^��{�s�(�8�����E���\��1M�����	��m�(pY��P�¼�Xy�)=�Z�2�G�zO`� �uG}5����hk7�I�P�6���M�
+&Jr �:��,ӌ��%k�
J ƻ8�������2 at XЎn�P�RIۼB�fۨ�6km����F�S�eX��a�퐅FI�d�i -�k��c��-�w��4p�`�/�4�3�����I���2�.�
�1r@�w4��<�5�Y��Fpß
�D���^�
����
��W�-~�@ؔ��.Z��M��=�}�c

uٷ'�aĹ|/�d"�:"{D�W��6��ER�A{�#j<(� �C'����)+t���J=��0r�(�Q�����{(�s�4솄&%Ô��1�"�r'�
������!�� P��b����S�
y:ǐ?'Ljs8�1^��(�9�r��
+�1���
���xpZd�U�;Y�;	>M�de� O��#t$9�����E#�v`���ܴG
�J��|�>�O80;��0G��"�Tv�i�;����׳�e���3�Dd�%X�>皨kh嫓2z+�pPϸ�) ֮ �}(S ��G ���b

+W
p�~1�_�Y��yJ�i�e�@�4�t�����޾�y�z6q� �j��z������L���)�}����PB	�;�ڒC�����6]}קcH5�W�s��G��/��vesєY�Ԕ�N��W�V
8�����f���l �t
v,�W�J��*
!DU�
�,�9n

�	��1a�eu��r�8wA�=�u�G
^�]��
+��
+���@�����O%*x����
+S�
���Ӊ��� �R�_
�FM��Q�O1����%l��@L1q
7@^7U��*w�'e��!����M0u�!������
�P�l���'��~��Ϩ�~N������4&
�
+��ߡ�f֡'��J���ì�Rl��`��w{��,��U
�#9pYS�m��V�)\
�
��(m��F��F6�߽�
`��
> R��'��7.�`�z�WM T[Ӆ=��{��0?{��ࣘ�9��9s�c|X
%�؇9�R�g�]�q��Z�ă��1Q>��کX��̐�i��4,dÃ�bF�b��S��
��g4�G���٥QӞ�bt��FD������d�8�
u��P�wvc�tg�4^J�+s!ܷ�xU�q�pQ�����ݝ��l�	��dB)xW�]�97d����B$����+���%����n�g�(��������a w[Q��u<`o~�u��1P���7a��*��SW��1�$�Lfۍ��xt���Ԛ�������e�45	���,�������#�r�M�M���r�Y]
�$)bү��!u��u�骁�벍{�	���D&
+endstream
 endobj
-3368 0 obj <<
+3314 0 obj <<
 /Type /Page
-/Contents 3369 0 R
-/Resources 3367 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3288 0 R
-/Annots [ 3378 0 R ]
+/Contents 3315 0 R
+/Resources 3313 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3217 0 R
+/Annots [ 3312 0 R ]
 >> endobj
-3378 0 obj <<
+3312 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3370 0 obj <<
-/D [3368 0 R /XYZ 90 757.9346 null]
->> endobj
-3003 0 obj <<
-/D [3368 0 R /XYZ 90 673.6858 null]
->> endobj
-3371 0 obj <<
-/D [3368 0 R /XYZ 90 659.8341 null]
+3316 0 obj <<
+/D [3314 0 R /XYZ 90 757.935 null]
 >> endobj
-3004 0 obj <<
-/D [3368 0 R /XYZ 126.0147 573.2523 null]
+2977 0 obj <<
+/D [3314 0 R /XYZ 90 672.604 null]
 >> endobj
-3372 0 obj <<
-/D [3368 0 R /XYZ 90 557.2438 null]
+3317 0 obj <<
+/D [3314 0 R /XYZ 90 658.687 null]
 >> endobj
-3005 0 obj <<
-/D [3368 0 R /XYZ 126.0147 470.662 null]
+2978 0 obj <<
+/D [3314 0 R /XYZ 90 541.171 null]
 >> endobj
-3373 0 obj <<
-/D [3368 0 R /XYZ 90 454.6534 null]
+3318 0 obj <<
+/D [3314 0 R /XYZ 90 527.254 null]
 >> endobj
-3006 0 obj <<
-/D [3368 0 R /XYZ 107.5342 368.0717 null]
+2979 0 obj <<
+/D [3314 0 R /XYZ 90 395.251 null]
 >> endobj
-3374 0 obj <<
-/D [3368 0 R /XYZ 90 352.6858 null]
+3319 0 obj <<
+/D [3314 0 R /XYZ 90 381.334 null]
 >> endobj
-3007 0 obj <<
-/D [3368 0 R /XYZ 126.0147 277.4365 null]
+2980 0 obj <<
+/D [3314 0 R /XYZ 126.015 294.752 null]
 >> endobj
-3375 0 obj <<
-/D [3368 0 R /XYZ 90 261.428 null]
+3320 0 obj <<
+/D [3314 0 R /XYZ 90 278.679 null]
 >> endobj
-3376 0 obj <<
-/D [3368 0 R /XYZ 90 159.4603 null]
+2981 0 obj <<
+/D [3314 0 R /XYZ 126.015 192.097 null]
 >> endobj
-3058 0 obj <<
-/D [3368 0 R /XYZ 90 136.5259 null]
+3321 0 obj <<
+/D [3314 0 R /XYZ 90 176.023 null]
 >> endobj
-3377 0 obj <<
-/D [3368 0 R /XYZ 90 136.5259 null]
+2982 0 obj <<
+/D [3314 0 R /XYZ 107.534 89.441 null]
 >> endobj
-3367 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+3313 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3381 0 obj <<
-/Length 1689      
+3325 0 obj <<
+/Length 1889      
 /Filter /FlateDecode
 >>
 stream
-x��Zߏ�F~��S
�����C�$j�JiB��DȀ��
-65����;���Ƌ��ӵitҝm��ٙo�oك~H`p��B�q�V=
���W=R�<�ׇu�g���K)���2/v
$A������ >�q�̀�~���ɛ��t�pͳp�K<���a4z�~
|
��yIH�#�	�9d`
�P�4��(3���
7l�3����p�
������~�Z/�<*���Q6 �%3xd��}B�u�{1��UVS0Il������9T�u#f��p�1��
���,{�z�U~�vo�5�Sh�&,
-��k��D+��P	���O�1S����/>Ϣu
��ft�F�)R�Ҡ��o%QY��0��
�ab�զ���Q�
8�
-��|f���(�[I�������'����@C��u#��]���o���T}
�"&�)1�)�
-���p��KҼ��?�u8+�7�a��Fq���ìf������S_z7.r~�=�1df��
ΐ� ��B�x5��!ZN�&�=�� N��p@�n1��:J�T�srdڥ
�5�*g.�c���4��� �]}m�
i�R�4c���v)�N�r,�R^	2B��+ji4*�X�d�w\>`�g0�%����,������qsC2-]�<���0��&H��
��s���}�,�$��Aߐb�4φD!Iy���Q~�%��w�`d�j��w�r
'���4ʷQ��FV'�g�
-;1*�*�
&��f�R��+��Y�w�1�d}���]h��T�[�V�5 at b���ٙ�
ޡ�,�P�]���k at +�4�9�
|55����D�����4>Tiĥv�
�C���,]�a����K�Tp$0�WI��N���_������6�/6���0ę#�٭'8�s��U�
v�%���d����j�a����
� '��+��K�n��[
�n`�5g�/x�����ev�wVd���d���H���^\�֍
�%
- ���W �
-����*�� PsR �
- �7��<ͺ�:ɱ+�w�_�u7��)��l�o�J{؟��bլ�{[1�፝�_�:��L������
����,��_�]����s+?�7��7p����t��
-[
-���2�xD���#��Jt
�2D�q˞���w��4Ԁ�N�oD<r:�6P���iz��7��� +����yH�؉@����Ԯ��y����0����.�c�?_����ԥٷy���?�0P��a~]�8����n|r؆�1����ՍZ�,:z��=�?�GG�R�v���(�,]��m˄m�p-���9��r��X&Ұ3����q��@R�v����w�L+
��Tf��LgE�"�J�/2�d.�'�9س��@	+��-V�
�}�����E~����i��)��Z�b4�O)*�P�?l�*Te�/�''.��i�)
-?�(�{��-(5��zB
���l=��
�j�.��b��0���3��(���/�ꈧ��)�}3c��������K��N,�Im(���n�*��N
s��}e��藳�k�܇�=�{�lO��*�ĈC��.�KCEX�,P�ꟁ��y���
��;�AT�ն��5���zts��n�l��x��8�Y��7�y1;�\���
+�V.��3m7���\�k�fն
�vgG-���N�o�Q�Lendstream
+x��Zmo�6��_�O�
�
�%ۀ5}A�v�:oX��b3�0Y�$yi���%Y2��46�@ �u�����C��[y�{1z2�<��SHI*�٥���K�%�l���dJ0���	��0ۄ��	��4�^�e�_EY�]��>I?N>̾?yNȞE"%��z����)�E	F���r���
+�)����#L�3��0�'S*�x6Qt�7�8,tu孾�لc�,�""ʌ�ѳ���3�#e6��|&��f����p�{#�煮��8e�{?�~���R��mfE�������
�cCy{q��I�����ΧH@��TM��=S�H��U
�Q��0���+o���/�$/��,Z���)�>��`P�B�EeY��~Иޮ�!�z�S��L�y���cT\ϫ�xh:�(ha]48���m
}cgt�!����ͫw?�y��W�7��_=�����q
+��6�A���2d(h�{%q�h�RB���6�Q�zN��
c�r�#	^>�d�K[�a�qa�2_ �"��(YU�bm
veq�{�0����9����)�B�p��ϭg���i����o�8����Q�)�ɾ�� -�a������ː�
+a���
+K�M��r<!�U
+T1�G�z� _�gk�tA!����V�� �߰$��n�t�ے�p0�L�J�L/�cwax� �z|���8�w�>���B�h�0�
�����SR}B�p��7is�0H��[�*-t���
v=�
���6�G�
�;��.����2���o�r����y��S�|�!o�Sb���)�p'<@�dwG�斳�:��o�_�q����p�	��|�NCE�0���N���S5̪=e�e{���8%
���!��Q*���#�H�(f��f�'y_��O�~�1+ū43�%���Z���5eBĸ�,��e���IZT��
m�enTMn��5�o�"�
cZM���
a@�(�qO�
�0����Nr��g�
��Z��֛
8�P?�%�"J�j�4]��0,/࠷QxHj�"7�6_!N�}����[���hD���E�ƕ�{��(T����6 s��C(�?����$���!~5�0�‹X;H��t���0s��
:lU�F�&o=���d*E�_j�=�z��]��.�F�5�.��v�
+�a���2^bY+Mj2�[�KeL
d������
�{�0p��%ճt?�@l�=�>s8��
+D�u���`H�N�7��~�SZ���^��X��3`��)����pk�ۄ �P�j7W^,OO!J�!Qq�����]o:~+�T�l���W� $p8�"%ﵻ|.l_[F�g�0Zz逊���m�"wƪ�>� /��@�vX�>&�rr�E17�(�{oD*Ɯ��	Hϸ�
���U
+��hu�w S�Ag���=^��VoĪ@�W��������z;v
+X��4~.\��V/=$��	�|_�QT5�v�^f����i�l�.��v�	N���S�C�
a7�-�T.�3�h?�]Mm.�%aJs4a�0�	�<_��t�f��0�C��A ��!�"@\���J���Qb�-lE�+N��Ф�īȒtؒ}f�7[�@�%uv�%� ޞ�W��>o���ti^{q��G���s�.�\;���R?�7�Ϗ�� �.�*0?�
+P\~cJ\��v�K��"��E����"͆��l�\9���zXq	'$���� �U�gW�P�K��o+-MH곴t2���`W�`�ep�l2����"�m�P��<}�_7���un�/�杰!+;�٪Zʪ��:�r"�����0ٙ��,�1���%F���&�9�L0��Z�H�����o?���NS�En]�ӓ���+���.������6>9�U�R����\�ԵIk<�.nJ:8 �o[`��
+endstream
 endobj
-3380 0 obj <<
+3324 0 obj <<
 /Type /Page
-/Contents 3381 0 R
-/Resources 3379 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3288 0 R
-/Annots [ 3388 0 R ]
+/Contents 3325 0 R
+/Resources 3323 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3217 0 R
+/Annots [ 3322 0 R ]
 >> endobj
-3388 0 obj <<
+3322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3382 0 obj <<
-/D [3380 0 R /XYZ 90 757.9346 null]
+3326 0 obj <<
+/D [3324 0 R /XYZ 90 757.935 null]
 >> endobj
-3059 0 obj <<
-/D [3380 0 R /XYZ 90 694.0892 null]
+3327 0 obj <<
+/D [3324 0 R /XYZ 90 733.028 null]
 >> endobj
-3383 0 obj <<
-/D [3380 0 R /XYZ 90 679.5189 null]
+2983 0 obj <<
+/D [3324 0 R /XYZ 126.015 663.906 null]
 >> endobj
-3060 0 obj <<
-/D [3380 0 R /XYZ 90 576.748 null]
+3328 0 obj <<
+/D [3324 0 R /XYZ 90 647.679 null]
 >> endobj
-3384 0 obj <<
-/D [3380 0 R /XYZ 90 562.1777 null]
+3329 0 obj <<
+/D [3324 0 R /XYZ 90 545.493 null]
 >> endobj
-3061 0 obj <<
-/D [3380 0 R /XYZ 90 459.4069 null]
+3034 0 obj <<
+/D [3324 0 R /XYZ 90 522.558 null]
 >> endobj
-3385 0 obj <<
-/D [3380 0 R /XYZ 90 444.8366 null]
+3330 0 obj <<
+/D [3324 0 R /XYZ 90 522.558 null]
 >> endobj
-3062 0 obj <<
-/D [3380 0 R /XYZ 90 342.0658 null]
+3035 0 obj <<
+/D [3324 0 R /XYZ 90 423.304 null]
 >> endobj
-3386 0 obj <<
-/D [3380 0 R /XYZ 90 327.4955 null]
+3331 0 obj <<
+/D [3324 0 R /XYZ 90 409.233 null]
 >> endobj
-3063 0 obj <<
-/D [3380 0 R /XYZ 90 224.7247 null]
+3036 0 obj <<
+/D [3324 0 R /XYZ 90 312.016 null]
 >> endobj
-3387 0 obj <<
-/D [3380 0 R /XYZ 90 210.1543 null]
+3332 0 obj <<
+/D [3324 0 R /XYZ 90 297.946 null]
 >> endobj
-3064 0 obj <<
-/D [3380 0 R /XYZ 90 107.3835 null]
+3037 0 obj <<
+/D [3324 0 R /XYZ 90 200.729 null]
 >> endobj
-3379 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+3333 0 obj <<
+/D [3324 0 R /XYZ 90 186.658 null]
+>> endobj
+3038 0 obj <<
+/D [3324 0 R /XYZ 90 89.441 null]
+>> endobj
+3323 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3391 0 obj <<
-/Length 2492      
+3337 0 obj <<
+/Length 1725      
 /Filter /FlateDecode
 >>
 stream
-x��Zm����~�B�Z	�����Z�C'h�nrm?8Ɓ'Q[�T)*���,ɥ��Խ�1�€M��yfgfgf��0�!3�gJ(d����
-�>���H�x	ϗ]��o����bf��T�n7�I����n��� �X���݂�yT좻w
��y����Et�Cr_D�������Ň�ﯿ%���H���
,�
-_�x�#ʌ����_j(�`'�դ�o��pX,���ۅ��x�O�2���o�bA�<�Vp���r����m�ƛ�Ib��ϫ��l
^��
-#f��=���1t��┹��OWn���BA�]����QA
�&2�[]�m� N�
q�B�k����8�v��j T2l�BA�ҁ��yZ�{vQ$8 �d��8�A Cڕ~5�
-���f}Jvɿ*�ΖL	p�6�%x�A*�����<;��%���!�⨸{�i_����<�f���(�l�43����k��iD%q��f�T��<���1]%qր�A�Kڼ{8�� �a�d/@`
�u�	-|�:3�s���Nq��.���r�\�  �'IM�
X]��`�Z�h
#ɱˎ�I�B(?Ԃ��Ip�$�D!I���~��c�
B�9'����1(�`�P��`:��u}�g�c}���i�B"F0m=�Y��&Λ�69L�q�1���/�̔�'��
-#���|�}~��q��M����|A���W�x 
x�`�$!�\��<��l
����~�&�mS4�]I�_Vѡ�1嶹�
Q�6s�_�,��G�y�4=j����2^��
�¶hI���pqBˮT��h��@H�+���
5�����9>�R
�2�gH+ݷį{J-a⤵�0
>�@U
w at +����K`�!��{�B�Vջ��mʁA��W1���y� �.���We+HS]�¾r��n8l����t�)\
��p91��x��BQ4z�I�����&>p�츋��̛��˶ް���0Gh:᭮؈�Z1�1�{
+X�8������c>p�u��${Ui�b���WGl�_N��{���������C{;��(�҇
��
�N��N�Zt�̪EW5}ܭ��G�!?tk��?��[p��{BWj�'8p#����*ޗP�F�A|,έH'Vm�r}s���3�4Y�E�G��Y�3�h$�1j�#�T�?Θ!���3�v[�6"Y�@妈��h4< �򨝣�>�WI�*]�p�  [...]
-���6U���j���PO^�L(���L�x;n*6ϋ�fA �
��vPu=҂���	w������M ��ɉ���͡����_g�EuV�A��$-bF����_�AZ+��=�����ٰ�a{�
��C�w��e�J�=��y�񦙏�Y�W�f�=�JK�:L��`M����?���
��z�A�C�A��hc��zH��$�'������
/A�����e=�롈�Od=�4��H`(�ޡ�8��!TKs�v�~
�u�xE�4�:��:��Q�|qt�%m���a�l>�_rPeO�S���v
���y�5
�aq��+	��?ah+�:W3�'����Mr9L�yNS3>�w���vf0���<��	02��,	���$�3����
s9
�3�à0)e�؉��X���4�3�r9=�0��>.�A��JLq]�1o9�i.g
��rz�a.���\�xQ�LaWl�_N�.g
��rz�a.ǃ�¸���aZKͦ��s�k�9��B<
-���~���MI��m�Jk���QY
-�u�j��C5
��C������+��	;��m�����}�J�ñ���CݾJ�����^F{�
0���
,�1a����2��g
-Yk`�
��Ró U
΃�_���Gr�gE8�Z��qx�
9qx=c�
�g��,�'�9���y
+j�{�,�+��&�@JOy���:CY��9�ޭ�9�j��ði��S�
��������&
x�֙K�;=B�q$��4
�&��5M�3�'�@?�?�iĥ�ϥ !�s� �� �T
R�FS2F28���n(@�_BjJ��!P�
a���N`�y ����P��
R�f��6�ۍu)���t
-
����H�M����%�JA
-� ���BC(���u�
-F�d����>|bSL
�SE&��N骦m[��A�Ny� nǮ��hf^���ьzU���>�L
uB5=T���0��E��Uݎ�zR�?�G�R�Y�y"GgM9��c�
]����⏞`��
b7:w��Gc�+n�zM������Nj�#[��";
3d]��dMSxAfyt�^+?�Af�L$��E0��}�]}9/5�А�����
�|�����κֶ������f ����]1o�ǟ�����m��4[�B�b[��ݱx�S
�����nR�������?��پ���Ȗ�j{z횷e����~xx@�:fɾ@Iy�ߧ��v1�}�2c�[�B=[<�������ڲq��./ڢ7w
ѫ8��#}S�
�
�\endstream
+x��Z�n�F}�W𩕀h���E$A�H�/i`���E%����w�ˋH�
+��h0�%�����93�����������d�FZR�,7�Ǝ�	J���y7%�ٜ`���gO�4�_�(�&���_�����&�һ��ir;{����!G��HH�
+���--�#Zo�q�{�
+[p��!LW;��^���T��r��ԏv������3�N�x�4�Pn�N�/'O��)�!RL8�h��=v�p�'#�]�P�
N|���ɯ|ֳ�!,E�YĐ(��W��]i�	=�@0��G��v~�Ep0��;%,�8�N��e�$Ih���,��%�l�4�8P�sv�\�X�$�x�]��NgΔBX0g�ע
ĦH�$��ns���W�)`�WI����U�^z��vg�'˂$���ڢ��G��*k|�XϹ]De}&�H�D���?��$���qV��>�8�T#��q�Pa�o�|��Y�`��[�X���
�����`cm��]$qxgW�S�C��S��SQ�qI�T�I���l�&L�D� �Bi
8´�2f=�q��Zq�
�>�j2�Q}'�s
+���s
+y��}������7٢�p#��C.RD�%�����N	���
����~�G~�w�i٭�����4�Q1=�g��)�g�L�^���%\�V���^pvS�� ^%��˃��G=�6�
#i ��
������$�����Ba��1(L���X�Pz��W��E�
�|�%U����,f�r,
1���[�.��n6�����2�)T�A�g`���,���B�
y�A��W,�����GXˆ��qݏ������'�9�8}��HK�
+L
��(��ݒ�w�q��Bu)
�~
L�

6/�s ��1�P�
�܌߬�DE� TH��
�Az��d
=�;Dzt�M=�N
�rb�Zr2
KNfU!^
��D�\���Ȭ�8���%�k
;U�0`���MVJj�4�#
=�I�p@?OJ$ɘQ��gT�
e�9����6XmK
pi�����JhϷ�j!�M�W
wy����_�v��_�ge���mN.��:��{�
�$mGj���'����K�����71Ǎe�T�����t]���O��{{������:gm��X�Li
$�@栃4r�{����˓�G�f\r|�>���:�{�@�O�[�q�X�Z
<B���n�Q"р�z�s'�*�
����2�}��	��|���~��C��]�cl
����6�s��o��`2�k�Tl��}�$A��!w���;�-��-�nɖ�j��
݄@��c��We0NKB��Ӣ��Z�@ bZ�'p�
5�=r���=��3�
�s��.�&�V#ْɡGmbZ�^�oJ���y�_mK��A���Q`W��܇�W��1�qJ;����&������4IOg(>4C1EGMi�R�4��PMi|hJS�Qc��'�F1'V/���s�S*$Z]���
c�%�#�.Ҋ���Ȍl��w4=��GG����� �P`ݸz�c�q�3����}�$�U�j�R��*[ޠTPs۸�b`[�m��>����g��/s�d_���>q�}	|Dܱ������ �s��l�FB�N�^��2=`yY5��W�E'h/~�����U��~��6_EZ O��,�p
+a���Z<}���I���r���6`���HSy�<�-���Zeh���n^�ff#����hSeb����p3�� ��A�`	f�
+endstream
 endobj
-3390 0 obj <<
+3336 0 obj <<
 /Type /Page
-/Contents 3391 0 R
-/Resources 3389 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3397 0 R
-/Annots [ 3396 0 R ]
+/Contents 3337 0 R
+/Resources 3335 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3343 0 R
+/Annots [ 3334 0 R ]
 >> endobj
-3396 0 obj <<
+3334 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3392 0 obj <<
-/D [3390 0 R /XYZ 90 757.9346 null]
+3338 0 obj <<
+/D [3336 0 R /XYZ 90 757.935 null]
 >> endobj
-3393 0 obj <<
-/D [3390 0 R /XYZ 90 733.028 null]
+3339 0 obj <<
+/D [3336 0 R /XYZ 90 733.028 null]
 >> endobj
-3108 0 obj <<
-/D [3390 0 R /XYZ 211.8424 499.5909 null]
+3039 0 obj <<
+/D [3336 0 R /XYZ 90 637.302 null]
 >> endobj
-3394 0 obj <<
-/D [3390 0 R /XYZ 90 485.1527 null]
+3340 0 obj <<
+/D [3336 0 R /XYZ 90 622.87 null]
 >> endobj
-3109 0 obj <<
-/D [3390 0 R /XYZ 192.8535 216.9495 null]
+3040 0 obj <<
+/D [3336 0 R /XYZ 90 521.639 null]
 >> endobj
-3395 0 obj <<
-/D [3390 0 R /XYZ 90 201.1315 null]
+3341 0 obj <<
+/D [3336 0 R /XYZ 90 507.208 null]
 >> endobj
-3389 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+3041 0 obj <<
+/D [3336 0 R /XYZ 211.842 264.816 null]
+>> endobj
+3342 0 obj <<
+/D [3336 0 R /XYZ 90 250.229 null]
+>> endobj
+3335 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3400 0 obj <<
-/Length 2416      
+3347 0 obj <<
+/Length 1993      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S+�z�7�C���I
-�&n�pr`�e��H�������/KR���-�`R
�������Pd��,
^(��a\.6�+�x����"��5<_������F��AFR���U$A����~X��jM0���+��Q���ޯ(^���c�-����"*�on��?�>�~w�
!-�DJ$$��U�e-�1J0��8�?��%���
v"��U�u
��5xy�2t�iT��'?ƻ�X���
|d��KB�Uz��և���`��`����G��BT��ˆ-Op�1�.�W�2w�^�t�'��~P}!�)�z.�^�GZ��CRS�����!,�hT'

-)��‹�p$��.믏P�0Y�5
;��aAۆ����
�>61�N���ʼ�o�]��tϓ�g�����oYQ���S����u �kX)�JM��z��
-�s�چ��0��a'54<�Lv
�pm�,�'٫L�7f&`m���y1�7��XW��9
�،i'54-;���DvM��)��A'�TBTIS
�&xQ�m����Mg�4U$J�yO�-�����9�"|��̺%4,�� �h����"���}�ć2ɳ����MO%@χ��o���r{s�d+q��d{p޳r��H
-�&���tw3$\�=�},r�O���*�k�1�M�
�C1�@6q*ځ
��@s-i�BƐѰ�Z�|�|��U��@����$���CT&�i�_�5e����/kȆ;w!7�].7\��ړ���Z>חy�,�T��hUgyY_��lo�]�����/�	�d�T���)
�D�Y/��TdΪO��)`稯3f����%\�Q�H�����a��
��!
�AF4ǢU�{:9G�1�Ͻ4ޕ��)+���

-������Q }%<iD
�0�ұ�!�� h� �Pn�v��χ8���$j�)J����)�H-D;��y���^�p!҆�)�۱8�p)�@.&��B����jS��uA`J!���n��X�
`�=GF/H�8*���Ch��і��,S�{�-Ԩa��.N��v|�ZkE�_����&�0PYP��
���
��~��m��<�Ƕ�PgƘb.�T�)�jf���
~87��lz���8k��Uېp^��J~������,
�õs�C���#�b
�l��j5嬒����ǐ^�.��IZ�.VT
2�fipѰ4�JB�&$"��
p���oۍcm�{� �smhC�^*�g�D��6{S[��6�Ր�AX�/�|\��"� @�3B��ʕ��d�ؔM�Y"ݤ�D���ޤ�£��!O�l�
�"�
WZ����#@���'�~�o�O���Bl�+��dr������:7ph�Е_
� ��q1��CL���'a����a�v�žr=
 /5���r1$�$]���M+8���Kp�aR�PM�u�� ��9���oJ/8#F"Hf�Zg�	�7ٰH���\����.'6?ę6�8��!N��q z �5�
WKl*\Nl~�3m�q��C���7
�p ��`1���T���%C�i�~�30

�tL�چ8�M?�z.�-���;1O�:F�m����I�Njh�����)I�F���@JW\��n	��>�6�8�
-#0 at F�4��zl�A�~�;d{W?l��~b���ߤ��Tă�cpϨ-CB��
�`���VqR
��1�[���e�؍�&��e�L����8`ڶ����]��D�
���{� o2"�	��������gxC7�L�wS����
�.��;
{
�A���d3����(��t��tH���a87��s#<����>��h�&1"��Kxzb~ǡ��8��w�c�J������!D�ް'��n�?�i�暾t��87� y���tlh���.ygh��x��	�r����`��F�ʏ 7yVFI��NC�M���nfx
2OP�}I
9b��q�<�[����o�vfu������|pAw�$y��ًv��W$�I��0�M���3�Q�D��H13;i	��%X?
er9Y
-���J}�T�I��)M�L����yRۓФO���y�A&�ODl��R�&1�
�o�"I��I��4�p�{/�@�g�QJO����(�p���e�l���n��$iD�=��1�+��^*<9����,N����
��!�1���%H�v��� i�g0�-52RLc�.���	�x�/�2����h΄����5��~�)����̐�_�k��G� 
�Ҏ���0�c�茋��7 5�[�m�
�͟�q�ە˦
�1�NQz.ͿXUqq~��b[֐}���?�q?4TA�����~�������N��u�n�{^�@�]�cY
n�������NYr(PR^�u�/f3��yb��^h�K'�LK�
��/;7����j:H!{���
?���endstream
+x��Z[o�6~ϯ��f5ëHf�
Z�Ew�5�
�"Pl:�&K�$/�~�E�-���{Y���h��s�r��;{�/�__\�򙧑���]/=�=�$(���	!�Ogc<y;%x������I=��"
n~
o� }��z�|�~����!-�����9�+~�t��h}���oT(
����F�0]�xY6�Q�'�SM'f���ܸ�_�ҤS�&&�Ö&BM����닿.��
)�!$�Lx������[���
FL+�8��8e�y�.~���fq[�Zt���y�2�}�Ľ+xW/]��mX��b��L
��z�>��� �a`�l;��Ȟ�#!��0���ƽ:	�b�p�����$a��e����Q�m���v�~e`�i�}+F}���4�6�;չ	
R��Jj���d�G�g�o�8AL=�Ӣ�O�ݤf�];��=�bD[�zj�8Čc�S��(s1G�姹�X�eW�w]c)$�YtK�|qu�S�Q��	һ�ڀ���P M��_���^�>v�	���#��1����� �KY���1b�����0;�,-�i��3��,���z�x9ˀ��@0X���&x�
�R!��s)�ê3p,�m��v��H6o��z�r���m��6���2M�n�&S"�a�? [...]
+b�sqX
q���I_%�c�!+rQ��E�
�
��U_q��P3}�3�3�@� e��*~���`bp'gDBq/��R��l�.ĨljF�5#]I����^	��k����Q�*� R�<��-F��6E�m���`�#�]
u�u�*�M��������
�f�O�q}0U;�l����*���,��/b}�
+�2�����T���ݖ�����a��e�m$1�����e&�L����^�:�Bªc���tBy�m�*W�������T��PB�>o��U
]��l{�������jh��٬Z��wَ~@�P�9(�@�a��2Gu$�jGG1��i�'�����q at D��I�z)wTB �rG���0��E,�u$l�wlɑG$�Ky]��p����W���ݤw������u���@��8��L�G��@��
��G-�bH�Fz���9�:�![�b�We�.�� Ӄ�ڒ}�E)���^�W/��^�b�hZ4��
0����g�F�
=���(
R-�
1��ql�}�9�^�C�kt2T+_�j�j��ӱr
�)��~��{X��{4V����X��q�Q�<_��q��G���'c5Iv��
CR-�;
�
qP�
��X
8TXM�a5_��ڳ�Q �k��&nwOC,�D��ޟ]:�:I� �e�=���4
�j����?a��7���5p�D�O9�\�z�f�a%*ԕ�8 J��d��v��	A�}��O�h��ʒ *h�ouiw��|���j�
@�=�բ��6��+���}r_V#[�)F��Y�t{ߏ�t� ��$��H�n�t1DU�
s�#f����V ����x��_�[�'�!�
��ѩ�
��j���.�걱�a�oǺ䘩��7��{���
8�Nc�����A�o����C�:�������:��=��y@
�@[ڊL	
)��j�[�Y�^>V��=� �=����멀T�
+�m������i�\���4\�YX�l��'�)o���W�~p���b����U�o�./����<C�8ܤ(�/7��r76T���e�D���.���.jَ�+<��
+endstream
 endobj
-3399 0 obj <<
+3346 0 obj <<
 /Type /Page
-/Contents 3400 0 R
-/Resources 3398 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3397 0 R
-/Annots [ 3405 0 R ]
+/Contents 3347 0 R
+/Resources 3345 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3343 0 R
+/Annots [ 3344 0 R ]
 >> endobj
-3405 0 obj <<
+3344 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3401 0 obj <<
-/D [3399 0 R /XYZ 90 757.9346 null]
->> endobj
-3110 0 obj <<
-/D [3399 0 R /XYZ 211.8424 608.0161 null]
->> endobj
-3402 0 obj <<
-/D [3399 0 R /XYZ 90 593.4185 null]
+3348 0 obj <<
+/D [3346 0 R /XYZ 90 757.935 null]
 >> endobj
-3111 0 obj <<
-/D [3399 0 R /XYZ 192.8535 323.2011 null]
+3042 0 obj <<
+/D [3346 0 R /XYZ 192.853 628.477 null]
 >> endobj
-3403 0 obj <<
-/D [3399 0 R /XYZ 90 307.2237 null]
+3349 0 obj <<
+/D [3346 0 R /XYZ 90 612.598 null]
 >> endobj
-3112 0 obj <<
-/D [3399 0 R /XYZ 90 205.2428 null]
+3043 0 obj <<
+/D [3346 0 R /XYZ 211.842 371.627 null]
 >> endobj
-3404 0 obj <<
-/D [3399 0 R /XYZ 90 190.7997 null]
+3350 0 obj <<
+/D [3346 0 R /XYZ 90 357.128 null]
 >> endobj
-3113 0 obj <<
-/D [3399 0 R /XYZ 90 89.4414 null]
+3044 0 obj <<
+/D [3346 0 R /XYZ 192.853 89.441 null]
 >> endobj
-3398 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+3345 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3408 0 obj <<
-/Length 2073      
+3355 0 obj <<
+/Length 1575      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~ׯ�SW���/FQ���-�m�l��i`�
��H������
ɡ8䐒
'�����9ߙs�8�c�#s��J(d���~����g������������OR�
2������ 	���z�~A���/�,	^D�>�{��x��N��6������Q~���>�������'B:��HH��U��Z�3J0��8�?��
PCA;��_T��.*��
-�X/
]���.*�����!ΗD/�t�
zA��Jg?���jVS0I�b�g���oaU�aČ�'8��C���̝�f�f��z����®�
-eK�ڨ �kBS:���A�02��
-)�U#P�q��Bq>
-�V�d2D)��>�v�����0HKu!�:GS�pJ'pWK���ۤ��&ſ�$-�VV|�b�<c��W#�D�l��uz�
��Ң�O�>I�4$�7-���F�J���$�S��ڭ��Z���IĹ6���$�%i���#�"�Q#�H!	�Q=�6.�yZ�43�5w�\��8���y�d��k�n�,ݝ�#�U=L��
-�%I�+f
M\���Iq	��>TC$�J*�=%q�]�FyӼ\F�~��a�,�Uat��8�UWj�p�A�<�p�rSA���&>�	���o�`��$h| ��
���&$a���(�-�f��x�)�%ۻ(�x��i9 e4���N�H+5�3$
{`֏y��b��i�g
ELbW�/����֦����t��Q���b(���k,� �A�N���_q�(lFZ�b�o'�6� Z��Ɏ�,��:_�Yx=�'ڳgu�=s�����h�m��P� �
���UM7��������`�gi��o��:~ 
	h!�6��p���a�m�Y�����i��Cg��
0`�����
k�m�Y��|lj�8��c|�M��c`b.�<W����FC�`u��
(M�w�ͽ#4��PN�d�(�B�b,�|���O��>�pwwRm
=˄Z�z��Vh`�[b	H�&�ŵK�~m�l�o�Cq��Ѹpo
-_LWj"2�Sp!���!�a�ǥ{�ԝ\���
�	O]Lw�2��d��k��p9�[w�\es�3�����dg�;T5�����-�Td��
�0tkN�5.V�Ҭto4��q�d�q�h��rq<
���}:��^��mQ��
r^Z�U���c#�����@ z-�fz{ ���$M@/�Z�Kf�F�(��f{�{�B�恆BQ�B�_)���B�
�*.p��w
z�R
-��.�" OCj���\
-\���1.U�YsZ�а�0e�?2�
ra��S�R܈�Aݕ�6�4&�Y*`bX���u+v�O�$xM`��Vjh��
-��1}����{
�b�!h��B�:R E��L*d{*8}#�qb/cR�
rfR0a&���/�ȶw%5�P�P���6�B���;֓$��y

-�s'��w�զ��l���]B^�Ũ��ġb�z/��[��c�ylZrS
���
�j�U_��[7�q>bY��#��#_���
�X.��B"ʱ�"#)#�d�j|1!�i1IF<�!��6�$"�G��i��ϬDXK��#;
V�
*��ʿ!��@���JE�e.��:a���x
��S��
��+5>�(�{]�>��� L����k�.p�I��\d`5�E<���"++f�"��A/�Ǜ�-�ј�����
1�J�ǔh��z�2>��p<[��ї�9ӗ�0}���J_�&}!ߜ�
���.|��JM�D���������@���)�j�C�#�V�k�#��2m���8�B��,*�;�(��Ѷ}<����o�����e��5&��f��q��k4U�t�(jn��7����`��g؉�X�U�
����P=�.��1d_V}
-�\��� a36
^���~�S�dJj��!ݸJd��os
o�
e�js�j}����oE��b�T�_��h����OV��*%�E��-�k�ֻx��(4"�����{����u�:Oԅ�:��Z���p{s���6:��!GIys8�n���-X��T�V�� ���
��2д�X
l�V�;s_��.�#�����' �]kX
endstream
+x��[s�D���+��
����a����C���^B&�XJ,�%#)M��9��bɒ�$Ni�'����~�h��;oF/棳ג9I�3�v
v�$HP��=�|L�)���M
��ڽ|7�x
��Kߋ�˟��؍��ً���b���5!;��HH����K��h���o
R(,�՚�z�0S�x�r�d2���C��z�rS�^y�_���.�!B�	���ѫ��1�!�7�B�	g�
�_`ǃ�o
����]�j�p��s�|�2�=K�RԞE
R�7-U�7^�B�yt���v��,���S$�AwRd�,W\E�ʊ{pP$�:��
{� �`}H�'f�E�n&�Jg�4F�ig
+�7���X`X��69���
	����ο�d�Wv���Z����M��8b�&���D���y��п�
�Y8%�T_�P�����ml���ו�i|�w��;�1�����g�D�jk�����t�T��[���=82��!]ɠ�I�6J id��
QUe(ʙRB��)�Ŝ)p�Ji�����ߤDk��s-��)l@��3:I��,'
�?����t�۵�-mzP��zϗq4�b|6��t,E��?u�B#.���b�/�@J���l
+�
�{ؓ���A���7
�V>�(�AC�2��M��'�/W������k��o&��%j�\�A�rq�&i
,���rZ�WA�k��oUmy`���=��1b�
�1+�4���^0.s�r\��@��i
�f
+\e�A'C���h&Cl�_�[�1{B6S����Vb 
D�؜�{(��@�lg�^�N�� ���(ӊ�`<c�����Q)Z߃�R!��
�23����ǰCw��f���ҜtV�rp~�t�OHgL@
�
���>"��19
+<+���sf�9ȳƮ=<�H�9�Ю�Ud6�,���#��N6�l��$�H������d$�Rb���
�r�0�{�+����&
U���z�֠p�^ٲ�� ��
+M�Ea$�r�o�B?�p�0o:K�D���ǜG0dȑ�*�j
�E�C-�~|<�ƯtDž�ԃ
�k��{��-�|U܇���!{!�	�v�`�����.�3���,�&k�)2 at A�h��|Ӄ% ����* ��D�%dB�[�7pS�qwûs��V`b�S��	�2��Y1^��r�In7�(N�b����k��
��7�Y��7#�|w&��Z\��5����A��������}���s�@������~�(ॊ�"��NC	��5<��2����}tw�V��x:ղ�~cG�ߣ��m����	�\?I�K5���.yp�c���
otT�<M�3���4�^$��:
+����/�e}&l�v�omT�����0~��v���`U� %�(ER�Z]cJ�[�eQ�E:e�Җ��=�^ ���]���m�!���W��+mp�DF1]��	�[�e)��S�,���Y4!���ď��1.���
o�UM���(�m����Qv��}�24#�+��r&�����~
�񭕦�z���4��������"A�a��Q��m6���������T��אI�v�|�B��v�Z�
�ߦ�9+
+endstream
 endobj
-3407 0 obj <<
+3354 0 obj <<
 /Type /Page
-/Contents 3408 0 R
-/Resources 3406 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3397 0 R
-/Annots [ 3412 0 R 3415 0 R ]
+/Contents 3355 0 R
+/Resources 3353 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3343 0 R
+/Annots [ 3351 0 R 3352 0 R ]
 >> endobj
-3412 0 obj <<
+3351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.223 482.4822 256.8231 493.3861]
+/Rect [238.223 259.422 256.823 270.326]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3415 0 obj <<
+3352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3409 0 obj <<
-/D [3407 0 R /XYZ 90 757.9346 null]
+3356 0 obj <<
+/D [3354 0 R /XYZ 90 757.935 null]
 >> endobj
-3410 0 obj <<
-/D [3407 0 R /XYZ 90 733.028 null]
+3357 0 obj <<
+/D [3354 0 R /XYZ 90 733.028 null]
 >> endobj
-3114 0 obj <<
-/D [3407 0 R /XYZ 90 639.9386 null]
+3045 0 obj <<
+/D [3354 0 R /XYZ 90 640.528 null]
 >> endobj
-3411 0 obj <<
-/D [3407 0 R /XYZ 90 625.7442 null]
+3358 0 obj <<
+/D [3354 0 R /XYZ 90 626.387 null]
 >> endobj
-3115 0 obj <<
-/D [3407 0 R /XYZ 90 475.6041 null]
+3046 0 obj <<
+/D [3354 0 R /XYZ 90 528.382 null]
 >> endobj
-3413 0 obj <<
-/D [3407 0 R /XYZ 90 461.4097 null]
+3359 0 obj <<
+/D [3354 0 R /XYZ 90 514.241 null]
 >> endobj
-3116 0 obj <<
-/D [3407 0 R /XYZ 90 311.2695 null]
+3088 0 obj <<
+/D [3354 0 R /XYZ 90 416.236 null]
 >> endobj
-3414 0 obj <<
-/D [3407 0 R /XYZ 90 297.0751 null]
+3360 0 obj <<
+/D [3354 0 R /XYZ 90 402.095 null]
 >> endobj
-3117 0 obj <<
-/D [3407 0 R /XYZ 90 89.4414 null]
+3089 0 obj <<
+/D [3354 0 R /XYZ 90 252.839 null]
 >> endobj
-3406 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+3361 0 obj <<
+/D [3354 0 R /XYZ 90 238.697 null]
+>> endobj
+3090 0 obj <<
+/D [3354 0 R /XYZ 90 89.441 null]
+>> endobj
+3353 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3418 0 obj <<
-/Length 2013      
+3365 0 obj <<
+/Length 1607      
 /Filter /FlateDecode
 >>
 stream
-x��ZY���~ׯ�SLQO�� v;6^%yX/\�3"��$�c��T�l�G���ݍ$X`��.vU���פ�
�?27x��B�q9_�fx����fz	�ˮ�׫��wR�
2����ZA$(��U�."�Œ`��7
��8��oG��y�&y����C
������,ޯ�����ΊDJ$$�`�]�w�HO)��2�$����g
-2؉���"�l�X,���jah��۸L���4_
��5
"tD���ξ]��j�)�$�Y?�޽�����
#f��?�
F�:��8e�f;{;�k�N=Q=�
� 얨P����
-b��&4����o
#�+��V�@y>��x^Q�L�B1���Xp��v��h�%���N#^�0�F=�iđ�:�G�;t#p'��Ҋ͗�P�!�%��A*��a����L���Ɗ���f0��Z�Q=���8���<f�1�G-:H#�[� M�sѻl�����ZPЎ�H��lZ�$��O�!I��)�S�kc�6�~˜yl��h��[n�£�J،['�5V.��l��-���-���?�6u�`Y��&mt�x�)�������霏�(���C
-�_�Nhٕױ6�@
֒p!��46EW�yq?�O0E�Q�5`dH+=���r�0qY�⟞v�B4	o��k�B3к���=�b�LK$9�Wԑ
-RTU���/��Xf����x���3�b"8N̚Q���}�_p
}��Y��O��-��QF#i�J�#��ؘ~�b�$��1�M~����_,�Q��

k���O
H/�
(���V,}�
JP�| Ae
8�yZ/�d���������هm�[��4:�>��I)����mBOQ`&e����u�
�
 �v�v{�o���x��4i��<���:���(E�>]
�i��1R��t	��l�B��P��yBA����(
ޞ
�T�XhK��Z?�]2D�-�B�@,(ֈ��W��y�&�
xŅP�f͓ �
�@�
--�з�������d���r��Օ�n]���/�>���52�߽Z��z��LgLW�ۧ��X�[d���jW�A}��
���+�H"d���ɅOy(<C+&���^G.�
����1~r�3�G.� 
���π
-q*x�\��
LH��)�P�t�M���lB�	6�0��h��.�ZeܴN��T����֛��������38��ʳ���r�C� eĘ|�_M>bZ�G����rib0�F=T�z�����6��au�)�:y	�	�o�
��H.��K��&��EZ`nm]���� �
��E��g@���,�V�����>Fj�죧v��Fѩ
/	d,AA����2�}���y@�V/�D-�R�{�˜�]|�o8O�
"�
-�&��J���&��]��,�����ttd�?A[���C.�kd�����?��"�����[K�Qp��r��Jj�����{��BBw�m5��S��Bt*ihBs�Jrb̵��W~S&��⴫���)7qYϬ�f��"��I��71��f�V.�O�Z����N�p#��P�x<m�H�Jgj=� )n&�<卙U�����xvRe1Ķ��˥"~L]:%)p��m��x�d�4��u�� Y�M�+�ڤ&�!�! �c�n�|5]g���=��
-A�(u��š���}ڒu`�:J/��Y�y~B�7�M�9���8뱐w[���T���0���+�1+v���)k�1}�{z��Iݶ���
�c}����3

-*�ŮQp S�ɕ/W
�i8���MǷp�� (��'Ն��U ���Co�F�o�o�]�+O�x���p���N^X��<�		��B1��+?��"կt��)@��%
0�n~��m��mݚ[o�m�q�
�X��B���
�����4���.IS�LS�-���6M���P�X�wP=�Ϲ������e�:�Ug��u�7ey���{~~F����1GYyw<n�v1[A\�P���Ȗ��
w��$���f����ض�Q
-YZ�1�_'Q�;endstream
+x��Y[��F~����R=;wf��R%UoRڸ�C�X���68�w��30��{7N�y1f�ܾs�7vn
��0y��\����HK*������$A�g:o\B����}5%�����jJ���vwQ��׿�7�����g���OW/	�[�H��� �\��jJG(��6~\�9�
+�)���ݑE��g<_�y>�Q���TS7ZoV~U#�G�(��FI C���E'/���`���
�p����;�0�����y(g�
N\W���o<�Y����,b�H�ޢV��x5� ��ۋ�&J�5XƱ�
NF�I��E=�ބ>��j�'� ��(�TY��
�,���
O��~^W�v�*
+�g�
gƄ����†$H����8),t�b��7�ׯw9D�z�U%|��
�o-
������'v��AQZOz'�8��Uޛ8#�CK�Wȡ�����_�Y�X'r5GXɾ�
��#Λ)Eړ��y(]
�
Fo1�I��Vh\")U�!�4�H���]<�*$�&�$Tfw����̨`:��r�

�sȤ"��yg�v�.�p(�����]�2D[SGV���N `G!���h�"��UO���;5������$��N�`z�!�6E
�� ���
+y��7��{��~v�]GI1�- x�uK�N�p���.��)�$�p ��I??	�R�C�S�RE���gQ�{��98t'A���E|���1��fC���4��y͔4) ;y%ѯ.0X?J��[�,�*�<������Ij�� ���ZY����&͊(����J�
4�*��5 ��N�.��J�365c>�M{�{)�u�Ĩl�5خKP�{��E�$��ύ}i���00
�Dh���N�MjE�� ��|�]YY�
�2w!��-u���,*��}��\[���XP�(h9Ƨe���Q
�0����l}�G��^F�C}����(�G� ��1:J`8RX
��	�1D����#T�C�z,��3WS�q/��طٶ�5k)�Gu���x��0��Ffp;��F
�s�
9��D`�c�%
��Y���
+�q���o��}�~��so~�UT���=�x���{�[!�2|
S�HI�	]���
Q�
-� ��
.��)��vE��/E;�'�
��#�2��K��C��}�Q
+
E�=���y�:,Ĭz��0N��
�\���V��J��ZR�-Z���M�W�K��|�U~�a��q+CAH
ʡ-ww��ѝ�b T
�
:��.�	=k�@�@抽��A~kv'���%���J�G6/��mdc@%�^��ۗD�h�y�/���/�җi_����f��8�(j�kX����#
��ȣ���f#ҷ5�S�@�q���7̏�p��u�,O
(��@y��=��	��g��˝(CG5�V_����
��6��!%ޥ��[�6'؏���+�De��H��=�P��P*�W������R����'4������7U���e�������#����B��)����

�%��,�*O4� FP��&�3�z�uYK+��v�?OJ�JSl�JM��b3��zxx at A��I��P\\m6��C\���_xM�/�	g��"͢:�0��
S:�?u���
+endstream
 endobj
-3417 0 obj <<
+3364 0 obj <<
 /Type /Page
-/Contents 3418 0 R
-/Resources 3416 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3397 0 R
-/Annots [ 3424 0 R ]
+/Contents 3365 0 R
+/Resources 3363 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3343 0 R
+/Annots [ 3362 0 R ]
 >> endobj
-3424 0 obj <<
+3362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3419 0 obj <<
-/D [3417 0 R /XYZ 90 757.9346 null]
+3366 0 obj <<
+/D [3364 0 R /XYZ 90 757.935 null]
 >> endobj
-3420 0 obj <<
-/D [3417 0 R /XYZ 90 733.028 null]
+3367 0 obj <<
+/D [3364 0 R /XYZ 90 733.028 null]
 >> endobj
-3118 0 obj <<
-/D [3417 0 R /XYZ 90 583.7989 null]
+3091 0 obj <<
+/D [3364 0 R /XYZ 90 528.165 null]
 >> endobj
-3421 0 obj <<
-/D [3417 0 R /XYZ 90 569.4501 null]
+3368 0 obj <<
+/D [3364 0 R /XYZ 90 513.847 null]
 >> endobj
-3119 0 obj <<
-/D [3417 0 R /XYZ 90 414.7161 null]
+3092 0 obj <<
+/D [3364 0 R /XYZ 90 359.634 null]
 >> endobj
-3422 0 obj <<
-/D [3417 0 R /XYZ 90 400.3674 null]
+3369 0 obj <<
+/D [3364 0 R /XYZ 90 345.316 null]
 >> endobj
-3120 0 obj <<
-/D [3417 0 R /XYZ 90 189.305 null]
+3093 0 obj <<
+/D [3364 0 R /XYZ 90 191.103 null]
 >> endobj
-3423 0 obj <<
-/D [3417 0 R /XYZ 90 174.9563 null]
+3370 0 obj <<
+/D [3364 0 R /XYZ 90 176.785 null]
 >> endobj
-3416 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+3363 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3427 0 obj <<
-/Length 1704      
+3374 0 obj <<
+/Length 1375      
 /Filter /FlateDecode
 >>
 stream
-x��ZKo�F��W��J�w��B�C��h�i���#�6Q�R):N�}��\.�E
4���>)�R����S-5�\��z7��[�����
��h<[M�^*9��*�����
-
-�d����� �PJg��@gA�
�_�����M\�
}H���r�l�i�~���%@cEP�H%"��.7i9J��ŏ�?
�0�������<���|�$������a�a~��&L�`fa��K��3٢��*\E4%W�����t�����P­��<��e��D0^�l'o&�V��7N��J�`�|��@4��ie$�`4�*�
9�g,���f��������!���q��#PF4gl�\�t�QY�QX�ʅ&��W�`
��r�sAg�m�����]�=P�%1".P5�ҪF�V�p�8
��������C��Dt��kFS0��EM�����ܬȳ�ۤw�1�icPDP(l�x�X1��6k�"�eX�HR�&�
1��(^�w� �>lC��65�"� Ş,[�p ���~4�
<��y��D�����J��ZS���66'	������>��k^�I�P�^<���:�IhZ{���a
-��2'
�#�׋�
Sa81�=
̃�N�Qzw�ƆM� �ӂ��QIO������7������79�vCZI,�x�GVC��R���U�@
�2no�x��{G�b�)B9�/�.j��cQ��]q��$D߯1D��9\-�!�^M��jImGss��S��#��1��d �e���%� ~zoZ
ӻ��b��A-� -
Ż x(���M�Y�����`�{��{m'��z]
SY
-��c�ɏn�I�B2!�
>�:w
���I�	�\�-�.羼uQ
�4�L������-�-0O]�����#qƘY�Kq�-qf_��	�3k��mr�nmn�v��BeԶ��[F�ʼn�����e@
�Er\�K�-B�
Ԟn8[�����b!���>oZ
�9�*���/�b ����9�2�3��bM 
��_Y��v��jm���QC�*��DQ>����'uL)��p\���|(m�@1����2)�F���
���<u)������*��-
��U�j�U}
�[f�$�qdQ��VH2�dߜ�c>hƻ�;�N����X��P��
ߴfx���D��	���=$n����i�/g[��+��ێ:K�da�nW���X�̲��ƌ%�a5�<��J�����ܗ�.��ĕf�ɳ7"�<��������8�\���ئt6Ƹ�Y���̤�8�KJ=�C�f��ٚ���cj���Z���5���>�J�'���[�o%�8Q�e[��Wr#�=s2J���֧�>���1Y eoW�~w�p�3L֎}�)AW,�
�!��<�� #���>v�9�l�k	�5D�1��y�t��V�T��&�_��. 
��!q�}eV�=C3
�������N�*]��-����g���|s�2d�w��T6�<��2�̘�E��ړ�.wK����Z��H�z�D�����
-���W݀ʟ_/�m��'-�`�m�Q6�e�~�i�h���<InqZjn~Zo~�̟|;�rV<+�����ֳ��R�T?#T���/8Rٛ0솆�l��P~��iy�S�����ȻP7v�[7��]�
�WWd}$�qtHH�^
۫..�5��֗�Ee��Ҋ<7�h�CaKET�}YMQ�wn~:}j�C�,S��endstream
+x��[o�D���+��D&s��"�î���B<t�ʍ��El�i���c�ع�q
�EZ�R=�3���x���a��ћ�hr!���Tx�{OcO
+�8%�,��}BP�	�ؿ
��"�n/��|��0q����Q�4���?7���
Bv4!!��(�֊�-J0�����{�P���wG�0�J�]Fe�)��,��7�jU���j�M�lS�p��j��w��_#j�G�hp�$��<
]�`/���
FL+o�H�^H�_zW�_F�E����'�
+D ,���>�ͪJ�6F
j�\h��BkoL`�s�����4ɂ���2�o��a����S8��x7�
iچl�(�r�cƙ���(�]��������KŮ}!ҪS[-����-M%
+)o��,��C$Ҙ�2�^=P�����'�{	
'�<OWQ��-�7�R*?/�c	r�j��ɳ*J��.��ޘ�Q�l
��e$��-��7�d����+�,��C��F��
���*/*�᝛�N�
t]��)��W{�|��y$�i�C���,�
�C��Wx����<kL��B�Ӧ��ZD���Gn���(�bcg@��0�/��Q]N�+���ˀ���ܔ��z�L,�Z����Ƚ,L�.�yMR`��
fz<h�M4A���|�ѽi����x>���k
u.	��PD�܂1���o��9j6X�vM[=�L�v.��ʺN� n
+y��ڽ<����S0�C1�Sԫ��
+�!j���pL�v+ ���܎]+��>��&���ʐO�4׮0�͜
�=x��]��\@x�e�c"`��-f9�k��8{�d�$37=
F���4A�7��� %;�=_M�I���U
+E�*�*
מ��qȓ<a+!/m%
�-��HB=�?��5W���)����t'(G�Z�7�v�}
q�
+�;�~]�ܿoص�zo��*DHh]��3=i4[`�I�"&�9�C@��
'
���'Wws�h��{��<%Ih�^ʓ/�?�� ��'�|��o��JH� ���'[t�=���>�)�3f��w>&}G0��9��u��a��O���/� KG~�*�𗃇f�o5@��?@?�z֯&?9���ߐ�hy�ױ_!��c��g?���ώ�{��ѿ����ȫ�߭=&���|'|����	?
@~k{�	 M
=�
+�$=='�1Ru,�[(�s����(�M��C�^�����Q���/�?�/�dNA}�Ëc8nh�N�7n����d���s�8�鲾����-{��������}w��9���m���c�
+��^��$F�V�!�&
+� ��+c��ֽ?����Q���i��6Y��ZM'��f��%Zgɪ@I5Y���煴�_���*�"��|$L�Q]�ϒ�7 �"�
+endstream
 endobj
-3426 0 obj <<
+3373 0 obj <<
 /Type /Page
-/Contents 3427 0 R
-/Resources 3425 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3397 0 R
-/Annots [ 3433 0 R ]
+/Contents 3374 0 R
+/Resources 3372 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3343 0 R
+/Annots [ 3371 0 R ]
 >> endobj
-3433 0 obj <<
+3371 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3428 0 obj <<
-/D [3426 0 R /XYZ 90 757.9346 null]
->> endobj
-3121 0 obj <<
-/D [3426 0 R /XYZ 90 696.6764 null]
->> endobj
-3429 0 obj <<
-/D [3426 0 R /XYZ 90 682.5719 null]
+3375 0 obj <<
+/D [3373 0 R /XYZ 90 757.935 null]
 >> endobj
-3170 0 obj <<
-/D [3426 0 R /XYZ 90 547.8863 null]
+3094 0 obj <<
+/D [3373 0 R /XYZ 90 624.575 null]
 >> endobj
-3430 0 obj <<
-/D [3426 0 R /XYZ 90 533.7817 null]
+3376 0 obj <<
+/D [3373 0 R /XYZ 90 610.004 null]
 >> endobj
-3171 0 obj <<
-/D [3426 0 R /XYZ 90 395.0714 null]
+3095 0 obj <<
+/D [3373 0 R /XYZ 90 467.557 null]
 >> endobj
-3431 0 obj <<
-/D [3426 0 R /XYZ 90 380.9668 null]
+3377 0 obj <<
+/D [3373 0 R /XYZ 90 452.987 null]
 >> endobj
-3172 0 obj <<
-/D [3426 0 R /XYZ 90 242.2564 null]
+3096 0 obj <<
+/D [3373 0 R /XYZ 90 310.539 null]
 >> endobj
-3432 0 obj <<
-/D [3426 0 R /XYZ 90 228.1518 null]
+3378 0 obj <<
+/D [3373 0 R /XYZ 90 295.969 null]
 >> endobj
-3173 0 obj <<
-/D [3426 0 R /XYZ 90 89.4414 null]
+3097 0 obj <<
+/D [3373 0 R /XYZ 90 149.497 null]
 >> endobj
-3425 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+3372 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3436 0 obj <<
-/Length 2095      
+3384 0 obj <<
+/Length 1446      
 /Filter /FlateDecode
 >>
 stream
-x��Z�n�F}�W評�p<�bڠ)�i��%
Z�m���t
�}8�T
��C ɫ�û�33"s
����
-��|����
��qF��<�߯f/��d$����qI����W�w
B_c�x�$xf�p�rI�"�=�F�,\�_ea�py�}�q�~���
BZ#)���;�7��3)��2S[��z���
�M��
��.��e@^���.��aQy�Ut
eK�Q��[�� ��Ag?�wU�L묿g�������
#f����F�:��8e��n�z�{3N���_Pa�D�2��`MTCTT�)����M��ad��
-)�UeP<
�$�
�B!aH�&b�H3��8i�-�|l	���O�֬�i������pL��ހׁ��<`R ���	#9o�$/�0N�*���o��ϛ���9Ĭ��U	¨��(��5�M��5
P��T6�8iJDe�.Nvq�/
m�P��D���P��
o�b���C�
��3��Hp�;�		G����:ͺ�ׇ̺~)�M�&彴��:���
--M��<�82�ԙ[��>dPh��:EP�+h��2�
R
���(h[��Z8a,��f���Xae�ew~�)R�/�
�ƺ��M8
yO�8�z��3;��f���~c՟�M�1�YW��V��߫��.���3���&�hL&�ٲ�&+V��>n���z,����"�E1����ȋ��%�*Nj�.ޮ���n�����F�RҨG�>��0C��g��6K�T,��=�)b�S�l��%�&�0��ڤDZIu~�
-�*�181��q�I�Ȳ�]�<�:�|f4�
^��R���T.�0�s�&�\i�gr�s�\60���u��o�q��%Mo8�8��j�5��V2�Y
B,=���\Aw��f�W���"g����T�\f�sH��"��� �e�n)
�:%�
F!y�܏�le7�ͫvQ��A�
����X5K"�
-�,�j��c��b���
�B�t��h�a����^{��
���i�����m��,�Ѧ�B���Ch�P��6�K�Gp�M'��vy�$Գ%���%N|����)j4w���;�)(�N�?�1G�ħDWx
VH�4۶�Yn�o��OM> #T�C��Ƭ@g�Z猾c՟������i�T���N��+Ut�v
)u��v8~��s3���H�X�E�o��u1
D�6{�H��I$���E�fH$���$뀬�եWR:I�T����P���f�,��ʉA�7�('��r��(��vG[D���Q1��a
T4�O�W��iH������
�%������T
i,�4GB1gґk2��*�������)K +
ROc�F8(%��\
������'Yv��;�z��X��ƪCr��GEy�
�V
�>kZ�AD��d��t�|�>�!
-ap�ܓ�~e3���gU�=i5gC��j��F߭�#��S��ϓh

�
�߶�xsj�>m_�`��{H�Dߘ�t��9�r��U�[���p�I�խѦ�VpTb�jB�����K5Xqz���M>�

-h��i�Q��4\�_�9`\
�7���i6���8BO
�P����j?�Iu��A��:�!�wsh���	��ǵ��.	!�M��=z<x�� ЇJI�H����+&R�#x�ފ�y
��M)��.Y�O?�A
^1L�F�]��O&�uO
I��
�bDRZ���$x
�zX1$��#��N�ph�TK�
�!���Rd	�׺dx��� |k�ɿ{2�=n�v�߃g
�^C~�~&�p!ܳ����G����?�@����
Y�*�
-���KH7.� v'H�)MGF��m���0���_�%9��}���~����Ǒ��GN���'}��t˗E8J�O8���LF��]0�D�0
�B~�/h�?\�S�8�T	��t�
����_��e�겦�����M
e_/�XT=�0�
w�~��
�i �V���z
�d
-UaE����_���/�Uy������U�m{��w�-�������=���.�����aw���l�se�4F=,�癖vM�
,�q�>͚�
-7��Sx[k
(� j2-�endstream
+x��Y�n�F}�W𩥀j����!A4M7V��-�2Q�dIʊ����]�.��(�d�
��9gg�����������d�AFR�o
�
%	�8�s��x@0��E�`�K���O�-
��Y�M>7��<�Fo������B+)��
��,�&7imJ0���o�
�P0��ͯ{a��x��Ҵ?��㾡���^��O���~�'���)<2Dh�Pc����X;d��PH1�L���k����'#f���X-
N�]8��?{� ��!,E�,b�soV���C�!>�*��!�Co	�	���0��
ē!.Tiqo��|�'�����R���#� 6D��h����4�'k�
�fH�
 F9Y��d��deK�(�oX`x�f��w��'�)�-�S�����(Zz2���!�*؋6ͅ�IMIit�� �sC���(ŠA\
+2���J����;AaǶF ��~kG�L^wo��%��
�/�>U�Y��
]ś��;3d*��޲�� 
��p�P���>��$
�^��i��h��]
a�Z�4�h��TV>���_�vS�R����6�K?��lёv��O�8
����{#�f�T	�f/���3��2���'Q�
+w
5w�Q
�"VC������
g]}%�V����K��>DA8����7
u4��R���� b#��-��/�����C%,Y��
=eu�j��k>��|���Q������f���x# Q���J � ��m��|�a���[���|���i�{�YP������8UȂ���/}��M�Kl���.qY�T�I�pʼn�/\�RM�,
+;�� �0%N�rz>�� "�Ye�6 �K��C�KZ؝ ��>�F��WQx�(
�')�HI䊠ۊ ^Ῠ�I8:
�Qz��ٮa ΋Ɯm �€y�0Ў�s�	���owAF���ޚ�	H��?xV��K�^dZ8<,4���估P�H��׉�
�4��Hڄt��%�B��J��Q�P]Jk>G)j�}st׽J��c�bV�T�g[GV��{F/	<He�sҼ
+����\�4Hr��s�;��Uf�
xk o@{ۙ̋k�/{���`�'�}�
fI`�����ٴ�e�Վ�)p�9��
+�������$~�Ӭ'����g�u���N�B�A
���v+dXU0����i0�p^�Xz�Z���2`�C�v�燌?i��̮�9��=���R�˃�W�:X,�Ԯ�G�?�kg�%e��پ�
+�B�yǀ�nZ�Q���]{�s�w��V��3�����f����P!�V�]X�rS|-�&�Z�N����}!��?�p�-�S��]
+ڤ�#��ĉO�%k��t闤����S~����v�b�H
�]�ţ�p�^�i�Va'(Ȇq��W�
+���V������F��e����/���}
+endstream
 endobj
-3435 0 obj <<
+3383 0 obj <<
 /Type /Page
-/Contents 3436 0 R
-/Resources 3434 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3397 0 R
-/Annots [ 3440 0 R 3442 0 R 3443 0 R 3445 0 R ]
->> endobj
-3440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4002 529.2902 212.1242 540.1941]
-/Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
+/Contents 3384 0 R
+/Resources 3382 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3343 0 R
+/Annots [ 3379 0 R 3381 0 R ]
 >> endobj
-3442 0 obj <<
+3379 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.5732 358.295 216.2973 369.1989]
+/Rect [149.4 207.205 212.124 218.109]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-3443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 257.0341 483.2121 288.0028]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-3445 0 obj <<
+3381 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3437 0 obj <<
-/D [3435 0 R /XYZ 90 757.9346 null]
+3385 0 obj <<
+/D [3383 0 R /XYZ 90 757.935 null]
 >> endobj
-3438 0 obj <<
-/D [3435 0 R /XYZ 90 733.028 null]
+3386 0 obj <<
+/D [3383 0 R /XYZ 90 733.028 null]
 >> endobj
-3174 0 obj <<
-/D [3435 0 R /XYZ 90 592.0607 null]
+3098 0 obj <<
+/D [3383 0 R /XYZ 90 592.061 null]
 >> endobj
-3439 0 obj <<
-/D [3435 0 R /XYZ 90 577.4904 null]
+3387 0 obj <<
+/D [3383 0 R /XYZ 90 577.49 null]
 >> endobj
-3175 0 obj <<
-/D [3435 0 R /XYZ 90 421.0654 null]
+3099 0 obj <<
+/D [3383 0 R /XYZ 90 431.018 null]
 >> endobj
-3441 0 obj <<
-/D [3435 0 R /XYZ 90 406.4951 null]
+3388 0 obj <<
+/D [3383 0 R /XYZ 90 416.448 null]
 >> endobj
-3176 0 obj <<
-/D [3435 0 R /XYZ 90 236.9594 null]
+3100 0 obj <<
+/D [3383 0 R /XYZ 90 269.976 null]
 >> endobj
-3444 0 obj <<
-/D [3435 0 R /XYZ 90 222.3891 null]
+3389 0 obj <<
+/D [3383 0 R /XYZ 90 255.405 null]
 >> endobj
-3177 0 obj <<
-/D [3435 0 R /XYZ 90 118.7714 null]
+3101 0 obj <<
+/D [3383 0 R /XYZ 90 98.98 null]
 >> endobj
-3434 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+3382 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3448 0 obj <<
-/Length 2432      
+3395 0 obj <<
+/Length 1687      
 /Filter /FlateDecode
 >>
 stream
-x��ZY���~�_��D���� bc
���'~�,�D��H������&�
�ؤ�Z�a��>,9*vU��}�$�`�G&O�P�0.'��
�<���qC������+�����7RL
2���ݦZA$(�����)!���c<}?#x�h�~F�4۾>��<Z����Q��X|���>�}w�
!���HH����_jO)��2�$���9�
�D�vr���QQ��T�����i��o�2���c�����8]��
zJ��޼�k��xS0I���w��#������`Č�g���C'�N�����t�v����PPa�D�2��`mTC�4�)���~� h�B�k����8�v�!�@(�ݥ�c� �8�ēM�,Y�k^�Fi��XUZO��`JFl�ܱX
��8_�d�4E3�C
����z	��<�u��
��Ң�ov�"��_�0�PK�K(m�!��58�$vK��H#�B��ĭ�!I�I��Ή��`���z�}����-��A�Y��
30
����PQM:?&E�*Ǥ�i�B������
�V]@ �(I��1���$k�m�ڔ�
��u��u��i%�Co��R.<��i�0���
��a�pB�T�]i�`���)h���w/�x_�NJűn�)R
�2��gD+ݷ�(���	o�Z3�r�X$���S�M�n��.N˞QF#i{�GZ�� [...]
� ����Am$�l[��hf;�f��ShF�WB3�C�e�Y�/Ѫ�X�FI��j䗀5v��3`��(V�����f6g�԰a/�ԗ���� ����J_!���}��l�Q��
��H�S
ψ��
��+>MJ�w��^gR�l3��	1!�iq���,�C|r!��<.9��j1͟�"h�3��$���&�!}
��Ҳ��V��7���D[�1��]�a�
��4Y{Z����uϊ0Z�b����G�кgL�=c~G�c�&_��T� 9��� 6p�K��]�b�ƶL�8�u��Sʜ���d�9�h�[
-$�P>t���3��@m�Ӕ_6��+ Up�`��O�GK��i�_�`)O
���T��8Tu���
-R��.T���@Uϊ0T�b�AըGޠ�gL�<c~��c��_�`�CP��5���>��K���0�ej��{
-::Ȑv�D)ݢT��W��k�O�,�
��ӡH҇�=O�_�
L���1�7W`/D�W����+�&�S�X��Q��)��"S
�UC����ȏ��ֈϻ����[����q9��q�O��,��>�]E��0GH�#�:n+u�.j"0{v���Jʮ���|�7~����L'�ե=���|�7{fHW�>R�t
d!�yw��
mgJ�%<i�(�A�Z��6��%�*��؞����x�:�b�pP��	���+5L8�)x�l�R>B8zV�	G+v�����&
�1]¡�
�����r��/��|��g���Ό��*�a
/�}��
^=�aR�,�E�8I����0�~��+̀+��+�KN��
�����v��
ְ䥌: 'j�5��4l91H"ϟ���ŋ4^&��!vS5�f��
��&?�o�<�l2�� DP��H�)���
a�6(��6��a1��?ʗ�^���_Uǃ�
-��N��Tl
��б�^�(�:����h�2���X,*S��������	��h
��.I�2
Y ����9)�
�99����MRۘ���A�E� K�$�\�z���0�bf���W��Қ����q?��*$0$���r�����[��ՑD],��ۊ�8S����M��:a�~���X ��k{����w4ƽ����!mx���E�}E@�͓u��
���v:����X�R����(��J�N�ԯc,C.Z�dIbE��[��ۆ׀�@ku��\6�ˡ��-'R����
�P���q*ו�r��JUӖ� -�
�s!F�\ϒ0�k�:Yᩧ���A���j���C�{j�
��r؝�V�??&�ǣo_��P�@�9����y�������ͱ
�1�:�n&��u����z}�2������z6V�W�t?͗�^3	�ݸ�:R#>sR���t�D	�E��vB=ݾߠ�����ݺ�k�e�{;[ʪy-�6�U�����G�J��	�m٭���@ [...]
-�����L,�~�W��ǻR۱�;����L7_�:#<G��N�ļ�u̼�m�y}��"��8b��?���f��d��N�:LŵG�
��S�' SX�;����w�}�$��'�~�:��k��X�������3Z�&�
%��~��=��Y��ʌn�
-�l�<π9���=[6.owY�
g�w�U/����}S�����endstream
+x��ZYo�F~ׯ�SK�z�C(
+4E$m�4Q��-�6[�TIʊ�}g�<D��dGN�"�/������
+{W
�^�Mg/$�
2�Jor��)I��ě̽s�ć#�1��
	��tL�
)����u8O��o�E�����������
B�8)��
�+��HZ��hM�j�
\����	3�/� ˆ#*�?���"�C��mx�C��0��+C��	Ö���d�π ��B!ń7[�?bo�_{1��MA��8e���1����
a)�"��*͛W"�U^�a}y�{~�
+�`i��|�=%G\��dJW7��I4w<
+®́P`�
��Y��-s���x��Y�Ql���q��8���!���
��6l�4
+.a6}���s���Z	#k�'Ӌp��g8�QK�`g\�MJ�m� ���":��p���"
:c
�$$�K�d�Z�!���ϯ����N���r��gC"�[�b�F0�� �����
낒�ɥ���\�Z5*a֡GF���Q֡
�e��(�v�a�
+g���6O��Y�+���*���ͣeg�M�!�I������	"b'R:|ے_Y_����

���*��+�X�m��zQ�t׮�#��f%��ʐ�iP˯;�9��ZH�� �+�Q&= K
�ٸ���O+1�F���4‚�f���̆ ��ԚTF˪t��.^8_�e����AI��
��(I[b�[� 2a.K�('��O�pe��~�0M(e�|<X�ؿ	�|�Wk�?�5� G��(i2���
++?�JNN�8EfJ(M��
k��"��r���>s�kWI\�r.S�xd	�	!��P���/���e*�
+��ۙ
+��]��v�����B,U;��p��
�ۨ�GDj�1`
�.���=�T繁�G����i�A�-�χ�{Š��S��i��#����`ytՏb�S �S��.
+v
+�
�tH�`���)�֚��� ��mn;X����J�cZ	�->�;��
�e=U�sp;��RV��x����b(�;E�lI��.�J��
���
�tCp��
+Ĩ~���/L�'cx
�^�.A���
+U'�SB��|��p�.�%
+#bt/��-(i ܲ|��N�f����
H0����Z�iӂS�|�/�u< �C�-�
�7\���ATg����>�����l,`�.�vN+e�vwZZ���o�7�@Y
�Y�[�
+* ÏZpO��Ph@�"I��g��!����[�{r��F���S0��S8��/t*��u��
H1 at R�����q�`�.
+�eai��D\�O��+Ĵ<��
+iI��� .����;��6@~�g��(��u��
��Բ��Ɓ5������S�G�<]�
V钆�:]JUpi����c��W1�>2�
Y�v�n��GYuz��/m
�M�H	@ ��Vٞpe#�z
��_G	~�:��u
�
^�0����֮�����Gu�G�[��u��I����
p��a�?����nOɪ�/�T�p��p��j�;�H
U��c
1�ٷ�����?\��2D�����
+ �������AB𝫷7���`[>Vh�
K�ufa��P�L�߃x
,4���´�����ViH�E=
 �����q���U�_���)��F��<_���6�
�eh
G�E��j�8�F
B�/�a�2I�t�$���岸
���~��
+endstream
 endobj
-3447 0 obj <<
+3394 0 obj <<
 /Type /Page
-/Contents 3448 0 R
-/Resources 3446 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3458 0 R
-/Annots [ 3454 0 R 3456 0 R 3457 0 R ]
+/Contents 3395 0 R
+/Resources 3393 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3402 0 R
+/Annots [ 3380 0 R 3390 0 R 3392 0 R ]
 >> endobj
-3454 0 obj <<
+3380 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.2748 328.874 293.9708 339.7779]
+/Rect [153.573 690.333 216.297 701.237]
 /Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+/A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-3456 0 obj <<
+3390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.2694 175.8398 238.0203 186.7437]
+/Rect [448.024 589.176 483.212 620.144]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3457 0 obj <<
+3392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3449 0 obj <<
-/D [3447 0 R /XYZ 90 757.9346 null]
+3396 0 obj <<
+/D [3394 0 R /XYZ 90 757.935 null]
 >> endobj
-3450 0 obj <<
-/D [3447 0 R /XYZ 90 733.028 null]
+3397 0 obj <<
+/D [3394 0 R /XYZ 90 733.028 null]
 >> endobj
-3178 0 obj <<
-/D [3447 0 R /XYZ 90 635.9203 null]
+3102 0 obj <<
+/D [3394 0 R /XYZ 90 569.153 null]
 >> endobj
-3451 0 obj <<
-/D [3447 0 R /XYZ 90 621.3642 null]
+3398 0 obj <<
+/D [3394 0 R /XYZ 90 554.592 null]
 >> endobj
-3179 0 obj <<
-/D [3447 0 R /XYZ 90 508.7989 null]
+3103 0 obj <<
+/D [3394 0 R /XYZ 90 451.078 null]
 >> endobj
-3452 0 obj <<
-/D [3447 0 R /XYZ 90 494.2428 null]
+3399 0 obj <<
+/D [3394 0 R /XYZ 90 436.517 null]
 >> endobj
-3180 0 obj <<
-/D [3447 0 R /XYZ 90 391.6302 null]
+3104 0 obj <<
+/D [3394 0 R /XYZ 90 333.85 null]
 >> endobj
-3453 0 obj <<
-/D [3447 0 R /XYZ 90 377.0741 null]
+3400 0 obj <<
+/D [3394 0 R /XYZ 90 319.289 null]
 >> endobj
-3181 0 obj <<
-/D [3447 0 R /XYZ 90 250.5512 null]
+3162 0 obj <<
+/D [3394 0 R /XYZ 90 206.669 null]
 >> endobj
-3455 0 obj <<
-/D [3447 0 R /XYZ 90 235.9951 null]
+3401 0 obj <<
+/D [3394 0 R /XYZ 90 192.108 null]
 >> endobj
-3446 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
-/ProcSet [ /PDF /Text ]
+3163 0 obj <<
+/D [3394 0 R /XYZ 90 89.441 null]
 >> endobj
-3461 0 obj <<
-/Length 2726      
+3393 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3409 0 obj <<
+/Length 2271      
 /Filter /FlateDecode
 >>
 stream
-x��[[o��~���S+�x��t�b�[ M�}�#QQ�R)ڎ���
�Cq�!%_ȃ���9g�9�O4�`�G&O�P�0.'������\���9|?o
|w}q�����rr��V�	J��z�iJ�9�O���&�6�y?�x��<��e����})����������. ��"�	�9X`��	��(3^���_"�P��^�o'�~�
�9xz=3t�n���Lݕ�*-fDO�|�
zJ��^��n��L
��.>}Ɠ%���F�h1y�c�d{�)�6/�ݬ㾨n�

-�p ���\��0Q)-&Z��a	H����i�0fj��DD2]����"ݗ�.?\u�H0E�Q:i/���h��V��B�0q\՚q(�WWY>�xz�l��MR��mӼ�e4��u4�K��4�
�$���1��b7�b����
�;[�>���	�k�Z��n��I�+�l�F�8�E��[����;2�{���ê�9���) 7�F�Z(ɗN�A�S�N�Wp�خ��9�r
��TV���e�u O��{&s��4p!\����n�O��˦�8�{�ݽbHk��}�;FE���]-ߕ�M�^�dQ+l
���b`Aʐ��W@�!C�B��4��KA(�-3H�r�^C�����~� hI�s\{'*�i�l��@NU)A�XR�F+�н� �l��|v=`�`=V��!�

1=@��*Y���<��
xR)d�{W�mr
�1�
�b��$)���s�)�vҊ�]��n��
�i6W
-O��K���,O�����Z��9���}P������BvR���J�ߥ�
��MY$Yy���L�q�ە1�Zb���6�F�����j4I�u']�Aj�J{w�k$�40���ʜٻ<���I� H�u#� M���>e���s$��D*8:e�B�Bc��;
�mi�3-w��b�'�9�����X���j�H �Pd0���Uq[�|h�M/?o�Я��u�R��U�Œ�����c��dǮNo�NXC�F�Z3��!74���"��
r�/!6܉�뽯��E�>m��>�o݇{�S�4BP|d��@�#�ؚQ[��h��e5YMc
f�tF���O,�V���ޚ.݅/�+
4@��jL$��ۗ���H+��k��!DS�Q׭|#,�����n�-5�-
e���n��kP;˴�c�t�=K�
s#��@=�Bƴ�����
c�
-d�N�j��u�pu���}}Xg�u}�K���^�9�o�w_eVޕ���h�9� ���
�[Rc��RmO��X�)�B=�!�
��JXs�z���}s�4 G�%�� k��!��"A����a���{���;H TK�o�k��<��5�B쪩8���U�O=�:/�ʵ׺���ݦl����@l�1����yt �&W��Frx�gN�$�|�7zV�}�{�d?��q����c�&����ۙ���8�I��|l`�B���vg����E�;�[(�1#[	�ƍ��J at g8?cʿMs����r����4��9Ӽ-S:Ҙ���M?�p��7�_v�!��1�H7��m
!M������[ _�؂9�&����棬;*�X!�'��m`��r�p_��g1�
f�Ut=�� �r��BD�Bn�6�H�����n�F���J/ի�{%�
-m
�e�{�P��A/�
����E#?o��o
��Z�Z��Y�i+�]w
嶛�0
��v��R}�tYM
�
���	9����0e�_o
�a/�¹��L����yK
͈T�K'�Z+R�
q·�!}�d���P�0;�G0f
���6o���׬ jxԬ5J� m@����Lc�D�V�
q&D��
G	��� |PT
�i+�և�
k�e8�`�
5����E�rm�+
n&�Vj9J�&�4�D
-F��p�����Cc�B�_HG������3
>�O LHԀ�A�gI|i�N&��?&=�q�$P�
��tU7�k�ƻCϖ�tJov
�Tt��.5�0h�� \[ ��� �b��D
#�f/���!OlM;���Bj
�撝¢%6��;I"��mX���8��=�G*����;>�f�������F at m�Υ���74SO}�f
-�W��B��^�����K��ڷ]�Ρk߅��+]�^
Y�꾀��W\g�:�PnJ�B)�?b>���
�WC�hUhK
W*@�R��RS1�c�Եb�����QD��TϘ85�FM�QS�5%ߨ��SS�E�T�y"�b�G��g1TR�s����'TvqOP���
]l�u�&
��C.0W�%yc�^�VI
-��
=�Yb��204��HW�$��l�U�<=R}��L����
��L�ae�6�U���(a%a '0�n�"�+/?o�!�z��+kY�Q:�+}!����._U
��
�*
��MǶ��U�rGF��WA�2������������*�<��{ �e��_q�^�GX5z��A��R��~�"�L1�y��y��
��W�`z����ZB�� �a�I�TD��ҵ#>�x�S���֏�TWg��j��6�(�'��`�_�1l��p_��_�H
��Ƨ�G#d��aܶ��G�G��u3�>���	1�c�_I~����.>�D����
��~L��FBM� ��'��?[�I��;\$�~w]��uY�./

����l_�����7��
-g�+3vp�F�gK�<��G�ȶ-+?�mwE}Y��
�r���#���ϖ�endstream
+x��Z[o�~���SWj�wRn�@w1��K�ٙt_�C��D�-������{(�F[R��i��>
2��s���hb����w�o�'W�%�H*��`OI�%�������tF0���)�~�m�Ň)�~�9�E�,\��dav�ϿI�_��zOHG"�	�A_)��v���`D��_��#��ܬ�z@
��n�<����4�~��m�"�O>F�(��G�
Dh�0b�N�]O�5! {��PH1�-���_����?x�@{媭�)������	
�,eK�z1�h�ޢ6�t�l̃`#o�^
vQnag
�J�(a��$ S�+n�tc�8
`�L����q `
!cvW�z�|����x}X��Zo��›��@T���qr�X�I=
Ȝ�6���,0<�
�q`oL�U�o��59�,��]w�ҍ�C��x+vG�5�
����?��&N�/v����3�����
+I�[��������ԾG
#�Z+0뱂�@7Fwq�c ��f;aY��t�۪�?~7�>��l����(��{������@�a�I%�Vq�b����m�G6A��DS�qqgMKwѲp��H�y
nG�@�jJ
+�� �_�Ŝ#ڊZ��<��(���W�ymh�ϒh�G�H9l3J�b"�IN��׶�b(�,�
��'UˆVX
�R���p
��
HHB��J���e�3��j+­�����//V�y�L9���M�Z���~%ő-�cpt��,�R�?����N�P�@[nJ Y�W"��X�h���Y�U
�����8Y��
T��&B=m�"eB�	�
��8��3��`hƁf5�O�sͬ�7�-�WV�K�
d<'�c�(}b�A:�6��~��y�6
,��6�����/p��̳_
 
+�8�X��HLA��a�7�j
e/��1ɰ��yf�w�;
��,q�y�Ԣ���J^d^�ѩ�C�#�ߦQ��e
�(�0.���4eauw�^�j��l*c%�6N�"�3@�Z��3H~���ױ�0M"���u�;A����y5���tf0
+��3`öɿf:+�۰��?8��1��4M��ּ&���|�;�5CD��۽OV�B�]w�a�}R�-�i�v%�0��&��r�'8�\���k dnz���8�B�ɣR��D����̀5��;��>�9��Ì�
�-�W��r�I���-T��� ���_ul
+V<o�k�5ԉ�Рw��u�e���OL��߇�xyW=�W��^"��`�h��h��#����*�f���n�6|�rv���NV�����<��
��:�
�Ɛ���E;�{�o����%z
7�{���
����u�q�M�́;�@L�
�c%a���8��E�n+�"�V7 N�����55婂�ܠ"h�����4� 8�G�B0u�	�x�X���-S ��谡
��t�\���
#�ļ�]V_��$�3���<�M��8�`$5�Ea����~��a�t�����A�!��0̣Q
N��=���|�)`�GO�
�'I �T��P'�6��J\i�U`ނ2���
6��ŵ-�<6�n�hb�U/�``s{�t.�0J_�&$F���%V����Ni��Q
nf�
��{��&
���0�A����
Q
؟����y
��0
x ��d���-/my�1H���1H�c�38tn�$� -�/)FWyŀ����
�
�<�b��(���7y��,�A^�2��e�tH<�e��S��_�2ȅHF;}~go�2��"�����X�xC�A$�P= ���>�n��NYF)�4�8b��jGi�吋�r�d�6J��o�_#h�3��9�� m���*�?F��W�ŧ��&�
��,��m���c�5g�=
q�����(tF�w��F�
����EH�9��ܞ
���	�٨��� � =�H^�v�;)UV�n���EJ��0hm/Xؿc�J�w�־qwJ���KWﵓ�
������~]��y���9K�P��iBihd��*4N�_ٵ�#����
?�Υ/,��`3���/V�.{������XI
+�K��/�wZ�g�d]�� f���;�oL�Fu{������v���A�M0�X�
ӢZ��QvgnDuhr����I ~�ϯ.�=��'5�w}�E�2����?��
F73��XQ��������(�j*�_��oa��A��j�F��k��	��,Nr��OQ]jv{�����8)
�IZ��]Q��WWh��}�2W����vwj�ph���	nӬ���e�O��o"]v�
+endstream
 endobj
-3460 0 obj <<
+3408 0 obj <<
 /Type /Page
-/Contents 3461 0 R
-/Resources 3459 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3458 0 R
-/Annots [ 3464 0 R 3466 0 R 3468 0 R 3469 0 R ]
+/Contents 3409 0 R
+/Resources 3407 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3402 0 R
+/Annots [ 3391 0 R 3403 0 R 3404 0 R 3405 0 R 3406 0 R ]
 >> endobj
-3464 0 obj <<
+3391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.275 690.333 293.971 701.237]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+3403 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.0888 609.7498 246.7668 620.6537]
+/Rect [185.269 550.53 238.02 561.434]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-3466 0 obj <<
+3404 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.8986 387.5799 431.9768 400.4977]
+/Rect [182.089 324.387 246.767 335.291]
 /Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-3468 0 obj <<
+3405 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.6167 141.2393 476.6033 152.8784]
+/Rect [325.899 96.965 431.977 109.883]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-3469 0 obj <<
+3406 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3462 0 obj <<
-/D [3460 0 R /XYZ 90 757.9346 null]
+3410 0 obj <<
+/D [3408 0 R /XYZ 90 757.935 null]
 >> endobj
-3182 0 obj <<
-/D [3460 0 R /XYZ 90 684.1182 null]
+3411 0 obj <<
+/D [3408 0 R /XYZ 90 733.028 null]
 >> endobj
-3463 0 obj <<
-/D [3460 0 R /XYZ 90 669.9051 null]
+3164 0 obj <<
+/D [3408 0 R /XYZ 90 625.136 null]
 >> endobj
-3183 0 obj <<
-/D [3460 0 R /XYZ 90 463.2271 null]
+3412 0 obj <<
+/D [3408 0 R /XYZ 90 610.685 null]
 >> endobj
-3465 0 obj <<
-/D [3460 0 R /XYZ 90 449.0139 null]
+3165 0 obj <<
+/D [3408 0 R /XYZ 90 398.993 null]
 >> endobj
-3184 0 obj <<
-/D [3460 0 R /XYZ 90 215.6078 null]
+3413 0 obj <<
+/D [3408 0 R /XYZ 90 384.542 null]
 >> endobj
-3467 0 obj <<
-/D [3460 0 R /XYZ 90 201.3947 null]
+3166 0 obj <<
+/D [3408 0 R /XYZ 90 172.85 null]
 >> endobj
-3459 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+3414 0 obj <<
+/D [3408 0 R /XYZ 90 158.399 null]
+>> endobj
+3407 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3472 0 obj <<
-/Length 2752      
+3421 0 obj <<
+/Length 1873      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S+�x��
�I�4�Y7/�
��h��n���n~}�!��
9�����!�%����ܾ�a
-l���(C��zr����{����?���yH�����wZM
q����]�A3�8���)cD��R:}3ct���l�f��t���ʗe����)�����׻O��?\~�X��iM��4@��I"��.\C����	6
hhC��Y&߬��a6�N�g�O��~�
����򻼜1;ͷ��c�N��������]ޛJh����Żt���pA�pVM
�
%�9>�\H.�/닷�h���R�"Qsm�d.$�^OQ1ʉ��rA�V�]@g"7b�P��
�Q����M�@��tȲ/���KV<�,
��w$_���A��X��7��f��cO��J61`�bc��O!٘/2�(��/{r�"�H{FnC՗��%Ni�m=�}��evܕ���]���z��_
돫l��+��qv7�j��R����3��`U~8�����
#�JwƩ!وS[24n�ow�b[Y��!���g�7T}�o�"
�$_��9�Q�����dž�{?���O�w�S�]�%�n��{��n�ᜭ�{UA����z��q�(uW�·���� [...]
GQ_�X0ut�%O�:
�˫�b;�t�1[�EVz�v5r��Ĩ3Z��&QXq*��9��zU�pQ
a�%t��������P����Ƀ��Oפš��KR��b��Q�@]1�妈u�0�:�<�wEãFi�0��k�t���8
N�i�+����2��_�X�*s�a�j������v��CG�Y��o�a�z#����>fI�)�N+�V�v�Ki���>��[E�:�p4gm�}oA\1���3�`�b�5���hG0"`��
vlf���d��	62jA�I����>�f�s�ہ�
ʬ�J�L^h�v
ӏX�v��3}�Ԉ�P΍��M+Y��N���g����-4�u�K���b��c�;Uu�[������6��ŷ��8X�^��~W
�
-�P��nz�:�&Z�
Γ��ɘ�ٵ
�o�	*�L�D�i��Ffl�}mR��ր묊]7`(&P�P�Q�V�2m� 9�Rc�K��`9k��]�]�"y�Bg�P,���e�EE�X��
w�T�P`��/��:w-Q^
�����F�rKǞ _~��z
A�0����c���*��U�%�
<��
-�|c�G彧�)h�-�<|��c�|Q� �j�:�m���
E%>zb�h_5T}�l�Yڍ
�֫�z'��?4�:99K�QU�4Q@_.A��1m��5��#�j��T9	�
"�t��K=}\�e�!F �����㤑
��'{�D�c �c���܃��ϩ
��u)� ��7���
�)1>�T�#����^߰�-
�rd
N)02�4I�-Y�"�Pܬ3j����/6�%�Hk��Ŷ@u�߽
-�Z�΂��l�e
�6:�%�
=�鍎H�37:����,&��|ѐ�6��`��؆�/�>
-ڑ4�����N}���gR?�N}	&0�̓�oJ�غu�X���y x�#'�S&
�#eB

��xt���{��	�p e4V�M��@��V��|=�
��`�ꎯq�~:�c�N��	)��o��
�<��#��.�w�l � e߁��	�e����w+DJž�U�NB�+�D�6o(6t�1f�����I�l�&�� ��e�
gND�DB�j�`i���^�*x�:�
�P!<�E��m�HƈbV�Cx
�<|!��z|�4�t~�u���Y�ѳ
�<Q_��Ix�<Rm
���wB
�9tH�٤z��\�7����������
�x��&�?�x*�K��z�����
�3��2��.�����KЀ3{̄dc�jȞ ��%���'9
�"��v
�,��|����!;��Ŷ��'6
�"���ţ)sfO'�Iz
-T��'���u�i�^���y�n�#'`�S&
�"e~v���+;�� 4Қ��bƮJ1��=\�<�}ˋB[�z�W$u�#\���ꀹ�����Es�l(Pv/Vt�� +x�3^
��"àK�,����йmN��6�S(e L�$�����c����t�I��EN�W��p��SR<�
(H���R
-B��]^y���2�8�Yq<\]U�.j�«x	Ք&愙z�+"
��.ǟio	�-nB��Z��6ǐ�i|�����~�
-�e�
B�V
Q:�ŋ H���
�Ah`���ﺼ�|`A�����]�:��6�[ 
"��8{D����
�#�._��W�Z��tcǎ'!i� :V�w<���� �J�M���#��Ɨ�ֹ'R]�Ծ]�!+A$^����!qS�iwF�-Xݧ\xQF����[��g�ʓd���(록VA��e*9��-�'<O�Lqf�n�t����{ �(@P`�@S�:�ce�d'��mՖ�3����H�b�XAK�S>g�n$�k�~��ѿ~���co�"��������Ey'�:�
I\�V�(%�ר)pc���M�ꂼ�0����/0�D�� ����m�fS���/�<���gJM���l���]�A�U^��]AUZ_�
���r�
'�0;�~��I��o';���5�
-��m^
�������Gr{ �b_��x�߯/{eA�4nl��-QO����B�p�XB]�K��]�W���� �B�RB�� 0��endstream
+x��Y[o��~ׯ�S+�ѹ_��� Y�v
����l 0e�(��c{}�\x9%;k�~"EΙ�3����8�Np�����h�V�� #�L�։���	J��U�iL�)���M
��.]��P<�o�7٪L��_ʴ���_��&��~��%�c�H��䰟3�7�$ڔ`D�?]}
�Ba	n�|�3�����x�L��㫉��lwئU柼��Y9!z�Kxd��c¨5:zs5�ψ���
��b"Y�F�>�d�N0bF'�n�.��u�|�s�Cf��
k�0D��D��
�MwY��ǹs�oi�ֈn�)l�)\����״�^��8~�JZg�j���֕�ۤ���
�U���	�Z�~ن'���V�����t�����ӵ}�W�i��d?����4
N�@���7���Ka1��IP��!��ݗ����Ό������IT-;ٹ��A6�}y&[e~������e"��Kv<>���S7�UV�wy�<�
��P<����
�x쵪W�x쭏���x�]
�}�����쁥��k�kHf���զvj��f[ِ���BB�!B3���ބ,؂�^�Ɯr�$U�D����ʛ�e���Ʈ4�#�j5��ńC3A��iºp
�Ӫ��Fs
����:�_wk.�
��S�Y�)ޘϏ��olwdl��F�#š�����

+iӠ��
���8YL�z
�
+
�lVm��7+3��*�,���*�1-�2ɋ�~w �h�-t�`�!�����o�Y
�P�]���?�˰c�hɂ�&5{D��C�b�4E�tJ!JA �9`�P-@
1�@U���a�a�a�&>�T�
Xu�
+�}`XR}� �$���K5'cb������]l"�@�M�=�Z@�*ԝ<A����3W��C���K�K�!a���-ǩ��3
�@��I��
+f����e2��S�ct��M��`�4��N�~�"�o}	�Z� ~ɋ,-o�B|~6����a@Զ�#��)0Iv��#j��>s�]� ˋ�L��8�;�ޟ.a
�YH��Y�
ᶏ�hb
İ%���:����
��d�Z��!�U��i���)/����01e�
+pȻ����p0�@�ø� 7H`�
�D��vQ�7�����JE���]���
+��-�&
pe�C?ѭt(���x��(��F<�>���7
hkL
t4]@}H���㺟�W	x�t�g�u (B��!��ag�.B"�x旪��)3�"!=�
�&�47й0.i'�Y�F>9��ݴ�D��1܆s��L6=n���&+������N�xpigZ=ԫKz#�w �Z}�jI&�4rCc�#��2��g�,`
�aio�H���"3_d��|��/2�!3Ջ��_��@����2(5�sX��?
�2�5�-k�n�C�
+@�(#���NK(���ә�1���
+Rg�=�m��@������8an>J���4��

4������st��Q
4�i(
{;1�����h?��:
)��K�r٣��F�"9��3�	�ҥ_�2�ܜB�\\Pf08VgU�Nt\3��d��^L��;�i�Q���r^M9�]to����#�B;&����HG,:���H�oGO#�a�.Y���-�y�ޱ���H�35 ��&h.Ԙ��ح�����3Qrb�8y�-ƈN�_���������%��,֡�@�R���t�������O��B�����3_jȭ~�����(ث�5
+'� r�^m���fy_�Y?�3�?��_Ǭ��D�qH�?��&
`h��Wk
+�i2� 	ʘ0�-�
p�CV�3޿����#���i�
��T7Uu��f���hyD7E~(Q^����,;3
���Z�Z���e�A^�ÝC��C�/���
+endstream
 endobj
-3471 0 obj <<
+3420 0 obj <<
 /Type /Page
-/Contents 3472 0 R
-/Resources 3470 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3458 0 R
-/Annots [ 3475 0 R 3477 0 R 3479 0 R 3480 0 R ]
+/Contents 3421 0 R
+/Resources 3419 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3402 0 R
+/Annots [ 3415 0 R 3416 0 R 3418 0 R ]
 >> endobj
-3475 0 obj <<
+3415 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 535.1988 429.2969 547.678]
+/Rect [365.617 504.305 476.603 515.944]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-3477 0 obj <<
+3416 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.8835 318.3655 440.2823 330.8447]
+/Rect [323.631 246.716 429.297 259.195]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-3479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0594 100.2535 422.9245 114.9689]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-3480 0 obj <<
+3418 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3473 0 obj <<
-/D [3471 0 R /XYZ 90 757.9346 null]
->> endobj
-3239 0 obj <<
-/D [3471 0 R /XYZ 90 609.9244 null]
+3422 0 obj <<
+/D [3420 0 R /XYZ 90 757.935 null]
 >> endobj
-3474 0 obj <<
-/D [3471 0 R /XYZ 90 595.3541 null]
+3167 0 obj <<
+/D [3420 0 R /XYZ 90 579.03 null]
 >> endobj
-3240 0 obj <<
-/D [3471 0 R /XYZ 90 393.0911 null]
+3423 0 obj <<
+/D [3420 0 R /XYZ 90 564.46 null]
 >> endobj
-3476 0 obj <<
-/D [3471 0 R /XYZ 90 378.5208 null]
+3168 0 obj <<
+/D [3420 0 R /XYZ 90 321.441 null]
 >> endobj
-3241 0 obj <<
-/D [3471 0 R /XYZ 90 176.2578 null]
+3424 0 obj <<
+/D [3420 0 R /XYZ 90 306.871 null]
 >> endobj
-3478 0 obj <<
-/D [3471 0 R /XYZ 90 161.6875 null]
+3169 0 obj <<
+/D [3420 0 R /XYZ 90 104.608 null]
 >> endobj
-3470 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+3419 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3483 0 obj <<
-/Length 2682      
+3430 0 obj <<
+/Length 2302      
 /Filter /FlateDecode
 >>
 stream
-x��[[o��~���S+�x�w[`7���鮻/i`�m�(U�b���gH�h�
R���`^�9��Q�
�?23x��B�q9�Y���
<���^g�>
	��<;�V��AFR9��mV�	J��r�nN⋌`��o���:�z��x�Y}�/�����z��>^\|�y\�����[B���HH�A��W-IĔ`D�q�]��X�
v$9���U��/2*��ra�XoWy]�O~,n�݂�yQ��#C����go.��:m
-&�U��޽dz%h��3���b� 7c�l}�)s7�������i_4���)DWi�H�J
��V`?�!D��
˜����t���r��������O�)R��Y��` ��
JbTd�a⸪�C�����渚l
�R���:f{yߙ�Â
-PE�_��'��
c��\l�֎>���
cZuOv8R���4�F2��"�E:=U�M�ϓ�}������P�L#��	�
ѐq�@ΐԚŌ��ú���f��nn{
-[m��
�����P-��nL�ł�9���u�$�4tB�ٔN
���aD�
R���kG5d�Ӫ}�L���Z=l�/�Q��d�!Nh4 �Ҩ#��Z�f]V�~�쁎ap�i��j�>֪�����2B at -�l��MW�>Ñl
ѭ���g�
�/�j�>�`/�Fh("#����Gq6�̪d�1���;�
-k�h���+���lS���1��}�P���ղ�mR�aU�imu�|������]	��!&�:R��I��t�y�)�v�5�$�O�__��sdV�}���(���ry��:5��2� �wR#�j(L��Jב0���֝�E��)���������K/|zl$�mDG[��e�[ ��ʺ�(#����}
T�
n�( ���:.���J,I
�
"��iI�4g�$i���P�п2֠PC� �c)�� �]���
� �ر�w]�,Kp
�YYA��Bi���e�&/���c�ᚁK  <�U��7]����6�����P5�.0V^��*�'T!�m%@5��#�-j����Sۮ 1�g��^q�B�͞B��\����E@2��#� 4�5�
(�[�`s�\�k>���H,�ژ��HC�SmL�������+W5�`�/�m[{��mWS��;�A-����6@�6
�$J ����
�A��(^-2
���|m���eU仫7�� �օ� Hq���J%�Pĕu����f�ؠ5ک�
sV̟!)=�/����h�}SBI��wyY�/.��Z1��2�{�lj�X��$�<So�?'݀�o{A�۲�lS��M�M���Z݄�8��l�{Qߕ�
-4�>�J�3"�0�d@�m���Y�C��כD6�n�
ɞ��N�w(YZ
3^�2
օ�&�P%XYq�R"8mup
d�����[@
�6�>
a��P(��H�
����jw��� O��
��p]+_�ZZiz}���ܾ��r$�P=!C��j(�F �[�+��&3�1P(���{$�-^nu{��K��N�}�j�9
����A��O��f���`'�Kf��]
9S؅�Q�C
m���w��PHr�\�
��P�[J
Ͽ�_�ԹLn�2��Ј�6oXb��+��� 
Ȏ|��e
[���,3�*��	5����
f -pm�K�Ϸ�[1
�
��U�ٴ�b��h���m�l4H=2 �YH5ޘq!��b��$)�Ds6�$ݜy�S������`��W
 r at yZ�
 �dS�sdO Nsv��� 0b�[ 9�2BO C�)�:��
 �Y��uz ��-���#vJ�!لF=�S���� p�>= �� N ��G��̑f��0A�֟0�2�r�X��k��7����q��#=�
��2�{���2���
��/8𓒍
��BO
�������
�1���
�����i_
��G}�e������}q�7s��g�"������~0GXh���
-#9��H
����<���
LE�R�������Se%S
�E ���!� ����О�G��C�Ą�*��)�I���	zbB���D!�ۢ�u��
7UAo���
ҫ���{F�h�1��~(�*a���O����
-S�ix)c���S�0��@č�g5
�B�q�E!�PB�W���H�_��y�kR#G 6&
�"aBV�8©=�5/
�S^�&�H#.5}\IVnJ��z#�����[(<V�1�&�
-��Mk�]�3j7&~ͯNr
�u���ҧ������k%�՛A�(W��>��g�o�@�����
-L	nw�솋�����<�W.8������A�ec\$��Y[��?wP ҂+�p�$��^���� ��j�ȓqG����d�)&R�bexHfQ�_�(}��N� WJ�c�����d4+Nm�u§qG at 4;l�����'�G_�4�pT^1g��:�ɍ{��x��
8�D
�vs�G/y�
f�8�!�;���:�P��!�u�ⱪ�rge�>�f���'g��
��%Oe0,Dd{�����7�-Aj0���48;
-M���)�ݭC�mڛ��B̻����:�I����R��~��v�ڌx*I�"
E>VP���3w��0+vd�m�����u���z{q~���n��P��
*���vu>Ȑ6��2S��<�@�H�LK�
8~(˭��7��<\7�b�(>!�� � �endstream
+x��Z[o��~ׯ�S+�x�5-��A���y�,ڢ,��R��ί���2)�+��<�"��6��}C��.��w�o�GWo%�
2���z
)I��$�^DDŽ >����݄�q\l���	��|��JE<�1�)��q6�&�<�t���[B:��HH�����%�R�m|�K�
+Kp��oB��W|��w�ɔ
+<��:N6�u\&՝��2)&D���n"�0f���\��=" G�EC(���n7���p���?D1���jq���:�0�y�OF�2��h#�bڇ��M<v^�B�NEl����6��
xF$�5I.N�5�^po7?O^��b�
�
	��[>�X �U4�!�=�2��%YR���d1���bL�d��!��w0X?�
|�g�~B���fI\��|�+w�4Ϫ��t�u \Ĥ٬�jח��d�WT+�}���
77��G8$
+�	`��w���(*D�j��
+Ԑ�&
�w�;j�9J�F�7N��2D�
���&�4����i�C>U
�n<�
I���1�
;�2[댎˼z�v���
m������&M��]�~*Qkg�J*�ۢN
��8_� 9��
xH�UeA���mY �"�r�dT5���w��ߍ��nA��7�儊qU���'�Tu�����y#���
*@B%3��
���N;�S�Z�4mW�	�j|U��a�`u�yA� �� 8$����k�Sh����׆�Q
+�H�
9���J	�h��~�jv�0p�
8��y�&�4�%
��ҲY��((�)�D�hJ9l��^�-
�D��Y ���F�Xq
lx�0PЈd3e�� ���o:�8��إ
�� m�&D��/U=�/�^�Ĕ<�␡�"l̑�};yZ�T�A�I#�ȱ��nuA�N�d��7UF�J�Ϸ��z��l0�4ٕ��,�&
���-���$+O�o2��"��=���}
�S(n�2
�crXȋl�1��P��-����ٵݞ��I-��`�
�7m�F^�ɱ��Φ�a4�����
�ↆ�Ӽ"�dB�6`�ѽ�� v�6�P}`sB��q�N���

�ԃ *OR��y��3h��i���°R�����
;0J
��Œ��Hc�p� ��ơ�� ]�3��R5γjp�}ԋ�6��7�ľy���������M
O�9�g�s�&�Z%��$ ����:Ӽ,���f��yeZ�
�X&$R
�X$Y�I����
a�$�_{*^øji+��L+��,��A�!�G^[>@�
+���!��r [C�m;�e�X	�kPZCk-�����&����Y�=�Zp
&8pmCq\�B����
 k����R'iA3u�5v��cD��y��+�!ގ��J�SNaCrE��G
@�
q�N;�)GW[#
+ڽVz�B�
҈� ;��w��^�Om'L����d�!�5ȓDd#�d�B�L;�Z�]��a�O�@�{Q�Fh���uz
8}�
-C\�
�$��0�d?���Y���#W��,z�F�E|�
Ht�i��r���|o+�
���~� l�2���
��$� ���\t&� ��9tL�2�ƅ��\h�B‰�J�ݽK�4e�#�c�����Wq��&؍�<rD($
a�����&��@�{8��-닲~��Q�
���}﷽l�v+�����]kN��q��_
�c36�g
��,�o�\�b4�ҕ�~]v
f��Q'��'j
.P��0FW�=d�b�H�#� ֌1� 6xd�ҥ�]Nh����wewP��
RV��-�.x�g��z$
��1�~X$@=�<�̴�x<��"گ<��������i*]���@f���9A�k���>�cf��o�i�qhppٞ�_�i2-Y`�@�-��a�
�nL�%CT���.Y�_��w���'��
T=�T� ٟ��a8ux�y�]C7���V��,�e�P:�%��`��R5{�]n?��!%YW�d�sshk�=hz��K�O�s{'^����ȹ@~��0��Cn���w/�r�Kz;L���T��v�|a3��
�����Rk�>��`CK��G�m4N�sX��sX}�A��9�\)wj��\=E�큯�a�
S���ע��*u=WHru=�@�K�s�-��\��91���h����?��iz.�������������I
�H��oj�'�D ���;����g
���r�����]R�y"����l_{oCuoEA�i�F05���A�I=�+���W�9��M1s��|���r;��zxx@�;���m���j�]_
'[g$�.i_�e��k�fps����&���2
+endstream
 endobj
-3482 0 obj <<
+3429 0 obj <<
 /Type /Page
-/Contents 3483 0 R
-/Resources 3481 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3458 0 R
-/Annots [ 3486 0 R 3488 0 R 3490 0 R 3491 0 R ]
+/Contents 3430 0 R
+/Resources 3428 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3402 0 R
+/Annots [ 3417 0 R 3425 0 R 3426 0 R 3427 0 R ]
 >> endobj
-3486 0 obj <<
+3417 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.3329 491.6631 425.662 506.3785]
+/Rect [334.883 678.378 440.282 690.857]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-3488 0 obj <<
+3425 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 246.4221 322.4458 257.3261]
+/Rect [328.059 465.882 422.924 480.597]
 /Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-3490 0 obj <<
+3426 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 129.704 340.1696 140.6079]
+/Rect [332.333 200.38 425.662 215.096]
 /Subtype /Link
-/A << /S /GoTo /D (main_CC76_extrapolation) >>
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-3491 0 obj <<
+3427 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3484 0 obj <<
-/D [3482 0 R /XYZ 90 757.9346 null]
->> endobj
-3242 0 obj <<
-/D [3482 0 R /XYZ 90 579.5712 null]
+3431 0 obj <<
+/D [3429 0 R /XYZ 90 757.935 null]
 >> endobj
-3485 0 obj <<
-/D [3482 0 R /XYZ 90 565.0523 null]
+3432 0 obj <<
+/D [3429 0 R /XYZ 90 733.028 null]
 >> endobj
-3243 0 obj <<
-/D [3482 0 R /XYZ 90 309.1412 null]
+3170 0 obj <<
+/D [3429 0 R /XYZ 90 541.632 null]
 >> endobj
-3487 0 obj <<
-/D [3482 0 R /XYZ 90 294.6223 null]
+3433 0 obj <<
+/D [3429 0 R /XYZ 90 527.316 null]
 >> endobj
-3244 0 obj <<
-/D [3482 0 R /XYZ 90 192.423 null]
+3171 0 obj <<
+/D [3429 0 R /XYZ 90 288.086 null]
 >> endobj
-3489 0 obj <<
-/D [3482 0 R /XYZ 90 177.9041 null]
+3434 0 obj <<
+/D [3429 0 R /XYZ 90 273.77 null]
 >> endobj
-3481 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F7 526 0 R /F8 523 0 R /F13 567 0 R /F74 478 0 R >>
+3428 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3494 0 obj <<
-/Length 2729      
+3443 0 obj <<
+/Length 2001      
 /Filter /FlateDecode
 >>
 stream
-x��Zmo���_�O�
�
�_�����]q��ަ���[I��e��\6��CQ�E����\Q�E>ĒF��
9�<C��?23x��B�q9[m/��
n�������|������{)fI����A$(�����9!�/�c<� x�
��ͻ�����!_�������|u������������H���
,��щDJ	F�/���?�P��^䛓���dU�XR���
C��v������)��
��y��[�='��A/���j�)�$�Y�.>|ij5x��
���b�c�l{�)������
��pk�Tz�d
i	����H1J!��!,4*r�B�01
b�
��?9B⒳Yw��V/5�*hW+��s!c�oJ�7�ݾ.ve��W|��e
�o
�;w3kE˪�/���
-XrEv�����
���=�ڻ���֏��kG���
Pl�Ի_�:��ʉ��vF��m��=V� 1z�K�9�*�BY� #���~�yv������}�	�^S��:�G��V槮�����B�ۃq�9O�:/�9OE��v�q�>Xu�q&{���@�:a�ifWTתu�ɞ[C��CY|z������a��LJ�&i�Zv��YL�1���]��1�ϫ�Y��� Nno��HF�wb�fT���(
g�)�7���q����(�!ȄM;$H
�����
~G�\?
vv�<�.BŝK���LN�ش��gpl�}����h����E�dz
qLZ��\'�!iw��sb
��rh3�� V�eQ�v�}V��Q�L����Q
k&F�b��!�8k�]�
ưi4�L�3�;�~��>/�-ʥ)nf����nM|u���)�Uj�:���r6=kA(;��_m��k7�vX6�u���"{����Ҍ�PS���⭧q��*�9ͫ��o����PԫŒiܔ���]��!!�v'�V/4;���D��(�:H<'������KMeo�Dr�(D��)衪S�I��q�Li$8~}��/9�ݟa]�Z�J4i(�Ї��e�1�o��!J�.����E6M�+_`SY�#���^+k:�:y���������
�)@B$
-v
-@�ٜ $A~�}!Q]�6
v�2���)��R�ؔ^y
R'
`
���ۼ~�
~��	��?��	d��Kq	�UQ1���R�H������f(�'�Qʀ	p4�$
��X�N�R�F�,69� 5T�f���s���.����}��iE�xCCa�q�>����گ����˲�
-Gj,�J�Hɠ*��X�
���j:F��π�M�MŎ�T�X/�G��4��9��K
U��FJp�~ぬ/&Lj6��yL�!O6?��������!����)
��<�Ju
[�=�&6tZ�(�������/qݮl]�ϼ��7�.���K
EU��֕Oj����Ԝ��R�'�8�"
� �ulo�#G�70&��"c����l���lO�q��JMS)rx�I��_݅�?=�H����'K�b
�d
x
�x�t��5�*�\��� q=�*�"Z��|���hX�#��b}�
B-�Ӵ�3J�V(L��*v�?��yg�o�� ����s� vy�'Iu�ڎ��$�*�x�	Qi�N�0����A�I'��g�u��y
�֟� օ4�%81D��k�:u�I��
-?l�� ��;N�s[�/l�C�tK�t��k,�UfƔD�=������
��=7p�����?)���oS���NXB�B�
[�اS�������6����˻�a�j�]��v����2$G�X ���-��M
2P蓵P
+��*$�;��T`we��m�:�lz�&�A�
-ڠ+B�%���{|����4��J��(K�#���aʀ	 5�$
���43�������a���2�el��	�Qj*���q��1�v��i�^h�rpiLO�ߴ�s�Ѹ]��9p�=��P�"��Lд�B��}
w)���l��iWl©A�����p�;К>ٍ��מ�/<ٵ�����sOv�/L����������N[Nv#���d�2bq��S]��:EA�2m7�
��R>��V�lE/�ud�#G�?0&M�#c"�o��g��9y��r<��"�`�󤩾�FO�
`��N�?��:0�t��>��r�=�d W��lkz��Z��)�X��+A�)V�����GX5��B�y���L2Bӭ
��2��#|Ya`�FN�e���3�c/Î�ս
�BN
�FZG�> +��f��O~}'C3� J�-�C�]��N�{>��ˡ�a/G&G)����r��FJq���991���1)'�vS���!"C�^���<��b�z�o[���p�^&٪�V���� i�����:����X���M:kg��Z�6���w;`a�q��
-R�F�+vy�eW~X������26�WU��:�ހ ��zD�ŪQW��C7XMc���8�!��D���e�	��oF�x�i�=5�#��kL���7�0	%��4�#n/~BwT���̑v�2
C����:��
�:8��Ho\�-�>��@b �����b�_�� !X�
[�%�|�7�ͧ�� ����DF1��boD�
-xgS�
�G

��U~��B 7u����ls,�+p�\�n���Q�%���>O|�C�;�=�e���۔m_Xv�p�Cuf;������W��OOOhU�Dz�PQ_B:�
|�csWf*p� 4�%�<����-w�Dy��M�¶��M^E�<�0�_��i�endstream
+x��Z[o�6~����&3ëH݀�X�݀n����l+�0Y�$�i��w(R:�
w�
}�,�

���}T��[{�Ͼ��]�
��0��wu�ؓA��j��	A|� c�՜`?*����9�~��o�u]��,˨����6�0w���KB
I pX�q�̘8��hg���#^(����	',l-^�QU�T`�j
R?�iT���o�M\Ή��l�B"�O�Ng�]���p�=�dCH$��V�ٛw�[��=�X����j�q��3�^�~�a�Y<�a"
;�4@��D�݇U\�I�U�M�^.^�b�U�$��[BU���L�9���(M��Qy���Y�8�x)����M�զ��T�w�|�������\�@��O�q�o�,����:ރ�� Ie��
�*����:�#�E�.����š���qU��F
�q�Z�ݴG�To.��2��ƚ��`Ͱ�Z��o1fc��X�=�����+8����c�	���Y$�*�Q�,S��Σ�
�#a
��K��hl�0\���JiY^���|TE���Fp3�(�gr2'�XN
+Ig�Ff��GP*B�:�B
qb�nA�!�(0
�!��]3��E�E[�F�	ĒV",*��ht͓�q��X
�:
��5'�Lȡ��T\^��
�
mu t�B���QQ�� �ɭ�=�+�;�a��
a
c�
��C
_
q1�����
>��5Ff��v �&��$�ߍ4��H��
�
+�%��M��p����q��b����P��رpݥu7�ͧF�]�d�6�Ml	G�gyk���g�c ݲ0
�0��y�wq���I�
�N\�mq�-U���{w� �H�`Ҁd��	&JA��'J�C
+q����O&�
+r�
I��\A	m�ru��>!W����DB��M>$
��_�����U'��R'�ŋ2���!I��w	�J@��`
�>}�=-c�c��
�_A%��v��p<�4���B�p
+�U%�j����;��G&�Y��p��Ց�P
�&��?R�n�E�̧�
��I<����#��B@�
��0X�剌�@�Ah����sS�%��-VT�}��8m$D�F�]U������e�vCVG�
VC�ce
�ዞ�4�'m
� �:q)`�LeN"��|�W��y����<ɠv�'��fdM;�j�ג"*��
Q����K37�1���K㑛��l�`�A����O�Aq�	`���!LA�ޮ2��٘��-%\r��"��
w�k�՛���F{
��ƫM����5R
�
f`�+əT"	?��)�ȞP&�@L� 6uPiA�l�x��1����� �'~�{�>>�^�j�S:�Պ�Cs�=[8�q���	vL��1����˔#b��	+�p��*h�Ǩ������
�h��
�C��l	�
-@}ю�]0�@CR�3�hܷ
���Q�Y�~��U��^�Y�+9Q����x=A�JW�pb*{��A�Z��"F���Q��tv�`3���<�X4懃6˛���>��;D�o�SB�3j�qvѧ�����
T}֜��ɟRsJ9�9%�G$��lDҁϏ~4	���F�U'$���
M��Fp�)N�D��s�Qw񇺌�
� u�%
����ʟ~'��c����#�
y/�"� )NzP)9�;|�/K ����}�i�0����YU#��D
ý�<�3�#)���a�W����Q���/���D�Y~�yA�$��OY񧎩=e�^��
;���S��f"�y �-��g�V������\�٬�W6�U�/6�V|8	C�?J��@[�9�݈$�
E���V;؃�
+vVi�o���>���t�N
�
}ǁ����s��|�o$"�D=����$X*��dʾ�%BP��%Z��W�������W�����U\~9·��%�vQ����4fٿ!�
)ʘ0�

N��
�]i����^�4kr�M1C���M]�wwwhU�]�%JꋢH/
J��
!�׊nZ�����Ht�n��P� �Ė�
+endstream
 endobj
-3493 0 obj <<
+3442 0 obj <<
 /Type /Page
-/Contents 3494 0 R
-/Resources 3492 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3458 0 R
-/Annots [ 3496 0 R 3498 0 R 3500 0 R 3501 0 R 3503 0 R 3504 0 R 3505 0 R ]
+/Contents 3443 0 R
+/Resources 3441 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3402 0 R
+/Annots [ 3435 0 R 3436 0 R 3437 0 R 3438 0 R 3439 0 R 3440 0 R ]
 >> endobj
-3496 0 obj <<
+3435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 619.579 322.446 630.483]
+/Subtype /Link
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+>> endobj
+3436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.526 502.635 340.17 513.539]
+/Subtype /Link
+/A << /S /GoTo /D (main_CC76_extrapolation) >>
+>> endobj
+3437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 707.9571 268.3399 718.861]
+/Rect [180.659 431.294 268.34 442.198]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-3498 0 obj <<
+3438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 578.6608 340.1696 589.5647]
+/Rect [274.526 302.396 340.17 313.299]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-3500 0 obj <<
+3439 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0616 373.7827 276.0472 384.6866]
+/Rect [195.062 98.244 276.047 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-3501 0 obj <<
+3440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3444 0 obj <<
+/D [3442 0 R /XYZ 90 757.935 null]
+>> endobj
+3172 0 obj <<
+/D [3442 0 R /XYZ 90 682.316 null]
+>> endobj
+3445 0 obj <<
+/D [3442 0 R /XYZ 90 667.779 null]
+>> endobj
+3218 0 obj <<
+/D [3442 0 R /XYZ 90 565.373 null]
+>> endobj
+3446 0 obj <<
+/D [3442 0 R /XYZ 90 550.836 null]
+>> endobj
+3219 0 obj <<
+/D [3442 0 R /XYZ 90 377.088 null]
+>> endobj
+3447 0 obj <<
+/D [3442 0 R /XYZ 90 362.551 null]
+>> endobj
+3220 0 obj <<
+/D [3442 0 R /XYZ 90 172.936 null]
+>> endobj
+3448 0 obj <<
+/D [3442 0 R /XYZ 90 158.399 null]
+>> endobj
+3441 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F72 471 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3455 0 obj <<
+/Length 2368      
+/Filter /FlateDecode
+>>
+stream
+xڽYYs��~ׯ�SBV��90@I��v�7�
�x��x]*��DԂ 
���_�o�)����f��黿
R�ѣޏWon���)�E$R\y�^D�@1"9�n��1�/W�R�x�dtW������E�7iR�w�:�ܼ)���n�~�؀#S�H��<��dt(��w���
����
�o󸮗+.��v�E���q�ڝ�CZ-Y�H�5�"&�R3�������1c
�@Ho�����z	��(Q�

���������W�Y���p
+M��Y��δ�6mҪ�1�L9]���Pݐ4�V�K%�l����I:�,�l����

3�&n�M>�������h��
ш1G�����e��Y�&v��K>4�D(�~�
���u��O���4�&��D$�h��
+#����?�G��w1��/ٍ	�{n7N��X7��>���uSA�ƅ޾n�oJg��*�L.��������%ig28�U�dVg��EU8B�s���@�r�de�z�/v%�Gv�WFjlƎt_�٣�_�\"j��>O���)��x���V�-��{�ѷ��^�K�e��=���U�BZԖ�*�B��ž3*v�ԄTd��!����Ż]~��8
[�贮
]~�����[�#?dͦ�['�а�$��#Lכ"��O!2��mT V>%�#�$ʏ��?<�S�o���׸n�����y�����~��Ū���}p#6ᒃvw�/�����u���I�j��$Rt
g8�q�̰`,li�sb0��aб�R�{��t5
�ʊu���Mf�4B�Tc������7��Jem��&�W��$��8�Q]�u�V���
~n�K%mћ���(`��7t"�/]Wo��x�sCF�R�F)����
wi��\ɀ�i��.�q��;�|��Wf����D��E2:�
A�
+�K���qs��m��VΝ� ����+CJ������:X�>�Q��n�E�gt�;K1.I��$[G,|b�����%#!�r�cV��O3�����⊻��ژ�ĐH��Ջ���T/I¾
�^���z�7�Y�:���E�l���H�a߿X�;vr�r�Cg���הl�5J��(v�
��ɓ��ۻ?����ΎU�Q�ؕ(B���.����|�6�o��ڐח;-%Q�ƍ�;�6�F���H�"�pY=��"�/d�x4�-31!t��T?
���`����#���>셐�f��Їc^a/a3�y�(�e��p
\4&�.��™�NH���Io.��y�Z�����2�Pn��:��Ӄ�Px7��J�"i�V֯�:꿌M��:�G�{,8o,�7�̉�M�qB�v
┍;�
�ܠ��[=`�}c����W��z�G{�ǽ~��ɗ����y�����yX�t��B�5U�3�x  %_&{`l�vrY��0��������RcMЎt
�n�I��᧧5Eq [...]
˗��g�
���iw'8(HS�#�
9�9F��.C�>��gc^X�r
2s���fS��ˍ���0ļj_d���
��͊Ď+�涶��
?I���떞�7�'R�^D��M�r
�vl��~Y�M�)f�����u=���
��۞
N�P�no
y�/

5�����]��z��k�A�/:Q�Dw[-�i���h��6���ܾ�k]�M\5ݭ�CUn'9pߖ�1J��}y�O5����I!d]��� ��H����C��|&�A��
u�����[�*�����bÆ�bW���ӟM����a@`\�J��i�l�Z�\AWP�L� �������g@�Y��N�s��j��gh]��^.�g�"T�gTs��cw�#Lĩ��� 4�
M��oCc���
++B����"�a��Lb��#
���ȍ0}Ӥ�aL06��$!փ�����J�և_�;���)��	@>R��N�^�
�ܲ�Qv���]��N��/�\������yO�orUm�lj
EF7&�ܠg�����$�ޯ^���+z�9�:$�i������p ��lW��������
�sa��D�2��3�ۖ�̟��O�N�/�y�
+endstream
+endobj
+3454 0 obj <<
+/Type /Page
+/Contents 3455 0 R
+/Resources 3453 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3402 0 R
+/Annots [ 3449 0 R 3450 0 R 3451 0 R 3452 0 R ]
+>> endobj
+3449 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 274.2905 268.3399 285.1944]
+/Rect [180.659 661.123 268.34 672.027]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-3503 0 obj <<
+3450 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0107 144.9942 513.9963 155.8981]
+/Rect [433.011 531.827 513.996 542.73]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-3504 0 obj <<
+3451 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.8055 89.4621 144.4057 118.4034]
+/Rect [125.806 476.294 144.406 505.236]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3505 0 obj <<
+3452 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3495 0 obj <<
-/D [3493 0 R /XYZ 90 757.9346 null]
->> endobj
-3245 0 obj <<
-/D [3493 0 R /XYZ 90 653.3864 null]
+3456 0 obj <<
+/D [3454 0 R /XYZ 90 757.935 null]
 >> endobj
-3497 0 obj <<
-/D [3493 0 R /XYZ 90 638.8161 null]
+3221 0 obj <<
+/D [3454 0 R /XYZ 90 594.597 null]
 >> endobj
-3246 0 obj <<
-/D [3493 0 R /XYZ 90 448.5083 null]
+3457 0 obj <<
+/D [3454 0 R /XYZ 90 580.027 null]
 >> endobj
-3499 0 obj <<
-/D [3493 0 R /XYZ 90 433.938 null]
+3222 0 obj <<
+/D [3454 0 R /XYZ 90 342.1 null]
 >> endobj
-3247 0 obj <<
-/D [3493 0 R /XYZ 90 207.7647 null]
+3458 0 obj <<
+/D [3454 0 R /XYZ 90 327.53 null]
 >> endobj
-3502 0 obj <<
-/D [3493 0 R /XYZ 90 193.1944 null]
+3223 0 obj <<
+/D [3454 0 R /XYZ 90 143.505 null]
 >> endobj
-3492 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F74 478 0 R >>
+3453 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R /F106 2741 0 R /F8 504 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3508 0 obj <<
-/Length 3290      
+3464 0 obj <<
+/Length 2815      
 /Filter /FlateDecode
 >>
 stream
-x��Y�����W�)�*+,�Cv\���8Nʱ�y�]S
�3b"�2E���Ӹ(R���f�vU\��x�@w����2���<QB!ø�,77x��?�!��
���^�޼�L��AFR9�}p5H�%tr�7%�ٜ`��_��f�&��jF�^VE�dw_��M�
�W����_����^�DJ$$� ���C_d�(��2K�����j(����GW+�x��v�9xz;3tZl��-�������=-�%<2D�)a�Vz��mg�`M�$������$�~q�3ZL��#b
�ln8e�f}���?�z�
�A�S8�фM� E�I��a���`	�J��6c�&�JD$����Y۶����TG�)R��I����H���X
-�}���
k�b��|�(����ٺ���q�)�v$��H
-�HJ��0��XA�Ðdp=�v��3*�O�������[�S�$6������+�}��2���2C$☄2Y�'�!iO|�C����4V�g�K0�:w^V�z����~]�S�F��0
� ����K�w2�Aw�V���mq޻.�z�Q��;��ن�d����t���H��?]f�p�P7��S�UY=����h��nv/�9~��qtГ�D!n������N/���"�������mh54/���sf�}�zv���+�����dN�p'T�1	2B���Z^��޶N��l���,�V��,�VoƦO��)�]b�OB
-���_
D�X�W;������ aOo+~uRz�o������N9�=����L�dsH{%0/�͌�)�:�X#.#���
`@�bF�?�!}N����ٜ
6���=`{^��1�m�^�B4#��ͼA��]�5M�r�A�++������Ӫ�4�����q2�OA�� 2���9�]^
�!^�k!ʫ!�)v�u���۽�=����>�}�a�anN�Y����ߑx'IU�cKI�j�F	���"c8�"1�;@B
���F�#
DKf� B߸����mQek&&�P�d�P�.c�ט�^� Y����]�N$/+2l�,�a�.!�3��,��v�lY��}�c���Pv8hcB��A��+6�.|���ҽ������E)D��n�r	�;��#n8f	Ҕ�X�]Y�˪�!�x�1��D� c������T�a���P����\��tB
-�-��
g��ɸ����=8�G��e�~�A��o΂������/u
<g
-8
��H��{�pS\`��$i��u�1h���ҋ�w�ƍ�8
΅
6z�u�
�����>�=c	�Aꄈ�(�����^s:�
^�4o�C�vU;ނG��Ɣ�
�ܫ��|\��?-�
r���
�s0 %\��ғ�X���-���U�$��C�Ŵr#��u�3�; �N�������Nj&0��u�&��X���ֵ
-��HmM����;
-��-�5��qo�WG��f`d�������-E3�̚
�v��w��f�1l�߅�<nZ/�=4��dP�Ǩ?�@�!��_�`�V��Œ
c;�&���qM$2��Im%F�	�̈�Ø&b����B�o�B�/����_���'��V��� �
�@h�_�D�����
-ʁ���1K�Dd0��
�} 
T>
��ݨ�ƵS�����ӷ����$�M�w��^�To��r�3i�166���T
$x�	��sT����Pi����6�0���
l:��. �z_f�S�`��� I�@�!	=�
-��h��Rhl���5Z�T����8���n��B��b��$85�IF8��b-#���p���)}8
�f��]��"��G��V�H������e[7oð�.�_f�~��
�$�g|{�%I�1,IH�fخ�e�����aG��v��o
�\
k
T��r���݇��
N;��	��q�=��a��a]����+���ʵٳ1�{��~��L{$*�S
�����q�p����[f�#`��Ǽ
�ȼf���c^{ǜc^���p��,�jv�y	pj��c��U@%4����{�9B�B�վ�-@�_(� Pb��s~*
-���S� �u6��cx3H�.��4�i��P�A��

l!XB�
�|���{�`S�3(i "�n�$���������*}WV�a��|x�ٴ�s��;Y]��e
�K0r���đp]���g�g�Q�������R��!�u�U�D

 ���Bm
-
rc�w��)��~���@�<�v���+Z_�� <h�[�ù7~閰�����YV�
*|7��qh�
-�t�?�. �g!�>�ǯ�q@����*k��2���~?�+z�F��"
�쎒�0tBʞ?�8'��ř)B��BK����..'�'+h���3���<���
�`��^ة����e�F�s���E�<�c�ä�&��|GS$	�v=%(�� ��Jo�+����I�D�uC����
-��;59���
�<�hXafT�����7�wۺʽ;34\�wE�6��S�\��5� ���ʞ82��

~���VC���F���S Q�ۭ�:�1[�:IY��f>������.ZG�c�;�4��m$�؂>��B���j��'
��$�q���HI�ed�IԦ�0H�bO�\ڜ9��|���=�h�,]\fT�N7lZʜc�h
ܥD8��^h
��c�?& �"b���/�вo��тy��[Q�X~a0
T n
-��;$�K�T ���3X
�»7��!��W%!�
a
7wk`#��
i
0��F��Mj*����.LuXb�C�3
7�|�I\�X]��Aر
H�:��95)/җ���l\
'`�9�+�8��`�Dx��Z��
-�������/i�O�#��0�֩m$�D#�"5ubR#���;AW���U
�8^
��
�
s$�p&W����wv��g���^��I�
�f�2mvm��Z�s�E(�ҹ��m$�g�œ�M��]�0D?v 1�n�����K���}�[��3��-�Nv;,�
.$6�3�ֱk��R�~���k�v=;�Â�[��� �q��8�
���/�TF���<�4�aݝ��m6n�'�}J���l8�̶Y��w���gN?��:7���"Fi���p'� 
�%�C=D
-�?���������R�
�B
�|��V��\�6.t�۰��o����gBL����U~g ,/�
n7|é[{����85
UԞ%SC����ī�
��>�����|j�O�:��v�x����	-wh_������v��T.f�9��w�F�
,ϴ�.| �C�����o	�
-
n�Yܑ
ٿ�H��_��6endstream
+x��Z[�۶~�_��V�ZX�A����M�i�θ�&/�GCI�[�THj���=��&BҮ�����!p·sqt����7�W�o%�4Ғ���.�8R� AIt��>NA|:#�ɻ)����&�wS�'��NWe2�1[�Iy��yS|�~����-!���HH��	��H��hK��۟�P �-�_OL�tC�MRU�xr;�t�nw��N����.-�$����4�0i&������+��X4�B��h����	G+�!ˆ�8z�TۈS����տ��Yd)CX�Y�W
޺aq,|
���Cx���a������	<%C��
x�.�`6��Vn�/U��</�pՓ��e|��
77�j5�v�2��
q4c ��Y4�M��o�*ۦy�y5O��|g5��w������ni�d��}��FD�f�m�9A��x��4Ŕ6D�|���'G(p�pFt��p��+�/|�ZU�YA�D7�60]�x�l�N��<:�;t�}]���7�l�� ��+E���c�n����,?�h� [...]
ňs#�B
�ZoJNzq:�

>f��{������R7�N��>d�}�y�ݯӪv�Y�J
�-��������1���\���:[��+��U�
�4�;o�:����V�
+|�-�¥5L��V�f�ݙu���]�A�
�7�å�.

yRf�bӐ��<wX²����b���v�
�p��~��b
KxV�I�7l–$�[��~�'�M��
�0��8#��t���GU' �+���:��.k/�ܕ��϶�+,L��A�D
���
L3pB�:b6�I�z���BEi�b�Ɉ�*/

������
�sڪ��)�6^ +��t/|+Z�V�M��J�xL�({0N)
x)Q����tc�d
��;f�
e<�+���Z��!
+&Rmt��B�TP{���dz��nC�bB��W8"�;����� �ף
+m�F
��ڛ��1S�mր��F�L��K�c�w�\���
C(@��8���rs=Av� x�le�7
+i"��6B��{ZsH
`�.�AzC�0I��b�H$�OdZ< ?�%BJ��8I�s~i�� M��,�|Ʊ@4V�1�'��ȗ p�9��}�e�ɻ��3�0��j��L�-�NK�P
�����
Sp�)JJ���RX�CM4HC?���4���L�,��W�8�Ui�l̇�z�s�;쳺r�"���0���n�<�
��Q�0���, ,����:�CU at N�T�!�Eބ`��u�Njw�Lrw��dŢnR3z�dN�|�R���
�}u"s.�U�i�g&}q�s��Onxl��1Z�
D:�?����-�cV�/12XBB�Mّpq��7
+J{��?�u�5��]2���0�B̓���xJ�Q@�D)�^R�Q��Hv
��0�
+���:T1�i�J�϶�rF�ϥ��F�+	3�,JH�vE�r��8$��{��uy�J1��2lϐ �_ĞAF٪X���	���Z��6B�ڳ
�|�'��z�L�T�_BiS��}�, 짵ͅ�ph�@{m��2݁<�5'��A"���H��Q��%���#A���S�����~��O�I$$z�\K��B;�g�@��
�
�
+�1�F��񓙶GB���|y���[X�d�-�_�(E�*cֆ�>
���0쪥��I���u�F��a��J}A|੣������O5�����.��ƌ
V˃���Ŏ�;��׈���~&��0���چ�K��G�:��
+A�&Y�<S_\��D��:���y��S��؋/����*�
�
�
��F/�_��q�Ul�������k�
xp�@�����	x�#z���4���! s_��=!G�O
m}|07��=f��5��6-r���Q�}���ͦ���
+�#f�}ZV�-_�iR��چk3�흻����n�u �1��K���6CZ
�4��7�r�bH*!�>�pZ֍-tJ3����2:>�0�趗��5�k�T5
isl��E���ߤ��M���|�}(>����3���ӭY�.Ϊ9�R��
�KvIY�OSJ����6��t�23}��X
J��~�.�56D����
/.N�����\�
+��&������	���M���'�F@#�3NE�	��0\[A��Q�

�
Y_l��l�ڛ�����;T
+�rwZ�E:/-?Mɴ
+`ɮ���ǧT���/��^Ҥ��Z[1^f<os�فs��#����
O�
�:�����IJj���������E���*��w��l�`
OP,��yո�^�����hs�s$�y�cs&��8�y��L�L�u�4�W77Y>���l��<)��[S��Y�7�
Υ
���I��������Ȟ�Š-�3H��.����ĩ�K�&E�\�p��3��.�j��z��z��_ҶF]�s,8�,�j�8
�1<�����~��"MD�� A���H���D�[�r~: ]�J'fHI�减�<���%/s4��~B�i��9�#��׋��N�[w�
 s�5��'!v٣R2����d|����
+��w�q믇ΘB�!O��ҕ���{���f�a7�Q��n_�~;}�#��E��
u�'
7��sI�[L�_Kگ$E�y S�u��e��$�~��o��n�_s7?Ui�ǩ�?��}l�è2�
"�+SŒm�錁��6!̉�����ǕŰ���
�.��zws}�������ٮDY}��m��J���������m[�i
ap�{m�ȵ�5
+endstream
 endobj
-3507 0 obj <<
+3463 0 obj <<
 /Type /Page
-/Contents 3508 0 R
-/Resources 3506 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3458 0 R
-/Annots [ 3513 0 R ]
+/Contents 3464 0 R
+/Resources 3462 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3470 0 R
+/Annots [ 3459 0 R 3460 0 R 3461 0 R ]
 >> endobj
-3513 0 obj <<
+3459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.708 272.688 250.895 301.754]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 227.232 483.212 258.201]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+3461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3509 0 obj <<
-/D [3507 0 R /XYZ 90 757.9346 null]
+3465 0 obj <<
+/D [3463 0 R /XYZ 90 757.935 null]
 >> endobj
-3248 0 obj <<
-/D [3507 0 R /XYZ 90 623.1542 null]
+3466 0 obj <<
+/D [3463 0 R /XYZ 90 733.028 null]
 >> endobj
-3510 0 obj <<
-/D [3507 0 R /XYZ 90 609.3659 null]
+3224 0 obj <<
+/D [3463 0 R /XYZ 90 556.83 null]
 >> endobj
-3249 0 obj <<
-/D [3507 0 R /XYZ 90 442.7197 null]
+3467 0 obj <<
+/D [3463 0 R /XYZ 90 542.286 null]
 >> endobj
-3511 0 obj <<
-/D [3507 0 R /XYZ 90 428.9314 null]
+3225 0 obj <<
+/D [3463 0 R /XYZ 237.535 381.142 null]
 >> endobj
-3289 0 obj <<
-/D [3507 0 R /XYZ 90 255.9814 null]
+3468 0 obj <<
+/D [3463 0 R /XYZ 90 364.442 null]
 >> endobj
-3512 0 obj <<
-/D [3507 0 R /XYZ 90 242.1931 null]
+3226 0 obj <<
+/D [3463 0 R /XYZ 90 207.306 null]
 >> endobj
-3290 0 obj <<
-/D [3507 0 R /XYZ 237.5353 89.4414 null]
+3469 0 obj <<
+/D [3463 0 R /XYZ 90 192.762 null]
 >> endobj
-3506 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F74 478 0 R /F108 2791 0 R /F8 523 0 R /F33 481 0 R /F7 526 0 R /F1 573 0 R /F10 484 0 R >>
+3227 0 obj <<
+/D [3463 0 R /XYZ 90 89.441 null]
+>> endobj
+3462 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F10 473 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3516 0 obj <<
-/Length 2598      
+3480 0 obj <<
+/Length 2567      
 /Filter /FlateDecode
 >>
 stream
-x��ZKs�8��W�4#UE0
�˵��ٚ��c�2�7�LJEK��D"�=���6������m�UI4�����["3
d��Lr�4��l��³{x��+↗0��
�p{u�Z�FZP1��v3�8%tv��0'e�%���,���>_�YP<�w�Ŧ�W��wM�<���PY|����5!����,f¿X�hQ�e�K�t�>1
�E�zq�����q��
�o�΋�a���}��͂�yQ��&\�	fҫo���69�(��W>�����FL+>{����t���(�7��wW��y�@�B�P8a/9���SA
e�
M�7֛A�Ȅ�%���N�}>U��d\�9
-��DO�E�`�0vS�;�7[AJѩ}D��1"��@�)C9��k%�ڀ��Q���ْI�4�.�04�{�x���jS��X֕���1�k�k��{c�yS�w��zW���Y8Z��$%R�ﺭWwŪ��p��ϋMb�+!�wX�8�hjP(%^�jWV�G+�iO��8ְU�W6o��`��滝�h��
ź�
c
-H�'堡�)�0S�F�?K��Z���.�4˜�\4�`��3>��h�7��	�H20��� =F�!�"��f�<����DMk$H��DI$��H
�6��7�z;�A�@�o
Ì4�N�m���g4���~A��1��J�iux�K�s���2^���T�[g��i�㡮6eu��
���׽����y��"
-�
6ߓ��y
-R�qŏ_�š5 '�=����Q��w/�E�vssSV�
i�+7���յ#PZ!a8qR#Aj
&>e̐`p
��}h����
���[�h_�E
c
�(f�(�!� ����1@�@�ĞTʣ]3β���������n�l�U]�G�ݧ1���20`L�Іκg�����
4S���NM^�� �)�x�4�9"��
׶9��c
�����eB����5B4
'(�4Jp.Da���p�Q��񟖩������3�~�f
�����hV���le4���CR�̹*�N󤒲
l^��$e�EI��1��IY�*��4o
����5���](�S��|*}�����Hl���y�]��f��(��4����Sh�A��3hj�	
�H3h�6�TȉAG`�
����2,��
OYu�3�h���e����O�����e4β�zv��D̦(!3�J�4%��a�.�9J�b�4%@XS2�y

�K,�
�c���w�׏պ
F�	�pZ���z� �y20�DԀ
���0��c|��x�Yu�� o!�����!�V �o/�L�5�	�:
43L����7`��U?N��FB�A:6AcxD_��x�²�pO��κ��QH��PÍ��|2�I u4D!�.��A~�a
<��vJ��c�l{�A��fH�(
�.�6I�,�(��B�/u�J� ���u`R &�t�$ͧA,2� #��ٴ��xٸ� ��P�Gˆ~K�
-NM����n�/GHČ�?��P�뇁� �2bI%�J�ڨ/�>5�ߘ5FAČ�}���\����z���A�
�C�9��&��r�,�/m-OB��Ҕ�&���F��1�黺�V0��qo�W�zS�T4!�
jݸ
�������eS��MuLf��Q����c��"`"�<U@
��y�1���=�G~�ӱj�$��;��ܜ���†����۽
[�K�;b4Q���[-�e�?Zi�
����gW�s�46Z�S�c�)L��p�X�Xr):�+Jh���‰��@���r�Z+�L��15ݍ����\�]�A��+�u�[=Å3\/��z!��9�d2 �X����՘���T�l�-߬�}�t�$!��B\��(�u�+׉J𯷵��|z

jD��*?	�{)a�
#AOz*x1��Ai���>��*�?3 �J������g,��|�X
kn����x���s��A$嬞��e�2-�d't��Xk�D;�+_��x�;���7��עMv���6U~B*!}�ۙ��U8��T�>að	ة��x���srQ��:�h�L`�:4��<l�L�����	�u=�i��ˑ�!�\�QW�+���8oo�Tǩ)�Ʉ&�i��c��z�U�t��g1N�W��T銔
M�ϩ 

U;b��߂{e@U�]�':�P6�������
�"L���,n
-؋�B:$��
Z+6P�H�d@�I�0`�P���2,S��?����i(E�h4f��U����:2�6�
S�`�.2�ǚ���TFa]W��S�
<�����ˋ�3�p7�rV�:`I�1Hf†��
�HU�U�
-xʡ���)���^�G��6�\٤�d&u?��uS���I~��m�I�
%���QOr\
�f�?�p?X�m��7���!�f�)��_3�����&�B�(Gs%�f�
׈s���l
����WD�BD`���P�wӔ��ADE��������.{�]��_Ǣ�~���9�?���'&��L��d����&��+���K����XAv���_��;�²��O;N�
��e�m{���~zzB�#z��C����p�]��+��dRO
�2��D�gJ �Ia��~Ծ+*l���<���V|� �縉endstream
+xڵZ[��6~�_�,�
�uAz��!�L6٤jv�7/�)
r7
^����>GH �e�ә���8:��E�9��Wx��շ�Wׯ[%(T�nw��"A�du�����p�!��͚� m���͚�.�
dޤ۟��&m�nn��?�?��t����D"�"��z���C�I	Ft
���
)��q̿�a�0�2m���r
ܮ���L;�5;٬I
�*�[	�q at X��^}{��+b��h�E������x����V�$^=�����28��wW��‹�R���Y�'�nP�t�1
L���c8��{:�*���g��	]ē�(�F��c�y�vƩ�"-���U�u�s"�Q'�����ܺȝY�u7��Ն���$^m�
+	7�2��
l�h§>{Ư9"bѯ
�nn��a�
�Ln�b/��?��8�
s��U�.�d�$���~�'J�T��"�G�8��K����(�
�Jڄ$A"�.�,*�A����
##$ 	�#�JX������t������y ��n�u��>M��n�7���v�:ԛ{�o�Z��4zz�n�c���ȹ1�j�Q��@bt��, �l��m+�1
�Q��(F��Zg�)���ј�H�5�dV�,J#��J���B/��af
��+(�5lh�8$W��Iƙ��o�
�d�?��[�
hj5�S�˙���,�5��� ���[te�I������l��f��wu]�
����݂���6��z��
+�����:�N={3�� ���؀�F#�Q�*����T��1�`
&� �ruuU>�[ã
"����F���d����.�;����A�>���ϲz�A�O��\&QPtf�A@�|��w|�B ���
���ı��o�J�
+_���H��s��H 4� ł�NQ$�����]�*�0K��J	sUj��;��YZ�=�0�N�����hÉ�a�qε���P$q��o=L�_�Қu��Wڣ���(�	���(�p�
����%�d(��Ѹ�+y&cg��B�_j+�&U�?+�[HA!3�loLS[�Bt����ۢ��a�.���~أ`}iy
sW�ٵW���?�2&��қտB�S۰ć[�J�g�蛿�Ÿe�-!�6��c��
��w�x�N��G�d���c�9}�SE՘>zg��q��:�5�Y�"WP�lT�9��F�
H%�$�q�ӗ��2�s ��TrVZ��V_>��!G؅~�jɧaG
+���wi"fZ��z��^b_���(�i��9���Α R܏@@
��
jA,���w�W�@d1�mi��9�����bJ�4���+�&ը\�a�7y
B)���C�����k�
�
�~"�
<Bg�ʃ
����N���@���0��)�Q!5���N�(d�c�����Yk�����c�Ia�Ȧ�p^K3IU�Ye���&�˿�b¿�b�݃:

�P��� �A2�)�F�͛��J��fCX������3�C�Z�}���fp��R$U���
�UAP݁aH2k|п��rȒ�5�5� �r��ͺ��%(�/n��8Z��Y�
����/h��H>c�#R	�ͭ�t�}U��U5�ҦH�J���_!
q��6����?a

ɑ@������\�B�c:Z�>l($YJ�ۄ����^*
v�td�O�v at V���դI1�@V7��u��-<�L���\���1K#�zj.NBݵ �_�ma�;״��T�6-4�2�� �s�
�u�ò��'�̴s�1�m�j)���?�

+�����:��d�z�ѡ�k��Θ/�Ab
�k��?g���X_f�d�����(B?�e�o���xvK+O ��!]�UKE���e/�N����n1o����y
D��\!�� V��{�ʦ�]>BlI���}G
Ӽw�S�"�W���H�Q~%���NsUp��e�g�5#5Xp��J�a)R
���w�
��ۏ5�����$Dۮ
��k��8�@Om�m��8R;�ZԚ:�r��~0��3J�q��
��O�c6�� l	��S�99�0��S�k����p�Y��VD�
�x$�z��q�3��l3���*{��<�cK��
B���b�#h�cn1�|!�}��+�=��m����gPU	�uk*����Ē�ǒγ��
�� �����J�M~l�9�#�
p��0�\F�/<�3��#�u��A%Jo{��g���FD� ��@Ň�%���U݃
��w:�R�L�
��Y
!�R���>�h����-��_X�QF�TO�A��E�9;���̗V~<>�.�������:|F�S�W��� �/�
�qxfnm�g>%��i!�n�Is��v�)������zK�efZs`0���J��+;�3*�?_"F
1����*º�gT
��Lsՠdڻ5�M sc��U���Y
+><
E!�����%$~�`���\Pǫ����
׬�-��'߽a�o��җ&����Z��m�y`��%���7��c���0��"�Ff>$�^�;9t���>����h�i������
��ps}�����
����>
��S�i��D"ۘ��}��P��ܧ��l� g�h�
+endstream
 endobj
-3515 0 obj <<
+3479 0 obj <<
 /Type /Page
-/Contents 3516 0 R
-/Resources 3514 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3526 0 R
-/Annots [ 3519 0 R 3520 0 R 3523 0 R 3524 0 R 3525 0 R ]
+/Contents 3480 0 R
+/Resources 3478 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3470 0 R
+/Annots [ 3471 0 R 3472 0 R 3473 0 R 3474 0 R 3477 0 R ]
 >> endobj
-3519 0 obj <<
+3471 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7077 646.6313 250.8953 675.6971]
+/Rect [322.376 678.378 385.519 689.281]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-3520 0 obj <<
+3472 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 601.027 483.2121 631.9958]
+/Rect [89.004 383.594 239.856 394.498]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-3523 0 obj <<
+3473 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.3762 388.0387 385.5187 398.9427]
+/Rect [172.639 189.301 300.161 199.582]
 /Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) >>
 >> endobj
-3524 0 obj <<
+3474 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 93.2552 239.8565 104.1592]
+/Rect [142.144 149.136 182.164 160.04]
 /Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+/A << /S /GoTo /D (main_expand_space_dimension) >>
 >> endobj
-3525 0 obj <<
+3477 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3517 0 obj <<
-/D [3515 0 R /XYZ 90 757.9346 null]
->> endobj
-3518 0 obj <<
-/D [3515 0 R /XYZ 90 733.028 null]
+3481 0 obj <<
+/D [3479 0 R /XYZ 90 757.935 null]
 >> endobj
-3291 0 obj <<
-/D [3515 0 R /XYZ 90 580.9523 null]
+3482 0 obj <<
+/D [3479 0 R /XYZ 90 733.028 null]
 >> endobj
-3521 0 obj <<
-/D [3515 0 R /XYZ 90 566.382 null]
+3228 0 obj <<
+/D [3479 0 R /XYZ 244.439 386.747 null]
 >> endobj
-3292 0 obj <<
-/D [3515 0 R /XYZ 90 462.7644 null]
+3483 0 obj <<
+/D [3479 0 R /XYZ 90 370.02 null]
 >> endobj
-3522 0 obj <<
-/D [3515 0 R /XYZ 90 448.1941 null]
+3229 0 obj <<
+/D [3479 0 R /XYZ 400.69 152.289 null]
 >> endobj
-3293 0 obj <<
-/D [3515 0 R /XYZ 244.4393 96.4083 null]
+3484 0 obj <<
+/D [3479 0 R /XYZ 90 135.562 null]
 >> endobj
-3514 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R >>
+3478 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3529 0 obj <<
-/Length 3059      
+3489 0 obj <<
+/Length 2815      
 /Filter /FlateDecode
 >>
 stream
-x��[�s��_��T�V8|���4�����I7/i�CK�D)$����]� D� )��:~ E.����0Ya�#+�WJ(d����������z
�}�/�n�|%�� #�\�=�
$A������&�͖`���m^g�1��nC��t��)�W��?��*�~�����~���7o�"�ǑH���
$�
?�H�A	F�O��ݏ	6h�'��"��
���l��뻍���x>dM�=�>̫
����#C�^�,ӛ/�6��*�כ�~ƫ=h�����b�~`D����
���8��p���{�~�2� ��P��,X1��3M�7֛B�Ȍ�R\+G��~���Z��L�Bj�Qs���i
�o�qNž�9�F���$�
Vss���$��2bF�H#����sV�﷖r�eJ�!�p
V0B���>g��~_
�.Ne�g���h�/������cT_`"���鷬J͊!�
ş6[#�[�%+�
�~��,�lAT�hb�D:����P���
��=�-�Q϶D!I!��0�rp�:�����&�|K�����N�"w}z�͓��V�����SU���T���ꔚ�!`s32C$�!
���B
�	��
	�i2�=ѶO5xm�
x)��q�t����U};
�`�WJ	0$P�%�
��&.\{
-���
mL�05�@5
6�5�@���y����"DՌ���O��^W��P��u��V3�H@ؤ�yQo�lN��,�C4(
�-
�ƃ���Bƃ���X�Xs
-���ڵa��
	a
�B����S̈́*X�[��|���
�q&
R���k$E�^��������(7
<3;���z�
֌�2��V#�j,LdG��
�#a�
�wη��D��6�b3�ﬗP�+�������
c.v�,c��
u�X��T��M�
E��o}�9�y�`�C^�m���:�����}Z/��B��)$ALb!"�Ii��^�}���6���s�f�P��Kh���;�>�m0�5���\{>�׻�v����&�\̭����3�wea
�I3_6u	��"#�[��p{#%�n_Uo
����
���A�E"��������*8[����/�P#��b������6��
-`�

(W55���v�L�� 	�L��0K�;2��Hn��:��#zjs�a��pYk�g�'+�(��n̥�e����S�D��pm�-X�W�:�P���'m'��A��O���s(u'3����T�KҔXbLIy�
"��P�^�hݲ���+Rs�6�
-}�'؂�zS�#
��T�wkQ=
-t���+�4|L�R�w��>y"�xZA�|d�.#E2h���@�av�TK�kf�x�tׁ�D\�]�D-['

�
cR̻˥�LxF?��q
jD
�
�Q�&��	qf�F��q��XFڋZߦڮ8�'A���>t :I�%���(���P�S��hַ̚S�(��(ed
-b�/%�G��^P ��`��B�R�|>9*]1Q�z��F��wU���@\��S^}A�v���}@���!w�?K�C
fK��Ks���[=
\�-�$TC�h���R��F�>
*�r�u�`
u���M�0������eJ
-�� �SZOa�0�#J�Y��<��\��
-pH-�C��X�w�}��N�
����E�PJ��nj$I��
-dS~�"1"��Ye��
�⥰˲�e`F���8*�AznQ�X���#�/H4�k%�qC�a$���
��*	TK���Vs� ���B�V\6 u�5��qj9X��{�>ٜ�y�%(r~� E��MC�Ѱ���J6�"
��Z}�듣�g��%ɚ������2����GK;H�Oa�����j�'����0��Q�j&a���S���Rcϸ�H��k���r�
-��r#aҰ\$LށZ,�rQ=���r�ս��ř���#�~s�-���x�h�־�t���Ǩ���m1�m�#��P`�ޝJ7�uWviA㐅R�Y
(
-�
V�F��o���w�w1i� 9e�<9�%���i<�%k	�l2��le�E������kK!CB!��D��z�O�hMe�å�a��'[�B��}�v2� )�6n7_Qs{�@
@�ɩ2���_t٭tX}!�A�(�� g\	
�BB��
Y�%T�#C
I�^��Pa&�3��`���R�1H�0�+���r`�P|y�X7�R[�D1)�L#�C:�A�$��^�
3���0Q�3ΜS�su#��6p�n�DGUE���t��ʎ����|�'Uپ)�#f]��`�A�ᨺ���}��#��~e
�D�x�$�h+�ٚt
�������
-=�~�Ҹ0$��
��/ɢD�ځ��Ю�7N���_#Ê3,��N�u`]�(�))$8iB�]�;}��j��q� ��}�r	m
����5n�7��}�*+>u
j~<�W
�B�����w{.�0R���
P�ӈ���
���
1j�#�ϝr2P1\�T�_{�Ywy-Tg�f	�>_ =
�ׯ��
�{�7����,�
�=��=��;<�KxW��R�b�r&�n�j7q
+x��ZK��6�ϯ�)+UY�AL
UI*N9��z�Y_
�G�f��H��<���m AP���#{؜H�P�����&��n�g?_�p}q�T��FZR9���4�)I��dv������bI0���
��q��o�/(����ɺ�o~Ko���pu�C�~����˧�t$)��
�~c���h;����)��v�w#B�nF����r��ϯ�Γ�~W�}�"�$łD�$[�#MD4',2B/~��x{A@
���B!��l��x������FLG��z�n�)��v����Y�Z8��&�JD�,�j�i�]R%EyU/�/��]u#���-��b���6��a�v��9�O����B4溾w�)�����oc����������W
B�9�o�I0����;YUnVyQ$�>��ivgU���S�㕻]��$+�<+ñ����V��~�}�N�%Hs�����M��T��&���-�h5�'�H
T/�\�ݘF
x֪�
�+;&-�?�Ȥ��,��Xj�!
aTw���}RԃQO���L [...]

�Uke���J��`�m�����hZ�����蘸ȍq@[��<������s�(i��;��Ew}
�4c�{0l=&��*Q�
2�7s���L�U�ۃ=�}6�
��~`2¨�o$9���FP�[<ʋ���.��$f���l�H�-�(b
�O��O�`$;!	�٬��
P�~�6�l/�Z9<i����"�����bɉ��-s;C��\��fs�%�פ%1RJw�͈���@&����Ҍ�r��dh�QU�@��^�Z��ka�� ���5��`TL>�K�U����FG�3� �q
+�8��5F6 B3j�?1u'�t,��ZRȱ.+G]����Sj?��@X�I��~��,�7��6K��?�/B
K�}��
�d� SƝPt*�8�:@2�e��N*�‵�uB�QݤV����K�G��}�;���A��ߤ�Ա
zx��3�rn��>�$y{���d�����y����֤a
M���Qh�h��]�3�.��&��d� Jط����U5&KL"$Ԧ{s�lon����'!��r{�m�y4��pMj}��E�]s\$�
�̸9�`��"j�H�'ӬK�
ҭ��=�hCgi��D��	[����A
��?US@
��S�
T�	T�ILk5R�H�?Y�h�H;'�²��ꛯ��c�6� g�SJ+V�_�|�ݔe���� ^
l8�)܀o�jm����~e����Wŀ�Gp��r�a^��t1�=�
 �ܯ�u�m�����%�@ ��D!I���H�C��7���.�5iP�jۘ�6�bW���l]q9e�raE���׌VH�w������ʈ�^C0�)b�L3	�Œ����n��t��
} �D�s�?Z�ue�څ�j	�L
�L|A,3�|�xw�F:7�'�:��ԕ)�t��O��䤣M�N��
��us�QΤD
 
-��>�
fF��c�3�>o�+ߓg���c^u�n��x�x�U民��s���ȗ�
��\��UҘ�f�O5�lRh9W7���g�͑�f3���ٜUȥ�
	�n6#a>��bx$[:XuJ���d:��Ry3d��;!�Co�m�3%g�)�N��H�07���މ0�jo�x�� �T���;�Q��މ�l1%됒��e]�"�e��(���D�(}���.L��M��ډ

�g�9��&���$w
��S�����9�J
�A�bj� ��u�H[�돱�4fd~�M/��4����U 1��"0�!�x��-sʸ� CI�
@_����?��
�J��U{�J~�?w��S#58��
$!C1�/D�3����i���y���y���u^�a#�����Y��/]��x�E� j{z
��C*�8)��Q�������ݷ��'�����?`w��o
�4���͛w�ޡ]����\��ys>�
�b6p��g
�
D#Y"��I�ؓ@=Y
�q��
-)

�[%�aݑ(����endstream
+� �\P�hE\@%nP�v�:%����C��~����� ��F(��YPh*g&
:3�L*�� )Ao��T��2��)��%�F}f�31S��"�0S~2fʿ0���L�E1��cf䛳c���6ϷV�'�%;S��g
Lg�mn���-������u�z��:э�� �L����!XK��P㦳�Z2���R��B��
�L��o8�?�����R��lt׽8�.�瑽�2����
��br�gS�_��Kx���O�(���45D�.Ԙ7������dZ�f�m��P����*`	T���d�!��qo�dv4�<�F�A�P�xH��.c|(W�W�*�S �v!�
b�O��$��<���)N�� %M�D��Y6����4D�ȳ�����*/L�c��l�k�2�"�B���1B�r�~�gC-ļI-��GT���@�}��dę	���q�l�6���nc� �^s�#��)
îm�5L�F�y�)�{܏*�e
+9�}o}y�_��P �
��
�Xl����鈇���?���}�'��~�9���{Cݱf�t̜�-3�L"Bψ�Ry�� �~��#�4�<5
�����7V�
�t+�S����ڡ�z�Q��Ϛv!���##���Q�X���a�R޾���͠� ����� iG�;~=�G�&ܧ�1h�}$֧݇��`:�V��L�������'
"�U�ݼ(��#��FL-�-�G%�<��
+q�\yX�7ˍ���Wq�g�
+�ۖ�̔��&E���?�0�
��ۡ��o��<�׍s�z�i���]�@!`�k���楣��͠����>
Dd����ʞE0BO�
+�y�8G�ԩ�fV���Ir��&/v��	v���	X�I�$ ��l�)&�� �؈��.�&�k�0�n��>6E�;��IS�6�v�k*���
�5/�v���@0|f������y�V�q��'�_I�	��JL
��o��ֲd8�|�6�p�n�!K�
��
���J�9�R��)���"wċr �T������NLIb�>��v#mD5�o��c��#�`~�>L�mc�h�?M��=i�H�y
�T���`��t,"�pE��J�

�%;�Dǂ���y��:��;Bw��
+�^?~���Gv,�}�[a���[�߭�ZM�wj�[!��V@	z��<�$�s��
�����4���1�
+r^5'������nEۛ�3�@�It�)��T1�l�u�ȝ�@����>7nb���l���tk��L��-l����8;t?�[�+|
Đ��@�	>S���L�s!V�?f�ݯ�A��)f�����������Z�ɾ@iu��o/��kx)�
��������d���9Y؄�\8�
+endstream
 endobj
-3528 0 obj <<
+3488 0 obj <<
 /Type /Page
-/Contents 3529 0 R
-/Resources 3527 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3526 0 R
-/Annots [ 3532 0 R 3533 0 R 3535 0 R 3536 0 R 3537 0 R 3540 0 R ]
->> endobj
-3532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 571.1359 300.1613 581.4171]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) >>
->> endobj
-3533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1437 535.7288 182.1636 546.6327]
-/Subtype /Link
-/A << /S /GoTo /D (main_expand_space_dimension) >>
+/Contents 3489 0 R
+/Resources 3487 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3470 0 R
+/Annots [ 3475 0 R 3476 0 R 3485 0 R 3486 0 R ]
 >> endobj
-3535 0 obj <<
+3475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.5022 435.8674 241.6898 464.9332]
+/Rect [206.502 704.958 241.69 734.024]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3536 0 obj <<
+3476 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 369.0286 163.8226 379.9325]
+/Rect [128.635 631.459 163.823 642.363]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-3537 0 obj <<
+3485 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.5494 310.3339 513.9963 321.2378]
+/Rect [486.549 568.006 513.996 578.91]
 /Subtype /Link
 /A << /S /GoTo /D (main_fold_space_dimensions) >>
 >> endobj
-3540 0 obj <<
+3486 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3530 0 obj <<
-/D [3528 0 R /XYZ 90 757.9346 null]
+3490 0 obj <<
+/D [3488 0 R /XYZ 90 757.935 null]
 >> endobj
-3531 0 obj <<
-/D [3528 0 R /XYZ 90 733.028 null]
+2869 0 obj <<
+/D [3488 0 R /XYZ 213.427 559.204 null]
 >> endobj
-3294 0 obj <<
-/D [3528 0 R /XYZ 400.6899 538.8819 null]
+3491 0 obj <<
+/D [3488 0 R /XYZ 90 542.477 null]
 >> endobj
-3534 0 obj <<
-/D [3528 0 R /XYZ 90 523.0112 null]
+2870 0 obj <<
+/D [3488 0 R /XYZ 90 441.709 null]
 >> endobj
-2942 0 obj <<
-/D [3528 0 R /XYZ 213.4267 301.5318 null]
+3492 0 obj <<
+/D [3488 0 R /XYZ 90 427.138 null]
 >> endobj
-3538 0 obj <<
-/D [3528 0 R /XYZ 90 285.661 null]
+2871 0 obj <<
+/D [3488 0 R /XYZ 90 326.37 null]
 >> endobj
-2943 0 obj <<
-/D [3528 0 R /XYZ 90 194.4082 null]
+3493 0 obj <<
+/D [3488 0 R /XYZ 90 311.8 null]
 >> endobj
-3539 0 obj <<
-/D [3528 0 R /XYZ 90 180.6943 null]
+2872 0 obj <<
+/D [3488 0 R /XYZ 479.157 171.728 null]
 >> endobj
-2944 0 obj <<
-/D [3528 0 R /XYZ 90 89.4414 null]
+3494 0 obj <<
+/D [3488 0 R /XYZ 90 155.001 null]
 >> endobj
-3527 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R >>
+3487 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3543 0 obj <<
-/Length 3070      
+3498 0 obj <<
+/Length 2542      
 /Filter /FlateDecode
 >>
 stream
-x��[[s��~ׯ`_
j���~Q��$N�i�&�����h �0& #���g�䂠eɓ�=���=g����ox��O4�H.M���W'hr
��r�����u|{~�����hA����� p�	&����)�	;�a����)FӴZ��O	�����lQ�?�UZݟ�}[ޝ�;���+�;�	�����l�^�%�j������!��&_�
-y�L��tF8���j2�V�e�d�ɛ�*�N��f�

i��Se��|
��ɩ��XN޾C�X���P���nP��&��	#��,O~9�G�c_�?�M
-��Y!4A��0+	���i�z�vS�PS|��2�LIנ�_gE�2�Rt`*K�#s��r
.�ri�=؃`j��=�
��<�SB
������u�\,K3�۬���Lf�YH,'3��9v:n��u�_G�|�u^ƞ�'-{�%	����>2�h����|:�0�Δ�˳�P�D���|Y��""��qF��_��կ�y��p��!Ȋ�tF���/�lB]04���eQ7�y� "aLy�x�˼��ن�t�(' /&U&� X�nt�����"�	I$"�?�=�<�2x����uj@k1
nb����)Zw��k[]f��OoO7%HL���TE
��E~\W��"c#:Q*LR$M�ۼ��8�;� V���h�M�
0P -N�,6U0
�$��nO&����^��f��9��(�jO�J�P�3��5E���}�< d>/�E^\/��d%2h^��sY�ћ�u�R��0ҟL(�� �3g�4/����xIj �`�����uY���FMi_��S at YA�G9��
�H
E!�!��u��@ߘ�����ll!6�ӫ�\�ǻQBĴ�aY���3�
�p�F�9�сC!
C���q�nR�?��A�N�l*�l)�>��]!f��^�Kg��,62�`rD+X�C6�;��j`��Q#`N���
��}8�WV�
#���'N��[�|�iz
-�ro�1�Q
+�X�yˀ���[7��$�u
����� .�P
tCj��Lc?m�w�/c�epI��~D
EH��8�G]!U支����p@�Z ;�|z�Uu
;d�\�
���!��cC�	
�Qo�7~�i�3�yZ�E>�uHI����
^U�1���P(3���El0X�y����:8
ŢEu�m��>��2( !jw<ݼt�n�D�K0�� <��0�������v��
-Y<�&L��;��
-�Z�}|UV+���y���D)`�n��E�@˜�T'*�
-냾�$�c�5�0@ �}oRS�f<�զE�s���$�������MY��v�o�/0;����Z�u���I�0܂��@�#B��H׽��EDB����ާ.3��p�p�)�w]ek(%��Ӭ���^�;�J�wI%἟�Sx���%���e�f#������&�C;�<}d
-p7_��2E/�k�M������U|M�c�w�e��h�FHz%2`'�
��hfљ��&�ck,M4F4 �~�6��&\*f� �{��<�� `-�ւli�!I������-x{=�{m;
�h���d-6�u��0����o�`,�
@q�pƂ�X@
zY��į'�0:�[O�X(
�C���X`����1l����9
#,�>a�
a�<�: ,��tLGg,P�����@�Q�c,�c��~4�
`,B`~a��
lܱ%�
ͮ��TP���c
�O�A����b����q�bkbKX(�St.��^�,�
�Hk܇�?X��=�?MAFi
-����]%��6=�"Z�,��v���m��Yi�� ��xr�ց`J
��{��A
H����@��U)���o���La�n^m�������oV��7�L������*Sj(i�z@�)�p��(ч�Lʃ���iSV/^�{�Ve�Lh_Ԙ��\���q�]7�L���G�<�և�F���X)d�,���
-2
�$�Z��4rI�G�=�
-%�}TO��iے/$�o�� ��yD&�2�Ǯ7�u�Aj��h���q�s8NѢ�
M�끳n*t�U����*�=���%���<f���h��l�h�m8�p.��(�J��b��ܳ����5���r�a[#@
8�Z:���W�yj���\q��2`)��#�4*��Y�l]�-���1%"=�.$���d)�!YҰe>t\	��A2������
�p;�,*,�_��7�YL����QG�
-'�돁d���
-2�������L�e���\�
�T�G��2�ܠ\|aNQ6�f�6��Gy�Q�
r��8��'�	��R4��<���^@0虺Y���uc��++�����:Ɉ��<l�D1����B�����G�d{�������3"��he�q���hz���(��a��=��;c����J����M��8�	s�y�EQ�gO�����yi���tfN"��'
-S �m�1��_�&,F�uU(�ͶQZ],�I�yvay,;��/o��{3}��oX�����K?mV�Y,�(��P�"ªg�f�RO��k2C�_X�~_5��G�a�L����S!�==V
�<�B����
)5j~8�6�<�~��z�]?�I
-�A
�vK��\�m�1�b^\_|�Wq�8dk^��W��PMCn�L���!_B~�i�z'a��A�ݳ������'����|��4�Y�J2AK0����iYX�1��;�T`w�M����V5s7�fP���1�4$ZL
V
�Vb�~LH{b�
�S��̥�2��p�����*��;�d
�N��q���

V`1
2��՜1�*�e���v������/��g��i�
-�QlC�rޢa�3u�h9�	)z�'
�?;����:��f��
��q��=S��u���8�
����‚�O�Ԭ��O@*�5�������S2?��_�2�
rr�����uG���?��¤Zu���;ap��hW�}*2ؔ��,�5
��ƛ��z�o�O��߶z��:���Ɏ�{r�C�M�>{����6��ɦ��U�7������qQ�� �L�,4�K��T	�Z�zc	�W��8��
lm=uυL�� 
�H�endstream
+x��Zms�6��_���R3�wnr3m�t���\��\�CK�͉D�$���
��E��zs�b�4��]�>xv<����wg__����l���T�.�3�g�$HP2�\��� >_�q�zNpe������ �<ܚU]�_gQ�pq�uz?w���KB:��HH�+>sSz%�f«�_=R(L�͜��a���b��|A.�f��D�qoޘ���D&Y�+M�
+�V�ٷ�g���g��Q��l�={��V���FL��]9k;����엳��g
x�2��p�h
+���a�
7�''DL�zBqkM�Ո��d�T�ƽY�Yf�]����ƾ"A��?��r�O3𠠵���o
�ð��(n��|-+5V��$y�&h�`���
5C
�'��Nv�np�Y9��Y�u���tND���0_�w2�cX�����,�1�������Mn<�Q��T�[i�
~�fwq^~��G��}Gr�p��M���_`)�X��G�Q���xD(�x�c��|�-�v=g5)�.S�:�lRfw��O3��&*�U�[`�m�V NE3�D��O��#U����Y�
�w;@�rXF�{J}�`�"�u?BFW
��n(�v1`��?:�a�5Z	Duc�XL�kif�u0~�[ �	���d2vdȫ!
�D������&�]Qa+��&��r\(���R��<؅�T��	�~y[k=}y���4�� � ���l Y�, =�0օ��O��d�2�P^mi%�
\������
��P��7�	�^�4���O$m�����/5���H��ޯ�����Ƙ�U�:���҅qZiWF��E7��/и��fǶ$��Խ�a7���>��U������.��d����f�w!������
غE��6�}��P���CpL1�@�w�[��P��Yl� ��^�7�R����>q�Y>}�.�`dձ
+
+�ȯ���>P�<�0�B�8��h
)�,U�3I����t������ }��Ů�t�䥐Q�fϟ�g�"�2M�
�?�0Ul�������I��(9]���
-�34n�s�aC��$a!�&-��)|z
x,���#��ML<x�t�J/A|0A��5
+�]�Y�Γc
"�x�ޔ�0�Q@jŧ)�}��5����s
��2�����r����B23=���q_�<�!컵�*��)-���|
�i ,�ϵg=�{� �q�L�;@��Mk`Y  }Zg
�ڞz�XF��w
TUV{_�D�Q�
�#$��;�+J����֋�|�Cd���
��
��d�Dˣ*Dy5"��{�"2<�!2G�:?���(^u״�^�"
=Ȥ
�R��.�C���.
g�L2����sۏ*
���.��˧E�I�
�1�DG�	a�1<ˢ��^��j�:/Vi^�
h�u�?s�j���1]B��
X
+�m�Z���!���֎�#�A vZc��d�P?�
+X}�=�G�1;ѓ(kۖػ���8?l�I`+C��.Vl��}�;��
�@����'
yHM׿O��%�L&�׉0 at r5�!T�V��T(�7qb��j�E�,͕k`9Ulh��5��v���jQuG`�":��?��ƗQ
j� #����|^ *|{_��r��c�x��u�ma�	wP9łidd#	*�	*lv,A�c5�)s&�=_��(��3�3P�
�
+�Lp��Y>
)��6����8��w'�Wq�Wю>�i 6��1�p�}a�Y�ڔv/l
+�=�D	0'H�R������ILqg���Ȧ|����>�[�c��
��a/v~� ��W at y�$�p;�n_��٧q����c�i�Xb�4 ��
3�'�r�Rɺ�l�Ni`-if��َn�{����x���嫴�>.�߉�d�(���
7�r�Xu�l.�5�;���/���[�����Z
�9P+v;,��ry�P�2H:��~�

����;���R5-�_�` ����aK���
f��y���Պ�2�K�r��lo���u�m�Z�q���v�ʆ,������Zl[j�F��}|'
��~p�ԡ6�s��
\��
��
�����vc��os��A
v�q%P}p��
�ޟ��vLa��_����� ;�;�Ž9	�f�Mv8����
���ÎN�La��
!�W�������rx[���AW�BO�(��)UE}��=UՑgJڙ��(7FBLsn�/"���"�^%���
V�.0

+�� "�$��H�^�j�H��*���	t>5Rd���3;��C�"���m���i/�Y8$���
<��5���-��+%c�+�ēG$�M!��s�V����V}��
�dIIo{iGJ�p ��
+`�ӗK �f��{d[�(���f
��	e�I���fR�W����/���c�a<��nn�/K�p�'�
��K� S՝`��j�ݨ�U�걾k�
�
���_��>�
ۼqps��:�]���kL�
�]f�k��q�/�T�:�����g�[�)f��=�ۢ�]����ݡe��I��P\��v����ۣݰ��u
۴��'�����`~�A~�
+endstream
 endobj
-3542 0 obj <<
+3497 0 obj <<
 /Type /Page
-/Contents 3543 0 R
-/Resources 3541 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3526 0 R
-/Annots [ 3552 0 R ]
+/Contents 3498 0 R
+/Resources 3496 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3470 0 R
+/Annots [ 3495 0 R ]
 >> endobj
-3552 0 obj <<
+3495 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3544 0 obj <<
-/D [3542 0 R /XYZ 90 757.9346 null]
->> endobj
-3545 0 obj <<
-/D [3542 0 R /XYZ 90 733.028 null]
+3499 0 obj <<
+/D [3497 0 R /XYZ 90 757.935 null]
 >> endobj
-2945 0 obj <<
-/D [3542 0 R /XYZ 479.1574 598.4612 null]
+3500 0 obj <<
+/D [3497 0 R /XYZ 90 652.848 null]
 >> endobj
-3546 0 obj <<
-/D [3542 0 R /XYZ 90 582.0696 null]
+3277 0 obj <<
+/D [3497 0 R /XYZ 90 630.537 null]
 >> endobj
-3547 0 obj <<
-/D [3542 0 R /XYZ 90 437.5615 null]
+3501 0 obj <<
+/D [3497 0 R /XYZ 90 630.537 null]
 >> endobj
-3295 0 obj <<
-/D [3542 0 R /XYZ 90 415.2497 null]
+3278 0 obj <<
+/D [3497 0 R /XYZ 490.972 565.828 null]
 >> endobj
-3548 0 obj <<
-/D [3542 0 R /XYZ 90 415.2497 null]
+3502 0 obj <<
+/D [3497 0 R /XYZ 90 549.101 null]
 >> endobj
-3296 0 obj <<
-/D [3542 0 R /XYZ 490.9725 350.541 null]
+3279 0 obj <<
+/D [3497 0 R /XYZ 484.995 486.429 null]
 >> endobj
-3549 0 obj <<
-/D [3542 0 R /XYZ 90 334.1493 null]
+3503 0 obj <<
+/D [3497 0 R /XYZ 90 469.702 null]
 >> endobj
-3297 0 obj <<
-/D [3542 0 R /XYZ 484.9949 271.4779 null]
+3280 0 obj <<
+/D [3497 0 R /XYZ 90 422.498 null]
 >> endobj
-3550 0 obj <<
-/D [3542 0 R /XYZ 90 255.0863 null]
+3504 0 obj <<
+/D [3497 0 R /XYZ 90 407.928 null]
 >> endobj
-3337 0 obj <<
-/D [3542 0 R /XYZ 90 207.8824 null]
+3281 0 obj <<
+/D [3497 0 R /XYZ 125.554 197.359 null]
 >> endobj
-3551 0 obj <<
-/D [3542 0 R /XYZ 90 193.6476 null]
+3505 0 obj <<
+/D [3497 0 R /XYZ 90 180.632 null]
 >> endobj
-3541 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F8 523 0 R /F25 344 0 R >>
+3496 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3555 0 obj <<
-/Length 1953      
+3509 0 obj <<
+/Length 1895      
 /Filter /FlateDecode
 >>
 stream
-x��Z�r�6}�W詥f*�;�Ng��2�Nڪ}I2
Z�cN%R�����.H�)��c�MZ�
D��rw�8{��)�`l�XKM,j<_���-v3{������Fg_+9��*�Ƴ�B�"��l�*  b2Ji�r4�Ux�r�h�.o��E��_dav�����f�f���� {A)"����Y9��R��q[��v�{��ch5��B^,��f2e���eA�Z/�<*{~�.�l&��9vY�& n���W��]ޛ�+p��s��

/Ыߍ(����56(k�x5�W�����ϵ��F�@פH�
�"YkV'TI^X��r9�
-�<]��y��i�){�,*/�Qv�f�hQ6��8y[^�5a����2�O���~����������?mW��I��qnesj�k���~�lb0n>�L%��W7y�,j��S��x���S
=+%O�L��|2��
-
�Oӌ�C-�Ŀ���+|�&�a|��~��򫨼Ȣy
/�$
-��co�׺���(J|8��p(��*
o:��D�Z�0YtI��0��1�DŽ��d�R�D
�576��i�{a����,��WE�]��>����]J�h�_��b�wf��0PEN�քKj�i/�'϶Q�t\
-(��?-u�p.� U�e��t	�pm��bd��&��b�h*�h)�����".����5��^�o��u�
�6�h
��r
�u\�v��(�`�J��uX���V�3�h�F#�
 �´ �� �.<�L p��
�!!���
�/1�]��!�+�9
D4up�B[�^�t�
�6��!`D�����<�Hc�	Ϋ
�?��h^�C��H3�**8O'��y[�:ϕ��=�kH�7����^t&��e_ L�*>/�tY
-,�l���|��D
�ڴ�=����%���Tғ	PK�Ր��
@��7��a:�
'�w�
-p�.`�!���e�#�n�PR7A�!��n9 ����k��K�t�-��	G�`���+���}����tX��.cL5c��e��?L2%��8���
�̝�
����|ݲ��ٌy2�%�&
���/+\o�Ԍn��ߞ
�bM�;@`�]�
-��B�՚v�vN1��g��x�Y��j
Bt� �A�Y��ȡ��M�#{��� d��Q+�MF�<�M+�78��p�����*�
�<{�(e��{)%��-
���U��C)ŠR�R""�K��J f���{I������@��ۚt��5�J��]�s�]����[I�lr�+$�3p����I��"͊(nJQDP�p�pw@�n���-�֝$Y="IB�
�]�jV�t3��/�$DΘ:�J�F��2^Da���u�����b��g�ŋ�7QŚ=B}�2���;S_F(2�c{��U=,�@�͓���q_)��/b5�{���2��
<��~XN�x`� =����>�x�-qu�{�g����_xz^���F� Y$��
#p�
�w%p�bbS���1�2�ط
�{��
�)R�aˀq�2	�������8%��cP�7w�2�M)���
h��o��Gߴ$jgZ֧�ܧoN^?���1�T	�4�V̢peN[���
% �=��d�S
���0��O��.�O�r���	��j'�	K���]�D|�XŸ�(�(�eU���Q?fŘ�2
-��
��!���>ލ��̑����(��((�cYϐ��懠ǭ���~b�]?�T?1'�O����T>y*��O�'��\ÿR
)7��Q7���%��!:!V���} ���B�x�
-%�A
-%��
-%�΅���S�P���uf�� PR��XjqX�����S� Ǎ?vZ)�˗������Y
.��<p��meO�
6u�{.we񿜨(���R�p��m>�_����	�jL&
�w�WW�����=Q
}�{�
�u6_��������5�o�6�����zy�֋I��vh���]��FmA4t�����j-ʼn[J�2;!w��C��nx�endstream
+x��Zmo�6��_�O�
�
�)vC��k�uݐ�޾�E��L#Ԗ<Yn���D�Z/ζ�j��(�r�;��=G{�<��4y���=���HK*�ŕ���$A�o��^O	A|6'�����i�l�����x}{mVIp�"�L������������g��4)��
��)�>i|�`DK��vh� �K�G=J�.$����n6�O3M�f�]��{^�+�̈?5��4��pl�N�.&M��
ɢ!RLx����[쭠���Ӿw�Im<N<�ޫ��\�����R���ϫٜI2M�M�H�2
�ad�$�X��4�,�o�&�1&r����
�RQ����q$T)D�.-
+i�2�cJ3Ҽ��Ff� �}=ݥqb�oA��m
7AƮ+vއ�{Fi�e���$~����\0�}�:TΙR�	��ank�F#M��C9
�&�����ӯ�	ĉ*į���K'���r��0��M�3Ȋz0����aQd2�k7qWa6Il�
�}���@ۮЭ���,C;Tf�w\�vx at 1�w^��^�v�0Z�8�)��p�����^�[ƛ�>��r���yk��8�f�wa��V
+�7���~�Q�k�5
 �8-'M��ⱡ}С��z�5%�K�D
���%��dM�4b�·9� �؇ED�
+��t�8w��J��C0
@��y��nMl`8�9��y:ע%ЍڄI�
� l[g�	w��\��/����E����(��
�ɵY��Iɬ.�n����Xۿ�7�&�0��^;3AT���Q�@������D+�t��H���3a=
��2���Z4%�,l�`��v*HlKXrd�v'hx���(�
2(<�e�����:�$}�!�����^�
�ȵ-GsVQ8*`q����
+�������/���&ږ��ED� 
����^'�"��mj͵FHC#[=ɰ��Z ^.�"��&KF��Fj�"7>�U�0X
��
�s��p��6J�s
u���aC�1�x�`�
#ռ�uL9�XCI���5�F))Y���p�M&�+#
�em����)�d�Zr�k��~j���rA
�ֲ1�r`�7��0"�8��18I�`�Kgp���OZ
��d
�6j
ξ:g�M��uY���҇�UO����0�"E
�N5��b��,U
v��
Y` ��&Y8�)|FĴ+�S Z9��Xf�>�d�'��Q�FZE�	G�V	2�p��d8bGfdj-�=Jl�%�+�C�g%�u
�`
+Cx$Q�ne���b	�Hj}�XrP:d�*BѨ�=V����]���ք�u��}D����J�«�h�
+;��r|l ��S������w�i�ƪF��a�(�\5��D�S=E�����j���TED����*x�BoQ�uP
�`_�H;
�熆­�nn�mf#9R+c at m6��͵�̮i��l��������j}��T-�P�;�ԋ%=ܓk趁��?�����E7
����jE/�r�������ĈO��keħ���?���lD��l�6�P�%�w6�#L���o�\�o}F̄�m��H���ͽ�����p�<
_��Hǐ����N�y��D�$��RY�w�"
��x5�c�����B
�]�!Q
+�
RC�xO�( �bDž��

+ZE��T��
|| \@K����
%��a*��~�H��
k�M&du���|�1qp���|���ݾa�|Ӈ�R5|�����6H7}�R���� ��r�9��'l�Z�i���#��R���
۾c+}����jm��@��H�6F���oo,����r���-�/�L��L���įA�\�n��V�Ive�`��61�Y��f�h���i��{�h�2ɢXM1C����i�}xvvss��;���m���l�]�5b�r�X�\��;�n[ad!=�A�4(i�
+endstream
 endobj
-3554 0 obj <<
+3508 0 obj <<
 /Type /Page
-/Contents 3555 0 R
-/Resources 3553 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3526 0 R
-/Annots [ 3560 0 R ]
+/Contents 3509 0 R
+/Resources 3507 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3470 0 R
+/Annots [ 3506 0 R ]
 >> endobj
-3560 0 obj <<
+3506 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3556 0 obj <<
-/D [3554 0 R /XYZ 90 757.9346 null]
->> endobj
-3338 0 obj <<
-/D [3554 0 R /XYZ 125.5542 634.3267 null]
+3510 0 obj <<
+/D [3508 0 R /XYZ 90 757.935 null]
 >> endobj
-3557 0 obj <<
-/D [3554 0 R /XYZ 90 617.5996 null]
+3282 0 obj <<
+/D [3508 0 R /XYZ 438.998 675.861 null]
 >> endobj
-3339 0 obj <<
-/D [3554 0 R /XYZ 438.9984 483.8139 null]
+3511 0 obj <<
+/D [3508 0 R /XYZ 90 659.134 null]
 >> endobj
-3558 0 obj <<
-/D [3554 0 R /XYZ 90 467.0868 null]
+3283 0 obj <<
+/D [3508 0 R /XYZ 125.554 448.565 null]
 >> endobj
-3340 0 obj <<
-/D [3554 0 R /XYZ 125.5542 256.5177 null]
+3512 0 obj <<
+/D [3508 0 R /XYZ 90 431.838 null]
 >> endobj
-3559 0 obj <<
-/D [3554 0 R /XYZ 90 239.7905 null]
+3284 0 obj <<
+/D [3508 0 R /XYZ 438.998 298.052 null]
 >> endobj
-3341 0 obj <<
-/D [3554 0 R /XYZ 438.9984 106.0048 null]
+3513 0 obj <<
+/D [3508 0 R /XYZ 90 281.325 null]
 >> endobj
-3553 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R /F97 1822 0 R >>
+3507 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F95 1779 0 R /F13 540 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3563 0 obj <<
-/Length 2573      
+3539 0 obj <<
+/Length 1912      
 /Filter /FlateDecode
 >>
 stream
-x��Zm��6�����w6s�*���v�
�k�\��40��6+Ė\I�����"�%Jr���H$k<�y8��
e2��GfϤ�H3
�6�
<{���Kx�l
|w}q�"3�tD���m�!"HPBg�۷s׋%��_-����z�jA�<۝��m�^����������`A�<KK*��j�.
-{�:���gq��A3���	Njw�?\<�nlu�c��o���\��#�����
FDk:�_p���ś�7z��
!Da�@B‘`5$
�������ݺ���/i}Sj�	Q����3+��Hr%�@y:��z�p���
M白~�X
-�:/�
�I�B�����G`QB�^�&�vV�n���aLӤ<��IQ�a�V�s���J�����7L(����h�-)�(�Z͖���T�>�o`��&2�DzPC#�1+a� 
�����8���V}
r���"��
�[�V��$Q5�y@CJ
-��N)�|��E	&
>�.��MPİRg��n
-2�~F�>tp��ɟ�y��KN8��ŧ��S�S��N
-H���1�&����I
�.�I��m��m��z� ����%�#o�ذ�����[i�����ģ�W߸���c;�-�B�d5b�?:	6���L�I�
R�k��L m�Ռa׿���8N~J
~�N�y�⑪�Z��X�\T'�)�D�K�^Y�"R����ƌ F��$��"Ɔ#HB
	#f�A�"��ALC�i>��"�b��:͓�Z����o
��h^�Y
�g���/���!�>&�u�d�}���GIi�BF)��6V��V����E@%W�g��e~�J��k�k������`����J
��t�����1��kQ��'E�"2��e���w.��M���P�ܮ.:������!�$f��K�S��!
9]��#�tGT��D	l����Yn�۝�%��`Ȩ�������^
��6���.s{,�[��

-��'�]�e\6����^�����0�5�Ny���B����a�&��ҏ�W��X1?������5l�C��^��/@Rd��+��_����-I�)�b��$�ER�<�bIEg��
')�@R��I�O*�2��dnL3�8�2�
�2U�ĕ�)su
Oa�����&*	
-��j��T�Yd&��NU^�4���"C�0��8ݚ�������3"�w �-��
�A�ph1А�D�&��@
-�u�I
Q�)'��͘�
ۃAD`���&F-����a��<PC�`|
XJ�����2O��y��7�2��$jj������Y�t㟍

#-Q/4�^�
�f�	z���ٸ�ʽ
=Eh+�+�����Z��ɚ"��'
�N�@�Z�#�T5��8�ڀ��~�j��T�!��
4�H#(��RT#!���'
�̓����k������{M�Y�o�+[sgt��ܺ����y}eo��>� ~���J�Ȟ?	�N�x���qL�নWF����,���S�9��lm7 YcW�����}�r�ݼ��875�}3��
�o��.3X�7[b"h?
��,�/�^i���w�@2��T��R�]�`��H]���Z|�aw�u�
��k*w��Pl����AD���
�~���Ƶ���z����OhU��
-̒���K7�p��@�b?������ql
�����Be�=���gT�#3�RC�&�{֖s&e�

-�:�Ȍr`.mt�'�{'�
'���%���jV7�ڭ�o�箅Pߐ�B�v����kp�'�V�
�_
o�yC?���Z]�8�K��L7EZ(�3�-0���d���ؐ��>�y>e]-�Yw��Nb& ��8.����֏ C|t���u�杅��0���]���JS at D��ónHs`H��8�Ԅ���Z��������?�����.��4����s��H�.���ؔ�Mܜ�)�Ɓi�&,���jhh[�!I������_��~�&�<����M`Ԋ8
� M�fջ�`�B�������2�P``�-Mj��,<,U
�
����81
o��8����A��>ɺ"������
ق��+fA��F���ӝf�������
�i���Φ�滖���ݸu
ߵ�;��F�l����
�y� �5gm
����0&��ah�'���G(`B��au��T��/�Б0(��X4RSF(� ����6�hR��^�ɣ���c,�k�nR�G��.���'_XL�Y����j� �b8�a8W
�/�ְ����N�u-6��-��O�q뚴n[w^Z�X�N�������mc�u�ic&,��=/��u��04RFPaN��򍀌~2�$����q
zz��c��q��W/�ñdz��#��04RF0�sW)�o���ߟƨMS�_�fk�!�Z��y-_09�7 dsD�rցnE�V0 J"=���E�LT{U����e�w��L��
y�{��/E��m!�����:=�w�	���P"/�c+0�H@
�Z|�&�O@<X�d�~��W�j'��²�
��q����|W��������hS �N9J���aw�K��1�zl㖍P�y���k�Hm[��}V��&�90�N�z!d~*0�?��|�endstream
+x��Y{o�F�_���)	T�}p�H/��S�����W��@�k�*I�ַ�Y������4w�֒
��������ַ����W
�BzԳwV�-�#�Sb-�M`��	�ؾv��*����v�m�ERE���mU����G
�e��)��yյZވ;�>E,�3�]f�8���.�_gD�iE�>���|��=�����
롥�-�2�ͬ��fxW-�'jQ��ǕZ/�̙37��2_o��IˢVw�J��ZTwe�;������b���9�i�fB�Xީ�f��
��E�A�&���&��A˳W���0E!�[���(F�n�,
���/a
����(���r.߷�`䅡5��\+}]fi�no
bP�����Sb E0�9���Kƴw ��ډ=�a���K���#	$�E��.��JX��㺡���5�Hp���
�Ȑ	2#�@ǀ��ݖe�f˴��(�f�LҺ��������D&�
+��1��s|�06��c��
��I$��pσt
���K#��`�l�LQ���(<�ST

~�'���E�(d�.
�q�e��p�܀%yRA�t
<  jTP�FH��6�
���C
�j�g�	�1rC���#.��AO�5j��u�5�]���	���7ie`�S�>擴2ģ�����u=�V��|�
�%0�c��o�y�'yC*��Ӽ�#�23'�
�μQ��s"
����)tao�MI

+8��|�ZS0�C��I�!? G�su�0��2b�Pu�Tm~+�!
+��>
�I,�x��� ����	ɛ���	}�Qq�|
��8���Rv	�= Ta�g��ŏ��Ч�� ���\�!���
+��pA�&�1��I�c�Z	���V��-L�]7e%����q��U���mæ
�m<Ju�Mi�) h��
J*ֲ�D���7����e_��j#
<��
���+�.D'ed��o�0"C9���ڴ4]lp���zHk�}��B#�\Q︸��iU�
+Qy)�"�]LP��R
��Zĩ����H�4�\q��};�1N'1D	X���j�w�ٸ{oE��̺{��ҭ�H-ً�rtQ��ޠ��J����o�!��f���a��C.&�''
e��iLT��1��3��&E�cl ����{<Lt�\�/V���"�ͪ�'�ߕYVJ�z�H����v�f8��
)oN]�8C]�(�c�wsS�z�����
���m����l�)����f����j��0,�(h�
W� �gB�y�n�7.
d�<����"�6��3�{m"?4\�:�V9
+<�ؘ8��6N5��������x_��ӚQ*{-W��7�u�����(
O�כ[9�����
ծ_m�Xe�]����y"�
�D�R�7ϗ%����AX UB,� �=V0�_l�eOU��_
���ֻ�0]^dB���H^�xu����ۋ���ѷ�
+� ��.O&
�<�D"�V�-�4Kt��T֥IF��o2|���;�2u����80
��:8�d;`�y'$dG/�>�A�Y�!�%IA��|����x=��?	��z]�n��}�D��rU� }�`��`:�'B�F�S�8���d���Of��a�-b�/��ĀU�|��WY
3��3��U{�W�>(����C�D���#�O7���U�L��\�XJ\}�eH��_?'��P�>7����MKwu�$�g[�
1$�=E���'?����.
�xy����$0�O}����\�������=�O��z�$8�k�iu8�<D�O��aN_v���c��������7Q��2�'5Wu ����J&�C���i�݀���`u���aw�b�H���7��������k�ȺBisS���`8p!2V�����$/�C���gP�I
+��߳9��
+endstream
 endobj
-3562 0 obj <<
+3538 0 obj <<
 /Type /Page
-/Contents 3563 0 R
-/Resources 3561 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3526 0 R
-/Annots [ 3567 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 ]
+/Contents 3539 0 R
+/Resources 3537 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3470 0 R
+/Annots [ 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 3531 0 R 3532 0 R 3533 0 R 3534 0 R 3535 0 R 3536 0 R ]
 >> endobj
-3567 0 obj <<
+3514 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 237.2939 280.9422 248.1979]
+/Rect [121.93 421.681 280.942 432.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-3569 0 obj <<
+3515 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 182.4343 173.4667 193.3382]
+/Rect [113.91 367.228 173.467 378.132]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_4b841053fdf5718c17a018ff650b550a) >>
 >> endobj
-3570 0 obj <<
+3516 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.2823 182.4343 242.9255 193.3382]
+/Rect [177.282 367.228 242.925 378.132]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-3571 0 obj <<
+3517 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.0891 182.4343 412.478 193.3382]
+/Rect [327.089 367.228 412.478 378.132]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-3572 0 obj <<
+3518 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 143.58 173.4667 154.4839]
+/Rect [113.91 328.802 173.467 339.706]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_33d58476db85f48e4ad680c69bca524f) >>
 >> endobj
-3573 0 obj <<
+3519 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.8038 143.58 278.6309 154.4839]
+/Rect [200.804 328.802 278.631 339.706]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-3574 0 obj <<
+3520 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 104.7257 173.4667 115.6296]
+/Rect [113.91 290.375 173.467 301.279]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_2b220dabc613a89a062968101429e58c) >>
 >> endobj
-3575 0 obj <<
+3521 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.2823 104.7257 255.1094 115.6296]
+/Rect [177.282 290.375 255.109 301.279]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-3576 0 obj <<
+3522 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.6384 104.7257 336.5831 115.6296]
+/Rect [276.638 290.375 336.583 301.279]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-3577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3564 0 obj <<
-/D [3562 0 R /XYZ 90 757.9346 null]
->> endobj
-3565 0 obj <<
-/D [3562 0 R /XYZ 90 733.028 null]
->> endobj
-3342 0 obj <<
-/D [3562 0 R /XYZ 125.5542 527.9638 null]
->> endobj
-3566 0 obj <<
-/D [3562 0 R /XYZ 90 511.2366 null]
->> endobj
-493 0 obj <<
-/D [3562 0 R /XYZ 90 324.1051 null]
->> endobj
-154 0 obj <<
-/D [3562 0 R /XYZ 90 317.505 null]
->> endobj
-3568 0 obj <<
-/D [3562 0 R /XYZ 90 201.4081 null]
->> endobj
-3561 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F13 567 0 R /F74 478 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3583 0 obj <<
-/Length 3178      
-/Filter /FlateDecode
->>
-stream
-x��\�n#7}�W��k#��K�	��d�ds��x�
����m���E�3��o��I��n��-6y[:]uX�:U�E&�'�'J(d����
O���o�H��ޟ����Ϯ^K11�H*'�w�I���N�o� ���`�/�\|1ۭf7o.)��,�W������w�����^Fo\}�Y_N��/�������ꮪ߫��
-,S��������ξ��\ۥ&�e��ٯ���-,�3���b�~��C'�3N��ey����N�F}A_D8H3=�2����{@DB� J��\��uX
-2���� H��4<�q����l��Tt#C0\E���
92�0Gپ��o��9�E ��Ev�������Tq�y��ԣJ����t���o��C�9�i�I��`<�@#�ki|S�����ݼ}��U�F	�4
-�*qPqNL���~� i�(D$�H#Q�܄��~�PSR|������C
��h����a��mk~֪@���	^ ��V~�D��ys��{oE�����
s��

�[sD	9���`UKEF��ÊU
<��
�
.b7��s,��.�wU
G�:��$���
���t�*h�F��QT@(f1(���H$04��Q���Įe�s5�E�8_V7߮���2(.I!<�@�1(H��p��Z=f�MHĈ�GI[`#'n���dꢚC(��O�q\ &�:��1He
�T9+�\`�x�˳�"�'r�����{���S
]b�#F�<��n
���~�`G�!��
T&t�R�P%Z"%��I��
�
QVA�Q5
��ո��p����gj[E���5-
CB�BI;T��sGt�����F�s�bP�y箘������y��cu\
K��r閰�P���E
l�Ê6�r������w���T8��a*�3`� �V�(�)>9��ځ&2
-�P�
Rƨ
%Hr}�헀�Y�J2�`e



/dyv^�Bv�,�2Բ��P�~x0�alL��pA;|�Ej�����\
`Wi[�l
<���A�	/E
�/��x�J	����a����n��������x��G�0��:
�*��0�iJ:<��Ͽ�񗛩�냉��l�C�Es���O?����{�KV�Bʨ�6o���,:�suq�����/���U��.��m��b>[�
-�����b��A����p]���?��%�
��.ుDK�M�]h�d��f���E��Z�6�
V���`�	��rS��$��/���rv��xB�� �s������AD&aD�u�jK��j=[����C�����}�c[$�v���d�+7PS���
'� �p<lt�
6��
�¨��w
���/�H�֢��+! 9OL���{T�^
�&�|buo.RI��U;|iՉ]뾛���n ���w���a\fB������4A�k����毞.
§�$�/)�;�
S�a�r�
߃#���\
-��Q�V��P߀7���h{	$�`��0�`��	��rN����<���B��>�緧�E~O����c�c�@㋽
�H%����\os��-b2����5Cs���6��Vdl<�@#�[�۫���g�*�3d��p��G��c�O��)<��M�mE�@�4�&̢���w��MB�͑1��B�S��$`�M������6�8Q��vz�����F�Q8ا�_�jod�E ��
:.��7ޙ�v*�
�*v��\�i�8�����Ö�$S=�e�dZ���n1���Q�`HT��e`(_FƆ��
4R���O���~��-:���B�@g#�Q)��s$�;Gʈl��2!s�#�q�I�]0�+1���P{|!ԩ��C �8��ۣ
-<|�x��s0Y��Q�>B���a��s�7��{�Fw�� �<e!	�x��8X���~�Q`�7d7Nx3,C���wOq���d��G
���H�և�v����
F؞��.ߣJ~�}�A;~���q�W�<u5z�_��
��
TAcv����
��y�(�H��I���1��FN�
�Ӎ�65�>y��j�=��`/h��5-4x���9\�n���X�V��4-�NQ�b�#4-O#�[
-1	J�
�G��K�/���<˵G�
�bt
�D"�;Z��h8�ã
-<� �0�E<�-n6�08�c�-��7��"�C���z�{t�O���:�w���,!��\�4���Ŕ�tiS�ae�
-

�\yv^�Bv�+�2T���\���ĩ�b*;N����%��]�~�m���t�� R���Q�����v2cP�C�K66
_���-� �o`��G�3�`
-��8�'��k8�G�Q`#�FfY]�� ߋ���Z�aj�د���zm#�d��G��!��0f=?�=���
�/�='?(CJbw?c���ӭ4��j���$�k s��}�.�v
�/6��bm��x�4d?�a�7
41'�^b�cbX���<Z{
�
.b7J{s,�-�w�������-�O����ڟ�7��ko�E�
�'�-�H��?2
-q��-�*0�{`�A.�$Ȫ/�d{���
md���,�/k�ݻcw}��4� �I�O�����~D�<�-���#�!B�s�r��J��jf��:XY|�Njo�
����
-�yh %µ�xV�5F��]�ԣJ�)l� �(p�:9T>���
l���,�Wո
����9���'&%�QR��+'f`0��ק\���f�
�#L B`��'�×$v-�I7��˛f��Y��4�f�r����C�QB�S��nH��0�#�B���Ǘh$v�[ h��
Ȇ��
-��Ϯ��E�
M��)e�*��F��
�>4j{��moS�N��M��u�}=}Y��&و�,
}��w���1\��;ZI�f�o�W�
lꜯ׵84/7o�v�Wݶ��
?4D
F�O0~����L�ުh�-�V;X�
xIˋ
|���}���>�7�y��-�}��L@��oܘڭ���ɧ�S��'���{.^�ޡO�����e@����[�-S��t��G�D��S��w��I�S����+��.�j��K!.�E�0[?�1��ڟ�T�����E���Mt}��m�����
VD�j�������Nu{�4����'�6�k���p�~vu���4ߣ��b�C���v��J$�o��*d>��%\��3�����
Lu�V�]�I,���jv��%)$��-�T�
� N'endstream
-endobj
-3582 0 obj <<
-/Type /Page
-/Contents 3583 0 R
-/Resources 3581 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3526 0 R
-/Annots [ 3585 0 R 3586 0 R 3587 0 R 3588 0 R 3589 0 R 3590 0 R 3591 0 R 3592 0 R 3593 0 R 3594 0 R 3595 0 R 3596 0 R 3597 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 3609 0 R 3610 0 R 3611 0 R 3612 0 R 3613 0 R 3615 0 R 3616 0 R 3617 0 R 3619 0 R 3620 0 R 3621 0 R 3623 0 R 3624 0 R 3625 0 R 3626 0 R ]
->> endobj
-3585 0 obj <<
+3523 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 706.9608 173.4667 717.8648]
+/Rect [113.91 251.949 173.467 262.853]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_c98ed1378829f72aee73c40dff16f269) >>
 >> endobj
-3586 0 obj <<
+3524 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.8038 706.9608 276.9475 717.8648]
+/Rect [200.804 251.949 276.947 262.853]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-3587 0 obj <<
+3525 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 668.1065 173.4667 679.0105]
+/Rect [113.91 213.523 173.467 224.427]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_8a6c3f01edb04382620066f17b63b20c) >>
 >> endobj
-3588 0 obj <<
+3526 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.2823 668.1065 253.4259 679.0105]
+/Rect [177.282 213.523 253.426 224.427]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-3589 0 obj <<
+3527 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.5129 668.1065 335.4576 679.0105]
+/Rect [275.513 213.523 335.458 224.427]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-3590 0 obj <<
+3528 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 629.2522 173.4667 640.1562]
+/Rect [113.91 175.096 173.467 186]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_e46f7a91b9fac1a62ef875ec5c72aab6) >>
 >> endobj
-3591 0 obj <<
+3529 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.8038 629.2522 285.2564 640.1562]
+/Rect [200.804 175.096 285.256 186]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-3592 0 obj <<
+3530 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 590.3979 173.4667 601.3019]
+/Rect [113.91 136.67 173.467 147.574]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_c3126925bcd3349b150771d52c19639d) >>
 >> endobj
-3593 0 obj <<
+3531 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.2823 590.3979 261.7349 601.3019]
+/Rect [177.282 136.67 261.735 147.574]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-3594 0 obj <<
+3532 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.2452 590.3979 348.1899 601.3019]
+/Rect [288.245 136.67 348.19 147.574]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-3595 0 obj <<
+3533 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 551.5436 173.4667 562.4476]
+/Rect [113.91 98.244 173.467 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_9720487deabf813a31afd4e9cfe695aa) >>
 >> endobj
-3596 0 obj <<
+3534 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.0136 551.5436 298.9559 562.4476]
+/Rect [225.014 98.244 298.956 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-3597 0 obj <<
+3535 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.756 551.5436 419.2221 562.4476]
+/Rect [343.756 98.244 419.222 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-3598 0 obj <<
+3536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3540 0 obj <<
+/D [3538 0 R /XYZ 90 757.935 null]
+>> endobj
+3299 0 obj <<
+/D [3538 0 R /XYZ 125.554 711.11 null]
+>> endobj
+3541 0 obj <<
+/D [3538 0 R /XYZ 90 694.576 null]
+>> endobj
+476 0 obj <<
+/D [3538 0 R /XYZ 90 509.156 null]
+>> endobj
+154 0 obj <<
+/D [3538 0 R /XYZ 90 501.892 null]
+>> endobj
+3542 0 obj <<
+/D [3538 0 R /XYZ 90 385.988 null]
+>> endobj
+3537 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F13 540 0 R /F72 471 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3583 0 obj <<
+/Length 1865      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�O�
�
�)ۀ�]�v[�5��

�Vm��I�R��
_$[��8k:d�>I��#�玼#.
|;:9
��,�HK*��@�@I�%��"xxO�8|;&8��e<};�8,��U�(���鬌��ӧ�;?�$
+�|<��ϳ�����"���|��d�8
	����_��9�9"�4
���b"�/G����_1
׶�2��3
�F?��Wk�i�T4�@Mɍ��j��@Q��NՓu�-�*c�n�X5*qѪT��
+��{TI^����S_%�����A�2�Ǚk�gE�v�\Cq�7��Z �%v��Z#�8�hظ.
EbQ�Y�o����;D�0��2� Fڳ���#�RH+L̠q����d���:q�+n�Ѽ]ח�GG�D"R���*����U^'�_c*B��l����ȯ�j
��KO�w7��
	-�	�]
���7��U:x�q�
</�e���I�q4Bv&'D#�y���L"Di�cr�\� �U�A�G����(����9~L����z^�Nǯ���:��� �{C
���懷��˫�_h���}��(#�#
���.�u�+���~�C)��z�yL��S�@����>�8R���g�:�gd����]ūd�q�D���YĚ
^���"���
G�ŠC(z�C �;�i��
��{V�H��'�����P� �P8
+�������� �ш�,T�A�29�"F�h]��\$��y�d�AFk��|L�� +ٳ��ԧ;
v�^��ڇ8g�t �L�o�t�7��~<
{��������o���yF�����s�K>v
���"�!��yT��L���z^�R�)~���9��X%e
�����S0?oR0vz�/!�
�K76���Oq�v���;��پ�n>`�z2Y�$n���*�zRY0��mf�
9D ��PB���m�y�g^�E
+jVi�O�ܐ9�ә#42Pޏ_DaI����_�����e�3K�����p�E���Q��οW�!R#���a+4T
+��zO~
���?s���3�s�SH���}��t(+$�wI�"y��~
"޿fE�
��Xwz�β�����b�6�x^?ڰ�ʰUE��J[5&F
�l��g�$�
$Hs���3Hk.��t��i���ⲅު�֮���~�J^��hi�){�pro-��ɝ�M]��%���"`��:����"��nպ���o�	
+�7l��2�)�r���3�����
+���X���ם�%��DOa����'��K�	���l{1����y��q�Y�
�U��tU�͖�1Sqĸ'���׌0�
��
��ݮ��$b�S���
�R����'e�٭Ӵ�`d^�;�C��̘!Ce�*�K��[�o��X"�-����٦Y�U�&Fl������a�o�p
I�=e������OU�[�V�c�V]�H�������`�2�����D��A7/������N/g�	S���L�Y��Ubu���0դ��Z˴���żw�aU�e��(�egh����79b��epc�)�
�ҖPL'�<qT�Mi��UY�����iOZn��L�LQ)o1�N���
g2՞w`}��3�N���u�Ar�����=&9͌Z�
	E³t�fq����v�ړfWS3�_`GS��v6��=Ye����)
+
����]���Tk8��
�S�h��=
_&�K0�6hT[!�^�
[��q�^�V�)"������%�ip�o��Ͱ�u*an�~��f���C҄(����}�J�/�B�
��|�$&�PVi�)e"Q�0�'�t�,iJ�N�?���=lM1�
Q��\��������5�Wh������j�
߬�o�S�m��D-��eQz
�
����
#�
I��
+endstream
+endobj
+3582 0 obj <<
+/Type /Page
+/Contents 3583 0 R
+/Resources 3581 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3590 0 R
+/Annots [ 3551 0 R 3552 0 R 3553 0 R 3554 0 R 3555 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 3580 0 R ]
+>> endobj
+3551 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 488.779 173.4667 499.6829]
+/Rect [113.91 684.047 173.467 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_68e25304a250a8c739927adfb90043d1) >>
 >> endobj
-3599 0 obj <<
+3552 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5472 488.779 235.1473 499.6829]
+/Rect [216.547 684.047 235.147 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-3600 0 obj <<
+3553 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.2659 488.779 283.9927 499.6829]
+/Rect [251.266 684.047 283.993 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-3601 0 obj <<
+3554 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.9892 488.779 423.4553 499.6829]
+/Rect [347.989 684.047 423.455 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-3602 0 obj <<
+3555 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 426.0144 173.4667 436.9183]
+/Rect [113.91 621.282 173.467 632.186]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_e9a2b78be6811d666fb9d145078d796d) >>
 >> endobj
-3603 0 obj <<
+3556 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.0908 426.0144 262.2512 436.9183]
+/Rect [217.091 621.282 262.251 632.186]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-3604 0 obj <<
+3557 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.7174 426.0144 423.1835 436.9183]
+/Rect [347.717 621.282 423.183 632.186]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-3605 0 obj <<
+3558 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 363.2497 173.4667 374.1537]
+/Rect [113.91 558.517 173.467 569.421]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_6b286c9e001bf126a0ab85aac675786d) >>
 >> endobj
-3606 0 obj <<
+3559 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.9168 363.2497 282.1852 374.1537]
+/Rect [209.917 558.517 282.185 569.421]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-3607 0 obj <<
+3560 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.3044 363.2497 426.7705 374.1537]
+/Rect [351.304 558.517 426.77 569.421]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-3608 0 obj <<
+3561 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 312.4403 173.4667 323.3442]
+/Rect [113.91 507.708 173.467 518.612]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_c86d25d06285c9a2e890770fed084574) >>
 >> endobj
-3609 0 obj <<
+3562 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.8038 312.4403 221.0577 323.3442]
+/Rect [200.804 507.708 221.058 518.612]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-3610 0 obj <<
+3563 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.3376 312.4403 325.8037 323.3442]
+/Rect [250.338 507.708 325.804 518.612]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-3611 0 obj <<
+3564 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 273.586 173.4667 284.4899]
+/Rect [113.91 468.854 173.467 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_faae25a26dbecf9341c7fb2c2575f81f) >>
 >> endobj
-3612 0 obj <<
+3565 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.8038 273.586 260.3602 284.4899]
+/Rect [200.804 468.854 260.36 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-3613 0 obj <<
+3566 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.9243 273.586 353.3903 284.4899]
+/Rect [277.924 468.854 353.39 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-3615 0 obj <<
+3567 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 234.7317 173.4667 245.6356]
+/Rect [113.91 429.999 173.467 440.903]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-3616 0 obj <<
+3568 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.2063 234.7317 225.0128 245.6356]
+/Rect [184.206 429.999 225.013 440.903]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_59d06e9b429faef7a632d58e4a0b12bd) >>
 >> endobj
-3617 0 obj <<
+3569 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.35 234.7317 311.9063 245.6356]
+/Rect [252.35 429.999 311.906 440.903]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-3619 0 obj <<
+3570 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 195.8774 173.4667 206.7813]
+/Rect [113.91 391.145 173.467 402.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-3620 0 obj <<
+3571 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.2063 195.8774 225.0128 206.7813]
+/Rect [184.206 391.145 225.013 402.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_6f581bf46ab0488f444977453ba2ea2d) >>
 >> endobj
-3621 0 obj <<
+3572 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.35 195.8774 326.2923 206.7813]
+/Rect [252.35 391.145 326.292 402.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-3623 0 obj <<
+3573 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 157.0231 181.2154 167.927]
+/Rect [113.91 352.291 181.215 363.195]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_09726be54fe2a591787de59eeffdd2ea) >>
 >> endobj
-3624 0 obj <<
+3574 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 118.1688 241.1122 129.0727]
+/Rect [134.114 313.437 241.112 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_5eb7f86790ada6549123a0225d68a4de) >>
 >> endobj
-3625 0 obj <<
+3575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.4494 118.1688 328.0057 129.0727]
+/Rect [268.449 313.437 328.006 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-3626 0 obj <<
+3576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 263.623 255.488 274.527]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_6424da8931d774f6a2e403c1e2f0d09a) >>
+>> endobj
+3577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.826 263.623 342.382 274.527]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.484 163.552 242.041 174.456]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+3580 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
 3584 0 obj <<
-/D [3582 0 R /XYZ 90 757.9346 null]
+/D [3582 0 R /XYZ 90 757.935 null]
 >> endobj
-3614 0 obj <<
-/D [3582 0 R /XYZ 90 253.825 null]
+3585 0 obj <<
+/D [3582 0 R /XYZ 90 449.093 null]
 >> endobj
-3618 0 obj <<
-/D [3582 0 R /XYZ 90 214.9707 null]
+3586 0 obj <<
+/D [3582 0 R /XYZ 90 410.238 null]
 >> endobj
-3622 0 obj <<
-/D [3582 0 R /XYZ 90 176.1164 null]
+3587 0 obj <<
+/D [3582 0 R /XYZ 90 371.384 null]
+>> endobj
+3588 0 obj <<
+/D [3582 0 R /XYZ 90 282.717 null]
+>> endobj
+3589 0 obj <<
+/D [3582 0 R /XYZ 90 226.303 null]
 >> endobj
 3581 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F37 2043 0 R /F11 411 0 R /F101 2128 0 R /F25 344 0 R >>
+/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F35 2013 0 R /F11 418 0 R /F99 2114 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3640 0 obj <<
-/Length 2616      
+3600 0 obj <<
+/Length 1896      
 /Filter /FlateDecode
 >>
 stream
-xڵZY�۸~�_��
U��q 1�<dm'������&^���03�R���v<�>��I���0 �h4���2Y`�G
-/$�H�T,���x��?�����UL���͛?	�PH	*��� �SB���	��rE0���%�I�����%�I]�<�]���Rl��y��};XX�,���r��-�u�O�A�5]m5p�2e	I����7��{Y�U8�H����/x��+�p�S_<�FD)��ߤ�������o=�`7�i$�
e,[�X�2�g�� ����,؈
w�
-�Y*�+�`�2,{�s)�`�R����̨�gJ�X3�.��"f89���v.I��B
���u99�qD�F皥���|�%��$��5
ݬ7��ڭ�y��j]<�����k����Q��TQzY)=��(�gT���9��U;=<c(�D�V3=�51&|�f>� �F��� �qyY
=Օ�Y
-�K1��o^@d�AB��0�~ ")�a���"�@�/T!,Uv:�Hu��C��#���~:��� ���[�{���8R�|<��"�Y���a�c-"
m��./J�swy��mS
�™|d' 8������۳-�6��]�8�̈́������'Y=ND"A��q�fi�ԛj�9��~psݓv�����u�
� X�\�k`�W�����
�)I2F�@u�|�
J�T��}ht���u*ɝ��mO;��όϘ
]
��MF},�yY�]Z�MM
��9���9s��'s:[��VnǶ�k�U	ioΧ8wI�=䐛��
.��K9!>9
-^���

-:
-r:�\h�_92YyQ9�[1�(3�䜐ٵ<i{
�lL�
�rWT�n&w����P4i����
M�lm_�N�)��,�.IRC
&U
���
�췰&D�{�N�[�b�N���=5����9�?�y�Y�� �ư�U���Hr�d��
ڮ)l`uQ�_�yYt/3*�[�����Zh��$wž(��P��ܔ+wS�;��9�
8�)|?;S�hd*{��E
ZH)xB6TGl?Q'��/g?
�~�kό����G]�&'o{�3Z��镦�+%
1���^�#%hkΗ)/,�$���%���WH(�΂O Z�T�|�A��
xA�HN
�|�;};�aIF��c{�鹣�΃*���&���	Tf6�U��Q��sQ�nq��L�1��y�n�q��w�`1+��Do`���8���-�t|@�y��U,
d��CZ�b�ƘV��
I�[*� �4U��Ta�=nZݹ��
֝�j����`��,,�id�|� �` r�9���v3�{�[7��
�<xq�/{�0!]� lsi&zH�ɧ
*���w����n��;���s��E��FFW1�~�g/"�2���%0��F)�9�����U\��xf섄Y#�]����u�������ُ�� .%!��U����g��F�3�; �?|�D�
|y���L������9W�|MF�D
��T(볫]�'_��3ј�E����$I2�R��܌$;i
-�m���(���zs�U�Z<P�y
-�Zʃ$�MH�y����!�!�m�
�+FPJRq*��/��Z=z� ���e�`�]�=���C#0.�
׾����l�=�����]2� ��{9�:Q��"��!B*������w~a�Ξ];���>����)��2���x��`R
-O n�mw�3�^�/�Q��5T��
-������p�IA_+�O����Ow��n*�ׇ��2�
�Q��J�:���;鯇��ݗ�*�x�x\Zg �I�[{?sQ�cU�T���zL������o���+�W�f�rIS�/�g�
-����{݁�狣9.II��I=Y���$��4�.����J0i�1�d(�}���	�
�r$�`�7젊1ն�
��+�}M�o�8����BӍ�R��d���h
�K
-�4�rn���;z���I�
Ͻ���0���*���W�k�*�����S},w�T*��l�Q�@��r�ED磎*�u�C�!�f��`��
�fT�
��ޖ�z�ֺi�+�$�0��%%�D	F�F!7a2��>ꈍ9����8��L`��q
��D�y(tY: wy��k�?���,� �	0
-��4��B���G�
�r�jS�[��Գn��Z{��-Զ ��;�`�X��8�{��O��4g
�h�}�x���K��ii�J�: �җt��X�dm
��`�C��L�1jn�sQ����oeF�b:|�����]^�:uc���}ƚX� -����9��tv::�,R���2T�T籒p�x��N^[��	p0'��#fOv���D�͠��x��jz�%���������@�o5�Z�U&t�:��&��.X�0���n��
��0o�@�'������n�7����
$�FjcvQ=�D�a��
Ʊ$3Io�������=���.���.4���.�����Av"�������^d`Eb��~�����G��L��!͸O�k��O�n~��<�
-�k^
s��`rKȌ=���ؿI��{����GR�%�C��_a�c��6��
."dt�	_s秮;ܾy�����-�t~hPѽ9
�7��x�T�
��&�
4Ϡ:���Y
B-��C�RT��>�L\ȸ��(�����endstream
+x��YYo�6~�_��T
ti��]�I� ik���'Xp%�W��HT���

�v���6(���1��|ߐ�֝�����7���cE(�o�l�[�O�G�u�X�6��rE0���%�6�s�~���.���'5[��njV��ϟM�$��b��
��e�it�o��E�A2
\�&��|�zqq��� ���R�
P�xV�/n�c+���FNZ�jVn�ԁ�̺^����,|Ҽ0B�V@}D|W�xY
+~���֝���h	Q�#k�أz�u�� 0�IId�%���1�D�̆��4����r#XZ�[B=��\�͊t�G��,h����,��/.�F� G4z�
�p͛
+}/'��
/x�DY70B�
��e�^�H�;�i�i7ؼ�s�<_��`N�ڢ�ʬ�Kc�,��8+�<
7��B��f0�ՆmT
*���9h�`�NG��
: $(��<'��"=LNc���#X���7�g���Դ���<O�W��s�3��0���dG�sٹcU�
�/J���z��I[$���>;ݒ��X�f����xP���༔N��wzD�c�-3tz�8��9{=6	9��jIl�.�h�j���9P}
.C�U@����e��F1�;n6	�4K�	���&�f�E��
?�X-�r�G��.s���x��C9Y��z����褖`R�T�z��nՔ�K �a�1 �62�gX�<N�1J
�o�-5�1g�� A�[�z[�9O���U+�G
k���рLjD~�N�5i���|����ۜ�)h2�Q9�D*"�O�?�1U!���C�ž�����D

+
+�)��6_����nd��^^3�<7DQ�w�~43ƻ�� Q7ψ�P�K�l�닌K������%H�dF8�(���{{������9KR�MT�v,
��~�۴� %�&l⟫,�S�^��P�
D���ѧ��Oeb>�z�ęNh�E: {ݘ��p�+	R�B0	��#:`�ij`u�@l�21�r.`�)�R&�4��2要u�* c�>>n:�@���B%�
	������%|+�4>*$�h
/9r��NL]mW�E{��<e!u����k��TV
�X`?
={������n
�+�,��eG)���p�lOb�+��b\D�4"9?�xq'vk^�`�B#�F]J��۠�9NP�Ɠ1�
��d���a����]R�Q���i����Y���Q���!����K@(�j�&����Q��g�]wG��̲s`{Hȍ9�oU~��,F�W��G:�Ӊ�I��(9l�4��
����b=U}���е,Ġ�Zæ�54L5('<�!���<�#�r;z
��a �5��
�?{�TL�6���3#
����F���zt��O*�~.�O ��X��s�G�'~�p�qH��

��O���i䱄
i!�-@�_.0 \X�5��ڮ�:�(#� �
��c�#o1�i�������9_��,�}��W�o�+��qe ����Q�A�K �H9'!$
�]�.����lTu_�xg|���ڹ��wFǓ�y������u���Yg!�`��08]�>
Rp��f����D����
o�6O�M�'�c
V�[�IS�Z�p;%�@jV�� [...]
��EU�T�UUvv|��4�Im��l^v7���Ox�i���)��
+endstream
 endobj
-3639 0 obj <<
+3599 0 obj <<
 /Type /Page
-/Contents 3640 0 R
-/Resources 3638 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3652 0 R
-/Annots [ 3643 0 R 3644 0 R 3646 0 R 3647 0 R 3651 0 R ]
->> endobj
-3643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 707.8276 255.4885 718.7316]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron_6424da8931d774f6a2e403c1e2f0d09a) >>
->> endobj
-3644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.8257 707.8276 342.382 718.7316]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
->> endobj
-3646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.4842 609.4035 242.0406 620.3074]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+/Contents 3600 0 R
+/Resources 3598 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3590 0 R
+/Annots [ 3579 0 R 3597 0 R ]
 >> endobj
-3647 0 obj <<
+3579 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.3257 468.7256 370.268 479.6295]
+/Rect [296.326 657.138 370.268 668.042]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-3651 0 obj <<
+3597 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3641 0 obj <<
-/D [3639 0 R /XYZ 90 757.9346 null]
+3601 0 obj <<
+/D [3599 0 R /XYZ 90 757.935 null]
 >> endobj
-3642 0 obj <<
-/D [3639 0 R /XYZ 90 726.0541 null]
+3602 0 obj <<
+/D [3599 0 R /XYZ 90 632.435 null]
 >> endobj
-3645 0 obj <<
-/D [3639 0 R /XYZ 90 672.1545 null]
+3543 0 obj <<
+/D [3599 0 R /XYZ 90 610.123 null]
 >> endobj
-3648 0 obj <<
-/D [3639 0 R /XYZ 90 443.9765 null]
+3603 0 obj <<
+/D [3599 0 R /XYZ 90 610.123 null]
 >> endobj
-3578 0 obj <<
-/D [3639 0 R /XYZ 90 421.6647 null]
+3544 0 obj <<
+/D [3599 0 R /XYZ 465.707 445.807 null]
 >> endobj
-3649 0 obj <<
-/D [3639 0 R /XYZ 90 421.6647 null]
+3604 0 obj <<
+/D [3599 0 R /XYZ 90 429.906 null]
 >> endobj
-3579 0 obj <<
-/D [3639 0 R /XYZ 465.7073 256.483 null]
+3545 0 obj <<
+/D [3599 0 R /XYZ 90 279.576 null]
 >> endobj
-3650 0 obj <<
-/D [3639 0 R /XYZ 90 240.536 null]
+3605 0 obj <<
+/D [3599 0 R /XYZ 90 265.832 null]
 >> endobj
-3580 0 obj <<
-/D [3639 0 R /XYZ 90 89.4414 null]
+3546 0 obj <<
+/D [3599 0 R /XYZ 90 89.441 null]
 >> endobj
-3638 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F33 481 0 R /F10 484 0 R /F97 1822 0 R /F67 366 0 R >>
+3598 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F95 1779 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3655 0 obj <<
-/Length 1633      
+3609 0 obj <<
+/Length 1304      
 /Filter /FlateDecode
 >>
 stream
-x��Y[o�6~����&5Ëx��Z�E�
�Z�-Ufa��J�R��
��,J����y�D
�\���Xd���5�K.�f���������q�K�_v��f/�k���u�A���W����Œ`��7
����&WoG���֬����S����g�Ƃ�h�/�����&)K{��\�f�䩁7S���l�q�z�|���\�L���ϳ��|
.��aĴ��;���hM��YL�������j�c7��"�	{HH(CXpֆQľ',炥��>`����*�,���
��l��/u�.^h�1/&Q��S[��V&pA!��tOj��2�q��}pHsN�ͷ&=�s�*��m�!M�W�>l��}
�8��I�C�	u_j%^�}�o��|���v!�%\I$h
7O<=d�����ՙ��wQ��W�tAx�e�M�@�[_�����}��P�P��֌���[Sd�3��b�>I��:ۚ���^c+zR�5�φ�ȧ`��he{�eWjX�J#���c(#jK��t�5�)�˾~�)���Q���CK��"X"I?��Tρv"�3J��o��Z��"p
��kmr�$i
�I��z�S vam>`L����>ݭ�X
-ɢW���ܓ���H7Ia�#�j 6)��m����Wğ�O&M�s"��B�%U��ǟ��w�{��V�¸"�&G{����j�w�$j8��d���18[G8FT�r<����MՏ
 *P�"\ߣ�	
Ն3Db�B����h�In€�ǼJ�*K������zAy
��U�T��2s���n��m{���U����(Ϣ�
-	0z=�R�уK�"����Ͽ�f_�M ǘ����|+fky}y��G�&�l}�7��j`���j"0�VjhLP3X"BcV�ŮN��}迧�
ܺ;�����
�� ^V���%
-N�3
?��
�L�\�3�p
Xpˢ�&7EUY�� e�q�1FlpM7��h�����
6_��,ͪQ��AHE��u���ٸ��s
��\��� �S���j,�R��"����Ƙ�	��1�ة��D�KL��o��Z{D�'=����*���xh���aR[�3�����2
k�F�1��X1��V���~2"'�3���1]�gB7h_�/K
aa at +a���#º� V�}u�k�l��ۤ��n q���>�]��@C2	
A6l0�fW�5�ND���4Ġ~�Hk�2&kִ����)Y�3S2�|R�*�71=%ӟgJf�:%�m\�ո(���\N�^W�<�Q���:ט�	�2}��=�k��S�h
�\�V7"��I7"�
��ބ���,{��݄,݄�<���	���ML�
�&d�'dN��"䇘�)d
+�2�'��T�x�{'�i�~B
�
���?��LA����֕:�
D�s��?�3�)������̷b�ƙ&#r�Lc�9S`���3��mp
�:�=1��.��G�G(H��  ��r�5�A�~S�WM�ܭgj���5{�wi�_�G��?���l�uM���_ݱ��`*�y`=���Θ~h��K"� ������������ʎ����>�V��������%:�پ@Yu��o.�v����RO%n�
-
l	"ϔ@R�8������WO���6�qbPB��UCS�P��endstream
+x��X[o�6~����&5Ë(�y[��h�Y�=�A�ȌCLO������"Yr
�2$(�>���s��G�`�����|r�>f�@"�q0��� NI0_�!��tF0����0k���tJqX��h��?�U�5���ч)Iú��(��I���~���~�U.ag�D,$Q4�����O��P
Ī��0
����
��`�D�Z�2�(�g�M���fQ�p̷f!���c�}sF�/�㼮Zm^Y�AV��t�\�MI��S�Z���/�����T��
��k�l��Ȭ�<I+g/3�6I)��UU�J���b�[~[*W�­�x�nF1���HPL#���Z
����=V�
]ȯ��
ɵ���k���{.;���h`m6�y��7r�檺���^݉��,�Å*eժnAw`/ڟ<T�*�gю�g	�[("q��y��R˦=
-�n3
++IQ�ؙ"��0���@�R�v�}r؟�
�
ƴR�r���C��(�Q26�ݷ\�4����m2�zq|��i�ïY��Y�\C��!?�ݺ������`�P�X�-4�{̤q����̫��W�v�\鍛�2����7Y/�&V��t
UĄM
uP֌`�D�?.c ����'/�v��11{�=e���xB�@8��_�R�,�
p˻�|هV�sօ�^��;�7�G�
��a��3��7y!/?V���sX���X��f�i
�(�G��{ѐ��4y.
62�
�Y}1>��3q�%��SW�I�S��ͻC

��,Q�Q�ʯ�Pa�ȋ���=IES����:p7���饮d��[o���9u��l�
+�����Ѥ��:׀ >�e�q�+��v���t�%,�A�>�3��5��1� �
b\����qў���SҮrZd˱���2�*ϊb�e�~`��/T�eg��N�+�KAz�j�Զq1�����",����&�D��
y<4<��e��7^o��p8D�}��{{#�M�֬�w��u�ˑ��wƫw����C���S)�1}��i�N� L$|o�$/r�ő��m���|��q�(}�|�,�RF�
+�q\Z"B
��U��5���Ϯ1��fl
���Ę
�wݭ
���3K��Wږ�8@�� ���Q��i�St�c���
�<��'���G����"���.+�W$���.yjBc�ؿv��^=*���[��:�<�6��U�pc��_�VPm}qc ��I�A5HgUy&��ԙ�OЍ~��,�*M1��o[��zu|tt{{���+�j��G�Uqt7��]�Ƕ��KfYw�OU0Yf�W�	�nL�
+endstream
 endobj
-3654 0 obj <<
+3608 0 obj <<
 /Type /Page
-/Contents 3655 0 R
-/Resources 3653 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3652 0 R
-/Annots [ 3660 0 R ]
+/Contents 3609 0 R
+/Resources 3607 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3590 0 R
+/Annots [ 3606 0 R ]
 >> endobj
-3660 0 obj <<
+3606 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3656 0 obj <<
-/D [3654 0 R /XYZ 90 757.9346 null]
+3610 0 obj <<
+/D [3608 0 R /XYZ 90 757.935 null]
 >> endobj
-3657 0 obj <<
-/D [3654 0 R /XYZ 90 733.028 null]
+3611 0 obj <<
+/D [3608 0 R /XYZ 90 733.028 null]
 >> endobj
-3627 0 obj <<
-/D [3654 0 R /XYZ 90 546.5409 null]
+3547 0 obj <<
+/D [3608 0 R /XYZ 90 572.93 null]
 >> endobj
-3658 0 obj <<
-/D [3654 0 R /XYZ 90 531.9706 null]
+3612 0 obj <<
+/D [3608 0 R /XYZ 90 558.987 null]
 >> endobj
-3628 0 obj <<
-/D [3654 0 R /XYZ 90 355.9189 null]
+3548 0 obj <<
+/D [3608 0 R /XYZ 90 366.883 null]
 >> endobj
-3659 0 obj <<
-/D [3654 0 R /XYZ 90 341.3486 null]
+3613 0 obj <<
+/D [3608 0 R /XYZ 90 352.939 null]
 >> endobj
-3629 0 obj <<
-/D [3654 0 R /XYZ 90 137.4014 null]
+3549 0 obj <<
+/D [3608 0 R /XYZ 90 241.413 null]
 >> endobj
-3653 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+3614 0 obj <<
+/D [3608 0 R /XYZ 90 227.47 null]
+>> endobj
+3550 0 obj <<
+/D [3608 0 R /XYZ 90 89.441 null]
+>> endobj
+3607 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3663 0 obj <<
-/Length 1980      
+3618 0 obj <<
+/Length 1626      
 /Filter /FlateDecode
 >>
 stream
-x��Ymo�6��_�Ow2pf�*���l��{{]p�v(��ՋO�����P"eѢ�l�E>Dq�Ù��d��,^F"B��p�
����o�
�a|=��,���R!�p���f	���f�) p�Z�q�aEp�E|�aEqP�LJt[Ƿ�ewu\��o���AU��T��&�����!�O���LR��F�����ͷ����W��B�=����g��’�]`Ĕ�G���(E�łSfo���ſ�y���_Da/		e��
!A��&,��H�8�ʦշ4���]}�Ѻ�xlV$hӢ������*9

�)!H�k�kz��"�� ��F
d<L")	
�S��ϳ$k?�PAGP�VD0`�$B!�{��!˷f�c����Y�M���*
\sl�5�uu��O�(4H��-tdn��g�ʇ��Z�Ika�>N��6+Ҳ��
�� =�
���V
-����!����x�͂�c�4�B3�K`���I��H۴n���LQ�(�:0qd at O=q��E��Ӭ��r�S��}�PS�NN�)q�
6��
1����1-�rw���A��X3cz�������~���wE�Vz�@=�+s�B�b�>�/�tEK�H`xϰDO�?��1���w���z��
)�,lEq�cq.ĄW\�P
�P�גE�&+"pw��W����WP�*�1F]f
K$
v�KX���
kL<�� {�5f�b��Y?k8f�MV�!p���wY
8���}{�k.X��2�fY�v�$��t�U*#�"ٺ�d~Z%@zR�Ԡ��$>4ƍ>)�����}U3"�Vu�և�=Ԗ���_ܥ����[�f)]����O�� ���?%�6�@�0�c�I�i��]��u�3�
�\�_�����wn��c��I�%q�-Aܯ���M�6����23�Q��y4���z �~'����0>��J�
z�
7������P�~A�biŧ&
A��^�^7U��ӧ�=��猩�H�lP���
>�!�B�����!��Ax�z���Ϳ����������N2ʡ�g�m�f�*��
�
A��/j+ W;��&�����p��ӵ1�
�p��Y�&����E�dB��09��c�e�dC������
�M<�� ��'P�,��PS�.��ƀH���m�+
b����81�P��g`
����M+ױ.��Ԭu��Zw%B��ĵ��;�nw��5
��ve��%��L�#je��}�Ţ{��3��3u�7����h�������E�J���.8��K��c�`�}���

�!F�E�ZUL�B!����s��H�H�
�7Փg
J)G_�t���
����|�l&*�>��
-TY����'�L
I�� {k��KN�^$p `���SH��X�֜(�Q�~����p�Ka�!�������]uh]�2��i�C�<�(r���X Ñ0r���1���
���I��E�}���;ϚԎǭ�"�۴�N�t��:��F���]�?'�
����*�A��$��.�BqY����
�K�uY�)��
N�i�90#=O��3��j�=�R$D$�c0��������"��A�M�6q�iw����SV���h8�ZE0F�ǰ�@Z�
5|�����~
w���{ӝ�0P�|��P��
��c��o��t��̥�����{qa�,��p�����r�>ܦu]�g"	�K9�5u��(�u�0q��<ԕ>??j�4��4�g}���x���� ^���
D��v�+� �̶7=�%i��FOll�����E������R����F�
�Y�c�F����`��a<&���b�o����W����H
��N8,�A�Ew}�ֶ}�������4i��������`�E�s�詀هϨ�*�-�3�ۏiz
Q��4'@���K{���:�֣7���F��̫��ж�뫫��G�4�Pf�e��~�_���t��H�m�z M|q"�-��/��� TT�H����ܗB��M�+���VZendstream
+x��Y[o�6~����&3û�����ЮM��VdE�،-L�<In��C����m�
ÞD�G���}�������g���sɜ �Jg|���$A�g<u�]��`���!�n�-›�!�n?��4
o^E�Y�=���w��w�d8���q��f���S�J&
+4S�3�p1|?~9x6
�5 `vHi��DŽ3Y
��cg
+�/
�X�;������3v���^�(CX��-D��9��r�1�����I^�׋�ݢ�h�O��e.'a_�3��F��G��R�;-�8�H���{������e��Q�pcҰ���2R)���m+�'y%���h+����.�ݜ�y}����/��z��
��O������y�j���IT�7��DG�ȗB�!I���l�S[��H�XڄT���e�r�Q233�\�A
+��,������i���jz�!)��b�5�8�M<z\(�ꀢ�M�:��q�(�t�����
.T������Qԩ�#�,#a�Z��>����Ee�x_l(���
+�r5�~CǠ��`D8����LwY�DE˴�*��g����T+�,I35E=�:��>$IJ
%���B��	�h3B+[��l hǃJ�xX����d����eB�
��Yˏ=; 2Z��qod �B�Q�����/:��K�,]���H�}!����
�it_L��Zc
��%nS�׺OG>
(�|
��A����/�+ً�$x\ 
q����:J�(Q঄�߇��±�X8NWE^��m�.����;��o(��(��,*r�ZTb�2�(#1� 
+��|��
[���
������<w���>S�(W�zXTVL��T�۪�>
���ʭV��x����E�f4�&pI��jn*khH�[֑�� �_�7Zݲ
���|*���F|/)b�p���u� @>�0ֈ�N1;S"��d��ɳ�D-
(ҏ�G��R^LOOc�̊��ʲ4����
>��,
R��k@ԍ��l�	�Nz��Nzک�\�)����
�q^�)�R?�b�7s!�y�0�a
Ku����2
+��ȋ�
P�V��?dIJ?�?�����pqa�@���ܷ=
+%G�Q��l�|6��0zA�q����
�����<\���8�*?H�52�� $0;D��^��GI9��,���x^'�x��^�*>/sˠ���q�<���c���S��u�t�^lPŦ�6ݷآ�{ܥ������+kL2�w-R�=n�=��
w辫���1m�N
�(h�v����QӬ�蝴������k���Lʣ
�>��H���!�HC��}3)�Y�@��{Ar�`��E�W6��'����zY�R�I[C/�@�p��}��|�8��@
C"P!�;�DH���C�u��y9|ި������/�����VTb����Z��m۠�,��
Bћl�����	�\��,K(�;���vz��i��|�
����ρ/F@Ƅ��o��"}���R��P�c�/"d�Cp|#_�������jy¼��U��P׺�:LV�;�>hUPp��
��
+h�4��I�0������t��/���)f��5tϋbyzrr�&9Z%�2CQq�\�'��n�]��.��X��%0��h�� 	�X�
+endstream
 endobj
-3662 0 obj <<
+3617 0 obj <<
 /Type /Page
-/Contents 3663 0 R
-/Resources 3661 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3652 0 R
-/Annots [ 3669 0 R ]
+/Contents 3618 0 R
+/Resources 3616 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3590 0 R
+/Annots [ 3615 0 R ]
 >> endobj
-3669 0 obj <<
+3615 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3664 0 obj <<
-/D [3662 0 R /XYZ 90 757.9346 null]
+3619 0 obj <<
+/D [3617 0 R /XYZ 90 757.935 null]
 >> endobj
-3665 0 obj <<
-/D [3662 0 R /XYZ 90 733.028 null]
+3620 0 obj <<
+/D [3617 0 R /XYZ 90 733.028 null]
 >> endobj
-3630 0 obj <<
-/D [3662 0 R /XYZ 90 620.0406 null]
+3591 0 obj <<
+/D [3617 0 R /XYZ 90 628.632 null]
 >> endobj
-3666 0 obj <<
-/D [3662 0 R /XYZ 90 605.4703 null]
+3621 0 obj <<
+/D [3617 0 R /XYZ 90 614.58 null]
 >> endobj
-3631 0 obj <<
-/D [3662 0 R /XYZ 90 459.0826 null]
+3592 0 obj <<
+/D [3617 0 R /XYZ 90 410.52 null]
 >> endobj
-3667 0 obj <<
-/D [3662 0 R /XYZ 90 444.5123 null]
+3622 0 obj <<
+/D [3617 0 R /XYZ 90 396.467 null]
 >> endobj
-3632 0 obj <<
-/D [3662 0 R /XYZ 90 327.7041 null]
+3593 0 obj <<
+/D [3617 0 R /XYZ 90 254.929 null]
 >> endobj
-3668 0 obj <<
-/D [3662 0 R /XYZ 90 313.1338 null]
+3623 0 obj <<
+/D [3617 0 R /XYZ 90 240.877 null]
 >> endobj
-3633 0 obj <<
-/D [3662 0 R /XYZ 90 99.2888 null]
+3594 0 obj <<
+/D [3617 0 R /XYZ 90 89.441 null]
 >> endobj
-3661 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R >>
+3616 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-3672 0 obj <<
-/Length 1839      
+3633 0 obj <<
+/Length 1751      
 /Filter /FlateDecode
 >>
 stream
-x��Y[o�6~����f����,I;�k�lu�ma(�
�-O�����P"ɢU�M6���t��|�D�����
-��p���5��Ӏ��܏������C���r8�*%H�%t8���
Gc<�<��U<�S<ʖ��d����e
総��n��
e�qD
�-���-�J�{�z��d�8.�&�O&����$���9x�����F�h1��F�:\
8e~�
�
�Z˩n��"";&$�!,�C�("�ťHV�e\$փ���4
�
43��>�]�h	WHq�
���$�xaQ���J�����$qn�C|V�dt
#���C� 
FR�y��e�m1�������E�	EDqD�=����K����R���M�0���2�9qW��8�L��2�u�1-n�UMw%�>�����!�h�{�h	C�Ա��ӳW//^<����m@�f���ARH@$�FS�e�K��t�<��˔@D�[̀��f����C%
~���mI I9/���t9w�
�ޯ�m\1����
-wqՂ��W����PiV����"	�L׋$O
����&���y�J�۴��jzz����;���V���ɓY�M����V̖�y��F�3N
�	t��Q�MpByP�Du��6c��FT(�l)E�o��'�"�(	�1�Fw-i���F���z�b-�6�@6��ר��V!J����N:��m��"��_�Qg�v/cw�sD%Wa��ր��ú���]@sj�?�ݣ��ہ�5ik�,|������A��H��Y��|��Π���/<�x���xY�+��D�J��������7�0Åj�2�����n���f�jV���:^7��(L�K$9��g����@BӾh4$��#%�Gd��!-j�n&��c�j)S[������
v.7F�+=G��Q�Nf�����8Ff_����������V˶hX7�V��yf��&3ò4�	m�`�,���eE�VɾxG�֞����q��rT�}i��c�19�
-QCT?�7Q���K����D
���K
C¼T����M�	�I��5��u��a�
��uҗ��`v�b֌~fo��"�aG2{����;�������2;����^N�q�(aMF?����
-��
hd7ǯ-:@r@�X���J��7x�|uo)�8%�C��䤇���)
{�Ce?E����T��&���
��X&��N��?!���yZ���D
&��8�gGƐ=s�cIxNְfg��SؽP�ց�Z��� �)kk�ts{��B5�p�O�����yؑ�ү�f���0������
�Y��Mb���� �@Wb�Ob�I��ؽ2
?�a�S��NCG�K���y��$����\�Fev�ݬ��p�s�}�^�
W�r
�θw-e
�"|��.���t��5��g�RM\��
���Ґ��+��,�&Q�|na�^�.v��Jܙ�W��c<+��ֶ�*9�F�sԡOB���Y��>X�S*�
-�fژv�Y��P����Eֻj	�^���������[J��Ȭ�f���]�(�$�of�W��B�J���%E#I��w�u�WYf�.S��ݮRW�Q�}��@�0����^�^rP���4O�]�<�K3� ����O&lmh�J�*^nCj"f�]mW�o`�>M
-���
�"������Z���
iR0Иb�}��F��ԅ-��n雽Z���o�I��
{���z�y�6�_Vl�	�b�th
1�(��d?4TQ���[���1�W?��Y?5������mG��yQ��''777h�E�u��QZ�l6˓}���se�ՠ�-��3
�g�*��\e������Ï�rZwJ�~v��7��Ѱendstream
+x��X�o�6�����
T
I�����-��ZX��"ӱPY�$�I��
_�%�I6t0��������;b���ދ�/���s
x	N�7_y{'�Q�͗�Ŕ�g>�O�gO�j�,�gO��v-�U�x�]VIu{zz���W�H.�v�KY;�_�<'doJ#
����%=
F4n�|��G3�2���8KoG$��~�W�Y�Ե�;�	:��m�4�<� W�>���H�!�NIȕ�ɳ���	1�#�a,BQ��t3����%<�a�ػ֫6^H�b��q����| �Y�|�("���P���S�Hc<��Nˢn�=�����}��q�`{
+�8@S��+�z��
q
�E��
+�)F

\�����sy�5�
��-#�BJ����`dߐ���n��b_X�H���w�g�ߞ�y�����qq�x�<EF$�5q�ޅ��:��Y���R�R�bN��44�����ab�����LKݗ��^�z�U�v2���w�k9.)+ֲ��k���$���l#�:k�^
���%
+{�
�m��*��d��ҽO�F�
���i3e#!8��!

+c�M�d#Yէ��;1=d�E�1Œ���M/�22���
�Zګ�4��*�T�fvA��ҷ[��!�e�1]C�($Z��
P�)�jn��ˮ��r�'ø$�U	�Yo����ReRQn�$7�F�aS�+gS4�g>�p
+�@�E}�
�
�c<�g>u{|�(��F��?΁�ʁY�g�|8���Y1t�٪P��:8�.m�j�,rZ�
	8@��p>F�  ؉�
+�0�V�F�x�+Ҧ��_�To��GVQ��ѓ����tY��"QH�)�U�-ֻ<_ b��E�Zț$m��^YW��-��{{�w
�ʚ1�sp
+���!R� �Tg�_�^���`x.�m����B�т��fQ�(&�n8�e�D��*��C�((�r��e#������.�4�@o�F
u�����MS�2�
1R��p�_	y'��
�d���բs1-!�յ��#�#`�֠U��c����L!�V��n��u�͖�g7�ܪ���݁�t����iV� þ%y�\$���;ʰ��M�*\�3ʦ׮7������]�
�;Gq��w�ێ'��
�]
�/0�e.
IC�BQ��Y��р��=�ԏVe�
紛ή5Gڛ+Y�
+�4�{��r3�SVe�'gŕyN����]�
�n#��>S���.|����h�nY� �j�91A�H
�����
�(�;2x<�
+Q�9����`n��U�F磢��
�{��~ ki�c`V
m����X΃yQ�/�Om��d�uu�EJ�����v�ƈL5
+^m�ݘ�)L|S�,��_	�כ�~;�_�~�#���
P� >�.Ea��}@�O1tH��S
�BHۨX��.s獱>�����L�����c��[�\
TW�
�^��|�z��IA�uW`�5՜��pD�s�.V���J^hmU� ��nI�(��
+
WWYR4��DS7�	Պ
��P�a'k�
+#9�Q)'~��.o�_�a��=�T�K�H�'�r�ò�EV��_�D��^�Ѻj�9F�}ph����֓B��W��s��N�*Ib��v�jG�~>
O�8��>�@O�<`�� ��A
�+
ǔsE6��[W
̭-	���ZV?�����mR��\��n����h0"��V�*�hL������z���D�S�4��v�m��n�������5Jk�+�m������K:)���IKכ�js
nt�G� �Ci�#
+endstream
 endobj
-3671 0 obj <<
+3632 0 obj <<
 /Type /Page
-/Contents 3672 0 R
-/Resources 3670 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3652 0 R
-/Annots [ 3680 0 R ]
+/Contents 3633 0 R
+/Resources 3631 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3590 0 R
+/Annots [ 3624 0 R 3625 0 R 3626 0 R 3630 0 R ]
 >> endobj
-3680 0 obj <<
+3624 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 184.304 150.493 194.834]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_33a5462cd5398fdbd61989d17aeeaa72) >>
 >> endobj
-3673 0 obj <<
-/D [3671 0 R /XYZ 90 757.9346 null]
+3625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 145.076 141.367 155.98]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-3674 0 obj <<
-/D [3671 0 R /XYZ 90 733.028 null]
+3626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.865 145.076 174.293 155.98]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b74908b692bc6f8112f5d27b96141431) >>
 >> endobj
-3634 0 obj <<
-/D [3671 0 R /XYZ 90 592.1452 null]
+3630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3675 0 obj <<
-/D [3671 0 R /XYZ 90 577.5749 null]
+3634 0 obj <<
+/D [3632 0 R /XYZ 90 757.935 null]
 >> endobj
 3635 0 obj <<
-/D [3671 0 R /XYZ 90 419.232 null]
+/D [3632 0 R /XYZ 90 733.028 null]
 >> endobj
-3676 0 obj <<
-/D [3671 0 R /XYZ 90 404.6617 null]
+3595 0 obj <<
+/D [3632 0 R /XYZ 90 604.1 null]
 >> endobj
 3636 0 obj <<
-/D [3671 0 R /XYZ 90 270.2292 null]
+/D [3632 0 R /XYZ 90 589.53 null]
 >> endobj
-3677 0 obj <<
-/D [3671 0 R /XYZ 90 255.6589 null]
+3637 0 obj <<
+/D [3632 0 R /XYZ 90 510.132 null]
 >> endobj
-3678 0 obj <<
-/D [3671 0 R /XYZ 90 176.2603 null]
+3596 0 obj <<
+/D [3632 0 R /XYZ 90 487.82 null]
 >> endobj
-3637 0 obj <<
-/D [3671 0 R /XYZ 90 153.9486 null]
+3638 0 obj <<
+/D [3632 0 R /XYZ 90 487.82 null]
 >> endobj
-3679 0 obj <<
-/D [3671 0 R /XYZ 90 153.9486 null]
+1427 0 obj <<
+/D [3632 0 R /XYZ 90 321.925 null]
 >> endobj
-3670 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+158 0 obj <<
+/D [3632 0 R /XYZ 90 315.325 null]
+>> endobj
+3639 0 obj <<
+/D [3632 0 R /XYZ 90 202.904 null]
+>> endobj
+3640 0 obj <<
+/D [3632 0 R /XYZ 90 202.904 null]
+>> endobj
+3631 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F21 2075 0 R /F72 471 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
 3683 0 obj <<
-/Length 2698      
+/Length 970       
 /Filter /FlateDecode
 >>
 stream
-xڵ[io#���_! �FF4��H$�� ��d2�|�,��Զ�+-i
�ק��l�}��ȃ� :^W=�
�M&����%2���b}�'O��_�H��
������]]�J11�H*'w��I���NL	Ar6'����Ӭ\g�gO����|Yf�+
ʬ|����9_|��|y����!/g���p}K��R�Y��!�e�7������9�B�X�XfCU�؟���]e�}m�nf�4_�V�!�?��?}���f"�pi�^}�F�	�`��x���_�d	���
-#f����
�
���8e������v�/���CЌ&l2)
-�Bi�0�
-�KD1��bm�LM��H��`|��E�;����;F�)R�҉o�9�h�}Fs��"L��Z������8������}V>
����#e4�"2D�Dơ�d��3$���=��ӗM��c�Sԏ&��I�����&����z�j���ט��D
��m�f�DZI��F4�RSg�l�yY@�0��b�خw١xX��>?�C�CJaH[�ˆf������&G��㶬_T#�^-N��R�D��)��%ղy�ܮݣ�3�Z�Q.6O�GD��ojM
-�8�jT�|@�	�.g���TsF���<<E�{lQ)� K���V����)PZ#�1��i��3�@u�O�Af<?TQ�1#=-�0��!]1V�'ơm��Ըg�v�,r\%),�C�2\�
E�_
sF낱e
Fa��s��e���e'�7��e�h��u�7�\ ���A��Y��M��fD ����
���u&�
2d*QHR�+F���\
����	��f��m��r����T�8
-����qn���F�V����a���S^%R����YT��@�
-��0��8X�> R�-,Y�Q��*M�uU�}�nW=�MB����_�O
����S
zv-�����
�� >n�Jy���hՍ7��F�a��k0,�ĉX=�l9a�2Lڼ�u�m�3�mT�����J=
���U� rV�>������ժ�ȸ��,�͡Ag匩i����N�D��Զ��4��dn��b�to�0�4H3���’���zl��D�H�s��ݧ|\�3�C����񣐽X��A�����
.�W5.��k��b�4���P)�J �UǷ-�J^�'���P
�f�s���<�/��G�Z��۝��N=�:u�ve/��j_���)&�$��Z��4G+���uʡEP��?L�ar�9u�C���`�
�Z���.���`��`�4iaU�����a[���k���+�
�߷���U�}@��Q%�����߷*	lq�!Ir
,�6��vw�\�ύ�+T��^��Ł(I����ǔTx�\%�z��`�B��6J
��JNO�,�������I�<�B�h����/`˚���D��T6
-
-%7�lt�t6z/��89��>�s�1����(�S6�l
|{Ʀ��
磡h�)=�o
���K�x0ZT��I�D���xa��S��E��و��՚�{��Q��!�
��"i�"�#W��*����
�
�!�
-t
��|��$���
\�x�Gε
wǁE���n�k��l�����aԇ�v?����i+��N`���a��:�M3��1�͂��#��P�
-R�f\��$N��x� �-� �i��+H�`x��e����8��Ͱ�d
��՞


�D�S
>}莜mœ�u&Z|b&�v�����Y�����
p%���E��+���/�2�*P#���]�*�6"�B
�ڵ�>|X
��8٪���^θ�:��z%� ����K����v���DY����X\�-*���b�5,���H�:<u~՟���ܖ���J5����/���:�4����������M�k`�3֗So}��hח0B���C�s��9k���ŎJbEAt8�׈ç���Ď�#�质��
)#L�?)v�.��Eb�و���}�ص�[�T��n��2�a:|>�"��옧D���"��X������S_�$N"D�#��my�� G�b�!Q���׳�TJ�<>�����(��省��
-�uf�\����
-8ػ��7חI 0l��W?��Fq�UBZXR|��J@�\
��!1���I�F�#�&. ���*Y�Ҹ 8|�\�n�
�GW��4��oF���-�*~���upI�{&"��P�V��_T�Dq�I
R���O��Y�S�-,]�����>N�ս�휺�0��>J�T�A�:u�ں�[��dx�Sd�o�)v=�o���͌htZT¿�����O?���}��w�w���T_& �^���/��r��D� K
�g�b��s�s;G "L}��8	@�QHJ��H���!�q)p�Ϟݤ@�`�X<N-*�q�/�	�'��^����� �FL
-
�+H�{�&����hh�8I�8TR<s�*B�Y�򉝡��
D�j���9�<P{�ۡ4�� ׵�>0PP��ȴ��s)�����Ws
b��U"�*��c�/�k��	~��(��&�>���
>��Wڛ��N{����^���>/?b����)�
��������徕�Z]�A3�X<�9���AAn�
-T�y�^���F���{��襼����1?���뗗�أ�ؕ�8\�v��^�ؿ��Mܼ���gZ"(5
pi/���e{Y>\W���L��4T���endstream
+x��Y�n�8}�W�)���&E���E�n
+t�E�z���P$:��K�
ܯ_R�|�6	��P	H �&�̙
n��3gz��`�|f
!����`��kcȼ	F��
Fn,�x~��ȭ��R�2��nd,���o�"��'�t������:{?���`����o��0S�l��$jg�<
�/��O�	��Y��@&�i��z�M
��w�E�+�U
�Œ\��2��(5�1�]
p
��9s�;X� ��Q9� )���j�=@�D!�kf �a9��|r�u>:��C;1�L��>��Qc�ߧ����zyk
�z��	UBu�[�fi�_E��`���� T���Y��"o�"��qWR��Zn��RN�؅��{�#��^=9��G���~���=
�l�K��m�U���5�8���l��
+X��F{�%*x��T�At��GH
�p���v%ʸ�ys!�¼ٔ����Rg������
E	EGi�!שC0c��z�0�6e����b�y 1b���_�H{��N:B�vR�
 ?�z�*E
$xUm�4+o�o�N?��|j�O|u�ʏ�^�������,γ�q�U�[H/�nC����q��25��5#E�
+��߳d���RXۓe,�[�rv��_�y
1Ҏ߱z^��~DZ/+Y�K�J��(+G&Ў�(�\^�6�E�=�Q�ϞΘ��h�rL�;zB���K������R�v��M��_$:U��.�[���)��Φ�\)
ѫ/��s�h�H�|�,�"��#�67��-���`��>��"K7��
+d~�7���ϓ}�l�*I��fR���
)��N�L��ç�s��-�'�m��R��R��k��,�h�m
�|�}t�៵�/<J]��c\nZi��~h(!׻�@����h~Л���BX���7о��;���h�Cܶ��u�:�N���`���2[I����*��o2�Q0�
+s
��drR�!��&T�����
+endstream
 endobj
 3682 0 obj <<
 /Type /Page
 /Contents 3683 0 R
 /Resources 3681 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3652 0 R
-/Annots [ 3687 0 R 3688 0 R 3689 0 R 3691 0 R 3693 0 R 3694 0 R 3696 0 R 3697 0 R 3698 0 R 3699 0 R 3701 0 R 3702 0 R 3704 0 R 3705 0 R 3707 0 R 3708 0 R 3710 0 R 3711 0 R 3713 0 R 3714 0 R 3716 0 R 3717 0 R 3718 0 R ]
->> endobj
-3687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 505.8166 150.493 516.3469]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_33a5462cd5398fdbd61989d17aeeaa72) >>
->> endobj
-3688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 466.6797 141.3669 477.5836]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
->> endobj
-3689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.8651 466.6797 174.2929 477.5836]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b74908b692bc6f8112f5d27b96141431) >>
+/MediaBox [0 0 595.276 841.89]
+/Parent 3590 0 R
+/Annots [ 3627 0 R 3628 0 R 3629 0 R 3642 0 R 3643 0 R 3644 0 R 3645 0 R 3646 0 R 3647 0 R 3648 0 R 3649 0 R 3650 0 R 3651 0 R 3652 0 R 3653 0 R 3654 0 R 3655 0 R 3656 0 R 3657 0 R 3658 0 R 3659 0 R 3660 0 R 3661 0 R 3662 0 R 3663 0 R 3664 0 R 3665 0 R 3666 0 R 3667 0 R 3668 0 R 3669 0 R 3670 0 R 3671 0 R 3672 0 R 3673 0 R 3674 0 R 3675 0 R 3680 0 R ]
 >> endobj
-3691 0 obj <<
+3627 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 392.0551 199.4753 402.5855]
+/Rect [125.095 720.286 199.475 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fcba1dd5e579752d6dcc40ef4d5799b8) >>
 >> endobj
-3693 0 obj <<
+3628 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 355.0018 199.4753 365.9057]
+/Rect [125.095 683.344 199.475 694.247]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_c0ef828e81a5c7625db3abadcafc8438) >>
 >> endobj
-3694 0 obj <<
+3629 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.8125 355.0018 301.1931 365.9057]
+/Rect [226.812 683.344 301.193 694.247]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3696 0 obj <<
+3642 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 306.3669 199.4753 317.2708]
+/Rect [125.095 634.82 199.475 645.724]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f2441164b4c23a8203f399f561c9a7c7) >>
 >> endobj
-3697 0 obj <<
+3643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.8125 306.3669 301.1931 317.2708]
+/Rect [226.812 634.82 301.193 645.724]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3698 0 obj <<
+3644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.6912 306.3669 477.2474 317.2708]
+/Rect [417.691 634.82 477.247 645.724]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3699 0 obj <<
+3645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.6725 292.8334 303.6396 302.7386]
+/Rect [237.672 621.342 303.64 631.247]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3701 0 obj <<
+3646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 269.6871 199.4753 280.591]
+/Rect [125.095 598.251 199.475 609.155]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_4bed59d493c4fd91537602efb267c938) >>
 >> endobj
-3702 0 obj <<
+3647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.7452 269.6871 320.3015 280.591]
+/Rect [260.745 598.251 320.301 609.155]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3704 0 obj <<
+3648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 233.0074 199.4753 243.9113]
+/Rect [125.095 561.682 199.475 572.586]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_80f6de87ec43c33fac3832b14a507c0b) >>
 >> endobj
-3705 0 obj <<
+3649 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.5247 233.0074 323.081 243.9113]
+/Rect [263.525 561.682 323.081 572.586]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3707 0 obj <<
+3650 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 196.3276 199.4753 207.2315]
+/Rect [125.095 525.113 199.475 536.017]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_298300b8f88eb674c317b99ad09a474b) >>
 >> endobj
-3708 0 obj <<
+3651 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.12 196.3276 313.6763 207.2315]
+/Rect [254.12 525.113 313.676 536.017]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3710 0 obj <<
+3652 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 159.6478 199.4753 170.5518]
+/Rect [125.095 488.545 199.475 499.449]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2024878c4c26cb836d454e2e93f40c8f) >>
 >> endobj
-3711 0 obj <<
+3653 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.3131 159.6478 320.8694 170.5518]
+/Rect [261.313 488.545 320.869 499.449]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3713 0 obj <<
+3654 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 122.9681 199.4753 133.872]
+/Rect [125.095 451.976 199.475 462.88]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_4f3206ab2d3c47e2014e5b306167c7c0) >>
 >> endobj
-3714 0 obj <<
+3655 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.5172 122.9681 341.0735 133.872]
+/Rect [281.517 451.976 341.074 462.88]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3716 0 obj <<
+3656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 199.4753 97.1923]
+/Rect [125.095 415.407 199.475 426.311]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_cca11ef67e39b711f96604b6bf806feb) >>
 >> endobj
-3717 0 obj <<
+3657 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.7078 86.2883 330.2641 97.1923]
+/Rect [270.708 415.407 330.264 426.311]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3684 0 obj <<
-/D [3682 0 R /XYZ 90 757.9346 null]
->> endobj
-1467 0 obj <<
-/D [3682 0 R /XYZ 90 643.4918 null]
->> endobj
-158 0 obj <<
-/D [3682 0 R /XYZ 90 636.7505 null]
->> endobj
-3685 0 obj <<
-/D [3682 0 R /XYZ 90 524.3713 null]
->> endobj
-3686 0 obj <<
-/D [3682 0 R /XYZ 90 524.3713 null]
->> endobj
-3690 0 obj <<
-/D [3682 0 R /XYZ 90 408.6173 null]
->> endobj
-3692 0 obj <<
-/D [3682 0 R /XYZ 90 372.0571 null]
->> endobj
-3695 0 obj <<
-/D [3682 0 R /XYZ 90 335.3773 null]
->> endobj
-3700 0 obj <<
-/D [3682 0 R /XYZ 90 286.7424 null]
->> endobj
-3703 0 obj <<
-/D [3682 0 R /XYZ 90 250.0626 null]
->> endobj
-3706 0 obj <<
-/D [3682 0 R /XYZ 90 213.3829 null]
->> endobj
-3709 0 obj <<
-/D [3682 0 R /XYZ 90 176.7031 null]
->> endobj
-3712 0 obj <<
-/D [3682 0 R /XYZ 90 140.0234 null]
->> endobj
-3715 0 obj <<
-/D [3682 0 R /XYZ 90 103.3436 null]
->> endobj
-3681 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F23 2116 0 R /F74 478 0 R /F101 2128 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3722 0 obj <<
-/Length 2711      
-/Filter /FlateDecode
->>
-stream
-xڽ\�n#7}�W�)+c���`wv6�H����S�Զ���Hr��oQݤHu�eM�F0��:]u�XuX�f�
(����2�	���
���\���K��2�����VG��zp}���Q�����!cD�.�t�i��p�^�o>�8
����t=����v=^?��ᡚ��A���?O��j=���ǫ��%87D倐����q`�p�d��
9|7���S�9�M�;,
G��9����fS۽
9>���񶪏|��>��j9�C�)>d�x��_Lj6WB3��.~����/(Ϊ�W�@���Ņ�"|�_|��o�S�;�k܄cDhڥ��j8����Z����p����P�dL #b��.F��%D����g�0�j���3[ζ��|��x;[-�cw�T�բ�4n�>-7��e5�?MFL
��i�g>-���}}d��V
K#�8d��l`'
�

-��Dg &
��lw��$��)M���iN1C4�va>^?s�������J�,��?��o�����P�Pr
,��]�Sg�4�y�
-(��o�N�{!�h���պI��VP����DZ�h

R�c[v=��M>���?`"'TQPD!��4��!D�h�k�A/�����D�9� �^2��"R�ח�Q>��2a�
��� B��e�N���D�$�
�j��lY�5�
�:.��k�EE�sH/^
�ˈB�
�B��Q�����@b��vN���O�%F�A+ cE�C[��5 1�[����Nр�T�$��E���U�c� '��T����C��8b����D�޷
d(��* $8�=���FI�
-��~@�ײgh
"�A4 �	�0TR�}% !��2n'H@�i"eQ�$ �������A�cL[vQ=P�P�\9R���ò���?��h�@�у�FA"�u��L� }�T�Wo���MJT
W��`oe(�
ʐr;E
-LSe(��+C!P��)�qyY �4�r\
#ղ�� ���
��D�߁M]��v��$6J"`�(����W�
���A�3�o�
`x�'{�{�\(���)�^`��{�ľܳA�OWO��X�R�������
���]tʇ�0F�C@�wA��V:���:�EY�	?�Q�� �U����*u	
Uo0�K�ڠ3{sx�G�J=�u��3n'�z�iR�e���A��{��D2%8��5x�]�.���A�Q�������?V�RC�
}m��Om�>�z�}�P� ����K��
- �
�9�	@����- erA Rn�@�i* E{�"0Y-7M&-
����wD�#��Cb�U �1�-��
-HM��ּ��B�
	�-�T8t߾e����
-X/X��ށ��s( �n��7P 
--���� ���
-P& �v���
-P$�W�,B�
-�Nj��{`rbh�Ŗݗ(�PC�E�_H�:.t�S M0�K/Hm �����1M
V#I���l<�� aa] ޠ-6��;�

6�3���q9HX� �9&RPr� �J.�Al�{����|%��{��Q
���Hy̱u#��Z
-��]����r0G�xFLѳ��1N��3�
-z�L/�Hl�4#�zu
�=C���,��������B���)L �{sm�����J�����۰�uWO�$pn��V�u3��(�U�>?V��Y�}\�8�m*N��F��j�pAJ�������
�P�
-_���Ip
-Yc��Y$��YGm��w
��|���D<F�e���N�Q��GBris��c�3x��2�ֈ
�:<�/Ƿ��懻���0 �I��۴���P5��͗�jj�aL'7����
\��} ���N�̞��d�A
����#���S�샿]��x*?4�x�]�F�u5���n��|S'�1�ߦ��Fa��o�@6͠��3���&_}��߆�(��4��Y#5X�6������N
����o}�ɿ���;��6�p
ݨ��sL�?>�DԉsL���
S&��~�9�Q`�,��}a("
�Ѳ��`�ge�i[FD�Y����
U��� �a�
-ɖ9�`Z*[����w�eq�*��z�'�Q� ��
���9���.��n�
��_��o���ˈB���y&M�L����|�c��X�����sI�A&��1���w/rAdSn��l�i*�E{��""����tC*
�Arկ����^���W�cg+�`=��x�f�YHu��
�]�Bj�o! �X��B(1M
-�L"B
��BH_�+V

-1���S	��B%D��*aw�g� 

�;�r�
-����� �+ 1ػ��B��N��Ӵ�$��E��o���_B�M�>���(���-��ϖ�0���7�~���?���O
���2���)�S���4��"�}�g:����r��5I{�b���v���]$�g����-���b#֚Χ�Ɛ5�>��W+v�'�-1̱4=4qF���D�#J��A�~��y�m �E�O��D��/������)5lv�{�|
-7�|���MU�M
(�J}���
~�����a&r�����A���
��.�3�O1�ն��k~�n�_]}���L6�i9{\�����q~�Z�Z�0��.�Z\��
���!�r�Z��[��K8���y+�U���Vn�endstream
-endobj
-3721 0 obj <<
-/Type /Page
-/Contents 3722 0 R
-/Resources 3720 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3652 0 R
-/Annots [ 3725 0 R 3726 0 R 3728 0 R 3729 0 R 3731 0 R 3732 0 R 3734 0 R 3735 0 R 3737 0 R 3738 0 R 3740 0 R 3741 0 R 3743 0 R 3744 0 R 3746 0 R 3747 0 R 3749 0 R 3750 0 R 3752 0 R 3753 0 R 3755 0 R 3756 0 R 3758 0 R 3759 0 R 3760 0 R 3762 0 R 3764 0 R 3766 0 R 3768 0 R 3769 0 R ]
->> endobj
-3725 0 obj <<
+3658 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 697.0916 199.4753 707.9955]
+/Rect [125.095 378.838 199.475 389.742]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b4d4a0ebee3fcc93490aa029028a810b) >>
 >> endobj
-3726 0 obj <<
+3659 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.4873 697.0916 333.0436 707.9955]
+/Rect [273.487 378.838 333.044 389.742]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3728 0 obj <<
+3660 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 660.4166 199.4753 671.3205]
+/Rect [125.095 342.27 199.475 353.174]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_1bdc1023fb4478270594d0e965eb90c9) >>
 >> endobj
-3729 0 obj <<
+3661 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0826 660.4166 323.6389 671.3205]
+/Rect [264.083 342.27 323.639 353.174]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3731 0 obj <<
+3662 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 623.7416 199.4753 634.6456]
+/Rect [125.095 305.701 199.475 316.605]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_461dbfcb8f68886137794e4a408fc55e) >>
 >> endobj
-3732 0 obj <<
+3663 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.2758 623.7416 330.8321 634.6456]
+/Rect [271.276 305.701 330.832 316.605]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3734 0 obj <<
+3664 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 587.0667 199.4753 597.9706]
+/Rect [125.095 269.132 199.475 280.036]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_74b0a8cfdec7831e7a3e296b3e3751dd) >>
 >> endobj
-3735 0 obj <<
+3665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.4799 587.0667 351.0362 597.9706]
+/Rect [291.48 269.132 351.036 280.036]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3737 0 obj <<
+3666 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 550.3917 199.4753 561.2956]
+/Rect [125.095 232.563 199.475 243.467]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6957dba3dbf92459a364893d7ecfb897) >>
 >> endobj
-3738 0 obj <<
+3667 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.8102 550.3917 292.3665 561.2956]
+/Rect [232.81 232.563 292.366 243.467]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3740 0 obj <<
+3668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 513.7167 199.4753 524.6207]
+/Rect [125.095 195.995 199.475 206.899]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f47ee9cf59cfac8a346660698c61d113) >>
 >> endobj
-3741 0 obj <<
+3669 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.215 513.7167 301.7713 524.6207]
+/Rect [242.215 195.995 301.771 206.899]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3743 0 obj <<
+3670 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 477.0418 199.4753 487.9457]
+/Rect [125.095 159.426 199.475 170.33]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_bf60cc7fa60d33c4fe958126d55cbac2) >>
 >> endobj
-3744 0 obj <<
+3671 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262.4191 477.0418 321.9754 487.9457]
+/Rect [262.419 159.426 321.975 170.33]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3746 0 obj <<
+3672 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 440.3668 199.4753 451.2707]
+/Rect [125.095 122.857 199.475 133.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_77a2c5c27e9c0838fea6e6447b20c320) >>
 >> endobj
-3747 0 obj <<
+3673 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.4309 440.3668 347.9872 451.2707]
+/Rect [288.431 122.857 347.987 133.761]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3749 0 obj <<
+3674 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 403.6918 199.4753 414.5958]
+/Rect [125.095 86.288 199.475 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_404beea19c04f4e7bbcfe81aae0d6a7d) >>
 >> endobj
-3750 0 obj <<
+3675 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.8729 403.6918 347.4292 414.5958]
+/Rect [287.873 86.288 347.429 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3752 0 obj <<
+3680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3684 0 obj <<
+/D [3682 0 R /XYZ 90 757.935 null]
+>> endobj
+3685 0 obj <<
+/D [3682 0 R /XYZ 90 733.028 null]
+>> endobj
+3686 0 obj <<
+/D [3682 0 R /XYZ 90 700.371 null]
+>> endobj
+3687 0 obj <<
+/D [3682 0 R /XYZ 90 663.802 null]
+>> endobj
+3688 0 obj <<
+/D [3682 0 R /XYZ 90 615.278 null]
+>> endobj
+3689 0 obj <<
+/D [3682 0 R /XYZ 90 578.71 null]
+>> endobj
+3690 0 obj <<
+/D [3682 0 R /XYZ 90 542.141 null]
+>> endobj
+3691 0 obj <<
+/D [3682 0 R /XYZ 90 505.572 null]
+>> endobj
+3692 0 obj <<
+/D [3682 0 R /XYZ 90 469.003 null]
+>> endobj
+3693 0 obj <<
+/D [3682 0 R /XYZ 90 432.435 null]
+>> endobj
+3694 0 obj <<
+/D [3682 0 R /XYZ 90 395.866 null]
+>> endobj
+3695 0 obj <<
+/D [3682 0 R /XYZ 90 359.297 null]
+>> endobj
+3696 0 obj <<
+/D [3682 0 R /XYZ 90 322.728 null]
+>> endobj
+3697 0 obj <<
+/D [3682 0 R /XYZ 90 286.16 null]
+>> endobj
+3698 0 obj <<
+/D [3682 0 R /XYZ 90 249.591 null]
+>> endobj
+3699 0 obj <<
+/D [3682 0 R /XYZ 90 213.022 null]
+>> endobj
+3700 0 obj <<
+/D [3682 0 R /XYZ 90 176.453 null]
+>> endobj
+3701 0 obj <<
+/D [3682 0 R /XYZ 90 139.885 null]
+>> endobj
+3702 0 obj <<
+/D [3682 0 R /XYZ 90 103.316 null]
+>> endobj
+3681 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F35 2013 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3724 0 obj <<
+/Length 1139      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��8}�W䩛H���m�ag;U��vا�
+b jH�$t����
�
���H#�1��]<1t�t��~
���8!9��h���9
#g;.B�{}!t�<ݨXF�;C7O7
���dRD�f8�Y��G�H���ˉ(��w�[��^����������&�]1�|����)���t�b�� ��>�˳�oҨ,k�#/ĮX�Ҩ��{1��Q�l*�b�E4PF{�G�{H��҄1��9�e��tb9�΁����W-
��Թ��݃��ë��N �r��R	X}L 䬆�[Rx�wŴ��&YR%Q��UI��s�£�͗�]df��$_g����Y
+ݹ���kͯ��<����2����
4	��bp��
�}��H_\{�1;���,���oz�C�ɐk���sr����Yi�."x�!>%l���ԫx)d�l<�d�կl���p4V�����B�C��
�-�
ı
��׻��ԗ�*�^D]��B"�L (,ÕM:��̡�:Y'(
�D�,��j�Y�4�{[H2�m2
0��Ѣ졓��< ��<�����T��
A�ʼn�"���*eIF�J]Y	'{���^g�$㷳�	Um�Y��Ў����~%�2�Z�Qi
���Ti��>0@�!�7�wÚ,���?y��Q��;L�
�
2z�N�Ut�\�gy!�W3���R��ʌ �cFe2��L.
�? yѵe�
e�
ߩm��y��vD0�a����8��@�4ӛ=�d�x��A�"���kli3/O�԰
@R~*/��_lΎ~,��������d�
�Iul�b����
v7�,Dvۦ�7zt�
淪Qפ},�2�!�9��E^T�´�5�� �¯��5v��b�<�
�nw9�:�;��:��6�����N�t���δæ[k��$w�'6��\�n帻�Z��)�
��{v
]t?m t��8_ORqI2
��D�.�.�������� �~����A}
+(E� �I`�dY��{��0TBQ���
�ַ�T�����O
c�9��3�������2%�rK
H��
+���x}"Y��x^��ѱ���92��!hw�����p0xzz���dU���V���k��
+B��#�Y^X

+��>��K�xS)��[%�t
+endstream
+endobj
+3723 0 obj <<
+/Type /Page
+/Contents 3724 0 R
+/Resources 3722 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3742 0 R
+/Annots [ 3676 0 R 3677 0 R 3678 0 R 3679 0 R 3703 0 R 3704 0 R 3705 0 R 3706 0 R 3707 0 R 3708 0 R 3709 0 R 3710 0 R 3711 0 R 3712 0 R 3713 0 R 3714 0 R 3715 0 R 3716 0 R 3717 0 R 3718 0 R 3721 0 R ]
+>> endobj
+3676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 367.0169 199.4753 377.9208]
+/Rect [125.095 697.092 199.475 707.996]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_3de2c410fab852f07f89df5be3d4c118) >>
 >> endobj
-3753 0 obj <<
+3677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.7452 367.0169 320.3015 377.9208]
+/Rect [260.745 697.092 320.301 707.996]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3755 0 obj <<
+3678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 318.3867 199.4753 329.2907]
+/Rect [125.095 648.461 199.475 659.365]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_e3a660d2b2a34f69d2d0cb1cc77f6f69) >>
 >> endobj
-3756 0 obj <<
+3679 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.4693 318.3867 327.0256 329.2907]
+/Rect [267.469 648.461 327.026 659.365]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3758 0 obj <<
+3703 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 257.8014 199.4753 268.7054]
+/Rect [125.095 587.876 199.475 598.78]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_ed795d57d70d782ccf2a584cce183050) >>
 >> endobj
-3759 0 obj <<
+3704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.8125 257.8014 301.1931 268.7054]
+/Rect [226.812 587.876 301.193 598.78]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3760 0 obj <<
+3705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.6725 244.2703 303.6396 254.1756]
+/Rect [237.672 574.345 303.64 584.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3762 0 obj <<
+3706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 221.1264 199.4753 232.0304]
+/Rect [125.095 551.201 199.475 562.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a3de5a2fe7f06d0aa3e4972be2023933) >>
 >> endobj
-3764 0 obj <<
+3707 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 184.4515 199.4753 195.3554]
+/Rect [125.095 514.526 199.475 525.43]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fcb46dd5c0701130f067f577f99ef27f) >>
 >> endobj
-3766 0 obj <<
+3708 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 147.7765 199.4753 158.6804]
+/Rect [125.095 477.851 199.475 488.755]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_24e90bb8bb38d248aca79c76a1717d9d) >>
 >> endobj
-3768 0 obj <<
+3709 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 111.1015 199.4753 122.0055]
+/Rect [125.095 441.176 199.475 452.08]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_55e9dfdf5da9a55b7523bda6b7f56c78) >>
 >> endobj
-3769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3723 0 obj <<
-/D [3721 0 R /XYZ 90 757.9346 null]
->> endobj
-3724 0 obj <<
-/D [3721 0 R /XYZ 90 714.1457 null]
->> endobj
-3727 0 obj <<
-/D [3721 0 R /XYZ 90 677.4707 null]
->> endobj
-3730 0 obj <<
-/D [3721 0 R /XYZ 90 640.7957 null]
->> endobj
-3733 0 obj <<
-/D [3721 0 R /XYZ 90 604.1208 null]
->> endobj
-3736 0 obj <<
-/D [3721 0 R /XYZ 90 567.4458 null]
->> endobj
-3739 0 obj <<
-/D [3721 0 R /XYZ 90 530.7708 null]
->> endobj
-3742 0 obj <<
-/D [3721 0 R /XYZ 90 494.0959 null]
->> endobj
-3745 0 obj <<
-/D [3721 0 R /XYZ 90 457.4209 null]
->> endobj
-3748 0 obj <<
-/D [3721 0 R /XYZ 90 420.7459 null]
->> endobj
-3751 0 obj <<
-/D [3721 0 R /XYZ 90 384.0709 null]
->> endobj
-3754 0 obj <<
-/D [3721 0 R /XYZ 90 347.396 null]
->> endobj
-3757 0 obj <<
-/D [3721 0 R /XYZ 90 286.8107 null]
->> endobj
-3761 0 obj <<
-/D [3721 0 R /XYZ 90 238.1805 null]
->> endobj
-3763 0 obj <<
-/D [3721 0 R /XYZ 90 201.5056 null]
->> endobj
-3765 0 obj <<
-/D [3721 0 R /XYZ 90 164.8306 null]
->> endobj
-3767 0 obj <<
-/D [3721 0 R /XYZ 90 128.1556 null]
->> endobj
-3720 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F52 341 0 R /F25 344 0 R /F37 2043 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3772 0 obj <<
-/Length 2317      
-/Filter /FlateDecode
->>
-stream
-xڽ�Yo#����)����}I�d����d�y�]m�m
+��-i
�O��l�u�jw{��(�,֏,Ra�##�GJ(d����
-����\��5�
�����#���rt�Xy�	J��n�Ә$'�c<�4!x�����ӄ�q�x}�gev���C���������(���g�|���/w?�|$$h�R�Y��MZF��,�&���8���J��O_OxfC���_��?,�ͦ�{71t�/׋l�ׯ|�A>��|5��tL��N���k"�.�$6��]��

� �?^a�x�A������?Y\}��o�~����q�X#M�
]3������"�#��1�
a)x3Ƃ�a 
-IJ��1����Rq�=B	"بQ��]��& �~ϾR>��>��Dؐ�8g��v:�ZJ�F\��;!o�A1��a��a�7�U>�sdQ����9F�8��Q �8�Z�8
*gQM
(|T�iP+y>9.9�7e��}^N���m�r��o��b�{������r�ŸX�ϲ�_��0��Y����u�e��ͽ����"��lX$

�Lw
s�	�"-0Ip!�D�0��1Kr:��EB�3ki��ELi�E\D�E;B��n���9+/�A*��"}p\Dh�Vo���z�I�Զ����P��W³�G��$M��� ���� ��c�B�y�!1{��
!�y.��E
@*bX/1
-�ِT

,�)d�������Y*��Y��ao��<��.
D��DE�)hE����"��jE�^�Q�#Ac6$�͡Z#���CB�.t�j̒��"���Z�: S � Ў��n�����^�]�pVC0�@x�Ұ+� ��8�4{w��*�º p^f��1��c���9�P�Hޫ 
-}�H�f���>P�0�_
	
����1Kc8��E\�#�օ������=�
?c̊좚�k��wX��pИ�:,r}*۹�BH
p*�:-�R"(����,��þٞ��Z�:d{Li��qM��#�>+v���dP��^'A��X�;�^���5���9A
-�sNa��so�N���ޙ
U�=�%���
�<�`��al ���}�t'�
���'�Kxo�+�:9d�c(k�78�a�!�TYӘ%�?t�7��YK[ bJ�"������ˀ���������� 0�l������И����\e�� `R��~�� `��:U�4fi ����� �ں Q���C ~� ��������X�;��[�����g>�x\ms�a�
-c�܊p����
�5E�7KS8�ME\��"�օ��Ґ���=����������J�Є`�J��A�F���Y�N"�

�>b at y�^���-ڶ�{XD
TU�
Q
� O
5fI|B���z���*d�h5��w��
c*��
-q;�����<Œ��p��u�ʖ���X¨
���&�u#��a'QD��szJ��O	�U�)����A1��h���M
���w��B� ����W�4�x<qُ� ���+
�Dg�����:��'���[`�/v����F��д}��F���}B��~�P(&���??�)y׌l�VD���g��ƿ�����VE����X]�\l��,
-� nh�Y4��E��͢�zL�4!��ݽ�Pb"�["����
-vƃ��W��
ֈ
-�O��m&���F��i���Ɨk�@� a���k]�m ����{��^�2J&���,2�7f��>�n�r)!Ι���̶E�ʔ
-iH�xt�Q�}�a
��Ap�� ǺP�&�s	J�9��>d�>"d6f�������Z�������J˝Ex�+W�V�3-֯�C����s�w��\�6��v˼�O�'_�ǖ�[sF�{�C8�\�v
-�Y:���R'Ѯ���;��<j�R��N���dy���#�VE�ف{�o�#9ڞN�D �QJ����� �����ìwF{!��!�ͬ��'�ٱ?=����
T�CCas�߲M�J��
fx����,ML�0FL�]OL�l�Y=
��
cD�8��O�9�{<$�؈��J��P�b[����d�k�L��G��
F�P~+��=C��w��ifN�a�����7�ƨ��$�"��k��_��O��/�"����O�
-_.]t?��~�O���'����&B�݀�;[�`����պ�
��E�Z����/�q�C
�Q��*@������	�?p
|�.�U��#������������M7h���K4�ެ׋�C]L�9T������
iiE��
-�j����k�%l���^\V���TP'���f�ZJendstream
-endobj
-3771 0 obj <<
-/Type /Page
-/Contents 3772 0 R
-/Resources 3770 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3807 0 R
-/Annots [ 3775 0 R 3777 0 R 3779 0 R 3781 0 R 3783 0 R 3785 0 R 3787 0 R 3789 0 R 3791 0 R 3793 0 R 3795 0 R 3797 0 R 3799 0 R 3801 0 R 3803 0 R 3805 0 R 3806 0 R ]
->> endobj
-3775 0 obj <<
+3710 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 719.9123 199.4753 730.8162]
+/Rect [125.095 404.501 199.475 415.405]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_8abdf2e292960e1fb216ce3c2c0816ff) >>
 >> endobj
-3777 0 obj <<
+3711 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 683.2606 199.4753 694.1645]
+/Rect [125.095 367.826 199.475 378.73]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f9d7eaecf113e25020c55ed0bf79eb03) >>
 >> endobj
-3779 0 obj <<
+3712 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 646.6089 199.4753 657.5128]
+/Rect [125.095 331.151 199.475 342.055]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fad3fbdebb1ba319083c56fa2ae679e6) >>
 >> endobj
-3781 0 obj <<
+3713 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 609.9572 199.4753 620.8612]
+/Rect [125.095 294.476 199.475 305.38]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_79f64d099a652834da74cc8fd68f2452) >>
 >> endobj
-3783 0 obj <<
+3714 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 573.3056 199.4753 584.2095]
+/Rect [125.095 257.801 199.475 268.705]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_164f8732d5fe6b526a34e168145a95ad) >>
 >> endobj
-3785 0 obj <<
+3715 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 536.6539 199.4753 547.5578]
+/Rect [125.095 221.126 199.475 232.03]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_98dae78cdd16f7127a4b3e18c3976562) >>
 >> endobj
-3787 0 obj <<
+3716 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 500.0022 199.4753 510.9062]
+/Rect [125.095 184.451 199.475 195.355]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f9daca45c3c1d0d1afd57ab47c6cacd4) >>
 >> endobj
-3789 0 obj <<
+3717 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 463.3505 199.4753 474.2545]
+/Rect [125.095 147.777 199.475 158.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f0647cd431d30a9658d4bdc77e32d9e4) >>
 >> endobj
-3791 0 obj <<
+3718 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 426.6989 199.4753 437.6028]
+/Rect [125.095 111.102 199.475 122.005]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b19be1f26efb21370e8460b325a7f57c) >>
 >> endobj
-3793 0 obj <<
+3721 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 390.0472 199.4753 400.9511]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) >>
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-3795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 353.3955 199.4753 364.2995]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6afe848ad84ff68d48142caf0599760a) >>
+3725 0 obj <<
+/D [3723 0 R /XYZ 90 757.935 null]
 >> endobj
-3797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 316.7439 199.4753 327.6478]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_91459c49e4f7d7fc2dea0347e0489ce5) >>
+3726 0 obj <<
+/D [3723 0 R /XYZ 90 714.146 null]
 >> endobj
-3799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 268.137 199.4753 279.0409]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_956de4112c520bb87767ce894b4d512d) >>
+3727 0 obj <<
+/D [3723 0 R /XYZ 90 677.471 null]
 >> endobj
-3801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 183.3445 168.8603 194.2484]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_00f887bfb5c61faba29a67def563c786) >>
+3728 0 obj <<
+/D [3723 0 R /XYZ 90 616.885 null]
 >> endobj
-3803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9141 147.0664 187.0022 157.5967]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_268aa30d717cdc7d07e60cf7c56712e6) >>
+3729 0 obj <<
+/D [3723 0 R /XYZ 90 568.255 null]
 >> endobj
-3805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.4356 110.4147 210.5237 120.945]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_627ac77a4752fde3c10792ee9f1673a4) >>
+3730 0 obj <<
+/D [3723 0 R /XYZ 90 531.58 null]
 >> endobj
-3806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+3731 0 obj <<
+/D [3723 0 R /XYZ 90 494.905 null]
 >> endobj
-3773 0 obj <<
-/D [3771 0 R /XYZ 90 757.9346 null]
+3732 0 obj <<
+/D [3723 0 R /XYZ 90 458.23 null]
 >> endobj
-3774 0 obj <<
-/D [3771 0 R /XYZ 90 733.028 null]
+3733 0 obj <<
+/D [3723 0 R /XYZ 90 421.555 null]
 >> endobj
-3776 0 obj <<
-/D [3771 0 R /XYZ 90 700.3088 null]
+3734 0 obj <<
+/D [3723 0 R /XYZ 90 384.88 null]
 >> endobj
-3778 0 obj <<
-/D [3771 0 R /XYZ 90 663.6572 null]
+3735 0 obj <<
+/D [3723 0 R /XYZ 90 348.205 null]
 >> endobj
-3780 0 obj <<
-/D [3771 0 R /XYZ 90 627.0055 null]
+3736 0 obj <<
+/D [3723 0 R /XYZ 90 311.53 null]
 >> endobj
-3782 0 obj <<
-/D [3771 0 R /XYZ 90 590.3538 null]
+3737 0 obj <<
+/D [3723 0 R /XYZ 90 274.856 null]
 >> endobj
-3784 0 obj <<
-/D [3771 0 R /XYZ 90 553.7022 null]
+3738 0 obj <<
+/D [3723 0 R /XYZ 90 238.181 null]
 >> endobj
-3786 0 obj <<
-/D [3771 0 R /XYZ 90 517.0505 null]
+3739 0 obj <<
+/D [3723 0 R /XYZ 90 201.506 null]
 >> endobj
-3788 0 obj <<
-/D [3771 0 R /XYZ 90 480.3988 null]
+3740 0 obj <<
+/D [3723 0 R /XYZ 90 164.831 null]
 >> endobj
-3790 0 obj <<
-/D [3771 0 R /XYZ 90 443.7471 null]
+3741 0 obj <<
+/D [3723 0 R /XYZ 90 128.156 null]
 >> endobj
-3792 0 obj <<
-/D [3771 0 R /XYZ 90 407.0955 null]
+3722 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F23 340 0 R /F35 2013 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-3794 0 obj <<
-/D [3771 0 R /XYZ 90 370.4438 null]
+3772 0 obj <<
+/Length 1418      
+/Filter /FlateDecode
+>>
+stream
+x��Y�r�6}�W�)%'�+/��3�g���k�OvFCS��	/
+H٣|}E����V<i�(R�bqv��b�k
Zoz�{��X\�ZÉ@�s`Yñua#\�� �����
�$
�:�Y���c���^�P,���ox�Y
��чyrŅ�i�np���{�W._��Ei� �$�F

��?;}̔
+���h�"� ����N��q��Z��	�͓Y
\9��>�m�F�B
ۈJh�������h�0��0+Jz��5���Y�����Q�E�R,��{�����U=�\9��@�iu/1f���|���6����Y}&
�n��<9J��2ei^�
'�/��F��B���������-_*�RmP�Rd��gt�c*
��<2§鴘���kXL�T��2;K�[�rf�����|�'�<.��՜y:���F�l��$Ъk�s�~��|��
��`�u�^)����(=�B��܎�!�;>�	
�� �Wlp	!ѣ
+S����d�/0 at .6Fs���B�/�0
�
*'y � R�|@]�B����DS�b=Nr?���7$�����P,f<
C�'B�r_&� Sڠ�Zߥ���P `&�v{���w��R+�˷_H�0��j������*棷��\H0`2�����GKh�����ӴH�2mC�]X�gS)��_K�
12��F<:�u���x������M�>! ���w���4s�f��_M�J$�y�xt����k�3�juuJ�� 2����V��(�y����s���R[Iේ�s�|~?TW|� �dt#�
+��o6�",2QM������2N��q�B��TV��/����eB&��>A
+e�b.ҼA�Q6[�I�,nx��\ċ���y��4�/�ʝ��:
�CSl�+��w�e�m��?}ւ�FT���Y��%|�3�q%�?���V�\*}H��b�<�l�����ф��qK��n�q+�z��,�*��"��D�:���V��?J��*�
�k�
��H�=
��z��T�l��-�=Y��G��΀
�O�
/��D��tm��t��kE�!ޥ��޶��)��g�	�����x�V�������e^v!�����#���G�T�� N�Ÿ��n�A��r4� �����U�࣏b��n��? ��pnX7�7�ܕ�x�N�~��}���'�!H����Y���V"#�ώvي�-2��
 ��
��ҙ���4�{�Ã

+vh� ?ʋGH
�&�����M}v���B�sս��+�.β��X��t%���zgY�Q�2��o.�Y 3��aը8-�iu�V������r.~r�Mw�0����ܗΣ���A ��GD����9��Yo�U�z�Z
lEi
	@5���h0���Q��t&���f��>��R��_oY-L�~h���O�ʏI�H�F��!��
+endstream
+endobj
+3771 0 obj <<
+/Type /Page
+/Contents 3772 0 R
+/Resources 3770 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3742 0 R
+/Annots [ 3719 0 R 3720 0 R 3743 0 R 3744 0 R 3745 0 R 3746 0 R 3747 0 R 3748 0 R 3749 0 R 3750 0 R 3751 0 R 3752 0 R 3753 0 R 3754 0 R 3755 0 R 3756 0 R 3757 0 R 3758 0 R 3759 0 R 3760 0 R 3761 0 R 3762 0 R 3763 0 R 3764 0 R 3765 0 R 3769 0 R ]
 >> endobj
-3796 0 obj <<
-/D [3771 0 R /XYZ 90 333.7921 null]
+3719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 719.912 199.475 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) >>
 >> endobj
-3798 0 obj <<
-/D [3771 0 R /XYZ 90 297.1404 null]
+3720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 683.194 199.475 694.098]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6afe848ad84ff68d48142caf0599760a) >>
 >> endobj
-3800 0 obj <<
-/D [3771 0 R /XYZ 90 200.2732 null]
+3743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 646.476 199.475 657.38]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_91459c49e4f7d7fc2dea0347e0489ce5) >>
 >> endobj
-3802 0 obj <<
-/D [3771 0 R /XYZ 90 163.741 null]
+3744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 597.803 199.475 608.707]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_956de4112c520bb87767ce894b4d512d) >>
 >> endobj
-3804 0 obj <<
-/D [3771 0 R /XYZ 90 127.0894 null]
+3745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 512.828 168.86 523.732]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_00f887bfb5c61faba29a67def563c786) >>
 >> endobj
-3770 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F37 2043 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
+3746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.914 476.484 187.002 487.014]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_268aa30d717cdc7d07e60cf7c56712e6) >>
 >> endobj
-3810 0 obj <<
-/Length 2756      
-/Filter /FlateDecode
->>
-stream
-x��\ms���_�O	9
!��x�δi�I�7V?�
-�6'"���=��]�
@��Nleg2���s��������dd�H	�
�rt�<ãw����H��)�}�zqv�R��AFR9�x�� 	�����/cB��L	�x�jB�x�^�._M(
��<��_�g��/ެg�/�~?��͂�ח?�/��ד_/�;IH�R�Y��C"#�
o��_M�TX
-;Nj���� b�j.�s���7��fo�bb�x����m��O~���D��+��ADŽk��
�&�Ib����_~ţk�wg1���#��@����S��ܜ�>������y�!�MGZ��
(��tO��10��!,��9"�ё��P�e�Y�[-��>:?��׳��zs��rLa8�wr�iۑ4$C���֚%�oJE�D�QY�
M||�'�w͟~�Q��!Er
,�ֽ"�F#���:#�Pcx
�۲���)�m
���7
_r�ص�o��񧄆��%�
�G��
�%�W��v��&ΕALpS
�/�H��-&R�
*p ��l�p<@0H�V�����QMM��0$��=ZB��_9
m�h�k
�$�m�+9m]u��]."�v�L!c�OYi�(?�1k��
�5S�%)����,yXQ�B��_���
�Za*N�v���.��%��i9�2δ�E�����w��l�$����e�M�s��(��n(
-X!\�Z�
��R�QGJm̦Wj�$��F,���2���'v�6;�Vj
Ν�F�[�mW��UIx8E�Q1Hx9�q���cD1yz�0#����8XYy�9���ۡ<��S*��+[���y�0�$�ˢa
���Z�|F�
�X���P�D+B!��Յ ����n(B�P!{��Q%�B�f���/�4���� 8|�Fb�����$:
�JYħ��Z��j�ӝ;-�"9RX��L��^P~a����DF�
j'������V��.
�L<���<	E�������@hp詸@��E܎P�
�@%�$�JF,�U2vZ�����J���Uɂw����k���BM���j�~
l�6��=��i���w,S �”v���wl`0S�u�M˶�����x����H�bm��/�oV�77��o�vwzaq�gD%��
-�V%is�ixA�4&v��o7�?ζ�	�vY�/Z_���v	�_ir��p�;T�)n�'�2e f�5Akg+6ǐV�gf
V�n:_��`�=�����;p�bT��Y���,�v�R
'P�0���G�Z���/�
g+/�e��+0�E��
B1�vG����2BV�	>S'8T>E���:�š.:Tɹb.b�mg�6�&dP�
l䲤�=i��r/���Y�+�$Ƭ�%=��%C��,��7͒��g���R��R�
C|�v�#���Moٞ'����E�^��l/�O솚d�y�v��
�d> 
Ub`K|�o1�L��B\��×h$vk
��i�����A����'���0ӂa9$�62���,���o�{���>QR�2K(�N� Ϲѥ��`�
��(�s�r;F53LC�̒hU3d�Q��i�j��'v�Q�\ ��3�-��4<8���$>h�6r���N�}�BLI1t����e������

fJ�.�iI��
5>�Ї�1���^�i|xؠ�G̮��p�n|D��U�r��G~R�G6>�qo����>��Sw(�jk��_3xT9]X�2~��P
�D�6I�	<���(5��!md���&a2�A���*`��	ץ�
-<��1�����#c�n�}�Q��a�zk���t�#���Mo9�'����E9_���/�O�F���)�0ΠH7`7:�Y���]N�;���X�| =�4KӨ�d�a6����K4��M���`xT�⠉rh�h�0BV�
J*��\Rq0K��������
-�� ��fe�!��/G2	�Ê	%48��R ��"nG(n�i��y^q#��;�P܂����Pq�l�0���{L�B��zP�%0�������Ja�EN�y��?�Y�7
-
V����L
��7�##�Ͼ�B���Bᐮ��n��L�š�]"j�]�CB�M��г��ſm�d�X=�ᒋx�o�F<���w[�1҆��#�g
-
�:}n%�@f�e
�$��4�� l�F�x ���PH
-J�A�uh#�_
�	C�&��5�ua����b�

f2l��4�Fn�}��h@Y����ڣ�<7�lz�
y����?7T��=7�'vCm;��)R2Hv�
U�n���goU!��� 8|�Fb��VA��ãRɭ*��O��b��T
��wh#�
<�������z�4����4��\#�U��a�L
�b)�sRr;F*3LC�̒h�2d����i�T��'vk�27�@*�޽TF��1���8��n/
m����=�����]x��Xc��n,��

�ʷ�
�[��wtk
-�1Xm�
��L����Hbv�M��Sw�$���$����I��=�S��{�*��=���7K�q ��R�����S$� �
-
-�B��h@�P
	����q<�ZP�y���
<�A�h�==��"&��r�4����
�ݺz?w����q��5oݣ��o������k3_9b�<����~v�mC����fq�d^��m@��#
����_��8�����o#��ᓯ�
���Gũ`��];����݋��?��
�_-��h�=���9O�H
��z�M�ԃ.Q��+�Cy��-�"�-o��L,V��R��*�P�
T�
nҚ�endstream
-endobj
-3809 0 obj <<
-/Type /Page
-/Contents 3810 0 R
-/Resources 3808 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3807 0 R
-/Annots [ 3813 0 R 3814 0 R 3815 0 R 3817 0 R 3818 0 R 3820 0 R 3821 0 R 3822 0 R 3824 0 R 3825 0 R 3827 0 R 3828 0 R 3829 0 R 3831 0 R 3832 0 R 3833 0 R 3835 0 R 3836 0 R 3838 0 R 3839 0 R 3840 0 R 3842 0 R 3843 0 R 3844 0 R 3846 0 R 3847 0 R 3849 0 R 3850 0 R 3851 0 R 3853 0 R 3854 0 R 3855 0 R 3857 0 R 3858 0 R 3860 0 R 3861 0 R 3862 0 R 3863 0 R ]
+3747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.436 439.766 210.524 450.296]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_627ac77a4752fde3c10792ee9f1673a4) >>
 >> endobj
-3813 0 obj <<
+3748 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 699.2443 199.4753 710.1482]
+/Rect [125.095 366.372 199.475 377.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3814 0 obj <<
+3749 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 699.2443 251.0215 710.1482]
+/Rect [210.215 366.372 251.021 377.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b45faf2ccad8057c7b27e0c999eb063b) >>
 >> endobj
-3815 0 obj <<
+3750 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.3587 699.2443 352.7393 710.1482]
+/Rect [278.359 366.372 352.739 377.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3817 0 obj <<
+3751 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 652.0938 199.4753 662.9978]
+/Rect [125.095 317.699 199.475 328.603]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3818 0 obj <<
+3752 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 652.0938 251.0215 662.9978]
+/Rect [210.215 317.699 251.021 328.603]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_80993a2a72759ec030dd3cde21c8a00d) >>
 >> endobj
-3820 0 obj <<
+3753 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 604.9434 199.4753 615.8473]
+/Rect [125.095 269.026 199.475 279.93]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3821 0 obj <<
+3754 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 604.9434 256.6403 615.8473]
+/Rect [210.215 269.026 256.64 279.93]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_08ceb442794b5f60c1ad09ce744371e1) >>
 >> endobj
-3822 0 obj <<
+3755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.9775 604.9434 358.3581 615.8473]
+/Rect [283.977 269.026 358.358 279.93]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3824 0 obj <<
+3756 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 569.7481 199.4753 580.652]
+/Rect [125.095 232.308 199.475 243.212]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3825 0 obj <<
+3757 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 569.7481 256.6403 580.652]
+/Rect [210.215 232.308 256.64 243.212]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_8772f767006f16e376d8eca9b1578b73) >>
 >> endobj
-3827 0 obj <<
+3758 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.4134 522.5976 269.9743 533.5016]
+/Rect [174.413 183.635 269.974 194.539]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3828 0 obj <<
+3759 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.3309 522.5976 415.7115 533.5016]
+/Rect [341.331 183.635 415.711 194.539]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3829 0 obj <<
+3760 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 510.6425 171.5201 521.5464]
+/Rect [125.095 171.68 171.52 182.583]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_59638854527a5bebee3676750668c63a) >>
 >> endobj
-3831 0 obj <<
+3761 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 463.492 199.4753 474.3959]
+/Rect [125.095 123.006 199.475 133.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3832 0 obj <<
+3762 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 463.492 254.1398 474.3959]
+/Rect [210.215 123.006 254.14 133.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2857ee1039a41cfab001c0ba21c69ac3) >>
 >> endobj
-3833 0 obj <<
+3763 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.477 463.492 355.8576 474.3959]
+/Rect [281.477 123.006 355.858 133.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3835 0 obj <<
+3764 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 428.2967 199.4753 439.2007]
+/Rect [125.095 86.288 199.475 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3836 0 obj <<
+3765 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 428.2967 254.1398 439.2007]
+/Rect [210.215 86.288 254.14 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_02949da26a3761489d2fb98018010990) >>
 >> endobj
-3838 0 obj <<
+3769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3773 0 obj <<
+/D [3771 0 R /XYZ 90 757.935 null]
+>> endobj
+3774 0 obj <<
+/D [3771 0 R /XYZ 90 733.028 null]
+>> endobj
+3775 0 obj <<
+/D [3771 0 R /XYZ 90 700.259 null]
+>> endobj
+3776 0 obj <<
+/D [3771 0 R /XYZ 90 663.541 null]
+>> endobj
+3777 0 obj <<
+/D [3771 0 R /XYZ 90 626.823 null]
+>> endobj
+3778 0 obj <<
+/D [3771 0 R /XYZ 90 529.773 null]
+>> endobj
+3779 0 obj <<
+/D [3771 0 R /XYZ 90 493.175 null]
+>> endobj
+3780 0 obj <<
+/D [3771 0 R /XYZ 90 456.457 null]
+>> endobj
+3781 0 obj <<
+/D [3771 0 R /XYZ 90 381.415 null]
+>> endobj
+3782 0 obj <<
+/D [3771 0 R /XYZ 90 346.719 null]
+>> endobj
+3783 0 obj <<
+/D [3771 0 R /XYZ 90 298.046 null]
+>> endobj
+3784 0 obj <<
+/D [3771 0 R /XYZ 90 249.373 null]
+>> endobj
+3785 0 obj <<
+/D [3771 0 R /XYZ 90 212.655 null]
+>> endobj
+3786 0 obj <<
+/D [3771 0 R /XYZ 90 152.026 null]
+>> endobj
+3787 0 obj <<
+/D [3771 0 R /XYZ 90 103.353 null]
+>> endobj
+3770 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F35 2013 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3823 0 obj <<
+/Length 1220      
+/Filter /FlateDecode
+>>
+stream
+x��Z[s�F~�W�Ů4	��W�I�P'�$m7�Ov��amk���=��
� 	aL
cg�'	�:{����]l][����{��;���HK*������$A��?��mB�t�cl�:�^x�S�b{2�ߘQ�
��/#/�

ߘ�t�
>͂K9_�z'��L@�B�I�>��&R�`D�.G�
���N��ԅlb8o��4"��������؋��n���6�t�%&��\��ĵM8�G�j�S��w�ο
f�E2��B�	ktοbk�?X1�Zw٨��4ull�u�����5#CQ�%����0�*��"w�lv��g���I����8����~25��dWBl���i�މ�+Hu)E���)�g��TT�d/)�&�K.��-�MJ83 ��8� �u-*�$�"D��Ԅ^PsM���"�y���\���p��(�|z�c3x�
Oԥ7;9��uA��5� �0S�K���'/�
*�۔
3�

VҤ�fez͐X���aE�\
���T�!W������y��nSo��̼ްb�K���}�j�+���,ҞAڧ)��ט�i��X5|�`#�w )��M�t��^D���I�1�E�`�_+P��Bd_`���0NV=�;��W�1}�
+"���a����qP��y%w��=ρ[��U���DA��=�U0����J+
���Q�z�1k�U��nm	�{=�5ś:{=)oj�,U�CN)����Jwx�t��e5m>�Ɖ?
ϟ9e�?}�Q���~`�Jkǒ�t
�;�E��
+�V �h� 5�^k�_n�jd�R�=�K�%��b�W�$�@=��'|(.(����qVk�o�[d����$��\ચ�+��U+�Zi��Q+���U�Jo+3vi!{� ���*3�wN�������$�����a�6��# �y��~���޴Nj��#�
i��nz�`�[G��
Kw*[���*#ȅ4��!
�{�	�{Yo��w�
������
C\��5�.{֎���&jS�Os޺~�]�����L��&��qa�8���qLJ�tj��!72O
+ �w�m��{O����O(I���=��
D�%�#��„FB��oLy
+�)
+��cy&,�X

�?���G�8r��
g��Y��
�(�'E��*�F��U�@+���)g��oVy�g�BĊ�3D��o�dz����ݡa�f�?�����qo�?,�h�j!�&E�
&Q���� d�$��$��A�
+endstream
+endobj
+3822 0 obj <<
+/Type /Page
+/Contents 3823 0 R
+/Resources 3821 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3742 0 R
+/Annots [ 3766 0 R 3767 0 R 3768 0 R 3788 0 R 3789 0 R 3790 0 R 3791 0 R 3792 0 R 3793 0 R 3794 0 R 3795 0 R 3796 0 R 3797 0 R 3798 0 R 3799 0 R 3800 0 R 3801 0 R 3802 0 R 3803 0 R 3804 0 R 3805 0 R 3806 0 R 3807 0 R 3808 0 R 3809 0 R 3810 0 R 3811 0 R 3812 0 R 3813 0 R 3814 0 R 3815 0 R 3816 0 R 3817 0 R 3818 0 R 3819 0 R 3820 0 R ]
+>> endobj
+3766 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.4134 381.1463 269.9743 392.0502]
+/Rect [174.413 686.933 269.974 697.836]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3839 0 obj <<
+3767 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.3309 381.1463 415.7115 392.0502]
+/Rect [341.331 686.933 415.711 697.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3840 0 obj <<
+3768 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 369.1911 169.0196 380.095]
+/Rect [125.095 674.977 169.02 685.881]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9c4298d04019ab7b5233ddceb430be03) >>
 >> endobj
-3842 0 obj <<
+3788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 322.0406 199.4753 332.9446]
+/Rect [125.095 629.939 199.475 640.843]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3843 0 obj <<
+3789 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 322.0406 256.0028 332.9446]
+/Rect [210.215 629.939 256.003 640.843]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_761744f24a8e2faed19912950cf13baf) >>
 >> endobj
-3844 0 obj <<
+3790 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.34 322.0406 357.7206 332.9446]
+/Rect [283.34 629.939 357.721 640.843]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3846 0 obj <<
+3791 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 286.8454 199.4753 297.7493]
+/Rect [125.095 596.857 199.475 607.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3847 0 obj <<
+3792 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 286.8454 256.0028 297.7493]
+/Rect [210.215 596.857 256.003 607.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_7ce6dfd81e04c3eb8d196bf13a96ebe6) >>
 >> endobj
-3849 0 obj <<
+3793 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.4134 239.6949 269.9743 250.5988]
+/Rect [174.413 551.819 269.974 562.723]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3850 0 obj <<
+3794 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.3309 239.6949 415.7115 250.5988]
+/Rect [341.331 551.819 415.711 562.723]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3851 0 obj <<
+3795 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 227.7397 170.8826 238.6436]
+/Rect [125.095 539.863 170.883 550.767]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_c95c1fbaee07d3a9cead4d07683f6168) >>
 >> endobj
-3853 0 obj <<
+3796 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 180.5893 199.4753 191.4932]
+/Rect [125.095 494.826 199.475 505.729]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3854 0 obj <<
+3797 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 180.5893 253.791 191.4932]
+/Rect [210.215 494.826 253.791 505.729]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_72ef8379745ed9575b39216ba1e51d18) >>
 >> endobj
-3855 0 obj <<
+3798 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.1282 180.5893 355.5088 191.4932]
+/Rect [281.128 494.826 355.509 505.729]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3857 0 obj <<
+3799 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 145.394 199.4753 156.2979]
+/Rect [125.095 461.743 199.475 472.647]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3858 0 obj <<
+3800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 145.394 253.791 156.2979]
+/Rect [210.215 461.743 253.791 472.647]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6a2d561ac8088ed64a0bb51d8fffcd9b) >>
 >> endobj
-3860 0 obj <<
+3801 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.4134 98.2435 269.9743 109.1474]
+/Rect [174.413 416.705 269.974 427.609]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3861 0 obj <<
+3802 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.3309 98.2435 415.7115 109.1474]
+/Rect [341.331 416.705 415.711 427.609]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3862 0 obj <<
+3803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 168.6708 97.1923]
+/Rect [125.095 404.75 168.671 415.654]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fc3433d8ec297e2d1fbdf559d93f9080) >>
 >> endobj
-3863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3811 0 obj <<
-/D [3809 0 R /XYZ 90 757.9346 null]
->> endobj
-3812 0 obj <<
-/D [3809 0 R /XYZ 90 713.9061 null]
->> endobj
-3816 0 obj <<
-/D [3809 0 R /XYZ 90 680.7332 null]
->> endobj
-3819 0 obj <<
-/D [3809 0 R /XYZ 90 633.5827 null]
->> endobj
-3823 0 obj <<
-/D [3809 0 R /XYZ 90 586.4323 null]
->> endobj
-3826 0 obj <<
-/D [3809 0 R /XYZ 90 551.237 null]
->> endobj
-3830 0 obj <<
-/D [3809 0 R /XYZ 90 492.1313 null]
->> endobj
-3834 0 obj <<
-/D [3809 0 R /XYZ 90 444.9809 null]
->> endobj
-3837 0 obj <<
-/D [3809 0 R /XYZ 90 409.7856 null]
->> endobj
-3841 0 obj <<
-/D [3809 0 R /XYZ 90 350.68 null]
->> endobj
-3845 0 obj <<
-/D [3809 0 R /XYZ 90 303.5295 null]
->> endobj
-3848 0 obj <<
-/D [3809 0 R /XYZ 90 268.3342 null]
->> endobj
-3852 0 obj <<
-/D [3809 0 R /XYZ 90 209.2286 null]
->> endobj
-3856 0 obj <<
-/D [3809 0 R /XYZ 90 162.0781 null]
->> endobj
-3859 0 obj <<
-/D [3809 0 R /XYZ 90 126.8828 null]
->> endobj
-3808 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F37 2043 0 R /F25 344 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3866 0 obj <<
-/Length 3230      
-/Filter /FlateDecode
->>
-stream
-x��\]s�}ׯ�KUjb����}hw�����Oq�CK�͉H*$eG���,��R�Ҏ��dL�g�=��{�$a���

)��a\���gx�
���3�~<��'!ௗg�_J12�H*G��
� A	
]^�8&ɋ	��__<�m����
�������l�����ls��ŗ�W?[��z��n�v�������/		
P�c� !k�O{Hā`D��-��B��	�B�xqu���
"�����T
y3�n�v//

ϗ�7��|�����>����
-�D��c"�5z����v��Ď�/g?��G�0�ߞaČ�O�1CG�3N�{ss��ٿ������1C�0hƑ�pyE�\kx�3A�@TS0�(CX
-�'��#
c$y3F
Ir:�0;V_->.�ۡ��������j�z}k�K�g�5�K�u��P�J���"�|�=07C7��osD�p�#I��.h8�B�R=�0{�o(9���`�ס�~!�&�_*6$v�s����Lx�ε��%�(��0�{���v��-�X�ܬ���6clp�3�D\cfM|�{�Rk��o�~�y�B��a�����w�6������ш��M7U!A! FB�"�]�&�O�����'v�{�G6���焇ЈQ^�y��y�i�;7�
|�^mw�s
�"�
<_���
6�ǜ��`xT�"�
��8Ն��l�E^$G
-Kק���{�Q��8�&
-����Ȭ��w�Fn.���9[��!B�R�7$ž�>im��"E9���ֆ�`�/GF��29'�!�cij�4�"��x�,
-�9
"�e��ݡ�Y��@<�޽xF�Ëg�S6�Բ�V�yuR6Jy�`�I"S
�~�D&)�M-�
��ȁ�B���6y�ۧl�26anR�T��L�D�5cm����W��7��7��k,�s<�
"�
-�
"�G3�j����L���7���nqA�������w�i ��H�
-�I�]W
*�/dk��3��A;D+6ǐV�����څ�ŋ���g7w�gIs�)Ș"C���(�v�U
N��ty�=�2a��5���>��@3,�}Z`�<c�A�#�i3�o�%
�����C��o<�\9Ae��tXtuѡj�!���"�ީ�M�
)�B�29�x�6
-���~��)@Z8��[3<B<�Ѡ��0v��q�Qt@�����zX#ȫ����r��u��y��w��&�S
-��s�a�
�ê=@���|���Ɛ��|y�|3_&���E3;
��W�'vCI�⋴��r�
U�M?a�s�V��ڃ5T���'�Q�
��^��f����(�ϧ#��@e��;��a%I%3=�����S3�B��E܎��S
-c��V��e���E\
	�m;
ז8N<��+�
D;�"$�b�+�W	CNZ��6
-9�aM]hȖ���$���
�H`wR[�zX=��'gQ��ˢ��1YT`Է2�C~�,��[�t@}��O��iiB�d��Њi萋C�Q5�2
�*ǙDRH~R�6J�`a������Ԯ6��?i�kR�E�I���40xr��ɹ
�
���Ǘ�"�C�\�y�`�qUf:����A��+{��T
-l�R���bwZ.1m����B?��=z„A�%����+mW�/�VW��z���`���A��X�Z�����l�^ͷ�æ}�Z�.��$o^�s�P.��%�:��7GlB@&㰄)���N�
�v�^��QY���4�XHG�}�M�ˌAf�nN���H+�
-���v�%G��`S,�HuG��'�� &v�#m�bX��쒕l�J9�[ȉ�����a��R���s��M�߮�7���j��ܾ(�	-���z|%��]�a���LLg�U~s
-�b	���CU(p(/�S�y��k�>Q-#�_�B at A�<��OE�}����S��w�O`�	y�>����Nӧ�]�>u9��S��s֧a1
���n�O���n;]��`LW��}�Q1�L�D�ZT���(e:,��(���,�P!�$QV����@�2~s��ߖ(�x�5����\P�(;M�"v����#Q!��Y���4��bLS��D��T��uJ���Q�q���1�c%
-��`�_����E����.���iN������Ḇ<B��
J��`��SĮ_���z�)�����j����S9��
��
-�����+!M��T�%L�RB���Q

D�d1�ce�>LЪ_���d�E�e��.���iN���Y"�jF�`Y
-/(Ȓ��$K1�^YJ8�e)���Lcz��1M�z]���p���:ahl
��zT��YO4g1�#��h�$��
��PUa*�;S�iF�B�O'L�1��u;Y�ↈp�K�Q'�1�E��Z�	D0��V�>���W����ԫk�a��ZQ�a��.G�J9uԫk��^�p�ի�g��/��4�bˆ
��À�p;�Z�rR�,m0K&aϾ��
)�̓���E�A��46[<�2[R��ǂۻ�����9��eyNxTeN��Y�����Ae�������:�$� w��k�rh{sw��:C;4���P5�66��ع��Ν�֭��Ow��,w�S5t�
��6��L����z�z?�j�~���I�˃�Q������Ŧ��r�|���&�j��Ջi�cPM3~s�4���S�x��i�逇<���ꩃ�VO#v���˩�����_ORO�͖��gKjwH=-͉���ġ���O����"rx=
.(�S�
�����߸F����,���P5�#�)�}?F9����:V
_�ڭWT�
���ˣ*��	Ř��*��Ԣ�BSQ@��:X���<5�7WQC�O\QS��!��.�)D)7�VLV�?S܎#& 1R�?k����Yl���?�a��5�J9%3�V�D �l@�����c|��B<9�C���8�v�k�0��������h3�ZJ��=?tKPCs"�<<_��n�q"��"���Qߜ���j����C-�d|�a���
�j��T�;~�1ˌ�?�n1i%�R��
'|p���P�2F�-|��4�/C���s��Ӳ�y
v��e�ˀ�*��I?A��A��"&����: K��mG�џs��|��f9kߺ_ܿm
p������B�����lumy��N���n��u��i��|C�f
��'9Ha����� �?�y�^�=�ew�$�b
]w�ص��a��}����O���ݭ���=���y�j��^F�R�&
�p�F�i�,B".�����ڝg_��˙=�����]*�����endstream
-endobj
-3865 0 obj <<
-/Type /Page
-/Contents 3866 0 R
-/Resources 3864 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3807 0 R
-/Annots [ 3869 0 R 3870 0 R 3871 0 R 3873 0 R 3874 0 R 3876 0 R 3877 0 R 3878 0 R 3880 0 R 3881 0 R 3883 0 R 3884 0 R 3886 0 R 3887 0 R 3889 0 R 3890 0 R 3892 0 R 3893 0 R 3894 0 R 3895 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 ]
->> endobj
-3869 0 obj <<
+3804 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 685.5063 199.4753 696.4102]
+/Rect [125.095 359.712 199.475 370.616]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3870 0 obj <<
+3805 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 685.5063 259.3203 696.4102]
+/Rect [210.215 359.712 259.32 370.616]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_7e90d52413515d81ad9b68fb1740d869) >>
 >> endobj
-3871 0 obj <<
+3806 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.6575 685.5063 361.0381 696.4102]
+/Rect [286.658 359.712 361.038 370.616]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3873 0 obj <<
+3807 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 649.571 199.4753 660.475]
+/Rect [125.095 326.629 199.475 337.533]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3874 0 obj <<
+3808 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 649.571 259.3203 660.475]
+/Rect [210.215 326.629 259.32 337.533]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_1a79ab4c49d7ae4406b56dc2b3d94463) >>
 >> endobj
-3876 0 obj <<
+3809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.4134 601.6806 269.9743 612.5846]
+/Rect [174.413 281.591 269.974 292.495]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3877 0 obj <<
+3810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.3309 601.6806 415.7115 612.5846]
+/Rect [341.331 281.591 415.711 292.495]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3878 0 obj <<
+3811 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 589.7254 174.2001 600.6294]
+/Rect [125.095 269.636 174.2 280.54]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_e179c684a9ed7eafbbac1825d17f7daa) >>
 >> endobj
-3880 0 obj <<
+3812 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 518.8583 199.4753 529.7622]
+/Rect [125.095 206.613 199.475 217.517]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3881 0 obj <<
+3813 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 518.8583 256.6403 529.7622]
+/Rect [210.215 206.613 256.64 217.517]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_3cb9b031ec4e6fd7e53e53da5b0f04a1) >>
 >> endobj
-3883 0 obj <<
+3814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 482.923 199.4753 493.8269]
+/Rect [125.095 173.53 199.475 184.434]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3884 0 obj <<
+3815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.9735 482.923 246.3988 493.8269]
+/Rect [199.973 173.53 246.399 184.434]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_de4a5582f82333f20fd6a8be13ff8d7f) >>
 >> endobj
-3886 0 obj <<
+3816 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 446.9878 199.4753 457.8917]
+/Rect [125.095 140.447 199.475 151.351]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3887 0 obj <<
+3817 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.215 446.9878 250.1848 457.8917]
+/Rect [210.215 140.447 250.185 151.351]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_06c0a4ba25cbc3d59797bf1c73c49497) >>
 >> endobj
-3889 0 obj <<
+3818 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 411.0525 199.4753 421.9565]
+/Rect [125.095 107.364 199.475 118.268]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3890 0 obj <<
+3819 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.9735 411.0525 239.9433 421.9565]
+/Rect [199.973 107.364 239.943 118.268]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_0803532e7523865597c394e1371d2b16) >>
 >> endobj
-3892 0 obj <<
+3820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3824 0 obj <<
+/D [3822 0 R /XYZ 90 757.935 null]
+>> endobj
+3825 0 obj <<
+/D [3822 0 R /XYZ 90 715.044 null]
+>> endobj
+3826 0 obj <<
+/D [3822 0 R /XYZ 90 658.051 null]
+>> endobj
+3827 0 obj <<
+/D [3822 0 R /XYZ 90 613.013 null]
+>> endobj
+3828 0 obj <<
+/D [3822 0 R /XYZ 90 579.93 null]
+>> endobj
+3829 0 obj <<
+/D [3822 0 R /XYZ 90 522.937 null]
+>> endobj
+3830 0 obj <<
+/D [3822 0 R /XYZ 90 477.899 null]
+>> endobj
+3831 0 obj <<
+/D [3822 0 R /XYZ 90 444.816 null]
+>> endobj
+3832 0 obj <<
+/D [3822 0 R /XYZ 90 387.823 null]
+>> endobj
+3833 0 obj <<
+/D [3822 0 R /XYZ 90 342.785 null]
+>> endobj
+3834 0 obj <<
+/D [3822 0 R /XYZ 90 309.702 null]
+>> endobj
+3835 0 obj <<
+/D [3822 0 R /XYZ 90 220.746 null]
+>> endobj
+3836 0 obj <<
+/D [3822 0 R /XYZ 90 189.686 null]
+>> endobj
+3837 0 obj <<
+/D [3822 0 R /XYZ 90 156.603 null]
+>> endobj
+3838 0 obj <<
+/D [3822 0 R /XYZ 90 123.521 null]
+>> endobj
+3821 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F35 2013 0 R /F23 340 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3886 0 obj <<
+/Length 1739      
+/Filter /FlateDecode
+>>
+stream
+x��[ms�F�ί�'��|�ҝ'ә6�;N�ĵɧ$��A�5A�D0���;���؃
��ɲ8���>���ꄭ
[t~t�Omf)�lj[�kKa˱	�X����K�{}�1���zI��=���x~���+�J�d~r���~у���n^�I�����)!KP� �l������@0�L�#=�w_��Th���p� �)D+�e��Wc/Ms����]?������\�נ>�]?�-B�A����A�1�"�`�A�0�|����caĔ�ffThq�[���;x��)C����Vh�kt:��YGi�0��
�V�rĸʟ��~�K�n�����⦗Q\���c����
��|ѥ��g&H(^LH���2�9H9�h�$�ve��4�Y�m1���\�FM���t*I�y�_:�@���t5��
���X�b�Da�בw5�ݳ�f�QIk:vr($7&.
+�!�,u�yYУ���GD�w�'�{VLY�^1$�|ٰ�U��_�D‘�x敄���ZSo<�
^��A��
� ��-��>�������U�d��|�����(0���#�O �v	_�v�}Z�A4M� ��1��l�S��
�������� �C��%|�(k��9�6�5zw\l�C�p���w�%�6�͎S����j����q}�i�
�*�8Y��>a
q��
ߊ���[n���\��0S�?�>#�{t˸����k�t�۫�p`�đ#�&%e#[�Ø�^��t��3�M�bGl�3G �T=}5�L�ì��˸?���Kt6f+�b}�����(�n�߃�@1
+�������� �a��P��K��&r��# ��
��r��Z��:V��|�y6�
ao�w�����Rx*��D�.���:�[�:���Q
����W����A��*wC����Hɪ(mg^�)�lJ�`�O&�ML��5��s�rN�ޠ!
�x}eJ�D6{�Ҕ"I�����ډ+����W8[��]W���-�XՈ����ժ����l��l%{��v��e(d�XЍ�4�+=���|0Z���3s�`Җ�>�m>YІgBt�gSZJy�	���c�D�9��S�CmL�
�. .��!m��Z��
*;@�l��0��ø�H����̛�l�4�
+D*H��j�
��b�,�n�Ti:o��b j\D���I%�WQ�T����w���7�=�
+3wQ]�mk�4D��S{i�"4ug^
�c���hg{�v3!���ƵCd}���6�uLem
�q2�պ
�-
y��
�j8b�uG	`է�<�|
�:OY�pȦ`HwC������1�D��<��g
~�R���o��j��M�/�l�Diu����m~�V�
+,�6���ʃ���p:	�C�W���M�����qĝ�N���押9�(x�mQt�m�yuz��I�-�'%��O�c�}4{
�=�o�yڈ7Eo��v,���
�Z7K�L_�f��&PZ�~N0꽟���������AS���a�q(�U>K���c,q������6Ľ(�J� 9�N���+��>XX�����y0j2�
<^��–�m[~za>��ڠ
D���
�#@љ�!��蔄^e��k���ⓗ�������[��M˼D#"�)'i�f�6"��'L�7�������/�U^��1�q�4�
�E��6�&'�dz�

S4��I���x2�>
)�
�T����o? TW�
n����N'�ʑ]�
+endstream
+endobj
+3885 0 obj <<
+/Type /Page
+/Contents 3886 0 R
+/Resources 3884 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3742 0 R
+/Annots [ 3839 0 R 3840 0 R 3841 0 R 3842 0 R 3843 0 R 3844 0 R 3845 0 R 3846 0 R 3847 0 R 3848 0 R 3849 0 R 3850 0 R 3851 0 R 3852 0 R 3853 0 R 3854 0 R 3855 0 R 3856 0 R 3857 0 R 3858 0 R 3859 0 R 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 3879 0 R 3883 0 R ]
+>> endobj
+3839 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.4321 294.8786 258.993 305.7826]
+/Rect [163.432 658.013 258.993 668.917]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3893 0 obj <<
+3840 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.5546 294.8786 439.7272 305.7826]
+/Rect [368.555 658.013 439.727 668.917]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b65697a5fab14ca76c391a3aa523e3f6) >>
 >> endobj
-3894 0 obj <<
+3841 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.4321 270.2037 258.993 281.1076]
+/Rect [163.432 633.107 258.993 644.011]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3895 0 obj <<
+3842 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.5546 270.2037 440.3047 281.1076]
+/Rect [368.555 633.107 440.305 644.011]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2b39d89b5938161bd8922b7c1f28f637) >>
 >> endobj
-3896 0 obj <<
+3843 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.4321 245.5287 258.993 256.4326]
+/Rect [163.432 608.2 258.993 619.104]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3897 0 obj <<
+3844 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.5546 245.5287 432.5538 256.4326]
+/Rect [368.555 608.2 432.554 619.104]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_4cca5e272cecc038189aac8b2fc8ace2) >>
 >> endobj
-3898 0 obj <<
+3845 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.4321 220.8537 258.993 231.7576]
+/Rect [163.432 583.294 258.993 594.198]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3899 0 obj <<
+3846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.3615 220.8537 403.7719 231.7576]
+/Rect [361.361 583.294 403.772 594.198]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_356bd3ccfaa76c0ef4452a34ce767897) >>
 >> endobj
-3900 0 obj <<
+3847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.4321 196.1788 258.993 207.0827]
+/Rect [163.432 558.387 258.993 569.291]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3901 0 obj <<
+3848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.5546 196.1788 409.6899 207.0827]
+/Rect [368.555 558.387 409.69 569.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_0acb1530838a14041c43002dd8ee3541) >>
 >> endobj
-3902 0 obj <<
+3849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.1076 171.5038 259.6685 182.4077]
+/Rect [164.108 533.48 259.668 544.384]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3903 0 obj <<
+3850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.9303 171.5038 480.3869 182.4077]
+/Rect [452.93 533.48 480.387 544.384]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-3904 0 obj <<
+3851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 159.5486 152.4254 170.4526]
+/Rect [113.91 521.525 152.425 532.429]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_84ea81a9b4eed51ac13029dbccf67662) >>
 >> endobj
-3905 0 obj <<
+3852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.8007 159.5486 314.357 170.4526]
+/Rect [254.801 521.525 314.357 532.429]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3906 0 obj <<
+3853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.1076 134.8736 259.6685 145.7776]
+/Rect [164.108 496.619 259.668 507.523]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3907 0 obj <<
+3854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.9303 134.8736 480.3869 145.7776]
+/Rect [452.93 496.619 480.387 507.523]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-3908 0 obj <<
+3855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 122.9185 149.1079 133.8224]
+/Rect [113.91 484.664 149.108 495.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_755f1ffc7dbac4ff01984c02774c9bc6) >>
 >> endobj
-3909 0 obj <<
+3856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.4832 122.9185 311.0395 133.8224]
+/Rect [251.483 484.664 311.04 495.567]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3910 0 obj <<
+3857 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.7491 98.2435 259.31 109.1474]
+/Rect [163.749 459.757 259.31 470.661]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3911 0 obj <<
+3858 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.9479 98.2435 348.4045 109.1474]
+/Rect [320.948 459.757 348.404 470.661]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-3912 0 obj <<
+3859 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.4704 98.2435 417.668 109.1474]
+/Rect [382.47 459.757 417.668 470.661]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_d6c64cb3cfad6b8d7fb952e3f85347aa) >>
 >> endobj
-3913 0 obj <<
+3860 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 86.2883 173.4667 97.1923]
+/Rect [113.91 447.802 173.467 458.706]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3867 0 obj <<
-/D [3865 0 R /XYZ 90 757.9346 null]
->> endobj
-3868 0 obj <<
-/D [3865 0 R /XYZ 90 714.3306 null]
->> endobj
-3872 0 obj <<
-/D [3865 0 R /XYZ 90 666.4402 null]
->> endobj
-3875 0 obj <<
-/D [3865 0 R /XYZ 90 630.5049 null]
->> endobj
-3879 0 obj <<
-/D [3865 0 R /XYZ 90 533.705 null]
->> endobj
-3882 0 obj <<
-/D [3865 0 R /XYZ 90 499.7922 null]
->> endobj
-3885 0 obj <<
-/D [3865 0 R /XYZ 90 463.8569 null]
->> endobj
-3888 0 obj <<
-/D [3865 0 R /XYZ 90 427.9217 null]
->> endobj
-3891 0 obj <<
-/D [3865 0 R /XYZ 90 352.1597 null]
->> endobj
-3864 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F52 341 0 R /F37 2043 0 R /F25 344 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3925 0 obj <<
-/Length 3377      
-/Filter /FlateDecode
->>
-stream
-x��\ms���_�O)5
a��x:�iӤ��I�X��d8�D˜�E%)+���� 
p2��l��P�s�{�����ݑL0�#�'J(d�����\���t_���Y���ٳ���d$���׍I���N.�~�����`��/�	�.�����9�������j���{�j���?�ś�����w�y�ܟ�r�ͳ�	
P�c�@@��_ZH��2�;�Ź����gT�ǫ���ef1Tu���j����ph�^�:]nn֋�����!|����%�!�N� ��ٗ>�]�����g?��'W��o�0bF��
��!0C'�3N��c}���?�N�Es@�n���HK8r���!,��4:w�8�|�a6?S*��D0
E���
��
KLa��%
,e������� X�k��ȤDBC][���f�]l���H��[39���]D�DL�3ؐ%&2^IQ6g�k$�T� #D{�|�]�Z/�_��/O�)�+ʺTq�ABpWg���������g���'v�������9ӷ6
����yp����C�y/�ޒp�4�����:�S��T��Ҧ�%1nD�Z
-)��������^�o���O�1�>���"x|��]������� |��"�\{T%�LRD��y
�${�$����ttz
���Į��yu����Qp��	+'ȣ*�9 ����g,��W�g�
Љ %�|��d���"-e(�ƘeR
L�!��[��<UJR&D�
|�3з�,����j����c��(���<�O�Tq����:�Z�!�9-�Z"*�ԸP�8�j\��;����h\���4nXފ�%��뢬1i�2bY{۴]�D�$Z���23�Ym�:�,< S�Į��p�4�7IB����藲�<�*%d�ٲA��aK�c���k$v�^5�ZG
-
����b<*�"���ڠH7뽵�Y���cß�t���Ԗ�GV��+H펫 � �F�r<�R���]��
i��� �ʬ	
-ېY�ʤ
|si6��(>���m7�~��F��nqs�F=�� ��M�o-"�-%���V�7+@;�}�
-�6����W�=<;�%�6�Z��a��+��`ue

��1�7���ߏG/w��1r�Y*O
-Q�F� 
#��	�����R۵��
��~�I�1�%�/Q8��:T%���f��(��mf�"啊걹��Z�ݑ�
�c�u9
�F3jb�Q([?@4��l�)A�0���8X�MJ
6��ͱI���a�A
-���L\����Z���g��>�ow
�@G�)��p�	�CՂP
-�J� �-�Ơ�F�N���"H�l��(]΃G�Q�-wb�o�s�
L�p	
-E�`:��t�s���;����H�D�Q���d��v����۳}��_w9~�=�,/��ݶ����m��!�#g��&_�>�P���Z�M$Ȏ�
� %XNU�:T�o��TBWHb�

���c�G�g�Ҳ:o;�,�纨��&��b=�4Km���_���R�
DP�^<��߁�QP���*�b��R�2ŨLxx%��Ց-�N���4xPB�P}[O��W�dv���j���d:@������n�
��̼
⑜�s��78��ݭ���Zlm���q�b�����׽7��./ooV�+wTn���׼0ZW�b�?h�0����c�'�^ڰ�c��F�V'��`��3~3$
��H<NI{��I��R���)Iߪ���q+��S��`h��X��P�
VnU
S&�
f쭕r�
E������o�*�`�S�X1�GU�a8\(�3($�S$`�����ׂ�[
'$�wZ��@i�'��d+퉐+
r��)B�(��

����f�]�_w
��?�O.a|��!8�@���B���Ə�A����m�:��,��Ț4}��/�����‰ݓ�5�
a��ڕ�z���M�.r���
�@�ޣ�v��v5�/�-WI4����?D�X{|ʌ�R$�˱���JrS���������a4Z���Q5�v�@9�c
-dn7:F���+a�vG�v��
P�r2<���RkO[�!D$�i�]h� �
f��q�pzz��u�{c�FS�h�	!A�7����)p(�S��Uu&4XЙ��Tg"���0a��㧪?�3
�@���ԙ$���DQ�:32��t����n�3���Y�5
q�+���Z �I���
P��Szl
<�Fjw���
b����*K�=q��ir� �(i����f�ھ�؀{-
_k�����4UW�w�JB�:��L��x�۳��Tc�k����L	��)��n?oOu�#�m٣X]�P��;��һ����D��8x�bu�-hE�1��JC�o@�m=�/�iB);�3%�t�f�Y�n�l��܂����
��s��M3�4�j
<���e������q���v�!�����;{�5���� ,E%=}ˍj�|zl֧v�r�&��}��~h�@�9�)�Gn?�Wp���R	�;���
~
�����1�]S�KB�
��I��䨟"��"G���+�vDz�@ [...]
-m���
����z�
��
*|O��1���0���3�>���ަ��ր�1u���2ه�a���~
dO�3����@W^�
1�5�Yx@~��Vɞ�g�U/���;T�=
j�@"�y����$����
����^΃G�Q����B�/e��Vm��a�<I;��fh����Zx|��ݱ��k�Tj�Q�Z�֊�P���aF�_�A��9(:'')p`����A+�	�o������J0�2���<�.��g�fD8t�	M\SĨ=p�¼�PM
-����A	���h��(p�87����
P����s�����X��H
-���$����l=�1K���I{l���;��ͨ�Om@�F��q�{�|�lw�R�oʿ��{�/��T_�:�ַ�7
[u����+�� !X6�xbuW��~ѱ��*hlMğ�	z���6]�Zr�x�(�~����������6�?~<,�:b�)޷���F{����?�c!TlW���r���QƊ�8A�Nܧ�w��f��S�*8�Į=�7����g�������nW7{�:>��Y?K�M�0W�T��%�D�gZ�`+2����[L��޿� ��Y�7��%$˅�l�̉endstream
-endobj
-3924 0 obj <<
-/Type /Page
-/Contents 3925 0 R
-/Resources 3923 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3807 0 R
-/Annots [ 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3932 0 R 3933 0 R 3934 0 R 3935 0 R 3936 0 R 3937 0 R 3938 0 R 3939 0 R 3940 0 R 3941 0 R 3942 0 R 3943 0 R 3944 0 R 3945 0 R 3946 0 R 3947 0 R 3948 0 R 3949 0 R 3950 0 R 3951 0 R 3952 0 R 3953 0 R 3954 0 R 3955 0 R 3956 0 R 3957 0 R 3958 0 R 3959 0 R 3960 0 R 3961 0 R ]
->> endobj
-3927 0 obj <<
+3861 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.0194 707.9571 261.5803 718.861]
+/Rect [166.019 422.895 261.58 433.799]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-3928 0 obj <<
+3862 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.5968 707.9571 358.0534 718.861]
+/Rect [330.597 422.895 358.053 433.799]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-3929 0 obj <<
+3863 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.66 707.9571 431.8576 718.861]
+/Rect [396.66 422.895 431.858 433.799]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_cdce8391d61c3090aa51f9d0656524a2) >>
 >> endobj
-3930 0 obj <<
+3864 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 696.0019 173.4667 706.9059]
+/Rect [113.91 410.94 173.467 421.844]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-3931 0 obj <<
+3865 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 671.1612 156.2812 682.0651]
+/Rect [133.915 386.033 156.281 396.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9a28ec8161898b61530de9bbb4a3251d) >>
 >> endobj
-3932 0 obj <<
+3866 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 671.1612 234.4775 682.0651]
+/Rect [160.097 386.033 234.477 396.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3933 0 obj <<
+3867 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.8139 671.1612 383.1945 682.0651]
+/Rect [308.814 386.033 383.195 396.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3934 0 obj <<
+3868 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.2512 620.4835 199.3393 631.3875]
+/Rect [156.251 335.224 199.339 346.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_dfb768d4ea63e2eb5d58aec03b999f17) >>
 >> endobj
-3935 0 obj <<
+3869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.6765 620.4835 301.0571 631.3875]
+/Rect [226.676 335.224 301.057 346.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3936 0 obj <<
+3870 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.7297 595.6428 175.8178 606.5467]
+/Rect [132.73 310.317 175.818 321.221]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_fed617fd6598839b510b46a3857387d4) >>
 >> endobj
-3937 0 obj <<
+3871 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.6335 595.6428 254.0141 606.5467]
+/Rect [179.633 310.317 254.014 321.221]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3938 0 obj <<
+3872 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.8278 534.7099 247.4643 545.6139]
+/Rect [150.828 248.857 247.464 259.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_bb6ca6c02bde2f04d412129e4be9743e) >>
 >> endobj
-3939 0 obj <<
+3873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.8015 534.7099 349.1821 545.6139]
+/Rect [274.801 248.857 349.182 259.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3940 0 obj <<
+3874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 488.0173 202.9022 498.9213]
+/Rect [125.095 202.033 202.902 212.937]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-3941 0 obj <<
+3875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 488.0173 314.2635 498.9213]
+/Rect [203.4 202.033 314.263 212.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2f03dea4f9d5f0e15e18785cf3dd58a3) >>
 >> endobj
-3942 0 obj <<
+3876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.6007 488.0173 415.9813 498.9213]
+/Rect [341.601 202.033 415.981 212.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3943 0 obj <<
+3877 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 403.24 199.4753 414.1439]
+/Rect [125.095 116.663 199.475 127.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3944 0 obj <<
+3878 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.0983 403.24 296.9049 414.1439]
+/Rect [256.098 116.663 296.905 127.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_e6fa6e27a794dc71b88169df7f08fcac) >>
 >> endobj
-3945 0 obj <<
+3879 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.2421 403.24 398.6227 414.1439]
+/Rect [324.242 116.663 398.623 127.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3946 0 obj <<
+3883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3887 0 obj <<
+/D [3885 0 R /XYZ 90 757.935 null]
+>> endobj
+3888 0 obj <<
+/D [3885 0 R /XYZ 90 716.221 null]
+>> endobj
+3884 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3939 0 obj <<
+/Length 1550      
+/Filter /FlateDecode
+>>
+stream
+x��[m��F�ί�Ԩeog_���R5����&�S�|��P��r!���~8֤p/)R"8�;;3�<��C��G���ߺ���{�Ŕ׽�
��"xݾ�� ��J����8��h3�'��M�O��?�Wi�.�ϟ�D�OvPԿ�k>����� �ӄs��g�·�| J7�n[
��v�I�B���b����~q~>
+���n�m��'�p�W�D��>~���d>��F[�w[�� �P��IM4�^o�z��z}��ʣ�����F�=��c#�m��-�O�� i�O�D�
�8�J��~`Lf˗�I�M�N
+�PA۬
&K����¬�fI,7h��Dq8��De/�v�?����/��j
���6��'0
�|�r=
��@� F���JZj�Ќ� �
���"��- ���ٵD9'�Di8KR
�N-�}��*i/���;���K����dd��g_0@����Y3D�QJd@����
�PԦw1��ܯ�0�\�Y�
f� �l]�Ƣ
+�#J �"� �N�׈g��b;���Jy���XK���.�ic_�
+E



���
G���e��_�t��%�X��<th�/���a�K�´͵?�2�#�;����������p4/p'��A6;Bئ�K7a��)[<4ӻܒ��e���
���� ��_�O5%��A�|�!ɇ���N�aZ���:��|�E�N��
?�b��w��]x�Af�1v�8T�
+?[4-4 h^����,�YfN���^4
ݛ�3<�	����t8�@eruT������(�s�����%�Tiss���n�.�qsh=Ǎ�̡uJ�
�C?]Zg�p�Z�q�������\��kg��b|z~�"

+

����)�t
��M�"{Z���`n��K��d
��`�I�$o�1�i���EQ~���]��t�k�3wZ��_ëi2��7�s�b����Ė�z��&��N6���&IQ�]�lS�ё�l· ���{nN�ƅ��{���D/�FE���-f� tuL_��m!}[�����]��Q0v����gI
�c�Ι|r��F|
�uΦ%�2���a�}�Uj���D;�h�@�1iF���
`�ɔ�&�(��ἑ�n�ƅ���V�X1~/"]����#w%U�펁S?�dS���ɽI$���I�{�ȃ�Or�\.�;`?=,�����{�����q(�V������Ү��Rj�+�
Q
>ħ��ۈ~�`j<�S}$���
�N���tM�������_Sሃ�
%5��2��_�#��CLs�hV
����t�
�[31�;c�{���eD}�
m%K�
�!T[b�z��}m~RX�������bN�9X��(J��"�T�3��2����-F19�g������p�
+�������Yx����$HC���\d_Q��p�������o�?�M�􇶔~�M���r����T�N�-�O�o�F�-:�
��6�����>y�׭,�+��؂-w�f6������ޒޔ���$%���d2:۔��[�_'�=�q�F��U�8�r;	7�_ު�O
+endstream
+endobj
+3938 0 obj <<
+/Type /Page
+/Contents 3939 0 R
+/Resources 3937 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3742 0 R
+/Annots [ 3880 0 R 3881 0 R 3882 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 3924 0 R 3925 0 R 3926 0 R 3927 0 R 3928 0 R 3929 0 R 3930 0 R 3931 0 R 3936 0 R ]
+>> endobj
+3880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 356.5474 199.4753 367.4513]
+/Rect [125.095 707.957 199.475 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3947 0 obj <<
+3881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.0983 356.5474 294.4044 367.4513]
+/Rect [256.098 707.957 294.404 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_c62afeb287031d74441101af60be319a) >>
 >> endobj
-3948 0 obj <<
+3882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.7416 356.5474 396.1221 367.4513]
+/Rect [321.742 707.957 396.122 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3949 0 obj <<
+3903 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 309.8547 195.7991 320.7587]
+/Rect [145.1 661.133 195.799 672.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a8f66682c527ff5a5a2496de0e3fb2ec) >>
 >> endobj
-3950 0 obj <<
+3904 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.6147 309.8547 273.9953 320.7587]
+/Rect [199.615 661.133 273.995 672.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3951 0 obj <<
+3905 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.1341 263.1621 196.8335 274.066]
+/Rect [146.134 614.308 196.833 625.212]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2f9c525f46f4ff5707b505a88c82aee0) >>
 >> endobj
-3952 0 obj <<
+3906 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.6836 263.1621 276.0642 274.066]
+/Rect [201.684 614.308 276.064 625.212]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3953 0 obj <<
+3907 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.3875 263.1621 454.768 274.066]
+/Rect [380.387 614.308 454.768 625.212]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3954 0 obj <<
+3908 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 204.5143 191.3655 215.4182]
+/Rect [145.1 555.529 191.365 566.433]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_da7d59af059bdfb2e485d341213e6d19) >>
 >> endobj
-3955 0 obj <<
+3909 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.1811 204.5143 269.5617 215.4182]
+/Rect [195.181 555.529 269.562 566.433]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3956 0 obj <<
+3910 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.5282 157.8217 192.794 168.7256]
+/Rect [146.528 508.704 192.794 519.608]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b1b19ff2b88ffca75ac27208cdd877a2) >>
 >> endobj
-3957 0 obj <<
+3911 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.0382 157.8217 272.4188 168.7256]
+/Rect [198.038 508.704 272.419 519.608]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3958 0 obj <<
+3912 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.2052 157.8217 453.5858 168.7256]
+/Rect [379.205 508.704 453.586 519.608]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3959 0 obj <<
+3913 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 99.1739 197.4528 110.0778]
+/Rect [145.1 449.925 197.453 460.829]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_798df1392d067294fc936bcfa19745c4) >>
 >> endobj
-3960 0 obj <<
+3914 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.2684 99.1739 275.649 110.0778]
+/Rect [201.268 449.925 275.649 460.829]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3926 0 obj <<
-/D [3924 0 R /XYZ 90 757.9346 null]
->> endobj
-3923 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F25 344 0 R /F74 478 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-3976 0 obj <<
-/Length 3630      
-/Filter /FlateDecode
->>
-stream
-x��]ko[7��_�OY������v�����S[��8Bm9��$���}�|]���:�Q����ù
r�
�{Mf�#3�gJ(d���<��_���
/�������o��d$���7
�$HPBgg�� y� ���S��������S��ח�o׫��տ6�w���߼]��bA�ի��\�^�N>�����x
P�c€A���=$��`D����T��ק
*�	]Ǜ��
33���f�s���{޳SC��w��ú����7`>����
~E��s�gIO�v�Ftp�$����ɏ?��
-�����b��`0����	�l|sy���
O�A� �7fbm�8��gP�!ɵ��Y
-�6j�D���� �#��YB("�h7K��($)ճ����R�C���wD-|��/�W�I�/�v{
�9�)s�s-ù0J$4̑
p�}��.����~
S/�쥝��D�o3���
�`"� �!
��W!�����ޛU2�\"��)lg�
�g?�]
����
�
�Aƍ	o7
-����+X��mb���˙�,��9�*�S�TQJ�����R����:_� ��"C6��(�8��<�Z�Ą-����C�L3Ɍ�C�!DfdH��e�d~~���g� M�ju��W���9�
� _�3
�⌔��
����`
-r��4
�nai�\�����T�f�O�
�	D5���stC��L�]������+k�_�H1d����w�׎i���c��m:!cb>�
���������M����U�
�nk��S.��7��z���
n���)S�5L���-�����
�����

|���?���ח7��J`B�i�I�����]
-������
���}�Bj������ۧ�ڱe'9�n�DCj��
�A>���֊m7/&�;,o
-ڒ$�U��P�֡��Aa
-�u
F|Ղ��1�K�8� R
�J��{�6�O��b>��*%�����r�I
A�!i��(��v�4�9�Ǩޅ��as�-�_�8Ǐ�X��զGX=�z�����7�n�B��ջR3a8R��j�
�
�A.�Ƽ-���$&�%���f�<� �U��y
F|Ղ����"�S�J��������&4��F��/�u
ud���⊳��
-��E��p��3R���"��*;á*�Hَ�
�ً+!m�F�}�BVt��W~V,�XB��.�XP
-*��t~�v��*��{:���`����k��4��>��F0x��j�o������PtO�Vm`u��
툝9�j�CV®U��|n+v��W-�y[k�W¨�88TjET��lG�m��me$�|P�8JQ|�
����6� Q����1A
�Z
P� |GW��i�����4*�n�97&�n�p:��o��pB�J6)�,�#��ԡj��~�XE�OU7�
-�|�#�jA��Z�`$��qp�Ԋ����
-�ZI
j�YUP�O*ՍG�W7�NT7��
���_qF��^�P�e�UqF�Vv����6�R�p��,
�}�B^t��V7��8]�(���=.r�`HL��Ϛ]a�!Ij�ጨjv��
-�5�i�]�>�F}SD�8�v[N7�7
~�7��7!o�]W�WW7������Ȕ8�
�J���`�b��=��M�ZG��ļ���BU�aD�V��5a+T8 H��XUOP�*�G�͠S��⏆r��_qF�ۘ_����D�UqF����������4�gC�y{*����!�c
�8�6�T7F��o�		o�2�+�Bs�U2�R�Es=�7����0;��Ԏ�QR;#��8(�᳧E�q|
������8�� `�
��1˰°k5&��>],1[�qr|��4C��β���X��
-b)�i*��>��XR6V1hE[�R�_�
�b)�V�o^�L
X��-�ZP
�\��:Է`J.1�F�8|Ղ��1@��8��qQ�a&H�JZ�80B�r�Af�ȥ;�A.�i��5��p��3R�v��!����Pg�leg��:��K
�#�%&1�D��%�AA.9���RhΔ\Jl�ʥ��/W.1�!�Ar��(�%����⋑KL""�� ���ӣ&�T].�ѕ�R�iF.y}>����
�K5k�K
~�7���<�V\��J�5�Ўܹ`���n(�ذƃ�'��rl��^�?bm?��l.��JMH�\�@lV� ��$���/�=�N#Q�&4�TH	�[���?���	��`Q��CU\���}�i� ��଼��1�By��K�)$���~�Mu��̀_�
r�"�m\.��*�"'�'^/#*�"�i8f��%�qJ$�|��dr��J����(ȷ�Q��WW������f�+|�F�[o�ZnW9a3}���
-�dǗRT��%5��Bꎬ���
S�u�4ο`�a�nķ���
�A��K�;��� ���Ծf�I-"s��8�*FP,�f��F���l���8
_� �m�w�H0S����:E\�c�.�h���ʱ
�ӵ��30
�T��b��j
~��
�ۨ���d
-���;T�)�c{`�uF��g�'X�]	|��3Q fm~{x����P���ly�I|�:�#Uu�
/��;�g˩&N�Q�@HY�����8"�m���faV��CU<��=�'�6�7��ׄ��
��x#卽�J
�@�b��E#4RL��گ�5��B#j��2�&a{�땚ž��O;xHM�q�j��LO���2�5� N��5�E5�v5|zWS��ɚ�3F�E���dQ!\�^�)������a���
, at fƯR�S6��Mn#�P���M7	�>z�
�s�ݳ�PJ�d�:`�Hb�ܸv�_���
'�Hi�H���O=�G�*��S!���F���2�~�z��vc��
%p�jM���\�i]t�*;�\�ٌ�S��5�~�\e�Z+.ϯ�w6ّ��P��
���˰���q�(i��_� �m�"�����88TjE�I
��vf� Q~f��5����;�~����mrÕhu��W���o�3&D�UqF���������{&�ѼO�7(�;�=��C{&��+���_�>9��y���9
-�����O~�^�6ȯn.�w��{P�=*��#�
{��p�j�;H*X��Ȫ�auI��$U�ߌ��}G��\�I
IZ�4��~������Z��/��V�S*��'�j���!�U�Y�U��V��
�
l��S
NӤu4
�fA��zk
�'�InmP�ѭ-1[i�J'
Ū�BE+�UwĽ�RS�p�R�Vg8|�)o�YM���e_���+��'�}=�`P=cX�G<�I +0,E�AM�Aᠦ���fh��A�Ć�A���/XMa�
vo�!j��(��f��G��Z�J*$�2v�o��gXh�L>�zc�0�˪��P0p���.�~��>l�ۃ�q��c����62�Y"
b�ݑ���~ڀ���'@r��l��*{���
�B>�y��_2�)b�? f؛)�?d �_�Nukrt�K��_1p��3���o�o��_��`7!������fyٿ�rὥZ��|k+�~�D0���^���c{ۺ�?�e6����
:>�E�g�w�	��淇ûϟ������v�n�6����]>O�:'�ʄv��~%�#ϴD�
��f<
tu�s�~y�*� ,g��#�\endstream
-endobj
-3975 0 obj <<
-/Type /Page
-/Contents 3976 0 R
-/Resources 3974 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3807 0 R
-/Annots [ 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 3991 0 R 3992 0 R 3993 0 R 3994 0 R 3995 0 R 3996 0 R 3997 0 R 3998 0 R 3999 0 R 4000 0 R 4001 0 R 4002 0 R 4003 0 R 4004 0 R 4005 0 R 4006 0 R 4007 0 R 4008 0 R 4009 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 ]
->> endobj
-3978 0 obj <<
+3915 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9871 697.0435 198.3402 707.9474]
+/Rect [145.987 403.1 198.34 414.004]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_3f5e732694ad7d879ac7eaef0668073a) >>
 >> endobj
-3979 0 obj <<
+3916 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.0433 697.0435 277.4239 707.9474]
+/Rect [203.043 403.1 277.424 414.004]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3980 0 obj <<
+3917 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.8284 697.0435 455.209 707.9474]
+/Rect [380.828 403.1 455.209 414.004]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3981 0 obj <<
+3918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 638.3545 191.2164 649.2584]
+/Rect [145.1 344.321 191.216 355.225]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_d3d8562d66aeed544d8ef75b941e807c) >>
 >> endobj
-3982 0 obj <<
+3919 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 638.3545 269.4126 649.2584]
+/Rect [195.032 344.321 269.413 355.225]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3983 0 obj <<
+3920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.5415 591.6206 192.6582 602.5246]
+/Rect [146.541 297.496 192.658 308.4]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_c32024703f8ac04b6b68ff1761575d2d) >>
 >> endobj
-3984 0 obj <<
+3921 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.9156 591.6206 272.2962 602.5246]
+/Rect [197.916 297.496 272.296 308.4]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3985 0 obj <<
+3922 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.1654 591.6206 453.546 602.5246]
+/Rect [379.165 297.496 453.546 308.4]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3986 0 obj <<
+3923 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 532.9316 190.2598 543.8355]
+/Rect [145.1 238.717 190.26 249.621]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_307453961ae9779ce9e1e3ebcc94496d) >>
 >> endobj
-3987 0 obj <<
+3924 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.0754 532.9316 268.456 543.8355]
+/Rect [194.075 238.717 268.456 249.621]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3988 0 obj <<
+3925 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.6265 486.1978 191.7866 497.1017]
+/Rect [146.626 191.892 191.787 202.796]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a831d9698f64ff610fa1b3341025603a) >>
 >> endobj
-3989 0 obj <<
+3926 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.1291 486.1978 271.5097 497.1017]
+/Rect [197.129 191.892 271.51 202.796]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3990 0 obj <<
+3927 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.9103 486.1978 453.2909 497.1017]
+/Rect [378.91 191.892 453.291 202.796]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3991 0 obj <<
+3928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.6682 427.5088 212.4172 438.4127]
+/Rect [145.668 133.113 212.417 144.017]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_be0aef8acc1101523cfbf50ebce7528e) >>
 >> endobj
-3992 0 obj <<
+3929 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.8014 427.5088 291.182 438.4127]
+/Rect [216.801 133.113 291.182 144.017]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3993 0 obj <<
+3930 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.5932 427.5088 466.9737 438.4127]
+/Rect [392.593 133.113 466.974 144.017]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3994 0 obj <<
+3931 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.9217 415.5536 250.3023 426.4575]
+/Rect [175.922 121.158 250.302 132.062]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3995 0 obj <<
+3936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3940 0 obj <<
+/D [3938 0 R /XYZ 90 757.935 null]
+>> endobj
+3937 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+3997 0 obj <<
+/Length 2194      
+/Filter /FlateDecode
+>>
+stream
+x��[Ys�F~���0`�r4���S���]�f��}�S,��%&�
���_�
� q2e�>� ������gعq��z���+�
���ҹ���(I��Ĺ�9�\B�
�	��}3"����7y3��]/v��,�&?̯/�]^~{�O�7��ɏ���~����!�(U�1	���Nn��@0��dw\�w�1SaU��Ow5��Aİ�o:���0�{52�������/o��>Ѯ���O������˫��1�!�ÄB�	g�
��;3��{#f��)�k�pj[8?�7���q9��$
+IxBQ�����)���s�C
+��}H#.uf[�;t+��sn��_�$��y����_yK?sT��������fTct/8�DŽ��Z���H���#>���[�7��߾
8�ƌP7�^O���:�YU�����X�Fn}�<]I4"�����iZ�����{i?��&m^�
+
�[�T���*��}��F"��l
3����[K�u�I�e^������R�U�ao,��T#�TGLi�M��!UIE�BeEa�)y2a$���� �<��x
+���S��@�bz�'7T[���ݦ���[l�:q������'�?�)�ʪ܍�1f5B�9:��kt0Q��Q��*0Y��Ɯ1%�v��6l���7�Y�RNN���"��� ��� ��UpV�o:ǸJ9���W�t�(m$'�1�S�0Y��O�#�����Ȑ'�����X�
L�/��7��)�pǧD�\�W����n
���b��fؘ�t�%���s��V�:)�"N�E_
+�P�g�=����¯oG����[��(,$xQ�NS;~P��"���֢u�&IQB�fߨ��kb��,�0�d��F�b
V�V���ɵ�@YN��J݉����-	
FV*���G`�$J�&�9ؘ7%��
�ԋi\@WB��(�%W]d�ƥ�1��6)��}"e��H%o'RA��d�)|ω�-�.��3�N����T裉4.��Q4_���R�(b�S�5�q2�ƙr����K��uvA7w��U�s$�*���{"3��I$R�
!��-�2_$2�KW1�Z�܍���
�o�
+e� ��5�1-$a1]6����[H%MW{���j���bR�v�B2��
+0p��i�t6�#ZHqn!�[H��-����z��v�7
��y�i��s�����K���+�^�ܤs��d6Q��5��:��D�h��
+tu0MA��i*L�4�{ ��A��
�
NNo�A9���<o�<���wuȧ��m�U�=�<���F
 ��
?��}p��IvU�X�9�	>n���_E9�'Cd�W �P ��I���i��T��<k��
.��>?j�Qk7�4�.js�] e:V�$9��f�*��X�������-
;p_�����'��p���&�pw,fZRS�
U�� ~�z��Mr
��p���
�|�h�m���/��Cc�1�€���F��# ,�E��O?�u���_B����
�a�����}.<ģR�0�
l���
+�H
�]�:�"�%�z��JT���ʻ^�������P]]˯���
�H�c߅�!zqUl�?�)��&zkʐ��K앱�H�
��������//שׁ�����
�!�sl��aL:��m����ٖ,%H���J�p�NC`�J` �y�����R��x��B�T,Z���q�,�`���G��%2��|�
��o�(>�&���zQ#[ }2�C�Š��o�]�������@
�7Iߜ��GX��6f��2o�2ԋ??�g_�-��.e��=~
+.�G��Y������q��?;}�

�N�� }�
�ӓ��чP��5����&s���!}0Q�����$_�>�=�Gc��byf�3�<u"IG��e�)D���0�����A�Q-
�53��j�3H�h�A
=�Y�%
+�Z��8F��G��0_燮�l���v�_b�ʗϝι�9�ԩxJ>I�C;
�ɟ��*�ӓZ��9���9��I��e2��R1Y��w.�n)7G0B�La�YĴ��r"�ؗ����!Ȋ���w0R��3ۦz�S���m����2}�=���_ٳ����UNw�	���=M��&�	K����?�Y��~s�o��{_���D)0�6�6��>}B�mW�M����f��8�X!�
f)N@|��z��:�qov�� �]�
+N
+endstream
+endobj
+3996 0 obj <<
+/Type /Page
+/Contents 3997 0 R
+/Resources 3995 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 3742 0 R
+/Annots [ 3932 0 R 3933 0 R 3934 0 R 3935 0 R 3953 0 R 3954 0 R 3955 0 R 3956 0 R 3957 0 R 3958 0 R 3959 0 R 3960 0 R 3961 0 R 3962 0 R 3999 0 R 3963 0 R 3964 0 R 3965 0 R 3966 0 R 3967 0 R 3968 0 R 3969 0 R 3970 0 R 3971 0 R 3972 0 R 3973 0 R 3974 0 R 3975 0 R 3976 0 R 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 3991 0 R 3992 0 R 3993 0 R 3994 0 R ]
+>> endobj
+3932 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7217 368.8198 211.9227 379.7237]
+/Rect [145.722 707.957 211.923 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_95ac9759a14fe23bf8d02a621e4e9e5c) >>
 >> endobj
-3996 0 obj <<
+3933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.3603 368.8198 290.7409 379.7237]
+/Rect [216.36 707.957 290.741 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3997 0 obj <<
+3934 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.4862 368.8198 466.8668 379.7237]
+/Rect [392.486 707.957 466.867 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3998 0 obj <<
+3935 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.9217 356.8646 250.3023 367.7685]
+/Rect [175.922 696.002 250.302 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-3999 0 obj <<
+3953 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0153 310.1308 191.2814 321.0347]
+/Rect [145.015 650.587 191.281 661.491]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_e4bfe4a80fb074c50ec17657eee225e8) >>
 >> endobj
-4000 0 obj <<
+3954 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0127 310.1308 269.3933 321.0347]
+/Rect [195.013 650.587 269.393 661.491]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4001 0 obj <<
+3955 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.7621 310.1308 441.1427 321.0347]
+/Rect [366.762 650.587 441.143 661.491]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4002 0 obj <<
+3956 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 298.1756 222.9969 309.0795]
+/Rect [148.616 638.632 222.997 649.536]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4003 0 obj <<
+3957 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0739 251.4417 204.3648 262.3457]
+/Rect [146.074 593.218 204.365 604.122]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_d5ff0dd1267079af85d9938bb4a975de) >>
 >> endobj
-4004 0 obj <<
+3958 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.1547 251.4417 283.5353 262.3457]
+/Rect [209.155 593.218 283.535 604.122]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4005 0 obj <<
+3959 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.9864 251.4417 437.367 262.3457]
+/Rect [362.986 593.218 437.367 604.122]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4006 0 obj <<
+3960 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 239.4866 199.4753 250.3905]
+/Rect [125.095 581.263 199.475 592.167]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4007 0 obj <<
+3961 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.238 239.4866 370.6185 250.3905]
+/Rect [296.238 581.263 370.619 592.167]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4008 0 obj <<
+3962 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.9455 239.4866 513.9963 250.3905]
+/Rect [468.945 581.263 513.996 592.167]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4009 0 obj <<
+3999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 227.5314 159.7346 238.4353]
+/Rect [125.095 569.308 159.735 580.211]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4010 0 obj <<
+3963 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.9681 180.7976 191.7918 191.7015]
+/Rect [144.968 523.893 191.792 534.797]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_1d723d4d200b4a6a694b141c7b6f408e) >>
 >> endobj
-4011 0 obj <<
+3964 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.4759 180.7976 269.8565 191.7015]
+/Rect [195.476 523.893 269.856 534.797]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4012 0 obj <<
+3965 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.9512 180.7976 441.3318 191.7015]
+/Rect [366.951 523.893 441.332 534.797]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4013 0 obj <<
+3966 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 168.8424 222.9969 179.7463]
+/Rect [148.616 511.938 222.997 522.842]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4014 0 obj <<
+3967 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.33 122.1086 215.546 133.0125]
+/Rect [145.33 466.523 215.546 477.427]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_9b45abd63e1255df8341775c8f42b842) >>
 >> endobj
-4015 0 obj <<
+3968 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.5919 122.1086 293.9725 133.0125]
+/Rect [219.592 466.523 293.972 477.427]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4016 0 obj <<
+3969 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.2697 122.1086 467.6502 133.0125]
+/Rect [393.27 466.523 467.65 477.427]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4017 0 obj <<
+3970 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.9217 110.1534 250.3023 121.0573]
+/Rect [175.922 454.568 250.302 465.472]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4018 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-3977 0 obj <<
-/D [3975 0 R /XYZ 90 757.9346 null]
->> endobj
-3974 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4032 0 obj <<
-/Length 3438      
-/Filter /FlateDecode
->>
-stream
-x��[s����)���1a�/��3�g����OIFCK��D"e���~�
�X`IJ
{��E���Y�����p	2��

)��a\�ίO��
���	i>���S���'O�K12�H*G��+� A	
�^�2&�ɔ`��/&�g���ً	�������b=;�a�j=[�=}��r~��5�_��x{�j���v����xP�c�@@��W�I��2��Ӊ��Ǔ)6�j���]�33�����Vt��j���~O'����7W��~���5�O�x�<��tL�NO�9u3�L�`���|{��oxt��	F�h1z/0f����S־�:���?�O�Au at J7�5�T�єq�%
��"�#��)CX
-�4ԟ���T�����_)��#� ����q[�丰�&ոT"lH8춝�J.�<{X)�k����DB�µ���f��]�[I����~��.�	�Ĩ� ,��Q0S��@�� #D}�����"�D硸)�&7�ُ�o���t��S�����_���z{
{�fb(bVjHW�֪4���ڄ
-��

�k7�.�N at k_��뷺��Yȏ�*��&,?�*�"Lh��p���
�D�N^cZG
2�c�
��Y;n�ڣ���|��l�'�4�����
b�~���E��Ϊ F��1e
-
-��3�g�Gwpi�T������Q̒e�0$��)y�2����.|��(>���u���'9�
e��{�)�2�]5ESy�1(=´��Cmx�Մ��o{�$���:��7���������z�Ը1ZO��V����ub|HG f+�]b|�`�� Q�+�(���S,�n�lN���v 
�
-���X4!V"��R(��/W���=��s����rvU��O7��l�Z7�͖��V�7��b�Z֯��.��q�hF�0T��bL�&|�
M8�"M��u4�7��`��	���S����L
# rYz?Q|������}�:��p�s�
�	VAN)`=+�.��B��O�G~���m�~��9����������SeW	J;�%�ne����[o��H�bn3=I�+�a�d�RHq��[<}����V��z��QTf�@Z11T
-g_�"�{��9qHHY)�UA���@)��R�`
-)1�<����`�92$��Fɼ����ȼ�)#	����ƂX"8o���Y���J����^
P$���ʔ�5���N�����NcL�PM�}A��oY�2
 #���*h{�	=\��eb1Ԓ.��W��U�7�b�
�ۖ�(ŀ�F��::����_êa�����:�
�欆Ϊ4��f����-��֔�\D�W��)�j��>4�
�D��&A(8wJ�17	���M�3����j��k(��v�`1�|O�o?r
)�5�?^�2 \
-F��
-��f�@�άH���
��ƍ	5�
�V$)8�2��
 T��
�:��5���P��҄����@)v���"�{�f��j^���'D�d�
-Ȉ�p=�P�2���� �0�^B�"HjAO��
-���GT�a�
���$��T8q��FA"_����G
�B�©B�`5��KéFJr1TCg_�0����_pj�ɒ�tV��N)32
݇S&8%�6�
N1�E��Qp����ikfC��b3?�O����a�\�4
-���ufE@�
f 55n
���_ �I�(bD�����Tgv����jSP��>=@
(�P�R�~�Ԭ;@�K{��Z�
j��
��;�
�6F{��E/�v�Nc�7vO�N�K_���>�B�
��Yge��
�/�J��
�&+C��@�}�а(5*�(��
�(1���Yg����)4U"F
n&'{��JNwg�
V�1/p`�V�J�Խ,
��c ���XgfC��~ ��yHb{9k��_5�T���؛r)܎.
�r��`B�(�5+S��0G��q����rk�Υ��B��9�m͎�� �~����C�~L� ��£ܬ���(7'�G�Y)bo�[�i9L�����!]g�놱��nA�w�z�~���[_Vp��G��*�k��
��~��a��M�UA���@M�j��b��b�2�X���4����t���O��^-j���Y���j�2�W�u���F7䇣.�
f����
�:���Y&\�F?8�2e�҃�άȳ��
Ϧƍy6�
�V�ɘ}tJ
��? ó��(�
����(�4�1}z<;P�
�楈�
ųY)v<��"���um�H<��W��
϶f��lK?�v#��Y?�ϩ�;P�]7/I�w�>nV�]'7/I�����
(㮟��1���~uxO7�v]�B�m_7`g�
��������f}�uf6����ﻥK5�;����RE���`�3+��0C��qc��B��R� B��k�2�̎"�0�^�bJpӧG���p^���Q��bG�y)bo�[G�����`�@����

��K�Qi"��:�5�ut��~���f5�ut����
݁:�:�y
c��3p����x��-D�vt��>VG�R�(7G=}���!nk֋�{p,�j��?�K1A����ά
���
�&�M��?�C�����:�S���
���
C(q�
-�K`��6�)Y~ȶ����`��� X��.�0�.��VqL!�F�2�ow��Z�;��2����m˒���n+F�q���_eaK
eu�Yc��FW�W�~v+&�W�Y���n,
��,ڋ�N��	�(�8������$hgV�
��]�{���p�{;� ���psb�V����Z��}��v�=Nx���vM=�� X�M��k
y��^�+3Q>.��.�7M=j������r��c����r��U9��dV� i���e��d�ws�h����zϣ�t��,:��W��������n"D��)��<x!%��B
m��e�s����A�"���54����ZB�m9�"�q��=�Y0����"a�4,���~��*�]����$�:�E=��*����z�-����e�Z���꠮��4�R���c�ξ F����P��!/��
-b�ކ����:;��N�t��}�O����*C*�4�����? ѽ���ίo� �O�T@��j�J�B]����&���ߺ�r�{��Gݽ�>rpԚ�p�BƳ��Tݦʯ۔�u�]ݮ^�(�/+��Z�1�R;�n��1�I�+Т��j�~�c���h�o�`���%Bc�&x�9,Д2�S�mǷd0hƃ����:�|�8��$��ݐ��y��;4W{gK�v�	���P��֤�:[Hw��r��U/d}=s��g�/�ݳ������3�0�gK�-����\��,Z��P�����y���i�~G��r�UT�Ǩ��_~�m�zG�{U*�l#���/�ۛ�O���
�o��rq�F�퓛��'�͢��:e¸�l�E�3ϴ�����e����mI
-o^W�iFKQ�
-�����endstream
-endobj
-4031 0 obj <<
-/Type /Page
-/Contents 4032 0 R
-/Resources 4030 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 3807 0 R
-/Annots [ 4034 0 R 4035 0 R 4036 0 R 4037 0 R 4038 0 R 4039 0 R 4040 0 R 4041 0 R 4042 0 R 4043 0 R 4044 0 R 4045 0 R 4046 0 R 4047 0 R 4048 0 R 4049 0 R 4050 0 R 4051 0 R 4052 0 R 4053 0 R 4054 0 R 4055 0 R 4056 0 R 4057 0 R 4058 0 R 4059 0 R 4060 0 R 4061 0 R 4062 0 R 4063 0 R 4064 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 ]
->> endobj
-4034 0 obj <<
+3971 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.4786 707.9571 193.3024 718.861]
+/Rect [146.479 409.154 193.302 420.058]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f1952cf5da3ecbadd8401b948e899a31) >>
 >> endobj
-4035 0 obj <<
+3972 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.497 707.9571 272.8776 718.861]
+/Rect [198.497 409.154 272.878 420.058]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4036 0 obj <<
+3973 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.354 707.9571 453.7345 718.861]
+/Rect [379.354 409.154 453.735 420.058]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4037 0 obj <<
+3974 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.1875 611.6079 272.7484 621.5355]
+/Rect [177.187 319.149 272.748 329.077]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4038 0 obj <<
+3975 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.8773 611.6079 450.4382 621.5355]
+/Rect [354.877 319.149 450.438 329.077]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4039 0 obj <<
+3976 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9139 598.3426 192.8401 610.2978]
+/Rect [143.914 305.884 192.84 317.839]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4040 0 obj <<
+3977 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.0066 598.3426 304.9327 610.2978]
+/Rect [256.007 305.884 304.933 317.839]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4041 0 obj <<
+3978 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.9646 598.3426 472.3899 610.2978]
+/Rect [425.965 305.884 472.39 317.839]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_b733c7c83da19667a83c2a3abafa5d05) >>
 >> endobj
-4042 0 obj <<
+3979 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.1875 540.8731 272.7484 550.8008]
+/Rect [177.187 249.825 272.748 259.752]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4043 0 obj <<
+3980 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.8773 540.8731 450.4382 550.8008]
+/Rect [354.877 249.825 450.438 259.752]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4044 0 obj <<
+3981 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9139 527.6079 192.8401 539.563]
+/Rect [143.914 236.559 192.84 248.514]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4045 0 obj <<
+3982 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.5042 527.6079 305.4303 539.563]
+/Rect [256.504 236.559 305.43 248.514]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4046 0 obj <<
+3983 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.7683 527.6079 471.8923 539.563]
+/Rect [427.768 236.559 471.892 248.514]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_79a5a323f582c4260790552d3be140fd) >>
 >> endobj
-4047 0 obj <<
+3984 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.1875 470.1384 272.7484 480.066]
+/Rect [177.187 180.5 272.748 190.427]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4048 0 obj <<
+3985 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.8773 470.1384 450.4382 480.066]
+/Rect [354.877 180.5 450.438 190.427]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4049 0 obj <<
+3986 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9139 456.8731 192.8401 468.8283]
+/Rect [143.914 167.234 192.84 179.19]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4050 0 obj <<
+3987 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.5461 456.8731 304.4722 468.8283]
+/Rect [255.546 167.234 304.472 179.19]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4051 0 obj <<
+3988 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.2952 456.8731 472.8505 468.8283]
+/Rect [424.295 167.234 472.85 179.19]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_dda98cdf0bda436acac3193162fa53b0) >>
 >> endobj
-4052 0 obj <<
+3989 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.1875 399.4036 272.7484 409.3313]
+/Rect [177.187 111.175 272.748 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4053 0 obj <<
+3990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.8773 399.4036 450.4382 409.3313]
+/Rect [354.877 111.175 450.438 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4054 0 obj <<
+3991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9139 386.1384 192.8401 398.0935]
+/Rect [143.914 97.91 192.84 109.865]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4055 0 obj <<
+3992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.7609 386.1384 305.6871 398.0935]
+/Rect [256.761 97.91 305.687 109.865]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4056 0 obj <<
+3993 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.6991 386.1384 471.6356 398.0935]
+/Rect [428.699 97.91 471.636 109.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_76b5e4c5b9628c14a7d227517b8fb349) >>
 >> endobj
-4057 0 obj <<
+3994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+3998 0 obj <<
+/D [3996 0 R /XYZ 90 757.935 null]
+>> endobj
+3995 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F23 340 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4040 0 obj <<
+/Length 2228      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�F~�����GsPe]�G�
k{�S�bA�PDL
 Z����9p� $*����	 1�>���z��[{��9\\I�(�Tz��bϗ	J����uH��1�ߍ
F�:��Q<LW���g����&�����K5������v}���o�/�i��G�Io���i�@0�,,GLF>���Th��x�똙����|�ս�����;�t�֛UT(�ϵZ��$�d"��'
|7�1 0
��q��τ7[~�
{s��G#ޝ��8Պ��_�
`����Y
�z�+�ї��p�S��V���
+4ͬ��2J�]��:�aT�p%d����^\	��ΘR$9�+A!�����$�%�>&�� q�
-J׃G�q�꜇{�ޚI"TaQ�6*��n1&�^]�=�
�B[�
+mc	H�n�Z!����f��?,�Ë�e���@v�b����������雨�GT
?�uRӷٴ�5{�n�����0�-
|vh���>�@ �J���G�j�ڂ��ggG����N��^�*��cm
�l��ޘI�0w��R���=���Z(��5#Y�߽z
���&^\�&R��:�~��a�,��<�����s	��̧Oj>�"���Û4]u�-$�'e�Ơ��1�A`�� q�� �A�%��-׺�ud��$/���wa
�A�~
r�Y�`a�\�v�;�<q�F��L#'��ʃ�UI�
r����F+�0}z�
+��J�EPTMP�
A��/
G�����Z��'�����Qz�����'���)DL
 I'$��Ҡ$-��� a�E�+���,]w�)(���\�w ���[`��?�4E�niw
8�'%Q��.V�蘖s *�d����A�7K�r�m�|zh�@,�/C�r�Z��U�͒ܪ
���
�ɺY�
c���A>"�/�8bhI�H�j��;f����
*X/1�5� B���)�U�+ȣy��:�p at q�TŲ4�h

3�%�M��U���O
�}$i#��D�8
�BV|T:	\���b����M��{m#(ߨ�~�ڍ�8�4�������Z?�*�	Y����Z`���;?�
��	�Z���:�`@���ʳ�
�3�ԴOO2��3%2c{����~��<�I��u�ulj��J^�ת�J
 \ ��^�@��M��Ԃ
�@��*qn�x
?
��{%�
b*�ڭa?�2�Z�
+3��;����ӶlE�Hӊ�*�Q��v�{�C�1e�Å�c1x,�bw
z	�d�H�����c
Q�C-��\�Ͷ��p��޺�>����%6S:&8�u��������;��U�6dM:L� �1ݒ�
X���V�vU�i[DYWd

9�6~��s��2s~y��E�"]�ƒ�4?�w�v�2��=�
��7۵����J�`��#���b]����u�5�6}
g]8>��<���I�����;^o��]��v]��aџ��
�eg�^P��~��,B�c4:8�M
P=�]�MlhU�ҫW�����O�ۅc��#_���
i��z+��>��m#:Ʀfnl����~z~2��GF�?5du�Q��OLF

+���HD0��(`��E��F
 J}k�Dkh�#.��<��V_�$lA�c�䄦��m@/�	�i�|y�"�?iQ�����W� ��&=a�(��-/���������6S5���D����$֘3�9V��Cĝ�{��(^�)�U>��N4S�b����+ڞ�hI���6">j��}��rNj(���$����9�T�u��s*P�i���D7�i�m{
�b��1vCZ���%΢ͦ�/�mb�5�.o
K��*)�nsd/�
�N�&o�3�ut��>��pݕf��Z�Q2�7��q�~�X�۟�&�;��P��,㬜{ϖ�yY���Խ�{(f����|����.�u�����=�t+�Q3�4�Ը�j�g
+����N��w��*O;�m��Z�Uz��ϋ�J!PL�,�n��>���toq�c%�a�$��}��GwX�+�3��E�T�&� #u��4�����\�E��N��%�iX��E=M�̪W_,�UOd�
J	̬s�qY�fy����0�ϸ����P���`���0�Gz5~T�a��t(b�'W�ߴ��%�	#M�κ��
#�C�d�0��Ῠ����}�ʻ���W+M1�}}�cY�ˋ���;4���&Cqq�٬.���� >��Wa��b=N��pP��"�Ko��
+endstream
+endobj
+4039 0 obj <<
+/Type /Page
+/Contents 4040 0 R
+/Resources 4038 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4044 0 R
+/Annots [ 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 ]
+>> endobj
+4010 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.1875 328.6689 272.7484 338.5966]
+/Rect [177.187 687.016 272.748 696.943]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4058 0 obj <<
+4011 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.8773 328.6689 450.4382 338.5966]
+/Rect [354.877 687.016 450.438 696.943]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4059 0 obj <<
+4012 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9139 315.4036 192.8401 327.3588]
+/Rect [143.914 673.75 192.84 685.705]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4060 0 obj <<
+4013 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.5461 315.4036 304.4722 327.3588]
+/Rect [255.546 673.75 304.472 685.705]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4061 0 obj <<
+4014 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.2952 315.4036 472.8505 327.3588]
+/Rect [424.295 673.75 472.85 685.705]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_16b12775a696c6e304cf9ee7ffe2213e) >>
 >> endobj
-4062 0 obj <<
+4015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.1875 257.9341 272.7484 267.8618]
+/Rect [177.187 616.281 272.748 626.208]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4063 0 obj <<
+4016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.8773 257.9341 450.4382 267.8618]
+/Rect [354.877 616.281 450.438 626.208]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4064 0 obj <<
+4017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9139 244.6689 192.8401 256.624]
+/Rect [143.914 603.016 192.84 614.971]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4065 0 obj <<
+4018 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.7609 244.6689 305.6871 256.624]
+/Rect [256.761 603.016 305.687 614.971]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Checked) >>
 >> endobj
-4066 0 obj <<
+4019 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.6991 244.6689 471.6356 256.624]
+/Rect [428.699 603.016 471.636 614.971]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a355ae6b2a2a704e88060541fbaa6562) >>
 >> endobj
-4067 0 obj <<
+4020 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.6165 186.2231 270.1774 197.1271]
+/Rect [174.617 544.57 270.177 555.474]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4068 0 obj <<
+4021 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.0476 186.2231 403.8781 197.1271]
+/Rect [388.048 544.57 403.878 555.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_d5c5cd5266cf95dcdc0f03d0108168b5) >>
 >> endobj
-4069 0 obj <<
+4022 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.9227 140.375 274.4836 150.3027]
+/Rect [178.923 498.722 274.484 508.649]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4070 0 obj <<
+4023 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.3196 140.375 472.8805 150.3027]
+/Rect [377.32 498.722 472.881 508.649]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4071 0 obj <<
+4024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.6385 127.4435 229.7866 138.3475]
+/Rect [210.639 485.79 229.787 496.694]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_2ee8a6019070192609b3ea6e5dfa3018) >>
 >> endobj
-4072 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4033 0 obj <<
-/D [4031 0 R /XYZ 90 757.9346 null]
->> endobj
-4030 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R /F101 2128 0 R /F99 2213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4084 0 obj <<
-/Length 2925      
-/Filter /FlateDecode
->>
-stream
-x��[�s۸�_��T��`|t�̤�K箽$͹OIF��t̉D�H*���w�HB���i�������b?~�
�d���<SB��q9[o���\��q�p������%���Ս� 	������9!H�/�x�����ܮ���)�����\-���/W��������!J��/���iy�����(U�1��B��_��#��(���?>_PaT����}�3KI�r�=�d��fUU
߫����n��������'z��k�D��s"�az�㕷�3�`�{�v��
�]��>È%Z����:۞q����_����47�1�qƐb���#-����R|�7�!	��2���q��Q��<�1�O�n_/^�k�h��r����(��E
0A��x z�EHf�4T�($)�nF�����\
-8Qr[��\H
�l�R�pB�b�6Bld1�CPs�e7�;
%,����4_m�6��
!��
�0�;�Y(��R���M�����o��O7����PɎ�@�CfJm3�74����uh˖~>�ု
�j�bUg�T�?�1O�/�e� }��	g=�z��TC��(4���[3��ƒ�Ь	�O)��֎���Y�j�O���
6rFN����������uZ�7�@A�Ɗ���SMؙ	��{�?�H&C�i
I�O��#�2N��Q�h��� '
	I'b�SM�D�D˞W�b������2]m"8�?**S�������A��s:�� W
�<��jf��
-E9-���I�*����f[���p�$��P�	k�䋐~��W��>����gY9p:#��ӣ�-Մx��'�w�_g%��
-eRJD�f�,$)e�l������,&wX�:b�_)�.��^���D�}D*�'�=V��C��
�^��h
�SC�F9�v1��Tak����Z�p�Q� 3�s`�L;������������RM�G�F���vx1&k�ţ� 5��*9Հ�~B�!_ۗGLj.c��
7SK4ԡ���F��T�
��5"L����2~�9
-E��q�bNSDE �dSC�x��i��S
� �DjPGr�}$�QF���7n�k��2G��eq��`uY�n`�D�d
-{a��%S�ےMco�p
{#r#���ݏPn&1�%�jr��ԋ�<6Bty~� ���=�"��j4 ��FpC ��?���u� �ũ�w����

`�#&��,�&,�
V�v�`���P�CFO�LK?e�_�C�Gg�����T��� y/�Lm��a�t��Ҧ=��Zooe��!�58%3�39���|�G���u��'J�ວG|[�)�@�
ޕ��o+�
	%_S`C
#֓�-��o���Ί�xY�|a�U!1��O�4�l���
G�jLv���F�lb�����O�GG���L��F�'O�#
G�@��*:i
Մzf���g���"8����ɩf��z
��6�0���ɸqZ���A����{���J��dB
c8ے�p�s��
i��Wi�
�q�&��ڃ7D��۳�^e�i����j]f;S"�F ���;�w���C���r���L`��!R�{xG��*������I"Z�kw.b�Ց#E�a1~�h�Vj7Y9�Hb"�=�b��L�K�q��ƽw�jg"��
-�%o�nU�
]f��t��5�T͕U��!������R4�n��Vq�l?_݂O�d-̏U~�|)SY�GۧT�O�I�����iyc
�ny�f�[w�>���b�-�u�8l6͗�Y~�7��Ho���bLי�.�z���m7��۴L���r��<���-���3��m�Ů=aU�oRj���n3���4y����s*����w���6����;�r�A�.rGZw�w�r�}.�{����u�8�
nQ
ڕ�Ny��� ��M�Z�;
�q��Ql�_c��-�,��B����

��G
����t�
��Hs�W��ƨ�c����9�*A��
�!�H��
���H:�H&!Jt��$�7"�CE7n[1�ą;(2�����Q���ʼn
3�a�5����us�o	#��ڤ�n�
oa���E�i��1������|�GxSh̛
�_
��]�u�Oc\�j�NX2?�t��`v�71S�k��SZ�S���ʑVه���'��V�V�
�A�z<,aP��
��,O�E
-i�z�Wz2SҪ���>�J-���K�MZ�ր��5Ii�4B���z_�}t��Y�2
�&�<�o�� ����\F�(�<A ��+\!Ad��q����ѩ
�W�F%z�)��)%�ۑ{w����ġ���/:a}�_D�Ea���sŋs&�O_�ڟ��xCpR���������<��M�<荭a
�9�r� ��q�c.oɦ]>&1p��\��P����m3EbWTYx2�Z���N���f�
�x��ɳڶ�c1D8G\�R����H�Dl,��kTir<��� jɦ�hLbD�r}�r=��
-���L������	�~a?�u"�A

�o
���r���4s����k�&O���u;�}i�;k��(�
�	3�뉷|պg� �QlηG��[^�#�֟l�
9q��%�)O?
��}�i�̈́`����
�R"�?�o{�f�4��ݾ牬Z�E�\-��ar3p
��v�g��R&i-�9�P�5kw��I���5��a�.�:��}��0����Gl�����}�
z��7C��*�
������C6�G
-�U��`[
-9<��t�ݞv���[l���캗ە?vh61��n'����*-�d��\��e��W���ݖS�k������ׯi:|���F�@�ݏ���?�W[���f_�
�5k���������
ZWh�g�e��n��
	�9d����h�K��LK��{��.~�s�A�c���N��bD���ZVendstream
-endobj
-4083 0 obj <<
-/Type /Page
-/Contents 4084 0 R
-/Resources 4082 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4106 0 R
-/Annots [ 4086 0 R 4087 0 R 4088 0 R 4089 0 R 4090 0 R 4091 0 R 4092 0 R 4093 0 R 4094 0 R 4095 0 R 4096 0 R 4097 0 R 4105 0 R ]
->> endobj
-4086 0 obj <<
+4025 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.5496 686.0393 270.1106 696.9432]
+/Rect [174.55 389.461 270.111 400.365]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4087 0 obj <<
+4026 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.3468 686.0393 353.8034 696.9432]
+/Rect [326.347 389.461 353.803 400.365]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-4088 0 obj <<
+4027 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.1017 686.0393 414.5585 696.9432]
+/Rect [387.102 389.461 414.559 400.365]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_f9af63978105e142642222864ce7c3be) >>
 >> endobj
-4089 0 obj <<
+4028 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.4407 674.0841 331.997 684.988]
+/Rect [272.441 377.506 331.997 388.41]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-4090 0 obj <<
+4029 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.5333 651.17 237.2186 662.074]
+/Rect [186.533 354.592 237.219 365.496]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_4ced0eee2a4a2c50779c2d01ef022500) >>
 >> endobj
-4091 0 obj <<
+4030 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.3416 651.17 411.7222 662.074]
+/Rect [337.342 354.592 411.722 365.496]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4092 0 obj <<
+4031 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.1938 604.3456 270.7547 615.2496]
+/Rect [175.194 307.767 270.755 318.671]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) >>
 >> endobj
-4093 0 obj <<
+4032 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.0538 604.3456 356.5103 615.2496]
+/Rect [329.054 307.767 356.51 318.671]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) >>
 >> endobj
-4094 0 obj <<
+4033 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.0969 604.3456 413.5724 615.2496]
+/Rect [391.097 307.767 413.572 318.671]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_6133c234bff425e6feac34cef06b74b2) >>
 >> endobj
-4095 0 obj <<
+4034 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 592.3905 184.651 603.2944]
+/Rect [125.095 295.812 184.651 306.716]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-4096 0 obj <<
+4035 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.3215 545.5661 235.0067 556.47]
+/Rect [184.322 248.988 235.007 259.892]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number_a7885d402d5653321f316029ca0af517) >>
 >> endobj
-4097 0 obj <<
+4036 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.1847 545.5661 381.5653 556.47]
+/Rect [307.185 248.988 381.565 259.892]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-4105 0 obj <<
+4037 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4085 0 obj <<
-/D [4083 0 R /XYZ 90 757.9346 null]
->> endobj
-4098 0 obj <<
-/D [4083 0 R /XYZ 90 510.2385 null]
->> endobj
-4099 0 obj <<
-/D [4083 0 R /XYZ 90 447.5627 null]
->> endobj
-4100 0 obj <<
-/D [4083 0 R /XYZ 90 373.6989 null]
->> endobj
-3719 0 obj <<
-/D [4083 0 R /XYZ 90 351.3871 null]
->> endobj
-4101 0 obj <<
-/D [4083 0 R /XYZ 90 351.3871 null]
->> endobj
-4102 0 obj <<
-/D [4083 0 R /XYZ 90 192.551 null]
->> endobj
-3915 0 obj <<
-/D [4083 0 R /XYZ 90 170.2392 null]
->> endobj
-4103 0 obj <<
-/D [4083 0 R /XYZ 90 170.2392 null]
->> endobj
-3916 0 obj <<
-/D [4083 0 R /XYZ 90 139.0457 null]
+4041 0 obj <<
+/D [4039 0 R /XYZ 90 757.935 null]
 >> endobj
-4104 0 obj <<
-/D [4083 0 R /XYZ 90 124.4754 null]
+4042 0 obj <<
+/D [4039 0 R /XYZ 90 213.66 null]
 >> endobj
-3917 0 obj <<
-/D [4083 0 R /XYZ 90 94.6069 null]
+4043 0 obj <<
+/D [4039 0 R /XYZ 90 150.984 null]
 >> endobj
-4082 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F97 1822 0 R /F67 366 0 R /F25 344 0 R >>
+4038 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F35 2013 0 R /F23 340 0 R /F99 2114 0 R /F97 2177 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4113 0 obj <<
-/Length 2014      
+4056 0 obj <<
+/Length 1854      
 /Filter /FlateDecode
 >>
 stream
-x��Z�r�6}�W�)��
,�NgzK'����f8�LۜJ�JQIܯ�7�LQ��fڌ(��b�{��R�cCK�Zjb�P��|@�7����z<���__
Ξ)9��*PË�‚bD���՛cD�'�R:z1ftf�0x1:Jgw��U?ŗY�ݝ�sM�p������2��o/~8{��Z �p.-:��Q6i��(nE��b����xҹPt
O�<��%̂�^�r��of�rYڽ[E��,̣�?/�kt��Q�L�_�I1)���wMD��K���矃7o��
-�Àn�
����Y�x}3����)/��&�8�*ɛ�Nx���
�vܴ%�1ӑM�0u`�E��s

-���6(Q��H��5�K��Y<���@�f�,V����e�K����
-$�f�.=]XK8S�w�[b��
nE����-��"�5|t��3_ Q\��v]n\���D�j��%VJV����b�Zq�;����]��ߩ��4Y�5
�˓�C��c�$aB�h���Ik�e�̪6m3� �#�&�
6��z�M��#��z
���fV�ፘT�wd�MD=�-S'Aw��x
��a��Gq����ӀB
�aִ�]$0Z�
-��P㼜�Ƿ��0ut�>趚(��R�[��[~��m�(��e��{�۫�Pk72)���dOL[��b���$��f(
�O��	Q-)��\�~sW6J%[
��YQץsO�LH"�6]��e��G¿��hu����b�mh"�!�{
e{�a<���<�a�ZD�8��r��P�o�
��u�~o�6X�/W3�̤�0SvϪ�}��l5��-��X�WPQA���橿?IkP��V�QE}g�	Rѩ�$�������!�Hjy[�^���*Nn�o��ӕ�H�uWWu�v�Q	@����`-a
���ˍ�)7�r#O:ݶ��)7�Qr��ȍb�{
@����� �0��Lu�!҅b_����e|�Yyג�
#��#7X�@�7��7�?TE+ɠo���q���Ao�Wo����l�Qs
-aL�f�%��G*]Z�N�%�.

7SR
FL���Ĝp���þ"Uԕ���K���뀒��>�������6�H �oI$���$��W(�|�˄��
�̡��-@!���>��V`dS��n
�ro��s3�I��нG~�c-�і9�J��E��
��$;x���nO�f��f?��
��/(�h�����1����U����4s�)�򴼴�u�+�����$
��vl
���.X�EA����4gA�,N�˻<Z�UJ(3U��nP�Oq�J
������
U�MS���;�n}�
-�*�v��F(
QV�Q�ʒ�3a~[	A���K\�+N�k���gz��b����t�ZĨ��[
��a_6{<~Kb���I��!7�q\�y��N�$���w�qw�g;�d�e�t3ɊF;�����>��C�
%-BMj2��k�Lk<�W��V�OĪ�|¦ЇX��i
&�M7��78>�L�}���O&8��\�bZ�EU��֟�]d�X��
dC��}��q
�m�X�Fk�;�;�������"��<�>��	"
�Kҧ)��S��$�I�T\�22Fd��D�⧬�
������G]g�Qݐ���@kF��d����6��z�|Xǩ�Q���Y���,'d /�5C�"�ϺY��5`:���f�Xѧ�Ui٭w�4
�Ux邃c?
JA at h�y����#�ia%��M��D)a>t�>�@�U�
ί��׵Z��A`t

��!B5�.����p�:�N6�"�&��U�� �=�6I��7Y����6L|㕔#�*�6NuJ���{��
��zԁ��(�2D3˚�袛e�L+t�N����.N�nu[��-o�ø���e�}洣J��a�����Ι��e�V�6�J
�N1H�WQ���^b+@��?�����ټ0Y{�<���F�e׍�6��gg�߿'�%Y%�"#q~�X��6��F*��Jܤi��K+��(���h�r�V��%G�D���
÷!wb���ߞ��endstream
+x��Z[s�F~�W�)3a��պ��6i:I7M��ad�& Q!⺿�gu,
�tR?ɫs�ηg/عq��K�a��d�FZR�
��Ǝ�	J��Ĺt	A�? c�]�`�O���]�b7������^'~r~��62����b5�������+B
+(U�1	�3���CZ6�(��a_q�y@�1!S
��-��FD��v
+~1��\��3?
�7�)�O<7���A]"���y���G@
vH0��b��{�Wؙ��7FL{�]6j�pj
�9z�pg�)CX�:���dͬ{���iG���x��Q�g��B?�
1��r)$����1TqB����*���"�����jh��,W������
�
RZu�~�j��`������P9Ȣ3�T O	Ҋ�(���L at LT'`A���S��6�Hj��	v%��|lN�s����q<˿Ӣ�T �29�#�l
+Š�L~_�k1����*�Ia�v��L�[�b�Hv16���HBb�<�Q�j�XcE�⨱��<��8Z���bX�azF�0
+��n| UO �7�-��1
��hڴ�c$=U���E$`W&�������+�*�U���D�/I�H���
�Ƿ~�� 	�	���]Kzt�D��(V�
�>B�G]P��m ����5a�n�B��%��ՠ���¿(�pj
S)����Q>=��m�"��Y��-���o�A	��
|`��'���
�-�e��}*��}"�;q1�E�yy���
��T����>
+���nW��K�AK��"�(b`H�"ѝ���2��c3�$L@�(9F��)u{@Bojw�����,�

E��!�
 �l�X��J� ��1��4eZ����-v�~�Q�Ʀ@���ގ&X�J�ϑ=
F����+��So�z�
]�z�^�s�p�~OF��ˢBkĈ�_��e��r;�(]wQ�m�l �g�Ơ
I�$S�5��gG���ض1q��Q�#��F�P]>����3K�B `�U���bO��3.�T'A
��\&9ʯ�����TN�(y�v7��N���y���ƴ{0��\>*�aN���-x�'x?�[
Y�{1�2tú�p���f�+��	�M��� )y���jol�.�Z�Nm�Av!ۃZf��4�M��eHjs]�
+A
+lH�2.6��G�t��
m#���m���^��
+I��]�x��'�nv%PF��ὶ4J�l��|?�jyBP
L���ff]/�h
`�>6� �ܶq��3g�"U�~!��,~Z�T��4�x#�ۀ;��Θ��8�a�C�Vf�w���Dԑ(����5˕W��nJ� �����$�}V��j�揦>K0rF���ɱ]�hm�
U�gj�(mU儱�{J{^l�S�@o
��U4	����0�
�0�+�M�!�GK��јƃ³�z"���h�>D#wl�Q��]�.����x �";��C����xo��n�Q�?�xFn�����
��'%��ј
�{gY����wJ����b�0x^7��"“�Y��e�fs��b��D"����R��59`B!n�| ?�ř
�U�Y6�eqnm�)��a�i����9w���A��yZ��`"��н�>i��q
+�J����B�)o
+y�j��_���:`�}kH�k7|���x匏Q�j�
+q���y�&��'��3�I�y���L!���KP���[]X�~}��{�����֡���V�+n

+��(v���Ղw�N��YW<�W����~]���2H��
���o�h�f��zF����1��Ef"�������{���ׯ�,P��3Dj��M�������
/�*
+	
+ӳ�bv֊ݚ�pT�aZ^/��IP�#�����'�_g�qS
+endstream
 endobj
-4112 0 obj <<
+4055 0 obj <<
 /Type /Page
-/Contents 4113 0 R
-/Resources 4111 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4106 0 R
-/Annots [ 4127 0 R ]
+/Contents 4056 0 R
+/Resources 4054 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4044 0 R
+/Annots [ 4053 0 R ]
 >> endobj
-4127 0 obj <<
+4053 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4114 0 obj <<
-/D [4112 0 R /XYZ 90 757.9346 null]
->> endobj
-4115 0 obj <<
-/D [4112 0 R /XYZ 90 733.028 null]
+4057 0 obj <<
+/D [4055 0 R /XYZ 90 757.935 null]
 >> endobj
-3918 0 obj <<
-/D [4112 0 R /XYZ 90 709.0878 null]
+4058 0 obj <<
+/D [4055 0 R /XYZ 90 733.028 null]
 >> endobj
-4116 0 obj <<
-/D [4112 0 R /XYZ 90 694.5175 null]
+3641 0 obj <<
+/D [4055 0 R /XYZ 90 716.221 null]
 >> endobj
-3919 0 obj <<
-/D [4112 0 R /XYZ 90 664.938 null]
+4059 0 obj <<
+/D [4055 0 R /XYZ 90 716.221 null]
 >> endobj
-4117 0 obj <<
-/D [4112 0 R /XYZ 90 650.3677 null]
+4060 0 obj <<
+/D [4055 0 R /XYZ 90 557.385 null]
 >> endobj
-3920 0 obj <<
-/D [4112 0 R /XYZ 90 620.7881 null]
+3889 0 obj <<
+/D [4055 0 R /XYZ 90 535.073 null]
 >> endobj
-4118 0 obj <<
-/D [4112 0 R /XYZ 90 606.2178 null]
+4061 0 obj <<
+/D [4055 0 R /XYZ 90 535.073 null]
 >> endobj
-3921 0 obj <<
-/D [4112 0 R /XYZ 90 564.6831 null]
+3890 0 obj <<
+/D [4055 0 R /XYZ 90 503.88 null]
 >> endobj
-4119 0 obj <<
-/D [4112 0 R /XYZ 90 550.1128 null]
+4062 0 obj <<
+/D [4055 0 R /XYZ 90 489.309 null]
 >> endobj
-3922 0 obj <<
-/D [4112 0 R /XYZ 90 508.5781 null]
+3891 0 obj <<
+/D [4055 0 R /XYZ 90 459.441 null]
 >> endobj
-4120 0 obj <<
-/D [4112 0 R /XYZ 90 494.0078 null]
+4063 0 obj <<
+/D [4055 0 R /XYZ 90 444.871 null]
 >> endobj
-3962 0 obj <<
-/D [4112 0 R /XYZ 90 464.4283 null]
+3892 0 obj <<
+/D [4055 0 R /XYZ 90 415.291 null]
 >> endobj
-4121 0 obj <<
-/D [4112 0 R /XYZ 90 449.858 null]
+4064 0 obj <<
+/D [4055 0 R /XYZ 90 400.721 null]
 >> endobj
-3965 0 obj <<
-/D [4112 0 R /XYZ 90 420.2784 null]
+3893 0 obj <<
+/D [4055 0 R /XYZ 90 371.141 null]
 >> endobj
-4122 0 obj <<
-/D [4112 0 R /XYZ 90 405.7081 null]
+4065 0 obj <<
+/D [4055 0 R /XYZ 90 356.571 null]
 >> endobj
-3966 0 obj <<
-/D [4112 0 R /XYZ 90 358.3698 null]
+3894 0 obj <<
+/D [4055 0 R /XYZ 90 326.991 null]
 >> endobj
-4123 0 obj <<
-/D [4112 0 R /XYZ 90 343.7995 null]
+4066 0 obj <<
+/D [4055 0 R /XYZ 90 312.421 null]
 >> endobj
-3967 0 obj <<
-/D [4112 0 R /XYZ 90 296.5956 null]
+3895 0 obj <<
+/D [4055 0 R /XYZ 90 270.886 null]
 >> endobj
-4124 0 obj <<
-/D [4112 0 R /XYZ 90 282.0253 null]
+4067 0 obj <<
+/D [4055 0 R /XYZ 90 256.316 null]
 >> endobj
-3968 0 obj <<
-/D [4112 0 R /XYZ 90 234.8214 null]
+3896 0 obj <<
+/D [4055 0 R /XYZ 90 214.781 null]
 >> endobj
-4125 0 obj <<
-/D [4112 0 R /XYZ 90 220.2511 null]
+4068 0 obj <<
+/D [4055 0 R /XYZ 90 200.211 null]
 >> endobj
-3969 0 obj <<
-/D [4112 0 R /XYZ 90 173.0472 null]
+3897 0 obj <<
+/D [4055 0 R /XYZ 90 170.632 null]
 >> endobj
-4126 0 obj <<
-/D [4112 0 R /XYZ 90 158.4769 null]
+4069 0 obj <<
+/D [4055 0 R /XYZ 90 156.061 null]
 >> endobj
-3970 0 obj <<
-/D [4112 0 R /XYZ 90 111.273 null]
+3900 0 obj <<
+/D [4055 0 R /XYZ 90 126.482 null]
 >> endobj
-4111 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F25 344 0 R /F52 341 0 R >>
+4054 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4130 0 obj <<
-/Length 1588      
+4073 0 obj <<
+/Length 1477      
 /Filter /FlateDecode
 >>
 stream
-x��Z�n�F}�W��p���
�m�H�"Mԧ�0���H�KIq���,o"%�d,�1A���p��3����<K=-5�\(o4�Q�/�ރ춏��r�_����Jz�XŔ7�J,( ����} �>PJ�o@�A<
.�
�G���p
�L>�A|�����p��5
-Ǘ�f�xp1|u���c�p.-:�쟧M*> %�[����?�L:��'�����Lg���j��4X,R�Áe�pv;
�az�mx����^��R9��߆ED��K�������
�1�z�pk�w�'
�̛���ɴ���wa'��<P7nx��c�P%y1p����-�����3���D
�Gvy΃�
�:<��g�{���j�i/������MƩ���(�/q'��ԅT�N)���
 ���w�x>���!:����;^V�����VW[hce���X�HI���}���݂C-��o������ ���@H@֦b�a�[y��㋴�d��>��>���bB$����.�eTӅ@�Ϋ�U1m�P&o0
���̑� ��q0M�|
0���L��Q��:��8��&�׽��DQ
[����*k at j��3�p�
R�̨#�
X����Yz��k����*��ݐgyN��Ƹ
�5FB�P�S�7gQ���� "��yEٟM\�A?�L��L,k�������,�i��P�G���u=��F�=�N�� ��%�Q߉��^K��D�DK��;�ƽf-qi��F��\�-5q���j>*����]NpiK-m��W{�8������Sؐ��7e�p��cN��g�R8�"+�z����n���J'�dF��0ao�+�ή�Ϗ�ez
>.��*_�d�%
�N2�c�jFs��'L��,�i�唊�����v�T\h�F΍��l�bU���Z�
;y
Dž��L� \,ݴ�F�=f1O�ż
��o�kQ) Rs�
\�l����<�^���W��������[0Qo�P�'Z�۟��!�Ա'̓�"'M’�}9��hG���
`�#��C�]<Y���`�����v�o�&+�o�Ί*�y��־�\<ԋ;j���xؔ\�rϴ��Y|�%Y`��
�M%J�a���f [...]
-N���5c&��6ER�aO0$�ߟ����"��fDAQ=*)��Ǘ����뭻�hF��S#K�]�_2VJ�h%�dM�x�|��|X(�è���*
-�;ou���M>,(��9;�?R
��bЄ��B���=}_j�qb�<�

-$����_ܶ��#�d���O�!
<�DBb����u��N��,�tR�}��)y�~?�v at I�ז�d��2D��b� ���1n�-��	4�h�q�8��3;�wz���v���E�8������|�u
-�ٙ
-�E�
DW���
��.
7C�Po�]
Pz����{�~����D�AR��vˮ{���������
-�j>���dyv{;=���>�ڦ��F[�T"�6h�\��*��Ƴ(�
-2^���ge��ո�?C��1endstream
+x��[o�6���+��XL�*�AQ`+��Y�>���،#TO��z�~��$[�"��]�Y�t!u��s��C�ؙ;����˸7z�2G!�R�_9
+;�K���Ϝ�>!�

	Ƹ6 �六?9P�O��������2�����k=�l*���Ut�������-![
P�!�\h>���V���`D�*k�
�
�T�.�
�u�d�Q���u��7��\Z�ぢ}
-B?���{}�'���)�"D�>���u���G@
vH>`�C
�4�_`g��91%�ۼV�pj::z�p��S��+6��"��@Vv��C{�mT����=[/t�G����_N�^�:䄹�3�:�q�����t=Y��i�h1��pR���r�饑�
)���Ÿ|�O�x�Y[��w
�(~����D��WU�� �#%IY�'E
QjI+c��������x��(��4��!F%���Vi\ �]$�Ʊ��l�.���Z*�M�v>��,
+���"г��SF�� Ժ-��
+�a���IDw�F����
#Ns�8�ɉ}��u`$�"nF���12m�/��Y��h�$Q�����e�AE�^�.��Ø�]L�.�d'St��^LQ`��S)�c��Qn_�ől�tP�4sD�9
	�OGB��<m��.�r	��V����
�+����>�d��M�[{��3�����d�S?Kҟ,�L����xę�֏�_�W%��=�M�
^��
�
Isz�rb/yـ���|n+4��B��$6!�"�����_w
+�,Ƽ���fŗ��C��R�3�#RD)3Qj
O��v� %²�^p���7Ƴ�`fE˜%I:��i0�m�;�烂CN�i\k�r��N%J N�Tܣ.G.x�w坂"��z��s>�e��44�apekZ%w+=B?�}0�e	b�RH��i���P���U���IQs�j�d�E��M�
+���\-a+k&L��?%
:,��_?*�;��'2�����;�jR))Գ�2��G��Q�(�g7���K��#�x��=ʸ�ލ2F�Tab̋�C
�s�
b��-!�TR]�H%�1������$��t��,-#?
 |�l�:����?2�"Hk\Sz/={�^f�J�
�<"���D
s���\�
	&;e
�������=
��#;KW�%���c�KV����V�Ay��M���DߵZ�1̟ʊz�d�ua�;�*�5�O���%],U.
<�wCb�w�*�
Kef��7Z��e��m���FR��U͉�z删�'	ʣ�`�
��7���͒R�#���h�3�&WM���FܺKvj[��-�Surh� �k��}���@=���dq�H�|[��_�˙�9�U<�G��cq��>|\��G��0�~�*�
@n�(�.��P#p=�H5aƩ�`� �Z�Z�>;����j�NSlҕ�鮳lq:��ޢ���`�� -�6v;�;^��UR�#J�j�
^F~
�c�� �=�O
+endstream
 endobj
-4129 0 obj <<
+4072 0 obj <<
 /Type /Page
-/Contents 4130 0 R
-/Resources 4128 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4106 0 R
-/Annots [ 4142 0 R ]
+/Contents 4073 0 R
+/Resources 4071 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4044 0 R
+/Annots [ 4070 0 R ]
 >> endobj
-4142 0 obj <<
+4070 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4131 0 obj <<
-/D [4129 0 R /XYZ 90 757.9346 null]
+4074 0 obj <<
+/D [4072 0 R /XYZ 90 757.935 null]
 >> endobj
-4132 0 obj <<
-/D [4129 0 R /XYZ 90 733.028 null]
+4075 0 obj <<
+/D [4072 0 R /XYZ 90 733.028 null]
 >> endobj
-3971 0 obj <<
-/D [4129 0 R /XYZ 90 691.329 null]
+3901 0 obj <<
+/D [4072 0 R /XYZ 90 691.329 null]
 >> endobj
-4133 0 obj <<
-/D [4129 0 R /XYZ 90 676.7587 null]
+4076 0 obj <<
+/D [4072 0 R /XYZ 90 676.759 null]
 >> endobj
-3972 0 obj <<
-/D [4129 0 R /XYZ 90 629.5548 null]
+3902 0 obj <<
+/D [4072 0 R /XYZ 90 629.555 null]
 >> endobj
-4134 0 obj <<
-/D [4129 0 R /XYZ 90 614.9845 null]
+4077 0 obj <<
+/D [4072 0 R /XYZ 90 614.984 null]
 >> endobj
-3973 0 obj <<
-/D [4129 0 R /XYZ 90 567.7806 null]
+3941 0 obj <<
+/D [4072 0 R /XYZ 90 567.781 null]
 >> endobj
-4135 0 obj <<
-/D [4129 0 R /XYZ 90 553.2103 null]
+4078 0 obj <<
+/D [4072 0 R /XYZ 90 553.21 null]
 >> endobj
-4019 0 obj <<
-/D [4129 0 R /XYZ 90 506.0064 null]
+3942 0 obj <<
+/D [4072 0 R /XYZ 90 506.006 null]
 >> endobj
-4136 0 obj <<
-/D [4129 0 R /XYZ 90 491.4361 null]
+4079 0 obj <<
+/D [4072 0 R /XYZ 90 491.436 null]
 >> endobj
-4020 0 obj <<
-/D [4129 0 R /XYZ 90 444.2322 null]
+3943 0 obj <<
+/D [4072 0 R /XYZ 90 444.232 null]
 >> endobj
-4137 0 obj <<
-/D [4129 0 R /XYZ 90 429.6619 null]
+4080 0 obj <<
+/D [4072 0 R /XYZ 90 429.662 null]
 >> endobj
-4021 0 obj <<
-/D [4129 0 R /XYZ 90 382.4579 null]
+3944 0 obj <<
+/D [4072 0 R /XYZ 90 382.458 null]
 >> endobj
-4138 0 obj <<
-/D [4129 0 R /XYZ 90 367.8876 null]
+4081 0 obj <<
+/D [4072 0 R /XYZ 90 367.888 null]
 >> endobj
-4022 0 obj <<
-/D [4129 0 R /XYZ 90 320.6837 null]
+3945 0 obj <<
+/D [4072 0 R /XYZ 90 320.684 null]
 >> endobj
-4139 0 obj <<
-/D [4129 0 R /XYZ 90 306.1134 null]
+4082 0 obj <<
+/D [4072 0 R /XYZ 90 306.113 null]
 >> endobj
-4023 0 obj <<
-/D [4129 0 R /XYZ 90 258.9095 null]
+3946 0 obj <<
+/D [4072 0 R /XYZ 90 258.91 null]
 >> endobj
-4140 0 obj <<
-/D [4129 0 R /XYZ 90 244.3392 null]
+4083 0 obj <<
+/D [4072 0 R /XYZ 90 244.339 null]
 >> endobj
-4024 0 obj <<
-/D [4129 0 R /XYZ 90 197.1353 null]
+3947 0 obj <<
+/D [4072 0 R /XYZ 90 197.135 null]
 >> endobj
-4141 0 obj <<
-/D [4129 0 R /XYZ 90 182.565 null]
+4084 0 obj <<
+/D [4072 0 R /XYZ 90 182.565 null]
 >> endobj
-4025 0 obj <<
-/D [4129 0 R /XYZ 90 123.406 null]
+3948 0 obj <<
+/D [4072 0 R /XYZ 90 135.361 null]
 >> endobj
-4128 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+4071 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4145 0 obj <<
-/Length 2230      
+4088 0 obj <<
+/Length 1589      
 /Filter /FlateDecode
 >>
 stream
-x��[[s�6~ׯоd�i�vp���&�^7ۨOٌ��[�$:����=�M���,;IG��xp���;�  �R����]
�X!Uw<���%>������6+�{�9{��k�U\u��R	��w��7=ƈ������h/����U��^4��
-'q0�yz����wW��OW)��~]�/¸�v���K�6�\!��BN��Y���.��k
�Z���
�
-i���G���Y��׾m��,X.3�þ�p~=
�0{�[��g�.���1�=�	���怃P������-�N�;�k��o(*fywޑ\7�����J9YA��o܀�6��
-D9pD��%E�v�3[�fD4���&w��"��@q�.�<�.ղ��b���
��k�8ӊ��L�ru1��f#
���"{�
-��2͈tP�![5B��
H&��Lu�*�`i�ھrC�Y�U�)�ϲVo�`�AY��#Ck�
-8 `Yo
-�	�cT�
2�����#�����-4MO�T3�5w^
p*��� ;H�O��s�ˈ��G� F�V����u� 5���M
:����j�썆e��?�(.e�ƿ����hyZ��pS�ɭG�!R���*��>�^0[�
�_1��
�7�.9�� J(��AA�r��(
-�j]�� >`�[*P�@0��62V�I�Z�d��"�U��}�
d,5g�d��/Ǔ5���f�Sm��r��{4�h
;���*-��] �6�Cm���"Q�S:VBT$�lKE؊�
�
M
|\
�#.x
�	ք@�r6~T�a��Y��
,�9)�d at Y��:2����hba��—q�:�����|
-����#��2���;�r�s
�|���,&>)
-aT�A��]H�-��Y���5
`����yv��5P3`�jjɊ.K����d#5��I���Q{vVSZU��
�y�0���3�nT4���&�)�c"��
��
�
�J"�@D����^6E���[5�[
�oq�~'

'�U�~gN(����v��
-��3Y��2��8�ea�\��2WB
�Q���%`�)���k�,G:�w�O�amjN�e�$�ť/��

-C�*�=L��I�r5���*��\z2I�	UL�d�ɩ�Y��
-�*���
P��md~̄}�]n+w�񝇿�+(���,�	i6m�A�y�|U�4_����Y���UnmC�"��
�\K��|����^����a�p�ݒ�O���V|t�WO�ꗗ���'_����
�W�dz=
�|!v��rQ�Sf�T�*/)�G$e!�

!�LU�Rv���bw��o�q2¸ެV�Oªj`�6�v�La{�|�%|
-�~B���Őj*c���
-�y,�Cv1h�� ����uuF�cf�I�8Z��1�4JV�%b
-ơ��*
\�
�p�
����k"�<r
�
��D�}��~%�p��!�������A�2���i�R�N\�'�I*�E�ܺ���:,zt^Φo�EF8�a]-&!&
|N��{�(Պ&k(z6��\�"J�N|[zJ��q��>��o�f��M�G=
-���,�\��Q�m8
-��|���d��>�0�
��A�l��׬�d���6�ohGJ�#.�r��/n��b��~C -��O��p���*���8��:
�
݂���������t
-zC�*�C��.�^
�qiXA�����"������W�M��j�؊���_�$��Ӊ5�o<ژf�&�E�j�Đy�`��'ܕ��ۦ���T��۬�={v@�tI����#F���8 jχ5��8�oP'�5Z�W�
���(����>A���
i@@�����㡙�'d5�"	c�
0.�msGpE3�l0�Q�
FG 9�]�q�D�7����
���]�NC�
\��='u�tЄ��pIV#�r�%�@?1�&wU�� ^��~z�'z?����O������;7D����w���;j+0u������
/N
b���1�G�B
-�ڥ����]�r���)�/?pgF��z���cQqy��X�ϟ�ޣ\�򻐭��� ��:��m�A ��f*t�̲�?���&���P�����-���2�����6�83��}��t=�W�~	%΂n��0^oq��4;:���^��64\�^�PV�g���Ӻ��
��7���Fow�>_%����ه�xIV��uL������l[/a�P�m��
�J;�T�FaP�1Ӧ.�
-c�Gq�^����Ŏ	���<���K�endstream
+x��ZYo�F~ׯ�S+��z�#H�AS =�6�S�D�BtU��(���Z�2ͥ
)uc=Q$�3;��|�3Z
�
���q�9%Y`��T����@I�%�`���d�O0��7=���j^��Q�]L7��h^�:�\��ͳg/���;(]���]F������W��P�c�o�?wC*s Qf����ݳ^�
+;����pS#�D
�>{��rƱ�;�ڍf�i�D�ɟ�L��n4�#B�����O��?
bp@��	��p�y�
#x�:��
�nG�N�Ħ���
�>eKQ���8]�$��]�5}�	U�#�mO6�h
ά����pq �]�]#䄁�(�\�lču��d�dϣ���d<w�
�ʉ������D%����GA��
�,12"�
k9��4�
�7ˆ���X#f�I6  !阊�4�m{���S�޻��F�E�(�N!I���-��'��#���4+�5�2�c����Q���'�a2Y�Q�}vFJ ތB��8:99��tt���u.�q�\�
<؀��$/�Z\^��:i�I��9r�'�Qm�����
�",�
���
BM-�y�
�7��
���T�i?oh�<~$���
�
/�o�=x�p�	��ނ7L
oh��D��N�����:�d��(�t
�%�:<;9��t�S�<x��N��}C„�5�|���%gH�gK~L��xK
̑ܕ�1�!
+A�u&RtJ�����b����!E5�!%�i�l)�["�;{�FS�n�
VdS�Dً:
ɩC˖�a������ܡ��C��
�����ŀ>
�yl�O����}��ŐV�p{'"�<zs!�т8��d��̾~��]R�i)��fuH`@3�ǧ�0G�_-�c��["�˙�T�yvq�W¾Ф8%"����J��l"&�3ߔt���D�'"�G/bN��GG�;��J������w�b_
*��!���b�d�C
�<j���JS��W���x
�lj�8$�``t��μW�����x�
�.�p1�e=�����$^�z
�J�6��e��sV
�:)PT>jnn�S��S�����	b��^�ܥ��C�����K	�ņ��f+�9����l�ggɑ(���}�ի0�I�1���Z�}hYIՎ��B���`�ݡ!�<4�
�^�~�c
}�v'52(*h!5�e�t� 
�v��,JAV��:�����f����7��@mĸB攔�r��q�$������҉�
��I%>!�zx�.�u�����",���"��[6N�w���D#&H
���x+�{w�X��Lo3��'E�'�ֵ{!�5�z�VH�J�z[����]�J����T�k�T�4
Ί*���R��F-��4'u]��ԩF}�5�#��@%�h_�
�Q��d�i֥��z�L�Ӧ?�	�D���,N��ٻ���F���!���nP%A��p�0H�t2�@zcO��c��mv��ݦ����_q���'D7]����:��ߖ4o��h��0��Y/Wa.����(J-u�}�_�t����!Rx�u�,�����ޢa����r�&��r9=�`�c:�m�|1��
�l�J1����83\^�
��?
+endstream
 endobj
-4144 0 obj <<
+4087 0 obj <<
 /Type /Page
-/Contents 4145 0 R
-/Resources 4143 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4106 0 R
-/Annots [ 4156 0 R ]
+/Contents 4088 0 R
+/Resources 4086 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4044 0 R
+/Annots [ 4085 0 R ]
 >> endobj
-4156 0 obj <<
+4085 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4146 0 obj <<
-/D [4144 0 R /XYZ 90 757.9346 null]
+4089 0 obj <<
+/D [4087 0 R /XYZ 90 757.935 null]
 >> endobj
-4147 0 obj <<
-/D [4144 0 R /XYZ 90 733.028 null]
+4090 0 obj <<
+/D [4087 0 R /XYZ 90 733.028 null]
 >> endobj
-4026 0 obj <<
-/D [4144 0 R /XYZ 90 679.3738 null]
+3949 0 obj <<
+/D [4087 0 R /XYZ 90 691.329 null]
 >> endobj
-4148 0 obj <<
-/D [4144 0 R /XYZ 90 665.2304 null]
+4091 0 obj <<
+/D [4087 0 R /XYZ 90 676.759 null]
 >> endobj
-4027 0 obj <<
-/D [4144 0 R /XYZ 90 606.0713 null]
+3950 0 obj <<
+/D [4087 0 R /XYZ 90 629.555 null]
 >> endobj
-4149 0 obj <<
-/D [4144 0 R /XYZ 90 591.9279 null]
+4092 0 obj <<
+/D [4087 0 R /XYZ 90 614.984 null]
 >> endobj
-4028 0 obj <<
-/D [4144 0 R /XYZ 90 532.7688 null]
+3951 0 obj <<
+/D [4087 0 R /XYZ 90 567.781 null]
 >> endobj
-4150 0 obj <<
-/D [4144 0 R /XYZ 90 518.6254 null]
+4093 0 obj <<
+/D [4087 0 R /XYZ 90 553.21 null]
 >> endobj
-4029 0 obj <<
-/D [4144 0 R /XYZ 90 459.4663 null]
+3952 0 obj <<
+/D [4087 0 R /XYZ 90 506.006 null]
 >> endobj
-4151 0 obj <<
-/D [4144 0 R /XYZ 90 445.3229 null]
+4094 0 obj <<
+/D [4087 0 R /XYZ 90 491.436 null]
 >> endobj
-4073 0 obj <<
-/D [4144 0 R /XYZ 287.7769 370.6963 null]
+4000 0 obj <<
+/D [4087 0 R /XYZ 90 432.277 null]
 >> endobj
-4152 0 obj <<
-/D [4144 0 R /XYZ 90 355.0187 null]
+4095 0 obj <<
+/D [4087 0 R /XYZ 90 417.707 null]
 >> endobj
-4074 0 obj <<
-/D [4144 0 R /XYZ 90 307.1921 null]
+4001 0 obj <<
+/D [4087 0 R /XYZ 90 358.548 null]
 >> endobj
-4153 0 obj <<
-/D [4144 0 R /XYZ 90 293.0487 null]
+4096 0 obj <<
+/D [4087 0 R /XYZ 90 343.977 null]
 >> endobj
-4075 0 obj <<
-/D [4144 0 R /XYZ 90 233.8896 null]
+4002 0 obj <<
+/D [4087 0 R /XYZ 90 284.818 null]
 >> endobj
-4154 0 obj <<
-/D [4144 0 R /XYZ 90 219.7462 null]
+4097 0 obj <<
+/D [4087 0 R /XYZ 90 270.248 null]
 >> endobj
-4076 0 obj <<
-/D [4144 0 R /XYZ 90 160.5871 null]
+4003 0 obj <<
+/D [4087 0 R /XYZ 90 211.089 null]
 >> endobj
-4155 0 obj <<
-/D [4144 0 R /XYZ 90 146.4437 null]
+4098 0 obj <<
+/D [4087 0 R /XYZ 90 196.519 null]
 >> endobj
-4077 0 obj <<
-/D [4144 0 R /XYZ 90 87.2846 null]
+4004 0 obj <<
+/D [4087 0 R /XYZ 90 137.36 null]
 >> endobj
-4143 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+4086 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4159 0 obj <<
-/Length 2339      
+4102 0 obj <<
+/Length 1725      
 /Filter /FlateDecode
 >>
 stream
-x��[Ks����W�!��Ѽ��C
�k
g��eN�-DBl��pe�ק3�����r�t� 4�{��uO$
d`�@	�
�r0[^��-\����c�?n�mzq�Z��AFR9���
$A�:��?	Ar4&���äX&W�F���]:/����")
&�o���/�(�_��,��b�i���kBZ(U�1a@!��kG�с`D��b:R|��hL�U���
"��A�P���Q��,��t|�#C��r�H��]y�ހ�D��
."�m�^|;m,�
.�$֞�^|��s0��1���
N0(f�`y�)
'���j���1�	�Nq
eK��!��ޫ���
�9Hf��#
-)��e��u�J�`!�pJ�QZI�wo҈8����:
-װfG��*�^�Won"�8EX�M
^oʫ�I��(�\��Տ�U+p#"�A�Hy���>�1�0�� b	!�����֞�dR��,6`RN��ի3�@�AT1޷��RAl�q)!x�ߎ���?�,��h�NW�����([��6)�1
2��#�� ��(�_#�C�����P��
��
G�Hs�_��C�u�/"��F�`s�- 8��:-�*�����C���Y�*+��
_�JZ
-S�	�a�!�����c�9�a��"��eP�Rۇ�T;�K��D�������G������j9& �������(���]��1�C�
�?�Ү%�T�R!�/+}�/���q+�Q���c��:�
L����	� 	{�N��!
�V��e#�u�,�����<�~�߹~ȗ��R?^��K�8a���8^9�+��L���zL�/#|EBa�W�Jҧ)
^g�q�����CV��HXW��0[U�Ô@��xZ��%my��6k�j��`�X�=]j��
�����jS���9�[�;}��$"t:�t��$ ��ž�F���0O!�����C�w��]Z�m޳�GT�b\����1b���;�5�R2C�tD��v �@�g{����Ȼ��:/�a���t־�x�8��)�
-5����D�
Ğ֯?��
�-��)��h�x ��nዡo3�Y:�ѭ�"/��Y�����n�avn#����w
J6b���V��h1m�y ơ7��Ƕ\�&�����Bo{�X���M1����'  ��c��{�p�tUR
L��JS0����1�L
{�}��L�5 �q
���渴��ڨ
wkԆ���WF�D�
ы�l����"�|_Wd{E�y/ Q�Y�
�6�k{Ӷ�S
��	�뱎B��)���?�Ěg�{��
���E�f)l�0��i ���y�
�%ؗC�u
�)�!���"޹B��̙�+��[l���r�[�+��d����N Y�;Q�cv'�lG�2"VîR��Q)Pβ������a.����>﷛eZd���6C�b�T=K�������YV�q�f�r��������gE�1,� ����y �m8�?�x���A��U������
-m]k_�C�����0�4���=*#*xk?b��W��3M!�!c���:����!�燓��@
�P7;Oʓ���I!ٝ$WZ��?B��s�[��}�̀�@�쌀~�hw�臓'K
�Ȫɞ�jꗪiN�j)6��VMYP�
�ҕ���摃�e�.�
�5Y� ��^����:	
|�r�����5�f웭�o6+hx���`Q
�	��((
F�?
D�6��'�� ����ʽU�%
-9
-=~9ٕo_�(FIT�=E�}MvSٷ
b�u��tH&&�n��o���v�@$/3�+���& �KV�2�>*���2���5�ڥE�g�@�dV�,I��~��j_�Y &�$]��78 �2����{m�e�U�kM�uztl� i��k�?�%�v�謾��Ҳ��,����15'`%-���E�g�@ւ���C��
T�b�Ʀ��5ԃ�Xn��|�vmw�ϓ�z���� ��#7�H��z@�m!o&!��>���rˮ��}�2'�.x`��F6cl�-X��=5����.�l#(I4��}V����"�e%<V�an��&�O`
75�#�i���pJ�"/& �j(�
wѥK�׃�퓳*K��<)���t�B�4�4�AxT������J��q
z�d�/�
k���E�΋*9��3�~ǎ�1D:8=�S��G
R�WM��QQL�O�u��O��
�?`��
��������L�?�nכ��ɪ�\Ƣ�w�����b
\6P���t�4T�L�@��/���?��l
��p	�Z���k�|WU������=��h���ʪK���]��Md[�
Ǎ�=]:�gZ"e��r��,��	o�1C�C��u���_��.�endstream
+x��[[s�F~��P_�<C6{�6̴(��'`<��IDmɑ���{ֺ�r֒�.��I'g���v�]�:�y6�u48|*����T:�GaǓ	J���y����`���C�� ���C��x�<��$�
�� Y

=>ӓ����_]̏u2�0zq����(�c�_����l Q�J�������Ƅ���di��"�����U��Y�����PQW�� ���7��'���	<"DP��(
<
��`��&<�1�L�w�3��/
��򝫕����6s�����S����#��*2��&^w��0
k�*��+߳�BG�
<c���p!&����1�q�<�1�Qvi�#��n�)�d�ih
^�!�i���

ܩ��'����'QA
�"RBl��/[�Ja�RVBU�r	%���+�O
G��`�P؝
�Gi��-
`�G���ڰ��ai
C�)U|�N����&1�ך5`dU��-��=Q
+@?�Bf+�>���]�
:L?�oF%��<$)�����E'��:x�-�|ĥ_
+@�R�^�S�Zt1��:�K�2��o$�`o4g�E/g����Ffg��_�Y��,��O�!��a�J�{
+u�zPz��qT��%
#H|��5{�hj�"!㍑�
ȫ"@�Hl	n�G��,0}ƅKa׋h��cL#=-^X=#
���r���.�GqV��T[�K�F;��
Q��w���u2|��	}n��\���w�ԉ7Kb�tE���iFJϓ�bL�;c
+�0#m����	)]:�k�)��
+����w����>9k��N$
+�/�*�[x�B�yB�槭!h%�/�
@I�:m�Ҏ�
Q��ᳺ��� 8=���e�Yc
+��o�%����g�%�i8#w�%B
+wD�U�b��o��Vu�f�[�I
����*���Ʋ��z��_Y>u_����d��a�!����!*#FĢfX1��gX��"}t��2�]@<9��{{x@�B�k̯i�u�ٳ&�'���t�`~�����n`,�e�l3ַ�����WE��G�2�5��"��#l���S!�>i18[0�q
�,���4r�(��/�n�� ����{��
R3�a�V�`f��Q&�M���څ�0�_���Q�u2z
1
�e=XC!� ���N�Kd�J�b;��;����c{��_��۩Ky��.ڰ�Ilk���-L�^������
»�὇���[�J�O�w���� ͧ���O;������D�?$�7���B_<Y1G���6���G�:�飧��>�%܀8E������;c�d���hf��V����
zz���A����A������.7����B���sG�
���G�~iaYZ4��~������OW��E�G�h����{Uo����k_
+�����p����X9f��_�'�$�������4���*gv�R�`P箻}c�!i}��FgI�Z�����S"ƹ��+,�2�p\SP{�-
+<��ʽ�][/I����V���iE��tv���P����Ωx��F�ì��r�w�o�
� Y����Y>�$��mqZ�.�d��l9��UG��OFI)�w=�:
�=�/D	���[��_
�Q��<�����S��l����ATM�M+��$�
�A��"ф�V@ ���o�.<����)��}����h�"�b;˲���������"
+	
+���bvX�ݖ�f����N�����+
��8����Z8
+endstream
 endobj
-4158 0 obj <<
+4101 0 obj <<
 /Type /Page
-/Contents 4159 0 R
-/Resources 4157 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4106 0 R
-/Annots [ 4169 0 R ]
+/Contents 4102 0 R
+/Resources 4100 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4044 0 R
+/Annots [ 4099 0 R ]
 >> endobj
-4169 0 obj <<
+4099 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4160 0 obj <<
-/D [4158 0 R /XYZ 90 757.9346 null]
->> endobj
-4161 0 obj <<
-/D [4158 0 R /XYZ 90 733.028 null]
->> endobj
-4078 0 obj <<
-/D [4158 0 R /XYZ 90 679.3738 null]
->> endobj
-4162 0 obj <<
-/D [4158 0 R /XYZ 90 665.4118 null]
+4103 0 obj <<
+/D [4101 0 R /XYZ 90 757.935 null]
 >> endobj
-4079 0 obj <<
-/D [4158 0 R /XYZ 90 606.2527 null]
+4104 0 obj <<
+/D [4101 0 R /XYZ 90 733.028 null]
 >> endobj
-4163 0 obj <<
-/D [4158 0 R /XYZ 90 592.2907 null]
+4005 0 obj <<
+/D [4101 0 R /XYZ 287.777 663.906 null]
 >> endobj
-4080 0 obj <<
-/D [4158 0 R /XYZ 90 533.1316 null]
+4105 0 obj <<
+/D [4101 0 R /XYZ 90 647.802 null]
 >> endobj
-4164 0 obj <<
-/D [4158 0 R /XYZ 90 519.1696 null]
+4006 0 obj <<
+/D [4101 0 R /XYZ 90 599.975 null]
 >> endobj
-4081 0 obj <<
-/D [4158 0 R /XYZ 90 471.9657 null]
+4106 0 obj <<
+/D [4101 0 R /XYZ 90 585.405 null]
 >> endobj
-4165 0 obj <<
-/D [4158 0 R /XYZ 90 458.0036 null]
+4007 0 obj <<
+/D [4101 0 R /XYZ 90 526.246 null]
 >> endobj
 4107 0 obj <<
-/D [4158 0 R /XYZ 90 386.8894 null]
+/D [4101 0 R /XYZ 90 511.676 null]
 >> endobj
-4166 0 obj <<
-/D [4158 0 R /XYZ 90 372.9274 null]
+4008 0 obj <<
+/D [4101 0 R /XYZ 90 452.517 null]
 >> endobj
 4108 0 obj <<
-/D [4158 0 R /XYZ 90 331.8161 null]
+/D [4101 0 R /XYZ 90 437.946 null]
 >> endobj
-4167 0 obj <<
-/D [4158 0 R /XYZ 90 317.854 null]
+4009 0 obj <<
+/D [4101 0 R /XYZ 90 378.787 null]
 >> endobj
 4109 0 obj <<
-/D [4158 0 R /XYZ 90 270.2267 null]
+/D [4101 0 R /XYZ 90 364.217 null]
 >> endobj
-4168 0 obj <<
-/D [4158 0 R /XYZ 90 256.2647 null]
+4045 0 obj <<
+/D [4101 0 R /XYZ 90 305.058 null]
 >> endobj
-4157 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F25 344 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F8 523 0 R >>
-/ProcSet [ /PDF /Text ]
+4110 0 obj <<
+/D [4101 0 R /XYZ 90 290.487 null]
 >> endobj
-4172 0 obj <<
-/Length 3638      
-/Filter /FlateDecode
->>
-stream
-x��]s��ݿB����N4�^��4�^���&mܼ��
-�6'���T|���wA|�@R����"�%v�_�],�
�?��h&�LR��l��B�{��
-��Kx�
����~+�,MRA��殝A�Lf7���'b����7
��Y��~�fAм�
�u�����ʪ���o
��O(_�����ͫ�7__��8@@�L(�)�����рQBh�,��B���ŒpMB��X
#3�4�)���?MN�f�յ��f��y��o�&7#���|���nCs2�<Փ^���s�2�S�5?���4[㿾B	M�=�
�R2�^1B����۫�ỹ����8��qr"8B$85l{(�☜�
v��(w�.kXhc�Uy�.v��F�33�q�/뺸�
�H��|���w�|
O��
U�5W�Cn.���_��]7�ok#C�Q�0������@�ĔÈ�
-��\ӹ��Ԫ<����%p
�J��Ҽ��w3+�z����|mn���0G��]U�6-�zVYA�����.���E�ׇMc�Ɣ%�Qg!#�T„r�8�[��
V���
���!lU��l���}UJ�)K
�"��L�N&�0f������.�>�죝s�)���d�٫�*#
�w�#%�J8�tЅ� 疀���ĺy4�᧸0���(F5��$EB��O)�jo�:��
��֬�[�cN�ӝ�^`J��SE�R)P�"��d����|. U�S1 K)#���[r�RkS�$�()
���N��1�3֙˻{>&n
5-�t��G�zYH;�Ru"_���>5����w��

V6�@�.�� P
-׆���$&>���)�����D��3��t�"�I*����f4�n?��`��I F��
4����l

7�y������
-}4J��Z���2��,
���a9� 2Xf
*g��H�1`��*��K�!Y/;c�u+�1�]Ҕ�@�ͥ�	5xJʗ162q�=m�N����8ך��@��
�L�u�1� �Js!@&C)�!��q`�^d
c�F��z?��mU��Md�p�]���M5� �;	��Lz���q�|�s��<��Di��LG��Sر �
_0">6)�Q���&�:���z�A&�O�y���݊O:�]�w���R�EeIx�n�ײ�3#�A���uС2��#

s/a a���Ĩ�,��È���ȆC���,�5I�a)/��p`B.��vCD��G���{\Az���F<�����^p5l:���8�i����8^o:!^o: ��t�7
}�MG�j�(L�6��!���t�]�tNT�)������u�^���4C/��
U��†!��K��
�j-�-As!��"2-d�,!)�}#=[q�Z�)q�ED�y5�Icl�Z3�杜 1�D�NMX
e��b8�
�,ƁM[���b��z�	�z�a��[g1����Z������v�r���f~ݘ�؅҄�g��� �#uA/�&0N�zK���Y¤��Ж�5mc"�"���|Bѷ�6�'OO����6�l��!G��L�c	گ�;մSCq��1N�.�  1�� c����Mw
c`��x��x��6RELɎ�.j��Z��õ��ͫx��o���NL
��J���z���=��C�*����Ϛ�|
�e�
7�}|��Br����/�lw����1S�h [...]
�Vg{TDV���K�5�n'R~�ҥ-����\��K�Q6�ʁR��Q~��
��_��$>��'X�JɅ2W��"r0>y�z��SV�5+�o���˕CХ�
�
&��E˿�j�����A�^?�}bP=�
X5���.=���W0"쓗
�+�
ɳ�6���B�MtU�֫���zx(�@�	�L�2�
 D�#��m%L���8E@���be�`��a��虥?�L�
H�}T�*�B�.�/�D1
��#VI!��􉬴��
ґ�2��-�}fN���.��ײ�>�
��c��q���Ǫh�|g�%HY(
9X�ŸyJ
��a�&Om�ڮ$�u�Ϯ! ||h{��N�mo��C�
��6;��s��]���
2
%���^I�gu
=������_��׮��'��ƻނ���������u��AL�>��=~�h�O
-{�O�|B�~I"g+jǒ;� p�WF���2�"����eH$+���y��d���	�'�2�Ey4ú�����B��<ڃM�ѣ�<z�ˣ{x}������߲5$�[w|��܏1�ЕRA��E'�+Eݵr8������/�<y�E at i|j4��xP�Oۧδ?�m����I\0�
lR3F1v�1��iFo[�he����v��!����0͊1���%B��.�5���=��z�ˁ�DB����������/�%�b2�"�ꗟB�i�1 �CWB<m���
�t,��5x��g�.�M�($�U�� tr��fG�p�2x���� �3M�m�s�
�%���jw��6(\'^�z�Z�{�/��U��\��a�� ��S�rW�V�X
�m%�?͸{>f�jڈG�6<�ԛp����>€W������'N���d�ܻAw����u�<mR��l� �p�Qg
-���cR ������0�1�8^/�o+
-!,�‹�[v¯a`v��0�
�0�Z��7/_��z
��7,j�{[�֗���֩�p
��^�5cwn�r�88
�b�F���F��fw�
̮���XYe0ْi�qo��e՘&�����&�6�s!���y�I�����^�s=���9T.x�m�>�p
ħ����`���DP}?a��э����Pj��5����@�x�(B�],���R1���-0��v���:?����P���RϨG��!|������U}�*��
���A��J�
�L���Dn�4�"0t_ezs]0����V)�3�^�^�X=�<��ѷ�.[^�2
��Du�7
��� �I�#K}ص2�
���6�/�Z�h
�"��$XE����uV�v�Y�[V�h�
��I�_����M�>� ���Q�o��M��MU���Q�=�Lԥ��
ޫ%��-��X�[_-�aȺ{��=0#���
;q�3�%�ti	F�
� 
->Z#��
�
o)8���~v(��y["�۶Dt��]�9��M�-l�
�
QS$���L�Nj~:�*{�
2��/I
��,��_����ׯ��׃O��~,�j����^�@R
-�-�2��w</�� >�
-�=�$d ,�����P�
��Wt��T"l?�rϻ
b������R���?�6�ֽ{�<
ꞽ���E+X�/µ�Luuݸ���o�}��\�����s���5��C��Q�֣����/�}w6Y�
3�S
����#�&���V�I���Y���z0��f�����'�Ҿ��\����=�"���S.~�w��U]A&��ps�A��e��h��_g�[�y����h���y�b���v����6v��ߩ}�
-�"c9:q��秬!�@��e�A��O3w��n���e�3�n�g��5?4�������c���î�WI�\����S���W&�1�-=�-=��F���
-�Ś�ŔېE�
g�F�!�Q�$�endstream
-endobj
-4171 0 obj <<
-/Type /Page
-/Contents 4172 0 R
-/Resources 4170 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4106 0 R
-/Annots [ 4174 0 R ]
+4046 0 obj <<
+/D [4101 0 R /XYZ 90 231.328 null]
 >> endobj
-4174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+4111 0 obj <<
+/D [4101 0 R /XYZ 90 216.758 null]
 >> endobj
-4173 0 obj <<
-/D [4171 0 R /XYZ 90 757.9346 null]
+4047 0 obj <<
+/D [4101 0 R /XYZ 90 157.599 null]
 >> endobj
-4170 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F13 567 0 R /F8 523 0 R /F7 526 0 R /F74 478 0 R >>
+4112 0 obj <<
+/D [4101 0 R /XYZ 90 143.029 null]
+>> endobj
+4048 0 obj <<
+/D [4101 0 R /XYZ 90 95.825 null]
+>> endobj
+4100 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4177 0 obj <<
-/Length 1635      
+4116 0 obj <<
+/Length 2935      
 /Filter /FlateDecode
 >>
 stream
-x��X[o�6~��00�������zɺtm�5�P��@��X�-{��4C�EJEI��a�`R�}�F��1�H��
-�e����9|~�#~y
����Ǔ��OR�
2����c�A$(������Fc�1

�
F�2:=
Q<\-.��,�N_$gY�]��?Y���6N��hL
>YD����?�و�[%La9$��O��&��� �$����{�
�g`��
F�hѿ�	F��_�8e�d�;��V�q
A��6 T�(LJ (CX
-V �M�K������?���-F�����h��nu�q}�R��K.
-^_ݖ���(�0񋎚r��@N��
-��%�������t�HJ�*�,��n����Ah���
кo�D5����GK[3
�zP�4< ����Q�'�MdЕ
-
��d��
�_֫4N�V
ƔY�==���=�S��>�R!e�	�J%<��Yr�䛛T�x�)�DX}^

�>i 9
���A^c�B���5����V�z�~\:b�t��sr��ȍn�a���e
�_]�x�*D#CM�'�dz{����ᤔ�&@�Ç=�2��|+i�Q�n���`��B��Xx���ۤ_�Gفve-��ƭIX�èI���:�=����""+[�D
q��[
/׋(�
Bj
4�2�l���?�� \+�!�\�i��m`������}7
�|'M��-R	��Cx)�a�X�����
�|���lr�i���q��_��,�WY� L�c�R����4ؔ���_'��f50h��H6���h�lZ�H$97^
-@�q�d
O?��G<;=�.���EZ�.V�f��1)n��I���U�N�1n��I��nǗ

M�]��\Ҕ�\�f����{�@�N�FJmGHR�
��t�͝�U41D-�@V1�ǣz��;�J���g�Byc�;W�t`%E��`�*?~��Jf���"Z��
�[���2
�_og!P7��&K��JQEӍ���'p:��6H���?�o��v�����&�si���EqeZoZ�S�8f4,	S� u隋$��q(0�
���
-�
m�>��d�kk��;�w���w�w���k��n;9�]QB�д�o�J7y ��ˢ�ӢD��lk@�_�0.�Xi.�um�0�8��ۛ€�!��*#N'���a�Cf��

N@���¬Uu\�8����F�ٕ۷�6bpw�	$���N���-�X���t�a
-�;TXr's��4[M�K�dFy�Jݧ�p�)�<��R�����~r
��|�<e�Z��q�l�X���ʜ��O�0��x��M���N�}��o(ޢS	�p��|ǧ@�RєE0PQ��%V�n�K�n����z���ʿU�-��8"Z����x��xƍ���Q-�4��ۧs�y�
$w;�.I�����I�LGլ?�ɯ�W�-h)G�0ƍ��AE�?���
-�
ӫx�r!:���߈K�m�Z�H1�A�����m	Wb��p*a�?��J�[Y姥in��s�כ8�{��e�n�E�����lS�P����
-�x�Mh��p��� �V?���/;;+�q��|T�Y{���y��������
4ݠm��3��{6{M��se�
7�6]�%@��~et�J�r�yO$)|\e�J�w�U��D֌endstream
+x��ZKs����W���Ѽ��9���ď�*�]G���2	� h���Ӎ<
���>%*U�5��������aFg������-f�X����~f��hFg������1�/�R:���yZn��.9����lU���\ߕi�|}��c��	e����ۻ����曫7�
&��!4L����
	��(�¶#n.����\p�Kh&^/�#��%̊�g9)��MZUN�ͥ��l�ۤu����a�,�g�n1���)�B/�������:c���!F��r{��G:[��of��̞�Qۙ丰���ſ.�Q�sA�V�� "�
��%
*�H�O
�*�Qv��ϻ,O���r��Ѵ�2�Thl���
�

C�J�����v�Wyz��n�����PÏ�eu#��n�K�5��|�ߗ�(F���v�
������*��N��Q�:]_7�M7{�/�W�>A&� -ǃ����Ǽ�h�Oi`# `����:�O��]v�$��Ν|��.������T�_9�V
��h*[�#�Jb{@���u���6�Y�7_s�Yk���9:��ݺ@1�%�B�'�[��2à_��F*:�i��z
+l����f��̑ڄ��x��<�dj�p��1�bj��F�����^��+��p���
�p��A�
b����"w��
���%�@1�4aR��h�@v����'~�J7Q���~����t�Ձ
+z�Pf`6��$fiE	���
Y�"֘�8��Y�U�l94���R�9����x.	y���<���C�%�G�[�/�d�!�
NS�qbOS��.!���&�u�7��2$�3f𤧡��׻}�Α��zu}]T�+Fҭ{�<@�2
�Udڄ$J�`^�Z~C�7��mT�J���:�
aV���o0>
+(#�#�pȾ����m
s� �HF�-�
#��m]F�z��C�ڱ�2�Πj>A�aI���D	|I����*A���;
���55�$��(���pW��;��L�"�0*��
�~
�l��6�Щ٢�WD�y����B�c5�Y]���>��
�iM�)�r��a��'#�S��(�*���E�7����P���R��g���l��Y�
��n��r� ��%�
�!�uH0����
+��	4�}��'8��
�w��y꼖�k��$�)��
}�ϡ�-�&R�݌q��@�����)����7� ��,�����bB�J�i��)��
�"X~c����'vlZ8�W�,�
�
��`
+(@
`4�<���g���_U�;h�;Ms���f*[5
V��Ї<����˴�P�{=��eVU��M�# �rn�N7
�m�΀f�%��n�m�������t�۬��q����x��AO�V�G�/+O@ �:+A�	
���2��i��
���wΘ��5kM�F?��G/b�+�庂�5�����
��@�p�+6�^�.-+g.���eQ^�on�P��f�t�4l5�5���eZ��N]
�[�t�Y.�;��.����yWҶ�Hs{W�9Z��ٮ(k︆
D5�
��S�cӬK��Jk�ϵ����ٚ�{�p�;�p��yB8��;s����A����!ȆBH"�[��sRO�\&� �`�e
��.BBebG	-���݁5�����{�,M3���+3�
+1\YG]z|��Z�7�x8������-��H��< �1p�f��p!� �r=�bǕ��J8�������4_=�u�ы����j4Wg�e��d�
HaȆgZF���
+G�o�4T�-���B�م��Yk�ݡ�
�*��%��KQBZ��M"�����ܯ#��d�@���)q/
�UlE�$�
�gL�]�M��FZl�-ц
�eo@��
7z6OݱZ���v.�Ê��-\E
�)'JwES�H�q�@������$] ���W@�g
�+1���"�A�
+]�b0���I��)�h�c������7Iؽ �O�a�P
v(F����ynZ�b�p�IP�s�%��śVEiD]0�|X���a!,o���-�4[Č(�?/
+ ��Ղ�8�|u��U��XtR-��
O��
2/
Od�&��M��Z>�/�eϲ���"@N='1u%�q)){�o@�"*ɒ$I&mc�H��͙�1P������4@�i�fk�������*n'���
h'�q��J
m�l0�R���*�?n�Q,4���=��A�/�����6��py�e(a������
-�E��X%�F�,�#x
I�TF�0\���ī�x���cӏ�0,Є�P��{[7��$^�1	D,�MX�
S蝛s�n�]�D�5w�Mt��l����q�F�(�9���|�R��f� �q;J8
+���C�djËYncV��~G�U��h]-5G�Ƀ��Qr9 #T�=���C0� F|R&���C'(,g;�@1'L��Й e$�"��G �S�Pg�5��\�
}�� eiW����G����4�,�+ at F�jҺ��OCǗ|�d�aY@��ؙE�9$�h0K�VgU
��a�p�$ˤ�
�}4Qp��
����
c$�;�7
+x�K���������=�w�������n�oS謷 n�.��y���B�c��$���oZp<)��!k5���hܠ�
����Dz�/�y��ӌ�ZX
En��Ƞh������x��W�B�u|a�zBG��������h�@̐��
���!���떨
���cN�s�m���.��K��|���
�{����w��rsV6=������G<.eS�“i�	ښ�Z�����o���������m�31�O����a��)�%���:!�%�~P�|H
�
v`��$w����#���_��p�K�!���w������6���6 Ŀݨ�V�8��ʌ	T_�0:�e^S��O����s�Es���AⱮw�WWOOOdY�}�ޕd]_�v���@C8HҿU�/���T��%�7_
��'�i�`�
+endstream
 endobj
-4176 0 obj <<
+4115 0 obj <<
 /Type /Page
-/Contents 4177 0 R
-/Resources 4175 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4184 0 R
-/Annots [ 4183 0 R ]
+/Contents 4116 0 R
+/Resources 4114 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4044 0 R
+/Annots [ 4113 0 R ]
 >> endobj
-4183 0 obj <<
+4113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4178 0 obj <<
-/D [4176 0 R /XYZ 90 757.9346 null]
+4117 0 obj <<
+/D [4115 0 R /XYZ 90 757.935 null]
 >> endobj
-4110 0 obj <<
-/D [4176 0 R /XYZ 90 456.6843 null]
+4118 0 obj <<
+/D [4115 0 R /XYZ 90 733.028 null]
 >> endobj
-4179 0 obj <<
-/D [4176 0 R /XYZ 90 442.114 null]
+4049 0 obj <<
+/D [4115 0 R /XYZ 90 667.419 null]
 >> endobj
-2140 0 obj <<
-/D [4176 0 R /XYZ 90 393.63 null]
+4119 0 obj <<
+/D [4115 0 R /XYZ 90 652.963 null]
 >> endobj
-4180 0 obj <<
-/D [4176 0 R /XYZ 90 379.0597 null]
+4050 0 obj <<
+/D [4115 0 R /XYZ 90 611.852 null]
 >> endobj
-3963 0 obj <<
-/D [4176 0 R /XYZ 90 331.8557 null]
+4120 0 obj <<
+/D [4115 0 R /XYZ 90 597.396 null]
 >> endobj
-4181 0 obj <<
-/D [4176 0 R /XYZ 90 317.2854 null]
+4051 0 obj <<
+/D [4115 0 R /XYZ 90 549.769 null]
 >> endobj
-3964 0 obj <<
-/D [4176 0 R /XYZ 90 287.8404 null]
+4121 0 obj <<
+/D [4115 0 R /XYZ 90 535.313 null]
 >> endobj
-4182 0 obj <<
-/D [4176 0 R /XYZ 90 273.2701 null]
+4114 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F13 540 0 R /F8 504 0 R /F7 505 0 R >>
+/ProcSet [ /PDF /Text ]
 >> endobj
-1468 0 obj <<
-/D [4176 0 R /XYZ 90 192.3671 null]
+4125 0 obj <<
+/Length 2380      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�F��_A�s��7.I��&Mr�>�E-
+�M��h��D�H*����7�Fq镭��� ^.gg�y��pt����������
e��h~e8JA1%�|����tF0Ɠ�)�٬�Ǜ)œz�[�F~���md���x�,�_Q��x�]������o�4A�	���ِxF�e�b>M���tFcA
.�]�3�ɘ;��g�Zɶ5|�ӌN��f%�������$�U[��tBVLO^�O�}B�
��6X����Q�>y�
���m����AS�#N�U���'�3~<�G8�p%�!
o4�Ԫ�"�����0�U1$�0D�����Fg�'`��l at L
fc�9ј;���c�.dUV��6
�r���8R�)�#���y��Q�&�ꐮ�XWr����e
Q��.m���W[�18�!B1�I���b�q��gL`�� �6 !BY*e�M!8��x�)X�<g���=�	~��!�yo&�
+�Z���/({��GС�.���|Rպ
%l�-e�VVv�V��ْ��Q�wŔēϛ�**{L6��\����k��5/���J!'�c�����RL�2��Z�Z>4�_V��y�R��t�o�"mkU�S��,,Y��r}[�o�ng
�rg�7e[�SV31ɗ��y�Z��~h'(������S��ޙe��l��+���(�q�����(��ζ��6��
��e�D��
+R�I%�Ĥ��(���	��;Ք��
1Z����ݔ��&�`뮩�
����!GĐ�a�7����Y@��DO�cy1JE≣�P�E_n|����g7D ��mB!hS9���3��O�~cl�	<�j�v��}X��!E^��P�MH
0�
2<�(e}���a�
/�T�
R�dU�R�b�^�r-�2�C�O�I)x�>V�`X��UX1�Ϗm�P���ټ݀Y�U��|R�"Wۢ5ϫ�L̡	2��rY݅S��}R
!`���2tv��@{Y�E-���,�o0
� ԅ��yx>��={49��C�`'�֏q����O����gg%�g]4��+h�f%m�єq�7!�V�R��!��0��=�v虻$j �J��-�e�%���b��a��:�٬sݡ�9�r�^CW�m��w�jU��~h/�ȇ��y
�C���G6��
+���v��X��Tn���m�\�c���#۰
�n9F!�n"*�ю� >.��~BXΰ�����
*y��4��
D�l���ٙ=��]�Qۿ���`
^�Kݔ�*5P{u
�t16U_�5{w�I�w��Sǒ:�ڲ�t���n�G��L�	Ek}�,ske3���D�>���
x�%��ؙ3��
�d�m\�4V�1�TI=iy[+�O�
#��
 ����`��;��:V�-H^����qJ��%(Ǡݺ�Wk�P��ɺV
��L��yґ�y�ެ`bp/4:]�%��NZ}���%�j뾑��M9Vߒ8&���]N.�)�Z%lC�֯Mc|X��6E;��ŋ:�6;V�~�J� ���� ���-7:E]�ʯ]�)t�Ѵ�ĠS� X�3cdȑ�<�Җ����hwҾ1������<���&
�s
����yh��k�܆2�U� 3�M}%������^
w�[��"z
a��'�2;���{�
���+#�T�8a7�}mTdO_
�e餍o� Οm�}!ͣ�9�����>U��ui/��]��'�	�a�`�!@
в�+U�]�m�}E���^��+ڲ)/�B����܇7-<
�h�`8��Z�9H]˄7��cR_��_���cb>pa�R
+�'J��S̬5�
+��b:����kPF��~��ߝ�pz��9BUxg�J,���wWo��J�4�奫2���6�WT��>3 ��h\
BO��G�⛫1�
�4{$�'�
�J�d�Nm��
�.��H�"�ɱ��Ewz�؎��
�qJ{�3w
Z\��1K�}���)���fd��9{���� p
+�Ô3���3�Z����������8�

S�����^�J��@�f�����z���F!���O�g���~
�=�p6W��է�e܅��sk�@��0�{#J2�1t,�[]��gp[S
�H��|u�û�gO�]|��D���4
�?`���</7mj�B�����.��w�{�e�e��K���)-iM3C��Ʋ����f��3��ϕi����˲�

>5
��F�D���4!˔rqD�
5�g�C��U�G�
���r|��Cv�{���T~&鱿��_Qa
�
�"�1}�Q3����>��ͣ��<����4�'���Pm�}H�Ov`k�{(F���G�>`օt)
+��Q��ȭ�n&�=h5ב��Eˮ�\��?<<��E۪�4���7�չg�����V���\���W}�R�
4v�1��{
+endstream
+endobj
+4124 0 obj <<
+/Type /Page
+/Contents 4125 0 R
+/Resources 4123 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4127 0 R
+/Annots [ 4122 0 R ]
 >> endobj
-162 0 obj <<
-/D [4176 0 R /XYZ 90 185.7669 null]
+4122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4175 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R >>
+4126 0 obj <<
+/D [4124 0 R /XYZ 90 757.935 null]
+>> endobj
+4052 0 obj <<
+/D [4124 0 R /XYZ 90 89.441 null]
+>> endobj
+4123 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F65 376 0 R /F13 540 0 R /F50 339 0 R /F8 504 0 R /F23 340 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4187 0 obj <<
-/Length 2892      
+4145 0 obj <<
+/Length 1636      
 /Filter /FlateDecode
 >>
 stream
-x��\[o��}��������/
��6�.�ٸ}I��i�XIt$j]����3
^4C��� Y�:���o朹Zd��?�0x��B�q�Xm���
~��3Ҿ����!�/Wg��I�0�H*WwuI���.�n:'��%��� �<�m��O�����v�]����e����?����!߮�%���:���|wA�y�.a
-�s"���Wߟ���3l@0I,�_�~�/n�A�?È-O�F��؜q����~�q�7���A6��!,�
��p�.V��|�77�8����UU���أ`�8��x[�����%�L�8��)�\ç(0�e��hxnܼg��o��
�"�X�$;��
�@���jr��U�Tv)l/��`�W�� ���)!zɏ��S4q�E�
#A�����)�b��m�w�{�����
��B�f&E��mC9�VR�0FMK�Z�[jVF�������`���؂W4�Y���˺�v�UU�?r���V
q���y3G�Pd��G�(����z"r�
À��`�p
v���1��ɱ[��
��'�1Ac�-t���xPƐ�0zD��Q��I�nL7��UT�\"�)��� FL���$�^;J��ڔ��u���k��˻����)�吭���؆� ����RR0QF
��W
��R���p��@�3zJ�ICt�
,�A��
�gGŨt�a���w
E!ŵ�x�'F�p}��G���~�c(pT$ؒUz�H�1�8����|��$�D
-
��Rh� ֌~�n�a�n��-�
��n���
M��nh�d7��)��y��[x*y?��]>�
:՟�J�8}nJd�D!�i��GGd;�4����)���	2��Xb���C���� ���O���H&�M#�6
fi�y�/
��zX�ݤ
T��Y��^�í)4#o�
,�?A���g��'dw[@���r���G�=
=G�yRX�`��	8�2I����V��g;�ARھ!��*(�(,z
�����Ѯ�0���Y�	b���`���:��<�zhw�^��(���׼
���u����v�.�����6L��Z#�[ܖ��/���r��؏Ly),�a�9/`��1;��A��6󗘸
,-� డ
*���6�����.��������.����u���ٝ�ёE at 8jD�����4�q�5N��p��9#�4^+�J�0Q
-+�n�n�y��6�|j<>�`�2�O=pe�"�YZ��jN1��%�������:ѷ8,Q��f�o�1"��a�}��=D�����j �~m�u�h�0il�v�Ԡ�����<�kl�ꄖƥBT����aIK
F,-��YZ'�|K뒛`iq�øM�y(7�}�������w���9AT�x�
(����A�
��D�g"
�2�a9K�A���
츢����{����-�V���ބ�E�۩Z�)X��P�T#N�IML���g0&�x^/�0�� ��)��
Ƶ4����B}K�+�Q��0�(NH�e^�J�W��Re#�J�2
��/볩�����O���'cW�\a1���o'W;�"��P�
�����ԡ�b
��^�ǩ9XHm��c�`��O�
��Gw
;	ӛ��̽����Ȟ�BL}f�g��TՂ�nO s�n����Ķ���Y
A��8�}���uU<��|?�eXxH�e��/��o�e��}3Wa�ͥd䔮"0R��g�l��Ҿ�Ly�g�yo�r=�
+SB���=._�O1ĭ�
̹�CU���b�
��/��6Z�JQ0&�0��8_�ڥR�dĈ����q~D�Aa�J+����
-�R���l{�Js�nϼ�Q�r��݂�/�.���b����@�=.@�:�����-5�S��kA۠�] Cc�O�����Rw�<,�A��
��z��]��w�
�
�.Pl��}5��H
��(�x
*E\@S�zş�v��6�Y#�
��w�N��F�w�z�:�S-@���wwY�Ν�%���?��ɿ�7*�n�	�O0�m���������#t�6�i��G%xPZ��x���FX�Y7��1p��y����)��>�*w9�zp:�5o.�
�����)�H�u�j�����I-��K-��Z'���
�R��
G.h�'
-�8T*�&�Q�K������ygWa���
�
-[��c"u���w�U��
b�5�\��1Q�S��<,)�0`D���N���Q�v�Nh�� n(�묊\���
jO��
-:�J�
�SF�2�M-�ǧ
��2٩1�<Q���otsլ��ۈQ1
�2�
� 3���(ؘN�£R�
CBj���.�m�h��=s�a�a��m{�¶k�����0���G�;�%��JD��[��ˮ) Ǣ�L���Y%� �c���@�3N����@�}d�`燛��&ߔ���}�k>~_�`�(Q��}M�f
-¦�^�J0u�Ӫ�`Lj����*9�UH
I�t�
� B����u�A�� 	'P9�P%��";v*�.����<�=���I]���&t
-�5�~�����Ϧe�7W��c�ߺO�y�*�����
L���'!
-	-R>=,�A���g��!d7�"L_�q��B��6���|�Mۄ�T����G%�0̑PL���6�$'��a��M8��+U�]��l��\Ŋ������
os��S�9ڇ���F@:�B��j��$5x��l;�t��	� !ڿk�rM��k�ݦ5�O�$�ۯ�h~��>�}c��ms~̶~�g;�W*߽\�����^2h���*H�J�6ǭ.P�{��`�uX�h�(BO;�k����
�_^>==��

��������r�q-ڿ�y�[ׁ\:�gZ���?�r������d�{+
�~7���ZK�endstream
+x��Y�n�F}�W(�J@��;I�
��uдiSG�4���H�BRV�����E�)JI�E�H��s=gv��������w����d��|I�3�u|츒 A�3�;�CB�;���͈�a���ٛ��du�T�4��
ݤAz?�\$�"ݪ8T�1xx�
+���^�[���7�o	s�
IF璘?L
�1�L8�zp�
;sx�������3���
�+����u�2������!N
�r�ެ�\i+�/	���qЧu����
�`#����F��\c����L_X�]�(���JXKx)�y�Z��+�Y>�L�,��
�Vř՛lT�IڥS$�JM�
	\��
|H��닽�c��h
�E�(�P#�������
+?h������F��	��KD��ʃ���Z�Fco��H���Gw@'�Z�g��|���kB�(-]�JCu�ޮx?���4*�$�vÏ�f�[+$1D
�`��[4aOHJ�����P�z�O�#\��+Gp�Vv�i0%�܊�v���iT�6B!aX���PX��'�CR�';�I6N8r1i��(�
�k��F�Q�c�W��k^��9�j	�5��vg��M�!�z�c�*
��@z�]�/��@ 0o�ِ" (��.��%
.�us�?!׹'4��噽4��s����$	�Z&q�7���K�f��m�Y�j�l�a�9c�%�l�� Q�@����C�	7�� �o�)�b�bcKX�ݑ����d��+vF���˜~s�!P#~��P�V��z4f
tY ����Fc�\�1�,��e1_̓p�Vq
�Q�G��䘛|�GXO!�J?*�]��;�d]nU���*Q59^�G�0�+51cK9w8DB�'H�8G�h��6��f�B�e8�j�R�a
�}���a��.t����v�*�UP�3������"C��_Eq��λH- �k�\
"�~�ڕ֓���&v|�1m7�K�FyV�\"��>
�M�H��3��� �����0��_n�P�3k��ej (����x�.�9����^�[���-�8��C�K���pQryϞ��B
�K�M�>p
u�����鈹�yC`K8m��Ƭt�Ʉb��@����KE0���K�
��8���	�E#@٨� [...]
b����<Q8u>1Q痔�z佯
w0^W����>5=@N*���^=p�g��-?|�o�/�,Z��P��\�~�1���
j�L����h{�M�Y��z57?7ZW*ߦq�j[j�6����w� ����pf'��tl���O_rk�a�QF8���i�
�J����O�&t����tV4Q����
[�f�R��db">KuG���
�be���A7�N��=)����
��x�@8�����a�t+U��Q�(��;(������$N�x��=R$�l��t�E�o�Ѓ��L�Ɯb�����&é��K)q����� �s��>��
H��_H���
n���X���ϲٷ?�����=S���;y��A
�T�~�iQ*��+F0�M�өE�1�ȿU%`�{���im4�
潊T�<�L��w�

+3���M���
��#D-���Uث1x��4��ڌ�ͤ@�/Uȶ
+endstream
 endobj
-4186 0 obj <<
+4144 0 obj <<
 /Type /Page
-/Contents 4187 0 R
-/Resources 4185 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4184 0 R
-/Annots [ 4191 0 R 4192 0 R 4193 0 R 4194 0 R 4196 0 R 4198 0 R 4199 0 R 4200 0 R 4202 0 R 4203 0 R 4204 0 R 4205 0 R 4207 0 R 4209 0 R 4210 0 R 4211 0 R 4212 0 R 4213 0 R 4214 0 R 4215 0 R 4217 0 R 4218 0 R 4219 0 R 4221 0 R 4222 0 R 4224 0 R 4225 0 R 4226 0 R ]
+/Contents 4145 0 R
+/Resources 4143 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4127 0 R
+/Annots [ 4128 0 R 4129 0 R 4130 0 R 4131 0 R 4132 0 R 4133 0 R 4134 0 R 4135 0 R 4136 0 R 4137 0 R 4138 0 R 4139 0 R 4140 0 R 4142 0 R ]
 >> endobj
-4191 0 obj <<
+4128 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.2473 164.0421 708.1512]
+/Rect [113.91 348.395 164.042 359.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_ba7dbedd485eab91821f129132a04723) >>
 >> endobj
-4192 0 obj <<
+4129 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.3792 697.2473 241.5109 708.1512]
+/Rect [191.379 348.395 241.511 359.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4193 0 obj <<
+4130 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 658.393 164.0421 669.2969]
+/Rect [113.91 309.541 164.042 320.445]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_3a4c3af6146717b3302f467368eafe46) >>
 >> endobj
-4194 0 obj <<
+4131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.3792 658.393 234.8855 669.2969]
+/Rect [191.379 309.541 234.885 320.445]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4196 0 obj <<
+4132 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 619.5387 171.7908 630.4426]
+/Rect [113.91 270.687 171.791 281.591]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_b45e800217e1c61d8595e2ffc51a83ad) >>
 >> endobj
-4198 0 obj <<
+4133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 580.6844 164.0421 591.5883]
+/Rect [113.91 231.832 164.042 242.736]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4199 0 obj <<
+4134 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.7817 580.6844 215.5882 591.5883]
+/Rect [174.782 231.832 215.588 242.736]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_2c93e938cd478716c7c9e5e9988f7a98) >>
 >> endobj
-4200 0 obj <<
+4135 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.9254 580.6844 293.0571 591.5883]
+/Rect [242.925 231.832 293.057 242.736]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4202 0 obj <<
+4136 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 541.8301 179.5535 552.734]
+/Rect [113.91 192.978 179.554 203.882]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4203 0 obj <<
+4137 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 541.8301 250.6661 552.734]
+/Rect [180.052 192.978 250.666 203.882]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_584cb5084fe5479b0c373e3d17fe5ffd) >>
 >> endobj
-4204 0 obj <<
+4138 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 503.3494 297.7285 513.8797]
+/Rect [253.933 154.497 297.728 165.028]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_79c648d88214174287e3763b804f4aaf) >>
 >> endobj
-4205 0 obj <<
+4139 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.5441 503.3494 336.7317 513.8797]
+/Rect [301.544 154.497 336.732 165.028]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4207 0 obj <<
+4140 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 464.1215 342.2613 475.0254]
+/Rect [253.933 115.27 342.261 126.173]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_3c9879f0c9dcb81fe1bbf78828509ef6) >>
 >> endobj
-4209 0 obj <<
+4142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4146 0 obj <<
+/D [4144 0 R /XYZ 90 757.935 null]
+>> endobj
+4147 0 obj <<
+/D [4144 0 R /XYZ 90 733.028 null]
+>> endobj
+2076 0 obj <<
+/D [4144 0 R /XYZ 90 691.329 null]
+>> endobj
+4148 0 obj <<
+/D [4144 0 R /XYZ 90 676.759 null]
+>> endobj
+3898 0 obj <<
+/D [4144 0 R /XYZ 90 629.555 null]
+>> endobj
+4149 0 obj <<
+/D [4144 0 R /XYZ 90 614.984 null]
+>> endobj
+3899 0 obj <<
+/D [4144 0 R /XYZ 90 585.539 null]
+>> endobj
+4150 0 obj <<
+/D [4144 0 R /XYZ 90 570.969 null]
+>> endobj
+1428 0 obj <<
+/D [4144 0 R /XYZ 90 490.066 null]
+>> endobj
+162 0 obj <<
+/D [4144 0 R /XYZ 90 483.466 null]
+>> endobj
+4151 0 obj <<
+/D [4144 0 R /XYZ 90 367.369 null]
+>> endobj
+4152 0 obj <<
+/D [4144 0 R /XYZ 90 367.369 null]
+>> endobj
+4153 0 obj <<
+/D [4144 0 R /XYZ 90 289.78 null]
+>> endobj
+4154 0 obj <<
+/D [4144 0 R /XYZ 90 250.926 null]
+>> endobj
+4155 0 obj <<
+/D [4144 0 R /XYZ 90 212.071 null]
+>> endobj
+4156 0 obj <<
+/D [4144 0 R /XYZ 90 134.363 null]
+>> endobj
+4143 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4185 0 obj <<
+/Length 1507      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~���Sg5MR�.F�����5��#3�JIM�_?R$�Kd�v�z
+4�lS�9��ΕЙ9�����Uot�N"��ՍA'� 9WS�C!
�Bؿ ا"�����<�߲���7�ZP1���l&j��l0���Z���=�ab�¾�����ǃOW�z\�>��:�� p�����3�߿r p�йoV���]yM���_=h���J���>���	�
�O�f1&���s·!�j���f�I�#�8�,�&���*��8��j"�*��a%����7�(��|Z'u����GH��C�4ͮ+��ut
`'�Z���c�{�"D���xϪZd��ty��V
ܠߘ^][`��\o�V��C~���G��ˑ�DZ�A��UҜ�U
�a`�T���kV�P�k@��
��8�
+Lj�Dh���h`[zv��l;�y��r1�u���y�a�������	gen(Q���: ��[xv 
����p6��0: ߗR���`����d;¼�T���$��&?�q;� ��g�&�e6�0�Bxc@65�e�\��.� �;��譊���5U֘i�9`D�๕�\�{:74J[�Uvߓ
�4�z
�<S������cŌ���&�щq^B��I�5�����
�-f3]B�J�f�E���#�|?Y�

���	���3�w�V�q�t�ـ֚��}�.�RQ���Mh5��ɸ�g�0ܸU�}tR͋N��+�?��T�����'�,j{�-"��g��g
#ْ��Ɔ�+TX7�d�+�v��l2pP>R6l�2R��b>)�7���	W���,�&�󊝢wL�{��ږ
�F\}��i�<��n{����hh~���lj��`/�# rڮ�E!�B����0>4��W�l��Ң�p�S�ѦP�mE�!��g
�BBvJo_�9�nO&��9�L�xb�����;
{ ���YV��8fBt�@�@ؚ�˳�/�K�������
+֛��!�x`�]Y��`���X�6f��J0�j=+O�c��
+��0
+Uڈ��Å�O��_�w�]Y����aҕ"��1�(�;B�%�f
�I
��}����e�e趬y񢫤󀻨��t|�0��#�,�瓜N��<�����F���@t��vQ ��}Jo_M�M}r`��� ����
��
iD������[�xuW��;3$K
�3�dp��ST�*
�)�$>�:�`S�A�������$C驈�Z�Kr�����{���׶�8��X1a�l]?���sC��c�s�~�V ��6�ѯ���1{|�=��]^˗�6���b�6]�w�-b��4�&zغgg���!��K��-��W�&�������ƾ��L^;
�cbD��>�& � ue��P�R��=������w��/j�f ~K�vB�t���bb�(H�+C�
d�v�/���V�αw�{M�\��tȰͱ�UU�G���{���x! �FE��
:�b��8h6�Ʌ
�6��/�&��u�p �V
+endstream
+endobj
+4184 0 obj <<
+/Type /Page
+/Contents 4185 0 R
+/Resources 4183 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4127 0 R
+/Annots [ 4141 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 4177 0 R 4178 0 R 4179 0 R 4180 0 R 4182 0 R ]
+>> endobj
+4141 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 425.6408 290.2467 436.1711]
+/Rect [253.933 720.286 290.247 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_39b6f38fff55dd953ec509b3739dd17d) >>
 >> endobj
-4210 0 obj <<
+4159 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 386.4129 164.0421 397.3168]
+/Rect [113.91 681.058 164.042 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4211 0 obj <<
+4160 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.7817 386.4129 218.3577 397.3168]
+/Rect [174.782 681.058 218.358 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a03b119140132112557907b772102b33) >>
 >> endobj
-4212 0 obj <<
+4161 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 347.5586 194.7761 358.4625]
+/Rect [134.114 642.204 194.776 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_e96eebded76c559c95910dc233c68f06) >>
 >> endobj
-4213 0 obj <<
+4162 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 309.0779 195.3339 319.6082]
+/Rect [134.114 603.723 195.334 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_c26379e5f82fd0223682b11b9e052ea5) >>
 >> endobj
-4214 0 obj <<
+4163 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 269.85 224.6344 280.754]
+/Rect [134.114 564.495 224.634 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_29c6deef0eb3911adbb08d36a8f0b3f2) >>
 >> endobj
-4215 0 obj <<
+4164 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 230.9957 179.8324 241.8997]
+/Rect [134.114 525.641 179.832 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_6609e54e84d50cd074c2dd65f38b47da) >>
 >> endobj
-4217 0 obj <<
+4165 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 192.1414 227.9814 203.0454]
+/Rect [134.114 486.786 227.981 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_d67d37524d1fb7f31766c0b02cb8591a) >>
 >> endobj
-4218 0 obj <<
+4166 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.797 192.1414 297.4402 203.0454]
+/Rect [231.797 486.786 297.44 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4219 0 obj <<
+4167 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.9428 192.1414 392.0746 203.0454]
+/Rect [341.943 486.786 392.075 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4221 0 obj <<
+4168 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 153.2871 191.7178 164.1911]
+/Rect [113.91 447.932 191.718 458.836]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-4222 0 obj <<
+4169 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 153.2871 288.8524 164.1911]
+/Rect [192.216 447.932 288.852 458.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_484373d269a31c21efae44a83f8be6f0) >>
 >> endobj
-4224 0 obj <<
+4170 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 114.4328 191.7178 125.3368]
+/Rect [113.91 409.078 191.718 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-4225 0 obj <<
+4171 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 114.4328 303.0791 125.3368]
+/Rect [192.216 409.078 303.079 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_0ff04e47054c14b2edf29096ecc95ab7) >>
 >> endobj
-4226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4188 0 obj <<
-/D [4186 0 R /XYZ 90 757.9346 null]
->> endobj
-4189 0 obj <<
-/D [4186 0 R /XYZ 90 716.2211 null]
->> endobj
-4190 0 obj <<
-/D [4186 0 R /XYZ 90 716.2211 null]
->> endobj
-4195 0 obj <<
-/D [4186 0 R /XYZ 90 638.632 null]
->> endobj
-4197 0 obj <<
-/D [4186 0 R /XYZ 90 599.7777 null]
->> endobj
-4201 0 obj <<
-/D [4186 0 R /XYZ 90 560.9234 null]
->> endobj
-4206 0 obj <<
-/D [4186 0 R /XYZ 90 483.2148 null]
->> endobj
-4208 0 obj <<
-/D [4186 0 R /XYZ 90 444.3605 null]
->> endobj
-4216 0 obj <<
-/D [4186 0 R /XYZ 90 211.2347 null]
->> endobj
-4220 0 obj <<
-/D [4186 0 R /XYZ 90 172.3804 null]
->> endobj
-4223 0 obj <<
-/D [4186 0 R /XYZ 90 133.5261 null]
->> endobj
-4185 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4236 0 obj <<
-/Length 2918      
-/Filter /FlateDecode
->>
-stream
-xڽ[�n�H}�W�)+�v�/���n0Y�u���030���H�����|�V��V�nڊA �*U���:U,5��?�0x��B�q�Xo������3�}|����:�x#�� #�\\�6$A�����uIR�s�1^�]�̪mv�vE�r��r��T��OŇ*��\^�ޕw�c^���9x�z��u{�.�ͫ���S��K"����ξ���&���߳_NjX�g1���3���C�3N�{�9{�/�����”���#-�G
E�Rp�(AG,g�/��u�o����oQ��‘E/��K82Xʾ�O͎7#۰HC�ضUw�̻��O��(�z]�7�ۇ���Z%|�R�5C�������ޕ�~�
-A�-ֈP2��HH�	<
�r�mX��:��/4@���H
���)
�?U�ϻ���,:H?|��I��x����\�U�J�
� Z��lU�����o/�S���}��r��]'��m�L�F#.�3��lG+'��/�	d��	�c{ ˴���{�������&���B܉��	��7���oh4��=�3�7a�uf�FW�37n�%n�吷M���}�g�6H_�3sYJ��T�\uDrً='�'2E!i��'������$�ЈaM_2��@LH�Jb'���@a,��v}
�vӉܳ='��(Fz-���(��"R
���Tʰ�����}~�
#N�>)k
��ub�[�z*u at -��+�?���	M1�Q�E��.ʻ	e��@I���=�U��Un�8D��N߷�N��fL$���f^2�!�n��X�;�t�
-cY��>��a�ی3^ B�
؍d|'�B0�{�ޛ]6f
%@�V����Tʺ�{Gc��ﮀ�H	FhqJ��:"���,֟�G]Ѿ�V\,w۩<��d/Y�ۮΆQJʫ2�<��S
$l0�����=a�|A\���"B ^,I ��$�:�ٍ@��
H �����>�6 �u;��UA��j����^���|t��݉Y����m�>vI_t��m6�$\q���UEf;�V�M��M
y��i~s<18A
-J�I�
tL��X6
|o�a�"|��a�η�~�X�-���6�%�Z���
-Dы%1j�	�.{v���T��"���r$;���^����e
޾�yȇX(����1/P�I�\�
�I1G�N08�\�6��~����G<k���
7�2/��a�D��sȑ��
-��uJF�:"���,�w���*�I�ӊ�c��4�k/.lyc�I����_�����GZ�;L� TwM5����K%�3�^iL����B�Yy��WD
�"��PT�s8���
<�Hj�����(��Wܮ'��n
0��A� �a�>��T��S�Fz-��,�E�)�
��aB�pR)�� �3؇30���=�)��1�����^�����u<�)E��
xs@�GK
��X:���p����
�}Z��p�	�8������R��?�Tʺ����9��
G����ܡ�H�{1�덽I.�g�;�
Q�_r6��փ�f�^,��H�'�x��
�}�VI�:j� ��`w�)8#��6�
d�e�^*a��

-�g����Q GM�靹x/�2?�k���W;��^�ɋ�Q�*���Q�D�4qWx��5RT
�"���k�O���:b���z
0��楽
�G9�ks��	i����
14Y�]
x����]��Z�?��+��E��h-��A�p7��+{���k�
-�P��YBwN�����
h�lI�
��P؏�aM�٦���}.��ׇ6z`cz�!��p0�6]��.���U� i(
�����A;�%yIb�	ld�X�X�X�1b�����}��@�!�8��޹�sF@�Q�b
�G�u��b�����msXlS���9"<�V&�@K$�A�N�@B
-y�:bt��F�,����;M��nG6�����#z���2�S�)ܙX>�}>�Z,�%R��G��i�u�����AH���E5AR��i��bI�
-F�+a�W�nbZٷ<cZ��0�g+�%�a���I�LN*���J%1:�
�u�g�	6b:���K%,Sb�����#2`��P��R鹛��S0Fz�-�2Ϫ���x��zjPˈ���&�
/� �\1��W9�&Rd!w�
��a��S`Fzgy�s
��'����+%#�X��R���~	
-uD�;>�
ւ��
q���5{�\p5�
�ń*X�6\�UE�ٹs�(a4Yp�F	�_��@�j���9�t�9��U��Q_l��Z��Sj� �Z���kz���e& ��2��	�L��Ƅѐ.1��&�0Q
C�O�//�%��P]�򮶼��+*�Y������ʊ}}y�8麲��U.�L:��l>��p'�r�
�ʹ�'���ђ��rB����'����1�e��[�$�6į_r&A1��m�:����\(��mܮg��n�n{���m
�H�\ƍx����97Ę"����|��^d@<�l���b���[/�@?�;����)�
�T�p�	�x��ط�pLO��PG����!�)�Ԉ�\�q�q�F���ؓ @'9;�1y�peȐ� �}�s������iG�e�h~���P ��^,��Q��O�uL߳�|�o{�#	#�M�)���rWm��֐�q�~pR)Fۻf2�b�J�F����:bt��,�_�S��`]v��k��6�9wンa��dFb�&�m[��G��'
����6
-�)H�=)�ڣ�Wn�o�R�A��{��}�=�ݾ�w�WY	���sV>�s�v�?YUyu�A�&
�������+{�(��qP��Dž��1<
�}�<�FKP*X�H�]��~�pyq���g���cY<T��_<<l.F\
�?h�z����FXz�g�`)�l��v�q�vW�3Ƿ6<-Q�"Q@�M@����lendstream
-endobj
-4235 0 obj <<
-/Type /Page
-/Contents 4236 0 R
-/Resources 4234 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4184 0 R
-/Annots [ 4239 0 R 4241 0 R 4243 0 R 4245 0 R 4247 0 R 4250 0 R 4251 0 R 4252 0 R 4254 0 R 4256 0 R 4258 0 R 4259 0 R 4261 0 R 4262 0 R 4264 0 R 4265 0 R 4266 0 R 4267 0 R 4269 0 R 4270 0 R 4271 0 R 4273 0 R 4274 0 R 4275 0 R 4277 0 R 4278 0 R ]
->> endobj
-4239 0 obj <<
+4172 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 719.9123 181.845 730.8162]
+/Rect [133.915 370.224 181.845 381.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_43983a6ee447e480f8700915bccb4811) >>
 >> endobj
-4241 0 obj <<
+4173 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 681.058 181.845 691.9619]
+/Rect [133.915 331.369 181.845 342.273]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_c53e4323b140cdd4ba1ac96e7204d93a) >>
 >> endobj
-4243 0 obj <<
+4174 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 642.2037 154.727 653.1076]
+/Rect [133.915 292.515 154.727 303.419]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_146b211f83e22bd011d3de2e5975073b) >>
 >> endobj
-4245 0 obj <<
+4175 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 603.723 176.5049 614.2533]
+/Rect [134.114 254.034 176.505 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_94b3624c208219e401569cd289049b38) >>
 >> endobj
-4247 0 obj <<
+4176 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 564.8687 150.493 575.399]
+/Rect [134.114 215.18 150.493 225.71]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_33e6005a1fe40cb202eb619912c25c3c) >>
 >> endobj
-4250 0 obj <<
+4177 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 483.7326 203.0748 494.6365]
+/Rect [137.432 134.044 203.075 144.948]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4251 0 obj <<
+4178 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 483.7326 296.3242 494.6365]
+/Rect [203.573 134.044 296.324 144.948]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_5a207ecd92e9fd8f3b1937a5064746a9) >>
 >> endobj
-4252 0 obj <<
+4179 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 469.1118 322.8246 479.0171]
+/Rect [277.005 119.423 322.825 129.328]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4254 0 obj <<
+4180 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 445.2519 194.2975 455.7822]
+/Rect [157.437 95.563 194.297 106.094]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_b917a480b6afe7e2750aa2862c6783cf) >>
 >> endobj
-4256 0 obj <<
+4182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4186 0 obj <<
+/D [4184 0 R /XYZ 90 757.935 null]
+>> endobj
+4187 0 obj <<
+/D [4184 0 R /XYZ 90 733.028 null]
+>> endobj
+4188 0 obj <<
+/D [4184 0 R /XYZ 90 505.88 null]
+>> endobj
+4189 0 obj <<
+/D [4184 0 R /XYZ 90 467.026 null]
+>> endobj
+4190 0 obj <<
+/D [4184 0 R /XYZ 90 428.171 null]
+>> endobj
+4191 0 obj <<
+/D [4184 0 R /XYZ 90 389.317 null]
+>> endobj
+4192 0 obj <<
+/D [4184 0 R /XYZ 90 350.463 null]
+>> endobj
+4193 0 obj <<
+/D [4184 0 R /XYZ 90 311.608 null]
+>> endobj
+4194 0 obj <<
+/D [4184 0 R /XYZ 90 272.754 null]
+>> endobj
+4195 0 obj <<
+/D [4184 0 R /XYZ 90 233.9 null]
+>> endobj
+4196 0 obj <<
+/D [4184 0 R /XYZ 90 153.018 null]
+>> endobj
+4197 0 obj <<
+/D [4184 0 R /XYZ 90 153.018 null]
+>> endobj
+4198 0 obj <<
+/D [4184 0 R /XYZ 90 114.283 null]
+>> endobj
+4183 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4236 0 obj <<
+/Length 1461      
+/Filter /FlateDecode
+>>
+stream
+x���o�6���Wh/��4I�� /
�a];dm���"S��r)9����H���ȉ��k6
H"9�Ow�����5���������w��>����
+��}�%����l��3$c��!؎�,�;�y���ߧ�*R����\N�B�X8Cʰ}�EEQ�~�P	��*q9�m��׋w���oa�G�eV<|���	�����֭�kfyԅcf}�9�u0ݣ	�S+��|OGh�p`q�"�*��dZ�Q�~���U�~��G��m��1���!���(
]�	�B)۰a}
2�fQFeWO�1�L'�}:
jZ������
�TO����
�/������M���*?�
�٩����sY��a���4���
��'�l��R8��S��Cd�(JB.]��:(�嶙
�h��|�̫�&��"�δ�
�|�
Y����ṾXͭ�FfFg!_��
'
8o����
|��:���g���0�p��M:!�JpL{Gp@�(+�P�e~+�؋Ut����3tAc<� y�,��uǧ�c#�
�h�6�<�V�)
+Aq^-���ެU��C�F�4$Ʃ֍>R��5R��C�
��5Ri�4��!��H
R�LY�h�^X��C�ߨ�n\����c%�r��@��T�H���͕(�p�A(���<�h����U�
M�>�9�p;����
Z�#M'=�����=f���n�l�#��}u����'-��J
k
Os�8���'N�,ǥ�Ҳ8>6�+-P+q���9@�k��
�dڊ��"����3�
+�K#{2���2�T$^\�~(c}���F���Q 78b��rH�ZCX�	��rn�¼q)&UF>��%��l!�F��xBZ�lb0]G��mcv�f�H�r,s�v�p����}�nk�����M�u�)'�l��* ����?B�|�dL���SQ*����4ʲ:��s Gm��"{�ޤ�&���l�e6k��$��\�/��X�l�l��3�;y�t�ͩ��S�|.Ta��Q�<ҥ���*��n��|^��yRi2�w�� }�Z���=�
M6�׺vmk���t�-S9�1�q�x[�^���ȧm��{~o��/�8
PW?/�,��5�0�)����ڠ*4
��j?�f�Ғ��������mR��

����H⾖{���c�M˫
[�"�my;ۂV[eDݥrO�8�E�.M�e�gr�������襶��/!H���ň��D����C	��~;�i�Y�s��Җ&�*�V��
S!m���.,孚-�W��"��2��O�
D9
v*:v���qkF)i�E�6CD��>oݷgо�$���yI��(���@"֔{�֞��x����ؼ�s��ټ�>�U��a�Y�?Dre�]�mJ���0�'�@�M\M
��j�O���
+��j�~�D���*ԠM�UYΏG���[h!ӹBi9�ϳ���ue� ~�
�$W�*��f$���G7�o�
+endstream
+endobj
+4235 0 obj <<
+/Type /Page
+/Contents 4236 0 R
+/Resources 4234 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4127 0 R
+/Annots [ 4181 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 ]
+>> endobj
+4181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 406.3976 188.7586 416.9279]
+/Rect [157.437 696.376 188.759 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_2ca2446f563956eb2b92ddd17e5c0b2c) >>
 >> endobj
-4258 0 obj <<
+4204 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 367.1697 211.0848 378.0736]
+/Rect [160.953 657.148 211.085 668.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4259 0 obj <<
+4205 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.8245 367.1697 307.2332 378.0736]
+/Rect [221.824 657.148 307.233 668.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_d07dc0dabac5685f9db8d9dc11e513f1) >>
 >> endobj
-4261 0 obj <<
+4206 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 317.3565 211.0848 328.2604]
+/Rect [160.953 607.334 211.085 618.238]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4262 0 obj <<
+4207 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.8245 317.3565 285.1363 328.2604]
+/Rect [221.824 607.334 285.136 618.238]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_8aab82f7118966662582f88725ce4735) >>
 >> endobj
-4264 0 obj <<
+4208 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 278.5022 187.5633 289.4061]
+/Rect [137.432 568.48 187.563 579.384]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4265 0 obj <<
+4209 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.0614 278.5022 213.8344 289.4061]
+/Rect [188.061 568.48 213.834 579.384]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_7facb7a06ac72f1af2bc514c788f1a38) >>
 >> endobj
-4266 0 obj <<
+4210 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.1716 278.5022 318.4212 289.4061]
+/Rect [241.172 568.48 318.421 579.384]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4267 0 obj <<
+4211 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.5776 278.5022 441.8272 289.4061]
+/Rect [364.578 568.48 441.827 579.384]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4269 0 obj <<
+4212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 239.6479 187.5633 250.5518]
+/Rect [137.432 529.626 187.563 540.53]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4270 0 obj <<
+4213 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.0614 239.6479 213.8344 250.5518]
+/Rect [188.061 529.626 213.834 540.53]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_57362a4d56c397575a6d043cdbcec0f9) >>
 >> endobj
-4271 0 obj <<
+4214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.1716 239.6479 318.4212 250.5518]
+/Rect [241.172 529.626 318.421 540.53]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4273 0 obj <<
+4215 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 200.7936 187.5633 211.6975]
+/Rect [137.432 490.772 187.563 501.675]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4274 0 obj <<
+4216 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.0614 200.7936 213.8344 211.6975]
+/Rect [188.061 490.772 213.834 501.675]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_5b3db7ba1765b3a04f8d320968f70447) >>
 >> endobj
-4275 0 obj <<
+4217 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.1571 200.7936 468.4067 211.6975]
+/Rect [391.157 490.772 468.407 501.675]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4277 0 obj <<
+4218 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 120.0311 197.3367 130.935]
+/Rect [133.915 410.009 197.337 420.913]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_6a24743a95176da13995bb6c17151c9b) >>
 >> endobj
-4278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4237 0 obj <<
-/D [4235 0 R /XYZ 90 757.9346 null]
->> endobj
-4238 0 obj <<
-/D [4235 0 R /XYZ 90 733.028 null]
->> endobj
-4240 0 obj <<
-/D [4235 0 R /XYZ 90 700.1513 null]
->> endobj
-4242 0 obj <<
-/D [4235 0 R /XYZ 90 661.297 null]
->> endobj
-4244 0 obj <<
-/D [4235 0 R /XYZ 90 622.4427 null]
->> endobj
-4246 0 obj <<
-/D [4235 0 R /XYZ 90 583.5884 null]
->> endobj
-4248 0 obj <<
-/D [4235 0 R /XYZ 90 502.7064 null]
->> endobj
-4249 0 obj <<
-/D [4235 0 R /XYZ 90 502.7064 null]
->> endobj
-4253 0 obj <<
-/D [4235 0 R /XYZ 90 463.9716 null]
->> endobj
-4255 0 obj <<
-/D [4235 0 R /XYZ 90 425.1173 null]
->> endobj
-4257 0 obj <<
-/D [4235 0 R /XYZ 90 386.263 null]
->> endobj
-4260 0 obj <<
-/D [4235 0 R /XYZ 90 336.4498 null]
->> endobj
-4263 0 obj <<
-/D [4235 0 R /XYZ 90 297.5955 null]
->> endobj
-4268 0 obj <<
-/D [4235 0 R /XYZ 90 258.7412 null]
->> endobj
-4272 0 obj <<
-/D [4235 0 R /XYZ 90 219.8869 null]
->> endobj
-4276 0 obj <<
-/D [4235 0 R /XYZ 90 139.0049 null]
->> endobj
-4234 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F100 2135 0 R /F99 2213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4282 0 obj <<
-/Length 3290      
-/Filter /FlateDecode
->>
-stream
-x��[ݓ۶��B}�E�Z0�?��C�&�I�4Mܧ4���xg6��P<��}$$�V���$щ����� �a���
�)��a\���+<{���rE��Kx�
�����7R�
2��ٛ�V�$HPBgo�~���bI0���W�v�����j�����Wo�+o�U�|s��=ԏ�n],�T�����p�>�X����y��0��H���ͷW_���&�����Ͽ��

��+���b�`D������������^O�������%�HK��IGQ���;J��QKę�3/f��/J�pLï�`�P�Ȣ���%
,el�};#���6
�"������1D��s(Fz-�]�cS���P
)Ad�N*g\)D�Ʈ�ÿd�~���3�5B�)�DBH@
�i\�#l��2���R|���-.jVFMY\�;��p(v�����м�C�ܽ���
���bWT��pS�[tjp�@��	�cnl�"A�8R
�5יp�b�p&�!cׅCd7��3�!�b�ע8450�ۓQA1G���'�T�K�3��LTH��PJ]��DTx1���j����?��_���u����坋���>����%�W릪���C$��
3�1�8%UHՅ�7uY��	Nb��6�t��Hsb�HKX���	s�?
	.�r�|<���`�Q�s��)��<F)l� ��\����
-��q�B=��
JN�����!c�
L���
��q��f�
������M�U�
-���Tκ&�K���������Uq��܂��y�ԫ�9�ܴNz[�r�Xh��b8a�!�$�	~sRv(?�c�Ӽ��sOc�,�
-����\i�m�:������^����qӔ��s�{��ʡ.P��ů:���^��5ՠ"���Xp ��\u��y<ʹBCAN����� k��G/���P����A��"tg�c
-�G�c���0��11�ǴqϏ��e�16~?f`����t�L��P1�e�	N*g
:!���_�?�
�Iz
L�E��H�k]Y/�����d��p_/��W�	n31�
w�'�M���1_>�ͻ	e�"(�
�nsL�:
x2ˋ

p*/���;;
-i�AsRyV<�K�gi�����U�7f�ul4ї���C�!��z5ޥ0Hp&�#wBӚ"�8��}�ŰFZ1v��x�Hk��
-A���P�4�JC��������
Cu�49�^<
d�5�ƭ�Tz�{��iA���~Nr1��J!�\�Ł�;��Z
�"dA"NJ
8m�)CJ�����lnU�M_����������%��݄�4P\t2�Y%]��P�=��WH���������94���f�˲w�0A����#�I����#�!��n��������T�:��%���Y\B�E�u��`iͱ8G��v������}��4�S�a�ʳ����a��q�u�L;�	el3�)�rb?$ٜ�"#
_��!ԑ`s/�1l~��
&��X]�":��
:'���h�/��@��n0���e�
t:��yܭ��rS-4H`��q_���)\��j|�q�\Յ�G�n��mQ�퓳���*�dڎ�铙)Hd&/��LI��̔��2Sd�����TТ�m7��q���^��8���|�Ho�����
P
-4�F�@����R
�2iy�
<JT�e�ׄ��:�������c�zW1Xi�x��uE������3�@Iy	��:���,��?6{�
̮��U�
���Oy�w����(f4�N,��‹�e3�<����ؗMa��}�
F'at��Q-La�$7i?.�T�:�
�p�N�œ c�+�|���s�Z-���]���~�a_���Q�a큢��T#�P�V"�Ir&�
ӂ��/�3�{�G8�0�4�/��9d2F��#4I������"�
t��Ӊ�^�/��8�D�q�I+��+6{(삢Q�Y/@@��WS�`h�p}�*�Xr��0[�9�g2����
*I�ٜ8�qBaJz-�s�\��3�k0��4��΋�sB���F�sB�����9!����99!�1�	I�.'D���	��3rB�P�G愔����p�	!����^��R�I��2N\�.ԑ�M/��xؐs��O�u�rt��Pa��P���Z�4
Cғ
ɀ��5x�!����s����)��N*ˏ��Ds�6�x/4z�H�����pb߷�@jm�����~AhXhܤ��2�%����;"{���8wؽt�x�����m��S����.]"!�H� [...]
-$2�˦ʤ�c�
��S|�]?����&�Tw�
j#帬�{�
2�n=�'=���%�
�����:ʁqʍ�~0��7�P�J�{ӱ-��dl)�N�X 'ڽz�'����~�Ї��XM YC+��S9�A�����R&�I�̔�p�l�]W �	���n��c-
-�6�ժ=�<�Сs~,<mk>V�alQ
.
5k��/s�%k�»"�س��A��]�xz�ÄI
-l��9�f��Y��ʘ訋19�+�Ům���-�ٯ��b~د�ŋ�%@aB,6��~:5c@	��fᔍP�������}�e����V'�����UC�����W�S���]����e�t�|%a9���vB
L!Q��
�Fo/�-�l� Ŧ���1Ͷzp7ʘ��2�I
��F��n;�h�ƜK���t��� �IF�30��q<��/��H!
I!7l�����Pdz����Z�H%�]�R����~Ē�3[v_��p��o�Po5��ף�8
��
-���
׌��
-X:�|&P�L ��	>)L.B[��/�C�6\�
���԰	��r

-�H���OD/۝�؉r�B
-c�
{�UӀڛ����w�o��Q������S��X��K��À�Uy�����+R$��t\m;�7�s�3��t�i�gߣv��P�_,�pWk���}t�mA�ު*�.
�/j{�-���������Q������ܧ��7�,�_t�W�C�v��f�����Z���רl^����
f�r`���-��K�y��^�#,�U�����.���Yj[@4�0�1�g~endstream
-endobj
-4281 0 obj <<
-/Type /Page
-/Contents 4282 0 R
-/Resources 4280 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4184 0 R
-/Annots [ 4284 0 R 4285 0 R 4287 0 R 4288 0 R 4289 0 R 4290 0 R 4291 0 R 4292 0 R 4293 0 R 4294 0 R 4295 0 R 4296 0 R 4297 0 R 4298 0 R 4300 0 R 4301 0 R 4302 0 R 4303 0 R 4304 0 R 4305 0 R 4306 0 R 4307 0 R 4308 0 R 4309 0 R 4310 0 R 4311 0 R 4313 0 R 4314 0 R ]
->> endobj
-4284 0 obj <<
+4219 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 720.2859 175.7479 730.8162]
+/Rect [133.915 371.528 175.748 382.059]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_29c63b939ed830a0395170835e60beaf) >>
 >> endobj
-4285 0 obj <<
+4220 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 681.9317 205.6355 692.8356]
+/Rect [133.915 332.3 205.636 343.204]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_fcf86304f17dc474e1e5bbe0486c1b59) >>
 >> endobj
-4287 0 obj <<
+4221 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 602.4361 164.0421 613.34]
+/Rect [113.91 251.538 164.042 262.442]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4288 0 obj <<
+4222 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.5402 602.4361 202.4974 613.34]
+/Rect [164.54 251.538 202.497 262.442]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_a948df90fc7880e7e52ceef297ee9bbf) >>
 >> endobj
-4289 0 obj <<
+4223 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.8346 602.4361 279.9663 613.34]
+/Rect [229.835 251.538 279.966 262.442]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4290 0 obj <<
+4224 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 564.4555 164.0421 575.3594]
+/Rect [113.91 212.684 164.042 223.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4291 0 obj <<
+4225 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.5402 564.4555 202.4974 575.3594]
+/Rect [164.54 212.684 202.497 223.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_2cb39e7c88e9e724e7970d0e953f2c81) >>
 >> endobj
-4292 0 obj <<
+4226 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.8346 564.4555 273.3408 575.3594]
+/Rect [229.835 212.684 273.341 223.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4293 0 obj <<
+4227 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 526.4749 180.5399 537.3788]
+/Rect [134.114 173.829 180.54 184.733]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_deee840f3313b6050d439dbe5fe2fdd7) >>
 >> endobj
-4294 0 obj <<
+4228 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 526.4749 258.0087 537.3788]
+/Rect [207.877 173.829 258.009 184.733]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4295 0 obj <<
+4229 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.7419 526.4749 349.8736 537.3788]
+/Rect [299.742 173.829 349.874 184.733]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4296 0 obj <<
+4230 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 488.4943 178.2386 499.3983]
+/Rect [134.114 134.975 178.239 145.879]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_af7dc46b2cfbd6650ac1d2035d331f15) >>
 >> endobj
-4297 0 obj <<
+4231 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 488.4943 255.7074 499.3983]
+/Rect [205.576 134.975 255.707 145.879]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4298 0 obj <<
+4232 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.4406 488.4943 347.5723 499.3983]
+/Rect [297.441 134.975 347.572 145.879]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4300 0 obj <<
+4233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4237 0 obj <<
+/D [4235 0 R /XYZ 90 757.935 null]
+>> endobj
+4238 0 obj <<
+/D [4235 0 R /XYZ 90 715.095 null]
+>> endobj
+4239 0 obj <<
+/D [4235 0 R /XYZ 90 676.241 null]
+>> endobj
+4240 0 obj <<
+/D [4235 0 R /XYZ 90 626.428 null]
+>> endobj
+4241 0 obj <<
+/D [4235 0 R /XYZ 90 587.573 null]
+>> endobj
+4242 0 obj <<
+/D [4235 0 R /XYZ 90 548.719 null]
+>> endobj
+4243 0 obj <<
+/D [4235 0 R /XYZ 90 509.865 null]
+>> endobj
+4244 0 obj <<
+/D [4235 0 R /XYZ 90 428.983 null]
+>> endobj
+4245 0 obj <<
+/D [4235 0 R /XYZ 90 270.512 null]
+>> endobj
+4234 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F97 2177 0 R /F98 2117 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4269 0 obj <<
+/Length 2436      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r��}�W��6��> e=8���qEb�"�p$��+ +����\ 
��).W*UR
���t��>= �n#
�����g�o$�R�J*�˛(ő�	J��e�!&�ٜ`��3��^gWog����._��Տ�u�Տ������"�ͩ��U�4��]~��3���-a
+˘H>���חg�(�#b
+)&������8Z��"�X�D�f�:��u�?��>����n�]���|iUz�-mQ��������D
�)G��v�OX�V��V{���]޸�Y�n�ʽ\��kس����B ��MwZGD"�XP !��?Q*ƣ>���i�U��y�����a�t����;3A��6y��Um�H��G�"����ߎ��(�&i7V�#�J���,`��a�<�L�i$-v�4�h��^�k��i�8�iN8J���m�n��
� 3"bc�o��b�l{N)��•��=�	�R�k�.�z뛗!�h��`��2����:o ]��99�Y'J��:�3��wy��˦��^9π�o 
b�8f
&���Mx7���D�/� �T
����9��c]i�1��YL:
L6�	�����H�D��_B�!�U��̨ �.��l��:+����,uU��1T��f�
��,��<�tʀ�I���jp�Z\ѽ�b	򕰒	R	��:\t>�j_,��\H7��
lv$�;����5��W
��O
���
+��u���H]RJ�����T�ڈbun��M�(�U�9wd��
(‰��h�jso
9�#�I;|B�愦H$2�s(������۬Xu����Y�ŦuQ{�}g�L�Oc��g y�ԙ�����_�EW�o��h��A 
+��T����^�o�
��[
��
z�^A�I� y�
��n���*X֐0�`p�l��^
� KT
�co�D�k��R���
�
d'3�ؕj�>W��!�ȍ��0B3,
,'��1�x�G��d1Ĉ��AAQ^D�~���1�˙�ns׻Bœ
�|NUc�������d�'��׻�!�r�x�.��
+
Bƀ����X�BXM��H\��˃	Ƅ
2�d�,�yi��y��P?v�E�l�E�<�PNl����c#�$T�$�Mu,Jh� ���FJ�YL��
g��T�t_d׫<��L�{��h>��
+�I��l#)�?���gg�EyW�MNR z�FI��6/�j�Ipd^�����2���J'�
7}��ܾ���
+o��r��6/ `�
�M��
q��~
��8�
����.�R�\�+"���K�iP
��ֹf� ���[���}<�d�:&��H�	��J�:^�)% =^�)%@�T�o[��� �Ҥ
���f�� �C.p��>O�ҷ rW/|�N��x!�XUy���)���H��FYA�l��ȶ���|��6�9�	qĽ��Q� �i�cQ�t�q?YK�(�b��C�
mAe6�4
���.� ̠[c�N�fO��`\4t���90��
���b��V��g�]����=�6��cQ޺9wn��E3�y\_W+��_}��RH���7/C�}��ԭX9=�:����Sz�
+=@W��DBc�@���	��af$6g���$tds	>.�;;���~H"Nա*����Z
D���gxA�AX�]�b���{у˚�����F '��!A�� ,
+�p���1KC6u1,����\瓶��oxg���LG���L�������<�Ԡ�[�9�r9]M
� p*y �B}p/�t
���ܦõ�܅��GG~�eԔ
/Om�:ڝ*�/��s��ۻ!����̃���7p�Q�.������e�L�5S�f�z�>u�~^f���nז��c���o=ƫz&Ğ]�p`�@P݉㟦5�Z�*
�{�Oxd��7�ܹ�h�.��
�]N����=�1���Е>
s��2�\���c�\��<�m�A����� c��	��}g9"���羺

+O�ZŔ��?�~g.1�t��:��� ����gZ��塱��Xڏ�_��b�H⨫د-$�ɱRL\%�~�񶨖���OOv�~��P
�zH�,�����c�����`IJcf��p`�`�
+q!w������!m���
#�jB�2m�O�������g���
3�S6��h��
OC=S���d�z�[��g��jq�1������Dhb]�����
������^��"}.N�Lf��G;k���^�X���D{{�=y<�a
%z�
+�L�B<�p����_�x���c4��Qc��O�����
p��Q�j���s:|
㜆q>�s� ҒS�������{c-�|���ۇ��} ��ot�+���&��jF��󗬄�9��Y�Y;.1"��$a��@�te��Ӳ��w����F�wƠ��`��]�n.�����ѢA۲�Ԩhϡ�9�-��	�R՛��r���*oQ��u��f������
+endstream
+endobj
+4268 0 obj <<
+/Type /Page
+/Contents 4269 0 R
+/Resources 4267 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4127 0 R
+/Annots [ 4253 0 R 4254 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 ]
+>> endobj
+4253 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 383.0307 226.0342 393.9346]
+/Rect [175.349 670.008 226.034 680.912]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_e0c9395c1ac4d96e245be43fcd76424c) >>
 >> endobj
-4301 0 obj <<
+4254 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 383.0307 371.3076 393.9346]
+/Rect [321.176 670.008 371.308 680.912]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4302 0 obj <<
+4255 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 345.0501 164.0421 355.954]
+/Rect [113.91 631.173 164.042 642.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4303 0 obj <<
+4256 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.5402 345.0501 213.6456 355.954]
+/Rect [164.54 631.173 213.646 642.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_7415de7b412a5e297810ff35a97a2849) >>
 >> endobj
-4304 0 obj <<
+4257 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.9828 345.0501 318.2323 355.954]
+/Rect [240.983 631.173 318.232 642.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4305 0 obj <<
+4258 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.3888 345.0501 441.6384 355.954]
+/Rect [364.389 631.173 441.638 642.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4306 0 obj <<
+4259 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 307.0695 164.0421 317.9734]
+/Rect [113.91 592.338 164.042 603.242]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4307 0 obj <<
+4260 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.5402 307.0695 213.6456 317.9734]
+/Rect [164.54 592.338 213.646 603.242]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_54cdd6074f90a5623c8ae7ddcfedc5c2) >>
 >> endobj
-4308 0 obj <<
+4261 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.9828 307.0695 318.2323 317.9734]
+/Rect [240.983 592.338 318.232 603.242]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4309 0 obj <<
+4262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.0352 269.0889 159.4011 279.9929]
+/Rect [137.035 553.504 159.401 564.408]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_c8652f34bdfa731c02c1900f62bd5e88) >>
 >> endobj
-4310 0 obj <<
+4263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.3367 269.0889 327.5508 279.9929]
+/Rect [166.337 553.504 327.551 564.408]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4311 0 obj <<
+4264 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.7822 269.0889 513.9963 279.9929]
+/Rect [352.782 553.504 513.996 564.408]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4313 0 obj <<
+4265 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 157.8928 227.9514 168.7967]
+/Rect [177.82 441.496 227.951 452.4]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4314 0 obj <<
+4266 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4283 0 obj <<
-/D [4281 0 R /XYZ 90 757.9346 null]
->> endobj
-4286 0 obj <<
-/D [4281 0 R /XYZ 90 620.973 null]
+4270 0 obj <<
+/D [4268 0 R /XYZ 90 757.935 null]
 >> endobj
-4299 0 obj <<
-/D [4281 0 R /XYZ 90 427.5357 null]
+4271 0 obj <<
+/D [4268 0 R /XYZ 90 716.221 null]
 >> endobj
-4312 0 obj <<
-/D [4281 0 R /XYZ 90 220.6437 null]
+4272 0 obj <<
+/D [4268 0 R /XYZ 90 504.247 null]
 >> endobj
-4280 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F11 411 0 R /F100 2135 0 R /F99 2213 0 R /F8 523 0 R /F1 573 0 R /F10 484 0 R /F13 567 0 R /F7 526 0 R /F25 344 0 R >>
+4267 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F98 2117 0 R /F97 2177 0 R /F65 376 0 R /F8 504 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4327 0 obj <<
-/Length 2590      
+4280 0 obj <<
+/Length 2331      
 /Filter /FlateDecode
 >>
 stream
-x��Z_s����d�=�9��C ��<��K�4���ܾ$�+-����#��u���@�H�N:M��!A,�����
�	�?6I�DKMR��|}E'���+f�g�?�	�t{u����������};�bDr�'��#ƈ���4z;e4ʪu���Ө\�����_�UY������<T�|3ϧ3.i��*�k��C~�WS�D��	MU�T<�����7�
�vR(��}���g:Y�F���D���<B���|����p��ջ��w�v at H1$LLf��e�J$�,� 2���Y�J��h�S"i�����hvߔ�y�r���if�1?��H�r����6;�S>%��dT̈́<̆�
�V����$������?QI׸�$�
!"���[J$D�,��
-T.8�����g���4�8l�t��l�]�̓
���=1���~}W�L߿
J{<pP;�L�� �`ݩ�/��]��|�u�YQ��y���
'��
@�ѻ�p�<���|�d��.�MM�3�xO�-�c�,�E�r�[���nc��Hׁͤ$V)��
mϓ�l�X7�n��
�g;:�4�7�iGx�ٷ�Kc"����v�IBSay����\i�u��衘r}DA��g�o�$��2�oG27���P6S-�DI�-�
�pPA
��H��i2�or4
Fp�Nx�
��=Ca�gȼ��D�v�� 7��Z;v_��ǧ�x2~Ӭy�6_o��}]�|�"�E�[���.���O��M�����t��b�[_�Z7.k��
P5u��h�<i�;C/���9��ι�T�N��ke�a�3~ןc��vd��_6�lX���\�J4�Gc7�����Un-�h��,�d��l�G�'���n�M�)ؽv������9A
�>��X%� �j
-�V�tv����7�V
-�"�o�R���hػ��1�z��쇓
dC�9 at 4�(��
���=�{����R�_8CEW
� �
i�e����w�A�f��΄7>�px#h\i�1��4bgò
[ߓ�1�qd��ͼ\�GW}����.[�>���8N�K�;X���� �N� {�ڝ
�Ò�G20��b��1�eo�Xʤ��(
�b�z��s������$����;8+:�Jj��D?v�v>
A���%�9��e�[���[l�q����
�듏��#�G�g��������C�B��)� LjM����'&:����s�h�>��z��7��7�e�g�T���勀x!�$Iu
-'?�w鯂�1�0�)sgL�ܠ������nz��
�$C�ab:��؄���F��s�l�b���@
B�8�	ҡB]��|
1�,�s��Ll�"!2f���q6�
b �N�e�!��0$b�k���@��� ��� -�N�RHx�c�pd���1b`�(��"��.z�AJBx
�>R�hS�ݦΚ�Ɛ�D�G8h��q��)�ʙ��u��2 ��A�,uW(����	�S
nh�,�b"�b�@�PH�
-��<�+�厃|^�N^�[
Y���/3,�|İ:��a�g�:�2-k
����{�����`X̀Up�}%����%L)W���=�M8ץK͊�4nP������c[?޻��
'�#2�@F˗��#��#�1s���-8��ՙ���p�He#Q�Q�7�0����R�+Q ��*��⛋H��;u?�W��|J"��_�d���\fb>���udc�N�Ԟ�|��E���v*p���
/�T��.�J�t�.�ؠ�m�{2ʤ��c.���
�|�J�U��,�h�7��<l؋�$�V%�},m
�̥��Jv�SC�����
[�>
 |�;`e��7���n�bs_Vk�`2%O
���
 �kWE���6�h
�����߹#��hx�iZ���)0��1�y�����+K8�4����S�X��T�����!��0�†ԑy�<u��s�2��6�0M�†�e^i˼2ږ�쭻�B���<�-E���T*m��櫕�EEy6_�/F��
J<.�{t3�Ɛ!��y,���u5@տ�	�5#ZwW
y�:̤Wan���+yz��0!z���Y����eu
���wC����ƚ�x��Uw)�e��Pi��$�
-��
����X=�F{�_�vO�~P��w{�^ۛ�b
����z̻�%ss��8%�&w�\?Y
���l}�F�
��Е��>���2��%��!�K�ӤV(�M�I�p�,�M�P=�؈��E��Mr�zA���
����Q�1C���b��V�/4��e��=C&��
-�饵�|$v��B����<�r|��*þW�^�Z�$�ObPy�}lM:�@�!��_~i���{c�������o�P�պ�*���E{��ޖjz�4�I����G3���V��	zU��
�I�v�

A��\�\L�;,�����~Y1��"��(
-�1%�/��U��2��9�2?^:Ti<&z�ַ�-�e��~[f��f��:�^፾�A��mv���
-���J
dgҐw�Ir�5G|뾀L�'��}vf����nO��=/�f{s}���H�5�m�mE��z�]]�%0
�u:��YGt�KO���N����@&qZ��ҋ'�	��H1�<endstream
+xڭYi�������Д��ٹIn���I���o��1Z
��P�LRޕ����s����+�p��xޓػ�����wwW�?H�E(�Tzw/�^ 	�xw���'�%����q��W��Evܪ��W?��˸<�ܼ*����Z,����,�*���ڨrAB߾%,��'R,���tu{w�� A�#� ��	o��z�{	���aĢ�{0�v
�
~3���?��cf�k�^�� �
!�A��!
o
�}�%��+�Z����</Hr�-	P��?�
!�zӏ��?|c�YEC$#:������!
H _��?��ђp�8�mI"�f��։}SdY���H�{;�.��V�!����ٵ��`n
{	���7q�������4

O����=��`�3:��Aϸ��YA�
�Y�+ ��2�Ě%�-��s_+tW�͡�,��q�jOȗGH0��i峍��>�"��q��$ݩ�J�|Br�FZZ��m �V�7� �H
�x�$G�H� 衳8��
�����
�F1
fq�m��}�v>�Q.���6��>�U\�(���S�q����I�Ų�SO��~և e��Z�bW����"� �
I�x�\�rPPo�:v��W��j�j>Tb'�jl��ex�L"<
�M�U
+�`GN�ݢ�-��heV:�L+�C��s��j�?�q���e���v�+J�|�/8֫u �� �o��`����"n6ԓ��"�4�j鰧�Cs�9�U\�n���4f���
m�����
��?}1�?]L�������e\5*�/�$����U������s�LB$&�cf3Δ<י��
�Qv���Kr�O�C�O*�}���R�d��K�
����h�K{gu�T��]2� 	Q�#��HH{�eM[[ig=i��T�-t� �3ճ����>���g=�IҿJ�?�;���c�����8O� ���!sW��%�ƣ[����Z�
�|)����<6�O��A_�p�*9d����2��;4�f3ڞ�!�
�^'|��{�]�Sp�zZ�N
TG��[�޾1)z�� ?�V-Z�~�u���H$pg'S�r_��r6.
�@*뵪܊���'N��

��B��x��3V��f8��iU푸0��o����ڧ̸\�ʂ���À��6��(��QNr]�f�;��鑂A�Ѧ��s'j��:��Q�f/��T^�t����逜K��z]q.�?�
 UW�P� z1m��0��Ƀf᧩�B��>��3_̤�B �gY��IKA�"(��
4\�qSU]
�O���
�\5�!��L�
¤sXz}���y8P�y
���l�%X�ʭ*����2��̥�D�e�RzN�SV ���<,ULx�%S�
!t�)A��s��O<qݠn��1��cJ}9���38G8�i�袄'
§��^&�8(��s�HW��?�V�
Edf3�o
%M�$i]��$��0
+m��]��
������޸WÕ�b8��$���kh
+*�٤&>}���A�g"g��
+�9ё�n�rw�7�4��� ��#B.��>踡u�n��p���>�/�^�.tt*Ȋ��̐tRθS����c���V�q�.IOdiR�U����]�t�����W��s"t7�t=�v�|����Mk��
4=���TWB&l���	?
�
��Ǟ��@>"���
tr�>��8H�m�+�U��C��U��u)�����¶WҪ��+����E��s�K/A�#��s%3��BUr�3���}�� ��d�����?몝 ��<O�ݜ�&��~5r�C7=���i��#q	C�m�tߟþ�<��S�O��� �{��GQk�D�&��F�o�}��	巛����}\�����
�-���:�ؑiA2�	�1���J룝JRSfm ���!����}�ڬ+���:]N�á��Qg���T_HG�4����aQ�k0FPH����ի&I/\�����^
��/��i4�S�����?}
?�	�����R	z�
�4�F�* 
+>���bg=!�����D1�� /�CD_=o��>�U��@&6���u�{��q�V@��a3U�e\�	wz��q�7iE�_��D�C(<�9
���ۼ��
+ս�+���o�j�u>�X�@�QȰ�R��͍k^c�*.�
��j�D at 7i�ۖ6��)ܩ08E��`���	�V�

6�^���Ɵ[eԅ�~m5_U���s
! N	>���u����
��Cg:v�J�\���
�=���a�Z�ݷ��ANi?,!���F5�M��o^��7X;�)f�t�嶮�7��h]�C��K����}v}����;m	�i�K�3Gۓ<Q�� �.˟
+endstream
 endobj
-4326 0 obj <<
+4279 0 obj <<
 /Type /Page
-/Contents 4327 0 R
-/Resources 4325 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4184 0 R
-/Annots [ 4329 0 R ]
+/Contents 4280 0 R
+/Resources 4278 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4127 0 R
+/Annots [ 4277 0 R ]
 >> endobj
-4329 0 obj <<
+4277 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4328 0 obj <<
-/D [4326 0 R /XYZ 90 757.9346 null]
+4281 0 obj <<
+/D [4279 0 R /XYZ 90 757.935 null]
 >> endobj
-4325 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F8 523 0 R /F67 366 0 R /F11 411 0 R /F25 344 0 R /F33 481 0 R /F7 526 0 R >>
+4282 0 obj <<
+/D [4279 0 R /XYZ 90 204.564 null]
+>> endobj
+4157 0 obj <<
+/D [4279 0 R /XYZ 90 182.252 null]
+>> endobj
+4283 0 obj <<
+/D [4279 0 R /XYZ 90 182.252 null]
+>> endobj
+4278 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F8 504 0 R /F11 418 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4332 0 obj <<
-/Length 2501      
+4287 0 obj <<
+/Length 1840      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�۶�~�Bә�Rb��N@�u&q�LӸ�&�|q<7<�w�1E*��M��=
���қ6��$��.�>�
�L0�!�'�H�f\N�3<����ψ{���d(�����)&iI���A$(�����)!(�%c<}7#x�5���݌�i]>���&����n��a>UW��6��,�O_��fco�o�fF�Ծ%,�rJ��}�����eo�[�`��~;{�O����0bZ��=<`D������?�g?����Ǿ�>��AsD:���BRD�TNR���u���
�/��6����Ʊ�K.:��*Ϛ�ן�M��ue���8�����W,�X���}X;-��\��■�:[�W����'/�|�؛��
~��Ov����+��vr�!��@B��\u�_�<7f-���Xy��~ɚ"�.ss_��)$��13���NL�&�*��
EuW��ۼ����͛��ÝjA��4
4�o���������do��e��;�Ƣ޶V����O=s�*���@^-K���cޜ�t@��6�1BI'xy�B;[�۬��`�ژj���rio��h뿹�˲�Q1�/���~�LQ�@��\a6
�Q ���P�H�b��"Ώ�؋
"a�1>�a��T� C�:�
뤀@4Տ��U�
`E8���V� 8Ɓ��Ѱ���!t�v���?�9p����@�}��UT��b!Z�Q�zZ���,a�N���o�ҍZ���:k�b�-��>��6��m侴O�
fb�
6U
qQ,��|�C��� 
r�
�i����ixb����-O�w�6�	!��߶����++-�{a���M��Kd}$�"#%Ռ Ř��=�.��6m�]�&K��l/����w�b
��Z���(G�k:���aQAc����Z�l����
��V���j9�
-0[�F
�M�3'��UG'�q��TT�
�@{�^����p��Ւr�um���,�w]�dֵ��[����v�b��V��n���ǶB���KL����V �3��N8W�i���B�Pj\V*�0f0�)��h|�y��
f6��AL��l0�"@��1c�.�s������˫����<2J���Gz��1��)fH2����kl�������S�$�GvVAfP
�CX��zI1����p�$��sQ�6_]��l�E�O����+�
Řv��t���;p_٦!l
0N��!����a�w��Lө�7�
�B�K?
">$�]�F6�I;�7�}Q��/1IE�w5�G~��mSm�j,�R��jm�C�$�2��`IcyN,*+AE0	�@���1��iE�4�
�q���'��
�
8:JFC��d�`O����dS~��FV�ɨ�cdt�#;2'���v at FLhCFݵ�[7P-����(�LC\���0ʠӀ�de��m�5�bf΄ڍt
f����U]�lo�>�}}�0�4
B1�����
yPP�-��!-ʯ]�ao�/���q_��2J��
7�Ẑq�E�)
3$@�)�	�c�!�w�x�6 at 7!
A�j:��!���n˶�j,��6�!.$
M<�xm�G�]��݄��I#
-��E&1�S���-y�
�B(�N��O ��E{1O@чE���y��t귻��q�	z{k�s�
�%�,��
����܉�	ٖ)k�d]l�:��7j0O
-$#M�
]Ĵahb�|�2:V���N�P�-�a�j���_Q�o�*6c��q�8
�~��V�qr׷V��Ek�ͮ.8�ŀ|�
a P7����m�e
``������(+�#(H�9��'�E�e��� F�o|
OI8S�x
�Ż���D_��������v�wOJ'��Ͷm]ַ�c׺F
�x#̂6RK+�7z�� �`/c
-���Ǻ�'&E��7H!��с��r�w~z�9�@9z6c�Cp�}���7Kދ�_��@����P�nw�υ�2����G��]gZ��7�q}��/s�*(9���P`\~
~�R|7O�/��q-_Q��k�N酈��+���w�s�Clh��&���9!< �4�_�*���\���\�Јǜ�A�o�HD��_" �'P�j{�Z��V�tHv�

� nn)�_Y�q�̂��
�G@�e!�cm d���
-|O)�Lh���z��!��l��a���*�T
u���G��NB�
2�+��
*u��nLM����23��c at J
R�, ���~
���	JU�ұ2wg�]�g������������y�� a(�J*B@��]��J,S
- ���"
�����J�k�6
��~���(kء��Ra�	X��|�pD����?��
O
d�
XF?��3G ��r������������_fBL]
-~�U�a��L�7��,L�6�C1��?���khJ�#$i� ������}����d���t���5ߵ�z~~~����u���|�.���b�4�C�ٸ��x�)	4
�Ж��Ӫnr�m*���y!s
-1�wF�{�endstream
+x��Z[o�6~����6�^D���k�u+���^�"Pl:*K�$��~�%�BIq�%�Т@ I6}��;��`����ϓ�''/|�H$}�;�+Gb'�	�8�K��%���gS��0[��gS��4��Q�,��-����v>�&��V%
5�Q��gq����k�Rٔ���� �.������a��� �;����
v���K#&��+W�
�2��������y�
bƝWj}6���&�"J���t�]��ˏ�B?�
b���A�Hz���[��"�]Y�|�H��������88&�ZTGAm!�q�-��ϩ� 1
+�b�ל���
�~X��c�Š��<��
@"��Q�a�w2y���_DI
%�]����™�Hx
X
 4��_�b�%�:�U�R�)�n�l�q��O0C��=�4
����QR�����GZ�1��!)=�M����2��
T�u]��0�'HP	%��O�Z����|n��be�`Ad[y����K��8Z^��uY�=k,�%G��[�����n���e~�����~�
G�"���޴H���:-y%�:Sa���RR���]�a��˴gU�	�v��y��]��� ��o�G�}?� De�̣�pa�m@�OB=������"ݨ,,����H��`��l
@��!�H�\;�~N� ����z�����W۸�6q���1�q�g� 
d
��,4Z��m��m
�JI |pq |��K<�9��7M�~�����0��R�&�]T܌ǡ�1}
� �e�e�6�ʡ��亲�L�QQ�p)�+�
a���,	
��->�]	�L�M͈�� ��w: [...]
<�0�Y�̰w¬6��wҌ��=I��##�4�N�pBi�Y4��0�i�S<���V
+Ue��FX��ӈ9
�g!S4��`��L�C�)�3���1�� �M@~0���ل
+b
+��((�	�Y��l2M>�59R������ ~@���ʻZ��P�dР�7�v����7�7�<]�Ta(hg�A�ݍ���O�� �F]m��3o5{&�9'�
&&���A�0�VME�=&�=xG�
�Q^4� �
b����!:p�ʧ8?|�
?M��~�(NW�5������x���
x{�8$>`M
��W�т��H{Z
+��Ax��#�ϻ�w
+�+��YJB!��πR~������
n�

�h��)7{u�]v��
�Q���D����g;���(�۸5uh������Ke���\"!��KxΗ;pݭ���qyŶf�Q��Cz����f��N��`����O3{�!�!�{���5�#��⑶�G6��;r��$T��{�qOa被�*I
uD�4����
$�8��<:�ݡ"�>�3�:���L���2�umU�����?r�}7��5��
+�mwO����9w\��M��8��A
�Q�xZ��ީ�~����LT�i�yS����n�C�
m�h���8�l��h�)��mO�WiV�.S5�׬���A�_*O
+endstream
 endobj
-4331 0 obj <<
+4286 0 obj <<
 /Type /Page
-/Contents 4332 0 R
-/Resources 4330 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4184 0 R
-/Annots [ 4340 0 R ]
+/Contents 4287 0 R
+/Resources 4285 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4296 0 R
+/Annots [ 4284 0 R ]
 >> endobj
-4340 0 obj <<
+4284 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4333 0 obj <<
-/D [4331 0 R /XYZ 90 757.9346 null]
+4288 0 obj <<
+/D [4286 0 R /XYZ 90 757.935 null]
 >> endobj
-4334 0 obj <<
-/D [4331 0 R /XYZ 90 561.7824 null]
+4289 0 obj <<
+/D [4286 0 R /XYZ 90 733.028 null]
 >> endobj
-4227 0 obj <<
-/D [4331 0 R /XYZ 90 539.4706 null]
+4158 0 obj <<
+/D [4286 0 R /XYZ 90 716.221 null]
 >> endobj
-4335 0 obj <<
-/D [4331 0 R /XYZ 90 539.4706 null]
+4290 0 obj <<
+/D [4286 0 R /XYZ 90 716.221 null]
 >> endobj
-4336 0 obj <<
-/D [4331 0 R /XYZ 90 432.4215 null]
+4199 0 obj <<
+/D [4286 0 R /XYZ 90 603.463 null]
 >> endobj
-4228 0 obj <<
-/D [4331 0 R /XYZ 90 410.1097 null]
+4291 0 obj <<
+/D [4286 0 R /XYZ 90 588.892 null]
 >> endobj
-4337 0 obj <<
-/D [4331 0 R /XYZ 90 410.1097 null]
+4200 0 obj <<
+/D [4286 0 R /XYZ 254.215 512.263 null]
 >> endobj
-4229 0 obj <<
-/D [4331 0 R /XYZ 90 301.3627 null]
+4292 0 obj <<
+/D [4286 0 R /XYZ 90 495.202 null]
 >> endobj
-4338 0 obj <<
-/D [4331 0 R /XYZ 90 287.1534 null]
+4201 0 obj <<
+/D [4286 0 R /XYZ 90 386.808 null]
 >> endobj
-4230 0 obj <<
-/D [4331 0 R /XYZ 254.2147 210.5244 null]
+4293 0 obj <<
+/D [4286 0 R /XYZ 90 372.238 null]
 >> endobj
-4339 0 obj <<
-/D [4331 0 R /XYZ 90 193.8244 null]
+4202 0 obj <<
+/D [4286 0 R /XYZ 90 264.341 null]
 >> endobj
-4231 0 obj <<
-/D [4331 0 R /XYZ 90 89.4414 null]
+4294 0 obj <<
+/D [4286 0 R /XYZ 90 249.771 null]
 >> endobj
-4330 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F97 1822 0 R /F25 344 0 R /F11 411 0 R /F7 526 0 R /F8 523 0 R /F1 573 0 R /F10 484 0 R /F13 567 0 R >>
+4203 0 obj <<
+/D [4286 0 R /XYZ 308.538 187.932 null]
+>> endobj
+4295 0 obj <<
+/D [4286 0 R /XYZ 90 171.205 null]
+>> endobj
+4246 0 obj <<
+/D [4286 0 R /XYZ 268.967 120.488 null]
+>> endobj
+4285 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F11 418 0 R /F7 505 0 R /F8 504 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4343 0 obj <<
-/Length 2173      
+4300 0 obj <<
+/Length 1757      
 /Filter /FlateDecode
 >>
 stream
-x��Y[s۸~���K[y��q'�Ҵ���2i�>e3
Z�lN(RKR����
 R�|�C'��C��s�w��
�2�x��
i��l�9��X�����/b�?_��}�b���T�.��	� A	�]���	A��`��O	���&��xJ�.�oͪɯ�Q\7ys~���n�����tA��/�u�Ofm�S��n��
�9�����'�
$�L+��'_���
-.��	FL+1��	FDk:ۜp�¤<�|���
���҃ �)��
a)ؠ��ʸ���]�j9?/ګ�Z�U[���:w�OX`�K���vV/g�ӑ
Iʝ<�L�k���,"d ��@o�:�8�J�1�4��qΫ��Uy�F��Lc��(����,!GZ����E���U��)�A�1�����]��{�񺟕�t�Uo����E.��L}����!�ˉ[��mP�_���[���˲>�b~WT7~���ͦ=O8��
i�����N;R(��Q��z
Q*����(��Q��c|	�K9�
e~��e�ݟ; ��h��
��%���t�tƔ�
nA���+O�"2��r�wK�h��D"J�M
	I�Z@�A�9 9��]�8<�"ET8��sR�J8�
-C
-q�TO�y(L~M$��L�\�k��!7�h��YD��3?r̮O��A��
0^���q+P�d��ݭiL�D����ٍI�O
���(V����q�ݟ|86���	���Ȋ�EV {<��q�"�8�!�b���趩��N�T"�T���?%̈
3��Ǚ~�8���q�^g�~f"���y��ɧ�$e^lRa�PFU8ѿ��%#�S,�K���
�y�Lo��櫔�'���9<U�����Ë2��!e ;b�`
�H�X���M���"{6z��(ֆ�U�
�,�+�8��J��F�����p����ʢ2__���
`߀Z6�jW�
���4&�B��n��ij����J�	�Jc������-�3�(<��Z��R�J�tP�y�}���������}b0�
�c/ґ.�����2�<�_��(p0<��9|�9,���cX�s����μ���R��
��8I[�TW�{`����I‚�3�
X�
<�Yvf���@=�n�$��,��5
rٓ0�H�P8%�R���Y�"<�.
��Z���D�b�,��zSߘ��;O9c�������
��4�U�/�Hڳv,��s�U]-��af9-�;�Y�%�=�>'�{�T�EW�
0������z�k<�+0�Qx�Ǽ"P��`��<ej@�L�λ�,�S����p��Ƭv��|���S/��K��-�ץI�ӭV��5<Y�9��� �;���$ &�L���#��y=>l��SS�
-�wC�c��������f�8\v��5p?�
b�G��{m�v��o]�{�XH��^�O^��i�[�ɫ�X�nj��=�wU��zR�-n�V4������מ���j<�c��v��\ߏS�`�坫�h�!�r�<��`*b��¬1�c�D�\A�A��G�F���ʛ�]�O�T�'vղ+��R/wPk�/��R���xqז�.�.���*�!�~:���߻[�إ)��jU���M����
-E��f=$쫮ɋ�=?�_��q�E>dL$�i
�-�vT>�
N4��\
��uo�� }��bl���6��<s�7��
=�ڤ���y�]���޾���
-Hm��c��UP@�pfQ
�� �lBmG�l�B咎S��R�$ȁ�Q �χ��6�u؃1夲���8
ZE�PC�l�
-
I���>I��J2��)n>��OcF��tFbf�T� ��쑊�=���{�b2<��5ءݕP�va�"�d 1��M�B�f��|@=fH�v}�m�A�`��|K6�(����;8G�P�zAM�x�E��o��ow��!�ުs��oU�OV�T�)cQ�������MM�Hrܼ�������LS��ױn�M2j$�"cՍ�	p�l�ͳ���Ө@D�I8L� o�=��
�S����'R�W�F��&q�{����աrѣr?
��M=6w�������`�=*wдi��b�c!D�6f�
-5�H6V���6
����9|���p�8�Z��s�o�n{~vvww��-�UŶAEw%��T.��F��n1
�2�<S�	�#Y�u��*9�Sf5\��Ȟ忑�$
endstream
+x��YKs�6��W����L�ɇ&9�n�i��i�܌�� �>>�(��
|
+Rd;��ДW����]��عq���짋��
�9
+\�:'���$(q.����-�c<� x
ix�zA�<Ov�r]�W���",v��y����"�XR���IX�����bA���J���9q�Ż���_.ff6�
�l at x�c‰���;�a���
|箑J
N�?q������P��+zg�
��
����=�[���&��r�N�������Q>�F�`#����6�}\n���Q%�ﴰ��e+�$
r)׿��5f"Z��j+%Rz@��'�s��z�|����[��͂
+�=�Q,����a�ֿ�$��6O��ɼ6B�,R#^H-�e�D-�D�*���fdZ�,�J�fy��,�\�)K��'��j�z�������6/�*V a1�� 2�VaF$�#f��g�=H�
+0?�FZ#,�h��G�ߐ(S��7��J���m��dҩ��S!�u�G���S>%1�Nd�X�׉�éW�:���"������B�WM����?ȧ'#m�G��C|L#��Q��-y]�������4�FU^���۪ ���b��~�Q�6���m�Q"�Cm�¤�K�^�4̪8*�k��
+���<k��O\�Z��eU���b~�
�gpt[3�;[�ȷ��g
qBF�4L1�<}j����1"
�:�
+�>�
&6&.��܀Y�
7l|Q@�ZĞ�i�F&a%�ˋ:�����<�S�j�,_)G�C���s�C(�P��W�(�T�ױ4����
+���� �i����x�x_ܞ4[�A��t���*¸*W������}¾a�B�
V�-v9
+|2Bj?!�����"��	[RNR䍬ꢫ�m�mUb�L�m,f=��N�6&�ڏ�M)K뤊��N
��Z6ϛ�d��G���g{շ�������|]'��K¡~��GQ���#����}��հ��B���`�׻RQO���%�G��6"��B,��y� 6
�۞Z�E��
d��lA�rv/S�j*�Tޥ
+
+��X�&���Ԧ���>�G��d�dbn{\�"
�����px�[��� 
b��Ɛ
����R���	�t�
qB--
���t��
·5]}=W�Pl�J��t��:YK������Z�Ǘt�
��b�AqbIg����K��</$��Ӓ>
h7E�ZK^�D{d1&�������խE��b���<�6���=%�"^`kF3̺��Ĝa�SϞ�
�!U3�O�c%v�G:p?
8�� 47�����E~����
�8�����@�8�|wL��'�����]�W�E)��;��x4��޸�l������I���&[� a����
z�I��|

+���$�w�!�Z�o�|􉇑o&��} 	�o�}�M��1��a_Y�W�܌�2L[�G��u$܅�M��h�V�[|��>�<��^��h�6z��q�ux\�)�NdA�tL�� ?�xy�
4~�����S���&�U��*�dX\��i��(K=l�Z%�#��p�
G�4w��H�x���_��7�
����; ��@,!���?�ۏ�b��퍿� �SA��M'ܵ�0Ȱ99ЗC�-�ѻ�\����(\���_(��L��~D�F1���w����4��e�~57���RÁ��0�ä?,��\Qv�F��C`�#LE A4`�+��T���i�~�5��7M1��۪ڮ�����PT�:������69�n�:�!��*�
+�i[���x��
���
���1
+endstream
 endobj
-4342 0 obj <<
+4299 0 obj <<
 /Type /Page
-/Contents 4343 0 R
-/Resources 4341 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4355 0 R
-/Annots [ 4354 0 R ]
+/Contents 4300 0 R
+/Resources 4298 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4296 0 R
+/Annots [ 4297 0 R ]
 >> endobj
-4354 0 obj <<
+4297 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4344 0 obj <<
-/D [4342 0 R /XYZ 90 757.9346 null]
+4301 0 obj <<
+/D [4299 0 R /XYZ 90 757.935 null]
 >> endobj
-4345 0 obj <<
-/D [4342 0 R /XYZ 90 733.028 null]
+4302 0 obj <<
+/D [4299 0 R /XYZ 90 733.028 null]
 >> endobj
-4232 0 obj <<
-/D [4342 0 R /XYZ 90 634.2265 null]
+4247 0 obj <<
+/D [4299 0 R /XYZ 206.163 675.861 null]
 >> endobj
-4346 0 obj <<
-/D [4342 0 R /XYZ 90 620.0542 null]
+4303 0 obj <<
+/D [4299 0 R /XYZ 90 659.134 null]
 >> endobj
-4233 0 obj <<
-/D [4342 0 R /XYZ 308.5385 558.2147 null]
+4248 0 obj <<
+/D [4299 0 R /XYZ 507.769 608.418 null]
 >> endobj
-4347 0 obj <<
-/D [4342 0 R /XYZ 90 541.8855 null]
+4304 0 obj <<
+/D [4299 0 R /XYZ 90 591.691 null]
 >> endobj
-4279 0 obj <<
-/D [4342 0 R /XYZ 268.9672 491.1693 null]
+4305 0 obj <<
+/D [4299 0 R /XYZ 90 512.292 null]
 >> endobj
-4348 0 obj <<
-/D [4342 0 R /XYZ 90 474.8401 null]
+4249 0 obj <<
+/D [4299 0 R /XYZ 90 489.981 null]
 >> endobj
-4315 0 obj <<
-/D [4342 0 R /XYZ 206.1632 412.1686 null]
+4306 0 obj <<
+/D [4299 0 R /XYZ 90 489.981 null]
 >> endobj
-4349 0 obj <<
-/D [4342 0 R /XYZ 90 395.8395 null]
+4250 0 obj <<
+/D [4299 0 R /XYZ 136.903 413.317 null]
 >> endobj
-4316 0 obj <<
-/D [4342 0 R /XYZ 507.7687 345.1232 null]
+4307 0 obj <<
+/D [4299 0 R /XYZ 90 396.256 null]
 >> endobj
-4350 0 obj <<
-/D [4342 0 R /XYZ 90 328.794 null]
+4251 0 obj <<
+/D [4299 0 R /XYZ 90 349.386 null]
 >> endobj
-4351 0 obj <<
-/D [4342 0 R /XYZ 90 249.7934 null]
+4308 0 obj <<
+/D [4299 0 R /XYZ 90 334.815 null]
 >> endobj
-4317 0 obj <<
-/D [4342 0 R /XYZ 90 227.4816 null]
+4252 0 obj <<
+/D [4299 0 R /XYZ 90 299.567 null]
 >> endobj
-4352 0 obj <<
-/D [4342 0 R /XYZ 90 227.4816 null]
+4309 0 obj <<
+/D [4299 0 R /XYZ 90 284.996 null]
 >> endobj
-4318 0 obj <<
-/D [4342 0 R /XYZ 136.9029 150.8177 null]
+4273 0 obj <<
+/D [4299 0 R /XYZ 90 249.747 null]
 >> endobj
-4353 0 obj <<
-/D [4342 0 R /XYZ 90 134.1547 null]
+4310 0 obj <<
+/D [4299 0 R /XYZ 90 235.177 null]
 >> endobj
-4319 0 obj <<
-/D [4342 0 R /XYZ 90 87.2846 null]
+4274 0 obj <<
+/D [4299 0 R /XYZ 90 199.928 null]
 >> endobj
-4341 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F1 573 0 R /F10 484 0 R /F13 567 0 R /F7 526 0 R /F8 523 0 R /F11 411 0 R /F97 1822 0 R >>
+4311 0 obj <<
+/D [4299 0 R /XYZ 90 185.358 null]
+>> endobj
+4275 0 obj <<
+/D [4299 0 R /XYZ 90 137.82 null]
+>> endobj
+4298 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F95 1779 0 R /F7 505 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4358 0 obj <<
-/Length 1947      
+4331 0 obj <<
+/Length 1543      
 /Filter /FlateDecode
 >>
 stream
-x��Ymo����_���U���/WH
-���
�&�\`�e�H
I�q}g�/"�e�9�	`��p^��}�"S
��T�
-i��t����
|��	q�p���zr�F��FZR9��t$A�:�^�����`�g����z�޼�S<����l]�7?�uZ?.�?T�]���Uv��i��|A��P�Mc?��6Y='���D��j����ɏ��Q�`�7�|���k��	FL'b� ��t;���b�a����
��C��|P����C!����mU6�j��i[կ_��_����lZ���{��	��V=[K���1�Ŋ
��H'���|!��gZ�%\��1j�潀8���k1��D8���:���'+(hOp�(G*j� 
-I�m
�g�.��f�O����(�q�C�76ش\�R�ţ��N
�(�t���q�x�6?dQ�7�,�(�]E�_�����g�'-��E�
-,�@�L� �\���ς�w/�ZP�>���'���>hn>�
�mҢ��J�T"_?r	~�	��Ǿ~�!M���}�	��]/�U�ځ�n}����	���%"	�ηW�"
@�t������S�)�p"�hj"�$O�o d�b�m�h�i��� �RS�>���ow�v��&VQ

$�Ur��A��8�b0N���y���͏_v�M�W���,�#���bF"�i��!��"Lξ�"��A��#,��,���,8������� 
�㓦�P{� �:���= YB(?�D2@�d!6U2{
�A�����sޕz��*�x#�16#�
��0
��o|��Iap*�?I� ��>���3h0����q��0��G8��U��c��ӥ�i�4o����fa�LT
�0�|X��L��)n��i[F|@5�fDh�
����	uŁ\Ea�� ��+O5� �J�f�ր1�F&	3�
�h`qR巜�f˩r�dg�<�;�v~<c����Ȁ�'�_=�hQџ3��
�x Ũg��4�My�m��(	%F����.[�i��7�Q4`��w��]�N���S��15;'"�gh�ڃ]��[����'
|��:$w��:��]Y��]V�ɕ9&����Qsm���
�z��;O�1-�edfJ�'��.��v�A����� �U�Rql�`x�Š;j1H]�K �����nW����)�R���:���
�o��!zn��k�7�O5=e��x<�������دc���ӏ�W]
-)�x���7�s�?�
�3
�t4�������j8�lX�c�r|�߷i[�_�@,��۶=�2�@�w�}�,��X
�x���
�����
3`���#��V}�d��]��\8�۹��=�Y_����9H �Y�!D�tL�Lͺ]*�Dhl^�-(aH*���
TK�-װhpNju=�櫉�_�me��s�ҧ��
-`"S�V�e��tD�eX��������W�÷����f_�̱k��'P�s��i� v�=�,r��9.y��ޝ��Q/���	R����*v�"�u����C`�i��K���1�
A����l��6��i��
-d	
��֜���X7��{��ݵ�/��ɴ�S��Y�
�<�1��.aً]�rO�˱<�]�r߻g`y��>�ǝX
�(��G�)�Hjɏ���E���Ʃ�a.N�P�g1�*�IR���d� �o����X?k���/�惆�^vBơ�{mր���~���*T�M�2����Nj9��`��^��4puge��a��
��Gǐа޳h�bH=�6��A�k��a�I���{�w�z'�Y��ғT{阪��w���
1sY����8�2�٨��&lx�jw ;\?d�R(,Q�ٻ���O���=��=a���E{���|߶������Z5h_���, W�~�D ̕
+�"��2�<pAXH`��}	���!�%|����_T#����A<endstream
+x��Xmo�6��_!`X&�WQ2�m�
�Z�k�Oi(2��%W��z�~G��%GMҺ��Io���<w�
������'O/&ӳ�9�8
'Ž
�8s��%��O0���`7.W���b��v7j^�W���2.w�ٳ"_��'��|W�j��T`�YW��}���H��A�,�%A轿x9y~1�0!�vH㇐H2�$���{����K#�ζ�r8ep͜��_|�(C8ݚ$�H�u�����P�X�2����S���wX�ȫ�|~��*.��Z��TUZ��Ӊ^��,��iD'\k�Vf��?��:�?�W
�Z�Ø&��뫺�Ӻ��?�|m��i$P�BLJE�.�8Շ��O\�����K	�  b���Р���Req����H�{#}!F8*Q@��᭪7en��Q�&ٓ��!�Od���P��@+��#F�+�8{+ǫ<
ݹ�3�\�c�D&�a4�O�0E$��Xls�α"�ɢ���6^�;�8��g~
G���4��s/
)��n [...]
�y�lV��q�ȉ~�(�6;R�'�^K�
#�a�r-Zjn�,��Ab-�,+<*�m�/�+-/��5�۪�Cĵ�P-�ŚR1
u�
���:C77
S�{j�ݘa
ɿ-�M�5p�xd&b��zƊš�Th�u<d�4O��|L����2b
*�t����Itb��X�F����"�Q%�	�*�XX�o��:���ӘL�>5��d��?���
+���1�k>�*_.m��
�d@�KkS�F��3I��xSia~N0ڲnSI�k�ۜ*t~T�)~xt��1�y!� >g�g��z������{�V��g�<��~4��p�As���-Fn��KPfƛ��"�d����$ �
J&�|�3|�fs���D�����?��z-_}?�LKxg,?43�FN���?�!ډ|ڞ��- }X��:N�N��<ۍ�\d���fE �V���3�z&9l}
�H
��
Y��LV���
'�k�je��b��kf�\C$dW,J�IW�ͥ�F�gB�l�5"g� 
V�31���F�q��#)m�EC��E-�Ŋ��-M�~���dP�Žs��\t�
���(
�@Sz(�~4�6,@]�o&�ݽ�Q,�?v��|&#HL�pu±�

g.�w��
��Z at +/��J�;l�$�1��W��~�M�u��a��s����vu7 �G��D
��kr��5�J�Ǣ��ۂ:z6�:Os�;�v~���!�M��1���~/"
�a
�
+�-E�����
��v{�
+��ӛ��
R����c
K
�J��>�:��
���
�0	z�ڜ�s�
�z�3TAY���.�>�[M�h�����J�?yB�V�^�9����Q�Re՝`*F֥"L��v�\�ݴY�?N{�Ǥʽ��
l�uS���t��nQR�M��K��S؆Oo��V�"�S��PfU��ix�jn�� 	�L���
+endstream
 endobj
-4357 0 obj <<
+4330 0 obj <<
 /Type /Page
-/Contents 4358 0 R
-/Resources 4356 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4355 0 R
-/Annots [ 4367 0 R 4370 0 R 4372 0 R 4373 0 R 4374 0 R ]
+/Contents 4331 0 R
+/Resources 4329 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4296 0 R
+/Annots [ 4312 0 R 4313 0 R 4314 0 R 4315 0 R 4316 0 R 4317 0 R 4318 0 R 4319 0 R 4320 0 R 4321 0 R 4322 0 R 4323 0 R 4324 0 R 4325 0 R 4328 0 R ]
 >> endobj
-4367 0 obj <<
+4312 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 226.4399 192.5442 236.3676]
+/Rect [135.768 437.783 192.544 447.711]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
 >> endobj
-4370 0 obj <<
+4313 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 144.7011 198.3629 155.6051]
+/Rect [113.91 356.087 198.363 366.991]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) >>
 >> endobj
-4372 0 obj <<
+4314 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 105.8468 198.3629 116.7508]
+/Rect [113.91 317.262 198.363 328.165]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_044dbf593127c9e8cbbbe2a0d169c30c) >>
 >> endobj
-4373 0 obj <<
+4315 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7001 105.8468 275.8318 116.7508]
+/Rect [225.7 317.262 275.832 328.165]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4359 0 obj <<
-/D [4357 0 R /XYZ 90 757.9346 null]
->> endobj
-4360 0 obj <<
-/D [4357 0 R /XYZ 90 733.028 null]
->> endobj
-4320 0 obj <<
-/D [4357 0 R /XYZ 90 703.2841 null]
->> endobj
-4361 0 obj <<
-/D [4357 0 R /XYZ 90 688.7138 null]
->> endobj
-4321 0 obj <<
-/D [4357 0 R /XYZ 90 653.4651 null]
->> endobj
-4362 0 obj <<
-/D [4357 0 R /XYZ 90 638.8948 null]
->> endobj
-4322 0 obj <<
-/D [4357 0 R /XYZ 90 603.6461 null]
->> endobj
-4363 0 obj <<
-/D [4357 0 R /XYZ 90 589.0758 null]
->> endobj
-4323 0 obj <<
-/D [4357 0 R /XYZ 90 541.538 null]
->> endobj
-4364 0 obj <<
-/D [4357 0 R /XYZ 90 526.9677 null]
->> endobj
-4324 0 obj <<
-/D [4357 0 R /XYZ 90 479.7638 null]
->> endobj
-4365 0 obj <<
-/D [4357 0 R /XYZ 90 465.1935 null]
->> endobj
-1469 0 obj <<
-/D [4357 0 R /XYZ 90 367.1345 null]
->> endobj
-166 0 obj <<
-/D [4357 0 R /XYZ 90 360.5343 null]
->> endobj
-4366 0 obj <<
-/D [4357 0 R /XYZ 90 244.4375 null]
->> endobj
-4368 0 obj <<
-/D [4357 0 R /XYZ 90 163.675 null]
->> endobj
-4369 0 obj <<
-/D [4357 0 R /XYZ 90 163.675 null]
->> endobj
-4371 0 obj <<
-/D [4357 0 R /XYZ 90 124.9402 null]
->> endobj
-4356 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F8 523 0 R /F74 478 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4377 0 obj <<
-/Length 3216      
-/Filter /FlateDecode
->>
-stream
-x��\Ms#���W𴡪L���!v�T줲�UN�K�%GZV���v���� $02�rť�H��M��̈L0����%2���bs�'��^���|>
��^�|'�� #���޷$A�:�]�8%���O�]<��6�w�O��ӧj����}�q7�=�}�mS?�
�zQ�}x�����
-<�v=�ﻗ��jwM�Ԃ�Y"ȔH}����W��D��LK�Ɠ%\��W1���
���C'�+N�{���p�/o����±pp,�fz2c
i	�>"�!�G-���>#A�� H��Q4�:�q����l��T
#C0|�
-6	
=rd4a�������}�� b)��
.b�����Q�I��Tg
U"a
�B�A��������)�H��O���
4R�},���|U�<�F�y>
U�0R�������3E!"�D��z��&���g
-#�'A
�P��2ڹ�|�vo���� ��T��i�Xt�ȒFBi�v�LM�m�k_�&���/�
t�1uQ��T*�g� "����09�(�F�#�9��02F�N�:�111F��Eu���1���V��z�%z$
�*�K�l�Ѫ��j��c���U���Mݿ���^?u���0��/���G�
�`�oƔAJ��6w�׊M��L�N����`E�~O��,��Jyv��'ˆ�P�l��ˆ��Fh��Q`�p��e#G5(�l�!*���������ڍ�ƉX0
3�a���GH0hw0%�y��g��D�U@��`��7��ٶq���Me(l������}����{Q��8_�
���(b8�T�D�T]%�,
-�73J_R(A�K^+
C`�|aȳ���{�0d��'�!
-QY"�c�!K#�;*���%$ta�Q
*��*��f��cS~�06r��`��?ۦp��a��s�i��3��CM
!��S@�*8LN�A�M�d���<;9vT
KΘ
f����RR\�>�8i)�B�^�̣
-a��)L
2$*pn�
-	�⚜3kC�Y�a�ן���S�
�W؊��NΐbJ�f���gg`��ٙg�gg�n|��Q
JG��+
�7�t�nFD��._p�ڵ�m�����:��an����Q%�J����ɲ�4����1p���)��	��XxT��
��`
ꦠ)��j�C9r0��O����T����m�-�˚DҌ�Kj�H�(�4��ʚ<_���&��+�~��w��m���+Z	�𤈃�2OM��y:\�s��C�x��z$��K�3�*P��Œ�b0��f��]�#n*r
Ƙ��$Oh#�<
f)�����_>�o��sԢu���s��n�j��/G�ź��vn���5�tۖ?a̎�U9t>�a�V�֪��
�w�N&7��h4V<��R"L��&��
VL��`:�U���6���i։_f;R�~O'�×$v-����ݯ�;4	��� x=(��
	�8]ʡ�`vvd<�@#�;n1a(%H�l,<�D��j��|�0A_��f�9���	���”j�&�۫��GuL$�q����8[���
�[f��ĊCc@%y��y�B[�����u��׋ls�����H0z���$�ň�.r�����H���3a+�b`0��y�^C�y]�����<�Įe�i��[��j��
�s�2�RN��
-5T�C�v� egm6&r�У~������
��o�\w�i����]7M�{��S
D�E��tu���<����L���T��~n��Y-�t4=�}gҽǗX$v�_�!
R
Q�e��
��XH{��a/� 2Š_�g�Q��d��ui�i�
X��)�|�
�7�i��v_
���`A2X�
��7>�1L�ڔ\���������3&0�˘�_�1��r�D��dL�Eb���z_��R$�'�����w��ga�A�~j�@����

 �/�H��k��-`�lW�c�@ߔA��LX*dE�ڦ�
��6r��`�X�
{��--�k�kw4>�;�9��Fk��mL_��g�_�K\t��|�o
�
����j�9��{��t_��e�<��p�B^�<���JR<O�sZ���0�[����-̳H�����?ka޳��(�e-
�g-��H��H���6�@
�С
-�)�)��4���#�n�Hy�lh##�
�!�ŐR�^E
9�+5��«V~��	��/S�
0�93�Y�d�ÁS��
-��:�GJ�
����C�l�,�M�{N���l
�T_诡�W�bg/D������-�_Ou)��J`vAե�����LqN�y�
aՍ�U7�=Bu
,�#T7�^u
����q/��� x�-�H�۵���G�|,<�@�*bw��P:��
:>�k�s�
l�����oz��
���Y-Ȉ�e����v5��A�x}�
<HvB;؈3{�,�c ��c跬���1��g��m�j���?-�0
�N����$�,Dá
-<(�wt6P���<���Hx|����8��
-Q��
-�C�Hh�6��(
-%�+}|�����P:��t']�}v�4����_(�b��y���o���H�0���$�#ul0+H��%14��Ă_'����^�wĉ^�Ab�}�k��ϐ�2�(R�t�*9��Q.H�8��O��b�˳��C
���!ާy��u���鴅�ъ_2m9G���*'�\�f���
���nu�n�Mo)�'{?��=�@c`�Ս��0�:�\8
�;{�Tp
Z-��q�_���T���Ed�\����&A�l�-f��m�
�ˌP�.،牿�7�����s�L�f
�g����*��m�o�:��h�cҾ E�;��#��!�l���/¬IYAw8�+�U?&uӻk+��c�z� �ݗ�>�ܵ&�hBP�ϩ�x_k;�f��Uu��P��pf �5b��}
~~����
{	�NȀO2�=��"������f0�.(� 0����-U��\F��N���Nljy�,�y�m
vd�j��\��{L�!���P*vY�a�&�8~����B���a�gh5R�D0�}^�>$aiߺ�ɻ6�v�~S��78����to�
˸?\
1��k��
�gk��=�xT�ؠk{�2�P��0�X�&
-P��&���5�f�7�����M����}{s����أ�z�ݡ��f�]�$�h�?[pz�f
�p�"�`r)
r������� |��ŽQ��r�endstream
-endobj
-4376 0 obj <<
-/Type /Page
-/Contents 4377 0 R
-/Resources 4375 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4355 0 R
-/Annots [ 4379 0 R 4380 0 R 4382 0 R 4383 0 R 4385 0 R 4386 0 R 4388 0 R 4390 0 R 4391 0 R 4392 0 R 4394 0 R 4395 0 R 4397 0 R 4398 0 R 4400 0 R 4402 0 R 4403 0 R 4404 0 R 4405 0 R 4406 0 R 4407 0 R 4408 0 R 4410 0 R 4411 0 R 4413 0 R 4415 0 R 4416 0 R 4417 0 R 4419 0 R 4420 0 R ]
->> endobj
-4379 0 obj <<
+4316 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 706.9608 198.3629 717.8648]
+/Rect [113.91 278.436 198.363 289.34]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_535895e2351f7618e9107a38d9285d73) >>
 >> endobj
-4380 0 obj <<
+4317 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7001 706.9608 269.2063 717.8648]
+/Rect [225.7 278.436 269.206 289.34]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4382 0 obj <<
+4318 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 657.1476 198.3629 668.0516]
+/Rect [113.91 228.652 198.363 239.556]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_6b5016000dff8b0c774381316acc0a11) >>
 >> endobj
-4383 0 obj <<
+4319 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7001 657.1476 303.5272 668.0516]
+/Rect [225.7 228.652 303.527 239.556]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4385 0 obj <<
+4320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 618.2933 198.3629 629.1973]
+/Rect [113.91 189.827 198.363 200.731]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_cf4cf2f1d8c3e1d339b1eddc94139272) >>
 >> endobj
-4386 0 obj <<
+4321 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7001 618.2933 310.1526 629.1973]
+/Rect [225.7 189.827 310.153 200.731]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4388 0 obj <<
+4322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 579.439 206.1117 590.343]
+/Rect [113.91 151.002 206.112 161.906]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_9d7fe3b07d9e1d35c04fa2d81e32bf34) >>
 >> endobj
-4390 0 obj <<
+4323 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 540.5847 198.3629 551.4887]
+/Rect [113.91 112.177 198.363 123.081]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4391 0 obj <<
+4324 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.1025 540.5847 249.9091 551.4887]
+/Rect [209.103 112.177 249.909 123.081]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_39867871dd0a4fbe2f3cef2695881345) >>
 >> endobj
-4392 0 obj <<
+4325 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.2463 540.5847 361.6988 551.4887]
+/Rect [277.246 112.177 361.699 123.081]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4394 0 obj <<
+4328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4332 0 obj <<
+/D [4330 0 R /XYZ 90 757.935 null]
+>> endobj
+4333 0 obj <<
+/D [4330 0 R /XYZ 90 733.028 null]
+>> endobj
+4276 0 obj <<
+/D [4330 0 R /XYZ 90 690.995 null]
+>> endobj
+4334 0 obj <<
+/D [4330 0 R /XYZ 90 676.438 null]
+>> endobj
+1429 0 obj <<
+/D [4330 0 R /XYZ 90 578.495 null]
+>> endobj
+166 0 obj <<
+/D [4330 0 R /XYZ 90 571.85 null]
+>> endobj
+4335 0 obj <<
+/D [4330 0 R /XYZ 90 455.766 null]
+>> endobj
+4336 0 obj <<
+/D [4330 0 R /XYZ 90 375.046 null]
+>> endobj
+4337 0 obj <<
+/D [4330 0 R /XYZ 90 375.046 null]
+>> endobj
+4338 0 obj <<
+/D [4330 0 R /XYZ 90 336.34 null]
+>> endobj
+4339 0 obj <<
+/D [4330 0 R /XYZ 90 247.731 null]
+>> endobj
+4340 0 obj <<
+/D [4330 0 R /XYZ 90 208.906 null]
+>> endobj
+4341 0 obj <<
+/D [4330 0 R /XYZ 90 170.081 null]
+>> endobj
+4342 0 obj <<
+/D [4330 0 R /XYZ 90 131.255 null]
+>> endobj
+4329 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F8 504 0 R /F72 471 0 R /F98 2117 0 R /F34 2344 0 R /F97 2177 0 R /F23 340 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4373 0 obj <<
+/Length 1678      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���Sg3CR�.Y_�b-z�5��#1�PYRE9����H�jىS�b@Q2�s�΍�.-l���v69z��V����م`�s	b�Xg��iJ�gs�1�����b�'3��Y��Q������WYzY�D���Z�b9�S���.�
~��ZM��%�L�̾����~6�6!����yȳ�.'��`+���,����nԬ��P��u:�k��L�+�
�v�c��Gm�]��L)S���+�ťa�㛉�i�@�(^�T�Y�(׹���J`�s�F�f�%3�3f���P���
���G�=j� ��T�P�\�Zs��q�,E�*R���J�AK]�f�߯EXfŬ�W�DI&�����ut��G��_Z��zh��� ����*�zN_
�	�IhT�V=sΩ�!f�� d�9��γ,1Ϸ�*�
�mœE�m3S�8[V�􁑵^����&�Ծ���L���;�zRl����`%M�z?m����8 
+�l�*���òfB�Ǡ7!�z�L��R���p
69ஸ\$q*x������!~$��BJ
�a/KM��C��75O��;pRZ��QHL���-8�V�2�vc!L*�v���_fU޾F?<I�?lB�
�S�r�L:	b�W�#���S��;���T	HEy��%v�=�*�V�t�K ��.���x{y	������aO���"�o#�X`�@���s-`����B�O/]-�E�gf
^�	)�5!"��FPk>3�ɲ��U���0 #�V�QU; �ƀ����Y	36�&�뉕f0��ÀB �	}�>���
%�D��r���2�VI�Ǹ��<I� �D-Ll$0�N@�>�ȁz �@ᡸx`(?�xy���G����P�
a��^�:�4�R�#rȚ�a���j���nn]�I�W7��"�9xq�'�\0�g��=�L�U7��Z,��!���R틺+nL�f���^i�=�q)
+^mH�침b�e�h[j�C�Cl媚�J���V���jV�AQ^����� �H��
��U�E��=KS�A�Do�����vw[**if�)��ƾ?̀��&�]�:Nl�l
�f�߯�r.�9L���&�6�M�T�z�
����L��A�����WWPY@�u��6�> |8P��"�i��yw�H�2��C>y��eNjh��X{� 
�c��v��n�YF�ǡ(���
#��3���z���[=Ԛ��E��mw�)6�]�#���}�cHi�{T�*-g�,
nN�^�'���6=�R�$v��`gz?3?@
`�
O^l��9���T4�N!��9x<
+� Q��
!V�ic��!���Y�&i��ro#�v6/_�5?�ۚ|OLJ�q�
�7�N�d<�������V��.�^3�M��lD
{��{�ޡrwX�vw�����L�ǻT��
��#Z�"�O��;�o���u�|a���"��g�a���cd;	�(��8↢�"�	yꃩ@=
c�ƹM���.���
��rB�&/V��cR���<��
 ��
�΀
�h�!�
k at 8��w
�wn���oRX�30>���U�K�EwR��o�g)��o)��*
�D�O���
+G��R�hO��u���Į0cLs*�P��ժG�'J�-���mG]�������
+%Z�q^��<��䨧�����k�E�L��`��R��
#�h��h
+endstream
+endobj
+4372 0 obj <<
+/Type /Page
+/Contents 4373 0 R
+/Resources 4371 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4296 0 R
+/Annots [ 4326 0 R 4327 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 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 4370 0 R ]
+>> endobj
+4326 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 501.7304 179.5535 512.6344]
+/Rect [113.91 719.912 179.554 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4395 0 obj <<
+4327 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 501.7304 250.6661 512.6344]
+/Rect [180.052 719.912 250.666 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_fefca839fc7b4d2d166e7a1fe6196fd5) >>
 >> endobj
-4397 0 obj <<
+4344 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 462.8761 182.0442 473.7801]
+/Rect [134.114 681.058 182.044 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ddf5f330215fb1878018673eff609704) >>
 >> endobj
-4398 0 obj <<
+4345 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.3814 462.8761 293.8339 473.7801]
+/Rect [209.381 681.058 293.834 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4400 0 obj <<
+4346 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 424.0218 220.2203 434.9258]
+/Rect [134.114 642.204 220.22 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_e4a4890ceb257496b788e0d31dbf6d7f) >>
 >> endobj
-4402 0 obj <<
+4347 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 385.5411 155.2649 396.0715]
+/Rect [133.915 603.723 155.265 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_3fe60e1a76b2a92143004e52ccfcb7c7) >>
 >> endobj
-4403 0 obj <<
+4348 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 346.3132 158.0444 357.2172]
+/Rect [133.915 564.495 158.044 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_0a4f8e3f3469f021594ea9311c21aadd) >>
 >> endobj
-4404 0 obj <<
+4349 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.3815 346.3132 235.5132 357.2172]
+/Rect [185.382 564.495 235.513 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4405 0 obj <<
+4350 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 307.8326 158.0444 318.3629]
+/Rect [133.915 526.014 158.044 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_067b4c27cf8643f8ded50ebda77da8aa) >>
 >> endobj
-4406 0 obj <<
+4351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.3815 307.8326 228.8878 318.3629]
+/Rect [185.382 526.014 228.888 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4407 0 obj <<
+4352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 257.6458 158.0444 268.5497]
+/Rect [133.915 475.828 158.044 486.732]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_37857f2dfb7b17609b671f9070be15ca) >>
 >> endobj
-4408 0 obj <<
+4353 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.3815 257.6458 269.8341 268.5497]
+/Rect [185.382 475.828 269.834 486.732]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4410 0 obj <<
+4354 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 218.7915 199.9469 229.6954]
+/Rect [133.915 436.973 199.947 447.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_99161b46c175aa485608154dbcc866cb) >>
 >> endobj
-4411 0 obj <<
+4355 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.7625 218.7915 288.2151 229.6954]
+/Rect [203.763 436.973 288.215 447.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4413 0 obj <<
+4356 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 179.9372 161.0133 190.8411]
+/Rect [134.114 398.119 161.013 409.023]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_0bf701759fc56f8fb215c273e53b46ae) >>
 >> endobj
-4415 0 obj <<
+4357 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 141.0829 195.1648 151.9868]
+/Rect [171.185 359.265 195.165 370.169]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1685b5eb65ba36a9e715a8e3344dbcd8) >>
 >> endobj
-4416 0 obj <<
+4358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.0688 126.4621 225.7385 136.3674]
+/Rect [173.069 344.644 225.739 354.549]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
 >> endobj
-4417 0 obj <<
+4359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.1476 115.5032 227.8174 125.4085]
+/Rect [175.148 333.685 227.817 343.59]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
 >> endobj
-4419 0 obj <<
+4360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 91.6433 187.5633 102.1736]
+/Rect [171.185 309.825 187.563 320.355]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_5c85932f5fb67a78d1faf8165783d5d3) >>
 >> endobj
-4420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4378 0 obj <<
-/D [4376 0 R /XYZ 90 757.9346 null]
->> endobj
-4381 0 obj <<
-/D [4376 0 R /XYZ 90 676.2409 null]
->> endobj
-4384 0 obj <<
-/D [4376 0 R /XYZ 90 637.3866 null]
->> endobj
-4387 0 obj <<
-/D [4376 0 R /XYZ 90 598.5323 null]
->> endobj
-4389 0 obj <<
-/D [4376 0 R /XYZ 90 559.678 null]
->> endobj
-4393 0 obj <<
-/D [4376 0 R /XYZ 90 520.8238 null]
->> endobj
-4396 0 obj <<
-/D [4376 0 R /XYZ 90 481.9695 null]
->> endobj
-4399 0 obj <<
-/D [4376 0 R /XYZ 90 443.1152 null]
->> endobj
-4401 0 obj <<
-/D [4376 0 R /XYZ 90 404.2609 null]
->> endobj
-4409 0 obj <<
-/D [4376 0 R /XYZ 90 237.8848 null]
->> endobj
-4412 0 obj <<
-/D [4376 0 R /XYZ 90 199.0305 null]
->> endobj
-4414 0 obj <<
-/D [4376 0 R /XYZ 90 160.1762 null]
->> endobj
-4418 0 obj <<
-/D [4376 0 R /XYZ 90 110.363 null]
->> endobj
-4375 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F100 2135 0 R /F36 2391 0 R /F99 2213 0 R /F25 344 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4427 0 obj <<
-/Length 3105      
-/Filter /FlateDecode
->>
-stream
-xڽ\Y��6~�_�'��*�qSyɺ6[�*ތ��!I�h��aEWH��ɯ�I`�C���R�u|������ A������
-��l��³��H���_����z��3���r� 	��ٻ��sB��^����5���f˷������|]f���eV>�ܼ��>��|�ʗ��U�o�T���MVU��_򻼼&znA�,dN������W�z�v�!�$��W���gk���0bF�����Cg�+N�{��������~��`*


���-GZ¯'@DB� Dx��
ak~�(CX
-�ê�LCX%�a%� ���y�
�/y},w]l���}qȪz��n=

%q�;
+�U���������]�o��U���혉yV��q�
�
��Q)#k�:%X!"�L���?l̍����i�H�`�x��b�3�g
f��F�S l
�&�J�%
,e����~3��"�ߓ���S
Fv-����0��T��v��WA��jo,0�!�z�9{j�H-���\"��FD�
f)���W6g��i��k��6�����5��YYd��Cg�5S�PeuQ��1��'�!�3�_R�"I5O���Һ
�t��u���T�b=��	�mt���]�"�VE�\�����Z%b�P)�!��0���׈�ϙ=�F1�8����
-���{�Z��-�
-|YxU�onVyY�Ȟ�L���Z��ܾ���e+�C�W��j�Ծ���Z{К
�ڹ��	~
I�
��/�	fZ+bX:-`�4G+X�V0�Q�p��6�L8��
�M
���
�Y��+�h
�
��܋=�����.�k�_U��x"�e�/���}��'$� ���լ�P��2j�����
W�0e"�fK�94Qs¯Ss�oR�}�g�9�bdײ8��n���bX%.ߡR��D�N�~�ϯ�B1�����6"��0K�M5�
0K$�e"(�}�@S�� J{f�?V��Ä1�TDt��!/�b�^!��“ig��'
¬fL�D/���F�d	p銒��;TZ�O�b��:���Fץ=�g,K��V���f��3��eAE�^�%\+��1�nW����}j�0���l�ڈ���,�!@�PK2�+����S�f�p���ZQVk0誵���5�l���á�>��u����a�\�\
bvry|"@c����׋5�m_u9
�N�t�a�m���ñ�n�u�ݺ
w�O'r��!�\��
�
ǐ�!G���`�V�&4kHț�k! S.�~�s�NY0_�c~�r�	��Q��j�W��q���u@�����6դeS�����y�P ��H��|'� /��1�W��B���i>08��[�(�N�.ͧ��r����}������e�x�GLM�AE�)|c��J05
�J�L
�Ǵ���f��-v���v13��
-Z'I�t
� B���z0��7�
�Mj>g��~�6"���N��h"�i���q6��t
��۠w_�V�C�ԁ�W�����oۢᐮX���B��Rؕt����C�K?���z�Ζ~�鳥�`�p=�M��T��.�Hk(�1�
�J�a�#X����>#@j�E
d`"��uZ����m������q����B�}����%�>��\�T�������K?��K?d�.����^Z�JC��<��4OM��$y:\���]�
�MQ���Q�
�J0��#N���3�N�Zʋ�
؈���N�
B�>/��~
-�i9AbT��r�+�X&�*��%��XN	v�cw��b<�-�O���r:�v�m��ǃ&zh�f�߅G%��^V�&ϐS�| ��*����=OV����}
���΀5�T�,[L@/ōJ鬅�Q�<2�)�b
-
-�&�C�}�q"�bd��B{hNՍ�)
-��� t��g����w��ȫ
Fξv�O1�mNŌ�
��-�2��G%HP.!A1�'�j�!��(U��Jlh#�

��}���`���/}桨�'
���nY�8u�1K>�33�,��K&"�ኦ�����O`0�|�~}�	���O��9�'�bd�٥]���]Q/��5�j���P�7��n\���;Cd<,
� D�����pL�$j����8/$
�d0����a���1�
-4���xB�����9	l���Y^߬���Uj�K��T��H���m�� mS��U1q,D!J�3��I�ش]4V���W�}^��ϛ��~��������c5/@	,V�����8�݃���E���y�Y���_XYY�6Q�]R;�$O
[�S����*���U��
ژ<�O�FL�୽3�jɽ=�߸�?�O�����޾�&��S
-�V	}2]��H���d��z|J�	�.]��Vm0F�ZCC
+���H���)#���D�a�E�̝Sjw ��	�
���>-�CM�g<"k�ɶQ��ġR4�B�������)EA;� b)*�I�
vz�A+���@���Sۓ���/4,u��jN�lO0Y=�[gP��=}
�£
l���}+w �
��&~s�B�b\��;�
 X���%sXh0��~]�����~���y�U�8��
>�hd��{�
-��} cNh"
����3�D��0���F$Ax������0I��t'�;��K���
��U�i(KO��`l�����
�}�t��8g����vKu����Z�g�x"
��n0����
���rڈ�v����
z�����^q����'������{`06��~�|���}zs[�ʜ> ��k�):#�g��q���ho�C%Hؽ=c[�
�WS{	�yn
<>�~d׺����6��|{�'N/r$�R� xT�4��`4S���
޻��6b�w��i��q��u
�]�77>v���hJ�9��_Fd4;|���nF�ܸ��ft���"ͤ�Fya	>=�]V�o8'�� 0\ZO?'�a���e��'��g�4R����;�t�!���oϕ�s��m�
z�ͺ���h�v�A��U^�Þ9�f�O��莡ف�hM��Ӻ
-�6�םQ����ke��DynM��o���W?�K�����
-�vd�^�}]n^�~xx@�
-
wšDE��pؼ
�/-ڻ�=^��u��^䙖�O�=.w�n�g�/�Y
�p�
�
�DA����l��endstream
-endobj
-4426 0 obj <<
-/Type /Page
-/Contents 4427 0 R
-/Resources 4425 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4355 0 R
-/Annots [ 4429 0 R 4431 0 R 4433 0 R 4435 0 R 4437 0 R 4439 0 R 4440 0 R 4442 0 R 4443 0 R 4445 0 R 4446 0 R 4448 0 R 4449 0 R 4451 0 R 4452 0 R 4454 0 R 4455 0 R 4456 0 R 4457 0 R 4460 0 R 4461 0 R 4462 0 R 4464 0 R 4466 0 R 4468 0 R 4469 0 R 4470 0 R 4471 0 R ]
->> endobj
-4429 0 obj <<
+4361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4816 720.2355 271.1514 730.1407]
+/Rect [218.482 294.831 271.151 304.736]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
 >> endobj
-4431 0 obj <<
+4362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 697.1514 150.493 707.6817]
+/Rect [134.114 270.971 150.493 281.501]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_562fa08178e809398402920e5e674ff8) >>
 >> endobj
-4433 0 obj <<
+4363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 659.4753 181.845 670.3793]
+/Rect [133.915 231.743 181.845 242.647]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_9e8a61b2b759dde8f65219688548ffaa) >>
 >> endobj
-4435 0 obj <<
+4364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 622.1728 181.845 633.0768]
+/Rect [133.915 192.889 181.845 203.793]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_2e45b62cb223f5a21ced82480712e64f) >>
 >> endobj
-4437 0 obj <<
+4365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 584.8704 154.727 595.7743]
+/Rect [133.915 154.034 154.727 164.938]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_d05bc9046303661aa532423ac5a5c16d) >>
 >> endobj
-4439 0 obj <<
+4366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 547.9415 176.5049 558.4718]
+/Rect [134.114 115.554 176.505 126.084]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ea6d543c90be52299d6ffc57fc9ba5d1) >>
 >> endobj
-4440 0 obj <<
+4367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 533.723 450.9552 543.6283]
+/Rect [328.408 100.559 450.955 110.465]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_2e45b62cb223f5a21ced82480712e64f) >>
 >> endobj
-4442 0 obj <<
+4370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4374 0 obj <<
+/D [4372 0 R /XYZ 90 757.935 null]
+>> endobj
+4375 0 obj <<
+/D [4372 0 R /XYZ 90 733.028 null]
+>> endobj
+4376 0 obj <<
+/D [4372 0 R /XYZ 90 700.151 null]
+>> endobj
+4377 0 obj <<
+/D [4372 0 R /XYZ 90 661.297 null]
+>> endobj
+4378 0 obj <<
+/D [4372 0 R /XYZ 90 622.443 null]
+>> endobj
+4379 0 obj <<
+/D [4372 0 R /XYZ 90 456.067 null]
+>> endobj
+4380 0 obj <<
+/D [4372 0 R /XYZ 90 417.212 null]
+>> endobj
+4381 0 obj <<
+/D [4372 0 R /XYZ 90 378.358 null]
+>> endobj
+4382 0 obj <<
+/D [4372 0 R /XYZ 90 328.545 null]
+>> endobj
+4383 0 obj <<
+/D [4372 0 R /XYZ 90 289.691 null]
+>> endobj
+4384 0 obj <<
+/D [4372 0 R /XYZ 90 250.836 null]
+>> endobj
+4385 0 obj <<
+/D [4372 0 R /XYZ 90 211.982 null]
+>> endobj
+4386 0 obj <<
+/D [4372 0 R /XYZ 90 173.128 null]
+>> endobj
+4387 0 obj <<
+/D [4372 0 R /XYZ 90 134.273 null]
+>> endobj
+4371 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4419 0 obj <<
+/Length 1371      
+/Filter /FlateDecode
+>>
+stream
+x��XYs�6~ׯ�SJ�D@<4yi3��iӺ���d80	ɜ�
+FQ~}$H
�u�N3c� 
,v�o/ 
��_nG�
�6��k�΍ �K��qw&!�O�ؼl2���jla�HW<,�#�L�f��E�5�#
ެ*ɳ�Ģ�|���j��|�Ř�����JL�����w�_oG�F��i�
�ljD���#6b�����|c���
Dz�7��GX��Գ���
[	v�c��G0"�i
�`Y�Qg�^�#Z��ˑq7��GƳB��*��C�*��U
+YH��zm���+ɫ��z�L1�����+��C��^x��Q����,�:�1!
+
m�5���5�ך�CeC;J��٪�
����Vy��(�˄��*���"65R0;>(�����r��,���#����m8&	�Ih�5,[\�zYă���}��cB�/�����|�3�3�
�g/�����#�����:�m�E>���鎓��UR�'���Y�?�,Md�?�
*�C~�bs�҉�]�
+�s�+EQrF}!�qp,�ء�R�߶�����0~n�l��=\�l
+s�TO�6���Eՠ}&�7KVVCe�"B��
+6�����L�À �!��l5 �"�?/�����$BY
�u��Pc���*dy
A��Y^���`��a�7Q�s
W�C���
t��{��բ
�%��Q�
k{P�O�a�HUm{�����q�]��&
��"��z<q��(dүI�ؙ|�����诟��n�P�*�F�H��w�va��v��	v����
@�5&�
���d2�ZQW�}ڍ��u����H��l��n�ܶ�MF�zz�n���ϩ�V%��կ�["��.��IV�cM��xې���7���1-�� m�+3Ն�
���`�/�o��]"u��
�
([V�b@\�l��/��Hl6X��ү�ˀt\��yV���
�j�L�
�[������ձ��f]Ai�����?�`���vk�Us{RH
����i��(��'8J�€C������G8ԥH���\0Y�AoZ<�`����ش�>����g2���՟u2�7�z��r�������I{�WM�f_p�S�{і��8
_q��]�N���RL��U�#�I���]B��n/�86z礈{�x6+*)8��{ Ũ�[�O�
��w��
�o޼�A

+���
��T��9}�p�>r�@;��
ղ�5
�9z�
Bȁ�b�jօ����lw���n�[f �y�m��W�N"c���cn_�Es��O��OcJM
%�Y^wי���J�
�~J���`DЉñ��w��5�_��>j�x���\����A�r6�.�KU:�R�DN�2�>����x���

Y!��9�GP|� �?D�/
+endstream
+endobj
+4418 0 obj <<
+/Type /Page
+/Contents 4419 0 R
+/Resources 4417 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4296 0 R
+/Annots [ 4368 0 R 4369 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 4402 0 R 4403 0 R 4404 0 R 4405 0 R 4406 0 R 4407 0 R 4408 0 R 4409 0 R 4410 0 R 4411 0 R 4412 0 R 4416 0 R ]
+>> endobj
+4368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 499.3065 191.7178 510.2104]
+/Rect [113.91 706.961 191.718 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-4443 0 obj <<
+4369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 499.3065 288.8524 510.2104]
+/Rect [192.216 706.961 288.852 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_77c72d8473dc3e9856d7ff6c05ce7b07) >>
 >> endobj
-4445 0 obj <<
+4391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 462.004 191.7178 472.9079]
+/Rect [113.91 668.107 191.718 679.01]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-4446 0 obj <<
+4392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 462.004 303.0791 472.9079]
+/Rect [192.216 668.107 303.079 679.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a341843d5eadfc196441cad0af63ac9d) >>
 >> endobj
-4448 0 obj <<
+4393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 424.7015 179.5535 435.6054]
+/Rect [113.91 629.252 179.554 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4449 0 obj <<
+4394 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 424.7015 242.9251 435.6054]
+/Rect [180.052 629.252 242.925 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_548ae200545f7d25b875f190b5611368) >>
 >> endobj
-4451 0 obj <<
+4395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 387.399 179.5535 398.303]
+/Rect [113.91 590.398 179.554 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4452 0 obj <<
+4396 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 387.399 285.5155 398.303]
+/Rect [180.052 590.398 285.516 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_ec5860620ae92988c1740dc393064fe7) >>
 >> endobj
-4454 0 obj <<
+4397 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 350.0965 156.2812 361.0005]
+/Rect [133.915 551.544 156.281 562.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_dd39af06cea8afa45c772e94db8a1309) >>
 >> endobj
-4455 0 obj <<
+4398 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 350.0965 244.5494 361.0005]
+/Rect [160.097 551.544 244.549 562.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4456 0 obj <<
+4399 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 312.7941 252.9879 323.698]
+/Rect [133.915 512.689 252.988 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_7f5a110ccdfd8efa5e0eac984f90d753) >>
 >> endobj
-4457 0 obj <<
+4400 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8035 312.7941 322.4467 323.698]
+/Rect [256.803 512.689 322.447 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4460 0 obj <<
+4401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 223.3228 203.0748 234.2267]
+/Rect [137.432 420.968 203.075 431.872]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4461 0 obj <<
+4402 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 223.3228 296.3242 234.2267]
+/Rect [203.573 420.968 296.324 431.872]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_21f1586e66349acf7aa0d70c77f92b60) >>
 >> endobj
-4462 0 obj <<
+4403 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 209.4779 352.2071 219.3832]
+/Rect [277.005 406.347 352.207 416.252]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4464 0 obj <<
+4404 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 186.3939 194.2975 196.9242]
+/Rect [157.437 382.487 194.297 393.018]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_6e742d7ffa4f4b7037760cf3ebf62348) >>
 >> endobj
-4466 0 obj <<
+4405 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 149.0914 188.7586 159.6217]
+/Rect [157.437 343.633 188.759 354.163]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_f97f2d43a487ec81e040aec36bbc6ebe) >>
 >> endobj
-4468 0 obj <<
+4406 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 111.4153 245.4057 122.3192]
+/Rect [160.953 304.405 245.406 315.309]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4469 0 obj <<
+4407 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.1453 111.4153 325.654 122.3192]
+/Rect [256.145 304.405 325.654 315.309]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_11de7a0cc309058d6aee273d613c9432) >>
 >> endobj
-4470 0 obj <<
+4408 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.844 97.5705 367.9963 107.4757]
+/Rect [255.844 289.784 367.996 299.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence_8aab82f7118966662582f88725ce4735) >>
 >> endobj
-4471 0 obj <<
+4409 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 223.643 237.376 234.546]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874) >>
 >> endobj
-4428 0 obj <<
-/D [4426 0 R /XYZ 90 757.9346 null]
+4410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.713 223.643 329.778 234.546]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-4430 0 obj <<
-/D [4426 0 R /XYZ 90 715.0952 null]
+4411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 115.601 226.034 126.505]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_339fab488002bb5b341e1bb82edee103) >>
 >> endobj
-4432 0 obj <<
-/D [4426 0 R /XYZ 90 677.7927 null]
+4412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 115.601 405.628 126.505]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4434 0 obj <<
-/D [4426 0 R /XYZ 90 640.4903 null]
+4416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4436 0 obj <<
-/D [4426 0 R /XYZ 90 603.1878 null]
+4420 0 obj <<
+/D [4418 0 R /XYZ 90 757.935 null]
 >> endobj
-4438 0 obj <<
-/D [4426 0 R /XYZ 90 565.8853 null]
+4421 0 obj <<
+/D [4418 0 R /XYZ 90 726.054 null]
 >> endobj
-4441 0 obj <<
-/D [4426 0 R /XYZ 90 517.6239 null]
+4422 0 obj <<
+/D [4418 0 R /XYZ 90 687.2 null]
 >> endobj
-4444 0 obj <<
-/D [4426 0 R /XYZ 90 480.3214 null]
+4423 0 obj <<
+/D [4418 0 R /XYZ 90 648.346 null]
 >> endobj
-4447 0 obj <<
-/D [4426 0 R /XYZ 90 443.0189 null]
+4424 0 obj <<
+/D [4418 0 R /XYZ 90 609.491 null]
 >> endobj
-4450 0 obj <<
-/D [4426 0 R /XYZ 90 405.7164 null]
+4425 0 obj <<
+/D [4418 0 R /XYZ 90 570.637 null]
 >> endobj
-4453 0 obj <<
-/D [4426 0 R /XYZ 90 368.414 null]
+4426 0 obj <<
+/D [4418 0 R /XYZ 90 439.942 null]
 >> endobj
-4458 0 obj <<
-/D [4426 0 R /XYZ 90 241.5207 null]
+4427 0 obj <<
+/D [4418 0 R /XYZ 90 439.942 null]
 >> endobj
-4459 0 obj <<
-/D [4426 0 R /XYZ 90 241.5207 null]
+4428 0 obj <<
+/D [4418 0 R /XYZ 90 401.207 null]
 >> endobj
-4463 0 obj <<
-/D [4426 0 R /XYZ 90 204.3377 null]
+4429 0 obj <<
+/D [4418 0 R /XYZ 90 362.353 null]
 >> endobj
-4465 0 obj <<
-/D [4426 0 R /XYZ 90 167.0352 null]
+4430 0 obj <<
+/D [4418 0 R /XYZ 90 323.498 null]
 >> endobj
-4467 0 obj <<
-/D [4426 0 R /XYZ 90 129.7327 null]
+4431 0 obj <<
+/D [4418 0 R /XYZ 90 242.616 null]
 >> endobj
-4425 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F52 341 0 R /F67 366 0 R /F101 2128 0 R /F100 2135 0 R >>
+4432 0 obj <<
+/D [4418 0 R /XYZ 90 242.616 null]
+>> endobj
+4433 0 obj <<
+/D [4418 0 R /XYZ 90 161.854 null]
+>> endobj
+4417 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4475 0 obj <<
-/Length 2548      
+4441 0 obj <<
+/Length 1935      
 /Filter /FlateDecode
 >>
 stream
-xڽZYs��~ׯ�K6dy9�s at v
|�V���U���.DB
�` ���s�
&[�ڪ0h���t��Pd��Y�x!�D)K�b��‹G~E��5�_�_�^]�|��TP��}0A������$�՚`��߯^f�>��~E�ܽ>��*��cq_e�������:�M~��n��jM9^~�����~��jE�R
i���%�x���wW�޶��up&�6��W?��[X�wW�T��3<`DҔ.�W	e�aw��꯭
��|0�N�%��
a���������7M����S���U��w�æ)�C=�"�Q�q2�3�������J�J�z�=?R��s
_Q0xr�Vjn^��
ѝ��,wѼ�#B��ͫ_U�N�Ch���� ҫ-����Ę��]���m�苜O�@L�b�!�Ԍ9�)�$f���
�	uM.8�8e�z���3#ҫ�x_ۻ��!������0��T�N;�����1���iׂ7��
-b�a�!KD]�Q�Š
D at NB"��Х	�:�סc�L
-
�
84EX��<�6�Cޜ*����2�g "�
�D�5MV���@
-�:��a@�D�€�x
�!��$qA [�A4ۛ�)o��c��S&(I%�$w:�P$1L�s�.kQ��|�@l�)X��6U�
��5�rk7�U��P��� e�\ȄZ
�<3�Q�
&�������P;3���μu���)��3WQ�DfH��tu�G^/?gP�WT
��r���$@y�_|�!��N����1�R�T����k�g��	Lb�""��l�g,��j
c��3'�	,2��VjƈD#�i׈7��z(}<�p)QB h?OB
�܊i��rj�'��:�V�/M�B���Dž��	���RN���
q�� �I�#�Y�`LN��E0�/���h�h��n���!‹Ϙ��j�ٴ
-���"
-�sr�NffZ(�2�u7$~4��xK���p�^|n��V��H5��%�Q�E�
-V4�^h�<hx�J{����m3:��P:���=�:朵�ERM����l��[x��s�Q��
V�@� �
�{'�ņ�=R(3�{�DJ*��\}R:��ҋi�>
�M��_�!2
L
+�=���~�9��)����8�ȹD����@� ���
���D���7y�;O7���MU
5
�'�_�o��P�|f��S��yb��/�5ctY��
-���WC���ƜpD�C58�E��H%g��ɯ������"J��E&�Vt��g���1�
-����1���?2{��}���lY�
�[������(�y��@
o�"�AD��o
z���
I�>21�1^~
~0T��z�WC� �Tώ�
:���#m6��%��?�r�c��ۇ:����;�������-��9%����S;=�-���6����k��SS�@�ꆶ?�j�'���~9!��e����15��m ��n�
7��l��~�%
-B�t]�Yn��@<0�xg
-#��`�H�F�C%2�=�1D)��VL����1����lܵ
r�,��B]���g_cԵ���wA%	�J�+/�
D(/�
�CZRR��Y%#���<��]�
�o�e<
�J :�2kl?4�
-�mu�
�R���o	�@��Vm�ߝ�VkE�EsP���羚�����jN�I+;dT{~(���:����� �4�� �R[־�qb]I��75෾#q�Ŵ�>l�iQɤ�ֽ���̩�m}_T��@U���<l[ōÙ��!�1Y��O�
�bۢ��P�Bb��L`���#S
`?�){�GR�B
	��ҁHO &`'ց�xSH?�%�0�C� nņك���c=�0�l
��be�;{

��W�c_�<���˂rEި���$M
���dpP��A?s,+�ԋҏ
�X���K=�\4Ov�9=�9��׼*?��H0���
-�y�{VG68͛N�7�2(|�
�:j�N�U��"�*��óQ.���TiSh��?�&n�0���*Bk�b8�SE<Z��5�oPA
�ζ�	|9ZE	�S�q:
p��8�Q
RX��FGSkr�sJE��[+�-���A�6��N3�k��*��kQ���
�<pJK�PH"�]u��G���
�pw�b�:�
�ߦ�{Hr*"t�9��kO��V�x�����y�C HB��q�$@*�>
�
!C�	�l�b�
-p�3W̻xF�o`���^��p�n�{hz���\�`���6�4��¥G���U�����\
=?�U7���
��,&D�_y�%��S�qݵ�n�Q�
���A�@j
e���Y�0���sj� .����;�(&"Ť�Q�C��9�-����j�vi��ҥQ cpL_���G$

�&[(S��Ϙ6	)�,mJFKD
-ՙ�u2 �w 6�G�g�49
��;�a���H&L]
�/Eܣ�_)�l��."����~1�ZQ��0��n��p����=�#[��f��� ��@��_�d�����IK�3cS
�C��/?����T��:Ⱦ�����!8����/<��W��k~j�������3���t(�*���qw
�T$���э[�B�-
�3
C)I:�<���}Y��
��@�<D��|i��� �s��endstream
+x��XYs�6~���KSjj��H���!=�礉��4�d(��R�JR��_���KT��O ��b�o��&��7W��]�|
� EiL���>Hq��E�wy�:$�Œ`��
�ì�fo_,(��� �:{��Z�Y}����*7�^�k��ձi�v���(���ӗ�^�
"BM�ْ��$!�?�����+r�9�%,
+�۫�� ����X*�����2�����W�鄇�Ex��1�L	eǑU�
��9��
^/#����Q���8�^*s6c�ݔ�L�78�g�k{FΞ���� >{�~�|i��
��{�x�Kpp9[\~�v�#�GF�x�uB�4��1<G$apG)���W;�VY����fa
vp��H���m����9X+OxsЃ���g�KBS�8Xr�H��HG������T!s�_�f]�]���J0
++
,)G����s��d at uo�ug���������y�X2F�j��\�n~o��A��ڤ�Y�3��'ݧ��������
�9��V"*$��v����U�
I˜ͩ
+^�A�=�t��Dp��c�� �v�T���[Un��@� 8��~Z�A%���v��%����,px��k�&���f�ZgEq��Y��
��s�5�u}���v���<	
�`d
R
��J�\����>H��M����i T�����O� �1!��,�QX%�-ω.5��l�+:ٝ��}�o�[/co�W�K*[ `�H���Ǚ�� &<AV�s\b$�F�O29c���r_E�?4��&
+�&���
+	�ȗ"N{ʯN��2�y�Ek$������4�Հ�IG{ߨ@4���`�+�%��l�I���]�y��f�7w?W�d�U�{�_��~��e��ʼcܺ��J��	��ta��U�%�q-#=�!ļs_������"A$��b��3�m�
P]�{(Pd���3-�v�z��y���3��GK��gv<�>��xn�DM��:f �|��T��KK�I�[�v&��Z�C���L��d���e���,
T��H-���h�d]}
+��A:릵�:�-	8��Q}�b�+	�M�h�9�K��:�{�\$����Ht}��(Dt*S|g�i>�RA<���F�	���ih�

+Q
Mz�L `O�h�|x� �~ $|~tٙ�f�Le;
��W���}sR]��s6V#��'
K&�C�|���?�a�glR8Ĩn`�yr�&�`�97]�V[B��톨o�'f�"�{1/�A��V�)? �O\���)!vzc�!�pp>�V�$O��
��E�
�I�ĕϾ�����
+�\ 

d}���� :-�
GГ����"����]M��!7Vy���dp��ΐ�|�d��T�Y|R�Y�K6�
�l��,A���d�
�d.�
4 �hO|4��|��y�����
�9�S%�D��D�bNw��K$&�4����}�8l�OcE@������.�"��	�7皉��kNi�g�^߀������5} ã+�m'
��T�(�6��ݵ�]�����~�td��[L�ʎ�}Vg=����0ӿ�g�A�
n
�A�<|���?��v|k�v���+L��&��

�3+��Jڱ�m�d�4���qsa�6����v�@�G�>+>�
+�_<���ջ����
�
�����X��C
�/��P/t��bQU�"tm��B�d�8�Į.9��4�j�Q��a"&N����h'� m����%vղ�s�k����N:�Yr����5,�/��F��۾�Ws���B���֎
+�^�?#�\�U�<�B�s
R�J�����lW�����]�����5��_���_X{�4
�\�WH��"�{v��@.����a�Y��X��m�_��9F��G´
��+韊�z~����^h�"}��ж�ۛ����
ڗjW#���v��)D�\1x�����mUw�,ꗣ�<q¿��P
+endstream
 endobj
-4474 0 obj <<
+4440 0 obj <<
 /Type /Page
-/Contents 4475 0 R
-/Resources 4473 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4355 0 R
-/Annots [ 4479 0 R 4480 0 R 4482 0 R 4483 0 R 4484 0 R 4485 0 R 4486 0 R 4487 0 R 4489 0 R 4490 0 R 4491 0 R ]
->> endobj
-4479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 697.2473 237.3759 708.1512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874) >>
->> endobj
-4480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.713 697.2473 329.7785 708.1512]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
->> endobj
-4482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 589.2061 226.0342 600.1101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_339fab488002bb5b341e1bb82edee103) >>
+/Contents 4441 0 R
+/Resources 4439 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4296 0 R
+/Annots [ 4413 0 R 4414 0 R 4415 0 R 4443 0 R 4436 0 R 4437 0 R 4438 0 R ]
 >> endobj
-4483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 589.2061 405.6285 600.1101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
->> endobj
-4484 0 obj <<
+4413 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.8393 550.3518 170.2053 561.2558]
+/Rect [147.839 719.912 170.205 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_5cd2538767045bd89360588c37d2aedb) >>
 >> endobj
-4485 0 obj <<
+4414 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.945 550.3518 383.4799 561.2558]
+/Rect [187.945 719.912 383.48 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4486 0 obj <<
+4415 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 550.3518 513.9963 561.2558]
+/Rect [433.021 719.912 513.996 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4487 0 obj <<
+4443 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 538.3967 233.7796 549.3006]
+/Rect [113.91 707.957 233.78 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4489 0 obj <<
+4436 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.9103 438.3257 266.3628 449.2296]
+/Rect [181.91 607.886 266.363 618.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4490 0 obj <<
+4437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [111.1844 426.3705 161.3161 437.2744]
+/Rect [111.184 595.931 161.316 606.835]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4491 0 obj <<
+4438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4476 0 obj <<
-/D [4474 0 R /XYZ 90 757.9346 null]
->> endobj
-4477 0 obj <<
-/D [4474 0 R /XYZ 90 716.2211 null]
->> endobj
-4478 0 obj <<
-/D [4474 0 R /XYZ 90 716.2211 null]
->> endobj
-4481 0 obj <<
-/D [4474 0 R /XYZ 90 635.4586 null]
+4442 0 obj <<
+/D [4440 0 R /XYZ 90 757.935 null]
 >> endobj
-4488 0 obj <<
-/D [4474 0 R /XYZ 90 501.0766 null]
+4444 0 obj <<
+/D [4440 0 R /XYZ 90 670.637 null]
 >> endobj
-4473 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F11 411 0 R /F33 481 0 R /F7 526 0 R /F8 523 0 R >>
+4439 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F31 472 0 R /F7 505 0 R /F8 504 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4496 0 obj <<
-/Length 2240      
+4449 0 obj <<
+/Length 2035      
 /Filter /FlateDecode
 >>
 stream
-x��Y�s��_����� ��Cz�u�6�K�}��xh�9�H���v��� EJ�|�k��� ����. �����.���
-�.V�3�X����X�����1�_��.ߦja�My����
RFg|q�H#�|�(�ɻsF���d7��9M�����Mv��ɚ���7u�nv�Z���Om�6�K�h���6����\s�L�DȖ)�0��?^�t����h�C������}�H9���%��x�%�Z�؜I.�Ay��엁O��̹C2Jx��b)$1),Q
Q3ʉ��
� 4Ur�B� �j�Ѕ�iµN:r�9)8u�n��փ��%2��S�4)��5ݿ�����O߆'�9��*��Y^/y��o���E
-� ����z���8��%�
-�AS�BM�Yw��Pjt0;-v�:���H.��h&Ԟ
-�\rA�੢Z�a
�]���¨�
�հ{m�x�j�=�[��8�Iw�8��/U
��]�dU�z��}Eg���#�����\��8L��l�҉�ˁv	Il�
-	�����B��>|��|��
-���[������9S�˯Η�p�\�v�k�lJ'uU>��Y�9d�������+>e���
�_��H:�0���$����,��^�

�	�Ί2�-݅O !E�a��'q��M�XUV��
l;|�dO��>J@���[窰�qu��
�ThܦF��@��Y܅w�>~��C� �w{Ὃ��ݶ,VY7(����qD�`��>�1���(L��0[�˚����D
?�nE�MR{�b�-��z(�Ǣ��v�n��Q�7��N_�v���+�7�K�F\	{u1��O��~'V�&u�8+BL��B���'HC����GA"D���f�
���pG.J�G����8��\C�H�w#�2����D@��zNxB�4n۸�����>J�E$���.�26��!�� P)�Ga�/Ra���R��
Tf�	�/<Q���9a�H*���(,��sP@i�X™6�-׮(�x�B�(]WW�%�'pO���_r
`>��a_d���sca�BhӨƺ
N��q��
-g�
Y�����BAH�j���i@
���>dL�|�(P	
ځ
Wn���>ߍ�	?ѕ
iq�22T���+(�JJV�M֬=

)e
I�=2P
+3q>�v�'�\�75֝�*@s1%�<����#A U݅�,2� 
�'�|�I1Q���7"օ���/tow�ʗ�/�0b�0����E�ݎ|U�	
fX?*28|3�f�Q�eşN��{��z�% �T�Ӆr��
-5�d��̕�ג?z;����c5�%�r6�A�\�k &Mw!q,��`P�'냢�X}#s�
����l�� O�
�pzP�N�=�3W���p:��v� �ui��*~�
��eH��̹��$t�
 ��dR���
|l�����Y�+R�����F)�h๾�j���ݷ�����
^
�8�NHN�S>��C;�O*d�5I��GI�/��5���I%,����T�������j�hʞ�ƞ�(�l��S�"_�ʨ
�
-�
E�|x�>vab��xڍL�”2' ^�v�t�6pi�!�5z!j���]Y�w:ȏ�{�;���A�s��k�w��^���

��wz3~�$�\���̜�|�T�w>\s�����gN����H���g {]�s�#���H���g�����bָ�7 Y��
�eJ�1��#P��׀*xdr
vLJ�ם���}
*�yi�E��=��{���ٖ�Y.�'@+�$ r�0��� X����h����Yss�i�����R�S�


���V=&��Q�H2�N8��0���m��
��^�p�B�\����A
7,M_�Y��쪢��@��᡽ɪ�fU��M��E6f�൛�i�fB
pU���x ��uK��/� .M]�]��3�����t�N�W�}g���2C8��s9�x���a;$w��ꯔ�M~wM��\W��p}��k�G�" �����W&H�l{���scݭo/p��B�W��.<�ւ�������2�
��D)1�#�[�T�_���5.5��e� [...]
+x��YYo�F~ׯ�S�®�}��C&�,6�&��d �b�&�"�������"%�g 
Hl���ꫪ��#
�s��fu�Z�(E��"���R
IA�$�ɣw1!H�7c
�Y
g�>۾YS
��ӃΛl���ɚ���o��9�j��o��N���q�m��������͚���m	'1�t�����7�_W���zp�$��n�z�
G9��a�R=Z�}�P�e�v��
+_��2�mB�[J�]s�uu�t��}|������q��.늺2��a� ���]�lo-:���9�5ͣ�gE��j��)��}e�^�|� ��T)HZ���\���&� �G�L�
HI/�ʢ��XoX�?
�bWt��{
O��P�0K at M��b_����	����앢D�^�чF�@�4�
����]࡫ׄ�P��`�v"2(�L9g���(I{�8!hB�����KgQ��
E���tzx�I�d
�2?u@�&qQݗ����
O ���9 ��|��Q�Q��쎛
�I�B���ŀn��!�U��Ռ�x|�v���WY��Y�$6L�,�s�*�����N
]�����
a�*$��	��W�����Z'8���E�͚{KC'ʄI:�^훇�^S
?V�NJ��K %��x
+��z���yUw�K�7׿
A���=�hB
��!��|ƀ5�d¢�s�z�=��>V;K�/`c6����uOT�Y�\T�n:������(m��"'�@*��<��3$
�N� �9�/�/>�]k��_Q��T
�":����` �^� ��d*��A(�1q0����ܧ%.�ޕK�B6�S��R��tv��������^�������0֚
rǽ�u�s
j��'��f4��޹Y
�U���D��(K�ݭ?�
�V>�Y	�.��t���m�Ճ
����	��J�3�Egev���2�O2ʶ�c
�=�<�X
+-�b�u5l�Paw�R�8�҄�3i����'M0	�����,4I�[X���v�4T!�/6UP.Ff2)CҸպr�f�
^�}���}���>��e�
z�|�yC1�.B"��$�g�oP�����? ��6	���=���ԗ����#x�otikuV��7�S	��1��K��pȂ���t��g�qԺo�#���9Z�f�s��𳵛|R�ϓ�)��R�'�������wى�'S�ٚ�<<�RF�����U�U|�UO �5 ��	�8�	R�
���=��B�/e�%���
+��+,� ����X��^��f��v�U�vW��}�.� �L|��z�"������"&�sHO��y�{
���v<�
���!v%����g63!'
+�|)#𴿺����vW:�<��tSk���n��䰰Ϻ��h'w�*�� �
�F�ɥ1�� ͬMuOm!6�Eu򆉰�E�㒐0���]��Ry�e{
��J!�i��s��
q<
+ӅN}t��A����~
���H��������-v]�����(�3 y�=U at I’�k-�|i�Y�
{��64�K
�t��h�["�&������
7.�a	�
vK�9
9��,�0�����>�nz� ��I?��™
���f�I`�ߟ5~���&�������ܹ��٣.t

#�fP,ʹ\
�<�ʴ��x~�Z��1�{��DjC`p�6��A� ��
�N�_�*�M�⡂����!�Ld��d�
�-y|��R�A�����a>���b���h����e񙒳I01��
���w+l�ލ7.��W)w�z�

C����Dz	
I� �+����.�ń
x�
��.��D�`����/�
v�4r
>zO�6��� ua��L���vOE>�n�T�e����E�R�G�o�r���+��VB���O����XŧY[�q~ڃ�1����?���{�M�{�/t�[sh���Yu��.�cުv���Ff��;����Rg����ۿW���6�<����;\_]=>>�]� �����P^�K��
!	�e��]��۾n�>܀�j���H�
+endstream
 endobj
-4495 0 obj <<
+4448 0 obj <<
 /Type /Page
-/Contents 4496 0 R
-/Resources 4494 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4355 0 R
-/Annots [ 4505 0 R ]
+/Contents 4449 0 R
+/Resources 4447 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4458 0 R
+/Annots [ 4446 0 R ]
 >> endobj
-4505 0 obj <<
+4446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4497 0 obj <<
-/D [4495 0 R /XYZ 90 757.9346 null]
+4450 0 obj <<
+/D [4448 0 R /XYZ 90 757.935 null]
 >> endobj
-4498 0 obj <<
-/D [4495 0 R /XYZ 90 608.7718 null]
+4451 0 obj <<
+/D [4448 0 R /XYZ 90 733.028 null]
 >> endobj
-4421 0 obj <<
-/D [4495 0 R /XYZ 90 586.46 null]
+4343 0 obj <<
+/D [4448 0 R /XYZ 90 716.221 null]
 >> endobj
-4499 0 obj <<
-/D [4495 0 R /XYZ 90 586.46 null]
+4452 0 obj <<
+/D [4448 0 R /XYZ 90 716.221 null]
 >> endobj
-4500 0 obj <<
-/D [4495 0 R /XYZ 90 464.7552 null]
+4453 0 obj <<
+/D [4448 0 R /XYZ 90 594.516 null]
 >> endobj
-4422 0 obj <<
-/D [4495 0 R /XYZ 90 442.4434 null]
+4388 0 obj <<
+/D [4448 0 R /XYZ 90 572.205 null]
 >> endobj
-4501 0 obj <<
-/D [4495 0 R /XYZ 90 442.4434 null]
+4454 0 obj <<
+/D [4448 0 R /XYZ 90 572.205 null]
 >> endobj
-4423 0 obj <<
-/D [4495 0 R /XYZ 349.8132 377.7346 null]
+4389 0 obj <<
+/D [4448 0 R /XYZ 349.813 507.496 null]
 >> endobj
-4502 0 obj <<
-/D [4495 0 R /XYZ 90 361.0075 null]
+4455 0 obj <<
+/D [4448 0 R /XYZ 90 490.769 null]
 >> endobj
-4424 0 obj <<
-/D [4495 0 R /XYZ 90 240.7368 null]
+4390 0 obj <<
+/D [4448 0 R /XYZ 90 370.498 null]
 >> endobj
-4503 0 obj <<
-/D [4495 0 R /XYZ 90 226.1665 null]
+4456 0 obj <<
+/D [4448 0 R /XYZ 90 355.928 null]
 >> endobj
-4472 0 obj <<
-/D [4495 0 R /XYZ 285.395 163.3706 null]
+4434 0 obj <<
+/D [4448 0 R /XYZ 285.395 293.132 null]
 >> endobj
-4504 0 obj <<
-/D [4495 0 R /XYZ 90 146.6434 null]
+4457 0 obj <<
+/D [4448 0 R /XYZ 90 276.405 null]
 >> endobj
-4494 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R /F97 1822 0 R /F11 411 0 R /F7 526 0 R /F8 523 0 R /F25 344 0 R >>
+4447 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F7 505 0 R /F8 504 0 R /F23 340 0 R /F1 542 0 R /F10 473 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4508 0 obj <<
-/Length 2536      
+4473 0 obj <<
+/Length 1445      
 /Filter /FlateDecode
 >>
 stream
-xڵZmo����_���UB��}1��]S�K��-�6Q�����~}g�\jW\�
�,�Ùٙg��]��0����3%2���rs�gwp�o�����,xs}q�V��AFR9��m5H�%tv��8'�EF0��w
��y��?�[P<߭�U��GyS�������]u(����Ǻ)6WW�ݶn>�MQ�ͮZdT��뼮����mQ-��ۇ�Z͉��O�?]�����[�`�X��w����`y?]`Č���1��6�2�e}��⟽
w�} 
N!2�0�d���$��@�h��BD:�� ���)*�L���B�o
-�H}u�N�)R��Y��;0p��
zbT�	�
-)��Q�ueUn�} 6X$��z��]AC��"����^�.����� ��u��݂��C��|�r���a��6;���ӓ�V��
-���
�&�[7U�l֏��~W�Mim|Y1/���M�s4��	Hm�炋��j�*5o�m��|KH�D�7�F�>R9	�@!�����1Mh! V�i'�tQ(!��䰦�	=T#����^'�%�z�r��2\��C��.p�&CZq
@�[��&�Q+���o�IZ"��
Z�5��-�J$���/��(WI�H*牔k���~�ݺ�0�RO�"f�1$�!��_=�2䆡��B�#��������:�Vó�b?b�3�&
��$I�3
-~
z�/�T�A��#>ߤᮉ��h)S���x��d ���R�GM�k�� �f;���a[v��%<b��S���
cl �X�i,-^
�0�Q���cLB�
\�e��
Q�OJ9GB��0���y�,�p�]#(,��C�(�>�۹�K;���r{�5�"_�w˼)w[w�-�]��C]ެ]S8���/$mV3�j�)�#�x7���b��{�{��b�7�������Ə��aSl�Y��]V�zD:u����AGk'�|�Ȅ���ܿݾ���
�f��W�
�q�d��笵�F�hqH�{�Nh��*|�|ˁIn�ΆN�`r<o���<�w){PST�U�� �A�RZfg\!
�?V._�8���$�Ϳ
���+�>�B̑O���+����R��i 
-	�0Cb@�'�ۄ
�(!�4*���P,�C���f�<.��;�F���
ʺ�<QJ���V����2�n&��q�#�0�a���h[�Y��S
S�������0�8T�S[n����n̴_x7e�պ��hnk�

-L��S
�㦛$�}�?�س�
˘ve��n��g|^?�{�I�E��{,�%U)
�����p���N6ey΅�

�!QX���aJV2L�B��}L�[6>^�6����ߌ	-�m�Ai~��2_��%��@B�'��۔
��*�}4��L(���UH
}_[E-�7w��}�[
w�mv�/w�ƪcw��v��� ��{��Բ.�{lg0ޜ;:�=l�j~��f�R1���S:ƨ�^j�.c)c���������z۶�V>c�[�z��h����C�|_ܺ�^�
- f�>�"���$P�?��;��G+;;�DCM�m��Z��d@�(����r�\V��9���#ؤxz3o��R�J�Kj
3
-�۳�)���f].ݢ~)��
-~ڪXgP�
w���{�I��Y�y��g�Twݭ�aE�
���y�Ȼ���)a
2��G����@A~49	48O�q�`' �%D'-�1�>D�#)��=��B
�[���a`tw��A�z4e�����릯
-�yK"B���J !��vo�w�P %r
�T�d�5��`/6��P�18᝗��{"��
08�A��8<��n��g��|���Q��@ h"�i�c
�^��mT
�氫��}�?fO�+�Ha�
•B#LO�ՋM�5P�|��z��
�y�N�QA;�#��t,M{l-Y/5Ce#c�{9����ѐ�gA6�1Y/�x�i�$ƞ$a���G�1�^l��‘�u®]d7�IG4��@8v�|
x�)�z�K�x�ϧn�>���x�R�[TS��<<��mÀ�_<�����b�^����nDv6ϧ+B�nP���%�]?�/6]�±���WDh�e��0ӀTh�����\�.
�|�J�QR�� x�)����б�a���������OY�
�?�B�1؆��+5�
���)9

/4�
e�3�,cT��w���uň}gD����1&�b���[�k�����7Rň�0� %XS���1J�bӔ(
��q�=%�v'(!2�Jwa����0�#%�Z�GSO	Q��F
(dO^���Z���)>Hj�G��
Ȁs��:
�^j�7�?"�
"�d:0Q.�s� P1B^�����t,���z�3��X�'f�Ra�,9�`�
�B>�7R-H�1Ѿ���8p":�~�Y��
��sS��;<u_�U��� ��|{���|Z�������6��{�Š�`l�?�Qq������������	�;��e�@�]�}��./

вF�m��P�\����S����Wf,qY/4�%�<�P<�_��U]&ʭ��@�Na !��+��
0�endstream
+x��X[o�F~�_A[)%�΅�a�VJ��j�(n�Ndav�Fea
l7�_��\X�x�&v��E�9g��;�;+;?�~8��OB��(i�_;1v�� N�s�t.\BP��c�z�I�N.O=��2���e�\��]UI�_,~,�U��E*/��u#׋EZus�5�J���|ʱ�c�Ե�}+�e��y>
D䒈y��_�~:��=#&v�
+�G(b�I׳���Y��WF,�N�Z;ep͝���3|t��!
�n�f�'U&��	�E��q�I#��ɶH��,���2ݮe�$�^} �}�u�\,ʺ��N֞���}�/�� v�'��&
B��2���^2�%( �]�s|�3�m�{�F!���~[OXgHD�.x�a!q���-��vF8A�v�IWS�CT�6C̚�!? 1
+u�V��zQi���/8�}���\-}�m6�F3فϹ�,�j���gB�' ��� 
+�i�0� ̮'�D	����
+F�w
g�P	s�z�콰�ۧ�p�47��e��(%�NG��j��<Ja
#��"��
�kciG��>�/W
��
3ړWv���jV�؍ߪ�(ww�C�&*M�m-7I��e�gX@��q��l��\ф��xF�Q��������i���%�������ER[�JdQ܇�@
�C-���+ߠB9
+ �*��kQ��� #
v��'��%�X����ʱ��	���0��62͒<�w25��CN�z��m
�kw)�
 �
��

�+�(�A�W��m�kn2�D�C��)f��J�:t��\�O�5��Z�Y�ү�aLs�P
�v8��(`�G�J�
�|������&G77
UZT�k�0hV"z���ɶ� :�-JH6��2�BB��
R�_�;�
C�p�(=�۔�E�&ї��o([��C=Cju�o�"ͷK9Ѯ�jz>UQ��}ZvG"����9���}6�X�۫<K��^���ݺ�]�6Ƶ��	zBx���\V�̀��S؈���9�Šg��Qh6q
��w�*�P��Ky�l�c
�m��"��Ľe�����<̃1y�����u4
?�
+o*�E�2+ ����@P����������3<��mtI��
S>��#+eZ�:-�����Qы��VE���p[0���qhme
+�{⪵7�'ir�;.av�(B��h�l� ?r�a��H�h,K���(�^�Q��ix4
�YN�������
!
�a(�v���.�!�d���ƴ�_�e��JM¬{-���L?cWd�>}��|�!i'�f+R��U�q7�h`���$l<^��A�� 
!"��L�tCG0���b<F���9�*&�ͣ����������m���3���&���h��;/a�l*IX�/�|��3ik���_���u���C�38�tG���,���n��m�lS����x=�]+V�u�?�!n]VҲ/��7$H�
H;�
+endstream
 endobj
-4507 0 obj <<
+4472 0 obj <<
 /Type /Page
-/Contents 4508 0 R
-/Resources 4506 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4529 0 R
-/Annots [ 4515 0 R 4517 0 R 4519 0 R 4521 0 R 4523 0 R 4524 0 R 4526 0 R 4527 0 R 4528 0 R ]
+/Contents 4473 0 R
+/Resources 4471 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4458 0 R
+/Annots [ 4459 0 R 4460 0 R 4461 0 R 4462 0 R 4463 0 R 4464 0 R 4465 0 R 4466 0 R 4467 0 R 4468 0 R 4470 0 R ]
 >> endobj
-4515 0 obj <<
+4459 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 298.6829 170.6866 309.2132]
+/Rect [113.91 386.817 170.687 397.347]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_e7c03963759dfdb937135a7f99165361) >>
 >> endobj
-4517 0 obj <<
+4460 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 259.455 170.6866 270.3589]
+/Rect [113.91 347.589 170.687 358.493]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_12f3d0ee3885355092a65262f24d46af) >>
 >> endobj
-4519 0 obj <<
+4461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 220.9743 178.4354 231.5046]
+/Rect [113.91 309.108 178.435 319.638]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_f0ea51d59b5026db43b2edd4cee928ba) >>
 >> endobj
-4521 0 obj <<
+4462 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4263 181.7464 222.2328 192.6503]
+/Rect [181.426 269.88 222.233 280.784]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_dca809f9ebacacf70bc610d41bbaff47) >>
 >> endobj
-4523 0 obj <<
+4463 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 142.8921 187.5636 153.796]
+/Rect [137.432 231.026 187.564 241.93]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4524 0 obj <<
+4464 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.3032 142.8921 238.4723 153.796]
+/Rect [198.303 231.026 238.472 241.93]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_e575efc6c01c4bf9968c7e27bb94951b) >>
 >> endobj
-4526 0 obj <<
+4465 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 104.0378 187.5636 114.9417]
+/Rect [137.432 192.172 187.564 203.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4527 0 obj <<
+4466 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.5337 104.0378 245.6654 114.9417]
+/Rect [195.534 192.172 245.665 203.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_400c02f876d8f4e3f6aef2bfc5fb16cb) >>
 >> endobj
-4528 0 obj <<
+4467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 153.317 227.852 164.221]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_192ff11375b59075c9ea19a8c2b5511e) >>
+>> endobj
+4468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.185 114.463 217.61 125.367]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_70e56452f6edfc1943b555156e6bf828) >>
+>> endobj
+4470 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4509 0 obj <<
-/D [4507 0 R /XYZ 90 757.9346 null]
+4474 0 obj <<
+/D [4472 0 R /XYZ 90 757.935 null]
 >> endobj
-4510 0 obj <<
-/D [4507 0 R /XYZ 90 649.069 null]
+4475 0 obj <<
+/D [4472 0 R /XYZ 90 733.028 null]
 >> endobj
-4492 0 obj <<
-/D [4507 0 R /XYZ 90 628.0874 null]
+4435 0 obj <<
+/D [4472 0 R /XYZ 90 716.221 null]
 >> endobj
-4511 0 obj <<
-/D [4507 0 R /XYZ 90 628.0874 null]
+4476 0 obj <<
+/D [4472 0 R /XYZ 90 716.221 null]
 >> endobj
-4493 0 obj <<
-/D [4507 0 R /XYZ 118.0547 551.4234 null]
+4445 0 obj <<
+/D [4472 0 R /XYZ 118.055 639.557 null]
 >> endobj
-4512 0 obj <<
-/D [4507 0 R /XYZ 90 534.6963 null]
+4477 0 obj <<
+/D [4472 0 R /XYZ 90 622.83 null]
 >> endobj
-1470 0 obj <<
-/D [4507 0 R /XYZ 90 436.3034 null]
+1430 0 obj <<
+/D [4472 0 R /XYZ 90 524.437 null]
 >> endobj
 170 0 obj <<
-/D [4507 0 R /XYZ 90 429.7032 null]
+/D [4472 0 R /XYZ 90 517.837 null]
 >> endobj
-4513 0 obj <<
-/D [4507 0 R /XYZ 90 317.2831 null]
+4478 0 obj <<
+/D [4472 0 R /XYZ 90 405.417 null]
 >> endobj
-4514 0 obj <<
-/D [4507 0 R /XYZ 90 317.2831 null]
+4479 0 obj <<
+/D [4472 0 R /XYZ 90 405.417 null]
 >> endobj
-4516 0 obj <<
-/D [4507 0 R /XYZ 90 278.5483 null]
+4480 0 obj <<
+/D [4472 0 R /XYZ 90 366.682 null]
 >> endobj
-4518 0 obj <<
-/D [4507 0 R /XYZ 90 239.694 null]
+4481 0 obj <<
+/D [4472 0 R /XYZ 90 327.828 null]
 >> endobj
-4520 0 obj <<
-/D [4507 0 R /XYZ 90 200.8397 null]
+4482 0 obj <<
+/D [4472 0 R /XYZ 90 288.973 null]
 >> endobj
-4522 0 obj <<
-/D [4507 0 R /XYZ 90 161.9854 null]
+4483 0 obj <<
+/D [4472 0 R /XYZ 90 250.119 null]
 >> endobj
-4525 0 obj <<
-/D [4507 0 R /XYZ 90 123.1311 null]
+4484 0 obj <<
+/D [4472 0 R /XYZ 90 211.265 null]
 >> endobj
-4506 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F11 411 0 R /F25 344 0 R /F8 523 0 R /F1 573 0 R /F7 526 0 R /F10 484 0 R /F67 366 0 R /F74 478 0 R >>
+4485 0 obj <<
+/D [4472 0 R /XYZ 90 172.411 null]
+>> endobj
+4486 0 obj <<
+/D [4472 0 R /XYZ 90 133.556 null]
+>> endobj
+4471 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4532 0 obj <<
-/Length 2285      
+4505 0 obj <<
+/Length 1525      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�۶�~���θR
�xx�;�:Ilj�8g�C'���$���D)���M���
���^���%��Y.v,@����8QB��q�,68Y��_w{�g!�o�_I��(�T&��ڂ$HPB����	!���`�'�O�j�]��R<ٮ��e�]�-n��z��|�-��*+��tF��^g���z���Ք�I^.r�ǀeB��<����y�{�$1�z���8Y“|}�K�H��F$Mi������7v�z�P 8H3��GZ���'
� ��>#�����&� aioA�x,g�'
�D�'JE72�(*X�16�/�(�R�yf��C^e�meg�Y�M;��[��a�B�<>�RϮqi���<���R��|< 
*�Ni�LU��

I."�&2���>y��s�P��x��%�뀀KX�����WS�&�O������^���L̦DL�I$�L���
QB����l�KE�����hp$�#�>�[����z�("�t
8��
�k5��0-Ҥ�hT����w�`�
4|4�D����l�%����?Ր�����\ &����@�0�d� <,^ ����m
- ��n�=^�C����{��yгf��W��K��LF�ߣb��`�Y'����<\�8�?�ZD!E��	l�����g��Ǫ����S����$w�����R��ĩ��I�r�J�\?�����	&�p������P�l��$V��qW�~��
"�L�Q���+
-I
-��X�p�/A.�E�>�
P�S��A�
	A"��QQe̍�8�ׅ�tTZ��P�q���P>���i�G�܃"Ԡ
��v��@=J���
&F����/��%�{S�E5��YQ�^I�ɓ�1�1�P
��;ph�����������|���ݡؖ�q[	
����6�?/�T��wk����?���ُ����o
���$
-���u�
1Q��R��-�^¡���i�G�N�!Yl�|D�
d
-���;;
3�-	ҜȐƈ�qo��|;lͧ��*]Xj�*ϖ3[4�g��@��10
��Ύ>�ށ�0��')Jg�}no~�;t{;p�	��N�Y�Bh?�-�׍��l�
l�`��v�'�5&Bݵd�{���D��C��<h��ŨAS1[B ���/�6�u>��Q2Nܠ�̝4WH�B�����S���z��R1�/ʕ�Υ���`���~D����'
ec������H�	E�¯�2�e�S
�<5�O(�V�4� n�M���
-���|���j#ә!�%�3{}���/��ǪBA��y�g^�RHGnu��H�b@=����@�p��|U���Ӛ���( 	� z��e�3
��|
)>9��@w������a�`(%��y�G��/�3Q�� ��
-�K}�#�ab��E3����g	2��KkCLZ�}�]
��>�W9���������t�|_�R���4��
�m��t{��L	���
e�٧D�o�C�HG���-�(㩧�����Żۭ�ݝ+j���3B
��d@%?櫀x�bG�a��ܼ�
�uqp��� ��R�e��V�v�OE�X��P�R@Ùj�L�
��̵v�0�-;��Z
-�`
����Ĝ����)�����>̪�ݏ��:0�W6��G�Gg�7�ܝ�
o���Z�O�<���@�-AG�:��!`$�X4�GO	��	����c�7a)����>��c
��֪f�/!��5E����{T��T�����㔰3RL>��=>�޵[�L���a����o���kk�W��hP�֌��� 1�M���4�}Ϯ��ݻ�7���o����8�F�Ѡ"��
��	l�D
��w��G�����D���
�@�q���6�DA7C�'�ل6FmX���{F�*�YIF?�8�N�H����I^6�(Ո(I{�ɷ���%|u,�m\Y�@�z~e	 c+���W�FX.4a>,�5Я+1��'�.�N(8��>�T�]@��	Ms��{�/�
摗�5:�A����S����b
}��6/���x�{��b$��O����H�{�q���qY����r�=�l�g�]�Bh.���KBA�}��?����R��>m��K��kJ�h)VӪ���_�?]�j��ϫ?O���.�۬���o�v���f���;[4�1X4>�>�*
-q&�
 {�����M�T~�,�NO۳k���p�]�xq�{t,�]���
�
�譬渉CC02q���yK�J	o��l�7�ʿ�*���6�RH6�� �!�2endstream
+x��X[o�6~��P1��֊&)R��
Х͐��4q��0���ɒ+�ˌa�}�")[����0`�aIԹ���

+[

[?�~���'�gE(�oM�V���'�SbMf�{�D����}�l��*��9�E�]�YO_��e\n�������8�kǥ
��Y\U��\�E��y"@�Zl0������d�iD�"l��
���V��������0�кj�V�
\3�b�v��7x�+���"�G�
��z�\���Rި7|�{����E��uiO�І�7ҙb-ʸ.�'O�����q"#�<on�i�X���-���
9�:>	��>�NP�|F-�01�|8���+���{�
FB�]]n�"�����seQ���M�g[u��(��f
+!����ހ

�8l�X�խfH��������H	�Oi+�t�������4�34�]�;�qI�#�|��"�o������O�f�C��eK.�5�!ޝ�针"2�e
"��U4BD��g���L�p=UR��:-re^��ǐ�"%�i�#�F�n�!��^�ե�V�Xi�y����p�8$Um�ӛQ�"�fɒ��\7�t�E�]je]*Ka;��R�3W�E>�	���o�8Y:F�6�}�8�J	�͵�\1����Vk��&����[�q�cz�b�u��b��{��H�
@����?��:=�ns
+Q�#���!��F�Ȳ¡ܾJ���L�\��ju��
�-I����h��l�e��H;iHP@ڝ�(�����G7�{.
+0i"FC�m�g4T����W�%�ZO��y�.���(�����
�A���=��F�H�k⏎��W��
]�]�E�55��X��.�E��
+Y{ܰ�3q_ý
�d�/<H��/��^��QRlt�
?V���B"\����CAH����k��2{4�Y7�P�� �0�!tV$��Ǹ)a���U���F��f��
��H�j8/�U�;@b7]�YD�xr���o���r�q�)�r���0���f���+�
�\�*>m�,�u�5a��sU�z��W�K�$�̴
��w�
�j�����`6
5�~$;r<�B�
%~
BU F��Lg�4_�25E�L�
��~��ez������ܣ�D���e�&J��	��]��`u6��A궓��7��C��	�T94�u���[��w��ӗ��_����a��o^_L�O�'���_)�r⿿tJm
LS��	�e
	��6�y�q�3����X]���d�'��}=&��UO3��A�`
�����%��L��4�mfR�޺*�D�EB��y�)���Yꛇ�
��![|M̎;�L7sL���ڝt��vnѻ�K�8�
�C��0����d�O���
+a�v9�x�+�fr{���0:	�s�������h��{�����

e@}5��_����MS�����w�(�w8�5v^�9��iC��wU;d�Q
~�RO�
9���Bt+�~���/j��M1�ðٲ��G����J*���u��z

~|��HB���oU���K��f:�&���^
�
+endstream
 endobj
-4531 0 obj <<
+4504 0 obj <<
 /Type /Page
-/Contents 4532 0 R
-/Resources 4530 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4529 0 R
-/Annots [ 4535 0 R 4537 0 R 4539 0 R 4541 0 R 4543 0 R 4544 0 R 4546 0 R 4547 0 R 4548 0 R 4549 0 R 4552 0 R 4553 0 R 4554 0 R ]
->> endobj
-4535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4263 706.9608 227.8516 717.8648]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_192ff11375b59075c9ea19a8c2b5511e) >>
->> endobj
-4537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 668.1065 217.6102 679.0105]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_70e56452f6edfc1943b555156e6bf828) >>
+/Contents 4505 0 R
+/Resources 4503 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4458 0 R
+/Annots [ 4469 0 R 4487 0 R 4488 0 R 4489 0 R 4490 0 R 4491 0 R 4492 0 R 4493 0 R 4494 0 R 4495 0 R 4496 0 R 4497 0 R 4498 0 R 4502 0 R ]
 >> endobj
-4539 0 obj <<
+4469 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 629.2522 180.5399 640.1562]
+/Rect [134.114 719.912 180.54 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_97586e332fd16ccf6e7d642bb4bbf83e) >>
 >> endobj
-4541 0 obj <<
+4487 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 590.3979 178.2386 601.3019]
+/Rect [134.114 681.058 178.239 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_0ac88c873a13c4afa6f99d3d436e13a3) >>
 >> endobj
-4543 0 obj <<
+4488 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [101.1279 490.3269 157.9042 501.2308]
+/Rect [101.128 580.987 157.904 591.891]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator) >>
 >> endobj
-4544 0 obj <<
+4489 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 478.3717 173.4563 489.2757]
+/Rect [89.004 569.032 173.456 579.936]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4546 0 obj <<
+4490 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 183.1206 160.2066 194.0245]
+/Rect [138.538 273.781 160.207 284.685]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab) >>
 >> endobj
-4547 0 obj <<
+4491 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.9774 183.1206 219.8228 194.0245]
+/Rect [167.977 273.781 219.823 284.685]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6abb5b32713c840499d9e29facf95a17f41) >>
 >> endobj
-4548 0 obj <<
+4492 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.8116 183.1206 346.0489 194.0245]
+/Rect [222.812 273.781 346.049 284.685]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6abc1539389d3643cf986ef5bb99697d1cc) >>
 >> endobj
-4549 0 obj <<
+4493 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.0377 183.1206 450.696 194.0245]
+/Rect [349.038 273.781 450.696 284.685]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab7491a8ba26958c3e27bed23b7eef1a7e) >>
 >> endobj
-4552 0 obj <<
+4494 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 102.7317 157.4166 113.262]
+/Rect [113.91 193.392 157.417 203.922]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_36a0c8ccab7923610bd27f637af63e1d) >>
 >> endobj
-4553 0 obj <<
+4495 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.7538 102.7317 228.26 113.262]
+/Rect [184.754 193.392 228.26 203.922]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4554 0 obj <<
+4496 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 154.164 157.417 165.068]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_8fb8b2fe343e5afa80edc06bfa31460b) >>
 >> endobj
-4533 0 obj <<
-/D [4531 0 R /XYZ 90 757.9346 null]
+4497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.754 154.164 234.885 165.068]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-4534 0 obj <<
-/D [4531 0 R /XYZ 90 726.0541 null]
+4498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 115.683 165.165 126.213]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c7bf9d127644aa14a09eab633e87f544) >>
 >> endobj
-4536 0 obj <<
-/D [4531 0 R /XYZ 90 687.1998 null]
+4502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4538 0 obj <<
-/D [4531 0 R /XYZ 90 648.3455 null]
+4506 0 obj <<
+/D [4504 0 R /XYZ 90 757.935 null]
 >> endobj
-4540 0 obj <<
-/D [4531 0 R /XYZ 90 609.4912 null]
+4507 0 obj <<
+/D [4504 0 R /XYZ 90 733.028 null]
 >> endobj
-4542 0 obj <<
-/D [4531 0 R /XYZ 90 553.0779 null]
+4508 0 obj <<
+/D [4504 0 R /XYZ 90 700.151 null]
 >> endobj
-1471 0 obj <<
-/D [4531 0 R /XYZ 90 324.7914 null]
+4509 0 obj <<
+/D [4504 0 R /XYZ 90 643.738 null]
+>> endobj
+1431 0 obj <<
+/D [4504 0 R /XYZ 90 415.451 null]
 >> endobj
 174 0 obj <<
-/D [4531 0 R /XYZ 90 318.1913 null]
+/D [4504 0 R /XYZ 90 408.851 null]
 >> endobj
-4545 0 obj <<
-/D [4531 0 R /XYZ 90 200.1915 null]
+4510 0 obj <<
+/D [4504 0 R /XYZ 90 290.852 null]
 >> endobj
-4550 0 obj <<
-/D [4531 0 R /XYZ 90 121.3319 null]
+4511 0 obj <<
+/D [4504 0 R /XYZ 90 211.992 null]
 >> endobj
-4551 0 obj <<
-/D [4531 0 R /XYZ 90 121.3319 null]
+4512 0 obj <<
+/D [4504 0 R /XYZ 90 211.992 null]
 >> endobj
-4530 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F11 411 0 R >>
+4513 0 obj <<
+/D [4504 0 R /XYZ 90 134.403 null]
+>> endobj
+4503 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F11 418 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4561 0 obj <<
-/Length 2798      
+4546 0 obj <<
+/Length 1396      
 /Filter /FlateDecode
 >>
 stream
-x��\ˎ����Wh�H at T���@��L&���d33h5�MD"{(�;����b�R-/l0Z�ѽ���9U,�"

����
-��b����x�o7��x
��}��no��U��AFR����#H�%tq{�ӒD�jM0���+��I�O6�W/���SzW&���eR�޽���U�dy�ZS����á��Cz��+��i�M!
�,K�����o�r�Ql�@0I,�_o~�/��H����-��#b
]�o8e����Ǜvq��/L�c�4Ӌ5�HK���H�OF�/b}M(2����&@�s��[P��Kę�f��3�bX��[T��p��#��KKپS>�}�x@,e�����y�<�(�h(s\w�Xv��!dP,����)1�|�
:�`�=���X��e
i
�<��M�DL���f�  ��P�H��F �0{}?�ڏQ�R|!%�KB
���TMQ
O�zX��j5_��X��U��1�eթy��ULH�9��
y\�>4�>
#cT
Ag
�9�����g.AL`x�
-�8[�#vTL	��3ܔ�w(
-)�u[�	H�7$x
����Hځ
08�k1L�Y:�b�t�`�ן�F�u�ڒ
ĕ�lKF�������m��ߖav][��.�wB
�y'���wz�ߌ�� "@M�����c�Gqm��1-h�?�&
�(�I>�IN�V�Pt���\��F�Kk��c4Fq��O�F�\.�CŲkp���f4
���T�2
/F�p
̲���=���-�m���X&q
���+Z�0
)IyĂ:XԂ���-(���z��2(�!+�Muz
- 	4�*̓"q�<�	1W&���z<��6�tlGz�I	�"��P
-TP�(,�h�ޛX���(�0��s������Y���X��j���6�T�Q���󧴞���:���|�+Y�.V	&~~��2n��3�lb�ˑ��a�O�ab�K�ܜ[�
-��I���y���tX^���`qq{�;̮���v��rJ�P��2�e��
af�(C��1�4
 Pj����
-+$E̠.�Q2�
�f)ًR���WrsBZO�ݞT]B'�)�b�(_N��x���T*�!���R
,�T/�x 
*��Ӡ��cQ������
�4��c
Fq-���*&�wmw&�p�Xz�̤r��5b�Qh�Yb�b���`��ƺ`AQ�FyL��a	ش���^����e�k���I�r�٨$�A�}
���v��$g�
S �9}�55W
-1�eD�
,*f?`@̑�N̽�A1��^ ��Q�V�Y~V�Z¼�"hA���*E
-�
-1s	+)�
1�1b�`ߌ��
8�0�c�f�vpK��̶}//�u�
��6 �	(�5m�����*f�/`��y;��m���3�mm ��
F.`�ڲ�p-
(B�RhN��x�!@KKE�,C�b�
���~C��8�sP�u�-1c�2TGd���2�d
��d���y?�2�0�me
�8!p�
)�EX�I2��_��5c���%q/D@����3��)\��5�-12F���
,�n/`H�Ἕ�������
-;bt��y���b�ûwu=7���g���D��;���#4�q�{�4Gt�D�Q�U��� �S���#p�a^�)
�K���#
�q-���~�2K>�F#��<<\�# �j�#�t�r��d�z1B
�`�
C�
������<�����	�RHRX
��O�!tQ�m6�1%T^�v7
��G=����
yZ8o�i~���i=r�xZ��8n�:��}��iq<l��܏�����ʁ"
��U5�W,j��xO�,I{1B�v��n�g�\}��5El1���K�F(b��<��eW�'�
q�ա����;d��`>�}�/����/��
o0R���K��Vma��Ӭ�*�mZ�Y��x����R4,���!��fA�64��?��+�J
UQ��"�c��F
-nW�����},��,�*2�kܮ��
���/�����
K��v{|��;��)S���s~��L��
^�k��DE]������
av�1��.w� ��[C�i�
>�Ԟ����<�v���3�zݡ"|�0�11�W��Xa6�&�!�p���o��>ɓ�BP��>
8����')��H�0���_�`q�{+�H�N�~��
c?�{����
c�
�bW<d�dL��Wwl�� 
B���r�Z�3�̺ޏ�h�V��6����r
1C�����/A&����<�
��^d�"Q�_�"���
�`Q'�� ��9A/o�	�y/p��Q���;�١��h$���
tX�� N�a9?(�+��ޤKĬ��!'p���	z���Ov��`� "�5o�'T#jw}#�`q
��, ��� ?o�zy/��0�Qܗ{3���d�Kv�&b1~H#��W�CE�PX�	���هt@�sqiI:|��(n�!
��4R��eW
�k����t�
�%�
9�c�����Z;�����E���6�S�IR��Z��ݗ�S��)�<�wH��T]�!�A������G/\�
�I�;�I��h��
f00;����G(
��#z�f���
�y��S8*|�I�A^�
J
_�X
-��`��1d R�Y?B�<���#�<hD�t�s�D��۞x_�z�oO5޻��h^�?�Ѽ��!-�b�.-���G�j��dC���M@7ˌ5�s����-E�������?
���}�n���������v�
�z|�����3�
�1�
K�UowoG�_Z�g��ܺ���*ϴD���r�n��e��o�
-�7r
A���7endstream
+x��Z]s�6}�W�ikf��,����6���m;�&�}��0�DSc����__ɲ0C !�3��L0F��stu�l�
�|h��ku�؉A
x��:1t� �!�7pn]� ����Wm]*ƴ������{6���T,...�L��hw<�˔Ji.�ِ�6�\�%L���,.
+I�K�S�^�k
)���J
HBL�dܺ�����Ɂ Ǒ3/[�
���3unZ�`�
\����
��#'�0�1�}�<3}�_�/F�!�Z�m�(�W�Zm�~ծ��n6t�?�&h�����~�&z��c<b@��A������s"�C�k
<��t�"�

��l�,i��6"����rA���
kHw�
+��;�WvH�g�b1a�����	MX�s�%D�U�F�S�U�.�g77~��D�Y�k.�ZHsɳ����>�W&GQ� Tv
!Ħ��o���l��K�f�
��Ql
�&����#��M��O�^9���2t��X2؁� 93;� ���T\��y�;�p�g_�4���D4<D
C���BLYdX�
d�j��lP��
sś��C�Up
��͐֌jm[($v(˞�
��X��K��?<���5�hHW��n���n�{Y�u�}
�3����%��^(c^�r�lr��v�
%N�?�n�����ٰ��p���uaQȋ�҂�ЅZY��H�9�6ul
����.���.mL�f/��)TAZ{���1#�Gز:k�=�WӞ5H,

+Ϟ0� Ƨ�	���q>b˧�_01>K�o���#�ϘS��6���5��ą{�=��0�GO,��l��E_���uu�4�W}yֿ[L���*h����Mw����"�`�4�
+��QK{ձ���67
V?&�t����jЃ� D��2FQ�N)�7��r�N�
ע~:�c��:�[�����&(�8^�_�i����'4}M쟛�Uh��Z�5�?���4�Ӆ�v�!|fx�cm�Ŏ��5�T"k0
"�!M巪
U�p�
��?���a�r8�:�j����8�� ^�Y<V�P�ơ˖G�|V�ڤ>yh� 蓽�7++��n�P�p�LǓ�J
�L'��7E��-]U
1!�&A͘����Ǐ���?1R!O�էI
դ��H|��D�����\�Ѫl{#����E�
�������y�#�<�咊*��sȦ�(�Qѯ�Fɬ���
!��C���A}a�,�\�V�� �%�o�6L������.��2�M�����
�pG�[%$�2ӳ5�U���q�F_�WJ�����O��mB�j��N��-��hfz(&��jCW�6	�*��{�l�k��DZW��J�k�=�������۝�� �`�� ��N&iw
�
ב¹�lh��ZtY����2< �X4�
+endstream
 endobj
-4560 0 obj <<
+4545 0 obj <<
 /Type /Page
-/Contents 4561 0 R
-/Resources 4559 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4529 0 R
-/Annots [ 4563 0 R 4564 0 R 4566 0 R 4568 0 R 4569 0 R 4570 0 R 4572 0 R 4573 0 R 4575 0 R 4576 0 R 4578 0 R 4580 0 R 4582 0 R 4584 0 R 4585 0 R 4586 0 R 4588 0 R 4590 0 R 4591 0 R 4593 0 R 4594 0 R 4595 0 R 4596 0 R 4597 0 R 4598 0 R 4600 0 R 4601 0 R ]
->> endobj
-4563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 706.991 157.4166 717.8949]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_8fb8b2fe343e5afa80edc06bfa31460b) >>
->> endobj
-4564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.7538 706.991 234.8855 717.8949]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
->> endobj
-4566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 668.5707 165.1653 679.101]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c7bf9d127644aa14a09eab633e87f544) >>
+/Contents 4546 0 R
+/Resources 4544 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4458 0 R
+/Annots [ 4499 0 R 4500 0 R 4501 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 4543 0 R ]
 >> endobj
-4568 0 obj <<
+4499 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 629.4032 157.4166 640.3071]
+/Rect [113.91 719.912 157.417 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4569 0 obj <<
+4500 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.1562 629.4032 208.9628 640.3071]
+/Rect [168.156 719.912 208.963 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_9dc926136daee1f47975434ee45298ec) >>
 >> endobj
-4570 0 obj <<
+4501 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.2999 629.4032 279.8062 640.3071]
+/Rect [236.3 719.912 279.806 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4572 0 obj <<
+4519 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 590.6093 179.5535 601.5132]
+/Rect [113.91 681.239 179.554 692.143]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4573 0 obj <<
+4520 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 590.6093 250.6661 601.5132]
+/Rect [180.052 681.239 250.666 692.143]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_3c1dcd74ba0b2509f45aad45a5d922ce) >>
 >> endobj
-4575 0 obj <<
+4521 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 551.8153 135.5791 562.7193]
+/Rect [113.91 642.566 135.579 653.47]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab) >>
 >> endobj
-4576 0 obj <<
+4522 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.0772 551.8153 155.2252 562.7193]
+/Rect [136.077 642.566 155.225 653.47]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_239b0622fbcfe1638b4246deab2caa29) >>
 >> endobj
-4578 0 obj <<
+4523 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 513.0214 179.8324 523.9254]
+/Rect [134.114 603.893 179.832 614.797]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_745ac1cdddf74c6f387cfbbbc566dc78) >>
 >> endobj
-4580 0 obj <<
+4524 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 474.2275 187.5832 485.1314]
+/Rect [134.114 565.22 187.583 576.124]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_b6976f576e6e50941ee7a7b1a737c0eb) >>
 >> endobj
-4582 0 obj <<
+4525 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 435.4336 227.4332 446.3375]
+/Rect [134.114 526.546 227.433 537.45]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_b3186208850238a080373f035cd532cc) >>
 >> endobj
-4584 0 obj <<
+4526 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 396.6397 212.4893 407.5436]
+/Rect [134.114 487.873 212.489 498.777]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_442aecbe0ce384a7c1add146fb125ed6) >>
 >> endobj
-4585 0 obj <<
+4527 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 358.2194 297.7285 368.7497]
+/Rect [253.933 449.574 297.728 460.104]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_2679da4dbd5b8c33ef607aee49690c2a) >>
 >> endobj
-4586 0 obj <<
+4528 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.5441 358.2194 336.7317 368.7497]
+/Rect [301.544 449.574 336.732 460.104]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4588 0 obj <<
+4529 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 319.0518 342.2613 329.9558]
+/Rect [253.933 410.527 342.261 421.431]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_9960963fb1f8fb56631e0402557065ae) >>
 >> endobj
-4590 0 obj <<
+4530 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 280.2579 191.7178 291.1619]
+/Rect [113.91 371.854 191.718 382.758]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-4591 0 obj <<
+4531 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 280.2579 288.8524 291.1619]
+/Rect [192.216 371.854 288.852 382.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_78c24741e21a4406ea8ad1588c768147) >>
 >> endobj
-4593 0 obj <<
+4532 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 241.464 191.7178 252.3679]
+/Rect [113.91 333.181 191.718 344.085]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-4594 0 obj <<
+4533 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 241.464 303.0791 252.3679]
+/Rect [192.216 333.181 303.079 344.085]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_0ab383f3930179982937f7733a283a03) >>
 >> endobj
-4595 0 obj <<
+4534 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 202.6701 194.7761 213.574]
+/Rect [134.114 294.508 194.776 305.411]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_29202eb817eb5c9d59433abeeb4f2eea) >>
 >> endobj
-4596 0 obj <<
+4535 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 164.2498 195.3339 174.7801]
+/Rect [134.114 256.208 195.334 266.738]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_ea0fedb82a525e6ada13cd7fd2d03225) >>
 >> endobj
-4597 0 obj <<
+4536 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 125.0823 201.4711 135.9862]
+/Rect [134.114 217.161 201.471 228.065]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_f8fcee7f8582b0afc9115eb1304c24f9) >>
 >> endobj
-4598 0 obj <<
+4537 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.8082 125.0823 272.3145 135.9862]
+/Rect [228.808 217.161 272.314 228.065]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4600 0 obj <<
+4538 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 86.2883 181.845 97.1923]
+/Rect [133.915 178.488 181.845 189.392]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_b0f18894c8f97fa0cd38736462f36132) >>
 >> endobj
-4601 0 obj <<
+4539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 139.815 181.845 150.719]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_7bdaff085ea6859cdec9b27bffb6de4b) >>
+>> endobj
+4540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 101.142 154.727 112.046]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_93d5d6abf06ec551294c4c18abb4349d) >>
+>> endobj
+4543 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4562 0 obj <<
-/D [4560 0 R /XYZ 90 757.9346 null]
->> endobj
-4565 0 obj <<
-/D [4560 0 R /XYZ 90 687.2602 null]
+4547 0 obj <<
+/D [4545 0 R /XYZ 90 757.935 null]
 >> endobj
-4567 0 obj <<
-/D [4560 0 R /XYZ 90 648.4663 null]
+4548 0 obj <<
+/D [4545 0 R /XYZ 90 733.028 null]
 >> endobj
-4571 0 obj <<
-/D [4560 0 R /XYZ 90 609.6724 null]
+4549 0 obj <<
+/D [4545 0 R /XYZ 90 700.242 null]
 >> endobj
-4574 0 obj <<
-/D [4560 0 R /XYZ 90 570.8785 null]
+4550 0 obj <<
+/D [4545 0 R /XYZ 90 661.569 null]
 >> endobj
-4577 0 obj <<
-/D [4560 0 R /XYZ 90 532.0845 null]
+4551 0 obj <<
+/D [4545 0 R /XYZ 90 622.896 null]
 >> endobj
-4579 0 obj <<
-/D [4560 0 R /XYZ 90 493.2906 null]
+4552 0 obj <<
+/D [4545 0 R /XYZ 90 584.222 null]
 >> endobj
-4581 0 obj <<
-/D [4560 0 R /XYZ 90 454.4967 null]
+4553 0 obj <<
+/D [4545 0 R /XYZ 90 545.549 null]
 >> endobj
-4583 0 obj <<
-/D [4560 0 R /XYZ 90 415.7028 null]
+4554 0 obj <<
+/D [4545 0 R /XYZ 90 506.876 null]
 >> endobj
-4587 0 obj <<
-/D [4560 0 R /XYZ 90 338.115 null]
+4555 0 obj <<
+/D [4545 0 R /XYZ 90 429.53 null]
 >> endobj
-4589 0 obj <<
-/D [4560 0 R /XYZ 90 299.3211 null]
+4556 0 obj <<
+/D [4545 0 R /XYZ 90 390.857 null]
 >> endobj
-4592 0 obj <<
-/D [4560 0 R /XYZ 90 260.5271 null]
+4557 0 obj <<
+/D [4545 0 R /XYZ 90 352.183 null]
 >> endobj
-4599 0 obj <<
-/D [4560 0 R /XYZ 90 105.3515 null]
+4558 0 obj <<
+/D [4545 0 R /XYZ 90 197.491 null]
 >> endobj
 4559 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R /F101 2128 0 R >>
+/D [4545 0 R /XYZ 90 158.818 null]
+>> endobj
+4560 0 obj <<
+/D [4545 0 R /XYZ 90 120.144 null]
+>> endobj
+4544 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4609 0 obj <<
-/Length 3079      
+4605 0 obj <<
+/Length 1506      
 /Filter /FlateDecode
 >>
 stream
-xڵ\�n#�}�W�ɑ�����yH;�ސɎ�<lF[j��[�%{�_�bw�ž�l�l,+[GU�Ū�"�2�`��L
�(��a\N�
<�����ߞ��s𷛋��RL
2����}iA$(����oSB��9�O?��&�:��4�x�]=?��<��9�˓�����vS��$��gs*���*)����}�ψ���E
-�x�%f���x��MC�
�`�X�����w<Y�H~���-&O�F�:Y_p������l�To�
-�i�'sƑ����'
�@(Gؚ�+���7U|�!��ۀjVFO�
��l�֡�om`
�����_^��׋4�+dˁ�H��l*���������i���W��}�϶5l{_�#�x�F\h����~
I�
f���(�1���T��t��
���s���#�8���D�hfHP/��7�L�C�æT�	Ç�`�\?/
(�pd0L���,�l�s
5��rl�ɿԐ_}
-
�еZfP�Ȳ��a���iy
�E\k�3��c��D߂��ɺ���~O��
�/��Hj�(!�T�g"P��-u<P%
-IJ���
Q��U
-X*�(�g0?]��
c�`���g0T�a�M�~�U��=���,zv-�]n��.��b�ߡb��D��n;�P�cK�
Ą�gլg#T�f)~��)�J��_a�Jl
hH
��b/\�E��2`
*U*"j�v���~��b�=t!L;{�}7���1�zH;f�~˪�aq.y��
,^���PՇ�6U����nW����;~_�c
zv�K�j��G	$�]���w��wcX'�n��V�S)3(0�gտg#T�f��
1��6lA����z��"���ҭ(�Wn0�VnIO�� ��Jj����H��o!c0�����d*5�H��v�]`�)+��/ky����9$��&8��aطV�[M!�,�p鰦3�$����>g�B�@�A+*Ne��m�%h��y&������M1�N�`���ғ��K��*��X�EqX���M�r��U1h�n��p���4� I�i����?��z/,c�ш�7����z����7��m�#�> g�2��O= [...]
-#�)
�ot���=b�aѳ[.�O�ae�CD����<
h ���Hϫ$0ӌ�
������<����:����T�;���N�/�C-� 
-i��Y���i��YV������U��[��l�0`(I���yh���%�|	(y��YQ<���
-F�I�n}�����O���{�K��K�����fa�b�L�
�0�����E.��p�N�Z~�*=}ӈSh�ڞ�V�c
zv-�e�N7D�v��K��
+��P��5e�I1�}��$³��x��?n�]�Ho�=�r���(9T����'�3eM�r��8S��v����,50����m	-[�-t���1�U�ҋ���ԭ=��3[�#�{V�k��0
�3
bFm���AE0�x't
wV� ;�Ux�©���7l�8a��	����3���F�|����'�5AgTwx��3��1��-7��l�%��Ϟ��ÄF��P1�"�ә��:0�%����o#�
�����JW!�f�d�3�߲���
�����{���o0���.�[~_��m
#�=¨g�n3�f8�aꔤ<��y7��;*ۅAL��ne|�lw0��=�6ߒ�\�CL�����
!h`�|�
��=��w߯���4�m4����v������ƶ�
q	��`0TĻݎ���~�s
-� 
;�s߳k����[���ޗ��ql�iS2OF��P1C��e-y���F�U�P�;��u����iNڒ�U�K��W^��;�o�w�![���Gc|����4'�>��������>`*cq�*`+���C�D˜ةx�J�o0 =�NzZ~�KO������
)=�`
�'콑�����3r�G鉸��mI�n[@9�b�����o؅aN#�p��_%LD'
#�C5AR��l�F@XK���
{+�E�9Ǐv��x�H���U��pH�ZǓ��eG��^}�l�܉A}p	��N
��mݑc'Y��
پ'�J�bBI�Đ�)�l
�YR�A�I� ��<K7ˡ�HJ�ӿR��\�\�Kn�#�&,z�n�]#�>��Jh����9�<+��
CH�b
k1t-�?�Ռ[u
�[��8���\tf�~p���"���8?���ѳ[>��m�$����]�C�����Z�2
�!���'�M�2%�K8��)�c#��cdzvGE�3��E#Ҡ"$8cHSՋ
._#m�:K�<����N�
-K�K(X5����thE!�
���~���v:�C60R�D;h�!����s�D�
Mc�K
,*����<���Z�F�y��K�<B������CO���9o���%<�����6p�U���;V���!S�X���vyp
-#S$2~����
��_��#y�s+���D�
������#`�`�T�8T���IS��}
*6���A�u���(v{5�~|�~<G��C{��4{�M`�Sl�+�g�|��k�g7F�
_��a�N�}�c;��W��b�f/ڀ���h�#4zv_րcql��$��E�2������n���v��[�B����
�mn�U[}���7Aɣ
�����o#$y�zMj�sQ��|�V�
-��-oS�A��]�:TT�<sgk]�����F(]��K�.̯F��F�\���rAύȵ&
4�%
܉k�0aH��鍸������ۆ�?+@$	��p	�h@�\�C��#�
���D
-y֟�����"���P�%�{�D�T�S�o�:�t1�����	��*��/��#�P��l��x$�hM���,��G��WM>���!@h�[���:q�~���̽OT��mϮ
��~����zzzB�
6�.G��j�[]��V ̕	Mܼ���"ϴ������m�D�z�7��/����z:/@����
endstream
+x��Y[o�6~���S&1CR�.R`
��m�eM���0�n��6I����
J�d;��\�n}-���|��M��
k��~�
��ۦ�!Ϧ�v=�<�96A��:�>� ��1���:�c>�4(��hu+��O/›����,M�2�aRcʰ~񢨇�L�qu��䙰�N
��|�v��z�ψ�FX#��A��4?
}��� ޿�02=W[V�b͢&<#�j��+k����
�YI��,��
�!Vm�'JY�N�N�8f`�M�F��/���P͐����i��`{���f�(��$p�k@�
+xO6�7ϓs�j.(k[RYJ�mQmL,�YJ�
�K"
 �r�bzKQp�lm�e"bI��5E=cC6�L�	<�%�zu��
R=7LGY�(DR�2L�4iWJd���A��f�3�\c���'|��x|T�S	�%��pջ�yԪ�Tzޚ�&
�G���O�}H!�͜�6��jl�Y��I`�1O���i�u&_�������I$��y�=�9"0j���g;j"�fR8�iS�}_�l

���"l���xT�J���䴼�2��D��GȎ�^4�#�a00�G��E��
u���.
�4g�—�뫊I
�<�� ��I

�
��<)�l^sS
�80�"x dJ�
+�{ [TQ6
v�V,���
�7�Z_
�=k�VO	PWK���#e���<�7�c��=����v�U���v#4`�F~
��XWf*ke\�kj\�o�f�^�7�����<�e�,6��NLu^�h��GQo��
A���]��*[����i�q_L��;
�
i�����a<W9����4D9�n�kfˀ6�n�+I��@��ľuG�렪����0	ːG�wq�ߴҷ��e�v���p d�MĹ,Z�� P��zN����H�{�w��ҕ��*Q��๱�n��'mr�7�z)��
U�8����˷R���B
+qփ�� �k�'�N���S��uҗ*���tw�<S� �����C���٠L_���'[���̆tϺ�[4�ry���V�:�6���@����+�z�5I�MnQ�a�Pp3��[�����gD���Jô�ܦ�hBV
�$xz
�K,I�V1�D��4?=
��
�p&����߲
�����H�㽝kO���+�>�o�.AnWފ>�a���}B�B��}2�7��iCļ��{A
�0�]�i2��,_���D�_���8���9�|1A��T�d����A��J��b2�����f�5SNO~|$���g��9�<�C
d�����i
^�"=�g�6?�"ɓ)"H��bHm0���eP+�F�j
�n��z0�����Q�uV�x�`"{�KQ�
�㫡��Y
+������z�p<\����5�
ˈ��-hs�i#ρx\��21���_V8�1W?��\CE��6���W!�_䝖�=O�<�>,�(�w�?F�J1�1���+�P�6�֌ލ*;�)�n�m��,����r�D~��I��(,O�,:��wRP�i?��R�
>N���^��m�C�znA
+endstream
 endobj
-4608 0 obj <<
+4604 0 obj <<
 /Type /Page
-/Contents 4609 0 R
-/Resources 4607 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4529 0 R
-/Annots [ 4612 0 R 4614 0 R 4616 0 R 4617 0 R 4619 0 R 4621 0 R 4622 0 R 4625 0 R 4626 0 R 4627 0 R 4629 0 R 4631 0 R 4633 0 R 4634 0 R 4636 0 R 4637 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 ]
->> endobj
-4612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 696.0019 181.845 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_7bdaff085ea6859cdec9b27bffb6de4b) >>
->> endobj
-4614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 657.1476 154.727 668.0516]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_93d5d6abf06ec551294c4c18abb4349d) >>
+/Contents 4605 0 R
+/Resources 4603 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4458 0 R
+/Annots [ 4541 0 R 4542 0 R 4565 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 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 4602 0 R ]
 >> endobj
-4616 0 obj <<
+4541 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 618.6669 176.5049 629.1973]
+/Rect [134.114 707.334 176.505 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_0d50a5df6b31c6de90fe366e18e750ff) >>
 >> endobj
-4617 0 obj <<
+4542 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 603.6726 450.9552 613.5778]
+/Rect [328.408 692.34 450.955 702.245]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_7bdaff085ea6859cdec9b27bffb6de4b) >>
 >> endobj
-4619 0 obj <<
+4565 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 568.8537 150.493 579.3841]
+/Rect [134.114 657.521 150.493 668.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_6742bd7f3f2cb079b96900dda0147940) >>
 >> endobj
-4621 0 obj <<
+4566 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 529.6258 156.2812 540.5298]
+/Rect [133.915 618.293 156.281 629.197]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_fa6ba487c08199e83a970fc49b53d3d0) >>
 >> endobj
-4622 0 obj <<
+4567 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 529.6258 203.6031 540.5298]
+/Rect [160.097 618.293 203.603 629.197]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4625 0 obj <<
+4568 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 448.8633 203.0748 459.7673]
+/Rect [137.432 537.531 203.075 548.435]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4626 0 obj <<
+4569 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 448.8633 296.3242 459.7673]
+/Rect [203.573 537.531 296.324 548.435]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_09c8fc0753a389cc42f84c12f7920832) >>
 >> endobj
-4627 0 obj <<
+4570 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 434.2426 317.2295 444.1478]
+/Rect [277.005 522.91 317.229 532.815]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4629 0 obj <<
+4571 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 410.3826 194.2975 420.913]
+/Rect [157.437 499.05 194.297 509.58]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_0ab38d6ea061e7c2cb1595ba9cf2fd42) >>
 >> endobj
-4631 0 obj <<
+4572 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 371.5283 188.7586 382.0587]
+/Rect [157.437 460.196 188.759 470.726]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_af207e746f4a3dc2722e254612dab3b3) >>
 >> endobj
-4633 0 obj <<
+4573 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 332.674 204.4594 343.2044]
+/Rect [160.953 421.342 204.459 431.872]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4634 0 obj <<
+4574 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.199 332.674 278.5108 343.2044]
+/Rect [215.199 421.342 278.511 431.872]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_2935fff040a5b31930fff594a0b2596d) >>
 >> endobj
-4636 0 obj <<
+4575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 293.4461 204.4594 304.3501]
+/Rect [160.953 382.114 204.459 393.018]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4637 0 obj <<
+4576 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.199 293.4461 297.2005 304.3501]
+/Rect [215.199 382.114 297.2 393.018]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_bbde4b86cfca3e29a917650f4c9c62d5) >>
 >> endobj
-4639 0 obj <<
+4577 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 212.6836 157.4166 223.5876]
+/Rect [113.91 301.351 157.417 312.255]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4640 0 obj <<
+4578 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 212.6836 204.3401 223.5876]
+/Rect [157.915 301.351 204.34 312.255]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_dba3d929f4317a38ad387c5b45a91199) >>
 >> endobj
-4641 0 obj <<
+4579 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.6773 212.6836 308.9269 223.5876]
+/Rect [231.677 301.351 308.927 312.255]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4642 0 obj <<
+4580 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.0833 212.6836 432.3329 223.5876]
+/Rect [355.083 301.351 432.333 312.255]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4643 0 obj <<
+4581 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 173.8293 157.4166 184.7333]
+/Rect [113.91 262.497 157.417 273.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4644 0 obj <<
+4582 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 173.8293 204.3401 184.7333]
+/Rect [157.915 262.497 204.34 273.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_047a99eb91872d19730f4fd14a81f55c) >>
 >> endobj
-4645 0 obj <<
+4583 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.1558 173.8293 243.3433 184.7333]
+/Rect [208.156 262.497 243.343 273.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4646 0 obj <<
+4584 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.7854 173.8293 293.973 184.7333]
+/Rect [258.785 262.497 293.973 273.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4647 0 obj <<
+4585 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 134.975 157.4166 145.879]
+/Rect [113.91 223.643 157.417 234.546]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4648 0 obj <<
+4586 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 134.975 204.3401 145.879]
+/Rect [157.915 223.643 204.34 234.546]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_f2eb5d22ef23937a261cfe3f6bc435e6) >>
 >> endobj
-4649 0 obj <<
+4587 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.6773 134.975 308.9269 145.879]
+/Rect [231.677 223.643 308.927 234.546]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4650 0 obj <<
+4588 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 96.1207 157.4166 107.0247]
+/Rect [113.91 184.788 157.417 195.692]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4651 0 obj <<
+4589 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 96.1207 204.3401 107.0247]
+/Rect [157.915 184.788 204.34 195.692]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_448b4387171ec166085eb46aacedaad9) >>
 >> endobj
-4652 0 obj <<
+4590 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.6628 96.1207 458.9124 107.0247]
+/Rect [381.663 184.788 458.912 195.692]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4610 0 obj <<
-/D [4608 0 R /XYZ 90 757.9346 null]
->> endobj
-4611 0 obj <<
-/D [4608 0 R /XYZ 90 715.0952 null]
->> endobj
-4613 0 obj <<
-/D [4608 0 R /XYZ 90 676.2409 null]
->> endobj
-4615 0 obj <<
-/D [4608 0 R /XYZ 90 637.3866 null]
->> endobj
-4618 0 obj <<
-/D [4608 0 R /XYZ 90 587.5734 null]
->> endobj
-4620 0 obj <<
-/D [4608 0 R /XYZ 90 548.7191 null]
->> endobj
-4623 0 obj <<
-/D [4608 0 R /XYZ 90 467.8371 null]
->> endobj
-4624 0 obj <<
-/D [4608 0 R /XYZ 90 467.8371 null]
->> endobj
-4628 0 obj <<
-/D [4608 0 R /XYZ 90 429.1023 null]
->> endobj
-4630 0 obj <<
-/D [4608 0 R /XYZ 90 390.248 null]
->> endobj
-4632 0 obj <<
-/D [4608 0 R /XYZ 90 351.3937 null]
->> endobj
-4635 0 obj <<
-/D [4608 0 R /XYZ 90 312.5394 null]
->> endobj
-4638 0 obj <<
-/D [4608 0 R /XYZ 90 231.6575 null]
->> endobj
-4607 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R /F100 2135 0 R /F99 2213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4660 0 obj <<
-/Length 2812      
-/Filter /FlateDecode
->>
-stream
-x�ŜMs����<9bU�����!��TmvS�W�e����Z�T(�^���Lc�l�hH�|�(6��@D1��O��9�XP�ή����w����D����
�zuv��5����vv��у�H!gW~=�	>����7s���Ż7s��W��>U֋w?ݼ_/��^�|�Z>l֋��f~!
?}�xx�����X��ŸW��
-�)h�\8;���dz�b�����w��o|�z��g*x3�
-/8!��ݙ�*��=���������
-��y�gJ3o��;���8Ap�NBj�k�N*ƭ�)�N�<��:�B�]�dV��m���^6��|��?\?�o.��c
!40:9�y�g�N�[��9Ǭ�1�n�
&�
-�A�Ãa������r愄�a����7��{'�
�Iڸ�&*4δ�z��j��Hi���)i�
;춨Y�BE��7�ߛ���Q`ȭ-�E����.���HN3J�weF�)D�1�W��z�Y����m핂u
��/[�̣cN{��
%�
�9��ɪ@/a
����
\D���uΕ�4�7�ɾ���[c�t���w��q��

nV�.�
��:ɪ �`%��A��ğ���`�%�#��K0=��"�azi��NَV�

��""a��}�f�fZ��M���
���rA%�%�9nR�5���:38_�
.`�:\)cXW�
���3+�/e�hV����Aӥ���d
�qtƠc���'�Dq� �ی�
?d�^���^�N���E�/�����
!`[}�x[�P4�s�4F��5�2�����,�m 0�vp��}	����`�mf) Ѫ�d��D��
-�0���Ae�hv����$Y�˔�Po�H����ig�,e�hV�
-���@ӥ���d�qtV�cV��'�
-DqV �۬�
�
�5>�
Ac���<GP�@��=G`�Us�x��>Υ��py}S-7��9�yx��1T��u�g[ީ͗����Ko'�*�A�j4;�^{��f��隺|re�
���
OQ�WLIi
��̊��
NV�]���(*�8VQ
��YFx
-E�����O��?(�X!�p�v>t��W/�{����&����_�*0h+���!^T����j��"��F�Cװ���O�r��Q���Z
-���PV��ƪ�����BJ�%
EhCdt?�h%���"���j�����P
-�UP<��-i��
)���:n?JE�ݎ�i7�	���Ţ�i�$]��*�T,ڂ6I���y,�
����II���B4;i9�ճ�����;��ԟ+Qz ����9��
h��
0ݐ�@0�N4b���$)��"�$}�$��/g���!i����
�(�X�LAB��C
�p���Y &=$�>UMf',\�z�
��I%�? �+��:��	AMfEA�'
j�.�et�b
+���,#<��R]D�J�'A͇�Hu�
�\���{^��-���u
�!�-2�n�
|F�I�
�R�hv��ūg,]h-��O��ޟj�a}rU��hV�S�p���tIN1�9%G�)���+g=pH3:�=�HV8�%S�t��	�Pxm;���~F�F���'�
��c��
-���Ivfz�TzTϖ�I�%���a�@�z�{:"ɪ �g���


������
�*D���y	L� P�а �~��d�ޫ ;��K��dV�{�p���]F7@�)Ʊz_ at l�2��=���4\��|twݞ����Jt��/�ѾH��[�=�<t�K:ɪ ;*���vݟ��#��#�K =��x�|!Ѫ
u�3� ���&�ST
� T=�=�����>�z�����c����	���Ѭ����tU�钪c�!�N0�Vu1�:&<��=��Nµ���nq�7>`_���
��'c���i���� �RDV�2[?P�����������+��k�J�&�p{L=�
�'=�fe=D��!M���
�C�q�
҈Q1�!���C���lt]v w������/���;�H�$
�dU�������C�e���2�Ua�
b�
&���`#��O�C�
�E�y	A:�`��0Z�����4Z4�h�� 
+�4_c���=+�)�>RA�,�`6��=a��-!���:nCHE���i;�	��t�Ţ-��$]��
-�T,�z.I�ʹy,�s�4�)�I��|P�
͞���q��R{�L8��+�
ĺ��Ѭ,���tm�钸c�!�N0��w1�;&<��=�
-Oµ��nY�Ƈ�<���;R�X �'!Z��G9�Kəur��1���hv��c�8�K'�1�<B˼���n2+�!v8Y
t�.����X=, 6f����C.�a>��:�����4}��s?���OC�sA�����׾'�!�A�a2;���c�����i�}��"@�j,�r�v��>lC�������Î;���R�jB���T1؋M
-�C���:��U��]u��Zo��b��`�/��䵰��	]�VEY��KF�F�\�F߯V��FaK"�y���8���z�R�]�-,jf��tϣQ��z*��p��w��ol���dN3�ҹ� Sޑ��6��� �sY�/��R�
p��
�@4/�t��P0_��
A2��V�)BtB�m�ʆs�1���
|
-k�/	�~=���e�P��0�U�Q�^�\��1M�����]�ۗ��n_��Z�in�y�o~^,?/n�?�3�K�Z?f��_*�������R�ou8XE��h��g񧿣y?p�>��|�z��[���fs�����ׯ���}^�ܯ����������0�a@
�E2�d�W�2`�`���&)ܭbθY�/�u��eK[�
(���sendstream
-endobj
-4659 0 obj <<
-/Type /Page
-/Contents 4660 0 R
-/Resources 4658 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4529 0 R
-/Annots [ 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 0 R 4685 0 R 4686 0 R 4687 0 R 4688 0 R 4689 0 R 4690 0 R 4691 0 R 4692 0 R 4693 0 R 4694 0 R 4695 0 R 4696 0 R 4697 0 R 4698 0 R 4699 0 R 4700 0 R 4701 0 R 4702 0 R 4703 0 R 4704 0 R 4705 0 R 4706 0 R 4707 0 R 4708 0 R 4709 0 R 4711 0 R 4712 0 R 4713 0 R 4714 0 R ]
->> endobj
-4662 0 obj <<
+4591 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 696.1063 157.4166 707.0102]
+/Rect [113.91 145.934 157.417 156.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4663 0 obj <<
+4592 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 696.1063 206.47 707.0102]
+/Rect [157.915 145.934 206.47 156.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_61bc4f536e4c04b9594e1b6c7e13d76e) >>
 >> endobj
-4664 0 obj <<
+4593 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.8072 696.1063 311.0568 707.0102]
+/Rect [233.807 145.934 311.057 156.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4665 0 obj <<
+4594 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.2133 696.1063 434.4629 707.0102]
+/Rect [357.213 145.934 434.463 156.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4666 0 obj <<
+4595 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 657.4607 157.4166 668.3646]
+/Rect [113.91 107.08 157.417 117.984]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4667 0 obj <<
+4596 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 657.4607 206.47 668.3646]
+/Rect [157.915 107.08 206.47 117.984]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_600a652347fb8718e0bc05f7230b8d8a) >>
 >> endobj
-4668 0 obj <<
+4597 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.2857 657.4607 245.4733 668.3646]
+/Rect [210.286 107.08 245.473 117.984]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4669 0 obj <<
+4598 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.9154 657.4607 296.1029 668.3646]
+/Rect [260.915 107.08 296.103 117.984]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4670 0 obj <<
+4602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4606 0 obj <<
+/D [4604 0 R /XYZ 90 757.935 null]
+>> endobj
+4607 0 obj <<
+/D [4604 0 R /XYZ 90 726.054 null]
+>> endobj
+4608 0 obj <<
+/D [4604 0 R /XYZ 90 676.241 null]
+>> endobj
+4609 0 obj <<
+/D [4604 0 R /XYZ 90 637.387 null]
+>> endobj
+4610 0 obj <<
+/D [4604 0 R /XYZ 90 556.505 null]
+>> endobj
+4611 0 obj <<
+/D [4604 0 R /XYZ 90 556.505 null]
+>> endobj
+4612 0 obj <<
+/D [4604 0 R /XYZ 90 517.77 null]
+>> endobj
+4613 0 obj <<
+/D [4604 0 R /XYZ 90 478.916 null]
+>> endobj
+4614 0 obj <<
+/D [4604 0 R /XYZ 90 440.061 null]
+>> endobj
+4615 0 obj <<
+/D [4604 0 R /XYZ 90 401.207 null]
+>> endobj
+4616 0 obj <<
+/D [4604 0 R /XYZ 90 320.325 null]
+>> endobj
+4603 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F97 2177 0 R /F11 418 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4677 0 obj <<
+/Length 1106      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���+��Mj��E)p���)�vC�z{I
Cq�F�,�����~�՗ȵ�س Yf���9�	��zg��7�C
�
��y	0�������@�B�K
�髱?��(1�p~'o�?��(_�����Q�*?�R�C91߄~��Wr$��)�����!�/���۾�� �A�k����ظ�BЭ~�
�<���ȦL_C���� �5�����,Y	��6s� ����ϔ�\���g����bW�
t���Kvn
�O���Xe�� K��
;����*�.F��]a{Հ�	K�	'�L���
Z|
"��ۇ��I�Q��_�2v�
Y�k�����49;˧�,�E0��VּQ\��"W��ؙ9
A�
u�ƞ]��J�S���w��|"

7+WkX��,�Kj��b��d1B`�šwW��?o�SϮD
8f� �聅'V��
0ԡL__ �?�̫�8���Cm��n�P�
�< ��ׂT{�� MB��0!���'$JID�b+�����
;ZZ�re�T��_��6ũ`��S��^�{�,ش-[�46��֩���xAE�a�8�)ү�x؆Õ`���V�Z���|��X `�*�oB���L��]��KhX���5;�u�|v�v�`9kǟ��`�@�u������uh��*z2W� \������cl����x-�gG������1�����T&w���w�\{����RO�)}^[���-
��F�T{2iط"�C3�[���8��k��vRR>�UԸ�r,�7R��j.�(B���Y>�{�^����q�}P*�ϟ��a9U�=���I�]��;��5���'F00�&U�&�t�N]'�QǨ�#��yq��z<�-�K�)
w�^�岒ߦ��eu6!�ds�	��|�i��\{ޖ��q��[q���N�e�ی�;J\
���?�ʢm;x�g�

3pw=�T
Mr�'t��X�ü*��� [...]
��>lu�|P��/��>9�
�)ѵޭ�]�Nκ���{<L�4
+&
+iw2	�����Ћ^���(.K�8�*|�c?��x=��tI�
+endstream
+endobj
+4676 0 obj <<
+/Type /Page
+/Contents 4677 0 R
+/Resources 4675 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4458 0 R
+/Annots [ 4599 0 R 4600 0 R 4601 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 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 4674 0 R ]
+>> endobj
+4599 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 618.8151 157.4166 629.7191]
+/Rect [113.91 706.961 157.417 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4671 0 obj <<
+4600 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 618.8151 206.47 629.7191]
+/Rect [157.915 706.961 206.47 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_e3cacddb2450b8b685b8f39936a2b69d) >>
 >> endobj
-4672 0 obj <<
+4601 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.8072 618.8151 311.0568 629.7191]
+/Rect [233.807 706.961 311.057 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4673 0 obj <<
+4623 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 580.1695 157.4166 591.0735]
+/Rect [113.91 668.107 157.417 679.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4674 0 obj <<
+4624 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 580.1695 206.47 591.0735]
+/Rect [157.915 668.107 206.47 679.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_e615df068adfbb40a0b0b7a993579d22) >>
 >> endobj
-4675 0 obj <<
+4625 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.7927 580.1695 461.0423 591.0735]
+/Rect [383.793 668.107 461.042 679.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4676 0 obj <<
+4626 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 541.524 157.4166 552.4279]
+/Rect [113.91 629.252 157.417 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4677 0 obj <<
+4627 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 541.524 206.47 552.4279]
+/Rect [157.915 629.252 206.47 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_f06b2331eb3d080794682080b7f7eb1d) >>
 >> endobj
-4678 0 obj <<
+4628 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.8072 541.524 311.0568 552.4279]
+/Rect [233.807 629.252 311.057 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4679 0 obj <<
+4629 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.2133 541.524 434.4629 552.4279]
+/Rect [357.213 629.252 434.463 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4680 0 obj <<
+4630 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 502.8784 157.4166 513.7823]
+/Rect [113.91 590.398 157.417 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4681 0 obj <<
+4631 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 502.8784 206.47 513.7823]
+/Rect [157.915 590.398 206.47 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_423e3bb0d9886c630c3c227def9f2073) >>
 >> endobj
-4682 0 obj <<
+4632 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.8072 502.8784 311.0568 513.7823]
+/Rect [233.807 590.398 311.057 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4683 0 obj <<
+4633 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 464.2328 157.4166 475.1367]
+/Rect [113.91 551.544 157.417 562.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4684 0 obj <<
+4634 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 464.2328 206.47 475.1367]
+/Rect [157.915 551.544 206.47 562.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_bdd61469bc5c6dfc6e97f306a751035c) >>
 >> endobj
-4685 0 obj <<
+4635 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.7927 464.2328 461.0423 475.1367]
+/Rect [383.793 551.544 461.042 562.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4686 0 obj <<
+4636 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 425.5872 157.4166 436.4912]
+/Rect [113.91 512.689 157.417 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4687 0 obj <<
+4637 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 425.5872 200.8512 436.4912]
+/Rect [157.915 512.689 200.851 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_cc5c5125e7237c5913981b99a502f332) >>
 >> endobj
-4688 0 obj <<
+4638 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.1884 425.5872 305.438 436.4912]
+/Rect [228.188 512.689 305.438 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4689 0 obj <<
+4639 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.5944 425.5872 428.844 436.4912]
+/Rect [351.594 512.689 428.844 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4690 0 obj <<
+4640 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 386.9417 157.4166 397.8456]
+/Rect [113.91 473.835 157.417 484.739]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4691 0 obj <<
+4641 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 386.9417 200.8512 397.8456]
+/Rect [157.915 473.835 200.851 484.739]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_61208276a246a505bd753ffbb568bfe7) >>
 >> endobj
-4692 0 obj <<
+4642 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6669 386.9417 239.8544 397.8456]
+/Rect [204.667 473.835 239.854 484.739]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4693 0 obj <<
+4643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.2965 386.9417 290.4841 397.8456]
+/Rect [255.297 473.835 290.484 484.739]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4694 0 obj <<
+4644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 348.2961 157.4166 359.2]
+/Rect [113.91 434.981 157.417 445.885]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4695 0 obj <<
+4645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 348.2961 200.8512 359.2]
+/Rect [157.915 434.981 200.851 445.885]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_f245f065572b31c8ca97e196e45f9cf9) >>
 >> endobj
-4696 0 obj <<
+4646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.1884 348.2961 305.438 359.2]
+/Rect [228.188 434.981 305.438 445.885]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4697 0 obj <<
+4647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 309.6505 157.4166 320.5544]
+/Rect [113.91 396.126 157.417 407.03]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4698 0 obj <<
+4648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 309.6505 200.8512 320.5544]
+/Rect [157.915 396.126 200.851 407.03]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_89943bdfa5424bf7acecc51a7b6949c8) >>
 >> endobj
-4699 0 obj <<
+4649 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.1739 309.6505 455.4235 320.5544]
+/Rect [378.174 396.126 455.423 407.03]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4700 0 obj <<
+4650 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 271.0049 157.4166 281.9088]
+/Rect [113.91 357.272 157.417 368.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4701 0 obj <<
+4651 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 271.0049 200.8512 281.9088]
+/Rect [157.915 357.272 200.851 368.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_852f422dfdf14a1e8a97b4dad77f7e36) >>
 >> endobj
-4702 0 obj <<
+4652 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.1884 271.0049 305.438 281.9088]
+/Rect [228.188 357.272 305.438 368.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4703 0 obj <<
+4653 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.5944 271.0049 428.844 281.9088]
+/Rect [351.594 357.272 428.844 368.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4704 0 obj <<
+4654 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 232.3593 157.4166 243.2633]
+/Rect [113.91 318.418 157.417 329.322]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4705 0 obj <<
+4655 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 232.3593 200.8512 243.2633]
+/Rect [157.915 318.418 200.851 329.322]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_3c920e734593812d8529bc12be6f503e) >>
 >> endobj
-4706 0 obj <<
+4656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.1884 232.3593 305.438 243.2633]
+/Rect [228.188 318.418 305.438 329.322]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4707 0 obj <<
+4657 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 193.7138 157.4166 204.6177]
+/Rect [113.91 279.564 157.417 290.468]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4708 0 obj <<
+4658 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 193.7138 200.8512 204.6177]
+/Rect [157.915 279.564 200.851 290.468]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_54742578f3ff98e32e7e15d6b554f13f) >>
 >> endobj
-4709 0 obj <<
+4659 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.1739 193.7138 455.4235 204.6177]
+/Rect [378.174 279.564 455.423 290.468]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-4711 0 obj <<
+4660 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 86.2883 180.5399 97.1923]
+/Rect [134.114 171.522 180.54 182.426]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_340e8b886fb185bed798dcbc1391c126) >>
 >> endobj
-4712 0 obj <<
+4661 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 86.2883 251.3833 97.1923]
+/Rect [207.877 171.522 251.383 182.426]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4713 0 obj <<
+4662 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.1164 86.2883 336.6226 97.1923]
+/Rect [293.116 171.522 336.623 182.426]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-4661 0 obj <<
-/D [4659 0 R /XYZ 90 757.9346 null]
->> endobj
-4710 0 obj <<
-/D [4659 0 R /XYZ 90 132.1234 null]
->> endobj
-4658 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F100 2135 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-4732 0 obj <<
-/Length 3289      
-/Filter /FlateDecode
->>
-stream
-x��[Y�
�~�_1yQfc
��XG
�9�Q�M^l���:�K3��~}��c�ǐ�

A C���b��*�K&����%2���|y�'o��Έ=������g��(�� #��\޴
$A�:���nJ"�|F0��7�O�����9�����]}��~�[s����_�W���jV��x�Ţ����7�M�='zZ��5�c eJ�:���볯.��~�Ib|��xr
#��
#f����
F�:Y�q�����۳F>�E���!8H3=�1����G��;�q�(B9–�LQ��<T��Jn
J�AX=�d֬�����jgG�z�aB�K���֎��X)��'jn���յ�X���
-^
Ep�4���0�_!I	����o��jQ��ݯGx��a�ç�#�b�
� ��`���E(8�ϟ�8h`w0�1���	�G�i>�dV��)C��+*�$e8�@U�K82Xʮܫ�z1��"�\�j���|�j�K
�Z
֛z[���߼
��6���T%�� �X��X���l
-�$=����À��!��\#��� R��

�e��^<�tQ7nC��	;����ˀo��1Ĩ yKD��t��Ij����
�nH�7T��)�
�G��W at _���@v�!.�9٥b�ޙ:��8R�����;�#����������g	�
�'�
7"`$g�࣐�
-
-�GBJ�y�T���C��4��4�#~�(:
R\+O�z��qeZf|�H�W����{�ye J^���
-=
��� ��Պ��9!*ꦺZ�ì�T~잦 �CXɄ��}G^$B��+�
y /H�s-��[��
�
-�
4F���i6�p
-sR
-Ix�RH KS���wu��sӀ =\֐��f>�C�S��z`�
�^� R�4�b ���wt�����0n\w��
-{
-���������	��@^��R�I
���*�$�j��,�wZ at a��,R���"�E�~�8yCJFzr3���/j��[<�ap��M�J
-p&к��ރ�PC���%|��A!�
T%�m1
-��k�<��/㊜��	�
����w��9�!� �
#Ӛ~Ģ^h���T�dETOf�k
-r^w�޵���pɆ#������,�x���V��}�`��
�� ��-�J�x3�h�Z~q	�`�cv��}I�_���6z����Ju	��2��ƉT�H`�s��3�r��Ѧ	�%�}�'�k�k��y�D��f �H��j��
!5R��S :呁�Hf��vSϛj�|���w8EX��y�����ݻ��q�q�yK!�4D���R�;0榄��숥�HY�҄,����֢kpʺZ���b�-m�G{j
�@_Rh��y���B<*��W�*�G)�T��e�w�f���1�u��G0�4
�-�Kf�X�>��$]J�����,�0�(&�$�Ix�0&�Y��q�����W�`-F['�E�a� �n���L�
hi-5���"a�������gAEG�c�"�Ѐ�/9{%P�U�	*:�tT
g�*��v�����\���f�;B�� ��Z*R�����
/�9������Hyd@#��|���� ��������D�	�/�}�,j���e��o�;Y�F��]ކ�2 [...]
-���"bGz<�рM�#'u�&vq�
L
)A&yD�b��J|J
�!yt�V��W]x�N��I�D!�?z�]&:v�-�g3�8�B-�wp��
�@	��v��
�eHH$�T��2"kf�K{
-	���f��&��}6<���&�^Rd�v�R5"P *��5��GS3��#�L��Qf��)�0�	/�(	�'#���Ր�B����1�JO��@�΍
-=ڧcN/�]q�8}B�s�@Vv������r�ӧr�p`5�i>a�H�(�ȯQp\�c��� ��@|���u�y�$c�nx=HȽ#��ls�2���%��%'1	���(�\(G�j�r�*H!J���S�k�x~���೑H��I��#��3�1��bۘ��=�O��"T#�c������c�1���P�t�^7�z���s��V��{:�m�y�rlA�S�����!45�@C�\k۔��ޤ}3_�7�TX��=p��~g�%[�}��D��A�#�$��=i7"�G����>��,������{*�
F#�Öf�n�\��W��6l��堁��R64� `��g�h�R
�4
� @M�R�O���F��`�{e��n��oڪt�r�D�Hپ9�f����
-)���ncd�%����b��i�բ=.)eT~��^=z��f�ج��;G��Uۋ�w�˫��3]'�b������m�I�Jẝ�Ͷ����!p!�}Uܻw������#$(�5ع7@�H�^�
�l�D�
3b���c��
�� /
�b�L}�11�5��/�1��
�t\?�mx�oSR� ��#�=!:#D bD!�ڎ3s{���3Fo@,�*s��=Q���͘�P�`����<||Ҏ�z��v�I��e�-�m��[��y��;L���~U[�^�K6��?���Y�.{��!i��c���@��9p��DDX�i��wn�v�K��A�$��_( 
Rp�,F'<2�ɬ�Y���n֋���������"D��,�]�����n���*�:M����D������~�r�G<ϖ���'���=�
?A��Pd���J���B߄���ن���u�`3Y'%w�QA4���F���S$kO0��d&1�>X�6�>
X~ ����ژ
G����H;��
-�U� H� �$ĸ2�+���䰭s��8?��jp��������$�sS�%�n�ҫ��fB(� ���ؒ���Ͽ�DR:���������
1\9ܵ|�F3-�]�ZK���E�۠�H>�V��ר��p�#
�^
���#�7���n�ꭤ�AV���n�Ve{��ڽ��������
���:�������N���
C�9�#�t�|��(��_<�O����
	�`m"�<��eݹi
i:�bO�U�D'N�i"��[����kWok���ڿW+�Vwm'�β���j���*U
4&���s��-tU�@��O�p��dK$|0K�N�,����1���7�^��ߣ�ݮ��5�W�K��I
-s�{{x�f�h�K���Hp�T���ݵ\��٬��m e��
Q�;��3endstream
-endobj
-4731 0 obj <<
-/Type /Page
-/Contents 4732 0 R
-/Resources 4730 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4529 0 R
-/Annots [ 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 4753 0 R 4754 0 R ]
->> endobj
-4734 0 obj <<
+4663 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 696.1427 178.2386 707.0466]
+/Rect [134.114 132.668 178.239 143.572]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_e86d21a6490f299af6229d70cf20c3ba) >>
 >> endobj
-4735 0 obj <<
+4664 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 696.1427 249.082 707.0466]
+/Rect [205.576 132.668 249.082 143.572]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4736 0 obj <<
+4665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.8151 696.1427 334.3213 707.0466]
+/Rect [290.815 132.668 334.321 143.572]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4737 0 obj <<
+4666 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 657.57 157.4166 668.4739]
+/Rect [113.91 93.814 157.417 104.718]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4738 0 obj <<
+4667 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 657.57 206.47 668.4739]
+/Rect [157.915 93.814 206.47 104.718]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_2fb9117b8937e3d9a9b4d3ae397bb79a) >>
 >> endobj
-4739 0 obj <<
+4668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.2857 657.57 245.4733 668.4739]
+/Rect [210.286 93.814 245.473 104.718]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4740 0 obj <<
+4669 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.9154 657.57 296.1029 668.4739]
+/Rect [260.915 93.814 296.103 104.718]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4741 0 obj <<
+4674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+4678 0 obj <<
+/D [4676 0 R /XYZ 90 757.935 null]
+>> endobj
+4679 0 obj <<
+/D [4676 0 R /XYZ 90 217.775 null]
+>> endobj
+4675 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+4706 0 obj <<
+/Length 2362      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs����W�!cs4O�@k�*�>�MRqle/��
"!		� (����y �Cr6�
r"6�{����z@
�E8������?�,JP�8���
ɘ AIt����A�c<{3'x�V���9ųr��������*��WW�ˢn�4/���
+<{�N��^��n�jN�,+��c`eF���r������/x�#b<I&�����/8Z���"�X��#��8e��]���Ռ?��$��.�zu�&�HR�p,�
+�fͮ*��ͧ�^,�R�D��r�K��T)���V�=�"�g
�`Ҋ��$"q��e�
+�	�Ѐ
+��I+�L<�����\/g(m
��b�U�R1Ң�Rݹ����"z��/�g�uL�mV�MY�U⹢��H��y

�]H>`������sB 6Oo��@���<?��8���
$�Q��!�:�H��|%	�89���+��$��!����t�|u"T���~�Y��

ޘH��u�g����N�7��0����:\&���T Q�bN��y�͖y�οdu ÜB��m�fuuU?��ts�8��.P#\M˵q��xd�Ƃ���x�i
�1�0~�mH����W��^�����jM��m!���ĦUZ���k�;�������f�䴠��ύ�O����z��l�
6�o��eI
��+�4b[
f���a�&�0.D
��.k�|�����zY��&/
�A1��#Ɲ{��Ϭ�"K+{�}�A�h��gw�����k]Dwp�td�vɷ�m�н�jr�f9謮�"$F��.#���HN��z�
B�`	��\�8$�({�p�D�)�
+{6E
g�\�	��8J���k��H�`kEH��B'^@�B1�Nn��C=��Q�ġ���,A��X0Q�%E<�c]
1X�'�T��Uʏ7������+�.��P�D���//�T3
�"�N�o�n�L��R�;�$
��, ܼ�~_2hL�7�Iؒ���l�-y[�<����:��x�䯆���eǰ�[8
�n�dB��d)��m�#�i�.��N&p2�C���k�1���I����
>ӷ^�%��g�	��;5�	#�����fO���Ѳ�H�T��zGf��=�)2[囬�5�0�5�~��z�.���e��I]c�D���~�!p�L3�; d�e��Ω����<ӇS����7o��-�IW�O�Qc��PZ�B� AɨO
�(��:��
,�)�)�D�8.>���.+�r�
>d��H���b��آL:����3���P��=���㬩�q����B�hHD=eԞ�:W��h��|��ך��qg������v���ŝ�fe�l��dn���Q�77���-=Y1ۦye�
�;
��k��m�պ*ji1po�
��u�,C��,h'��:j�Ů.<���s3��������˗!Jd
�3yn�PGmt<�-�%�D/n�y��t���<�Ǟ�1�ᬣ+��J$y2:�
<�-���k���XP���I\��KG���u��[~f)
�5>��}���B�5��x�QG�|�
>,f�f c�m�������A2|��c��3a1�T��fa�O-�n7��M��ov��5��C�ݣ�yp���ڶ*��A��3f��~�-��-đ)[㈶
���hR�-��RW�m
zT4u�n��nm�S)
���U������ ���{Z�x�
�t�m���>X3�?>�P5l1���ʗ�J*+&
+��Wǎ:@4��ؓ(�'p\ȯސ\~n7�E
\�Q��H���	��C����٠�/Z�v�Gw8�(TrsX��:��{�	�h2e�J���>�e��F��=��f����#t
���@WP���l����IJg"L��G`
MR\ćS�qF�%�bj꤯��1�����w�n;�Fs��
�B��
��N`�Y�5Q
��Q��}���������D
+b-W����5����y���0ي4xɔ���������|�Uxpܯ�3ӫ��:�{
t�[�ý��{�>���������&{{�T��{�U0 �n��)� �z�Db$B��Tf�‚��WC�l}W
}��	�k�`��`���I��Pg��l
��,��Db1,��x�PKm �LؔLJ%@�q�3�J
���}YV@��e��;N�fBW
,�!��>z��|RAϕ���:� H	-���
�� L��?�İ8�T�b�"��
T�	�G��^庯��\�սԵ_�^g�o4u��%- ��Z#�^��*ǀ�&6�u`P�0�\
f�wY�f�.�Q{�'[H�	�~��g�S�l�./

вF�"�V(o.aڽ<d)���߲��m�hS�|//���
�h�����
+endstream
+endobj
+4705 0 obj <<
+/Type /Page
+/Contents 4706 0 R
+/Resources 4704 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4709 0 R
+/Annots [ 4670 0 R 4671 0 R 4672 0 R 4673 0 R 4695 0 R 4696 0 R 4697 0 R 4698 0 R 4699 0 R 4700 0 R 4701 0 R 4702 0 R 4703 0 R ]
+>> endobj
+4670 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 618.9972 157.4166 629.9012]
+/Rect [113.91 696.076 157.417 706.98]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4742 0 obj <<
+4671 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9147 618.9972 200.8512 629.9012]
+/Rect [157.915 696.076 200.851 706.98]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_4b4c0277d3b6c85ab6633ae9f5e235c6) >>
 >> endobj
-4743 0 obj <<
+4672 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6669 618.9972 239.8544 629.9012]
+/Rect [204.667 696.076 239.854 706.98]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4744 0 obj <<
+4673 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.2965 618.9972 290.4841 629.9012]
+/Rect [255.297 696.076 290.484 706.98]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-4745 0 obj <<
+4695 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.6889 580.4245 156.0548 591.3284]
+/Rect [133.689 657.371 156.055 668.275]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_66a2134e0f7fc74d62b14f46631dc2c7) >>
 >> endobj
-4746 0 obj <<
+4696 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.644 580.4245 314.2327 591.3284]
+/Rect [159.644 657.371 314.233 668.275]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4747 0 obj <<
+4697 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.0367 580.4245 486.6254 591.3284]
+/Rect [332.037 657.371 486.625 668.275]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4748 0 obj <<
+4698 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 541.8518 226.0342 552.7557]
+/Rect [175.349 618.666 226.034 629.57]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_182ea33f63c0eea708e02a32b0904f30) >>
 >> endobj
-4749 0 obj <<
+4699 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 541.8518 364.6822 552.7557]
+/Rect [321.176 618.666 364.682 629.57]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4750 0 obj <<
+4700 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 503.279 226.0342 514.1829]
+/Rect [175.349 579.96 226.034 590.864]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_cedadd7f7742a18d941ded77da69ba9a) >>
 >> endobj
-4751 0 obj <<
+4701 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 503.279 389.8974 514.1829]
+/Rect [321.176 579.96 389.897 590.864]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab) >>
 >> endobj
-4753 0 obj <<
+4702 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 403.4755 221.3259 414.3794]
+/Rect [177.82 480.031 221.326 490.935]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4754 0 obj <<
+4703 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4733 0 obj <<
-/D [4731 0 R /XYZ 90 757.9346 null]
+4707 0 obj <<
+/D [4705 0 R /XYZ 90 757.935 null]
 >> endobj
-4752 0 obj <<
-/D [4731 0 R /XYZ 90 466.2264 null]
+4708 0 obj <<
+/D [4705 0 R /XYZ 90 542.782 null]
 >> endobj
-4730 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F100 2135 0 R /F1 573 0 R /F10 484 0 R /F13 567 0 R /F7 526 0 R /F8 523 0 R /F25 344 0 R >>
+4704 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F98 2117 0 R /F50 339 0 R /F11 418 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F8 504 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4763 0 obj <<
-/Length 2617      
+4717 0 obj <<
+/Length 2120      
 /Filter /FlateDecode
 >>
 stream
-xڥZk�۶���B�/��'�
�ݤN
ױ7��$
��Z�H�LR^�;��x��DRZw<c
-�%pq��}�Kf��Y�g��P�x8˶x��� v8���xqsq�}(f	JB�n��
!A�:�Y�:'��x�vA�<������y�yX�U�._�UZ=\]�,���Ҽhx�r�ֵ��N��jA�,2	�1XeN�x��͏�7��v��D)������l;��#��bv
�H�����S����?������$�� 8BabQ�p(���f
�S*�w�fS.��}^|0]Y�҃|~����UmF��oX�,�)�hӟ��>��̓� ��.��=Ũ �X�Eič!�GIL��l�o��,l~�T
/C0$t�бU�xX%
�n��WIf$�"���
��J<x��S��z�f�U��E����Z��
%� h�A����m�ꐤS1Jfa"�
;bZ+t���E3�_���D�FQ�fT���)��8�����ᨠX$�c<��?���V��?�)���<��g4FaB�Y<�� LQ����dì1<#�(N�C^ +�Jֻ�X�A�9	�w�h��S at b� �O�֞�  �?�	��SD�D�">At�k���,��[�Y�6 �\�Vj{;�SO�3���\zv�S��RC5�\
�P�c���)C	��<�:����H��#�����/��k�$Mo7��2V�q��"�2������LZ0����D0ǙwF$��DЫ9E@`�PH�Bx`# �c넲Ԯ|+�2��N��C���q6�< [...]
�N(�+�RW�`.H�b�
I�^*�poIR:�|��k:��
[`JI�C-���VL��^��Y�n���V6�RU,,"ƛ��]U*�O�J�=5���F����n�왎Ԍ�L�݅}Ѽ C��l�k;T��]�nw%T��:ϋ@6ϛ�y?�wg#�Ά:�q�߀�/�7;+���晡�[ɮ,3b^2�	

�:V�{U��A�؅��4�}Y�gi4.�<�m���Y)��p�4�!X�h�Ԝ
8��4�=�qJ��83�^��w�K�Q�N�ޑ�p�a�:��v`ɑ��.�i�W���
4!Zۖ����sWB�0~Z���3�2Y��e�����<2���U8)�~,�����;k�-�Lݫ~b֏1׼�
3֬�n�7Kk9P� �(������QL-#�.X�3� �^e���V�����W@��]��e��B�N]��%��?�ԩU�:��{�C��,��-�cSlnf�<�
V��>��p at q��(N,��.
-����.�+7�}��M=m��Amm�|J?	u��c�ƃ\�1�v�8�a��{M�	b}W��Q
��*[q��a.�D��T
-�
��L��]�G4���w����/>�.�bC�I�?�*^1p34�7ي�[�`w4\p�Ү�6��]�
tu���g�ު��y~s��+;��H�-��f�P��̸B'#(��^��ٿ��(��?VA{!W�gQ��໛:�"�fL�``m�Q�[��gL��J��;dO
mb�4��ֳWcV:�Z��]mmă�_I}�N��I�[����Pa�.�T�����U��[�8DD�X�C���hG�(D	
�J�źܖd!�}�ld���+�(E3z$�λ
����3��!O��X谈=Pm��]�1ڎ�/���w���#�����U���Ӿٹ��
{oB#
���
-��p��ذ˵��{nӸ]�1���s�����y~�e��$�8��:B��C��WsO_־8;&/k_��	?�k›�QDI w_��B�jR%�RG*Z�k(ݻ�j�l�I+�n��~w7�����
��S����gP�>��U�
�;Y��
��rk�k�T���[���`�ju��ѝ�-).�T��J��A�W�)�t
�G,�X�Q�
�'�������o�����[��UL�U[Er�.D�lf0�>������"�s�����.B���ף>*��VÄ$=�.�}��z�0�D�u
be5�pMGZ$Q��QU�f�j����e�����W7�>�%TTKN �J
��/�C��*�&?���/R�Sh���$����/6��.�o�߼{��f���)�(��#1�֧�:֧
����X��9��y�����8�	A"9ys�IM ���� �����&�Б&}��a�49�G����F��?��	E��U���0��Z���S��ͷ��H�V�t��4��5�_jY�i!��"�SZ�y��I�ڷ�F	�bS�B����R
�3�G$�dF���_��L�^�7\����h^��u��./���QV�}��*�7�����P/�
9��)��Б.=�Y
�(����E�P���[�#
-�?+P���%endstream
+xڥ�r���]_��K�:X��
�c;J��q
��L'�p pibB4 Z�;���� A�J^���s�.����޷W/�W�߄�KH�Л���zQȈ�̛/�_&�F�>��N�N���6]��r:)7k�������J����eY�M��E3��������Ϳ��JUSOT�)�'�ʄE����W7�W
8�
�
ȈDBz���ߨ����=JD{wj�\�w㽿��Zi�_#��"�D��t�E�G�qA(�h�\� &,�Y����~��Ȥ�x@��π��\��>	Hs��}o=3���b��%��5�|� �Wz���
S�,����#����0
+�u�������v��f60Pi�������_�[UԹ;�w)�L��C��B��5�w$�BP��"",	=ABfUMG� ���;@Yj	�*ǀ�rD-�Fj�jUn6���]=ӎ4��}�"	�K
�q���M��Y��|0��h:Zh at t��j���Od��|����'��nT�|i��[�l��
+�Ӏ"4ܧ)���;
�V����򠝼�p�~,�(��د!D�jqs��T��bt�4bh5�Z%ePLg)�)<;IA�� .�`>���*�Uц
Ю��ǭ�@��p���
�l���^��+�Z�&|
�6��
qG!c�$.�ň�쐧,�e�&d@]�Q�q�
�D�0��R�gJ�����u9���c&��.&��#���tq�i��4=Ru�HOQ,&M�Љ�B�W&�1|�t3�E�'[լ�e�
f�wwU�`��%:
!Kx�p�>݂˚�Ԝw=@o��� G�;�X��
5H�^�4�y�*��7S_J1ɛ�t���w>w|
+
<��
}�<�$J&hZ�q�n��aʉ�,��7��\��{4`BqkY5��e�&ֽ%^��e��I���##�e�Z!
�,��\��
e�
��3�4݀�v.>�žb9�kIDr�"`˦���V>s`Wf�7�kw%�6�0`�=
�i�)ݞ6�fk�[-y�
��U�
�s?nD�ɷ���

Z��cq0�觲8Ў��Yki`7Kkێ�n;„$q�\��7 �k�b^: �
�AF	�m
�#t0�T
�1@�J�;��\>��+�;j}
e7�˃v�=-��D�f$�a`%|r��:�gV��-�s'Tx�,x��b�+���K�N���s�0Jfnj�?1,�ʕ*�o���_���������6͎�6=�K��m���^�M
��=�(�,#%���<	�
��{�'��#P>:����#� 88�/ �و��D
��"_!���ʻd�˼i�{��4���X&��{;=1q��
�,<��Bp��v��4�Y���?}j�_
�4�'}���תXn�:�|e�Q1#y���7�l�:�u
f�x���	�Ei���mT�/N��wH[�����{�����b
��
5���´���$���Ǣ=L`���]�W-�S����
H`�[��!���*ǎ[��a��H
��x�7d:�GH��E0���S�Gy�.��U�r_/Um{���<*�����w;�σYT?v:@�c��4����
���D`�K�Ԫ����?��]��.y���.(�f�fqW���`
�Q~�2��{Y��HF)�'�
�܋^�G�O�o����~`}T'���NX��X��x�{q*�?���G��̀q�	ޔ
7��x��.7�la���fw���.��<�o�ʬ[���uC�_j`�_��/Z�Q?
�[��@�`���n�W�2�l��rk�41�j��(�{
u���
B�Ru��d���7\üY�%1�8��2�_�	�a�a�p�4���ު� �)�[�W�> ~]f{t�e�ƒ$=\�Yl
+0���xr����(�`�86:�B�<��PXu��{�$�^�%��Dfܳ�թd ��y7e�빑Jn��b�4
����W����eH"�&� ���;Z�q�[>�'Ql%|��7���^��/^�y
��'��rnͧ�2 �/��w${��9�)xL>��K��Ɛ��K�пm ���v@!��ȡ���9
C�.]
��
$���V�ߦRN�D?�E[1�����O�A�g~�����^)+��w���/SLs*;�
��ͮ����HV�}��*�7׻����R,
F��}��
���}�:2��DA�@
+endstream
 endobj
-4762 0 obj <<
+4716 0 obj <<
 /Type /Page
-/Contents 4763 0 R
-/Resources 4761 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4768 0 R
-/Annots [ 4767 0 R ]
+/Contents 4717 0 R
+/Resources 4715 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4709 0 R
+/Annots [ 4714 0 R ]
 >> endobj
-4767 0 obj <<
+4714 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4764 0 obj <<
-/D [4762 0 R /XYZ 90 757.9346 null]
+4718 0 obj <<
+/D [4716 0 R /XYZ 90 757.935 null]
 >> endobj
-4765 0 obj <<
-/D [4762 0 R /XYZ 90 216.3466 null]
+4719 0 obj <<
+/D [4716 0 R /XYZ 90 223.935 null]
 >> endobj
-4555 0 obj <<
-/D [4762 0 R /XYZ 90 194.0348 null]
+4514 0 obj <<
+/D [4716 0 R /XYZ 90 201.623 null]
 >> endobj
-4766 0 obj <<
-/D [4762 0 R /XYZ 90 194.0348 null]
+4720 0 obj <<
+/D [4716 0 R /XYZ 90 201.623 null]
 >> endobj
-4556 0 obj <<
-/D [4762 0 R /XYZ 107.7135 119.8011 null]
+4515 0 obj <<
+/D [4716 0 R /XYZ 107.713 123.174 null]
 >> endobj
-4557 0 obj <<
-/D [4762 0 R /XYZ 107.7135 105.6997 null]
+4516 0 obj <<
+/D [4716 0 R /XYZ 107.713 107.386 null]
 >> endobj
-4558 0 obj <<
-/D [4762 0 R /XYZ 107.7135 91.5983 null]
+4517 0 obj <<
+/D [4716 0 R /XYZ 107.713 91.598 null]
 >> endobj
-4761 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F8 523 0 R /F11 411 0 R /F25 344 0 R /F67 366 0 R /F33 481 0 R /F7 526 0 R /F97 1822 0 R >>
+4715 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F31 472 0 R /F7 505 0 R /F8 504 0 R /F11 418 0 R /F23 340 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4771 0 obj <<
-/Length 2100      
+4724 0 obj <<
+/Length 1798      
 /Filter /FlateDecode
 >>
 stream
-x��Zmo�6��_�O=W3|���
p������}�.E��lɕ�d��;IY�h�i�E��zq��g��	I�����c%Ҍ�q�
��
<�zD������}=�z'�X#-�
_/�$A�:�^|�����x�~J�$.����)œb��Oe|�]v[��~>[�۪����Ψ����x���?�˴��h��I
-�1�2!JO?^3��1��@0I����>|����FLGb�7��x=�������q����#a�x�2��`O �|a��K������|�vY$�u�Wq���,�Q�פ=,"Owr��S:�
����
�ʝ�y���V��r0�*�iƢ���t��8��I��d���8�HFT�g0+-��Ї��f�%Y��~�߀7�B�r�����?K�
~�e��W�/�x�U{{�
&�7�(��Y���:xK�:�c$&�K��`���fm�>�"�0f0g�GJ��������X7�)FIPyψF�oEg�	VH&�3��b>��)Ǔp��&.�j�����Ƨ�
i���t�O1C��uǘ����R1y��"g���r���zpm9�\x\gJ��ٔ�&-�Q���bę��0
-dqp�\����t}�{�˓:ޟB����E��c�d�Ս��j;��qc9�˥Xҧ�F�V�-j�����M5���v�IiE}�<�Χ��)��z[֓IX�ȯ�,_ey��YDQ��e��jW�n����+K�I��֏��`�2��Sꨎ����,�TtA����t��V���}U�`~���f(Š�R[�4/A�"%]
^�K!��Գ"�K��o�A�
x�gL��:�T-^bB^�k���E:%b�	n�	�i�
B� �4$-!Z�e��+Ӹ2c�΄�=����ZGVm7q�.�n[SS��2 a+��$����X>�XA�i�V(��E�x�(V6~��v����wU�*�$v#�
rR�:�
�	����~�P��!/ �a��:u2����վ��:�"�
L�߁W:VtS�w���
��so��]�?�K���k�|pe�y��z���\ ����_A���s��}0���N3�t���6\���e�Z�0��;��\�y
*|�"	"NvKm�>M@�� ��W�R��L��B+1���:�*���������.?i#D�80�B\Q��
K��,rYL@یB³�蒝)�10���IleTKD"J�O�$��p
13��h�-.�A�7����i���=sI!��sR����O����C\;�f}m�g�ո%�wp>4X�,SMޘ�-�,
p��T�p(.C�Ք�'�yx?�M'u
��Z�
T� ��ԱK^�3��,qE�w��
-i��:Z�^�S�_�zP��ܕUv�?
-a�Z
M�^
�YB����%�G �4`#�F,�H�#�	�"~:[C������V4�m±����ű���`�¤A.J�|,��X��_��LW�&藊�a�����ah��

#"y�)�ٳ��,75h���v���>���'/^�������_�w��o(��Sꓣ}�?���0�<M�m�jo��R������멽����3TVщ2捥��j��I���O5h�v��R²�
���P�y��6��`�z� k�}�e^{�ߥ���sk���#�"�����F�l�
j<���>�:z�ծ�v+�n�l��g��P+Cí
�2��'�2���|�`��z;��C�Nz���Is>�!=,���=ۺ�?>�a��?ˮ�%}Be���%�T��s��q�6�zfZ��_���M�ַU
-�f
�q�a��N!�i�;��d��[�K%3��;��[�#辮�2/��	�
D�1�'?����c'�t��Gֈ#k:g,���&u��:�7�V
-��*���nO:��MKݣ綨�
�����A�ԟ�j��(�c�٦e�}

�N���:�V�i!E4i�������f��&�fw�i��:��7�ݦ�ߦaᅬ�]{�Զ��9��b���p�Oiz�� w+���o�?�W�
��|0k}aO)t���f��U��_]=>>�d�vy�)QV]m6��c��9
�!�,ܬ����<�$RH�m��#g]xpe���C}�!s
-!`ʯc
�
endstream
+x��Z�n�F}�W�)��h�W^Ԧ@�4ҦH�/N`���"*�
+I���w�B�KѶ�	��������Y��w�a����g���>�"����f^���'HP�M��!!��ј`��oF�b_�Q<�����ş�e���4�ʪ�Ӭ�����E\���[9�ň�C�%�c�eHB<�p�j���� E�#���	/Y�?`o
+�_y�(�n�����u��=��zC¾hy���ǘ�N��0F>1��}�"O�K�Uq��2��)G�Gβ�

(7h�S:|�N�C{W���M=x�l8y���

�A�i��+#�Fq�k	�B�L{�1'�C���Hظ����"M��yE��+
 �r#{�����qR��B`V�K�I~\Nj�ژ�d�߮=$�H���1�ZjE��T��N�$H`p�
+�����6�+��r⼼]ĉ5	Q�#X

	�,QV��$�F
����E\\i�t�q
��hm�ټ�GT
o2�t�N��G�7�Hm�csY�Jݸ�
�@N1�
�d�����-�_��e���u���8�dxS2����ǘ&)�u��*'
�
�7���}zX�%m�E9~S��QDa�4�\��"CQ�$�'j{�X
��I'�!WMў��"�d_��C�B��J{+�u��WsY�3�����q�'���둣9D�o,L3#A����l�Ƭ�(
+=�
`��
+:uD�,cAPH��σO/cq�2�Ze�D��X_u~�l*GD
o�mo^"��7-tE���ZW��+U�FalMP��m۵_�
��U�؏�
.u)�
����M�nG�}7�~����Hn���\������ސ�U���E~�&�]A���
+����[�=���� ����܄AAG��ljk8[l���I��@0����n!u�6�0�H�g����P	��Y��-J9������N7đ�����~�U��j��'��L�E
/�4?�I���”i�]Տ�e�qx�BMD���T�R�c�����fbK�	
+b
 ��^�ž[
�2�T�B�eF̶]�Zb�H*Z��F&h���Ҡ!=�T�l�ȵI��:����^�Uv8�J[v�B�t�נ��
�d��?�p�i�T0�%���)������*��ƍ-2
+7�p2Q
+��P�!�rn��l
xN���&~7&(�P�~�}P~^�{Q@����
U�S�겧cs���Ir�)��8���qȶ��A��"��
�"�!��C@ާ��C��7�C��?��ѯ��Q���~�ӣ`|��-�t����� �btT��k�}�as���
C���<�����"iY5�O���C�'��Ey8���Ҟt���EȠ���`�Ͷȝ5�-�
�H�	
�"���]���&�Ii�� �;}���~IJ+����3P��	�a�Vc���r��������F�Y�޵�[;�@i�Ci��� �T�rm�����f��hQݶG���(�&a���C�:3Id��!>Ϳ]>����`|~'�wO`�B6�2U��Z��Y�㲦�����)m#63&j�0c|8M�i���V"��@kg�mm��"˭�}@���_yee�yl��ޱFt���U���G�e�i8������.�ݳ�� Nv�˼�[��o�������;�����Q�c��8��6�v3� [...]
+endstream
 endobj
-4770 0 obj <<
+4723 0 obj <<
 /Type /Page
-/Contents 4771 0 R
-/Resources 4769 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4768 0 R
-/Annots [ 4780 0 R ]
+/Contents 4724 0 R
+/Resources 4722 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4709 0 R
+/Annots [ 4721 0 R ]
 >> endobj
-4780 0 obj <<
+4721 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4772 0 obj <<
-/D [4770 0 R /XYZ 90 757.9346 null]
+4725 0 obj <<
+/D [4723 0 R /XYZ 90 757.935 null]
 >> endobj
-4773 0 obj <<
-/D [4770 0 R /XYZ 90 733.028 null]
+4726 0 obj <<
+/D [4723 0 R /XYZ 90 733.028 null]
 >> endobj
-4602 0 obj <<
-/D [4770 0 R /XYZ 90 716.2211 null]
+4518 0 obj <<
+/D [4723 0 R /XYZ 90 716.221 null]
 >> endobj
-4774 0 obj <<
-/D [4770 0 R /XYZ 90 716.2211 null]
+4727 0 obj <<
+/D [4723 0 R /XYZ 90 716.221 null]
 >> endobj
-4775 0 obj <<
-/D [4770 0 R /XYZ 90 606.8053 null]
+4728 0 obj <<
+/D [4723 0 R /XYZ 90 606.805 null]
 >> endobj
-4603 0 obj <<
-/D [4770 0 R /XYZ 90 584.4935 null]
+4561 0 obj <<
+/D [4723 0 R /XYZ 90 584.494 null]
 >> endobj
-4776 0 obj <<
-/D [4770 0 R /XYZ 90 584.4935 null]
+4729 0 obj <<
+/D [4723 0 R /XYZ 90 584.494 null]
 >> endobj
-4604 0 obj <<
-/D [4770 0 R /XYZ 90 471.735 null]
+4562 0 obj <<
+/D [4723 0 R /XYZ 90 471.735 null]
 >> endobj
-4777 0 obj <<
-/D [4770 0 R /XYZ 90 457.1647 null]
+4730 0 obj <<
+/D [4723 0 R /XYZ 90 457.165 null]
 >> endobj
-4605 0 obj <<
-/D [4770 0 R /XYZ 90 324.9755 null]
+4563 0 obj <<
+/D [4723 0 R /XYZ 90 324.976 null]
 >> endobj
-4778 0 obj <<
-/D [4770 0 R /XYZ 90 310.4052 null]
+4731 0 obj <<
+/D [4723 0 R /XYZ 90 310.405 null]
 >> endobj
-4606 0 obj <<
-/D [4770 0 R /XYZ 90 181.0504 null]
+4564 0 obj <<
+/D [4723 0 R /XYZ 90 181.05 null]
 >> endobj
-4779 0 obj <<
-/D [4770 0 R /XYZ 90 166.4801 null]
+4732 0 obj <<
+/D [4723 0 R /XYZ 90 166.48 null]
 >> endobj
-4769 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F1 573 0 R /F10 484 0 R /F13 567 0 R /F7 526 0 R /F8 523 0 R /F11 411 0 R >>
+4722 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F8 504 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4783 0 obj <<
-/Length 1311      
+4736 0 obj <<
+/Length 1190      
 /Filter /FlateDecode
 >>
 stream
-x��Y�n�F}�W𩕀r���5� mHS�MԾ8���t-T�\�����,o"�D�T��/\r8�Ù#� �4�R˅
-�����@�8��aS��`|�d`�UL��\�"�`ru> @G!PJ�g#��(��.�F���7�U]��}J������E���h�d��I:|=�����}|
�#0�8�ƨ���!:���
���.�H��9�����W��%�<�����xu�>
~���|����d�qB���LY��4���U܏�U�<���pz�L��")N?/���q�E�-�
	� \Xh�'PZh&�c�wqe���ĝa��J:u2��w�$���7��i^.s�N�;gn|ju#:��Ȃc�r�12�
A1;���PI�a�E��ά�,�mu)�V^5��,Q�� ĔY)
��_��(����70Ѡ�b�(��8�O��t�M\\L��~l��%����DiJ������u��"ē����œ!�1YM�0v\pM츳�Ο#��k�E�汯\�%�Ȫ
@$�ޣV(LU%^=�aP%sG�C��k�€��
0��	�����Һ�wn�w��5�G� [...]
{�w�Iu�T�P�(�Nɋ� N�7�,�p*44�9�%J��<F5�¬�o�����J���
��L<�&Q6|�EfR��4I�K��Ul��W
76��|
;ᙣ�?<�

�'s:<�ݘ��8��G�0Ӯ�����l���l]�����Q�p4Z�ez�2�����֖�$�-I`�_����3׳��z�7׃���!�^�ĭ��r�>�
2JG
-���A�z{�7�W]ڣ������	tR�5�D/v�I��� ~����C��C"6> b��f��q�V����o���&|�|����mx��bo�S��8�݇�FGu��f[k�%�T ?
-c�61�8gݘ�"R8�&�볽�
!&����`���%
-E=��zў&_I)C4X��0�BǸ)�0���I�ܳ�|U
�uTq,wR��e�~?�rX�(����`+�*N���]�'�Xg|����0�ՠ�	*��
TW���_o['݈��^�M��
��d�$���.%�l|w7o�ō$ث�
��#_Z����� ����Q���EZVb����|��Bn��q�?!��endstream
+x��Y[��F~�W��1R���3�l�6�VJSi�оlVȁ�.*j�n��{�6�&x������9
����η�N�J����
+w��A��H�`
܄ h����
4��Y<��2���8��o&�8�tq�r�,�4�$Y��$
_N��x|g�l�
�ddQG+!h��^w^
:�u =��
ȈD\�Y��c|�u@	7:x̥f�`
_������
�*Y���2��tb�q��7�x��4�ly�Z%�l2O��w��jf�,��B��l�	
i�'PZ�'�c��
���<��tg?PIGN����$�q:|���H�r��v�_9s�+#kѱ
%\
r�
+�f��r-�u��$��E�m�z-3�o
�
�Z�[;UW�`��,�aŒ,�ss�������/`�!"��B��ViR.����h���Mj|�l;U
# �U�.}J�v�ME8��̙��9#`��$̃Z
7��p�s�0�������J�5Q�r��
8$�>�V(,��~)0`ͪr�|�)�ߜ ���
 �
 �(j ��k��
w\c���q`2�F��&��D
 �F���J���
����"�c���a�A�͛]8U 
`9��>��%I$7'�N���<U_�X�D(} T�l�� ���~L#BG%�DS�7��h#<;L�p�*r
+$2�uY�j"�~(���4��#���)J"mZ�{��U�����XJ�ƒ==��o@��T(�&YK#��*H���D�'�&�\c��1��9I/8%S�z�S��GXd�0�N͍�_ƍ�El��
7�jx&�c��S
 O^l��
o��v�KR�
+�a�9�:'�
���Gτ�1E�S �����ي���	��T��w´�w�i�N���5���_�ڣ���q����?�uf6�P[c"��SHP�� Jcl�
D'��G,VK�x�=��GqZ�xN���C�
M/����lG/���z�
�|����[?}�������'�=��)�tk�zWK�%��o�n����眵���H7��?���S����^�(����{�|_���ܗ`�,36X'�
2������8������ҦϺR�e���U<��nzp�l���*�]/X��+;)��-#-��5X?����q�QN at W��>�����#-�*�,R2���Ŵ���V�=(�J}��9�n6O�
L|s��~>+��
+�Y
+endstream
 endobj
-4782 0 obj <<
+4735 0 obj <<
 /Type /Page
-/Contents 4783 0 R
-/Resources 4781 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4768 0 R
-/Annots [ 4796 0 R ]
+/Contents 4736 0 R
+/Resources 4734 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4709 0 R
+/Annots [ 4733 0 R ]
 >> endobj
-4796 0 obj <<
+4733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4784 0 obj <<
-/D [4782 0 R /XYZ 90 757.9346 null]
+4737 0 obj <<
+/D [4735 0 R /XYZ 90 757.935 null]
 >> endobj
-4785 0 obj <<
-/D [4782 0 R /XYZ 90 733.028 null]
+4738 0 obj <<
+/D [4735 0 R /XYZ 90 733.028 null]
 >> endobj
-4654 0 obj <<
-/D [4782 0 R /XYZ 90 716.2211 null]
+4617 0 obj <<
+/D [4735 0 R /XYZ 90 716.221 null]
 >> endobj
-4786 0 obj <<
-/D [4782 0 R /XYZ 90 716.2211 null]
+4739 0 obj <<
+/D [4735 0 R /XYZ 90 716.221 null]
 >> endobj
-4655 0 obj <<
-/D [4782 0 R /XYZ 90 668.9823 null]
+4618 0 obj <<
+/D [4735 0 R /XYZ 90 668.982 null]
 >> endobj
-4787 0 obj <<
-/D [4782 0 R /XYZ 90 654.412 null]
+4740 0 obj <<
+/D [4735 0 R /XYZ 90 654.412 null]
 >> endobj
-4656 0 obj <<
-/D [4782 0 R /XYZ 90 619.1633 null]
+4619 0 obj <<
+/D [4735 0 R /XYZ 90 619.163 null]
 >> endobj
-4788 0 obj <<
-/D [4782 0 R /XYZ 90 604.593 null]
+4741 0 obj <<
+/D [4735 0 R /XYZ 90 604.593 null]
 >> endobj
-4657 0 obj <<
-/D [4782 0 R /XYZ 90 557.3891 null]
+4620 0 obj <<
+/D [4735 0 R /XYZ 90 557.389 null]
 >> endobj
-4789 0 obj <<
-/D [4782 0 R /XYZ 90 542.8188 null]
+4742 0 obj <<
+/D [4735 0 R /XYZ 90 542.819 null]
 >> endobj
-4715 0 obj <<
-/D [4782 0 R /XYZ 90 495.6148 null]
+4621 0 obj <<
+/D [4735 0 R /XYZ 90 495.615 null]
 >> endobj
-4790 0 obj <<
-/D [4782 0 R /XYZ 90 481.0445 null]
+4743 0 obj <<
+/D [4735 0 R /XYZ 90 481.045 null]
 >> endobj
-4716 0 obj <<
-/D [4782 0 R /XYZ 90 433.6055 null]
+4622 0 obj <<
+/D [4735 0 R /XYZ 90 433.606 null]
 >> endobj
-4791 0 obj <<
-/D [4782 0 R /XYZ 90 419.0352 null]
+4744 0 obj <<
+/D [4735 0 R /XYZ 90 419.035 null]
 >> endobj
-4717 0 obj <<
-/D [4782 0 R /XYZ 90 383.7865 null]
+4680 0 obj <<
+/D [4735 0 R /XYZ 90 383.786 null]
 >> endobj
-4792 0 obj <<
-/D [4782 0 R /XYZ 90 369.2162 null]
+4745 0 obj <<
+/D [4735 0 R /XYZ 90 369.216 null]
 >> endobj
-4718 0 obj <<
-/D [4782 0 R /XYZ 90 322.0123 null]
+4681 0 obj <<
+/D [4735 0 R /XYZ 90 322.012 null]
 >> endobj
-4793 0 obj <<
-/D [4782 0 R /XYZ 90 307.442 null]
+4746 0 obj <<
+/D [4735 0 R /XYZ 90 307.442 null]
 >> endobj
-4719 0 obj <<
-/D [4782 0 R /XYZ 90 260.2381 null]
+4682 0 obj <<
+/D [4735 0 R /XYZ 90 260.238 null]
 >> endobj
-4794 0 obj <<
-/D [4782 0 R /XYZ 90 245.6678 null]
+4747 0 obj <<
+/D [4735 0 R /XYZ 90 245.668 null]
 >> endobj
-4720 0 obj <<
-/D [4782 0 R /XYZ 90 198.4639 null]
+4683 0 obj <<
+/D [4735 0 R /XYZ 90 198.464 null]
 >> endobj
-4795 0 obj <<
-/D [4782 0 R /XYZ 90 183.8936 null]
+4748 0 obj <<
+/D [4735 0 R /XYZ 90 183.894 null]
 >> endobj
-4721 0 obj <<
-/D [4782 0 R /XYZ 90 136.6897 null]
+4684 0 obj <<
+/D [4735 0 R /XYZ 90 136.69 null]
 >> endobj
-4781 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R >>
+4734 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4799 0 obj <<
-/Length 1351      
+4752 0 obj <<
+/Length 1239      
 /Filter /FlateDecode
 >>
 stream
-x��[o�6���+��M&��w�
V���Zo/i(��sdWV����Ⱥزiىݤ(� �dQ������x�zZjb�P��C���?:P>�y�:��A��FI������D2`���� @�PJ��.P?Lo�˳.��d�p]�����*
Ӈ��W�d��a�d݀I���Yq�!Ei�%��q�⃁���m���6��@r���;�ԻFO�v(��H�
o(k�w��W7����_�����W $�}"�8�J�e$�$ e8�2�'�(
�I���{�"
�%P]��C�4�˜r�i!����$}��
�(�.s}���d��,�؅\�WU+Jş
-ɉC��pc ��v!��PPX�>N�0�|�eZ����B�p

-
u�VJX���e%�XY*�
V�9� �
�1
)@
�J��(Š\_%[0M(
�D1��_�ewiR��D��p��M�/9�f��5D(Ú�mز�Y�k=4
	�X�+�#v0�2�S�p:�D�����
YC��c�9��9�e�hE
�vS�����jLW�F�Pg��B/1U(�Vh�+�[��Vy��.�[�
X� ��
ha�
�*X���tҬeomF2nŚ�
K
�X;x�HͶp�]ܡw;�JC�h�n����ae�ë�k
�f��}�h�.�
-'���0*@�XӔ"Z������g~
~�_���GI��&�hm��]�V.y�*��e�
B����5$
$c~[U��ʬ�u�Ta��S�s�e���W|؇K���b<����v���L&O+���e� )
H���J�`ڗ4��*��}
����}Jꪠ�
��}� �8�l~�}��o��5`T�u�}ݞ}
ۻ������_������ֺ�������
k1|�����l.�����+���)̶��j27?yOO��ղ*7��])c�xQ�i_�9�x�3��Z,�Q+y8i4��M�A���-�)�s"L]H��ΕA,_�Vc�Q�n�\��H��>�� ����cq	p��.�2����8���M
:�rXG��ib��2��!�[!�� q��F��B�Ȍ|
�/� _c0�dO�Qc���`dT�������[�{���P�غ������	����m�2͈��=����
-;������ ��Rr�
EA��:��pqF�p��ŵ>DN [...]
+x��Ko�F����%%�j��ܧ!�P#)����(�8�A˫��L)-���çHz)ʖ궆/I/��qf���?
��:�e2����T8����#A�gr圹� ��!���
�n��
��b~m����cx�����"Z%qF�7�
�'�`��/?���=�\M
��A�K��'�o'�oa�dp��ϝ����
;W�������s���q��w�|
�>�[��>‚׼A
R�԰�w�4q�,�Ԭ�;Bj��d�	M��q����f�\p�K��9>Y��W��44Qr��KVGG�T�E
�zp2���U
�()G�
q_�
~�37���1�L_����լV�"�
}�	&�¯�E��،�H�J�����\ ~�bMC
+Aj���,��\��
9�-
R����.����2�m
H%�&��n��P��K��b�H�BL�VZ��i՛�Zt U��4$p�e�YB7$R�
�ED�q�6\�܎�BTV��٢4�(!���mG���t�kF���@,�4b��  �Ҩ�5��
+����vh�#rȈFB�ހ-d�3Yƪ�>x�og��>n޶�����?۱�Kځ�o��멒
+�
�e��i
+}%
.����
YI\�B���
+x�D%��I�V��N�L$�P���Y�#�0
<���@�UO�bȷ֬TtG��f�
�Z��hi~
,�)u���a�U�fPSx�����S�9ݹ��M%�O������u�.$7�EO뢀� � ����"���.ʨ�)gJ�����
�^��c�=�e�JS���{X��?>�����I4 �]�����u���s�g��{���kK~ޖ̞�%���%��T{���kK~a-y�,-�=
����b���=>���
�?�(�%���YUξ[3�i}�>R�&P0*%�}5s��y�;>
B۹x(��S�I|kK�-��8���� �*r���+��C�e�g�07�7

|ͷ�У�]���)��,,:�7���v!U��	����� j�T���
@0Z$O`QB��r?)H�#;�dﭿ�]? )��٫��h� {��<� ىZ*)b���t���ƣ5�cw������PH��^v��@�� �b�
L'e�N=³#��<��o��������?z��E�
��`�ap��2q�
+q�*�el���
�s
v?Sx����S^}d�M�n��$Y
�Fwwwh�B�Q��Q����������ز������Yw����<�	0�A�0�Vq
+endstream
 endobj
-4798 0 obj <<
+4751 0 obj <<
 /Type /Page
-/Contents 4799 0 R
-/Resources 4797 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4768 0 R
-/Annots [ 4812 0 R ]
+/Contents 4752 0 R
+/Resources 4750 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4709 0 R
+/Annots [ 4749 0 R ]
 >> endobj
-4812 0 obj <<
+4749 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4800 0 obj <<
-/D [4798 0 R /XYZ 90 757.9346 null]
+4753 0 obj <<
+/D [4751 0 R /XYZ 90 757.935 null]
 >> endobj
-4801 0 obj <<
-/D [4798 0 R /XYZ 90 733.028 null]
+4754 0 obj <<
+/D [4751 0 R /XYZ 90 733.028 null]
 >> endobj
-4722 0 obj <<
-/D [4798 0 R /XYZ 90 693.0963 null]
+4685 0 obj <<
+/D [4751 0 R /XYZ 90 693.096 null]
 >> endobj
-4802 0 obj <<
-/D [4798 0 R /XYZ 90 678.526 null]
+4755 0 obj <<
+/D [4751 0 R /XYZ 90 678.526 null]
 >> endobj
-4723 0 obj <<
-/D [4798 0 R /XYZ 90 631.3221 null]
+4686 0 obj <<
+/D [4751 0 R /XYZ 90 631.322 null]
 >> endobj
-4803 0 obj <<
-/D [4798 0 R /XYZ 90 616.7518 null]
+4756 0 obj <<
+/D [4751 0 R /XYZ 90 616.752 null]
 >> endobj
-4724 0 obj <<
-/D [4798 0 R /XYZ 90 581.503 null]
+4687 0 obj <<
+/D [4751 0 R /XYZ 90 581.503 null]
 >> endobj
-4804 0 obj <<
-/D [4798 0 R /XYZ 90 566.9327 null]
+4757 0 obj <<
+/D [4751 0 R /XYZ 90 566.933 null]
 >> endobj
-4725 0 obj <<
-/D [4798 0 R /XYZ 90 519.7288 null]
+4688 0 obj <<
+/D [4751 0 R /XYZ 90 519.729 null]
 >> endobj
-4805 0 obj <<
-/D [4798 0 R /XYZ 90 505.1585 null]
+4758 0 obj <<
+/D [4751 0 R /XYZ 90 505.159 null]
 >> endobj
-4726 0 obj <<
-/D [4798 0 R /XYZ 90 457.9546 null]
+4689 0 obj <<
+/D [4751 0 R /XYZ 90 457.955 null]
 >> endobj
-4806 0 obj <<
-/D [4798 0 R /XYZ 90 443.3843 null]
+4759 0 obj <<
+/D [4751 0 R /XYZ 90 443.384 null]
 >> endobj
-4727 0 obj <<
-/D [4798 0 R /XYZ 90 396.1804 null]
+4690 0 obj <<
+/D [4751 0 R /XYZ 90 396.18 null]
 >> endobj
-4807 0 obj <<
-/D [4798 0 R /XYZ 90 381.6101 null]
+4760 0 obj <<
+/D [4751 0 R /XYZ 90 381.61 null]
 >> endobj
-4728 0 obj <<
-/D [4798 0 R /XYZ 90 334.4062 null]
+4691 0 obj <<
+/D [4751 0 R /XYZ 90 334.406 null]
 >> endobj
-4808 0 obj <<
-/D [4798 0 R /XYZ 90 319.8359 null]
+4761 0 obj <<
+/D [4751 0 R /XYZ 90 319.836 null]
 >> endobj
-4729 0 obj <<
-/D [4798 0 R /XYZ 90 272.632 null]
+4692 0 obj <<
+/D [4751 0 R /XYZ 90 272.632 null]
 >> endobj
-4809 0 obj <<
-/D [4798 0 R /XYZ 90 258.0617 null]
+4762 0 obj <<
+/D [4751 0 R /XYZ 90 258.062 null]
 >> endobj
-4755 0 obj <<
-/D [4798 0 R /XYZ 90 221.0457 null]
+4693 0 obj <<
+/D [4751 0 R /XYZ 90 221.046 null]
 >> endobj
-4810 0 obj <<
-/D [4798 0 R /XYZ 90 206.4754 null]
+4763 0 obj <<
+/D [4751 0 R /XYZ 90 206.475 null]
 >> endobj
-4756 0 obj <<
-/D [4798 0 R /XYZ 90 171.2266 null]
+4694 0 obj <<
+/D [4751 0 R /XYZ 90 171.227 null]
 >> endobj
-4811 0 obj <<
-/D [4798 0 R /XYZ 90 156.6563 null]
+4764 0 obj <<
+/D [4751 0 R /XYZ 90 156.656 null]
 >> endobj
-4757 0 obj <<
-/D [4798 0 R /XYZ 90 123.1749 null]
+4710 0 obj <<
+/D [4751 0 R /XYZ 90 123.175 null]
 >> endobj
-4797 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+4750 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4815 0 obj <<
-/Length 2030      
+4780 0 obj <<
+/Length 1431      
 /Filter /FlateDecode
 >>
 stream
-xڵZ�n��}�W0���������d�lv�Ɍ������h��Di)ʎ�뷚d��R�)GY�Èbu��S�/2�`�G&O�P�0.'��
�<���!��
�g���w7�菱d$����փ$HPB'w��SB!��`��fO�z��0�x�Y�>�:��Cy_���|�ݦ�5u^V��O���X�2*��U��u?E=#zZT�º�XN���/w�����#�'"�$��7����&��
F�h1y���1t��ᔹ��ͧ�z?݋v@,��KB�R0������a��7ۢΛMm�t����a
-iL9����L��7e�Y�����P�z�߯�n�Q� N�Q���IħA
s�[�a�	@=�U"B��L�y��.r���)qF��b�7��Kg)h`�Q)�R`��$�]�?;�z�4OE�aqH�iL
���2�G�
}Tu�
n��07#�K<�d(�"��$ce�@�'гm�M��e����%�v�l���rݠw�b2����P��ʑф(B�Pg�=�`R�A�Bge.vp�-Z
�1H��F�A
�KX&.a!i�ِe��Ţ�W�/�.�+�ql�5���-ҩ{�T9M	l�1B
�{F�16��V)�Kਾh[�
���
-
���$�s�N˥0�Z:���w���
HMۭ�Jp	'�[�t/�q���8��@�ҷ�o��c�l�ǒ.D���L=��z*�m=��zJ@��HՓR���h��]�H=m���:[�@�4��z=t>��)>}�����#\ ��b�Ħ��H�6��kz�<�"�7�`ܩÝ[v���~]TMޔ������kSٯR��n���ᱨl�bُ�7�e�a�ZmfTL_����'Hת�G�G\k��0g�y�A���^X"�4?�iN��G��Q�:�[�Ņ��`АA��v���<
|U������ߕF�07����n�.p�y8ޙ�P��G4�]Y-V�ei��Rۢ(� ��A���f�;��1�3
-q�6S �o�SQ�M� ȱ�s|��ʪ��>��c��n�=�4�W����%4Hpڛ�r:��鑸�Ӄ��
f�˕�
������c�ُA8��B�l�Z6�f�VZ�u:x��
�H��	ni)M"t��/��m7f~�O�H�΀��
ٛ���묝C���	�ƶ�s�?�c-��m9�BDB���n���b�#z���"�IW���U��P�X���d�鉶]bb-B,}�ѳ-$Zě��H*b{l`.-�Y�d
���;��"c�BB���Vc 
�����)���ێ�����/���'�hofq��x���&��~M2����.��r��<���Xo���{�� ;��fn΄ڻ��J1Ҍ�1:;�q:��s��s��
tN@
���<Hй���VXas�l.���S��\�గ���t��Xt	|Sa�m�w�dGcՃ��|�:ڙYT���;8���
;ž�26�Ad�T��X�-d �HĔaó� ��:�ш�`��Q�V�Y! �rb2��jTwW�@�3
�]�	���8$gT �/��$��}
�=s���	v��A�(��A�a{
"x�xܥ4�H��f�
}$4��
k@>��Ͷ,v�%<�z(~�竲�eU������19\��{
I��-ŀ3D����f�r8�^�� ��ޠ	��$�AxM�h\�/Q�$�S���^
-�΅�a4bF�!�w��2P����*e|�����7����鲬�گ���,���!��$
-����]ޜ�#&�
kNg6ޜ����
��
��
Gn�7p4�Fܲ+5��[���b
3�'@ӧTm��]q.�uV�5MM�
���`�f�0i"���� Z^J�1���Y1���8�;��?����
��+���_���Ǽ�����
�l]���x P�j����(N�N�^E5LP��?����Y0���R�lO��9?5�v~{���;���m���v�]ݞl�4l��2��e��� �LK�
p%��WYo���[��u���	���qD��
-ep5endstream
+x��X�n�F}�W(�@��+/BP I�i�����0hjm�H����_�Y�rER�d7I�'��rv��33��ν��_F���ǜ�
����b���8�s9&�N�x��%x
���K�8O�rQD7o��"*����<+�"J���b[Vr�N����iT��򣼓�K���b��R�I��������ѧ�İC�D��|&�x9����~�`����ԫ��
������>z(����P	D�9�.q�f��ET�JkzNH+a>
+0���P/��v��f��O7� \ݦR�Ek='(�m�G22D
�f��D@ҧ�z��U���
+�6;�� V��]2�*���+n��P�C>
dB|��e�.2C� �E�|� .�

]8�\�I�HhN��N
+
�3 �P'b��'
f���"O�$$l\n���R�?�d�CgL2
 !�&ӿ2�(
HK��`�NT 8aH� N����
LL16�X"�X��y�N)
Ty��(��X�8���Y�>b�j���Y��~p����
���j�F
�9 at Ww�h٠w���Wn�z1�X|�9hw�C��s�c��ʁ�
���1u��.�A@�ƈ�� ���v�~]���N.� �x�Mq�M��M���
��%�R�
z�L�� ����s�$^(6U�
������x����#\ �z��q��'��p���r��
��	���F�f�,�x��YUI����93�3��K�ԍ����Lm$��"_���]���K�x�d���+ at +����4�D���T��2�����Ϊ˺�V�=<X�5^Tw!�qD`6}}�6H
��P��R?U���w�A_�E���.��t���m�C�"�
+l�׉���3�ǡ�������5{�ER| ba އ�m�ɨ0О�95�zvY�J#
�<~B8Z���G��P��XNn�j׽l����9(,�D<nz��2�7�4%��հTMm�J����E�DR?l�2�Jw���3�|XߦI�c����f��u��:���1�7���z�� p������I�E�j����
f�oU���taTf�rUm?��M�4��*�WCMO���~�y��9�?�W-Tm�/�ۧ�jFJZH��L�8ȳt;��b��I�!�=��P ����`
�&�]��Z͗#�����K���)�W�,��e�9�i
o�]�d��q$�5��� D9��H c��޷UoG	�,��.�Nj$��j)�NZ��%�����5=��� ���
8	�Hl�~�	���8�K�����<��Z�U
N��W���&B$D�n[sdn��o�M�7���^xSS�
�̵P<�P�(�o�����
+I��	��w!�9�>�_Ns�ۨ.�]��_�}*y���l:�l6(.�:KVJ�)���W�E! �}�X�l����_8�H��3R�
+endstream
 endobj
-4814 0 obj <<
+4779 0 obj <<
 /Type /Page
-/Contents 4815 0 R
-/Resources 4813 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4768 0 R
-/Annots [ 4822 0 R 4825 0 R 4827 0 R 4828 0 R 4830 0 R 4831 0 R 4833 0 R 4834 0 R 4836 0 R 4837 0 R ]
+/Contents 4780 0 R
+/Resources 4778 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4709 0 R
+/Annots [ 4765 0 R 4766 0 R 4767 0 R 4768 0 R 4769 0 R 4770 0 R 4771 0 R 4772 0 R 4773 0 R 4777 0 R ]
 >> endobj
-4822 0 obj <<
+4765 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 338.1908 192.5442 348.1185]
+/Rect [135.768 338.191 192.544 348.118]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
 >> endobj
-4825 0 obj <<
+4766 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 256.5001 191.7375 267.4041]
+/Rect [113.91 256.5 191.737 267.404]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_257775ae01cfcd011aca9bcbccb03da7) >>
 >> endobj
-4827 0 obj <<
+4767 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 217.679 191.7375 228.583]
+/Rect [113.91 217.679 191.737 228.583]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_50423c4391d0c3064787f19661914973) >>
 >> endobj
-4828 0 obj <<
+4768 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.0746 217.679 262.5809 228.583]
+/Rect [219.075 217.679 262.581 228.583]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4830 0 obj <<
+4769 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 178.8579 191.7375 189.7619]
+/Rect [113.91 178.858 191.737 189.762]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_61e02a6ed1b9dd0d6d306d76f5da55a2) >>
 >> endobj
-4831 0 obj <<
+4770 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.0746 178.8579 303.5272 189.7619]
+/Rect [219.075 178.858 303.527 189.762]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-4833 0 obj <<
+4771 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 140.0368 191.7375 150.9407]
+/Rect [113.91 140.037 191.737 150.941]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_92333180e0163e9c87f2220dceef012d) >>
 >> endobj
-4834 0 obj <<
+4772 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.0746 140.0368 296.9017 150.9407]
+/Rect [219.075 140.037 296.902 150.941]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4836 0 obj <<
+4773 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 101.2157 199.4862 112.1196]
+/Rect [113.91 101.216 199.486 112.12]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_964e4bcbbfde58f43977d0a8e686ec35) >>
 >> endobj
-4837 0 obj <<
+4777 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4816 0 obj <<
-/D [4814 0 R /XYZ 90 757.9346 null]
+4781 0 obj <<
+/D [4779 0 R /XYZ 90 757.935 null]
 >> endobj
-4817 0 obj <<
-/D [4814 0 R /XYZ 90 733.028 null]
+4782 0 obj <<
+/D [4779 0 R /XYZ 90 733.028 null]
 >> endobj
-4758 0 obj <<
-/D [4814 0 R /XYZ 90 705.0515 null]
+4711 0 obj <<
+/D [4779 0 R /XYZ 90 705.051 null]
 >> endobj
-4818 0 obj <<
-/D [4814 0 R /XYZ 90 690.4961 null]
+4783 0 obj <<
+/D [4779 0 R /XYZ 90 690.496 null]
 >> endobj
-4759 0 obj <<
-/D [4814 0 R /XYZ 90 641.5249 null]
+4712 0 obj <<
+/D [4779 0 R /XYZ 90 641.525 null]
 >> endobj
-4819 0 obj <<
-/D [4814 0 R /XYZ 90 626.9695 null]
+4784 0 obj <<
+/D [4779 0 R /XYZ 90 626.97 null]
 >> endobj
-4760 0 obj <<
-/D [4814 0 R /XYZ 90 591.7208 null]
+4713 0 obj <<
+/D [4779 0 R /XYZ 90 591.721 null]
 >> endobj
-4820 0 obj <<
-/D [4814 0 R /XYZ 90 577.1654 null]
+4785 0 obj <<
+/D [4779 0 R /XYZ 90 577.165 null]
 >> endobj
-1472 0 obj <<
-/D [4814 0 R /XYZ 90 478.9053 null]
+1432 0 obj <<
+/D [4779 0 R /XYZ 90 478.905 null]
 >> endobj
 178 0 obj <<
-/D [4814 0 R /XYZ 90 472.2537 null]
+/D [4779 0 R /XYZ 90 472.254 null]
 >> endobj
-4821 0 obj <<
-/D [4814 0 R /XYZ 90 356.1718 null]
+4786 0 obj <<
+/D [4779 0 R /XYZ 90 356.172 null]
 >> endobj
-4823 0 obj <<
-/D [4814 0 R /XYZ 90 275.4574 null]
+4787 0 obj <<
+/D [4779 0 R /XYZ 90 275.457 null]
 >> endobj
-4824 0 obj <<
-/D [4814 0 R /XYZ 90 275.4574 null]
+4788 0 obj <<
+/D [4779 0 R /XYZ 90 275.457 null]
 >> endobj
-4826 0 obj <<
-/D [4814 0 R /XYZ 90 236.7558 null]
+4789 0 obj <<
+/D [4779 0 R /XYZ 90 236.756 null]
 >> endobj
-4829 0 obj <<
-/D [4814 0 R /XYZ 90 197.9346 null]
+4790 0 obj <<
+/D [4779 0 R /XYZ 90 197.935 null]
 >> endobj
-4832 0 obj <<
-/D [4814 0 R /XYZ 90 159.1135 null]
+4791 0 obj <<
+/D [4779 0 R /XYZ 90 159.114 null]
 >> endobj
-4835 0 obj <<
-/D [4814 0 R /XYZ 90 120.2924 null]
+4792 0 obj <<
+/D [4779 0 R /XYZ 90 120.292 null]
 >> endobj
-4813 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R >>
+4778 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4840 0 obj <<
-/Length 3211      
+4822 0 obj <<
+/Length 1658      
 /Filter /FlateDecode
 >>
 stream
-x��\ے�}����FSaq�l���|Ie��T
l�W�첬�I�N&_�I@�E ��!�U;������ �!

����
-��b��������nH��
->_�����y��
���r���� 	����͏KB!�+�1^��%x������-�����S�)���eV>�y��a_�eV��wOU��nWT��W۬�ڗ?��yyK�2߯sk�b�$�����ۛ���L�
L��כƋ
\з71���~��C�N��e{����N�A�xp,�fz�b
i	ߞ 	��I
�El��E�cr>�#N�a4;�q����l��T
#C0|�B�C�
M��l�)?v��"�X�$;�������Hq�H1�+�J�0
QFt�ī�S��
�s6
�p?�k��y�Շ��#�"��_�G��s��\�OX�
��oE�$���çX��Κ�+���PxT����ʺ?
� d����
iR���˛P���F�
-FM+ɛ�I
���+��˪*>�w��n���-�D,팹%�,�Y�c�	I*
-��DB�dB
-
^���
��nS@��ⰿ�������H�I�i�� ̕I�t�
�꘭�;�v�:
��ΥѕG%(P�J,	��QL3/'�����Kr�vN&b��P��y�P����/N!k�t?��s���j^7An_B��=T������_E�^k���m\0kQ��	đ��a�OE�bz�A�k��v�����QrMe3f�?%������x�
(���5p��p؎�2�&�}��u��	�C��������U��b����m��ȫ�aS"H4

�A�D
-
Տ�3�H
b��؈���B5�����fB:e���2(
�Tt����N���S�
->�P(4�J�
-��H�еT�D�,\���
��ݻ�D�X���
Y[ס	��+k�`���|a��yB�
��~h0"��_�������،S �	ߑ
��S,Fv�Y�ͳrDA������w��c��
��df��:��/�zh#�uk��;�u��SF����`·oޗ�\,�(�S�7�@�;K�{��A��O|VlB�̤�5��
-7Z���`i�cb���b
�����=Glq#�M��Wy9�n �\���;Tʳ0H0���ske�%$e�g��S4Fv�k�q�UΌb�gt��w
-u�iJ��_��	�S��e�~h#�p
̲���N��� �7�x�@w��e��ә�� y��� +͝���K��8��E���"k%}���݇���J��o�گ��&ߜO��@VP�����CER�����00K�q�>
�~�K���k���]� �
�
R�a���t�J9�	��~��/7Q1..���XFp����,7;�
��l�!����t�m �	�zXR����t~�t{~���u��>�䣈@��'p^�
<�dh��!�
���~|ۃ��A��Qp��o#���?_�\��az�B"�Q������My
@�!��Xu��������=Z@
-�l�Q	�S3���8
@�M�o�r�?M[���lhi_0���
�S�Lڲ�C�]�8uI��Fp�[�M���6jy ��cQ�tG�mm�c�Q!�M�X�51ɪz�U�/O�D�3��B n_��H�_�_��#C�s爄�@Ȁ�h�t������1�
q}��#]��ܤꀃ��@`0V�~}
�ά=3�@���j��ML[X�]��;Pʧ��*�D���(D	e���F,�;��[81�S�Sy�3{��߷v���ݙj�{HB�hW
�b1�W;�
���(wf;K�RGR<,)��`D�	�N�=��[��[��Ȯe��F�9�+�_�C��
-X�۳ �x�:S0�4V�=���5�Z���^�e�%1�8�^����,2�o��n�duQ�.(����F�}Ma@=f���0
,-��`Lq�^����n��������f/�Z���aw
�B
eK�D

*�]3Ę��"�����H#'1�t(���%���ߺ���h�����7oެ��O�H��<��|��o�i_�b:�?�|_��������;�� @��k�`P`Ij3����ń��e{�m�u�dc�6��5r�'���z���6�� ��<�����S�c�����|
��wB

-IJ��
W��|�R8q��'�mѩ�

�oh0"߄_'�ߤ���g�8�bd��<)'�%��9��|�J9��s���%�J��m@�6"��0K�mٜN����*���w�'3����b�,��Ê=c�T����sg���=C�ig�/&
¬fL$U��Qy�s:%�e�
���U��>�׫>�]����X�&��J���Ml�
-$0����;TʻR��qw��(���
N/�`#��\��٢-��p҄�"��h�V���
��-���
0���pl9l
���}����m�9�b��S����w����=��{եw :�޹}�n���w�Q	�ck�t�(��o!��9��3"0��۶+&)
�z�6E�^�'B7���O�B@҄GnW++ f�ܮփ����z�W�����Sס���϶դeS��
�ՈH��P�dW��I�>��a�|����;����C�tW�ͧ=���Q(�1�ͣ'*��>G(M2u�
��Pgۻ�o����TO
y�
-i!i��ʣD(\<�P?�:��7�d=�ڈ�;��`�Qo����l�9}��
z��z�p,���d�j��5��vf�0��5�9�k��SϜyXZ���˥g���/���K?��K?d�����y�Og ���55Q�+�J�aPS�bb0��� L#�.j 1�w������e��
��h��K�>���2�w�>U��d�ܔ%D��4u�ѡ��?��,��N����m����:q
-C����;
�Y!��F��;L­�5�=R�
7�q| �>�b�U;x�����ȩ��)L���{P�e�
"����`lW�=�6bY��,�w��qzK "�x�]�Ǣ�4a�@���=�N���4��%��%=�x��&F]�C�'h5R��Z ����D�}�D����{���6�H�]�\�[��Q�_�?����*/�`��]��{�p]���gk*/O<զXvK�wy>>��X�5j?�e�^}�[龰
-���A\��ns����o^�~||D�
-=�c�����}=j%�h�������"������q������5�0��(���?�R�{endstream
+x��Z[o�6~���Sg5Ë(JY��k�˰,ɰ��0�I��6Q����
����ā�`�^"Z"��Ν
v�
��|1:z�1'@�G=���	�#<�8%�E�|��L	�x|:!x,�T�N'��dy��R�>Ǘ�,���'y��R�Y5;_�J��)�x|�H���L]�rB���BU���ߝ|��8��b�׈ c�!
#\ ����/߰���F,�E3+u\��8��G�
+u׳��a	���|G�\ʍ�_)�
;������2v�~�|�r�c[��e0����}9@�����U^�4��+�8�7�M�a|,���<��	�����֨P�<�:S�"�Q�[���,UY5�؞>�Y�B�h�r����v
��}q�b`D�y6����MͰ.d�f�ʻ�n0j~���p����LU�2�6_�(3�w7^m|�Ua
gϯ��$���뚛�w�W�9�}$<|
1ff��Wfg�o�T7�6s�� �'A;iOu2�8��ѧ��e�'���F�t
V�8S�eW��Ϥ�m�F�P�_9WC�1Pi'�V�2����diF�i[��@>�y 5���Tt˃����R01�o
����
+���!���̃p
+q�=�<n��G�M$L�,w�#ݙJ�:��*
�L�
7��¼�*'.��ι���هV-��
�����Q�扟 ��0-UVI]�9+|�*�Ch�kQ���q�{�^'��:��X��7�b{S�C��8
��u��u+ch�Y6�b}�l�^�r��!
�]�2˔�T���� a�P�@�D��c�����Ua��1��iW��ݭ�KUst
?YIF7J2���W��s�	�*w���L����5D�xCTI�:� �͗u
��2��m���CLrYg��,�
��w��@�s�\�Z�<[�L@ن
,�r(��y
+���B�j
+S�*�/�߇����>��
�������o��رOnTX+�72�v�1ƅ�F����6�V�*ֵ���_YI
��,���[ߟ%X���ʁ
�B��5�����CU�C%	F^�Ǥ�Uߞ�|�`���<��֤Zm���`�#�/��B���y����C�P�v
+��
)| N�<J_D������3�$�H�碼��9`�;-�&t��p�ѡ��A�	%��!b�j�Q%z�۰=!�"���C��:�y�f`C��������q �	��'��vz}<���t�ϰW��
��'l�!�W���.([�w����G�}Bƍ���Z4i�(
�<T�ys�����Z`4�n�ʺ�v����Ϧ
��Q��a �P@q�:e
E.&륱
Cs���CC�9�����bՇ��>�<
��W����>����L� � ,�wľ=��z�H���T�y�����Ǒ�W2�ٵq6�\VOw�Lw��
'V- CW��x٥�s"ü���"VQ�j(���Y������*�1ʿ�ʞO�;���+:���;����N}׷?��^�n��C>燬��i��:�s��^�Zu�/d1XoqDӬ���E\�
"P�w�-�9ޭ��kw�@5��[��V
���
Ϳ� q��/Z?m�'��
����?`~�"0?�Ъ��ΐ�_~�ټ����֤T�߈`���"�֭M�窍
F��N;�4j�왦� �?<�����h�X�P�y%����H�ְ�����Ώ�V�ٺX /Ӧ
ZW
+(�_MBq
+endstream
 endobj
-4839 0 obj <<
+4821 0 obj <<
 /Type /Page
-/Contents 4840 0 R
-/Resources 4838 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4768 0 R
-/Annots [ 4843 0 R 4844 0 R 4845 0 R 4847 0 R 4848 0 R 4850 0 R 4852 0 R 4854 0 R 4855 0 R 4857 0 R 4859 0 R 4860 0 R 4861 0 R 4863 0 R 4864 0 R 4866 0 R 4868 0 R 4870 0 R 4872 0 R 4874 0 R 4875 0 R 4877 0 R 4878 0 R 4880 0 R 4881 0 R 4883 0 R 4884 0 R 4885 0 R ]
+/Contents 4822 0 R
+/Resources 4820 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4840 0 R
+/Annots [ 4774 0 R 4775 0 R 4776 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 4806 0 R 4807 0 R 4808 0 R 4809 0 R 4810 0 R 4811 0 R 4812 0 R 4813 0 R 4814 0 R 4815 0 R 4816 0 R 4819 0 R ]
 >> endobj
-4843 0 obj <<
+4774 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 707.2722 191.7375 718.1761]
+/Rect [113.91 707.272 191.737 718.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4844 0 obj <<
+4775 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.4771 707.2722 243.2836 718.1761]
+/Rect [202.477 707.272 243.284 718.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_dfa7b03e2ac3a6666a7538431f1bdee9) >>
 >> endobj
-4845 0 obj <<
+4776 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.6208 707.2722 348.4479 718.1761]
+/Rect [270.621 707.272 348.448 718.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4847 0 obj <<
+4793 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 669.0405 179.5535 679.9445]
+/Rect [113.91 669.041 179.554 679.944]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4848 0 obj <<
+4794 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 669.0405 250.6661 679.9445]
+/Rect [180.052 669.041 250.666 679.944]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_809a4546135123a08f12c0a65fb22241) >>
 >> endobj
-4850 0 obj <<
+4795 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 630.8089 225.2114 641.7128]
+/Rect [134.114 630.809 225.211 641.713]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_6aec148aa41935a4072c64a43c51c577) >>
 >> endobj
-4852 0 obj <<
+4796 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 592.9509 155.2649 603.4812]
+/Rect [133.915 592.951 155.265 603.481]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_3410a53827de9155ac7d6cbd84263364) >>
 >> endobj
-4854 0 obj <<
+4797 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 554.7192 158.0444 565.2496]
+/Rect [133.915 554.719 158.044 565.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_8388d0d6d7ff68c627d516ec17f56b4c) >>
 >> endobj
-4855 0 obj <<
+4798 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.3815 554.7192 228.8878 565.2496]
+/Rect [185.382 554.719 228.888 565.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4857 0 obj <<
+4799 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 516.114 161.0133 527.0179]
+/Rect [134.114 516.114 161.013 527.018]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_314eb5fed86c6bbe4a7223ca8362f0a9) >>
 >> endobj
-4859 0 obj <<
+4800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 477.8824 195.1648 488.7863]
+/Rect [171.185 477.882 195.165 488.786]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1097cf7cb41f29a02ba271abd2f00f5e) >>
 >> endobj
-4860 0 obj <<
+4801 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.181 463.573 225.8508 473.4782]
+/Rect [173.181 463.573 225.851 473.478]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
 >> endobj
-4861 0 obj <<
+4802 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.1476 452.6141 227.8174 462.5193]
+/Rect [175.148 452.614 227.817 462.519]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
 >> endobj
-4863 0 obj <<
+4803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 429.0654 187.5633 439.5958]
+/Rect [171.185 429.065 187.563 439.596]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_cd7d1ed2a688f0c6af96e1cff336f933) >>
 >> endobj
-4864 0 obj <<
+4804 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4816 414.3824 271.1514 424.2877]
+/Rect [218.482 414.382 271.151 424.288]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
 >> endobj
-4866 0 obj <<
+4805 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 390.8338 150.493 401.3641]
+/Rect [134.114 390.834 150.493 401.364]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_d350b84c25b7c37693d2e7a08d3165ca) >>
 >> endobj
-4868 0 obj <<
+4806 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 352.2286 181.845 363.1325]
+/Rect [133.915 352.229 181.845 363.133]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_5cebd3d6d6ec070c47682e77b0248f22) >>
 >> endobj
-4870 0 obj <<
+4807 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 313.9969 181.845 324.9009]
+/Rect [133.915 313.997 181.845 324.901]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_67f95ed6867827f03a6af0a7334376e3) >>
 >> endobj
-4872 0 obj <<
+4808 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 275.7653 154.727 286.6692]
+/Rect [133.915 275.765 154.727 286.669]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_2552e7a194f5fb0d591bafb591b91968) >>
 >> endobj
-4874 0 obj <<
+4809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 237.9073 176.5049 248.4376]
+/Rect [134.114 237.907 176.505 248.438]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_5a79ce2b52efebd42da2736164a043ad) >>
 >> endobj
-4875 0 obj <<
+4810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 223.2243 450.9552 233.1295]
+/Rect [328.408 223.224 450.955 233.13]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_67f95ed6867827f03a6af0a7334376e3) >>
 >> endobj
-4877 0 obj <<
+4811 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 188.3431 191.7178 199.2471]
+/Rect [113.91 188.343 191.718 199.247]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-4878 0 obj <<
+4812 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 188.3431 288.8524 199.2471]
+/Rect [192.216 188.343 288.852 199.247]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_2b451e6b09162c7c19b0a2ad36545c69) >>
 >> endobj
-4880 0 obj <<
+4813 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 150.1115 191.7178 161.0154]
+/Rect [113.91 150.112 191.718 161.015]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-4881 0 obj <<
+4814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 150.1115 303.0791 161.0154]
+/Rect [192.216 150.112 303.079 161.015]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_78a4d5f5e4702a16d6aae656293ec7ad) >>
 >> endobj
-4883 0 obj <<
+4815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 111.8799 156.2812 122.7838]
+/Rect [133.915 111.88 156.281 122.784]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_c92d2324f8ddea454926272e5ccc6dad) >>
 >> endobj
-4884 0 obj <<
+4816 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 111.8799 237.924 122.7838]
+/Rect [160.097 111.88 237.924 122.784]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4885 0 obj <<
+4819 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4841 0 obj <<
-/D [4839 0 R /XYZ 90 757.9346 null]
+4823 0 obj <<
+/D [4821 0 R /XYZ 90 757.935 null]
 >> endobj
-4842 0 obj <<
-/D [4839 0 R /XYZ 90 726.0541 null]
+4824 0 obj <<
+/D [4821 0 R /XYZ 90 726.054 null]
 >> endobj
-4846 0 obj <<
-/D [4839 0 R /XYZ 90 687.8225 null]
+4825 0 obj <<
+/D [4821 0 R /XYZ 90 687.823 null]
 >> endobj
-4849 0 obj <<
-/D [4839 0 R /XYZ 90 649.5909 null]
+4826 0 obj <<
+/D [4821 0 R /XYZ 90 649.591 null]
 >> endobj
-4851 0 obj <<
-/D [4839 0 R /XYZ 90 611.3592 null]
+4827 0 obj <<
+/D [4821 0 R /XYZ 90 611.359 null]
 >> endobj
-4853 0 obj <<
-/D [4839 0 R /XYZ 90 573.1276 null]
+4828 0 obj <<
+/D [4821 0 R /XYZ 90 573.128 null]
 >> endobj
-4856 0 obj <<
-/D [4839 0 R /XYZ 90 534.896 null]
+4829 0 obj <<
+/D [4821 0 R /XYZ 90 534.896 null]
 >> endobj
-4858 0 obj <<
-/D [4839 0 R /XYZ 90 496.6643 null]
+4830 0 obj <<
+/D [4821 0 R /XYZ 90 496.664 null]
 >> endobj
-4862 0 obj <<
-/D [4839 0 R /XYZ 90 447.4738 null]
+4831 0 obj <<
+/D [4821 0 R /XYZ 90 447.474 null]
 >> endobj
-4865 0 obj <<
-/D [4839 0 R /XYZ 90 409.2422 null]
+4832 0 obj <<
+/D [4821 0 R /XYZ 90 409.242 null]
 >> endobj
-4867 0 obj <<
-/D [4839 0 R /XYZ 90 371.0106 null]
+4833 0 obj <<
+/D [4821 0 R /XYZ 90 371.011 null]
 >> endobj
-4869 0 obj <<
-/D [4839 0 R /XYZ 90 332.7789 null]
+4834 0 obj <<
+/D [4821 0 R /XYZ 90 332.779 null]
 >> endobj
-4871 0 obj <<
-/D [4839 0 R /XYZ 90 294.5473 null]
+4835 0 obj <<
+/D [4821 0 R /XYZ 90 294.547 null]
 >> endobj
-4873 0 obj <<
-/D [4839 0 R /XYZ 90 256.3157 null]
+4836 0 obj <<
+/D [4821 0 R /XYZ 90 256.316 null]
 >> endobj
-4876 0 obj <<
-/D [4839 0 R /XYZ 90 207.1251 null]
+4837 0 obj <<
+/D [4821 0 R /XYZ 90 207.125 null]
 >> endobj
-4879 0 obj <<
-/D [4839 0 R /XYZ 90 168.8935 null]
+4838 0 obj <<
+/D [4821 0 R /XYZ 90 168.894 null]
 >> endobj
-4882 0 obj <<
-/D [4839 0 R /XYZ 90 130.6619 null]
+4839 0 obj <<
+/D [4821 0 R /XYZ 90 130.662 null]
 >> endobj
-4838 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F100 2135 0 R >>
+4820 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4888 0 obj <<
-/Length 2634      
+4860 0 obj <<
+/Length 1535      
 /Filter /FlateDecode
 >>
 stream
-xڵZ[�۶~�_�'W��`\	`�<��t�6�koۇ$�Õ�6S�BRYo~}�	����x�?�����\ ��d��B
-�4��b�������_nH�x
��>��w7����B#��lq��J�������%!��՚`��oV/�j�߿YQ�<�?�*��{�P������C�Tyyh��=�M�_����/wy]�˷�cQ��Z�Ma�R�-��ᄑ���g�
D���?�|�#^la@��`Ĵ�'���hM�N���ݼ��W/�>h_��� ��P�p&Xk�wMޔ;�7燝����?����o·MS�1���1����� -
A=:g�3�/r
�(c]�[XG5���^‘�Y6�[[c�53�8�z��<��w��>�Oq��r_
j��}�|*�\(�K���(�K���#���%x���}��>��g
����p�)�Q)Z"E�h�~����D$��L	�E6��d�P`u�iW�
a��־����
��3�TÔhuQex�-�su��D�`�r��Hk={y1a{���
-aLF�����`
H5�m�[��߈�eDȨy�=*��q�Y!ِ�&��!?lw�a�fgYr�y)>}���dB�d>�e&�p�#q��%�/0�z]
譽��K���m�C@�aT�x�G5�O1
-�F�l�|W�D4�b�s�
���Dj�G�
-<C��EA“
fx����8PlL�1��
��twJQ��J������s�����}����
׸{�Q �:
��iwWɌ�=
*�]c40�U�%��E��Ɉy��^߬��@��]�
I�����B1��� �aI�F�=����@������4�|Db��
>E'�{�"�e���M�@	
-���K>�ȫ@��H �k-��S��F��Eu4e�}�?5�A�D��b4�=*��Q`@�
�bb͋L!��xɚ�eD�|�/����~W4�ܭ����W��?
v�a_n�2���:|b�ܰ ����6��N�c���9�3[�B����G%؅�
����8�z�S[	�I����UY
�S�3�
1|/�c��C�CoD�y�J���)}8
w��@�`5T���	�c�F��TTys�>�< !5�,��܁��8�����ᓙ�b�E�ؕ���q�T��M�A7�� 8R�
��%T��C�1�W�ɶT+��ǯ���'����m�8t���6�Aqհ�ᚋ�
�c��+�{Q剈d��
p��$�X�$2PapMu.,h���Xw���{9l���^��P�ٳ����8!_���#Y�
-!”��<'�T+&��8�����ԹG�����K�+_���2&S_�R�ݰ]�ۉ���A2 ��K���cӏ8o���ݏy�]
��ý�u��t�)��L
wL��&IN=,���/�)��姁޺���
�Z)�z��
�
��4��çr��eg*+/�0D�p���gAT�F��q{��=J%Ojd/�^6�cўA�
��{|�a(��ފi������zT�7[�Z���զ��~�0�J뗄_F$��0C���t�ּq��D7�F���Y�[��z+̤�R�®�g{d"bx�X����o��cF(��#�e
>�"��ƭ��(�+
)�Ā�
*�J���&�{�P
�A׎��S
�mQ�:n{}��8 HX'2#q��C�dj� C���
��f9w�3Q�O�Ιhm(�}mZ%���w!l�p��(=��,��CJ�Z���<�P�!J�t�� �Q�_tD�ˈ�Ok��O�Ɲ>LԷ�J�.?�Y�~�Kt$�+ĉr5�|�%
-1J^��˘�:!�#B3u����=�*��ܹ"��T�鎭�e��>��ѫZ�����Ub��n�0{\�,�?���~�m��wxR �Rh� Q�{�
'�����X�u��f=j�
�t�.�C%HP��
�(kk�������̳��Ҕ^��@�r��ϻ������
ԟ2ơ�eZф�M����}YC��[J	��H�xQ8TBo(ͮ�5���
-�L-�C]T��ve�7�{n�����cv�"��[x��нi4x����>oJ at o�]�\�_�?�k��>�_�Vϼ���@��xm���
 
���0n����7�ۢ=�+�����Ť p�c�}�;e3Q3����ƒ$l6�a�$3��/c�����0{��
�6
I���|ڹ÷�����
�y�,q鵡D4���v^���D\q6�	p��)6��-!%�l�23�y7���nw4ğ��0!�6Y��+��57�)�n��\H��0���DT��"���Og��:�����Q��\��0*.&��d���N:�)����ځ�>*̙
-*h��A����nb-I��S�m�ƍ
�0�s^{���Dhs�vL�r.w[��W�i�CU��x�����P�����ʮH�<���D }[�o��h��4��ټ#��o�+(kZ:��
\��mv;u����gH��Ld/���~�-у�k.��H
&��λ[W��ۮ�7��,��n���
U��m��.���v���=�"�$R�O"�
�>���]���:�{a���e��\3�Ms�}����	mjt>��
-����i�:h��
-��2D&n݃.�3(k�Y�>�G���Nj�&�N�����'���xYendstream
+x��X�r�6}�W�)�f"�j�&q�iӺ��>�
DB1S�B������F�2%+���{H��Ş��][,l�8��zrv�;V�"����a+�	�lb]'ֻ)!��ٜ`��3������bf�i�moYR��/骦�v�xY
�iZ��ն�,��mO_f�i��%[�zF�)+b&��؟�Л��~3y}=�4!`��4�
P�xV�O޽�V���0r���H��rm��u5�}����
�}O��┧���]e��-�W`��?o��� H�ft��{�����uBkn��7�ol�����=�^�6Uo����z)eĦI����]�|[����krz�l*�e�z{!v�=
�dO���V�|W�p\ۚE��`]2�օ#�e3�y��:�Ҋ��z��a���o�ϝ1�
+oi�dL�@���kn�A6D�x��>�|O��0�"�)��/�1�S�}?�����n0��G������Տ≯pE,r���~ ��
��ե(�%�+���
+�I�㦀�
�r�@@=�E����^, ����Y�FA�q� ��ϝa`a�A�st��)+�oFޫ�̎c,+VS^�ϟ
+�	s�{�8�?�{zr�=�i�-2�C$��������
�[���*
#�J׺EI/���G�pB�����m�����Qg����N��3'���������eR��,	
7���γ�,�@�rCں�q#���^��������F�Hk}S��eޛv�f/t�
+�:��1d�X�P�j�xrZ�(�@������E�ٳ��
�(����Lj)��o��qsj
ͣ��A!�������
)�Ay����&NB�N��
��}�p�������)���
�
���M�b
x����	�<_���ݿ�
!�$p�Q��Xl����W&Qe�6��=�.� ]J��*v����By�C���A��
ɼbM\�ק��4���0P�{%%���/��Ս��$B2-WY���Z]�
ߎ�
D
����Gե���g�^A
+a8MC�62��6�i���U���>�a�?��
8�u˄�
0�hX����D}��{u��B,и�c��
��2��M��\
�4��di�mT3��TW�[��,�����6���~��Qמ&���v�ς  e�;~���h�:u|���@�� �=����UfN�f�T?C���ظ�@���R��z���Ra���ۛ^%'�+
�^�k{��%\K5�u�e�0|�,��Q`�z
��`��v�v�S�} �;� �D��I���1YA��t����
����'���*H
+9:�xiq���&�;tg��L�˕�m�%&�'q����YS�E�)��Pͧ�
O���A���n���}��!
0��I�D�� �h\�HB��
 �wB�H�y�
A����M~p��v6�
+�k;Ow={68��Gݤ��@x��<o�}��-Յ*FU���G��jF
�K�Ba~�b�#����e�~Vy�3��f�
���W����f���EZ�(�gU���O��Bdzj%kCNy�
3�(�v�� A���`
+endstream
 endobj
-4887 0 obj <<
+4859 0 obj <<
 /Type /Page
-/Contents 4888 0 R
-/Resources 4886 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4918 0 R
-/Annots [ 4892 0 R 4893 0 R 4894 0 R 4896 0 R 4898 0 R 4900 0 R 4901 0 R 4902 0 R 4904 0 R 4905 0 R 4906 0 R 4908 0 R 4909 0 R 4910 0 R 4911 0 R 4912 0 R 4913 0 R 4915 0 R 4916 0 R 4917 0 R ]
+/Contents 4860 0 R
+/Resources 4858 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4840 0 R
+/Annots [ 4817 0 R 4818 0 R 4841 0 R 4842 0 R 4843 0 R 4844 0 R 4845 0 R 4846 0 R 4847 0 R 4848 0 R 4849 0 R 4850 0 R 4851 0 R 4852 0 R 4853 0 R 4854 0 R 4869 0 R 4855 0 R 4856 0 R 4857 0 R ]
 >> endobj
-4892 0 obj <<
+4817 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 697.2473 203.0748 708.1512]
+/Rect [137.432 697.247 203.075 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-4893 0 obj <<
+4818 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 697.2473 296.3242 708.1512]
+/Rect [203.573 697.247 296.324 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_c3223cf8c7d19b02b5e3c04038024b47) >>
 >> endobj
-4894 0 obj <<
+4841 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 682.6265 346.6119 692.5318]
+/Rect [277.005 682.627 346.612 692.532]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4896 0 obj <<
+4842 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 658.7666 194.2975 669.2969]
+/Rect [157.437 658.767 194.297 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_70e9ad42674d62ed9bd73268e3af7064) >>
 >> endobj
-4898 0 obj <<
+4843 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 619.9123 188.7586 630.4426]
+/Rect [157.437 619.912 188.759 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_ea9a4fb9807eb61cda3eedf8e5a7acae) >>
 >> endobj
-4900 0 obj <<
+4844 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 580.6844 238.7802 591.5883]
+/Rect [160.953 580.684 238.78 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4901 0 obj <<
+4845 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.5198 580.6844 319.0285 591.5883]
+/Rect [249.52 580.684 319.029 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_6293b813e42a59a9795cafe0efa762cc) >>
 >> endobj
-4902 0 obj <<
+4846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.9649 566.0636 397.522 575.9689]
+/Rect [290.965 566.064 397.522 575.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint_2935fff040a5b31930fff594a0b2596d) >>
 >> endobj
-4904 0 obj <<
+4847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 499.9219 180.5399 510.8258]
+/Rect [134.114 499.922 180.54 510.826]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_f882ff84afd3c2507e17ffa62ffd20a0) >>
 >> endobj
-4905 0 obj <<
+4848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 499.9219 255.807 510.8258]
+/Rect [207.877 499.922 255.807 510.826]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-4906 0 obj <<
+4849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.5401 499.9219 345.4701 510.8258]
+/Rect [297.54 499.922 345.47 510.826]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-4908 0 obj <<
+4850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 391.8807 226.0342 402.7847]
+/Rect [175.349 391.881 226.034 402.785]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_dd9738866968b13e938d5669dd94a55e) >>
 >> endobj
-4909 0 obj <<
+4851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 391.8807 399.003 402.7847]
+/Rect [321.176 391.881 399.003 402.785]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4910 0 obj <<
+4852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.3983 353.0264 171.7642 363.9304]
+/Rect [149.398 353.026 171.764 363.93]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_3badc2f43376aa26f481af4800a3515b) >>
 >> endobj
-4911 0 obj <<
+4853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.0628 353.0264 379.9723 363.9304]
+/Rect [191.063 353.026 379.972 363.93]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4912 0 obj <<
+4854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 353.0264 513.9963 363.9304]
+/Rect [433.021 353.026 513.996 363.93]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4913 0 obj <<
+4869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 341.0713 227.1542 351.9752]
+/Rect [113.91 341.071 227.154 351.975]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4915 0 obj <<
+4855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.363 241.0003 257.1901 251.9042]
+/Rect [179.363 241 257.19 251.904]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4916 0 obj <<
+4856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 229.0451 132.51 239.949]
+/Rect [89.004 229.045 132.51 239.949]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4917 0 obj <<
+4857 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4889 0 obj <<
-/D [4887 0 R /XYZ 90 757.9346 null]
+4861 0 obj <<
+/D [4859 0 R /XYZ 90 757.935 null]
 >> endobj
-4890 0 obj <<
-/D [4887 0 R /XYZ 90 716.2211 null]
+4862 0 obj <<
+/D [4859 0 R /XYZ 90 716.221 null]
 >> endobj
-4891 0 obj <<
-/D [4887 0 R /XYZ 90 716.2211 null]
+4863 0 obj <<
+/D [4859 0 R /XYZ 90 716.221 null]
 >> endobj
-4895 0 obj <<
-/D [4887 0 R /XYZ 90 677.4863 null]
+4864 0 obj <<
+/D [4859 0 R /XYZ 90 677.486 null]
 >> endobj
-4897 0 obj <<
-/D [4887 0 R /XYZ 90 638.632 null]
+4865 0 obj <<
+/D [4859 0 R /XYZ 90 638.632 null]
 >> endobj
-4899 0 obj <<
-/D [4887 0 R /XYZ 90 599.7777 null]
+4866 0 obj <<
+/D [4859 0 R /XYZ 90 599.778 null]
 >> endobj
-4903 0 obj <<
-/D [4887 0 R /XYZ 90 518.8957 null]
+4867 0 obj <<
+/D [4859 0 R /XYZ 90 518.896 null]
 >> endobj
-4907 0 obj <<
-/D [4887 0 R /XYZ 90 438.1332 null]
+4868 0 obj <<
+/D [4859 0 R /XYZ 90 438.133 null]
 >> endobj
-4914 0 obj <<
-/D [4887 0 R /XYZ 90 303.7512 null]
+4870 0 obj <<
+/D [4859 0 R /XYZ 90 303.751 null]
 >> endobj
-4886 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F11 411 0 R /F33 481 0 R /F7 526 0 R >>
+4858 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F31 472 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4924 0 obj <<
-/Length 2373      
+4877 0 obj <<
+/Length 2138      
 /Filter /FlateDecode
 >>
 stream
-x��Y_�۶�O��C+M#
�����L�ƙI�Ƶ����H�-E�$eY���% �� ��<t��@`�����bb3
-l��,V1�BF�lsCg0��
s�KX_�	����}��&:���~�s�Q���}�f�al�d������٤�^.8������M���bդ������j�&-����Cۙ�b��_�mk����4
��M�d�i4g�Z������ASw%"�z��y��r8�O7����
>(aZ���Fr�?ʛ�7�
�؅~C�
�Q£8�-�$I�GTgԠ-��`C.��<�0��Uc�І�ń�q4�В�D`Ԭ����H��8kIQ���~��~��}n�S�c����$>i��K$
.I�}��(����$�Q��i�s�G�A
ϻǴ�[,e"`���f��u�"���iLڙ�~���.��4s\�bc���+���i�o`�У��(�M�٭i�{��&?�ę����(�� 	.̋
-�j������ÑN=Im
����"MMc�#1`ҘȘ�u�:��$q�Y� 
It„#��jӘvk��Xp5��`jn��"Rsr
-�Dʒx��yd�h9�:�<�&�
-�% �	�����t�-����xHv]�@u�����$fB
���Axs!�i�Ճ
��]�#>��(����y�Kˢ+Lkg��� @>�g\���z}B�mL�9~}a-���P�����
4fS#�u���Ϯ
F���<0�� �3�By�ԛ�0�c6>�
B�B��g�I'��F��S�-���W��@v)����Y�
���3�/�
����Ύ��

B�T�2p]���2>�S�$9ǧ���k�G~>U �ρ
5�?qY����)Leu�WX��2wQ��H
U)=��M
���h0!�U>0�}d��%���O�6�
-1R_��}.~eI �A ��fs���nG%�$li	ˑ��� T�Oژ�
-���_]s�?��!�]�)+��q�ĵ7��
+)9��T
U��^;r��0�2���|)�5
��`C
g7��+Z��I�
�N0c7OvM�8����;L���Mzr;��pӤUg��E�
�c�
c,At��a� �?�Y�F�ɝ��[�r�ҧ��	T��;c/Z�Z;���9VJ9԰\�9�_0�i��k��t���3
���^����CZ�*��$�(s�����
4�eig������ӢLW�� ���'=K.)QZ3o
���)
�*���'��o҃]yt\
ҋ6�]kL�� '�F'Kn����nź�
k[y� �n�#g�h��e���Y7�����W޳u��ht(ľ��K(�Ҧ�]#lV0��E�e�zh��%s�x%qB���&ܵ�/ v*)}[�K.mK�/vU�
����l�C��SN@�����ߴ��t�������7ڸ?��
��ء{��G���hD EF.�>N�W(��ϗ�%4�ʣ����ns4c.`����Y���
`ψ�f�`ĥ-(_�n�@�w�Y"��5;�
-��
�Z�Z#�
wyk�u@�
�S����	���`�

�dҜ���ƍ��suEl�`�TS��枺�}���F�������
犉ЃcO1���ucP��q���N��[L
8
��%t��f
�[�n��A��L�+�=֭;u����[җ}j�u�wK$��,cE���i�]�e
-)������;ƩɃ)�o�)i�1|Nj��$ؿӥX������I�2gl��L,�7�=
(��Xr �
tI�y�!��!��m���ǜàP�I��J�
˜0h�e!q	�:��g


.�jz˼il���Ad��_w�v�MS�B�ǘ#�Eܿ��3�
��7<�O�(������$D)yj�ia��xhs�����ͶsoH�=���=T�_���U��U吔�
^��p�¦��
7�۴J��+f�Jq�\�}Ǘ2`���
�r�WNlc{QG��y�
67[�i��3��+����\L��+Wa|3
D8�:�.@��b��ӭ
!��%���"8��
���N����
�+A-��xꗆ �4b�����)像�k�]2ŰO�S
�ޚ
j��� >����ƥO�����+(��:s�����}ʦ�`x�'U�{.i���o���;;����-�P�^o/�,X�7���4��p���z�m�:
-Z��K�2��y�
��W�
DO���iM�n�%y|
��A�D�'8<a����oZ���z
���
�FJL��%�Q�9��Ag?
��ǿ���3^3.~I�]Z
�P|�T�K0�C�6��4<�P�xj ��ߙ��x�a�r��?K
O{����uۻ���~O���bې���ݞ�%�Fµw�qˁ�L���E:���2 at mS����`r����\A�
��?��^�endstream
+x��XY��~�_!�C"#k6��3v7;
l���t�������n%����q{}�,����y	`��b�ꫯ��޽G���~���~	/%i�#�v�ԋ#FBμ�ܻ�#��֌R�]1��v'?�]q����A����b���xs�c]u}+�������j�Z��?����NmU�b���Li��F>K�Շ�_�~���t�@1�1�H�X�^����@�
��(i�
̬�p�����W�
��z1Ic��!�	�/�P1'u(����;�
HZ�$���u��:���ѐ>��?��
+}l�(���]$��v:~�N�K;]�	���  k����(�un"���߬�A"�i���d��Y�	�Eg�J�*ǏC�?�p���Jɋ�������w���A3��F�Q�ۮǥ����6?��Z����
h
������V��/��nX�ts���R�����X��$�p�@qX4&Ȧ	Zm����0�;d$M�M�EuZ�5*���+��<���'&�ܟD���S���І�O�rה���d�B����
�] hq!|��Eu��m�ou���"뱷�ԧ�,��P
��I��X����0�v�]L~�*s���w�\i;�i��4����E���z�
���Aa�-\8ʔ�Ѷ�w��c����m���?�f���U3��yjȘ0�^�?��@��!x��W�����.	/"5+��˰N����$�.X����v�}Y�g�7teun7:�2�`� ��g`k
�V�p]�`��Yn�:������)/xDD vx�Sb/����'���/QL{�٤��s-������'�����W��R�
vI�硑OI��Y L
��=TJk����4R!�w�/��S=vj����p�b�"e3ò+惟�4����4}���~Uc�=P��z��h]`KZtB���3	��,:���G����c����ntũ�
M1���p�-$v�(�h���b
OM��{U�V�:?�د���N�Y
+�Y������gY�ʥ T���E&�#%����,��N�1\�PZ��`����k
P-mS��}QI#+>!��G
y��m�3��
+�ZU�9l��
�����$
"�dz=dEc��
��5m����,2��-�'@�� xc�_kȹR��P:�l�SB)![�9C��
t�vP�A�,�*f�T��8��l�w�7 �j���|���X��7�*�ǒ�/u�����˪���t!�
��M]�6-4�¾n_��ombsX��_��Ui��x2���d  �e��G��O
Ȑڄ���Ҁ�(d
����L�^�s�R�*	�⻭��'+�=#�E�����-T�炅 A
��v�
B!et�Ga3�
<nIAgܭc�, �s/�CN����i�E�|RH{vQ�;�j��� U�@��5Y���QK�����%�c��x�X1\����5b(J�1�A��4��q�ݰɵ&�
�ck��ջ�nS�e�	���� ��Pw����:����N	�H�� ��Q�qH�
:�ʲsJp"�1M�pE�(U����
������M
h^K�������

��ټ&daJh<F��W8
+faJ/�v�1�+
��9�
@w8#
�b`
-�U"^،	�2�vPp����H��|�ѻ���=tI:���f�/�{��8نۿۢW.���
?MP"Nfu.'!a�eYQ����2 ���>@���:�
������iו+ā��d��M]��2H[(��sŌ��:�>�o�
ҥ���a
+=-����x}��
�CC����bs;�l���JI�X��[]|�
+f�ca����`������
d�-
t_�׺"Ep
+�Y��H~�Iw��<$<��x���"$T�J��9��x�/����vxߨ
���wgxB���nM��a��C���0R/վ_R����/�E���y}���R~0��xq+Qǻ��B?>�'O]{"1��qYcs
.gݙ*�iJ��9}�� ���/��%

9�O��Waxj�����qi?`�E ~�
.��\lm�wY�e9U���nz̥���i3�K�
��'����Zŗ�IiNaS(=�}ss}}8
H֑}U4-)�k������€����
�z(��
+:w0��	�B�
+endstream
 endobj
-4923 0 obj <<
+4876 0 obj <<
 /Type /Page
-/Contents 4924 0 R
-/Resources 4922 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4918 0 R
-/Annots [ 4930 0 R ]
+/Contents 4877 0 R
+/Resources 4875 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4840 0 R
+/Annots [ 4874 0 R ]
 >> endobj
-4930 0 obj <<
+4874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4925 0 obj <<
-/D [4923 0 R /XYZ 90 757.9346 null]
+4878 0 obj <<
+/D [4876 0 R /XYZ 90 757.935 null]
 >> endobj
-4926 0 obj <<
-/D [4923 0 R /XYZ 90 372.2993 null]
+4879 0 obj <<
+/D [4876 0 R /XYZ 90 372.299 null]
 >> endobj
-4919 0 obj <<
-/D [4923 0 R /XYZ 90 349.9875 null]
+4871 0 obj <<
+/D [4876 0 R /XYZ 90 349.988 null]
 >> endobj
-4927 0 obj <<
-/D [4923 0 R /XYZ 90 349.9875 null]
+4880 0 obj <<
+/D [4876 0 R /XYZ 90 349.988 null]
 >> endobj
-4920 0 obj <<
-/D [4923 0 R /XYZ 170.2884 285.2788 null]
+4872 0 obj <<
+/D [4876 0 R /XYZ 170.288 285.279 null]
 >> endobj
-4928 0 obj <<
-/D [4923 0 R /XYZ 90 270.9678 null]
+4881 0 obj <<
+/D [4876 0 R /XYZ 90 270.968 null]
 >> endobj
-4921 0 obj <<
-/D [4923 0 R /XYZ 108.6898 194.3387 null]
+4873 0 obj <<
+/D [4876 0 R /XYZ 108.69 194.339 null]
 >> endobj
-4929 0 obj <<
-/D [4923 0 R /XYZ 90 178.7426 null]
+4882 0 obj <<
+/D [4876 0 R /XYZ 90 178.743 null]
 >> endobj
-1473 0 obj <<
-/D [4923 0 R /XYZ 90 83.3102 null]
+1433 0 obj <<
+/D [4876 0 R /XYZ 90 83.31 null]
 >> endobj
-4922 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F8 523 0 R /F33 481 0 R /F7 526 0 R /F74 478 0 R /F97 1822 0 R /F11 411 0 R >>
+4875 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F8 504 0 R /F31 472 0 R /F7 505 0 R /F72 471 0 R /F95 1779 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4933 0 obj <<
-/Length 2229      
+4900 0 obj <<
+/Length 1282      
 /Filter /FlateDecode
 >>
 stream
-x��Zk���>��A��F`ߤ�i6[4M����S,4�fG�-;�����\J�L=Lz�o�Ům�����s"�a�Kf	�)�P¸���Wx�	.����K���
�zwu�N�Y�I���� 	������9!��Œ`��
��i�M?�.(��6ϏٺL?��ߗi�|s���2͋���ζ77+s�c^geZ��Œ
-<�v�VU��}���
��Y��K&8�-��}��]ܶK0I
�_�~���о�0b��'��I:�^q�܏�Շ�v~��S��M���A]�(CX
-�*	�\�������ƌi�|���+��r6�� �+��#�#��<�M�f��%�����2{%m?��5zh?W]+*�ƕʋ

#
-I�y�˼Xmk���R0�
]��y—B�ke
��
z|����Rk��ǧ�2Q�* )��k,o��|�6��l{����P��
Z9�CI(������4��u
-�q��я�oJ�0����"r�hb��3W�O��{!`����sv=t�q���pf:���� =X`�G�)R�H:л��I�#�Y
-��!,(
l�`��h`)>� K�M�
C\o�����8�L�!st���i�^��9���D��
��0�p�3�r�wx1#�]ݙ

��8A`9�Op����`\��9HR�ג]DR�G���� ��\05_��@��yy>]9
��"]�R(������t�
^N�!:*&��C�����L�q*Bi#�A;Ԗegˡ2�1�裌�*��a�"�
]�k�ZQ=��X#�yE^�D E���3���w8N����u��ŝ�M� ����� ��H�}
���Q�`*�U$8�鸢���R��#.a��#@�ά��WU���f�En�h&�i�"8�o����bE	Sm�b����9
UD8nW~ܶ���aQ�)
����+��� �����X��YN�H�U,��?f�Ϗ>.���d��n�c��^��o�ވ�����u��H��+��tV|2X�
X�ƾ�<��+���EJ��)�3kG�f��l���f�䅒 9J���sI���"X�� 
݅� ��/hD
���A0���Rj�Q	����N�|O�����ܖ;�Hˇ^cR ��0m�����T03�Q���w��� 6�~	�H<!pf�ߋuޖ��N��NU�m��T��B��+� ~�UD:���B�딠�eS�>�3��H#�~�|��x�
��<���*����v�"�@&9���K���P�3k�g[ރ|���u�j��?�c&�bz!��*৫ D���ޯ5�gT���T�g�?nl����8�~k
C2��>t�$,	�����8�� 
��0(�Ob������ߙ5�_h�wU� 
pL�k &���Ƴ5#g����g* ?��n�O�)� n`Fh�cF~{$o�愂3i���E�13�y?{�$>;�Z"��E[���@�tf�
��P���7�G{X�@ҥ�Z������95;G��gn�o��ږV��[�p�}��;>��T��Jv �#��{�Y?�U��?�C`���l~��b^�BmZ'�NX�k��|�nNjU���+j��$��o�t\:˰6�fm��
jC?��A0��k�o��
Ps�!�~g����sJT�$�H<!ipfH��Ұ�Dϻ=���D0�g%���\L
=�f(�DHw�{��mV��&���U�2ߛC���y
r�f�4�(�� 5PW�G���/��dr�����c B˰��U
��0�0��|�]�����2]d�ջ�s_���1�\�2K�˶~��t�ʪ��L��
�o��w���
���t�f�
i?7��}��c���={�kǜ,
f�9z
�AFB&v���?�j\�����
�:�
���ҷ��a�
|A9%�.K��-��7٘�J;�q��R��Go&�ݣU���f�[P1ʋO�D���4u�~�����b�l6����=���wH��"����qB��	���f�`����`��L
��t򢳏��4
YMz��nŴ%��K�m��,�Voݹ���=����W��Z1�	�1-��n&Vo+���E���=!�c������ŋ"�����g��?�� ���{���Z;�k��X����맧'��С��%����~s=��L
q��:n����2�`M��},n���J7�/��65�
���	(�0��endstream
+x��X[o�6~��P1`�P�&)RcеM��E��{J�@��X�,�����~�"u��8��}G�C��|�Bb���ƛ�/����u� .u�����qJ�El��� B-�`�͹E���rnQln��J�Ex�.�*�b7���deU�IV]���J�g�H��L*Q�զ�lʱ�2
�Rݞ��(,�"��e;�Q����q�v�z1�4!�'6H����p#ZO�?b#��o
���7nj������8��>����s�I
�]~
#㍑����E��#�3�&
+����"��{ް��!�jċLa���"��[��M�.e��Z�k��P"�,@�-�AE�T��]�E�6�
+ғ�� �
�
|�k�<O�j52�Ñô��z�>1��C�P��"0%8�^�I�lz/�W��'�,�0�&RÄ��E��[�܆	��1�}ŵ��雉qns�!�|�R�
�1��`�F�>��2��ԁ�q�3�q��2ܦU�c�H�E1��wXj7��B�cj-�Sv���
�Ň�r<3N2�f�|g?!*ezB���s[~_`�����6H��8�a�o���8-��������+៾
+�^�er��E�W��Ȅ
1��X
Ʀ�+c�<XE�=�@�#
E�s(+B� [a���#*)C�%C^�A\W|y�+�S��Xn��q@����lq7������F���2� ~�Ǡbuo��دY�(_E:dֽ"[�T|�Y���c��B|N?�F,�Ի��Z���_#�8������ap�6��%�5���m
�SQm
ղ�=t'�`D��;��[��)�w�4��N?�b�y���	>գ��7�yȧ�0�
�`��mS���^5���!�݂Vf72��}�y2T����@�$
+�/�
�\���Ĥy�?i�1ҐQ�Ġ>��ΣBwཿ�$E�w
�9�p�;, at D�U��B��wT$��z�l�����ν�x鈴��=[)ު��R�(揄�r3/����C!��V���a���a���խ����p��"
j������b�M�`ԇ>�ݺ��4��=����I��G��
��T
��|��@ҥ[l���[n�tcQn�$�u�X�
�:u_5#�q�ft݀d���\�X5
�;��#m���jȴ�l��ᑜ
�G�����'q������A
oB�m^w�ZSޜ©G}�
�(E�Ź��yf�0��D�C��!Y���y!�#s0�l����ʼ����I
b�4Ő
�6Ѭ�*�M�777(*�6K�%�4���m�t����V`ل�zS4�.���P�4t�?t)P�
+endstream
 endobj
-4932 0 obj <<
+4899 0 obj <<
 /Type /Page
-/Contents 4933 0 R
-/Resources 4931 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4918 0 R
-/Annots [ 4937 0 R 4939 0 R 4941 0 R 4943 0 R 4945 0 R 4946 0 R 4948 0 R 4949 0 R 4951 0 R 4953 0 R 4955 0 R 4957 0 R 4959 0 R 4960 0 R 4961 0 R ]
+/Contents 4900 0 R
+/Resources 4898 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4840 0 R
+/Annots [ 4883 0 R 4884 0 R 4885 0 R 4886 0 R 4887 0 R 4888 0 R 4889 0 R 4890 0 R 4891 0 R 4892 0 R 4893 0 R 4894 0 R 4895 0 R 4896 0 R 4897 0 R ]
 >> endobj
-4937 0 obj <<
+4883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 609.505 170.6866 620.0354]
+/Rect [113.91 609.505 170.687 620.035]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_641015af4c3d3b84184e8ca8dd128b10) >>
 >> endobj
-4939 0 obj <<
+4884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 570.2771 170.6866 581.1811]
+/Rect [113.91 570.277 170.687 581.181]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_f3c5bf7dd0135194b6c180dcb232ef54) >>
 >> endobj
-4941 0 obj <<
+4885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 531.7964 178.4354 542.3268]
+/Rect [113.91 531.796 178.435 542.327]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_fc81dafc5cf15ca9acd8f6a03f66c788) >>
 >> endobj
-4943 0 obj <<
+4886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4263 492.5685 222.2328 503.4725]
+/Rect [181.426 492.569 222.233 503.472]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a02f5903786b4da29daecddcb0db6cbf) >>
 >> endobj
-4945 0 obj <<
+4887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 453.7142 180.9381 464.6182]
+/Rect [137.432 453.714 180.938 464.618]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4946 0 obj <<
+4888 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6777 453.7142 231.8468 464.6182]
+/Rect [191.678 453.714 231.847 464.618]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_311a973ff993328d8cb3627f3af31129) >>
 >> endobj
-4948 0 obj <<
+4889 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 414.8599 180.9381 425.7639]
+/Rect [137.432 414.86 180.938 425.764]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-4949 0 obj <<
+4890 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.9082 414.8599 239.04 425.7639]
+/Rect [188.908 414.86 239.04 425.764]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_3e8a8932563dfdc292fde93931f0bf2e) >>
 >> endobj
-4951 0 obj <<
+4891 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4263 376.0056 227.8516 386.9096]
+/Rect [181.426 376.006 227.852 386.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_4fa3c4bbfb1c6905d95c08c2d90af526) >>
 >> endobj
-4953 0 obj <<
+4892 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 337.1513 217.6102 348.0553]
+/Rect [171.185 337.151 217.61 348.055]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_b404db5180176140a7600b31616f9a07) >>
 >> endobj
-4955 0 obj <<
+4893 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 298.2971 180.5399 309.201]
+/Rect [134.114 298.297 180.54 309.201]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_6ba82ff86685d87dd34f4d441a7d769b) >>
 >> endobj
-4957 0 obj <<
+4894 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 259.4428 178.2386 270.3467]
+/Rect [134.114 259.443 178.239 270.347]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_d8c2dc06b66e812182f2b1445940e7ff) >>
 >> endobj
-4959 0 obj <<
+4895 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.2264 159.3717 156.0026 170.2757]
+/Rect [99.226 159.372 156.003 170.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) >>
 >> endobj
-4960 0 obj <<
+4896 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.1692 159.3717 513.9963 170.2757]
+/Rect [436.169 159.372 513.996 170.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-4961 0 obj <<
+4897 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4934 0 obj <<
-/D [4932 0 R /XYZ 90 757.9346 null]
+4901 0 obj <<
+/D [4899 0 R /XYZ 90 757.935 null]
 >> endobj
 182 0 obj <<
-/D [4932 0 R /XYZ 90 733.028 null]
+/D [4899 0 R /XYZ 90 733.028 null]
 >> endobj
-4935 0 obj <<
-/D [4932 0 R /XYZ 90 628.1053 null]
+4902 0 obj <<
+/D [4899 0 R /XYZ 90 628.105 null]
 >> endobj
-4936 0 obj <<
-/D [4932 0 R /XYZ 90 628.1053 null]
+4903 0 obj <<
+/D [4899 0 R /XYZ 90 628.105 null]
 >> endobj
-4938 0 obj <<
-/D [4932 0 R /XYZ 90 589.3704 null]
+4904 0 obj <<
+/D [4899 0 R /XYZ 90 589.37 null]
 >> endobj
-4940 0 obj <<
-/D [4932 0 R /XYZ 90 550.5161 null]
+4905 0 obj <<
+/D [4899 0 R /XYZ 90 550.516 null]
 >> endobj
-4942 0 obj <<
-/D [4932 0 R /XYZ 90 511.6618 null]
+4906 0 obj <<
+/D [4899 0 R /XYZ 90 511.662 null]
 >> endobj
-4944 0 obj <<
-/D [4932 0 R /XYZ 90 472.8076 null]
+4907 0 obj <<
+/D [4899 0 R /XYZ 90 472.808 null]
 >> endobj
-4947 0 obj <<
-/D [4932 0 R /XYZ 90 433.9533 null]
+4908 0 obj <<
+/D [4899 0 R /XYZ 90 433.953 null]
 >> endobj
-4950 0 obj <<
-/D [4932 0 R /XYZ 90 395.099 null]
+4909 0 obj <<
+/D [4899 0 R /XYZ 90 395.099 null]
 >> endobj
-4952 0 obj <<
-/D [4932 0 R /XYZ 90 356.2447 null]
+4910 0 obj <<
+/D [4899 0 R /XYZ 90 356.245 null]
 >> endobj
-4954 0 obj <<
-/D [4932 0 R /XYZ 90 317.3904 null]
+4911 0 obj <<
+/D [4899 0 R /XYZ 90 317.39 null]
 >> endobj
-4956 0 obj <<
-/D [4932 0 R /XYZ 90 278.5361 null]
+4912 0 obj <<
+/D [4899 0 R /XYZ 90 278.536 null]
 >> endobj
-4958 0 obj <<
-/D [4932 0 R /XYZ 90 222.1227 null]
+4913 0 obj <<
+/D [4899 0 R /XYZ 90 222.123 null]
 >> endobj
-4931 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R /F25 344 0 R /F101 2128 0 R >>
+4898 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F23 340 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4964 0 obj <<
-/Length 2513      
+4923 0 obj <<
+/Length 2043      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�۸����E���;s�Nj��C���k�&�OI���L,Ԗ|�����w�&S/�7�kQ�J�pf8�y�!w�
�?2��L	�2��l��³O0��	���}�
-�������
e����G�A$(�����9!��Œ`����z�߽^P<�������u^?�ܼ�ʦ��l��7f}X�EU.>��p����
q�8em<�"=?F�e<H�$�-�T��K:���)�A������M���.2:7��6o�yc>�zA�ܔ+�P
ωVV�՟o�@�8
&�
��W�>�����F,�b� /�,����,�l��^����?�	S�ŭ�R�ْq�%LO�F�S���Ŕ!,?n����+L\0�BT)9��lPVv�K	�|�ƻ��Mkv���U�����o������<�����
��cU�)Vh���Ʃ�+ZS�m-z�V
�7��2Z��Ya�F
-l��V͝)���0tt0���N�N
߾����������F�C��������6v�k'�{��#�)�%�E7����g>gMrv�2��5L!Ӵrso7!M���3e��sC.����!�W�Lp�^>���ڬ�̺�ũ&*�n�����cL��f�$'�g��ĜT�%do�Kę�G=v��)C[�,@��;�Kv	G�]����h��@ 00��
�
~]�(Hl1
&xFF���P�a$�0r�2��1H��ס$�(��� ��JJ�+��'!t"��-8sev�>�'�v_W
"柋�iZw�s�;�n����p��ueg�:��(
-�P���� ��r���-����6����4lU�
ơ��(��}L �
q��-3�8��n�h�V���~[��z~4�{V��P� 5%�3	M��.�T�L�vbK��E�+Ml �7;R
-�ޤ�

��wQ�����K�
Tἷ�(t�
�5�
�A
-}h
(���3��~)=i�H�nR�@
q�	[.�Lu8��i�Kr_��GS?����
e�;�*�2G'�UI��/��Egv2A��L�%����A�r

՝�
�v�����X�
�B3BD���
��\ju����A�9Y����D�
�
1�
������f�P�0BϦ=�J�We�QŹ�R=:��ݶ���,����L�7^��-��5�&�;�4��޴Ɣ���;Ps���x�� ��
-#А	 Յ�b�k,Q��X?��Z�y��`
��Hp��,��D�]Ҳ��J
-�m�
���0��?�U���8W
Q�w��� �Q{D�*�R
��Lb����s#X�K���6
f��U]��fZ
���6��'��� t�S�=
�>�M��lNx���px�‚ب���� ��G>
�~�+ΐߗSk�Tp�%��b8#�����"�_�H�]g`X��V�=����Ə
�}v���O@�6/�"od
TY���%� �j�A�<*v��t�Ќ��kH5x��>��0�.$�0� &��
{L����@0���|���b
"�^7��E�5��2��
-[k�uE�5d��6��
�Ǫ��Ҕ���	W
�+x���D����
�5uH
Eջ���W�|�þ3p�aZ��/�3,��a9��Nx�<j KQv�28'Gl�l���eg�p-�CPj�+0����
��)*�w��=�qs�w�"����G���Z��L�
�l���d2���<8a�:!A3*�b����Q��ƁĨ�+�mQ�S�O%���zj��9%�c��4��E�{����]Q��ߎXH����w{�{p#u0��!?h����D��HZ����>
��b��]J��?���f.��`�����uoh`i �
Dw��9��1J�
��I�ƞf�F
-�
�)d�C ��!�@��<��J��
���b����:@�*o�E�c�T�.�c�k��;4! 	�	�ei:
��
-<i���&gu3�|^�[��m������z�V6������|��¨�aSإ��>����>���s�)X��Ҭ!j��@�@�6�b_�|w5�,%��Aoi@�ʖ�}����1�D�6l;.5�?����[�T���<���2���G�kX�]��Wv����'��
Z���²yqt��>��o������Y�`�����,�j�<8	��5?
��.
���2�0q�鵎|_O�m)������`xʋR��j�
=�]UA,:M8¬;M��'c�Q
W��履^�9tE��S���_X�X�c��J
�ojŰ:�N�ud�)ʦB�έ��C��r�xL:�`~>�ۢ
��&k����`g�Ρ���5��P`�ᎋ�j���X�Po��ȩ
�h���[
2��/P���ҁƿ��M�� E�1~��"�_��zIF�$�6mu���N�x[8V���ٻ
޿��1��B�;�1/��E
-�٪2u�q>p�ݍٞ
G��f|�VaET?@��?g��I��	�dF�3��jGz�7m����~xx@�
�b_�����ף��ع��mܲ�ҋ<�㼂�����]U��(JK��q�B��)W�^���endstream
+x��Y�o������E����V�����C�8h���~�
�"W:�<�B�*}fv�����
+��r9;����z
�~�������@x1�
x7�^L�0`Dq��d�;�1��j�(����Q?�w����S�*��:����wuR?m6���i�$/�����i�W���͏��	�J�"P��xiI&z0J��;�+��j����;�H�:ڿ>��U�4��w����w�"i��y��u�b���T�BA}E������_.P
���
+I(���.�}�^�?z��8�

�Γ\����^��:�ϟ6�
I
Rf�e!�a�\
+_��)�v� ��o�>5��}m���>�b�-I�������m���@Z��Um� ���ư��[]'mG�Od�
��y�I��H�PZQ�ͭ.��Y����SO��ܷo�͑҈X��b6�&��Q/_Z5"�U��Ʃ�� Iqo�����D/l:):J�u�(�!QQh��l]eUz��ML�-�_\���%^:��)+��K���ɺ�uGuǬ(�W�c^>ح���BoL�vi局H�J*�:��s��T��
+Se_��/
(�X)nL��IXg�(ڑ(AA���QaD�8al
���C��Ǹp�_
���M2�CL!�6Yꓠ��0�J���$Lt��
��Z1��3��_��3�;�n��(�
����u�'����.q�P#% x��諼L�C� �;���{�
�5Dr�]S�V$�cg�{
�D2� �����]��֜���N;�_J�f��P�e�I�*
�����7}��L�qEْ�p6c۩r/���
�*ld��y�J�'�����8�03�|�����뎽Eʳ8�єp��o
Np9��ߚ�ԧ��bV���Q�v;����GZ�,W%+��J���R�]����l����E~w�}Ժ����������j㊈������
+� 7X}}y�OR���y�~B���[ĄB1JA����B�k/W�M�k� #��}gB�Q�n�[���А��8'Nk���LvmH'�g$�o/
�
 &V�3�(�U��}���)`]�v-���&'�
��=�s�������M� D�h,I�Ъ��෤�v��`��V[�'~��m��+�;V��I�D�k�+5�*�'=��*���v�e$����!R$Y�L�CG�
���)GŲG<��[���3Ǧ�n_�0�N �U3�
+V��
Y�:���Թ+��V�q2R�
+_M��q"8��p ^��|��h�c�09��@��y
b�����#B 6`#� �����H;̓sXPr��U\~�M����n6{34�i���f�8�!,�XM�R��^�-�6�`��8��S�OHΘ�؝�,��[�~��'z��E^�Kx��[�?��g�x�9
l>m����f/y����w���ስ�ܘ�
�z�4A�
��M]h,����<��A^����M����V=�nje ��x
�c�}�$e6� � �?rD���/�T�����$�'�z�cMcH��9EYL< L;�r��D,<�ZT�gL��0��4κ��Ӥш�s�T�&
��E���������8�?������S�"k��ۤL
+|��v/`(�[
nZ�H�
��[b?�
�V�a��q����4�!�3���g�(���Rg�4%�5���i��]���t�)M��)�*�$n�p��֮��2�ޮA�F����ĝ��3M��G�
S�<��4��D��r�5��X����	�Y��E�~>(u���|�r��r��!eM����ȅ?��Mv�����{��	�����d������J]�vR5s�0E崬��i0�,�/���[�=Ey��֮vԻT���<���������!��}^3;��PL�`
+���	��
����I
T��5�K@ c}��� 
��]TL���wg�%� ��˿]�y����OIy at P�&���J�M?;�\
+���f�y6�ꮦ�y���?�_)�9�[z�_�m��\^>>>��!�2��$o/�����縁
4K2�����j烼DL7��Q~� �1
+endstream
 endobj
-4963 0 obj <<
+4922 0 obj <<
 /Type /Page
-/Contents 4964 0 R
-/Resources 4962 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4918 0 R
-/Annots [ 4968 0 R 4969 0 R 4971 0 R 4974 0 R 4978 0 R 4979 0 R 4980 0 R ]
+/Contents 4923 0 R
+/Resources 4921 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4840 0 R
+/Annots [ 4914 0 R 4915 0 R 4916 0 R 4917 0 R 4918 0 R 4919 0 R 4920 0 R ]
 >> endobj
-4968 0 obj <<
+4914 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 493.7428 207.2293 504.2731]
+/Rect [113.91 493.743 207.229 504.273]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_87f25b7a2988f918a20b3d09047b08ab) >>
 >> endobj
-4969 0 obj <<
+4915 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 454.5149 197.875 465.4188]
+/Rect [133.915 454.515 197.875 465.419]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_383574ff4028da9048235b061a613b99) >>
 >> endobj
-4971 0 obj <<
+4916 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 416.0342 214.978 426.5646]
+/Rect [113.91 416.034 214.978 426.565]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraints__Reduction_898fefd81641cf4f6b854e85412a415c) >>
 >> endobj
-4974 0 obj <<
+4917 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.6126 279.2853 397.0336 290.1892]
+/Rect [285.613 279.285 397.034 290.189]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-4978 0 obj <<
+4918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.512 115.7618 179.7659 126.6657]
+/Rect [159.512 115.762 179.766 126.666]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-4979 0 obj <<
+4919 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.9769 115.7618 329.9069 126.6657]
+/Rect [281.977 115.762 329.907 126.666]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-4980 0 obj <<
+4920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4965 0 obj <<
-/D [4963 0 R /XYZ 90 757.9346 null]
+4924 0 obj <<
+/D [4922 0 R /XYZ 90 757.935 null]
 >> endobj
-1474 0 obj <<
-/D [4963 0 R /XYZ 90 631.3634 null]
+1434 0 obj <<
+/D [4922 0 R /XYZ 90 631.363 null]
 >> endobj
 186 0 obj <<
-/D [4963 0 R /XYZ 90 624.7632 null]
+/D [4922 0 R /XYZ 90 624.763 null]
 >> endobj
-4966 0 obj <<
-/D [4963 0 R /XYZ 90 512.343 null]
+4925 0 obj <<
+/D [4922 0 R /XYZ 90 512.343 null]
 >> endobj
-4967 0 obj <<
-/D [4963 0 R /XYZ 90 512.343 null]
+4926 0 obj <<
+/D [4922 0 R /XYZ 90 512.343 null]
 >> endobj
-4970 0 obj <<
-/D [4963 0 R /XYZ 90 434.7539 null]
+4927 0 obj <<
+/D [4922 0 R /XYZ 90 434.754 null]
 >> endobj
-4972 0 obj <<
-/D [4963 0 R /XYZ 90 378.3405 null]
+4928 0 obj <<
+/D [4922 0 R /XYZ 90 378.341 null]
 >> endobj
-4973 0 obj <<
-/D [4963 0 R /XYZ 90 315.9537 null]
+4929 0 obj <<
+/D [4922 0 R /XYZ 90 315.954 null]
 >> endobj
-4975 0 obj <<
-/D [4963 0 R /XYZ 90 253.7561 null]
+4930 0 obj <<
+/D [4922 0 R /XYZ 90 253.756 null]
 >> endobj
-4976 0 obj <<
-/D [4963 0 R /XYZ 90 231.4443 null]
+4931 0 obj <<
+/D [4922 0 R /XYZ 90 231.444 null]
 >> endobj
-4977 0 obj <<
-/D [4963 0 R /XYZ 90 231.4443 null]
+4932 0 obj <<
+/D [4922 0 R /XYZ 90 231.444 null]
 >> endobj
-4962 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F67 366 0 R /F52 341 0 R /F23 2116 0 R /F74 478 0 R /F25 344 0 R /F97 1822 0 R >>
+4921 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F65 376 0 R /F50 339 0 R /F21 2075 0 R /F72 471 0 R /F23 340 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-4983 0 obj <<
-/Length 2717      
+4952 0 obj <<
+/Length 1680      
 /Filter /FlateDecode
 >>
 stream
-x��Zmo����_!�@*�z�_ܢ@��Mr�{����%��
E*$eW���%���E\��� �Y�<��yvv�d��?�0x��B�q���.��#���
�^^��������[)I��澶 	������%!��՚`���+��Q��n�W/���o����䮈���՛���]�EU����˷�x�)�ś������N0��8���	+�#BT��c��_Ҩ,Wk*��fe�2��SK���}|+��q�����bI��F/�����FU0Il�~���G��Bt����-O�#b
]�.8e�Kz��⟝��B}���p
-�	�Oi��$J
��V0�NB��
Gm�L-��H���6��8�W��$�"�(]��
��=fbTo<R��g��ʖ���$�ޤ�g�5�*��R$��}�j�}�'YU�U�m��$k>�i�����'BC�P����t����	�C��'�1�
���t4|�/
-�b�Zk�(C��m�<������*������P=$m	n��������8�
(�m{g��ܭ�3������S�}l~�c��W�*9F\1vR}�D��D��Pu0��?P*�iwQ��=v��_�6������S���	
�p�״ůGX
-�$��@A���d$�
�P�a>hv���ᘏT����vm��55)mb�4���"ڷ6�����w���b�{����geU@��%S
�*�uw��}
�M�����ϖ,���$ۤ���t)RF�A�}[ #\��I�HK!ff̵Q�*��.��Ż���෇lc
�tU����������w�6�?���'*_7�2Q��D3,NV������Y��U�몶�N�6�>4��Z-<��c�y�3r���]�(�<1�g�h�`8Tȵ��*��,0�O�����>�.����>�ª�6�')B�c�[�}5E��4P��h��t0K�}\
��/�+����ؿu�Xgx>�t[3ۭ��ڐ����nS��e�YA65���}��
�����`���
��L�����߻<OG~A��z��t�8|��Ȯe���U�qq	����;Tȳ��
t�����D�
4�_U"���q0�D�D�gI暄�8��Y�&��B��ܯ֠�(�6�,=�O�^j&1L���+��֏M��H>c�3ȣl��\��i���+�>����+OQ��.�
��vH[ �
�D̳���<m?>ƛ
-:��&�!�9���(��K��8�# ��/)#� �)Ɉ��e�38'#�~;����H��922�`d������`3�����*��r��o�d�(	��6ӫ���ij1�$T�
H	�"OJ�I;kg�FJ�n|ZJ�T�� %}
�hS��t?�xbU�&�+��eϠ��%uݟn��fv�-�>t�`��g�>���}��l����Q�#��&Nl�$������
I�rȈb��8��Aa(c� ��{@B5�s���!C���`c��BSĈ?z�p��w衡3����
bX����m�H`��J���[vZp�	q��$�Aj �%O(���%[
T$Xpo���%�38'y�~;����K^��9�7�`d�mu����!�۴���(����H8(��t�
M�
-�5Z����AE�����1��A]��Z�G�C�3�#X��|
�R��ktг1�����A�l�$
�3h7�������v'	��.���H4p�KJ#���k�F
K�gp�7/CqH�H�d�]'�>�]�ˋ�m��
�V�}<�
�D�2��7X���(�/LL
�Ǵʫ(�m�&��ݱ��ͥ�����]w� ��q�z���5l�kDŷ1#*
��fn�?��w��	�h�s����pou��O/蚑i/n6�}�v��S�C%� ��3h��?,�:Q
�
-���*�;�'_B;}�`A}�
�Z�
���l}�c�b}0u�
�z���lda�`�"���e��P>
C��
dBP$�x�J<����J��߅ae�}9����A�����H�w�(��-�
郃���38��
-��*��;����=ci`0�k��ۑn at J �ۡB^!ÌV�x��n	��ԯ+\��\�:X}8�!���,�ʮ�o�8M�����1*�(�\��}uUIi����ta`X��8���
-�N#Ą68T�,<s3U1���ﴴǻ6N '�Ch$��?]
-:@d`��x���,Ϫ��jH`�{��O��f�|ذ-�
��z6.3φJ�����X���8ZCT{C�l���.u��>g3xe�v4@)�!�
u;�ӹh
�%�%gb|n��dN�����W��8���`��&vW���LA.a�Om�����JH�:���`'� &<�r5����J(a$��z�f�~lV0��1�
-yW�6��� �BڻT
�L2n
#��d�1$�g�l!ah�.�6&4�c�eN�]Y���o���L�e���wa�WW���fyg%���۲�4���C�ż
�J����<|v'�Zp�L�>϶����z>�r��:���ǸV��,����;`5��ͱ;����o{8�@��&�
C*��"_u6�9
} ���e0�){z��'�;�{]�ع3��i�=i�|�W�]	�lE�]�
�jۦ�5ew�����Ú�����\������i�>}��έoX{w4:���
٭睪�_]^>==�M�Y�/PR]����h�e��se�n݁F\z�gZ"e�q�NW���v��]}{�B�n��/M7[endstream
+x��Ym��F��_�T)�R���kU����楽��$��Y�ix
�s�_�}��]�$�T)9�
fg�yfv
�;
Z?�~�
M�\b1�\�Z�K�A�s�Y����F g<AB�z��
I0�
chg�v��"����EPl/..yŋ$J�����>�^!�����+���)��#�SO���
��WO���
��O�,�L�};f��I
K�ԓW|ɋ1�m�.�#�Bj#�I���nG�GH��RV�
�����[h���3
�|k�f%���������4�-�3 �cy��u̖���D��P��%M�mo�
d�D\!�ZL�:+�WvMȜ��?hS�Y�V%��]�%A��1�y���۞Ȏ#s�(p=�$-�	����5�c�h�+^/[��ܠ�2�z�zP�"���euss�S^��fe�%�R^
��l�����;��
�8�]Y��Tx�j%�`L��^O��<��jՠYD
�қҴF
q t�sD�����Ä1²5a �fW�Г9h?2�yDh*Y
�L0���8�8L���r#2З��{��:�–���,-�B�� �ܖO�ռX*�/80�l>�ML��x
1"%�c{�o���4\�IG��ˎ��y�AXE�Lļ�ɜ���Z�
/e
��l�Ҙ���<x���rۋ��V���C�h�ס�%�#C����F_��y���;CѯԊU��8�P�G-/�X[�PW�A7V,�r{ūu�v��R��V�W�]����ݤ°&�9��)'�rX��;A3�,��/*gU�$�A�5^���l�K���	��H`�֓��xBD��P�4�ʑ+_�Ռ�V
��at��ɀ
pwsT�8�F���\�ŒJ�l�{ӡ�@���M(ʑ�$匑-YG�J�G��9������*���/*��T�D� Jei ӗ�`-���
�yVU"�~�
�"���^]Ԇ��������� �<�c�
0�Q��R���<��vH�%���Q,�ar.@�\VPiT�x;��[����F�q���/���S��
+���{��A�6�v@���#��
2u=�'�
Ӆ��u$+�{�'��
E��`�`���r����c�%�N�.�L�$�{���H�y.�=Ab� �0Lx��Y��g�6�W��
+�Y������'����j�m����kH��J]�'�F�#�Y�tN=z���b�Σ�ʝo��]<�mP�>����4tfD���oA(��GC��<>��?�A!�TB�@�= �1�
+�9S�����ӧ+����we��ڽq�s�p��������A�&�2��R�Q
���‰l^�Fݢ�)�r�fiU�|
������R*�qnj;�i�k����z
�
�H�l�Z�
�45��r{-�de/�^����F	*AINs
KG'��]���䵭
�>$���|��/�_|���2;˹>m�}^�'3{.�����S�1V
��bw��"'՝89�=fr��[�Y�ά����2J>���s6հ�Gd��V�h���
�䏪���'�b��s���@ ��_�?�P&��N��}��U$u����[��7���zL�m��2H�u��ท�xQ6mt�}�//8"�� &�ox
/��wV=z>R�)�!�o��UU���f����(/@TM�<���N
+��5l���E�i�M<LT��	�R��
+endstream
 endobj
-4982 0 obj <<
+4951 0 obj <<
 /Type /Page
-/Contents 4983 0 R
-/Resources 4981 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4918 0 R
-/Annots [ 4987 0 R 4989 0 R 4991 0 R 4993 0 R 4994 0 R 4996 0 R 4997 0 R 4999 0 R 5000 0 R 5002 0 R 5003 0 R 5005 0 R 5006 0 R 5009 0 R 5010 0 R ]
+/Contents 4952 0 R
+/Resources 4950 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 4840 0 R
+/Annots [ 4933 0 R 4934 0 R 4935 0 R 4936 0 R 4937 0 R 4938 0 R 4939 0 R 4940 0 R 4941 0 R 4942 0 R 4943 0 R 4944 0 R 4945 0 R 4946 0 R 4949 0 R ]
 >> endobj
-4987 0 obj <<
+4933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.2424 507.051 194.7761 517.5814]
+/Rect [161.242 507.051 194.776 517.581]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_6e192bab4a848124e98adc8e04f1b780) >>
 >> endobj
-4989 0 obj <<
+4934 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 468.0928 160.4653 478.9968]
+/Rect [134.114 468.093 160.465 478.997]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_f724448826bbc00406f8f680b31fcaad) >>
 >> endobj
-4991 0 obj <<
+4935 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 418.923 175.967 429.4533]
+/Rect [134.114 418.923 175.967 429.453]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_7698afbb74c4d9ef4a404fd200b9226c) >>
 >> endobj
-4993 0 obj <<
+4936 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 379.9648 204.7386 390.8687]
+/Rect [134.114 379.965 204.739 390.869]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_6a570635ea948e8b83a131c1433f558a) >>
 >> endobj
-4994 0 obj <<
+4937 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.0758 379.9648 283.3129 390.8687]
+/Rect [232.076 379.965 283.313 390.869]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-4996 0 obj <<
+4938 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 341.3802 244.0907 352.2841]
+/Rect [134.114 341.38 244.091 352.284]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_162dc548ba77c3b8b0c09b83740b0add) >>
 >> endobj
-4997 0 obj <<
+4939 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.4279 341.3802 322.665 352.2841]
+/Rect [271.428 341.38 322.665 352.284]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-4999 0 obj <<
+4940 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 302.7956 191.7178 313.6996]
+/Rect [113.91 302.796 191.718 313.7]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-5000 0 obj <<
+4941 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 302.7956 288.8524 313.6996]
+/Rect [192.216 302.796 288.852 313.7]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_68155a8dd4748908068c4f06816ced9e) >>
 >> endobj
-5002 0 obj <<
+4942 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 264.211 191.7178 275.115]
+/Rect [113.91 264.211 191.718 275.115]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-5003 0 obj <<
+4943 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 264.211 303.0791 275.115]
+/Rect [192.216 264.211 303.079 275.115]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_97f31ca582bbc0a736ce5f3167021638) >>
 >> endobj
-5005 0 obj <<
+4944 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 226.0001 150.493 236.5304]
+/Rect [134.114 226 150.493 236.53]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_766f30dae23752bf497bca855ef8b259) >>
 >> endobj
-5006 0 obj <<
+4945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 187.0419 264.4243 197.9458]
+/Rect [157.636 187.042 264.424 197.946]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_c7a892d14bca002fc1a03f9b8a950850) >>
 >> endobj
-5009 0 obj <<
+4946 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 110.9252 176.3319 121.8292]
+/Rect [125.095 110.925 176.332 121.829]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_6d81efe6a6302e1b6296be157faeb73e) >>
 >> endobj
-5010 0 obj <<
+4949 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-4984 0 obj <<
-/D [4982 0 R /XYZ 90 757.9346 null]
+4953 0 obj <<
+/D [4951 0 R /XYZ 90 757.935 null]
 >> endobj
-1475 0 obj <<
-/D [4982 0 R /XYZ 90 630.8858 null]
+1435 0 obj <<
+/D [4951 0 R /XYZ 90 630.886 null]
 >> endobj
 190 0 obj <<
-/D [4982 0 R /XYZ 90 623.8675 null]
+/D [4951 0 R /XYZ 90 623.868 null]
 >> endobj
-4985 0 obj <<
-/D [4982 0 R /XYZ 90 523.6135 null]
+4954 0 obj <<
+/D [4951 0 R /XYZ 90 523.614 null]
 >> endobj
-4986 0 obj <<
-/D [4982 0 R /XYZ 90 523.6135 null]
+4955 0 obj <<
+/D [4951 0 R /XYZ 90 523.614 null]
 >> endobj
-4988 0 obj <<
-/D [4982 0 R /XYZ 90 487.0513 null]
+4956 0 obj <<
+/D [4951 0 R /XYZ 90 487.051 null]
 >> endobj
-4990 0 obj <<
-/D [4982 0 R /XYZ 90 437.5078 null]
+4957 0 obj <<
+/D [4951 0 R /XYZ 90 437.508 null]
 >> endobj
-4992 0 obj <<
-/D [4982 0 R /XYZ 90 398.9232 null]
+4958 0 obj <<
+/D [4951 0 R /XYZ 90 398.923 null]
 >> endobj
-4995 0 obj <<
-/D [4982 0 R /XYZ 90 360.3387 null]
+4959 0 obj <<
+/D [4951 0 R /XYZ 90 360.339 null]
 >> endobj
-4998 0 obj <<
-/D [4982 0 R /XYZ 90 321.7541 null]
+4960 0 obj <<
+/D [4951 0 R /XYZ 90 321.754 null]
 >> endobj
-5001 0 obj <<
-/D [4982 0 R /XYZ 90 283.1695 null]
+4961 0 obj <<
+/D [4951 0 R /XYZ 90 283.17 null]
 >> endobj
-5004 0 obj <<
-/D [4982 0 R /XYZ 90 244.5849 null]
+4962 0 obj <<
+/D [4951 0 R /XYZ 90 244.585 null]
 >> endobj
-5007 0 obj <<
-/D [4982 0 R /XYZ 90 151.2774 null]
+4963 0 obj <<
+/D [4951 0 R /XYZ 90 151.277 null]
 >> endobj
-5008 0 obj <<
-/D [4982 0 R /XYZ 90 127.7717 null]
+4964 0 obj <<
+/D [4951 0 R /XYZ 90 127.772 null]
 >> endobj
-4981 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F23 2116 0 R /F67 366 0 R /F74 478 0 R /F101 2128 0 R >>
+4950 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F21 2075 0 R /F65 376 0 R /F72 471 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5014 0 obj <<
-/Length 2978      
+4997 0 obj <<
+/Length 1483      
 /Filter /FlateDecode
 >>
 stream
-x��\mo���_�~q) \����h��hZn�~J��2������w��v�w{�C�V���"����<3�rb
-���щQ�8!��n}A'���_/X��
>���?�\\��j��\On��4#�3>�Y�0e�0y9c���KF���z���%�����}�����cy���^���:V��r3?V�?�|w���D4��Pi%��%���t�3J�p��z@
-��1�"�����j~8\θ�ӛKǧ�z�����|_�����N��
��4USf�z��Mt[�U%4�N���?�����%�Y5y�_(a����Br~Y]\_�3�i>��049�1"�r�J���(&�����A0[ԙ�
��)5(�\h�P��(�� �H
�
ќ�I�y��ȹ�;��Vo*��Wg���w���Gߧ�qM�c�q-�c[/�:&E�P�h�,�0��˵蹆*z��
�}�
<��=�>�xČ\n
�ބ�|�9��~:
�uf��D:�ʾ�(�ˉsTu�xqw w��H�B��v�0�է�8��N�+�Q�e�Ă]Z6DD�%������Ϳ���r���	�۝' 5����� �Mo=�=,W�C9����$�fB�i=�����
��x�~]��uUP���Ka��a��,���V����v~�f��K�P���`ؐ�����C�b=�52w�hx�Z4�>��h�XI��j����@�n��(�[�@H.�yv��Z�|;��T��$�
-<���ZXǶSH�dbBR��@R]נ$�U~I����$u��uw�� kyfNFR-
-3�:�������
!)���g�T"�DR�I�H�~��4a��KqC$��ORL���H*�p�J�MRe�I���DRS�*k�$�q
NR
姐Tь\.��
�(tGE/D�^i")�]�/���D�u;��%v
-���wOM�6��p�t�+�r�(H���!���%��$b����
-<73�HĮmTІ�:1@��˰d��P+eq����gQF�-T��JCn)'ω�TF!N#�q˩�	Yj(�kH[ʀ�f0u�Í��w(��#�1?B�Tu�
n�� �0?����Z�:_=lꖡ��8��������������S����f����y�m[��~���j�ER0��R0��,�
(LoȮT�zk��TKV��z<�
3"��x�A���v��Y����MVm�%
-��슈B����T��5WA���;#�132��	
-�/ O�^�(D���$�ۜ
�H͕��U/?��R.�0o֟���m�E)K�(,g���#�b����������r�������j���Ҷm��ڼܾ���=X�?�-��b@�L�1�b��@+j�g�뀴`��~��tx�
S�I�0�!S��D�
�Q�2dW�	
����V���8B����B
-#>(L�N�@
-]ߏR#� ���ꅈG���b�

.m�
��7�
aJu�cԨ$����2J�`_5��,ѡ�ՓU�s�'�!�
t(�\�g_�I�C�I�
��D`��z
�jq:�>��Fdr����g[m������
T2�����iJ@�u'a�%�a�TwD<fF&�E�s��[vB
B�
J!p��*�X�Wqj�b�DF��
a�v��a��럝�
2���U���Y��qy|?ė0������T��i�'�����k��e��|�
-,�%���ˎZ�/��O�KĈLn}����9x�]`
B=�芈B� _�
�M���C��ũΈx̌L.����
-ue/D�^@�R�TW=—�`�"�����_F���/�h���\��eE�G����f�?q�P�,��,�0���0�
��-�#��En |�I�bͯa����wu\T���Ў<�5
-�����N(#
/��R�(�
E#U��q��j�7�g���B�h����;;R�`�
s@@a�-,Ʌ�=�cg*�fƙ���R%�
0o����ahr��y�&��YߤlI�{��+�p��z���
��g_~
-`Ek�axf$K�Q�2#U��S�"�Q*ѭ��n�(CK��Gb
���
�I�D�%��\`�

z?��1.�9���e�����p���>'>k	�<mO���
S�ɭ+����F_�}��Xd�<��B�sr�
��.YCO�I�4D<fF&풡���^�
����UNjӋ�r�̝"��nϦ2
-�a���қiH��aUO������.�j��&F�E���#z[��EW�]�'��#2�ފ�c�\�.�Bk"5��e�[���
r=�WN�1��<�?��m
�-O��<��B��
��q���r�1y��a*����ͺ~��C�2�SN}�e�s���mc��Y�xS��Mq���L3����j�8
<IĜ$܍D�>+
�1�t��E�(���QQcDaz�]~���v�]ez�e�Q��;���Y����*_�D−B#�(L���R����{��X#ĩN�xČ\.zO����\�
���>—IK����)�$� J��|/~�*�u�5eB���T�G<��\.�
B�h��]D!ϥ�
>\�h�4U�^B?��Ph5Ʃ��� g�������=��
��\J������C��e{$5�י6������Pi�Wka�����d�����f_���r���W����J�4��:��&�q�rL��/�|�bX�
-0�|%K嫬7��To�|u�R��dr������e�O
��P�vH��lt�>^�4Q��� GlȤ��K��9.]-*��+]}i_N�b�[N���G���EK��e��L�S���y��u+�Q�[�[�Z�Y�N�!�q�v
Ƌ�U��빧/�����:�B<1��Yᡮ�Pc
s��댰�BV�
-�Q;�&��7�6�~ݞ��	\����
�/�:T��_*5=�<6�U��S�/����G���ڒO	r9�N�����՛h[��ӟ'������
��Ͳ�$����1�?
w/��
�݁<l��=Y
�v��U�H�P	덎]#��̖����8�Ԗw��J�z���A.���óP�L�/`��endstream
+x��Y[o�6~���^2	�i^DI
�[��V k���d�q���Ir]��
R�,;�c�Κ�
H���s�ΕؚY�z9�e<]x�HxԳ�7�����)�Ƒ��&���}�l�E^_:�y���Q^�O��X�����,�8
+��]�!Mq���ƚ�����	F�m\^�!."�o����͊�IX�ΐrl�
Am��Ş~�F���!�-�)<�
�6X
�:
�3 @[Dk���gܚ������WFL�R�J-�2�&����6�u՚��7�|�r��w�r���s�N13|�y9��9�fK���ZI�s<ͳ�2/{��e�Ւ"����jUV2�u6-�
�⫾�.|j ��j�S���X^��[���Vq�9Cƅ�ϕ	�
Vyq6�ž(t-�$*�%�-�y؎�C최����� l��5��^&2���^\�mY��,���� �n7����D*�e�$��	��F����HMsnH�c�/&+P�QJ�"����Wl�
6�f�U�Z� ��A���_
F�b��j/�f_3�ĉq4��`x �(�Y��
*g����|���[�~1�8��#5��>RQ�
�M[r�67��
����
+2��f�4|�v<�B��P�
y�F�d721�
+�4�|�]��2���j
/��`�����8���X�u
�7��I�/�|�����O����ʐ��<��0�A�G]���~T.�k�'�"�����g�S��Ϛ�F�y
)!:_� �v��y��fu�E�P7�SiU���U��7=���nc���J�E=tG��͚U��/
:)�wzOD8
+r���7��ǚ��
|���������_�3s�Q �)ᵔ����
j���3���̔g�d���J�a+�rr*��5˸����x ��C�;%� SS �̷(�}�P�D=r�']e瓌�ό����6e�f�K�c$T�h��À|yU�w��
��
}@E��7�Z
��n,RS,u�S,�͒Y�QԴ���Ghsz�~�)����m��.�vX��
��u��
�YC��R��>Y�z��ռA�~|ڑj=\�H
��=*�K=O��R����Z��'TR���?����8��
���KiƘE,����>{ȅ�4 �ɽ���yr��<��l�p����M�6�
+�
�:b����v�v��Yg�t1��)��=�kU
�BC X	�
+��p��\u�
#�Z�W�B��#����v|�%f$��9���	>��W-�]�("�!��V�-���E��Ճ�/��=��ȩ����
]�������8�
!%��
[7��-�mq\�t�r�/n{��$xܜ�zH��G�3v.��H�&\\��HMm�
���){��R�;��e30�a���Q��E����C07��$LA
+9C�וl _���j�~hK����!�������h�\.ѴD�,�(�F�y2�[L���q����l8�
�4x�0�M�Q��ˋ
+endstream
 endobj
-5013 0 obj <<
+4996 0 obj <<
 /Type /Page
-/Contents 5014 0 R
-/Resources 5012 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 4918 0 R
-/Annots [ 5017 0 R 5018 0 R 5020 0 R 5021 0 R 5023 0 R 5024 0 R 5026 0 R 5028 0 R 5029 0 R 5031 0 R 5032 0 R 5034 0 R 5035 0 R 5037 0 R 5038 0 R 5039 0 R 5041 0 R 5044 0 R 5045 0 R 5046 0 R 5048 0 R 5049 0 R 5051 0 R 5052 0 R 5053 0 R 5054 0 R 5055 0 R 5056 0 R 5057 0 R ]
+/Contents 4997 0 R
+/Resources 4995 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5012 0 R
+/Annots [ 4947 0 R 4948 0 R 4966 0 R 4967 0 R 4968 0 R 4969 0 R 4970 0 R 4971 0 R 4972 0 R 4973 0 R 4974 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 4986 0 R 4987 0 R 4988 0 R 4989 0 R 4990 0 R 4991 0 R 4994 0 R ]
 >> endobj
-5017 0 obj <<
+4947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 707.9571 176.3319 718.861]
+/Rect [125.095 707.957 176.332 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_8a354fa2b600043e51e8556864b69dbf) >>
 >> endobj
-5018 0 obj <<
+4948 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 707.9571 281.4961 718.861]
+/Rect [203.669 707.957 281.496 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5020 0 obj <<
+4966 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 660.1364 176.3319 671.0403]
+/Rect [125.095 660.136 176.332 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_de012d0e50f285077169741e9940f414) >>
 >> endobj
-5021 0 obj <<
+4967 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 660.1364 288.1216 671.0403]
+/Rect [203.669 660.136 288.122 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5023 0 obj <<
+4968 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 612.3157 176.3319 623.2197]
+/Rect [125.095 612.316 176.332 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_46a0e4adbfa5f07c11b1cefeaeab50a9) >>
 >> endobj
-5024 0 obj <<
+4969 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.669 612.3157 254.9062 623.2197]
+/Rect [203.669 612.316 254.906 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5026 0 obj <<
+4970 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 575.8276 184.0806 586.3579]
+/Rect [125.095 575.828 184.081 586.358]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_12f9c11414ff84c5f98e089fe1671e4b) >>
 >> endobj
-5028 0 obj <<
+4971 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 502.0388 229.5525 512.9428]
+/Rect [145.1 502.039 229.552 512.943]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_947140ae6a3b18452b6e69dfcf3daf51) >>
 >> endobj
-5029 0 obj <<
+4972 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8897 502.0388 308.1268 512.9428]
+/Rect [256.89 502.039 308.127 512.943]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5031 0 obj <<
+4973 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 465.177 196.3468 476.081]
+/Rect [145.1 465.177 196.347 476.081]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_b482b0092b8947168a9cc650e7f5a666) >>
 >> endobj
-5032 0 obj <<
+4974 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.684 465.177 274.9211 476.081]
+/Rect [223.684 465.177 274.921 476.081]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5034 0 obj <<
+4975 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 428.3153 220.038 439.2192]
+/Rect [145.1 428.315 220.038 439.219]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a894183e37c6f3614ed4938d94a3a7ee) >>
 >> endobj
-5035 0 obj <<
+4976 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.3751 428.3153 298.6123 439.2192]
+/Rect [247.375 428.315 298.612 439.219]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5037 0 obj <<
+4977 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 391.4535 224.0028 402.3574]
+/Rect [145.1 391.454 224.003 402.357]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_a76dc794cd0a663bebbf8fc0d11d9714) >>
 >> endobj
-5038 0 obj <<
+4978 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 391.4535 302.5771 402.3574]
+/Rect [251.34 391.454 302.577 402.357]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5039 0 obj <<
+4979 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6947 377.829 272.4902 387.7343]
+/Rect [219.695 377.829 272.49 387.734]
 /Subtype /Link
 /A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-5041 0 obj <<
+4980 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.9052 354.9653 182.439 365.4957]
+/Rect [148.905 354.965 182.439 365.496]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_81788a9e6af2cd17a632e4008b4b5634) >>
 >> endobj
-5044 0 obj <<
+4981 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 306.7711 176.3319 317.675]
+/Rect [125.095 306.771 176.332 317.675]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5045 0 obj <<
+4982 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.0715 306.7711 227.878 317.675]
+/Rect [187.071 306.771 227.878 317.675]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_ebaa837f2ff5fafb87e1e9ceaa9ccfa1) >>
 >> endobj
-5046 0 obj <<
+4983 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.2152 306.7711 306.4523 317.675]
+/Rect [255.215 306.771 306.452 317.675]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5048 0 obj <<
+4984 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 269.9093 167.4656 280.8132]
+/Rect [145.1 269.909 167.466 280.813]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_d56183741949b698e9781549d3da5fa5) >>
 >> endobj
-5049 0 obj <<
+4985 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 269.9093 222.5184 280.8132]
+/Rect [171.281 269.909 222.518 280.813]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5051 0 obj <<
+4986 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 191.1393 180.5399 202.0433]
+/Rect [134.114 191.139 180.54 202.043]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_6e1f5c74ae6b2a7fda7094889aa46300) >>
 >> endobj
-5052 0 obj <<
+4987 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 191.1393 259.1142 202.0433]
+/Rect [207.877 191.139 259.114 202.043]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5053 0 obj <<
+4988 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.4044 191.1393 383.6415 202.0433]
+/Rect [332.404 191.139 383.642 202.043]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5054 0 obj <<
+4989 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 152.285 178.2386 163.189]
+/Rect [134.114 152.285 178.239 163.189]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_c8977c97bf04a9145308585bf0f79110) >>
 >> endobj
-5055 0 obj <<
+4990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 152.285 256.8128 163.189]
+/Rect [205.576 152.285 256.813 163.189]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5056 0 obj <<
+4991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.1031 152.285 381.3402 163.189]
+/Rect [330.103 152.285 381.34 163.189]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5057 0 obj <<
+4994 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5015 0 obj <<
-/D [5013 0 R /XYZ 90 757.9346 null]
+4998 0 obj <<
+/D [4996 0 R /XYZ 90 757.935 null]
 >> endobj
-5016 0 obj <<
-/D [5013 0 R /XYZ 90 725.0579 null]
+4999 0 obj <<
+/D [4996 0 R /XYZ 90 725.058 null]
 >> endobj
-5019 0 obj <<
-/D [5013 0 R /XYZ 90 677.2372 null]
+5000 0 obj <<
+/D [4996 0 R /XYZ 90 677.237 null]
 >> endobj
-5022 0 obj <<
-/D [5013 0 R /XYZ 90 629.4165 null]
+5001 0 obj <<
+/D [4996 0 R /XYZ 90 629.417 null]
 >> endobj
-5025 0 obj <<
-/D [5013 0 R /XYZ 90 592.5548 null]
+5002 0 obj <<
+/D [4996 0 R /XYZ 90 592.555 null]
 >> endobj
-5027 0 obj <<
-/D [5013 0 R /XYZ 90 517.1172 null]
+5003 0 obj <<
+/D [4996 0 R /XYZ 90 517.117 null]
 >> endobj
-5030 0 obj <<
-/D [5013 0 R /XYZ 90 482.2778 null]
+5004 0 obj <<
+/D [4996 0 R /XYZ 90 482.278 null]
 >> endobj
-5033 0 obj <<
-/D [5013 0 R /XYZ 90 445.4161 null]
+5005 0 obj <<
+/D [4996 0 R /XYZ 90 445.416 null]
 >> endobj
-5036 0 obj <<
-/D [5013 0 R /XYZ 90 408.5543 null]
+5006 0 obj <<
+/D [4996 0 R /XYZ 90 408.554 null]
 >> endobj
-5040 0 obj <<
-/D [5013 0 R /XYZ 90 371.6925 null]
+5007 0 obj <<
+/D [4996 0 R /XYZ 90 371.693 null]
 >> endobj
-5042 0 obj <<
-/D [5013 0 R /XYZ 90 334.8308 null]
+5008 0 obj <<
+/D [4996 0 R /XYZ 90 334.831 null]
 >> endobj
-5043 0 obj <<
-/D [5013 0 R /XYZ 90 322.0886 null]
+5009 0 obj <<
+/D [4996 0 R /XYZ 90 322.089 null]
 >> endobj
-5047 0 obj <<
-/D [5013 0 R /XYZ 90 287.0101 null]
+5010 0 obj <<
+/D [4996 0 R /XYZ 90 287.01 null]
 >> endobj
-5050 0 obj <<
-/D [5013 0 R /XYZ 90 210.1132 null]
+5011 0 obj <<
+/D [4996 0 R /XYZ 90 210.113 null]
 >> endobj
-5012 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R /F101 2128 0 R >>
+4995 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5062 0 obj <<
-/Length 2196      
+5021 0 obj <<
+/Length 1826      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~ׯP_�2��~1�m�Y`�i�i0+�Z�����=3�P
qH�p��v���ṟoΙ!�c�#s��J(d���n����of�}����>�_ofW/��d$��� 	������D��`��.	^$�.y���E�}�M�e����C����_�uZ�<���w7�^�$�ǚb�0�
T���7$�t�e�S�z�B8"D�>��oۤ�.�T��ͥ��t��Z��/��MZ^�H��$$
b�e:��M�֫�Ib�����;<_�w��aČ�{���C����lgof���4�
���ΉeK��u�Sk̺���]���"���{�N9b��޿��?�
�mR���jL��"/ڇ�t���7^V$�0�b�CcY�{��
�%X"� S<�әRq,�`x��3��uD1��m��
-�e������s)S=z��Z��
p�Hh_CP?��<ٵN��
p�
iz�
8f��
-s0� #Dͪ^__U]�ɮa1p��}�%������}T~li^�}���"��
-��Lꢌ�/cP@�z����d��2G�
���:�
� 	
-A
-Գ��ٳ��
-��>V�����\�u�'
�
-
�h���8���騆��h
����8df�r�ސ�E
9V�HH' p
��H at HWW�j��b�}
�t�����)C
���(��Ow����;�ŗD,\&BhT[&��D>^[�%���q��	��)��d���p
-2#rc�ٗ�;��?�&[
�9�����t���SH���"!�u�}�z��@
	 G1=��8L��l� �н�-
�j
E����{�S
�:q��ʓ�d �
#
y7흎j�[�n� ���)��ΧP0`r��c�r~v�'b0�;��U�.bzm�^��9'@��B�a}F#�x��멖}�a���~�U�aj��!e�SV�
��E�SY����U�l���m�/U�N���ks��`��s�8�Ʊ��M(
-K�fd�Gt�P�R��̉H;uB�%��9_�ժ��v�pIz4؄KOX�
-\�����ZM.=G!����QtuE�8I�����Å��n���_e�o�HZs^}�����.�uϤC�]&@��W��{;-7�K�E샸3�� ��2�M�z������)Vw�4���ju�7�P^3�<>��#	e��J��(���Pۖ�S
-<�P�䱄��j\}�Op}}�T�Zc�
-�p�ɋ�.3k�'@���i�I�,���61
�
�K�@�G���Y����<	q�l
-��Ų�{�`(p�Z�2�"r�H�Zuy�F�R�ϱw^�i
#oA�ȷm�o�FL��Ѻ�A�4�௠�Z�P�����Q7�
���,�8�(֖��2K�u+�/^���ӣ
-�}�B���3U�r��*4
-�g"(4�����
�7M�5;��2s��SU��N�6����l�/
-��&�������4�H����������I���:m�`��d���o�z��6�������1x!H۵�E����8��Ίc���(�!�P��%��f��Co(��Ȳ�8 at BI�q�I�m7�U�^�A.ݦ8�@E��
�
�t %�\(����G�l	r�F�d9jh�(��<���Es߃�OC	���{OcIO���<��V~K�����e�%0F��%��%쏍%kP	ڟMZ�~��`Iu�}O��|	0��q0�.�I0aH)f��=�p���$ò�h�M��@� �;͞�t����C��1iêP
-
*�M�w���
�	�P�������?�	'�<L(�^{�F���2�F 
/�ٚs=��a��IS��)��Ovڱ�����+�2��_,P�$,n�c11�Lf�@X9aϒ� ���~���zf{���7i�,N���j;UY�Q�㽀�lO��u��vS�[�P�|
c$�nn�V�?X7c��Ao#�9ajo>��?�o�bwԔo��k�}o��mz
����a
;��=�8��T'�,��
�,���˾��~�no#���.��B��H!��EPs���"� �52�i�7�*�Awl����nnۺnn�Y��W��
�!���n��O�UZV]>��nO
�B�I�;TQ�s����s�]�
�²�Fs�z��Z�o�z}uu�V�˳}���
-�v58Ԁ�ܝ�n�
t	<o�et�JmW�4��ǝ+�����*���b`endstream
+x��YYo�F~ׯ`_\��{�+$z�@��n�n0��&"�*I�Q}g��2��S�ȓH����ofg�w�a��ɷ��S�<���һXy
+{�$HP�],��)!����Oώ	���&|vL�4Y��2
߿�>�a��Ͽ׹N7Q
����ū�SBZ�)�,\H~^��N0��z��C��z�e�
��7�[�Yv<�O/����vm�+���+�
�`��<�)Q���p1�sB@
�H��#�	o��\������0b*�n��6
�
~�����	
�0eKQj�V���F��x�GI���	��{3����,��IeJ~
�Օ���0�qb����0��^Uk!U]i��8
`A�8�vAJ��V�������/@\�~�+Gv�ߚ����
8�$A
�|��q���T�p$r�x���������������|�dy��M)�ȚgB�^�ؿw\'[��y�v�Rq$�mz~�O-���A�(�M���
O>��AҵV=H
�0�w����cH41~�#�ɾ�;�j��) FIɋ�P�"�D��@�������"�8���i B�u�����R$9�_����O@��
-��B(���m��[7����ߛ
+ le�> ���|�p�#�Hՠ�\!G��
����Ӷ��@(αޖ�ć�
 EH2�M�<"���N@�9L��6�o�"
+��_�$(Z�7�"��� ���Ձt�Dj�Q�BN�8*�P��Վ b�|������i�5%��A�t��*���Pc�����v$
+�$%cmJ
�Eӥ<��"
+��@�5Yc0��\�a
�&:>�=
�֎Кs��V���(��eˤ��!�X�g�
�W��U᥅F
�A�ED�6d��̛VT5[>�b��q
��
+��7 (�u����]@1� J!)�A@�����dm�=P>�X�Y�P���I���:�*�G"yP��$���v���V�͍�������c���ƿ��Y�{��(��pIjf�xׅ��4p���{�K�c�ޔ�<����l\�D��i[JK��ޢ~Uu��͢e��)��]NBY�PQ��|�᤺�bڕI3@] dR�C��&�i�xiW��һsO�4cO�f<P�8�B<���F�!�2͌�ʗ/^��*Xv���#IV8zxkl�
I2 �R���B��7�p
�tM�:dp��j�>3ARA�O��3�6K��
S�?�\��v����}���^�4��rU�G7�����N�g���K�nL
�ޑovD5J���e;���B�z�a/���j3�^k��,�;R�w�}V����{���u��Ġٍ�4b�U4��
s��4b�
�h���ֺ}4"��������A4B�tiD}(����/42L#KP	ڞ�Nu�y蠑��<ž�G�ܹ�GT�a82�7��
$ [...]
+ܝ��0u����9��r�
�ߝfn=��%͚7f�c����b W���cO��@���[�t#J ,��7ąz��Qh�VV��� Ҋӧ�1�k���+�(�Qp�ۮ!iK��W:�:ҁ�|8CR3t �œL�����^�<�K��AAk�VN��͕�

T��U�lZ�U�^'��޶�*�����z����5��v�9<j�R���<i-NX���.��Dy�
+�i!����	���p_�Z�7�e:�ڰ��՛0�U�C$7F�N����6Մ�!�
p����J�>z��O�'��CR5E�:Ϸ���[���.��)������#�FJ�
�h���I��(��� 
:
��b��
+endstream
 endobj
-5061 0 obj <<
+5020 0 obj <<
 /Type /Page
-/Contents 5062 0 R
-/Resources 5060 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5083 0 R
-/Annots [ 5065 0 R 5066 0 R 5067 0 R 5068 0 R 5069 0 R 5070 0 R 5082 0 R ]
+/Contents 5021 0 R
+/Resources 5019 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5012 0 R
+/Annots [ 4992 0 R 4993 0 R 5015 0 R 5016 0 R 5017 0 R 5024 0 R 5018 0 R ]
 >> endobj
-5065 0 obj <<
+4992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 658.2038 226.0342 669.1077]
+/Rect [175.349 658.204 226.034 669.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_bdd1d97c66bb40b6b396982cc6dfc182) >>
 >> endobj
-5066 0 obj <<
+4993 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.3006 658.2038 368.5377 669.1077]
+/Rect [317.301 658.204 368.538 669.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5067 0 obj <<
+5015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.6505 607.4895 166.0165 618.3934]
+/Rect [143.651 607.489 166.016 618.393]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate_e1b84de453a8ba7224dbc5e378011e9b) >>
 >> endobj
-5068 0 obj <<
+5016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.5674 607.4895 341.8869 618.3934]
+/Rect [179.567 607.489 341.887 618.393]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5069 0 obj <<
+5017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 607.4895 513.9963 618.3934]
+/Rect [433.021 607.489 513.996 618.393]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5070 0 obj <<
+5024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 595.5343 200.5642 606.4382]
+/Rect [113.91 595.534 200.564 606.438]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-5082 0 obj <<
+5018 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5063 0 obj <<
-/D [5061 0 R /XYZ 90 757.9346 null]
+5022 0 obj <<
+/D [5020 0 R /XYZ 90 757.935 null]
 >> endobj
-5064 0 obj <<
-/D [5061 0 R /XYZ 90 716.2211 null]
+5023 0 obj <<
+/D [5020 0 R /XYZ 90 716.221 null]
 >> endobj
-5071 0 obj <<
-/D [5061 0 R /XYZ 90 558.3046 null]
+5025 0 obj <<
+/D [5020 0 R /XYZ 90 558.305 null]
 >> endobj
-5072 0 obj <<
-/D [5061 0 R /XYZ 90 507.584 null]
+5026 0 obj <<
+/D [5020 0 R /XYZ 90 507.584 null]
 >> endobj
-5073 0 obj <<
-/D [5061 0 R /XYZ 90 475.2977 null]
+5027 0 obj <<
+/D [5020 0 R /XYZ 90 475.298 null]
 >> endobj
-5011 0 obj <<
-/D [5061 0 R /XYZ 90 452.9859 null]
+4965 0 obj <<
+/D [5020 0 R /XYZ 90 452.986 null]
 >> endobj
-5074 0 obj <<
-/D [5061 0 R /XYZ 90 452.9859 null]
+5028 0 obj <<
+/D [5020 0 R /XYZ 90 452.986 null]
 >> endobj
-5075 0 obj <<
-/D [5061 0 R /XYZ 90 389.2172 null]
+5029 0 obj <<
+/D [5020 0 R /XYZ 90 389.217 null]
 >> endobj
-5058 0 obj <<
-/D [5061 0 R /XYZ 90 366.9054 null]
+5013 0 obj <<
+/D [5020 0 R /XYZ 90 366.905 null]
 >> endobj
-5076 0 obj <<
-/D [5061 0 R /XYZ 90 366.9054 null]
+5030 0 obj <<
+/D [5020 0 R /XYZ 90 366.905 null]
 >> endobj
-5059 0 obj <<
-/D [5061 0 R /XYZ 90 317.6642 null]
+5014 0 obj <<
+/D [5020 0 R /XYZ 90 317.664 null]
 >> endobj
-5077 0 obj <<
-/D [5061 0 R /XYZ 90 303.1367 null]
+5031 0 obj <<
+/D [5020 0 R /XYZ 90 303.137 null]
 >> endobj
-5078 0 obj <<
-/D [5061 0 R /XYZ 90 255.9328 null]
+5032 0 obj <<
+/D [5020 0 R /XYZ 90 255.933 null]
 >> endobj
-5079 0 obj <<
-/D [5061 0 R /XYZ 90 241.4053 null]
+5033 0 obj <<
+/D [5020 0 R /XYZ 90 241.405 null]
 >> endobj
-5080 0 obj <<
-/D [5061 0 R /XYZ 90 194.2014 null]
+5034 0 obj <<
+/D [5020 0 R /XYZ 90 194.201 null]
 >> endobj
-5081 0 obj <<
-/D [5061 0 R /XYZ 90 179.6739 null]
+5035 0 obj <<
+/D [5020 0 R /XYZ 90 179.674 null]
 >> endobj
-1476 0 obj <<
-/D [5061 0 R /XYZ 90 81.6616 null]
+1436 0 obj <<
+/D [5020 0 R /XYZ 90 81.662 null]
 >> endobj
-5060 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F67 366 0 R /F97 1822 0 R >>
+5019 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F72 471 0 R /F65 376 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5086 0 obj <<
-/Length 1858      
+5048 0 obj <<
+/Length 1413      
 /Filter /FlateDecode
 >>
 stream
-x��Y[��D~ϯ��� �s�T	�mU(��A�*�&�]
�N
��
-��9�q|K��$�J�x||��o
2��G�O�P�0.���Ooa�ń��
��h
-|��\<�bj��TN�7�I���N���3B��Ϯ�Ϣb�������.���Ur]D�Ó'��6J��U1'z�o�r�n���sB(UH��#k�3'�r�`D��^�|:_P�g�t@
#HS,���ڞ��~��-����.��ح��o���8[�ќψ!V��ٲΣO�`��,���}��H�W���bzc�t;ᔅ�t�f�}��ݨ
�� l�\P#
��
a)�?W/p�a�*��R�W��
a�$Q͊qN늵r�ŦW���|�8������
)
�-�C\��v%+
���
��Ѕ
��TO-���c�����6q�2�6��}���۵o�"��s"f�G
������s��.��7�S���
�-���+y��'�gN5�'
-I�y�GI�N�x`pC��nU��R\k/�ۥ��nh �R�3�0
-qB$��@/ם����˸��4y��E�+�<���C�
(���z�V5

�KU�,��,�B����o�n-�a�!� ��>< Q
���f�!
%l�9
m:`��D�A5ܼ����#);�mO����Qwl~�� �7�&f�=gƮ_�n�a�^&��
f��$V�T�{Y>�bv����Z\��8}pK�8˽B��}�,j�r��Wũ�a�D�aZ�l͆3R��Q�j�K4A
z�MZ@��\Ga��>����>��?�U�W��NB���;j&��
��
Xwv��f�S�F{NN��"����ƐF��I���w�m7�����2���Z��
��Ccv_A�������ꦿ)�mx4����a�ݺ��1�i�d��pm��T�d�M�����'X"�4?걡�L���TC��9k���
e��m���M=,�U�
���ȃ�cy�s����܊~�q)^}������,����~��6�~��6�����q\�Tn�Hn��pDy9�P��������~��v��n�* ���1�(�����*n���f��E�~���(�M�9�Xu<��I��k4�
-�
-���
\� q
�x�g���*
���!��F�W�w�mߘ�ި�=r}ޚg������6b7�[��_�7�Xx{�J�8Q�5$K�,�G�"z�K1�W�<�|僱u��Eܸ�F�6W���	C/�;������ΙK}?� MQ�z�#�i��z�a,�-u���@l����� �h>0Љ=�
=�E�ձ�:�28b�L��Π�R}�Zu�k���� �ws�������Q���́���:M��%��386� �P��!�)prj�Q�9k�9#v����a۳
[�`�t�n� ?�AOo��C�{^����ԘmI��
ӿ�lJ��b�ё�Q�]������>�8��fw
�/5f�����t�����G�
�G�w�V/����J�~�zA�L
���R#���C�Ԟ��{��3��[A�w/�]�\��L����Ԙា��<�q�Q�]�ի�W߽�����`�
vaI�H��Ԉ�i
V�
����
-/�BE�ɠM� ê7i�3��M
�C�Oaޥ�AX�!b-:}[�W2K�`ǭ�}geW�I�1C�R��
g�o��fpƐQ"��[?�T�! �"p�Q,i�P��A ��`����~���Aܥ'"��}\|<b���7Qv��pl����a\�p��9�8�ǽ��*
-#���J����4|��1
�E��e����ژ��r������
��b�%�P֋ޠh�B
F��W��A��K+�LK�I��|��q�<��$��mu�뵢��k��? �?�Jendstream
+x��X�n�F}�W�C)$Z�KE�ė ������p���^��*��w�)ъ�!
S
���9s!��p��b�|28������3�w�H� A�3�;�.!���`���`7̓p:
R�f�v��y8����0ߞ��gI��q>$���׳r�a��䒐�J%�	���oF��	�m����
+��
k� �֪���Y
��6�U�*Ke$��^靫t"�s�@;
\L��`�h��D�	g�
n?`g�WF,��J
N\c�f�� ��
�B�p���w
��rA%CL�C�[:�������AN����Y�9�]�a�3b�#�}gT��Ҭ�C;���/�3�
1
�E�ed�;����4�`3�a:7?6Q
�_w��J�!��꟪Ֆ*�ڱ�ܮ�\�+�+p[�f"k���dq�ca at A"�Z2���x=W=�
I`�^L۶�� �UX�b�\�%�@��
ˠQ '
 ���ESD,Q�UFq}�sU��hUFY�#�M���V���"��Xe���
��>
 �I�r�
���8�Ѳ
+;x-�*7ߩ� ��'�n�:�N8 b ���}�{F�<�C���
�*?{5Yc���v#��r#�h���7��NI�Mu��1�fyX����<K�!��(D֢9k~�*��\��5~��2d���q�eFA��6;��$�q�s"����&>A
>J�N
~G����z��&|�%��-"@|k��յA
�Fq�LO�p����6M�g�����U���'_B��d�0|]�M����l�NTZ��j�}�[��%�FW{�P����y��KUm,�

�taD�1��:�K=r8�C�Aw���z��Tt�nG�x�Kt���6�8"��k�cg�KS��YV�~���
�>}��c�S�R���a<p�l=�脋��:,�a;lk�
�a��}0&Cb�8`f��k~�Q�1�p��󅝎�5�*�y4�g����
yC޻��,-4�lY�ѧ���X|S�-��D�&w���M��D5�7�oˬ8J�}������[eQj!����X����u�#Q���x�.����o\�� �����k;
 J���k�AO<�HG]VY6�E�M�=�����t��U
}�����8�YT��G����]
��7l�]���=u
5�B�(z4]T�N��
��:�
_z�����2���%�� 	���W.�}�f�kή�޼������
+�u�;�%u| ��	�<N����ye�K{Z� [S8�����^�u���N����#����C�2��""@B�o��{[����9an�*�u(�k���0]�q]����h�F�V�"
��{�ȍ��d��ѩ�6���4�
�u3E.�ruzr��lЬ@��V9���N'���B :��r�4�$�
j��0э�������
+endstream
 endobj
-5085 0 obj <<
+5047 0 obj <<
 /Type /Page
-/Contents 5086 0 R
-/Resources 5084 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5083 0 R
-/Annots [ 5091 0 R 5092 0 R 5094 0 R 5095 0 R 5096 0 R 5097 0 R 5098 0 R 5099 0 R ]
+/Contents 5048 0 R
+/Resources 5046 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5012 0 R
+/Annots [ 5036 0 R 5037 0 R 5038 0 R 5039 0 R 5040 0 R 5041 0 R 5042 0 R 5045 0 R ]
 >> endobj
-5091 0 obj <<
+5036 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.9231 336.0606 197.177 346.9645]
+/Rect [176.923 336.061 197.177 346.965]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5092 0 obj <<
+5037 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.9124 181.4323 316.0602 192.3362]
+/Rect [139.912 181.432 316.06 192.336]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-5094 0 obj <<
+5038 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 126.5727 160.2066 137.4766]
+/Rect [138.538 126.573 160.207 137.477]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
 >> endobj
-5095 0 obj <<
+5039 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.9774 126.5727 192.6547 137.4766]
+/Rect [167.977 126.573 192.655 137.477]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed54312979a12cae5ebb0791496e1ccce7a) >>
 >> endobj
-5096 0 obj <<
+5040 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.6435 126.5727 217.621 137.4766]
+/Rect [195.643 126.573 217.621 137.477]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed505abaa6ff4aa204c25c94719e8a2b6f4) >>
 >> endobj
-5097 0 obj <<
+5041 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.6098 126.5727 251.9322 137.4766]
+/Rect [220.61 126.573 251.932 137.477]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5b7fe867b1243e111ef4364e3ef5b5329) >>
 >> endobj
-5098 0 obj <<
+5042 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.921 126.5727 336.6141 137.4766]
+/Rect [254.921 126.573 336.614 137.477]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5bed2d3fff60e7c0b8fc325bf46f9725f) >>
 >> endobj
-5099 0 obj <<
+5045 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5087 0 obj <<
-/D [5085 0 R /XYZ 90 757.9346 null]
+5049 0 obj <<
+/D [5047 0 R /XYZ 90 757.935 null]
 >> endobj
 194 0 obj <<
-/D [5085 0 R /XYZ 90 733.028 null]
+/D [5047 0 R /XYZ 90 733.028 null]
 >> endobj
-5088 0 obj <<
-/D [5085 0 R /XYZ 90 651.0397 null]
+5050 0 obj <<
+/D [5047 0 R /XYZ 90 651.04 null]
 >> endobj
-5089 0 obj <<
-/D [5085 0 R /XYZ 90 591.5309 null]
+5051 0 obj <<
+/D [5047 0 R /XYZ 90 591.531 null]
 >> endobj
-1530 0 obj <<
-/D [5085 0 R /XYZ 90 479.4156 null]
+1490 0 obj <<
+/D [5047 0 R /XYZ 90 479.416 null]
 >> endobj
 198 0 obj <<
-/D [5085 0 R /XYZ 90 472.8154 null]
+/D [5047 0 R /XYZ 90 472.815 null]
 >> endobj
-5090 0 obj <<
-/D [5085 0 R /XYZ 90 397.2774 null]
+5052 0 obj <<
+/D [5047 0 R /XYZ 90 397.277 null]
 >> endobj
-1531 0 obj <<
-/D [5085 0 R /XYZ 90 285.8679 null]
+1491 0 obj <<
+/D [5047 0 R /XYZ 90 285.868 null]
 >> endobj
 202 0 obj <<
-/D [5085 0 R /XYZ 90 279.2677 null]
+/D [5047 0 R /XYZ 90 279.268 null]
 >> endobj
-5093 0 obj <<
-/D [5085 0 R /XYZ 90 143.6436 null]
+5053 0 obj <<
+/D [5047 0 R /XYZ 90 143.644 null]
 >> endobj
-5084 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F23 2116 0 R /F52 341 0 R /F67 366 0 R /F74 478 0 R >>
+5046 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F21 2075 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5107 0 obj <<
-/Length 2747      
+5086 0 obj <<
+/Length 1320      
 /Filter /FlateDecode
 >>
 stream
-x��\[o�~���Sj���@�iw�mM�}�]�<q�mG#����̐�\D�3Q
�-��9�

^�d���<SB!ø��6xvo�pA����"������R�
2�����ʂ$HPBg�w?_���/���ݜ��e�Y޼�S|�[?}����_��bY<]]��m�bY���
-|�f�<
�_�g�bN�e�]e`�j.���_����g�4 at 0I,��.~���!?^`�Gx�1��6�2�b}�����N�A���8���2��`U �
o���n�O��6k��q�*���0��ǘ�� PQ4�@�D�i�l���R��E0|�ӘG���v��3�Nq�|�>�E ��Iv�b�<�G�I�G��C�Q�D'4X�tE�s�9�d�5�O��ٍƀ€�F�x
<*�R������=D���BDҙ�q!
	r 
�ឡ�T��Eh�b��L+xdž����Ϯ,��s�.��-�Z7���iQuVq\�XB.�Iފ#n�x9o�h�� ��(m��uމh�ÒZ

N�b�
CZl��
[v��(���� �WI�BF���T�$T�u	
-

�\"�)�4Z���`�ן����	$9��
��"i�N�JK�����Qg�Ge�.=C�(3D¹�!Z�_���B���t�x�yת������CoZ�^�:�5
Jx�X#��ꌈS#�#�P5��
��ѳ��<��r�lY�:�.1-b����h�D�`��w�C~��d۲���q�L�
a$RZ�3�
��a��I=
�L=��ɩ'���Z��r�����i��x*��Pq�0݁�4OM��$y:\��a�\e7�mO-� )a,ň.<*A�
-
-#
-�NG���)ֆ�j7��z��)�	mD��a����<�f�Y~��_��V+�c��l��U��_a]��
��}]0LB���TM��
ƬF�[� ��r��S~�1��P(~�a
贸#k�/%nnW�.1q;XZ܁��⎳���]�5�
�5�Dh��
+Y�4C�` 2�d�p-��I�JM��R^�	�t��%3�03t��1%;�i%���&[1����F�i{H��1�Я�VmҘ�S��GB��>�VK�50��L�J��:
���v��	�
��5���]� ?ܬ�m_j���D�
*�V�D�	�x�qC��L[h#"6
���H*�(�c6$
-S!6
(o�������v�l����
-i*�g�G�<�����!k��,�2�9'XK@����a�zXR����d~�d[~��m�
!����F���?9ą!��;T�3(�p����B����؈)����֓��\�D�	b��s��j�i=��T�`i�c�����
��U��;F�q=��j��|[m�QbL����-
�������0�����6b�u�oE�U��V,�PB+~F�2m���i֡�z
�E�w��:����t�V��V����c�
+�b���7�a��A��K�n�
���I:i	��Hա����o�a�1�e�!)9�t��^��1�:XZ����z�~�|C�ov��9�w�*϶�MY,��puU���^p�.�t�%�
5�C��	��'h��Z��.�

{n�`�Gc�Q)��2��N�ڻ~��	8�c���	}���?�Óe�/o׽
a� <
�J`ڮ$I����lg�H�&���F,�9��
�j�
���>[+���.�<
d#���$��P��C�j;u
b�����i� -T�F���sZ`0���~}N
�~���"7&�Ei��֧v��C~87ְL2%�J��0<��t����fMCؤ�U����=�R|;XU(�����))�
rF�_4��Qx�ޭ���A2�����.�
�S-@����¨b◺�aIE�'��%�9\��&�슧�C��l� ��LF��2
{bf�x[I$�:\�i�+�뛆o���}*�C?	@�,$��]xT���3.u�C_��F�nGN���Xp�ޔ���w�N����[���μ_ [...]
-n�
��8��ݱ
-���Y�q�^��؃��1�;�E������a���h��LZ��6b�v��Qur��rr�_`;u�����:E��V{f�\�0r�r�������^7o�I{C at 7��
��h
ָvk�wUIRl�
�w��/�?%P���!+~go�5���������~�����a�ZMZh�`P�|��'Pc{��q�T����/�Cg��7�������6*����׏��hu@�m�/P^���ׯ{�Z4������@=.��3-�2 ���G�)+w�҇77���
D���
�hUendstream
+x��YKo�6��W�J at M���G�
�i춋���
�
A���^KIN�__R��vd�N
�� A�9���������������65x6����Aͱ i�v�#�c
�P�6�
�����F�:��+��/�ϯhByP��b��(�suyC�)7���$�B��aOG�i|
�<
| ��P� q�c-�w_�6�?i���=V�b�¦��������lhe�u9�X�4�L�	��,��`i�W�4�F�.	C6�LWb
�F����
e����\
��!�u�,/��_ ��X��_�Ȑö�8�	)hM��k�0Ķ�!� 
kCdϲ�!�q�t�)K�
+�0��J)^�rM��z�o l�,$(��΀�.�2�.�lO�Sӡ	����Xn3�Y�w�I��*L?ѣñ���m��4SS��އ<g�$�Ia�����`��)��"��"��ϑ
+�YR�����������Z�<��j�@�E����~����m^��U�"
Gi��*�[Z
�.pl��=h�Q"�u�,`�6����1�f�
�A�'���i�0lƆ
���|B��؛ɝUFX���>
�=A��81A�����٘�i�=Ͱ܏Xr,��eB�D�Ѡ�Kڇ�)⢅�ա$Ӛ�$��P�ǚ� W at w �Vը}*P?�™�����<
�<X�s�Z.UVX�ut
��,eI���k�`<qhʍ�����P��]=
+�)�70������/x�����b��㮺�����	��VEz�Y0�zw����N��]�`�bZa�C�r͆�y��qGq��N
��9y�� ����(S&��Y�Lc�z�?��h���;/
+aʄ7���$�C��l�����
+��Ma�CKDf����i�򅟳�

m�A��sY�O͏�5El���2I�&��Z�ԭ[[ah
|�	+���bea�2
ˌ�i3����Y'�}�U;�CT��?��i��e��<�A�n[�����?�KN���.�X��o����_U;B�f��%�F5��O� l�
�x�H	��"���tӇ%q��Yl86�٩*�WCl��c�<d̟�q����/�ڬ�||�w,�v�
y1U�s�mw�)�n/>~\��3��
�b�klO
)�8�N�]D�A��r[����A��9�O�������=2��G����]OT��T�(6�
ӭOR��q
7;�u�Wx\l�͙������9���oX5?���l�6�s)���
C�u�q�L�
���oiS�(��֚�_���� �m�|(��|4z||aʄe
�b�e���o'	�z���E[���q����}v
+endstream
 endobj
-5106 0 obj <<
+5085 0 obj <<
 /Type /Page
-/Contents 5107 0 R
-/Resources 5105 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5083 0 R
-/Annots [ 5111 0 R 5112 0 R 5114 0 R 5116 0 R 5117 0 R 5118 0 R 5120 0 R 5121 0 R 5123 0 R 5124 0 R 5126 0 R 5128 0 R 5130 0 R 5132 0 R 5133 0 R 5134 0 R 5135 0 R 5137 0 R 5138 0 R 5140 0 R 5141 0 R 5142 0 R 5143 0 R 5145 0 R 5147 0 R 5148 0 R ]
+/Contents 5086 0 R
+/Resources 5084 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5012 0 R
+/Annots [ 5043 0 R 5044 0 R 5059 0 R 5060 0 R 5061 0 R 5062 0 R 5063 0 R 5064 0 R 5065 0 R 5066 0 R 5067 0 R 5068 0 R 5069 0 R 5070 0 R 5071 0 R 5072 0 R 5073 0 R 5074 0 R 5075 0 R 5076 0 R 5077 0 R 5078 0 R 5079 0 R 5080 0 R 5081 0 R 5083 0 R ]
 >> endobj
-5111 0 obj <<
+5043 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.2473 155.7331 708.1512]
+/Rect [113.91 697.247 155.733 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_3f29f8b40d09b17eaa4cbaac069f72a0) >>
 >> endobj
-5112 0 obj <<
+5044 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0703 697.2473 224.8931 708.1512]
+/Rect [183.07 697.247 224.893 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5114 0 obj <<
+5059 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 658.7666 163.4819 669.2969]
+/Rect [113.91 658.767 163.482 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_b339ccb929a7255295ad19a5b168d5d0) >>
 >> endobj
-5116 0 obj <<
+5060 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 619.5387 155.7331 630.4426]
+/Rect [113.91 619.539 155.733 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5117 0 obj <<
+5061 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.4727 619.5387 207.2793 630.4426]
+/Rect [166.473 619.539 207.279 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_4fb7d78e7b37d7f4b99babdc5cc84783) >>
 >> endobj
-5118 0 obj <<
+5062 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.6165 619.5387 276.4392 630.4426]
+/Rect [234.616 619.539 276.439 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5120 0 obj <<
+5063 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 580.6844 179.5535 591.5883]
+/Rect [113.91 580.684 179.554 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5121 0 obj <<
+5064 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 580.6844 250.6661 591.5883]
+/Rect [180.052 580.684 250.666 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_1c884f5152f75040139ec3d9ec8ac293) >>
 >> endobj
-5123 0 obj <<
+5065 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 541.8301 135.5791 552.734]
+/Rect [113.91 541.83 135.579 552.734]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
 >> endobj
-5124 0 obj <<
+5066 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.0772 541.8301 155.2252 552.734]
+/Rect [136.077 541.83 155.225 552.734]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_7c502c8d46ed2f68679404fdfdf8e0bf) >>
 >> endobj
-5126 0 obj <<
+5067 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 503.3494 162.6769 513.8797]
+/Rect [134.114 503.349 162.677 513.88]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_d8cee05f88ad5aea288c1f6b8bf7cdc7) >>
 >> endobj
-5128 0 obj <<
+5068 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 464.1215 160.4554 475.0254]
+/Rect [134.114 464.122 160.455 475.025]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_e5902ab7e2d3304037a56ecda7fc22a4) >>
 >> endobj
-5130 0 obj <<
+5069 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 425.2672 168.2162 436.1711]
+/Rect [134.114 425.267 168.216 436.171]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_f1827b1f7a42393a2526944530559c5a) >>
 >> endobj
-5132 0 obj <<
+5070 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 386.4129 201.9692 397.3168]
+/Rect [134.114 386.413 201.969 397.317]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_2aba27eb7310045e1a35c7e68af01ab2) >>
 >> endobj
-5133 0 obj <<
+5071 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 347.9322 297.7285 358.4625]
+/Rect [253.933 347.932 297.728 358.463]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_fceefab91d648d188e42e5a75a3a977e) >>
 >> endobj
-5134 0 obj <<
+5072 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.5441 347.9322 336.7317 358.4625]
+/Rect [301.544 347.932 336.732 358.463]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5135 0 obj <<
+5073 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 309.0779 283.3526 319.6082]
+/Rect [253.933 309.078 283.353 319.608]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_eff190ba56f86d3425859043689d499a) >>
 >> endobj
-5137 0 obj <<
+5074 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 269.85 191.7178 280.754]
+/Rect [113.91 269.85 191.718 280.754]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-5138 0 obj <<
+5075 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 269.85 288.8524 280.754]
+/Rect [192.216 269.85 288.852 280.754]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_de98f4e320d7d21e223afb83240b3800) >>
 >> endobj
-5140 0 obj <<
+5076 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 230.9957 191.7178 241.8997]
+/Rect [113.91 230.996 191.718 241.9]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-5141 0 obj <<
+5077 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 230.9957 303.0791 241.8997]
+/Rect [192.216 230.996 303.079 241.9]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_77fc44f44b1bdda486e19e30310634e2) >>
 >> endobj
-5142 0 obj <<
+5078 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 192.1414 201.4711 203.0454]
+/Rect [134.114 192.141 201.471 203.045]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_42867df59ec40173391b76074f9f0fb2) >>
 >> endobj
-5143 0 obj <<
+5079 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.8082 192.1414 270.631 203.0454]
+/Rect [228.808 192.141 270.631 203.045]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5145 0 obj <<
+5080 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 153.2871 181.845 164.1911]
+/Rect [133.915 153.287 181.845 164.191]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_13c726daa7d565ded0b177e24b6d1104) >>
 >> endobj
-5147 0 obj <<
+5081 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 114.4328 181.845 125.3368]
+/Rect [133.915 114.433 181.845 125.337]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a40eabb29ea4abe082c3a2e6dc820276) >>
 >> endobj
-5148 0 obj <<
+5083 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5108 0 obj <<
-/D [5106 0 R /XYZ 90 757.9346 null]
+5087 0 obj <<
+/D [5085 0 R /XYZ 90 757.935 null]
 >> endobj
-5109 0 obj <<
-/D [5106 0 R /XYZ 90 716.2211 null]
+5088 0 obj <<
+/D [5085 0 R /XYZ 90 716.221 null]
 >> endobj
-5110 0 obj <<
-/D [5106 0 R /XYZ 90 716.2211 null]
+5089 0 obj <<
+/D [5085 0 R /XYZ 90 716.221 null]
 >> endobj
-5113 0 obj <<
-/D [5106 0 R /XYZ 90 677.4863 null]
+5090 0 obj <<
+/D [5085 0 R /XYZ 90 677.486 null]
 >> endobj
-5115 0 obj <<
-/D [5106 0 R /XYZ 90 638.632 null]
+5091 0 obj <<
+/D [5085 0 R /XYZ 90 638.632 null]
 >> endobj
-5119 0 obj <<
-/D [5106 0 R /XYZ 90 599.7777 null]
+5092 0 obj <<
+/D [5085 0 R /XYZ 90 599.778 null]
 >> endobj
-5122 0 obj <<
-/D [5106 0 R /XYZ 90 560.9234 null]
+5093 0 obj <<
+/D [5085 0 R /XYZ 90 560.923 null]
 >> endobj
-5125 0 obj <<
-/D [5106 0 R /XYZ 90 522.0691 null]
+5094 0 obj <<
+/D [5085 0 R /XYZ 90 522.069 null]
 >> endobj
-5127 0 obj <<
-/D [5106 0 R /XYZ 90 483.2148 null]
+5095 0 obj <<
+/D [5085 0 R /XYZ 90 483.215 null]
 >> endobj
-5129 0 obj <<
-/D [5106 0 R /XYZ 90 444.3605 null]
+5096 0 obj <<
+/D [5085 0 R /XYZ 90 444.361 null]
 >> endobj
-5131 0 obj <<
-/D [5106 0 R /XYZ 90 405.5062 null]
+5097 0 obj <<
+/D [5085 0 R /XYZ 90 405.506 null]
 >> endobj
-5136 0 obj <<
-/D [5106 0 R /XYZ 90 288.9433 null]
+5098 0 obj <<
+/D [5085 0 R /XYZ 90 288.943 null]
 >> endobj
-5139 0 obj <<
-/D [5106 0 R /XYZ 90 250.089 null]
+5099 0 obj <<
+/D [5085 0 R /XYZ 90 250.089 null]
 >> endobj
-5144 0 obj <<
-/D [5106 0 R /XYZ 90 172.3804 null]
+5100 0 obj <<
+/D [5085 0 R /XYZ 90 172.38 null]
 >> endobj
-5146 0 obj <<
-/D [5106 0 R /XYZ 90 133.5261 null]
+5101 0 obj <<
+/D [5085 0 R /XYZ 90 133.526 null]
 >> endobj
-5105 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F101 2128 0 R /F67 366 0 R >>
+5084 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F99 2114 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5154 0 obj <<
-/Length 2947      
+5136 0 obj <<
+/Length 1510      
 /Filter /FlateDecode
 >>
 stream
-xڽ[�r�6}�W�iV���_\���T&�[�w���M�8=fE�%�q��O�$`P$���J�F���݇h $3
����3%2���rs�g����_���|�����z/�� #�����$A�:�]�:'u� ���%���dw7��w맇|Ufw?�ʬ|���>��evؕ�
*���:�����>//����e昡fN
����Nj�n=�v �Ib�������l��#f��=�c�ls�)s?�/>^���i���`(���HK���@Q���J� PKę�3�����tL�_Q�f���G�J�%
,e��zB�U�7
�"N|ۯ��-�C���S,zv-�}Yl=
-�!ŰJ
ߡR��D��Ӱc���$�r���4�BDҙ�k`��PPx�"�یZ�6j���4P���H
���gW�⍍MeY]�'�x0K�nG�Y�*�p$�R-��P��:~! Jb�@�3Q�X�����e^��F�b
�X���(ARѢv�����=L���7�
8��f��Bc�'M�����cn�EF
O]�Rs!��oa�w�x��HɇN?�v�~�
D�]��bo�	��V���Z��z��%G	$�V�;Pµ�g�1�n(�:w��P�٦)�7U- c�#!�![ϩ��F��=�r�d�����K.��Pu3D8ծ.�C!E]�f����?�������K������ʷ��P�Z�
W�r�7
V�e�j~���4d
�1'1�"�O�o�9�V���O���
H�yӊ:
u�!W�6��]xT�a�Z�n-�l�j�]��J� �'�K��I
-�1�h8��Z.wuhV���K!@*�����Xn�w� �O��>:\�MIU��2�������84<�3|���A�R���y�X ����s���E�$3�>��
LO�y�L�| �	}�7��
�S�>Πg�2��O=�P*�@>���P)�� ��i��/�$G����=��w��=�K����ms\�d�u���f{���KV�]6�F��bɆG��j�0`A��k�~���2g2Q
����`�.~]]t�&{���	=O�E�n��~���}���j�@
Jy��X)q2~[=�лc���;|�AϮe���Р�Z����=*�b�89ɺ7O����	c�9�ڈ��YV��p��
-���]�cqx0D����i��C̒O�[B�>��	c`cp�I0�8o�gW��Fo�����/��S�n+�?n�vy[
l
��!�ɸ�=���V���@ܢN��N�&
=a���h鸍�Z
O8��l�4�P������K�?(
ŵN�s��ߺ��=j "
�J85�H7@p�!�"SJ&N���9��
%
<+��c_���6y���*�&�F���
� 6��o��rc�f�5ڡ���z�e��N��Ӯ]���f�U+Ȑr��4ʘ�X:!c�V���b�+
-#uB�Z�J˙G��,�E��7�h]�$-��gw����ժ���p
�e�ԗ5X�(����r
-�g$9����Q�1
z��x|�F��$i� �X(�G%HX
��>�&aŪ�>K�1us�qu+�.
-$�W
-
F�(q��	
������V�X5��1�k`N�<2!p,&p���� 
������)=�q��Q��
 D�06A�4R��$E��P���)D��'yt~<*�a�O�bT�DBQ2u�<>E�gw�����$
�J�`T#�%�&������ϼܹ=���
%���.������tY������ ے
�?M��iw���P]_�q�+�s�_
ӷ}k�m�<Fe�`Dcg�n`#&�6.�M
-7;x��
w�(U2"�Н�c�p5��wk�Ջ%�{���+J4���%ڡ�
���sܩ����:�Lpƻn#���N�&�Y�ʍ��С��4-�0���E������]u,�a�u����xP�;��ފ0ݤSg��$��iS��q=�ӤY�tf"J0��#aFuL��F~��0�m��osW����%�L��y�-��� {ظ 7�������
�j_.��|��Щ��tĸB3a�R�hKkt`0&�q�^�C��]���	�	=��\�|k+�����KU
-y	q�Ea�V�
	{1���:<7�w�>[�w�q�a�$���0��
��&�d��)�X�Sh��y'1���T8ظT@Њͱ�2TG�u�.��j�"�4˜��f|f[x�yϪ_)ԝ��j�AoCi�ȩ68T�?#���Du	,�6
-�v��_�`P�B��h�~Q#��M藇%�+4ѯ�_�_
�Up|5z<- at u�/;�1�f�bԳ[����"[�C�����x8T�;��2����CB
�&H
-qVcڈ���Y^?����YU��;UI#�k��=��<u3����
��{ܯO���ץ{�ǔt�3��m��v8ݡ�R��D<
*��`�	�l�v������D,�[�%����,�/IvF�攼f��4�U*�
,���X����d���>|MB/�
?!�{S�StzvwoR��x,<*�ܮ=A�X����S� DO
�ǧ���Z��#��ޑ�
-�� 8T��Ɛ��n�J
3�3y�ř�F��
l|ջ+��Ŷ{N俄`֗�~
����q{���[��Տ
�I�y�Ruؠr���%�P#�x�E���^xԨC�Q��bdOd1K�ezXR�B�1J�ub��;]��$&�Q�N��41���Y��νu����ı?�Q�}�nG��;��ĄJ£L����$)Q"R@)г^}
mDD��Qz�����sl���++��8�����	 3v�V���T@
�!Wg�3۾���6y�M1�.k�~����upSoW��vJoܛ�͏��������o�ŕ6
~ɶG7[6�XSy��T�n_t�����ݒ#�s��|���}�)|������������1?
�뫫��G���q[�KT
����U��5� �+C^�s�@=.���Sh�y�˽{�z�+�k��M��W/aCT��]��endstream
+x��Y[o�6~���Sf1MR�d��4EoX�dOma0��m�\���;$%�NdGn�����;7
+[w�^���/=�
+P�QϺ�[�|� F�uY�� ��#�1
^��L��ʦx�'�{I>{�J.W��K�	ɫ\�#���"�ei���\H�L�"
�s
I�ڟn^^�
�[D
�|�;�
+���O؊���FN0���*�\��gb]��Z���J�!יX>u����#�L��>�h�E�G�3%����{���B�����v��#f���;̳r���
_�Ԛ����D�y.�F�E��	����=�
�MbX�Z�
C���\��ICS��5��S
�{-M��%@��\�*�NC!e+��ײZ�qv�������ʋ-F�ɦ��('h�=�8,� Hj�i䵱��0��>,
��x���d?x��,�y�
�pqYI�S��R��;���R���\�.�i
D\�u^�
!�hK�3����W�Ԓ���CQ��Rd��&Sz�Z��-B�_nW{l��͢EZ����>� ����
G��|�g�����@��?B��
�"�F
j��a��� ���f
�8r�Jy�Bfe�i����\�]�نJ<7�)a(�r�HλԘ@zk�����
 ,���\�@HءA�1�}v� ��͉��ŽUj�\��Ƥ<I�,Q?�l� �1W��Ph�^�0���TD���������r�kr��v;w׵�c���G�����e�!‚c��66�qu�����k[uU,�L����ш�kb�Tfe��*)�W�ۤY�魨;��E��Yn
�K1M��SMJi݋�n�$O�L��f�����s9{񵐐�T��•�\5u;Z��z��
�&X�ɻ��)4�-6�wacW�#�H�?�%_��(U���#F��?�)p!A��t���!�T�E�1`x��q����+љx��n:�&d��s{��E.�6e*i�0�Fp6R���.$YH������qUœ�d� [...]

�a���
�Q���
	w�f(-j�ؠ:���%����{��#������Uξz|~blP�G�gOa�
߱xj���}�ҼR�@H��{"��[[��1ɕ�d2��|ռ$���R�)2_�.��M]��~ydzEc?��/����B��?h
��PQ߳^�&��>[���@wCk�)v���y_U�t<^.�(,�"�
��j\���=͚
���D0o�v��l���T_�o;��/KϠU
+endstream
 endobj
-5153 0 obj <<
+5135 0 obj <<
 /Type /Page
-/Contents 5154 0 R
-/Resources 5152 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5083 0 R
-/Annots [ 5157 0 R 5159 0 R 5160 0 R 5162 0 R 5164 0 R 5165 0 R 5167 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 5180 0 R 5181 0 R 5182 0 R 5184 0 R 5186 0 R 5188 0 R 5189 0 R 5194 0 R 5195 0 R 5196 0 R ]
+/Contents 5136 0 R
+/Resources 5134 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5012 0 R
+/Annots [ 5082 0 R 5105 0 R 5106 0 R 5107 0 R 5108 0 R 5109 0 R 5110 0 R 5111 0 R 5112 0 R 5113 0 R 5114 0 R 5115 0 R 5116 0 R 5117 0 R 5118 0 R 5119 0 R 5120 0 R 5121 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 5133 0 R ]
 >> endobj
-5157 0 obj <<
+5082 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 719.9123 154.727 730.8162]
+/Rect [133.915 719.912 154.727 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_de2531310fd7806c9e4f745cab145926) >>
 >> endobj
-5159 0 obj <<
+5105 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 681.4316 176.5049 691.9619]
+/Rect [134.114 681.432 176.505 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_bc8ae851f2a0a6260d954b3bd8505249) >>
 >> endobj
-5160 0 obj <<
+5106 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 666.4372 450.9552 676.3425]
+/Rect [328.408 666.437 450.955 676.342]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a40eabb29ea4abe082c3a2e6dc820276) >>
 >> endobj
-5162 0 obj <<
+5107 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 631.6184 150.493 642.1487]
+/Rect [134.114 631.618 150.493 642.149]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_f1bf8c762c6f36b30f2abcaffe591acb) >>
 >> endobj
-5164 0 obj <<
+5108 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 592.3905 156.2812 603.2944]
+/Rect [133.915 592.39 156.281 603.294]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_775a8cec41b0fcc88689a171f5be8546) >>
 >> endobj
-5165 0 obj <<
+5109 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 592.3905 201.9196 603.2944]
+/Rect [160.097 592.39 201.92 603.294]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5167 0 obj <<
+5110 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 511.6279 179.2544 522.5319]
+/Rect [137.432 511.628 179.254 522.532]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5168 0 obj <<
+5111 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7525 511.6279 196.6887 522.5319]
+/Rect [179.752 511.628 196.689 522.532]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_584f3fd5a19536644a66818169b16ac6) >>
 >> endobj
-5169 0 obj <<
+5112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.0259 511.6279 301.2755 522.5319]
+/Rect [224.026 511.628 301.275 522.532]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5170 0 obj <<
+5113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 472.7737 179.2544 483.6776]
+/Rect [137.432 472.774 179.254 483.678]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5171 0 obj <<
+5114 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7525 472.7737 194.4672 483.6776]
+/Rect [179.752 472.774 194.467 483.678]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_b36bf020da4fb4583e6e1a6b94197cb4) >>
 >> endobj
-5172 0 obj <<
+5115 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.8044 472.7737 299.054 483.6776]
+/Rect [221.804 472.774 299.054 483.678]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5173 0 obj <<
+5116 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.4343 433.9194 183.257 444.8233]
+/Rect [141.434 433.919 183.257 444.823]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5174 0 obj <<
+5117 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.7579 433.9194 210.2334 444.8233]
+/Rect [187.758 433.919 210.233 444.823]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_6b8dae6436867a53e27720ee211f1cc7) >>
 >> endobj
-5175 0 obj <<
+5118 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.5759 433.9194 322.8255 444.8233]
+/Rect [245.576 433.919 322.825 444.823]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5176 0 obj <<
+5119 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.6471 383.1099 188.4699 394.0138]
+/Rect [146.647 383.11 188.47 394.014]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5177 0 obj <<
+5120 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.1835 383.1099 254.412 394.0138]
+/Rect [198.183 383.11 254.412 394.014]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) >>
 >> endobj
-5178 0 obj <<
+5121 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.1802 383.1099 377.4298 394.0138]
+/Rect [300.18 383.11 377.43 394.014]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5180 0 obj <<
+5122 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 332.3004 203.0748 343.2044]
+/Rect [137.432 332.3 203.075 343.204]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5181 0 obj <<
+5123 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 332.3004 296.3242 343.2044]
+/Rect [203.573 332.3 296.324 343.204]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_d593d3aa49a632911d8d49c83b3f4985) >>
 >> endobj
-5182 0 obj <<
+5124 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 317.6797 316.2164 327.5849]
+/Rect [277.005 317.68 316.216 327.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5184 0 obj <<
+5125 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 293.8197 194.2975 304.3501]
+/Rect [157.437 293.82 194.297 304.35]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_3bc88b2886b0b86865186d142e5ee414) >>
 >> endobj
-5186 0 obj <<
+5126 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 254.9654 188.7586 265.4958]
+/Rect [157.437 254.965 188.759 265.496]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_ebb212a14f52ed934059925c1f5f2010) >>
 >> endobj
-5188 0 obj <<
+5127 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 215.7375 202.7759 226.6415]
+/Rect [160.953 215.738 202.776 226.641]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5189 0 obj <<
+5128 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.5155 215.7375 278.6008 226.6415]
+/Rect [213.515 215.738 278.601 226.641]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_600c942b0a2e94b550ccd84ef9c30928) >>
 >> endobj
-5194 0 obj <<
+5129 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 176.8832 202.7759 187.7872]
+/Rect [160.953 176.883 202.776 187.787]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5195 0 obj <<
+5130 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.5155 176.8832 312.3539 187.7872]
+/Rect [213.515 176.883 312.354 187.787]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_6804f93015ae6e1dc0c2e42e726380c4) >>
 >> endobj
-5196 0 obj <<
+5133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5155 0 obj <<
-/D [5153 0 R /XYZ 90 757.9346 null]
+5137 0 obj <<
+/D [5135 0 R /XYZ 90 757.935 null]
 >> endobj
-5156 0 obj <<
-/D [5153 0 R /XYZ 90 733.028 null]
+5138 0 obj <<
+/D [5135 0 R /XYZ 90 733.028 null]
 >> endobj
-5158 0 obj <<
-/D [5153 0 R /XYZ 90 700.1513 null]
+5139 0 obj <<
+/D [5135 0 R /XYZ 90 700.151 null]
 >> endobj
-5161 0 obj <<
-/D [5153 0 R /XYZ 90 650.3381 null]
+5140 0 obj <<
+/D [5135 0 R /XYZ 90 650.338 null]
 >> endobj
-5163 0 obj <<
-/D [5153 0 R /XYZ 90 611.4838 null]
+5141 0 obj <<
+/D [5135 0 R /XYZ 90 611.484 null]
 >> endobj
-5166 0 obj <<
-/D [5153 0 R /XYZ 90 530.6018 null]
+5142 0 obj <<
+/D [5135 0 R /XYZ 90 530.602 null]
 >> endobj
-5179 0 obj <<
-/D [5153 0 R /XYZ 90 351.3937 null]
+5143 0 obj <<
+/D [5135 0 R /XYZ 90 351.394 null]
 >> endobj
-5183 0 obj <<
-/D [5153 0 R /XYZ 90 312.5394 null]
+5144 0 obj <<
+/D [5135 0 R /XYZ 90 312.539 null]
 >> endobj
-5185 0 obj <<
-/D [5153 0 R /XYZ 90 273.6852 null]
+5145 0 obj <<
+/D [5135 0 R /XYZ 90 273.685 null]
 >> endobj
-5187 0 obj <<
-/D [5153 0 R /XYZ 90 234.8309 null]
+5146 0 obj <<
+/D [5135 0 R /XYZ 90 234.831 null]
 >> endobj
-5193 0 obj <<
-/D [5153 0 R /XYZ 90 195.9766 null]
+5148 0 obj <<
+/D [5135 0 R /XYZ 90 195.977 null]
 >> endobj
-5152 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F100 2135 0 R /F104 5192 0 R /F36 2391 0 R >>
+5134 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F98 2117 0 R /F102 5147 0 R /F34 2344 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5203 0 obj <<
-/Length 3286      
+5197 0 obj <<
+/Length 1507      
 /Filter /FlateDecode
 >>
 stream
-x��\�r#�}�W(/����~Q�y�c��q
�V�l�W��eY"e�ZY��4��$EN6vm�/�g���A�vL�;v��(C�������
����8b�ۧ��i
�����ϵ:v�i���ߴ4#�3~|~���1���)��.�9at��^/_}s��bsu����._}�z�]n��ξh��v��lON���O���]����M�=avѬ/'
w
��ɏ�_
}v
���f���G��H�/�B�<�D8����	%�9~|}$��\
}w��{�
0W�DM!� T+����j�o.����v}�_m�;����G��\!
k��@�z�o���w�����/.������~��U|3�"��LAg��'
�
M�2��V�qZڜ�i.Fa�z����I��i�����l��o��uw�/2FCy!VJÿ�}�c��	
��,�'���t�I3
 s��-�㏧D���
-��zT�
�.����O����>�
\���Oy	�aQ��|�a
�3
EaJCsB)�xy��\K"�`i�o�
��0
<����%f���OrX�ԫ�i
�ee�VZ�s�;B��c*������~���u�Ԣ�clA���pf��ي�,��)&+ �6��
LV(ŀ,(EÔ"���݃V�Yn 9��$�ay�%Y�V���M�&c��V
-ЃJ�a�2FM�߯�,+lݴ]��>�K
����7�m� ��˞��,^��*0�/{=��/~�(K+8�Թ��|�@���K/̚�*0�V����
UD��B=I��"0�껛�b��Z���-�6�	s��o��v�����$��D2P�yXJ�%�a�g�R�P���R`E)�"RZ�;Hi���fs�˨"�Q;ɋ�h�/1���.�Or�爒B�@��[�JB�I�AJg��yb��E��<.�8LkCa��5�Rrg:'y��K�a��
'��.Ā/q���ы�r/D@�
X�FQ6)*��R"��O�8"��
?�����8
-8 
0���͌.�I�h�z��M�\������{o��!�k֏�e&�!��AvW�����v�~yլ�#�f&6xX�����؊_���+
-��xNIW�(�pL�XYң����y���yqIO��H:� �K�f$
2�C�_��*e�o�4)�aE��%�YԂ��L����P�� ��q�&/�9�7��
��%���9H�S���Br/�R��4,ȹd��{��G109`����d��
-�R���:D�gu�
��4���V��( &�3y
q
I"�q�}s}���]9��p�g�0q>���������i����|~ba��D�pִ�S��L����4�O��1(�Ž��+�$����ܙ����g�3�6���j�,��.W��r}ѼZ�v���\�%Q�'���G�xAV\���\��;q+��T$�K
������|���|��m�C�ǒp��C@�,��x-�����>\����}II���o֗��o��.|s�~�!�8L�
:<[�TC����r�fwʰ
�����œ
�� ĵ�S2Gs*���{T)��K֨49n��p᪺��%��{'a	�
^��*$�v)+��'Z->�W+�~WV �K$���C�ܮ/W뷯���i���U�U�/`�qT�4��j�'i�u��
�F��@�S��"�����7��%j�`{"�b��E/��w�[��-��	�վ4l
-ݳ����i�3N���P��Z��mX
>
���f���32D�!� #N��97���(����3�(��|���Fy}�=녱�31
-
��K�i��&q��z�$%|nV�j�@\S�=�5���&�NpM	
�5UdtMY��&��k�X̻����#�;]�k`��)�q�5��ȫ5i��4	v�4���:^]�_���-�&ؠ�wX
���
G,L�I!�&
�_TW �K$��e�$����P����
�ai~0M���S"�C�^��_���
:�;8��6
hP���Hdâ�
`��0_x8ӂp�g�K	�N�D��Xц�6�wƆ%y?���c�@X
-C(�pX-�4
0�Ҹ�As{q��l�벿�DS��)��_���u���RBf�_y 
�+��%Y�ZW��C@�,&�j��J�2e�C��!B�s5M5�+H��+�-�ZU۫���Ug���yhHř+�Q�%�(��4j]3
-+�؋B3�VTR�B'����F�`��
�]�؅B��&T��ЃJ��S�O�>
-q>A�fj��MT��aj�%B?����j*��L� +��( fjf��8�o���9X~R)U�|���`�t>	���%3:��
�|��9�A����C�|�,8����|� ���D���`�g�U����a��'�;KI���Rm
Bg�@%�[�YB�0v��䡳���Y����Y*���Vw��"��%<�,%��Β�)�RZ>�]�1{`�����_�;���;�5���2
�����!�j&錷��~��"�8�p�w�h�w�=�4
0皦q=��W�����j_6N���`4Rf�q�Q>\*b�I���&	+е	�"�i�Z����s��!�r�4���&��/���MVᦉk�'�M���F(Sm���i
-�:Ӕ�8h�
-ɇ�Q���iT[��5*p������B��#<y�
��(��*+0��
-$����#�c���GI�B��I�q�<��D10�3��=N'�Ɩ��]
'��:��`5�1���5:��A��u�xF�
6�Vk������o�'�H����S�
-b-�%�4���)
-����s*��[�N�~�9@ŽW����
-�G����A���|VB�Y�}V��4�}Z��ge,�}V���Y�oҜa��g��`u>+�q�g��ͩ$wes���9U��ŭkN�u�Sx�МJ
QhNUV`lNHdq��Sh���?4����zs�i�e���_
1n��q{�q�JC���hܘ�j���`E�D�[!o��8�Cnq�Ҩ��Y�P�?u�3�^�-�pz�g���[�Up���0���@gg������]F�
-�
��1Z��x�G5�kO�I7;�c`�9�
�3�Ùx���ȗ���A�� ��I����f�a.������CR9�/��
�_f��C�O�[DuO��DuO��k�<Qj�
?��]^�?�}�C5��j�3T���6u���ɦ"7
>&f��@ݻ?
��-�a�i4��c���6����~s�����
�ؑ���fKV��77W/�%*!��b^�
-�A����j�n�	�7�7�
7Wkx�z�ﯙME��*�SE�bendstream
+x���o�6���Wh/��
�E�h���-�u]�zO]a(6��%W��x�N%ى";s��� ��;�ǏG�Ժ������w���"�c�5<���D0���
@@:}���
�v�̂�G�Q;��.�$	F�ó$HV��[
�$����3A�W� M��S}�|[Gc��qJ8_��z���o=@���BɅ5��>�����(�ʷ�E���2��S�S�
�
�z��̩����*�YD�,��4��䍠k
��g.�*��C�g��]Yu�S�0H�E��3=;���,�CA1�Jk
<�r
+"�k2&6[}�
�@�M�8�
�ʑ��f��
c�ӢC�:��sX�#PN�2�P�|�bC�
��$�WU��
-���ˋ1N4�֫���,��e�F-�,���\���^�K�k���"�/���; �B ؤu�;f�g�x.�_N@�o���'�O�E��杛���y�	�}]��f����J�1�jWWU�\�ԧ�
��4�W�$�Dmz��P_V1W�[�,-wcl� �輟�0
\�����gq<�-�^����{'��Ce�^�;��"����)��qF�,t���ظ�T��s�Ȱ9����
+_�D�$>���n_��h
�"��-«`��
+�q�ظ�P�V]W-c
�����\�>p��t��Ë���)�$-ʝG	9F}\�;�N��Kl����^M�L��y�Tj�j6��ŷ��E]G5-<"�g�����������o�E
��i)��R�A�n��W6�N�2;�X�M�H�h�Y���
���"��y����ե
�s=}X�ަM7�-F�L�6�Z�D�:RK�`�.�__g:�Ԃ�e:
�����c
��e�BT��Y�#�3��\(�0czSU?D
O�[
+��xM��b�[�:�$LvE"$�Dѫx���N�꿼H
.�&�����F� �=F\!�hRF`yw����Q
0���	����( 0"��!Y�{������yyg�pG�~���;1�%
��d؃Cm�#����
��va�B�C7�p���k��Z���ٜo��
�ه
���X�+�݈����i8�A��W��y%��n'�����+)��+Ix7�6$5�BI�y�=Mt���~� �И�6p�w��U��q��_�;�C�^��#]��.M5۫!q����ڛWj��C�s���KYʢ0[m��X�%��FX�ނ����a�-0Z�T�(��
F>�����
�m����@8���ބ��	���ʔ`ӑ���'|K���i�+�pc��H�3\���w^O@������:Tn��E��l���uԞ0�v����`ȶ�P����!��x�`P�ۺ�g����#k
��k�I54��a��^�T˿j
�ٰ�u�'s�mu<��5gtʛ�S���a����E0m��^�C�$
c���������8}����+S���jUW����o��w���q�e����r�$�,�p��0;�ϧ'�c��%�������,�Nԅ>����M���Y��^
+endstream
 endobj
-5202 0 obj <<
+5196 0 obj <<
 /Type /Page
-/Contents 5203 0 R
-/Resources 5201 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5083 0 R
-/Annots [ 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 5230 0 R 5231 0 R 5232 0 R 5233 0 R 5234 0 R 5235 0 R 5236 0 R 5237 0 R 5238 0 R 5239 0 R 5240 0 R 5241 0 R 5242 0 R 5243 0 R 5244 0 R 5245 0 R 5246 0 R 5247 0 R 5248 0 R 5249 0 R ]
+/Contents 5197 0 R
+/Resources 5195 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5012 0 R
+/Annots [ 5131 0 R 5132 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 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 5187 0 R 5188 0 R 5189 0 R 5190 0 R 5191 0 R 5192 0 R 5193 0 R 5194 0 R ]
 >> endobj
-5206 0 obj <<
+5131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 669.9687 226.0342 680.8726]
+/Rect [175.349 669.969 226.034 680.873]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_303b4ed4262469c1834228e0f88dba74) >>
 >> endobj
-5207 0 obj <<
+5132 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 669.9687 362.9987 680.8726]
+/Rect [321.176 669.969 362.999 680.873]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5208 0 obj <<
+5153 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 631.1144 156.2812 642.0183]
+/Rect [133.915 631.114 156.281 642.018]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_10cab5245f80aacd8000d0312730ec03) >>
 >> endobj
-5209 0 obj <<
+5154 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 631.1144 313.002 642.0183]
+/Rect [160.097 631.114 313.002 642.018]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5210 0 obj <<
+5155 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.2136 631.1144 484.1188 642.0183]
+/Rect [331.214 631.114 484.119 642.018]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5211 0 obj <<
+5156 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 592.2601 180.5399 603.164]
+/Rect [134.114 592.26 180.54 603.164]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_d7552a414d66f92897d12767579fa3ca) >>
 >> endobj
-5212 0 obj <<
+5157 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 592.2601 249.6998 603.164]
+/Rect [207.877 592.26 249.7 603.164]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5213 0 obj <<
+5158 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.4329 592.2601 333.2557 603.164]
+/Rect [291.433 592.26 333.256 603.164]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5214 0 obj <<
+5159 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 553.4058 178.2386 564.3097]
+/Rect [134.114 553.406 178.239 564.31]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_0c26ae11a4146369ff86288347cc54db) >>
 >> endobj
-5215 0 obj <<
+5160 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 553.4058 247.3985 564.3097]
+/Rect [205.576 553.406 247.398 564.31]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5216 0 obj <<
+5161 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.1316 553.4058 330.9544 564.3097]
+/Rect [289.132 553.406 330.954 564.31]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5217 0 obj <<
+5162 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6253 502.5963 245.5216 513.5002]
+/Rect [135.625 502.596 245.522 513.5]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_e6206985cd5536c4dac181de5fb21247) >>
 >> endobj
-5218 0 obj <<
+5163 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8481 502.5963 325.2287 513.5002]
+/Rect [250.848 502.596 325.229 513.5]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-5219 0 obj <<
+5164 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 490.6411 155.7331 501.5451]
+/Rect [113.91 490.641 155.733 501.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5220 0 obj <<
+5165 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.4662 490.6411 239.289 501.5451]
+/Rect [197.466 490.641 239.289 501.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5221 0 obj <<
+5166 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8531 490.6411 316.4094 501.5451]
+/Rect [256.853 490.641 316.409 501.545]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-5222 0 obj <<
+5167 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6253 439.8317 245.5216 450.7356]
+/Rect [135.625 439.832 245.522 450.736]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_5363ddeed325652ee6c064a8936cfe57) >>
 >> endobj
-5223 0 obj <<
+5168 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8481 439.8317 325.2287 450.7356]
+/Rect [250.848 439.832 325.229 450.736]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-5224 0 obj <<
+5169 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 427.8765 155.7331 438.7804]
+/Rect [113.91 427.877 155.733 438.78]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5225 0 obj <<
+5170 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.7929 427.8765 238.6157 438.7804]
+/Rect [196.793 427.877 238.616 438.78]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5226 0 obj <<
+5171 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.7469 427.8765 315.3032 438.7804]
+/Rect [255.747 427.877 315.303 438.78]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-5227 0 obj <<
+5172 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.9202 377.067 243.6051 387.971]
+/Rect [135.92 377.067 243.605 387.971]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_a98511973ca14e8904e4e2c1f774bd3a) >>
 >> endobj
-5228 0 obj <<
+5173 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2264 377.067 323.607 387.971]
+/Rect [249.226 377.067 323.607 387.971]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-5229 0 obj <<
+5174 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 365.1119 155.7331 376.0158]
+/Rect [113.91 365.112 155.733 376.016]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5230 0 obj <<
+5175 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.4662 365.1119 239.289 376.0158]
+/Rect [197.466 365.112 239.289 376.016]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5231 0 obj <<
+5176 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8531 365.1119 316.4094 376.0158]
+/Rect [256.853 365.112 316.409 376.016]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-5232 0 obj <<
+5177 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.9202 314.3024 243.6051 325.2063]
+/Rect [135.92 314.302 243.605 325.206]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_f4abff14e1b88cbb929f0733432477ff) >>
 >> endobj
-5233 0 obj <<
+5178 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2264 314.3024 323.607 325.2063]
+/Rect [249.226 314.302 323.607 325.206]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-5234 0 obj <<
+5179 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 302.3472 155.7331 313.2512]
+/Rect [113.91 302.347 155.733 313.251]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5235 0 obj <<
+5180 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.7929 302.3472 238.6157 313.2512]
+/Rect [196.793 302.347 238.616 313.251]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5236 0 obj <<
+5181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.7469 302.3472 315.3032 313.2512]
+/Rect [255.747 302.347 315.303 313.251]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-5237 0 obj <<
+5182 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.1381 251.5378 242.189 262.4417]
+/Rect [136.138 251.538 242.189 262.442]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_0fb144e5f3fb6815e4c28c89883607be) >>
 >> endobj
-5238 0 obj <<
+5183 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.0282 251.5378 322.4088 262.4417]
+/Rect [248.028 251.538 322.409 262.442]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-5239 0 obj <<
+5184 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 239.5826 155.7331 250.4865]
+/Rect [113.91 239.583 155.733 250.487]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5240 0 obj <<
+5185 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.4662 239.5826 239.289 250.4865]
+/Rect [197.466 239.583 239.289 250.487]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5241 0 obj <<
+5186 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8531 239.5826 316.4094 250.4865]
+/Rect [256.853 239.583 316.409 250.487]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-5242 0 obj <<
+5187 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.1381 188.7731 242.189 199.6771]
+/Rect [136.138 188.773 242.189 199.677]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_e67eb83f2626818420b3201db09e3d58) >>
 >> endobj
-5243 0 obj <<
+5188 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.0282 188.7731 322.4088 199.6771]
+/Rect [248.028 188.773 322.409 199.677]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-5244 0 obj <<
+5189 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 176.818 155.7331 187.7219]
+/Rect [113.91 176.818 155.733 187.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5245 0 obj <<
+5190 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.7929 176.818 238.6157 187.7219]
+/Rect [196.793 176.818 238.616 187.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5246 0 obj <<
+5191 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.7469 176.818 315.3032 187.7219]
+/Rect [255.747 176.818 315.303 187.722]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-5247 0 obj <<
+5192 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 137.9637 226.0342 148.8676]
+/Rect [175.349 137.964 226.034 148.868]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_75190def344d4c1ba6c59a6f0fcf7420) >>
 >> endobj
-5248 0 obj <<
+5193 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 137.9637 388.2139 148.8676]
+/Rect [321.176 137.964 388.214 148.868]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
 >> endobj
-5249 0 obj <<
+5194 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5204 0 obj <<
-/D [5202 0 R /XYZ 90 757.9346 null]
+5198 0 obj <<
+/D [5196 0 R /XYZ 90 757.935 null]
 >> endobj
-5205 0 obj <<
-/D [5202 0 R /XYZ 90 716.2211 null]
+5199 0 obj <<
+/D [5196 0 R /XYZ 90 716.221 null]
 >> endobj
-5201 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F37 2043 0 R /F100 2135 0 R /F40 350 0 R >>
+5195 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F35 2013 0 R /F98 2117 0 R /F38 342 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5263 0 obj <<
-/Length 3167      
+5216 0 obj <<
+/Length 2688      
 /Filter /FlateDecode
 >>
 stream
-x��ZYs��~ׯ��Ĝ�3��T��+��R�J�`�l��D�$!�j��>�s����SJU� h��t���
ٌ��Y:�UN��z��^��=<�����
x�H	>��z�V3K��zvs�8hFg|v��1c��|�`���z�hV4���9�Y�yZ������)���/�.weStu3_pE�כ�m��MyW6sf�r�,����f̪��7�^}y�K��f(��W?�Lg+XȷW�k��n(a����Jro6W?\����_���x�"� T+qPaA_�]Qmʕ_�e�l����w��_)�p�sI���1���fS��O��)��Ze�v�FE.7u�o��=�y�3Ȥ����.|v��rY��k�.#/4ʑ�Yn�a�δa�Zf���Ush�$����N�����E9nr$g�h���G��.L�9�Lh3��
-
Y��3��7�z�U�X��_�x(�QT��K	F�B5�����'�O��(|��'g�.��$�T����
����
D��v(M��g�+7�OTQO�X:?�4��"6	��ʈ�ңn��$R[9sT��_*��^�%���.�
�1���s"��zV�t�6��r��?]�u
Hة�Ne%�S>��
�.�f!�܌DM�A��Wc~�� ��~�L�i$��S3&~:=o���!V��)'�k�ߜ����� 7Uܔ
����M�wS9�,��<�ʂu=�)����d�trƃ�^�7��`�"M�#�j�1y��Ø��J�����SDȭ�P#��[5���p&��قkuT��2%�
M)�P;=��2�S���_���"e�8\C9Z+J����V#pʉ�A1l
��4�#f�
-uäM�e��%��� l|Hfr}�T�
-��U
-�A�C��}�ΡڳV�Sz���9/��Q����8��T�
��p�S9p"
$S� �]S3&�`z�>
���
-��� mS4byj�
b�5ύ
�9�A^
�B3�̡�
��!0\�
�|�P T�Oͅ���qAH\�qA}L\:0ڇh�B\�,/�\@�6fT���0R%`�	>��
-�@�x?~\�M9�\�a�45�`"CdNcȎm`����m�k���
-ۇb��n�il��m��
��O�$W���D�V
��;�@�X�ё%B����+Ħ�mՂ�Je���"����m#D��a$Z�T��'�J�!x��y��|��.��A�]�l�]����9=��QNr�ߴh=թlG"'9�UO�s�RY}ۖ��9S���QY����2��
9��\�#������<�b�)��-w]��D����5H'i�����q��XvD�K6�.H|�
%vP��
=TV���h˰��.Pz}ê�U��aW�k��_���%�T��"�8�i�O�p��
��x�!�D�]� �A�e:bn�V�{�7��d�~7k��v��ڧ�+�#�a-!�����S�["�I��|�OUBD��B�{3_�����p�g�G�=����*��M}
��)5�
Ko�]�!b�}
�n�ٯ�x^�j� D>���wU�ڲY
�#��F�)
�\D��.�9 ��2	͒!PN��
�ħ��I
�Э�γ.b&�$Q�Eu�Du7�� Px���6]�tp�t\P)��
�����K�K2_�g7�*0m�n�†����UƲm�
-�������!H=�#
��o
����1kCr�_���
���x,��O�0��pm���K0�|�:�
-0W�S��a���G����r��F��d�:��$2��	�1J��w�Q��Ǹ���/�	��hQ�?9�k)�?�^ȵ	��\+�b����Fq
Cv���m��&�Z��~3����;%i�z�E=�z#J�e��� -S�==�~�)
���-z��_K��>�k��yr>鸭�e�@�|�w����~糹�;�X��H)�췷{��D
�d�#O�@9��M�~�褄X��P^d���p-	W<n����tЋ@M6p�P��r�3�:�F��b!�tޅ�/��h�#��X�`]
�C at 6kb�L���zU5��r�U�:#����$g�U��

-�PDa��A(�M���I�	܆��d���*��lV���o=��6̐�
� �����PU��ξ��h�B�K�Q,c0D���zě���i��k���޻� �n���HV�k�G��I�<�f�
-��5��~�Xm6����^m��Yu���;H7+�(X���4# ��xWa�\�c�9��6�@��I�ljw4[l<�뺼Ô����Kn��;���o�'��=���v�Q���,��6���� �R���W���FPLIn�2�7��e�ӭ�Y
�,���z�z��7��4 s�X��CS�1�V+�2�
�Ѳ#�z�+e�[�ɝ�
�
�/��E	����Ņ6Di���7��:��C}����M�
�\h>��XH-t*C�X)��
Փ��	������b�ȫ� �/Â��m
�^EVEx��T�-~y�9w[�R}7�9�ؼߖ
�"a�<��h	c�<������_d�@ᔆp���}y����*�A�1Q�$Ծ^�!}�
jg�S��Z�T(�?���w��ÀG1$�� ��LK5B����y����.�U�BE�R���@z��/�G�����􉂏�?�H�6�&0��W�Q���TW{���4†Vsؒ9�A"��+��X����؄� .GL�R���hۦ4�	������m��d�Pm�n�s���n�C�YE4o{
�R�	��d�_9xl��p&G��� ����
KGk
*-��
~C�{| k�)��9��>��
KJC�I������Vx�/Ea�W���!��Y�;�q��=7h�M�]��A����ۡ
�4�UG�к8��m�m�z�p3axɡ�0���Oȧ
��;���?�
S��?
R���d�����g
Ĝ�lz�϶>��ݳBa�nB^�
i��,]U;aFJ���fLȧ�ɞmFg{�h��$���H�����h�t?!J��]j<IeZ��٨�U���eY��gZ���v�6��Ɔ�d�
n�/d��?ڲ�O`�Y�V��E�+Q_a��p���
a��CY��A�М�C�������!D�`�|�����/�y�u/_�x||$˖�w�CC���������,���=щ,�
��+br K�W�-K�
n�>�I���
�?ɝ�endstream
+x��Zݓ۶���o�Z
H�'�I
�m�f���}�3O��H�BR��}w� �ēu��!/".���~��޽ǽ���\\�����Dڻ���EZ0�f���`"���ܿ�	��&�x=
�_��lY���UZ
��^gEV�MY�����uZ�4|��e�L�~V,2`'� �E�g?��x����
qOT�"��������[���
g2�����xa ���]���L ת�&�v�Ϛ4_gK����^T�������A�
'�̓��0!F��;�ȞӰJ3�|{�-󢡡S�b]ֻ*�=g�r�tZ΅}����±��k��
/T,��tV�[�}}�7$�)��Td��*e�=��]�^��@��������2�DL���!�x%:N;E�V���U�XD at ox���O��4�6Ͽ^Q���=R�I��M�j�!�@X P,������a�M�B�x=��
�Wx�t���M����	�p9�+!{d!K��V���c�5
�VG�XGG���1��H����f [...]
\ ��� ��$	O�0� XmJ�}���xwO�_�
��H�78��>��"q�]
o4bq
<�'“>!�q�H(��"ɂ�U�|�������k��:�'�Y>�'�)��г4�e���@�)
�^���	}�X��EE8t��*��	�"B
�*;fa�fqW��5�2�dE���t�ZoӅ
���+d�������ܲ~>%�RLG-
+��y��zl�1��-Be'��5������� �����D��C ݨ3)�ƕ�V]MVm�\���YďX��mD<�”���Ȫ�1����L(�:'��f���vO��%
+�m��YѤH�x���%�
r����q�v��(�R��QdD�
,�:��1 ���$+�X-�ʾ\�T���۞L�֭砸HS4�)$�k��]�ɕjS���|���jh����A����دu�m&�<� ���1"q?e$��"Zɶ�zcc���<r��ޏ]��r���#D,]��"��A�h��3�h��"k�
�X��	�qP�}\g�Ķ`�ʚT�4��$ˌ'$�a/��{l
�/L�`y�=M�Jb���	���)a�
0�f�#$�Ґ�U�/
�C>-h(��8%gĢn#l6�<�oV��Y��θ/ݺ�Ƅ�)�7³�*�mGnw�v�GJe�+� ��ϛ��-+��n?���$o]0�[��0�{E���P��*Kk#���g�?ر}�gB�
�ຫ�Ö���.����3Zio�̗�h�6gc�1ǘc?�����C���ٓ�����Em(~����k�
�6�t��ӻ]������9�����*]�f�P�w
��0���B��ഓ��������` a��,�EYA�ؖŲ}v�+(嘻.�A��?g�&:l��;�l	��
 <�`�VwRӞh
��Xʳ��ڀa�
!\�l�j��

+N(?�!xl5��1��Ph�~x�K
\�5ŋ2J+�"�a���
����Q�
n
���D��+[���^�	q`*4Ha ܤre�
��v�AW�%�bh3A<̘���b��AY%��z�Z�Ռ�<Z!��9M�x�)��R�o�`����Xq���rո��fS���f�U�3�
�n-�ܔHV�,kt���ED��U��Ddx��!�����k�!v�Y�
�$�����U@�_"�`�!����x	����"�<�c�%O�J��@�AFI-�Ҝͧk�Yfw�o��"7���3�w�vf��ǽ��dC섘�Ϣ�l\}7�� L�:�2�j}9k
/�B�F���(0�o�&�r��UA
�L��o[�h�O��`&�
��^/p�.&h�;�)g���?��zG9i�c�`�}��T�rm�P��
b�>ڊ
t,5���[�f{�ʣ�h���3�J>Z5�k�e�X��1m���[|�8����|����~9:��0���ӭ�nဨ?�!�?�V��E&�o
�8nc\_��դ5��".�:�\L�a`��[�����
#
�����u�׆��G���g�
Z�GK
�T��-Nێ�a��e��	�-�e6���A�dj	32e�m᫮
wX1�k�9��T��>q�4`�#9ۈI؝��`�[1 �#�lo��*>�:�
�t	��\z�޾��r:��M��!`{ߠYk�|c��`���[��>�0
I�U�[ *���"�
��s�Y�6���l�w�cP�R��̋��yq��l+#���4
��<��cghU��M�ɛ
�b���]=B��>��
�W����N7vD���ɬ����˟�"�S���aB���f�*���8stY�Xc$,Ϻ
���Ӭ*���e?%.2S}U��%x�(�t�c�d
�,��M?
���<��@;��'s��'��B%��������R�������U���Y�
Z�^���Ԗ"�k�~wgΜ�	x�������]�ٝ��~������'�D�����^]^��{��ٮȷ˛Kh�/�Y���������q
b��ɍ9�ac#�ͯ�:
+endstream
 endobj
-5262 0 obj <<
+5215 0 obj <<
 /Type /Page
-/Contents 5263 0 R
-/Resources 5261 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5083 0 R
-/Annots [ 5266 0 R 5267 0 R 5268 0 R ]
+/Contents 5216 0 R
+/Resources 5214 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5219 0 R
+/Annots [ 5211 0 R 5212 0 R 5213 0 R ]
 >> endobj
-5266 0 obj <<
+5211 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 677.9388 219.6424 688.8427]
+/Rect [177.82 677.939 219.642 688.843]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5267 0 obj <<
+5212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.4103 494.3994 353.6649 525.3681]
+/Rect [201.41 494.399 353.665 525.368]
 /Subtype /Link
 /A << /S /GoTo /D (main_representation) >>
 >> endobj
-5268 0 obj <<
+5213 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5264 0 obj <<
-/D [5262 0 R /XYZ 90 757.9346 null]
+5217 0 obj <<
+/D [5215 0 R /XYZ 90 757.935 null]
 >> endobj
-5265 0 obj <<
-/D [5262 0 R /XYZ 90 733.028 null]
+5218 0 obj <<
+/D [5215 0 R /XYZ 90 733.028 null]
 >> endobj
-5261 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F80 564 0 R /F8 523 0 R /F11 411 0 R /F7 526 0 R /F10 484 0 R /F13 567 0 R /F6 561 0 R /F9 601 0 R /F12 658 0 R /F25 344 0 R /F74 478 0 R /F67 366 0 R >>
+5214 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F78 539 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F6 538 0 R /F9 568 0 R /F12 622 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5271 0 obj <<
-/Length 2550      
+5223 0 obj <<
+/Length 2270      
 /Filter /FlateDecode
 >>
 stream
-x��ZY��~�_��P�
-�ĸ�l��
���vMQ��2%jI*��O� ���䨤�jD����I��B�
-i��b��Ë0��
��+�_�|�{��
���r�
$A��x����Z��8z�$8J�}��nIqT��t[&���eR���Ii��E�\Q��/����.-�$���&vLS
-�??|w��C�C �$1��x���x���|w�ӱX<�
FDk���qʚ������Z>n�>0&NA1a�� HQ�G�b�0��
KD1\��,�c��JD$��ܾ���y�NO��$�"�(]���T�
l�`�a������ɯ�+�XR=g�nhSl���h��[�������]<g����~U��W۬L7uV
��U�2��*�$
���I��X!�U
�eF>!�S�i���Q�*%/\�|c�`�����.9�����V��ܹ���=u�4���(ATaW���
�Q����b�T�jg��2+�ꍹV��Szp��1�d���!P%n�i�ñ8Tur��pZ��U���u��]�K"�O�2�*�OX�����T���V��]� %�1��*�x��Zw�7��b+Yk+��M?��kf�sk�uѳ�qcݕžg�E�}h��
-�c��d���6n/�F
32�
!�46H��b6�6�s�����86�d��
�܎E�e-?��b�#!���]��IBy %8���kTőq�%���&$d{V$��_
�qP������m
�qiG*�0`n6

�
I"���#�
U�
��* ����0�"�u#���)g���
�ضԼ��4�
-��0�60
�g��%�cL��-[�¾0
LrE Bs�ƿ�S
����/�
��~���!M0���s�y<ϧ��y�(ы.�?
�d�3���@���A�uQ�:$����Xv�.�w�[g4/@GT�[5��i�!�]�F�@��� �vzPzT���u����l��I���RDo�c�s=�0E�&=�rE�ovn��
�
��6�	c��L`+)�k�Ͽ�&��C�IG���m��䭶���VC6b[Nol��
4�������؂?[�Z���46�#�\�
�1��Y�Q��MG�q+I@<���_�ڛГ��B~�X]��Է���LUY����)1Y��8j�IS{x\-�C
�%������Cg D+}���׺9sn�B.�μ��+1�CQ�9V7z[H>�m-٤������M�3%#�����XG�37�ˌ�2Cκ�պ0���k�ȍ[۴�
�L��j�7�v=[(��m�O�F23����v8lo��zҘ���T���A\xAl��%�t
'�֜HI/��*�Jr� [...]
�Ub����
�8���)�VAa�95���B�SA�iA��A����ڨ�Uj��I_ddMn�M�3��PM:"�8bKro,���u�K\���	��'-��ꘁ�Ƴ�q at 4]3	D`�ژO�`f�@���+��:LN���")��V�
�P�R�x�m�{7ы1aa�{N3��X�.�S5��
��ϐ���Z��.e�}7$ѓ���S�+F=�4L
������Ƕ^!�bM��u,�ֲ&j�(|(�m�<���8��C����e����2���x�:��T�_�H�U܀����6�LV�����E��ZJ�s^�n/�����/Ns����_���Su)��f�X�93�}�3kOq���)7��L��@`����{���ʺrτ��%,����|��L?�~FC�kV;*PhV��ڤal�iE�G�6;$uZA4fXF_��`0�ن��8-�c̀�ؔ M��XN0�F�p#�	]b���Cv��<n�#Sm��K�
�m�j��k�x��k;�׎p����
���V��� [...]
-Q�t7=�oJPn�
-yk�3$���l�?����� �x�
���VB��)��n'y1��	�F�U����N^`��A|��	R���/�|oCb�b"���4���M�15���I�]�bz��ǓӖ���˼�N&_�\^�7E��:���+�)��p�i��5�}uƕ-��`�liy�h.��1�6Ճ���2Y������ג�ic<g$
6I����K��o�/�/L
7�<�^JI���
2oƢW
S�—R�/����K)ӷ�
kܶ��[���G at 2���uH>��-��o:�m��Ҋ���t�3�O��
�+�{��@�@H���Z�]�8:&e�mNy�'�w
-0�곖T[_1m4��I��髙�N:-ھ��
-�jf��ը$�
��ϝ*�`�����%L0�SY�nM B�9�k����ܭm�������3h�L��}�%�k;6�{1�K����v�~�&c���Q���Mt^��3�`>P��j����n�^��o�BD
���
NI����+��M@`�V">>�OӾh(��������/�����9�V��]N;�k��T����o���ѦB�Cv,QV�=
��}1��p���j�{�H��)
�+�K���e��
��{�P�l�$溦endstream
+xڽZIs���W�*�`�\��!IeR�ޛ�qNI�EI��
+EjH*
�׿\@Q���\$K��z%���Q���o�n�‹I
���[{1�€řw��~�#,����;c�O�Mr�vƩ_���tU%�?g�*����ߧEZ%MY��\Q��<�kl����j�"?-�)�1�}��?�~�������Q�����By����Ro�?z��8�̬�'����{w��+j��G��bB��B
Hd��f��x<n���y��`5�HHcoΠK)\}�hW��</g\�OY�]�re��vY�����_���5��jZzu���UV��&+
��
�̳¶2;�a��:<���
I
Rf�M<�5����@���}e���T��4ǿ���L`_��G�8��qF���ך+����#w�X&�i	��
+�4���n���cZ`o�M��z�����;v(�E�$Ec��j��r=���I*��Θ�?l���Q����U�p� ����`��۞��t�I򺼶���B��t�K9�\!�l��W�T�iM9��4��U������6�

n�eJF*�(Լ�	.I
�	��F��3o�
Dk@Fí�$J�p
+���
g�Y�l��<�|�q�SR��y;��Cb�H
��t���/v)�U�2���"�G*�	X`��p����ro>��q�
'&a���p�����JL(6�9���.�=`�Dx��l
�c��	��D�'�3p֮nF$	#�
������d<.H̎,��{g1?�����=d!'L������Z����U�ր,Zm^4	-��
����7g��#��#��0q}
TI){�j���
�D8.�]������@���vq���‰+�H�$h��U	��&
�z��A)�=r
+�DjC���
���cu�_

+�
%����bx�b
���DŽ1ub�3�|K��,]@�!���:��}�7'Y��R�RN��bhJ�S6V�(q�@���yL��L��Ct
+P��H�1��)N�3icYkª�h۪g���P+(8�?�^*��1�����Sq�j"N�y�.B�q�H\�Zw#���(��6�[#�����]
�Z�:��c���߀�,)@��
5Ӵ���3q'��MZ`ȭG�I+
<K8�Q����)�0J"
�
Pų�B/B
�?h~���K�u
+i�
+;1�ѭ';j����g]�M*�캓Wt��ڎ'&�~�m���yF��]�ɦ�&p���0�B�A��0
���r!�1v�vH�ʦ4O���v�QG��)��<� ��N�z;Nр�St����<��m���yUS���<I��h�#9	�Q��P�
F��&{�X�[ej	�zwH�)�/Y�����#&<1c��b�ž�Ju/�:t?B��ƴE=�d����`�� B���m�G�Ze
NQ�U�Z�˭���<�u��'�V
!Gg�C��:�CF"���:�n��TG|�g��e�avaFK�xI��3�ӎ�h
��@L>3���ę�J�����rW��A[��bx�C��FvƮN׻\�2��Yj�<c�K2?�FcBXk�30����\w����L,7v�^�g���	ՠS
	�
��f�ܩ5��L��
̹ѩ�ZeEҤ5x!A���kX���TŖZ�l�}¼���p�b��TAE��Ԡ�2�%�SzH-$a�G�\E��� M�ܒ:B�⚎x�	�kO�_{�)�J�L
��g�W��Q���2{
� G.�8�
���g�@�I��~ڼΙ�X��痬�-;A8_T��X��_T��6���F�́�F����u�u���Z����^R!?_�f'
+��\ ����ۼ�w:2�2�͹�A��ta)|?#[X�Xڃ�ɰL�^b��e����&�� .,F���	k 8�
�n�U��,�ټ�vK�։wm@������%S�'�Aв��SU��A�ޙ�唙�"�*<{m���
/�«��R8��KKj���ҡ�R����bY()�o�'m�ұu	��"� ��*�|~@ɟ�
��q1cn�d�m��"�TM���
��0aS�nj��

?�m������MĉUW.�C�r�
��
0�)0�֑c
�b:�����
�Џ~$G������ ^f�}���t;��(��,����=���g ���9z��VKD`a�/,��~f���i��L)�*�/I�Krlk&l����&% d��R&4��ĿKS�)���׶~B����T�G��M����yzz"˚�l[����n�C��Sa��oP�|SV��
йI�
���(^��
+endstream
 endobj
-5270 0 obj <<
+5222 0 obj <<
 /Type /Page
-/Contents 5271 0 R
-/Resources 5269 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5274 0 R
-/Annots [ 5273 0 R ]
+/Contents 5223 0 R
+/Resources 5221 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5219 0 R
+/Annots [ 5220 0 R ]
 >> endobj
-5273 0 obj <<
+5220 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5272 0 obj <<
-/D [5270 0 R /XYZ 90 757.9346 null]
+5224 0 obj <<
+/D [5222 0 R /XYZ 90 757.935 null]
 >> endobj
-5269 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F80 564 0 R /F8 523 0 R /F11 411 0 R /F7 526 0 R /F25 344 0 R /F33 481 0 R /F77 570 0 R >>
+5221 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F78 539 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F75 541 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5277 0 obj <<
-/Length 2730      
+5231 0 obj <<
+/Length 2271      
 /Filter /FlateDecode
 >>
 stream
-x��Z�۶�~�&R��`<����$��u�$���N����%q�#�������E��#͗�>���}���X�L0��D��)����
-O�0�ꊸ�3x?�|s{��[�'
-)A��ve8�8%tr�|�����8z;%8J�������>m�e�޽�?Vi�4��ʊ�J����(���mZ���&[eՔ$QV,2`�UQr�������VB� g�h�~�z�O���wW1���#<`D������2���zw����}a>�CL�	a�'HR�F��0I$�

D1܍�,Qc&'�
-DK���Rjc=Z��^��e��>���nm�3�IF�;�@Ɩj($�
!	�H�ܴ��)��Ô��؂DDF�Y�)��}H����R�=��liG�Vp�����>/
ij/��h���7Uj,��l����q �LI�I���}�����e1�Gy��w) 
Lf�h����>+j��
��A�y�e�F2=�q#�,�v�
�U�ۼh���A}Qf+����E�M����h 9�prr]���b̌����։,�����8
�SK�%���c
G�r�-�=
�b��Xh�^����/ܓ}�7��^�ʺ�?nݗqz4],���cY��8�0��$CX�H��>
�y��3�I�z�-��
u�b���b�\K�d��Ӛ�$1�"�eT�Z=�Iu}0үeY-�"m�ڲO�'	*,�?c�-!]9Q"c/ej	 %HI
�V���\�b[Ԍ��Q,T<1T��zKQ�h�/�^�'��MGpg>�1��MhY��u�b�h�Z�0
�Q��O,	��̺2��Ȑ�1Q
A����3!�'00����d�youS�Ι6t��mY�MЄQ��!�U �x<�H�Ғ�`IN�eƀ?�DB�h�3�	}x)hƼD�׉�r1y�2�]0�.�A�r�j�ˇ<8�fA��g�7J#r at e�
�wB����Z�<���Ƶ[�MȀU���x���%C��!����^>�;�6/C��ab��DTJq�j�YG@��a�&(��L\ЏZM��!��)``��R`��rX��ƒ|���~��&}�&s7 [...]
-� F�Y�[g
e�Gs��r�O�Ek�e���e�E՘G��ҧ,����
�=��و��3"D���c�
�o�k]Z�kQ�Ҏ
-�#B��6����� C���l��3�kX�=m�EhS�hT����ԅQ�K~"��dcH!RZ�P�W
�s1X aB�x�d9�u��,f?a3�K9��_������B"&i
:�љ�Qo������ʏM�=W�v�n������8$gy�B�t�O�Ǔi
��έN��-V�����|s�)�"n/�7��6�A�+��$X�g�¢����D��A#ˀ2��/Vhu��L0 at eB`�k0�A�?6���/qz o6�N��j����1_��	S���.R2��}0QLߘ��~[�}�H-�-��ДI���%R�- 1���W�f#L��Fx�, v6�*?(ҟ� ��IN­Ũ$��o%�PB�]˘�ڔ��2@���kߦ��M��>�}+ӥ1�{��퓋�O� ����6uZ����0o�>��C���u;23	�� 1�����=E��O���?���u�������\.`�h��Ԑ2�B`�"]^�8np��^ޗ��o�2�t�6��n�I$���o�]�aWW�zG�[|8
���V��xk����[[�Z��ѐ>2���ޗA�s at .�P�x*S%���z09�e���-�`��~�?R�`�cN�XtM�-T�Ƕ8dB0�Ot��Kv�&-�������?�v�� a�rzjO5�:�
�q�©/4M�>M�NXG�P�`��!;e
 [...]
'�&A�@�&��6�P>n.`���9�t�NYƓ�����w?�\ߍ[H�suN O5 ����CUp��ݼ�\Z}�U�h��l���r݂�q<[����z���������UO��֎榫���u?Qt��`P�S��0��|y���	�r�'f�
��h}NmK��Eil�
�(I����oΠ�͠��ʭ=������N�
a�
�~��U"@<eP�2��]و��
ږh�4��&��������T��\|+\A*В�0��d;*�^�s��C˼��~�bDLB���9쉤?��+�B �R��۔U�iO�V#矱������h�,O?�~01�|��t_� ��=)�U@!���j�D�|FBO7.�|��v
����Z٣+X�۞�)�f-�q��F;���S	┟�4�
D}"k8ڳ�E�Ӹ��G��p�I�'A����#���r>�X��!�BTM���F�� �	;e���/F`w(��`p��vS�N��O�Эg}�K
n6�}�S^����.�{W��|j�&1IN,z(@d�LP��&.�|��L�K���
��lz�h��!\�)ب�0�)P�����Ȉܫ����DG���h�{���/O�q��OuV�A9�x�}Z�͟/\�q��8d��t���˲�i��K"Cٷ�L��_z��:_��V� ��לE6�n�����#Z�h_�
-����n�|i��:�YK4�%�<��_*�����җi��
 �Ո(���¹endstream
+xڥY�o�F��
u����SnhS'�6ms�{�C4���R�JRv����7��/��@�rvv
���
Qg�P��ٷ�g���$x�\���:a��ϙs�t>����R꾟1�&�6�y?��-�\V�ͻ�J����,d�4e5�s������\�j�"W�v"���h���������D
��C
+�I�g?Qg	��;��8r����g�|8��5��G��bB��< ,�b/Q�{-^S�gV�;�6z��ǺU
+e�����ig�������
>��ݻ�]`�7�[�l�e�I%�ˮ*��.[ʥ�Q�S���d��4яu��8[,��M�(-�Knvn6���l�ɊUYmg�M��,0{n��]��A�9@��m�meQÊ������a'���H8�13wh�$ߛa��͊F���@i)W��WJy�ɢ���	=7ϭ8'3~���r�e�\^��BPwU�y���g����V���T�f��e���j=ޕu���f%��&i*kC!�t�gk��R�l��ш��

`��.��}��oW�5���(+bA��`��i��A斨�zT�G�b�-3�g6	��;e ���e�̊����
u�����
+�+��&b�+&�B��$� t�"��>�A�/6����/����� t��#��
=i6c���G��v�!
2���?(F�X�p
Z6��Hb�����v��	7Bҋp�
+�6�{i�T�M�O�u��|^�{��`V�y
$�c�H��OH�<�P�$:��� �~�!x,�`	���S��[�L��Gv'>�$��i��{ xJ�c�
�	y�
\sJ�ec&>	��/�g��� �
/��E�{!4�A6)�`�銫�bj;�"��ߟ���x��$������u�?�	�7e����
�@�d
+�
� �7������Q��CQ�����y�6���1 �읖�FS|��~~�^�||_����ӬY,�e~a+	�n��;(l�����
+
+Cޣ5���ڱ��ȍ.9p>ӏ�V�ꗛ��*}a��s��7��-{64��l���A��
�h#�	 �t�
���v�v�AP<�W�:ב�?�*K�HP�[7�b���>�툉�)�G��S�+��%�Ap@���5�2�����i��(ze�
�:��@�?������A�<
�C�@c��Ϣ4
���GD
VVPc2
��5���֚��KSS��=�-��3��T`��G�yّ
}�5�(�i]�
P�y;ӟ5I�`z� Tħ������(�-�y�p��<�x�+���w��M��xE�ov�f��u*�L4k����
�MϘ�>f��^�Ј��
PA��>����L�0
+ވLZ���˹ 1��'��+V��x��E#!�߿6�"���7��Ț�~CC�l�ON�Tv�1jE��J=���~���@%
|Q�z�Z�}mH585�:��b��ޭ�(T�B�2D�	YԹ���@�oW
4n� "<�{�/�'aL
䀴2�2~JN¸%h	�b����ʼ����V���-���Mݘ^�%x
�;
-��mm6՝Ӂ`��pzm��E!��p��n:c?��mZ\�-fZ�I���La�h���p,�, 'tyf�Iࠗ��q[,�g��b)46?6oBp���跶����
%q

�+F]�
w������o���۟.��e��<l!���փ�i�CY9T�'�ܰ����8�̯������1i����gJS%��w�
d8�z��۟���&=S
]�
��櫅�gŻ�?�ruy�PdU<S�C��'!� '�T��3W2æ
F�\��	����t��ޜ9m(�&�&¨ʖ7o&���5:��D:x�/�g���AK=�}`�Ұq���{�j��� [...]
��!:�6��a$�m4|�
+��q5*�~�:A*�2�g�+�쫢
d��6�/�J��|#y<rh�L�Bj���"�S��Ȉc����j6m{���|M��i��U|ܛړ_����aϓR��-�T�Ђ�I)������b�Q�.�!v�j�p},-�`{�B��pD)�mا���<�l�m�)���zb�T�~+�:����<v����%�$�Tl\V�:+ڝ���9�H�C�ÿ���N�7K�{�w{X����}xz��
mZ�R�M~�e��K��׏I�W�H�Db��:�
�O����@�]�}��h���ͱo?�R�UN!�
Z����-�����IZ�}��*�5�]~>�́
S�e�^���=(��W*����?
+endstream
 endobj
-5276 0 obj <<
+5230 0 obj <<
 /Type /Page
-/Contents 5277 0 R
-/Resources 5275 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5274 0 R
-/Annots [ 5281 0 R 5284 0 R 5285 0 R 5286 0 R ]
+/Contents 5231 0 R
+/Resources 5229 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5219 0 R
+/Annots [ 5225 0 R 5226 0 R 5227 0 R 5228 0 R ]
 >> endobj
-5281 0 obj <<
+5225 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.8284 229.1863 340.9762 240.0902]
+/Rect [164.828 229.186 340.976 240.09]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66) >>
 >> endobj
-5284 0 obj <<
+5226 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.5575 137.9402 188.3803 148.8442]
+/Rect [146.558 137.94 188.38 148.844]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5285 0 obj <<
+5227 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.8784 137.9402 371.2624 148.8442]
+/Rect [188.878 137.94 371.262 148.844]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_584f3fd5a19536644a66818169b16ac6) >>
 >> endobj
-5286 0 obj <<
+5228 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5278 0 obj <<
-/D [5276 0 R /XYZ 90 757.9346 null]
+5232 0 obj <<
+/D [5230 0 R /XYZ 90 757.935 null]
 >> endobj
-5279 0 obj <<
-/D [5276 0 R /XYZ 90 399.1745 null]
+5233 0 obj <<
+/D [5230 0 R /XYZ 90 399.175 null]
 >> endobj
-5100 0 obj <<
-/D [5276 0 R /XYZ 90 376.8628 null]
+5054 0 obj <<
+/D [5230 0 R /XYZ 90 376.863 null]
 >> endobj
-5280 0 obj <<
-/D [5276 0 R /XYZ 90 376.8628 null]
+5234 0 obj <<
+/D [5230 0 R /XYZ 90 376.863 null]
 >> endobj
-5101 0 obj <<
-/D [5276 0 R /XYZ 107.7135 301.068 null]
+5055 0 obj <<
+/D [5230 0 R /XYZ 107.713 301.068 null]
 >> endobj
-5102 0 obj <<
-/D [5276 0 R /XYZ 107.7135 286.3422 null]
+5056 0 obj <<
+/D [5230 0 R /XYZ 107.713 286.342 null]
 >> endobj
-5103 0 obj <<
-/D [5276 0 R /XYZ 107.7135 271.6163 null]
+5057 0 obj <<
+/D [5230 0 R /XYZ 107.713 271.616 null]
 >> endobj
-5104 0 obj <<
-/D [5276 0 R /XYZ 107.7135 256.8905 null]
+5058 0 obj <<
+/D [5230 0 R /XYZ 107.713 256.891 null]
 >> endobj
-5282 0 obj <<
-/D [5276 0 R /XYZ 90 216.1587 null]
+5235 0 obj <<
+/D [5230 0 R /XYZ 90 216.159 null]
 >> endobj
-5197 0 obj <<
-/D [5276 0 R /XYZ 90 193.847 null]
+5149 0 obj <<
+/D [5230 0 R /XYZ 90 193.847 null]
 >> endobj
-5283 0 obj <<
-/D [5276 0 R /XYZ 90 193.847 null]
+5236 0 obj <<
+/D [5230 0 R /XYZ 90 193.847 null]
 >> endobj
-5198 0 obj <<
-/D [5276 0 R /XYZ 90 89.4414 null]
+5150 0 obj <<
+/D [5230 0 R /XYZ 90 89.441 null]
 >> endobj
-5275 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F8 523 0 R /F11 411 0 R /F7 526 0 R /F10 484 0 R /F13 567 0 R /F74 478 0 R /F97 1822 0 R >>
+5229 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F72 471 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5290 0 obj <<
-/Length 2195      
+5252 0 obj <<
+/Length 1552      
 /Filter /FlateDecode
 >>
 stream
-x��Zێ�F}�W�)��������	���=�/�1`$Έ�FTH���ק�MR�d���	�@0�K��Tu��ӤH��$'J(d���q����Ât�S�����.n��"1�H*���փ$HPB���%!��UJ0���+��Y��ݽ^Q�,��v����~*~����z�C~ȫ�)�UJ^~����
����jE�2?lrp�
5Kb���폋W��. �$��~_�{��-��#f�H��#b
M
���d�x��y��n��� �&�!,;%1D�d�b��O��,�<ԍ;��8�Yu���х_�Eyp�����|o�7*ei",P;h�L`
Ap�3��Hg�����+{���*� �n��ؼwO	�=�Rn �$�@%�.�7y�T
�ilv�(�����U�ill14a�eT0�@F�� Y@A4�L�
oo�ݕU��[7�=L����L'R+H�얂�U=t6o�b�S���"�S�ϩ�0��i>B"E�`�j����"��.�p��i;_��6�r����� [...]
����/I�J�#���ɏ�t��d1E�Q
|b���9�
-)��ɫ�Q7���8�8^~����.�
�
�C3e4���f32XM��@1C��q �vW�+*�ϖ���{�� 
����
-�|�݅cV5�(!�
(�=���W� !�z4pY�a)��aE�x�ee8���&GM���9I
-a�B�gS��,�e��
z�Ȟ��y{+J�Z�
X<F�"z�W,����:Y���yUZ�^���ę�I�G��b$�a�~�©������馀�k��h��������i�v,j��k��Wt&\�	���ph�C>%&H/�=�Ri�xL��]��ì�Ň��rvyp���D<D%�a��MV��,��&3=T��J�%0)T҂��=��O�b=v��B���Œ`��,�B^�d5�̈�{�8����i��B
-�m�ȥ-2Ji[Жo�.2����:���/�m�e�%,<��e��o
:�Է�F>���Q��_ߖ�.R����W:1��F[��
󎹞)��I�6�,�F��]ֳ��\��ۙ0��@�w�0%v��o���
e����#k��
T�K�s�O�"i��J���qH���
-��J�7� �
�0�us

-5�5U�fd��`����u� ]��M�`u����n
-�v��%��)�����/�#%��׷:/}9�K��k�ol��;A����ˤ�lFN�w&.}0������F&���h�}7.:5`�iT�	�zIT\��
��f��}Y?9�u��
��}q�ڝQ��mL�2&������77����O�Q�>Mݺ`J at d�u�9����ī%h��:T��
�N%
1C�*��5�T��TSN
��z?�,ɊC������ԭ��
��+WrI��_1���@^"]��	�v*��F�Z���t
�^��@�!��r��:�J
�����#���&��z+�V��I��P��=�[�.1ֵ	SHs��T@�kV�oI�ěWY����?P�2��{9z����������91;h��91{eFNb���ߗ��ل���<����^�R��<9+f}��b��"�\-fc�ψ�	���
�^&fg3r�0q1����<������RB��|���<�m���%�����Yd��cz����}����$T�8��a���6�Sm�w��B�璘�kc�>����.�8
�\+�z4T����u)
�bUJ��n�]QG�6s_��(�H��/�}��@��^M��g(c�"N���(c6#'ʘ��SF Ƨ
�T����o˭�p���?��h��4���*3z
�(��z��U�
�u��J���U;��2@%ݧ
wm[@���HC�Rp"��P��Z�_@��-w#�U�����>�ӛw��"
&Z
-��
ʕ9�����- at o��Dt�į���N����VP�g�1��s=�9� �l.@{�2���0�+|�w
�~5�B~�OG����)b�u#�0��4��L��C��>����6���u^}�b�q��C[��/H���N?���CP�����85T�F\�	rwK����

H�'
q*/ډ_�i�뛛��g���ӡ8V�hn���ͤB,Ase�&.
�&X��3�4+Cx���
�cٿ�(p�1�̎���Š�	��ͱendstream
+x��XM��6��W��@D�[��^$�H�m/��Plz-Ԗ
I����wHJևe���9�d��əy3�{o&/�&�גy
+)I�w���BI��ĻZy�>!��Ӏ`���S��8�ŋ�S��l{�ѫ<^�K��q~?��ѩ��2˧�����=~�k�OI��t�a9���R��Wo'��&_'
�
���Lx����3�V0��È�Ȼ��v
�
~����<�
eK�r1D+�z���{��^fiQ��wI��|���޹PI��Oό��J�v������n�ݔ�a
9�؍Ts�ˀ�����$݂ϧ�Ë2.��g�/�[�
+(W����r���<�iE��=w���]%�^�Ʒ!k(�B���l-�
+�z2�
+!�z�|�dy��ӕ�v
�7i���o�D��f�]�	
Ln������9�x
K��37�k���N
z)�Q���z�m��&�żgj�B'Q 6!V�E��ϓtʱo��"�o;��=S:�W�c�\m�lJ�gR�4Y�_�;<l�]v1����y� �琉��AA]
'���L.zgyr��ǝ�o�D��~����K�j'��!Ʌp�����NK����g	��>�¼�)n�i���c�Ɗ[!Bd=�ס��5�:������3cf�X�8;��sWj�b$l:�&�^fz�	c�L �E��IY�������˧�:n��&D<�c�Br��
+Ơu���R=�%&Hu	K�dzd!U�$�X��
��C�aa9^
\F����Qً�	�F}bŀ6���i�X�|��z-b�QiS+|
�V���A)��b:��&�<��;��:��vf+/�r3d
+u�
��4L�M"��Vf��ƹ%7�gV�
Dl+��za������㦯 P�uؖn���-�
t1(̻�KZ�s�8Gϯy
+[�nۈT\$8�W�Z��9^��
�o�R\.�\��*+�ʞ�
�d<]ZܐT�c T>"��(���S�#\(�͊���EEf0
�u��;#�v�2&
?�B�M�G�4�bՓ��%
x����$!
�F&M:˧K"0���1I$
.+d� ���(F�b�!�eD�x�8�K..�.�H{yh���H��������)")� �U�����X,�!�l���
�L�S3H�?5��̨������iB@({L7̬�Z�rMn�5U&ϓ��vHw�����홮�H��j�:����<�]�oKE��B?�
��k0C��=���KѮ "��&`[6�S ��}�MR
lEj${���0�N(j�Za����c~->v ]i�#��� .
+��N��c�]�f��\�%TI�a\��U#���p���u������V	8�N�mi�м�+�?��
d�lP8CFa���n��]�.]N��E�7�v$1@9`<|�8��~�
�Sp��En[��
+aQ�
+	��ĩ
+�hp�Z[]wO�����B�L��+�=N-�u�	V�4�1�j% ��vB 1P�G�+O�{{��o
fc4� ��MY�����
Z�&�
%�l���N+�Y���!�u���e�q6Iap�b>�^�e�
+endstream
 endobj
-5289 0 obj <<
+5251 0 obj <<
 /Type /Page
-/Contents 5290 0 R
-/Resources 5288 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5274 0 R
-/Annots [ 5293 0 R 5294 0 R 5296 0 R 5297 0 R 5298 0 R 5299 0 R 5300 0 R 5302 0 R 5303 0 R 5304 0 R 5305 0 R 5306 0 R 5308 0 R 5309 0 R ]
+/Contents 5252 0 R
+/Resources 5250 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5219 0 R
+/Annots [ 5238 0 R 5239 0 R 5240 0 R 5241 0 R 5256 0 R 5242 0 R 5243 0 R 5244 0 R 5245 0 R 5258 0 R 5246 0 R 5247 0 R 5248 0 R 5249 0 R ]
 >> endobj
-5293 0 obj <<
+5238 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.5575 684.6635 188.3803 695.5674]
+/Rect [146.558 684.664 188.38 695.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5294 0 obj <<
+5239 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.8784 684.6635 369.0409 695.5674]
+/Rect [188.878 684.664 369.041 695.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_b36bf020da4fb4583e6e1a6b94197cb4) >>
 >> endobj
-5296 0 obj <<
+5240 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.8674 549.698 187.6902 560.602]
+/Rect [145.867 549.698 187.69 560.602]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5297 0 obj <<
+5241 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.8432 549.698 513.9963 560.602]
+/Rect [187.843 549.698 513.996 560.602]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_6b8dae6436867a53e27720ee211f1cc7) >>
 >> endobj
-5298 0 obj <<
+5256 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 538.1164 99.2951 548.6468]
+/Rect [89.004 538.116 99.295 548.647]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_6b8dae6436867a53e27720ee211f1cc7) >>
 >> endobj
-5299 0 obj <<
+5242 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.0861 520.1185 422.6553 531.0224]
+/Rect [316.086 520.118 422.655 531.022]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
 >> endobj
-5300 0 obj <<
+5243 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.4864 520.1185 511.5056 531.0224]
+/Rect [439.486 520.118 511.506 531.022]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
 >> endobj
-5302 0 obj <<
+5244 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.8605 361.2426 187.6833 372.1466]
+/Rect [145.861 361.243 187.683 372.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5303 0 obj <<
+5245 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.8329 361.2426 513.9963 372.1466]
+/Rect [187.833 361.243 513.996 372.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) >>
 >> endobj
-5304 0 obj <<
+5258 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 349.6611 138.8364 360.1914]
+/Rect [89.004 349.661 138.836 360.191]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) >>
 >> endobj
-5305 0 obj <<
+5246 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.0861 331.6631 422.6553 342.567]
+/Rect [316.086 331.663 422.655 342.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
 >> endobj
-5306 0 obj <<
+5247 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.4864 331.6631 511.5056 342.567]
+/Rect [439.486 331.663 511.506 342.567]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
 >> endobj
-5308 0 obj <<
+5248 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.8284 119.2228 340.9762 130.1267]
+/Rect [164.828 119.223 340.976 130.127]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) >>
 >> endobj
-5309 0 obj <<
+5249 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5291 0 obj <<
-/D [5289 0 R /XYZ 90 757.9346 null]
+5253 0 obj <<
+/D [5251 0 R /XYZ 90 757.935 null]
 >> endobj
-5292 0 obj <<
-/D [5289 0 R /XYZ 90 733.028 null]
+5254 0 obj <<
+/D [5251 0 R /XYZ 90 733.028 null]
 >> endobj
-5199 0 obj <<
-/D [5289 0 R /XYZ 90 630.0929 null]
+5151 0 obj <<
+/D [5251 0 R /XYZ 90 630.093 null]
 >> endobj
-5295 0 obj <<
-/D [5289 0 R /XYZ 90 615.5226 null]
+5255 0 obj <<
+/D [5251 0 R /XYZ 90 615.523 null]
 >> endobj
-5200 0 obj <<
-/D [5289 0 R /XYZ 90 453.7171 null]
+5152 0 obj <<
+/D [5251 0 R /XYZ 90 453.717 null]
 >> endobj
-5301 0 obj <<
-/D [5289 0 R /XYZ 90 439.1468 null]
+5257 0 obj <<
+/D [5251 0 R /XYZ 90 439.147 null]
 >> endobj
-5149 0 obj <<
-/D [5289 0 R /XYZ 90 265.2618 null]
+5102 0 obj <<
+/D [5251 0 R /XYZ 90 265.262 null]
 >> endobj
-5307 0 obj <<
-/D [5289 0 R /XYZ 90 250.6915 null]
+5259 0 obj <<
+/D [5251 0 R /XYZ 90 250.691 null]
 >> endobj
-5150 0 obj <<
-/D [5289 0 R /XYZ 342.4706 122.3759 null]
+5103 0 obj <<
+/D [5251 0 R /XYZ 342.471 122.376 null]
 >> endobj
-5288 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+5250 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5314 0 obj <<
-/Length 2288      
+5266 0 obj <<
+/Length 2074      
 /Filter /FlateDecode
 >>
 stream
-x��YYs�~��P^6R��M�{Tm���M��x���)-Ak%RKR�q~}@�${g��JM��l����
�L0�#�'�H�f\N�
<���?\�z������|#�D#-��ܬ	� A	��,�O	A$��	�x�vF�4-������b�6�2��[vW�����&7eZ�lN��ܤU�.��ʔ3��&_�4�S�����O�oZ
��Ib�����<Y�!?]`Ĵ���>����,�l.�]����^4�� {�#(CX
-vpbHzg�,����"3y}[�iVWWW�"��[gi�b��㿫�ef�*�L���,0�'�c`�
��B�F�fV�lH:60�$�	
���g�&��7P���y9%���ǕJ{~A�� 
�"�r3?�^gUdJ*�ď�<LLV��GO�~vE����Yl�j_�ΰ�4��̽H�� �R�=*�
���D%�5R��(
�wG���4π,�Q�$�1��������j87�%����#%��c-t7
'(!L
�Z5�zyu��3�J7��6-��[ �H)����r�#�2�xc�
�=en�ea���h� �)b����Ӡ�Ϣ�A8B=$BM�
$���,�&��6���,�����R�K8�r`���}U��1�]�����c���Z����������e
����@�1gTJ��!�n��;q� ��qq(LwE��ͅ�Ϣج�5��
�6�m&/�$˷�W��Ni*�~�T�'Q��
#�p���@�l>�D#� ����{��}���l���
-���ޜM���z�Z���)8�L�/��v��"��@�9�'D!N
BB�6!��o�4!v��C@���	����w]�o���b�Z\}���PUVV0��Vr�K&��į,�{���>�^,
p���
�oJhA�~��C��&m)��>_����^������' פ+?CS2��v�L�ub���
���
!ݘ	$i�7�DL���R���l㌃�a%����Hg ��@�5>���A��J��,�wM��CR�
ѣD�N�t���b at xB �{Y��}�����6�IhA�G�!�"[�["��C�k.E���4���1�1,��I�̧s^��'�(}�]�2��N�����GL1
h�D=��4	�4R2�ʻ�Yd�|���x�Cm#��M:4A�P�
-^��O�"�'�	֫�]p}������'f
��C�����nZ��dP�aUJ�W|ɗ���\�%}7�+"���Dh|�sH
-�z1Vu!ѓ6���q�y���m#�O��@����
�HU��e��% x��9��D!��^��!�b�$,B�\(<k+6�B��Q����y���7W�K�w&O���I̦73M�ED�?�$`�X�</D�ͥ��Z$h���NZ�.��N�M�*��� �?/�f�-�fy��~{gb����&��u}=�A/�k�Ez��y���޴�4��l�k�V���#0(��m,-av�I�}y�'�ԗT��g�vSŻ��P�
�|�9�ҋ����KX�ܾ��X���,�o����+z��FKVr���֗�Z�9�^��wע����������7Z��C���3��1yDa�l���9����
�ЎЂ�'�o��M�4i�<��
N����<�K`�kq�b��Yf/z���ٻ�q�0m36f���vO�fי�T��	�ŪQ��M��,!���Ѝ���l���ݮ,>e[��n
�����y���=CI�g�Ӧyg
��s���A��"�X�g��8�����HK!'- at V馊	e�Bvw�!���
t�	��
7�vǤ�Iت(V�����M����*���q�#l�Q*�
��8�'CT
p���nB��o�sE��mB7zU�I��c/��]���eo�U�}d/]�Sf���������6��IśAmR�wϨ^kr3S���`zT��r�B-%,�#�-�v
9V¡�`���w�8zcW�L�3�0�Q�ačs�a~.js���䴇c�Ѽ}�c�v����g;
V�l4�Ix�^%�n��c��6�~8
l��XnXg�ӽ��x
fo.���
r�l*-<?�r�����
-��2}�r�K�Ջ'%`����!�GJf�"G���Q/��R��:Mn�ͥ��jҍ��jȔ?-J��=k�aG����+w�ʔ�[zU����͡	�hE��jyTmN���n�M�3t
M(�	I�ro����
�l?�w�p��t�
ɵ6��zwuy�����ٮDY}��m.G�H6�9������F��<ϔ��z�.��1n���喂z
AȮ("���
-@�endstream
+x��Y[s��~�W(/	T-�J���do���K�6[�
�Q$"���_���n0ȸ�T΃�$F=}�����ގ����ބ,�H�4
��@� 
+	��U�aL"�dJ0��w��I�K�&����F��d�czS$��l�Ve�H���L���ۤ,��Z�bB�ʖ
+�1I�b<�8�~�z>�sD@!
���P�D�܍>|��
+�`�d
ܙU��S������
4�2�C�11:�^�j�;�t���ZTE�V�l�̳�ZXm{Z��)>��V�^�)-�CdLƿc��h�A�)�#���쪿 D��Qȵs̪i�M3��.��p�VN�Đr����]I{nA.�D��y����T����HC�q�(u�Vi�Q����iV�˼��r���Bu���ׅ�E�DBX�x�
+�Q!������Q�
`�y0D8�J��_�}���g�w[��ë\*�@��j6K�	��&�t�H��� t�L�UR IkO�7E��˜y� q�XH��(e�a�
���=x&���B� �v�k���[���V��̹G�xq����(�`���.�<9U������3솜c�ރ�bŵBu�ו�&Ϸ����'�sZ.ԟ��浭)�����&����BG�ϭ�=tq"�̓��8�rW: ��1;[Az ���p�2�Sj�q�[U
��pZ;�d.�y�}@���Kj}����rH��(<roOJ�x7Bj|� �:��� ��uH����}�6�w��I4�>��m]��Z.t�Fp�O�������9�V*˫s�]� ���M
o�v��ݵ�&M��9dK]'�ݫ|iJ\b
��E9b\��#�v0E2/+�=����ȾM�7�tC&@P����<��F2�;I���v�r0
G���G:̈z4#ָ��B�(�o�r��Zĭ7�; ����=��������DB
��C�?TG�{���~0�
�)vy�ҷ$
�w��\
+����B��g
C��MP��8�tC9�g���&(#�H�:�r�
]��%k�>V��%��ŒH"@h/���j���K��6��F�&L�N�
耭�}H�B��^<�^�����}�^�,�[jtI�����gd$tv��l��x{[���c��!�gZ!���=B
+���[H�(Ɵ$�s?��Y�}�
�QD���?XEa�-��'�7�x@���y �8D!<�Q($

++g
�����P+eN��P��_=�U��腘��IǹGjn�����1#��q�M-��"�szv��UZVI�T��,���.ҹ�r��薪V�����h�z��!�"
���pG,�	�����}��ٴn������E�ƒ����W_J��
7�T\@C�iovӞa�'��xwIiy�
����u~�Vp"Y�J
Kf��^�>�����[��A���=T���/�
�X�*B�Q�t�s[��
+�S�m�
+ n�r�*
x{w��;�2���i��X���=v�
+ԧaPsBċ�)���a�MW*ɞf
	%‚_\�̋�l
ƈE��tr
+4��/zq�Z��݀i�!LŐipFj���i�dɆL�	э�(��9S+�.K��y��w:F�s�/��tgO��Q�O+��y����$>*Uæ9g���S�b����\�gP�k�_���
:!'
:�ɶ��d�ФQ�'�wi�
V�F8�g�|�
H
H��D�>ʍ#GRR�c8F�P�C��_
����V��)�
c
�
�@�0���0�	�u��F��>1�
},v�;���=�fX�/-�)��f��[�b��Y����k%D"G]�gT���'1�M{*�<����B%��w�o�i��wu���Q�>���q�aҝ���Wj64�o&�@�/�rEF�$�&,F��v�Z��hPa��;�iꂕ[W/�a�Y������no.̘���!��L���,�Y�&x���Ƀ�[?�E�|��xD2��'D�V��G��W�0�:_����1�������'���w[π��؛�JU|��`e�ɶe��(U�M���$��0M&�DO���r�Z���Fƻ��@�i)ަ�������;�,�!K�J���~{u
+�V�f�Q�uMtvy=
N3]?Lm9	���֋�
+endstream
 endobj
-5313 0 obj <<
+5265 0 obj <<
 /Type /Page
-/Contents 5314 0 R
-/Resources 5312 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5274 0 R
-/Annots [ 5317 0 R 5325 0 R ]
+/Contents 5266 0 R
+/Resources 5264 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5219 0 R
+/Annots [ 5262 0 R 5263 0 R ]
 >> endobj
-5317 0 obj <<
+5262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.8284 621.0236 340.9762 631.9276]
+/Rect [164.828 621.024 340.976 631.928]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_cdc0aeddab3d98e336719f42e6e5b06c) >>
 >> endobj
-5325 0 obj <<
+5263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5315 0 obj <<
-/D [5313 0 R /XYZ 90 757.9346 null]
+5267 0 obj <<
+/D [5265 0 R /XYZ 90 757.935 null]
 >> endobj
-5316 0 obj <<
-/D [5313 0 R /XYZ 90 733.028 null]
+5268 0 obj <<
+/D [5265 0 R /XYZ 90 733.028 null]
 >> endobj
-5151 0 obj <<
-/D [5313 0 R /XYZ 342.4706 624.1767 null]
+5104 0 obj <<
+/D [5265 0 R /XYZ 342.471 624.177 null]
 >> endobj
-5318 0 obj <<
-/D [5313 0 R /XYZ 90 607.799 null]
+5269 0 obj <<
+/D [5265 0 R /XYZ 90 607.799 null]
 >> endobj
-5319 0 obj <<
-/D [5313 0 R /XYZ 90 528.7498 null]
+5270 0 obj <<
+/D [5265 0 R /XYZ 90 528.75 null]
 >> endobj
-5250 0 obj <<
-/D [5313 0 R /XYZ 90 506.438 null]
+5200 0 obj <<
+/D [5265 0 R /XYZ 90 506.438 null]
 >> endobj
-5320 0 obj <<
-/D [5313 0 R /XYZ 90 506.438 null]
+5271 0 obj <<
+/D [5265 0 R /XYZ 90 506.438 null]
 >> endobj
-5251 0 obj <<
-/D [5313 0 R /XYZ 90 469.152 null]
+5201 0 obj <<
+/D [5265 0 R /XYZ 90 469.152 null]
 >> endobj
-5321 0 obj <<
-/D [5313 0 R /XYZ 90 454.931 null]
+5272 0 obj <<
+/D [5265 0 R /XYZ 90 454.931 null]
 >> endobj
-5252 0 obj <<
-/D [5313 0 R /XYZ 90 407.7271 null]
+5202 0 obj <<
+/D [5265 0 R /XYZ 90 407.727 null]
 >> endobj
-5322 0 obj <<
-/D [5313 0 R /XYZ 90 393.5062 null]
+5273 0 obj <<
+/D [5265 0 R /XYZ 90 393.506 null]
 >> endobj
-5253 0 obj <<
-/D [5313 0 R /XYZ 90 358.2575 null]
+5203 0 obj <<
+/D [5265 0 R /XYZ 90 358.258 null]
 >> endobj
-5323 0 obj <<
-/D [5313 0 R /XYZ 90 344.0366 null]
+5274 0 obj <<
+/D [5265 0 R /XYZ 90 344.037 null]
 >> endobj
-5254 0 obj <<
-/D [5313 0 R /XYZ 90 308.7878 null]
+5204 0 obj <<
+/D [5265 0 R /XYZ 90 308.788 null]
 >> endobj
-5324 0 obj <<
-/D [5313 0 R /XYZ 90 294.5669 null]
+5275 0 obj <<
+/D [5265 0 R /XYZ 90 294.567 null]
 >> endobj
-5312 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F97 1822 0 R /F11 411 0 R /F74 478 0 R >>
+5264 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F95 1779 0 R /F11 418 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5329 0 obj <<
-/Length 1958      
+5280 0 obj <<
+/Length 1760      
 /Filter /FlateDecode
 >>
 stream
-x��ZYo�F~ׯ�SK�z�#
-�i4=�&�S����J�JRu��;K.)�Z�
-�4hk�A��r.��͘d���
�+��a\�W�����3�o/���{����wR�
2����uEA$(�����D�bI0�����(����(����u
_��\�q~���
��<.�|��G�7qQԗ���DG6]Y �
5�x�����ۋVB��`�8����y��kP��
#f����#b
�og��f������ҩoT�� 
BЁ!(CX
-V�������[_�vU&�$�q^o����+���ʖ�֦NA0��P&
�R�AG�}}��
	ŵ?��^3����G$)���7�ij�O`�MT�۲�^����.��'۸L2��y����eJ+$�2�i~�jޘ�>O� �%S
-1��|	�h� Փe�����
�̓��v�q�L N`�>~
o�QFSZ�Sx@~���S),$��SΫC�K
�uR����[:;�߲�?���J|�;�J�۲�z��.��qN���4p��hcu/8%���I��f���h�mw�����w���;�_g�vA"'���I����sA
M⫍�V�����Sx~cW��tbח?�W�KMH��"�M#���b
-�35��b���v�\[�����M�-��e�6#I�z�t�m�Ղ�&�z�P�i�����@ì��sI1���`Nj-����6c��FT�Z����>
r%`>�(�f۞:��w!
:&�
�o|�s.�y�!�q�<*$��TY�	%+�E�i��,U�mr),X�)2�gy����.��T��!ŜU	�W����A�`Pڮ�#y|��6;.�OB�I�^
��;=!��N:>�&��!)0�P˖J �BSw(�>c��ݯ6�ںd햇�C	��:�!�)��:��t���4U�G�R�	٩:����{�"�L[U��\�q뱪����1�D��8zㅁK�x֤��M�
-�
�E�+&J�!�I%H�� I�i9�4%H�P��c	
-� �`%H�W�8�)�
O����č@ZpqB	�d{(AG|�%�=�X�
�
�t[�8�,�ء%D
I������
z0F����Ћ
�i�u֑
b�PKn%"W9�
���j�ۗ�e�3� ;��,��4�6���.�{	�l�.���

�M >�)4�J��٥j?�y�]I�f�.X�v�[|O�����p,���c�Y}¨�	E�y�CZ��-�i��$�
��3�\�y`(�F��
aJ�2�
2�
���
Q��
^e�t
�����xI 	�
�ƾ�	?I*	���C����
��y���p�4��5����G�L�(�dB���#HS���Mn]
-Z�
�=���t�2�W��4��
��D�8�T�ʣ�;|4�����2m��7{�֪
X��$ �� fI���8�z
h�oZ�[���dͽо�h��DO/�r27殗�#� 'N59��o7��bǏ2q���CN��(�NH3�BP����-D��x
A�٤�W���l-��p
�
{l!>a
�>b
!��(�\�#���l�M�
8����1���`�S��N�v�
���(6�&�`��a-�����H��D
��H� �ɇ����3L�h
y
-�J��:��1�
x��!�P�6�@����X�W�����$�۝% �%ҷ��`Y�ݘ{��>N���Sr��O��aJ�5�Z�SAw���n�q��
��ݖS���#rwuڈ�0$�8}B�q5�̌��)q��
�_���q��:9p���@�H!��7)��7R�4��N%d9��7'�=�<wZ�o����^��o�ů��?_��bo��?
)����ؕ
�p���^[;4
UaET�@������=���'�
@u�=��t�)��ӳ���[�*�>Mv9Jʳ�ns6���^�Co>���#Yz�gZ�
ѕ��l��QLROU�
��CJQ�]�_�endstream
+x��Zmo�6��_�O�
�
�_�b��vú����S[��$Beɓ���;J�d)�
�m
��H�:ޑw�=<�~��|>9�E�� #�
ί�%	���uH"j:#��lJp����lJq�%��ȣ�?��<�7������Q���8|�DEQ7_�+�O�m:� �jB������ɳ��?
+�T
+��|9y�

`Čn�YˀS�$x5�k���x`
eKQ���t�$	�;/�$Nm����(�JE׻�孵�S�IlI&
�R�V�?�S��#��	Q����Ѭ��9$$.���
�4��G��&,`ǭ�/J�s�ʳ�2*��e����ϴ�Ɣ�
+I��E����7�\�i1"rƔBL�`�d�?�2_��p`�4���g�h&'��~%ŘLFS������qa���
A
+KP
���s�\�-��+'q��nݳl�l����+;��Q�E=p�� � q�z�7b��F�9^oJ
�%��~WJ8��y�\��J��
�r[7V6���唄N37�.��n��RS��2����s�YnV^“;���..^����+M���c
+��(�x�,�s�
��T����y����M���Ym4#Ic��t�%�|JDC=5�@��j�xH�js[P�#����L	�T/��J{:x�x��i��~��*�WGS��֋B"!Z���d
"�	�n]�ņZn�`�a�u�~��&*���*T(���'���<Ɋu�&��p�Lɣ��ی8`-
����������!�]�PaC�\ZuhO	��
+
��'��:�t��)a���1Ļ

�z�6�
L&r���Tv:%���R�b���1dA0T�X���wa�?�L��cZ%o7 s	����>����
9ň�A�؃�q?�׻�_R�������? ��E~q��}����pxDMം���8��S��%QiG�Es�c����V蹋��4Z�͑
|�P�î'B��R�M�F�2
�G�
�Ϻ��e�%���R��b.��vW��:��y�ގ[Pȳ��
�c�Ǵ�v���+���6�v'��2�oF��#�����-�]=È�
E� ��d0��[
�i��L
�
�y�u��\���!c9`�E�v�~�E6����a�H�Mn�R���������i�kzKIH��N:�o<A��$ ��|Bt��!r�}(�+<"4�}�l�eӃ�!���"H�֧_�ց����9�TC���I��m1 !�
+�p��`��R�z��J'OjZ��h�N�K�Tw'�\ꃤW�������H�pȞ���o�v#j7_�����
�R5�:{ߨ��{�,Gq2W���}Z?b�&N�]p�}�c䮗�:�
��s�1��A�
�!� �(�4ܝ=p�����/���>b��w�Q"
+�vY���Nd[k����#�ɺ)x�V�}�K3��5	����
��A�����D	����0=��K��
on�d�����A�CD�|�5��ë5Pn���ν�_�8�����N{�������]4=�?i 8����h�7&`-w��C5�ۭ��j���$�&&�F*��[L�u=�t�A!�
9�ݳ.���
+��!!��k\�3;��
+�_�<�:Aj�V}ߏ��$�����01���9�����|^Qw�7u�����O����������މ�y��"��V�%̥4u�����ڼwA��}R�g�4�(D��yS��ӓ���[4/�:�W9�˓�*9�˩;)�N����2�2k.7q�<���;��/LSè
+endstream
 endobj
-5328 0 obj <<
+5279 0 obj <<
 /Type /Page
-/Contents 5329 0 R
-/Resources 5327 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5274 0 R
-/Annots [ 5333 0 R ]
+/Contents 5280 0 R
+/Resources 5278 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5219 0 R
+/Annots [ 5277 0 R ]
 >> endobj
-5333 0 obj <<
+5277 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5330 0 obj <<
-/D [5328 0 R /XYZ 90 757.9346 null]
+5281 0 obj <<
+/D [5279 0 R /XYZ 90 757.935 null]
 >> endobj
-5255 0 obj <<
-/D [5328 0 R /XYZ 90 455.7301 null]
+5205 0 obj <<
+/D [5279 0 R /XYZ 90 455.73 null]
 >> endobj
-5331 0 obj <<
-/D [5328 0 R /XYZ 90 441.1598 null]
+5282 0 obj <<
+/D [5279 0 R /XYZ 90 441.16 null]
 >> endobj
-5256 0 obj <<
-/D [5328 0 R /XYZ 90 251.5532 null]
+5206 0 obj <<
+/D [5279 0 R /XYZ 90 251.553 null]
 >> endobj
-5332 0 obj <<
-/D [5328 0 R /XYZ 90 236.9829 null]
+5283 0 obj <<
+/D [5279 0 R /XYZ 90 236.983 null]
 >> endobj
-5327 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R /F97 1822 0 R >>
+5278 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5336 0 obj <<
-/Length 1999      
+5287 0 obj <<
+/Length 1755      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�F~����R=��e���n/�U���i���=٠��bܬ�}� ��UҪQ
<ù�9���@"
$28RB!ø����>���f�������gW�Jd$���]%A$(����]L"j� �����8)6���9�q�>��U�����Iqx��;��")�b��ǯ��nW��;[̉�m�� �jb������o�[
�������{
���f1�E� ��14��8e~������ʩoT���)�@#�4e$�J
��V2�!D�C�
˜�HQ��d���/yi_
�#�"�(��OԶ�N�
-��K�B�0q��������9l�uV\}�x�Q!��-}�<[�E}�0�.�բ��
c��U-�֖�fn��~���}R
�W�m�f�^�d��*G��r����E��
���/)�C#�_Y���}V�,U����D���2�.Y�l�AFSZ6�M����'j�w�z!0†V��P�X#�#��Ii7�uR6*	��
-��d>�/*`O��͂�Y��."&����z��P
Z�C��`��_4
��5����i��u��Iv�jR��:��շ�����?\s�����
-(Ӑ�D�����/��-�S��:N���
��+ɛ��nX����f+�]���)]
���p,�Q���I�¨�
-�v/��`H+�E��F�x�g;�
�y�锜���5��Jx�ĞN�!��)o�T��)F���7�>[�ه���"�K2�
�3p����`D�.	��c޻�
��9$���lq at 4��55�M�D��J��$C��@Ӄ�iJ|2�+��=�����/�z�����_���v_ڦ����
��_O}��3���H�C�:�1`�F\j� � (
-H�~^��d���5]ҙ���xu��;����3t=�i�3¦<c̥дgk~�3qlu�sB*XrFz������;�k���$�m�L7I��ͥ���*-�9 l
2J	$��cV��k��-w�\"F�ߠ�؇ �BO �'����B��^w�Ā
-�5M��w �d(
ҝm2GR ��
�ڗ4+�l�
-�*��R
.y:���e궮bN�r�
-#Ω
6�>!sĝ�A�Mcjz)��z]k[V�]��TS2lm
k����u�rL&wܾ��5��O�۵
m�������(����ڱ���H�1���ȓ;a
RvءW����0opZ���¤��A�Do���.{>(

-�?=(��0?H8�j���/�&h��D�oҬ�״<�
܊�A`��SJ�ڒ{y�
-O�kp�)c��ώ  ^�6�#g!%��� �	?w8�9���9ô��APP����6�.9<V��`��
�W
Q�>s	��
�����H.�#�)�=M��I2O
~jV�H�t�s�p��-��i�@	���F�e��f�N�L�c�� ޥ��(hJ���f��H�(��UKE
1���<
1�"b@ٰ�f�͙�9hTz"b=!��;��l�	ٲqwϱq�Đ�[�]}˱q7c�@(8m�*Ƭ�
4*ylܽ�i��$�O���El\��ٸ�����8�d��ݕ���A���i��ݰϺ�K�e��`�
]��p
Cǭyp�"��]���l���m��1� V��㵃�9�!�;�2n�(%�Z!h1g(yw�8%��FZ�K(���#%?����gJ�Ԕ�C�) �V�>�k��
�k�
���/�=�e��z�k�J�<ܠ��9��i�Jmn8�6w�J%���͍.�6h��}9�)�^ϻ<Wt݀�K�O�'G7}��Z���v�8���xG��6��j}�aD��<��S�+z�07�� �`"�|�շ"�uWC�;~DŽ�6�ڕ��L����D�i�H=�mg�O�Bč�?'�>i�\��I9Q�ص�L��U��ڌ�Z;

�� }� �w����ǣ����uE���'r���e�}qu���;���m���j�]_
�b�l9`���-�E'��"�4�Cxϖ;���&�o��̵ު-���{�0�oE
-�endstream
+x��Z[o�6~����&5ͫ(�C��7�놬���"Pl:jK�$7��ߡHɒ��N�� �H�:7�s�OR�w�a����h�,`�B*��7[z
+{2 HP���[�D�xB0����`?������b?]��"�.^ŗY���Ξ�DgQ�f�	�����_���$�u2� �)�|��������l�׈�A�#�B"Ʉ7_�޾���_z1z7宵�)���{3�c��3�V�B�0枤"������T_�7}&p�&"��7�+���$΋<0^�
b����3I7� 	a�+oI���njK�aH�M
�c�腕{���3a�UT�������r�I����(YL����*ͷ�M�G���d��ɭVVq����@4L�Hp
�e9�D`-_F�\���(bRU��.
2]l3p9��C����ބSD�l��(t)X��fN#!�C�!u��� Y�k���F'�Z�x(6V��v� .��mI{&@p}��z4�BV;.�tee��|/t�\,\f]@��W���
��0��#ڛP�I�;��y���;4��DŅ@�eP�~B�b��O�N�ڊ�
+?��z��d0-U?�
J�wHZ����`(��� v�0��i�CUp��F�\���QU��G	o��P��Ub��SR
.����4�u�Mqru�$�zT
)^���/h ͌�	��}֛��s��fj�
�
��s��+ʦGeC�����
i��o3m���}O�3���ԥ�`��{��7�B�X\k;�+�N�򷳪��X �	��ܖ!�A�j 
z�@	�Nf���d-��	��6랃�K0�p�
�����aC�1�A�
#X
uL�Anj��K��
+~!�(%~���o�#�f����uTĩ[J�֫��s�״�()P�w-;ŵR�E˼G$#u�ٶ�)tRg��}{������.�� �uTSȅ�&ε˛�:�Ш�YUЭ�܅�eH�u�
;,Ud"��yl��M�lv=
PL��;�٘D��n�GcR������*��u]���t
��ZWfms��
�
�I
i�ӏc*��8�\�c�= �a
8�>
+gP�
vܶ� qL��@���МVLT�M�� z
b�
�t�N>����*A���>�f�N��6AW_��KLng�<Ӆr�s��i�E����E����C�mvt���
�R:H����c�P�>��qn�
`v��C
+2ȹ	b�ޅs4��0�٤�
�֧CQą:F���q�.u
!ג!��	�Z
a�=% ��:�!F���sH%�A@#
j~���`^ ���e� iq�,��,���T�*ͣ�CPe���NDI�i���%\�7\�����E��i�ڇ�(�#

�
H�14��9�z�2L�765I/AMz�o��2&�����.�O���m�7��
<�:V������y���yE���t8�Y)�48��:�k�mn[.���@�
������Mt���T�A��!.�d	�PսKc��t8ӹA�1���e�}
>:f�1⋠��i�D{�D����K�8	G�=�|�8����;a<��Y)[�T82&�®8(1����2��j�ČN�L��$��&�%�K�5J���
K��XRǽ��;����~�.?i��=����
�=�ܤ��F��Gz;u_����\g?����E�6ro7͛��F���y@?��M�	3��hl2����Ժ���F�����hD����E�9�Nonn�<G�$�d(.���jz��{)敇��jY���:�޿Ɖi!e{98��F�D�
+endstream
 endobj
-5335 0 obj <<
+5286 0 obj <<
 /Type /Page
-/Contents 5336 0 R
-/Resources 5334 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5274 0 R
-/Annots [ 5340 0 R ]
+/Contents 5287 0 R
+/Resources 5285 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5291 0 R
+/Annots [ 5284 0 R ]
 >> endobj
-5340 0 obj <<
+5284 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5337 0 obj <<
-/D [5335 0 R /XYZ 90 757.9346 null]
+5288 0 obj <<
+/D [5286 0 R /XYZ 90 757.935 null]
 >> endobj
-5257 0 obj <<
-/D [5335 0 R /XYZ 90 686.0393 null]
+5207 0 obj <<
+/D [5286 0 R /XYZ 90 686.039 null]
 >> endobj
-5338 0 obj <<
-/D [5335 0 R /XYZ 90 671.469 null]
+5289 0 obj <<
+/D [5286 0 R /XYZ 90 671.469 null]
 >> endobj
-5258 0 obj <<
-/D [5335 0 R /XYZ 90 481.8625 null]
+5208 0 obj <<
+/D [5286 0 R /XYZ 90 481.863 null]
 >> endobj
-5339 0 obj <<
-/D [5335 0 R /XYZ 90 467.2922 null]
+5290 0 obj <<
+/D [5286 0 R /XYZ 90 467.292 null]
 >> endobj
-5259 0 obj <<
-/D [5335 0 R /XYZ 90 123.3278 null]
+5209 0 obj <<
+/D [5286 0 R /XYZ 90 123.328 null]
 >> endobj
-5334 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F11 411 0 R /F97 1822 0 R /F13 567 0 R >>
+5285 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F95 1779 0 R /F13 540 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5343 0 obj <<
-/Length 2472      
+5303 0 obj <<
+/Length 1915      
 /Filter /FlateDecode
 >>
 stream
-xڵZm����~�B@W��}咗�@�f$u�Ծ~r�O���H��|��g�\�/+J�
��i�����3�̬���"�
�4��
��]<���W�}���u_�۫���H�`q��hQ�������1��՚QJ���]��.��u���^��m߽I�˸|��y��I�Ey���j�]~��Ue?�M
�r��e�o�Uh�䔯>��t��m�h�%f�������b??]Q"�P-����E_�$n�]���w��>h^�C1qI<� 4P���&�0���gq��-\��X��0"؟�-���Vb�]-ð�_�I
����v�%t����'�>��c�	A"ͣV��=�%2b���/�������7Jy��/w۴�c��
0}̭�oT�o����
��nm�/�\5��5B)�ſ
v�8�Bɂh&6�#ҁh%�^�����$�¶U��n^���iI��јr��JDz(�y'Qztj��g�M�W5\�r٥�Y*�
J	�:#�<F$�B&�������Hs��S�h$��Zrx[
�m�?�}��
[P(��մM}a�:|��-)�T� 
�6�D渷�ݞzT�e�����4����.q�jμ
�,����}���~��8��$H�p7�h��y��b�?�IK�����
��e͛VB,0���%:�&��$�b��L	T����k�>���$�lTSlTÄ(�
B�8��� 3�� �%
-[��
-��g,��0n?>��B��4����#ƈF��G�؟�G��p&b�I4��CYb:��X��%@ZY��IS8�-2B�`Y����Y���j��e�)��uZ��Q�`��]�y]��
-^�yU^��F_�ԇ2�<*e�}v�]��ģ�?b�	}u�C.PStxڒ@w��LqV�L	�~!t@,���9����V�"o��$�&T�4Au��|�|���_�Mj�.ٶ	�������j��C�V���T���A�� 
�d���iȨ�u(.[��I�P�;�סB��˴_��>���de�g��  �lR9<g>(�c�B,'Ub�% ��
�)�ԄoȸWF^Pj6��2o��d�=�i��~��#_�����/E�܌m2�~H�
�vB���`���I�ߵ|g�M`���v at L��g>�������(ʪu<j����5O���)��֛��TYq
�i������C��@>�
-
�H��z�7Y�'�[k�}	$��\�IC���䁥�dK<=�B1*���Jz4װv�����MQ�v\�1�a�A_��)�m��i���0r�򵯵�
g3O�26m�td�i�.hęFqi�d�o�onnW?1R�'�e4m�v �}�!:��|Ƕ��!�Q��k��.�u���-���+�r,=U��a��u��-"
-u`�
��f�omF8�}(�݈}�,+
�>w�l,�2�h)��Y������'��"�G=M�9WSv�[
g�b'u�.�S����~����ݩ����_���L��=�<�B`·��-�=e�A8�
��v�����&;l�� :�:�}�i�����@�Ѱ>�i"�kR��?��Һ�"��O�����z�U6��j(
-*L�5�a�Q��ʼ�c�ɯ�/x�6�kܙ���2��M 3�H H�p��(#:����nv��!�}�~[��̢c�Œ��`"�(K��J��Nn�&
� S�I2�=��'u�J��
�dި#��Q˽c��b ���it9�3��Z��0��]=8�NP��v�h0���|2hs#ь?�����]�@�x��h�B�H{��0Ztb
��i�6��<�]�+
�~L�U<Á�Mf�{�L��	
>erp��촧�{��9#��+n�p�����Is��|��o��4�!Z��ŷI���L�tbgSd�bwqy�.E�y��ޝcAf
��|l:�s>��Gݬk}�a���?�\
-����4�Ě�*y�Y�Fn$}yؘ&s
-�~o�C�m��f����eZqL
J����1:(L�'Q
P4�h
-Πڊ�
P�$��{��P���rT�x�G��
���52�Y��rd�d(:�3nL�B1qC��3
�Ǡ�:g
O5
�����ټ���=�Yy��1��N�x�M/i���ܓeI�F�~���8ͻq��69�ˮ����t�܅�cw)sQD'O\Vu�BB
���/����lu3B2�.�'�Ex��l���]�3��y`އ�:�����S����G�
 �
E'u���Bx�ë�j�
������96h��K�r%�r���}��ؿ�{�~�;��ب��}FR��
r>!�������?t4�
��m�yc����Rm��]�uCt�t��]��]��Jʿ�˵�W��C���-E?UIYuwjp�i��m��%���㸘�|kd���p����{a�{Í���N�=?���������l*r��}I��z�Ϯ'����_��uB_���)�����n��W�47?�4W�$����q�
˞Sendstream
+x��Xێ�F}�WX�+QO_y�
8Nl$�$�=�46ٚ!B�
/
�﷚�͛Zg

)5��OU�:E��{�{���fu��g^�"����ދ��	J��Ի]�H�����͆�u\�ݛ
��2?>ȴ�w���:���ׯd!�-�ݻc���fK^���їo�^��e�He�|M1�|��y�������Gz?D�&�䰺���~��ÈE��د:x�2�νw��W��(C�����`�j�ǭTn\�$d�l!�
�O~�W̬��<�
�c%�� g��X�l"����__!q-)
�P0k�_��	F<"v�]Y��f�ˊ��"k��4k���A��B�x�~� �?TDe��*�ޖr�|x[@(�_��
��C&'�%h�}�BP�[����E
+[k�6��������E,f[=�+"1_����a��0v���:)���9_٭n�{��7>96�(
+�߹�ѹ��
�I\N18��m�iV��~�j�V>���i�
����@
+j��P��Cpe3��
*�

�}�m�m�'mC�Y�
��9}[K�@��R��J�
�^B �\?�<T]+
��.����f�|E-aa�`�Ē�� ��o�ʲ���N��R�C��0�
"�vA\�.�|(�`��3#�3,@:�I 
 kЌ�?�7[���(0�H�����"(�7Y5¥6� ��/��<�4$r�����>���2�J`�_7 at A���[�㪪�O�!n����{�W����hK�O! {B�֛�e��E��C8�@�m�I�Mh��~;� ed΃�7b1x���Ƶ� �4.!��Ǭ�&}+�Y��<��Z��FT�*DmA�
��O�)���I��&SS�G�	(�L����9@��E	Q�ԏ����<כ%=�n���\�z_��V�@�Y
Ki�R�F}�qC!��,�˥+
�2(<m��+o�����0��#��_ᤱ��3�tP����e
�s�\ �^e+��ͣ�� �",�~�C5*$!�C�;�4�K	1D�,rM@�'Re m�r��M�{+Z̦�C܎��U	�����8��$/�n��[�}��{����Ʈ�%�
+ٸ��
�`��k��j�֔f�"G_��pD� )��i��i�i���i�����{�����;�������(�KQS:Mp%���v*]�d
4�!�	�_V�Sqz}}���
&���
+R�③]�Ac	�QI[i胘���Z�s���k��
�Z�0�ϑr�tY�����S�͕d�l���ܘz���Â��e����
fT�/�]�
�XAX���R1_uۋת���� �Ƌ� Z3j����O�ΨP��e�禁M���7�	r��7�dE�w�S�2D�r<�&�)z�17����9���?a�T�� 
��
 X�O�}
t[d�yi����J�)���+��}&<�۫:Kw'�\�y��|[��GHnW��1wR(#
���%6��D�}�l���@��?Q	�./BԳ� 
�x0���{g��$�)��j)�M|�[a֪" �[K�������ҾSL���9=;�4B�ာ0
����,Ѧ�����eW$Z�})�Nh�s���:�e��83*G��.o7c,�.Q�	��v�X����
+SМ������[#E�v�)_���M��Ƴ��	}�\�O�
Z����lm���
޶qV
���g�4=z ,���?���
� (��~:\
1
�x�?�납g�͗��z����a�J�긝�φ��˷�>�I��}I߿���oT��!�
+l�a��62}k����O#�*MgR���|3��Q��u3H9��SՒ0�'Ҥ�NJsr}�?<{�o�G�)VMl��m[]_]=>>��A]�U5��+�W�4;Z!�`�}y(��j��5�<(��t�h�
+endstream
 endobj
-5342 0 obj <<
+5302 0 obj <<
 /Type /Page
-/Contents 5343 0 R
-/Resources 5341 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5360 0 R
-/Annots [ 5347 0 R 5349 0 R 5352 0 R 5354 0 R 5355 0 R 5357 0 R 5358 0 R 5359 0 R ]
+/Contents 5303 0 R
+/Resources 5301 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5291 0 R
+/Annots [ 5292 0 R 5293 0 R 5294 0 R 5295 0 R 5296 0 R 5297 0 R 5298 0 R 5300 0 R ]
 >> endobj
-5347 0 obj <<
+5292 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.9124 331.5276 350.3811 342.4315]
+/Rect [139.912 331.528 350.381 342.432]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5349 0 obj <<
+5293 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 277.6442 192.5442 287.5719]
+/Rect [135.768 277.644 192.544 287.572]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
 >> endobj
-5352 0 obj <<
+5294 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 195.9054 190.054 206.8094]
+/Rect [113.91 195.905 190.054 206.809]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_605b7611d045e0ea0ff47c2ec36c2268) >>
 >> endobj
-5354 0 obj <<
+5295 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 157.0511 190.054 167.9551]
+/Rect [113.91 157.051 190.054 167.955]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_9db5a39fe27d6c659e9c6ce626e83dfa) >>
 >> endobj
-5355 0 obj <<
+5296 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.3911 157.0511 259.2139 167.9551]
+/Rect [217.391 157.051 259.214 167.955]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5357 0 obj <<
+5297 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 118.1969 190.054 129.1008]
+/Rect [113.91 118.197 190.054 129.101]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ed024de0dc1ad69e380f706d25740cb0) >>
 >> endobj
-5358 0 obj <<
+5298 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.3911 118.1969 293.5348 129.1008]
+/Rect [217.391 118.197 293.535 129.101]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5359 0 obj <<
+5300 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5344 0 obj <<
-/D [5342 0 R /XYZ 90 757.9346 null]
+5304 0 obj <<
+/D [5302 0 R /XYZ 90 757.935 null]
 >> endobj
-5345 0 obj <<
-/D [5342 0 R /XYZ 90 733.028 null]
+5305 0 obj <<
+/D [5302 0 R /XYZ 90 733.028 null]
 >> endobj
-5260 0 obj <<
-/D [5342 0 R /XYZ 90 550.9288 null]
+5210 0 obj <<
+/D [5302 0 R /XYZ 90 550.929 null]
 >> endobj
-5346 0 obj <<
-/D [5342 0 R /XYZ 90 536.3585 null]
+5306 0 obj <<
+/D [5302 0 R /XYZ 90 536.358 null]
 >> endobj
-1532 0 obj <<
-/D [5342 0 R /XYZ 90 435.9632 null]
+1492 0 obj <<
+/D [5302 0 R /XYZ 90 435.963 null]
 >> endobj
 206 0 obj <<
-/D [5342 0 R /XYZ 90 429.363 null]
+/D [5302 0 R /XYZ 90 429.363 null]
 >> endobj
-5348 0 obj <<
-/D [5342 0 R /XYZ 90 295.6418 null]
+5307 0 obj <<
+/D [5302 0 R /XYZ 90 295.642 null]
 >> endobj
-5350 0 obj <<
-/D [5342 0 R /XYZ 90 214.8793 null]
+5308 0 obj <<
+/D [5302 0 R /XYZ 90 214.879 null]
 >> endobj
-5351 0 obj <<
-/D [5342 0 R /XYZ 90 214.8793 null]
+5309 0 obj <<
+/D [5302 0 R /XYZ 90 214.879 null]
 >> endobj
-5353 0 obj <<
-/D [5342 0 R /XYZ 90 176.1445 null]
+5310 0 obj <<
+/D [5302 0 R /XYZ 90 176.144 null]
 >> endobj
-5356 0 obj <<
-/D [5342 0 R /XYZ 90 137.2902 null]
+5311 0 obj <<
+/D [5302 0 R /XYZ 90 137.29 null]
 >> endobj
-5341 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F13 567 0 R /F74 478 0 R >>
+5301 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F13 540 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5363 0 obj <<
-/Length 3185      
+5343 0 obj <<
+/Length 1631      
 /Filter /FlateDecode
 >>
 stream
-xڽ\�r�}�W�I����/���8�K�SQ$��`�X+`I�
,�ݥ��ӳ�3��`f%*�K q�}�wNw�$

����
%2���z�w���H��
-�_��?��z�7)I���mcA$(����_�� ��Wc�|sM�2+��͛k������|Sf7?o?�Y����y��Y}(o�=Vu��^Q���ﲪj_��o���e^�sk�)���]���ǫ���D�q&�����_~Ë
���+���b� ?`D���������zw�Oo�}���T8��+Ƒ��ɓ�
a)����A���3�
f��+�b8&��ST�Ehp�#�	pn߳�)ﺷ�� �r�

�����a�-��PR\kp`1�G9
��H���hV
���1�E�<���8�
-I
-kD(�tM$Lrp��yQ�����F�K�^�7��AX�����K^����sMY�S��i��Ϗ9z�"#�G�LN�9�@"19;Xzn:�sL���5
�%'���!���\yP���,��y1�H1AJ��xr�

�=�j}����4��1����=(ᙃ�
�:[��
y��I����;x����G�8HB�����8(~H�`�7��1�j$p�R�sRMh#�j<̲����w�>/궀�IrM�2K'�Ú^2�p���:�|
,�}�租8;�Bv�-���
����x*��Pq�q���	�\�$O����:��l�� �F:Jt�Q	
-TP�QX

�+�ͼ�L~*2�8��,�6b�q0K�m^ߗE�z����S�ZE����7��y�Ĺ}	
��Pm���s"����FJ��w��
-��* qH��a�۪��B�(�:�iq���lAq�|n����
,-����A;Tʯ�m��S�
�nF�a��1�}Z��b1�kY�wyV�((1R���
*�XH��a��'�da[
��9�
mD��a����d��w�v��������?5P]��my���O~��j��̊M�˼�m݋@҃LP��I�	��0F^PvB*$y[�#���B��%�:���&e��=Cv	#��Ŷ��r\{����Ib���,

����ꛉ��)�g��S4Fv{��
�Q��!p��kJ5�^A�]����
h
��؈�
��^73�	��*�L �x?�^3���m�d�:>�h.��k�W
�4�L�M8�.̎�|ㆹ.��Z�Yӣ���y٧4�]�:H��|s:rX�Br�l�N��ωeCKg��`,���l��p8�ƙP B�{~#��ç��Z��X?�(H�0��d|��r,)�
��~��aHsc��	��XNp�p-0�� ��鼼�O��t '�g
�ݣ��D��
-i*�s���c�)�8�ک�
-�iC.(`��^��	{XR�����~��{~�y{����)Q�
-�N�Oഒ;x���j�Ir����xӝ�s��ǣ�P)�F")

D����0!��rh#�e��dM�=*�M�
�ȳ��)6#��i��~f�5�c[yT���Ę4���x�uS���
��Ӽ��C�dP��h3�5Y�
E�'��'���0�Ɖ#�u	�{�š�ה�?^�81���|�V����#˶�O��(�_�
 7�6���^f��劒�p(e\¬d0��t���S�ehw�t�P-���T���Ztg	�9P�җ�	
*.��UKׄ�`�&������YzfԄ8��զ�������Xb�
(��
������f/M�:�
m�j�����ɝڽS;���O�j9|����L�+��$•G�X������Rv�#j�	�����=,-��`L�q�^�����w�.�`d�2��O#�
敱:��ۡR^�<���/tf���>�$4���Y����v����&�xO�f����r�n(k�n�#����"�L	�e]����Z��:>���0B�a$�:a��&�z��gl�&X��6�k�z������Z�a��U"��b�
c�"�?W���FL$f)���JS�㌉͎沛�ͫz���:/˩MF���ɺ���}��u���ӱ��ʋ4
�N�
�F\�wF�t>�/�`ʠ�b�3RK+80SpܯWp�7���9
-��ٝ��h
�
��܋=(���.�;-|Q�U5�Hs�9jh#�j�UOhF!io/>���
9�g�350�/y�J5G
-��٫�%�
��9��ɹ�7)��rN��m�U�m1q�ʐbX%��P)�B�
-�
�>���J��N!C�z����Ʀ�������&3�A�(������S�(U*�6��}U7B
�gC��!��v�!�j�DR�B�
�<c�\ -x���Ҫ
�T��U���O�~g�O
Fv�
-��Ml�
-$0����
*�])d�a�����(০Ð��Y'�����
�r�bd��$O7�&t��TGK��,��`�UnIOWn��pe
�c�as��7�o>�Ί
�c.1;9�<>���~/����[
�]z���s�n�Ǟ�ʣ
�ֺ��QhOz!�͍��
%0���vi��A� #[�Mh6��w��B@�\1�#'��
-��9'�zp�]ݯ�yU��ル�FX*g�6�U��
Lm���H���T�#i{�aQ���
������o�'�9\��>��Ǜj��|�޺��C�pǘ6��U��a�RP�d�p=����v7
�mq���.l��ZAƗ4Jw�Q	"ϸԃ:�ln��Ω��H���'M;����;�Ϳm8�o��A��\���|�>5٤Z!��G}��bO.�
�
J_�+��������<_�qv^�!��ҏ0�|�Ǚz�L����:/�t`�"����^yT��
	���~F�Q��:�
m�2���� _.�}Vd�E{�#�~�����z�g�
-����hXr��A�����,�~��C��흾��;	#��r����x�VxX"���
�TJ
�o�9��j�# ���S
Fv�|!���rN�A�� 
-
V�=������AZ
-l�Ғ�YV�
���@D��[���!��4��'��{�'3�������(�j���gLd{����E�M���M`�
�5��~CEt�
�]��\:)��޸?�����ݎ��Uy����*�߳��u�V�����|��Pm
-h�
}���-P�t܎[������O�%������(Q�hGv���u}|�����ZW��
K��_
�����B��;�=^ç�@#.���;
-
-V�=.��KiP{}��_��L�&NP�?!i2endstream
+x��YYs�6~ׯ�S*�D0@<��!M�L�N�؝>$
LB2'������.^���f�<xD���b��� 6f6�
~�\����!�6m�fjx�pl��I����4$w4&��Ո�!�">��x��Ww"���Cx��luy�F�"�y�M�W2�hl2<|5�R�Ǐb*�q�"���J
khbk�����������A
+;��
�
?|��� ޿30��k,�Q�a�~����.ׄ�kc��6�mdQ�pL����?�&+�7��lV��
�1�.r�e{�MO�����r˭�l�����Tx�3f�Ȇ)���c�Z϶-%
Va2cL,�Y�V�y��ALj2D�bqk��Mٖ	�y�h���
���=+_v�P��TK�e�c�$��~G��:�ÕG�.~)e8�#���aC~�!�!�$��T
���)�Ť��7���^?�[E��������v�����{Q�pc�~�l1Od�4�<����.rl��#�z�e!�|��B�Ǭ/�
��}"��A��%���,ѻ/�g�h.x��T�
M��L~/Jx�|���L}W�j
 �ߦ��b�$:8E���x
�/E^
+
���A�'��ϯ��c)���ՙ�f���ma[�Ӹ�&�!q�%�!�P���*U��
�ގ�m�.C�W˜uhe���}^-��F�
+^d�u��"�ٺI]!V��

��@#�@�GE�m������|�D�y��u�@E!F@庚�I<_�^�D�A.x��t�f�
/���})�Dh�	(=
+��I��Q|ȷB5
�l�6-���*5�YA��m�Ԩ4	� 
��"9W‹ �Ԯ���
�VS�tG�	K!��G�X�qh
��#�4���ϣ�E�a+Ȗ����:�^�]���V����c���r��a�Xć��C�~L-�c�6
y�2���cs��￳�^�	_�._7���R���B
Wu��]n�<�"��_�u�~N�E�~g���A�Ⱥ���
-���@���/���<�Ȯ�4^�/�_�}���S�#��o����
��b�ٛ����gSs��͉�3�˶�<�
�t�m�g�9h�a8�CI
N3(�3}���U?X��V�Ng�x�$��bќe�I
m�VX
��Kt��S�i
5/^t(WѦ�?��0{NO۠��<��^·
�`h| ]��6iN+:B�"b��lwL��v�X�
�ߝl�aj]�4"�F
_���j��@r�'�r��w�g%�@�6����>�
G.
��F����j���zM�}?)� �/d
BqL	�ӄB?���IM�\���r��?�Z��psR8�s�)ك�hH���Ta
�{�o$�$[Md��8�7Or>��s�xr�R;�9j�’XC]��xUo�[F����/�Pլ�l�.u���s�J��Np�T��"&���'�A08�����i�>��y?v��VL&���X��\��;�❳����z���B�!�O���̗a~�!�@�]+[
8#���M�
B��;򢹺X�����Ҝy���_7U�_�YT��_U7�����\���Oj{,���U�T��+Q"k�E0�}��� Ta[�ע�
zy_������gc����q��<O//.��%�%Z�a��0�H��Ś/7�N P��E����]gx��:( ���q��
+endstream
 endobj
-5362 0 obj <<
+5342 0 obj <<
 /Type /Page
-/Contents 5363 0 R
-/Resources 5361 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5360 0 R
-/Annots [ 5366 0 R 5368 0 R 5369 0 R 5370 0 R 5372 0 R 5373 0 R 5375 0 R 5377 0 R 5378 0 R 5380 0 R 5382 0 R 5383 0 R 5384 0 R 5386 0 R 5387 0 R 5388 0 R 5390 0 R 5392 0 R 5394 0 R 5395 0 R 5396 0 R 5398 0 R 5399 0 R 5401 0 R 5402 0 R 5404 0 R 5405 0 R 5406 0 R ]
+/Contents 5343 0 R
+/Resources 5341 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5291 0 R
+/Annots [ 5299 0 R 5312 0 R 5313 0 R 5314 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 5340 0 R ]
 >> endobj
-5366 0 obj <<
+5299 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 719.9123 197.8027 730.8162]
+/Rect [113.91 719.912 197.803 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_6135986b7669c295a1855279a9347433) >>
 >> endobj
-5368 0 obj <<
+5312 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 681.058 190.054 691.9619]
+/Rect [113.91 681.058 190.054 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5369 0 obj <<
+5313 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.7936 681.058 241.6001 691.9619]
+/Rect [200.794 681.058 241.6 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_804b0e848b19f18d99664d5bbd57a3f1) >>
 >> endobj
-5370 0 obj <<
+5314 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.9373 681.058 345.0809 691.9619]
+/Rect [268.937 681.058 345.081 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5372 0 obj <<
+5315 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 642.2037 179.5535 653.1076]
+/Rect [113.91 642.204 179.554 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5373 0 obj <<
+5316 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 642.2037 250.6661 653.1076]
+/Rect [180.052 642.204 250.666 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_af6afcf59d181946f02b27418d9b651a) >>
 >> endobj
-5375 0 obj <<
+5317 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 603.723 155.2649 614.2533]
+/Rect [133.915 603.723 155.265 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_a33b89d7143376193110dde339707b0d) >>
 >> endobj
-5377 0 obj <<
+5318 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 564.4951 158.0444 575.399]
+/Rect [133.915 564.495 158.044 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_cce6ad80815e7d09970ed92968967585) >>
 >> endobj
-5378 0 obj <<
+5319 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.3815 564.4951 227.2043 575.399]
+/Rect [185.382 564.495 227.204 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5380 0 obj <<
+5320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 525.6408 161.0133 536.5447]
+/Rect [134.114 525.641 161.013 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_ad63aea0771a124cfb70c8e8e80779a3) >>
 >> endobj
-5382 0 obj <<
+5321 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 486.7865 195.1648 497.6904]
+/Rect [171.185 486.786 195.165 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) >>
 >> endobj
-5383 0 obj <<
+5322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.4421 472.1657 226.1119 482.071]
+/Rect [173.442 472.166 226.112 482.071]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
 >> endobj
-5384 0 obj <<
+5323 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.1476 461.2068 227.8174 471.1121]
+/Rect [175.148 461.207 227.817 471.112]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
 >> endobj
-5386 0 obj <<
+5324 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 437.3469 187.5633 447.8772]
+/Rect [171.185 437.347 187.563 447.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_b174d3f8d008aca83801ae0de294528d) >>
 >> endobj
-5387 0 obj <<
+5325 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4816 422.3525 271.1514 432.2578]
+/Rect [218.482 422.353 271.151 432.258]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
 >> endobj
-5388 0 obj <<
+5326 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 398.4926 150.493 409.0229]
+/Rect [134.114 398.493 150.493 409.023]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_6b57cf93153051d3aa63c33e34ee4127) >>
 >> endobj
-5390 0 obj <<
+5327 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 359.2647 181.845 370.1686]
+/Rect [133.915 359.265 181.845 370.169]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_9fe4a78fa5899317f5a060d7b607b5c1) >>
 >> endobj
-5392 0 obj <<
+5328 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 320.4104 181.845 331.3143]
+/Rect [133.915 320.41 181.845 331.314]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_7b9d70f9508c08b9a86272878ca03b5f) >>
 >> endobj
-5394 0 obj <<
+5329 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 281.5561 154.727 292.46]
+/Rect [133.915 281.556 154.727 292.46]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_25fce97f25e1814c62ec46b7a04ee942) >>
 >> endobj
-5395 0 obj <<
+5330 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 243.0754 176.5049 253.6057]
+/Rect [134.114 243.075 176.505 253.606]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_37abf9e26c109cf608ec7829284883ec) >>
 >> endobj
-5396 0 obj <<
+5331 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 228.0811 450.9552 237.9863]
+/Rect [328.408 228.081 450.955 237.986]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_7b9d70f9508c08b9a86272878ca03b5f) >>
 >> endobj
-5398 0 obj <<
+5332 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 192.8886 191.7178 203.7925]
+/Rect [113.91 192.889 191.718 203.793]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-5399 0 obj <<
+5333 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 192.8886 288.8524 203.7925]
+/Rect [192.216 192.889 288.852 203.793]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_b0063024b3761b3ff89c3f259ebac6fe) >>
 >> endobj
-5401 0 obj <<
+5334 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 154.0343 191.7178 164.9382]
+/Rect [113.91 154.034 191.718 164.938]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-5402 0 obj <<
+5335 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 154.0343 303.0791 164.9382]
+/Rect [192.216 154.034 303.079 164.938]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_7072dc2f1979eb1198aea49e10bcd59d) >>
 >> endobj
-5404 0 obj <<
+5336 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 115.18 156.2812 126.0839]
+/Rect [133.915 115.18 156.281 126.084]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_02e5a05e31a64af8bb2652645f74190d) >>
 >> endobj
-5405 0 obj <<
+5337 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 115.18 236.2405 126.0839]
+/Rect [160.097 115.18 236.24 126.084]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5406 0 obj <<
+5340 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5364 0 obj <<
-/D [5362 0 R /XYZ 90 757.9346 null]
+5344 0 obj <<
+/D [5342 0 R /XYZ 90 757.935 null]
 >> endobj
-5365 0 obj <<
-/D [5362 0 R /XYZ 90 733.028 null]
+5345 0 obj <<
+/D [5342 0 R /XYZ 90 733.028 null]
 >> endobj
-5367 0 obj <<
-/D [5362 0 R /XYZ 90 700.1513 null]
+5346 0 obj <<
+/D [5342 0 R /XYZ 90 700.151 null]
 >> endobj
-5371 0 obj <<
-/D [5362 0 R /XYZ 90 661.297 null]
+5347 0 obj <<
+/D [5342 0 R /XYZ 90 661.297 null]
 >> endobj
-5374 0 obj <<
-/D [5362 0 R /XYZ 90 622.4427 null]
+5348 0 obj <<
+/D [5342 0 R /XYZ 90 622.443 null]
 >> endobj
-5376 0 obj <<
-/D [5362 0 R /XYZ 90 583.5884 null]
+5349 0 obj <<
+/D [5342 0 R /XYZ 90 583.588 null]
 >> endobj
-5379 0 obj <<
-/D [5362 0 R /XYZ 90 544.7341 null]
+5350 0 obj <<
+/D [5342 0 R /XYZ 90 544.734 null]
 >> endobj
-5381 0 obj <<
-/D [5362 0 R /XYZ 90 505.8798 null]
+5351 0 obj <<
+/D [5342 0 R /XYZ 90 505.88 null]
 >> endobj
-5385 0 obj <<
-/D [5362 0 R /XYZ 90 456.0666 null]
+5352 0 obj <<
+/D [5342 0 R /XYZ 90 456.067 null]
 >> endobj
-5389 0 obj <<
-/D [5362 0 R /XYZ 90 378.358 null]
+5353 0 obj <<
+/D [5342 0 R /XYZ 90 378.358 null]
 >> endobj
-5391 0 obj <<
-/D [5362 0 R /XYZ 90 339.5037 null]
+5354 0 obj <<
+/D [5342 0 R /XYZ 90 339.504 null]
 >> endobj
-5393 0 obj <<
-/D [5362 0 R /XYZ 90 300.6494 null]
+5355 0 obj <<
+/D [5342 0 R /XYZ 90 300.649 null]
 >> endobj
-5397 0 obj <<
-/D [5362 0 R /XYZ 90 211.9819 null]
+5356 0 obj <<
+/D [5342 0 R /XYZ 90 211.982 null]
 >> endobj
-5400 0 obj <<
-/D [5362 0 R /XYZ 90 173.1276 null]
+5357 0 obj <<
+/D [5342 0 R /XYZ 90 173.128 null]
 >> endobj
-5403 0 obj <<
-/D [5362 0 R /XYZ 90 134.2733 null]
+5358 0 obj <<
+/D [5342 0 R /XYZ 90 134.273 null]
 >> endobj
-5361 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F100 2135 0 R >>
+5341 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5411 0 obj <<
-/Length 2958      
+5377 0 obj <<
+/Length 2010      
 /Filter /FlateDecode
 >>
 stream
-xڵZYs��~ׯ�C&���(~q|U����*Ƀ�RA$V�
 �$���

d�\*�F�7�=}d�ᏬR�RB��q��
���
���"���oc���\��Z�U�RI���� 	������5!�$�-���n^g�!�}��x]�����n�^�5Y�|}�M^�M��������-x�E���
��?�͆$���+S|M1��t���W7�ۇ`�h�����'���~��ˆ��X=�F$M��p�)�����>��y`J
���ȃ2��`F
ﻬ+vv7oOw���`kf����uE]�S���8����}F�
�q���E#��R1\�`x����¢��M){��V
�eY�8UiY}��w$�b �|����/yՂ�o��c>B1EX��g�OO���<H�N$$X�<�@�<dO��1���i*�l��@��!U(!I_S?b�៌MD!"�J&`S��������O��룵�yX���%��MAir^J�z�w��r~�{�� $V
N�q���Y~�2 [...]
-�J�-,
�C�$��1�I&�
C�c�1x2��A$C�Ӊ�eg
-I���i�T ��Rtd�V
1�3��u�����:C��x���#��i5m�BJR� O��z�QO�/�v�ሤ����ǜ�{2���
�~���4���O{ q��%{d��
3����u���֍�}�w7eM�S> q��=��ߐ%�d�IE��I�Z�@!E)!}
��?�0*_*�@�����^����u�{{��
��YN�"�y�
JU�+�p��x͹�y̜�@v9�m���;��Q
6�e�.T������q1�(��vuY��~a
c��D��ԭ}�U��.���A9</�m�Z 7��]v�JC�^��c
�-� I�+�2���Do``�X�8�����ro#Y��u�Y�U�n
�>������	EL�˽��`& �� 0��9 ,��@oݶ�__�m��;2#�G���>��!��/�Հ꣍ V�pz"_���Vф�}6:Ȑ�`.lV^�j
�
-	�
��kBf�31�Q���/`�_ at 8����R;e
V��0��K�>�o���
-L���x���L�d�?N��䎼�3�7��˾�
�$�
SF�9�^��l�cD
�<����c��^.�t���`홲��/��5~�ѴՏcgE at i�,H�S-���H0�
$>`�x�(ѝ����/!����5�^�>a� t.�ɼ��@�(���|���pY�O��K%� ��^��VC����"A�
-a;/����(R�
Q�Qmc��(��� gnF|ϳ�$�0L^�>#
s�ӓ��8�|�{L&:C�v~�Cv�(ᢳ���=��P� _�(/�]��}�6#
�9'S|+�^�!�^�}�C�P��˼�5űso#���ǕH����{�=
-�$QHRn5��.b�t]����:7�G�L�Ǹ
Dt�,!Mb�K�������)8���J]�\�R4�S�0P����=
Ekő�/m-*#m�;K4�u�ʑR���TvE�G�>˿�5
-��D	X,�6
�c��c^=q��'5a���K���ZX��°���:ޕE��$��u�=ۡ\��UK��uV��`W����Xpa)�;CV��y�+{��ڼ�lmN��o;��Ǫ׭�_r�|x��Z���z�ݖ|�����{^YY>�)���ϧ֖�@��v�U������~��C*
Ҙ 
|�x�&��������C�������_ݸ;z�Z|��k�^#�^X�9
fi$\?>�;,��!Ϫ�;�m�H;�ٟ������=�ˣ��f�
��1�v�i�v�e����gl��Z�0����P��Z+#nïW
-_{���G;kMg��`�0��ܑd��=
���BOl������v�e�c�w�/��ܯ*
Q�^��	��S�׹�񀤨m�����ڴ'���ȿ��
�ԫӞҁ�I�\&�Z�ڐ x�hSHv1
c���l�c��ql�}��6e9؁y{��
��	P��p��O�Ͻ�����5EvWF�L
��	g.Cy������h˘�"Q� nZ��E&^S��0{p}��,k
���
�LF�:9��KȞ�.��d�gr�
���J'|��S�*(����o'��V�7҇��+��m=�]q1A��ZL픑��
_Hm��hS��:��0fʼт�����ډ%�(����r���@��h���%R�q:������W~k/;���wv�!��G�lDb�a�����ZK�
�FH�8�3�՟A8;}*
8�N�O	~�w�h����Ț.o���љB=˅~?�z��T<޳
���]�ҧ���Ε+���@�ls�!I����V�*�z����i"�K����0E�3g�SM&��ܷSG�E6_�QI�>�'�dLSb�
-$9��������ÑJ����
r *�'���)n��ύ?b`n�ގ��Z{b���F�6��Ӆ"�� ���	\����c]�݄IG4�ʲ��L��էv�.�e'���>80w`��!sL�z2w� �b�N�]�l��v>ʌ6ك"��)aa��9�fQ�@4�
;���OQFT��xĒ��j�(�~tp�gO�~�[IW
��˾TN������TҜUm��7ruS���d�xD��ؖE���D]% l�!i
���ū�N%���|�ٻD �37_��>����&{�J��_ �?l�X�M�U'����l�Os�^�b_8�~����T��M���w���ş����[�w;����u��7o
ѮE��86���
��Q�Q�j��9�m�KO�,��3,���vo��O��
-&uiWW�
V7P'��XN�@endstream
+x��X[s�~���SJ�+� xU�n��$�v�v��݌&a	)E0�����
� E˲�6mg� 

��w.@୽����O�W�o��$O�Ļ}���KJ�z�������l��A��4�y��w�a�j�e���,�[��W��E-Zޫ��f��b�X�q࿮x���x�f��
���4�� ^�x���W�W?_Q�+�#NI�b��^}�1�JX��
�3og��^2������^gu
+	�u��y/
���p_���b{��.z��Έ�x_���	c���e�2
	�d�1
�=އe
���P��5l�V���FZʭ�;8���7�˳{���kx!�����5�� �Θ:����@�$�j�:IzK�z�f�E?��uc�
w����F�ű"8���6�Y�؟B���6�.+�w���<㮥S
��E�2�}2p��y5d-{�+���-
���}�B����!>AX�f�x��b������\����γ�E�J��P�E��k���z]���p7��{���窮��"�W+PK{Uk����:�l������$�<
�ry┪x/��|�� |��� �[�
g
ޏv��"o�V��vR9
�Y�>c�`��zQ�V��[���_��jl�"��:0B�
���g�ZJ�,w��
'D�^�g�`�]
+�e�����F���7�����CڂR���z�G/�C�E���L���Y�������-Wl[�
ڭS�?{|u�?a�<c���գD[������Í[��z�ISv��nQ��g0
��a�z�����m<�
�t�e	��9���8��^�P�
) V.�|)���Moۯ�9拧)U=��ڙ˘�	���ݩ�q����'Q�v
[Y�27,�*x��@���FvȎ㏓Ve������Ě$��a�m������z���W, -JFM��R\���IWa�|���7UG
 d�N⠨T7�����D�G�6��O��D�c��m3�\֖/R��칮K��c�܍��DV��
���ƃWPfa	l[�4tX݀�S�j���RU8@�·#+�`�����R�^�
��l�[+�'�D����_���n���8R��m<�YT��XH��6���Pڥ��u��^�
�����V�Rl�~���f6��f泌�J��.V����16pXi$�� 't�١�"~�S"b� �*b��dD'�k!,	ǟnh���q8~��p��Ր�ίvR�V
Z��b�jl���qp�5��"��Hd=�1{�Qk
��]N
�߾}�:wbx�J麑I)��k�x��-\U�x���#�6��UH�PH;��4l]�?4��t_�[��I���SYJ�,v���Dy�u6s�g'�$$K�r�����4���IUU���n�\A�=�S���2]�A��V��[������i���0��L'iucБ��:
f$L#|a�
���K�=��f� 9? �V��16���#� Ui?:�u8�q�0.m���>ٽL���
)��	��1}̺�0��3���9tD�V>mLWy�� �V�ՉL��m/:�M�C��q�k��es�jD`S)�]��M����� T�f)�y�1�P�4<�H����2�X��c>}u�[wG(���;���%J���;��?����;����ߛI�Л,�
wD��:A�@��A�R�ř(d�Y��+������v�ttc��lRdǵ�j[�5�.�)��u���� ��$��B�{Q�o��ˊ�^�6����r>�I�M������� ����X��)h)=�ڤ��z�tL���2h:[�����b4&1
�&b�e����Ig��H-xY

Ȅ
cN��
n�d��\��庛�����ʵ+�Oj���%u>����4ZO�vD�K_�͋:����"�
R
M��yMwWI;u�I�ڻ#N��nǾ�{^�
�A���

�B�ie�'�[��p����? [...]
��_W5�;��!~
+endstream
 endobj
-5410 0 obj <<
+5376 0 obj <<
 /Type /Page
-/Contents 5411 0 R
-/Resources 5409 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5360 0 R
-/Annots [ 5415 0 R 5416 0 R 5417 0 R 5419 0 R 5421 0 R 5423 0 R 5424 0 R 5425 0 R 5427 0 R 5428 0 R 5429 0 R 5430 0 R 5431 0 R 5432 0 R 5434 0 R 5435 0 R 5436 0 R ]
+/Contents 5377 0 R
+/Resources 5375 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5291 0 R
+/Annots [ 5338 0 R 5339 0 R 5361 0 R 5362 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 5385 0 R 5372 0 R 5373 0 R 5374 0 R ]
 >> endobj
-5415 0 obj <<
+5338 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 697.7559 203.0748 708.6598]
+/Rect [137.432 697.756 203.075 708.66]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5416 0 obj <<
+5339 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 697.7559 296.3242 708.6598]
+/Rect [203.573 697.756 296.324 708.66]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_d53075833d1bde0c9e36dd70afb4b967) >>
 >> endobj
-5417 0 obj <<
+5361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 683.6438 345.5988 693.549]
+/Rect [277.005 683.644 345.599 693.549]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5419 0 obj <<
+5362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 660.2925 194.2975 670.8228]
+/Rect [157.437 660.292 194.297 670.823]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_071ec60375df0a0f5051dc431f445e37) >>
 >> endobj
-5421 0 obj <<
+5363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 622.4554 188.7586 632.9857]
+/Rect [157.437 622.455 188.759 632.986]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_02b52b4ef5b1806566495cb7b6d35abb) >>
 >> endobj
-5423 0 obj <<
+5364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 584.2448 237.0967 595.1487]
+/Rect [160.953 584.245 237.097 595.149]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5424 0 obj <<
+5365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.8364 584.2448 309.9031 595.1487]
+/Rect [247.836 584.245 309.903 595.149]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_6e9c19c25562f9d1a71523d00b337450) >>
 >> endobj
-5425 0 obj <<
+5366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.9649 570.1326 398.0064 580.0379]
+/Rect [290.965 570.133 398.006 580.038]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_600c942b0a2e94b550ccd84ef9c30928) >>
 >> endobj
-5427 0 obj <<
+5367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 479.2045 226.0342 490.1084]
+/Rect [175.349 479.205 226.034 490.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_dcd147a1c5474a820c7379514f629fda) >>
 >> endobj
-5428 0 obj <<
+5368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 479.2045 397.3195 490.1084]
+/Rect [321.176 479.205 397.32 490.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5429 0 obj <<
+5369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.7944 441.3675 172.1603 452.2714]
+/Rect [149.794 441.367 172.16 452.271]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_71a39e295673dabbc4661c7c0a2c3445) >>
 >> endobj
-5430 0 obj <<
+5370 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.8551 441.3675 379.0811 452.2714]
+/Rect [191.855 441.367 379.081 452.271]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5431 0 obj <<
+5371 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 441.3675 513.9963 452.2714]
+/Rect [433.021 441.367 513.996 452.271]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5432 0 obj <<
+5385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 429.4123 225.4707 440.3162]
+/Rect [113.91 429.412 225.471 440.316]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5434 0 obj <<
+5372 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.2703 330.3076 256.4139 341.2116]
+/Rect [180.27 330.308 256.414 341.212]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5435 0 obj <<
+5373 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 318.3525 130.8265 329.2564]
+/Rect [89.004 318.352 130.826 329.256]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5436 0 obj <<
+5374 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5412 0 obj <<
-/D [5410 0 R /XYZ 90 757.9346 null]
+5378 0 obj <<
+/D [5376 0 R /XYZ 90 757.935 null]
 >> endobj
-5413 0 obj <<
-/D [5410 0 R /XYZ 90 716.2211 null]
+5379 0 obj <<
+/D [5376 0 R /XYZ 90 716.221 null]
 >> endobj
-5414 0 obj <<
-/D [5410 0 R /XYZ 90 716.2211 null]
+5380 0 obj <<
+/D [5376 0 R /XYZ 90 716.221 null]
 >> endobj
-5418 0 obj <<
-/D [5410 0 R /XYZ 90 678.5036 null]
+5381 0 obj <<
+/D [5376 0 R /XYZ 90 678.504 null]
 >> endobj
-5420 0 obj <<
-/D [5410 0 R /XYZ 90 640.6665 null]
+5382 0 obj <<
+/D [5376 0 R /XYZ 90 640.667 null]
 >> endobj
-5422 0 obj <<
-/D [5410 0 R /XYZ 90 602.8295 null]
+5383 0 obj <<
+/D [5376 0 R /XYZ 90 602.829 null]
 >> endobj
-5426 0 obj <<
-/D [5410 0 R /XYZ 90 523.4225 null]
+5384 0 obj <<
+/D [5376 0 R /XYZ 90 523.422 null]
 >> endobj
-5433 0 obj <<
-/D [5410 0 R /XYZ 90 393.0586 null]
+5386 0 obj <<
+/D [5376 0 R /XYZ 90 393.059 null]
 >> endobj
-5409 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F11 411 0 R /F67 366 0 R /F33 481 0 R /F7 526 0 R >>
+5375 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F65 376 0 R /F31 472 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5441 0 obj <<
-/Length 2379      
+5392 0 obj <<
+/Length 2069      
 /Filter /FlateDecode
 >>
 stream
-x��ZY��~�_��H���
p��lW��6�ɓ��⊘��%)�οO� (�W�^NUjjJ ��nt7��I
$Iq��B)�2�npr���{�w1�W�7Ͼ�"IQ*�Ln�z� A	Mn�6� ��;�1޼��ɚC��Ŗ�M]>=���^��x�d����ߚ�4YW7�^>��9lwT��_ʬm��{sg�-�S����P,�?�~w���_�`�X5����NrX�w7�T��.0"iJ��
�,\�7/o�5�q7����	FT*��GZ��Ռ�`��LH�R�	UFU�X�UJ&�5�}���5M�#�XU?�v�&��Е����
���$���nw|�'��9)���@,��_Z�g߀س�w�r���q�����E�.�����a^
L�u坛5�Fv��C���,��T��DD����
<�]]�����cQݻ�}�����.+��6;����Oޙ}�|@�W$�Z"�����,�b��dԳ��I���c�Zmw��Y�5Yہy����M?����n����ޞv0q�c��*�x�{�>�y�h�-
=An~ĘV�}f�,*��5�����b	��4F
3ػ>����H3�<A��h{��N��
�V*�ðO��8�=�8눱��4p
<9��
���s��#w�w��Q��h��u���$
#n
#I?Vv&��
��6,%^��sa
-�Q�d�edUP[�l$
]�ZL#��vkE�k[+�}<�$�	��5�@�h��TB�L�L��ED��
��!&� �� _����G,��5�gLŏ\O�B�01���*�~m��T�yH��<�{��\��h �!�x�l��EWX��Y��Tqw~`O�����U<!j�Oz~E��ר� !�
������7��͑]�cB�	,��l1��fȬ�y�f7�}��<��H.�
m�*�ȥ�2�A�(�	�v���>�|a�!H��B'���-�Mc�c]��p��ak|ވc��R��aMv�.��cW \��Tyf)p�V���]�3P�:�"^M4
��ߕh"�ߜhh2�BF�LZ���� ��8�
�3���E"�5DE<�*�ԓ%q	}LH�T,Pփ�J[v�d�+BtH"G^]
d*��RJ��qk�� ��8 �z�Db��Eu5xʑ��^�1�
-j
d�߾f)EsA���d=G�T��4�_�hJ�I�]vƚ��	S���@��t���!O�I�N
D�D�
"�	D�I
-�rN��.
�<Ȝ���A|�����t9��q
��,{��z9*hmx.T a���IB��LS�BZ�&��.̚���ʮ�����\
����@�^��w�������O�,��ʲ�%˲�l�% g
"�I��1�e g��h"�@�/��U��};S`�2��WO�؅mN�;��ᾬۓ�J{
��֞���f,EV�����C/�x,W�sա�ٞ똦2�vB�C(��YH�
�һ-�<x
ʬ?ս7�v���x�l���j_���=��3�s�v�C9
ET�R�t�,�2β`��
�RLz���̢>�n�X�.�v'�����Lx,�
�̋:
�u�y7	��
ϯ��‰65�vS.�
,=
ǫ:�hw�?*߂VO�SX���|�����VܜsQ�����o
�V��4������ä�1�L�l���5�&)�@�-ї��:��
uC�J�������iM��,�Z}�
�����X�z׹bLu9�QTl�`Q\ĈU�gl�)�����ga��^@�p�ho�=���
A���T��7�Y�uܳ�g:���
mK�Ӷ-�"s��������^�tuPf�βYy��F�8�
!r{�ay�y=���a������!�#�A��JL��U��77��u�5ʎ��wK�z	�H`-��-��
o�MH�V`
��]��T�2�
dV��:ӄ��Zg��}�{8�]1Ů�ec�ꟍ
��6�ۖ�͸=ڗ�����W��囪���"Ϊ��9��V����i�Z��W��B��l�-�d���u_-��FF+�@@QP��f\�S�V���4��?ŷ�Z{۔�VN馮J�zQJ$��pfnޜ�_��TK
��7����}�0��cQ�n��7��7�e���j��)� ɔ
��G��mV.��8L^�E�^�_�5�n����p}�-����웵�ع�>��ODz�gݠY`���<뱇x�ۣ�ot�����5�L�c{��w��m���C�i2Rb��]��T�_�o�ܥ�`�]�v��::w���:�X+:�6��rT�_� �	޼4fj�(�9D�
���������

�EO�tx^�o_ot����g���hߢSU
Ttώ���T/f!��t�q��h����LK�R�G�
�ġQVT0i���Y	–T�/lO
endstream
+x��YY��~�_��H���A���)Nٮ8Gm��'۵�!
c���f�}/qe�n&W�A% ���� 
�#
}{�����7	�$�	M��]$q�&qJ��,�aE"b�!�՛5�+UԻ7k�WU����Z��k�P�����[]�Z�U���s���zC9^��PM��띮�D�t��F*K�������n���yC@/
�OQ�x�=����2h�.ˆI�l�CS�E���7دi���ȣ��FBRDS��!
_�B�
��F�폘�c�����f� �J
mL
�b�
+���֛,���F�,�\3�f$����~�
�#�l�c1$��tC��֐ƶ�Q�b�t��U�ͮj�AumuPm�UE�웲u��
Wm}�]U՚��)/��i[e�c�Ъ<H�4��KzgF������d��xb̛ ������-ꛟ.ZTr��tj�?��
#
�Z��jZ0
ct��\�I��G����2���03��i/*�8��TuE$�=����C�Ę�N|�R���K���jp�.��ՠ�]+!��2�Q�c0��ss$

�S�X�n�����D����>�U���ߺ�I#�)@�%�n�iӃt���s)1�H��֧�OAԤ&l�

1����C�d"��k�E]/6VB�0���S����Tt���s:�	]���
�4~�
1�'2ǧ˃��4V�M�*X��ĔB��<���:

(t6~b4"P
+�7�Rr?��U��`vP�Y�=�W+u~��#�+�k - at N/�9
�&os�@ة�Uխ��0`a�2+��
��]h���B�R�� ���
R~1H����
+�7,���1Q����8�76b@��U/D48��-�O�a[˗�Y�
ט���Z�׼�=�N��1���}Xe�L�v�X׺9Ve6�Y5�7�ar�M�1�6
���
hI���@G�p:��R�!��� �4��U06��eT�F�>U'S�s;wc�
� 6�Cxq%��3�$
؄b9م���	
2勦�OX�\�Ē���YЇ#��/c�r�䰲I�V!T
�
�Lc��,��:���y�|�4�?Sb���y�}�4$
���H$r$b���<]�J��A`��9gX#�߇I�w����
�=�㟖D�{2�!&*�kωH���
'��y��X���u�*�f����7N�.&o5_��>�;S�5�oÚ��Y��.�5�#S���ٜU٪k�	�ۢj:%�
���
hy����*�ׁG��
+eM�������lú.�4{.�sG,�x!G��ݩf-��Y�k�
���Q��d��-���܁���H���N����d
+��
�(�5��	
�n�d�{��fʼ�ע���sh����{��0�j� ��Ǫn���?����xi�
҆�Yꐶ��n��cW�IG�;!�+h�
�.�����Q�^d�S�
�:�t�3t-ט
y��苻u��f��� ��f J`�pN>�"��`�����A�F��);S���:V�*
�ߚ����s��K���0X��rv�����qLyM]����&
��?���Ϙ�ﭻu��z�L�z����Z��@�s*l%UA��{T�nD2?^�`�%�<���1}un
�/b�r�߾?��
O/�6KY�@ ����	
��� œ�1ܵ�|�(�3BO�]��=�r|�M�yϵ�A�gS�m0��JRW{��B��\�=�+U�Z7�_*?�*�&�����ڠ͓ڶK�,���c[

"F,R�>����Z
�&C|LC�V��%�;`r��?!��
XjL�*
/zQ}
+��A��]��*t���������Az�Š�)/
+��t+��:��PP?�y��������yg�LR���av�>�2��߱׺�-M�"�����-�ݭ|��̺c�oU�k�e]�)�݉�B��)'�?='�����پ0�'�� "������Qܼ��jxBwU���*�����5���Se�l���S7�[F�6����"�
�Wo��+u��9
+���L0(M1CdxOxl������tB�ue~�Q��
���9�
R,����>o
�ৼ�F�]�gN�7� �
+endstream
 endobj
-5440 0 obj <<
+5391 0 obj <<
 /Type /Page
-/Contents 5441 0 R
-/Resources 5439 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5360 0 R
-/Annots [ 5443 0 R ]
+/Contents 5392 0 R
+/Resources 5390 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5291 0 R
+/Annots [ 5389 0 R ]
 >> endobj
-5443 0 obj <<
+5389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5442 0 obj <<
-/D [5440 0 R /XYZ 90 757.9346 null]
+5393 0 obj <<
+/D [5391 0 R /XYZ 90 757.935 null]
 >> endobj
-5439 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F8 523 0 R /F7 526 0 R /F25 344 0 R /F33 481 0 R /F1 573 0 R /F74 478 0 R >>
+5390 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F1 542 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5446 0 obj <<
-/Length 2320      
+5404 0 obj <<
+/Length 1851      
 /Filter /FlateDecode
 >>
 stream
-xڵYko�F��_!l��
��y��Ȧ�"m����!

Z�l���T\��;���2�&]���s���ǹwH��E�J(3.��^���Έ{
���+�ϛ���R,bK*7�V�$HPB7�OKB��#�1^~<'x�T����9��2?<��*�}��UIu���!-�*i����P7���rUus�5��yD^�ɓ���W�&�Ή^��*=���	(��o~<��M��%�$��g�>�����F,�b�7��t�=������엠ǾhL� �9�C�R��=Q�A?�ۻԭ��X5YYػ���~�M�>������t!�Tݕen�~Ů���

�޵�0s_���&@B���ɛ�t���O���I��4�{S�s��rN`˒�q#��	԰��W�i�F~�v�sWi����⑪��1$00��5�>� M%�$�N��ˤXۋ���
-^��i׌v
DZ
(��bM�
�CV��Q;���N�9L�"M�ۗ�`��5\�� O�Ճ��J3��-���� tY����yqĵ@�3���!.�
�w2W���Qw@�]�5����q٨��b�
�=�&�6/
p,�ZH��@�N�k���bctcmf^��:�!p�f�]���M��߇ �@�rP
��>��A<��O�
j5x �&¿�ַ�
0˔�x��`��!�t��
$ˈj��Q����TG��T�ԫ,���d}Lyu������2K��o^X�q/���@�\SO,�����8
�k3D��n�
P���d����T�������ֈ)�URXm��߼{g/�tW�u`���ك�M����~�z1��
F��Pq�lE4�tލ�|�
0�$#��Zk���]�S	v�p< O�R�J�8

�N�k
�m!�l
u����b��z�y� ωֱ
$�ժ��Yq,&�;��Lȿ�C$��LLz�	4�_�Һ���z�'�^�&��)��Li�J���1�S�ac�ctH�u���8�����r�4U��}Xn�oy'��a_��G���^uw ���Z��Ū����=�[[�'"�1(9�3!*P��x	��N*�ެȚ
ȸ�Xˇ���h�7��l-�4��� [...]
-*��=�R�f85��Ť���$�Σ
k{6�v[�X�m���ڙ��w��4O��ݢty��%��@�Rh�Y�Q�r�\��OH�
"FTK�U^��X"�Ɖؑv�S��I]AqA9����D���N�ud�'�"\AR�^���li�5� z�A���q����Se���t��a����K~�X�/+��*3�e"�cXNLO'|�;R�#A-��ҏJ�4��:i�L���s
K�l�&VH�y+k�t01�S1#�5��2ĜZm}��&+
�g��y��k�Ak�ǵ�ݴ�.n
II�;vI�F��
-�L��}�;Xs����Jx��f���bJ�Ҵ�\���1ٙ+݆ܟ.ǭ��B۸��Q�ch�\2A��z�#�-%�'���S�
���
��9L����0���s��t&�e��.]�ja��T�j�8ی�Zl����}j&�O������^�����0���Vdz���4u�$��Җ��cS�u�P��ӡ<��8�cвc�
O
bv�:~(u��G=��(�E�
fg
R�慜c)���v9zx
<u��k+� �(�����U����˫tc��^�����ܝ�ةf��\�.|��-JKS]}1����5
�H��1��	�p�wY����t���^�sȫ���מ�����aP/J���S[�*���@VY��q�M8� b��S�oA<��O��P�ו�#���ࣲ~؁{��~&�j��ʾ@����6���"�nU
N�>���le
2u>_O��)8�L��
-̤� v2�������s
-��롛7=�@V1��;�N!P�2�
��b�E
-�#2B5�LN�\i�M�h
�6�|���TTP�J�m��+8�q*���t����	�گ�A�a�p-�l��4Zv
�}�1GT���
z��.�Q��.8�.�`�s]pg��x�m������._
�|TC��	���P/�6~�9SKsdT
<��!:��DЈ
�&9��"R�o���:��H��t� {��v�S=�^5���z
-�����Ϳ����t])�sR���5�!u(kj�iܩ�u���*C D�7Ⱦ�m�~:�3
�:#<�
W;�k���4�ˋ���G��Ѿ�vʚ
(N.FN�Js�<c�(���v�i�'�u���[V�C/<ܶ]�ȅL�?$��Wendstream
+x��Xko�6��_!l@'5��Q
躵�
�
���"ӱPY�����]����d�
+
h*J�./��+b���֛�/����.��Ե.�V�-�%�Sb]��+�D���`���s��؆7���Y�߈U�|�o���/�oD*��ʊ��}Y��reiY�ĕz<_P��WIX�jx.֢��i$�
��{���w��.g���-"��
������[+x��ˆ������C\�b��
��"e��ۢ����G�����uUq���_��ފ�
+�#p�/���

!�M�fY�^}B�>�W�~�
�Qw2���g�9��	<!
r��<y��W
�x��a���6B���
l��)��0��a�'����
�T�P�a���ܹ��"-�?������yUQ�	���
3G�I�0]�A�&{5���˴�E�'���#���A�o�T��|ЉR;�.*4I,="��8a����"�6jTd�[;�z��:��.���t���;���73�JN����BfeA
�\�`@P�ur$��x6̢�f1��hJ[�Le�p@�3��<Q�E���'#`�_�"��C8��Na��M���Ve�Z.�R
n�/ϔg���� ��kˤ�p�!��]=`km���G�(� N5e�{]d۩:�'�h��e1�����ˋWoߪa!�B����&�^8/�U
������D��2T0W�67a� ��g������~ڻ�r`P����7c
��y����#tDQV���H��P�
F�	B�9r��&4L��,ZG�(�u�<�0
<Ʊ)� [...]
+U�R��w���!�����3�{��b���qi6+��
��3e2�a%��e:O-��. ZӖ[������f{*Z}e�گ���#�
4!
{h�&�:�ԃj�d���gg��_�HW:*/ۨ��$4^?��b��2\d(��>P:\<;�uV�ۄ��&<@�75�����(�����b��၎�|��'��B�Ճ\
]�8
��!Ż��|�s�P��pH�\��sU�l]�hB��Ou�ו�XzΧ��?���J�M�~��c�	GA7�n
+m�A>v����b�W�F8��O-�J"�S�˹�HG
�/`��ۧ^'cBY��աuCo�O�K�ϟ\�U٢J���]
7��]��<,$N�b&IyP
�{�������ty�Mo�5-��v�
�f�K���O����&���M8:�-Hb�;�z�N�9��
�r½c
'�(ƍ{�I����)
�>5{8�]����@� |����։�˃O0c]���ׄ�1@�X��ԓ!
\�
+�0���V�e��t�;J��ĔoEE
+�P��Y��:7��|�&b9T9-
��r(YO�R>������m6&U����6�
0�]NV8
ړ�fx.֪$Y��MZ���\��e�]�o�u�e�v@��(kZ�����$�-o�����c34QK#��1N��^�	�
�ҋ)JD^ת��2��8�]#�?OE" %%���m
+���:���.� ��J���b
6��ʋ�
���q
ʂyͩ�;����mGj�Sgc�ȿ��衈3�z&c���D
tt����^�
|i�껮��7�i�Py����X�uR��֊:j�"��
X=��Ek�B�}�}���A���`���I�h۵b�<��2*���~q:*�CZח\�<��g�FZ	(u6
�8�c900ҷ-�ԭ�����OM����c��aҝ�h�*��`D�_^š�飀
!�N���Z��Ba�4�^�t���ʗgg��E%��8/P\��
b��B �QS#v۬0ǵ�p+� 	� ��!�
+endstream
 endobj
-5445 0 obj <<
+5403 0 obj <<
 /Type /Page
-/Contents 5446 0 R
-/Resources 5444 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5360 0 R
-/Annots [ 5450 0 R 5451 0 R 5452 0 R 5454 0 R 5455 0 R 5459 0 R 5462 0 R 5464 0 R 5465 0 R ]
+/Contents 5404 0 R
+/Resources 5402 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5291 0 R
+/Annots [ 5394 0 R 5408 0 R 5395 0 R 5396 0 R 5397 0 R 5398 0 R 5399 0 R 5400 0 R 5401 0 R ]
 >> endobj
-5450 0 obj <<
+5394 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.5469 660.3144 513.9963 671.2183]
+/Rect [484.547 660.314 513.996 671.218]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5451 0 obj <<
+5408 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 650.4165 106.488 658.1374]
+/Rect [89.004 650.417 106.488 658.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5452 0 obj <<
+5395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.8284 630.7349 375.2971 641.6388]
+/Rect [164.828 630.735 375.297 641.639]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_6a5f64baba3ae5704d9645db684434d3) >>
 >> endobj
-5454 0 obj <<
+5396 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.8035 581.0323 445.2567 591.9363]
+/Rect [310.804 581.032 445.257 591.936]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_7b9d70f9508c08b9a86272878ca03b5f) >>
 >> endobj
-5455 0 obj <<
+5397 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.8284 521.8733 375.2971 532.7772]
+/Rect [164.828 521.873 375.297 532.777]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_63fd965105d740ff7003037964ec7d10) >>
 >> endobj
-5459 0 obj <<
+5398 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.9124 194.3119 410.7038 205.2159]
+/Rect [139.912 194.312 410.704 205.216]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
 >> endobj
-5462 0 obj <<
+5399 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 140.0718 170.6866 150.6022]
+/Rect [113.91 140.072 170.687 150.602]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_47e2d2f9114f640ca24b3dc68b701152) >>
 >> endobj
-5464 0 obj <<
+5400 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 101.1028 170.6866 112.0068]
+/Rect [113.91 101.103 170.687 112.007]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_2f74f2b935a0e1900eafe79b7a305a02) >>
 >> endobj
-5465 0 obj <<
+5401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5447 0 obj <<
-/D [5445 0 R /XYZ 90 757.9346 null]
+5405 0 obj <<
+/D [5403 0 R /XYZ 90 757.935 null]
 >> endobj
-5448 0 obj <<
-/D [5445 0 R /XYZ 90 733.028 null]
+5406 0 obj <<
+/D [5403 0 R /XYZ 90 733.028 null]
 >> endobj
-5407 0 obj <<
-/D [5445 0 R /XYZ 90 716.2211 null]
+5359 0 obj <<
+/D [5403 0 R /XYZ 90 716.221 null]
 >> endobj
-5449 0 obj <<
-/D [5445 0 R /XYZ 90 716.2211 null]
+5407 0 obj <<
+/D [5403 0 R /XYZ 90 716.221 null]
 >> endobj
-5408 0 obj <<
-/D [5445 0 R /XYZ 376.7915 633.888 null]
+5360 0 obj <<
+/D [5403 0 R /XYZ 376.791 633.888 null]
 >> endobj
-5453 0 obj <<
-/D [5445 0 R /XYZ 90 617.2773 null]
+5409 0 obj <<
+/D [5403 0 R /XYZ 90 617.277 null]
 >> endobj
-5456 0 obj <<
-/D [5445 0 R /XYZ 90 508.4157 null]
+5410 0 obj <<
+/D [5403 0 R /XYZ 90 508.416 null]
 >> endobj
-5437 0 obj <<
-/D [5445 0 R /XYZ 90 486.1039 null]
+5387 0 obj <<
+/D [5403 0 R /XYZ 90 486.104 null]
 >> endobj
-5457 0 obj <<
-/D [5445 0 R /XYZ 90 486.1039 null]
+5411 0 obj <<
+/D [5403 0 R /XYZ 90 486.104 null]
 >> endobj
-5438 0 obj <<
-/D [5445 0 R /XYZ 121.1431 409.44 null]
+5388 0 obj <<
+/D [5403 0 R /XYZ 121.143 409.44 null]
 >> endobj
-5458 0 obj <<
-/D [5445 0 R /XYZ 90 392.8294 null]
+5412 0 obj <<
+/D [5403 0 R /XYZ 90 392.829 null]
 >> endobj
-1533 0 obj <<
-/D [5445 0 R /XYZ 90 295.4721 null]
+1493 0 obj <<
+/D [5403 0 R /XYZ 90 295.472 null]
 >> endobj
 210 0 obj <<
-/D [5445 0 R /XYZ 90 288.4706 null]
+/D [5403 0 R /XYZ 90 288.471 null]
 >> endobj
-5460 0 obj <<
-/D [5445 0 R /XYZ 90 158.5426 null]
+5413 0 obj <<
+/D [5403 0 R /XYZ 90 158.543 null]
 >> endobj
-5461 0 obj <<
-/D [5445 0 R /XYZ 90 158.5426 null]
+5414 0 obj <<
+/D [5403 0 R /XYZ 90 158.543 null]
 >> endobj
-5463 0 obj <<
-/D [5445 0 R /XYZ 90 120.0667 null]
+5415 0 obj <<
+/D [5403 0 R /XYZ 90 120.067 null]
 >> endobj
-5444 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F97 1822 0 R /F11 411 0 R /F74 478 0 R >>
+5402 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F95 1779 0 R /F11 418 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5470 0 obj <<
-/Length 2361      
+5433 0 obj <<
+/Length 1463      
 /Filter /FlateDecode
 >>
 stream
-x��Z[s��~ׯ`�u���E�;��i�i:���S��@(�%A�����,v\\��#��Iߞs�\�=� �a�GfϔP�0.g�������/������𧫋��bf��Tή֍I���ήn���Y,	�x�aA�<����������>������*��./��˼�����S}ȷ���]Y�����XR���du�~��y� z���|�d
-P��\�p��Uk���`�X��s��/xv
���#f��=�
�:�^p��ŧ��r܍f��w8H3=[2����# "�y�1<*b+}I(2���A ` a�
��Q��3�g-̆�gJE�3�(*�,��ȑф�������E ��#��8EZ\�:̰��7��XL/�sQ
-fm��\�-*�Ce=ct�J��
���t&�@D}~�	
�?JhlR|��&���AX�M
d-z�ׇ�ae�A����i�(!��I~2'�"�
-#9�’9

z,�RzC�u���7C4E

�r� >e�@�5i�wƼ�A)�X<�1���rJRT�^
 ��8W���i2�D���ԏdL%�Y���uqWn��[n�� b��
�
ĄT/Y
�!G`銈NUĴ޶"b�.�}�LC�j�S|�>e�@�5�]��̮!UcO�3�G��k
����
���,Ξz�������V��r��" �B�lH2Z�i������$�R��

ߑN�V�,*�dLQA����Z05oZB�ٴ���	P�S��� 
CB�%T�"q�0�4�A�t�:Z�`�i�}��q���[*�k�v��	:�
)0�A
={�
��uOf��Z�_
(���(1��J
���B<��}��]��/��H�D�����m��~�;�m���}�R�<�"C3�$�/�#
��4R��?���	�"�i�-�z?�G�rF��0i 7.�W��k���|�!-*�ݮ�������O0����Y�ɘ�� �v}py�EuQ*ʕ��[�b���=��
��4w��TX�
-"�SU0����Xo�́"b�������S��&r�"�	ŤZTB9%�'b�s�M��<L�?�H�8;;�#S�`M�/4�w}�R�58������:���d�'
- �7@G��n�6��uO�D'��)
r;'#o��g��L&�P)��`�Y��g��[#.A��9%˘(�f��1?<Te��JXΎx�8]���P=��j��$�g�v3��[_Z�����ڍ&�DùB�J����
ᶕS����N�a�� iIC�v�iD
-4yZ4/��7��Xe��� �Z�l��!$ɣ���H�7L�m�!�;�

��pô�17|�v�q �Ol��P)��!���ۿ$5 at rm̳�!�1E
�j8�n�~������4E@�SF�ǣ��'�LcX�$;>aE�?c}��b�{����UU�Ů
y�d*7n�{W�Huxg������f:�{�����߅S��q��@�O�k"�

��6��1�*,���$U�2�ku ��>
6z�Pڳ���J@�R�]
-�̚��C�D
zع+��9�w�ʳۥ/
۲�Vy�G�1�lu﮴>w?a��e�Q��r�?w7�r'$po�K���2:3 ->ᐡ�����ɖ%SA
$��5/�]�A� 遇Ō��
j��S€Zư��/�j
Ը�f
-P@�8�3��1jXǰ� �S@�q��2���m��|�-VJ�����^��j?J����=խw��nA���(���u�o�+���/a�4t�������@M@��&Ti�4����#�r�A.O�LBϦd���]wQS�.�V����Ž��K	���w��v�o���


��
�i�K���k;‚���Xd��tW����(��?4JC\��X�]}��u�;.
���b�0�ի"
��fd�
%�݃wԛ7�{Ro[�
w����GJC@��E;����oGc	["��g
`����������m���#�U�������R{����[u
z���P�sĮ�
:��T|���t��gJ���1|"u[�˦�j���/
f�Hn���� �߶��7�Mt����#���0^~mǶ���	�/B�n��V�x(k�#�|U�N��:�l�ؼ�Vw�-�ƺ�m{�
�Q{B��/G^O#T��T��ƀ�]a
K�
-'5
w�	�aW�ѻ�o����,�AB��c1<�O�ݻ���<�҅���t�x��VL��9�I���`�����n���_Pt?�Y���B�}&�=+�M���W�۬S�G�%�
���w�(�%ཎ����·�Eg�a�2*�8ہ\;���a�����#Z��,�*�!h��v1��pe��lA[:�gZ"e���ܑ.�.n��
�_��1S��b�oendstream
+x��X�r�6}�W0yHź���I:��6M��V�⌇� �-o%�:��.�iJVꤗ���,�ݳ�
`kma��������X
+\�Z�`�s	�X��~J"�=#��M�4,���ܦx�'��,��w�
�۳�7"eX����mU���,ʳ���k�m�(��IXU��B�Di*�H�3ǃ
(���W���jb�4jqy��t���������	|릑J-F
h�r��k����
�N����[�"�)��(�:�|�O�֊]��e�.�>bn cj:v��>�
+,a��`�������
+s
d��jO_{6
\�ɥ�ʭa(`چ����m$'�L��2�r=Mg�"�Qh
�=���
�1��'Zp��,/���}f7k��F��=c�.0�UU��R��
�66���3 at u
V��iO�6G⪸��'!=�]a��6�CU8�š��C��
�E��,mǛ6!@�M��n�B^`�1�2��X��>s8r}�>:�/��
 �#}���-c�H�T�
��b%�1''��c1�\!>��:q��.�
��_F&���c��KU�}�
g��ɑ	�����v�ޖY����w�
�O��G
R�PB�%
���WJ�0[j̳�V;d�f��l�!��À6Ѓ!�y���սj���C �����*
ri'C���hGa�i�!��0s?3i
�O��i��>\:�£F{��]�f$���̚1�v.H��+�KQ�q"4^PxGe\�q��\0���b4�������������P��憥���֦V���D�`��,&�{��kHn��B��s�)J�(
G5P�p9�|��=�DU� [...]
+I�XΨ�s�g.�)����ս�T�\5�u晊��(��j��$��
)t�s���{;�+��83�|�l�8P�3���޺�2.��BW����Z9M���Ħ�2�hט(�j��=Sj��r�
AN����`���
���L��xt�RD\6���*L��XIz�ں?
+u�Z�+ۢ=��Z���MfQ
7�6��V-�;ٕ!y�}��;�r�.��|�f�B�n|�6#�НPCtL[>ku�V�
+�ZK>�"�
˹�w�_Qy��������<��:;lR�6�6�PG݃�M��W�"����ӁOF"�,����E�˚
�<`�˭�H�f�>�~��#_�K�
%�#'����u��B�T��s�©~�gN��J�_ٜO5V?��6L���)�jq��
�� ��%�g@})L�P��f���;�)���o+�M]g��777(��6����)�wz7u���'��
�)�3�L ���av�
+endstream
 endobj
-5469 0 obj <<
+5432 0 obj <<
 /Type /Page
-/Contents 5470 0 R
-/Resources 5468 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5360 0 R
-/Annots [ 5473 0 R 5475 0 R 5477 0 R 5478 0 R 5480 0 R 5481 0 R 5483 0 R 5485 0 R 5487 0 R 5489 0 R 5491 0 R 5492 0 R 5493 0 R 5494 0 R ]
+/Contents 5433 0 R
+/Resources 5431 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5445 0 R
+/Annots [ 5418 0 R 5419 0 R 5420 0 R 5421 0 R 5422 0 R 5423 0 R 5424 0 R 5425 0 R 5426 0 R 5427 0 R 5428 0 R 5429 0 R 5444 0 R 5430 0 R ]
 >> endobj
-5473 0 obj <<
+5418 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 707.3344 178.4354 717.8648]
+/Rect [113.91 707.334 178.435 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_16e25a87d3f2f1a0a454883b84bcf177) >>
 >> endobj
-5475 0 obj <<
+5419 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4263 668.1065 222.2328 679.0105]
+/Rect [181.426 668.107 222.233 679.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_fbb0b8b086aaa82499371c7faee19c3b) >>
 >> endobj
-5477 0 obj <<
+5420 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 629.2522 179.2546 640.1562]
+/Rect [137.432 629.252 179.255 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5478 0 obj <<
+5421 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.9943 629.2522 230.1633 640.1562]
+/Rect [189.994 629.252 230.163 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_83d49cacc2666db32082dabdac76acc4) >>
 >> endobj
-5480 0 obj <<
+5422 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 590.3979 179.2546 601.3019]
+/Rect [137.432 590.398 179.255 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5481 0 obj <<
+5423 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.2248 590.3979 237.3565 601.3019]
+/Rect [187.225 590.398 237.356 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a2b418d948cce672416e77deb99b45b8) >>
 >> endobj
-5483 0 obj <<
+5424 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4263 551.5436 227.8516 562.4476]
+/Rect [181.426 551.544 227.852 562.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_b2c21b4ce7f4f822e98343689525f1b8) >>
 >> endobj
-5485 0 obj <<
+5425 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 512.6893 217.6102 523.5933]
+/Rect [171.185 512.689 217.61 523.593]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_032aca0bd08a3c854d46b4a7c567b41b) >>
 >> endobj
-5487 0 obj <<
+5426 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 473.835 180.5399 484.739]
+/Rect [134.114 473.835 180.54 484.739]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_ead8142c94d4974534e7f0fe10ed63a7) >>
 >> endobj
-5489 0 obj <<
+5427 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 434.9807 178.2386 445.8847]
+/Rect [134.114 434.981 178.239 445.885]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_28cff68f198562b6921add86c58008af) >>
 >> endobj
-5491 0 obj <<
+5428 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [98.3322 334.9097 155.1085 345.8137]
+/Rect [98.332 334.91 155.108 345.814]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
 >> endobj
-5492 0 obj <<
+5429 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.8747 334.9097 513.9963 345.8137]
+/Rect [463.875 334.91 513.996 345.814]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5493 0 obj <<
+5444 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 322.9546 120.3358 333.8585]
+/Rect [89.004 322.955 120.336 333.859]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-5494 0 obj <<
+5430 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5471 0 obj <<
-/D [5469 0 R /XYZ 90 757.9346 null]
+5434 0 obj <<
+/D [5432 0 R /XYZ 90 757.935 null]
 >> endobj
-5472 0 obj <<
-/D [5469 0 R /XYZ 90 726.0541 null]
+5435 0 obj <<
+/D [5432 0 R /XYZ 90 726.054 null]
 >> endobj
-5474 0 obj <<
-/D [5469 0 R /XYZ 90 687.1998 null]
+5436 0 obj <<
+/D [5432 0 R /XYZ 90 687.2 null]
 >> endobj
-5476 0 obj <<
-/D [5469 0 R /XYZ 90 648.3455 null]
+5437 0 obj <<
+/D [5432 0 R /XYZ 90 648.346 null]
 >> endobj
-5479 0 obj <<
-/D [5469 0 R /XYZ 90 609.4912 null]
+5438 0 obj <<
+/D [5432 0 R /XYZ 90 609.491 null]
 >> endobj
-5482 0 obj <<
-/D [5469 0 R /XYZ 90 570.637 null]
+5439 0 obj <<
+/D [5432 0 R /XYZ 90 570.637 null]
 >> endobj
-5484 0 obj <<
-/D [5469 0 R /XYZ 90 531.7827 null]
+5440 0 obj <<
+/D [5432 0 R /XYZ 90 531.783 null]
 >> endobj
-5486 0 obj <<
-/D [5469 0 R /XYZ 90 492.9284 null]
+5441 0 obj <<
+/D [5432 0 R /XYZ 90 492.928 null]
 >> endobj
-5488 0 obj <<
-/D [5469 0 R /XYZ 90 454.0741 null]
+5442 0 obj <<
+/D [5432 0 R /XYZ 90 454.074 null]
 >> endobj
-5490 0 obj <<
-/D [5469 0 R /XYZ 90 397.6607 null]
+5443 0 obj <<
+/D [5432 0 R /XYZ 90 397.661 null]
 >> endobj
-1534 0 obj <<
-/D [5469 0 R /XYZ 90 118.5648 null]
+1494 0 obj <<
+/D [5432 0 R /XYZ 90 118.565 null]
 >> endobj
-5468 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
+5431 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5497 0 obj <<
-/Length 3125      
+5495 0 obj <<
+/Length 1323      
 /Filter /FlateDecode
 >>
 stream
-x��\k�����B@W
ti�AQ�Mc#iӺ��)
�v��W%���_�˙!�y��kE
�����{�
��^R3b
-���щQ�8!�d����{���+־|�ߤ����z�J��#Ns=y����Q���ۻ���N�o�t����l��ݾ��t�Y>}��v�ۿ/��f����z����oׇ��]�pE�_/g�}���{�+��j=�  ��M9�׿���꛷�c{	Jh�����_��.�+J��j�~��9�'�+�E�ey��տb���
cJ(&ƥ�
vJ��j%.���d<��DH��?��m
�w�]��D�fj
-��x����n�_x\D컧��Ç��h5?,��ZMICA�.f��R�~�Xϗw-Y���8
b��?��2�HkZ�v�$>���X�T
�S'��7�ɸ��C��?T��!\難���ج�9U���o��?6�*4;D���g�����}qU�ޅ}r����8µ��,L(1�
���K7�X
\$s0W��˨$�~�����y��ov#��,�o6�P��(���Ia5��¬�2�
��Bs�y9#�:��
(,/ׄ�b餝��Q�~���ߋ>N���
�������x��0�'���E�����l�P
�HI��,/NDa$$�!MoP`�7
-��I��X���h
�z�%[?�
�4
�*Q!��<y�il�����-	�R��_A�����e�h�r���5-#'@YkY�^I�*$?�jl��[�o�K���Z�i]F��uI��k��{_7v˧��>)
�N�}�
-N�X�B�V�q���z��ea
3
-�d
�0�]k�9L����9L>op�4-f+�Bµ�Q8��"
#3�[f+p���+Q	��c�rtFle��.�)�!�Q����-�m�DD(����B�޼�
�Ck�;�Q�9G	�S���f	W�?��,@��/8DA7���t�h�8�NE����j�ٵ��ϭ*߮�۪n�J�,�-1�I�SX�#
5�\^h#,���v��1r-��mU�w��nOۡ5Q�uQ�<9�!1(O*
-X	ш�0=l��m�w��}�t���a.QIu~8#
-!"��`�7��4��CE/�I="
�1�[ҠY�S�"�0V��ހ f*l�q� c�
f��
�I�����X�-��A�����7�[����E�q�#!N5�~?��?5�gc�l
8��6V��wsR��r�Y��F�<���䂑��ʍ,���F�%z4��i�b?
���3cεY�7��L��5�7�'�
Z'5��v��1��%f�|C�
"C at a
��
t�]
-��qXV��=�ђ9S
�Ӿ��f���g�5l�Ü�1kaӫ��i�7�������+-�[FX}T�[
>���b����m��
6��]�ДHm�MP�
(�y�I�6:����4�c}|���

N��{��
aЏ�)�C�����~= � �� ����hO��=3s��[Qz����E-�0+�
٫�|v�0��
-	+�)}��12~a�����>�%,���l�/0z�š
�n��3�O<�eBh��6o�W�Nb�-��&��1�4-���%V�'1��
���pt�<�h
��~Q���0��ϱ��G��8�FJ�ŧ?�'��94�֚R1"
�2�[�TJ
-
-�W#�
-B1�w�]5��
�8�>��4F�C�"
;��Cc3:
�vmi��坥?���\���`��>��0ԍӀ7F�n�I��q7u�#$q=�ٻ�)'��x�	
-���ia�w�ubE�a���
eЏ[��`+��\ϊQ��m�7��C�1g}ڑ�ȸO�]���9�Y>�G
->��Z�,��}�sJ�f��G0g���>Ҵ�}tR��G�� n�}d%8�G>{����Y�(���} 
�q�e9��R8�GJk�������~Ԣ>��5�&"
-a ��U�Ȟ�F�KN
5�,+Mb�4�.�ȍY��~�h?����
_uҺ��?cu�
7 ܌c���2#>&�m8IZb¹��M+���N�i @�&�V�Ӫ+��X$�+��Frwc�ar2�r
1��\I"�5ir�na�$�)� ��,z1K�ܑ+sDL6���ctwο�oz�� `�NS$CD��b� �$9"&�\�XҲ��{�9_l(T2a�:yMc�M�]��4�8�f
/Ӊϰ���}�T�1I��e�
u��(?�����
���3�	��B�Y���,
�)hH޶�uҢE�����!$q=���]�Xh�	
-��8���48uȞ����(�~��Cb�`eE�(��?&Tt��J�R1
#ҏZxD�
G�DD!
��o�iQP�8��WG�c|q�J�&�*��$�
-�F�$��G�v������l�o*��P����*���mv���B[\�f뻱 �
:��ʧa^1�._�`AAí����
-�#�|	,S�Ҵ�ʧ�d����W�1��m�k�>;Q 9�����+Q	W$�0�#0�$`0�2D<ʠ�� j�<��!�0
-�@�J*��E$�X���
�U>J���5�AD!��$��i�hP߀B�.� �1��%�
����h�
(��d�v:�[�/P�?Q����i*Q*G�c\q
��fg����.�F�wZv at L�����C\2�o�7���-���?_�%3�V�B(���,�'	���z��:�$F�
-0O�O��������i`Y|�!�s{ �Ir���
ax��� ��a��i��o'u��7Ob׳X�W�ݯ�#����L_��_#�^��
�q
y2
Z
���|a�o���c^2S*E�c\q
w�FP�#�
-��L��&�v�
-g�$���-<��R��$�P�_'Do�"��|�r�sI����e���j6��]=,��2��#�0������^G'���hODa��n�p��/̩�
�?y�\g"i���64߇Hx�o��o�4�߅���
����F�旟�����JM�A�~�~��y�~���
�R?Q	�N���\�����y�?�����o�h�p���yX�$W;��������ˏ?���<��
Y
^n�˗�G#�
�q�����������`��\އÚ�fӁ?���-�}�����Bendstream
+x��Yko�6��_!`@'3͇�G0
Ⱥ&h�lY�~�
+C�[�^�d'ί)����N�؋;0��/���9��$�5��u��y�韹�
+@�b��Z�<��5[76B �nA��.�v��px���ΓŔ�y8�-
�/NN�/.�ﳊM��0���$,Ku{�n�[��,��p�

��O��w��?
$B��C�
����s�	Zc���	|뮶J-qM��Ο
���:��|0Х�G$�?��Ց��a'P�����Y6fc�:^���³��k�s��<nlG
u��L݈��M���*��J�.vT��Y���:X�Z�� O�-T�?n�%��h��H�t����ʹ�O�O�_���V�`�
�K�ʤ{6ˢ*γ��N�
R�{^1�?a��T�_�\�d��3e���yk��+TS�p�\��G@
aP@ݱ�Q��2��o�YI�P�E�:��J�GK#�ʄ^<
�%�hs)>�깪ʿy(�t7�w1��d�ֽK#م�
;}%h�n���~Gz��E�#�����B��P����hA]Z��.��Zq�Z� 5���4��x���IKg�'R��y�H��Q�[ 뙰kмݠ
��n^��@e�.{�01P�U1_�4�z�t4ﳲ`�D�,؍��l���"�a�(�ӭT7Va2�m�l8ZT�<J
�
i���P�e�A���M�T��k
�zy͊�5#��t������J��1�L�8n��2���b<�?���O�,�C�/v� �>���	��q`�P�q (�VǚS
WӔUq����`<�r��2`^���x7��u(f�x�
�4��qZV6�cE��P���ĕ���%�#��I�
 ���C�v��b�/^R��fh�ڌ��S
+\�i�x���ف�'�+��G�pT
�@�*�Γ�Y�}a
��

�c�):�N7a�]��
<�
H�Tn��dg�W��
�_�GI:��L�X�.�T��x
��'�
����+��\wBA�&���RCPw���$���;��P,�*�n���d��N.�(}�).ccf�M^D9��Y*%�UN�J2��NK�qZ:���
���Q��G%� m��������
^˳��}U��������b�C�󷿼`�v/g}���HX�i�LgIɮbA
+|�{�!s����k�>��>��wA�/�#O*7������ѥ�U
w�Gsީ
���z�X2�}�R[Cuf3��+I>��_VVb�,~g�H~ 1D!h_3�ѩ���2w�v�\�!���UU���www *�,�
�_I��~��K]�5Pݚ�2�y��(^�6���m
+endstream
 endobj
-5496 0 obj <<
+5494 0 obj <<
 /Type /Page
-/Contents 5497 0 R
-/Resources 5495 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5539 0 R
-/Annots [ 5500 0 R 5501 0 R 5502 0 R 5503 0 R 5504 0 R 5505 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 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 5537 0 R 5538 0 R ]
+/Contents 5495 0 R
+/Resources 5493 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5445 0 R
+/Annots [ 5446 0 R 5447 0 R 5448 0 R 5449 0 R 5450 0 R 5451 0 R 5452 0 R 5453 0 R 5454 0 R 5455 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 5482 0 R 5483 0 R 5492 0 R ]
 >> endobj
-5500 0 obj <<
+5446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.8522 573.8827 245.9403 584.7866]
+/Rect [202.852 573.883 245.94 584.787]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_6e613e3f02e896503d38da788ad593b8) >>
 >> endobj
-5501 0 obj <<
+5447 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.2775 573.8827 329.9047 584.7866]
+/Rect [273.277 573.883 329.905 584.787]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5502 0 obj <<
+5448 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.3307 539.0134 222.4188 549.9174]
+/Rect [179.331 539.013 222.419 549.917]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_b8dbbfce1fd68d57df6b05d5cc74c012) >>
 >> endobj
-5503 0 obj <<
+5449 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.2345 539.0134 282.8617 549.9174]
+/Rect [226.234 539.013 282.862 549.917]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5504 0 obj <<
+5450 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 465.5983 202.9022 476.5022]
+/Rect [125.095 465.598 202.902 476.502]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-5505 0 obj <<
+5451 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 465.5983 300.0368 476.5022]
+/Rect [203.4 465.598 300.037 476.502]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_aaa520f25230108e6839b82747cae794) >>
 >> endobj
-5506 0 obj <<
+5452 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.374 465.5983 384.0012 476.5022]
+/Rect [327.374 465.598 384.001 476.502]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5507 0 obj <<
+5453 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 430.7291 202.9022 441.633]
+/Rect [125.095 430.729 202.902 441.633]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-5508 0 obj <<
+5454 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 430.7291 314.2635 441.633]
+/Rect [203.4 430.729 314.263 441.633]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_b2dfd07539bfb516c7ca2d04460064fa) >>
 >> endobj
-5509 0 obj <<
+5455 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.6007 430.7291 398.2279 441.633]
+/Rect [341.601 430.729 398.228 441.633]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5510 0 obj <<
+5456 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 357.3139 191.2164 368.2178]
+/Rect [145.1 357.314 191.216 368.218]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_9a22818e12d0abab8d8a8e0d3346f51a) >>
 >> endobj
-5511 0 obj <<
+5457 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 357.3139 251.6593 368.2178]
+/Rect [195.032 357.314 251.659 368.218]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5512 0 obj <<
+5458 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 322.4447 191.2164 333.3486]
+/Rect [145.1 322.445 191.216 333.349]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_cf54a358f4ddf09f56364da87de68a49) >>
 >> endobj
-5513 0 obj <<
+5459 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.032 322.4447 251.6593 333.3486]
+/Rect [195.032 322.445 251.659 333.349]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5514 0 obj <<
+5460 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.3924 322.4447 350.0196 333.3486]
+/Rect [293.392 322.445 350.02 333.349]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5515 0 obj <<
+5461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 287.5754 190.2598 298.4794]
+/Rect [145.1 287.575 190.26 298.479]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_4039bbdc92a28fade431cb98f20b0fa6) >>
 >> endobj
-5516 0 obj <<
+5462 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.0754 287.5754 250.7027 298.4794]
+/Rect [194.075 287.575 250.703 298.479]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5517 0 obj <<
+5463 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 252.7062 190.2598 263.6101]
+/Rect [145.1 252.706 190.26 263.61]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_11810ad660a4aa63766e8ebb0334b7d6) >>
 >> endobj
-5518 0 obj <<
+5464 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.0754 252.7062 250.7027 263.6101]
+/Rect [194.075 252.706 250.703 263.61]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5519 0 obj <<
+5465 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.4358 252.7062 349.063 263.6101]
+/Rect [292.436 252.706 349.063 263.61]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5520 0 obj <<
+5466 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 217.8369 192.4714 228.7409]
+/Rect [145.1 217.837 192.471 228.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_29b14636d21c90e28ee1821666dc1d64) >>
 >> endobj
-5521 0 obj <<
+5467 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.2871 217.8369 252.9143 228.7409]
+/Rect [196.287 217.837 252.914 228.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5522 0 obj <<
+5468 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.6474 217.8369 351.2747 228.7409]
+/Rect [294.647 217.837 351.275 228.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5523 0 obj <<
+5469 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.3603 217.8369 448.9875 228.7409]
+/Rect [392.36 217.837 448.988 228.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5524 0 obj <<
+5470 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 182.9677 191.3657 193.8716]
+/Rect [145.1 182.968 191.366 193.872]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_2f220b5f73e79a2e6feab3a97a7e2445) >>
 >> endobj
-5525 0 obj <<
+5471 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.1814 182.9677 251.8086 193.8716]
+/Rect [195.181 182.968 251.809 193.872]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5526 0 obj <<
+5472 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.5417 182.9677 350.169 193.8716]
+/Rect [293.542 182.968 350.169 193.872]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5527 0 obj <<
+5473 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.2546 182.9677 447.8818 193.8716]
+/Rect [391.255 182.968 447.882 193.872]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5528 0 obj <<
+5474 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.6579 148.0985 203.9488 159.0024]
+/Rect [145.658 148.098 203.949 159.002]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_7f9dc23eef0ab2ef9d07f4d53177afce) >>
 >> endobj
-5529 0 obj <<
+5475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.3226 148.0985 264.9499 159.0024]
+/Rect [208.323 148.098 264.95 159.002]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5530 0 obj <<
+5476 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.4175 148.0985 341.0447 159.0024]
+/Rect [284.417 148.098 341.045 159.002]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5531 0 obj <<
+5477 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.4063 148.0985 416.0335 159.0024]
+/Rect [359.406 148.098 416.034 159.002]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5532 0 obj <<
+5478 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.369 148.0985 513.9963 159.0024]
+/Rect [457.369 148.098 513.996 159.002]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5533 0 obj <<
+5479 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.6823 136.1433 222.3095 147.0472]
+/Rect [165.682 136.143 222.309 147.047]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5534 0 obj <<
+5480 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 101.274 191.9234 112.178]
+/Rect [145.1 101.274 191.923 112.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_952922658abcdfb880fcf0a8483c9620) >>
 >> endobj
-5535 0 obj <<
+5481 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.7391 101.274 252.3663 112.178]
+/Rect [195.739 101.274 252.366 112.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5536 0 obj <<
+5482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0994 101.274 350.7267 112.178]
+/Rect [294.099 101.274 350.727 112.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5537 0 obj <<
+5483 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.8123 101.274 448.4395 112.178]
+/Rect [391.812 101.274 448.44 112.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5538 0 obj <<
+5492 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5498 0 obj <<
-/D [5496 0 R /XYZ 90 757.9346 null]
+5496 0 obj <<
+/D [5494 0 R /XYZ 90 757.935 null]
 >> endobj
 214 0 obj <<
-/D [5496 0 R /XYZ 90 733.028 null]
+/D [5494 0 R /XYZ 90 733.028 null]
 >> endobj
-5499 0 obj <<
-/D [5496 0 R /XYZ 90 642.0529 null]
+5497 0 obj <<
+/D [5494 0 R /XYZ 90 642.053 null]
 >> endobj
-5495 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R >>
+5493 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5554 0 obj <<
-/Length 2649      
+5525 0 obj <<
+/Length 1666      
 /Filter /FlateDecode
 >>
 stream
-x��[Ms����W���h4��m���n�U�W{�],��eTH�&A��O7�����-��ҁ��~x3�oz��?6stf�!NH=[m/��N�r��˗p��m�닫Z�
q�����҃fDq�g���s���KF)��\0:O�d�r��|�9Hׇd����!9��=�����_�"�I�K����Mr<V__���,��4_��K�机����.�y�`�A	��Nj�o�l
���%�Y5��J�s|���\�����i�T�������o�X
�X1A����`�Qgf@qʺA#F%aFp�q�ת�]���9���
�ù
-	b���v؏�bq�&Աn��rx�u/�Dc �/
nj�Wm�>��Q$��r{�,a
-e7y���Vq9NCcA�a��o�����hM�T�(��/"��`j�Y�1��N�	�*�bl��ɧ�W	����" �"���dx����	T�V*��U
���R����B��̍v*!�}O��J�6P�
����A ꬂB٥�3$	�QZH6���ԗW&�C�h�(A9� J˪rPµ�M ��SY0j�)vTδnc���ʢ��1��A�!���&�S:�5���ߥ�|Z}�+{FY�N����7�����5���< Ra�� ������~W�������,*qm�#�[K\'lT⺡'H\D�/�8��E$NP��ih�"8��

�8�M報�"�N�8J�4"B���A ��"��1���D�*���׉Ǩ��EcC ����i���
i�#x�~'I�&�S=NIc� �	��%���J�Gi\�ǘ�y����]�eTN��k��UNr\0�D���kܽ�1�
��3.p�S�mA�!�I�)Y�u��j~���IH;'G�h�Ɓ��X��
��D�S¸�yh�#�C��N��|o���K�N���Y��1�o=�"�9E�@�����E�E4
�MN�T*�q0=�ST
V3V at 73FFc�oʲȻdD$�;�׶�|�I�7CX���C@�V������l�
�p���K�9&3�<I���JXl}��~<�,͋�h���/g89$�����Mŧ;f������Fs���sv�$�z�
�c�h2e���dj��uDL��Y\�[�dy<���vظ0wBOQ�q=�e���P< ���
�n�o
�$�	�Pd�41B��x�(���QV
�8e�$4V ɸt6]��̝�q3S�h�cXz~�ȳt�!��t4VBAc�Y�OΣ���$
-[�G�R�Lj(5f߷�,�Ǐ��f^
R�w�b��;N
cb��=\��DY+�{�V�#.�[Xc-�m�#�:�.ם�0H��wXx��:U�Ǣ�^1�j��EW��T�1�?���EU�i��X���
-f�����>��wJ��|�̍3�XE p�i�;"5�I�����ǰ��N��P���q���*������H��٤-{�^X��X��f�UZ�e��l�TyU[�"�M���8r3��V��|w����cV�G�X�u���|��7�a�����>�P�C�G�xG ��;^Y�z��Kk0Ň$�Ѧ��*d��!�V7�J$E��@�\@@��}q����rܧ+�gs^(5� �ZZ>j��]
���(�
-����)��/�<O�$ۤ�
-���:d�;��Y;�be��
�=:�3�;�kov�fG�
-V���/`�Y۾;��i�eS��d�=�An
g���/�M����5�P0)q�L  
o	�$�5��]8�U�`⧜'�,�O����0?_���/4F���v�y�*�"�!H��gZqާU�u��R���`�,�N��'~~��:��|x_�մ��a'�2V�`��`^J#�/��]I/*�!�($�A��귃���,�๷	��:��iڗW��E02
-�ofW��;���������-U☎���އ��?�����#ǻ�'��m�n�����pH^�C\��x�,AK戔����u�8dPq�l�)_���6P���|U4!�w��6͋�gz�۵��LTR^�{?���'u�K崨t Nݯ�|�w�t{R�Og:��
-�4
*$q�Y�{i
��˙׋ׇ���	= 4V��Z�@
����3���y�[yu��-gX�s����X�^���HxB��0'ug,�h� Lc
V�\�8�ߎs)ŭ�(�?�h�!Zx�S�E��1��.�RYa(�Ͳ����w�"=~���e��G�/$4���G;���[>l]{�O�W���{��?�����Z�߇�q
�v]��E��4m5�M�j��	|�chT僣*���pQ3'\�h
.
vO
���>��q�
_e�,lD��
ܯ�m�'7�ZJ�`�P��]�R
����z�;\����I�eE��p�#��:B
��ͳ
|��Y�
Qk���d��SS��D��A�a�ŠL+���2�@�]�L
C%��:�!+#����Y�7�n`el`y�+
lo���~
b�B*"Y�`
-��;%�0�3�_e�-1�u�'
���
m
A^{^"
�����o��������cz����p���'/t8o�4�
� ��Ā>F����߈p���
�F�����
�
�ڞߠ
Y
�)���W���߈X�Ѹ���l�zX:�
��q�ic)��R�:��R��P��蛂endstream
+x��Y[s�F~ׯ�)E�h���r�[�ԙ�͌�8ONF�a-3E�I�}�^@ aYq�d�fF3ha9���� [s
[oG����'�c(p�k�_Y�<� N�u
[6!���`���1�vX.���b;O7�".���e���/�~8���j1�xB9�_�aU�g�
+��Y$@ e4�)��/��G���nFT�Q*py�����
�b8����	|k�v-,F
8���џ#l̹���c&!
rA�G("�ն~��+u����	�W��$6פ���({�vI�8�-��
,N�ٮ
��3��^vޘp[8 ���

f�gU}X�c�m�.��V�
IzW���ģ�
p�� ��e�"����R��Թ�䝻
�.�S�o���X�V�l�����
+ӥ�@
�ʛ������������"����;B�e���Б#�����b�c�p� \'����O��jy�����N�O�Uμ
�z'c���O�>���� ��
b�dl�!NVI,�1�1�ٷ�Ֆ�����b9�����Y�u"�Z��+��r"qf؞�N�ib�uU�g�=��Ix���f��܀|���
���㦬�Uq�� ��8�R��Y����l��
3n�y}��E��>i�Mஇ(9�<`�a_E��>�<��8q ֘�a:��Tġ��!�
�d%�ۥ�Գ���\Q;/��"��Q�tO��ƢY�ds�T	
+�[_
 W9����ip���ۦ��h��ka�����h+���~d�̮��nXwoPhB
x�C1
�
��ML�gT��$:�f��=��q'
�,6C!��̹��I����$�~�QEeRԲ(�zс�
�`XUr>e��2��[�-�����cQ��,�f��f�7��Tزo@���P3-�z<�ks�^3(Fc��$4���'�9�K���쀻X�l��,R��>:�E��2��B
��4���&��y�������`y��<D�,۝�\%��0��'�\� ���x
�@
��c��lS1ؽ��
�*!
r���_V����&���������z�F�:�EQ���Ŵ�]^��I������'%4/�aЫ,n^��jfq�̢��V���r�Nؐ��+
z�[�딩�ݺU�Av�z�R�Љ���{)�}
���$]����3�\�Ã�DB�S�N��L$�߶U�F�� '*$
�~�l��
�n���ʗV��������^�����nF89�H�Ѐ�x�խ��
+��@�.˿#��A��1�!@;
�r�fV%wb�3�֡ә��d��M-��
�
�[���
>9
+|�`/? ~
��դ<@����K��{���\��e�t�پ���%�B�`��뷩�i�B�M������S�[�ʖx�
�V��V.{��']ˁKA�
��q0�ʤ��ȳ�w�"���ao�2��Co;��z��Mn���
H�2��7s���?"K ��g���:���,�т!��#��䓺j�QIq
�P�A���
L��x�?o�x�9�1�A�}�y��^�T�G|�k�ڭmX�u�-��~�
�Eb/"��� �_�\_M�G~�k>��� ��D����7�Jk�wD�l>$�����*Q�"';�0[6�J�p%E�lբ3
��RG�� ���>~�4�"�P#Uh�%E��zZ�n/�3��y���)�S�f�='�
��8�
+endstream
 endobj
-5553 0 obj <<
+5524 0 obj <<
 /Type /Page
-/Contents 5554 0 R
-/Resources 5552 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5539 0 R
-/Annots [ 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 5572 0 R 5573 0 R 5574 0 R 5576 0 R 5577 0 R 5585 0 R ]
+/Contents 5525 0 R
+/Resources 5523 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5445 0 R
+/Annots [ 5484 0 R 5485 0 R 5486 0 R 5487 0 R 5488 0 R 5489 0 R 5490 0 R 5491 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 5522 0 R ]
 >> endobj
-5556 0 obj <<
+5484 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 708.9533 211.8487 719.8573]
+/Rect [145.1 708.953 211.849 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_83b02e8cbb5d14a2ebf2843e6551391d) >>
 >> endobj
-5557 0 obj <<
+5485 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.6644 708.9533 272.2916 719.8573]
+/Rect [215.664 708.953 272.292 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5558 0 obj <<
+5486 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.0247 708.9533 370.6519 719.8573]
+/Rect [314.025 708.953 370.652 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5559 0 obj <<
+5487 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.7376 708.9533 468.3648 719.8573]
+/Rect [411.738 708.953 468.365 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5560 0 obj <<
+5488 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 674.0841 211.3007 684.988]
+/Rect [145.1 674.084 211.301 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_38ab8dc3ca19cacef112ca316bc7ce09) >>
 >> endobj
-5561 0 obj <<
+5489 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.1164 674.0841 271.7436 684.988]
+/Rect [215.116 674.084 271.744 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5562 0 obj <<
+5490 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.4767 674.0841 370.1039 684.988]
+/Rect [313.477 674.084 370.104 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5563 0 obj <<
+5491 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1896 674.0841 467.8168 684.988]
+/Rect [411.19 674.084 467.817 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5564 0 obj <<
+5510 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 639.2149 215.3157 650.1188]
+/Rect [145.1 639.215 215.316 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_01c5bdd401e8bc17ea983d941be2aa49) >>
 >> endobj
-5565 0 obj <<
+5511 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.1313 639.2149 275.7586 650.1188]
+/Rect [219.131 639.215 275.759 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5566 0 obj <<
+5512 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.4917 639.2149 374.1189 650.1188]
+/Rect [317.492 639.215 374.119 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5567 0 obj <<
+5513 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.2046 639.2149 471.8318 650.1188]
+/Rect [415.205 639.215 471.832 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5568 0 obj <<
+5514 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 604.3456 191.9234 615.2496]
+/Rect [145.1 604.346 191.923 615.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_84565fd9471a52f83618d0d5ce461c3c) >>
 >> endobj
-5569 0 obj <<
+5515 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.7391 604.3456 252.3663 615.2496]
+/Rect [195.739 604.346 252.366 615.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5570 0 obj <<
+5516 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0994 604.3456 350.7267 615.2496]
+/Rect [294.099 604.346 350.727 615.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5572 0 obj <<
+5517 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 569.4764 157.2538 580.3803]
+/Rect [138.106 569.476 157.254 580.38]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer_6d5c75bcc32f8aea006e8da4b3f736b2) >>
 >> endobj
-5573 0 obj <<
+5518 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.5909 569.4764 241.2182 580.3803]
+/Rect [184.591 569.476 241.218 580.38]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5574 0 obj <<
+5519 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.9513 569.4764 339.5785 580.3803]
+/Rect [282.951 569.476 339.579 580.38]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5576 0 obj <<
+5520 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 460.439 145.631 471.3429]
+/Rect [89.004 460.439 145.631 471.343]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1GMP__Integer) >>
 >> endobj
-5577 0 obj <<
+5521 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [179.2045 449.1065 324.659 459.3878]
+/Rect [179.204 449.107 324.659 459.388]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.swox.com/gmp/)>>
 >> endobj
-5585 0 obj <<
+5522 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5555 0 obj <<
-/D [5553 0 R /XYZ 90 757.9346 null]
+5526 0 obj <<
+/D [5524 0 R /XYZ 90 757.935 null]
 >> endobj
-5571 0 obj <<
-/D [5553 0 R /XYZ 90 586.5772 null]
+5527 0 obj <<
+/D [5524 0 R /XYZ 90 586.577 null]
 >> endobj
-5575 0 obj <<
-/D [5553 0 R /XYZ 90 523.1899 null]
+5528 0 obj <<
+/D [5524 0 R /XYZ 90 523.19 null]
 >> endobj
-5578 0 obj <<
-/D [5553 0 R /XYZ 90 435.5324 null]
+5529 0 obj <<
+/D [5524 0 R /XYZ 90 435.532 null]
 >> endobj
-5540 0 obj <<
-/D [5553 0 R /XYZ 90 412.598 null]
+5498 0 obj <<
+/D [5524 0 R /XYZ 90 412.598 null]
 >> endobj
-5579 0 obj <<
-/D [5553 0 R /XYZ 90 412.598 null]
+5530 0 obj <<
+/D [5524 0 R /XYZ 90 412.598 null]
 >> endobj
-5541 0 obj <<
-/D [5553 0 R /XYZ 90 375.3119 null]
+5499 0 obj <<
+/D [5524 0 R /XYZ 90 375.312 null]
 >> endobj
-5580 0 obj <<
-/D [5553 0 R /XYZ 90 360.7416 null]
+5531 0 obj <<
+/D [5524 0 R /XYZ 90 360.742 null]
 >> endobj
-5542 0 obj <<
-/D [5553 0 R /XYZ 90 325.4929 null]
+5500 0 obj <<
+/D [5524 0 R /XYZ 90 325.493 null]
 >> endobj
-5581 0 obj <<
-/D [5553 0 R /XYZ 90 310.9226 null]
+5532 0 obj <<
+/D [5524 0 R /XYZ 90 310.923 null]
 >> endobj
-5543 0 obj <<
-/D [5553 0 R /XYZ 90 275.6738 null]
+5501 0 obj <<
+/D [5524 0 R /XYZ 90 275.674 null]
 >> endobj
-5582 0 obj <<
-/D [5553 0 R /XYZ 90 261.1035 null]
+5533 0 obj <<
+/D [5524 0 R /XYZ 90 261.104 null]
 >> endobj
-5544 0 obj <<
-/D [5553 0 R /XYZ 90 213.8996 null]
+5502 0 obj <<
+/D [5524 0 R /XYZ 90 213.9 null]
 >> endobj
-5583 0 obj <<
-/D [5553 0 R /XYZ 90 199.3293 null]
+5534 0 obj <<
+/D [5524 0 R /XYZ 90 199.329 null]
 >> endobj
-5545 0 obj <<
-/D [5553 0 R /XYZ 90 164.0806 null]
+5503 0 obj <<
+/D [5524 0 R /XYZ 90 164.081 null]
 >> endobj
-5584 0 obj <<
-/D [5553 0 R /XYZ 90 149.5103 null]
+5535 0 obj <<
+/D [5524 0 R /XYZ 90 149.51 null]
 >> endobj
-5546 0 obj <<
-/D [5553 0 R /XYZ 90 114.2616 null]
+5504 0 obj <<
+/D [5524 0 R /XYZ 90 114.262 null]
 >> endobj
-5552 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F97 1822 0 R >>
+5523 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5592 0 obj <<
-/Length 1760      
+5543 0 obj <<
+/Length 1620      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�6~����&���%�
��-ڭ@�fOm(�
��D�s�ߑu�)[��6���΍��xH��1����c%2���t>��k�~;"�c������N�H16�H*��Wk	� A	
���
B��`���	���̽��	�N
=�?�.�
//y<=}�����"
��d�R��W��\�?����h'XLH95%x������yec�`�dގ>}�c\y?ˆ-�����C����lD����*9���
�H†��2��`u(E��]�8�s����8^/��g,�F<~ʼ=ycTC
1Ie4ؕiyȇ�,��h�7 �I1�%� M�,}J��K�K>R��H�b���j��$�{���/f+�-*8GT3�6�%�JM�a��BG�4�[w*
/Z��+ ��p�PPڊ����9qh�Ƌe�K
�s$�4��G��+2�b�3�Wn�)'��5�l���Y�u��f|eѤ!�
-�vHZ�
P%��P!�!i �V��M�(��
4��lxQ}xs.�����x�S�E�]p9���-
i%v���� Hy�A��Y؉N��i�Be̽pᗩ	8�u���0�]�
����a���]�/�BՔ}}�)VHim�x'�J��S�����v>�
I?9>����G��c�_'�Pe��%�+���V�K��`�P^��M��0B����0' g�e�9ـ9�*�y�VHϺ6��u��A	yX�=h]�
���D�Y��pѩE4�R҈��<s`,��.�l�y9(�3]�ՠ%����i�Gᔑ
1�S�~HXG
-F}���5n�s[������N�I�e+�AX#�%�s��s:zs[kE��vCqOn+����ef�Z���Hp*��q�]��VU�2�r5��μ�V��
�TT�)��1�H�`͇z��f�\��<
f�Π�b_
b��6}<<��)F��n6\:ѴQ�C{���ξ�F��U��=7�"/��Q#zɋc���lP��]ڐ�S�D�g�k�(
o�m�LNQE�1�y`���
@��&�l�}���a�l�;�=U���aj��
"Q�u�h�WY�&\i�����u	,
K�&�r�U��]��N�$�=��
l}�bY;�3<Qo�\	�y���-NL -�ؾ,@@��� ����m*��9����
un�:�:Ăн��Tۅ:�/G	��T�[�P�~4��� �?7����b�X:��7M/�n�λ�ز_͆[��5U|��ջ/P5H
�P�kc�a�~5�kJ�?�sbg�)�UUl;�h!�ܠ���m�R�|�8dO����NC�ƈ���oWq���4����T{���=s���0�W�f����
]3/��y�gca����:��������T��!
-��8m�зQ�d ��b_�2�EF�����/o����H���75*��^K�F�-oW^R~ڈ�t[�u��k�cPA�i�`�-~<]́
�����2o�Y�9�������@ѸA�E�x3��
~���(β�>\\���4
-N-w ������x����r�` H�y%e
JEW����c��j��@�5���Dh6��'
$+��]��$�<�z�:HR#E
i�+ ���CiD
g*�[ E���7�� y�e��<�)0��[���f��LT������TE`+�|
�nh��+��ʟ�;.�Q�Y��6��/{���r3�gizszrr��K�Z�7	
-�����]Lg߆�f�L�[
ڰ�y�%R�+M[�T��IE�9_�#�ړ�o���
���endstream
+x�ݚ[s�F���)xj�4Z���>�i�I�̸���d<X`�)!_��{7��l'��I���=���=���+;�&��N��J�d$���c��$A���w�\B����'S�]/]z�'S��$zX~��^�^�p|������8
��t:���#o�*��\�]�� �`�rj\J����ɛ��̈́@��C6]
+)&��rr�;>���`Čv�6���
>#����	�;
��bk8�"U�6R�E���9t8�����X�1�����[n�!Hj����}Ѣ���&U�K�6-+iJ�FgiyY�)Z
+��rF�F\3gF����e��2�Yb��9��u�ٲ
f���٪L������R�z�:@���DWPgƀ"�l�]��a5�	p>O�UV
�s$���<X�8>��2�Un��_iv�E�wv�����IC\�i9�{=1VLgH�)1��(��cِ�l��>Rœ�B�Q
*��J�,�Tf4*���_���D�81��*D�1L&��	�F2
�^��,��G���ކ�0��pJ�F��}����V#�
�	���S

�6%��;�ִx5����0���Eҟ
?����a�J�C�y�\VPט'�^�%�$FS�ž͊�(�!��~�	�=�C��ŜQ�c
�g5���
��66(���C* i�;ʶf�������3�i��T�r�h
+х���6ɣ2��T���)vT��X�
P0���v���>
`	)��׿m�헵佲Bl�W��m�Z�F��K[�p�W�Z������Z!LƯ^�������0�g
i<�c������j=_�}]x��X%�	#e}�>c�,V ���\���D��L�N7��n����F~�/�
+1ȉ��q����ha/j�nQåͷ*x��-j�f_Q#�MǘT�
�sX
�r���
n�â&
+<[E�\GYx
��\U�%�3�!�EO9�vg����sd9�U�
��3���\�>�]�Y_I�`�8X�qn����� ��vߛ�� �rLm@�
�I�y�¾9=�,����hl�$��S�a[��@Z�KO#��v�F�Y_��-�
ò{���8�}�C(;�s��e����B��Òy�����v�}y������c.v1��
�yv;ܼm`ǖMj��
+;��T
r
�Y��W��
U�AG�{��9=߁�p�˜��VK�˩�GM����e~��q
��F�z�*ׇ5�1bH�zG�7�$
�8�9"
a*�D��V}왩�����4I
�W�Wj���O�]
/�xV�aa�5��!qи���’�U3�C��O��~�d����'�F��X�@*2�'GI�A��&�
{Rl '���	�2����
��n�^Z=�H�l�� o�c�A�	PP�#?�������e%�lQ�f�<���<�//��8H�ؖ�L�e'�\&Q��R�
�
+:L��x�<�z ��΀fJ�����]JE��ن���-�_��H�
�c_
ؼ ��>�D�:�0�+�	�I>y��
�e�jCqY��P\��
+��B�e�>z�ڋ��概�I���H�Ӏ��k4ic�S�#-���S}�}���t�
%�Yv}|ttww��+������D������j��0,��fn.7���$�C#G
+endstream
 endobj
-5591 0 obj <<
+5542 0 obj <<
 /Type /Page
-/Contents 5592 0 R
-/Resources 5590 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5539 0 R
-/Annots [ 5604 0 R ]
+/Contents 5543 0 R
+/Resources 5541 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5445 0 R
+/Annots [ 5540 0 R ]
 >> endobj
-5604 0 obj <<
+5540 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5593 0 obj <<
-/D [5591 0 R /XYZ 90 757.9346 null]
+5544 0 obj <<
+/D [5542 0 R /XYZ 90 757.935 null]
 >> endobj
-5594 0 obj <<
-/D [5591 0 R /XYZ 90 733.028 null]
+5545 0 obj <<
+/D [5542 0 R /XYZ 90 733.028 null]
+>> endobj
+5505 0 obj <<
+/D [5542 0 R /XYZ 90 703.284 null]
+>> endobj
+5546 0 obj <<
+/D [5542 0 R /XYZ 90 689.356 null]
+>> endobj
+5506 0 obj <<
+/D [5542 0 R /XYZ 90 654.108 null]
 >> endobj
 5547 0 obj <<
-/D [5591 0 R /XYZ 90 703.2841 null]
+/D [5542 0 R /XYZ 90 640.18 null]
 >> endobj
-5595 0 obj <<
-/D [5591 0 R /XYZ 90 689.3563 null]
+5507 0 obj <<
+/D [5542 0 R /XYZ 90 592.976 null]
 >> endobj
 5548 0 obj <<
-/D [5591 0 R /XYZ 90 654.1076 null]
+/D [5542 0 R /XYZ 90 579.048 null]
 >> endobj
-5596 0 obj <<
-/D [5591 0 R /XYZ 90 640.1797 null]
+5508 0 obj <<
+/D [5542 0 R /XYZ 90 531.844 null]
 >> endobj
 5549 0 obj <<
-/D [5591 0 R /XYZ 90 592.9758 null]
+/D [5542 0 R /XYZ 90 517.916 null]
 >> endobj
-5597 0 obj <<
-/D [5591 0 R /XYZ 90 579.048 null]
+5509 0 obj <<
+/D [5542 0 R /XYZ 101.557 443.29 null]
 >> endobj
 5550 0 obj <<
-/D [5591 0 R /XYZ 90 531.8441 null]
+/D [5542 0 R /XYZ 90 429.262 null]
 >> endobj
-5598 0 obj <<
-/D [5591 0 R /XYZ 90 517.9162 null]
+5536 0 obj <<
+/D [5542 0 R /XYZ 90 380.001 null]
 >> endobj
 5551 0 obj <<
-/D [5591 0 R /XYZ 101.5566 443.2896 null]
->> endobj
-5599 0 obj <<
-/D [5591 0 R /XYZ 90 429.2622 null]
->> endobj
-5586 0 obj <<
-/D [5591 0 R /XYZ 90 380.001 null]
->> endobj
-5600 0 obj <<
-/D [5591 0 R /XYZ 90 366.0732 null]
+/D [5542 0 R /XYZ 90 366.073 null]
 >> endobj
-5587 0 obj <<
-/D [5591 0 R /XYZ 90 318.8693 null]
+5537 0 obj <<
+/D [5542 0 R /XYZ 90 318.869 null]
 >> endobj
-5601 0 obj <<
-/D [5591 0 R /XYZ 90 304.9414 null]
+5552 0 obj <<
+/D [5542 0 R /XYZ 90 304.941 null]
 >> endobj
-5588 0 obj <<
-/D [5591 0 R /XYZ 90 257.7375 null]
+5538 0 obj <<
+/D [5542 0 R /XYZ 90 257.738 null]
 >> endobj
-5602 0 obj <<
-/D [5591 0 R /XYZ 90 243.8097 null]
+5553 0 obj <<
+/D [5542 0 R /XYZ 90 243.81 null]
 >> endobj
-5589 0 obj <<
-/D [5591 0 R /XYZ 287.7769 181.1383 null]
+5539 0 obj <<
+/D [5542 0 R /XYZ 287.777 181.138 null]
 >> endobj
-5603 0 obj <<
-/D [5591 0 R /XYZ 90 165.6762 null]
+5554 0 obj <<
+/D [5542 0 R /XYZ 90 165.676 null]
 >> endobj
-513 0 obj <<
-/D [5591 0 R /XYZ 90 84.3268 null]
+495 0 obj <<
+/D [5542 0 R /XYZ 90 84.327 null]
 >> endobj
-5590 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+5541 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5607 0 obj <<
-/Length 2784      
+5594 0 obj <<
+/Length 1346      
 /Filter /FlateDecode
 >>
 stream
-x��[���6�}�
-��@���\
-�i�״{��pES�����~$������%%�ԭc�P��ןf>9�
%��0�Gz��P�0.{����Ÿ_]���!�>
?�\\���g��T�n>�$A�ڻ���'Q2�q�z at p�Y�G������]1݌G?�>nƛ��O_mf���
-�>o���o�O�f at t�XN
-�$�}J����.^�xrw�$������ܛ�~���-z_�
F��[\p�ܗ�Ż�y;��
�B k���A](CX
-v� �ȯ^����üP�7�t���[0�h�b4QHR�K��f��|?�� C�hH	�G�-�ת��stw�b�	����N�p�F!N��
�i��Z����|69��f�x�~]l[f
� �(=�jC at 9cQ���3��X�(u_�U�5�ѣr~	GK��� �ŧ�k�U������� oC<G�n�2x��T�?`L'�b�kp1���I��"n�]��.�,�*�9��
��չRHVE��L��HH/;'�- "!�p#�[�
�V6��&��#Q��a$��#�aȪ��ٱ���e��/��[��x�O�O��1��1oQs�*D$�I
:Fa�NJ`�U�Ԉ0����X|�*?��/'��jٖ��
ĥQGS7$R�ò���s�	˯Y��9v�+%�Ύ1�4��异�J�k^?`��^a]B���=>n��2�۵
��E���:h�SL�&�B�Q
D�s� �k�Yl��'
Z#������iصt~,D�o�e��ыy�h[��"*�^�C��0a�#���?g����������^�:!�$E0PI�S$%��PG����Ӫ?47�Ow�ϳ�m%�NF��b2�"YT��f�E�.6�Yq\41P`}��#dn��B'H�qAɒD�9X^���
Z����]R��AK{���mi��N�m=���>>x���h�=4K����6�w��]�hh
-������9T����������nS�
;�zrR[�H$��%��kf��>u����֚
���5F�n Η�\B'	][&q=,�����7���"v��M�{H܌W��qLR�H�C'�cP��-g)�ɴ�*�ʐ�����1u9�l at 8\�L�08x�@ݪ�������~2/F���}���҆d��Q��VB���~��O*��HENR��FJ�
,�\�S�b��f��	�B�s��VtN�
,�_����+���W�.�_	r�~��z��b�m<b�
�
���JĶ��x��
1�>fox$C�Q�c�)la"��t�A�5`N���F*{
��
a+�6ʉ��
a��s���8�7����l�O��
;��إr7E�!w3^]��1I�
���G�A�n���piXZ�(xT�%
-1LjK���Q�����0h���}P#՜g��P9F#�Dm.��S��)��H藇����bLrD���T1A1:����*<]��켊��*� �XګW�(&�$�ݡ��h�u��:ܾ\m�ə0v����

-D��$&rYc���H���\l�r���]/�p���>B�A/So�'Қ
-D�`�Lk 0�L.�
,�ց���:�Χu�.��	rAZ�����b�lN"�]��
����
��Icґ�
�
h�EL��ވĈsû���s
v��
!qLd:

�!�(l���B��h�9i��H���}����F5(
'gT6���Ȍ�yXV�B��s#m~�+&�fE~!���xW��a*����
d|�'2)��;�c�.Nj�Q����|�-����>0�$<���s����u;� ��
����1��xu�
yͷc]�۱
���2'W_��M�]w��;T�mt��i�/�ȩ6�`���
>7�]뾾<����jWz��<���y���4
��2('�������^�4\�1D
�	Q���(Cy���lw?:
,�W3H #�J�ʣ2<l\�Ԉ�$����_~=�����/����d��O��
m����e�
��%��X���>^��~0r�=�]�R��
���%+0�*Y-~�JV��\%�}�A���*_��ʼn�U��*R*[�B�GKTҥ�P���۰�S�C�j�K?��ݍ��}a{885vj8�5�n+^;�$�}ˑe�����rR�M�	J�����mX��#Y2�
�&�@� ;MD���N�@J��70�w�:A���i1
Ng�)\{*��t�W��M��!G+ ��>F;禅(��¹�
�� ��Dh��R"�������ѽ�$j���@L�X�x�2 ;C{M�@�΃w�
��]K���n|�Z��G*����I£��а�(
-XAg�*
-�w4]����U�M,͐�Tw���g"ݴ۹.�0�,
n���`�+cP�#
�/
�X�zL�
Ԇ�F�88�#�ò�
�޲*w�`��PurE�+%K��xX�"S��o[E���"TwG�5A#*t����I���TQp�lQ�
-
-i�noy�o���24vsw�҃�w�2n5��}m��wg A%]��M�����j1z�������̖���pP�%����Q92F"����d8�u��^=0��c�zt��&�&�c�Yy�p<~
o�{!���}.�~���}Q
��`��!�D
-yҋLJ�T5R�D3AU0K��v�����i�fQ��ڽT|�Z�Y\���b����*�o�˽�TV�h_�:��b�
�`� N�f��(LQq����s��,Pw�0���r�
-F۰k�|�ۭ�^]}��M�h���7h��Z��W��F
��2��zP�Ky�!W�鄐˧U�z�b�)��?.��]���o��P�/���endstream
+x��Yio�F��_A��K�j.��)��6�Ɖk+E' hr-�����Yr)Y�iXNݠ_,J���}o���k#
kǽW����b��\�Z��Zs�f[qJ�a�]� J�>��g��_$�wfP�g�t,����EW�_L�??.���S��ױ_��㹸�A
]�� O#�N	5�
����o=�`��ssٌkAһ���~�a�\G���ͤ
>c��gw�Ѻ��v!�!l��YD?8��tX�S1�m&|ٌ�+�XC(
��F5�_�4�'��K�
Kΐ
�Ǎ�o+|f0�2����+�0�
��~W~��wmd��E�U��M��(h34lS�梬�k���@,d2���j��L)_�]�90Q��P\��$(F*�k���
,(�?cL�H�Ղ��Â�0O����98����J,S�D��8��\S5
��t�����\?e��|vH���%Z9u��"
�
Ζ8�da�|4I�*�҇��C�O-�or�Ϙ㵤�a����ȖW�<ofU���6g�a��D*
+��a,�n(˯Q�������C���}+ϯ&Q
*��s)7Oc�&JG��6!�\��[(��0L�g�(�H��
k�6$��\B�I[ �W������漋iY�d���`T>��Z������eKGfm����bgX���\R� �I�OV
+!�$����)
f�"���,��*��Mt=
@�2'd�Of�٨����w��
EO��
� �{��	�i�μ�p8�쑬�e�5� ������
?��z��\9�A�5k� �<��i��E��Q��n����Bܱg��&N�DU�'i%�٧��
+��E�Z��VP�]�����_��V3����}�@��[Z&4��l��`���a�L�!����.�e3����϶
�@m�a|���״�+�
+�^�|��{�������'�O���O0��ԽG���X��,`e?�>�phb@ɾo��&�-�2��'��xc���v�҅`����uI�q����,ǼO^�O,�-dC�#�'i(�~�(��M
��a}V�l@��'���ߴ�3�S�ه��GY���5@��8u�� ۛ5��6
�=
d�
f�&X�$ g���S�
p�EN��O�����&���|#�5�
��k�w���;m����8*��{�I�n�Q@���w��Ҋ�l;쬞�U�Gu����+�l�/�L����)8��o,�8������ ���
��F��{�~V�E��?k��4_�k�������\W���餕��^q"1�M�� L��>�e_�v�k��Uk����o_�AS(�Cڤ
WU�|0���EA�&i�(�y
�E7�B�U`[9���
���~L|y�D�?��y
+endstream
 endobj
-5606 0 obj <<
+5593 0 obj <<
 /Type /Page
-/Contents 5607 0 R
-/Resources 5605 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5539 0 R
-/Annots [ 5611 0 R 5612 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 5642 0 R 5643 0 R 5644 0 R 5645 0 R ]
+/Contents 5594 0 R
+/Resources 5592 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5445 0 R
+/Annots [ 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 5577 0 R 5578 0 R 5579 0 R 5580 0 R 5581 0 R 5582 0 R 5583 0 R 5584 0 R 5585 0 R 5586 0 R 5587 0 R 5591 0 R ]
 >> endobj
-5611 0 obj <<
+5555 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2787 623.0791 192.2956 633.9831]
+/Rect [146.279 623.079 192.296 633.983]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5612 0 obj <<
+5556 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.7937 623.0791 258.7257 633.9831]
+/Rect [192.794 623.079 258.726 633.983]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_092f5c04d267ab5709dda2d3e51aaeb9) >>
 >> endobj
-5614 0 obj <<
+5557 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 542.3166 134.1642 553.2205]
+/Rect [113.91 542.317 134.164 553.221]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0262a2b32220536d8bc60d84ad8dac4c) >>
 >> endobj
-5615 0 obj <<
+5558 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9799 542.3166 203.6231 553.2205]
+/Rect [137.98 542.317 203.623 553.221]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5616 0 obj <<
+5559 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.7866 542.3166 373.1756 553.2205]
+/Rect [287.787 542.317 373.176 553.221]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-5617 0 obj <<
+5560 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 503.4623 134.1642 514.3662]
+/Rect [113.91 503.462 134.164 514.366]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_727dc2405cfc5f2252e6f21aa0f18074) >>
 >> endobj
-5618 0 obj <<
+5561 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5014 503.4623 245.954 514.3662]
+/Rect [161.501 503.462 245.954 514.366]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5619 0 obj <<
+5562 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 464.608 134.1642 475.512]
+/Rect [113.91 464.608 134.164 475.512]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_31603d81a2b0571a82c4c79b8c6e4564) >>
 >> endobj
-5620 0 obj <<
+5563 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9799 464.608 222.4324 475.512]
+/Rect [137.98 464.608 222.432 475.512]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5621 0 obj <<
+5564 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.9427 464.608 308.8875 475.512]
+/Rect [248.943 464.608 308.887 475.512]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-5622 0 obj <<
+5565 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 425.7537 134.1642 436.6577]
+/Rect [113.91 425.754 134.164 436.658]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0c02302b6281fa91ef9275bd37e43efc) >>
 >> endobj
-5623 0 obj <<
+5566 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5014 425.7537 239.3285 436.6577]
+/Rect [161.501 425.754 239.328 436.658]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5624 0 obj <<
+5567 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 386.8994 134.1642 397.8034]
+/Rect [113.91 386.899 134.164 397.803]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_527ffa31e1581a8beb83a832244dada8) >>
 >> endobj
-5625 0 obj <<
+5568 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9799 386.8994 215.807 397.8034]
+/Rect [137.98 386.899 215.807 397.803]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5626 0 obj <<
+5569 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.336 386.8994 297.2807 397.8034]
+/Rect [237.336 386.899 297.281 397.803]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-5627 0 obj <<
+5570 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 348.0451 134.1642 358.9491]
+/Rect [113.91 348.045 134.164 358.949]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_732d3b59f8a0ba21a72877d5fa4b98a5) >>
 >> endobj
-5628 0 obj <<
+5571 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5014 348.0451 260.8877 358.9491]
+/Rect [161.501 348.045 260.888 358.949]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5629 0 obj <<
+5572 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 309.1908 134.1642 320.0948]
+/Rect [113.91 309.191 134.164 320.095]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1ba0bd59426889233904d052224cab76) >>
 >> endobj
-5630 0 obj <<
+5573 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9799 309.1908 237.3661 320.0948]
+/Rect [137.98 309.191 237.366 320.095]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5631 0 obj <<
+5574 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.4531 309.1908 319.3978 320.0948]
+/Rect [259.453 309.191 319.398 320.095]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-5632 0 obj <<
+5575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 258.3814 134.1642 269.2853]
+/Rect [113.91 258.381 134.164 269.285]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_19623ff8cea2239d66331f29c1d0268d) >>
 >> endobj
-5633 0 obj <<
+5576 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5014 258.3814 180.1016 269.2853]
+/Rect [161.501 258.381 180.102 269.285]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-5634 0 obj <<
+5577 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.3484 258.3814 221.0753 269.2853]
+/Rect [188.348 258.381 221.075 269.285]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-5635 0 obj <<
+5578 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.4889 258.3814 334.955 269.2853]
+/Rect [259.489 258.381 334.955 269.285]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-5636 0 obj <<
+5579 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 207.5719 134.1642 218.4758]
+/Rect [113.91 207.572 134.164 218.476]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_470e6a581b91bc6d5a4a6388d1ddde99) >>
 >> endobj
-5637 0 obj <<
+5580 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5014 207.5719 206.6618 218.4758]
+/Rect [161.501 207.572 206.662 218.476]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-5638 0 obj <<
+5581 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.5265 207.5719 332.9925 218.4758]
+/Rect [257.526 207.572 332.993 218.476]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-5639 0 obj <<
+5582 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 156.7624 134.1642 167.6664]
+/Rect [113.91 156.762 134.164 167.666]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_df002bbcc4dcae5efdb56bae2971a64b) >>
 >> endobj
-5640 0 obj <<
+5583 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.1628 156.7624 233.4312 167.6664]
+/Rect [161.163 156.762 233.431 167.666]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-5641 0 obj <<
+5584 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.5465 156.7624 358.0126 167.6664]
+/Rect [282.546 156.762 358.013 167.666]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-5642 0 obj <<
+5585 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 105.953 134.1642 116.8569]
+/Rect [113.91 105.953 134.164 116.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_f306aa1f4e34bf045cd07e5ac11d8f68) >>
 >> endobj
-5643 0 obj <<
+5586 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5014 105.953 180.1016 116.8569]
+/Rect [161.501 105.953 180.102 116.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-5644 0 obj <<
+5587 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.2758 105.953 295.2094 116.8569]
+/Rect [208.276 105.953 295.209 116.857]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1From__Covering__Box) >>
 >> endobj
-5645 0 obj <<
+5591 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5608 0 obj <<
-/D [5606 0 R /XYZ 90 757.9346 null]
+5595 0 obj <<
+/D [5593 0 R /XYZ 90 757.935 null]
 >> endobj
 218 0 obj <<
-/D [5606 0 R /XYZ 90 733.028 null]
+/D [5593 0 R /XYZ 90 733.028 null]
 >> endobj
-5609 0 obj <<
-/D [5606 0 R /XYZ 90 640.1501 null]
+5596 0 obj <<
+/D [5593 0 R /XYZ 90 640.15 null]
 >> endobj
-5610 0 obj <<
-/D [5606 0 R /XYZ 90 640.1501 null]
+5597 0 obj <<
+/D [5593 0 R /XYZ 90 640.15 null]
 >> endobj
-5613 0 obj <<
-/D [5606 0 R /XYZ 90 561.2904 null]
+5598 0 obj <<
+/D [5593 0 R /XYZ 90 561.29 null]
 >> endobj
-5605 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R /F37 2043 0 R >>
+5592 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F35 2013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5659 0 obj <<
-/Length 3404      
+5650 0 obj <<
+/Length 1627      
 /Filter /FlateDecode
 >>
 stream
-x��Ys#����)��PU&������f�T��u�(j$���$eE��i�  ����>�R��CM����Cc��dd�H	�
�r4_]��=���
�NO��$6������R�
2����]�A$(����_DŽ J�&c<~{E�x�[ͦo�(
o����n6�aq���?������jB
�^�����]qW쮈
�y�$#r
�~����� �iL+���_ã[h�w1���	>`D������X^�|��:Q~�+

��
MGZ·;���
AZp��"��'�"M���4��2%B��2M�D�i>
-f6��)��
ߢ��b�͈
M��l���w��E�C,eV����+;���1D�N��x�\T&���=x�Y��В"n�j��o����h��2޺�Y7uP��+I� Xe�S8
ݭ��/����BV%�rh��}NA˯U�z��.�+"��Y
���o(bX���L��_h��ļ�㋿�����Oo���տ����
-i������EN���9�(+>� X�r�P��2��
-��q��2�Ƴ������nw��x���޺�V�ZW{�/���jy��-+���a�/�C�
��MN���M�
כCuPY̋©8<��o��`�-��Sor�l�
-˅�
���UhuM���%G0���
k�*���ux�*e��L;�sÜ�b��M��!�Y�GK�C%#���̮aĦg
���{�֑��%t����7,���rY���2�� �v�-ֶSۚX����>t(%�
-y�� 5�1�Or���/�e����
^F����K-x)q�/�/x��d�z�
^FF�oo�u9�2�wF���!
-a�Q/�����:
E
rhӃ}FD��е�* ��
-2��`�ӡ$��e�:>|��孡�u���Z�ͬ�vWL�ok�T��|�}���y�8?l`+ at H�R��8v~Y��){��Qʛ�)9<�Riu�R��$��"J��J�Q/[!� q�4b�7���·���m���x���(��LӽU.�V�b�㡏�:����`�������Q�0|9��`��
�
-J�F���{��uo���'r� ������r
��ԋ���X��v�X�Ύ���]XUS���;��2��r
-*`�Q�q$��%���ם5�@2%�qF��mW�
����U�#ܗ³uը���4t�ج'��]+f��M�^ �C���\*?`y� {F`m�`�;=80v{0c=���B�

-`X��m��bu�Y6����� -w��3���T���qx��]�={3��Nf��L"�Mw��&�Y�m�Q}�ֻ�P;��J�
��@�`薜8gV�F���-�\��6�I����2��PؕQ����j:��ټ��-J���n
V	T2�87�nz�
t5NW��
-��H �۽�bHr���
/���G9FT�{3��]qx�
�G�w��e�V
�����|�ه�j��Dk`���$H���G�)�"�,NO)sS
J.��&�)��)�Mqo���ó�xZ��ⱶ�S<���)���x�svwE�
It���U�HR�$Xe�ؙ.k��	3�ki�gΙ鱏�Lf�L/'�h�0����r�i�Y���]�,�3Ƙ�]-
������WG%���i�/�-''��Y6�ּ�
��FO��`�I{ۯ�D�AڄkS�,
�Mr�L�UN�!P����Mg�D�d���\	�4;�.s	[���W��*K��ݹPN+sV���嵑�b}����?���/b�i�R9ʰ�E�n �2�Y�s
t�/�q��f�<N�Q&��p��z�ap�?�܊}� ��Z���PU��*����ٲ�9�RmP��V_�}���|)�{��e�s!>��3zZ

E�~��������S*�H�>!���1,ċ��*�ʣț�Y9<Fiq�F��p�z:��J�@�����j���v�b��h.�r'�*'�@*�r��<�΢��E
-NΪ�&]�d���ٛ-�Tp\�
-��@�Y���j�ҬTP:!��s&?4I�rƁJ��ו��;j�
-���t������V���	x�`�u�I�WLÚ�	��ʙ�<��e�%]/.6�GQ-l�D�I{�
7q������:��
�k}4d�m
-\$��2"��v!��j".��Gs54�>���u��A\A�Q��{�\x�+ְy���ʤDRcy]c	���Km]�_��
l�`���,��Ƅ�

�Y���
�q=
���aAZA��,H�!bARđ��
�� bA:|�o�����y:�*#��9
N���x0r")*x�����vS�"
>�mv�4�A���xih`���›�9LA#
�C#��F-�h����[��o�u��B88,|X�t*�UF!�HS��0H�']�!��·����y���C��b�
���%
-N!5
.�ڥ�>�f���^��<>� ��t M�h�_�TD��:�,
b�	:d�::�¦�P�;�-���!��#
�B
jB��00G:d·��ˊ
'�A��6�\����]2���P�W���g�"��7�EH�G��m��~��܀j��r��fynDϽ����k�o
Ma�0}W,g��{��ti�H
-
|U!�eVi��I�9���zZ��4�^yMɜ�� IaS!����4�hra�����s2Z~����me��Nw��eb3;��P�ؗ���ȡ���� �>R��f�ȩ��Wȝ{�,o�w��'OE��'�4bP�|��W�G-��G���7id�R�}C�
-��쎑����̲L�
��Č8gV�V2��4501%�d��D%�i
v5�y&��+�L� �-����d"�<�Dk�����.P[\�c�ND��(�W=�1���r0�#��3vc	0�?
��(�����BZȃ'b&
���3��,�����XL��X����ń�ӱ�Tz�b,u 2c,�,��1��Z�!XL�h�-��KD
-�k)I:�*���yc,�@D�WB�E��G�����D��[A�yq"R�*�{%��9<��iq������Г7�i���&u��9%3�<g��s����z��猌���cc��3
*��J&!Xe�3��$�z���`$�7G�>����G
-���Ϸ{>�����sF)�$W$z�,#w���uq̛�fپ!5��c&�@8�L���݋i��E�E��%�L��Q&�}הhV�u���#a��s�`�@��g�VX�{ )bj�$Id��~��"jo�-/��V�9o��P��E���?���/WB��3[?�;�6
XW���5H��ۻ��?E��'�#$�=�8A�������P�/L�oT/ݪ��-�������W�����|�
׋�-�����[.a�L��&�����yf�m10\b-w����fW�'%�c%A[�P�tH��M�endstream
+x��Zms�F��_��f��
p�����x�Ɖk�3�$
�NS�(�����eG�,��O
�w���s{�X[hX;�
N^9��#�1
m4�|��A�$�h�}�	A&1�c�_�A
�
��zm�l���$�ͳggy83�&��i�l^�9�
��,�2ɱ����2>��
^�_t�sS�զ���g����
#������5۴�iW��X�q�U�G�};ȶ<�%�pF~2M*�i�s}�R��l�}
Rp��p[�s#?a��iR��eOw.v�|�&}�<ɖOw�?M�,b���a�K/��4m�=��݇����/�|=� �����z��55\���U��
�Ԇ�F^E��0����@^tޚ�M�4n�Δ��U"���0Y(�h��a��ՠ�eZ0�TF Ӹ��,eJ0IKِSƔ�R�O�(26
?alV"�
��O���`)F>���rv1��m��Z�Jb)�䨯�=���_I�
�A�V�a�3��%�DԞ�\�,R+���F½��-�X�UK�	w% \�۰�HqE�P��y�_a�1���ЄG\���l٣0��o���ц��e=�,dc�2�������O6�C�Ǿ�����0�n����P؝��e
+ћ�oģ�H���
Ov�2�X
�����^>����
+�ݳ(�E��4j�9�A�e�%RY�B|kh�AԮD4�g������/�U i��8�L���E�oV2}��E�YG�i�H�&��YVa�
ÄS7(É�/��ͦƳ��dH\
Ӄ��"�T��9�'�E1�U2-aR�{��@9��T^ߥ��y:
�JL)}
�n� Q��!A���ԵG��&c���
+Y0e��M��TK�a��,��	&�XE�KV���w]$e��_�����	�^�����1�< �{L(Ȟ{�	,����y<��aRn��

�6�wK�ˆXu�=�m!�T��� %�"��"�ʂ$���������!d�'�Nb�wg� �$�@tiރF�k�G!
xGf��}�mo_��m
ҷr|�)Jߍ�Ӻ[�A)PaFjڊG��*�D���'�V����PQb����
+;��N�5�9��Yq����
�T�y�]2�
4�$ ���(:D�
+�8����Ǡ�'�[~z���y	m�K�n�ҳzxɻ�x�Y��4#�:��K*M��KO��R�X�:��'ۼ�}���a��;R��y�q[|Td�C� |]�+~���׻*�z��A��N�鉞[�Q�G��Vh8��w�ηxZ%T*�7�n�i
^
+��X"+����K�E5�c���'�\��������?��w��Z�G�ō)?�C�_�((�%���Ε�X��951���​CVN��n�F3q>/�s�5cI_�iy���}䞭4y�qTsڴ������$ ��(�O���{$��#G/�]��'��8D���K!�l����A��;���Q�/U�o_?B�����Qd��i�ϰ���}����
�G����Q��� ���f��Q��(�;��.D����<���BݪR���2(�=΃dUUYܜ�|(�7'm�?I�3b�/U����3i�_Z��m �n�6���W��,�����z�F���0�QX�dYtr�[S3
+!6r�#�y��%NsVՍ�H�G]��k�M
+endstream
 endobj
-5658 0 obj <<
+5649 0 obj <<
 /Type /Page
-/Contents 5659 0 R
-/Resources 5657 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5539 0 R
-/Annots [ 5661 0 R 5662 0 R 5663 0 R 5664 0 R 5665 0 R 5666 0 R 5668 0 R 5669 0 R 5670 0 R 5672 0 R 5673 0 R 5675 0 R 5676 0 R 5677 0 R 5679 0 R 5680 0 R 5682 0 R 5683 0 R 5685 0 R 5686 0 R 5688 0 R 5689 0 R 5691 0 R 5692 0 R 5694 0 R 5695 0 R 5697 0 R 5698 0 R 5699 0 R 5701 0 R 5702 0 R 5703 0 R 5705 0 R 5706 0 R 5707 0 R 5709 0 R 5710 0 R 5711 0 R 5713 0 R 5714 0 R ]
+/Contents 5650 0 R
+/Resources 5648 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5445 0 R
+/Annots [ 5588 0 R 5589 0 R 5590 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 5642 0 R 5643 0 R 5644 0 R 5645 0 R 5647 0 R ]
 >> endobj
-5661 0 obj <<
+5588 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 707.0844 134.1642 717.9883]
+/Rect [113.91 707.084 134.164 717.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_36cc3783cdc92ab5fc69904c298ed12c) >>
 >> endobj
-5662 0 obj <<
+5589 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5014 707.0844 209.4314 717.9883]
+/Rect [161.501 707.084 209.431 717.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-5663 0 obj <<
+5590 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.6243 707.0844 308.0904 717.9883]
+/Rect [232.624 707.084 308.09 717.988]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-5664 0 obj <<
+5610 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 646.5594 134.1642 657.4634]
+/Rect [113.91 646.559 134.164 657.463]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a28d735beef86789b73b41dbbde71abf) >>
 >> endobj
-5665 0 obj <<
+5611 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5014 646.5594 181.7553 657.4634]
+/Rect [161.501 646.559 181.755 657.463]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5666 0 obj <<
+5612 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.3194 646.5594 274.7855 657.4634]
+/Rect [199.319 646.559 274.785 657.463]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-5668 0 obj <<
+5613 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 607.9523 134.1642 618.8562]
+/Rect [113.91 607.952 134.164 618.856]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5669 0 obj <<
+5614 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.9038 607.9523 185.7104 618.8562]
+/Rect [144.904 607.952 185.71 618.856]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1ba97c180500b43954b09532151f6c9d) >>
 >> endobj
-5670 0 obj <<
+5615 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.0476 607.9523 233.3014 618.8562]
+/Rect [213.048 607.952 233.301 618.856]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5672 0 obj <<
+5616 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 533.6568 190.7379 544.5607]
+/Rect [125.095 533.657 190.738 544.561]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5673 0 obj <<
+5617 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 533.6568 261.8505 544.5607]
+/Rect [191.236 533.657 261.85 544.561]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fc06f600e94b7bedb91d0371a51f4c38) >>
 >> endobj
-5675 0 obj <<
+5618 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 497.2893 190.7379 508.1933]
+/Rect [125.095 497.289 190.738 508.193]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5676 0 obj <<
+5619 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 497.2893 262.1594 508.1933]
+/Rect [191.236 497.289 262.159 508.193]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_90ca2b1613fda31a2ac7e79d9388680d) >>
 >> endobj
-5677 0 obj <<
+5620 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.2253 483.912 390.0817 493.8173]
+/Rect [329.225 483.912 390.082 493.817]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Affine_Dimension) >>
 >> endobj
-5679 0 obj <<
+5621 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 460.9219 202.9218 471.8258]
+/Rect [125.095 460.922 202.922 471.826]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5680 0 obj <<
+5622 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 460.9219 248.5799 471.8258]
+/Rect [203.42 460.922 248.58 471.826]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_53b24395ac61f8b2b2accc5a3900bf69) >>
 >> endobj
-5682 0 obj <<
+5623 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 424.5544 202.9218 435.4584]
+/Rect [125.095 424.554 202.922 435.458]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5683 0 obj <<
+5624 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 424.5544 296.1808 435.4584]
+/Rect [203.42 424.554 296.181 435.458]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_880344de195aef75a6b3f2a4db4787b4) >>
 >> endobj
-5685 0 obj <<
+5625 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 377.228 233.0688 388.132]
+/Rect [148.616 377.228 233.069 388.132]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5686 0 obj <<
+5626 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.8085 377.228 295.5939 388.132]
+/Rect [243.808 377.228 295.594 388.132]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8688fd38682b19e97422816d72524790) >>
 >> endobj
-5688 0 obj <<
+5627 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 340.8606 233.0688 351.7645]
+/Rect [148.616 340.861 233.069 351.765]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5689 0 obj <<
+5628 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.8085 340.8606 343.1947 351.7645]
+/Rect [243.808 340.861 343.195 351.765]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_453e51570268eb4d63fc529130a54440) >>
 >> endobj
-5691 0 obj <<
+5629 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 304.4931 248.0025 315.397]
+/Rect [148.616 304.493 248.003 315.397]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5692 0 obj <<
+5630 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.7422 304.4931 323.2596 315.397]
+/Rect [258.742 304.493 323.26 315.397]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8865893c48cc07adae5dca6b35081751) >>
 >> endobj
-5694 0 obj <<
+5631 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 268.1257 248.0025 279.0296]
+/Rect [148.616 268.126 248.003 279.03]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5695 0 obj <<
+5632 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.7422 268.1257 370.8604 279.0296]
+/Rect [258.742 268.126 370.86 279.03]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_6ae1850664122e9917f174d10fd3bf06) >>
 >> endobj
-5697 0 obj <<
+5633 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 231.7582 205.6917 242.6621]
+/Rect [125.095 231.758 205.692 242.662]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-5698 0 obj <<
+5634 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 231.7582 261.3124 242.6621]
+/Rect [206.19 231.758 261.312 242.662]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d14942b33fb82bb3e6a13e5e92ada475) >>
 >> endobj
-5699 0 obj <<
+5635 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 231.7582 338.7813 242.6621]
+/Rect [288.65 231.758 338.781 242.662]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-5701 0 obj <<
+5636 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 195.3907 205.6818 206.2947]
+/Rect [125.095 195.391 205.682 206.295]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-5702 0 obj <<
+5637 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1799 195.3907 261.3025 206.2947]
+/Rect [206.18 195.391 261.302 206.295]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_803035024ab9670971868f4b1092f7c5) >>
 >> endobj
-5703 0 obj <<
+5638 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6396 195.3907 353.7051 206.2947]
+/Rect [288.64 195.391 353.705 206.295]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-5705 0 obj <<
+5639 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 159.0233 205.6818 169.9272]
+/Rect [125.095 159.023 205.682 169.927]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-5706 0 obj <<
+5640 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1799 159.0233 261.3025 169.9272]
+/Rect [206.18 159.023 261.302 169.927]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_6f703ba611b9e5ff613f4df35347ee95) >>
 >> endobj
-5707 0 obj <<
+5641 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6396 159.0233 330.4624 169.9272]
+/Rect [288.64 159.023 330.462 169.927]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5709 0 obj <<
+5642 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 122.6558 205.6917 133.5597]
+/Rect [125.095 122.656 205.692 133.56]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-5710 0 obj <<
+5643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 122.6558 261.3124 133.5597]
+/Rect [206.19 122.656 261.312 133.56]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ce98c3e57a1237e6dd5042b5a0919193) >>
 >> endobj
-5711 0 obj <<
+5644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 122.6558 332.1558 133.5597]
+/Rect [288.65 122.656 332.156 133.56]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-5713 0 obj <<
+5645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 86.2883 183.8239 97.1923]
+/Rect [145.299 86.288 183.824 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2f31170286d3abc2f4867d0b193ae8bc) >>
 >> endobj
-5714 0 obj <<
+5647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5660 0 obj <<
-/D [5658 0 R /XYZ 90 757.9346 null]
+5651 0 obj <<
+/D [5649 0 R /XYZ 90 757.935 null]
 >> endobj
-5667 0 obj <<
-/D [5658 0 R /XYZ 90 626.922 null]
+5652 0 obj <<
+/D [5649 0 R /XYZ 90 626.922 null]
 >> endobj
-5671 0 obj <<
-/D [5658 0 R /XYZ 90 548.6116 null]
+5653 0 obj <<
+/D [5649 0 R /XYZ 90 548.612 null]
 >> endobj
-5674 0 obj <<
-/D [5658 0 R /XYZ 90 514.2666 null]
+5654 0 obj <<
+/D [5649 0 R /XYZ 90 514.267 null]
 >> endobj
-5678 0 obj <<
-/D [5658 0 R /XYZ 90 477.8991 null]
+5655 0 obj <<
+/D [5649 0 R /XYZ 90 477.899 null]
 >> endobj
-5681 0 obj <<
-/D [5658 0 R /XYZ 90 441.5316 null]
+5656 0 obj <<
+/D [5649 0 R /XYZ 90 441.532 null]
 >> endobj
-5684 0 obj <<
-/D [5658 0 R /XYZ 90 394.2053 null]
+5657 0 obj <<
+/D [5649 0 R /XYZ 90 394.205 null]
 >> endobj
-5687 0 obj <<
-/D [5658 0 R /XYZ 90 357.8378 null]
+5658 0 obj <<
+/D [5649 0 R /XYZ 90 357.838 null]
 >> endobj
-5690 0 obj <<
-/D [5658 0 R /XYZ 90 321.4703 null]
+5659 0 obj <<
+/D [5649 0 R /XYZ 90 321.47 null]
 >> endobj
-5693 0 obj <<
-/D [5658 0 R /XYZ 90 285.1029 null]
+5660 0 obj <<
+/D [5649 0 R /XYZ 90 285.103 null]
 >> endobj
-5696 0 obj <<
-/D [5658 0 R /XYZ 90 248.7354 null]
+5661 0 obj <<
+/D [5649 0 R /XYZ 90 248.735 null]
 >> endobj
-5700 0 obj <<
-/D [5658 0 R /XYZ 90 212.3679 null]
+5662 0 obj <<
+/D [5649 0 R /XYZ 90 212.368 null]
 >> endobj
-5704 0 obj <<
-/D [5658 0 R /XYZ 90 176.0005 null]
+5663 0 obj <<
+/D [5649 0 R /XYZ 90 176 null]
 >> endobj
-5708 0 obj <<
-/D [5658 0 R /XYZ 90 139.633 null]
+5664 0 obj <<
+/D [5649 0 R /XYZ 90 139.633 null]
 >> endobj
-5712 0 obj <<
-/D [5658 0 R /XYZ 90 103.2656 null]
+5665 0 obj <<
+/D [5649 0 R /XYZ 90 103.266 null]
 >> endobj
-5657 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F99 2213 0 R >>
+5648 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F97 2177 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5719 0 obj <<
-/Length 3312      
+5708 0 obj <<
+/Length 1523      
 /Filter /FlateDecode
 >>
 stream
-x��\�n#�}�W�i"c�y�b��fLf'y�,
�n����H�x'_�bw�b7�b˲��3X,�eU�)Y��l�و�l���(C��zt�������.X��%|����Ż?i5r�i�G��j��}��e��lr�(��F���bz�a��x5�z_ݮ�W?ͮ������X�n'�\��w��f�\~�����q�����L�9�_?�x���\�����}�˯tt
m���=�J�s|���\��/��4_�7�K�p��
\Ib5ܾNJ	���p���p����P�d̥�#
����IJ��|�|F?V���r��7�������m׏Uc�q
-����5��5I�.�į���|U��(Kn��X�Y{�?({�DScB
��M9�M����Z<l�8>à ��f�-$�	��
�
����@w0�����JŒ��U����]w�=c�h��(����\틼�M
�����5��ua�W�y+5�N�
��j������Kd~��z\�&\��L�W�M�uč.��5*��`Һ�}�(�Ϛat�Zn�����
*�)Ŝ�@�9���bn�����38
�(P��@F�4g/i�t�S���fŒN
"%]�mK���tv at I���%�]=��ϳ��|���f��T���8
s'
��`T�KA$O�ztY+�Ʌe'�u�+�`��R��h�eݎ��C�aQ_o
�7ն
�m���%�/��v�n
���`�@XA8"�s�֎`�)�J��-�:Z��Y��+กRX�:�CX �۲��l���l���[�
xy�
Ǔ�
-1p�V�~��� ��H���TD�R�_F�x�G�
1ʖ��J����h{�o�fC���P'��a�c�`�j����~����ҷ���Nj�&���D�qK����RԹ�s�A�+P`�*2`�!@
����� ����^w�w������B�S�����ppJt�}�R���Ik��R���Ջ���������rL���VY�-���
f�M
bu���Ma����)]<��o[�׫��m��afY���V%t'��B��~L�J��/N)��V���՗o��H�
-��(~�M���j�1*Wlt��+��u��j8�R1�O�
����+�E5�~��W^$eJ[�\`)�6h

��t����r�0r��O*��V���Ֆk��6�v+a^M7aWaي�z�H:��7$�v[��Ӱ�#�	y��V�	�T�ѬX�C��
�m�w`�j����B �߶�7�u�뙪ְ����`UB��0+L/�P��������`_� ��#���1+���z�-,`P@��S�
-���h�
�n3]%<i8�T�����@/��
�ץ��}�u|��,����h����`�����r�j����/@��(�Dk�" Riο� %������*���
Ɔ(h ���s��}�
<h�M��z5�^�!�<M�IF����<D#<�#,��;�?�ê
�����
1��~�j������a]m6�ղ��H������ >4�f���
-�3#�M&�I/�����3V��ce%Bw(͆�L�B����=��d��̕vo�Y��+⸁SX�;�C� �ۧ��j���)�E
�
-��D�*�ѥi-�zh6�y)��ׁ�(����
-1�&eEo$
ύ�sٓ�ɩ���7n|Yn��BR'�΍‚(Q�tP'��1u�pc����!n5�CE�ћ���^=�b��l1�O�o�
5�
--V%hX:K�z؇ɐA�ʩ�	���0r������{�5��hU
-�)̶7
"�=��#{Q�
��h_�%��c�nU��	��̪|�T��Ԥ��JAA~�&d��p��2!� �_��D�/��
�	��V(�hU
-Ÿ��\�����	̸*҅�a�Ϙ��)��uA?.�N�B)"�4O�VSȴ͊Ӫ��\�V��,�V
k�U�h�U�:��
�H�"��i
�t��6�Tz[��9�L�� =����6�x�h���Sv_�N�94�;Q+��*z�!���#y���x^�C�@���,^o�N�)�x�|�
r{�o:
�q_l���
�y���f����2���hV��CLn�An������8|��0���|'7p�(7:/ˍa	H�F��H���"�xQn�A
����
4���rKH"7� ���$�$7�e"�h��#���Dn�AD��e�X��%�Gx
)�T�"����~Oa����h�e�����Y];B�7i
�Q��G�~�����o���C�w0
hz��n�QZ����������.�49
�\>�W�I�}G��H�T��Z5ΦM�V��Z�Ρ���F#�=��Z#Ɗ�S�hV�}�CD�p[�ׁ�/�
1L�
,��Z�R ��Z�͖���o{kTB�z_�R~X��(��	���0r��u���f"�Bp�h�z�(�>K��jh:�}!���@��	h:��#Z��0�t��Wof˻���k�ᙈ�� r�U�"V�2�JA�?
ڛ	���8;�S9�W}���o2��֘��ݤ>0���҇�&\D������QR�����; �+zH�@���e品
�>�U5_=d��'!Ρ{�{�_���l����%������B�Bi"��`V�CLh�Ah������x ��ABm{8r����ư$B
#�{���2�xQh�!
�ґ
4���B�G"4� ���$�$4�e"h��#���Dh�AD��e�X��g{	F���S�J%��K��ezþ
�����!��
#�bj�
-�~+�:˻���21�ɳNX�V�Z����������������^�KLSPe���a�o���kE�YQ��W�mE_=�م
p��@��=�!
�B�U	������}�`T74ѾF����D��Uh~�*�rH�e=��a�?�U'��'���N�����qO�8P��;E�3�-��d

�>��{���KGكU��v�0�CA�%�8ͥ�CXE�{���zv��/R;@v�[��ah��
A��$iL7�苓����
1�oM�ц��g��]�#8����蓞�>0�
f���ˆ��?�x�k���3��D
-���x�k�^yHa���ܜ�������\稂?l%l�FeȇR�9>�)H��oH׋Vo�Sn>��Tn>�mS��0Qj�j�L���ys�I ���o.��P�
��?F1���s��k����	j���(\�9��p�erG��h��6���|��>������l��r��&�����l�Ǫ�'�����Y0�b�d^XM�c��]xg�b���"��b���eCѿ�vO(���#�endstream
+x��Z[o�6~���S'	Ë(Jy\��: m����!�t�MO��f�~���"�J�$mf �i�<<��Ǐ��uea�������[�Y
+<�Y�S+����X��M��9%c��!��$
^8�Y|3��<
~�Fy�ߜ��ˣ�sJ9�_�aQT�Or*s���L�,y�x6%���������_�Et�\ ��5N_�ak��[�����Vb���gl}
|
`3��O=.A-��j\�ňBQP��ǫ�}��"O
�	��W�3�����W�
YUZ�	� ��R4����,�o���[�JkW �6]|���"������F�EQ{Q}�d^/� :H��
���
�p�p
+Ѡ�)�( ��R�f��rʁ
�,��s���D����a(��4r(��
�m�rӐ��s
���z��E���&
y.�
+\��\} ��jza��a�\f�,ή�q�7�q�r��9����U�� kP����b1*di\6c(g��r\f��8A�aޗ)�����IT��Ei9��Y��"���aJ/=-�_�<�_���K��m�p���s�bD �6C	s�	�P���
Y%<�]�/�ƹ,�ciy�ԑ-�e�t�8����P�f�2��b�Yu%��\	�1�]�ڸQ�i�1�~,âN R��m��;H���Ӛ
�G6e���#�;��:�X{�p�����f��O*���X��5,��=1�l��
+a5� �:G���–��y
%����t7~Q Sp�ת��Љ�0
e
+�j���4����7��,�(K[sN�mP��O¨w����
Lj߶{.�Q��=�F6l D˟�r�H�'��x���$�
%ѿ[��HЅe��A��J
�T6q�� ��י�*��t
��O,�a���b)�,MN
ݢF
��z>0P�^��+
�"��D!."��A��>�>0QT��:Q1
+f�@�=�����rՍ��3�ʪP"׶��(„��-���X�2fq;KL_#}�u-
�ԂB��ϼ�g���S"�{_΢�b�L
h& ��[���<�a�C7�e��ʙc�0^ԉy��%�Ey��Y��_���QC����
8����Cu�ڶb�
�Q��*��*Ԥe���@U\Τ9�m;'��J�V
�!H�~��l�$����9�H/;HP;��vM
X'M�5*u�D��
�
�{�ӽ����,)MT-�k���yU�
�~Ec늆�
�V4���hl]lp���]� �m����?��ti��C�
<���R�
T�(Ut}�dJ
��	��[��$�:J�Qzzˠ�>�A=UE�\���,�yGu���<�[P�����cM`$�9�л�2�ƥ�@v�ѳШ��5�7L�VP��6�{��R����/��C��
���ZTu痵�_���yb4����옷.�Ns��B�8��Fp�E;
���*K�!���a�^�9e۟e�V��۪K�
4��NS��}�;+�����r�D�-�h���<���5,7�N ��U�i}�/��fI��IX���A� �6"�
+endstream
 endobj
-5718 0 obj <<
+5707 0 obj <<
 /Type /Page
-/Contents 5719 0 R
-/Resources 5717 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5539 0 R
-/Annots [ 5722 0 R 5723 0 R 5724 0 R 5725 0 R 5726 0 R 5728 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 5748 0 R 5749 0 R 5750 0 R 5751 0 R 5752 0 R 5753 0 R 5754 0 R 5755 0 R 5756 0 R 5757 0 R 5758 0 R 5759 0 R ]
+/Contents 5708 0 R
+/Resources 5706 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5713 0 R
+/Annots [ 5646 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 5705 0 R ]
 >> endobj
-5722 0 obj <<
+5646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 697.3718 192.2722 707.9021]
+/Rect [145.299 697.372 192.272 707.902]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_59634a195948ff0617177d0a41e30602) >>
 >> endobj
-5723 0 obj <<
+5668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 660.1364 241.9353 671.0403]
+/Rect [145.299 660.136 241.935 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_dc7cdee1981f44b5db23f6c28c79d0a6) >>
 >> endobj
-5724 0 obj <<
+5669 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 625.2672 213.1634 636.1711]
+/Rect [145.299 625.267 213.163 636.171]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_621d377682c2c67051c24b1cc8a03497) >>
 >> endobj
-5725 0 obj <<
+5670 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.5006 625.2672 260.7545 636.1711]
+/Rect [240.501 625.267 260.754 636.171]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5726 0 obj <<
+5671 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 590.7715 189.9009 601.3019]
+/Rect [145.299 590.772 189.901 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2528b5f433e743dda827b1028b6c74cd) >>
 >> endobj
-5728 0 obj <<
+5672 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 555.9023 193.2289 566.4326]
+/Rect [145.299 555.902 193.229 566.433]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1a5606b64a035977b9d76b1932227246) >>
 >> endobj
-5730 0 obj <<
+5673 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 518.6669 238.4586 529.5709]
+/Rect [145.299 518.667 238.459 529.571]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0047a6aa4f26d9133b9d741f68384f38) >>
 >> endobj
-5731 0 obj <<
+5674 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 482.1788 187.6893 492.7091]
+/Rect [145.299 482.179 187.689 492.709]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_3ac47497148e61f3d7a3da09d17a03bf) >>
 >> endobj
-5732 0 obj <<
+5675 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 482.1788 226.6926 492.7091]
+/Rect [191.505 482.179 226.693 492.709]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5733 0 obj <<
+5676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 446.9359 228.8952 457.8398]
+/Rect [145.299 446.936 228.895 457.84]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a033cfca735240b3699b523d60ad692a) >>
 >> endobj
-5734 0 obj <<
+5677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.2323 446.9359 333.4819 457.8398]
+/Rect [256.232 446.936 333.482 457.84]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5735 0 obj <<
+5678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 412.0667 229.5026 422.9706]
+/Rect [145.299 412.067 229.503 422.971]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fde364ce088f82cf2b9a231e7d9f2abc) >>
 >> endobj
-5736 0 obj <<
+5679 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8398 412.0667 334.0894 422.9706]
+/Rect [256.84 412.067 334.089 422.971]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5737 0 obj <<
+5680 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 377.1974 187.2643 388.1014]
+/Rect [145.98 377.197 187.264 388.101]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_042613c3f4ad30b298d70143c935d7cd) >>
 >> endobj
-5738 0 obj <<
+5681 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 377.1974 293.2128 388.1014]
+/Rect [215.963 377.197 293.213 388.101]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5739 0 obj <<
+5682 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 377.1974 371.1477 388.1014]
+/Rect [325.131 377.197 371.148 388.101]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5740 0 obj <<
+5683 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 377.1974 455.7274 388.1014]
+/Rect [409.711 377.197 455.727 388.101]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5741 0 obj <<
+5684 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 319.4141 187.2643 330.3181]
+/Rect [145.98 319.414 187.264 330.318]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8fa02815bb561135934f91c9adcd0cb5) >>
 >> endobj
-5742 0 obj <<
+5685 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 319.4141 293.2128 330.3181]
+/Rect [215.963 319.414 293.213 330.318]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5743 0 obj <<
+5686 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 319.4141 371.1477 330.3181]
+/Rect [325.131 319.414 371.148 330.318]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5744 0 obj <<
+5687 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 319.4141 455.7274 330.3181]
+/Rect [409.711 319.414 455.727 330.318]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5745 0 obj <<
+5688 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.2349 307.459 220.0576 318.3629]
+/Rect [178.235 307.459 220.058 318.363]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5746 0 obj <<
+5689 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 261.6308 186.3482 272.5347]
+/Rect [146.717 261.631 186.348 272.535]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0d8ed7a0e48fe76e7221842c780192b0) >>
 >> endobj
-5747 0 obj <<
+5690 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 261.6308 293.7723 272.5347]
+/Rect [216.523 261.631 293.772 272.535]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5748 0 obj <<
+5691 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 261.6308 373.3671 272.5347]
+/Rect [327.35 261.631 373.367 272.535]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5749 0 obj <<
+5692 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 261.6308 456.8371 272.5347]
+/Rect [410.82 261.631 456.837 272.535]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5750 0 obj <<
+5693 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 203.8475 186.3482 214.7514]
+/Rect [146.717 203.848 186.348 214.751]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_53f980fb1ac8fa21265bec985bd1382f) >>
 >> endobj
-5751 0 obj <<
+5694 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 203.8475 293.7723 214.7514]
+/Rect [216.523 203.848 293.772 214.751]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5752 0 obj <<
+5695 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 203.8475 373.3671 214.7514]
+/Rect [327.35 203.848 373.367 214.751]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5753 0 obj <<
+5696 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 203.8475 456.8371 214.7514]
+/Rect [410.82 203.848 456.837 214.751]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-5754 0 obj <<
+5697 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 191.8923 218.4038 202.7963]
+/Rect [176.581 191.892 218.404 202.796]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-5755 0 obj <<
+5698 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 146.0642 180.4964 156.9681]
+/Rect [145.299 146.064 180.496 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d743f8b71eb68f6b41f7ea7b5d21dc22) >>
 >> endobj
-5756 0 obj <<
+5699 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.8336 146.0642 228.0875 156.9681]
+/Rect [207.834 146.064 228.087 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5757 0 obj <<
+5700 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 111.1949 213.1533 122.0989]
+/Rect [145.299 111.195 213.153 122.099]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8d2cc5d18d050975101f2860f2919da8) >>
 >> endobj
-5758 0 obj <<
+5701 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.4905 111.1949 260.7444 122.0989]
+/Rect [240.49 111.195 260.744 122.099]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5759 0 obj <<
+5705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5720 0 obj <<
-/D [5718 0 R /XYZ 90 757.9346 null]
+5709 0 obj <<
+/D [5707 0 R /XYZ 90 757.935 null]
 >> endobj
-5721 0 obj <<
-/D [5718 0 R /XYZ 90 714.099 null]
+5710 0 obj <<
+/D [5707 0 R /XYZ 90 714.099 null]
 >> endobj
-5727 0 obj <<
-/D [5718 0 R /XYZ 90 572.6295 null]
+5711 0 obj <<
+/D [5707 0 R /XYZ 90 572.629 null]
 >> endobj
-5729 0 obj <<
-/D [5718 0 R /XYZ 90 535.7677 null]
+5712 0 obj <<
+/D [5707 0 R /XYZ 90 535.768 null]
 >> endobj
-5717 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R >>
+5706 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5774 0 obj <<
-/Length 3445      
+5764 0 obj <<
+/Length 1556      
 /Filter /FlateDecode
 >>
 stream
-x��mo
����S�+W"��F[�I��I�����Ha}ZI�Hw��ɮ��;�]R�r���IN�
I����!����Q���
�e�R��7Gtv	�����秩�˷G/��j��\��^�,hFg|����c�g'��Rz�����f}Ӝ�>��xu}՞����-ޭ����W߬�'�\�㯮�ͦ����]�0{�.�-X҂�c����o�=���\����~=��g:;�c���ᬚ}�_(a���͑�"�r}����N���
c)��˵��
-I��������!]\����R<Ic�h��,�|�~�\
�qFuf�,�ը_8C��/ׄ:��ݶ7��Ͷ��_~-L��Hi58���w�̢&��L����v�ܴ��u�m��O�:n�Gl+G�������,�:A��?��trJuS��n��fJ�cSnf@��G����5?�9
���
#cU��Q\�۳��)��i׋��ٻտ�Qqi�;
j0|A�D�9%��G�U��
-㫤�i��z4��]��#�-a�)����-c���Z���S�0��G
��Qv�����"� �Z#�T��[A4`%�?�bL�d��^�|�����8_-7�1�h!�L;
)�v,P�%|D��#��bjcwF�,Ħe�� 8-��+�֋m�#{ՆP�)��nQu�+k���j�
7t$Ʃ7�l�?Q*:�6�JMa��Zl:M&�p���E��v5b�i8����~��4cA�g�>r�ϼЇaw�:䔤�&\2�T�	)1W9՝�������z
��)����}'G��z���p�)і���R

6�2 |w��ܿj翜-W�38-o��p����7��
>�uꠕ�ب�� ���OͿ�yq�����
,���D��n֋f�����D��^�i��
�aޞW֍�D��
-f
� �FkF
��q%�pV,�y�)��q�E��ӛ�f��7�r�X-�__w���׽����ۛw���_�-�[�FDf��E�}���|qq?H���
f2�G9Զ�b�Hd5�N��������n�1w=�FD�(��(��s����]ST��Km=
Q�D�a�[�� ���QZ���0��&"�0
-�;4�O���Jbs!�0��%�Ƚ��_�ع$p��Iy0S`F���O��~����]]D�'�!@!�T(y�c5�yZ��Y��N:u#��p���9��;��w���^�(
ͦ�
-�U���J
Vx���y���=��	U@a�d�Y�<?�Y,7���k�@����#��p8TBT5�}�~e;��f%�0J�up	�
-�Q�yW�, D��ż�-�`u+v�5n�oŭ����o���>����H��$Q*vnU��^�Eg�+P���.��tm�II�����' y�
{A�c/1X�^�o�^�-�r��4$��n@�%��g��]7�n�!�N��4i��
*$
-��@���-Հ
Rr55Q��Q��a�F��}�L�ʀsw5Q�D �ˢ��e�@�5N	��
��F
zA6z��2ƥ��|��p��DJA���Af��~�2������g�#�S������1��A�,T���2����
-�=3���/w;��C(�3�^Zo��zN�
-	ɷw�o#�c��d
-����z$��� B3c(,�j"�
-��_p|06��i�!bj�B�(�L���i�Hi$�S�S
"��v��
�gb��Ϻ߀��-ZF�'��H�ݲ�ޔ�}�v�f�<D�������*;5Q��Q�ͻ�7ݒ
R�腊�NؠB����?T
ċ�����U]sж_j��� ��Ͷ�{\]�t�|2OH��":v�c at b��
-���
��)�z~�qK�qZ��@K
րV����Ł����z�� �u������N7h&�`����B��� ��]��i��ԌD=���4�I�,�NܠB����&68�(��A`Kl��d9ؒ9�r��r�gK�'��c.ddf
-rU��Pډg�p��
��*e(�R�0!~{0en��j�vB��P�
���
��E��	�*$
n�gQ
��
�`�ĴD=Fiw�,,Q�3��A��1
~΂@�$,%zς�J��F�LQ6��z$��uz,o&�[\���e���
UhG��A�B
İ��(ñ��a��7`3u[�f�v
-6�v�Z��P��O���ى*$8KBQ��2R�A����S��X��I��� �E8�C�
-	B��c��S*�Oj�gb��� ���_�叹i����>?��/�0�p&k��
Lݢ
m�zBG�Q�M���v�,��&$�����!��85�K=���
:�3Ԫ�ir,��՞u�`��s�Q�97�C��yG�i~�szЦ\j���  n���@ͫ���f|����n�n���Í�ݕ�~���>�4�[3�"���$�C�;?������7pl[.�P��+C����V˸��2	��[���jM�d����B�������0쥙����9��j�fB(a��' ���c�(�{Gh����ډKmThe��4�"<p��=�k���8� �?��t#�Aш0�p&k��
Lݢe\�zB�Q�-)X^��F�"y�*$� �L
򿿐3�U�*&f"�0
-�9��m��L5N�z.�
-	·����<��z��%dв�v�R5
-�oH��=�ǿ��N at X�vԔ/r�Gj�(��
-O���?ޘ���E���`
ou�o��z����R��(쎠
��A�eIHT!���5 �r0�/o��
-��%�0J��8M����� �B0�j+�!
�
�D0~��\j�F� �L���;��c�I%�ێY	C"�m�(C��� ��1s��{��	�
Daw�ŋ�ş4�S�$%��x�tD;�q�`�ވ"ebrF�
���;���?1kU=
Q�!`�
1�
�aDJqЋR"F�g"�u��%����9X<�+�q.�p�%k���
�K�V
����	���1�~���g'���t��r9��
�Lu������G#ڝ<矴�
-ICPaA�7�q�S
-<��2���F
xA�xOYrE4S�����Zil�/�p4&kh��
hL��%`�zJ	X���X��u@����b{U{���D��	�*$�x��Q
�޽?�B
vjJ�

����� �V+E=A��ܿeI��7�J�D|X��`���^�������Fo
��Z�{�
-:�tSu�Ā	%��tOW8�Q����W��#���"�y�tw�����^.�-1�e�_����ݻe��BU_޿
c�zw"Y���:�X����l�
L���N�
-O�}�,���d~9���|x�J�
''�v��7���L�L�m����_f������4�F��0�
ma���v{����>����-�k�ؾ���~Y�����q����"�,��jb
�Y,�
�ݩv��O$�o�^�b**&�B�/Òtyendstream
+x��Zm��6�ί�f�Ћeٙ�3mڻi�L����C�a#�c�m�J}W�_�1�Iҙ�rg�j��}�ٕ�f��{?��FW�<�9Ա�-��)��&֛>!����`��7��2^��̀��2���$��߃���7Ϟ]��d0�
���2I��k5U�}�
+49�8}J���݋ޯw��=�`�dss�㖿�y��	|��ˆy���I-,�2�Z��?{8_�^�[�!D F�v�Y�[J��Ÿl�@��Dr���E&���*���FW`[%G�m���H�49��N�i�R�\(�ߢT����2l��=�ˑ?����
=��ǭ!�������@��W�Y����=�M6�L�c9 
�Ꮚ�h6~����\�-�x���ύA�+Bj޷���E͘aDY�֦������
��kO`��6b��/�$�i�f �9��y�p�vܞg��q��
��\:u��g�5�hg�el��-ݐd�����3#���l��
+�� 125#�ąP��E�A�c�P
��"-SE�:��C[�$.C�֐>��'� e
k�,����>tfc�����0���r6��0�+L���96���9��	�!u05�e6bDb/�@Fi.-��\ �i�@���
vke^����A�������nW����,T��ȼ�N4�]%"_��{�,{�ZG~
+#J
�4���a9	���R3��!ӭ�c��ǡ�8���	�W4��YEك��@�Q����'�,�ͩX�f�?M&E�
�r�-�%��o���!V ֖�P�p��E��(Ń��
�(�S��[�3y@@��Y� �<P��XF��"��E��%��CB=E�M]̾)��"�sv
+:�u��&k���
�U��ӐDAX���d6��H�25u�Li&
_R��<J!GiVv�3M�����4��=��gjC���I�ڝ�k�=��
���pH�lW��VwԮ��+�zD�7��K��	�<�uJ:)��[��*�p�T�����Ѣ
o�#l�
�U�-��E��to%�6ka�<��k���H�2�n�P
��_'[��F{�
+#b�N���e���t�'vѶ�<��<m���6��>�@�B9��F������Tﱻڥ]�01��.���p���b�5ا۝����:�@Ԧ�u�4�A�~
�
P���@ka����hW'
�lo���up/C��EՑ��s4��\�+��-�s@�
��d���Q
���#D:����\=�'�c�!��`u�I:�����U��r��)M� �]I��u��s0vi��ZMA�����Xn�
x����:���K��) ;?�)�:�Q__�_
P���$�z��#=
KO�ҷ "5~�����~^��J��O�p�pu\s��&z�m- g�g��/���
��f�8�_qm�A��M����/�q�L~Wx�&˗x������h^��7��U蕌�2�����_}���`IDV�"L
�����*Pd���*�^�2�VF��xRmr�i�z6=<< ?A�(X�(HG�U8ڽ/Si�3�t��)fry�?j��
���ԃA�G4f
+endstream
 endobj
-5773 0 obj <<
+5763 0 obj <<
 /Type /Page
-/Contents 5774 0 R
-/Resources 5772 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5811 0 R
-/Annots [ 5776 0 R 5777 0 R 5778 0 R 5779 0 R 5780 0 R 5781 0 R 5782 0 R 5783 0 R 5784 0 R 5785 0 R 5786 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 5801 0 R 5802 0 R 5803 0 R 5804 0 R 5805 0 R 5806 0 R 5807 0 R 5808 0 R 5809 0 R 5810 0 R ]
+/Contents 5764 0 R
+/Resources 5762 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5713 0 R
+/Annots [ 5702 0 R 5703 0 R 5704 0 R 5726 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 5748 0 R 5749 0 R 5750 0 R 5751 0 R 5752 0 R 5753 0 R 5754 0 R 5755 0 R 5756 0 R 5761 0 R ]
 >> endobj
-5776 0 obj <<
+5702 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 707.9571 218.7333 718.861]
+/Rect [145.1 707.957 218.733 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_87e253a2b1d8e1696c2ebf3feb11dc5f) >>
 >> endobj
-5777 0 obj <<
+5703 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.549 707.9571 241.1491 718.861]
+/Rect [222.549 707.957 241.149 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-5778 0 obj <<
+5704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.396 707.9571 282.1229 718.861]
+/Rect [249.396 707.957 282.123 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-5779 0 obj <<
+5726 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 673.0878 161.6774 683.9918]
+/Rect [145.299 673.088 161.677 683.992]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8edc85ba3e8a09593959814eaad72499) >>
 >> endobj
-5780 0 obj <<
+5727 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 599.6727 212.377 610.5766]
+/Rect [145.1 599.673 212.377 610.577]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1287b254a91451368e7e2e456f448114) >>
 >> endobj
-5781 0 obj <<
+5728 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7142 599.6727 289.8459 610.5766]
+/Rect [239.714 599.673 289.846 610.577]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-5782 0 obj <<
+5729 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 564.8035 274.5631 575.7074]
+/Rect [145.299 564.803 274.563 575.707]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ccb5584441a7c7c84de73810cc6afbc4) >>
 >> endobj
-5783 0 obj <<
+5730 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9003 564.8035 352.032 575.7074]
+/Rect [301.9 564.803 352.032 575.707]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-5784 0 obj <<
+5731 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 529.9342 225.1091 540.8381]
+/Rect [145.1 529.934 225.109 540.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d09e4e3f9a9da562c6cdb73dd7b47fbe) >>
 >> endobj
-5785 0 obj <<
+5732 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.4462 529.9342 317.5116 540.8381]
+/Rect [252.446 529.934 317.512 540.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-5786 0 obj <<
+5733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 495.065 287.2951 505.9689]
+/Rect [145.299 495.065 287.295 505.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_880be9febc6dab2cdccbec8814c9a952) >>
 >> endobj
-5787 0 obj <<
+5734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.6323 495.065 379.6977 505.9689]
+/Rect [314.632 495.065 379.698 505.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-5788 0 obj <<
+5735 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 460.1957 216.2524 471.0997]
+/Rect [145.1 460.196 216.252 471.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a26f672c32271db69ed68fc60eee8cff) >>
 >> endobj
-5789 0 obj <<
+5736 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.5896 460.1957 328.0421 471.0997]
+/Rect [243.59 460.196 328.042 471.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5790 0 obj <<
+5737 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 425.3265 254.8275 436.2304]
+/Rect [145.1 425.327 254.827 436.23]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_85b2560352485ac05d10aab0ee483252) >>
 >> endobj
-5791 0 obj <<
+5738 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.6431 425.3265 343.0957 436.2304]
+/Rect [258.643 425.327 343.096 436.23]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5792 0 obj <<
+5739 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 390.4572 278.4384 401.3612]
+/Rect [145.299 390.457 278.438 401.361]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_726484f44f6e6653f9c0126e94e51ab0) >>
 >> endobj
-5793 0 obj <<
+5740 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.7756 390.4572 390.2282 401.3612]
+/Rect [305.776 390.457 390.228 401.361]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5794 0 obj <<
+5741 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 355.588 317.0135 366.4919]
+/Rect [145.299 355.588 317.013 366.492]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c587faeb0edfd2582564b9a8fa3335bd) >>
 >> endobj
-5795 0 obj <<
+5742 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.8291 355.588 405.2817 366.4919]
+/Rect [320.829 355.588 405.282 366.492]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5796 0 obj <<
+5743 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 321.0924 205.7516 331.6227]
+/Rect [145.1 321.092 205.752 331.623]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9e87405c740d202951ba788f9e52cbf7) >>
 >> endobj
-5797 0 obj <<
+5744 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.0887 321.0924 276.595 331.6227]
+/Rect [233.089 321.092 276.595 331.623]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-5798 0 obj <<
+5745 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 286.2231 267.9376 296.7535]
+/Rect [145.299 286.223 267.938 296.753]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fa7b390fb34934e419263a5fc694c946) >>
 >> endobj
-5799 0 obj <<
+5746 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.2748 286.2231 338.781 296.7535]
+/Rect [295.275 286.223 338.781 296.753]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-5800 0 obj <<
+5747 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 250.9803 209.6269 261.8842]
+/Rect [145.1 250.98 209.627 261.884]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_943c42b0d1b3580e54b3ab60aa55255f) >>
 >> endobj
-5801 0 obj <<
+5748 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.9641 250.9803 314.7912 261.8842]
+/Rect [236.964 250.98 314.791 261.884]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5802 0 obj <<
+5749 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 216.111 271.813 227.015]
+/Rect [145.299 216.111 271.813 227.015]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_7704df6970b9563ef9e51793126c0ae2) >>
 >> endobj
-5803 0 obj <<
+5750 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.1501 216.111 376.9772 227.015]
+/Rect [299.15 216.111 376.977 227.015]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5804 0 obj <<
+5751 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 181.2418 248.202 192.1457]
+/Rect [145.1 181.242 248.202 192.146]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_145cc7c23d407576222e5af347f401c1) >>
 >> endobj
-5805 0 obj <<
+5752 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.0176 181.2418 329.8447 192.1457]
+/Rect [252.018 181.242 329.845 192.146]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5806 0 obj <<
+5753 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 146.3726 310.388 157.2765]
+/Rect [145.299 146.373 310.388 157.277]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2a66994a33d910d0fe8daccc6cc017ed) >>
 >> endobj
-5807 0 obj <<
+5754 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.2037 146.3726 392.0308 157.2765]
+/Rect [314.204 146.373 392.031 157.277]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5808 0 obj <<
+5755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 111.5033 243.3704 122.4073]
+/Rect [145.1 111.503 243.37 122.407]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_953a608f6f9d413870fb3eee5cc6ad1e) >>
 >> endobj
-5809 0 obj <<
+5756 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.7076 111.5033 320.8393 122.4073]
+/Rect [270.708 111.503 320.839 122.407]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-5810 0 obj <<
+5761 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5775 0 obj <<
-/D [5773 0 R /XYZ 90 757.9346 null]
+5765 0 obj <<
+/D [5763 0 R /XYZ 90 757.935 null]
 >> endobj
-5772 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F37 2043 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R >>
+5762 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F35 2013 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5824 0 obj <<
-/Length 4066      
+5818 0 obj <<
+/Length 1957      
 /Filter /FlateDecode
 >>
 stream
-x��]�n
�}�W�B�V�/����K΋m,V�!5��٥d��S5��\�FZRq ـ��=[u���TUO�P,8�/�/�q,(m��
��������K�|������?[�,XiooJ
V0#�\���t)��j)8痯��\����������٦X�������ի�|s���_~s�>
��?d7Yq%�e�����U�^Ja�~y�׋o�Fr5w��@j�������1���3�Y|�_8!���BK��rw����N�A���h�/�J3o��c(�5NI�T�[�c��l�KǬ�~a���

���	
ܢmp�AQ~�e<������]k��s��5�6�O��EE�3�r��>�����ǡ?�iI�����#Q�=s���HpÁ��4p�
3.ȹ1�x���.��&Fa���xʶ}:�x�ՀN/E�P��
z�����c3�*
�Ip&�vc��bV{�G��2Lz�3�e�$���1���Z-]!��Y�������P���T?O����T����x@�\ۏ�
�ȡ}8�
-����BԘӾ2W\)wY���K��ַh�V���Ԉ{�,w����|�=݈�b��bC`0����j�b��P	���3��#�.�H�kL
���[R躮g
Ab`wT莧b��R'�ӞHD\��p����Ĥ�Yø�znH"��1�[��D��)�A�(»�q/]���뤼Y�f8/�Q�����5���6�ޕ0�M�����F]�<K��,Q�_PԬƀ��E��ެQ�sȄ��50Z�ZS���ۈZ�--j
�sD-Mb`7%j��M��N�T��L�z�0�i0�rs#���ݮ�M�n�
�U:E����}oT^\�+7
��x/3[�Z6R����S�d�&V�F�F�7(l9�u�S�q���Wo3/%%t
������6B�vK
]��
�K��E��fu[��O�ˊ�i_
%N:<�d,"��!a*hP��L��qL	��F#�)�HWnV�5��lRA„��xDADɥ�yA�J e�9K�Z6RJ����7��Jw��d�R� ��{Z���ќ�i�S=��>�Ոu�x fDw�9m��@�`�
-�>�@��1�a�@�
&��[
d�-)�]�3� 1��d�]��y���h��лYu20Ep�:<�z�P-�+y�)=�̨D<�``w�Pyg�H�"�"
-�Hczs�J�sR�s��m#!�����C�����r(�Z{�v������rn
���5掴�B^��J�2�R���F��n���wc*'�=�I�+���݉2p��mV�|�o��d�	
Œ�>��"8� ��9�
���PA�d�
-sC�����R��e>8��GDD4Q�$w��R�
L-+�����5��5�5���-���:����W
��N	UY�!�_ULr!�Aњ�h.%�I����|���s��&���Ω�Ҫ$^�
2�J�S0�R����
�š
-���D8�gu��q�j:�f���֢;+I1�i��Ybڲ����n|"5��򠟽���Ĭ���#��m0!���Z;n�n��zF7M��E��x-e@�@�;�1hP���fE?�#�'87 
�dз�
�y%��\���ݰ�ƅy�u:E��{ܙ�4���Hj���y��9�׶�о�.1m�'����*���P�lcz
CU�):�����|�)r��r�>���p��A�S[F��
4��a1^��(󧸀�������*���
��S=������J��M��v�:,��G��y�$��b,	a�̣�+�/��c~�+u����b�	��e)��_�2Ƈ/���58F������Z׈0:�
�rN�o�s�n��q='�I
���9�<朴��s:�����
���Q�x���� �
Wo������ �Z2E�px9
��xqگ�e�֐d�t.����JE�&R��Fu��n<Y�q��C/��j8��ouf2�rO�jAi
-�X��������	r�eZ�dV� �{'m�
�
H��1;U�`�R�Qe'|+f��Xzr�y����Kbo�g��&�΄
9
_9��bZ�l���?Me
)�/w	RsΔ����L/�adkL$0�o��:n��u=#�$v�E�;e�N�ͫjR
sI���ӱ�(����X�أ!�C��hD<Ec`�Y?�.|��AQ~
�{�{~_<$�¼�����m#��"�\0*��1�$ʃ���PjŜ�!��f�U�A�
M-�[��⩹�w�1�7P��{
F��\�̴6*k���<��:��S
JFkc�`J�~ml�M��w��Xd'
�N�b�����e�N%�N�;&t�S⢥b��١�x����HB;ͤ6&}�E�U�9�I��I-�έ�V��6R"����䓊�Ӭ��)�?�.�O-6%�--%�
�Ԗ�����6��vK�
�s��4��ݲ�9
�b�nB:Ukz(��QH�"���͵�H��~~0"��1�;]kZ�}���oP�_��p=���rǴ�,m�H�h����]�>�ms9S���tM)*�"�J�EU�_vʀ7�=�]�hn��vuD)�m�	�$��"�q��:�ngT����q�$w�9|C2&EP�A1�׈�c1Yt��p'���$V�+N���>���܂&y��n	��V�y}�
am	����J�\J�4����ї�Uá5s��hF�j�`JV�~Ym�M�j��
YM؝���f��f�_�ף7�[gm:&EP�[^��j�;�E(^��V͍L�S4v'�&����E�Up
:�{~)iƞu
Z�FJZ�������r�@�n�^�n�rB݀���6NH�V7�ޔ�	u��ge#�y��%�>��������������6������ XЏ�?x�#8�٤!�;�J�O�P-�v�����c6�i�� �{��n�w�Q����+<?�տ��8*�Q [...]
��k!LA���_�凶���G����
��q�]эFb�N�'}h���
3a����xz�:��
�M�� ( RC��(���ćpt�LmH� z�g������#
t�Nz"D�����['���d#�u;� 
�"�c�=��7��#�w��S���|[Ƞ�Q�(���V��b��n����4p�B��t�íS�#�(�m�-z�A�|���g�sض�J
��
-��J�Y�D��pq�b=�Gp�
g7ӓ��>���YvZ
�e���P-�@��fz���ol6RC��(��§��\��Tj�2���ơ�'�G��'z2�<�'$�%4#�l���@�(Ѣ#�
J��tE�~C��Q���*�]omk�
-r��d����ʘT�S �R?����LxK-|E��ZS�.��wm�Ӎ����:��j<Eb`����9�o׷�ʎ�cӡ�(���P��?�!{��\�#>3O2�ۥ�Ґ�̯tE �s/�o���
�����
�Θ�Qi���]$�}������_Ev<�i�í���
E�P7����xQa�vl��gq�^����
ҧ�WeԚ
�RC
-�
-+�]#�G,�}~�_�l���;���C��]��k�t=' ��gݶ۶��GX�
Q~��$-��B=I
��٦ZS���}/�ִ��>�[k4������4U�0<V�C�TɡZFE	ZY}D����� ��Sb{�۔+˾Ym�7��:�����p��U��>����
�ѠC�~8����Ǜ�;�;��J�!��^�P�75�1V
-X!�bV_ |�0v�87!ޔ�������:��J���Y|�z�0F��u�>&�س�ZB�'!�gN�Φp˂�':ݴI ɷMU���
����>y��9����oBT����D�K���w���5��4��#TKɃbT���&�ƞ�ŝp� U��kѼ�[��_���oT�µ�v`����tx���Ǐ������C�������� #yHdڅ��-#h��y�-s�@��r��/ho�E����m��
���
��_��-endstream
+x��Z[o�6~���Sg3ËHQ��m���&�K[�M;�lI��ޯ�!��/���j�y�-Q<~�;G�����Λ�/W��ׂ9>������	�8%����0$Q2���bD�0̖ap1�x�,�7j�����:
�����,��Ɣ���E����;5Sوȡ�'
+f��!%b�������?�`���C
��d9��	;S�����sgF-
�2�.����\ځ7��x�
B<$�
�2��F}����{·1o�Y`�}�u��r��(mP�>bLc�E�M0I�y�Ҷ�S��1�0$/��|Y�\��B-��z1��0�zV]�^{ԑ`�p�ݔ"�gL(��Z�>W咄�2Iҵ���쵸Qգ�*s#��T 
�B��`�@� ��A[���$՘"��e#�
KGڗ|�%t��%�ZĻH�Zxq�I�����ƃ[�S����J��{_9y��Q\���I^L
��(��
#‡�.�X���`�e�t�~�@!�

�5�����N�ɟ1�4C|DD�8�V�z��%ˀ�\�W�	��`�8��Xea�d��F'��M5SvN�N?O�GCg�
��Ah��w#H"�IB��T�̭�[
+u�c�G0�7��O�8)��d_���D�a=Y���wp֯��ǃK2Ą���I�[���
�	
J9|$U]'���4��4XFq���U�2g�g�:��~�L���$��;��G�jQ�Bp�ഋ܎�2
y��/
����q�t�5���׈2
�(�^��t ?g'�͗�2]��g�
4G��Q<�"]�O�"J��ң�ɇb�
�����E
�ž���ڗ˞�IQ���k���a�
N����R�&FD��wfmQ!q7�ȸ;
�<���Z���B��Z�}� �q�#aY0��{N(
  <��W
�#ʀ�HȃK��$)��Z"���m���^wppW

z��!�y�!�K�cCK݊
�����*s#WŨR�ްQ�o�Q����Ǒ�n�(���@P���mlo�O�	 ���o���/�Ř��>�{Jэ��x��Ņ�rXSX��z��Z�5��'U+F��cu�DR�8
ȫ)X*�'�B�:��@�X�Qo�ee[�p$�z̺e��0x(����¹g}~���g����/Xi?�Gi���:Y.���
�
�e�4�?��:*}��`E��<J�b�}�}���
�� �8T�Y�t��s8)�9��:k曺ċ�W��`�A$�e>/�����
|n1څ���'��F��)�x�X�
��]"5-�	I�`� ���벀
aA�`��ԽUjZp�
T5�XX��.�U��1�)(�˯�r�j.�V�>".��ē����H��YqL����Tf��<
{��i�n�����>4
���x�5�=@D{��	��!*h_\�G�t���*�|�Ϝ��o��8 Q	���a�kA��R�8-S��nmz�y���}>���>�$~��F����Ӻ�f΁���p
����rK`�0�֣��9�&�Z�*�
C�q��@%�N]���]e	�L����Xl��"�����(#2%	d~2
�e8W�����8�����X:�'��̷Q��,x�9�T��u�a��B�͹_&�6o��tO���ύԲ,�k67�^���L�9Ӯ�T�	|4��Ÿ��Lb�����X�!:6��a��F�Kui?�������@��d��h����ж��{l���z
.�ѭD(�MU-�J~�VqQZ�2LS���n7��K���
�{g�
g�ݹM�[��l��Ev�l�\�r^��<�ɪ���^�m|��ުPz�>�
�Q)T�ށ�`�ؼ�׈<��|uJ^ �������Z�
+�������g��t�Eu���-���?�!���ɳ$�?�x.Fu�p��RY�x�`y�a:B![0 �k��۩~�>0�l���ۤ���H�������$G�8J3gi�8��ݎ�¾A�,)�
�$�s�\��������P
+endstream
 endobj
-5823 0 obj <<
+5817 0 obj <<
 /Type /Page
-/Contents 5824 0 R
-/Resources 5822 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5811 0 R
-/Annots [ 5826 0 R 5827 0 R 5828 0 R 5829 0 R 5830 0 R 5831 0 R 5832 0 R 5833 0 R 5834 0 R 5835 0 R 5836 0 R 5837 0 R 5838 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 5865 0 R 5866 0 R ]
+/Contents 5818 0 R
+/Resources 5816 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5713 0 R
+/Annots [ 5757 0 R 5758 0 R 5759 0 R 5760 0 R 5776 0 R 5777 0 R 5778 0 R 5779 0 R 5780 0 R 5781 0 R 5782 0 R 5783 0 R 5784 0 R 5785 0 R 5786 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 5801 0 R 5802 0 R 5803 0 R 5804 0 R 5805 0 R 5806 0 R 5807 0 R 5808 0 R 5809 0 R 5810 0 R 5811 0 R 5815 0 R ]
 >> endobj
-5826 0 obj <<
+5757 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 719.9123 247.2458 730.8162]
+/Rect [145.1 719.912 247.246 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_f1ab967a6606266f7e583fc9752667fe) >>
 >> endobj
-5827 0 obj <<
+5758 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5829 719.9123 359.0355 730.8162]
+/Rect [274.583 719.912 359.035 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5828 0 obj <<
+5759 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 685.6581 236.7449 696.1885]
+/Rect [145.1 685.658 236.745 696.188]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_82b76e3f18679ea161b53bfa80349009) >>
 >> endobj
-5829 0 obj <<
+5760 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0821 685.6581 307.5883 696.1885]
+/Rect [264.082 685.658 307.588 696.188]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-5830 0 obj <<
+5776 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 650.6568 240.6203 661.5607]
+/Rect [145.1 650.657 240.62 661.561]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_8f97dbc7a7c307fa72f7e904b2cbf21b) >>
 >> endobj
-5831 0 obj <<
+5777 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9575 650.6568 345.7846 661.5607]
+/Rect [267.957 650.657 345.785 661.561]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-5832 0 obj <<
+5778 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 616.0291 228.9844 626.933]
+/Rect [145.1 616.029 228.984 626.933]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_19422844125a988daaf489cbaff3835b) >>
 >> endobj
-5833 0 obj <<
+5779 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.3216 616.0291 355.7079 626.933]
+/Rect [256.322 616.029 355.708 626.933]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5834 0 obj <<
+5780 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 581.4014 267.5595 592.3053]
+/Rect [145.1 581.401 267.559 592.305]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_214e376adb9dc271c61b58f8b2c927f0) >>
 >> endobj
-5835 0 obj <<
+5781 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.3751 581.4014 370.7614 592.3053]
+/Rect [271.375 581.401 370.761 592.305]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5836 0 obj <<
+5782 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 546.7736 291.1705 557.6776]
+/Rect [145.299 546.774 291.17 557.678]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1522764599cd8547bfe4ef7e88d8baec) >>
 >> endobj
-5837 0 obj <<
+5783 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.5076 546.7736 417.8939 557.6776]
+/Rect [318.508 546.774 417.894 557.678]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5838 0 obj <<
+5784 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 512.1459 329.7455 523.0499]
+/Rect [145.299 512.146 329.745 523.05]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_4d6e94fc9839cd5d455f195f46fc2dcf) >>
 >> endobj
-5839 0 obj <<
+5785 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.5612 512.1459 432.9474 523.0499]
+/Rect [333.561 512.146 432.947 523.05]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-5840 0 obj <<
+5786 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 477.8918 193.5774 488.4221]
+/Rect [145.1 477.892 193.577 488.422]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_e5dc5003b3652660bc4ff4a15e4060af) >>
 >> endobj
-5841 0 obj <<
+5787 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 477.8918 232.5806 488.4221]
+/Rect [197.393 477.892 232.581 488.422]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5842 0 obj <<
+5788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.0592 465.0107 248.8445 474.916]
+/Rect [192.059 465.011 248.845 474.916]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-5843 0 obj <<
+5789 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 432.3052 193.5774 442.8355]
+/Rect [145.1 432.305 193.577 442.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_26f845c3192c71f59cf1c81cd35072c5) >>
 >> endobj
-5844 0 obj <<
+5790 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9146 432.3052 277.6909 442.8355]
+/Rect [220.915 432.305 277.691 442.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-5845 0 obj <<
+5791 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 419.4241 252.6774 429.3294]
+/Rect [195.892 419.424 252.677 429.329]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-5846 0 obj <<
+5792 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 386.345 223.4647 397.2489]
+/Rect [145.1 386.345 223.465 397.249]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c9d9eaf8b76024bc20ce524e13bf86a6) >>
 >> endobj
-5847 0 obj <<
+5793 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8018 386.345 271.0557 397.2489]
+/Rect [250.802 386.345 271.056 397.249]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5848 0 obj <<
+5794 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 351.7172 285.6507 362.6212]
+/Rect [145.299 351.717 285.651 362.621]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_59af9a947f610641fe02639f76cfc90e) >>
 >> endobj
-5849 0 obj <<
+5795 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.9879 351.7172 333.2417 362.6212]
+/Rect [312.988 351.717 333.242 362.621]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5850 0 obj <<
+5796 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 317.0895 229.5525 327.9934]
+/Rect [145.1 317.09 229.552 327.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9831db06919c6ee05360b08e84cccbb7) >>
 >> endobj
-5851 0 obj <<
+5797 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8897 317.0895 277.1435 327.9934]
+/Rect [256.89 317.09 277.144 327.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5852 0 obj <<
+5798 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 282.4618 291.7385 293.3657]
+/Rect [145.299 282.462 291.739 293.366]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_901082d5c6de5ec4b457df69e41bb70c) >>
 >> endobj
-5853 0 obj <<
+5799 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.0757 282.4618 339.3296 293.3657]
+/Rect [319.076 282.462 339.33 293.366]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5854 0 obj <<
+5800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 247.8341 266.6729 258.738]
+/Rect [145.299 247.834 266.673 258.738]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_68665d093308c111817eca341b98d70a) >>
 >> endobj
-5855 0 obj <<
+5801 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0101 247.8341 314.2639 258.738]
+/Rect [294.01 247.834 314.264 258.738]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5856 0 obj <<
+5802 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 202.2474 217.1088 213.1514]
+/Rect [145.1 202.247 217.109 213.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_e5955a311fc4fde1edf2d5460f0a8356) >>
 >> endobj
-5857 0 obj <<
+5803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 202.2474 264.6998 213.1514]
+/Rect [244.446 202.247 264.7 213.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5858 0 obj <<
+5804 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6947 189.74 274.9825 199.6452]
+/Rect [219.695 189.74 274.983 199.645]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Difference) >>
 >> endobj
-5859 0 obj <<
+5805 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 167.6197 271.1256 178.5237]
+/Rect [145.299 167.62 271.126 178.524]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_071aa57e439ba4f358c7fd43b03a6a49) >>
 >> endobj
-5860 0 obj <<
+5806 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.4628 167.6197 318.7166 178.5237]
+/Rect [298.463 167.62 318.717 178.524]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5861 0 obj <<
+5807 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.8625 155.1123 326.2592 165.0175]
+/Rect [214.863 155.112 326.259 165.018]
 /Subtype /Link
 /A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-5862 0 obj <<
+5808 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 122.0331 201.7419 132.937]
+/Rect [147.984 122.033 201.742 132.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_bb10ea556dd34e0c1e13f7e99b9efe70) >>
 >> endobj
-5863 0 obj <<
+5809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.4419 122.0331 243.6294 132.937]
+/Rect [208.442 122.033 243.629 132.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5864 0 obj <<
+5810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0792 122.0331 371.3288 132.937]
+/Rect [294.079 122.033 371.329 132.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5865 0 obj <<
+5811 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.4576 97.5705 271.3786 107.4757]
+/Rect [224.458 97.57 271.379 107.476]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
 >> endobj
-5866 0 obj <<
+5815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5825 0 obj <<
-/D [5823 0 R /XYZ 90 757.9346 null]
+5819 0 obj <<
+/D [5817 0 R /XYZ 90 757.935 null]
 >> endobj
-5822 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
+5816 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5882 0 obj <<
-/Length 4687      
+5883 0 obj <<
+/Length 2561      
 /Filter /FlateDecode
 >>
 stream
-x��][o
�~ׯ�'wti�/��I��-���Kki,/*�+;ʯ�93C�
ΐck�A�ؒ�=�C򜏷[P��-
]e�R/.o�����������b�_ߜ��Z��#Ns�x󮵠Q��ś�����W�R������z����������}s�__�޼ݯ��^}��\�����/oևC���w����e��l��L/9��?����Wo����!�����3]\�3���Z|�/(a������qs��ٿ�����B 
#B+���j���	�����Q�0���B��nĨ$�g
�Z��+
�1C4�v`��8W� 1���
�~=��kB
K�~h�q�Z­
xƟ�{�w1�
^�0����ιZ�D)�6w�fs��n�|8tKc�*�"�*<8SD*�M@��Zb�1s�UC�����1p��ۛ<���m%
U#���8�}wP��\���a���n{8fT�%�q>;*
_#��ER�7�f�����
��f�
�F�t�
�����ˍKI�hΙZ�(6_��w/7��xqܯ7�ëWm�.VH�k#4$ �N�.��1Kv��U���n���n�Enw�m�w�����-�5�!ݧ�8&
M$cmt�\X������k�]�����z�����q��^~�(�>(
��FE��&I�)
�s|�9t��P͌�|�@4��v�����G����
J]����>"����k�_��hx
-&�-�
-�3㈐N��v����N���WP���q�n��~{y���~�v}w��^w_|�r��7�*�y`��=�2�3�
<'mҎA!��R%
K8~����K�^]ji�᮹��Ǜ^ݼ}aj%���D�vF�d4�O��^�=2�b��D�`Ğr 2�92�t;��]�hA�U�N�U�Nl� u*~{�����:�Hu!u]�:=�F"��,��m�_�l~m�.�3.{$47�
���0j���9�d�������2ڭ�
k��NUB�Q50�VȬk<ʞ����Ԭ����0��"�5�̋�n��nr����J�
m�����p
�;1.��0�H��$�+lr��ğ�"Z��j��|!9L��cR٪�D
�*=_�ü�ND�T<Nz�bu�����?�8������HH�R3�$
�(�HKu$S:�B9v��R��l���
��'�������OF�����c���"ǎG�s00������t���J3�v�"�g��<�7�b�1�a��=D�ԲL}�:U�n��ʩ�ЍB
��:�iB��9�*�!%](��=QZ�� �vr�v��*�f0

�/:�Б-����
��
L
�0�C����6fd��X�׽������#]�Z���f��a�ZɬM�&���כ��r�"a��!�i4�-�F����/o[
�
���_�|��)
�̅<�a�SDI��]�*P���TDl�u�eæ�R�vR�*�߈��i��5�ݢ��\�����-G&�*���0`v��Ș�5`���a	�*��ݪ�m�
���P�܍�i

�J�M0]!<��$�;C�Jj����
-	��B�J)%k��P������03$_�ٍ�l�((Gi;�;-s��ڠ���ί���
�U
��
0�
6*y�f�$y�p�"y�@(q���Opz"ū@�Ο�r�((� K/(�	�
�>&O 4Q�r+^�:�^��d\�j�U�T|x"|�m"|��t�_
2�5h�������N
-_d�
-�LJ�����X�u��ʩ���
��R}���J�j����"G@ �I��$#R�6�	�E
�d�L�b���\
�O?1�K_��I#$ĉJ�O�{���
�/{a& ʼn�d���eod�${�~��ݖ����:��.�S�������\|*�%�*����Ā���
Z��A>30_��ٝ�C�4��C�A
-����‹���\�̑�ڹQ����
ͫaҪr�BA*И��Bм���5o^�]-���
���!ۃfu	N��
G��	�
& �$
^�Gt��~s9	3"��O������
�TNr�<�ciW��
�Pp��\�(��PJB
ǥ$��N���$0�$�W��]�����0�Eِ��t���Jc�v��$N�S5�cBMj�eJ���N�
-��j�z4.�
�R��:�$at2��J&/��\i(���d�������o�ĈK9H���ZR��Б��ZV�Z���֪��w�vz���jະ���k$2����3.u92U!�
TUe�-2%�5�	'��&�+4r���L^a�r,�F��܌�}nRpI�x��̌C�W(�v�.��04�Q��'o�`����
z扖�t!�Sc��	5�
*1<L6V�ʘ��U���1�ٝ��`2�B
�LYZT�NY`̦
zU��U&�*���0��a�Wl
w:{�b�l���%�M��-o����
n �<>:�z
_ jj�[�ũ�t�
	%
��%[��f���S��N�
_i���dCf�dC�e���]a\����j*�
�)�t��H6����ӰX��Im�~�&��#\��5L(��IY�lV�l���f���5[ⶴ>�8��uq}���Hdv���

��6&,.�rH�†K��
،�K
�-?3
_e0�[?�h
�\V"Ѓj�-^m�y��.sHK�5��0��
�������� ���xP����H\RL(��y{1��
N�ʝ��-�
-��n}����"��g�xe�8��IH��
-�6v�Y�>c��4�]��D�a�'(��FA�XzHQ��C�
-�i���K�uxHQ��C��Pwj"�!E1ثE
�!E1�W
�&f�r�C�=��L�ݨul�gQ��R�N{�ʃrr��;<��V����z���G��$.|��;f��������$B�h�N@�
0�&W�͑�
��'}��e
t��"�J�Y�
Q��
�`e[�
-w��
�|�:����
-���A�ǚ������4_ة��/�=�&yl��I������&y2��c��^A��%@g�k�����
`u�
,I��_/�c��kI|�r-��Idv'���R+

-eq��o"��
-�v�HR>h��[I�A��
���2ڝq+�G��P5���yψ�;`&�;�jaJ̍J�WH�vg�wH'6��T�����
�fD�O��Qi�
O����2��T�
���	�GTI����;�N$"��-��FI�{X��*��R�D
�4��n��N,�J9���
|�W �.��v��3������
�-��Z��D�#��"+�,�x���rO[TN/շ�B&j�"i/��K�C�s�LTi�;���&W�ͱ�
�)�Wf�x}��2
&��/�s�ta�3�~��g���^��5-�m�
MI�C�q�0w��O0
&W��A\[�
sßC�s
 ���=�0�T5=�QU9�+����^��>KZ�:�R�E)��+
�V�Ŀ�m. !�
��u[��ף�

�R�L�c�L)LJ9䨘� �pZE�ɲwhX
����
Tqj��M��x(
-
�fHJ�$xb�`�z����V�Ӽ�h�
D�����9v_��i���������(:�6�X)�I�W8Y��+����ѳ�FO�x��5�܌�����Wv0iR�o��Ǧَ�^ߕ��-Tz!�w�0�(���w($3�_�M�m�@xX�BDK%���׈�m�H$��T�2��n�Τ����zs������
����BI�_ƕCP6
OO)�M�O�;�)�PO:��(�N�}s'L��Wl�v����'ζ�ڬ�����
-�~қ�����d�X�EP
U
����+;�G_�:��3�^���*R it���Ք����P��F����XxL�
{�
-�I�'uL,��ff0��ahuJ�	�pJ��c{L٥`f12u���\+��u���7}��q
-�_�MWa0ǻ/������D�,����!��B"
�4�93��FC�<�*��i�"�&"�nE���Dr�Gߝ�F���_	Un7�ɖ���5F$c��\T���^j�JY�� �^}��;mC�� TUA
-Z ��%��Ch��<�/�S��
�&92xx8
���tc���翢����^��z	�
�jXٯ/b��zK\�)ce���+�ݾZ��]��Y��
-�,aJ�A;L߃�
턙������NV3
-eO���{P�+NZ�T��V�Ԍ�&>�����I?��E6J���8������?ɶ	޵M�q҂�_cAÿ��֒)h��Wo��M4���*��XА�tAS�
-	Ul�U@�Xh�3(��(4����
5Y���4k����Տ��a������y�qLi�'6�W���0���
-���
[d�T��~}a���
[�zNa+���v���r�C��8T��.��
�?Y���������2�����+��Q5�0�W��~ߒU�>��cE�L
-�G�qV���X�/�)��΀�d1�_*	�Ќ+���W���EzG�e�
-
-�X�(
 ��~�o�i���`�;��H5�o�$����mK��v���P�e����/~84�?�+����?��{�L�i��j��o���b3����f�n̰
3i����g����xװ��*�D���L�]|����ݫ�/?~�H.�~��ۓ������˱�ٴ3�Bí(�D
�5L!�L�����+P�}Kl������
{�����Dõendstream
+x���o������৔����=\������ �6m�(���������mR�,撶@
�����3���%ip����^]\��"p�i�������hFg��m�1d�p6�3Ji�~�h�L������f��ݦ�Ż�:]�O�_��Ʒ�9W4�n����۟��(�1F�M=i�tș��z����W��` 

X6�2�ܬ/>�J�[��ǀ�l�Z�
x].�qA�y�f�S�6?�
�Ѓa�0��$?q�2q�낏s��M��C��\؟�VB�py7�*�D)O��6����>jw�
?QE{�
+�9c��z������&�F��3I�?��¹�f���Dž{'�2]|���ś�K�Wь�����n�󺉣d�ا�x�{�:u1ǎK���
��)啙�z���忍��:N��M��y��$B��ÿ�p���[�a ���VPf��a��J�S�O��@O�
vs�ֹ�U
����T�FZ�I��-���o��
℩E��Ga�8��q�x�lв0!Z	��=��l����]�4,%��ɧqHn�G��
r9���

&�z��n����\����L��\
Cˎ��%JUnZ#7t�V6��
+
�Ew����\�޶3��m����r]?uj%)����N

�F��k��hW��{Gʁ��&��^}[sNa ��
���r�[�GI�.W������N�q��� X�hN@�X-����כU�,i��=�V�~ �8� ;@֦"��b�F?�!ЍƟ�t
�IK��������
V�]ǀ�G��,��6p���%Z�!�b��l�&?�+�ML	~J�H����x������{12��Z��h�eO0;��
�_�
+� �)k�5��ҜUj��
,�@���"��q��A,�qJs�ջS�K	��Z������0����Û@m�w�0�
<��Cų$ϸ*ɣ�Y^�yY
���
8�\~��(�@9��j
+�Pt�
�BP��<,>�.�2H�q�/9�
��cܜ�q�y?��RQ��9$�1Ǒ�h5Dr�$��z���>'��4���s]���d�Y�N�:vr�;�}�h_���Y�.:q.9����
ay�8�A;���N�kA��SP�!��:�ڠz��z��ؠ��R�K�j�T7���z9��XX�!�υ���Aҭ���ؙd�8�������+�:#�^�=
BaR_��

�r��\���Y

���4
���m
�1[�׫���⅑C��^J�c���u��r"#_�(��{�v��u/]i���p&�j����*�щU�x6�.IC�
�0j�U0霬^#��(Ya�d�+[d���ɪu%��ػ�
+�
�� Uy;U�kp���	?I�F671�j�y6��ӧ�ƙQ`�cݛa�G(�����������t0CF� �Q�����W��s�`�_����;�u��f���v'�B����1zrq<�P�F��b �2�
C6�D��D�9
e��j��
�A��l�eҲ:� �t��eR��z�;�c�,l}F��7�s��Ch��т�^���*���{18��
������>1�wSMub��in` �
LA{70�aST�(�mm`�V��bd�b��ņ���֭MKq��m�|� +X}qu]N�j�	�%�]�P����NkRH"t 4h
�u�dޕrp��+UK���*�
 vP��s�}wt��]��l!�[������2��C^�C�#b�[�^�8�@��:�w4���)��:O_��u'Z�g��Q�����
?���(��zi���\�"?hO"-eo"=�8��Hè�D�kſ
M���B�n%�e�cB	���B�87�:��p�
�y
V�Z7*)XL6"�pNe^�	���F
 �IAo,b�#\}�� �|�hT�e-�܌G����q��T�(�����f���
V]�
�͌Ͳ����4��
ϞX_��ho�>�	Q�. ��㖶G�a�������f�=���R��й��^�]Z����Q�t��
+��d3
q�S���usS�&/*��CMk���f���o����j�;�C�|�1�����y̬6�,��sK�杙)�E'n�8�:aE�� ӝ`E���3��c
<��l�iU���G�r�����������o(CB� �}��_޽k.PKq��^��ޯjF��ᔋ����|���l_(�Q|A���oxW����^�P�,�'I-k���o�-\]�lB�
�R�����
������i��ֻo��y2
���
�ߒ�I��}
;��q�%^=g��Z�MT��*���������h�l�
����]���oG
́��R�h���*Nu{����=
g�<�f���8p�ߔ�}CnFh鋺���^7�o�ƫ'�z����b�:�f���
�$�=���ª�ٱ�]�Ui�,��S��<W�*�}���z�,
��'���_vQ���RanG?-�C�ˢ�|Ʈ��z�Jq��M#&�|	 ��!*��O�_A��o�+�9�4�|�﷯//�͎
�x��x�ݮ.[{G��3&�)��n������\g{P��?����
+endstream
 endobj
-5881 0 obj <<
+5882 0 obj <<
 /Type /Page
-/Contents 5882 0 R
-/Resources 5880 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5811 0 R
-/Annots [ 5884 0 R 5885 0 R 5886 0 R 5887 0 R 5888 0 R 5889 0 R 5890 0 R 5891 0 R 5892 0 R 5893 0 R 5894 0 R 5895 0 R 5896 0 R 5897 0 R 5898 0 R 5899 0 R 5900 0 R 5901 0 R 5902 0 R 5903 0 R 5904 0 R 5905 0 R 5906 0 R 5907 0 R 5908 0 R 5909 0 R 5910 0 R 5911 0 R 5912 0 R 5913 0 R 5914 0 R 5915 0 R 5916 0 R 5917 0 R 5918 0 R 5919 0 R 5920 0 R 5921 0 R 5922 0 R 5923 0 R 5925 0 R 5926 0 R 5927 0 R 5928 0 R 5929 0 R 5930 0 R 5931 0 R 5932 0 R 5933 0 R 5934 0 R 5935 0 R ]
+/Contents 5883 0 R
+/Resources 5881 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5713 0 R
+/Annots [ 5812 0 R 5813 0 R 5814 0 R 5833 0 R 5834 0 R 5835 0 R 5836 0 R 5837 0 R 5838 0 R 5839 0 R 5840 0 R 5841 0 R 5842 0 R 5885 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 5886 0 R 5858 0 R 5859 0 R 5860 0 R 5861 0 R 5862 0 R 5887 0 R 5863 0 R 5864 0 R 5865 0 R 5866 0 R 5867 0 R 5868 0 R 5869 0 R 5870 0 R 5871 0 R 5872 0 R 5873 0 R 5874 0 R 5875 0 R 5876 0 R 5880 0 R ]
 >> endobj
-5884 0 obj <<
+5812 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2877 708.9533 212.7678 719.8573]
+/Rect [146.288 708.953 212.768 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_90e87cbe8ae0717fa09ff51b70d64b47) >>
 >> endobj
-5885 0 obj <<
+5813 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.7715 708.9533 252.9591 719.8573]
+/Rect [217.771 708.953 252.959 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5886 0 obj <<
+5814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.8959 708.9533 375.1455 719.8573]
+/Rect [297.896 708.953 375.145 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5887 0 obj <<
+5833 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.4006 684.37 277.9276 694.2752]
+/Rect [220.401 684.37 277.928 694.275]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
 >> endobj
-5888 0 obj <<
+5834 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4429 651.17 250.0993 662.074]
+/Rect [145.443 651.17 250.099 662.074]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d42265530a9e3b2f3bda9ab40d4a835b) >>
 >> endobj
-5889 0 obj <<
+5835 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2582 651.17 289.4458 662.074]
+/Rect [254.258 651.17 289.446 662.074]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5890 0 obj <<
+5836 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.7722 651.17 379.5123 662.074]
+/Rect [307.772 651.17 379.512 662.074]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-5891 0 obj <<
+5837 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 651.17 513.9963 662.074]
+/Rect [436.747 651.17 513.996 662.074]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5892 0 obj <<
+5838 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.4678 613.4225 441.8914 625.5875]
+/Rect [346.468 613.423 441.891 625.588]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-5893 0 obj <<
+5839 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2074 581.4316 266.586 592.3355]
+/Rect [149.207 581.432 266.586 592.336]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_b602d97b867b5d2ea800ea7ceef4c6b5) >>
 >> endobj
-5894 0 obj <<
+5840 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5094 581.4316 309.697 592.3355]
+/Rect [274.509 581.432 309.697 592.336]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5895 0 obj <<
+5841 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4935 581.4316 408.2337 592.3355]
+/Rect [336.494 581.432 408.234 592.336]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-5896 0 obj <<
+5842 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 581.4316 513.9963 592.3355]
+/Rect [477.703 581.432 513.996 592.336]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5897 0 obj <<
+5885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 569.4764 171.3608 580.3803]
+/Rect [125.095 569.476 171.361 580.38]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5898 0 obj <<
+5843 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.5912 544.893 481.2881 555.849]
+/Rect [381.591 544.893 481.288 555.849]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-5899 0 obj <<
+5844 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0912 511.6931 250.7476 522.597]
+/Rect [146.091 511.693 250.748 522.597]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a9c12ecd84df4ed86b5676a09fa39208) >>
 >> endobj
-5900 0 obj <<
+5845 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.0677 511.6931 357.3173 522.597]
+/Rect [280.068 511.693 357.317 522.597]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5901 0 obj <<
+5846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.4046 511.6931 456.1447 522.597]
+/Rect [384.405 511.693 456.145 522.597]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-5902 0 obj <<
+5847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 499.7379 202.3443 510.6418]
+/Rect [125.095 499.738 202.344 510.642]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5903 0 obj <<
+5848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.4813 487.1097 465.5437 498.0657]
+/Rect [366.481 487.11 465.544 498.066]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-5904 0 obj <<
+5849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.5422 453.9098 267.9209 464.8137]
+/Rect [150.542 453.91 267.921 464.814]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fb9d83c4e182f640833116dc2f725076) >>
 >> endobj
-5905 0 obj <<
+5850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.1432 453.9098 383.3928 464.8137]
+/Rect [306.143 453.91 383.393 464.814]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5906 0 obj <<
+5851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.495 453.9098 492.2351 464.8137]
+/Rect [420.495 453.91 492.235 464.814]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-5907 0 obj <<
+5852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.0109 441.9546 250.2605 452.8585]
+/Rect [173.011 441.955 250.261 452.859]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5908 0 obj <<
+5853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.9232 417.3712 468.6804 428.3272]
+/Rect [370.923 417.371 468.68 428.327]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-5909 0 obj <<
+5854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.9331 384.1713 239.9836 395.0752]
+/Rect [146.933 384.171 239.984 395.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_0441c9c3b0ab0d55165bb6b4fd107f64) >>
 >> endobj
-5910 0 obj <<
+5855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.6327 384.1713 280.8203 395.0752]
+/Rect [245.633 384.171 280.82 395.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5911 0 obj <<
+5856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.8547 384.1713 405.1043 395.0752]
+/Rect [327.855 384.171 405.104 395.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5912 0 obj <<
+5857 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 384.1713 513.9963 395.0752]
+/Rect [477.703 384.171 513.996 395.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5913 0 obj <<
+5886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 372.2161 171.3608 383.12]
+/Rect [125.095 372.216 171.361 383.12]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5914 0 obj <<
+5858 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.2574 358.3789 432.0923 371.5369]
+/Rect [347.257 358.379 432.092 371.537]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-5915 0 obj <<
+5859 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4364 325.1851 251.209 336.089]
+/Rect [145.436 325.185 251.209 336.089]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9e4e32230b187284ac0b9ca8efba8f82) >>
 >> endobj
-5916 0 obj <<
+5860 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.3614 325.1851 290.549 336.089]
+/Rect [255.361 325.185 290.549 336.089]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5917 0 obj <<
+5861 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 325.1851 409.9686 336.089]
+/Rect [332.719 325.185 409.969 336.089]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5918 0 obj <<
+5862 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 325.1851 513.9963 336.089]
+/Rect [477.703 325.185 513.996 336.089]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5919 0 obj <<
+5887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 313.2299 171.3608 324.1339]
+/Rect [125.095 313.23 171.361 324.134]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-5920 0 obj <<
+5863 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.1145 299.3927 456.9923 312.5508]
+/Rect [370.114 299.393 456.992 312.551]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-5921 0 obj <<
+5864 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 266.1989 224.5705 277.1029]
+/Rect [145.1 266.199 224.57 277.103]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c009459805692e582a00d4b5954ab8e5) >>
 >> endobj
-5922 0 obj <<
+5865 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.9077 266.1989 272.1615 277.1029]
+/Rect [251.908 266.199 272.162 277.103]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5923 0 obj <<
+5866 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 253.5707 347.8694 263.476]
+/Rect [304.542 253.571 347.869 263.476]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Time_Elapse) >>
 >> endobj
-5925 0 obj <<
+5867 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 231.3297 255.5641 242.2336]
+/Rect [145.1 231.33 255.564 242.234]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_2581586de73769088ece60dc01409a08) >>
 >> endobj
-5926 0 obj <<
+5868 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 194.4679 264.9592 205.3719]
+/Rect [145.1 194.468 264.959 205.372]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_b6bba83ceaafdb71df04b77e43bed022) >>
 >> endobj
-5927 0 obj <<
+5869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.2964 194.4679 312.5503 205.3719]
+/Rect [292.296 194.468 312.55 205.372]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5928 0 obj <<
+5870 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.9328 181.8397 362.4074 191.745]
+/Rect [307.933 181.84 362.407 191.745]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-5929 0 obj <<
+5871 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 148.6398 256.6603 159.5437]
+/Rect [145.1 148.64 256.66 159.544]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_e8d42fcd571a9c9d64f0e7ffe67e995e) >>
 >> endobj
-5930 0 obj <<
+5872 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.9974 148.6398 304.2513 159.5437]
+/Rect [283.997 148.64 304.251 159.544]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5931 0 obj <<
+5873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.5002 136.0116 366.4207 145.9168]
+/Rect [311.5 136.012 366.421 145.917]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-5932 0 obj <<
+5874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 102.8116 214.0604 113.7156]
+/Rect [145.1 102.812 214.06 113.716]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_596fc5b3ee0d04895aca9139cb6cbcb6) >>
 >> endobj
-5933 0 obj <<
+5875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.3976 102.8116 261.6514 113.7156]
+/Rect [241.398 102.812 261.651 113.716]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5934 0 obj <<
+5876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 90.1834 358.5933 100.0887]
+/Rect [304.542 90.183 358.593 100.089]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-5935 0 obj <<
+5880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5883 0 obj <<
-/D [5881 0 R /XYZ 90 757.9346 null]
+5884 0 obj <<
+/D [5882 0 R /XYZ 90 757.935 null]
 >> endobj
-5924 0 obj <<
-/D [5881 0 R /XYZ 90 248.4305 null]
+5888 0 obj <<
+/D [5882 0 R /XYZ 90 248.431 null]
 >> endobj
-5880 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F99 2213 0 R /F40 350 0 R /F36 2391 0 R /F25 344 0 R >>
+5881 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F97 2177 0 R /F38 342 0 R /F34 2344 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-5949 0 obj <<
-/Length 3843      
+5936 0 obj <<
+/Length 2062      
 /Filter /FlateDecode
 >>
 stream
-x��\ko#���_�O[	Xs�~m�6�M�"�n�%

�4���UI^����3C�3
�N�uRI$���3����Cf
-�����
qB��bsE'w��/�X��5|~������[�&�8����m
A3�8������f׌R:�v��t~��o��q:ݭ���a~����a~x��/���+:�|=?
���U��a���.*���S����_]��}$�rWB3O��W?�D'Kx���(�#���9�'�+�Ex��zw��������Lj���+I��_@1A��^�`�Qg&Pb�d� F%aFp(8�Y&b�O
-Θ!�s;�0_�r��b�͛����kB
��X�+4b?�Ԅ[�{��G���]J"�1Y\�b�ڬN��f���

|���fLM�s:�������mo���}��*�EBO0E�q��6TQ�v<e�%'���U�x�F�Ө[���Dk��(,�DHʻy_=ʹ����m�t�������C�#|����^���x�6
������Q	�4 .ݢ,}b_]��5
-F#N�FG���Vu��y�S��H��hz
���8��������_

�
���I�(�S�\ޘP0(9t�4F]	#'(i�
^J�����s��f�I5����c� t���
�_(7=̄�VLJ���`w��}����a5ߞ��
�9�'�y�y/���G
.��\��q�����]��([��
Q
c�u��b���N�
6d><5������'��vW�z�9��
���r�r��fsʺ6l�|;s��MG�&��41�C���7�nϰ0X���So�4~������y�Z�5j�n^�]¿��V�S˩�o�2�҄�
-���uI4��Z�!�0|sa����K+Rd��
�$J���C�C�`
���y褽l

�\�^�yh��,nj
�mu��v��ށ*���E�NPށ��]��[_k�)�1Y܋�A)b�g�!XF�Ov�E� ����y�VG>�#l�#=���d��Ea$�g����3pG
�I�9�!�Q�
v�3P�Zx��
��
)�����~��1���l
z��yhF.��_�-
y�<n�!��ea	��Rl���XX�g
��z S{��!�U�C��;{hI�g�e=�o`"įh"�!��K��4q�٨(��CMD�`"�����-��`^�.������&b�u��\2Y.LD!������5�%��
�ʌ鱥�x�F��u`�P�_|��B�
-�̊^<[ua�AhN$�vl
"
��
g!�$�dt�"�R��XczE�-D]��Y���iӵ��5(�	�\<�5�1
-�!†]7�|c;���
@
��i�����4�Q�#��g��\� �B3si�ս�(��7�
�����d��J�x ������6�~ם���>s��^���Z�t�o����X)�F�m Ȕt�W���''���:0R�i(
7�3�‡"�����������3��B�KD��o��0�u1�>l�'
C��a�f�6�7������
_�6(W��&�~�
n�����������=ӣ�pu��'1D	�d�
7DżgCT�
Q��t$C
��n��L��Hdq��\�
}�o����7�-8$��\��?Z�Dˆ�'v�� 3�� ��#+�h�~\� ����ϗ� Z�[V�@D!
���e��!7�YD�/����Ocf����\
���p3��~̱������c+����_�{_+��V��~x��n�~z�W�
���c"4MV��pK�w ŋ� K��&�C�*�P�J�
-���U'-*W��#�
-!��-������q.XFx�.�0���9�k�A�R�l��G�$�Q��c

��\��Bͼ/U]�`)2��g	V�$X��
�i�ӟ�4E-[����vwJ�U��K(��7"�zy)<L�� å,	X��r� eiZ\�:��HY�D��Q]�O�������T�r)"
-a���,պMpq�Iq",AF#�1Y�K�O�P���
?����dm/﫧�t����
˯�ҕ�(IW���U����
�fxl��'X�
-b4u�bj�n5.���G
=��
~�u	}X��:����!�P��~x���"��O]k?/
l�(�J<y�R�]
-���$󟛳��
�
-{"�����1V�0�!�
-��G�E�Y�C�4`a�@��E'-:_tS��/Y\��Pmv~����Se.8�oA����X��B(q��D�=.N
��7�#+��,���Cݥ���uu�yW
^���#�p��`��pxu��|�n���,N.�J����3&�4Far�0O���c�Y�L=��*�w���f�~���_hNH0�/nN�I����
a��$KbS��&M��M'��)��������:�cQ��ry"
-a��@����2�ކ<�F1�6�2��
���)m����ײ�;^���
�
<�CYe�#��gY�4FIe,S(b{�^4��y��__�I�AQ��v�]���?�����x�������ՌM���L��
�CF�T�*)��;��~"���q�@���1M
e��
-0\���%��
�~�Ѿ4����`���
-��XR�p����x��������������
N���&
g
����p��ǁ#tx<N(��,�w\��5��f�f'�P�� ����{\�a�z=����s�A8@�RP��pv��
_�j
��叇���9ʕ�((W���5��O
�(;�̭O��v�՜�';��|�1��}���\
y�<��}�.��KFE���&Z3Ul��B�����-�.c/�7�(7
��C52
X�H$o������tS���D׳h�����KOrr��G�̖KQ��2�zM1�	4�[��f�����15�X
-y��%3j�2Yw�
-;�t�:�ރ�Q���"D<�$�;��mZ�e��1���(�BqeST?k6Ib�f� ��6~\��a���M�c�����4

N5oa
-j]�~��LDۏ���7�>B��ѥa
8�z\���'�2*��F��	x�m��D<�<M�
x'�/���z���w������R5"
-!˜���=D
�M����x�Fw�
�߼�Ŋň(����=RtY����q�e�����+��,.:�I�?
P���!�e}���l���������giz���湽�1��%��	.}_���ZO����Y���sA�W�a���+ا�oX�J��oz���k�
��_�����긨�����=����z�)Ӝ(�92�´a�S���#�B;���:�
�.7*������
&e訞)�v�R�����L�X�n0Q� �b�}�~A���}Q
O��z�_>Ze€�s�Z�º�*�tݶ�~�n`x�L��7�4-ꆺ�G�!�D׳8>�i�� ɕD�\���r{�{eX�z
�����
�X�,����hs������u�Z㮗�z����Y�i��h0O�ݣ����,��ԗ@
W����`
��5+-z��@-h�W���� �S=�
q���w׶�v���W[����i坨?Q�=����2=
��Y��+��ϲ���I��Ȗ����D%��w�–��
�X�n��\a
'TV~� BR;�
\�*
lC�2��tt�
Qj��,�
L+���]W��>��6%��3^oS�������f޾
��y����������R�`y�ۇ�����
���B@�6C�֌wU���V��:j>�y^�-�|���u��m7��fq�3ߟN��޼y||$�#yخ��:����o���U�J�J
w
A�N����;�g.��,g�;Ta?���3�QL
Q�/Ɩ
-rendstream
+x��ZY��F~ׯ��fz��l6il�:;�z���L���jI܈GHj��TQ'��ȃ���Gu�W_
Cl--l};������s� 
��Dž`�{1J�ǹ��&Q2�%c�Ô`;,�p�aJ���w+1/�ٻ��������|zK�߬ò�Ïb!�)�m�Fv�
�ٔ�ӟ�N��8�uB@lu6�;̊�ɧ��5���Z9�omլ�r��k�a���{
�T�c�u?B8�`N("���O�2%N���t�����p'�L�X,���,��:�;�+1�EY�,6�31%���*�<[�U��3�H�L���
~�
�Ҳ:u�o+�,��z̾us�>�O`�i�|ؕ�H7��WѲ��,��o�ƴ�6���P����6�
9��NZ�;zR�
+.
+|Zϩ����;P�R��s
+B��ʵ�4@�� E>��
�M�b�2;�} =��v��9,����mQn֕~�-z���a�i3��>�b
{9s�E�˾B�(K�M����|��E���H��L��=Ԥj��B�Í1� �7n$6~�ZѠ�FY�C��&�s:
+%>r|���*��֚�R��%X�
+��Rz5k���K9ȳ8��PZuw�A�>����C�tDw���F�xHt
+LE�z�O�A<y�A��\��� hX�Ta��Y���1, b�|�.���}��, ���,@���(
`�89
:, �
�',�:i;i5i?�sC�E��

+��(+��.+���Ӱ�
+�5+���f��+��a��\�:�
��C\ �7\�\��>�<��4���)�����"=�����8�| ���p<[�&�RS������c9Yy|j?�Sz�].�X
[��������^��;�+�R
+q�uI��4q��.�G�4
��
b:��-��z8 
��p������&������5��
+�g�x��i�8���Z��?
!�D*��
�0�+�k�L1��W(�t������浰�,L�����%���stO{�ˬ��bh}2֑)E�K������r 'p�D�d %��ۣ-U|�5�V:W�Fש�RFٳ^�6O���6N{s:'=�,�O�g/�A
#׹Z:	�����y ����g���{t̳:�J�����/�
<QX��
kQ4�k-�����jw!(�c
F�t߻F�� ^1Vw���=9�
���J�
�C�����.
5�Qq��������h�2��,�yi�
I�*�
�dғ����.���~��{Z�r� ��U�͞Ĭ+������������E��>�-t6���]��j�?�W�r%�ц�$J?S���Kx�c6'঳ }#=nJ~W
����Drl��f�<��vV4ōntnc�
%F�EO���R��� �x���E^���"ƃ3hR�8
+8&M�Y��Hr(����a�y�#��w��/B�
bM� I��x��*�8\���`�
�����
+]�E��ݪx�g$a�BB;.�&�|�Ǣ
��p瀜¼�'���
:MlQd��.�[�XxZ3���!��}Z���Ħ{>�L�{V|9�u����gIeP̻ؾ9-�g.��h>�
L��c�\����,��1T
%�S����,�k I�q�o=>�Z*
"��*��"�+"k��Ku��b~�
O���D�
�-�Ez9�Z����۾�P�����tU ���
��5��
����EMc+.#�^���6��ý��}�c�=��`?x_�8x @rě(}���8

�*�B��z�oDY��@�R�	�*-�r�^��_
�Xb���1��V�
��ժ��m\�Z���
7�x0�jE�ϒFm��7��k��D�MO��iOE��UO}���S����%u�M��e���n�ӠeWi#�Q
��$?�uk�손��>
���c_��_�� ���W�X�3������Ih���)��e%��R��2f���:�����h�dAYD�BG[D!�A��M_��
�o� �M���;2XUU���n�ݢ�D�4�
Wwy��;d�f���ڢΫ��u��ՖB}#��\Y�
+endstream
 endobj
-5948 0 obj <<
+5935 0 obj <<
 /Type /Page
-/Contents 5949 0 R
-/Resources 5947 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5811 0 R
-/Annots [ 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 5983 0 R 5985 0 R 5986 0 R 5988 0 R 5989 0 R ]
+/Contents 5936 0 R
+/Resources 5934 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5713 0 R
+/Annots [ 5877 0 R 5878 0 R 5879 0 R 5900 0 R 5901 0 R 5902 0 R 5903 0 R 5904 0 R 5905 0 R 5906 0 R 5907 0 R 5908 0 R 5909 0 R 5910 0 R 5911 0 R 5912 0 R 5913 0 R 5914 0 R 5915 0 R 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 5928 0 R 5929 0 R 5930 0 R 5931 0 R 5933 0 R ]
 >> endobj
-5951 0 obj <<
+5877 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2843 709.0282 313.7009 719.9321]
+/Rect [145.284 709.028 313.701 719.932]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_e47fdbff76383891b3896ac5fc213d5d) >>
 >> endobj
-5952 0 obj <<
+5878 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.4073 709.0282 361.6612 719.9321]
+/Rect [341.407 709.028 361.661 719.932]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5953 0 obj <<
+5879 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.3469 709.0282 487.7994 719.9321]
+/Rect [403.347 709.028 487.799 719.932]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5954 0 obj <<
+5900 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.6296 684.5197 376.664 694.4249]
+/Rect [321.63 684.52 376.664 694.425]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-5955 0 obj <<
+5901 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.429 651.3946 306.5466 662.2985]
+/Rect [146.429 651.395 306.547 662.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_323efbe5d43695cc65f8cd5935da94dc) >>
 >> endobj
-5956 0 obj <<
+5902 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.5424 651.3946 356.7963 662.2985]
+/Rect [336.542 651.395 356.796 662.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5957 0 obj <<
+5903 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.2022 651.3946 486.6548 662.2985]
+/Rect [402.202 651.395 486.655 662.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5958 0 obj <<
+5904 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.6268 626.8861 379.1617 636.7913]
+/Rect [324.627 626.886 379.162 636.791]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-5959 0 obj <<
+5905 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7199 593.761 264.2377 604.6649]
+/Rect [146.72 593.761 264.238 604.665]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9bdab8408169307fbd899ec3670cb2bf) >>
 >> endobj
-5960 0 obj <<
+5906 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.8153 593.761 315.0692 604.6649]
+/Rect [294.815 593.761 315.069 604.665]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5961 0 obj <<
+5907 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.4205 593.761 445.8731 604.6649]
+/Rect [361.421 593.761 445.873 604.665]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-5962 0 obj <<
+5908 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.6134 569.2524 287.9211 579.1577]
+/Rect [233.613 569.252 287.921 579.158]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-5963 0 obj <<
+5909 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 498.1054 289.8656 509.0094]
+/Rect [145.1 498.105 289.866 509.009]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_10e3116398b920cb137cf576a073cc68) >>
 >> endobj
-5964 0 obj <<
+5910 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6812 498.1054 359.3244 509.0094]
+/Rect [293.681 498.105 359.324 509.009]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5965 0 obj <<
+5911 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 463.3859 290.9713 474.2898]
+/Rect [145.1 463.386 290.971 474.29]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_c4e1b49845e553ff84dc73e710def76c) >>
 >> endobj
-5966 0 obj <<
+5912 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.7869 463.3859 360.4301 474.2898]
+/Rect [294.787 463.386 360.43 474.29]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5967 0 obj <<
+5913 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 428.6663 224.0028 439.5703]
+/Rect [145.1 428.666 224.003 439.57]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1b528a2e8d4d096f62535454e05b74ba) >>
 >> endobj
-5968 0 obj <<
+5914 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 428.6663 271.5939 439.5703]
+/Rect [251.34 428.666 271.594 439.57]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5969 0 obj <<
+5915 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6947 416.113 272.4902 426.0182]
+/Rect [219.695 416.113 272.49 426.018]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Concatenate) >>
 >> endobj
-5970 0 obj <<
+5916 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 393.9468 254.1498 404.8507]
+/Rect [145.1 393.947 254.15 404.851]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_75df0f78d7598dafa946251a04cb5d90) >>
 >> endobj
-5971 0 obj <<
+5917 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 393.9468 338.2632 404.8507]
+/Rect [281.487 393.947 338.263 404.851]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-5972 0 obj <<
+5918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 359.2273 284.5854 370.1312]
+/Rect [145.1 359.227 284.585 370.131]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_7ff92e5d40e6faf667a0b1f6b8fad791) >>
 >> endobj
-5973 0 obj <<
+5919 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.4011 359.2273 354.0443 370.1312]
+/Rect [288.401 359.227 354.044 370.131]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5974 0 obj <<
+5920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 301.5936 241.7263 312.4976]
+/Rect [145.1 301.594 241.726 312.498]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_60138f2b5d41fd62c862fdcd7c4a1e61) >>
 >> endobj
-5975 0 obj <<
+5921 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.6171 289.0403 407.6577 298.9455]
+/Rect [349.617 289.04 407.658 298.946]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Map_Space_Dimensions) >>
 >> endobj
-5976 0 obj <<
+5922 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 266.8741 249.3181 277.778]
+/Rect [145.1 266.874 249.318 277.778]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_f6df34e5e4ab9beab41cd76897d64c72) >>
 >> endobj
-5977 0 obj <<
+5923 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.1337 266.8741 288.3213 277.778]
+/Rect [253.134 266.874 288.321 277.778]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5978 0 obj <<
+5924 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.8754 266.8741 371.5186 277.778]
+/Rect [305.875 266.874 371.519 277.778]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-5979 0 obj <<
+5925 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 232.1546 240.6204 243.0585]
+/Rect [145.1 232.155 240.62 243.059]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_18ec2da355442e02ae67313ed5b48933) >>
 >> endobj
-5980 0 obj <<
+5926 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9576 232.1546 324.7339 243.0585]
+/Rect [267.958 232.155 324.734 243.059]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-5981 0 obj <<
+5927 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.5366 232.1546 425.7242 243.0585]
+/Rect [390.537 232.155 425.724 243.059]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-5983 0 obj <<
+5928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 159.7867 153.0974 170.317]
+/Rect [125.095 159.787 153.097 170.317]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_07bdac3717a59f64634da7d9b1cfaefd) >>
 >> endobj
-5985 0 obj <<
+5929 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 122.8507 167.4656 133.7546]
+/Rect [145.1 122.851 167.466 133.755]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_a598904833b374d50efc72c51914112c) >>
 >> endobj
-5986 0 obj <<
+5930 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 122.8507 191.5351 133.7546]
+/Rect [171.281 122.851 191.535 133.755]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-5988 0 obj <<
+5931 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 86.2883 193.0294 97.1923]
+/Rect [145.1 86.288 193.029 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_508103dc808fc747a90b573083a60461) >>
 >> endobj
-5989 0 obj <<
+5933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-5950 0 obj <<
-/D [5948 0 R /XYZ 90 757.9346 null]
+5937 0 obj <<
+/D [5935 0 R /XYZ 90 757.935 null]
 >> endobj
-5982 0 obj <<
-/D [5948 0 R /XYZ 90 176.3195 null]
+5938 0 obj <<
+/D [5935 0 R /XYZ 90 176.32 null]
 >> endobj
-5984 0 obj <<
-/D [5948 0 R /XYZ 90 139.8766 null]
+5939 0 obj <<
+/D [5935 0 R /XYZ 90 139.877 null]
 >> endobj
-5987 0 obj <<
-/D [5948 0 R /XYZ 90 103.3143 null]
+5940 0 obj <<
+/D [5935 0 R /XYZ 90 103.314 null]
 >> endobj
-5947 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F37 2043 0 R >>
+5934 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F35 2013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6003 0 obj <<
-/Length 3102      
+5979 0 obj <<
+/Length 1629      
 /Filter /FlateDecode
 >>
 stream
-x��[[o�~����lm ��~Y$m�I�v�ݢi`�3�-dn�4�:����ȡn�xg��C +�|s��!���������
-��b����{���
�}}
�_��?��x��
���r���� 	�����ϗ� J��	������Y��n�^Q|�[?=�2����-���͛o�buuM��z�UU��S~��WD_��e�$#�}����/�����.�$6��\��
^��
�_`�G�#b
]l.8e��Ż�x;���R�
AL
-O
i	?�@�$���L&�L(����\*�АK�m.	LjJN
f3�����.7��f�@?k�R��«z���2/��s 0���e����}��w�cy��e�o���m��Ů���Z{���ш
�\�c6G+���j"2
-C�ցа�	|/'
E("���w#�C�
MĴ��=�9"�Q�)L�"���4��($)�
k�O�����
�u��_*6�����\���kn�0r���W�}��)
��SA��6�Z���ُ�0a�H"��n8�
�

܌�]U�y�i�
->'��r����q%�A����
ڈ���>��Ա#��O�j}��a�T1��٬f	VK	s�Ip�%}4�s�c���a�ˡ��
u?�i���b;f���A�-v��K��c��1P�d�
-�ΐ�h؈���l�omZ�)�PZ��	�!�
hJ
-
TV�=s�?T��~˜ͨ"�C��y�ջҵ��C-´���	Ei�sȄ���'o��Ht����z`0F��_G����n��";5�
�F���S��
'��.���H�|�[߁R�a�#��A�ݴ]LL۳�
�>O�&bСl�?@~`��^ޕW\\�6SL�
�<2YC$
Kpk������dm���ʺ�m
��2_���>
�CB at s{	�
E

���j���bM+�ͫV�m���Ε@�+��k��7��
�����U��z~͚A�Z�1B�O���r�k�]^?]	�	�f׽���V^�����cuyȓn���J�a�̫���b*|
�L�~s���I�0h9v���y�X ����
c��^^롇�P<��
������/�8�0�� wJ�
-���b��]�tS��7��>�Ia�c0Tm�8)��x��Ƞ�S�z\/�zWg�.�b{s�d�2�pa
`�e4�k�J �:��gT�’�0s��ڈL
fct�nWz�[�A
-;�B��OE�8k���i��Y�\.�"_�_M��X"�5�|;5BB��ċ/���C3�w�4��g�?
��������|�G=�?���>�y�M� �>�V/���=*#)�̠W�#���R�d ��������&�fv����/.D�l�����(X���(E���1
p��#뽄_G��m���L!�&B
<�+�çbٵA<d���r���[�i�D"�pn��	M�M1XX�E��F��6�i�����mQ��6�.�UG˻��I�vآ�~�g�
��1��s�ژ<��Ev+dž�ήR�m�
n����|s����7���.e��c<���#�01�mm�@$<l�߶��`q�
��K�
�г=�U���g��0c�=����S1���V�&�V��
-�"����,<���P4�����dn�}��o|����@l�����C��0
-�P��+�h�؅7�
���D"ä�#�0@��C*kl��>��/ i���m�5�k�)lUk�-,~-��*<��eL��m��$r�D��vm����a
�x+��,_{Tʯ-9Q}�Kw,��mW뙝
�������5s]m����3�c,�e
*-eGs1%�:�B8�Q�ܤ�����H�Ң�
lv}wS�K�gO�ue���<ػ!7�SU盉-(���E2�0�x��Xh�{#��ز��s�"�Q
���$�V�b	]��w:����Ы�&+<E*�̨v�j�+ϥvwwi;ŗr]�T��bVxdf[�Ћ)�0"�/K,4aX¯�X��
뇐&Y"����Uu	��������0"� �JE�[P�;&�5������9�㚃��p͞�@o�.��
�
C�Y�9��\	0ڜ�V��)�ܖ�"�;3OwUC�!��%��x$n¯#n��$Ya�D����ç"�
O��j�2H@�$��P)��^��l�w���ʝ�D�c�&��a���Փ��ȷ�U�����_���
&��Շ/"�Ta�%>=��edw6����T
*��$	
��)&����2��#<���0{X(��0t��s��
7���w-�6q`qI%�~�!}Wo5a�����a��Fکa���m��{
���ױ�8�T
mL���p����j�O��
:;!pĸ9���ۮ���j^ufe����~���?�9_hj�B��&�
���<,9?E=
秄_7?��N\�
O�
��a�OW�
-hdw�	s"F������
�����ˣ�Y�P��i��pL���V��z|"±�٭�a��b*��J��F
�}u_�t�(nW�g�|h#��
f�����:�۱�T�v|B��v�%Ul�k����4ש�jK�D`0&q�^$B��"����"6��n�
-�(b��͜x�
*�
�][<��>_�J$=5��adu���H3�h�G�܂�1:q��Uj(������@�V�WXhS�j�C���}B�֮�A���>K�1Ms��׮+��K���p[����
{Į��_PЉ=�©]	K
z`0&�q�^�C��/�0�n�Q��(Fv���y�s�����"����,RJ
�o}��
-��f��;|*����=��i�x�y�utVa�3i�Y�DPv�n�t�U�ѱF���O�Y���p5W�xT"&U-Wb����!��W�6b��5�(���������$ 
�Z����걥���F������	3#��bZ���� ܼ� �Y�f7
-
u�"��6(D�������������uݟn�v���U^������̶w)�*�o�T^
O�!��P����.߰P��Q>�&A�.��_�-����/���vd���U��7�_?>>�e��b_��~�߯_�h�a�l_���5�]���<�L>a,�T���+��|�i^c�DA�T(�6�(endstream
+x��Y[o�6~���^:�����V,źv˚
{h
���X�n�&�ߡHɗȎ�&�P
bJ"�9߹�غ���r�����̳��
��˅b��r)�.c�ݘD�dJ0���	�cVelv>�x\��%�+6{��+V�NO_VI<�R�_�L=|����`��%�&ޘ�p�������?#�`�4{�>�m׊�ѻ؊��+
#;
��fVf9Ԇ�Ժ�9�F���F.�Z��9J.�`Da�Sa����]%�6e�m��l>Plf
��F����-�.F��Nd�&��ŋ_��jb�c^��s�dR�i�B
�
�a�
7l)����a�A
�ؓ�D�pF��
�(}��N�\�a
+SjS��� ��
+��[T�wS��Sc�����
�o�YJV&�$��uV��P_�c7Z.��8˴~�xO�8*r!{���"�!֔Pd�(�{��#��os0 f
�3	B��!q.�$�� ~ 8��
�G��AF�TA0�&��L����I~�C
 ���[��WL���
�!��
�Ϟ�lH
dC$=��a1�a1/�t�ק�z}���G��k�
<ݡt��&�;.�>���!�7-I9��h
^
�9����b��R3�����j����u�܊��F,{�}HMT>4!�]o�g���)x��L]� ��`B4zX�aQT4l�`��j�`�S���@�U.zv��M�˪�wn�,�݈:���:}��~ ٿ��KE/e���(rɫ�f��~�P���^P���V3�|�3�*�ݫtj�,���I>��T�{�X�B�X�ɚ
ȠG�ɇ��65n/�̛�QT�	��U}{�q�u�^�r�Wź��ɫ�?��8g,g���R��
�
+����U�=�ΰ
	��Mg�p�\2��EE�9�=�1�c��<����v�� ��ʐ-$�=t}�+!�ӪB����-�6��,�P)8�L���
���
��f|V����.�0��b�8�ax��� �q��\���p���D�">�V���AAy�H>�ɰw�զk��l�a�'5�c��b���/VsN�#GԶTK(Yң�JB�A��0sg	
��*
)�VQ��M�+(Kr�F���xP`zc�*�Lh����
�`�d;J���XҩS��V.�X�����HI��#��$�GF�b�U~�H���V��a�!Qn�dz*��Q�F>��_��>���dvψ�����x_��0���$���
ibv{��akt���:J}��G����Vq�"/����b�-s��c�]���o� ���yv�I�d[�m��
#�`�^]����
�o�!��F�����Ϯ&X�{�[ְv`�#w�[���C�HȦ#b���n���Z(���
��(����/Su�	m9��,k���	iJ~(&1�T?|g���85�B�@��(�2��XuϺ��.z�A67�\\7�j{oD��Vr����s���s
�/J�%��&�y��B~�;�p�Z�k���fh?�{��
�yln�4<���ͩ"�u��mj��i
[��G�X���Տ��ԅoX^�h�>)R�Z7_��WV��J��\�����Վ~5�]3MU�	:�ZJY���\__�H�:O�
+%�,ӓ۩gM� ��k
uT��kQue2�̚��mP ���ft
+endstream
 endobj
-6002 0 obj <<
+5978 0 obj <<
 /Type /Page
-/Contents 6003 0 R
-/Resources 6001 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5811 0 R
-/Annots [ 6006 0 R 6008 0 R 6010 0 R 6011 0 R 6013 0 R 6014 0 R 6016 0 R 6017 0 R 6018 0 R 6021 0 R 6022 0 R 6023 0 R 6025 0 R 6027 0 R 6029 0 R 6030 0 R 6031 0 R 6033 0 R 6034 0 R 6035 0 R 6036 0 R 6037 0 R 6038 0 R 6039 0 R 6040 0 R 6041 0 R ]
+/Contents 5979 0 R
+/Resources 5977 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 5713 0 R
+/Annots [ 5932 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 ]
 >> endobj
-6006 0 obj <<
+5932 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 698.565 193.0294 709.4689]
+/Rect [145.1 698.565 193.029 709.469]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1d51ba9ca3c3e0bf0042502f40d2e11b) >>
 >> endobj
-6008 0 obj <<
+5952 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 664.8369 165.9114 675.7408]
+/Rect [145.1 664.837 165.911 675.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_ee33974909cfc1cba605734a57d44df0) >>
 >> endobj
-6010 0 obj <<
+5953 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 631.4823 187.6893 642.0127]
+/Rect [145.299 631.482 187.689 642.013]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1a26d0018999e56d94a7e96db2b6e553) >>
 >> endobj
-6011 0 obj <<
+5954 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.5566 619.0511 476.5442 628.9564]
+/Rect [352.557 619.051 476.544 628.956]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1d51ba9ca3c3e0bf0042502f40d2e11b) >>
 >> endobj
-6013 0 obj <<
+5955 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 586.4217 202.9022 597.3257]
+/Rect [125.095 586.422 202.902 597.326]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6014 0 obj <<
+5956 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 586.4217 300.0368 597.3257]
+/Rect [203.4 586.422 300.037 597.326]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_f39e1b0519a47aafb9dba4121dc41a9c) >>
 >> endobj
-6016 0 obj <<
+5957 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 552.6936 202.9022 563.5975]
+/Rect [125.095 552.694 202.902 563.598]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6017 0 obj <<
+5958 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 552.6936 314.2635 563.5975]
+/Rect [203.4 552.694 314.263 563.598]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_eb9b562373b4d288c03549bdba93fede) >>
 >> endobj
-6018 0 obj <<
+5959 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.8192 519.3391 199.8638 529.8694]
+/Rect [155.819 519.339 199.864 529.869]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_5f6fcc1dab2b08eff20b41d1412d1e2d) >>
 >> endobj
-6021 0 obj <<
+5960 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 442.4674 203.0748 453.3713]
+/Rect [137.432 442.467 203.075 453.371]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6022 0 obj <<
+5961 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 442.4674 296.3242 453.3713]
+/Rect [203.573 442.467 296.324 453.371]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
 >> endobj
-6023 0 obj <<
+5962 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.3766 428.63 331.3064 438.5353]
+/Rect [312.377 428.63 331.306 438.535]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6025 0 obj <<
+5963 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 405.1799 294.4813 416.0838]
+/Rect [157.636 405.18 294.481 416.084]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_7fc86a6331f34f34a506ab2b0609ac37) >>
 >> endobj
-6027 0 obj <<
+5964 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 367.8924 287.8558 378.7963]
+/Rect [157.636 367.892 287.856 378.796]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_3628b6d6e250d4c6b8301173c6ecc777) >>
 >> endobj
-6029 0 obj <<
+5965 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 289.4018 180.5399 300.3057]
+/Rect [134.114 289.402 180.54 300.306]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_87d004db7f8febf6f9c96b4a2a1c85e5) >>
 >> endobj
-6030 0 obj <<
+5966 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 289.4018 228.1309 300.3057]
+/Rect [207.877 289.402 228.131 300.306]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6031 0 obj <<
+5967 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.864 289.4018 290.1179 300.3057]
+/Rect [269.864 289.402 290.118 300.306]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6033 0 obj <<
+5968 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 185.9827 226.0342 196.8867]
+/Rect [175.349 185.983 226.034 196.887]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_1cb88a546d32e7b5c07dc25055e33235) >>
 >> endobj
-6034 0 obj <<
+5969 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 185.9827 341.4298 196.8867]
+/Rect [321.176 185.983 341.43 196.887]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6035 0 obj <<
+5970 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 148.6953 178.2386 159.5992]
+/Rect [134.114 148.695 178.239 159.599]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_9e17201a9a12235a9a96cc31cfffd38f) >>
 >> endobj
-6036 0 obj <<
+5971 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 148.6953 225.8296 159.5992]
+/Rect [205.576 148.695 225.83 159.599]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6037 0 obj <<
+5972 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.5627 148.6953 287.8166 159.5992]
+/Rect [267.563 148.695 287.817 159.599]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6038 0 obj <<
+5973 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 111.4078 156.2812 122.3117]
+/Rect [133.915 111.408 156.281 122.312]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_d452407f89cb560e83fb81938c12a585) >>
 >> endobj
-6039 0 obj <<
+5974 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 111.4078 291.4331 122.3117]
+/Rect [160.097 111.408 291.433 122.312]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6040 0 obj <<
+5975 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.6447 111.4078 440.981 122.3117]
+/Rect [309.645 111.408 440.981 122.312]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6041 0 obj <<
+5976 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6004 0 obj <<
-/D [6002 0 R /XYZ 90 757.9346 null]
+5980 0 obj <<
+/D [5978 0 R /XYZ 90 757.935 null]
 >> endobj
-6005 0 obj <<
-/D [6002 0 R /XYZ 90 714.8824 null]
+5981 0 obj <<
+/D [5978 0 R /XYZ 90 714.882 null]
 >> endobj
-6007 0 obj <<
-/D [6002 0 R /XYZ 90 681.1543 null]
+5982 0 obj <<
+/D [5978 0 R /XYZ 90 681.154 null]
 >> endobj
-6009 0 obj <<
-/D [6002 0 R /XYZ 90 647.4261 null]
+5983 0 obj <<
+/D [5978 0 R /XYZ 90 647.426 null]
 >> endobj
-6012 0 obj <<
-/D [6002 0 R /XYZ 90 602.7391 null]
+5984 0 obj <<
+/D [5978 0 R /XYZ 90 602.739 null]
 >> endobj
-6015 0 obj <<
-/D [6002 0 R /XYZ 90 569.011 null]
+5985 0 obj <<
+/D [5978 0 R /XYZ 90 569.011 null]
 >> endobj
-6019 0 obj <<
-/D [6002 0 R /XYZ 90 460.6578 null]
+5986 0 obj <<
+/D [5978 0 R /XYZ 90 460.658 null]
 >> endobj
-6020 0 obj <<
-/D [6002 0 R /XYZ 90 460.6578 null]
+5987 0 obj <<
+/D [5978 0 R /XYZ 90 460.658 null]
 >> endobj
-6024 0 obj <<
-/D [6002 0 R /XYZ 90 423.4898 null]
+5988 0 obj <<
+/D [5978 0 R /XYZ 90 423.49 null]
 >> endobj
-6026 0 obj <<
-/D [6002 0 R /XYZ 90 386.2023 null]
+5989 0 obj <<
+/D [5978 0 R /XYZ 90 386.202 null]
 >> endobj
-6028 0 obj <<
-/D [6002 0 R /XYZ 90 307.5922 null]
+5990 0 obj <<
+/D [5978 0 R /XYZ 90 307.592 null]
 >> endobj
-6032 0 obj <<
-/D [6002 0 R /XYZ 90 229.1016 null]
+5991 0 obj <<
+/D [5978 0 R /XYZ 90 229.102 null]
 >> endobj
-6001 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R /F100 2135 0 R /F11 411 0 R >>
+5977 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F50 339 0 R /F98 2117 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6049 0 obj <<
-/Length 2825      
+6003 0 obj <<
+/Length 2385      
 /Filter /FlateDecode
 >>
 stream
-x��Z�o��_ᗢN3"�/��C{{��=lwӾ�
��8�ڒN�7q���pH��e{��"�5
����
e>���T4˒�)����&�m���
��
_�|���.Mf��T���'�!�,\�
�?�9g��.xE�w�<�����VD�z{x����r�����m[�o"���l����{���[��u���)�<�
�nz����G�9��D�
���͏?E�5�����I�'�hD�+%f��XH���|����Cf”.�FB�(M� ��F�E����ot�j˦/�
-t�]"N n3+n���l at L
�q�g,qL����Uo�OT�Ϛ*+#�#��,g9O�,�9�Wtv
j7��} O�'Q�p��i��x*cQ�ɣ

I�S][W)���Ѻ�nZ�骷�UP�(�b{,]�/�e$�G'�u�+�j,f���Mfq��\��
j��]��
hN�o���	�b�*��
&t>��EB��L*JY,�x�
}"9� ���W�T���1SHd�.ȄD�1J����|����KUW
 n5��6�
�C��)	q��L��
-.Iȑ]�Х	]^�K(\�/�}��7���MY� ���A��`��
���⼫	.	Ƒ]̥�\^�
&\w[V��ڢ�۲?�HaP��ivw�R'�:f}���b%�c��ot��uYm`���uE%�Z��t�\�q
)���T
;�v�Fʎʪ�
�ˀ�u&�@syp
���5A��4V5]AKuX��>�p���"va=�����u�)6���'���N�F��n�u��y7���`������ݢ�x\l2���Uj8ԍׅ����Z�P�����F����r�xQ����rk�	}mK�����nE2����[Р5u?�vf�0��X���Q�P9���4�� T[�{���Jżk��EB[�����*�Q�dUٻ��	;1�G���ہ���FW"g�vnFuzR�> � g��`*��Y��'�:
�"�0� N��&��(/��@�S`!W2;�б�rT׶q���Gc��e��˞:��
{� 9t4fmJj$������95�~t�=-�L��]������'��T~�jT���3��B����u"�H'�
�
-�:�
g3b�I햱��ֆzL�񠯠b��H�2�.���F_�뷕��i�o�
-�W��\�)�$kn��&�
-��t�ѦlY9G	��=l�z_�
�wz�^wc���EG��z�R=dߕ�Oj�s�M���z�/��-��q�{=F���@���Wi�X���5�ʁ�r�e���V��9�$�y`
",�cn��%aޔ�,hO��
+��?L�e J9$eg>����ah�E�zw+�h�S0;Nb�E��a���V�dW����te]��F�z�m��ݱ�v��N�:.���^[��2]��p	�
��"�ҝ)4˄�$>�Ȅ�$�ȮK�Ҋ��/��%
���;��E7��ˎ�ƭ��g��)�Ƅ �
-S��e�6�#���Sc|�A�|g'Q��M�q��6���N�SA
�Irf�]�eш�H:���Q`�Ul'��ϭ(�DG���Į����T!9Ь�hLx���N0P+^��z׀�1lN8zX�j��(i��|�L@��5����	�9�kp�`*o�!��,�����!�yr�l�H�1����0G�﩮
ᔛ�7S�-�`���Y�	.X�'�j�W
��ʺκG�"��a�#�,Dk�o0�/����
���R$1�;��Z at n�v-���sQm�
%
�����>=IpLQ���'�H�ٖ����R2����
-B�=`Ne�3��<�� �@� �C�R�]\x�Oa�Q�o��#
"H�C��Wu�B>ܦ���P��v������>���Nr���XQP���lG�
b��55����=�փ��坧����fku����^�h
-��n<��e2�x<J�!�}U�h;��o���6�9K��!��V�f)S���3$Kc��$KyB`3�P��ũ�AC2vl�9�"ϳd,K�]�ڌ��EgLW�L
-1[�<�\�e��pCr�
���b�l=���p�m�s�<��( �X�l$݌�y���:!�
$�;��	.)�3��|����P
-^���2?i����XSt΄�[
-��é�5��g"��"��sw�����d�m*�8�ߌA��\�l��¾Ň��+
)�qU
�4N&hH�'c�SL!S�b:l8�EHu�(W,�@� M}F��-�����ߥ��
o`Z�=Y�I(T!N\�A��-=�.�n�z
i�ꮩ�ç��
�˼�&x�h��z�j�U��)J-��D�'#�HQ_�J\a�܍8���+!j� ��'�,Ƈ���Dg���q��X2x��`�@��ךF@~�4
����O��Q�W�n�8���U��
��_��W��2"'��{*�9C;�u��y�w`$��g�x{ң�]���H
�l$�/t�Dѡ�*:�F���Ͳ�F��ɘ�>�%�4w!��N���.�h��FA�
(��]+�/�Od2�!���̷ݦƯ
�5�
P��������z2ww�޺��pZ	Gz��dNa��!��D�$�&U��Y�1C1�r<��o��V�
��L�(>7?��b�0C�,����_v���Q�����QN�/��t����
;��~	 [...]
+x��YK�۸�ϯ�%)a�~L*�d���M��ؓ\�)��4��Z��F���F7 at R����R5S �F������

�y}�ׇ�����D���w2�IbOD��<��+����x��ެ=w�wU��f��<?�]�?�]m��;�߿��n��#w�]��=u�ʽ��^��u!�S
x�����/?�|�p����������ST7�q�
���"�R礩*'�hK���?o�����9�9�+9䪔,�+��j��(���;��:?A���К
U 5�{�����k"h������=�Ó�N�Ճ
+��wV���7�{M�uItF
�d��^��7���Q����t��#���rU���U=i �'H�1��,PT����Ƕm��_�\�02����x!�,I�rÐ������CG`/؎v��Fn�5- �N_�
����x��>tG�]��9W�J&���]��84esP�ѫ�N���W� ����C:
~�f��e��
�R
�+Σ������W�F]��Du�,�d+띪��OWMM-�:�
��
n��co	sjF��;�u�@3���nx`
+�d�h����0�-:�R��Г
+:�ö���D�r�\{�깐�քsV�ϱ
�!gn�����|�vY�Y��D��ᐷ`�g����9^��G��v<h��t�5C95�g<~�vͮ9nK�s����T��Cí����>��d	 ���ᕭ	��K�~B�!8�XK� �+�
��Žbշ�P\חL���Z��5HV���<��U4�O��G��ķr8�ZB�l�ެ��^�!�A�A �ܰ
�7^��8p
��
7_~�X��S
���7�\��=�1
%Q�5q��G8fT��6?07a���7��bdo�����u��p�]���*2IH��NL�`HC�R�h
 )ˊ�}�hft�����%�33%6�@o'����N�W��3�͝O�X<�@�砯 t��s�$�8�&����?;�;ֻ�d�JV[�u;:( lr�`���8dK�J�s�<�Z�6h�#f�?�Nm�J;r��a��`+6�GT&��m^�bAU�����*V�qN �7) �(���I�i���$L
�O��G&B73?/T��ӱ8��� �eÙ
>���`���~yY���+2�e,��+�
�o/%�Z��!���~(�;�c⼳���
Mmzמe�%�����jz
X%���o
~��#k-�� �(�Ml�!��8���7�X�M��[^D#c ���Ƹ�:tW�^�R��ܕ�灥A�y�r����

+AA8�B.,�vx�l�O�Ml/J
R{�BR�tA�v�9��A�v�@�Dر��MՂ�1�/�&���ɿ��4��Wf����}u��+νq�Ϧ�
�m�!v��j���M���4��;�Y
�ӓ*����a�cw��D�=����r¡-/,��� y�삻��]�}�.?��/C�s[�B

�(�˙�
%�	���ƒ8�{�%d�1Łҡ�D�}R;�c�9ɴ��y{a�1\�
��hZ��y
G+���C]�
��ѓ9Z�YF8�G��!s���N�sC�V`�
E�؁߀�eG�AMfj��Z1���+Ŧ6�y���k6Ӥc��� 	M읕�t�)�c��B�[�W
�>~��TD6��e 9���l�
Xġ�"6I�]�MH�3�3ϙܚ}��-.�����c�Иyt�ʫ��ig�'{���2(�5��$o
���0�W��#a at H
j|�K,�������
9EW#'H/r�β���܍���7�U����E�k����@ ��.�2F��YS�M
���qm�DA	�K�g������[��OBh��O��'��9���3-D���E3_G��(�g��w<I�*�rJ��ٕ4i���1�Y·MS���YӔ�m���	��͕~zn�
�H�n�yY4u3�͒��aY�B�PW"��ۛ	
A��P!�Ϯ����W
+�c��hJN�Y��x[�Jq�g��#��Pu/�����D��?S��{G��9p^�:;/������/r.�fٰ|���ҿ�'
1<�7�'|f�#ߖ�>�<�[ʮ�ڷSF/
�n���u�����/��u���d!�@�)�g
�����:٨���F�z.����U����L�{�x���� c���gB�@$�
3���H�D�2Ȗ_�#�aE�µn��o6\�.\ֿ���/	�e���w���Չ�Z�]�Pu,^���w��
8���>D���o�/�7&�4/��ɿ4�ǿ@��_Gъ��?���O~'0�}�p�m'��
��[�;z�����
����(��B}�z&=
C{ww:�D�
("�N��m˻�|<r�<0��$�ھj:���=�[����"4u
+endstream
 endobj
-6048 0 obj <<
+6002 0 obj <<
 /Type /Page
-/Contents 6049 0 R
-/Resources 6047 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 5811 0 R
-/Annots [ 6052 0 R 6053 0 R 6054 0 R 6055 0 R ]
+/Contents 6003 0 R
+/Resources 6001 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6006 0 R
+/Annots [ 5997 0 R 5998 0 R 5999 0 R 6000 0 R ]
 >> endobj
-6052 0 obj <<
+5997 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 677.9388 198.0735 688.8427]
+/Rect [177.82 677.939 198.074 688.843]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6053 0 obj <<
+5998 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9445 519.2353 182.8899 530.1392]
+/Rect [121.945 519.235 182.89 530.139]
 /Subtype /Link
 /A << /S /GoTo /D (main_sect_rational_grids) >>
 >> endobj
-6054 0 obj <<
+5999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.8188 408.2907 398.978 419.1946]
+/Rect [164.819 408.291 398.978 419.195]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Space_Dimensions) >>
 >> endobj
-6055 0 obj <<
+6000 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6050 0 obj <<
-/D [6048 0 R /XYZ 90 757.9346 null]
+6004 0 obj <<
+/D [6002 0 R /XYZ 90 757.935 null]
 >> endobj
-6051 0 obj <<
-/D [6048 0 R /XYZ 90 733.028 null]
+6005 0 obj <<
+/D [6002 0 R /XYZ 90 733.028 null]
 >> endobj
-6047 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F11 411 0 R /F25 344 0 R /F33 481 0 R /F7 526 0 R /F67 366 0 R >>
+6001 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6058 0 obj <<
-/Length 2246      
+6010 0 obj <<
+/Length 1954      
 /Filter /FlateDecode
 >>
 stream
-x��Y[��~�_���v���Nq�}h��il�SE6hlyF�-9��Y��
�$�b��EЇ~�D

��w)�`��D�D	�4�2Y�op���o��^��*&�����7R$iIer��
$A���o~\�(Y��x�aI�"���Ç%ŋjwz�7u������������,WT��׻�i���6��$]��:N���/�����}'��]0I�h?���N6�÷71���^0"Z�d�)
/���7���	�`����)a�J��гT�@��
-��%��f��j�1S���b�5ٻ����˝�t�&�)Fis���QM4�`�a��f$�6�k��V�]��b�R�OfH.���O>'
�ݦq3�~rN��u�7�����j�V�]QzfEi����H:��Ě��X?8�H��1�6Q�AP�!I�D�
�T���UD�xr�f�M����k~�B�T]���`!�'Iĉ14D��E��,����$b�׍�����YJ�S�����ט����W�UJ�\�X_w�<|<5m�_�$������j٭�\XjFE��u�	
��Ѯ�����}��1P�9
.�
�Sm� ώt�$X&$7:j�� �D"
�H��A$�{V5��?�����e��q��ћ�Q��Y�v�m�j��ioA�\m�.y��Y[�~�搯���0񶉣$saq���u�Y���O���1#ʹ�6b"�KȂ�
��Q34��1F��7�� � �$����`�8R)M�as�Af�(C�`~n9�ןL����",E2����գ��ۏ�]��(�cׅ� �6��]�
1���!�6J�i�`g#���}�L��

Y��
u�����a&�5��sY�H��L��n	5��M�>���M�X�,��Q�A [l,���A�K��gG��=
J�~��

��0�Q�f�-E<��'��u�uZ���K�"�
J
԰���B��!
-5m}\��
[
 ��hQ���?�]ўFX5���nk�����
-�G�)��b�
�֑�w��,�������5�ՠA��烍3����W[L~!�:���B�Y��-�L2���
iLu�����i!�g#���}�L�/�
Y��x���K[<J�t�����AtH�]V�C�_�y���C�{�-mLB��U6~��q�}esd�3�q	@��=L��2�#��T�+@���wY�09�.�;?��a��
�2O4e&#PfP68P���������5���K�	��Ԡmq8n76���3�‡u����p��C]dm�A=�
㫸j�����\SU��":jTjum���B�#�
�7���w��yI�jM܃-
�
�I��]5Pg��z�����O���K���#ڥZr
��4������-�j��
r�i��f��ƍ���L폍����͊�
gn�70f��9/��&o�u��N@=�-W����ejc���es�sG��"����jg���|v�~��O�o�
-K�5
�:߄Y;Z�	cZ7��LlF��E�{�ұ�3�8�f�8v�
��\���KѸ
�VU]�o�����-*�)��Y;.g�=tZ
iy�݈�η�3w��,�\ܿǘ� ��FGv}��<��q�q
���⣙�\[{�����������!��ئ�C,Ú�P�!�?B�Ls�(�I�Bcq� �`Mԕ
�_@�l�g0IƘԟ���8��+�v�Jí��� �$��6�+
'|��3�ᮆ�
, �N87c%���')	��>�.4l�� �#&V=��#��
d�=�ᛡ������o�)5��q?ql܂�р���⽒����*��"j'P�
�y�t�14@��0�n�7Q�|z
-�Lt�wߦ
���e�0�s�7N�5˳��t�-
�F��2[�̓��c��
��Lf�F�L7���
<��Gt�h��[����
��>a���R�+�M��Щ'��i�/E�!�2�e���J�	^d��T�sp1 k�u�S)���l�K�� 2���S.d`�,DL�`��`��`xd��45�+����s�ƚ
��Ue&>���[��$PJ�D��n�{� �l�;.nD
-�E����p�B5�$���{"!E���R�)ܿ�o���w/�^��K!��~��Gs�
�2���DŮ�Y1��>���4TQ������쿒��^�n�*Zjc�턯���mw��///h� �%���᰻
��L
ŕ��UG4�e`y�™RXƲl]����Í
�3ӢL�>P:#�/�
endstream
+x��YY��6~�_���r����A%�C[$Ҧ�&.�",��l
�%��������e����K ��p8�7C{K{�/~�^\�����4��7]x)�����o:�>�� J&����}!7��zB�_��l.��o������k��'����ZT��|�-29!�ϊY�bFb�ӏ�7/��.Ȃ=�����țm.>|��
��x��{{M��Bʠ]{�/����
����a
z	��Cs���b�]gF<��p
�^E���p���

E�Y=]��i�/���������R
������;��]��WfF��ѐ&�2��e1���.{�뼰��B	y����l4$(IC[��ΐ$^�҄qE� �F
C1��SC�;b�BzA���`v�ys0+RZq� �R�Q��נ����($
�GZ��\���	��LV�J-�z�h
G c�`��E�'B<I
�_9n��:�L��u���k9��(t��a�U&�
�{C��`�/L����x�37W$K�� φt���	�"�E�ȁ`�:|�
��[U�����_���R)�h��˨��k!�f��,7v���
+T�����u)�
�6�勃bbUӵ�0ݖyQ�OQXL�Sʭ?�ּ���k'P��s[qz�V��Ւ�
��G�b�
��]�	Q©�����MDJ	9g�A�H�Qa
�G<.��U�O��V}:g�7���bd at 9�	� ��$d$�)�$#���.Ψ�H5�uq��1nmH{�&����6֙r��k3�-lY�ŀ\���S�S�
+�؁�!��ĈxD���*
+��,�a
8
+9s��N0JSz�ǏA��G��:0^�x�">�䪖�Y��0�������a�f�vb�ׇAd�R�u*P��|E��������U��rE�-W�)!�u&�%�^�G�mtunˆ�R����Eu��s|���s<���,��ǰ��(�>��d&��4j��Qg1`t|��S
�}�
�� G1�50��b��#ð�`�g��n� � �	Kt@,� ��� P�{���\�c?n�½�<��C���e� ��V�C��E
�ph�ڰ�,���r+sQ;��'�����x9��z���e[Q�EO@ɞ�\��˷�ӿ�lK��D��و� j�E�@�03��{���M��X�}
��0g$��K�,U$ OuM
M���w�WMmvUmF�
�E^�
�&����*+��<�f2�3EuK��G� �ܟN�v/5��N
	V��ʌA;����C���ð.���~�:�3�D�%�����n��Ko0�����e�c�-�
[�f
��j��k����:K�V���� [...]
h��9L�./������/{�:�S����ԝ�w����,v�L�T{58qG�T=�5$�V@�>�7�F���
��6w`�� 	��n��9
+�
,l,�W�N����<|���g`�_*��]5l���2w�
G�5�͡v��4��-�؛"�@�|�&�K�'-�EĈ�4�xow��a���P
��H5�*��>BQ�ƃ+j��U���Sg������^
B�jС6��F��jsTڍH(Ho^
?
+�(��<
a����	�d7��1ݫ��y���O
���[
�ԗ~B�j[8�����v
j�Ps�i
T�[�Eq����G7n#��~E���:7��c�%(L�p�G���k
+G<j����o�Ľ��_e��Q�0;��@$������鈙8�<�C5f!|��S%�1�S e	�0�g�S�%V�?<P
8�*@)
+S�{h
���{�c�w�DȈ4�g�>`���N	?��
�_��_`dF� �]+ T�Kٮ�c�t�S��'�O�ȷ��(v�����S�D���Vf��

0�h�g�=�9�?���դ�Vh�!��������~�f$�J��W����8��\��P�"�)x��)e��0�*/���jW�
+endstream
 endobj
-6057 0 obj <<
+6009 0 obj <<
 /Type /Page
-/Contents 6058 0 R
-/Resources 6056 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6061 0 R
-/Annots [ 6060 0 R ]
+/Contents 6010 0 R
+/Resources 6008 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6006 0 R
+/Annots [ 6007 0 R ]
 >> endobj
-6060 0 obj <<
+6007 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6059 0 obj <<
-/D [6057 0 R /XYZ 90 757.9346 null]
+6011 0 obj <<
+/D [6009 0 R /XYZ 90 757.935 null]
 >> endobj
-6056 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F33 481 0 R /F7 526 0 R /F67 366 0 R /F11 411 0 R /F8 523 0 R /F25 344 0 R /F1 573 0 R >>
+6008 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F31 472 0 R /F7 505 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R /F23 340 0 R /F1 542 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6064 0 obj <<
-/Length 2658      
+6015 0 obj <<
+/Length 2434      
 /Filter /FlateDecode
 >>
 stream
-x��Z����~��UjN�}?l�C[�A�p��"�c+�*������pw�E�qS�Ep�񱳳��3�yPlA�-
]e�R/��Wtq���bax
��>�o�^�Y��#Ns���6
4#�3�����d�p�Z3J��݊�eR��w+N����!ݔ��wه2)�_����6�5Wt��]RU���t��+f�i~�'-�^r`���7WonZ��Jh�����ǟ�b{���Z<�%�9��_I.���ꇫ��|�@3aJ���-��b�p�&��"�Yڢ�p
-w�ڲ�P*��pM`c�QٛO���K���x��rb�>��[�c�	��!�	�qC	n
���b�+V\-���޿�+6a�z�C��8�
-7�v4�}����qO�	�ġ*8H�$��muH���M�O�
-�T�I��=��?һ�3�ā�Yn��'���&��������qg(kVe�pct��v������TQ��+���
�Z���$�ջ"�/Ѿ���������3���4\|�1ॴ��rF�3�;z���=�FY������n�GvY�V�O��(�2)��:2��}�K*O����5t|���-�	�����8g
�FM�|
���P��?��	=p ���䀽�a[�
�0�w������G�eZ=���s�[t��.S�.��3�c,���T�!R��%T;oh�)����(��i �>��<��3��*}��1+I �l�hI��,4� V�C͔�Ft,=��?%e�=0�H$�X7�م`Q�M/���r@wPWO.>q� �vr�1vD4WxR=��=�Ӏ�w���8|s��V��j��4�G�_�o��O��>�O'N�@��,�+m�v�]��}�\oɦp�_��7o����
L���ާyZ&u��n�
�,o`���Ӝ(G�
� ����!I����}_��g�q����?�ȝ�k�4�t?G|��-�k��2�����o>
 �`���
�
-#N�a�њL�c�YY�_0�S
���t�Բ��4�����A�|�~&d��h�!�VlY�q���ũ$L�� �&���G��7<��%�$ϓ
���/˧#`�;���r85
AOi�N�����lۭ���n��
3
�czҞX��Q��{��t�D�P%l�q6�KC��=���\\��\8�Ʌ�M`��
S3�B��H��l��x���&͒q*�4�C�VP�E�t�u\5��2�
79 
y��<���
4�Õ�@MΉ8��[��j�
�d/g
��Gg�2
��^�tԈ���x�[ġ
�����c�L�j��ix�Iw��]1b[f���E�i
@ �_V�J�1���;�\ز���N���h��Z����/XH��_�ʲY3�L���&�,lv�X��Ҁ4N�����#�p}�ŧ�;\S?���-��`�
x���+CS��1J)�o�2-p�7�r%���@��
����A-�Oj�R�-
AKf����SM��w@8�B
�v�1Dj+�J��-��4�R��JR:7�޴-�����N�"\2w6�����e�p�|&n�~~j�|A��{�� ���H>�����gOT�
"Y4�2���&��ɮ�M���
��*O*D�ε^OypZ�FGG�2
�
�J0

-��!
-wz�
��N�uHl����@�7	�݉#���m�X6K:1�x����c�	��8�;�
��qVCC�B����Ů}B��B,�8l
-��a#�E��(:�M�Z��|��1�x4A�Ur�� ،z4���*�΁����A#�k�[��0>�5A�(� ���0?B�v�A�|Z����狫��icKnzh�>�;
B��p06
e���?O���mw�߻�Դ���u��Ov���� W�m9��N��*F�q�ɞ����;{9`��Ԓ���N`��:O�9�_e�y7����9m��g��%����[������틻Oܺ�Y;�>��ԏt�'|����!!��}��I9���8
-"���F�
��Hu4o���>��:�H�

G���N5#S ���jF��ƥ꡻�K����P�f��
-�a�Y����›*�g�����c�)} �2� a1Zt�nk��k��O�,�U��b`-)�&!&�3
��|G at 1>�X�\
m:�]���Q�_��{Ŗ�ф?��8q��W�����j�F��c$�/�1���T��
����}\��9� �RԍJ�qW d��=��J��(�jq�Y�����
�t�җ~���d-�/[��3u7��v
]����c+N�T�e�u�D��P�ځ��S*��sW��v�\�
����T �
���4ia���_O|����Z�NAJ,����#�+$�S#��e
޹�/�-��2<�bn|�
#޻�t�
�G���ε1݆714�s�6A��i�ۅ36� �'��ƕu
�~��3���z[J f_\mC� %�:t�zƟ#��ڣ�)�����Q�< �/��\�#Am���}\%v_�zB

-�wx<���� �ï��ߪ���JA~��&�cӥ�{L
�5Wm� Qi�N��{~Hӱj��f�
-��\Ļo�}�ֽ���
��=?����OOO�"�yv(IV�8
v/�r	,�qs�n��dh^X
 Vԗ��]�2�-���Z��)Q�
v-Y
endstream
+x��ZKs����W�݄;��
��!Iɮ8V�b3��bA\,�d� �H��t��wIKv��������7K��$4���o�g�h��$�\'��$��ь(Β�u��1��r�(���KFY�ˮ�/9]T���|]gW��~|��ۺX/W\��߷Y����M^/�]��u��`z�9_�r����˳��1��&��
1B%׻������P"R��;�]"���6���_g4�A��Ǧ�R��	�����!��O;9"��o
�f��&+���/o��M��VK��Ey�?]W�0����`�6.�k�K���l��붨J��PC1R��vd��U�Ϯ�u���5WY��������s+��9Z
9�)�+���p�JXJ
w�Kj�J����@e�Fv�b�:��&(�uU��wx�H���y��`�
->��x��K� +Έ���Mp��@)��j�ޣSW~f[�y�_�x��O)�:�o#�&ۅ���4E�ǝ��@��MU�
-�)���ɮ��V�zQ��c����gl��� [...]
+eKGB�Sy4�6�"�7J�+a8Q�	2U�L�4�$�J�c�ݲ�
���e7���
��^�
+9�D��㹐����w�/:��0j�n�2���r�ݗ}U�.��H����]����MHb �>����� ){b�.~Da{�AIM(���|~Jn����{ڛy{.��Wo��o���r�"�cA�S.7	W��{vG��
�`��X1�
*���EW�h,��ҴY���|��~%��v�B,�YQ�I���Ω$Lv}�Ì�;����
f�d
��,��
+Q�����a�����|NqC8�3��
\���;�,�8����
�ku(�)����\�&�	S���QSb�
��5wrAB
˅�\8�* |�ػH
+
L at O�k���|Z����>ƥ�ӌA\eNXQ
��qo������uI0�}��'�f`K�ל�îjM*�<3l!�yE(O�]]��?;+�uejpv�~͈د����T�~B��rJ��Y�l�6c���U�uqs��W�=.�G�K���C�:r1\>c^P�t�{x� �Dw�c�	-�،��I��8�T��$�
y>(�bA��]NLC�I�4ڀ,�� I���# ��x"FQiˎ�;6N
�ۋdpP�QJ�xW�y�k�'�KI�c  r��8�p
+�
��.k}P�����JPc��\ڋ��
��m�F�\�{���8q!�)�6��, l���Mmއ
�۱CR���w& 0�
+M������
BȖf�u��y&|0�<�\S?z�&��
ɢ����q��'̶�gl܆3�)(T��ȉX�х�7s�
�>^�R� vF�l8��6
+�
�d�e-��Dc�s�Y=�WP����T=f�O��v;�bj6��Ca{.�.O�� ��|l�>�eE�q/Rh]x��v‡�X܇�ו�U��C=x�e�Ltk
_�S1�>`�Trl#L��ٌ�:�@>�a��
���w�3�{ ���±�!�
�R# ��X~a�>�g��z'D/��XE
�
V�q8@?B���*��X
ܝ�Ǫ|�ǯE�sk��H4����k�nF,D~��tL�F��f�=g�oz5"緖�����n�Y�7�
����#ܦ��[;��S����G�3��|.���j�姬���^��/=t
n5�b0u ]��`�:/�]Q�[��#��4VX\
 
S�Q�f�e�T�s��
��Vj at Y���_�V �b�	gX���b��~���k=��¤��H
��"m5�w�oZ��Ǫ�yGuT-%O���������� V���N�1
��X�:���\�f'�J�a 
-��
+�ʸj�*~�RͦR=Kd��b�Jӧ�)O�oYm���}�q�4#��m~ YCs9<��;u
+c�9��l�)F6?
%)��a~]��R(i��h:Niw%��T� ����ʎ*�G�w"�����% �ᶢ*��=T��7�LS�Tӡ����)��
95��z��~G�}��O�%hs{�{z�Ӓrb�;(
+Ys��}d0�,�`�
���oPaƇ&�s0+@끘�]-|�U����T�c
�I@�w���
��������{r�'�@̾0
���π�
���� �N�U��/8�_n@���`� ��� ��h(���0��?�ៈ���M^�i����񻬼s��5�U�e[
+�0Л�p����c�M�z�M��?�A{�9�QMz۶�W����!we��I�^��ۋC��saL~���vU��������n�e|
+endstream
 endobj
-6063 0 obj <<
+6014 0 obj <<
 /Type /Page
-/Contents 6064 0 R
-/Resources 6062 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6061 0 R
-/Annots [ 6066 0 R ]
+/Contents 6015 0 R
+/Resources 6013 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6006 0 R
+/Annots [ 6012 0 R ]
 >> endobj
-6066 0 obj <<
+6012 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6065 0 obj <<
-/D [6063 0 R /XYZ 90 757.9346 null]
+6016 0 obj <<
+/D [6014 0 R /XYZ 90 757.935 null]
 >> endobj
-6062 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F1 573 0 R /F8 523 0 R /F11 411 0 R /F7 526 0 R /F25 344 0 R /F33 481 0 R >>
+6013 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6069 0 obj <<
-/Length 2495      
+6020 0 obj <<
+/Length 2255      
 /Filter /FlateDecode
 >>
 stream
-x��ZY�۸~�_�����08	�N���Q�9�����Rq(��,E*$5�}@�"��l����F<@���C�d����x"�D1��$�\��
-
� ��
��C�77W�#1�Q
�hrs��$(�����)!��ٜ`��gO�j�,>�(����Z/�d���J��W�>T�r6�O�ϓ�����fDMu�j�)b$�RJg_o~�xw�)�t,"F�]|��'K�Ï�X���`D�N6�2�_\_���Ǿh��@6bA,�$LL$eG���h��n���.o�beoWݦ3�c=�bz?#b��'���U��^�Y�f�&U��:�wM�~a!���{B�(�G6a�y�=�"
-�d�ǬF�&Va��$�E��Qy�y(5
#����T���d�������	�H2JN��I
�R'f4xo�^Vޒ{���P����3���{���ƏI�%���_
ߍP�A�ݜ�U n�*'��vWD"*e�����g��l
A
~����6J��b���#�:��8qP�$��)��W�yil��{Z.��zm_�F��X�
���i����v
�26�D]�VzS��E�MR�Xf]�0�
џ0����
<�#�XA���@�����Y���]�*i�jq�T7zc����
��QVԺj��LYlˬh�X+N �!�h���e~߾�H*P4x�h����yrw��f
-QEg��7O[�'Pc��Y�M��}lΉ��j�I�u
�i�v��s�\/�uc�4��V/l�,���?
[�؀o��*t$HͰ�t/O=�Դn��B���c�L=c,�I�
-�P��*{
F��f� �3" !p[7}�[IH
-���{�.
�H!%����é8�T*���L�!u?s|lv�m��2�Y��L�`("�[
����`>�������
$�|���T��=c�(E��`�ݧ�f�
0�@3>E�SCbb�	�u���%`.&�za5��
+zf�D�}����l�b�OA�9��Xz�y4T�
s
�9��<��o��0��I��v����Q]�+SZ
�����'m����)yh	�
{
gEZ͘�j� }�Rp�C<��9�쌬��
*�ɮ)7I��~b�u��	��7 qx_$mH����]�+{��t�
n�9�Ӳ��AK.���}:!(�R�^�'8�
�$��Z0�qlҊ�b�+,����*۴��c
-a��~��IaIЭgG�M�%8����G[���{�<yf�Ѱ�,��9�9���|.���Yfwf8�A
���㌊K����LF��`T��1��=��y���rr�� �ɱ9�S�>�*��y}���T��!��� �����1a��\��E�!�p�����3��! ���@~���^���<��,�'Z�pBy�n3D�}b*��=�����aT��)
�6�Վ�g2��jD��0W�:��"�(v�A�i�6�1��[���|$6WP�U}��	ŽDk �(�l�In���"-�EW��������ea�@�C&H3��X�ǼZ��f�0�u�����tZ���Ȗz�-����l
"�C�º�\�
��v�bS4̉��w,��
����KV�m�X�k� U{8
-uu�{��]���DΤaz���W~B���m"꺛߃�M�K��ٟ����m��Z��{�FS�-
�pZ��o�*y[�:�-���
�&PH�P���� <�
;�;X�
˟Ʋ\!)�?r��P���K
�[`�c�0x�W����^�l��Q�U�_�b9�&Lo
-�q�x4�������ݧ�w#q��
6��з!�m�9+L���"�~4,4k���*����i.C�E�ۦ�]�/�
����׉���!���]f_0��In+S/�L��RD�{���񞮡�1�����2���6�'�@�^dt��Nl<�{�H _��iStRC
����
���A�Un}�:V�
P[���ĝ��u����7�����Mg.&��Fz(v��^,��޺
-���u��p݃�-���׽�b�Y�
X�!vE�G�s>�p5Ȼ�����nM>B�6G��D��R�βP�x����*��$�[�('2ll�^h1��N�E��(�ŪY/tUY~2H2
�s���P��$��r�I_��ueϴ�
-��a��s�:�7�~��c@�e�ƞ�S����/6�c��m��!w��u8H�n�Q�A���j:E at GcF{���
/b
b��bo��������}n0��c
#,;�MWcU�
-�a@
-0�9��L�jb���Z^������+�N�v[Kn�Y�"�~%֯�����L��,
��Hy�/*�F>t
�
-��~��`
��?��~�s�$1	3o�
�����
���Ǥ�u�io~�u���Sg��%�.q߲M����
Tm��u���i���D�
d��2�W��0F���~��y͞�M�}uu�����l+�5W�m~u�3���Q����@����"i�.���#צ���Gx�iO�2��aD��/w3endstream
+x��Y˖۸��Wp5���;����L
�q�����aSh��TH���ק���՞,�A
+�[�J8X8x�����]����� �A
�)	���	!���`�'�O�f��?L)���~%M6�{��d��ի�M���(ǓˬmM�x͔$Q�F��&������n��sE�
=7�Q�x���>}����
`��$��^� �
�epw��+�_ǽu
Ĕ!
q��ƦF��R���.;�
k��R>y�>��<z���\�vYTv�M�de)Js'k{��`y7���D1Ga���ښg��3;A$	]��h�v�[�`�f�Q�"
�'���l�)�}��{�I	�q�<��G�Ԣ�ƭ��x�xg�Y��Eo[qX�n<)/fM�=��}�Y�[b�Ƙh�!�� �bcЯv��,
~��9��C^��`�Y
+N
���T_��
,~f��Ժ��Y�X�e���u ��}ٮ̫v���������eQW�
���i�0fn����ļ�d��/���Z��
�����\���J)�
�̧*l��E%�L���n�J�6.\���-F�-*�V4R9X�|S���a
���
��е{�G�&DqB���g3џ�eo���Dy|�(_�Q�����K>V8!H�H� ��,Cm�%�^u{�A�c���	i>���A���.�p�u��vj�S|=�������{�X2ie�BUw�PUK�c�	�:�BB,�[�a�>�9A!���8J�D�1��c���QB �^?���&(�����x���cf22@�҄\: ��h�3}� B6f�[E0���c�E !\����uv(�<���Σ��d�vPDB�L�xlV�H��f�#�� �{����(-6:���Y�ǃ�1ZD4$��\����m��%{5ci�8X0��-���=3��>t|�`�Y����(��Q��$Ϧv�q[���JT���D�
Of�&
�

+[L=E$�.T�*o�,��DB��������p�P1��|pO '�/���י,r7�J��5
+'ځ��r���J�h�=Jј���}�ٔ0�Vy�@'p�rA_�9EQ}�쇐�._�7F��!VES>�V&Yۈ\:�M@�v�)��
+�2�ʃKb
di�v�A��� 82�^�O�.�%yQ&�ȝ:Y��rџ���(
� p� ����� <vR�����쒳B�r�%���[��o��l��_l*}I��b�$��	� �VA'���|xkvӴ]���c�)J�X|Y��~ڏ;��_�>?O��>.�p�M��4�D��G98�r��#�����V�<N?Q���C��/J`�
��f����,�}j��n�l*e�+Fa[�'�$��V��~<X��QG AB�ډ�n��1�I'>z��a&��bYTYi
+$�rx�1��e�C�t�ٚ�u��$P?�"Y�p���w*p�j���ә$�H�dH'U-M�X������JnAv��.rWhV͕m��鑪
!����i��FU�D��~���l
+d��Z�:��j;�M�����	��G��
1�%�$��"]&C��~�d�ͥ���������j\m at 12

SoX�
+������:���~cA�z!���j�>†��怩��x�d��q��9u\zm0�9
$&o�Ҕ&����I��
+T�H��VT��)a�8���N`C;���O��~��
)�Qr ���> �N��JU
��~�g�-�˘��TT�.bQ�7ۢ\�^Nt([�2���쫅$���1��Q\!
��"F)
���D��'�y)+0��qz
+]�ʓ1G4�0���`��x�g��z�0�K�U^�#��r��}��f���
��]{�E�����b

)l[=~�ʌ�n�N�����i��?(� ��y$� B�B!u%�\li��:s+��JQ-�j.��h�9$�=$4�Da�p48���T��P�_x���0�9@�B,�5�u�\��kW��G]=Tu��J��?��xNs
���a{(�ϕ��[��e�U�t5]���1��̎@���J
�
/#=���6���
bK��Y
+�v�ʍ�׾
dۥ�K��B�y���p��>�#/�e!�#�=��t��o�|���Tr
�v��a�o�C�Cp>\�p-{�en-���/pp��]�?�j�����
)u
�2b�i�������v�fy���7sZ?M1�#�Z�J�ͫ���n��nTțͦ�9��(�,ة��#�u����p�s��M�/V�{
+endstream
 endobj
-6068 0 obj <<
+6019 0 obj <<
 /Type /Page
-/Contents 6069 0 R
-/Resources 6067 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6061 0 R
-/Annots [ 6074 0 R ]
+/Contents 6020 0 R
+/Resources 6018 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6006 0 R
+/Annots [ 6017 0 R ]
 >> endobj
-6074 0 obj <<
+6017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6070 0 obj <<
-/D [6068 0 R /XYZ 90 757.9346 null]
+6021 0 obj <<
+/D [6019 0 R /XYZ 90 757.935 null]
 >> endobj
-6071 0 obj <<
-/D [6068 0 R /XYZ 90 352.7624 null]
+6022 0 obj <<
+/D [6019 0 R /XYZ 90 352.762 null]
 >> endobj
-5646 0 obj <<
-/D [6068 0 R /XYZ 90 330.4506 null]
+5599 0 obj <<
+/D [6019 0 R /XYZ 90 330.451 null]
 >> endobj
-6072 0 obj <<
-/D [6068 0 R /XYZ 90 330.4506 null]
+6023 0 obj <<
+/D [6019 0 R /XYZ 90 330.451 null]
 >> endobj
-5647 0 obj <<
-/D [6068 0 R /XYZ 90 166.6489 null]
+5600 0 obj <<
+/D [6019 0 R /XYZ 90 166.649 null]
 >> endobj
-6073 0 obj <<
-/D [6068 0 R /XYZ 90 152.1129 null]
+6024 0 obj <<
+/D [6019 0 R /XYZ 90 152.113 null]
 >> endobj
-6067 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R /F1 573 0 R /F8 523 0 R /F7 526 0 R /F25 344 0 R /F33 481 0 R /F74 478 0 R /F97 1822 0 R >>
+6018 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R /F1 542 0 R /F8 504 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F72 471 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6077 0 obj <<
-/Length 1720      
+6028 0 obj <<
+/Length 1229      
 /Filter /FlateDecode
 >>
 stream
-x��Yێ�6}�W�����ˋx۷&H��-�6ۧ$X(2�jK�,w��ТdQ�e{M���2�
�ΙY�1�d��Xr�4��8Y��x	�_��{=��������ς�5҂���Ⰲ �SB�w��B%��O�N	���:�;�x���f^���������޾*��tF9��X��mu��Y�bJ��d���#bB)�~�{3zy׀s�9�B�<z��簇7#��V|�7��x=�(�oV�w�ߛu��B!�(l_W)�H�Jq���-�!����4˜ɱ����!d.L�ڔ���v�I0E�Q:n/]�i��H�l!!X"I?�j�$�m�=�H�ah��U�-�m��#-#廽{0����4��:_T�'y�,v6\����i�f�꾬�^B:�.��!8�d� }m���	�����_~I̦L��$u$��u$�"L]cfal�����d����E^��H��Dc���(����ȧ�O
���taQ@��#�����O���~��M��!��=O
-��ʙ�)����o;��/�z�'^�* ���&N�a�
9pm�g��j&! L!!�8�5��)mu��BN>`�_4�|��%�}�C��1/��ڝ�V����
�QM�z&�de�_g�]Xx�
Q,,�i�+���zp�0�"�	
-
)Jj��i�J3�1@%SD�S�2$h���w�&3>
�g�ea�8�9��E��@. at r�"��,�I�S�e7�B���jL�N��N"y��bÅ�mu�q.�Ҙ_�#$`�����QcvNG�ԑ�۰�xn+z�:��_���x��T�‹JGf
���6��x�-�]R�j%g_����
��Pw�M�Wo>�2a3=��$U4BXB���:R�2��6�N���I�>�����E
�3��O�L
�W�(�u<��OV�I�&P���\�j����4.M}Swn��=Z��s>s�*��Zq�ۓ4RET�9�m���	b*�w
-!���P��o̮�#q�z �����t
-TD�Nᐧ��C��iV6M,�4��Y
�$�3(D5��5zn�lVi��AEg�A>P����MO�
��BEw��o�9�H����0
�����$E�+q��� 
�
�p�h̎��y'v������׎�;����
���7�!#�L����V�A�S-��܇�1�Eq��ڬ)�i6����x����b���/{�4�1N�pD�>�P�
�=0����
)�l�-v��N/� ��%,�������x��p�	�E�DLK~�k�
�Ԙ]��� U����;Te�2�*K����+Œ��;H1՗K��ߥ�h~�]���ɓ����;+OY��\��Wq"1�2��:ж:�D�Tj��q��� 
�
�p�i�����*��Vq��WUq�
��rk������O���u9�g��X~�c82�m8`
����C��ٱ|�o=��܆�r��70��@w�8s>[V��3�X^ܧ��1�Eq����i}�`D�}ZL�O��|�}��;��g�j����&mAӣu�[�6�o�C��h�5�u(�2�ɿ�
~�
-���h" 
�/��6O��ڝۦ���]au�Z���ϭ)~�r>q1�-� I�k�*�m��o���m���1��P����W� Uo��W�
��|0k}Q�<��mo]�燲����<>>�d�vY�)PZ�l6��..fkk$�q�ƨ�ŋ<�T��D
�E�d`��>��p
���5- �l&�endstream
+x��X[o�6~����*5͋HI~[��h���=���ȴ#L������H�dKQ\7i�͓)��}��������w�7���\0'D��™��;� �S�̗ΕK�d<!c�bL��,Z\�)v�tw+�*Z��ܨH�f�w*Y�'�c�,���,��+��$pe
K8I0"\J�������|�yD���6��ϸg��k�,��#�]�+s<��7u.G���?O"�=ǧᙘl
Q&�T�v���<�ǐ �8t&�95��������+TPxRo��J��rWj��u�2�q��նʏ��R~˜�I�6׺y{
F=��x'L��'΄R$Ba�����F'E����-���^�f����v!�*Ա�}����CWŘr�.71$��]��ЦG�y%�f�e�ɼ��6�;(�ނ
�B�rY��E�I�����8"-J�Mۍ�5d��$�Ҫ%�n�������h��
���9>kK���Ȩ
�b�蔅1�BX��z���O��5xFC
+-��T.�盭
8y�<�(Pr%��Yn�l7`�a�y��A��z�Am���i���JN��T�`�G��}�MҦ��
���Rɸ*8��6HtRsյ�:�懽e��J��>���ҵ�n�=t�x�bBÚ��߇�ؓ���d����L:LL�a�	��}��͑�&�V�Xo�9!�ݙ�7�u��=&na7U�U�c�\7�.�m��!�=�?�ƑG[����~�<j�h
+��(�I
d�k���XTP�:��l��X����RE�R+�b��P�q$qփ�s4@�h�W4�{�P��P�\��5��\�r@��!�M#Cj ��S������ߤI��A�f��sBC���q���M��݉Lm��w���_0�q��ĝ�:R6�|�H	CA����p�L��/Q�,�Zo�V�XB#�R9��C=@���R7�
�=�� �O򲁡��� �nɏ�e!b^W�^hvO��K��)4�����
+9d�ne�Sk5h��I�6��"��6?a����f�aJ�C�矖����@�؎����s�v�snd��M�5�����5���&DCS�����v�W��gT�6���O%!���=���w�����-����I����RJ{�H���zi.�*�z5�ܵ�~�r��YW���:
+h�em
�?�(IX%N��.������v��o��6{�)��S�֛�tzww��m�d�P���M:}��)��S�&�¶|V(��nf�
*�?���
+endstream
 endobj
-6076 0 obj <<
+6027 0 obj <<
 /Type /Page
-/Contents 6077 0 R
-/Resources 6075 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6061 0 R
-/Annots [ 6082 0 R ]
+/Contents 6028 0 R
+/Resources 6026 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6006 0 R
+/Annots [ 6025 0 R ]
 >> endobj
-6082 0 obj <<
+6025 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6078 0 obj <<
-/D [6076 0 R /XYZ 90 757.9346 null]
+6029 0 obj <<
+/D [6027 0 R /XYZ 90 757.935 null]
 >> endobj
-5648 0 obj <<
-/D [6076 0 R /XYZ 90 656.2957 null]
+5601 0 obj <<
+/D [6027 0 R /XYZ 90 656.296 null]
 >> endobj
-6079 0 obj <<
-/D [6076 0 R /XYZ 90 642.2571 null]
+6030 0 obj <<
+/D [6027 0 R /XYZ 90 642.257 null]
 >> endobj
-5649 0 obj <<
-/D [6076 0 R /XYZ 90 472.2638 null]
+5602 0 obj <<
+/D [6027 0 R /XYZ 90 472.264 null]
 >> endobj
-6080 0 obj <<
-/D [6076 0 R /XYZ 90 458.2252 null]
+6031 0 obj <<
+/D [6027 0 R /XYZ 90 458.225 null]
 >> endobj
-5650 0 obj <<
-/D [6076 0 R /XYZ 90 288.232 null]
+5603 0 obj <<
+/D [6027 0 R /XYZ 90 288.232 null]
 >> endobj
-6081 0 obj <<
-/D [6076 0 R /XYZ 90 274.1934 null]
+6032 0 obj <<
+/D [6027 0 R /XYZ 90 274.193 null]
 >> endobj
-5651 0 obj <<
-/D [6076 0 R /XYZ 90 89.4414 null]
+5604 0 obj <<
+/D [6027 0 R /XYZ 90 89.441 null]
 >> endobj
-6075 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R >>
+6026 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6085 0 obj <<
-/Length 1957      
+6036 0 obj <<
+/Length 1536      
 /Filter /FlateDecode
 >>
 stream
-x��Y[o�6}���S�j�wJ��:�� �Nw\��t`(6c
�%W������Dʺ�J2��"����w=�����x��B1�r�>L�t
��M������6��rr��Œ���ZA$(�����D�|A0Ƴ�s�gIqHV�����y�7E��.�+����ջ"��T�ٛ}R����.�$��l�a%Ɉ�Q�矖�L�.r��`�XjL>~��
��	F,���N0"qL��	�̟�'&?5��7�B.�=��!,�� Q$_��
dz߰��<+�|��y{c�Ng�HL^�>�K�5�
땛�cբ�"���l��V۲Fv�3�8���*q��r
Nb$#*�
�X,���l�f�K���q��S�^@���CD!I9�
|}J�����
~Y����9Ͷ
H�6m����c��;�D�@��r��O��N�q<���d�7�Age�g]�
���&��Y	�I���QD$&�
�E5̳(F3XK`H0Z'�K�䠍.�W}�S�%A"
zȤ�b+��U�����"
�q'4���N:
!BI�v�`�4��B�ØfM��v~\
��$��FC�F�������q��2m$|!�#�����Y��&�fs�g&{h9I�=A
��8B���Q�4�!�N<)fB)�d��"�S1{p����9qN��,7��>
͹>������Y�?�ifJt=

-#IDxd��Ђ���Ú0�u�5��.
-�/}*�$��'HxԐD��"���.������S�$�p=>��a���20 �DI?��$���{�!yL'�d��������mA��%
-
 <�P�٬>g63«�|e 3�Qp s��1w;��E���v�JJh}^���6;�L`��X��dޜ�sh�c�9�wt��B�m��=�CS�z�j���B�m�aO���QA����F]
"$��/��!#}i�$ܗ�%m;�	4l������j��z�g�9ס@���g�&1ɢ4�imN�.}���A�s�7 ����s4�%P�KI�zbp�ac�N�w
3PK"~®
���W��X��WΝ���ɶ��dm�5t󳯿{���
�41�{���<s����sqG�����1��!T�LI;
�xy�Q�˓��1�l�2>��p���)�Q�\�ۀLX�u���+7P,�K=�O`6{�r'�(���r���+��)7ȡ��6�jB�|9b1#��?6 |<�r˜�:�
ܸ��fƾ�R�f�>�>F�K�����y��HcZ
-��?�G���c�
D�#��i���f�J>-��.U�ec�8O�HEOl��sCR*����˭���J
E���
�79D\?�漪�ׇL�bƛW_���	.��
��@��L���������������r��5$�F�~��~�+�����^��1��Z�o���:�]�8"�#闀����3����-��2ՆV� ���^7�����C^:�dXZ��]b<����ѭ�[�w
�U5a��%Bu]"P& u^��C�G�ӀGx:5�^�u(P
-j�z�
jh�'����tM7"
"�e5����/��{J[w��>�)&�z��{�6l�
6l&
��,��8nݣ�ֻ.�#ҵ�l�qR}
q��#��m�~�&���9�΍�S鑍�:�d��C
-��ik��j��]K1�Z>~�
-Ђ���F]/� E��|��	��E8�
�e�n�i7 �v
mi���5�������j��N
R��ۢn����]�O
b�~vag�]�����~�nÌ3'Cl�`��dH[�>���`ua`L���՗��s�� �q��ԣU��$:}�u�Ux��K�������R��
1sE�}��|�Y���]
-fE�j
-�b+'���Z�]CEX�uP}���?�����E뉺 Uk��u�w�
_��<<<�u�NYz,Pjn���M����Ag�nр\:�g��TLx�˽=w�������CbB)T}�R�
x�u�endstream
+x��X[o�6~����&3CR$%ۀ�h�t햭
��-
Efla�M����P"eIV�d���$Z>�ߡ��q��j�l9�x)<'D���Y�:!v|A��Y��.!����`���9�nTe��zN�[���\W��MrSE����U���
ʱ�<��]�.oe5'�+�X�I�#¥��?-_�^,g�؂
���>�=�����'���k#/
��F*s��:�f���Y?����=?E�)�X�D�1�q��j��a��c�J沊TQ��
j%�V����ː����(`lcMs�jS���=��A+1B����H�Y�_!7>~H�4��w`X(�e�ĉ���縷�F	�ڍ�vI�6������]�E��uH��@�6>�uq{�fV665�t*��˭
�H�e�PV�.��,�I&�:)��N���7�Q�U�(�
��P8 �
[�LiD�T��/ۏ�
�K��<
��4ǽ}�<0�l���LF�������1ͻ��~@���CD�?t��>����>���X~���I�9���(���� [...]

���
�+z��S0��J����d�S.}��'��y�&

+������{eø�T��U��ծ��mU
_r�dۯ��
�#HaX���>�uE~_T�Y�k���
ͮV}��Wr�*�p�Hn5���L�DJZ�-��yu[�ȭV��R�6n���?��'�
������������������ B��2��x���'T�}�u������4�W��7+��ө�1⬻M�8q>�`,�ObjmC�ZDY�>+�VP���97�f\勆���E0$����.
��8,L� �w7�ֵ�:�����L�!��
H��'�j/§�C����݆	L _t*~�� j�C�_ޯ�����͋?��阮 �����F�G\,
ַu>�
�Y
�Y@��f$n��pa}�
�=V�Q~)+`���Q~6����2���x��Ru�m�'+j#T3'��}j)ki��ֲw���W���� �~�)�W���B!��8��h;�@jM��h^�ùE=0�����3l�{/�!����,5_�
O�3��Ee� �G�n
+���!�]m%;V-;�"K ��|��l�H�*�{>�‡5k��e������N�L'
�ژ����^���)b'@��� v?�'����:��ޑ�����;�(Xf�Es�'F_��T�Ee��R($�c?Q6�&�'�B����$�u6�k��^�Ӓo��0p��ZV��9wM����-4�ȟ�Q���
#�3�I<�����NJ�i��_�]�<k�u4�b8�c��R������
�k�˓�B��(��ⴢ���K��n��/�N��Jx�Ej*	� ���U
+endstream
 endobj
-6084 0 obj <<
+6035 0 obj <<
 /Type /Page
-/Contents 6085 0 R
-/Resources 6083 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6061 0 R
-/Annots [ 6090 0 R ]
+/Contents 6036 0 R
+/Resources 6034 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6006 0 R
+/Annots [ 6033 0 R ]
 >> endobj
-6090 0 obj <<
+6033 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6086 0 obj <<
-/D [6084 0 R /XYZ 90 757.9346 null]
+6037 0 obj <<
+/D [6035 0 R /XYZ 90 757.935 null]
 >> endobj
-6087 0 obj <<
-/D [6084 0 R /XYZ 90 733.028 null]
+6038 0 obj <<
+/D [6035 0 R /XYZ 90 733.028 null]
 >> endobj
-5652 0 obj <<
-/D [6084 0 R /XYZ 90 558.4961 null]
+5605 0 obj <<
+/D [6035 0 R /XYZ 90 558.496 null]
 >> endobj
-6088 0 obj <<
-/D [6084 0 R /XYZ 90 543.9258 null]
+6039 0 obj <<
+/D [6035 0 R /XYZ 90 543.926 null]
 >> endobj
-5653 0 obj <<
-/D [6084 0 R /XYZ 90 347.9487 null]
+5606 0 obj <<
+/D [6035 0 R /XYZ 90 347.949 null]
 >> endobj
-6089 0 obj <<
-/D [6084 0 R /XYZ 90 333.3784 null]
+6040 0 obj <<
+/D [6035 0 R /XYZ 90 333.378 null]
 >> endobj
-5654 0 obj <<
-/D [6084 0 R /XYZ 90 133.5459 null]
+5607 0 obj <<
+/D [6035 0 R /XYZ 90 133.546 null]
 >> endobj
-6083 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R >>
+6034 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6093 0 obj <<
-/Length 2294      
+6044 0 obj <<
+/Length 1919      
 /Filter /FlateDecode
 >>
 stream
-x��Z��6���?]m���-1� �4)��#wqqW��B+km���Hrv����HʢD+�\�a����p8��%3
d��,R��Y��³

{E���}�����R�R����� 	���j�nN�d�$������'7o����6[W���m�T�Ϟ}[��Œ
-<�K��4���eՂ��H3�$�sJ������W�N9��`�h�>\�{�gk���W1��=t0"J����S�:���W�����vA���Kl@�R��
E�ڡ���]�dzׯ	�-�9HfZ�^�C�1�P���4���H�`�%�P��-��
	F�8����
���8-��1��ܼ�&���(�(R�O��S%��%'�8�-��J2�+ʔ�'C�"�"����� �2_/��e	��=���q�1�X��îK�	�&�Q��x���Y��?�z��������߭~
������
ΆX��bJ�����./2؝��e�]���{�Nо��B��#$)
�f����6V���<6�q�Qܖ�b�����nA�
"�D����!� ��Zm5I�	�j�۬ʛڌ7-
ׇ$���|�u^f�U�O�⛷�
���}�V3�6��/kKt��4��]�R&��4�
�Y���aϕ[e�-�&�RD�#��
ѲO5NM�B3��!�kV�G����
�LQ�(	*0R��
k2?�d���Szҵ@I��~G5���0�Y)"�K5��7�*�󬳢ɋ�i
�ɹ��:�����7!�Bg�p�܉j�p�j�d<��+��hG4�[OHh�����.��2�9B�٨w3��(�̚-�Mv�bx�7�c�(��� ��(�y�3}���v�R��F����IMGM��|Ԉ��Ѹ����4;4�W&"&$|��GZ��#�j�
��]Vl��MVUe5R&�A�8��DG5V�w�p���Wb��J���u����̷=�S>�f?�6JG�0g_X�;$d�!�2S�z���C�?�M'�팢��Ɗ-۬����X2岳qu�5
-��%S`) CN��� �)ĢIl��x��8�¸/B��h
-�i�"�9�O
�?����i�l�"��X
)�䀂<
��aJ�46䝶�
C�(2
tO
����±(��B��Q��\�u���BD������c�4DH.A��鈐
�RҒ*$"@ӟ�
�w
t
-T�1�V*nC�]pC��u��
-�oK�=�z����\8y܃���z���B:�BoE

����mB�)�o6r�����W<��9���C
-LT��&�ב���lj<���wTc��H��@�j�<�,pd\|9���c�lʖ��B�8-��#�a��I����aD� ��
��`b�0��ǐ��jq��
����%N�q�D>zJ|a��*��)|$_>�ov�C���sF?�p���r�Z��!dFCꐻ�Z�CH'�;����48�H`�7�i�n�M��y�r��? D��� ��H�l�>��!�n
�A|�
\`�f�;�>��m����k�R
���/'��m��̴ԑ�Q��p�uP���2��23�&r�N�x�5�ߪ���!��\R�͘���t����]i'�$ݚV� �1
����
-���i�:-�|�Y%�j��ӌ�@(B�0�ߥ�^IJ�
-�]����j�vv��N	�"L�;$��`�7N�ܤ
����5S�Pm�,v���,2��X�$�Ԥ��(�!꒟gtaO� �pn��Ƃ�Se�D��
��LsHe롢�gQ�,�n�t���t�⤡�
-J�ā�ݦ�!Z��C���b0r��[g��@�|ƌoB��NH�k�}8:����TD�
-m����i!Gu���5���G���(O�@�AB� dp =�괢o
�>���v�P
qS�kw
K�=�^e���
]|��q�8�W
"�n&
�R�
�M�p�������nRNg"�n��ny� �.3��#!
-��z��S�ǎ�E(f\<�"R`?�4	�ǎlP�=(��SO۠��
���ﺊ��W�l{�f�W�?��.f 6>��ߣ�����'�� 
մPK3�9 ���8f�����[�� �Ʒ�>���H΄�r�b��6��X�c�$P�RHl�����3��X�v
J)��k~�/
2++�J�/,���;%<�z��IZ�u��t-�5�_��jƚ�Ǥ8�����.viT��D�6ˆ��E8"�o 3��̵�~�g�`�[a�I��툯��iϮ����QZ#8�C����p�]�b:o�HM
ܲ#��Y���?�t�sn��+�+&%��>�����P�?�I�Wendstream
+x��Y�o�6��B�6�R"));�&=��]���V���Ȍ-T���I��=^:
�Ͳt�}�H���ݿG;k;�''���3�9!
+�˝ťb��1�8���nJr�lN0�ӳ�Ө̢�����"�وU-_&eT�
?/��l�2<=M�����ĥ(g$��<��{�O]��>,^L�.&�&d�Qg3�
s�l��vV�����
�JQeu=x�����	>���!�YO���R�l�F��R
=#��5�p�<Cm�^S
���4���V�Q�y����!
:�G�BX�;��Z[
�
3
yU��ɓ��&ڎ��R���
Rn(˘>sJ
+�����!c�r��R�h��
)���b5�C�Zo<��x� �뤾Y�H��8�(��FN�6�M~0f��V�ǿ�]��~u���?-ގ�
<�n��9d�%�.p]K�.��$�
���6M����1�7����xN|�]���4I�2	�ǺMƢ���r at qQ4�J���r�)��NQ������ �>��y��$~{ �I�eRWz�V�\m��Ю�L�UR����Oz��
饅]���jշN�='+*C�-E�Tf��P�Qm%��f%z
���HV���d�ˎ�!!8 �

�A�B
�EY
�wl�� �pt�0s���1�=�(�m�jK��@^=(�y��k�R[�.��x߼i��@ع9{�ұ��'4
��X'tb�T�º��0�i�$�(�7�v4��u����,�ƒn�b�E�D��k9g�M���M���0U]�8�y%���Xlk��۰
������|]o��,���|�\��V2E�d�0�K�4F�R
��Tc*�F���Q����Xc
hi��B�"�;9������$JS-���m��*��.�(�&ViǍ}@f4RN�^��i �qa��	������= �z{ �G�x]J��
Щ��]��:��u�G��؏p��
��^��wH���A>�H����b�	��R�p���}����
ԃ����0���a�b�`���=(������^(�������N��2�F=d�IzX�i
�~���:
���N�;��sJiw^��W;�
��R��

+�G0��}0�k�/b
�uJ��~^p
����-�n��������������W��պ�
a�)�����=��WR��1�u=��U𢐇]��V�n��/��S���̞��,��b�Y� ,��ek��!�
u��ɲ1,��e����Q�$
E�s�^�9h?2�'���Y�q��/���ą̂��G��ީ�`+���6��m���z��z%j=W"³�nE��E�J��,+����(���¼Q�ѣ�* {8����a�_Jj��Z)�$F�",���
HD���l���w\�`�j����oށ��K����!*;ǎ���.9Zz
<�_]����7��ȅ��䦀��ؽVF�4Q[�Fg�
@
�
6�B $�����A���UU�	�ծ�{�]h%��sn���NB=Ur�Z�RS�c�bj�0۱�\mL0�H
�66aM�&
��i���O��:��w bvHc��lL
%�5-���`�0�L����#�q ���A�d�=���L[N��䷬04I/�R�XlfJq�[3j�D�2�V��S86im{�|'qzY���w]c��
+��X5�y�ӞD�B�� �G6[ ��`�����!��&;�ᷚ콥�!:��w�Z��g�O�i����m����/j�%Zeʢ�
+ҭ��V-G��uaJlu����2�0�����ܙv����K��?s@!ٔ�%C������_ΤGde����S�M�ɛJ��Π��^Eyco�����.Fгp,�dkb2�\��V�cG?OT��	�bه��˦���GGWWW(�Xm[��>�nӣ۾������ͥuDW"���ڶ�}'�	�j'5
+endstream
 endobj
-6092 0 obj <<
+6043 0 obj <<
 /Type /Page
-/Contents 6093 0 R
-/Resources 6091 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6061 0 R
-/Annots [ 6098 0 R ]
+/Contents 6044 0 R
+/Resources 6042 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6049 0 R
+/Annots [ 6041 0 R ]
 >> endobj
-6098 0 obj <<
+6041 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6094 0 obj <<
-/D [6092 0 R /XYZ 90 757.9346 null]
+6045 0 obj <<
+/D [6043 0 R /XYZ 90 757.935 null]
 >> endobj
-6095 0 obj <<
-/D [6092 0 R /XYZ 90 733.028 null]
+6046 0 obj <<
+/D [6043 0 R /XYZ 90 733.028 null]
 >> endobj
-5655 0 obj <<
-/D [6092 0 R /XYZ 90 538.7003 null]
+5608 0 obj <<
+/D [6043 0 R /XYZ 90 538.7 null]
 >> endobj
-6096 0 obj <<
-/D [6092 0 R /XYZ 90 524.13 null]
+6047 0 obj <<
+/D [6043 0 R /XYZ 90 524.13 null]
 >> endobj
-5656 0 obj <<
-/D [6092 0 R /XYZ 90 308.2277 null]
+5609 0 obj <<
+/D [6043 0 R /XYZ 90 308.228 null]
 >> endobj
-6097 0 obj <<
-/D [6092 0 R /XYZ 90 293.6574 null]
+6048 0 obj <<
+/D [6043 0 R /XYZ 90 293.657 null]
 >> endobj
-6091 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+6042 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6101 0 obj <<
-/Length 2708      
+6054 0 obj <<
+/Length 2360      
 /Filter /FlateDecode
 >>
 stream
-x��Z[�۸~�_᧭
�
��؇&H��v��)�E6hlz,Ė�������P$u�i��.��(�`(�<<��|$Ef����3%Ҍ��rw�g����
��~1xuw���R�4Ғ��ݺ
A$(������D�|A0�ɻ9�IV��ws��r��1�*��?TY�|{�M���
*p�z�յk�h֦��41���H��P*�ys�)�uL�گ7�?��
-���
FL�b���lw�)
ۛ�n�֍�^�?���SX~J�l!RT�T*&�ka�(�V�Z�F35ST"XXښ����7yYԷ�k$�"�(�
�
��(�I�j��@
�R��~T�Fݬno��xl6�����D���iU�W"H�*!�P��"�1+q���9�S1_0A�|m�����Qﳥq}�|g���ޔk�0|�TN���nv����B	�
��d̜�\bV���͒]�9�
v�7�n��f��v�Q�la��-(Q�S�Y�B�
�j��ޖ`CF����Pl�˝X�弘s�|ʶ��>�
�Ps��N�����Se�&�
I�2Co���c.2���1�4^^�E��Ǔ��}vM�/��c����ro���X�ȹ�(�8��:  х����~�5�i٢ױ�D���� 
�:�Wգ��qh� �� �8'�Z�^9��H�\�#�=�.M
� %���u�l�W��?�`�`�uR%/
]��4�қz�r�QI�T�I��0w(�0i�b'���~P�x
���
�P��
�������Ľ����H�-�~'�iU���jo}���5�Y6 ��GۄZ�-��~�O
�
-Z�}ejHd�;
��d��A�$U7$�Y7ͥ��
C�	7tb.�˭�o^�CN5Ͽ��O1�A�Rz|h����$<&^&_���,� ��Z�z��zY��8
��zO�� �(`�NHO9!����h��m�d��
�/b����k��w��Y�h�ȟ�c at 2����ӯK�^��
"���𣜾Y] �jD���[�e	!&���~-���&�c���w�VIIU}��mݫeYA���b��m�K'��I�ښ�(
��i��>FT�,"u�l��
-`��!h��\'߮#K���Kq���MS����u�$л�ʝk=��s)p�iR�P
-�=�I��蔍���ˈ9,
�Q�Xg�:����
- �YE�x�z�kZP&mE&�
(Pgn���@�A�E���Բ
'PD�	Z��XЈ8_�2�z���A�O�O�?8�L"�
z~��n����0�54�
�hR��)���un�v��\��6�`�碅1��7.c�
��l2�l�cBk@;u8n;��ԭ�vD׮�T�/D&c`�nsQ���c�M�=0�a+����wJ�.�Q�@��c
�w3�l�z4U
�9戦2�֘~��x��*��x7K}Xn�W6Y�+��EAYѪ
�B>+���ya
-�*[ڽtD�P�Ґ*��1m�>
-,t��0_��[��]|K�_v-��Q�{u�xX+;_�'�Z �:�>�7!LN�U ��T�Zs�ļpGv���j����'�m3_3ϗ4|	�����9٥N
Q5>M���bd2��66�=�r,ͩX�N�e�۵�
�����r��	���h��Q^��X���7�����5��)�ad
���)'�ud�>��DT��Ģ�;�ð�xxr(�_�uv��q[mkR�����`���ʳ|�bL_��JO��N��
���E>�/�Yr���/䳛�D6��Yy=�D^��#"+���a�g;Gde*����n���YІ�.D�i:	�Tcy��J����A��B�!�D_�dUO8�؞���L���L��;���[��0⚧,���^�c��NJ�x,�?��/���t��rD8!���d�Eyl{
~t�5Y8�
�
Ļ�ʈU�FR\O_](��9���K5 -$)���:�\%�
E.HbK������W�n�����I�т!�h�m�MDo����Z�%���|Λ����J�hp�
��fGp��~�
�QI>�{��H�]���?߿���wo���ۻ�#å�֒���Dr��ua�����(M�!J]4o�������:��6�$d�����
-�����i	&<�Y��R�},�����`O@C�tVk����(�V��@���s�.�Q�Q��2�\D
�#6��>G�FJ�tX�i�p��b��IL*)����
�9��1h�B�2ښ��Z�!����&��q�m��%���l���K8Sn�_O�	 P��Cͣ� Uz(
����5I^@q˛���U˙[�>B��l��7'�L!0�:�� ���5x��~�� q?�� �*p���D4��wb�GF�C�ޤ���I��:v.�/���9r�
� M�"z����o�ŦV�N�s4�� �4cz� u:��
-B���~�_8
�^��>���a�&/��@j"4HA�^��
-�N>�c-�8&�}��+���?^9Q"���H���9Cq���u
�ag�:^9�6e`ݷ)���۔s�"TA��E?� �B�[�Z��I at z�G�Ѯ��P���gWn	�

�=z�
�^��s!o���h�������xP��r�U��'c�MCT^E��@���Yh��_g�������_�ɸ�Ae��o_�|zzB�
�|_��y��o_
��l�r�JL8n�	��2�<�PS�AC]��[�]Y�PA�Yp{xB��,�ʿ <��endstream
+x��Z�o�8���iVj�")f�öh��tv�3Y`�m�*KIn����Q�$ˡ�d�C{,Q���~?�� �^�^]�,PH	*��M�p A���v
|
+	A���c
~�
&�>Y|�Q
��N��d�!]VI�ps�J׳9�8|�%um�]�H
�|���`D���������^�yE�
�vo.�d<X�>}���
0b*��Y� �
~�෫]a'��'V�(�T ""+ӛ��.���뛖�S*�o?"Ab$�
+��8�$�f}s��|�����jD��-�G$GTJ��.��UŌ��.���a�1�,lv��e��vl��u^��K�1ۀ�#�"�8W
�eqo'�X�EQ���3�CP�^ז�ۛ���>��v4�2˩^ۯ=g8��m�9%1AA=dP���he�VX��a!G*"GzM�Y�ïI��I�= ��~�>��K}:�1qAcE��تț$͝K'�Q�}i��Ȋm�u����n�eq��5��"R��H�\"
ˎ_���}�%�{[�d�6�Qm]����*��Nye�������4J���5]w[t{m�δi��C{��
+Ǫ'"@})�I��	�8�CX	+G懲桄m$��_��?0��G�GPi�x?�i��͡��ߋq
��7'߿�����lߝ��GHFYQ���K�}
+�tY�\O�����ܕUo�IՓw��J\Ef���
������3��RS
�/ �Y1�&�����6����t�T�8��zU�K}j�V^g(�<I�F�X�Dy�ĭnYq��E�F�>7������?8E�s���6n����`�Pԕ�ׅ�l�U
+��V���/�'؏P�c~�n.!��^ ��t��C-R��nF�J85+����W�If?��
+<�,�5��]��f���(�}����R�P���Β�(��@�y����#��m�~��im�ɋ�nҚ��_�T��>-��~3�C��qX��~\M��4�x\�l8y�a�镱I��N
+�q��BfS
������>(���={�Iү���ل�6
ܴ�ʇb�u�U(�=�
�
`���z������X�uʙ@8��E��hdq�m��8�'�Q@?��|G��; l�wP���g�Ø����������0!��Yґ?3.;e�sl��c+��bD^rN�P�۫�NY���đ8�>
+�A���{���"�J[� �ۼӃ��6��R��U��8��/�<8^���Y�wy9L���3�.i���H�'��e��En0���*Y����P,{��/}����Q<���Ro�;��s
@=�g�ax��.��G�OK8#bvΫ9�q2�}�_&���!�P�
YS'b��ߑ^a���;+D
�����F�b娨C90��D�P�:�N�.�#�]���w�9z[le�
����[$
c���n�om?N�
Gڣl?�7V���% ��Vj����jM<N�t�*س�%{� ���$
� *�:�����D�!O�<8E��>i�A��T
%?�d���U�
��������0�0�2#(T|3�K(4�F�����(t MS��	*�Ph�<:'M��
U<�I�(4�P���b��A��!(� Aم�I�A�p YO#P��4 :8U�H; J��`�3 ��m
=[&i�f��|F�pF~��y}���ؠOS��* ��- ���!<@#D"r�	&� ��3=���t��Zv~�ݞ�w{
�p��\3<��;����RIBԜ+������G���8	M��U�}=^eZ!~��,Gj�+²��r��`��c
�J>�}�6������;�X�������� )��
+�'� ���}����?~x����{��
�H�-&��c����}��i>{1
o�
r�38u"�:�Y�l΍����
+ٕ��S�LӢBx?��aE:�U��������}�jk[)i{q	c�B�������l�������C]�U�����|���7����R��<��	�BL
��av|����i��
+�5r>h���2��

-M
�i���a&hr�d�=��:�`*��1�c�a����xv�f'
��~�u�褩3��
�Zڜ^z�$&��s���Ɖ
#��Mxw:pY+�k����u�C�9R�T�p8~u��%��	�-�M@�N�)D[������zi�'��B�k���M|��9���~h�վ��3°è
<rʾ
�v|���S.;��iW_�m���M���|
8����Sd4�O�룑��e���e�ꊳ}�w����8��?'���:�X�n�~�S���&�)�C!�~��Ij��tO?�;��i�"��Ʈiʛ�뻻;���!O�
+��uYf׏�b�B A�>�6]'s_T��+�N���xd���\��
+endstream
 endobj
-6100 0 obj <<
+6053 0 obj <<
 /Type /Page
-/Contents 6101 0 R
-/Resources 6099 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6106 0 R
-/Annots [ 6103 0 R 6105 0 R ]
+/Contents 6054 0 R
+/Resources 6052 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6049 0 R
+/Annots [ 6050 0 R 6051 0 R ]
 >> endobj
-6103 0 obj <<
+6050 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.6452 647.5731 184.2454 658.4771]
+/Rect [165.645 647.573 184.245 658.477]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-6105 0 obj <<
+6051 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6102 0 obj <<
-/D [6100 0 R /XYZ 90 757.9346 null]
+6055 0 obj <<
+/D [6053 0 R /XYZ 90 757.935 null]
 >> endobj
-5715 0 obj <<
-/D [6100 0 R /XYZ 353.1687 325.4224 null]
+5666 0 obj <<
+/D [6053 0 R /XYZ 353.169 325.422 null]
 >> endobj
-6104 0 obj <<
-/D [6100 0 R /XYZ 90 308.3615 null]
+6056 0 obj <<
+/D [6053 0 R /XYZ 90 308.361 null]
 >> endobj
-5716 0 obj <<
-/D [6100 0 R /XYZ 90 104.7482 null]
+5667 0 obj <<
+/D [6053 0 R /XYZ 90 104.748 null]
 >> endobj
-6099 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F8 523 0 R >>
+6052 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6109 0 obj <<
-/Length 1711      
+6060 0 obj <<
+/Length 1490      
 /Filter /FlateDecode
 >>
 stream
-x��Y]o�6}����f�����b]�f�7��
-C��X�,y������)Y��qSl
ĢtyyyyxΥD

đ��$��Fع���G�>v��6�n::{&�#�T8ӫʃ �SB�����D��%����q������q�l�j�����<�����<^L\���i��|��T>!�X��O�1�ԟ|��]L��l�	�C�k��v0�#��
�s
����Y�<��F2z;���c
T
�R�	;&�!,8�� QD�CѤC����(K��4w��Y8{&���4�al�?�F��N�
�Yz����)?�V�D���vf���
��W����\�ȧB8.�^rN�>�ZӎSD�d�铟�͞�~u�����

�@�1@^�1�=�$(���>��*���"N!�VQ�֫�u��曨��	�c����N��Rս�'����W��
-�כ�JKs'�Ѝ��,W
40�Ab�/Z���J����dzM�q����YT�V�l��C̓���{n�e��z$��bVf�,ɮ�(L��,J�B�m�qX��&C#�����Q�&O���g
yA
CX5�
-�abm�+������]xTu��,sQ�B
fQxH�`���{�����N�lfZ9+6�BY`d6����G
%Ua���H���c���'���&�D/�M����Ў�$����E\���i9���H�����3���3�ANH
Kg���e�#�Q�?ǩ
���p��Ύ� y"��	s
�z-Ѿ�
a��'A6!��Y�m��t��}��"����Zk�+���&�"�Q28x/�ƺEr��'��3
FQjP��m�ċY�[��JH�:�`F�~0�%� y
�;�L�y6վI���"�B,�J�޻ԏ��M��Ʃ�M��y����%���ł������>��"S<��K�0r5x'HX���}�èg%�QV��w�ަ�gV�Nȸ4�Q�����Y(�M�u4ߚۡ
A�*+1��b[�je,o�q��N3����`ҧM֚���*��b
��
-B̋]a�*H�˦VK�d�PŞ@�պ��v�۬
L��<N���i�����띊{SњՐ�u")t�C؃C"�A9�7�G�i�q(��,� ]���lg��Vj�Ƕ�Z�G�Q�[��V�ғ��U��R��2
 �?,�m���Q��`��
~@p{Q

ncv��
��Np{�

n'��!K��s���,�
��zI��,���	���lX�y��8���<ۤ��9*��y�;~��������%l�0�]ܮ��E�Tlh�T�C�
-ȘHn'����
M�=Hz]~� ��4�?
���ȓ��
w鸿���� 1r��/�t�Ǧ�R
-5�a��d{�����ʍ�P
�<�g�Q�������w�0�}8�x�0
���a"} �dG����h��0
7f������h��0
w�9����rs��j���h��NHPGA�tan(Wv(W�Q.=�r+�Wo��
��-=�n�cЭ���6xݒ/�o��S��	�{<­$�۷�h�
�w�w�&��O��S}���켎H�,�w� :_.u�z��f��L��;���P���[����0݄��f���J>�zg��L
��R���>E�'~7A��N}��n�M����ߚmϯ��,��gg777(*�&��9�˳�:9ۏ�i��@�,���b�d��W �v,W���UV�j���U���!�;��+�endstream
+x��X�r�6}�W�f*$=Ӈ4u2ͥq��L��Pl����b�_�Ņ�(���x�M�/�@
�ٳg�޵�����f��'�y���ʋ��8%�l��(�L	�x|9!x
��x~9�x���J.�x�"]�q�=?Z��ɔr<~��Ue��W���p,�D�%��SN�Ϟ�.f�?G΂=b��
+�����{�-��3#�ލ���|����4�w�A‚���("�c�i]x��8QyU�a��+��ٓ��lO� �֎�ݷvJ�>��L�f2唏�u��۴��-����0�i�.i
�0eA�xS�>��o�̞QDD��|�����W//_\�����ݐ!�f:�B�$�w7�
+a�)	� G��W�2�]ˌD:۩���$�*'���6��Rw��J6������m�,6�ެe^�'�c_z��R.р�\D�ː�
/�z�56�l�NUnG߫���G��G̏z�P�6
�2��DΥռV���u��Y��'����,MC�C��=�^�zS��@�C~��� �Q�|ܒ9�r���H*�\
�YMwq�>�l�.�
��GQ��P����1\�c����g�j����r�
�>h6IC?;��iY8%>G
�>��y׭޵��t�oL��Ց��Eʰ�%�	\Z���*���������o����PHtL�XO�d�q�"P�
�_"Q���v�@a�ڳ"h�)
W�h�p_�I ���V�BG���DZ������H/����V���֜�'>$M���y\:�ퟦ�H�n+�lU�	�����>�u���l� � � *@i��ր�/29��SF(�P_}��ؓ�i)�؞����}�˗}�sD���L3��b��YlG�3��$�폅���p|�Kge���cg^沌M���j[�rmgެ�d�*h��
�b��:��S��Q�e���U�
�N49Զ7y�m���+hr]4�QW����{P�ާ�^��_�T��Oȿ/�mh!j��$��4�!��e�
3>@xxL�3���rGٿ�>����Q�d�{�h��"*�橀W䟐��X�2�^�]�(��ꋉ)O�g]�>&"��{M�i4�N
I*!PgB�!4� VwG� .������cqj�/�&_Vm':�J/���Hm������
�o\�/n
[�j�ڵ{�
j[� lK��6"DT�;%����~k�]�gp��CZ"�&�g��C�jk�v��p�H=5���� e�W޻2�r���bm1���:�v��,.df~"��B��	��5�طmu_�z����$ݣ��
���a�{E�+Q� �RVX_��"O����p��P�L���
U_�����N����|2���O�<B��{\/��:oܰI
;t�c?W��Z�u����M�u��u���
� HQJ�4�\ ��H�<����5���LȺCS�邶��������%��iQ��>+���PN;+��(hs���V�*�9<\�O�A�N�m�
+endstream
 endobj
-6108 0 obj <<
+6059 0 obj <<
 /Type /Page
-/Contents 6109 0 R
-/Resources 6107 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6106 0 R
-/Annots [ 6119 0 R ]
+/Contents 6060 0 R
+/Resources 6058 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6049 0 R
+/Annots [ 6057 0 R ]
 >> endobj
-6119 0 obj <<
+6057 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6110 0 obj <<
-/D [6108 0 R /XYZ 90 757.9346 null]
+6061 0 obj <<
+/D [6059 0 R /XYZ 90 757.935 null]
 >> endobj
-6111 0 obj <<
-/D [6108 0 R /XYZ 90 733.028 null]
+6062 0 obj <<
+/D [6059 0 R /XYZ 90 733.028 null]
 >> endobj
-6112 0 obj <<
-/D [6108 0 R /XYZ 90 659.3614 null]
+6063 0 obj <<
+/D [6059 0 R /XYZ 90 659.361 null]
 >> endobj
-5760 0 obj <<
-/D [6108 0 R /XYZ 90 637.0496 null]
+5714 0 obj <<
+/D [6059 0 R /XYZ 90 637.05 null]
 >> endobj
-6113 0 obj <<
-/D [6108 0 R /XYZ 90 637.0496 null]
+6064 0 obj <<
+/D [6059 0 R /XYZ 90 637.05 null]
 >> endobj
-5761 0 obj <<
-/D [6108 0 R /XYZ 243.4229 584.296 null]
+5715 0 obj <<
+/D [6059 0 R /XYZ 243.423 584.296 null]
 >> endobj
-6114 0 obj <<
-/D [6108 0 R /XYZ 90 567.7959 null]
+6065 0 obj <<
+/D [6059 0 R /XYZ 90 567.796 null]
 >> endobj
-5762 0 obj <<
-/D [6108 0 R /XYZ 90 479.5031 null]
+5716 0 obj <<
+/D [6059 0 R /XYZ 90 479.503 null]
 >> endobj
-6115 0 obj <<
-/D [6108 0 R /XYZ 90 465.1598 null]
+6066 0 obj <<
+/D [6059 0 R /XYZ 90 465.16 null]
 >> endobj
-5763 0 obj <<
-/D [6108 0 R /XYZ 335.6167 402.4884 null]
+5717 0 obj <<
+/D [6059 0 R /XYZ 335.617 402.488 null]
 >> endobj
-6116 0 obj <<
-/D [6108 0 R /XYZ 90 385.9883 null]
+6067 0 obj <<
+/D [6059 0 R /XYZ 90 385.988 null]
 >> endobj
-5764 0 obj <<
-/D [6108 0 R /XYZ 90 297.6955 null]
+5718 0 obj <<
+/D [6059 0 R /XYZ 90 297.695 null]
 >> endobj
-6117 0 obj <<
-/D [6108 0 R /XYZ 90 283.3522 null]
+6068 0 obj <<
+/D [6059 0 R /XYZ 90 283.352 null]
 >> endobj
-5765 0 obj <<
-/D [6108 0 R /XYZ 90 166.4561 null]
+5719 0 obj <<
+/D [6059 0 R /XYZ 90 166.456 null]
 >> endobj
-6118 0 obj <<
-/D [6108 0 R /XYZ 90 152.1129 null]
+6069 0 obj <<
+/D [6059 0 R /XYZ 90 152.113 null]
 >> endobj
-6107 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+6058 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6122 0 obj <<
-/Length 2385      
+6075 0 obj <<
+/Length 1839      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S+G�_ܧ6H���i��>��AKT�V"U������r�W\�r��F���3�s��"3
����
-��l��³����+�<^��e���W��bf��T�n75I����n�� JK�1��_<O�]r�~A��>=��2��)�/�����]��K*���69
��t��
��i�J��dD�)ՋO�?^��m�ktL�ڿ�>~³5���+���b�7c�lw�)�7۫�����q�b&���	�-A�
-��a�X
KD1\E��
˜�����tm��_W�ʊ�ps~F�)R��Y���S���kaTG
�R��W�ơZ��d�����d�����q��UO)��`��R'e<U_A;�P̐dp
(s�P
*揹
�lc� kv��)b�g_I��KG�c��$�ڑЮW�DZgG��PL��GS=d�IYe�t_g`��w��b�O��~��FFW�%e����CD(~�)Đj��(�
K{Y���쒯�.��Շ8��+�����)�Ӥ�{k�g��`Uu��q:��4EX���VNB4��5��%�f��XZR8
���JC�d� ��LOW�
��p1�\!̘��ḿ�#�)x
��$^���I�IexG�:.�	-B	�c3H~�<��'�]�5��j�GA
O�~d2�:�}|��-x�S$<�T���D!I�
�iu,�C�3�rE�!��ƃ�� Q�
�:��"�>�+��A�	�isf,��d�u�88�yQ��t���N��e(���$"�8��9�,v���bA����/mL���>I�y0Pwž�h�Y�~|�V.�lSI��?׺Wɡ�X�Cs�_�6J�/�"'�c�0;����U�F��7E�4�D���٥��@��J�7�/٥UZ�tϘ#ݳ�I�{�d݀	�S���z� -U_n�\��v���Uۺ���Ԇ
(��r���}�7�'���������6�!)�
��:L},�n�mpPI�1�Dz�h١sVCt�@*�P�
��zR�\�lF�@j�
��2���Y�沤��vB�S�ꐍYʓ���TXA����{�‚�Ppk�u��,Q{�L2+O�^
�1{y���
��Q�؄hO�
�
B-C� [...]
-/�#��C5EC��4Y=��!�f�&af��<�Q!hPT��������O�qD#���
G��
��CS�7��rz�?���1��
�!�%��th��

��{(�n$ez���0/4�Mm�U���!�fv��_=fՃ�_�+�Y�1:)�QJ��2k������
͇N����
�����q����ʠ�
�Z��Y�TS�{ܚy�rb}^z{m�����
�衱U
��%X����TD���%CGfM�L�3�/F�O�C:8qɐ`��A]��!�k����B��D��T����ג}|0j�|�S&����]��*�B<��&�e�Ͽ_I�7e�Ȩv�2r^��;�BM�:�ڭp���f���O�3�zˡ���C�
�
+ߊ66�#lC�sv��޷�A��6*%š�>��i���L�i�XFDM}
�a����8 F��s�X
b���M7͎q̫�h��(�_�� ?�x
L�Zq0����|��4"
���`��s
lH�4�(b���Y	�1��$�|&
�p~��~w�
-!���u׏�M��@6�qdS
-��lL�p�
t.HO��x�^A�o�jw�O���t#+�� X�g
6n�k����I���`�"�m�jx�e�"i�� �*02��4�Ϸ-�$�7j��ד���f��*�)�6@L�l�]�l�܂|=�q�/���|PL��Cn=Y�C6f-O6
�
na���8��%a>�%RZO��]�1{y�K`�q�-��
��ѯ0�+�7
�Q�&5lN�|�F`���B�/�c曐���?�T
l���&{Z�l��x�`�	g���lB���
>��
2�w�_K���P�T��a�9
W�4]�[��@�n�[L�'�k���;�;�!�k�c)���qh|�Hs���X�8�^E_��]���q�Hb�9>�v���Y�	���v�@�1�#q��"
G-ٷA��9A�=e�Pm��+T��R#-�y%	㴳HS���n/�P-
���̰��59c]��]�)�P-�"�"S/��Ǹ���TK����@'���
@�i��wC���CP�3�
�Є	"B��
Ə�MR;7!S-8	����W$lvD*
!D
-�]?��,�
�p��6��q7]%���]�-���zt��6����!-�b�@)I�c��$����*OK;��-�hGD-~N�s�PU�W*4�{��������
��~�8���מ����7�׏��hu@�<ۗ(�����ul��
"m�q˖��K`y�a�1��]]6~�>��
����G/�l���_��&�endstream
+x��Z�n�F}�W𩥀j��T�� 1����������R�JRQܯ��7����)Z�@-���v�̜��s�`�r�����`N�BA�s�vB��� N�s�rn\B%���WS��(�F�WS��,���U
ݾ�y����y���(��$*
+�|+�2�����R�$��p)
��_O^^O���;D��>�w����{����F,
��޵u<��5q�M~�`�
�'ƞ�S���O/?.完���k#��\�
+yK	��CgF�-΍��\��q:���!J��m���2-;/^q܎-G!����M�M)w�	S�V_�۪=����!?�r��#<�0�6E����(�߯���1�S� �Sn�⼲\�W1�^@Dgq�̶����DVIےe	Μ�Fx��2Đo3m�e�Tm
�s��6�o㿔9���
/�xK#�M��(�}���P���_;���p���#�Tԧ��t��}���VpC�z$
i�F�!�t�4�a����3V�-��۴G;��"���C�^d�4�D�V��W�xp��
ˀ\�F��+�D��
ў��$#'F�9�Ӽd�s^X����}OrΨ�񑠶���r��E�`��>�2����o��t�0�U�Y�ܛUU����1�4e�2�0Ӭ4
�ݕ��a�*|
6GB
+Yd�t%���<�Z=�lJ��A�'m �>���l��=��fP�U6�rc
+O���N�-��U��
��\���OG��~UFnw�R���w
�0�|
	HS�ТV�����e�
;'5�P &�cMG��'��Z�15� d�ua�W๪B��].�zoϩ�>��S$v�T�=�e
"h��8�'DA��'�N�GefC������c�Vg�cމy+�f�8����}-�n'w�
�
r
C�':I���
kE���fj&}7��rcRQԘұ	�8h4��N-@A��D�AW�}oK��wkɇ��3�'ac��&pj���1�!
����0~�7�Կ�	X�u^��
���XJ�Y5��I�Z�z�����z�-j^������r����Wv@˺ui �zD�+�t%Y��
vXS�tN�B�z��ح_
\�-�E�(^���0)��0��\J}��C�}f
+�4Shq��|�_�a�;W�
O`���:SO��U(�,��	
4?�^�fj��d�.�{��i�kf�����T
+�:�5�U��a
ޱ?�
��b`�Ɓ#[��[�h+[�e��~{��K�.�tKG�d�i�u.'rm��}Zf{նz)��:t DB�e�����F��xD<�h�+Xx�x�4������s.���m�Ky��K�Vc�ဃ�6I��>�	�
�j%q�P�m���f>�ȅzx�~8�P����3���#�)�}��g)��4J�Ϸ5��\�K3���� �����
,}������y��{ZFO��3�����<S��0��ϔ��(����[��
5X��U�Q�W�
+��
+R�R��z��/�R�
+
�<N��{�
+���45�O��6> ���������a'�O�ˢ2��S�T����C����oB��7!
+��yV�a���jV�ދ�L�
�v�h=k�E=S�
\�P�=��o�_��
O�?�E�z��0R���1s�"�b��?�D���s��ݪi1��2?}�R����ED�~�E�C�`e>
�]80[�

lWj�Vw0����1��&�<�R���)�%
?E�>�%W�2���ͬ3/�\&LQu�Ρ����zj��éV?��1Z����,w��ဖڧ�.Gqy��%���H!N�N�u5�n��0����~wr��h
+endstream
 endobj
-6121 0 obj <<
+6074 0 obj <<
 /Type /Page
-/Contents 6122 0 R
-/Resources 6120 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6106 0 R
-/Annots [ 6125 0 R 6127 0 R 6128 0 R ]
+/Contents 6075 0 R
+/Resources 6073 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6049 0 R
+/Annots [ 6070 0 R 6071 0 R 6072 0 R ]
 >> endobj
-6125 0 obj <<
+6070 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.2472 515.8863 386.1772 526.7902]
+/Rect [338.247 515.886 386.177 526.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-6127 0 obj <<
+6071 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.2472 231.6802 386.1772 242.5841]
+/Rect [338.247 231.68 386.177 242.584]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-6128 0 obj <<
+6072 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6123 0 obj <<
-/D [6121 0 R /XYZ 90 757.9346 null]
+6076 0 obj <<
+/D [6074 0 R /XYZ 90 757.935 null]
 >> endobj
-5766 0 obj <<
-/D [6121 0 R /XYZ 90 694.0892 null]
+5720 0 obj <<
+/D [6074 0 R /XYZ 90 694.089 null]
 >> endobj
-6124 0 obj <<
-/D [6121 0 R /XYZ 90 679.5189 null]
+6077 0 obj <<
+/D [6074 0 R /XYZ 90 679.519 null]
 >> endobj
-5767 0 obj <<
-/D [6121 0 R /XYZ 211.8424 423.9951 null]
+5721 0 obj <<
+/D [6074 0 R /XYZ 211.842 423.995 null]
 >> endobj
-6126 0 obj <<
-/D [6121 0 R /XYZ 90 409.2704 null]
+6078 0 obj <<
+/D [6074 0 R /XYZ 90 409.27 null]
 >> endobj
-5768 0 obj <<
-/D [6121 0 R /XYZ 216.7638 121.7914 null]
+5722 0 obj <<
+/D [6074 0 R /XYZ 216.764 121.791 null]
 >> endobj
-6120 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+6073 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6131 0 obj <<
-/Length 2484      
+6084 0 obj <<
+/Length 1980      
 /Filter /FlateDecode
 >>
 stream
-x��Zݓ��߿BO�Tu���6O�����R��6��k���E�`��6}z��|{�$��Âh�{����0�#� ��P(`\�v���
?��!��-<��	�ps��� ������ 	������D�fK0�����a~
-�o(^g��1������c
�/ww��x��R��o��(���!�7D��t'Ɉ\Sl>�w���U��]0I�j����	��p��n0b��g���]�n8e�&����/-��A�����Kl@�R�������c�%�l�2��ݝ�4>����~�ﲴ(����4
-�??�V*�8K�G�16��6P=�&H
-
-�1�E歊�9шJ��o6pj�~�m
�j��$���p�@R�:��1��QZ֎�I�
-a�H�8N�G<��p�z��jo��$H��
-xO��'BTk�J�~�3f”YƕK�'k��2:p�y�.��
�q�-��8M���jB�SG���"`
-vWHRΫ7>D�9O
g9em]���ÔJ�������0��Y���W�z���*$"�ug�̣G�nc�<�ŲE-3���":=�/�jc
-#�=��
�<f�t5�=�٩�9J�
�gs�!�<�'�Yy������U��bdV�<�ݱI=M3	Ԥ^]dwa�AV
��85�b"����
%L��iac��t.�=S-&Z�$D3��*�������PC�`��d���M�
OQ���P:�����-�H'}��a���G8�6\Ϟ�%	u�J/I���>J��]_G"֠MW���Y�����m������Ѯli=�H��^+>-��
Vj����T�l�U��i��L��K�-�X��]
iN�[��S��eָ,;\�s3��	�ْ�zds�dN���A[l�ƂG梚IWpk�}�f��j00�٦��5X�l�`-٠�;�ad���іj,��5"(GG�ToV�k�{�����
�*���9�zo��´��1���Q�;�bR��
D����ޅ6P����)��U��
'�"�M�Y�����RLYPҜq�Ck����a�0O8E�C�{(�Հ�_L�3������5�c�����c��f�1T�qyl
V�� �� ��j%`��
�R��y�nh>􂲥��_��oգ�m$]ؐ�Ar�� %Z��cnv�f�rk�$+��
[?e`Ѣ��(��֦\�3Q�E�礴��z�"[�j?%E49	L`6?���#��p!*������J� f�"��Z8�b�Z2�FQ��	��`�0��a��_Z��
-4l�0=�Z��+�&fP��Q���דx�<��
�	�8X\ 8�%�]$ܑ	v%_cbrd�'�`E3�m�����3d�� _l�e�T}�?
���9.5a�dB�v"��ݷ�e�{8
��$
����v:s��]�޻��۽K
-���D
��lm>�D�H��W���jY�R����9��(���eҧ�D�r5"f��+��0_8�)p�VTnvD5��$:4e����~��/�����梏a�XB��A,!�>�exL�X�F��F���b}�������Y
�%���`�P���+����RH�6�/G�@B�^M0��$%�D��]|����[ �j�~�1�����g�1��%�S0*�WHL��s�1u6��Bc�{����
F=
	�6PZ\1|ԻW���
��R/�rL�)���g�jz�d
-#e]����AG��gЖl��5@΍���9G��3<Ǹ���KxS�l�]�l����s#�~x��+�s
Da��6����eɖ�y�-<7��
��*<Lj@��%��O6g0Kv	<7/���F���#�+<������0<�0C

s1<�a�k�.��\=&�y�cn�5��t
�-a��
-w�l��d�j�n���lA��

n
-
-�
-��I�����(R�w�(��4�j�$�l�N��G[����|�-�{��KM�� ����G\*Ҋ\������P��8�d_��Z��XG��!VG���XM���/Y���՚t[���"�&����e]!����v}'��>��b���%��$�@v���I<BbDe��z^��9_�W�Qڊ�
(��
#���O�Fx
s��ԡ�ô�F
?LK��Ka�]��a�6e�����4�_�QS!��x��g3>�m��ꐦ* ���q�a��lć�Ӡz�"�z�S1I_�x�F��H ������d�%�1w��B4 at T:�O�T���P
�w�;.�>�3�t�����d_�Og-��ӑ2�~�(3�O�Pr����
*�/�4�R�+����k�߄i�
cbC�������s	4	H�����k��t�7؝)|ͭ�|�mS�꛿Q�ۍ���9L�aҕŸ
�(�0 at P�2��ރ�?D��4�]��r
T?���^��;g�¶���*�ӎ��3���������
-tN�
����Sr;�VM�sh�3�۶D#]
��Zh�4wt9X\��-�?���eB�GcU�
J�zendstream
+x��ZY��6~���S+5����S$A�ئ[�!
Z���ʒ+�q���CQ���ƽ� 
,%Q��3��G{�=콜|{;�z!����Tz�KOa/�	J�ۅ��'Q2���3%؏�utw3��ϒ��^�����>����y��Ψ���$*
+;|��:�����\�J��S���n_M��N���{��-0��ד�ﰷ���<��
+�]5k�q����4�q��A�R��@
�ږ�,K�~�4����q��?�}�W,�<K��^��S
�w�?n��Eg�}���=�XH�T�t��j��"*I3��L�?�ff�7c
+f���2%j+��W��<�ii����k֍��]�N)"<�K�=�N� %���KX�$@��j$����L!L[ի-ٮ
Kü��
���%���e%���m�&����D�{g4�,�� I���7���i�Z�-hw�̷ڱ&�(
��YKPU)?Jv��Ƀ
���mڷTHDBޙ��C�Tة����jVf��v�כ�S� �n>��d�g�t�ks�y��o�$�R���eQ䰞`��.G�O��[��5F�Yi�[��U�u!E���n
�X��qj��gu��%��i���z�-�UX؀�(�g)%!�8�V^�X�Z�:/�/w�
�$�&nC�
nRK(o��1-��Ύ���� |������8��Pl�����T%#�1��ԯG���
��D &Gи�C"4|�t��yTf�����qDC+�*HFкWC�D�@��
�f�/��ъ�;���l%GaW
��d�x��&�PV_&�*��7:��^���(������h�21j�u
	����3BMg�I���$���W��ɮ"r@;i��.%�@D
�:c0�B
Q��ag�IX
�vcw�pS�o �F��/M�1��� [���!4�
Fe|'��2f�..W���c���}�/�y9��V�o�-�k
��@��YIVl��7hSXl�D���F5�d��Mn���ܛT�&�>��
C'@�~�Y��?���D=�U�xQB�
+�r�/J��]��XJ�Ch�R������ڦ�G.$�Ѫ�qm�0�|�
��2mL_X� ^
��5��&��3�z{ X_�����~�g�t�>2�o�X��
�
�ܱ� ��
��YZ����83h�-sa���v�lI9�@?�xkͥ	l�t�x%ac�y�!7R����q��J�֩~�R*�q at M�B��!��C@p���P�X�6���ac�����`,����A[Ƈ���k2<��
+���լ����GNވ)4�ᙬ��0N�
�Q����M��V]e9��J�X�t�� ���DW����Y��t��D�Z��R�m��3@�I�U%s����
+�z�p���!*��5
��#?S��T�	T�nn�L�0���gs�"�W�
/��u�����q-����x8������>���'Pq����O���?O�����,'g���󿍉�".���g&��2�#��0eڦ�@Nc���/&�H�-��\�E�U]��$�3�6~���!�Z6�)�8
4��"3ܝ����/ȅ�/�:���\� �"GO>��'
`F\BK����@>�:c3t
`�HUG#�,��KW�7�Ȥm�ɠE�w���������X#�;� {{~	T/�����}���e��x��OH�LC�u[8<���͡!���� 
+QP�}
+BF��� @v�(Nk�|��~���gj����
��c��琥$���yȏ3�
j�����s����]
�Z�;�H*1��`)��.���0��c��
+4���]����
v�
��
ϩ>�+�?�!�"<��<�/x@	����<�

�G���]���e�����|{�s��/�B�u����(�P�Y
+h{ۤ���h�L"#Ӛb�'�kK�y�{��{K�:�)��jU��뫫�n��ڦ�&Gqy��$W�è[���b�l��:�[J7�Uw�h�<�i�
+endstream
 endobj
-6130 0 obj <<
+6083 0 obj <<
 /Type /Page
-/Contents 6131 0 R
-/Resources 6129 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6106 0 R
-/Annots [ 6134 0 R 6136 0 R 6138 0 R ]
+/Contents 6084 0 R
+/Resources 6082 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6049 0 R
+/Annots [ 6079 0 R 6080 0 R 6081 0 R ]
 >> endobj
-6134 0 obj <<
+6079 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.5798 578.0897 424.5098 588.9936]
+/Rect [376.58 578.09 424.51 588.994]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-6136 0 obj <<
+6080 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.5798 300.2333 424.5098 311.1373]
+/Rect [376.58 300.233 424.51 311.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-6138 0 obj <<
+6081 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6132 0 obj <<
-/D [6130 0 R /XYZ 90 757.9346 null]
+6085 0 obj <<
+/D [6083 0 R /XYZ 90 757.935 null]
 >> endobj
-6133 0 obj <<
-/D [6130 0 R /XYZ 90 733.028 null]
+6086 0 obj <<
+/D [6083 0 R /XYZ 90 733.028 null]
 >> endobj
-5769 0 obj <<
-/D [6130 0 R /XYZ 211.8424 489.0979 null]
+5723 0 obj <<
+/D [6083 0 R /XYZ 211.842 489.098 null]
 >> endobj
-6135 0 obj <<
-/D [6130 0 R /XYZ 90 474.6341 null]
+6087 0 obj <<
+/D [6083 0 R /XYZ 90 474.634 null]
 >> endobj
-5770 0 obj <<
-/D [6130 0 R /XYZ 216.7638 193.8239 null]
+5724 0 obj <<
+/D [6083 0 R /XYZ 216.764 193.824 null]
 >> endobj
-6137 0 obj <<
-/D [6130 0 R /XYZ 90 177.9803 null]
+6088 0 obj <<
+/D [6083 0 R /XYZ 90 177.98 null]
 >> endobj
-5771 0 obj <<
-/D [6130 0 R /XYZ 90 89.4414 null]
+5725 0 obj <<
+/D [6083 0 R /XYZ 90 89.441 null]
 >> endobj
-6129 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+6082 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6141 0 obj <<
-/Length 2674      
+6093 0 obj <<
+/Length 2347      
 /Filter /FlateDecode
 >>
 stream
-x��ZK���ϯ�)��V�	L99�e��H�YOʇ��%q$�R�LR;;��i�(B�8��
Rsh6��E��?2�x��
i��l����-LC��֗c���on��b���T��-I�����7�� JK�1��� x�������z��6��\�y�|w�}[nK*���*�:���x,�Q�^�I2"�����o����
&����w��lg��#���=� #�5��o8eaP��z󯁏[�/�T {�(CX
-v�b�P��U�T����u*�����\���ú����;����0��f��N}f�/F9���l$SD�p8+Գ#���=0'���‘�9.�҈�,�-�Zb_|W�UY����� ��
Iʹ�|[��sɚ1`
$��c�`F%�x��ѡ%�=���zvO�d_��
-�(�t8+f	)8Ҋ����{I�`'��`�K�R %��m�Hg���
�ƖDe3�3�IC5-�T�p#��*b�
���.}	��;ߛ`�2FIr�
!�K)"x���0q��
-�/���yUn
�v{�u!�VH��9����R�ب�!��9�~�6
*�O��8ELb���e`}ɆH�2���"��T�y[8�7%���.�z��y_��%<��8�(�����<�
�/��*��5%$��x��_%6Ã	�x>u�I����8��u�U�?A��¿����,��rj��4��o�
|� H�&�|��4���ǃ#t�o�|r�6~�k\
-� �����2
��
-}0�$�lZ#��X��A�+{�O)N
)>�1��KF
��s.�D�X�6�
���ڲ/|^�ق�a�u����6qM	��_���uߤ.*�Y6Y(D|

�j����5�D�8n�ۣkm���ì=:�[YF;������ݸyt�� �Hl脹�y�0�ь��h�F�v���;758�Xr���ڭX+ℕƢ>�e{xɜ���NO�&uJ1Ҝ��VtޗUa�?f�% o;	�v��!_n݋OA��.Z��(/Z5
�hg�
-�ڮ�z7j�5�����m[c�Mx)�t�����]2Ȼ�:˻�0�_�07�Y�=��甀�o@�W��DX�@��>�z3�
��1���j�aL��1�Zw�z���RAM6�9P���l�w���j�h��Mי��
Ӝ
�i�mY���RX�����9'�ʾ4't7��F7˸������{\�c�O�J�
_P�A�+6q���c^u/p�
�`��'�ᶎ\�Ʊ(�{p��á;w�y��h;p5��8(P@�ƒð�G��.o�r}��52���a�x����n�
����s�����f耜pSfc�( �� r�l�k�{�y^
��8��P��Q���H _A}�����nz�F�A��8��*��q��v.t1�8c"�Һi�MY�.�so'���`µ39w��g&�:29W�c�����٭��������̹h�c�so/^��xk�qp$]�.�7�A��
ٗ
J���Ig�������^s�ly�1�<�� O
�����i�i��M=�2@�!�Xd
b���:��v2��
cP�P(�#�
�
j;C�ht��O��
7L�\����r]��"{Dt���"��;�����
��D���~��>�#]e���>ڟ�+��<�@t�o
j:s�D��;W�Ʌ�
�xO��n=�������Ϲ��}A�.�ƥ�M�8���䐹k
�iSY�����
-��#ܧ���*������p
Q]�+�L�i�k{B�ͧ�z.���?���ȩ't!L�'	���<F��?����L�+m!
5�
�W�Y��өcb_��MP�X�1�_������ Y��8pE]&0�
-��[Bs
-��#$�E�
�p�3=��,�� a.*���?td\뺪�
����2wi��
��D
���� ���
�kDt�P)��>x�޽qUS�`j���<���%�V�ի�B_C��
�ҟ$��/rKA���;٨sb8;���0���I�l^��� ��ԅ�ģ,Tk�����):�e��FB�ˋqaPs�!
L�� @`F߇��SD�6ା��������9���0���
��q-?+�K	0q3.$I�ǁ����)��BM�d�J(%n�1�I,��kJ�`j{Mih?���
5��y��44�MٻD
F�N4�ѢޥL48P�r�o8�X"J�/s�G'�m?�X#1����xLP��oHHW�$�mP2����Ze�
U~3x�\����5�Iہ��qӶ��ޏ!Mmm!m&s�nYgu6ZdP�	N]��&�U.���]�fU��ۊY�o�¼k����X/S=������ںhm.j�t^�9ȱ1x�
��i
��|��[
-e2���M�
�`,��e��5�M}���������s[Zr�v�ca>���x���r,��\�0R	 �z
Ǯx<V�
q�p8��&��O36��d`��v(1N}@o���x& 0����AD
-��~za_"85M�I8D��)�ӊ ��C�K/�M/�0�n�s�����ׅs>���Ǽ:���/0�
@Tl=��Z\T�4�g$��V?���O�s/,Go�z:�_s�]��no���кCǺ<���o���\.�����х,�晒(���Ʋ
��7퐳���3x&�����Mr�	endstream
+x��YKs���W�HU#o��$��ڝ�We3��
&S.��$�P�������4��K�e9�%'`��/|��mgt������ﵘ�$�\��7���"͈�lv��}�3F8[,�t���yR퓇_����ig�U��s�������}��K����<�k|�`7�Z03�Ej��LϹ`�O�?�|w��
Y���UD"�f����':[���3JDlf��j?�\�o>���7�
\��@"�A�UY拥��uj���M��M��E�dE�_��*
+;u�f�&p/����>V��Q ���POH2\�;`��C�Kab"��-A�Xm?fE��~���
+��p���`�c��s�v�4��Np�H�Z�l�.O�e�?���_�J.t�,rH��f��/��z
+O��u�Z+b4?�ƈ�"qdZ�C����-93D�
�2�O����C����F�LF�,"
+,X���n ��b!��K�g뇤�
��hN��
��b���\p5,.�Brr�+��\�"���D���
�:�T_g�w
�\fEZ�I��rK&nx��@l	z1eN@@h���'M�lƆ�DD]��e�
@*���<
l��APh�C�8��ylɧ�3�~��	��#DK�9�\��`ւ�!r����d�UVl��83P2�l�
��+Z�!�7�8�]D$f�m at v.:�\a����s��8�@��̕���#I�Tc�
@1	� �����u� {Q���{�56��fg۳L9s(��v�ߔ��eӂ�7�ˬhʩ[
+^�Eoϯ�
��#�t��D3̠Zr��q��t�C�:�m�
+�o$��m��r����	I|���
����VI~����M�
nu`BK����;[��%G<�%x��t���
|䔦�K�I
QL^6)�$��m��M�[w����
+��&�W��!I-��s�*l8��:��
Xg��U��\U6r���/s�$&�ǵ�'"w)�HQ��F�K�
+  vv�Iot��[}��6�#��G�#�5�b=4
��^f��1M`'�`�1o\Ȝ+��
�D�πF�i^֣->?�u��apKy�`Ye۬xL	bh���Ǭ�!� ��ɜ���;�S̒�
r
*W�c��֏x����Z�������qL��N�u
�
��C���A|�� � ����C	n��y��$�qu���	
�����̊%�K�&K���@nݡ.����x��V�=U-�v� ���x����K���ςD���1E���L�d$�'�
9��#�
�����
[٢l���
��v���#�7���%��%(�B����e�Ί�
n�!C��.Jd�
��	y�q�<.M�����Q[=��a8�.
+�g�4��0
ʱ�ep��L�A�&F�2�@�5�����z&(T]1{̄��r
���=�[N��@!���p�)�d�5c�	�b��M|
�N�[h��i�}�M
+�c
= ��A�n.2��h�a���i~���^�G�ǝh��E���5�*~VV?�{B�j��O�݈�چYχ�7��^��bt�¶��B.������,8Th��~TB�_����{�
�{��e��߻sIt�����h��X_9���O}_�?>o!��ސueW����� I�a4�Y� �tJ�u�t��~�����N��pu��ؚ�;Ni��5߂ȟ�.fp$��'W(��G�*K0�9��c5�����v}
��b>+��yz���3�y~�h���m u[	���Q��x����D5J�f!��N�S3C�[�d��6s���}�a�
��9�4�����6���g
^�
+�-��l19���N����M��&�-�����*k��VQp4��'^�����'�����!:oG��sw�߹����Y���X���b
L����|�¿�p+��p�FC&֏��G߮�
� ���$ס�r �O��V�b<�����D�h��s΂�'*�ų�{�����};
�&���|��6��meE~����P@*ɱ��m
t9f#�ݵǬ��뽈�Ð��w�ձXNV��ޗ�̕��Ŋ[�-�c�bE
+����B½��d��3k�p�ͱ���T���3�__ڤ�x������y���U��3��KV������0
ja����hl�cm7Ǽ���s��X
ʶz.CJ\ە+��mW@�#��3�9��R?
+���J�?%�
�3&�O� ��p^j�k��l�\��ƒ[����R󀘿$�1��Z�m
���½$�PY&\�A�/��l[��z�g��O�j�МB
���]�
�noIZhYɚ��!�=�u{.�Iu��9m_V]��.h�����	�^�(
+endstream
 endobj
-6140 0 obj <<
+6092 0 obj <<
 /Type /Page
-/Contents 6141 0 R
-/Resources 6139 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6106 0 R
-/Annots [ 6145 0 R 6147 0 R ]
+/Contents 6093 0 R
+/Resources 6091 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6049 0 R
+/Annots [ 6089 0 R 6090 0 R ]
 >> endobj
-6145 0 obj <<
+6089 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.5254 392.7309 163.1255 421.7967]
+/Rect [144.525 392.731 163.126 421.797]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-6147 0 obj <<
+6090 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6142 0 obj <<
-/D [6140 0 R /XYZ 90 757.9346 null]
+6094 0 obj <<
+/D [6092 0 R /XYZ 90 757.935 null]
 >> endobj
-6143 0 obj <<
-/D [6140 0 R /XYZ 90 733.028 null]
+6095 0 obj <<
+/D [6092 0 R /XYZ 90 733.028 null]
 >> endobj
-5812 0 obj <<
-/D [6140 0 R /XYZ 90 635.7621 null]
+5766 0 obj <<
+/D [6092 0 R /XYZ 90 635.762 null]
 >> endobj
-6144 0 obj <<
-/D [6140 0 R /XYZ 90 621.1918 null]
+6096 0 obj <<
+/D [6092 0 R /XYZ 90 621.192 null]
 >> endobj
-5813 0 obj <<
-/D [6140 0 R /XYZ 90 338.1603 null]
+5767 0 obj <<
+/D [6092 0 R /XYZ 90 338.16 null]
 >> endobj
-6146 0 obj <<
-/D [6140 0 R /XYZ 90 323.59 null]
+6097 0 obj <<
+/D [6092 0 R /XYZ 90 323.59 null]
 >> endobj
-5814 0 obj <<
-/D [6140 0 R /XYZ 280.9426 129.7449 null]
+5768 0 obj <<
+/D [6092 0 R /XYZ 280.943 129.745 null]
 >> endobj
-6139 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F11 411 0 R >>
+6091 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6150 0 obj <<
-/Length 1654      
+6105 0 obj <<
+/Length 1240      
 /Filter /FlateDecode
 >>
 stream
-x��YɎ�F��+xJ$ ��}�[��FvǞ�
C�%JCD"��d���5���1
1|�(ky�~�JC
�H`p��B�q,�
���R��~�|w3�z!E`��T7��I���7˷SB%��`���fO�|�_�(�f���x�G��y��__�̓�,�O�m���>��Wq>#z��<IF�22{w����M�\��`������}��%���#f���#b

�NYs��������n

�A ����
1@
Q����Z���r}
-��E���}�}�O,0|W�����,FW/�r��#���jln�ue�- q�Um1Hm��	91Hj*��3B����$�$i��zBP�	�
����,�].�7
U�-��E⾺�VͷmM�$�f��^1���#�ESo�U&ԭ�B‰h
���#����nn��
޺!��F�ߢZ L�
-$�Ч�{�1
-]�a�i� O�%5�ʱ����we
qݏM0E�Q�
>H��
f��&�R���W�FQB�&�C�G�d9���~�� )���'j��j�L}̐d���m�ͨ�ޥUC%+Op����#t���Cj�(]^��R ������<��. ���
&�"��2y����D�T*D���EL3�e&Y3��,ۀo��Js�x�M�d��ks�ƥ(붢�Цx �uTRQ���[�"�Ms��#�؀�:@�L"A��L��඼��.�2ޞ�Y�7<��=�Sc�M�/���E��{��q�ߔ'L0��8��V�
�?��^��
�^L�(l4������՚���hS�
���ҍD$��ix�n�[z�!Y߬_b�ݕ�3)NKt��b
`�j`
VLȋ%�|�A~�h�
'��
%b��_":��?%��v�[|�d`8 0�
�����:_��_�
Z�^�%
.��x��V6���]5�/�2^����O\σ~�#��a�1�tOw�S��i�
ܘ�4��� 7
-)�
�'1�����<�U�n�ʸ��
����mb{�"{Ի��������_#
		b;�aku����v8
L)�u�R�`bB<dRYç�:N�����
P�7k<��<�^�ށ�!�SIm�ydݮ�ǒ|��YC8>�
6���%m��T�]�(�Ȓ}�����(V��Z��$;�T@����/��
��fk�8�
E�(��d���I�M��	�d��?�hj���6�X�
�0oߛ�K��֥_1aZ��;
�T��i�c=�X 
�@�y�c��1J�)�G�aT͐�� q��HiVvxh�%i�en� Q��	�֝��0NO۽%�1��=�e��O�� ƪ��]+�2��t����S���QjIU(2N���iڧP�Ɔ]���F?��0���[��i%B(Z��Z��(�T��u�|�A~]m�
����
uu��_W;�|��O����U���,>�RnY\K|f)o�
��������e�,���R���R~&x��']����Y��+z�nVpd�`ޟ�08$R�'����Ge	�1���IY�X�ITYC��J�� ��f��.�9������g����(�G�곝
?XWq^��R�v�C�������+�� Uw�
-�O?
�l�'�Q�X������,w�WWwwwhQ�}��r��W���j�'�68��#/.l��t�gZ"e�\����z�5�2&)|�=�����zR��E��endstream
+x��XKs�F��WpJ��h4o�6�]W6���*'ǥ�b$S�@�(�>=@��-;Σ6{��~_7`g�`�b��b4{+����T:�����J�%�"p�DŽ J&S�1
_N
�y�//'��hw���_�os?���yL�T����/
+{y��:�o���M�9��Nn�Fo��F|���.r�pV���;<�`Ĕ���b�S���a��?eKъ1DD�GLj�u�</�����*M6��c����gEio_�����9{�D�9N0����}[m�L7 �1�%��d�z��($=�L!<%�P��$
+}c�:�A�E�r+�*�"��g�f&;{���MH�>0����1K8�\�"ejEh;\�N�b6`�#�52�]X
؂�+��}��m�K1�יRЬ�=������*:�
>(�Ԓx��
+t�#!����^	�	�6�0X��f��y�q\�/Mwy:�b|���끜q��|��Ih�F�O�3����xB��\[�A�( ��0Y�q��m�� �T��`�4:b
�AYVP�M�T�</!�e
&a
�a\Ī�i��bzj<�C�6
t��E�SM�B���w�8e	�*��{��]u�+J
��Y4
�
RL��Z�+�.��v&��+�.�Q�0�
��.�t��	%�}��=��������ڏ
+=�6�
>�� +M�]�(�?���8+w)
�3A�ۼ��f�Ȍ��9���m֛|S�9W})= :֭�7:����/up�|][�x���ɾ��>�W6��R���k�o�,Ҧ�i�.��3��e�
?�|4ya�#���G+�)ܾ���F'�#s��)�h3�ˋ��d��+0l)�Փ�(�
+=g��4K�!�!6%H2V�1��
��{�7{<���(��K�n�mn���Q�R\'��c���:�8�^���P���P��^��>Q����9�s0����
A��%�p�<#Z�H��Rx-����S�O�Ӳ�
��c�
C
g�����e�Y&�0�1p��D�{D�uX�8}>���XP�Z�7�����
9������� �>3�?��vX��v?O�Ok���x��O 7��Ou�o
�?�»���?����.D
}�2���
] ��V�siX����
��������B�_N`�����l��^���Ѩ�y�Ď���rM��p�t=n%چ��S_}g���4�f�7h�+�l>���ߣU��I��(,gY͎�栅�[�ۀd]��8�_G�
���
�O�
��
+endstream
 endobj
-6149 0 obj <<
+6104 0 obj <<
 /Type /Page
-/Contents 6150 0 R
-/Resources 6148 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6106 0 R
-/Annots [ 6154 0 R 6155 0 R 6158 0 R 6159 0 R 6160 0 R ]
+/Contents 6105 0 R
+/Resources 6103 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6111 0 R
+/Annots [ 6098 0 R 6099 0 R 6100 0 R 6101 0 R 6102 0 R ]
 >> endobj
-6154 0 obj <<
+6098 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 461.5686 138.5077 472.4477]
+/Rect [88.007 461.569 138.508 472.448]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000012) >>
 >> endobj
-6155 0 obj <<
+6099 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 441.479 314.5657 472.4477]
+/Rect [123.594 441.479 314.566 472.448]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6158 0 obj <<
+6100 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 117.8415 138.5077 128.7207]
+/Rect [88.007 117.842 138.508 128.721]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000013) >>
 >> endobj
-6159 0 obj <<
+6101 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 97.752 314.5657 128.7207]
+/Rect [123.594 97.752 314.566 128.721]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6160 0 obj <<
+6102 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6151 0 obj <<
-/D [6149 0 R /XYZ 90 757.9346 null]
+6106 0 obj <<
+/D [6104 0 R /XYZ 90 757.935 null]
 >> endobj
-6152 0 obj <<
-/D [6149 0 R /XYZ 90 733.028 null]
+6107 0 obj <<
+/D [6104 0 R /XYZ 90 733.028 null]
 >> endobj
-1246 0 obj <<
-/D [6149 0 R /XYZ 90 637.0738 null]
+1210 0 obj <<
+/D [6104 0 R /XYZ 90 637.074 null]
 >> endobj
-6153 0 obj <<
-/D [6149 0 R /XYZ 90 622.6215 null]
+6108 0 obj <<
+/D [6104 0 R /XYZ 90 622.622 null]
 >> endobj
-5815 0 obj <<
-/D [6149 0 R /XYZ 90 433.1684 null]
+5769 0 obj <<
+/D [6104 0 R /XYZ 90 433.168 null]
 >> endobj
-6156 0 obj <<
-/D [6149 0 R /XYZ 90 418.7162 null]
+6109 0 obj <<
+/D [6104 0 R /XYZ 90 418.716 null]
 >> endobj
-1293 0 obj <<
-/D [6149 0 R /XYZ 90 305.3019 null]
+1257 0 obj <<
+/D [6104 0 R /XYZ 90 305.302 null]
 >> endobj
-6157 0 obj <<
-/D [6149 0 R /XYZ 90 290.8497 null]
+6110 0 obj <<
+/D [6104 0 R /XYZ 90 290.85 null]
 >> endobj
-5816 0 obj <<
-/D [6149 0 R /XYZ 90 89.4414 null]
+5770 0 obj <<
+/D [6104 0 R /XYZ 90 89.441 null]
 >> endobj
-6148 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+6103 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6163 0 obj <<
-/Length 1779      
+6117 0 obj <<
+/Length 1364      
 /Filter /FlateDecode
 >>
 stream
-x��YM��6��WpJ쪠�7�ܒ�&��ͮS9l��[������ɯO
#c�d�JjcP���z��`�#��A$"���j;��
��zF�p�a�����+)���2Xnj� A	
���sB%��`��o��b߼YP<���{�.���".
���.��"��_�qY6?ߚ�)D�M�2�I2"��Ň巳����.�$���p��9|;Èi%����hM��S�^��w��;?�@��/��Kr@�R�C�`.m"�z�0���r}
��7�<�+�669D���Ͳj\���o�=���6�?����JG=����K
Aj����1̄0D�Z
E�I�8Q��O�4�̇�PО!,&",C!I9��|�v�
7�V���㱹�7�����v��u��@q�X��pr@#Xk�l��1���cD9]0��H+ҹ�O���3g�����DE��E
-R�c^k����SN�%#� �
�⭩LQ^�'���Q�0�Y��
(Fp�"���ko1�a)�����Y��rM�h:�j�F'�#[uo��ԍ�U��!I��׭3�-h\��

��~�v�
�$c�&�9��e���,�
�����&XF���B��ϕ�U	ԣ	�y�O1��	��fFYA�������i�������d��VHڂ>���j
樞0$�
�Y�����C�ꕏ�\I�_��D�M��}�Q"���Kc\8���b	�&�*���*�M
�GH�2:anDDC%�x���a�)lZ���*5G�X{���S��b<h^ӛ��mY�Dr��L]��C���q�ǎ��t-�k� ��׶�����,*\)q���J��tQX�Hs�$���(,#$��ҙ������k�/]���1Aƚ�
-�_�<�/����
l�4R+����	��Ə�	f����.�Y
-{��H�ai��4K��
_��T�|��z��C[��I�dF�7㗾������8�	����E��i���&h��@Ԁ~]H�,ѳ$�;͵I�� 
��r�3;��H��,�{0RsxY�ok�7#����U�n��nl�{<����o�ER��
J���f�k#��T�r� �=�󴉚Ͱ��k�j�
S�
�|R6�����LlZ�3x��@�e��7&u�im�
-��}�u5�M".��.�=8��s�J4��
��~��&Y�M�2�'�;:�F���]��G�d�m�3�JR	��s���n���Nu.�^�ՐP��}�za������~e�oa�}Z�,n4��0}���[�.n�
`cC��v֥mBD'�
-�8�W<;3������$�vʉ[A+1��e�~O6�L�A��
-�-�l���3MJ�j"�
Mc��V�`*��H��Jgv�������
���҃���u,#
-#���
�o5�2�N�4����`���a���Z�Ɍ
Z�+< �9��Z{s
-<��Jt�D��vq����	���V�ęc���"����iQ\��h����y����(�v��pO���DW��(c��#��;�
g;
v���1�L�dG���.5v�Į��5R?�LWy1*�
�>!�*��@��Lb?��-lB#!���
wD
-���
�@���ӃC`	RÔ��ׂ
ݼ�}����e۸7��{o.~)M��B�����l;
�M�G�
-�[��mS�^<\�E8"�0A���A���<���mu��ȯ��}U��


ЪD�,�(��v��j�[$x��.�FX��G��}�Dz�_� Gۼ�>��mM��l}�@�=DP�endstream
+x��X[��6~�W�
R1��N��v����vzUNW�$��B������'�΁�h�V�����d���[k
[�F_�Gӷ�Y>��|e��rA�k
Z�6!���`��1�����Slg�a��\.������ٻ<
+�ʱ�:�EQ?ޫ���ijU(�$6el�a�~�f>�mD@l����E.�V��
?`+���F���}E�Xe�[�G�I=(CX�=C�7�|��d�� �U��f2
A���VF+H��
�6��f��}�x8�J��ϴ�ӷ>?[���F�`]�D
MC�Ҋ�E
�)#��Q�=Fi
��CM��	!xL�.ԩ�_�����l��q�W٪�W2�4��u���P�\��*ב�b����j��#ꐣ0���|��)7���IK���k�g�	��`vm/���$2Q�ʋY���Q���C.���
œu,qr�#&�R�����Qj�SnT��Y�O�(�맥!��U&/��]FE�'�>c/��°�
�|b�0�A�]Ǽ�=P�2�
��)�1�����d�q.d��%*-�r��!H��<Sn�S�CF�9!^$��%�i8��y�{E��On�"�@�,:�� K�����B�4��A��t#���-�gpK���m];�C�
�V�4�� [...]
��S\k at o
�9D��R�v�	�o�O �ݔĉ<t��U0�>�ʠgЕ��{��FW�B�J�
��!r
~
�^nH����%��c���vn���3yӺE�&���Y�q}��]R9�^��hi���P"Ce-�]9d!�"�=����ݶ�r�
 1��.62�����6)��\���
��z�
vNT���;#��&[
+�R�ɠP%ĝ�M�!�+ĹP���i�e (���1&����p�Di�D(��8y
��9�B�ӕ��/��9�\3��c
+g/��'�[�ڹ΍u��dB=�3~(�[��
��� R�'n��]\>�� �t �^�Q'EL�3e{%�B
H����Mdl�!��Y��Z�T¼4&V N�zO��	M��N�
���Źzv��7�|t;���o�����~���>r{��ښiL�*�ோ]G3�)eN�e�
+^�z|�����^��lc�],M�2T
~ت\�Y��׳ ��@
+�k�]{Y]<��0���3��G�;��Nê.�fٌ�����z�S���ǜ�&����NX�%��f���
~�\�
�4������j�����(�n��1p7e��M���
ڥ�6GQ9�n��yR
��w�/VU��%Y���fR9��	�
�S
+endstream
 endobj
-6162 0 obj <<
+6116 0 obj <<
 /Type /Page
-/Contents 6163 0 R
-/Resources 6161 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6171 0 R
-/Annots [ 6168 0 R 6169 0 R 6170 0 R ]
+/Contents 6117 0 R
+/Resources 6115 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6111 0 R
+/Annots [ 6112 0 R 6113 0 R 6114 0 R ]
 >> endobj
-6168 0 obj <<
+6112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 152.1665 138.5077 163.0456]
+/Rect [88.007 152.166 138.508 163.046]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000014) >>
 >> endobj
-6169 0 obj <<
+6113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 132.0769 314.5657 163.0456]
+/Rect [123.594 132.077 314.566 163.046]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6170 0 obj <<
+6114 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6164 0 obj <<
-/D [6162 0 R /XYZ 90 757.9346 null]
+6118 0 obj <<
+/D [6116 0 R /XYZ 90 757.935 null]
 >> endobj
-6165 0 obj <<
-/D [6162 0 R /XYZ 90 733.028 null]
+6119 0 obj <<
+/D [6116 0 R /XYZ 90 733.028 null]
 >> endobj
-5817 0 obj <<
-/D [6162 0 R /XYZ 90 592.0607 null]
+5771 0 obj <<
+/D [6116 0 R /XYZ 90 592.061 null]
 >> endobj
-6166 0 obj <<
-/D [6162 0 R /XYZ 90 577.4904 null]
+6120 0 obj <<
+/D [6116 0 R /XYZ 90 577.49 null]
 >> endobj
-1294 0 obj <<
-/D [6162 0 R /XYZ 90 373.4587 null]
+1258 0 obj <<
+/D [6116 0 R /XYZ 90 373.459 null]
 >> endobj
-6167 0 obj <<
-/D [6162 0 R /XYZ 90 358.8884 null]
+6121 0 obj <<
+/D [6116 0 R /XYZ 90 358.888 null]
 >> endobj
-1295 0 obj <<
-/D [6162 0 R /XYZ 90 123.1105 null]
+1259 0 obj <<
+/D [6116 0 R /XYZ 90 123.111 null]
 >> endobj
-6161 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+6115 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6174 0 obj <<
-/Length 1919      
+6129 0 obj <<
+/Length 1437      
 /Filter /FlateDecode
 >>
 stream
-x��Y[o�~���SkËH�yk���noә}��b��x%yR���P�d](ƙ��.Pl���9���H�-�?�Ux�)��!���<�aC�p �������oR����c;� �SB�wɧ
!��}@0ƻ�{�wq�����������*��S�P������*M��x�.����A?�jO�N
3	FĎ2��|��滻�9�;g��~�|���	���
FLI�}�/��6߄��_����߆y���W8a�Ā2�g� �(��x(�
Ǣ+cr{'�}�������PO�Ʉ�����>O�4O��MT�� l*�Ik����w���nt��W�F��P(�Y�y��Tw��	,GZ�O:�#� �DH�0lѿM���YwF��
��59�
��>�kb�b	
-�)g�������0�N%�
2jg~N��R?
�M7_���!-�f�T�>e
�ױ�m���dW��`�ZV�Tcs	�h�[�>����wE};�M0E��o|@9�OA���f�?�Y�
�c�H��Mmr��mR��l���H;hs��cs�
�[�/��r�Z|G(O|i���쎎s���b�}_��(w�{�h�L��Qj
tf�G-�NrF(G*
-����r_/w_�5�0�N���<�p8���93�.
���=�S�
v�6.�a)��(���W�`vaK�E�E�"Ŕ�HǨ�"�P�j����}l���.۞]8�.�fܨ�m���Y�����)�E�pJI$L��d at -��e�!���ę���S�{)�Y�a,%��U(P��
kX��r��P��Y\��JR�b
�
��P�ǸI2�^f0�x�Ռ@�"
1�u������@������fL�h(0��0Q����
��Sޖ~7�<�M7r��v�ƒ<N���Cyj\�	�_MQ��
s:����H�~ܓ�	��.묖U7�M��m���4o�~���Y�x2Z�с�)tB�׃]����u�T]7P���g
��_8���
-ݛ��N
0��';�a\S�Z�8)���j@���V	ǍN%��@H�
ϼ�)�
��a�����7^����q����
�j��Y�k�gs�
-�K�_�F��i����3mx6�a$��_�����Zh�
z�!P��`9[ז�g���aJ�=1=\1{��b��4IH�|�
Z?l�8��ӽkN�C���
�:>��
-W��ɱ�p�ٗ�ӄZ�jSHh>���)-��П
<��s���\z�18�1rE#
�����O�tJMk�b�ři�8���d9F2
N��F�FbPt+��8E�1���ƨuJ��;dY�7I~�
�Yx�VTl���8��0!��PK�S��
-#D��ѱx
6Ȫ�_��q�����W�]�m_j�N����}����"vθ��ę��Ukb�!•�&
!�p-��v#D�=���I1 :��֔n7�J)eo
�k4Ai���փV~��E�tb�	�&є�K��<�z�U��Dzj����y�t��+Ф��Sgd���6N���_����0O8�fZh����2��AB�g�����LJ:\z�b�a3��9Vn!^wd���h�$㬶��$��~�������ֆ�$����^��^�w�� �_��$@���?�#�z���MF��Mr��/�sO�=q���w���0�+��H� ���Z�W�3By�cțC�V����r3�b%7=���7"��pƭW&��_������gY����s*o���g�b��,-$�����Ǥ�E�wbB �M�1��~�Q��
-����k]�z������������g������N��p�b`p�ш"
A&�F���?����`�F��.�]�k���4�ۛ���t�ѩH�J���1�Y���
-#�K\0��L"Ϥ@���6��-t�=���:-�a�^G-J���_��_��^endstream
+x��XI��6��W���@��"J�oi�M�4q��40h���-3u}%J�dٞI��r�%��[��=bkga��������,�.u�����qJ�Uh�ڄ J�
�1���	�e����9�v��TX���Ѧ��~�|UD�|A9��Dz,�Ƿj��9�J;���6e�������j�aF@l��l�!�q+Hf����k
#�
롙�Xe�[�f���E=(C��Gz �(5�l�,��H��K��V�`�*\Y�+j�V��i�N�4J����
�Z��>7���9~��_�ۗ�JZ}��߼����3�m�fu�+�I
	�#�)p i�p|4�px
<�R���,
�w�;�>
)�D�9r(F
�'r
Τ�Nj�T���H�l{�t�0q:ȇ��v��&�g�'��i�+TXQ��R���+��bL#+/�� �����2y�VU5��r9^=Y �`}�0��ڭ�K5!8��y~'xdL�eL��{��棱�J�j?w�}Y;Nb��I��J#�����4�q�d�.L�nJ��@<
�.�6���
+�O�E� C8��C�`6V��C�]
+�n�/Xh���.X�{J�$r?ԷP���~.��Qq����@�U������ ce@�9ؾ�q�e���V�
�s��pt��)��>�O
�@*��s��E�'�\��	�I���qH��%Xt�A�䲊6���'�#ףC���3U��0���8c����$<������{5'���ڗ@�эY��P�u�����$(r�j&��T���e
@r��:6b��
+wQ)��Bc�Yؠ�U��QՎh4�.(p%�ِo��)�Vu����؃�ݏӧ-@���Dޞz���gߩ���Rᙌ��wJ��c	��F�g��?g��x`���'y�tJ��#b�'���BVY1���N+
],xı��;������%3]�L�S�(�K� 6ڵ�:j�����! �Ǖ`B��9��q�p�
���m��Q��O�86�?���(�1(��#��>
ɦ�R}�#
���G���yd��
�	��
:���
sT�����‚���
	v�l�J�TQ���B�>�����?J��9Be�
r���P\�SQϽE	W
��?ǥ�/|S������q�5	z�o86M��e(=��2pt"�L�:ϳ�����~�������Y���4�:�FU���vؙ�>�1��mlS-� a��C���_v�HA�����
}7��_�w��B/iv7N��&w����'�������BE_��_�"��QQ����+���7���+��41an^��8wFq�F�f/���W�j8�}��T��s�m��?ɴn�Cx��u�����

6B$/a�e��̡�j����~h� ��!��2᮪������
+JT�Q^�������4�@R"���m)��� Ja0iڴ'��>��
+endstream
 endobj
-6173 0 obj <<
+6128 0 obj <<
 /Type /Page
-/Contents 6174 0 R
-/Resources 6172 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6171 0 R
-/Annots [ 6177 0 R 6178 0 R 6181 0 R ]
+/Contents 6129 0 R
+/Resources 6127 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6111 0 R
+/Annots [ 6122 0 R 6123 0 R 6126 0 R ]
 >> endobj
-6177 0 obj <<
+6122 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 481.4434 138.5077 492.3226]
+/Rect [88.007 481.443 138.508 492.323]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000015) >>
 >> endobj
-6178 0 obj <<
+6123 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 461.3538 314.5657 492.3226]
+/Rect [123.594 461.354 314.566 492.323]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6181 0 obj <<
+6126 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6175 0 obj <<
-/D [6173 0 R /XYZ 90 757.9346 null]
+6130 0 obj <<
+/D [6128 0 R /XYZ 90 757.935 null]
 >> endobj
-6176 0 obj <<
-/D [6173 0 R /XYZ 90 733.028 null]
+6131 0 obj <<
+/D [6128 0 R /XYZ 90 733.028 null]
 >> endobj
-5818 0 obj <<
-/D [6173 0 R /XYZ 90 453.8258 null]
+5772 0 obj <<
+/D [6128 0 R /XYZ 90 453.826 null]
 >> endobj
-6179 0 obj <<
-/D [6173 0 R /XYZ 90 439.5144 null]
+6132 0 obj <<
+/D [6128 0 R /XYZ 90 439.514 null]
 >> endobj
-1296 0 obj <<
-/D [6173 0 R /XYZ 90 287.4246 null]
+1260 0 obj <<
+/D [6128 0 R /XYZ 90 287.425 null]
 >> endobj
-6180 0 obj <<
-/D [6173 0 R /XYZ 90 273.1132 null]
+6133 0 obj <<
+/D [6128 0 R /XYZ 90 273.113 null]
 >> endobj
-6172 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+6127 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6184 0 obj <<
-/Length 1822      
+6139 0 obj <<
+/Length 1331      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�6~����f3�;żm]W��um�=tE��r,̲<In���
���
-;A7
CP ��O<�s>1%�$�8PB!͸
��p�Մ��sx>o���\}#E���T7�jI���7��SB%�9�O���Fyݾ�Q<�6�u�̣�<��ׯ�d9�S��/6QQ���x�3N��"��$#rJ�}�y=yy�(�tL����p�^O0b:�\`D��A:���ɻ���>�A������!a�\���>� �A,����
�mk�P#�Y���y�߳5�A�~
�oQ/�.!
�A�;,b
)n�w���H1
-(�%�8T�����$X!E��Q�]
t�
��ڻ��ȡ�	��iDi��Ǭ��*�������6�m�4ޖQ���U��.Σ2ˋ�
�0$��=K�>�Qg,�fl at Fh/
��[B���Xo�!*\�}4E����]V����ry�ȶE�Gɶ,컿a����O_4�o�
�2N-�3��V-]�k�^�[�',
-�=!���D��xg�@s����� /��S��}���e
)h�Ƙ9�m�)i�0�:)<¡�8��?��{ӑ����}2��
?�
dS�S7�:n57��G!�$�kq>�j��c��3p����ܛ�5h�F��=*�$D�JYIt��q�����m� ^N��Ѥ�JMi`G�t�	�A�5�A
��
FZ��ޜ�i
�;�z���#$1��l�Z��!6]�F�埋xg��Xt<�Ǣ���Dtj�Q�(��@�s�F�&Y�F���4܁R:DR�l
�H�*�-X̐d��(s��3S�����d�i\ ��=���
-����F�]�J=DLr5Z���6ylU_&���;O��,������3m?˻�uE2���r���%�wa7�
�`@��^wo�����z��]�s��ܳ
�3�6���,��]�"c�����
?\f)H��E�
�=��"�E���]�m`+ȑ'��[��m�l�4�+v;
'��Oo�y楱�7/58��q�
3A!��X��d�I���\���A�z����z��_��\���}On
�My��sN�\�w�6�tw��ɸR6����
ȿ����Q�Ƕ>�m�
��_E�"�x�Q�|=Y�%�I����w]�����n���]y�Iq��p�Bs!�8��qp5�U�(��S`��}M�#���!8��	�@���t�~*��$35'�#�F��
�qx1��	��@
t��ΨG�g����t�y&8�3��(��!=y��'S|
6Č�)�������'Ξ�EgO�1��쑳�6~��u�ٳ�3�{{��gOc��:{�`��SϞ���I>�g��:,6�� JV4{Ȧ=��ǭ�6j�i����[C�k���
uh�'���F�nZ�R��$��t>F�@?kh`g8ݨ�GN7���t
���t�kTo����Wit�B�xQ=6�z2�DR�e~���Q�cJB
-�&��,�'|$�-��l`Oc��
9���2~�Q��c,��gX �F'g*���(
-(�����|pG�p!�ޏ�՘�r���m
�ب8�
`�>�9���:*�j�[w�4Z�Ut��Kﴂ5�l4;8b����~W
.�
��j�q*��w�$�n���9�q/V���<�~��U�
�	����Vq�G�203��i�B#!���`��H�e��?�W�@�<�	�DZ�q�j+�>o��
t�5���ڋ_�8�|&��U��v_�ֆ	~4[�,o�3��
ks�����F���:�>�=�W�
�l^��ި�Ɏ��56��rw}u����o�]���j��\
���Y��X��
h�K��,�Hi�m]VU��	��q���fZ}~
R��S�P��Iendstream
+x��X[s�4}ϯ�83D���%o˲�ò@i��P:�V��lo	��O��Į{����%�e]���Α��+;�f_�͎��̉P�S�9[;v� N�s�8�.!����`���9��P�X
�)v�l�����j�\�Si2_P��י�k�<�k��$teKX�g�w)����7g��3�`�t{� �;q>;��N��
�X:�ݨ��(�g��~�a�����QWv��)�a�9��=��7�2&Ƣ�Ig�x飷
�BB��Y��ܬr*��:��9�B��D䇲��U��llǷy��\�h���r=�c%�hJU
���� Qœ
	���"�(����S[��y{X��K�$��,�F��hj3�W�qש_=�u�}u����Q_K#~`)[�>�q=�M�h��nlE̘Ajf�vܧ6����±)�z�,c(��~]��އ�y(
+�nL�I뉽T
�A
�T�qo7��tN9�~Dy��xVݑA>�~�)�lH�4��*�{�)4�h`�X0�\6R��[�c�ɾ8B�9;4��r,�;#�n��.N�v  P&w�������-��
�J�#�ѵn+�n�  )
Ԏ��d%�U�
�./#�"��R��P�,��t=L�#Ƃ� f�°�
Q$Sp
+���h��/���=I���H���+`��
�y at -��7ܒE��Gl	�h �YS��c�@����1X�������SQ�o%�!Y�5�u[U��J`ж
U�U�sI����
���Y��#��-�^�e+Q�T�]A*WyZ�y���+�)XGgD���
�"��� ���a�	
+i�����B^L7!

+�g���P�!ueV��N��ѾJ�m�<��Od��釻c:�I{V�f�Zd��0�QĂ
�=�hڱ�]���I7�u*���}~�|q�p>�z��H��_W/��^��z���z�q�c��@���̞v�"����w���'�1Rn���3y�2�wJ~S�'T}J�	F{
+�U��7}�z3�"��h7�
��߯��c�]�Y���s�℻Ypt�
���p��q�Y��~���!x�Бg�9���\�
"k��C�0�c8q/�,���3%�y��.�D]�ye�	ޛ�hL+���N�Eb[bN�KP�l�I>�6��N��؞��j���@���ͬ��<���՟���)؉]r�ݓ

��N�"ɴ�
*V-�r��DJMx�1M�� �C(���w��B
|,��o�q�H�X��%۾�4ۼZ�6/?�R}9�ܵ��^m!hk������ ��JI´�Z�ܟv�{�9��w��7.���c�4�������5j��R(m��*;�	��*��/�u�i�٥�;��μ;9�HŸ�:O
+endstream
 endobj
-6183 0 obj <<
+6138 0 obj <<
 /Type /Page
-/Contents 6184 0 R
-/Resources 6182 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6171 0 R
-/Annots [ 6186 0 R 6187 0 R 6190 0 R 6191 0 R 6193 0 R ]
+/Contents 6139 0 R
+/Resources 6137 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6111 0 R
+/Annots [ 6124 0 R 6125 0 R 6134 0 R 6135 0 R 6136 0 R ]
 >> endobj
-6186 0 obj <<
+6124 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 723.1451 138.5077 734.0242]
+/Rect [88.007 723.145 138.508 734.024]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000016) >>
 >> endobj
-6187 0 obj <<
+6125 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 703.0555 314.5657 734.0242]
+/Rect [123.594 703.056 314.566 734.024]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6190 0 obj <<
+6134 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 327.1846 138.5077 338.0638]
+/Rect [88.007 327.185 138.508 338.064]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000017) >>
 >> endobj
-6191 0 obj <<
+6135 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 307.0951 314.5657 338.0638]
+/Rect [123.594 307.095 314.566 338.064]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6193 0 obj <<
+6136 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6185 0 obj <<
-/D [6183 0 R /XYZ 90 757.9346 null]
+6140 0 obj <<
+/D [6138 0 R /XYZ 90 757.935 null]
 >> endobj
-5819 0 obj <<
-/D [6183 0 R /XYZ 90 698.3112 null]
+5773 0 obj <<
+/D [6138 0 R /XYZ 90 698.311 null]
 >> endobj
-6188 0 obj <<
-/D [6183 0 R /XYZ 90 684.5008 null]
+6141 0 obj <<
+/D [6138 0 R /XYZ 90 684.501 null]
 >> endobj
-1297 0 obj <<
-/D [6183 0 R /XYZ 90 540.7618 null]
+1261 0 obj <<
+/D [6138 0 R /XYZ 90 540.762 null]
 >> endobj
-6189 0 obj <<
-/D [6183 0 R /XYZ 90 526.9514 null]
+6142 0 obj <<
+/D [6138 0 R /XYZ 90 526.951 null]
 >> endobj
-5820 0 obj <<
-/D [6183 0 R /XYZ 90 302.3507 null]
+5774 0 obj <<
+/D [6138 0 R /XYZ 90 302.351 null]
 >> endobj
-6192 0 obj <<
-/D [6183 0 R /XYZ 90 288.5403 null]
+6143 0 obj <<
+/D [6138 0 R /XYZ 90 288.54 null]
 >> endobj
-1298 0 obj <<
-/D [6183 0 R /XYZ 90 89.4414 null]
+1262 0 obj <<
+/D [6138 0 R /XYZ 90 89.441 null]
 >> endobj
-6182 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R >>
+6137 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6196 0 obj <<
-/Length 1896      
+6149 0 obj <<
+/Length 1470      
 /Filter /FlateDecode
 >>
 stream
-x��YY��6~���Sk���}k�$hz���>����e[�%9��[��w(Q��v �����p�ofh2��L���G�q9]%<���b�=���?,&w/��*�$��Ŧ� 	���b�nF�d�������Y�'�����Y�?�u
.��0?�߿���ܣϞ�â��o�M��I0��U�$#rF���_��<_����D��a��=���
�&1��<`D���d�)k
����?Z>�F�����[l@�R��
C40�xȲ=
NQq�M����zYauZ��r��E��qZ�0]/�8����H[�@��T���?k�oOE%�q���w/��U�&H \�ǫ�&�0 at T�� ���tـ%����}�F�kBA;��k��Oa�#I9�>�~�6Pf�G��cȇHhU�̢G* �Д���H�q���n�4#;�p���G�_��Ҳթ����E���8��ėHbh۞B��!���f��ہ�<*��
�!��
-����
�ץ�s��xI
Σ�z�GH1K���p�)�%n�-�E|�f�G>a��M�߄�"�X�Q�����xS[	2�^d��d���Z�l6�O�i.�첁�D8`W�{&r��rǬ!��B�De��,<�2�@e���:GhO4�]B���-�Hd?�)FJ
D..�T�t� @1Z����V�+�F��$<�I�hUmk��K!1�~��٥��M c�:��Wѡ�3W�؄;\9���˖L�Q�PI �8�=��x�
��1ј6TJH�B�HK5V����!�`�Sf��3
�O)8P)��c��1�� ��
-�r�Ay�l��wB���>5l�V}
�
p���,9�e���=�>����d
-1���2!'JȈ�fV��c�@1$����!5�S���n���ff/��L�}����p��22��p@����Y.gī"�
-<v�
E)
-|�iP�EёV.
:�4T��6��3Pq�XA�zL�L���]X֫Uh^=���pmV�Cv,����b����)w�C#�8���)6ǽQ1��V ٠Qh6s]�͇Uh�4����w�*����+�M���:��t);9`��,J�\Đ�É��ي@�ηf�M7�L�x\C"���i����u�c��TA����
�����W^O׋��=�#�Z2���(�=�P
^4���&|��j�k���Q�G
 �䰏t-	M�k�a���!��2�GM#
	��3����	����e��(mYRD�?ؔ�
u
g�`V�uf�C
-�M��S\���f��
-���g�m�p� ���J�Dÿ�t��T��?�fB
-�f�P���wNn�"�)X�ޙ�@�l��̍ym�@�H�z� ���(ƨFk"ݥ�Ku���7�㭣�M�4�7�-��3�i�G0���[����P��H]X��z>��B]��+�G����������	w�b���-٧5�N�����2�f��L��7õ����\�/���+�v�wB
TnPXݎ0Us_�0���^L$�9�w�b°���/QL��S���N5Yz�[��t\��
�N����vH��-�F�Phd�
P�а�,4�{8 ��
n�SƿZ�a�J��qC\��2đ@œI>��ɦ��F��a�%븦��[#��[���Áۇ)�'vq1��E���f��H���H@�n.96�._
u�����J��
�3R�^rz�|�c�	�#����[j��.���:�b�C�����W�
$�O��"u?��%z��Z�,�:f
�BV?�jV? ���΅����5L��]�u{Ԭ x�ATź���^� 
��>���w��6����l?�:_4?>�O;�ϼ+� [...]
�:鹯\��Z��.=�3�h�'��eS���+﬉�8��I5��B���
��?ר
Iendstream
+x��XIs�6��W��J3�� 	��4�4��D�
܌!�Sn�bU���@��HӲ<֩	$�|��

��������
s
������=�8%�2t Jfs�1�����"�����,>�TX����}!��b��ٜr<}˲4�Oj��	�*]+��cěR�;,?N�-'_'l�i��>�w����
vBx�������7�ǥ
�c����	>�e{���
�3�Y������Z,d��#��:V�j��eU�(�ʕL�U�Q���g`�
�ܮ���m���PV*1�F��y/���>
�0I3x]�.=D!*����>�Ӏ���8J�ӑ㓎`k��O��#��f��0�I�23��Z��=v4�\$���vQ9�:����N�mQk�����:�A�
�UZuF���2����Q:�C<���YdSg�|gf�����`�B�u\��-$ق~.���s�����j����b8�gr�|, 9�$��؍�K5b:����5=�������g3����>ɫ������q�p�e%U�b��q
��4?'#���%�:�|-T�m�e�ٜ��z��F%��~�B��Ϻ���h�»�*��,}a đ:�
+����郌�p%�m��*8���Ǹ���}
+

�3���]��Q�>
+��x#5 ���%
0���P��0�K�<J�Y��*���
��}��K2�}�� �
+ T�9e��s� =�'�#�
d��u���Q��o�!�q[�e��YQ)[���AMn�-5�X�<]
��Z����+
� s-�����gJ�u[ހ��u�`�<W;Y��Z�W�vP"æŦ�>��Q2�6���"t`��v�^�
Qn�ؚX����ۺ��c���l�ҳ<����
4�&'n?ߥܨ6����g��C~0���Zy��q�l�O	��[�!5*�9㹬}Vʎ
Z��5V�1���U����1�c�YF�L�N�
�\�ʊ>E�hD�hi��P��t����A�2ӠIp�43΢�Z�j�:�3��_M��Ƿ��c�Up���v�'
_"��%"
"A���`��
��ޖ7h{"%'���B͢�l�K�js�N
�ga�;&9r�w��A��8]��QS�E�eW
d�7�g)Rs�7&8:<��|V,��Dx�
m�{��
+D��+G��L�\]�w*�,�=��� čxh�zT<���|D�?�V
���[�f�
]��Z��N��
']8�
Kt�
;O����
P@�kQ���

'�|�
#sm�"N��֜v)�;S��۵8�|F��c5/�����!1T4�`5��a��z(������1�Y��$��b��PSt:��B�
Ĺ; ɭۚ��cKz��2�y��/��q>�p�E�u#ϡ�	�AO(��&F$/a���y�(n�{;m�'sor4�b��1[���77��
�KT�Q^�������1����M�N�l�c��)��|D)�L��(	� 4\�
+endstream
 endobj
-6195 0 obj <<
+6148 0 obj <<
 /Type /Page
-/Contents 6196 0 R
-/Resources 6194 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6171 0 R
-/Annots [ 6199 0 R 6200 0 R 6203 0 R ]
+/Contents 6149 0 R
+/Resources 6147 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6111 0 R
+/Annots [ 6144 0 R 6145 0 R 6146 0 R ]
 >> endobj
-6199 0 obj <<
+6144 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 462.2963 138.5077 473.1755]
+/Rect [88.007 462.296 138.508 473.175]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000018) >>
 >> endobj
-6200 0 obj <<
+6145 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 442.2068 314.5657 473.1755]
+/Rect [123.594 442.207 314.566 473.175]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6203 0 obj <<
+6146 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6197 0 obj <<
-/D [6195 0 R /XYZ 90 757.9346 null]
+6150 0 obj <<
+/D [6148 0 R /XYZ 90 757.935 null]
 >> endobj
-6198 0 obj <<
-/D [6195 0 R /XYZ 90 733.028 null]
+6151 0 obj <<
+/D [6148 0 R /XYZ 90 733.028 null]
 >> endobj
-5821 0 obj <<
-/D [6195 0 R /XYZ 90 433.2404 null]
+5775 0 obj <<
+/D [6148 0 R /XYZ 90 433.24 null]
 >> endobj
-6201 0 obj <<
-/D [6195 0 R /XYZ 90 418.6701 null]
+6152 0 obj <<
+/D [6148 0 R /XYZ 90 418.67 null]
 >> endobj
-5867 0 obj <<
-/D [6195 0 R /XYZ 90 272.1979 null]
+5820 0 obj <<
+/D [6148 0 R /XYZ 90 272.198 null]
 >> endobj
-6202 0 obj <<
-/D [6195 0 R /XYZ 90 257.6276 null]
+6153 0 obj <<
+/D [6148 0 R /XYZ 90 257.628 null]
 >> endobj
-5868 0 obj <<
-/D [6195 0 R /XYZ 90 111.1554 null]
+5821 0 obj <<
+/D [6148 0 R /XYZ 90 111.155 null]
 >> endobj
-6194 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+6147 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6206 0 obj <<
-/Length 1882      
+6157 0 obj <<
+/Length 1469      
 /Filter /FlateDecode
 >>
 stream
-x��Z�n�6}�W���������v�.z�]}�.
�V���J���%J%Jv�A�ȃuqg�
��)�?25x��B�q9]�&x� ��N��������w���RL
2����
A$(����!����`�g��Ϣl���)���x�E�_��,�N��o�d3_P�go�Q�W����q6'z��F���er�q����e�aL
��_�ts�i�3ZL��#b
��&���d;y?����Q>
-� �P���
����bo�ʴ�.,��U
>`L�x�����>͋,J���g���j�7�m5��F���ZP9�
-cgg��+o6
AD�3 ���e��� ���.�ABQZ���.�Q����dO�����-
��v���цJ�BJ*�C�`h��3(�ՠ��YeO�Scq"M37�~92r�}L�cȶ!�6B]jj�0�j
-�@\i$Vm�h[�ɥ
�0��U�)=:
-E�������`��$����#�C0$�0q
�ɋ�PD���o��N�H[���t`Py~��
�Cx~tlKܭ�Q3ݻ
QZ���
�mR��R̾�yJ�����9L
�}o3k_HC.d�e5�qf�*�������C��tG�
p>��.��l�fF^@eJ�9��A۬��ḋ��2I[;G#�X����
3$
{`���~N���%2��yN��5ּD
ׅ3J7��%���umŊ2G�M!�!��$]�w��H�1
-��,R���(�+�)�R�5'�FjI�==K�ja���`e##D������w�$�rĀc�	X
��F�huA����98WHR�>S��c��@�aUj�;���ʅ�ruI`���j�J������Q�}�,����
�p�j�Ή�uI��(
�}c����bdL��r�K-azӽW<F�$��)'NIC����
s	yQ�B�Ѷ�1�6�W�P��Hz{��m�^�C��8�PLX�<0_�]�Q/S"���l@�X��ٵJm6�8Z=�i�E�>�������p�z����jy�=�5H
y�	E
��ͳ4�=�q	R�w _�A����D��>Dc[�$�쵴�_�*&8���:ֶ�cLQd8�����j�C�f��9�]�
-���7V}�
���Y��WСT(�@��:�wC�Nc���(F
FK��Q
zj���@����X1a�ː�1zuQ
Ы6{�X�F�,�=0a���xb�ԠXj��
��RJ���R!�Ņb�'�X�X�W����5���&�{4�U����w
�,�
�S)� ��L���1��x�r
���FDs�
-���T0ϯ]�lOpt7�Ƽ�=�m�
�E��P��@+�{�l��sz�jg�>��q�1�X�3)ۑ`r�Q.�#֊�
-�����$ņ���
��*������q|��I
�h�o[
�z
-	�v
��n"`������}cv�������y
w��e�O��פ��2ɡL�^�(7��g-��]��K`���f�zNĬ�"�
r�6�Ж�0C��j)�nFB����E1����e��hD��HL���|�;���ٹi�
Ҕ\�V��FhF
R����(�DO��a�kcZ
�B��p�6;�"MX�=UGQ�w%��s����u�.ݹ�v��
Ew�c�Ӥ�c�t]CibZ�m��P;Ώ�u���ǭ��U���X�D#w3��c�
,�'y���3oe�G
8'\�=_
��[W�6q^ �훈@-2x*
�x�$�a�D
-�Y_��-���󁂯�v_�k������m�;�����5o��y�}=b����Qz����k��P �+�"@Ŷ�r�>�����"���T��{Z�|�g����D��Tk��q���p{s����9:��!CIqs8lo���]�
:ߑ�-�
/�LK袡D���ׂ��7��S���,a{�%9 �?��0�endstream
+x��ۯ�6���+�4||�
���j�u�ԭT{h+��	MB��>���C�M���$�|��g
�
���4�=�,PH	*��4P8�A��`��� JC�1����RO�
(����$����>�؎F��4
)��
]������b at d�d���#�OY4�<~�{9�}���^�G(b<�����q���7FL�`S�Z!ep]�{���Y=(CX�=C�Q�U&��2]��h����1��d�V�I�geU�4��D��	s\?s�h����Y�^)~ jH8�\�"������&DN�,A\��
C���4R�x�\���~���+�����Sw��y�؉q()!�

IڒB�PȦC��I
o2ן
j�8
+I�W
��uC�@�f�yZv,
�V����j��ȘC� �C�A�������2E9j������(�
+��sz`��-
+1oD
wX��_�&A- ���;��zWf��3w5_�z�Vہ���c6�b�Z�~�t��IΚ�JDȑ�^��U�����G�(+H�4�� p2��l�4.؞4G���V����y:���"&�AE.� ��:�,�J
+�dt}N�»!IA��9L�8_�t�>.
��~�Ey� � �m���E��J7����
i����0y�-+�t:v⎡������%�J^�
��&	>�v~�f��AR��"��!��P|
�����������s)L��
���8~W�u�&�v��Kw�/ڨ;o�R�F
���Ϡ��<�σ�Dҿv�t��ka��d2��df2S�*/J;>l��`:�{��s�ͺ1'��s<�
s~���&�
�{�r?���w���)l�q�v�ńb �?MC�
64
�I��%J��!��Ε|����������|BF�{��J�0�w
+��_��(z�R��8#���#D‹	���c����� �~^�N�[A�TKuw
�
Hf�+8�X��d�jc�Z� �:�B�ۋ7���;9w9)���G[u���\ﺻ�*�ۘ�bG"��ձ�؅'Ŏ�H�R���>��
�Q�(���}u��,s�*x��)
+M���G0�!�?Q�n+j TH�
�~?�aV�4q�zh�[�{�+v{��8��P��
TUB�ʷ�
T�%�7�L�(�
!��۶�����뤻P�0��:r�3����
>���5��3Ge����������l6:�4���p�ȳ�ֵtY����ݽ��A+��ѣ�ԉo��|��y6�6U�L���D�U�p��cS���‹X����6����T���k���}y<Ҡ.�D����Ī���O����?�O2Ǚs�G������	���@�H���
+Jox�wV_[[�mS\ݭ����Ci����=M��l����կv*��s.<Ĉ�oU�l��tzo��ԩ�gд~���
M1Cd�L�Z�

6�
�K���U���a�Z<�F�~b7�;�N~/��W�

.�����5�M
+endstream
 endobj
-6205 0 obj <<
+6156 0 obj <<
 /Type /Page
-/Contents 6206 0 R
-/Resources 6204 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6171 0 R
-/Annots [ 6212 0 R ]
+/Contents 6157 0 R
+/Resources 6155 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6111 0 R
+/Annots [ 6154 0 R ]
 >> endobj
-6212 0 obj <<
+6154 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6207 0 obj <<
-/D [6205 0 R /XYZ 90 757.9346 null]
+6158 0 obj <<
+/D [6156 0 R /XYZ 90 757.935 null]
 >> endobj
-6208 0 obj <<
-/D [6205 0 R /XYZ 90 733.028 null]
+6159 0 obj <<
+/D [6156 0 R /XYZ 90 733.028 null]
 >> endobj
-5869 0 obj <<
-/D [6205 0 R /XYZ 90 603.144 null]
+5822 0 obj <<
+/D [6156 0 R /XYZ 90 603.144 null]
 >> endobj
-6209 0 obj <<
-/D [6205 0 R /XYZ 90 589.2387 null]
+6160 0 obj <<
+/D [6156 0 R /XYZ 90 589.239 null]
 >> endobj
-5870 0 obj <<
-/D [6205 0 R /XYZ 90 453.8499 null]
+5823 0 obj <<
+/D [6156 0 R /XYZ 90 453.85 null]
 >> endobj
-6210 0 obj <<
-/D [6205 0 R /XYZ 90 439.9446 null]
+6161 0 obj <<
+/D [6156 0 R /XYZ 90 439.945 null]
 >> endobj
-5871 0 obj <<
-/D [6205 0 R /XYZ 90 292.6006 null]
+5824 0 obj <<
+/D [6156 0 R /XYZ 90 292.601 null]
 >> endobj
-6211 0 obj <<
-/D [6205 0 R /XYZ 90 278.6953 null]
+6162 0 obj <<
+/D [6156 0 R /XYZ 90 278.695 null]
 >> endobj
-1299 0 obj <<
-/D [6205 0 R /XYZ 90 89.4414 null]
+1263 0 obj <<
+/D [6156 0 R /XYZ 90 89.441 null]
 >> endobj
-6204 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+6155 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6215 0 obj <<
-/Length 2132      
+6171 0 obj <<
+/Length 1599      
 /Filter /FlateDecode
 >>
 stream
-x��ZIs���W�HU�}�-��te�u���0�r�l�"�
-I����<� �"�g*�@�����>�d��,
^(��a\.6��x��o������o�on��ba��T.��$A����~�$Q�Z���ӊ�eR쓇O+������n����c�oww�t�ZS��vIY6����+��6�X�I2"�������|s߂����A����?��t��#f�X��F����p�������_�y��
1�.�eK�N6@
1�
��;�/���]��><����f�H��(�l��O�t���������YY9� ^������fz����VVv���N��[�:Z��\�4��粑�i��Rz	X�42�vdք*D5�0RHR�k�_o�~���g��-ޚ�����^l38)�\�������
-V�c��!
q.�ZU>X��%��
��yi��b$�d�50� ��hd��4�|�
��U�fa��M�=��<�*4
-&Z-���v�D]9��Rcw��.0���c���g[
!*�2+L�b�L��JE���)VH&N�����]i#�c1���.���w.�yK�����F���z[I�<o`" ���}OB�e
Q�����B���-�,<^~��
&ng/u����D"�0�Լ-�EH����K~ȳ*I�r&����o�k��5�G/
���
���#�%}��>�ZBqD�d��Օ:�\€�M����{��|*tc�Ox�EܵZ1����A�x�5�AmJ����f���H��;i�Vj
�o}� Oø����WT,_��4r�a��!�yP���{!��"�
z��d)�i�4�m�oS�b	��N�M�?$U���PG�:/�
-�'TtM�5�]�t6���
�l���ڪyU,F�A^�^^�C"��j��}Y}t]��?|IZ�����YU��P�_D��?B�C"�ѿp��g��s7�}���	�L0)��o��7Ie���a�E�.�3�B�q�����=�
�#I�
� �`~�v��r$���gm���Yw��^�)�lh~���ag]�I\V<Ӏ����ˮ
�0Q�'�a�J�h0��-wXS�d)�T�m�
��Ы]A6�O�mvv�yD���!ײ
��j�5�6�
�`<��#��	
/��g��Tק��{����(��t�ѕ:��8�Jbq9U�\��z��G��V���*0�b>��u���A?��Ud!`��#$���
���h�8c�z?
-�q�Ȍs���BK��o����<���Z]����[_��n\�����2�Xv�C;R
*↪�Gl�)�
�8�A��1�I���L�q��t��2�9Jb�N�3�!
���˝�&
z�p�u3
-�K`<shҕ�p3I��P��.�&M���w��&�|l!��b�\�y�0J��?������6����_�'[?J
�c��0���l�"T��!,\
7[�Oǝ�X4��Y,�h��l��"�C�ֿ��A��6e����Ɇr��e���z'r�"���ƭ�$�K>�NA�
-fՙ�����S�Ħ�U߂��jf���?+������`<���J��������<|���\
��M���
�,�me(��&�6#��0�
|�7F
�Q=C�#.8����ce�9�p�2t(�>���C`"h�f]*ȯ�/D�j4���4*�4�)T<�i�g���vP�i�Ah����
�3_y��]N 5Q!E���Kc}����V��oyHܧOfة�FO
N�nҷ��r�:
-0FN��P�sVS��MMt<��9�
�r�������3<�V�R�>Y�W�����>BoW[���S;F�t�%H��
$u���Z�[��&��z
��ǗN��(�F:�|z�:B�}��Z\L4"KOl�C|߂ԏcS�8��!�8��"9G1�A٣���)��Փ9��R�����ͯ9C��
	����&"Rȟ�O#��H
�`Hw�`3���B�^�}r�ε
�2�
ͥo
�������J�������N]�W7$��� �V��9DZE�(Š������\���;5���N�Nڎ�u:�T�������mJt��C����p�ݎZ?��2S�n�FXz�g�8㾁t�<�3�}
Xl���}�l�\���8��_3h�{endstream
+x��Xے�6}�W��U�F�o���V6�ͮ�<l�\�m*�x&��O
	l0c�3N�RyB�.ݧ��������7�/����
sx�s�k'����)q���qJ�d6'���SY�r�nF�4O
�**��������b񦌣ٜr<}�Ȫ2��j��S��
+f�񦔉٧��ɫ���	[�C����|Ɲ0�|�����u0b�p�^��R���0�q�O�A�
?�1ĸu�6�hW<ͯ�BF�j��Fe��u^V+�E�4��4�S��~�
�yV��A����[3�L�7��Շ��V���3���u�� D �r����L���	�=`qb�p|�gN��� ��G]��E�I��BC�`��y�[e{��{�Ysz&3���M�C\亝�u>X�:@�5b�6|o楇P����=��X�@�n�m<f!�N����,Y�h��f`m��]R�&��|
�hN	ׅAXP3�{U�0�4���=D�q �s;v-�J���(b~�
[� K-jYb��Gݰ?-�*-ꇙǧ����)�w�֔LU�ʁ�y�s~��9��#���/�qV���z+���q��֭�
%�,T��J`$�ճ�tL�����W����<�0 �����
+���;� ��r�KUV��S�Q@[���2�Q>��fsF���c�\�|������օ0BY>�B�f,��B(Kel�bp�@�q�i!��6Q��Ӽԝh��&��/�^��^Ք��]���#^������;b
�+�,�rF����y��֝���]w�,�8�+4HK�
+ʍ��� U� ˿R����U�H��=I�J١C#����/����j�u���i�(]R��#���A:��>v��A�=�{�@�x=i#`g�@�X�
�D��9����d�Tڀ;K�J���a� xL�\�^�\�Χ=��x�\_��K��	���0!�&�ra�<J��Ti�h\��H]׃DO�!�e�b� ��EE�)��?{E�ʇ���
+u�5�sF�`]����
YC��jH0&kl
����\C�xMٞ�5p���
���m���9�$��
�8����K��'k�8,&
]��hɪڥ��O�ݪyh��~���Rٖ��s2�w����6
�!�D�Ԯhׯva��j�K���y*�s����,5�ځ
��
��'�9҈<���틼J�U˙��j�>}t��4����
+��g�k�(�
+�;
e��e=QD��֧�#��E�ϳ���XB��� ��֥�
�ʱͰ�PqN1
�WA/�vw���0C#�h at t��I�Ee
�DC{֦���
���I��%�H�����zk< )P������YR�+���yk��t��#��i죀�y�R�)'�d��jal�i��5�8��HP�_��=�?��p�MIb�,�C�
+�"w�	�~�넄�Row9sPSg�衎Ǟ/
�\����	�s�=~ޖ�
/Z��^�r��
^�{��O��on�a-
aP��v�p�wY�N3��j��r�y��m^~�T������;��d�g�;=�IF )JE�&a�����q�7�m}c�K{�)f��a��u������Ga�vY\�(�o�"�9N��,����=K�y+��
>u�/�8{�
+endstream
 endobj
-6214 0 obj <<
+6170 0 obj <<
 /Type /Page
-/Contents 6215 0 R
-/Resources 6213 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6171 0 R
-/Annots [ 6218 0 R 6219 0 R 6221 0 R 6222 0 R 6224 0 R 6225 0 R ]
+/Contents 6171 0 R
+/Resources 6169 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6176 0 R
+/Annots [ 6163 0 R 6164 0 R 6165 0 R 6166 0 R 6167 0 R 6168 0 R ]
 >> endobj
-6218 0 obj <<
+6163 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 538.1258 138.5077 549.0049]
+/Rect [88.007 538.126 138.508 549.005]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000019) >>
 >> endobj
-6219 0 obj <<
+6164 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 518.0362 314.5657 549.0049]
+/Rect [123.594 518.036 314.566 549.005]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6221 0 obj <<
+6165 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 258.4453 138.5077 269.3244]
+/Rect [88.007 258.445 138.508 269.324]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000020) >>
 >> endobj
-6222 0 obj <<
+6166 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 238.3557 314.5657 269.3244]
+/Rect [123.594 238.356 314.566 269.324]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6224 0 obj <<
+6167 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4002 183.9637 212.1242 194.8676]
+/Rect [149.4 183.964 212.124 194.868]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-6225 0 obj <<
+6168 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6216 0 obj <<
-/D [6214 0 R /XYZ 90 757.9346 null]
+6172 0 obj <<
+/D [6170 0 R /XYZ 90 757.935 null]
 >> endobj
-6217 0 obj <<
-/D [6214 0 R /XYZ 90 733.028 null]
+6173 0 obj <<
+/D [6170 0 R /XYZ 90 733.028 null]
 >> endobj
-1300 0 obj <<
-/D [6214 0 R /XYZ 90 513.6374 null]
+1264 0 obj <<
+/D [6170 0 R /XYZ 90 513.637 null]
 >> endobj
-6220 0 obj <<
-/D [6214 0 R /XYZ 90 499.8892 null]
+6174 0 obj <<
+/D [6170 0 R /XYZ 90 499.889 null]
 >> endobj
-5872 0 obj <<
-/D [6214 0 R /XYZ 90 233.9569 null]
+5825 0 obj <<
+/D [6170 0 R /XYZ 90 233.957 null]
 >> endobj
-6223 0 obj <<
-/D [6214 0 R /XYZ 90 220.2087 null]
+6175 0 obj <<
+/D [6170 0 R /XYZ 90 220.209 null]
 >> endobj
-5873 0 obj <<
-/D [6214 0 R /XYZ 90 89.4414 null]
+5826 0 obj <<
+/D [6170 0 R /XYZ 90 89.441 null]
 >> endobj
-6213 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+6169 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6228 0 obj <<
-/Length 1797      
+6184 0 obj <<
+/Length 1352      
 /Filter /FlateDecode
 >>
 stream
-x��YKs�6��W��J3%��÷6M2M_i��d4��l%R%���� )R�(����t|0�Ň���- 2��G�O�P�0.���O����	�_G�>�|s19{!�� #��^\U
$A�:�X���(�Gc<{='x�x�zN�,[���U
/~H.�8�;?�'�yD�=[�E�/��+�ω��ti��dD�(���&�/Zp5v�$q�������+�ë	F�h1����1t��pʚ�����֏Q}
-� �>1�
a)�>�!����"ss��/,��t��E��I�óX��w�nn(�I�˵-om��
��Fu 2C��
�Y�+�ť]D�p��"�m� �Igp��
{SQ�H��o$h�(j�"����W�ϲ�vWZȶ�tV������Si�Zh��*��m�t2��G��4��
�:8�9��u�����t�I�
b�D ����Ri�N�P
�p�Ǒ]��n�	Kx҄�:��rd4is{��TP�ļ��M���[�,�
��ا�zP��?l��b/�w�dc�"UQ��Ԝ�MD 
M��c��ïRX���W�)�2��4I��m��]��v�~��j8��7OV�
i��F
���D3�45,X5�QԵ��6p�/!��DT#�Toli��|��0E�Q0 �Z��؄`Hab�u��A
{p �X��Gk5��_�"r �)��t݅+��/]wٖnS6qm{�����6�M�hzP(�b<�
�����ƞ�����[GF#�

=��C
�6VCQ�� q�x��q~�����j$�V��5 �*̐dp�Erq�gs*f�U��,	�%-��)�R"�S%����(���lA*@|�;O��*K�G��TH�8��S|P;G%�5����nNi�
�$h,m�щ�5GJI�=��
�����pѧ~Xa���j�%i e� .���In7٧{�
-�/�Uj���09XqB
4nfи9h�lܒԑ1�
-e�5��i����
�lz&�T�]`
A��O�`LQ���
��
-U1"�
:������Ikc�,�c���rs4�j�P��*�H�������d��O�=�Z3=.]��z�A
54*�����#z0 ���a�0��$
��5��/
-��(0����X��"��d�6N�Þ��,Aꂝ6R����㚺.�
�&�#hk�\l�4���&��z
s��9z�}^��Hi#N�;Aj�ς(������4��U�Z�ǶUGy��n�s!�y�ku��H87��[�r�Kc�����7
>�x���*^6:��tS�I��p���O�w-+
ߠ&u��Ͷ��Kq\XaHsrbٵ	0cH)�,����|�"�,��Ôe4"{e�	+K��,�"��S(�@Drg��x�߰4uQ�1���ck�k���w��C��
���<H>s[�5�p��kgց���Z+�
�[R���G����7>1r�c�r>�?e�mh�\��l��-��'D}���6��,/'�����B����:�
��q�i�c�c�-�uq��y�nL	�ڏߍ�����em�&
U��C0��F�U)��S�3")$��q
�Z
'-��;C������#�4@����a:�����5��s�P���bB��1�a�����~�6U��R!��ݞ��
�w"��uЎ-�ۆ.�m͙�����_΅�Ք�c�����5?9W��i��bGyv���m��J����>m������|u�h:��l~ݜo�r{~vv{{��ڥ�6GIy�ݮ�r��<���H��h��y�%��@v],WYͦ�,o���pS���	� ���xkendstream
+x��X�r�6}�W�%g"�$������͵ݼ8
%�6Z�JRVկ��]��Ğ^f�$��g��][���f�\�N�y�HxԳ�n,�-�#�Sb]��k�D�3'c��!��8\�;�i����<\���y��NO�r�v�c�M�Y^��;$�e��`�cij)Χ����W�?f|����}�3n����'l�a������NŖK�F���>e{�b�u0�:�T��y\h���d�&E��*��a�#��2f>8��.#Y,.e�������=���{.�_�W���\��Ak��7��#�=[���A�\ ���
8F�!�{����9�G]s�Mg�RB�<L��NV�19�o��\�ͬk8@�C���T���G��*,U����|T'���h�O�ră�������q�h
Ν*&����-�[UޙrYdrU:��eڅUm�t��"
W�kˤ�h�	�(��
d, �p���
���ֱh�2tި�D%��r[/ �MT֛���E�˞V�iΠA^G%7��"�"p
+5D��Ʋ�yq:��33�	*
��9��`���g�����ʵ^�\W&�z��:��nU�ղ>:p�8"�`�]�@�
+���?W2�$�L<DWKE	���r��Z/��v�GQ�H��<u(��U�������<���C%�!�o��<�E|� �8� �4���U��[&g�qA�>8��Fv�:TYZ�zP��XG�
+�-M�U	W�D� ����e��&w0��^�x
+0�
+�Nx0jTb�Qi�
٨T��A�
#)��^�җ]Ǟ�Q
t	�
b7��L?>�t�O�zt�וW�Es]D�gQ4(GܫY�d����}7|��=):/�d=a�x(���+@���C�������<�1�E��1��g���-�|�E�6IwJ(�a�6t��twqM�e�B�a<x��"V���_���ף������R���� ��/�,�C��E�[^5�z�:48~�R\�r��Y,cok��Mo7aT�	�P�oI��L�`�O�]+��_U����r�x�����`0����?%�=h��۾>2���23�-s�
+p �d]ʣ$�_�8~JK�T�����H����
�9�yX�y1B�0!�@; O��68�X�h_>��
D�A�w
�
+x#���d�}��osɰ����~�Ә
������a�
+����0�/����'�
+<��g��<� �,�?tr�8wG�>�u��RQ_6Za.k�0�2���ܮ��c�l¨��{m
+f�V�0���d�$L�
�@	�ԩ�	�w�Y}oF��i�"]���2;=9�n�hU�M��
��$ˢ��2���@��Ik�iގv�W�����9;�Y
+endstream
 endobj
-6227 0 obj <<
+6183 0 obj <<
 /Type /Page
-/Contents 6228 0 R
-/Resources 6226 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6239 0 R
-/Annots [ 6231 0 R 6232 0 R 6235 0 R 6236 0 R 6238 0 R ]
+/Contents 6184 0 R
+/Resources 6182 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6176 0 R
+/Annots [ 6177 0 R 6178 0 R 6179 0 R 6180 0 R 6181 0 R ]
 >> endobj
-6231 0 obj <<
+6177 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.5732 690.3327 216.2973 701.2366]
+/Rect [153.573 690.333 216.297 701.237]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-6232 0 obj <<
+6178 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 589.0719 483.2121 620.0406]
+/Rect [448.024 589.072 483.212 620.041]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6235 0 obj <<
+6179 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 285.1735 138.5077 296.0527]
+/Rect [88.007 285.174 138.508 296.053]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000021) >>
 >> endobj
-6236 0 obj <<
+6180 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 265.084 314.5657 296.0527]
+/Rect [123.594 265.084 314.566 296.053]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6238 0 obj <<
+6181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6229 0 obj <<
-/D [6227 0 R /XYZ 90 757.9346 null]
+6185 0 obj <<
+/D [6183 0 R /XYZ 90 757.935 null]
 >> endobj
-6230 0 obj <<
-/D [6227 0 R /XYZ 90 733.028 null]
+6186 0 obj <<
+/D [6183 0 R /XYZ 90 733.028 null]
 >> endobj
-5874 0 obj <<
-/D [6227 0 R /XYZ 90 568.9972 null]
+5827 0 obj <<
+/D [6183 0 R /XYZ 90 568.997 null]
 >> endobj
-6233 0 obj <<
-/D [6227 0 R /XYZ 90 554.4269 null]
+6187 0 obj <<
+/D [6183 0 R /XYZ 90 554.427 null]
 >> endobj
-1301 0 obj <<
-/D [6227 0 R /XYZ 90 462.7644 null]
+1265 0 obj <<
+/D [6183 0 R /XYZ 90 462.764 null]
 >> endobj
-6234 0 obj <<
-/D [6227 0 R /XYZ 90 448.1941 null]
+6188 0 obj <<
+/D [6183 0 R /XYZ 90 448.194 null]
 >> endobj
-5875 0 obj <<
-/D [6227 0 R /XYZ 90 256.1176 null]
+5828 0 obj <<
+/D [6183 0 R /XYZ 90 256.118 null]
 >> endobj
-6237 0 obj <<
-/D [6227 0 R /XYZ 90 241.5473 null]
+6189 0 obj <<
+/D [6183 0 R /XYZ 90 241.547 null]
 >> endobj
-1302 0 obj <<
-/D [6227 0 R /XYZ 90 150.7316 null]
+1266 0 obj <<
+/D [6183 0 R /XYZ 90 150.732 null]
 >> endobj
-6226 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+6182 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6242 0 obj <<
-/Length 1898      
+6198 0 obj <<
+/Length 1463      
 /Filter /FlateDecode
 >>
 stream
-x��YKs�6��W��R3%�7��H2�3M�S���dsJ�*IYV}I�%JM<mg��� �\|X��
�9�?2�x��B�q9_nfx~�_�H5�ü���fv�R��FZR9�Y�$A�:�Y��A�,|�1��,��l޾YP����������.
�����,Z-|*��u
��5k�-H�di@�dDz��Ň�og/npv�$��~�����+�÷3���|��|3�������F��(?3� �P���h���!��4�!Q�2�\_�[��ޥ�du
������(�6��R�+x�&yamp�-�B��Ѹ��髗Z�03������'����W�q2��d| H
+$)��%��4��}G;�9�AK9f ��R#,
�| ��c���flB0I9,�膥1�0]���R*. ��(8�5D�@I�5G�@Z�Z�
;3��2J�+����L��
ԏ�@ L5�\#�ٌyw-䷥�

h� ]R���V,����A�
-/ɯ��L�b�L��H�,�1VH&�����0�͈�ELA4;�Ekg��9�$>�Q=ճd5Y9��l��B
-ﴁ1�(�䌁[R� Ū<��ii�E�N�wd�);�Q�q;�bF^@B����cG������$� ����r�"��L7�0C�����!KTx��9Ñ�
 �~��2�j"��e at k%Y�k�L����Q�L7۰��bs�Ʉ�PB���!K^D��_
-���}5��폕��B�Bv�
k!���u��

��=*&�[zG�8�Xͬ���t������8k#fQ�3f 
b
-f�<i�J���=�%﹃�1-L�iz���f9��ꆋ�B?c�E���}0��O���H���P���|Jk�XD�^��:U
�'9���<����9�7�cU�t���D *4�Ԛ��sB�
-ط�hYJ���DIuL0�+
֕��İ"�Y
-
B�<��D��d:�dZ�ƒ�`
��xexx����ۖ;
��l��,��
���A���IE����V$ ��KTy)
V���"��J�l��W9UJ�L3X�v+�4��;��9� a2��
�R�S1o�^\��=�k �
�F��
-�I�

��� �P
3��X�H̼J̏6
�u7xar^E�V^�g������L�)1�R�si��k5%���i�k����;y����3E���B��������=݇3�.�Tޕ� Q�Q@!<��zQ�H��Am�Ż0F��`hҴ��DY��.���B�C>�\\ܔܮUi\;�^����)��$G���>�7�ф������֞o�86e�tւ�*�(q
�U�nP})�m%E�^��t�FOn��n���h7Ѵ�*��N2, M5��$���N3�3��-.����'�l�b������I�
�l f��:`�����n��ԥ4�G�sE���.����1f��#�1١3P\����.C�茨tC��Աb��p��䩂Ѓ>W2.�qY%��G���ծ�1���M��r��
�.]���6M!���.�>��RgpQ-aA�)j㒲��>*
���[S�a-�h�z�Ȁ]�x`m�ב���H67����ļ�k�@[��
�8neB#Bm�k�Ns�
f�
��܀\~�J���37�m��,�3|yC5��

P��P#�q,4i�#

���PL��H��,$8�\}z8���*l��(X��)wf�Y�d!
�H�i��:$d���fN�HTU}��0�]����x�/ME`)�'�RY�
+k��IJ�w�^��ı�u=�(ɲz���=V��
~�<��B����d����Ѫ�n��b�r�hP��,U�AQ]������Vޮ?�[_�?

w;�k��P�뫫�~��9�%�6CQq���W�
U�2��S�7B,
˳@"���w
�:�~{ܤY����䴁
�P
��'e��&endstream
+x��Xˎ�6��+�je���-qvi�I_i����شG�^���_�+��,E�� N�E �D��>�=$�6
�^N~�O�^H�)�$��|�)�� A�7_y�}B%���o��Q�F�7S��<���U-~�oʨ�__�,��tF�J���÷z��)	}�-5H��H�r<�0=y>��;!�
�H��P���L'�?`o�_{1z�fU�q��?��M���vP��Gv �8u���yC��캾��.7�6[-��x�-"�q���	�
�̳����r�)��
�]=}�B�#�C���k��튞U
Y���k>Z3c!"���$)�k�5�����~F{�9��l������
+i�������T"�I�H�M
�O�a�H;l�i��zD+� PghE���mD�(
���{RR݂�ޥ^m�q�q�m�-u�M
j��M�A4g�*$A |�$WV�[m�P/�Ϫ���=m�5�
",��t
%�
Q�Q��;^[
���doG���
+7��G���O��O'�aط���R&·�u2Ԙ�����@%�ٔc�.Jb��r�Muf���W7rȢ�m�O��w���r �I��$^��<0*]tV1X^�;gq���"2�M����5����oG�� �A��

�������8�wZ�/�:x��Y;~ύnSq����"�u|�:mH�_��Id���	
+�
�q1 ܛA�����
�'t�x�����X9]ch
]+�h+�D *�c��?�
8�C�� iDh׾��G�s
Z<�a�ǔ��q(�w�2]��hY�P�.
�`�O`�����

����v���sB>��:��
L�Տ
+j�(�6 j�]�~�*wq
�]š3
�}�	̘b��3����Nc:FJ� b%��_�?�m����@�
���𕷴�L0[��#����J8�1x|��J����Ni%S�ӊ'qZ~���y��m�)3�a��������L3^(f��W�xYڤa�xb��O󦛨�1�
I�f�F���Y���k���Ia����6��*��D7���
R�Dpkxx-(I��})�"�3Sٗ�2O���N�5����P�G����y�y6,�A��N��,86��j��/�$��I}o:�d�� ��'��

�>I� |2(ou����� OP%���
+8x��Ζ3�����
�p
+kF�p(<\&uqpp�.6�V5д�
�<�cO:4A���(
qR5M�
�h���},h�Q6�
1J^cf�	�m��
\� j�
�'^\�>i
�4G�Op��%�bB�#�Z�ҩ<��3Bz�v�)��"O�;�}v6/�}
>�6��1�
�H^����{S��Ђ-2����N�
�U4X�
[���q��_��O��]B�e�(�x�]-
+����P��p!��J�4��]SX�����/�ҭS�bv|�5������vhY�m%��UQ$W�a'�{G�^��24��C��˴A����?lj��
+endstream
 endobj
-6241 0 obj <<
+6197 0 obj <<
 /Type /Page
-/Contents 6242 0 R
-/Resources 6240 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6239 0 R
-/Annots [ 6245 0 R 6246 0 R 6249 0 R 6251 0 R 6252 0 R ]
+/Contents 6198 0 R
+/Resources 6196 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6176 0 R
+/Annots [ 6190 0 R 6191 0 R 6192 0 R 6193 0 R 6195 0 R ]
 >> endobj
-6245 0 obj <<
+6190 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 575.5123 138.5077 586.3915]
+/Rect [88.007 575.512 138.508 586.391]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000022) >>
 >> endobj
-6246 0 obj <<
+6191 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 555.4228 314.5657 586.3915]
+/Rect [123.594 555.423 314.566 586.391]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-6249 0 obj <<
+6192 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.3343 368.4021 240.823 379.306]
+/Rect [179.334 368.402 240.823 379.306]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Difference) >>
 >> endobj
-6251 0 obj <<
+6193 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.2748 221.4814 293.9708 232.3853]
+/Rect [170.275 221.481 293.971 232.385]
 /Subtype /Link
 /A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-6252 0 obj <<
+6195 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6243 0 obj <<
-/D [6241 0 R /XYZ 90 757.9346 null]
+6199 0 obj <<
+/D [6197 0 R /XYZ 90 757.935 null]
 >> endobj
-6244 0 obj <<
-/D [6241 0 R /XYZ 90 733.028 null]
+6200 0 obj <<
+/D [6197 0 R /XYZ 90 733.028 null]
 >> endobj
-5876 0 obj <<
-/D [6241 0 R /XYZ 90 546.4564 null]
+5829 0 obj <<
+/D [6197 0 R /XYZ 90 546.456 null]
 >> endobj
-6247 0 obj <<
-/D [6241 0 R /XYZ 90 531.8861 null]
+6201 0 obj <<
+/D [6197 0 R /XYZ 90 531.886 null]
 >> endobj
-5877 0 obj <<
-/D [6241 0 R /XYZ 90 419.2174 null]
+5830 0 obj <<
+/D [6197 0 R /XYZ 90 419.217 null]
 >> endobj
-6248 0 obj <<
-/D [6241 0 R /XYZ 90 404.6471 null]
+6202 0 obj <<
+/D [6197 0 R /XYZ 90 404.647 null]
 >> endobj
-5878 0 obj <<
-/D [6241 0 R /XYZ 90 284.2519 null]
+5831 0 obj <<
+/D [6197 0 R /XYZ 90 284.252 null]
 >> endobj
-6250 0 obj <<
-/D [6241 0 R /XYZ 90 269.6816 null]
+6203 0 obj <<
+/D [6197 0 R /XYZ 90 269.682 null]
 >> endobj
-5879 0 obj <<
-/D [6241 0 R /XYZ 90 143.0004 null]
+5832 0 obj <<
+/D [6197 0 R /XYZ 90 143 null]
 >> endobj
-6240 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+6196 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6255 0 obj <<
-/Length 2679      
+6209 0 obj <<
+/Length 2043      
 /Filter /FlateDecode
 >>
 stream
-x��Zm����~�B�Z	�����|p'@ꢎ}�$8��DT�����;KrW��������9�
��>;3;�,�
�df�L	�
�r��]������t���|
-�����;)fI����A$(�����sB%�%���.�g�.�{��x��~���*�{S|�������U�^,���o�����|���Ղ�y^�rI2"��ů�?\����u�
&�5�_W?��gk��W1���	.0"����S�.�W�~���R�.��2��`'
C\v@|�@��\���rs����1-�b�=��U5�
�����z�}�����
-�a
#�aJ�)����
&
Q�I�	l���W��P�Z�e�UwK��l�8�D0-#i�z���v��b_�
���5 ����[	s4���A0�v�7 ������*+���Mc�]�:t��f"$R
-�Q�y��eV�S���������ӈH�P����e�2���Hjj� I��$%h ��#,@�($)��+ ���a�ؼ޷/�pxXÔ�c�0�#��3����T"J5�By?ڈ2H2�� � t,�Q��ɼ
���/��؉ǵd�
*����o��g��ǪgT/��Ԅ)�X�cS��	H	�U��9�
�5�k���fRt~,Wu?p{�=>�C{��Eyl ��IJ�a
 �@`����A�D�!F�}����O!x�W�
!����O	c�A\�8%�>Z
��d�:5i���":N
-�sя���!��a
-A೤�8�e(5L�� <
���D4�$���:�7�p�)�2``��
Z�<��"L�F
�#R�aL(������c�
-dױ�����]��Ӹ"�}��Mw�I����xEW,dM���>0l��/9��'�1X;�ЍcX
cJ��@i
*��FH)����]^5��\B�z
�#xa0�k=X 6��KDl�

-;�z'5Tc�O�4�z^h����޳����&�l۽�T$�8eݹxQo���&'
�u�c�����l�v꜋�DJ�OTB��``��Jn�7sIR)�#�1�"�^��Sj(y�r��l[�ﲪ��o��Hڢ|/54��E2(?�wd�����y����l^�j .R_��@h'js�
��
��/2�~xV��r���=!�������l���(ceU�Z�.`�lt��R�4@E���
��𻁋�����G��
�p<@�ɐ�.�2W�d+��P�	�l��=sy	ZP�O�P�$,)�R:�_R=�4�Q�l���M�.b��ւ���I(�
��Zzlr
��_���N2b��I��ėd>�!�6r�Nj��\IH�TL�I'�
_H���q�t�N6�4�`�eϮ>�tR�P���0:��L��8���e�9��c�͊o���X����^L�NIQ=��!�	
Hg�<Z�6#(��8f�޺�mؗ	Q_�m�/�6yC��x
�/�8�\�gq̈́��*�oG��sRSDsl�'��י����߅e
�uQ�1�Ɂk`!�q
-��pub�\s\�'��i���
�&�&D�	�B�Լإts\����i��������/lMU���\Ť=
-��b��R>�}+����<�9�ȉn�I��Ș�t�+����z at 7���K��C^�V�-~�!�zG��B��!f)5�9�l\���Y�|�ٌs�����~�ЧA�`7X�o�v	��PX�����
Յ��Q�>��F$�,�P�c%�Ig�c|�
�5��〸��Z
Ȍ���Z%��)�uA�Ҽ��ڃjN�˙<dG��+�w��q{<��i��d,�Yt�&��)�#���GJ
-��<�
�s�Ð0�OU/;
V,<
ntvQm&���z�z�
�]�J�:FX{ ڿ�f��Z2ȍP
cw.s�����
��|8��/H��E��1��H}C9Ĉ0=C{ņ����o$�L�غ�
!�.�²K����Th=��t߱�V*
T"��-�OR]<�`(X/�-KE�wͧ���b;]�q�
}���F)���,���p����@3E\1
%:H4�;�y5D`ɔS�a�NQl������=�ﮎ
2���
�g"\*��Og�r���!z�(�:_��� V�� �
����+s/6�D����0P�n#Dj=[���]%��um[��]����?��\����8�Q�M��Pl
`'�7�fƑf at H�5;���^;� 
@ǚ=�>���eY׫ɫN����)��՛��_�w�}W�CE�P
ۏ/�kȘS'߁���d�fT�����7�ҋ{7U����o�@��0,�����N���θz���O�v"�
�`|��a�E�>h��ԣk��ڛ-��^�d�6��]�eX��b)(���w~���Ώ}�-��g�;jCR4S
���X�w�dS�9�#�9쬔O�k 6��N�W�G�a�'O�vRC��B�5g����m�
�"\��^V�����>���Sm�.������_E�.VY���
���,.�B�����;�̺l{�XQ�ka�,�c��E��c��s(�1$\�S����6+��Dw���eפh/~:�� n���-+���j
��v(�����]�d�'�χ�
-҃"*�}�ϙ����ѽ�
�h�����k缩�Ǜ�맧'�:�cY<V������c�B����-����y����������n�.J��k�ځ
5�
M��
�Lendstream
+x��Z[o�F~ׯ�S����/.�i�n�M�/Ia�%�H-E����=�^Eɔc���!q4��ܿ34V^O���\�(Y`��T7���@I�%��"��(���8|;%8��mt�vJq�m
��"�n�$wy�?\_��tF�D����.^����0N�1�$�!�d���O�W7�O`�)�
+)&��v��7
,`�� #ftp_���2���'�L�Y9(CX��
�!.�0��0��+�
'��u���1M��d�b�T�����N
��It���\W?��F[�%��Q�&u����|
(AG�<K��;�M��Q~;�K�� �f�
3�
��?;���>�R��o�H����Y�]5�G#*I
� ���ť
+�I��E
%����Dy�n��d"$R��u��6I�"B šVs_���4"���B[&X���,�G�$�Ib���,�[�f
c��+$)w�_�jW�um��"s�h{w0�a��
��
]k�X'� T"�xD�.�9q���|̼{=	>�`�唊����GC�n��?5[@R�^_��.��Nk���
�}0��v�$]���`'J: ��Iz%] I��\�;���S"B��x_GG��n�4�����n�Tv�0�Uą9����8��F�bHh��R'㡳�H�:���e{.>
5HI�r�Or�6.�|�Y��ӍW�6���P�
ô�tP�y���Mi���/GJ����:���P5�gGi���*�%&*�2^|���e�͈@�w
wJ� ��#Y��6�K#��N��?������Sp�x
+ŏ�W?
��)5���6~]��W�����L�uu��æh{���O 6�wbHI��8���T5n
�.t`�
+�Jy�N9`�6��6ʽgtk�-��3+�=h�D�
%T.rdh�x���k��1
�Hh-w� �a�d��6�(�^�gJ<G��
���"-[�R1��i�S��§�l����N��
+�����)ok����;fTe�h^EL���e��f#�E�0�I��@� � ��8�z�V
QZF�Ŕ�SG�l���-XZ\�l�a����-$���-{��J�'1[F�	f
i�Qܗ�lF[��[����Ank�UC�4�{�[�k�5��>���><F��H"�� ��~;�w4�Iq�=�ͰC�}
�"Ț���
h/G{)��t)�y/�����J{���}��b�%�3_�g0_�d���7��x2�%��{��2����E|���W�
y/m}!��G��0���U�B*�$��{]2��r���"�[z ӈ�/my��x� �}����6�i�ݨ,�7��������7%��<��FV��O�����H%]��մ�9b�Áj�UJwI��m	)I�u��Qn8\7���9����T|yC�Q67��lq�
�CA�4?��.j*l�=+!
`�c]X))Oݗ�S��*8��r�H��(�!m��3��R�
m|�|O�T`@��Z���u>Lh [...]
���n���uB{�b_^�'x'�^B?Hո�`b�8���/p%����	�-/rd Y��\��s�G�t�\͓~u;%���᪃‰�*�o���Oz����˄_��6U�p�ˊ�y�i|��
��R�x���<Y���/�v�Q���u��ܵ��cN
;��c��!ڗMg���_u�V.��ov�K��oiu	�W�Eat(�-�z>��U� ��aK���*�Tȁ�7��;��W��D���"ܬ���9_���/�l�Z2�-I�<*b?�o'�G��*/�	A�ky�5ё��q
+��ٷ��%�}��G�cIYd@�M��-�AB�^0���f�
�X����
���>��1
�T�s�
��[}>ۭ�
��
#��1a��`� m��+����=���sRҖV-�
��8��bw}uu��{tH�]���j��\
{]��T]>�\�ͪt��0�-3��
8-)
+endstream
 endobj
-6254 0 obj <<
+6208 0 obj <<
 /Type /Page
-/Contents 6255 0 R
-/Resources 6253 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6239 0 R
-/Annots [ 6258 0 R 6260 0 R 6262 0 R 6263 0 R ]
+/Contents 6209 0 R
+/Resources 6207 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6176 0 R
+/Annots [ 6194 0 R 6204 0 R 6205 0 R 6206 0 R ]
 >> endobj
-6258 0 obj <<
+6194 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.6427 690.3327 229.7369 701.2366]
+/Rect [178.643 690.333 229.737 701.237]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
 >> endobj
-6260 0 obj <<
+6204 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.0888 473.4994 246.7668 484.4034]
+/Rect [182.089 473.499 246.767 484.403]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Affine_Transformation) >>
 >> endobj
-6262 0 obj <<
+6205 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.79 231.4771 434.2122 244.3949]
+/Rect [327.79 231.477 434.212 244.395]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-6263 0 obj <<
+6206 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6256 0 obj <<
-/D [6254 0 R /XYZ 90 757.9346 null]
+6210 0 obj <<
+/D [6208 0 R /XYZ 90 757.935 null]
 >> endobj
-6257 0 obj <<
-/D [6254 0 R /XYZ 90 733.028 null]
+6211 0 obj <<
+/D [6208 0 R /XYZ 90 733.028 null]
 >> endobj
-5936 0 obj <<
-/D [6254 0 R /XYZ 90 536.2699 null]
+5889 0 obj <<
+/D [6208 0 R /XYZ 90 536.27 null]
 >> endobj
-6259 0 obj <<
-/D [6254 0 R /XYZ 90 521.6996 null]
+6212 0 obj <<
+/D [6208 0 R /XYZ 90 521.7 null]
 >> endobj
-5937 0 obj <<
-/D [6254 0 R /XYZ 90 319.4366 null]
+5890 0 obj <<
+/D [6208 0 R /XYZ 90 319.437 null]
 >> endobj
-6261 0 obj <<
-/D [6254 0 R /XYZ 90 304.8663 null]
+6213 0 obj <<
+/D [6208 0 R /XYZ 90 304.866 null]
 >> endobj
-6253 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+6207 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6266 0 obj <<
-/Length 2519      
+6220 0 obj <<
+/Length 1912      
 /Filter /FlateDecode
 >>
 stream
-x��Z[���~�_������/*��n��E
{��$X�wET�TJ�k���
�C͐#J�E
�)
�9s�\��Yd���<SB!ø�-�7x� _C��9<�C���޼��3���rv{߮ 	����ꗌD�<'��ݜ�h��ݻ9��n�y]����m��)�ϋ��M���T��Mq8����}�̉��zY�J��QN���p��7��]0I�i����7<[�
~���-f�p�1�ζ7�2���p�c��{о�r��}M�,)*LRJ
��V�-,�p��6c�f�Jӭ��|Z��c����
	�H1Jg�^�Ȉ^zl�Q�+��U���j���9��S��VwE��-���(����Q'c���Ac(fH2����]7�9�s=�9�Ruo� o���1!5賯��z����k�l�F�8�D��[�������zG�aս\~ڧ@�h�M'T�+'C��'1��d~�PH�ʅ��9��֋ʚ�Y���I�}g�C, ���� ��R�����8V7�K9�{�� [...]

�L �Wj`��y��y:� ��B�{�
���
-���(
�ڒ*��!�EvR�	Bp�I�K,e���8�"�׷h�Е�f&1�f��U �ٖ(�@6���5[߄�b�D�Q��jӆD��9S^�Tb�O_���38u�X��
��m�?��4�
-a*e��CGyh-�{��/��P�<���Ԯ/t��ؖDz���)&0�Ȓ4�ł~���nL(�D�^j�6�5�ѩ���ޮ;\�)�;̶����j�=}��
�8�{�y�
��o�_����9�h20
I���;�Ry(6�`/#�H3�H3�`�5{������ 
��5�>���Cf���l:�7?ڠ��c��v��0�u�꽇�
�X��<�	�J�ZQL�KNĦ���Ε�S N��Rc��C�
Ib���k�c�ƥ���
�q?��r@v�p�y�rÑ2`�SC�	��b	p���ư��{���ط:��&V�����/�w탣��k�s޵_:���b��g�]�z�6�`4����?[���t�`��(��
8j��� ,�v�!N-
��-d�2�j��AI�>q�RB5�ҹbS����<R
��|I����ϔCg�~#�]�����C��1�-<۬����Y�=���X�q/���Wղ8���r��� h�C��^�!/����:�l󸫹��5�,�� �1�#��y0©A�t5�2H�ʧ�phř(�b�
��ȉ

�&#c���_���
(�
$X�/b;��]�NJ
k��w��;!
�̐K�'�4���D����[`�: �
��a�*b�c�`�n���3��
{4�?�&�%K�3P�d>�ą�&��=�E��T�'ИB��)
���Iޗ�ͨ�èr�7�J���4 <�^�$�r/hțY�]*��$i&�#
-�_J?�H3��'�:��J�f
��	a'E/�f^>_H�f�uG���,����3�����
���!i���E���v��u�u��$83�(�p�E^�tZ&-:I��FY:>s�
f�ha8#q|^I\╨  ����r��y(G�@���x%�4`΍,Iù^,�
-�zb,E(���K��x%���:V{%�ti�F�]�	Rք�9,�r���)���3E#�i�(����Q*���_rz 6�t/���("6���^j�v�j�b��/DM*�3 ��%�bS>�b�Ӫ{�`�:MD��W L`j�˄R�
Q�y��W)�Q8�"
���#
&=r"
FƤ	�Ș�0G���
� �qL��i�
O�m�%f\�Z�P�Inb���0�ف:�0�I.C�o�����o� �
���<����~v����q�/��s—�Q�~gk�
ƻ[?���n$w7?
���s(	ݩ�����Zt�d�p�7Y0���l�����
��+�b���������ٿ�o����x�����x�/^�z~~F�z��}����~�j4��"•�:���y�iiA
�����c���/�-\��Mބ)���endstream
+x��Y[��F~�W��5R=;��P�!��Hm���K!��*j�n6��g<ccH7�5+l3>���8�	p�|�����d�FZR\/�%	����]H�d
�q�rLp���d�rLq�Y�/�<O�/�y��O&��t>����U�۹��fa�1�C��
H��Ȑr:~������[p at J�B!�D0[�޽��
��
`�t
ܕ���
>W��ѫ�~�Ab�0恢ɝOO?�̶H7�nRѕr�L��#�ux$��+�I��9o�U:�&��~m��%�����
+�)|QJ�^�1�]6�87]�W���j.�zen��:͒b���-�R#�k��Ή�d@
\�^V$8"�T/���>
T�X��P������bJTg������t\++�`�Ye�q��S��r�w��Q�X, ;䐝4�m�ۤH?��+B���u^1�u�n�^�1�7�k�e��]$�c�Mf^cm�7�O1!ɘ��C���B^N3��1���SDD�h]�׾om�nl�Ƃ^�͓ɍ�L%��@�/ �43ӭk�t��+�A�
����& 4�������M
+D�>�v�!���#?�LsH�(�����f��N���_جz��pZ����jw����FHCeD	�
02
k�H3��ӧ��;��X��
�@\=�(��*IW듍)=KP�E���n2)m����1��R�`8Úh�~��Ѓ�Ҳ���G��/FT��d�^���MflE��s$[�&��~_� <"�n��f�_�w=�9F��S�E�(�`�����IZ
��:�j�:�:I���P[7����bӃ��!�ɗ@YI�3����UkS|����!���wi�t&�f�5��Y 1p�X?_�������Q�<� +�f��3֡V% [...]
+a�Z����h+1T^d#��|�dm
+���*���Z�Jpn�k~������]���O���[[o0 ���p�E%�]��H�IU�?v�k�y#����6��
�ȧ�)�7n���wK��CO_ٰ��;��~��u|k����.�
���{�.w��׹H:�1�!�K��#3����Ӓ�7��=N�ì[�*p�
oS3U�V���P��
̥�����c�(܉����c:쳶?���?h
	J��J����K���L�|�!v�]�7r�$p���L��f
ɞ5�d��t,
g�"amhF�1�"Ӟ�
_�~n�7AT� :�*��ҟ|����Y�y���8Ǿ�U���YR���#yu��hB�w�M;e���i��w�e�֝_����+�~8{����7��gϪ͞��v�3�1}��u)�.P�f���g��vf��Sp�K>�D��=-���5M
+F��Ok�d���R�w��=���\"67�.���'�Mwu�YeU�ʢ[���85�>�7��R��&�ժ�G_�2�9�IE8f,�+9�2���4>%D�fZ��
�R�
Sh�����ƥ5�&��K2�P�"��@k�ګ�|�dj�h����M0)��ZZ(�	&L.3�qv
+�U�$P��T���j������ s��3�۹��bN�����g
U
S�R-t�+��$|�$�_�[s}m9؀/�1�܌��~����po�eFz�Z;�by4��z�����8�b}�0u�����
����[�}�f˟A�a���B����mi[m��֯������ߏ�|tM�}�Ύ�[+
+�J��A�av����|c�	���3��~�Al�.���uZ�E��\]��ݡ��t�����nWW�U�ㄣ
�X��Tp�f�p]"�Q��~�>
+endstream
 endobj
-6265 0 obj <<
+6219 0 obj <<
 /Type /Page
-/Contents 6266 0 R
-/Resources 6264 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6239 0 R
-/Annots [ 6269 0 R 6271 0 R 6272 0 R ]
+/Contents 6220 0 R
+/Resources 6218 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6176 0 R
+/Annots [ 6214 0 R 6215 0 R 6217 0 R ]
 >> endobj
-6269 0 obj <<
+6214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.4766 594.1745 436.2559 607.0923]
+/Rect [331.477 594.175 436.256 607.092]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-6271 0 obj <<
+6215 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.9555 310.5401 459.2259 323.0194]
+/Rect [348.955 310.54 459.226 323.019]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-6272 0 obj <<
+6217 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6267 0 obj <<
-/D [6265 0 R /XYZ 90 757.9346 null]
+6221 0 obj <<
+/D [6219 0 R /XYZ 90 757.935 null]
 >> endobj
-5938 0 obj <<
-/D [6265 0 R /XYZ 90 682.134 null]
+5891 0 obj <<
+/D [6219 0 R /XYZ 90 682.134 null]
 >> endobj
-6268 0 obj <<
-/D [6265 0 R /XYZ 90 667.5637 null]
+6222 0 obj <<
+/D [6219 0 R /XYZ 90 667.564 null]
 >> endobj
-5939 0 obj <<
-/D [6265 0 R /XYZ 90 385.2657 null]
+5892 0 obj <<
+/D [6219 0 R /XYZ 90 385.266 null]
 >> endobj
-6270 0 obj <<
-/D [6265 0 R /XYZ 90 370.6954 null]
+6223 0 obj <<
+/D [6219 0 R /XYZ 90 370.695 null]
 >> endobj
-5940 0 obj <<
-/D [6265 0 R /XYZ 90 140.2032 null]
+5893 0 obj <<
+/D [6219 0 R /XYZ 90 140.203 null]
 >> endobj
-6264 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+6218 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6275 0 obj <<
-/Length 2899      
+6229 0 obj <<
+/Length 2178      
 /Filter /FlateDecode
 >>
 stream
-x��Zmo����_�O���}qq��%@zA/9�_���-�&��R��˯�,w���䞯)��p�$gfggg�yH2���
�)��a\���x� ?{A��
�g����/.��bf��T�
� A	�]/��(Ydc<�� x�W���Â��v��XV����ʫOWW�V�r�Q��_����}���/���bsW�&Ɉ�SN�^w��u��.�$ֵ\��+�-a
�]`�g��1������eu���V����0A�91�
a)�1�!�d��k�؜����bST����X����`L7���E�\��զ�`�ﶛ}픿/7E^�d6Z��
|1B�Ưw�����v����?X��o���#%�X	��޵z�;�d̈́"���
-�I��[�5����i}�]
�6
QE���*V�O��T!B���˴n�e��"��]‚�jxI�6�c��m���,6��k�CFs��r����_]5~�8��\
�F�hr�]
V�!��U!�o�D�I#"
�����y�[Qmm��2�h
G�Ȱ�G)X�Q
-&EX38D!I9o��B�6pn9��z�n��z��Mi�c6�;�X� S?���=����c��p����
ҀÔ��
�e��V�~W��m��Ǣ[� HICfRC�dؗ\{�z�2?F����������k��ʇ�(�_P1wu$8�k�Q
j��8�)��T�=
GV
-$�0�w���� C���(8���PFa?�N;)�$;Ǡ1�����
Nv�
�3�
�M��=
k�$����<|;���CsF�N�T�6	P7tZ L��I*�XF.e�T��he��.�3�o
����jյO0E�A�9�s���{��O(�0q�5��<1H%���J��&�&�#��N�^۳o�Uq_�O�����r鯦�n)D̡a�f����0�#�C�M�,��
/��`�
�i�A�o9���ڱ�F�=�.^�Q7����
�����O
��o߻�J?��AQ|����Qw�>T7��Fǃ.
��I�
-z,6�V,���Y���l�f�T�l'O��Tj�����$�P�ғ1�Ħb�:�HbJ��� �7�ƍ�� �&�}�D�|iZ{�c
��)ƛj�\x����#����N��ӑ�Tn��]^�������l*�+�e�Fc�N�y3�=
�0���Ռ
�~�����Nŝ��d� _
|8q��h���ff���R�]Fp��& ���Y�D�2>��]/F�0�Y7�5�rc���2��*ӮS0HK��&#�J��I=�`d�ω3׏�*�G�~�ʡap���a��6%��0��ڻ,a�&d��n��A�ܮ�(����5k��`��`(8��P��`��] ��g; S
�F�d�`~F+hb�n����f����I�
3��̷��f�e�;��ma(h*s�>
c��2�)��`b
%���M�p�4
IA��\�A�j ��+�ۛ��8�
12����e��\���%�oJ��øa��ю�+�p�#gj`:�
H�sV�V��c�,6�u����{j�nw�Ex [...]
�p`V�uO��!��N�H�h6^[�1,N��fv�+�;��C`�;h`�P<!�vL�j��4f����
�b$S�ۗ
=n�<�����εL�2jz�����Z@��"�dȁ�ٶ���lۊE�E�J};�\+�7�G�
-�b�E�o�Q���[�����S��a�iP�$�
e�@�Ŧ��:3QJ�h� y�-{���<�'F��p�
 ���?��l��B�7M��<|.�g
�V'c�M�4�uƽ�ĕ�'L���NT��eR�gG��۽zDthCNF4��h�R��4�>>m>H�ͧQ������|UF�H�^o7��
-��ķF�>|��mQ
-�;����7�~<nB#�l���n����v�>Ks�L�(�1,ng'Ȕeqߔ�ê
�Q�]�h��.��'X�Xj��PÑ4�l�d��D���ξV�ߣO&r�Oz�
�'�31}�!'}�b
�
D�a��I
 �##a)��z����QC���b`�S��
�
�}5����#�øJ�4g$�����t��O�Q��
-�!_�Y��?E-�b<I� 4�`��L&�@gm�u��`����m�B��h�+<�e�̦�+ ,�
���WԈs���V�[
V�Y䕆�2��J�pW��d����Y��_�:ozP�G�+ vB�W���4�rW`����f�M�X
x>�
4.������W6�����KRr��
-�Y|� }�ӛ�W�Mg
?��+X�P
'{�껖�W
-�V�(���
-R|Q��>g��C4�b��k�W^e�
���e%�k �%��&q9M_a$�$��WGYb���W	I���E���(�W�b����`��_��j^
P�O�Xj
W��9�E�Ր���0�h�N�W��?�W=���Ub�?�_8z~��Ŧ���௦-��gx��J
�����0��
-i$5� uy5i�宺v�������\<	ߥ����1�B~�K�͛�PI1�,�ңI>X�-��_�q_=�q_~��B�=
�>�
�c��'�
-�\
�U���m�X�&/�(�
-�� ����O9���!��p�8n
=�v͏u����|~~Fw{tؔ�
-���n���M���sH����Z��/I䙖�@�kS�/�x�m���~\7%�ש�we���

��Zendstream
+x��ZKo�F��W�KQ����b�`f��;�8{�-Q6���({�_��>��dv ���$U]]U]��#G��>̾��]��,�HK*��u�q�H�%��*��(�/�8�4'8N�mz�iNq\n
�U�^�o��z���P���
+
�I�{w�S�Ϊ9QqV,3�$�1�l�����wW���؂#b�	J����ٗ_q����G1��+��8e�w}��8�'��
a)z~ �D�̽q�4�J��s���6+�*��e��t�
ƴȮwλ|��fF���/�b_;��"K����]�-Zx����/���/��ߌ��{-z�H�0N`�]���;��gBQ���
��C�7i
��??no�̈́n�MH���6���z� B�P������<�%��^��}�}��p�����gE��`�!
�᭫4������kgV?
'�� ۚ
���9L���i{
o�D_�B����Ν��eUi��)�q�����NJ�TEX1�6A�r'�"~[@�q��t�h_;O�S�ل�
�H��.�O ɠ��2��j��ܕ�	��髛��wn�*��e�F�����=s����-���蕶Y!�t=�"v5�(v����s�^�OOS�(�)a�D:a��)e|�M�b'����XF���(%ɚ:�������m��-�LU
~0����$�l�	�]2��Az.�YfɄ��{�۬Ϊ�e����B	�`;�4�VoI`%d:��y_��3�e��kwu�~����5<E�$�C�r���
#~�H9��
e��Ff���
t��^?�e�z�����s��ݣ܏ѺQ�_�.+��m�:�A�������'NBA�ѱ�����wn���^{>f*LjwC˛*ڕpc۔}X7��a61��w�AP\��oO�3��]��*_�u��:�����
W�q>�YjG��a
��g��{6�>��C]n�ؗ���D=�
|̝u�Zw�� [...]
@*/L��C� UyN
�0n�S���S��|j� �`�5���FܖsS��
,6I�ȋe��A�o6Y�Dƛ��Tr4�� ]-��2P�z0J�
��a�Ԍ
}x�L
+DQ.8A�&�LG(Y@�>���$�@��<�>H���h1#��sMAS����AK(����>��@��J�ᨛ�
+Z����:�Q���UC E�"����,���i���`,l�{��n|8�1C��ÍC�
�`��րTH�s 2'�������EZ�S�	aA�i�,�L.��$J&H�$J��lP��d���
�A��i
�J6��b�JLCd`2L$g�O�� ��-D6&ԥ�)�l}Q;��4����㤏|��s�@_.��j���$�]خ�@_C\��i*#|��aliH-c�A��z���1����}��߭U�8�cG?� `��;�hN��1ʇ�#
���
7�.�
Г�}��>x�ZA��iۓ�v�;d�
ܨh�-��=f� R/;
B����%g��P�X<:��qd#֞�h8P��
+��5y�_�д
�i�����O��H��o
�`
��C�~� X��Q�c2H��. �U�D��Z�q�-�ۖ�����E�#�3
���w���.N8k'y~�� ���F��ݖ����
�к���e��2+,�3Ͻ����J~��C���9�}g�~��<r�<AwV�ږ�aSO
b��
0
AlN L��Q �����$�hu�\��?���(���a�5��Gdؠ
�̈́F�a��Ip�$Hq�<k�I���Jc>\�0�^����K�Sܯi��$ ֙T#Vs�6|�(��E�~�.�洍j
�э�#J�4!O0K�I�h�Y���Z���eD+�o/F�Y�R���y�R�KMal���+�<B.�:B.��Wy3
�������'���O0p�
v{I70&��:~	&X~i�q�_�`�/Az ���s�e%'w��/��
� `R���_zU���a�ᗐr<9�_b$�|����@�0���9�R���H`1���$�uO��0��0�W���a�vb�_l�R4Q��[&Aɂ
+��|��'c��p���p��9w��>��>"�����84����{�
+��A##�a��Y��9k�s�?Qs�ϙ
f��3D�qvW׻ˋ����ܣC��*�����b|��.I�T����-j��pkK
��3�RQ
+endstream
 endobj
-6274 0 obj <<
+6228 0 obj <<
 /Type /Page
-/Contents 6275 0 R
-/Resources 6273 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6239 0 R
-/Annots [ 6278 0 R 6280 0 R 6282 0 R 6283 0 R ]
+/Contents 6229 0 R
+/Resources 6227 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6176 0 R
+/Annots [ 6216 0 R 6224 0 R 6225 0 R 6226 0 R ]
 >> endobj
-6278 0 obj <<
+6216 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.7728 678.3775 462.606 690.8568]
+/Rect [353.773 678.378 462.606 690.857]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-6280 0 obj <<
+6224 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0594 433.3966 422.9245 448.112]
+/Rect [328.059 433.397 422.924 448.112]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-6282 0 obj <<
+6225 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.3329 175.0303 425.662 189.7457]
+/Rect [332.333 175.03 425.662 189.746]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-6283 0 obj <<
+6226 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6276 0 obj <<
-/D [6274 0 R /XYZ 90 757.9346 null]
+6230 0 obj <<
+/D [6228 0 R /XYZ 90 757.935 null]
 >> endobj
-6277 0 obj <<
-/D [6274 0 R /XYZ 90 733.028 null]
+6231 0 obj <<
+/D [6228 0 R /XYZ 90 733.028 null]
 >> endobj
-5941 0 obj <<
-/D [6274 0 R /XYZ 90 509.345 null]
+5894 0 obj <<
+/D [6228 0 R /XYZ 90 509.345 null]
 >> endobj
-6279 0 obj <<
-/D [6274 0 R /XYZ 90 494.8306 null]
+6232 0 obj <<
+/D [6228 0 R /XYZ 90 494.831 null]
 >> endobj
-5942 0 obj <<
-/D [6274 0 R /XYZ 90 250.9787 null]
+5895 0 obj <<
+/D [6228 0 R /XYZ 90 250.979 null]
 >> endobj
-6281 0 obj <<
-/D [6274 0 R /XYZ 90 236.4643 null]
+6233 0 obj <<
+/D [6228 0 R /XYZ 90 236.464 null]
 >> endobj
-6273 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+6227 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6286 0 obj <<
-/Length 2247      
+6243 0 obj <<
+/Length 1609      
 /Filter /FlateDecode
 >>
 stream
-x��Z]o��}���S+�z�?\��H��E�8OI`�m�(�������pI�K.i_�OM���p���̜=+��?�pta�!NH�x�_�����5_���u��o�W���j��\/n�4#�3�����d�p�Z3J���ˤ�'w߬8]
v��tS$w��")�on�*��j�]�}�����m��+f�i���HZ0��R�~������\�]	��/W?�D���W�g��
�0��b%�h/vW�]���Q?
�d�pm�b-$�
�Y1ʉ�C�� T+م˙^�5�0��m��}�'աΒi�F�^��
�o����׊p�D��v
q�-��>
��C�ޣ����P���+����O$���?
�ic{8�,j,
�)�y3D�bj��H�2;����Ɛ@��
-g���V�q��y��I�tڧy�j�?m��:O��O ٝR�p�d{�e�,4DMQ墡o��}�q�XG(0�K�XD����Pތ�������>Ͼ�
a����&�W’��]R4Q
�rր���tVc0A.r*��9 s�-|6�+(=��
�?���
��T���v�Z�۬���77�'��IGJ�i����.�
�8@�@k�v����G�EdH�6���!�R�ː���ꪭy?�֢nŽ��%&b�#�����-e�k"i�>)�B�d�X��,�NqL��~�|�����H2!�жu�)�͙S�X��
-��M�&�_yL
�p���0h���t���|!$�8F�)�f��2H",�v 9aʈ
)A�l��v�CK~��ɛ�
-&{��c��[fOͬ}���&JR��G� �
�Ҷ
�
���/B�x�P���� �`@.=�|�a5�V
"�!%Po���Ϛ��'�]��!������&��7Ё8�TN�����O�ɷ�י�{��7
�3�>]�E
����
P
�kg4�[`�J���iuN�<�*H�V�w(��k��*��X�u��� �L��Y�����A*ϳr�j���+����c�ghy�"N˝��hy6"Z
���r �O��
�6�O�;��\��,��ϲ�u�� i���z��r譯��Я��*��s�b���յu
����ҷu�u��K��������
���@��:nN9�Hc�
	T��OX
���{u�@AE[��䯑���s-���cd����x����Ba�iJH7AS �6toOe�٧)��Ҕ���)�ף�V��,�`������E�j��}�H�GE�M��s�ss�VP��!�!]�V/���7p+ at 1CX�hm�;��D�1�*7GX��W�M�S٭��[

�&GXo�sY��r��J�ar���V�DʃX.t��U�>��b��b f�n�$Nv�Y��94_�a~����ix�kȘe�����
s�M*��F�f�$�SY��a�iI�>m��y�d�L=m�rY�2b��uGlq�ez=�$V06w����3�[������)^��Z���
�Q*
z�������@�����
@�W���Icڑ\}�Y��,|_V��K���
�����툵����� ��2 at u��+���!�{�g�;�
 쫶���T�U�m~z��{��/��x8f�q��@
���g��pT������7�!k��ZN n����<$��9`@ڀ�znP��<��Ξ�	i7��7Ծ�tCE=͹��V1�3E8B/���m�a6"�0W�?��H9�rP��V9<�yZ�Y�][��jP�~�����`s�j�
�A
���<ܲR�wIc��@6���t�x� ���t
q�N��I����h�f���u�����p܋r@(��A(ba�
�
-���
��ZSb�=�rڈ�^�I����u�i�t&����%(��W0l(κp�0+84
'��g���4�q����%b fo�$�x�ټ|���E>����C���*8�"rS�D_ֱg6����
�a�k'F^��!��+�g��$����k�C��љ�F⛔�:
��l�$l�K/��*Ӗ���b�g*q"^����4�l at .b&�!0�
1x�I9�����D�ʵ�7��T��ig�
�Z4qF��ͮD��P�k��uJs�
-٨�}�^)h���_I~j_����	���C�>@�������K#���wg�������n�y`�{—���v4.�y[UǛ����L
JrʳcA�����hS�%/��[�ug4�D^XM�c2��ؾ^�?�ٔ�ps�`��P�{��� Q7b�endstream
+x��Yˎ�6��+�jm���)�.�H�$@�i2Y%�!۴-Ė=ƙ~}/I�-9N�EQ�JE^�繇vvv^N~��ܽp�#�t���o
�
�%HP��o�SB%�9�O����1X��Q<��{�I���p���b�2
7�9x��!�2{�VmU:#�TEk�\F�)�|��������˄�.�!fo�!�	g}�|���
��r0b�wNf�����༛�5��
�m�-{��9
e���QQ|
� �S�E���������8�1����=#d�
����8�;��pG����n�j�!�Q1=�Ԯ��
/�D�sWqm�hW���1�Q)B͈�~MR�ea
e�:q2׆8s&�+\ga���6����#0��G�v��{{�Q[��P�z���B�G��E=�u�g�1r���t�ri��u��C��mdt�#K�@6d�f����C�Yii
�I�$m��Z�G�9'�[��oo͵�H���$=�D���������]̝���>�#���Z*������=t�!�	�i@"���:S�q����D��NF3�v��
�n:AB�!�!��F�{p����E
��2�6!�Rg�<���� W��v��:�0���W�!�)F2�PiyQ\&y`/Y���l\Cd��O���|�'
IROB��^8b h�)"�o3bH��t�� _�ՋE�.�!H2��w��㢬tR�?X;%�\ʽ��
�
�w瞘3�"쁝�Qn'?3Z�Q��Xp��Ϯ����n�)T]
��
�Ӵ�
T�`��"���]��޾�8�������Y���OJEC�&!?�[�Y�����֓�|��ű���N���F9���7�6�t����<�.�ݽ�wqW^	��B	��3�!�
C������]Zhv�<�3�'F
'ZR
N�溃p��
�w����,�� ���Ui%�Pw�\Ez����!޴�<P�u|���H�͟�_�
b����QB#�#�ȸ
Gԓ��cz޴G�}�z��F�K�ו� SO�M�>F�Y�I	�ܖ� Ɏ�#��!�b�kXd��~h�����h7_��,W��2�b$�%tp�,��r�~'��
�2gC�De�3�@���� �΀��q�c
�,r;AM��T�b�<u�Z�
�����Ev�
��:n���|��X�Sx�
����p�Lw
}DH���$�\��+�d3�Sk3��X���%��>�3��"�������J䖷h����
+��<��H��5^[%����U ��ޖ!�H|�M� I����{gіBtiL걜���(�R�����h>��Aȵ|d�"��c��ʮ������"��6A����?zP���r�mORv����Y.B�1z]$��"�n��h����F�r"�˅�
���5b�vTu=�^�^OI�v�nBI�%�w��<q�'N��I��IjG��BA9I�_���tM\$=�?фDB�֟��0�|��},i�}x���Ǚ�:��QQ��ѕ�E�֟�1��O�Tf���Cz��d��}v���'����3(�:
+�<Oww��	�3TDa��0��R�;O�F
+!�����1��F0x
t~��$�
�
+endstream
 endobj
-6285 0 obj <<
+6242 0 obj <<
 /Type /Page
-/Contents 6286 0 R
-/Resources 6284 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6239 0 R
-/Annots [ 6289 0 R 6291 0 R 6292 0 R 6294 0 R 6295 0 R 6296 0 R ]
+/Contents 6243 0 R
+/Resources 6241 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6248 0 R
+/Annots [ 6234 0 R 6235 0 R 6236 0 R 6237 0 R 6238 0 R 6240 0 R ]
 >> endobj
-6289 0 obj <<
+6234 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 590.616 322.4458 601.5199]
+/Rect [274.526 590.616 322.446 601.52]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Time_Elapse) >>
 >> endobj
-6291 0 obj <<
+6235 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.3898 473.2748 343.1979 484.1788]
+/Rect [282.39 473.275 343.198 484.179]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-6292 0 obj <<
+6236 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 389.7229 268.3399 400.6268]
+/Rect [180.659 389.723 268.34 400.627]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
 >> endobj
-6294 0 obj <<
+6237 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.7777 272.3818 336.8843 283.2857]
+/Rect [276.778 272.382 336.884 283.286]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-6295 0 obj <<
+6238 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 190.8871 268.3399 201.791]
+/Rect [180.659 190.887 268.34 201.791]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
 >> endobj
-6296 0 obj <<
+6240 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6287 0 obj <<
-/D [6285 0 R /XYZ 90 757.9346 null]
+6244 0 obj <<
+/D [6242 0 R /XYZ 90 757.935 null]
 >> endobj
-5943 0 obj <<
-/D [6285 0 R /XYZ 90 641.4313 null]
+5896 0 obj <<
+/D [6242 0 R /XYZ 90 641.431 null]
 >> endobj
-6288 0 obj <<
-/D [6285 0 R /XYZ 90 626.861 null]
+6245 0 obj <<
+/D [6242 0 R /XYZ 90 626.861 null]
 >> endobj
-5944 0 obj <<
-/D [6285 0 R /XYZ 90 536.0453 null]
+5897 0 obj <<
+/D [6242 0 R /XYZ 90 536.045 null]
 >> endobj
-6290 0 obj <<
-/D [6285 0 R /XYZ 90 521.475 null]
+6246 0 obj <<
+/D [6242 0 R /XYZ 90 521.475 null]
 >> endobj
-5945 0 obj <<
-/D [6285 0 R /XYZ 90 335.1522 null]
+5898 0 obj <<
+/D [6242 0 R /XYZ 90 335.152 null]
 >> endobj
-6293 0 obj <<
-/D [6285 0 R /XYZ 90 320.5819 null]
+6247 0 obj <<
+/D [6242 0 R /XYZ 90 320.582 null]
 >> endobj
-5946 0 obj <<
-/D [6285 0 R /XYZ 90 136.3164 null]
+5899 0 obj <<
+/D [6242 0 R /XYZ 90 136.316 null]
 >> endobj
-6284 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F74 478 0 R >>
+6241 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6299 0 obj <<
-/Length 2363      
+6258 0 obj <<
+/Length 1638      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�6~ϯ�Ӯ
T
؇٢-�;���Om(�b
�eW�'���{(R�(�R�
�3`"J�<��E��E�J(�0.��^l��wW�>��y�������R,�H*��
-� A	]�n~Z�(YEc�|�"x�����݊��q���6ez�6�/�����2߬"*���}ZU���!+W$^f�:��$#rI9_�r���7���.�$�oW?�����W�$�G`D��.W��v��z�_��y�L�@�
P����bH(k���f��=�,77��&+�b{�ɷ��˗?c��Ǣ��Rր��/�<��&���	��R6�a=:G�}n�ZE\���������B�b�Ƙ�*İV�>�F�D9
E�J� ��߭h��0��~|�6�
�>!�;T�!A�:EXЈ($���7�m����Ж9�1�-{(9JbҢ�wy @%�8���,�꼯�����]�s
Goa�����r�l�x,b��Q��2?���G�	�'�G�j�]��>9��C�mt�gJNjc�
�z(��1ˊ����E�(-6�e�D��;^Hy��(%� �z��2f���j�=�6�s���Y�_�k�2T�G�-�&;���
-l�"+Ӻ
VOU�
�B����XX��|���
j�u��G�v���Q?�?�p�œ
����'g��MZg�)������
�X,&�ZH��<	zX+���	;N8	��bD�2۰i9=duVV7C�S�%A # Nz��˕CF%Lt�:��������X�������Jߘغ`�wim�[�~ A���M��sU�"�@�&m(�gmb+�4ץ��`��#$�?A0{U�o��C��\�MڝcOl�
[����)���hm��Z�����\H_�
�D,��:?�^���t̋��%�@��ZQW�VT@$���>3�+�*&���p�8����W�-�Y �w
��_uxeM�%��1 ���ioc�<�L����X�6ݘ3=��OS�<<���B+����������G�j8����z�&9��a��!q&�>�fPQ� �O��j��S�~�l�+��Ιn�.�U�%RV�L�}��iUH��Ħ���:k
q"���O��E8���Q��RC����>�ܥ��|Ȋz*��!�LZ�I������
�=0���C䱰��!�x�qJ�g�jbHHq�$\E��`�
-7�
ݵ�u!�B-?D�('���T)
S%ɒ�r�=4
u���Z���c]���>վ�r(�{�-]p�
-v���!FLW��#T�#T7e�]��������� aإ��*��0 '��)���T
ϱ7�c�����Y��q66��p�#I�7�����u���镕�eI��R�ͦ,�=�P�ͳ]�+��|
�N
�/D���g�kY�/�
�U{L
`\dZ�!�p2 at 3dZ��
YI���(
�l��
�����:�WG1+
��ڔ���Ǫ3�a
-��V�s�*�
�8K��?ȭ��M���
-�P��Ӷ�o�~�u�E�
U���c�p�l.ŧ�K/dNĠK�.�}���3�%$�	�(�#$��Ħy���;�3R�9��ϕ�phE�"r���Ŧα�ŧ��3I��A���X���*<��޶�[�Ji���ӌ����_G)�����-�M�b�������&L��f(�VG!GZ�����BZ���QI�l
-ٟ0A!��+)���"��F�(�����QXF��7s}���q����
2�{*� .Db+���A:9f�
�?�Az%櫹U���3H�:��&Lį��`E)��ih2��PqF,T����ēdԽ�sQX��{^��NsQ-�d/�m�T�&���&�\�$�����6GF�35N_�dT_��=��b��

N�@�
*4Sd�B9��?!�G�v���\�B3uFx�����C��c�������s������I��4'5LT�%�u�A2*)T|�d�B��������.�v
-�
�/"�! �}�$\ߝ�4��}GFGJ�d�S���Q��B1�aL}��stbsdtZ�#�#�a2��ӐQ� ���L��2m+6CF��:2:�&���/dԒF�Pr�<���'L�Q'�J2��HF�Q92�z1%Ўb��՗�\�t�
�!~6
)�
-�!�
�؊�>6:i������٨�
}&
|-ݰ,�W`�+�������~W��>��q%�/��}^{���f�v���j�����UV�u% �����ږV�ES�����7*6�1�(����[M�|���.ګ��o���
Ъ��Ѻzϻ�>�\_?>>�u��E~*Q^_CV�
�
�8�J�.rB#,��!v�J��<4�����7��
�3r��3�1���endstream
+x��YK��6��W���@��C��-zH�$h�i✒`![\[�,9�����;|�A[�n�m��/�H
��o>K�[z�{9�m6�z!��HP��n�{� �S���ØD�dJ0��7��q��o�L(
�~%�2�y��˸�__�,�d2�
��eqU�۷�V��e��0�`D���'�f�F�g�/#�`��y�ƽ�z�����aĢ��i���S��{7�{���A‚��@
��s��)���=,���]��<͗7]���X�s�(�6S�M�?��^D���
A ^k����q�G>��'����m�֓�1��9�O����e�p�h�Xu���ySت��m��Z��
+Q3�_�_�
�
�>"=�81F
��d�
�����S��:u1��hȎ�u|�Q�6�UZ
,O�1錤Y���6��}qk��b���p��/�U�5�-��o_��ڠK�1����Z�e��2��b�B!
$�� �<��
Aҙ���3@� ��Es|/3�Ŕ�^ີ���)�^i�͞S������P��,e.˸n�վ���N�ȍ̓v�"�����v�
,s0�Z��|���.�ۓ�j.j���޶K
��E��&q-���<]���98L?��Hx0	HB�%�x-kYV���n'�I��r8D��ށ�8'<xs�O�����*�

�
8��f�z[�C�#�oib.�D��8UD����CL��HpEB��/��lT���H0��4yj��B���S�>��ŦN�<�T�o�4�5�ᑆt�ִ�t�{7�
�:��4�+���!<6��|���}�o�U�2�Y7A]|V ��M��S�	n�� /ӳ[&�I�m:K�M�8��R_��U�$�Cl��,��U��*O�l�*
����@>��7Ͽ.�>�o̙�#���j��ac�,Mn�r�]˼>�K����UY�#���C������ayq��C�w����$��+��i��:�)@

I�����"<8P^��,z��ʀDk��t��F~��xSd�:�F�
�y_�9�yH���
px�>c=}Ʊ�f�g���t�9�{�̵XV�z�`�srБg'�гr�`���w��{U ��`���7�?�Kw�G��@X
x'ҠS� �ه�U�5�F�&0`�'�XQ��g��{�^�U���mQ.
j���qPyX�+�>�� ;Ϣ#и��� �e�.�]:hS�獴ɲ�����bU+��!G@��~�j���p���(���d��$��I���*d��
Mv��r7�R�i�ԥ����m���'�	�\��J��
�~�>��}�P��!?���4$5 �qXCFG����;�����yپX�0k��^�NۿD�E$c(�t�ED��"��	0s^&
�H&BC����^Q����I5

y8�$*�&��bRY9bRu(=��FL����4
+19 !�J砊q�/*��u�HvQ�yy�x�����v/�'�D$|��d�\(
+Xh?#�q���EJq�f���4��4���,�pHE��3��*�
y���n"�Rf�;e��w���g���c���s�b��
Ԫ�7�WW��-*���M���
+�����,���w�����U4�*=�֒����L!r
+endstream
 endobj
-6298 0 obj <<
+6257 0 obj <<
 /Type /Page
-/Contents 6299 0 R
-/Resources 6297 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6311 0 R
-/Annots [ 6302 0 R 6303 0 R 6305 0 R 6306 0 R 6308 0 R 6309 0 R 6310 0 R ]
+/Contents 6258 0 R
+/Resources 6256 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6248 0 R
+/Annots [ 6239 0 R 6249 0 R 6250 0 R 6251 0 R 6252 0 R 6253 0 R 6255 0 R ]
 >> endobj
-6302 0 obj <<
+6239 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 690.3327 334.3515 701.2366]
+/Rect [274.526 690.333 334.351 701.237]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-6303 0 obj <<
+6249 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 589.1564 268.3399 600.0603]
+/Rect [180.659 589.156 268.34 600.06]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
 >> endobj
-6305 0 obj <<
+6250 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.7108 471.8153 344.7903 482.7192]
+/Rect [284.711 471.815 344.79 482.719]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-6306 0 obj <<
+6251 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 372.3231 268.3399 383.227]
+/Rect [180.659 372.323 268.34 383.227]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
 >> endobj
-6308 0 obj <<
+6252 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.628 254.982 360.6294 265.8859]
+/Rect [299.628 254.982 360.629 265.886]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-6309 0 obj <<
+6253 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 155.4898 268.3399 166.3937]
+/Rect [180.659 155.49 268.34 166.394]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
 >> endobj
-6310 0 obj <<
+6255 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6300 0 obj <<
-/D [6298 0 R /XYZ 90 757.9346 null]
+6259 0 obj <<
+/D [6257 0 R /XYZ 90 757.935 null]
 >> endobj
-6301 0 obj <<
-/D [6298 0 R /XYZ 90 733.028 null]
+6260 0 obj <<
+/D [6257 0 R /XYZ 90 733.028 null]
 >> endobj
-5990 0 obj <<
-/D [6298 0 R /XYZ 90 534.5857 null]
+5941 0 obj <<
+/D [6257 0 R /XYZ 90 534.586 null]
 >> endobj
-6304 0 obj <<
-/D [6298 0 R /XYZ 90 520.0154 null]
+6261 0 obj <<
+/D [6257 0 R /XYZ 90 520.015 null]
 >> endobj
-5991 0 obj <<
-/D [6298 0 R /XYZ 90 317.7524 null]
+5942 0 obj <<
+/D [6257 0 R /XYZ 90 317.752 null]
 >> endobj
-6307 0 obj <<
-/D [6298 0 R /XYZ 90 303.1821 null]
+6262 0 obj <<
+/D [6257 0 R /XYZ 90 303.182 null]
 >> endobj
-5992 0 obj <<
-/D [6298 0 R /XYZ 90 100.9191 null]
+5943 0 obj <<
+/D [6257 0 R /XYZ 90 100.919 null]
 >> endobj
-6297 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R >>
+6256 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6314 0 obj <<
-/Length 2562      
+6269 0 obj <<
+/Length 2013      
 /Filter /FlateDecode
 >>
 stream
-x��Z[s�~���S+�D0���ö��4�v���S6��%�b#�
-I����
�(��)o��e�`�|8��,0���ƋLdH3.��^<��W�?^����׻���R,4Ғ��݃]A$(����KB%�+�1^��&x�7�|����e���&_�+y����)��+*��o��m��C�P4�D-�jS�J���\\�x���7w=9�]0I
���~�/�p��0bZ��|��hM�+NY����x��~
����� �52�
a)�Y�!�� ~1���YY�^'���}y(�b�.>wM~��yW���T>Vf�l�	
����s�:i�џ��n��l@����p(C��!�cp�`
�,V�b$�����>�Z���cs2�Z|n���S
�(�X�
6�m�a�*Lz+�;U�����iDZ!"���O��������#ʉ�x�p	��������%V���� $� ��
���fHR�-��cS_alE,
�
L-�]�Mў����#� (H� ��+��E�'ͣ�|�v���xk��ɪ���]��Tn���
�d� Hf [...]
&�˽��p~Ā5�H�����`���a�҇��~�� `p�˪�
`��P�Do�gO�NÑV��<��a"3Fc�*�0Q�B�
)
->��j ���i�TOXK�8������PtE��Nl
S�1J�&Dz�I
�p�2��y�>LF���	�j��=j�i�XQ$����c�
�=Y=e|�K��PA��Sۥ�I�[t���ޚ�����Ï
J2�U�ž�k�)���e}W�tZ�g5�QsZ��F{��j=�%�
�ɞ��@:�*��.�m;H�6p;�L�ڠ������(؈^1v2#T
�R��:�͉5�Ι4�����®5�u$X�82����� ��h�~n�$�.<B�hY!�d�}�`g���K���
�����%x�
���pV��3+���-P��
t�O&fU�`�0s$�s9��:���]a�
�J��┐��gG�k|,c�R�k�de��
��
	iO�5t�����;�O<��2C���1�q��
���H0f�-��ϔ]��U�ϧ”[/�*e"S��gs��r�P`���7�7�5ę<��|�',Ү��l!�A� Q��u��r�Λ�ӡ��i��@��g%ң�dFe49
���
�.p���DzT�¡Z�}/�e��.��XBA8R�pʫmb
h�T3�L!�D��/M�gO�-A-XȪ�L�
-%�
�hV�j;�p�v!"�Q7I&ݤ ����̷�u{̡O��k8캀0g�
̣Pd�X�]w��"�Z��*�wH

�U`u�)R�f�,n��l�m� ��t��T�A�Uam�gc#��^|6z�+�v�q��v\�������2�`��g�N�||�^�O
� 
���)31j�$
�zX��d�0{�s�0�4]-D��uX��u��B��� �A��t^SCԌ���d��_�IR��hi�"��
�g�}Q=v�u�4`�c2��P��J�GMI��P��$&e)M��A1��a 
-q��]�c
�$&��!&�02i&Ҟ����M~j=�9=
"?�W���
��(�"�ܴ)G�~��M���²
q�ɥ�/�W��F���ke�
�	�B܎*=mnFĈ׸��)�8����
`	엠�]g��d�J~�0�>?��J@�
n�`�su��s��aw�㮰W�0[V[�����N:d� Dl���
)T��f����nv�7��_��^�
��_�KJߑ������2�����7V�>��J�!~�'b�

����U�Re><7ݟ ���˷晋+��U��p��5J+�5D���zVˇ�>�y��Lٴ���<	��; +	E�
!c`�P�*���e!��g�U2D
�0��pA�&"
�ml0[[�>�Y�y8B�l݌7_3�
ۋ�T���l���{1�~�t}�7qJ�{���HT���(׆�R��'L����E�
-b�Ԫ/���5a��Q~��|�#�A0������)GPJf�Rq��0GĤ.
-zWpf�X
`)�k)�\P8
nƦ��eX9b���`��n(��t|h����4�.ʔMd:Y
-&&��M���廄eHC�l���9RP�EVt�l� ��;��x��I;ĵҿ�
:��
��@N��)
-q��۟�_������A
廤���Lq)��/���+p�%tܘ}Q���~��H��5�(�
��'�wL�I�
g��W��\�DL;��%m
P3�t���bMÔ�|NWc/(+���a��Ĺa��H7L�?�T�D Q`(�^�0
_�i�z���0ż^j�&d�
S�%~##4�%ۂv
��~>c#$x��z�s�1 ��F�&S��!U��>_�߷E��kh
|��g^�r����3��u��I���7+&���|�B�pF�X@��O�0��@1���`%��N�5g�u�������	mZt��c����x�ߌy1y����A.���.P�	��<�${��
ui~#q�?������`J忋�5endstream
+x��Yێ�D}�W�	i��w�� v
h�
�y���K��͆����k<���H�k��N�:U��`�������+ɂE����>�pJ�%�m�_�(Y�	�x�fE�2��x�fE���{�T��&����|}��J�՚
+��:���
��{]��Z�b�a%Ɉ\R.W��~���v�ǂ�/8 vo���`�/�����
0b�
+N�*8e��?-�qP���8C�`>�`J�/
��B����<mt���*>�Yܤe��P�]a
+��`��eQ7n]��}f�z����H�����gg2��#�5xa
�5�	
k*>@���,v����yw����9�(�H��vW��@���a- �cab։3�#�"2j����l
"
�֦9���g_z���O�>��盛�E�}tp6��<�YS���"I�3�6?T�C�Ԇ�L-��v�J�Ǭq��hH��\�<�߾^סּ���Di������*�����R�ߝ�g�ե�⾬�����e���vg�=N��XGJ�ű�p�1̻3��>ܸҎ�,b t��
���R`���8���a�C��W	��I�P�DxI�Q0
E���>��e�4B}˜5��'�����!�u���z���:��R($��BX�A~�G
F��`�t��:=��۰ k��Tˏu3;A\uFw
| J�E{J-MF�K��$��/&0�`����� ?(�#~>
`L{7o[z��)�
�L
����H��Y����y"��0'v�B��up�4
+ ^���I �]�@M����0{�N���@�4�˴{^7e�
��`�8�wnE��TB�@��
4��&tQ;sS�‘
�<�0s�k�,�(1���p�������Bߙ��f�
\��TM�i���+P���"��M!x\8�J�4��[m����4��ZH4��Y�l�jw�u�<�
�
��n‰�
+O�9�{^ڒ���/�����
+
+qٕ��Hfր
H���o�� ��"��T>����D�ia�&T
`)�i֔Fp�����qOH.zBA"�ܦ0N�M}����
�7�FCNو���M�t���|�s
(A��3QA�,�ln�,���e��3'A]9���q�2ы�`r,^bͱہţ�j�%�b���NN�� c���fF���e3�>eIϟ��]]�vP�������DhP�95=��O�T�.v�~��
+�~$�P �Y���(���H|�;a
�s�8���u�h�:������Ѳ

o�c�-
�`0b�x5��4�L N��k�̅lr��~�~ME�#�;5��S�0�Ц�����Ѩ�`(���!*
��t�OX�A�O�m�ad�9�����-pu�;4�f����^Aa6-]wy���j���/̐BӐn����n���[H���yM��
i���50�I���Or�����
b�9�f�
��2r`��ɣ�v�f��|97͎�gk&��y�oo
+��B�e��Z3
A��Uc��a������[O͔ڙ˖0�+�7`�$�J�1#�R-�r򭿚E!S�6�H��z�LbI9\�V�Vo�\X��6��J܌'����@�0��n�
����w�F�#�x{��΍
"2jC !���R])'�Y���k(a_����a�����_��c���K�E.��\�r�$���C����3B���v��
^���\L�'Nz��D.Dz��
6޲�P�����d
+4
�<	����bA���
A�^���aOW@
9A�L)2���lCB�`@E`D贡�
-�T�ڃ}�[�5����mѺ.�o`��7)��
E�
�`��6��~��>��
D����l};��J$�����dG���2 K�	�'�~c�1R꿶Z�zAu_~�u��
+�9O����w�&^wU����$(:�
*M�{ST��w�}?���=hG�;�{�)f��ow�Ms���:�Nh[�c�
*�6W�Cvu�s�
+�4��Fs��O^��_R�+Dn��8�� ?�
+endstream
 endobj
-6313 0 obj <<
+6268 0 obj <<
 /Type /Page
-/Contents 6314 0 R
-/Resources 6312 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6311 0 R
-/Annots [ 6317 0 R 6318 0 R 6320 0 R 6322 0 R 6323 0 R ]
+/Contents 6269 0 R
+/Resources 6267 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6248 0 R
+/Annots [ 6254 0 R 6263 0 R 6264 0 R 6265 0 R 6266 0 R ]
 >> endobj
-6317 0 obj <<
+6254 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.9698 690.3327 252.6748 701.2366]
+/Rect [192.97 690.333 252.675 701.237]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening) >>
 >> endobj
-6318 0 obj <<
+6263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 590.8405 268.3399 601.7445]
+/Rect [180.659 590.841 268.34 601.744]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Widening_with_Tokens) >>
 >> endobj
-6320 0 obj <<
+6264 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 374.8836 300.1613 385.1649]
+/Rect [172.639 374.884 300.161 385.165]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
 >> endobj
-6322 0 obj <<
+6265 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 118.5082 300.1613 128.7894]
+/Rect [172.639 118.508 300.161 128.789]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
 >> endobj
-6323 0 obj <<
+6266 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6315 0 obj <<
-/D [6313 0 R /XYZ 90 757.9346 null]
+6270 0 obj <<
+/D [6268 0 R /XYZ 90 757.935 null]
 >> endobj
-6316 0 obj <<
-/D [6313 0 R /XYZ 90 733.028 null]
+6271 0 obj <<
+/D [6268 0 R /XYZ 90 733.028 null]
 >> endobj
-5993 0 obj <<
-/D [6313 0 R /XYZ 90 536.2699 null]
+5944 0 obj <<
+/D [6268 0 R /XYZ 90 536.27 null]
 >> endobj
-6319 0 obj <<
-/D [6313 0 R /XYZ 90 521.6996 null]
+6272 0 obj <<
+/D [6268 0 R /XYZ 90 521.7 null]
 >> endobj
-5994 0 obj <<
-/D [6313 0 R /XYZ 90 284.0736 null]
+5945 0 obj <<
+/D [6268 0 R /XYZ 90 284.074 null]
 >> endobj
-6321 0 obj <<
-/D [6313 0 R /XYZ 90 269.5033 null]
+6273 0 obj <<
+/D [6268 0 R /XYZ 90 269.503 null]
 >> endobj
-6312 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R /F33 481 0 R /F7 526 0 R /F1 573 0 R /F8 523 0 R /F11 411 0 R >>
+6267 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6326 0 obj <<
-/Length 2736      
+6282 0 obj <<
+/Length 2257      
 /Filter /FlateDecode
 >>
 stream
-xڭZ[��~�_��b�&E���IS`�;��fahl�X�-9����_�C��E����`3�

}<׏G&3
��Y�gJ(�1.g��
�=��o�����˱���on_I1�P&���?�$A�:�߼��(Y,	�x�zA�<o������y�{��&_�R>4y�rw�cSnK*����m���hDϋj]�&Ɉ�S.�����~ �
&����ͻ�x��5�|�˴�=�	F$��l�)�'���7�
���)�6tb����6��n�ɼ*T̟�	���|�o�}Q�e]�������,x^��n[��mn
�����y�u2��i[���ZV�bA����_���^[
�̟�ߙC:ޖ�{�=���M��_�1��,�Ù�_�Ë����i_ڮ������]��Ss4�l�
����=6>�`��M�?�xs�*�n�M}|�>5Z���5N*�6��]���tM6���.��٫����kkK�K����1t�xC�]����`yEeo��\�����G�
��Wt�Z��� ���
+=�
Sj�
Cl
�e�X	5�(SL��ɐ�^ȩ	BY"-u6[���jca�Ͱ���a�l·�3�Y�1�J�JC{7E{�u6�]"�Qo}�'#�^�)R2�k���7L��#Q���Wk��L;9���X'hR�;K~�ޔ 9�@gr�}��dHeċc�Ib�k��P3�a�ֈ��5.,Gb)Wg��\��H
�
�e� b�{k��A�2%���%�Z�5)�V_`�؎1ɔL���žȌ�;
-R( (�̂� $��4!2��;+�C�
�%U�~�
-9|j���������ڷ�O�wwP��yWT�o��|�����}U�����'�0Sc�H
"���Kb
ASd�+�J�d�B���$`C	����[˵r���{8GT3>h�.:�
-d�xPe�*!� SL	���3�`���ws�yr2oF�~�_���}�� 8�
-�
-eI��ʄj
RW P
Y h���	FJg�۴�X
�桤
-�*Pҗ�;#��&�
�e��~邨n6�����U�@�h5��2�%�ꅖc����
�q@�)�m���q]
�?ۻ(�04
FI���A:F�&�*S�1�� �wE��mWE� ᘂQP�� _�� ���7EY�I�
�WO��AL�y�h�J۠ͅ0�K�}�;��	�P~l��{P�Rtu�"en8&���V���uQ85È,A3���BN��J�{���
�c"��&���G� �R�+fP�@DB��M+�����i3pP��Ur�4�4�G<�GLj?�۴}m�{��
&�Y64(��^�u�с��]����WXѺz�P��
�p��I���R�k-
:1��,�|(wE)�<u��X�P`i�zo`8w���8�0��2�YϞ��27�:_�`Hh��������ޅR�p��EHҥn��� �� 艾l�A*�;$X1��Z8Ve�k�����gk���'�j��� ��|�p �԰�h/t��j��T�����.��u{�C]��%z�l���D
xY�Û8�l��̌o�0�,u!���.�'w���/�~�"
�������^�C�+7��y:��T��4c���b0�ñٕ�q f���}��S$0�F�Ra�,�5�eY�����	���s�m�Q]�K��I��N�C�c��1t6S�+���^�Uh��y���A� �l�Y�gk?sa�*p6V�ŝ
�y�
;Nh�2n�|�
���<(��&��ƒ�a""b"Р�WP�~6�Č$1�4�d�Xu/�"�<�
(=웫�y��)�m.��8SP��d
S&\me��|{1$Z�&�^X�n��
���+λ�Sv&g˻��I?���n&�럀ID�"�����.@�� B'��m$C*L{�aP�`A���0�R�U&�H�SF��F�"�0�/k-rj�t��
��a�� X8�{�A�� >Ҕ�q[ �OM�LΤ�]�B�p����X��vP�ȯ�b
e�K%�Sx�Ε@�J`W�;Xdb
	�N�Կ$^�µ復�U@�M�R_K�2߭^
�u7�W�B�������K�?a�=3�;�O-����+ �)�'=*���G���
}����
���H,
�ǼƗ�p"@Lpz�we��~�>U�)U���$�V�vB������ڎ�mI�@�cJ�O���19`�Xsu�

���q]���6��q[�Q����J�Ҥ@
R׀Dچ|gd���3~JU�
AqSq�LV
�
x�ɥu�{q.���o&ܝ*PPN��R��70�&p��=�
��ԆTzƘ�8��{��B���X�P"�3?�Q!�?8�Z��Q�f at 0���~�����>�$�͐�b�Lq�A
�q4
V^ ��j ˡ�$�c��AQ�J)/yl�/a����(�0Φᕤ��!o?#t��
t��GG48�La
˞z�����)�Ȱ���4CZ��;�F
-aqe�0:�

;�S�5KK��=��H�C/X'x;3��_\��������<~�03K�Ә���Ԧ�Z�
-e�%��"�&rf��?
�%Y.6U]
-�U���Y|bl�Ӈ���0���
7r��
�Sǐ��ڢ������_yu�&5$�2��G ���`~�1���焰�Ŋ��@���3�����?�
=�?��V�5k�v��������[t��C����p�����C�^p�r���gZ��c��<z�����b��}��*
-!�	J@�?r�endstream
+xڵY[s۸~���SKͬ`\��v:�v6��Mg��ݗlFCK�ĮDjI*���{@ $AB�Ӻ�H�8��;���6��ۛ���ܾ,�P&����
GR�)��7ѧ�D�bI0����q^����q���Ԧ�W:�/wwo�b�XR����1�ԣ�$�U�V��`D�4����?��p��
]pD���D��h}���GX�)ˆeit�QB|7���c;8��A‚;�wp6MH\���Y��9�k��)�l��l�����Ѓ�hwUc/w�v���ܺ����۝jZ�Z�� <�����-�6�������%�ϻb����g׻��׭�������e�Z�pтI����Ҵ�`��G��m}ұĥQ(�K�nI�E���E��w���,��
�괝>5�(��T��Tn��iԴu^�a���� ~?�{�����Œa�ю�j�����Ν
�S�����c]
&�AКܾ��Ҡ� Ft�uz�a�ƿbJ�0#ca�X`e?		�I�j�H�#��v�]�,(Y�
I���(�o6�
��¢�\Ol�m�v�
+�8���k՜���\[ܖ w.���Ec�IB��Z�4f�_1�F0
	J�H88��̜
�rd�#�$�ů�k��1$9���mI�dF�8�=���)J�����@�S���#�P�3�����6as�ID��" 
K\
p�*��}��i
+�D��~�s?�=�}��
h�z��ā]��
��DYB"/	X�QJ���3R
��1�_B�)�Jb�;h6�
a����� ��y�J�[���<���ᘹ
��FAH�Q0D
+�!��/��d

�LR$t�J����N)K�����$	��(��&����Y��J8�
+H2u�rc���ZN���&��)3��Ȋ���P�<b��m�7i�at��
�v��
|g�����G�T(J���
CUo��<F�ٳ�%P-PY�
b�4g��u���c͝�𰉗Z$E�@Fd�7-��^��v�Ru
��+��'9����{�����$�(.
��04���vK箬N��]��
+ۧ��<�֭fj��%�N�2"�oZ+�1�=�]ɱI ���f>�
��U��.[W]�\B��I�
LJ�=!(M�	�$s�a�K�t·JKw��
:�X�!l��"�}���Z����
'��C�Z�VjUw�s�M�01 �g�
+�*�ūIJ���-���
}��
պ����g>��6n��8��
෧K�
p�+@�������"�|ڑײN$x6��
c��:��� ����ÿ�7�{몆��X���4�1
�i)�w��M�����S�rd��髢
@1��_�}�Y���Z�O9=x'Y�(��/���W�ҞW
o�@oY���p����;��\U�]�&<.�cb�\n�>7�1�$���R@��Ll���vs�.�P��A��<0������
�+0�g0�S�.�{��f�z��U�o/�j/G@V�?���Z���c�)�B�6��5H%L"����1�q[�07�̢O"ܤN��
+_8����m�����i�DK���)aѾB���(�%�1�$��yK���/
�������v�x���ډ4���I���$=6����d��
a qJ�B��V����.��@k�p�%�W=F8���'�5zy/
+g��
�
a�U��
L
̛i�����O�3 ��/�Q��L
�E�_�9��OG�
	�Y

-���6�����
���z	���6h��!�dz��Ύ��D�6�b:�e��sg槢��|�!��y���I73�Ր�sݣmO��/�;����h\g��QB����q�.#<�1T�"T����QH�>��r�fUu����I�W�۝*'�Ԫ��b�XW�eq�H���M��e!�୳H�K?=~�C-s�)\����������ͤ�Ϊ��p	�J��
�ƫb�&�s{
j�V^^WP�
+ʾ�$(\g�$�訧��t�t�#�n�<

T��4��-$��E&�)s���3�X�c6�
?ڌ�2�.�ޘ
+8-2,�
8�P����`�@�f�2�j�R6��Z�A�al��0�
3��e��
H��^(ɋ�*�~q�2\�Ι�R�@Fҗ�P�~ 
�b�<C�'�k=5��[Ǩ��Ҫ��g��?��z6����'�͝�B�!�0*'�Z��N�j����f��-rW?��Z��C�;�m�w�����t*�c����x���C;�BH�; �ɣc�CU�����,� ��'
+endstream
 endobj
-6325 0 obj <<
+6281 0 obj <<
 /Type /Page
-/Contents 6326 0 R
-/Resources 6324 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6311 0 R
-/Annots [ 6329 0 R 6330 0 R 6332 0 R 6333 0 R 6336 0 R 6337 0 R ]
+/Contents 6282 0 R
+/Resources 6280 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6248 0 R
+/Annots [ 6274 0 R 6275 0 R 6276 0 R 6277 0 R 6278 0 R 6279 0 R ]
 >> endobj
-6329 0 obj <<
+6274 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.3343 604.5441 236.6587 615.4481]
+/Rect [179.334 604.544 236.659 615.448]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Concatenate) >>
 >> endobj
-6330 0 obj <<
+6275 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 547.8693 256.1568 557.7671]
+/Rect [128.635 547.869 256.157 557.767]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
 >> endobj
-6332 0 obj <<
+6276 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7077 432.3796 250.8953 461.4454]
+/Rect [215.708 432.38 250.895 461.445]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6333 0 obj <<
+6277 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 387.0373 483.2121 418.006]
+/Rect [448.024 387.037 483.212 418.006]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6336 0 obj <<
+6278 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.3762 176.9316 385.5187 187.8356]
+/Rect [322.376 176.932 385.519 187.836]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Map_Space_Dimensions) >>
 >> endobj
-6337 0 obj <<
+6279 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6327 0 obj <<
-/D [6325 0 R /XYZ 90 757.9346 null]
+6283 0 obj <<
+/D [6281 0 R /XYZ 90 757.935 null]
 >> endobj
-5995 0 obj <<
-/D [6325 0 R /XYZ 90 657.4691 null]
+5946 0 obj <<
+/D [6281 0 R /XYZ 90 657.469 null]
 >> endobj
-6328 0 obj <<
-/D [6325 0 R /XYZ 90 642.946 null]
+6284 0 obj <<
+/D [6281 0 R /XYZ 90 642.946 null]
 >> endobj
-5996 0 obj <<
-/D [6325 0 R /XYZ 90 539.1649 null]
+5947 0 obj <<
+/D [6281 0 R /XYZ 90 539.165 null]
 >> endobj
-6331 0 obj <<
-/D [6325 0 R /XYZ 90 524.6418 null]
+6285 0 obj <<
+/D [6281 0 R /XYZ 90 524.642 null]
 >> endobj
-5997 0 obj <<
-/D [6325 0 R /XYZ 90 367.2245 null]
+5948 0 obj <<
+/D [6281 0 R /XYZ 90 367.225 null]
 >> endobj
-6334 0 obj <<
-/D [6325 0 R /XYZ 90 352.7014 null]
+6286 0 obj <<
+/D [6281 0 R /XYZ 90 352.701 null]
 >> endobj
-5998 0 obj <<
-/D [6325 0 R /XYZ 90 239.655 null]
+5949 0 obj <<
+/D [6281 0 R /XYZ 90 239.655 null]
 >> endobj
-6335 0 obj <<
-/D [6325 0 R /XYZ 90 225.1318 null]
+6287 0 obj <<
+/D [6281 0 R /XYZ 90 225.132 null]
 >> endobj
-6324 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F33 481 0 R /F7 526 0 R /F1 573 0 R /F8 523 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R >>
+6280 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6340 0 obj <<
-/Length 3158      
+6297 0 obj <<
+/Length 2621      
 /Filter /FlateDecode
 >>
 stream
-xڭZY���~�_�'GB�޾�=$���q Ǟ��6�D�ЖH��v��>��Cl�I)kc1+
���:�:H���,4^d"C�q��
��.�@��5�_�	�����
)iI��i�q�	J��i�ÒD�jM0��oV/��o�YQ��^�]�o�.�������eS�Vk*��C~>��o�}Ѭ�Zն N���<[������OA8'�`��~}��'���
�z��i%op�њ.��2rx���?����=�R� ,�A:�
a)X�����n�-��C޺��u���i�����Rm۲�����ڣSS����s�l���P��X��Ջ{�h_��
���De�
�UYy�UO��S[����.!
-IM�����s]Vk	f���x�a��w�1/����G��m]�
AЁ���]S��T����Ζ
�ҳ���x
]�\�S��L
-���j�T�̫�=���{�ouZ6Mqj�sQ���=Y�ٓ}��9�-{���ۿ=�J�gF%*Ч�5�dY�nu�����[8�M�jDU����B�8�T��G�iU�f�j-2�y�XQR�

�t0c����HS�ݳ��@T���FL
���>�w�����׍�n�
�s=�s�Kd�O4E���t�������&N 38^~j��9V�ӏ��p�K�)o�$C�`��I\Օ��z?
w�j;�:�N��
�3��'�@��#�>(�S�@A 3[ڕǢ:�ě�é�A�۔��k�	�%s 
���ў�7
-����=2ʫ^�����5T͙1Dt; �9�V�ȃ�1y,�d���)am
;܌�w�Q	Y8�����}�ǹ�'��g��{��"F���=��3���Lq�Og�ϔÔ�����'����;_�\��q�3��}�@��>�;l#�1�TAD?;�D�&��	����$V�
0��V�9��^�0O2�qI}�K�!�Z�ߙI#�/��OɛA��^%u
�
-i�
-
�5f-"T�M$��2#F)fT"���pr�x���q�
�T�y,���f"H3��
���%��gl�5�
-��A��s(B�����QLn�#	.v�!��dMYCh�=B(�	:6@���{��� �.G4��KP�z.�
-į���pN)�Q�Q:���W#��ف�`�u�k��sr2���>3T)�`?l�U>- ��U
o�ES��iMf�+�3܏ը��;Q�؊k�֍=?��]ۡ>��$<�����_TRC���I���i2AHz9���N�3ݍ�,��o�dP8egh�h(�wu��j�*l��9ir�s��G��V��d���T�E���)���Օ~��r�ˈ�F������vК�I�mi 0;=��mi����i�BN>�m���1)�Q���*!P�t���"k���aM�g	ݟd�]��!����{Ӌ�f�@��D<>�� G7�3oz! <d�*�_i
-|����NG
6x���y��a�Fju��),���h�
�uP�x�=&ւ�W��=���M������"��@%'�W
B�T
G���
����`c�8ۺ
8���$�tI4���.�<n���&(}��e�h�
zݔ/���O5
�)��0��`P�����/��Q4����C�a�$	�ǒ�
����+מ������������ZeSPr/�tM
�fu4c�{�ē��*�C	�V��2�f�x�I���
ٜz=Y�hQ���4?���/:P.F�C�
ʭ.�碉c�)�V׶
��Yc�Q��7B�G5
L ���?�m[����L8$���P�	{y�.%� ���9xf~(w��y����#�4�bf<��@5&Nxr$�X����v��!����X���x	e<*p쌩
�\����д
A�
O�a�ٯG6g?O�w(���uS4͸P!tSX�Bx��q�)
- �I,Dd7)�I���w
��m�Q�b�fS(
�Z~�L=�a0�1�v [_;{{�_Ύ�Z"���:��@t;7~e
�IM'c���p�Lf�U��u�?J���!_?P�k��YT�j� S,װbuDca� �
-u���E���g�:CB0
�3�RᎴ">�[�|&xE5��m/�m
����"���2>�*���uo���mz����u`��-�:
�@�((�

N,�m�ŋ��
�������J���藤)�
���T�

-���S��&~���ʡ�T��;'Y�^��u;�V�@JN�,�3���v�]_4N���^���:�i�xd3�H�
�@�el ��=խ�@
 L�|����r"�큮 >Q˞��Ɔ�0Ɯp���
zF?��q
*D4�
�
Q�L��F��[+��x4���ɖ�)���� zBy�(�O�`A-�u���x��	��Q�q���ĸB����{�{�T�a4�03'N�y�}7�1�.Λ�
-w���\�H�֛�b��D<� 
�S at A��
r�,o
K UP)o�J��zj�A at Z�iO0�0����%
M��
0��!w8m�4O�9�4L��*
T���1��n�,�Y0����O5ݠ��P�A�wf�`��I�.�ٔF�H���l^�j,C�x)L���
��>m芆&H��gD�
�91�ߐh��H��
-��_�(�,�LΫ$P���eSdD��?C'q�}S�������)��-e�l��<٭	���aB6Z6=!�����pB��H���g�~_
��-\�Wn
I�&
-h��<ׇ�y-і� ]�ߧ0vp�R�2���a
-� �� ���fЈ���qQj�9�J1�����E����F¤�E�0�����L��\ �/s>��̠�
-�h�Z��4��j[O�
�ך{�1�}��c>߮�
:3�
���S��`o/���1� �RKKy�A������
�	�D�UE�'GuK i�Q��b%�1m^�^�Gf�V��{kb>�~!�I����\�����KM��5�4���eJD���ی��Zf$ڍ�Ɗ��DŠ���*D�BLU]/D7�If ��&?�w}�ܽ�ueDG/$�
hy�k]/DT��o��n�����k
���E�K�~��W��}Eh��A��Q��̔A�]1�8�i�T�����_��_���?��=��~�ݎ�v��==�{�����gt��S�����tx7�����3=g�u �i�
J2
Pٗe�����V�G��c:U�O��?��o�endstream
+xڭZ[�۶~�_��T�Z0.@ng:�fb�i2��ۼ8
W�viS�JR��߃
	��.���+���s?��
fx���w7��6�P&���mg�IA�dv��}��(Y,	�x�nA�<ov��݂�y]�<�M��~*y��}��Œr<�����U[�,H:W�Z�J�1�I����Ǜ�n�wC@<#fo.�d|���|��6p��F,Kg�f�n�P�����/7x��=(CXp��ݣ��tj�/��]����
�"/Woպ+��>�
�Ύ�M�g=�~�~�m]�����sQ=����޴�(�K����L�Lb�ť)�-)�[Ҋ|_��b)��y����պ�Ի��~�
����u�6#,�e���.ۨ��T��B����
�y]sP�5)8H�~R�],Y*�y����*_�dL���7�UU��ܽ����&�W�q���4��ao{�-Q �^-�	%�s���/u�>��}1Jϖ<C4��%�v�]|
���
cZ���+Z,�&j��$2$�`�3�9�
�e��ߵ!��
�Ԧ`�Tf��^��u^��~0�^m��ݷV����~� [...]
���"�����u��~
�7�!���ك��	���d��mL^	
�\m$�K@��CX�!3���
v�
�Q�b�h+�V�a)&B����R:�"k0�J>�&�
s"�$�8�0S�0�
+DZ��L���0�?F##%C+�+XL��^��#pMW
u�^&�D4�I��ELH��
!}�����.��W�F��r4H���6fF��:a�����P/����P/ឩ�z^�F���(���X�J�{��q�A!l]�~~T��g˲sK�(�$Pu��b{X�����^��|�
S)�v ��W
��8
�@H���:=��
�Ύ��	��<��8�9bɠ�^ߘ��zmj�6�j�+(Po�4���`���?ݣK�^ :{_PC�k�Mq?_�n[��o̓#r���Ӱ1��laem�j]h;���k����kAr�q�6��o�^1�
����+bHH�`�4��5I%����������2���!L��m�QX���K�Y����_C(?�MDt '�:`�,���M ��v at O4H�Qd/�p�\(�Ki�n��7
+�s�S�u:�s��~ºޛЊz���
^�
�־�6>7c͇d����CЎ1��5��Ԙ@3�™;qѓC
UM{{C�!�I�?�7rH7�J(f
+�v(�w�zi��B�q�5m?�g=���Tm�6�.Ph��[�*���>Р��}���^5aD8ڸ�k���j�$4����jo��Y�s��,@�����f�7�gwN�
 �ȑ����9����|C�Hh�K��iX�f̿�K��!�N\LБ�JU=t�+�4�٘*H���Js��?��c�IjH��b$�~�z�����4ڤ����Pn��u~h�Lk-�
+W3v�U���6�8���Y�&�W��u'	�t>�Փ^5�ϧ���R�P�!"xx���h�
#��T0�4�<��4
+������,$�-	��8Иrh��
h�$L�
8��?QF� ]2.�?&Q�����#{j�M�L�T���ɔO9�6�u$#t@��X��?igCkz�Y4�Hx�u�</5f�z�3�b''��p*t�~����|6CG��
��
eW�_pN��6b
�4�7�������i #Ɇ��+�D�<zz

y�}q�[����b~C_viArA�ċ
�
��
!z�a8�z��w	!��<�O 
8" ��)Ʉ��G4�%�Z���AU�G<E3���b�͢c�Ү�+w�����^���jkD,]�L��Ѐ�ȡKJ]"IPm}O��#��-`^(!qy���m���nN;�!�ԃ8g��B� ��U�t 
�iw���+��>
`߆�����<
+Mp��ߪn �g��o
��8\�u���@��:�s�ZX��'>N���\C�HhF�T��#u�!q�>ݜ^
�7�pf�9��9�L���c������a��x�V�mJ�ы�Y�,�(ӱb"�9�F�����P�`k\ß?
n� �dpT>�bˢZ׻=�ӸY?�3����HƠS�aE32����~�;�cXcn�����Q���ª�
w.NTObx��z$٨����?ʶ�;tcV��8OտA��pZ�,<1�><���
.&��f&�]
+����2�R�NE�l�7d@���׾ ӿ�3����n�ZX���/;w.���a
{��V5Yp>w���:��Ws
3�

sc��E�{��Ay�����}����X�녦�����Ǯ�߾~�����-:TžAE�z�/_W�
+�Z-�h��G;����ps�x���%]�
+endstream
 endobj
-6339 0 obj <<
+6296 0 obj <<
 /Type /Page
-/Contents 6340 0 R
-/Resources 6338 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6311 0 R
-/Annots [ 6342 0 R 6344 0 R 6345 0 R 6347 0 R 6348 0 R 6349 0 R ]
+/Contents 6297 0 R
+/Resources 6295 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6248 0 R
+/Annots [ 6288 0 R 6289 0 R 6290 0 R 6291 0 R 6292 0 R 6294 0 R ]
 >> endobj
-6342 0 obj <<
+6288 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 491.2184 239.8565 502.1224]
+/Rect [89.004 491.218 239.856 502.122]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Map_Space_Dimensions) >>
 >> endobj
-6344 0 obj <<
+6289 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 306.219 300.1613 316.5003]
+/Rect [172.639 306.219 300.161 316.5]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) >>
 >> endobj
-6345 0 obj <<
+6290 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1437 269.1728 182.1636 280.0767]
+/Rect [142.144 269.173 182.164 280.077]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Expand_Space_Dimension) >>
 >> endobj
-6347 0 obj <<
+6291 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.5022 167.3771 241.6898 196.443]
+/Rect [206.502 167.377 241.69 196.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6348 0 obj <<
+6292 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 98.2435 163.8226 109.1474]
+/Rect [128.635 98.244 163.823 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6349 0 obj <<
+6294 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6341 0 obj <<
-/D [6339 0 R /XYZ 90 757.9346 null]
+6298 0 obj <<
+/D [6296 0 R /XYZ 90 757.935 null]
 >> endobj
-5999 0 obj <<
-/D [6339 0 R /XYZ 244.4393 494.3715 null]
+5950 0 obj <<
+/D [6296 0 R /XYZ 244.439 494.372 null]
 >> endobj
-6343 0 obj <<
-/D [6339 0 R /XYZ 90 478.2057 null]
+6299 0 obj <<
+/D [6296 0 R /XYZ 90 478.206 null]
 >> endobj
-6000 0 obj <<
-/D [6339 0 R /XYZ 400.6899 272.3259 null]
+5951 0 obj <<
+/D [6296 0 R /XYZ 400.69 272.326 null]
 >> endobj
-6346 0 obj <<
-/D [6339 0 R /XYZ 90 256.1601 null]
+6300 0 obj <<
+/D [6296 0 R /XYZ 90 256.16 null]
 >> endobj
-6338 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F8 523 0 R /F97 1822 0 R /F25 344 0 R >>
+6295 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R /F95 1779 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6352 0 obj <<
-/Length 2427      
+6308 0 obj <<
+/Length 2076      
 /Filter /FlateDecode
 >>
 stream
-x��Zm��6������l ���^Z��^���r�
�C,���jK�$����ER%z�4m������p^����L0�#�'J(�����
-O
��7W�=���y�௷W�/��h�%���U�A$(����)!��ٜ`��/gO�j�޽�Q<-7��lY�w��﫴z����ʗw_eU��1]�M6�S��_mҺ��W�*�f$�f���`My2{{����n;U�N��(��՛�x��
}w�Ӊ�
�#�5�l�8e�bs���?
��}!fAX�"�,B�R��"߮���/h`6D1��P�晥��GÑNw4�:�-M �JĕH
�:m��L����Ef���6+�,,Bz
�$Q�1(""�JkG��p��Cެ#̨@L0�1�SM�_X¤GG4��>�m��:�c���Z�K��m0�:a�mԴ�%��!��q,I�C�#\FRpu�y��)�U�Yf�3���6w;N]Pd�ye2gZ ��
H'�� -u��d�fT@����&����e�L�M�����ޏ��}��@L7ui� 3w�Y�������}����2WZ#Nd�!Q*�4-�{R�0O��X���ɴ(��3�6��g���*"j�8 ����4�ȉ�C�[a��,�1B��.��Ͳ3~m��tQVUV��b�����kn�E�JL iP�ҸK8��i�
�'��\��W���<�

ɫ
�v��
�jG\��}
p�c���0�u	�f$6*���5ʸd
��B�+� f�=G0Dm�uI��~E�C"��U
��r��/A
|�0���]c^T�on +�w�r���


���Z@�5��a�4���7y�ɋ�md��tN�����WY��
-W�S����>w���
-^�UYE��@�'�
���ʐ&��d����6���� �	ؽ�>" �����(Q�3y<ˤr������4�1a��U�����x��s����H!�� ����Ty�����c4�"c�҈
���� �2��%ŋ*ϊ�
�/����@
�.^�E���~].���Mڸn4��״�'�,7��r�UiSVf�>�l��&���Ov7:�}��"��lx�*�S��ƣ���5`-1�2ɻ%�P�����Uk�h�S��i�S���8ĨO�j��h����W@�W�b�hWy,C�LL�O��m1os5ݺ����
o�
�̿�&{2�
���uG����~X��y�(�;H
�8�[�oL�aʓߋk1!x�:��

d����5�CM�
W�sƢЀ�D=
�Vm�e�8�H!04�JT��~̭(�e��15��l
�?6@!�s�����:�2�OI��'�0PG�3��


��%���˰��|�m��RQ
�ǿ��n�
�-�+�8L��Uy�N5��-�@61}������A�܁}Km�	��L4
� �X�t���e�Rj��7&1�'ØK��p����&s�Fq�D��z֩�mwͣ��I�Dd�IE�Y�&�&�s�&��`�jep�:
~�En��q{V��é�,����E��j���&��u;+�K�,��b�9�{��0cW
�(t����S,�[�
�BK ����3��fsB;�٪K5����p�Z��
W��]Z
۠{��9@���!%�#$;�
��5C*1
������ ��D�`Ȏ�A���߼���Z�J�����u
-'�!��n�n�(��&��g��ޙ��$#jZҝ]�<�����Dz��))? ��L�)�
�!&�Kʯ4)=s��f��.[���R
/�����0�b����1,�k`hHIF�>���
����!�8~�9��wY���ʪ*���^����C홥-�n��ȧ
*�UQL��h�'�,
��#��e���,��-*��;�sr��k
!
���6h���
�U{�����'����6���uuƱ�
����}8�
���0eI�A����g�;�y�����|�ڔj�aZ�І�
<�Q��
�
K�@�!_fEޣae���H�$��?B	�엱#�0��Gx*�x��X?�£���X9�
-qBEX
ڠ��4HX3*��Ʉ�<��
�ل}R�1a���	ȅ�{�hF���
Z�P������0�ۚ�t��,DI��A���/MsW�=
���Y;fF���u۸�Q���C�'���v��CHN:2����&�cA5c
-���
�hkl���D>e_ON�ߓa�17�`��\J4����rܴ�o��
��`&��c�s�,H
�g�|��B~�R�Y
���&����|k?�Ao%a]yi
-��i��5{�*���o�U6��J�?�b�cʴ�~��ZP����l��:W"E!d��tk
d��0����_��ް(�z�
�m�(�iv7�ׇ�-j�/�]�����z���s�C����D#]˳DB� <Х+���Ody7�mLJbT#��
-��
+x��Yko�6��_���V�
�$����f��G�3)�!3������q��~/EJ2:��.�@�L����s�%��� /g���]�,H�4.ׁ�A�)	.W�UH�t� ��՜�0Sev�jNqX��R��?������*_]�����bL�Y+�
�q��Ț�4_˵Ts���Z¯�0h�H��]~?��������p@���%��rv�+x�}�i��z�AD\�����>���U�!
sc���z��
꘎(֓w=� f��;c��t��n���q&�1�����:˓��f��i��KY5y]��	9x;�PL����3>�5�?��p���X�#��8ւ
+~c:���@<�ž9
��y
�Nx��C�|~�(Wn���~I>�/�x◢'c�h��`��t�>ah[_���u]���3V!*�%���[���`��� Ȁ��צׇ9���<�)dc���
�2���]i�{���[WgES�'0�}�n2۫V�|��
+�}�Eј�Y��x�R���I�p��^Lên��;KY�He-Y{�Z�(�N��T	�� �
F��$���[�a}����}��e��l�u�ʫ[�Zm����Gy���(�tԥ#�3%;m5��n���~9
���q_�ф��ʫ�6*��~
F�\S�Np1Pg�Ս5���C�	̉_�
!@D�1=��;6G��n�x'%��s�����^�U��
�?1wKd�	X�ʫ"��;��
�qA��t-۝�lF�̅��Mn׭��ޯj]+�� P:葬E��Z
�4�(� �Ȯ}�:�	"t�xw��A��a�~) 1J�=�O��c��rӣ2�E��C>��1�����7�-�c'�bCz5!-�a�wh�҈"g:O��
 �@ 4N4
�Ak�+��!
"˅
��jea�-8�V`f��bW-[�'p�]��۬�9V� 
Y$���3��ua^��Rem���=�
u�[M4���1F8�O1J� ȱwR�,8�y���(�@k2�)$-���� %(���֝ [...]
+���ڗ$	=D���(�� ��`}{���v�^�%��B���O��쨲ܶ������g�8Eqžk2f�Oj�"0�O
+s=Eĺx�eW�ZJ>�K�iND�I��}�2��2�OW
�msߴ�4�n�	/Un��j)��n���[�JQ("��
K"�90��
��IT�����r���j�n�$\*�[��
+���;�6
�m���Ɗ��V�?o|*���Ȏ�A���2(I��*��$ff�X�����B+X�p-(�A���J�7TB���B�k�'~��[��D��,c$	�}�5-��NLw=�al��)��4�����2�ԕ�O�EzL
 s��c�˛�\�Y)��GF�*B�] <�L
%"�
f`�E�K��
q+g�;
�XX��Y��1����ͭ��ANY��� z]��B�!�I
���=x�t�I9����-���u�	�v[��f�����
àށ��w���0����Ր���=������pʃ8<r�9�����X�+Y
~PAO`�]�|�V�V��Nf�=c%(��r�0^N�C���'N"A`�Ѧ.�)���b��Eq����`��[��{����@ټ>��]$��Ȟ����
����[к���I�Yť�T��`;2���R����$=�sc���+	8�|f5�|�.�4�5��m�7skIgn~j��RCӲ�_Y�띤�L_�2��?���E�L�F�A2����:������H
ieӶ���~��
���V��=�=D�8
+��&�8�-���+xXv����_M��q
 endstream
 endobj
-6351 0 obj <<
+6307 0 obj <<
 /Type /Page
-/Contents 6352 0 R
-/Resources 6350 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6311 0 R
-/Annots [ 6354 0 R 6361 0 R 6363 0 R 6364 0 R 6365 0 R ]
+/Contents 6308 0 R
+/Resources 6306 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6248 0 R
+/Annots [ 6293 0 R 6301 0 R 6302 0 R 6303 0 R 6305 0 R ]
 >> endobj
-6354 0 obj <<
+6293 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.5494 696.0019 513.9963 706.9059]
+/Rect [486.549 696.002 513.996 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Fold_Space_Dimensions) >>
 >> endobj
-6361 0 obj <<
+6301 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.6352 202.4843 249.8891 213.3882]
+/Rect [229.635 202.484 249.889 213.388]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6363 0 obj <<
+6302 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 130.0003 177.0528 140.9042]
+/Rect [138.538 130 177.053 140.904]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) >>
 >> endobj
-6364 0 obj <<
+6303 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.989 115.3795 217.9188 125.2848]
+/Rect [198.989 115.38 217.919 125.285]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6365 0 obj <<
+6305 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6353 0 obj <<
-/D [6351 0 R /XYZ 90 757.9346 null]
+6309 0 obj <<
+/D [6307 0 R /XYZ 90 757.935 null]
 >> endobj
-6042 0 obj <<
-/D [6351 0 R /XYZ 213.4267 687.1998 null]
+5992 0 obj <<
+/D [6307 0 R /XYZ 213.427 687.2 null]
 >> endobj
-6355 0 obj <<
-/D [6351 0 R /XYZ 90 670.4727 null]
+6310 0 obj <<
+/D [6307 0 R /XYZ 90 670.473 null]
 >> endobj
-6356 0 obj <<
-/D [6351 0 R /XYZ 90 603.652 null]
+6311 0 obj <<
+/D [6307 0 R /XYZ 90 603.652 null]
 >> endobj
-6043 0 obj <<
-/D [6351 0 R /XYZ 90 580.7175 null]
+5993 0 obj <<
+/D [6307 0 R /XYZ 90 580.718 null]
 >> endobj
-6357 0 obj <<
-/D [6351 0 R /XYZ 90 580.7175 null]
+6312 0 obj <<
+/D [6307 0 R /XYZ 90 580.718 null]
 >> endobj
-6044 0 obj <<
-/D [6351 0 R /XYZ 498.3147 527.9639 null]
+5994 0 obj <<
+/D [6307 0 R /XYZ 498.315 527.964 null]
 >> endobj
-6358 0 obj <<
-/D [6351 0 R /XYZ 90 511.2368 null]
+6313 0 obj <<
+/D [6307 0 R /XYZ 90 511.237 null]
 >> endobj
-6045 0 obj <<
-/D [6351 0 R /XYZ 199.7376 436.6102 null]
+5995 0 obj <<
+/D [6307 0 R /XYZ 199.738 436.61 null]
 >> endobj
-6359 0 obj <<
-/D [6351 0 R /XYZ 90 419.883 null]
+6314 0 obj <<
+/D [6307 0 R /XYZ 90 419.883 null]
 >> endobj
-6046 0 obj <<
-/D [6351 0 R /XYZ 489.2487 369.1668 null]
+5996 0 obj <<
+/D [6307 0 R /XYZ 489.249 369.167 null]
 >> endobj
-6360 0 obj <<
-/D [6351 0 R /XYZ 90 352.4396 null]
+6315 0 obj <<
+/D [6307 0 R /XYZ 90 352.44 null]
 >> endobj
-1535 0 obj <<
-/D [6351 0 R /XYZ 90 254.0468 null]
+1495 0 obj <<
+/D [6307 0 R /XYZ 90 254.047 null]
 >> endobj
 222 0 obj <<
-/D [6351 0 R /XYZ 90 247.4466 null]
+/D [6307 0 R /XYZ 90 247.447 null]
 >> endobj
-6362 0 obj <<
-/D [6351 0 R /XYZ 90 148.9741 null]
+6316 0 obj <<
+/D [6307 0 R /XYZ 90 148.974 null]
 >> endobj
-6350 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F11 411 0 R /F8 523 0 R /F97 1822 0 R /F74 478 0 R >>
+6306 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R /F95 1779 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6368 0 obj <<
-/Length 2349      
+6336 0 obj <<
+/Length 1485      
 /Filter /FlateDecode
 >>
 stream
-xڽZm�۸����@��b��/��@��^�&�/�
���
-g�>Y�b�}�")S�tn���d�f
g���,0�G/�P�0.��
^<�����x
�ױ�Ww7o��ba��T.��
� A	]�m^�([�	�x�vE�2���Ƿ+�����c����/>UY�|{�}Ul?~�Wu�c����������U+���jM^����v�����=+7�XR͖���/w?�|{����L�������-,�����b�7c�b�)
7���7�l���
c��]�
���5�y{��+6n1?��O�����s���Cy[
-�Hab�w(h A X"�4��@>P*����( ��ȑѰn��_���]���R&���a`
�*���f�;�T
-���p�C�

���O
-IRK��
"!* �8.��a��u4�_h�%y�����S�7�}v����@�4r�� d�&�*� -��e,�Hr3
�RR�V�@lŒ�+|q &�����9�Q &P�@�����q�!V4�=��h�0�z�3�B����[��]�weɴc��C5��\!�5{QF:��0�YX__2�v�f����x������W�M'~���![a9P-Tl�DI�x�2], at P�H/2��L"�
���ރ�)R�
���
)|y�ϣk�=F�9�>�5��ym�w|�����k�}�P�uΠ�!Eu��T
-�������l�C��ȋR?�1��Ḁ���3˯0�?�Rh�
�Hl<![�dB�
-_��tT�%d
f�q`g)
-)����+�V+�1���Y�R)?j�����t�W��A
:��Dj�c&R[1�+^�:\}���)M�g����)
z-H��q�-��ha
Q�gv:�|
-�@��iN��H���B�&�
�R�%�Îa=�O�b���-Jx ȧ`
�^Y~
��3Z�
-*4RZ���υ�'��)_����;�1��A��k��&b�ӡ�
��(\��a/z��J��_� C9��E+��H�
��m� �;�
����<��ޫ�`v�>�7��A��i>��>��1�;y��Mb��T�.��e���g��v؋�A��
-h�\3�LL�Z�'�,L����̷K��l��ɑ�Jy���8�
=)4��{���~���\<���م�X����
��x�|��#
��\.�a�p~��M^g�.ߺ�Bߵ��c����l2nH��������X�A���t��k���

#ɈXp`�(M���:~a$Mz'ӓk�)�
�~z��]p=Ӭg����eQ>87
�y��^W(���kp*Gp��av3�h�z5��fɷ�8��-�zY�/pBVօ����\|�ÿ!ٚ��*��+*�O��ȡ���|�:2o����mn�^O�H�
�lRԆġ
R'"��FQ"�xh@��)���a�� ��p�m�`B 5Qƃ�:�
���s@���>w�q���a*S�%�F[���^�D�
���o�
p1l:ӈ��L��v���!��O^�Ń{��+w���Jd�"�t]|��A l���F���k�
�����į���-�[�b�2
���
s
b׎����m�`D�R(�c�r�&+#N��!A�8��Z��	XC��$(��z�A(eB�(ݳ	���
Пe�l�bq墾r�}��U�9���B
�W.��-��Q^3�������v���.�gs;�2�|�uY<'Qa��
�G�cw��5r��D��~P���&�w�j
ז��,�,%��&�W-�R�T
q T�]��.�ϕ���4�ȳ�/�<0�
�Ji�|G�|�?�

)�z;����
-��akǧ�\��͆�1�)m�
���������K+�������7���&c}��*.}y��
\z��}:��.o���|�.������z�]z�
B0zg�-Y7�:x2J�vgmU~:����pEw���m��gP��
qX7��

귾aɛ]v�M����춸����:�{=��a�s�Q�6!w�� �R���i'���d�KN6f-^&	�a�ѱ{<���cˌ-��7<�&�@�������/!��҇j�Wq&	
<KEX��t����
c���ީ~�h�a�`�-�	���3&{VG�I/��ƿש[(����~'$�h��ڥ�FTv�:��
&��"0�G�Kدl�3
� v����}��P�Lg,������ ��Ao-k�h��!�ݭ�yw�S^��v�~�ʖtm?�O
��� j����#x��|k���Du
���W�?�����#P�jz���x�����ڜй,�*�7��o����<�2s�n�X:�g��@����<�?T~'�~�7�`�-������2�endstream
+x��Xێ�6}�W(��@L��(�FQ�I�iӦ�&ۗf�@+ӶYR$����Ë���`����̙�3Cag�`�����lyx�@"��s�qv€ F�s�v޸� ��c�^�	v�r���S���i'�e���䦌��j��L��ʲN�1�qT���i�/�rN�+�
ʰ��.qmƯ�F�gY
��=��o�^�~��}�P;D��Bz̉��7o����F���Q��;>��?u^����;M�
�3&^
n�$6
+����H�/Y\'yViuy�
�{�H�|�;
J��h�ה��;Ɔrk�y�|�Y0@�
��{�K)r���l�	��A��W��
�O�������D��B
�A�9 O��&��b��X|9s����0�M	�z�Ѷ|X�yO;|V�Gb��P���W�l
�;��0�c!�X��
DI 
+��v�@�Q���o.!
� ���s��/����
T��a(//h�L8��8�{�8wp�ϛ=�?偁(g���FO������S]\<�,���֚'U����K�s���H�Ũ��m�Е�I!z�x
�a�L؛`S_���S�j�MOhb�MǤ�}
w��֢0:Wp�C�$>jE�0���O�^�sQDl��L�Q�ʵ�2;.�B�9�`��#�g���}��3'�5
��t\���{P�
��̒lk��,#�F�`��$D�۪{��<
��YS���JCù[�f%� ��:1���q;
���7Ĕ
n�h/甹G����{�\Y�=����Z��3+�g
���0���� I�� (i�.r��,+i�u���
���a�`$D�}M���#�n��N�
H���}��(�� »=B������Bj�R�7v��y��`uif&
Վ�9��NnR�lh at U�a�,��y
R'�!"���#G|\������g�d	e�D���x�H�A�S��S�Ky|�ˬ�"hR�
�$���£��͉����8%��)z:/&�G��Y�rH���KO�����l%0��$(�t�ٶ"��a�b>ga�+������ʦ��堁
��ז>�G�QقF&
�� l�����*N7�~�
+h�2}	���;u�X�Bf�
+X��;�
��� L�dp��]0P�BS�[[{w��Q�ʖ�����(���]��	��3�	0�
�z�C"�o��RV���S�oz�M�\x
@`
�%}=`�q�n,�Ө�C]�";rW��t�2ߏ��&OSS�Z��dHGE�� ����=lQ�h�k��$15dh�x
pW��ߞ��~j�nB%/ײ���J�͌���1Kw�%Y�
�VeB�A}�h��	Y�c ǃ�4h��ǁ���r��W9�5` 
���k
��1K_��P����fj�n&U��^5
+6�_FY�ϪL٦�j# 2R��x�� ��l��1�ӌ~�i;�)��tW��j�<
�(��!K�%��]�wd�W��,����� �`q�3
���/��b�
+endstream
 endobj
-6367 0 obj <<
+6335 0 obj <<
 /Type /Page
-/Contents 6368 0 R
-/Resources 6366 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6311 0 R
-/Annots [ 6372 0 R 6374 0 R 6375 0 R 6377 0 R 6378 0 R 6380 0 R 6381 0 R 6382 0 R 6384 0 R 6385 0 R 6387 0 R 6388 0 R 6389 0 R 6393 0 R 6394 0 R ]
+/Contents 6336 0 R
+/Resources 6334 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6348 0 R
+/Annots [ 6304 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 6329 0 R 6333 0 R ]
 >> endobj
-6372 0 obj <<
+6304 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.9224 180.6492 708.4528]
+/Rect [113.91 697.922 180.649 708.453]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_c03d43b46ab7f9e5d0ea3c46a5eab7b3) >>
 >> endobj
-6374 0 obj <<
+6317 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 659.2976 180.6492 670.2016]
+/Rect [113.91 659.298 180.649 670.202]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_cf34edb23c376600051bbc563e4122c4) >>
 >> endobj
-6375 0 obj <<
+6318 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.9863 659.2976 228.2402 670.2016]
+/Rect [207.986 659.298 228.24 670.202]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6377 0 obj <<
+6319 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 621.0464 180.6492 631.9504]
+/Rect [113.91 621.046 180.649 631.95]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_67cbe06cd666025c2ff64652d5824a2f) >>
 >> endobj
-6378 0 obj <<
+6320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.9863 621.0464 274.7251 631.9504]
+/Rect [207.986 621.046 274.725 631.95]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
 >> endobj
-6380 0 obj <<
+6321 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 583.1688 188.3979 593.6992]
+/Rect [113.91 583.169 188.398 593.699]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_df9fc5ac7e45f36bc03af31b98b31a72) >>
 >> endobj
-6381 0 obj <<
+6322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 544.544 163.2149 555.448]
+/Rect [126.921 544.544 163.215 555.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_869306ea4afb6453b8e9cee36c96f46e) >>
 >> endobj
-6382 0 obj <<
+6323 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5521 544.544 257.2909 555.448]
+/Rect [190.552 544.544 257.291 555.448]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
 >> endobj
-6384 0 obj <<
+6324 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 506.2928 163.2149 517.1968]
+/Rect [126.921 506.293 163.215 517.197]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate_3b727ab728f8758af9fb217eca9d791a) >>
 >> endobj
-6385 0 obj <<
+6325 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5521 506.2928 210.806 517.1968]
+/Rect [190.552 506.293 210.806 517.197]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6387 0 obj <<
+6326 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.6352 424.4191 249.8891 435.323]
+/Rect [229.635 424.419 249.889 435.323]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6388 0 obj <<
+6327 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 340.6908 173.456 351.5947]
+/Rect [106.717 340.691 173.456 351.595]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
 >> endobj
-6389 0 obj <<
+6328 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.4304 340.6908 253.6843 351.5947]
+/Rect [233.43 340.691 253.684 351.595]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6393 0 obj <<
+6329 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.5884 103.9127 187.8422 114.8166]
+/Rect [167.588 103.913 187.842 114.817]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6394 0 obj <<
+6333 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6369 0 obj <<
-/D [6367 0 R /XYZ 90 757.9346 null]
+6337 0 obj <<
+/D [6335 0 R /XYZ 90 757.935 null]
 >> endobj
-6370 0 obj <<
-/D [6367 0 R /XYZ 90 716.2211 null]
+6338 0 obj <<
+/D [6335 0 R /XYZ 90 716.221 null]
 >> endobj
-6371 0 obj <<
-/D [6367 0 R /XYZ 90 716.2211 null]
+6339 0 obj <<
+/D [6335 0 R /XYZ 90 716.221 null]
 >> endobj
-6373 0 obj <<
-/D [6367 0 R /XYZ 90 678.0894 null]
+6340 0 obj <<
+/D [6335 0 R /XYZ 90 678.089 null]
 >> endobj
-6376 0 obj <<
-/D [6367 0 R /XYZ 90 639.8382 null]
+6341 0 obj <<
+/D [6335 0 R /XYZ 90 639.838 null]
 >> endobj
-6379 0 obj <<
-/D [6367 0 R /XYZ 90 601.587 null]
+6342 0 obj <<
+/D [6335 0 R /XYZ 90 601.587 null]
 >> endobj
-6383 0 obj <<
-/D [6367 0 R /XYZ 90 525.0846 null]
+6343 0 obj <<
+/D [6335 0 R /XYZ 90 525.085 null]
 >> endobj
-6386 0 obj <<
-/D [6367 0 R /XYZ 90 469.5457 null]
+6344 0 obj <<
+/D [6335 0 R /XYZ 90 469.546 null]
 >> endobj
-6390 0 obj <<
-/D [6367 0 R /XYZ 90 327.3881 null]
+6345 0 obj <<
+/D [6335 0 R /XYZ 90 327.388 null]
 >> endobj
-6391 0 obj <<
-/D [6367 0 R /XYZ 90 305.0763 null]
+6346 0 obj <<
+/D [6335 0 R /XYZ 90 305.076 null]
 >> endobj
-6392 0 obj <<
-/D [6367 0 R /XYZ 90 305.0763 null]
+6347 0 obj <<
+/D [6335 0 R /XYZ 90 305.076 null]
 >> endobj
-1536 0 obj <<
-/D [6367 0 R /XYZ 90 156.41 null]
+1496 0 obj <<
+/D [6335 0 R /XYZ 90 156.41 null]
 >> endobj
 226 0 obj <<
-/D [6367 0 R /XYZ 90 148.875 null]
+/D [6335 0 R /XYZ 90 148.875 null]
 >> endobj
-6366 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R /F101 2128 0 R /F97 1822 0 R /F8 523 0 R /F11 411 0 R >>
+6334 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2114 0 R /F95 1779 0 R /F8 504 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6397 0 obj <<
-/Length 2469      
+6373 0 obj <<
+/Length 1321      
 /Filter /FlateDecode
 >>
 stream
-xڽZk���>��@��
�
>�ע-��n�f��d�)
<�fF�-���ɠ�ϥ$Ҕ(�n�-H�ѽ���ERd��L4�H.�f��,7Wx�?��"��9<�����^]#�D#-���>4A�:�]�<%�l6'����E�Y�}�Q<ݮ_��U�����������bu�>/�jQo�ٜr<�z����˛�!�fDM�r��L�$�ƒ�/��^��u4�Qp&�!�﫟�����+��V|�
7��ds�Qfo�W?]����ƌ�	;��!,8k���p�.��h>����7�rY�r?6�Q�qvzB<@C�S��eLeG9��gJ�P���Q���K2��}����:��8"��^�z�07>�O1��]�]�1��O6xg$a��b %؞
l`4/a��j�3D%����4B��Fl_�U]|Ƙ.u
�a"㦰�	Iˁ)^��U ��`�"�Qq�=
>�%�{�=��N�t� �b!�Zj>��K㔧�B�DDЉP
e\�r r$"<�4C�$��/�!(�����^
-3+�:�2o��P��
-����
�(��\]
��
-�P
-�;P�ЎtQ�ڋm�~i��Q�"�HQA���/��$� ��&�j�}� ��i>&V�
~h_z��3�h��@Vȴ�M�'c����"��rՕ!��׷y�(�ygʷ�~Y;SV�����d�&��7�;��^����VyU��v^�A
����'T@�d*k[��a$grmp
�@!��e;PJ�҈11к����w(�
� �Z�F��Sa
M��}QB/�^�|U4���]�FVٸ���E���9\z67w��)
��d+ e0�Y�@X��a$9rOٜA)�

3`Jhe6LA���ڷyk��b��^Z3��������me�Y�(!�7
��`
ҩ���������
����y�%�m��
�ݴ��|�-d�]
6yY����
l�Z�NaDC6\vj��.�{��6�6f��ƾ�[i��vF������:=�+�
Z
���^�DzEK��Q��^1����=���==u�O�Y�oRW���
%��R���i���Ze޵6�E���m���#v�-����S��ܟ�r�>�::�xHUU+����Ȓ��([�|���@Ǭ�
�o#�k�n�Z;U�'H\u�|!��@��8��S	����
#�mVW3»I�p7�ä*RL��a�kQ	f�4�2
j9�&+�QX~f2X"��d6}��c�B���'C�DB����
�x
��^�=�yy؄�B
KxXd��F��
>� ��$����
�%85z�J�I<P����JK&�
��'����}��]�@$��
������@���U�T ���>w��T?��&
M�on�||w��&�	\ ̅��ߡBi��|�0�3�
�ç�r������ۀ��NLH��E�k�T0��=�|��
�F!/Y>�2"+Z��r��i0e��#�-�MZ�_N�� �#�����'ct�ǘ�����Gd��
��.
 V0,,]0"�
-(¬YN�8q�^��++>�A����v&j�J1PeӁ}N���jk:P
����	�ܴ!(�
S��
�P)�^R�g��qt��F� ��E�Ɉ���V?4[B+�do��v/�f�̊
lE9
�Ti����O�7��	t���QI�@J3��JKF�/��
�Q>�}v�ᑕEo���\����X����Rм)=dy�|�N=TU�i}���2".�`����L��iM��gBE�L�gZX�3=��{f���L�ݙ�"�ӫ	�^��
-�b�$!r�4�w���@�8�נD�/r�e|��PNa������Z��<;����M;��M�¡
���I=='��Jj�5%
OF,�XX�ǵ������6�v^�
OE�I�#��ٹ�h� ��D.r�d.�^���,����\�����z
N碾�3rQB} ��\
�1ŕ�\���d.:��\���m��dˮ���
,*��a��l0��4DT�(,H/IC��Hr����
QE�/����`��JC�NC����P��KC>�U����
�
�
-q.�<)�@n��"gf;+���z<���2�sl�x�4��R��ܡ(��&0L�]1�?� Gf����9���N����/
M�;�t�͗n'�1r{����vo�$�S$L|��������.�~��4G�#_�ĉf�/hF՗\���I�:Mq�td{/��8;�>��'
`���2lbZ�2	~�x�����f
���(����r}�
��	c�v��eq�Ɉ����������`5�!��ߢUs%C]�L L�j1�/\^��o�B��uL�
��nC�C��!�#��֞C���at{��}^�y����Ǐ��`?�2>���W��
T�D�9���)?ؔ��Jh�-��@��M��?�=��F{� ��r͘��z������-��P�
-��n��͊�%��k8�p�Y�)ZM�
���f[u3�}�x��r{���
?Nendstream
+x��Xmo�6��_!`@&5�Q/�6 k� ]�f��))Yfla��Jr]c���E��ȎӦ�
+�%
��sw<
+[S
[��G��ˬ .u�ѽ`�s	�X��uc�����}�'��yxwէ�Β�LL���M<.�bu||^ē�s��"���?�
�/��,��Z܋�O|[�� ��y̦��?�^�NG��=^a�(/��<ƭh޻���	�ma��Z*���P��}��
޻#�v����b�đ��R���8z�H�*��R�S��q�����a�5����[Jyk�u3� �8��^��]+	i2�5R��c��m-RF�E�U�_����(��c���Rv������i\)�(�Bk=j����H%z��A��h�E�(4�@ ߐf��b!�P[%C��P|�=
+Ӊ
di��#�zh���՟;�{ȥ����01=��̳E�� 9�W�Zu����̣
е�y at 1C�#��a�p��Rx4y�JTa���W���8���
h4�bN���5UV��A���"N�5��MW�D�qT��J�D�j�h4�%�>��q
+�D��BLb|�q"��T��S;�okwa��|��.�w�
���j]�Y
ʹ���E�@V�"գ��
��^m����-��lQi`KQ���L�N��-��)�E&Y�����ԫ���VN�R&2f��������u��ټ^+jmI��)��MHTq�F�)�
�����	��L�0K�AUl�j����}���d�D�Q���<,¹��ã6��ͳ8�PSZF6��)N�d11��!ɡ�My��C
������q�Mu��c��Ca턼Hg�JU�?�n8�࣡�
6j�o�("���
�=�^����f�.���5��X��f��_�������_<�b@�������S׾�x;�r��/=��3�	'9T$7)UI\��a'
��y�|�
�-��V��ʎk���郦�	$�SmŤ>
U���3Y��&!d;�Ԇ�[���
��&�>t5Mչ�
wTY���u懂�C�ja=�����p::����8O�2�����7>7�+�A�1�~*֓�(� �U�G�Nh�<��]�ro�?ߵ�ݷ���Z�f�����L����&Y)[]UЂ`�8�}�az벇Y׍��){�︪�I��ַ�M�!��/�����Id��������:j>;�
����m�rA
��j��V�.
+<hi��*
 η;���6�u��Mí�*E�s�s��z���6/��$U�b�
���6a�W�0 ཨ����۪G��k��7	�7�Ϫ*?
��%�J�H�@q5����a_��B 2��Ks��g��`�6�&H�Ս
�
+endstream
 endobj
-6396 0 obj <<
+6372 0 obj <<
 /Type /Page
-/Contents 6397 0 R
-/Resources 6395 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6434 0 R
-/Annots [ 6401 0 R 6402 0 R 6403 0 R 6405 0 R 6406 0 R 6407 0 R 6409 0 R 6410 0 R 6411 0 R 6412 0 R 6415 0 R 6416 0 R 6418 0 R 6420 0 R 6421 0 R 6422 0 R 6424 0 R 6425 0 R 6426 0 R 6428 0 R 6429 0 R 6431 0 R 6432 0 R 6433 0 R ]
+/Contents 6373 0 R
+/Resources 6371 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6348 0 R
+/Annots [ 6330 0 R 6331 0 R 6332 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 6357 0 R 6358 0 R 6359 0 R 6360 0 R 6361 0 R 6362 0 R 6363 0 R 6364 0 R 6365 0 R 6366 0 R 6367 0 R 6368 0 R 6370 0 R ]
 >> endobj
-6401 0 obj <<
+6330 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 697.2473 175.9373 708.1512]
+/Rect [134.114 697.247 175.937 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_92edb0b8b1e2097c5d20795e576517cf) >>
 >> endobj
-6402 0 obj <<
+6331 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.2744 697.2473 270.0132 708.1512]
+/Rect [203.274 697.247 270.013 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
 >> endobj
-6403 0 obj <<
+6332 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.7463 697.2473 378.4851 708.1512]
+/Rect [311.746 697.247 378.485 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Certificate) >>
 >> endobj
-6405 0 obj <<
+6349 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.5884 614.8006 187.8422 625.7046]
+/Rect [167.588 614.801 187.842 625.705]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6406 0 obj <<
+6350 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.3054 597.1763 305.5593 608.0802]
+/Rect [285.305 597.176 305.559 608.08]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-6407 0 obj <<
+6351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 448.2172 274.8349 459.1211]
+/Rect [121.93 448.217 274.835 459.121]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-6409 0 obj <<
+6352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 393.3575 160.2066 404.2615]
+/Rect [138.538 393.358 160.207 404.261]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66) >>
 >> endobj
-6410 0 obj <<
+6353 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.9774 393.3575 192.6547 404.2615]
+/Rect [167.977 393.358 192.655 404.261]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66e9cf46c5e08ead7689807e1c8ba30642) >>
 >> endobj
-6411 0 obj <<
+6354 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.6435 393.3575 257.0529 404.2615]
+/Rect [195.643 393.358 257.053 404.261]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec664ac3b90df83c2e43249ccfa2702640de) >>
 >> endobj
-6412 0 obj <<
+6355 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.0416 393.3575 291.364 404.2615]
+/Rect [260.042 393.358 291.364 404.261]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec6625b86c6f0633416506503de2bf693876) >>
 >> endobj
-6415 0 obj <<
+6356 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 312.595 178.9758 323.499]
+/Rect [113.91 312.595 178.976 323.499]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_b1db3272b7beca7b1d9d17f23d22ecbd) >>
 >> endobj
-6416 0 obj <<
+6357 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.313 312.595 271.3784 323.499]
+/Rect [206.313 312.595 271.378 323.499]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6418 0 obj <<
+6358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 274.1143 186.7245 284.6447]
+/Rect [113.91 274.114 186.725 284.645]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_00017ad58d66a7948b0355b3e02c750b) >>
 >> endobj
-6420 0 obj <<
+6359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 234.8864 178.9758 245.7904]
+/Rect [113.91 234.886 178.976 245.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6421 0 obj <<
+6360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.7154 234.8864 230.522 245.7904]
+/Rect [189.715 234.886 230.522 245.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_1177f236d8c66c01bbb43b37ff90bc7d) >>
 >> endobj
-6422 0 obj <<
+6361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.8591 234.8864 322.9245 245.7904]
+/Rect [257.859 234.886 322.925 245.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6424 0 obj <<
+6362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 196.0321 178.9758 206.9361]
+/Rect [113.91 196.032 178.976 206.936]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6425 0 obj <<
+6363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.7154 196.0321 230.522 206.9361]
+/Rect [189.715 196.032 230.522 206.936]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c05ff6bef376a2835adbb0ca123a8e79) >>
 >> endobj
-6426 0 obj <<
+6364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.8591 196.0321 299.6819 206.9361]
+/Rect [257.859 196.032 299.682 206.936]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-6428 0 obj <<
+6365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 157.1778 179.5535 168.0818]
+/Rect [113.91 157.178 179.554 168.082]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6429 0 obj <<
+6366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 157.1778 250.6661 168.0818]
+/Rect [180.052 157.178 250.666 168.082]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_60d9658ef91fbd3a1b0064253246f36b) >>
 >> endobj
-6431 0 obj <<
+6367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 118.3235 135.5791 129.2275]
+/Rect [113.91 118.324 135.579 129.227]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
 >> endobj
-6432 0 obj <<
+6368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.0772 118.3235 155.2252 129.2275]
+/Rect [136.077 118.324 155.225 129.227]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_1aabacaac0806d617f53db4b34b3349e) >>
 >> endobj
-6433 0 obj <<
+6370 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6398 0 obj <<
-/D [6396 0 R /XYZ 90 757.9346 null]
+6374 0 obj <<
+/D [6372 0 R /XYZ 90 757.935 null]
 >> endobj
-6399 0 obj <<
-/D [6396 0 R /XYZ 90 716.2211 null]
+6375 0 obj <<
+/D [6372 0 R /XYZ 90 716.221 null]
 >> endobj
-6400 0 obj <<
-/D [6396 0 R /XYZ 90 716.2211 null]
+6376 0 obj <<
+/D [6372 0 R /XYZ 90 716.221 null]
 >> endobj
-6404 0 obj <<
-/D [6396 0 R /XYZ 90 659.9272 null]
+6377 0 obj <<
+/D [6372 0 R /XYZ 90 659.927 null]
 >> endobj
-1537 0 obj <<
-/D [6396 0 R /XYZ 90 535.0284 null]
+1497 0 obj <<
+/D [6372 0 R /XYZ 90 535.028 null]
 >> endobj
 230 0 obj <<
-/D [6396 0 R /XYZ 90 528.4282 null]
+/D [6372 0 R /XYZ 90 528.428 null]
 >> endobj
-6408 0 obj <<
-/D [6396 0 R /XYZ 90 410.4285 null]
+6378 0 obj <<
+/D [6372 0 R /XYZ 90 410.428 null]
 >> endobj
-6413 0 obj <<
-/D [6396 0 R /XYZ 90 331.5689 null]
+6379 0 obj <<
+/D [6372 0 R /XYZ 90 331.569 null]
 >> endobj
-6414 0 obj <<
-/D [6396 0 R /XYZ 90 331.5689 null]
+6380 0 obj <<
+/D [6372 0 R /XYZ 90 331.569 null]
 >> endobj
-6417 0 obj <<
-/D [6396 0 R /XYZ 90 292.834 null]
+6381 0 obj <<
+/D [6372 0 R /XYZ 90 292.834 null]
 >> endobj
-6419 0 obj <<
-/D [6396 0 R /XYZ 90 253.9798 null]
+6382 0 obj <<
+/D [6372 0 R /XYZ 90 253.98 null]
 >> endobj
-6423 0 obj <<
-/D [6396 0 R /XYZ 90 215.1255 null]
+6383 0 obj <<
+/D [6372 0 R /XYZ 90 215.125 null]
 >> endobj
-6427 0 obj <<
-/D [6396 0 R /XYZ 90 176.2712 null]
+6384 0 obj <<
+/D [6372 0 R /XYZ 90 176.271 null]
 >> endobj
-6430 0 obj <<
-/D [6396 0 R /XYZ 90 137.4169 null]
+6385 0 obj <<
+/D [6372 0 R /XYZ 90 137.417 null]
 >> endobj
-6395 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F11 411 0 R /F25 344 0 R /F101 2128 0 R >>
+6371 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F23 340 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6440 0 obj <<
-/Length 2927      
+6417 0 obj <<
+/Length 1427      
 /Filter /FlateDecode
 >>
 stream
-x��\[s۸}����֞��/�}i3mf�ۙ4qۇ�

c����%e{���H/�(�C2��Vt�}�p.�D����
%2�����
/n�ߜ���%��
�:{�w)I��ꦉ 	������sB�K�1>{A�yVm���
������|]e���UV=]^�����M�˫l_VK*���MV���򛼺 �<�]��0�Ω �^�x��+O��
�$�$;��W�X���x�3Z,
�F��؞q�܋�����8��SŰo/GZ•�E�Rp_-A�j,g�/<���J�����`�0�(�G���
����CYnFy�@�`=�kߪn;̻��ç��ZE���|Dz��X&nޡR�%GD6(:����]��z?n���
�5"�L� ����)G���e����BE��� ��~Ne)����ծ��@u*�3�LHHbq��>oA��p�JbӁ���N�ݺ���m�����j�Ip9WHSI����M�Hb�
��E��щ;k4�O�9:T|i�����g���"#���Ѭ�
QBHB�
,-Y�+6 at E&�굗 [...]
cD��aߊX���V�. ���Vhİ���-�S�u��n��1���z�y���坣�8�Q�`�]��aSb�R��+�Q	
�R�5�x��A9�P}���1);�75�|�O�8t.�9��A���L���x0��x^��0o\㽼s4
g0��F�؍%
��$�ޡR�a�SP�A���ZX0
--��u#�k�f�h��+4F�yB��
I���zXR�a��by�b{y���睡��Q�᜺���
�A�/�G%�P
-
S2h��WP�0�G�7����}��.�8/���S��]���w���{r���`�>���FʴS���
,�� `L��^�a��e~sA�mKz]@�W�*+���e��W��~l�
�z�1 w�"<>As
�Ҽ
�
�1)��h�<*E����¬��F`ü
S$8�s���	㸖���hVهͨE��b��K�Q)LC	@�=s�0��1G�c#f��c�p�1wT��
��7n&�
�J0
8gz��.0��dg��)���C�
6	7b\�Þ�ErBK�z32ai
���0`��y����
oi}r3,-Ns
��\��CQ��-M�^A�J
�J�9D
g�T�+�o�<F�a���=찖�E[�����S�4Ä|1�q	�� �	�'º�����`i���
4a���I�S_��Wi�n�o��iU�������HQ��ǘR�
Vi���!�a?���zL��>۬:��n��i��c���XH���
-7ϸԃ}�f�D�v�f�1�:�H�n��|t3��[j�ˁ��2���N�-Cv݅M͝���-ӽy}}W�kwՔ=�f��/��(%��S� (K=�s��;<�;�
�Լ7��[�a�/w�(Mo
����
-ݥ��N籝VF(/=(N�a�L���9��Q��kBD����.�m���ɚ[�O\�Dk�_N�LKĨ>�|�)���*!xK*>
��'�:5��F7�ygl0&��v��o��|���m�UA9�1F0��jxT�
9)Ġ@��� ���[�O�ŵ4��F�)��T�'
-�P)F &A=�=��+��7��
+�s,�j�Zm�q
"�4�v��ԦG�nζ�
E��[G���6��\�>l�p�\1}J���4u
���f��e<�7�0o�,{y�e��(�Y”f�D�j�+�(�C��k������Gk"���*x|��8�
#��x!<*�@	d`2�g0�����>�df#�v
-��ɱ[��TO�s{ ���z��~y:N%�B��M�@g딚 b�$1�<�i�\)ujE�aI�
F</��y^/o���ygx^��(n���j]l�]]���
�F
/�G%��iWb at d�e�>�asK��)���tw��Ko� �s�(AJ�7��L�0��#��8���dn1<>Af
7=
-pPێÁ�9X��0������v� @���G��
cD�:���3�����v".acžv�)�Ո=�# r*����J��L)NyĘ
-�4a�#�
�
J����$��%a��P��;g(�3�m�F���c�-o�5��z�ϫm�ʪ|�G^�w
AJK��G%Q�UJ
�b�� ��~����a���8�^j�om6��E�d���M�u�~���D�5�}��-��1}�ђ�Y&����v�;���vJ� 
- &ut�����yG<���0�C���b=�@�3������)��M���E�Z�o�ƫo�4��G����o�̰�/�
-
�
t���"��
-��[����|:���z����Ϋjj��a��7�ڐy����D��v<�x�h����O���"��<�L�A��QfK*8
Qp"�Sp/oR���3�`1�;S��x'�;�k
-n�|Y�<۶���z����	KrԹ�0FD�
�)�NnQ>9�yp(?��C�S�M&
#����dK�9�s<��s�7-�^�9r��ŵ,AK)�U��
*������~����~�ˣ�ۆ1b�u0K�M=y��j��ω'��w�v�p_�ۉ`�T��[v�w�;?�q�
�$��E�����5<�N.�m�g����i32uz��Ң�D��E据��yg��
Fq���M���G	$�
����P��
-&�ưA���]L����|	�&'�rٞ��䯃�)bz;��1�C���o
	��ʭ��6��mw
-����e��7��y��
!λ	�?��ߔ��x�����5Pm�],�����j3cET�@��[����t,�+گ�Q�ݎ��{����]�z�����kt�+�*T�_��m^����h�Fn�A#.���sFʀ�C.7�l���*��m3��� l����7endstream
+x��Z[o�6~���Sg3CR�.F_�`-�u@�d�CR��8�$ѥ��/�؎�8�[�$�l���}<��:3:�?�������Ǿs~�D�	|F�y�\
���px2BpHeF��C�.oX"i��_I*���{ɓ�=˙����1&px�Ң�����
+�,�2e��;��>�
�r>�2@�+� �	@�g�
.>C'Q�t p�й3�2�î�������"�����>���	�
�Olx�3|�Ϲ�i���G�*�NM


/��l�����~��z*�\kV_���	����
��
v����Y�NY��y��+��Jk��m�R.�m�n�
+ͺ��
�<�7"O��N}ezG�Jo/ ��]��B���0lܸ���nTt��b���t����cD���댕�� �J��R���DT�RZ�!thl5�b!_1�y�Zw�3����</_��Y���o)�f6���$\��#Cqg�#7���,/w�������8�z���
O��/.%�e1�\c�5�ѓ;�3�4��7[�
�4ŌJN��N�w�3猥���vn#�h\wp"B�
���F��-/��E ������F�%J `�<I�6r�
�Ra
�۱װ]�%�@ �
�{ ���
�<�Dw�XC��L�e\�o,.�s�p/�"Q�4���<�Z��xI�j�#��Jx%u%/���]{���|^u4���w�V_N��9gIݫ��W|@ށ'��BSqv�Ԟ	a6�_ղ��
rO�9�9�g+3�g'�(

Ɂ�ƮB����ؗ�-��MM��@\�n�ɍ��Co��
+q�z��v~ԴY>�*�Ք�{
��>[��̪K��z.
�
+>�
�q���T���ʼ�0�b�涒�3�tZ�
7�o���#�J
�h�p�'*��D�곢)*�2Nx����;����U���ُ���tj�f��܇�n�,7�k6밋\��"+[���
�ކ�mWdղ˪����UG EAO
�i߈L��Ģ��ˊ�JcR�w�e�`7���l&U
��
�7D���^�kv����u&�~�D�aim�G�*�u��"|k�mȓ�UL9��E6f�%y�ϻ���bkf[Q&�ɔIٵ�@���|�6:;��a�1-u�N�Hm����`:���W1���dY�d4��yS
�-
+��sx�s�P"�=�<��6��(��D<�|��#��
+�I��cҽ+Ģ���Ú�~�y+�T���J]�:���.���]	9�Ug}m��OMv�z�1�W�o�"�`k�|C�~#�Q��	�]B*>��k��ٔʬ:�;�_t����.�Ꮒ�F�
������զ�,�"����K�\
�]% �X-�mx;�ݯC��i
]�†�7e9�

��݁i9�K�ˣ�<=Z��F�H��>q΄l��ԇ��^`� oh�F
+endstream
 endobj
-6439 0 obj <<
+6416 0 obj <<
 /Type /Page
-/Contents 6440 0 R
-/Resources 6438 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6434 0 R
-/Annots [ 6443 0 R 6445 0 R 6447 0 R 6449 0 R 6451 0 R 6452 0 R 6453 0 R 6454 0 R 6456 0 R 6457 0 R 6459 0 R 6460 0 R 6461 0 R 6462 0 R 6464 0 R 6465 0 R 6467 0 R 6468 0 R 6469 0 R 6471 0 R 6473 0 R 6475 0 R 6477 0 R 6479 0 R 6480 0 R ]
+/Contents 6417 0 R
+/Resources 6415 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6348 0 R
+/Annots [ 6369 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 6407 0 R 6408 0 R 6409 0 R 6410 0 R 6411 0 R 6414 0 R ]
 >> endobj
-6443 0 obj <<
+6369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 720.2859 162.6769 730.8162]
+/Rect [134.114 720.286 162.677 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_2a0bc130f7cf6a0678ee3b982fcc7ab6) >>
 >> endobj
-6445 0 obj <<
+6389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 681.058 187.5633 691.9619]
+/Rect [134.114 681.058 187.563 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_41227446c918730e97998799bfe04da6) >>
 >> endobj
-6447 0 obj <<
+6390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 642.2037 220.7685 653.1076]
+/Rect [134.114 642.204 220.768 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_76fce1702224700691a26cf5e780a1dd) >>
 >> endobj
-6449 0 obj <<
+6391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 603.3494 168.2162 614.2533]
+/Rect [134.114 603.349 168.216 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c915c8d26a7dbcdbbd0c4985ec5b7d4b) >>
 >> endobj
-6451 0 obj <<
+6392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 564.4951 226.3077 575.399]
+/Rect [134.114 564.495 226.308 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_811f6f947785240bcb76bfca023fed17) >>
 >> endobj
-6452 0 obj <<
+6393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 526.0144 297.7285 536.5447]
+/Rect [253.933 526.014 297.728 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) >>
 >> endobj
-6453 0 obj <<
+6394 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.5441 526.0144 336.7317 536.5447]
+/Rect [301.544 526.014 336.732 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6454 0 obj <<
+6395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 487.1601 283.3526 497.6904]
+/Rect [253.933 487.16 283.353 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_cdc0aeddab3d98e336719f42e6e5b06c) >>
 >> endobj
-6456 0 obj <<
+6396 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 447.9322 191.7178 458.8361]
+/Rect [113.91 447.932 191.718 458.836]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6457 0 obj <<
+6397 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 447.9322 288.8524 458.8361]
+/Rect [192.216 447.932 288.852 458.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_13419c5d820bde20af5eabd23e479ec8) >>
 >> endobj
-6459 0 obj <<
+6398 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 409.0779 191.7178 419.9818]
+/Rect [113.91 409.078 191.718 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6460 0 obj <<
+6399 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 409.0779 303.0791 419.9818]
+/Rect [192.216 409.078 303.079 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c3e03bc2df621903d136c689c38bdb6f) >>
 >> endobj
-6461 0 obj <<
+6400 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 370.2236 201.4711 381.1275]
+/Rect [134.114 370.224 201.471 381.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_ba6b40a4b9708e94d6cd10f54144ed70) >>
 >> endobj
-6462 0 obj <<
+6401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.8082 370.2236 293.8737 381.1275]
+/Rect [228.808 370.224 293.874 381.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6464 0 obj <<
+6402 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 331.3693 182.0442 342.2732]
+/Rect [134.114 331.369 182.044 342.273]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_1f0828932daf26d10e94120c1f4a4d6b) >>
 >> endobj
-6465 0 obj <<
+6403 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.3814 331.3693 274.4468 342.2732]
+/Rect [209.381 331.369 274.447 342.273]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6467 0 obj <<
+6404 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 292.515 227.9814 303.4189]
+/Rect [134.114 292.515 227.981 303.419]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_68e8cef74c6b4b5a56e2c791f41566e4) >>
 >> endobj
-6468 0 obj <<
+6405 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.797 292.515 297.4402 303.4189]
+/Rect [231.797 292.515 297.44 303.419]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6469 0 obj <<
+6406 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.9428 292.515 407.0083 303.4189]
+/Rect [341.943 292.515 407.008 303.419]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6471 0 obj <<
+6407 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 253.6607 272.7831 264.5646]
+/Rect [134.114 253.661 272.783 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_77a904793c99cfb1d61fadd277d59471) >>
 >> endobj
-6473 0 obj <<
+6408 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 214.8064 181.845 225.7103]
+/Rect [133.915 214.806 181.845 225.71]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_164c38a51c8718e6ac3a3f3e4af77bf0) >>
 >> endobj
-6475 0 obj <<
+6409 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 175.9521 181.845 186.856]
+/Rect [133.915 175.952 181.845 186.856]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_77123fc17c8bc6d59a76802c0592a2c6) >>
 >> endobj
-6477 0 obj <<
+6410 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 137.0978 154.727 148.0017]
+/Rect [133.915 137.098 154.727 148.002]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_0f19da4c46bb8b3be01875eff4c00538) >>
 >> endobj
-6479 0 obj <<
+6411 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 98.6171 176.5049 109.1474]
+/Rect [134.114 98.617 176.505 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_58b86510b9c4dc05004c0fc01622430b) >>
 >> endobj
-6480 0 obj <<
+6414 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6441 0 obj <<
-/D [6439 0 R /XYZ 90 757.9346 null]
+6418 0 obj <<
+/D [6416 0 R /XYZ 90 757.935 null]
 >> endobj
-6442 0 obj <<
-/D [6439 0 R /XYZ 90 733.028 null]
+6419 0 obj <<
+/D [6416 0 R /XYZ 90 733.028 null]
 >> endobj
-6444 0 obj <<
-/D [6439 0 R /XYZ 90 700.1513 null]
+6420 0 obj <<
+/D [6416 0 R /XYZ 90 700.151 null]
 >> endobj
-6446 0 obj <<
-/D [6439 0 R /XYZ 90 661.297 null]
+6421 0 obj <<
+/D [6416 0 R /XYZ 90 661.297 null]
 >> endobj
-6448 0 obj <<
-/D [6439 0 R /XYZ 90 622.4427 null]
+6422 0 obj <<
+/D [6416 0 R /XYZ 90 622.443 null]
 >> endobj
-6450 0 obj <<
-/D [6439 0 R /XYZ 90 583.5884 null]
+6423 0 obj <<
+/D [6416 0 R /XYZ 90 583.588 null]
 >> endobj
-6455 0 obj <<
-/D [6439 0 R /XYZ 90 467.0255 null]
+6424 0 obj <<
+/D [6416 0 R /XYZ 90 467.026 null]
 >> endobj
-6458 0 obj <<
-/D [6439 0 R /XYZ 90 428.1712 null]
+6425 0 obj <<
+/D [6416 0 R /XYZ 90 428.171 null]
 >> endobj
-6463 0 obj <<
-/D [6439 0 R /XYZ 90 350.4626 null]
+6426 0 obj <<
+/D [6416 0 R /XYZ 90 350.463 null]
 >> endobj
-6466 0 obj <<
-/D [6439 0 R /XYZ 90 311.6083 null]
+6427 0 obj <<
+/D [6416 0 R /XYZ 90 311.608 null]
 >> endobj
-6470 0 obj <<
-/D [6439 0 R /XYZ 90 272.754 null]
+6428 0 obj <<
+/D [6416 0 R /XYZ 90 272.754 null]
 >> endobj
-6472 0 obj <<
-/D [6439 0 R /XYZ 90 233.8997 null]
+6429 0 obj <<
+/D [6416 0 R /XYZ 90 233.9 null]
 >> endobj
-6474 0 obj <<
-/D [6439 0 R /XYZ 90 195.0454 null]
+6430 0 obj <<
+/D [6416 0 R /XYZ 90 195.045 null]
 >> endobj
-6476 0 obj <<
-/D [6439 0 R /XYZ 90 156.1911 null]
+6431 0 obj <<
+/D [6416 0 R /XYZ 90 156.191 null]
 >> endobj
-6478 0 obj <<
-/D [6439 0 R /XYZ 90 117.3368 null]
+6432 0 obj <<
+/D [6416 0 R /XYZ 90 117.337 null]
 >> endobj
-6438 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F99 2213 0 R /F100 2135 0 R >>
+6415 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F97 2177 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6484 0 obj <<
-/Length 3083      
+6465 0 obj <<
+/Length 1642      
 /Filter /FlateDecode
 >>
 stream
-x��[Ks�8��W�䕫"o����nj��<v�I�43�b$:f�^KRq<�~$�/��և�
"Y�?4��d��
-%���zw���ϯ/H��
-~_��|��~%�"A��r�᮶ 	��ŇͯKB�W+�1^��"x����������>������"-
on^���u�ϊ�:W+*���6-����.+��^f�u6	SlI���Ï?|p4�V&�!�ߋ_Nj
���
�X����`D��.v�2�e{�����N�C��X08H3�X1����G at DB� @x��
ac~�(CX
-�BCP%7A%4AX%z�`&�?ҍ��$˻⊋�ag"
��g9C�S
�3e��XWH��ֿ�����߿|��|��⊩evl�+�}�V�����N[dž���6�_>>�{�AC8�b᷷����b�yr�H��v�Ɣ�<�ݜvGó�677��j��.Ꮴ!�>�˪ϕs�j��
�~XT��Кa�D!�o�p�Y�v��o"d���0fc��$V��T��Xw���,
�	n8��Z�uh6�����J�%�Z1b�]u*��;��,���S6�ګ$�	��5c�<��YYޝ�/�ڡ!F��K���R��
���x�I
�^ol�҅�
R��+�c�P����^
��4O?%���@,g���I�R���`
��PC,*�p�`)�~?
ہ_&!�c]�����c
v
��4�C�'��v[T̫ (Ѫo�v�A2���1R1�8:C�}yw0C��}�6����gGN��6 ��_�W
/?�E���62�6��$�f�Ɂ!AX����L��˴�


�
�`h`�������\W(�f88 M���
�c1�[O�u�t
�Q-"hA1�P*)%z�7d�
-;�02��c0�k��

-c���6
���T"i�]���c-S�s�Y��d"�	-�Pz��
G�
-�*q~q�L�v�}ȫ�CD!�`ނ
G��
�0-9�MrM�Sr��Q<�)N��
����:�����w<Gl��V
��!����$]�P��N����$
�	��#!�n,Ɣ�B�h���88x�}��
�Q�d7��D\�L�M��+�o��b�H�o#�9���M���ϰ�]P�˜��߭�E�)ߧmٶN��:���Tgk�6^���l���F�)y��f]�n(�=}��Ͽd��Y���_��9��"F��i)�-v��=>�qį��߲	�@�5���]�9n�1�3�ֱC߅� �|h�M��\2�(��t��O��6�g��<*I��
*�Ck�Խ��bt�Fe�h"�ܾr����z+���?|9YY����73
M±p�	�œ�.��,8}X
py��x6BӇ�Vv��+�u�4��.k7y�b�fL������Vf�o�:
T+�U'Ob:��`Q��
�.��J]���q� ��9�V�
cз:G��N�! �S\�F
-�M���<�E�˪lHQh����^r��s��b��I�c0,Ȧ�=��C��tNiD��r0#�5�[��������?��`w��-eS�3D�� JrќH�
,t�"ͫ���maN���Z��>p�g�UHrA��D�#�����:ش�B����6��N{��IO'���N�6��c�g6b���tJ~���11�!��|N1�I�DL�-,.������:1��N��`0uv=ռ��8
���s	�`XuQ2K�!�<
�ó�[��|?�
E��a�+��y������2dZ�A�4�s;��#4�vg
�`J�c�P1N�}
A'
iv�Q�o#$��:w�Ӟj�t�E��+�ף��q+ԛo.�9PO�g<te�LiQi���o0���V�;~#�
]�3v"
v���w��
����n�*�{(
-��� ���
��p
����myL�٭c< �@חk���H�D��̝Od8Sa}�0x&�`QӲ �w�][����"�Ư���ֶF�nS�{�E�i�mv냺

��Hr��Q]9P�cf-G��i�{�T��
#
*kB��T��Z�N�
,�]���v��:�����6��,u9���cZ�,>�h`��Q�ϫ<ݶ+���!�	��âb�A at TB�^?ĄҔ��Nm|!i�0�덋J_��B�t�S3�����t W
 ��Ow�`(��~]��~�.�;<�{���n{PE���R��H<,*�=���9�n&O�M{�O���d��^����|�
�N5L#T?��Y�((?"��`�|�
�=���{ǯ����$��x�{$�w�j|����;@0�S	�CE�Z		H�.�����g��c�v�{�6���F�i�h8 a`v`�� :�A�4����7�=�!oa��os����t?B0�+�+W
-�3��Ln/	t|+��n	�k0L��7Q�
_%���)	��:jHAL_8Դ"qs+e�X�
P����?%P�0��Pn�*ی���2ĈG�'O���<T�
sZ�������~��w�}�;�
�e�$��dR[}@@[
,��A�O��k���׽�����l .&�[]��j�1B����㓮B�_
�z���|�ݨ���ˡ"�j�5�p����6�bV�LO�RD�
@��0
ڍOOL�cpA�1r�S�1���O!m6w�	g����h���w�O��Ԏw�dn�O�>�1"\�g,�$5SaD.,,.���\��:���N�	M��v�u
�&l�1}�����A-"ͷ��k��+j��^@Wq���[|����a�N��u�諊#�}$<
 ���30��t�����B��q����y�Y��6�k�v�m&���#�
��2ւV
j���]���gK�\���c������0����،��P�{i��zZ,���/55�D�ؙ�N��}
h��jtV��0Oɳ^�m_�C�$�{p�N1mﰂl��
�-�]f�_mz6_�
m���̊�����J�t��#A����x�7��z�}9�}6<<Q��(ǭP��
 [...]
+x��Y�r�6}�W�ɥf, ���Ğ4I���S���$dq�[Iʊ��]\H�(�J�i��'Q�X�=8�
b���������ڵ� .u���`�s	r(1�#�I��pD0���`��)��)6�d5�Qɦo㇒���䦌��
�x��
���ͫ�U�z��g�
��Y��&�<ˤ�5�|���������A���<�1�t��36"��W#+�
�6��31������ܡG
v��b����G-�]G��m�"�K�Y9�
3O�S���1Ӷ�ŒrN�Fl��i;�e���wW�_�Gj�C�3y�>*�լ�s=�v0�Nʉh�H��()x�G�Ӈ���QZfU��h��NUG�I^�j!�^��D
+󬪵-����e�r���al���.
+�����VR����z
wa5�\�lL
 
+�@����:���d5t

G�eVu��y��S�\��
�A���͠x�(Y-W�l�\vm���{����
 -Z�y=��2��D��	������GoD1F�����|��S��k��a|���%`o�����
+z�p÷}6����$E�M!V6��
Ws

+!���w*K� P�����'V�,��h�ȩ� �2Q
�����dOR���8l�R�\q����
�����7U��[���LR8??~$���2��
����v�U�Y�B�3 ٜ3�a�gC�Lh��N����{�o���uW���Ii߽�}�V����i�	Y�¸��; [eψ�$�#�䱫C"�s�L�.
���
O��o�Y(�x������l�M���3�R�
��.
��(�$q�Q3
����r��kQB��K�1�?r
�4�
^�
+�N2Q����ȘB�R��U�����~R�\@��?9�A�+Y�k��E�`��
+�Tغ�/��M&�x�7ń,� Y��z(�ta}�'�u�⺚L�s�R��
�A}�?!�x�L_^��gm+ݼ
E��q<�`�E48J0�RJ��@�k���g�c��|
u
!��Q�bڞ&�?HY�>��0GjP��Y��3���Y0�<ga���?UC�]퐅�C;�˖i�Δ�Y-Ϣ�J'� �;�NuNS���N�U���”}�VP"�i;�h�t�\���"�b �noDǶo	 �@I2mm�|OOzBUm�K���8��%Z�
����nBq)�oBHGv~ ��\�ۤ8�[��Cѣ���d
7 ^
��,s0���?�+��OpJ���#�4*��K}��u�s����5D�A���8 at O�c�;����S7F��(T7���C^����<�h|v(����,�!@�[^�V� U��
�Y��L7��Y�ڋܺ�9�y���^�3����)/�L��͞
d�4�����C����o\Ѯ]�.�yN
��|@d���~Q

	B�d!�?yE���Wt��8�r�Ƴ�/:�_|�<�o�=���g�Zڪ#�����M"�(�(4m�(yY-��bn��_ݷ�>�3���:G����vp�Ջ)'���V��7��"��6�����^}����O�JH��;�-!�y�x�.�0
pD�} ��_����M�V��b4Ooڵ�Th�ߪ�����x�\.QX�E%��qQ$�}�X[!K��Y�f-���z
~L廤�@�� �2
+endstream
 endobj
-6483 0 obj <<
+6464 0 obj <<
 /Type /Page
-/Contents 6484 0 R
-/Resources 6482 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6434 0 R
-/Annots [ 6486 0 R 6488 0 R 6490 0 R 6491 0 R 6492 0 R 6493 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 6505 0 R 6506 0 R 6507 0 R 6509 0 R 6511 0 R 6513 0 R 6514 0 R 6516 0 R 6517 0 R 6518 0 R 6519 0 R 6520 0 R 6521 0 R 6522 0 R ]
+/Contents 6465 0 R
+/Resources 6463 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6348 0 R
+/Annots [ 6412 0 R 6413 0 R 6434 0 R 6435 0 R 6436 0 R 6437 0 R 6438 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 6475 0 R 6462 0 R ]
 >> endobj
-6486 0 obj <<
+6412 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 720.2355 450.9552 730.1407]
+/Rect [328.408 720.235 450.955 730.141]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_77123fc17c8bc6d59a76802c0592a2c6) >>
 >> endobj
-6488 0 obj <<
+6413 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 685.4689 150.493 695.9992]
+/Rect [134.114 685.469 150.493 695.999]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_081718c23b5785da17c63ffec13536cc) >>
 >> endobj
-6490 0 obj <<
+6434 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 646.3456 156.2812 657.2495]
+/Rect [133.915 646.346 156.281 657.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_0fafb66fa4df451fd3e2f0392329f27b) >>
 >> endobj
-6491 0 obj <<
+6435 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 646.3456 225.1623 657.2495]
+/Rect [160.097 646.346 225.162 657.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6492 0 obj <<
+6436 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 607.5959 203.0652 618.4998]
+/Rect [133.915 607.596 203.065 618.5]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_e1887d907ab06bddeaa2682bdf94d268) >>
 >> endobj
-6493 0 obj <<
+6437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.8809 607.5959 271.9463 618.4998]
+/Rect [206.881 607.596 271.946 618.5]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6495 0 obj <<
+6438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 526.985 202.497 537.889]
+/Rect [137.432 526.985 202.497 537.889]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6496 0 obj <<
+6439 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.9952 526.985 240.9624 537.889]
+/Rect [202.995 526.985 240.962 537.889]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_edf9116549ffcced7a39f4596e65e5d0) >>
 >> endobj
-6497 0 obj <<
+6440 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.2995 526.985 345.5491 537.889]
+/Rect [268.3 526.985 345.549 537.889]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6498 0 obj <<
+6441 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.8798 488.2353 209.9452 499.1392]
+/Rect [144.88 488.235 209.945 499.139]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6499 0 obj <<
+6442 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.8914 488.2353 259.7141 499.1392]
+/Rect [217.891 488.235 259.714 499.139]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c061731c4fec7f60c48e02ed9806b4bb) >>
 >> endobj
-6500 0 obj <<
+6443 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9475 488.2353 379.1971 499.1392]
+/Rect [301.948 488.235 379.197 499.139]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6501 0 obj <<
+6444 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.543 437.5304 209.6084 448.4344]
+/Rect [144.543 437.53 209.608 448.434]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6502 0 obj <<
+6445 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.2179 437.5304 260.7244 448.4344]
+/Rect [217.218 437.53 260.724 448.434]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_065895a1428f9dc6b3002818686eff0f) >>
 >> endobj
-6503 0 obj <<
+6446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.2843 437.5304 379.5339 448.4344]
+/Rect [302.284 437.53 379.534 448.434]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6505 0 obj <<
+6447 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 386.8255 203.0748 397.7295]
+/Rect [137.432 386.826 203.075 397.729]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6506 0 obj <<
+6448 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 386.8255 296.3242 397.7295]
+/Rect [203.573 386.826 296.324 397.729]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c74dafaa0b06e9cd3d15ea0d2af1b213) >>
 >> endobj
-6507 0 obj <<
+6449 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 372.2571 337.6368 382.1624]
+/Rect [277.005 372.257 337.637 382.162]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6509 0 obj <<
+6450 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 348.4494 194.2975 358.9798]
+/Rect [157.437 348.449 194.297 358.98]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_041afb1a2cc7277572fb7235cf08cf64) >>
 >> endobj
-6511 0 obj <<
+6451 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 309.6997 188.7586 320.2301]
+/Rect [157.437 309.7 188.759 320.23]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_e94a99f8e8d290b5791baa01fd540a14) >>
 >> endobj
-6513 0 obj <<
+6452 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 270.5764 226.0185 281.4803]
+/Rect [160.953 270.576 226.019 281.48]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6514 0 obj <<
+6453 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.7582 270.5764 301.8435 281.4803]
+/Rect [236.758 270.576 301.843 281.48]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6) >>
 >> endobj
-6516 0 obj <<
+6454 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 162.8438 226.0342 173.7477]
+/Rect [175.349 162.844 226.034 173.748]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_082a74ad0ce931ec2e517bf0f009daa2) >>
 >> endobj
-6517 0 obj <<
+6455 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 162.8438 386.2414 173.7477]
+/Rect [321.176 162.844 386.241 173.748]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6518 0 obj <<
+6456 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5988 124.0941 160.9647 134.998]
+/Rect [138.599 124.094 160.965 134.998]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_1a15765e7fd1f486a9ee12a061dc4c76) >>
 >> endobj
-6519 0 obj <<
+6457 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.4639 124.0941 345.6117 134.998]
+/Rect [169.464 124.094 345.612 134.998]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6520 0 obj <<
+6458 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.3612 124.0941 513.9963 134.998]
+/Rect [374.361 124.094 513.996 134.998]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6521 0 obj <<
+6475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 112.1389 155.7331 123.0428]
+/Rect [113.91 112.139 155.733 123.043]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6522 0 obj <<
+6462 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6485 0 obj <<
-/D [6483 0 R /XYZ 90 757.9346 null]
+6466 0 obj <<
+/D [6464 0 R /XYZ 90 757.935 null]
 >> endobj
-6487 0 obj <<
-/D [6483 0 R /XYZ 90 704.1363 null]
+6467 0 obj <<
+/D [6464 0 R /XYZ 90 704.136 null]
 >> endobj
-6489 0 obj <<
-/D [6483 0 R /XYZ 90 665.3866 null]
+6468 0 obj <<
+/D [6464 0 R /XYZ 90 665.387 null]
 >> endobj
-6494 0 obj <<
-/D [6483 0 R /XYZ 90 545.9066 null]
+6469 0 obj <<
+/D [6464 0 R /XYZ 90 545.907 null]
 >> endobj
-6504 0 obj <<
-/D [6483 0 R /XYZ 90 405.8666 null]
+6470 0 obj <<
+/D [6464 0 R /XYZ 90 405.867 null]
 >> endobj
-6508 0 obj <<
-/D [6483 0 R /XYZ 90 367.1169 null]
+6471 0 obj <<
+/D [6464 0 R /XYZ 90 367.117 null]
 >> endobj
-6510 0 obj <<
-/D [6483 0 R /XYZ 90 328.3671 null]
+6472 0 obj <<
+/D [6464 0 R /XYZ 90 328.367 null]
 >> endobj
-6512 0 obj <<
-/D [6483 0 R /XYZ 90 289.6174 null]
+6473 0 obj <<
+/D [6464 0 R /XYZ 90 289.617 null]
 >> endobj
-6515 0 obj <<
-/D [6483 0 R /XYZ 90 208.8871 null]
+6474 0 obj <<
+/D [6464 0 R /XYZ 90 208.887 null]
 >> endobj
-6482 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R /F104 5192 0 R /F36 2391 0 R /F11 411 0 R >>
+6463 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F50 339 0 R /F102 5147 0 R /F34 2344 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6531 0 obj <<
-/Length 3231      
+6491 0 obj <<
+/Length 2481      
 /Filter /FlateDecode
 >>
 stream
-x��[Y���~�_��(dJ
�}��Tَ��q*��I
l�
-"�%��AP�կOf
 C���T�"=G������X2���
�)��a\�V�<���_�{	��1�w7�~/�� #��ݽm8H�%tv��~N�|�$������e�_.(����M�����o��z����*֯���y��e�XR��_n���
����Ղ�y�_���0��T�ŏw��|uת�W!�$Vɟn���ְ�on0bF���`D����
�,�lo���k���h
H��^2���'/Z�2��୵��E�D�i>kɬ�~�T��D0<k��
[�)��#����}S�ہ\&!X���[ս�yk�4����/^
�P	����ՔtMf���^��c�N�FZ1v�Z�	5�|��(��2\�qC�TS(({����SqIk0"�T�j�h�'t�S)�ո5Z�)
4��p|��A���� {H(I
-&�����r�-�,c
�V��4h%y�� ��>��Z���S�?Z� �UD� ̘� ����)wD
��@%��D�[���~�����
����������'�+$�������S�.���ڝ�e�7 7�fx�1�[ f��Х�����1,�
�Ȉ��6�.5G�2�l��8�GT#�


���+p}\|�k��J����N�<M��Xڱ�eD�H(z����}�W`�4HrnF��MHWԆ�舟r��ŕVh��p��!R8�vh�&��CyJ�v�p	��y>�c
#ޒ��B���?�����ӱ\hİ��$�sPE@%4��l�#�ch>.���X�^�ޖǺʳ����!�J�8��q���B�1»
����Ak�n�?�l��T@�Wf�^-Մz�B�Gu�^6
$lv
G
-x���l�'4
�
�����B���!�k�	F\�	�j�&t�.(��<�G��	
ӟ���1�
dV������C��������
b�|����Ch�O���
������:+��G����UU
�ܻ@�l`<	h����{p
w�-��w�CVe�����$�Jδ���׍U,[b��������?�U��O
�&���\��*f&�[�jQ<�2~ �(}�WN� 
�z��A#PMh ��YHt5������n��b��B	ky��Ť�$��l2�J<'�	�!�t�fg'{m}ѹ��1�4�<�
[O@�,�
�n�9�7@fp��|� 
�b�UT�A�x�N�င�RD�
�S����Q�=���8�#y�Y8]�>�	���v����@���Q(=	�i�s��.���
~$񳊻�HD��;"{�pVn��$䲳�#�ڒM:�ij�N�
�ڑ���2�P��v�~�F�)v�Yc� 	(: eh�b��׌�hv��zz��1��
�c����7܍]5��G�Q���希Y6v�.�G
�0�I%]:['"JA�sp:n���JD4����@s�ˌ�+��i%�
P�H�[� %c.>�� �ưK6oYN��V��*��y�P���6~ �i@�ji>� �i@�¸�b�q�j��"p5�C�}H!�����šl�áN�?"�˘e
-�S���T���!�E_e�)D�,'lN���T���aDH��,D�v?K�Y�R�a�Wy���M��SM�F\aٛ)�������m�����v��4T�U?���QX[@ǟҚ#�ZC�_���m�栽ԡb���A������^�]q��6�Z L��L��
U�eL5lK�&��
@�j�<��}�����7�U���zSe�V�����Mu�)�q�[��ڽ���"L��Y���V��M��ڎD���7��>�Z N��oX��p�]���qv8l�a�
7�᪬��x(������~U;o��3�C�
y��
����^{�Y�`�g:���3pDn��-^����	����k	��Œd��g�
�ek�R�ܼ �@M��p�x���e�;��$��lg���ȽU�n�X8����
��i����},��f�����NKX:�
-��
w��tɝt)<���~�Ԯ���D�%l��E���~:6j��ƀ�V��2G�
�
7�i�n�7�޽��1�M�+�C�	qK��ު��(��ffg��
|h����]���c�;lMt���~_V��n=��8��&߻G��,�	{'��=nP��>d��"�P�dvC-s
-;r�
P������h�Y�o-nZѫ�y�`/g͇@���������\p�o���J�NW�nFpP�ı
�*Dx_�.
X�Dh[)6���5n�D��?:eĦ\�!�.Z�V��rh���{�P�v���<
-f>�
#��}@���i�~�^�����h�	��k�F#�\L^���7HN\=��
UH�c$G�d�t�j���.�T����f�#,{
Xe
�UE��>�H�)ph��Zb�4Sr44Uj�Y���m��6�ޥ�
R>L2�Z'9�mc��	��
 ��
�w���B &w�����(L\��vjɬ���_,%��{�z�"��3V�E�־���:�����I/'P�
#�K���r�F��^�į�W�(�l�1����
-\�@ִ#q�*�y�j<^(��9z(�M(��|u~��-�Ah�{�CE��6X
�
6��<=&\��a�!Y�
IL���6�5ʻ�ZQ�r�}�ME3�h��:�p9 m_�� ��G�%K��i�e�~^�����A��][��}h��ZL!y��ʽ���P����=�/�⾸�u
|ʐ
^�
�>��W�E��<N�4N8��y�7��ܸ�ŕ;���` �v�	�  ,����7�-�X���|��(r
O��9c���i��J�=������G��+�FΖ�ENF.°�.bo��i���襮��Ԭ�;������g�z�a'��m��٥AZ�hvɴ�]�$�*&��z��Q�8M`������f`���B�#0
+*1��
���A�
�::ƺt�`�WCq�}��a�"��bi���9�o��w
�7|�@Rv���ι�S���u��"��F���qJ&B��
�B~��W�oh!�L�c��-#%:�����j��e�Sw���ĝ��W���6o�?g�S�{��.����Tž����.χ��S�Q]������?�_������7�=�v͛�>�>{���VGt��
-���a�l�ɒ�O����-[��.
�3-�2�.m��+�֛��.���HOEKB�_3��endstream
+x��ZYs��~ׯ@^6d�
�	`�u���:�l*�WI
�[.�
�H@�@
���9 � ���*U�T^`������pt����חg���,�H�4�.�#��$&HP]n�w
B���/�,	^d�>{�fI�*
vj[g�ȯ�~X�_����kU�:k�z��/�)����oյ��$]�r��'a	[P��?_~������SመS�%LD��ٻ�q����#��L�;C��8ep-���z��DؗL`O2�c�Y%�!

+�O�
+�}�]�n%@ԫ�*ܺ>O}���Pha����������OX�MU6��LF
+�a���
����� #���z�]B��s�-JQ�i�"
Iέ�ު�X���
P#<j�[aK��Ge�B�
�:���ʕ�[{S�Ń��W�-x�R0���~��bJ{�s��1��
+U����fx�0�ݧ3���hV�
ԭ��G+^����o����f̕U�	�K��s��Q�"��I�k��z]5m���=���ў�� �2طW̗_�s�d*;Z�♣4�
���r����A͂�=�+�"�e�ο
���W�cI�¨��F�v�$�i��0�����˺ߪ6�
���j6u~h�zT���
18�a���bTN������U.Mw�z�=Ty�4[�����U龹���t�;�jw����_;:��J��6�UQTK*wyy�y��W4A"M�F6��^kɹa�)W0���
K�Ĉ��ļ	
���y�A�J��K��
8�Nl|��1�
q�J�96�ZbyD �8Y��%����\�E���n�!���
��� �������1�4�H�TG�w��U'��đ]Π=F$�A�Eh�T�;�'A`p�@M�{���"1��)|�G�A!8�
�LA�F]
*�FR�

�j��)�ED\B���D�
����M�
�IbDa'��(N܎��Z��,>x3�c�A��v�s�ˑ��J����!U�LQ�2�
Qj�R�0�hPg+ɟ�!��$�աB��{:|��3�d�^~r44y`����Ü/$�?�/�_�@0Ѿ
���U�@Ѿ t��O���_��$>I�'���
+:�������p���"+p����ՌUi
'�ҹb
����k��0��{U6�L�/\�C�Q};�f��5���OOPϝ��D�^��^����&㠶ă� �O����ۼ�
1�u'5.�
�nCtx��8����J��y���E�M_-Bm<�5l+ �`]�Òp�z�mv���E�sg,�on�Fb�v'jݣ�a%;
�(9
��c���Z5����ﮏ妵8��! B���R�.z4���@.(C��/f��~rT̈́��o����
XA{ޗB
M��;��B�%I�s��PN��916�G-]V�{����hN;̅^�N�������;�i�
�oC�l�?S
+iiz(x��z~��
N�@�a���c�������
	���h�b�-~x���܏�95�6��k'�}�,�/8�6��Xl����
+�cR.vվ�UG؈c;=�J}�Ka:�L�.��vI��ۇ��(,�f�W�|(܇�MY�j�-R&"]�c�J��
�(Hg=[�邝�7�N�>d�9!��bڞ�9���8�G�l�M��u��nr3��D��@�
�n�-6��F7�`un�wu��~���}��\)z�os���"CV1���/ܡ
���f|��’��|}T�ͱ�-�t�\������ao����5S�
=�C������o����F)��uI"T��Ǔ����/�QBR+�� F-�����3��r��]����l;VY H�gW�˙�L�
?�2I��2���޸���`�q?�O����&=��������*l֏M�d�`b��1�RIj2)��l��S�r����聵�_t�
+�ݏ,!�
c2��s�5-�i-0�R4�v����ń�ɕBWX>��M�U�r�y�^19�����+�j�xa��A�D�0GYP�I<S�l�
�nĄ��&�)�A=��.�J����C��֣z��{���v���N�.����r�B�E��h���������k+����c���]�nt�
Q�8���!��\C��(�Uu~���2L~j�&ަ��$L��څ������F�${������7�������!�>��μ�J«�|�˱�$1$5���4V�ϊ�L�ʰtz�/�X�ߴ�W�$^����8k�[�x���DRO�${j

���,�c2~��w18��I�H���
cr2;����l2?-HA�xfZ�E0Tn$PK��_�����o��%fX�qa�l��u��uK�
����h ���92,��D$��͇�Ӆ�0'�N<��8�Е�����[

+�C��G�>��1?��{��t�Fb���؇�5���
/8�����̕���3�aʂ؉@)K�k?�T�oV�E�ݟl��V���!�����>?���C�
��P��=���|$��!1�ů����U���Yk���
7G�K
+endstream
 endobj
-6530 0 obj <<
+6490 0 obj <<
 /Type /Page
-/Contents 6531 0 R
-/Resources 6529 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6434 0 R
-/Annots [ 6533 0 R 6534 0 R 6535 0 R 6536 0 R 6537 0 R 6538 0 R 6539 0 R 6540 0 R 6542 0 R 6543 0 R ]
+/Contents 6491 0 R
+/Resources 6489 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6348 0 R
+/Annots [ 6459 0 R 6460 0 R 6461 0 R 6482 0 R 6483 0 R 6484 0 R 6485 0 R 6486 0 R 6487 0 R 6488 0 R ]
 >> endobj
-6533 0 obj <<
+6459 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 719.9123 180.5399 730.8162]
+/Rect [134.114 719.912 180.54 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_3075c67d9868fc0b483db13256fb4e0c) >>
 >> endobj
-6534 0 obj <<
+6460 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 719.9123 272.9425 730.8162]
+/Rect [207.877 719.912 272.942 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6535 0 obj <<
+6461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.6756 719.9123 379.741 730.8162]
+/Rect [314.676 719.912 379.741 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6536 0 obj <<
+6482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 681.058 178.2386 691.9619]
+/Rect [134.114 681.058 178.239 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_8ab7b9abebd48fe0ad129a237338aa96) >>
 >> endobj
-6537 0 obj <<
+6483 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 681.058 270.6411 691.9619]
+/Rect [205.576 681.058 270.641 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6538 0 obj <<
+6484 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.3743 681.058 377.4397 691.9619]
+/Rect [312.374 681.058 377.44 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6539 0 obj <<
+6485 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 642.2037 226.0342 653.1076]
+/Rect [175.349 642.204 226.034 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_6fb154017052c68b63121cef49c568ce) >>
 >> endobj
-6540 0 obj <<
+6486 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 642.2037 411.4566 653.1076]
+/Rect [321.176 642.204 411.457 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66) >>
 >> endobj
-6542 0 obj <<
+6487 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 542.1326 242.8851 553.0366]
+/Rect [177.82 542.133 242.885 553.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6543 0 obj <<
+6488 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6532 0 obj <<
-/D [6530 0 R /XYZ 90 757.9346 null]
+6492 0 obj <<
+/D [6490 0 R /XYZ 90 757.935 null]
 >> endobj
-6541 0 obj <<
-/D [6530 0 R /XYZ 90 604.8836 null]
+6493 0 obj <<
+/D [6490 0 R /XYZ 90 604.884 null]
 >> endobj
-6529 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F11 411 0 R /F80 564 0 R /F8 523 0 R /F7 526 0 R /F10 484 0 R /F13 567 0 R /F6 561 0 R /F9 601 0 R /F12 658 0 R /F25 344 0 R /F33 481 0 R >>
+6489 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F78 539 0 R /F8 504 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F6 538 0 R /F9 568 0 R /F12 622 0 R /F23 340 0 R /F31 472 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6549 0 obj <<
-/Length 2668      
+6500 0 obj <<
+/Length 2418      
 /Filter /FlateDecode
 >>
 stream
-x��Z[s�~���[�v�™>4��N�^�Y�)�xh��9�H-I����
\H��E�6��3Ϙp����;$

d��B	�4�r��]��#4��"�{
��P��۫�R,4Ғ���
A$(�����KB�5�/߯^��.�{��xYd/Oɶ����ޗq�rs�L�w�<)�(Wk*��Y\U����!)W$Z&�&�1	SlI_�x���W��2�[&�Y�ǫ�ċ-��7W1
��3���hM�+NY�#��p��v
�aS'Q��ŚqIx<�HL�b��)CX
-�)P-@�
-�@B�J�E+f�x�	���.v�}\ƻ�N����\��]^z�~����[Aӭ5��R)�L��N���US)��S\�1�zyȳ�'cLߕ�yR��k8)�5=�S#������+w}N�,l���6-�M���Y<4���?��X�D3q��ˤJ�:�:���`p��p����[�zG���<�c�����
^���P9���:�‘đ��͠G�!.#�R?��a� „�yQ�
B�/Ӯ���د��j�?�jl�c͢>��9�\D^d�}�V�0�Sit޿�B*~KΊ�
�g����2
���u�%<M�!�FR��É򺇾�L���?����zY�㍗�Wcs��ߝ�8^���eU4��^���ȲbE!����5y��R���s�~]�	�O�do^�fڜ
O 	�4g >g�F�p�6�	gWfJ͝m�h�8Rt�Z
��	XC�"�@~
��u(5��"�0fj!1Hq,�_}�w���#�T����j
�+VH�t���6hp�"=ܻ7� [...]
'S�=���(l�`�R��d�A+d�(��m(>���T��{Ak������7�Q
CpN}Ԫ��u�
���..�i��YϿ���|�����m���jm���v�)'&�
������k"�
�u�����
�6H�<�4BD(~��s>Ј]��F
B���7a4��!�O[�D�/�}�|Hwi���
-X�#��=څcH�"���
�=�-/�8�٩�y�
���
q��k�^�'PE޼��i��L�/>�e<�ѹ^��xY+6�e�xl��<KP�F&�o��x^� '���咋S������2���Y/3�~qB�Ep�'�S���r��q��>��ݳI1�C���)64ō8 �oM=ꖐ��@蜽��=c
S��*�y8�p�g>������	-�
�Nz.��Լ��׆�<I�Fw
��hl����؉$db�w\j���q2h�/\)B���GhF/���5y6lj�
�F�~f�fwеMwI^�
\�����AE�}�F1�}�l�	a�`�8�q�p�i����:�˯ፘ�%�ԲJ6E�u���J�ݳ�u��>+Һ�
X�V7ms\�'Zc�����-�=
v6���1g�C�JEÚc)զ"AB�{k 	H�\:�����y
-�;��
N�8
��y��τg+6�����͍��;��.\������[�l�
/��|>���3n�	d�
�z7�6����9�0�q�b
*ѨA
�'sgi&o+����!����>�ت���`[a�񻗆F�.�}a���-A��Gӗ�Z�����4�S
��^7/s
�f8�Pg�.��l�I �m� �'��/��-*mvx�c�E��&
�߳6��١e
-�wh@�ԃ�q�;

 ���+�s�1ZN�&�����v�mj)OZ�NE��l�
���LT�gP��$5�c�����I�|b��=�G��|2�Ƨ��L��y�|�8T]bHhS�e�M��=6\��P�P���pW�/��*�r
=z }U����9�9>Z�
���W;y0��bl�ʊl��ܦy\';�xkl�%ͫ:�7ɛ��0�G���GȊ0
&c���-���R�����Q��p8@[�
��MW�n�@<I��!��g��简~�
-�简��~���W�~��b&�������.��QȃL1�L���`�KM�4���5�jF!A���f�
-�VS~RS���&x�9CQ$�*x_?�!����vp��G��Qz'^���C�
MqV�("J�y�JMsV��9�
RV1銳�w>8����bf�^��z�M%�=���~�ns�M9[J3�L��$��9��n���-J7��zp~�ۜ}������4Q���Y��G�I1pU��/Μ4���'Ϝ�g�s�bB�Aڧ�q�>�Ԧ���@�ƹ8]C�xm�.8Y��,��`�fG�ڿ@
-h�6�.J� |�H|���^h���
��?�w��a�}�n�}a�>��#�kV�kp�9`!8Jwƌ�Z�����NjR{����{HϠh#u��U0�������꬟�z��z�M��H6����"��t����ZA�$�o�[��}p�	�γ��͗�������w��0T�߿��!�ܽ��?��Z�l��ш�
�C�
���Ćl��zZ4w�v��>��h��{���束�zs}����6:��Di}��g���b��s��
�n�k�i�E��p-mIrW���94��5H$@��R��	�7endstream
+x��Z[���~�_�[P������'q�w����;y�}�0����5�_��
�FH���y�]�����
+a���އ�on��
�I$��ړ�
A��a����h��%c��`?.7����~�
^�U?�=}*��p��LW��<)�(��c��Y\U���d��
�I�L`L�B�S��<�p�������
ѫ�!
+�����~��
+��0b2��Zj���5�>����

�f��
�
1Q;$$D4���2��Gos�r��l.6�m\ƛ�Nʟ1ǯ���\�� ߨ=ݽ縧�[�8�wKA�B�y�YԠ	*�_���;u+�]���*]ۮ,͓����^������/�x�?�/�>��u�dY�Et⫴L�uZ��X7���-�A���L�eR%y�����Am�
'�$fg�}8�e��w��A�>����e��hq�`�/���
T�錐 	,ap=���F(�@j	iӈ ��D^�#��L�v�����v�mW���Uc5\Ю���� hW�J�>r�Rܨ��$�h�")A�
+Cy��4��
fꢙ΂sh��ޥp�v7�B�B'�|� �V
te����~m�F�X��6^Z9���#�}�y�T`ߎ_�8�����E�

+F��Ϧ�bRK�����u%
+���d��p?�4�:&���I`mG$`�h
+#����鏺'@aD�^�k{6�E���-	�$�c
+�S��5�l3
d6x�E)�+��β*�1�'"vi��3(ŚP�����&�e���ֈD�͇��
P%�s_i�!��$b!i��9


�FM?
!@2�= Ugb7�	@�̊#�C�4Z42�9ے
�'E�#�;
���x<S��71�@;��L��<
@��4̷�ՙ?��nO	p
�
΃q��f��d.�L zK2���2�^���i�G�M��q�ǁ#Y+
YC ��=�2+P<�q������Z��'��-�ӹc{
Q$!�^�I�2�O�&��2;,�b�h�F��~�(bC[
�X Ek������e
��6/ƺ��ѩ~︓�i�s�7^OcA�DW|6<��(RhV�N�h�����bw$WY�W�����ärm�1S�&��
㬞ւ�c'b9���s��ǧ���y
�AA�~
U/���<b��*�(v�E�K��q��mM��+!%��uk�98��0b��1����V��P�/	��3D^�|�
��d���i_*$���$£�Wi�9v��x5i�h�-O�I*E
�nE�*;�&K�T��)�n��jgn�>t��M�W6���,|Br>M��O��&��9��!�@x� �����Ц����*Y��4.�*1w{�kR�mV����׺�l��ڼ�
+��(+����n�
Rɩ�t��&�?�]� �6w�qtg�`���n�
:�uϦ�9T��7�)Ʀ�cS����B�#��3���c�����
~:��@pA�&��#�W0;��}K�QcaT�L�8d
�
�P��	m"Qm����h�3�
��
��\�Ba�
 f���t*wO�
.$�
Dž�}�=	���~��I��GyF�=";�F�N�z8ۖfUi�l�ʋ�v��e6F��&��]�A�llU�X�8;mQ���Gѡh�8R8�6�)��3�R
�ӪP�23H�����
�ke��l"�9/Gl���_���䢴�_O8Ů��
B����^5P
w�y��J���´h�ZL�Vfe:�@��
؇
G�Du,x�T�)�zJm����.U��Ȳ(�U��uR!�
k�^
؀<ͫ:Ηɻ�K3�aiƉ̼/@�j7=V׫݌E� u��>
-DagZd�xs< E�h��O
@�Vص+�׮�^�2U��
+X�
+XWe�nD�Vޤ������p��o�%��Q(��r��l=
h��s��A5�L�>�_	>�`���u�߯�����QPs����ʺ�思Ҽ�V[�������V�#�NJ��Rf�Q-��I�aU�i?��ֻF����ʣ�[mIWG���" "�9t�8t5�A����H�r������Z��)
i�S3NNV��H7����~�II$ @M9)�
I��uS!b<<�S6W"(���ʃ����d��̗'z���w���V�gP<g��z�_ /Q��6
J�lCl�BZG-������C��<;�N	;�1��15��Dj�j�u�ډ
��9O@ �dg<A�x����ld��ES��^K�ȵ��^K�����E�I�[|u���N~v�X���.2����3]p����-�
a��,FH�E�${$�]��H
j�7*�K�����������^x0��i���2��͟�̣�G�y�O��P�Œ���.�̽ҿ�jQ�lNQ	D�eB�ڠ��Ч$�;5���k��f`�-bD:�y������~�G�
+��t[����n��c�׍��{��B�)���L94n��F�C�/V*��
+endstream
 endobj
-6548 0 obj <<
+6499 0 obj <<
 /Type /Page
-/Contents 6549 0 R
-/Resources 6547 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6434 0 R
-/Annots [ 6551 0 R ]
+/Contents 6500 0 R
+/Resources 6498 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6348 0 R
+/Annots [ 6497 0 R ]
 >> endobj
-6551 0 obj <<
+6497 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6550 0 obj <<
-/D [6548 0 R /XYZ 90 757.9346 null]
+6501 0 obj <<
+/D [6499 0 R /XYZ 90 757.935 null]
 >> endobj
-6547 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R /F80 564 0 R /F8 523 0 R /F11 411 0 R /F7 526 0 R /F25 344 0 R /F33 481 0 R /F77 570 0 R >>
+6498 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F78 539 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F75 541 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6554 0 obj <<
-/Length 2720      
+6508 0 obj <<
+/Length 2271      
 /Filter /FlateDecode
 >>
 stream
-x��ZY���~�_��Í�ٹ����T�X+r,GY1Ƀ�ڂ��e�P+9����
� w��C�8����oz�$
?2Qx"���d����;x�����Ϻ�,.��O��B*��d��
R�J�d�z;%Q~9#���K��Y��n__R<-��6zUe�?�﫬�4������
]�*k��rF<�v�յ���k]]9��RO���$�|����zъ�HXJ���^�}�'+��
�����

0"J���S
�o.���qv1���Ў5H�Le�	�6y�v�d��Jw��/i2���A��k�
-bFVz���\��6�z��e�j60
���D2A�H1I%A�9�` �u��.�
-a��D`�L���ϥq�����^/�H�;�k
",�	F�yi[����>iɌ�o�5�1&�5��N7�rU�����FE�pCN?�}���B�9�t�

-��Xug6U�3�^�f�y�K��K�/��%S��]f�?��1*�yS
�U`� �$n'��l��v��a�ǒ��
�i��VD��c�l{���dn^4V�;���,����c��uͺ
_��Z�%�t
�T����|$�r�!~(�,w
.�o�,�8:Ϭ����#��Tf��5#�u�ݺ
�w����z�j7��C��k�h�e]�﷞�E/\��R�~�ΖwW�Z[�Fϣ����0p�v����k3��	~`@0����3[­���8��6���ÚXZ��p��vqJ�N at 1�d��ୖ�
e�2xҵ[Hv}�8J�
�����J���&s ��f<A4M)�����R
�ሧ�O:T�aO��tn.�]�'?�#��
��D
��u�8R��V7�����R�#!}Y�YWf���&�pI�?�nM��b�!3Q��ᡃ����K�L���*���@b�$Ot`a�`fEGCD��Ȍ1���$�����
-�]P�
үE�(I��[�?�mOPJa�{,.��H D�>~~�tJ�X�x�$�'�G;h@�|P(FR��
[
-Ȁ���ݲ�q[֑��S1��F���K�gH,A>�kv[
D�H�\����I��00�#(�om�7�FM��%��͋JRn�0
-O,�eyh
ɗ_��g/�Abn�Abn�����w$~��j�<$a�u~��0�n�?�+8jm�nɇh�&I
j�ۭK����]�
-" ��ݶ�A��|6s7r��eO�v��
~�g_
%�>s�v�AƂ �ʠ�)��?v��y��Tb��$�p�GV�d$v��if6�m"�|�
gW

A��"�N�MkDٴ=a
C�Ek�Unk�.��<8�������
��l ��
X[ok���~j�l�f�kQ�����	�lD��d�(D�4��D�
2�JK֡n+�c��v�Xԁp���Q�K~&�d��!�4$m,��	C����� RI#@t|���m=�� 7&�Gq��#���=�
-%	"���-������/[��}��ʼn�NkCwh��f>�+���2}��:��|Ȃ�ƃ��od�!��L�&#&uᅫ
�̓:��[�+�ƾ��<���
�!Q�� �cL>
-"�>�eH���w��PO�~�?f��\����FR��Y��g^������w �v��2��6����{�����=��gnl�lF�b}�=��Kl�t�8xY�jW�n
-��#��4�V�Dv���Je�gX�,@�6"�nlEq]��(�8V��?��6�
-��i7����4������Z����:F�b���絨�3��$�WxI���p�L^+Աߌ��8�һ��
u]
v&V���\›�q��j6
W��
�M7�����|q)��dn}��6�@)����=��>���F_p��;_]����a�;_�f��h�
Z�L��	��
#�y��M�_�t�[���u�����R��=i �D����" ����B~?^
-�T���C��.�9
2{&\�d���ׯ��7=���y~}O�_>6� &f��4Աc3��=�)�]����:d��Ȭ����Eoa����䁅U�(AiJ .E
?J.�vQ>�
�xA����F�+m"��s�U��;_ n��0J�u�����D0p�.�0
"��$�Qq "�}�aT"�@�%<�~K��`}nm{�� �,�����|6p~|(�O><X{x
}۴���-r�mv��N��~��
3��'<�a�B��T6�AƏM72�9E�.o����
�ڨ�|7X9(0&$5�av��CU�'�Q��g�Wz,9�ʥ�����@�)?>�Ġ��!b��lʪٴ_��͗��e”1�|h��Yw�PX8�;PD��B!�����o
-�Ŧ�w^N
-�G�!9[�3r��-r�1����Oں�q&L�Ϫ7k�
��m�1�!�P��Ϙ:D�	�)9�6c�[��_�gLK�9�Ne�O���0P�/��j>�ʜ��l
�ʪ;�z��M����%�I�3�2��J�h��`�!l;���B�l�]iN��P��"4�
�Ph�4ɉ<
Lc���6@�ߞ�
�U~��J�����ix��U4�7�D�==��
"�4I����?�@�%�"]�;�
!�4�=��c8��6���{�{��?�����WYqp��pG��S���Qm���ֽ��$D�r��L��_:�)L�uf��N�+�	_��i����{��ѡ��ʛ��~{��5���P*�qܬ%��Y���a�#Yڎ�
�p^�K��
�̶�?���endstream
+xڵYm�����BȇT��\��՛�����m?\
�M�Bdɑ�����
rF�h�[o� HI��<3
����ws����巑�R�F2��^ʽ8,�»[x�|!�
&S�9��L��z�ݿ�H�W��Z/�����C�Տ��M�/�ot�묭��T����Ț��z��H|]�5�*V�
�����.��.~� ���"�Y�Bo��x��{
x��ǙJ��Rm�@*
���?/�P��4
	��R1
��֫%����+�-�
��y�ɟ��[���B/���%��|�4��6�JwU��e��dV�N��OE�b�zS)X
'(��*c�bD��e���֑~f�Yo{w3� ���W!�㭶jE�Aa�%�F��j��CVk3I
C�'�-!;d��Դ�N�d �e����ʶ�P3XY�
�xf*�1+,+����l2U2��1:�����^�6��γ]6���gV�i��s�s��h̒;z��k󲵲�4�e^�Y�#�r��#<�u�}��
+Li���3����mAܢ�"��ʡ����1��+|e<af�o�����yK#}�V���CA�-n`��s����k�5�]A�
YI��

gj�rS��`0\8�\��)%�(V�@�:ӎ�Aj��q�w
j�(_�3�'?��bP��ƥ��}��T�"���#9	1�%q��dH{Kc���!�Q�� 
�h�K����\A6�bf�����%�%�`3����n%��Y�R����X�I��Hıq�c.h
�"сxĝ	�<�2	!�Lk���ʦ�wsr"�qlVg�u=�#!@�H�8�#������T)�x"\>��<��OB$J��ըWd��$G�����Ď(�<Q��둘R2��X�1��E A��|&�/�0txA>MDr��9�>�GeR">_q��
�N�$t���5��=ga����
<
am*B�1���jX���`yso�y4"Z1-����HY�4�QƙW�)����nl�7S��f�3��R�����EqՕ,f��{������Ӷ�C���ܡ%�������{,h��
��:����{�N�+"�Nq�
�U�^
��ĥ�^|��6}�C#^a�Ѯ�4����kԜ��ܞ��翳:Ϡp��{��������
�GLЦ���c�ë���t�ٟ������"�ׇ!��
=�7�	C����<��1n�Z��=0?�AڔBf,+Z��w7> [...]
+C�\�QQ�J�7x�	�P�=:��p	�R�9�~!��
d�����H�k�2ك�`V���V}h��<0�a�o�v�v�Ξk�ho��YsKaCvM9K³L��1����Y�1演}��#EA�H'�N���$�T�|Up�T,�,v5O���@������
��?km0#S�S�ż��5�(8af���
/�j`�Ƅ�R���
�~W��/fb/��kU.w
�"b�
�0�ު���ò* W}�g/�"\.�U��n���C%1
c���}��'$���|�
+0�� ^Ƥ�,N{r��6R��Q�D���>���l�(�G
+}��p8���n<n�A �$Ą2�^2h2I
��z�k�\���I��A�Z��M��+:�L��Ë	⦁.}f#r6��āo��c���Q�"�=�VZ�$z��Y�Fn��D8�,��%�J��PR1���7`z��d��x�.,��<TʑhJL��5%��L��y�������S�E��™��o�#M/W8��
+��W?�=i28�x�M��
�0!�c�^cA�ۭ�M�� [Ӓe]mH"�ۮW�侽���ux	�#X
��v���pT#���?;U�c�~[��ū�m����^c������9*��B"�>3�UM�A
.�b�-��w����j��h;?Z4�	�ա�nu���� i��������Ύ#m�}�d,
�P:��3!9�aB�P��v]��o+/{|��؁��tt֚٬��iߢ_?�c�s�l�ʢ}��Zi�ʢ��-�^v�.f3�l��
+�!�W�O%�\!�}����1E��3R���u��L�v
��D���<�.Eȧ� ��8��ؖ�O�[��*/��܏���
C����u���nQj'�����ݶo� ���08H�}���.�u������O&�S����
�'�Y����'���@B�1,��jM��z?y���xM4�9��}�rݶ�������7lW�ۚ���v[\
#f��Dw�{���n��,�mu����R:
+endstream
 endobj
-6553 0 obj <<
+6507 0 obj <<
 /Type /Page
-/Contents 6554 0 R
-/Resources 6552 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6434 0 R
-/Annots [ 6558 0 R 6561 0 R 6562 0 R 6563 0 R ]
+/Contents 6508 0 R
+/Resources 6506 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6514 0 R
+/Annots [ 6502 0 R 6503 0 R 6504 0 R 6505 0 R ]
 >> endobj
-6558 0 obj <<
+6502 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4448 227.3665 329.3499 238.2704]
+/Rect [176.445 227.366 329.35 238.27]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) >>
 >> endobj
-6561 0 obj <<
+6503 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.5575 136.2707 211.623 147.1746]
+/Rect [146.558 136.271 211.623 147.175]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6562 0 obj <<
+6504 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.1211 136.2707 438.7787 147.1746]
+/Rect [212.121 136.271 438.779 147.175]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_edf9116549ffcced7a39f4596e65e5d0) >>
 >> endobj
-6563 0 obj <<
+6505 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6555 0 obj <<
-/D [6553 0 R /XYZ 90 757.9346 null]
+6509 0 obj <<
+/D [6507 0 R /XYZ 90 757.935 null]
 >> endobj
-6556 0 obj <<
-/D [6553 0 R /XYZ 90 380.2915 null]
+6510 0 obj <<
+/D [6507 0 R /XYZ 90 380.291 null]
 >> endobj
-5287 0 obj <<
-/D [6553 0 R /XYZ 90 357.9797 null]
+5237 0 obj <<
+/D [6507 0 R /XYZ 90 357.98 null]
 >> endobj
-6557 0 obj <<
-/D [6553 0 R /XYZ 90 357.9797 null]
+6511 0 obj <<
+/D [6507 0 R /XYZ 90 357.98 null]
 >> endobj
-6435 0 obj <<
-/D [6553 0 R /XYZ 107.7135 283.0197 null]
+6386 0 obj <<
+/D [6507 0 R /XYZ 107.713 283.02 null]
 >> endobj
-6436 0 obj <<
-/D [6553 0 R /XYZ 107.7135 268.6278 null]
+6387 0 obj <<
+/D [6507 0 R /XYZ 107.713 268.628 null]
 >> endobj
-6437 0 obj <<
-/D [6553 0 R /XYZ 107.7135 254.2359 null]
+6388 0 obj <<
+/D [6507 0 R /XYZ 107.713 254.236 null]
 >> endobj
-6559 0 obj <<
-/D [6553 0 R /XYZ 90 214.4892 null]
+6512 0 obj <<
+/D [6507 0 R /XYZ 90 214.489 null]
 >> endobj
-6524 0 obj <<
-/D [6553 0 R /XYZ 90 192.1774 null]
+6477 0 obj <<
+/D [6507 0 R /XYZ 90 192.177 null]
 >> endobj
-6560 0 obj <<
-/D [6553 0 R /XYZ 90 192.1774 null]
+6513 0 obj <<
+/D [6507 0 R /XYZ 90 192.177 null]
 >> endobj
-6525 0 obj <<
-/D [6553 0 R /XYZ 90 89.4414 null]
+6478 0 obj <<
+/D [6507 0 R /XYZ 90 89.441 null]
 >> endobj
-6552 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F8 523 0 R /F11 411 0 R /F7 526 0 R /F10 484 0 R /F13 567 0 R /F74 478 0 R /F97 1822 0 R >>
+6506 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F10 473 0 R /F13 540 0 R /F72 471 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6566 0 obj <<
-/Length 2122      
+6530 0 obj <<
+/Length 1478      
 /Filter /FlateDecode
 >>
 stream
-x��Z]o��}���SJ�x�?�%A�@��]�/���H�MT��������RCr4b�-��0$�ws﹇���Y�PB!ø\����
N��"�r����뛫��Xd$����փ$HPB7�O!��eN0���%�YQ?��g�헇rS�?T?�E�e�zWW��w宬�f_/s*p�Ͷ8
���]Y/���ݺ��)�Q!��o�������W!�$�/W�>��V��F�h�x���1t�x�)��W�~���
�X0as�A�R�S4C�Gd�`B�E]<�M�Y�x��
��jW��
\0��j��׾����Ψ cI��b(�� 'Q����_�E�h�dg���n�3%Q��3B����s�V���zoW�$6;��2��g�m�d�;��	c���]s��E�
W�6�n�a:L�M4FF+��nb3�f��ĺ�Zw>,����������q�Q�<��FSх��̧j��C
$�ȱ)�j��
��p(F�8I9o�}(��z�k�y(ݗ �����}n��\76q"k��!R�f0�F
p{�b�qN��oe��H
���D
[F}"�Ycĩ��:]}|���C;��&��� 
򙙅�
,��_{���6�J���p@[�C��Ϩ�GX(��h(�!�!�DV�5��R��P���.�s�:e�2�icDr�[] 3��+“�xra����ݻ����߀�Nd5��!y�2
�����7
�+�ȶ�1-�,��N��-�f	�bD��]l��2���[|�o
"�
-�T��|b$*?�I���wN�e�l��Tl��Ӗ��
!Ƕ'�����
�Ȫ��m�?ېۧ�8�(X6���%D�Q�z!�:�<
ɨ��hFM�� � �R��qzy�
�@� ��
�{4���j��F���`�k��|
��� 	lX: ��@SoN`���i�$�-�k�-��%Y����µ��e@�Z%��*N
�Q
ZMu�6c�
XQʽ�Z�mE
W��)R�������P0�S���W
��lV�j��8{.��B����ѐ� ��魦`�=
3$aˆ`n
�ݙ����.�?��V�&�?�|��d�e�"R.'��=Q6ej���y-ϲ{{�v���쬘wR!��q���jy6O�������g)1�2�~-����ng��:����4Q:� C��ڊF(�1��t��J�s
���Jw�yh�#�s4�@�+3B2��6C�c�e�%��]�j��X�0l� Ib�{�
h���"]bD(Ws����c�w�H�i�ӱ�.��z�D:�q+�A$Dz7˛D:�_�
��Ez8 !�{�7��!�s"=
��@)�>3"'�~����Ez2 '��4����u"�i�<���H�΋t�5�n%�h���	�>����4z2 '�>��0���{��TheJg���{��4h��pf�[]�XK�U��6�z�ae���sd�l�X(M[�}�
?�����Y��1=
-}�X=������=��͑�IC���k:�R+���9l,��1���1��M�P
#S@��PEA�2����<PVTϿɏM� �	�8��f�#�dDN2'���@S�@��6���MiY�WwM3��2��2Ho�Y at 0��}]��7a�!����'+}ڋ�*�
���T;w'�b\`F����s���$0m7	�|
W��mi���on����d�����c@��\�;��y`
�9��p�ۭt!�s�l�B���Bx�w�(�j⫏߸�P�9d�f
��6#��mfSY7�ձ{}�K�dW ڱrN[�Lg�{�8�vB-�Z=�����v
�����<�F��L
�:A�c
q
�^G�`�X|�$N�!�s"p��C��U��H+��fr��J+�����>�u2�
��l��l8�w�
��&���d�¾Q,�;xaB �~������
-8�*�T���5
�t�x� ��.��Ї�
��X�Z
-����[�k[|G����v�ܞ��=��p�Dz�<N1�Q� ���\t��<3���G;*X�į]�C�
V��///h}DO��P���>
�ד$��fs&6.�&X�gZ"e��C,w
�?�k��N>���1�A�"Q�endstream
+x��X[o�6~���S'5͋H��Ң
�u@�f{I�@�蘘-���4��;��e�q�n+�>�d��\��(�]{�;��8�-^
�I$��ʓ؋A��<�.|B
�9������ܦW���bs�VY�^�՟ʴ�O��RgWg*WeZe0�
�/7iUٟ��J��}�/�$,b>�Qpy�f��|�yF +�&

��qo��]\b/��o<�����f��
)���a��
��2�T����q҄F��K�t�je���s�,�v��չJ˫W_v����E��{f�Y��|�c	)!�&e���I"DmW��V
��1�+\
+s���#I��$w���ljI�U���>d��8B\�6�s�e�Y��G��R�����T�U�4����GzX7�1�q�s6ug�$G���1LJ+m*ru�&��>X5�>	�&������
}���Nk���Ws<��e4���W�M�;��ke
�d����t����D� "�0{��Q(���<�A+�UM�c!�y��E6
+��C ������e��|Xe�n�ɩ�W��aK��ڱ���̻h�8f�ZžxM��M
^n��y4�e
]Gq��b�̹�
���
��jx(#N>Xyk&l0���@yQ��1Q2d���I��L`;	�G�;uAJհ�/v���
Q8mx}}��ҫF�����3�1��MmOܚv��U=<	��`��4��M��p��i��a8���<�f��ㄌv��&�m@��6���
]����A�`(0r$:�]���U2�{a��(�F�e�JUgI�� ��m�2����(���J�dG��uY�B�r
G��@KH�U��e�3�i����9!�5���G���
�\�_���B���M�=h��
3]
?j����
M�5]�$�3�'R�&��Q��:���=�
�b���8��n0�SL�SX�d?=�&It��
+O2TX�*H�?d������
5�?
�aGm��O�y�����>I���@G��;�R
L����N?m&=�� �]n'
+���
~�#M�N��;
�°
�d�=@6d�~'�ܖct;�	��
�~�t���h����	s%}՘M
콻O���ĭ(C��'I�)p�a�ҍ��Э�n�Ӝ�3eD�=�����45��C>�XץJ�-��a�R(����{�g����]�t	f
+�ϩ�)���P7��轹 ��M��8㨅���6�LD�����
�޼�N4&c��b�;��&G�����h�@�2m���}����Q"t��8�@n�	
+�Y�쓙�P
���d�|C�0��w.C��kY���[�
�������@�}�#�"��r�;1~�!I|����5;tA����5;���
��o��;l��.k{�{�ʟ�}��_Ӽ�ؖ���jjNbؼ#���}��q?(�*���鵿~�5�퓦`٤�w�bqww������D�^�v��!��(v�Q�UK�mQ�
�
NnSC��!��"}�
+endstream
 endobj
-6565 0 obj <<
+6529 0 obj <<
 /Type /Page
-/Contents 6566 0 R
-/Resources 6564 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6585 0 R
-/Annots [ 6569 0 R 6570 0 R 6571 0 R 6572 0 R 6573 0 R 6575 0 R 6576 0 R 6577 0 R 6578 0 R 6579 0 R 6581 0 R 6583 0 R 6584 0 R ]
+/Contents 6530 0 R
+/Resources 6528 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6514 0 R
+/Annots [ 6515 0 R 6516 0 R 6517 0 R 6518 0 R 6519 0 R 6520 0 R 6521 0 R 6522 0 R 6523 0 R 6524 0 R 6525 0 R 6526 0 R 6527 0 R ]
 >> endobj
-6569 0 obj <<
+6515 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.1176 660.7532 217.183 671.6571]
+/Rect [152.118 660.753 217.183 671.657]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6570 0 obj <<
+6516 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.4612 660.7532 330.8957 671.6571]
+/Rect [220.461 660.753 330.896 671.657]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_c061731c4fec7f60c48e02ed9806b4bb) >>
 >> endobj
-6571 0 obj <<
+6517 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.5223 660.7532 435.7719 671.6571]
+/Rect [358.522 660.753 435.772 671.657]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6572 0 obj <<
+6518 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.0861 631.1736 422.6553 642.0776]
+/Rect [316.086 631.174 422.655 642.078]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
 >> endobj
-6573 0 obj <<
+6519 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.4864 631.1736 511.5056 642.0776]
+/Rect [439.486 631.174 511.506 642.078]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
 >> endobj
-6575 0 obj <<
+6520 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5788 472.2978 216.6442 483.2017]
+/Rect [151.579 472.298 216.644 483.202]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6576 0 obj <<
+6521 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.653 472.2978 331.7713 483.2017]
+/Rect [219.653 472.298 331.771 483.202]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_065895a1428f9dc6b3002818686eff0f) >>
 >> endobj
-6577 0 obj <<
+6522 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.1285 472.2978 436.378 483.2017]
+/Rect [359.128 472.298 436.378 483.202]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6578 0 obj <<
+6523 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.0861 442.7183 422.6553 453.6222]
+/Rect [316.086 442.718 422.655 453.622]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
 >> endobj
-6579 0 obj <<
+6524 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.4864 442.7183 511.5056 453.6222]
+/Rect [439.486 442.718 511.506 453.622]
 /Subtype /Link
 /A << /S /GoTo /D (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) >>
 >> endobj
-6581 0 obj <<
+6525 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4448 230.278 329.3499 241.1819]
+/Rect [176.445 230.278 329.35 241.182]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_fceefab91d648d188e42e5a75a3a977e) >>
 >> endobj
-6583 0 obj <<
+6526 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4448 97.3149 329.3499 108.2188]
+/Rect [176.445 97.315 329.35 108.219]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator_eff190ba56f86d3425859043689d499a) >>
 >> endobj
-6584 0 obj <<
+6527 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6567 0 obj <<
-/D [6565 0 R /XYZ 90 757.9346 null]
+6531 0 obj <<
+/D [6529 0 R /XYZ 90 757.935 null]
 >> endobj
-6568 0 obj <<
-/D [6565 0 R /XYZ 90 733.028 null]
+6532 0 obj <<
+/D [6529 0 R /XYZ 90 733.028 null]
 >> endobj
-6526 0 obj <<
-/D [6565 0 R /XYZ 90 564.7723 null]
+6479 0 obj <<
+/D [6529 0 R /XYZ 90 564.772 null]
 >> endobj
-6574 0 obj <<
-/D [6565 0 R /XYZ 90 550.202 null]
+6533 0 obj <<
+/D [6529 0 R /XYZ 90 550.202 null]
 >> endobj
-5311 0 obj <<
-/D [6565 0 R /XYZ 90 376.3169 null]
+5261 0 obj <<
+/D [6529 0 R /XYZ 90 376.317 null]
 >> endobj
-6580 0 obj <<
-/D [6565 0 R /XYZ 90 361.7466 null]
+6534 0 obj <<
+/D [6529 0 R /XYZ 90 361.747 null]
 >> endobj
-5326 0 obj <<
-/D [6565 0 R /XYZ 330.8443 233.431 null]
+5276 0 obj <<
+/D [6529 0 R /XYZ 330.844 233.431 null]
 >> endobj
-6582 0 obj <<
-/D [6565 0 R /XYZ 90 216.7039 null]
+6535 0 obj <<
+/D [6529 0 R /XYZ 90 216.704 null]
 >> endobj
-6481 0 obj <<
-/D [6565 0 R /XYZ 330.8443 100.468 null]
+6433 0 obj <<
+/D [6529 0 R /XYZ 330.844 100.468 null]
 >> endobj
-6564 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+6528 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6588 0 obj <<
-/Length 1847      
+6541 0 obj <<
+/Length 1654      
 /Filter /FlateDecode
 >>
 stream
-xڽY�o����E��j�o��n��c�k��&��]:���ʒO�7���
>�H6��w{� �(�Ù߼(2��G�O�PH3.���O���		�
�_
	�t?�y/�T#-��ޯ
I���N�W�f� *�
�1�}7'x�7���9ų�|ޘU�?����ɛ���M�z�`*��]�<�=����T�ٟ˼m��G�6͜d3S-�|�2x�B�?�3��}6�E0I��?L>}����	FLgb����t��p��A9���+��nAJ%��KtB�R����A/��u	�$�ZE��E�`~�v���4U��Ֆ�ҳ�`��u�v��[������B'T���;Ks�^��9�69S��.x���r�� �&�����
: _ R�T�E�����uM�o�6�
-��YϾk�&��J�1	4��
�W+�PW��)���
Q&i< f	)8�=H�)�פ���!eJ
hs�$C\f�0yc����T���3����Eξ�S�2���v���7mr
�/E���+P
0���]�4���Tm�
����x( ��m�2C�P�#
����\��ڬ�xtYXgh��eD�7 ���~*���!�
-�'P
�Ff�{r�ڵ	R0<f���_�§��$�P�(�gP(�VJ�?x#��5��3�$��+{�����m��x,��
Q&���\�Y������u���Vp��)
��k�h��6x�_4�ֳ�Z����7o�����#?��t�6/KHY�l��1C��1�B���|��;w�Qø�N�3+YW����x5C�� �/��ɷ�3M:\X(�>�D�9S�S��հ���Y��4տH`�2qFV"|A3��
�$�'J�#�JU(� P�&�7�V����
�єyן���Zv���/�ro��W�
-���k2�Hء�V��u��z+�bLi[
��z"���Qr P܃�͛�A	L�m
-|j��М��&��6��Ar�%j�,�!��8e�ވp���Y������(�h@c��x[}N`���?��nߣ�W����uD����t�ӣ�̙��\�Y�Lj@J��F�{Mq�F��N��j _)���t�JY��X�VʾbU!���rΘ
���d���YyY�hR�.W�A�ޣ�:�3V"GC餳��`��KC��Z�����o�x�IP���ǒ�M����=���Ԓŝ~�2��v-�FBiqQ�B�n�2���/d����婖*��=$���.��`�qeg�|F�_�o��1��NBĒ��
~��K��g?a#[�dR��"������8�P<�G�����q���I�!~@ IcR�,���~�قH(
=~� ���ق��v�8%f�޺�"�<b�r=l���Ϟw��DdH�(p�:RR��j#���F/ľ�
��v��}���v�U�\<���
]��u����
ƺ.�ڢ�)^��K���&�*)�L��v
�+ƑB Z�3p�H�N� [...]
��w�q
0�C�{l�U�� �0���50�X૵�mޤ�R<�+��6G|��$#z��c*-he�H1�o��4E�
A�R0:�֪4c���j
��!Hz��pA$G|�`h
�0�}De 7"�8� ő����,q���`�/)�����\]fHA�4�UB�bY���
1�fQ�a����b��߭i~o�c��վ�D�Y�ee�6�E[5����Zbvg̡j��+(?F
-����O߾�3.X
V�O'jp�#��̛�����<==�e��U�kP�݀��
�$s��n��di�e�v�|$K�ۺ�
-/*x�uY�B�kQB���d��endstream
+x��Xێ�6}�W�(��@��]��H/�hڢ���	�M��ʒ#�q�_�!)ɒL;v[$/}�E���̙!���a�f��ltu-��HR�͖^��@$(�f
��'Q1����jL����՘b?O�VjQ��$o��x�No�d�p�2U�U^<�=��Z�'T`��4.K�x�����W�\�'A�T��7���g�w#�a�]D�&��zt�{
��aĢ�ۙUk�S��w7�}�O�E�R���!Y��6�Sx$��fN�I���m��{�m���ʵ� �_c��yVV�|��D�
���D�T+�:�+���:
;��s��|�dW�,��z�,���f50��,�@�#�"����nU�-����ݟ1��v���*�L*ǤY�,�q��y�>�'xe��]G�ɽ�9��(
+�
�UR~T
���
"Q����˰R(��	8p�1��MKd"
n�(�a��a��X�i��ю��
y�
+.7�\5o�*+h��F�,��i�
H�1�H��)�)a��'&h���j	���DgC��7Z5�p��w��W.�R�<�;`n��p�36mJ)�
�3 at H/�.�VA#��)
+�a���r���9��I$ϲ�\n�پZհˋ�1��&���TOc)�&��>ǼH�8S�<W�
m7�_ӧ�7����O�y�]�1����
+K�d�r��\�i
+��y늹@����e
+ŧ�'D�$��'�#
cF
ڍZ (�����nf\Bq ����E�V�*�0���M�i�f"�t)
+Q��l�LjV�(j'
�9O�^���T��\(I��E�F0��<�k
x͒��ۢ��ES�nUW����l^]���|�m��T�h��QO>"�e��N�=S

U����囚@��`N��
hk�g
�L
���v;d�P��C:��*:�E¶1R�%��N�s$�1tրN��5��	'�!�'�}ac���/�m�Ͷg�x!���+t6�UR���()3!���Z.�1"P�n�p�o�"Ύ��I�3P�����xT�c�,��^9���	����T0'�A�45O�4�K��]
 FZ�&7L�
�(<�&�"�z��-��?���1��A��%.7SF�Z��0@:A����D����}€2A��L#$���]z[��.έ��N�
�!)���͢�Ap�tB������x�Ǥ
E�z��
E���@����nY��$^��G��
B����A�b��8�
	���������s�B��p�{!��!���g�c����Y�[dk����l
p�i��oID��=�\�@F��'j�]Ьm�{M��Z6͂i��Qrihe鯗E�

,�y�����NE�E�jj��{B}��Y�H4��kJE��D �6��V�������Z
��=
?�ͩ34݃ċ� ���,�X$
�� 
��}i�ʑa��癋$P�[8v�ٓ�
+e{h��E�Q ���m�O�JIUց����c}�|kB���8�:�
��ǀEt;1�����$<���\P�Uh�c/��1̔V�z��m���v�G���u��p�5ζͭ����Z�*�6�t9FdS(�4=��>��wJՖZ����G&�{�)f ��3WU��^]�v;4/�6K6J�+��U�w�	�(h�l�뼹�L2�\�8��o�@
+endstream
 endobj
-6587 0 obj <<
+6540 0 obj <<
 /Type /Page
-/Contents 6588 0 R
-/Resources 6586 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6585 0 R
-/Annots [ 6598 0 R 6599 0 R ]
+/Contents 6541 0 R
+/Resources 6539 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6514 0 R
+/Annots [ 6536 0 R 6538 0 R ]
 >> endobj
-6598 0 obj <<
+6536 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 111.1305 309.1558 122.0345]
+/Rect [121.93 111.131 309.156 122.034]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-6599 0 obj <<
+6538 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6589 0 obj <<
-/D [6587 0 R /XYZ 90 757.9346 null]
+6542 0 obj <<
+/D [6540 0 R /XYZ 90 757.935 null]
 >> endobj
-6590 0 obj <<
-/D [6587 0 R /XYZ 90 733.028 null]
+6543 0 obj <<
+/D [6540 0 R /XYZ 90 733.028 null]
 >> endobj
-6523 0 obj <<
-/D [6587 0 R /XYZ 351.1081 675.8614 null]
+6476 0 obj <<
+/D [6540 0 R /XYZ 351.108 675.861 null]
 >> endobj
-6591 0 obj <<
-/D [6587 0 R /XYZ 90 659.1343 null]
+6544 0 obj <<
+/D [6540 0 R /XYZ 90 659.134 null]
 >> endobj
-6592 0 obj <<
-/D [6587 0 R /XYZ 90 567.7806 null]
+6545 0 obj <<
+/D [6540 0 R /XYZ 90 567.781 null]
 >> endobj
-6527 0 obj <<
-/D [6587 0 R /XYZ 90 545.4688 null]
+6480 0 obj <<
+/D [6540 0 R /XYZ 90 545.469 null]
 >> endobj
-6593 0 obj <<
-/D [6587 0 R /XYZ 90 545.4688 null]
+6546 0 obj <<
+/D [6540 0 R /XYZ 90 545.469 null]
 >> endobj
-6528 0 obj <<
-/D [6587 0 R /XYZ 90 496.2275 null]
+6481 0 obj <<
+/D [6540 0 R /XYZ 90 496.228 null]
 >> endobj
-6594 0 obj <<
-/D [6587 0 R /XYZ 90 481.6572 null]
+6547 0 obj <<
+/D [6540 0 R /XYZ 90 481.657 null]
 >> endobj
-6544 0 obj <<
-/D [6587 0 R /XYZ 90 434.4533 null]
+6494 0 obj <<
+/D [6540 0 R /XYZ 90 434.453 null]
 >> endobj
-6595 0 obj <<
-/D [6587 0 R /XYZ 90 419.883 null]
+6548 0 obj <<
+/D [6540 0 R /XYZ 90 419.883 null]
 >> endobj
-6545 0 obj <<
-/D [6587 0 R /XYZ 90 372.6791 null]
+6495 0 obj <<
+/D [6540 0 R /XYZ 90 372.679 null]
 >> endobj
-6596 0 obj <<
-/D [6587 0 R /XYZ 90 358.1088 null]
+6549 0 obj <<
+/D [6540 0 R /XYZ 90 358.109 null]
 >> endobj
-6546 0 obj <<
-/D [6587 0 R /XYZ 90 310.9049 null]
+6496 0 obj <<
+/D [6540 0 R /XYZ 90 310.905 null]
 >> endobj
-6597 0 obj <<
-/D [6587 0 R /XYZ 90 296.3346 null]
+6550 0 obj <<
+/D [6540 0 R /XYZ 90 296.335 null]
 >> endobj
-1538 0 obj <<
-/D [6587 0 R /XYZ 90 197.9418 null]
+1498 0 obj <<
+/D [6540 0 R /XYZ 90 197.942 null]
 >> endobj
 234 0 obj <<
-/D [6587 0 R /XYZ 90 191.3416 null]
+/D [6540 0 R /XYZ 90 191.342 null]
 >> endobj
-6586 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F11 411 0 R >>
+6539 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6602 0 obj <<
-/Length 2833      
+6582 0 obj <<
+/Length 1386      
 /Filter /FlateDecode
 >>
 stream
-x��[[o��~���Sj�d�}�ݠ�.�&��va02��(��c���
�
o3�2�.�����oΜ�͕d��Y�RB!ø\mWx� ~E��x�	��\��^��AFR����-H�%tus��5!����`��?�	���Cv�aM��q��%�+���>�Y�����rww�>/�2�����s��*���������1���5��y�����W*�����z�ɶmLK�W?��WwЦ�0bF��|��CW�+N�����t�/o�yPa,$��91�
a)X
��-�y�0ƈS��� jG����3�/v���P聞/��[�D=zT�/��`)�~�u��
3�����>*Z�ǐ�ç(
���Ź��UMB
�HT��1�
1-�4��Q
�����x<��#l�g#�@� �W y� jVF�
���SѤ�m�����_�������q
-�x��|��j�_���-��3��BDҕT
	�ɢ6F�z
1eH������mC����ٵ���b[�+G*F��|�bB@�b<,Y11��#� ����K���u؍�d�.�/b�x�<*A��K�(a��?�L ̑�tY�6b5�`��_���q_5�S+@���H�[od�g;�<��w�p��5�N�s��^V=�0�%�/o<sm����#��-4;:5xX2�C��3;���:�^��1�Aflj���F	2�N��oN�d��|O���S,v���sa��
-�{m�@	��f-�d����Xy
)�����D��
�R�.(��Kޖ�x��ձV/�b��
- ��\쟧��	�
-)��x[�
��R��K��i5��$X�� FR’bТ�Zp1�\
-�Լ�^(�\C
���2�T`�S#��?:>����S�{V����!/�0��O���&H	X�D�@	�0ǥܘ��h�S�(HƢ�l������h��b|��T �Û�o3��f�
O
-�
��}+!�
1&XJ	�!�M� 0���
� B7��(��(��
�s�q����T��g4

� €� \t��y8�$�k�8Qb�D�6"�a��?�5SP�EV>�Y��y�ք���J!.�|�����D�zX�FC��kt������
7��i���vӣyuL1�
J/֤�G%BI)��6C�d�+W�
�D�E�؈e��5+י�4�B���P*�bD�2���\��qv>CCv/Ebt�Q$Nč"

o��5��9=z8|����u<5�〆dHs)Mw��sX�1�h/C&GP�Q�Ύ�çh
��A
FBţ�b$�������o��D0҄/Z^�6b�`�����{(`2���t�̛c�ČAZ�O4��(1m�����aIQ
-
.�;�밋/��H�I�i���\�$O���<��m~�Y%u'�0�IȥэG%(P�P�E�#ݠ}�םLEE�:XR<��H�x���1�
ˢ�=u�Zg��ͷ�X��s��-�����j�U��I5R�J�mh0Y�r$�r����<�n�vboXj��$d�`�5��kD�N
Դ06��
2~��be��Z�_����������f�O��mX�lx�)8�R�D�
*�XH���zaO̟c�‡E�؈՟�5�wh�E��~�+��f�}����xH~e�Ք��9�����<(�T��'�.;X�@�,?E��e��`��*;K�]`0Vvq���B�����Svq��Ů8��p�
-�MM�w��ga`�
-+�nܧ��J���
 �O��M�K�Q�
��h <*� �Nz	?���#��Y"?����x�e��:1\�P�##7��~��b�f0��e����iƜ/-�4d�q��]K���[���9��Z<^�q8Jc���B�<���&u"ȞW��P
;�ф*zXRC�UL�u���TŮ���`1�kY���&��vIp;��2I`���C%xPL��za��Ξ�
Pә���$����(Ҍ�x
<*� ��$���	y��
]$����<:د-�/RAa7u���oY9D�k��B�R�є:XZ�1!���B�M
a��
!���}�F�q�(��vz!*��"a�A���mVL4
-�J���$��
"��J
-���XtPڈ	����� ލ]��
�ݎ�Ø+�����
{X�'��X I��zXRC�}L�u�����x��Q B����hc�O1ص
��:}
-#LI4ݡR�%E�C7��7��;T٢���FD
<,�<
V
���n!V�c�,oW ~c�r�
��
�7�$�Zf�dm��_t��H�_��+n�٭PBL�椇�+80��__�����,
-IMz�K������R���{�Ù
�$�=
�J�6I{���33�.��
ڈ���N�x=ʍt���F��Ƨ�
�v�&\�t� ��.E<`�J��78TM���s�v����7wS n5�6jP5�
-B�ل�*ֽ�	]�.�0#
-�o����c�
���89��iw�-��1�a���wť��\m�?;I��„�z�)|�?�M^
�'B#J`�N(��Y2
~~a$vg��Hk-{|���P	CkуFB����-k&L����?0��_/��ߙ��!0C��L�V��H�j��_��-(�S��
-�zQ�/��}n�	�|`""�5}�_��D�S_�*
���Zx�����BW0�P)��m<(A�ok�ʡ�����E
	Ë\�v�ҧF�ts
�@ٙ�}H’�q����Syh�R>��ӛ��K�͇���wk���̊Ǭ=j�I�՚���Q/P�35� ~ʇ/t؋$��n����]���
vL��M��%[�v`���W���۷OOOh{F���T�]��tڿ
��h���t�ƃ\:���y����ܻ�ñ��V���w~)d߷���s
zendstream
+x��Y[o�F~���))
υᒪ��&궫�����,�'*p"���a06v�$��J� 3�o��3�0ؘظ�}
��3|�;�1���
�!�Sb
'ƝI�����yml�,][�i�|�,�
�� [^\\e�dt%�E��n�y!fV�rl�
y�noă�,�"	��w=��ܷ���~�����
Rb�.r7�Y��;6&��W#�{�s�jfؔ�56n{���uQ���պJ<"/'�z
.9^�B
d3��S�
����)���Ǹ�s�&,��^H��T��l"�
�I^��B��d�:�t��ǖ@$ �}b#�h �E�
�"�,�,I�JOB?꒯H�>����w����
	�sԉq��>��l�SЮ�8
+����l\A�\$a
{��o!��c)C���%��c��lY�v�]�xqa5�f�����
�K�XD�D�|���y�ܡ�:l�_�c�<�����m���:��J��WH.
��6J��(�d�i�\Q
4�I���=@c�+���8�+'��&-�
�����
+���I��*�9�f"��KG�r.��C��R�Mn�nS��ͳ��Jh�!

b�^9
+Q�C�܎�Φ�[b���\`3�������
-B�y��5������lǯļ�
+�[SAba׮z���2����E���C��l�y�s5�O'1��[bͧ<��	�QK�M
91�;"�V��y�Q+�m5�&y-]7�Xd��n���
+���'ֹg�W��$�S�+���V@��븍�b��m���A��(��J�2l3q漠�V𤋮x aޝ��"Ȏ�oވ��뫭3��tصK>d���t�b��=8Ht���"�J�|C�5#)Ru�Gp����\d�N`-V�&@ܦ��y6��[ܗ�����ͦ�ŵ�ɉ=�
���W

��Ay��׳&��f� u�ZE�n�1��
Nf�>}W��D(�Z�1�l�������c�;Ⱥ8F�����e�ʎn\�+>��5�b�U,:
�.�]S
S}T�s\�a����6�q�ƻ
NU�GJ;�vڹ�È��s
N�E�+�꼥���:���{d�-���2I���
����P:?7oQy,$�it��.�c*{e�D�m�S�,��l�xڕ�q�(U\�M�P��֕��ԧBf{���F�E&���t��c��.{�r!����T�(,bV
�j�� /�rN)��|
�
+!��u��d����:��%�c���ֹ%�Gar�P��J,{�i�gY@=���c��,���sM��Z�u	'�����:�S���N=�;�ؘf�[�,]QJ���P"k*:���7�aR��9nE��jy��o�ҋ��5a�b~1<??�0G�$�g(*�y<�<
jF!�#�y�*�Y��j�g�<g��_�b
�
+endstream
 endobj
-6601 0 obj <<
+6581 0 obj <<
 /Type /Page
-/Contents 6602 0 R
-/Resources 6600 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6585 0 R
-/Annots [ 6605 0 R 6608 0 R 6610 0 R 6611 0 R 6613 0 R 6614 0 R 6616 0 R 6617 0 R 6619 0 R 6621 0 R 6622 0 R 6623 0 R 6625 0 R 6626 0 R 6628 0 R 6629 0 R 6630 0 R 6632 0 R 6633 0 R 6635 0 R 6636 0 R 6638 0 R 6640 0 R 6641 0 R 6642 0 R 6644 0 R 6645 0 R 6646 0 R ]
+/Contents 6582 0 R
+/Resources 6580 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6514 0 R
+/Annots [ 6537 0 R 6551 0 R 6552 0 R 6553 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 6579 0 R ]
 >> endobj
-6605 0 obj <<
+6537 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 698.2498 192.5442 708.1775]
+/Rect [135.768 698.25 192.544 708.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
 >> endobj
-6608 0 obj <<
+6551 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 616.5873 213.2966 627.4912]
+/Rect [113.91 616.587 213.297 627.491]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_6c21214d11e4dc9738dad1f72501a286) >>
 >> endobj
-6610 0 obj <<
+6552 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 577.7856 213.2966 588.6895]
+/Rect [113.91 577.786 213.297 588.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_642db539e09ba9a9746d490390097d73) >>
 >> endobj
-6611 0 obj <<
+6553 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.6338 577.7856 305.6992 588.6895]
+/Rect [240.634 577.786 305.699 588.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6613 0 obj <<
+6554 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 538.9838 213.2966 549.8878]
+/Rect [113.91 538.984 213.297 549.888]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_72f8cca084e83cace83223ea0ea42bca) >>
 >> endobj
-6614 0 obj <<
+6555 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.1123 538.9838 282.7555 549.8878]
+/Rect [217.112 538.984 282.755 549.888]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6616 0 obj <<
+6556 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 500.1821 213.2966 511.0861]
+/Rect [113.91 500.182 213.297 511.086]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_998804f094e131a7f06d05c6e9eb5f5c) >>
 >> endobj
-6617 0 obj <<
+6557 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.6338 500.1821 340.0201 511.0861]
+/Rect [240.634 500.182 340.02 511.086]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6619 0 obj <<
+6558 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 461.3804 221.0454 472.2843]
+/Rect [113.91 461.38 221.045 472.284]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8f29bc3aa01b8f5c67a3323189f9cf9e) >>
 >> endobj
-6621 0 obj <<
+6559 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 422.5787 213.2966 433.4826]
+/Rect [113.91 422.579 213.297 433.483]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6622 0 obj <<
+6560 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.0363 422.5787 264.8428 433.4826]
+/Rect [224.036 422.579 264.843 433.483]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8a0c95f43fd48c07a63db5efa3564769) >>
 >> endobj
-6623 0 obj <<
+6561 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.18 422.5787 391.5662 433.4826]
+/Rect [292.18 422.579 391.566 433.483]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6625 0 obj <<
+6562 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 383.777 179.5535 394.6809]
+/Rect [113.91 383.777 179.554 394.681]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6626 0 obj <<
+6563 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 383.777 250.6661 394.6809]
+/Rect [180.052 383.777 250.666 394.681]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_c485f37c083be7bc0238a3f5c6c112e3) >>
 >> endobj
-6628 0 obj <<
+6564 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 345.3488 155.2649 355.8792]
+/Rect [133.915 345.349 155.265 355.879]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_023dc725ab60578fb2161f06211fa023) >>
 >> endobj
-6629 0 obj <<
+6565 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 306.1735 158.0444 317.0775]
+/Rect [133.915 306.174 158.044 317.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_465d046e2570dea82e57ab6af9b179e9) >>
 >> endobj
-6630 0 obj <<
+6566 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.3815 306.1735 250.447 317.0775]
+/Rect [185.382 306.174 250.447 317.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6632 0 obj <<
+6567 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 267.3718 199.9469 278.2757]
+/Rect [133.915 267.372 199.947 278.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_2d0bc3adc78e64aafdab0dd9a292db1f) >>
 >> endobj
-6633 0 obj <<
+6568 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.7625 267.3718 268.828 278.2757]
+/Rect [203.763 267.372 268.828 278.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6635 0 obj <<
+6569 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 228.5701 199.9469 239.474]
+/Rect [133.915 228.57 199.947 239.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a2e9eec4ddeaf5dca3afa1976d36b703) >>
 >> endobj
-6636 0 obj <<
+6570 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.7625 228.5701 303.1488 239.474]
+/Rect [203.763 228.57 303.149 239.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6638 0 obj <<
+6571 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 189.7684 161.0133 200.6723]
+/Rect [134.114 189.768 161.013 200.672]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_9e847f0bfafeac6438cecb2d2114e665) >>
 >> endobj
-6640 0 obj <<
+6572 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 150.9666 195.1648 161.8706]
+/Rect [171.185 150.967 195.165 161.871]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_ce4c05e99016850c16c2bdaff5914afd) >>
 >> endobj
-6641 0 obj <<
+6573 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.4917 136.3722 224.1615 146.2774]
+/Rect [171.492 136.372 224.161 146.277]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
 >> endobj
-6642 0 obj <<
+6574 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.2151 126.0813 209.8849 135.3185]
+/Rect [157.215 126.081 209.885 135.319]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
 >> endobj
-6644 0 obj <<
+6575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 101.5796 187.5633 112.11]
+/Rect [171.185 101.58 187.563 112.11]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_bba3cc93433c6564ba34c1fdd360bde9) >>
 >> endobj
-6645 0 obj <<
+6576 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4816 86.6116 271.1514 96.5168]
+/Rect [218.482 86.612 271.151 96.517]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
 >> endobj
-6646 0 obj <<
+6579 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6603 0 obj <<
-/D [6601 0 R /XYZ 90 757.9346 null]
+6583 0 obj <<
+/D [6581 0 R /XYZ 90 757.935 null]
 >> endobj
-6604 0 obj <<
-/D [6601 0 R /XYZ 90 716.2211 null]
+6584 0 obj <<
+/D [6581 0 R /XYZ 90 716.221 null]
 >> endobj
-6606 0 obj <<
-/D [6601 0 R /XYZ 90 635.5348 null]
+6585 0 obj <<
+/D [6581 0 R /XYZ 90 635.535 null]
 >> endobj
-6607 0 obj <<
-/D [6601 0 R /XYZ 90 635.5348 null]
+6586 0 obj <<
+/D [6581 0 R /XYZ 90 635.535 null]
 >> endobj
-6609 0 obj <<
-/D [6601 0 R /XYZ 90 596.8526 null]
+6587 0 obj <<
+/D [6581 0 R /XYZ 90 596.853 null]
 >> endobj
-6612 0 obj <<
-/D [6601 0 R /XYZ 90 558.0509 null]
+6588 0 obj <<
+/D [6581 0 R /XYZ 90 558.051 null]
 >> endobj
-6615 0 obj <<
-/D [6601 0 R /XYZ 90 519.2492 null]
+6589 0 obj <<
+/D [6581 0 R /XYZ 90 519.249 null]
 >> endobj
-6618 0 obj <<
-/D [6601 0 R /XYZ 90 480.4474 null]
+6590 0 obj <<
+/D [6581 0 R /XYZ 90 480.447 null]
 >> endobj
-6620 0 obj <<
-/D [6601 0 R /XYZ 90 441.6457 null]
+6591 0 obj <<
+/D [6581 0 R /XYZ 90 441.646 null]
 >> endobj
-6624 0 obj <<
-/D [6601 0 R /XYZ 90 402.844 null]
+6592 0 obj <<
+/D [6581 0 R /XYZ 90 402.844 null]
 >> endobj
-6627 0 obj <<
-/D [6601 0 R /XYZ 90 364.0423 null]
+6593 0 obj <<
+/D [6581 0 R /XYZ 90 364.042 null]
 >> endobj
-6631 0 obj <<
-/D [6601 0 R /XYZ 90 286.4388 null]
+6594 0 obj <<
+/D [6581 0 R /XYZ 90 286.439 null]
 >> endobj
-6634 0 obj <<
-/D [6601 0 R /XYZ 90 247.6371 null]
+6595 0 obj <<
+/D [6581 0 R /XYZ 90 247.637 null]
 >> endobj
-6637 0 obj <<
-/D [6601 0 R /XYZ 90 208.8354 null]
+6596 0 obj <<
+/D [6581 0 R /XYZ 90 208.835 null]
 >> endobj
-6639 0 obj <<
-/D [6601 0 R /XYZ 90 170.0337 null]
+6597 0 obj <<
+/D [6581 0 R /XYZ 90 170.034 null]
 >> endobj
-6643 0 obj <<
-/D [6601 0 R /XYZ 90 120.273 null]
+6598 0 obj <<
+/D [6581 0 R /XYZ 90 120.273 null]
 >> endobj
-6600 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R /F101 2128 0 R >>
+6580 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6650 0 obj <<
-/Length 2886      
+6627 0 obj <<
+/Length 1518      
 /Filter /FlateDecode
 >>
 stream
-xڽ[�n�H}�W�i�V��_�y�
v�����؇���HtL�DiH*
��o5ɦ�uӖ=�rTu�ا���$

����
-��b����/���
�~���>�7o��ba��T.nnk
� A	]�l~�$Qq�$�ˏW_&�.Y}���r�}�K7E��1�\$��۷�l�z��i�T�bu�PV��jI�|�Mʲy�)�M�+�/�|�^-���T���n����MG�
�`�X�\��^l`L�_`�{x�1�.v�2�f{q}���N�E����p,�fz�d
i	�� 	�0�I
�Cl�/	EZss:�j,��
�E�`�8�|��l���Ad�_Q����G��&�Q��_گ>y� �2���z�6�.��l����C:�4B�yR��n��&se�<
��3?�V������rȒR�l� �e����˅� bp���4X��_T���
i� f���P7}5E�(J^����я�,�Oiu,�V��]ڼ��}�֯����⊋��}
�C�b����V��}�8�,�-�̀N�@s�8?_����"�
�#Z�`Q-���b�������b�瓵��p=�V���Hvi�c5r�8�4�s١" [...]
��w:G�A�C���*W��d���#�"�ޕװo͐`�?t��I�R���Rr��;x��Ȫ�0��2��`�*Ex0
(̂
j%���anB�q��Y	ͳJh�	m"k)H�R�t��ܒc��U�N���c?a]�L�ԙ��
-�
M8�� ��/�W�
`G(nb������3Joa�]~���\��
f0�k����?�����ۡb^a����~�:$��g�ڳ���Y���ҵݍ�����Rc�
��a����פ���kP~�/�*+A�4ݜ�k����X�9,-5��0:XT���0"~�0z~��7��X
�&D
|���c,Fv-��\g�js�
��#������b�a���~�H��&.?G$���H:����"�\�:Y7���n�����uZS�#�Je�6���~���
�z:4J(X��}޵�E�h�4�%�&A�+m\Pۈ��T0��U1;X\������~;�~�
-�����0��ݹ
-��Q�a{��s~_VE���,�)��I�`g�ڳR��=G��QHRX��
9˗�3a��)gl�"crv���=�!9��vr������=G�a#��š��\�[f*2|��9�n�
�>�3-���g���mT��,ŏ��u
J��_�}��
Q�������/�@�RѢ��f���v�� ��v�!�j�DL�Lq�R��rg��I�eDOkt���}��G�:����Ӿ��i����c��q�Q0�1����
*�
V��6��+��D?5��D��w�·ҿ�Y�?B�lі��9J���9C�S
,݊2�r�AW�%=]�fÕ�

��q�n�O>?���n�b��S��G4��_
��e�@��7mz����[�B���]v�ñ�v����2���
f�/p#tA!X��
�:X�us�b�y�p%$�%#8�ߩ� ���ߩ7p��z����q���qh��r�o�m9iV�
����� ID ߃�y�|Ol_�������(D�uU�g�Kw��aUf�K��(ؽ,
-�;Ĵ>���L
,�	�Q��cZ�d�j�f���C5q\A�MI�t�
*B���A�zpA��������ԏv��B
�V�p����p��2t?l��~�^Y�q��\�Z!p�����%"����\�`Rj;������
�-�;�뱛-��'K?���zL��g�y<0
R��Y/;T�ö�`bp]�������3��:-��k~��=9؜�
J�h��Z�N����x�c��RH
;5�����
����NԾ���N�������ݺ��o��� ZDЂb��=� ��
y�6�"s���1#��OZ�j�҄#ѡ"D���>ĢO�=mqJ7���������Pjr0���>9L�l	D�/��u�Uw�����ه (�H1r^=�O[%�0��kۥ��
���y�^��>
F�m+_N<0e7O�ѧ�
Hw
,��
�]įKw=�e�Q��Ph2��ɮ��8����xS��Pp�CQ����v5b�?���p=����UyH��c<"k��n��
*FZM��u���"���]v��(�F 1u�Ӌ&Z�;���u��!lΈ�"�`
��`4��l
�0Y�
�hթ�}R"LY0�K�0aR#*��SY�ۃwI�ن�k���k�c�u	�J��w�x&�
�2Y�o��|����O.��z�Q=�q:�9|���n���gU�lm�0�
b��p<
*�
҉2P���!�&�-=X$��&<�4�`�ׇ.*�T���/���� ��9� [...]
-y�C��#X�!�w�
�){��^���`��o��?։��%�[��w�}�y�2-�fw������G�)e/�Wk*-
3+P��A�c}��+�����[
������~�m��~�,��7ڑ�����:�}����
�Kt̳C�����}3J�Z���}^ë�@#.��3-�Fx�˭�LB��Ç��6�h&
-¦��A{��endstream
+x��YKs�6��W�J3
��\�L�I�L�؝
��&!
��Q�_�%�eJ�T�N>,w�ow�X`����������k�u"��w��N���'�Q�\'��!!��ј`���#��\e|r9�xX���H���7���������B�B�P����D6S���R���� �B�H8y,F� �[����뷃߮_t�iua
+\�����g�$������μ
�9
u�:W�?�ڵ�������sC' �����͍:���>��*��b�|
3�$��ȵ,�I�(��s��:��bD�p�7f��?a��G
Zq��jK������%��XB)�=ꌉ�� 4�|U�r�{5�N�`��/��F
s;�Q�a��rDذ�y�+�d�%V�t�^]W:o�?.
+=��/�♨�z4��C��Z�[�Z���(�2?�F�'��"xS�}��ד��y�T��t��lm�
	2-6�*U
3hS��`y�I�-�
v�.,�S3;��f{
+>;��n�

�q�Tc&��j  ���e��
���
�[��a\FarOE�����*v����)��m����w�:H�(
N����D䕌yjÿ���>�f.zd3�.?��!b�*7���G��f"n
+�/z�&��t+�BF���W�7)̌Z�:�+	��"y�4���Je�6�c)'I���
��JVݒ��k.
��Ηt����B�>���_�Mn��_�^�y�Uo
ԥ�h�r��ȗ
��@�B���{
ԅ�ʂ�%���Е�nM^�Uۇ�g�|J����D�#�^� ���잂�R�*�ț�K��c[�R�;��T��D����Qk���H�`���4��51\��E�]��˗=��՚`��d
��WB�i���Q/{��H�x�j"�'é�:g}>�"���=��F���.�}��#2lC
�nL�V���ԱH̛��
�`�*Yn$��[<{a��
��M����(:I]7v}�<L�
�"�k�86%~^��
�.�{*� X��v;��c���N�3#�ri딧�Wr��
+D(��\�H��$�Q�{"i��>�;ZL��G
����
+v/v��'7�J<O+����6l��Z]��D���3��R���՗�6�>w��,������n��{%T�t����
Ot�s���Lks�$�0�筛�룐�S��z���wV�;g�n8��9/{k.��i6,9}.�Y� ux�ߚ [�*cB�^�3nJ�Ȓyլ�����&��ߋU�u��M��l�����.�(��)�|t��
������.y,&��{��I�|\f���Z-F��ئ�C{jݡ�
G����

+����ކ^󔇅��e%y�$�S�`���R�6qsҷ��S>���
�u�xPT���ВE�1��u��eˢʸ}�N,ͣ=�4i�~j*Gk�{��]e�`��%�ʓ0jN
K%���h
�+ѡm���tw��
�R�b�=q�YdVU����|>G�Fu.K�duV�����_I!@J�\_�k=��	/��M�I
+��/�E;
+endstream
 endobj
-6649 0 obj <<
+6626 0 obj <<
 /Type /Page
-/Contents 6650 0 R
-/Resources 6648 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6585 0 R
-/Annots [ 6653 0 R 6654 0 R 6656 0 R 6657 0 R 6659 0 R 6660 0 R 6662 0 R 6664 0 R 6665 0 R 6666 0 R 6668 0 R 6670 0 R 6672 0 R 6673 0 R 6674 0 R 6676 0 R 6677 0 R 6679 0 R 6680 0 R 6682 0 R 6683 0 R 6686 0 R 6687 0 R 6688 0 R 6690 0 R 6691 0 R ]
+/Contents 6627 0 R
+/Resources 6625 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6514 0 R
+/Annots [ 6577 0 R 6578 0 R 6600 0 R 6601 0 R 6602 0 R 6603 0 R 6604 0 R 6605 0 R 6606 0 R 6607 0 R 6608 0 R 6609 0 R 6610 0 R 6611 0 R 6612 0 R 6613 0 R 6614 0 R 6615 0 R 6616 0 R 6617 0 R 6618 0 R 6619 0 R 6620 0 R 6621 0 R 6622 0 R 6624 0 R ]
 >> endobj
-6653 0 obj <<
+6577 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 707.0274 179.5535 717.9313]
+/Rect [113.91 707.027 179.554 717.931]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6654 0 obj <<
+6578 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 707.0274 223.8571 717.9313]
+/Rect [180.052 707.027 223.857 717.931]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a09a1ddc7936a5377e838cb44610548e) >>
 >> endobj
-6656 0 obj <<
+6600 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 668.3063 179.5535 679.2102]
+/Rect [113.91 668.306 179.554 679.21]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6657 0 obj <<
+6601 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 668.3063 248.4444 679.2102]
+/Rect [180.052 668.306 248.444 679.21]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_c53b2bea17ae404e291cbcb7033dbaf2) >>
 >> endobj
-6659 0 obj <<
+6602 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 629.5852 179.5535 640.4891]
+/Rect [113.91 629.585 179.554 640.489]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6660 0 obj <<
+6603 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 629.5852 223.558 640.4891]
+/Rect [180.052 629.585 223.558 640.489]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_102ffa79248502b4998a70fba5f13d98) >>
 >> endobj
-6662 0 obj <<
+6604 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 590.8641 178.7267 601.768]
+/Rect [134.114 590.864 178.727 601.768]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8cf170e729ac4e4576624d6ed7d4b44d) >>
 >> endobj
-6664 0 obj <<
+6605 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 552.1429 182.0442 563.0469]
+/Rect [134.114 552.143 182.044 563.047]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_494a5dcf815a292978b1864d2d7f77ae) >>
 >> endobj
-6665 0 obj <<
+6606 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.3814 552.1429 308.7676 563.0469]
+/Rect [209.381 552.143 308.768 563.047]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6666 0 obj <<
+6607 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 513.7954 150.493 524.3258]
+/Rect [134.114 513.795 150.493 524.326]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_6a5f64baba3ae5704d9645db684434d3) >>
 >> endobj
-6668 0 obj <<
+6608 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 474.7007 181.845 485.6047]
+/Rect [133.915 474.701 181.845 485.605]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_c5764ede75697ec70757c5e208945ca2) >>
 >> endobj
-6670 0 obj <<
+6609 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 435.9796 181.845 446.8835]
+/Rect [133.915 435.98 181.845 446.884]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) >>
 >> endobj
-6672 0 obj <<
+6610 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 397.2585 154.727 408.1624]
+/Rect [133.915 397.259 154.727 408.162]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_dfc60b971ed974350d241482f15f46ac) >>
 >> endobj
-6673 0 obj <<
+6611 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 358.911 176.5049 369.4413]
+/Rect [134.114 358.911 176.505 369.441]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_63fd965105d740ff7003037964ec7d10) >>
 >> endobj
-6674 0 obj <<
+6612 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 343.9832 450.9552 353.8885]
+/Rect [328.408 343.983 450.955 353.888]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) >>
 >> endobj
-6676 0 obj <<
+6613 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 308.8574 191.7178 319.7613]
+/Rect [113.91 308.857 191.718 319.761]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6677 0 obj <<
+6614 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 308.8574 288.8524 319.7613]
+/Rect [192.216 308.857 288.852 319.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1f0983add75d3a9c3663fbf925739212) >>
 >> endobj
-6679 0 obj <<
+6615 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 270.1362 191.7178 281.0402]
+/Rect [113.91 270.136 191.718 281.04]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6680 0 obj <<
+6616 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 270.1362 303.0791 281.0402]
+/Rect [192.216 270.136 303.079 281.04]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_4254da492e5eeb1c12d8d87b997cd229) >>
 >> endobj
-6682 0 obj <<
+6617 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 231.4151 156.2812 242.3191]
+/Rect [133.915 231.415 156.281 242.319]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e33c8dd37c45144bf92a6984c7706a) >>
 >> endobj
-6683 0 obj <<
+6618 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 231.4151 259.4831 242.3191]
+/Rect [160.097 231.415 259.483 242.319]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6686 0 obj <<
+6619 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 150.8457 203.0748 161.7497]
+/Rect [137.432 150.846 203.075 161.75]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6687 0 obj <<
+6620 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 150.8457 296.3242 161.7497]
+/Rect [203.573 150.846 296.324 161.75]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8530a0719104225bd022dbe9529ae527) >>
 >> endobj
-6688 0 obj <<
+6621 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 136.2916 367.0193 146.1968]
+/Rect [277.005 136.292 367.019 146.197]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6690 0 obj <<
+6622 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 112.4982 194.2975 123.0286]
+/Rect [157.437 112.498 194.297 123.029]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_62e7b71f72659356d1d732236ed5f330) >>
 >> endobj
-6691 0 obj <<
+6624 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6651 0 obj <<
-/D [6649 0 R /XYZ 90 757.9346 null]
+6628 0 obj <<
+/D [6626 0 R /XYZ 90 757.935 null]
 >> endobj
-6652 0 obj <<
-/D [6649 0 R /XYZ 90 726.0541 null]
+6629 0 obj <<
+/D [6626 0 R /XYZ 90 726.054 null]
 >> endobj
-6655 0 obj <<
-/D [6649 0 R /XYZ 90 687.333 null]
+6630 0 obj <<
+/D [6626 0 R /XYZ 90 687.333 null]
 >> endobj
-6658 0 obj <<
-/D [6649 0 R /XYZ 90 648.6119 null]
+6631 0 obj <<
+/D [6626 0 R /XYZ 90 648.612 null]
 >> endobj
-6661 0 obj <<
-/D [6649 0 R /XYZ 90 609.8908 null]
+6632 0 obj <<
+/D [6626 0 R /XYZ 90 609.891 null]
 >> endobj
-6663 0 obj <<
-/D [6649 0 R /XYZ 90 571.1697 null]
+6633 0 obj <<
+/D [6626 0 R /XYZ 90 571.17 null]
 >> endobj
-6667 0 obj <<
-/D [6649 0 R /XYZ 90 493.7274 null]
+6634 0 obj <<
+/D [6626 0 R /XYZ 90 493.727 null]
 >> endobj
-6669 0 obj <<
-/D [6649 0 R /XYZ 90 455.0063 null]
+6635 0 obj <<
+/D [6626 0 R /XYZ 90 455.006 null]
 >> endobj
-6671 0 obj <<
-/D [6649 0 R /XYZ 90 416.2852 null]
+6636 0 obj <<
+/D [6626 0 R /XYZ 90 416.285 null]
 >> endobj
-6675 0 obj <<
-/D [6649 0 R /XYZ 90 327.8841 null]
+6637 0 obj <<
+/D [6626 0 R /XYZ 90 327.884 null]
 >> endobj
-6678 0 obj <<
-/D [6649 0 R /XYZ 90 289.163 null]
+6638 0 obj <<
+/D [6626 0 R /XYZ 90 289.163 null]
 >> endobj
-6681 0 obj <<
-/D [6649 0 R /XYZ 90 250.4419 null]
+6639 0 obj <<
+/D [6626 0 R /XYZ 90 250.442 null]
 >> endobj
-6684 0 obj <<
-/D [6649 0 R /XYZ 90 169.753 null]
+6640 0 obj <<
+/D [6626 0 R /XYZ 90 169.753 null]
 >> endobj
-6685 0 obj <<
-/D [6649 0 R /XYZ 90 169.753 null]
+6641 0 obj <<
+/D [6626 0 R /XYZ 90 169.753 null]
 >> endobj
-6689 0 obj <<
-/D [6649 0 R /XYZ 90 131.1513 null]
+6642 0 obj <<
+/D [6626 0 R /XYZ 90 131.151 null]
 >> endobj
-6648 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F100 2135 0 R >>
+6625 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6694 0 obj <<
-/Length 2937      
+6659 0 obj <<
+/Length 2032      
 /Filter /FlateDecode
 >>
 stream
-xڵZYs��~ׯ�ӆL�ٹ0�b?8�w+���*Ƀ�RA$$�! W+���\��K���ht��7HV����+�H����
-�
���+�o��6&�����w"Yi���{�A�PBW7�ք �l�c��~C�:����������1�W��_�*�����W���}VdUڔ����Ɏ�-M���CZ���Cv�U��Y��6[��
-���滫ooZ�~/	�@����j{��
-#�U�z�FDk�:^q���p���-���0��x�8Rޜ�e���:Kh�3��L�UKf4�
-���`x�&l3
Hl����4�+�n�&�9U���8����0��O�!F�
�ZM`L����
p(���|A�jI�ƨ�\'<��
�B""�Jbe��1�D���{�qX�#l�j�$_)�%��E5�R��(��݆'�ܩ�;F󘹋�q4�Xh�(�
0
x	��z�܅�jN̽%[4��ጹ/�
�ޑ���,�f ™��@L�z�_�3�k���
$�h�8#�zi��P �S] oB%3

Ƥ
Z�%��F�/YU������74�Hԃ�E��d^-��-8�=�\�}!@Ú���~�c��[2��C֜����u^<
��,�2ʞ`�M�@��eqx
��{��v5}��~a
C�];ߐdml����5w�2/�����	,fO`�R- 
r3��gHR�9���hW��$q��ʳb_�T83$�ؚ��\(dˡxNb��嶡8�{W���\� B��ɝ���~	���AP�\�����Q™X��Z�� �Al��
�}4QH�J2�R%��
0�|_���]r^
�hP��.�7�?����5�/UIK��e���*�\"���IK� �%%�)�y.%
-����Q�c&�dq>X�dDϠ�b� !���Ι#�f�9֞(�wǞ�(Y�+x4�TP���?��HP�=�a;dB$4����y�I�ar��n��
-(!��d� �FR�We���h�H8쁱ğ�!m2��w�b��e8���A� `����Bi�6m�Q��i�/��?<f�;H���>�Bc�
-0�C*�+&��X-�bƚ�x�X
rC��ȭ���uY7U��J��0qP/��˜N`�~	Ѐo���IC�����$��_
�
M 'I=���j
�%T��e�kDg�l��P�K�b��
�|_
�	�y�,���Z �N���桞
�\a���P�	�-����ss:{�7���
!d�d��dU���3�H��Ka#�-����\ؘ�ۆ�X��X
B8�D�dONJ@��b���';�=

&��2��@�$[*�@���<��0E�ċw�
��[˵�����Ic����SK���C�G�T�(M�>�%�x����K |�Դ5�`gߠ�
 ��$q�_�C
-՛$��ЏQ�ƓN���d#I'��bh$Z��Ɋ�*�F<�i 3�>��]#E-�%��mʬ�����
-q�Ba:
�ᰨP�Uیx���L�0�A���&k��*�o�zW�'S(�դ��W�yV�{��1
�ͽ
bJv��U��2����Oٮ����r4sÎ͇Q	��i�q�n���Q��o�ƢR���ǿ���
u!��&P- �
-��
��v:Iݟ�|�/�7�o�Z�C!�Y�(C��38�M^gM��;����=�N<�G��sj>qJL!�U.���&�c"O��_��Oi8�!HH�zX���P�D��?y�Y�c�>�Uz̚����\�
ڲcT[I�
�)���cV�GyQgU�f�����:/<+G�,���O�.�F<�Ω��cVԶ�4;�M#���ܔ�Զ˶�7��?�k׬A]����4�
�gҁ
-,T��	�%VĢ������u9x	4�n}2I
ӝ��%vo��3�m&� 61�.��ֶ	�A��5��|��r똥E�.���
p
a�ne�͎���s�28�W��ϋ����"m��C��Р[�E�ݘ;4k+�@��׊kh�j�*%-Z�ן
\Yt���ࢵE�Y���O}>��`|�
#�]������y�d�{���U�v
:=�o*���4��-���i��MZ���y��>�(	������5e
�L��"�L���]<�����O����;Pf��sz<
‡��7l�_C =C.�
y>�mi��w��(�S�D\AF��:X�������HI!���&a���݃8��Ci�?�����j��6�Ʌ�H<u
v�q!w��\I�%&����J).\
�y�m�
ן��OWF�aW|�֔����cFFd�$��
F ��T��LA���'�0e��ىS%��߬��� ��%3n\�Ţ��Q�1H���?
�_��/ٸ�?��cj��O�݈ąu����f�֎�P�e�3ι�1vP(�*���܃3�
-��_��
T6J��i�du�.�RMȌ��ex���y����L��8�a���7+��%Snnm�~
	��BG���8��lڛ�(���Лb�ojɦ�`�.��K=���3F�&-��0���߹?v� B5�t�1ALsW���>�H*��n���Ξޠ�d�{
GH��]�a
+�<��1T�w�	ʮ�0vA���.T�7%p�S3��]YUY}*�g`K`�úp�P`[�C��[9|}��ҳ�۷
��w
�~L=��s�ܼ
/|�6��Mئ�r}�Q�W���j�
�{�7k��,�2��.��4e�
�Xf�2=��"��=�Sh S�&��}G��*�v̺*��,7���p��<��4�?�(��!/�
���
�����e���Jb�����N �ꗐ��]`�3ʾ�D�
�v��a��~d��M�f�$k�鿦�9�%�qg�CUݖj ������e�\"�� ��p���O��m�F]����=?6����ۧ�'��ѹ�Oʛ�����`�h27��1spۖh���y��������;����
�i����	����ԥ+Bendstream
+xڵX�s�~�_���j+��o��C��n�6m�sۇK�����"�:��볋]R�L错܌=��bw���ޓxo��zwu�&��Bi�zw�^xY*EJ����R�0Y,e��
��ݨ��a�7��Z�����yhU�rs�5��[]�VuM{���vz�X�I�U)kix�u�����^,�
�a*?�}{�����Wl
<�lI2�E���\��1�Jx����Ƚ���xq�o彻��U�~c��`�
RG����҄��!q�~��~��öS�Y���˦d9��}bCo�
+��!�ZU�}���&��ɻ���Mz9��hh�4���E�d�E����s0����
+,f5v��b�o�����P���v��0����|v^�/�m�K����f&p
+� ���۵�q@���*�55OG`� t�� @�^.��B&>���|��$�����YG�@q³I�.�B���#!eʀi��K;Y~��
a|
MS����҉�ũ��]����O�ȗ�K�
�'IG��P���ڝ&���H@���#���r47�W���3�é����
r�
���Jd"�b0�儒A@��(�9gL�k(��
�2�P��)fou�:���ի�4}@'�
 ������g��>�U7�凪�A��ˍ�<@��c��x��C�$"�U��榱]����.�rQ�I���Á}���L�D��,�c��)2��^�2�"q\Ls�_�n���`�%r!��?]K�xG�a��v�h��X�{�Q>�
	S„�R�4�	���6&I:���@���-E�p��6
~[I�c�Y���~�ze���Ԭ�V֣�!��)�G�c�E���„�H�
+�8���j���˫��|��5[,�KN����55h�d?Aly����١�~	�"�
+�y�I�:
?�oN\8rw(r�a����\����þ�F��P7�T�Fh�CEz6��3VwS�
<F�q�]����V�;��z�
+� ��X�Z;C��ߪVmt�[K�Q��
�rK, �����镩�n;�u���<�MͪH�"��٭Z鉷�m@�tm]
[���&���u�F�n�:�+�Y�} `zʽ
�TU���LL��Dx����֥v��H�ͫE9z�


$���7�4D�)�B$��`� �
NrQ���f�&!Ï6Z�

��~{sIP�ú��z��^X3�
-�7��ڕ�&��וVv�YS�
���
��1G%O}�օ*Ϝ���g#�=�`0`6�w���Rя�m�M:\�[�p�4����`E}�IiZ�
��!�ռS㌘�Ƀ>�
���gi�X�y�^d����"�o�U8؎�Va��6۪������Pv��(����֨�j�MF
(�D�'GxRñ#�sxr'ʳ��Q���q^9�Y6Uՠ�{{s�k%���,��b$�bl���$���^,SȶgĆ�+��?�L��d�yr�=�+�\�Y�:\"y�o��y�}�p���pwԾ�Q 
̣j~S��>h����b�P�h���}�#�SN��8U�:H���!�a
���n�r �z6l�o�I|��h]���T�ik���"qrD�P��U�{�����Q10�[�D^
+H�ۈ���"�"�JV�8
I]���\QL at x�����!��
+j�6���x�8y�e�G�=	[%	�HD��G�&Y
z�ǎ��>����a&!*�h�9��u����C�u�z
�g��2�\��f5�lҿ���i[m�
~cq�e���}�µ��$��J��Vꖬy����k��jVMb9ߧ�s �r��q��w�

+<=�O���}c�`Neשh4?;x�2M/;�fI�L�ӌ�徧��	�*��V P8�@N��Q���n��������_Ӛ'SO��რ�x�ʮ���8��?d�p����߱��ևL	&G<*���p��i��)_�h����$����T�Sܙ1#)Z;��@H�۶ZFL�#�	����mr��^?�;����!~�ȇ�]w����z�ߋ���l[a���~�YZ$\&���c��k6M�vM
�J7�8>�_FuZ
+endstream
 endobj
-6693 0 obj <<
+6658 0 obj <<
 /Type /Page
-/Contents 6694 0 R
-/Resources 6692 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6585 0 R
-/Annots [ 6697 0 R 6699 0 R 6700 0 R 6701 0 R 6703 0 R 6704 0 R 6705 0 R 6707 0 R 6708 0 R 6709 0 R 6710 0 R 6711 0 R 6712 0 R 6714 0 R 6715 0 R 6716 0 R ]
+/Contents 6659 0 R
+/Resources 6657 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6514 0 R
+/Annots [ 6623 0 R 6643 0 R 6644 0 R 6645 0 R 6646 0 R 6647 0 R 6648 0 R 6649 0 R 6650 0 R 6651 0 R 6652 0 R 6653 0 R 6665 0 R 6654 0 R 6655 0 R 6656 0 R ]
 >> endobj
-6697 0 obj <<
+6623 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 720.2859 188.7586 730.8162]
+/Rect [157.437 720.286 188.759 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_864a52992178820135a7ae3a75e65377) >>
 >> endobj
-6699 0 obj <<
+6643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 681.141 260.3394 692.045]
+/Rect [160.953 681.141 260.339 692.045]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6700 0 obj <<
+6644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.079 681.141 333.1458 692.045]
+/Rect [271.079 681.141 333.146 692.045]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_90e26e60ccfbe3c6ab8d91b5bf06dab5) >>
 >> endobj
-6701 0 obj <<
+6645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.9649 666.5619 419.4269 676.4671]
+/Rect [290.965 666.562 419.427 676.467]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6) >>
 >> endobj
-6703 0 obj <<
+6646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 600.499 180.5399 611.403]
+/Rect [134.114 600.499 180.54 611.403]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_e64d3d01d4baab5102f00046f941188f) >>
 >> endobj
-6704 0 obj <<
+6647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 600.499 307.2633 611.403]
+/Rect [207.877 600.499 307.263 611.403]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6705 0 obj <<
+6648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.9964 600.499 448.3827 611.403]
+/Rect [348.996 600.499 448.383 611.403]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6707 0 obj <<
+6649 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 492.703 226.0342 503.607]
+/Rect [175.349 492.703 226.034 503.607]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_8e247a33c9eb40439c706a98c5d363d0) >>
 >> endobj
-6708 0 obj <<
+6650 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 492.703 420.5622 503.607]
+/Rect [321.176 492.703 420.562 503.607]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6709 0 obj <<
+6651 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.3255 453.9318 166.6915 464.8358]
+/Rect [144.325 453.932 166.691 464.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_d85c523fefc56e289bd9fdf878bb339a) >>
 >> endobj
-6710 0 obj <<
+6652 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.9173 453.9318 391.386 464.8358]
+/Rect [180.917 453.932 391.386 464.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6711 0 obj <<
+6653 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 453.9318 513.9963 464.8358]
+/Rect [433.021 453.932 513.996 464.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6712 0 obj <<
+6665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 441.9767 248.7133 452.8806]
+/Rect [113.91 441.977 248.713 452.881]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6714 0 obj <<
+6654 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.2428 341.9846 281.6291 352.8885]
+/Rect [182.243 341.985 281.629 352.889]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6715 0 obj <<
+6655 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.6092 330.0294 202.6746 340.9333]
+/Rect [137.609 330.029 202.675 340.933]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6716 0 obj <<
+6656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6695 0 obj <<
-/D [6693 0 R /XYZ 90 757.9346 null]
+6660 0 obj <<
+/D [6658 0 R /XYZ 90 757.935 null]
 >> endobj
-6696 0 obj <<
-/D [6693 0 R /XYZ 90 733.028 null]
+6661 0 obj <<
+/D [6658 0 R /XYZ 90 733.028 null]
 >> endobj
-6698 0 obj <<
-/D [6693 0 R /XYZ 90 700.1928 null]
+6662 0 obj <<
+/D [6658 0 R /XYZ 90 700.193 null]
 >> endobj
-6702 0 obj <<
-/D [6693 0 R /XYZ 90 619.4313 null]
+6663 0 obj <<
+/D [6658 0 R /XYZ 90 619.431 null]
 >> endobj
-6706 0 obj <<
-/D [6693 0 R /XYZ 90 538.7893 null]
+6664 0 obj <<
+/D [6658 0 R /XYZ 90 538.789 null]
 >> endobj
-6713 0 obj <<
-/D [6693 0 R /XYZ 90 404.7355 null]
+6666 0 obj <<
+/D [6658 0 R /XYZ 90 404.736 null]
 >> endobj
-6692 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F11 411 0 R /F33 481 0 R /F7 526 0 R >>
+6657 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F31 472 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6722 0 obj <<
-/Length 2492      
+6673 0 obj <<
+/Length 2223      
 /Filter /FlateDecode
 >>
 stream
-x��Z[�۶~�_��J���
�=}h:I��e�x��d<�%�eK�
-Iy���W�"%+v�x���C88888�΅"	�?��8QB��q�<�op���on����fL������R$)J%����r�	Jhr���"Q�����5����go�[S�j���"o�7/�۬}~����|S�E��M���s����
-��K�u�k~_l�vM���FihRI�?�}{��]��E0I��?���Nr�ӷ7�T��	^0"iJ��
�,�T7�o���;aI%�`D��Ɇq�%LQͨ	�H1JA��!,ԨP��Ĩ���R2�dF���uW���X�Q֡)k������XX$�����
�HiJ�Q���F©|�
������O�e��e�o�td�5��Ö)A�ae�.푙S�Yh�徨����g�Ȏ}����!��gߕ��V��p���'�6Uլ�X=���u=4�l���
��.��V�53��C��Ԋ���Dj�x��5�
�1���d��x/�I�DM���zÈ ��}�u=h�1�*����p��,w�,�
ߴj5���p��³
-,�
4�*

"�]C��ŏ�:���C����㇬�(*�z3HawK�h�Lc�1�{�
��4c�d���ju�t�(�P*�ô��m���s�g�8�cE�4p�gy"!,/D z5����1nܞ��Q��bză!I<^�9"*&+�:6#2��@?#
���/��|1P)X2�2�*�-S6Y
��a
t,������/ݰ@���|
��U��D�Dh��&d���͘j���1
���dv��e�C�
��=���'1`b+�7k���`6n���
�{�
-Dz�
vcjP�tw!0�v�u�]���m����y�k@�>���
c ����H�Ĝ�s)
L� ~�� nc֠��i�#�w^��HE.��hP��ؽ
-<�޵��;C'l��.x�����+F��-��c
r[T@
-";I��(�}R�éG2��q����%�� i�y���AXE(	��/B
G��� oD���G�9����]H#<(��`(�&��O�"��BX���$�d#��7��W�[2�=�=V<��s�F͓�)�d����h�$HN�:�
�_��Hf?� ��u���� %s�7!þ�ּ,E�>(ҿ
��݀3g`)g����%�pcZ^�7c�����p�S����������3`��D���@y�o�
-�'�F2�
�
��g�����~�F�$�k�c���-��uK��
E�ԛ�ŧ.�ş�m9
ܖq8�
����"�7-���i���ضc��2�]X���8���3q%
��/�@$�x���!�`��7�o+/�
q�ADC%e�qnLu
�X
-TD�9��W����՘	��s��H��3D ����˾��^g�9\q�.6��.�5��%�'�6��)FL������ծ2��9��b�
^�V�"��'�A����
 � �ߖ��p�`崎�.��?��pc~�*,��)ടiK���6����:?������
YmjO�P�$m�^vn���
 d-�6�=�����$��6��]ga
$�i��Z:��a7��.%�،*
���q����N\��޼ �ږ�ܫ��s
�m�?Yf�3�¥��9��E� �
�#�c���2 ��E(|���	��
ؐ%>�f
�0�3̄��1&��"������A\�8e��U����Z���
-�?��M�,�y������w�(Lp'ͅ:+�
Y��׬����=�Zbv�ğА�� ����à1��0�R���j
��`{q�dg,�A�lH��<�S���tO�
L�!�S>݃�$�S'鞡�=O��-�:��䘦�ʦ�

4fs�v7)B���4X�E�DΫ;���iN��i9/���
,|�<�h��4ԩ�d6�?��u(���By�|g�D��>g�5��>�hzDI�(�W��1�?�~m?O~���ϓv������"���+n��Σ�q�Bb��I8�7�����N�]�Hf���a	5�`—�R
8��n��w�ʠwZ�Jm:b��$�������[1���v����`
�P��D#
��ņty�u�|&�f
-�ﲇ~�u��dL��$1&�R�C61"�]�MUM�͢��-��t��������L0�
-w;�^8�n�ʳ^��b� z
-(X�|,�fUQ/m�s�t׫:.�T
r
����?��+鳲��+�7�
�\!0:�
O���h�]Y�1�S���o,��M�}Q��+Q����Ex�7����u
(����Y�Θ$�}�,�ˏu�Y�#~��@
?��V��
'Rȏ�ݏ����p��ɗ��ጄba�$���k���{��vr/��k���+���c8�E����8��S3�A�ĀW���T5`!+H�'
-r��MB�o�>��hF�r�ng|͞��������	=t�X������Pݞ��
�r�^:�M$��2�<�m��Od�#�7C5:���>3!Aؒ(���zfendstream
+x��YYs�6~����J��A�k6[��f7�$�<%�)Z�d&��������E��%�g&�>��h4���ݠ�:���/��D��4�Qp�
+R�#���.~�1F��/�t�ݜ�Y�l����9���Ӄʛ�����&k�nn^7E����T�uu���S۩�|�%������4P+��Y2S�R�qM
��/w__}yw���h�4/2&���rs��/4ȡ���&�^��!�_o�����\�sN�$�)�s2
'A��0��nIQ���~����0ۺ��E�F%�T
,�f�gz$$qƒ����"�}n��r�+e��O�'��-�_%過,L�
�fśBK�n3�̋��ڢ����d���d]�����v��@a�+��=ة��,�9��}Q�Mײ��`}�e���ƶ�
+W�Բ��
+
kf����ś�D'rZ����T�.������T�`N\uM�v 
!��X��2�YnY�+�����H��\�,)Gb��U���QD{7������)�!�2�[�
�f
(S�v���B
�?�H(	i*��z,��$B�	�c�j�.D�.bI�l��Ի���
+��
��p�㞲W�C�^Fn��1���<q�Z�fN
D`M"q4d H�,�wf��R)�\�,nf�CvRW���x���t��)�
v"��HZ�����-P�z�zf�8\<D��3��sE +`~�Ѯ��/�Ͷ���G����� ���7�;mgT
tY���=�Ѯ(��|g��g�����^�����ZG�iT�����E���no���m�:���5�'�~��B�CoҚ��ZW�S
;�-E�i/fI�{�������:�*Z
��Y续C�hWO
�����N���Q%L�
�C��@+��Ŝ�3:��#01!4�b
+�H��5��p7�>�5c�i� �f�![�	1��
�Ld:�@*v�d���p�l`�H�Ȋ�ݠQ'3�W��X��I�9
C
6
���)�$	���"��2%,f�{&�D�Z��N: �h
+�VܨN5�1��k�]�C�CkU��l�~1d�A1�3���!���'�Y�
�!D3�
0�� �a$3�
��KC(�
��ml�B��,U�[z�!~ð�o<ጪ��FX
Yu|7`��;"��d��փd� Y��1�� 
�
�]�^�nA.���7gM�}b
+z6�8�g"!p��9n&κىLm��y���P�g A�������/ �\�v�I��遹����S�Q�O�ߙ�hԩ+X�<;u�ˬ2
�.�֘���kc+k�$
�玷��T�

(���wH	���H���Lg�֝2cv�R
� ͮ�y����:D�	����tՕ
3	��Va�.�m
��5k��f
x�'�i+d���$�!)}�	�U��b��Id�1���x\��@Q�-Bc|�e�

���)
?�r�K�9i
�USoF��|�kc�8�iM��rY���>p\�Q5�L.�1�~�
� B�{2l���[]�
Ɛ
�S�
���ҟ��
���:;~OV�
+蘞�����~D^/16m5��E��$�.Bl�ݰs��B� �a�
�o
!L%
��!:L��!��D<Jb�4�I�u�
���x�4��ҴW 6�MÐ��p|
�X'���	|�dP�9J�JLY(_�9ΪO!��m�哔����$�勯O� c����C&��L���SQMTD%��HOM�����zhBI�������cf;��|�}�lg ����#�z
@1X�;�
�oΡ���Pi�����qt <�M�S��f̭�L�v}�
�
R
�b�]d#D�#D=``K�\����
Um��@��:����/�p��זP��z�B z̖��+��;��e��pc��[�c�����:
��FuMa�]��o ���H晃��
��UiIO�ϩ �y���RUS�!��+h��4���5��`	��y`¼|�YQf�%$.�1x�0M���[5!d6ź�
�� �+�}�
��aϽR��`׍Nc^��M��M'�]���fS���|�-!a�<g�\���L�
�[�n9
��o�Qޙ\����A'=�	�%����9_��|����ͧ}�7?���c [...]
+endstream
 endobj
-6721 0 obj <<
+6672 0 obj <<
 /Type /Page
-/Contents 6722 0 R
-/Resources 6720 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6585 0 R
-/Annots [ 6724 0 R ]
+/Contents 6673 0 R
+/Resources 6671 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6675 0 R
+/Annots [ 6670 0 R ]
 >> endobj
-6724 0 obj <<
+6670 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6723 0 obj <<
-/D [6721 0 R /XYZ 90 757.9346 null]
+6674 0 obj <<
+/D [6672 0 R /XYZ 90 757.935 null]
 >> endobj
-6720 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F8 523 0 R /F7 526 0 R /F25 344 0 R /F33 481 0 R /F1 573 0 R /F74 478 0 R >>
+6671 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F8 504 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F1 542 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6727 0 obj <<
-/Length 2263      
+6683 0 obj <<
+/Length 1952      
 /Filter /FlateDecode
 >>
 stream
-xڭYYo�F~ׯ�!;2��!y�z׆Nd��5
�Ӓ�p�Y�Y��[�>��pF�l�𨮮��"Y`�#
�J(d��|s�����	�W�~5$�����K)I����� 	�������D���`�����̚M���s��u�pg�M��M�ɚ���WM����V�ɺ�������|E^�(����W��6�D/m����pI%=�p��ٿ����,�I�D����x��3�t�3Z,��#b
]l�8e�<{w�[��_�
�T"{�N(CX
-��	�A+���'8O���*�w�����V]�?����+��
!X��\k��>Sߗ�E�ڦ뙐���y]�]`گYEi@#�7ub����\�4j�	g��t
n=�HW

��7�4�Şf%)8�����{���.RT]��s�0�&q�,H��I���T"�I����y�u�~�w�����M�9��pD�0c��6�(%�w�yc���n'[U��GE9�m���������
-$��k�F�iA�I�UT2�J���
JO	����"�9'�f����/����6k����p�
�9Y���U��
��g

��
-θkl�u�md2����C�aL��'|��@2�Su�J�h�M�4X���FQ�70�1�$}�����tIa�4�I�@�f���>�u�ynz��_�rO�B�U^5���G_�����k��Mb��ιK�T��EV�̑E�i!�`fCb�͕�vM��h�1Hr*yA��G2����)!(��B%��ա7
-��6�	��Od���Q����v�b퟾)*�
��@^��w�D2���W�uP�\���~7�w���&��kB�x
����a���
4W����W�}Y
���o_���m�L��#�L��DPB
�
Ӆ��$���P�j5$;�[�K'Y�1v�b�-��
v����7b*�8'�DPF��:#�jH?#��	`&��@o"'�2/A'�LT��w��h��*��iN��
�9ş��6/��e�9c)֧��[ k;p���aKq"��*��v�$
i�
-�10ʼnAR;8'�=���/�$��4�h$H*(�l�gJE`��=Y����������ƶ	��Ϝ���׻�we���p� `e <��H�G�8Q���3n2�ً��i��l��j�X��P�@�T�F������$�8p�9)הS�h����p�ڮ�C/�.��
-��AX9%Y����(T-) �@��D�dù֏���c%owyn��fW~7���<���v�1D5S:"��Ss_�6"_��b��ۋ+�Y瘚�r��r�uM��?�6�&��w�yXGBo�
Y���7)\�u��T�)8��S�JƠ�X�˃^�$�
|���
-(ã����2Dӱ��|��v�qDH0l}�ũ���{����w��@lu6A�#'�

-�ѧ�<��*ph���RN	�����!��R���^)

z�����۳Ji,�/��V�`��s\�2K��\���H(��,���?�{=�n���P�j�S���Xa??6π`��.On}��={�*M�8
f��
��Q� M�D�oz[|���D"�3M�'� ��32|J�6������%�����!5ڎ���%@$R�2��a��+��y?d�^���$���A=��Q={B�2��ɨ�￟�a:*�
� �Lv;�0ȣLb�T\	NmH�?=�#Qtl?" wR
��vnG����+G$;��o|&�pjt������}� B,g �i
-W�f
-��N��	���{�AI�D�̷s�p�?\
�w-�v��"�`����
 �����	t��0r�k*M��sc9?�RnN�+�o�QD��0U�e��g:�$ࢵn��j��/���?�O!�|����4�x�T��cwh���}�uW���~�p�悅A�����)%��
z�8ې�?�� ���af�.b�K �+զq���A�*�8D�mm
��L�B��>?�����
�A�1p$� ��)�:b���xY��v
����Z����d
a�1&���һ}��nZY�˙a@� �
��7$�������'��j��@���Y��;&�����f0��Ѿ�m���fN��`����J!���/���$t�Đ���
-��K_b�
	���a�6�������?\�	��KV�r?�ӱ��1y���C���کj
b�
-�HA���x����i�j���T��
�ug��������=�[���m����vqЕh��K�0�*
�2�<Ӯd>�%ܦN�����>(�T
�)wF��B�(endstream
+x��X�n�F}�W}H%�Z�<�i$M�4v�'0hre�H���_��
W$MɎч��rwv�̙3��� �?�/N^I�(�T� �A(	��Yp�$Q�Z�����e�l�ˏ+��Uqw��&�|�_5Iswz��ɳ�תTM�U���]۩�jM^�,������F5+-U���:��J��r�v�����p@�-"D!A�]\|�A���8
+nͨm�)��"8[���G�E�R
�����{����y�ve��Ui�~���V�]b
��0��r�x<�7���IU��-��}vz���j:3	Y~��U�vnR�ͺ�,��ۖ��Z�L�9y��'���s��|pmG�|�Q
�~ �M��c֒H�
"I�
���œ�]e?���C�9�ώ��@
�����
�D
�A�]4�j��;{Wm�w��ŵw��5c�(���V(�~��.�F%m^^O�*w{H�v�u���Y�jS��ܐR�Le��|!�b�d�7�9��������E
r
/��X����>��&٪�7
vT�㫲p
N�bf������kT�iҹ������u7�I�y�� G���ξ��Y��"n0>Ȱo�
+/
>
^h&/5� ,8X|���s�UU֎�rχ_���vL���*�c&f�1��Q�P�&ّ�+���
+00Oʞ4�
0-n
A�}2L����]S�3�f
�-�hv� y
���)!2}z�K��>G<��#�|
Ei�,t�)��>}��*Ձ�*Io�#Hb���_����r�>���v59XM�a[��kW�?�^fؠ�@-�ry��ylA���(�0�ۺP�ª�F~�T�c6\
��LO�ǜ�������'gTҦy~YT��c�Lf�]e��J�v���͉@��ngv�P��J6'1��#:���2�M��@�� r�����=s٢B�/�^�yc/U7��*�<�.H��uSe��  �X�:3�mk��
+�.|��
+&�l5�����
�hU��V�Q����_�8F8
'I��U��h ��0�f�4(D�Ǐഽ 깷ݥ�j�ͮ�afb`2�=p6I���
�1pt����UJ
�Fg��n���oD
�Dl�M�&�jQ�^���;'�`���:1�?d=չ�6�p�V�n[����̎> n
蘓c��u9
ʾ؋"�7/�.�
m���PL�q���>�T;ֆ=�E�i��Hvw���z{��'`�S��
�8����ǂ�#4
2-��[�9�U��2s.yѻ�*o�?�?W%b�ǵ���s}
�7��P�
��؟��(|=Ю�>%��{˭���+B�)
+u�"�nviN���3�Qo�����
S�(ߠ�xğĉ>���L��g�AK��@[5�|���%�f�wN�+�<��iR̷�G�l�`���K
N�Ā?�Qjg'dh�������ZKP9�=>��}��0����HǤ��f�th9"@�P���#	� ��j��%�/Gz#7�î�w��^�~!��
�M���
sǀ��5;d� �3�N�2��p���$�K���^�p���^��%�Zn�Z�e��2��&�� 9�
+r��1�Uq|_6~Ú.\�������7UQ�t�E��I�.��cf��
W�^�s�E�=�p�ҵ?Q����6��79��#Y=�\�0H��HSnH��1r�!������ۏ�g
"cd¨O�K~�cY���A�4�Lg�J{�7���Ļ�P��܌�b�
S�E0A�����w�H�X�U�Ӻ�@+ݟ�ߚ�#y9jc�����"�kK}S�ӱ
����[@���W>S*&bm- �u]���ћ�Y���\~�Q�9�GJH:0�
�k�|�./4�m@{�Pho~oU�fd��I�K��i��z*hD��1"��0
3�ȝ)�vj��g�_��08�M�5������ӓ���[��hW�u����w2��d��:�h�`�V^L��pk ��A��
�4
+endstream
 endobj
-6726 0 obj <<
+6682 0 obj <<
 /Type /Page
-/Contents 6727 0 R
-/Resources 6725 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6743 0 R
-/Annots [ 6732 0 R 6733 0 R 6734 0 R 6736 0 R 6737 0 R 6742 0 R ]
+/Contents 6683 0 R
+/Resources 6681 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6675 0 R
+/Annots [ 6676 0 R 6688 0 R 6677 0 R 6678 0 R 6679 0 R 6680 0 R ]
 >> endobj
-6732 0 obj <<
+6676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.4435 568.9607 513.9963 579.8646]
+/Rect [485.444 568.961 513.996 579.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6733 0 obj <<
+6688 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 559.0628 130.8265 567.9094]
+/Rect [89.004 559.063 130.826 567.909]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6734 0 obj <<
+6677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4448 539.3811 363.6708 550.285]
+/Rect [176.445 539.381 363.671 550.285]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_6b57cf93153051d3aa63c33e34ee4127) >>
 >> endobj
-6736 0 obj <<
+6678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.8035 477.6069 445.2567 488.5108]
+/Rect [310.804 477.607 445.257 488.511]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) >>
 >> endobj
-6737 0 obj <<
+6679 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4448 418.4478 363.6708 429.3518]
+/Rect [176.445 418.448 363.671 429.352]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_37abf9e26c109cf608ec7829284883ec) >>
 >> endobj
-6742 0 obj <<
+6680 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6728 0 obj <<
-/D [6726 0 R /XYZ 90 757.9346 null]
+6684 0 obj <<
+/D [6682 0 R /XYZ 90 757.935 null]
 >> endobj
-6729 0 obj <<
-/D [6726 0 R /XYZ 90 733.028 null]
+6685 0 obj <<
+/D [6682 0 R /XYZ 90 733.028 null]
 >> endobj
-6647 0 obj <<
-/D [6726 0 R /XYZ 90 716.2211 null]
+6599 0 obj <<
+/D [6682 0 R /XYZ 90 716.221 null]
 >> endobj
-6730 0 obj <<
-/D [6726 0 R /XYZ 90 716.2211 null]
+6686 0 obj <<
+/D [6682 0 R /XYZ 90 716.221 null]
 >> endobj
-5466 0 obj <<
-/D [6726 0 R /XYZ 195.6329 639.5572 null]
+5416 0 obj <<
+/D [6682 0 R /XYZ 195.633 639.557 null]
 >> endobj
-6731 0 obj <<
-/D [6726 0 R /XYZ 90 622.83 null]
+6687 0 obj <<
+/D [6682 0 R /XYZ 90 622.83 null]
 >> endobj
-5467 0 obj <<
-/D [6726 0 R /XYZ 365.1652 542.5342 null]
+5417 0 obj <<
+/D [6682 0 R /XYZ 365.165 542.534 null]
 >> endobj
-6735 0 obj <<
-/D [6726 0 R /XYZ 90 525.8071 null]
+6689 0 obj <<
+/D [6682 0 R /XYZ 90 525.807 null]
 >> endobj
-6738 0 obj <<
-/D [6726 0 R /XYZ 90 404.8738 null]
+6690 0 obj <<
+/D [6682 0 R /XYZ 90 404.874 null]
 >> endobj
-6717 0 obj <<
-/D [6726 0 R /XYZ 90 382.562 null]
+6667 0 obj <<
+/D [6682 0 R /XYZ 90 382.562 null]
 >> endobj
-6739 0 obj <<
-/D [6726 0 R /XYZ 90 382.562 null]
+6691 0 obj <<
+/D [6682 0 R /XYZ 90 382.562 null]
 >> endobj
-6718 0 obj <<
-/D [6726 0 R /XYZ 90 333.3208 null]
+6668 0 obj <<
+/D [6682 0 R /XYZ 90 333.321 null]
 >> endobj
-6740 0 obj <<
-/D [6726 0 R /XYZ 90 318.7505 null]
+6692 0 obj <<
+/D [6682 0 R /XYZ 90 318.75 null]
 >> endobj
-6719 0 obj <<
-/D [6726 0 R /XYZ 121.1431 244.1239 null]
+6669 0 obj <<
+/D [6682 0 R /XYZ 121.143 244.124 null]
 >> endobj
-6741 0 obj <<
-/D [6726 0 R /XYZ 90 227.3967 null]
+6693 0 obj <<
+/D [6682 0 R /XYZ 90 227.397 null]
 >> endobj
-1539 0 obj <<
-/D [6726 0 R /XYZ 90 129.0039 null]
+1499 0 obj <<
+/D [6682 0 R /XYZ 90 129.004 null]
 >> endobj
-6725 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F11 411 0 R >>
+6681 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6746 0 obj <<
-/Length 2321      
+6712 0 obj <<
+/Length 1309      
 /Filter /FlateDecode
 >>
 stream
-x��Zko���_�E���B
��N�mgg�m���@��D�-���l�}/EQ�
&=����Aƶtu�������1�#s��J(����v��Op�㌴��������|�b���T��
� A	�߭\��\&c���$x�U���Ӓ��n���������C�U����b}�1/�*�w����C�oooW��P����L���?l���~�!̫%Iy��!|A%[�t���ۻ|�n�Ib��k��Ox��w�n�ө������t��q�܏���쯝{�y`*E���
A&��%�2��`o�$�x�$��(
��4W�	�O
��| |��L��(G�k�<�Mi��o�ݒ�ſ�y{%��_k�h?���o�=��� l#
-I�y�WE��
�-TB<K���)4Lc��	_
-)���`�ߠ��	?L�T
-њ�n*)Z!N�p�l
��|�>
IG(E��$�H�ZΘ[�Sk�Ǟ�>�h(�C1�kP|2��ܙ�M�2�L���@�>��;��7�5�� 	U�%��Pni����)V�5���G��rU�&�]h�R��Y-�
&��%�,�'?��)�f����
�ȑN��h�
��Qtή�.ܦDj$5���tV1
-�'%��`�ᏌS��t.8�lR<�Ք¥h
T�M|
,��)����
�0��)���>̎�ڒ��Ru\�B,'�mu:=��2�P�*ࠐ0��Y�����9F�q�Gw)8}�8��
l at x�=�~�$)��
}I=!�:3�/Ւ�ź(A�
��kr9]FF�7d+1��1�:�8[=�׳u���I���a�'���^H�B �h��_�]��*�C�Z�0��2"��"�!��0��b�3��z3�zD"��
�ɡnPD�5;�(5}��9�X\G�^�III)� p �|?p�1H#��no�� ��o0���*���GQE�p�bs�`���k����3kfC�C�Tn�En��T��
!�Ϛ��
#L�4�#��b�YFz�g�~\����0���~��=��� ������`P0L�9pF���4\Տ? 
-����K_�����������1D4��mgţ�
-l�X�Hz�U
�0�Cj�1�g;�Ʈ��GH��
�
-�YX1�͊��4ќ��. K%,�
�,�
�Ð.��v��Ǎ�B/�%��0�����I��{��
��O�7B
D��
t��
��ƤA ����J�Wc]�y
�:�
gC')P
f��\�
,n
����G@:3�>�.�"��Ba�a
�M
/���k�^-
gu�Az%e�z�3���0�
��Nzq��������@��{��_�Kh	%���tV��(f6��� 23Z�ҫ���1ߙ5붖��a��v�\�k�M�̘DJk���#�����g���P/��z�7�0a�� γ�5�!z�p�E�e�`:�HpJ4"��`�_�u���g,���������ݓI�߇��� T�� ��n��@�]E
�3���w�$��/��n��P��������>�`䷷l�n��4����;�Xtr0�l����M�U19-����G��tfv�>Vv��ٳ=�3� 鲭-���n�����$�]Z�[�Y��0��M����/���a�J�Fjj; ¡:Un�~. [...]
�F�%��6L;��6xC���i�7�
���hC�ȯ�
_���2��$I���U,:h�bl��_RAҜ��F<!ipf�����a
�I�����A1R��\Ӑ���`$M���t�	��t���ΊM�6�������9�1���w玆'���#����b�)#����~J/^/(�@\h�2l+g	/R{>�Nd�x0��_�;{e_�d�@d/Ty�Nl'2v�j�ڧ�3y�z�w��������є��3+�����J	��7H7K+
�������y�����#	ӝw��X
�U��;pD1ch�8���l��F޺sT~P�1�1�����
;g�xF��
7A�T3bC��۟��~��{	�q��`��hw�7R �/��U���f�[R�x)�'7��ۛ�
-�����=1��
-�w5�1>KH9$E0wL�P/Gkr;y:
	1}
-�#"���jS�I���?�2�
o
}��v�۟�0��ٞ(�?�vȫ�,�X�)�>+���~7H+�#��E�ڬS!��/>�#Q3
3�^����ݷ?yk��{�2Yyo;�k������77///hu@Dz�W��o�����@��0\�P�%��K/�fqXi�{X
ݠ��U��/��63#䨏���P��J
�endstream
+x��Xmo�6��_�b�&�0�W�ۀlm�v+�%ާ����ɒ*�K��w")ٲ']��4�L
ɻ�
�
[

[g����ѩˬ .u���
+��	J��̺�	A�u�clO
��X���b;K6K9+��_�",6��YϮ�d*��ʊ�MY��x
eiY]Ǖ
v�T`��$,K�z.�p�o�4��ܦ.w�O�^Ot�Q�	yLX�jp�
[3ka�ߺUR+�S�ĺ�>�{v�5��1�2�]�|�2ƍ�`��|�
n
	C��]�Ajt*�;��$�ぞt�jຈf���Ҍ��Q*��\?`�yk�(�� ��A]�Ԁ�M�F�zf4%dGR0����g-�
X`�<A�e�:L ���0	<�	5�q-�&]�"��M�baxs~6�.���
��
���O��fl��źx1�H��d}�đ��\�4�9]�Q��5��$.���S$|×+JEgN��8|Tw�����z�.
�|���.���k�9x�պ���p�T�"�]���!��U�t�,�g�yLUR;���o7����a�=�S`R�G�>!*����N�.%}����]a�{�T}4۳���C��#�s��O
���"˵���F&���e�HW25;�ڨ����:�M7���@p5;,%
�`���

��  �Vذq딇�?$R�ALSYe���*���{�B�P?
�z5�F��� ]����8��8�=��^cP��=7o�Y�
����ɶ�L�
m^�|�=ѐ���GS1��
��B�~b����i��P;q|إ��tn�, [...]
DL[㕬�8�/�£"��khύ ��C�d0�擻���}�=���)�uY�Z�U����VN��P�p6�̩�Q$�T-����
��~k����6{ĩY#՟��?U5�4GmR�ܰCu�4�M��&ĝ��k�:�D�� ����D
-�|�ᠦ�a��ti�9ϒ$s��o�t�������M[�jf��@w����r�C�<@x[�.�
���ȸc�~?хI���U�rQ�1�tE�*�.Jm���l�M��i9������6P�
�u�8mt6竬ϩ�X	��BVf#ؾ��O�yY��/�Vi�"~��U��G���[�h��y��j����%�U���a�ĄUV4�/��UX�� ퟇
+endstream
 endobj
-6745 0 obj <<
+6711 0 obj <<
 /Type /Page
-/Contents 6746 0 R
-/Resources 6744 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6743 0 R
-/Annots [ 6748 0 R 6751 0 R 6753 0 R 6755 0 R 6757 0 R 6759 0 R 6760 0 R 6762 0 R 6763 0 R 6765 0 R 6767 0 R 6769 0 R 6771 0 R 6773 0 R 6774 0 R 6775 0 R 6776 0 R ]
+/Contents 6712 0 R
+/Resources 6710 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6675 0 R
+/Annots [ 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 6704 0 R 6705 0 R 6706 0 R 6707 0 R 6708 0 R 6726 0 R 6709 0 R ]
 >> endobj
-6748 0 obj <<
+6694 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 646.3667 369.4786 657.2706]
+/Rect [121.93 646.367 369.479 657.271]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) >>
 >> endobj
-6751 0 obj <<
+6695 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 592.0296 170.6866 602.5599]
+/Rect [113.91 592.03 170.687 602.56]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_41cb3496510a68512516cf65f8d214c2) >>
 >> endobj
-6753 0 obj <<
+6696 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 552.9584 170.6866 563.8624]
+/Rect [113.91 552.958 170.687 563.862]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9af54d524de94ada872d460c1dbd5cc0) >>
 >> endobj
-6755 0 obj <<
+6697 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 514.6345 178.4354 525.1648]
+/Rect [113.91 514.634 178.435 525.165]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a82cf61e903a201fe8892501b209ab8e) >>
 >> endobj
-6757 0 obj <<
+6698 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4263 475.5633 222.2328 486.4673]
+/Rect [181.426 475.563 222.233 486.467]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9571074ab0249afc1e440c8c5eb5d429) >>
 >> endobj
-6759 0 obj <<
+6699 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 436.8658 202.4973 447.7697]
+/Rect [137.432 436.866 202.497 447.77]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6760 0 obj <<
+6700 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.2369 436.8658 253.406 447.7697]
+/Rect [213.237 436.866 253.406 447.77]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_61b27b2ed8bbc9a128f9001d160b078d) >>
 >> endobj
-6762 0 obj <<
+6701 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 398.1682 202.4973 409.0722]
+/Rect [137.432 398.168 202.497 409.072]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6763 0 obj <<
+6702 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.4674 398.1682 260.5991 409.0722]
+/Rect [210.467 398.168 260.599 409.072]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_2be2c8b9d00f81fc24dcbc36ad05afea) >>
 >> endobj
-6765 0 obj <<
+6703 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4263 359.4707 227.8516 370.3746]
+/Rect [181.426 359.471 227.852 370.375]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a6e183ba7e931dc88e16fb9ecfa8b3c7) >>
 >> endobj
-6767 0 obj <<
+6704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 320.7731 217.6102 331.6771]
+/Rect [171.185 320.773 217.61 331.677]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_47def4dcb522c046a6f3a432d72008ed) >>
 >> endobj
-6769 0 obj <<
+6705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 282.0756 180.5399 292.9795]
+/Rect [134.114 282.076 180.54 292.98]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_ffa77e724493813cddf9740767c2473e) >>
 >> endobj
-6771 0 obj <<
+6706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 243.378 178.2386 254.282]
+/Rect [134.114 243.378 178.239 254.282]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_26673943182a6efc6cc6e3aad8c731a7) >>
 >> endobj
-6773 0 obj <<
+6707 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [99.6796 143.4559 156.4559 154.3599]
+/Rect [99.68 143.456 156.456 154.36]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator) >>
 >> endobj
-6774 0 obj <<
+6708 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.4435 143.4559 513.9963 154.3599]
+/Rect [485.444 143.456 513.996 154.36]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6775 0 obj <<
+6726 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 131.5008 165.1473 142.4047]
+/Rect [89.004 131.501 165.147 142.405]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-6776 0 obj <<
+6709 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6747 0 obj <<
-/D [6745 0 R /XYZ 90 757.9346 null]
+6713 0 obj <<
+/D [6711 0 R /XYZ 90 757.935 null]
 >> endobj
 238 0 obj <<
-/D [6745 0 R /XYZ 90 733.028 null]
+/D [6711 0 R /XYZ 90 733.028 null]
 >> endobj
-6749 0 obj <<
-/D [6745 0 R /XYZ 90 610.5514 null]
+6714 0 obj <<
+/D [6711 0 R /XYZ 90 610.551 null]
 >> endobj
-6750 0 obj <<
-/D [6745 0 R /XYZ 90 610.5514 null]
+6715 0 obj <<
+/D [6711 0 R /XYZ 90 610.551 null]
 >> endobj
-6752 0 obj <<
-/D [6745 0 R /XYZ 90 571.9734 null]
+6716 0 obj <<
+/D [6711 0 R /XYZ 90 571.973 null]
 >> endobj
-6754 0 obj <<
-/D [6745 0 R /XYZ 90 533.2758 null]
+6717 0 obj <<
+/D [6711 0 R /XYZ 90 533.276 null]
 >> endobj
-6756 0 obj <<
-/D [6745 0 R /XYZ 90 494.5783 null]
+6718 0 obj <<
+/D [6711 0 R /XYZ 90 494.578 null]
 >> endobj
-6758 0 obj <<
-/D [6745 0 R /XYZ 90 455.8807 null]
+6719 0 obj <<
+/D [6711 0 R /XYZ 90 455.881 null]
 >> endobj
-6761 0 obj <<
-/D [6745 0 R /XYZ 90 417.1832 null]
+6720 0 obj <<
+/D [6711 0 R /XYZ 90 417.183 null]
 >> endobj
-6764 0 obj <<
-/D [6745 0 R /XYZ 90 378.4856 null]
+6721 0 obj <<
+/D [6711 0 R /XYZ 90 378.486 null]
 >> endobj
-6766 0 obj <<
-/D [6745 0 R /XYZ 90 339.7881 null]
+6722 0 obj <<
+/D [6711 0 R /XYZ 90 339.788 null]
 >> endobj
-6768 0 obj <<
-/D [6745 0 R /XYZ 90 301.0905 null]
+6723 0 obj <<
+/D [6711 0 R /XYZ 90 301.091 null]
 >> endobj
-6770 0 obj <<
-/D [6745 0 R /XYZ 90 262.393 null]
+6724 0 obj <<
+/D [6711 0 R /XYZ 90 262.393 null]
 >> endobj
-6772 0 obj <<
-/D [6745 0 R /XYZ 90 206.2069 null]
+6725 0 obj <<
+/D [6711 0 R /XYZ 90 206.207 null]
 >> endobj
-6744 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R /F25 344 0 R /F101 2128 0 R >>
+6710 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F23 340 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6779 0 obj <<
-/Length 2283      
+6743 0 obj <<
+/Length 1442      
 /Filter /FlateDecode
 >>
 stream
-x��Zko����_���Vj���6@���	�f�O���%�&�W)*��}.ə��m��P,��{/�s�ΐd��<RB!ø
��Wx��?\{y
-ק!�/�W׷R�
2������ 	������1!��ɔ`��w�dzb={��P<ޮ^��E1{�.,f����7�<|�e�	c:���dJ
�������eVL�
g�9\%D9��O~����o�>R� �IR���£<зW1���0"�����S�VW����4����	FT*=�2����TM0E�Q
-9�
a)�1�jYU�T9$DAҔ
yX���v�/'S	��P䋇�&+f�x���/�����Ӿ��'{X�'�����*]�� .���/�EsGtpsS���������c��o��?Ԟ�F������6���p�dh�7
S�f�}�e^!kSb����̷����kӈ
-)
��u
�}}�#�)�sg�ܮ��]�
-0~*)"R��������%�~����儊�2����|�i~<Z�����l�
���=i���l�j���a�o���e6+Ef�]6K����n�Z��$#	�劒sH
�Bx��
�%����v�Z]�3p�[��v_�l������*xE!
��a|�Ee�G�%�O=�
-�Y�
�����6�̷v�k�5c��Q���K]2�M�#Ȳخ;ûܮVۊe/�U)]e7Rb�� ➪�!�
�֣�ʙ�G;գ~�T�	wQ��
=*�pd0h��w�[���fD`B�iLjJ�ՐX��1�'o?/�y��07Mu�������"���OͼV_�;
�b�@d�(�"��A��l�b�lRT;
�������7��aa'$@
-����l)���C�0?
-aa_��
-�c�
-'(��Y��Y��\UxEO�7D��aI�F=
������
�� �B�33��0��\]*�,�0�O�г[�z��͊���
���K���R<��#��!��8ʊ�	��њr���U��i^�:xjN�<,PT�-g+��b��x�GUl:�iIl���`f�#����\�L�����S

-�Cqwx\��&���cfu{�̫�cH�@^��'�"z�
b
��0��ӌ%�8ǣs�Vt����F��xr<*�&3e:)�=�)�@N���"E�6"��*��f��aU���)1�
-B��$יb0��˝x��K�f���d0��⡃�y���!�a�����t��ĺ�ea�
�
�Z�gƖI���n�+_w�Ư����3��sd�y}�� �$?_[�
1m9�gj��im��
-�h�z�`�V�}�{�*�
��E�;���͢���+�f-L����P���o�N�u��
-�@&(��ٶ�

-FJG�Ӫ��.���� 	Iu[
�Vu`���%
�W@�g( j��x^�yt�SZ���8?�
�O�ѷ[7$vQ-T7X!h�y<	
��.$bX��'�N�F���
ڈ�����1��7T<U1-R�
�T|h�b�'�s�Vt�+>j��DN��%�v~���a�힕
�D�x.<*��aM�A�{�
-:5Z�L/~`#&|k��{�̶��%�R�L���g9!GK�10x�
��Q1(�Vt�ၽ�ֆSZ�ZB�O�ǙzT*�Z#���Ɨ����|]B��F���,�d'ap7eo�N����)v:X����Ȣ/���.�o�;q��3DɎ���w�T =�ͻ��8I�=�*���r-aM�
�����C
r
Q"�
-�g���G�bYkυG%��B!�Lg��s���SU��%�LD��P��J
[��d7	;�
��섹i��r�H$C���R�Ò� 4�C~6�Z~��@���� b��V��+Q�� �`g׫ )WuN�jEp�X���Z�Ml�![V���6���
_�To'�[׷��x�JaG�,X+r݇rܪ�
�׊�,�����|>oeZ���%���q���V�7���_a�J�DRJ��E�-`��*:�.:��Xщ��E'��s��9��г{����~�tܵu+����
�$F�nb�
�̵��$xT�;e�[�_,�?��A�¡B\T���`��aC#�
��_P� �Z����2D6���1c�Q

P>d#D���AB0�n1�/T�/d��D�9���4��g���N�.���������m?v��B�Ϩ�C��
�4Q` Q>�:A���ܯ���N��ip��D���=��3?������������w����nuݍ�i�0�k��
]����<��^�O������|'���c=&
-X���
/{�1endstream
+x��Xێ�6}�W�)�JMM�"��n4i7A� ۬��

�L�Bu�$���w(R���g�)�C�4$g�9C/&��٥�
�u�����:qJ���xg��kM	�ؼ�6�"	�W�f�bU���m�����/����n0�aP	kJ96��AY��o�Z�L����;&u��~�j��b�τ�c� �#�E.�F�L޽��
+��20b�g�k�İ)�kl\O��`
��䆋|$!.D�.eÛ:�0K�ʚ:�"Z-_�TA���CY��z�)��}[�McX�`��G~����Sَ��_g�!�F��k�Q�
+�\�n�&J��~�W�
r|����lʥHWñ���cw��Z9L�{�$���S�#B�^Ha��	������(w�0�~�X����Q��8j��WX3��6���ƩCq\��E���.��We��bmQn�EX��0H՟[m��VA����K�B?���Q)�6��]����Zծ���Z]�ƛ���yM�!�����)���=,��,?��wy3B	�0+�BI�Ë>[�Js	�6tC��>��^
a��ަPo�
a\e�.iTQ�a��Ee7���"��uH��<4Ю�, ���8��ط�J}�E.�8�f�I�s��7��ջ)���<Fۭ
+�T��ֱ6�0�ln�*z7��j#f�j�_[�[66��7��R����; �'�F Z���f�k���D:'��ԯC5��Gi�V�qB:��!�
+Ë���#@Xڠ�Bo
Ƒô���%}�4�����C�w��%	A
'&	��I��=��������Q͒<(Ĩp
]p��
����ӱ�sb�"�!��*�5(��\s%�#L� �
�%:%^��1aߦ�n�W��8
+ՔoDr+4m.wi(K��|�H�h�d��V� U�J�N�w2�Ly�X��jKH�
+�%���#�
TP�.w
��`�A�n�;[�C?�c
��u�
+(�m+�7����3
r������Ȍ6G�{�Ab�
��A�"j=&��K��q�=<	���u���܂Z�&��j�x+m'���*>��i%H�O������8B< 	�4I�/V*���+ݚ@7F&�`��0�欹
>����w~�f���uz"x�
��ȍA�V��KQ>�
_:-�9Q�:�#[�/G�#)�˭v�
��vׯ7
���9۔�J���r?�_���a�h��4��;�\[�E��zv���!�C�{,m�F��Fn�R�Uv �uHc����y}����Ng��T�n�[��K>�[���Ba~�`�A8���_
+�7n����ԁi`�q�!h}�	�r at T�J��r��(�U�+y �!�
��V�F���JQ� �����M���L�(}�P�ڍDL�B&����Z4�T��m4��P�dG�)f�xmR�U��g��~����(/PT���vWɏ���;'��#�(��I}��@�A0��
+endstream
 endobj
-6778 0 obj <<
+6742 0 obj <<
 /Type /Page
-/Contents 6779 0 R
-/Resources 6777 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6743 0 R
-/Annots [ 6782 0 R 6785 0 R 6787 0 R 6789 0 R 6790 0 R 6792 0 R 6793 0 R 6795 0 R 6796 0 R 6797 0 R 6799 0 R 6801 0 R 6802 0 R 6803 0 R ]
+/Contents 6743 0 R
+/Resources 6741 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6675 0 R
+/Annots [ 6727 0 R 6728 0 R 6729 0 R 6730 0 R 6731 0 R 6732 0 R 6733 0 R 6734 0 R 6735 0 R 6736 0 R 6737 0 R 6738 0 R 6739 0 R 6740 0 R ]
 >> endobj
-6782 0 obj <<
+6727 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 474.2641 177.0528 485.168]
+/Rect [138.538 474.264 177.053 485.168]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) >>
 >> endobj
-6785 0 obj <<
+6728 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 396.2373 179.5435 406.7676]
+/Rect [113.91 396.237 179.543 406.768]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_061c4c3b4f1eef970794b274dae62504) >>
 >> endobj
-6787 0 obj <<
+6729 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 346.6833 179.5435 357.5872]
+/Rect [113.91 346.683 179.543 357.587]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_51b29c5dffc073c2d350471ae9bb879f) >>
 >> endobj
-6789 0 obj <<
+6730 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 309.4581 179.5435 320.362]
+/Rect [113.91 309.458 179.543 320.362]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_b8bee5e53740adc193668686030bb4bb) >>
 >> endobj
-6790 0 obj <<
+6731 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.8806 309.4581 254.8106 320.362]
+/Rect [206.881 309.458 254.811 320.362]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-6792 0 obj <<
+6732 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 272.2328 179.5435 283.1368]
+/Rect [113.91 272.233 179.543 283.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_ab939414cdbcf1ba174334859443a72c) >>
 >> endobj
-6793 0 obj <<
+6733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.8806 272.2328 272.5137 283.1368]
+/Rect [206.881 272.233 272.514 283.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-6795 0 obj <<
+6734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 235.3812 187.2922 245.9115]
+/Rect [113.91 235.381 187.292 245.912]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_517f4965fd423413531cd1d2058748de) >>
 >> endobj
-6796 0 obj <<
+6735 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 197.7823 163.2149 208.6863]
+/Rect [126.921 197.782 163.215 208.686]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_7e6d252ce9557b9d73833ef594f6276b) >>
 >> endobj
-6797 0 obj <<
+6736 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5521 197.7823 256.1852 208.6863]
+/Rect [190.552 197.782 256.185 208.686]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-6799 0 obj <<
+6737 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 148.6019 163.2149 159.5059]
+/Rect [126.921 148.602 163.215 159.506]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_efeb88699fb82bb331a2d24ce724bb07) >>
 >> endobj
-6801 0 obj <<
+6738 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 111.3767 163.2149 122.2806]
+/Rect [126.921 111.377 163.215 122.281]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate_553c3b19a36235d228039a6bb3452918) >>
 >> endobj
-6802 0 obj <<
+6739 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5521 111.3767 238.4821 122.2806]
+/Rect [190.552 111.377 238.482 122.281]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-6803 0 obj <<
+6740 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6780 0 obj <<
-/D [6778 0 R /XYZ 90 757.9346 null]
+6744 0 obj <<
+/D [6742 0 R /XYZ 90 757.935 null]
 >> endobj
-947 0 obj <<
-/D [6778 0 R /XYZ 90 599.2881 null]
+907 0 obj <<
+/D [6742 0 R /XYZ 90 599.288 null]
 >> endobj
 242 0 obj <<
-/D [6778 0 R /XYZ 90 590.1628 null]
+/D [6742 0 R /XYZ 90 590.163 null]
 >> endobj
-6781 0 obj <<
-/D [6778 0 R /XYZ 90 492.4234 null]
+6745 0 obj <<
+/D [6742 0 R /XYZ 90 492.423 null]
 >> endobj
-6783 0 obj <<
-/D [6778 0 R /XYZ 90 414.023 null]
+6746 0 obj <<
+/D [6742 0 R /XYZ 90 414.023 null]
 >> endobj
-6784 0 obj <<
-/D [6778 0 R /XYZ 90 414.023 null]
+6747 0 obj <<
+/D [6742 0 R /XYZ 90 414.023 null]
 >> endobj
-6786 0 obj <<
-/D [6778 0 R /XYZ 90 376.9172 null]
+6748 0 obj <<
+/D [6742 0 R /XYZ 90 376.917 null]
 >> endobj
-6788 0 obj <<
-/D [6778 0 R /XYZ 90 327.7368 null]
+6749 0 obj <<
+/D [6742 0 R /XYZ 90 327.737 null]
 >> endobj
-6791 0 obj <<
-/D [6778 0 R /XYZ 90 290.5116 null]
+6750 0 obj <<
+/D [6742 0 R /XYZ 90 290.512 null]
 >> endobj
-6794 0 obj <<
-/D [6778 0 R /XYZ 90 253.2864 null]
+6751 0 obj <<
+/D [6742 0 R /XYZ 90 253.286 null]
 >> endobj
-6798 0 obj <<
-/D [6778 0 R /XYZ 90 178.8359 null]
+6752 0 obj <<
+/D [6742 0 R /XYZ 90 178.836 null]
 >> endobj
-6800 0 obj <<
-/D [6778 0 R /XYZ 90 129.6555 null]
+6753 0 obj <<
+/D [6742 0 R /XYZ 90 129.655 null]
 >> endobj
-6777 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F74 478 0 R /F37 2043 0 R /F25 344 0 R /F101 2128 0 R >>
+6741 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F35 2013 0 R /F23 340 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6807 0 obj <<
-/Length 1933      
+6762 0 obj <<
+/Length 1543      
 /Filter /FlateDecode
 >>
 stream
-xڽY[��~��0 ��5��ˠ(��t�H�`�;yI,46="K�$י�C��u�=�&�<
%
���&s
dn�\	�
�r�����	^=#az�����[)�I��a�h�	J��a�ӂD�rE0Ƌ�K�I�O>�_R�(��ݔɧ��eR>�߿S��[��1�뤶��o��!)�D/�rE^|�����vk�\��i)$YP)�??|3��Ct;D%�$��_g?�����F�h1?�F�:��8e�C6�8�>���S���$;�!,��Q���|e�$�������ez��"wݽ��	�rĸ!����o� ���?K">3O>5�d7��ն(��ޅ7�~pJ76O�'�T
l�� -�9w�D!I9o
xsѲV}˕��a�X5k��
�&ͫ:��Ի	/�w0x��G��p[&{��bqrUU����UБ3^�^l���=���
���d��
��Q��)<���l��M�O�

�P
��Vs	+Ωғ5�
-��R�:�a�@�k�=���
3�J0E�Qr�l���U
�
-)��Y�3��f�j�ۗ��:�� ɚń�㰂�=��<��	�4Q�4���)�|�D
�oD>��"��d��
qf�f�__�(uÏ�6��ѫ��CP�(�`�rh��o��ц{��
�x�)�ǽ���3�Ю��^i����`~݅y��&ʩ
-:G���_����f�D�q�un>O��C�`�4�81Hj*� མD�. v6�
%��Dn{i�p��ċh�
���\G���e��)�������ۨyu4�Z?���<S��|�1�Y�
Y���_2�u���>�^�4����	�k1A c��`��W|p*h��؃�7�>�����sA{/� L5������E�K�	/�D
�z��ۭ�I��ر����_�I��][�O���|3�������z�d��qem���ߵH���l)�/�dP(`@��?���
��{A�؍�A�1���)�w�(�XN���~
����������i)��2Οv�z�n��'��ي`?�g����d�
8���?����A]�Ӥ�` <)L�k
�K�%�t�=x��ަ�/�:��\gI�
oK����ھ�-����m�e>ȸ�\��1���	G�Sr����9�� �g=M�Q*�H	_Q`�W-F�[va�`)�v�
�v���5�6����^���ߏ\/=��-�Q��]���6��r�w�H�uv�_�nO���-R�uBW�nZ�湧�	��o��Mq-�l�8�੖G����,]����V5Q�T3�)�+�+p�r���ʽj�\�7축۳�X��.d��v/�(˃�ަ������-��y��oNn$!��@A02����LS at e��zi"��
7�z�c=tG*d�QQ�
-;vb�N|�۫xP
'�pI&�K�o�2����0�����D�[N at q(�� !�MQ^Ή��DRX
���>;�
kX�d�
cwe���h
T|��Aɛ�pJ �<�������y�g��k�t���=�X�m�� �7-�
lF056�dJ���	��D�
/[��{0��Sj
����i��D���zrI�M�泖��c��)�;���-���<>�6
�@��
���š��t�,ɢ�/�7�E\N����b�+�u���]"|���n����9��^��F�9�Ⱦw��=�'��1P���U�
-���
��]��갫?��
���/1���f�n2�����ݖY�잹� Ja�l�
�V"���� �LB*bz$
6<�(îm��U�{w�uT<<�5�!�?T����j��m����Ⴕ�e�6���*�
�wE��4�K���eގ�������
�T'ڑ^��ww��	�+t��C����n�e�
W��­��ȗ^晖@��t}�;n_�a%:[���G�	W�
��v�endstream
+xڽXmo�6��_!`@'5CR$%À�][t됥ٗ�E�Ht,T�\I�����bIVҬ+
+ER����=w4n
�X<�Z�=Q��TP\��� �S\��ېD��`�Ë%��l���Œ�.o7*o�ߋ�F6���/���S�t�;�i&;u~����d�$I��+�q��k�YgƗj��Z�����T����W�_������1�#
d����8�a�U�Q�&��ߵ
���Y����FH#�?F#bc|�:Y�*7>Sm����+���s��p��
E,5�~1�d����%ᡉ�Ƅ�/�1S�1�ncg F38�����<�;��vs
"�v��HPf
xz痓x������.��>�$	���U�ɪ+��0a�������
׍ܪ%��A3�n>���ڐ�3�f�J��v���
����r{D���
+��PM�,��z+��G�SaƒFi*�#$xl>�G
���4:r����]�0��+�Խ'_�vʙ��@�=�0����������s����r�b��ן������(:�
b��V�$
+VE$
�	�y�Zm��=���*�S��L���˚i�XC>�
+�E��%�
�438��h�͓W��#5�v���(O�����`2�o�/�>�#)	
��81�ä
�GGR���U��<~�9rbw��}��Y�S���
<��bO2�	La
32/C)@c7<>5�׉[�3b�bo `8�@0��{}���NU�QV-‡��ܴ�G`�a�
�
��P��f�)�7�@
�X��|��ʲT^�d��
է�,�lm�

n�?xg�#"0�-&|
9�Q'dz�5��)`��T#e��R����84@ �y�ʣ����C��o�����E��1D�ua俄�@:�mφ(a�4�����G	�s���æ�6f��Ͽ�7Sݴ��-��1��zP[�Y��Ә��Ys�;=���1��F�rF�.)�m�W�|��S���Y)[;�˼�P�t�v�h��ۉ;�,M�>�4D��Q��^���6�(�R��P,v�m6^�
:�-k&b�8b~���������fG���S���	���Z�~(�����B���P�z��4ck$�C�Gv"������!��̓�����,2�\����t9~P$��q]���M��4u��J�Њ��k"�5u�\��z���o�������f�C�x	`(X/��
�

+H-c�f�j=��#�ܵ� 7{K��I��8V3���*wt��я`��,Fɱ.|�����tG�u�V�(՜�d3���Y�"���Ƅ�8���@�!��@Y����©���XEڦ�$�5*/2�$aq�w#�����\�
WR�J�\I��^�R/;'��2훬�lk!�ᢂ#ݎn
ú'���\���
��	�	�UŮ
����v��ίL�l�<�g���`��.�0?��q>m.t맫�}t(�G[3��_�j~ԿJX�^��w�ZI텸�����БDZ�4@ ���΄�1p��}���I���M�������Z���]���
�;;�+G+��x-�l�֍�`@K4=�����
+endstream
 endobj
-6806 0 obj <<
+6761 0 obj <<
 /Type /Page
-/Contents 6807 0 R
-/Resources 6805 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6743 0 R
-/Annots [ 6810 0 R 6815 0 R 6816 0 R 6817 0 R 6819 0 R ]
+/Contents 6762 0 R
+/Resources 6760 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6675 0 R
+/Annots [ 6755 0 R 6756 0 R 6757 0 R 6758 0 R 6759 0 R ]
 >> endobj
-6810 0 obj <<
+6755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.8214 624.2747 440.8317 653.3405]
+/Rect [355.821 624.275 440.832 653.341]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-6815 0 obj <<
+6756 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 280.6687 175.9373 291.5726]
+/Rect [134.114 280.669 175.937 291.573]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_bf5e694ab674c48a452893f021986318) >>
 >> endobj
-6816 0 obj <<
+6757 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.2744 280.6687 268.9075 291.5726]
+/Rect [203.274 280.669 268.908 291.573]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-6817 0 obj <<
+6758 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.6406 280.6687 376.2737 291.5726]
+/Rect [310.641 280.669 376.274 291.573]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-6819 0 obj <<
+6759 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6808 0 obj <<
-/D [6806 0 R /XYZ 90 757.9346 null]
+6763 0 obj <<
+/D [6761 0 R /XYZ 90 757.935 null]
 >> endobj
-6809 0 obj <<
-/D [6806 0 R /XYZ 90 733.028 null]
+6764 0 obj <<
+/D [6761 0 R /XYZ 90 733.028 null]
 >> endobj
-6811 0 obj <<
-/D [6806 0 R /XYZ 90 610.7007 null]
+6765 0 obj <<
+/D [6761 0 R /XYZ 90 610.701 null]
 >> endobj
-6804 0 obj <<
-/D [6806 0 R /XYZ 90 588.3889 null]
+6754 0 obj <<
+/D [6761 0 R /XYZ 90 588.389 null]
 >> endobj
-6812 0 obj <<
-/D [6806 0 R /XYZ 90 588.3889 null]
+6766 0 obj <<
+/D [6761 0 R /XYZ 90 588.389 null]
 >> endobj
-1540 0 obj <<
-/D [6806 0 R /XYZ 90 404.7152 null]
+1500 0 obj <<
+/D [6761 0 R /XYZ 90 404.715 null]
 >> endobj
 246 0 obj <<
-/D [6806 0 R /XYZ 90 398.115 null]
+/D [6761 0 R /XYZ 90 398.115 null]
 >> endobj
-6813 0 obj <<
-/D [6806 0 R /XYZ 90 299.6425 null]
+6767 0 obj <<
+/D [6761 0 R /XYZ 90 299.643 null]
 >> endobj
-6814 0 obj <<
-/D [6806 0 R /XYZ 90 299.6425 null]
+6768 0 obj <<
+/D [6761 0 R /XYZ 90 299.643 null]
 >> endobj
-6818 0 obj <<
-/D [6806 0 R /XYZ 90 243.3486 null]
+6769 0 obj <<
+/D [6761 0 R /XYZ 90 243.349 null]
 >> endobj
-514 0 obj <<
-/D [6806 0 R /XYZ 90 118.4498 null]
+496 0 obj <<
+/D [6761 0 R /XYZ 90 118.45 null]
 >> endobj
-6805 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F97 1822 0 R /F25 344 0 R /F8 523 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R >>
+6760 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F95 1779 0 R /F23 340 0 R /F8 504 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6822 0 obj <<
-/Length 2926      
+6788 0 obj <<
+/Length 2059      
 /Filter /FlateDecode
 >>
 stream
-x��\m�۸����@��
�\�����R���d��r0�^���Zr6�_ߡ$ʔD�޷6AA��
�3�
����21x��B�q9Y�O��>��	i
����'��������rr~Uq�	J�����)!����Oߟ<]l׋��S�����&��.�O/���ݛ7�2�Z����������'� ̍},�j��
-#�
o(~�w�%p?b��tF��ˮN����R!L4m��)��/�EQ�\�O
�&��jQ&�'�+;
=M����b:�RZ�'?��Vm�.�$֦�>��7<���|�3ZLn�
F�:Y�p�ܛ��Ǔ�|�Հ��	�‹Kd��n�(CX
-�T�Jy(�H���y4�#�Ux�U�����
@�`��Iw�������
i��0d�RՈ�V���AfL�9�rĸ!ը?�.q�d�6]6���e�"Y&E�ئ�����*/�ˆl�Ez�
m��erY�O��?[�,V�����%
-I�y���l��]&�
)�Yom|^
-L���l6+ts���R��"tmd�
-�Z�m�0N����h�퀯5����(U�9�)�f�~w�J�5�_���b���.[�i����#i��P6�	���̓`�8�|��*�RїE0��@0*����'7Xʮ��Uܦ��
�	=��������k��cZ
�Z-��*=lZ��4D1ɐ�����Xa���sw�1
|k߻�@C��*f G�O�=����d�{
-I'B�('!�DnH�A� �aS��ǣ�J��$����ސc���Vo���#�x�T "�K$�0fmN���r9��IN
��iJb�ݦ�M��ME;�
�����A3J
�`5�mF�H(�
$ڃY�@)bYǑų��p,��m��/7�u:���:�Z
�V��o�U~�./,���
�?���z!���IKцrx��ѻk�h49�Qq!/=
c��Ȫ*��H�e
�ɪ�i���b���z�,DT��/�v�S����
-�
��ɞ3�,�d,�
Y<�<�}��ɚ0����p�Ӯ
P_�u�ηw�"�O2/�6��0�jP#�R�
VqM
C�5�QM
]G�2/!|}�l~qW&���j
*騺��*����~I���o�P;�]S�)��cB��1ʎ�ަ��m�7����Ŕ]o������Y�̯zk�7���&u���� t�@�?A� H�;�P6Z�oU�C�+��:�-Y4�}����v����ѡ?��C?����hZ��/P=g�
�l
hjF���T}�H(&z�z|�!�
��
��� -��
��_/�E������+�m���E���4Z>g�3��4&��,
�
Ñ�;$W!������^��-S� �l^��&O��DBK��Y![�wx�������������*��Yۉʟ���*���
-5�`:�����IRZ�F޻b�1ͮWI�g�����"�ε~�3�@�vUϴ�"{����~��B�vA���n	��~��BO=>
q�4���Y��,_��
��w�I�[���{y����z=̇	#�GIo�J:2��eZ5����m�
�6
C)�=��a�b�h� e����j��X�z�el7�1f�=
-�<
c ������=ڭ�U�
V���Me���4��чȤ�����p��gl݀h�����N
���Һ��S[d��ޕ@�'�˃{WLą�ψ�L�����dQ
���hHn G;r�G�ұ9�>����]
=Z! u\�F�	�������W!��(��c<,"!�L�|�+���O3� ������+b
�1Mg��v��wH�2
�	
-�o��H�K��
c�B�3FƊ"�9�ɹ�⇊"���3P�2��%�<R��3@`<�{tQ�m�+�S���[��"\ �qκ�xE#b_� ��k'����ߴ{��.�F��[�G5�<#����먎ν2*T���Q
�G��� �Y
a�&y�<rd���c8V
��#_���f ��dm����l�9�f�͡b�kA��g)��Q
CT	/Y�l3pM&���E�AԖ~� ـ��a
�Y2�5�%!�@��:s�O�2��4p��T�@ ���9t��"�yT�[4Q�D�k���`����;4yD|�k�Ԇ��������"L�2���e
�~K4.�BI��^ؗ�MV���F
�6�s�����1R?�d��j�*B �aҕ����2e��k�s�\ֈ~�G��������9i}q���z�B]��S��`�*1��9�����fwPV=#�S�(Qi�[�(��
G�>$7��
�/h����ڃ;c}��ӏa}Cu<��Ԛ�E�d[��

�0d{� [...]
�|��|Z�9n��*�� T��
-�C}��B>
-�=
c��Ȟ
����	��_��VRҿj ����FHql
����5_A
`�o���� ���H	ਢ��n� 
�/��,��,��,��)b��7]�	�D�0���y�a'�7D`���ҏ<
���U:�}�W*v��g���aȀou�r�:t�ℋ�
�G�^]�v��' ���j_ڳ�����E
�&���� R��%Ӈ��#�2GDz1�
���̗�g/p�=���yE����	Һ�2���
�3�F�L#.ڶ�{�P�% /��I[Eᬡ��Bp��[��W}����!�C�wu@ZC� 	%EW�l��$UN�i
I{�S��҄�2�W�1(Id��~�o2T�h�J
��;Ge���W���6���ߛ��;������������
�/�l�6�֐��d��Շ�j��d�L���d�oT�_@�5P��_��o^�
�y#�_�P�l|�o�r������-
�������f�:
�q�\�����D]:�gZ"e��r�7�
-�η��$��uղ�	�jT�/Av�	endstream
+x��Z�n�6}�W(�����E��(�-�"��&��na�6��%U�7q��C��ْ��nzy؍$�#����غ����������e��|���ͭ�cK�qJ�����&Q:#c��`;�6���b;�vk�ʂ��"
����e\�L5�P����ܼ9� �e�x>�
^^Z�R�茀`D�_�x�l��rn1�Q����vJ���Xw�ī�~5`ݩ|y���L}j�M��O��rƳe�T�(�6u��9��f����l�rʸ@�qk����[+x��ˆ��u_��Xe�7��'?M����$���j�)C���?@�z�.��C ZM���#�T�!е��6=�`о��
t�f
3䁹aȇ>e�.2�
8na<c
�cͨ����N_kT�d,�piB)N
+s!�2σ,�v��2Jr�2��$��E�S&�Lr��C5�Ԅ2���p0�^ �D?
�e�]ɞ��
	��Ǧm
�̩s#M#�^��a
 �{t���!Ԍ��
/�5�Ma2���h�4���u�Kԓk�8������E.���f���xY�I���U��ހ��
���Un���w�X�f
��W���o*G�;��We+����L�t߂��=�x���v����
�'�_��<��ut2"�Q(8���� ��l�~�-G��ؿǘ���4r��� *֡1�})D�K�F�a��1��~ٮ�
+G�~��u ə�+
+��0|2�E�&Qr.!U�n39J	��!h�
+<_��M�IP�}�pO©�K���冮�ٔ	[��} �${�8 ��� ��M���y����T>�K�P X�o��B�G��^I��J۬n-��H��bt�W��Ln�:�����mV��bח����H_Pg�^�Q�%��eD> e�/���	��<��Q���!<
(5�L�h=Ώ�v�I _`R�7�4�_����ܦ
�x���M
q�q�%6fN/�d�c�SX�Q��
+�ZN����"����>)��G��R
	�K���:��"Y$q�BQ/���G;f�_��#�v����Q[�mˬR��m���G�9-����
�|�B/Aw��k_ίd���
�
�袏���-�:��,�:a�
+�*j
Ug<")4M5����éJH��2�FÓ� �d�.sj���EƐ*��*��$Z���W�	�*��s]Rk��Y,���F׺A�ꓺ
�n��aT��\9�=��~*
+6K��r�=/%�s�fތ M:B���
�0
+?F�ჽ�.�A
�6����1p���d͟H��'�RqܫW'��Θ
,`'rZ�������� �
��(F^C�㻩�Q� �#ǖS�"�'���r�n�@�|����S�����8œv�����ʠEVO�|�ϯ��1ﭹ}ˠ�*�OYK��7b�J�f�Q��.;O�fN�6$�!��)�����
(f?Z�
BE�Ǿ��Q�^/���|IqbtO�i�%�&P����|�%S�ݝ�
�|��(�C.s��$������
+l�Q�cq�и�lBþ�H���#&��H;3�7���� ��ͷ9�fs��fSy���S��ක@�w��lOU�#ecp���F��rr�Z9�	�a�eI�}$�KM��otGʯ���
m*�Ew:;o��~$��Aa��g�RXK�t�b�cp��p}&gQ,:_�Ű�y��0`u��Pߺ`frY�q�+ո�W�V�*uu:5͈Bc����
�_Ki�Ԇ~eK?��:0,���)�e�I?
:� �5{�g?��cߔ
�jJw0�|�l#�ˢn��v�a��ިP�V���2'�̩�g|��>e����m|��v
sÒ���������t�Jׅ��p��.�3�tL,ۅ.�{�*Z.�y!�"�?�u��ו�t�|��,�^���w&k��c�.�N=EZ�
��s!����Q�#�
��TEi}���V���9ԧo~���:�i��A��j_5C�)X�4G�C
��H�I”�l��e��v�7���~R�y3h��`���\Ez~vv��9��a���8K����+D
*�	�61g
7IV���z���'� �)
+endstream
 endobj
-6821 0 obj <<
+6787 0 obj <<
 /Type /Page
-/Contents 6822 0 R
-/Resources 6820 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6743 0 R
-/Annots [ 6826 0 R 6827 0 R 6829 0 R 6831 0 R 6832 0 R 6834 0 R 6835 0 R 6837 0 R 6839 0 R 6840 0 R 6841 0 R 6842 0 R 6843 0 R 6844 0 R 6845 0 R 6846 0 R 6847 0 R 6848 0 R ]
+/Contents 6788 0 R
+/Resources 6786 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6675 0 R
+/Annots [ 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 6798 0 R 6780 0 R 6781 0 R 6782 0 R 6783 0 R 6799 0 R 6784 0 R 6785 0 R ]
 >> endobj
-6826 0 obj <<
+6770 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 591.5122 156.2812 602.4162]
+/Rect [133.915 591.507 156.281 602.411]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_b5160fe536bd1bc8d42c12de33f40493) >>
 >> endobj
-6827 0 obj <<
+6771 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 591.5122 192.8237 602.4162]
+/Rect [160.097 591.507 192.824 602.411]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-6829 0 obj <<
+6772 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 552.6634 244.3797 563.5673]
+/Rect [133.915 552.653 244.38 563.557]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_fb730d60db4b7e1ddd4c9994ec077cf6) >>
 >> endobj
-6831 0 obj <<
+6773 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 513.8145 191.7178 524.7184]
+/Rect [113.91 513.798 191.718 524.702]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6832 0 obj <<
+6774 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 513.8145 288.8524 524.7184]
+/Rect [192.216 513.798 288.852 524.702]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_348c6523b219aee93545bb401dc0b813) >>
 >> endobj
-6834 0 obj <<
+6775 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 474.9657 191.7178 485.8696]
+/Rect [113.91 474.944 191.718 485.848]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6835 0 obj <<
+6776 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 474.9657 303.0791 485.8696]
+/Rect [192.216 474.944 303.079 485.848]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_aeb70a45d5ee0c7fac5f5d6c659fc69e) >>
 >> endobj
-6837 0 obj <<
+6777 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 412.2065 185.9195 423.1104]
+/Rect [113.91 412.18 185.919 423.083]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_e34390c17dbd12de9906817c4b6cf479) >>
 >> endobj
-6839 0 obj <<
+6778 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.7943 349.1135 456.8034 361.0686]
+/Rect [384.794 349.081 456.803 361.036]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_241f107b045949a58b49469a6a09caf9) >>
 >> endobj
-6840 0 obj <<
+6779 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.0202 286.3543 513.9963 298.3094]
+/Rect [481.269 286.316 513.996 298.272]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_6a869e3c010e87dff868fb410d4f0a20) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_5915be624de343f1598d246ee4f1bc42) >>
 >> endobj
-6841 0 obj <<
+6798 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 274.7329 156.7091 285.6369]
+/Rect [113.91 274.695 249.012 285.599]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_6a869e3c010e87dff868fb410d4f0a20) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_5915be624de343f1598d246ee4f1bc42) >>
 >> endobj
-6842 0 obj <<
+6780 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.5248 274.7329 232.265 285.6369]
+/Rect [336.317 223.886 462.143 234.79]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_a71726a7725f9269553ed9e594b0d74a) >>
 >> endobj
-6843 0 obj <<
+6781 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.0202 223.5951 513.9963 235.5502]
+/Rect [202.037 197.31 313.023 207.215]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_c3abadf1d96bef1880657113014d46dd) >>
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-6844 0 obj <<
+6782 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 211.9737 152.027 222.8777]
+/Rect [330.082 161.121 438.335 172.025]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_c3abadf1d96bef1880657113014d46dd) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_ca669c9659132e9fa6adc7a9afbef642) >>
 >> endobj
-6845 0 obj <<
+6783 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.8427 211.9737 227.5829 222.8777]
+/Rect [481.02 99.019 513.996 110.974]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_6a869e3c010e87dff868fb410d4f0a20) >>
 >> endobj
-6846 0 obj <<
+6799 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.029 148.8807 436.4107 160.8359]
+/Rect [113.91 87.397 156.709 98.301]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_1c76acbe653414cc28fac54c69622446) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_6a869e3c010e87dff868fb410d4f0a20) >>
 >> endobj
-6847 0 obj <<
+6784 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.0686 100.0665 435.4318 112.0217]
+/Rect [160.525 87.397 232.265 98.301]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_f3699ea93d8ec71859566480bede9332) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-6848 0 obj <<
+6785 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6823 0 obj <<
-/D [6821 0 R /XYZ 90 757.9346 null]
+6789 0 obj <<
+/D [6787 0 R /XYZ 90 757.935 null]
 >> endobj
 250 0 obj <<
-/D [6821 0 R /XYZ 90 733.028 null]
+/D [6787 0 R /XYZ 90 733.028 null]
 >> endobj
-6824 0 obj <<
-/D [6821 0 R /XYZ 90 610.4833 null]
+6790 0 obj <<
+/D [6787 0 R /XYZ 90 610.481 null]
 >> endobj
-6825 0 obj <<
-/D [6821 0 R /XYZ 90 610.4833 null]
+6791 0 obj <<
+/D [6787 0 R /XYZ 90 610.481 null]
 >> endobj
-6828 0 obj <<
-/D [6821 0 R /XYZ 90 571.754 null]
+6792 0 obj <<
+/D [6787 0 R /XYZ 90 571.746 null]
 >> endobj
-6830 0 obj <<
-/D [6821 0 R /XYZ 90 532.9051 null]
+6793 0 obj <<
+/D [6787 0 R /XYZ 90 532.892 null]
 >> endobj
-6833 0 obj <<
-/D [6821 0 R /XYZ 90 494.0563 null]
+6794 0 obj <<
+/D [6787 0 R /XYZ 90 494.037 null]
 >> endobj
-6836 0 obj <<
-/D [6821 0 R /XYZ 90 455.2074 null]
+6795 0 obj <<
+/D [6787 0 R /XYZ 90 455.183 null]
 >> endobj
-6838 0 obj <<
-/D [6821 0 R /XYZ 90 392.4482 null]
+6796 0 obj <<
+/D [6787 0 R /XYZ 90 392.419 null]
 >> endobj
-6820 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F23 2116 0 R /F52 341 0 R /F67 366 0 R /F74 478 0 R /F101 2128 0 R /F37 2043 0 R /F25 344 0 R >>
+6797 0 obj <<
+/D [6787 0 R /XYZ 90 317.699 null]
+>> endobj
+6786 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F21 2075 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R /F99 2114 0 R /F35 2013 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6855 0 obj <<
-/Length 2928      
+6813 0 obj <<
+/Length 2450      
 /Filter /FlateDecode
 >>
 stream
-x���r���_�Oβ�
́9�����dG)Eb�d
\�$�]`
`E)_��`˔�
-������w���0��U�W�K��L���
����?^�x�71��W�_	��Q.�X]�
� N	]]�~X�h~�!���K��E�/��^R�nv_
�۶��[u��/^�}�j�Orw�������#��
-����bAF,�(�3�ms�o�%��g����u}wI��I�a��{���ؿ�]g�^]�t]���/�w�ގZ��Vߢ������WA�N�	�e��Ň�xu
���#�+�z�F$��j�Q�����x��BJw���(�2�gfw�J��[��W�z�WM�Y�p�fA3IJ���~�
���b���_���Y��n��}��q��;O
*����R����lt�/�eLe
�6�|J�`x��<)�$]����%ʱc���#X&��DY����G(�
-�h�/��.�N������\�I�%D!��l�#n�HH�አ�s�gW�392��%E�j#G���w0�b�z�M�BB�3������Ì
�#F��p1զ�:G[p�h>&�mFV�d���n�ße`�Ws a��0{"�~��φטM�-�.K'@͙��9��	G���L�0[B�
�tDA$e&�t����Ϧ[��!꩚	�g43�{J3͒�*��`:��'��(�0�r%8�!Yڨ=�&��m����yV�y6�c)�dYm#�_}�I`��6�(��%Į\%"�����j���e�m���-F��5��cs��@b�PwH$3%g�ؚ!9c# �T�	� �Z�I8*�
���$��SqeP�P���M
�"&���^��AF:���|_�e[m�M���ܖ]W��Υ����[vh����ڲ�E�x���7"������F�܋\_�C	�W�e{u(Zж����
�)�s|�" �T8Xa[
���=���.zİ��%Y��ܼ����@�[���YQۋ�� [...]
ɜ�q|���>�
jJ�F���
Qρ &�%Q�g���g�D�焉fR�ړ:<^0Ot�8h
��H�fD�����8�`�z�
Ƭ)��‡F��Гx [=O�-���w�D	aC�W���
`\od���fW�T��YӦ�/U�g�z'�
-�3~� �KB,!X�v��(F��L7XDLWg�\��`�H�q�7�}��,�)ɧ0����,�m􋟪���}�w_
�\��̰�R�~�㛷��	cc�A�������6�' 3����4�ؓM�����X��Xd+���H�$�:oCb9�Q�D(B�����Z,B��U��
j���	���p��r�5�������ٛ��	��
��ʢ?BcW�.w��ҕS���ۏ��!�������=_�
u�u��
��L�;NL4�=���\qjd
���phZ8�!
��B>�����-x��l�T�aB N��;)�`I�
��(F2\���]�b�����C�E�o9L��U�GUC�:���l3�?�� �d����v�b$�e�A�1]nU$[X��o,�\�
-�)Qk�>��Oj�p
�����$R
a
-��
��%�w
o��i��%00���M���
�
-�M��T�n�%W��,)Ӄ�W��H��t�2c�!��d҅r�f��
-�u�����5U�M ��#C���d�:��Q&<��KH

� oͤKiΪ=������rۏ��
l��Y,/�v$�>��@ٍN����p�Ր�q��ѳ�
�VwT
�mr�l�+$�~�%��u��7с�?�qS�f{܃�Ss0�(
��b
-^�C��_����Ys=
T0�֦��iȥ9Y�!���
�%���_
�4��̙�oD�k�]�7O��P�W\��K �(0K�򉨀?_�u��
ە�U�
������vKu:ΗS��>^�pCȣS	��ގ2����_�8�,�Ia�OnfB�����[m�8[��~Wv�]�����
np� �F����+=Oc�
�a}bL$_�!Xh�}k1uz;
�}��c�NB��l�M>/���U�F_�D���fN�!^����i����A���$�]w��E�_?���(F
�l2-���P0(��*A\MA��}NP6S�,j��5hT��>T���ˏ�!;4��5�t�s�R�2E`��i��
.˸WJ��6�m�D
*v[F���.�����B]C�T=����2/%=xN�61��N?�ZsH��וCi��_WL��*�	�8��0Y�f�T�u����i��з��7���BE�>
Lڇ��q�C���so �����Cc_
��f
��E?1�"��4�B�+W�w [...]
-��Bڥ�iѧ/(����^��0͍�?��T�<�t
Ƚ��$0Aq�����|N%��!� g�)R��k>D���>Ι-p
f����Si4���F3��c;pȐZ��
��l"��J��/
�Zw2K�bSl�)����/$��E�hF|ҶAj!`F
J��e��)�<����.~ק^�'��$fV�!�r�ry&�!!��'n�S�]��o����O:;�f�MQ}4�yӶ��0�V��X�G"��e9
T߶V
	�>���_�<�3���ްv!�����=?�����珏�hۡc]
ZT�����ٗ/��2�/)n�f��$ϔ�gMو���5b���V�psor���K��M�endstream
+x��Z[�۸~���Sjc�
�)j�(н$�m�H��S�046=V*KZI�K}o�Y�8�lw
�a`����;���y��f�����5�^�"N�w��"�
9F�`�f�}�c�H�Xb���o؟��>^�]��O;�)��ߓ�2.�����Z�jѽ^�.~����5�
�XD�g����g������[�]~�6@|���b�$̟_g�a�|�:�����/����4�*C�f���i\K3�Nn�a�\fk5E|2'\(��of��0��=�E�BR��������|D#�=�U{/ ~S���3ߊ���O �<����BB�ϙ������$��=
�'a���j+�>I �c�$^��rA��&�����+󻳒�JۏIUˬN@�zR$A\I��0��0q۔2
cE *V
�z7F)D<j=��a@ŽGZ?S�|���1,	eT
�[C�#!�GD�(��G�1�ڙ��
+,�]GBb`�=J
16��
+��{+��e���X/
�w�H�#
+o	�1k1?f�m*W����"�
��q

۸�u�z�����G��Շ�|r�A{dH�D�O

.h�puu� !NV���#Ѫ�ӧj
1t�����
a/ (��� �����Ꝭi=�0la�
�� ��+T+�,��{3�>,)%��xVK��[� #�l�%�I� l.�ʈ��%�������ɽ �
���?�o�Q�'6��;N�G�
a<
+C
+ �7
+�� `�Mc�fb+8d�v�� pA��&�V��m@!NG/����Ȣ�
n�Z�:~OF6Řî�$ c�� 
_�{��|I�=̐
%^}�
+']��c�Q80��3�L`��)�zu�>�%?��FL�z��1�>˰V�ϊ���]�L
�=wL1��
`~*t�@⨊���)�|HWPk$w�0����\l
S�����ㅉ�
+;9�
=[�>b���Q�P������_��+� ��E#^\1��*BDg o�ɗ"/
O"/`#/��
+�7�
�@� ����,"�a����%���w�yE Q�p��r�n,�C�V�}5rn_O��
��#w��������qiYn_����
+=޺��q�P�
+9>�C,
+�@��iNNj�l���
�φ
�x.�Yy�;��f��8
�ՃnxC�R�N׺oU�lz��Ԏgw��o�F
��?���*�]Ր����
�Q�̷���ˌ�J�3v`�O p
�i��>[�#�Nw��;̼�a
�.@�Ӳ�Q��
�ЀI�A�Վ�m�� �8I
4� �u���wp�����ڐ|
��z��P�u�0
+������~��C�ő���x�x�˯M3^��2
�Ir��
+����7}\�Kz��WC�Nf�L����ZVU\&���u�Wrc�9��[���U
$� �t�9[QM
b��Fw���	\
���C=���GE\����]�����g#����G�m��� �eV��wG�����0��5�%�R�P��q��NJ33��Vp�
�c?x�@���h����G{�]9'iR�]Ԝj�%�]�٘�����y��ۇ�R%;tb�6�=P���D�
u
���
D�
07�P�W �uR)���p��u�k�(Y��;Ŏ�0rW#�L.�j�B�m��= #�f�*�Rlp`m���C�y�d�<�[�t
R�EO�F
+�jB�� ���K�!��p?��8Ī
!N�+?ͬ�Ll
(�`�x�h�mTP�vP�GB'�`�("�Y�++j�m�ջ��4�;�+r`�M��&��P ܝ��M��ș T	� ��!Hw�n�&?@�=%�&���q1�m}�Z�$M�P�Nʛ��=W���C��܂R�H�>/͋Rw�
R)�;���TQ������u�d;����ǒ�>��<�Wo~~k&&4��g�V��?+��#��A�� 
+"p�AQ�/~�&Ja����%�y���(g��MX�����)5:� �Q{�פr}����bו�)7�C�W�yj&c�� 9���s[ׇRگ�,��t'R��&����.Y���āj>�E�&��:L=���CQ�u�
�6���6=�4�Ϙ,��.:�\Ƿ>ÿ��&��`�/܊n��ܔ���$uq�Ta��

�f�0
���w��.���&gs
	��t8!Z��q7��
L�D�����0
�Gҏݚ���4ȳ �W%�)�\Ϸ��bS'4�N4���r�FT4�N�;fGMF��(
+%��N�ڭ��U��xw�xU�E]O�E�
ZT�)�q���]�����;�Ä�U��Or]���f���h� [Tǥ�������
py�6��$�C�
�|���$�j��Q����8�P����J�ߒ�c���S�_b,B��J
+�Ž}t��y��y�W%�?��
��8;��n%����� 
n��9 �T�^���9޿=7��LG��i�S��p����������+tȒ�DI}Y��q����q��&Rns+�}��m	D
��R���
4���
+endstream
 endobj
-6854 0 obj <<
+6812 0 obj <<
 /Type /Page
-/Contents 6855 0 R
-/Resources 6853 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6743 0 R
-/Annots [ 6858 0 R 6859 0 R 6860 0 R 6861 0 R 6866 0 R ]
+/Contents 6813 0 R
+/Resources 6811 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6820 0 R
+/Annots [ 6803 0 R 6815 0 R 6804 0 R 6805 0 R 6806 0 R 6807 0 R 6808 0 R 6809 0 R 6817 0 R 6810 0 R ]
 >> endobj
-6858 0 obj <<
+6803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.02 683.713 513.996 695.668]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_c3abadf1d96bef1880657113014d46dd) >>
+>> endobj
+6815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 672.092 152.027 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_c3abadf1d96bef1880657113014d46dd) >>
+>> endobj
+6804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.843 672.092 227.583 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
+>> endobj
+6805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.029 608.993 436.411 620.948]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_1c76acbe653414cc28fac54c69622446) >>
+>> endobj
+6806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.069 560.176 435.432 572.131]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_f3699ea93d8ec71859566480bede9332) >>
+>> endobj
+6807 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.942 658.9693 160.3079 669.8733]
+/Rect [137.942 454.461 160.308 465.365]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval_79370159de3dc1738441b20eff866329) >>
 >> endobj
-6859 0 obj <<
+6808 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.1502 658.9693 311.9595 669.8733]
+/Rect [168.15 454.461 311.959 465.365]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-6860 0 obj <<
+6809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 658.9693 513.9963 669.8733]
+/Rect [433.021 454.461 513.996 465.365]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-6861 0 obj <<
+6817 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 647.0142 182.0539 657.9181]
+/Rect [113.91 442.506 182.054 453.41]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-6866 0 obj <<
+6810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6856 0 obj <<
-/D [6854 0 R /XYZ 90 757.9346 null]
->> endobj
-6857 0 obj <<
-/D [6854 0 R /XYZ 90 716.2211 null]
->> endobj
-6862 0 obj <<
-/D [6854 0 R /XYZ 90 633.6552 null]
->> endobj
-6863 0 obj <<
-/D [6854 0 R /XYZ 90 573.1362 null]
->> endobj
-6864 0 obj <<
-/D [6854 0 R /XYZ 90 287.2085 null]
+6814 0 obj <<
+/D [6812 0 R /XYZ 90 757.935 null]
 >> endobj
-6849 0 obj <<
-/D [6854 0 R /XYZ 90 264.8968 null]
+6816 0 obj <<
+/D [6812 0 R /XYZ 90 512.669 null]
 >> endobj
-6865 0 obj <<
-/D [6854 0 R /XYZ 90 264.8968 null]
+6818 0 obj <<
+/D [6812 0 R /XYZ 90 428.932 null]
 >> endobj
-6850 0 obj <<
-/D [6854 0 R /XYZ 90 89.4414 null]
+6819 0 obj <<
+/D [6812 0 R /XYZ 90 368.413 null]
 >> endobj
-6853 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F67 366 0 R /F74 478 0 R /F25 344 0 R /F97 1822 0 R /F108 2791 0 R >>
+6811 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F35 2013 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6870 0 obj <<
-/Length 2804      
+6829 0 obj <<
+/Length 2042      
 /Filter /FlateDecode
 >>
 stream
-x��[ms۸��_�OWy�X���&�k�
_ۙk�~J2
E�m�(�'Q���wA�!A$%+I3M2
�����g€�X:�R˅Lf'tp���~��~>j.�����BɁ%V15��-(( �\ݼ
NOG@)
�r
-t8^��׿�2:��O���b|����x�t~~����}2�խKnN�_�|vРΨ J����S�$` (a�
-��*B��R�/;I���I~:b�"9ˆ��!
�Iy�ur�,N�
�l���fȔqTO~��5�+����N޾��T��'�pk��/(k�`v"�.ғ7'���_��G�c �	U�Wb�0¼��J�m��;�6�k���T�?=$�x�Z�R���_�8_e7hlw�_�����)��y����M�
Q,ͪ-BqM���0�.
-��g��P\��8 	�(#��J	�ҟ��4����
����
-��Po��]���,BN2"���Rk��)
����]Z��q~�{�
ҕ7	k.u��i�g?F�I
%a�R^f�
C:�tc�S�������^^�N��4��
'�k�E[״�Gb.���_G�ktQC`&�V��]ɷ[��h٦CF��N�a�K�B^j�'�1�s�y-�y�
�,K�Wٴ&Y,Q
�
�﨤���yv��i�a�����+a�YOz���C����E�r�(~��P�y��%�v�����no0�ޟ";
b
T�A����!w�Ae���,�f��r!r�HC��� ǚ(&ʲ���q!�A���� ��2�r^J�ߏ���u��X��p#��Vg?�
�����n/��bc���7�0���Z���i~�����
P��j]閔�G�ƥ��(��Ob�B-�
�RTIp��w��B
-��e��H��b:ɱ_*��S�˷��|�RSb�z@�����$Y.oW�R�T�i�
���[7�iR���o�����$/X)˸g�44�C����l�#JGm�e�G�`�b
��Jƪ�B�uq
GH��y]���@M�
-ja�.!;�qS�&d\����/�
l�#"��[E�b���~h
-�������F�-��!Jb��h�ÁW���Jo3_�o��FbQ���S���jͨ�h��5�P�%^C5�g�|�p.�-��ʈ��׺w�hk�0`)�#D5-���W�b���#�]�€hv��3v�V�v'n5ue@B����Ҍi�Z�&
|�V�L-��҆�����՟��R�&�p7�5lW��j�WpQy���@>ת���&
}��VH
p�VI��m����&�
���-�1>&X��ʲ�Ԯ���
F�	Lֈe�`�޺�)����?D��[_@\g
��žA���bU7��@]eⱆ �[ �k��nI�h4�v�%��p
Sw��	Ǣ�_�Uz=^.�w�W
-,.
<����}C:XqO!�B�}1kY�vx�Oѝ@�d�
 �`!$� ��0sW�����b}*����٩Z�rP�Ft�1�9���5�y��$�^H��K6� \Q��4��Z���WZ�j��*Z��Z���Y�`��у
7��	[
�t�jU�L}Ejw?��6eT�0֞��b
�y-ΧQ5���C�F�iזV�h
��Y�(�i�Jo���p-���F�6� �=�/>�bu��9�}(���w}E�IB�)RL7��)�=(�g�:K'�^��Z	�k%פ*�[�=ꄏZp`h=3)�v�@�
���V61��
�ofj�<
�ZҎL�yk�>b��]q�`���
���ϏS��H�q��S���r4+}F�
-ה��L����Y��-X I��a;̽$�ݩ��X��?u����u���� N�>�̷�U�K��
��>i6�
B��+�1���s9 ��h)m>��/&��q�Y'����n�
a�ۣu���׸v�7l�m{._��O{�Q�DŽ��N�0� tZ������>??x~���s��9�>>�?��������on|ni}Le���Ⱦ�����UpS�O�G�-��K�A��7�:�
Zw��������~��ȍh�ǰ�m��4�R�E���+ӗB|�-I
E�Q	���6�ubaT�u��61�6Y�dž�d�(z
pZ'�sL������`�,�N�$k~�
-�v��!U��nZ[
J�����B�b8��
-�6��ۚ��f}�eZQWǞ����d��%Q��
6�!K�xHs��+L���r�5�:���0R�[Bx
�����t-��?�X[,=NT�v[�GT6txT������8���a���4�n�!ݿd7��/����U6)��W�OV�$��Ӻ�3l��0�A����ق�����+��b/.i��;��D;���c�E?:�ޔ�����k�vu���>��=�T�}:^-\S��Y�6:]�l�*�!����R�������+zt�#%�qЀ�ފ�L�q�]���0Y�xYTK�>+��Y/�X���\���>�^��M�ŭ���:�?�Ia�"�)�>V�wI�,�Y�vQ=�P�������)�q�ݕ��#ir
y�4��2������)]�X����&��㷘��;֫��tl��=���!%���}븿-Re�~��
�>�Ӕ�]�0�7���Dc
���7��
ɠ���ۏ,mQ�<R�Vf�9��ev�,�Gd�
镳�����t���IK��QcS��*��gᣘJ5Xh��"�E`��f�D��L�����ҕ�Y&�?�����q����q��z���gd�
K���It�&I6Uô�
-*?�uP���Z��
��7�3��!�]'�}�?���=>>�ɒ���ÂL�3
��M��{4 at h�f�Q�h��@��(�-���:���
o�i�7gE:�r!�n����h�?endstream
+x��Z[s۸~ׯ��V�Y���t6��nv��vR�}J3J�l���T
��
\D�
M�N����I"
���"�n#
�2��ft�Z�H#-��nV��Q,	�D7��ݘD�dJ0��7���v���L(
���,�����|�l���Wye�v�G73������5!'��
��I����Ѐ`D�>�����K>b��dJ
_�	�C��&�����Ä�fIYz�7M�f�ɒ���k��ƨ��v�b:�R[���oF�
�#�\&b3-֣w�q���_#��Vѽ���8e�EoG�
�^�S��'�G4�7���NN�׻|Q�E�~*��ɫ�
�� J9b\7!DU[?w��e�����u������ں��c�ܓ�g�)=�#�GIə Q��1�A.�O��
|��J1�J�+�s��33���L�Va
M!
Z�_�:�����:կ�ـ��)·K�q��ƽ�j���2h�3�<��yQt�(�=�G��q��
�N$8
+a�ݡR"
�f��q��4nŹ'ﵛ6��2��OW�ٮL��٢ �>U3hg�mh	���xY�~q��{��o��iH1E�Ն�;��ȷ176 aΩ0Y�:���<Ks��O�d"T䣒�%[��/��3!t�*8�6���-0�Ђ#�j%����P�Jď9����[��6���_F�;��ژj�ٚ�l?�˽~>
�]ԝ���aa�각p�(� �2�>��j���,����hE�!Z 
�����b� �LC(�a~ɵ�v�ub����Ս�Q(&�
+��KWIV��EP[�ҕ7/ɗ�K�g{���Su���o�
�����U�ZG�@�Dz���?d]�i( �j?���
�bRA04"-QS���p_������3�O��q?�Z�
�8�)�O����?&��� ��~�f���4� �e�O�D
�s�χ�>�
N`B�m�W�A�?��/��X
������
d��Kl
��g�z������C����cK �Shy� 
�����C:�w�.
���5�3K\�o��K*��i�T��4�~��H��
@�Ee��ް��'��@�]z�R:v
�ϖq0��ڦ�ɥ�[,���"X_�ah
���O�ҵ�E�K�{�e��m��e�g?8���q�p�>u^'�r�
g���3&ŀ�� �	��A�	�/A��˙`˙��3{;@��E
+kV̞ҭ�=X�I$����#t+Ҍ}��N�^�cz�~KJy�o�2S��C)���xrK$�~
+rw�c����>|�&�`�Ӕ���X��fצ�eUW�0$�z4M���Д1�C���K�_ at a�����!
+S��.x��
R�rS>����T{Z���|�=7�M�3�˵��9z�v��|Er���5Ywc���B�f�b$��F)?�+�{��֟:�R��|��pI3�#��e������PMD2��J�b��o3`E��l,����_,d�]G�4�~�x}W�I��)�|�:�$�y��g.',92�H�c�Nu�
+�D�s�G k1I��
>L�5��s�(ֶ�P�ǻ��:0\�
S��]�\��,8�������tl_��/U��m���$,��I���� �fS�4U׽��U���>	��wi-I�pV{�	X������5u�e�
� ��j���9a
�I�(8=�
i%`뤮u�ťW%�J�c7���u�D\�>�!�Y]��]�y�{.{�<��BR����;G�_�z�E��c��ɸ���/4���~�4V�>4VI��cE��X�5��#�<v���1f[Zt�
f�@)1��c���lY��$8!
�%���;���pm� />Z�
�;�qtq�p\�U8�js\��z�C8��V8���8�z��v��):v�_������ܗ6�o���Z�TH�
|[J�z f�6�Ю@�*wi�ƪk�7<
@�?���*��OC��-�w�.g1����7�0�dn��0���@���K�y�������?*M1C�����\^\��ߣE���n�(�.6���so��LG�*�[o�b|��0�v]���?��!
+endstream
 endobj
-6869 0 obj <<
+6828 0 obj <<
 /Type /Page
-/Contents 6870 0 R
-/Resources 6868 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6878 0 R
-/Annots [ 6877 0 R ]
+/Contents 6829 0 R
+/Resources 6827 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6820 0 R
+/Annots [ 6825 0 R 6826 0 R ]
 >> endobj
-6877 0 obj <<
+6825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.583 654.028 295.607 664.932]
+/Subtype /Link
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+>> endobj
+6826 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6871 0 obj <<
-/D [6869 0 R /XYZ 90 757.9346 null]
+6830 0 obj <<
+/D [6828 0 R /XYZ 90 757.935 null]
 >> endobj
-6872 0 obj <<
-/D [6869 0 R /XYZ 90 733.028 null]
+6831 0 obj <<
+/D [6828 0 R /XYZ 90 733.028 null]
 >> endobj
-6851 0 obj <<
-/D [6869 0 R /XYZ 90 562.4863 null]
+6800 0 obj <<
+/D [6828 0 R /XYZ 90 716.221 null]
 >> endobj
-6873 0 obj <<
-/D [6869 0 R /XYZ 90 547.916 null]
+6832 0 obj <<
+/D [6828 0 R /XYZ 90 716.221 null]
 >> endobj
-6852 0 obj <<
-/D [6869 0 R /XYZ 213.9548 417.1255 null]
+6801 0 obj <<
+/D [6828 0 R /XYZ 90 606.434 null]
 >> endobj
-6874 0 obj <<
-/D [6869 0 R /XYZ 90 402.5552 null]
+6833 0 obj <<
+/D [6828 0 R /XYZ 90 592.32 null]
 >> endobj
-6875 0 obj <<
-/D [6869 0 R /XYZ 90 278.5145 null]
+6802 0 obj <<
+/D [6828 0 R /XYZ 90 461.282 null]
 >> endobj
-6867 0 obj <<
-/D [6869 0 R /XYZ 90 256.5365 null]
+6834 0 obj <<
+/D [6828 0 R /XYZ 90 447.168 null]
 >> endobj
-6876 0 obj <<
-/D [6869 0 R /XYZ 90 256.5365 null]
+6821 0 obj <<
+/D [6828 0 R /XYZ 90 276.079 null]
 >> endobj
-1541 0 obj <<
-/D [6869 0 R /XYZ 90 161.7755 null]
+6835 0 obj <<
+/D [6828 0 R /XYZ 90 261.965 null]
 >> endobj
-254 0 obj <<
-/D [6869 0 R /XYZ 90 155.1753 null]
+6822 0 obj <<
+/D [6828 0 R /XYZ 90 89.441 null]
 >> endobj
-6868 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F25 344 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F108 2791 0 R /F8 523 0 R /F23 2116 0 R >>
+6827 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F106 2741 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6881 0 obj <<
-/Length 1644      
+6839 0 obj <<
+/Length 2169      
 /Filter /FlateDecode
 >>
 stream
-x��Y�n�F}�W�C%�\��"��)�&��OI`���RBQ*E�u�����7���	� �
gggΜ9+�?��)��a\z��{�����_��ޯ<��N�K�d$���&� �Tov�nLbd����|B�8�W������:�_��8�|�����~:}��|���O��^O>�^�<'��b�� .
���̤ ��2�s����7�Օ�;�*��2�;�M�4�p{j�#q)Mn�$3|��bĕֹ�E��If=�:��M$�}���S�W�)5B����D��F�̐c����O*�{::��Et�
-a-�+�_�w�w
�~9ˆ-�;���C�ՈSV܄������a�X�

-`�JX+�˩M�e8H3rj��x�I��(�' �rĸ��T��(��*,{ʫ��Z����F���h;IfTY�!�l+�}|@)�J������ �Dc�V
|�U��z�g�</���ne�$H
�>�Y��E�Xn�����ҝ�/nmdc(W^ܛx�*����0\O��-����{�ih�
��� ��:HZU����,g�������T4�"�� ��K��u	GKY_w�	�bQ�5kw�����f��u��_�r����m�bC�B����5i���n
�D4ۈA
��YAx�
��c� �T�0d�R���>iqk�E���wȋha�e�-�]��h�b6ab
�,�ha�:�(��;��4.��4i�霉0��䴏4	L�if/
0�A�>Ҭ-_Ŵ�O`�	�bZL`�
TL N��_TE
�R B�.����dTd�As�f��ݻ➹�-����C��~s���9��)0/����a��^
v�.E�֥B�	\bmڝ����)d%��� c^��ǒ-g��l���aWWA�PFmZ�5ub�3��5�vv]�K`�s����G�upJY���1�t�����<"Z;�H�����c�7���SP0�6pr�
f<����c��KΠ��H(������	#�u���C���>QHRΫh-����� � 
m�M�fx &���|��Y\�]��.��ЦuuӍ��SgC�d[�Я�cĐ����	�"��8�J���|
-����� 
����~�8$
�=¡4�+�����p���������
�˳�7ـ�n��=
�����N�ɾ
-S�ٵu<�d
���>�|��2���뮎
)Ӝ�5_����)µ}����aUs����6C�D�����U��g�_���^?�Es�^���1�
D|ՠ�� ��VXf?��ܓ�6���އ�+�j�U��ö���H���SZ
a(�Nd�S�����&^��s�k��D"�w�
�
�iT���1R�Lo��
-+ԩ�	vaγs LJ��x
-'f�x���&�8�!
��\u�o���R#*xcC+[��G��ڨkhZ���h.��Cg�!�yo��Ҩ?���R�4�xB�N��n�J!�;z���F
-Dc� 
�t�3yDm ����ܔ��������!�9
^�.�+pvZ���BMK�2<]Xۂ�>SD�����W�U S|�W���(�*�m�u{^$�fzrrww��[����-����H�@��z�)�_�b�e�i	s�Q��=�u�Wb��U*�Zr��_�g��endstream
+x��[YoG~篘'/�5�}��@��%�
o�}�
�&G������z�zJ�#Lh�ծ���*5q�9��O���ɹd�AFRL��%	��Ep9$1<���݈��,Yͮލ(
����p�̮����̒������?o��ov_�}��<9'�F�b�� pvJ����e��1�1�0Ylx�@����|7S�����p��f�0[�5����0�Ò�B�–��������$ՋPH1�W�ˏ8X���F���6ݵ
+8e�3
+��;��:�
a)J
S�(��w�e�
�cm�
y����&�g+��(�����a��`/�����P"��[/��õϔT!BT�
�D��4K���x�`_0f� nd R #r���6]��h,�2J��RD�X�
��5%���Vzُ��S^]\{�q
+����}����e�9
+w��CU���V��
V*��!�L����Ғgg�� ��Ƥ��֕K���CL a�� 1/�
B<���t(���4Ҏ�ሃ�9.��.5��<�ի
F"X ,D�ĨC�}N�8œ~�V:��Mֱ��
/�~
��h�˦
�g�
��
������٭C"$���DR�+�
fu!l�����8�
1f���j]Ͷ���x4�P(l���vg_I=��߾�Ḁ�3K/��ɑѥ^g
+�#�����d[�+_J_}'K�J��{��n�
��q�'HW��rG�8��m��e4�	�W!Is~��rv�q^�#;�_x"��7��}����
�a��Eb/�����!�ri�
e"�
�<Ɋ��$R��p���cd�a�{��
ڭ
��F�B��	���S��ɪ-ejw�<�q�bX�Q�D������e�c�T��Жm��k��īԇ\
�[UL���������w{_���(���'�%R�cw�$����
�9c�����>�H_�J�J�[�#jD
��v@ڍ٣�T������
j�0O���kH�w��Z�y�0�78  -"�s�.~�Ej�iڃZ):�O?J$�YNf�'�D[EJ]S��)P.�[���AضF)tꤝI7��j��x_�:�[<m�]�Fx[Uv:R_�;v�-ϟ
������L�'��VZ-c���z0ul";UnΦ�
+-���N��~xd���R��]��Q��,hRu���}��=V5_���	��oF;��uZs
�)"�`b._&�/�����eb��M��sO�
�
s�ob�p�G-�)���\��j3sA��z��?3�|S����9�9}�,x1
�
}8G��w� 
+�zS�O�R�u@P����ߧ�<��
o��St�8�����O5#�}��ou&��
�w>����΍�
�IڨM�}#g�
uD/��?������ց�D��O�u�5 ~CS;�d��5����)�$
T5�E �>e=o6���
� .�l�o݊V �:G���(w���
+���o
�ؚ#0����8�Gl�l�Nb�~
�N�
S*ҿ�yZh�7���2��
|/��q���_���|�О��]���0���%�LТS��6u��|�]b6�zs�f, at 8wK�S�>�mh[U5
Ja�z��(oog���b�&0;�罀n�A'؎���λ��
�x˨iS�Ԉ�_I���{Q*AU�фQi�Q�R��t `�Z�3pT3�sy�ywի" M�
O�>x���e�E�P3���.����_N
�K��${��,�l0��w�
oS
�/��8L��p��W�

bQ��Z���?[��1�³�~mqA���!@��6�,B��u9�F6��ܔ��B���d�&Z���2xU�
(�Hh���� .Ć\`vɀ���C�=���
��WI���/�0Y�rk�rD����9OmC�2��5��Y�m��-��Gކ�y��
�
�o�I�*�~X!2�yf� �x�
�*��5�?�<1U�vNw	� �A��N�c�#c�.�7��rE���� �����W� J=t��h�d�#�ӉD�;/��_��
�No���f�ҶB0d�>I�a��6��d�%����������0�K��7ɾ��
qXK��ׂ��5g2{��6L�f1D.տg�
�I���aI�ɶ�0ȋ�o����Ҏ��@<|����x���/���WLS
��r���ns6���ޢ����&A���d���@tB 3���
��:�u��aq���F�?�`��
+endstream
 endobj
-6880 0 obj <<
+6838 0 obj <<
 /Type /Page
-/Contents 6881 0 R
-/Resources 6879 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6878 0 R
-/Annots [ 6891 0 R 6892 0 R 6893 0 R ]
->> endobj
-6891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 101.0398 191.16 111.9437]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_b82fb79015a9e4959fe801e608b2a0ae) >>
->> endobj
-6892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.258 86.6116 364.1404 96.5168]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+/Contents 6839 0 R
+/Resources 6837 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6820 0 R
+/Annots [ 6836 0 R ]
 >> endobj
-6893 0 obj <<
+6836 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6882 0 obj <<
-/D [6880 0 R /XYZ 90 757.9346 null]
->> endobj
-6883 0 obj <<
-/D [6880 0 R /XYZ 90 733.028 null]
->> endobj
-6884 0 obj <<
-/D [6880 0 R /XYZ 90 689.9691 null]
+6840 0 obj <<
+/D [6838 0 R /XYZ 90 757.935 null]
 >> endobj
-1542 0 obj <<
-/D [6880 0 R /XYZ 90 640.1859 null]
+6841 0 obj <<
+/D [6838 0 R /XYZ 90 733.028 null]
 >> endobj
-258 0 obj <<
-/D [6880 0 R /XYZ 90 632.9889 null]
+6823 0 obj <<
+/D [6838 0 R /XYZ 213.955 609.8 null]
 >> endobj
-6885 0 obj <<
-/D [6880 0 R /XYZ 90 560.6781 null]
+6842 0 obj <<
+/D [6838 0 R /XYZ 90 595.229 null]
 >> endobj
-6886 0 obj <<
-/D [6880 0 R /XYZ 90 500.4481 null]
+6843 0 obj <<
+/D [6838 0 R /XYZ 90 471.189 null]
 >> endobj
-1543 0 obj <<
-/D [6880 0 R /XYZ 90 450.376 null]
+6824 0 obj <<
+/D [6838 0 R /XYZ 90 449.211 null]
 >> endobj
-262 0 obj <<
-/D [6880 0 R /XYZ 90 443.1789 null]
+6844 0 obj <<
+/D [6838 0 R /XYZ 90 449.211 null]
 >> endobj
-6887 0 obj <<
-/D [6880 0 R /XYZ 90 341.2887 null]
+1501 0 obj <<
+/D [6838 0 R /XYZ 90 354.45 null]
 >> endobj
-6888 0 obj <<
-/D [6880 0 R /XYZ 90 292.7249 null]
+254 0 obj <<
+/D [6838 0 R /XYZ 90 347.849 null]
 >> endobj
-1544 0 obj <<
-/D [6880 0 R /XYZ 90 242.9417 null]
+6845 0 obj <<
+/D [6838 0 R /XYZ 90 289.313 null]
 >> endobj
-266 0 obj <<
-/D [6880 0 R /XYZ 90 235.7447 null]
+6846 0 obj <<
+/D [6838 0 R /XYZ 90 240.749 null]
 >> endobj
-6889 0 obj <<
-/D [6880 0 R /XYZ 90 119.8211 null]
+1502 0 obj <<
+/D [6838 0 R /XYZ 90 189.426 null]
 >> endobj
-6890 0 obj <<
-/D [6880 0 R /XYZ 90 119.8211 null]
+258 0 obj <<
+/D [6838 0 R /XYZ 90 182.826 null]
 >> endobj
-6879 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F23 2116 0 R /F25 344 0 R /F67 366 0 R /F74 478 0 R >>
+6837 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F23 340 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F21 2075 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6896 0 obj <<
-/Length 2890      
+6860 0 obj <<
+/Length 1494      
 /Filter /FlateDecode
 >>
 stream
-xڽ\�r#�}�W�iMU�X�/[~�7�˗TֻJ��X\r����a����ק13 1#QT��Kr��=}ΠPd��?21x��B�q9Y����>��4�gp}|ws���RL
2����m�A$(����oSBc�3�1�~�&x�(׋��k�����lU.���E����/�&[����ؖ�DO��./6�3*����b��_~�n���f�Y�T�)U���������h��&���߫�~Ǔ
�+���b��`D�����̽���t���S_��0���LOf�#-��FDB� Ox�|[�3B�D�N=���zA��,g�O�����Tt3C0|�
-6	
v#rd4a����k.}
p�X�$:g�B���nw���LE�μU
-��H
-�:)�/��n�
N�A
j��d.�}F��\P��s�R �B���&�l�~�(�/�H#QO�pB]�=T��h@$yuw�AX��X</�����
DM�e�}�U��<,�(!St��r6)�IRJEF&H�͒�

�M�
:*�H�F�Y%���(���`$q�1�=:���J��b�8f�
T�h�
-��
|�J֙Y\�F'�	�.Y��B⠪�����8<�:��|u���?2bP�GF�{d�S����n���ט.�l����E�߽{W�Ӽ��z�buk�T����U���X�:3;������W�4H�
ׯ3;S��1P�p>�,��m�y�k|
_��K�.�����/�d�����u-3��#P*�`��lj��X�5v$��ivAq
L��%
CB���U�[�������Bh���*��Ѫ�
`U?�@F�z:�<��Ն�g�֋2_|��z�/���D���)#0x�N�CL��H�f^���:8�W�� �]�I�ؑ���* �W$���
P���*%�,���� ��+A��	R�jA
��V��mY;���,����x_��|��!	�X�x�U*�d]�v�7˨,0�
�g�B�#&
���P�u�DL]����6Ʋa����@5Rf��~����4��1YpfiY
�/
qt^BtO���P� �,�R���V�1����ka� S�ra[�.
a�L�s [...]
-ά�
-�4���Q��AU�χT��(j�s���I��0P�i���aP�H*[E�E�k[����`�ͪu_�5���O��r�#�U���q�)��5F�
�
�3F�z�mYl�leo�I}�03�
��aZ/XG�ɛ%�)tx�>%�9������S�ӧv����>B��0�~+}*����Hi����{6�V)Z�*7mq��P�X��V<B��f-�b���‹T�����C"e}��w�����"�Q$Q��˞Z���q<�.�0����]�d��#v�U��HJ!�*�7<+fn�=)[U��%e
�P�ZnwVi�:�;_��мdО�X�q��E��*LNZ���c�*���i���C�T�k��{gTF���d�2�
-�fW)L<��Y*����3�p�d�7�2H �]s5$K �n�$�+���f8S
-1IR�.�,��ó� ��ٵЭ�u���r����@`F(���@��;N���D��$q:���v���
m�����*:t���PQXtn���;.�,E	I��C��G����B������c֪��mwI4��
��U��ol;b�\Q�`��)`��+`6 at nn�u���
<���	bX��0�v�pAr3(v�Rk'�,M��a�F;�T\O�0��}��J��Ft��~�:�̾ߺ����/�H1J��V)� J��ܣ�

�����M��O ��Mn�0&`p��S�R �*L�I��Xݢ
�/v�*N�#�[��nU�CtP=N��Rc@
4���[70_��7�fHԠz�b��i�Hsy�m"�)Xj��1�]�-��E4��|Mk��iq�}�u���w����;P�b4�Y��\9��L~��ܢ�S�9R�9GD��}D(��NS:u4�E�Ό��}�Z�ʦ
�K�SBkct�pmc�G��Y�D?:��8D���E�8���ˆ;
-hҠ�Q�UG��H
��ӂRg�B�/���y�7��??�]�R!-$�y�j;T.u�>��\@ n�"s�#Ffg�#�Y(�fM��8T�~C�-�47�����U·����4�˃]t��*
R����{��\��
H
�u��L��g�"�8��C�n�<D�>]
�H�<�H3���<�6i���~lg�1�3o���0�
������
�D�#����#���_/6��T!J~�
��x=�hI1'�<FM4K�:F�͒�
F��׭�Տ��U/6���s;�i�:���_�b�[��|uXo{84F�k�ȁ�JE����n��3�H��gmD�>"
�f���S��}�Կ's��W�|ee9t�	#��
������?�/�
�W ��b.@5��.�ފ"�V�<�M8G��M���U��Gw1�F�z�A��
��nB��X��F$n4��m�r�mU��n_f��}�Ke =��\Ĉ�X=�ǩ�$�G�|
w�]�5�1����fi
-c
���$�Y܊=��q=�Ŷ
8�LC���=>|g�
-,$��v�i��
�3u��:+��CY��j\9��/�܃�I���e���=��~8�v�!��;�Xl����q�
fIL;�~;��ρ��偋� !�w&��
 �.��_�׿\�H�Z���PL7f��� o\��:
U��u��o
�o�?4P���.+��b�h����[
��`]e�q�����ӌA�)�/~+�*Q��W�3q�~��f�7�?�������1���޾���+Z��a�oK���n��o{=�=�g��#7n�zXZ���A���r붬�a�
&|��
T��
A�?~��endstream
+x��X�n�F}�W(В@��
�K
+E��I�����ڗ8hie1�H���_��
)��%ٍ� }�LQ�ٙ3g��;�v~
��'/�D(
+h��N�
�)q�3�Kb���{����2��{�yz���"��N�����^�'o�2Q�nԇ��+&g
9���ͼ��W'/i�G��(����'�������Z1�1!‚j��M\��fZzC�1���+��4.���^�e�Е�T��E�RA������ˀ�
�
H0�L���3���
�X:�z���)���s1�}���N���N��?�e����v�\O�dU&y���C�#�G�Ѳ�f'&d��V
ʻ���%��B�����5��r޳�!
+oR�fۤ�mR���D;@+�Qģ��jm�07jX�L ��ˆۼ��,��
=�r��4UB{��-|z�E����a���80^X2���f)�2�lѷ�ya.�E�6W�FA�j���2�p�2o^���YYYK�ܣܽM�ks�c�ʑ.���	��B�e(�������Cl_�R�X�������|�)2��k��0 ����6��(�HT�
+\�0ڭ����"��Hyĵ�
`�DH �"�b��
�0(K��X _f
Y$%��g\A�-����y�GV� e��Pkc�
�5�{7�r��Q�����P$<~�q�F!
x_q)9�s6�(��tc=����]��ӧ
k
�߅���0�������G�jJ{�9�QC�E�xd�Z
q��hc��A"�|
L%�oQ�ң��J@����)���]�',��k��ϳ�*��j���b��!�Z��P][��v3B��
h�-L�
�I�L�
�C�����Vh3��n���V�:�d\L���2
k��q9K���o����_�S��m����lPUo�h��wI6M7��:�
���uZ�Ze݄�;-��~2E
���tꃪg�}o��Wc�{�;�\���X#����_l��b�ő�JV�� }�=�2'���
���Lk��2�CGCg��tLV���
�; <��)(���}$ f��39�7���)ģ�-/Fp� �
�,7Ef���+�h�ݺ'
+�{��ʖ�d4�����_��N@��<�"��`O�����h���|T�l�{�q�%�z��a#w
!�?�3�p>�
�3|O����3
�
��C�
���Xg��+QR�i�@C��E
�6�N
+���݋z$�7�I�ٺ�'��zS�Z+���*�fu?-�$[��\��k=|d2�T��bY7����+�^v$mE�
[���)
!w�x�
ޫ
xq�T�q��o:�7
ϻ��	1���|ӟ8=2s�`.������3-�q���z>�I`��h ����ȗ��e(��H ���P
!���]<�k5�x����|�c-�<�]K�7q��S����X(���K =�T|�L��	�S]�6���:M1C$��(�������M�h�%�%�	L�'�C��
+Ql����`����ͥ>C�n�
���
+endstream
 endobj
-6895 0 obj <<
+6859 0 obj <<
 /Type /Page
-/Contents 6896 0 R
-/Resources 6894 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6878 0 R
-/Annots [ 6899 0 R 6900 0 R 6902 0 R 6904 0 R 6905 0 R 6906 0 R 6907 0 R 6908 0 R 6909 0 R 6910 0 R 6911 0 R 6912 0 R 6913 0 R 6914 0 R 6916 0 R 6917 0 R 6919 0 R 6920 0 R 6922 0 R 6924 0 R 6925 0 R 6927 0 R 6928 0 R 6930 0 R 6932 0 R 6934 0 R 6935 0 R ]
+/Contents 6860 0 R
+/Resources 6858 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6820 0 R
+/Annots [ 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 ]
 >> endobj
-6899 0 obj <<
+6847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 278.75 191.16 289.654]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_b82fb79015a9e4959fe801e608b2a0ae) >>
+>> endobj
+6848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.258 264.31 364.14 274.215]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+>> endobj
+6849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 706.9608 191.16 717.8648]
+/Rect [113.91 240.257 191.16 251.161]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_701574facbfd5461d399dccbc88a2999) >>
 >> endobj
-6900 0 obj <<
+6850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4971 706.9608 295.7467 717.8648]
+/Rect [218.497 240.257 295.747 251.161]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6902 0 obj <<
+6851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 668.1065 198.9087 679.0105]
+/Rect [113.91 201.765 198.909 212.669]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_e9cc837bbae1745ada3780634c73858f) >>
 >> endobj
-6904 0 obj <<
+6852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 629.2522 191.16 640.1562]
+/Rect [113.91 163.273 191.16 174.177]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_e7df198cd5bdd6e9f87192fb3170261f) >>
 >> endobj
-6905 0 obj <<
+6853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 590.3979 191.16 601.3019]
+/Rect [113.91 124.781 191.16 135.685]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_9a14be758de0e77faef8de4a11bd8e8c) >>
 >> endobj
-6906 0 obj <<
+6854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.9756 590.3979 230.1632 601.3019]
+/Rect [194.976 124.781 230.163 135.685]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6907 0 obj <<
+6855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 551.5436 191.16 562.4476]
+/Rect [113.91 86.288 191.16 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_5a74ca4d6d20b677bd8e4bf05dd45760) >>
 >> endobj
-6908 0 obj <<
+6856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4971 551.5436 262.0034 562.4476]
+/Rect [218.497 86.288 262.003 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-6909 0 obj <<
+6857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6861 0 obj <<
+/D [6859 0 R /XYZ 90 757.935 null]
+>> endobj
+6862 0 obj <<
+/D [6859 0 R /XYZ 90 733.028 null]
+>> endobj
+6863 0 obj <<
+/D [6859 0 R /XYZ 90 678.303 null]
+>> endobj
+1503 0 obj <<
+/D [6859 0 R /XYZ 90 628.139 null]
+>> endobj
+262 0 obj <<
+/D [6859 0 R /XYZ 90 620.977 null]
+>> endobj
+6864 0 obj <<
+/D [6859 0 R /XYZ 90 519.077 null]
+>> endobj
+6865 0 obj <<
+/D [6859 0 R /XYZ 90 470.513 null]
+>> endobj
+1504 0 obj <<
+/D [6859 0 R /XYZ 90 420.638 null]
+>> endobj
+266 0 obj <<
+/D [6859 0 R /XYZ 90 413.476 null]
+>> endobj
+6866 0 obj <<
+/D [6859 0 R /XYZ 90 297.542 null]
+>> endobj
+6867 0 obj <<
+/D [6859 0 R /XYZ 90 297.542 null]
+>> endobj
+6868 0 obj <<
+/D [6859 0 R /XYZ 90 259.17 null]
+>> endobj
+6869 0 obj <<
+/D [6859 0 R /XYZ 90 220.677 null]
+>> endobj
+6870 0 obj <<
+/D [6859 0 R /XYZ 90 182.185 null]
+>> endobj
+6858 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F21 2075 0 R /F23 340 0 R /F65 376 0 R /F72 471 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+6902 0 obj <<
+/Length 1671      
+/Filter /FlateDecode
+>>
+stream
+x��YKs�6��W��J31���'�Ɠd��S7v�C���$$sB,V�_���L9�,�ӓ \���� ���ޏ�\�N�9���PǺ�Y>�\� N�uY_Ƅ �&�c<��<�4�^L(
�dy#�"����EP,OO��L��폼�o,�2���r<>K��l���L4�P(����ԥ�oWGo�F��(�-���.r��t���"x��ˆ���гR˦
~�r���6��.�<0Ա����{�K�o�}S�Id��nD3H�Q�X(��u�]�.��y��,����!��YY��|
�Y����e(�AM�Cؼ^ӕ#��v�6;O�q���1eaJ� �ү��
!����x�������+xkW?�Iʸ��cm�y9 KM{/2Q�,�d
�A
+�l��"�{��|�ހ�%6�����A���lJ�lD�ߕ�9��]��;����#����5�F�\
�f� ��R�,�F��Y��������6.[A��I��M w0�o�%�XD��$����s����s����AG$�� �`<D$%C6�s�یv��q����}��)
�d��8�uRQ��X����6�m���:���x���f����Xg2���GC�
+ê�W����%q���� S0ݯ����k�{0xQ��LY:�����7��2B1�����/����YTu�m�֯������[V����5g*�+5
+�����!�q�h�l O9�����xR��Ⱦx2�)̹?
xgR�&�+Ui���VEW�����P
�J0m�3��
ѭb�M!В��u2��O�m4��-+��d{��v0�;���q6@Q��D!Аc�9yg72�s���.�P��	�F
UE�"�9J�5��#
�ܥ; �� 
�7�C�&�&�T��XN��_�]�*H���8�^/+Q>'z���r!LV����~V
+i�V�$o0���|�uN����e֪
j� u|����`ă�d��}�����.��Ңn�� 
�dpڪ�c�yY���G
�;��[}�[�{�rP�q<��4b��.�ٻ�c6�:וU�E��9
+FN���_/�>|h�M��v�P��j����C����(4�?��
���,�B��
������Z�g��)+����H��"��v(|/
+}�5PmD
���`��"�j��]3D'��wl4�q;zɼ?�
�U�¬c���C{p1���{�w{���p-e�K�'2��
�x ��d�9����!�Y1��X�C
`����hw)[�v��F�C�G;LSvF��Q"�C]��ISϷ�
$�ir-%ꅂ��D�C"�9�3��9X��Pa�A>=���9٘���a(���)YN8*B������j���UQ�m��ojMCU�a(�rV'��̀v���I9(�Zt1-Z��K�_>0�0F��D�z�lzv#B�ڿ��غ4H�;�Չ
u@
�4�
jVw��P�0(��\D�8�=H
*�j1�	�N��G�Ǥ��E��/��az�� Y��̀ =M���Q���w������JB at Fra��Θ��s㯫����H�&���0n��[��ϟ�(~Qi��� �ۭ�"��%���#�_@'��w���R��Ƽ�V;�4��앦��y����ӓ��b���Y�(�N�<9Y����ҟ��ڣ_�&vQS]p�A��P�-
+endstream
+endobj
+6901 0 obj <<
+/Type /Page
+/Contents 6902 0 R
+/Resources 6900 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6820 0 R
+/Annots [ 6873 0 R 6874 0 R 6875 0 R 6876 0 R 6877 0 R 6878 0 R 6879 0 R 6880 0 R 6881 0 R 6882 0 R 6883 0 R 6884 0 R 6885 0 R 6886 0 R 6887 0 R 6888 0 R 6889 0 R 6890 0 R 6891 0 R 6892 0 R 6893 0 R 6894 0 R 6895 0 R 6899 0 R ]
+>> endobj
+6873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 512.6893 191.16 523.5933]
+/Rect [113.91 696.002 191.16 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_4124a10b953c4c49984524875a257f3a) >>
 >> endobj
-6910 0 obj <<
+6874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4971 512.6893 260.3199 523.5933]
+/Rect [218.497 696.002 260.32 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-6911 0 obj <<
+6875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 462.8761 191.16 473.7801]
+/Rect [113.91 646.189 191.16 657.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_04aff92d245522832391c1704f455992) >>
 >> endobj
-6912 0 obj <<
+6876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4971 462.8761 283.5625 473.7801]
+/Rect [218.497 646.189 283.563 657.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator) >>
 >> endobj
-6913 0 obj <<
+6877 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 413.0629 191.16 423.9669]
+/Rect [113.91 596.376 191.16 607.279]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_158df02c8c54fa5a9286836fb01563cd) >>
 >> endobj
-6914 0 obj <<
+6878 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.4971 413.0629 268.6288 423.9669]
+/Rect [218.497 596.376 268.629 607.279]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-6916 0 obj <<
+6879 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 374.2086 179.5535 385.1126]
+/Rect [113.91 557.521 179.554 568.425]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6917 0 obj <<
+6880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 374.2086 250.6661 385.1126]
+/Rect [180.052 557.521 250.666 568.425]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_c1b93dcadc82e52690114301554801b0) >>
 >> endobj
-6919 0 obj <<
+6881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 335.7279 297.7285 346.2583]
+/Rect [253.933 519.041 297.728 529.571]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0ed481e43baf024d4a5b5e86e85c4a87) >>
 >> endobj
-6920 0 obj <<
+6882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.5441 335.7279 336.7317 346.2583]
+/Rect [301.544 519.041 336.732 529.571]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6922 0 obj <<
+6883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.9332 296.5 342.2613 307.404]
+/Rect [253.933 479.813 342.261 490.717]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_a8f43e35dec15be4374b207a9440eb2c) >>
 >> endobj
-6924 0 obj <<
+6884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 257.6458 191.7178 268.5497]
+/Rect [113.91 440.958 191.718 451.862]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6925 0 obj <<
+6885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 257.6458 288.8524 268.5497]
+/Rect [192.216 440.958 288.852 451.862]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_bca5613972564c8ec5c832bc8ff200d6) >>
 >> endobj
-6927 0 obj <<
+6886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 218.7915 191.7178 229.6954]
+/Rect [113.91 402.104 191.718 413.008]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-6928 0 obj <<
+6887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 218.7915 303.0791 229.6954]
+/Rect [192.216 402.104 303.079 413.008]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_3a808cf2742df02d856a8d9882845861) >>
 >> endobj
-6930 0 obj <<
+6888 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 179.9372 181.845 190.8411]
+/Rect [133.915 363.25 181.845 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_b48b93c69098ab1dccd8d063f9c41575) >>
 >> endobj
-6932 0 obj <<
+6889 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 141.0829 181.845 151.9868]
+/Rect [133.915 324.395 181.845 335.299]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0912217f15a36eb486b243ee592f3379) >>
 >> endobj
-6934 0 obj <<
+6890 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 102.2286 154.727 113.1325]
+/Rect [133.915 285.541 154.727 296.445]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_e1dfbc8be3858f2423df19c32e043110) >>
 >> endobj
-6935 0 obj <<
+6891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 247.06 176.505 257.591]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_298a32e26d8133869f28560cca4ba73b) >>
+>> endobj
+6892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.408 232.066 450.955 241.971]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0912217f15a36eb486b243ee592f3379) >>
+>> endobj
+6893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 197.247 150.493 207.778]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_5bb7f6903958069b19f70d1391987a51) >>
+>> endobj
+6894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 158.019 156.281 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ede3aa1f7d5925d31d3f66faf655dc66) >>
+>> endobj
+6895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.097 158.019 237.346 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+>> endobj
+6899 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6897 0 obj <<
-/D [6895 0 R /XYZ 90 757.9346 null]
+6903 0 obj <<
+/D [6901 0 R /XYZ 90 757.935 null]
 >> endobj
-6898 0 obj <<
-/D [6895 0 R /XYZ 90 726.0541 null]
+6904 0 obj <<
+/D [6901 0 R /XYZ 90 576.615 null]
 >> endobj
-6901 0 obj <<
-/D [6895 0 R /XYZ 90 687.1998 null]
+6905 0 obj <<
+/D [6901 0 R /XYZ 90 537.76 null]
 >> endobj
-6903 0 obj <<
-/D [6895 0 R /XYZ 90 648.3455 null]
+6906 0 obj <<
+/D [6901 0 R /XYZ 90 498.906 null]
 >> endobj
-6915 0 obj <<
-/D [6895 0 R /XYZ 90 393.302 null]
+6907 0 obj <<
+/D [6901 0 R /XYZ 90 460.052 null]
 >> endobj
-6918 0 obj <<
-/D [6895 0 R /XYZ 90 354.4477 null]
+6908 0 obj <<
+/D [6901 0 R /XYZ 90 421.197 null]
 >> endobj
-6921 0 obj <<
-/D [6895 0 R /XYZ 90 315.5934 null]
+6909 0 obj <<
+/D [6901 0 R /XYZ 90 382.343 null]
 >> endobj
-6923 0 obj <<
-/D [6895 0 R /XYZ 90 276.7391 null]
+6910 0 obj <<
+/D [6901 0 R /XYZ 90 343.489 null]
 >> endobj
-6926 0 obj <<
-/D [6895 0 R /XYZ 90 237.8848 null]
+6911 0 obj <<
+/D [6901 0 R /XYZ 90 304.634 null]
 >> endobj
-6929 0 obj <<
-/D [6895 0 R /XYZ 90 199.0305 null]
+6912 0 obj <<
+/D [6901 0 R /XYZ 90 265.78 null]
 >> endobj
-6931 0 obj <<
-/D [6895 0 R /XYZ 90 160.1762 null]
+6913 0 obj <<
+/D [6901 0 R /XYZ 90 215.967 null]
 >> endobj
-6933 0 obj <<
-/D [6895 0 R /XYZ 90 121.3219 null]
+6914 0 obj <<
+/D [6901 0 R /XYZ 90 177.113 null]
 >> endobj
-6894 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F67 366 0 R /F101 2128 0 R /F100 2135 0 R >>
+6900 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F99 2114 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6943 0 obj <<
-/Length 3014      
+6968 0 obj <<
+/Length 1051      
 /Filter /FlateDecode
 >>
 stream
-x��\�r7}�W�IKVL���v]���k�%I����b��%)+��ocf bn�PS�T�R<�>h4�13$
����%2���bs�'_����"��s�|
�q{������rr{_X�	J��v�˔��lN0��O3���a��}�Q<ݭ���!����r��77W�<;�}���0#z����v6�O߭��|�s~���o�5M��REf���p���g[
F0I,��]���,aP?\aČ�'x�1�N6W�2�f}�����N�A񅮘p,�fz2g
i	�� 	!�8�N
�El��	EF�z	3>��'X"�4�x���_)��
ߢ�MB�-�
��K82Xʺ�/�ݺ�	 `��k?:|�0?�

>Še�2Ȏ���n�˖-
J ��J�ߡR�,cX#�X��iys�:�y�)s��'��P�H:�ơ.O B]�-<�h�)y�����΍e��c��$��Ì��nc���V�79C�S
��w�%�f[!eWI�mi���}�`_��a��4ߗ�;��Sv*W6�l���þ�|\���/_���b0
���E�7�<:���s�,7{?�;��b�溘ǂ�b�=��,9��D�t�1QnMKUrUγ�
�1?UC0	��C8���W�Y�#���0��U�ϙ�$l�2���0-�"(�����y&���X�>=
��wʦ;�����1��GR��[ݗ
���X��p��~�5��T��}�>vZ6���
wwz�O+@K�oi*�(�j�՝������`���aIu
F�=�ש{�oT��~�{�Aˮe�[�a�p��C��
-��V�x�T���s����1!�(9l���,�w�–W�W�[9�z]��|�>��8�~��l{��Y)p�b��

�|ٿ0 ��Q�5%�s�S
���
#0[q�~a�~���]r�h
�ڮ�;�8*|�E�n�E?����BD�H��<Cm��h��.��Wh�ad��
>Še�(i�MD�@4�P���4
�J��L#�aW���~��y��`�����FL
̲����;�
-
-+�_$���ۀ�V��CD!i0�@�
f@�,��+=�	�Ę0�6:�Y!b�*v>��uQ���/k���|�z�������V�ǎ~Tp����7�ԅ���yXR�
�R��뤮��X�%tq
-5X�sD�*|�Cˮ�\m�]�w��}�Z��*�i�E�ZS�q�s$l{���q5��쏻�>[�w�q�,d"k�)K��a�D7�̗/}+
-�@1cF���FD�<��r�B�>���6�U�\D�|yaY��"��
 }���f+x�y�jc�){ۮ�eP�{t,�s�J� 1�f
"����t��x/�R�5[�	��Ȕ�9XZ��1���2�=��[�	Fu�G��9|�Q�n��nW�U�^��4b`3„&��P)�%�Ә��Fp-��b�1Uh#�
fy}�Qi��ž
�f;W���T���\@A����
��{¯K��ߋҽ�c@�'��V�&�v���CR���C���j�
���H��Q�zh#��fy�����K�)����bx���HyK�
-�����X�G��\����}T
���D����Ҵ:�+U�b��X4<(΀2
�"5�-��`�i9p�
��ݴj}��v-��Ts�%�J��⺞s��
�EԸ}�l"��+T�k�B����Fy[��3�l{*��^`F#J^R均��l���S�
�:����e

-��/l����xXRRb
A)4aɆ�KJ�����%׻ݍ�d*Ju`oJ
ERp���p5��}~�N��wmI"��0�ݚT��)c����$B�wJ3�jSM�����S,Zv�c��B�x(<*A�1��N�:'o"�, �~>8"
�"Ӳ;("\�vh2��	n�LAL3"4&�PI"N����FD�=�_��E��׹-�[g�cPl
5�.��� �0{�@+�w
V@������.��¨�i*#
-q!�+֍̞�aNS2�`i�
���8;/�!�
d>B�"f0$�B�ũ:\�jT�T:Jq�Q	�V�P�1����v������[@�p�;
���xsS������U��E9�n�r�s{).�69������v����pНb�P)����p�Ǥ�j(�%fc�0��B{=)�v�a$)Ⴥ����1�Ą��
R)��&u��Ò2
-�	vWc7\cT/��U��QM�`�b �q�^�+w��ͩ���>E�ew`�+�=��XxT��-w���Z#q�W��A��.`�6b:�`�X�����u���k��S*���D
�����x���2��@#T/n�T
�F�ɠ��yK���+^�s�J(lKW��^)6��l8�B�O�h�
(�
v.���℀��:��#iA�(M
l�4��^�i���]�r�0�
4��6�5��8I]��2�G+S�����
W�Ջ�)A��jT�)S�f�Lq^��3�T���ʔ�Ѳ{�2EcqV�8	�L5�3I5
�O�i�
x&	�_�x�=*A�8����$Q�-F�j�C�����L�K��T��Li=�C�J�+j=�p��C�V����B��u>�v����\�<��<j|?�P�c��
-N`�=�F)I�N����S�V����!S��ŗu�uU�(B�w��w���]��m&��M��Ic����w������]��FG�0qߌ<�����t�d�F]1mĤ��^O����������P����(4�
�2��mK
w`p�r��y��]�����w��W��@���
�;J�,൙��r��.'�ձ
C�a=�9�_Nr���݁���f��C�Q)*{�u�D����G��g%t���bR���X�>�^|�0
�CdyD��_�(���HS�)fG1�
^�HX��.�����g8���w8ʷՏq�o�s���tW��S�}���{־YS��|�T�{�G�?��G�gr�������{�cXkT_��(�FS�h[v�N���۷OOOhqD�����V�����m������o�'n�A-.��3m� �B.��*�7�� ��)~
��B������`endstream
+x��Ks�6���8�䤄� ��1���4�qm�;��)8攄����� )Y
+��$�qr���v��;��G����ˁ�;�)�`�
nA�@�c����1��:.F��F6�3><w����|�.��y���K������I���E������W)/��y!nE����M��&u>
�Z��'
��!��bX �@�YW��o�4
+�̌ʀG�z�����B#"�U�]��L�jE�ӛ�i�ٍZ�i�Me\*
+��FvG��=�諧~M[�\�LY��&����kU/�=�(ɄԆ��$e�7�<,&<��׫��a׈!��+B�B���i��:
.�`�k�.D9�e���N8��I6ͪ�Y���H���~�
vZ��y-��Q*
�lت���f��0�vr����@��6�ȤLx�|������U/�z�u��y|C�:�
�)[oS�*8�;��
��6��"���mh-Uͨ-<vWv���fʅ�\�U�5
Y��.� Rӣ�ڛy"�h�0��P���6;a�����r��Xg���_�?�L� ��v2R3s�:
+|����#�L�j�
+\�Y�
�S�fȋ)!$�7�A�d �͈��>Vם ض��J���,�"��X�:��0��Q˜'e��B���EU7(����xx+>�.�x��ǕC�-��O�`�E�*�|9
C�;G�������#&G����r���������/�7i�}���}�#�{$���AOC�F|�
+�u��s89�gD�6�{�[����m�H9Q���{޾�J�~�
��.		�fH,��P� �.�������
+Б/���w��}2V'����+�G��
������}q܋
܉D{+=�g���N�q'��Ǣ�b��w�E���чQ�
æ�"�X�ᠱӹ.b��z�m*�N�>S^�:�"��a̮m���)Ou�{-J�\Au����jCǥٗ��R�?д���=�&�B
�M~W��~�7��`\��L&9L��d���.�,�`EK0�~n�5�8�m�H�2�ܾ���Ĥ��
+endstream
 endobj
-6942 0 obj <<
+6967 0 obj <<
 /Type /Page
-/Contents 6943 0 R
-/Resources 6941 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6878 0 R
-/Annots [ 6946 0 R 6947 0 R 6949 0 R 6951 0 R 6952 0 R 6955 0 R 6956 0 R 6957 0 R 6959 0 R 6961 0 R 6962 0 R 6963 0 R 6965 0 R 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 6987 0 R 6988 0 R 6989 0 R ]
+/Contents 6968 0 R
+/Resources 6966 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 6820 0 R
+/Annots [ 6896 0 R 6897 0 R 6898 0 R 6918 0 R 6919 0 R 6920 0 R 6921 0 R 6922 0 R 6923 0 R 6924 0 R 6925 0 R 6926 0 R 6927 0 R 6928 0 R 6929 0 R 6930 0 R 6931 0 R 6932 0 R 6933 0 R 6934 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 6948 0 R 6949 0 R 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 6959 0 R 6960 0 R 6965 0 R ]
 >> endobj
-6946 0 obj <<
+6896 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 707.3344 176.5049 717.8648]
+/Rect [137.432 697.274 203.075 708.178]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_298a32e26d8133869f28560cca4ba73b) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-6947 0 obj <<
+6897 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 692.3401 450.9552 702.2453]
+/Rect [203.573 697.274 296.324 708.178]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0912217f15a36eb486b243ee592f3379) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
 >> endobj
-6949 0 obj <<
+6898 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 657.5212 150.493 668.0516]
+/Rect [277.005 682.679 346.908 692.584]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_5bb7f6903958069b19f70d1391987a51) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6951 0 obj <<
+6918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 618.2933 156.2812 629.1973]
+/Rect [157.437 658.845 194.297 669.376]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ede3aa1f7d5925d31d3f66faf655dc66) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_baf335015f8c71026d2bee65ce4d109f) >>
 >> endobj
-6952 0 obj <<
+6919 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 618.2933 237.3465 629.1973]
+/Rect [157.437 620.044 188.759 630.574]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) >>
 >> endobj
-6955 0 obj <<
+6920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 537.5308 203.0748 548.4347]
+/Rect [160.953 580.868 238.203 591.772]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6956 0 obj <<
+6921 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 537.5308 296.3242 548.4347]
+/Rect [248.942 580.868 268.08 591.772]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
 >> endobj
-6957 0 obj <<
+6922 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 522.9101 346.9078 532.8153]
+/Rect [113.91 500.182 191.16 511.086]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6959 0 obj <<
+6923 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 499.0501 194.2975 509.5805]
+/Rect [191.658 500.182 232.465 511.086]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_baf335015f8c71026d2bee65ce4d109f) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_62b7a88cefba86a6731c6b46487fc28a) >>
 >> endobj
-6961 0 obj <<
+6924 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 460.1958 188.7586 470.7262]
+/Rect [259.802 500.182 337.051 511.086]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6962 0 obj <<
+6925 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9531 420.9679 238.2027 431.8719]
+/Rect [383.208 500.182 460.457 511.086]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6963 0 obj <<
+6926 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.9423 420.9679 268.0804 431.8719]
+/Rect [113.91 461.38 191.16 472.284]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6965 0 obj <<
+6927 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 340.2054 191.16 351.1094]
+/Rect [191.557 461.38 232.364 472.284]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_49574f120ec3f9fbfda58d6f826587e9) >>
 >> endobj
-6966 0 obj <<
+6928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 340.2054 232.4646 351.1094]
+/Rect [409.305 461.38 486.554 472.284]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_62b7a88cefba86a6731c6b46487fc28a) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6967 0 obj <<
+6929 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.8018 340.2054 337.0514 351.1094]
+/Rect [113.91 422.579 191.16 433.483]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6968 0 obj <<
+6930 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.2079 340.2054 460.4575 351.1094]
+/Rect [191.557 422.579 232.364 433.483]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0308fb71a28c28f4e33aabfa9c5d3781) >>
+>> endobj
+6931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.5 422.579 336.75 433.483]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6969 0 obj <<
+6932 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 301.3511 191.16 312.2551]
+/Rect [113.91 383.777 191.16 394.681]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6970 0 obj <<
+6933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.5575 301.3511 232.3641 312.2551]
+/Rect [191.658 383.777 232.465 394.681]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_49574f120ec3f9fbfda58d6f826587e9) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_9dd6ce1cb02b58fd3b973e40867362ac) >>
 >> endobj
-6971 0 obj <<
+6934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.28 383.777 271.468 394.681]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6935 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.3046 301.3511 486.5541 312.2551]
+/Rect [304.803 383.777 382.052 394.681]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6972 0 obj <<
+6936 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 262.4968 191.16 273.4008]
+/Rect [113.91 344.975 191.16 355.879]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6973 0 obj <<
+6937 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.5575 262.4968 232.3641 273.4008]
+/Rect [191.658 344.975 232.465 355.879]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0308fb71a28c28f4e33aabfa9c5d3781) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_4d372c4dff7d328d3da118817ed3d8b7) >>
 >> endobj
-6974 0 obj <<
+6938 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.5001 262.4968 336.7497 273.4008]
+/Rect [236.28 344.975 271.468 355.879]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6975 0 obj <<
+6939 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 223.6425 191.16 234.5465]
+/Rect [281.281 344.975 316.469 355.879]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 306.174 191.16 317.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6976 0 obj <<
+6941 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 223.6425 229.9641 234.5465]
+/Rect [191.658 306.174 229.964 317.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_72b6b45299672d85c7984392454296d6) >>
 >> endobj
-6977 0 obj <<
+6942 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.3013 223.6425 334.5509 234.5465]
+/Rect [257.301 306.174 334.551 317.077]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6978 0 obj <<
+6943 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 184.7882 191.16 195.6922]
+/Rect [113.91 267.372 191.16 278.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6979 0 obj <<
+6944 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 184.7882 229.9641 195.6922]
+/Rect [191.658 267.372 229.964 278.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_2e4d2efe88475a75dab18c7f9fe5e217) >>
 >> endobj
-6980 0 obj <<
+6945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.3013 184.7882 334.5509 195.6922]
+/Rect [257.301 267.372 334.551 278.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6981 0 obj <<
+6946 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.7074 184.7882 457.9569 195.6922]
+/Rect [380.707 267.372 457.957 278.276]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6982 0 obj <<
+6947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 145.9339 191.16 156.8379]
+/Rect [113.91 228.57 191.16 239.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6983 0 obj <<
+6948 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 145.9339 229.9641 156.8379]
+/Rect [191.658 228.57 229.964 239.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_114f91c420cc8060d6834730c8e55721) >>
 >> endobj
-6984 0 obj <<
+6949 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.7798 145.9339 268.9674 156.8379]
+/Rect [233.78 228.57 268.967 239.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6985 0 obj <<
+6950 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.7807 145.9339 313.9682 156.8379]
+/Rect [278.781 228.57 313.968 239.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6986 0 obj <<
+6951 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 107.0796 191.16 117.9836]
+/Rect [113.91 189.768 191.16 200.672]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6987 0 obj <<
+6952 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 107.0796 229.9641 117.9836]
+/Rect [191.658 189.768 229.964 200.672]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_41cdb256f546f09bd317deef44ac0009) >>
 >> endobj
-6988 0 obj <<
+6953 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.2868 107.0796 484.5364 117.9836]
+/Rect [407.287 189.768 484.536 200.672]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6989 0 obj <<
+6954 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 150.967 191.16 161.871]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6944 0 obj <<
-/D [6942 0 R /XYZ 90 757.9346 null]
+6955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 150.967 229.964 161.871]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_b4396e8bfbdd5831fd37d13c19194cc4) >>
 >> endobj
-6945 0 obj <<
-/D [6942 0 R /XYZ 90 726.0541 null]
+6956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.301 150.967 334.551 161.871]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6948 0 obj <<
-/D [6942 0 R /XYZ 90 676.2409 null]
+6957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 112.165 191.16 123.069]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6950 0 obj <<
-/D [6942 0 R /XYZ 90 637.3866 null]
+6958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 112.165 229.964 123.069]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_9075dd07574234cc124e6076c272e987) >>
 >> endobj
-6953 0 obj <<
-/D [6942 0 R /XYZ 90 556.5046 null]
+6959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.78 112.165 268.967 123.069]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-6954 0 obj <<
-/D [6942 0 R /XYZ 90 556.5046 null]
+6960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.302 112.165 379.552 123.069]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-6958 0 obj <<
-/D [6942 0 R /XYZ 90 517.7698 null]
+6965 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-6960 0 obj <<
-/D [6942 0 R /XYZ 90 478.9155 null]
+6969 0 obj <<
+/D [6967 0 R /XYZ 90 757.935 null]
 >> endobj
-5310 0 obj <<
-/D [6942 0 R /XYZ 90 440.0612 null]
+6970 0 obj <<
+/D [6967 0 R /XYZ 90 716.221 null]
 >> endobj
-6964 0 obj <<
-/D [6942 0 R /XYZ 90 359.1792 null]
+6971 0 obj <<
+/D [6967 0 R /XYZ 90 716.221 null]
 >> endobj
-6941 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
+6972 0 obj <<
+/D [6967 0 R /XYZ 90 677.539 null]
+>> endobj
+6973 0 obj <<
+/D [6967 0 R /XYZ 90 638.737 null]
+>> endobj
+5260 0 obj <<
+/D [6967 0 R /XYZ 90 599.935 null]
+>> endobj
+6974 0 obj <<
+/D [6967 0 R /XYZ 90 519.13 null]
+>> endobj
+6966 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-6999 0 obj <<
-/Length 2970      
+7032 0 obj <<
+/Length 1237      
 /Filter /FlateDecode
 >>
 stream
-x��\�r�}�W�ɡjC�����n�6���U��r�2m�"Q
-E[ٿOC
� g؍�,���Bj��s �E�8���g�8���˛3>����/��������w��
V��Ň�V0#��]��i.S�|!8����ϗ�������o���z�Y�����f���ի�֫�����ۜ
?_��_ݮ�����������oVV����U
-��K'�����ۋ̶k�QVD��9��g>{����3��=��Drvs��J_��~<�{��;�����hn�W~�P�y
�
 	
%�:���C
�/�d�s��
-r�,J/�eZy=˰����
VFp��4jV<̨Y�B%��/��ݡ7/! ȭ%�%\Ů���@[�P����
M5Hf��$Մ���ޭ6���&��!M)=����"�R	�
���'�ᗷ��m/��Lg��C�S4zq��L)Ō��EF$����r�F/V��t�v��\(��W����v���޿z�X���(;���5Q�OcL�l0L��篐��Gxl�ӳ��V?�*w��4�oV�ϛu�k�O
���
-�>��p�z��|_n]W��pg"�u��T�
�R���a��.�
S������k&��,���Z'�4�"�a��'� �.�*v�"�Q4�C�A��$Մ��f|
�T'*�'��Xq��)ř
F��XdAPBB8C�AO�H��m��(%���U�Q�=�|��O���m	��y���K�Q	���A�X�"i,S��I2Y���2�N'�
DpqL+�@>�c��A!��(�pƺS�e�s�^&��E��z���zY�����z�S�zYR���iF��(��^V=}tRi9����
�"q�qF	g��YZ��"8(嘳��+I�f�`c�KᘶBM�"&�	v�y�D��0��2\���	qU"�L(R*�p����`%�v�Dx.2�`�[4������p�|0��x\U
�݋ZJ�7�Ў)��fg�Z�E��
E��H�W6��<���Q��Tz��
-h2g��~����{���|�[��Y��Zd8��0jی���B�xnm`�
'�A$f�yf����"b
	uBg�.�\�	�7Q��
�.�$c,��w
���cj�նk������K���	�r��3��)�6
�"���'�h�)N7 �]v���
B��
���&T�@\�J�bCh�~�V#�_8�=[Q5>P/jl�ތp��#�+C�G(��!Uc ���i�g\�d��
-O�ō�yK��rs�|w��Q�IeQ���xŜ<
�_P/RDP�IfT���(�~�
pҌ�P�[ѓ�AP;X�_V��.4�1X��VZ�%mDE��F���FT�aD�҈pوJ�UI[�Mߏ�jDX�
#³g#��jD���Πw�ae(�%�7�j
��ʥ���
-��]���;���|���|kCD{B�ְ�S�XF�wp�|��b�.��B�	I�+��N� �x�~��
(���^��(�A��x5�
#�ΙUV5� �)���Z��ːQ�G��Z
�jw
��(���x�L/n���
���(�D�
s��*��ti+���S쩌��S����]�
6�}�+v3�F�p�
,�h�͌F�Tp�I��I��F�B�4)�D6��bRU��B���1)� �I�
�IUc5���M
-gЋ;Ҥ�2&��؛T5�6�
3q��X������^�3o"�+�P��1VI ��%�}�,���YR�=�;>��+��^T�ُ#�)�0ҋʀ���`�p�v/¨^D�H^T�8�Eu�/�����"� {/"$/���E�5�^D0��
�Eh�^���^T��S�yA�ԴQ���g��v��sQp��Nz���Z���f-�E�����^�!��R�qY�K��WI[$
Mߏ���g�+bG��;`�� +n��E�@��p0�- >�ts
�bЋ�h�9c5^��"H��
��`
��`����k��$���,³�Ps#�ro�_E��Ǐ	��t���r���������~@(x<ϙ�a������*u�r�;����r���mw�fu�n�
�)�@3���3�c�VC�0��
�`�p�vCè�~ؗ��p�|���L�`ږu~&�C��3���N
r
�`:]�p��'	
�%�n�Yw�H(����	|9�f�ۿ�e�u��	Oq�ť��؁��Z��"(��5���b�i�']R)c ֗a���/���?<ٔ�����	�&R(��))O0Zʋ�ӥ
g���d7B���
������ ��R���YʫND��J�"��ø#�
��^�qY�K��#�˹ap���zd<A��m1��(IQ<
�����E��x3��D�
{����Ն�O�Kw������:c]�0R�ˀ�u�`�p�v]Ǩ��u�j�UTi]�(��'O�^w"��4
Mq�}l�O���m|pڂN��"�J�^h�kC�
H/��
-O��mx��3sk�	E��Ώ^g&0�Ĥ�e
L��k{��QεgΝVϕa^
-I�y��z^���8���%�z�P
��8լ�%�=G(�z�&�z^u"��U�=�Y���s����$�z^� ���3�ܤ-�2�g	��ճF5������jl�D��P��&KN-�Jj�B��
�C8�+y����X��͞��Xu��~�߳�N�ltp*�ATz��:�x���
���U���S�b�S

�ҋڦ������ �A�M� *%�a]�Y�1jP68vw;˓_w�{i̵D�����S��ȖHD�I�_�
��~��kz���k���ݗܯ6�;7f�)�_�������x|��V����*�a�
%�����f�i�.���g��_�}�����K��hm/nl�����˗��}^_�m���������
-�@ﺀu�"�z\��+oa� t���m�7�����x�� {f���?l8��endstream
+x���s�6���+�ړ $Ys}���f��6Mh_���J�)��6p�_��'LdH.O[^iw�]K"���K��:��XK&Q�i���X0�:=tiQ�
�nRB�ufSby���>����ý�E��W�&�v��/���}�ԵL
�a`7� �Ǿ��幹5��kR�L�S�������i�۠08�h6��r������/�`G�h�� �
��Ɵ
R(FfdFAJ$掋s0�"��1�u?}?�?�+r���.�l0�b�^�k����D^F�ݚs�
�� �0����
+9�/
���R��)��I߻�e�0
��Y��:U
�`M�Sk2�%g�I9֜��<7�(
+
+g'�&��g#ϯMj�GYS5�D1#����k&��M�zWX2Z6h.�!0cn�`�D��N�
/Ux��
F���%jG��F\N1�4a��R�
%Ke�q�d.�_�$�i,�����L�/��o��:�<?���
��(����MG���ʪc��3
�̦�A����`�h��*�J+/���]�-P���i,�z3���#7�Ge1/�x*����v�>��1we�Z��J�^�?W��iڤ'��v���&R�
+���:^"��L�J����|�P��w�~Rh.�`�:��	MĖ
3G`!�^B�� �#V~���WH`υ��d�-kKI�S��I�?
����y��
��ܒ��{�� �wAP�m�ǂ��r�z�a��C�i����rІ�As�_����Q�
��~��q*�ZH�wH��t�b�X
+��2ʜ��[���Rބ���f�y�t'�?�^��9� ���2k�KL1��Q�M�n�����V@S��K*���M/*=fpc
+oݖ}�G\ �otA;,4፮��M��Y�x�&���P���z
<Á��D�lފ�^�
�Id����L
x��Ct$U���aݦU�q��]�%C�w�)�q&�.�iI3��?F�pT��6Vf�4�<�d*���E��܅�[�<�j
����,S#;��tǪ}8m
}�	˛t����.S�C#dn��>l�R�n�9�
�������L�d�r���JF3>�In��
�M7��O�HC�M���[$�
+D~zGh,ʲ�S�������v1_2����M�-�U�߼`���*��SQ&���!0�1�P'5?���waʜ���*�~md�����bZq�'ɰ�jM&܍�(����p�o="S)|��Z�6,B� ,�'?��/���N��h�
+endstream
 endobj
-6998 0 obj <<
+7031 0 obj <<
 /Type /Page
-/Contents 6999 0 R
-/Resources 6997 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6878 0 R
-/Annots [ 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 7023 0 R 7024 0 R 7025 0 R 7026 0 R 7027 0 R 7028 0 R 7029 0 R 7030 0 R 7031 0 R 7032 0 R 7033 0 R 7034 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 7051 0 R 7052 0 R 7053 0 R 7054 0 R 7055 0 R ]
+/Contents 7032 0 R
+/Resources 7030 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7036 0 R
+/Annots [ 6961 0 R 6962 0 R 6963 0 R 6964 0 R 6986 0 R 6987 0 R 6988 0 R 6989 0 R 6990 0 R 6991 0 R 6992 0 R 6993 0 R 6994 0 R 6995 0 R 6996 0 R 6997 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 7023 0 R 7024 0 R 7025 0 R 7026 0 R 7027 0 R 7028 0 R 7035 0 R 7029 0 R ]
 >> endobj
-7001 0 obj <<
+6961 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 706.9608 191.16 717.8648]
+/Rect [113.91 719.912 191.16 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7002 0 obj <<
+6962 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 706.9608 229.9641 717.8648]
+/Rect [191.658 719.912 229.964 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_b4396e8bfbdd5831fd37d13c19194cc4) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_8d443d5098921978efd7b625000f3b68) >>
 >> endobj
-7003 0 obj <<
+6963 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.3013 706.9608 334.5509 717.8648]
+/Rect [257.301 719.912 334.551 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7004 0 obj <<
+6964 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 668.1065 191.16 679.0105]
+/Rect [352.205 719.912 387.392 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+6986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.058 191.16 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7005 0 obj <<
+6987 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6226 668.1065 231.7916 679.0105]
+/Rect [191.623 681.058 231.792 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_32a44c95ae4348ff889b48c309f9eab3) >>
 >> endobj
-7006 0 obj <<
+6988 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.9793 668.1065 486.2289 679.0105]
+/Rect [408.979 681.058 486.229 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7007 0 obj <<
+6989 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 629.2522 191.16 640.1562]
+/Rect [113.91 642.204 191.16 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7008 0 obj <<
+6990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6226 629.2522 231.7916 640.1562]
+/Rect [191.623 642.204 231.792 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_6ea3cf85efb71cf62fa3e233c9e9cf7b) >>
 >> endobj
-7009 0 obj <<
+6991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.0577 629.2522 336.3073 640.1562]
+/Rect [259.058 642.204 336.307 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7010 0 obj <<
+6992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 590.3979 191.16 601.3019]
+/Rect [113.91 603.349 191.16 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7011 0 obj <<
+6993 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8996 590.3979 248.3249 601.3019]
+/Rect [201.9 603.349 248.325 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_2666c570468f53609bf420024a12628d) >>
 >> endobj
-7012 0 obj <<
+6994 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.1406 590.3979 329.3902 601.3019]
+/Rect [252.141 603.349 329.39 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7013 0 obj <<
+6995 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.5467 590.3979 452.7962 601.3019]
+/Rect [375.547 603.349 452.796 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7014 0 obj <<
+6996 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 551.5436 191.16 562.4476]
+/Rect [113.91 564.495 191.16 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7015 0 obj <<
+6997 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8996 551.5436 248.3249 562.4476]
+/Rect [201.9 564.495 248.325 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_385e4d3cfe442f4fcbeefd9acf5c10eb) >>
 >> endobj
-7016 0 obj <<
+6998 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.1406 551.5436 329.3902 562.4476]
+/Rect [252.141 564.495 329.39 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7017 0 obj <<
+6999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.0438 551.5436 382.2314 562.4476]
+/Rect [347.044 564.495 382.231 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7018 0 obj <<
+7000 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 512.6893 191.16 523.5933]
+/Rect [113.91 525.641 191.16 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7019 0 obj <<
+7001 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8996 512.6893 248.3249 523.5933]
+/Rect [201.9 525.641 248.325 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_98b5ccd1157e6ec8beec7702af9acb36) >>
 >> endobj
-7020 0 obj <<
+7002 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.1406 512.6893 329.3902 523.5933]
+/Rect [252.141 525.641 329.39 536.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7021 0 obj <<
+7003 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 473.835 191.16 484.739]
+/Rect [113.91 486.786 191.16 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7022 0 obj <<
+7004 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8996 473.835 245.8244 484.739]
+/Rect [201.9 486.786 245.824 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_80d43634ca26fd76dcb1fdede6363dc5) >>
 >> endobj
-7023 0 obj <<
+7005 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.6401 473.835 326.8897 484.739]
+/Rect [249.64 486.786 326.89 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7024 0 obj <<
+7006 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.0461 473.835 450.2957 484.739]
+/Rect [373.046 486.786 450.296 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7025 0 obj <<
+7007 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 434.9807 191.16 445.8847]
+/Rect [113.91 447.932 191.16 458.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7026 0 obj <<
+7008 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8996 434.9807 245.8244 445.8847]
+/Rect [201.9 447.932 245.824 458.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_691b91bcd9b5c336892574e975235de5) >>
 >> endobj
-7027 0 obj <<
+7009 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.6401 434.9807 326.8897 445.8847]
+/Rect [249.64 447.932 326.89 458.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7028 0 obj <<
+7010 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.5433 434.9807 379.7309 445.8847]
+/Rect [344.543 447.932 379.731 458.836]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7029 0 obj <<
+7011 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 396.1264 191.16 407.0304]
+/Rect [113.91 409.078 191.16 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7030 0 obj <<
+7012 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8996 396.1264 245.8244 407.0304]
+/Rect [201.9 409.078 245.824 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_65766b549090f6b52281c99cfba9eed3) >>
 >> endobj
-7031 0 obj <<
+7013 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.6401 396.1264 326.8897 407.0304]
+/Rect [249.64 409.078 326.89 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7032 0 obj <<
+7014 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 357.2722 191.16 368.1761]
+/Rect [113.91 370.224 191.16 381.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7033 0 obj <<
+7015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8996 357.2722 247.6875 368.1761]
+/Rect [201.9 370.224 247.687 381.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0dddfc1f0ff6f55a90c4ea8829b9752b) >>
 >> endobj
-7034 0 obj <<
+7016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.5031 357.2722 328.7527 368.1761]
+/Rect [251.503 370.224 328.753 381.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7036 0 obj <<
+7017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 249.231 191.16 260.135]
+/Rect [113.91 262.182 191.16 273.086]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 249.231 232.4646 260.135]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_4d372c4dff7d328d3da118817ed3d8b7) >>
->> endobj
-7038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.2803 249.231 271.4679 260.135]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7039 0 obj <<
+7018 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.2812 249.231 316.4687 260.135]
+/Rect [191.658 262.182 232.465 273.086]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_f5bbfb14fef626aee9f34e71a78c0d7d) >>
 >> endobj
-7040 0 obj <<
+7019 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 210.3767 191.16 221.2807]
+/Rect [259.802 262.182 337.051 273.086]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 210.3767 232.4646 221.2807]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_9dd6ce1cb02b58fd3b973e40867362ac) >>
->> endobj
-7042 0 obj <<
+7020 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.2803 210.3767 271.4679 221.2807]
+/Rect [354.705 262.182 389.893 273.086]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.8027 210.3767 382.0523 221.2807]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7044 0 obj <<
+7021 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 171.5224 191.16 182.4264]
+/Rect [113.91 223.328 191.16 234.232]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7045 0 obj <<
+7022 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 171.5224 232.4646 182.4264]
+/Rect [191.658 223.328 232.465 234.232]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_f5bbfb14fef626aee9f34e71a78c0d7d) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_920af28903c20a4a4962761b834d577f) >>
 >> endobj
-7046 0 obj <<
+7023 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.8018 171.5224 337.0514 182.4264]
+/Rect [259.802 223.328 337.051 234.232]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7047 0 obj <<
+7024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.705 171.5224 389.8926 182.4264]
+/Rect [175.349 184.474 226.034 195.378]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_37de3f55cf5e917e32f7f2f9c6d34840) >>
 >> endobj
-7048 0 obj <<
+7025 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 132.6681 191.16 143.5721]
+/Rect [321.176 184.474 398.426 195.378]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7049 0 obj <<
+7026 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 132.6681 232.4646 143.5721]
+/Rect [133.91 145.62 156.276 156.524]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_920af28903c20a4a4962761b834d577f) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_3fc6b9758fbac86e0592d37c23f14b1e) >>
 >> endobj
-7050 0 obj <<
+7027 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.8018 132.6681 337.0514 143.5721]
+/Rect [160.086 145.62 348.418 156.524]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7051 0 obj <<
+7028 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 93.8138 191.16 104.7178]
+/Rect [366.62 145.62 513.996 156.524]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 93.8138 229.9641 104.7178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_9075dd07574234cc124e6076c272e987) >>
->> endobj
-7053 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.7798 93.8138 268.9674 104.7178]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-7054 0 obj <<
+7035 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.3022 93.8138 379.5518 104.7178]
+/Rect [113.91 133.664 160.176 144.568]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7055 0 obj <<
+7029 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7000 0 obj <<
-/D [6998 0 R /XYZ 90 757.9346 null]
+7033 0 obj <<
+/D [7031 0 R /XYZ 90 757.935 null]
 >> endobj
-7035 0 obj <<
-/D [6998 0 R /XYZ 90 295.4835 null]
+7034 0 obj <<
+/D [7031 0 R /XYZ 90 308.435 null]
 >> endobj
-6997 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F25 344 0 R /F101 2128 0 R >>
+7030 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2114 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7073 0 obj <<
-/Length 3107      
+7058 0 obj <<
+/Length 2291      
 /Filter /FlateDecode
 >>
 stream
-xڵZYs��~ׯ�ӆ�.g瞁�~pl')�I
��J��rA$�BL4 ������0��r�A8z�{��z@���G^(�PƸ\l�Wx�
����kx��	�ts���R,2�I*7w��$HPB7��� �Vk�1^~�"x������V/���}���-o�~����<y��׏�zE�h��:��T�嗻�i����]��6�aM�^R�V?�|s��M��ߌ`�]���'��¦��ˆeZ,
�#�et��┅���۫u|�
� e��L/֌#-au��H0�	'9�6�׊2���m_h���ƶ�f�L/:2c���T�m���]�)�ua�ml�T�)�
-
�b�Xsa�2\�;��|�$%��<�T�"�A f�wh�0��t�E���d���!D\
b�e���Y�(�A6�L�E�2��H�+
��`���P
G�&,�k������� @���S-�ŪEisvoO�
[25�'E<�j^ό"�<>�g ����E��Um�q=ԑR&*��q�MK�� . z�o�Cӎ$
�h�d_�E
t�3:
�>�S�1$��V舦5`L"̣�4�(^�d
-�(������g����YB�����%TY���
�f�k����x!@.
�9��|J��XL�@�����k���\���C�����/�n	�C��)ށl�zG
��
Tsr��
�m���uմu��C_��P�
x�ո\���B#��l

a�
@?@�<��g�
--f�BO٫��Q�
P�
���͚W�"Y����
���h8����)�i6V
՜P�2 �}%^���C�
-�?��E<��Y 3Z���
O�󔉳Kk��_���`
�{V

-x�K>W1�|ňNU�i�]ň德�Q�
�f��d_.�~N�_[�
�v
i!�O�L�X P�Ɇ�L�&�3<���X)���ٛ�s
-��
���k����B�s��t�B�hF?��+������Ih�$������}��,�0h�"e�HQ��&hMc0
���^�j
���+�����Z�i�v��#���P;c
��#3Z�=�2ߕ�&�8�0U·f� ����\#N4��iB��5��mF<�AB��L���GA_m^k_ͦ.�m�n{n�2!
f�"�!
����6���܅��
���_�	=�n �7��i��`���[E�Y|����>�}���A��f�<ь
-TH$$�}���.��\�ܣI���QL� sV I�_
�@�"Bh?����G����D*OB<�hSHi�a�(�ڡ��&�2s���b��x*��(8Fy��Vġ�����n���
Jӂ�vf>��F� ���
��dƲ3
�H0@��˄D�vx�H�5eI�A
ÐF�9�ᾨ�?*�,���X#�EpsiC���b�m�/ᴗ��d�=T��[��Es�7�

-�q��O�HB�16y�=$eў�iN{��_
Z��ڽ�T�݊
-�tSB29:�1�0U
�
*�ta Ui����}0�ʀ/��Lb�W}\l�-�
���M�
�H����.����=hPk���xyW�#��j_�+Eu
-ˋz?�}S��̜�*�%+g Z�T��Ô��Pyծ���2����P���ϟʝouy���>w$Z6 (Fɴ�
�X�ݡ-3I�oC�9�PD�AMo�ü.܅�7\��M��j�'t���ma��P
�y�ʆ��n|��ҵx`�~�
-d2YGV1��z8Ԗ�'
܁�{��m�6�H�k���	
-{�Ѹ�H
Ù���k����?>V^CXѱ���dm7�ˆG�5Ăx~w���US���f�}uشެp[���X��b���+����K���t��\q���W��U���Np��z���.
��զ�w����s�
�4m^����������WV�“{Ɣ�5�M��x��qmQي�E��
Ю 
-R���xv,
��xA����
^
P *�@�a��9�
A��֎�4_���
-�
t �[�
ʝ�Ғ�3��ݖ�����Nڜ��Ю̡
��$�"���L�o���v�/��u���`s��T�xN�
-��&�^>&IH�d��iז�]��
wCu��i��h��ҍ�Cg�����yc�<��m�ns=@����J�33�y�O��>,�'^�u1�{�&�
�ܼr[�ߝ�o��	s��!d�CJ�o�Xz�G�����A9x51�M��tN�� ��fR�
�ŤɎ�̧������Ð�)a����?&�)��æ�W�5
sy��Ҵ[��ʭ�0�/�$	9��4�a�x��XH�{���g�K�J�GzƝ��6�Gziv
�n�Ȅ30�����.b)���/��X*���� �#]2F�ۮt	
M
->�����ɯ�a��͈�	�sW�v�1��u�Ķຏ��u�39��d�S�=�~ 
-^�O�����/M{tN�SRb,��L�a��BTw��^��(]�H��ϣ4�!�;OtQ��Q<00f�4h�RI���r�a���.j*�"�P��S
-w��P0�vd鳟��&����?k0�%B�!�#6���h_q�4h=t+���?D<Lh�_Z/�-����t��� �Ss�A����
La�s�&��s
�����zcsمDq|��&\�O��#�r!I������Jb��/��=|�K�9Wd���bR*�I�/��He=���􌥽�#"�[	7�5��/~�y���-�-K�-�Rrҏ�T��=�A8�m0��"ݏ/R�?��P��L�	�p`R���U�B՝��!�9ϕ�*l�� 
�G��-H%�S	qdo�Td�>K���Ji:�㸃��W �wM�,f���R�Sm�����"
�on�^�3��Y�it'5�;h䀹ڀ�Jw�v���[�<d?���!�Dmq����CN���෻��1J�sa�%"�a�D�����>�k at G�����0R���o��6| t��+���wS�X	��>�{~8�`�]�g�����0�
o�>��"���Ƚ�e��})	
�ъP�/C�6y�� [...]
+xڝY[o��~����9�q��+/��&i�6-rZ�� ia���bK�*IEv~}g�B��8pɝ�ٹ��7+�4���뛋�o"�$�xܬ��qĈ�,�YBƈ�%������Y��n�/8
��q�WMv���k�����]Q鬹}��k,	u�u�XrE��eֶv��^k;_�Y�8	y���|����
��3�Q1��
+���i������4	�jH.�Y�\����U�
B#5P�0���eE�Wv�ot�7Ů��æ��Qt��K.���e�]S��X/�
+�� y�*��K��٥��C����h;ȍ��,�
ͽ3���^
����ܖܚ�5guյOo���h�4	�͒��D�
	�hd��b@(I��7��y-M< ��'a������,N����3{*Ɂ��
Yq*��f��Wn;l(����X9e3��Q�#2�#i#f���YVLϰJ�Qb��rF��W�n&^�\p�4X
+
+�X��F7z�
�HI�o.������0!%}H�pUlu�Ͻt1-��
?b�A�׍�hwY�_�>g�f�9
X��njv�H"G���쮨:s�uc?�^/��0�yG�.�jY��I�8:�hf+�H�{m�m,ۏ(*k�쮜�+c�E_T�͐U�Y������%!�
%2�*54� �L�J�uݜ�l�m}�+]��r�l�(�M2�����$����k��q����վ(]v�frߨbM����
+�P�y��w�S,'Y���Fہ�wY[�nX�����+�Wս#�M���U�5Ya�9|��*ZM�
%�p3��
+�H=w �g`9�
z1:�Ē�q�Ni28��}�45�Z3N�&{l��]�v+zVyY�{c
x�(�,�R1SH��z_�v����i3SU�9��k��X�I1nGM���X���l���V��BR��*w�Sa��Yē���y����������J�{Kһ&Oc�.k�~�����{���ʺҎ��pHi�C;�L��ƛ��A
='���cl���P9�}���41^/��B�B��<V���!�w}�kQ��~����G���&��FGc0�,�+��jU`�ogF�vg$w,8�#��di
4FK��4��ˮؕE�Y�Hu��h�뉮�z�͋t��Y�A���~��

O �!+ܦ�!=�]6N�,�f�v��_�^���{|ɎY73I�~��А��փ`�=�4{�hAR8�;��|_38G/&">��쩈�h�thB]P�ҪH���LN�L���QQ
�l�XC�Jx�
H��l�9��ȁ"�𾂾�r
�ʜ���#���
�
~DW�o��iPZҍ;���k
+�0��L
+��|��?�~^�D��M|���x�p"T� BYz�u��d]�e��
lJ��^�I����e�Y
+ؾ���CW�j�I��‾hr��$O�q�9!��B��N��@�>�?��"&<�����y��L��/x4
+P�#�wD?t
?�Rh�Y���;CݯG�2:�`�2j"���5:����ˈb��+�0�®@|#$�K$�13�K

>?�uK�0�
 �?c��h�'���&_΁g��b<2�k�/ H��䃁�g��1�f��
���g?%*�ϳ<�3=#E�L���#���DF�H>ɿT��Hu^�������g�v����XFF<�v���Wcc/dž�b6֜/���S�a��B(�f������1�\�s����L���>W�9
�0���[�hEձ���)6=ɤ
+�
��pD �0�{Pz���H�}'�$X�,�����lkGe�1������iژ�}vd*:<����
�#	��:�>z
�D��@�h�yw(��)ܼb�w`�:f�j�<:]�Ơ�
C��IzB����A{��Z�08�K��rxS��M�k����
���َ>��s�k3���mG�����g��g��X����mt����' ̼?��DB��G@����R$
�x|���b&�
��Z� �;��qzM5�a�o�<�(5��J����<��"%!����C������ldf�AO�"v���RW���V7
���+��>��l�U+ے�n;����ô���&!"u�^PD�mݖk�z���frI���I�����vi
"�;��F�n{]|�s�SF������y��ԥg��c��Q�{O`����I[�
-��ڽ�S�p����m_�����
�Bw`~̪}V
�����@��ؐ	w�% ���}d��3��W�J bfG@�������p yK�U�kH�]�v�թ��� �雁�fu[7��*|ܚ4xℿ2|$
+endstream
 endobj
-7072 0 obj <<
+7057 0 obj <<
 /Type /Page
-/Contents 7073 0 R
-/Resources 7071 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 6878 0 R
-/Annots [ 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 7086 0 R 7087 0 R 7088 0 R 7089 0 R ]
->> endobj
-7075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 696.0019 191.16 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 696.0019 229.9641 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_8d443d5098921978efd7b625000f3b68) >>
+/Contents 7058 0 R
+/Resources 7056 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7036 0 R
+/Annots [ 7051 0 R 7052 0 R 7053 0 R 7054 0 R 7063 0 R 7055 0 R ]
 >> endobj
-7077 0 obj <<
+7051 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.3013 696.0019 334.5509 706.9059]
+/Rect [177.82 677.939 255.069 688.843]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7078 0 obj <<
+7052 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.2045 696.0019 387.3921 706.9059]
+/Rect [147.521 495.239 182.709 506.143]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 657.1476 226.0342 668.0516]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_37de3f55cf5e917e32f7f2f9c6d34840) >>
->> endobj
-7080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 657.1476 398.4255 668.0516]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7081 0 obj <<
+7053 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.91 618.2933 156.2759 629.1973]
+/Rect [89.004 459.373 124.191 470.277]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_3fc6b9758fbac86e0592d37c23f14b1e) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7082 0 obj <<
+7054 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0863 618.2933 348.4182 629.1973]
+/Rect [368.542 151.596 513.996 182.564]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
 >> endobj
-7083 0 obj <<
+7063 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.6203 618.2933 513.9963 629.1973]
+/Rect [128.635 140.263 232.246 150.161]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
 >> endobj
-7084 0 obj <<
+7055 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 606.3382 160.1764 617.2421]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 506.2671 255.0692 517.1711]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
+7059 0 obj <<
+/D [7057 0 R /XYZ 90 757.935 null]
 >> endobj
-7087 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.5215 323.5673 182.7091 334.4713]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+7060 0 obj <<
+/D [7057 0 R /XYZ 90 733.028 null]
 >> endobj
-7088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 287.7018 124.1913 298.6058]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+7061 0 obj <<
+/D [7057 0 R /XYZ 90 257.794 null]
 >> endobj
-7089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+6871 0 obj <<
+/D [7057 0 R /XYZ 90 235.482 null]
 >> endobj
-7074 0 obj <<
-/D [7072 0 R /XYZ 90 757.9346 null]
+7062 0 obj <<
+/D [7057 0 R /XYZ 90 235.482 null]
 >> endobj
-7085 0 obj <<
-/D [7072 0 R /XYZ 90 569.0181 null]
+6872 0 obj <<
+/D [7057 0 R /XYZ 90 131.297 null]
 >> endobj
-7071 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F10 484 0 R /F13 567 0 R /F7 526 0 R /F1 573 0 R /F8 523 0 R /F25 344 0 R >>
+7056 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F1 542 0 R /F11 418 0 R /F8 504 0 R /F65 376 0 R /F23 340 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7095 0 obj <<
-/Length 2825      
+7067 0 obj <<
+/Length 2518      
 /Filter /FlateDecode
 >>
 stream
-x��Z[s۸~����V�,a�/�Ig��M���L�u��f<�DۜʤBIq�_�� ���;�mG"�Ã��s� 2��#3�gJ(d����	�]C���_�	~�89{.�� #��]\�
$A�:�X���;-�x���y�ݖ�/O)����7ղ+/��ve����׺��������y���msZP���V�f�
_UW�{�,*˚*=���������AZ?�$���;y�ϖ0�_N0bF��
40"����	�,4V'���m��^��t"{�R(CX
-�W
-�^-��f��v�m۹	~��~������j���j&
��#�
��"�E��w��r�O,�?N
�u�vUY9Ξ͖��0VAV���$QG�T�	�%�41�����bV�ČΠ^��
-�{㾀�������i��]�Zz���T�a���=W�D�a���-���Y�͵��
�xJE:�Dp�(����I2JIO�Ɔ��D��Ibx��QSMMO�1^�#��@�?XTkkE�����MH1J��O���R$&A�B�0��j��l��竪���\V]v>Fi�^�Ú��B$J'�"c0I����Z��w` ��y}e��[m۱Y����-k�?g+�M{�Y}�)����og&��3�EU����Ϥ��5��}�]{�W�
y�"b'\��ˇ(p[~�,�0SP�c�xb���A'62W�gA�p��L����-�@U�d�E�r\hd��%�H�A�>N����1ra��mr�˺ن�
k�L%)m�	->3��(����u�a���69
�f�� �%�.E��&��&|4�#Q��
��P����u��V��ʥ�� <�� $�
iX�T
� ���O=�T�9��$��˃q/,D`)�
1F�w/=<�09�J���X:�����k<
��82���� g�UD"��eGB2cYS$�� ��孧|(,�|�����J�4Z;���x�
������VVg�1Ĉ4���C�,��1Ӊ�(E^Or�cD17~�o!�36F���My2a�S�S3��ѰX���M�6 2��
�Ԑ��M�U9�P$@ՃD"R�Z�T"�Q;#=���d5rd�$1yŇ��!3�
Fjo�T
gR)��I
�U� �uVc�jq���M�q������nO�q
:Gqk�z��9Z/$�"�þJ���îj���J��|%_�ߖ�J��|�,_��Ub�)
-����Y�&���#璎�����V�����M�ە�z�ѵm��Y�T�|��>C����I�@=3g��lx뚃�LƵBx�vM�nW���%�
-
��:�ǥ�[��z%LכL�M�����Oz�z��קBd!@
�kƘy��A^��y�BHp=/���JWCC3��F��:
���sn��-"����S�� ����-��_^xu=L=���
m]�c��U�U��X�`�7X�,� �v�몘��p���3�z՞I�n�c�M� �v]WK�u4 ����
fnD(�F*H�
�S��?zz���Zyu��\� Q�#���é
�ӛ��܂?ȶl��z�@I�a|�
��
�o���=g����c��˪t
-F"ɘ��a;�.���)�)԰B�����)�7�~Ȩ�B�``Y���h����Bf�)�Vb�Yc�
P�qfM�S(}��������}JX
Q:Tp�bA�9����8R�>Ź��:���$�oo�=[`p���Zv8�w��|
\�Ɵ��s�}]�q��ݔ6����C
���P�.s�fթ���2�7*�|�$
�x	
;9a.e�"
�Hc�/<0A�͘��![P�(���x�0Y󞙎����/���_77�mk�}������n�S{�O�:�_��
-�IZ��W�Z��rea�]�U>z�o=#���BK @f�*�gXH14��v<�>v*�7�Z����Ib쳬u9wU�YX��4P麭Gr�R�^���"�!3�Cz����z�i���t$���,������E���E������EW/��� �
01
�Oz�p�
Yq�R�yT4��`���_��k�Ή5@����ۺWנ�t��D��:�5��	,�*�0����
-��8y
	-�V
L
�0
a���ބRh64�A��]�=�A
�� F�E�
y?L� ��~?��ֽ0U"̈p8U
ĩw�<N��Y�A>��Kq����Yf �X<
�3�\��8��a�|L剺
�r(H�������1�
��=
��|
-S�R�q�j��	J��&�x�_��8���'a�{8G
������6���9���s�r���G&���6� �쎖{�ԃ�O9�
-A}��?
^�ǁ��]�泶��v�ݗ�;N�A
-�W_�<�^� B=E���-
�/>�sZJz\��'r�N#��=&b<x FO�H7�� �Fb��&�����?a8z�����%~χ
	͏
(�z� ��Q�
8:G��;088w�ĭ5q�6
�&D��m*���A��>?�x�N�'q�o�����3�k�Σ��aXI0�ouk�ٖ
w��B�8�<��-s-�SL�h8z��U�����*��o<�5��"
x1�
#�;A�fޮ]1��5��k�>�%^j�ݭ
�X�c�|K��rxD��0 at dL?5�W�����~�
��_U�]�|B��I���>Ӭ��E8�}�ᢡ��h�2],P9�����B~ѝ�����HN
�/���;�]c�
-}i�h�o�
����7U�����e�+W��_�w�=Q��� ���ߪjR�*j�x�*Ƚ��,<�%*B�E�E����1_;��v}~vvww��k�u����z�:�\���e9��
W
DY�3-�2P�Dz\�-�۶�+Q7�y���	�K�Q���|pendstream
+x��Zko����_�O�����~x��tt��]�S�D�DeR��:���!5���.Z`|]
��9��33��M��wg?\����,3�H*�����LI�%��*�0#16_������Y���W�������b��W?�����zq�sYys��M3'zVl�e]�T�ٛu����_���?���m�*=�J�?^�t�����3��8g�B��lyw��#�Vp��
#ftv��2N
�ٯg;Ó
�
a)��!��:�`��a�`��u���K>{cO���v����|0"��;{�����#�
X:����#Nyk �#�f�
+A����C�e�.���782]P�0��Bv��a_�Wa�v��?Y�n��bN�
����n�zSW���	���Gq
F�Rʑ&|�灓�[�b��
Behp<��]9�b�/�]a��,�'c'�ޠ�r
w
�K�h��-
CN �a�
��S����#v�އ��LBǘ/��n!��̪`�"3�L<���oUd"��5!�WYA��B�o��v(�J��84�
z�'^'��'�>x٠-�t?2��l
+�*Ք
�E)��*�:Fw��i�`L������&�A̕
g�G�E����z�� ����o��H�"�e|"U�
eC�I����ޘ�u�৑c������īl��= �x��7��n�!�6EDuP�I�讎�`�n˭��O�l���Ouڗ*�9*UCmb���2��PyR��g�P�3TOf�9���e���P��JLg��"�#*&2T*��@�B�
M����G z�g�Nѡ@O�FRv�u���L�����}�ז�-�!
HL�:2v=�@fh�cNZ���eY�`W�Dpj_�����@-aH�PT�7C���aSo�]D���'p]����ES����k������
�w�G@�@�"f$��ˈ,�I'��P
��wEU4�u�]���H{�$�UTl��=MY�4fC��)�
+�

�������G7]���J1U_-�c1����Ǧ�n���j
Y��}S�༇�ʃ�ܶ
����޵A�7��X֛�X٠�N*G�t��
+o�z
����:�G�:��k�vaH�("ZH��R*=p��Z�V�p�C
G�!`օ����h�d�����'#��.�@$p�*I�Lq(��)_؃��
�Ot
�Q
�
%�ΛQ��
�#
Ziuȏq�`ȏ� {"��)$�A�D)�N�&B��R�ZE!�
DL�0�p��m�.�Yg�wde1�D�w
�>
�4l�=��p�ɿn��}ȁ���P�S2 �wv�J#�(R
+����IPep���ն}X���_�c�
,��X� 
a�[��oJ�e��`��i��tglv�F�xY��w����~z���������z]*����ٹP�^��|m�ý_C۟BC8���{`�
g�ħ�
>�B���K�
ShL�]9�Y"g��T̍2~>�X0��m�	m���K�&U�*�	U �"T�"t��������{���Kx6P���oւ�e� ��+np-f�ru�H��DP�)�(̷�z�E5�:�����
p� 
po�mխ��I8�R��#�N��Z�*҂��M��wT�1qud�+֋^
rx!�ñ+��e׮(>J/�
+���g� �T���Ў�ɝ�2��A�(f�iG>�
��)�
)0V��=I;R�M�� �%�C�Q��x� ��I<.
G�v-�oU��z4V�DVA{�+b1�{2GE�	��UeɓW���X��V��)+�/����Ae��y���D�-ht
+�.�xgN�=f����
��Gp�x��DƔo/���M�w;�߶ɖ�y�%�<!�6Y�<�|�lQ ��宗6�������8��7E��B'Fx1\��fz�ŨT��6�|�y�F�����1e�96�ر�6���6�`����
0/<`Hl���ŶN��'
mܥ���0�����5߶o��E
��x��泽y�x�!��-o
G�|���
$~��>�CRrP?G���	�l�K�6eQ���G7qr�Ϭ�].����?���]Q��]��%@jg�f�>"�
m�h3�7~:��_F<k/'��"YjL�TX�c,
9%<L��k 
2��r}A����0����}S=��S�x��H.�B���
�J��a�w�C0
b(��|3:
3!t
3!<����5�(�������n{q�p��@v8ʌ)$�jW%�0�1�U��u#8�jln?
�B��rKaNb(���*
���=��f^rUzE��7 pd��/��4�8F����
Y��sԴ�K��#�J��M���fP�Z�	�� �[{z2�5a�}�p:���X�N�Z����TiY����!�h%D�e��6v6
.�鰿
sb��m���.����5�����n�Ͼ��AсĘ0�.�`0���(BO}����g9s�T
`��۷��������
-�h_������f}>�ݨ�X�_F�n����&Ġ����+����
+endstream
 endobj
-7094 0 obj <<
+7066 0 obj <<
 /Type /Page
-/Contents 7095 0 R
-/Resources 7093 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7108 0 R
-/Annots [ 7099 0 R 7100 0 R 7107 0 R ]
->> endobj
-7099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.5417 621.4663 513.9963 652.435]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
->> endobj
-7100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 610.1338 232.2465 620.0316]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
+/Contents 7067 0 R
+/Resources 7065 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7036 0 R
+/Annots [ 7064 0 R ]
 >> endobj
-7107 0 obj <<
+7064 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7096 0 obj <<
-/D [7094 0 R /XYZ 90 757.9346 null]
+7068 0 obj <<
+/D [7066 0 R /XYZ 90 757.935 null]
 >> endobj
-7097 0 obj <<
-/D [7094 0 R /XYZ 90 733.028 null]
+7069 0 obj <<
+/D [7066 0 R /XYZ 90 733.028 null]
 >> endobj
-6936 0 obj <<
-/D [7094 0 R /XYZ 90 716.2211 null]
+6915 0 obj <<
+/D [7066 0 R /XYZ 250.019 649.92 null]
 >> endobj
-7098 0 obj <<
-/D [7094 0 R /XYZ 90 716.2211 null]
+7070 0 obj <<
+/D [7066 0 R /XYZ 90 633.193 null]
 >> endobj
-6937 0 obj <<
-/D [7094 0 R /XYZ 90 602.2545 null]
+6916 0 obj <<
+/D [7066 0 R /XYZ 118.164 520.721 null]
 >> endobj
-7101 0 obj <<
-/D [7094 0 R /XYZ 90 587.8798 null]
+7071 0 obj <<
+/D [7066 0 R /XYZ 90 506.051 null]
 >> endobj
-6938 0 obj <<
-/D [7094 0 R /XYZ 250.0186 498.644 null]
+6917 0 obj <<
+/D [7066 0 R /XYZ 291.124 417.412 null]
 >> endobj
-7102 0 obj <<
-/D [7094 0 R /XYZ 90 482.1125 null]
+7072 0 obj <<
+/D [7066 0 R /XYZ 90 400.684 null]
 >> endobj
-6939 0 obj <<
-/D [7094 0 R /XYZ 118.1641 369.6404 null]
+7073 0 obj <<
+/D [7066 0 R /XYZ 90 311.388 null]
 >> endobj
-7103 0 obj <<
-/D [7094 0 R /XYZ 90 355.1662 null]
+6975 0 obj <<
+/D [7066 0 R /XYZ 90 287.019 null]
 >> endobj
-6940 0 obj <<
-/D [7094 0 R /XYZ 291.1237 266.5272 null]
+7074 0 obj <<
+/D [7066 0 R /XYZ 90 287.019 null]
 >> endobj
-7104 0 obj <<
-/D [7094 0 R /XYZ 90 249.9957 null]
+6976 0 obj <<
+/D [7066 0 R /XYZ 90 237.778 null]
 >> endobj
-7105 0 obj <<
-/D [7094 0 R /XYZ 90 160.8949 null]
+7075 0 obj <<
+/D [7066 0 R /XYZ 90 223.207 null]
 >> endobj
-6990 0 obj <<
-/D [7094 0 R /XYZ 90 136.5259 null]
+6977 0 obj <<
+/D [7066 0 R /XYZ 90 176.003 null]
 >> endobj
-7106 0 obj <<
-/D [7094 0 R /XYZ 90 136.5259 null]
+7076 0 obj <<
+/D [7066 0 R /XYZ 90 161.433 null]
 >> endobj
-6991 0 obj <<
-/D [7094 0 R /XYZ 90 87.2846 null]
+6978 0 obj <<
+/D [7066 0 R /XYZ 90 114.229 null]
 >> endobj
-7093 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F8 523 0 R /F1 573 0 R /F10 484 0 R /F13 567 0 R /F7 526 0 R /F25 344 0 R /F6 561 0 R /F9 601 0 R /F12 658 0 R >>
+7065 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F8 504 0 R /F1 542 0 R /F10 473 0 R /F13 540 0 R /F7 505 0 R /F23 340 0 R /F6 538 0 R /F9 568 0 R /F12 622 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7111 0 obj <<
-/Length 1380      
+7080 0 obj <<
+/Length 1206      
 /Filter /FlateDecode
 >>
 stream
-x��YKo�F��W�RH�ڙ}�AR M 7Q{q
���X�L��b'����C��e�js0x�cw�����؅����Q�9!uty���z�[���>h�u���*r�i���z)AS���b &D ����<N���ⴏ<�N�ߤWyr�n�9O��''��Y������>�8���Ӭ?@��W�d>/n?��i�=�L�h46F��磷�ףm��<�zg�<�"���8Ϊ�
8�0��I�ä���G-��������QP0��X�	��a�譔���4O���t�'���iz��s�
���b�'�����r�����}�(�7�4�AFA�߃Ɋ!-����
�3�D�r�F	x�F!�n��@�9�`9-��8����-Kh$#�r Y �1M)��EP堳뜌su^
$UWF{_k�F)�>���yVlq�7����}��J�:!�
�m��ږImE9�e@�e��j��%A1g�.��� 9��+r
��i1N�f
Z�d
Z�d\�y�u�Đs�9&� [...]
-t]S+���\Ⱥ���]Pmf@�΀��LI�ɋgt�&FoͅJ��:YSq�W���9m
->�ɏg_v���� ���
-���
-�]�	.���
-���x	J1�|�N��+8��z�DF����r3^�<�bl��M1�:o<x/�SxG
�
�E���ݜ5
5o��u[�n׺�"�!voE�Y����XŐӟ�
b��=���
])�q�)����x홷u���>�uu����
��[�g��*'���������aŭ2*�%�U�/!\_*
����bXBk
-#;Qvw��(Y���d�n�_��h�䪅~�~�0�< p��R��>]<UO-40�V����[�r<��
������Y�j��g`��V��c��ᢶ̀��� jFE]q�V�� G��N����b�X
,V��������y���W*.��>ɾ&�կq�E��� ��s�QH
L�u� 2܀i���wT���ҳ�0h�(
MC�
�^��bv2
��߳�9���g9/���d��KX�(��]�ԃ6��,/��Bd
����En�y�qF/o��o�B��4 �_݌~endstream
+x��YKo�F��W��RH5ڙ}�� )������8���t-T�TJ��ߡHJ�L��e�.P��Hzv��<vW"�i��d0~kd��2��:�"�A���,D)�#B��Ca��F�C�|��&�J�����i�~=9y?M�(�x��"
�
��r:O�#�"|=�����C|
��O.�5Y����ɻ�����r"��2ڂ�:��
������
H����6P$�w|
�:���at�0��
+�
�]b8_�i������OB�߇�����,��
���"�Ђ�U�������Q��!�a8RV���d�ʅ���]�@$
�Kvq�<6
�GX�]��8�:�	����!�jH�
>ī�4)������ƒ�9
�٤œ&

��{���v��+	^5�p���
�nC
���$[I�~/�/le/��/��c�Y��� ���uSF�>��>� ����X?;(LP
�
G;`�)�[7�<yU
�A9�+��I���w�mԤ)Nve�k��#6GɶGI�GIU��Q�,n��iwVa��
�Е�6���%1lʜ�P�
��2b+�.,nl��[E�K���B �
��
��FF�2%I�48���Q���mZ�r�m��5��Y(�Y�'4
�-�����f�8���B:
�}34|;4��W��ȡ�z
_�.ٯ��UMW˓�M���yTg��Q�Ҁء:iP]����
�֖���
�G�f��z���Œ�U}�f
o
J��cA.9r�3 at N�!���
�����G_Y�-����9ᖅo���\W�k���i�K�	FS
|}�@e��;
�� Q
x���K� <옺���KS�>H�U��V��d��M��	Jr�3��|�.��>�P��^n����E"=6� �c����wC*�5Yy���F��_l��r��v�(�5�Te��'k4�PٸKr�Bs�P�Z�����P���e6��d������ԑg�Z�kh�ĺ�Ƃ�t��b�������|;`	�c`-P
��@G�Ml�13��j�����4����{�0�&��3ٿz1����{�qaQ�HWܸ���.�zR��4�Ev�T���H�)��2)�m���
��%w�lwR�%c���Ʃ��g�Y��{=��c
�����O?6�)M���m3�f�Z�����.�p�L)LW��b6��n�tD�8\�
����ӄ?�F+V�^��m��
+endstream
 endobj
-7110 0 obj <<
+7079 0 obj <<
 /Type /Page
-/Contents 7111 0 R
-/Resources 7109 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7108 0 R
-/Annots [ 7124 0 R ]
+/Contents 7080 0 R
+/Resources 7078 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7036 0 R
+/Annots [ 7077 0 R ]
 >> endobj
-7124 0 obj <<
+7077 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7112 0 obj <<
-/D [7110 0 R /XYZ 90 757.9346 null]
+7081 0 obj <<
+/D [7079 0 R /XYZ 90 757.935 null]
 >> endobj
-7113 0 obj <<
-/D [7110 0 R /XYZ 90 733.028 null]
+7082 0 obj <<
+/D [7079 0 R /XYZ 90 733.028 null]
 >> endobj
-6992 0 obj <<
-/D [7110 0 R /XYZ 90 691.329 null]
+6979 0 obj <<
+/D [7079 0 R /XYZ 90 703.284 null]
 >> endobj
-7114 0 obj <<
-/D [7110 0 R /XYZ 90 676.7587 null]
+7083 0 obj <<
+/D [7079 0 R /XYZ 90 688.714 null]
 >> endobj
-6993 0 obj <<
-/D [7110 0 R /XYZ 90 629.5548 null]
+6980 0 obj <<
+/D [7079 0 R /XYZ 90 653.465 null]
 >> endobj
-7115 0 obj <<
-/D [7110 0 R /XYZ 90 614.9845 null]
+7084 0 obj <<
+/D [7079 0 R /XYZ 90 638.895 null]
 >> endobj
-6994 0 obj <<
-/D [7110 0 R /XYZ 90 579.7357 null]
+6981 0 obj <<
+/D [7079 0 R /XYZ 90 603.646 null]
 >> endobj
-7116 0 obj <<
-/D [7110 0 R /XYZ 90 565.1654 null]
+7085 0 obj <<
+/D [7079 0 R /XYZ 90 589.076 null]
 >> endobj
-6995 0 obj <<
-/D [7110 0 R /XYZ 90 517.9615 null]
+6982 0 obj <<
+/D [7079 0 R /XYZ 90 541.872 null]
 >> endobj
-7117 0 obj <<
-/D [7110 0 R /XYZ 90 503.3912 null]
+7086 0 obj <<
+/D [7079 0 R /XYZ 90 527.302 null]
 >> endobj
-6996 0 obj <<
-/D [7110 0 R /XYZ 90 468.1425 null]
+6983 0 obj <<
+/D [7079 0 R /XYZ 90 492.053 null]
 >> endobj
-7118 0 obj <<
-/D [7110 0 R /XYZ 90 453.5722 null]
+7087 0 obj <<
+/D [7079 0 R /XYZ 90 477.483 null]
 >> endobj
-7056 0 obj <<
-/D [7110 0 R /XYZ 90 406.3683 null]
+6984 0 obj <<
+/D [7079 0 R /XYZ 90 430.279 null]
 >> endobj
-7119 0 obj <<
-/D [7110 0 R /XYZ 90 391.798 null]
+7088 0 obj <<
+/D [7079 0 R /XYZ 90 415.708 null]
 >> endobj
-7057 0 obj <<
-/D [7110 0 R /XYZ 90 344.5941 null]
+6985 0 obj <<
+/D [7079 0 R /XYZ 90 368.504 null]
 >> endobj
-7120 0 obj <<
-/D [7110 0 R /XYZ 90 330.0238 null]
+7089 0 obj <<
+/D [7079 0 R /XYZ 90 353.934 null]
 >> endobj
-7058 0 obj <<
-/D [7110 0 R /XYZ 90 282.8199 null]
+7037 0 obj <<
+/D [7079 0 R /XYZ 90 306.73 null]
 >> endobj
-7121 0 obj <<
-/D [7110 0 R /XYZ 90 268.2496 null]
+7090 0 obj <<
+/D [7079 0 R /XYZ 90 292.16 null]
 >> endobj
-7059 0 obj <<
-/D [7110 0 R /XYZ 90 221.0457 null]
+7038 0 obj <<
+/D [7079 0 R /XYZ 90 244.956 null]
 >> endobj
-7122 0 obj <<
-/D [7110 0 R /XYZ 90 206.4754 null]
+7091 0 obj <<
+/D [7079 0 R /XYZ 90 230.386 null]
 >> endobj
-7060 0 obj <<
-/D [7110 0 R /XYZ 90 159.2715 null]
+7039 0 obj <<
+/D [7079 0 R /XYZ 90 183.182 null]
 >> endobj
-7123 0 obj <<
-/D [7110 0 R /XYZ 90 144.7012 null]
+7092 0 obj <<
+/D [7079 0 R /XYZ 90 168.612 null]
 >> endobj
-7109 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+7040 0 obj <<
+/D [7079 0 R /XYZ 90 121.408 null]
+>> endobj
+7078 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7127 0 obj <<
-/Length 1578      
+7098 0 obj <<
+/Length 1368      
 /Filter /FlateDecode
 >>
 stream
-x��Y�n�F}�W�)��r�;{��i�4���K�D�Bu+�X��w�7��J��q��0D��ó3gf�.Y@��Zjb�P�d9����ۀ��#�5
~�
\��d`�U���Y�A1"�Ap9}2F8F�R�2��2
�
׋���4�ǯ��8�:����8
���I�̄�v;_��H>_��mq�6�%���$q�A��~�|9xqY�-'#�b�?��i0�I�
P­���P¬�`9��/�������F>��xIF4H�2�Pf4��*���3�P�u�A���c���$�d���p�8y�9@�t[=������QM4�r����f��h�����q���FDo��
De�!�	� ���6���t=�\�p>s�&̮���&�$�o��2Yrw�3ޚ� JH����&- �nEi�
�
1�t{8}�,��p��NzU��mġ2�0�	��աhJQ$��2�2�
� ��)z�����E%��1�@%�v8
�`�A���
�'}m5ͺI�zsPH��&�#&*��&5���	��ȑ
�9
��M���:}��}��ʹ3j��j ��
O��"��u޻���P��!&�������0�'�l���<ێF�ݬJ�*4��vz
-\����$���F����D�`+
��
R�����Y�P�=ď�%�56��!r��I�9]��8�:w���[\%R1�
�В�C�z4�^�j�O=>
a��v$�
�Hīi�
��U�~���X{
�f���(�պ��4F����
)mq�lQZ��4��t�VSz�u=+nyi]�dG8Mq�B<夘4v;*��B�0�o��$���츦r����{�
�M@����y
ΰ3�I��"�����>�J�(˄�"0�o��d/�e�ړ�C`����>3�p5�ES��ﯡ������VQk�Rm	p�齩�%6'��wn�G�	'���h�M�R)i�$�N����M��r[�=hg�m�}�1��<(�r�6���>��������@n�g�/������V�
�-$�T�m��n���۵�]�����r[�Nkw�N��b����V�u�m�yz���G���Ѯ
-�WnsܲiQ�ݦ���
-
��?d�M��b%�sN�����Pa�pڮ	���uk'*�����f�� u�NT9���Fs
���J���M����z��P}{Q�Sz���K��\e/�{�5 8�.�U�w��;�SE��<��"Β#;I���>�\���9��N�`�é<�ɳ=�@��d���2CZ�n�
au}�9��D�m�Α3�8%�E�
���V=Z��m�-i#��z'��	6�M�[˄��9p���5�p�m�
kz��^��<@�v�e�b��9��Fr8�5� ����w9����})�,y�E?LIu�W��
d�88�P̽�5A�e(޸�w�����q���
r���m��4�2,��:^}�{��8WI�'B���58��$���5��*[*��
TW�76�Հ�1�:m�϶����:�6����nG&[�y5ߤd�]l6����ۍmO%.��:XZ��Fm�ha��K�-�i���
-\�C!����_؋؎endstream
+x��YMo�F��W�H����4p
+�)�:j/�!0��&*�*E�ο�KJ�D�r��6��@�ܝ��y���{�
�~�6
����3�H*���3�S� A�7�y�>!��`H0��y@���pr
P�'�o7v����ї4L��F�؆���~�D�v���8R��w�p�v�vn��xjs�Ti~�����l<�o@�9����b›.�W؛��
F�h�h��8ep]x�
pg`�!,E-0�et�gT�o��M�,Iߞ�ǟ��{I���7��5m���	K\����c^��5JC�i��gn��A��7dX!a�7���(cm�`�j�����[9�0C���jt9O#Ϯ\C�k
�q�������6�M�ٍu7�"<wo"|�s�Q%vg�16�sY5y�b���&��FϜ��躊 ��H��!�D�v��RV6A-R����Mbv�,������]�P��w@��j�2GLm�j[܅)+�f�d�� ��4
+�,l�U.�������Q	dG���l[#.u(��L
6�hD�
 �Q���
���H����$7����Ԯ2�����yk�II)��
	�L���h���uv3�i��;^4�U�|��M�T�w9s�G���]B��U8���,Zڸ�nx���R�)�Rte�mi�����ٺt:�i�uY�.�I��8�|��j�ѡl4Z�����yʠVM�/�lb�u�@M�Ib:I�p�(��'B�p��)���.���h;�@��:҃���Q���;��1�d�,
�l=�e5���a
+�O�S�ܪ
����oR��@b��Gs�0�VR�x���
��g*Le��w�{Jh�J�l�
0�Oݫ�2Z,�6<��S�\�Bf�l���#�1"lG#>N�cpK�F����W��+i�_����5��~����_��(��ͨ�pi�]�cU $&/M�T����{E�l�ڏ@`�ԁO�u�z(�сR:P�=��_u
�=ۨG!�&
?N�\��&�˥��e��>[1`+�~�BI�yQK�)�b
�d&65	�Y+N���r�lw�N
�5���YT
�5���������tϵ<��(��[V� V8a��G`B	�l���q�W��

� ���� �u��Ě?��L�"��CF
+
+5�*��䌱0�c�Y�����
I
/�&�‹��ɴ�E0v4`� ��^U�9�
dz��ѤF��c��_�`(	0]~=j�W��
�<#�$X���	V�+>
�?�m�K �_N˟a|.�I�����6��"0E��iBP��?Y[F���׫��p:z�4�����7Y�����ݡ����*EQv�Z-N����
+�=͖��I��e��s��p�;��$��rI�
+endstream
 endobj
-7126 0 obj <<
+7097 0 obj <<
 /Type /Page
-/Contents 7127 0 R
-/Resources 7125 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7108 0 R
-/Annots [ 7129 0 R 7130 0 R 7134 0 R 7135 0 R 7142 0 R ]
+/Contents 7098 0 R
+/Resources 7096 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7036 0 R
+/Annots [ 7093 0 R 7102 0 R 7094 0 R 7106 0 R 7095 0 R ]
 >> endobj
-7129 0 obj <<
+7093 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.5417 703.0555 513.9963 734.0242]
+/Rect [368.542 594.909 513.996 625.878]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
 >> endobj
-7130 0 obj <<
+7102 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 691.723 232.2465 701.6208]
+/Rect [128.635 583.577 232.246 593.475]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
 >> endobj
-7134 0 obj <<
+7094 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.5417 462.166 513.9963 493.1347]
+/Rect [368.542 354.02 513.996 384.989]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
 >> endobj
-7135 0 obj <<
+7106 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 450.8335 232.2465 460.7313]
+/Rect [128.635 342.687 232.246 352.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) >>
 >> endobj
-7142 0 obj <<
+7095 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7128 0 obj <<
-/D [7126 0 R /XYZ 90 757.9346 null]
->> endobj
-7061 0 obj <<
-/D [7126 0 R /XYZ 90 682.7567 null]
+7099 0 obj <<
+/D [7097 0 R /XYZ 90 757.935 null]
 >> endobj
-7131 0 obj <<
-/D [7126 0 R /XYZ 90 668.1864 null]
+7100 0 obj <<
+/D [7097 0 R /XYZ 90 733.028 null]
 >> endobj
-7062 0 obj <<
-/D [7126 0 R /XYZ 90 620.3598 null]
+7041 0 obj <<
+/D [7097 0 R /XYZ 90 691.329 null]
 >> endobj
-7132 0 obj <<
-/D [7126 0 R /XYZ 90 605.7895 null]
+7101 0 obj <<
+/D [7097 0 R /XYZ 90 676.759 null]
 >> endobj
-7063 0 obj <<
-/D [7126 0 R /XYZ 90 558.5856 null]
+7042 0 obj <<
+/D [7097 0 R /XYZ 90 574.611 null]
 >> endobj
-7133 0 obj <<
-/D [7126 0 R /XYZ 90 544.0153 null]
+7103 0 obj <<
+/D [7097 0 R /XYZ 90 560.04 null]
 >> endobj
-7064 0 obj <<
-/D [7126 0 R /XYZ 90 441.8671 null]
+7043 0 obj <<
+/D [7097 0 R /XYZ 90 512.214 null]
 >> endobj
-7136 0 obj <<
-/D [7126 0 R /XYZ 90 427.2968 null]
+7104 0 obj <<
+/D [7097 0 R /XYZ 90 497.643 null]
 >> endobj
-7065 0 obj <<
-/D [7126 0 R /XYZ 90 379.4703 null]
+7044 0 obj <<
+/D [7097 0 R /XYZ 90 450.439 null]
 >> endobj
-7137 0 obj <<
-/D [7126 0 R /XYZ 90 364.9 null]
+7105 0 obj <<
+/D [7097 0 R /XYZ 90 435.869 null]
 >> endobj
-7066 0 obj <<
-/D [7126 0 R /XYZ 90 317.696 null]
+7045 0 obj <<
+/D [7097 0 R /XYZ 90 333.721 null]
 >> endobj
-7138 0 obj <<
-/D [7126 0 R /XYZ 90 303.1257 null]
+7107 0 obj <<
+/D [7097 0 R /XYZ 90 319.151 null]
 >> endobj
-7067 0 obj <<
-/D [7126 0 R /XYZ 90 267.877 null]
+7046 0 obj <<
+/D [7097 0 R /XYZ 90 271.324 null]
 >> endobj
-7139 0 obj <<
-/D [7126 0 R /XYZ 90 253.3067 null]
+7108 0 obj <<
+/D [7097 0 R /XYZ 90 256.754 null]
 >> endobj
-7068 0 obj <<
-/D [7126 0 R /XYZ 90 206.1028 null]
+7047 0 obj <<
+/D [7097 0 R /XYZ 90 209.55 null]
 >> endobj
-7140 0 obj <<
-/D [7126 0 R /XYZ 90 191.5325 null]
+7109 0 obj <<
+/D [7097 0 R /XYZ 90 194.98 null]
 >> endobj
-7069 0 obj <<
-/D [7126 0 R /XYZ 90 144.3286 null]
+7048 0 obj <<
+/D [7097 0 R /XYZ 90 147.776 null]
 >> endobj
-7141 0 obj <<
-/D [7126 0 R /XYZ 90 129.7583 null]
+7110 0 obj <<
+/D [7097 0 R /XYZ 90 133.205 null]
 >> endobj
-7070 0 obj <<
-/D [7126 0 R /XYZ 90 94.5096 null]
+7049 0 obj <<
+/D [7097 0 R /XYZ 90 97.957 null]
 >> endobj
-7125 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+7096 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7145 0 obj <<
-/Length 2518      
+7137 0 obj <<
+/Length 1963      
 /Filter /FlateDecode
 >>
 stream
-x��Zko����_!��F��y?��@�:�w�č�E�l 0�H-E�I����!9�Tk�C ���{��9�5
�a�CfϔP�0.g7�<��ۯOH�؃�^]�����3���r���5H�%t�\��_xc<�Z<�Ӎ��ZP<O�o_�u�ބ�S?�vvvyq��JDϓ�Q�YxT���������m�?� �R��*������|Y�,�!�$�'?�����	F�h1{�c�ls�)s?��듿Vz��
}��
����U�`�!JK��	��OW�_���v�0�a��̓m��Y�.��{�����ma(x1��Ev᧯��Y�#����
�(�`a��y�	��7I��
-������
��*�06��`� /`
��i�!HS"J��i�Y��TH
-Z��4�b�f
5H(#�W��>�K�d_��"�S\
"氪rE}4�J����5�R;�y=:�X��32J��A=���@�(В�&u��L�c6��n2��: 9r�KVMp�+X�VST��cN0�
::½��C���.[��%���z��
�
�����	��R2d4q�>��@	2X�Ö�!k]>(H������hgH+Q#ᚹ�e��z� 
-����8=N
����|<��"R��������v�d�6@��]��+�ݽ�e6	�
�A�
�mqe�b�8оߛ��fn���:(S�6�����.O"��5
wNa����d�#��o?>���F7��z܄~~v=ꁉ
��㾍�|�z� C�T5.#��	��4�t�l���7A��Y��$u/,s�͡�z�w��qĖ���|3M6�dy�DQ��b��wŭ�1�Qp�ӛq	��
��u���j��`�8���'�5
-вE0�E���XIM�%�Kٴ��F�˗�SaiNZ�{@@��o�{�
�`��x�2�j��΋8���]�����~y(�����.�7�j{�i	�P�����7�~
���ʮ�=���%�.*�n�aP;�p����h��f�"w�\�j�9
-o�-�Ͽm��l1�A���4H����:�I���;�uܨ#k�h�7
�
:!�IӨ}�ޕ"�������Vk�egiفm>�)Ȃt��m��
�R��z��B9�_��u
Z&���8/T���Zsν�xy��u�aHh�R�KvBv�DXA<����K7h��c�w�Z�c�Hm�
�^&Bj�v6�r,�C�k���xh 
<-�,��eKn˜tq��ʂ�"�힔e��&��2З[
-��9t��5”��~y̭�PH�d8��0�C�1
���d������]� v{3� @*BZv�S���B��;�~[B�~��밉{�+��&
- �61uӁ�HIc�uI%?e����V���������/��W�޼[05�zf�Fȡ_Ԕ�q�TR��ڊf�m-�&��2��Z�����-W5�T�a��/8�G
_QFՐ{�f�$��ӼJʫ���aG[��(��*����a
-9�I�m�uw-�?,_�{�k
�l�tM;�9�	
�)�A51
*5"v�~D���)2�X�ӡ=}�
ǽ�0����Wz�X&�
_~� O�~d��
Q����R�
Q~��D��������
��uP�����&��8[]��sv�����p�l�����p8�
-�	�m��8
-��gj�S�SĴ=k����<��@pF$����M{��ŕ���3�����_{I
}+n�9��虓vg�[��
-!��R�:��\���S���ca��]���!}#�?�}5
�i��֘�L���泛�_��{~�7!ڣQn�
Ӻ�H�Vb�a:f�:s���\�N�sr
t��Dq0��b����*�)�A� Z��w�e-���w� �z-�u�	b{��C�3�bh�wA%5��κ�0�A�
��ʾ�!\#!أ������S�Y`/�a�.��_&�4��h��& ݆0���jW
DS�Y�
q�SI��к����Q�4în7
6[{�\
rA:�@�\��qZC���L�s2K�؞��ǀ=9AҶ/����z+��a�5;>��^K8N��� 2�p��+������#�aG;��O"h�=&��`�a�
�A%5���6DB������.�`���?�e��l
��-�u��B	�;�8���^��<](�C������0��q�UR(8��.���'���ۏ$~�+���
�4�F�c�S�O���->��_�ܠ-�<e�A����yxd����b������b=���o�m����xV��W 9;�
��
J[��Q�1���F��R~bWo��v����{�ymu��;�����I9�Jj�A�ʚ 6`�����/��.޽������@��=�`�H!���
-Ӹ"��(��v	�u�o����l
��g��g�m���]�>����^�ҏ��ǰ̸Ͽs���� 5�
����:�fQE�����pP��3w�k�8���F1d��j;z횿d����������>�)
-���6:�H
��2c�UB
,
�3�v��~���	7IZ�D��MN�Nwf��[�� 0�)Qendstream
+x��Yko����_A�@B�z��ˇnR I��m
��j�$hqm��C%);N��~g_)Qv��(
+����<��١�s�`����bt�ܧN�"��Ņa'�	�
q���%Q6���;��U
/�c�ev{%�*^�Lϫ���NO���y5&�[�g"O<��gY\����gQ�(���^��/~��_G��Qf� �;�|��=vX����F�s��r�y>3�l����%�"��KQ�Y��&�N˺Ѧ�`�Ϩ�@~0�\�*n�J�x��b�S�

��>z�ez�{E8�"�0LJNS{#��(��[h�(
|+�-��B�ʢn��/�B��r�q�O��,HX�xk�8�!
s�
12]-F"�C\&鈛���D7"y�wp�فA4@>��DO7�z�hȴ���E�V�!�斛�^K̖i2�� p�x��d&������C�*�mx>�/
+I'a!�=d�D���(
Y?���(C7�a�%�Zp��)SB��]�����	>[�Ug�'Q(R�*W�򶯜S@;0�HNj`��L��&\�+�c���M.�&n�0] ��Cs��>�ڶ��
��R�"1;�2�[�U�e����MZ\�w{���
g���h� ⑉�;Pۓz;� ��:CWWm�4
<
\��J��/�؃���L���M'��1�
�q���RT6"
g
+�
+^jm^��U��m�֕�
 d�]|��l����ȣ]�1,��H��P�B�m��
T�$
+#�ߍ��,]i〹�k��6�;�la�!���!X�b��uɘե���JB�,��� ���+Q-_��>)����每�
�z1�����ֵ�sBp�g��%&9Z 3�����;�s��1���CS������R�)�$�k4hʁhO�Mp;���D�0

��cB�g����M�ݥ�oþ<[�f���b9���l����r�7�{��x�nC�NM0!b~�g��a�7O�
��G�� f���Y<==���!�Cg>��c	l �`��1�wz��
Jo�R
t�D�?���*N�fy&~��v;����2m�7���
�=d�i:�4Q?[��
a��1
�*�L�"��K�
+��Җo�]�b-n剐|Y�4�eVw��O���"GP���4Bz+��p�ߠOD~n���X���7��|��k�լ;P�#&�MR��ț�Reh`?H<����%x�I��$%6���k��
��?�T�
�L�
ݫ

7"_�{�fc��l�< c���=M>�a;�� ��}e@##�'�wHͮ��~s�+�����~����b*�0�W���*���3���҆Ū4�khQ��ٞ�@��ky�����F�6��u��`c���?(�y����t�IT�
�,�{X�tݤy�I
˓2��
��<ys|r�?C�ǧ�>����˖�ٍ!%,0%%:%���k��s������EC{��
��=Ă��>�Y����ǚ3U畧Ԇ����Ͻ�-EӢ�
� �Lj
+5
+:L<
� �%�!�(�a�*
���B|;b�g@%C8j\���
�ϊ,��(� ��n��/�Z}�1|0�0B^������
X��H�Ҳ�<}j^�)�D��m��
+�SI'�60~���q��J���؟d-IWz0�i�N�	��[���Pc:JP�AW] :����#��[lX|�6`GǦ4��� MG�5��W �[չJ5���&���ѿl�n)
�*6�PP��x�yGk�l�]5l$��!
)����rC�Z�.��K�Tˆ�F��'
�P��
�
���F���=�b
�2��gCg0H%�
��z/Ov���f|�B���kF�%�ȇ���_2 at 3܎a��Y��$7�ܾ��_�[K��ZT�fF9����Md%_�W���u8F�%O�L0���	[�ڽ�}�q���5��09n�r�4������
Z�hS��
+���z�
��V
��ڰ��t^V²,�*���@��Y�v
+endstream
 endobj
-7144 0 obj <<
+7136 0 obj <<
 /Type /Page
-/Contents 7145 0 R
-/Resources 7143 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7108 0 R
-/Annots [ 7152 0 R 7153 0 R 7154 0 R 7155 0 R 7156 0 R 7157 0 R 7158 0 R 7160 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 ]
+/Contents 7137 0 R
+/Resources 7135 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7036 0 R
+/Annots [ 7111 0 R 7112 0 R 7113 0 R 7114 0 R 7115 0 R 7142 0 R 7116 0 R 7117 0 R 7118 0 R 7119 0 R 7120 0 R 7121 0 R 7122 0 R 7123 0 R 7145 0 R 7124 0 R 7125 0 R 7126 0 R 7127 0 R 7128 0 R 7134 0 R ]
 >> endobj
-7152 0 obj <<
+7111 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 331.1445 244.9676 341.6749]
+/Rect [138.538 454.693 244.968 465.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983a) >>
 >> endobj
-7153 0 obj <<
+7112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.7384 331.1445 294.5811 341.6749]
+/Rect [252.738 454.693 294.581 465.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983ac4528dcb9794c502cf7c9bd65e9c54ae) >>
 >> endobj
-7154 0 obj <<
+7113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.5849 292.2902 255.9088 302.8206]
+/Rect [150.585 415.839 255.909 426.369]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d) >>
 >> endobj
-7155 0 obj <<
+7114 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.7736 292.2902 448.8189 302.8206]
+/Rect [287.774 415.839 448.819 426.369]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d6a4badcfd0bb8d6e536fa16b2d5108d0) >>
 >> endobj
-7156 0 obj <<
+7115 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.8547 292.2902 513.9963 302.8206]
+/Rect [463.855 415.839 513.996 426.369]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232dfb044a16e827afb114b4a2b9ba86fcbb) >>
 >> endobj
-7157 0 obj <<
+7142 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 280.3351 232.286 290.8654]
+/Rect [113.91 403.883 232.286 414.414]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232dfb044a16e827afb114b4a2b9ba86fcbb) >>
 >> endobj
-7158 0 obj <<
+7116 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.2748 280.3351 335.7773 290.8654]
+/Rect [235.275 403.883 335.777 414.414]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d4d21924dceed7aac6368d4bc5affeccf) >>
 >> endobj
-7160 0 obj <<
+7117 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.7637 241.1072 350.54 252.0111]
+/Rect [293.764 364.656 350.54 375.56]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_dda1de457524bc20064ace508201876c) >>
 >> endobj
-7162 0 obj <<
+7118 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 160.3446 172.3606 171.2486]
+/Rect [113.91 283.893 172.361 294.797]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1ee38be62a49852994bf906003b0c23c) >>
 >> endobj
-7163 0 obj <<
+7119 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.1762 160.3446 241.8194 171.2486]
+/Rect [176.176 283.893 241.819 294.797]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7164 0 obj <<
+7120 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 109.5352 172.3606 120.4391]
+/Rect [113.91 233.084 172.361 243.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a682606a24cf76b2d13ef9d70b0b4dde) >>
 >> endobj
-7165 0 obj <<
+7121 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.603 109.5352 242.2462 120.4391]
+/Rect [176.603 233.084 242.246 243.988]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7166 0 obj <<
+7122 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.9374 109.5352 407.7137 120.4391]
+/Rect [350.937 233.084 407.714 243.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-7167 0 obj <<
+7123 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 109.5352 513.9963 120.4391]
+/Rect [477.703 233.084 513.996 243.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7168 0 obj <<
+7145 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 97.58 160.1764 108.4839]
+/Rect [113.91 221.128 160.176 232.032]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7169 0 obj <<
+7124 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.3343 97.58 379.1329 108.4839]
+/Rect [296.334 221.128 379.133 232.032]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
 >> endobj
-7170 0 obj <<
+7125 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 148.401 172.361 159.305]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ee0ae23c1027e709991811b8398b9f46) >>
 >> endobj
-7146 0 obj <<
-/D [7144 0 R /XYZ 90 757.9346 null]
+7126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.91 148.401 244.553 159.305]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7147 0 obj <<
-/D [7144 0 R /XYZ 90 733.028 null]
+7127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.12 148.401 448.369 159.305]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7090 0 obj <<
-/D [7144 0 R /XYZ 90 691.329 null]
+7128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.485 136.446 275.283 147.35]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
 >> endobj
-7148 0 obj <<
-/D [7144 0 R /XYZ 90 676.7587 null]
+7134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7091 0 obj <<
-/D [7144 0 R /XYZ 90 629.5548 null]
+7138 0 obj <<
+/D [7136 0 R /XYZ 90 757.935 null]
 >> endobj
-7149 0 obj <<
-/D [7144 0 R /XYZ 90 614.9845 null]
+7139 0 obj <<
+/D [7136 0 R /XYZ 90 733.028 null]
 >> endobj
-7092 0 obj <<
-/D [7144 0 R /XYZ 90 567.7806 null]
+7050 0 obj <<
+/D [7136 0 R /XYZ 90 691.329 null]
 >> endobj
-7150 0 obj <<
-/D [7144 0 R /XYZ 90 553.2103 null]
+7140 0 obj <<
+/D [7136 0 R /XYZ 90 676.759 null]
 >> endobj
-1545 0 obj <<
-/D [7144 0 R /XYZ 90 454.8174 null]
+1505 0 obj <<
+/D [7136 0 R /XYZ 90 578.366 null]
 >> endobj
 270 0 obj <<
-/D [7144 0 R /XYZ 90 448.2172 null]
+/D [7136 0 R /XYZ 90 571.766 null]
 >> endobj
-7151 0 obj <<
-/D [7144 0 R /XYZ 90 347.8418 null]
+7141 0 obj <<
+/D [7136 0 R /XYZ 90 471.39 null]
 >> endobj
-7159 0 obj <<
-/D [7144 0 R /XYZ 90 260.2005 null]
+7143 0 obj <<
+/D [7136 0 R /XYZ 90 383.749 null]
 >> endobj
-7161 0 obj <<
-/D [7144 0 R /XYZ 90 179.3185 null]
+7144 0 obj <<
+/D [7136 0 R /XYZ 90 302.867 null]
 >> endobj
-7143 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F74 478 0 R /F37 2043 0 R >>
+7135 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F35 2013 0 R /F97 2177 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7181 0 obj <<
-/Length 3478      
+7189 0 obj <<
+/Length 1576      
 /Filter /FlateDecode
 >>
 stream
-x��\Ys��~ׯ�Ӛ�
-g�>6q�l�I��7^%���baEh�
@Z˿>= f4�f Ӫ�C��F����{�,0�O/�P�0.W�
�� ��rAڏ���:����埥Xd$����Z�$HPB�� �Wk�1^�]�̊C�y��xy�?���"�|�{_d�ëWo^�ݼ-VD/O���a��/��ge���m~���ǫ
�R��*����//=��5�Ģ����b
���F�h��c��p�)s��w�z��Ƽ��@��Śq�%<="D$8
<�G5���׊2���ޫ�/4xUr�UB
�������n�߂k�4���*�67n�Ώ��Mv�;~h�.o3�@��vwȏ��t�N��T�Y�g�XkD�6
-
�J�2׍��fu�Z)��A��O�ͿW�cY���e�;Ve#�;���� @��� � �k����O��ЦF�������e�<A�y9$0U-�ߏ(�c#� Da��,�ǂ�8�@^8��t*�w`��8�'��v��%^^�
�j��� �X�
3d�dF�2�q�(=�V��V\[=����	�(!�ƣPwX!��a�=0��7��}7es��}D`�;p�U^Z�0>�X��;>�������ݘ#AZ	�����gE9��
<@�;�S'��N����fuj��~lB���	�`����&�Z����.�jP�jV�@�I
��|:0G�"C��$^��՞"
��`������R1�
OQ���!59�Q�6�1���
��k�����j������E���J����Ukz�͏١
����� I�K�?��#�1��1�Z�o�7w�����Z�M
kx�DA1�����
�R���f]��Mxh��Ys
���z�*���]
�
	����J ��2?���0.kA9xӢ�:w��tw�Ū-!\�(�"s]����z-𯁤�b��ϷE^��
��\!��{�K%@pA�0���O[$��S�rMk��ի_��dCϖ��
��0�5;�AhS��?'����^
뛠
n޴ŭ��C�P}8�tR	�P�]��~���~��ߟ�!������5��A�%89��
uD�H/��&���������M���5�
j7Ot�1�<AY�t���T�aX�|J9�=A��l���=���	3$)��ɉ���@a�"4�n�gwqt�����4" �N#n
:;A��9g���i����i8����9���%6�/�@ ��$�HR�^�Р{��T�����	0C��5Zܼ{(�aT0'�C�z�K�@ *{c�⪌y�C'�85s=��`�zg�S�$R�
-�MNa`
"��(�f7J6ȄeN�*�
/�ޮ�Y��)84�}8�xqR	�1�%t�
Oo��m��4�4J��H����F�J�,H�4J�F�Q�7\�d��F�ގ6JJ@��:�(�
��ڏ��U�4
-`��5��zf���e����
-
tDJ�'ۖH嬱N[���� �+�[	z��D��Oh�?�#��3.�@;l�h�=�b��$Txv{�@�0D7�=��
ړ�y�"D�7����b(��LOSl+��0К� X����Tʺ0Hr�3��!J��p}�:b4���S��nwǬxp���놲SQW��TpX�g�E���c��E'���@����GG�h.v�a��B룰홴c�h�D�-ݑY{��5��Tb�M�;��
r�x
uD�ՋY\���%�,��FSX.9ba�2
�^,��³�2���u�ͩ1�A�H�okD�������=���k+��>�[�=�y�A\}:(��W�R	� �ۖ���QPD9�s}��S0z�����L�
^*a�b���-���f��
�	t�(ljYT��\��&
-�ky�O��]��F='	A8	;_H��K�P��|���$��/#3.��⤈��4N�|������:8�i�3��wA(m,E���T�MW"-u������P��l����	tĒljY����]q,{K�n
-.½�&��{�͜
���	njA
-K�	ǴD�FW<�X2�B��m��]�J
��aI�j�3<�%N>a��B�g͐Y��`��ͻ�ێ����#�T
-����i�@��>p�	���Q���ʇ���8�
Y��
���K%�0�`D #��8�4�sZSvi�:"��������W
q���r��|��Qƽ
�O��mnO8���3�!��{'���4�Hlg��9I�k��)�qbi�	�]��<5���!�쪦�
�ƞp�Q�s��=�Q�W
f+6DY�ᔛ�M�F*=��5�N]{���!%z����e
�ʜur!�KZ'6����l�>
���
r�=w ����ٓe5���mn�
i�?}�g��?DP�1�t������-c1�=
-���a'���@��9
G�s8D77�#8���q�.�(�
Ώ�A�� *;n1�k/�@@�B��0��^j`>LΚ�*"�뤦R�6+�5$�:w[=�.�O	�����o��T3Ą"Ϙ�Ta�9a���bɔF�	�.Y;v�s���s����Y��V�AS�^*��(]U�p*@a���s}��S�z��U�;��byo�?߄��7��v�N(��a;{ҽ�x
--	��g��:b��Ħ�&N�MS�TB=g�NAR��
�K3A����@��"D�<�Rϴ	�Q�u}Wi�FC�d,	��u��g6��#�Z��P�^*�*
]���	�Nqs��Y�#�LN,�L�'8b߮��
�`����j�o��''�L�@]��ƍ�4	���ߜ�m���	]Ñ�ڊ' �օ}Eu`_pD���wB	��
�2������=�
-�xV#�ĸkb�̫ҝ
'��"�����3t�l�G+wH��ٍ
��
)���-A���'z����ܧOZ�&R�ŀ��I�р-�%RΉ�s.PK��]�u��t�ul�ɻ8�����v;X��d��&?�χMS�����K%Q�ms����!p;↑�>��I}���;�!�!��>�R	�n�1ދ�C�������Y��ђ�����r�n�
D���
��/�
��qz�M�ݔ��A��o����L��}~���
�X�@��+!�9��İV)�rbi�
-ƨ+n�SWh7M]
�s�+�b��QWu�<eo�*
-%H��s�T��>7R�e��=�̘�s���0�z�mZ2�12�
/�B!4��.��ͽ]'Ȋ2Ji���͜Ei���91
�]^�So�e��[p��ptS���A|`wf��適
�@03���FH`�C'�L�CA�ep��j��0��B��
)�W�4��Mg�
-��3#����h�ҥ���ZlqhWߺ_�i.۟�i.�Q��'+!��P�Ɏ��	ܬk�g: j=W at +�u
���r���[l���O\���ڣU�~|�����@�}盪�}���Ǐ�U��������4ע9����]'4���|�	Ox˵���S�n
��-���(�_��	endstream
+x��Y[s�8~���)��Z� q�L�n�I�l��wgg�C at N���"�4��{����:1�v&�8ҹ|G�"a�Z�ʻѫ�h��2��n)ә�bŶ�:Q���Y%�6&c�\#X�Ӆ�k:V���

S��]�~z||zrq��j��X�X}=�9���،�Y
0XT�
�¿�e�~�f:�6" VH.��mP%X�>�J���
�Q�r��b�<����.T�M�(n�F��L�Ql�@آR�K]�9�z��^�|z7R>�)h/���5'�g���%���\@
��y��^v�d��
A�\ۄ�A�w���kA��Q�y�<��Q�����������2e\�^�A��*c���;J���ؘv|����0����L�?�-�h��3a��$�0� Z���ӗ�����R#�����w��n�9yk� �kYf���m��&rMSJ��6���%-C�c�4�r`�j&��n�U_K*����
+Q!l"�djSD��͜�J��d���43ɶ��0�0G�
U��#�_c���f�b���bdS�$y.�Knh��Y�*~�n� ��pl`�
��bp	W��5�JQ?e0H�k�
�
��U�ZLt�Y�R
u�F�"�� �a!�v�1�
�Rb+�d�	���rt����:�L���g�f��1Dii� Yޏ�s�Y����aV+=�h��z3�ȸR�v�
,�mq�4`:%����R�
t�6�ol(�
�FG��'Y���_��.���u
!3�*��vH�+L�%�'��^+���^��j�?�Z�Xv��E�$�s)�|��֜���t/�t6��
{��[��i�$ܻ`�#�
2 >s�Ro
~H@��U+g��e� ���kp�J͟i�&�Ġ���xC�2ϳ"Cf�|^1�����$�2<�zQ&��n{&��T�]I�� *�~��I</�P�
+?-cW�]b�����YF�X�Y
}5{�|
�M	r��Y����A�vx��>��`�1+���A�ٷ[�j6�dG�K�{D�Iö[� �}M��J؃y͒�����~��
p�loH�T_�i��>�����P�O�(
+���(��g�
\u�r�����>�u��Z����+Md᪯�n��~l`[Uﺞ�!���ؓ��**��_��" �.�c7L�0�(�<h�=��b�A��'\�7��?�!��PLj�G
]�,6�t�$���p�_N�y��;�166�<쇵,���8�XP%-)Ń7)��Y���%�cj�����[�d�|_�`�+��ϻ����R�/r|
G.^?�&2��

�pA�DT�!UQ/JM�nq�FqB���q�"uq��7�޺�Q�w�h��k[�u�ڊ�AOT�H
v�D7�́�w�����	"b+kw��Q�<q�x�zBn ��ZJ�������=���� �G�F���:��`T���z."��2v�#X���`��zY^>�{���^���
�����ߦ�����KU�  �Y�?��,}�Q��:����J���Tj#��! B�؀
s���L���R�}�V��ֱ�H}us�e������
���2EQ6Y.瓖-�T'��]�YY�,��J�0��7{= �?�J~x
+endstream
 endobj
-7180 0 obj <<
+7188 0 obj <<
 /Type /Page
-/Contents 7181 0 R
-/Resources 7179 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7108 0 R
-/Annots [ 7183 0 R 7184 0 R 7185 0 R 7186 0 R 7187 0 R 7188 0 R 7189 0 R 7190 0 R 7191 0 R 7193 0 R 7194 0 R 7196 0 R 7198 0 R 7199 0 R 7200 0 R 7202 0 R 7203 0 R 7205 0 R 7206 0 R 7208 0 R 7209 0 R 7211 0 R 7212 0 R 7214 0 R 7215 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 ]
->> endobj
-7183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 662.1645 172.3606 673.0685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ee0ae23c1027e709991811b8398b9f46) >>
->> endobj
-7184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.9096 662.1645 244.5528 673.0685]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
->> endobj
-7185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.1198 662.1645 448.3694 673.0685]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
->> endobj
-7186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.4848 650.2094 275.2833 661.1133]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
+/Contents 7189 0 R
+/Resources 7187 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7200 0 R
+/Annots [ 7129 0 R 7130 0 R 7131 0 R 7132 0 R 7133 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 7175 0 R 7176 0 R 7177 0 R 7178 0 R 7179 0 R 7180 0 R 7181 0 R 7182 0 R 7183 0 R 7186 0 R ]
 >> endobj
-7187 0 obj <<
+7129 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 600.4673 172.3606 611.3713]
+/Rect [113.91 719.912 172.361 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_5da8e430d26c6471590e2c7ae5f7d82e) >>
 >> endobj
-7188 0 obj <<
+7130 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.8492 600.4673 245.4924 611.3713]
+/Rect [179.849 719.912 245.492 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7189 0 obj <<
+7131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.932 600.4673 379.7591 611.3713]
+/Rect [301.932 719.912 379.759 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7190 0 obj <<
+7132 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 600.4673 513.9963 611.3713]
+/Rect [436.747 719.912 513.996 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7191 0 obj <<
+7133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.5701 588.5121 332.3687 599.4161]
+/Rect [249.57 707.957 332.369 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
 >> endobj
-7193 0 obj <<
+7155 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 538.7701 172.3606 549.674]
+/Rect [113.91 658.144 172.361 669.048]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3805575c5d920cbc808cf34e44c11fee) >>
 >> endobj
-7194 0 obj <<
+7156 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.6977 538.7701 258.148 549.674]
+/Rect [199.698 658.144 258.148 669.048]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7196 0 obj <<
+7157 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 500.3606 180.1093 510.8909]
+/Rect [113.91 619.663 180.109 630.194]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a4a79e7bb87171b31d49429f9d875dcb) >>
 >> endobj
-7198 0 obj <<
+7158 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 461.2038 172.3606 472.1078]
+/Rect [113.91 580.435 172.361 591.339]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7199 0 obj <<
+7159 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.1002 461.2038 223.9067 472.1078]
+/Rect [183.1 580.435 223.907 591.339]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_40f18b846fb1fe73b63da7fa7cbbbbca) >>
 >> endobj
-7200 0 obj <<
+7160 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.2439 461.2038 309.6941 472.1078]
+/Rect [251.244 580.435 309.694 591.339]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7202 0 obj <<
+7161 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 422.4207 179.5535 433.3246]
+/Rect [113.91 541.581 179.554 552.485]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7203 0 obj <<
+7162 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 422.4207 250.6661 433.3246]
+/Rect [180.052 541.581 250.666 552.485]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ff27d012a01487b7c9c14a9a3b40d9b1) >>
 >> endobj
-7205 0 obj <<
+7163 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 383.6376 194.2082 394.5415]
+/Rect [137.432 502.727 194.208 513.631]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-7206 0 obj <<
+7164 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.9478 383.6376 311.9354 394.5415]
+/Rect [204.948 502.727 311.935 513.631]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_a9f9e9fbb372e1f21bd0472b2db20567) >>
 >> endobj
-7208 0 obj <<
+7165 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 344.8544 170.6866 355.7584]
+/Rect [113.91 463.872 170.687 474.776]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_dda1de457524bc20064ace508201876c) >>
 >> endobj
-7209 0 obj <<
+7166 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 344.8544 243.3135 355.7584]
+/Rect [171.185 463.872 243.314 474.776]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_8ccc13c9fa8f27701c935b481a371f89) >>
 >> endobj
-7211 0 obj <<
+7167 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 306.4449 170.6866 316.9752]
+/Rect [113.91 425.392 170.687 435.922]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_dda1de457524bc20064ace508201876c) >>
 >> endobj
-7212 0 obj <<
+7168 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1848 306.4449 235.712 316.9752]
+/Rect [171.185 425.392 235.712 435.922]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_f46e579954688eec46ac0a43029fdaa1) >>
 >> endobj
-7214 0 obj <<
+7169 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 267.2882 214.6815 278.1921]
+/Rect [137.432 386.164 214.681 397.068]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7215 0 obj <<
+7170 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.4211 267.2882 301.7242 278.1921]
+/Rect [225.421 386.164 301.724 397.068]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3800cc1eb2fb15d0c42dd71740bb661a) >>
 >> endobj
-7217 0 obj <<
+7171 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 228.505 196.7089 239.409]
+/Rect [113.91 347.31 196.709 358.213]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
 >> endobj
-7218 0 obj <<
+7172 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.207 228.505 276.6881 239.409]
+/Rect [197.207 347.31 276.688 358.213]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_162d95e1149e222a317370e2fa25a120) >>
 >> endobj
-7219 0 obj <<
+7173 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 190.0955 155.2649 200.6258]
+/Rect [133.915 308.829 155.265 319.359]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_4d480f0b906eef0c0094c8fabc69a3b3) >>
 >> endobj
-7220 0 obj <<
+7174 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 150.9388 278.6812 161.8427]
+/Rect [133.915 269.601 278.681 280.505]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3aa58c4d8ded71e574db9d1c59533300) >>
 >> endobj
-7221 0 obj <<
+7175 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.4968 150.9388 348.14 161.8427]
+/Rect [282.497 269.601 348.14 280.505]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7222 0 obj <<
+7176 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 112.1556 273.0024 123.0596]
+/Rect [133.915 230.747 273.002 241.651]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_0bf7e46a624f9d9df1528ae0b47ad55d) >>
 >> endobj
-7223 0 obj <<
+7177 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.3395 112.1556 357.1158 123.0596]
+/Rect [300.34 230.747 357.116 241.651]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-7224 0 obj <<
+7178 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7182 0 obj <<
-/D [7180 0 R /XYZ 90 757.9346 null]
->> endobj
-7192 0 obj <<
-/D [7180 0 R /XYZ 90 557.8278 null]
->> endobj
-7195 0 obj <<
-/D [7180 0 R /XYZ 90 519.0447 null]
->> endobj
-7197 0 obj <<
-/D [7180 0 R /XYZ 90 480.2616 null]
->> endobj
-7201 0 obj <<
-/D [7180 0 R /XYZ 90 441.4784 null]
->> endobj
-7204 0 obj <<
-/D [7180 0 R /XYZ 90 402.6953 null]
->> endobj
-7207 0 obj <<
-/D [7180 0 R /XYZ 90 363.9122 null]
->> endobj
-7210 0 obj <<
-/D [7180 0 R /XYZ 90 325.129 null]
->> endobj
-7213 0 obj <<
-/D [7180 0 R /XYZ 90 286.3459 null]
->> endobj
-7216 0 obj <<
-/D [7180 0 R /XYZ 90 247.5628 null]
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 192.266 194.567 202.796]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_e60e06beac90231262189084333bda57) >>
 >> endobj
 7179 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F99 2213 0 R /F100 2135 0 R /F52 341 0 R /F37 2043 0 R /F25 344 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7232 0 obj <<
-/Length 3552      
-/Filter /FlateDecode
->>
-stream
-xڽ\ے�6}��Гw�*�q���MeS��zco�C�R�'�F�%%;���I`@�8�'�*�$����
4)���,
^(��a\.ֻ��>����p}
-�����H�0�H*o�[
� A	]���tKb�nI0Ʒ���-�]�z}G��a��������]]��^����������ûm��[R�o��Mӽ���/���~]�RJ5�������ۛ��z��0�Ģ���O������
F�h��o0"����S��lo������.�_�򆽼d
i	߼�.���{w	��`�8�|�Ŭ�~�T��D0|�
-�F�T�.��`)�v?��Rm"�0HC�ٶ��_{�CN>�"�kQ��j}�7������aH(l2~pR9F�U2���X���8�܆�\Gx�
�X����E'P�'<��Tκ�`}4
/���B���
�5"�L�%��)�陡
aQ�PG
J�P��3C
���GS��M�E�g}8>t����;"n�瀢T�����k�j\w�
-Ik�8
:���e�X�{q���
-]r�4�_�tG1�'kCL��e�9���
��by�q�i~	��Ͳ���
rICk�����E!�e�N(c�;�f����"�Rr�
�t�X�RVo
����)���
�P �
�@��źI��Q��5��H��I,� �
���OP
!�K긦� �k��I�Fhİ���6\ &�α���M�0�7i��pB�y�؞C9i�^��)O�û���SuG���S���{�ఏ�@ ��J��KeQ� ���|\�!��Ą�u������Z�W���W_�~�˦���P�B��/�Tc�"�
A���I�PDQ}!:R���,�7�cO�"�п�+��:L�00�dՓ
(�" �3����-�e\0���!pW,��ʼn�%P�▴]�-��<�
l��4�H����Uv-�v�MS����ȴ;�T�Uj8��i J��d*���
-/�E0�k�3t�n`D�����T#
-	�G�Ѻ?�&���װI�#�&^����>i�N�L�\�}�[i#����;�&Bc$����&B�>�w�P�M�X�MB�	6��ul2���p��L�3�zd7�$�|A��"��Uk�sL
(2#4��������a�v�����D��y,�/�A�œ^H��T 9�v��\[�����gն:=n�Ȁ�O�Q3�o�����2[(�����UsE�q����1H�tEA*ƜX>��c�8�0�r
�ˡ���Π�m��ͩ8��S�1��)�q�U+�
�E��`m�n7g|�@%��N(g�BHK��I|B��Wsc�
-�@G*T�XP��5;j��H�!ĵ=(22B^,B��D���u�1�{�蕈j�G����ϡ��Ze������8�O�]s
�朓�T
��@8d���\�]C��Ws���s0"���徬�ӡ�w�����T�8�1*�h�^�����:
���1�a�)B�:��gp�z����ނ�{]�qg���#D�9^*��d��y�Aö��l78�
�H��
K
�[�|C�f�'��ʝI٭(U
֛R������Z�b�1�$g��Z'm�����%C�����H�/��T�$ l��q
-��ԑ���G.�~3�G�
/���=;�
2]���l�Q�:� w1e
I�d�n\:pU*��r
U
tˤ�k����0d�>vї^�2�ٺy*
-�6�<�ҩ���
-�v>��w0n�e���c�l��S��=ȧ�\�
�����K�!�
����C~M���3U~2�x�$A�Or��e��s�93�(p�w����G�0U|����#�;ML#N5NT
�|B�7�S���A���
������l�m�������Cw�9�^k��,�
-J��E=���])$=~/�A@�]'Z����-�!Z^�E
u�R��,O�z?l$:��{��{݅n�O	�
���:&p����>e�ͬz�-���Ss��`WE�zή"�ACŝ�*z�<
-S<���y(��ᡁ�9<����C��?�Pڸ��v��f�����#�m����밅i�d4��T���
�=���ߌ������y��������OD
1�>�y�'"� ���قd�9Jr-H/�%�Pa��2v

�f[�C�3Z��^��v�6�q��$��x��A0�mT�	�h>��i)�hf:��g���:W�
b c����ʀ��5��Ƀ���+r��C''���� (�%!i?x�
{H�<��!�����H�K�
H-i�� Jh�;;���\<;�4���Kg�ޤ�;;HS�ȹF�v��מ
�*��Ω�@s��KnR#��7$::{�a{~l�Gw ƽ�9��`������HH��y{�|�
-��WڮO_��d�{hwF�;� ��v�����Γ���TΪ �h5���GloEg�*z
-t��ɉMu�]�Vl��H��w
�~(�����ۨA^n.5��&���j�R���^,��D`d�����uC�3�
�Ho�Y�uU�6��1�#͡K��I��U�����J���W��C
� �b�����S7Lu����Qsڼz�.�z"#	
��g�N�o����eO��<��b��&�n�'[&�U��P��~�.9�����{�|�
-S���7���߁�9�F��I<�oں�߁�!~�hNuY��r�h��4D�!\^Ӂ�TL;�?ӹ��>a0��,?M0�����3�!`1�,�N,΁�T8���p���y`{N8�QDz-�c=�0���	�[f�N*gX��+�}~&��8X���PG"j�����vO�C�6g�h��ό�LJ�&
+E�(��dnl:V�*q-����ߎ��a˴����S�]�}���=����QO$��
��BوT����E���4�8cG��=������"f%����Scv2i��
c���.UW���bK\�`
u�"݉����wlz����;q�ME4C�S�LҊ�0G�B��%���A̺��1�>���t��{�z��c.F>����|�A��a�7��ځ�=��I"��.`��ߥ�� ���˭�`�.[w7�4{3i+3r=}/���,�{w�Zg�ׇ�5`��Ý@�KF����
 �3A}./�
� ��Is^�˦�?o?��������b�Lj6��S7���}Y��������0�Z_�".3;Q�c�O{�<�
-�~ ���ݮ�
�US�Q�N�r��l�!�t�S ��J(�4���
���b���V�ջ����=�
��4	w�2@(
�q�:��'T��"f�Ug6��T�pbQ_�b�
�c�۟l�;wN�:�����j�@���r���/;��*��kJ:F��x2�1,"���'��_0A���!:�SL��(%
�u��[����0Ի�6���示��oJuo�ݔ��,����C�?�	���{h�n�>�V�v%���M?a�(,/�<��A�����wa_���2�F��Y*m�׎���t|���ǏѺA�}u�Quzy<n_FՆ�ߛC�Ϯ��
<�
-� �؛E��Ek)��-���(��'��e���endstream
-endobj
-7231 0 obj <<
-/Type /Page
-/Contents 7232 0 R
-/Resources 7230 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7108 0 R
-/Annots [ 7234 0 R 7235 0 R 7236 0 R 7237 0 R 7238 0 R 7239 0 R 7241 0 R 7242 0 R 7243 0 R 7244 0 R 7245 0 R 7246 0 R 7247 0 R 7248 0 R 7249 0 R 7250 0 R 7254 0 R 7255 0 R 7256 0 R 7257 0 R 7258 0 R 7259 0 R 7260 0 R 7262 0 R 7264 0 R 7266 0 R 7268 0 R 7270 0 R 7271 0 R 7273 0 R 7274 0 R 7275 0 R ]
->> endobj
-7234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 720.2859 194.5672 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_e60e06beac90231262189084333bda57) >>
->> endobj
-7235 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.9044 720.2859 265.4106 730.8162]
+/Rect [221.904 192.266 265.411 202.796]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-7236 0 obj <<
+7180 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 681.058 198.4425 691.9619]
+/Rect [133.915 153.038 198.443 163.942]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3a010e69cfabe1a026ee21f7639207e3) >>
 >> endobj
-7237 0 obj <<
+7181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7797 681.058 303.6068 691.9619]
+/Rect [225.78 153.038 303.607 163.942]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7238 0 obj <<
+7182 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 642.2037 226.268 653.1076]
+/Rect [133.915 114.184 226.268 125.088]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_ea40406b8f95d9ca4f61f23598448cd5) >>
 >> endobj
-7239 0 obj <<
+7183 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.6051 642.2037 330.8547 653.1076]
+/Rect [253.605 114.184 330.855 125.088]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
+7186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7190 0 obj <<
+/D [7188 0 R /XYZ 90 757.935 null]
+>> endobj
+7191 0 obj <<
+/D [7188 0 R /XYZ 90 677.237 null]
+>> endobj
+7192 0 obj <<
+/D [7188 0 R /XYZ 90 638.383 null]
+>> endobj
+7193 0 obj <<
+/D [7188 0 R /XYZ 90 599.529 null]
+>> endobj
+7194 0 obj <<
+/D [7188 0 R /XYZ 90 560.674 null]
+>> endobj
+7195 0 obj <<
+/D [7188 0 R /XYZ 90 521.82 null]
+>> endobj
+7196 0 obj <<
+/D [7188 0 R /XYZ 90 482.966 null]
+>> endobj
+7197 0 obj <<
+/D [7188 0 R /XYZ 90 444.111 null]
+>> endobj
+7198 0 obj <<
+/D [7188 0 R /XYZ 90 405.257 null]
+>> endobj
+7199 0 obj <<
+/D [7188 0 R /XYZ 90 366.403 null]
+>> endobj
+7187 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7242 0 obj <<
+/Length 1868      
+/Filter /FlateDecode
+>>
+stream
+x��Z]s������jkϬI �޴��ζ�6g��s��a,'�b� 'u�y%��l'���F����!�ޭ��G�_��~���S�]Ͻ{!'�Q�]ϼ�cB�L�c<��<�B$���e����Z$�d7��W����]&���D��&��ɔ2<��EӴ��\�۲H%�4�c���?��u=�kD@,�#
Q�3/]�>��������GރY����1��F�
a��T��
��(�#/�>œ��}����s��)]����2շV�f�V��*)+�-����"Y�3�KN/���Kj��&��{Hh�@�l��g?�ԋ@U
hU)E<�ޔ(�V�+��ԝlO6E��L�R3��`t	Qp`iHv��r��ӭANy�ro�hJEG�|��.�)���{�&i@���T at D��1��JˢQC-|q'S
6Z;o���L������x�\�#ڛ
�
���5�.k����m��i|��N[ko��7�O��P���s�He~?!l��α�� �ۓ���M\ϳ[�͘��4����	ez)�|)�Lʛ��Te���X�|Y��;L���j�����GY�Z��v�x�#CV�&U���~���R��C:��L�I�X.���L�Rpo�!8� ��&o'��73Y
������ȄPKX�
�q��D��n�(f.2
��x���iJЉ�B�k}�1��	F"%�G<
�D�.�@J!�XD �?��a��X����ߖYSV�YR�(�

9b�
Ԅ�)�.fY�t�������X6�\�א,ᨳD�}�;Yt���
���ev�;�{����w�
q��pXb
p�|���v�:������g�R4d�����q?H��
�o�dK �r��V���m'cx����e����
+!uv�;kT���Ĉ H�ۖn+�?�����R�O�1���>f>�V~�2�a����&���ք��rk��'�VU�#Ϊ�#~���9ZVyL���
:����p_]�<��2Q/�
Q8���K�!̼�4���Guu�˅.{������App7
����h�����<�u�B�����b �E�����Eۯ�{r����E4i�%��ze����T?Q�6
� E�Oɍ������
A�0�|���wW�޵���+� B�[������fk��fj
+3u��SV���5f.UKa���4/u�?��sBZ��8:|����[E1
+I|J?W��o��G�)̇�����B�WYg�Ĉ���)b��A�15p"{�e��A�hSz��~6�~�*�Й�l ��a
�'��-��R��>s�~`h��4�9��^`�
+h��0�C�o�
(vp�t?�a��KX!lC2[�r��s�:`3��N�[I�0�7B@�1�L�w�u�i6҉s�S
0S�S@�9%�Z��ii��A��	c�S��~�z�-
7��<�ͮ�i�i*�f��ߺԈ^ks�7N�z
^�z��!k�&�3Q�1
+C6pOz!e�J����U%��#�JC�}6+���.y�q��[N#��
+�����؊���[���4]V��yʕ���� �ҽ���
�N�l�+Y_�χ;z!
+����ꟃ�&�8�_�e�>Gc'
{��z�6���+����E/^D��"�P���C��\["�w��V��
+��0O���S�EY��̓K�CQ��,&��B
o�����TIj)U
�!�i.a~���V��j*�7p�hk:�n�U�F�^�G[bJd���*5
ϻ�kp�}�?��>π�)��k�<a1b̚���:ca� \v�����ۓ���F�����Z�(�]՞oߝ�M?Ob��jI|�I�V]��߭zz���#cյ�C��E�S�:?;{xx at i��EV�(SgU��m�rGu��f����c��/���t��N'����
+endstream
+endobj
 7241 0 obj <<
+/Type /Page
+/Contents 7242 0 R
+/Resources 7240 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7200 0 R
+/Annots [ 7184 0 R 7185 0 R 7208 0 R 7209 0 R 7210 0 R 7211 0 R 7212 0 R 7213 0 R 7214 0 R 7245 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 7239 0 R ]
+>> endobj
+7184 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 603.3494 229.4458 614.2533]
+/Rect [133.915 719.912 229.446 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_fc1e5cbd96d9c2819ba1ec2151f3897e) >>
 >> endobj
-7242 0 obj <<
+7185 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.2615 603.3494 316.06 614.2533]
+/Rect [233.261 719.912 316.06 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) >>
 >> endobj
-7243 0 obj <<
+7208 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 564.8687 187.583 575.399]
+/Rect [134.114 681.432 187.583 691.962]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_49625522da117289c0312c67060210f2) >>
 >> endobj
-7244 0 obj <<
+7209 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 526.0144 201.7001 536.5447]
+/Rect [113.91 642.577 201.7 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_gdf9d6f17d8974c81e3499f170e7762a2) >>
 >> endobj
-7245 0 obj <<
+7210 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.1982 526.0144 225.0723 536.5447]
+/Rect [202.198 642.577 225.072 653.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_21e9dae374ecb009d8f7f268f5e673e7) >>
 >> endobj
-7246 0 obj <<
+7211 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.2901 486.7865 249.2715 497.6904]
+/Rect [135.29 603.349 249.272 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_22183a1ac7a9af9929c6153e2a7a659b) >>
 >> endobj
-7247 0 obj <<
+7212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.3584 486.7865 321.1812 497.6904]
+/Rect [279.358 603.349 321.181 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-7248 0 obj <<
+7213 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.9749 486.7865 449.9918 497.6904]
+/Rect [403.975 603.349 449.992 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7249 0 obj <<
+7214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.0289 486.7865 513.9963 497.6904]
+/Rect [484.029 603.349 513.996 614.253]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7250 0 obj <<
+7245 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 475.2049 135.2699 485.7352]
+/Rect [113.91 591.768 135.27 602.298]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7254 0 obj <<
+7215 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 435.977 179.2546 446.8809]
+/Rect [137.432 552.54 179.255 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-7255 0 obj <<
+7216 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.9943 435.977 248.4344 446.8809]
+/Rect [189.994 552.54 248.434 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_485bfce228009ebec2a7bd83d695eddd) >>
 >> endobj
-7256 0 obj <<
+7217 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4319 397.1227 179.2546 408.0266]
+/Rect [137.432 513.686 179.255 524.59]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-7257 0 obj <<
+7218 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.9943 397.1227 260.6286 408.0266]
+/Rect [189.994 513.686 260.629 524.59]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_3601b97efe162fca1df11d70b0b3d607) >>
 >> endobj
-7258 0 obj <<
+7219 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 358.2684 192.6643 369.1724]
+/Rect [133.915 474.831 192.664 485.735]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_7f2b2dce631b12fb46f6f1fa719e6c84) >>
 >> endobj
-7259 0 obj <<
+7220 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.4799 358.2684 242.4968 369.1724]
+/Rect [196.48 474.831 242.497 485.735]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7260 0 obj <<
+7221 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.4405 358.2684 319.4574 369.1724]
+/Rect [273.44 474.831 319.457 485.735]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7262 0 obj <<
+7222 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 319.7877 150.493 330.3181]
+/Rect [134.114 436.351 150.493 446.881]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_b5ff957e959947c6016cd28be6e2fadd) >>
 >> endobj
-7264 0 obj <<
+7223 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 280.5598 181.845 291.4638]
+/Rect [133.915 397.123 181.845 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_bd1a41cf267b29ebf81851eb096dc6de) >>
 >> endobj
-7266 0 obj <<
+7224 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 241.7055 181.845 252.6095]
+/Rect [133.915 358.268 181.845 369.172]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1ef2a882e1f0a3121f94eea90a9a16fe) >>
 >> endobj
-7268 0 obj <<
+7225 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 202.8512 154.727 213.7552]
+/Rect [133.915 319.414 154.727 330.318]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_8a238e31c3b4acf8a023a6346bbf752f) >>
 >> endobj
-7270 0 obj <<
+7226 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 164.3705 176.5049 174.9009]
+/Rect [134.114 280.933 176.505 291.464]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abfec033a504656ea05620f485442b1e) >>
 >> endobj
-7271 0 obj <<
+7227 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 149.3762 450.9552 159.2814]
+/Rect [328.408 265.939 450.955 275.844]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1ef2a882e1f0a3121f94eea90a9a16fe) >>
 >> endobj
-7273 0 obj <<
+7228 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 114.1837 191.7178 125.0877]
+/Rect [113.91 230.747 191.718 241.651]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-7274 0 obj <<
+7229 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 114.1837 288.8524 125.0877]
+/Rect [192.216 230.747 288.852 241.651]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_25be5d5e126674d8aca8b9ec828e289f) >>
 >> endobj
-7275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7233 0 obj <<
-/D [7231 0 R /XYZ 90 757.9346 null]
->> endobj
-7240 0 obj <<
-/D [7231 0 R /XYZ 90 622.4427 null]
->> endobj
-7261 0 obj <<
-/D [7231 0 R /XYZ 90 338.5074 null]
->> endobj
-7263 0 obj <<
-/D [7231 0 R /XYZ 90 299.6531 null]
->> endobj
-7265 0 obj <<
-/D [7231 0 R /XYZ 90 260.7988 null]
->> endobj
-7267 0 obj <<
-/D [7231 0 R /XYZ 90 221.9445 null]
->> endobj
-7269 0 obj <<
-/D [7231 0 R /XYZ 90 183.0903 null]
->> endobj
-7272 0 obj <<
-/D [7231 0 R /XYZ 90 133.2771 null]
->> endobj
 7230 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F38 7253 0 R /F100 2135 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7287 0 obj <<
-/Length 2899      
-/Filter /FlateDecode
->>
-stream
-xڵZ[w۸~���S*���t�e����k�����
Z�mv%J!�8ί�   �ᮚ���$F33f@��?d��E"�2.��^<��_�fx㫶��n.��H�HQ*�\��[
� A	]�l~]��\����%�ˬ�e�o/)^�ϏzSf�?�weV>__����۷�%Q���V�.WT��7۬���;}��.��R���^�~���w7g3
�$1(?\��;^l`:?\`�R%Op�IS��]p�������?�
7`0�
3�b
)	��teK���m��`�8S|�~�T��D0��
-�h+�[�(U0�1�|h�޵p�X�(:/�A�ӻ}�|[��m�|��)F	%b)E<�I
i���"�r
�����Z�E��m`����s��>j�)Š���WA*��a�D�Do]���h^
.s���y`��H�
-"!!��(DB9�&dWm
b�
- Jn]FS�
b�;]ˢɷ�Q�
���*/��·�rߓv�n��"3i�`���c3�7�6 ���B�4��0sb2iIq$q�42�c^9���(DD#��|,�Q�����̻�P�B�M%�T
Q����b��o+
������iݱ��rr�؆ɦҹk{:e�|
�@�AQ=�M�0@!����e��D��o�s`�2�2��{���^��mn����3�����T�<�a�w��g�MS�"S���R[�
!1���Sv���
-�Z���
%X�	=���"�L1o��G��
����n_�s� ��"�9^,�9-�g
t�����u��B��yVf;
[��/	!�l{��dQ�25
����ɔ2$<�u�?��v݀?x�ƒ`XO�9�� �C�$Jw}G��A�%4�=����Q}��k�
����a�&����R4�kH
-�CS��b�a�q�Ṯ^#5]�}��>^s�0���*� �ͺ:�\��p#�6��QI�I/�j�[	c$�j^,�j-�s�Լ��Wm��J�c�%��<��^[I��|(�G�ʈ;�T��
�;�0�=�^a�bO�(���?�0�a"�wJ��`bL �
ƈ���j.��
��A>m
3��lͥ��OҊbH)嫲�޽}Z�H�)�ъP)	u��[:F��WZ�f�uV�k7շǻ���Y��`���ͱX�9�#�Nf�%�<��� �Y�'
���<ֱ[9g
X�T��3t-ϰX#�0�k0l�.*���Q5�1	,�^Z�#s���:8w٧�ꐭ�m@< �B�0t\�k�T
F� ETo��	�TF(�yV9��1�(^l����cs�k��.O.���Е
-U��|����G����r˂c���4�s�]y� �Y�UmXg�'
�b����Ӝ�1���=��c�3�T�f�x��Y��:��
Y�?0�xJC��������Q5���(�u8[
D|�m���70M#(�d���3l
Ģl<k������;v�zs}���RgMƼ�H$�tuaLS����5��]f�����<zU���_}5���
Hn�_A*��	�z�2�5���L��(���/v`�� 
ꍜ��DAјF
�b��	�޲c���0�Up
�%)=�H�:f�� f`��X�M����	3S�O�
K��1c_��@4��pE�rE[�
WD�z��؝�@9ATA tmO�����=˗I�҈�T�v�� ������Fȋg���z
���4o���t��>��%���m�"ؘ���a������!�$�_� 0��"�
>�$Fi��9BF��"&<G���2�H��忘艼Ԫ-6��Ȝ0� I�5�|V���1ÙA̶��γm�YWc/A�;����vO��\Z���k`�౾��L�Y}y[�h�ɀ���3D�I��u�o}�����e~���k��t��u���Lz����|ii�c�:+O��ue����Cs��к��1�(w����������n��/W,M�{(�d�m1��X�7��ɜ���<��(̓>J���Fi���D����cH�����5Q���|kLx��1m���
0�>�0w=R�� �
�wն�̮Ģ���Ӯ��wՎ�з����a�G�jkS��Zۿ��� ;�4�vOK`�=^,�9�-���
�i�
ӿ�Y�CL����,x�u7xv:+z��d>�0-r�V��J��w���x�~�'�/+(��u�?[�
-��� ���u1�0q��亴f�%�E�e��i]"v��t��u�vlY
�/Iʭ/ͳf�/����
J?nĝP�y+Yy��y��V� 6�K7
���`+���U9a�/��a���z��D�ICj
~r�@B'���V�
G�Y@)��t���ًŗy�bk���en�
Sv[Nn<�|�=-i�pcwͻ>�g�V]�$qBzЧ�ڼ|dC�f?�Ծ��ӡ���!�-$��
RCm�h�0�X��Pi	̅���ʜ�V���
�Ҷ{
-��v��{���S	�s��ᰶ#�7�5ˆI5�����*���;tp�
�#i��0�o���/kwso�

���@ˋu�a���+~���ۣ�g�l�����y̓P󘛻�2Y`Q8�@G�(s�m��`�3	�;]�,+C`�
T��~W?�A�Q�
k��)֏+x����h�׏E��+(߸��@
�㸭
��tk���鮵�6��r�Vc��M>��~�ɨ,�r��+�9����8��Y�c�Wͺ�
0�p�A��a�a�Q����M�s-�N؎����A�b�!7���›O;QB�N��O”�؀Ao[��6���u�M�n�U��/�v�c�
-(`N��lw�*�b�}�c��{=|[���e$�:ȍ���W?����`���k֒�lz͜��p}u����:��Dy}u8l����ܼ�^�U`�x�)	<Gx�}`�}�c��;A�6W@�?�>#endstream
-endobj
-7286 0 obj <<
-/Type /Page
-/Contents 7287 0 R
-/Resources 7285 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7317 0 R
-/Annots [ 7290 0 R 7291 0 R 7293 0 R 7294 0 R 7296 0 R 7297 0 R 7298 0 R 7300 0 R 7301 0 R 7304 0 R 7305 0 R 7306 0 R 7308 0 R 7309 0 R 7310 0 R 7311 0 R 7312 0 R 7313 0 R 7315 0 R 7316 0 R ]
->> endobj
-7290 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 719.9123 191.7178 730.8162]
+/Rect [113.91 191.892 191.718 202.796]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-7291 0 obj <<
+7231 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 719.9123 303.0791 730.8162]
+/Rect [192.216 191.892 303.079 202.796]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_b151aa3732a4737e63c5142b42159dc3) >>
 >> endobj
-7293 0 obj <<
+7232 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 681.1348 156.2812 692.0388]
+/Rect [133.915 153.038 156.281 163.942]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_623847fa141f97cd59f3d85627536379) >>
 >> endobj
-7294 0 obj <<
+7233 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0969 681.1348 218.5471 692.0388]
+/Rect [160.097 153.038 218.547 163.942]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7296 0 obj <<
+7234 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 642.3574 219.2343 653.2614]
+/Rect [113.91 114.184 219.234 125.088]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d) >>
 >> endobj
-7297 0 obj <<
+7235 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.7324 642.3574 311.9157 653.2614]
+/Rect [219.732 114.184 311.916 125.088]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_1e73b39b2848f8141aa58219cf97dead) >>
 >> endobj
-7298 0 obj <<
+7236 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.7314 642.3574 422.1612 653.2614]
+/Rect [315.731 114.184 422.161 125.088]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983a) >>
 >> endobj
-7300 0 obj <<
+7239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7243 0 obj <<
+/D [7241 0 R /XYZ 90 757.935 null]
+>> endobj
+7244 0 obj <<
+/D [7241 0 R /XYZ 90 733.028 null]
+>> endobj
+7247 0 obj <<
+/D [7241 0 R /XYZ 90 455.07 null]
+>> endobj
+7248 0 obj <<
+/D [7241 0 R /XYZ 90 416.216 null]
+>> endobj
+7249 0 obj <<
+/D [7241 0 R /XYZ 90 377.362 null]
+>> endobj
+7250 0 obj <<
+/D [7241 0 R /XYZ 90 338.507 null]
+>> endobj
+7251 0 obj <<
+/D [7241 0 R /XYZ 90 299.653 null]
+>> endobj
+7252 0 obj <<
+/D [7241 0 R /XYZ 90 249.84 null]
+>> endobj
+7253 0 obj <<
+/D [7241 0 R /XYZ 90 210.986 null]
+>> endobj
+7254 0 obj <<
+/D [7241 0 R /XYZ 90 172.131 null]
+>> endobj
+7255 0 obj <<
+/D [7241 0 R /XYZ 90 133.277 null]
+>> endobj
+7240 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F36 7246 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7276 0 obj <<
+/Length 1946      
+/Filter /FlateDecode
+>>
+stream
+xڥXYs�6~����,Ue� ���K�I%��zg��̤T	Y��
���ۍ�"eI�d�\eG����n�x
�~������u��� O�Ļ�z9�҄qH���{�S��ŒB��%>�k��[��o��
/{��Elz�?��������_��o7��0&�w��
��-�˼)8
�a.��������W�"
�j�i��b�����A���H��3o�w�^��彽���&��i1��FID��K�U@����>
c}�;�[�`�'m�(���?X���]h��j]����jݱ��\��G�p�{�����pp�;1���R�U?%��"���
����4�20?���0
�(�4
+�(2ֿ�ʆF[��b��� s�6�I �x".[Y��EZ�'���I�����s�@P0�$���*���j���Q�n�Tn�+�7��
�
�B����k�Q`@�Dw|�\z��y#�ֵz����g���q-;V��x�
h�$�o���X���].��&��b17�|���6�1:�O�_0+kǚ����!`�$��m����@ŗ@h#�܆|��Vq��FwH;�z;hZ�XO@�uw�Bq�R
�y�9,����T=g���.;��x�Tks����gH����/>
�lLA��	U��HR�$�g����^��e�j���l
����
H���s���	����/��,�}��%�;��埣xK�X;��͓.�[_=^�W��(���%
+ �G	��yl��R$�^H�MWG���`�����#
+!�SJ
H�7~=�
����V�0�,�W����2�s�D��{.�^t��eJ��V
�^w"~j�f�G
��J4��ڍ�r����Z4���k��
H�$����3U�͟�Pv�] ;�@_B��´W8���-��`fc}�g�TK�8�纩�(d�r�&Ŀ�J�� �����r4f�3�pxOH���y=�
+}%\w���u�oGu
=6���?
+��C	�j.���c�_t�3)��7.��֜�r��b,$l�+S�V�w��1�8 at Z�'W�KW��%P�(�Q81ۨ��g  y�����<���
+�<�
+�]����дؚ��b��^0p�t��=޳��J5(б���x��V�v���Q��u͢PՓقW"����\�p�\V���K'�Nԑ�I-P_sۼ۰�)5/m�s�]�пh��x�z.O4�������_L�IV�
X�
��ۜ�uy�2��W
.O�a�p$��'����E9t]�+��kp�����h��=(V����j0��f��9�r83�
~l�Ĩ���8�ϴ�Ϥ�`E`
+�0��%�U��'B�
�k��u
�a
+|S�0�ܴ�[U��5���%v�D�}��0T����ݓŃ#`�-��6|i6Ֆ3[,l4،ORHY���.}-͔qE�
�͛��נ}��~���F1r�ʌ�r�%����1��M��P{"�"���,��0K
��Y���㙊8��t�4�
`J� ;��:�E���=�*3r3&�@
���&J���'M�w�ꐡ�.��׮C�ҵ�����ّ���?~ 9g��l^Rl� YZ��@#됮j�2�+������7
�W17�4Hht�
)��?">�r+�['l�Zi��>ۚ՞�NuL���u���獎�SH�)��éȱ
+�N��"�_�
����~�3�
+�n>Fj4���\a��aRp.�����(�����/���BaMbtUH���Q̔UP�I��1-Z*ae)��6A�᷊t���wkj�\9}t��
(v�	S:n?U��Cq�7��+%�D�J���9�
���[�f/����y
+e����s(��R�qoF��
�
�C�ף��M��_�Z?��a�0��2�����"Е�^ :��r�
Ƽ���J�J��
GFݳo�Tw{s���BC#�>�몛�?}
�Px����$۱�h�/>���Z��Y�Z	
+endstream
+endobj
+7275 0 obj <<
+/Type /Page
+/Contents 7276 0 R
+/Resources 7274 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7200 0 R
+/Annots [ 7237 0 R 7238 0 R 7262 0 R 7263 0 R 7264 0 R 7265 0 R 7266 0 R 7267 0 R 7268 0 R 7269 0 R 7282 0 R 7270 0 R 7271 0 R 7272 0 R 7273 0 R ]
+>> endobj
+7237 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 603.58 224.9926 614.4839]
+/Rect [133.915 719.912 224.993 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_42acbf3b42263a3dc137395dc8fe1421) >>
 >> endobj
-7301 0 obj <<
+7238 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.8083 603.58 334.1322 614.4839]
+/Rect [228.808 719.912 334.132 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d) >>
 >> endobj
-7304 0 obj <<
+7262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 522.929 203.0748 533.8329]
+/Rect [137.432 639.15 203.075 650.054]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7305 0 obj <<
+7263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 522.929 296.3242 533.8329]
+/Rect [203.573 639.15 296.324 650.054]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
 >> endobj
-7306 0 obj <<
+7264 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.488 508.3467 334.3733 518.2519]
+/Rect [281.488 624.529 334.373 634.434]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7308 0 obj <<
+7265 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 415.1146 226.0342 426.0186]
+/Rect [175.349 531.109 226.034 542.013]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_30c23ab257a58da3708591becad2bf1f) >>
 >> endobj
-7309 0 obj <<
+7266 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 415.1146 379.6261 426.0186]
+/Rect [321.176 531.109 379.626 542.013]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7310 0 obj <<
+7267 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.2843 376.3372 162.6502 387.2411]
+/Rect [140.284 492.254 162.65 503.158]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_6ba0be34c122032442a7409f194e157d) >>
 >> endobj
-7311 0 obj <<
+7268 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.8348 376.3372 342.3674 387.2411]
+/Rect [172.835 492.254 342.367 503.158]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7312 0 obj <<
+7269 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.9091 376.3372 513.9963 387.2411]
+/Rect [374.909 492.254 513.996 503.158]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7313 0 obj <<
+7282 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 364.382 149.6659 375.286]
+/Rect [113.91 480.299 149.666 491.203]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7315 0 obj <<
+7270 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.4109 155.4878 342.6604 166.3917]
+/Rect [265.411 270.947 342.66 281.851]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7316 0 obj <<
+7271 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7288 0 obj <<
-/D [7286 0 R /XYZ 90 757.9346 null]
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.006 177.607 322.456 188.511]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7289 0 obj <<
-/D [7286 0 R /XYZ 90 733.028 null]
+7272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.912 148.028 329.362 158.931]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
 >> endobj
-7292 0 obj <<
-/D [7286 0 R /XYZ 90 700.1897 null]
+7273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7295 0 obj <<
-/D [7286 0 R /XYZ 90 661.4123 null]
+7277 0 obj <<
+/D [7275 0 R /XYZ 90 757.935 null]
 >> endobj
-7299 0 obj <<
-/D [7286 0 R /XYZ 90 622.6349 null]
+7278 0 obj <<
+/D [7275 0 R /XYZ 90 733.028 null]
 >> endobj
-7302 0 obj <<
-/D [7286 0 R /XYZ 90 541.8644 null]
+7279 0 obj <<
+/D [7275 0 R /XYZ 90 658.124 null]
 >> endobj
-7303 0 obj <<
-/D [7286 0 R /XYZ 90 541.8644 null]
+7280 0 obj <<
+/D [7275 0 R /XYZ 90 658.124 null]
 >> endobj
-7307 0 obj <<
-/D [7286 0 R /XYZ 90 461.2133 null]
+7281 0 obj <<
+/D [7275 0 R /XYZ 90 577.361 null]
 >> endobj
-7314 0 obj <<
-/D [7286 0 R /XYZ 90 327.135 null]
+7283 0 obj <<
+/D [7275 0 R /XYZ 90 442.979 null]
 >> endobj
-7285 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F11 411 0 R >>
+7274 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7322 0 obj <<
-/Length 2733      
+7291 0 obj <<
+/Length 1979      
 /Filter /FlateDecode
 >>
 stream
-xڵZms�8��_�O��̙�^|/3m7��n��Z�M�ڎG��DWY�Jr��?��dQR�vwn�!"	  $��?6K�,RI�
g������3����<[�=�9T��$!g��!dDq�g����1"�|�(��՜� �v��j�iP�_��J�/��*��.��W�j�⠼��n������}�Ͳ.6�r
Ӏ�l�q�������
C��������Hg[8�/g��$V�{P’��vg��v���=�g��.�
S�PLL�C�9� 4T˜c_����B�1Vwp
-
��Ɲ1����ߗUSۅ:��sGt��:����j']�t����/0LTP�v��7�.�=m�� �S��^�}jg�Q�9S���J7��q�q�
l� �&J1s4#+ͭ�P�J�{����F%�̾̊ƭ�UP��l��v�8���PʒYR�����[G�睎~��0vј/�Ɔ�
Á"�3"UGG��x�(*|��ց�&
1,1nYp�8.XDB.���
�F0�
��ˬɊ[��븘�J�tѠq�H�C�-��:��?#7�����4�K�'@�}Y��ҮV�P��}Z5��
-詳)w�Cc��U�
sHY}�#�-�+�n�r�8ؖ��F���.�
*l���s7����\" 4�
+�
�fHaOX��1�4f�0�l'h�X4�����h
�}4c"BE��zD���_�O�͡� 6��P��9
��A�Ap����7��ǔ#w�1N[��i$�n3�5��%�ާ���q���(jT!R.g����
PB
�l3ڰ�K�[��:����r���v��Pl���bk��&��0�]e�fv�V�;;���@0Fq�����]Å3
΋�NW=�?���q��r�p	��a��v�����yY4v����t�]�_�{./�h��l-D�6�9���"���G;ܠ��Ֆ}+�&��C*gq4SR&B1yZ�E�j�d�ʂ ^ gX
 un-^VˡlH�$��?)|�DG=�"�zZ at E ��
WT�����W/F*(�-}��
�X��.� E�`�X����M�0��d /B�a=�X�E ��F��	�zp8��0^u
-��U6�ȼ)����q�TP���RA�����٧z8<e�>���}"8G:LgG�
���������������_�F��ͶWӈ�L�Ӗ��j�54�(,�Zo����G(��[L���E2�qw��L,�C�� [�iӍ
z��5E�za�Sp[BԱ_nLp
�i��ap_�
x�%
�)�X���q��)V����	��2
�P����zT���*�	�t�9�	�,�
^Op�dP�NX�B�
#��-{d��ْ��:�z����#2N ��:tTc
|#B�
��鰚�p-�uY~zЈ�Y�q�sf����t�4m���!
�O#�
���,?z+2�uHp�|ݻL�9P�н� b�Q�'�}��!�Z��;
-?Ht�B'x@������c.殄1W>�}���5/U�Y�u5'u�re�j�v��:E:L�c�Hx<�
v3<��8H ��v�*SqSi���/�g���sS��;�l�oA߼�"•l�k�.�]����l�)�ҡ��
��S��
�&$(��SR���<_b��}��Uv�>l�=eԱm�Ƕ�O�^;�:
Z&�/=���^I��I�Чz1�0$���M6�æ�a�0����:��O�4"�ȵw==�\�;}��j,���ܲ$����v������M^�Be�����"x��mv�b";H��L8��.�'�G��c��C�Ո�,�#oM:�3�Ys�Φ;2���
�'2���v�t�K	�է�Gu"p�"*�
��������vB���
j�@жd�F�l��\���ZW��P�J���iKtTc%�h�$��J���y�B7���0��0�B?�(�\HGc�F�m=F�P�d44��_�~�Ց��k��R�6�m��Q
�������Ex�O���z��cn��$��e9�vE��6z�����:��Qt�h���&d@�a�r9 O��Y�E1�
-��a�6�c�#���x
��J��|�@��"W,�O�5����5t	����=n�C,���xy��ǐP���昧��Бj��
 %�
컉*×����v�?L�c4��,hylYN�zB��(����
-�V��/{���[��4��
-�_��@�$I���M�>!����D%�z�Y����uU���Ⱦ("	�geJ�������e���/��d,��:*�# ��H<z���^>}wqy񟧫�ׯ��-��n��� +r0�w�R�t����y���<�ޥx��\t8��h�!���
�@A���t7U��2
�B	5���-N#���>,7
Y1�W���}���Z<Ť��?P&�,���A�m��똫���o��i~5N��Q���15�	��"��L�Đڢ��� 2���wd�\@���DDDE�(�}�$���>�
�U��`�/0V��q)+�8�m{�3��Sn6��);@ɌU2��<E���#�Jw�cm4u_�K�?��%N��0H����ac2�����a��{.���
��X�1�A�%!6��MA��׿\�!�|�a[���q;�W���
�˴8�?ݻϺ�fT��n��
���O#�˞���Y��k�
�ގ
O;�g�k���ɓ��{��ɡ��ɚ'�}�d�}�
%�
��F�x�qH JO��
��l0+`r�Nv����	U���Pendstream
+x��Xio�F��_�O-��spx���T	�Ʊ7V��i ��H�"U�����}�$)ъ����D����3������g/fg�B�%(	i��V^��($�S�͖��Ăј`����~Zm��͈b�̿lIJJ�o��*��L&W�7�jDb����v4�
�/���;�jY
D)��Oc6�8��l:;��X�#J

��qo�=��{K���È%�w�vm��2�����?��I�(C8�
�5J]��
������&+
=�S�����S %�� �'=Z�j(��5�d�,=���t����o�+���⸣�B"�@�"wC�+�
�gW)&��z����ܬY>5R���<0��$	A}�B��5XYMzG[	Q�9F�3M�����˷����
b��!�����e��X�A�����
&�$�8 ��2�_u�o���i���nʺ΀���ruиrUVþ�~Ĺ_�o�s~;�No���������7ף �R��)_��"�P���F����ј��˵���r �n���`3_��? [...]
+~g 90P��+L`�Ƞ�}C
�xH��������/'��"8vi:�@���CsW��
{0k	�#Z
�6�mf�2�n������آ?��
+�\~8�z!PP���Λ/;Sz6g1�X���k@���=7;�d@����h�O��n�=@e
@ �1������k�����}���H��4U&C�s���U
Y�t+�l���a�Ї��
��įğ��R�R
*�w�>d��0��S��K,MW���^틅���Wq��!G�
Z�g�Q0�٠�PL�G31��z�.��{_,��-��
թ*T�6QHJ
+ݯ��ԃ4�'P� ���*[gE�Ş,0���of�f��lk}V��^�����'�h&NLS���x��P��6A
@p��|k <�KUH��)��g���6�0H� 0���f��aCC`��J,�^�쩪)kU���}�l�r�5��p
��S0Pt*�{�u���
�!��&(�
�����6��f9��X7���*p�	�G
Ѷ��6U)-po�����B��Q0QL��-�X�Fy9����N��W��#w
j�\����t�-���R0+�
�H}�D��e�6b�����!
1�K��?���W�d�
����1\���b�"�IF�C�1@�@�q��7Z�ޠB�k=��F
E�t�#s�� ĊX��Ca
+e�[h�m�b�'t]��ͰEY�ȩ&}!|}
���U�o���n��7G
Z��sZ�L!�)9��MV���Ov��_�z�u��:kP��E4�!�w���>rT:ri�&���*�yd^`t4%������W�(�W�r(��M�
ݺ]}h&g��5��xyu�������P�d�y0/40/+r0��o�V-�
�P�� ���	����&�y�Y~�h�\j{�nI��#eZ��%�*�����C
�P�2�i���l_���88W��z���)���8����y�B��u�c�T���ޭ���@�.�dq��e|���m��̛�PҢ���[�� q��K�l׌��b_OvB��&B�m��>�BZ#AlЭ��v.L̵��.E�e�%��{�A(���vِ!�S�<�w=)9x��2��{sѱ$�Y��~��M�50Phbm
b;�����?����7��E��G������G�y?j�p�X\8���g�~F;�
k��I�������ܩ\��H��UȂ�G�&ؠ��
��X7cj,���{�
+�/�a
����
�A@�̓?O��A���Ȕ��
-��C�;���ZT�֫���{�
:ȫ6
0��O Y��O�^~+��T��ɳ��C+4�
�6�7M������ߣE��E��P֜�v���+[*�S�/ZmK[��&���u
��of�
+endstream
 endobj
-7321 0 obj <<
+7290 0 obj <<
 /Type /Page
-/Contents 7322 0 R
-/Resources 7320 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7317 0 R
-/Annots [ 7324 0 R 7325 0 R 7331 0 R 7333 0 R ]
->> endobj
-7324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0056 707.9571 322.4559 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
->> endobj
-7325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9118 678.3775 329.3621 689.2815]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem) >>
+/Contents 7291 0 R
+/Resources 7289 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7200 0 R
+/Annots [ 7286 0 R 7288 0 R ]
 >> endobj
-7331 0 obj <<
+7286 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.6509 202.5849 406.1727 233.4291]
+/Rect [278.651 282.035 406.173 312.879]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
 >> endobj
-7333 0 obj <<
+7288 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7323 0 obj <<
-/D [7321 0 R /XYZ 90 757.9346 null]
+7292 0 obj <<
+/D [7290 0 R /XYZ 90 757.935 null]
 >> endobj
-7326 0 obj <<
-/D [7321 0 R /XYZ 90 641.4096 null]
+7293 0 obj <<
+/D [7290 0 R /XYZ 90 733.028 null]
 >> endobj
-7171 0 obj <<
-/D [7321 0 R /XYZ 90 619.0978 null]
+7146 0 obj <<
+/D [7290 0 R /XYZ 90 716.221 null]
 >> endobj
-7327 0 obj <<
-/D [7321 0 R /XYZ 90 619.0978 null]
+7294 0 obj <<
+/D [7290 0 R /XYZ 90 716.221 null]
 >> endobj
-7172 0 obj <<
-/D [7321 0 R /XYZ 107.7135 543.1363 null]
+7147 0 obj <<
+/D [7290 0 R /XYZ 107.713 637.39 null]
 >> endobj
-7173 0 obj <<
-/D [7321 0 R /XYZ 90 533.8859 null]
+7148 0 obj <<
+/D [7290 0 R /XYZ 90 625.271 null]
 >> endobj
-7328 0 obj <<
-/D [7321 0 R /XYZ 90 519.832 null]
+7295 0 obj <<
+/D [7290 0 R /XYZ 90 610.701 null]
 >> endobj
-7174 0 obj <<
-/D [7321 0 R /XYZ 107.7135 445.9078 null]
+7149 0 obj <<
+/D [7290 0 R /XYZ 107.713 533.907 null]
 >> endobj
-7175 0 obj <<
-/D [7321 0 R /XYZ 107.7135 419.16 null]
+7150 0 obj <<
+/D [7290 0 R /XYZ 107.713 506.012 null]
 >> endobj
-7176 0 obj <<
-/D [7321 0 R /XYZ 107.7135 404.3674 null]
+7151 0 obj <<
+/D [7290 0 R /XYZ 107.713 490.072 null]
 >> endobj
-7329 0 obj <<
-/D [7321 0 R /XYZ 90 388.1567 null]
+7296 0 obj <<
+/D [7290 0 R /XYZ 90 473.345 null]
 >> endobj
-7177 0 obj <<
-/D [7321 0 R /XYZ 90 365.8449 null]
+7152 0 obj <<
+/D [7290 0 R /XYZ 90 451.033 null]
 >> endobj
-7330 0 obj <<
-/D [7321 0 R /XYZ 90 365.8449 null]
+7297 0 obj <<
+/D [7290 0 R /XYZ 90 451.033 null]
 >> endobj
-7178 0 obj <<
-/D [7321 0 R /XYZ 90 196.4876 null]
+7153 0 obj <<
+/D [7290 0 R /XYZ 90 273.068 null]
 >> endobj
-7332 0 obj <<
-/D [7321 0 R /XYZ 90 182.4337 null]
+7298 0 obj <<
+/D [7290 0 R /XYZ 90 258.498 null]
 >> endobj
-7320 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F97 1822 0 R /F67 366 0 R /F8 523 0 R /F25 344 0 R /F11 411 0 R >>
+7289 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F95 1779 0 R /F65 376 0 R /F8 504 0 R /F23 340 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7336 0 obj <<
-/Length 2744      
+7304 0 obj <<
+/Length 2128      
 /Filter /FlateDecode
 >>
 stream
-x��Zmoܸ��_��z�@��(�/@�+r��ҋ
M�������Ir
߯�P)R�Rv�"��v%�
g�Ù�Kf��L�)Ƴ���
�n����H7���/��������)�2��.��2�%tv�~3'1�X���Ղ�yQ�ի�����\W�������
..^�x�zU-H>?�ߖ�Œ
-<�n[Ե��sy]������E)���t����N�n�eDk��ٛwx����p�S����FD):۝q�������?�:f����`��0��PN�J�a�K0
�!D�
�+�1�3I3D2����,V�ʦ���>	�H2Jg��V��"Nz����&K$	��Z��f7��
Q"H���RcXA}X
-�*�!��mi|���
���pm>;�aAļ�j�y���U7Ѳ=ԛ�������7;��]�fq
�|`�2�$����4������6�V���e�"�q<X���K�ȉu�Ӫnb~���	h+5�
�I
-NC�g�_6��]�}��-�?���auST�	g��w���W�}�T�f��	��
e9��	�zb)�Z1�GHD�RD0d�4���l+Vx���l��K0Ѳܯ�l��0h��H6ePO,eP+�7��EU��9ќO`[�1vhT.� N�}ٛf�T@��p��XK�K�`>�Y���-��EU,Z��(~ѹ���5�r7e�cn�ʔ#`4j��X�VL������ƈs�M�Z�1� ��4S!���C��h#�<n^_���M�o����~.��������s�������<����&w�~��
R���n
���
��-!H�OT!!���'�����ú
;
-�O�J�qCG1�rF��w�����Ҫ��Op�R���Yg��������<�|��?"��LLR��5��9����
7_�t�a����`�?^��)Nm$
-�����xqbZ��Y_\l��Ms�*�
-���22��<m	'5V"
��"�0	����ڷ��D��UX�
��i]�9�� �Pf���We�
����ˡ��Pu�������G\
��h��PWm��r5�>
-:�q,�P�&��&�=^-]y�,G9�!��K�s���/8��b�Y���;�CeT�2�tZ+5Vf
e
����xp�I�y쫞nxo��bI�若v�6������+7$a���"�?�ˌuh�.Gl'�߭7Kmh�8
(�?菕�W����j$o�֏���������P���3ĮT��T-T�`��@���(jC�L��|7�v��{�vs�
�d�v�$2��JmS�B�b�`�n��h�l������e�
L�y�h���~'7��`rp ��'����k������
���Y��� 9�.�?G0��ܖ$�ñ�;0��l�bY1N�����	1��
�T6fLϴ�L$t��߇����y|��7��DJh�����	L��N2,������R��o�m+<\2CX(��%m�7�*��d�^{^����i��V�?

wU�S�)6�C��h�<���."�꡿D"�P$$���t����P,<�ZA����oeu�/�!<\Be�ߴ�p��+W/�Ru�;%���vN$X�r�7��[�X�d1
�a1�A�a#�f�߂��E2Òi�+��-9og|{��B��<�CځO1��b^
����oo
}�>h.�
��=�'�H�{+9>+�e%�tqs]
v�M�����k���[�0��`^U�o"]Ӓ2����(8�o�Bb\��;}A��*I��ƫBM��z��IZiA�G`p�L5�c+[p�ӝ�DZX�DS��Te�(�#<"?�#ڮ�c��21Ѻ�R�[GN��uy
�L�
-$�ʑ&�҉Mq������6�9�_����˦*_,�#'��9
�8�t�s�7���O1�S��/�2���Ӹ�s
��9� ��r�L(����/�2���:Ӱ��
�Ʃ� ��:�������b)?Y�I�3���n��
p�V���
�\�t��K��)��=�ꌁ'�e�E<^��ӨΤ%z�s�D��
���Tg��GP�cWG��`�Bu&��S�is�WK<ܓ�l"/yR�0�>��Lj�hΡ&q���$ 9�0�#|�# 9�p'fXI�7��p
�v$g;ӑ���}�~EG�
���0o
�Y
	�����'8��8��@ r����"m�*̛
Ѝz$Bp�r�vTc at m���1�#WH**?�w�A�t��
?��V�_^1!
G�骱��S,�G�Ɍu
��tU/�b	������뇺1J
��tR��ރWuD�
A��TPʑtz�$
�2Nұ
j
���4��i��Èp,C��)4
Dg��G[kr�<
�{�!�r0��^�$;�nDA�çH7����|���
�����~�m:M�n6#�L]���nza��0k�jʱ`�p�
�|�����I/�{�Xk�	�k�E0u�����/݌�
�d5�K��f	�3{�S Qi�4��Nl��J�g�F�q�+����/��Gk���R>�b�)
P�����Vj�:p�6c��\$��4]����&��~�.�z���Z�2�|ڀpR8'|�~�T�|Vj��Ib:*f�gb|̯��Qx&�ϴX��°��~���?��y* �2}���'�V�����Uu�=�2�<v��y�W]V�,���������Y�kU}2U��4x��,Ǎ1EXB�Ȍ�2����w�݄�7�6��nG��=�6�������
]��n�9VhӜ���^L�N\���Nh�K`y�g�U@���\�|�;T��r��Уj�3V���ߍendstream
+x��Z[o�F~���ӖV�p8
ow��Hn뭷��&��H�ŭD�$���{���D�r�>����9ߜ�'G��y����囔Eɔ���}$q$R�8%��"z�X2��q|;!8��u>��P
oVO�bQ�ʏu^?]]�\��n�	����U��L)�񷫼i�ǟ��BOռ�C)�pL�d���w�^P
GD���G��Ż8Z��wFLfѣ^���๊�^��[��o��iÁ�E�2�Sn�+�v�)��B���
��F�!"��
w��X�����7�O��2㛯�XY-�	��g�_aqh��ݚ�����j�:/�ba�l�3�E�^tǵ���ѓ��
�3!�}jm��	�K6�7f6Qp%fîbޖJ�'m���U0����{��f���Ug����ݺ���e�4�Žv�ݪݳJ�w�&�	X�uZa� �;A2#�P��#CS��-4�-֛E1�
�y�
��.�{ �A $)0Hr�7��{}s����5�� W� a�R�8I)�Ro{�y^hc��`��I���1
q{D�.��VE��.gE]o�1�GTx1Xo
���~ ��"�:;�z 
��I"z���yQ,�|�rQ�`��O_c(n�:�<k�������j 
u�
+��8��/u��J�V���[5�e5I�M�U�������#I� e��$�ͫ�N����t�
_
4ů;���tc��Y[˹�	+A��i����0�2+
w����[�SeE4	˜��w!�28AFMδ����Y
����f�@(�6k�:-T-Jl0�%6����y���
3A5�>`6�f��H���D
�(�2�r��{%����\��ɼ=�E�v��(UC���(��Q�B28�~����*D2g�\ ��m0�b�]�F� B�2X'���D@�J\�Oۢ�� T���8��.��c�D1�]����9l��A!��o��)�:A�
�9�0��*C*�Ne�t�b����E��{���i��L�[:�D�0@����$�?O�d�J� )"�g�?oM�ؘH%��2 �p�h��=;P�����>��".��V�y"dxeJ?����oE��3��th<��1���?z�����{�A���[�N�-�
Z�T
o�(:h��"(���ޕ�
+��0��L!��ۃ����fW���N�$�!����+f`[[�F��
+�Oe�`&m]PS}v
�Y ����pF�כ������45�ү�ˊ������y�0иN)�»�O-x�!+��
�&�����	$�������,a���/(#����J�w�.�F��Z�6�2 M���B@r�oګ?�=9�� �eAJ�:U�l�0g�
�
+ E���s��\Ƽ���l}_}�\m$��Ly�
��>Gj�es
]rb[J%�r�K��
ņ �8��v����n&w8R�8x��� ������}�$�Z�hw5�h+(�,啑��MS�jZtQ�����ϙ��Y����Y�(���px���~5m��.�IO7�n���N�����w���DG���W3Nt>d�i���
�>�gD�剕
���^T�¼��V3�_�k̴��\�&�H���n&����1���W���3�O�LG9}!�)���p4�u�
P��9���S�V�
�H��s�f�
��!*�������Sy��ڋ��$,E��PW���Q��{(O�S�)8V�<�4�	$I��H�)�5��R=FZ�3�U|!g
�(�e���<��TEne���R�QQ5�SQ�޵�t��*�'�#���a��\��0+Ś'�[m�
��Ӎ�Pgo��#�
�҆Z=:B��Q[Cg�sC��7<�s���31
$��wʣ�C�����2�ft�7+�Y���/�t_�צ^���&���6�iә6�i�(m�ҰxZf ���t��ε0Ә7�9 �'��cL�L�1��a!�NgL��d,�����+c�c����84E�)l��������Կ&�=�R(�,��%�<��b�
+ Ŕ�kG�̫�K��?MQ5ZdQ�ɫ]���˺�-� �A#O��<@cq��貭1��	�^i����zٶ۫����G4oЮ*�5*���vuy���)D�O�KI�w�7��%�:�\���ڴ�
+endstream
 endobj
-7335 0 obj <<
+7303 0 obj <<
 /Type /Page
-/Contents 7336 0 R
-/Resources 7334 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7317 0 R
-/Annots [ 7338 0 R 7340 0 R 7342 0 R ]
+/Contents 7304 0 R
+/Resources 7302 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7200 0 R
+/Annots [ 7287 0 R 7299 0 R 7300 0 R 7301 0 R ]
 >> endobj
-7338 0 obj <<
+7287 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.6509 581.4937 406.1727 612.3379]
+/Rect [278.651 647.797 406.173 678.642]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
 >> endobj
-7340 0 obj <<
+7299 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.6509 295.5588 406.1727 326.4031]
+/Rect [278.651 373.994 406.173 404.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
 >> endobj
-7342 0 obj <<
+7300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 115.299 406.173 146.144]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
+>> endobj
+7301 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7337 0 obj <<
-/D [7335 0 R /XYZ 90 757.9346 null]
+7305 0 obj <<
+/D [7303 0 R /XYZ 90 757.935 null]
 >> endobj
-7225 0 obj <<
-/D [7335 0 R /XYZ 90 533.3532 null]
+7154 0 obj <<
+/D [7303 0 R /XYZ 90 602.936 null]
 >> endobj
-7339 0 obj <<
-/D [7335 0 R /XYZ 90 518.8858 null]
+7306 0 obj <<
+/D [7303 0 R /XYZ 90 588.89 null]
 >> endobj
-7226 0 obj <<
-/D [7335 0 R /XYZ 90 247.4183 null]
+7201 0 obj <<
+/D [7303 0 R /XYZ 90 329.132 null]
 >> endobj
-7341 0 obj <<
-/D [7335 0 R /XYZ 90 232.951 null]
+7307 0 obj <<
+/D [7303 0 R /XYZ 90 315.087 null]
 >> endobj
-7334 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F8 523 0 R /F11 411 0 R >>
+7302 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F8 504 0 R /F65 376 0 R /F11 418 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7345 0 obj <<
-/Length 2200      
+7312 0 obj <<
+/Length 1700      
 /Filter /FlateDecode
 >>
 stream
-xڵY�s�:~�_�'hf��ߖ��r���

e�0
�N�M�Ɛع�����sdI�e+�n��Cl�X:���w>�d��G/2�!͸\lx� �wA|�
-�WC���^\� �B#-�\��w=H�%tq��|Ib|�"�˛%��y}��7K�/����l�|��������o�7�����no���}�4��7]�)7:�T�K��������~�0��z����/x��p~���i%�p�њ.��p���t���н��'Q��Ŋq�$���"���Q
-��
a)x�9�
2Gp�2�Ģ7��;T[3�P���l1�p:n���+�p\�<#2
�vg\Ϋc[
��mQ��I�Rw�,�m��|����<<
Lٺ'�E�sW[s��q�T\���.@��0��D&!�·w{�����ݾ���uCF ��ۂW�s��De
�e�KB�)
F����J#����H��ޘ.��d�
Hr�sx!	/�x�ͬM���ޛ�ݭM]W�ęL��J�g���:�GQ�5&�����s��S�'f�S�$�~Ҷ�!1�#X��ۘ%��f�m�Q�L#ɳq�mS��m>���S
�p�o�(���1ߘ5�m�f�.
��c

D2����[���io�
t
p
C�g���``6�`��(�
�q�/����~�VH
-�^q&XM�!�!��:rf8��\��Z�X�m����}�Ҵ����Zw��e/ެ����(�O�i��`i���a� ��a٠�
j!h��Ì'�{���
�j�qk�
ѯF/Uw�4���Ix������u�$~-�Z�Bۿ�����-�V�)$a�`��"�(�]�Ċ��
��
��x��l�(T]���
-R�9�w~�1���V�f� �,�&�
^�d�"��'[t�b�^�V
r}�ٛ�>e?,�1Qh	p�>��E��|I$h,�c��ܕۏ�1m���0[T!���Kf)*EZʜM�+��J�q(�m���0��'�!
pҡ��!wq��!�urCq
�b��p������MA�C��f�*"���4�9�@
�4
=D'�!R�7@&�n���Y��vmQ�
�
r�EVo�n_�^ED�_+0vH
K`5�A) *
�8����vۤPͬ���Qo
-ʐ
-�+MG��g�O5�����S�~���K9��Fu�i�z��Y5��Agr^
�ΫA�aKB�˄�L~0��3�0��L��x�.ԽY?k��D�����F�[M�	�j4.d<h������J7�C�
X6�g
-+�Md����jf��Te��W����s�4���,�o��8���i�
9�v);ic�ab��!��H�36�pA'� �~���ZX~�x �7�c�-ݢ��h�ǽup���v�(�х�?��&	�JS����I,^�R����
�-Ŵ�o�RP���_# ��3�*�՗N��.��
-���5�4�L�|�|8�����]˝qO�]�x�]n
�Ŗo
-
���4�{Z�[7�ݔ7��V��ȡ�rا�r�z	���Nj{h�k�*�EY��u�2��٦DbBFb�M�'���b��ְ
0���sj��څ�ץ�0f�C���SPY�HH
���"(�b���M"f������� `��H�~�:7.��
���O�
H\�M�;g2���q�Oj��2O�*S��>��:����?�zFڜ-]��2f 
fK���|��L���\��g*�ĉt����v0���A�ę�A@�LT�T�*���P
����ߦ`	��u��&�4��mա:-��
��j�[�:�


��?wGJ�eb�E,"GԔ�!�ChN��`�Ȑ&xv��"�
J���O0�F‹�k(
2����$�
r���aQo�X=Ы�s,ƉFR�=#r
���09*
-�6G�K,uq�`�!���
N�Wc^�3�OQ��31OAC��D8~����pPj��x����m
4��M�IsP�Lt)���z�K�(§=w
-z�)/�i��O,���K��N,���oC
r&���JB�v���3��珀�����S&����F_
�T����
-��Շ��é�;-
��K�3��w��D�����ҧ�
��n=����4����b��C^��z�?ݖ�>�
\��cيu}2f�Y�"��,N�k��"\�~�]ſ���@�h'�ژwm{���z~~F�=�űFE{u<��~1�Y<�s��&�D�g �L
�rΏ�Ii��Cw�<��劄+�or�[endstream
+x��XKs�6��W��J� ��zjӤӴ�qc��$��EX�T"����ŃH���1�{�b���o��*��o��\\�q��TD7w��Q"�D7Y�nB��tF0Ɠ�)���ڦ��)œr�_�J�UZ���7�_-��)���v����x�b�ֵ��w�.�b�A(�O���7�/^�\|� ���U�'(�y��^����
�_G�JF�v�6b4��Mt}��>k�|`j�z��������}�l�pO�����.��N�� F��A�xQ�2������|�ѩ��=���9��s��

+�X%���&/������Y�uF$(s/�յnj��q�q
�r�c
��ΐ���Ӭ�z�\*���ҙt�ݯ�x�nܰ]j�~���)哇������ !�WHJ���n�i�Իt�Y�;��>+A��5@�'4A������<NC0g$��
+�>&�kF
=�"����I�la�]t�֋��&��6h�X�y�W����f��N{5�rBQ"Ek�v�>�MN�Xi#5�?����M?gY=��0��#�$bB�
+m���ý�
+u�� ��M6
f>\������;>�˦�Z�P��0& $�:c���}�nu��z
���	�C$J�X%œ�@G��q��]��=��w� �)
+���m1�N!֨W�姥��|�]�R}��M6�ot�j�
]U��3�h"z3�Һ�xQ�I~�~���X�� =c��49Aچ 
��ar�ކ,/����tq� �Bi�����'5�
�Uan�t�P2��Z�����,�r�0���C*V�ӱ�!sU��X!�4p`?:���
����X3?��,=曍[��n�Y��߼N
G>_��v!_�uݸټ�
t���0�
�(d���z2�i:c�y
d��ZZ�1v͋���ٻ��~�i�*t6V&��2��qGA����Д��h�JWG��T��Z;��*
+g�)��m��a�j(���_�xH�z�fh�O��X|л\��%���V?7���Q���-�U:$x�

�I0R*�'P5�(��T�c�7��tu�Z��VJ��:����j��!�
`L7y�H��my�%��@�$+G���j?�y�?�!����3�N�&!+�CAhQ6n�,+��v���ҳ'̧^��*
�
p�A2�t��
+�������[��,�A���!�CĔ|&At
e8��!�/�e2��
𣼫�sL����z�)�i#�K5h]溟e�3����e`�X�1 S
(x��<����DNf,!����y�kل5�̗B��p���
�j�����C at p�l�������=����O����z�"
��U�ڷCn�����kk��iӒp�N����F�
H�{��3��~1 � ��8�#&�}1�Ǹ
+�cO��X�p�����4J1t�}�uQ%��	N&,�
����[}70�1\L�<T9l��
L|-�`�����J=�M4��!s؅���4AD�Oa��rR
ȭ�\�\ׇ�C<���b��uj����ѥzW����Q�g�o�'Ԁ��o�Xt�=��* ֈ|�'V�i�H%��V9>g_���
��ǖ~ܣ� ��w����8�lI����aw7�z��oWiz at P ˯���:��������+M���
�u��旗���hY��"�U(o.w���qn�RL�O��k�m��r�[����	�nX�
+endstream
 endobj
-7344 0 obj <<
+7311 0 obj <<
 /Type /Page
-/Contents 7345 0 R
-/Resources 7343 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7317 0 R
-/Annots [ 7347 0 R 7351 0 R 7354 0 R ]
->> endobj
-7347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.6509 674.4325 406.1727 705.2767]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
+/Contents 7312 0 R
+/Resources 7310 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7200 0 R
+/Annots [ 7308 0 R 7309 0 R ]
 >> endobj
-7351 0 obj <<
+7308 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 394.2301 300.1613 404.5113]
+/Rect [172.639 503.642 300.161 513.923]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) >>
 >> endobj
-7354 0 obj <<
+7309 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7346 0 obj <<
-/D [7344 0 R /XYZ 90 757.9346 null]
+7313 0 obj <<
+/D [7311 0 R /XYZ 90 757.935 null]
 >> endobj
-7348 0 obj <<
-/D [7344 0 R /XYZ 90 632.8385 null]
+7314 0 obj <<
+/D [7311 0 R /XYZ 90 733.028 null]
 >> endobj
-7227 0 obj <<
-/D [7344 0 R /XYZ 90 610.5268 null]
+7202 0 obj <<
+/D [7311 0 R /XYZ 90 716.221 null]
 >> endobj
-7349 0 obj <<
-/D [7344 0 R /XYZ 90 610.5268 null]
+7315 0 obj <<
+/D [7311 0 R /XYZ 90 716.221 null]
 >> endobj
-7228 0 obj <<
-/D [7344 0 R /XYZ 227.8415 557.7731 null]
+7203 0 obj <<
+/D [7311 0 R /XYZ 227.842 663.468 null]
 >> endobj
-7350 0 obj <<
-/D [7344 0 R /XYZ 90 541.046 null]
+7316 0 obj <<
+/D [7311 0 R /XYZ 90 647.047 null]
 >> endobj
-7229 0 obj <<
-/D [7344 0 R /XYZ 184.9626 357.2183 null]
+7204 0 obj <<
+/D [7311 0 R /XYZ 184.963 468.335 null]
 >> endobj
-7352 0 obj <<
-/D [7344 0 R /XYZ 90 340.4912 null]
+7317 0 obj <<
+/D [7311 0 R /XYZ 90 451.915 null]
 >> endobj
-7276 0 obj <<
-/D [7344 0 R /XYZ 90 227.7676 null]
+7205 0 obj <<
+/D [7311 0 R /XYZ 90 342.602 null]
 >> endobj
-7353 0 obj <<
-/D [7344 0 R /XYZ 90 213.1973 null]
+7318 0 obj <<
+/D [7311 0 R /XYZ 90 328.338 null]
 >> endobj
-7277 0 obj <<
-/D [7344 0 R /XYZ 90 96.4689 null]
+7206 0 obj <<
+/D [7311 0 R /XYZ 90 215.02 null]
 >> endobj
-7343 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F8 523 0 R >>
+7319 0 obj <<
+/D [7311 0 R /XYZ 90 200.757 null]
+>> endobj
+7207 0 obj <<
+/D [7311 0 R /XYZ 90 89.441 null]
+>> endobj
+7310 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7357 0 obj <<
-/Length 2106      
+7323 0 obj <<
+/Length 1632      
 /Filter /FlateDecode
 >>
 stream
-xڽYm����_�O�
�\���o�!	�&�6����֦w�ؒ#ɷ���ER�
-﹇�[�
q��
����
�?2�x��i��|s���3
;#~z���gw�H1�HK*珻fI������,A�/Wc�xX�H�C�~XR�(�o/f[��ﳧ2-��������\�(���\Q��iU��?��i�M�1�(�
-/���_��}����!�$���g����[��w3��Vb�
-���0㔅�����_�:n�y!�� �=pP���
�HxH>YH�l�\I�?���t�]o����4���-�o,p3�
?���E
-�_�
Z������w�褳�PBD�Y�M�Dz�T�j$@=q2�vdV�"L8�	�~X�m�޹���)��7�T����ń��f�@�{{�&Ɛ�
�ܳ���P^�.� j��X6X�a�)ہMK�#�FC$��R�0Qa�`-�M�����ؘc���	�(a�D���h��V�
Mp�f⼪5������2�hM��v��ϧ���QZ!i��$"��ؘ�{(fH2��3��,�T,^sp�l��:�щ7Q���M��3y%D�ҭH�װp�N�%�{�Z�2��΂,7�� ���e�Ԭ�\��)��=����p0�f��\A �H����	y.MZ�2Do���ii~փ��l�v#�ZX0 �e�"�q����d1��4��
�k��Hjp�c�%%=��#�dL��������̦���rf�;固�®ڡL��=81-�tI��<�
T���Ѧ��"X�0 � i&�B�	EJ����
>�@����
�x|����m���Y 
-����?
6�Q�ug�
�
��L�aW�2
-�<+�n6�)�`Ñq6l�nc�ID�l82&Ά=c�l�<�����=�0���,�P��p����̙L���/!^^��μ��y	�</5��=�iʙ��LH- ɀ	�������
g��8�2NY������;{?���j]�uV�6h
-Cn
KP
?������O^�淐5�kf>9]�S3��T�N~�3 O�x¦9�+u�38ďҐ��ƟL}*-N�Ƥ�3Y��Gɢk`)O&�D
�pz|���[�<��lw�&
�ݨ��.�[e�bW��
��c�֧��h���K�7���~�?d�����S�v��� �J]0ȁ@���?�&��l���~C��bM��ȱ�>��
"�9�鳓��m��ɟ�\��(N��87j.;�f�?u%��Jk����{�=�;�Vh�+
�?Ny�rz*N�ք0�%�_?
{W���0�0DCX�*F�l�
Qk�O�U��	��d���8���[��2�Öcբ���,�]��
�Z�,�#H@�H�/ �6��0;� ��4
Х�T"������+M�G�&_`���c냻8S��w��Y����熦��1PE�78,b0ie,�F��Nh2���:��Gh�O�wA�\"��V]�B��sH��Jo
���0�9b	O �b�h���&
�M0��۬U�䪻f�5=#���aB�n�LM�
��b�3!�� n�P�(Mu��n���i�AӦ�!�/ź��t3v����	,��Y�m¶���ku
-Qܞi=�F�R�ӈ-�1V�<A��D&�0�QF����V�Z=[���4��؆A����(�lx
	�Y�"���%ۼ����f{_�?��A�-�
<����Z���<�uȩ�
-D��i�Aj���1���L���� �?�z��� 
�v��vv�#fa��<��pGl
-� �!�>��v��� 5V�G�BBbJ��ކ0[
��Kb���۴<M_
���EHٯ
z�)���Њ
~b�]�L"r�����ӻ����r�F��%�K�[H(+��ZF����I�	Ps��Ҹ���ȫ,�����K
-���u�8�
�����f��-�ǶJ�� �g��d�BʲUQ�>-5/���B�(X�#�ۊM���;b��T*�Y�k��%WLj^|��a[�z����seʯ�B,��H�S�?��.5��4{���,�{B%m����F4�����m
~�����U�p[ҩ����=���������m*tʳc����x��
�b����	ǭZ��-=䁷��ֵe��P�&|g��C��B���
��_�>endstream
+x��X�r�6��+�J��ƛ�vm&�4M&n�Ҍ�� �
E�$���^��c'��F"��>��[{�g�\�.^I�)�$����S�
$A��z�}��_�c<�\<��}��\P<ϒ������m|�G��r�����e� �<�I�~�S��/��(����մN��R�9
����������3ja�Tj� Lx����'�m`���S�w�V�=N�'����>
�2���@B
I닁�ś��X�h��e��Uv�^���[�ӫ�1��,�R�����(���8�Q��
p����p��z�6*�j�1�3���
X#"8�v�vM:�`BZ�%�]$pg�P����ܮ�ҥsZ�����H��(�n�Z�Μ]U		#b�kO
8]1V�AUL�N
��	
�܃#�am��>M�eos+�g?�)�
+d���E�Y.�t���QoVQ~{��
h�S\	�_���X�d�^���_9+�@q���q�h�dX�m�L�*xp�tB��5q�N*�x]&wV�m�����*wQZ?i;?��Ʀ)���!�f�3�*����:�&�q�BR�)w��.�!��F�
+�%>���~�.�o�,��>>��bUDe\ 
+���cҹʦ��&�X}�O�;��쒪#3N���5C!	~�5�1�`m���A���$�0��!['V���N����T���F�*W�
Q�q�Hg�z�)F�(�p�;�&
�7ѓq�9"�O�M��f
��2*��S#����#��C}�����k��.FJI���A���t׷���j'�����w�e�L�F���<N7����ڹ
+��Ȏ�:�k;
+�P
�Y3`�G�՘��,��P�'|L�:*b0�s�j~L';�MvL7�����;�nz�4
���J@�t����(�2�x��%G��giFuF�3&p�֩Σ�F<E*�s	ސ
+��:\�:dqZNB*DT�z�������d�:6��~#�l�Dz�O���;��ލN�䃷Z��OM9�Y����:
�nL%M囐U2`# #9
	)2 at Q%O�@�I���L��
P�ӭ����T&�i
gx8(`�P��N$J"��qӨ�9 ��HX�8�
>�
+��.�Ii��
Ӗ��O
��MS��;��HK'�O1F��I1d��c��*�7��;ȮTD{
��t�S��T����[
+q]w��uc�����S��8q<�����7C[� �NG�������=5�ާ����׸
�i_Fq: Gt�f6�"#v�
��A9
-����vax���@��>N �~\3(~LT�����Z�I7����
gH7}�tK���w�
U^�L>ʵ�\'�8"u !��s�d{�3�vD����m���J����Q6D��Q�4sau��$Ѣ� S�L�`G�ܷ.x�r��w��U�H�����u#�
]��*�a�i�CZ
��mm�^ �W�}�{޿V�EÕ��,
�r������&�C�Z�<��/�C��P�Y��
c��cs���
���~��H��"! X��K��X���־�Q������.J�Q�^0m/���5�C"�\f�6>����!��>{��o�r�᎘uy®,ˋ����:��!Gqyq8$c�u� ��)
+ۺ��� Nap_]�FN�A�7
+endstream
 endobj
-7356 0 obj <<
+7322 0 obj <<
 /Type /Page
-/Contents 7357 0 R
-/Resources 7355 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7317 0 R
-/Annots [ 7364 0 R ]
+/Contents 7323 0 R
+/Resources 7321 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7330 0 R
+/Annots [ 7320 0 R ]
 >> endobj
-7364 0 obj <<
+7320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7358 0 obj <<
-/D [7356 0 R /XYZ 90 757.9346 null]
+7324 0 obj <<
+/D [7322 0 R /XYZ 90 757.935 null]
 >> endobj
-7359 0 obj <<
-/D [7356 0 R /XYZ 90 733.028 null]
+7325 0 obj <<
+/D [7322 0 R /XYZ 90 733.028 null]
 >> endobj
-7278 0 obj <<
-/D [7356 0 R /XYZ 90 626.6801 null]
+7256 0 obj <<
+/D [7322 0 R /XYZ 90 626.773 null]
 >> endobj
-7360 0 obj <<
-/D [7356 0 R /XYZ 90 612.3684 null]
+7326 0 obj <<
+/D [7322 0 R /XYZ 90 612.289 null]
 >> endobj
-7279 0 obj <<
-/D [7356 0 R /XYZ 90 502.5181 null]
+7257 0 obj <<
+/D [7322 0 R /XYZ 90 522.338 null]
 >> endobj
-7361 0 obj <<
-/D [7356 0 R /XYZ 90 488.2064 null]
+7327 0 obj <<
+/D [7322 0 R /XYZ 90 507.854 null]
 >> endobj
-7280 0 obj <<
-/D [7356 0 R /XYZ 90 400.1645 null]
+7258 0 obj <<
+/D [7322 0 R /XYZ 90 407.949 null]
 >> endobj
-7362 0 obj <<
-/D [7356 0 R /XYZ 90 385.8528 null]
+7328 0 obj <<
+/D [7322 0 R /XYZ 90 393.466 null]
 >> endobj
-7281 0 obj <<
-/D [7356 0 R /XYZ 90 287.8581 null]
+7259 0 obj <<
+/D [7322 0 R /XYZ 90 205.732 null]
 >> endobj
-7363 0 obj <<
-/D [7356 0 R /XYZ 90 273.5464 null]
+7329 0 obj <<
+/D [7322 0 R /XYZ 90 191.249 null]
 >> endobj
-7282 0 obj <<
-/D [7356 0 R /XYZ 90 89.4414 null]
+7260 0 obj <<
+/D [7322 0 R /XYZ 90 89.441 null]
 >> endobj
-7355 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F10 484 0 R >>
+7321 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F10 473 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7367 0 obj <<
-/Length 1860      
+7345 0 obj <<
+/Length 1762      
 /Filter /FlateDecode
 >>
 stream
-x��Ym��F��_�$R����F��
�z��'@'�8�������;��u���ݕ�OB��������3�#S
��T�i(B����v�����	���t
~����K1UHI*���ƃ$HPB����3B�`�gs�gq���.�ϊ�v������S���ś7�z��$��<�ϞeqU��o�u��K�e�}�J�h$�/_M�_����&������x��]��`�T$�7p�Q�N�N���&�&�~̍�_Ra��
-eK�ڬp��65�"��y���H��|����Y{�������S�l�uW)|��in�~��b|�� ]g�v��R�D�D�ۤޗ��zl>�sseWhn��H�;'#%�;n<~��+v�8R�֦ޤ�'6ȟ"�Y�͢��~� �9�/iUWh��H L�p*y����k錂�ո��B��%���VtHϿ,�]�Bjõ	�(d�x�Z��Pݬ�QH�8x�aT�j�X�8ͯ��4U�Q���3�Z�����THA\n�bN��&�ש�X� h-�����b-/l=��N+ 
��Y�t+(�|�)""
������K_?�_Ty�~M�k�0�e��1(!L<�7"I9��ͦ�Y-���7��>tc���f�	�����$ݺV��&F
�zo��?A�Q~��f���L
�6
-�O�^=�1��4�@*F�hHDI�
����kz�fqC^Ff�X��Hbn5��;��Xk�11KQ��׵�m�<g��~���	r�`�`D����?�|��,�����dZ�-���Y��"�e�"�����U�'���v����H�:�e�h�k��L�=�rL���+L��zvC"QEZ^7�����gn��N�oY�š��$��
-��,j����{0dq
)k�>ͳ4O>z��CbL���]RW
������Z
en7q��(
-���O��
-���.�S	L��hcx.FAϥ��&:��l;�&J�PA��\!3�}&[�7�\��۠ut}6��$Q
-��y�3�	U'v(�0��8���i{;TE�����r8!�
L,�J
S: q��t��K
�(��/5��OH�(
-�Դf����8H�(����_j���0��eGj�)���v��dz��ܙ8�k���>_
h�K��o��&��r�h�?r�r�����;nfs���(vfz�]�t#�<t���_~0�T�c���&�������A_��U�F�t���W"X"��S�l�Y

-��U4�P[`����ɫcLj%a������k�m�� �v�	{U
�'����&ޙo��V̓��1B#�a�'�
�H$���
-
��;U0dX������
�U
",�.�[ox
�����ӥ>����4�w�d��Y�5�M)p�f�8�5�h�5�.�Vn�
��M0�_�ҩ��
ڃ��^����˶��0��ڜ�]�Y��v���"ˌ>��+��i�,<o���)���k�x
-X
-C%?�iJF���Vs�N��Zݵ��f���uw�
m6-�Z]X7Ͷ�������ͨ��^��?
�S�,����4�u8(*Wl�s�j�>��W&�"G
,�p����l�J<�����/�<r�覻�	I�����*��뀓/�MR������q�J
"��"�
}���6o�(r�A��F~u:�	c\��
ICp̅9 xkuGhcom{0�~B0�D
��^�7]@¹�(ҍ�p*��ktm"�˦��)5VI�X��e��8߻nZ

�˪�j��A�0
6�q=(�!�y/A��_S���ni�A�	s<	�š_��M]�gg777hY�}��J��g���a\L�x�N.h�F��2�"}n�y�K+&ۢ��Hs�q��B�o'�P�^�j�endstream
+x��X�n�F}�W(�P���
�!)�8v�I]��4�����G���^H�夭Q䡀
��rv�̙3��֝��ד�ד�3�Y
+\�Z�K+����)��c��&1>���}1%��,\\L)��t�q.~Mn˰����ޝ

M�o�tF9�OҰ���X
+�L䑐�� ���M?^���^O���[Dy�=�1nE���#�b����
|�^��,�2�L�����`d�!��mdr!&��ȫz:
0�_�\�a]�O��7#{~����ަ"�ϋu�d��$�[��$7v?`���H���p��


�q��[.�K
��R�M�$C��-L���O^.�R[�}$ဟ
���3�
+�ٮrP�vM�J�� πt�����|'Ĕp�KR�RnS���q8��c�K�y��y�%
`3��5�&>�p ��-�U
��q��I�e�!�D�cDy�Ft�*�)���ęQ;�{9��y
�c �"J�vQ\�**YU���B]{J
~��
+�HQ�l���Wl��a�N�@��R?�WB�
6/����[�$��@
2��o�&�ElHX�O�$\Ta�T 
� 2�
R��2b� ?�9;uIM]~��W$�
�?-�0](;a�i�Z<)�R:%B����D�9`��	r�6+y�����i�-�C1⊏6C�M%Rc�� Q�����6N9Ζw�,�^OKd.r��ɛ$O�\|
�!8��;T�+QW#6��p�ΐ�i�Vk�<
��"�ۏ�;U���W�	�`�E��|���|
$
+^�;7�1$p4 ��
����\�0�z��1�-I �C9ؒm�<
+�Ł�r�)��j��~����g�k���Tz�]bJ�2K}D|�-h�˝Of���5��5�QD
����\wV�ņ}/��Ұn�=k�h˳WE�d ^�zf���
�Q;Z)nU���P�
P=�Q���eJ��y�	�N��g�ƅ3��@|h�}��0"^�n5b��(�ހ�	iEit��
މ`1�YJ�#{����@�GT:%����:I��\�A�O ��3�����M�
+��s{�:x�4h�/{.���p��d
+�n��o��E�t��?E9"���2��Ơ����a�5i
�u�܌:��X�>��A_&|�3�E��i�U�5h� ;�8T���s��k���
?P�zC�
+��A�@	�3�iTmG��g�{�ss��Y��,�"��q�"Muk�b��܆i*�mJvfZ�>:'?Pʇ�nf
x�^�h��R�	@5��
�Ȏ�ߜ�G�|}9}�#���DU�e�nZ���E�i�t}K
��c�v���I�0�?%y�6���!I���
��}�vG��	��cd<�:��y�e�'щ���;3�]�
�`/d�:Q�I��ء����Es�&����nE9��CcOGS
+E|���1I�*n
r
&	G)�A\�8�J���E�Y���a>^t�������o�R�j�xq
+J)O4#�?%y�����?N/�N[
2=j� ��9
@rd�
���^6I�N*"�(w�ɓϲ�`�Ñ�["�um� 
���)�=��t��IaVh�x��U��݁�0�O���zq��j���zU����
[IWwF�C3�j��`��"�~�

�������]�H���R�8��6b&n�l�����L]�"��'Su���c,��03��î�w�jn[iշF_���J�O�`i��6̛�J	�nOeՍ
0��ߺ����F4l_�V�tx���ꗉ�:��>fp����U]�������(��ºDI}
��x_�{'x���
K�,��� ���L�;h7	 t�#
+endstream
 endobj
-7366 0 obj <<
+7344 0 obj <<
 /Type /Page
-/Contents 7367 0 R
-/Resources 7365 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7317 0 R
-/Annots [ 7375 0 R 7376 0 R ]
+/Contents 7345 0 R
+/Resources 7343 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7330 0 R
+/Annots [ 7331 0 R 7332 0 R 7333 0 R 7334 0 R 7335 0 R 7336 0 R 7337 0 R 7338 0 R 7339 0 R 7342 0 R ]
 >> endobj
-7375 0 obj <<
+7331 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 99.9557 280.9422 110.8596]
+/Rect [121.93 218.534 280.942 229.438]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-7376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7368 0 obj <<
-/D [7366 0 R /XYZ 90 757.9346 null]
->> endobj
-7369 0 obj <<
-/D [7366 0 R /XYZ 90 733.028 null]
->> endobj
-7283 0 obj <<
-/D [7366 0 R /XYZ 90 635.7621 null]
->> endobj
-7370 0 obj <<
-/D [7366 0 R /XYZ 90 621.1918 null]
->> endobj
-7284 0 obj <<
-/D [7366 0 R /XYZ 90 508.523 null]
->> endobj
-7371 0 obj <<
-/D [7366 0 R /XYZ 90 493.9527 null]
->> endobj
-7372 0 obj <<
-/D [7366 0 R /XYZ 90 373.3404 null]
->> endobj
-7318 0 obj <<
-/D [7366 0 R /XYZ 90 348.9713 null]
->> endobj
-7373 0 obj <<
-/D [7366 0 R /XYZ 90 348.9713 null]
->> endobj
-7319 0 obj <<
-/D [7366 0 R /XYZ 90 299.7301 null]
->> endobj
-7374 0 obj <<
-/D [7366 0 R /XYZ 90 285.1598 null]
->> endobj
-494 0 obj <<
-/D [7366 0 R /XYZ 90 186.7669 null]
->> endobj
-274 0 obj <<
-/D [7366 0 R /XYZ 90 180.1667 null]
->> endobj
-7365 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F97 1822 0 R /F10 484 0 R /F11 411 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7379 0 obj <<
-/Length 3094      
-/Filter /FlateDecode
->>
-stream
-x��\ko7��_�O^�i�����U�ۤ��]l��,O
�z�$'ѿ�˙!M΃
GV�ȇ�ҙ��K�s/a�GF��P�0.G��	
���?����s��<<�<�x%�� #�
]~,-H�%tty�ۘ���9��ߝ<�l��wg�W����f3��iv��l�O��}�<����jyvN
?�O������cQ~V,�����S-������奧[�F0I,�����
�@�~<��-F_���1t�8ᔹ?�'N���T�t9E6�+�!,+����z>�V�yS,��;��Ww��n�Zn���1����	 %A
-Kę��v,��)Ͷ��(0M�ȑ��o\}f�����x@,e���E���P��M�Z"-$O{ƣr
���ox
�j�P$��V�=���[v-��٢XnaF\���Ʌ
-���4���0�B#n��,�W���)��I�q�0#�
��:m��΋⌈�m�,6�]q�r^ �]��q�L�1
�a��`��ly���������0SH;�"���H�ɁHP
�
-�=w)G���yh�$��HA��v�P�@�}S�೻�����b���D^U/�VH�x[��jB��z��^B0V/�N�� uF��V
i&�û�\�	EJ�~œ��`$�x
�U������a�p�����(^�(
�4��7�Ho��AӤ�x�#<>C�m��xn)l&�����~�+-:���b���G�H�!,&q:�&�+Da�
؁�T`;X3�'�dtV�}��ZԏT�m+�Vq����
��UX��ml3�d�c�6�KP��\l;X>����v�������N�
c;���v䟞zf�l���gJ|�A���1$��ʐ�
-����	I at X�/'��K�Aˮe�� �O������n�.����&��ʐ`�".��I��-���am�
s��6R��`ߤo�3����9[�>��	����'�\��!3W�D^�<�14.4�и��@�K�
4.��i\�l�7>�~I�h۵4~�V(�Mo��c��]�Q9�2ꃘ��m�| ��
yHx�6��a�-_n�Z�:�
np~���pa�R
3¹�U=g�w�|���4;�!����Fx�����?�*&nw@�aв;(�%����Ge8P	^���
 ���m��^��
��݁E�F���d�
	&h��9dkX�!���A"�H����5�C��b���T:h���r͡�:wo�p�KR�*P*r�$C�K6�%.�L��	[
R¤8���+��͝=a�`4e$I/xP���.	�N��
7
QrPd&��PG�{�
��\SD'G�c�����e#94xp(g�9\�n`0�xќa��9�O�b��
P�d���f%ąL���2$�RH [...]
-���;�{z
n/N�h��bq�
���R�^�*
a;��ʴ�`�	�t���L�q�	9GJP6�	
�#Ѳ[I�b=/Oɿ�v����L�|�h3Z���Q
���'��1�x<���_��-�'�촷��T���o����?�/MJ#��aU_`#%��u�?P�~:{�
-D8`�
�Bw����DDbʘ�+������	*�q��S���i`�=���(�*�I$�a�����ɮ�\�T��
-q����^!"�	]z���_�ɢ
���]��|Fa!>�-
����[��T�F�f�t��"| �)<��"�қ)2
�@�q3�O0Fb3�
��Ѷ[���k;Wq)-ҽ��v��D�i�O�x�C�eg��^;|��-����T�$$vjd����1Hc������L	K
-X�W�qz���N��I
�$��8�mwp�d�*K;ˣ2<|�x
'�2Nd�����D��oJ�+X�Eˇze�?�A��9��AQ���f�
-6�D�#c�K儐�М���4�?�'��7>`�3M�m�<���nZ
�
a��G��ev�F����p�0G
-�xC���9-�CE�1{E�e|�Q
V
��
_t��@]�P���`]
l�t��
U��$�6{��(;�eZ��P�$w��ò�L�]�vT�Q��*��0�1RTe�w*�f�T�$���
 �1�^��0��]��D����P78x�C�jq/�>|�t|B��(�����v�q۲ϧ������3��B�-"�*��T
�8��鬁�T�C=����>�&Y{T����#
ǩ���B�+B�\�a�\q@�x���d/� �ӟ7���%�1�
����
���`*ot�ە7�v���Æ��T�p��䍈K�H30���y�����aдi	�<�MnW�ɼ'w i�!L�.�6���G�Zo� �#$�;�?K��҄K.���#V��^��z��3~n�
�:RBg��Q
��#�q��A���_}�'��H

�8��} �`/���04���\=�]xћF�=��*w��òi$4x�J���E��n�g �Fâ
���?��
�b����u��34�v�`0�Zf�ܣ2
�f��_���
�´6�u���H��F�#-Ӿp�

/���H
"���E��v�C)Yt�2��7Pnf��f�.�����W|���XB�f��\^|����cd"s�
�����–f�-d7T�<CaK3p����m:�9
G�h�6]��5߲k�_����Oۺ
-)S��Ge/׎�����uHҊQ6�
��Ѳ;@ԙɡi?8P�}�C�.��)��A��sr�fp`"�Fe)]�K
 ��e��U͵/�zj���P(�a�xo��R��+�c�:n������z9�i��"BR��M�7]7M����E�$�
��+$����9�-mr��f�U�Av�P�O��+�{3��Y}��������L��
#����Ǒ�F�]9L�E]b�	^�Y�PQ������	1���7�坫���~�����L�&PŕG���Pt�`R�UD��>�s�^�3�̬8��~~H�mٵ}��ۭ�\\|��M��n9[o�lw�^�/Z�l�UȕI
ܹ��D�g �
-ʌ��G��#�զ
���\L�!����ť*��a>cendstream
-endobj
-7378 0 obj <<
-/Type /Page
-/Contents 7379 0 R
-/Resources 7377 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7425 0 R
-/Annots [ 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 0 R 7408 0 R 7409 0 R 7410 0 R 7411 0 R 7412 0 R 7413 0 R 7414 0 R 7415 0 R 7417 0 R 7418 0 R 7419 0 R 7421 0 R 7422 0 R 7423 0 R 7424 0 R ]
->> endobj
-7382 0 obj <<
+7332 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.4163 187.8527 708.3202]
+/Rect [113.91 163.778 187.853 174.682]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_60ae86027d4480aec07a5eed85f6977a) >>
 >> endobj
-7383 0 obj <<
+7333 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.5112 697.4163 257.1544 708.3202]
+/Rect [191.511 163.778 257.154 174.682]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7384 0 obj <<
+7334 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.0352 697.4163 426.4242 708.3202]
+/Rect [341.035 163.778 426.424 174.682]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-7385 0 obj <<
+7335 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 658.9 187.8527 669.8039]
+/Rect [113.91 125.033 187.853 135.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_16829d6b83d0c21f3d3e1f87c46ac239) >>
 >> endobj
-7386 0 obj <<
+7336 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.1898 658.9 293.0169 669.8039]
+/Rect [215.19 125.033 293.017 135.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7387 0 obj <<
+7337 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 620.3837 187.8527 631.2877]
+/Rect [113.91 86.288 187.853 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_f5aee1171c6c67b9c57f3949b7b75be8) >>
 >> endobj
-7388 0 obj <<
+7338 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6683 620.3837 269.4954 631.2877]
+/Rect [191.668 86.288 269.495 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7389 0 obj <<
+7339 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.0244 620.3837 350.9691 631.2877]
+/Rect [291.024 86.288 350.969 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-7390 0 obj <<
+7342 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 581.8675 187.8527 592.7714]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_7358056031cb08692ae07044715987cd) >>
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.1898 581.8675 291.3334 592.7714]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+7346 0 obj <<
+/D [7344 0 R /XYZ 90 757.935 null]
 >> endobj
-7392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 543.3512 187.8527 554.2551]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_89d5bd03139c8fcaf1ab035208d680dd) >>
+7347 0 obj <<
+/D [7344 0 R /XYZ 90 733.028 null]
 >> endobj
-7393 0 obj <<
+7261 0 obj <<
+/D [7344 0 R /XYZ 90 626.411 null]
+>> endobj
+7348 0 obj <<
+/D [7344 0 R /XYZ 90 611.89 null]
+>> endobj
+7349 0 obj <<
+/D [7344 0 R /XYZ 90 491.601 null]
+>> endobj
+7284 0 obj <<
+/D [7344 0 R /XYZ 90 467.232 null]
+>> endobj
+7350 0 obj <<
+/D [7344 0 R /XYZ 90 467.232 null]
+>> endobj
+7285 0 obj <<
+/D [7344 0 R /XYZ 90 417.991 null]
+>> endobj
+7351 0 obj <<
+/D [7344 0 R /XYZ 90 403.47 null]
+>> endobj
+477 0 obj <<
+/D [7344 0 R /XYZ 90 305.515 null]
+>> endobj
+274 0 obj <<
+/D [7344 0 R /XYZ 90 298.745 null]
+>> endobj
+7352 0 obj <<
+/D [7344 0 R /XYZ 90 182.697 null]
+>> endobj
+7343 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F95 1779 0 R /F10 473 0 R /F11 418 0 R /F72 471 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7397 0 obj <<
+/Length 1397      
+/Filter /FlateDecode
+>>
+stream
+x��YmO�H��_�O\"5�ݵw�Fד
+��^

䤫���c�u~����ov�vH0�sJ�/�
��3��<;�����Ƈ�ް38�� �Sn
�
��(1�c�K2Y�O0���
�]7���i��n�o�q�>W���ww����n���M�^�2����8=�}uϏ=_��ӥ���:��y?�|��DY�&3��s�c�������ƭ��
��p
���_
�=[=*O5l�[�SB
�mCPa�
+o�fA8�V��pp�8IK�,Vy��L�����D?W
��i�G�yr]
�$���9�A�O�r�1��
��O)����

�%�lE��Z6��;��1.�
+'F��~���3 !m��
+���ER����'��p�F��d
+�H�w+ �N
9��?A�.������(�	y��`x���ӌ��� @����8��ujƳ(��(���ҳc��jj?�'�L�a��k�*�2�g*��A���5BH,��T��[�hgރ�,��$E�����.�磢g�S�-	�}w�eԗ� ��
�� ��b������

��� @��Y�7��uV�� �o�M�
�S��"Kf2d���
ӆ`D�Xü�)�
��|��~�p��_���B�
+dY�a�K�8b��4�S?v#
��8���=
+kJX��9����?
ɦUo
1�-'Es��i��Rl/�[	�s�r��rN����d����՘<�.�A��K�iԻs��5T�c�+H�G�O1AX��+(�V�%�Ք
q�)g�,�w�p�ͺ�g=���� ���{��1�[h;��]���HP�)�	
	N7�<n��<�;�߸���{���a ��H�"h	���d�b
��ӱsՔ�S�
���M���;�MhO(���j*����g�_�<nU
R����I�a�*
q�i��lB��"ʚ�}���Av�����vE"=m(Hk&ʞ���")o Nr�Ba��!ۙˆӪPr-T���,�3[�aR]�
��<Q��8��l^��_l��<�E��P5dͽX���o��
�0b�
�
�a9�B&�8�㲪��[�*�}�,v��o
��U2�%�f��k!��5"�	�5�/ %xE�n<���+i����Jb�Ү�ps$q?�e��ypU$;���,ň���[��|�$�n��S���=Oj�Ǵ!�-�Gl�<o�p������ �r6%��!��
���*L&�i	V�w��H�bˑE�eh�-�����$	�SX�;���� �Qp=*�/��_�W��r"��~jU�T!T
�aH���� c��}�:�t�Tک/��c�cO��
c]]���xVvG2ߥ*?��X����KL3��)*�?�˾�p�_�<����ia4�&"vUP7y�����ț�Y
�
+�A�����B
�tU�{
�����L� ���(<��*����.
+endstream
+endobj
+7396 0 obj <<
+/Type /Page
+/Contents 7397 0 R
+/Resources 7395 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7330 0 R
+/Annots [ 7340 0 R 7341 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 7394 0 R ]
+>> endobj
+7340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.002 187.853 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_7358056031cb08692ae07044715987cd) >>
+>> endobj
+7341 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6683 543.3512 267.8119 554.2551]
+/Rect [215.19 696.002 291.333 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-7394 0 obj <<
+7356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 657.148 187.853 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_89d5bd03139c8fcaf1ab035208d680dd) >>
+>> endobj
+7357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.668 657.148 267.812 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
+>> endobj
+7358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.8989 543.3512 349.8436 554.2551]
+/Rect [289.899 657.148 349.844 668.052]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-7395 0 obj <<
+7359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 504.8349 187.8527 515.7388]
+/Rect [113.91 618.293 187.853 629.197]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_d5c6d64b009045df8248bcb8ffeea69e) >>
 >> endobj
-7396 0 obj <<
+7360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.1898 504.8349 299.6424 515.7388]
+/Rect [215.19 618.293 299.642 629.197]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-7397 0 obj <<
+7361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 466.3186 187.8527 477.2225]
+/Rect [113.91 579.439 187.853 590.343]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_42e87760e6f69306e6322cc77f20d162) >>
 >> endobj
-7398 0 obj <<
+7362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6683 466.3186 276.1209 477.2225]
+/Rect [191.668 579.439 276.121 590.343]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-7399 0 obj <<
+7363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.6312 466.3186 362.5759 477.2225]
+/Rect [302.631 579.439 362.576 590.343]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-7400 0 obj <<
+7364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 427.8023 187.8527 438.7063]
+/Rect [113.91 540.585 187.853 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_8ee7e3364443dc8cd55f3f6388c81ecf) >>
 >> endobj
-7401 0 obj <<
+7365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.3996 427.8023 298.9559 438.7063]
+/Rect [239.4 540.585 298.956 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-7402 0 obj <<
+7366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.756 427.8023 419.2221 438.7063]
+/Rect [343.756 540.585 419.222 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7403 0 obj <<
+7367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 365.3757 187.8527 376.2796]
+/Rect [113.91 477.82 187.853 488.724]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_9bb0903a2b33f94b096f71e604f07648) >>
 >> endobj
-7404 0 obj <<
+7368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.9646 365.3757 245.5648 376.2796]
+/Rect [226.965 477.82 245.565 488.724]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-7405 0 obj <<
+7369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.699 365.3757 292.4259 376.2796]
+/Rect [259.699 477.82 292.426 488.724]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-7406 0 obj <<
+7370 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.9735 365.3757 425.4396 376.2796]
+/Rect [349.973 477.82 425.44 488.724]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7407 0 obj <<
+7371 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 314.9043 187.8527 325.8082]
+/Rect [113.91 427.011 187.853 437.915]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_691bb5ef88a4c9638034de4c1b9532cc) >>
 >> endobj
-7408 0 obj <<
+7372 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.1898 314.9043 235.4437 325.8082]
+/Rect [215.19 427.011 235.444 437.915]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-7409 0 obj <<
+7373 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.7236 314.9043 340.1897 325.8082]
+/Rect [264.724 427.011 340.19 437.915]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7410 0 obj <<
+7374 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 264.4328 187.8527 275.3367]
+/Rect [113.91 376.201 187.853 387.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_25b59f3491de4996c701bbf044746fe5) >>
 >> endobj
-7411 0 obj <<
+7375 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.5077 264.4328 272.668 275.3367]
+/Rect [227.508 376.201 272.668 387.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-7412 0 obj <<
+7376 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.702 264.4328 425.168 275.3367]
+/Rect [349.702 376.201 425.168 387.105]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7413 0 obj <<
+7377 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 202.0062 187.8527 212.9101]
+/Rect [113.91 313.437 187.853 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_5d2426c9804102311d41fd445b122cf9) >>
 >> endobj
-7414 0 obj <<
+7378 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.3337 202.0062 292.6021 212.9101]
+/Rect [220.334 313.437 292.602 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7415 0 obj <<
+7379 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.289 202.0062 428.755 212.9101]
+/Rect [353.289 313.437 428.755 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7417 0 obj <<
+7380 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 151.5347 187.8527 162.4387]
+/Rect [113.91 262.627 187.853 273.531]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_163f5dff452c6cf2e3a0c929eb2b8187) >>
 >> endobj
-7418 0 obj <<
+7381 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.9192 151.5347 307.8615 162.4387]
+/Rect [233.919 262.627 307.862 273.531]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-7419 0 obj <<
+7382 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.4962 151.5347 421.9622 162.4387]
+/Rect [346.496 262.627 421.962 273.531]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7421 0 obj <<
+7383 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 101.0633 187.8527 111.9672]
+/Rect [113.91 211.818 187.853 222.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-7422 0 obj <<
+7384 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.5923 101.0633 239.3988 111.9672]
+/Rect [198.592 211.818 239.399 222.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_91cfad066b0e12cdaf7454fe4585cfc5) >>
 >> endobj
-7423 0 obj <<
+7385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.736 101.0633 340.6783 111.9672]
+/Rect [266.736 211.818 340.678 222.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-7424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-7380 0 obj <<
-/D [7378 0 R /XYZ 90 757.9346 null]
->> endobj
-7381 0 obj <<
-/D [7378 0 R /XYZ 90 716.2211 null]
->> endobj
-7416 0 obj <<
-/D [7378 0 R /XYZ 90 170.459 null]
->> endobj
-7420 0 obj <<
-/D [7378 0 R /XYZ 90 119.9876 null]
->> endobj
-7377 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F37 2043 0 R /F11 411 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-7440 0 obj <<
-/Length 2809      
-/Filter /FlateDecode
->>
-stream
-xڵZYs��~ׯ�CV-g�ƌR~�
N�I\ή�ǥ���
-6	� ����s
-y7[z�t���Md�Ꮼ4^e"C�q��
.�����	���|�%xuu��[)ViI����q�	J�����5!��͖`��?n^��!��qC��?ޛ�:��GqS�����?��=����͖
-�~�ϛ��|g�{fʝ��3��Te�_���x{��
�L���?��W����/0bZ��\`D�����,^�/�_�+��܂)�p,�bj�e
)	�'������$X�-�-�H
"�۞����d{A;�'X"�_%2��P*��!VQ�V]�C�
iEXT�ީ?�G�:z�X�E�"]O;���np�PO%����MTK(��H_��FB�FB�;�B� �/��⫣�󶪿
�A�B
S9��D� �r��ftX�]U6�H��P�({�
��#�V��`T �%�7C�Z��(�W2��#���$CDҕ����g5�1��88�2�R���
-�0�X}�i��C�][Y�^~K0�,�+�p�#f�
-��Dđ�Yh����4=���Lb��L(���1Vb.��7�#��$,� ˒�謑G��Ϯ��l�ATh�P;�b��2���9Ҏ�����3�
��
-D8W��
�U�dv/�D�dC��/�j)�lz	����c.�"���i����һ!��D&�2����(q��Ќdˡ�a86[�Z����+����#�
J�j �|�G�%
F|��&]ߟ����������l�X�w�F�m�z�$�jA!�)d��$3]T#΅|�]��#�˩�8 q-��!Ղ�3��۞
}�d�K�>+�;<�=�Y����^����2�hk�߯��(�8{F��

t�����v�H��3]4C*�Q���{VrQ��U�����>=�m��$� H�)��
ᶩ��6���EFq���ekӞj��
�����Ec&$)9%���fJԖ��[�EJ��O2�te�m`��L|�� EBS��
�b{�2�i
rc{�ɝm}��h
��Z
NG8Q]�T���Y
Bp�5��FIT
*Q@ZQ=p�����R��k�D��ƈ�3��N ��HT
0��t��
@�\��i]
3
"�Y���p�ɛ�c�b�bk���q�&@H�)���F:<&�l�ڐ��ĭH��1m^�]�����ű-���(l�b\{[|�הU~��i��.����n_5�3����mn���ҙ�ʀ�
���
;��Ⱥ��uC�Ʒ/b�0�DZOeG~Cg)��������I��vL��唡��z�˨v�
\�QD�5�ͱ6�)��['O}�i���b���]6�3���84��L
l���]�:F�~~O~�t��	hI�sw���&h�������n��.�g�:ZI��9���e�1�Q�Щ�D�ؚ
-q��wۡe� :T��T"'�IGF�m�j��Ra�84H"���5��zA�4�̋MTc�  '�O�\q+ܐ�Ji���Ȓ�r?�A��`JS�����
��%'<K���!4K��ǰ��W��@�����͡�p�o������2�4spr�u�%x�7
N�>�v`# ~x}c��rͧ�q_�v�;���]�Z��%E	P�xf$��޳�����
�)[3&=@H���:�o�
&����r�XyH��e�%P-h0��
�
-Y_���&o��;[���[�Z�X�€_e���Ʋ
�j}[�m�Xߙ*����m{����������U��eCt���#a��±=,p��H��.��׈��<^b8�39�d#Ւ|;?ӗ�
-���}^�2u�~�u��-���Ci���ர�p.�x
g����pܛ��"���梨��w�{_7�E��e >r㺦:��iQ8�v{��=�
-��Ыzh���ڞ
�$�q�*���7����c7�e�`�'�o�{˴�X�`��5���ch�:�Jopb���:�i&�Q�p
�|��
-�Z����  �Q
�T8
�[Yk��z�O������"M.��)Ft�g��������o'�
�#��`��"*��E�/J{��'�/@��
�ؖ��ۯN��6�)��$vd����M�VC2s8�!�=�C�)LE%AĎ�f1U��<����)@	���pz�
-ќGWS
-̠��&�pI}=�Mx�̢�J͛"Q�5��f`3L�\E/�*7��x���j��
��{���/�Ŵd"�z�

-����%�3}$�flO.�r��Z���rs&l'�/����
-�nL0�ýyʭ�9����I������&�5��=�{��I����^�j&���~���w�Mf�nJ���GJL�>�Y5����ro�����k��T�aȩYC$������1�+qu_W���S��DI�N��5�T?�IR2[Ʀ�;cbOIx�?��!��~���N'i( #j?��l�g�U������ї�j`]��u^��� ���ބ���e��i߾�% �&�#����lı|?���#��z��~)H�i��K��r8�]o�����?6�9D�7$�A��vSpI!�/"$C�C�3"�������C/
-�Ζc��%35�S���FqPB�-�a*L��n�$��
��~P@��/w0،H���'Z�_�É��^�yqu��Y�G�56��eg��!���O����b
L�ϼ<�{���nL�d0P��K��ƌ&� ر{Y�5���*��{gl;+|��:�
�{�o���˗h� �����q�rt:�=�gz�q�D4ҥgyE8ӄ�t����<}<�̓;���I҄*��c�endstream
-endobj
-7439 0 obj <<
-/Type /Page
-/Contents 7440 0 R
-/Resources 7438 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7425 0 R
-/Annots [ 7443 0 R 7444 0 R 7445 0 R 7447 0 R 7448 0 R 7449 0 R 7451 0 R 7452 0 R 7454 0 R 7455 0 R 7456 0 R 7457 0 R 7461 0 R ]
->> endobj
-7443 0 obj <<
+7386 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 706.9608 187.8527 717.8648]
+/Rect [113.91 172.963 187.853 183.867]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-7444 0 obj <<
+7387 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.5923 706.9608 239.3988 717.8648]
+/Rect [198.592 172.963 239.399 183.867]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_2f41d86c5a949d903179e82072854ef4) >>
 >> endobj
-7445 0 obj <<
+7388 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.736 706.9608 326.2923 717.8648]
+/Rect [266.736 172.963 326.292 183.867]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-7447 0 obj <<
+7389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 668.1065 195.6014 679.0105]
+/Rect [113.91 134.109 195.601 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_9dc9e3a464def0e2d929fab9cae6e360) >>
 >> endobj
-7448 0 obj <<
+7390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 629.2522 241.1122 640.1562]
+/Rect [134.114 95.255 241.112 106.159]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ee8ba0ffc68e00046b55e12427c582cd) >>
 >> endobj
-7449 0 obj <<
+7391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.4494 629.2522 342.3917 640.1562]
+/Rect [268.449 95.255 342.392 106.159]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-7451 0 obj <<
+7394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+7398 0 obj <<
+/D [7396 0 R /XYZ 90 757.935 null]
+>> endobj
+7399 0 obj <<
+/D [7396 0 R /XYZ 90 281.72 null]
+>> endobj
+7400 0 obj <<
+/D [7396 0 R /XYZ 90 230.911 null]
+>> endobj
+7401 0 obj <<
+/D [7396 0 R /XYZ 90 192.057 null]
+>> endobj
+7402 0 obj <<
+/D [7396 0 R /XYZ 90 153.202 null]
+>> endobj
+7395 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F50 339 0 R /F65 376 0 R /F35 2013 0 R /F11 418 0 R /F99 2114 0 R /F23 340 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+7420 0 obj <<
+/Length 1888      
+/Filter /FlateDecode
+>>
+stream
+x��XY��6~���S*��D
.��cS$m��/���ez�F������;<t���6P��%j4�o曃�ֽ��_g/ogo|׊P�Sߺ�X�� F�u���lB��������q����s��"=l������U��������ќ�v��
ʰ�*��J_^�
W�x�p�;�"����������ˌ�u�"���eV���>ak
��,��(��J*�<��j����a���_!
�RߓH	�����L�}�
�Ю�\^D��8�&M�z��6^����"�� �`��#Ʈ����|����[Qi��E�C���P��'��"��9Lh	Pt�҆s��qRkX����qdCh�}��}1�2oQ����ˆ?��EZ����uS���v�,���;���m�lⴚ��q��rȊ"
�>�D���Xx��A�9�"ߣ���$�GJ�H�u�0H�UQ�f]fFyoR�ZIH3�ݎ��U����Rl�|N����R��G�pR�U��f��&�!�'=;�*2��8j2� Ğ�|g\�26.�y��y7Bb8,�V��3�*��<w<��"����u,R�~&瘝�Zh�G!�,^�z^�W�6<�U�"=�$-�V18z�a�
�
����#� �q�
Y@b�����:��,E��RE`+Y`��1x4���仒W<�+�=w���a�3|p
^Y���:1����%
�e�@JQ�(�wT0t��/0�.9ֈ���Ji'uQ��j'&�]20����6]k�-E���J"f��'f�)~0$��3���!F��)��0u媨����&$D� o�0جsH�fJ}_�Y^��b�
�F����q*�Ŋ��E+x��;5ϵ��\��-5'�yY�
�=�I�=�Hl�k�	l�
�W\����KE"�T� �LRȍL��Z&�Z�-rhoJ���"�k�\S [...]
+�ﰐطZ�̰�*r�|#9)�
*�E~�U�!��r�V��^�͜2&(�R��l䕼	TS���66�5>�� R3�H�� ��CEC>W�R�l��3/�7�nP�:�G��ˊV�+v"$�	�"ۥ<�����M��_QJO�۔�Se-�&����q��оWM	
+�)`��Pp"�$4	j��+�&˦�#Ϻv1Z~]$Mgs�J��6��ڮ�|�T�д
̗ɱ�����;S� ܨ�
��7ٲ{��pS at Q����n��%BD���*`�
�	B�T�Օ���K
�	[�y��Ϣ��)F�O�l߇��]^�\Nh�`���E&���Bw"OE����)J�&zQ=�����F�k�e.��jx�6�&2eLM��jq,Ƴ]m8���q��p��Nv€i]-�
\�HMu�Sj��m�F�N�mQ��U��f��p��H��^�e���H�ʄ�~>2w�1�:��2f�9�0�C��ov<�rc��}���>Οz�mѤ�>�����"@��avxD^�g�˯	W���Fԗ��^/)���풗%�z�
��
e!��7��f"M=:�6���h��G��A	�mjvL��"k2�4Ն����j�nz��C����2�X��C�	X�mFu�F[�9N�@!)W&�k�2G��~>�
v��Ol���YҴ'�1Q���'�g�@x�
�pp�U��I�0�-�����P�<k��i��3b�RH�z`�
>�1��h
��B����&��@m�"�� n�c�y��8�Q [...]
�����j�~���鍦�E�w���w����~��
+A�ڕH��]zq�^
!

+��۴MR=4�a1S�I�r`��
+endstream
+endobj
+7419 0 obj <<
+/Type /Page
+/Contents 7420 0 R
+/Resources 7418 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7330 0 R
+/Annots [ 7392 0 R 7393 0 R 7413 0 R 7414 0 R 7415 0 R 7416 0 R 7417 0 R ]
+>> endobj
+7392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 579.439 255.4885 590.343]
+/Rect [134.114 685.043 255.488 695.947]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron_6b1f2d6606a0b4d4fc8bbde3b24ce553) >>
 >> endobj
-7452 0 obj <<
+7393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.8257 579.439 356.768 590.343]
+/Rect [282.826 685.043 356.768 695.947]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-7454 0 obj <<
+7413 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.8409 479.368 252.7832 490.2719]
+/Rect [178.841 584.972 252.783 595.876]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-7455 0 obj <<
+7414 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4399 423.7115 513.9963 452.7773]
+/Rect [454.44 529.315 513.996 558.381]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-7456 0 obj <<
+7415 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.8256 411.7563 409.7679 422.6602]
+/Rect [335.826 517.36 409.768 528.264]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-7457 0 obj <<
+7416 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.3236 399.8011 361.8799 410.705]
+/Rect [302.324 505.405 361.88 516.309]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-7461 0 obj <<
+7417 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7441 0 obj <<
-/D [7439 0 R /XYZ 90 757.9346 null]
->> endobj
-7442 0 obj <<
-/D [7439 0 R /XYZ 90 726.0541 null]
+7421 0 obj <<
+/D [7419 0 R /XYZ 90 757.935 null]
 >> endobj
-7446 0 obj <<
-/D [7439 0 R /XYZ 90 687.1998 null]
+7422 0 obj <<
+/D [7419 0 R /XYZ 90 704.136 null]
 >> endobj
-7450 0 obj <<
-/D [7439 0 R /XYZ 90 598.5323 null]
+7423 0 obj <<
+/D [7419 0 R /XYZ 90 647.723 null]
 >> endobj
-7453 0 obj <<
-/D [7439 0 R /XYZ 90 542.119 null]
+7424 0 obj <<
+/D [7419 0 R /XYZ 90 479.876 null]
 >> endobj
-7458 0 obj <<
-/D [7439 0 R /XYZ 90 374.2719 null]
+7353 0 obj <<
+/D [7419 0 R /XYZ 90 457.564 null]
 >> endobj
-7426 0 obj <<
-/D [7439 0 R /XYZ 90 351.9601 null]
+7425 0 obj <<
+/D [7419 0 R /XYZ 90 457.564 null]
 >> endobj
-7459 0 obj <<
-/D [7439 0 R /XYZ 90 351.9601 null]
+7354 0 obj <<
+/D [7419 0 R /XYZ 480.093 277.647 null]
 >> endobj
-7427 0 obj <<
-/D [7439 0 R /XYZ 480.0933 172.0428 null]
+7426 0 obj <<
+/D [7419 0 R /XYZ 90 260.92 null]
 >> endobj
-7460 0 obj <<
-/D [7439 0 R /XYZ 90 155.3157 null]
+7355 0 obj <<
+/D [7419 0 R /XYZ 90 142.427 null]
 >> endobj
-7438 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F25 344 0 R /F33 481 0 R /F10 484 0 R /F97 1822 0 R >>
+7418 0 obj <<
+/Font << /F63 374 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F50 339 0 R /F31 472 0 R /F10 473 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7465 0 obj <<
-/Length 1631      
+7430 0 obj <<
+/Length 1317      
 /Filter /FlateDecode
 >>
 stream
-x��YIo�F��W��J at 9�����i�.AZ��$0jd�(�����������(+��>x�|�[��ޣH���K�Y$�d=��=\~5!�v�ö���������"�/�7�8%4�/�M	A��B�1���<��u|�vF�t�:<�E
���~���p}���M�֌��&������*����_fi�{&KL�n���*5�0�u�rޘk��L���'�>�`^�:��iŃG�`D���zQ�6������=���_P"
-Q��J#E�J)�0Q�"�p��F3H*LUA���צ0���'�IFi�~�3``H#=�D˖%V$	�Ƿ��$��v"��ڏZ��P+�m�#��Z��N��+̺^o���d��<N����¼ǘfiv_�
�����&C��Ї̪#���ȱ�E���tq���=������vl��A��>O?Ԇ�2���
D�������ir\
�䐬���l�/<���&�>�د�ϛ!hQĝr�X���qB��l�f�C-�IHTg$�$4b�/��ja�[@�x��Z�s����oM�O�
��R
uK��&�
L���kjl���\�k��R���؈
U��C�搃K�x$�8���N�
�q�.��#�2��/��xu�/�~x�h�r�$i
-��:]�����R���.��B��뢾��'�M�^����,<G�j� )�Y��{
-c���p~4I��Y'��P����ê�CF8�yL��}R�sc�x
��G�?J`k]�+Q"Yy*�!�_G� 
Q���~Zbc���:(�Q̀J�>��
-
�v
(b�D�u��l|��H|�
��qR�I�Z

>,g�O��1Y�ƅq�Lm>6����7�^�7���8���;/�qk��آ�"6�h�ku	W�W&3y
vޅ>r�m᳏� ��pw4��D�xsx.a# EQ0���4I
/9���.A\�M�D�Pҽ�R���s3R��I�Q�$�z���R�	)b�L."$�#�2��(�ر����%���7RC�=B�a�����~�X
����2	NS5�����2
%�X�����-��F��Q=���
��9�����i6���S�Jwq~���/i���m,����N:)fH0X�-�?���9���d�qB�C�
���6��q#�ʠin��@�5��
�����b�#
4�O��{Dq
��aƉ��*�)3��ξ�G.�q�B��*?z��QK�4Q!T��N<�G�o����.��H%}�~&i����jM6�N6�1�;�(7���`�#;�H;�(7ب��ra-�6���
l����&ZN�XGg���X�8���͸^7�
�����ol��
˥�g>���N��)�'71>�#�X��|#�e}�hD����'�1��ieh�����p��r9%ӛMv����&�S.��)7��:�,4���#�-�ND��
l�&2�ǷV�z��8�h�y����W��T���D��уS&��{�m#:Qy[RVY�v몷���7�L���
�q��W��,�O嫠j�Ⲑ��
�[c����",�����O�V�
�l
[O��+[��[��P�뫫��G���>K�9J���vuշ����<����҉<SIM��-K׽�7�q��qI�*��c�+:8�endstream
+x��X[o�6}����&3Ë(�y[��h���=�A�Ȍ#LO�����Hɒ�$NڴP��(���rx�cbo�a����rv�*d�D2�����$�DH��[��s���|A0���`_���<�S���F�Ju�{rU�rw|�����ӜD~���c�$UUe��k�|�y���BJ�J<�X���\����{���
$��lv~����0b2�n�Q�P��;��1��zF�!�y�(b_���^,C����ȫ�TI^_��Zg�Q�r&H����t
���g2�HDF6#��x!*���
��ƻ8՗o�Ͷ�XV�璶�V�,�M��0
+ގ?�4����vK�'y�����7pAE"�(����b��+�
+�ᴍ��g��R�s�}p-��n�}T6�M���ϸ
z��x��]��7zz�$��eR;��vX�Q�k��L�U�Nhw����X��s�FR�� 
+�l
txT��uY
f�W�%BK�3B��>jz3i!�_D��51a�teºg�z�
+�c�7�0ﵝݏ(�/B��7�����yQ�Kĩ*�jY������}W�!
u �ұ�VΉ�
+�R�Z4X0�n
=pk��R��gjgWz�<0��p#̹7 
A��a�	[P0�D`N }rt �J�V at E����,k�Z��vy��:�U��Z
_�)���u^'�֭�
B�����F��*�X���=gc`s�H ��@Tdȼ�s1oцx-h���:ץ+/S�{�c�)&��z��#
>�.��C����I�8�'�3
���!�=�<�Y��3�m�F�<;ev;O�d������p8]z�y [
]��M	����S�75����>�����|
`��J�ե*�[HW}_$G{	��)
�&�-
��=$:-�4��4t��w}�u�7�ن����HW��4����
+���Ϟt:~!�$��t>@0�)R�
$��.r�ԣ[¿�������J�Ѽ�D�Sz�Szbp2M�P�E��#�''�zQ+�{�^$Q@�y!':/ju��<T���|:�N�� �(R_�H��U�8t�D2��?)�u�5�2#�
>E%ǓU�����Rs�2��H��Z� e
w���5f�����T�ѐձ�W�n
�g/��c ��+3�1(3��	�C�f��((31A�3��7��3�nukh�΄�ê߫ΌoK�4�:s�eisI
+�H
+����K��֧�^�>��8Ⱦ�U���9����ʷ*�m�7�R ���mJM���1��i�<�����fMj�FS���b������������ɦDI}�٤G�Cw�
+�ڼ��u�鲢��Q��L�:�Y��"�
+endstream
 endobj
-7464 0 obj <<
+7429 0 obj <<
 /Type /Page
-/Contents 7465 0 R
-/Resources 7463 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7425 0 R
-/Annots [ 7471 0 R ]
+/Contents 7430 0 R
+/Resources 7428 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7330 0 R
+/Annots [ 7427 0 R ]
 >> endobj
-7471 0 obj <<
+7427 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7466 0 obj <<
-/D [7464 0 R /XYZ 90 757.9346 null]
+7431 0 obj <<
+/D [7429 0 R /XYZ 90 757.935 null]
 >> endobj
-7428 0 obj <<
-/D [7464 0 R /XYZ 90 697.5965 null]
+7432 0 obj <<
+/D [7429 0 R /XYZ 90 733.028 null]
 >> endobj
-7467 0 obj <<
-/D [7464 0 R /XYZ 90 683.3149 null]
+7403 0 obj <<
+/D [7429 0 R /XYZ 90 597.974 null]
 >> endobj
-7429 0 obj <<
-/D [7464 0 R /XYZ 90 540.7778 null]
+7433 0 obj <<
+/D [7429 0 R /XYZ 90 583.841 null]
 >> endobj
-7468 0 obj <<
-/D [7464 0 R /XYZ 90 526.4963 null]
+7404 0 obj <<
+/D [7429 0 R /XYZ 90 427.031 null]
 >> endobj
-7430 0 obj <<
-/D [7464 0 R /XYZ 90 367.2129 null]
+7434 0 obj <<
+/D [7429 0 R /XYZ 90 412.898 null]
 >> endobj
-7469 0 obj <<
-/D [7464 0 R /XYZ 90 352.9314 null]
+7405 0 obj <<
+/D [7429 0 R /XYZ 90 229.164 null]
 >> endobj
-7431 0 obj <<
-/D [7464 0 R /XYZ 90 166.3944 null]
+7435 0 obj <<
+/D [7429 0 R /XYZ 90 215.031 null]
 >> endobj
-7470 0 obj <<
-/D [7464 0 R /XYZ 90 152.1129 null]
+7406 0 obj <<
+/D [7429 0 R /XYZ 90 89.441 null]
 >> endobj
-7463 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R >>
+7428 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7474 0 obj <<
-/Length 1970      
+7439 0 obj <<
+/Length 1629      
 /Filter /FlateDecode
 >>
 stream
-x��YYo��~���SBQ���
��1Y�fw2�(@���h��DjIjm��T��4[l�v
/~���:���&3
d��Lr�4��,�]��
{A���_
�-/.�,�L#-��-��
A�:[��D� ��
�1�>�	��j��|�S
���&[U����m�Tǫ����Ws����/(���6������]־ˊ43{K�#��������\{�1��|��+���T�]`Ĵ�{���hMg���2w���|�~��E� 䔘�Cap�����G�(	��
-Bx�J#���I*L�N��KvY�U���9	�H2Jgí�#Cz�%Z,�"I�՘���z���C���{��ZN�j)GZ��W��@��VQ}��l�]�w�oZ��`���
���0�E^���ƭ���*
4_ĜE��EnWe�H�I���a!DC�P%�D¹Z��E�tb�AE�
j�n�49�֌�q�&M�0kg
F���)�4�]V7�!mUfS�
��۬���tNxtL�`k��)��)�C�u�7v������`	�&3E�K�X���u�|��yL��0��}(o>w�6���)
�����$[�T���tYzr6�UV�w�(I��n>�C�V��5v���
3��;�pȇE��X��H�8n�ߙ��&��K��:�v��fM���\�u���@�[�lPT5y�ɪ.I��S��^��]VԹ[�4������S�p��CX�M"�P�<rrEzz>p���s�I����{
-8'���#�a�����'���3�H �D�8
���M%����S̀$�~B���(fP8��j���j�
��}��ǢI�&O������nNy}ZV4y�dΗ��GY�GwU�;qt	WU�#]$˪��6�J�]طtե0܊((��W�abMh�s�u��o���9�t��xc%�Ҍ���4$����@�B	����7��������a�c`;ŐP}?R��%�EQ���%{�o�4o��ؓr�x,�+�3�jc� la�U��g�A^�β\L4�?1
�γ\�$R��/���(5�$�R�X�
O9��dBM���+�1
-�O�"����p��nŀOV�?�%���Z?��C�)�8�qz�9`�2n�����}7q׊�ڗ=�&-@���5��o�uQ{�V�M�X�-�B����o7 d��14ӌ�2�C@�,V�?h�����|eq�h�Џ�_�d߆���o��� (’�B}-��(�b���!�`��
�D�|
C+�7-&������� 
�)��e��L��$u[e��b��x�U���p�&H�<�2_b2AVq�_&����ܟп�
c�S@�OQ~u��Ɵ���w[>��v�[�v����ٕ�5wmv^��_�ЦH��UV��>K��+�0���9�:O�TB_�㗑gȀ	zY��^줨�9Z.մz���9�|��W�
��� x�i�ݧ��\R�򫛠��$K�C� O��PlʋN�$;��'ّ�0�z�_@�V�
-����
���j�D���r���)ɜ،��?߃-�RL��Pj�� q(�݇��i�o 6&J(�|"�#+���ź�uu�͊u��ɪ��F�H�+5�^jl��
-:��o�rS�f��7��i�0��.�恅[�l ��
�m`N�Mi��|���JP
S���!�2C1fc��E��!�
v�S��;KM����e,�=��33���5���	~���1o,����*_u/B=�i�!z���:����hZ��#�����g�9R�,O^0���ᡜj@>�Agcb�k�n��F�M���PrhU9
��
�����U��l�g+@��fj�.i��
�����@�)O{�곻�E����Ϊ��9��H��#'S�������]�b��@�s����J3��;�{�������9�������ണ}͙7M�������Gi�E��P�\����S��!�X��-z��-��aDR�س宬\�U�K)x�K�<���L�7n�•endstream
+x��X[o�6~����&3ËHI�h��H�v��+�"Pd���+ɍ��w(RW�n�$}ؓ(���;~��ZZ�z5y>�����/���7��-W�)��
��&1>���}1%��$���Rlg�n%yp�&�΃|wz���Y�הxv�Ng�c�,�B��7��'�P*ݮ���'�O�ד���	t�"�"�q+L&������-���Y��Tb9��3��O��ࣖQ���
�E�ì;l5w��s|���|�l�z�+J�(;�
�ܠ�A}<y��b���� YI��B��"
Q��2?��X98܅��:OכrD�
��ͤ�&Iv#�F�#j)��h!�;B3B9�
	�h��(^�h&�Mz�6~�3#��pG���яB��g7�6�,P�H��q�|%Ǘ�ҕ̣Ҡ*k�b
�f���Q=�^�m��«P4y7��
#��#���I� ��̋���VM?<�b
�洗�)���(������.�qe <;.��#�4�������Mgg�y�Dff����0r�0y [...]
V/ʑ�by�I�k����QT�e0��`ƈ@
��vUQ曰���D=	vzp-��Pu�3#�v�J�At]�w/b3
+0�p`{8��v(f�Guk�����fi���إe�Q��N�)�60�L�((e�?2>�R��&ϒ�q��&ٵ��\o�afs��c�
�����=�:�W��s^�=*�M;Ɓ���Y��c���ݕ.j��=�<��^O[A W4K�:�_<DD�ٻWg��x�����}
C�s�Y��
�Ѧ \��:�¨�4F�Sĝ��H��K����axz�`o���lj����KŬ�Ц���y��G
�g#����(�h�]���!X��(���!���r��4�����i�>JB��3l����7l ug
+B���MZ�f��2�4�N�
+�n-S0 s��T�$��Tь��S���XEv�m� �2�x
r�5���1�Gj���l;b��!q�I�o��~a.@�G�*��

+g��u��ڎ)r����z̿
��	��w�R`Jr�J}��=�T|�Jg�Al�x\F)t������uоދX�M�oUM�|�m�����1,Y�^�i�I���]C�Mg�D���f!�}�߽�f{�|������=~o��K��P�X}�)EaH�u
Z
� �w,Fl� ^f�E���]z��E��i�D at F��T8U^a�+E\ _A��
��m(�%d�=��w�	���X��ru%�<ˏyͅ��6
�U��~�V9�6t��d�)��C�[g�?��F:3���w�t;�p�p����B)o(�fmǝm�l������� ���-
+t�Ā�
����d� �z� �^��B��Rf��M�[*�%��n[�*�8#^eL�%w(\.tfm���3���u�^G 
+Seŷ
U*��]���?Q�j�K��zT��!ޢ��p���D-��L�kj�U�=w���n��b85��3��
�S>L�
AQ�y��S��/2�qʹmLz���
E�_�*Ȱfg``hD �	S$��@&���X���תG�O*iAS`U��>��r}zrr{{��m�h���<Y���`�Z�gG�u�M��[0��^��IPF�|� �:k[�
+endstream
 endobj
-7473 0 obj <<
+7438 0 obj <<
 /Type /Page
-/Contents 7474 0 R
-/Resources 7472 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7425 0 R
-/Annots [ 7480 0 R ]
+/Contents 7439 0 R
+/Resources 7437 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7330 0 R
+/Annots [ 7436 0 R ]
 >> endobj
-7480 0 obj <<
+7436 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7475 0 obj <<
-/D [7473 0 R /XYZ 90 757.9346 null]
+7440 0 obj <<
+/D [7438 0 R /XYZ 90 757.935 null]
 >> endobj
-7432 0 obj <<
-/D [7473 0 R /XYZ 90 684.0369 null]
+7441 0 obj <<
+/D [7438 0 R /XYZ 90 733.028 null]
 >> endobj
-7476 0 obj <<
-/D [7473 0 R /XYZ 90 669.4666 null]
+7407 0 obj <<
+/D [7438 0 R /XYZ 90 592.145 null]
 >> endobj
-7433 0 obj <<
-/D [7473 0 R /XYZ 90 523.0789 null]
+7442 0 obj <<
+/D [7438 0 R /XYZ 90 577.575 null]
 >> endobj
-7477 0 obj <<
-/D [7473 0 R /XYZ 90 508.5086 null]
+7408 0 obj <<
+/D [7438 0 R /XYZ 90 460.767 null]
 >> endobj
-7434 0 obj <<
-/D [7473 0 R /XYZ 90 391.7005 null]
+7443 0 obj <<
+/D [7438 0 R /XYZ 90 446.196 null]
 >> endobj
-7478 0 obj <<
-/D [7473 0 R /XYZ 90 377.1301 null]
+7409 0 obj <<
+/D [7438 0 R /XYZ 90 244.307 null]
 >> endobj
-7435 0 obj <<
-/D [7473 0 R /XYZ 90 175.2403 null]
+7444 0 obj <<
+/D [7438 0 R /XYZ 90 229.736 null]
 >> endobj
-7479 0 obj <<
-/D [7473 0 R /XYZ 90 160.67 null]
+7410 0 obj <<
+/D [7438 0 R /XYZ 90 93.246 null]
 >> endobj
-7472 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R >>
+7437 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7483 0 obj <<
-/Length 2174      
+7450 0 obj <<
+/Length 1762      
 /Filter /FlateDecode
 >>
 stream
-x��Ym�۸����@�Vj.�I-��lr��%�M|@i`hmy-T�\Y�&��C��E�������,JÙ�=C��0��,�3%�����
-�
���W�~^��E��������Œ��r�p�	J�l�����/�8��
%�>Y��)����.�T���J�/77o�ջtsZ�YY�?.��~MH�7%i3�Ű�SK�'QsKqK�8_P��[`��KK�͓�^�����[�c��C��i��]�M�9�QZ���\G4Ɔ�իegAk`�$1���Շ�x�C����=� #�t��┹A~���o
��C3!�'N�G�0x�a����@�h.�BDإ:F35ST""�n�a}���:��7�uL�b�����#E:�&�����"L��U
�l3�O9b�ş�Z��TA�Ri��{R�;��F|�t:���.��{�,w�ݜ����@-'c���,�zg�>ل�:2�����M?g���tA p�~B��K�-'$<k�K_�2�FI�1�}Z���%{(��Y39̗�e�ջ���;Gj
\��,��q��9Q�j)"�����.���%uW���z[�j������
-������CZ@c"u�S��"F��*2uL,��E��K�qAY���=�Wk�5��	�
A,�����
�.�cm�2zq�z�K!�(K\OY��"����x��~�����}K�gE���	�� ��R �İЗ]ڬZ,s�!-1w��y6���ƴ#����A鎝y����o�~x���?�i� N�%�� K�P
dT8׶(�!+�Ha��;�|ȳuVlx)

 QHR�q3�)n.��?��a�k���&y��&��m��&j��<Ka�Z
�걄qV�R(�vT;��!Y��M�嘹	��>i#�LiB�yL���>�/M�7�T�:;��{R;}��i�
�BܪzF?��_�
(
%S_(�
r��.#�0
�� 7	*p	�H@�0ud����C9���j,u��I��/�Cn/�>��"�F�B�ճܙj�p���=)����0z�E�v�[��M�_��^o)y����u�<�E�_�pI=�kġ�6��	gH��'yA���t�1�H
�� N�Aq�!j(��g���Hk=����
�[O1�	����$ȋ)%�4ț�u�������\z��� �}pqu�y�8k鳆q�aT;2��؇z6*�I�:�����c��FȐ�E|�O�����vjY� |W�.�>�LA��'v�=�˰�biR��"������
a�rT�D�1_"�0�\yG49@|aA|��)?�7p�I�(�	��MYϑ=���w�?�
O�o�	�D�
�3
�o��} [...]
-O��*�TD��|d�t��q
�@�LDZDZu]{8[��.Г�"K��-�'̀Z~��&sA�	W���+.��`����ն�
t��]�/�
��oi�V���H���� ��e��VΊ�����M�*��|�' 73��|�Q*�1��`�;���
�җ{8�h�� ��m㉆~� .!���u!e}	T�"��b�U�јG��wa���>C��������+C��W���]��A��,c
-�7����}b�š�-g~��
��
��S�
L�����
ao�+7���ķl���]U�I.q�IV�@�u����a�`H�zx����.Φ����st�B�3�,�=
����)䯺�m�SB�Ebo��2��۾^�3
2�n�.�ۡ��v��1��0"��|�'�+���a[�Ϋ�*6

�Co���i:4
UaE�o���?g���uv�-��jG|͚wu}���~||D�#:١BY}
n�
��
�sO9n��t�,ϴ�0#�ӥ
�}�`$+���Qb at 6�ʿY��endstream
+x��Xko�6��_!`�&ÇHQ�V`Iڡ]Y�+��Pl9&K�$7ɿߥH�e�ɶ��LJ�%g�\;7v~���&'�sB
+*���	��8%�l�\�� &�
���S�ݨ�D��)�n�ޯ�e�_&�ETܟ����o��nQ%y6�4{q򌐎mJ8�$��k�?�!��	FԷ.��S�r�^�k� I��'�:O����fӐ��f�FU����Wq1%ҍ�<bؗ.
�E'Og�?&�`����
+w���'�,��
#J�
�q|��?u�M~�࣑�
a��HsD!&ܕ���2D,�6�7���qm�5B�tߏX
4ã�5e3�a,�>�R��3��S�
�H�|I��sn
�L=��G��"��Ju�{v1���c�!4 �G����Ǣ�r�W�·�}�{�@~����	�bv =/�s�y|�T�s��}�!En�[4FV�!��ۡ?�=cp��]������ͫ˗O{>�0bO2$���!#d�$�'�a��֫$K�,7@;�ۦ�"�>��
w�c� G��x�Kҥ9�������DaD��]e�ބ�
�_*Ġ|v���ZQ
��I�'�:.��Խ�+���4��&���N����WSj���([�C��\��H/�2����g��q�������߆��0
+C�@t� �v�6�E�iozk��v	�
ՉF��.�;3zY&>
+��:��L�殌��U���ZQ���yl'����۬g��@�B����C��CD9ow�X`�Tu�$�7�M�ց�
�8Jor@�z3tum�*��|�D���}N	w�
+��	m	g����
�@`����oUt�gQzXgE���P;��:Ðl���!�Q�4�fD^��6� �Vig�1RC0@��Gi
�HJyLk@i�w�Ƥ��
���`
"
� xH��*�
�x� �<
���dȾ��:(G~��蛆~G��W�aV��ٕ#��[���A�4D
M�Jj��y�Jj?�*���n˨҈5dw��� N��
'8�L�Ә��F�-�4��$�~W���W��>�j��v����_���v$���
+u����B�c�:�SUb��/,���z��s`K��<Y��hQ�ҽՏ�!z;�6�/c��І�Gk{�?3
�g2E��O-�!@Jt~����[�
�Q�=��Ť]
��
j?�+���
Q�Zl*��� a*���H$Hs:kþ5��l�nb��k�����|������p�*v�!;d�hW�<Qw#"tsHdq�8y��p
�U��cˌ�%��㘚�r�}z����x�E�;�/���4ɦ>v?Gi��G��#�cҖ��|J�{k�Z2�n(���2y��Sr ���t�m�
��Y�@k�_���SS<xJ� J
���` [�
W֏VyaY��y�^���
i:7q�`HU䛁@��4�AN���HӸ�w庯$
䜇&�)��QW
��nS�^7���I�23�GD_�B�Y�r	�
��;cTӗ��J����d r�6�={Y������W�n�R�
+�bAͮ�v.2ǎ����R9���
��D�5t�]4���P����
���*�j~Y�j��&J24r:e�7��
�r�
�
��@���̑����ë_� �y��o}�
ч*' ��_�p��
�Ki�Xӵ��]�[�y_��wS�]��WQ��e�*@>+SP7�����v�T���
���.���ڽ�
��eR���4� �a�uUmOONnooѢD�,�(�N �'���Z!�4G���&���d�pSS&�OˉA3
+endstream
 endobj
-7482 0 obj <<
+7449 0 obj <<
 /Type /Page
-/Contents 7483 0 R
-/Resources 7481 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7425 0 R
-/Annots [ 7489 0 R ]
+/Contents 7450 0 R
+/Resources 7448 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7456 0 R
+/Annots [ 7447 0 R ]
 >> endobj
-7489 0 obj <<
+7447 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7484 0 obj <<
-/D [7482 0 R /XYZ 90 757.9346 null]
->> endobj
-7436 0 obj <<
-/D [7482 0 R /XYZ 90 684.5492 null]
+7451 0 obj <<
+/D [7449 0 R /XYZ 90 757.935 null]
 >> endobj
-7485 0 obj <<
-/D [7482 0 R /XYZ 90 670.5571 null]
+7452 0 obj <<
+/D [7449 0 R /XYZ 90 733.028 null]
 >> endobj
-7437 0 obj <<
-/D [7482 0 R /XYZ 90 519.9239 null]
+7411 0 obj <<
+/D [7449 0 R /XYZ 90 580.19 null]
 >> endobj
-7486 0 obj <<
-/D [7482 0 R /XYZ 90 505.9318 null]
+7453 0 obj <<
+/D [7449 0 R /XYZ 90 565.62 null]
 >> endobj
-7487 0 obj <<
-/D [7482 0 R /XYZ 90 348.0568 null]
+7454 0 obj <<
+/D [7449 0 R /XYZ 90 402.669 null]
 >> endobj
-7462 0 obj <<
-/D [7482 0 R /XYZ 90 325.745 null]
+7412 0 obj <<
+/D [7449 0 R /XYZ 90 380.357 null]
 >> endobj
-7488 0 obj <<
-/D [7482 0 R /XYZ 90 325.745 null]
+7455 0 obj <<
+/D [7449 0 R /XYZ 90 380.357 null]
 >> endobj
-1546 0 obj <<
-/D [7482 0 R /XYZ 90 171.4146 null]
+1506 0 obj <<
+/D [7449 0 R /XYZ 90 214.462 null]
 >> endobj
 278 0 obj <<
-/D [7482 0 R /XYZ 90 162.8227 null]
+/D [7449 0 R /XYZ 90 207.862 null]
 >> endobj
-7481 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F23 2116 0 R >>
+7448 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F21 2075 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7492 0 obj <<
-/Length 2121      
+7466 0 obj <<
+/Length 1571      
 /Filter /FlateDecode
 >>
 stream
-xڵYi��F��_! �F����A ɬ$�ıg?y�-�F�R�BQ���O5���Mg'�a�G��uu
�Zd��Y�VB!ø\�O+�~��?�H�z�wm���W7��Xd$���C�A$(����݆��vG0ƛ�[�7Qq�
^o)��駣����_ɇ"*>����/��<�҇���l����yEHK=�I�(�qڿ�"
#�
�%�G�D�P��7�*�O��e���6C7�tN���'o��[�76��#f��PC���?��ՎL��W���u
�q�3Z���#b
]�V��p��ޮ~k���c�#��
�
a)X����i����ٞ>�j��W�l_&yv[
-ƈçc�%PA��^�8��Y��JE����s92֍�;��x�_�i�"����\�/��_+�
P*�'��(w�Ԓ}%������d�!���k��B��&�� ��
aP���
-��k
�������Ϧ
�;{��i�cf�R�
R��
�D�8�F�?����"#�tJW��O��l�C��p�� �d7W��Ǫ
&��6��"z��C<�/��u(�E���pqnX�DZi�� ���Ĥ������X�GL��Ww4<���%���e at K�\���
�V�]��_[�6M��
�g�&�&Z�
&�����A)����b˹�R���<@G�hu�a�}#�,E!ŵ���l	�)�f�
BK��
Q�T�B���/
-ߖ���
b��^���JC[z���Qf]	��D�&�w�����uM��}���V��
Xa���,G�?��	X��*h=,?�m�
��}�jc����"� ��癆�@f��g:��LyK65Y�s�)C
�Y�
�Y-Q�M���-E�$*Aۋ�o+�IM���<Z�+����O�PE�n�<��כ~ȋ��]RX�X�}�����%
-aA���V��c�3��B�����Km����	Л(+��A���
�q�̚k��b��5��ê2�[���� )M?�x�q�
4f0Ҝ�
�~	R
�`�qeNvy��n{���W稀�)�
�HT�\!�*
���HX	d�
-i�ww�)�lX7(G#.�C�e�h�Eu��#�H�@$1
-W��D��467���'���T��5en�ri��0��+��f�h�bx9���
�_\��N�\�0����f9[�\���|��.RE��^i��m�! &?��E%G:A�6
�%��ޞ���&���_��B��zU��|&D(�11W_y	@.p����4T�}���@CI~h��]��Ifߏ��JH}Iu��l�IpE����h� B��� �@��=v9̗\�e��zݨ"U�msj�]�尴�
-U,�K3���S��l�T=U�S�<���,�C��z=�i��b�d�!1M����
��Ԇ��Ѡ-034b������y�n �
��s���&ڛ�q�J�&`&"Z�Ug�@�ZV��I
c5�C-�0�|�4��j�v��_&��Ih��Ix�$�ƅ����
a�����r$��FZ@>wzԷ!}�K�����$V/��H�}z��Z��Bnt�4WMMp�
�p��s�jg�'�f�6�>���*���8v�I4E����i
̤M#��6���f�nH��]��c{��#�K���`zn�KXz��' P�\��'P%
���eH�9|�;������9{ѴJ$���K�t#��'[�Ъ��6��_]ϡ<
Ah������.��?F�U�*uM�rr@'>��,�wn$��
��Pt�X�[��¹(���Dy�n��i`�P�{����_���Z�7
S
�Գ���6]�:�Q
h	X�� ϺA��t��&
�mE���������K)�:)稷ui��f��+�;L���=*�d���;f����_���-N�_�߯Q��I1c�<�5|,�BjOg����d�Ј��sy�~�B��Gt��"���
�)��	�A0��v�>�8E�m`[���\���[|��ڕ?G�5���*
.
P�sU��1س�v�
-ؓ"��V9ȿ��:\��:�	�Z_��J�Z�@�[�,Ϸ77OOOhA�,9()o���
�c4��\�.������癖���`iƌS�L.<<U�� ݏ�#P� �EX�endstream
+xڵX[o�6~��0`����U�a��,ڵ��)-
E�ca���/�~��([�lgh��D���s��s����`�����d~�1G"�Q�Y�
�
�#HP�,b��%1:#c�vJ��Y���R���Z�e��#y,�����cT�OE
���u�Q�ϋ��B�S*���py#�'�����r�a1"C"„���%	���v;�Q�A����6iX)�r�V����UyKL2�Rɴ���ɗ	1�!�[��|�8�&����[#&g���
N�O��ɟ|�Ŕ!�	��m��&�Q��
A����Σ*)�m���7���Vq83J����O���cC��s�f�<�D�C��Sq�\�;�k>a��CҬ&>u���&���ԙ�$�F�k�
+�2�D`JU�e���J=a�̊�Ir��֪�&;���n�v�Φ,���R;@����忏ɏ����5�Y��
��45O��n�f����n��9��A�z��➴p��6�������-�
+қ�aR�"��h#
0�
����!Ғ۵��$Uqd���dc- �3���
�,�
����9����z٨<�4�@�^�$c�.ӑ��H�o:A��1�#2LȈ����i
{Hpy��%�vGk�?n
+D�� s�3AR��E�<�a�NZn��4�֐yNbծTke]���E�UQ6_'�~�5<a��"
�
ٜ >�84��K83�5��wa��j�mR
����O�
üJLq�-Z��
'nf(�H���x���w<�h�o��Bxۄ%d[dc")|�|bʻ��$�����8�H`ُ�h���*/F���;�H�A ED�pM[\�U�6�ETg*��!�EON�g@�)�.�^
�ާ��%�g��\�
�>��+�g�/&]���+b#�5蟙 R��� �c X�.�wL���-�#dJP@�R\�L��6M7����k��q97���)>��1��y�;@s�nt
��L�KI;d��H[$�ݦ�$O�\}
�z
����3��q���B�}v��b;�����Ѓ���#λ�
�x�\��׎�t�2�
+�%Oy��D0
��O7�s��a�]����I��e�aX�E6��"M�)�.ɟl
+b���>7w-�@�rة�v�I�z�e�A%m"o�0�A|��
�wp	���Hws��P�߱�
Ǡ
� �*�`��3�Aga�'��kb�Hhƻ�� ��z�_,$�;��V��$�
�.ɣ��Ǫ� n���y�T�8�u�
+<�
+�8a��x8g.�>w��|�l�&��Z�ZY�g'�����
��(.���c�U���2Ue���6�
8�"�To,�wk���ڼ~�o
�y��1S'i�y�
�����������wu)U�#�T*�Uܔ�c��]����"+4%=�?@�Em�uUf'O�/u�&Ub;�Xi�a��F�|����x`9	^��N�Dڃ�b~�0�����
=
�WK���^���V�?�ܚ�>�k�>���Z�ݮZaLJ6�"L ������٘��c��M��+M1��Adz��\���E[T�ɦDI5
���^
+��7�]	͊�(簘5e�¿*3>
+endstream
 endobj
-7491 0 obj <<
+7465 0 obj <<
 /Type /Page
-/Contents 7492 0 R
-/Resources 7490 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7425 0 R
-/Annots [ 7496 0 R 7497 0 R 7499 0 R 7502 0 R 7508 0 R 7510 0 R 7511 0 R 7512 0 R ]
+/Contents 7466 0 R
+/Resources 7464 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7456 0 R
+/Annots [ 7445 0 R 7446 0 R 7457 0 R 7458 0 R 7459 0 R 7460 0 R 7461 0 R 7463 0 R ]
 >> endobj
-7496 0 obj <<
+7445 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.6209 174.0145 708.1512]
+/Rect [113.91 697.621 174.015 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_77067a656a3aa9381a93a23dfba036e4) >>
 >> endobj
-7497 0 obj <<
+7446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 658.393 197.875 669.2969]
+/Rect [133.915 658.393 197.875 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_f38e352895f910cc9556dc7ac0d8f39d) >>
 >> endobj
-7499 0 obj <<
+7457 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 619.9123 181.7633 630.4426]
+/Rect [113.91 619.912 181.763 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1No__Reduction_5a0edbc51074f6e9e1a908fa292abe13) >>
 >> endobj
-7502 0 obj <<
+7458 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.4176 483.1634 391.8387 494.0673]
+/Rect [280.418 483.163 391.839 494.067]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-7508 0 obj <<
+7459 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.8565 179.2736 243.4733 190.1776]
+/Rect [154.857 179.274 243.473 190.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_96bae54a01fe00bad4306bec61bb4687) >>
 >> endobj
-7510 0 obj <<
+7460 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2787 140.4193 155.4642 151.3233]
+/Rect [146.279 140.419 155.464 151.323]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-7511 0 obj <<
+7461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.9624 140.4193 221.8944 151.3233]
+/Rect [155.962 140.419 221.894 151.323]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_891529f721ff485fe2ec90ac48952cc6) >>
 >> endobj
-7512 0 obj <<
+7463 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7493 0 obj <<
-/D [7491 0 R /XYZ 90 757.9346 null]
+7467 0 obj <<
+/D [7465 0 R /XYZ 90 757.935 null]
 >> endobj
-7494 0 obj <<
-/D [7491 0 R /XYZ 90 716.2211 null]
+7468 0 obj <<
+/D [7465 0 R /XYZ 90 716.221 null]
 >> endobj
-7495 0 obj <<
-/D [7491 0 R /XYZ 90 716.2211 null]
+7469 0 obj <<
+/D [7465 0 R /XYZ 90 716.221 null]
 >> endobj
-7498 0 obj <<
-/D [7491 0 R /XYZ 90 638.632 null]
+7470 0 obj <<
+/D [7465 0 R /XYZ 90 638.632 null]
 >> endobj
-7500 0 obj <<
-/D [7491 0 R /XYZ 90 582.2186 null]
+7471 0 obj <<
+/D [7465 0 R /XYZ 90 582.219 null]
 >> endobj
-7501 0 obj <<
-/D [7491 0 R /XYZ 90 521.1757 null]
+7472 0 obj <<
+/D [7465 0 R /XYZ 90 521.176 null]
 >> endobj
-7503 0 obj <<
-/D [7491 0 R /XYZ 90 459.6915 null]
+7473 0 obj <<
+/D [7465 0 R /XYZ 90 459.691 null]
 >> endobj
-7504 0 obj <<
-/D [7491 0 R /XYZ 90 435.3224 null]
+7474 0 obj <<
+/D [7465 0 R /XYZ 90 435.322 null]
 >> endobj
-7505 0 obj <<
-/D [7491 0 R /XYZ 90 435.3224 null]
+7475 0 obj <<
+/D [7465 0 R /XYZ 90 435.322 null]
 >> endobj
-496 0 obj <<
-/D [7491 0 R /XYZ 90 317.2678 null]
+479 0 obj <<
+/D [7465 0 R /XYZ 90 317.268 null]
 >> endobj
 282 0 obj <<
-/D [7491 0 R /XYZ 90 310.6676 null]
+/D [7465 0 R /XYZ 90 310.668 null]
 >> endobj
-7506 0 obj <<
-/D [7491 0 R /XYZ 90 196.3446 null]
+7476 0 obj <<
+/D [7465 0 R /XYZ 90 196.345 null]
 >> endobj
-7507 0 obj <<
-/D [7491 0 R /XYZ 90 196.3446 null]
+7477 0 obj <<
+/D [7465 0 R /XYZ 90 196.345 null]
 >> endobj
-7509 0 obj <<
-/D [7491 0 R /XYZ 90 159.5127 null]
+7478 0 obj <<
+/D [7465 0 R /XYZ 90 159.513 null]
 >> endobj
-7490 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R /F67 366 0 R /F97 1822 0 R /F23 2116 0 R >>
+7464 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F65 376 0 R /F95 1779 0 R /F21 2075 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7515 0 obj <<
-/Length 3257      
+7513 0 obj <<
+/Length 1841      
 /Filter /FlateDecode
 >>
 stream
-xڽ\ms�6��_�O>{�B�0��L_�Nzi��ݻ�

#�6�z;������ 
-I���L'�#�v,�<� ��s
����+�P¸<_����
����o����o���ًo�8OP"�<���=H�%��f��%!����_��"�2-����ŗ���}�,����]��/_���һ�&]ͯ��]v����/�%�sOi��T��7&
#�n-n�$�0���ߣ.�^�ey5����^f��*��敟�۬�"�2�,�%�0qIj����i3g+�$&o�=��|���K�8��`D�����8e�/����~�7�
͏ l�Q���
����U�h�C�~���v�YT�vS
c�9��k�3�!�I�D�i~�c��N�8�E0|��`��*�p�`)�q��k1_�b3�&D
�6ow��g������5(�r����~����i�U$�*]3�����


H3�
���?
-Iϥ��� 
-"a��j��)Gجܙ��������X%��@�w�W��a���U�� �Z&��e�|�r�Ec�	 0h��K7��/��~�����b�2�5?�lS���{�[�'�x���.���|
I��Mu���(('I�5B�s�8*O�榀PX�x��D\ʄDܚE�;
08�1�7��n�	
�������pZG�;ws
������,]7�����j.�����j�G����CX=��$%���YO���8tfi
M�3ҙR��ctvfq:{Ct�m��Ǎӹ{
-��(z~
�]�o�t
)�Ud��*XHD����	�~&	�'���b�3�{F��r�:�H�
-!dP��
)C�(Q��~_曻g�T���V�]V�նp#�>z蝙v�>�|  �j�D��"Q�'��z�a:(ַfQ�����u���}�ݮ������o�cz~|�M�ʣ��P���wV���P)aGyw<(�cKH&F@�)��}�ߚ�o G�hKry[\qq�]�!©�nE�_����ܒ�Wn03�J-�]�a�_d��w��)c0�!�ݜ�.��>����n/���ꁤ�
+� tP�9��"t��YkA��f����n�M��lX��$���>c�B�@�A+Lu��m��%h���J�#�p���r �2`m}(��hq
0�m(U���,o��φơ��9�MW���6v��V�Y�%��
-1��s�=X�����;���{�#��k�
�qMvjC�V�:[o��y��/�W�͑`i�AC`M��¢K�Ɋ M��F�:��j[���śo��
���.�
-i!i� �0xơm�N���6'&5�����gf :^7۾���� ���0��o�ݩ5�t������7��.��@���&��k���k�+@�����0���U�����y���|h�Y��d҇a:3f��UY��3�a���I�5
-�a�
�1ѝ����GN�5z.�wV��p���Mj�'ݙ���N4u-�'�;�NK��<'߅lN
#�wfq�{[�Hܖ�~�|S1:�/G��rz���>��׀�O���b��	T[��d�Ył�4��Q�@NNP
:����=�Y��i��ٻ�j~7�s𗖏��#���D�g.��o
�Z~��q�`RAp)4�z��.�a	��c�z��+P�,
����'�f!�E�-����uY�w�5lv�
���N�ƪ�7��T?!6
��g-�fv0b�9W�ݻ5��"P�8�a��/���F
��K�^A"&eL��	Ʀ�"�	���k�
F�8Џ8:��:����^�L�|�쑨��
wk�̀BX�N��~=o�_��zg�frZZ� �c��7uv�m̉m6��
w�ј{�<��&&-;(�Z�����|���_����ׯ��̩2��1�	���?��6
�L&�;B�ǀ�s����� �j���N�m����͍转�o퍏l��ls���HV�E�N]�U�҅}�]h<P��B��'�Y��O��Jb�y�Rɘ�9���yO�08��|l�E. ӗ� �?��j7= u��
�6����
<k
q�uB��C�{�pZ�s�x����zZ�84XO�@k���4
�ݪ�z��㼹��S_����<8�
-�(����b�A�ŗ?�:�f+��Of� P"Ds��~x���^��VJs�ӓ���"��֪^U��9u���v�8[
��+hi/�e�BH9#�.kv��
-���,*k�Á
�C7W�DA��)V'l�I�]=t{�9?<Bm,:
%,L鞠��f��m��e�!7�A�
���Zx
-�OM���D[���bT�C�)Ʀ
�~�qi6O�$g���Z�
��0z�Łm�ѷ6�����<u�?C�P�6��
\6{T)d�p�����}�P�����:��c��U_�`
HskD�j��`�ⓧ(>0�������֬��e��}ZA�ld���
ҦBX�}��W�
�K�9� �#%�u�ǡ�)��D��p�i�A�	:���=�vέY��xO�#�,��&
s �/�a����G��g�$,������}��Ӧ4�T����s�1��H8�U�yJ�)9Z*�2,����:@�GH���V���;.G{�&���r�3�LW亊 `�H�б'0U���k@� C͞]`#�4�<"
-�YT|���B�5�`�*
-!��(D8Q�'*
-��D!
��׊�]�7_^����鉂���0�.�낸X܅U�hh,�)�p�Pk�4=H�j`�[���(��"Ͽy$#,Xl�ؚ�I�9<��ap��>��$��I
F���8�;���8������9��#
6�&�Ux�f�U����T�����j���Bb�G����#���&kj{}$�/��yPL�uɻ��.���0��f��K,+*c=���
���ɺD�d�6Y�1��
-O���v�I��1�FVF7r�ܚG0
{���a�Z
[Ӟp�

~kmj>���G���
�
���\�
�5�D?�:�����'<�Z�0�����LG��|a�J|!uf(�;���77C"I9���
��DR'�{�p0���"�==X����ds�惿��|O�^3�TTi���N�H��������.6�ڶ�������M���eV��\��3�C�ٻ۴F��WYQ��U ���d��_g�S[E�
r��NP����x��>0�>�܅Q�h{~��YU�{�����Z�h��wʫ���EOO�@�CM��:.�Ψ���y���	�����=_o��v"�؜����P���endstream
+x��Y�r�6}�W�ɕf"$=If��8Mb7V�f���� ��R���~}(�EɎ/}HD��b����������z�G��c�,y�
+k4�<l9� N�5�X��� �
�c�?�����
(�'��\N2�6���lupp�,����|�r�u�f���k�)��L^Z��4< Q�0j��!�x5��6
�
?�C�1�h_F��/���ANe6 n_��b
�}���f�h���G�
�H� &���ؚ��7F�s��rTdٔ���:���Ý!�
a���gˋEh����<*���qP�I���T���9��V�l�ZCJ��E��P��X��
�,Q
'�ZW63
�P�R��y���2Jo�PO�`���.�]�V��P�7��qG¦֐���L��W�@S$G~�%f#Wx�y198d��
�
���~�m�:?<9їـ9}��\ƅ���%Sm���\d���_0f-��H`�S�ü�3
+�DֆPk�6@;��"`��(�(�aN�"�~���?�-�t���I�vv ��
g�z���#�i���#o�)��}Ĕ!hF�Am��%�K�2�Y�5 Q8�	�Tf~�kP�y���i��y˄*V��[f>��=��N7!.�d�K�/ҙ�aK�ߑoa.�������$j� C�f���P�Hw�X�����
��u�ƉT;1Yr��\�:b��B�(��D~�gR
��B%��~<Ѯ�5Wȣ�=t�!٘ y�5A
���z�_����(�S,�8o��q��o�-���
��6�2d�O��gm�pA���:�y�exv���\fW!�$��Y�1r
ޝE�
Py�(�V�<�W���V��o�V��5���b�Z���
+I��\jO
*�}�^�ݪ�b�E�y�4,��|����m�}j��9t�mZ��.9���Y�?���@G~���L�׉7q!�]񴒉2�\�w�L S
�Mr���q�L�c��F�a1X�QM31 at M���͹#
9��66�C����������P*[���gF��y8�#h�������`Ćv���Ν/室r<~�|o9�h`.l�}#g���"rP?�
m����h�
����63�Q[��U=��X�N9>ZH��iخ���
7��Ɠߟ�y���hW��$Cy���z.&3M�X��:"��bȘ��	��)
��*L�� bҪ���g���2�UN�w���L���)�b
+�9;����:��B�D�B7��X��qU���1�ū���C5�A	���wgo��>}����J7�U��t5
�
@	��|�4Y���<�,��X��� �,c����Q��w�l�aI ^w.���:~l1h�~����
H�\�c�2��
���y��N
�t� �`����H����rڪ�L�q~����j x����+v"�Z�F΃����埤}[�;��.awy)U-4�k�^�:I���l4��Q��S�/C�Uۑb�
���q�U�Jma���
+l|��!w�l��;l ��VՑ֧7����Ѵt]S\��s�&d���>�	ڤ�
~�=
�(��o)����
v�q ;Q��
�ۢ�wbf
��
=B��b/ɺ�Hq���/��N����~{�8H���٦$w��O�@����Ը3��|���tޥ��k��������5��h��x��6jP�z����7?�
+�B�]�ϖ�e�[�
�Y�]�{�s�uT�묤|�:T�n�4�����:c5�{����N��R��Y����I�I�Z�h�\V����fUW��ʘ�NS���m^������
+r��4Ca�����vm� ���V[�(���IpSk�&( ���Ѥ
+endstream
 endobj
-7514 0 obj <<
+7512 0 obj <<
 /Type /Page
-/Contents 7515 0 R
-/Resources 7513 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7553 0 R
-/Annots [ 7519 0 R 7521 0 R 7523 0 R 7525 0 R 7526 0 R 7528 0 R 7529 0 R 7531 0 R 7532 0 R 7533 0 R 7534 0 R 7535 0 R 7536 0 R 7537 0 R 7538 0 R 7539 0 R 7540 0 R 7541 0 R 7542 0 R 7543 0 R 7544 0 R 7545 0 R 7546 0 R 7547 0 R 7548 0 R 7549 0 R 7550 0 R 7551 0 R 7552 0 R ]
+/Contents 7513 0 R
+/Resources 7511 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7456 0 R
+/Annots [ 7462 0 R 7479 0 R 7480 0 R 7481 0 R 7482 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 7496 0 R 7497 0 R 7498 0 R 7499 0 R 7500 0 R 7501 0 R 7502 0 R 7503 0 R 7504 0 R 7505 0 R 7510 0 R ]
 >> endobj
-7519 0 obj <<
+7462 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 697.2883 181.845 708.1922]
+/Rect [133.915 697.288 181.845 708.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_3b9f6fbac96e03a00d061a2cd2ca2baf) >>
 >> endobj
-7521 0 obj <<
+7479 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 658.516 181.845 669.4199]
+/Rect [133.915 658.516 181.845 669.42]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_7dcb9b448c8c0171e18f29551077d133) >>
 >> endobj
-7523 0 obj <<
+7480 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 619.7437 154.727 630.6476]
+/Rect [133.915 619.744 154.727 630.648]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_04704288741dbaf6f50e8fc09c43f737) >>
 >> endobj
-7525 0 obj <<
+7481 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 581.345 176.5049 591.8753]
+/Rect [134.114 581.345 176.505 591.875]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_afdd0083c1c10d49e06f4718a826ae1b) >>
 >> endobj
-7526 0 obj <<
+7482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 566.3917 450.9552 576.2969]
+/Rect [328.408 566.392 450.955 576.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_7dcb9b448c8c0171e18f29551077d133) >>
 >> endobj
-7528 0 obj <<
+7483 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 531.2402 191.7178 542.1441]
+/Rect [113.91 531.24 191.718 542.144]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-7529 0 obj <<
+7484 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 531.2402 288.8524 542.1441]
+/Rect [192.216 531.24 288.852 542.144]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1091bf4d0e8ce7672f907cf5e7921120) >>
 >> endobj
-7531 0 obj <<
+7485 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 492.4679 191.7178 503.3718]
+/Rect [113.91 492.468 191.718 503.372]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-7532 0 obj <<
+7486 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 492.4679 303.0791 503.3718]
+/Rect [192.216 492.468 303.079 503.372]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f9503f2a0fd1535ce7cb9465908006dc) >>
 >> endobj
-7533 0 obj <<
+7487 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.6348 454.0692 188.6794 464.5995]
+/Rect [144.635 454.069 188.679 464.6]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_6f9c769f48ed91cd71bec247b7733430) >>
 >> endobj
-7534 0 obj <<
+7488 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 378.6569 197.3631 389.5609]
+/Rect [125.095 378.657 197.363 389.561]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_b38e5d3ce8cc120ce4b534bc43d90d34) >>
 >> endobj
-7535 0 obj <<
+7489 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.0625 378.6569 290.7056 389.5609]
+/Rect [225.062 378.657 290.706 389.561]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7536 0 obj <<
+7490 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.6073 378.6569 513.9963 389.5609]
+/Rect [428.607 378.657 513.996 389.561]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-7537 0 obj <<
+7491 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 331.9145 197.3631 342.8185]
+/Rect [125.095 331.915 197.363 342.818]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a8906c6b7e5b785bd457641007d1359) >>
 >> endobj
-7538 0 obj <<
+7492 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.1977 331.9145 312.4661 342.8185]
+/Rect [240.198 331.915 312.466 342.818]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7539 0 obj <<
+7493 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.1122 331.9145 423.5783 342.8185]
+/Rect [348.112 331.915 423.578 342.818]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7540 0 obj <<
+7494 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 273.217 197.3631 284.1209]
+/Rect [125.095 273.217 197.363 284.121]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_c5f6c7896e64b8750e2cd9729c19d66e) >>
 >> endobj
-7541 0 obj <<
+7495 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.4681 273.217 300.7365 284.1209]
+/Rect [228.468 273.217 300.736 284.121]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7542 0 obj <<
+7496 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.977 273.217 429.4431 284.1209]
+/Rect [353.977 273.217 429.443 284.121]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7543 0 obj <<
+7497 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 226.4746 197.3631 237.3785]
+/Rect [125.095 226.475 197.363 237.379]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_e37107ec8d1402bb69ac6462d7f4646d) >>
 >> endobj
-7544 0 obj <<
+7498 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7003 226.4746 302.5274 237.3785]
+/Rect [224.7 226.475 302.527 237.379]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7545 0 obj <<
+7499 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 191.6873 197.3631 202.5913]
+/Rect [125.095 191.687 197.363 202.591]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_5e74729a5f7cabef57fb795cc728869c) >>
 >> endobj
-7546 0 obj <<
+7500 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7003 191.6873 309.1529 202.5913]
+/Rect [224.7 191.687 309.153 202.591]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-7547 0 obj <<
+7501 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 156.9001 197.3631 167.804]
+/Rect [125.095 156.9 197.363 167.804]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_8a329c1ea10527cde394abab15b67356) >>
 >> endobj
-7548 0 obj <<
+7502 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7003 156.9001 300.8439 167.804]
+/Rect [224.7 156.9 300.844 167.804]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-7549 0 obj <<
+7503 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 122.1128 197.3631 133.0168]
+/Rect [125.095 122.113 197.363 133.017]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_46797ad634dc267c1264aa046c69f9f8) >>
 >> endobj
-7550 0 obj <<
+7504 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.5718 122.1128 295.5018 133.0168]
+/Rect [247.572 122.113 295.502 133.017]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-7551 0 obj <<
+7505 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.4251 122.1128 419.8912 133.0168]
+/Rect [344.425 122.113 419.891 133.017]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7552 0 obj <<
+7510 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
+7514 0 obj <<
+/D [7512 0 R /XYZ 90 757.935 null]
+>> endobj
+7515 0 obj <<
+/D [7512 0 R /XYZ 90 716.221 null]
+>> endobj
 7516 0 obj <<
-/D [7514 0 R /XYZ 90 757.9346 null]
+/D [7512 0 R /XYZ 90 716.221 null]
 >> endobj
 7517 0 obj <<
-/D [7514 0 R /XYZ 90 716.2211 null]
+/D [7512 0 R /XYZ 90 677.568 null]
 >> endobj
 7518 0 obj <<
-/D [7514 0 R /XYZ 90 716.2211 null]
->> endobj
-7520 0 obj <<
-/D [7514 0 R /XYZ 90 677.5683 null]
->> endobj
-7522 0 obj <<
-/D [7514 0 R /XYZ 90 638.796 null]
+/D [7512 0 R /XYZ 90 638.796 null]
 >> endobj
-7524 0 obj <<
-/D [7514 0 R /XYZ 90 600.0237 null]
+7519 0 obj <<
+/D [7512 0 R /XYZ 90 600.024 null]
 >> endobj
-7527 0 obj <<
-/D [7514 0 R /XYZ 90 550.2925 null]
+7520 0 obj <<
+/D [7512 0 R /XYZ 90 550.293 null]
 >> endobj
-7530 0 obj <<
-/D [7514 0 R /XYZ 90 511.5202 null]
+7521 0 obj <<
+/D [7512 0 R /XYZ 90 511.52 null]
 >> endobj
-7513 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F100 2135 0 R /F37 2043 0 R >>
+7511 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F98 2117 0 R /F35 2013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7564 0 obj <<
-/Length 3493      
+7570 0 obj <<
+/Length 1830      
 /Filter /FlateDecode
 >>
 stream
-x��\ko7��_�OY���m�m�}��&.�E[�<�gW�J�8�_��3C�������|�#
�{x�{x��	�db�D	�
�r2_���
���	i?��������˯��d$����ڂ$HPB'�W����:����3�Og�����ŧ���mq��]�P^ngۇO?�i^�n֫�����lS��~��˯		�Sj���
k�o
$b at 0���q>`� „j�gM|���vgS*0X3�Xn��h�y[\�3�O��
�b��Sj�5z�չ�\X�$�q�������
-��	F�h1���`D����	���gq����N�A�����X#M��LGZ�ׇPsD�З�!,�})h���TO<̆�7JE�y�D�Q��`߯C
��Q�0��R��!��ʅ��.�<U�s-�1Y�Hh��P=l��l�v෫�ؾ?��t��-
�p��
o��8'��loZ��(
|�ߵj}$G��HĤ4
*�.p�
��u(����W�����ƕ
����ٵ4�X�qC%�z�껍U�g��ȩ��*�G���s��ٵ�5bb˜�L�
*�|��U��?�i�S�
�������']bLPD-fd�<>���Z�נ������#NRB�t�<*Ã3
-�KX�c
����?�r1�<�}X"�0�L$�����������@��!q�����0.� �	C�k
�=.
-iڨ���DCs$o:f>�飫:����U;�V��O���]��q��
hCЁ��07��m����ߠY�iF3�e��`�/GF�H�c�
�q;�hs@���bB(�	��9 RF�@�8߯���ѷki|�-�z
8��R��{T�/�MY�}q�{2G��
�v��q��
+s�k�0��£2<L���N,dn���	Vcq��6RJ�`9%�ng���6�����*�]$l���na�#�_��B��\����es�t�
��W����
0�WT�ui�#$��>��u�RGT�+u���֡^1�D�.`	���8x|�F�n�s��C@�FBh��G�}�%{�Z<���k��?�@Y+hw� a����`�m����gbܷ{H��5dK2�
���
߈�3��P����L���t�a��⺙"����ū�uWx���Bh�43��g
-� �vf�ha#�x<�	j���~e���U��@Y3
\

Qx��2l�h��~Am��=���zSlg�z�Y���i�0�n�G�|
�8f�3.�N)J!ʩ
�����
1�Q(+���
���'
i�
-ae�Q��H)����ݷmq@y�Z+�<��mjqj��!�	��=�N�PA=�����{��1k��U �Hb�����5��'��Dbӂf��;Į�s�0`Ŋq���i�e�ث�+׫i��SЬ*/�i�^J�0��
�б"L�@��3�EEN�
,/�D�����5t��>�鯮	�`a:��k���H��Z����h�c!aU.!	�p��oi�X'�mFD^E Ebt�
>�gw���
B��2!�
ʡ��3r�Fav ��D�6R��`�ֻ��f7$WP�a�S��}Yݶ�	}bG$�ːe
�-�	����- ����TM�#����j.��
����4o��(��e�74xl��#Gŀ<��0�+R�T�1b�C�L6e�Q�RX�I

�M���L�,��
m$$��,�WŮ���ˠ�A�����V��n#�)�ݷl� R��X0Cl
�&��t����
f[��X^B�W���w�y���q�Z7�?��7^����k�;����)G�
�*�� ��E��b�����&�r1������L�Xj�YR�
�y�
-�`���E<w�ټ��l�����g�ѣ2�d�qn:���
W�k���#��&�1��HI��Y�o��n��*�).>��/j1i�}l��?��|�ޕ����h(�S��ְ���b_H(��J<�tˠe�C��Nq˦xh��ϐka��)�byp�gh:\�svmo��H��d�CT%#I�S��0��.���������1�
�Hd����^'�1�a{9НHၔ��򓦕��`�����/J�V���z�k�J G��rW�5JKj{��iWҺ[e�^j�+��L������v�vŵK
2
�t�
"S���11�b6��N3���}De�$�
��WfX�1�;p��.?�;Z��̜*ľ���������î*����L�
)�vĉ���B�s�s7�[/�9[��ԃ2����,�Cd�٫�T%Á��
;���k�tiTm5��7��h6�Q�R��Ƃ`(�$[�u*�|*�P���OeRWֹkm
�O����ٜ&��9�v@>'�
��I��
R]��rY����H%��h.�t�
�#b�?��9 [...]
m�����W��{ś ��{^�Z�x7��" �a��"��IvW t|�
~�Iͨ�rl�o`�g�F�u��M<۷B7u�l���>e
-I�U

$	�3W ����3W˪Xh0q�%�����z����9�M�t��9=�m�QA����91H�H�4ޡr�5��
�}�}��AbcƆ��34�vǜWC	�a�Q9
-	a s"
-/
�j.��9�1��H(�C�6�#��7�+����{ToՖY���!��͕}���/�#��*
-���
5{{K�m�
{͚�4O 7�+�
*�x��R��t��.𙖻���Kz�Z���m9��D&DD�"��{P�%0$�Rq��*
�ωI=2
-
��е:���=7��O������,^X�� ��w3�q�eh#�v���;7�}����0H)��@����Y
-Ìd������S����0t�V���	L��m�o/��ݿ�v��z�^j����d<*áVA���Oʠ�fl(<>G�gw���9���
�Z
!/b
-���-#r�Cˡ��:؟V
��:���49��C���lm��g�
*+���c����ZTH����/׫���bV
])�VK#D���9���9�
�ܶ�.�����zf�
�
��.)�Xv�o��Jrab��#��]��!j���OG�d�=(�1{�
����yFC
�HK�A���٤�G�2Z��tR#E�#
�.�QL�?M�HD�ʽ�O������]���ӵ?9�+�9�=�x=[��[���{k��>���y�~��]1��A�-�8@ͧ������9�/L�o4w�U�ڞ]��۪�|�����=���ݪ�lQY��l/���sAʤ:n�A=.Q䙖H,!�kwiv�޶=Q���e��= sT�
劜endstream
+x��Zmo�6��_�O�
�
_DR��K����%.��)
ٖm��Jr
���$R���o��C�J�����w��uca�U��8>�RH	*���Rؒ� N��X��� &[m�1n^�n����^�(n����7���[�������Ľ	wԽ�u'^�K���9!K�)UH	ϴ��EJ���
tjt(D�~ߤ�t��q�M9e�6��d�&��s�
��E����S�7�����N�k��l�,,\"	���`k ��X1�X�Ljlٔ�ud]5�j`b�
j���$	X!)CXpm�5�����l�DJb�.r�-�ܷ$w&�ض��ٶ�Ĺ�I �B�|��؄�u�x�]��;����@CG)�1�|Uu���[m �����~[����5�q��1���E�!дy_	^�9�rĄ]��fӉ�
R��U�b9�Th�F�Q/���I������Z�7��d��̮�Y�$������T��(�UN?��x���םOlRR��MR��<m9�
�P�0�ZN��h`�
��Õ�����14�.���ȿD"J��	\	r�Z�1���P�6�-�h
��b�"P���~x�~�6(�r5(�T
�
)����5P��IԲy3���Pb�p��GN�@��c�B#I�N�H
+�[�cb��d��FE��q
+!��FbYa���X��Bns��֭����:�;�ٮl���ʖDD��.[C� ��O��5�� c�
+v����/r�0z�귍�+C�A�sk����c/ȷ�Iڭ��
�!�6#�nMT��T+��b��Ƙ�^�/��H�E���c-S6�Af[�
j�@RU��k���^!�Ϲ�3�|p3�à�i"����ɀ�H�F2"1��flsȪrk8u����~��x�5��U�Y�����j�N���#b
��N����֐�Jc��iv`X��� �hA��<v^X�X
oAc����I��
�������.���>�3\���h�h!����@6����f�>��$��el]XjKSn�	���aҠ�$�;o܃��x>
�	@W[��P_߇�ƻp�繘�r]�
C6��4)ɮ{ZA�nڙm^�U������ʵ�fz��m_`�/�^2�a�R�<���y�
{��^�����$:q�j���:A��Ey٩EBq�wN�G��Ӂ����ZFU� ��F��ׄ��3m�?�CR��� �!#
E��WC@`^4�c/ݔ�MQ
��*{���q
U����:�p�΁ḭB�v64A+i|�R+r� �^�c?�cr�X?
}�E'֦�*�6)�3�4�^��:;�T�.C#Ο���c�?o�=
�f�,��+���l����o
��0D
�Xo�iz\�kZ�e ����ש;�y�Ʌ�z)4�q
+i΄޼X����	kK��[�ק�X�
bik3ܑ�W�
?dxK^�7�-�
�e�A�o� �6�O[�
Zn�zC�
�NJSO˝�V�
 wA����5�7g[n�h���#��t��!�\C�^���M�du8~�c�Rx�س����^n~aJ�6w��[���0��4�P'
*�}���@�'� U���tH�0�Ot��l�~?ͻ?	uhB�P��I�f������%��������0튇Q8�I�C�k/ǯ����9]��S2�
��J�n�Ko�&�C��䉌t7�8
N�ŐW˿�:�U��d�l�yO�9�@JBn�/��c�]y�u��h��
�gS����)�2:��_Z
:Hs.�Ӭ�4�KUy�����&�G�>^�^#\yy:j�����ld�[Mq:���M������l��1��$B~r<����=�]h!�F���0?�
������q9���?��F
+endstream
 endobj
-7563 0 obj <<
+7569 0 obj <<
 /Type /Page
-/Contents 7564 0 R
-/Resources 7562 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7553 0 R
-/Annots [ 7566 0 R 7567 0 R 7568 0 R 7569 0 R 7570 0 R 7571 0 R 7572 0 R 7573 0 R 7574 0 R 7575 0 R 7577 0 R 7578 0 R 7579 0 R 7581 0 R 7582 0 R 7584 0 R 7586 0 R 7587 0 R 7589 0 R 7590 0 R 7591 0 R 7593 0 R 7594 0 R 7596 0 R 7597 0 R 7599 0 R 7600 0 R 7602 0 R 7603 0 R 7604 0 R 7605 0 R 7606 0 R 7607 0 R 7608 0 R 7609 0 R 7610 0 R 7611 0 R 7612 0 R 7613 0 R ]
+/Contents 7570 0 R
+/Resources 7568 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7456 0 R
+/Annots [ 7506 0 R 7507 0 R 7508 0 R 7509 0 R 7530 0 R 7531 0 R 7532 0 R 7533 0 R 7534 0 R 7535 0 R 7536 0 R 7537 0 R 7538 0 R 7539 0 R 7540 0 R 7541 0 R 7542 0 R 7543 0 R 7544 0 R 7545 0 R 7546 0 R 7547 0 R 7548 0 R 7549 0 R 7550 0 R 7551 0 R 7552 0 R 7553 0 R 7554 0 R 7555 0 R 7556 0 R 7557 0 R 7558 0 R 7559 0 R 7560 0 R 7561 0 R 7562 0 R 7563 0 R 7567 0 R ]
 >> endobj
-7566 0 obj <<
+7506 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 707.9571 197.3631 718.861]
+/Rect [125.095 707.957 197.363 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_c720d2c0875eba7d87a4068876092025) >>
 >> endobj
-7567 0 obj <<
+7507 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.8515 707.9571 252.4517 718.861]
+/Rect [233.851 707.957 252.452 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-7568 0 obj <<
+7508 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.2741 707.9571 298.001 718.861]
+/Rect [265.274 707.957 298.001 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-7569 0 obj <<
+7509 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.2853 707.9571 426.7514 718.861]
+/Rect [351.285 707.957 426.751 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7570 0 obj <<
+7530 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 661.2301 197.3631 672.1341]
+/Rect [125.095 661.23 197.363 672.134]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_fa8decb7c7093c9cde1255a6c1af62d4) >>
 >> endobj
-7571 0 obj <<
+7531 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.7003 661.2301 244.9542 672.1341]
+/Rect [224.7 661.23 244.954 672.134]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-7572 0 obj <<
+7532 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.2341 661.2301 349.7002 672.1341]
+/Rect [274.234 661.23 349.7 672.134]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7573 0 obj <<
+7533 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 614.5032 197.3631 625.4071]
+/Rect [125.095 614.503 197.363 625.407]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_dc326b7c8687b685c42817f7fec425e0) >>
 >> endobj
-7574 0 obj <<
+7534 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.3942 614.5032 279.5546 625.4071]
+/Rect [234.394 614.503 279.555 625.407]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-7575 0 obj <<
+7535 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.0139 614.5032 426.48 625.4071]
+/Rect [351.014 614.503 426.48 625.407]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-7577 0 obj <<
+7536 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 567.7763 197.3631 578.6802]
+/Rect [125.095 567.776 197.363 578.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7578 0 obj <<
+7537 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.1028 567.7763 248.9093 578.6802]
+/Rect [208.103 567.776 248.909 578.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a7f222ac228554b369d460087815b87) >>
 >> endobj
-7579 0 obj <<
+7538 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.2465 567.7763 348.5149 578.6802]
+/Rect [276.246 567.776 348.515 578.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7581 0 obj <<
+7539 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 531.1094 167.4656 542.0134]
+/Rect [145.1 531.109 167.466 542.013]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_5e4f3b53b4dd4f7f57a13df638b162e4) >>
 >> endobj
-7582 0 obj <<
+7540 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 531.1094 243.5497 542.0134]
+/Rect [171.281 531.109 243.55 542.013]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7584 0 obj <<
+7541 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 494.4426 205.1119 505.3465]
+/Rect [125.095 494.443 205.112 505.347]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f1921cd40fb0920e1173cf67418c63fe) >>
 >> endobj
-7586 0 obj <<
+7542 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 421.5635 190.7379 432.4675]
+/Rect [125.095 421.564 190.738 432.467]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7587 0 obj <<
+7543 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 421.5635 261.8505 432.4675]
+/Rect [191.236 421.564 261.85 432.467]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ed38463ae788879580d6372653452603) >>
 >> endobj
-7589 0 obj <<
+7544 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 384.8967 190.7379 395.8006]
+/Rect [125.095 384.897 190.738 395.801]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7590 0 obj <<
+7545 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 384.8967 262.1594 395.8006]
+/Rect [191.236 384.897 262.159 395.801]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_8b99abb6e15eedbdb94e2466e8304c52) >>
 >> endobj
-7591 0 obj <<
+7546 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.2253 371.3697 390.0817 381.2749]
+/Rect [329.225 371.37 390.082 381.275]
 /Subtype /Link
 /A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
 >> endobj
-7593 0 obj <<
+7547 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 348.2299 202.9218 359.1338]
+/Rect [125.095 348.23 202.922 359.134]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7594 0 obj <<
+7548 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 348.2299 248.5799 359.1338]
+/Rect [203.42 348.23 248.58 359.134]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_b5dfec17f683d1cbe01cfc71d601108c) >>
 >> endobj
-7596 0 obj <<
+7549 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 311.5631 202.9218 322.467]
+/Rect [125.095 311.563 202.922 322.467]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7597 0 obj <<
+7550 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 311.5631 296.1808 322.467]
+/Rect [203.42 311.563 296.181 322.467]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f14ea5b6122685afd62a3df786512d77) >>
 >> endobj
-7599 0 obj <<
+7551 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 274.8962 209.5473 285.8002]
+/Rect [125.095 274.896 209.547 285.8]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-7600 0 obj <<
+7552 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0454 274.8962 261.8309 285.8002]
+/Rect [210.045 274.896 261.831 285.8]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f7fd07f1f8d91c830130c061da7b6c56) >>
 >> endobj
-7602 0 obj <<
+7553 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 238.2294 209.5473 249.1333]
+/Rect [125.095 238.229 209.547 249.133]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-7603 0 obj <<
+7554 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0454 238.2294 309.4317 249.1333]
+/Rect [210.045 238.229 309.432 249.133]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_b7c86f7ff6b09ff72e3ee3382b4c933b) >>
 >> endobj
-7604 0 obj <<
+7555 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 190.6037 180.4964 201.5076]
+/Rect [145.299 190.604 180.496 201.508]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_e85fbe787fa3e172ecf6a63b2847d69a) >>
 >> endobj
-7605 0 obj <<
+7556 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.8336 190.6037 280.102 201.5076]
+/Rect [207.834 190.604 280.102 201.508]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7606 0 obj <<
+7557 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 155.8319 213.1533 166.7358]
+/Rect [145.299 155.832 213.153 166.736]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f2c70f89a472f7fa34ba64817693776a) >>
 >> endobj
-7607 0 obj <<
+7558 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.4905 155.8319 312.7589 166.7358]
+/Rect [240.49 155.832 312.759 166.736]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7608 0 obj <<
+7559 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 121.0601 213.1634 131.964]
+/Rect [145.299 121.06 213.163 131.964]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0d1677ef76c939ca2025722d2ee249e2) >>
 >> endobj
-7609 0 obj <<
+7560 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.5006 121.0601 312.769 131.964]
+/Rect [240.501 121.06 312.769 131.964]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7610 0 obj <<
+7561 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 205.6917 97.1923]
+/Rect [125.095 86.288 205.692 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-7611 0 obj <<
+7562 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 86.2883 261.3124 97.1923]
+/Rect [206.19 86.288 261.312 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_81c8a26a02090eb4fb9255dd814514a8) >>
 >> endobj
-7612 0 obj <<
+7563 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 86.2883 332.1558 97.1923]
+/Rect [288.65 86.288 332.156 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-7613 0 obj <<
+7567 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7565 0 obj <<
-/D [7563 0 R /XYZ 90 757.9346 null]
+7571 0 obj <<
+/D [7569 0 R /XYZ 90 757.935 null]
 >> endobj
-7576 0 obj <<
-/D [7563 0 R /XYZ 90 584.8283 null]
+7572 0 obj <<
+/D [7569 0 R /XYZ 90 584.828 null]
 >> endobj
-7580 0 obj <<
-/D [7563 0 R /XYZ 90 548.1615 null]
+7573 0 obj <<
+/D [7569 0 R /XYZ 90 548.162 null]
 >> endobj
-7583 0 obj <<
-/D [7563 0 R /XYZ 90 511.4947 null]
+7574 0 obj <<
+/D [7569 0 R /XYZ 90 511.495 null]
 >> endobj
-7585 0 obj <<
-/D [7563 0 R /XYZ 90 436.5932 null]
+7575 0 obj <<
+/D [7569 0 R /XYZ 90 436.593 null]
 >> endobj
-7588 0 obj <<
-/D [7563 0 R /XYZ 90 401.9488 null]
+7576 0 obj <<
+/D [7569 0 R /XYZ 90 401.949 null]
 >> endobj
-7592 0 obj <<
-/D [7563 0 R /XYZ 90 365.2819 null]
+7577 0 obj <<
+/D [7569 0 R /XYZ 90 365.282 null]
 >> endobj
-7595 0 obj <<
-/D [7563 0 R /XYZ 90 328.6151 null]
+7578 0 obj <<
+/D [7569 0 R /XYZ 90 328.615 null]
 >> endobj
-7598 0 obj <<
-/D [7563 0 R /XYZ 90 291.9483 null]
+7579 0 obj <<
+/D [7569 0 R /XYZ 90 291.948 null]
 >> endobj
-7601 0 obj <<
-/D [7563 0 R /XYZ 90 255.2814 null]
+7580 0 obj <<
+/D [7569 0 R /XYZ 90 255.281 null]
 >> endobj
-7562 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F25 344 0 R /F99 2213 0 R >>
+7568 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F23 340 0 R /F97 2177 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7623 0 obj <<
-/Length 3438      
+7625 0 obj <<
+/Length 1634      
 /Filter /FlateDecode
 >>
 stream
-x��\]s�}����V������t��L��4�lwݾ�
-Ӷ���J�:�_�
��@R¥�U�lv�`J������ $�F���ёQ�8!�h�pAGw������~�L
�zu���F�8�����Q�����Ocƈ0�KF)
��0:.���̈́��j�ᾼY�����b���/�m��ղXL�������^�X�sG�6
�x��MZ%\8�X\�q��4A]|�(6��%W�9>.
Ŷ��y[ޖ�	��r9���j̝�N/����k��f>o����g:��wA�pV���%�9>z��\���w�~�����p�n�

Ib5��NJ	���p����p����P�dlh#Gr�e�#	IҒ������r��^6���7IZO�����*�v�Z�̗w���r�\�˦�(K�
�+U���T4
f+I45�E���Mm�
0���1*�7
�3����T�b���	�
�V�=!�u
H�0Έ��
�Aʎo
��Dg��(4��߀Tf���p�Ul@��N�
ќ�Q4�̹��
-�:�ƕ�Y&n������m��kB
C�5f-lo�1�_��ӷM_��p��)�ʉtT�@95�Y�"�v-����y�����P�L�,��h�МX���H�zt/��@����1=�w��w맊;8�0��|S]#$��\�ڎ�jvY`Iu�Hm�e,�?�.S��f��LZ��p�u�*���3��,�1Drsn��Z��C�2��\�:<�+p�Y
[ŕߖWZ��
Њ+�0�4Mc�kAŹ���
�J:  p�q�u�1˕B�N�<Wz{
Fϯ��U���jݣJ�Rk��A�B�
(
�t�/�Ε
-��jqW&>r\�~�\y�'>�u+uٴpW]j�w/ז�6b��g�K0�V`�2��|�8��
VX�@�i���j�
+!�N�N��T
�1 =�
�|3�I��C���
v��
-�m��0+:Ir\��ƕ>����fii��BP?Wס�@p
,��6����2\-�#�iH���c�@ı	8��u�|�)`?Fj}��a�Ca��"�2�Tpc��
-���
-N�Wp+l���aT0�緩��|������r��Mh�����H#
��]I�N��(ee�@��F��G���٧_��?�	��XNǛ/he(m)�_�
-�3l��r޹�Us6h(�$f��ӘCJ9��)��f�.������R�<!��B�S���c�W*;�~��
f�|�V-_M����3E+$���-�9���R��
/��a�n�qC�a��
-;�t� z~��^=-oʛ���	pn���Ib8�h�S��m�=�|��
f��7tt��Ü;{K�y9�Q���Zĩ�L#q�"n��q;�"F ��6E�]=�����X,>Lg�զ_�
��.��`� �R�Ӽ
[��p w�Rϩ�L=G�?J=׽���G4
Rw��x�t�)�
������r��j��b�
�R�L��O��t�`G3��9V��
���ͳB+�V��������b��L��Z�ݕ��㪹�"a��pZ6
�
-A�
+�i�c���0y�D;��c�`��2C�uh�
ES����lwmժ�"�
-{CU�� u���'�q��xc�t�+�\�P�����O)�\�Ϧ�7�u�ؽy�&�	���`��k
aV�V��S�=(��6욃u>vǧ���	cl\������� ���EM64t+�H�KC��k��z0�QO"B��j��
��߂��|�"���z�c
��
�:J���X-�w
��7��G`NFs�#(|��}GPH
��h�2^�0�yH܆�Za���;�� =�5��n����ô�^��S�X�tJg]>�
-�?�N+
|�Am���$�c0z~=��t����_
��f��!8�
�3�BI�.m�xU�O�0�)�VD�DL�2q���`�F�%�j��ts��H5^=4ѯ�)��2G�0��_�9�$җS�3���`�`�3g�0ǜ���9Ӱy�l�
œy =�]�.+�k���iA|Aⳙ�VϚ.M+J�V�����ׁ�)�
��!Z!@�eE�'
Ϙ�Nc�I�2����`����/�g�0�f�_�3�#���M
-�C�f0�93q���|���i�C�	�5K��

����?����-�M���
��`���Y���0I2@����h����
ē��dZ�s�0N�ʶ�nyүW}��W�
��h�`����e��~�B�y�_d(Q1�OH��@A�n'd��8]�2!�� ��e`&�=��wP&@r�Ǻl&��o��\�����T�
?�1�R���N��)�WUA?=

n��-���p���VxrƆ['-K�[Ú����,P��3�}��Ǧ�\m��Tg�m�sݜP�:�C�N�ݸ�q߇J&K���/*�����/|H�CVH���3�k���h[[
���j�����{v���q�#7w��S���U��ǧmysXm��
���иbD(��Т�6R����m�F+lNm���j	��:Hm�<�
$tP팣jc`vj#���8����Nm  ��h��6&d�6�X�~�Sل��"��vB�10;����{���fb�6Am�3q���%�Gx�T at -Rto\��LO�S�=�ٽq
�T��ӂѭ�`��~��oZ��o������'-�>rR+�}�Z���˥V\�*�G'�����>oϵ0Eʤ:f9�vVԗP6o�+�PCu�߼���ߠQ��A�f��K
ft��}���u� V�N،�k�1 =���/H?(p~��#,2?������3PPP�}����Ŝ�D0� 8���w2��>K��jh:�=���w���D���#Za 
�
,�ū��v���bgx&�=��w��S�J,�
-�l��Lx�'�m�>�K��2і}���/21헳�I�
R��p��v�mF����}�C3�GI���o����}�C	h9�>� ����RN�8j�Yd���
����/}�����:*�/3L�
���p��s��٠Ab$1�
-#�9D`d�w������"6��4Ӹ�t鉴�a�y=NXdr����QV$񇪊A�HDEH�둒"��DQdDA����r�ȉ
���#�D&���"�R���c�Ğ$���@O�&�
-�:�/��- u�"
H�HjTFo��B���&�,o�����R�i��L}�tT0���>��/
1B-��⑿w$�
ie\��"�f�R3�o���O/~�o��e���Z��ﷁ*�_�
̬T�m�*4֛j���i�7�
����E���l���&J��l�P,���n�Uxэ�՗ ��G& o��]�X
Vj��تտ�{����j8�29�~��I����_��v��������d�!O���̷��{� ���`-\]U�zXZ�V���Xn��Ӈ�:�
|�P����h�=P�=I5�endstream
+x��Z[o�6~���S'	Ë�K1�aE[�k�,���-Ӷ0Y�$9n��wx�c;�%��4��D��9G����"v�v�w~�ꜽ
��8��s5pb�A���|q	A,�N	��=�vE9�s�b��nF�_��ǴW������I-�E.���HL������;B�S� ���������M��1"�7
~�f�M&��;�
����r<�D-͝
9��G"W�	�b1�.�e�����o���

Q��q��7����#G�L�;>ep͜�Ο
l!^�j�C�Dn��p}��!e܄}!�i���둍��X�J�?-��FE�O��ѓ�L��`NjNX��a��1���^>
+�<9�(�L��p!J`H�I����P�+Ҽnq����$-.8bQ�?��X���;�2J��A���a^�R�bE�
��^��8_N�b8p���Ȼ������YZ��
�
�b�5.��5v��j.�y�
�Y@���tQ��9%E<x�Z at h�AHQ��9��-�A���
+"@�}��^>���,E]���ڛX�s'�P�m
+#-\�U�
+��
X����B.K�^Qd���V]���u��'� �j��B�0L��VÐݚ�t`"��ȳӂ��r��`jD�Pc
E�Da�F��|y��N�`��S�R~��N�ԣܽV
�e%Tz���^s@�Ր�n%�d� I�UR����'W#��
@��Sg�WL����hmp�Ij]L����Ƞ�K��:�x�
P�"[`-j]ݮ��J�6��J
w-U�����- {�ې�V�UV�:��,��®��d�Y,�9V�!���o�k�7��ߔ���'U�G��d
�>���B\Q����	תF偗t�Ţe�,��Z�mKzX"FdUN�v��H�֘��"~��I������Uf�G�嗞)��,�]�+
fѰ��G�Q�ݷ�'����
�f'A+
tyy��V�]T-�ʠ�|�c뽧��k���1E�S32�ޡv$ٓ0ÃF͞
��F���&��O�E(�@EF"w,����;Z�H�
�����S���S���,p�r�� L�Tޭ
��j:��-�],��R���O4�A�� �7�����0���H��1���z�e �~�4�Bb4� �V{I!
�Ô��aT�g^Ԧ�l��Z��)„o�-NnG2�X���¼� � ���PĂ���5P���Fi�د?Y8@�ҫ���'S̋f�m�zZ����]ωl�̔��n<�ֲO
�z~ԐG���!'���jI�£=���'�����4���`���4ϵ�
�1��`�P�c¼����Zgº�G
1G9�j���
�y��l'1��:�*�>�v�0�U�6�᎖����P=���R`=RAE�]�-��+gx��q�PrƖ���^'g p����q�V�n�F�,��2�Q���J�抮?uu�݄�/
�3����s���UO��R=���i�
p ~��;
��}AC�,�'��$T
6'����NJrl:o�W{v�S��6?��d��ǹk��ȧ"��(�
Rr�ob�# ��)@�h�B�R6�k^��i���y�
�b���W�Q]O^���f3�Th������d��-a����g�
��㢜�n��A��@���MZ
+endstream
 endobj
-7622 0 obj <<
+7624 0 obj <<
 /Type /Page
-/Contents 7623 0 R
-/Resources 7621 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7553 0 R
-/Annots [ 7625 0 R 7626 0 R 7627 0 R 7628 0 R 7629 0 R 7630 0 R 7632 0 R 7634 0 R 7636 0 R 7638 0 R 7640 0 R 7642 0 R 7643 0 R 7644 0 R 7645 0 R 7646 0 R 7647 0 R 7648 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 7660 0 R 7661 0 R 7662 0 R 7663 0 R 7664 0 R 7665 0 R 7666 0 R 7667 0 R ]
+/Contents 7625 0 R
+/Resources 7623 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7456 0 R
+/Annots [ 7564 0 R 7565 0 R 7566 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 7609 0 R 7610 0 R 7611 0 R 7612 0 R 7613 0 R 7614 0 R 7615 0 R 7616 0 R 7617 0 R 7618 0 R 7619 0 R 7620 0 R 7622 0 R ]
 >> endobj
-7625 0 obj <<
+7564 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 698.0893 205.6917 708.9933]
+/Rect [125.095 698.089 205.692 708.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-7626 0 obj <<
+7565 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 698.0893 261.3124 708.9933]
+/Rect [206.19 698.089 261.312 708.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_2d266342acc104c59dc0046242ccdac8) >>
 >> endobj
-7627 0 obj <<
+7566 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 698.0893 338.7813 708.9933]
+/Rect [288.65 698.089 338.781 708.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-7628 0 obj <<
+7588 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 663.4099 205.6818 674.3138]
+/Rect [125.095 663.41 205.682 674.314]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-7629 0 obj <<
+7589 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1799 663.4099 261.3025 674.3138]
+/Rect [206.18 663.41 261.302 674.314]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_46a4105c8476e5f5260a775777398586) >>
 >> endobj
-7630 0 obj <<
+7590 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6396 663.4099 330.4624 674.3138]
+/Rect [288.64 663.41 330.462 674.314]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-7632 0 obj <<
+7591 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 628.7304 183.8239 639.6343]
+/Rect [145.299 628.73 183.824 639.634]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_353fe86259fbb2dd09d451e9dd468676) >>
 >> endobj
-7634 0 obj <<
+7592 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 592.6217 192.2722 603.1521]
+/Rect [145.299 592.622 192.272 603.152]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae8e418bb3d7a1432117530eaea7ec4) >>
 >> endobj
-7636 0 obj <<
+7593 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 556.1395 189.9009 566.6698]
+/Rect [145.299 556.14 189.901 566.67]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_e3be22e7dcdf54fdc0fb976fd755d0c7) >>
 >> endobj
-7638 0 obj <<
+7594 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 519.6573 193.2289 530.1876]
+/Rect [145.299 519.657 193.229 530.188]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_74d2b64496aa448a85ec0b370cee0977) >>
 >> endobj
-7640 0 obj <<
+7595 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 482.8014 241.9353 493.7054]
+/Rect [145.299 482.801 241.935 493.705]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_3905c42e02befd8a894c57abd9f972f5) >>
 >> endobj
-7642 0 obj <<
+7596 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 446.3192 238.4586 457.2231]
+/Rect [145.299 446.319 238.459 457.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_22b6ac7ec1477dc82d6db22900b59be2) >>
 >> endobj
-7643 0 obj <<
+7597 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 410.2105 187.6893 420.7409]
+/Rect [145.299 410.211 187.689 420.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_d423a6ddce01a2f2efb34b826d0de921) >>
 >> endobj
-7644 0 obj <<
+7598 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 410.2105 226.6926 420.7409]
+/Rect [191.505 410.211 226.693 420.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7645 0 obj <<
+7599 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 375.1575 228.8952 386.0614]
+/Rect [145.299 375.157 228.895 386.061]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_7ae373e57180f03b09aa0e38d1f19811) >>
 >> endobj
-7646 0 obj <<
+7600 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.2323 375.1575 333.4819 386.0614]
+/Rect [256.232 375.157 333.482 386.061]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7647 0 obj <<
+7601 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 340.478 229.5026 351.3819]
+/Rect [145.299 340.478 229.503 351.382]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1ae372d4f3b58cfa4af6edd51d845209) >>
 >> endobj
-7648 0 obj <<
+7602 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8398 340.478 334.0894 351.3819]
+/Rect [256.84 340.478 334.089 351.382]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7649 0 obj <<
+7603 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 305.7985 187.2643 316.7024]
+/Rect [145.98 305.799 187.264 316.702]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e90a75aac44c14997804b8911ff7bbb) >>
 >> endobj
-7650 0 obj <<
+7604 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 305.7985 293.2128 316.7024]
+/Rect [215.963 305.799 293.213 316.702]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7651 0 obj <<
+7605 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 305.7985 371.1477 316.7024]
+/Rect [325.131 305.799 371.148 316.702]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7652 0 obj <<
+7606 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 305.7985 455.7274 316.7024]
+/Rect [409.711 305.799 455.727 316.702]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7653 0 obj <<
+7607 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 248.205 187.2643 259.1089]
+/Rect [145.98 248.205 187.264 259.109]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_cb19de0243a618e9bf3d62e2ee04ae01) >>
 >> endobj
-7654 0 obj <<
+7608 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 248.205 293.2128 259.1089]
+/Rect [215.963 248.205 293.213 259.109]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7655 0 obj <<
+7609 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 248.205 371.1477 259.1089]
+/Rect [325.131 248.205 371.148 259.109]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7656 0 obj <<
+7610 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 248.205 455.7274 259.1089]
+/Rect [409.711 248.205 455.727 259.109]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7657 0 obj <<
+7611 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.2349 236.2498 220.0576 247.1537]
+/Rect [178.235 236.25 220.058 247.154]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-7658 0 obj <<
+7612 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 190.6114 186.3482 201.5153]
+/Rect [146.717 190.611 186.348 201.515]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_cfec639e917dfd6eb63c4006ac55b807) >>
 >> endobj
-7659 0 obj <<
+7613 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 190.6114 293.7723 201.5153]
+/Rect [216.523 190.611 293.772 201.515]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7660 0 obj <<
+7614 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 190.6114 373.3671 201.5153]
+/Rect [327.35 190.611 373.367 201.515]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7661 0 obj <<
+7615 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 190.6114 456.8371 201.5153]
+/Rect [410.82 190.611 456.837 201.515]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7662 0 obj <<
+7616 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 133.0179 186.3482 143.9218]
+/Rect [146.717 133.018 186.348 143.922]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_217e4addfae235df12c449320e65f891) >>
 >> endobj
-7663 0 obj <<
+7617 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 133.0179 293.7723 143.9218]
+/Rect [216.523 133.018 293.772 143.922]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7664 0 obj <<
+7618 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 133.0179 373.3671 143.9218]
+/Rect [327.35 133.018 373.367 143.922]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7665 0 obj <<
+7619 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 133.0179 456.8371 143.9218]
+/Rect [410.82 133.018 456.837 143.922]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-7666 0 obj <<
+7620 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 121.0627 218.4038 131.9666]
+/Rect [176.581 121.063 218.404 131.967]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-7667 0 obj <<
+7622 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7624 0 obj <<
-/D [7622 0 R /XYZ 90 757.9346 null]
+7626 0 obj <<
+/D [7624 0 R /XYZ 90 757.935 null]
 >> endobj
-7631 0 obj <<
-/D [7622 0 R /XYZ 90 645.7363 null]
+7627 0 obj <<
+/D [7624 0 R /XYZ 90 645.736 null]
 >> endobj
-7633 0 obj <<
-/D [7622 0 R /XYZ 90 609.254 null]
+7628 0 obj <<
+/D [7624 0 R /XYZ 90 609.254 null]
 >> endobj
-7635 0 obj <<
-/D [7622 0 R /XYZ 90 572.7718 null]
+7629 0 obj <<
+/D [7624 0 R /XYZ 90 572.772 null]
 >> endobj
-7637 0 obj <<
-/D [7622 0 R /XYZ 90 536.2896 null]
+7630 0 obj <<
+/D [7624 0 R /XYZ 90 536.29 null]
 >> endobj
-7639 0 obj <<
-/D [7622 0 R /XYZ 90 499.8073 null]
+7631 0 obj <<
+/D [7624 0 R /XYZ 90 499.807 null]
 >> endobj
-7641 0 obj <<
-/D [7622 0 R /XYZ 90 463.3251 null]
+7632 0 obj <<
+/D [7624 0 R /XYZ 90 463.325 null]
 >> endobj
-7621 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F52 341 0 R >>
+7623 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7679 0 obj <<
-/Length 3705      
+7682 0 obj <<
+/Length 1761      
 /Filter /FlateDecode
 >>
 stream
-x���o�����'����AQ��MZ؍�~I�&O2�Tx�
�����j����)9
Z���hfnv�7��;1��>sƱ���-o���.��L4?_�����ޜ��ʚY`�J;{s]i��)������L��
�9��>|���.�^�K>�m
�����������/_-���v���|��+�|��˯���K��N�;Q��k���3��n$ތ(	L(��?�*��Y����4
�9/n�6�CQ_���.���ϋ�.���\����M�\X���q�����l���3��}�/�����LK�~ٜ]��+���`�}4��K�gJ3o��Ǥ�L8%�-�b�����<
�1+��%���
ܞ��	
�,W8��JQv�e<��ٷ��f`V[�=���M#�m�@+O90�=x������z!��n�(�VA��~���𿨻�r�-cѷJ�
��pn�
������Q�a�� >f:*��y���:204������X��S3L�����ͦ�px�
���\����~��
���\�y#P.���e�bG��τ�����4г γ
�b&�q
�$Ҩ#�w(� s֏c0
�V*���n�,.���-��z��o�uM�2R"������Yܾ�k�����E�Fsqh�͇�j}��
�N;�L>j���,r1I��n7������c�}�_֫1`�`B�4
-�J�rb�7z�X����_���Q+!��@?C�$wLBR�F�1J
	�C��V�򡯵b�� 8c�� IQƝ㐴;�_,+v
��
`�Of�f�n�q�j��r�������3oc�q�栘��6Eʲ��؎R�U�aףC�P
�[�h�⪈<�F2յ�
*�|�Z��r\�8���-���刻�(F�!�9��7�j�^0>P�0���x�HѸ{T��5��.�I�.�;u�}�CЕC�yh9�G 	��%L( X��㜃���zb
�8�C_k�sW�������o���$�{���؎/�%;.`r�I��t`�kź�K��
ԆCpx͌i�{�1l��
�y0�>�<��>;挃�8#8��H��
-�v�u̒�뚞 ;‰��w{��@�yXn
-�}�2n��$)�k� ������]�B��I����'=�jC4
I�pBAW��9(�k#��)��u �Kb�!���c܃�

��=�D؋St.��cOƵ4�Z1{�B
{��{�Y{
�S��;1ЛUy7��j�������Ð��‹�V���΃��7S��)7z�

�� ��B�����t��X��S��A�P�Q�F�Ǹ�Fd`�k��S5�
��bt�\]+~�_�_l��� �ݮ�sE��
	�7c��a���������b�'�h�M�L!F4�nK��,M���)D�
mX�	�
-<I�pAB�����Gd~o��H$yʍ��.Ҏp4h�A�HN(�Q�t� ��
0�I)NZ��u pKb�"�F˴��VW�M)��N�---�
f�ᴷ5��+r��8�]�J�|��!xÍ6t�m�p�؝�6܃��cSԣ��)�WB��HB�3 B������f�q�}Z,�8e��u�t,d���{j+�{�"^�vlV2e�=	l�
l����6lP����
�G+�)��b��$��L
�[n��[����N
�F/��jmq�a}x����p�IR�/R�x2H��h
ga�漞�$O�1Ћ�*
O;H�!I��{�։�V
����ŷ\F�V,��]Y<�N�4^�Nk}����v��"
�Nl|�>E���0�o�BK
L*���0c
�^��hDf
-1D�v[D�fiDvLOA$��@�("�-ZAe��x@��K�_zh�^C
E��q姆$�Sn
��+wJ��c�
-���P)庶�u;$�B��p��@�Ħ��RY��eЕ�j�B~
>
�ǰP�>n��
FI�Qy��n����)�0&1��B����
�$��'��pb��
�3c�I��B�+��Bh�k��c�wSnjD�<��@��[
ϙx��"IN����z�Bm�*�Ou8�������D>~¾��T"��ή��,+�\���/)*�
q2C�������C'j�%gf�gnw
-7Q�Z�rr�ȋeR��"	�H�a$r�m���$�[q�nZ4�8�C_�EE�W}_�}��=P��
+tۃ\T�e�w�E�\�V��9eMO�C�_��LŇl~S�|�33J�}�eJţ���)���L!�K�n
��,M̎�)�ĝ�^�oSy9p&a&�X<�e>�%Aя��΋q�@���V��7z��s!�<>��v3\y��g��x��@���3�n #w��2�����S@��@@���
r{w��SJU`4T�Ƙ��HS5�;�W6��j��h[.��fc�Y���
��E�"� �2� x
/Ƨ�>pz�������J�~�'ʻbyhZcW�[�g��G9_���2g§��/��������,�7U&��T�)��~���H\ ����D��T�K
���<{Α�0!�%rN#sN��9��&�t̒9�kzB�!�蝚s���C�osN7�G�s��F!�n
�OyuY���y���HR�&�
.u�xq�]�-��&)Vx.��D�˓rQ��E�X7� [...]
-HvHv̒�욞 I‰��*C���������(#=3�J<I��".�pm{^ �tP�MF�����Hw�<
�$E��g�H�u���L{~�3
�����	%����bM����6#�?�3G
��^U���K}�~KPjxf��5̚��#��S� ��l#EC�Q
�X�h���&�ҷ��	�|í�����j}}U�͠_����Y�F#	���s�:�m����+1ܪ�1I�}�Sk+HI4I���c��r�^�Y!N���u`xmŢ[�;��Y��A�}��Vu���8�\ �Z�$��B��5����E���*���f벾������5W�������z|�}�'��@)�k��a_���{��)�{���vwа��r�d�c�L5�����Ŧ
��&w�ʹ6R�D� ��=?�;R�A����J��!S���h�r�dޱ;� �=�k�.���q���W�A�T�q�GH��!	�^H�a�@u��1bô�rb$�8�C_�� E�^�1HB�}1�ܻ������@ [...]
�鼯
&��j�V�։��mi��:W��mʼn_�\mދ\��,��;7f^����޷gTb뿏����E���ű
 &���n���$\7@��?��O��{!�\dQ���ew;�����p��˗>|`˒A�~�g��˻���AO��u.`
w���t"��e.��d�\�����i.�V;
���\��|
xendstream
+x��Z[o�6~���S'3Ë(��0`��a�fM���0�v�ڒ'�I��w(J��Ȳ��M�h`�="��;7�ؚZ��c������,��K]�rbIl	� N�uZ�mB����C�m?����!�v2[]�0��EW����?��4������_����Wg/	iLO�D�+`�b��
�#�T�-sHD�~�7Ë��e��&��V���ϕy�&*
�Vq CL2nS)��/�
L�-R��
$`�`>x�[!���0bҳn
���P�3�b�� �*�MUs�d����2�]n��@)/����ޏ8��*If��'����-(�,o^o�G?`��y�$��
���쥠�����r
b�C��&�U����Tg41��lf
��R�Q<t�}㧑�%����K��ϣ��T������mXx�\�%����.~�F�EsgQ��΍u3me�(��f�o5������2r�"�����_�IMV[B����r�5�I�u����(춵��–���.�7��c���<

+�
��$/C�/aXپBߢTb2i�L��04o�+�pT�r`(6V�>T�ɖ��U��yע%���p�5@�5�l�AF
�Z����W�ث9���n�Ȋ��[ Q� L��p�����y+��~ U۷Ֆ~�Z�s R�&
ڌn��7�%!��o,��!@�`���O�'�u�	��G����8�
Q!O���(�
�:&yL{�EI�u��e�'���� �ִY����э?S��
�m�t��	�5P�i�1��0q(r�ӡ$�&��f�}}pi�&G �+���4 �]���
Z@�;u�ڇ���
8�pRSѩ�m�_?�Ϋ,l�e��΋���������wh�ug^4��.�%$/��b�nUR����EG�nw"=�q��
+i��O����ۅ��f���_R�K���-p ����"q���}�!PPD
����Z*�#QyH�D
��Ğ��C���5$=��)=Brױ�����!!��'#W��
<��Ӈ���|��5�c��wʣ	��,��4Ҷ
|}�͗�jυ#Ne6v�u���n�7��*�Kq���
�H�>�is��W;͍���6��I�c�YM�hHl}fT)���r�f�jF���m�`��^�x��y}��8��x���jo��d|�ƍ%U؏pGt�w��CO��?<Dd/1�E�t��{hf�{TR�ʇ�f�8�
�
'k�
��ո��HBTe
a!6��a��n��k�Y�
��U�uZj����Os��G)X��� V��*N��FCp������Vڣ*8�ڦb�ع}�ic��q� 7���:�7�E��o��a�:reM�j����G

;�(��,l
����e
~G�~�esY�
Po.�����r��-G����m�yXf�n��A�%z����<&���KO [...]
F�5vl]J�F���XL��������k��k-)=F�
Z�U��z%_� N!0X,��FY�N��h�7*��?�Z��M+EY�D2K
焜 ��z�(�&�o����Vy��}e��
+���Y�Є
+A at x3�a����)/�V!���I����yuּ��a�˻L�?
9���Na���T�.n�TP����U��HaZ>X���BU:0�}���׃Zk�)f���h�������[d�"EQ~�X���^Y\�N�֮0Iʻ��$�k.���6������
+endstream
 endobj
-7678 0 obj <<
+7681 0 obj <<
 /Type /Page
-/Contents 7679 0 R
-/Resources 7677 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7553 0 R
-/Annots [ 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 7700 0 R 7701 0 R 7702 0 R 7703 0 R 7704 0 R 7705 0 R 7706 0 R 7707 0 R 7708 0 R 7709 0 R 7710 0 R 7711 0 R 7712 0 R 7713 0 R 7714 0 R 7715 0 R 7716 0 R 7717 0 R ]
+/Contents 7682 0 R
+/Resources 7680 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7456 0 R
+/Annots [ 7621 0 R 7642 0 R 7643 0 R 7644 0 R 7645 0 R 7646 0 R 7647 0 R 7648 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 7660 0 R 7661 0 R 7662 0 R 7663 0 R 7664 0 R 7665 0 R 7666 0 R 7667 0 R 7668 0 R 7669 0 R 7670 0 R 7671 0 R 7672 0 R 7673 0 R 7674 0 R 7675 0 R 7679 0 R ]
 >> endobj
-7682 0 obj <<
+7621 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 720.2859 161.6774 730.8162]
+/Rect [145.299 720.286 161.677 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_35518da8c480784110d40b680256bd61) >>
 >> endobj
-7683 0 obj <<
+7642 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 646.8707 205.7516 657.401]
+/Rect [145.1 646.871 205.752 657.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae058fd9619a17e121c3aab9b0612d81) >>
 >> endobj
-7684 0 obj <<
+7643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.0887 646.8707 276.595 657.401]
+/Rect [233.089 646.871 276.595 657.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-7685 0 obj <<
+7644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 611.6279 209.6269 622.5318]
+/Rect [145.1 611.628 209.627 622.532]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_dc269190695c1745ab086168fcf35835) >>
 >> endobj
-7686 0 obj <<
+7645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.9641 611.6279 314.7912 622.5318]
+/Rect [236.964 611.628 314.791 622.532]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7687 0 obj <<
+7646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 576.7586 248.202 587.6626]
+/Rect [145.1 576.759 248.202 587.663]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e09e7efc2f63aba534614086427bf49) >>
 >> endobj
-7688 0 obj <<
+7647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.0176 576.7586 329.8447 587.6626]
+/Rect [252.018 576.759 329.845 587.663]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7689 0 obj <<
+7648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 541.8894 212.377 552.7933]
+/Rect [145.1 541.889 212.377 552.793]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e9ecea59dea0ccb1cc3600bc11f1056) >>
 >> endobj
-7690 0 obj <<
+7649 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7142 541.8894 289.8459 552.7933]
+/Rect [239.714 541.889 289.846 552.793]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-7691 0 obj <<
+7650 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 507.0201 216.2524 517.9241]
+/Rect [145.1 507.02 216.252 517.924]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a493e3939364ce0db66b42f0ef6511d0) >>
 >> endobj
-7692 0 obj <<
+7651 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.5896 507.0201 328.0421 517.9241]
+/Rect [243.59 507.02 328.042 517.924]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-7693 0 obj <<
+7652 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 472.1509 254.8275 483.0548]
+/Rect [145.1 472.151 254.827 483.055]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1cd37a76428add108f267548ae76664b) >>
 >> endobj
-7694 0 obj <<
+7653 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.6431 472.1509 343.0957 483.0548]
+/Rect [258.643 472.151 343.096 483.055]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-7695 0 obj <<
+7654 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 437.6553 236.7449 448.1856]
+/Rect [145.1 437.655 236.745 448.186]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_594973c5284386e52b8c33b206a47907) >>
 >> endobj
-7696 0 obj <<
+7655 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0821 437.6553 307.5883 448.1856]
+/Rect [264.082 437.655 307.588 448.186]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-7697 0 obj <<
+7656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 402.4124 243.3704 413.3164]
+/Rect [145.1 402.412 243.37 413.316]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_580264341ec83f4bf3d6da1205939b0a) >>
 >> endobj
-7698 0 obj <<
+7657 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.7076 402.4124 320.8393 413.3164]
+/Rect [270.708 402.412 320.839 413.316]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-7699 0 obj <<
+7658 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 367.5432 240.6203 378.4471]
+/Rect [145.1 367.543 240.62 378.447]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_c6376a87e99d3cdabaa6ee7542474849) >>
 >> endobj
-7700 0 obj <<
+7659 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9575 367.5432 345.7846 378.4471]
+/Rect [267.957 367.543 345.785 378.447]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7701 0 obj <<
+7660 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 332.6739 247.2458 343.5779]
+/Rect [145.1 332.674 247.246 343.578]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_a317313059bdf973567d2fcf5e030212) >>
 >> endobj
-7702 0 obj <<
+7661 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5829 332.6739 359.0355 343.5779]
+/Rect [274.583 332.674 359.035 343.578]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-7703 0 obj <<
+7662 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 298.1783 193.5774 308.7086]
+/Rect [145.1 298.178 193.577 308.709]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_fea57a711a6b7a5d501112b84b246759) >>
 >> endobj
-7704 0 obj <<
+7663 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 298.1783 232.5806 308.7086]
+/Rect [197.393 298.178 232.581 308.709]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7705 0 obj <<
+7664 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.0592 285.1765 248.8445 295.0817]
+/Rect [192.059 285.176 248.845 295.082]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-7706 0 obj <<
+7665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 252.3501 193.5774 262.8805]
+/Rect [145.1 252.35 193.577 262.881]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_6ff5e78b07441619f850114578ca48d5) >>
 >> endobj
-7707 0 obj <<
+7666 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9146 252.3501 277.6909 262.8805]
+/Rect [220.915 252.35 277.691 262.881]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-7708 0 obj <<
+7667 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 239.3483 252.6774 249.2536]
+/Rect [195.892 239.348 252.677 249.254]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-7709 0 obj <<
+7668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 206.1484 223.4647 217.0523]
+/Rect [145.1 206.148 223.465 217.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_bfde1aac87d8218fce0fa9b4ea8a5eb1) >>
 >> endobj
-7710 0 obj <<
+7669 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8018 206.1484 323.0702 217.0523]
+/Rect [250.802 206.148 323.07 217.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7711 0 obj <<
+7670 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 171.2792 229.5525 182.1831]
+/Rect [145.1 171.279 229.552 182.183]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ec298ee7df246c945e6a56442e04176d) >>
 >> endobj
-7712 0 obj <<
+7671 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8897 171.2792 329.1581 182.1831]
+/Rect [256.89 171.279 329.158 182.183]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7713 0 obj <<
+7672 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 136.4099 266.6729 147.3139]
+/Rect [145.299 136.41 266.673 147.314]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_bfb434e3d574f4bd53314ac8749c4731) >>
 >> endobj
-7714 0 obj <<
+7673 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0101 136.4099 366.2785 147.3139]
+/Rect [294.01 136.41 366.278 147.314]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7715 0 obj <<
+7674 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 90.5818 217.1088 101.4857]
+/Rect [145.1 90.582 217.109 101.486]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_72782e7d9a6612efd73b253b0f862c6b) >>
 >> endobj
-7716 0 obj <<
+7675 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 90.5818 316.7143 101.4857]
+/Rect [244.446 90.582 316.714 101.486]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7717 0 obj <<
+7679 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7680 0 obj <<
-/D [7678 0 R /XYZ 90 757.9346 null]
+7683 0 obj <<
+/D [7681 0 R /XYZ 90 757.935 null]
 >> endobj
-7681 0 obj <<
-/D [7678 0 R /XYZ 90 733.028 null]
+7684 0 obj <<
+/D [7681 0 R /XYZ 90 733.028 null]
 >> endobj
-7677 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
+7680 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7736 0 obj <<
-/Length 4916      
+7751 0 obj <<
+/Length 2723      
 /Filter /FlateDecode
 >>
 stream
-x��]mo#����_�Os6����ep9 Y$A69dow�$����c!��H���~}���4��&{G�f�X`֒
�.����j�-(���.�2�	�7t�����?^�����o�����^��k-hFg|���/��a���Rz����������+N/w����v������~�~���7����v����~��\���7o�Xd�sG�6
���� 	F	N���#F
aB�
�_U_oV��Ւ+
-�
�l

7�cӽ�]s�쯘�l�7�pB]r����o����UB3��?.��7��sA�pV->�
J�s|�p!��/6�_�O��}�~a��wk��/I������ ZZ
�� �n9�0\��

m�‚��l}$�IZ�E���~}8�?n{o
w��)��(,���޹�T�=`"�$��E�����$
�]��
��G�ͦ9
�W;R8�`Xuo����z��~�I��5�Wn�wءد���ښ��
f-�N�s_�j{;b�)h����<bE�|
�%�q�8#ZH�0�����`�Eg`�P�u㣈JŒ�0�(�yY.�g3Dsn�:�s5Ƽm76���Q�v�&Ա����&kVj±{�f���
�]L��k2��ఆ�e}�|�t�z�c��b������YCz��2��({%�*���������Oæ�#��������U�0b&B;b�te'T�� '���)�7��69�4��u��������z`�z���z
�Ru��	�tX{V�x���*������+��� [...]
-�e��q��f���o
�.u�2�*�1ĤKɍG
-�
||�~��>�wW�;㱹�@�TI
J'�A�R��?܍#I��I�!�V�C3F����s=>���W�%p9��}	,}X���=��\����u/:@�
���*�>�a�5V�z���l���ľ �ƾ�`!�U��c_��V��o��=i�4]�=�F"��.*wW\�����z�������Rb$��EWT��#Ճ.����
qIX6�_e0��
��1[����&w��(-`|�]�Q5��Z�
�_Iz���R3~9��F��^����.���z۬�׿��q�@�Y�A��%WG at UH���f08�t��1��׻&
ܛu�=^������]��e��q	!�ihv�N�n���
��.���
���q��Unw�mpt�)�A�d����G"%=�a�
�O��8K
���h�7
��C�gL�
^���j�p���[����ի�w�?93�@FsU�e@�����(M�+ٹ�������u�}�m�������h��S��
5��8�=C@�4�,����2�ݠ�;:u��Q�������W���%PC�������<BՂ�q�
��cS- c�́��o�5�D����+���*(� �*��`A�T��N���1���A����k�V3yAl\�@p0���+��wORQ>�1���hc�:"�
�v�
-G1������j |k;4W80���5���^�����L�3O:^�L at UHc�尐&$�
-}3W�@���O�pT����%�E��6
-
-'�Ҍ
g�n!�y2܊2YP8
⹂KI�Q��=�r��\�������u`0B@��
[T��M$�J��k
�K��wC�u�����u�U�:���u8����i
�*�:I�cZ�?��pn���
�S�
�`�Z����]T$�'Ԏ���Nd��v��z�7;�v4�H�t�~F�����"��Ͷٯ6��on�g�v`̨`e�T�Q+0��1�|@ p%�\�|���n]�X��(��.�� �	�
��3�Ś�s]�&�]d�]�is���??|��	c�b�2
�F�2"}�o6�燯0'-������\�|�Mnw��SL������
-����>
5��:��I���*b%]�ai�2W�=K�D0)��l5�Q��6��U���Hw+	�$���G�aa|L�
-�a�C}������n���u�o �"�F��� ��;��p��X��Nr
K
W
|ˀʉ;��noa'�?])s���
E�1�t$
-�
-bi�Ԩ�sY�r���F��a�o;�БI�1("��C�a�fK� C� D(|[8=R�d���I�	,N¿p�uo�J�`r�l��p����&iR=x���?�	%����Jޭ]�r�����s�=�:h��u�y��<�Y�y��w1��]���<nov�E�8'�q/��3B��XW����V���S-ўl\�XU��
·�nȒfKi>j��i��<_�����~��5��n	�
-#��B
M�� ��4�1_��ٝ��e_pVv�U(�@Z�*$�l���HJ�\/|�Bfw��q`���BA*
��)� }����7L/C	E�P�0=|�
�֣f�
-Na��2�m�
U��)DQaMJ����P��R�TǢ��il� M,M9�ɔ��@��Yr]����Z
HS|kB�*X
�Rm��i�4�V9u���KS`#�^m�sӓ��+ݔ۝���p�7�Ci�iA�bբ��2�r�450�)��8��c�˱���R��.M�����vc?�� �a���A_�T:l&�h��B����%��o�J� ��m� ���`I����#n���
wr�tQ����nW:��fi=��oF�]P6\�2�؀�h�Sj�4�����*���z�Ӏ,��
Tk��N���殴t\��Ϣ��>	�
-���,�#q�Q[��U(H, iutL����� �7�
i����&�k�2��s���Bq��>r���
Ò>-A�B��bb��e���C��[
�:�)sܿ,C*��hqڝ��FA�X*CE�ηb�"��[����2T�2T�ijM(�:�^���
������PK`Sn=W��=��M��(ul�S
$Mv���NG�҃rrI~D!>�����<n���|>~�jX��4�#�L�����甸D�f�
-fO�c�����uz�p�
��!*�Fʼn̿R.Gd3h{
�`%�<��YQ���:L"k�%3��hKW�0�}w|��
�`a�?e�LC�6
ihB���b���Ӳ]�����]h�ފh�0U�
L�z��^���6)�*��U��N-�U��U�-�!@J\�Jf-��>��
آj���pb�*��;�:>@J�
-�a�O
C���Ӂу�R�sҭ���
�{���Բd�VTq�!�j����9x��%�ź��sյ�;
Rڊ��a}
`?�����	y���l�Ե���Z���F�yD���$/�:Z�	��	��,�'��L����'��@������aB�A�M/%
_���H%l�:!��Ao���2�rFi����"etr}�"�n�y��q78qA�f�U��{_��!�9�*�&��ͱ݇o�,�G�:=�.Ц�l6v�&�OW���6Yg���W�~}�
-QV2mj
-���"62Xұ�v�����N;;B���Bڹ��Hdv�Pֶu��T�>xh�CJ����uM��Xdvg?J
�-�"�*$��{[t0JFK
05˅Rs��
-��9���c��^�
1�1�R�"���Je*>�
��a
����fj�\j���
�s)�;���gj�����
-	�����D�&z�A3���<
��<V�	y*�`�p����T�#�s
-��S��S�d\�j������U���JV�J�3�Oawˈ
t�>��Jo�v��d�٠JV�p�
�6�
K�nP9�T�jؗZ�	�R�Ś.4������(>`?m�����0��<^[�eQ;7����
Ȳ�a�:0i���6]yΊ�Idv'�&5 �GY��{T�V�RI��7F��0��l�|����Ǭ�P*^U#�`ٰ4Q
`&j� �)1�+_!�۝Y� 낁�Y�L at UHH<���A׌T!L�'$3g��%CZa��=c�B�+y�Vȓ�ϭ���ڜ�E#%-�a��-��:�a{���iQhu<U*��֢���עr�E�촨�Т�5�,h�
_��nR��l�SV�xX!
�Xiˀ��9AПƵ�ڹ�^�"z�[��A�w�ԧ���L�]eh�ug=ͭGPxN��Q���|R�
-�N�if�<�E�	�Ž����ӕ	�֍�T� c�9\�L<P�g�L�&��͑ʄ�4C�5*�	M����)陣`�Ԋ�*�c�I_i���I�%IO�r�������Hdv����\ú�xh��~��4�芀���E��	iiL&sA9*f;#�k42�s��kdxfm�U��g�jCUJ�r 43��?I
�6
-Z(�~&����is
���'�?<>
������#<�z�p�D���*��gԲ�Qy��&ֈr7.��<�P¤I���
?7�v��`q���� ;�'
O���_=v��3���

V�
��R�(��cG�l=v$Mω
e��vt�
w����
,�7���i?C�if\�%Ua��2�:�~/9=�@�XAO:�#�QZ;=�_�v��ܷ�=��!������.��J�3AaAb'%d��p��۱��`=l�z���
�`�7[��I�sf`�Df��͠����4��
-���;5	5�e�T��S���+���q�1�)=��``s����^d�;#����
-�,F&�Rx�|��O�=m�'�>@��ן��?œ�a����)����px
-�(���E6J+�����a�9��ܮ�������l?k��!�T�^]T��q��\J���<P?~��PS����{���nZ�~Y��m;�2��9
K���O�)�!$���{?¿mG��aտ�k׽�ܮ{�f���$�������G}\�?��f�r8'PmW�X���i9�����uP�����?�O�_XF��~��DW���k�?
߽}���grs O��㞬�o7o�T��=[8�5�$
�qI</,�4��(�r��w>z���/����%�'��T�	z	8�endstream
+x��[[o��~���S*��s��m�)�ݢi��%�h���J�JQv�_�
�)J�,6�v� 2��9s��"
�4���n���j8�4���]�h`4#���f
|
1F�O�t�n��(L���ݘ��j����p�S|�������e��*	��:�r���[���s��Ϲ�֓�$`�pYܴ�p�	U���ÛE�ٌ'\Q`��(Z�a�;(
3;���N�wy^�ps��+lh�r�(C
,<[^}��s��c@�p6xʩ���>����]�B���\���2W����P��ؿ�l���<[�]:������r�?S*
+M�=I4�%M�o<MmyX,�#*T�Y��E����
+,�����U��q'����sQ��<�C͢��)���k�
��h�zlǜ��0���a
+�h�[�("*���
������{�7�Je0�8f��p�j\��u�Z-���e�}�n�s�\�1�k|�<�n@�ST{4fj�)����4��C?SE��w�wK�69�z^�UM�s�%
&��xӉ�>�� �
avI�(�~b� �2������&J�;Uh��0�W�ʅ����n�|#Oq���WH��f����gm����ó�۹�DJ3��][�H����]��Dm�:�Te�x�/l�M�h�
>q! �0�
@g�\�6I?bp��f;�K��
$�Ξ�J���s�1iO��c����qR»1Whg�D�x����>���c��������a�G\#L����D3>�j\�8��t�çuA�
:1r~�Ad����*�65��$�fig�ׯ�U��ܐ�Hm���IU�����Q�Z�I����y������Z��(��5�EP~Z���D$�v?A
�?
+�i�{��#ϝ�߁���R
V|���W��&s�/���B��mR�^-��:GD�x�s�&@M��r6P�,� e%!���vM]
)�huu��0*?�����1�h�o�>��j%�<!B.C�
{~ކ�P�����Bf0���W�
����@�0�Y¹.��5;!
������
�:��8;Z�
Ɇ��e� 
��C�)�$r!];r���
���r�=r�
�*�‹��ʼn����u䪭݆\`v�
䲿"ץ�ŭ
�GI������|�]uq�.�0\�a'�1z-�6a��yy[ur5Y�h�y^~7��z2X�
+[�����J]��E�O����f��[���.ZG3�u�$t�.���P�Z/�b�U�
�%x���G��
U'��4��.���^��oAػ��R"D��DZ2�
������8Q� �%-Ti��i��z�GE�̰�u�Q�q�E��*�h⬩c^}
�$�@Հ��`$
n5���Y^M���[mՊ�BU��G�#Q;��p�"�
�YW�"8��]�QSB�9� ����ͱg�A��"
y|s��V��a�j�=8�H���8(�/+^a/��l�?
�~C0!�Ԟ8[<lN�adW. at .U.@�����|����.}�
�Usz�D�5v��Ѹh��V;F+�[b01�q,Z�ym�gD#a+D��*y� ��~�
T�;,�l�g���.xV�C|���R�E59Lڴ	�$TESN�
%�5&'������b%�X	*��
��R���
+��> �����x�ۗ�v���P'�!ѫ��Q؞��h�߁�ۃu���� ���y�bb�Fܚ:X�C��(X[Æ�qOY�@k�DkA=Z
ցւ���]1^�-�\�"5#V0�[g
+�,n�
��^��
�-E0�׺f�_/~�ɉ�P����/)~
V�A�.̑�nJء�ů(��eK�p���/i#��<�[��C��
�]̍�
a�ʇڡ�
�uy��	V����̣A�L�x����4Ǧ�Z�K���oTc��*ϑYU���
�_�h���
���؆сZk-,�:��oD{�Q�iہ�͞8E�y���ȓ
j�d��F~�x�kB{�U�s?T
h2����7��)���Of&H��Z^�:+5�����e����6'�����$SoO���
�f
���J=ކ��|�LJz
h��=�g ^
�tW@.eh��:��J����G�
m�,��ā^P���u��*�7���A
6�L}O�b�.Tc�.�����g�@�>S�'3u�O�u�֎��/���h41T�
�0�ݯ#��yD���h�!%>p���1���C��d�uJ�
?�w���)����~�VJ�5��/�^?
)�"���R�F�\h��Dj)w��n���g
k at H(>�
kĥ�P'�v�s
�����/�y�L��kT�zn��f"4��Q���g��0��Z�qtj�.
۠��
+8D���碹Mɋ:�Jx�&ž|p�81j�l��8^FS���&������\L�^�EV
g)�,�۬v
�S���6-�F�S%mG
���l�=��g�'8�
��֙W��bu��g��f�v9���%�uF(i�{���:n���|߾rg瞔��X��pLa�7o�.j5(�@\߄
�kUֆ��
+'�����`ۖ�g5�HH-;8X��s&
_�����'�

<�/��3�F>�8�2A
����	��AQ�	��{N4/*�Ѡ<4��?���TU~7�����M�������q1y�����o��7xL�𯿄ɶ���Gd�����Ё�r1�nM�A:������gP���\�;��zlY�~}}���Df�M�uJ��z�^\7*����d��ow��K�\���0��̽�n0�  ѣ
+endstream
 endobj
-7735 0 obj <<
+7750 0 obj <<
 /Type /Page
-/Contents 7736 0 R
-/Resources 7734 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7553 0 R
-/Annots [ 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 7754 0 R 7755 0 R 7756 0 R 7757 0 R 7758 0 R 7759 0 R 7760 0 R 7761 0 R 7762 0 R 7763 0 R 7764 0 R 7765 0 R 7766 0 R 7767 0 R 7768 0 R 7769 0 R 7770 0 R 7771 0 R 7772 0 R 7773 0 R 7774 0 R 7775 0 R 7776 0 R 7777 0 R 7778 0 R 7779 0 R 7780 0 R 7781 0 R 7782 0 R 7783 0 R 7784 0 R 7786 0 R 7787 0 R 7788 0 R 7789 0 R 7790 0 R ]
+/Contents 7751 0 R
+/Resources 7749 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7757 0 R
+/Annots [ 7676 0 R 7677 0 R 7678 0 R 7701 0 R 7702 0 R 7703 0 R 7704 0 R 7705 0 R 7706 0 R 7707 0 R 7708 0 R 7709 0 R 7710 0 R 7711 0 R 7712 0 R 7713 0 R 7714 0 R 7715 0 R 7716 0 R 7717 0 R 7718 0 R 7719 0 R 7720 0 R 7721 0 R 7722 0 R 7753 0 R 7723 0 R 7724 0 R 7725 0 R 7726 0 R 7727 0 R 7754 0 R 7728 0 R 7729 0 R 7730 0 R 7731 0 R 7732 0 R 7733 0 R 7734 0 R 7735 0 R 7736 0 R 7737 0 R 7755 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 7748 0 R ]
 >> endobj
-7738 0 obj <<
+7676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 697.9944 271.1256 708.8984]
+/Rect [145.299 697.994 271.126 708.898]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a0d8c78069019f44dc34ebab82ecfc6) >>
 >> endobj
-7739 0 obj <<
+7677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.4628 697.9944 370.7312 708.8984]
+/Rect [298.463 697.994 370.731 708.898]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7740 0 obj <<
+7678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.8625 685.3662 326.2592 695.2715]
+/Rect [214.863 685.366 326.259 695.272]
 /Subtype /Link
 /A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-7741 0 obj <<
+7701 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 652.1663 201.7419 663.0702]
+/Rect [147.984 652.166 201.742 663.07]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ccc6c6488ea9d8555ea8e978cf188749) >>
 >> endobj
-7742 0 obj <<
+7702 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.4419 652.1663 243.6294 663.0702]
+/Rect [208.442 652.166 243.629 663.07]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7743 0 obj <<
+7703 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0792 652.1663 371.3288 663.0702]
+/Rect [294.079 652.166 371.329 663.07]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7744 0 obj <<
+7704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.5617 627.5829 267.7587 637.4882]
+/Rect [221.562 627.583 267.759 637.488]
 /Subtype /Link
 /A << /S /GoTo /D (main_affine_relation) >>
 >> endobj
-7745 0 obj <<
+7705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2877 594.383 212.7678 605.2869]
+/Rect [146.288 594.383 212.768 605.287]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ba9abb279871c30a4f0c6cbb188fecc1) >>
 >> endobj
-7746 0 obj <<
+7706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.7715 594.383 252.9591 605.2869]
+/Rect [217.771 594.383 252.959 605.287]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7747 0 obj <<
+7707 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.8959 594.383 375.1455 605.2869]
+/Rect [297.896 594.383 375.145 605.287]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7748 0 obj <<
+7708 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.6566 569.7996 275.7477 579.7049]
+/Rect [218.657 569.8 275.748 579.705]
 /Subtype /Link
 /A << /S /GoTo /D (main_affine_relation) >>
 >> endobj
-7749 0 obj <<
+7709 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4429 536.5997 250.0993 547.5036]
+/Rect [145.443 536.6 250.099 547.504]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_934cc1f45a6d438f5d468276140cd5a8) >>
 >> endobj
-7750 0 obj <<
+7710 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2582 536.5997 289.4458 547.5036]
+/Rect [254.258 536.6 289.446 547.504]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7751 0 obj <<
+7711 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.7722 536.5997 379.5123 547.5036]
+/Rect [307.772 536.6 379.512 547.504]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-7752 0 obj <<
+7712 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 536.5997 513.9963 547.5036]
+/Rect [436.747 536.6 513.996 547.504]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7753 0 obj <<
+7713 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.2551 512.0163 484.6602 522.9723]
+/Rect [355.255 512.016 484.66 522.972]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-7754 0 obj <<
+7714 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0912 478.8164 250.7476 489.7203]
+/Rect [146.091 478.816 250.748 489.72]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_196d1efc79437ca1d96b79b7cd60387f) >>
 >> endobj
-7755 0 obj <<
+7715 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.0677 478.8164 357.3173 489.7203]
+/Rect [280.068 478.816 357.317 489.72]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7756 0 obj <<
+7716 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.4046 478.8164 456.1447 489.7203]
+/Rect [384.405 478.816 456.145 489.72]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-7757 0 obj <<
+7717 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 466.8612 202.3443 477.7651]
+/Rect [125.095 466.861 202.344 477.765]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7758 0 obj <<
+7718 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.3595 454.233 470.793 465.189]
+/Rect [344.359 454.233 470.793 465.189]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-7759 0 obj <<
+7719 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.9331 421.033 239.9836 431.937]
+/Rect [146.933 421.033 239.984 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_b499fba7b7be2932147748248180e057) >>
 >> endobj
-7760 0 obj <<
+7720 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.6327 421.033 280.8203 431.937]
+/Rect [245.633 421.033 280.82 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7761 0 obj <<
+7721 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.8547 421.033 405.1043 431.937]
+/Rect [327.855 421.033 405.104 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7762 0 obj <<
+7722 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 421.033 513.9963 431.937]
+/Rect [477.703 421.033 513.996 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7763 0 obj <<
+7753 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 409.0779 171.3608 419.9818]
+/Rect [125.095 409.078 171.361 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7764 0 obj <<
+7723 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.2574 395.2407 432.0923 408.3987]
+/Rect [347.257 395.241 432.092 408.399]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-7765 0 obj <<
+7724 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2074 362.0469 266.586 372.9508]
+/Rect [149.207 362.047 266.586 372.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_702b00ff42a88c23ab25eecf0e9acef0) >>
 >> endobj
-7766 0 obj <<
+7725 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5094 362.0469 309.697 372.9508]
+/Rect [274.509 362.047 309.697 372.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7767 0 obj <<
+7726 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4935 362.0469 408.2337 372.9508]
+/Rect [336.494 362.047 408.234 372.951]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-7768 0 obj <<
+7727 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 362.0469 513.9963 372.9508]
+/Rect [477.703 362.047 513.996 372.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7769 0 obj <<
+7754 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 350.0917 171.3608 360.9956]
+/Rect [125.095 350.092 171.361 360.996]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7770 0 obj <<
+7728 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.1406 336.2545 414.3239 348.4195]
+/Rect [362.141 336.255 414.324 348.42]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-7771 0 obj <<
+7729 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.0173 304.2636 265.396 315.1675]
+/Rect [148.017 304.264 265.396 315.168]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_25f104e58f88e05dfcb905bcd66e493b) >>
 >> endobj
-7772 0 obj <<
+7730 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.5684 304.2636 375.818 315.1675]
+/Rect [298.568 304.264 375.818 315.168]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7773 0 obj <<
+7731 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.2392 304.2636 478.9794 315.1675]
+/Rect [407.239 304.264 478.979 315.168]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-7774 0 obj <<
+7732 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 292.3084 225.8659 303.2123]
+/Rect [148.616 292.308 225.866 303.212]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7775 0 obj <<
+7733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.2222 279.6802 466.6702 290.6362]
+/Rect [369.222 279.68 466.67 290.636]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-7776 0 obj <<
+7734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4364 246.4803 251.209 257.3842]
+/Rect [145.436 246.48 251.209 257.384]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_0d4db6f54c7332e1a2e0bc85e16ba176) >>
 >> endobj
-7777 0 obj <<
+7735 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.3614 246.4803 290.549 257.3842]
+/Rect [255.361 246.48 290.549 257.384]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7778 0 obj <<
+7736 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 246.4803 409.9686 257.3842]
+/Rect [332.719 246.48 409.969 257.384]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7779 0 obj <<
+7737 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 246.4803 513.9963 257.3842]
+/Rect [477.703 246.48 513.996 257.384]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7780 0 obj <<
+7755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 234.5251 171.3608 245.429]
+/Rect [125.095 234.525 171.361 245.429]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-7781 0 obj <<
+7738 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.1145 220.6879 456.9923 233.8459]
+/Rect [370.114 220.688 456.992 233.846]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-7782 0 obj <<
+7739 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 187.4941 224.5705 198.398]
+/Rect [145.1 187.494 224.57 198.398]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_44e10aa0180433db7d19fb8e473dc829) >>
 >> endobj
-7783 0 obj <<
+7740 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.9077 187.4941 324.1761 198.398]
+/Rect [251.908 187.494 324.176 198.398]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7784 0 obj <<
+7741 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 174.8659 347.8694 184.7711]
+/Rect [304.542 174.866 347.869 184.771]
 /Subtype /Link
 /A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-7786 0 obj <<
+7742 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 152.6248 255.5641 163.5288]
+/Rect [145.1 152.625 255.564 163.529]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_d8d04d80653fb850dd92468af1995f97) >>
 >> endobj
-7787 0 obj <<
+7743 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 115.7631 257.6366 126.667]
+/Rect [145.1 115.763 257.637 126.667]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1d780ef5b99cc9752eb322353b7b6b08) >>
 >> endobj
-7788 0 obj <<
+7744 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.9737 115.7631 357.2421 126.667]
+/Rect [284.974 115.763 357.242 126.667]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7789 0 obj <<
+7745 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 103.1349 378.4537 113.0401]
+/Rect [304.542 103.135 378.454 113.04]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-7790 0 obj <<
+7748 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7737 0 obj <<
-/D [7735 0 R /XYZ 90 757.9346 null]
+7752 0 obj <<
+/D [7750 0 R /XYZ 90 757.935 null]
 >> endobj
-7785 0 obj <<
-/D [7735 0 R /XYZ 90 169.7256 null]
+7756 0 obj <<
+/D [7750 0 R /XYZ 90 169.726 null]
 >> endobj
-7734 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F52 341 0 R /F99 2213 0 R /F40 350 0 R /F100 2135 0 R /F36 2391 0 R /F25 344 0 R >>
+7749 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F50 339 0 R /F97 2177 0 R /F38 342 0 R /F98 2117 0 R /F34 2344 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7804 0 obj <<
-/Length 3987      
+7810 0 obj <<
+/Length 2065      
 /Filter /FlateDecode
 >>
 stream
-x��\m�۶�~�B�\�L��%�v�I�6i=Isn>4�hh��S��J���� 	 (��|M'�I}�.�gw�d��db�D	�
�r�����;���7��<���ś�����d$��7��I���N�,���������[���aSͿ��x�[?=��C5����:<}��7�S�n����j_����뗯	�Sj����9V��[Hd��2�;ě!&T�mQė��x��Q�A���z�_W������>�=��
��&��(+��o��:�
-&��ۿn~�	O���o0bF��#|��C'�N����������^h~04>
k��ԓ�HK���`��bƒ2���~,
�@��ꉇYw�H���
�l�$��u�A�U
-�F/��=9�7��T��
-q�e
�D���n��}��6� ~u��iw�+4�T�8P"�
E\2�F����Mt�����@�09Q�&w�c/
�u��B9�,���8%r���R�y}K��ߧC�߁�V��
by�n�7�
-�8�=�z��@s(�MQ�bs~�/v��)Q�b���^����\k� ń�0!�d���*��,UREb^<�J1�
�s�̀��I�
����S`!w��֎a�l#����	Җf���l ~92�� ?��a����'�%��
���<<�@T�1
e4S|��
��H敜�UY�~ׄlG��]��0G�?d�{���N�w+U �Hb�x��:����
%��%�LM��������o�]�6�����]g�CQX �gb�]
o�/�*��&�������}?���� ��Q�yT�yؘ٘��鱮���!E9���Um�r�VC���)��G�<�1���' s�J
#�)�e0
�Ѕ��aż

-����./Gj/';
��:��:|ɈD���?��;��ղ��l�d9��ɻã
-�Pa�*��a���$� #�:��Kf$rG�9	U�yOxT�_kً�s�f̤,a����
��T���U�*���T�
�T���d���R��;s36MO
)%ev(g
U2�&�7Z���Aɔϟ��
�D�R~r�r~
-��S^��O��r~�T��Oy#�֊Rb"���$��*�@!���}�_LL��3=�
_2#�;&1��,E�GL�����,6��LL`���ktb
-d���Y���zG�e����ӭ��9���d(A�k��kR�|#
m#:�7
V�P`�o
-z;���^�mWE{�3t��K&�Z֫��T/���]bXA2ML쏜C,k��V�A�DBLČ��Ǘ�H� !�S�>���P8�'�L�&x�o��.�!�ar�t�Ǘ�I�6+քC�ڞ�3k	��A�ddoq���x�7ItWr(�&Bc$����
j���Y7#�,����8����d#8���l!��2z
g�22��aְ�6��-ӝ�6�P[�f�+�Ꮸ�g�-�;@?�3����0�����
v�r�T�� E��u�Q��zhA���^�O�>��V���V���5
\�-Q�ݱ�m3��3���Wۡ�]�
lg��b� �Ќ��:u�.�k��Uw�#��F�n�hW�!؛/�;�i|�>7r��]gj��
45�p�
�}���@�7�ؐ.�b�?{C"�m�(V.��!����bC�
ѐ�H��ݡmu8�n����rk-	y�xT�����G�bk�=��c}��%3�cZ�GA1�{£
-&0n�$p/&_<�S�qe"�ri�Y�����]�jZn�o��f�:�S���B������+�ۋ
&9bJ�OMa]a��
O�g��O1bg�����wO�G��@�F�6311�"S�Q���բQ|��;����<;�sSZ�w+�{(0C��
�Gjs��=�Yzo�%#�a
�q� ����{ǣ
-�Q��Y���
 8
2�
��/���
C�"ܶYOxT�c�#�	�d�]h �#2��
���I����
O�����2:<�>���r-�C`���8C(#�P=l��c\�ɐ��a_g/ؾ�����(ӻ�L_��
v�r?27ac��ɬ�g
U��YIb��#k�
���vF�m�g���x��
���
��z<��
o�$AF5�n�f�i�چ���:����T5-�u\0�m��3G��'��RGB���L�  ؅��ǩ�ͬ
>��K�w�޼��/_��.�����
���׻����7
�_mj`�fa!�]�׿�I����=�_��E2q��a��b����U?
�\�䔞k��R���bc�
���-�Km���r~��/�8
��v9��LOdh{H�e
�Ays(���@���X0�#}��%�=�V����
xM�hĨ&�{���z&�
 :��M6�2("����PF&�zXs at c�<�#4bDqW9lJ�붩��	~���·
�71w���n�]����}��D�p��/�qs�Ύ�s�aLj�0S"�"�3TT��qQ��HF��lT0"����a�H)#�D��Y�8P�"ڜM�7
��$��0�#}��E
�r�����
<�`AS�Q.b

-�$�jA�U���Q�����)aGB���;�̷ݝ���8�Z��
)Þ_�1��4.�
xX���9���u��-3V�z
c�H�m�vQ��-�wi��>���m˺£
-VЦ>W�77E�A1�
_2#�;f��Bc
-c���GL`�	���X��K�Z3rY2rd�`?�A�$"��3���q9(
�p��x�
�|PE �yv\fTR���!E��� 
��%�/����d�?�zW���[�hH��iJBr��N�=wPc�H��n+�P`&w�v�#R[�
����`D"�Zq�7;��?�����7�r��`"��*�D�3yvK7
��Ocأ+����Ǘ�H�Z3�ob�:�����8������f
1�@3PV*��ⴛ���� -���>Z�	��d�PF&�xX��	=
.�
��b�����2uP%�<?uHn�Ε��C���,.�Y��6�e���!��}���z�P�̡�A�Y�xPެ&�l��Fc�K����Fz��K�{RǴ�PZs��y��+g�	w�"����Ag��)B@�q~�&Z(#G6H��n����j��sS����m�|\9z�>�=�C]���FK������1a�6���h�����lP�"��9X���9Л�"R�\/����<�V���͢
v#[�=���D� 1m�y�zK��I�2�
-A��r��`͂R�/�-D�e�Ȟ� `�)� N���*��\�]v|s���
>��B����ȅ2r|�`
U�>��'�-�llS-]7t~^�c�*�Ф�zw~�܌�n3�kosߎKw0�ѹ,��Ddc�QCRiy�$�!�?;G6G�a^8�Ê

-�pdAoǑ��"�ĪGpM��D���=����=�I�n<�w�G��XE�P���O�ಱ���E�̤L
M�%
-�ށJʡ��D�$
,��r<�,=�#�VD�u��,I厨tF�4�
-�*Y��m1c�{A
-3.�U�k�22���Vm5
-U���)fz��b�_՗2P�u���HA]M��m�D4�$�(R�A�P
�
��0�(�ľw�<��
���l����v�2s�����;T[��H����ȵV����r�Ȍ}u�{ã
-��g�	��Q���'!���/���
��g�ә�ygxT�
-�A�
�"+�u=;8�򳡓̂��
���-��b^�#N�����sh� ��d�ؼ��tơ�#�*Jd�(���m�n	���q�&� �b���~#'������l
�f6�|��`nx����
8���� ۗw�v�~�f�S{ ��蘺��ޮ@7o1	��мD�!^�T�G�
-��c�
���ߎ��W�M
-Gw�t��5N�����9߂��}�$2<�����,�%���qP{���ןÍ�����aY�m"�����������G�8������V�����e�1Z ̕��ꓜ%�D�g�,�-��G������كEC*
��P13endstream
+x��ZYs�F~��S�
+Gs` �k�U�v������!v�C	�X ����	^e;��
�Lw�u� عu�������k�9	������	|�8%�u�w	A,����};%؍�4���R������h�crSF��ի�ut�g�j~ur�����	鉧T �`r-��f�`#�5�GdDo�㐄�UTU���	�ʴXE�4W�ɥ,�$te��KL0�R!��ɿ�'���
����ċt��W��p�{#&B�Q�J
�28����&ؚ�M�q�$@><P����r?P����s�� � �P�<?lt�e�
`m�8 �v
H��VҺ�Y�Z�|W�2��rD.��p���f���3�n�zЀIb��2iykm��ۉ�~Fv//.�����eT�[�gsp`r�
��
����9^�YU�;�ˁ$��z�s�KП�N}�ƴ�j}��߃ ����Z���Ih�xh
�F
�!��!�W�#��v�( A��gBP���6l��&���s3���X�:�w+
vc<��lwIe�
&�at�,��)
\Yݯjs�/�q���}�d�viwr�븁�L*� $2ZXlyF���Q�lD]�
+�����xD������X;�� �{��<����( ��;H������:0�7�~�
���$�8fW�q|T�������'{"�
+�o��<�3���&&x�_,x�gg�gO�@�������Lp���<���BB�\�0�<
v$
	�r�U[5D6b��D�c=�
u��=͑�"�#�(���GO0w��I-�]󱵇'�c��f8�_5D��Sv��s�y���Q���i��A�q���:
EӢ:
%e?
^
I!�f��Ң�z��U�� ����hÉS�Z�K��=�9ȃ0�P�),��
������2׫X�3�]����P�1v�I6Bu��P��[�Q&&d^ǫ��P��A�,�A���jlc�Z��*Y�����6<W�.m�EnWjR�v
+ �C^��{R at p(���i�M|�h��g�xt��Ee�O).�h<~l�4D�/��ɪΛ(��&^�� �r��K����[��6�wa��
�sT�T�&-KM���[���A��b�,���D1F�CF�6�������$`���Ԗ�V�Ez��3�aF�Q�
���tC��n8F
�a8m���&��%���rM3`��`��xT�
Ҏz\��:���~m�
��M;��V����i���޴3k
�N?&|^,�0���������`�pF�C�C��=߈z#�Y^�g
M!���}�D�o�8Y�7���$����uu����ؕ
����h!�w{[�
�sf�(�畚u
7���б͕���S��J��
Ʊ����į��	ň-��C�/���hl��m��Ytk
T.�W��OW�8�7�
�k��Ӳ0�ǂ������||M?���\�x�A�7�W��=\X��
��������OP�~�]�#͸��
�x�Z��\k6h��Ti$�ML'M"��@�^�r"�)t��Y�\�4WA����[��
d�����$�Y�j~%G��:����p�����2ZWU�\$��S��;k/叻��N�G��9Y�Vu��,guBk{��x"����pdo���7	��+7>��
�����A��zj���.g�wуP��ޏ�O���n�:��Ӕ�#s��3{_]� ����Um'���B)�p~,v�OI��`7*6a�	խ.�׀�-���O��~�F=�g��O�4+��R�xË�S� a�=��
+ziC�ݻ��.
AL�����`i�md�E"w����x��,'y6 �H!P�vIQ9�w�#���H�z���8#���#~�rDM.�/O����A�kH�\�����ڒsX@�ں���X�S���us>" #���/��Pc��ǚ�|H\P��o�@��7��wü�F��� Ϝگ���+Y�M�}����쾡d�;S��]TBW
��Rf���TAW���Q�7����D�[���t���xuq�����ϒ�DI}Q��������@m�l�R����\Lu�5t
+8�v�
9
+endstream
 endobj
-7803 0 obj <<
+7809 0 obj <<
 /Type /Page
-/Contents 7804 0 R
-/Resources 7802 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7553 0 R
-/Annots [ 7806 0 R 7807 0 R 7808 0 R 7809 0 R 7810 0 R 7811 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 7840 0 R 7841 0 R 7842 0 R 7843 0 R 7844 0 R 7845 0 R 7846 0 R ]
+/Contents 7810 0 R
+/Resources 7808 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7757 0 R
+/Annots [ 7746 0 R 7747 0 R 7769 0 R 7770 0 R 7771 0 R 7772 0 R 7773 0 R 7774 0 R 7775 0 R 7776 0 R 7777 0 R 7813 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 7788 0 R 7789 0 R 7790 0 R 7791 0 R 7792 0 R 7793 0 R 7794 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 7807 0 R ]
 >> endobj
-7806 0 obj <<
+7746 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.8973 707.9571 257.4342 718.861]
+/Rect [144.897 707.957 257.434 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_047e2a717168ae129338109f1afc9a7a) >>
 >> endobj
-7807 0 obj <<
+7747 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.3667 707.9571 356.6351 718.861]
+/Rect [284.367 707.957 356.635 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7808 0 obj <<
+7769 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 683.3737 378.4537 693.279]
+/Rect [304.542 683.374 378.454 693.279]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-7809 0 obj <<
+7770 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 661.1327 257.7862 672.0366]
+/Rect [145.1 661.133 257.786 672.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_9b7061aa20aa4b513216bcdb1a905ce7) >>
 >> endobj
-7810 0 obj <<
+7771 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.1234 661.1327 357.3917 672.0366]
+/Rect [285.123 661.133 357.392 672.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7811 0 obj <<
+7772 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 648.5045 375.7729 658.4097]
+/Rect [304.542 648.504 375.773 658.41]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHMZ05_widening) >>
 >> endobj
-7813 0 obj <<
+7773 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 626.2634 214.0604 637.1674]
+/Rect [145.1 626.263 214.06 637.167]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_173628da404c1dc2c4d423cad7f9f960) >>
 >> endobj
-7814 0 obj <<
+7774 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.3976 626.2634 313.6659 637.1674]
+/Rect [241.398 626.263 313.666 637.167]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7815 0 obj <<
+7775 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.5248 589.4017 308.7683 600.3056]
+/Rect [147.525 589.402 308.768 600.306]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_fa62abe41a99d6a01cca319ed860bb5b) >>
 >> endobj
-7816 0 obj <<
+7776 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [340.9557 589.4017 413.224 600.3056]
+/Rect [340.956 589.402 413.224 600.306]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7817 0 obj <<
+7777 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [462.1912 589.4017 513.9963 600.3056]
+/Rect [462.191 589.402 513.996 600.306]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7818 0 obj <<
+7813 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 577.4465 156.4268 588.3504]
+/Rect [125.095 577.447 156.427 588.35]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7819 0 obj <<
+7778 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.4892 564.8183 302.7196 574.7235]
+/Rect [231.489 564.818 302.72 574.724]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHMZ05_widening) >>
 >> endobj
-7820 0 obj <<
+7779 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 531.6184 245.9108 542.5223]
+/Rect [145.1 531.618 245.911 542.522]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_46d5dc7df45abdea275f0295fee58c23) >>
 >> endobj
-7821 0 obj <<
+7780 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.248 531.6184 345.5164 542.5223]
+/Rect [273.248 531.618 345.516 542.522]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7822 0 obj <<
+7781 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.3457 518.9901 393.2569 528.8954]
+/Rect [319.346 518.99 393.257 528.895]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-7823 0 obj <<
+7782 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.8399 496.7491 291.5917 507.653]
+/Rect [145.84 496.749 291.592 507.653]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_87aadd3a9d47e978a32c9867b13220a4) >>
 >> endobj
-7824 0 obj <<
+7783 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.4093 496.7491 392.6777 507.653]
+/Rect [320.409 496.749 392.678 507.653]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7825 0 obj <<
+7784 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.1692 496.7491 513.9963 507.653]
+/Rect [436.169 496.749 513.996 507.653]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-7826 0 obj <<
+7785 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.6217 472.1657 310.5328 482.071]
+/Rect [236.622 472.166 310.533 482.071]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-7827 0 obj <<
+7786 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 400.4199 289.8656 411.3238]
+/Rect [145.1 400.42 289.866 411.324]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_703f57855b17ef63b28f88fe13a51870) >>
 >> endobj
-7828 0 obj <<
+7787 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6812 400.4199 359.3244 411.3238]
+/Rect [293.681 400.42 359.324 411.324]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7829 0 obj <<
+7788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 365.5506 290.9713 376.4546]
+/Rect [145.1 365.551 290.971 376.455]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_204fb0538d07ee8ac3d5f2724419928b) >>
 >> endobj
-7830 0 obj <<
+7789 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.7869 365.5506 360.4301 376.4546]
+/Rect [294.787 365.551 360.43 376.455]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7831 0 obj <<
+7790 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 330.6814 224.0028 341.5853]
+/Rect [145.1 330.681 224.003 341.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_f41476c22751c8d79e8599443aea93da) >>
 >> endobj
-7832 0 obj <<
+7791 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 330.6814 323.6084 341.5853]
+/Rect [251.34 330.681 323.608 341.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7833 0 obj <<
+7792 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6947 318.0532 272.4902 327.9584]
+/Rect [219.695 318.053 272.49 327.958]
 /Subtype /Link
 /A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-7834 0 obj <<
+7793 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 295.8122 254.1498 306.7161]
+/Rect [145.1 295.812 254.15 306.716]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1169e57865dfa83ffc8cc23071248340) >>
 >> endobj
-7835 0 obj <<
+7794 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 295.8122 338.2632 306.7161]
+/Rect [281.487 295.812 338.263 306.716]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-7836 0 obj <<
+7795 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 260.9429 284.5854 271.8469]
+/Rect [145.1 260.943 284.585 271.847]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_ba8ba56b075b2be7b6309cfaed039070) >>
 >> endobj
-7837 0 obj <<
+7796 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.4011 260.9429 354.0443 271.8469]
+/Rect [288.401 260.943 354.044 271.847]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7838 0 obj <<
+7797 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 214.1185 241.7263 225.0225]
+/Rect [145.1 214.119 241.726 225.022]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_34dbbfe20e987a3d55c7a3f2d08f1aed) >>
 >> endobj
-7839 0 obj <<
+7798 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.6171 201.4903 407.6577 211.3956]
+/Rect [349.617 201.49 407.658 211.396]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-7840 0 obj <<
+7799 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 179.2493 249.3181 190.1532]
+/Rect [145.1 179.249 249.318 190.153]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_100662089d61a01ea43a28a944da266c) >>
 >> endobj
-7841 0 obj <<
+7800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.1337 179.2493 288.3213 190.1532]
+/Rect [253.134 179.249 288.321 190.153]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7842 0 obj <<
+7801 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.8754 179.2493 371.5186 190.1532]
+/Rect [305.875 179.249 371.519 190.153]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7843 0 obj <<
+7802 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 144.38 240.6204 155.284]
+/Rect [145.1 144.38 240.62 155.284]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_128413fc4c3051aaa9033a8030509ae5) >>
 >> endobj
-7844 0 obj <<
+7803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9576 144.38 324.7339 155.284]
+/Rect [267.958 144.38 324.734 155.284]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-7845 0 obj <<
+7804 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.5366 144.38 425.7242 155.284]
+/Rect [390.537 144.38 425.724 155.284]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-7846 0 obj <<
+7807 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7805 0 obj <<
-/D [7803 0 R /XYZ 90 757.9346 null]
+7811 0 obj <<
+/D [7809 0 R /XYZ 90 757.935 null]
 >> endobj
 7812 0 obj <<
-/D [7803 0 R /XYZ 90 643.3642 null]
+/D [7809 0 R /XYZ 90 643.364 null]
 >> endobj
-7802 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F25 344 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R >>
+7808 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F23 340 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7862 0 obj <<
-/Length 3034      
+7865 0 obj <<
+/Length 1639      
 /Filter /FlateDecode
 >>
 stream
-x��\]s�}��P_��L� v�>��v&m�m�}J2�DۚH�JQ����? � z]o�6�ɬ,
�{x��{p	��0�GfϤ�H3����+<����rE�����������M"f�&����BB����n6?�	AL.�c<� x��t�vA���{��6E����}��_�.ӻC��V���c�����7�8�)�(I$:���5�À`D��
�f��F�	� �5�]z:-�T`���<�wi������fł�y���-���S��ѫ�ol��
-��^��3�m ��\aĴ��FDk:�_q��?vW��n��T
�� l� Q�p"Xuw�ʴܮ�y{~�k_���ÝU�ߜ�u�=䧡��q���|q 
A;�Ng�_�R?Q*����(�z���_‘�I��{������T�g�Qq�`~p9��Ϯ�����^�u�\(�K�P(��	
�I1G"�9�iq
�����tL���2��j���ސYT���H������?�D$��D	�E2�$�(�
xx*Q��ɴ�k��%�L/x�
#�IXjuqex����"o֍�Y. h��y_�QE�~y	a�O��Uڼ�����u��}�ovق�9�u�a"H��[g��� �ɝ���׋Z �-,�ܮ�@rG�����{rV������ J�Q��
�ҷj��(��lmF�a��VkX[�"�����p*����R� %�Ȣ"��҈	�cM%��S�Trl�R��y�t��NM�l��v
c�������6��aa���D�`r��M��!0#b��4�TL��À>cRQ�MT,�ZX<�
���
-��I����T

-�*̥ou$��e�I��0"����%S�`���a���+�TOJ)�F(�Z��L�f ��I�I��S���P��мޑ�)�Y������F��¢��xÏ�61;~��.B���
�c��5
ǬH�C��W
���$r�-*�]�$f����W�龂VHIƦ��#4|������C�p���HX�O��;��9���\�m���&9`���/�:ڿM�5�|�ij�H�}�bΉF�$��gQ����>_�B�EPX>�`OZY
��bani��*��3l/Iþ��P�:F)C2��mo�mЦ~q�wM��
p�a�H�\�q��D	%m�Y����=�������vz�t߼:�t4�/���eFӧ�R]�e�+�#�&���
4xzs�
��L�l�;����VD�E��J���L�m}���kh2��-�. P�-,Z��
/exȯчI�
w��m��
-,��T�ڥ�n+�c2ABU_Yz8f��T7�F�j��K	�$L�%��J�vc�y�� ��,m:����� [�
,*
Z���
Uߪ+�G,��6��)������Fax�;�����)X�`?@$�:
��N(|LS3�H0<���E���z����
Ǧ=iC�T�UE�\
��bg&p�G0��2ޠc�q�
�g�%0X�T2�VZXt�t
��!�ke���^+i|[�$A�21y[�^�VY��>�n`[%57���m�T�;l&�v��<����tjZx��guҖ*����=���T}k/fKk�bj�->r��-�'��gQ����^Ȗ
-6/Pt�xJmqm������� -���9�y3o���L���"�JDa�x���(��h����xmu
�j�ߡ���}�ڪ`կ��*^|�D��C
�ŗ����T�x�M�ԁ��18���~�����E;��6��b�ٞ��<[HO����s�>�1uY��P

-s�
V1�S�=��@��|b(,<�o�:s��1]�l���\��}����`,ȣ��m�m�����39aZr��_,�|c��
�Y�h�l
-ï
*
��v�*�� �j�`_�+�D�C��-~�^h�[؄�MHKEE�L�iQ>�n�<k/D$Q!��L���Gb�۝���fL8�
&ᆬ�(���Y޿3�iJ��S��#a��Vj�p�7��n�筷�p�O�A��lQ�������l��F�
����k#�-�Z���������m٪�4��м�6���JYuS��K[�T?+?dY> �($���x6i(3�[FUԜ�zF�%	�
�
�{�{�����;��:~�O�IlN��'HBR��R!l�*M��Ԝ��z�&t/�B
�TU�%6*
�t�.��	
-�(���#�a0q�V�
�VyHa�Z
V�*�
���
#�dF�GaX
v(��%
��g��`qLT�q1&AJ����#1��N��I��!oA��{�>_����,XM���G"�ۍ*D���oG�lQ��<GP�7� �t7S�R2M���W�8-�}
�-�O�*����D�*%�t^׵��-�7)jo�Z��9�͑T<vF�¢Z�5ТC~�h���v�Q�g� *��	B��/�
��f׮a��׻�&K�̤(�J�hy2�AE�Pd 
]2�2#Ja�<1
c�ٝ*3�!)�q�(�E�����VU
-A<�)�ce�DL�`���"3�UXf����O����ia���]2�2ӣ0,3;^Rrb�/]�p�}�ӻ����]�p���^Lrb�/]�p�}�����(_��a�m��>҅$054�OzR��H?

H?[�
�ꈠ�;3�˪δ��$��a$
�s�cO�-,��
�!U7�wHչ~��;��@��|�~���C��A}��s9������s��%ߤ@8�/�o��z/G��(��=�¯V�a� ��t��\{-�Qb�Cf\��)��=��K�)N������o�=�`�mO1
q�֋�)N����owrO1�KO1���;�?��H�3=E��X��>ډ�o�$���O�m����
-I�;_��J$�j��ې�n���o����>m�lY����y�������
!�'�s<��K/�_�TV\~��V��Fj�=ﲁ��'Y�����Y�����悥sE��-�ܭg���}Y
___���O�o�ږ������X"�9�
��y\:�g*AR�ru�ܶ�������7���~���͏
P�7g�endstream
+x��ZYs�6~ׯ`_\i&�q�'�CӸ3i�����d44	ٜ�PI���}$H]%u|��<���b�@`���֯��G��s�Y.rmj[���bK�	J�Q`}���

	Ƹ1 ��e�7�P�O���
+2o�{x�y����_x7i�E�[o�_G�O�	YRO��l[���וȊ#�k�Q�&j��vixyy>R�A�K�*�F^��'�j��q�*��s��3���޻Q�
5�"eX�D&�����
+��{
#�:�])[�2�YW�?z�3Ĕ!l��«�+B�2�bv
��*�����,�0M�ҴZ����~ۈ3�R
+16ʿP*V~c}

+�e^MZ}�=�n������4c��0븘W�l�l�M�ݏ��q�����,0��5��[�Z�e�j� �SkH8r9�ܺT�,KL^�[�N�<�gq���b��H-���3O>]U��������G�&n�����뒽2PNw��Qw.��q�|m�܏�؇�Pd^��|�*�=�/�M@�$}0?�Y�hq� ���&�Ij$��}�k/̗�+�3�N~���f'�7�l	�`."
��"�z��*	

�v�#���+��͛mq/�Q����d�J�!�"I�Z�ZupW�r��r�Sm�pr�j� 
�h�b�#��剳˓�����E0d���ˠ��bI����_�2��V+�! 1�P8��>�i�MYMZ��9���}�~�lJk�vS	�Uc�|��F���t���^lF)�[�/��~%K$�b��euX5�	Z(�Z61T-G���j��>����
U���A;�}��s��u��	���
&J�$r%&�r�v�؊�ҕ~��X�Q�8w6��B�F�iJTӜ����E! ��iW!
%CT���Ɵ���R�r�3��d?�k��
ٌ5>��`��i���bI�8�cC=�	`g�P%{�u)�T��ΧY1����SP�� �G`���UmW��7���i����O�략m����v�5ye/][o2'�$A(臉��\'��M
Q�1�q\��@&��Y���ő�N
<$� ,�j����i6hE���q�Ooϼ<o6N
8&%�lU�{��o�d�`�qV������E����
+&Ȣ@u� h������O�D�T��fKjò�;
YO��q6�ez�L��4d�E���� ��  �����A��|`
�S�
��
������0kk�A���y�cK*W9��4Σ���̩A]^��c�f��K`# %WNol�JМ���N��f)����Gk�X��ٛ
���1�7��v'�
�&�H�n����>�
H�;A��]Wv�sa�\:T�͸؅ѐ��0�!J��go��nv���@ڤ[K/jXwR�S\�ׇ.6"@VR�Z�Z��j�
ݷ@ ��t�=;;�8�g��f~�Kvb<{h��Hb�	
+�V
�Ky(�î��WfZ�<̴��˕���Bğ���1��V"(�'g��gV��G��B�_��9���a�v���
+�~��E1Б8��+�Atl�	���~����7-Fu'�(�Fe�g>��摒�^���\e?���
C�y�U�lq%
+#�	�f�0���\�z�T�}���o��S,��hN��n�bzvzzww��
͒p���8�N��M|_h!�eC�'�#N��

<�=�.�'�@h�`
+endstream
 endobj
-7861 0 obj <<
+7864 0 obj <<
 /Type /Page
-/Contents 7862 0 R
-/Resources 7860 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7903 0 R
-/Annots [ 7866 0 R 7867 0 R 7869 0 R 7871 0 R 7873 0 R 7874 0 R 7875 0 R 7877 0 R 7878 0 R 7879 0 R 7880 0 R 7881 0 R 7882 0 R 7883 0 R 7884 0 R 7885 0 R 7886 0 R 7887 0 R 7888 0 R 7889 0 R 7890 0 R 7891 0 R 7892 0 R 7893 0 R 7894 0 R 7895 0 R 7896 0 R 7897 0 R 7898 0 R 7899 0 R 7900 0 R 7901 0 R 7902 0 R ]
+/Contents 7865 0 R
+/Resources 7863 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7757 0 R
+/Annots [ 7805 0 R 7806 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 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 7862 0 R ]
 >> endobj
-7866 0 obj <<
+7805 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 697.2473 203.0748 708.1512]
+/Rect [137.432 697.247 203.075 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7867 0 obj <<
+7806 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 697.2473 296.3242 708.1512]
+/Rect [203.573 697.247 296.324 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) >>
 >> endobj
-7869 0 obj <<
+7827 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 658.393 287.8558 669.2969]
+/Rect [157.636 658.393 287.856 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_51fb0220102e525b11cdb06dcbe322c7) >>
 >> endobj
-7871 0 obj <<
+7828 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 619.5387 294.4813 630.4426]
+/Rect [157.636 619.539 294.481 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_2f13e4ffe7b47ec50721791877b41622) >>
 >> endobj
-7873 0 obj <<
+7829 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 538.7762 180.5399 549.6801]
+/Rect [134.114 538.776 180.54 549.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1c59e94611b71ddd67acd033a05bbbc7) >>
 >> endobj
-7874 0 obj <<
+7830 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 538.7762 280.1454 549.6801]
+/Rect [207.877 538.776 280.145 549.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7875 0 obj <<
+7831 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [348.4445 538.7762 420.7129 549.6801]
+/Rect [348.444 538.776 420.713 549.68]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7877 0 obj <<
+7832 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 418.7799 226.0342 429.6838]
+/Rect [175.349 418.78 226.034 429.684]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_137dcf52993d2ff3dd6e4678b45baf56) >>
 >> endobj
-7878 0 obj <<
+7833 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 418.7799 393.4443 429.6838]
+/Rect [321.176 418.78 393.444 429.684]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7879 0 obj <<
+7834 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 367.9704 178.2386 378.8743]
+/Rect [134.114 367.97 178.239 378.874]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_1c2f0ae89d7bf247a76c40282f31758e) >>
 >> endobj
-7880 0 obj <<
+7835 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 367.9704 277.8441 378.8743]
+/Rect [205.576 367.97 277.844 378.874]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7881 0 obj <<
+7836 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [346.1432 367.9704 418.4116 378.8743]
+/Rect [346.143 367.97 418.412 378.874]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7882 0 obj <<
+7837 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6253 317.1609 245.5216 328.0649]
+/Rect [135.625 317.161 245.522 328.065]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_c2cd6705bce0af4bd9880b990baf1198) >>
 >> endobj
-7883 0 obj <<
+7838 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8481 317.1609 325.2287 328.0649]
+/Rect [250.848 317.161 325.229 328.065]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-7884 0 obj <<
+7839 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 305.2058 186.1788 316.1097]
+/Rect [113.91 305.206 186.179 316.11]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7885 0 obj <<
+7840 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.4778 305.2058 326.7462 316.1097]
+/Rect [254.478 305.206 326.746 316.11]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7886 0 obj <<
+7841 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.8763 305.2058 430.4326 316.1097]
+/Rect [370.876 305.206 430.433 316.11]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-7887 0 obj <<
+7842 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.6253 254.3963 245.5216 265.3002]
+/Rect [135.625 254.396 245.522 265.3]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_025902247d9c8b46d92c514c1646ff69) >>
 >> endobj
-7888 0 obj <<
+7843 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8481 254.3963 325.2287 265.3002]
+/Rect [250.848 254.396 325.229 265.3]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-7889 0 obj <<
+7844 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 242.4411 186.1788 253.3451]
+/Rect [113.91 242.441 186.179 253.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7890 0 obj <<
+7845 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.4559 242.4411 330.7243 253.3451]
+/Rect [258.456 242.441 330.724 253.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7891 0 obj <<
+7846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.0745 242.4411 437.6308 253.3451]
+/Rect [378.075 242.441 437.631 253.345]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-7892 0 obj <<
+7847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.9202 179.6765 243.6051 190.5804]
+/Rect [135.92 179.677 243.605 190.58]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_af0214aee8884dc52be4e061d6b4df94) >>
 >> endobj
-7893 0 obj <<
+7848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2264 179.6765 323.607 190.5804]
+/Rect [249.226 179.677 323.607 190.58]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-7894 0 obj <<
+7849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 167.7213 186.1788 178.6253]
+/Rect [113.91 167.721 186.179 178.625]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7895 0 obj <<
+7850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.4778 167.7213 326.7462 178.6253]
+/Rect [254.478 167.721 326.746 178.625]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7896 0 obj <<
+7851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.8763 167.7213 430.4326 178.6253]
+/Rect [370.876 167.721 430.433 178.625]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-7897 0 obj <<
+7852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.9202 116.9119 243.6051 127.8158]
+/Rect [135.92 116.912 243.605 127.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_2560fe5ce16277c4b4db17e951047028) >>
 >> endobj
-7898 0 obj <<
+7853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2264 116.9119 323.607 127.8158]
+/Rect [249.226 116.912 323.607 127.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-7899 0 obj <<
+7854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 104.9567 186.1788 115.8606]
+/Rect [113.91 104.957 186.179 115.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7900 0 obj <<
+7855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.4559 104.9567 330.7243 115.8606]
+/Rect [258.456 104.957 330.724 115.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7901 0 obj <<
+7856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.0745 104.9567 437.6308 115.8606]
+/Rect [378.075 104.957 437.631 115.861]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-7902 0 obj <<
+7862 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7863 0 obj <<
-/D [7861 0 R /XYZ 90 757.9346 null]
->> endobj
-7864 0 obj <<
-/D [7861 0 R /XYZ 90 716.2211 null]
+7866 0 obj <<
+/D [7864 0 R /XYZ 90 757.935 null]
 >> endobj
-7865 0 obj <<
-/D [7861 0 R /XYZ 90 716.2211 null]
+7867 0 obj <<
+/D [7864 0 R /XYZ 90 716.221 null]
 >> endobj
 7868 0 obj <<
-/D [7861 0 R /XYZ 90 677.4863 null]
+/D [7864 0 R /XYZ 90 716.221 null]
+>> endobj
+7869 0 obj <<
+/D [7864 0 R /XYZ 90 677.486 null]
 >> endobj
 7870 0 obj <<
-/D [7861 0 R /XYZ 90 638.632 null]
+/D [7864 0 R /XYZ 90 638.632 null]
 >> endobj
-7872 0 obj <<
-/D [7861 0 R /XYZ 90 557.75 null]
+7871 0 obj <<
+/D [7864 0 R /XYZ 90 557.75 null]
 >> endobj
-7876 0 obj <<
-/D [7861 0 R /XYZ 90 476.9875 null]
+7872 0 obj <<
+/D [7864 0 R /XYZ 90 476.988 null]
 >> endobj
-7860 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F37 2043 0 R >>
+7863 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7913 0 obj <<
-/Length 3678      
+7895 0 obj <<
+/Length 2797      
 /Filter /FlateDecode
 >>
 stream
-x��[ݓ��߿�O�[���{�#EU�*��m�8jKkkwl��2{�_��O�����J�r�`}��{�{��3K��E�J(�3.��^<��/��{�����೛���b��\R���7
$A����|�$1u�"���k��E�+n__S�l�Ϗ�-n���ڢ}~���uW<4u��}�X���n�z�7B"���HJEA
��ϖ������;���
&�#�t��_���p����.��~[t�}�]y_��$[��
���%�s��ꋛ`9gX�$�v�����b��
-#�gb�7�<������l��\�3�/�)�p,PƲŊq�I�:AD$����
�k�+E�R��g��Hrc"pVy�d�T�n�Jg����<��զ,j{��]ḁ����,k���2�w����B�諸�$� �1�	&B4�R��u+D$](��H�ߦ̛8(
<7�d��*��
ڋJ�8��"�i}�R*�*�WT�E�p�jO��
�\ab��r,e_n私�'S�T!�3ٟ�=��̘�pzޗu�+�� 5��.�c��B����i�x2
؞ ,��+HI�vwM�
Y����[Nrb��_���؎�~��߈��`{[�o1�u�=���q
�z���QN )P5�l��@5��)�������\�K
�g�59�\��+E����qw�u�WrBŴ�X�^5s�Gm�@��d���8��/�xו�&(|���V�k"|��	$0?21�F�
�G�57SA
Z7��l��J .Y>��~��_�O�H���"�6gO�a��Tc��q;�ٲ�!�B1�t��G�\�Iڜ
-�Gqr������|/�9�0�g,�hf�=���Y��Z
-����A���v��1�V��Xo�����j�t8 
� 0LZ9P���
��N��M�B�%� ���C:�]
-�b
�.��A��6�1���;o~mI8l�+%mͧ
-�F9X�.`
�s��Dv)^�
b���(���
��
�y���l-:�y�xb7��BSP1�ᐢ�z16��$

@�$�T
O����YqN���d����d�
L�4;&'�	`2VgL^f�L�(0���`r�
�
jqL�Z�o�I� ”�
LFL�IO�^`���y09T�
��U8o�\��
c<��7
&��$�Aɥ6�36�LB���4�'�����g�sxR#
�]j�@?c�1�Y<�$���:i�@5#��
ex ���:�N��Q�������&�M%E���뫦'/R�W��S�*8�az��ט�p
d����
-�$ɳ�W!�@J9�\�,t�N`ה�x���p�u�POb��?�<�u+x�7S6�)�fdN�$!0�`ts��R�b�w<��Ó��ُ�!�`|���?�jN���hlՓ�˜D�0�xܖzVz����Z�2��u�fV�		�ÌN�&P����������L��B"���T����fT��
-J^
y�~�c�缰r���2�Y{��RQ���{p�e �ez�&P�b���������dy�"K��<G<�ʳ'�Z�ٗ��V�@�
�3�f�ϝ�n����ɦ�w���+�uM##����u
c����5O6_�"�C�P�2¼���f�
�/�nS���P5���^�<
�(Դ��܁>���Y==]O�u�X�e��V�r���ݸ�@�'u]�-(�(�#_B-J/�A�C4���_�y�95F|�Ƙ@Bg��jFƔ.<Y_�����
-��#_�x���"���eWT�rcq���a�V��cr:�L,I��k��K29qTtᙚ�g=�Pt$�/?8�>

�=��@-S���G_� �Ad+��7�_�эƫioZW��B�*�[���L���2���͏����ȃ=u{
L
X�*2u0 b ����v�\S�|r*�7��ݏ����u�u]A���e[��� ���SC����������֝�k}�#d�@�Z�Ŭa
�W�}B0=TkP�� ����9����2�X$��ܤ�?�鲤�|��Qߪ�f����3�7��Kǂ���02�pH�	fx�:O~�栻	�Xk��Ǧ�t�@`Lm
i�nZj՚�Y������هne��b��>�dmfc��̽5��r	�E�s��j���?�,�Ψ��}a��p�}�Cf���1��}
���!
̱m��ڼ`$����

�Si�
�UY=<��C�)��3��l�[E��e��b{�2c
#P�h?-�l{
�j}�Ƒ��Zw�
��
���
���I2抹��w�	�\��6�(��������͵;]wOb� N�
SY�,N�H0����,h�l0ޥ�i�\��ےQ��.�DTo1婑�'�w�~L%^��
-���IÚT1�@���T|�S��]BE��
-��������(xl=
-
l���� :5�'c
�iX��s
��
Hb<=

�%���:e}g��T�P�M�עrQ]؟��x_k�������c�~t���Lg*�\�d��d�0��
-�̯D�� ���?�o Y����g���&���MQx���~v:�
-/
�4���5veg���r-�	��&��I(�:���e^X�6E�*Sϴv���M:v;̾��v����;���նsL�}
��������]��PuAԋ�
�d�8�C�xlv�CY����ޕ��^e�(�F�8ʊ:�kL���


�>

^����g��Aa�8#Ql1���Nts�g{,ْ²740?N̶
�"	��+9�,V��r��W�!�\"��isH,�~ɪx*�k��eB��Hp�Z�Z�E�`g�s��mao
�L
�Z[��c�6#�Ob-G�����P��E��G������/��!%S����|f���r��2���
Â%_%��@
��l#&�hc��6Ƥ�S{~F�oP�交|B`��m��
J�[��f�=���C����He4!���*���m�p,�,�}OfG
��\�XI�fEP�9�d�IʁP�s"����
���
8%1r����X�������{�Tu�^�� =z�o�W���B

G).p�9�mS
-�\&���"VzC���)Z�y���yoJb��I�_!
��FӭiS�I{�A����
��`���7�O^�P��2��p `����b���jpt��w���3c��	��._M�0���������Qc�
NZ{�-ֺU�y�]�ޙդ!r���0] ҠF?�s

Gr� Im�PO��j��O;���'�n��m�7�
-BN
-�/|� �C���g� �	0Q`^��l��ѯ�R�9�k���~PS�w&s]�@��Τ���?�Aqu�1h����M���@I�����w���}t���7mrY�`%�s�)
@��8�3b��$�f��S"���SQOnW
�fۘ���*uHH�W���Uc԰���=��;�r6�蘝��1���<ټɦ$F&��L�
�r#����A�3��z�����{��qO�;
{Z�u,�n�ԙ�/N�Çƶ�~:۪�ʃ��4��
-?��$׵�F	C��]�܍ź/��MBj��gP���5�NJ�rU�hw�Q�n�V����?]
�t&����~���nIv�x�*��_�Bo��n��Pމ�Ⱦ�q��
o��V��/�U4�_=�Ǯۿz����	��XW�U���~�r���	�!y�q�@4ҥgyX���P�u�� j��p�j�Q5xjB���*��V�endstream
+x��ZY��6~�_�'�T�08H�
om��N\�c���>�)G�H\�2IY���m
<Q�d��C�H��Fw���C³�
�^_}{wu�=g�������,�3�	�)��mf�� &K�1��]<��4Z�]P<ϓǝܔ������Ǜ�7�:��Y��nwQ!���p�=!=����s�k�7$	F�k�
<BD����
��ITU�%�10
�\�E�Ҭ���\�`.�5,���s���y���է+l�h��	�x�^���6���
#���Jg
epMf�W������6��� ��l����
a�[�����
+^לּr�N⍌2󸉫:Ғ��{Y�̬A��>E��|1$!�4Q�qrA<li

L|��M�6�)+\��މ-)f�
)�0��f�R�E%P(0Q_��a�_�
�
��y^0�'���u����Y���ipus��
Lj�x�@ L��G�J�Ac��з�~���Xy]������������<Y���i׏���W���6����>>�q�r'�UT���_��
�ah�a�b��dž�
E��.z���j>���}�e�i7Z�͓x� ~�I���Y�S
n��\x���V�<��SZ/��  C�;�����'�p��`R9��Z��}��7��{M��0�O�9M:9��Jk�g�
��1M��.�g�8ۮ^��ا
����	0#DZ� A
�ד��$�a$>ܞ�O6���Pn@�
+�"��d��DP{�����9C�'b�&E�����L?	�O�u�y �d�E '���������N��3h�b�6e�?��=ؙ�vF��;C��!�#�Rs
+ٕ�����u��ݳ:-����q(h��%�A���s
�7��i�fӇ�;�q&}�Y����_��I��!
�
���/
+���g�(Ǜ�a̫�ts]��B�����
+jMW~QG~2	xD��S�V��h��6]�x( <iB�Щ�Ң@H��F��)������%���%,�x�a	{[�u
%� C�q�Q��V�����T�\#�
DyjC�!�8�Σ��*�S�Uq��T����4@;Yʬ�bi#�g|q5*`.h�&�qsH�	Ӓp�j҃o5*C��^�:��1��JV�2.j�L�.V9
1�p
H6�+`���	$:�s"ـ���.
������c�GB�|���o��T�?>��
�t�8��?��,o�4��5�BTR�!v��n���
�m{P�����IP

�K_ޏe'�d&�&�'I����`E~�K+{��|P�U���!��b)�R�D+��S��?�k�PUu�k����#�aKؠˠR	a��u^� "8�6^���pP߭����z�N� 
+�Z���U�[��żh��r�
��H! ^W)gВX��/�CT������˜7���01FVbT���j 0
�Ɖ[�@��S];��C��f�V��>���&{С�����h�Z��y����\�Uֵ���"҅"ܪ�T���#���Ue��
+A/˶�_+낍��!�w����敽��vgo�x#+m����������Q떙��]�<,�m��7T�`�`YB

���Z�fL~�Lϵ�(7�\��
��(�j��6W�+�p�
+� *��(��jb�m�!xC�m�TG^h���P}pF>#�
�7N ����]{�l�_CD� WB(zD0�\*B��5�]�K�9�C+
T�v%4-�G/ arp@���ek�t
+!��x>�
��Z�ı�� 5ۋc
�h
3�r)��g�`����G-��4��2&N���g��?G�Rjhor_f&C^;;����~P�&�N )4�Ht��Jۨ���,�s���A��9@�6[��62A+�\cx��MXh�����/t]��
��T�f���~K���0d �j�ۣ}n�G�56���cJ��n�ƌ��cn+�>��
j�}�Ԗi�1����unV��(�/�m~T��� BS�9g�6܃
���|+3��+�N���ӲQ�&��
*�V��NV��H/���
^����3`�y�uS_�Ņ�M崑���\'�KPRv���#�T]5ƃ��`T�)��*��A&�&�
��qhxZ����v���Q�`b.
;r�|�E�<U��E�ƭ�ܠ�I�e�SB�7�זz�����N�z�S�'sk<�/
!�'���
��
+� p�
��e0�I��a"Λ�ȲM�
+���dK"O
���D�h7msi�+k�J%�̶�Q�]Vk_��r��*�$ڢ�.��
�t�Y���U�4!���N�D
�D�Xq�͊��c�ғ�نr��XMD�H�o7$Y��cf[�:������ �l�!n���5Rk�M��O\�H��i���D��l`�#��KWbU&�)5����8�=_���3g��ӜJx�kc.-~]����U
�Ω.��t���mϬ6I{
�s�A�e&De���)����/��H��34���2��(�����-�ȒT1�ڨ�/*שׁX��^m>�i4�(�MT���],!�@�M7��T��Nϖ^���|���|8m�z��/�<�
�H>
���Õ��S�E�qƾ(�u��P��2�VB�Bx������5��}�^�������eG�UK
o��^����*�,HG���NO����h��'�8BMC�i%q
�J�	G-j[A��N�}\8��p;�;�A�t�����A��gPf�����y�}�U������ ������U��(�7z(K��K* [...]
+endstream
 endobj
-7912 0 obj <<
+7894 0 obj <<
 /Type /Page
-/Contents 7913 0 R
-/Resources 7911 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7903 0 R
-/Annots [ 7915 0 R 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 7934 0 R 7935 0 R ]
+/Contents 7895 0 R
+/Resources 7893 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7757 0 R
+/Annots [ 7857 0 R 7858 0 R 7859 0 R 7860 0 R 7861 0 R 7880 0 R 7881 0 R 7882 0 R 7883 0 R 7884 0 R 7885 0 R 7886 0 R 7887 0 R 7897 0 R 7888 0 R 7889 0 R 7890 0 R 7891 0 R 7892 0 R ]
 >> endobj
-7915 0 obj <<
+7857 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.1381 684.266 242.189 695.1699]
+/Rect [136.138 684.266 242.189 695.17]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_6f27f62cf5d65574cbb44025b1b3e585) >>
 >> endobj
-7916 0 obj <<
+7858 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.0282 684.266 322.4088 695.1699]
+/Rect [248.028 684.266 322.409 695.17]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-7917 0 obj <<
+7859 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 672.3108 186.1788 683.2147]
+/Rect [113.91 672.311 186.179 683.215]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7918 0 obj <<
+7860 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.4778 672.3108 326.7462 683.2147]
+/Rect [254.478 672.311 326.746 683.215]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7919 0 obj <<
+7861 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.8763 672.3108 430.4326 683.2147]
+/Rect [370.876 672.311 430.433 683.215]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-7920 0 obj <<
+7880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.1381 621.9397 242.189 632.8437]
+/Rect [136.138 621.94 242.189 632.844]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_715054228bad30a232707ed0357cdd98) >>
 >> endobj
-7921 0 obj <<
+7881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.0282 621.9397 322.4088 632.8437]
+/Rect [248.028 621.94 322.409 632.844]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Checked__Number) >>
 >> endobj
-7922 0 obj <<
+7882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 609.9846 186.1788 620.8885]
+/Rect [113.91 609.985 186.179 620.889]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7923 0 obj <<
+7883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.4559 609.9846 330.7243 620.8885]
+/Rect [258.456 609.985 330.724 620.889]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7924 0 obj <<
+7884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.0745 609.9846 437.6308 620.8885]
+/Rect [378.075 609.985 437.631 620.889]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) >>
 >> endobj
-7925 0 obj <<
+7885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.0837 547.6583 163.4496 558.5623]
+/Rect [141.084 547.658 163.45 558.562]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_62d44847fe22abb82cbac84a776a9c72) >>
 >> endobj
-7926 0 obj <<
+7886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.4337 547.6583 357.7845 558.5623]
+/Rect [174.434 547.658 357.784 558.562]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7927 0 obj <<
+7887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 547.6583 513.9963 558.5623]
+/Rect [433.021 547.658 513.996 558.562]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7928 0 obj <<
+7897 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 535.7032 221.5955 546.6071]
+/Rect [113.91 535.703 221.595 546.607]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-7929 0 obj <<
+7888 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 497.2873 179.5535 508.1912]
+/Rect [113.91 497.287 179.554 508.191]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7930 0 obj <<
+7889 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 497.2873 243.314 508.1912]
+/Rect [180.052 497.287 243.314 508.191]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_09eda1d1953d8f83e4352c6fe78cbded) >>
 >> endobj
-7931 0 obj <<
+7890 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.6512 497.2873 336.2944 508.1912]
+/Rect [270.651 497.287 336.294 508.191]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-7934 0 obj <<
+7891 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [110.8613 167.6041 170.4176 178.508]
+/Rect [110.861 167.604 170.418 178.508]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-7935 0 obj <<
+7892 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7914 0 obj <<
-/D [7912 0 R /XYZ 90 757.9346 null]
+7896 0 obj <<
+/D [7894 0 R /XYZ 90 757.935 null]
 >> endobj
-7932 0 obj <<
-/D [7912 0 R /XYZ 90 483.9105 null]
+7898 0 obj <<
+/D [7894 0 R /XYZ 90 483.911 null]
 >> endobj
-7933 0 obj <<
-/D [7912 0 R /XYZ 90 435.3467 null]
+7899 0 obj <<
+/D [7894 0 R /XYZ 90 435.347 null]
 >> endobj
-7911 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F52 341 0 R /F37 2043 0 R /F100 2135 0 R /F40 350 0 R /F10 484 0 R /F8 523 0 R /F25 344 0 R >>
+7893 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F50 339 0 R /F35 2013 0 R /F98 2117 0 R /F38 342 0 R /F10 473 0 R /F8 504 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7942 0 obj <<
-/Length 3172      
+7910 0 obj <<
+/Length 2771      
 /Filter /FlateDecode
 >>
 stream
-x��ZYs�6~���Ӯ��`� &��J63[�
��8yIR.J�m�H�"J�5�~�!��$�s�>lM�X�
���$#
��H�
-i��h����;��q���~�%�����#���rt}�r�	J��z�Ø��dJ0��o'���*��vB�^���&��G9�����̷�]]�˛w�����t���B:�)�HJEA
���%�4 Q����N0ш0�
���,��̛f2�7M��j�̷�
y[��	��E5�!��3�
Ӌ��a���
-&�ٷ�/~�	���__`�t&F�њ�V�2���xw���Ǿh'��G�8 A{D�R�vu_�Z��
�G¡Tf]z��/�����׋K�@ǻ&�n^W�v������ؿ0~���M��rGQ6�oUo�z�-W�r����n��7�ba���pPhQ�@��`X��K
Aڥ<�˥=����
�5��ʽ�1~� �vC��.��rk��]n���^�MS�ZU�YB5u��Kbw�k�
7{��ԏ@c����B�r����%��R��2�y�p÷�#��
��!�q[oV֪idՊ#�%�8%S��a(�#
-)�y�

I��
�@TJ
-��n
e�C��lԡzL2����h
�.�#ڻ_��|8��z��)f0A�+v�ЄH5��SS�xf�D�:��!ɳpf�5t0�dt�S�-�3OE*�эN���̏��K�2�Z��SK�E[�A{���c���
"u"���K���p�זW��$�
��;v���HXk��{R���$,�2�H��ȎJ�琲(����$#� �m�hwg¡����
-�9t^ն���n~o��:��
�K���b��g�q����h'������
�=�<��eH*-�7�{��%�Q at 0�#]�q�8h�6�#�5�)�½�6i	H�ͿZ�4#.+Vmb�q��M\0��jc����
�C��!*���Б�
�#�7�;G򶃌<��K?DG�- <$�
�N\��衲@uF8#��׳�s�Q p&d��3�C+ ~OA�ڎ�#W�k&�d�g�y��L���h@�0��
b
3G�P*�1M�\�x-BF�uxk�-�
/��I1>P��qk lMi��C����C󀴾��a���n
-�0�yC��`�n�**�+�_�]��븺�+�Ŕ�Fg���5�Ĕ NE�@M�r(V6/�3����˦���W·�h9����C�m6p3{�2	Hߘ��f9��K�{>@F���5X�'�iw���|O�"�&�	�ӣ狁�t
>H!@F҃3�"��׭yB�CaI\�3���1�5���Gi�F�yk�'�U�_���CaP�
-�:IB

J�C�5+�N�J���E� F<���Xg�K�8,gp��]�b`	fQ��'%���x��&c)c���LU�
Vd[��f
�2� &��d�2����N1<�w�Ÿ���
*���ak�.>MY�$F�㽧.�)
�d�-����
����?�BT�A6Qt`�;�3�c6@�NH��bO�I?Eh�-5

�
��NE��"C��n|��Pb����72d�3��.	��E��n�1ՔH��	S�W�o�m�0�f;��}��Pa���wN��';o��$v̾/���w���f�E��I�P�Ƒ�X+�oFB�
 ־W
�4LQ����b�vx
%�2��_�n���r�o
�a�@�Q�ˬÉ�;s`V����d�s���l�-��������۽�=�� �������v�q�T�O���H(P~��
-
O�UG�G��I��,gԐ�@ �)���7��!� "PV������Δ)�F%�n�U4O�����ǭ�3��6
=�VA���U�~ڝ�(�|���Lp�S�_�;�3�3e��H���Ɯ�"B��x\
�������ǹ8D5�`8��%`��N��
ʣR��~���ݻXK�RҤ����#>��/�
��+p���߻�wU�	q��
�f(Z]p8T+�|w�(Ye��y����ri{
�K���h�^�
1�ۿ�p�ne�gY��
S����Ä�A6��P�"�D ֈ�Х�zԕ��C��k-��+~7mY6�p�C5�1i�\������=^�[��}�7e>3;5\����u����ʐET���%��Ԋ��D�
-M�g���ʢ0-��k�\�	���5d�&;����;XY3(�!�c���NU���O����^X�0��ø*`�@fV��;��Tb<~4
�F�O��h�.�{CK�F����@�Z*Ӡ*��EZXb�j�]B
3�6Ӈ�w�����MI2(���@5T���d�����/��<�5H(��� �]�\4q �杧� Z��
��[
����wk����ƺ�SH����$1
ȅ!I܇,�{��d��
�w�
m[�S��C�Y�0~;�d�8~<�$�IO�
S�<�
-����5F7�v�Mʾ�
�ZlLZ���g��QJMz�&�'M�?G��9�><G҇'J�}�����P�[6�&L�_2Ģ��`Ip���r��	�;��s�8�M�>xI4ᕣ�.{R�m��}��kE�h�]����o���6b���
-�!� ��Z�_�7��N�3�[��B����Օ
4rT�?Zt�$�ѧ��$|�yZ
�=yY�w~��A�����0�������\�
-�
�pD�}�h�e7��J�O�ϗE<�e=o�m��)I9b\�.[D
�pM9,�2��9�Md�5�)7��\3�e�/$�s
-@:��$eH(��o�e'XD���˳2SzO9�w�����չ
�7�0m�hQ�)�[؛C'X��@f
-�j��	s��`HN�����~wM�P�����F&�_
vWT�L����8�_���U,4Aߗ��6Z"*B�5����hH),.���W߿~��u�'�M�� Hj���	�PV˲2��=������۟R�_h$��v��/�yWu����t��c�}��=
��Y�Ҕz��kֹO���Q�ͯ!h�䇻�|�,��U��W2�*CG�
@|G������q_����>:'��A���D�������ߕ�Z��*����+�wE1������m�}�~����-��0���p�����5k��n�/��


$
����۫�zy5h �Ғ�۪�7
D]��g�DJ
�r��nUoBuf>�=|*���|ܝP��f�endstream
+x��Z�s�6��B��A�D^3m�t��]r��/I�CQ��F"U������ 
$(X���\f<&.v��>~�$
-Gx����WgoB6H�4
]-F��� N��j>�8&�h2%���	��Z'��'����&�W��?�Y�T��OߥM�,�du}y�l��oW?]�!�ǞR��0�-���Y������C ¸!xy�����'S�10t��7����ȇl�U��"�!&3L%ϳ�Wg�`�G�U
�P�������h�?�0b"
ݶT�Q@\W�˳��ᾊ9
��2�C�V�*�d�</����Zȵ�qs���u�ܔ�s�����%L]ZuS%y��������ڪ�)~���ku-�F=*7M�NV�����MY5�\=��a��y�qRI��)X��z+��j�4��@^�{X\������]���R��:���F���Y�.�0Ǜ���Y�T.�PL���!Q��ͭ�Թ���T�
�HaȮ;B!�I�����J�%�f�Z/�U��$�Nine�V�I
�q�c�* [...]
t́Y��ܠ���
�c)�رD�EZ���
H��lļ8F����|�E`{O@ �^>6��<�<p)z�<��K��oB
"^;<?ˆX:��z�{��oJ1�)"px�
�
J�C7�^��P
QSԩ�;�_�
y����}�#
��8�|r���M�ѫtf嶘-�z�+w
�Ѻ�n�=�IDP
��r��}$Q/qBĉ �3$(�
�[�N!g�#
��
��Yk��Jo�sG���AQ���n=���[�¿�l=iO��2
�rT
�O&���Yo��N�^�g/
0N�T
+}w��Xhۉ�q�qc��ϟ���1��}e
��.��T���?9&3 %H�e�Z,ŠL�
x����t��8a�Y���X�0+�H�V����jc�M";�_,aQ��C�I�U&�����-
�w��(׏)?��M`�^�
��*_�o��Y��R7_����
H X���
��+����EU��y\B,��=� .�<��E���E��~\|
�cq���� ��c�w𠫎}aB@�
���b��1��:�(������Nu���%����H��.�!CKtn@����"3��|Y�������ſ�]:ؖ&ۃ�W/�~+M���E�Z�*E��A�
�j5"��W�R
T&s�*iLU `,<V�А �b�@p
�X$���ԖT}Ѻ����AO[�<��0)�w(u��rnu;V9_���*OfRC���ֿW�E]b�g� �ݱ mkb7ʇ�
+���G���l��FV�7^�4-l��
Xb���yg[�[Gt��,

+�Ӳ<�B
+�)���kL����db<��
�R�3c���}�;IK�h�WIK-m��i
c��z��Em�
��
�Em�G
{=��l$���d2��y���KCYAݔ�m�<��I���z�������5���7BD���B��υA�
�=*
����Hᚉ^_��\먷��!<̂$H��l�q�&tY��R
�G��>JkQ#�d
�w���
u��ْo�s=��g�Τ�)�v�H�z����4xM��꥚P�-�����9"s����š�_ݜk;�1]�<��R��s�B�ӻ�4M|>�
+�ho�A�kw�h�
N1[~����-?�l�S̖�b��7�sZ�p$��)����} �Ruox�9�DNi ?..Ԡ�����"Q�,;z2zAZ�����
�����;�g���"��r �7��M �z߮ ��^Q��M����.�2w�U��HT��z��9X 
��hƶ)�_��0M�C_�8�h%$.�U'<���Dl�
���B��up������C�pe��=
 k��[���4���i�ikC�
NI�t��`��P�t_
+����S�CR�����)����

�*$�X�2+�
+L���*�
w�D~^d�K��뎞���2�%��#�(q��˿������k� ��+�9�m��>��*/�[���f��y�/as�B����{B�=�W�Dl\
�ٹPր?���M��*1EI�IL��ǎ�4;��+�� �C?�2vu�X�~9���ܕ�A��8���=Q�����'���~��[��Fod�`Pi�ߦ�S
���e�靪�}
�����"]D�i��Ӌ���[Q�eS����lV�5K�K9���9�uY�rB~�}��?��{��
+endstream
 endobj
-7941 0 obj <<
+7909 0 obj <<
 /Type /Page
-/Contents 7942 0 R
-/Resources 7940 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7903 0 R
-/Annots [ 7944 0 R 7945 0 R 7946 0 R 7949 0 R ]
+/Contents 7910 0 R
+/Resources 7908 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7757 0 R
+/Annots [ 7904 0 R 7905 0 R 7906 0 R 7907 0 R ]
 >> endobj
-7944 0 obj <<
+7904 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.8567 641.6301 313.3629 652.534]
+/Rect [269.857 641.63 313.363 652.534]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-7945 0 obj <<
+7905 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.7255 600.0953 193.2317 610.9993]
+/Rect [149.725 600.095 193.232 610.999]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-7946 0 obj <<
+7906 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.433 517.5616 336.9393 528.4655]
+/Rect [293.433 517.562 336.939 528.466]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-7949 0 obj <<
+7907 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7943 0 obj <<
-/D [7941 0 R /XYZ 90 757.9346 null]
+7911 0 obj <<
+/D [7909 0 R /XYZ 90 757.935 null]
 >> endobj
-7947 0 obj <<
-/D [7941 0 R /XYZ 90 171.7223 null]
+7912 0 obj <<
+/D [7909 0 R /XYZ 90 171.722 null]
 >> endobj
-7555 0 obj <<
-/D [7941 0 R /XYZ 90 148.481 null]
+7523 0 obj <<
+/D [7909 0 R /XYZ 90 148.481 null]
 >> endobj
-7948 0 obj <<
-/D [7941 0 R /XYZ 90 148.481 null]
+7913 0 obj <<
+/D [7909 0 R /XYZ 90 148.481 null]
 >> endobj
-7940 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F25 344 0 R /F10 484 0 R /F8 523 0 R /F74 478 0 R /F67 366 0 R /F7 526 0 R /F33 481 0 R /F97 1822 0 R >>
+7908 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F23 340 0 R /F10 473 0 R /F8 504 0 R /F72 471 0 R /F65 376 0 R /F7 505 0 R /F31 472 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7952 0 obj <<
-/Length 2101      
+7918 0 obj <<
+/Length 1793      
 /Filter /FlateDecode
 >>
 stream
-x��Z�n�F}�W�i#a��ov��`l6ٙ�
-��d`�-�H��b�﷚l�l�Ey
�?����S�]���"
db�D	�
�r��^��
-
{A���G}�����H11�H*'�Z�$HPB'���)!��YD0��w3��q��o��(���:Y����m�����*^�Y���^ǻd�a���7���Sj���
���F�C at 0��p'1(1�0���?Ϫx���rQ�A���d���U�<�)�K���$[�#f��2L�ҋ7��sα�Ib�����x�w�3ZL��#b
�l/8e�������NO�
ZNam4ape�����@�hK�5"���Rj�0fj��DD2];ía�M��(���$�"�(��U� @:�!���PH��=j�P���f�n��L�
 Qa�u�#�Vj�@�>��g���k�
 �-l��:�k���yϫv�3"�ɢ���r/�+�L��L��ѐ��?�q2��"�yx�;��/6��N���[�-�R[��3�R�y}�2
ג��^�E�+�4q>�_'���+�,�Q��Y��i~,q[
Z?6�ױS\���['{k	j�n*���;�vT<2
��:��Z���Œ����-EU [...]

��B;� #=����_$���^@�U�V�	6pd�c�#��X:!
��|���[#��
��X8����{#��
-�N_�ǒ��:�4Y*�C6��5qэ�!�]'�'���R`,��z���/7������7������b`O�e��a�H at 9hԔ�ӿO�M�%A�,"#��JY�F�rVx[,�
�n��|g��!��C��iV�i
�0��}
o�cy��P�,���jl^5ORG�*ˋd���Q�1
7��=��d���x��s�h�t
��� .
��8ȿ� ΂g�+��5b�P�4�ߞCjD B��K�0d� Vi��琙f�Of��'��&�[���C��s�ư�:�d&�Т��!HfP�����CT֮]S<�� �q�Q�(�q���#
��U�	i
\$�M�H� ��^�s�����d�(nY++��[�U��ҕG��&h�n�nW��d�M�
C�1}��S�h�5��v7t.
�����_Q~���1��}]g�8ͪ��C	��<1�*�60e(�5
�5[S�W^�e~�pW�ۣ����6{��e/d?%�8���

�F��@8�Z�i�RZ��@ͮI
�a�F�GI�(��b{���`�%?��K�>�`����#�%H�H�<@n�;�G�x�۔I(
7�����1dz��E��n�k���=x5���ޮ�E�u\5��"i.��:�\bg>2þ)VN䧞A��{Z�9y�/
��0���p3��N�
N �lu����Q�4Kw�c���j��W�&L�&�`�}z�q\��Ƈ�,¦�FWG
U�6GU��O*F����� ��|V�3Aؓ	BN�
��yX$;[S��_`��;q"�Z1
���WWi6���x�.o��UǠ�^����C:�!o�@�$�k�|]�v��;�M��|��v"�F�
-l�Ʈ$�*��� �Nm��%���IU����.��XwG]ҫ���Z���y�ZkU��7�󵖝^��_Z��-���[���P��5'��x4j�
��C�O[
��S�K�4�8�M�/u�w)�p!�G?! #�;@&�N��]�2j'5�����='������-��a�2߶_6�M
�Q&n?��]�9�mD#� 9R~����~��$K��ʋ'��
���$m�G����e؀�x?�j}nG†�#��5zM�bn�	F�Ɓ��ro6I�$pW����P��}�ۊ5��2�������C�
�%.ި��%�
�^��Lp	���%�
&�FBh�o��3�h�'�m�`������A
-��~`P��Cj�v�1���?�����;۹Xq�-�4��I���ˤ��~�q���8��V�
��Kn�y*nz�������5T�g��wP���I{��G;�QoD�pU�ځ^k�vW�����hQ�}��
-�V����r�3��Ε[��`�<ϴD��a�k�so�"i
x�
����dP�����endstream
+x��Y[o�H~���iז�x�
ً�Fm��v�m\i����ب6P�M���

�8�8i�݇J����wn�9�3w��r�l2����/�t&���
O$(q&3�|Hb��%����a������a��,�,
����,�6GG'a̓8XN�A�G'��/�O������R��Ֆ����I�
&�
��%�x��ȥ�0��*]���՗:5�q���Đafd�O��`��f
���p58�����`�|�\��V�
�K�l�� [�[M�|�1w<*��BkM
�t�����/i����*�a�q������t�t�GI����_��'�L�0 �,S�N.������~�ˈ����>��Ah��]&y��
99�e]K7��s���Q�OQ<�S�2D�U:Ku}��j
�j���l�:�FTX���M��A��zu]Vp�T�
���$�:Z�#F]�᷄+$X�2�E�&\Q��$P
"���D+��
�&�1DJu���#O����
+��;
�
��*էE��.�`A	&$�Bގ�e���\��,p!^�%8� 
8�	�e4�8�S�0�(�4#�9�jG� Fc�����OL :<N ��uTl�Qv�Pdsv�<�q���
7�fw���<P�Xo�j�ӿ�O�Oޜ�~����
�CR�Z08�t��jk��(^F��Xml1��
$�

��R�I6�b�*y�$5�q�`��%�	1,s�h=��fe
�!���{AY`�k Ϣ�Yˆ�q��Y=��"������=�M

���R�E�
l��

+�]4�yۨ��m��^u MlZ&��A�"����o��N2�D��O��xL1��c���xL�áw���
�屖�N
�H�fǦ�Ȫ>�Y�9N1d��f��
�
��q�ȓ����������
�wK� }�.�0*:	���J�6M=�fdf�'�	+�u�Ŵ>A��=�]QzUe��>��Yr
�`o7]`n�!o[�7
��Z�������>��t]ߣ�2��a+�<.kn���l��?��]tA��ΨI�0�J5�!�Cz��2�AL`֓iq{^�̒��T��(YOUac��
.T>o;G�j��Y��F
e��X�1�aB��|�v�k��>fؿ�ha����(��.�
+	���L��v��6PB{N��y:rg���o�2���ˎF.�eˉ�bD``,�E��J@��|�!�ۗo_���:in
��mw7r-V
�cz���H��E
+I�+��<l�d�
+6��k����Dk�E��[�Y{ ����~�IYBS�r���P������V���

E�"�2�M�̖��H���'��mI��^�$�.�>�9����h��6��� ͦ*��º���T+"�w���
�(������Q
\
�cW�y�6o(ﮆ�xٸ$�w���=z9�
)�R�ޤ�&����/
�<�O�
+
+�c�'z��mF�g����Av�
+� Z���W�Km�/����mf
\������e��ݜ"p���S^�XgA�d4�
:�Z����V��f�,c�(����ym����C���Z�պ���ޟ`�ҷ��G�
+�K]�V%x��j^}(�ݞ�8,�
+�3m�i�e�ˋM��K$1��.����
X;t���ҩ��C���S��BB���8��\��aN*h�ԡ����pp��b�~��b:5��!����ZZ:��r��l^ۘ|�kӬיWVj�
F��LV5�%�im5����Կ�
��܂�ؤE�P��H��㫫+�h
Gi��b�����±�B��ܲ�e��k�d���p�z�s�	�Nߞ�
+endstream
 endobj
-7951 0 obj <<
+7917 0 obj <<
 /Type /Page
-/Contents 7952 0 R
-/Resources 7950 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7903 0 R
-/Annots [ 7957 0 R 7960 0 R ]
+/Contents 7918 0 R
+/Resources 7916 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7757 0 R
+/Annots [ 7914 0 R 7915 0 R ]
 >> endobj
-7957 0 obj <<
+7914 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.9967 375.2532 408.3112 404.319]
+/Rect [320.997 375.253 408.311 404.319]
 /Subtype /Link
 /A << /S /GoTo /D (main_Octagonal_Shapes) >>
 >> endobj
-7960 0 obj <<
+7915 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7953 0 obj <<
-/D [7951 0 R /XYZ 90 757.9346 null]
+7919 0 obj <<
+/D [7917 0 R /XYZ 90 757.935 null]
 >> endobj
-7556 0 obj <<
-/D [7951 0 R /XYZ 90 681.0066 null]
+7524 0 obj <<
+/D [7917 0 R /XYZ 90 681.007 null]
 >> endobj
-7954 0 obj <<
-/D [7951 0 R /XYZ 90 666.5591 null]
+7920 0 obj <<
+/D [7917 0 R /XYZ 90 666.559 null]
 >> endobj
-7557 0 obj <<
-/D [7951 0 R /XYZ 240.2453 591.9325 null]
+7525 0 obj <<
+/D [7917 0 R /XYZ 240.245 591.933 null]
 >> endobj
-7955 0 obj <<
-/D [7951 0 R /XYZ 90 575.3281 null]
+7921 0 obj <<
+/D [7917 0 R /XYZ 90 575.328 null]
 >> endobj
-7558 0 obj <<
-/D [7951 0 R /XYZ 240.2453 500.7015 null]
+7526 0 obj <<
+/D [7917 0 R /XYZ 240.245 500.702 null]
 >> endobj
-7956 0 obj <<
-/D [7951 0 R /XYZ 90 484.0971 null]
+7922 0 obj <<
+/D [7917 0 R /XYZ 90 484.097 null]
 >> endobj
-7559 0 obj <<
-/D [7951 0 R /XYZ 90 310.0914 null]
+7527 0 obj <<
+/D [7917 0 R /XYZ 90 310.091 null]
 >> endobj
-7958 0 obj <<
-/D [7951 0 R /XYZ 90 295.6439 null]
+7923 0 obj <<
+/D [7917 0 R /XYZ 90 295.644 null]
 >> endobj
-7560 0 obj <<
-/D [7951 0 R /XYZ 90 178.5156 null]
+7528 0 obj <<
+/D [7917 0 R /XYZ 90 178.516 null]
 >> endobj
-7959 0 obj <<
-/D [7951 0 R /XYZ 90 164.068 null]
+7924 0 obj <<
+/D [7917 0 R /XYZ 90 164.068 null]
 >> endobj
-7950 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R >>
+7916 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7963 0 obj <<
-/Length 2210      
+7928 0 obj <<
+/Length 1826      
 /Filter /FlateDecode
 >>
 stream
-x��Y[o��~���S+�x.����n7��Iw�U���AK�ET"����3��8�����
8$��f���a����3�%�,�������wĽ^���P�����[�giA�lu�kqJ�l��8'1�X������y�����
����i[l�����ɛ���w�.���|w�a��ŧ����2PO�FBH
-p����H��`D�Μ�*�D#¸t�<���.o�Œr
�4���.�
-���m�,���
1���aj�^�Y��s
˙ f�~���	�6���_`Ĵ����hMg���2���p���Ǿ�?H�'��E�l�	��뤔�%��X �a�t��c&g�
-DS�b�y\������t�S$���Zo|"H�Qh�B"	�:j50�nsuUV�
��w��:o���EՍ@i��I�:��Rc0��3$�#0�mS/(�?T6&�[{�.Hڧ�+�v\��wEU4yW7.�Jw��� ̺';�1�r�o� i�����%�xI��
����1',����G�8UT���D��w2哩{:U��i�T2��F�D���
qI���E�h��
- �~�f
-�2#1�͢"�99�?Z�1�%�x�3�x
Id|*�|85SL�ʊ����Bf���c=l��S̝�W�%������c�=]ے6֭$���n
>H��
�G�'')�(�^ן�����w?���Ϳޮ~J�S�J���C*�	P�
^�M�cY�ʪ�y
-���+�e��*���9��f«�r�q锻�}��^o�z���"p��0��d�ȼmE��@P���
��1�{d�j��+N��UYݥ``n��������øo�&kiwW7e��;�ۺ-�Q

��}@��6u���eVb]{߯�ԕ��b]��1�"7O)O��♎=}�Ѵ8���v��oo��B�jv&�#��"�C��mB�	�$�
)��+Y�,SFv`㐹�_���>1�k��nW���e6�� Y
%9��hu_��6cE�
��j8�2�u5�2��d�
-�Ȧ8
0%!|L��I`���@�m�~4��c�
��z1�s
qi�	�@�c�~N���@�s[H)&)6��OL��&���I���1"��Pv����^���,���gW ٦	�4����ǔ&(EY�
ˁ �A��^�)	)��\��Br��>~L�t'"��/��a
-�
/���!�sQP�앩.^{��yw�(u�h��	#X�e�I���yYm
h��}����!_VbS�ƣ-{�ozCGQeM-�^��jz�%mm���ʾn�ȡ��ٺϽ|����Z��7E�2}�#�,�HS����C��[�L���
��@ȳ�]b���.q$�K
b'YA�A�S�K�Ʀ��H;^����sFp�
4���-j϶"^��/.Z;���)�?�tf͉ @Q"}^��C����b�Y7�U�T��{���:j����W[�%��=���G����#{��dY������
[hC�z_B��OH�����
iQ�M��Pj"}0H1�;���$�O8�"�� NXvEu�m������ =t�ɕRcq
(���$1<Ya��'+̓_���a�lP�͛:��MN����(�C
��,l����*v��|�?����}
-
�"�w5��{d��&N��0AN�4v�Y3��2s.e�oXĬ���o~��
��Ԕc1������ܘ�LSA�ac�<�;#� �	,g6�d/:��
�T`��dO#F��`{@l%���
��m
#2o�����h#�g������W����$�<���C��=��k����Q��G�oh�=��q?
��A�ʹ�������[�a�L�J��^xO&��
�G� &:�I���a���
-���g��VO�d�NY
į7B<�s1�9a,�>�'z�'�<C�bS+��^H��7��&z���q�G�W�=�OJ�OؔC�~1�K��p�C��A��h��:
i�D��E "��
���#��1���h
3�Ox�pc��HM�<�y

�<|������i����m��<��ax9K�����e.�����?��ǩ	+ ���CQ{o���7w����u$����-�?.8����1��}���QM��KxP��
�I=�(�ӥ��",��Ⱦ��̏�z�g�`9���
�v���y�u���ˇ��n�}U
Tv�����3y�I=�ea�V�)��&Y���_�=�=W+xt&B���� 8\-�endstream
+x��Y�۸��B��d ��!R�
ФI���u]��$Xhm�-�,��|���w����z�C�;��$��
����q�	p�f�b9�x-X��T��@� qJ��:��X<_�q�aNp�T�����
�z]%�?�7UR=\^�_5ɦȓ��j��z�y���kB�)UH��[�r$#
F4j	�<"��ϟ��2K�z��
3EC�+������VWs"C���)�C�#�s�j9��� 
k
��v���q����������e�̂��O3�M�5�T�(��@DDN�W�+]6i�חV�C.��T��`A�sǢn֗�i>�p�k������w:oF
/^s<�)G�vF�VŜ��.wVJoݳ�z��u�wn]����*i��;�ϼh�
�<��	��?�&
�{�E�75�p��c�"��p9QDQ�M���Б����>�q�Z���y��[�09��B�$���2��ζ_!����Jy�c�Sz/""�������)�
뷠1?a�W�ƥ1	�W3�U��;�~
�ql����|6�ȓ<�/8'��������ڥ�1k#�E�ݪ�`BD$`ٕ�?{�3�.r�����_����W�z��y���8��h0�`	>�j(���<Ks
������U�|vߏ�ÇpE�kNj}��}.%>u�_��mU�����
�F"�p_D[���{�=��WP��i��f|�����<�f�	a�$i��)50���
	�EǾ6���lSTi��y�w֭ۢP
s�C�l]hOhK�Y8���k���3�"���ԫ�ƴ%�y�r4���d;
�ѭ8ԕX��]0�·���B��Ǣ|�TPDU�ki=�
��σ�01
��3X�X)�Vn��Ÿf��G
#t�.�2m�쬕��d�,LOs16�{�0�d� `��� ���,�BB)'۝xX�N(���o��mޘV	�
+�`�Tc&�'UOa�•���?���$TB��5E>��&���o�G���/��)u!����W�
��GO�����L�xSY�S��
E|P
+@�u*HZ|8�1 ��@����i '���o������q�0����h���N|#]�;��c�]ڂ�bǀ�0ͷ��v�M��.��v�f�:�����zR�D-�-s9�杬�Uux�I��')+�����7�ĿN�U�_�zJ�xxm��kB���am��I�Ô�2F�����	z8IE?;��5nQi�u
�mLF-؋�z�6~���	,{xo5n+�hh������1�#(5=.���vݏ��1.��Ee�
KV\�k��v_���pg�ͼإP����<<�ba�#r>�_wV�t�i�׺���� ii
O
ɌS;$���1>��� �̛b����s�����A	������i�{�,�%��n�s��R9Mm�j��V3
+���L�|0q0�x�'%�
#~�Ǎ���$�{L�
�a�a�o�tmV�4�sSF煍!�@vc�
 ;!�Y��P��y�#�|C�S�Mp�
pr�MYV�'�E=sc�1�GCL�
�2�� ͩ�J�q��
�9l-�ó#u� �i˝��|(�>���9�z8����7�jvp~,����l
��x(�\�#0��
@[���l�L|u����5�n
�Bo����{��c�Ə�73�"9����HQ6
߸�o<�o|߸�o<�oh!����,�k�����a�ŀ;�Eb&�F
����`ng��o[|u[�n��ZW��9}��K�}j�~5� �]9�C� 
T�Le�����JkSw�_�v���uW�4�
&��]ۦ)//.���ЪF�<-+�6e�]
�T�p��~
�g��A�����
+���ł�
+endstream
 endobj
-7962 0 obj <<
+7927 0 obj <<
 /Type /Page
-/Contents 7963 0 R
-/Resources 7961 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7903 0 R
-/Annots [ 7968 0 R ]
+/Contents 7928 0 R
+/Resources 7926 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7933 0 R
+/Annots [ 7925 0 R ]
 >> endobj
-7968 0 obj <<
+7925 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7964 0 obj <<
-/D [7962 0 R /XYZ 90 757.9346 null]
+7929 0 obj <<
+/D [7927 0 R /XYZ 90 757.935 null]
 >> endobj
-7561 0 obj <<
-/D [7962 0 R /XYZ 90 694.0892 null]
+7529 0 obj <<
+/D [7927 0 R /XYZ 90 694.089 null]
 >> endobj
-7965 0 obj <<
-/D [7962 0 R /XYZ 90 679.5189 null]
+7930 0 obj <<
+/D [7927 0 R /XYZ 90 679.519 null]
 >> endobj
-7614 0 obj <<
-/D [7962 0 R /XYZ 107.5342 580.9819 null]
+7581 0 obj <<
+/D [7927 0 R /XYZ 107.534 580.982 null]
 >> endobj
-7966 0 obj <<
-/D [7962 0 R /XYZ 90 564.8775 null]
+7931 0 obj <<
+/D [7927 0 R /XYZ 90 564.877 null]
 >> endobj
-7615 0 obj <<
-/D [7962 0 R /XYZ 90 362.3649 null]
+7582 0 obj <<
+/D [7927 0 R /XYZ 90 362.365 null]
 >> endobj
-7967 0 obj <<
-/D [7962 0 R /XYZ 90 347.7946 null]
+7932 0 obj <<
+/D [7927 0 R /XYZ 90 347.795 null]
 >> endobj
-7616 0 obj <<
-/D [7962 0 R /XYZ 90 143.8475 null]
+7583 0 obj <<
+/D [7927 0 R /XYZ 90 143.848 null]
 >> endobj
-7961 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R >>
+7926 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7971 0 obj <<
-/Length 2191      
+7937 0 obj <<
+/Length 1814      
 /Filter /FlateDecode
 >>
 stream
-x��Zk���>�Ÿ�9|?i��H��nv
��vahl�X�,��&3��{i��dѲ�)���������9���Ï�

)��a\��3<���=#��)<��
^����I12�H*G��I����f��cBS�)��?N
G�:��P<�ӇU�,���UUt�gQ:�\E�x�e���;BZ�)5HJE����3�  Qfxm1
81�0�j�?u�:��r2��7C��z�FU��|���bB�8�p�&�
3����\
X�$�q����/x�� �3Z���#b

��8e�"=�<����
l_�� ��
a)�n�EףT����
�r>|�׺6�
6q�!,�

-%�6��%HRA����Xa�Dp?��Ię>�68��S��h�  L��"n�Ⱦ��'D B�S� L�p�B�@��1�s�kʨ
�
�ȳ�r���
�,4d�b'c
�F.�讏?8
��B*?RWˀ���Y�q2�F�_�n�}R=4�($��0?��E�f)
�~���@�\"%}�T�}A$�����������o�����;͐�ҷ
#F.�
���I�&Yl�4�o�d�T_�{Љ�{S�Ω=�����m�.k��2w�p��E����ë7�X��A��b��1�le9V�C�q���"�Jw�r����D��r���L��]��΢򞶍�W\�SN宙+;k�
�^����6��")�PV��~�d��v�M�Z����
- �a>JB�22���hڶ�3?�7�
|1�4צMZ@�U\���

�V@Hc�Gҝ�h4x�u7+;��t�rb���U��N�J�@�Vg��p��e�tgU�>G�m��Kt0t�h�P�����B֘��Ӻ�d�Ri�[�[�X�HM���V������f_���'�M�>�Q��(��aF����^y�
�h���(u׮�"��^K1>8g�A�(3<g�V��P ������E���d�K���q`콙�QVˋ�4�n��<.���Q�C�3�ƪ���"c0邘��|B��nK�@y��X��i�Yt�Yl�9�H
Ma�'�]$
�h�k�
�8v��jz
�'�۵����u�V�;�
i�L��-jPY���d��f����5bu=�>^_�a���n�EUG ���팉��j��
1n:�9�4��
#Ǫ_ի~
��JQJD��CUT,�4C����"�<�]5����C=�r�aBt+��^�m�(�jjU�[�?^�sXOQ)��F�'�Q�5/FJ#Xs"XO�v�Xs��mr���n蔋����)��ө?��m��!�
q�T�m
pJ�u���-3k�ȳ�V��Wh���C�Z�[��ࠅ�Wؕ�#(�D	�
-d�l2<<	 :�G���qkn
�8(bm��"Ɓ���d
5>�b=ak�K�	��_�4Y�.#�A����o
F����#�������
H%N�-G_*�l"�P"��PiX7[QQ�U��Na
(�U��b�bH"����Q
�����S����dQ���Jkx���l�>C��א E!�t�~s�3�	�!A��Zb�-H�n)rd'�muX��P��<U�B�REX���	�`Dv�����i_��W$*i�4�f���vzd���
�d�0��9���韔~����Ю�-��_y�U�����}�JI�����Y�8$�b��u�Ks�K��e�p8�zX��V�%�փ�Ի]�HT����KTc�4���N�z`��sH��ӑ���C���R�<�o
:�Sφ���D 34�2,O�+����P�b<�^���f7�k��u��?ũ�~ܺ�`�
-A$A�]�8�f��)�_wg������;��r~�T��Z������uP'� �7�s�
5���T����U��{[�_��2�n�Xqu�Y��m�����.��.�}�
-j-��',S���]���a�'�~�2�d��7<��{��_=�����=a�o��/K�g��=kXd�˔�s	��`�aaKQR�g��k�W;�!
i��<�t�G.��
��� f9���$�.k&w?�q��D�q����h����ue��
-�b�jh�Y<�����PEVDu��{�����g�´������۞_��UUm.�����ТD�Y�)PR�o6��>.fg=�:n`঍QK'�Lo��w�\�Zb��lJ2���Rq/��
@�/�� �endstream
+x��[o�6���+���̐�H��6`M�a]�vM
+��
+C��X�,y��$�~G"ush9�]�����s�w�(c���Ώ�Gg����s$��r��‘�	8A��l�s	A^0����jJ��p�jJ��%7K������<���Q^fi��O��ZMߟ=;zJHO<�q
���o���#�7�,2$"
k|�O�I�tFa��j�N�R�;�ՅʧD�*��'=�z�U2'O�&M��������j��=vp����'�sU�Z9>��8��_'x���C����E?����m��c�%}�
(o�*
W`۬�
r̛� N[��F�|�nol�q�{����J�Y��3�@�*�g�qɌ�H^B"t<y	�D�g�$t̤��n�5�p�
GYZ������:3��<@g[
`A���.�JF;�Wz�d�����/,B�f�7���=� ��u\޴Qd
a*�Qԫ���"&���Za��}��.��̈�0�dk������|�����~:{k'<�o�C��E"� h��wq�ĩ�,
+��uGq�^?�p��e[��	
}���M�,
��T_���E���/���>U�ڵ؈3>=[V�R�ӥ���wK��p�u���x��"�R}�]�e#���zDO:�)�9��,�Pnͺ=�*+̐u����Ҳ\���8���B�q���Ҭ~hѽ�FR�ˁ9�q c�ʋ��㝘�B(�U�
+��/���hI�+�V���P
}Vf��8���<��t�ց�33gu$�ږ�.m}�(c��q��u���@���N�K|�fy�xXli&�d�r�m��Ч�*}����ֺr�Ǖp���:R�2����.Ŋrq|���\�U�g���`=� 輖gS�ܫzC&_�q�l�
�9V�9
g<��"��w;�X�Vi�EJi��f^���j��a�h=uLn�e�M��D����tFrB��eګ���$y�Cz�V�и��~�I�Ҙ���YTgXX�2
��ȃ����
�-xLz��H�[k?����
�"�ڂp�e��v/�7D���3��f�̇1
Dp�;�1�a����_j�o�|�)���
�
��k��M�� ]�7D�l��.aY���L��|
+C)#Â�Z��<-l�=�֖2�(�P
+��6ܚ1U�`���ɍ�a
+��|Ju�bϢT��PV�`�m�X���G�-�D1�\��ơOD��y�G}ޣ~�N}�~�x1sS�F�/Aqj�������� �W��T�D0�w�m����me�A'5�|�(+�)�(�^� �I������S��(�8*���?e��w/_����}����݉�E�	���
`v�1��v�3h�=�~=������>	�= �)�Vr0�6���y]6j�W���Dw����nge‭¸h�� !�i�N��Lq�G����~o���:�����u���
��`�I��&�B��{s(���?#������^��+��l�%��̀�&�N�Dv��Ht��{r ��?CPD��� M��I��_�D�	��@�A*�q"���N�W�(���Vl�_��6ί�ri��Iu�Cwf��\��IH�\�����dw#k v�ᇈ���}��k�/�d��f�[�WJ�PVƱ�>H�5�/�\}{� ����n�������a� �k �@�ɱ@�e;9�z [...]
+endstream
 endobj
-7970 0 obj <<
+7936 0 obj <<
 /Type /Page
-/Contents 7971 0 R
-/Resources 7969 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7903 0 R
-/Annots [ 7979 0 R ]
+/Contents 7937 0 R
+/Resources 7935 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7933 0 R
+/Annots [ 7934 0 R ]
 >> endobj
-7979 0 obj <<
+7934 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7972 0 obj <<
-/D [7970 0 R /XYZ 90 757.9346 null]
+7938 0 obj <<
+/D [7936 0 R /XYZ 90 757.935 null]
 >> endobj
-7973 0 obj <<
-/D [7970 0 R /XYZ 90 733.028 null]
+7939 0 obj <<
+/D [7936 0 R /XYZ 90 733.028 null]
 >> endobj
-7974 0 obj <<
-/D [7970 0 R /XYZ 90 531.8113 null]
+7940 0 obj <<
+/D [7936 0 R /XYZ 90 531.811 null]
 >> endobj
-7617 0 obj <<
-/D [7970 0 R /XYZ 90 507.4422 null]
+7584 0 obj <<
+/D [7936 0 R /XYZ 90 507.442 null]
 >> endobj
-7975 0 obj <<
-/D [7970 0 R /XYZ 90 507.4422 null]
+7941 0 obj <<
+/D [7936 0 R /XYZ 90 507.442 null]
 >> endobj
-7618 0 obj <<
-/D [7970 0 R /XYZ 90 411.7279 null]
+7585 0 obj <<
+/D [7936 0 R /XYZ 90 411.728 null]
 >> endobj
-7976 0 obj <<
-/D [7970 0 R /XYZ 90 397.976 null]
+7942 0 obj <<
+/D [7936 0 R /XYZ 90 397.976 null]
 >> endobj
-7619 0 obj <<
-/D [7970 0 R /XYZ 90 304.2991 null]
+7586 0 obj <<
+/D [7936 0 R /XYZ 90 304.299 null]
 >> endobj
-7977 0 obj <<
-/D [7970 0 R /XYZ 90 290.5472 null]
+7943 0 obj <<
+/D [7936 0 R /XYZ 90 290.547 null]
 >> endobj
-7620 0 obj <<
-/D [7970 0 R /XYZ 90 196.8703 null]
+7587 0 obj <<
+/D [7936 0 R /XYZ 90 196.87 null]
 >> endobj
-7978 0 obj <<
-/D [7970 0 R /XYZ 90 183.1184 null]
+7944 0 obj <<
+/D [7936 0 R /XYZ 90 183.118 null]
 >> endobj
-7668 0 obj <<
-/D [7970 0 R /XYZ 90 89.4414 null]
+7633 0 obj <<
+/D [7936 0 R /XYZ 90 89.441 null]
 >> endobj
-7969 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+7935 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7982 0 obj <<
-/Length 1932      
+7948 0 obj <<
+/Length 1609      
 /Filter /FlateDecode
 >>
 stream
-x��ݏ�F���+xjA*{����<4J"���&׾��ﰊmj̑�_�Y�ml���
���H��ٙ���zM�����C%2���<
��
|�b@ʯ'���)�����C���rxy]h�	J��r�vDbj<!�ѫ1�� ��٫1ţtu�
Y0�%�ʂ�n:�m�7i�fo��:
��|y񜐆zJ
�RQp�j�щ�< Qfx)q�QbaB�O�U�tl6�	�:
-��*�C����:��D��d1�Ĉan��]֑++�$6n�
޾���� #f���#b

�NYu���^�q_?��GvJ�(CX
-�ObH�Iʫ�u�9Xf�'�
-)����w�0	b�
-ܛp�b��2AUB�U�̞���unFi��?��&��pB�L%��2B����“Sz���=�-�W�c:uu�F9�E�ҕ�_X�y�lrw
��ɶ����wN�QM߄F������c� �y%6�S�,9�J&�ڔ�o�d%�;'(hC�(k
ʓ�����0�fI9��e�|V��|��Qr�n��|��3A[�P����y�<
sd4�d�e��8
i渪� Y
�7�Ǻ�_�%7�1n�w�VU:�Z L`�H��(�
��&M��<�A@�)nY�����u��m�)R����t׋v�a�i���V��&_L�Q2�xt���,�n�q��
�
ԭmj����δ���
�[�\.�tL�h��
Gמ
-�1��	�
X`]5D"���#�OT�"���\D�
�w%�4^�T�Z��3�'�@̌��qbu�
�
u���`�*�0
�4�c�M8�L�P�*䳢�C��
-�׋��:�
@1	��n)�(%��`q�d?�R�9 5�8��d���p�ㅟ���8��=:��9�r�3s�ޢ�
-�ST 5��@jDSc�PP
-�� %"\�BA"%�|��+��,�M������-�@(%bB�����L�E�͂�j����i��A�AOk7
�Ǫʻ
2��
Q]W�9�;��a��{�G1�k��`U}�,�	YxZϖ4Yݵ�j{�p`����8h�ԕѦ
����P#!a��?C/`��-$�`��K���q�^1}���g�
'�0��
�ހ�a�q���3�`��m
)�$-�k��o���q�,/�f�
����X����,V
=�S�ߠ�)�p�n��fv]��x\�vH��O���],�f�ޯ�b��-��B��^?��g�jD%�c�`��(P�eRd�

�$/rU�:K�ҰM��)Uʼx"@K7���al��!t�.
�
�����
�
��K%�8��c��CO�diz���Rs��$*�>I:�n�1;
��/D�� ��
"��*\ٝ
 ��� �1�
-&�� E�l
�
p�?�
-�b'�R��
M�����<c�����
~t���{
Az#�GH�?CZ�|��"�@��?�"�E8"B�nE���)���>EPD��C����"q�>���KB7�ao�@�~�=�P��z4~O�����5%�Gv2
���wR�Dm��Y� X6D��`~
�@�-UQ�C1cR�_J�
#�M��H�6���X�����)I��Xߣ�3��{IkH=*�Z��C��p��Wާ�*��YZUӍ��Y<���`�k� HN}�v��zl�̷7��������������:ۦ
-���(q�w�h�,+VS��V�c
lƒ3�Yhk�����
-V�j\?y���<\ �
T� a�����
�J!?�ݪ��6	EM
i��`�w�*'
�K�_ٴ�^^�VͼZ@
����	���B���$�`�_x�
g�56���E6x�&
CC�/Q� �o�
VW?��Y�`���[���h;z혗y��^\�v;4ߠm�3������/f�}
�zO�&�PǗV䙆퐁����:�Ӭ~��Źq����î+���^endstream
+x��Ko�F���<�P����
$�M��4him�C%)+��,�����ZN� ��TV3�����,)
\8x9��|t�B�� #�
�/�%	����ݘ��dJ0�����a������Y|���<��
]�a~3���(ë,
���U������^�c�R��T༲�}=d���v��džA��v��Yx�E1�R����c��㰴�'o��'D�m����ab̰t6G��G����d
+)p�HF���`	��
+0bF�jTp��o
�
�6�%�
a)v$F
�F�
���5�z#7��fm�0��q��Zœ(&Ť��N�6��gY:c!�(Kk�����L	�$.2�Q��ʑS���3o6�+���|���h��/��(�[P�*���
���H�.�ŕǹA
w#���՞��&�D��]��Qj���V8g 3���/���&O��Q����f���,^F�U}sa˭�i��P����c�	�#��1�**<�B�y_�a�܋o�k}ہ��^�V����d;U�]�{�R�����a.�<����J���˽�a�5R؀��[�(��l����a
-�a~�IlZ�E3�d:��Wy6�b�MkU�KOR8EL�#rB
���v�DZ���s��n��y��eS/@�i�.�d
�w[�YS
+jJ�픓�� ��s��K{jx�������2��ӥ��ه�A��
�#�K@�U����PJb_�u�O����tS2��&i�)
�Mb>nޛ!��<���ԏ���H���r�P��
5��P)�� C%R}q^dY\[;�i�#!Ng��7�R"e:hc� d��<�Zd84��(a
��?

G�v�^��/b��~
+(
�IC1���0C\w[J	m۽�dk�X�4����z�2yK���x��EŎN{�x�|t��1#N�
:�
z�>#|���@J�~JҬ�	��O��|k���m
���I���#F@�ǽ�_)�1)z�m�e1����,����ҵ��z{ΟaՇ����uݣ}e��O
+��k����g�QI�]}T�ε���n/�!�"���2�2ϒƳK�pImҼ@&��A�#Y�ɕ�/�G%�;�S�Ɨ�?���&�����|�����
W ޞ���8�>��_c�;��/��U�
E�ᮤ�T�=��@\ֶ��+y?q�|z
���W�F��
�
������'��էB/�ʃ�
x?)z��C�D���B����AZ�_ާ�JX�H��d��{f/�(�"rk�NʽU�*�ج���e��SyX�=0a�<TUQ=Wg��j�
�b��L��M�{6�bO�9i@
9�ݛ�s����i�rnob��{����&w�}t*���i0�EQ����
�Ky�G�y�
��G�
'�
�n�=��3<�T
+��I�ۯ<F��
+)�QZ�ޮ�Ū�VM�s��-�",���X
�uZ�]��+�7�Q�{(��7�]w���AH
��cQ��fj+�K��a���J�(^;q
��ۖ�m�XA�������!�M࿄�&�����S����&D@��
+DNO<~km3�zz��O�*e}����77��\��ζ�-Zh�F�
E��z
��n"z+�pԿ�l�z%Y�
z�äz�t+	��G�"
+endstream
 endobj
-7981 0 obj <<
+7947 0 obj <<
 /Type /Page
-/Contents 7982 0 R
-/Resources 7980 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7991 0 R
-/Annots [ 7990 0 R ]
+/Contents 7948 0 R
+/Resources 7946 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7933 0 R
+/Annots [ 7945 0 R ]
 >> endobj
-7990 0 obj <<
+7945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7983 0 obj <<
-/D [7981 0 R /XYZ 90 757.9346 null]
+7949 0 obj <<
+/D [7947 0 R /XYZ 90 757.935 null]
 >> endobj
-7984 0 obj <<
-/D [7981 0 R /XYZ 90 733.028 null]
+7950 0 obj <<
+/D [7947 0 R /XYZ 90 733.028 null]
 >> endobj
-7669 0 obj <<
-/D [7981 0 R /XYZ 90 636.9679 null]
+7634 0 obj <<
+/D [7947 0 R /XYZ 90 636.968 null]
 >> endobj
-7985 0 obj <<
-/D [7981 0 R /XYZ 90 622.5061 null]
+7951 0 obj <<
+/D [7947 0 R /XYZ 90 622.506 null]
 >> endobj
-7670 0 obj <<
-/D [7981 0 R /XYZ 90 520.941 null]
+7635 0 obj <<
+/D [7947 0 R /XYZ 90 520.941 null]
 >> endobj
-7986 0 obj <<
-/D [7981 0 R /XYZ 90 506.4793 null]
+7952 0 obj <<
+/D [7947 0 R /XYZ 90 506.479 null]
 >> endobj
-7671 0 obj <<
-/D [7981 0 R /XYZ 90 404.9142 null]
+7636 0 obj <<
+/D [7947 0 R /XYZ 90 404.914 null]
 >> endobj
-7987 0 obj <<
-/D [7981 0 R /XYZ 90 390.4525 null]
+7953 0 obj <<
+/D [7947 0 R /XYZ 90 390.452 null]
 >> endobj
-7672 0 obj <<
-/D [7981 0 R /XYZ 90 288.8874 null]
+7637 0 obj <<
+/D [7947 0 R /XYZ 90 288.887 null]
 >> endobj
-7988 0 obj <<
-/D [7981 0 R /XYZ 90 274.4257 null]
+7954 0 obj <<
+/D [7947 0 R /XYZ 90 274.426 null]
 >> endobj
-7673 0 obj <<
-/D [7981 0 R /XYZ 90 172.8606 null]
+7638 0 obj <<
+/D [7947 0 R /XYZ 90 172.861 null]
 >> endobj
-7989 0 obj <<
-/D [7981 0 R /XYZ 90 158.3988 null]
+7955 0 obj <<
+/D [7947 0 R /XYZ 90 158.399 null]
 >> endobj
-7980 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+7946 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-7994 0 obj <<
-/Length 2516      
+7959 0 obj <<
+/Length 1934      
 /Filter /FlateDecode
 >>
 stream
-x��Z[���~�_��F�ٹ_�E8A�u�-��
�D�H��������p(9$��(���MRG�
���,���,
^(��a\.6�+�x���]���5|��
-�����[)I��vW� 	���������jM0�˷+��IyH�ޮ(^���t[&w?f�eR>���uS%E����=&�t�����o	�
O�AR*
-�����D
F��H�F1�0��?�
��>9�Vk*0�f�2=
�I��'?���\�L�
<b��%��
z�涵\cX�$�v����x��3Z,��#b
]
�8e�f����
�A���8�h��� M�Ji�0�
-\�5"���+�A3�PT""�����09�UZ�n��I0E�Q��
�(�J51*�B
-|v9ժ�~<�|*�Q\G�/�^j�+h�ad�,��}l|���4)�u�"b	
-��SV��YU���C�1;d�I���t��g��Z�:i��)�h��&Z�����N�z�NN&xʐ!�G��G�F�PD��q�y�uWl�]��=��w� �Q$��3�^j��B����χ�L��qY�kL�?
��p>��_VT,��9����P(��VGl�Z^�[k�V�� {�!��ZX0��ڦyq��W����j���WGl�^^̪]��҇�:H�b3�^j
d
Q�e]��4�rqL����%y��E�vWٴY���$�S���
��m�˽$
I-�tO�J���@�U�ܛ���XA��$
->}-FB���)Smon�|���>��%�d|^
�2I�a�"��P��Ϙ!��:P���,�G���ˑ�M�E8�gSqd�'�'$�J�WhV�+AV�mm���pL��~��l���#� _�a��Eğw1-ap����P����&S܎eճ�dˢ��,D�a3Ǝ
��;��8�[ۿ��]Y
�Ur_�����+�:�M�m��7�
$s�d0f�W�L�s�;Pv	��|)`&���N�9�	����S��]w���i�g�a`�|�,"0A	گѽ#9G�1��}�kƣs^�
�
(2����������y s[�~T~pnP���|b���õ�L�|Ls�Wk�ytŐ
!�Ԏ!��;�(��WY�RN.Iz�
�
�
-�ٳq!}��4�w77~ʅx�\�
t����X��wol�٥����G�sG����L԰B�/��m��z�V
-/�)�
���lEP��j�� P(K��
-�HR�� "�QQWY�F�K{	5FJP�r �j1}�"ߥywB��/��n����%
�O�a.
-���A���{�}�۵�C�H��������J
-�j��s]O��9
+ԛb|L3���
��nN�nN�WY��	��Z^��v�89L�x0m�[��C�۱��$"��7MO�0ݞ�X �vuiہy�
"�t�;��l��䂦��vJ�V�MrJ_���&���s,��i6O�i�ƺ��FR�O���4��Ռ�Ys~���0u����9�uz��iG������%C&�O�qHT���}�I|lo�fi�I\h�n��	p��i
nG=��h��ؔ���<�3
��8�8� 9��
��u���U#5��L��N5��tQ�$��l$�YSu�&lՊ�����n	�t��	����	�khxF�9�wĦ����A. %����4�����j'6%I�����Xc|MM*�`k��&M��z ˧l�w�e��@�~p{1�6�Ǿ�å�{��f_��e��}>��Y�
��6��at��#�NͨS6�0ec�HڍN
�����R�S ���a���]
|*��Z��<�n�"�n�L��
����hYS9���@�g�"�Ti�Y�����34��M��zw��
�}�
{5O�a���
iG��J��/��Ua��ö̼����
GBQ1���S�1�L]]牐&,i�
��!r�F\j���8
��
y?���
-�}1���c8�����
����~
�@B��Y��嗬�wq�⊷�9������N~�.*����U�`]rݚ?��1�}i� �e�����86������,
�)T�hmku=uۑ�M�v���`]|	�g�iW�f��[
-�t-�Z��ʨ�	�u��h�m�U�8ݻ����1*�AI���HM�YUzT
c������f��W�Y>
j+3s�Ef|
-��EH�>�
�O��=-�Sp#4˂M����!�����_M�����	�^+.�,�E����2�StŦ��łVz��X<쥆�=oq�9����˵	s�]%5s�BWl�\^,�{}s1
�7
쥆�sQ�d�	4�g
�Uj��
��2�����K����^j���(
��k�`=�Na�K�"/d�]Z#o��{������O��ǘ��J���'���A������ͭ���m3ƻ�������"I�s�w�vpv;iy)��*����/ߥi�4TՌ�
-
�>���_�py��
��7|�\�vp�}�Ǫ:�\_?==��	���X���>
��}����
&�	ǭ[��.��aG�����e���P�m���C�%B��BU�
�?
�endstream
+x��Z[o�6~ϯ�Sk5ë(f�}�b�h;Eg;)�av(6
kW�\In&��{(RWS�3�,�@�����s�����!���W���~�@!�0�]
+2$HPܮ��3B������	���6�{?�x��O�*�w�}O77�,��!�����&��������O�Ba(Ay-�[�������

+&��zJ�wi\���):��]W���U�u1'�LgK��3���y�����+bp at j��$(^n�>~��
+��`�T<�OmN|�����_a�b<��H!�y i�Hȭ����VW�(ojCƒ��*��m�$V�>��V���+�^��
b��7�
i�鸰k='bbtY&yf�U���w�o���6�S��e����^V�ud� 2J�:l�c����G*"�3�&)�3�
������:��@���.���쨃� �ce��.�*w>��n��� �����^�1�b�{}�>���ٷ:a��t�o��
e}������[� �H�6�U�׾(���6���6�\B�Y�dW��$����G6�7�Ʀ��t�
+Ih2�\Y��|^�]��̪�[B��V���$�s0$N��]\<@BeձH+�:�"]�f
�Y�O�P�Z�7����=��H�K��PY�dk{7�e�d�|����>���3�B�`!���}����L��"����]Q��b��yQ=�%��G� u��F4����
+�����tQsw]�[���sӄ�0��o<�	1�͎5�����t&c텮�Ef��.
+B󭝵m��4˨���P���ŬN��7h�qO�nD��ƒv4��9b]L��K�ڍ�}V��%��
���QD��W#"�!U
�8�*0�����`
+�fO������"�܋}B������hCv�穕v�Ɛ���'��v���W<c#(�w2p��M6 _Eu.��qe/�����)?�
h1_}eE��
e�a�7!�.�R��w�^C����4�I
��S>�h�ЗHx)
+��^wtꬨ�,S�頜�
�HFm47�ǍU��O@�|��>l�ɇN�;O<�$�[8��Xa6	;��ӥ��$3����E ��Y-̬�.M]��Zw��'�lg���ꦂA/
S
l���J|#M@��3&==x�V�V�
;����Yv�CB��P£�ip�F���i��w�����%|�'
+��
4'�U��I�W�b��K}
�
��~��$ss�q�
��u��,�V�&����S��6���h��b���:��}���W�������%E
+����2DX���6�TS
qe�6V/�Z�ʺ
��c����������R�ln7m
�&��e���b���?��X}�u�(�;ls�#�Jרa<" �u�r`�T����
�oX����E�B �
"*�s|.��w��>�5�2r[<d�Z<dV�)>VwLe����X{G�	�Sx�<B����a^�1�,�6 ���w8������y�>$��3.�!�
��C���!A�5�
	��<$`x␀!.�s	B(�1��� �������C�+.Oh��Mj�}
�C �]�rlVL�B�S�~� �ʗ/�ޥ���w ƅ�.U�?Ӫk\h0�Ņ�L�w��
Ծ��vC�1���Et�:��+����N-.1��q���E�;����dD�cC<�!�If�e��7�<�R�E�3��L�{���3���2z)�|.u�0�y8`Bm��t����|�<�
',���
'�@M���/���68~�5�I��Q$ȋ���V��gg�1^7��FA�E��N��]�+�� 8��F($�轩,��e��쥃H��R_υ����
g�8�kJ,�/�
+��j	3��v�g�v;���wЬ~��6�y���MU�n��ѲD�,�(��w���07;)�pԡ�u��ۼh#7����A��m �
+endstream
 endobj
-7993 0 obj <<
+7958 0 obj <<
 /Type /Page
-/Contents 7994 0 R
-/Resources 7992 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7991 0 R
-/Annots [ 7998 0 R ]
+/Contents 7959 0 R
+/Resources 7957 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7933 0 R
+/Annots [ 7956 0 R ]
 >> endobj
-7998 0 obj <<
+7956 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-7995 0 obj <<
-/D [7993 0 R /XYZ 90 757.9346 null]
+7960 0 obj <<
+/D [7958 0 R /XYZ 90 757.935 null]
 >> endobj
-7674 0 obj <<
-/D [7993 0 R /XYZ 211.8424 575.1444 null]
+7639 0 obj <<
+/D [7958 0 R /XYZ 211.842 575.144 null]
 >> endobj
-7996 0 obj <<
-/D [7993 0 R /XYZ 90 560.4197 null]
+7961 0 obj <<
+/D [7958 0 R /XYZ 90 560.42 null]
 >> endobj
-7675 0 obj <<
-/D [7993 0 R /XYZ 192.8535 284.8959 null]
+7640 0 obj <<
+/D [7958 0 R /XYZ 192.853 284.896 null]
 >> endobj
-7997 0 obj <<
-/D [7993 0 R /XYZ 90 268.7915 null]
+7962 0 obj <<
+/D [7958 0 R /XYZ 90 268.792 null]
 >> endobj
-7992 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+7957 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8001 0 obj <<
-/Length 2621      
+7966 0 obj <<
+/Length 2143      
 /Filter /FlateDecode
 >>
 stream
-x��ZKo����W�H@����Y,�
v�l��
9L-Q�THj�ίO5ɦ�d���h�K�I�TU]ϯ�$

da�B	�
�r�9���|��
i�^���.��on��ba��T.�wI���.� �Vk�1^�]���c��vE�2;���m
=��<�Q�rw�󦌞�4:<��G�x������	鰧� )u,�ojO�e�7�&&TC��,�7��(Vk*0p3tO����O~�wq�"z���&�
K�����r�a�����7�?��
��
F�h�x���1tq�ᔹ��ͻ���|�/����)�F�X
�&H��D+p%��b�
-�R�1S
E%"�������Oe���]��S���.['|�DK=��(�
-)�ׅ�U�(�wwI��x�1:$ۇ(:�
(e4�,Rꢌ�*#h7�0C������>�VT,��:&�]S�sp��Ħ����S^��%�44Q��I��i%]��<VGAMS�bVV���6+��u�n��)*��C���k�0�	|W
,���iR���+����m�ɚ)ns�|�/�<��SIf�
d�fe}��m��ovyvl>���WR,�M�-�`���.:q@:�P"����qy�S'�
O��9�����4t:��V.�B�J(�\u�lg�
+���pH$��u�?&ir<<9G�1Տ�C�+�sZf�
t��k��5��E�K�A
J{�mJW��
 *X�O4�9\;˗S�FG�Rc
�(�#"��j))�
�c�
jnW�
	��7��C'Xs(,L߅ߎ�F7���*/'����aHt�7�
l
-Q��)I�(���푅�,5�oj�~�W
qA� m��hDm���^Kc�o�xU�n�F%(��\�a�x(E��5�s$�aV� "�֊��:*����TD�x�
��� ���E����!N�<*�fVy�#-:h��S��W���fV�}X
4��"�� Q�!P�`tĬ�5�PI!C�/~�Jb�̐Q.���
��\�
Bk^S0��c�E�
^�$��@��+���]5�Zf�k�E�ϜjCVB5
.A�d�m���m���mcp�!P�M\!,��BO��YF��Y��O6�a0Mmm'~�DE�"�}s��6m�W��Q�ù��v������$mZ��>��Pזе�� ��8�
ՌIÿ�f=�˦�u!��߂+D���K5��d-��N���@�*�|�����M�8�%�ѓOX��i�TC��G`R#��yr�]�
�T_�+"���kCU at e��dž޵�&~���?�M��r�ؚEԵr��~�mpP({��L�-պK6�.G�5D�_���9��j(��/�4'=���R��:
*۽2�'�x�3g�
Ք�*���m�0
�R
�@��RT3�Im
���
�����
)����:dS�rd=�≆�Ƌiюj(گ����D��K)Ov����z���k�4 �
�;�k��
��-=c�.ل�[��yB	4	�uZ��
-�c�6%�/���آ})]Y�����\�7�8�
�!��Pa+��IU�����]�e���'6����!+�y<�~��3j
�г�!�wz�8)��p
Ȗi����(�ԕ��'q@�j
pa���rWG�§B���H�9����MZ䲫(��y��W7T��n�1�Kf
����3��hc/��:.�TK6c� �j|"���3�f��U
����[��UO�eQGF�6��R��E����q��m�؞n~�W�q���rf0����_4�O�G�S��F\j���>�;�܌����V}:�ꓣ�>�7fV}�]�}��X�lk�WZ�q-�̺O]sݧ�u_��>T��<jG����޾�}
��Ajp#]4n�[&N�n�B�v�)�Y-i�g�x�]-�a�-�E�&;Y����s�P
�)%��2́���Qb�R@ �I,
ܷ�"MҧP��@W�e_R½t�0\�i��!,����~�₄�O`��
a��Z��2aRO
�%H
@eB4�$�c]?���	ȿ���	��c�T㞡@�������	�
���%�<(9i�
�
(���2](ɸ
-/�9��F\�1(�VnV2'+�Xa��(Lq&X�9[�a\i5E��.�8����� ��z���2�C�
"�
� ^�O�,/�j��WG~ה��	�	�$��f�[0�>��38�f���pB��	���D1�'
�uZeV�.`zS4А�Z]
WP��Pj
W����
���#��G��P%  d.닯�&ص7ڣ]�p�0�3/+u�ƻ�a��'ቐ�k�I�s�dW��4%�N��J���bdL_��h���=�6o��kd�3��PMx�j�.�z5�	��T_�O9�����`��2a��)㭫
�p\I��Z�ː��_��R3J¼��
-��
-����՛�b^�;;�y	A^���|�nP�
6��X�Myx�~�-���~1
�*�]2�۷T��_�h������[�J0
�w]%�z��>*����uȢ�m�E}�"��b٘�/Qz��N�Ѳ���>rU��Ⱦ����o�(DQ���o��pW�������
�|�r�_{�}Y��no���Ѧ@�49�()oO��m_/f�Wf�q�h��gy�%R2����=�;fy��	><VN!d�J@���B�mendstream
+x��Z�n��}�W�)������,�
f�l��
y�

��,&�%��:_�j6�j��D�݇ DR�T�s�(�xZ�ŷ7���}'�� #�\�o/�$HP���,>.	AL��c�|�"x�������e���M
<|?�A�rw�CXOY$v�!Z}����
!=�$���?�!��(o�{lD�h|3g�M�jMc�.��!	��=�1�F���e���&�
kk�����O7����E(��q����	/6���F���s5j���g��p�\o1��jm�|��DDr7۷?�ѡ�����&1�r�Έ�J5R�,�
	�L���.NW
/?I�y��>Jˁ��w��T C�M��ي��s�v)�֛�w�)b�����C��
���8&͠ ݸ1tpXi��?1f>g���N���ygy}ě�^����4������Y�5eI��¢�?o}�Ľ垙%���B��^�f�۠,_�e�{,
�0��mkZ�M�Y�.
�c��6�f�g��q���^I����7!
+���6H���1$	{ϣ򘧍�6���k�-N��oui��Q��J at -�7����Bk�5��W�˫}�����c�sĺ
j#/����:�ev
,��������Z݃]� �j�-�:�C���s�
+��M�/�(
�0I��`%GDȳ+��^?fY�]�!R�e��w�
+�
`����	~3�5ww�!���\�0��!`�� j���i�om�Y�(,����q���ₜf�p1QI��^Kc�o�h
 C�����e�N{2g�RD��� ˛�<I5� �A��SS_3
��3�c
ҿ�9�m�FyPbVY�s؂ILO
�j�'Θ;�Sl`�2]�|����քC��5৤����fȨ���c��
/�)�E��"K�w�8L����:T۟F�|VLc/j6k�v��J�y���ђ��q$V=nI
n5ĩ��’\������.��<��p��� �Fx5=���"Nm"ڰ�n?ۅɱ��
��p�,NkZy�Ey�cl	��̫�Y
@P�P�k-�Y�t,k��i�!�P�LA�
 ��pM	@8e�_�j	�Ӡ��p
S����m(�Blw
��X����3���c=���zˋ�㿢�l�z���$���)T�ߏ;�N }@!
-��
���?�G
+�=J�8�h��0<g�蜹�}L�$�:��&J38��O��6�a��Q.�bO�
p��[�v��5N����R�:#Atg���\_�dEt7Og�B{լ����
)�<	J'��r(�aE��¡ ���}aS��
T�����3��
��
��8����S`�(
��6����5
�E��
CV�T�Th�GB�$���r,����J�=1�/�ɵj��T�_\��?S��ZO]c�鮉b3�tb�^zK{Ō�
_k��MW���UiU����
C|��ʞ�w�+�ɤ̓u�žN����i��t5�
�K�
=
�pؼz�X����[p�5`F�~ak@̵��5 '[f�5й�l�_o��+���m���
6���2̃V�������kog 2�w�z�RN��,�u搦�ZT�=S��u����M1�,��`��e(�z��GJ�r� ]�i,b���w�c�@��i�>�8�l٥���y���Y
+���P�����D!�Cr\�@���nT�:�S,�W*XW��hrj�5B ���V�[�gs rY~.�к��֨_�X���_*P4=T�uU5����	N�ڹ�F�ֺ4�3�IS���!�˦~|e�����!^�bIF�;�1���?k���U���Ç
&{�� �u�ް��@CB�K�^B_Ծ�z���S
lY�ǯ�wg�p �c�Ք�(k��9��V��
+i� �0�i<��X�
��f�>x%��H6���`T�	����uZ�{�:Q�(���K ٽ�qu��ӜE���,:x{|�3���p
��5�Q�^��9l�~\
~�>s�&l���d�
���!Ré�K
R�
vA"���y#
�����[[��o�q�5	���Q�ە�z�
�c�tx�ٚ�,o��P���!�� ��
��E�J����h��⺡ݤ)J�rW�������g�Ƈ
����ܞ&Lg�'�ۦϻ��+
+�U����
�]"�
+endstream
 endobj
-8000 0 obj <<
+7965 0 obj <<
 /Type /Page
-/Contents 8001 0 R
-/Resources 7999 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7991 0 R
-/Annots [ 8006 0 R ]
+/Contents 7966 0 R
+/Resources 7964 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7933 0 R
+/Annots [ 7963 0 R ]
 >> endobj
-8006 0 obj <<
+7963 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8002 0 obj <<
-/D [8000 0 R /XYZ 90 757.9346 null]
+7967 0 obj <<
+/D [7965 0 R /XYZ 90 757.935 null]
 >> endobj
-7676 0 obj <<
-/D [8000 0 R /XYZ 211.8424 671.203 null]
+7641 0 obj <<
+/D [7965 0 R /XYZ 211.842 671.203 null]
 >> endobj
-8003 0 obj <<
-/D [8000 0 R /XYZ 90 657.2949 null]
+7968 0 obj <<
+/D [7965 0 R /XYZ 90 657.295 null]
 >> endobj
-7718 0 obj <<
-/D [8000 0 R /XYZ 192.8535 404.6965 null]
+7685 0 obj <<
+/D [7965 0 R /XYZ 192.853 404.696 null]
 >> endobj
-8004 0 obj <<
-/D [8000 0 R /XYZ 90 389.4086 null]
+7969 0 obj <<
+/D [7965 0 R /XYZ 90 389.409 null]
 >> endobj
-7719 0 obj <<
-/D [8000 0 R /XYZ 90 245.9905 null]
+7686 0 obj <<
+/D [7965 0 R /XYZ 90 245.991 null]
 >> endobj
-8005 0 obj <<
-/D [8000 0 R /XYZ 90 232.2368 null]
+7970 0 obj <<
+/D [7965 0 R /XYZ 90 232.237 null]
 >> endobj
-7720 0 obj <<
-/D [8000 0 R /XYZ 90 89.4414 null]
+7687 0 obj <<
+/D [7965 0 R /XYZ 90 89.441 null]
 >> endobj
-7999 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+7964 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8009 0 obj <<
-/Length 1990      
+7974 0 obj <<
+/Length 1561      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�D~ϯ�$���R!$X�"q

�aYUn��
lgK�=g����Iv
ҪR{��|s��gB�����
-��t������vB���M�o���WRL
2����~?�$HPB���͌��|A0Ƴ�s�gA�	n_�)�����(̂��,Ȟ��Z�C��ۛ�`��.��zEHczJ
�RQ�cg��i! Qf��Xz&1�0���WG�x��|���l�΢�v
Qy��>��DϢd��abư��N^.k�9�
-&��۟�7o�47��-�Op�1�N7NYu���L~��)���#;�A�!,;81D��RQ��o8m@���+���N�x�FI��h,���
)�+R�'��FP���'���cKj#�b��DL���i� ��ٛ����� 
o��Y=��Qx�J��Ȃ8)\���~Q߼�y��=��g��F5�`��Uz�r���1����4�uh��	���u�DoKAA�K���\��#
-I
-�a��:
��G�(��ʼnG��kف��H8�\T�(Ҏ��a��~@5
�'�-?S�6��
f
�

I�?�>�S��Juk��m�7�+�ES��͐���QNʔvy�WDY~��O0E�Q��RK���B�`n���Y.li�\�`����R}��h��պ�]?:�йs���QXy�k$
�'�?/>
��</Q�A\r<S�x����f�jN�l_x�cKX���mH��()}��y��*�1�u$>=��ⳋb >+1
#/��k00dzw�:o��a�� ^���FҶ�Q��R}0��
I�[`��Y:�b����8�W�8,WRs�(�H֝"HB_P+����
-� �J�a
F����8Y��mP�w��
;(fi��E��E
WV�
��4�K�A�7���A=�Swe�
�(O����%�K�$uc)D�&X�]���6͊�B�=w��O7�g�n`��|#=Į�|jJ
�P)
An���\
-0���$N
��j�!�zڎ�����.#t�&�l�0��f��������
YI���=�	��qo,Z�Z7~|�%��q�M��|�ZEy~�[;Y�&��
-Q����e�A�� ;n�'�>܈bE!Y���GU�_j{󳫸
�Z
-���c�
P�AW����]��]
%��
�N�!�PQ
�]�zWQ�}�./_t�}��(x#�j]�>x4C?��r�
cx��5-g]Z�c8�Aka�"���j��OŢ?w�mv��`
U�{��a�E�@+ٱl�*8���
P
��xinJ
�fιu�8��� �T�
?ݩ��i�q��d|��T_k��S���h]z\9L�
Ĵ}A�:�)5� 0#Z��E}�G��C�wN-�~\t�".���-0M.�(�
�(^�.ᖌ���H	*F3_@�4�IN��q:DN�$�++�	�W �2�n=d�]� )�^�r��C|\�!'l���ס���#
Q}
-��'n�I�g��-��K��FރE���V��=�ڸ�D�/��y����
�:iJ
�+
-�0u�Y��	����C�oY�X�@-�Վ���k����0
-��R�
��y��B�(E�0��Ԉ�l�SeNf>�c��pO%�~�b�"F��g-0-F!� ���كW�S��mo|�C�&;%�s��߲�)���a$�Mgh;lpY��#
�+��Z}�ˬ�ٝ��8��t�x��E�!�}r�m�js�q��0��a���: �8'GHGCh��ٖ{
<�sxԏ�.K�������FW��n4un_|�i�跺�i3>M<!����r�7Am����q��SHgaOc<���9R��e���IRCȴϊ%8^��_�T Zn}mq�j�.�r_^��_^��G��s!fΘ?�ΞT���
-d�aoTlK�s�MuMCEX�6P9�Ǵ���a����e��j{��5?�������	�r�K�m���j�]_uq1[-8���-j�
�����r��roOa��6iU�	77�%���o��Hendstream
+x��Y[��D~ϯ�$���x"�U�T@]� 
J�ڳY��Nmg��{����q.�Mi}Ib{|��9�	��
�~
�0
\����HK*�靧��$A�ozo�� �Fc�1
^�
�tif�#���bso���~�nS�n&�7An�Il��{���w��W��O�FR*P^H��\Ҳ�`Dy�`�#C#�D��S^,L���T`���.W
����o�Φ#�m
�-��2�����������",B!�����;�p���Ӿ�X�Zz�2�^x7�_�h�)CX��#�����6���kXˏ���^�oV66Kp�Dz7��#���h
+�T���$
+K�ACܗGѲ�ϋ1'1!�1S
q؛Vx&�� �&X�p$q��&��
+4b�_47g7�
�S>����Ů;`,k�
d=&����O�5�b�
��z��(^D�}W.x�s��L��
+I�}���aX���WP�s,�{�j��6��-��#Λ%y�ѓ�(�;�
�i+͔"F�����@��߬��>
Q�Y��b�����1�)�]�gT��P
u��4��l��N|��K�������y�
FH�֓�~���Y���Z
�a�'��GB���h�4d)���������l��61,��xVfP�uV��x�w`Wy�>-�pK�RD���	x����,�pf��zi!WG��t��4Q1|��'��+N���i�H�F��þN�V����mśԖ����A@�Q
$˕ɣۅ��=�$��E���}Xٶ�&q��J�����c�&$Z����[��x�,+x�I�,8,�bQ�,[�VI��%u��t�77�w�,A�qr
�X���H
+���p
����� �#��N�`���Y�~�Y/
L�k���|���q[��4a�z/
+
�8���A�z�T*�u�,�[/*ii�u��Eg�����i��K��ޚ
��'��"�ć��Z$�.Gsg��Ҟ�ƽ��C7% tEx��M�ԙ�K��^���z�'Q/��y�.�wM��qR^��<�#\D�nEl�;��
���1.��`	W�$f�̎NOwt�+M?g��ב2��,l}��턿' R �U7��P���U��E��0���^�ۢ|���avu�g�.*�CiF��?�e�G3�h��� ��
9ߥ�ң�)���K �X��z�u0N�w� O�RM�J/!�
+�����.H�����D�_Fԧ
Qىu�� F�������sf=�t at j�sV{��g��cL�*|��v��
;�l at v���+ֲ����
X��'�D�Y�yO,�L,��E�3�T���
�����ygD��G���(P#OҶ�;��X��6I�]��|�-�f��2�>�L�x���L5�橾�T;o&4�J�j���v�o!%�_8�>#s�D�W'Z:4Eʞq���sR�`�����`�#̯�����w�s��vW]������^y�{fӯGB
���b�;��[ʃ�*N+�M���Uj	s
��򍵕��{y���E��FS�EM���|5��z||DA��q�JQ�_�V��}\n��a�W
�s��κe��:�psi
C�K�?���
+endstream
 endobj
-8008 0 obj <<
+7973 0 obj <<
 /Type /Page
-/Contents 8009 0 R
-/Resources 8007 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7991 0 R
-/Annots [ 8015 0 R ]
+/Contents 7974 0 R
+/Resources 7972 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7933 0 R
+/Annots [ 7971 0 R ]
 >> endobj
-8015 0 obj <<
+7971 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8010 0 obj <<
-/D [8008 0 R /XYZ 90 757.9346 null]
+7975 0 obj <<
+/D [7973 0 R /XYZ 90 757.935 null]
 >> endobj
-8011 0 obj <<
-/D [8008 0 R /XYZ 90 733.028 null]
+7976 0 obj <<
+/D [7973 0 R /XYZ 90 733.028 null]
 >> endobj
-7721 0 obj <<
-/D [8008 0 R /XYZ 90 528.1646 null]
+7688 0 obj <<
+/D [7973 0 R /XYZ 90 528.165 null]
 >> endobj
-8012 0 obj <<
-/D [8008 0 R /XYZ 90 513.8471 null]
+7977 0 obj <<
+/D [7973 0 R /XYZ 90 513.847 null]
 >> endobj
-7722 0 obj <<
-/D [8008 0 R /XYZ 90 359.6337 null]
+7689 0 obj <<
+/D [7973 0 R /XYZ 90 359.634 null]
 >> endobj
-8013 0 obj <<
-/D [8008 0 R /XYZ 90 345.3162 null]
+7978 0 obj <<
+/D [7973 0 R /XYZ 90 345.316 null]
 >> endobj
-7723 0 obj <<
-/D [8008 0 R /XYZ 90 191.1027 null]
+7690 0 obj <<
+/D [7973 0 R /XYZ 90 191.103 null]
 >> endobj
-8014 0 obj <<
-/D [8008 0 R /XYZ 90 176.7853 null]
+7979 0 obj <<
+/D [7973 0 R /XYZ 90 176.785 null]
 >> endobj
-8007 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+7972 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8018 0 obj <<
-/Length 1882      
+7983 0 obj <<
+/Length 1492      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�6~����f3�;�`�ÊvX��ݒam(�l
�%W�����P�d]h9M���ЇX��w�1�d��X	�4�r<ߎ�x�?���=�����Oף��R�5Ғ�����A$(�����	!���`�'o�O�l޼�R<I7w�h��7�ŷY��]^���*M����:�E��ׯ.^�؞R��T���"-#�4wמM4"L('����7a�OgT`�M�I��m�"�+F�(��`%sXb��	Á�t����s�`��}�}��
p�FLb|�
���t�
qʪ���j�G���Q>������L���^�@ L��Q
���
4˜���ɂ�/��G�"N���k#�)F鸹m�����Ъ
��븫�����8�r<�n��M����()z�t�� ��@
�TR}0�6�3$�n��^g锊�!�l/mNѦ79G
����;�K����F���8�2m

-q*��
��gi�	q2�w�8W�0�,�E
n�!��8���]Xķ�����I���1�$����Ӥ�$�*C#?�1N���
���V��lo���a
���g�2I
�#��܆�͝����]���^޺�b�z}e�.�-�A�ԩ�DrH�8XKM�ӵ$%Ha�J���J��1I�du��

�����j1���&���d����q��hz�mY�V�X���3��md��⸋/1X���HaU��~g�j�
0ͣ<_�7v	��T�U�(t7���g_� �VA��	e�M%�V���2��i��9���h�<ScF���
#";@Ġ[�)XT�?� K��|`��
TUT��$܂�,��Nr"ãN [:��Ƽ4^�
�d^3��80�[|V�8���Nl��rOe��
��ki�
�b}����:�;,p�f/�wngu�����k��
��)�u��W�T����M�D�=�1�����	&�k
�k��3Ower�V��Vk�<`�A�`mSZ��ePUn��M3��N?��rH���J�.����r+h��I	CX�}��dH��N�d�ڊ��p�oJ�n��A5c˚\%A�Q6��|�~��9�bu�[�	t+&�a�k������
%$ m��U�
�`��S~qy'fzx&�~h?�7N�֩�WI����9W�p?1
���s
RX�{Re�U~*��Z�aTy�#G����-0M�\�K�)b�'�z�8I�)�o��XW����%m.���6{i�w�C0�<�<OP��!�
��[G�'�n�x�) �_�^
��Փ̄?�(T&���F�
_�V
�X��
-��W� ����SQ~�"@g�elx\4�N�
x�FT
-�	
�x
��
�ȨŎ�m�7�ͯ��Z۩B)�Zw�6I�K�Ǒ���
^qg^�M�J�a?
-
D�A���ܛ$xT���D����3������H�zp�J�h�������22o�~�@��A�<K�g&�,A�_� !?s�ps՘u^�����6�=x`N��^DAއ(

H����.�
���`]�q_�9|[�
DkD>s�Д:=K(J��O��<���Z��6��`����R}�
���]��S�~�T�U��}n�~I3�w�Ɲ������[C;�j�s<��'�
74�NG�(f�������|(�]'B_�=�L
z��&z`�t��+�	O7�(PRݿއ?t>4��.�ם�|��B>�t�� �y�Ҥ
��2_��M��|c>�
�.+"`/
�0���BL\)�
&���̨�h��6g?O�"@�f0�Z����k���ET�A��?��ׯG;�f�'l5����}����]^\
4��>�w����ns���L�s��7��zXZ�g�DJ�²,?����iݥX܆�]�R�T���9+�endstream
+x��YM��6��+�j�L���t�h&�Ӵ��}t�H2���)��6���{m��y���"+�,_ݯs�dco�a�ޏ���N2O#-���3Oc/�	J���{��X�����O�f�p�O��.w
3��ɯ�Cf���mT��4	���E�6���7�;B�S���,^Y��Niy at 0���0a����W�0��*0��7��2,�
���L�'�7ICL3�3�K����ާ
3�#UZD�X8Z������x1��m5k�q��w���~�a�b|6�J#��P�������Df]�i��*'��
�8�T� ko@`Hk"/��Q��9��e<���|�2I�28��0�i�$}��}*�m)̏g6���{����#0f���q�Uc�XĹ��Z��Ӧ�a2�C�1��D�N;q�;���Oc�=���$JW밈���
��f]�1�$�f����4)�8��a9�0N�����:0s�ml��
�]�����]�&ia���	�p����|�^�Ya����

g�����+�
���z!����H:���Ki��'q2=�.]}7����&�ǐ^@�fU���.aa�D�zp�©�#0��0�J����$��]U�y���(2y>�,���]˔�֐
����̹W��j�a�#���DDI�.w
�L]���
 p��LQo
�� :
0b�b��E�`��������m�[�$\A���T+9"Z>ɵA���2�4�Z�7�
���O�E˃�(�H��_^J�hd���&f�����
Ex9�~�Wc�������m����	)�p�u/`��BA�6�x'�81;`1�=��KR���qdڟ(]W��gV�6�t8�"�
��ZZ!.�ݖZ��K�{�
:��~Z�DZ;y����U�@Q���
+Őn2�4�2�a��Z�z�� �V��®� �g
zj�:���!�&��g�ٸ8�9�̿h?���nʃ[2�'i���l��B��v����OM�և"&��E.5 s��)�>�a'(�����>��J�>�S�h�ĸ�!u�C�}:��F��P�v�Q�o.�~O��G�U�\�(_�D��JTԥDT
G�ޱ��r�jQ��DK݄)J	�V� �A at o�A�I;L��SGl��Cr��22�6@�Ů<��F���V�T�ȍT��M��cN
+D�x�>K�d [��́�^)D��oBt�Q~�D4�?`�NAbI����
�(D��F��U�$4�W���Qq��v�ŝ/0 8��qp��F]q^ҷ�+�
+J���V����* ��y�4�u=j��䥼T���8��uQ�C5���굋�L�N� ���`�V�$RA�
�]#PM2�?H�P�~���+�)�٥�"���]���T
wYK��t�a/�����B��
�M�d%)?�� O�m,
b�VD֙!�dR���ƸHmx{��_zU��N�'�/֢(֣�p�ݢ(G�$^g(.���rx�H{+�4t=�^͂w��F���l�"�
he��
+endstream
 endobj
-8017 0 obj <<
+7982 0 obj <<
 /Type /Page
-/Contents 8018 0 R
-/Resources 8016 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7991 0 R
-/Annots [ 8023 0 R ]
+/Contents 7983 0 R
+/Resources 7981 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7988 0 R
+/Annots [ 7980 0 R ]
 >> endobj
-8023 0 obj <<
+7980 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8019 0 obj <<
-/D [8017 0 R /XYZ 90 757.9346 null]
+7984 0 obj <<
+/D [7982 0 R /XYZ 90 757.935 null]
 >> endobj
-7724 0 obj <<
-/D [8017 0 R /XYZ 90 624.5745 null]
+7691 0 obj <<
+/D [7982 0 R /XYZ 90 624.575 null]
 >> endobj
-8020 0 obj <<
-/D [8017 0 R /XYZ 90 610.0042 null]
+7985 0 obj <<
+/D [7982 0 R /XYZ 90 610.004 null]
 >> endobj
-7725 0 obj <<
-/D [8017 0 R /XYZ 90 463.532 null]
+7692 0 obj <<
+/D [7982 0 R /XYZ 90 463.532 null]
 >> endobj
-8021 0 obj <<
-/D [8017 0 R /XYZ 90 448.9617 null]
+7986 0 obj <<
+/D [7982 0 R /XYZ 90 448.962 null]
 >> endobj
-7726 0 obj <<
-/D [8017 0 R /XYZ 90 302.4895 null]
+7693 0 obj <<
+/D [7982 0 R /XYZ 90 302.49 null]
 >> endobj
-8022 0 obj <<
-/D [8017 0 R /XYZ 90 287.9192 null]
+7987 0 obj <<
+/D [7982 0 R /XYZ 90 287.919 null]
 >> endobj
-7727 0 obj <<
-/D [8017 0 R /XYZ 90 141.447 null]
+7694 0 obj <<
+/D [7982 0 R /XYZ 90 141.447 null]
 >> endobj
-8016 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+7981 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8026 0 obj <<
-/Length 2100      
+7995 0 obj <<
+/Length 1590      
 /Filter /FlateDecode
 >>
 stream
-x��Z]o�D�ϯ��K"��|T	V��
b���e���;�NK�=g2���N����@�Hc�<s>���8d��L
�*��a\NW�	�>���&��������׷��o��d$������ A	�ޮ��AL�c<{;'x��h�vN�,ۼ<��<Z����Q�r}�Ӫ�
�4�,o
�]<��շ����� )8v�/����`D���m`��2���o6QQ�T`��Y��m�2vW~���|N�,NWp�&f
;����s�c����ɻ�x�?��-���#b
�n'����fr3����8<�� � Q��� �`�U��z}}�i���8_!ŵ�
ʗ]�F[p��2	�a�B��B ���,�le�ڍx�|b�k9�$Ah
N$bBL�L#\��=u�]_���
c����|\���!��\�2�w,0\,J��Msy�R@�������j/�S�P/m�P����S�ʤ=�ISR��]�n�4~�
m��*�$V
-�����(��_�z-��Xe;��-�w��c\�� IC��F�]���bS{���xy��μE˟5��N�ZQ�Q����*I���[Jl�iٸ��B82�4��:2��u�E
�	���)
nQCm�h[��J
p�XR!� ���*4(�2΋���C�1J� z@�>/	�j�>��
-�7=�٘�ah��UZ�ׄ
-d�J�io���Ϛ:��{�"^#�	�]�E�vQU�Q^��Y̺��}�Iʤ)����!�r;�P>`�W�ɉ|hY���k����߫xW&P
#��|,�(r�6�0�r}}
����	<�^F��~�e��H��8�ƪ��*
I�{`n�lN��9��s��d&�9��	F��cR�D�:Đi%�+�I�u^, ��$]e�]T&w��ǂB^H%
4A��P
Q���\Q�O�6u��Y��Iq
h[���:鞢�Sk¸MOYk�7o ���%:xmk�V���\+E�3�*���*�_�5]�/�X�7�h�D�^`
�<��~Y��b��j��!uȥ6:��Bb`
-����PD�� �@�'�RV�:��q��We��}����
I"�΀|'�|�}n�)MF}>�3�jA[���I��~s�wǂi*�_0㘃��TWt��F�l�j��r~ㄿJu� �t�
�p�m�Z
����UWoڰ��mTW�v^o���d���#��$(2������kY��O�?[#��
�\�@�j��H��8j�
��F��
i$�4=��_�$EG at G��&L�#���$���nb@��P6����t�z�nR'u��ĺI��M�r�I����K[B˛�
>z!� �L#Y��]���( G`�s�8�0F
-$0l����#!��2I@�hrR`U���!��
�5K �
RO`9�8(%��|
a>�`I����'����%19�:$�
E\�+�,�~Vlf�5lVQli�s/��|�A�B��d��_A���
��c�B�;F��Zu �w��
#g������0D�����pg0���u�b! #]��$������;���'��X�a��l�#
G�Vsc}��)���:!��V���8=_��&	mE8��ه	�Q�
\LX�y`|����2�\@<��S�S�#W�_�V�\�P��
�Nq7�{]c�w�q-��愐��E�n�=
��� �A&I�����vST�@H��J�z+
y
�x�6e��
���6{:�u�0����JX����J�B�%��64�(����AE|z
�P$qs����ٯ냂
�C�ڝ/�1x{C���[(�Q��&�+�m�Ar��˼h�Y;�#ae�a���羥�~d�A�����T
ai�O�ⴭ�e�=
�\��e at h��C��هɀQ�
e@LXx`���BY��ki��]�_��
�`Aь-CI!?�=��VA'T�x;W	��t�Ý�����=�m7�׺߸�U�q_~-�������~��}���r��

-����-Vo�o�p��"���
���9���k�^?�h=�jQ�V�׮��,w�WW���hU�}��r��W��檋�ٚ�ʌn���x�gZ�]���g���6k�ǧpq{8�襐�� � E�c�endstream
+x��Y[��F~�W��)���3���FI��U�,��f���e݂Ml���3
��%Z�V�>���s��w������7��ǽ�גyiI�7��4�|I���ϼ�>!���!���
��2��P�Oۇp��_��4H�����<�'q��\?�pp;~{����zJ5�҇���"�#�+�q������4�\Y6R�A���p�Zyhϼ��t at T?��p�i&�����j���#�{����.{7�؛���
FL+oSH-=N
�u�
>b���b�ee����}ߕY~,|`$ו@�]�q������
-�FS ߯��hj �fV�E*�!��ъp,��bȉDLo��B
��	�hd��	c��M�?L�I<Oצ
ʪ����Yn����O���ʞ��>K��k�"���i�y��
$^U"�,Rʴ�S��J�&�Q
�ZA��q��@+���$����CV���4Y��m���
󇰺��(�2�)$����1�b�,�՗��yn֊geTRPmZ��A�i3�*����
[J
�t]�:
�H+R��u����eP�*���s�1dKi��j���
+ at 1�l�(h9�C�	$R!,���
�� Jem�x?��a�2rW^[g�
A#$�BϪ<%�����3M��u��򨮻�h
'�yı2��q�
�WO�U
A��(x��Y>���9�?�q�I����0Ώ�T
ȻnB�&*����澣� ���SjN"��J(�g] �H��d��*��� ��(�&�U�Gw�u��!�
I_BmSD�����Ϥ-q���3m�I[�n�
I}4�M�F��������� ��lD/�ӲQ��K��un:{M��3cV:/��oz�M!0
���#fidZ�40]��l)�t��@�R~
�)8�H�jfV�
�a�
+�y�Nb��*(�g�

+�|/'n[��f5~_
 ��C-�RC{u+k֋Ƙ��
�YQ߭��R��ӿR0��=���F��
��L��w�n-;$٠�Gen�
*�N�]�lg0N����I�/5��չ�#h�Z��&���2�&��n��Mt��:��`Dh$��'��p����e���J&�I�]���	JL�$A��N
LP�%H~bylM��ZC��[ʼn,��uűl�Z���(v�����l)���XGn
�}(�fg}Q���K�}���rQڏ�����o�^R㠊��vy 
�:$���Z����:���\��I�?�/�K �Eߥa���g�Y�_I\��)��##�q@i��6Th���Af�J8L�PeR!����ï�A\J�i�L
��v'��������T���(6

Jjtb�p'���h�$���,0}�ӂ<�i�Q�9q`�Zbۡ��_�
/�Y��t
w����dv��8�E�_�-U͝��
�}�Wޕm;�@�nNѰ@��痔	��>���
e
�ݯt��5Q�~�+>΁%fKg��8gV�wƚwf7���[�Z����χ,L��/��[��㦭=U �A� �4$̴����uX1�u�/���K�pc4�
�&Uy�]]m64��:�V)���jq�_F�B8��1�>I�uˤ~y��e�z�%�"C��
+endstream
 endobj
-8025 0 obj <<
+7994 0 obj <<
 /Type /Page
-/Contents 8026 0 R
-/Resources 8024 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 7991 0 R
-/Annots [ 8030 0 R 8032 0 R 8033 0 R 8035 0 R ]
+/Contents 7995 0 R
+/Resources 7993 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7988 0 R
+/Annots [ 7989 0 R 7990 0 R 7991 0 R 7992 0 R ]
 >> endobj
-8030 0 obj <<
+7989 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4002 529.2902 212.1242 540.1941]
+/Rect [149.4 529.29 212.124 540.194]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-8032 0 obj <<
+7990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.5732 358.295 216.2973 369.1989]
+/Rect [153.573 358.295 216.297 369.199]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-8033 0 obj <<
+7991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 257.0341 483.2121 288.0028]
+/Rect [448.024 257.034 483.212 288.003]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8035 0 obj <<
+7992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8027 0 obj <<
-/D [8025 0 R /XYZ 90 757.9346 null]
+7996 0 obj <<
+/D [7994 0 R /XYZ 90 757.935 null]
 >> endobj
-8028 0 obj <<
-/D [8025 0 R /XYZ 90 733.028 null]
+7997 0 obj <<
+/D [7994 0 R /XYZ 90 733.028 null]
 >> endobj
-7728 0 obj <<
-/D [8025 0 R /XYZ 90 592.0607 null]
+7695 0 obj <<
+/D [7994 0 R /XYZ 90 592.061 null]
 >> endobj
-8029 0 obj <<
-/D [8025 0 R /XYZ 90 577.4904 null]
+7998 0 obj <<
+/D [7994 0 R /XYZ 90 577.49 null]
 >> endobj
-7729 0 obj <<
-/D [8025 0 R /XYZ 90 421.0654 null]
+7696 0 obj <<
+/D [7994 0 R /XYZ 90 421.065 null]
 >> endobj
-8031 0 obj <<
-/D [8025 0 R /XYZ 90 406.4951 null]
+7999 0 obj <<
+/D [7994 0 R /XYZ 90 406.495 null]
 >> endobj
-7730 0 obj <<
-/D [8025 0 R /XYZ 90 236.9594 null]
+7697 0 obj <<
+/D [7994 0 R /XYZ 90 236.959 null]
 >> endobj
-8034 0 obj <<
-/D [8025 0 R /XYZ 90 222.3891 null]
+8000 0 obj <<
+/D [7994 0 R /XYZ 90 222.389 null]
 >> endobj
-7731 0 obj <<
-/D [8025 0 R /XYZ 90 118.7714 null]
+7698 0 obj <<
+/D [7994 0 R /XYZ 90 118.771 null]
 >> endobj
-8024 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+7993 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8038 0 obj <<
-/Length 2312      
+8006 0 obj <<
+/Length 1860      
 /Filter /FlateDecode
 >>
 stream
-x��Zm����~�B�	����EH��S4MQ'���c<�:�H��|w���\��+J��� 1
�Ej��3�<�a�GF��P�0.G��

=��ݐ��)|?�
-�����G)FI��nU� 	���������dJ0����Q���o'����:^�����>�����_�2z��h3��v����O�?�Y�R��Ṯ��D<
F�^K�1�0�j���.��&*�ɔ
-
�:���MT��ί�*�'D��t��ab���޼�k#WV0Il��w��
-!�?�`�G���CG�NYs��yw�K����z �?��K6�2��`�
B
�f��ƿ~�Y�����Z���.N�-�Ec�	��I!��B ���%>�
ʒ�[�*���r�%߂�SN$bB��L#9�M�&�f��n���l�.�c�C��7,�"K��]^����R~ɲ���0ʗPڈZ�9�G�¬ ?I-�B���q�}�n�4����B)�)D^!I!5��BY�l���gGT3ޚ�Y�
��&���:)P�8&�L��m�������-YG�
��2JZ
�����c��b
�?O��>M�:3�U��P�X\ٝ(]�6G"����[D �Tc
:�Z L�$�.%qg�iW��ˠ����)"t����"ޕ�bv��`��$��gD+ݷ�(顬�t�Z3�r9�%nC�M�?�qZ��2I۸#�J���w3$|���[�ل��c�FI(�8ELb�;�"���
�Gy]"�BX��N�t�mwQ��obh4S` HQ
I�aɌw�jp�p�O�
܉l�l�V��	)���ut�� �͓�<~��K1�i�?�1hKP��Ǽ���|r���~��>VQw��a�>4�>?S�ʲ1\�
-iI�@��k��T�;<�l�3\+>NJ{_�߻��k7��O��ԕW�o��f���
5��q������
�4L�8�e� &�O=WѦ�c���곥��;	Ղb��"�Pݕ:
ՂC��:i/�����Y��V�eP=�T��	C�g�W��A���P=4������̓�8;�����d�9�x�pJ�E�7�7�r�,�h6eW@�
f���7�&���`Z�eS�+ۛ 5�q�ɑ�B�15��4��s#)�
��у8ו:�s�H�鐱��\H� ����\+�2����zƄq�3�+�
�
�_G�/9�	�9Y=������~�S�ʃXKo��:�%��_�u⢡T �`ǎ���`g���
-�aŚ��z
MD1����P�3�M�P����l���+�ol�U��m
��]
q��!)��R
�������}Fpc��7��Rg�6���>9���(�J��7���k�8�aWG<�
�V�����
a0��#����d;�
���;W��C7��R�j� �ʑ淗�%�4�\l�蛱�x�<��4ߠ�#���A�ѕ:�7�)x�b�R>�7zV��F+�2�1�����1]���
�
����� 9F[��
-�%f�n@:3�j���5��v�&{x���J��܉
(��a
-��0�~��+
�V�[!_�_�}1��}q�����d=�DeEQ�c��Id3!D8�R�GQ
2۾�%�	,��C��g �(��yڹC��p�
�
-U��Al�
-h��F\��!�+'	�y�GIY�f�%s���{���)��
��
�2N�m�Fe�D@�խ���UH������Y���݁��� I��֑QIC�	��N�)H���4�uG�
��
*
�r
]�*�H#c�۝�Z����@�k�֭�bu
�¹�*�^1�$&�F
ӫF�)��6�Ȕ0�"@õ�ʛ�N���z�Ӝ�0Aƫ}Z�{{�v��m���য়��|�
�� �B["�z�#��V8�$��a}��܋
K���2Y�X�c���޸�	��P�����^g�v�lǤ�L�XX �3���i&G8�Z*�Zj�P�4�4�
0��z���\+��
O=�P ]� ok��j����s�k������i���:Y���,��P��@�5\�y{�Nb"��a��
��f��&�z��^?�
v at H��m#�)ϫht?-���f���u�b�H���
%��u7B=�~ܠ�����݆�kĕg��M!X��ۓ!)�~AZ��Wj;|x�2�������o��>ח
v�5�v�.����㺾���hs8Ss?q���V

-�{
�]��pC�����}��Q��
8o
�v�pmWu��k}^��nv{����ڧ�.GIy��mn��b��s &7m�z�x�gZ"e�
tmY5�����nn���^
-U��������endstream
+x��Z[��6~������
�E��EZ��E�fڗ4086=&֖TI����
��X
���)Ҧ@��8���w���>��ף�܎n��,�HK*��U�qK�%��2z=&�x2%���	�c�o����q�yZ�en�߹���O�����ܧ���_�Mf'on�������)�H�.�N�<l�! Q�l�
8C#�D��_�N�rc�b2��a���6ۘ҆������6Y��L����ы�ѯ#��Tj1����v��
����m��*z�vm#N��D�F?��IS��{*F
�F�e���J�^~J} ��fC����lA4��2%GD˓�(�[}��>��e8�*
�W�G�
I1�D"&D4ej!�K�S�l��2����]������$8�/X�E�ex�@

�pF��:�?�-�bՊ�4pG�;�$���))J�M�]�q�}6
+��v
+�+j���s��]鱎�2
��
��b

+�Pp�m
y� T"�I���bk6��U
em��li\
�y
�'
{c��{
�ĥ�_��q��Qy�8��1�r�8�8>0q��t��
��eM2:p�)c�QR�!qx����f%H\�z�vg�]N��	Dw�W����e������w[��`z�5�n�}���	�Z�nH�"&��E'�.O�]!.��3y�SKr�ͩK�63���X4�SJ(�!� ���
�%~�
�YrmκK�M8�J� �Yb1��jn͢��
����1��(B����c
q�"�%A/��)<��"j|��b��z��J��c���q0�j�u����	�H��HIz*�5�
9���
�\��
�+��j
��RR$��V^�T����Y�;{Va�,�-w9�R���I�W؁[�n�\ ����l���d��Q]M��u�x
ޅ��R��S��h�	Ol�����������[������%��Sk|�6#w���z
��t=�-��^����!G�

+����w�
�
�!���wȕh��y�/0|!/�s��>�G^�	�5���|W@���ta��
�A�ŧ��/�

Jw�c�@�#��`��Nt�N�NB~�������
E�+([k�i����o7�b��@�g�^
�_
����J�4������ 
�f������;]bD��taL�־#
�9��c�l�.�kT*�m_D)�t[��C�KW��^�ֲ����
��
96����i"��@e�Q�br��G�_c�
+&���&8��甛��!=����4K7��S���� &���`r����A�~�
���;�ʎ�P�t9C��ψ�������JeE�?�?+���C�Ñ�h��ɇ`�	o�R�t�P-���ט|��1
][Q�� �B�tS@�_�SAv#�~��J̅�𞗹qe1�UP������>�z
+	a}��K��[��2
"�]W��@�*H�8
���ib�	�8�_$���,��I͎0;;��I0.��(��;��
�����

�=`sv��S�]
�.YV�ަ	��V���<��5YV#���^}�	�?hë��ϴ�cӃ�{�
+4-�������/����}=R�J~���`2B�G�{�e��w�����5�~���
+�S6��/JީzPP��I��	�4t�B=�7�����-�C���W�Ҁ��R���j���j`S�
A�
wL (��3a����H�T���Z_��A�8�W�`l�
����@|�]��6T�~���
+
��P�3U��h!��
��1�Ǧ��u�
~��糉��'�g���t�n�@�9���#�	�

��m�i��Q�鿣*r;�3D�\�.�lvs����%.ˑ+o�ls��b�)�Үn]5ڦy�A���۞�7:wj�
+endstream
 endobj
-8037 0 obj <<
+8005 0 obj <<
 /Type /Page
-/Contents 8038 0 R
-/Resources 8036 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8048 0 R
-/Annots [ 8044 0 R 8046 0 R 8047 0 R ]
+/Contents 8006 0 R
+/Resources 8004 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7988 0 R
+/Annots [ 8001 0 R 8002 0 R 8003 0 R ]
 >> endobj
-8044 0 obj <<
+8001 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.2748 328.874 293.9708 339.7779]
+/Rect [170.275 328.874 293.971 339.778]
 /Subtype /Link
 /A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-8046 0 obj <<
+8002 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.3316 175.8398 235.5982 186.7437]
+/Rect [183.332 175.84 235.598 186.744]
 /Subtype /Link
 /A << /S /GoTo /D (main_affine_relation) >>
 >> endobj
-8047 0 obj <<
+8003 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8039 0 obj <<
-/D [8037 0 R /XYZ 90 757.9346 null]
+8007 0 obj <<
+/D [8005 0 R /XYZ 90 757.935 null]
 >> endobj
-8040 0 obj <<
-/D [8037 0 R /XYZ 90 733.028 null]
+8008 0 obj <<
+/D [8005 0 R /XYZ 90 733.028 null]
 >> endobj
-7732 0 obj <<
-/D [8037 0 R /XYZ 90 635.9203 null]
+7699 0 obj <<
+/D [8005 0 R /XYZ 90 635.92 null]
 >> endobj
-8041 0 obj <<
-/D [8037 0 R /XYZ 90 621.3642 null]
+8009 0 obj <<
+/D [8005 0 R /XYZ 90 621.364 null]
 >> endobj
-7733 0 obj <<
-/D [8037 0 R /XYZ 90 508.7989 null]
+7700 0 obj <<
+/D [8005 0 R /XYZ 90 508.799 null]
 >> endobj
-8042 0 obj <<
-/D [8037 0 R /XYZ 90 494.2428 null]
+8010 0 obj <<
+/D [8005 0 R /XYZ 90 494.243 null]
 >> endobj
-7791 0 obj <<
-/D [8037 0 R /XYZ 90 391.6302 null]
+7758 0 obj <<
+/D [8005 0 R /XYZ 90 391.63 null]
 >> endobj
-8043 0 obj <<
-/D [8037 0 R /XYZ 90 377.0741 null]
+8011 0 obj <<
+/D [8005 0 R /XYZ 90 377.074 null]
 >> endobj
-7792 0 obj <<
-/D [8037 0 R /XYZ 90 250.5512 null]
+7759 0 obj <<
+/D [8005 0 R /XYZ 90 250.551 null]
 >> endobj
-8045 0 obj <<
-/D [8037 0 R /XYZ 90 235.9951 null]
+8012 0 obj <<
+/D [8005 0 R /XYZ 90 235.995 null]
 >> endobj
-8036 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+8004 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8051 0 obj <<
-/Length 2682      
+8019 0 obj <<
+/Length 2050      
 /Filter /FlateDecode
 >>
 stream
-x��[[o��~���S+���/F�@���ݢi��%

Ƣ-��R������!���:�����x8�3���Kf�#3�gJ(d��������� ��%\_�����Q��AFR9��kV�	J��z�nNbj�$������f7��w�O�|Ue7����tu���:�ߕ����:����?]�HH�<�I�(������DF��J\'1�0�Z��O.��&;
K*0�f�<��7Y��_��wy� z����3L�!vыWם�Z�
-&���.޽dz��
���b�_0"�����S�l.�^��[�]hnH��p6���R��0I)-&Z�Qb�(�Oɣ�a��LQ��d�1ƫ����.v�ᪿG�)R��Y��W> �IQ��B
-�븪�q�WWWE��x��m��MV�?l�
�2II�:��RC0����
>G`���nA���\,9�yq��T�.R�>���ݶ(�zW9�H�4Hq������kZ���=�z��޻���pm�i��r�dh"����
\!�+�nN�^֓ʪܡ_p^𤥽g�_ at Ls�A��叢��m�Y]|شgwo�&w���[�1K�
#�"
X׮V�j�!s:t�һ���DXJ�b��P"#-)�`EA�	"pt�1�h�bk���Y�ΓOdN4���֟�y�m���d��iFȩ<*�Rܟ��M��b�V|�b��rjK1��.��"��vߏ����Uv'N��f�����k
� �?m�Ȫ"���,�5�.8�j��!������Ro���R�yVݼ��"88��~�R	�����
{*	�i�a�7۽- ���UVԇ���M����7#inw��
-9�ŭ<ec�1'�r��$L���Re�b�]�0���

�#ɊO�$]�
-�"
�)�
��(7p���`F���D!I!��
��/m�Q��DJ�
IC�
��$���QC
��$�Jb�\a����V�MX"��2�aX"��6Y��H0n�����
.�!�q���+؝�	4�C���h��
�>c�zi�?���V,E����׹�|�P�֮��1��~_���ң5U�9b'�J@�R�����{jQ��9����q�W*�
��(�
"�)|r����o
{k�r?|���i��!�T#"t4�>$ޯDZIu^��^t�
�}�7�B��L���8���r(�mQ��Y��h�L� �:d�@��;��/"��qq1��Nj�6t*�����^�mZ���/��ߧuq�n�ҽ� ��
�7k������|��m
��r3�ɣm�)�z�Йc�zsL��RC��q
��$����Y�jb�w��3�� �
I��юRS6k�q�0�bh$'u{����n���&�ݙ-�B��قk80��M��Pj"�`
��ag�$�|��(��׉}��=i���= �
�#0��o�W
�ٷ���
����ަ�5����v�f��5uC��NO�]S
-�bl�&�S�y�i�a�I�
�IU��7�O������x�v������Pc7T<�L���}�p�fr�?g�'��)��3&x�u'xq��
�7=�396��D��x�,��<�	�Q�
^��H0�P�L��9ꟊz�B#�_�Y��
�

�$1��2
Ɖ>�/t���aG0\��
r�C7r
�*+֓�o��݃��b�1���⥆`uhg͐��Dž�s�y�
$L��J�y�hy�p�N$PB �@
-�T�K'�����f�>fA�`=:�b���1%�T���T�@3�~R��
.�
���Z�CH�A��6
F橶��ܭ`0��d�I��܀�W��� �	]�l�.�~������+nT��i5ɉ�02Q#bP��8Ec0�91rB��f����\#�~b���H�
^��1��#��י�/B�ݨ�����tm�uw��j��L�QFJ��njd���4>�3‘�#uKbS��b�+F����1��K
5�8
�G{����j��i�)�-B�	[tb'ٝi�
�3Лfw"�g�;Uq��p��'��W��4j 6eT/v.�3��#���
P���K[�gb�`�$��+��x��Bۖ�����O�p��	{��c�&-rd�`�
Q�C�%"����&�G
b�7��{:m�����n�PW�m}��*��x`=�P��P��
���
�8�P�ߚ��a�a����u��
���z,#)��YR������
B�!�`��g�W��nK.ch�W�L7�Q�ߩ���vy�J�Ӓt���
h����Z����׀�}�}
�
}�|#�	�
��u
*��C��)yi��� :��BpOpe���Ws
�
LB	���
/�
oH�=�ut�E���T4\�q��En(����=^j6�{�F�

cݬd~H�=QF�t�h���#,wb �Q,b.t��Dw5�
-���X]���E.�",����
�R�]4�����ѽ_�K!/D�@-����<o�m{��D�!S�'��>�t{j醜���[�:{d�e�Su�I�<{�2x&
�%_����~)���}�:@8CM�����#�h��-v�Ĵ_}㾶����C^�~!ļ
��f�C���m
�R�5]� ���Z,���|����+�b�����O?/����
ηC�v�����W��OOO���
�b_�����7���`C�+3up�Nh�%��%ӕ
���
}��ړ(J�q�%95;X&����#�endstream
+x��Z[���}ׯ�SJ�h��	�v�4E]{����"*Q
+������oC���*��`hE
g����!��� ?��|7���,0�H*��U`p�$A���n|
	AL�'c
�
F�6��S
�6/�x�E��,�^f��-��a�F���u��ǟ�~��%��=�I���b�?�%�#ʫw={D��|n�6��0�P�a3C�x��Dy쮼�Wq6&:��\b���f�
���2"�
H�������O8X�������s�jp��s|�}����Pk�0恢ɝ�o>/�}���ì0����mO5R���p[
��l��c�çh�,�Q�����p�V�vL2��:ۍ����CޓU���\ &du�2Nw�$��]��z�K���On�_c8�"!�4|��oR�
���@��T��t��P����p��1�s
]���ֳ�e��~�@�����'�0J��C��$�b��Gyr�)k�:o?{�W
i]G�)��
#��{R{�������+O]�DHK���E�2�^�zztB��(Bt8A��� �-!'����}�⧐���i�_�qm!��^\�PhF��TSAOw���xpd�ky
=
���xJ��N�}.<�Y����4��
"&���V� P	�ӂg�%�-�b3��v��Q���3Du���"�4\ ���4����ϥ	W���o�΄Z�T
C��=��{����w� 2��,J��lV�2/��� ^
�]�ql��� 2z� [...]
+a��V�B����$�!����Uw=��9��`�D�Hb�,��if�s�PN��?���`
	��
`���y�����,V���H	s+��*}L�qVFl]�F��c��
4��m��'�����ᵝ�@@Q���!��KRȔ�-7��B����1!4Y՗v�
��"�w�Kw����L���s3\" G3��W"�.e
���{C�E:����ر�TE�JH�����儌@�4� �
1/���%+��^\)����d�./U�;�W�rUQ����!O��<^v��93)m�����^���9 at 9=�'
+�����u
�6�<�3�S
C���
�۾�6��$�B����r#��L�W��J����]H��9�_�����!N�7ɯ1`F%J�8�HH
��:�
�ǐc(������nӳ3T&U�mY�9�l{6��$��{�.����ԧ.��
DM'���
�{Jc\"$���p��Q�%�A
+ �)	�QL)	`�͜�: ��SšU��x��
+�.8�^u�s��ݩ@�K�u��)�Ä	[����iI�G�[iŷZk��@{P$�h:�i,dX�3��DF1]���:`Pe{�
P���Y�V�1�*�����ᄁ榐�	�DH�q�Odar@���@�|*
'k^?�-
Ķ�w����J��p�3Y7���qև�
��5[��R �a�Y^άʒ�;�t�x�� #
Dh3�����
	8��$E"  ��Wi��!����Xdl�U�{֖�8%�AIu��n�'�M7�oU7]��:�I�����c]�W�/��^±�%\�<�O��
+�}���_��n��E ���y��9�=�;�!�.���X��r��,};�Y����c��6����U�����oI�_.h����*���Ĝ}� ��ެ}���Լ��*�}
+R(z�>-�w>9��
+fB�������
5��K-S�~?a��N��a
��_�Q�Co�86��S�6�yz�
Z�j@�Q(vv#����sրZ�Y��{y��,�0Py�2��@�Ez�����}-g�<��8���ʂf�ʓ3گ ҠI]�>��m��[�
F��U�\oHZA�uS��?ڪ�^��M^G1/���
+ at J�+��uL�����җ���B���-��a��c�;k�
���j&���`t_�q��?��˺�k�>Fe���d������< �f�'
��!��۹����/��h�)f��[�y��M����hq@�i��P�O����8[��%P5@�*���ee
�.n��/	�ْ�S
+endstream
 endobj
-8050 0 obj <<
+8018 0 obj <<
 /Type /Page
-/Contents 8051 0 R
-/Resources 8049 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8048 0 R
-/Annots [ 8054 0 R 8056 0 R 8058 0 R 8059 0 R ]
+/Contents 8019 0 R
+/Resources 8017 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7988 0 R
+/Annots [ 8013 0 R 8014 0 R 8015 0 R 8016 0 R ]
 >> endobj
-8054 0 obj <<
+8013 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.1511 608.4532 244.3447 619.3571]
+/Rect [180.151 608.453 244.345 619.357]
 /Subtype /Link
 /A << /S /GoTo /D (main_affine_relation) >>
 >> endobj
-8056 0 obj <<
+8014 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.1998 383.1887 480.9315 394.8278]
+/Rect [336.2 383.189 480.931 394.828]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8058 0 obj <<
+8015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.8518 141.0595 466.4885 153.5387]
+/Rect [324.852 141.059 466.489 153.539]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8059 0 obj <<
+8016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8052 0 obj <<
-/D [8050 0 R /XYZ 90 757.9346 null]
+8020 0 obj <<
+/D [8018 0 R /XYZ 90 757.935 null]
 >> endobj
-7793 0 obj <<
-/D [8050 0 R /XYZ 90 683.0194 null]
+7760 0 obj <<
+/D [8018 0 R /XYZ 90 683.019 null]
 >> endobj
-8053 0 obj <<
-/D [8050 0 R /XYZ 90 668.6085 null]
+8021 0 obj <<
+/D [8018 0 R /XYZ 90 668.609 null]
 >> endobj
-7794 0 obj <<
-/D [8050 0 R /XYZ 90 457.755 null]
+7761 0 obj <<
+/D [8018 0 R /XYZ 90 457.755 null]
 >> endobj
-8055 0 obj <<
-/D [8050 0 R /XYZ 90 443.344 null]
+8022 0 obj <<
+/D [8018 0 R /XYZ 90 443.344 null]
 >> endobj
-7795 0 obj <<
-/D [8050 0 R /XYZ 90 215.6257 null]
+7762 0 obj <<
+/D [8018 0 R /XYZ 90 215.626 null]
 >> endobj
-8057 0 obj <<
-/D [8050 0 R /XYZ 90 201.2148 null]
+8023 0 obj <<
+/D [8018 0 R /XYZ 90 201.215 null]
 >> endobj
-8049 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+8017 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8062 0 obj <<
-/Length 2860      
+8030 0 obj <<
+/Length 2213      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�۸���ŸZ/s���}�C���M�m���BY�k�������~}�I�%;�^�`��f�3�33�I����
%2�����
-/
��\��
-�_��|wu�
���rq�i4H�%tq�~�$1u�"��k��Y����\S�<�>o�u���T|�������
���Pf��w��_����{Bz�)5HJE�
����H���2Ý�]B�A�	��xV�w��t�^Q�A���|�eu�~�6���5�˼|���ab��J�^߅ȹ�
-&�������5��+���b�
o0"�����S����]�=�i�h
H�[ϥҋ�HKx<%E0E�Q
-��
a)xȥQQR�E������~�@b
��}�c�^jlYоef�&t`�n�.duq(�w�����<jWI
-���\,�U_l.^����42K	˜�3f���l
*��\�f�@�ۺ}��ʵ�G�v_g�k*��˜��������*?� ~��i�0�j!�#�u�w/��K��@�BХ	�J6����!?�̝n'ӕ�=����1�Ʃ^���5��OٮX�g���>/�SF#)�H�;%�b�$�ב3w��`���lg�,6-"�~09�e��e����U�G�z[�Z���8V�	��満��
�*ʇ������m���&����PZM�m�F��dUJF�/RͨQ��(P�:�
-;�h|4�
�*��`�3w��x��`�`�C	�$�� 9#B
� b�	W
k_E��I�%p>S�`Os��X>�e��li,��Nr(%�O *��'[�ź��"U�!����ڑ�U at q�?�3F'Wӄ�/�����\�p�7-����%���$�?mQϪ"�[��C����̧�J��՘8�W�d�����n
�T�yVݿ�m��ۯ~�2ʛ������>8��02&�´ݕ}��z�
máS
��S�ZTcO�N1� �:�$���y��p�����>��6�޷���T*
 ��_��a_�Y}H9 ��Y����	�.b|��k��u�P�vO�I6�Ib
!oT� ME�-�r���@#誉B�����ᱴP��>��@����r�Ζ%�Bykԝ���*G�"�4/m�)5�Р
�z�A�m>,�
�,���3d�o��Wգ�y�+�A~�`\��z�IZo��J��I͞���
��^j�4Q�(���2��m�
&�q�ۉJ�J�/���@_U�>��,ǎC�)�[Q
xt��M�f2=����U_�x��e���E�
P��dY���CX`u�Z���VR�3ADQ����:���
� �
���,��0
�!vY=��li+�amJs�U�۷h�H�Fc�
	4�V~�Ћp���ߖ?�q�W9J_�ˤ-z>}��h�
-�����1�Q7l~L�KM�)–pEZ��灮�Ϋ�Y%��̬2�$=��^�����Ϯ?H�͎GL�zEfÈ�ɢ�O��kh\ݰ��s����9=,�n:�ʞsf@�I��I
��������7�dFV��5��o5�����jZ��-T�8T�v����Mu)���f��hJ��L�s����Ӌ
z��4oF|yƴ��
fT��L_
է���#
-�" �<ў�\D�X����K�g
|޼����*�t�j�o��i!������j�3
��m���?����������$ؗ]�(	��8	�Ν��O-�md���"J�s�mG�t�E�j�o0��}@�=�=@�z'+
��!��/5]a86v�b3a)�3�o�Ez���c�f#�1a#g�LX�L�	�)������902#A�3�%w��_r0Ӽ��yҐ�Q�b���ŖOC�����J����s�St�� �鏙���x�;�k�DC�y�ۦ2
Ȍ�r'e�$�h����8�Ce��1
� ��:f���НPơ!�fV� ojG2에&�$GL7=C����7�O�e�̯���̟�5��Ǽ�VaW��g�
��(F�E$��p����!{���˷�����	�PD��%��H5U0�rG��%��Ŷz��M
�$鈑��r��#QN�+�2� �`NTa�=��aM�,�G�a_���3�
DQS�4�� P��xv�
�=!&�=��2?�p�#v�B��	>���	�"�E�=�`��	������߳�H�{0�1��N
e�
���W=��7��Թ�x0��1��;5h���ȕ>�
 %:��2*����/�C�v�ꉡk"��fL!A��=x
����4 ��%K���`��U_g�	
����_�%іK�
�(D�y�W�z� "I �(j���#i��Qշ-��M7{B��(��I�	y�L���
��$Ca�
6q/#L2}��I"����)W�r`f�y��f��9�lv�
W62���"����囙�c&m�]��)��ky�x�c�T>ԩ�
]�)!#��/6n/v�M�y��&��r�&Pd�+oQ��$r.��\$��bv[eΨ
���$2z1!�җ�B��Ed�ՙx��f�.����Zld>M�E�Cl#
-�]ń��������4^�Eb).���2>���b_�<�F�c�FΤ��ș�y�x�y�.B_�<)N��hu�&-�4eG@'C�h
�ס�6aTIC�v��ַt�1KY�;B�M� �L�����d�bHk�T�%���p.��ܣ��y2� �]`����ld��/��6�~,
��N��`{#��÷�Ln�Kw��w�z?
-wND������[�3�o
�Ծ��)�~{
����_����`�OVt�!
�*n	��ׇw�h¤�"����~���c������D���`5�k׼��������3z8���8V��o����hȴϕ�K�*�|�"�`�+Cx���o���3�E	�dCi�5���c
endstream
+x��ZM�۸��W�HU� �d��-{�v7Ǟ��T
��X�H��fv�ק�$ Q��搃�	6����u���F�ݽ�,�Q,���WQ�#%	�D���Ә��dJ0�����I�M��'���y�.�d�c�P%��l��E���"��7�.�|����
!�yJc$��ɭ�?6CF���lĈ0��暅o�d��L��`,��t�˓:m�|HWi5!z�
��b&ƌpcs��~�38"6-B!/��O�q����G�XGOv�6���y�q��v)�~�c�		�eKѸ[���yk
h߼{'����t�ٸ@൤�ʢ�
�

Y	&�Z3S"P��̛��i�FT�Ӊ���n.7I�t�gK�8YM��
cZ�;鄈�O�*����c�u�2�b
^R�$������Hw&��,x�L���1
+����^�fY1�x����r�T��6-�K�ǐ)/��4�=ل�q�j�!���J���@�۫��F��ԛlߌ	��q��Aپ�s���&�ӬX��
��C���՛��5��J#�
Ά�.�!3�X�C���i
+�Ő������#�S���R�~)3Wډ�xu�-�+%q�� ��2X/"�{�!&
��-n��6�K�u�]Z$[X)�� �I�H��A�H�
.�ٲ��*(���"J

E1�DB�D�`�\K�l�P
�e
+U�jpc�m�5�K��H�O�,1��Z
+^P$��{L�!��]E��5&\� *u3ϏY�&��- �m��G���cX�.��a��7O�e�1�>�Լk�<�R;J�S
�A���S��u8�CJ2�'����2��_d���J�z?�YG���~�
Z�d�m�eZ�۬H�r���:p�� H nuύk��q�,R�%�$I�܍�F�G��)+rX��P�a�B����uX��
��P' ��DžN@�w%D?(m&uB��C�H S�Ӊ��p�v� t�]j�\�4�ؤ��U�
����(�d�BoF1x�xؕU�@1�tw�c�J�8m�u~��$�}��� ߎ��.?m��
�	�e
{�t��"
d��x�-��g�MA��}7\!�҈A�?�lW��f��w<A���lj��:{�4��1$�{����Y%�P=SoT?�Дc�H�hI-�
,�F�e�C� +��|�"���c*�ϬA����m�8s^&�@W�2�椪y��f��uZ}!��
�KT]�R�GS`mߴw�%PG������Y��V�.*
7��-��xV֘
$N�.��WvA�O���ɼ��{n!%+ַ���q8��87��ſ<��n�Ubh��c8���� �+zVk�`�Xjc[���=
X��V�Eݾ�-�y�*Es߅m.��� l�<
{߻S�Z�4�S��
L���.���8���${�LW�6y�WK~pI'&�+����q��!��2��䑳|-�.c�c_��?�0��2�v
�=*�lM���
���
X�1t�a��$Hs�A�ٌ��o��1X
�—q7��'��X�d|�úx;��D��p�£ ��e�.Y
����ij�����O2�nа:5�t+�Ց<���翶<_�t�<�ٗ�N�:!ˆ�I�+��J]J>��x���=�0�b�����T!B��;5n�>h�
V���m�0R=Z���!e{c��+hp��f	�5�,������$j��A{
P$w�Kp!�Jp^�\�
&^Ҫp��aS
+ 0�J��\
�p!<.Xn�qQ���c�yVx��ӟc��`�!L2ЙhB�ߝJD�]����_��P�X9��l�Er�5���ǍR؋'�ߘ����&�� ���7B/�p�s�A���S���� '
�d,=�7�+ c����y`�Zʠw���D�>:�ƿ���Յ�V�R�D�ym�P�.��V֭Ţ
��uU<�v��i]�!�g�7k�W�f�|z
��(CO��񄥣$��z�R~U��YU��㫪Rq�J0�d%&��<7�J��)�
+����Q�a��b=s~I�'3z�x��=�#)}sDÿP
+�Ꞹ\P����E�i�p�/��M���G�^��I��n���p�����Cj���ֿ��$"8�"�&ȏ������V6?�*l~�c�V�� Asq�5)�ٖa����..�@|�š�+{��1ma޿��ꇑM�Ƕ0C�_�M]�fwwOOOh�G�"�U(��v���6<H�3�U��۲=�
+��MN�#,��I�
+endstream
 endobj
-8061 0 obj <<
+8029 0 obj <<
 /Type /Page
-/Contents 8062 0 R
-/Resources 8060 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8048 0 R
-/Annots [ 8065 0 R 8067 0 R 8068 0 R ]
+/Contents 8030 0 R
+/Resources 8028 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7988 0 R
+/Annots [ 8024 0 R 8025 0 R 8027 0 R ]
 >> endobj
-8065 0 obj <<
+8024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0594 549.4867 422.9245 564.2021]
+/Rect [328.059 549.487 422.924 564.202]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-8067 0 obj <<
+8025 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.3823 289.7602 394.782 302.678]
+/Rect [337.382 289.76 394.782 302.678]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8068 0 obj <<
+8027 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8063 0 obj <<
-/D [8061 0 R /XYZ 90 757.9346 null]
+8031 0 obj <<
+/D [8029 0 R /XYZ 90 757.935 null]
 >> endobj
-7796 0 obj <<
-/D [8061 0 R /XYZ 90 637.4462 null]
+7763 0 obj <<
+/D [8029 0 R /XYZ 90 637.446 null]
 >> endobj
-8064 0 obj <<
-/D [8061 0 R /XYZ 90 622.8759 null]
+8032 0 obj <<
+/D [8029 0 R /XYZ 90 622.876 null]
 >> endobj
-7797 0 obj <<
-/D [8061 0 R /XYZ 90 365.7645 null]
+7764 0 obj <<
+/D [8029 0 R /XYZ 90 365.765 null]
 >> endobj
-8066 0 obj <<
-/D [8061 0 R /XYZ 90 351.1942 null]
+8033 0 obj <<
+/D [8029 0 R /XYZ 90 351.194 null]
 >> endobj
-7798 0 obj <<
-/D [8061 0 R /XYZ 90 121.0358 null]
+7765 0 obj <<
+/D [8029 0 R /XYZ 90 121.036 null]
 >> endobj
-8060 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F7 526 0 R /F8 523 0 R /F13 567 0 R >>
+8028 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F7 505 0 R /F8 504 0 R /F13 540 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8071 0 obj <<
-/Length 2790      
+8040 0 obj <<
+/Length 2196      
 /Filter /FlateDecode
 >>
 stream
-x��ZKs����W��U�h��Q��֩r��ګ��bA"$�B�
�,��� `��JI.)]@��������G/�P�0.��+�x������Wp������[)I����� 	�����cBbj�"�����$-�������{�f�2]�ߕi�rs��*}<�n�a�
���﮿%�cO�AR*
-�X�kH
F��R�F�D�P-�β�f��N���d��.���??fY�$:Ɋ{�3L$�0����mg�ְ�Ib�������b��
-#f�X<���1t��┹��W?t|��1��.qeK�z!�{�r�N �|��
-)�uKP�
�"݃Y4�QOH�r�)�MK��F�!�4
�$��Z�
)� v�'1!+0��L��6�����Ǭ��t���m���O�"[�p���
(A�������Tٟ,�>/��\����<��C�P���i�Db0i��!)"�Y��%Đ�І0 ��/���.�ZK$�q�+���eaNA�TȽ9/ i0�
4l��T��cڤ�
�0d�t�W�O��ƹ�JZ"��)-�Ǽ؁"�BP�s;!a�)\)$)$�}⏠�ca
�Iuh
��
T���E���h��6���)"�JD�鉲F�t�CI ���Tpq�W�F�2;
���Ql��b�
�"cie�Bj�
�]��*[����ѯ��"�5�k��ҭ�(}XR�4y��Z�1?T�3�#z��#+�}�r�iD��n�$Ika0�DF1�&&�e�\��GJ�@T��ВH�\7�:
p,���$6�daR�>k)���mV��m|�6��r�H�R1o�k�p����uj
-P}
}���
?�^b	�$��HY
-�bD
-�h�r-&P�%���I��h�S��.4NH2�U��l:o۾�AVYy��'�"�(�*0R��
k�I�����s��B 
��6J̟���
�M9܅� {�ܽ�
��j��oO���;HSK"h
MS���0�����ޛ�#�3�#
�*���
f�yɎj,y��`]B�o�d��vH��[�d3��ȼn��Ć<;#�Q���G at 7�*�"ܾ"~&S_p����6��>�t�
	T��Z�w?�gG뺙��	���P�	�92�Ʃ����Œ��3�EB�ǧ}VT#��F҂�Y�tTce©3$\��n˃��s
�$�c�
��@�%�
?;�p�X�H����6$V9�����n��L=�D�
�Ha.����ĈS��C�c�ͯ6�g*dg�Z'q��T�
go׏�6��2�������0��m0�ψP���ghS�E��?�6�Y��ڤ��ͻ�S��A���H�vǑ�yj#��HmE�!�Z��)K
�)S nŐ
a
�>5vw��>9�ʰ�
��U�:9�`L�#���*%	����4�C
-j]��d:���>�ϡ֮�2ͫ��M�麑�/�"Ph��Ɋ�>/��S@[k]�>R*�~�e��C�(v(2
N�dIrLC�B `F�
��Sh�I4ͅdo f팡x��A��������_�Z�iС�ӠB���5bxJ+5@&���sp�%_y�14=�j�k�I��`�%'�4 )���#�<h̡�`��'$�<tv�I�n͸n|VuYv�s�
�mw���,(FJ󋶸0�h�U���U�r��
���l� "�y�u<����$����ن�'呕 F�t���R����p���� CI����z)��r�í8���G_DWm5��P#�1�

��_�A���x�
Ǖ�r��^n=��y���-h����o�0M!���*>�4V��Ւ"&~��􈣕��5B�ٶ���wTc�c�i��@l�2?����?O�
���.*�a�a�+�� �I	�W�@�O6g>G6����/��h,84`�/P���
��e=��?����5�/k��
&/
_�b#j���zds6ud��/�	���3�
�X����U����苭�t<��EGT*r΢
ٜE
Yd�
�K(����xG5ZU
-��7��ڪ�����~(�����j�wQ�Ǽ�O��(���	��wBM8���p��9

r�8�Զ���<��C�����&{�K�Ӯ���b�;�e�����.�SMwj`,�T_��	�	�����Ⱦl#6k�~#6R&�
��7b
�"���6��‚�i��
n�K
���
��W6�'	��^(<
Zl��o
-l�
�:��&�}u
D�,	Ҝj�z��O�Ф�(f�>�u�9y�=-�L�[�j
��Y<s�p�2��1>xAV
�p3wL��t}`l�>Vo�?���1�_����#���� ��o�Fߛ\�� D�0�
O�:�+M�x�؟�A
Ew����gX�ՠ�t�%ƒ�,b�|�!/���~KӼ�jvTl���sWtG#����*����Եs7�ي�Tu�^dYD�t
-zàq�s_t�+��H3�m�}�jbo���0s3Td�K;�3�-M
�P�]V=gY񍝦t�]~�+��K��F�@�}S�ab����I l�8!g^L�T�c��~�q��ɘ�1l�E|
�Ⱦl
��H?�����a�2�I<�bRb��>Ej&�4�R���VU$�ۍ�1��۲I�/�����X�/
<Wx[�^� �������k��϶7?�~�ʯ�B$me�kZ<9�d;�g�*+��	T�
���ه,R2)Š��@��.��_���>��hr�����3o��xs}�����O�ȏ%ʫ��qw=��6�2s�[uD#]�3
�@���<��vpє��}���P���X�m��bendstream
+x��Z[��~���S#k�"�
����d�}�,
�-��ڒ+�3���
��ђ�I��S�F���s?�G


|3�����d�FZR�o��H$(	�7��Ģ��`�Ïs�ø8ī�s��|��K6E��.}(��e��纊�,ޯ>��c2�r���Bz�)�H�6����x�(o܏�Ј0�,��5	_�㲜/�� L�09
�q��'?$ۤ�&�
1�DȈ02g��g���b�""������
l���FL��ٮ:�2��>;��IS��=#���jt
ڮ4,�S�%�nT/�$�`��rԙ�#��7����O&�t�$�$#�JNf����
N$bB
p��5�{���$K�x���lV��G�i���.%�C�h�B��G,�:���ܲ�4K�b���zeY�y�V���E�D�
�n�ߕc6RDT�w�E$$�'��^}z9<���J"�[�E�/_#�)(@ԙtg, �1��=�]0Ҕ͘��!M��.ƍd��ʂOI��/TP�4�>��
���
+܏9!a��"B
+޾�WP�13�hX��=�W����S�%8Ҫաڥ���T"J�5���X4yC	��Pr<���i�sIyL֕S <�<���7sݬx����̂�vA���vNE�*��*�l���v�A��� �0�:a�D:b�Nu� L�M�ᑒHH
+�ݭBs"��έU~��a�y���c��yg
��.)�Z������9��/
�H�F���q)���]�J�^���7��p��2V
L"���~�{*0��l���yE��>���+��
�+u'�YQ%E��t���'
+EĈCXP/�7|GA�]#o
�O�����Y�2�Կ�%�qۜ�ڒkI<���qQo�����/��(�]W��
+��� o�+.R�Fd�u��{���r�t�u���i�
���,t7>�j�\�ٜ��	�
+����tH�j�z
~"=�����z���X7�{E;���)�ڈ�bnR�ٸp�B�
�� ��Ƕ��,o`1h��n�n�Ř
�V�t_3bXO��'_ Gu��,���gP�iiq�wU����5�FF?�T$�ċ��
��W"_q
��ߑ�+��C~�6�7����p��Hc��C�G�۪y��
��>ea��a�Kh~��w��X%���
#ݍ��.j�!�ș:a1�0f*Z�~��C��$�
+���u
+�qUqZ�˥Ut�v����͒M��4��|L=���y�Q�V���m�:��,1���>�&H�k�
���b>��@�����"��B�b
�,R��6 -����`
�~��-���;�*X�o
2��aa]�n�h��/ ��ޣȎh��7��ݭ��Ea�����:���̅kհ�CHi�&^$o�^�K�V�7
X
��G�u@�@O&�(R>B>0DvC�u�}�Ð�@���g=ޮ5���v���������@(��M��
p�FB�D���إ x��9�>�L���@̰�� �4L���}fSO�)�.� �?�
+k��}r:n �t�ϧ�C
ߔ������\�HsL
+
�X0������|%��'�ﶧ���-�Z����
��EC `��r:
#�6�`�e�%;`��t����O�<�S�aO�]�m.��^���6����3ۮ��6��f��:���M�6z5�|��#��"���u��^m��-�Ӿ���T;�s�T<l�G�w��~
�JǸ+'�r2n�G.7O��H�>;5RN`{e�q�QDG��mM��
6(������1��$Hq�B��I���[0��I���VN�:8.�Ě"�M�'�̜#��R��q`�W>�>��su�>5t
�!�oA�栞xG��!��!�ꌬ��?S��d��
Y8��*�ȥJﻔ��n�I,~�ﯣ
��kf/#"�^P~�/E�
�%*i0�(�䈪�
-�JZlW���'�
���L3:� 2c�2ÛM��I��$�XC1��m>C�{l���PI���,�>�l�U�/V L�fC_�C�?C���I5�w9�w��ԯ
�~X��?B*�+��
aɡGTA�0��������]�6����-����L���B�uU�#�N
5��Ɉ؎Z�����9�iq𧤩%g�����3��Ni�"]��긼�{~~F����X���;
�w�$�
�>@�6�7�H3xx�Dp�����
+endstream
 endobj
-8070 0 obj <<
+8039 0 obj <<
 /Type /Page
-/Contents 8071 0 R
-/Resources 8069 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8048 0 R
-/Annots [ 8074 0 R 8076 0 R 8078 0 R 8079 0 R ]
+/Contents 8040 0 R
+/Resources 8038 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 7988 0 R
+/Annots [ 8026 0 R 8034 0 R 8035 0 R 8037 0 R ]
 >> endobj
-8074 0 obj <<
+8026 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.8835 678.3775 440.2823 690.8568]
+/Rect [334.883 678.378 440.282 690.857]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8076 0 obj <<
+8034 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.3329 436.3552 425.662 451.0706]
+/Rect [332.333 436.355 425.662 451.071]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-8078 0 obj <<
+8035 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 189.8626 322.4458 200.7665]
+/Rect [274.526 189.863 322.446 200.767]
 /Subtype /Link
 /A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-8079 0 obj <<
+8037 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8072 0 obj <<
-/D [8070 0 R /XYZ 90 757.9346 null]
+8041 0 obj <<
+/D [8039 0 R /XYZ 90 757.935 null]
 >> endobj
-8073 0 obj <<
-/D [8070 0 R /XYZ 90 733.028 null]
+8042 0 obj <<
+/D [8039 0 R /XYZ 90 733.028 null]
 >> endobj
-7799 0 obj <<
-/D [8070 0 R /XYZ 90 524.3147 null]
+7766 0 obj <<
+/D [8039 0 R /XYZ 90 524.315 null]
 >> endobj
-8075 0 obj <<
-/D [8070 0 R /XYZ 90 509.7444 null]
+8043 0 obj <<
+/D [8039 0 R /XYZ 90 509.744 null]
 >> endobj
-7800 0 obj <<
-/D [8070 0 R /XYZ 90 252.633 null]
+7767 0 obj <<
+/D [8039 0 R /XYZ 90 252.633 null]
 >> endobj
-8077 0 obj <<
-/D [8070 0 R /XYZ 90 238.0627 null]
+8044 0 obj <<
+/D [8039 0 R /XYZ 90 238.063 null]
 >> endobj
-7801 0 obj <<
-/D [8070 0 R /XYZ 90 135.2919 null]
+7768 0 obj <<
+/D [8039 0 R /XYZ 90 135.292 null]
 >> endobj
-8069 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+8038 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8082 0 obj <<
-/Length 2316      
+8054 0 obj <<
+/Length 1577      
 /Filter /FlateDecode
 >>
 stream
-x��ZYs��~ׯ�SLV��U�*{�N���W~�zK���2	�$���}zp
0�`@�c׵+ ��oz�{�k��0�#3�gJ(d�����=��^��qϓ��W���H13�H*g���I���ή��� �	��_.���Mz�rA�|�~Ze�}z��v��~�+Ӈm��o^��]�xs���7���Sj���
��O����`D���u@�A�	��eRŋuz8,*0h3t�mv���;?f��~A�<+��3L��V�����s�c����׋�o�l	��#f��=�F�:�\p�ڋ�ū�:=�������� ���u��٥�]��qڀ,��+��֍@��ˊtn�XwBrX����H)n��6������A�	V�elI>��*N$bB�p�����rOyWW/^(y��V���\�o�����ؒl�3�n[
����`Fœ�I�XrP�e<9 at E+�Z�z�8���� �Y#��E"�
��lY�SO\#IqV?c�V���6�v#�nq��� [...]
--����;��Q�ф(D�&��/�:s~x�fPZֻ�x?
�,���o6�C���i�6kS�(��V��2��dP��>#$�DH2�񘍅S���Ukvh���Tl�����(���M�B��R�8�u�g��A(8۝-5��^��n���#���ʹugZu��
-H�<�]g��C���5
�����m����V��pj��SPn�y�U��ٖ�!글{�C
@�Wu��
����W��n�+��R���3��'��
�p
�eV88�y�jD���HB�p&O�D���@E�Ap�2�2[�O
��nU�
3���S-.�F��i_j��
-m�}�*$_�v�U���!�,
����0���
-J
��L���&�?
7YQ@h�,?�z�I
�����
���\��[�"�M���C����WNe
�H��>�7�|��
��I^��
�HyhH!�a�(� ���NX
�`�N
X�4H!����!*\�9
ր����о���B�
-YZ��\�
�z�hgR�ք��6I��Z�A�AI�E�ԈX��8���;��2��L�^��DF���.�W����I�RQ�h��
��-/��O���j
-ݷ��X",
�_H͈^ΐ�nT�N�J�'�(��i"��b�\3��)w47̦�4�?Ʀ)
d�
�k
-I��'����pҩ��t���vb���}L�l:�ıiɧŦ�τ�����R��vq�?�M� D:��p���l:���M��ٴg�3e��`2c�s���Tl��˳
���&n��=��)��g��Ƽ=�ͬ���uW�]���hAW��w7�x�{2��	���b�k��G��=�pl��Vjh��P.
>��^�@��=�zS1὾X�{Nlb���9��q�g�����g�s��+1;{��!2�qb�9����s��<�C��yc	Q�
?��R�':;�4�ϙ焌�R��H*�b�6ωz���
���9
���9�y����Wz5��^��b�+�~�Wz��h7��o��
����u��5�>�kr�'z�-&��
�Lt0�'#=#��g�E�dt�`�����}11T<���+��k_��'1S����^�
)��#�V�"�s&q�~`� %��	�Pܾ�#@K�=��Wc95F�*��*�t�ƛ���H�1B@�� 	7
N,>F���#
������t�@�F�
>A��b�mtbT.n�Q���0����i��\DI��|*�!B��{R9�(���rT�C�l*G��e�N=��J��r.�
����	��4l�ލ�Ŝё�S$a�G�9P��z
�
N��Mo)�{����԰��c�z	h���x� �=h���~�T��l�X}����C��b [...]
�x�gZ"e��c�o粛mMy77�W�AU?�B�7��
endstream
+x��Z]��F}�W������Q)��4i��Y��M��0�X�1&d�}�g���&�Z�����{�{�� vn
�<�
.�K��ȗT:��ǎ�	J��ܹ���c<|;"x��`�vD�0^�-�<
����i�ލ�ofYpG�rz�=�0yu񜐆{J}$����?[�V#�K�I�&J�G�<<]��ȥ�3��*Y��#��NG��hC�gbȈ�}�M��`�����x�\}��
�_91�s��j�p��t.
po�)CX�F�C
u������`���Ar�4��
+H��#���j
+�TU��9�pn=>" sO�"�AW.'1!
��
�?�Vy��O���/Y$1�<��)�%�� �
�c�gq����q�f�!|3����C o���Z��m�*ϻ
Y���F�`t�����ܚӖ��$%��{�Y�[���ɒ=����¢��CԯR�
.�W"H�@�WG{F�0����M�0%Q����	��
���]��z�~9ZQp�{�*�"\w@%�}]�EAL�^o���
���,^%�,�n���KP�m�T�^
�+c�c��#"�M|�Xr*,�u��:�ȓR�0�G$JNJ4��]�&���j[^Z��Z����e��>J��T[�0b�����|��I
R�W,h#���}ȳ��Ǒ��7���MK�f��i��f�uU� QV=}�KTDY�MknîY�
��>�$2�������Da�\a�x���PX_Y�r��8�Q,�;>L�0���_Ag���0��ˌ~
Qs
�Km�_gqj������fum=r�j0䫙u.kY�1�6� ���`�v>`l����va[*,���$����Vކs
U��0[��T���s�
�
+C=[D᧍�	��o8�W�mxA�Ͼ̴��{Ư3^g���ɡ��2�O��v��Q��K��
+��E�S�-z*��"f
+Pp^�+�GW
��� -Zv
B�k��F9�/�P�Z8����̅���v#���Q�)N�Y�^u��-zb�$����^
��])Kx?=>�Z���IZ״���Y��Z��O����CQհ��R�&x��e�7Un~{��e��"�'�vѩr��<A�)�#a�1�m<��� O�78����܎W�B�Z��/g��U�M�t�a?!w���t"��:�ץߧ�)��:�����u:�"�WQ�dP~��g��?������2�Aq��9bNv��dW��|2��nӪ-̇�m�$z25��Q�oF]���E��ԃ�l^uR���ϛ��fH�7C����n���f��OϿ����__��Ŵl����í�s�
ut�����B��
��?:�aϞ����s%{��qP�7�:���_��������/	r
k�ZgNV�D����:V��v�V�������Y&����2�L�
+���
�A�y��a��Q"�@��+��!`m��e����&�m�m)��m���͟k��8�G��umL_
+��>简W�3�,�$I5av.�^��6��N�鷁)p
4�
Z���E�%㋋�v�fk���$Eav�tqD�B8��o���*.�#�`peN��M��͵�
+endstream
 endobj
-8081 0 obj <<
+8053 0 obj <<
 /Type /Page
-/Contents 8082 0 R
-/Resources 8080 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8048 0 R
-/Annots [ 8085 0 R 8086 0 R 8088 0 R 8089 0 R 8091 0 R 8092 0 R 8093 0 R ]
+/Contents 8054 0 R
+/Resources 8052 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8059 0 R
+/Annots [ 8036 0 R 8045 0 R 8046 0 R 8047 0 R 8048 0 R 8049 0 R 8051 0 R ]
 >> endobj
-8085 0 obj <<
+8036 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 678.3775 355.5118 689.2815]
+/Rect [274.526 678.378 355.512 689.281]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-8086 0 obj <<
+8045 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 606.7808 268.3399 617.6847]
+/Rect [180.659 606.781 268.34 617.685]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-8088 0 obj <<
+8046 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 477.4845 355.5118 488.3884]
+/Rect [274.526 477.484 355.512 488.388]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-8089 0 obj <<
+8047 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 374.0072 268.3399 384.9112]
+/Rect [180.659 374.007 268.34 384.911]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-8091 0 obj <<
+8048 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 244.711 355.6614 255.6149]
+/Rect [274.526 244.711 355.661 255.615]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHMZ05_widening) >>
 >> endobj
-8092 0 obj <<
+8049 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 173.1142 268.3399 184.0181]
+/Rect [180.659 173.114 268.34 184.018]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-8093 0 obj <<
+8051 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8083 0 obj <<
-/D [8081 0 R /XYZ 90 757.9346 null]
+8055 0 obj <<
+/D [8053 0 R /XYZ 90 757.935 null]
 >> endobj
-8084 0 obj <<
-/D [8081 0 R /XYZ 90 733.028 null]
+8056 0 obj <<
+/D [8053 0 R /XYZ 90 733.028 null]
 >> endobj
-7847 0 obj <<
-/D [8081 0 R /XYZ 90 552.2101 null]
+7814 0 obj <<
+/D [8053 0 R /XYZ 90 552.21 null]
 >> endobj
-8087 0 obj <<
-/D [8081 0 R /XYZ 90 537.6398 null]
+8057 0 obj <<
+/D [8053 0 R /XYZ 90 537.64 null]
 >> endobj
-7848 0 obj <<
-/D [8081 0 R /XYZ 90 319.4366 null]
+7815 0 obj <<
+/D [8053 0 R /XYZ 90 319.437 null]
 >> endobj
-8090 0 obj <<
-/D [8081 0 R /XYZ 90 304.8663 null]
+8058 0 obj <<
+/D [8053 0 R /XYZ 90 304.866 null]
 >> endobj
-7849 0 obj <<
-/D [8081 0 R /XYZ 90 118.5435 null]
+7816 0 obj <<
+/D [8053 0 R /XYZ 90 118.544 null]
 >> endobj
-8080 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R >>
+8052 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8096 0 obj <<
-/Length 2534      
+8067 0 obj <<
+/Length 1832      
 /Filter /FlateDecode
 >>
 stream
-x��Z�o����B�Z	��~m�搴I���~��`�m�H
I���Y.Iq�%%�
(��3���y�fFd��Y�PB!ø\�wx� ��vA�����_�\\~+�� #�\���+H�%tq�y�$1���x�fE�2.v����|���l�����]�WW��U��g����1�'��7�_~KHoyJ
�RQ`Ǯ�'G�q at 0����&��A�	������qY�"*0�f�2��q��'o���X�L�5<b��%#�.z��M'�F��Ib�����{�؀�����-Op�1�.v���f{q}�n
��� �A�9
-�
a)�QA�!�-U��Ƃ�h9��B�k�T��$�w �eP��!��S�@Jq�P�l-(O7n�ObOpr-��s:EĉDL�E�4B�����i-��j���*��~�����m�KU��
����-]��������^�YY�[�<�\#C���)���!�����pF�)�H�R<��l���W�H�b{G}e/�8ͪ��~���hX����3��%���#�!E:�_�N4��Sp"��UB�q��c\#";[�c�V!��j?j8
ɟ
-�E�a
,!�QJv|XD�i�ͻ4ۦY���{�L at RZ³�($)x���ݾ�WDX�ĆCe��c�.��<l+w��ۿ�~9���H�1
�!E0�$��xhh���YG�?�c���x]˳��)�$Y�=
��
-�+2`fQ;�,PA�BL�XX������	������e�>/֖�Fjy�uݙ~#�4
h�b�@
-ۗG��ֆ�Ǹr�ıFXH���hr[	��`��~Ps���]8��}ް	�` co!T!L(��w��&��3

"�!�=
�U
��XR���$�Ֆ(�S�s%�;���0T���d
�kUR�W#��

10b��
s��Q
�P�q�.�z�
-�F���wT�M}��@�&��͜�__�6����[���PAi�v��
-�@�5�Q�5��_�ٷVך�gO�!�R����Q��ā%zTc�lN�-��g}=J�-�Į-�xW_����z��n�K�u�v*��
xp([uTy�?%
B
u�O^_O�Uf��'��'��kGvL��\���'vm�ƻ���9�Wo��?@"�ކ��FJ�]��J�~U�
�
i�2�?��� ��w�Ľ/��p^;��찻kW��fW�@�-�n�
T�O6j%Y��,�tL�u��0<yzLj������g��~��i�=�1$@)�3�)¬�T��|K�?H{��e����U���v'
�}	����|��y��:��if-���&��M����c�~8$�Mf+(
��t>[�����P�h��7����g2Uh�9W
r1�-�e��6WW�9Xg�M7�q�p�%Y5���
e�D:�13�v0C������#.p�'�~\,�`�QIէN0_�W�
2z,�']���M�K �]0����
ʃ�oR�C	��ū �\܀wy�I��
��~����(%�#�;Mq�4C0���T���
$`B��J
-��~1J��:��o����ϡ^��P'�
�3�9��>�~A����9t��x�J��,.�FYnO�!��� ��;
1�>�"u�;�"��`�#��8�����9�4�5cm}��mb1BҀ��"�66hv���@#��NL&�`��S����윀�k	�-�ykw���(#|
���Qzqt�Q��@��[������b�~�n�S
6�y䱎�'LQ �P�z�X(�����Id��c(��E�jYp[ě�����g�ň�0����������Ѧ�2�����M�p1f�D%>,	y���#��
���Hr6&
l=c5C
�F�R�:@:'�#

r��}N<4j�eP���
-8����f�i�z@� B��z�b5����KC�vUC�� �Koeo�8�Ԁ�������iv����$�[#�� �b&^0�� ���a��(j�H
�~E}�Q�n�pэ�t���xr%�YPe`s�$ʒG=��AT���
4�s

-L�j�y6�0J3�=6�Y�n�9��(��YT-67����(02qj���Q�
��(�v
-��qT�jHѺ/�Ջ0x��45�$
�:�y
>{�#m��ަ���(
-�B�DI�Sc�lN�-ىQ����(j�kx���?2�"P;%�
ՌT[�s��-�1�p�����ovE_8�"C� ��C��3C���#�P>�C�y��!��Ջ�P�An��{6O����@8��?�����pÖ�����9�#f�U�njW�>Q�3��|��j�9���'B��`��;`���O�?�����wp��!�i�P=	�[�_2��߳I�[��;��X�͝?����,h+�F1)�G�����5����{�&��b��mo˄�V�شh��m۞p�M�����L�?��{w�C�
��qF�2lQ�*
��E��A��N�qeCVD�roZ�W��W9�Q�
jTﴣu��juy����%:d�@iu	��rԢ�!�C�6���#��I�i�����徶\��.o��VX���P=�
��_� 3�endstream
+x��Z�n�F}�W𩕀h�w�
+m��Hڦ
���K�@���M�"�����,�W��H��O�-�3�g�\$��z��e��rt�\2O#-��.o<�=_$(�.��՘��ɔ`�ǯ'��t�_O(
'���,�`�Gx��n6{�ȃ�$���]�6�w�/Ξ�O�FR���B�nIG��Ղ�
&�?
I8��,�L�� LӱY�� 7��sc�	Qc/��L���ѳ�ч1�#�[��|��b5�z��%��aĴ�Ū��)�c�]��
�.�
a)Z.F
qV�9�t�o�Ұ�s(�u� ߭M
��4�e�3%GDˣ���k�H¥�� � ˕<���}VL9��	�M��Z���t�3�E�*��r��חc17��4X'��0�� ��6� l�b�I�����O�Ka�	@���8ԅ�Po��έТ�� Jh�b�#�#ބ˓�T�ƶL=��i��|j����	D�:�b�n]X����I�͋�G�(S���X��v��-�
�"���[�Y�g}����|}�-�%?�+DG��wp����E��R�T���8
+c��-��e�R�b�Gv�x��:M&D� cc����θ��d�(w�ɍ=��%2�`�mIeo~yW�B��6\�8�o�Ŏ��%�d���E88��;w
�,qg&�I҅}��j��J-j��q�c�t�l
��[/���!�c���%�{
�%�g�w�� ��F�<
�(r'�p�NJ-�
�wl��7qԠ�c
GZ�FͰ��;M�E���=\M��H{���Z�
%���&�f��1]
+P�� �Xg��^訨�5��
;����|��
�e:�0Z�g���>�	p}
Jץ�'9��ڥ
+%
�K �<�����~�m���Ҽ��C~#
њ.+le-f,bә�
+
���*��tC7�� [m�ʫ�C
+��v8&<hm�[ P!Y[l��"���Q�3�
ʥ5kw?N� Ȇ�ud��,OR����w����I��Qp/�u�F��<yo��ę[nӳSB8X��ҥpg{g
+L��Q�=�X���ӥ��aά�^/߆�]�k�B�4
+O�&
+J����.?l��ǣ�Cr�~7��}Z�b>3�u���|9�A�qpl��y��nV&ΏR`�6�d–l�vs1��SD>b��
��NG�B�Ԭ�˾�,!=��$ĚR�e0~��2ؑi�t	I���%i���^
��ؗ�ϑ�'�SwRAY��
+�!��0M��+r56���n"��}�1h��QD��ף��
�k�(�羜�AZ4���f
�t'������a�@��W��{{���
�M����� \4.��.w���Ȕy�&MV=�
+I�8F���́<�[\���U|����d�T���
OniScˍvܗ�l�
��l����>���-b��gWY�_���6
�l�jQ!��W3�Dt�f`�!J	�O�3�/�BZw��z�}o&�����R�xL��ָ�H���>.;�>{y�U at r�
O� mq4��I
���MGFoF�Hc�9�>�
�������J~o��8����>Uu�pR��T9RPC��:9�ߛ��rp�p5�S�3�+>�~j��Q��ԯ��
��q>4��S�ႉ}�S�/s�����3��c�)�5?P��8讧o�
���w=� }��1�R~�
 �N�t9�k���I��iS*��͒(3'��AKa'���l`�Wo��_���:��
�?@_HR>S�?�����Q�kKa�_(/���]�]���+3��
�_�&���c�4s%	��*9�N
a.��
��T���{�Ug����h���-� ������l�ݢE�6q�NQ��M���F
+�EJ
!7�փv��*GB[(��Z��&�M�ʯ
+endstream
 endobj
-8095 0 obj <<
+8066 0 obj <<
 /Type /Page
-/Contents 8096 0 R
-/Resources 8094 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8048 0 R
-/Annots [ 8099 0 R 8100 0 R 8102 0 R 8104 0 R 8105 0 R 8106 0 R ]
+/Contents 8067 0 R
+/Resources 8065 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8059 0 R
+/Annots [ 8050 0 R 8060 0 R 8061 0 R 8062 0 R 8063 0 R 8064 0 R ]
 >> endobj
-8099 0 obj <<
+8050 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0082 678.3775 276.1434 689.2815]
+/Rect [195.008 678.378 276.143 689.281]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHMZ05_widening) >>
 >> endobj
-8100 0 obj <<
+8060 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 578.8854 268.3399 589.7893]
+/Rect [180.659 578.885 268.34 589.789]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-8102 0 obj <<
+8061 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.4563 449.5891 371.4419 460.493]
+/Rect [290.456 449.589 371.442 460.493]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-8104 0 obj <<
+8062 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0616 276.7159 276.0472 287.6198]
+/Rect [195.062 276.716 276.047 287.62]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC76_extrapolation) >>
 >> endobj
-8105 0 obj <<
+8063 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 177.2237 268.3399 188.1277]
+/Rect [180.659 177.224 268.34 188.128]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-8106 0 obj <<
+8064 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8097 0 obj <<
-/D [8095 0 R /XYZ 90 757.9346 null]
+8068 0 obj <<
+/D [8066 0 R /XYZ 90 757.935 null]
 >> endobj
-8098 0 obj <<
-/D [8095 0 R /XYZ 90 733.028 null]
+8069 0 obj <<
+/D [8066 0 R /XYZ 90 733.028 null]
 >> endobj
-7850 0 obj <<
-/D [8095 0 R /XYZ 90 512.3596 null]
+7817 0 obj <<
+/D [8066 0 R /XYZ 90 512.36 null]
 >> endobj
-8101 0 obj <<
-/D [8095 0 R /XYZ 90 497.7893 null]
+8070 0 obj <<
+/D [8066 0 R /XYZ 90 497.789 null]
 >> endobj
-7851 0 obj <<
-/D [8095 0 R /XYZ 90 351.4415 null]
+7818 0 obj <<
+/D [8066 0 R /XYZ 90 351.442 null]
 >> endobj
-8103 0 obj <<
-/D [8095 0 R /XYZ 90 336.8712 null]
+8071 0 obj <<
+/D [8066 0 R /XYZ 90 336.871 null]
 >> endobj
-7852 0 obj <<
-/D [8095 0 R /XYZ 90 110.6979 null]
+7819 0 obj <<
+/D [8066 0 R /XYZ 90 110.698 null]
 >> endobj
-8094 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R >>
+8065 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8109 0 obj <<
-/Length 2533      
+8079 0 obj <<
+/Length 2091      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S+�x��(�.6�����/�@�%��DjI:����
g��eg�}i8���3��͐d���<SB!ø��vgxv��}F���_t��>�x-�� #��]�6$A�:�^����:_����9���%˷�ϋ��&]����L����7�:�+�d���$�����w�	鈧� )u��;H���2�=�zD�A�	��8)�mRU�
*0H3t���ۤNݕw�mZ�=O�\b��9#�
-=�����7�`�X��v������ߝaČ�8��Cg�3NY8ٞ]�����n4��G�Q���� ���Ku���p� ��	�+���
P?��<فY4����
&)�+R���h#���N���\˩)���b��DL���i� GgӘ'D��e�^/�}�J��l��UV��2���tw��]���n�.�I�\���`�QƂ����πP�1]1���Dx��,�fy���ΘJ�B�LY!I!&��\���`c�2V.��!�4�<=�b��0�;븃�D�b���Xl��7W�7�뢇��7�G�l�a~��"-�Ka�,:�a�A�`
~�
-#C���>n!3괬.��L�b��
?P���`�?T�Vf�hd�u.9��x
���P�8���x�:�
�Wz�ݎ�:x����l����H`H��Lm:���H�?dۭ;���zST����&���c�߅[
���6iU��,_��D�?���*\�=i���~��6n��?��@� �ߛ\��=�ߤ�.��EM�XAi���dR�W0��L �+w�Q~�xp�4�G�XRf��6���>�ݬ`Y���O��|@DdU���U���L5�i�9��(����ZQ�3s�2�Gh����6iN���g�e���2�ySLhT���e,ԛ70>4��1��X�6�M�}����(�]݄Eg
I�;&
)`�����:��� 	�g��z3+��~[{��؅����v�
�h[
��R��O���+p S

|����H�cH+
*��c��?Z�Λ5�}(
�TK:l:]�6��
��-O��TC���E6�M�86�3;R��~
-��/n\�	�!pS2�
OZ"���-(V�aӁD(��A�K�qA��,؁D�T�� dd"�or�F�#҈�ą�B�d�����(��t߬i�_�U�,
-�HHr�������V0GC�i�N�P�:`��p�u]�
�zc����ց�~>;�<(5��:�O���,��O�� �M�j
�����?p����$5�+K�
�J��T�g�f���!K5�d��8KM�F,u�
i�7n�1��v�lc nh�li��ׁ�*�,�;D`��
�7�D�b�0����(���Z�8�}�#��(��
�̕4P���֔�
��•��*~�MKe��&K(�t)
�-�$�K8���pk�	���CFf�2m���L#-���l�o�-�M�e:f��Ř�z&�U'�����V�d��嘭n�-T�X:��eRU�]~�M�����4�a���|��nm���k>���SƞB��S��}]!���6�<P�a"r��f�U�5�liT�
R�h@%�<�b��1���*��1A{���w]N��#�p �*p�'�p}U�G��z��Hi�:� �q$V ���VW/el��GBGB!�*�HH�@�2aC+�Ֆ���wX�d>��r
[���uU�������uNu|�C
��7��U����X�
>��h1��ia
e�ח��4��7˴,�
i�
4l�`�-j�D/���
���Z�Php�j���_鈘�'@s�i�[��ۀ�������6X��jK��fQ�1����*M���J,a_�2f��I3lN�|�/���
3��,>�O���>Bi�*��H(�b�
-PCu�l
H��1�Ad	UCPBb�a����{j�k�]a��L-
l��R���aỼJ��1.@)���C����M�,�1�Ϸ���� �4{��7�*M���.�"��
�/�e]�OW�+��_�TG� ��#�O��.�x 
-C�P����1&z�@��^��&])$!e
��iQCE�~�`=��i������DE2D>V�h1��
�Zu~:'�����
��L�#�N�w�6*
���;�>�WEY�վ�/����v	o��{����<6Hh�N�|5�������gl�x�kq$���>@
-9��d���Iyw��J����i�"-j�L�e̠��q�L����r���
E��ܪ�"����Yd����nوo�=d��
���v�����C�c��1t4=[�	�
�LP�vz��v^�:���м%�)��-���
��[�n)2t� �K9l�CC�7K!��L�|�'@C�F?��vW@
-���l�Ȕ2�Dt��}�Q"��om�<˟��N=�r'����v��ُI���=�qE�l{sTmX��#��z�K6�=�"*6����,
}�)��E�@��
ȵs����������*t�g�e��~�����lM��L9nт�D�����%�.����+�4"\�5�A�Z6��� ��tiendstream
+x��ZY���~ׯ�S"VO�&[	$�z��v<�}�%�H�J���F�����xH�1��H ?�"[�b��u|]
�
|?�����`�DRP<<� �S<���1!�E�)���O
'�6���P<.6�k����o٢L����ݲNVE�l���d�&�
~�{KHG=�	�ˍ�?Z��#z��
ƽ���i��&��ɔr
�$
��n��ʮ|P����x��%,1����X�
}�0�uD@
���G(�/����p���FL���Hm��2������E�)CX�Ĉ�P8�ko����|`d(�@��Sy��b,�!"R\D��(j�~�1Pd���*���bD�,�b����������l����%K5O��ʫ�ȫy��s�]���Ϙ��۹��ꕼ��
e�k���/ J����cJ���,�d��d9�zLv
GH@�����ՀV���Z��b���
�jB��`�oq�� ��0��z��ظo����,��#��z>2	�3��)�HB�L)E
�4&���ЮUY�zϷzz;Db�+F��
�
$�B�7�=4�����y�8��w�˸>`�ڇq̻*c�nz����m6�j���uQ�K���D��S���WNf��֪��M��jB����OU~�葞��߸ׯ��ھ,sO.� �p�~3)�M{�����4��깂�"����R�G�u�@�Tv�X���pi���'m[Rf�L��(�D��s뻑-������+���/��Kuk�1J��M�`���� [...]
���QSM�@[`(n���?@{� x��:67b�۩rH�X��:��*��IX�)��3�HaКZ��������
%��Q�
�	��>b9����}��q
��� �B��L�_�)�bȍ
�D���!N@��^��Z�~	"���
�#�}#j�3Dmg�{�/��_D�8� �*t��F�(D���jt�}yb�T��PN�vAO�
�=�{M�
+�c�X�W`q�2��P8y�k��|!���[b���7���D�b���R��M_�'���j�^�<���1��Z��0ӣX"�.�
�Y�G��71=~��P�-��]�&6TO��pTVzT/
+۝i��p�mR��\�O 7�?���j�q�w�Z$�ZF��iK�bpJ��&���
o ~���{!��_|�#�?اi�ߏU��H��5�#~7?��K@:�󤪲U��<S�]E���

^=3ym�,�͞[����x�<���#����
�	
�-�9��0D4�X�ـ!P��[AϨ
��
i��ckz�^��x�����1��nh9=b��{
�
f׭%/�V������h{Zl�u~D���Sя�Z>��m(�)���<���k�q�w��j�{��
zW���F�z=Wei^�Hu�nђ�0$
\bq4�
����^/���,
L���i�]&��	����c�s���`�
s�p2��|x�Tj��r&Ǝ6r��$�/I����AS�����
�&_�Pk!�#" w���[���Z�vk���m
�qM��{�O�wD���+�<T�)�Pu�
)�
5/�+�
�t�NA�h{��Q!���=+��;~b�0�j��T��G���:���_��s�)�9�
� *�o���oI?M!~�[�BO�
�ˢ��Ѯ�����
�ܤa�L�{�]:֤[��~�~ M
+ΥO�&K�I�ڃ��%�%4>"����xX�J,�鸶�v��4˗�v�G����k{U�n�΁�k
%�Q�DL�$!�w��T��O),8���*ц�����
�
ǽԘu��
�W$��/�_0���3
��Xex�R�u���n}K���/؛V���f;.���v�ʭ
��4s��g�+a� �)
T�{�7���K�~�ݾ5�b��-\��nvww8
вB�<ە(��v���i��Z�@
+�B��p3�mQ*����5T�d�
n�ͤ
+endstream
 endobj
-8108 0 obj <<
+8078 0 obj <<
 /Type /Page
-/Contents 8109 0 R
-/Resources 8107 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8120 0 R
-/Annots [ 8114 0 R 8115 0 R 8117 0 R 8118 0 R 8119 0 R ]
+/Contents 8079 0 R
+/Resources 8077 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8059 0 R
+/Annots [ 8072 0 R 8073 0 R 8074 0 R 8075 0 R 8076 0 R ]
 >> endobj
-8114 0 obj <<
+8072 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.3343 312.1557 236.6587 323.0596]
+/Rect [179.334 312.156 236.659 323.06]
 /Subtype /Link
 /A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-8115 0 obj <<
+8073 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 258.3005 256.1568 268.1982]
+/Rect [128.635 258.3 256.157 268.198]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) >>
 >> endobj
-8117 0 obj <<
+8074 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7077 148.9573 250.8953 178.0231]
+/Rect [215.708 148.957 250.895 178.023]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8118 0 obj <<
+8075 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 106.4346 483.2121 137.4033]
+/Rect [448.024 106.435 483.212 137.403]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8119 0 obj <<
+8076 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8110 0 obj <<
-/D [8108 0 R /XYZ 90 757.9346 null]
+8080 0 obj <<
+/D [8078 0 R /XYZ 90 757.935 null]
 >> endobj
-8111 0 obj <<
-/D [8108 0 R /XYZ 90 733.028 null]
+8081 0 obj <<
+/D [8078 0 R /XYZ 90 733.028 null]
 >> endobj
-7853 0 obj <<
-/D [8108 0 R /XYZ 90 566.7777 null]
+7820 0 obj <<
+/D [8078 0 R /XYZ 90 566.778 null]
 >> endobj
-8112 0 obj <<
-/D [8108 0 R /XYZ 90 552.762 null]
+8082 0 obj <<
+/D [8078 0 R /XYZ 90 552.762 null]
 >> endobj
-7854 0 obj <<
-/D [8108 0 R /XYZ 90 376.5283 null]
+7821 0 obj <<
+/D [8078 0 R /XYZ 90 376.528 null]
 >> endobj
-8113 0 obj <<
-/D [8108 0 R /XYZ 90 362.5127 null]
+8083 0 obj <<
+/D [8078 0 R /XYZ 90 362.513 null]
 >> endobj
-7855 0 obj <<
-/D [8108 0 R /XYZ 90 252.4157 null]
+7822 0 obj <<
+/D [8078 0 R /XYZ 90 252.416 null]
 >> endobj
-8116 0 obj <<
-/D [8108 0 R /XYZ 90 238.4 null]
+8084 0 obj <<
+/D [8078 0 R /XYZ 90 238.4 null]
 >> endobj
-7856 0 obj <<
-/D [8108 0 R /XYZ 90 89.4414 null]
+7823 0 obj <<
+/D [8078 0 R /XYZ 90 89.441 null]
 >> endobj
-8107 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F33 481 0 R /F7 526 0 R /F1 573 0 R /F8 523 0 R >>
+8077 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8123 0 obj <<
-/Length 3071      
+8092 0 obj <<
+/Length 2545      
 /Filter /FlateDecode
 >>
 stream
-xڵ�r������ɡ*fO/�MI����q*[��v� ��!����5zh��X������Ya�GV�$�H�L���+�z�?�트�x������W��4҂���C�A�)����kB���1^��&x�7����5��z��T�����ɛ���m��������O�������w_2 at O�FBH
-��� #�t� nH4"�K�(������r
�4]��>o
����&j]T[�ӌ���՗�AsN��	b����~«
(��+��V|�
7���p�Q�o�W�_�;��R�ᄽ�@�!,8�
���Y���M�4�fق�%��R�}9U~ �(,���Œ)8�2���Au���ğʔX)� %�&#1�WP���Jө�{�͍u�Cm��D+��ǧ��;
�mq�+Eu*�ʹߏ���;�^KC�H$~���R�=�K`J�W P h��R�p�CY�˪��r:T��a^��g1o|�	ɍ�|]8i�'CVf{=�T{�
����-�GiTf/���ޡ΍gX�#	1Q���W]$�sb��8�G���'HR���6C�i�B�a� �$H(�a_~�����fL�`�$�$I|�D��r�� 1��
�a���nn��:E��rw�7�g�Z;aJ+$L�Z�H��2i�b��Z���SS_S�~���ˇ��3�����fV]&f�t����$����;��#�nk���
�d��q�Y�q��0��2e2�&�
�r�L���JiWR"h\	��X	�f�J �S�T	2p
���
���K��$o���%���ն
>� T���淯\*P�6�M���Hg��]	���F��
�T� ��
U
��	G��u+Ӫ�[[�kͭL��,Q� !p$4�n��f�)p�1�z�)�Ռ�j��El\� �c [��m�LD����.T��ռ|�@�$h�K��t��<i

�w�L�7�i"�`��k�cyBďʠӧY��(��
\�q-�T���X.�����9��N���<������ �PT�|�k����;��`���$���ЌtM�@��`H��;j���g�m���{j����������|�4
-dS^�x؀�I�FL�є��G����$y�'��ɵ���v����P���?2�����i�� �0
.;���:��<�%&6�(�ʲ
����A��v�t��/w�zW�2��Kb�s�Di�:��2��=7�)��	����9�FXܗph� ��:�v����/��?�l.���9t���
.enz�2w �Gl;��W��3�(Q�>�ZAɺl
u����s�/'�c\#�$�+ǹ��_Ѫ�͢kHL�󼩢��2��L�G(EP�|Kc�
Xe��'��1������n���S ��u��n�
�s=�s�k��.Ĉ���Q����+���(5�w�|�a�dI?Y
��Z\rI貹\2�m
�U]35׻��
��Fc��3���S���(e*@/�fDM�]��we��!�(�oS at A��\��n�����(G�IC$kʬ���&�s�:=��
��kZ��^�{V~n�g��?���F��h�-;�Bz�H͡�"t��*�a��K�
Vnxl�vj�1��q~H����H֩�!`��A�2A���d�F�0��_?���H�K.�ՕiN\���ej���L�dA
q
�
[�R�(GT�,�S�&�b����)
�
�L9��~��ʀF�|
��8�Z�� -�l�sʱ3��p��+Kp�x� ��2;t���v,6]��l��i�0̲��G>�eX�P� W���V�|�+h\�z���@3!�s>��SJБ3��SMt��TF1���]�
��mF�u�
�o$p� �s�2�%

�1�̤
��.
��vT�
-
-��&�?}7�
��f�}�W��!�i���1À�m���|��O�ZV�+_�g�cs�5�JC\ݪ��?F�ۼ
�����x
�#7C��Mʠ�
0a����
�N��.�HP������͖�W
ɋ�@�w>���ԯ8�ˋ3g��#d���?���9ư2�ߧ|L98
����I�Ϡ��i�O��b)��3�!-{�߼k�@�+���E�hO�
f�j�!����5{[�bn;7����
��c]E
�����Y5�!
���,����(��-��@��-
-��4}˯Yo%�/���|��[
j���6�H�\r��&4G3��(���m��5=���
��?<�}8�<�K���O�
-&�1�4-e��lA�,�AD2W&2v����
�C;�?"�[���P�ǘS�)��m��37�AT��XB�� R���4E|�^c.f���>��tQ#��鄙��i��'�����ʲ�A���v
s�3��#�W
��y;�3A��K�6 [��
���c�tW4ʹ�#R��A�_f�CM���OQH���LDv��Ț�|ץ��
%�c��.h8"�k3@�S!\F�^��Ef}����m~>9Hk9��,c�| ~
�Y���e�M�ōUtd+�;�T]
 {�
c@��
_�a�
��t�
wn�uh��k
�$�5��
Д�8�ƸB?a��C1�:}���@#Ι~�o`��Oû�>�,�.GX��GB���jfC�u߾2�١1��
N��`��M��3���7~8A���D�JM�+.eDʼnx}H����Ï�f�#}�C��ZEw댎��)5<e	���.I6f��E��?(p pԙ ���4	􌁭Mu�2�]�r
�@'�k��pa���l:�Pf?$Y��8�{�
�dH.C��9C��٩g��g��S�
Yp��G��ɄO
c��F����y�(]'�� Q��%J>0n�7
-H�#�7)�f����������CG�kA��-�S*r);���w�=�V«�@���)r�>
-Z"M�.- ��~���3
	���z��~cco������T4��|������#�2��/�,�bw�kV���� ��K"c٧V�����_�
���A/�o����x�����3ڞй*�
*�w�����cf2��
�	@^"͛|*��Vd�˃o��Q�]z�y�0�
	V�Ʋ��endstream
+x��ZKs���W贑+#$�T����fS��8�L�T4[ܡH�����ƃAA�f�{I�"�"t���
���/~��������-$������B�E*�,�6�KBK�Wc�|{M�2�v���5�˦zުM��.ﻼ{���{��M�W��ۼU��~������J$D
+����h��h2
���!a|�f�������&�t�vm�����N=��dKU���/�zΫ���sE`� ��.vW>��~�i����Ɍ�-��Z����>
1e
>�1ıùd<�=�069��a@�ܪ:߁jQ0E��g��(MG��6Д;�XCI&�ZD AL�UBb�/V ����6<��v�w��è����q�����
�ޔ;U�˦v&�o����Z�kא<PI βa�Z=�y""�P2���4���(
}(몬�G;��)
̟��H� ?0/�3:r�#_*�L�un`U��s���08�g�uj���~t#5b��*7u�
�.;[ �%#8wr�@�v��!㶃��@�(�MYQ@�����B��V�6x�Ol,H�b	�Jod�~s{[��	h�W�f�w���I.9��f�m����Sm*"�$1A.&��գ��n+;Q������d���q"��-!���.f1���FU�-�r,.� I�m��^��
��H)��N�N!Y<p}y6p&H��:��J��+Es�/!�~��~4�`	Ba*_7=��U �
#�da���
@C���h�SW�mH"09��,���6���(_�]�o�8�f�7��с# �a�l�}�#2��g^�s��\�aiH�؟��?���� ���鎂C^M��~�2D�"��Kݣ#N�~�Z|0�[��
�01�1H���怫��
�D�/��R8�mϩ�M�l�
q�
`�(�=L#�jIS��
b��b;�
d�-(
V`-)�3������k
٭~�;�]2o;�
ʍ����T��K�
+ ����	��fS$S�509No�@aD�o�J`M
�k�^ͦ��e�}Θ�yn�/b��	7m��CW�|�T2C��*�} .���B�]�,]���^4u�l��G"}ѩ8�z�Ǝ�o�9�;�x��~��倁��H�H�7c(Y��[}x��&�d��yo�KD�4�Ƈz� '�Zm4��z�Sa��'!�%F�l�1z�R�2c�&�2�X c�\f��^��"�*���WM�~�(Å��a�3�k���;���>Hp�b�)�icY�9ڛs
K"L�
����E3�Y��EN����nju"T����C4���C�0�_�ŀ-����~<��������~Mw�����a7$'�/�j^�h���}���9��Eq��Wv:�F
+G�|c��g���R]j�Y�Q���)�C�l�)F�4֒
�d8�v4��|�u��O�Tcx�]�f��U�[
k61�P
y�*#k@��N
+E���LJ��
e�4;R�V���.���2��9��觨�|��6�Ħ�
QߵqRf��|B*q��@�/�>Ŧ�Ǵ4W �+�	`�����vq�w�H��Yu";�h�������ň
+Q��� ��F�B�5��֗&q�H���'��e�:^D�a�U�sB�z�޹�j������iL:�0*���l2Ȣ��c�
#��@W� �s�<P��(�M��Qn��q��¸�&�_�v�̈́vM^���J
�У��U��03��+�G�ݛ�eJ��fEX���.C�5E�O;'�<ֶ#�ւ�Ċ�A����
���]�����;�s
�h�<�
�郆�+��*�&@�'d�׼��ϐ�g�}~D"3��q�wqE8y�V3��x����[�e�r_���f��C�P4m�N�'N�*��� �6uС��)�tW�]y=p<�.�0S(�8I~�����Tw�Rqܝ�����p.�vz?
 �U	�Nm�0�n���Hb������P Y�H�����׃E8�q	
c���dp��q27c��=��$U[T�s����N
\�,D�m�kȒ�(
d����Zu]s��S ���X	a�5�;�S?�-���=�M���PS��e�H�69�C������w#-Zp��fp��
��	��kq0@�ʐp'@�27�a�5P��ش�q�3������2b	D��u���C#�8��Ȉ�td�O�&��M�I� [...]
+endstream
 endobj
-8122 0 obj <<
+8091 0 obj <<
 /Type /Page
-/Contents 8123 0 R
-/Resources 8121 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8120 0 R
-/Annots [ 8127 0 R 8128 0 R 8130 0 R 8131 0 R 8132 0 R ]
+/Contents 8092 0 R
+/Resources 8090 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8059 0 R
+/Annots [ 8085 0 R 8086 0 R 8087 0 R 8088 0 R 8089 0 R ]
 >> endobj
-8127 0 obj <<
+8085 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.3762 569.4259 385.5187 580.3298]
+/Rect [322.376 569.426 385.519 580.33]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-8128 0 obj <<
+8086 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 305.4295 239.8565 316.3334]
+/Rect [89.004 305.429 239.856 316.333]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-8130 0 obj <<
+8087 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 122.6048 300.1613 132.8861]
+/Rect [172.639 122.605 300.161 132.886]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) >>
 >> endobj
-8131 0 obj <<
+8088 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1437 86.2883 182.1636 97.1923]
+/Rect [142.144 86.288 182.164 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (main_expand_space_dimension) >>
 >> endobj
-8132 0 obj <<
+8089 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8124 0 obj <<
-/D [8122 0 R /XYZ 90 757.9346 null]
+8093 0 obj <<
+/D [8091 0 R /XYZ 90 757.935 null]
 >> endobj
-8125 0 obj <<
-/D [8122 0 R /XYZ 90 733.028 null]
+8094 0 obj <<
+/D [8091 0 R /XYZ 90 733.028 null]
 >> endobj
-7857 0 obj <<
-/D [8122 0 R /XYZ 90 643.4588 null]
+7824 0 obj <<
+/D [8091 0 R /XYZ 90 643.459 null]
 >> endobj
-8126 0 obj <<
-/D [8122 0 R /XYZ 90 629.5812 null]
+8095 0 obj <<
+/D [8091 0 R /XYZ 90 629.581 null]
 >> endobj
-7858 0 obj <<
-/D [8122 0 R /XYZ 244.4393 308.5825 null]
+7825 0 obj <<
+/D [8091 0 R /XYZ 244.439 308.583 null]
 >> endobj
-8129 0 obj <<
-/D [8122 0 R /XYZ 90 292.5481 null]
+8096 0 obj <<
+/D [8091 0 R /XYZ 90 292.548 null]
 >> endobj
-7859 0 obj <<
-/D [8122 0 R /XYZ 400.6899 89.4414 null]
+7826 0 obj <<
+/D [8091 0 R /XYZ 400.69 89.441 null]
 >> endobj
-8121 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R >>
+8090 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8135 0 obj <<
-/Length 3075      
+8103 0 obj <<
+/Length 2740      
 /Filter /FlateDecode
 >>
 stream
-x��[m�۶�~�B͇T7c�x�ؙI���M\��~p3���H�����}@"D��9�f2�9��
-X,v�}vA�	�db�D	�
�r�X���;���3�����/�˳�/��d$����vI���N.�o�� ��gc<}uN�4�����9��j�p�/�l����ꇋ�M��*����M�������KBz�Sj����:v�gN$Ҁ`D��^�21�A�	��<:�׫l�=�Q�a4C��z�ʚ��y�_��9�Ӽ\�-f��2��g/.;�y�
-&����go“%��3���brc�d}�)
��7g��q���Gv�Q��l�A��j~������Y�G����Z{��a���̢�L��H!ǶB ����U�ҍ�(���rlI��U�8��	1��1���jZ�ϻ��>��^η�l�ϗ�:/�EUzo�xW����:_V��*�������n
����i*��M5���׭�V�|��LP�
;��|&p<cb.�2,�CV���P7*��x��0`4MIp��E�*��''(h��
<��{���<����9i������l���[�(SzPP�t�x��
)�8����eS���H46dc
EYF�@h9�@���H�!�`�T��Y_j��3K�if�}A�6y��؟�`��$��@�Nz�I�:C( 
-�F=䧑.@QK6n�Nj�Clx)�J�:\v����׃���bp��}T��2�{u�G4�k5����H��4L����:� g`:Nc���Ƈ΢��|���eQ��W�
yA��?w���a�kC
��NM'6�mA��ѴC�����ᴱ�Q�
 ~<�s0F ���m�;t`[j�e?o�L�-��lD�����G �o���/K�O�v���t�׭�A427al
��R#hD8��zk���|c�
A���#�1�"���Uc�,/. Kp
n�*��~w
�nJ���]�餆�� C���H�˛���rW�sZ\�4B���Y�
2-f�tđ�$p���d����l
�����Mٹڬ(�z��z�}vW47��Ǩ��G��M�
���ހ��sX���_1
%�;�)"��w��Rѻ?�Q0&�Z��2�O^���l�Ϳ�b-/�&����"�j40~*�!2�c"�k��նr�5=7l��NL'5�����ة����?�ff�r[uB-�I�3���2  [...]
-����{(
z!WC����f���ct�3
�[>NLڮ�u��)�W�
r C,��ڑ��1���
jı$�
R�� o\�n�#+=��0��g�)�ƻ�6�ɸ�lS:��i��o�M��&[g���v��'M�>)�#f.��
����R�����l�n�2(�+c���c�Tʖ˄=)E�kz�uV&����U��]�뫼�KI��
-g
-�T>Ea)�Z��6y����o��I2d�}
���r�{�ko%���IӁ�q�Ӝ�
d6��<T�26�
I������a���v_��eEӧ�_��<� b����]�2�\�0Rt���I���%.�* �h�̘m�/�5�Ӹ'�?aON(��f	 w �c=9�8�&���y�|��
�\��K���ڒ�4s3_T�|ׂk�V���͸a���U�Q
�`�n"cWQ�u��֡B������w �RA�eW8׉�F 
�
	3a��b�D��6��H�oS�	AF;��'&��+;E�P{�U�`|8:H
�����Yj�R�O��g���s��p�.>� #	��<�
-���s��3E�%R]B��ݨi,����
`Bz`��e]�eh�~U.�)�E��\�N\}S-���5�`�OB��>XA�zV��L�?��I��0#�X��aī�Z��\����. �������0E�F
-k3S�ܗiz)���G;F�%��'
-�N�>1�
�i�wPfS�AJ�H�s�� Ҡ�!��Q\r�PMj#b��[?���rFy{݆I™ux�F����
0uX[���@

Y\�<��*W��"�j&��iw-�6N[u�ㄌ���H�����G�A�m读�u���5���ڠ�^X�
'���K�m�'{&r�}< ��X1��5�])Gj�'��O����e:) F
�ɤ�裁���4}�
�s:��.h�^l�m�1{�v#n?X��)p�1-T�ֳ��P,�vM ��6
H �,h�����
��e��
1�M\^��"���s�֎�
�^��
����܆���BxΊ�����.��pf�2m�$��=@�o�
��_�(�;���K���Fh_/�t��*H@�<x/�,����A
��U�~
Ի�e5m��NPx욮c����3?, at D��nm|aW�_�փ�^�#9h�A��T�����Y;p)�d�--����mYXD�`w?�m����6���� ���i|��\ [...]
-�s�����6Y����v[�+�"鿾��m{:_�3cj
D�A��m���žb�v|(��kL[SX#h9}q	|	s��C�X<��a�����}yp*6� BR�֧�'���3A�)�br�$l,!
��M�k=%!���3�D����o�
�_�}]ݶg��o�:U�p���eQhPRI��L����=},�v;�v�B������ 5RĐ���E�G�^��}�W�N�G[�2�m�K��.����?����߲����PrtMvP�m�#�[����<EX�=}?	���{�3�`���{	O�V;�}עi6O���ݡ�A���Q�<�lVO��b�e?�����:��.��m*�ב.��%<]W�%�\�_Pt��
T��`�endstream
+x��Z[�۶~�_��!�f,,�6�g���$m�޴�G��k�THʻ��{@�WA���δ~�H�8���ē�	��p���גM4Ғ���j��$�	J&�����Ăٜ`��ofO�|.��(�f��u
���o�M
�WW�,��6K����:�ų�?]�&�#�R��
`�J�s;������k�
����c�ۄE1�S�A���x�ۄel���Wq>#j�Kx�4SF��y�����
b�T�� 0�r{���D���	FL��]5j;��u3yw��>	1eKс1$�ù��x���0����u=�|��i���^0%GD˓h
+
ޟ�
dId%>�E0ĕ<i����s"b20�ǵ��su��Qˎ�.\Ƌ(��i�d���a��pW��
+�$�����]�
m�Ѣ�H�F�2[�ċU�&�#��E<��
�fs��3zf��xӧ0���U�P��1]9������t���;P�.�
L���/�^x=#��r�ܫ��
"���ePX���:���pD)�'i��DHkv�PO�ÚYQ������S�˸��(����he�W=������F���Ǎ��~o�@F\�>� ^�d�ro��o
����b�ޙ2!�kY�Dn at v��xY��Zfy
�,����mrv�f�co��vK����g��n����&�%���	#@Y�㵦�
���%��ڍ�Ձg�:����c������2I�ҍ�f�#��nR�w����6�$��ܫ�e�3�>��tK�E]]�r
�n�h�{д<��Hw �3�]Z��i���E���QB[��㦰ɪq�r
�
�)
���3؛9�͙'�2�� �j��wI��q��M�$CEm�����W��I�����#.7gX"�X?<�vA%;.��lZ���Ѭ��ϟ��T��'�|���A4�~�)2;C��\��zs{3J��Q$1�o��7#������h'Y����8@��$U�=�*�`,e��'�@ �p+��
d?�
0��)�WB�o�+r
Z�T
��d~
I�`�z�g�N�@��8@?��,�V֜B��%յ'��a�3eO�g
\��y�v�����Ҽ�ѳ}
+q,���#*�d
�E�H\t�Ȍ���;.���CΨ�	��ƴ���:+�
m��d����^���I
ԡ�yx��3rn��>�$�}n�:���ֈ?�B%�_yФa�F�F`�GQMӬ�ktpn��M�;M|
L���(�U5��&j����7?�9#l��T�e�:�\��K�hMj}��)ެ9���	��qu��V�B�O�XU�w�

D[)����q������I�)o`M��xX4
+���̒Z���갤��X���%5���[�0�(�����p%�Ɋ���3*jyvE
�^,�(n+��tu���-Y3D�=8U�nB����۸��u��
���CfM����=�� �(�Έ�t,�3�� � lt��}����obֽG:5٬�ϡ�*h��aTH^�q��v�зY�v��~6��`/^���h����
+/�A<o��{ԘSkH��<|>�x��ӈ!S��,��Zs5��Γ8��
ߦQ�C4��n^�ӥ�����lYT� 4&�!�䈁�t�#rM�km#��?���?!n�
^����,�Xi�l�r�	��t�d��q�"�)G�I���}��ل���ץ#κ�|(c��Ε�-���Q ��8 ����.�Wy�˔
�@yފ8�:lz��|�O��X��S��`f����e����Tmq��\�}3K7���Y�8�Y}����l�8�ܴZ�5�:Z�Ĕ������Y�dg�jۡ�ctچ�߱�L������U�)�ԭư��
�	񦶀~����y��3>C���
� 8��/������%��g$l)���� ��I������^V���+�Z�_�
k8�G�ƥۄ��o��-aM 86�!� ��PW����D�t���Ϻ
1�� �

9�
��69J��
Nl~ٗ�}}TP��.Q�}��g��U!ʄɮ�`���羬Z�y
mr�ꙷ�&@P
� ��7_i{̙y{�`�c��+r��9�l&N�;P���vP�!���c[��X ���>ڹj.K��)�!��c2,����91��7^}
<��TX=�4�B{٧�!�Of���4��`W�9�A=�x(fĐ���Z�p�\9��u�M��ij:!�6d�m�q|�l��

���.���i����cw�Ѓ��D{��
�6ѿq�+����
�3�r$��X�d�J��}#�f�?�0���웿�I�%T�b$�Wmp>��w>x9*�H����v�5��\�j����i�N����d�35U����d��|��{s}����Ӫ�?��g&��	A�t�?']�~���߲��у
B�����j �N���8��/��4Y�|%E��xEr�څ��n
/?�~t
�Ǯ� D
��:c�t�E�D���
a�0(9}u�;������,|p�
c�Qz9:��$������Ha�md [...]
+[�� %���$��}�m㆟�J;���:��*X�|YĔ�*�
\���|Q��d��@���'R��
Kٛߊ8���"
��=Lݑ�=����?���‘0��q�]\MZ�>N�_���jM1C�-��e�������C�A���QR^�v���o�Z)��l:H��O�Y
��
n=_j�&���6�
+endstream
 endobj
-8134 0 obj <<
+8102 0 obj <<
 /Type /Page
-/Contents 8135 0 R
-/Resources 8133 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8120 0 R
-/Annots [ 8138 0 R 8139 0 R 8140 0 R 8147 0 R ]
+/Contents 8103 0 R
+/Resources 8101 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8059 0 R
+/Annots [ 8097 0 R 8098 0 R 8099 0 R 8100 0 R ]
 >> endobj
-8138 0 obj <<
+8097 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.5022 649.0786 241.6898 678.1444]
+/Rect [206.502 649.079 241.69 678.144]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8139 0 obj <<
+8098 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 579.0051 163.8226 589.909]
+/Rect [128.635 579.005 163.823 589.909]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8140 0 obj <<
+8099 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.5494 517.9998 513.9963 528.9037]
+/Rect [486.549 518 513.996 528.904]
 /Subtype /Link
 /A << /S /GoTo /D (main_fold_space_dimensions) >>
 >> endobj
-8147 0 obj <<
+8100 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8136 0 obj <<
-/D [8134 0 R /XYZ 90 757.9346 null]
+8104 0 obj <<
+/D [8102 0 R /XYZ 90 757.935 null]
 >> endobj
-8137 0 obj <<
-/D [8134 0 R /XYZ 90 733.028 null]
+8105 0 obj <<
+/D [8102 0 R /XYZ 90 733.028 null]
 >> endobj
-7554 0 obj <<
-/D [8134 0 R /XYZ 213.4267 509.1977 null]
+7522 0 obj <<
+/D [8102 0 R /XYZ 213.427 509.198 null]
 >> endobj
-8141 0 obj <<
-/D [8134 0 R /XYZ 90 492.9111 null]
+8106 0 obj <<
+/D [8102 0 R /XYZ 90 492.911 null]
 >> endobj
-8142 0 obj <<
-/D [8134 0 R /XYZ 90 414.5757 null]
+8107 0 obj <<
+/D [8102 0 R /XYZ 90 414.576 null]
 >> endobj
-7904 0 obj <<
-/D [8134 0 R /XYZ 90 391.6412 null]
+7873 0 obj <<
+/D [8102 0 R /XYZ 90 391.641 null]
 >> endobj
-8143 0 obj <<
-/D [8134 0 R /XYZ 90 391.6412 null]
+8108 0 obj <<
+/D [8102 0 R /XYZ 90 391.641 null]
 >> endobj
-7905 0 obj <<
-/D [8134 0 R /XYZ 491.3508 326.9324 null]
+7874 0 obj <<
+/D [8102 0 R /XYZ 491.351 326.932 null]
 >> endobj
-8144 0 obj <<
-/D [8134 0 R /XYZ 90 310.6458 null]
+8109 0 obj <<
+/D [8102 0 R /XYZ 90 310.646 null]
 >> endobj
-7906 0 obj <<
-/D [8134 0 R /XYZ 203.8219 224.064 null]
+7875 0 obj <<
+/D [8102 0 R /XYZ 203.822 224.064 null]
 >> endobj
-8145 0 obj <<
-/D [8134 0 R /XYZ 90 207.7774 null]
+8110 0 obj <<
+/D [8102 0 R /XYZ 90 207.777 null]
 >> endobj
-7907 0 obj <<
-/D [8134 0 R /XYZ 485.3732 145.1059 null]
+7876 0 obj <<
+/D [8102 0 R /XYZ 485.373 145.106 null]
 >> endobj
-8146 0 obj <<
-/D [8134 0 R /XYZ 90 128.8193 null]
+8111 0 obj <<
+/D [8102 0 R /XYZ 90 128.819 null]
 >> endobj
-8133 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R >>
+8101 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8150 0 obj <<
-/Length 2082      
+8115 0 obj <<
+/Length 1952      
 /Filter /FlateDecode
 >>
 stream
-x��Zms�6��_�OWi���xG���^����[��>�-�1����:��� AH�!�n���x�A .w��r	S�?�Z:�R˅�.7:}���������	��\|������^��ɀM/Wof ���(��Ws����$W��Ί��m�*��f�eR޿x�e��+�d}��6٦��_|p$�1K��
�qҿj�t4 J��ϸ����~�˳"�Y'��|�$Ei����v�Ti3�cz��s0�4_��\�8X't��e�w��
-���7y�NW���'�pk��;���l�����z�z�C��\�o���
Y �z
�8�J�ƺb��W�7���v����Y�&e3�����%�mRUI���
��
����봺K�ܻV/ �D[*�o�7S:"�iW8�W)��Ѫ]���I���S��0]0%	 ��h��h
��\6���1�

ls�Ӷ�@�2)l�Dja�m��3�
�����O��<]}�}cg��(S-���v[�MRe�*��Y���)e�c��h9�4��j_滈�ךpI�r �R6�Q��4"
C��^��� =%�K" �M��ńr��d��U`�w�.��b�h*U-���v���:N�]�����z�vC��d�m���j�+�]�c;���1�ϋX��3Ӌs�h��N��^���lY��Z�]3��i�ئ�MQn�^���e����˜I��%�����Lv�������m��ف|����~s������T���
�4�@��
z�Zr;��}�� �j���2�u7�^�l9���A"��/�i�=�
pr�
�g �� <��q .L@�H
 ��d3����=
qCu���!�5C(#VX3
D4u�ͅ�f'ay�rԪOO#=�y �&�Bx3Dz�\���F !�0@�;:8W���A6@`�M�#$�M)'D
Cn 6D��!�
y]�FZæ�^��V���q쑢g�
$i]S�Qa�����k)�Q
9W8'Ї��Oj�e,P Wq��G�����a; ���t1�#�#/��i�m�|��Y���
P
��y�K"B��[q�%aXw�E��D�I�#��w�F
k[���c���OPe�e�A�Y%��\VD�7�>j*f�=S,��
-A��-�w�jDK�
-�[�+� 
΋1}� X{[��҈l��`��`�pJ6�h�7�hM{��`�Q'�v�XƠ=iߔ������q�@�Sѣ��I�3�~N�?�$�=�ˡk]K��Q@w�rl�p�L�n�XG���a,��P��9�A+
@rW�³F �:�ag��g���h
g��#2g�h��^O�`B�i0K�FH�,����t�\g�4���%��r��z��8�TAw�N��-;��P=<'bi�c	�D�N��g%L
�)-��#� ���'�F�C
WF�.�� �yB[���#[���(�o��r��
�HŘ�߲�r�
[y�
e?��yv�I�z;�p
-����Ҍ�a�?�⁲�+
-��P<J��z��-��a��2�
Y|�2$��P
[��M��LB����	�Y�S��1��k�!}ҁC51A�
�s�SOK���������;����Λ���^E�܎���al���Tf{��S�H.�wf{j�ӣߘ~
%��{Wjb%�g,������X�?,���/�� J����
RurH�sH���Jf
ce�ŦM�ĄH�a��	
�|�
6s�f:q���&8-`6�z�4��b�����%�B�K�����=�ab�
*���s;�s��#*.B�P| 5���
�[9�'�mC������C��k�����x��#N�'�M ���
Ɉ: �7j�#j/Z��٥sZx�3����
��K���!��+���
�`�0���+e�ڒ�B�1����
%���L�{ߙJK$����Խ�QR}�'��G�
-,
b�P1n�'��
��ʝ���_�m? n��+���]Z~1�r�
Ů}�>�~q��r��J]���#��i�w
ӌP
�����Ӷ�������
�����r�ͷU�}qqqwwG�;�ϳmI��b�]_���F���-�"Lz�K���
�� :�ܴ�Mі���ĚC>!�
qD������endstream
+x��Zێ�6}�W詵�.�ËH�A���{�l��`���Y����r7��
J�dɲ$I��
�Hӣ9���Q4x����gW�˯B
bBW����
+�H��*x1 \-.�R:� :��Mt�l��<]?��U]�dQ����O�<z�&����]����W�^~p`�1C�P��
�O�!-�&�W=6
.���Y�|
�v�
&)3ln7�u�۲�{k��M���
�s��ٜ}y5�ch�P�E*�������K���ۀntp_���q�^�g?��a�%턘qBC�=L7�}n�����-��<^lj����7*i����(ϣ;��Z�;l/��ol~om�#��s�L��刖����
%�
#��j�C�I��� �,���H�ST���->���hw

2�:�
F��!h�H%G�)b4��23�7JYbWa[��.O3�����f��x�q�R�>��w��}Ni���̦@����Y��1y��"\�#}2�����|5P��J�S��$�E~�w}69Cj��,�������b�(�T��]UkcI��.����	�����m�2vSeW~�<�-
+D�:
�~= \�p��q0K�s���zq!4̗�Z/�ڕ=Qfˋ��n�l��r��.N^��.��qqt���_����������������f=�Ɂ���@!�	�Я��bFKn�_��m���__���/	�N�g�:^. at V맽	H�C��O;��
e�G�x�#|��C���
���Sp���ܱ�����x�p�
�p]E��wI�j}P��}{(���j�N�ʵИv*�q��HĚM0����K�^��V<vA
~|Hƶ\pqN���j�Z��-����oH:8�'.T��a���u�n�t]�+Ep͝�m֓D56m�Ga
�r\�T!N'��t�f�>�wRR�d�
�
=ރ|!/��prC�G�!i����bOF�4
�l��(�됢�
�U\��/����x]�S03T��R>�Z���^ؔ(
��eK�V�`
S�F�L�)�)4
��<Q
25V
r��ԇ^��)(=�_�}�B�������Q�\b�����ن\����f��-��0!��mÛ����:��f�FoQԸ=������"���W/{���v��c��(���_:����s�j�}>(�]���,�S���l��t����1C��ڏz̴�׆��FB���
�h��V�",dY)�e[2�oQ2KFk=������
f���՝i�A���9�_�㕍�F	Wj���U�^%3��C�z����Tk�>=�]3��R��
+a�JK���U�L�?�1!|�g ���P�$I���(��>#D7��&�N��`ˊI�X�v��x*0f��󑓊،)�C	(q�+��t�$
�}l��c�*��S�¯^���:
�bL��	$��v�"��ca��=0�8��`����`M��:�X%
*֖�B.8'd
cP�:�[��6��P$���:�>%�$a-���wZ{��ȡ^��\1����M���$�>%�BF$��'+�'+}'+�E����x�-���E��,�-�����'�L;��8��8yX���f�������ڱ�Shh�~b��3Ѯ/����e�����gD��X4-*�����q]�?����� �;�ZCu����>h�p�A�g1=TSi�
éFq걊zq�+� �s�
+J�59v�R���
��ŏU=��T2
�)[1�x���6��%�?
+�M�y24���oچ�h���
+��/n�N�2n�ަ�NX޻B�~���Jh�Q��o�Vo��x\�因�)���ۓ݋��Y�i[6��e�ם�>\H9��'T�hݜ\��L�lW�,\���f��w�p�`��Z����{P]}7+"�8���f����������=Y��>������v}ي]:��Z�Vl��z.'Nk:�h��*V
+endstream
 endobj
-8149 0 obj <<
+8114 0 obj <<
 /Type /Page
-/Contents 8150 0 R
-/Resources 8148 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8120 0 R
-/Annots [ 8155 0 R ]
+/Contents 8115 0 R
+/Resources 8113 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8059 0 R
+/Annots [ 8112 0 R ]
 >> endobj
-8155 0 obj <<
+8112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8151 0 obj <<
-/D [8149 0 R /XYZ 90 757.9346 null]
+8116 0 obj <<
+/D [8114 0 R /XYZ 90 757.935 null]
 >> endobj
-7908 0 obj <<
-/D [8149 0 R /XYZ 125.5542 569.4985 null]
+7877 0 obj <<
+/D [8114 0 R /XYZ 125.554 569.498 null]
 >> endobj
-8152 0 obj <<
-/D [8149 0 R /XYZ 90 552.7713 null]
+8117 0 obj <<
+/D [8114 0 R /XYZ 90 552.771 null]
 >> endobj
-7909 0 obj <<
-/D [8149 0 R /XYZ 438.9984 418.9856 null]
+7878 0 obj <<
+/D [8114 0 R /XYZ 438.998 418.986 null]
 >> endobj
-8153 0 obj <<
-/D [8149 0 R /XYZ 90 402.2585 null]
+8118 0 obj <<
+/D [8114 0 R /XYZ 90 402.259 null]
 >> endobj
-7910 0 obj <<
-/D [8149 0 R /XYZ 125.5542 191.6894 null]
+7879 0 obj <<
+/D [8114 0 R /XYZ 125.554 191.689 null]
 >> endobj
-8154 0 obj <<
-/D [8149 0 R /XYZ 90 174.9623 null]
+8119 0 obj <<
+/D [8114 0 R /XYZ 90 174.962 null]
 >> endobj
-8148 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R /F97 1822 0 R >>
+8113 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8158 0 obj <<
-/Length 2192      
+8123 0 obj <<
+/Length 1997      
 /Filter /FlateDecode
 >>
 stream
-x��Zm����_�O�
�\��l� �5)���5��t9Z��bK�,�w��3%Y�iY��.W`�V����p�g(�1�?26x��B�q9^lFx���1"��<�5'��nt�c���r|�PH�	J��n�vBbj:#���)��(�D��S�'��ye�Y4�!�Ϣ�����E
=�I���YE[;}w���w�4�Sj����:N��~JK�e��3�B
"L�r�7E�ZG��tFi�N�f��r���ll6%zb��b��	��	
}{W{�t�`�8��6z������G1��� ��1t�qʪ�z�f�Z�P� �?���	�� ������
!|�������:^�(��e�ˣ�6J����k��g��3�״ڙ'?���F�ʫQ�
I�Hi�9ϗ�ĻRI�
�4��/aL�d���-�U�D�m�>ś(���V�୊s?��<
)��GӲsZ��i�����,�Dr�a��A��m@(l�!����r3�3N]pb1�Aj!����J
�H�j��h�
-�(�im@
-��
�E~MI!ra�QHR�}f��Xƙ]�N�a�T��Wϻ��[q�O��]�n���߸�@1A���X/`qAO��.�Ā]�-���^���f��
�J���Tzk��4�Tz�wq�ر+ H
p���)��8�_��F�
ĩ&՞o���W��e(t�ф
����8&�2M�:.@��
-@�
�	�4\Q@,���G�����S4�
�
DWHq]�l���I��=\y at N�5侄��N8]�@Nh�=��-��q��k/n=��j��y^A�
�C����`�_���WW��r>+#�ID������{�4d�#
�
����w8 at h9��)�����b/���Hc%�|Q,UE�_�
��~ĥ�m|l�`l��Q
^P�/��
-b&�+?����\t	�)��{
8}E[�2Z	ڶ��%���
�=�8RԐOI}��Hi#�%�� �)G�	 ���}�
���B�P;�E��j \V!yFB�[LI����:�Y�
`��а��Uq�|�UQ����^tLN�j��l,�QL�|�]�DܔU'���K�>6nLk�-W��-Fk�[
Xˀ"�z� �j
,�*Q �C
�d���@Suu>�1z�c)�a���{<,
��1 
�\ �P���=
+��AuZ5	*�&��#�
چOr����T7>GP5���ZeCL+��T
v
->���~�JT1���a��9U
 �z0A�t��STw� �nXTw�&��-g��︑�jR��4��qk�բfwS�=
a愅�<�Q�:�N�{��ɔ��s;ᝪ}^�ҳ���L�C�* E��� ��oA�\)����K�ȥ��
�rw
-�r%HM�ĩ��8�.;8�n��=N��a8���s�������9p�sP�L����C��m�
�U?�Z�����t�Ӎ���E
�NI{':/]��o� #���[n'�����i�[W���ĺ�����n���9� m���)eg{m��p�M��ug�ͥ��4`�ל�l��h�8U�M�
�lc��̈�>	�6���`�V�h��`
�4��6AT�3��*ﳿ-#� hf��l��p���}��vN���ڥ�#60A��r��N��	gK6T^���&�DS����%��
>�8TJ�;%����>��>��>��>|f����1v������؀�c*L�	
���
�D��yd&�!
-;��kQ��{G��x�%�Q�
�`_������^�O�&��1�y+~�
Ch����-x�����ᑟ�
���hHbT��8�����x��ڤ�]���-B3@"t"�7K	@(!�2��\-K��[l��Y
-
�神"G���dP=��'N�"]U'��E/퓻/�̭^�J���i at Pp6��R>�c��:d��c2�
wO���
��E�QU����8~�u(ҳ
<��fn��Y����t�N]�:ԅ��ᵽ
|�E��l��O�N��"���(��!�����+
-��w�z֥u	���Zw�]��*`%� �Z;ԑB~Чm���#~�4>���`x��
��
-{��`?���f_L]��G�>ZW,�{'�f�:�@U��M�y�䍵]�P`�Xy�A�����_G;����_R���'r�ͫ<����
�ء}o3�7�i7]��r̕�۸Y=�D����'
� �j�R'�&�ha�8VX$%���M
��;wz�endstream
+x��Zmo���_�O�
\��L���]���ަ�v�b3�p��J�:��P��Ӓs�= @��=��y�

�y�����w�iIep{h
�� AIp�>�	A,\\���Â�y�o����,yژu
-���(���Ǫ�
�4J�7��,��~�
!
�j$e�W���4 Q�L���Ј0�Lx7%�}��
+
�4���.�J�F~4�&_57�
+��fb�(�2g����=# �r�Q
���O_p������V����
8e�?	>��9�]
<p1eK�4��=(C����0�U�M���:.ʨҏ6�3����6[t�f
qE�ݔ��
+��	Q��I�H��y����3�45�o�Oɼ(����C��.�
�mT�Y=��;������|J��ִ��*y�)�yZxDr�a��|o<Ba�4i���N�8��b��
-�-<�
È�c��GI�[�Q8e���A$䇸0ȭ()xW$D�
�M
��87�ڡЭ

+������0��ؙUl�ͬ��ݓ��	���)X�c ���qj�)�`V�x�?$�[l�mw��R��'�k�w&���m�־�Ӈ�Y%��̢��~]P�������� N�
.�;<������6
+A�	��c2y�T(;��9mHϧ��b�+hPD4�@6�Hհ]6�w
+��~�14���cU>�Lma

�f�
�^©N8]���P���7[�[u�e��,���|Z6��t�R7�3��Ƭ~��ʬ�Wu
2�H��G�����=2�8�P6&lS�u8@(9���4��v�D����Ha5��R�q3t�oj����zR8}i�+��Ogm�Jۘ��'>!H����>zd�Nh��*��H갎��M{ �(��H[��c*=H��
i�p���� t���{BC at wBOн�A�UρSF|��K��>��b����lf�Ee?����)Z�?�!P0!�>�����tȔ�!�E �#���lE�άDzy�,�
+��M�S,.�s��G�أٔ� �@�{N�ܑ1~�]�,d��K����0�AgV�.������`9�.`��rQc�!�KH�R]Bʄ<R��RT�����=�����R���!�*U�Q+n��*�R�R>*���|�w�(Wd�G�H�Gm��Gm�棶��Ր����\ȵ���<��&����Q=.v�P���OhGM|*H�烥#
"�O~�`d���+Q;��j��y��!���2�_#�[���*e�� ��H�L�Q#ӂ̭fv�'�
��
���;p����	56��^�� �}���I�_�NJ����Y�+f��s������U��N�F'xJ+
��&����V�hQ�bSC=^�fg������Q�*�F���ҧ�4���4���
ߝYIMX�O�ҢS`q.�R�yI)����)��Bญ�wS
=k��*���Nwt!&4S��x�*� *��5�M�utO��~(U�
+���T!���%�t-�E&�W_١M���eO6$[��/�M^Q6='�N\.\qȐ�
@/��.���.��nį�v�ÿq�7����W��
Ȼ�!��Ȼ��m���nu<x_-]�ⵓX
����~��+8��zKѪ�3	2�DL����9Ә�za��C3�
}e��hJ2�����ȩ�}���4�ޫ(�������^����"!�
���榊Ji``�=��\�-�	y��	��<A���Y�!�[� �Kw?b宲M�P	���<�qQ
��%����W�6��>&
A�_���4[�A粓*!
5��ɚ���Cu0�΃IMn���g�Aκϒ$���p�g6�&�����>�fnKI�����ϔ���O6�v	�lzO��iIyD]��V�uV�YA��Cw}��R��n�K�[�����0�o�]�oQ������L^
��	�v�!�n;Zػ��GcjK�y?M믳**Z�)f��H�)������p@���x�����]�|70�[��[
۬a*qj�J0h�	��{��
+endstream
 endobj
-8157 0 obj <<
+8122 0 obj <<
 /Type /Page
-/Contents 8158 0 R
-/Resources 8156 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8120 0 R
-/Annots [ 8164 0 R ]
+/Contents 8123 0 R
+/Resources 8121 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8129 0 R
+/Annots [ 8120 0 R ]
 >> endobj
-8164 0 obj <<
+8120 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8159 0 obj <<
-/D [8157 0 R /XYZ 90 757.9346 null]
+8124 0 obj <<
+/D [8122 0 R /XYZ 90 757.935 null]
 >> endobj
-7936 0 obj <<
-/D [8157 0 R /XYZ 438.9984 675.8614 null]
+7900 0 obj <<
+/D [8122 0 R /XYZ 438.998 675.861 null]
 >> endobj
-8160 0 obj <<
-/D [8157 0 R /XYZ 90 659.1343 null]
+8125 0 obj <<
+/D [8122 0 R /XYZ 90 659.134 null]
 >> endobj
-7937 0 obj <<
-/D [8157 0 R /XYZ 125.5542 448.5652 null]
+7901 0 obj <<
+/D [8122 0 R /XYZ 125.554 448.565 null]
 >> endobj
-8161 0 obj <<
-/D [8157 0 R /XYZ 90 431.8381 null]
+8126 0 obj <<
+/D [8122 0 R /XYZ 90 431.838 null]
 >> endobj
-7938 0 obj <<
-/D [8157 0 R /XYZ 438.9984 298.0524 null]
+7902 0 obj <<
+/D [8122 0 R /XYZ 438.998 298.052 null]
 >> endobj
-8162 0 obj <<
-/D [8157 0 R /XYZ 90 281.3252 null]
+8127 0 obj <<
+/D [8122 0 R /XYZ 90 281.325 null]
 >> endobj
-7939 0 obj <<
-/D [8157 0 R /XYZ 90 234.1213 null]
+7903 0 obj <<
+/D [8122 0 R /XYZ 90 234.121 null]
 >> endobj
-8163 0 obj <<
-/D [8157 0 R /XYZ 90 219.551 null]
+8128 0 obj <<
+/D [8122 0 R /XYZ 90 219.551 null]
 >> endobj
-516 0 obj <<
-/D [8157 0 R /XYZ 90 138.7825 null]
+498 0 obj <<
+/D [8122 0 R /XYZ 90 138.783 null]
 >> endobj
-8156 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R /F97 1822 0 R /F13 567 0 R >>
+8121 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F95 1779 0 R /F13 540 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8167 0 obj <<
-/Length 2755      
+8166 0 obj <<
+/Length 1477      
 /Filter /FlateDecode
 >>
 stream
-x��[k�����B@��D\�Fm����i�l��AZi��F�JZ���{9���c)
-�J:s��{�%9
����
�)��a\�&�
ܻ��� ��C�}�^�^\���g��T�n?�$C�
-ѻ���'1=�q�z at p�Y�G������C6݌G?��6��ӳg%`7��O��l�8ɦ��̀��
->����x���!U��p�g���@�F�9�+��`H�7-V9C�pS^�"i���x�-��
�g��|���u�!c
-	�To�0B�����S��Y��@�5�B�&%�ۋ׷.�6�\!�����ů������
��Ѣ�>`D�������0��p�Og�� �57�u�a��\��@S�.�hKs�Q���1�
�H����X+.���ܴ�1!tc�=Ȑ)�0�
H
��"��|���3h�4҂C�)G��"-n���U|���"H�o�"J��է����U�a|��mƓ�l�ܢ��

-�($)�׿̖���4k)��2�բ�ۂa�Z���z�

Z�0��U8\RC�'T at d("�����|6)n�]������y\w�R$�P�0V5��


�q��ގ%����`��B�<rd4�����l�˟n<^� K�dW�vPQ���\5���M8V��r�!�a�03�pa�~�@�^�{0$�dP�kLg�l����Y�
���*�
-���(��_�����q�>���)pj��Lv
��'�4��b���ϖ�$j�z��FjX鏆$�
]3C[��Ѭ�?f��������͇א
�YL
-I{B�hL�܃�&EUL5n2�68�m��i (yN��a5z��|�8�OK5/Km��OV�����ly_jm���u6���1�K� ��j�A-f��ޤ�
r�M��
a


�A�� �5K���%E�7x��%�U���q"��\��%Na��
Dn��t]��ԜV�
-��Ѱ�OCV��ͣ�f�><mw٢!vL"(��C%H0��H"j�s9��F˚K$T{�v.k�F��+X�����
&f����d�~r�]b�E ����9R�0ϑЊ�Xה"�`n���
-��k���u
g���gwd]Gh�u
%��� \m�k)�x��ᒮ�)
��J��<����$�*:��h�_1�N�h�F��+XNJ�
��g����Ϫkn$R
-���+l�Ҍ�Da;X��}�'v�]�
�
W�1�^a�	��Õlء�
;A�a��n�<�-w�����p�	�2����$Z�\j�mޞPݾ�Hu;؟߯!�yB�#��ouy���PF�v

,]۞��k;��ն���ڎ��k;Jh_�A�bM;�ۡi'4�v+k,�Q����P	
k�S�TYs,	;��=���`�j�݊�K�s��9�/F�������3xzq�ٹ���
Y��~qG	��RĦO���֠\PUs~��+|�F�n^���i�jٜ�C�Ȧh
*�Q�8��x��r���F���U�v��ç4��X��į��Өx��ش/u<����',�1	x<���_F��q�nN�{�V��}���^����/1ud� *�I����::�!u,6m������f��/�eZ��A1�p#F�(�L�`��BKJ�o�d)L��p��0Fۓ�8!J!�����a켁�cYÔ���]K����Zꔒx 
*��.`���
���@�nxt��ç4�vC�(DJ�pR�8�R�]*y��Ϸ��
-v��Ok %�M
!<��s���H(�Z�9XZ=���a���C�ݑz���a�e	�u-\�P)Da�k��a�O�hص4~�̦
&q*u�%(��>�VL�F��
�
��:�šӮ���)
��u���	���p����<�v����%�mD���N��C.
T=*%RT��ѳ��T��
=;XR�|��(W�V�v
-�I�g�ߝwV��
S�0;�\���S`R"�eu��
3Y��ɀ��]��<� �������8Tp�+'���y�^��
"��`�kzH��	�9����Pt�K�ɓ�qq���ݼW_�M��DP���W�����պ5�i�SML;g�ç�a׺�gn���3��oߡ��@o$E	��h9,I0���N!^ޭ��L�%"̰�Ar�D��v�e�/��h�
*�õ��G��G���Y�`�M�}��W��-�� ~�
|-���{
fvK��3}b�bj��`ɞ���6�-=/�{����� �0�P�>GT��s��/��9;�υ���8!��4�"$�s2?��-.��Ѱ��ݫч�q�,5H�8�CP����fװ��?z�R]M�>��&�~ ��i�˻i�^���&����1n�����x"�*P��k�󬐈��O�5�LD�E�:�W�|U>X̳
�q�sh���s�C�GT+��
,�9<����ⷭs�~�;
c�{���c}�D��6|^��F�
eʾu��lwل�;��v����U����n|�Z���m�q�;{�0j��u[�zň
.b=� �]��Hڸ\m��l0X�SP�nAv�x�V�6
�6F,���

�@Ks�Mt�ڀ
s�y�	<�NP����+
���Ź<�S]��n�ֺ2�Wb�ӧ��Y�����`!�SL��^V$�7K�Z�!�
Ε˗/K��f����Q{7^>Vwo�5�m�Kŗ@�qG�(����9WTF��0@ů���
Py�л�x�Tyw۰k��a�[?�����
�l��r�ޠ��j��_5�H�77��
�Ё\��3-��IR��Ӫ|%q�ڔ#1[—��}?��l
��js��endstream
+x��Yk��F��_�Ti��0��@�T꾢��f��T���˜�i1�g��

��,K�8�T���w��{�=���������78��p�#�4�7��
%����xk��ݷ�ؼ�l���
]�)6�p=�'�;z�7Y?~�
��
���ʟ�<2�L��6cxI�����tH��p'��¤��2��8%���<���U�[ΐ㈲��wx�t{��e�m�w������Y3�bL!!m�0
����o�<1?�
+;�m��o�Q�}�
{�|����
+Q[޼��=6&����sl�6���2x��u�
�Q�� h��8
W���ȨB��}�vl�D6U�[ُ�&��AL4еcb1%�h n�j'�(�:G�s�wJ�b6�7,��N�q8ӭ%:�kR@��K
+����x���q�⎗i�ziGK��;}c�C!I5w?��&~C)
�G
�]_@
+��c��l��	dK�&	�Q��������8
�"���|
���WQ�]^�e���b�
�C)��r�Q**m
+i$S����=�%�"M5��ύ
h@���wX`�ǾOs���a	a����o���#�,̖O�;
Z�He��Y�S?����Y�C�Zx6����f�� �<y}������3���0)�TZ;R�
O�����0���*'Zn�Kr��_����DS]�eq/��Øn+��>����
$��r
+O&�e9
5#�j�b��$���*���z�L�y��#o��
+~�f�h �
7t1���ŋ�� m�,�
�&އ��{(�'}�L�[{�
�n���>A����*�ͱ�����?
��p��]�/9�"���dt���q���h1k����IXI�3�� ]��uf�'�b�䗋7#+�4L�'�^^�8�����g��-�+&�
4]7ŗy��D[khr����ͤ�Bwfvq�F8��
™#:���	��O�^0_�sr�E<g�
�`ĢI0itp4�<��B8QTub<��}P^<� �$�7R�QY����V2�9-��0��������kœD�ޜd{�ȝ�=ʳ(��}
+�6���l��d
��#��}ڨD;hfv
�aXُ!��I��3 � Z�设Xvd�j{�}�"���Ƕ��n�%m잳S�o0G��Ϫv~�
!���tه���
#�=��*ő���Ȇ;�dfǧ��[;��k�ΰf���D���
bP�*�MG�I�&�	H�M
+aF�g��^ǧz��q���/�B���J���ԝƑ�/J
@��I�bķ��Rq�m�mR��8��m�/����bQ#Z�A;_c�u�>�W $;��Ii�J�>HBT��z
�_�ʕ��([		^����7ש��#��
+�~�c_Sg�ҍVeYE~�\�Iv
^|��N�H|�2�Q�b���_b��_F���^~c�
�b���Y���t�x0���E���`�� 
,�`��z!@�v �����<N4A�nvM�G�?��
+endstream
 endobj
-8166 0 obj <<
+8165 0 obj <<
 /Type /Page
-/Contents 8167 0 R
-/Resources 8165 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8120 0 R
-/Annots [ 8170 0 R 8171 0 R 8172 0 R 8173 0 R 8174 0 R 8175 0 R 8176 0 R 8177 0 R 8178 0 R 8179 0 R 8180 0 R 8181 0 R 8182 0 R 8183 0 R 8184 0 R 8185 0 R 8186 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 ]
+/Contents 8166 0 R
+/Resources 8164 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8129 0 R
+/Annots [ 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 8163 0 R ]
 >> endobj
-8170 0 obj <<
+8130 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 609.1476 225.3314 620.0516]
+/Rect [113.91 609.148 225.331 620.052]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6713cca018bed4091ffafb98ca4833d0) >>
 >> endobj
-8171 0 obj <<
+8131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.4251 609.1476 310.0683 620.0516]
+/Rect [244.425 609.148 310.068 620.052]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8172 0 obj <<
+8132 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.6073 609.1476 513.9963 620.0516]
+/Rect [428.607 609.148 513.996 620.052]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-8173 0 obj <<
+8133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 558.3552 225.3314 569.2592]
+/Rect [113.91 558.355 225.331 569.259]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_28f6854a94a3a7d58034cb1d51ae9c7c) >>
 >> endobj
-8174 0 obj <<
+8134 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.6686 558.3552 337.1212 569.2592]
+/Rect [252.669 558.355 337.121 569.259]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8175 0 obj <<
+8135 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 519.518 225.3314 530.422]
+/Rect [113.91 519.518 225.331 530.422]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4857c775f03d5b4ff084723eed2b5e31) >>
 >> endobj
-8176 0 obj <<
+8136 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.1471 519.518 313.5997 530.422]
+/Rect [229.147 519.518 313.6 530.422]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8177 0 obj <<
+8137 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 480.6808 225.3314 491.5847]
+/Rect [113.91 480.681 225.331 491.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1daec40615d5a93ce0de360865d93497) >>
 >> endobj
-8178 0 obj <<
+8138 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.6686 480.6808 330.4957 491.5847]
+/Rect [252.669 480.681 330.496 491.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8179 0 obj <<
+8139 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 441.8436 225.3314 452.7475]
+/Rect [113.91 441.844 225.331 452.748]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bc31d844172a202d43d08e299e26322f) >>
 >> endobj
-8180 0 obj <<
+8140 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.1471 441.8436 306.9742 452.7475]
+/Rect [229.147 441.844 306.974 452.748]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8181 0 obj <<
+8141 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 403.0064 225.3314 413.9103]
+/Rect [113.91 403.006 225.331 413.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3eb603756ab7be783cd92410ac7aed7) >>
 >> endobj
-8182 0 obj <<
+8142 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.4565 403.0064 320.0128 413.9103]
+/Rect [260.456 403.006 320.013 413.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-8183 0 obj <<
+8143 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.967 403.0064 427.433 413.9103]
+/Rect [351.967 403.006 427.433 413.91]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8184 0 obj <<
+8144 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 352.214 225.3314 363.1179]
+/Rect [113.91 352.214 225.331 363.118]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dca9874a75b5ba09114b8495a23c4edd) >>
 >> endobj
-8185 0 obj <<
+8145 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.9761 352.214 328.9184 363.1179]
+/Rect [254.976 352.214 328.918 363.118]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-8186 0 obj <<
+8146 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.7072 352.214 430.1732 363.1179]
+/Rect [354.707 352.214 430.173 363.118]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8187 0 obj <<
+8147 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 301.4216 225.3314 312.3255]
+/Rect [113.91 301.422 225.331 312.326]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ef3ebc0ed74af80cd3653321153360bd) >>
 >> endobj
-8188 0 obj <<
+8148 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.2144 301.4216 296.4683 312.3255]
+/Rect [276.214 301.422 296.468 312.326]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-8189 0 obj <<
+8149 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.088 301.4216 419.554 312.3255]
+/Rect [344.088 301.422 419.554 312.326]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8190 0 obj <<
+8150 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 238.674 225.3314 249.578]
+/Rect [113.91 238.674 225.331 249.578]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2b4e2b95a505c70e40370e121cd179a4) >>
 >> endobj
-8191 0 obj <<
+8151 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.1044 238.674 272.7046 249.578]
+/Rect [254.104 238.674 272.705 249.578]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-8192 0 obj <<
+8152 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.6693 238.674 314.3962 249.578]
+/Rect [281.669 238.674 314.396 249.578]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-8193 0 obj <<
+8153 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.143 238.674 430.6091 249.578]
+/Rect [355.143 238.674 430.609 249.578]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8194 0 obj <<
+8154 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 175.9265 225.3314 186.8304]
+/Rect [113.91 175.927 225.331 186.83]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b95eae83384d8c6b41b9ed8f9fd16704) >>
 >> endobj
-8195 0 obj <<
+8155 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.646 175.9265 299.8064 186.8304]
+/Rect [254.646 175.927 299.806 186.83]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-8196 0 obj <<
+8156 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.8722 175.9265 430.3382 186.8304]
+/Rect [354.872 175.927 430.338 186.83]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8197 0 obj <<
+8157 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 113.1789 225.3314 124.0829]
+/Rect [113.91 113.179 225.331 124.083]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2b3eb71543b3284872781f0b4481fe39) >>
 >> endobj
-8198 0 obj <<
+8158 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.0989 113.1789 345.3673 124.0829]
+/Rect [273.099 113.179 345.367 124.083]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-8199 0 obj <<
+8159 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.5302 113.1789 513.9963 124.0829]
+/Rect [438.53 113.179 513.996 124.083]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8200 0 obj <<
+8163 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8168 0 obj <<
-/D [8166 0 R /XYZ 90 757.9346 null]
+8167 0 obj <<
+/D [8165 0 R /XYZ 90 757.935 null]
 >> endobj
 286 0 obj <<
-/D [8166 0 R /XYZ 90 733.028 null]
+/D [8165 0 R /XYZ 90 733.028 null]
 >> endobj
-8169 0 obj <<
-/D [8166 0 R /XYZ 90 628.1129 null]
+8168 0 obj <<
+/D [8165 0 R /XYZ 90 628.113 null]
 >> endobj
-8165 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F23 2116 0 R /F52 341 0 R /F67 366 0 R /F74 478 0 R /F37 2043 0 R >>
+8164 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F21 2075 0 R /F50 339 0 R /F65 376 0 R /F72 471 0 R /F35 2013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8214 0 obj <<
-/Length 3194      
+8217 0 obj <<
+/Length 1626      
 /Filter /FlateDecode
 >>
 stream
-x��\[o�F~���S����/�v�m��6�7�[���H�M�n+�q��~ϐ���6CYv�<�?��xf�w��"#
����
-��h�<ã[���3R

��q�����#���rt}SX�
a*��z��9!��1��_]|>�.���
��׋ǻl��N~�?m���ׯ+�>�.����~��'W�
����a�����	�
-F3
����Z"j�F�yķ䫋1��[Z���*g�n�s����f1��Js���g��b���y�1c
-	��h
�0B���MV\Y���@�5�BV&��۳����ֹ\!�����ٯ���
��3���b� 0"����S�>,�>���۱���uN3�i��9GZ��
 "a�Gp�8[>cBf"�	x*�_M�֜,g��<�z�7JE�5�Y�l�ȑф9����mu�C�� b)��
����Z�~��)�1��=��!�aQ��h�

<[�v��5���z���)-�G��i���:��J��YA<�	�z������М$��C���)-��p�A)2�?���ԑ#A��zlCת4�e1��6����ɛ��_�����_�놴�L!"�Hj�+�he �ICh� ��Hap�%L
����P����
����
-�E)����q\,�-��5(*!稗����n=z&E�� �zV��jv0�v��t�ZaR��È� ;]�c*�S�8ײ�Mk%�pRa�q���ˬ������ʫ��4r�c��Z�9��#e���f���'�"�����uj��
'D�DRhR'ԯ�!F���O�h�=^�%E
-*�jөUh-[�[+԰"n�-�?А�E�Ǥ[{u�I�h���XM���SqH%�h�=&�D�_���ʩQ'�
-ՂQ�T؈�������f��\��e���}�9��H�U���i�w*�f����|�G��zU~������8Rҭ��Qc'��J@��
����0��ƐD��d�
-
�\�'�9\���D;F;�8!+��Vc5B�Z�Bk��j��_�
>5|ˮ
~�ɶS���n�P��i���P����5M+�/_1(�)��@8x�C����Ò�6^�>�N �mOT_�1e����T�c`"��e)]�U5d��v��V�J�6v��w(��
D�Nl�B�p;X���1���7�Y�<��rYt��:�2PP��b��y��
-H؄DdV!I�ۮ�M+��T]�<�
݁����d ��l��
�ʲP)��KʲPp�A��#�����`��H��7
��z�h�
U!X7��|�O1hٵ
�EP�8H��I��+Pj\��q�6
-�X��ľw�p�4����l����
��5vM�Rci����sc����[����m�D�� 0�Xnt�3��DAm�a���g�O O���ݯf�*�j��ݴR�o���?��/ޯ��ͣ�UR0h��q�]Ɏ=j
º�*�k�M	�pU�q��YP�`C��*X���Ήm�[,�A
-�_�%
1I�4QFY����x�6�Y6�l[5��HC�ħѣ��n�C
U��*�*K
	�u�E
I�u�L�2RM!�B
2a����b+eb�=O3A�^�~�sVl��.��V��z��n�*�5�z�
-� A
��KA����x��*Ԋ;8��T�s�Gc�w�t�O�89�!��!
ay|��i�yNo.��+����^��D��=*��F:
m��1��K��{q�#=��t��e�ʗ�˖� {S(@l�;U�OPkۭ&�m9�Mj���
I�n
{T��ƈ��t�l�2�-v�V
�0�0����	:m����6w[Q���c-D�O
�"ֲV���$�U�W�M��e������?1#P���'g��X�[�&�
,��
��c�׉}8l)Ve�\�fk��nk��,�U����4��g����&	�F�i
��%ƥĶ=Z6���3Y�{
U��DD�
�����~��l�]��9���Ue�u#8��lm��&���i�wk��@3d�$/
KLQ�)O5P
����`$��V�T6�%���:�t,%�4�
b���R�>����X����X
�Oj|B�hr��
�]��O�$���K�)�:��T��a�H
-
�ڧ$ȹp
��)��%��||��v��݃�Q�[
-n�v�,���jTg�j�&-�Meqo�=*5����9k��1	P-O�OB��t���ܕ�Z
�ҕŽ��חw��~u�u�6���G0��s��4Y~2�U/_~R�fD��,a2�>C����<$6<�#,���(M
y�t��l>�ź��q�:��
ӨD��1�N5\����y`"��%Ey��H�
-k���A���z��W�� ��g��%4I�
������Z'�� �jp����X�hd����,�@�� \�m]� �q5�3�t�y���S#9�����ރ��V��c� j
)�I%xh#&v�xW>Y�mW��x��2���/_�ۇ��}�'�������1
'�b<�6<�#<���(�C��Lk9�/���L�(ݱG%���@�7��h/�b'����X�;ؗ�e}b
Қ�W�\~J
*���S� άB�Į֋�	(��C�(��m�L�"�rp����)�
��V�&���+�3�0D8�=(1��Hc٘����
�+�k#G����	M��F���v�
-�Pb��A���_1�
�j6T��>)���
LD�ϡ�6�Q�����z1�OOT+��l�)o�v|\<�Ӗz�Ӗ��
�P�w�}Uؾ���]�g:��xXZ�'K`������"!z�
-F�
d0�:P#4C!��JX�Ǵ���q-��"���
-)
���%�fVn�P��_�n�!�C�S��
-1�SD��$��
��ʦ��(B�S�����"�Q��
-
,-����E1NΉbȭ�ﲄ(j+��C�D+v�Eq�
W��E
��+�x �����1�QQd�4��"+D1N�e�Ҁ�*_Iji"5�ۧ�>��ඔ4B6��ᢈ1���!�6b��`_�(�>�N���9yB�����m�Ug��a�)�I?�R����"�7�$2���q�AB0QϪz)mYm�\���)?V��S~��.���B��j��OW�Ӆ{�G���T�=<�
Tq��R���,k?=I��
��A�����_���Ng��i��j[v�5����ח�h�C��|�E��r�Y\� D �a�j�Z��Q�Z\j��*�x�����=��\o3��cwk��B]/NwP�?4�endstream
+x��Z]o�6}���S'5�Q�:`M��]�fI�h
C�i[�%y�
����)9�e�vҤ�$Y"//�9��26F6�t^]vz'3|�;�1.���
�a�_�Ib��%c��"�
�8�Y��d1�,迏�� [�x�Q0�,��b0
Š�Y�3S�QX_/��N�1 ua4�w��~UM>�(���s�K96_S}s�b�f��y��
V�a�&A�+k��OMO'A!d7�˘���]��u`��P�I����C^k����q����o��Sl�2����Ǎ0�|���<g`�|Ϙ��bæ
���gk�6]K9nL�A6�
fH*
�P�Kw���?�H;v��c|�r�2o��6
���s
�I^�m1
��5�13����1l���r��|�>�ͣpr�oQ��+T�<d;�F��Є�N/���������o/?���J�Եw�R��;�]�F�e`�F>�����b�9�Hŭ0�.�e�2�h
+�!�D����4��R�
�•!��7�[vr��b";�Ik^7��;a�F;�"��VR�a�A�skK��H�X��
u�I��nyy��
+a
D�k$p
��!���Ú ��h�v"�l���U�	�8YtC�0L�8.5�t\j
s��5�29>[Ѽ-Vo�)9"�d�-Y�e�E��=Pb��E����ʬ$�uPD�B�B�h��<PY�[O��es3���6M��t�~sd�F�SGk��4��8V��LcL��ٷ�������-(� LE� �l�K:�C|Z�J�J�n��r�����X$�Uϥte)�]F�4��m4���`�Z�`#�@�(o� �:uNɠ�R
2�lc�����畞� �i�@�n���
+_�
C2��Q��yR+K
+z(�	w�����g%��S"]gj�7謪��A䄷�ui�Q�u)��.�,��.�NE|�)�;�%��-.�8Фz���T?8M�pQ5���T o�0dsp� ϣ�
+B͌�\[o�#�ͧA(�u���� tP�C���+f�2��������Z�u��_u
E�$ͣdԒ��� ��Hi�8�x�i`�,�<���3Z�����a��$�g�v� !/���l��t.*џ��v�,����1�AYc���4�U&o�

�1�vv����a�c
F�kk�m�u���8=�[J�AQB
�V7j�"�����+7��T�P�+�I�3���<א���;1�w��
Q�?M�s��1�{+�Q�͆ ��E���D4����\y���h�Z}��(���m��oX�c� �"at{��7��j����{����QrSʲV=�Y��
e3)D�f����^{t(�>�����h�"��w��C m������
��>�Ja�
���D���~�[��Q1��r=i=�
+��
I_MD�������C�b.D��b���u�C�
ά�H�~
+�
*
#��?-{t���g�D�5��Z� \~0�8����,%�ވ�b����[	�ğ5���&?���
�B�]?�W��
������>��^�$�?�ĺH8��*�~��K��"�������,�X5���)�-�H1����� L���7.D%Bjz����2�K�)f�x�G�qQL_�z��
�9�%�4CQћN'����Bl���8��h�4U�!���^MP ��R�bE
+endstream
 endobj
-8213 0 obj <<
+8216 0 obj <<
 /Type /Page
-/Contents 8214 0 R
-/Resources 8212 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8266 0 R
-/Annots [ 8217 0 R 8218 0 R 8219 0 R 8220 0 R 8221 0 R 8222 0 R 8224 0 R 8225 0 R 8226 0 R 8228 0 R 8230 0 R 8231 0 R 8233 0 R 8234 0 R 8235 0 R 8236 0 R 8238 0 R 8240 0 R 8242 0 R 8243 0 R 8245 0 R 8246 0 R 8248 0 R 8249 0 R 8251 0 R 8252 0 R 8254 0 R 8255 0 R 8256 0 R 8258 0 R 8259 0 R 8260 0 R 8262 0 R 8263 0 R 8264 0 R 8265 0 R ]
+/Contents 8217 0 R
+/Resources 8215 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8129 0 R
+/Annots [ 8160 0 R 8161 0 R 8162 0 R 8180 0 R 8181 0 R 8182 0 R 8183 0 R 8184 0 R 8185 0 R 8186 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 8208 0 R 8209 0 R 8210 0 R 8211 0 R 8214 0 R ]
 >> endobj
-8217 0 obj <<
+8160 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 706.9727 225.3314 717.8766]
+/Rect [113.91 706.973 225.331 717.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3b5db50d397654bd1a8d4067d90f7419) >>
 >> endobj
-8218 0 obj <<
+8161 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.434 706.9727 390.8551 717.8766]
+/Rect [279.434 706.973 390.855 717.877]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8219 0 obj <<
+8162 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.5302 706.9727 513.9963 717.8766]
+/Rect [438.53 706.973 513.996 717.877]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8220 0 obj <<
+8180 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 644.2318 225.3314 655.1357]
+/Rect [113.91 644.232 225.331 655.136]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8cdc72dfa85aed4e613f780b02e69e92) >>
 >> endobj
-8221 0 obj <<
+8181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.3332 644.2318 363.7543 655.1357]
+/Rect [252.333 644.232 363.754 655.136]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8222 0 obj <<
+8182 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.5302 644.2318 513.9963 655.1357]
+/Rect [438.53 644.232 513.996 655.136]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8224 0 obj <<
+8183 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 593.446 225.3314 604.35]
+/Rect [113.91 593.446 225.331 604.35]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8225 0 obj <<
+8184 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.0711 593.446 276.8776 604.35]
+/Rect [236.071 593.446 276.878 604.35]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_187bdab1051f58af280af66645ce1fed) >>
 >> endobj
-8226 0 obj <<
+8185 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.2148 593.446 415.6359 604.35]
+/Rect [304.215 593.446 415.636 604.35]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8228 0 obj <<
+8186 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 554.989 162.6572 565.5194]
+/Rect [134.114 554.989 162.657 565.519]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b3ad0a7ad694f4a7724504544aff49fa) >>
 >> endobj
-8230 0 obj <<
+8187 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 479.3145 190.7379 490.2184]
+/Rect [125.095 479.315 190.738 490.218]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8231 0 obj <<
+8188 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 479.3145 261.8505 490.2184]
+/Rect [191.236 479.315 261.85 490.218]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_38a5f3efb1fe599046d2ed48223bfa41) >>
 >> endobj
-8233 0 obj <<
+8189 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 442.5002 190.7379 453.4041]
+/Rect [125.095 442.5 190.738 453.404]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8234 0 obj <<
+8190 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 442.5002 262.1594 453.4041]
+/Rect [191.236 442.5 262.159 453.404]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_46f912e8b181561f68062e183005c8bc) >>
 >> endobj
-8235 0 obj <<
+8191 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.2161 428.8994 279.0725 438.8047]
+/Rect [218.216 428.899 279.072 438.805]
 /Subtype /Link
 /A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
 >> endobj
-8236 0 obj <<
+8192 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.1871 428.8994 391.2318 438.8047]
+/Rect [313.187 428.899 391.232 438.805]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Affine_Dimension) >>
 >> endobj
-8238 0 obj <<
+8193 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.5227 406.0594 210.3842 416.5898]
+/Rect [173.523 406.059 210.384 416.59]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c2583843b139ce11b842155b35d60332) >>
 >> endobj
-8240 0 obj <<
+8194 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.5227 369.2451 210.3842 379.7755]
+/Rect [173.523 369.245 210.384 379.775]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_294875fd6b469d8949f08c24b5893b6e) >>
 >> endobj
-8242 0 obj <<
+8195 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 332.0572 202.9218 342.9611]
+/Rect [125.095 332.057 202.922 342.961]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8243 0 obj <<
+8196 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 332.0572 248.5799 342.9611]
+/Rect [203.42 332.057 248.58 342.961]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1dc5b9db43a16365ba0773a96fe1b799) >>
 >> endobj
-8245 0 obj <<
+8197 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 295.2429 202.9218 306.1468]
+/Rect [125.095 295.243 202.922 306.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8246 0 obj <<
+8198 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.42 295.2429 296.1808 306.1468]
+/Rect [203.42 295.243 296.181 306.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2fe458f016db5eeeb95bee46f1800533) >>
 >> endobj
-8248 0 obj <<
+8199 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 258.4285 209.5473 269.3325]
+/Rect [125.095 258.429 209.547 269.332]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8249 0 obj <<
+8200 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0454 258.4285 261.8309 269.3325]
+/Rect [210.045 258.429 261.831 269.332]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6bd361a7c7e187c0ff63c62894e741f8) >>
 >> endobj
-8251 0 obj <<
+8201 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 221.6142 209.5473 232.5181]
+/Rect [125.095 221.614 209.547 232.518]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8252 0 obj <<
+8202 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0454 221.6142 309.4317 232.5181]
+/Rect [210.045 221.614 309.432 232.518]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_425f248891aec4ed7800bd92334fd7c1) >>
 >> endobj
-8254 0 obj <<
+8203 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 184.7999 205.6917 195.7038]
+/Rect [125.095 184.8 205.692 195.704]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-8255 0 obj <<
+8204 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 184.7999 261.3124 195.7038]
+/Rect [206.19 184.8 261.312 195.704]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cc8d0378d1cb13b5ddc04dd12cf18ebe) >>
 >> endobj
-8256 0 obj <<
+8205 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 184.7999 332.1558 195.7038]
+/Rect [288.65 184.8 332.156 195.704]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-8258 0 obj <<
+8206 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 147.9856 205.6917 158.8895]
+/Rect [125.095 147.986 205.692 158.89]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-8259 0 obj <<
+8207 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 147.9856 261.3124 158.8895]
+/Rect [206.19 147.986 261.312 158.89]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3be7b3a04406453631aef24b817565a5) >>
 >> endobj
-8260 0 obj <<
+8208 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 147.9856 338.7813 158.8895]
+/Rect [288.65 147.986 338.781 158.89]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-8262 0 obj <<
+8209 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 111.1712 205.6818 122.0752]
+/Rect [125.095 111.171 205.682 122.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-8263 0 obj <<
+8210 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1799 111.1712 261.3025 122.0752]
+/Rect [206.18 111.171 261.302 122.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3e2a76d26bef272d0a13fa3bae9a5c2) >>
 >> endobj
-8264 0 obj <<
+8211 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6396 111.1712 330.4624 122.0752]
+/Rect [288.64 111.171 330.462 122.075]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-8265 0 obj <<
+8214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8215 0 obj <<
-/D [8213 0 R /XYZ 90 757.9346 null]
+8218 0 obj <<
+/D [8216 0 R /XYZ 90 757.935 null]
 >> endobj
-8216 0 obj <<
-/D [8213 0 R /XYZ 90 726.0541 null]
+8219 0 obj <<
+/D [8216 0 R /XYZ 90 726.054 null]
 >> endobj
-8223 0 obj <<
-/D [8213 0 R /XYZ 90 612.5275 null]
+8220 0 obj <<
+/D [8216 0 R /XYZ 90 612.528 null]
 >> endobj
-8227 0 obj <<
-/D [8213 0 R /XYZ 90 573.6969 null]
+8221 0 obj <<
+/D [8216 0 R /XYZ 90 573.697 null]
 >> endobj
-8229 0 obj <<
-/D [8213 0 R /XYZ 90 494.3811 null]
+8222 0 obj <<
+/D [8216 0 R /XYZ 90 494.381 null]
 >> endobj
-8232 0 obj <<
-/D [8213 0 R /XYZ 90 459.5891 null]
+8223 0 obj <<
+/D [8216 0 R /XYZ 90 459.589 null]
 >> endobj
-8237 0 obj <<
-/D [8213 0 R /XYZ 90 422.7748 null]
+8224 0 obj <<
+/D [8216 0 R /XYZ 90 422.775 null]
 >> endobj
-8239 0 obj <<
-/D [8213 0 R /XYZ 90 385.9605 null]
+8225 0 obj <<
+/D [8216 0 R /XYZ 90 385.96 null]
 >> endobj
-8241 0 obj <<
-/D [8213 0 R /XYZ 90 349.1461 null]
+8226 0 obj <<
+/D [8216 0 R /XYZ 90 349.146 null]
 >> endobj
-8244 0 obj <<
-/D [8213 0 R /XYZ 90 312.3318 null]
+8227 0 obj <<
+/D [8216 0 R /XYZ 90 312.332 null]
 >> endobj
-8247 0 obj <<
-/D [8213 0 R /XYZ 90 275.5175 null]
+8228 0 obj <<
+/D [8216 0 R /XYZ 90 275.517 null]
 >> endobj
-8250 0 obj <<
-/D [8213 0 R /XYZ 90 238.7031 null]
+8229 0 obj <<
+/D [8216 0 R /XYZ 90 238.703 null]
 >> endobj
-8253 0 obj <<
-/D [8213 0 R /XYZ 90 201.8888 null]
+8230 0 obj <<
+/D [8216 0 R /XYZ 90 201.889 null]
 >> endobj
-8257 0 obj <<
-/D [8213 0 R /XYZ 90 165.0745 null]
+8231 0 obj <<
+/D [8216 0 R /XYZ 90 165.074 null]
 >> endobj
-8261 0 obj <<
-/D [8213 0 R /XYZ 90 128.2601 null]
+8232 0 obj <<
+/D [8216 0 R /XYZ 90 128.26 null]
 >> endobj
-8212 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F37 2043 0 R /F67 366 0 R /F101 2128 0 R >>
+8215 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F35 2013 0 R /F65 376 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8270 0 obj <<
-/Length 3663      
+8271 0 obj <<
+/Length 1853      
 /Filter /FlateDecode
 >>
 stream
-x��\mo#���_�OW�y|	�~h��	p�\�%	
Y^�m+K�$۹��w�4w��Nv�@���4�yv����K6���
�e�Rϖ�gt�
������/�������^��������i<hA(Wj����9cD��
F)��9gt���..ߜs:߬>~��������b���/���^�V/�V������������؟�����0���9	�|�?�=H�.��W��
���+
^�
�*qN��?�^��Z�v��w�ϫۻ�b_���.�0Dicf�
�k�򶺩�+����PRK�����¿{�����\i�J�����_��n�wg�g�����9�g�g����ُg�~���J'Fo�b�� ]���cV�JŒ�0$8��d
���b�h��,�����s5�>�aԙY�0��Yaq�����a�6�UVjb������`�6��c 2�
A���ѱ����
�n��אּ�V��$�*
-�Y;R���n?v�� �:�a��`�hi-�
�(�;���h09��Q�6?PCZ�Pm]���](9��
�"��~{_�F=�p�FӮr��R����f��ؾ�>���(����
�ӥ��n����]4hɂ�ޅ�w�C�3�b�$�
�?Ի��m0Zlυ�(�QjN�2�,$�~�-]ICv)Ի��Hj
R��
���a�ޑ���{a���;�� ��P��������9S�j��2@�n4��`��p~i=����
���S
-?�Q(�h�9
-�j��pb�sb��g*{7V�
�/�
+Ҁ�T���QTa4Й�4�8,�@9nGi�2
��N��2��o����n�ڼ����]�6��z�Ci8�ʩ� 
T��i^��(hG�IL��D�
-�c
�hOڄ�-�-��G-4��w���/R
�_9��(Ɵ�z�#
4����?�� �
D
���ծj��/�Y�pdE�A�"Ķ��C��o����-���]w��gʁ�%ǘ�3Ù%qXb�r܎YҰef酝�,e ���,��z����nn3Ja`
3m9	�
-���de��R�.�N������̯���ߑBl
�Є�B�2*�%Z!���ezpo^}�J�P��
q�r+�Q �h���ꄅ��=��Z_��a
-Vi��?�x���
�3�c�
ouEw�.�L@����`�Q(�2]*m����h��e�@�H�@���E�쇝@����].��>_�Y
-Tj��;+,<,؄�����#�NQ��8!�Q���s���+.��"B�g��z�z��
CJ6�W��bHy��͑�n����,��N�
-՝�-Ww/��.�����ܯ��s
f=�n��;+,����$:H�1��4�Z�;�Q*��������(�4m֡�kZ��
���Zө�BM#qCM��k�vBM# 2�
ASG�E�����A�	�\~g�E]̬0��CM�q�� %�^g�!��z�8g��
�W�L�����Ӣ��h� �A)�eU���^/�S�MZn�$bK\x���
�>#��1�r�#0K�el�H��n����
-���9j ����ĈbN��d(������/R��4�f�
;3�
�%6,���0
[f�^�)lX��m�
�k:=����:�K93��t֕��0
�HX�w�`�G�LO�I��`d~=��v�˯��V�]�Yg�
���
-�
-!�$�x�MA�j�
 a2O�����z�ē���'+�ձҭD���z�M������s*A:� �Dk�D3� �%�,��2
[&�^�)Y��
�U��x�򘓣�����h� ���Ҵ��h�����
�0�:���9��y�V������P���zᩏ5vf�s�3s#�D+���4	1���25F3�S�jD�j�=D� %Q���ͱ�C�>�������O5����2��;+,4|*��>̅
�*��& �#0r�����Ӻ��h��p
-t�

�H��ο�F�MMH�G��~�}˛��Ϗ@|Y����_*&�	�V#��@������.�Y&$�Um�f"�# r��2!�$F0�L��\�d���s�pU�
?��ҟ1�m �MA��N�U����S�Y5�Q�U�:�
-O�ج�e�jX�U�E�U
;�
3(8w��QNq�ڠ�;}�nύ���ʔB�w��w)�x����
5�܆PW͞����94�;��g���'��!$���O�<>�m�\솻a�����@n�yX��ÇOM�ۻ�}�o/$�	��rC�m4�ar�3��F�$7�q;���-ʍ^�	r�
~�u��(^���(��r��q\nLK@"7�0r�GʍR.�Q�F
-b�ܘ��Dn��~����$r�
"ʍ^B0�1-��(���
)7J�H�FD�Y&��Y�`�Lx���ma}����H�0Rڙ_��j]m~�jVڎP�NF��1X!�����^�Ww~��d�E
��<����(���w�����t�[Ua�F3�ۗ���f;�ؾJ׎�#ZW��E{	U�yu��,�?n�\�6/.���~�Ş{�f��K
�7��^�q�g�a���_�� d~�W��?�LJ#�
���~'�fb�����������h����NVds1��i��/�=���DH���#�#Xr��'��l9�
-a`a�,^��Q����LD{D�w��S�J,�
-�����2ᵟ䶧��o۳����<��ĥ#J��
!M}�O4C��Rt�����0+:�Ix�􁥨���KƮ��*g��	�F���Z#�q��<I�H�Q��<��U=�aXb<���O�GP��
��

*�=��W�iM&�UF3�_^g0
KFc1�љ�:#qX�帝�HÖuF/��Q����3��
uF9r����:cZ�Q���=Ng�2�3���H!L��ґ�"���:���Dg�AD��K�3�e"�E��#uF)��(��:#�ı:c��#�v@�Fq�����E���
��/�c2�L
5�������������&���
��=Ui�>
-J+��M&�4��L��c�y��zLJ�g�1�҂�y��
RZ0v��3�ǔ9�d�Qi�L�Z�"
&U�0	w�����#�r���KL;���?��i�k�I�h���aA�!q���-n�쇝����
O�G�	2� ��\|g�Ŷ���0��_sr�sSS����;`�pee9/�
-�1r8*�w��)
����Gi���>��r���y�׹~��P��`�g]m[:���z��u@����y
-��2΢{E�-e�ȗ'X.at;�lg�l�D��
��a��
;�`� 2�
�n���{R��m��Q������2ҘA���Xm��"�c02��v�
�5r1/�
-�
,Cu�D�O�U�4�M|���3�[�V8��}M$�x�@��E8ŋ�������j�lj�0K�z����]�tP:���G��Q��oO�ꒌ���
%c��y2��$��+c�
��v��)�d��>�ɧ7�PkK
s�͵~���jP%J�vCĻn�
U|�o���?�1���U�?��V�t��b}�X��='ugy�v[�&@m�~ p��X��c������IP��fݫ�&��}�"�F{�I�6����~���׏��d�#���nK��뻻�댮�"T��5d��(��˼���d�Mw���f׈���b��F�bb
����endstream
+x��Z[o�6~���S'
Ë(�Ű��l
���^�m9�fK�$��~�/�%[�$Q�5��E�
����'�عt��~�����]�
�d@�b�H�CX�M�O.!�	�`��3�`7����̣��f7W�$���Q
�7�^�
+e�f7��x�
Ǔ�Y��fpSz_.~9}GH� 
����
m�GS����2Y�xC^z'�c�
��
��
Iɫ6?��6�z���“ԍ�YTƪ�s�X�x ���60��4��ӱ��c�0<�]2�U������R�
^?DTpg<|���	���`ĤpV����)�ߙ�q�� �T�f�8n��(�!�H�X�L������CGY6��ʟ��:v�k��'�F_�l�V�>c�៘H���([ժ��w!ux�:�>��1$|^ů\�ia��F��a,�el*��d(
HU)���tb.�tvc��GqR^A��S[%�H�,�Ӳ�+h�R6LH\ ie�3Ƭ�{X��_%�A��c�k=1���E��]�hJoO Ԃ�
0�L�r��#܍�"~(8��QV^�
�$xX0�.A2��`An
���
e��f�e2�D?�eE<yL���>|�c�����C]|0J�G��-��PM|�&;�!'ǐEx-�k|h�t,l*��&ڹb9*b�i{(ze�
P��6`1�\���,S�h|����F���+K�r8ͳ�.�5񵣫35��R���~_����oNo�X��/hoTU#1�ttCxs����DqQ7��k�������G� a'� ���o��e��DQ��}

�q�o%E���By�Qb>�oF�2�<����m���Y֙ˣ�Ŀ+�;ۻz� �$�:9�Zi�(�.׎v�[k�5���"d3�&�z�M��ZK���҂�5���(�%����a_k�x���0e*
�U�
���1ʇo�.�(�,�,�>��S�^
c:l��/{@�1��v�:���� �(�7 ��3���cD���k2O��"5F�1S]
�Tc���rO�,p_g�T"LljR9]
��0��?�'iz���t�*b�-��0�����r~�iB|DBv�4az [...]
�qTln(�� Δ\G��}�Vh�Ų��
+��v�����U�}��y���V��N�'a��B�,T���
բ��Jh`�˕�R���6%�DŽ�!�Lg�Bl�/�ƶ� �@��������$u�I�͉�
ʼn��aN�J�r�O�LνH��^N<�'jzR��Z��D�{����sr�3ilv)F��E�
+F��nF��A?���ƞ�4�&ÚѬk��&ixh�uY3�i�I
+�K��F��� ��!��aa�

oqY oD�AE��
+�,��g������)"��S�-��»�T_��M7
+cs[N�]�C�'��ɩ-#;���'ܱ;:Jb�0:���Q�=���� ,�1�[I("CX��>x���rߧ���Q��x�!��ٴ���:r�>�J��:m�'�r��<�$��^O7������G���m��P�P��0[�y2.�y�'
^�N�nM�<�Oca
^uaja\?Z�W�5 ��w��$0��[�V��<������1�	���\�����+C'��˰�ޛ���>�ru.9 at 2��(9��+Q��_T��bsn׬��
�g�9�����"�P�a-#���h��3�:��T�.~�?P��)<#�.��Ǹ�fx;�կ
ϵ�3D����r���t�Z�q��i��QR�.��V,7�N@ޅ�)�iu�n��������I�$�(q��
+endstream
 endobj
-8269 0 obj <<
+8270 0 obj <<
 /Type /Page
-/Contents 8270 0 R
-/Resources 8268 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8266 0 R
-/Annots [ 8273 0 R 8275 0 R 8277 0 R 8278 0 R 8279 0 R 8281 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 8294 0 R 8295 0 R 8296 0 R 8297 0 R 8298 0 R 8299 0 R 8300 0 R 8301 0 R 8302 0 R 8303 0 R 8304 0 R 8305 0 R 8306 0 R 8307 0 R 8308 0 R 8309 0 R 8310 0 R 8311 0 R 8312 0 R ]
+/Contents 8271 0 R
+/Resources 8269 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8129 0 R
+/Annots [ 8212 0 R 8213 0 R 8234 0 R 8235 0 R 8236 0 R 8237 0 R 8238 0 R 8239 0 R 8240 0 R 8241 0 R 8242 0 R 8243 0 R 8244 0 R 8245 0 R 8246 0 R 8247 0 R 8248 0 R 8249 0 R 8250 0 R 8251 0 R 8252 0 R 8253 0 R 8254 0 R 8255 0 R 8256 0 R 8257 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 8268 0 R ]
 >> endobj
-8273 0 obj <<
+8212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 719.9123 183.8239 730.8162]
+/Rect [145.299 719.912 183.824 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad10819182a33870e4b0a7e3b2bca564) >>
 >> endobj
-8275 0 obj <<
+8213 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 683.6284 192.2722 694.1588]
+/Rect [145.299 683.628 192.272 694.159]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1190fcf4794305386f8475f9ac51ce00) >>
 >> endobj
-8277 0 obj <<
+8234 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 646.5974 241.9353 657.5014]
+/Rect [145.299 646.597 241.935 657.501]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41c9a9dc63e253ac5ed21cbdad4e2640) >>
 >> endobj
-8278 0 obj <<
+8235 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 598.9811 213.1634 609.8851]
+/Rect [145.299 598.981 213.163 609.885]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db466cb206f1d16d24257a838d130cf2) >>
 >> endobj
-8279 0 obj <<
+8236 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.5006 598.9811 351.9217 609.8851]
+/Rect [240.501 598.981 351.922 609.885]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8281 0 obj <<
+8237 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 564.5877 189.9009 575.118]
+/Rect [145.299 564.588 189.901 575.118]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_df7bd95cb0014251d60d1fd82c1d3932) >>
 >> endobj
-8283 0 obj <<
+8238 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 527.9303 193.2289 538.4606]
+/Rect [145.299 527.93 193.229 538.461]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_fb7b94b681c4d195080fa81ed1480cc2) >>
 >> endobj
-8284 0 obj <<
+8239 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 491.2729 187.6893 501.8032]
+/Rect [145.299 491.273 187.689 501.803]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e386245235cada70fc797b0747b0d326) >>
 >> endobj
-8285 0 obj <<
+8240 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 491.2729 226.6926 501.8032]
+/Rect [191.505 491.273 226.693 501.803]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8286 0 obj <<
+8241 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 456.1322 228.8952 467.0361]
+/Rect [145.299 456.132 228.895 467.036]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99dc4fb442b60dc9c694d7abc853a3dc) >>
 >> endobj
-8287 0 obj <<
+8242 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.2323 456.1322 333.4819 467.0361]
+/Rect [256.232 456.132 333.482 467.036]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8288 0 obj <<
+8243 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 421.3651 229.5026 432.2691]
+/Rect [145.299 421.365 229.503 432.269]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8128b9910f31bc963842e48c44a863e) >>
 >> endobj
-8289 0 obj <<
+8244 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8398 421.3651 334.0894 432.2691]
+/Rect [256.84 421.365 334.089 432.269]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8290 0 obj <<
+8245 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 386.5981 187.2643 397.502]
+/Rect [145.98 386.598 187.264 397.502]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a03cd3ea1b11c1c8dbdf462959d79df) >>
 >> endobj
-8291 0 obj <<
+8246 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 386.5981 293.2128 397.502]
+/Rect [215.963 386.598 293.213 397.502]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8292 0 obj <<
+8247 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 386.5981 371.1477 397.502]
+/Rect [325.131 386.598 371.148 397.502]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8293 0 obj <<
+8248 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 386.5981 455.7274 397.502]
+/Rect [409.711 386.598 455.727 397.502]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8294 0 obj <<
+8249 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 328.917 187.2643 339.8209]
+/Rect [145.98 328.917 187.264 339.821]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6d33d9f1d987efe6e333c7ad1993dd5a) >>
 >> endobj
-8295 0 obj <<
+8250 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 328.917 293.2128 339.8209]
+/Rect [215.963 328.917 293.213 339.821]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8296 0 obj <<
+8251 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 328.917 371.1477 339.8209]
+/Rect [325.131 328.917 371.148 339.821]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8297 0 obj <<
+8252 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 328.917 455.7274 339.8209]
+/Rect [409.711 328.917 455.727 339.821]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8298 0 obj <<
+8253 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.2349 316.9618 220.0576 327.8657]
+/Rect [178.235 316.962 220.058 327.866]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-8299 0 obj <<
+8254 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 271.2358 186.3482 282.1397]
+/Rect [146.717 271.236 186.348 282.14]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b73df10027395d3b2c9fbd3f3e77944e) >>
 >> endobj
-8300 0 obj <<
+8255 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 271.2358 293.7723 282.1397]
+/Rect [216.523 271.236 293.772 282.14]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8301 0 obj <<
+8256 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 271.2358 373.3671 282.1397]
+/Rect [327.35 271.236 373.367 282.14]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8302 0 obj <<
+8257 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 271.2358 456.8371 282.1397]
+/Rect [410.82 271.236 456.837 282.14]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8303 0 obj <<
+8258 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 213.5547 186.3482 224.4586]
+/Rect [146.717 213.555 186.348 224.459]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_5358c9f367ad37e650d411ab5e558e50) >>
 >> endobj
-8304 0 obj <<
+8259 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 213.5547 293.7723 224.4586]
+/Rect [216.523 213.555 293.772 224.459]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8305 0 obj <<
+8260 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 213.5547 373.3671 224.4586]
+/Rect [327.35 213.555 373.367 224.459]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8306 0 obj <<
+8261 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 213.5547 456.8371 224.4586]
+/Rect [410.82 213.555 456.837 224.459]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8307 0 obj <<
+8262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 201.5995 218.4038 212.5035]
+/Rect [176.581 201.6 218.404 212.503]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-8308 0 obj <<
+8263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 155.8736 180.4964 166.7775]
+/Rect [145.299 155.874 180.496 166.778]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_888509fe116790d0b9a267e614be10ec) >>
 >> endobj
-8309 0 obj <<
+8264 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.8336 155.8736 319.2547 166.7775]
+/Rect [207.834 155.874 319.255 166.778]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8310 0 obj <<
+8265 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 121.1065 213.1533 132.0104]
+/Rect [145.299 121.107 213.153 132.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_78e60691cfc6b6b52a34cc7952380a84) >>
 >> endobj
-8311 0 obj <<
+8266 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.4905 121.1065 351.9116 132.0104]
+/Rect [240.49 121.107 351.912 132.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8312 0 obj <<
+8268 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8271 0 obj <<
-/D [8269 0 R /XYZ 90 757.9346 null]
->> endobj
 8272 0 obj <<
-/D [8269 0 R /XYZ 90 733.028 null]
+/D [8270 0 R /XYZ 90 757.935 null]
+>> endobj
+8273 0 obj <<
+/D [8270 0 R /XYZ 90 733.028 null]
 >> endobj
 8274 0 obj <<
-/D [8269 0 R /XYZ 90 700.3045 null]
+/D [8270 0 R /XYZ 90 700.305 null]
 >> endobj
-8276 0 obj <<
-/D [8269 0 R /XYZ 90 663.6471 null]
+8275 0 obj <<
+/D [8270 0 R /XYZ 90 663.647 null]
 >> endobj
-8280 0 obj <<
-/D [8269 0 R /XYZ 90 581.2638 null]
+8276 0 obj <<
+/D [8270 0 R /XYZ 90 581.264 null]
 >> endobj
-8282 0 obj <<
-/D [8269 0 R /XYZ 90 544.6064 null]
+8277 0 obj <<
+/D [8270 0 R /XYZ 90 544.606 null]
 >> endobj
-8268 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
+8269 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8325 0 obj <<
-/Length 3654      
+8328 0 obj <<
+/Length 1818      
 /Filter /FlateDecode
 >>
 stream
-x�͜Yo����)��P�����$�l��qlo^vM�,b%R�Pv��S=G�{z�klZ^�0ģX����_U�
lA�[8�0�'�^�o���
|��3�}}�_�ys��{��8����U�A
B�R�7����a�/�t�����p��|y��r�p]m��n�
V��o��
�������js��6�/��.���x����X���$�����Z$�%\���7�\��w�{�jī�9���	��כU]��ޜ;��n�nV���nq!�!J���l8�X�W�U�lY�[���ZB��\
-.��g{��+
�V	������+]l`7�pF�pV->�J�s|q{&���ܜ�>�w�� �V:1���˵�X
��bTf�!�ah%ÐP<�3Dsn��o�/����1���,b�y��
-��5�
��}���da�&�)6�:��l^�z{L@��+�׏Y|M���!��[aQ��c�
�M���
����>�e_
	2�#��̘
&�����Q�Bn����F��

�l3G���1Ts]Wk�ߺ#i{���/��U���\����a��
;���\�egP����Jy�!�۩�%L��|�v*Y���
1���%
�q��1H�6
�`�i��ʧ���
-�q��Z~���v�v�k߶��j�H�v��.�/�۷�Yc���n}�_������ؾz�z�^�7۫���M�ףh�h�E{��F߀�I��� �SW"�Vz+�*Š*�
S��b�݌a�:�ҸE�4戂�W/a��\6��a��eY�P�`(����95�C�O�l%
-���jfzkD��g��M7
-P[����l�<[(�q�g놪���U)�)(�}P̼�?o6u�z8"ղ�0�D��2T�u�[�$�?�X��
�]�DYd�g�7@�h
-���\o�P�7Š�h�
-��+?�D��8��)�0Q����z3
B����q{
�aq%�瀨,"��U
*_vw����%�FZ$!�
-�
���I0iE(���)	����oO�����r�]@3E-7it�Ppk�<�P�������S]
�:�T�뛠��j��}a;*��DPR|6x	^
-
-�cJ=9�`�	fZ#�
-f(�b�x!q;x%aQx��g�
�����w��~R�P�Y̠���`�(ఫ��њ�YpF��D{LF�C�T��
�XVXtɒT�џ�ߕ�� �`p�"%f�fiW��u�о�_�E�@&}B� �w#
��2�U5[JB�-5z^	�zkƫ�
�U�īrܞWqX�WI�9�*����6[S��D��		V�.���
�IrF
vnJ�=&#�[&�`�~HQ�Ao��
R%�Ic��� ��I܊|��՛M�ZӘ2�H �Ga�+���y�Y�t0�`�!�
-f(�b�p!q;p%aQp��g�
����:�`�+��yV���0����OwZ�(���L{LF�7�����X�f���o�c���BD�Z�" \u�\�B��>i
+�Q W0��q�0�g	r�0�M`l��,���]��r,�FA�̴���bK^�
�Y��r�
fqX
fI�90+������
k���t���`�����(��6Le
���`��������L�p��V��)Q�
v
�5�ϛ���b%��fXCV��Մ)�f��k�̤pD
-��k`�["�����N��a�f�=��8͒�shV���[�C���뛪ܧ)A��y at 1)�
-��
�
�x��q

#'�f$أ
-�~�
&��er���BD�'::
8ˠV���X�(��7K[������4��`65,q��� & ���F}V0	��-�`��)vX �SSz����"��E��
�H
�"���C�� ��W:�)X��D��dd~��S@������\+D�`АZ�S��e
	K��8
��(�Q�Q0��)c|ʱ�t��ha�I���X}�2��@
-����
}�n$Ö‚���a	k�=��8֒�s�V��-]0�Zf�e9!�"�/�3����0}�
7%�܌{LF�w
ޠC2֊r*�"BHC���nR�sw�5����z�9�Mg�0G�s�%~��#~FR����OO3ޜ�w�z3�f����q{��aq�%��Ь,"�;5{��?�B��=\�
��tg��
a�31;#�
S���G3����`��0
g�p����G	g�����z2Y�?r>�m_AOƝ�s����u��
[
f(�b��!q;�%aQ���g�
���*�w�\�lj��9議��_3ʆ��s~5F�������_��?猱�����M~A�/�V�r
-�"���ߨl Elq�N��ּbl���w�G��%�hЕ�*��Rj����:{LN�����v�9l}��^��{�J-TQ��E�BT �����%*`v=J�f��t�J���W?Wj�����]�>v{c����ۤ���M�Mj�|0%̆e����X���z��7�U�媮��v�MV>HS�"E�7��F����7&�K�
E:觯9�߉(����^s"���S��ל8,^s��sjNYD�wv�)���Ç���~r��u�ڹY����oVx����ȩl
����d+L�q@ �(Q�츿|[]F��ڔk��J��I���E�uVi!RҌ"M�_I��Pg�hz�Y�koa.��"�%�����4
�%�1���FN!�&��b�� ���)����惺:���%���&^�(T�z�<E���+�~P^���G�I
H2`G�A��F?��f����%s���5_��2�%�/8i�ЯR��ף3g���
=��,vX(`Hܮ�%a����Q��_�&�ա���/�A��N�����`������A2�
��8��f#�c22�͍��"F�8��[�f�1���`�Z�W2A�
��YI�?xB	�}jX0k���R�#, �}�C^4u�(,:���w���a[�gL
��(t�9�B
�00
��]�j��	
-��pu�ÈE�	ٚ)�W�����Q
G�1�9�`�s4rX�h9n��8,��$�
��Ed~�"~wW
.���w�I�Z����T+D�_��RT0j�����`����~F�w
z�b^�"ȟ2���D�Q鈂M9	���F{�����Ͱm_6c��Lm	���!fr����U��w��C���w��5�R����
PZ?��Kƍ�
v�2��ȍ
��[��#7[|$Wv�#���q�^n�.+ϝ��֣O��F�rN�"�_��oՒ}1�^�tC����`����~4{���R at SW�K�BI���t*c/d(}�y��G���ـ�z��΄�Ӏg�I٫�k
٫��+M��g�2�^#-/��<>�(b���kz��q�ꄽ���?��n��A+��O
1���ѢI廾�PO�_��
�'�
샖��y�쳟T�fԋ�"�
�+�^n�x��x�U�nQhzh�C��	-�zy���GC9��)�����#�'�Md�
A�e���g
�'=E�y*
J���}��8���P4hJ�K�o���Q���@�e�$��m�8���Ouu [...]
���&hk�~�ۢ�c�����"�E��Bmm��o���x����>| ���w�=>���y���*��$��mPo�iI2#���i��w����&���m�X�
E�숔��,endstream
+x��ZYo�H~ׯ��
D�

�&��
�xbϾ$��61�aS���O5��,��b:��l�P�U_}U�M��x����ߗ��w�y!
+%���bOI��}���>!�����S��(_E��)�~����8��?'Wy�o_��I�\n�t�Y�x~�OI�g�PL����
!�	���B����5ّ�`DYX�xK^MgT`�-�n>�
�
+CQ���Q�i�,#c�h�Ӑ�z�^F��ݼc
+	x3PF(*�|�׺\�N�
���s5$�Ҿ���r���[�R�\!o��|�
{1���È��wW�Zy�2�.��ɯ\�
+wM&pw!D!	=MJ�f�D�(���yglx�e�꽕'���P���������OX`�'NG�,5�N��z�NQ/ �$/�K��4�����^X��Q)<�vW ��)nu�K:���
�I�U�(�2�W
LT$��TǨW�}�v00c��Y
W��XG`Й ���tj�,u���X��XIzc�s��^]���ͻM�(��q��mT���Ѷ����z�z�+-����Y�+\���;u���
+���fz�`�KoN�a\Dq</�GIZ
�Hz38�w�f�`��r�[���t 
+�~=�^t�� �7��p-v&�nE�E�Z�a�E�(Qu
�!뙇#��f�����V��e���
�爊QM�k�S���%��36:u����{���B�P��)��
��
800#�G�A
���p��B���o�M
�
�|��y
ZϏj
���.�nPљ��Y��6x/nz����Ä|c (H&8{R>x�X �p��ʆJz��_

H��|�D�ҧ�)�� �8)�Ab聉i2�}�*�PE��H u��O
(&���x�@���
�H'�8/�?����D $g��R�%G�:�h)�Dh�~
4�0��0{Lq��9/7L��`4��F��a�[^��'�@��1ڦ��f��d8��sG�C��`��H��0j�x�]	H�5:��
�d0p<
:��PV�݌x��AT�H��L'6i��A�)!ķ��W��Bd K���l��6M`��@8�
�`�]&i�'ֽ��J�/�m!i�����p
��H�B,';�
�^�r2w5n [...]
+f~��7j�l~��)u����:��j�9�G8�
�sX�c8�D�����u�7���7�U�/�.�����L�_�6�S�8��s��:��o�0��'�J��{�D=���Itܬ
����D����?�Y`%��|C�K��_�unty�7wz�������|�@�v��ʚR^3`6�@�a5��f m³Zg�N���4Ǻ�;B���TY}^�glt�4�s2�dش���"P�3'S� �n�o�k�ϯ�M��G~���ݖ
+
��
���@�
L�U������^���a)K���4��k�Tȏ���_���w�\ϵ�_Ѣx`�{`��
*>����sh�-�U�fy�\�'�� �
@�
+��,+4�Ͳ�r�3FC��k�1)\'���VHQ��'iK�%�v\HG�F���
�z��� Ǣc�ܯz�A%�|����tS�b�C�Xe�,3/�u��
�����*�np�a���
���͑��՟�I�9��FB^ȝ@��+�XU[���'�����=�ft��T�Z��(�D�k��>ۡ Ol��t�o�k�,�XlB�s���-����iR���b�r��ۢX�>;���C
�6i��QR���˳����Q� ��`Y�VY�dc�rUS�F#�
C7
+endstream
 endobj
-8324 0 obj <<
+8327 0 obj <<
 /Type /Page
-/Contents 8325 0 R
-/Resources 8323 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8266 0 R
-/Annots [ 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 8346 0 R 8347 0 R 8348 0 R 8349 0 R 8350 0 R 8351 0 R 8352 0 R 8353 0 R 8354 0 R 8355 0 R 8356 0 R 8357 0 R 8358 0 R 8359 0 R 8360 0 R 8361 0 R ]
+/Contents 8328 0 R
+/Resources 8326 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8129 0 R
+/Annots [ 8267 0 R 8288 0 R 8289 0 R 8290 0 R 8291 0 R 8292 0 R 8293 0 R 8294 0 R 8295 0 R 8296 0 R 8297 0 R 8298 0 R 8299 0 R 8300 0 R 8301 0 R 8302 0 R 8303 0 R 8304 0 R 8305 0 R 8306 0 R 8307 0 R 8308 0 R 8309 0 R 8310 0 R 8311 0 R 8312 0 R 8313 0 R 8314 0 R 8315 0 R 8316 0 R 8317 0 R 8318 0 R 8319 0 R 8325 0 R ]
 >> endobj
-8328 0 obj <<
+8267 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 720.2859 161.6774 730.8162]
+/Rect [145.299 720.286 161.677 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41d30675a3c28980af0f087b06a1f4c1) >>
 >> endobj
-8329 0 obj <<
+8288 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 634.9155 205.7516 645.4459]
+/Rect [145.1 634.916 205.752 645.446]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ffd7d0678df82882b006ea7b02771f98) >>
 >> endobj
-8330 0 obj <<
+8289 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.0887 634.9155 276.595 645.4459]
+/Rect [233.089 634.916 276.595 645.446]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-8331 0 obj <<
+8290 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 600.0463 236.7449 610.5766]
+/Rect [145.1 600.046 236.745 610.577]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c6434b8a020aeda5828830fd4b639277) >>
 >> endobj
-8332 0 obj <<
+8291 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0821 600.0463 307.5883 610.5766]
+/Rect [264.082 600.046 307.588 610.577]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-8333 0 obj <<
+8292 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 564.8035 212.377 575.7074]
+/Rect [145.1 564.803 212.377 575.707]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3a8f10409a9fd73afb6691686d6862c) >>
 >> endobj
-8334 0 obj <<
+8293 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7142 564.8035 289.8459 575.7074]
+/Rect [239.714 564.803 289.846 575.707]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-8335 0 obj <<
+8294 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 529.9342 243.3704 540.8381]
+/Rect [145.1 529.934 243.37 540.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_201ee4c814267695f31b30be833917bf) >>
 >> endobj
-8336 0 obj <<
+8295 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.7076 529.9342 320.8393 540.8381]
+/Rect [270.708 529.934 320.839 540.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-8337 0 obj <<
+8296 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 495.065 216.2524 505.9689]
+/Rect [145.1 495.065 216.252 505.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1d52cb88936eb0f5bde559b39f8ec42c) >>
 >> endobj
-8338 0 obj <<
+8297 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.5896 495.065 328.0421 505.9689]
+/Rect [243.59 495.065 328.042 505.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8339 0 obj <<
+8298 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 460.1957 247.2458 471.0997]
+/Rect [145.1 460.196 247.246 471.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_faf0bc4f0e0a036dbc3852b3e4490243) >>
 >> endobj
-8340 0 obj <<
+8299 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5829 460.1957 359.0355 471.0997]
+/Rect [274.583 460.196 359.035 471.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8341 0 obj <<
+8300 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 425.3265 254.8275 436.2304]
+/Rect [145.1 425.327 254.827 436.23]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ea7119974f9313e4c93908a2955c4186) >>
 >> endobj
-8342 0 obj <<
+8301 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.6431 425.3265 343.0957 436.2304]
+/Rect [258.643 425.327 343.096 436.23]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8343 0 obj <<
+8302 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 390.4572 209.6269 401.3612]
+/Rect [145.1 390.457 209.627 401.361]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0c2c96efcf10102068f754c608a12427) >>
 >> endobj
-8344 0 obj <<
+8303 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.9641 390.4572 314.7912 401.3612]
+/Rect [236.964 390.457 314.791 401.361]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8345 0 obj <<
+8304 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 355.588 240.6203 366.4919]
+/Rect [145.1 355.588 240.62 366.492]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a031a8e65176b8bd80d2857bd9a68b6) >>
 >> endobj
-8346 0 obj <<
+8305 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9575 355.588 345.7846 366.4919]
+/Rect [267.957 355.588 345.785 366.492]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8347 0 obj <<
+8306 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 320.7188 248.202 331.6227]
+/Rect [145.1 320.719 248.202 331.623]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afc9294d3fb5f2c0fd8d4e4d22c283b6) >>
 >> endobj
-8348 0 obj <<
+8307 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.0176 320.7188 329.8447 331.6227]
+/Rect [252.018 320.719 329.845 331.623]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8349 0 obj <<
+8308 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 286.2231 193.5774 296.7535]
+/Rect [145.1 286.223 193.577 296.753]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7ea45b608af772cd69e2c23d7d62a3cf) >>
 >> endobj
-8350 0 obj <<
+8309 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 286.2231 232.5806 296.7535]
+/Rect [197.393 286.223 232.581 296.753]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8351 0 obj <<
+8310 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.0592 273.2213 248.8445 283.1266]
+/Rect [192.059 273.221 248.845 283.127]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-8352 0 obj <<
+8311 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 240.395 193.5774 250.9253]
+/Rect [145.1 240.395 193.577 250.925]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3ad1db1c5141d2815c0d849d12548e4c) >>
 >> endobj
-8353 0 obj <<
+8312 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9146 240.395 277.6909 250.9253]
+/Rect [220.915 240.395 277.691 250.925]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-8354 0 obj <<
+8313 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 227.3932 252.6774 237.2984]
+/Rect [195.892 227.393 252.677 237.298]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-8355 0 obj <<
+8314 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 194.1932 223.4647 205.0972]
+/Rect [145.1 194.193 223.465 205.097]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_676b331ee61606b74be4cd1f90756839) >>
 >> endobj
-8356 0 obj <<
+8315 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8018 194.1932 362.2229 205.0972]
+/Rect [250.802 194.193 362.223 205.097]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8357 0 obj <<
+8316 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 159.324 229.5525 170.2279]
+/Rect [145.1 159.324 229.552 170.228]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0ea21bf85aa2e90c449435cfedcef181) >>
 >> endobj
-8358 0 obj <<
+8317 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8897 159.324 368.3107 170.2279]
+/Rect [256.89 159.324 368.311 170.228]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8359 0 obj <<
+8318 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 124.4548 266.6729 135.3587]
+/Rect [145.299 124.455 266.673 135.359]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db0fa15c5f30fc4be6a94ce2606208ef) >>
 >> endobj
-8360 0 obj <<
+8319 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0101 124.4548 405.4312 135.3587]
+/Rect [294.01 124.455 405.431 135.359]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8361 0 obj <<
+8325 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8326 0 obj <<
-/D [8324 0 R /XYZ 90 757.9346 null]
+8329 0 obj <<
+/D [8327 0 R /XYZ 90 757.935 null]
 >> endobj
-8327 0 obj <<
-/D [8324 0 R /XYZ 90 733.028 null]
+8330 0 obj <<
+/D [8327 0 R /XYZ 90 733.028 null]
 >> endobj
-8323 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
+8326 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8379 0 obj <<
-/Length 5149      
+8397 0 obj <<
+/Length 2796      
 /Filter /FlateDecode
 >>
 stream
-x��]mo�8r��_a܇�
�8|�$��.{�fw��
���7���u�w�����D�%Rk�o7t�K�GE��)�(�s
-�ع��F���7�g��3���gl�sob��x��k��
q���:
Zʕ:�x��
ƈ��
��^|{���j�����Ӌ��鮽ݯ��Y_�W����z��<]}��>޴�W��/��������>���׌E
r�9	����%H�.��W췗
W��+>|�nB��9�k���������x��E{��Y
[�����9o�N)�]�]�������ZB�
T
-��׳?|
�G�JC�U���������B7���:�_(a����3Ʌ��9��쿂
��҉�nF �k
�%����bTf�!����aH(
[��9��A
o����0��y�0o�K���FK���y�۬i��ʍ��?�?2�� �|
D�Qܮ?]ru ;�
-����v
�3M�l� U™%�Bo��@��mǬq����/�G�����"
��jj�IC
-���l� U$��	�d
-��X�M�O-$
)�=0�'[f�hi-|�
�Bn9��HG
>Z��e?n��hɟ�BX��
���
w��,�P��U�N�J��L$$a(�?�e�w�C/�  sM�
\m�FW�K�.v?��W��n�y�i�t���/���0�q}���\
z>�
=��~�^�eIJ7���	=L�d�&�("L�,�

�9�8�=8�wl��'d��jk	��U�n���Xa��V�
�n����Z*FM�� _���:��0����������
��H��ES�
-
-N�7��. �����-�C��"�E�d���]��7�	$�q
�l/U 
A���p@)��0���tr�PLr�U�|
T�A}�޶���~zط�gwY@X����* �Q�P3
�Z
�?=Ķ���
�f�n�W��j}<|��Y��i&��h�����S�o�18�v��_oW���w��ݶ�щ���4P|��"_/��=a�Lؓ�p��	B��1
������(ac#̏H/\����SA��=U��0;����p�Y`��
��"H�,P����i��r�s,���������pO�
�7=� d��-�����~��Ӹq��99ɉƙ#�� c&m9�o��q
as�.�Z�]�b��وl�w
-=�yho�xy{��p�4��J�ʜ@���5܄2�
�b)�>��"13���Y�����d��x�:K��XJ�]�R�f�Y��%G-HJ/^�0֚QD�,
�1L�M�*88C�C��
�X
-�2"�W���Y�bx����K� (�`26h�R`&ϱH�
狭��k�2�
Y
-�<�x�2A�BC,7.1f)h��,����,�*��0�"*��W�bi�nf�tG8��l�0�DW��;���2�Wn=כ���!vV苆� �V�&HՐG�t2E6�� �N����u� �]�u���u�K��@�< ��:�(eT�u��'��eN�8=��K���Gs
ea�S�ޜ�(Y����u�X���
-
\����u�fK
�R@`H�..�w�5�^D�ݶ��f�?��Ղ��pf�E��
-��
`$J�c�� =�J��6	�Uc�u�c-�ҩ�	�T
����
-�
�g�3f���KM�+Hr��
٦[d�����z�ɩx>�+�!H� X�h��ط���=n:1���0�H�$�W��z�?�h
X�/4W��$��@P�|o��Dün�%�Q`uA,eu�ͱ:C�Q�$tB0k#V׵��(\���5R�V�:5�/��]�d 	�
�=��u�ar* ��T�zn�ex�J7�z���g�[��ĺ��#QS���D�a�im�V�[�r��Ŧ����P�T��3:I��
3�@��p�Xړ3껙&R\�0m���%3��}/,t��Kp�`, ��.���5PbK�y@5Ι�Bc�/4�N`�~����4Ae�쌔 ����PiRxٰ�I�
Y� T����<�@���B1��r7�>N���BJ�3i�%����h�3Y=��X�<��H��9�'p�&P at v��ȇy��
 �6�]65�[�Mhb��o/��L��L��LDh�LT��� |��N1�'� T���:�M!y�
-��{��\ŰbAֶs�X=y����r��
���&
-K1nz>y��5��b�0�n��Sg˖	RP
H�F>ꑩ���F��%�W��V�gSZ
A�@@�������#ɼ
�]���!��.�$5�
�Ec�
-	��
-5�2��L��v��$���dz�
bX��#

��Χ
w���M9q�}��jb��i
3�b�A�W�i�xB��D#RQ�3�T�fH �3{���)-D�8��&'�k1�ΤZ��d�E�''I4&�i&
�a�
-�vܼk���^ʴ�r��r\�6���
#
�/��Ls
��^&0_�a@�Xʲ$� gBA
�����
�c�
-���
�T)_�c�M�3�1�����S/�1�c���l�̴�gX�m���	1
��C�N@�	��5��e&�0�j:#�X�6Z���Oe+'8��h����|_0A�3��3Od3/6��y���e�SӒ)I8^%5V䋙�w/��bn>Ӷ � _��ěg
Rj��l��YG�f
��B�Qiw�:�fK�Ԣ�K�.�gt�5�ޗmY\s-�%HUq%0���w���B���L�����l
-/T� E��I ���
��*")�K��k2�KR��$�FR����)��r@�2�r��%�
�jM�ob�¤�R�F�[!j��d%׃T���Y��x��;��>|�����G:Jdߋ�t��R�.��b-��)@��=���4D�O�c�R<�o) �nK�2��!tR
-�4��)��+���-,d�l!ӕɾ�΋c��B9�ц�!�a\�������0s��f���̈́�y���җ��了2
p�~�b
�Y�-7Ƙ2x�"fh��E�1k0\�k�g��
O�]�J^��/���=�Z<��ip�)�lWl��@͵- ��9ܒ|s^,�%�J��*/�xq��!�&���b

���Mx� _��}�j|W2V�L����	�Cf�1�"��Yj� _C��]\�k9�eS�
-a�l:
��In�'�!|��v���%���`e+�+`�0�B��xX�6XA ���i��
��` ��o䂹��7��s)ջ�4��`�
��
/U�9���"Q%�B
\L{U%N��@��Xz
L��%r|
B���q0�Mš���*��V��/3�䀇����3�!aψ�;���`��ʬ
u�<�������/��т
`.R��6�b]uM�ʡ��YC⌧��%��j�Y��d/��
w������O*Z^F�5:0
�Sq�h�*��7�S�-c��$��o�
��F� U��k[B�%�d��gӂe5��i/Vgӑ��.���t�li��q�i��U�N�"Ӌ(�wx�d�
-��G
Q6I����+>��dQK� Su�=�|�Xo�(
wH��X`�5o�`��EtPZ:������6	�P��E,Q����l/T���^��|����jT�1k�P���8�u.d��ֹ|lL�J�K,V�s	b��
3��b�.�o��U�.����b���`�4R�O��lrT�ku� .
-E�ք��'2���qQ����LQ=$�
-�f�s���A��M��(�hF,GԖ
�X]
a�����c>���f%{���6~��ą4WS�����	8�~j��U*Ae뜸���mIZ�R
�����T~�\Nd �
�`�Lhr��!<�:.�����t�?,;�}�P<	��
�>��e�9e�Q��Pd�
dk�ڗ�Sw��5���ҹa��je�A�J�c��^iw��I��3�|�t�L+�����R��Ep�lg����c1HU a}���zc�H�c�$�W��.8������R5 ��)�|dD�
df���0%�Z%�W@�z�wpr��e�T����87�	?k������W�ezO��B��j��X���_�Ǵ�P�^��c
���xYX�W�$�bQ(=��N��
)���ϰ/Nj�[��3���p��
��|��r�	�G4�x�Y>�
���Hk�Tot�ӂ3Bx�4
�~K*=�-c��(����Z�M�s�>C�0	5��<0L��pU*�<���2�u��yy���X=�D�����yRok
iJ�
F�s膅&�IuR�U6��	R��4�{|��[��ni@�}�7�I��V�
��>RX"��v=����>�=mz��+ 2��1���
-<��a�q��w�c�A����)�
���gv���.4F�������ǵk���Ue��
- <jn��)���ڙ���5�(�Q�FAl��9��I%;��Pl������9
�P;Ų����c�27AL(�[�#�
�ӋW
�i����'�T�����	R����
[��u{�Ҷ���axt�Խ3��3j˟?��P�G��
:{�tL校���+���VzR���Dy26^��x�k�^7���8{��ʌ!F�Z�h���Xa!�V�
Bk�l5��M/�����������f���������$�HǕM�*h8
���4�]1$���HcA�|]0�t����e���>�V���${���ﲾ�hAa*ܽyU�	#N��ۈ�|
Y��^�>#��	Xn�O����L�^2� 2����1@f�C�/Ƒ�l� U��O�':���{�x��օ��5��������l� U��+‡�&x�=]j���;�@
x�22ՅÜ�����]�7$
~���曲�뎍��6G:J�΋���nT�8����F1m��#���o��yJ�Kɂs��F�7){}R�r ��
 �e7����T�
�>%�`0YG�dr�̓! x)��?���ݣ��O�
��
J[WC��i�4|�ݮ?=���+���������^�7�����V7�ī�n`��
[
-������uog�eU0V�c4q
]�rF��������W�W�f����z��˟���.��8x�m=@'�#�j�����'�])/�*Y�
'�0������O�W�
4���0��fz��LJ�����
��v��'��������s�T�,t\�2,�����a��'?b�w��'�[����|�k��V��endstream
+x��[[o��~�� �!���x[��l
+l�E�x��,Z�m����d;��ΐ")�d�u[ �Er8�̙��;n
���/W�o%

2����&08P�!l������dJ0���	�a�]E����t�t/���]r���O�_��$Z.�f���<^��o'D�)\�'�\�x����@�@��N&IE'�e&o�|;�R��7�����-g����^
��/����v514�W�e���k��1�����a�7̇�&���
�ax�dT��?\]�zA�.Hf^��"��.>�����1��
<f�V�
�.�����~�py�.�($�
E��R8�)������T�
>d3�,�3����+�!kem�Hn&T�0B;��&�]׻�
?c���z����hZŢ����	z&�'��˷�F/y�~(����Pd�v��s����}�&ߘ�[L#]��g��_ �Ԇ#�u�f��\��t��$y�h�DF��v�E�~IV�>I����kt��x?��t;a*���|RX�]_��]_���#!� M􀱨Dzh�$M�橡x�?G�x���2�2J�*��_C���X0F�2��u<�������n���sB�śD����Aȃ���� I��+�]�����/�m
�5]7��*���˦���i\
j����l�������L�l�a�F� ,���og���u�J��>�~w�g���U�&
�	GD����4kވ� 
+�1v"���C����V�(�bne8�`yX����
�3Ӵ�~Հ���[1���v�3ɝ~s��;���V  ���=z(-��nd�c�rвA81H��aҚ�!
�Q
3	���ދ�~�+�"�[��6�<�o�
w���AQ�QA���e
�)��&
20�g"� H�������o#��
0b
+����FVf/�Fu0�}�L0���+0�6�[`�FV�*Q0��h��d�lt	4F��ч�q+�ޝ��[�v�[���@���n�-�D	YӚ��b��c���u~$�yx��m�L�
�z�7q�9 fV �]5� [f������:]6鲍����
�}_��{����h�R*~]�ä�2j���S�Lh��V
zq�E�#�Q4zL�wN�  {�F�-�,�8

��k���6����@+s�U幒 V����

!�0%��	x�!�=�ao;]	�(瀄�VhB	/}���#8���р�*WMYpi �#��4�
�-�9�-0"���,UQ�y�#��<� ��3��^�o=�+���U���As�q`=��T
S��<�g���앉uT��'�
�:]tR
+�S���� �ex{��.�η4/Tq�P��Bh�,�HAĦ��X��������h)�9,dec!%E
��
+RR���m�Y��yn�ӳ��Kc$�ל �Sz
& ����d6���D7�dHh3�6���:Z�ZXZ�l�EK�A�n�����9���BX��xI#��@^�2��Tߨ.j"@\\D?��򮔽�\^�2�!�("��MkZ� ��A��JA
�5� ��� {�BA���~��*s�v*=���X��dGK�<*{Spd�5z��|�`��7'�IlX��vܟ������u�S���l/M����5pR��5m�v�1
38��q�]��dB�A�0-A�,a�hj����<�-��Z�3���-��>r
�	1L�����( /ɀ �ǶEU,@�.��]��`�0Q`���$�Dh�t��Z��
�t�f����hp6���*�qvz�`_ ɂ��;��%�}�l{�!�
�oT�[\fL��		�y���Nm#c]�f+׺��ȝ�O��yPg
���� �1Q���0�{�]����N�Ys���p�6��
-� Z"��P�&HsD7$w�]r�E�5��Pc�8��uj�KC|g����}�Z#���}�Hm�W��Y-�rZ��������"i�6K�U���ó�Bk/DhE���J�z!��
�"X_!���Z��;�,>T�
�@xQ�,��
�IDx����Z2���GL
+@`q^!�ʅ��ɚ�T�Bv)Y�S�@X)zV��tVcR�)/�M�T}�j{�DhtX�m�`���'��HI6FΌ��2�K���<LJF
lŷ�xڂ��Y�mV�Aei6��׍�C
=���?�=����FB�q��J��	m�90�[���1� �V�g��3H��@A�u-0):
BA�$��
+bgBsRM� ��Jv�CR#!�I2�c�$4e�s������lD,��r9����
D���
+N�Aÿ,��'#C��q�
C�U<�=�ٽ�#�����У�Ӭ��w&�C��2��G���V2V����,�������fa�f��L��u���u�I
e�#.L�SH5����
�o�>��`=)���Y�9���K@�17M�I��m2����2��o�6���
�03���"p�&��f΃
�����Rc��O�m ��j��1f�1܅��U0l"E�ޯ���o
Z>��1���*��@`�
�7����w�.�)U
X��>���
$KG�� YN�~�O�7>�ف~1�^�9��
V·N���
ڄ�>�O��:�
+
����^d�#o՟�'�#]$7O5���Y��OB
	{
<�������U�)���C���GH%�N`$w�W�N="_��
ъ�̏�N|m);��.~���?L�w�
��9>���`����q�?� �$�I����F��� ����l

����KX,���~�������w�~�l�(�_n6��Z R:�@�p<�&��*�z$k��q��$�TC�
+endstream
 endobj
-8378 0 obj <<
+8396 0 obj <<
 /Type /Page
-/Contents 8379 0 R
-/Resources 8377 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8266 0 R
-/Annots [ 8381 0 R 8382 0 R 8383 0 R 8384 0 R 8385 0 R 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 8395 0 R 8396 0 R 8397 0 R 8398 0 R 8399 0 R 8400 0 R 8401 0 R 8402 0 R 8403 0 R 8404 0 R 8405 0 R 8406 0 R 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 8418 0 R 8419 0 R 8420 0 R 8421 0 R 8422 0 R 8423 0 R 8424 0 R 8425 0 R 8426 0 R 8427 0 R 8428 0 R 8429 0 R 8430 0 R 8431 0 R 8432 0 R 8434 0 R 8435  [...]
+/Contents 8397 0 R
+/Resources 8395 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8129 0 R
+/Annots [ 8320 0 R 8321 0 R 8322 0 R 8323 0 R 8324 0 R 8346 0 R 8347 0 R 8348 0 R 8349 0 R 8350 0 R 8351 0 R 8352 0 R 8353 0 R 8354 0 R 8355 0 R 8356 0 R 8357 0 R 8358 0 R 8359 0 R 8360 0 R 8399 0 R 8361 0 R 8362 0 R 8400 0 R 8363 0 R 8364 0 R 8365 0 R 8366 0 R 8367 0 R 8368 0 R 8369 0 R 8370 0 R 8371 0 R 8372 0 R 8373 0 R 8374 0 R 8375 0 R 8376 0 R 8377 0 R 8378 0 R 8401 0 R 8379 0 R 8380 0 R 8381 0 R 8382 0 R 8383 0 R 8402 0 R 8384 0 R 8385 0 R 8386 0 R 8387 0 R 8388 0 R 8389 0 R 8390  [...]
 >> endobj
-8381 0 obj <<
+8320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 719.9123 217.1088 730.8162]
+/Rect [145.1 719.912 217.109 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_15b21e990e26976e615a7d3244ed843e) >>
 >> endobj
-8382 0 obj <<
+8321 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 719.9123 355.867 730.8162]
+/Rect [244.446 719.912 355.867 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8383 0 obj <<
+8322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 685.05 201.7419 695.9539]
+/Rect [147.984 685.05 201.742 695.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8b2ee24610cb804238f33581093948c1) >>
 >> endobj
-8384 0 obj <<
+8323 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.4419 685.05 243.6294 695.9539]
+/Rect [208.442 685.05 243.629 695.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8385 0 obj <<
+8324 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0792 685.05 371.3288 695.9539]
+/Rect [294.079 685.05 371.329 695.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8386 0 obj <<
+8346 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.4576 660.4701 271.3786 670.3754]
+/Rect [224.458 660.47 271.379 670.375]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-8387 0 obj <<
+8347 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2877 627.2737 212.7678 638.1776]
+/Rect [146.288 627.274 212.768 638.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7999968db9fb568980215d2c84393358) >>
 >> endobj
-8388 0 obj <<
+8348 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.7715 627.2737 252.9591 638.1776]
+/Rect [217.771 627.274 252.959 638.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8389 0 obj <<
+8349 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.8959 627.2737 375.1455 638.1776]
+/Rect [297.896 627.274 375.145 638.178]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8390 0 obj <<
+8350 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.4006 602.6938 277.9276 612.599]
+/Rect [220.401 602.694 277.928 612.599]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-8391 0 obj <<
+8351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4429 569.4974 250.0993 580.4013]
+/Rect [145.443 569.497 250.099 580.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bb5709426ac80aa0bcf907b4f1d4a577) >>
 >> endobj
-8392 0 obj <<
+8352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2582 569.4974 289.4458 580.4013]
+/Rect [254.258 569.497 289.446 580.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8393 0 obj <<
+8353 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.7722 569.4974 379.5123 580.4013]
+/Rect [307.772 569.497 379.512 580.401]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-8394 0 obj <<
+8354 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 569.4974 513.9963 580.4013]
+/Rect [436.747 569.497 513.996 580.401]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8395 0 obj <<
+8355 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.3043 543.7085 439.3345 555.8735]
+/Rect [344.304 543.708 439.335 555.874]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8396 0 obj <<
+8356 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.591 533.9586 459.5053 543.8638]
+/Rect [363.591 533.959 459.505 543.864]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-8397 0 obj <<
+8357 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2074 511.721 266.586 522.6249]
+/Rect [149.207 511.721 266.586 522.625]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c7b41dba5d22086cb9715c3f51248f98) >>
 >> endobj
-8398 0 obj <<
+8358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5094 511.721 309.697 522.6249]
+/Rect [274.509 511.721 309.697 522.625]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8399 0 obj <<
+8359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4935 511.721 408.2337 522.6249]
+/Rect [336.494 511.721 408.234 522.625]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-8400 0 obj <<
+8360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 511.721 513.9963 522.6249]
+/Rect [477.703 511.721 513.996 522.625]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8401 0 obj <<
+8399 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 499.7658 171.3608 510.6698]
+/Rect [125.095 499.766 171.361 510.67]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8402 0 obj <<
+8361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.2371 487.1411 480.8696 498.0972]
+/Rect [381.237 487.141 480.87 498.097]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8403 0 obj <<
+8362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.1251 474.9732 513.9963 486.5538]
+/Rect [427.125 474.973 513.996 486.554]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-8404 0 obj <<
+8400 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 465.4834 155.212 475.1286]
+/Rect [139.268 465.483 155.212 475.129]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-8405 0 obj <<
+8363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0912 442.9858 250.7476 453.8897]
+/Rect [146.091 442.986 250.748 453.89]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_97cc0d02a88d52e79cbb6615a3bbab42) >>
 >> endobj
-8406 0 obj <<
+8364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.0677 442.9858 357.3173 453.8897]
+/Rect [280.068 442.986 357.317 453.89]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8407 0 obj <<
+8365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.4046 442.9858 456.1447 453.8897]
+/Rect [384.405 442.986 456.145 453.89]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-8408 0 obj <<
+8366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 431.0306 202.3443 441.9346]
+/Rect [125.095 431.031 202.344 441.935]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8409 0 obj <<
+8367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.0047 418.4059 446.0713 429.3619]
+/Rect [350.005 418.406 446.071 429.362]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8410 0 obj <<
+8368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.5471 407.447 438.4615 417.3523]
+/Rect [342.547 407.447 438.461 417.352]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-8411 0 obj <<
+8369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.0173 385.2095 265.396 396.1134]
+/Rect [148.017 385.209 265.396 396.113]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2c47f2f619b1d0f322b742891920735f) >>
 >> endobj
-8412 0 obj <<
+8370 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.5684 385.2095 375.818 396.1134]
+/Rect [298.568 385.209 375.818 396.113]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8413 0 obj <<
+8371 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.2392 385.2095 478.9794 396.1134]
+/Rect [407.239 385.209 478.979 396.113]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-8414 0 obj <<
+8372 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 373.2543 225.8659 384.1582]
+/Rect [148.616 373.254 225.866 384.158]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8415 0 obj <<
+8373 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.2222 360.6296 466.6702 371.5856]
+/Rect [369.222 360.63 466.67 371.586]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8416 0 obj <<
+8374 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.3705 349.6707 462.2848 359.5759]
+/Rect [366.37 349.671 462.285 359.576]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-8417 0 obj <<
+8375 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.9331 327.4331 239.9836 338.3371]
+/Rect [146.933 327.433 239.984 338.337]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e274e65fc3f012ab21bcffa3177228c5) >>
 >> endobj
-8418 0 obj <<
+8376 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.6327 327.4331 280.8203 338.3371]
+/Rect [245.633 327.433 280.82 338.337]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8419 0 obj <<
+8377 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.8547 327.4331 405.1043 338.3371]
+/Rect [327.855 327.433 405.104 338.337]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8420 0 obj <<
+8378 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 327.4331 513.9963 338.3371]
+/Rect [477.703 327.433 513.996 338.337]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8421 0 obj <<
+8401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 315.478 171.3608 326.3819]
+/Rect [125.095 315.478 171.361 326.382]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8422 0 obj <<
+8379 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.2574 301.6443 432.0923 314.8023]
+/Rect [347.257 301.644 432.092 314.802]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-8423 0 obj <<
+8380 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4364 268.454 251.209 279.3579]
+/Rect [145.436 268.454 251.209 279.358]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_732e7355673aa63a2fc22a470a36f707) >>
 >> endobj
-8424 0 obj <<
+8381 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.3614 268.454 290.549 279.3579]
+/Rect [255.361 268.454 290.549 279.358]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8425 0 obj <<
+8382 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 268.454 409.9686 279.3579]
+/Rect [332.719 268.454 409.969 279.358]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8426 0 obj <<
+8383 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 268.454 513.9963 279.3579]
+/Rect [477.703 268.454 513.996 279.358]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8427 0 obj <<
+8402 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 256.4988 171.3608 267.4027]
+/Rect [125.095 256.499 171.361 267.403]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8428 0 obj <<
+8384 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.1145 242.6651 456.9923 255.8231]
+/Rect [370.114 242.665 456.992 255.823]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-8429 0 obj <<
+8385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 209.4748 224.5705 220.3787]
+/Rect [145.1 209.475 224.57 220.379]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_77a2a8e38120a21ac0d5f19eb6e1668b) >>
 >> endobj
-8430 0 obj <<
+8386 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.9077 209.4748 363.3288 220.3787]
+/Rect [251.908 209.475 363.329 220.379]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8431 0 obj <<
+8387 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.2697 196.8501 344.5966 206.7553]
+/Rect [301.27 196.85 344.597 206.755]
 /Subtype /Link
 /A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-8432 0 obj <<
+8388 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.2004 196.8501 506.5273 206.7553]
+/Rect [463.2 196.85 506.527 206.755]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Time_Elapse) >>
 >> endobj
-8434 0 obj <<
+8389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 174.6125 255.5641 185.5165]
+/Rect [145.1 174.613 255.564 185.516]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_940db627ef73d29e63fed31acc7553f7) >>
 >> endobj
-8435 0 obj <<
+8390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 137.7647 214.0604 148.6687]
+/Rect [145.1 137.765 214.06 148.669]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99247c74022e8d51cd0a2d93a87bcfe5) >>
 >> endobj
-8436 0 obj <<
+8391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.3976 137.7647 352.8186 148.6687]
+/Rect [241.398 137.765 352.819 148.669]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8437 0 obj <<
+8394 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8380 0 obj <<
-/D [8378 0 R /XYZ 90 757.9346 null]
+8398 0 obj <<
+/D [8396 0 R /XYZ 90 757.935 null]
 >> endobj
-8433 0 obj <<
-/D [8378 0 R /XYZ 90 191.7098 null]
+8403 0 obj <<
+/D [8396 0 R /XYZ 90 191.71 null]
 >> endobj
-8377 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F99 2213 0 R /F40 350 0 R /F100 2135 0 R /F36 2391 0 R /F25 344 0 R >>
+8395 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F97 2177 0 R /F38 342 0 R /F98 2117 0 R /F34 2344 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8451 0 obj <<
-/Length 3884      
+8449 0 obj <<
+/Length 2134      
 /Filter /FlateDecode
 >>
 stream
-x��\[oc�~��򰕁���eH�n�4����!	Y:^�ѭ�����;s�!�sy
�-�$�5��8��8C�(��F���2�	�G��
}�?w��'��$��ǫ�o�9�4ף���-�J�>.~
3F���0J���5���~=����t�]=���l���f?�?�yS

����q��X�ϋ��������
����뷌E�kN>4�U%р�(�"H|˾��pE������
�R礫��Ǭ�oV�áR����q�ޭf��7�a��ƌ&�
�+��-ʑ�y%(�%T�Z���z�����\i�J���u��t��i���=�J�s|���\�7��W
z��o��ӌ@,��Kb5|�O�QI�
B��
h%CH(
{��9�� ����s�
�0��(Vص�rv���`M����[.:�%
-+�2��?�2�c^>��Q���a7���r]l���0�m�b}St�qkqD�-A*��;HIݚ
�hǪ��V
�H���o�E����hc��-K{ He
��l+ ����ZH0
�˜p}�� Z�:��Bn9FJ��De��*-�HFђ�L!���C�>&� b���b]I4�a�1OO�⚩�CEPe�U/O�W���^�qX��xWKϷ��vSl���ۚ9)����S��_(=�������ny�̎�ԓ�rӂ���b~����g��tj��%�ɳ)<��$9e]�5$%s�e�1�e�1V�`ƌݚf���4=�3 :z�̸�o�YT@�A#�I�/^(��;N�V�5
�ܨ��0�}��z�p�#R�vA�� J.UA�����\��7��#7.�E�����e�-�����)�������̋�	,R�"��]O`��<�5L!�4��^D1�n�P�o��)��O�y`�A�N�"HeP���t��� H
�
�|�8B����9
��
FqOC�����ܴ_�T��
Q��7 �zL3�0���`&�t��̋�LV
-�u����<Q����{l�G�E��Œ�Î`���P�|/�ѕ2�~*egj5����P�a�'X��q� �/�?���W6՜*����Ȫ�IW���DX���B�'!\!�z,���*��G��@p�(7%��8�
=Rl�q,���8���Z�c�RL �����t�:l��%
-����P
0�2��'��!��[f~���چ]������0�B�ޝ�R\RJ"�SM\�$5�j�%1j�c�|@Go�1��B4c�����oT:��._3
�3��tAj���QGN�
��bc͋�
�i�ng3eG˖
��Dّ�[�

�ٲ�iz@ّ�ы(��z�9��StZ�n ��*� ���
s�Zs>�� �,�rz&��`t�"���9�/g7��0�Pt
a`M�Ĉ�`������긝���$-�����(k/*Eb
�R$�U�҈���V���+�K\�}��n�n��V�u�{O�q�����7i���P�#/�'�Ha�l�v=��f�d�0=�l� :z{��n����9�
3���	Rd�2,���ҷYc
Έ��	�Ym�C6k���6�/��/V��4�o�k���yH����0�.b�HG�e�X�e��I�*���1��{�
žQ�u�uS��z�ٱ�����_Uei��k6F�+��>-
=�=mm�"r}O����

C�� �-e����+y��.���/R�"�
��8�ZL~��ct����0�<��TZ�<nh���j(������u)ڥ����̏a�6,�Dbj�	7���r)�I/H��Hk�pҎ��"m/Vn��vy��dEBk�it%�� N �S��p*	�;������'�K:�o�{�@O��HPW��k�k��+�r�#]�T��| [...]
�X&���!���wx^ע�.��Y=�Ig�4�PbW��̨�Z8g����ovkQ#R�Q�2�P}Z�L;�P�%
١�.k�8� ����:�6�(kz�	A(c
o�& }X)ĭ���e#ґZ6�X��WU�P��Y�dRa��Yη�eqn��;��G�{����4V��mk辍��g��.(�!���V�R*`5����R�+Ԗ�j/���Ha���v=[�f�t�0=��� :z��v�ȗ��0�S�R 
�����,��-�oJ
�G�����
�[�ג��ig�

-�)�(��B��b�erǠ��=�sX:z���f��	�[��B��8X�u'MpIKs:�3��:R�����kF�&�0��O�@zȖ:"�K��i4�}{��
/7��
��‰��]^v��c'W@��`nՙs#� ��xO�1�a9ъ��k�ab8����y�Z�6���v�OxU���|��=d
�4���dV�X,���쪓�+��,����P�9]p\�,MMlTО�
CL5�O��Q�h`��C�Tơ
�	
Y
��I���{Q��HP��*�6(��}��W��gс�
��B���2��w
�]�
-b�X�&*��]���l��4=�Bʀ��E���]�$^h;d�^*g��r{O
�e9���C���s�;z���C5K;$He q+���i����/J�HG*˽���[�=7�8�=�=�]����Z�v�Q��ᨦfC$�f��#�E���=��s���)�K o6ij�Ži�]��/�͎K,_��#�<s�&�xq"�m
�Nq�q�0A��57�f��iz g at t�r�/�����KŎ*˸�K�;I��-�����I��TO1��R�_ԏ�:4��?�ˣ��m
-���|z
��7o�ž�5�3
2�R���o���zYm#��ݤbs���n��\:�`:�K��T�l�M
�
"^��Od���"��^,�ȑ�T"���D����azH"�At�M�
N���
��zH�2�P����ҫ����pJ/j$b
���b�'�sK�3f�
�������@̼|V�6n���g��p),Hf�:Kdul6��
�C�:
���<0�/7ݬђ8�Xf�^*gXC=KU��OX��sD{�c���D����B��wpZ>wQ�K�p��'.�����z��
-�|��b?�]�z�4F�8����o#R������Z"싧>>#��
"�l��
-���[�~���v��K{�k�M�})���{Z�W�Y�~�&�{���B9��f�i9�/�˞��lA](����c�#E^
��.�������T�x�,�����+sTX���������f5�����ƿ�<��V�tq-�%n
��u�6��F�V
��_U�@{)^E�4.9�� �A��V�[
�|_
�~Z��2X�i^}�]������Z)�{�8��7}�
������q_�t��\p��ϋ���~�e|
=hx��v�:�j�Еԏr{�+��C�! �%���o�0nadn;&��I?Rx�N�_bl�b��?N����p8�P(�R8!�]9c�#w�p��rh�k =n��մƻ�Lo
�;2�_\p�J��p'A*DP<�f�5�O)$�d�J_���H�"^��}Zew�ta��0��
���W��z��|~�[�gzn
{�U����m�0
-�ć(_� 
#+��^*����K�?�����
���'�~e�aV�E��~���
���%y��`>���kNf>�

)�Q��"-K3�/�e���t�y ��3�rW?��A �wֳ͇���u��m�{՛�
���b�w"f�{O�걮��� @�թIYa�S��2�P��pP��o#��/Q��/L�oT�:L4ڎ^
���{��������f�ۓ���n�z�	�`A0.5q� ����<��8&Xn��~������uYvwhMA��@�/8�>endstream
+x��Z[o��~�� 򰑀�x��
cQ ݍ��	��n�49���V��������*J�lyӇ>욗�3��+��G?\�����ڱ
��c:���`�p

aq�g� ˛/�xv3'x�i���M<˓�Ge��
?�A����
�8H��ˣu�#���o��M=�����kBz�.��l`G��A-�D02-֬�D��&ųO���� k[�1����
�������93g<-���b���,Q�3�
F�bn��K�x�u6��ך�ez������� �D��v��Q#L/>�����d`d1���U�a��M����_`m*�7�}A��
�ᚠI��ӿ�&��7���

+6|���#�N�T>j�n�*�� ���B�Gqʳ*γ�������tŎ/��4g-��|j
+��E����5
�ul�96[�`
���.�*ma�_�q[�jŀ�P��,�����F�@J�.;�{Ѓ�����^
�i�g<���|��e�w.a6"�4'�ؚ��F��5�*�&$ ��NK(�F�
dz�a��}��
�Tz����
j'.\�+�M�V���\Ō��
^�\?���g��搠��Y�Y�7�>���1ۇXYՇ���&rR���t�m_S�C�+t�Y��_��

����H�U�<���[�W錱Y�A�H2!״UĦ�� �8�("2Y�"��7�Q �ߨ��������Q� �Ȍj
aL���6'���磨�iF��.
B�k�k�T(����ĝ��sB�F��vF��PrI�D���uh��Lgvǹz$U~�t��3K��6�̽�8���E9md�G���"ؒ.�
Ŕ�?��
+��NM*ڏ�AJ��B�'��I/�'��v
+�8xHx����R����lD��+����M^H�Q`�
+
����0N%�rn��Ѿs�}
�o`�U����ц|Mm �ф�؝r6�Y�UZJ"u�7��qu��1��ֵ��̛uA=ڡ��:Qqa�q
�X̙��'>bb"���g����@� 4�Px����˞	r�������!���Z�w���ho��"�f�Vs@�A�k��@H��Mz����º�}p��
5�C	 C��Iݰ
�iP����"U���c!N�8p�a9
�q4=�R8
tTT
C�u:ê��k�P��H׳��R^���߅�nFV<=�
2���'������l�q��Q#��ɾ�A��l�Զ�a^�|�����-*�:��>�&*=hr]ڲ�:�e�8�tC��e{2��Y�<���:G
Σ�'P<��פ�kȵP�$;S�
v<��fP̷��9��
�2�
a�Q�a�󠲏�T���T�
1���!j�a�/q�$	2���ؿ���MJ�v�lo�h!�>S������7��_��'��.I�ܾ
|
!�2
C[ck/�ī�\�ܤ�%
1$�����F�ԋ���ט{��v�E�n�nRt�X�=iι�땂n�z���2|�ul�.�o��u$��p���$�;kp9��`�:�=�c�"��$�xtE_'�|���!�9'��*�c?Z��An��U�RT�Z�uS,Le�F^k�����B^NEf��Z�)���}��Gu���B�<���ƞ�]1���OQ�u�%
+
��Vj9�(�=�xW������\��U��
af��z�x
�bpw>;%�9o�7�ɤm�c����$d2��b]���!�q[o�
^��P"z}�-������T�h#ˢ/�|،ّA�!ϓc�>Ƀ���^�Bl�
g��ۦٍ5'0��A��g}$	��Ë�}/�	��DW���x�ݯ3񾋔���Z���!�P�М���6�V�o������P�y�����f0�I�sJ�J���2�j�]��w����߶u�_�ÐW�r���b�4���e�T����vK9�6���Ջ߂���Mb at xV�Ӽ��U��;z��mu^���ƙ��Փ�7�ō)�m��D�d~qVlMj��e����h�
+���On��j	��$�׵��ּ��c��
ON���1R��#1�-T�^�2D�V��j8-O}��XL��_���T��VD�f2d�UB
�	��fyA
#Eɉ��l�GS%�����ۅJǴ�-�����꺸���l6(��:����eQ$����
+�
���e3��� S�0���i���
+endstream
 endobj
-8450 0 obj <<
+8448 0 obj <<
 /Type /Page
-/Contents 8451 0 R
-/Resources 8449 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8266 0 R
-/Annots [ 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 8475 0 R 8477 0 R 8478 0 R 8480 0 R 8482 0 R 8484 0 R 8486 0 R 8487 0 R 8489 0 R 8490 0 R 8492 0 R 8493 0 R 8494 0 R ]
+/Contents 8449 0 R
+/Resources 8447 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8460 0 R
+/Annots [ 8392 0 R 8393 0 R 8415 0 R 8416 0 R 8417 0 R 8418 0 R 8419 0 R 8420 0 R 8451 0 R 8421 0 R 8422 0 R 8423 0 R 8424 0 R 8425 0 R 8426 0 R 8427 0 R 8428 0 R 8429 0 R 8430 0 R 8431 0 R 8432 0 R 8433 0 R 8434 0 R 8435 0 R 8436 0 R 8437 0 R 8438 0 R 8439 0 R 8440 0 R 8441 0 R 8442 0 R 8443 0 R 8444 0 R 8446 0 R ]
 >> endobj
-8453 0 obj <<
+8392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 719.9123 289.8656 730.8162]
+/Rect [145.1 719.912 289.866 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2f90e70dbef264e99b7015c0ce7e16fd) >>
 >> endobj
-8454 0 obj <<
+8393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6812 719.9123 359.3244 730.8162]
+/Rect [293.681 719.912 359.324 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8455 0 obj <<
+8415 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 685.043 290.9713 695.9469]
+/Rect [145.1 685.043 290.971 695.947]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_19a2fb28254bc142e01f3ee00c27ea89) >>
 >> endobj
-8456 0 obj <<
+8416 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.7869 685.043 360.4301 695.9469]
+/Rect [294.787 685.043 360.43 695.947]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8457 0 obj <<
+8417 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 650.1738 224.0028 661.0777]
+/Rect [145.1 650.174 224.003 661.078]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c5ec610fb42e16beaac59b537a71f187) >>
 >> endobj
-8458 0 obj <<
+8418 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 650.1738 362.7611 661.0777]
+/Rect [251.34 650.174 362.761 661.078]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8459 0 obj <<
+8419 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.582 626.5867 443.1674 636.4919]
+/Rect [349.582 626.587 443.167 636.492]
 /Subtype /Link
 /A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-8460 0 obj <<
+8420 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.2012 626.5867 513.9963 636.4919]
+/Rect [459.201 626.587 513.996 636.492]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Concatenate) >>
 >> endobj
-8461 0 obj <<
+8451 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 617.3538 161.6856 625.533]
+/Rect [139.268 617.354 161.686 625.533]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Concatenate) >>
 >> endobj
-8462 0 obj <<
+8421 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 593.3867 254.1498 604.2907]
+/Rect [145.1 593.387 254.15 604.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4c7c04e76c758c53feeb8c5cf58638a6) >>
 >> endobj
-8463 0 obj <<
+8422 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 593.3867 338.2632 604.2907]
+/Rect [281.487 593.387 338.263 604.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-8464 0 obj <<
+8423 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 558.5175 284.5854 569.4214]
+/Rect [145.1 558.517 284.585 569.421]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dfe66b5a34b84fcf63d1a48777f68e4d) >>
 >> endobj
-8465 0 obj <<
+8424 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.4011 558.5175 354.0443 569.4214]
+/Rect [288.401 558.517 354.044 569.421]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8466 0 obj <<
+8425 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 500.7342 241.7263 511.6381]
+/Rect [145.1 500.734 241.726 511.638]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1ae424886d05361c1a78c89dbdd5b7db) >>
 >> endobj
-8467 0 obj <<
+8426 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.6171 488.106 407.6577 498.0112]
+/Rect [349.617 488.106 407.658 498.011]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-8468 0 obj <<
+8427 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 465.8649 249.3181 476.7689]
+/Rect [145.1 465.865 249.318 476.769]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a1f9b31c3ed7dc3e7691b9110ddbedb) >>
 >> endobj
-8469 0 obj <<
+8428 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.1337 465.8649 288.3213 476.7689]
+/Rect [253.134 465.865 288.321 476.769]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8470 0 obj <<
+8429 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.8754 465.8649 371.5186 476.7689]
+/Rect [305.875 465.865 371.519 476.769]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8471 0 obj <<
+8430 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 430.9957 240.6204 441.8996]
+/Rect [145.1 430.996 240.62 441.9]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_966dadd4ba398fb77b77584e5af698af) >>
 >> endobj
-8472 0 obj <<
+8431 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9576 430.9957 324.7339 441.8996]
+/Rect [267.958 430.996 324.734 441.9]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-8473 0 obj <<
+8432 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.5366 430.9957 425.7242 441.8996]
+/Rect [390.537 430.996 425.724 441.9]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8475 0 obj <<
+8433 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 357.5805 244.2646 368.4845]
+/Rect [125.095 357.581 244.265 368.484]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cbcc65a843515d547f055b687d1e6d5f) >>
 >> endobj
-8477 0 obj <<
+8434 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 320.7188 167.4656 331.6227]
+/Rect [145.1 320.719 167.466 331.623]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9bd884fea397d9d6cde6426e6f47cc4e) >>
 >> endobj
-8478 0 obj <<
+8435 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 320.7188 282.7023 331.6227]
+/Rect [171.281 320.719 282.702 331.623]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8480 0 obj <<
+8436 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 283.857 193.0294 294.7609]
+/Rect [145.1 283.857 193.029 294.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_57fc3d9d838fd7e20e80806307452a91) >>
 >> endobj
-8482 0 obj <<
+8437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 246.9952 193.0294 257.8992]
+/Rect [145.1 246.995 193.029 257.899]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9a864135634ed49de1aeae3b38ed933a) >>
 >> endobj
-8484 0 obj <<
+8438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 210.1335 165.9114 221.0374]
+/Rect [145.1 210.133 165.911 221.037]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_885e896b320d1f4285b5dc92a20f8884) >>
 >> endobj
-8486 0 obj <<
+8439 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 173.6453 187.6893 184.1756]
+/Rect [145.299 173.645 187.689 184.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_804363984fe210abe47624522dfb7a92) >>
 >> endobj
-8487 0 obj <<
+8440 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.5566 159.6472 476.5442 169.5525]
+/Rect [352.557 159.647 476.544 169.552]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9a864135634ed49de1aeae3b38ed933a) >>
 >> endobj
-8489 0 obj <<
+8441 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 125.451 202.9022 136.355]
+/Rect [125.095 125.451 202.902 136.355]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-8490 0 obj <<
+8442 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 125.451 300.0368 136.355]
+/Rect [203.4 125.451 300.037 136.355]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dea57326388915780370a677453778b3) >>
 >> endobj
-8492 0 obj <<
+8443 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 88.5893 202.9022 99.4932]
+/Rect [125.095 88.589 202.902 99.493]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-8493 0 obj <<
+8444 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 88.5893 314.2635 99.4932]
+/Rect [203.4 88.589 314.263 99.493]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8eb19423295d8af4d69f144fc227128f) >>
 >> endobj
-8494 0 obj <<
+8446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8452 0 obj <<
-/D [8450 0 R /XYZ 90 757.9346 null]
+8450 0 obj <<
+/D [8448 0 R /XYZ 90 757.935 null]
 >> endobj
-8474 0 obj <<
-/D [8450 0 R /XYZ 90 374.5618 null]
+8452 0 obj <<
+/D [8448 0 R /XYZ 90 374.562 null]
 >> endobj
-8476 0 obj <<
-/D [8450 0 R /XYZ 90 337.8196 null]
+8453 0 obj <<
+/D [8448 0 R /XYZ 90 337.82 null]
 >> endobj
-8479 0 obj <<
-/D [8450 0 R /XYZ 90 300.9578 null]
+8454 0 obj <<
+/D [8448 0 R /XYZ 90 300.958 null]
 >> endobj
-8481 0 obj <<
-/D [8450 0 R /XYZ 90 264.096 null]
+8455 0 obj <<
+/D [8448 0 R /XYZ 90 264.096 null]
 >> endobj
-8483 0 obj <<
-/D [8450 0 R /XYZ 90 227.2343 null]
+8456 0 obj <<
+/D [8448 0 R /XYZ 90 227.234 null]
 >> endobj
-8485 0 obj <<
-/D [8450 0 R /XYZ 90 190.3725 null]
+8457 0 obj <<
+/D [8448 0 R /XYZ 90 190.372 null]
 >> endobj
-8488 0 obj <<
-/D [8450 0 R /XYZ 90 142.5518 null]
+8458 0 obj <<
+/D [8448 0 R /XYZ 90 142.552 null]
 >> endobj
-8491 0 obj <<
-/D [8450 0 R /XYZ 90 105.69 null]
+8459 0 obj <<
+/D [8448 0 R /XYZ 90 105.69 null]
 >> endobj
-8449 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F37 2043 0 R /F25 344 0 R /F100 2135 0 R >>
+8447 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F35 2013 0 R /F23 340 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8505 0 obj <<
-/Length 2397      
+8485 0 obj <<
+/Length 1328      
 /Filter /FlateDecode
 >>
 stream
-xڽZYo��~������v��  ��6Y��q�6
���1]K��q~}�Iv�yu�#o0�>V�ꯚMf����3%2���j{�g_���"��
�~�|us+�� #���?�$C�
-1�_�tMbz� ��9��Y�͖ws����ק|]f�eV�~���"�l^�����*_/��9��{�P����斐@!U��p�Ϫ�C��D0��#>���T�돴��4"�3d
7�=LJ��&;
q�sC���a�U��o�`L!!��-�FR��)��'�w�ȱFX�V$��������ֹ\!�����꧟�l
a��
-#f������1t��┹���W��r�`�憍�����8��A�$���D&�D(
-���|Q|�����n��G�����T��uh��7���U�k~?�Vy��?���|�/_��l����b�����6�im
��(�c�F_(�$��6��86�ΣQ�7 �&��%�d�E
��Nfn46���x 0GD1
-��BN���a>�$�z�a��S*�
�Ն�z
*��J�_�U[�*F��@��H�,]����K�����)r�O��i�گ�FCU(�p�C%�S��	M{���iRu��
���� Š�\P���H�zؠJ������j�����*��h�AgJ��_�I��R���]
-%tk�i��UV��
w�w�c�}�����}ޭ��=��%HPJ'W�0��X"�4?ə,p
wQXc�=*��pd0�����8���iĩ2=����)r�
�b����e�zT9�akj�
q��K�I;)4aa�ф�
ױs�}]
�*_z�����q��yT�
���^�|K��B�@B
��Dg�꘨(�a
 W/B#m���'U�d�Vl��-s��k.O.l�E{硜s��̦ie;��v�M>'b���g�q��E�
��&�3�<uˊ�|U9Bs?W�2y�y�D��d����a���xj
	��yt��r]�-��8LH	4��
��!
:eHOf=J�Y��7&�e���
(���o.�
��T$��ì���P��7N�a����GW��a��w�d!@�@DP���a�i:̦3�.撥2��ҙ�ej\���Po7S�T�v
Hgjܐ��S���L�y�=3��
-d��L��s3��E^���\C��=I c�[s���Ou�si�)O1.&�!D����x���^W
���?�zH� m[SWw������֊�&��e��/�a#�2`TP�c�(�r��
F
-b�E�!ϥ�
ϙ��l #V|�ll���%�Wq圩�ƃ~�`n�%”8�T0��v
3��U�ʴ�3��D�DGo� ���(����4�W�r�iC�}�Q	+�c� ��������2"��a�
�W�U
ؼ ����9=
-A��6<,]��X!���B�>���a �X��F��ŧ,ȭ7
��v(���ǟߡR�!��0���7$?g�auѠ
ʈ%����}9
--�+�e^�����
CJb�J�h\�X�~�i7��7TXs�ѱ�i��E
H�EN
d�r>#�!|rB�SU�Ńm����N��o��K:DJ�Ò%
�x*�^W�
�#�9�PD��N����{C�
p���S�(+J���/I*�3&ɹ<�3�|��Mhf�@�")�a�d85{X:�����)�
�}�t����q��u
-���=u//��)UH3���=���o�)ؤ�!���Q�$��t�c���/��4]�gp���ւ)B#�M/
��=����L�
���n�E�ڇl`������[({���{E��:A*^��)��x�ݛ �:�V�ҷ��I�g1C�R�W
+{Fd�t�H
-_�OB���p����'�e���c,ľ��"�BB@�=,Y�Q��"L�uE��;U�����h
ZxJ_�U�?�eV�����Ku���w��r͠Z��9
���Y�bw|����'�H�y����S]�DWh�v�
6X
[��1����X/g����9$f/F�	d4!�Cb��}m��F��
R��}fH<>����,�k�p�kNs`����hĈuƤ.?n��B�P�6��PZ$b�r��sX ����nb��b|�
ʈ-���
��
#���w������q�Bb�,U#����q>��G�$
�-�5)$\�YQ���S��s��\u5P
N�|B���F��f��泚��
�1$,p�N1�N�L!X��n[���d֝;o�|l�6�u���ͅp��?f;�B�Պ��ӱ	0�ޭB�Ѐ�}·�g�=>C���vP��f�����nXw4,FO;�[ի�Ç�����:��]q(QQ�
����,Q��]��:����癖HH��{­9��/�qU��6�Tp����1S�؈ݰendstream
+x��XYo�6~�����j���c�-�n��.�&�Sva�
յ����KJ�l+� I�8���
�\�@�ށ��_g��O�D>��ٝA'�	��.qn��!
_��������p\f�%O���.���
�LY�m��<Y�<�_	��R�H������
�8P�"O�����%��	A�Id).Џ�S8��fq=��# �������؏���̍��U�$�ۜ	!�~�L5�\�;�Ƌ���`�zmX
�ǣ�f�o#��B5�z�!u�|t�:�z�Ɂ�D��n�r��D]3�f��W������ �k
�Ej`��O��r%
+c�\�vQ���UZ���FrCU���s��bc֬`����O���(�U'Tp�

_ $�
t��>
-�\�uK�gF�����A�,�K
+w�<��!������1����N(�`H��Ҽ����q�
�6v���<.��_~��jq�ˢ����-����
+0
�<��
��E*�N+&1��+Ő'T�� x#O��l��@ݨ��
+r�n��L�q���j���g�/TZ5��U�TA�'��`����{C|ܻu+�s�4�E�����=����ü�X���qn<`���jct,���4_�&���!�>5;+�z�T�6zXa�H2�"z�cI��{߭��K
K[fn��/�E헄�u�����YZ��0�a��̢��p�TY��.��ŵ̫��|b�2�"�?
|��XD�cQsU���`x^P�f��ޜm��8�qƙ�
s��%�ݿtC�E�G-���
��%��դ�Eb�4
�^��U��eB�˷��
�hQ��qx�ڢ�ʰ�
d��c_o[�X��O@�#K���g6��"3'���	�l�8�H����d��EJ�.t�����S-'y�n���S]$y��.�6�8���0�2�
nY�fA\6Wc�z�U��^�tXس��@2�S��}UWܞ�h�b]�
Y��e��\���1֟��nޗ"�E�R�w܇�qYq�d)>|��'7�t��
`r���ct3�
S��:H�f�[
Ւ�
3���a�^
3(�B�f<��M3�=fO��E㭹�v���3^�����$Di�Hl0gOu<�?Ė�͹\���󇿸
wLe
"��:f���c
�����
��N-x�
~��l0�
��ZT�T�����o+�
/��Q������IX3�R��A�z�+i(�z���tn�&WvR�ޚqe{�w��.��P���
�;{}׬��~I+ϫ�JpDtp�h���p;,h��DZ�?F
�[�1$ m�y)e�~:]�� ���H+R9��l��hn� �A�=�i���{�a�t
�w�r�):�
+endstream
 endobj
-8504 0 obj <<
+8484 0 obj <<
 /Type /Page
-/Contents 8505 0 R
-/Resources 8503 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8266 0 R
-/Annots [ 8507 0 R 8510 0 R 8511 0 R 8514 0 R 8516 0 R 8519 0 R 8521 0 R 8523 0 R 8526 0 R 8528 0 R 8530 0 R 8532 0 R 8533 0 R 8534 0 R 8535 0 R 8536 0 R ]
+/Contents 8485 0 R
+/Resources 8483 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8460 0 R
+/Annots [ 8445 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 8501 0 R 8482 0 R ]
 >> endobj
-8507 0 obj <<
+8445 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.8192 699.0619 199.8638 709.5923]
+/Rect [155.819 699.062 199.864 709.592]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_f191b9781c37da15b49810d47a838823) >>
 >> endobj
-8510 0 obj <<
+8469 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 622.3691 203.0748 633.273]
+/Rect [137.432 622.369 203.075 633.273]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8511 0 obj <<
+8470 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 622.3691 296.3242 633.273]
+/Rect [203.573 622.369 296.324 633.273]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
 >> endobj
-8514 0 obj <<
+8471 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9437 544.0573 200.0169 554.9612]
+/Rect [160.944 544.057 200.017 554.961]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_343e039e48425126b187827066d12bf2) >>
 >> endobj
-8516 0 obj <<
+8472 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9437 506.8932 200.0169 517.7971]
+/Rect [160.944 506.893 200.017 517.797]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4ac4e4131c756f0ffce85b9dec7d2b3a) >>
 >> endobj
-8519 0 obj <<
+8473 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 428.5814 211.7029 439.4853]
+/Rect [133.915 428.581 211.703 439.485]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b3b8f7e6fdd123f510ba85f4527bdee3) >>
 >> endobj
-8521 0 obj <<
+8474 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 391.4173 203.414 402.3212]
+/Rect [133.915 391.417 203.414 402.321]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_269f357fca785afae3774b1e084d9b93) >>
 >> endobj
-8523 0 obj <<
+8475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 354.6267 179.2647 365.1571]
+/Rect [134.114 354.627 179.265 365.157]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_21a9e355a53ec45a5a60213fa8c24f2e) >>
 >> endobj
-8526 0 obj <<
+8476 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.5753 277.9986 140.5305 286.8453]
+/Rect [128.575 277.999 140.53 286.845]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_43ab45399b7e22ffcd6403b7e59a473c) >>
 >> endobj
-8528 0 obj <<
+8477 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.5753 240.8345 140.5305 249.6811]
+/Rect [128.575 240.835 140.53 249.681]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2d12805af932544a4fc1575f8db62a3d) >>
 >> endobj
-8530 0 obj <<
+8478 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 203.6704 167.6386 212.517]
+/Rect [134.114 203.67 167.639 212.517]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a2a8683afd33a1d57db43c9db16de1f5) >>
 >> endobj
-8532 0 obj <<
+8479 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.8387 123.3013 181.2641 134.2052]
+/Rect [134.839 123.301 181.264 134.205]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_de7792cb469ddf1d5d8944bbe7f1f55a) >>
 >> endobj
-8533 0 obj <<
+8480 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0497 123.3013 321.4708 134.2052]
+/Rect [210.05 123.301 321.471 134.205]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8534 0 obj <<
+8481 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.2512 123.3013 513.9963 134.2052]
+/Rect [430.251 123.301 513.996 134.205]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8535 0 obj <<
+8501 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 111.3461 146.8964 122.2501]
+/Rect [113.91 111.346 146.896 122.25]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8536 0 obj <<
+8482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8506 0 obj <<
-/D [8504 0 R /XYZ 90 757.9346 null]
+8486 0 obj <<
+/D [8484 0 R /XYZ 90 757.935 null]
 >> endobj
-8508 0 obj <<
-/D [8504 0 R /XYZ 90 640.4978 null]
+8487 0 obj <<
+/D [8484 0 R /XYZ 90 640.498 null]
 >> endobj
-8509 0 obj <<
-/D [8504 0 R /XYZ 90 640.4978 null]
+8488 0 obj <<
+/D [8484 0 R /XYZ 90 640.498 null]
 >> endobj
-8512 0 obj <<
-/D [8504 0 R /XYZ 90 560.2832 null]
+8489 0 obj <<
+/D [8484 0 R /XYZ 90 560.283 null]
 >> endobj
-8513 0 obj <<
-/D [8504 0 R /XYZ 90 560.2832 null]
+8490 0 obj <<
+/D [8484 0 R /XYZ 90 560.283 null]
 >> endobj
-8515 0 obj <<
-/D [8504 0 R /XYZ 90 525.1414 null]
+8491 0 obj <<
+/D [8484 0 R /XYZ 90 525.141 null]
 >> endobj
-8517 0 obj <<
-/D [8504 0 R /XYZ 90 446.7101 null]
+8492 0 obj <<
+/D [8484 0 R /XYZ 90 446.71 null]
 >> endobj
-8518 0 obj <<
-/D [8504 0 R /XYZ 90 446.7101 null]
+8493 0 obj <<
+/D [8484 0 R /XYZ 90 446.71 null]
 >> endobj
-8520 0 obj <<
-/D [8504 0 R /XYZ 90 409.6655 null]
+8494 0 obj <<
+/D [8484 0 R /XYZ 90 409.666 null]
 >> endobj
-8522 0 obj <<
-/D [8504 0 R /XYZ 90 372.5014 null]
+8495 0 obj <<
+/D [8484 0 R /XYZ 90 372.501 null]
 >> endobj
-8524 0 obj <<
-/D [8504 0 R /XYZ 90 294.0701 null]
+8496 0 obj <<
+/D [8484 0 R /XYZ 90 294.07 null]
 >> endobj
-8525 0 obj <<
-/D [8504 0 R /XYZ 90 294.0701 null]
+8497 0 obj <<
+/D [8484 0 R /XYZ 90 294.07 null]
 >> endobj
-8527 0 obj <<
-/D [8504 0 R /XYZ 90 257.0254 null]
+8498 0 obj <<
+/D [8484 0 R /XYZ 90 257.025 null]
 >> endobj
-8529 0 obj <<
-/D [8504 0 R /XYZ 90 219.8613 null]
+8499 0 obj <<
+/D [8484 0 R /XYZ 90 219.861 null]
 >> endobj
-8531 0 obj <<
-/D [8504 0 R /XYZ 90 141.43 null]
+8500 0 obj <<
+/D [8484 0 R /XYZ 90 141.43 null]
 >> endobj
-8503 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F52 341 0 R >>
+8483 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8541 0 obj <<
-/Length 3857      
+8520 0 obj <<
+/Length 3176      
 /Filter /FlateDecode
 >>
 stream
-x��;ْ�Ƒ���mO��[��DS^�W���I� {@����h4�zg��(������<
�����;�����Y2�RW�
5[����#|�抆��/� _��z�Rə��bj���àxE�������)���^PB���5%�[��^]32߮
�ۮ~���}Ww�77�o��������~�ܾ{�]S3��K��ۿ>I�`A�a5+�>\�
"#�����>�^0I�/Xxx]�*xe��a��b�zU��
��k���z�������J*�g
����)����Y�Yz at ALE�
-(93����o���BW�H������?��-��W��������Z�f�+�x|Y]������~#,/�YR~��p^)~7��[�e�n7{�7�A������
?I���������S��.<l�apݬ����V�h�c
-�[Ə*��m4��U	n��#�19^��ŀ'WLP�u��P�.�%J����z�����+!��
!C�*i@�
��5�z
X�����$F�����)^�s��غ��V�j��9�}{s���]S�����6Vb�L)
-��Գ�������~1�P�/��5]�o����
l
P��aL(c�Ғ��#}HPg�c�
!2'ͧ��=�J>_�]�c�8`҆�K���P8ŋ�O�%�����4~�cO�,AM	ʝ�[n�3�!JC�υ|(�x�[u�[p�\h����ݕ\%������0P�:U��	]
8V�Q`1������ ]J��ڊh���d}w��E�wrCͧ�Ϋ��BPX����H,0�n��gUZ1{�?;�K�s <�P���`�w��~�]M��UE0���
��3��ᄂT'x���w_N�Ц�Ft���έn(؅U���k����p�/�A?C��'{SNa&�g�������n��7��:�\�M��eo�*�	;��9�/~	X��VL�ӻP$	��L�x�
e��
2�ܖ�H�
-	~
�Ae$+Wa	j1�Jl��ĞV"	qʍ�H�x<�$x
{�)_�8N��˖���u
-D�<�ʉ���w���gH!�ip��
-�M����գ�CP����v��n�M���
�ʊS��/
-��3y�
��JYM��,��������m��ƒ���}�:�HH��~��@
-�䜫39A;�
��
-J�҂l����g��ioK��� -�f�
r�N(�9^W9>���nB����9c	G�skc%l����`��P
I}��#�Y
-�x![kŶ�'$
FV̢��W��R�'
l�J0�VV��X�ѣ%9�2��3�
I��`p���)M��R��S�G��犐HTfp�,���D8��/�"��W��3#��I#8N�
�z�k� ��צ�J�B
��k����a��!��{=`d�ܘ��� E��+�����įhh�h��]�^�f���
�`�N���y��K'�:ѹוFO�'*T�d�u�1F�UQ�Vؕ?����� ��-~D�����t���"7��N9�V
-r�-N9�Ɉi�`&��ۘ����k�Ƃo�٭OC\�ކ4�����м�:�
BA�\��sQ�/-"�b5Ug&K ��xd�7���V�Qѯn��Ǜ��1�H=MA���0rb��PO
�!
�ƀW�
J�tJ�?��w�m�NU�B�� ���
-|�����I��8|�]��&
K<x�A��'�`I{J~X��хRc�8���Q� =��k2��|����

X�i�?�m[(��
�D����tL ��S�ڪ
�	
�b8�+�

�x��_ʻ���C��+ecJ�� j�~��`���M�$Yk{�����O����~{�\�Q��f@�:À)�"��Z���
H�g0ŋ��M��L�ƞ�v�:��	�����3�
�[����^�{sW�Ja��R\�B�
�a �P��j}�$$
�Gi���)?6�yhE�yl'������x'֤^�W�_���hL���YynR
-ɶ�N/�C�� �c�x���5'��k��2~��ϔPK�q��NU(�椭�H�r�e4���J�䐲~��0�Ǥ�kB�ݏ6�%� ����I-]^)"FZ�6����8~�A�� R
÷�JAU�JReNgYIA����
v26gX
��Ύ�� ��:�R���ѿ�
Е�݇�5?�6��pi��X}f
I�ԣ0?���G4P�nnd��®2[	� ,�R`*��O���7�o틥��C"��r�A���qN��J؀�$&�j�TUn
��'>i=v�z�2
��T
^b*�ߢ*�
�?������n�]ӷ��A*�-ݾ�)�c�!��@���DVT��L&B�
�Pi=e�aO˫N�A�P�
�R���4ϵ���b�_OA�Dz)�i�8�|�K4�8+1��*�yɟ��O��B�G�
-��J�'�UVx�m��g�D�� ʵ�L�F�Հw�B0FH3ܶ�[�rW���U|P����@V .��4�ɦ,z�/K8�⟭ڐ�.��@�\^�
���; 	��DA(�
Wd\�������Ѭ�LB�>���vW��*u����Bf�g����L�QC���
��!e2ɥ��X��ƏZ�V��Z�d�
*:"a�Y:�,��M���)0�2���K��D&Y_�-9���-��"睫�^��zA�*����rv�-N1�F�Ć����Q�
�k���
�)5��[Y�d�)�I�\�тH`"9l����r-B�,�Ct���<Q\�@��s��+#�Q��<8�C�R
|�|��
_���4x�O`�,���ޕ�:B<I$

{|�~�}��
����U�}����n��n>z�>���v����06]ޅ��P/�83,��v$�V�\�1c���� |���P�^�K��ͼ^uM}��?
���M6��u��w� ;䙟:
p�Cv�4;�d�j
��
˹Dey���k� X�|{^=��cq*�:ۈ�{�'	�Ԅ�Z��Pύ�N����V��������
Rq�)=�r�f���{ZR3<���#*p+X�;�h2b g�ɡ�-Sj����ʎ~Y�Q~~\R��]�m�&��d�<u�
�8"����7
�HPQ��r�;
��	���/n��������)9�ℍh����3+O�
�
�&$�v�_�X�< �Dd� �U"#��n8�]�1y�7��Y�t��/��)�[/
���5qd��α6jQt�0������DO�rv����/5
�<+�X�PS� �H���S���@�������j�p�.��런=��ﻈ�c
�
|m��Ov�$��� �Ɂ��k���=�a@�Ѣw&EsyMy�Q���'�m����p�N
���6^/6~��T��b*�{
Y
N��
��rO�����ia��ߒ�Ԡ`
��G�����b��JVL1s2n
8
B�xt_�b��\{�"����i�K�
2C��#]	���x��u�:��N׏�.�$G��+8���'��o���y�=\/-$w�҄Oʀ�.�ҺoJ�%bMXb��W�(��W�w�A�݌���3�6���K��f��
B9F�5��]`��t����"�� ِ��v�cn�=���G���ϴ��$|����
��m"<y�
�t�a|�ꕟ������9.��=ܵ��ٕ�D��R�l����);��4�����
^��H������?8���\����c�"�@Dv�$]�
��
n�����?��e�,��ͽ�
<��~_�OG
-@*A}���Λ���)�"��A~�Y|��a�&,3�!�a���绾��<���P-�����uU�?�2�y�&ڞ�"Mh�8ύ����}Z|�Ɵ�n�o�

��:lr[0\ ��Cendstream
+x��Z[s��~ׯ`^\rF\a�
%�Lc�N��qmu��d<	YhH���ʯ��
XpAQvҧ<᲋����sv��>̒�˳o��.^:KQ*��]���d&E�~Z���1FT-�8I���N�Y��޿^�d^m
��u���GqSg��奛��f���M�ޯ������y�����.^`<X�HX-e��Y�+;%�	'�д�q��K“�q7o"dEiʻo�<A�/�|�5��v�H�<��6Y���fKJ%�B͖���;ż�os#X^��<�(���#Ii�_������3
o�6�e�g��ٻ���7KM�������p��ޞ��,9j*���H���R�ؗ�����JΓ���lI�,������Ušۻ����ƽ�jwSVnp�oo@~sۭ��6Bw\ϰ@���G�m$��
�2��?����n��xA�`
��15򜀒@\IO�a����Ir�����h�
|a��EF�h}�%FK�F�hM������γ�bɨ�?s���Rp~�T�����u�Vu��SF���ա [...]
+l�
g
B��B߇���0�!q�
Zq�+��A�k�L��h��-�G�AS�:�B{<[����\p�Tf�bK
+�3��C����n�BD[�hE[
c<GQ�Z�#p�`)�G�#禪6�>	������!&�Q��8���鎝@
+zı1xP��T(��Tȸc
$�1m�޶�>:��,��&A"	d�Q�����g������Θ8��!�g���R%HeԲK���2)d�~:��G��޻`
hB K��IŭK����U�y�w�$^{�������֕&�m��!�b��� ˆg@/
�‘H���	">L�z�?.
+vYQ�]ѐ���6O�<��R����A��_L�]��%c>o�M!�ÞN��&�� @�������ϟ��R���ey�GY�tY
Of�D
�MU
�pZs�Z/��=�Ep/5���y�b0T!��� �c ��		_�˰�y��W z�k
�I���1�fso�sD�A0c��`(h�������Lw�tз"�:׫�͊M�]�ͪ.v�e1F
�C!���L�D�c����!�&��w�������"jU,��|����W�ʶ�����.�S�0De���5��+�?��#��̈
+�z���]'�}��,n̅k�l-�0�\־�)s��(�C��e��}/`x��Bh��HQ�ˣ��B��%�i^��!�&4�e�qQ[-���~��j��
���d�� ��o�1��#/�
^W۬(݀��>�`�r��V���/H���佋@� C��#��� 6�}��Q���
+��rP
N;	�ˉ,0�J^��h~�s�ō)��M=H���C��4��թk)
+u����^־��� �X
+��]��U�}��l���]��A�J���,��zT����&�
�����^�\�d� k�Q�5%d
��g
�
D
$���o��Ѥ�RJ~>ì�u5��(�|Q� ]�����hi����LL�6k
�B`)�:��U[c
@��Nw:��D�R����"}]�
����U������$�%=V�K�E�B�4⚂
Z�A��F�b���
��Ɂ`
��D
����g�`׭9����\C�a���@�چ2e�Ν��dnSÙǢq��?$	)u�<��<�TmE�C
$�-�wO8��C�y�*�&�Ӕk
��m��չ����6�u�s52����ʶ�:�����YI �s��¸�r~�b���q���	
���>uN���h���UU��-~͜9�?_���0�$�����P
�0��L��2#���NF}�uH�%,���$�a����u �
֒P`��vn\F�Y;�r0�W8U�$�F�[�1��t�F��
 4����O�'G�tn���h�	n���_4N� �P�w��ʡ 6%�M����D�Mg5p}ܷ�W�� �9�>�u��B|�C
���4ǗK���)���̖�`�������J�«��	�M�Ѝ$�dt?���Ʈ�9�!�E
+`9�3�M�T�.H<~0
�O`�����W/��AL�D�4���	]�A:?���эկ�>ԀΙ�w\("�ߺ<(��[�u��Ɓ
�;
���%t��Rz��`�

�h��v9��/	脧����H�Ժ�|hqG�Hb2<��)Ɏ�ª/Ha��u�����s��O`�$�?�V�P����,�H��"�Ɯ�S���Ӌ]ư�p�,��
M��7��݌���D����������a�2�~�:b����v����`g��Z�����*�n�py��!V���
�lwղ�#
F[w(�R��u���X�����Dx(�|5�6u����>�+۫�<n���rs�:��
&4J����+��W
����LQ��o�z���V�<��}�B��c�����ƖD
jN�G�ˮQ7�|xR���=�D�
7�����1%�#]��s��.�>fZݝ&����d�<������qp�v�����|�@~�>P���m'�*��m��:�ڃ}���
z�&PN����wϟ���щ�/�"�(uP|[�J�
���-�8��,0l!b8
ȳ�8��k�zu�a>�������J��P��Q�s�?Z�ț�C�bLq
�s��1���1p�%6�]�
+cx�ow-�c~v����l�^��o��t���4��#h)-o
G�3C�'�Ƣ�Lz����
�,�!��h֒�����5����͋�]{u�-�"�۟J��}4��&����� κ�8�`7wV�@�[:/`���އBn�a
���:�sO!�#"�q��}I�"��݅=AD��0�sp{���0n7A��Ď���
),u�'5�v��_�E�KW��>�I��d8�Vc�\�w`��(E2��U3
WC=C�
8��];L�Ԝױ>pXszaF�o��;��,b/
d�YmJgR�b7s���l����)���oƧ$/�ـ�Y�C����:7��D2[|��r�,�����pg�n4�j��Pg�� [sp؄�������	�e	
��@���]
���p��R�N�#��	·�:��)蚍κ��,�;����>����?- p\��gV�^G��Ѫ�G���ER
��1�=�x��NR+�O������gZ�����]��./.���ѪA���ըh/���8<��`@�����9�{z���^��
��hl������
+endstream
 endobj
-8540 0 obj <<
+8519 0 obj <<
 /Type /Page
-/Contents 8541 0 R
-/Resources 8539 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8561 0 R
-/Annots [ 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 8556 0 R 8557 0 R 8558 0 R 8559 0 R 8560 0 R ]
+/Contents 8520 0 R
+/Resources 8518 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8460 0 R
+/Annots [ 8504 0 R 8505 0 R 8506 0 R 8507 0 R 8508 0 R 8523 0 R 8509 0 R 8510 0 R 8511 0 R 8524 0 R 8512 0 R 8513 0 R 8514 0 R 8515 0 R 8517 0 R ]
 >> endobj
-8544 0 obj <<
+8504 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.0636 658.284 229.7488 669.188]
+/Rect [179.064 658.284 229.749 669.188]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a18eff42a557fd87d59895399c7a13f) >>
 >> endobj
-8545 0 obj <<
+8505 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.7841 658.284 444.2052 669.188]
+/Rect [332.784 658.284 444.205 669.188]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8546 0 obj <<
+8506 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.0528 595.6547 179.1769 606.5586]
+/Rect [135.053 595.655 179.177 606.559]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a9afaf958c6f9dd09c89bd706dc09b0) >>
 >> endobj
-8547 0 obj <<
+8507 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.3907 595.6547 319.8118 606.5586]
+/Rect [208.391 595.655 319.812 606.559]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8548 0 obj <<
+8508 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.2512 595.6547 513.9963 606.5586]
+/Rect [430.251 595.655 513.996 606.559]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8549 0 obj <<
+8523 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 583.6995 146.8964 594.6035]
+/Rect [113.91 583.7 146.896 594.603]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8550 0 obj <<
+8509 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.7616 533.0253 158.1275 543.9293]
+/Rect [135.762 533.025 158.127 543.929]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0e39243c24d99f8d374f9c14e3da8d98) >>
 >> endobj
-8551 0 obj <<
+8510 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.7894 533.0253 386.2929 543.9293]
+/Rect [163.789 533.025 386.293 543.929]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8552 0 obj <<
+8511 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.4 533.0253 513.9963 543.9293]
+/Rect [478.4 533.025 513.996 543.929]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8553 0 obj <<
+8524 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 521.0702 306.1276 531.9741]
+/Rect [113.91 521.07 306.128 531.974]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8556 0 obj <<
+8512 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.5252 345.2265 253.2487 356.1304]
+/Rect [179.525 345.227 253.249 356.13]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-8557 0 obj <<
+8513 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.7817 345.2265 341.4604 356.1304]
+/Rect [255.782 345.227 341.46 356.13]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-8558 0 obj <<
+8514 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.9933 345.2265 369.8962 356.1304]
+/Rect [343.993 345.227 369.896 356.13]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-8559 0 obj <<
+8515 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.3523 151.7334 304.2325 162.6373]
+/Rect [272.352 151.733 304.232 162.637]
 /Subtype /Link
 /A << /S /GoTo /D (main_CC79) >>
 >> endobj
-8560 0 obj <<
+8517 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8542 0 obj <<
-/D [8540 0 R /XYZ 90 757.9346 null]
+8521 0 obj <<
+/D [8519 0 R /XYZ 90 757.935 null]
 >> endobj
-8543 0 obj <<
-/D [8540 0 R /XYZ 90 716.2211 null]
+8522 0 obj <<
+/D [8519 0 R /XYZ 90 716.221 null]
 >> endobj
-8554 0 obj <<
-/D [8540 0 R /XYZ 90 483.8786 null]
+8525 0 obj <<
+/D [8519 0 R /XYZ 90 483.879 null]
 >> endobj
-8555 0 obj <<
-/D [8540 0 R /XYZ 90 421.4918 null]
+8526 0 obj <<
+/D [8519 0 R /XYZ 90 421.492 null]
 >> endobj
-8539 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F67 366 0 R /F7 526 0 R /F8 523 0 R /F25 344 0 R /F33 481 0 R /F10 484 0 R >>
+8518 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F72 471 0 R /F65 376 0 R /F7 505 0 R /F8 504 0 R /F23 340 0 R /F31 472 0 R /F10 473 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8567 0 obj <<
-/Length 2241      
+8535 0 obj <<
+/Length 1853      
 /Filter /FlateDecode
 >>
 stream
-x��Yms۸��_��L[i���B�`�ˇK|�m�u|�%�hh�٣H
I�ֿ� (P$e]�t:w�q���b�ϳ
��0�#��"
���b�Z���=������||��o�ο|�XP1��k5�0�|v�����\c<�Z<O�u��ZP</�݃J�d���J��˗V�ɒ<�-�U�]�tyU-����Y|����B�i��!ا��0=�F�uo�_�x������֐�8c��ճZ_�I]u7����z�'���fc�"�fx#朴]�՝jg���
�D�
���X�=������FKδ�={��RX��0b��G���c:[�����ٻ�vz��_�1]fN��:sz��</��v�a�'E��\;��j6�p�̗r����J��yH�RuS��]Ya�c�����r���]�f[Y�wm��B� �l�]��|��������!��mڏh���۶ȼ޵Y!�_Bc�]���*�����8e�����0��M8Xf
-�eB�Y���Y$����2��ru���`3�2Ы'��K��G=�a��
�0A8�AQ�I
���LÁ��h�
r[6��*כ�PEc
<�6:�Sr���f"��Q&��$���
�X�"F�,�u
�@�UӉ�9|s`TGbn�2��a� +�ڼ�
�1������Z���EOC�Q��jc�t\d��WDst�ԺG�q�
F�����p
�!OF�E������"
�
-��wD�H
-���{�u`$.���pn�<@��Z�Q[��ز
a�Qc:���V/��\Α���i��B!�w�J�@2nһg�T�
R  ����������W�ZD�H�N�Z�-f�k
��2�
�/Qbc���
�
L�-_ܑ
���v� ,Eb�U��g�k��OzJ-����i
����N˒Nv�#!�Q�N(�����
tQ�2�ripj
I��wlt�k��O��ܴ�����Yq�_Q`��~��E�6����N�@�Uj՘W�ʔM���$z\��Ni2�t��Ln�WO��*KP@�ǝ�I=7.����a���۷��G
q.��
p��Y2Ы-����aTߎ�Ƃ
�C'���Cmzt��J���R5$�Ԇ�7�}>�•0I�r��ٔu�xő�Wk�L�M�X��2/6IV��aE�|0 q
-N�,#��ΰ:���Ȑ ��#��@e
xb�Կ�V:�Ḷ�Րim�v�
-��
�
(ӏ�)�}%�cO#S_��vb�&��c�Κ��ru_��T��x_���U�ز?�?}e���k���A��y�k�ɺ�F6x-K]hf�`t���{��"^-��4ڊ€���FL7�b��ޤ`T
%i��ծ�*���|�ʟ�جF;�:�e�����x6󥦳Y��|���d 
���Y'��~YҒ�Wj?����G���mu�l�C�6 �
2��P@����9
����wb_5��`�����2ؘ�l����lR�o �13I��8�=�#���4�H=�&������;
~
�N�t�>fz�۶���/_�
U
i}��{1
$&�q�|��d<�#@���w@"��|����RSi��g��]9w>�Έƒ��6��Ņy�Q�:
-�Յ^�T��ӹY����F,�攡�@M��>���ڗ��5� El
ރu8	����00`
؝�٭�O�8�����:�?�N�����K>���s���Lp `�4H�D�o�Rˈ����[�[�B�v��g{Ϥ��ߔ��ZM�T��i�X��"b�O~{G��Ń�W>u���6�h�iI��
�O��Ʊ�����>��3Ja!� Ǯ�8���ک����4�
��~�M!���S�ѫB��b���d�
-���W����L
�w�N��a�A\�RC�,�ձ�
P�
�`��;�)��e׷
3�"��M�W#g�3+�G4�Zj���x�k�T��з{jy�+
�#&�;w��uG�w��"AO�立��|y��rD��������=!�N��gE�ʒ�z���*k>�l�P ��$"AC������&������rׇD��.��7����
�����FA�����X�3�
p{���g]���P0D�ɫ+�{iψ^Aq�O�4��On�Ӣ����V�_�ϭ����$�߀�
��]��m�A�2��R��S�n
[�
d��2s��
T�!�z�jc?ہ^=燦ټ<?||D�m�lS��9�l���)�.C��#
tB[z�gR�(&aϖ;�c֥�
�
-x�ns� ��5��)��L3%endstream
+x��X�r�6}�Wp2�V��`\t�<�qҤ�ǵ���
-B�dIʶ���
o�(�4�Nl@�b��={ ,vn
�9xyup��cN��z���	��{
a�+r�G� &��1
��	
��2���)
e�z!�"���a�>:�U
&�zz!��LF��bL�(����ջ�ׄt�>��`�^�؈�l"Q��ȏ�	�x���ŀZ�� ���;�6˞$aYmW『�2O�J�i΄1qO8pF��c.�\��tf�\,��V%cD
�^
�u@`;D���ܙ-�?b'��wF,ν�Z:.e�&�����*�7BE�y
���1
+�Hu��r��T
�̗֟,�EXř
�ae{��Jӝg�WTq*K;^.�U�~!�Uau�u�R����l�s6�|t/���1�#�G�M�V�YP��Viܙ]/c�ic�
]U����s�g@'K�u��YFu�	*R&Dŭ����
�
� ���L�S���9�?b���m�K ������MV-Lo�-�,�ie���1��]���#�0�|a���3����ޭ�H�͇�-K3W*&l��)��RF�<������
��G>nR�&f��xn��V��6�H�jٳ�0���v����l�HW
���Y�ÊE�1p���
�m {������=@�a
O ��}��T���)h�E
ި@l[�9��f?&�X��n�C��k��g�6%" 4���ɣ�}���W- �ͧfҪ���3l�;ϒ�PAy4�`m��e�����#7�p�`
eB������SM	l�ɮ�,id��v�	��.��HM�&M�>
Mm"�OT*���������V
Q���~�Q�*N����@rV���0G���͍@����k-������v\ӡ�vv�s{��\��Q
�R{(
+YeEv[lTe�]
Ru��q�at���a91N+��[Y��<����f0̺�J �
'��;
��	����C
��ЁTp��֎��^��[&��MS�K E{��k>Oo���r�'��}�4Z��v���m9}FqZʢ��~0��=7�9�t��4t+��]��_���u>p'Ԡ>V@�D
�����;�������B����Q�
�-�M:R��BaM!ReU� ���^tw9����]���;t_��:��'^��������e�
������p�w�����;+�g�8( UM���HӍ�N�CD�\����3�N�_@��>�={�y�Y����B�{E\��gQnQn�A=y�����e�.g
�/�Ó�{_�dp�W�PZ@=<����wT��r�Y{��*3��ش:~���Z�
+=�K�4J��k�L���I�Y���;���H a�>�1����Y�-�q7ٓ���;'���g+g�i��m��
+�S�DԖ+O�o7�}G|o놲?�*���2�º���M]x�=��X��H�p `Z[�*f���:���q	�F��j�zw���HU�B
�|c�P�R�C[�,�r����ʻ�N�����J��
���_���
�)�2��~�։���݋�>����m1 ��LU ���.6�
�x�M�j9m��CQ$p���
���،T@,��S�
�HR��T�z��4�
+�&���7�$�+�!ߣ{�����Ӌ��M
A��zMU�u+����$N�%~��'�,�><%&p�D��#�Z~z�y�����)���"Tx�kN��1��Y�*au!
�D9��cY����5~O���}K�ui�}7�
+
������R���s����h~����c�Gv㿅�*L�z^]U��R4��A$/$a**��/��;5���Խ_̡�M1CD4Q[TU~txx�f%Z�q^��:���p�6�j!�E~��yM�ˬ.3�)
.5Yo�o��{
+endstream
 endobj
-8566 0 obj <<
+8534 0 obj <<
 /Type /Page
-/Contents 8567 0 R
-/Resources 8565 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8561 0 R
-/Annots [ 8569 0 R 8570 0 R 8571 0 R 8574 0 R ]
+/Contents 8535 0 R
+/Resources 8533 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8460 0 R
+/Annots [ 8516 0 R 8530 0 R 8531 0 R 8532 0 R ]
 >> endobj
-8569 0 obj <<
+8516 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.372 707.9571 302.0731 718.861]
+/Rect [222.372 707.957 302.073 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1190fcf4794305386f8475f9ac51ce00) >>
 >> endobj
-8570 0 obj <<
+8530 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.1489 597.5118 329.4027 628.4805]
+/Rect [309.149 597.512 329.403 628.48]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-8571 0 obj <<
+8531 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.5626 597.5118 422.4926 628.4805]
+/Rect [374.563 597.512 422.493 628.48]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-8574 0 obj <<
+8532 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8568 0 obj <<
-/D [8566 0 R /XYZ 90 757.9346 null]
+8536 0 obj <<
+/D [8534 0 R /XYZ 90 757.935 null]
 >> endobj
-8572 0 obj <<
-/D [8566 0 R /XYZ 90 171.7223 null]
+8537 0 obj <<
+/D [8534 0 R /XYZ 90 171.722 null]
 >> endobj
-8201 0 obj <<
-/D [8566 0 R /XYZ 90 148.481 null]
+8169 0 obj <<
+/D [8534 0 R /XYZ 90 148.481 null]
 >> endobj
-8573 0 obj <<
-/D [8566 0 R /XYZ 90 148.481 null]
+8538 0 obj <<
+/D [8534 0 R /XYZ 90 148.481 null]
 >> endobj
-8565 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F67 366 0 R /F33 481 0 R /F7 526 0 R /F97 1822 0 R >>
+8533 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F65 376 0 R /F31 472 0 R /F7 505 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8577 0 obj <<
-/Length 1756      
+8542 0 obj <<
+/Length 1479      
 /Filter /FlateDecode
 >>
 stream
-x��ZIo�F��W��J at 5��3n�C�M[���S4E�D(J%�:��}#�!9�,d>p{3�{��D��H�q�i�e�&8��ۿN�}<��sW��br��FZR,��;H�0"X,�L	AL��c<��<��Uts5�x��vɲ�n�Ho���]^Z�*��lw�:Yn�dysÜ��ᢚ�[����G!
A��Ϩ����@"Q�J� ?��T��
jO^{v�
i͵]���]�gQY��-f�N��&��Ĭ
挅H�0
��
-�/y��%{˒<�9V
i�d
�������ƹ<DX	f�����;
,!L�&1�D��i��pʚ�lr=����< ��k�
3�bE�i�(#^)%&
-�
-7!D�3Bi�1
��JD$S{�l��UR%Ey�7�`�BFi�n�  i��Ht�	Y�B��aW%߮n��*��t��$!Ą*�Er@�H
�"P���.��CR�@���؟����s�j�;#b����.,7QlAfe�2��{K6QZ�x��$��!
��oi#5w�F|݊Kߧ�r��
-H6�N�m��z�
f�%���$q�c�X/>>$�
뱨>l�tF��gQZ_5n�r��զ�
�X�=Dv�j]o��[��iV���M�HA 
/1W�x�ɐ 
2����8�T&q.��ڣ|,�}GBވe���̒��z�I���0
�3�Vj�Wa:7&]��bmb�h���َ���1���?l
=M
-�Y(�OLրǓe�+�U�!]mW6����,��jC
��SJ��!8�)�`zEQK��C<=JS
(�����qH�Z��m�
��l�(�4G6ʄ��?��C�yȼ�J�F�I2F�P�E{lr�;k���:�5U��L��QE;caJ�s�q��@�I:by'
-OAV
5}��!S��%T)C�3��u~_l��qs�+!Y�����ѫfl躙F����>� �x�
-�+
-DW
�I�,��lM>l�4N�w���w|
-UljI���
�iSb�ӆ9��q.^o��v-�Y��1�!Ѹ�G�/:@�ѶpӶ�
x#��U��#�}P�;J�
G6N��q����U�1�/�� �D+�dWw, "׮�,�RC�]Z0��UWm�����h�)��ۡ��f~��
Z3!�G��C����Rǃ�5F��O&�@��ڊ�G���8�� ���; �z�g�����?�t�_PYs�9�)�(����p����u
�B�	�
 N�>gP�"�4�/�'}��"Н���"�M	���ka}Ơ����
�&�.���
�#����g�F�Ꮩ~���N?ݻ:mX����I��^X�����e��f{фX8l?g�~��V˨��eU@�n�f�U�sH'�kz�C0�ɐ�Nk�+,�
8�D�А裉�J
�,�A�k��ç|$�(�yՊ�7q�z�0q
@�'���~���&�o����^�����
�P� �}s$�n�~����B��g~�`��e���Is�I��8?�R���d�~�<g���?G�b���h',�t��Vj��7}�!����ˆ&5>����S��Z���e���'��@�H8�����e�#������O���C��}J�p�7�1�"0u~�W��
H�tǭFs���ѩ�+c��_{�p}i�����L��M�[���(��
G5_��	P�!3�CG�N��khH6_;������v�
�Ί��B�����懪�\^\<>>��D�<�(�.6�좏��*�

ܼ`�x�A�������[�j]$
��Mh:�0z���1B�endstream
+x��Y[o�6~����f͋H�ٰ�^2�݀�ɞ��Pd&��$����%J��iڵÆ $�rn<����9��e��j�<̑H
+*��[Gb�
a�k��X�p	�x~� x
�i��XP<ϓ�F��p�[|S�����.�q�$����Fj��($���C/��^-�	�)�>h�
�S���Y2��`D�lW� ?,\����/o&�z
I��=?�ک}��U�H�ZH:Wi��Z�m�˘��
�!�
�u�j�T5�<
 
�V$c�
�^^���������܉���k�a�������W��G<�r��
ۣ�G�,�c��@Dx�r{a��*��ڐ���9�� �X���
ڈɶ�j
�*��<�R��
�v�
Q鷾_mTLpa������8��
��*ҹ�Xad� �I^���hK��#�޹�@��:�j3�����S�!�Y��e���
�TY�wX#�����օ��浞��u#-��`y�	�\�7����T�6N4;H�#��q��@�<x�1R�6�~\�獈J�������J�%��@��4(s��u;��u���Q�i��ϸ�� ���A�8��j]�2"
?��6�qO�����R�64.�q
+��a����"j�Q��b�C���N���|�7�/TU�pJ�̓���Iڛ�I6	��J�1q9�^g�1�w{�H��E�-_�����\ <�

xC��M�i)N{>8�O�
����
�8�D�MH� ��C�<��ʭ���徂\i��Ɗa�a\c��#���B ��K� 2QT�?�]Q���$�DH@���EG����.�P�`�	j=x��X؃-�-Gya"���.�z�8u��+mވ<�g���
��TᔃҾa�C
!�x����{
Ea)�
�>�i����
+�,���'�s���t4�@�'_�^���҇0�׫����Y�S��St�e���
<}�
tq��:n06�LĕݝFyZ�:�I��]�7vsf��
+�'���{Џ�!d�P�N6(@4����^�i
�Yc���c�z�cf�)�&�Ӝ�{�4l��<o���`��
�ٌ���v�Q���B01��)�f �L�6{��o��|��8
m��)�9A�p3<����X��IM�=Rn3�a0���a�5�'�_�k���C}��K���G�6��6�|��`r�6���-a�>aW͖��y�#l�A�����u�C��%d��l�ᾯ@���j̱2$�~�h����j {��Z�����2�a��=�
]� ���ǯ� �a�����;7����Nʯv�'
�� 
�9<�o��m���x�0�$M���O�"_��`��0
�?M���y�ׅA3SU�g[V�O[?͏?+U~oպ�{�mäy7��~P�
Lj�_Q*�Lj�V ��R)�i��{�}{=�3�`4�
��K�����r���PT�m%���(��}9H�Ө+���Cw���=Q�f���!�
N���
+endstream
 endobj
-8576 0 obj <<
+8541 0 obj <<
 /Type /Page
-/Contents 8577 0 R
-/Resources 8575 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8561 0 R
-/Annots [ 8582 0 R ]
+/Contents 8542 0 R
+/Resources 8540 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8460 0 R
+/Annots [ 8539 0 R ]
 >> endobj
-8582 0 obj <<
+8539 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8578 0 obj <<
-/D [8576 0 R /XYZ 90 757.9346 null]
->> endobj
-8202 0 obj <<
-/D [8576 0 R /XYZ 90 642.2496 null]
+8543 0 obj <<
+/D [8541 0 R /XYZ 90 757.935 null]
 >> endobj
-8579 0 obj <<
-/D [8576 0 R /XYZ 90 628.2645 null]
+8170 0 obj <<
+/D [8541 0 R /XYZ 90 638.659 null]
 >> endobj
-8203 0 obj <<
-/D [8576 0 R /XYZ 90 461.9653 null]
+8544 0 obj <<
+/D [8541 0 R /XYZ 90 624.405 null]
 >> endobj
-8580 0 obj <<
-/D [8576 0 R /XYZ 90 447.9801 null]
+8171 0 obj <<
+/D [8541 0 R /XYZ 90 416.526 null]
 >> endobj
-8204 0 obj <<
-/D [8576 0 R /XYZ 90 269.7258 null]
+8545 0 obj <<
+/D [8541 0 R /XYZ 90 402.271 null]
 >> endobj
-8581 0 obj <<
-/D [8576 0 R /XYZ 90 255.7406 null]
+8172 0 obj <<
+/D [8541 0 R /XYZ 90 180.38 null]
 >> endobj
-8205 0 obj <<
-/D [8576 0 R /XYZ 90 89.4414 null]
+8546 0 obj <<
+/D [8541 0 R /XYZ 90 166.125 null]
 >> endobj
-8575 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R >>
+8540 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8585 0 obj <<
-/Length 1951      
+8550 0 obj <<
+/Length 1580      
 /Filter /FlateDecode
 >>
 stream
-x��Zko�F��_�O�T�y?�m���.�J�D
l�#�����t
���!��!G��M���H�r���s
�)�dj�T	�
�r��M��-|��	q��|�5�r9��Z��AFR9]ޖ+H�0b�\�����/�xv='xe���zN�,�
7�:�n�O�dQv��tEm�Ǜ��n�o��9ѳn����_�qHx3
�Yw��,<H#����g�x�u/�r���ƽ���U��Q�W�-����a�}o�`L!!��. FR��"��˝��UeȱFXH�$c�~;y�l�o���Z0�_'�^�����#f����
F�:�M8e��v�r�S��} �57,�fA�C�L!��4yF	���^l5���dL!ŵr���]<_hJ!}��� wF��C�y(��,�fJ
�L��<
dx��T	/:���O�*o"4����f�sA��-���^�6.����}{9x��Pt�
�*��E%��
e
�e��B�E_
s���i>����"���� ��L|g�]\j�l�U��&�؆�4~w�&��x]����0�4@+$)���_�%۵���8DI6�x��I��D̎+���3�;No��U�
��µ������㥼J��8K
-��
�C�r��d��$�����i�-&^ ��<8+j�E�j8/�A3X�S(,���n�-�,���'l�S� Hc=D��Pڄ�vն�<�D��(
�~c5��U�N���&�gJ��/�>߸���!K�%;�k����tY5B�N�Vh��&j<�]���b�bҔ[{�n
-��������u�"�����ȋ���6޿-67q��� ��Ck=
��j�O���fL|�M�Ω�ݗ
if�m���d��5~�[
���$2
-��h�p��gclGd$�fW��.�
-��U70�+�UA
��
s�%3�@��Q`J/�A�YN����c
�#ch}� �
!�dV��^��-����
aЏ!

-MK�AW�^5��	A`e�JuCX.]� �!� ǷĤ���&���55��@��0~�Ǜ�����Ǜ�V�}��u�IM�?�FZ�:��|���Տ?\��?�,
ؔ��1
��1�~��2�$���:�s��;��r�rS�Om�u���E��֭n�,
-8�,�
-�Q#"E?��HI\��./�X�m�6��9���4�k�6�崴-�[��3ܧ[;O��r�ڋt�.�C�J~���IYф���R��������99Q`�
�AJ5}�l���ࡡ���>dQh
*s�I
Z
�%�|�n�����a�<�l��|�~��68�EQ}��<K�q������Fލ
�ս�:ZM
KA�h1���@3�o-;������q���g�[��4q�Pp,�G����6@&o�Y���e`p��n��z�r(t"��u9���ο��@'�ȴ�O죉^�l$z�ٰ�=��YK}�{m5����F�&��e+6��Z�'r�r�l��U9[��mgl�>��
D���&`�&V/�c�a8�@g�8�2�V����K��-�9���-��-�ny�tB��	�J%\�E�/�
1����K'\v���}���.�ڍ(��>J���.��.����
��3ꅿ7���r�E=X�Ї��!�
?�^�_A����z!�"
-��8o�Z�&nDc`,�>J�� ����0}k�Ψ����e�5�^<�O�^+�ĜQ/]����fT/���2�
V/��'R/���6�X��+����K��X�(N$�6{���D�a �"����bz��3�hP
b@
4D����?
-��oH7-6HL�ߊ� �޺�a������ub���w
g����t����.r�g��ov)�͡P���{���PEV��� UO�;���k�ټ��Q����v����(����h���}r�PR\
ۋ>.f��+3��Ec4��E��EF�=,���!�.���̇/�$���1P ��XMcendstream
+x��X[��F~����Rυ�U[��f��I�M�R�$�X{v�ʭ�����f��b'Ms{�d��r�w�����s�`�ك���B0'D��¹�qB��!����K����#c�rN��i���S���~��e�|_�Q�?;��8J���ZoWj��,�D�9����W������`Ns��f��&�ea;�g��ܣ
�?S;x6���P�v͏Gv�=O��2�]�CꪴH�Z�e��X����`���Lݨ�1���<K��ݒ1��
^���x�
����J������Y���F,�ή��:>epM��?f؆
+
�
ƾP�����6Q�jUVg�!� P�
���
j�YU���
��+8Һ{�Q�j_�*5���\WyV�eg������.������0_�7{;�ݷ��rι�F&
���H��#��e�V��c0�� ��ݢ��ggq6���&J��2*o����S�
�� O��)ww��c���6��A
�
��� �fU{MWyZDu|��廸��ř��
���������6���8T��
`�Q�Nt%�o~�De��f��2/OapD�`
+��}�1ݪ�Vv���
+�hn�9S҃�1��nw����g
/�9�.��ZW����q���3c�I��vYP)���
��mF��	F
ϧ�p٣[D��[��h�p��`�x3@���f�/T|0�$�@���\`�P��K�{�/�$�R"���l������x=¥d���R q~Ze�}>P��Q=�r�C:r��A
��v��}�9>��2���<���7ƀAɂD�kb( ��
���d����h'���$ΔF�T�I������A3!!5< A-e<����*A�cw�W+�Z��ܯ���ķ�KSi`�9����9���F�q'G�x�����s8��z8�o�iu�Д#N��X��(����R�6�_��sKu0�j�U�?�TsD�n�TK��T���� ,Ň�� HFKuS����k�Nذl�6�h��0N	7��
)��OX���b,� `�D���~i>j��
�>�
+k�-�8�U}�
��D!K$eW�?��by����'�zt�b�� �Q8�k���5$��sHr
�Ǜ��	��5n�<
�>��l�,'tMŨ�a���b�57�5��_�\��.��
�G��`�VM'Ԝ���лlR{�n�W�=T��J
���:Wvb�[�dj����(
�B��W�;0��g�hd0����$�C#�K���<DAС�t���hR/$B�ӦP8�wS�jj7
"Ne�`�a�B�0��]�mߣ]�򆴨��C:����O�R Uٹx��CB=�K>�$��S���3n;tŭ��1
������r`��t����0���n�`��7��Ӎ�=�ߘ
����~����=�ycQd㹋�Č���;t`�>
*���(��}���t
}�v��d�_��M���%7
�O�U&��@����ԥ�N7}����̭m��͟�*��{�1�F�6��{�7z+��/�z�W��0�����+e=5���_gM�FS�9|�n�8[,v�
ZUh��E��zQ��~>
v!Ϡ#����/��j�
B�O�_+lj�
+endstream
 endobj
-8584 0 obj <<
+8549 0 obj <<
 /Type /Page
-/Contents 8585 0 R
-/Resources 8583 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8561 0 R
-/Annots [ 8590 0 R ]
+/Contents 8550 0 R
+/Resources 8548 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8460 0 R
+/Annots [ 8547 0 R ]
 >> endobj
-8590 0 obj <<
+8547 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8586 0 obj <<
-/D [8584 0 R /XYZ 90 757.9346 null]
->> endobj
-8587 0 obj <<
-/D [8584 0 R /XYZ 90 733.028 null]
+8551 0 obj <<
+/D [8549 0 R /XYZ 90 757.935 null]
 >> endobj
-8206 0 obj <<
-/D [8584 0 R /XYZ 90 566.0549 null]
+8173 0 obj <<
+/D [8549 0 R /XYZ 90 612.595 null]
 >> endobj
-8588 0 obj <<
-/D [8584 0 R /XYZ 90 552.2929 null]
+8552 0 obj <<
+/D [8549 0 R /XYZ 90 598.024 null]
 >> endobj
-8207 0 obj <<
-/D [8584 0 R /XYZ 90 327.7482 null]
+8174 0 obj <<
+/D [8549 0 R /XYZ 90 382.122 null]
 >> endobj
-8589 0 obj <<
-/D [8584 0 R /XYZ 90 313.9862 null]
+8553 0 obj <<
+/D [8549 0 R /XYZ 90 367.552 null]
 >> endobj
-8208 0 obj <<
-/D [8584 0 R /XYZ 90 89.4414 null]
+8175 0 obj <<
+/D [8549 0 R /XYZ 90 127.739 null]
 >> endobj
-8583 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+8548 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8593 0 obj <<
-/Length 2091      
+8557 0 obj <<
+/Length 1823      
 /Filter /FlateDecode
 >>
 stream
-x�ŚYo�6���+���@��>��@���3�u��E��J"�We�I�}�&%�M{�"��g83
~dD�����
-��p�
��-<�~@|��'m�����;)�I�pz��A2���������xB0ƣ�1���\fW�c�G���]>/�����2+��Ͻ@Ud�����|~?��W����n���g��RHh3
��t�I#��g��
-<zF���H��!c���|}��o�v뺛�

���"�r��p˜BB*5��7�d����&ߍ,_͜ �a!}��Q�t�|���:�+��`���
^���9��F�h1|���1t�
p�����෦� �knX4̂�S�L��Li�(�c]�<���`+#��)��V^�z��l��'�R��e#�����H[�"hd�0Sjg���,�፵�RxҊ4%a��+���Hf��͵�A~k��[�x~s�f�q18��	Ub�x�^m���e1wW�9F�
�pmp���2b�F�����y�S����n�n
-�!��Ǣz�r���PA�)�G=k^���)�kӾ�*��HS���/^}��ϗ?=������8�ZR/n"�.a8��^�E��!�&T��Y��z�ރA�ߛ�<��9xD!��.���W���l�]�|�)�ˠ��vN�uW�HW�b^eŪX�F�E��Bt�

���A�	�|���]��./��[S�2�M6��b����z�n�7
�f����2^R�%y�2�B��T�:Bbc̠/f`�jٮ
P���ܞw�L�bP<b�
i����s
�D&L�{݇ �N$
-������0��U���i��>$k�{�[�
���X���%��:���KX"!�#���%��[-�/�v	��>����k�'$\kjo���1ڙ�f����j]��[H���%��m���-4H1㖹珳|S��K�vLy"D=+�!jĬ�j~~��W���U^��~�+�,�u��T߈0R��5,0bzW��T�
vȌ����싕	����*RA��<YA9��K�ˎY����R��`~�/�
���P7���y����YH6�jY�&P�$��1�!D�h>""
-�Q`b)PhZD�B�F�y3����T��V �����!VX�ۨ^�`�35�QӖEB�w��,�
��"4��aZ�#��~{5HEđ�Xn֤�0+�!��

y_��

,�)�a��+o�.,t���c,�%�<�Ɛ:Z�z�.�`��8�̢����G��r7
�u���V�c�'������ON�l#����60�U���F�
�N�Bi�A0}<q����
9𢡄=�������u����`w�T���f�
�h	
����?�8��#�ҵ# �Tg:�)"V:9�F���C�
-�zC�Ӗ��E�o�|��*�5
�Ί2�׶�C2&��i
k	�G��-��]-v"_��7|��
��@��kƄE5y$�[R��	��B���1�u�8�Z���:�=_����u`D����;�f���|���Z�ʶ���ۉל��+(le9gQ��
{�l��i ض����e5]Cqf��p5�f��" l�O lXw��XT�XTB}��
�Z$�i7�#l+�k��7��M�6�y@թ�-�mX�G:�0�����$���o 
X�hI�h{���
=
���4��<8(\�.�]���6���u1B
�n�&FH1`-�N�V��f����H'�+�f��I��1���1`V�� }?E"T��'�g
>mvtЙxt���G���� �H�<�Ґі:
 jwo�1�	���Fl����$I����k�@4�)�:���8O���
�J:�('��m��k��:��A��8R�?R��Ȗ�-��v�mu�'#uLy*D]+��{;�Nzb��=#�H
񑏬��S
Y��Ⱥ�]������D
��b"�|�O.v�� J*b�	d�Ĵ���6"�9��-$�mM���㤻�}��������s�����׿�+(����b���E�U�w]C�&*t�k�{X_��g�¤�����5�^�v�wU�9?;{xx@�-�_���f�8�����ʤ7i�z��gZ"el�Y��%Ԧzu��ˬ [...]
+x��Y[o�6~����f3û�`+�ކvm��
��-�V
a��IJ���
�ԅ���k��aO��<<�����:��/�Nj��s����2X��d��U�aJbj6'��ь�i�o����lsu����Ur�G��ᡛP&�fsu�6^�/���Q>#j��C9��xy�Ά4��4u��~�S<�F��z�S��lN�>����Xΐ֢^�h��f�'��(���L�i��m�26˂9c!Rsp��1o�Ӹ2,N�v
�
+av"�����b����[
�ʽ<DT�`��|����`Ĵ
+.�YۀS�M�n��������
+Q�p�
#z�Q
�cc>Q���W�8���l�(� �+������A�� 
�q&G#%�捶�P8��,皯B(
+	1�P�4� *�� 57Cv
�'cf{!���s����,-��7Oj�PF+;<�t}XIJgsq��*)�*uAbZk�;N*�� ���'�0�Lʫc�f�%+� n�u�,����f���
OR*�'������^�z����y
+�R
��{d@$xL�&X�t���1�,��m�eR~��3�.�
���Pv���d�r�&��]^E�ճ�<ۺ��^!�n�
U��*��"	���5��ʼn� �2J�$]���_� 0'��#�
#��YgyR�m��gYכ�pΈ�V!�ޭ��ML3������}.���,u7�.^&1�0�B4aP�i�#��j�6�8�� �(4
+��
�YM_�	UHB[��PH
*��I1$
#B�n=�>n9�k�3�� �=xub
`Q��-
`,)z��-��ps��m��
+��|?�b�s(5t
J���~fP�F���<$�Y
�r9S�s�]�t��d�E��|�N{S{y�t�^1�
h
J$�+�5
�be����V��!#��e�:����X�����z;�2{=q��
u�l�ͯ��U�t�ɾݞ�s���@��>Źd�k���ު��^$����ҿkQ[��x�d�u�����ܕ��/��nq]����M��˳�8ϳ|��P ���y6�bzQE
���^],t�X�#V�U-�t8�E0ָ�u^��yJη����iAs]��1`���>�5:��F:gI�
���qR�?'m8��'N��(���q_M�M�� ��7&�4]Rj
ɓ����ؠn�X�C�
)��}��9�Y%s�I݂{��ۍsO	쇏sO�P����t� ކ{��b5�5���;�(ׄ/����A��Bc��vC� ԅw�
֣Mȫb�Z�]�,�KV`7�[V���%�4��������z�����;��w��V-_`b���yiZ��T
������)�mm4|��
����ῴ�E
+�d��iM
�!�
g}���f� 6�
ǞL�����
�r�B"n '
-,9�ڑ���A�M�D�DNj�B{Ĕ�N���4����r���(o���
+��;c�m
!��
�9ȣ���X$3�]I��o�F  �Hr�%"Xߎ9i��p�9"T��m�ӜC����Av
j�4}!���K�N�I'٥O�ķ�L'5�� u��{�L���)��z��k)��罼	p{���mo�x��E���)�O��$�V�y�
���m�{pԉ?��&hE��`�8R���]�fd�:q�C�g%ݓ`�<�no֒'��#Of�ь�f5s��c�Wl��~h���B�������M�';����|�
�Lww�u{����ۇ?�8�~&��A�u��G��4��F�kS
02֐@����Jͻ8v�Z��
+�_'U�Z�)f���m���������-
t�&�
%��n�9���V
+�k��i�v
�P�9x	_BCA�J)��
+endstream
 endobj
-8592 0 obj <<
+8556 0 obj <<
 /Type /Page
-/Contents 8593 0 R
-/Resources 8591 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8561 0 R
-/Annots [ 8598 0 R ]
+/Contents 8557 0 R
+/Resources 8555 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8562 0 R
+/Annots [ 8554 0 R ]
 >> endobj
-8598 0 obj <<
+8554 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8594 0 obj <<
-/D [8592 0 R /XYZ 90 757.9346 null]
+8558 0 obj <<
+/D [8556 0 R /XYZ 90 757.935 null]
 >> endobj
-8595 0 obj <<
-/D [8592 0 R /XYZ 90 733.028 null]
+8559 0 obj <<
+/D [8556 0 R /XYZ 90 733.028 null]
 >> endobj
-8209 0 obj <<
-/D [8592 0 R /XYZ 90 541.0681 null]
+8176 0 obj <<
+/D [8556 0 R /XYZ 90 512.901 null]
 >> endobj
-8596 0 obj <<
-/D [8592 0 R /XYZ 90 526.732 null]
+8560 0 obj <<
+/D [8556 0 R /XYZ 90 498.972 null]
 >> endobj
-8210 0 obj <<
-/D [8592 0 R /XYZ 90 315.2547 null]
+8177 0 obj <<
+/D [8556 0 R /XYZ 90 307.149 null]
 >> endobj
-8597 0 obj <<
-/D [8592 0 R /XYZ 90 300.9187 null]
+8561 0 obj <<
+/D [8556 0 R /XYZ 90 293.22 null]
 >> endobj
-8211 0 obj <<
-/D [8592 0 R /XYZ 90 89.4414 null]
+8178 0 obj <<
+/D [8556 0 R /XYZ 90 89.441 null]
 >> endobj
-8591 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+8555 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8601 0 obj <<
-/Length 2256      
+8566 0 obj <<
+/Length 1776      
 /Filter /FlateDecode
 >>
 stream
-x��Z[s�~���S+͔0�O��f��I�m�]���vGCK��V"U�Z���	H9�l3?��s����L0����%2���rs�'���_.H�:��I_�����)&I�d~׬ �T��|�aJbz����fF�4�6��fF�\??d�*]|��Vi�|u�
-�y�^?/�e��2[-n���������7��6�
-v3
����I*�(���f	x����"�r��ᦝ���U_����-7�:�6�uZgv�$aL!!��$�
#i����Ʋ�X:A�5�B�K2���s��\�ւY�����G<YA�����-&�0��C'�
NY7X_����_Ǿ �57,fA�K�L��T�qF����ȹ� ��X�R\�V�~�fE��f���y
Hb�<EX�%|��:��%=��3%Q�F
�@��6
���g��&5"Ԑ0q�$�w��e�H1z�-��&�r'�>�" 8�i:hY�!͓��Q��x�/��3+��O��^�Ů
~�����H׋��6Y��΀�T��3M� ��qH�5�\���0�/A�^��E�Hִ����U	I�=�3Y�pXu��ֈ3ޙ�l��ϑM �(�]����C�N�?���ū���|w��o�?ƔfHjI[q��,�pb@��0��b��G7�<� �"
-I�
F}��׫�S������A��
�Z��
w�;�&�I9���uu�yq�� ,�Qt�:�%
���!��Y�׭6u'�ۦ��q�o�b��Eh�
4��IZ L��H /�!�1B鄒��)� 1`�`-*ô�e �uV��'�"�(�����>U$<g`�0qX��`w"�P��[�Nw
�K	�?�u>�Xe�*�eEm+�a�u�>oۗ��
 ek4�Va(�ˆ�aޝ}�wz�S�	v��Z�3�wR���n�5	w�nuj̈�6���Ӟ���(�l5��K�OǓ�/5��BJ$%vPu��̶5
͑��m>�c-BԉY5v���j����"���:QFAɊ��G=�N�#�
&�󇪜Q1}lp�L�;���9@�	!�XH��,�|P���,G��\v,��a{o�M��o�7���)��⊵e
-P'Ҷ�
x�j�"ܘ0`=f+r�PG�6���6��M�m?��`�/qSo�$�j�h�8��P�}-p�ޖ��RQ��O�J�ƒ��q3��I�'�3�eoY��}��3�+#�l�`3g�v�
hє��¦|^�4aJ ��8ߣ�x�	p`P���s��Ϩ�+j:��� 6���C,�
jq���jpU6V�CL���VڈۆƗ��h_�C-����
�� g�
-}*Ѿ�
/��%����2u>��)�K[��NP.{ڮ�e^Ǫ}��8,�&���U�,V�un?>Y���
����e٪���*
-p>���rDq� �D��
t�<J��	
1N��a�2Z��M���S������6Ȉ�z
�Z�x�mn�ʭ�f_,��.��>����
1���B�%7?0�0��![H�0��MS
g��R9&�B���t��ћ{�Fș�Ni���e�v�
�swa�P����
�����B�\�>xs�
xۇ�-������/�n��w�.�^�9���a��a�G�i(�w�Ȑ1�
�8"��_��wµ'���`��:�"P�r�Mq�����0��wY���]le�g�)RW�,��

�(�� -�ź�Z ���.��E��д��1�|wN
�{l%��_tŰV#.u�LZ��, �
�q)=��Q���3w}��6��ؼ�͋m>��ho�o��b���S��W��j��X)�����z�K�*FC9��9P&l��&t�w���l���Mf�6��o�Y�w#v���5o
�� cҳ��~;��=���i:�4C��05/'��4<^
M���@�Vy
-I!�A|�)�⎦����� ����o �8ŶsĶ$�
CP�˲�/�8N!��8�>�v���}��n�#�%טp?�YPL���}�K���c�K�R�\B$HA��b.�m>�%'ZĹċ}
��z��%'�Ĺ$P�3��dXQ�A_9���i�{ե���g�D��ыt

)������_C 
���!{��t��A{c[[K�c7lY�
~����3!���ߦž�9�"��⫃�AUlѱ���}�
��*��"*t�{��I��׃�~BқᎨ�Y{�������W�����h�C�"�V(�/����^�BWf,p�:�%�<�0r���]�v����k��t�
')d�`D��>��endstream
+x��Y[o�6~����&3û�`+�4�Ю]�&V�E��L,̖<Ii��C��ٴ�uMۇHJ���~>Z8�p����|t�D�@!%�
��H2��j�
	A,
O�8<

&�2�8
S
拻������H���CGP��bqw�J�n�zvqZ�I
氨��ϟ
<!�w ��4�A����-�@&�e��8&?�'T���+[ΐR���h
���Nj�,-�󱢡^�I�Ͷ`�X����	C	g�W�J׊�lj�8��׎%c�<
����x�R��G��"�.Go��`ϟ1�5�2����F��NWQ0�=W!�v��zZ��'V�E;�
���6��V:K�z<���c#Q!�?"��

SKT��k;}���"*�NW�3k�Xa�����'j���o�d�U��b��D���0��1��ؙ))�L�$��b&>�
�:�>�b��!�&�ĥ
+UP;��^}�&���
x�ge�������<Y�
J�@T�}:Ǵ��yLR�'�z<~�P>k�t9�01��
N�h��sV�1��.l��d�"D�R5m7x��
+E���/�b 'A�����Ǜ��/_�>?����Ø!����	'
+��Ыo�l�f��� poʨ�yMyt�.f��&vX.
�"�i&W��c;�&8P
`
g~?�dU�fiv�5E
+�u�4qߑ��A�ϵ�4��"��4UCS�����ҥ��4φڶ������m[�"
+�
I�h����Ey8`�1�u
eʛi]�o�ގ�E8R����^��ЫB�:�����
W�v�t//M��V�&H>q�L�B(N|ɳM�"*Ć
+v󘈰f`��ܙ^gy�g��"#��ON>N����G�.��jvx���u5��E��t��^FQ�[���o�SazeG��E�F�2��I&��vg
G��Ƶ�jm��w�2��.o�v��ʩg~�\{���ؘ�_����S�&
�#P� A�
A�����o$IH���A�Y��V�u�%��X	T'Q��&%�P	XP���Ա�"%�3U^�@�.�J����8F��'����>�#��7���¤H4��.����~=��U���=��&�bo@�
+_<Yy,x����<v�ϗ�N��`'��؉*Rc'3Bo`����f�����Mb�8��55.;�N6��t0b,���n�f#5#5��E������ک1��>3R�3�P�L^y�&�)��~�9��}t�P��
����6�t�ڴ��ON;�n�s+dEԾ��;�^t>�"Ë���O&��>:kBV@�Vd�m�
�:���$��{�����7P!��!r���R(q��j�N�ʇ� [A��r/�2ᤋ�J'Uj���k���fuk�l�v���C�O�>��ȭ8��9s "����YL�QՉ����R���f�J��x� �}�)kTS����Η���y^���!��kS8˵#�r'Y�&��f�gnR��4}�1mH.�|�ݠC&���z��
���p�
>��J�}�oˀSI�;m4����f�+���z	M!��H&�T�@<j��]v(�j(g���ʡ.
mmi3�(i��u�
������)�H��fq7�"�
S�Q� �����9��;/]ل�û�e��W�j�81oӅ���	ܗ�K�u��?��)��{~A�����~Ý�~9�����~j$00�-
d�
��k(�?��]��H���g�-�Ed��K
a�
�>��ij��;hf���鄦�|�j�~^U�Ã���[4-�M��
+�V���`�i
w��e\����n	7�&{�m=N����
+endstream
 endobj
-8600 0 obj <<
+8565 0 obj <<
 /Type /Page
-/Contents 8601 0 R
-/Resources 8599 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8561 0 R
-/Annots [ 8608 0 R ]
+/Contents 8566 0 R
+/Resources 8564 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8562 0 R
+/Annots [ 8563 0 R ]
 >> endobj
-8608 0 obj <<
+8563 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8602 0 obj <<
-/D [8600 0 R /XYZ 90 757.9346 null]
->> endobj
-8603 0 obj <<
-/D [8600 0 R /XYZ 90 733.028 null]
->> endobj
-8267 0 obj <<
-/D [8600 0 R /XYZ 90 524.6879 null]
->> endobj
-8604 0 obj <<
-/D [8600 0 R /XYZ 90 510.1176 null]
->> endobj
-8605 0 obj <<
-/D [8600 0 R /XYZ 90 404.7514 null]
+8567 0 obj <<
+/D [8565 0 R /XYZ 90 757.935 null]
 >> endobj
-8313 0 obj <<
-/D [8600 0 R /XYZ 90 382.4396 null]
+8568 0 obj <<
+/D [8565 0 R /XYZ 90 733.028 null]
 >> endobj
-8606 0 obj <<
-/D [8600 0 R /XYZ 90 382.4396 null]
+8179 0 obj <<
+/D [8565 0 R /XYZ 90 524.688 null]
 >> endobj
-8314 0 obj <<
-/D [8600 0 R /XYZ 90 265.6762 null]
+8569 0 obj <<
+/D [8565 0 R /XYZ 90 510.118 null]
 >> endobj
-8607 0 obj <<
-/D [8600 0 R /XYZ 90 251.1059 null]
+8233 0 obj <<
+/D [8565 0 R /XYZ 90 294.215 null]
 >> endobj
-8315 0 obj <<
-/D [8600 0 R /XYZ 90 136.3799 null]
+8570 0 obj <<
+/D [8565 0 R /XYZ 90 279.645 null]
 >> endobj
-8599 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+8564 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8611 0 obj <<
-/Length 2158      
+8574 0 obj <<
+/Length 1579      
 /Filter /FlateDecode
 >>
 stream
-x��Zݏ��
�_����-���4i���}�

�=��ڒ+������h$Yc�e��6���D�
��I��1����c%2���r7�����#R?���Y������7R�
2���|]q�
a*�x��0!1=����ݔ�IR�Ż)œ|����"Y�5}(�����&(�d�}Z����Ү�)ѓ
.����ww��HH3
�s���)�F��_�7�x�5��#\9C�pS��\��&��g7�:���6)�{o<cL!!���FR��ޮm�3�-=!�a!k��qww�v����+��`���}���+p�w#���b�c�x7�5�я���|��_sân���g
-���J�g��}]v,pf[�AWF<���Z����f��NgBp|*<�In��s�'r��17SgqB����Ύ�C�o=�K�<�]�	%I��g:	�̀�`E���:�)��D1>`�����1[
k��n�<�n3��`i
-w�/��P�K��lR,�~��p��B&i�yK����h%�w^����i�g
���4��4�M�?�^O�e�$�\7F��f[���']N�Q��AO�$�>���1�8�7Q^GaJA:nhҵW5�V~�g�'��G}	�C��g�	u��|hk)i�_�]3
-	aњ�'�YD��nM]n�CL>$R���j�S����-}
-�o�v���z��rc��P���P���p|��|
-A�8�‹�&P-�C0K:�4�f��h֥�g at m�x1��d]���ݗ܇�s�S�%Q�=%Z�g��'�Cߒ95���

��`&�t�H���;��=��Fҥ�A��T}eBgc�$�u��|Sx�d��)b��fwL��K$�J��]	�@VQ��*+
���4[�}R�[�"�hF��gf�7"T����pR�f8I��Pb�C�d
P��@I���"PV�	v��PQ� �" "$���!_��Yl�lbb/"$���1���Ku!��@Lu+@�d dO�8@�d_��9dO�8@ʼd �+ at F��& Yy��
�Ɍ�#$�������%��]�o0+�b��L�
�XQF�OI�Do��F�7�œb$�aa	�Un�p:�2uY���\�.VM�?
��,"�"�$w& �o� %��t%����"���c�[0m[���]�5'HP��5��W7W

 ����!m�J��/�—
nդ�sXg�Mkρ�P�����_ at V+�N��e(�尸��#B���]8̯�t��6A��!"��^��q�D�����I��:�i
-璞�er���q_X���/4��цu���ciWk ^P^��ڦKu���������d
HQ�b���)0P��4�8-Y7`�PT���h��r��o#$	��Wm����օ
(�$�ʧy]���
�O?��.˖6�F�Z��d�0mb�����[��Ր�j� 5��BJ
������J�M���2(|���kg���݀�`���
�!�TC�߹����5,���
�

�B���V6�wi����zIy�+����d�j��P=���*�a�
U_tpƈ볉����i�oK��$
sFa���KU��[�ނ�p�r(%��]�˸A%P��K�[���`9��B�4d_�Z�����7Ł2�'Mq�
�
-	� ��_��¬z�|%Ҳ�D��Ѩ�"5r��aq��b�(k_��Se
-w�"{Tq��K����9VM[�N��X���F3c�6TT-�߈�P�C߆5���0T� ������5�y��f��n�T�A���܏�΂yk�uYv����pt�Ӽ>�%��f�#_�;�ӝ��t�F�;Tǧ;,���;�T3㰍%H�ο��鎓POw.0�cFQ�9ݩYk��%��8�|���>O�2�7�v��������[&G�q#��W!�
-e����ur�œ������p���[�Xc��v�{K�黕zH���[X�8�2�
���#U6iD
-���V�딐�!�
bD���]%�n��
	o�e�o���1���-~?bR[�$;&�xڡ����4!U�K�yO~���4TU-�
-
��sܬ�?�}a�y�ihO���u{ޔ�������-蘥����~��;׋�f�C�6�YK��%�<��Z8/]]���a�7�fps��.�B�	���+Zw��endstream
+x��YM��6��W���@M�Q��&[ M�m��%

���jeɕ�x��w(J�镽I���^l����7����8�q���hz!Y���TWׁƁ�
a�J��!!�E�	���c�ø\���1�a�ݮLR��颌��٬
P�q���_�d�4���
�(,�Q��]��^r0!U0���N3߷n����2ݍxF�O���3�^�
0��Zt�|w�j?�Y\U���X�Ь7Y\�X0aL!!�``h���\�fa&_�q
G���$c�v��_��
��i��
+�H����;
$��"���(�5���
������nC�O�,�c
(*��M��fi6uZ�լq�����9�"B
+kX t	�LTu2�e&_��,��34�����*�-�jUc*�]>�0������+�.�M�l/�tm�
+<u��
��
�~�p�x�C�͘�0Iu4�:�I�۵k@�:7Mr�V�ܚ��SLS�������H2� M"�A`\:-�V٦Y횛�m����)�������B�_wV�2�l��,֛"�g�~�]�THr~B����h`�L�^��Š)"Z
0b-G�2�E���6_�Md��Z,��i
7]8
9b\{�iM���hwG�f�8C!����o�x
x	��@�_��Cr}xSYRq��M
����P��	=�4
qڏXE�̝��6�<'�����	q�k	\z\�	w\k/��Ju/�YZ͓���H�z~�<�[2"�oX�%�V�Ë�%
'ҧ�� 0����5{�_�>c��	�3��S�f �D��o����`���m�gin�
��	�
�oB�!(�ԭޖy5d�9�S�.�f���
&ݠ�e�8OZ�ʳۖ�Z���K
В��b6�G:�g�Wiu�v�m�(�+�/F�˞��uwi�vu9����'Q�����`d��z��c��q�&�|��9��@�tH����Z����\�#0��a��`��
+�4����,23(U��CV��@{���'�y\��đ��Na�)�Q�ݧ0�^aZ,�4�`$]���q�Ɛ3
��z#�_�rg�$l��$a�j�9G�

+h0�"����)|���g��v�]5�co���
 y�as���}$�K���$�R�[)UG����S"��"v�9ǣT��@�
����C�X
���pq��|�fO��x�
W��Ɛ��0��TaL�������I՟	�񢰋�`l�B��	�6_������ƽ����t	�5::��[ykg N��䟨��@�-����{4�MђL���/d�qD#>��� @	[�;�\�:�֦^��ޥ�R5��p56!
�}O4��
��@^�y�!�O��䓂����`x���h�?��8P��6�'�IO
UO�<���	;�'T}��4;V���!}-Q�i	cGh5�Oj�e�IS�[ӈ��jB
HL��ߩI��G<
��~�k�ف+iŢ�3��
C�_�.mVX�n�
S�fKɮ�Keʯ�B�m����m��kKl.����# '�)
a�s�x�o�iW��G�]�4j0�;M1��~;��z3�Nw�
ZVh�����t�ɦwSio��T���X�.�x�9t���Dw��=�
+endstream
 endobj
-8610 0 obj <<
+8573 0 obj <<
 /Type /Page
-/Contents 8611 0 R
-/Resources 8609 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8618 0 R
-/Annots [ 8617 0 R ]
+/Contents 8574 0 R
+/Resources 8572 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8562 0 R
+/Annots [ 8571 0 R ]
 >> endobj
-8617 0 obj <<
+8571 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8612 0 obj <<
-/D [8610 0 R /XYZ 90 757.9346 null]
+8575 0 obj <<
+/D [8573 0 R /XYZ 90 757.935 null]
 >> endobj
-8613 0 obj <<
-/D [8610 0 R /XYZ 90 733.028 null]
+8576 0 obj <<
+/D [8573 0 R /XYZ 90 649.939 null]
 >> endobj
-8316 0 obj <<
-/D [8610 0 R /XYZ 90 607.1588 null]
+8278 0 obj <<
+/D [8573 0 R /XYZ 90 627.628 null]
 >> endobj
-8614 0 obj <<
-/D [8610 0 R /XYZ 90 592.5885 null]
+8577 0 obj <<
+/D [8573 0 R /XYZ 90 627.628 null]
 >> endobj
-8317 0 obj <<
-/D [8610 0 R /XYZ 90 461.2144 null]
+8279 0 obj <<
+/D [8573 0 R /XYZ 90 510.864 null]
 >> endobj
-8615 0 obj <<
-/D [8610 0 R /XYZ 90 446.6441 null]
+8578 0 obj <<
+/D [8573 0 R /XYZ 90 496.294 null]
 >> endobj
-8318 0 obj <<
-/D [8610 0 R /XYZ 211.8424 201.0181 null]
+8280 0 obj <<
+/D [8573 0 R /XYZ 90 381.568 null]
 >> endobj
-8616 0 obj <<
-/D [8610 0 R /XYZ 90 186.2934 null]
+8579 0 obj <<
+/D [8573 0 R /XYZ 90 366.998 null]
 >> endobj
-8609 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+8281 0 obj <<
+/D [8573 0 R /XYZ 90 235.624 null]
+>> endobj
+8580 0 obj <<
+/D [8573 0 R /XYZ 90 221.053 null]
+>> endobj
+8282 0 obj <<
+/D [8573 0 R /XYZ 90 89.679 null]
+>> endobj
+8572 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8621 0 obj <<
-/Length 2592      
+8584 0 obj <<
+/Length 1995      
 /Filter /FlateDecode
 >>
 stream
-x��ZKs����W�U�h�%�C�+�S�^+��fK��
-		2 h���݃��` PZ��q����������?23x��B�q9[���#���ԏ��|�&������R�
2����� �T��������bI0��
��I�K��.(��O�H�~�x���	�,�n��ޥ��*]߽-D��pQ.>�~�-!-�T�4�A?+�ώ"P�`DYC�
�j��Ͽ���]�+g�n�w�2���mr<:v�
C���M�Ծ7[2���J͖`
#�^y�n�jgi�r�
k���Y2&�ݫ7����q�BX
f��߫��l
n��
-#f��=�F�:�]q�����竟>�诹aQ7s
-.ք�� M�Ri�0Ѱ+zBD<"�A35ST""��6W{:٥eZ
o�%�"�(��Y{z�4�}M�
-\��"L��ZU�O��'�
-d�Q�g���/Wж\��풄roR0�,O�­�sP(=
�}��{�����%��]��t�.����p4<m�4U�p ]`�
�Qt�:ܹ�є���;�p,�A�����40u�l�j�&qWCf�
O���'�Q$���=U_p�_
-I�S(��W~ڥER�k��7���sаHw����eA�<ٞ�k)	���)k��Ƭ�ɼ��1kaĒ`O�ܳ���k��|���W����k���W�l�^�̪]�-P�+� e�M��T}��I#�#J�
E��)�
9�8&���.���\%y�9�4Y=����$ 		
-\�|�@�
1�唣Zdc��dV�a��e?mk�g�=U_p'�(�8�χ�Z�6y8)]����Z���h
*��v�
T�W�I�>��n�n~L�&��]�����CZ�/Q͑��{�W�~�,uM�|t����5��Y�m
-�H��6�\=�F at h
=���B�j�[�P*5f��o>�҃5�`�@��Gb��E<��*���86
��l��]R|�Z�C��P7F-�P��	���
ց2���z�>�"5�"&����s�I�u���H+���
D ��5"+چg���� G�~��l���=I�I��6"Ⱦ��MDK����U�$��ӕUG�ٖ�|r�}�,��DN�I�I�u�/��~��.=���Sd��"�%�`��99��(p�7�&�
c�	��TgCEZ��:ϱsL��i�������&
 ��bRͦ��<6�6��h�4ADH�$
�M����MS��&dJ��ئ���?���d
7�̡vD�V��u���<v#�_��]��Ψ
��FFhȅ\�]�O�4��m�#�4
��B15��N؎�>�MK�fl�v &tl�f�S��~��:nC�BSڠ�Q����p"4��1�@��
<pb
�`Q�z�q޸��޺����+������-���dd��z�����X�eO	H�F�rX�-��$A氐F
����r]ei^sL����'�,��Tȥ߼9M`C�}�)�uL�u�֡dC��+�yƕ3|�X���\��{��Y����P򦘽�r�|�%$�
	a�$0�R�kt�f�c�3��1����.��s"w0�>�"��
-�`�H�^���rٔd>Tc,�&�%5�+�U��|S�wuQN���r���)ؼ6�R
Ǝm��LJl�����F	�3"�sʹ����
���ч��p*�j��!w!CA��>�M5��s��QT>$QFz��&�^�!�DG
pF{r�` ��`]��
-J���M��
����&s�'
jF�/�t�`O�����t_�
-��as1�03S0W�l�\
YP ��bP�&{������>�
X�������Zdc�d��
�v$elB�����0�I.C�/��3�K�A!=�U��¨F�(3^@�T��A���'��

�����^�������D�2��8���寠&t�L����oK�2�	3���J�����.���^����ݴ�RDa(��0&�`
%�XG�ֱW-� �Qҟ垉�X4����6�f\����.	����I-�i�~�ԋ���(
��cbp
�
���p
��1J
�1����1��%�8
��&M�
����1�9FD4��
�a�]�Cܐ�6ݼ�Bt��c�:!��
{Ɨ�=
B�(�WȠB9
�E&��V.�ZIcj�5��8��̼��P����
Xx��V�/Cak5�Ü#��8C=pQC=�v
�1�i�;��BX6_}^��܁=��{\�����]A@��{����_���Wg"-T�|���K<t�
-����:	4��	*�
��T�s��DJ��4�z�ć��lh5�h�ɍM���2�DARq>�����ɦ��q�
��
��_h"D��O�rm�1sy�i�i\p4�ǁ�@��
4H�Ms-�sy�KP�Q�
�ԕǘ�rC���}�X	#(�~=]�
-^�`@L����y�D�omz�cQ}��"wY�?��Ǵ��B�y]<��䧤�i��_,+�]M�U��4��
���4횆���*4�{���_�p�g�²����n{|���ps}����VGtʳC����p�^w�b��s��F
�l�z��gZi�f[��?��}�/��U?��P�í�*����endstream
+x��Yo���ݿ�O�D���C�M�M
l7.��Y�8Z1�H���u}���)���Y 
kH�|�M��C���.�����V�� #�
�7����
aw�� ��+�1^�Y��]x�fI�"K�6�Ûķy��_]��8L����6:�mt�&_���\��~}�-!=�T6Á�
+����M#�L����rE^|C���	��!cDs��3P[�_'aQxh�KCv�O�Һc��1����
+�aD-��vc+�l���8���$�r�/^]_�zA�.H%^��"X�.޽�A�_1���j�.��o�x�
|RU�'EOU�!Q���11��怏���B��"/��6
wv�Ҁ�W�H_r���R�&��9<9�(�F�IM1�i��6�n�
W���P�V[-�g�*	q�VA	CSe�{SeFL�*�$�]\]��.�/ȔI��	
��Ңt��Km�߼����Yq���_x��=r�D��~bݱ	�4��4�����#��P�_gv��t
۴��4�VD�j ��M:��rd��ЮX���DR�>�hf���
`f@[��T�8�&@s�D_ at K�����p%❖��i�|�7
+�۸��"�D�BP��<�i1�#�[���`'�R	�n���La�E�&�~��Ӵϫ����U�&� ]����m\<LE�Q�Y������c

+#��1���6;������ٮ�s�-�X����Z�{��sd ���jńCY�����m
�4���
뭬��
���:
��~[R��C�0.�����P����32���
+є
+a�#��(������xfq4��E
�,�PS�3c�Pޚ�u�[R�:��NC �	x�2�{[�ogԈ��g�.۽Z5
+��
���h��#^�q� ���Q|���Aʇ�|����a��"�6����y\c���c���Ȧ�.N���
E�u�y�

�Q�cҏ����:L�֘�p�ml�	*���|�i��`� yA"��k�/�i
鿦��E]]

��8�	�`{iy�(
(�vF�gN^w���43�E�+C��{OGm���DZ�O�����Ʋc`�šU�����mb��ܔa$��m ��?��f2�T>A�QHK6HyF����E�O@4-
�$h��p�V�����`�\�O�8����q�h&Ŕ�3�4��WŕgC��
Pp�N���(Rk}6���u��izV�
����A�: ɡ�tkʉ�����E,4Q���+��5��!}iH?��������g5��W�s��L
R�=�dC�G�t0�e�
i
�;��%�
�
���>��r�p����'�]J��v��@'��:��K���ov�Ӛ�J����xK��w[�۩
���Q�/���:����N�bH�����/�v�k�Ͻ�����#�H
��d�&�Y���p�?[����7���7J����ڨp���\��I�T,Ñ��Cճ���������B ��\�3�
���]�.
Š���H=�M��y:Jr裩r
5��
3>�a�F�{�����
:�����rr��BNױ���c�UE�m����,�"���c������,z�Lk���jf��!��3�����f~�u"AD�aX���5�Ռ%Ȕ~�P� 
+dLE��P�
��n�VME81~*�3S��XD��"qڌE�p,�sc=7�N@�����t3=���5��M�~�k�VÕ*&�"��?b?�-�>�-=x�q=\��^<8������a�&&]�Z��u���\��4=�`���/�y���|.��ϩ䓒q/�zrQec����?�'�7tϚY�G�,(5���!�3�jY�'|��PB����L�:7y���eRi��/˪/ʀ5��b���
\���a���5�.�חM
��u���.l��������!��ԅ@?\ʻ�4���a����ŏ�֜z�~	�����v��im[����˻�;�.�!��9����>�<.�;(�u$�yl�.y�孞�������?|�5M
+endstream
 endobj
-8620 0 obj <<
+8583 0 obj <<
 /Type /Page
-/Contents 8621 0 R
-/Resources 8619 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8618 0 R
-/Annots [ 8625 0 R ]
+/Contents 8584 0 R
+/Resources 8582 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8562 0 R
+/Annots [ 8581 0 R ]
 >> endobj
-8625 0 obj <<
+8581 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8622 0 obj <<
-/D [8620 0 R /XYZ 90 757.9346 null]
+8585 0 obj <<
+/D [8583 0 R /XYZ 90 757.935 null]
 >> endobj
-8319 0 obj <<
-/D [8620 0 R /XYZ 216.7638 549.3063 null]
+8586 0 obj <<
+/D [8583 0 R /XYZ 90 733.028 null]
 >> endobj
-8623 0 obj <<
-/D [8620 0 R /XYZ 90 533.2018 null]
+8283 0 obj <<
+/D [8583 0 R /XYZ 211.842 492.907 null]
 >> endobj
-8320 0 obj <<
-/D [8620 0 R /XYZ 211.8424 288.9557 null]
+8587 0 obj <<
+/D [8583 0 R /XYZ 90 478.182 null]
 >> endobj
-8624 0 obj <<
-/D [8620 0 R /XYZ 90 274.231 null]
+8284 0 obj <<
+/D [8583 0 R /XYZ 216.764 192.761 null]
 >> endobj
-8619 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+8588 0 obj <<
+/D [8583 0 R /XYZ 90 176.656 null]
+>> endobj
+8582 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8628 0 obj <<
-/Length 2199      
+8592 0 obj <<
+/Length 2000      
 /Filter /FlateDecode
 >>
 stream
-x���o�����W𩕀�z�?�"@{I�&-p�����`���L�"U�:���;�%)���T��h����������I��$'J(d��zs��Op��W�^��j,�۫�o�H
2������ �T��6�� 1�\���ݒ�EZoһwK�U��h�:��s~_����M'��iQ<߽��~m��w���E'����w��2��*��p��M�;/�D0�l����Y�����iw�>��3d
7�=_����Hw;��vi��n�E�Xw_�bL!!�JV�
#ioyol�2[�� �a!;��Iw�����ι\!�s���Շ�8� L�]aČ��`D����S֟W?\�u���~�
�����I��t����cRS���b R¨�S
-)�D2���m��l�H�FJp��5N'
:��10
L��G[B��Zl�2���N�����뵵�2�a�xʋ��[���*m���"�?���iS��ԯ�=|z���g�j0���e��^*��Jp���Pm����y�y�������D�
��%mo��7>3?/�X��ޢc�k�0�*�
-��x�{��XjZ�A3�k�B�ֆo~\ۭ���fs�F$:���#+�I7�93vMvs��K�H�<�K�O���$��H
-��=2HM�	��
�cn��E����"��)b�O�I'����A��\R���@ΰ�d�hX��i
��ٹj�m�r�����u��ž�/|�%+�0�	b�s��������N��F�3F
-�
�@Be\Qn��aU�4
��dg|
U]V�?���e��;y��Mw�>�K)o"s
������;����ܵm�u��9�?P/!�헖�welmi�;�7Q�
��HKvJ�2�ԈN���P���VLD�4a=��0L�.����8N��>4�h_6�
�l�"�_q��3cqPL�C���a�ڜf���Bs�4#3�
-T->D�y��2݀���\���ѕ�f<�\7�� ,#�3��P�l:��0��3�UUxm�ڸ
Bp�P��A�I=
	1��D��%g�&�Q�<F�.��C)��\4nn�U٤y	�	�I`��k�)]�ha\��� �t���?O�/qDR����sD�<a|�ڂx��o�;�A�����E^ڏ��O�+�m*)$)g]����.�2Vh���
� ������UY<4n����_�f[���*E�#}e�
��M�<�ޠ��;�)��O�6
UJ��#�.�Q�9�-
-��J�xT
�ű��nQ at V(�.�c��t�+��� ��nq�#�nqbL�[
�9�-�v����] �Xiĥ��E�x\�(��Q
I�
"���_ \�������C�&`*%
��Az�P����+��tH\J������W ��[�8�t
\(*
G� �#
]�P瀫��:_7`�����ɫ�	�vΡаBU����3�#�
�S���X�/�Xc~
�J��0�gZ�*��X�
�p��
�pe
:8=cp���U����>){C6�������0v���HW��
H��_�h�A#�
K�f4��Ō�M>��qFb/c�G��gt`̯��0����f
���098=9�N0H*1=�h�zk?;�Ty�U^�i±�?s(�2@�£J	�h�Z��A�f�]��:m_~K�ǔv�o�aǛ�B�y_���-RE91�Z�Ut�n8���l7⦷:�VM ���]��^M�P
�_�
@{A0?*�.��X�4�2P_����g�0�"�A�e@���c�@���a��@—F�<�h�=��A���kv��R�˶�m��wOy�����#<�v���p�!~�����o;;y7�	�2�ܦcL�:��}����D�W����;
HR��=
���ih�
%���.�a
6���Fl�nL
�sc�L�0p�������?�hNz��X]�w�����P?����ñ�d�
8�[f�6�	���y9�#3�D�؄x�z��q~��[��ؒ��}�=�p?�G\�G}!�J�fR�_�p	)�t��YoD��������i�\ڡ՟@���'����KZ���;8}v��,�����v�!����k�]CEX:ȏ�3鏾?�s�a5��oB5Z�D�[�c�lo������z��e��Q�\o����]L�^������-�癖H �ؖ�*m�>��.nڏ�&)��V25�?hú2endstream
+x��Z�o#��_�O�D4�?ܢI�^R�zqч��XK���jWY��}����DɖOh�0�䊜�
g~3k�<$8����۫뷒%Ier�L
N�d��"�8!1=�������IZ�ӻ�S�'e����*��.������]Pgi�?�}����.��WS�'%L���w�o	1�
+��4���2�(3݊���x�5m"d9Cƈn�_�P��~��ۭ�v;5tbכ<��ۖ�SHH��@F���`��9�-�~
�a��%�@o������OW��4��
+Q-�����'�,���#ft�جZ'�2x���W�­��Q�i�0扢�=����ֶ��4��S�~

+�C#�

ҝ�z2��M�~+��x
tȺ߮�Wa�6���N�� ��fe��ե޷��Y���ۅ�nw�?Xp�nmc;��H���
c�Zx|"��&ݚz�m����~͟���gF�F�KА@��%+�w�I)D�>PQ�[�*��VK�=m�{V���z��ӟ�TL�|g��3�.N
+(�P�@��-J���E���"6�2�Д
i�ۻ�v6fK�8�O��T^?��E蔕M��%�"�_Dpy����C�P7��=�+���/s����y���Ķ^���8�:ͳ�]Z=���)�0` :�EU:}=�J�F�E��F:N�(-��-�V��;dVu����]4�eż\o�:��-���2��`�]���_�11��'���I��d}��%3���@���U�� M�~Fێ��']��ܗ�b�\�M�U�n_��{*�䋘��
��2ͷ�����	��^�zW
��R��z��1v�ti݇֘�k��Y<+f\��K������G��{^n�mZ�u�s�E�ɬ�>c#FH
1ԡ�z�Q����톝�T
+)�#��ic
�
+ә��<}�$7���\~�����`g
�Q��L
b
qگ�/�ܓ;7g-*�}B��"�E��H��P�@P���x(�Q(�"�I
8k�~|s��!�!Z at dxѿ���lu��]x�>[X�~��'
�%�����TQI��>H1M&����.]�g.{@��s)B"�7`K���؂��!� ҄G�v���K�q�
v�0������4��/�7��A��H �}DڔYQ���|�,�xz�
���`��?f��ߟ"Q	"�@D�M!t�!�B���m�. �
]� ܀.c�(�
�"�,�C�C�ˤ��[ϳ�tn�f�N�C

+���DZK�G�D��'��u�Da�{ �� ����

1���Dz��q��Wm�� �
��<�ڳ��7���w�f�����!��F�����mU��
�T�ۮn��QD
�1�$(�A�x�S
�W���7_��8��������[��4&���xO5�	��F�>OX��+�DD�ݩ����l�d�`=��`n�b�(���_�

�)\և�|ل@x�0��0�""
�EDj �
}�)G����4��P��<r�t�
$�j���W�!ȅ�Ĝ߆ ��C\��u����
+Su	)�C���2 '7��!�@�<ۇp��>���1�"=�"�:և�
z=چ #���
��(&�P
+�
t!8D�g�/#�
��j
���	�Nۨ
	J��73
� F��a�/�*��
R�����!���
F��g0z���j�s�P��iV��aA?��ɫf at E��O�8 *H��K~;
�HF�.
��S�G�+߸�oʚ�5>��T�O�
�Ώdq�"��Y��"�'d_� P괲�]�XF;�������yYA�R-��ᤔ5��S�=��!P��X�h�.<�L��z�� �r�h^��b���S�s V�����R��/�:�|�I$���(�i�nX3�w��K �kg�i���[[�q*Ĥuܿ��.���Eϟ
)[
=�)�,a.� Y��{kۓ����t�o}
9M1���[aUכ�����G4ߢ]�m*��כM~}�EB8�Ҳ+��e՗��rݔ]F�麗�
+endstream
 endobj
-8627 0 obj <<
+8591 0 obj <<
 /Type /Page
-/Contents 8628 0 R
-/Resources 8626 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8618 0 R
-/Annots [ 8634 0 R ]
+/Contents 8592 0 R
+/Resources 8590 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8562 0 R
+/Annots [ 8589 0 R ]
 >> endobj
-8634 0 obj <<
+8589 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8629 0 obj <<
-/D [8627 0 R /XYZ 90 757.9346 null]
->> endobj
-8321 0 obj <<
-/D [8627 0 R /XYZ 216.7638 633.1011 null]
->> endobj
-8630 0 obj <<
-/D [8627 0 R /XYZ 90 617.4538 null]
->> endobj
-8322 0 obj <<
-/D [8627 0 R /XYZ 90 507.1852 null]
->> endobj
-8631 0 obj <<
-/D [8627 0 R /XYZ 90 493.0721 null]
+8593 0 obj <<
+/D [8591 0 R /XYZ 90 757.935 null]
 >> endobj
-8362 0 obj <<
-/D [8627 0 R /XYZ 90 372.0936 null]
+8285 0 obj <<
+/D [8591 0 R /XYZ 211.842 577.147 null]
 >> endobj
-8632 0 obj <<
-/D [8627 0 R /XYZ 90 357.9805 null]
+8594 0 obj <<
+/D [8591 0 R /XYZ 90 562.422 null]
 >> endobj
-8363 0 obj <<
-/D [8627 0 R /XYZ 90 250.337 null]
+8286 0 obj <<
+/D [8591 0 R /XYZ 216.764 277.001 null]
 >> endobj
-8633 0 obj <<
-/D [8627 0 R /XYZ 90 236.2239 null]
+8595 0 obj <<
+/D [8591 0 R /XYZ 90 260.896 null]
 >> endobj
-8364 0 obj <<
-/D [8627 0 R /XYZ 90 89.4414 null]
+8287 0 obj <<
+/D [8591 0 R /XYZ 90 145.547 null]
 >> endobj
-8626 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+8590 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8637 0 obj <<
-/Length 1704      
+8599 0 obj <<
+/Length 1539      
 /Filter /FlateDecode
 >>
 stream
-x��ZYo�F~ׯ�S+�z��C(
-�9
-$-���S�H�D%J����
��x,)�q� 
� .9�3;��-i�Q�c���M���[m&Ի��?OX����~S��������W�� �x��ݔ1"��g����� ��73N����M����C���y)���z}�|���(\�Ig�L�8�f��.^2�P�5j����}_H�Lb�pQK<g��|t���o
�JA�������U�����Xn1�|mv� ��y�/�&���|�`�)o��谳(Y��BA�K����Ţ��\�	5 r��5y��z!��Մa
xw8��Y˽�DrQ
֓��o�:���H+�a&Ή3G�+4��3��2�Y�
�K��c!�DKcJ��~%�&���Ư���e��
c:�P8�̩�=P6h�1ӕ����a��PF�e�$L�N�?)� �X�st�e�|\�������4l,�[!�σ0\���uz{H__*��A��}���Y��7ŪV7m5��LVƮ�
�-�T�Ru�R���/�%�p�\����d
'��b�<��N�4Q
�0��1
��
���v���m������F��,ӝʹ�bFH	ujo
��,�A�a*
�$���\�&�;ta}ZF��%�nb�Pf��˕t��J�oJ���4ډkcX��_���vY�1��f�-8s*�QK��hg�,e���f�p>����ӏ�:�Az}����g�5D�o�#�Tߘ��� J�u˘�M��q��%EB�W�
�X���'� ��SW��g$��M�|g�p�FŲa�N�c��8Ym7� �?�#�h�+Mb�-'
tC�W
���`%A�ř4��	/��Ib�p
-Ct�!����I������pM����u
���
�L���h\�E
�{�����s�+T)2��}Y�MtF������jZz��K��H��S��8�&�$����0� v/0e�<�B̢tO
�G�k�M*�cPZ�1�6��Z���
]��0c�*��)�����r|����Mۉ���`Ȥ����b4fM��IÑ s6p)�X�
-w�j���Q�
	@�7h�	���)b���2�3�5b ��+�~����&�
Y���
�
-���}h��VG���㗗�{L��+<��X�+�#%%�HCV�{�n�ܧB~DXcY��<N:hA9
ە�&��e-dwo��C$�e���@����)5
0(��@ÃX�ˀ��Y��Z���z�US�	'�T_m��1˩�v�
��q��(
�GW[�ƃ���H;�
8T���k�;J�����3�D�k��4-��i����(
���� ��|~
��G��c	�>��?b�y������<�k��"�(�qn�[�lt=9���!�
r�
1���c�����?�g�(<��9���'yA��4B�q|iJ
L�� �5".FP�g�fj�Sd`t�G2�S�&-���tz�W
aŠS�w�R#�9�ȳفK�X�V
�{
A�ȑ!�qS��1�����
6�(p���
�@}����?1`[�̶:^�ﭮ�F��
-

 �
V�]
Kd.���og Ӳ�~
��`]\���1_
-�:�����
l����]FQ�5\sB5�mO����}��ƌ�
uc��u�=�d�n~qqwwGV{r�Ļ����n����%�ڎί�z��</�"�"�4m�;�f[eS���M���^
-���0��yE;endstream
+x��Y[o�6~����&3�;)c���n��{�
+C��X�-y����~�"%��츹�( @x9>:<��;�pp����/���ɂE��`r
D8P�!lfI�1$1=
�q�nHp��x�nHqX,��4)����U����	TY�Xl���d3K��rHtX��~���xC�����E
̩����l"Q5���8|E��}�Z�P��7?
��>�r��V�d�0]�q���#�R#pF$�cާ�i}�4�Y9�5°�T2��������U
�ڽ\!�E0[>~�A�o�X���Zjp���"�0�s�O�����	b�`�j�{��b��R��y�]�y�L�#A)D����{��rt��F�b�>)�"�J\��j;��#6�!
ą�9�Q�J�FB��U�8�^�r�r�
zsU#��)x���U��*0{V�U�吹L��o,0��+;�?�s�E���9}z�a��j��;+?�$T+��Q��-�Z �D�=�YV|W��w����,O?YA�wGD�qR�@!	p⠡ڔ�
�
)�UU�I{�R� [...]
6&Y~c����Y�*���x��	�Z�P�j nt/'FD9�f�5���Y��2H����N��w)l���ZW�x��C���x�%Ӹ��,��|[<�#0���ɼ,�T�w��Ҭ/�����i��q+d��P�H+�W`���l�
���<���kp�(�M��*�Z���@G@^Q k�:��<+�1�h̒٧;zt�
a4 
y���_���,��`5¿4�q at 9������
���a�8I�5"� 
�R�]J3�˽�^2P K�=��
p�z �CUK�ǐ'� ;p�?'�z�e�ч���cJ�Kۢ�M'�$X \L�y�Icj*4?
?��O�H�$ѷ�����O����L���~���'F�P�1��5�0�m���[��i�F!�i�N�ji�v�ԴZ�{۽h1�#����+	�Iއ�
+lbg��j��t��
&'�KC,��۱�X�.C�����<�5�t�'G��whz�p	�+��Y��
]��P�ߧ�J��p{R)M&�L��g� ��{�D}Cl��kk6$���	�~~7~Sn�
��b�?���qo��?4�+�Iכ�'��E |�
�8[��l�nA�9RO���ӛ�x��|�\>M�N��3��3"sOe~���m������}��Q�J�VG�w��G W~��3�7��]����^��
|��Կ�7�˽�> 
Qj>I���`%��sn���
�v��
O���i�
O<G#�����Z
��I�x��cH
�a�ܤ�����?oJ
~��~ݬ�j���.
��~�Q]����/Q���6�`����Ҭ�~(D���8��
;6tkT����"@.��ʔ0��h ��i�Nj��OЌ~�	�m�a��|�U�_\��ݡ�m�lU���X����@�mw�����h�$�aq�>��d��B
+endstream
 endobj
-8636 0 obj <<
+8598 0 obj <<
 /Type /Page
-/Contents 8637 0 R
-/Resources 8635 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8618 0 R
-/Annots [ 8643 0 R ]
+/Contents 8599 0 R
+/Resources 8597 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8562 0 R
+/Annots [ 8596 0 R ]
 >> endobj
-8643 0 obj <<
+8596 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8638 0 obj <<
-/D [8636 0 R /XYZ 90 757.9346 null]
+8600 0 obj <<
+/D [8598 0 R /XYZ 90 757.935 null]
 >> endobj
-8639 0 obj <<
-/D [8636 0 R /XYZ 90 733.028 null]
+8601 0 obj <<
+/D [8598 0 R /XYZ 90 733.028 null]
 >> endobj
-8365 0 obj <<
-/D [8636 0 R /XYZ 90 623.8069 null]
+8331 0 obj <<
+/D [8598 0 R /XYZ 90 615.796 null]
 >> endobj
-8640 0 obj <<
-/D [8636 0 R /XYZ 90 609.2366 null]
+8602 0 obj <<
+/D [8598 0 R /XYZ 90 601.525 null]
 >> endobj
-8366 0 obj <<
-/D [8636 0 R /XYZ 90 450.8092 null]
+8332 0 obj <<
+/D [8598 0 R /XYZ 90 492.123 null]
 >> endobj
-8641 0 obj <<
-/D [8636 0 R /XYZ 90 436.2389 null]
+8603 0 obj <<
+/D [8598 0 R /XYZ 90 477.851 null]
 >> endobj
-8367 0 obj <<
-/D [8636 0 R /XYZ 90 277.8115 null]
+8333 0 obj <<
+/D [8598 0 R /XYZ 90 328.431 null]
 >> endobj
-8642 0 obj <<
-/D [8636 0 R /XYZ 90 263.2412 null]
+8604 0 obj <<
+/D [8598 0 R /XYZ 90 314.16 null]
 >> endobj
-8368 0 obj <<
-/D [8636 0 R /XYZ 90 104.8138 null]
+8334 0 obj <<
+/D [8598 0 R /XYZ 90 202.756 null]
 >> endobj
-8635 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+8605 0 obj <<
+/D [8598 0 R /XYZ 90 188.484 null]
+>> endobj
+8597 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8646 0 obj <<
-/Length 1910      
+8609 0 obj <<
+/Length 1409      
 /Filter /FlateDecode
 >>
 stream
-x��ZY��6~���Sk5���(
-�9
-� ��E�`�X�]���Zr���;)Y%{7i���>�E�8����L�L1����S%2���j3���qB���M�����RL
2����\A2���e�zFbz� �ً9��h���^�)�m���I���~I�����(�h���z�ćU_��ω�mᡘ�]�t񜐆B�@��`�U���h�D0���xJ��/�����xX�3d
7���N��d
�[n97t�lv�H�{�c
-	��t�0B���uR�,�VN�c���~I~��ɳe��\�ւY��5y�Oc��	F�h1����1t��pʪ�����z
;�knXfA�98S�Sj�CDy���
:��1�� SHq��@q�K�h���2����!�I
-�N� �s�&c at S�LU־�!�Mc��PD/<�#�q�
-w"4���xg�R��F�K*\��!?���j�
-H./�8�rѻ�_����6��l,C
ȃ7X�'�`�� �4��.��z��s��?_9�F��QQ�����]���i.*5%U��N�u�%o� Xr\H�4Q�D!I!V�
�DZ���6qZ��iҋ1�OD���N��eg�։�n���2o0f�u��o��m��n�a��T2x��P	-�R�: �
f�Z�Z(抁lȼ"��]�S�%Az���}KL������
_�ԃ��i
-��_K�ն�M���s�V���{������9ȩ$�,*ܧMtߖ�'�9�2��F"h'j
ڦ��D"&�.7���U�+�m6kH��=+°�b֌��//!�8����i|�o�$+zF���g�
����tr�!��s˘��~;��z��p
�]N����r�U(��e��
�	��jXQ��DZɺ\�V��Ĺ��e������
�]��j��EE�n�
���HÒ'¬!5
fB�� ���1��������H��YЈ��	mg�1V�
sX��6[�
Tz$�)����4��U��4��M�ףw�CBIS$u��u���u3?�*��a='�����l�n�n:���R5���8���i�ƪ
�Hc'�UC�3`��V]��<�N־4�I^@
-@ѿ�5���m���P$�֦���3ғ��}
�H?
g�fG5mrFƤ���%�
�"���B�DiV@ 2bJ�X��'��UE
-�p�.(��Xt��*D5�F�sء8�
BR=�C�0�Z��L	����SG��>3�Ha�fڜ.��1$���<���`��D#(�f�G4��{g�u�!,3d�H��Y�#����v���P:��Z���C2=mi]�JA�9�X$���`5���b��g�Ɛ��zV����
�G=r�=c¼�e���7v� ��F�.`��}n.`u�����T�ˁ�#
)�O
��
-��#�f�%Wwiq�&
�h�j��(�BW��}�QҿO$��
-ٓwB�{�
ҁ��$
��s2�A���sv��0�8���
-�?
-!� ����DSj��P8i
DB��%�>S�� ��?���0!hi]S�
�����؈�
���jF�������v
� ���!�c�u���{
?�ȑ�	�1_�A�P��|���mߧ��>U��
-8�tg����R����~�sZ���ܤ�K���(mħc
�66���K<
�=3�����)N�)2 ��99�}�!4�NlA熩Q�����ҵ#�P*�<`l�G�UfM��?���'�����!B[�`6�B~���ߟH
n6��8i�
��YBeD�/�ݶ��Ǫ��G_1�P���s!f>%��Cy����ۥ ��% 
����d�*��U�t]CEX�v���sZ}������E�
����޺vϷE�������C�

�t�Giq�ۭ/�v1�a\�1��Pϖ�癖H���-5��l+&�f0��,�념��������endstream
+x��Y]o�F}����
���UUjw7����&���F�q�������f�����M�M�O0�3��{ϙ�عs���臫��L2'@��ҹ�;v�d׭عv	A���c�{�a�g�
�n���u\�����",�ө�P%a��g:^E:��
��
�ws�qrFHgA�`���v���5Sz{"Q�3ޓo�1�}O��ŀY�P��7��Y�]���v��ՋeV���3fL!!}g
`�s��qLg��DZ�0
[���{��j�׈@/vH/W��‰�������������Z8�2x��������{C�c�(*��,���H/�$��i��]+�3 �����A�˜(�x:M2�c�!L�xw��Ϊ��ə���(�-W�E�Q�>f�dn�@����
f`�l����(�7V���4sz+��
�vR��v�D��,�
�!
q���l=N���
'Y�/�a�ܦ
�՘��9ψ�;e�t�Z�:���O��-���C�^�,\�FeP
�	�!��P1{�`Q���V����5�Il,�㋱-+��pb��f�'q	���8�%A�z\�87\¸��${�^<��0�gQ�����V���CgY�M�ی�.�%d���R�-0���+�d�b1R~�M�r�WDC��%�PM��ͤ�$K�L�
TƘ	�u������qli34�(_ց[�V>7��^��
XNȆ��1"�=�_��-�W� �4O^�\ *;h� w�Cd�R��
��e(�J'2r�)���>Tv��	�]�t3q���֎A���y��D�"�=H���
y%�!��jsLF�גuD�O�ʑU3z�v�F
�7����3�����P!v�=��a�9Ap�9��fz��T��
��]���t�g�*F�a���\v�bH����<B�^M���|��"�[�_$3�D�U�1WX�T��
s��N5}J~����<�8�̬J
��y^��9�x_��3����
 ��.<@�[�mHB�6T�
� �|X����LjP��R�s��P��
�cM��%��7�S/7���S�r��>����'Tr at H�B
��3��#//mH�ʼ-�uV�#��I�/7�Gi�W�����
xJ��{�ݓ�֡͒�nz �v�bNӂ^�Y���
+ܰ,W�&�mS
�F���]���?��W�N>E�k_�
y�����*f)��n�0��v�����Z��Ii�ڭCO�CĘ!�>�%S�s��2�uYA�՟xv�g�C7�f@�c�s7ߵ���o��A#o}N8���U�6[�5M���7��kO��/a�j���P�R3хN��VɲЄժ�<m�^jm=5���o?��o7]I�5u_U��d�������dY���,���i�n�����dsH^�m�$t.�:�O����fM
+endstream
 endobj
-8645 0 obj <<
+8608 0 obj <<
 /Type /Page
-/Contents 8646 0 R
-/Resources 8644 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8618 0 R
-/Annots [ 8652 0 R ]
+/Contents 8609 0 R
+/Resources 8607 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8614 0 R
+/Annots [ 8606 0 R ]
 >> endobj
-8652 0 obj <<
+8606 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8647 0 obj <<
-/D [8645 0 R /XYZ 90 757.9346 null]
+8610 0 obj <<
+/D [8608 0 R /XYZ 90 757.935 null]
 >> endobj
-8648 0 obj <<
-/D [8645 0 R /XYZ 90 733.028 null]
+8335 0 obj <<
+/D [8608 0 R /XYZ 90 694.089 null]
 >> endobj
-8369 0 obj <<
-/D [8645 0 R /XYZ 90 530.9134 null]
+8611 0 obj <<
+/D [8608 0 R /XYZ 90 679.519 null]
 >> endobj
-8649 0 obj <<
-/D [8645 0 R /XYZ 90 516.7196 null]
+8336 0 obj <<
+/D [8608 0 R /XYZ 90 521.092 null]
 >> endobj
-8370 0 obj <<
-/D [8645 0 R /XYZ 90 364.5678 null]
+8612 0 obj <<
+/D [8608 0 R /XYZ 90 506.521 null]
 >> endobj
-8650 0 obj <<
-/D [8645 0 R /XYZ 90 350.374 null]
+8337 0 obj <<
+/D [8608 0 R /XYZ 90 348.094 null]
 >> endobj
-8371 0 obj <<
-/D [8645 0 R /XYZ 90 202.247 null]
+8613 0 obj <<
+/D [8608 0 R /XYZ 90 333.524 null]
 >> endobj
-8651 0 obj <<
-/D [8645 0 R /XYZ 90 188.0532 null]
+8338 0 obj <<
+/D [8608 0 R /XYZ 90 117.537 null]
 >> endobj
-8644 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+8607 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8655 0 obj <<
-/Length 2172      
+8619 0 obj <<
+/Length 1576      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�6~������
X��mhw��L�>L�b+�vm�+ɓ���P�.�h�3�n;ȃ)��x��w>R!	�?��(��a\&��
'p��3�/��rh����շR$Iers�� �T��f�vNbz�$�����ܦ���w���l]�����ʴ|���u�n6Ϸ���a��o_�
��;���n�������T�h�>;ܗ�"�D0������u��Ͽ���:�+g�n�;;��?6iU��n�γ�~�֙}/Y2���J%K��4����ffY�r�
k���]2f���77���s�BX
f�����w8YC���a�\`D���v�)k/6�7��~����a�0s
-!ք%KA���D��@�h���Q
�hFh�0f*QT""�n&�ͯ�l_绢�>�$�)Fi2�
|��
�0*�B�0��jaT���:/
�ߧ�|}���mV�#PF#)�#1P=��j
F�a�b�$�v ���-��?.��{�vt�MN��M�_��>7���.zΦ~�+gb��c�m�b
�H��q6�X/�#΅n�)3}��+�2/V��>��M����f��I��t�
�N���	a
����P-��y�p:�&�96�:�ͱ�̅�:�����<�p�aۤ����ڵV��u�_ڦk�J�v�:%mjؙ01
��L�v��ZeUu�x���ͬ��%���eVJ�b^
#ϛ_̠a?b`p�u�~ԭ��>k�a�%�jH}���l�"\�$ޱ�L���҂��חz��G|����0�m"����H��yA�
�
�B<�PFN>d��B1GXb:U[(8J�}o=��׮�SEt�k
��p�BoR�%BÊb��^b��\_�J
-Ȕ4��
�'[m�2O�_\G�OA����C�cTAb�� MI�����&/�w���dP��l�
�"�> <��x��l�D�Vp�%�D�P�D�Q��m^9��__�pҨ߆$��~�9��
j]�

a�0k�	!
�ckt8a�'����8�~��
T8�4Qm̞���y�̪}��B�s��>M��X
0�����|
-}nr�Q�8Ֆ��[��h�
6=��;��rH>yD���Xy���dU�ATh:]��V��2�
� vUٓ�d��0`�8���`g6`0<�@LCè&h��Æ�@2 at c�N ���
4���ZO�f�Zw�t���`��������
�NǏ�†\(�It�S�#��uf'�'=ҋ���x�����
�{�< �`{�.��o*��O��\��)
-��L]@���`C�8k
�
���Z�/��ԟI���H���
b�3�ĚmDŚA�qN���XcF5b���.����}����i8)g�
A����:���
���*
�UE^J�)��вU|�H�A����S�
�1g��__�)��~?D�	�09�4R|��
J	���G��8XR���]f;�g��)>�I��ڐ47��vw [����>�ȵ� �زj�Sabj���peG3�Ea-{��P~�
�0���*��fL9����K�]&�%x,�
�
�N
&$b�W� �H� &D�I\ttf}�Gq
�-���Y�a��ـG�@��1������IX���P&�;��/M)$�XO���E<������I��zr&�'0��T'���e��xѩN��g�\mkW�[.U��q����
:Y�:�3��k��� �
�(�"�`z:x��9 �#�$
�����@�x",��jG
n�;kq)EP]�l�{A鈟�J�4���0g�
-s�Y	���Հ�
NQ!��)*9q�
-iG���5/l
��u}��Rg �i���h��=�h��С잞?�2�����
FJw���H|�'����=�̘p��U�jB�q��z �e��uz�R<�yQ?�U��R�,S�
� .��K�J�0ZA'��M�sj�X~�FN˙��i9C`
�1�˙��rf�".g:���3�
���L\�`��߶cY���v��e�`{� t/b��0
��I����3TtEL N$d��/��!�`��ʞ���/���.}�s?VY��B�����!����ۮ�":~ ��$Z@
��7�H�QEVD�rO������
�
��n-��lG��9?��������	�*t(�}���j��\
�bv�se���FX�3-�2 at vC,���u��vWv�
-7��Q�(��Z�@�
��endstream
+x��Y]o�6}����&3�I$�a��/�ۀ,I���0�I�ɒ'����w)R��(���]
�I�D���
��Kb���ޛ�O����$����kOb�G
aSK�K���tF0���`_�K�8�R���V'�Z��^�����A��,�,�t��u�8-�D�T�����'�	��rM0�f��m���F�ɶ�K��tFC쿤�p6�m���a����
�"SUe{��J���*S�6�y3�8
+#���2t�9�׺1L�m`�0|v]���דW��'�b�4�
8�"�����=�x��ÈI��5��^@<3�|���
�E�V�C��W�eŎ{�D��u:G<�|^oV:WK=���A��J2�H!*~d���8 �F���E��Y�&�LJ09s�#"q�s��(��P�0<�WI� ��E���q�F(�{�:�|��dyU�*�k�.#����yi�/���Mp��������{�Q�RĢ���jd"Q�MF$��vwЉ��mt��Y����a��bD(��Q˱i�c�����#.V&R[+������L[������c�
%=��V&�	��ua��{
BzO`62V���]7���X�z����h����g�̋P`�3bq8�eV벚:�;ě�Ͳ0�E�ݰ���
���8����y��bu��:ؓC�^��U��8��K� ��d>
����4Y��f��y��\BHdooYLi���U�#p(b�1p ��`��k��d
��FpG)�taHR�����<.�+U�W�F#

�&P�4c�^d�#3�H�	Ɍx���$3f,>�� r2D�B��a����-���zq�ַC� [...]
+��9�b�1A�

'�.�?���W4�g��M�]�Ԛj��^��/Mo�s�����?�
�6$2>�	��bԦ��u�[�.ʡG
�'>`*����E��_�����ÿ�$�a����6)�IN �<{���$�*P��3���А7�s?�q�����-cR�pyPi�1JC�Q�
?��|DV�2Ο$���Yg8t��f5m��a�6�V���$�?�@�W��ǨО�[�
����1�}�*Mh�4������X��_��ƖTU��M�m�a
+J�r���OK����*����8���s&:�W���:�uU]�37��>�1��rK]�K�cZ
g��tĂ�����I8d�J]��-�D�:,���n�3x5x`�@�7	��&�?c��}��u�ѵ��l	~7���L��Qŧ�G�HX�#�7�@�,�d�}��>�Z��[���~� 殠�q�go&�e���
���Ikb�0�6븖�=Ɵ�Ē#�'��\�ZP�j��ڙS�g�R�6E�3�+z��.(C��H�[Hs�A�!���p��v6묟�}��
 ~|�*>�I.0��"�v��#D���n��4���}�]�e;w��vw6�_� ߈cz�.�w�$g��w��a���O͢0��-�٪�8[yW���i�n�����*�i��
+<ߙ�PY��0C �\�`�\��Ԛ��ז~�4��'M����}[׫�����
�+���U���d��N� y�{��Ʋhw4i/�
�
¿_Mi
+endstream
 endobj
-8654 0 obj <<
+8618 0 obj <<
 /Type /Page
-/Contents 8655 0 R
-/Resources 8653 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8618 0 R
-/Annots [ 8658 0 R 8660 0 R 8661 0 R 8663 0 R ]
+/Contents 8619 0 R
+/Resources 8617 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8614 0 R
+/Annots [ 8615 0 R 8616 0 R ]
 >> endobj
-8658 0 obj <<
+8615 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4002 573.7592 212.1242 584.6632]
+/Rect [149.4 138.024 212.124 148.928]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-8660 0 obj <<
+8616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8620 0 obj <<
+/D [8618 0 R /XYZ 90 757.935 null]
+>> endobj
+8621 0 obj <<
+/D [8618 0 R /XYZ 90 733.028 null]
+>> endobj
+8339 0 obj <<
+/D [8618 0 R /XYZ 90 585.86 null]
+>> endobj
+8622 0 obj <<
+/D [8618 0 R /XYZ 90 571.635 null]
+>> endobj
+8340 0 obj <<
+/D [8618 0 R /XYZ 90 422.988 null]
+>> endobj
+8623 0 obj <<
+/D [8618 0 R /XYZ 90 408.763 null]
+>> endobj
+8341 0 obj <<
+/D [8618 0 R /XYZ 90 200.449 null]
+>> endobj
+8624 0 obj <<
+/D [8618 0 R /XYZ 90 186.224 null]
+>> endobj
+8617 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8630 0 obj <<
+/Length 1819      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�O�
�4_E2lm3�ۀ,��%+
�fm��Ir���
EZ2
�q[�� LI��x/�sGG7�~��t���,�H�4�.�#�#3���4����
	Ƹ6 ���d|6�����oʹHƿ�WERܟ��	U��f��s3]N�t|V
���pQ
�]�
��� ����N���nJ���2���|7R��/��w��
i-ֿ�a��f���,�����}3_̒�؟EC�$���`
-�a�͵�7f���DZB
{��S{����o��]
�ڼ\"�D4��.��h
+�_G1��U=k
q��{������Ux�˔F�H�����_���E��YyR+�-et
+�ٰ�Bk� �‰(���I�
8��%�t:N����dU pt*�f�����E>���ʜe�k�ͥ9E���]R�)�P�o]�z?ey���*	8�
NSг�ݻ�ܯK���c�H�
c֥
Ҋ��T��v�zj�
�iCF�,`�!l���Y�!J}zUA���b&��D�7)R�/L����2H�
�"4	
RH��YgbQ���&� R�K-&���I�!C�i�#‰�4��/`n$�~x!�<�θ�;�����8��d�M �"��2-!��o�˷u�"M�f�
�1��7Nr���@�5���i
�)@
����v�*4�l3A��L ��6�}�f3���#
�� 
Z0�(�
�^��Ų2��1��Hƃ����ƃ��Ͻ�&��d at D�
V�)d&�$��g�
��J
���܆a���u;(L�0p��U�n��Q�j�֮���d�5�Tv�Dq J�k�!
u�6�_�ؽ<ϗ@u�M�f7�V�`S˙U��C�j�b�y s�PB줘Z��`m�~� p�2��
gq�R4ݴ�
�6�떩.�F�}�Y�
�n?w��fnt�j췈e.���$A��H|��`H��!� ���123F\�5�l
>L�����{�׎���r.����Nx; ���y�jIW
�.S	TxZl�0��r1�j��c߂ 
�0�
3��v��[x�X!l�]x�
�Xᡞ
��)<��\[C�m
�[g�A!o��
if!b�b��m�����C-\�qh���g`OF���묞0��Y��CG��:N5Dj���k?�{��s�ّ`oб�
� �Y�JK�F�6R��ML#.��UK�i��c�d��@
+�T��l�k	���&�ɛ,&�(����gwT��=)�+���;��\KJ<7�-n����M�@8g%�g%T�b
C�!=�ba��U�̦
5I���2�ᚒ|:F9l�2F�
[����KRSl+H�I<17%
���͑
�=\$�����"
���&��c�~��kO�ž!�ٴ��N.�T����y
xL|V
��Ǩ�*
<$��:�
<(�
�V��<�9ip���0�������z�e(�ПDc��zl�'�|���ZI��K �K

�}� �I����h�C،
�fk����f�!-��(-7�̮���=��a7�I�(?0�6�w ��a��Q��!�����96�z���M6���v���&-ׇ
�d�p�� .�6��$����aG[�k^!�9'�:�&���cR��y���o6
S-��L}~�Ǣ��.� �W7�ɬ�Z�嶅��2��
f�
�\m<Q�јb�o1�'Q������ h#-����f��}ƙ�<K��r����S����4ŷ!�>�~O�e��kXʻ��LѾ f�Ϣ0�Y�``�xo��H�m�h=��W�U��'�u�mU-NF��j�&%Zf�@i5Z,f��a�J!P��ίs�m��9
+������'�bK�
+endstream
+endobj
+8629 0 obj <<
+/Type /Page
+/Contents 8630 0 R
+/Resources 8628 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8614 0 R
+/Annots [ 8625 0 R 8626 0 R 8627 0 R ]
+>> endobj
+8625 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.5732 390.8088 216.2973 401.7128]
+/Rect [153.573 619.364 216.297 630.267]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-8661 0 obj <<
+8626 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 289.548 483.2121 320.5167]
+/Rect [448.024 518.103 483.212 549.071]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8663 0 obj <<
+8627 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8656 0 obj <<
-/D [8654 0 R /XYZ 90 757.9346 null]
+8631 0 obj <<
+/D [8629 0 R /XYZ 90 757.935 null]
 >> endobj
-8372 0 obj <<
-/D [8654 0 R /XYZ 90 636.5297 null]
+8342 0 obj <<
+/D [8629 0 R /XYZ 90 694.089 null]
 >> endobj
-8657 0 obj <<
-/D [8654 0 R /XYZ 90 621.9594 null]
+8632 0 obj <<
+/D [8629 0 R /XYZ 90 679.519 null]
 >> endobj
-8373 0 obj <<
-/D [8654 0 R /XYZ 90 465.5345 null]
+8343 0 obj <<
+/D [8629 0 R /XYZ 90 498.028 null]
 >> endobj
-8659 0 obj <<
-/D [8654 0 R /XYZ 90 450.9642 null]
+8633 0 obj <<
+/D [8629 0 R /XYZ 90 483.458 null]
 >> endobj
-8374 0 obj <<
-/D [8654 0 R /XYZ 90 269.4733 null]
+8344 0 obj <<
+/D [8629 0 R /XYZ 90 367.885 null]
 >> endobj
-8662 0 obj <<
-/D [8654 0 R /XYZ 90 254.903 null]
+8634 0 obj <<
+/D [8629 0 R /XYZ 90 353.315 null]
 >> endobj
-8375 0 obj <<
-/D [8654 0 R /XYZ 90 139.3302 null]
+8345 0 obj <<
+/D [8629 0 R /XYZ 90 238.589 null]
 >> endobj
-8653 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+8635 0 obj <<
+/D [8629 0 R /XYZ 90 224.018 null]
+>> endobj
+8404 0 obj <<
+/D [8629 0 R /XYZ 90 97.337 null]
+>> endobj
+8628 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8666 0 obj <<
-/Length 2406      
+8643 0 obj <<
+/Length 1821      
 /Filter /FlateDecode
 >>
 stream
-x��ZKs����W�U�h��Q���T
�j�Vr�l��$(�B
J����` 
 Z��>l�a�1������
��df�L	�
�r��_��-��oW�~
��+�כ��o��d$���m��dS!f7��sBӋ�`��o��b��.(��ǻdSī�ӏE\<.��@�ƻ���]�9����m� z��M��p�����tR�
���?:	�$�e��7�ED�C�w�U9C�pS���'W�z�n�����d��ebߛE�)$�R��a� �+�mR�,��N�c������c�׫77���s�BX
f��߫��l���F�h1{���1t���57����~lױ�~�


� �s��y	�����>�ゞs�AL�#SHq�k���d�>YD�28?�?
�0�{H�LG��9S�a�L
4�3S���6D�t�
��>x��w�/
-w"4���x��u�]
��]

��p���P
���������)۬ ���l)�������X�[��[(��I�x���p����xf�sd��8��$��%�n�x
���]s*�&R�x��)i��>�vi�|p�৳`D$
&���ɾ��$�BT��E�Y�Ռ�f`0�#�Icjy�
P�x�7q�TVQ�.��p��6`��
-%_ݐMȭi%�8�"q�i-����S�4��{+�w�΋"9
�l�f�͟�p�d��k��l$�8�	d�����E]�aх�	~���@Z��o>��C�B�-��	�H1J��F��C+z��G�8�j�8���2�
���]
-U��=��%��F�"̤GZ��1��c�$�kϘ��"_P1��.
E`U���-F`\Ա�I��G8�(�l��e�q��@y�( ��l`cD�
.�W�e�eZ�2uЋ������C:��P���O�2W
I���;���
%}�yL���6c�!Z;T��BNP@ބ�/�U�]%�b0۝��

 (���x�
�[���i�
��_���d�� 	u�f�3�c�
x��� �6Jt��ꬑ�^��l/�Ȭ��3���
�����da4��4W�כs�lL��.4G\��߷�AZ�w��~J�a?�s�@]2��뻖���A�p���l��>�O�2��d��'O�8%O!XZ^$�ȒM��9�xH�I@���d���xw
ia �J�5�̉���*0ɜ�R��I@���b�R=��6�yS+�<�4�3o�M�1_xӀ7��ʛ>�<��2�
���30�"
q`��g0>B
 ����M���ڑ�uw�������f��X٠�&>�.`�TF��*�(��jćC�J����?&e79�Y�nJ�֖R��j�;�l)�F����ʉ�
-m�j�2��̤p`>	�]�qPf �\\
-�!��<�"
˭��`y�#gX
�eϘ/�<�e��mX&Ha)���w�d/��d�?�3C��@�Y���{
f�}b����i
�.
̭����m �H��S���70Z������
�W
����OG��
- ��8jsY�g�ط�X�ɹ�MBͿΓ��jϪ,�<.���+�����	iǢ�i�d�>��2�  uM;t�S(�-#h���M�i��ڃ�p �kh���f
-'�L{=�e�cT��� ����gzeK���`/
�L� "���>*nk�w]�h��
C��[�؊l�dq�w�3
-L��T���U+��)����)
���$-�ȧ�lS}L�GY�,F��S��i�y��}���{� �$�@K�$%��Ѓ_0��4 _���n<t(�c[(8��~[�x<$�Ԯ�|^��0��E�-��2�7H~o9(J�$z��Q;?rӕ'~�S�E�cg��2)&�_Ȁ	�7�$L�Z�Npx�!4��
-i^#5T��0�,�k_�M�Mx�ܴ=��wi3xl{�^T��d���k�m��M6u��d�@g�v�&
ۊu#��l�i���P��Yf���z[�f��*�}�S���X6�?嵎ؔ��@�z�%F��fhZ}#5T�;j ����[�u�x����,Oȫ
/���U�n�\���]�u[U�Ӯ�f��Tk �L��+�$��d��J��+"@�����!�S�ѷb$6�����
9��c�}�gL�O��ܧ��
-Ȱ��2LZ�i烁]�	h�+2�q8��~�dX=��
-i�m
��G̡�|
��+�M������B'�y�w�:�
-�٣����Ov:û��N��!,�߽O}زDO3�
-��l��o!��=�2������L����*L���v�~��Uʷ��ن��m:vw[w���Ǥ��B�y����ԔE[(��R@�Z���ؕ<h����dH�RA�� ��?���
�߼u�puPuv;X����,��뇇�>�S�

-��ׇ��o���a����E�����LK�
t
][�MJ��f�f�G7�
���sS���]endstream
+x��Z�n�6}�W評��I�"�
��
�n�4��%]Z���ڒ+�ɦ_ߡHI�,_�M�E�'K4Eg�̜#;��{3��rp��SO"�	�.�
��S軙w�c���p��~������~��[�Y
O�%�8���2��˻Ʌ�m�j69χX�ܔ��o�^c��!�`7�9�~ߙ)�M8@��z�K��pDX�$��gِ")Y��{Vm�}���¬v9��W��2.�~�Q!ƅ7gHf
s��:�J�f^��vIR=<xu9�k�a4�p��0BD0o�\}����D��n�Y+/$>�������`�8���P!���*�N�q���F�
�(l|^ޭU��p���Op?����@T�~I{#E��p0R�.�7dY23+���Ȇ��؆�:��@�
ëd��+����{��Q(z�	�x<K�[ � |���'��#`�4K�R�����A@p�s�<J���k��Wf<�̈�	w=K��dV5���
g�i�w���$U�DlM
a�׮��JR���
+��$ef
#�
!d���1"DR46����ٟ b�eqj����<����2��P6��,��(T9��,We25C��!a> �*g�s��@�k~������������NH�U��Tܺbv�9�1�q�P�i���U��y�]�E�@Q !�͖����I:�ľ���l�כ�Jˎ1���n|��3��[����!A��
���v~����I�8W5���xs���l�~\*ԓ�#E="P��\�E�=w���`pΝ
+
��Tp}�[�%�Dܣ��s�1I���5��ʨj]�k�I
���(N��8�; ���F
.��%�6�y��P ��q�Ok�]����
�ަ�`��@J?�c�6�lك���LU.�&P-&e
'e1
WfN��
����U���L��*I�2�3�A�������
�g{m�<1�e�ҁ��ncƈcq���B(�
ʓ���5���u;+�{:+�w*
�3�=�m�J�	|~m��ś�wUW��`Y�G|���o��-�1)�mow�M�t�0�X�M�tj�>
��$鵹��:�
�'m��d�k Я��B �ݻN��b�C:��I�1�] 
M)�j����
|�뱕K2��n�I-vr�Y�,b�4��#Y1��e@�3�ڔi�"���I5��$Nd��
+��\�tω~ML���E2]t�a'�0��
Vb)��
j�m�.�(#k�C��V�n�a@����
&j�Wa����?l���ڋ�}�Bye-
i��~�a�1]~����K�\�,�4�L�E���fYnC`��;`]�����)��8�
-Yv�<4��M̑�@K��5���+����#�w#��0>V�"$��۔#�a4b�Ѽ��45�ַ��cz��y�Y��k�J�qQ$�����겑f�q]��iWC
��
+

�;�}G��)&V���P�B�_��;��x����
�����^!���W4��~zW��®^aq&����W�o)�{�
+�V����$��mq	�
�ѫX�w��W�
l˭��������F�5�F�
5
zDt�9a�1��4�控L�E��-v	��k�� 6���s�
���	O3$ 
�|1��e��e��ǢL�My����J8I͐�P3��j��?������G�2X>��g1㊙�1��#fv���L�����lő����=`�"�n�8�ٮ5���E���j���V���!ph��_�tS�] n�R�`�<���`j2
�t�W5o1��ӫ�~
T>l�ֿ]�֋��\���nooѴ@�4Y�()�����n��`�9Q�y
�UV�
+��0h~��	�?|���
+endstream
 endobj
-8665 0 obj <<
+8642 0 obj <<
 /Type /Page
-/Contents 8666 0 R
-/Resources 8664 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8674 0 R
-/Annots [ 8672 0 R 8673 0 R ]
+/Contents 8643 0 R
+/Resources 8641 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8614 0 R
+/Annots [ 8636 0 R 8637 0 R 8640 0 R ]
 >> endobj
-8672 0 obj <<
+8636 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.6427 266.5783 229.7369 277.4823]
+/Rect [178.643 537.126 229.737 548.03]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-8673 0 obj <<
+8637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.089 296.382 246.767 307.286]
+/Subtype /Link
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+>> endobj
+8640 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8667 0 obj <<
-/D [8665 0 R /XYZ 90 757.9346 null]
->> endobj
-8668 0 obj <<
-/D [8665 0 R /XYZ 90 733.028 null]
->> endobj
-8376 0 obj <<
-/D [8665 0 R /XYZ 90 623.8069 null]
+8644 0 obj <<
+/D [8642 0 R /XYZ 90 757.935 null]
 >> endobj
-8669 0 obj <<
-/D [8665 0 R /XYZ 90 609.2366 null]
+8645 0 obj <<
+/D [8642 0 R /XYZ 90 733.028 null]
 >> endobj
-8438 0 obj <<
-/D [8665 0 R /XYZ 90 482.5554 null]
+8405 0 obj <<
+/D [8642 0 R /XYZ 90 623.807 null]
 >> endobj
-8670 0 obj <<
-/D [8665 0 R /XYZ 90 467.9851 null]
+8646 0 obj <<
+/D [8642 0 R /XYZ 90 609.237 null]
 >> endobj
-8439 0 obj <<
-/D [8665 0 R /XYZ 90 353.2591 null]
+8406 0 obj <<
+/D [8642 0 R /XYZ 90 383.063 null]
 >> endobj
-8671 0 obj <<
-/D [8665 0 R /XYZ 90 338.6888 null]
+8647 0 obj <<
+/D [8642 0 R /XYZ 90 368.493 null]
 >> endobj
-8440 0 obj <<
-/D [8665 0 R /XYZ 90 112.5155 null]
+8407 0 obj <<
+/D [8642 0 R /XYZ 90 142.32 null]
 >> endobj
-8664 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+8641 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8677 0 obj <<
-/Length 2979      
+8657 0 obj <<
+/Length 2149      
 /Filter /FlateDecode
 >>
 stream
-x��[Yo��~���S"a���9�d� ���8y�]
���H�"��x}�H6�&[�<v62
DR�]ź�S��(�c3GgF�Գ����
���X�u�']�?�^]��������W;hA(Wjv��~�v�0J��݂�yzئw���w��u�:�w�?
����MCP��f�|�>[=.��ݻÂ��n�ŏ��]�X�!7��I�����Db�p�R|�~�H���ys�>���9�5�����Mz<���.
�g��&-3\7K�0Dicf	h�)Ū%���z��Xք�ZB�n���ӫon[��r�!�*������?��
-���%�Y5{�J�s|���\���Շ����� ��NDͬ����
4�A���D�]vT�S�uD9f2C���!(��Y�n�E�� �՟`<�X�%���RD�̩�w�l��
lf����Ew����G'��$LҞ�_��LY��p�n[7j�]{�qA��#j�Lb�����Jy���kη�C����Tѿc��<��i<�����-�JM��@oj(Р�ϗ��X"	Z,���jZ	���^ӼZ�Ϳ��|W�b���8Z�����pUD
K�f�$c�̿�e�&�yV�w�!����M%�]ͻ�}M oǝ��*+vۼH�]L�H휷�o
-��XO����d�"C��uF4�N�!��H���*T��y�[�X����P-��e�#~fx( M
-���^��rHE�������
�8�ڡ\��g�Y��T�����Y�y�ʹvD�VU"į
��NJl��*/���� ���c``�ԯ�?4!ӓ��
-��r�tK5!
��@��4�������X~���KT�X���k���w�,�e�x�M���x�o>�������� ���F( #��7
���s���hNY�v�l��
2��
Xڏ�l���lU?��
�A6a�
�I(�&�-;i����&�hs.3�A1J�� }���P�[CNu̺�Sy��K5��P��9`/�2��VSʠ֖��x3�6ʉ�E�R%	s'��Ą:��q��=���u	c��R
ن!�!eC1
�ޮ��'������:_��G�:�
�$�xy�[
?
˼|,�կ��X9h�
2���n�d#�mɺ�
*�Q�8_O5�*W��f!�V���6;T1P�B&{�:G�f9�ª)�u�ƴ��"���иc�?��S
هʃ4��v!�Vy]9>O}�3l$v{���YW�8`��l|=/מ�}�

7e7 at 6�
���ٌ�$J!�x��R��XJi��hz�eV��H��1�g|Ó��rus�
	zI7��.=4j�
�,t�P|G5�R
�	��~Y�u ����C�<��%�p�}���v&ʒ����bLb��Op�+6G?<�G�H"�T5�:��u��w(��M:�.�CVK���^
~�
�L���X����۲�0��Fk�x�C	
��*C�0K}ϒ.}�{A�菵��aYa�@[X
��$��L����Vr�?MJp_���P�y�I`z�ce
%��z�]�3�r(�!+��o�@�Vh�m�Ex�6DA�|�PiUB
)
-��́�A��}x�~�m"��&�1���ls|�F8B€A�� ���0�������(L�8�ߜ��@�'�b��	T(�hk�~��&cl�c(�Ʋ����L�N� ���FЋ��[�<�!C�k}ŐD9�� �jP�:(F��cmp��
-mޜ��W�a.[ԟC�
���KIA0;���Iw��{��u�H-Q����#�/�ĩ�R���\�TC�l���V
�7���B��K�x
�
��:/)�P�����h,���)鐑x���&6�
A=�l,e㵱�M¸�� 1#���~T���
I�e�ݳRQW�g
��"�%��W^�汶�
b�
���:���T����}���
�*J���f�#S�Ru�UW�zt��o5�1h���,RGB��r�S^���Ol��nv�n
!M���O�
"a7�wv�!�l�I���CCA�a�&��Vvt�Ё2���x٥:?^
-��F��	02b$���-� 6��'@l�6�l[�a��7#��:N��Y�l�J�����;BA1�A��.٘�=Y�g!1��	Ξjȹ��9bA�!�۱,4�
	���sB
�1]x�I�p�o���€���!X�����K�:sp���٘R=٥ �8�@
����J�̙@��]�,=E�]����W�v�*�.>���,��u��O�f��/6���]�]��@G�q�v�*t��Wn-�A�b�1�|ğR���%�<�qT#'�q L
t
��:�\��p�z{�����z���:����*�/����
�9V�㘣�������b�ї��LA_�i�V<MO%��U
-�g\!x$�DS��'���w�o�ܽk�a�]�s D���8�
-���c\Y9�;��l��9ˣ��!_��{�(�젵��
�,�t���.C�:�
-]V�9��Qtz>i��l����КT�"��"N����d�cV�ǘ��c
cv�Sƾ�I9�8kObV�<2mϧUwѲm8���7���ug�\[���Bu~33k
&�n�$4�x�k���IwA��;��P�p��?�w�JȲ��}��!
-�̖C]O�ׂ�
_g/C���q່]���!Ǡ�R
-���F�
g�;&�-0�/deN�kQ��W
O��	rO�A8y��R����P
-����	��\�2O�tD�l��kAeg�(��	ڏ2O5!�p�iP�N=
�h�C��$���NX���=)��AC4%���	H�1���
�� ��3hL���
ϣ�
\�U�S�i���qxb'���4�4l�[��׷M_���
~�Pj�d���ţ?‡	�n����֮^%���:tg�@A������?u���IgE
�O��}��e����~zz"�#y,������~��
�+�4	}Ոᒖh K�ya5�lh����{�y�;4��
x��\�Ć�(�ש-
endstream
+x��Zio����_�O���sj�@�M�m�q�%�EYD)J%�x����p���4�l��p��z08��p���/���w�EIet��
��dۧM�aNbz�$�����y\�������!{�%�"^�5�T���j�Ti�eO�d�p�l��ł��
���۟���#HP3
ة���-	x"Qf�?��K*���onF��
#�o��ص%�&����v�0t��Y\%��hɘBB�h	�0�+�&�&�`I~��q������s�z��v����8"�z�BT��n?��Gx�S�3:z�W�#N\�����3|�T�'E�T�!j�����h��:�t�ou^=
�<�'���
,஠~aH�#�L��F-E1NZ���u��u�C�q;N��қ�pD8���*%B#!N�+G���_���_��Z�]u���/d��O򤈳�7�8���1͓u���A�R��/X�ZW��4��y'����)��Y�׸���e�;�TN1؄J�I���C�~���t�F�)�(��^ [...]
rђ�B�6HB����*)�U�}�O�u5R��l7F����$�K��o{dɶrw�8������ي���
�Р_��?
�
DZz�D Ç���QD��4�c�i��8�d���)��=#�?�A6ǵU����~��d� ��Z��Rx��
d�)i4I]�\KC�
+��_Xy�jVxy쭓��9y�](�}����=
����W�
�������cj[�CV��b	�=�b�q��E�rdr
��E&U~����%5__����j�Z���C0A�@[x�N�À{�Z
�4��-O�
+ܢ��N�i�˦�
m��-2pG��ؓ���<�4��P�践����~�Ŕ8�!/�#!1(^5���l}���(��Q�n�B��!Y����$a���Q���T>&Bv��d��]�]~��M�.�1��[F=c��"����H+�Pڀ((��
��)�*����������B�d�!:����–����ch��ا�H��҂F�����Kr�c!"T^0|/�-x����k�B�ٛQ�@q5_
^�y�k\�0
��f���b��| bB'@
��_�
��	
@
K�B�i�� �;@��Xp�����^
pe�q
�0�싰�u��cP�!ҿ
��8�/w0�xƀ�k�! �$@�)$�h
DĔ���k��v#
��d�Ȑ [...]
+� ���@�B~=t!.����@��,=�.������@��.$��.��(t��y�t��;w!�������Z(�P�T��!`]p
�|�U@�+�MF4�A ��eTC�_�<TCv��Z�'P�)� �˜�
 ��M����ٞ1;�ٞr1y@��W: �
( ���N
P �RT-��\o�v������.3|1�s��8�@��Jk���Lo,j�q�l� �Y�V��]w`S�z�l�D�A<+�yZu�	��%��(� 8�
����YI����s�Q�E	{0
+����F8�]�q�V/�ؔ�&��u�=��L��/��{
�-�bo
+���v+�[[A��?�s�j}�4����W���<���;6��;��:���
�]�
��X���:
����F/b�ͺ�rی��C�u���r_[����	
+endstream
 endobj
-8676 0 obj <<
+8656 0 obj <<
 /Type /Page
-/Contents 8677 0 R
-/Resources 8675 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8674 0 R
-/Annots [ 8680 0 R 8682 0 R 8683 0 R 8684 0 R 8686 0 R 8687 0 R 8688 0 R ]
+/Contents 8657 0 R
+/Resources 8655 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8614 0 R
+/Annots [ 8638 0 R 8639 0 R 8648 0 R 8649 0 R 8650 0 R 8651 0 R 8652 0 R 8653 0 R 8654 0 R ]
 >> endobj
-8680 0 obj <<
+8638 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.0888 666.4224 246.7668 677.3263]
+/Rect [325.899 665.144 431.977 678.061]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8682 0 obj <<
+8639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.748 654.467 444.511 665.371]
+/Subtype /Link
+/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
+>> endobj
+8648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 493.804 513.996 504.708]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+8649 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.8986 424.4 431.9768 437.3178]
+/Rect [365.617 386.202 476.603 397.841]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8683 0 obj <<
+8650 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.7485 413.7236 444.5106 424.6275]
+/Rect [392.893 372.968 498.655 385.843]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-8684 0 obj <<
+8651 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4399 253.0605 513.9963 263.9644]
+/Rect [454.44 212.305 513.996 223.209]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-8686 0 obj <<
+8652 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.6167 145.4581 476.6033 157.0972]
+/Rect [323.631 116.658 429.297 129.137]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8687 0 obj <<
+8653 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.8928 132.2243 498.655 145.0994]
+/Rect [304.215 104.703 409.977 115.606]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-8688 0 obj <<
+8654 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8678 0 obj <<
-/D [8676 0 R /XYZ 90 757.9346 null]
+8658 0 obj <<
+/D [8656 0 R /XYZ 90 757.935 null]
 >> endobj
-8679 0 obj <<
-/D [8676 0 R /XYZ 90 733.028 null]
+8659 0 obj <<
+/D [8656 0 R /XYZ 90 733.028 null]
 >> endobj
-8441 0 obj <<
-/D [8676 0 R /XYZ 90 512.3596 null]
+8408 0 obj <<
+/D [8656 0 R /XYZ 90 472.883 null]
 >> endobj
-8681 0 obj <<
-/D [8676 0 R /XYZ 90 497.7893 null]
+8660 0 obj <<
+/D [8656 0 R /XYZ 90 458.312 null]
 >> endobj
-8442 0 obj <<
-/D [8676 0 R /XYZ 90 232.139 null]
+8409 0 obj <<
+/D [8656 0 R /XYZ 90 191.383 null]
 >> endobj
-8685 0 obj <<
-/D [8676 0 R /XYZ 90 217.5687 null]
+8661 0 obj <<
+/D [8656 0 R /XYZ 90 176.813 null]
 >> endobj
-8675 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+8655 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8691 0 obj <<
-/Length 2638      
+8671 0 obj <<
+/Length 2237      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S#�x���6�I
-l���fap-�"�[%z
���
gH͐C�ٕ{C����3g��;�I2
$38SB!ø��68{���zA��
�}
-�����[)2���2���W�
a*Dv�|?#1=_�����Y~��o��v��U�<�?������
Te�^?�^�ǻby��0'z���j����o		R�
���?:��$�e��7���x�
�׉U9C�p��zrտ����-w37tVl��*�sق1��T*[�7��~亸/��;'ȱFXH�$��~{����u.Wk����y��ΖpL�]`Č��`D����S�ܬ/�]�خc �57,y��nN*
�s�%<��"�"�(���pR�6$��<��"Ld���ޡX�7�
����K�57R}͂���A�Ў�U�N
-Lȫr�uw`����=��.I�`��\�bc�hĬE���CO/�(�'�6R}�
O`�<Ib��'����W����ݻϪ�T�����*�.��ʥ�9��S1�	c���s"f���x;U���SC���bvs�b�۔�zW]���fڸ�F��>���B���k��";�/�w�g�Hx��K�]{�k�b��ob��~���6����.p�[��SY����Z���|�H
-�WW�h��OVq�~�J@A]gj�0�*���̴+�E ��
� ��$@HpgÛ��z[ǫ�(�

��
�䥬
�jyuUn�
�>��ry��[�
n$l��Pϒ(�(fH2�-�Y
v�P���9���޷�p\ &��}��
-� �v��ѭ�KZ��l��
A]Q�ᦈu���6��6�k�R���M�Hg�]!��iN�Z������~Y�a�TY�`�P	qC.�w��
:��5<Ǡ������B���)O�@�ҁs�b�]�.r�q��w^_k�W��1�(���,��^#��/b WϤSu\�w�
�8�4��s���tx�2�!`i�����[��۷
���;���
��f�ȣZ	5��v!�UXC
�R!r"�H+�
�	$u�dڦx��u���:�w�0�A	8�0�q�K8k��	�#���
-�m2C��$
�PY�nҡz��|�/(T�>�
C�) ��Y�S��a2�)$�j��d��\�%�攦z�{
��W~�C�FB036��)(
1�s7�؋��>�����N��ƫ��b
0p]���qܖ����Z�c�A'������[(�ri]�7�+�!�C��s�D}�m�\���3x�El0@@^���}W�vbem�Q�H�hm(L�������Z��^_�
�
�xd���~�Fcڪ*H� @��)����,��(	0f` �"
�$�n��X�����Y�Kw�=Cq�P��i�
-����Lv4�����;�k�N�uAt.p���[����	aW2�����~��k�
��Yԙ�j�}��G
-EC�
�N�T�<
Q
� �X�^���;�v.�$��.	)s��Q<8Uzt'(���f�NX���i[^��3�"&��h�.gO��jF� ���P�T�Iá�K�:żi��U�']@����S�$
-�7��4`!Z�����
�f�^w���0|�S��
��D�z�E(������M����5�/�
3��HMX�_����tʕ�rL���Pjx>������vx�*#3jʀ�!�gIzJmł���iA%���J��v�,�D.R۲H���UH"@F
N�'�bc.k�^�B�knYȞ�4
i�L�
�¨)_bc�h����Ć<�P�H��v�G@�r��9�8��� �Tr����H�[�F�x15�R>rn=+��֊}
;5�=�3&�OEƄelVB7O�>�21��}�ʐQ x0>1�cM��a�M\"�et���iD�!'�$�.z�|���$��T��Q��(7�*i����Oޯ�	. t4���N�V~>����u�b`\��ؒ^{�)��H�H�5�^F͐3R30GB��b���g�fԿ����W�
A�
`kn�)�f&M��
-N�)nF�s3���6��(�h�Q4�Q��h�K)hi���3$�4�T��0��h$
Z
-��
�_c��h��G&�
��E���c�2:�<��T#j������n��: l

y�S-;vv'^/�7.bh8�&%b��	b
C#_���Wbh�dhjt��kBQ�
�j W��m:}��

y%���<����������P>��U������
3{oy�	���MS4��8 j|N
���4
-�
-.̯�hR��j=KҳZ+6Eь��D��Ԧ)�H�S4�n��^�@l�e��
(�q�-E�Ӝ�h"͟I�P�_^E�/�1_4bS͸ږ��MS4��W�h��RN�<J
�>�O�)%/�hR�GέgE��Z�ϣhF=r�hzƤ)�Ș�(��m��LP4DP$�/�h�F(�V��Ml� E3���h"��a���V�0�"H� 
z��^خ_��*�� �	�FD��-��/�
aҌ�51�n�~,_ͅ�y�-�>�
C[���. ����
����7�QEmQ��ܯ�Ț��O�lXO�Z����ֵ{^U�������	�
���PY]����
$�=�+3vp�V�gK�y�!=
̽�-�ͫԛ���D��/7u8��[f	S��C��endstream
+x��Z[o��~ׯ�S#�h�䌚h7��p�n_�
��(��D�e���{���P�,GN�X�
�ۜ��
��� ߍ�z7�}Y��
+iܭ��(d�_��Ә��dJ0��	���ŋ�	��|��IVE��{z_���|��i��>/n��q��7ń�q?����gi)�hS
�1���K<�F��jŷ��ɔ
+<�����
��!�D�Ο��j�m���J��(:Nv�m\&��`�X�D(�)C	��d�ǒli�q,��N$�B�
���wD�.�	/��"X�F�>�`��0bJOf�.�������v[��L*�1""r���D�Kʤ8̍!]I��V<$��'�Ԋ�nޫ��_�@c���&��&��^m�le���=��*��Ƙf�N2!b�e_$�C�g�h�:�S"���*.���yw�PF91^�KP�
|�����ʍ��i~!>ш�*N6WuTz�0e!R���\Y��,��v��� ���"�j>O�	���x��q�p�%Yy��j�_�ڱ'
pF���%m��)¤~b�\����C��ܤ��S
�@iT-JV�*�u
�i��w{����2c㧴��(#TB��&���j,��&/��`�zI1(�����8��`"/��$Na+N�E���\
+�n�5��n��L��[ܸ� %�N
+�\g����!ɛ�ԕ�-`���S�t�S�
.jԃ�S$
��rD�V�C
1�Z^�j��ˢ�}+BQ����>� �'SA41�?t0����Bc|�z�
�
��l����u�<�++q��O].�'~.\��!�H��-� �@�i�,r-�����G�o�\�
���,) �~�����6�t?@���^v��� ׳$.��Pʑ�������b�ڦ��=
ІR��@Kw爬�蔀��uY��h�G��3��+O:�v�����V;g/u� �`����CT5�%H\Bq��?��
��
0�1 at Vb&�������!s�_�}���Zӵ}�Y�X�Ъ]QF�y��
�� ���4M̘ ��>1�@l(6�����ot��U#����7@`$1;Il��N"&]b��We�{�Z��M��UhB�h<�k��38:�a!�X�ҝ2H6I��S��9�П�=��p�"ź=�<7n��f�U�����r��.T��mR �
� 
�Y��!����!?����G{S at +��|~<,�NޙO"[!�'+�'+�g
�p��۰-�|��&�
+qt%������+�e��1���W��2��|�%�v!a/���"c�~S�|�
'�2N)�����r��U��T4EZ��/}vi�Q�g<�=�?���x�f�)�lp�J�����.h/MP��
��/��)
#���R<��	�z	�t�V|
V�P�`h��]���/Sh$�����0�sj:��!.��hm�
wL�z}�q�d�.��2�N���SH!R���z�Z��,�i�"]��8�;jF�1�\
Q3��~jm�����Q��v�3����	ֆ��ZU$D���
5
5ӡ8K�`��}��3s��Z����;Ԕ���j��u�5�vA[C\��UU�����8�B�:���������~�0�7��Q@*���h�@>�JV{Hy/_$����D at X�>�ʐ�2`f
jU��>m�j��ݙr
�D2�*�E�D=� ��n�>D�gAX^���(�!���>��Y��Y �z���QT��7,���q���ͣ�����;��
+檆���~�$�@��6Ik��A��S��f at q
+�!�'��o����=7��foAu�E�w�������;r��'�5���d��"B��`�`�����.�L35�1m�fѺ�(��Z���0�[�wn���m��s[?��>4���jJ�9N�k�N�b3�8�l�&�kS��m�.�����|ā_Bc�u��Ċ���_�
�k��FB�f�Z�	h1Wz�����A�G[]}��
�}�#�*���F`_$�y�y��1�fŴs���*?����8�
.�D4J8D�
$a�����t�3�^x�=�K����eל�zN>�IJ��y�!EHs�����_����K���4|o� B��#��M��ϊ{W��
ɶ?�yH��&B�]
�g�
+\t�>jQ����9��Y�Y�0��1�c�����o#��h�"M7e���fOOOhy@�,�(-g��vv��y���n]��.��0����4��M�G�8F
+endstream
 endobj
-8690 0 obj <<
+8670 0 obj <<
 /Type /Page
-/Contents 8691 0 R
-/Resources 8689 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8674 0 R
-/Annots [ 8693 0 R 8695 0 R 8696 0 R 8697 0 R 8699 0 R 8700 0 R 8701 0 R 8702 0 R ]
+/Contents 8671 0 R
+/Resources 8669 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8614 0 R
+/Annots [ 8662 0 R 8663 0 R 8664 0 R 8665 0 R 8666 0 R 8668 0 R ]
 >> endobj
-8693 0 obj <<
+8662 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4399 618.8908 513.9963 629.7947]
+/Rect [135.549 615.519 195.105 626.422]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-8695 0 obj <<
+8663 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 523.2436 429.2969 535.7229]
+/Rect [334.883 531.827 440.282 544.306]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-8696 0 obj <<
+8664 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.2148 511.2884 409.9769 522.1924]
+/Rect [315.008 519.871 420.77 530.775]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Generalized_Image) >>
 >> endobj
-8697 0 obj <<
+8665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 378.1471 195.1053 389.0511]
+/Rect [135.549 386.73 195.105 397.634]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-8699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.8835 294.4551 440.2823 306.9344]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-8700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.0077 282.5 420.7698 293.4039]
-/Subtype /Link
-/A << /S /GoTo /D (main_Grid_Generalized_Image) >>
->> endobj
-8701 0 obj <<
+8666 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 149.3587 195.1053 160.2626]
+/Rect [328.059 289.804 422.924 304.52]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-8702 0 obj <<
+8668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8692 0 obj <<
-/D [8690 0 R /XYZ 90 757.9346 null]
+8672 0 obj <<
+/D [8670 0 R /XYZ 90 757.935 null]
 >> endobj
-8443 0 obj <<
-/D [8690 0 R /XYZ 90 597.9692 null]
+8410 0 obj <<
+/D [8670 0 R /XYZ 90 606.552 null]
 >> endobj
-8694 0 obj <<
-/D [8690 0 R /XYZ 90 583.3989 null]
+8673 0 obj <<
+/D [8670 0 R /XYZ 90 591.982 null]
 >> endobj
-8444 0 obj <<
-/D [8690 0 R /XYZ 90 369.1808 null]
+8411 0 obj <<
+/D [8670 0 R /XYZ 90 377.764 null]
 >> endobj
-8698 0 obj <<
-/D [8690 0 R /XYZ 90 354.6105 null]
+8674 0 obj <<
+/D [8670 0 R /XYZ 90 363.193 null]
 >> endobj
-8445 0 obj <<
-/D [8690 0 R /XYZ 90 140.3923 null]
+8412 0 obj <<
+/D [8670 0 R /XYZ 90 106.082 null]
 >> endobj
-8689 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R >>
+8669 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8705 0 obj <<
-/Length 2759      
+8681 0 obj <<
+/Length 2311      
 /Filter /FlateDecode
 >>
 stream
-x��[mo����_�O���}Q� mr	��������A�-�&*Q�D����ΒKj�\R��s� ��`�
�����<�&
����
-���f}�'wp��
�n'p?��~uq�����rru[� �T�������,!�����t�N�gO7���l�K?�׻t�8�;�2OW��śly�ɖ�׻��
|)g�~���O!U��p�Ϫ���L"Q�J|G��%T��w�}xY�3d
7�oN���*����f�N��v���}n�0���JM��T���n�jgYqS
r��-�8�W/^]�����
-a-���/޾Ǔ%���
���b� _0"�����S�|Y]�r��v
{��ܰh�a�ę��%���1Ę
v鹠�\mS|,d
-)��(�Y���Y"(���?!x�&���d�8S�a���B�Tc����|Y/9�щ
<�p�	��ҝ��`f,�	
?�9u�Ή��F�R>�*$�	��כC�k��w�"[���
ʹ����۞�t���+�Fۀ�$����t�C�I�]33����9�`�	��s�sn���ū_������M�t���
r\�F��z����0
����1���Y����K�$B�[�0��!������MV��&ϊrQ�Ҽ���9M�Qc���ܫ�S�)<
۸����zb��u^��&f�P�� ��I��iD�i�v��՛"���I��$I�析
-3]S�D�m^� 
-�kA��Q0�D#ɡ�'D!Iy]��Q�+l݆�-7���7�s�{{.��,b�h�l����
�DJ�
-e�Rwj���mD���*�yn�yy_����
*Me��v�}�m=��MМ�4H�Ru㰷vwN��BZ����#�]�u�}���֤�3*�u����e�Y����)�.մcd���R}��D"���!��%
-.)��E]�h�{�H��o/j)��n��
��p
�tAJ�Yg�w����m�I�d���e�YJ�U���bS���bG�=��n����Ôג:<�DQ�6P!u
B�
M�r/��î�8�V"8˰+O���Y�1lMi�Q�M��F⧑Ƙ?!~�5v"�;����׬��K��w�K�x=
���Ae��?|��-
ս:BEh�85B�/�� ��z�Zp�t�p Z����~�)R���=CZ�%a�ŀe4�Ṽ �z����[�����Ğ4�P�ګ������0UW�%��e�����Y6�W����A7
-g
K
�G�>_l�}�X:�a(P B�5;���ЁՉ�,T�:�8��]S���NC��6�a��_�����f6#b
-;��܈O5F�.=J�y�Iu a��WR��m�zz;��
e�g���>�/%%#�)gzbc�l�"06P/�<۹{\}#�W:U
-�Z�[�+�2B���f�^o�
-��5
�V	�6��1/y�i���� ؏� TA��0��9�m3�����(��E�� 1���․������aU�mup9@�~;��ڂ2�a|��#(HQU���כlk�0�]b��үk�@�5b֌}����b��/�*��y���5���b��Q��R}cBԏ�d2�
su�������ml���@����!՝,�ղ��@M�ɦ�"���-]��!`�����D��삾�,	�s�c�u�$ cΈ?dVv���G�	�	jHx@�6��{Jw�,sH
{F���R����b��G=IL��)��J'% )2�Ū*�wj���~��t�i�@�5�`
f�s*?��
��P��0pĴ�
�NX�$! 	H�YHcUt;U�n�t;���ӏ�vk�J�b!�@cѦ�Y,$<d!��_XȳXH��Bz,$ﰐX��0�
ɞ��
�U�B�R ����&^�%d�
^�^�+xHD�
G"L��H�i�

 �
-�<ID6��@����`Mg�;��H���cd��tR}�B"���OêX�ſ-i��c[�Գ�n��_3BD:1X�;�&�f"a̅�
�LME�A*R !�B��~�H��1B�sR����T$�܂Z�Q���j{���K
��+.�GQ�1F�Ş%�a�;EE���HE��Ʃ�@�g�"
�X�ST�/6�F�
*r\sCE�ǩ�@�"L
-\�S\�/6��F�
6r\uKG�T���@��$$��P��)B��h+v.!9��%${��d���HH��HHR�N���/5�g(D�`��&$c��үk�@�5b�FH�z�HH�����1/����䅐�=�2$$�
!��	I��BFZM�H����������TD���r�w��i��X���CG��@wvذe�gE��y|�

�Z��K��
e1R�"�Y��'��욝j$3��Ŋ��Q͞�
�c�la)4��4��V�C���E���vh3�Pu��j���H�[c�u������;7]C:���:���r�1
�_g�C���X��sЎAgk�i�i<�a��؆�d�
-*\k��/Y3	���
�f_�Rœ�V��+�랈���N�{��l�N��V9eTCh��8����A��:�2�lP
S>�{V�Au+�i�z�#GP�3&�c|P�#���Q h�<s�;_j�|iĥ���O��a,�rc��$,��w3��?I����ǂ
����vֵ��}mpQ����˿����3!��g�#-ͼk���T�;`;\�Ǯ*H���	EX:����I��'�����,��oo]������//

��

�|�Cyy�ݮ.{�Şy�
���%�Pϖ��LK�
�ߖ�f<Yo�l�
�����^
-U���M�?�<endstream
+x��Z[o��~ׯ ��J at 4�;I�l�� ɶ�n��l-�l"ɐ�z�_�394��k��y0D�gΜ�w�94��#
}3�����dQ�RIet��R
Œ!��ѻ9!�%�%���,�g�![�YP</�w7j[g���U��w������~�~��Ǎڮ��
��K�i�/��xE�`A�j)u�z�S�F��݌�ɗ�%x�5uo'�r��Tt����T��W��i���EJ��P�V�ע%c12��`�T8üU;e6�����q�0<v"�zx��r���(��1/�MD�9�޽��ƿ�0biݚY��S�����?g���(O���C�;��]�̓���g�
��{��w�*��Z,e��
�)	
R��ɇl�Ss��YOQ0{������̷V⩘\:��'�u�PO�W"$�Yӥf� \i��.N�+g�5��juU
�-(��~Ęj]�`�ٵ����X��`��<�ڻ0��lFY�M��S�ݼ�a\���,�֙8e(�rl�Be���G�V��e�_��?L���* [...]
+@��?F�q24�V�!/����N�o���Ci	"�G�V{�[��B�8�?2��I�_
�
+�H`�^�wy�/��
L\R� �X#F�:k� ']}q2oK�
eav�
X��lB
���+���̈́T������U����r7���8P�<D�N�y{cu�US)@
�X�Z�Ƅ�����U���̢wf��;;�-��[<�rj��3�
+����U
I��,1΋!���
q.���z��$��
�v�P���l�Ea�����2����ldH&�AS���yQR��ȑ0� �x��d�s"�vb�Ad_l��w�H��n
	�#�I
#��
+ 0��կ:�ϒc��8F�h�;8��C���y!%� �H�c

�'xIq��i'��926�>@��
�g	>�1`'�5il�p5(E��f���	Q>A1NtS솥n�J�(L�ңɥ
+�t�u�Ԍ
�-0�������m7��0�e�F�
+/��KA���SJ3
B����j�s
�*�/����=7��קv�D�A[[���i4���� ����XU��=Xm�{��}86�$����6��P���$�I���^�I��[;/�m�����p�M�NYu|Y�N::\��3��,����#��	������
f���N�v?��hA
	j �5˿��Q���ɞ�|�i��U^,8��s`͵���������L���T���#')[ ]-�
+������U̕���uG�4Y�V'ߐ�a�1Зi
+՟O��P$0=�:h���x��-
/MC���&���Y�k��/uD/�����ܡŤ!	�z&�{ǟpQ��yܻʀQ�<�?M�m��x��o4���'�I��OB$
��AKN�[ ~�|�nA��[ �l��Ds����Gt
Z�50��Q��
����+EP	��vdz��aV��
���``QF?Ow��:y�ǨGǻ	|��O>�S��ɗ�O���L�|9�	{��o ��3AE��#TB��gO�Ϡz��WPO��+��*UL�`
+n�ρ�a]�Q�)��8
�;�k� ��p(� ߫����?5�
}��0
+�#����ϰ���J��>{���<�����	�0Y5)��vU3UM�{���U�$l�s�?U6uL<�j����}�dq�Kfko��Ke'�e�?�MH�c�-��N<�I�x,#�u���g<����?~x�zB�a����q���bo.������8���Z�-D�C��F5��pycsT�0�^�ݱQn\�`��^[�Pm��>��6�t�U��Sp��5P��������P�{�on��n����fS�WVp�'�w
K)\7�k�����=[
u�
+_9�E~�Q��DE��!Myj[�
z��@xx{a5�j��.z3�� �^
F��n
�M;|�����(�,/��n^Lb�<G�1�S�a��4l[t<��2�|�����L�o�>�ʼhM��#%0���
�����|���F1����m��f�&V@����O:���H��
�UBX���֎��X0�-�D�'Ҭ��w?�
�?�g�8�l��w�~��)��7����2|o����2/y���`�79!R�X�/ot�]gw�1g{�(����Q�����=+�]�]g�-
+�շ1�C�Zf�ΜW�Y���n裡��nf
�+M1`H_�oڶZ]\��ޢM��E^�(o/ �.���3(6�w]��Pv��
<�o^���o�	
+endstream
 endobj
-8704 0 obj <<
+8680 0 obj <<
 /Type /Page
-/Contents 8705 0 R
-/Resources 8703 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8674 0 R
-/Annots [ 8708 0 R 8710 0 R 8712 0 R 8713 0 R 8714 0 R ]
+/Contents 8681 0 R
+/Resources 8679 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8686 0 R
+/Annots [ 8667 0 R 8675 0 R 8676 0 R 8677 0 R 8678 0 R ]
 >> endobj
-8708 0 obj <<
+8667 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0594 665.1437 422.9245 679.8591]
+/Rect [332.333 665.144 425.662 679.859]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-8710 0 obj <<
+8675 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.3329 397.1247 425.662 411.8401]
+/Rect [274.526 406.696 322.446 417.6]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-8712 0 obj <<
+8676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 142.3396 322.4458 153.2435]
+/Rect [457.18 406.696 505.099 417.6]
 /Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
 >> endobj
-8713 0 obj <<
+8677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.1796 142.3396 505.0991 153.2435]
+/Rect [180.659 176.223 268.34 187.127]
 /Subtype /Link
-/A << /S /GoTo /D (main_Grid_Time_Elapse) >>
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-8714 0 obj <<
+8678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8706 0 obj <<
-/D [8704 0 R /XYZ 90 757.9346 null]
+8682 0 obj <<
+/D [8680 0 R /XYZ 90 757.935 null]
 >> endobj
-8707 0 obj <<
-/D [8704 0 R /XYZ 90 733.028 null]
+8683 0 obj <<
+/D [8680 0 R /XYZ 90 733.028 null]
 >> endobj
-8446 0 obj <<
-/D [8704 0 R /XYZ 90 484.9337 null]
+8413 0 obj <<
+/D [8680 0 R /XYZ 90 481.422 null]
 >> endobj
-8709 0 obj <<
-/D [8704 0 R /XYZ 90 470.5139 null]
+8684 0 obj <<
+/D [8680 0 R /XYZ 90 466.851 null]
 >> endobj
-8447 0 obj <<
-/D [8704 0 R /XYZ 90 216.9147 null]
+8414 0 obj <<
+/D [8680 0 R /XYZ 90 352.125 null]
 >> endobj
-8711 0 obj <<
-/D [8704 0 R /XYZ 90 202.4949 null]
+8685 0 obj <<
+/D [8680 0 R /XYZ 90 337.555 null]
 >> endobj
-8448 0 obj <<
-/D [8704 0 R /XYZ 90 89.4414 null]
+8461 0 obj <<
+/D [8680 0 R /XYZ 90 121.653 null]
 >> endobj
-8703 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F7 526 0 R /F8 523 0 R /F13 567 0 R >>
+8679 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F7 505 0 R /F8 504 0 R /F13 540 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8717 0 obj <<
-/Length 2575      
+8697 0 obj <<
+/Length 1851      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�~ϯ0�u���bz��
�;-��٧���XL��-{%y3��(ʢD�ٝ`�EA`]�?��G�d���4�)��f\�V�
<����^����/�����F��FZR9��k4H�0bv����Xr� ���K��i�M��/)��6�k����U~[����u+P��f�|c���d���%I�;8�/��|w�
!����4|v�?9� ���N�+��x�m�D�r���}�/g��m�V�Sws���l���6��ق1��Tj� kh!H��sg���b�9N�U�8�W/����o��‰`��?_�}�g��
��N��N0"Z����S�O6?\���co ��ku� �)~�`y	P:?#��l�]�L00n�S|�e
-)�$�@��7E�5�
A�����&�M
->=y�E�L1�9`2�h
->S
�/6Dwy�T���E�x��x���
-w"$�S�N� �~�x礍w{��q9a��!���~�3S����>�/.L%�wX�ծ�jw�]kJ%�*!�2�Q<=u�d$�̙�;'�U(��-����Wa�2�PXۙ̉S���.�a�"�*��9�?��ϭD_�
j��Ǐ�^E�@�k�Y�E��"�bB����y��
��	�s���y� �4x^!I�
�'^6q�V�z3	G4�Lx4I �#��^�UD
��^7fi�ævǻ;���m��¼��e_����oM�`LM40�̨�"��@�DIFa�D ����� \(�W�o,
-������Ce��&{���Y�Z���ih����7�)�ڟV���VQf�Hg���
w�����0��U�ߺ‚Â������k
��u�a߅^���>�͋|���dhؖ�0��(ah��)c=�
-�R�
-��tQh�LiW])�NV���
�O0E�Q0�I��
�}�ۉua
��0�LϾ�D(� $$!�/���k
m6�m���|T 1œ�d�
�:�L�D�l�5>݋:�mAnN�XBK�p�~�|��O�Th	�^'q�v��M��;��Зh XozT/5
5�%ňs���/m~1���|W�{���]^�M9�[M�Ŵ�es��K* ��vc��
-
-��t��\-�[��� V�eiNA�9*�w?�
3M1�d
��A��ܕ����0U�V�t��<-ch� )�1�ph�~�eo���̛������@��#�N�z
[�뵯s݌��T�q&�1�I�AE�FеY�*3�����Y���烱��de�"�$���}�ӕUHp�&�w|�ae�@������Rq��D*z1
����k(8
�3���2-�[S�#P:/Cq��H'5zcp
��Y�;�"E[�bt�B!�������K�p�Գ
LX�sya�\Z��(�q!��}Ԯ�`
�=
.jճ-jէ[��O����dQ
��(,��ʭ횣�%T��!��m�e�j��̲
�j	Q�4�L�v�*�%�44���3K�ؒ
�,�
�6�G��[�T$2��/���hF"(Q!��YV��F�LkL6H�j��
V���M�]���^�Z�`��k���	�9!�f��,~�'JI%��
�/u�Aq��0���
�D�!�7�N�
�(]����.����`Л�9�����X�7�ⓞb	���3��KMx
-c$fO���'�4B�R'�Q��)���Ҕ%��
E��d���ĀvB'ј� 
-!���/8ƒ�q�Ba�U�,>p0.>��8
BZ	�����^���ݡKz8�<�ք�+��
 rq���tc�
nY� �Kێ��}/�8��
|?��X-�0�]�)�&�|
k�>�!�oE�0�z��^+����b�*�®>3�"د�!��س+N��J!��Yv��gW{7�7˱��P����c��ɱ��i/��G�ΰ��dB�+ b����/u��B�e����	� L���x��Ħ����Lh4h�	�N2���x
-)��)�8�'5�4*�V�dR|�aC'
��~
)��đ�@�IQ �
)��"���KŸL��L�N�7R��)r4�G��@����	�F�kl,���X�i|c�>���ծX�o
��U ��o����	^�y��� � ÷S�';+&ɜx�#м$�z����N`��Sƴ+���;�i��z���[���
�$�W|�5��z9���.��P��K!�Y����xq�5��/:(n~�T3?�f�'���b�iyA���&�*>]i�A�y?n�PC��p+'��&	yܪ�84���\榑7���p+3�dB at u_0�Ƹ��
[
c�~<�{��ky�@'��?0n7c���ģ��w@
�/�Cd
�(&d���I��ÙB	<�_�a�$`�O5H'�H�� ���Na/z�-�:��Aَ

c>���TO*��a����]�B�%bc�Y�
�Gmm6��w8�a�P%�K���
D�ymi����iY�iۖ�ɏ�)os�]��=-���ʋ#�e��� �����]N
�Pdl����ݟf���
q�,zOxy��H�����WWhU�C��K��W���j��v�ĕ�rܢa	,����^��r��۝�ڙpq�T�Q5_��P��p�=endstream
+x��YYo�F~ׯ ��J@��{I�(��(����yI��6�TI:��}g^-˱м�A�rw8�s~3K
\8�u�����dA�"Iep~D8P�!l���Ô��ٜ`���3��q������b}w��2^��^�qy�Xx�:����NnV:Y��3N
x�g�ߞ�!��!U�[��8v�
��L#ʢ���a6�O_Q?8a��"Ѽ��=\�m_��r��g��l��km^
�)$d�A��9ӗ�
+���8D�=Kƕ���>��;!0�b����V���G
$0�6��Eapk���S������	�k*
+ʓ�g*�S�^uO�-����U�B��:��6:�3=�
����/"2X�`�{٨�(� �^KQP{�P|6NV���x�Oν�G�o:��'�+!b��(FDɁ�
)�v4�"%�>=
L�X�I��6�J/�4�y�y���d��
�8����l(��X�������
⥷E*l��Ə#HC <���s�mCJ�i�Ns��
+�#�G1�A�����$�F��Ӌ�i6�-D\����[�Van�i�=������O�מzUd�"�y��K�/
X
NO딂���9�����uZ�H@%��n�o�f D���U]�=�M>M��2ݜ�ILa@���ŇDk��j1`�1x	���j&�ўAz/
�XV���[yn@�e��Q�ԅ�S����9�F"�C���/+��
�ljuQS��b���U}��e	��#���S��,��������$I������pIծ����a8Р4&uެ���o*O�

_r��.ڐ�>�
CG�F�
�n�d����(xfm6	� ��u��l&g59�~���
�Fr֜bp
+�z�$
+r��>#�8r��9!�T��
99n���q�T���1�s��G;
~2D)y����gRh?�uR@ԣ�
�8��O�8�!�

+q� �ۣ�G�]_ʯ�;�T��OC;���g�;2�E��x��g������[
�����)�A�
;�[�
+,��oWUz1	Xi!
֪�=�
�uC!=p��C�
b�t)���|7��@��vۻ&���P�)4�CT�v�$ŸK�E.%�	�ii�bf��J]mh�I:�4-����-�:��
y at OJ
�I���XG�O��s2H]/ڣ8�,����
+y�\������
�/U���A
+xJ��l��D��q0*'[�4�"P���Y9 K��D�����
N�2�:AH�s�z��[��Uq�,�������i��X��\�2t h�ʇ���L]���a��n�`a�t&�ޥˣv�,T�na�������T��0���0+��a�a|�ai
+Gҫ1��#ˉ�`���Y�)U�[T@\@l������^>�^��&
���X�`Xe�R�}��
+#�U���M�	�u������i|��U[_P��PC5�Ӿs
Cq*Q���.�zY��mɈ� ��C��
���q�.�oB�C4m�z���V�J

6-�v�wY��;_���{��w���^�ߗU�DR�t�Ucc��(d���!��l�epa�l��^�4���t�6�~}K��:b2^���*�>��4Y���Mf�=J�����M���[=A{!�Q'J�U��r;�z����� E�5��mZ_�Tx~p�����8�z�9T�
�z�
+�ʷK˼�!Г�"jWpA��R�I�s�l��$L
`�=��a����~�߁a/	�%
�w`YX�שqX�N��-��!��W���M��c�8��}�2)��~iK;�tRdSj�L&�J�W�:I�x��f�Y�CC��H�I�u�Y����ޢU�n�tS��>�l�'�.�q!������&9fE�S�df
�
#��;BN
+endstream
 endobj
-8716 0 obj <<
+8696 0 obj <<
 /Type /Page
-/Contents 8717 0 R
-/Resources 8715 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8674 0 R
-/Annots [ 8720 0 R 8722 0 R 8724 0 R 8726 0 R 8727 0 R 8728 0 R 8729 0 R ]
+/Contents 8697 0 R
+/Resources 8695 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8686 0 R
+/Annots [ 8687 0 R 8688 0 R 8689 0 R 8690 0 R 8702 0 R 8691 0 R 8692 0 R 8693 0 R 8694 0 R ]
 >> endobj
-8720 0 obj <<
+8687 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 581.4515 268.3399 592.3555]
+/Rect [172.639 588.675 300.161 598.957]
 /Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
 >> endobj
-8722 0 obj <<
+8688 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 366.2296 300.1613 376.5109]
+/Rect [172.639 417.895 300.161 428.177]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
 >> endobj
-8724 0 obj <<
+8689 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 190.931 300.1613 201.2123]
+/Rect [332.347 326.885 435.546 337.789]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-8726 0 obj <<
+8690 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.347 98.2435 435.5464 109.1474]
+/Rect [454.45 326.885 513.996 337.789]
 /Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+/A << /S /GoTo /D (main_Grid_Concatenate) >>
 >> endobj
-8727 0 obj <<
+8702 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4502 98.2435 513.9963 109.1474]
+/Rect [89.004 316.987 113.133 325.833]
 /Subtype /Link
 /A << /S /GoTo /D (main_Grid_Concatenate) >>
 >> endobj
-8728 0 obj <<
+8691 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 88.3456 113.133 97.1923]
+/Rect [128.635 264.507 256.157 274.405]
 /Subtype /Link
-/A << /S /GoTo /D (main_Grid_Concatenate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
 >> endobj
-8729 0 obj <<
+8692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.708 146.207 250.895 175.273]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 105.059 483.212 136.028]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+8694 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8718 0 obj <<
-/D [8716 0 R /XYZ 90 757.9346 null]
+8698 0 obj <<
+/D [8696 0 R /XYZ 90 757.935 null]
 >> endobj
-8719 0 obj <<
-/D [8716 0 R /XYZ 90 733.028 null]
+8699 0 obj <<
+/D [8696 0 R /XYZ 90 733.028 null]
 >> endobj
-8495 0 obj <<
-/D [8716 0 R /XYZ 90 532.9527 null]
+8462 0 obj <<
+/D [8696 0 R /XYZ 90 584.166 null]
 >> endobj
-8721 0 obj <<
-/D [8716 0 R /XYZ 90 518.9289 null]
+8700 0 obj <<
+/D [8696 0 R /XYZ 90 570.398 null]
 >> endobj
-8496 0 obj <<
-/D [8716 0 R /XYZ 90 360.2991 null]
+8463 0 obj <<
+/D [8696 0 R /XYZ 90 413.386 null]
 >> endobj
-8723 0 obj <<
-/D [8716 0 R /XYZ 90 346.2753 null]
+8701 0 obj <<
+/D [8696 0 R /XYZ 90 399.618 null]
 >> endobj
-8497 0 obj <<
-/D [8716 0 R /XYZ 90 185.0005 null]
+8464 0 obj <<
+/D [8696 0 R /XYZ 90 259.997 null]
 >> endobj
-8725 0 obj <<
-/D [8716 0 R /XYZ 90 170.9767 null]
+8703 0 obj <<
+/D [8696 0 R /XYZ 90 246.229 null]
 >> endobj
-8715 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F25 344 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R >>
+8465 0 obj <<
+/D [8696 0 R /XYZ 90 89.441 null]
+>> endobj
+8695 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8732 0 obj <<
-/Length 2735      
+8709 0 obj <<
+/Length 2599      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�۸���Ÿz6Ps�NqQ�C{��w-�&{�%Z[�VkK�,go�}��%Y�$w�`cI
RÙ�3ϐ"3
��L�
-i��l����'x��⛗о�
-������3���rv�hG�
a*��~�aNb�bI0��
��y��Wo���˶�4����C�7/ww^�-���e��؜��f��Y�l^�M��x���B:/�
-ަ9�g^�'��D0�,J|K~�XR���R�ndTΐ�\�>�:�w��膻_h:/��]���lɘBB*5[�5��vyW<vfE�v�
g
�d\��7��G��r�p&���n>|ij
��������n0"Z����Snv7�o��1
��5u3��⌰�R��УR�@�d0+�%��F�i�1S3E%"�evr���.mYWǻ�$	�H1Jg�a��JD�Z%�RH&Σ5����nWTO�vU4M�
�Q��e�ʜ�RC%�*�Q�&��ۦ^P1�K��y�h~������� �*7s���J�O��o�P~:zy�Q�?-����e��|
dj'RpF�ٔ��:���-A5�
0!5GT�%�%LS��e�um��
�c����_VV�UT�g,0���bi WX��(J
�I\4
ͨ�F���0$����1ı�zm'�
,
��T��r��h_ �=xPP���B�$����F6�(�KL�"
�W���'��rㆼڗ>��1R;�W�}"2$�S��@
"���\�7��_�p�M���Dy��;������I�.�qn�
+�ؚ[=�ɤ��)�]q
v��`����}Ѻ��;�N� �
-�i�H�z(V��G�����$H���^aY��&A%!}(�]Y�`�h
�
z "I9����O��bwa���8
�u�3��� �k9s����^�ndsc��Q?4�
%�D�Qo2�u�.�1�q�	u3�������TFF���Ȉ&�,�Mz>QHB��$��H�*��3�!~1�*r�`[?b6�e�yO���$�_�g0�Q�!$,��
\�L�is�ko"�V���L=��u��C]m���#�
�����A�}��=g_�?%��Dv�
�	�s�"X��őїOA��������j�!.�r�ʛ���
(�3$p�I�D��2��1�׉2]6G�es6`Ү5�0
�!�_�F�/w
��my
�����!]�G���eY������m{.ۭ��+�֧�5�Y��1�}
]\�Q����^]�
�3��?�(uM�
-*�T��Z
i1T��4CosH�>U�Ո�h�R�AJ�Rq��H�,d�
L3C���$�e���T�;�I�2M���4C��)Y�I�_9�i��,�1�Ez�eTs[>m�f�8
�TP�3S�v�

��+�V� 
g2L�*�WIa�g�P*����M�װIp�2�I~�M2��&�sg�0ɛpo��AX��B΅�c
��^/Hݧ]�2��
�$�TKj��67�t���1	�
BI��ơ%�qo��j�!�#�����.���]��\�i��R��
��|�

��Q�˸��E�\`��8H�I� �
�i
b�bl��e|�,#���0�SS@�7p&����p�
-�gY�z���� �� (
�%̧���2��;���o�������fS��촑N4��tX>�����1A��X�_�S�X����r�L�
-�HB`M�ʛS�ncLI7C(�=��)��L��o��/��N%��&c �.
LF�x�J�>��C�*��r�˲�= C;{@T�>�n���C�?���
ƨ��ni�;;�*$2<����ث\��ueŵM�+���xX���ͨu���L"&��R�D�e��0~ǵ6v��P�u���a�S��H��5E�Ÿ	]u�댿�e��tC��f
����٥u�{�.���o��{,�@?�S��_�t��4(Q��v�W�gc���CS��.m���=A�_RD�R������ ����e�v�u�K�V
�I
-�',���2� %�@��51-���MP+�儂*֫��$�[2�~�l��R&^
-�y^��h$
��i�P4)�����	3º�
�
�QVk`Oǀ���\�g���
O���
NA	m��éFY��5O�@\p6��R�Y<%
����=���h2��Xb�DF
1�6@�6ݾf�
-X�ڸ}=
��'�/�tc"��
-��%Es�����w} �^��͹*U'�D��l�7�LI(&b����-�����D.�?�CĴ�v�)zS|�w;W���X���x��#��z,g�v��q�vf6�
s��LC
-�bF�GI`y���K�/�u���yy>7��}�
?n��Mў�j��a�

�S1

����
�y^��v�e�'��|���gP��c�Fss�����ݯ�~�r����K��@��9%��o�wf���跐p�L��!Nզ0�uU�1�E@���H
Jj(��7-���PHK��N�2�O��e}�m�C�~�PW�l���Ǻ��}���A��C	��������:����8mc���D�E����b+`�%�5Hb(�Ϲ�$m9
�W�$`���
C�
6������ȇK�$q��
lت�i�ߦ�
�N� �*���cW�$��5.4u��
����ժ���X4�,��{{�#�N!Ez4�����a ����R�Q��\�g���qd�����<���ym{���}~~F�#:U�Ae{{8�n�e
dTd�q�(4�%�<�ZFi��]]
C��
�11x���9
 d�톪��|�endstream
+x��Z[o�~����V"��!i}��f��-�fݾ��0�(kiF
������2�(�I��K� ❇߹�1�<L�䧫?�]]���D#��lr��h<�C��V��SBS�9�OogO�z�/ngO���Ƭ�|�kq_����MX��v��xgVǥY-n�Q�
+:������o	\H%ܦ9�����_�D0�L�+~ ofs*����r���?�9����m~8���f�N�n��c�M�I$25�Z`ޙ�q3�ү�X!
��Hƕ
������WF�8x�DT��rw����`��	FL�ɣ[��p��w;����W�"�(����C�~5�W��Q1yt�$�0o����wf6��/�/4�&)p��$Kr�bo��)
+��v�g+dU��'���y`
�pX�������
%(����L*/����A1��E"���x��U�
��S/�|i�bg�CQ��IP��a���
�,1���b���H+�cv�̌#J::�
�%��E�-J��/x�pN���4$��[����bj��21m6�6����Pp�j�ׄ��˦����O
������m��!�l7e��b�����J�?DL�"�Qne8�D�gtT��`H�N_��B�1k.8�� 

e<��㗥�7��hoF$
D!��\�^����(g
 ȷ�j��G��ѭ�
 w���Q1},;§�:M�u"��C%�RW
���#i�O
����h�
�
u��
+4��Z	��`��
i�Q�l���M"6���)�e���a��;�ư��jk�8��$�0�2�D�UX^ta�:b�?

6���5�
+�
+r�2�b���X.�N���r��O����4.~�8
�:&��8+��9.�C�%0Ir
�]K�nk��;TA�(�1�'��e�O-����E
��w	�E4�5�H�m�������Fu��}x��/��չ���EA�5H�̗˪^y?d�Ta8�Yr�!�|���佛�{����@�;��
����5e�5"4K���(�_ǃ
���>�gU;s�D)�
�O��0��x�Ȕ#z��I
�
Z�an_W�Yfղ�����i�� +H�IB����d��c.��W����04 ½��m����SJd3�Y��ee�C��QP�d��y��@9-��2�3�L�4*�1�Z�B�Y�y)��{S�b6��"�
(2�U�s*
E��h��
+G���`uxFt�n����$�)P�{Oz��T#�^&2�!L!Р�E\nK���8!|��XѦ�lD߹���&5
[EKZ�`!ͲX?�v�3$ .�T�)��/7'ֵc at PZ܅�̝e�#r�p�����p��~��܎}�)��B�u��
[� 3�2�beFo\Wۭ����6��ΰ(���Ap}������:��UHgl����<-�ժ��Ei��s�n޻�CT(��>B�6ͱ.S at 1�D�h��h�6 at f��)��Tr��+��Ŷ�)o��Q�=qHHLX�I����d{���`���-�g�(�A0qJ�Eno�o��g�r1��@�re�2�Ҭ,��/�9I;�)ӠQ
�s�
�`�i�y!�FT���f��]B��]���uU���
t+w� �7H4D�lT���_f��>��m"�}�DP��巢�y�a$C�%���a�(.��\`�
+ڡu-Dg�
��
�X���,�
�
|��i�.��(��T�9��
cp~�;�|�}_�=�v���ؖ}{���Fg�zf{�h��^�iA��J��&"R��à�L�d$�/�%nho�Z�rR{20�����֨W�Ҽ���	���h^'J{n�x������od��&Y+�+!�wO�Ŝά��U��FF���]����KAOe���T
l�8{�@B٠�[]Ym�xRE8�� ���w�SL��
�
F"�ˁ��Ax��TB0
.� ��*ƈ�S��e6"Rů
T�N�d��
�RG���;"W"�������̚�
�M:�>&C�%�N��< �E�sHG�JQŃq��{��a����:I�T'G; �� ֩/̟�
9/��uT�����S~�cu��M;љKK��%�9si�U������Cb*��
A�F����!x�G�uMZ��֗�V�˸���_|}�ǔ�mu��|"�VIM^��
ך��ϐ,�Q�|�g��m� ׎�r�`ͦ҃��RŨ��V�	��U���V�����9! [...]
lhO��pY�
��2lwYf��
1����2o��ݦ�]�fiɭ�
+q��
�Q��<�����������:.����%t�x����W���͗=���g^�ڤ�@�i��!���~���K2�Dw��N=�
��7���~m"���cHPy_�ۥ�'^���
�e���'�dRF&S#�Ɩ�_����Z��9U9
+QU���WeT�O�R�!�;��	+��W�8]��	>��������+�ؕ��7&B;���]��aY�
�V�|7h����`�?̄�����Ƕjg�5d�=X�f�?��	
����1��y�&m��
�DS
�o�Q����\_?>>��
�b_�����קU���,;��n]��U9|-wy���L�^�|h
+endstream
 endobj
-8731 0 obj <<
+8708 0 obj <<
 /Type /Page
-/Contents 8732 0 R
-/Resources 8730 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8674 0 R
-/Annots [ 8734 0 R 8736 0 R 8737 0 R 8740 0 R 8741 0 R ]
->> endobj
-8734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 691.723 256.1568 701.6208]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
+/Contents 8709 0 R
+/Resources 8707 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8686 0 R
+/Annots [ 8704 0 R 8705 0 R 8713 0 R 8706 0 R ]
 >> endobj
-8736 0 obj <<
+8704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7077 563.707 250.8953 592.7728]
+/Rect [322.376 539.129 385.519 550.032]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-8737 0 obj <<
+8705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 518.1027 483.2121 549.0714]
+/Rect [488.213 185.186 513.996 196.09]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-8740 0 obj <<
+8713 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.3762 283.2065 385.5187 294.1104]
+/Rect [89.004 173.231 219.384 184.135]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-8741 0 obj <<
+8706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8733 0 obj <<
-/D [8731 0 R /XYZ 90 757.9346 null]
->> endobj
-8498 0 obj <<
-/D [8731 0 R /XYZ 90 682.7567 null]
+8710 0 obj <<
+/D [8708 0 R /XYZ 90 757.935 null]
 >> endobj
-8735 0 obj <<
-/D [8731 0 R /XYZ 90 668.1864 null]
+8711 0 obj <<
+/D [8708 0 R /XYZ 90 733.028 null]
 >> endobj
-8499 0 obj <<
-/D [8731 0 R /XYZ 90 498.028 null]
+8466 0 obj <<
+/D [8708 0 R /XYZ 90 613.854 null]
 >> endobj
-8738 0 obj <<
-/D [8731 0 R /XYZ 90 483.4577 null]
+8712 0 obj <<
+/D [8708 0 R /XYZ 90 599.284 null]
 >> endobj
-8500 0 obj <<
-/D [8731 0 R /XYZ 90 357.9321 null]
+8467 0 obj <<
+/D [8708 0 R /XYZ 223.966 176.384 null]
 >> endobj
-8739 0 obj <<
-/D [8731 0 R /XYZ 90 343.3618 null]
+8714 0 obj <<
+/D [8708 0 R /XYZ 90 159.657 null]
 >> endobj
-8730 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+8707 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8744 0 obj <<
-/Length 3484      
+8723 0 obj <<
+/Length 2667      
 /Filter /FlateDecode
 >>
 stream
-x��[Y���~�_�'GB�޾�I ��q g=�m
8g��D�$g���S�>�&[Ԭ�,�Q쮮���
���
^)��a\�v��z��~C��-�ߎ	�vw��K)VI���qA2������kBӛ-�����.�cq�͆�usx�T������-�������������r��+��ߴ��
���z�%!�	���
��tv	K#�"����͖
-�����יQ9C�p����Q?;]熻��.��Cї��Ֆ1��Tj�i!�����
VV�;GȱFXH?$��>���.��
-�+��`V���|�#^�AM_�`�wp�1���7��ps�����q
���ܰ��9k€u����GT3j-&V�(�B
-~F�Z�@
-�A`D#��"�]�:�uW5�}��Tn�pr,~����]�o�EU����Ľ�5u�q �H[�%�f��_[��m
��J����]�����n�n�X��2��z(M�&|�L�ܹ��q���`�n
��]kD�-(i}�Tz@����(ЈS���C(����LBs�H����A����;�V
�;0��?�K��Ǧ�W
�Mq4.��	#�e�S/�#�Y���@q��:s��>u��O�ß~+v�.s��H�	W^����
(V� ,2��D�ڲ+���ܾ	�pwE��M�0R�Y��
-+`�a�f
��>o
3 �+.����!@[*�
�,0_��1ǯBTc�R!Y(Z�����I�����C
@5rA	� 2#V���DXE��|�t��_f���<eG_�悑�K�f"
�'՛(
-p?s�m���aa;v
-?e��		�K�*��x��}.3〼`�|�*��;�r� ��#Bh�]2 �ӑ��$(��,$����@�6�D"� �L�X
�� E��e9�=�����g��³��Z��˺
�����?l���=8�Χ9�ʶ�3�,
�Wxl�v���؋�t}�x���4���i�}w*v�d>����7nR��W7�!,Zfmq��x�Z�g@
�
�<��!�R%���܂�$�.���T�=�V�r+�g)�A����)h<Y���3�5���n�� �f�)�O�)��sذ��U���rr�SۜJ� ��/�][=D��iT�� ���
-#�|aݾj�x���,1�o�
�=Y�|\���Tݘ0�ؑYY��2� %8Y𸷰�‚l�*
-y

��e+��x#�vL6_�|���I}�%4
�R
-P�!�g�(�G���2An�
[r��w�C��9O]
A8�2�s�/X�0$yI�����e�!�9���-f
"
-�S�om)�T{7��/�pD@�������@�����4����\Yh/^磘�D.Ha�Hs���'���ϻyJ����;[,mU<
<L�L$T�����hs�`�l��6�S
oZ.LR��t� .#����D����L�	Ҕ�}U���1� ���֖`
]�@�)5I��*�Fw�������I��5-8�SS�k�&_ĀUs3SM�������u�Cv����iL5o�XYbci�4�J���-L�/��v:?���0�cr
���sNR�b@	a�<�H@��RcƄ��G������-O�N��;�!�򖶠��$�>��P�
*W��O�
Vp���:�vL�$�@�!��@"+!i\�4P�'�#΅L'�­��e�ښH��n0��e� /"0�,�&1�Z0	����(|��<٤�9���K��rqA_�lH���-�`
�Y
��}Ѿy��3�
T���E�D�93i���
�f��ƚ�;��lb˭��ej��Y�P�Ӭ���6�¢��Z]�#��S�y���d
��dQ��~�?ݗm;�;���
Cr��D��3�ڟ���`�2��M��[����Jt�(X1c�!.B��at7hp�p�d�+-�M��{�zW<w��i.ͥ�
��Ғ�u�{��	՗����-�
Rs��R�D����И
��鸡=;���]ؤ�ꆀcJ�� �h�Lj`ӱ�%-�C�������f�/U��Je-!�3-O��7,�.mM�� 
�
�Ѝu�0w�n��G�Ќ�mAc!Aש���g&MZ
-~�|ˌR���k
Q�H�q"�9�J(�dT%�ZjN����	z菅NYn�
#�9}i�m;4(��]ݧ@Z^2�M15t�@�+�bB]�Rx��<�_'cZF�?����H	������\L�{��6�c=�x�|Ձ屶�Z�
��\��(
-�bS�\��s����sԈ�#pD�:���pf����v�%F����
h+嘞��g����ɾ���!��|�dr�Ge�O

D֡�D����>���'�{t������d�,9���?��/�J����
��7�Y�F!�:PnOn�z܌��-{G�I�S6�A% �Dh}s�P�?�?x�9�P@
-��(�@�X_i�q�!^�E�|tk�P�&�9�2�/mH��u/hx�*��D(0bbZ��6Y�=��q����AA�7��Q�Z;���-L�r�=��\{���g�^֍"��ʷ#��-�]j‹�Ԓ-�"R�yH�.��d�C�te��i� �s{�'��b��p4�r�݆2�Ä��&�E��1`.�>&
4?A��}\�B�ə���
X0��f��l	m��Z�sy����M��}&�:�12�}2:��="���'Od
��9�@2�XͰ7z���]ƾ�î
P
=�1�Ճ���]��h�gD��qA�8�1�egD�ݴ��ō���
ؘq��F$�m��E���3f����qC�A�V�\ :N`s�@A0�u�p�e\o�z�
O����ݹ�OC���˅8���'�]�8�p��~�Wv.zS�5 3�	I��WK�@�
����W����MY��'Ou�i�
4��싵�'����
�I� E,�/Mi�(a�|�����k�l���i��
WӐ�^Ix�}*�ErN�e�� [...]
�c"g/�I2D�i
8|ָ߉v����उN�:��Y�����j8HǮ�H�
�;�6
7��c
�,+�~X]��8��6���s�
k��1b
-�>��~� B��ÞO��^
�F���d�� Ɋ2�kc�
$0�T��؞�����Оs��
�n�ӕ�6B�}������ �,��؞7l�Ͷ���/^[ΫZF��J����
-W�
���苰kx^�l�!�����իw�ޡ]����Ԣ�u:
^M�b����X��D3^��me �c^
�
��i����|9f�a�]	�Iendstream
+x��Z[�۶~�_��V�ZX�A��g�:�i�v��6/�GÕ��THʻ��s@�P�$;N�;������|�!���O��������d���rr�0�x�$C�������X4����͌�i\�����|��I�E��1�/��y�p�4�n������J��7ŌD�
��f�~��!�� U���N��K;�Ӊ`D�nf�&/fs*��5u���!�E�̫����ei���4�&��6���dΘBBF�9C
g���!�7�d+;��av"����wwW�\��'�6/W�Fb��]���'k���#���c=k7���v���?W�

=�H#��DQ���vqw�.���\Ԋ
%]߀�z����6ivA��Oq�=z}#�������&��4�O�����ʋ")�y�N���V����r���:�%Y��?��
�~���x�
h�mh�ԛ�4'V����P�;�Ov���Y�����C�pU$F=4X�;�9#�sP�
+$��k~��J���3�
n	aE��z�H������z`����5��w�En����?}p��_�S�$i
q�2�J1��\�Y�3W�WC������}�9�dU�Eυ�i��d�9E�b�$�Xm�IQ�'}^	D�
+�JJc��7^מ~l6E��[��F�����,��[�M��ekcQif@������C�fZc��g,_Zmv���)���&>�8
�v���Ww(�J&�]~�����٩MĻ�iY/�lż��9
�	ږ dգXC�p�9Rv��Y�WՐm��1
94�Q���&-C-Q�
ަ�~�ZK¥g�AI� �;����%�f
j�|��V�PՄ\�u'k΄j�\�G`��Á5�m�E�l
0�(��l�G�~

�
<H�%����Y��L;C�dVA0<����@������pf�}[��Dr,�l�-Gbj�
���چ��8>>6�
+�N8\F�	g�$��h�8��[<`^���#�m��T�tJ����+- �Je�t� ��s��y�z�zp5�t�Tu��1>^�B��9
+�a�h6gT=��-G�
4
��FL�SH^!�[?���Iu6�����Bo��
dA�O1�
y�S�V�Ou�L�V�љ�P/# (�P�M$Ƞ�^�!A+�1�H%A��Ư�
�b�`�?߮�5ڤq���T��?�ޘ��d������mR�Y�����Be0�۳Y�/��Cm���i�%Ջ�� �/
X�Cq� T[�|s���BJ�P�$P�ژy�f�4K>bkN(Tiv� ���ݘl
�*/ :nN��Ԡ�G�Ν�z��)G�S:��5A;f�K��è�1F�
e@����rP�SА���D��oeR��d}�i���X����t��H�g�'z�Ѻ
���%��&adH�=�
L�54�7��
��#�zJ\�9i�=3��J��rs��q�f�nQ�'E=�
y�HW1'��;��D��B0
�
�Я�Gd�6�ӳ>Ğ��*�����1���O�	j����=�	�#[��U��E�	�J�І�R�/�0�� ��lVŐ�
酱p�󥑺4y�X%�9Q�o�enW��l6F$$/y�&)���f�{���H��
l��%� I
0�ѭ2�")�Z	ĵ��PSL���J�|�l�6��|�#I>�QS�G�@��
5�!F
��M��P�E ܡ��ƙ�_�,!
��C�c4o� ���^ [���̆c�YS���C�Uäaۂ��i
� S�H�qo���l?�����ڲ
��G���=�a�
�97��
�i��!��[
���Jk�?�I%���������oȨ��Ƣ��iik��KA6�'X�_�>Mg�F�����\8ۛ�>*b�
aH�Xn������)�Bj�]�w���:�E2͊� ��v(���/�j�ݢ�cǀ�+�:�Q꒬�)�@�0���JG���΋ߑ�s��Λ_p.�7�k:?2H�D�GB�����
�atYY���<f���x:�;��4�;:�c�\�k�.m���C��G3D:S�b�� ���zo��P4
ǽ�at~�:ftjX�ԧ��LÙG�
ze��� �Ɋ;ݹu|{ B[s<�럆7��5���
+)�xXm�
�K�~�z��%��7���糰�E������_E=�֝:G�
L� �t��p�2
;�M�H��i�|ۼ?�ML.s��
�U���_竚�Y"j\ ��5�
+'�
2#<ֵO^�
�.�Q,��H1�mO�7���h&��QT�ޱ���F�#@�y��KX������~s����R%�����򲜨d��2ܑ�]G�N�3����!�q�̫�RC�I�u��) c��
�C��	�N��F(Ե����
���L�*�F2 �wu܆�	בc�
�K�*�*����S�
��D�g�����eg:&y���7
��%u_��U}AU��_�qZ<����& �qHh�F~U�w^%'�6��������g��nZ-
ί��ny��U\&勣B
E�6
1��t��л���,���|�c�q�E���.Έ.�����
�6�L����T�o`�1o
�u�6��렪��eR�y&��)��8s���?�Hѽs6���	a&��5�ۤ�Av{?O���<:�)�gҥ�MU��׏��hU�C��
�V��������I!�#���C�E�.o�>���.��C��N�
+endstream
 endobj
-8743 0 obj <<
+8722 0 obj <<
 /Type /Page
-/Contents 8744 0 R
-/Resources 8742 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8756 0 R
-/Annots [ 8746 0 R 8747 0 R 8749 0 R 8750 0 R 8752 0 R 8753 0 R 8754 0 R 8755 0 R ]
->> endobj
-8746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [488.2133 593.2095 513.9963 604.1135]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
->> endobj
-8747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 581.2544 219.3836 592.1583]
-/Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+/Contents 8723 0 R
+/Resources 8721 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8686 0 R
+/Annots [ 8715 0 R 8716 0 R 8717 0 R 8718 0 R 8719 0 R 8720 0 R ]
 >> endobj
-8749 0 obj <<
+8715 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 382.0168 300.1613 392.2981]
+/Rect [172.639 616.141 300.161 626.422]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f) >>
 >> endobj
-8750 0 obj <<
+8716 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1437 344.2045 182.1636 355.1084]
+/Rect [142.144 575.976 182.164 586.88]
 /Subtype /Link
 /A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
 >> endobj
-8752 0 obj <<
+8717 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.5022 229.5497 241.6898 258.6155]
+/Rect [206.502 458.546 241.69 487.611]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8753 0 obj <<
+8718 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 159.3435 163.8226 170.2475]
+/Rect [128.635 385.046 163.823 395.95]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8754 0 obj <<
+8719 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.5494 98.2435 513.9963 109.1474]
+/Rect [486.549 321.593 513.996 332.497]
 /Subtype /Link
 /A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
 >> endobj
-8755 0 obj <<
+8720 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8745 0 obj <<
-/D [8743 0 R /XYZ 90 757.9346 null]
+8724 0 obj <<
+/D [8722 0 R /XYZ 90 757.935 null]
 >> endobj
-8501 0 obj <<
-/D [8743 0 R /XYZ 223.9664 584.4075 null]
+8468 0 obj <<
+/D [8722 0 R /XYZ 400.69 579.129 null]
 >> endobj
-8748 0 obj <<
-/D [8743 0 R /XYZ 90 568.1038 null]
+8725 0 obj <<
+/D [8722 0 R /XYZ 90 562.402 null]
 >> endobj
 8502 0 obj <<
-/D [8743 0 R /XYZ 400.6899 347.3576 null]
+/D [8722 0 R /XYZ 213.427 312.791 null]
 >> endobj
-8751 0 obj <<
-/D [8743 0 R /XYZ 90 331.0539 null]
+8726 0 obj <<
+/D [8722 0 R /XYZ 90 296.064 null]
 >> endobj
-8537 0 obj <<
-/D [8743 0 R /XYZ 213.4267 89.4414 null]
+8727 0 obj <<
+/D [8722 0 R /XYZ 90 217.288 null]
 >> endobj
-8742 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F67 366 0 R /F52 341 0 R /F8 523 0 R /F25 344 0 R /F97 1822 0 R >>
+8503 0 obj <<
+/D [8722 0 R /XYZ 90 194.354 null]
+>> endobj
+8728 0 obj <<
+/D [8722 0 R /XYZ 90 194.354 null]
+>> endobj
+8527 0 obj <<
+/D [8722 0 R /XYZ 472.811 117.69 null]
+>> endobj
+8721 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-8759 0 obj <<
-/Length 2402      
+8745 0 obj <<
+/Length 2193      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�8~ϯ�b�Y�^E2���l����&Y�C�[n��%�$7���=IY����`
�"�%��G�򝏤��?2�x$�D��d4[���x��q�Sh��;�����m"F�&��E+!!HPBG��1!��ɔ`��W��i�J�&����c6�����*��/.��h�q}̐������?��%�7eq�HP������C0�Ls���&"�pD���樌�i]O�T���D�q�Z/�&�O��EVM�g�

1"Ęqi����3���`	1f����=
���?�a���'���hMG�3N��Y�ݜ���c�1w	�N�e'�u�R��Y���~C�)������%�\)סy^gE��pBƗ�^_�E���/��F2���Ps$drȉ)N��c��7Vྸ�1�)�
	���dh!H+����&O�����l��e���6
-J��.
-	��Ɂ{I^� ���G�
-�!��>`��!�i�x?+�.z���w�����b��a�H�m}�˼��ێ��:B�3$	5��(�*f�u�l�¥Pj/�N���6Jy
�f�����F��Su���1��ˑV��Ǽ��
-)�	f���'� ɴ����*<�|�L�O:E�b
�A�df�G�T�6�f���<�1�	c%�:�	�������	�!܀W^xVD�S����'ԅ�6���"
�
-	�"�<e�%H��* ����;�z[�Y1w��
X݁�4w�vS̚�,\z���*+��}d� *
�"���#r<�0��o�G�E
��������G�)��G	ņ�C���T�+�P�K;E�Ϊ�)+�?#�8�C�
��L
-����ӐQ&�Kv��SD�����������X�C���v�2젰"a�"Z�aۜ��C�����ꄄ<��n��9����}���W#@4�#���ݢM�XI��R2̀¨�M�q��!_���Q�,����o�ui�.
�	�,e�$̌ar�(��Br�(�ݢ�N��)��]��&]��F�0�Β�����vOaQM��Z�V�����m�8� �Ӽ0N �~Xf�h��
-���YZg��
�}�P1N�>$�j�D`�͹H�u,r���{%waP�ј���+��
-��+W2('�9d�TZ�MUK�e@��a˶�S�HwF�ٶ@Z�#��[�n�e�إQ��������K����/��S�b��)T�i��bx&1�@y���iD��[x�3�V���
8����^�R����ho��<J�<
�f�E�sWY�_+P�h�EK��4�3q'��F���������ud�O
����u��
�;���>_�h*9.���=&f�������I�n���(��A�t�/�D�c�ԒM�w��8�'�0�'!�[&������D�>&� �0%_��W&�"&z ��R��hQ6_9���'E�i�8!I���/�H��b��#r���k�q���d��.��ć�G��e>���O��
-7U��~0U
-�[�*��~0T2*Y^�[x5?�LP�}yxW�'5���&�o(7��S�zb�
D��//���K�P��Qi�@�a

��:�����e�"��Q��Z��ʐ�jw�
D�p�[o�`[���w��j�=Y{j���|�
-C����*W;�(���@�S^|�g�
��Qi8��{��ko��Bʏg�s߫u�݉�AP��t]�#��BC��t��z�
�h�h�nX�ݧ�#��9���?'�
-i��Š��Q�!�?�
�@�`��C�9.�;����Xi�c{+P�,/!���ŮwV[�*�g� ��1��g-�=0�6��

��\�����'/�Z�'�*�A(��;|���6��y�.��mDVP����	����L�����hW<f��)A)D{?��	�6'LS�����g��?����@n_}�D^.AP�Dh��T>
0	6e��r�5Y�ʋ8O"	6�Y�O�J�!�l
Q-ov-�$�^���;���:bס��[&���>���<,����l��U�[
Ag�u��?�w8��]�� }p�-B��Ct0�G
���� ̚ �s�����������|�Z�P�
��#6�ͮ,3��������$ 
-���W#J�*
؝Iר�f�h����D�
-s�”$��F���hwװ);�܎��D�>5�e�ۮ�
���q�����߽s��	��lm/{� 
��
-�ʔ{��aۉ�K9��!ЌBz=��ڬ@��a�y����?Ujs7QHM��~�L�O��A����z�����Ϳ����v��9-��_��(���A�68�]��dٮi
��b%0�m�������=�������@�y�ǦY_��?==�Y�6E��PޜC�>@=�x1����]��.��J�1
���U�wr�
�ڨ
����,����u��endstream
+x��Y[o��~ׯؠ��
hGs�B
���©����>؆@-G�Br����g.��h�q��O$��33���
�ŧ^���۫��7[D(
+h���]Dx!�%��d�~Ib�jM0����˸������2{�SI
_�Ko�~8=��i�6�us�'�����ǫ�N�2Z�2�������v�d?#ʢn���G
+ሐ^�7O
+y��M�ZS��W��.U^eq��ȅ�U���KUl`�!�L`-������G��1�I&����G�H`��}��{3+_p��-.��u��*�2�1(=D
Q�������C�}�=����C��8��q*�gD_��1\$��
�g�N2/���
�
"�����@�A7�i��Ӳi����J~aW/+U�mY���1��3���0I`�X�.#���
���6�
+#c�a��ޯ�*
�Rt@Ol�)���B]��i�e�*�nTr}nV.��D��
+qxH��c��u7>�p��H<#�N}�	2역�
}��"(��91��t���J;v���xlCF	�J����ܶ��)�wR�%�X;��?u�*뱽@����ƙ
�UU�Fmܦe���v�"�v[O*Ϟ�8��
�<b4��[M�@���ϻI"LB�"D">E
���A�0��������{^zQCF |�>ׄ������̬���_���:����i�{�i.5���"SF���B膓�����{�/��)�
I�F&E!�g�������?d�T\�/D*�a�����>lb�TkN"���O�"Յj�u�xD3�xػR[o�G
ǽ��[�bE� ��
�]���s
fS�UY �5{�
�
+�9�d�%A�E��GH P�4�GH�vX���8����
�����T���T�?�
Ok��֧�ш����cg���$�U�@2Y���$��L�j6	�*��ݱ7q���?� ��s��5o�:́�.�i�T�7�0�	uye�F�3��q��+��Ĉ�����y��q�=By���Yc`�&v��>��p�V
�|��¹�4����/�	�?�@&�r����-��/
��=�^�L�zѕ��~U��<<�v�k.%�3��g�у�Ljt�[����� M:�yF���RPu�_�KP�'��I�f��U
&��UX(ɧ�}�[Rn���n��w����f(��g��O�ЬO�,x[��
8o�,+5xާ�';�c�X�]�Q�3�/T �A� ��Y�MQWU���Me��:�Z1�#��4M�^-Ie�"
��hP λ&S1`
L=m����7�;}��&#��
m�X�N#�����
Q`᎘��Kemi���
����������������N��p�y
!���H�_ �g�ė즮��G�$ٍ}h"��0�c�TA�6�ӝ�-�����Wݓ�?��ԅ�\����v��/�N0�g��7]:[_���3ժ:O
?3 �M*�Z�VCb\+�#~3�عP	�(�[Lk����oo�tc�^�7�!ԛma
�ٻh-���ن�ߌq�I��d�Ws�6yb��ɴa��w��� ��q�U��9�혴e���G�s�`�6�v}��x���Ӷ2�v���[�DWL.Ue/�4`�h$0*�!1b��G�P��|��3
+'��)vt��iך{K!�
��c۾g9�+�?��
mjL����v�_ffFHj�i���ع�!=s���5�N!����
:�����2�S�q0Bl��v����J����;�=Cx��o�ɂ�*��>|����4)�����A�z��
]�
��= ��W\,�9{\�!���p�Cub�
$v�
���
��s�n�݄������
���(�?r�Bq�
�
���2�m
'��
+����͚�4a� V
9�m6��u
�=ؿ�94o��.��;t|��f�l���j��mv�;F�pП�6����bB(�lێ�'�hp�����P�]o�UG��z?�b�t at B
���׉th���֌OcPP㬏:���ֽ(��b�_�Ӛ���q��j[.ό>�
+��u�t�<m;��~�Oi�����~}q�z!�?���h����_5(B����EdzS�:��
�cW �GW%؇U�U{��
��E�7N+��v�YF>��a�|.X.U�v{����?������6�d�ڶ:=9���G�m���Qڞ@�v��w�p*{>�7-�kk�
�����n�-�
+endstream
 endobj
-8758 0 obj <<
+8744 0 obj <<
 /Type /Page
-/Contents 8759 0 R
-/Resources 8757 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8756 0 R
-/Annots [ 8767 0 R 8770 0 R 8771 0 R ]
+/Contents 8745 0 R
+/Resources 8743 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8686 0 R
+/Annots [ 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 8742 0 R ]
 >> endobj
-8767 0 obj <<
+8729 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 161.5722 372.5587 172.4761]
+/Rect [121.93 356.674 372.559 367.578]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-8770 0 obj <<
+8730 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 106.7125 181.845 117.6165]
+/Rect [133.915 301.814 181.845 312.718]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ebb4df2fa553f9a75fc23f4a3d8aa084) >>
 >> endobj
-8771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8760 0 obj <<
-/D [8758 0 R /XYZ 90 757.9346 null]
->> endobj
-8761 0 obj <<
-/D [8758 0 R /XYZ 90 733.028 null]
->> endobj
-8762 0 obj <<
-/D [8758 0 R /XYZ 90 659.757 null]
->> endobj
-8538 0 obj <<
-/D [8758 0 R /XYZ 90 636.8225 null]
->> endobj
-8763 0 obj <<
-/D [8758 0 R /XYZ 90 636.8225 null]
->> endobj
-8562 0 obj <<
-/D [8758 0 R /XYZ 472.8106 560.1586 null]
->> endobj
-8764 0 obj <<
-/D [8758 0 R /XYZ 90 543.4314 null]
->> endobj
-8563 0 obj <<
-/D [8758 0 R /XYZ 260.5089 480.76 null]
->> endobj
-8765 0 obj <<
-/D [8758 0 R /XYZ 90 464.0329 null]
->> endobj
-8564 0 obj <<
-/D [8758 0 R /XYZ 466.833 389.4063 null]
->> endobj
-8766 0 obj <<
-/D [8758 0 R /XYZ 90 372.6791 null]
->> endobj
-515 0 obj <<
-/D [8758 0 R /XYZ 90 262.3311 null]
->> endobj
-290 0 obj <<
-/D [8758 0 R /XYZ 90 255.7309 null]
->> endobj
-8768 0 obj <<
-/D [8758 0 R /XYZ 90 125.6864 null]
->> endobj
-8769 0 obj <<
-/D [8758 0 R /XYZ 90 125.6864 null]
->> endobj
-8757 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F97 1822 0 R /F23 2116 0 R /F74 478 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8774 0 obj <<
-/Length 3654      
-/Filter /FlateDecode
->>
-stream
-xڵ\m�5���Ÿ��*<ѻ4)�
-�������(��
ۻ��o��쿿֌$K֌�q�C���L���nI�x��
�h �,J��`��B�{���+l�
��c���Ջ��E)���5.8�dp3�e�qA��#��oG
'����툠�f��0��&��->�&���/ۏ뺚���8����n�}�5��`���q!��
����� �d��}��
-���ϳ6�ZN�j4&

oF%�W�夞������w#����>���!eJ�zu�
i�̩�ڍ����74�����B�/����,�`u��o�W�~tv�/�t�.�x���)+��_w����	��:-���>Ƥ�
-��Y���X�f'�E��bS�'%�{#����ѡ�>�c\��%"
��v�͢��jK������ݽ���YX|�EdW��T���v�_m#

-��XTntE
��o�{�QU�^��T�n>Y������q�z�YWu|{d���
c�����R����d�kh��@�T��4����D_�1�*���3�Fs�"ò�`��[[_�������nD�p�m����zR/6��3���g�T�BJ��"D;��B )
�~XtQ# ���T�:_��sR^0��ą��e���h>�
2
�>,����p�>!�3,"���vy+��i!)��˷���\D����ɧF-(˒����T�ZX�v�o����X�"Gf"<(PiA]�PK[��M�]�-�
-au_-��
� R�&p��l�I���+D>{Z ���O?�f5�<�L�!vɨ�� ��%q�G�g0��q]���~�l�q�s(�:7��c�=$��f+���� 5��ߢr�KنR�w��
	�o
-a�TJ���=���0��;�N��v#Ƈ�UW��3���[�������܂�gn�iwM
�m�a���g�'��]F�B ����z���g
�
k��.k.d��6�D;�1�,\���;v�
�ؚ�n��d=k�
=Y��S�I���E}L�wd
����8k:�4���6/�F�b����W�߭��� ���n?�M"v.�ڐ���鼪���O��CHHk�n��:-�0����M�0�=. �y���R\|D�Ǡ��F��S�n
%�-�l	���c�F8X��)��O!V��_��Ŭ'1�؇u%]˃b8XoB�|
�F&Dž,��sI� ��g�X��[�،�6��~ơ�N;ɢ2<(���D��
�
���y6
���eplW3�-V�u�|[?m��Cs+3š2
(L"�ۀ�z��u,���'��B�
-DOv��g��v5��7rp?_�Zr~�j9j���0C�>рS�&(5����_�g������^�{�����5/]砓ДwW�kZ��9
uQD�Y�FG�PA#��4�/����������z�^o�6
pzbכ�!�T��?_m��æ�7���ԓ�Ry|��a`񙋊�6�0R���~�h�(����q��R�`�PB������w�>О����Ԩ�N�R���#\�L�9ѷ���{��49Y>�g�~��/�I
)��
9	�}gI���������hDvO���
���;T��$(�e���i$��8��_�۟�
��q����j�l���E�t�n.Dy���+,(ÂQR(����b���7?ߎ5
�:��H9��vW���ݫ����9�)��09'S�6���4�l{0�=�e���xz�LG��1!��f��R�8/`,��:�J�o�����ƕE)���T,���\MwC��'�`���"���(aW�t����L���
&�-�
_�!Ȩ�������o�z [...]
-2��än
;�E%��pnk(��XMDZl����/���U(�)Ls[H�p�ćs����+�๫�rV|n�̍	�~nL�hR����R
�TL

�lH|�Fd���8�ܾ��؊�Q��wcw3jPT�΢�h�\O�� cq��`�FJ�-,�v�$`H¥��bB�
>�'��L@)��Kxo�PBZ�%�8$��
%��~Sf ���caG-Z;��9Q��l
-��	�� ����

�V�͗�6_���t��T��0C�UK��*�g�\AM33(����4��S�$	'��{�Z�|���9
[5Bz������&D�Hz���
(�G^!}�����\ʳ�|	u�g�hH����~������h���р��e�L�n	����pL�.
��gx�5��(T��k(k��v�
,�����e4M����B� �+i���ȥGN����
��������m4
�>�Y�%) 1ci78Tf|�!$�:��ۇx߂���O����DvO�چ`)ez��
*���[<.�o�쏩�d��H%#
�9���o
l�u���'��jN?7?o'j#��6b��'���8�=#�������<[��4�ܞ)�	��4&y�o�^n
-��/�ZI9<!�����4޼I�#�g���`0��)AE�(G�FH�����9��ӅQ�+��tp�
��0�<.$�X�S�B�#����0:�_!�f�u��>O����Av��,b�
-��Ҳ�`YY�
�+�rp{�,��z������I��;
���;C#��i|���a������;Tn\V�9p4���N��D�H}`ѿk����
��H�'���c���L����<>~�
�]P��=
��
-�{�}	��u�˗~Z(0͖~��8�`�\G׸�`�K���0H�B1BsG3�Xʓ�C���h[�G�v@�_��<"�v�#"��M�r��z��s4"��Q�i=�߬'�����9&�$����IO8TL��$䱵ޓ�rn��n:_@&4yR�pg/6UG��A��Ɏv���c���eA��ǔ�
*����
�
-b��Az&��y1��M
�U�&�
o-�@���s�����⬿���-} �
n-�0I��+U�Dv�ٜ�Zg�&ռ5��}�S5��M?{l���d��W���m
-�ѝ+����0�*���=JR �e������?����`���}NWzW����P�ۗ/^<>>Ӫد�]��_l��Q��J
��č;P�%�<UzCC?��q���6��=
�����g c*��J��endstream
-endobj
-8773 0 obj <<
-/Type /Page
-/Contents 8774 0 R
-/Resources 8772 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8756 0 R
-/Annots [ 8777 0 R 8779 0 R 8781 0 R 8782 0 R 8783 0 R 8784 0 R 8785 0 R 8786 0 R 8787 0 R 8788 0 R 8789 0 R 8790 0 R 8791 0 R 8792 0 R 8794 0 R 8795 0 R 8796 0 R 8797 0 R 8799 0 R 8800 0 R 8801 0 R 8803 0 R 8804 0 R 8805 0 R 8806 0 R 8807 0 R 8808 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 ]
->> endobj
-8777 0 obj <<
+8731 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 707.1317 181.845 718.0357]
+/Rect [133.915 262.96 181.845 273.864]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_64edddaeda5b87632fc0d37fd0f56749) >>
 >> endobj
-8779 0 obj <<
+8732 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 668.6192 154.727 679.5232]
+/Rect [133.915 224.105 154.727 235.009]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_9cbdb37b93b7d66e66a19df8f46a71f7) >>
 >> endobj
-8781 0 obj <<
+8733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 630.4804 176.5049 641.0107]
+/Rect [134.114 185.625 176.505 196.155]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_def9cf2f5c18bf5fc72e2648e848f8e2) >>
 >> endobj
-8782 0 obj <<
+8734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 615.6569 450.9552 625.5622]
+/Rect [328.408 170.63 450.955 180.536]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_64edddaeda5b87632fc0d37fd0f56749) >>
 >> endobj
-8783 0 obj <<
+8735 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 545.2784 200.4511 556.1823]
+/Rect [125.095 98.885 200.451 109.788]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_9846bc1d16b42521b6cda0e8a4799115) >>
 >> endobj
-8784 0 obj <<
+8736 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.2003 545.2784 292.8435 556.1823]
+/Rect [227.2 98.885 292.843 109.788]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8785 0 obj <<
+8737 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.6073 545.2784 513.9963 556.1823]
+/Rect [428.607 98.885 513.996 109.788]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-8786 0 obj <<
+8742 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.3409 520.8659 358.0561 530.7712]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-8787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 498.7958 200.4511 509.6997]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_bb6956f4cc086675f02d421fef46122d) >>
+8746 0 obj <<
+/D [8744 0 R /XYZ 90 757.935 null]
 >> endobj
-8788 0 obj <<
+8747 0 obj <<
+/D [8744 0 R /XYZ 90 733.028 null]
+>> endobj
+8528 0 obj <<
+/D [8744 0 R /XYZ 260.509 675.861 null]
+>> endobj
+8748 0 obj <<
+/D [8744 0 R /XYZ 90 659.134 null]
+>> endobj
+8529 0 obj <<
+/D [8744 0 R /XYZ 466.833 584.508 null]
+>> endobj
+8749 0 obj <<
+/D [8744 0 R /XYZ 90 567.781 null]
+>> endobj
+497 0 obj <<
+/D [8744 0 R /XYZ 90 457.433 null]
+>> endobj
+290 0 obj <<
+/D [8744 0 R /XYZ 90 450.832 null]
+>> endobj
+8750 0 obj <<
+/D [8744 0 R /XYZ 90 320.788 null]
+>> endobj
+8751 0 obj <<
+/D [8744 0 R /XYZ 90 320.788 null]
+>> endobj
+8752 0 obj <<
+/D [8744 0 R /XYZ 90 282.053 null]
+>> endobj
+8753 0 obj <<
+/D [8744 0 R /XYZ 90 243.199 null]
+>> endobj
+8754 0 obj <<
+/D [8744 0 R /XYZ 90 204.344 null]
+>> endobj
+8743 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F21 2075 0 R /F72 471 0 R /F99 2114 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8795 0 obj <<
+/Length 1876      
+/Filter /FlateDecode
+>>
+stream
+x��Zm�����_��=��f煙W���wv�r��vuU���T,bwI$ �������"Įu9�%���������:�y;y5����	Q(�pf7N�
)�8����%�Л��{��F�*�_x��rs�,�h�cz]F���K3�fu��v�z�>)a��u���Bv>FE>����֟̒?#��f��U�#BZ"9J��2�*oJ9vg^H�dU,�:13��MRz$p�,�)F8w'������d�C���D�q'^M>������`�W���U+ǧ
ƥs5�i����G�I� ���0
��2�7l�Z�˅�;2�:K?+n�[Y�?a�뼀����4#l��l�\�u���2�3������������^x��F��}��ھjv
����x���
�L)E�'0���
?Q����0ƕ-�L�
�;&���4�T�6γ�>�Q�l4���'���05�C�����p�!�7scr=��κ?���/�Z�����B.��~xw��w��~�ˎ��e�gG�HT(P���PzL��4� [...]
C�]t�_�(�����-&������:*��{>�CI 
��ҦH�he����z(���8�
U��1��aUb19�j(��X�Zv�޾�&K���d+�F ]*�&�<� ����5�@@�� ���hG�_�j���c��)�Z,�0x��?v�;kJʰll��)FB{��|�
�ǴY��X�
�EZ�s�ŵu�i��������/v}�y�j(ݨإB�O2����|��>�C�!����>F����g`��?���`C䋭~w�ҁ��=�?D$�Ou+$`�R�u���
+G�Xv���u-���e�X��b~Q�p1�_���p8�_Bl���F���
+au�r���C
G�mQuV����
w7S@����'=��
\
C�o��k�A�\ '����P���j�ZT[�z(̤�+L��.�߿O�Ksu��1nY\X"U�X�f�K��qR�N�05j�hؿ�3w��8�T�l����ted��q;|?3� �N��$�l��\�}*~D at t~���u��:�������a�j�d9�~�>��:uFc���.�h��.#S����X�S=A�� 1�:��:yP"�~�Wd4��Z��Fs��n5VH��`��̓AV}&�r�皌�;�oj2Pw�16� �)Ӏ���1!�y�-�)qUܨL]�6�Z=i����(Q>N��u�5�J��+���Fj�����e�d�	>u߿�E��}8�O�(���_�y[DeY|b��w�x[���q[���ű`3�,ǧɋ�@tBŚ����Q�z2(�'ג��@�g���?��T�>�ut�g�r~u������
lN(~[��z*�q����T��Y^
 �I �F�RX��+�w���$�R+��TZ[�����T���A���}���p�a�`�Lf�
�0&A� ^�V=g׋!�H.GF��0`H����I����	��:)?+
7�6W���p	�!\Ĩ�F���B�t�r�s0���͡o1� j
�ݳ��aP�����bHr�5��P��0��
uN�L 
�X��o7�.Y]'�
���"�`AM� �
|���}n'���f��Y8���!��|��
+`���L
2͛C��w�+*�8��o
��'����
�U�eR�ˬzt0�|������D�o���d��Vm

�0�5� @rۨ��1�i�� �sT
���
P'�9�j�@�m���
�>dy����+���̶��UV��j����b���UR~�A��B~e�&7S���H����2)ʄ0�dd�#���~����4W�h!n���!�=羫�������=�+��ҢDi}^��dž��B�Il[�7��Wy�4Ǖ0��x�U5(�?]d��
+endstream
+endobj
+8794 0 obj <<
+/Type /Page
+/Contents 8795 0 R
+/Resources 8793 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8686 0 R
+/Annots [ 8738 0 R 8739 0 R 8740 0 R 8741 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 8788 0 R 8789 0 R 8792 0 R ]
+>> endobj
+8738 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.1796 498.7958 316.536 509.6997]
+/Rect [290.341 720.235 358.056 730.141]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8789 0 obj <<
+8739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 697.994 200.451 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_bb6956f4cc086675f02d421fef46122d) >>
+>> endobj
+8740 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.1652 498.7958 424.6313 509.6997]
+/Rect [241.18 697.994 316.536 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+8741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.165 697.994 424.631 708.898]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8790 0 obj <<
+8756 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 440.358 200.4511 451.262]
+/Rect [125.095 639.215 200.451 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ff1c6d17be391cb22a9c4d4e0fa0feb8) >>
 >> endobj
-8791 0 obj <<
+8757 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.8676 440.358 303.2239 451.262]
+/Rect [227.868 639.215 303.224 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8792 0 obj <<
+8758 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.8212 440.358 431.2873 451.262]
+/Rect [355.821 639.215 431.287 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8794 0 obj <<
+8759 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 381.9203 200.4511 392.8242]
+/Rect [125.095 580.435 200.451 591.339]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_9f616c59b2d80aab9f11db8f3c63883c) >>
 >> endobj
-8795 0 obj <<
+8760 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.9747 381.9203 338.3958 392.8242]
+/Rect [226.975 580.435 338.396 591.339]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
 >> endobj
-8796 0 obj <<
+8761 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.5302 381.9203 513.9963 392.8242]
+/Rect [438.53 580.435 513.996 591.339]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8797 0 obj <<
+8762 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.7174 356.6824 245.4326 366.5877]
+/Rect [177.717 554.856 245.433 564.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8799 0 obj <<
+8763 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 322.8281 200.4511 333.732]
+/Rect [125.095 520.659 200.451 531.563]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_c4e8228056b829aa7e0e05e1b292d2c3) >>
 >> endobj
-8800 0 obj <<
+8764 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.7883 322.8281 305.6154 333.732]
+/Rect [227.788 520.659 305.615 531.563]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8801 0 obj <<
+8765 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.7965 309.5454 243.5117 319.4507]
+/Rect [175.796 507.035 243.512 516.94]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8803 0 obj <<
+8766 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 286.6499 200.4511 297.5539]
+/Rect [125.095 483.798 200.451 494.702]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_e315cd842b8a3bd48d730eba070969b0) >>
 >> endobj
-8804 0 obj <<
+8767 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.7883 286.6499 312.2409 297.5539]
+/Rect [227.788 483.798 312.241 494.702]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8805 0 obj <<
+8768 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.7965 273.3673 243.5117 283.2725]
+/Rect [175.796 470.173 243.512 480.078]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8806 0 obj <<
+8769 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 250.4718 200.4511 261.3757]
+/Rect [125.095 446.936 200.451 457.84]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_440d3df9ebc23e058ec03d5606cecda9) >>
 >> endobj
-8807 0 obj <<
+8770 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.0544 250.4718 304.6107 261.3757]
+/Rect [245.054 446.936 304.611 457.84]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-8808 0 obj <<
+8771 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.2278 250.4718 422.6939 261.3757]
+/Rect [347.228 446.936 422.694 457.84]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8809 0 obj <<
+8772 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 203.9892 200.4511 214.8931]
+/Rect [125.095 400.112 200.451 411.015]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_bcfc281c9ef2a45bcfad5ed4a1109b8e) >>
 >> endobj
-8810 0 obj <<
+8773 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.574 203.9892 313.5163 214.8931]
+/Rect [239.574 400.112 313.516 411.015]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-8811 0 obj <<
+8774 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.968 203.9892 425.4341 214.8931]
+/Rect [349.968 400.112 425.434 411.015]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8812 0 obj <<
+8775 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 157.5066 200.4511 168.4106]
+/Rect [125.095 353.287 200.451 364.191]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_82341fbea6e1c21a80058424c0ccf2d0) >>
 >> endobj
-8813 0 obj <<
+8776 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.7883 157.5066 248.0422 168.4106]
+/Rect [227.788 353.287 248.042 364.191]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-8814 0 obj <<
+8777 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.1729 157.5066 344.6389 168.4106]
+/Rect [269.173 353.287 344.639 364.191]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8815 0 obj <<
+8778 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 111.024 200.4511 121.928]
+/Rect [125.095 306.463 200.451 317.367]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_45243459137b3c9e917bde090a48ba01) >>
 >> endobj
-8816 0 obj <<
+8779 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.7614 111.024 302.0297 121.928]
+/Rect [229.761 306.463 302.03 317.367]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Octagonal__Shape) >>
 >> endobj
-8817 0 obj <<
+8780 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.8744 111.024 430.3404 121.928]
+/Rect [354.874 306.463 430.34 317.367]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8775 0 obj <<
-/D [8773 0 R /XYZ 90 757.9346 null]
->> endobj
-8776 0 obj <<
-/D [8773 0 R /XYZ 90 726.0541 null]
->> endobj
-8778 0 obj <<
-/D [8773 0 R /XYZ 90 687.5417 null]
->> endobj
-8780 0 obj <<
-/D [8773 0 R /XYZ 90 649.0292 null]
->> endobj
-8793 0 obj <<
-/D [8773 0 R /XYZ 90 410.8053 null]
->> endobj
-8798 0 obj <<
-/D [8773 0 R /XYZ 90 339.758 null]
->> endobj
-8802 0 obj <<
-/D [8773 0 R /XYZ 90 303.5798 null]
->> endobj
-8772 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F100 2135 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8828 0 obj <<
-/Length 3404      
-/Filter /FlateDecode
->>
-stream
-x��\ے�}߯�BVy!�/�$Uq|);��H�T\��5˝�2�ͼh���4fX�`
C��R�A\����>��̐�0�##�GJ(d���������^���K��2|yu��)FI��궲 	�����OcB3�K�1
��<.��b�zB�x�x�+o�����z[l^��ߞ���r�`�W��-�1������8��".�r���kH���2���=VG�8������&�T�����q��,�}Y��-����jo1"Ęqc�^|}���Y0Il���<��x�!^Z�����1t����?o/����T_�.f �Rxő���
aHr��u�	�6j3�
��3�b��PL��o�$
-IJ���l@�TtDh�74�u�^��L&�_*6��v�&��p�<U�s-�˪eQ"�a�Ԁ�æ\��-�� 3HWs���ڣm�a�e�̥�`��A�i��F_�XwlV����zBE�W-2�@Rq�fӍ��IP,�ќ�X����W��3eV)����]��×_M���2��1�
VHj�
9n�S�V{1��*�V�U�DQ$	�hT�Ƴ��ݱ1A�&�
����Y�4r
�UN�����dv�pX���
��Ip(��"1k��ß~�qziI�аD�a� #�I����_��a��>E����TBM�-%
��)$Mh���#
����K(8��GWՒ=�7M�)��6.�7�{[v���s����^ܶ�r}S���V?�
��ƞ�hH��Li�)
�-��D�����ۧ*߭�����b�c[$$&��!9A����#��tz�h�9Z?�$(�$୐E�~(�53���]�U2�?D�a�HCDr�
�l���-��Z
�fX
��g�۵j}w�g���P2�A�3h����H�c��r���[�Vb`t<<
���)�h�
�ä)�bR^��IŎ�hQL�*v��T�s��X���
������	%"!� �¶>}`� ��X �#�@l��d�/�+�C�ȼ*��0�j|�
V��
���sW4q�j]��úy���f~��`M��n�[q�d`�D
���
�E�òE=��.��`�+_�\kq��/���=��;b�
R��YR�
�y��"�`����p-��M1+��m\30҂g�ѣ2��ވ����
-t�*�*�-�>
�	�\�s&���
ߔ���1q��x
[KN�����~�$_��e��-ֻ��]�u
�k��?��c�
1� đ��a�w�]�i
B&�q[���&����zF����L���1aT.�
,����S<MΥx�mh�'X���i�>�C�ŭm�`%�U2�!���$�K��0��;��l��鶵cF��遍T�;�g���p�m�~n��L�sM���Ӊ�P�<�%��i�M�>���hsB�=@���xb:x�{תu?�M��f�
���Uf��q�bD�v�O�B�;�`�����F"
=,��8!F`ڝ�췇�/#dv���k�W�i�z�h�[��'3���J�2����P���٭<nR	, u3O^�9P�d�L����� �H��m:�[n��q�@d�I��jnk�{���ۡ��
z,��tP����J�N�OIjX
��>'���v��>�}+�_o��^��4�t
A�7}â����);��Ւ�>�`q�;
� �K@`0%i�NB�i	h�
"i��F`�׋����X,
���+o�
����e�P��a\O��¶o<CB	�O,�G�E����e�šԝ�z�sKMA�}d�(��Əb���@�r�����q`�#,1�N�)
-S�n�*�aY
&T �Q��ۤ
-��P�
��n�����&N�fc.3�w��w��)�X'짤�ЈB�J��F*�
�7M���
SĤ�O���I�6�)T0����L�`��dv��'���T^'���|��:�9$��޻V�����^���n�˨��[�l;���	PkK�N̏^��W�4���]����3b����Ai
V��X<{�nYk~��6R��`�������ao8p��C����I�K����Ao+��V"�1��N*=,�����
��:

ݦ���v��	Dv�p�-�=;`�1���;Tν��։�	�
�	��:�m$��>��j�<�g)�y��>����̤T���l�������o�m2�n�o�@d���Rf[�W�8}%�9#��;Tλ6�h�:a����	
ed��
>� �k�cB�R4/����V4��!�
Xth�Z�ⶃEL`��1g�X`#%b�[�X[�Z�
����sґ�zy[a�%^ޤvz� ��tW^)3Hirv?Crz�N3arz�`y=

��0���a�6��-�C�0M �[3������M��]9��X`Qm���

-YĴ��Y8��
-R����hDv-���:�v���Ͷ���&��3tZdV�GeH0ƑQVuC��S7Õ�#����m�����ϔ��p
���)e���v��x�l�_W���˔~By5�P<A�
3O�`���j
�=X�aY�

&�3�Qϖۤz��P�
��nW=��E}2+��F
�;	����i°f�S394��е:P5�!#�8xT��=�uV�ɪI4AXȳ�
m$T��>Sմ	p�SL���'M�0�%%���$v{��h:X^4�)�L�u��=&�Ёt�&5��s�V��e�a������}S��`z��s
�o�L��q�$�T14 
���
$��^%R�c�Q9F����2�B9�x
?f���

��g��v�G�Jw�ln��ҁ<&�RH2 
�#�b��
��a3]E��  
-K=4
�!�
	.8R�d�ģr$�ϒ`*{"q���^��ra
3A��~&�Y�Ї��z
�
*�Y�C�z�`�zˬ8��ᚄ�V���‹��«#����)n>ʡt�cW;]U���
w3m�-�!)�D�l�'
���
-�ul����Ϫ��#��/�Ki]VL���3�kwn�*d�
������zV��έP���3}X�ͣ
���v�hm�9�Sw-B�O�<y���!�;���|�L�i����&ۍ���F�}��v#9��v#�ڷ���ۍaڍ$����F*A��&�ۍ���vcX@�v#�%�{b��
-H�n�I�v��\�1,A��$�=��HE"h7�$|�E��v#
-
QQ���"'�-��_����Z�
�-W嶰O�Eym��jq��j at i���9x't��]��2����zw��)�Y��V����H�:����t�kv�D��L�O�۫R�e�;��O��6�gW���]���D�qSz_�C���hU�=b�E��m��|

�-��
-:e�D
T��{��`��.�oԿ7���Fv����͋������l���f������y�5Z ̕IMܥE\Z�gP����r�uOd.�[�
o.
�+Q3#��_;��xendstream
-endobj
-8827 0 obj <<
-/Type /Page
-/Contents 8828 0 R
-/Resources 8826 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8756 0 R
-/Annots [ 8830 0 R 8831 0 R 8832 0 R 8833 0 R 8834 0 R 8835 0 R 8836 0 R 8838 0 R 8839 0 R 8841 0 R 8842 0 R 8844 0 R 8846 0 R 8848 0 R 8850 0 R 8851 0 R 8852 0 R 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 ]
->> endobj
-8830 0 obj <<
+8781 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 697.0119 200.4511 707.9159]
+/Rect [125.095 247.683 200.451 258.587]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_b6db0040a47381b41656b2846ce782fc) >>
 >> endobj
-8831 0 obj <<
+8782 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.8661 697.0119 281.0265 707.9159]
+/Rect [235.866 247.683 281.026 258.587]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BD__Shape) >>
 >> endobj
-8832 0 obj <<
+8783 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.822 697.0119 427.2881 707.9159]
+/Rect [351.822 247.683 427.288 258.587]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8833 0 obj <<
+8784 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 638.2599 200.4511 649.1638]
+/Rect [125.095 188.904 200.451 199.807]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ddf613a0448b642291d5e60910983a81) >>
 >> endobj
-8834 0 obj <<
+8785 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.0876 638.2599 254.6878 649.1638]
+/Rect [236.088 188.904 254.688 199.807]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-8835 0 obj <<
+8786 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.0843 638.2599 299.8112 649.1638]
+/Rect [267.084 188.904 299.811 199.807]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-8836 0 obj <<
+8787 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.7112 638.2599 427.1773 649.1638]
+/Rect [351.711 188.904 427.177 199.807]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-8838 0 obj <<
+8788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 553.0134 190.7379 563.9173]
+/Rect [125.095 103.533 190.738 114.437]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8839 0 obj <<
+8789 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 553.0134 261.8505 563.9173]
+/Rect [191.236 103.533 261.85 114.437]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_6a10411642132d2a11144719a8cec9fb) >>
 >> endobj
-8841 0 obj <<
+8792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8796 0 obj <<
+/D [8794 0 R /XYZ 90 757.935 null]
+>> endobj
+8797 0 obj <<
+/D [8794 0 R /XYZ 90 609.491 null]
+>> endobj
+8798 0 obj <<
+/D [8794 0 R /XYZ 90 537.76 null]
+>> endobj
+8799 0 obj <<
+/D [8794 0 R /XYZ 90 500.898 null]
+>> endobj
+8800 0 obj <<
+/D [8794 0 R /XYZ 90 118.612 null]
+>> endobj
+8793 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F35 2013 0 R /F65 376 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8847 0 obj <<
+/Length 1767      
+/Filter /FlateDecode
+>>
+stream
+x��Z]o�6}���S&1�Q�a+�]dm���0�N�ɒ'�q�_�K���X�H��m�� �L]^�s��I�\9�y3��bp�:`�D2��s1u$vD@�Ĺ�8]B�ސ`��s�`7�g��ܣ�͒յ����]|�G���
�8N�B���~e�rx�}�x{���Vg�Q�s�T}�l�l�C0�L�-�?tX!>"�1��A#/��(�!�ؽ�$u�l�D�2Oޫ��=�*
�#F8w��������3�!U��@�qg<|���	<�`�W�,�V3ǧ
�'·�l����m��@X��?Q�+w��k�+���7��^�x��"��Q�������GS�r��4U���ƻ��'�1��q��.���ׂ:!�)�+�)
+|�
	C�fH�U��S�Iym�X�^�f�[�ߨq��溘Gc��K�"N�
�luN����
+
�Y��V+8�۔�qa�lr�4�B�#_G`�!eq��P�"���2��|dq1
+��Gi;^
#‚&`�Bu
L�n[0�tb�M��������
+i�nڍƋ���R�
+cu9ϖZ�Y����SPj�e=��Hc��7
ᮖ�g��
t�
e6��'
+T��!1-X�����Aj ��Т���1dIv��$Y����ӡ��)I�&���E:.-�qڥ�$@X��H�8
�
�A}�
��
o�
���
�
�2[������{9�)bAx��9`�|G��@T�=
+��	]u��y6ۅy�
�Λ�=��ͺl�m�d�Q��;��޷��I�6�#���fY
�
�"��"���D�q������3G]T!��-�]B����B)�b�.Dw����B��qt�t�F+H���:�	�'n 7�{ !b��&�h���왮HҐ��R�}IF5;դ4�.3
�	�)�
�1�G���sU�Z�8�r
�<�}��c��Q
�6uX�Ls��.���˪t�Q{8))�ߚ��@�z_���*1U����ɲQc�<�D~\���S���,�������y
�����Ӎ�y>vO�d��2S���8֫"]��|��ď�$��ɩW�QG
���mH����I���
	���C�j��@I?�H Al��M ��.0C���l�Q�>Ӭ4�R�um���"L��L��d��p��d�Wk^�!�����f
}'��5�R����ǚ����f������м2�
+uk�	hijt���i��E=S6��l�(��c��YC
MC�M
9�?��Q��#���5�_=T���=��'������OS�E�E\o^,��]5�Z~��
�V�f�Ef�^k��m,P�S
1G��k�I���[
%;J
��a1�FNJ�O�#$
�;���^1<�5���7�T:X�TP��9c�r���
�3��%glSip���]r�G��V';�l�i�G�$�_G��^)�*Y�j�~�UԳp�K8~�*�Yv�e��� 
�c���*��ȯ�
�0z���*��(Ik�>/�Ά2?(	>���-	
׬��J�~�-	���8q��ƕ��i�c���
s<��'!�zG�kǙ#�����lKַS�W��q�	#���S�� ��S{2à�ʺV��O��Z�p�>�e�?��������"ە����H�uq}xdM�l�y�H"����`�#���$ ksÇ�����/j�<��$�
�y}�۳��qns�g��<�]�a�G�"J��U�9���C�"L�i&a����+3����AԵ�3D�̽.������r��Z��<Gqy6�'g��5t�h\L�s³,of	x8�Jp| ���h�
+endstream
+endobj
+8846 0 obj <<
+/Type /Page
+/Contents 8847 0 R
+/Resources 8845 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8855 0 R
+/Annots [ 8790 0 R 8791 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 8844 0 R ]
+>> endobj
+8790 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 516.2066 190.7379 527.1106]
+/Rect [125.095 708.189 190.738 719.093]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-8842 0 obj <<
+8791 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 516.2066 262.1594 527.1106]
+/Rect [191.236 708.189 262.159 719.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d850947fe33d1adad7b33c58ab859ce0) >>
 >> endobj
-8844 0 obj <<
+8809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 479.3999 183.8239 490.3038]
+/Rect [145.299 671.79 183.824 682.694]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cecce63184c4367b7e48cd7f35b29adb) >>
 >> endobj
-8846 0 obj <<
+8810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 442.9668 192.2722 453.4971]
+/Rect [145.299 635.766 192.272 646.296]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_112cc024004bb7146ddccaa837664bf5) >>
 >> endobj
-8848 0 obj <<
+8811 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 405.7864 241.9353 416.6904]
+/Rect [145.299 598.994 241.935 609.898]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_062e6c821cbe563825968a30a108f14d) >>
 >> endobj
-8850 0 obj <<
+8812 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 369.3533 193.2289 379.8836]
+/Rect [145.299 562.969 193.229 573.499]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_f4f6e42cf5b4be24e73efab004e22a34) >>
 >> endobj
-8851 0 obj <<
+8813 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 332.1729 213.1634 343.0769]
+/Rect [145.299 526.197 213.163 537.101]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cd523ec773dc09fcf2c3ebbbd70b3bc5) >>
 >> endobj
-8852 0 obj <<
+8814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.5006 332.1729 315.857 343.0769]
+/Rect [240.501 526.197 315.857 537.101]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8854 0 obj <<
+8815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 297.7048 189.9009 308.2352]
+/Rect [145.299 491.933 189.901 502.463]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d43b1f8f4b622041e8719a0b26c4a2d2) >>
 >> endobj
-8855 0 obj <<
+8816 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 260.8981 187.6893 271.4284]
+/Rect [145.299 455.534 187.689 466.065]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_345c97f889e2b3dae5f12fcc130a8b75) >>
 >> endobj
-8856 0 obj <<
+8817 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 260.8981 226.6926 271.4284]
+/Rect [191.505 455.534 226.693 466.065]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8857 0 obj <<
+8818 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 225.6828 228.8952 236.5867]
+/Rect [145.299 420.523 228.895 431.427]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_085c8cf54c180f7eaf693904cb6ce68b) >>
 >> endobj
-8858 0 obj <<
+8819 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.2323 225.6828 333.4819 236.5867]
+/Rect [256.232 420.523 333.482 431.427]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8859 0 obj <<
+8820 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 190.841 229.5026 201.745]
+/Rect [145.299 385.886 229.503 396.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_302728bb407aa3c4137332e3275d21fe) >>
 >> endobj
-8860 0 obj <<
+8821 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8398 190.841 334.0894 201.745]
+/Rect [256.84 385.886 334.089 396.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8861 0 obj <<
+8822 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 155.9993 187.2643 166.9032]
+/Rect [145.98 351.248 187.264 362.152]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_5468429667edd0199d41c11d79d3d9b7) >>
 >> endobj
-8862 0 obj <<
+8823 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 155.9993 293.2128 166.9032]
+/Rect [215.963 351.248 293.213 362.152]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8863 0 obj <<
+8824 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 155.9993 371.1477 166.9032]
+/Rect [325.131 351.248 371.148 362.152]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8864 0 obj <<
+8825 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 155.9993 455.7274 166.9032]
+/Rect [409.711 351.248 455.727 362.152]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8865 0 obj <<
+8826 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 98.2435 187.2643 109.1474]
+/Rect [145.98 293.697 187.264 304.601]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ef0c072f344fd2a732e792578091cc9d) >>
 >> endobj
-8866 0 obj <<
+8827 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 98.2435 293.2128 109.1474]
+/Rect [215.963 293.697 293.213 304.601]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8867 0 obj <<
+8828 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 98.2435 371.1477 109.1474]
+/Rect [325.131 293.697 371.148 304.601]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8868 0 obj <<
+8829 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 98.2435 455.7274 109.1474]
+/Rect [409.711 293.697 455.727 304.601]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8869 0 obj <<
+8830 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.2349 86.2883 220.0576 97.1923]
+/Rect [178.235 281.741 220.058 292.645]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-8870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8829 0 obj <<
-/D [8827 0 R /XYZ 90 757.9346 null]
->> endobj
-8837 0 obj <<
-/D [8827 0 R /XYZ 90 568.078 null]
->> endobj
-8840 0 obj <<
-/D [8827 0 R /XYZ 90 533.2937 null]
->> endobj
-8843 0 obj <<
-/D [8827 0 R /XYZ 90 496.4869 null]
->> endobj
-8845 0 obj <<
-/D [8827 0 R /XYZ 90 459.6802 null]
->> endobj
-8847 0 obj <<
-/D [8827 0 R /XYZ 90 422.8735 null]
->> endobj
-8849 0 obj <<
-/D [8827 0 R /XYZ 90 386.0667 null]
->> endobj
-8853 0 obj <<
-/D [8827 0 R /XYZ 90 314.4183 null]
->> endobj
-8826 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8881 0 obj <<
-/Length 3750      
-/Filter /FlateDecode
->>
-stream
-x��\[o��~����V�ٹ_��M� �����)
Y�m6�H���3^4C��-
�u9<����|3C��0�#3�gJ(d����
-����o�H���_��p��k)fI���m�A$(����� f�c<wM�|�߭��)�����l�_-��o����_4�EuȪ��
����?|��kB�`�QąT ���Kc��C0�������/�#B���&}|�]
�
*��õ��l��]UY�ɏ�m��&z�k��!�L`���>�m��Ħ�׫�~Ƴ
���+
��b�o0"����S��l��_���i��.f �Rxő�p��aHr����
����
E�Rp?��4�H�&��$��̛�\��U�����T�
`S�ۜV�Ǭ1�8W�k�巐cE�bӼ(��s�
-�j���p��Pܴ��c6�#����>?�q
��EY5/�
-���؆1$E�������Az1n��b���{���b^��P7uq|�W���K�aH3���&��F�!�
Y#y����D���p�1c�����m�C֫C["�}���y`
-���k>���>�_6�l_4
,-4/��渑s!� Jx:�Jbwa4�V�)dmi�m�U�~�.w�U�A�z&��8�)L�J�_h
�F
�6Z��J1:[H�����(h�XD!i˫5���S*Ɛ�q��h\g��F�R��!ݰ7e�
��
-)�t/��j���p�) ��./�]�[6@�bp|��[�Td
W�$��r,�,U?4�p��x���_
����V��WP�ᐗ� ��H�ë́3JA0I-z�x������1H/>�M!����'�
��-��n����H�yV
F�)���:�o��$�P�+�7yq�,�࠘4��	o� 1�;)\�y*�*�Y��Ll��p�=[�>�)�-A�(Hc\��*�8V
�/��R�����g��=��m#��ud
�

�=���=�t$	
�=���a3�L�=� 'u|�m˧��1X�W="*z�IՓ���$O~��2$g��9}}�a'X�<�2�YZec*#
ש�0l\et�NQq ��TF�ܽʈG�*���ʘ��@eDa
���2b�8��8�2BSUƴt*#�e��L��G�2� ���$$�2�e"PQC�g��X&��U� i�A;*c�8��H(�
ň� 	Jq����
��0�Ɋl����Xas�DF���U"8%iڥ���d��!�i&��,�1�����YȬO�Y���D֔��V��� [...]
�u�;���N����xy
	3�cF�lw��<G��G��mmU�g��
>�eaۈ�� ��O�m��\(���v��9�nh t�ns�cCm��� =Aqv��j{(O�
���mwD���~P��(ᦴ/݄#m�Ym

���̩�a&Շ�Y�c�(
׵�0l�u�NiFq ��v���W�XĶ�X"�U�mD�qD:����o��1�{V3�X���0l3�F�.�3��3[�/jG��X;rf�v��|�t;"B�pe��G�࣓͠��A_����<
mL��lu4U9�P$���%,:}	K�
[͜޴�~h�s[_
c3+(Ac�K�e|�H�д�Ӆ��.!{s���V�,����r
�V��\Ǟw8�Y��PR��[�\S87��:�f��:�t�Dܶ�t�F;K7�Β 0�
�a�f��)~��*[�5
�O��n�5�3SS��0�~'w�`�)q1x�
�
}�
dz?�
-#L8����>"�ě%�	�
�Z�
VO��ނM�O�_�����&?��XW]��e;
���جÖ?�a/i�m� ۸ե��ܓ�Ɔ2����]�B��'Ts!�JS���҄8�j<�#�0l�P;a�j
���Ep�j���ƙ���H<
�*.ei�z�?ɬ� ����
o��1�;]��h�e<�*������@�`V�G{�%�zt����wM��^�d��K1�I�jl-��,x�T���Y�d�1���u$���l'����
U������e�e��6XQ�C_���[%�P����Tza� ��E����7��
3��@vK�"[��a4-sl����H�w
�2�]2��ӕϴF����
�ʷ7v������o�&�+o9�#�	s�O�g[����iz�`{W����,�?f�U5v�����D�R�
�I����H�]�E�|ʫ��5MF$��\x� I�Ʋ?�'��6p�	�
~:�>c෹� �W#����,��'�[%�77�`ڍ�f=�>%C�\�����gkrgw%���o.����r�ɋ���MV=eY��|jw��o]��%���rׅ<�*=U{$u���w�a��vBZ���:�N!Ra���/�������"Rg�&����D�4�V�7Y�H�%�КH�4"U2�Foׁ�&R

r�H� @��H��(�2az��Dʚg*�0~�7�1j at aJρ�J�|k��]��o�7�
-�!_D����:��/�6���6m�Ϧ0�Q���O�R{c���T"�ej�Y�����b"�"s< ;C��Fy�
��<�� �D1zc�E�ѽ
�/�D��S�hC�k+C�`j��P��������3KLJ�N�7���I
���Y��P�7�]��`��w�ц�.V�v[�^�|m֤� ��t�6[�	��-_�8C_����m��������-��lȜ�C0Tq
�d���M�v
�UY���o^,o��l��b
�
�(܅�J ap���3V�PHL.��G�K�ـK���m�	
iا�B-{[�]ܷ��uV�w�
-�6C�~�^?>�n��y���4P��3�R.��\��GR,a���I�Vi�8���"��
C���i���C
�
��S�U�/�$��ھT,y��`�Lw0�a��]�����1�3��!>�v�beUI3���� �qZ��ðj�_};��0�U,o���ad#0�-�Nؼ�]�^Dj��4�8���_
�~u�_����l�Ҡ�	pV��ɘ����3j�>�5�h�%��eov��]ܸ�l
�M[��n��<T����
QP�����
��=N�*]tGw���u%Čn�wbN�y�G�{����� ��HjB�'�!헊�|N�q��`�n��U�3��-�5�_��lV���U�
�q��W͍��E0�?�G[cϊ��z0(��ڥ"$�
�c
`D�`'<��b\ �:�;�����M���պ=ѿ绬�D�~���U�C�.��/`���n�����
t\��ݖ��VA�Pn���^Γ�:�ɱía���N�F`a
g�d�hP��-k�1?6،16��;q��Q�'��K?�����5h���b������#]t�����\o
��#���D�Q2�
�I^���J
\�����b���Už����l������s?�ڼmi�y�/(�?]
1?�*)
���f�=��k��T�쳗x�>N�EX�MP��/3��`��XG4l���
���]U=|�����Z�c�?�Q^�}xؾ
�٬��0ϊ
��
�t2ϴD���b�P3G)�����]��:`j��(��nzoendstream
-endobj
-8880 0 obj <<
-/Type /Page
-/Contents 8881 0 R
-/Resources 8879 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8756 0 R
-/Annots [ 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 8897 0 R 8898 0 R 8899 0 R 8901 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 8912 0 R 8913 0 R 8915 0 R 8916 0 R 8917 0 R 8919 0 R 8920 0 R 8921 0 R ]
->> endobj
-8883 0 obj <<
+8831 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 687.0355 186.3482 697.9395]
+/Rect [146.717 236.145 186.348 247.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d9bdf9f5b0e6b90d5c0c173ada762067) >>
 >> endobj
-8884 0 obj <<
+8832 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 687.0355 293.7723 697.9395]
+/Rect [216.523 236.145 293.772 247.049]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8885 0 obj <<
+8833 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 687.0355 373.3671 697.9395]
+/Rect [327.35 236.145 373.367 247.049]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8886 0 obj <<
+8834 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 687.0355 456.8371 697.9395]
+/Rect [410.82 236.145 456.837 247.049]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8887 0 obj <<
+8835 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 629.2522 186.3482 640.1562]
+/Rect [146.717 178.593 186.348 189.497]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_2e81b3aeb6ec2e74bee0cf690d44cd69) >>
 >> endobj
-8888 0 obj <<
+8836 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 629.2522 293.7723 640.1562]
+/Rect [216.523 178.593 293.772 189.497]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8889 0 obj <<
+8837 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 629.2522 373.3671 640.1562]
+/Rect [327.35 178.593 373.367 189.497]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8890 0 obj <<
+8838 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 629.2522 456.8371 640.1562]
+/Rect [410.82 178.593 456.837 189.497]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-8891 0 obj <<
+8839 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 617.2971 218.4038 628.201]
+/Rect [176.581 166.638 218.404 177.542]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-8892 0 obj <<
+8840 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 571.4689 232.76 582.3728]
+/Rect [145.299 121.042 232.76 131.946]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_23d4da5a4d3ccbef1d32597a77661ab9) >>
 >> endobj
-8893 0 obj <<
+8841 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.0972 571.4689 335.4536 582.3728]
+/Rect [260.097 121.042 335.454 131.946]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8894 0 obj <<
+8844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8848 0 obj <<
+/D [8846 0 R /XYZ 90 757.935 null]
+>> endobj
+8849 0 obj <<
+/D [8846 0 R /XYZ 90 725.174 null]
+>> endobj
+8850 0 obj <<
+/D [8846 0 R /XYZ 90 688.775 null]
+>> endobj
+8851 0 obj <<
+/D [8846 0 R /XYZ 90 652.377 null]
+>> endobj
+8852 0 obj <<
+/D [8846 0 R /XYZ 90 615.979 null]
+>> endobj
+8853 0 obj <<
+/D [8846 0 R /XYZ 90 579.58 null]
+>> endobj
+8854 0 obj <<
+/D [8846 0 R /XYZ 90 508.544 null]
+>> endobj
+8845 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8903 0 obj <<
+/Length 1775      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���Sg5ËHI�0`˖b�eI���"3�V]\I����
��l9�%��E�,�����>���������_�{'g�Y
�����a�qJ����Ob�`H0����� O�b at q?�9����&�ś7�q���,�1j�\��`�����!+�QF��
P�Z�G=����2ό���BlDH#䧝BN�(C�q�z�ѾL�qPJ��R��|@ܾLCx��}ƙ�����G@
�He(� �q+Lz>ak��Y��Z�jTbٔ�ol]������x��
��I
$`�C‚ku?Rʫ��<�Ð7Y�ϕ>��V���2�Y"�<
+�8^���,��uIj�G�q��E�]�E�l6�|�uy� �h{��mo��̡�
{v���M�!��ul��KY���+�F�1�h�Ϥ
�	��݂F��ґ���,���U����ٶ�l����=l$p�B9���jzͱ:� i�*��2�X�3qb�-:��5��cޏ�
�Gխh,�p/'R��X&�ms[Ax�*
��;�U(�����n��	1.�7y��#�te���z�pQ���V٭��V�F�<]�uV���� צ�=������$L�:�
A�i�O�H�O�>�pe��A�x<�w���g��K(;�r��� �qi�p.ѐ�&�J���[DŽ`r�=Ή�뜨`l�<������s,��S�I�s�%q��r,�R9;����@��
����>��
+�c�������ǰ��}}�ud0r�8�J
3�9�Z��K�

+C�T�m\�:�J�}��g�*�*st��|E�
(T��,�/%��Q�����<*'�pu�jH
l�ګ�������y�s��F��&Y<�ұ����\��Li��U���
+D����"�I`[��"�:��~k���O4�*ܑ?�a�2��A���|.���2�,�d��;�6�N��Tj��&\'�@�I��G�
D`�>�w�����T����}g�v�b��
ZU��}�sh�E8��C9��$�~�'�r1��Q��� ��Q��,JY<UB�E�:+�+�5?�YJ�N�n�s�F�	�ֽ�Th&�
���l���f�A7*<(�sg�P<�.;4�:�Un�o)����~41gC���;:�l%'�q�ܤ�P��J�k@�ƨ�#ZL�b��H>���E�.�Û��Y�
f�Q
ԭ	��`@�~���@���;�������t�Nd��}.�]� �׎
!(�<
+t7Z��aݴq˨ �S9�n��z��AC&�@?�T��~W� ���%2-Tޤ;U�mP���&�8�ɍqg����8ʉ��σ���g��v��՝��6������
�;��h;��h�7�����V�J���N�k�CZr?�FE�R;\���G�ݾh����u�
����t�!���<��F��g[v�­}�c6+����4YvX
��Iر����	
�|����@lqqT�s��`*������w!h����
-�2���8]<��k��
�9��x�w��PY�I�F��L_�
�`���&��:���o�E1��*��3�;$lGa��(J�t��S4����\��X�l�
�?ԉ�
�1)�)��tr�
+.[A���v��
g��������!�ߨ�o��
pi��@�
�����xQ�͓���0_����@}��?
8��*Jg���(t�DA���\�� �\�8��wx�%M,���l����ʨK�)f��M^0)�雓��|����h���<�N��e�R
+!6r�U;@{�,ojUx�T��6( ��0�	�
+endstream
+endobj
+8902 0 obj <<
+/Type /Page
+/Contents 8903 0 R
+/Resources 8901 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8855 0 R
+/Annots [ 8842 0 R 8843 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 8878 0 R 8879 0 R 8880 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 8900 0 R ]
+>> endobj
+8842 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 525.6408 232.5107 536.5447]
+/Rect [145.299 719.912 232.511 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_786d96ab353d022f56f211fa26e76766) >>
 >> endobj
-8895 0 obj <<
+8843 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.8479 525.6408 335.2042 536.5447]
+/Rect [259.848 719.912 335.204 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8896 0 obj <<
+8865 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 479.8126 180.4964 490.7166]
+/Rect [145.299 674.237 180.496 685.141]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_2282182b70472430c77106aecf3c8029) >>
 >> endobj
-8897 0 obj <<
+8866 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.8336 479.8126 283.19 490.7166]
+/Rect [207.834 674.237 283.19 685.141]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8898 0 obj <<
+8867 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 444.9434 213.1533 455.8473]
+/Rect [145.299 639.521 213.153 650.425]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_0f1e6f6f630698056d7e35149796f3e1) >>
 >> endobj
-8899 0 obj <<
+8868 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.4905 444.9434 315.8469 455.8473]
+/Rect [240.49 639.521 315.847 650.425]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8901 0 obj <<
+8869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 410.0741 238.4586 420.9781]
+/Rect [145.299 604.805 238.459 615.709]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_77ae7142afc112b5cc786f24875cc336) >>
 >> endobj
-8902 0 obj <<
+8870 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 373.2124 205.6917 384.1163]
+/Rect [125.095 568.25 205.692 579.154]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-8903 0 obj <<
+8871 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 373.2124 261.3124 384.1163]
+/Rect [206.19 568.25 261.312 579.154]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_75b26365a17a571d891fe7d0b5ded447) >>
 >> endobj
-8904 0 obj <<
+8872 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 373.2124 332.1558 384.1163]
+/Rect [288.65 568.25 332.156 579.154]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-8905 0 obj <<
+8873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 338.3431 205.6818 349.2471]
+/Rect [125.095 533.534 205.682 544.438]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-8906 0 obj <<
+8874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1799 338.3431 261.3025 349.2471]
+/Rect [206.18 533.534 261.302 544.438]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_5ef6af0a8b11cc47f885ffc74e7be5b8) >>
 >> endobj
-8907 0 obj <<
+8875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6396 338.3431 330.4624 349.2471]
+/Rect [288.64 533.534 330.462 544.438]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-8908 0 obj <<
+8876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 303.4739 205.6917 314.3778]
+/Rect [125.095 498.818 205.692 509.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-8909 0 obj <<
+8877 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 303.4739 261.3124 314.3778]
+/Rect [206.19 498.818 261.312 509.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_374c1462c19381ba7d0f27f4bbd94a72) >>
 >> endobj
-8910 0 obj <<
+8878 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 303.4739 338.7813 314.3778]
+/Rect [288.65 498.818 338.781 509.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-8912 0 obj <<
+8879 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 268.6047 202.9022 279.5086]
+/Rect [125.095 464.102 202.902 475.006]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-8913 0 obj <<
+8880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 268.6047 300.0368 279.5086]
+/Rect [203.4 464.102 300.037 475.006]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_632c2bfa8f851855c68d4c919e1cd237) >>
 >> endobj
-8915 0 obj <<
+8881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 231.7429 202.9022 242.6468]
+/Rect [125.095 427.546 202.902 438.45]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-8916 0 obj <<
+8882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 231.7429 314.2635 242.6468]
+/Rect [203.4 427.546 314.263 438.45]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34fb5a16a8af56089e3a09b86263a08) >>
 >> endobj
-8917 0 obj <<
+8883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.8192 195.2547 199.8638 205.7851]
+/Rect [155.819 391.365 199.864 401.895]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_98d288c85ce5c2e32cee27f20c6ce7ac) >>
 >> endobj
-8919 0 obj <<
+8884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 160.3855 161.6774 170.9158]
+/Rect [145.299 356.648 161.677 367.179]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_453d3ceee367754b17c722b66cb03e69) >>
 >> endobj
-8920 0 obj <<
+8885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 86.5967 198.0107 97.5007]
+/Rect [145.1 283.702 198.011 294.606]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cbcd7cd19d71e22f0a8deb3dfc536462) >>
 >> endobj
-8921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8882 0 obj <<
-/D [8880 0 R /XYZ 90 757.9346 null]
->> endobj
-8900 0 obj <<
-/D [8880 0 R /XYZ 90 427.1749 null]
->> endobj
-8911 0 obj <<
-/D [8880 0 R /XYZ 90 285.7054 null]
->> endobj
-8914 0 obj <<
-/D [8880 0 R /XYZ 90 248.8437 null]
->> endobj
-8918 0 obj <<
-/D [8880 0 R /XYZ 90 177.1127 null]
->> endobj
-8879 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8935 0 obj <<
-/Length 3475      
-/Filter /FlateDecode
->>
-stream
-x��mo����S�U*5��CQ�-zE�-�^r}s=��8jmɕ�
�O��jɐ���^����ȋX�h��!��!w�b�៘>sƱ�����_��-���
���
-~U����󯭙���Wo:V0#���Z~?��py%8����������K��ۻ�oW������׻���W_
�^o�ա��y����?�����B���L�@\����I�Gp&Uнŋ�#^�fB$�&}��n��_^I��.��������oWoV�K���
���1seDtz��W9�}���"��_���gK��7
����
��L� g�Z�������_���/��
�
-�}k������+������c.�2Lz	.�T�[��;=�#��I�$Y-g�,��7�e��ö�<ŧd �����;�O�+�4�ܥ�9�]�6Ux�,٨��z�����a̫b^��oG|°;�	����Y���	���?=�J���,s�V�#�a~:%a��c!�Y�Rᘕ�ϲY�S)͘�.n鰍�����2
D
���J^6�u4�Y������6ߖ"�=%��U,����f�- *C-�Qx��@r�$P��>7��Ć�a�NLC2�4
�v�:� g�	��ي
-�<LVџ�@�ɵc�g���ǂ��)�EY�
"��|��9��Ф
�B�O��w���#���R�y��sc��:y�qm�r����J�S �Z�,
�lF�t� ����
-K�=P���oT�[�Ē��u��`�;퉄d+B�T>64j0'Ye
���)�����/�+�-�H
-<	ي��x \IWG�pe�k8W�
W�,��n�74��!�a
��z�
q5���B���]*7�g�(���J,�#s����,<	�`3�'�+���*
b���&x�a_o�wc���AX\�=%���vV׋���~�Y߯��j�aY�0��|d+B���i�zN�+�x79'ɜ�0�Jp
Z	�������*�]G��%P�Ln>0n%�/���	ĄͨUSۭ_
���~��
�;�t�xw@��=SO�6
�4۲ɶ�!�6"n϶*,٘ա'4f���o˷}�u�0���C�"$H��B
�z���\O�D��d4~k�]�|�?����LuA<ي���Zij�=�7�g���-�}�|��֛�p

-t��t�3ξ�YOB0+��@�dF�p�
��V��	V��B0\D��Z�,Sr��$#B��f]��pzg	3�(75#ٞ����F2���
-OE�"D(�Q�
-	2��!�G���,�M�`�8��@ׇ�D1΅�y������'9�7�O9��f4�
-���feXt�Y����$4~Gz1|�� ��	�V�
	�
�7=�S8S�3��Դd{BF�wΜa�
<Ɉ��<�N�ZI3a�>�/}`4Kf�Cm٧؂`�'�6 	���1�"���H��q{�Ua��=��#D4~
���
�{	���7Vx��4d+Bl>�wB��o�U�7S��)��
t���=�
ي�
��\�щ�5
ݏ�Ɯ�����l��\�,�ex�&"���/�
���~��L��	�dF�p�
-�� U��U��(\D�wt�yj�¦P9-�d+B���V&=
���r0��SS��)�_
UJ���s����JB��ru�g7�8�bs}.�
-���ɭ�ip@˭͇����ݤ�ү\jH�zrI
�JIr%3�\�C�\x�D�2,����N�M�m[El&3�z<ي�#
��83�ӛI�|�fjV�=!��K��ƕ!&E���H0��N�X���s�U��ȕ̾�m$�L͂��s|�K���x����|�ǧܲ	��!7"n�*,ٖա'�e���o
���_��0V�y�V�	�w��z㨙��O�D��d4~k��:!��~u30�	��J�xG��E@[��)��9�Yt+} t�f_.��2X�V�;4nGO�,*�9S�ƣ~��Ͻ��IS�Jf4�
-���_eX�_U�)��E4~�meK���ik4#ي#��q9���JÌ
rjN�=%��;�d�C���i��ފ�,�.-
�&l�5�,�>0�%3j���`��y���K�j�����ލI
�FI�%3�f�C�fx�D�2,�լ�N�j�#���tLk)�d+B�t�j��^�2�D���lO�h�N��OR5r�37YQ"�`N�ϕ�ҥ�.
��Dz�Ʋd�_ѕ��l�>��3ނ
�x�����H��q{�Ua���=�}#D4~���M�W�$�҄ r����!~}H
s�k��"etj�=�`�7*�ۥb�ح��Z��B��S����=�i����(�♥<�n��n������CĉR�[��P)�
�Pk��P�����o��w��r�������n�=�Y{�f�*[*�n�+H^�b�f
��x/�����w���1�=e���=��Xt�.Pr�\߯6�>-�����.
:��ؑ�q �2z���׷���1H��Bp?
�
,	/ L$x0><U�-M�?���_st�~)C՜dFל�!Vs��a�S��Rsp���5�������5����CHm�O�B�'d�~�³�~�9���m�dd+Jl2���*���׫�bHVK�I�$��jQ��Eɬ�EF��Zd��7z�
-�Z��Sr�k��vS��U�"THca��AR�k�̻�]�sPk����
�Q�~U���]1J�ҽ Խ
-�o
�T|+���X�r�y�?�-g�U4�߹���Օ���#C�I��=�EM;���
��D�t�E������+��ϊ�dٌ�d�C��q�JV�%+Y
zB%#D4~���a{��]�,�o������8�Z@cg]�S��5�8菽
6����G�س�+U�@؝ͺ�Ju)A-�<���?�1����Ƒ�'5�h�'&ݐuk>��}z
-Ǚ�]�9+0r�j�u~���X8�V 
7��2,���SV .���
p<���oPON-=/>x��"[2��wo
�q������76&f#�S2��������X�Ó����	X�h:�!#^l�~�d<{�cH�X��:�(}`Jf?/�r��.ϋc�ؽ;�����T|j-��r��2��)����\t�.4���W�B�P��hT1T�q*˰赭:�k[����	L�׷����xR��Iz�`%4����$x=95ٞ�����L�
��x:�%#�o��
���?�s�Y�������̧b&��f���42�I��
L<h��2&�YVq'4�����(a�~a�f�;�v>�X���xm�C6�UH��1����Ls��`Z&�9�a�u:
A����D6�U(�82XW��c�3�1�'�
�����G?��{���̉ J���|��$"*}�������~ѿL��>���}|��~��ť1�Yl
�
5΁�+H|�H�v�,>���_�FnP�����	:�����ӟ�c��W�'�
w�_����������߽{�n��q�~ر�������� [...]
�M�
�F� �to�endstream
-endobj
-8934 0 obj <<
-/Type /Page
-/Contents 8935 0 R
-/Resources 8933 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 8756 0 R
-/Annots [ 8937 0 R 8938 0 R 8939 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 8968 0 R 8969 0 R 8970 0 R 8971 0 R 8972 0 R 8973 0 R 8974 0 R 8975 0 R ]
->> endobj
-8937 0 obj <<
+8886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 698.5027 205.7516 709.033]
+/Rect [145.1 249.36 205.752 259.89]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_61834f7d3b6629c2aafc5011c258961b) >>
 >> endobj
-8938 0 obj <<
+8887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.0887 698.5027 276.595 709.033]
+/Rect [233.089 249.36 276.595 259.89]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-8939 0 obj <<
+8888 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 663.9027 236.7449 674.433]
+/Rect [145.1 214.644 236.745 225.174]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1af6f8ca3539ffa5cff895d30c7d4d7e) >>
 >> endobj
-8940 0 obj <<
+8889 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0821 663.9027 307.5883 674.433]
+/Rect [264.082 214.644 307.588 225.174]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-8941 0 obj <<
+8890 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 629.3027 267.9376 639.833]
+/Rect [145.299 179.928 267.938 190.458]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a04426c5a10bb84d277c580d8377a8ca) >>
 >> endobj
-8942 0 obj <<
+8891 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.2748 629.3027 338.781 639.833]
+/Rect [295.275 179.928 338.781 190.458]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-8943 0 obj <<
+8892 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 594.3291 209.6269 605.2331]
+/Rect [145.1 144.838 209.627 155.742]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_123c8d12181469abfa5dce562831a218) >>
 >> endobj
-8944 0 obj <<
+8893 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.9641 594.3291 314.7912 605.2331]
+/Rect [236.964 144.838 314.791 155.742]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8945 0 obj <<
+8894 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 559.7292 240.6203 570.6331]
+/Rect [145.1 110.122 240.62 121.026]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_7ba29a874c71bb8631504b25945713d3) >>
 >> endobj
-8946 0 obj <<
+8895 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9575 559.7292 345.7846 570.6331]
+/Rect [267.957 110.122 345.785 121.026]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8947 0 obj <<
+8900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8904 0 obj <<
+/D [8902 0 R /XYZ 90 757.935 null]
+>> endobj
+8905 0 obj <<
+/D [8902 0 R /XYZ 90 621.829 null]
+>> endobj
+8906 0 obj <<
+/D [8902 0 R /XYZ 90 481.126 null]
+>> endobj
+8907 0 obj <<
+/D [8902 0 R /XYZ 90 444.571 null]
+>> endobj
+8908 0 obj <<
+/D [8902 0 R /XYZ 90 373.299 null]
+>> endobj
+8901 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+8963 0 obj <<
+/Length 2080      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs��~����2Gs�P%�J��)�R,�/�.D)$� �����9 $HAK�ڲ�"��A�L��_w� ;k;���nr��cN�B�z���	��{	J�����%�p:#c�fJ�I4��R�f�݃\�����������Ӫ����
y�
L����
!-e�QąKѺ�d�t�C0�,�g���H!
��˳B�n���Ψ���4��L�MTI3�\�bJW�
bD�	��N����gB@
v�6��τ�H&���ƿs0�+p������ƹ��s���q����I|��>e{�,��B���s��x�>�6v\��Xۅ��g��D��|��eUD�'�(]Γ8�����P���
����9�ݕ�L�d�Y� �t~�?����	`�
�(�����o�J9��\T�qh�
a>„���1�^�I
y��E�[A]�
��IOq�``P=X<�M�p�
�`���
(�,�E-��}���e
���Ŕ��,��
+�Zqo��f$�(ΌP��У	�� 
������sFț�kFL�@�=�r��G�@���
�-"

�߅��T���ן�zls�O�<�����$
�xc�����qr��#�ئb�69b*�~"<P00�gk���B��PC	�e
+/@��|��
#g��u�;��
+�C����ٗ�/�CHP@ŗH%�Yh
�)g}��w4'|a�������K�K9~v�c�'/'�S��?o�!�Ge�mڴ��@sR����FE
�oz1k�ί��I�fI���cڄ'��&,v�8]�"�ET��ѶԬl�;B1�v8 w�s��H`�ŝRk����v2�Y�>.a�]ƉLK���j�$hP�'Ro!�	�Fe��xJ\��ڐ�5�%
�fF_p
֥��%��gy ��p
`�N4��[Y�Rg���弥R.lj����!�7 >��� �1�h�v�Ci턇Z�
+�zWz@���
4&p�P8e_��R/�
�35��
�}�b;43:��ق�<j1l���{�C_�j�t
�^[u�Q����l���E��/6Y�-�ֆ:k/�����Zry��,@�7��;�E\5:�vUy��l�
�o�u�2�!��:�GbU���
��W
�����"S�~[q�|�Kx��rl�q�lU��G{���P���
X����M /l��F=
��C��ֲ� o���3���|

F��x�@���9�}m��:�A����^����|���T�Կ�-�hUn����9��	
�Ey^L�p��qb�L='*�ӑ��gO5�++de&���q�/�����,Q5��b�֝�Z�7��E�螽S����$�j��H������'�*�����僊���lPy�{'�&^����_u,U�B�c�
+��;\����F��
��3ۇ�$0��B�������>N=|��
H8�F��@m�������z������	���^fơ��v�-
��94\E�R��8��f_����V�z��릐 F�	$=h��3rlk���n*^Z���
'�	��Nx�2(y-����N��{�7I�C��>�J��`G����y!˲�<$�1l��e��d��E,�j�������Zmw ���xѶ�����& �fP�FUV��Xf�ʺ%
�.�*��֍L�~n��X���[g��Ka1�N~��F �I��W�����^N�)��T���o�%D�1ۃ]�J�����*
M���c
��� �9♣�р�o�:�;�2,T�
�e	�"�cM�eC
+�5_˥���]6pԬ@*)c-��ql����
��q��
+X�����
�����X>GWJ�t�&
ҕ��*�����b���P	��DXj1]¢`lhgyK=�_�c�S2�6,oi�=�u�yK
7�����-�N�3�@U�wn�ۚ{x�a���×��?
I0����]c�>�\�Eo�jIn�����~׵ 0��ž�m��W�͗����J��X�G�n�T��N���]��0�H�_��[Y��l��N���m���)f��[���ʯ�����ТD�4�
WWy�����`�c߾����vgESài��N'�7��2
+endstream
+endobj
+8962 0 obj <<
+/Type /Page
+/Contents 8963 0 R
+/Resources 8961 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8855 0 R
+/Annots [ 8896 0 R 8897 0 R 8898 0 R 8899 0 R 8921 0 R 8922 0 R 8923 0 R 8924 0 R 8925 0 R 8926 0 R 8927 0 R 8928 0 R 8929 0 R 8930 0 R 8931 0 R 8932 0 R 8933 0 R 8934 0 R 8935 0 R 8936 0 R 8937 0 R 8938 0 R 8939 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 8960 0 R ]
+>> endobj
+8896 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 525.1292 271.813 536.0331]
+/Rect [145.299 719.912 271.813 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1773f4a296b1e34a24fc238f84d615c7) >>
 >> endobj
-8948 0 obj <<
+8897 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.1501 525.1292 376.9772 536.0331]
+/Rect [299.15 719.912 376.977 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-8949 0 obj <<
+8898 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 490.5292 212.377 501.4331]
+/Rect [145.1 685.345 212.377 696.249]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1fbcf2de5cd0eeca6b521e70b7d731a7) >>
 >> endobj
-8950 0 obj <<
+8899 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7142 490.5292 289.8459 501.4331]
+/Rect [239.714 685.345 289.846 696.249]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-8951 0 obj <<
+8921 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 455.9292 243.3704 466.8331]
+/Rect [145.1 650.778 243.37 661.682]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6) >>
 >> endobj
-8952 0 obj <<
+8922 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.7076 455.9292 320.8393 466.8331]
+/Rect [270.708 650.778 320.839 661.682]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-8953 0 obj <<
+8923 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 421.3292 274.5631 432.2332]
+/Rect [145.299 616.21 274.563 627.114]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_f6ef577d2302b2baac4689f8766cfb2f) >>
 >> endobj
-8954 0 obj <<
+8924 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9003 421.3292 352.032 432.2332]
+/Rect [301.9 616.21 352.032 627.114]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-8955 0 obj <<
+8925 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 386.7293 216.2524 397.6332]
+/Rect [145.1 581.643 216.252 592.547]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_6069a2503278c2ba8d0f3c5b80dba198) >>
 >> endobj
-8956 0 obj <<
+8926 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.5896 386.7293 328.0421 397.6332]
+/Rect [243.59 581.643 328.042 592.547]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8957 0 obj <<
+8927 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 352.1293 247.2458 363.0332]
+/Rect [145.1 547.076 247.246 557.979]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1760892eb5a3f38323cff257495f1711) >>
 >> endobj
-8958 0 obj <<
+8928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5829 352.1293 359.0355 363.0332]
+/Rect [274.583 547.076 359.035 557.979]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8959 0 obj <<
+8929 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 317.5293 278.4384 328.4332]
+/Rect [145.299 512.508 278.438 523.412]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_ac2ae1578a08e1613a4e7ddfa0f4b711) >>
 >> endobj
-8960 0 obj <<
+8930 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.7756 317.5293 390.2282 328.4332]
+/Rect [305.776 512.508 390.228 523.412]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-8961 0 obj <<
+8931 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 283.3029 193.5774 293.8332]
+/Rect [145.1 478.314 193.577 488.845]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_60b58548061b148441614897071b152f) >>
 >> endobj
-8962 0 obj <<
+8932 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 283.3029 232.5806 293.8332]
+/Rect [197.393 478.314 232.581 488.845]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8963 0 obj <<
+8933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.0592 270.4357 248.8445 280.341]
+/Rect [192.059 465.464 248.845 475.369]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-8964 0 obj <<
+8934 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 237.744 193.5774 248.2744]
+/Rect [145.1 432.788 193.577 443.319]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_451da71733ac3915319b8bd36744d415) >>
 >> endobj
-8965 0 obj <<
+8935 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9146 237.744 277.6909 248.2744]
+/Rect [220.915 432.788 277.691 443.319]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-8966 0 obj <<
+8936 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 224.8769 252.6774 234.7821]
+/Rect [195.892 419.937 252.677 429.843]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-8968 0 obj <<
+8937 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 191.8115 255.5641 202.7155]
+/Rect [145.1 386.888 255.564 397.792]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d00fd827006fff19ba3d2bec4da28267) >>
 >> endobj
-8969 0 obj <<
+8938 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 155.4883 223.4647 166.3922]
+/Rect [145.1 350.63 223.465 361.534]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_7ba23c56994f511973d468959040f4a6) >>
 >> endobj
-8970 0 obj <<
+8939 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8018 155.4883 326.1582 166.3922]
+/Rect [250.802 350.63 326.158 361.534]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8971 0 obj <<
+8940 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 120.8883 285.6507 131.7923]
+/Rect [145.299 316.063 285.651 326.967]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_aaf96fa77980ed96433261f5dd4c8f5a) >>
 >> endobj
-8972 0 obj <<
+8941 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.9879 120.8883 388.3443 131.7923]
+/Rect [312.988 316.063 388.344 326.967]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8973 0 obj <<
+8942 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 86.2883 217.1088 97.1923]
+/Rect [145.1 281.496 217.109 292.4]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_5c527292c276945f5ce0bdc9b41ed37c) >>
 >> endobj
-8974 0 obj <<
+8943 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 86.2883 319.8023 97.1923]
+/Rect [244.446 281.496 319.802 292.4]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8936 0 obj <<
-/D [8934 0 R /XYZ 90 757.9346 null]
->> endobj
-8967 0 obj <<
-/D [8934 0 R /XYZ 90 208.7777 null]
->> endobj
-8933 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F52 341 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-8990 0 obj <<
-/Length 5125      
-/Filter /FlateDecode
->>
-stream
-x��]Y�#�q~�_��1	,s�>� K��20�
�Z��鮞���${zڿ�U�ٙud�.ْ|`��f1�UdVė�G�����љQ�8!��n{Cg_���oX���_���t��wZ�
q��٧�Z�fDq�g���4g��X2J������]�~\p:�o^
��������������zw>U�V�\
���ϟ���w�EƸ�D*m 
��E#��a�p�d+��-LƼ�_u�f�:�K������y�=lV窹�}�P
�Ϋ�
\L��P
����Spd�g%4C7��͟�Lg���?�P�U�g�@	s�϶7�
�as���?=����K8�V���j���DKk��!L(�-�
B���ݍ�Y𑖍�IZ�YC_�����o	*��}�|ʢ
-G,Ӯu��L$$���7��q}jd\ƭ��5F����O9?mW�Mu:�%�|Y����`�Ӗ��Ḑj���ޮ��}�`uj~�j>
����t�=�Q����������O������v��5"��x%K���R[�� 7Cgsʺ�N��q!̼:��V���ݯ��a?�o�~��A��{-�2���+������a�hǼ��-��l+@���h!��PF�4���W?���~ca�Qx���vG���Ч��{f���μT�B����j��o�
�rM�c������gSjb�M�����>���
ֻZ��i
!n��r�tZ����w;߮�����V܉�?�P
7
!mx���ܳ�
�7�%^�`���N#!G�\E�)# 8<y.� �!
<8L�Ż�:��=C�X"��$�G*2�K%�;=
��*��mV�� ��*�������ﺧmo+��&
���WxJ4O�#�kRJ��pp��>2�X� �G&8�2&]�l8)@
��ݫ�������v�C�I�I�	�����M�K)��
��$�£�H>�6�j�#Jy{�S���t�U��5�X@������ɴu��? 
-x2p�0��j���_@ ��V�(m��yN��
�u!L)�y�r���R]ޮ�u�ٯ� ྟ�%-
ә��ʗ@�����#;>���ᗪ_(%FyW�
-N5dC�;M ��o��l��|AW/"��c
m���M�r����w��*�����^wP`!����R3>I��P��d�x���^����Z
o��p� �
v��%/t� U ���P��
�v�}�}:�ݺڝo����|����m;��R �`��N�f�~����������?���w���w"�������D:rDċ�CO�F��Nk%��a�P�A	A��xc�wz�­����
�M�j���/�O
�=��2�T� U���Zpai��0
Pv�x��CZn�
iCg~�y3���[��$
?|��[�WK�+g ���A7��@WK-'���
n�Q��/*�{�<�<:�4����}s��� R

�9�
-�����O�G1`��9��Ѽ�
H��o�r�� ޱ�	bE�+̰��ݖ�$f�Y���$;�3$�/A�j�Q
Hd�,�1L�]�
-8p�$�&b9
�m�TG�"���2�Q
n
.�R% 0��2vh����<�r,����^��%P=�Y<y��g�T�0�Xn\
-��r�7SY4���X��б��}ˉudXNK�-���[8��*`'�ȱ
��Ѷ�
�i�
����g9x�m�̓
��.�ȶ�2H��G�t2E6VtN\�Z�S7]��.�:x9p
���:`��#\�����Nby���H����� r$^��A���aG��+s�Ha����z��
�:�H��#1��è�K zzŗjW
W��U���;0BfT��[�TQM0��1�{�
p�?�'A������{�%R:Up��*p
�I��5^yO�]P�jVNuE�/ ��E$�W��D����s�M�|L�C�*A���:mq�6���wX���O
-C��n�C�|M_�$��0�漡�:-^@|���Aʇ��D�ކ�AO��_T��u�X�KY

�]A�9��U�`�F�����(,c���p���6�v2	���I�6���!
-i�Ju���C��/4S_o�Qj��p
-�X�Yd
j
-����
NJa!�[��n� Շ�\�j�Q
�P
-��B��gt���
�>�D��A,m���L��8.��._�Ȃ6�

��� 8
��a6!i�}k�Ė�@j(�X
-e��K���
-���_H�C-��e��vR���4U�
-gR�X�� 	��
tdA��͏�������C1�}~lW�
�:��BJ�31
-ђ�d�2��LzVC����A����Y2�8'�q� 7Yh ���XZ:�a�zU,a��K+wZ�"�}U���Y�m"�
��^�C"�
'�^:o��3KxGk}0���ks�2Y88	 ��'�b��Q5�A�`;�Y�5�4�	�Lִ�%w�^0�p!�ˮ�Ǔ���c���m%5�
x�32Y��p+Tb<�Z���֬
ĖIn�y$
��m��Bqd%���8�e8Y�DVj�3FW���2x`q�
bS�W�s {�K�o�#�|�X�|%�Y[ ,�u4��
-#ڋ&K��
a�Z`4d�E�p_��p_D�ܷv� ��
��Nۍ�/_h���Q��R���8bMt7�x�>Ԕ�Z��2Ez1��ȏk�&Q_��q\VB�5l��2��R!����d�r�T.c�}��j��
�?�����1'Os��z���r�}��
�S`�J�X�+��Ha����z���MhS�eb:;�]˗@����"��*U�-A���+����h|��e�b��� _���;m.Wi"8˻�
 ���	�w��S�[E$�v��|	BO�"�a�w�	A� r
�S��
����1��� �_���KM��B�
��ȵ�*`�*
�IA�;>��dT8��
�%d4֑!�A,-�6�kxr�2ήR���$UX0ڭ�*7V��A���8�"l�p�
0�",�e��*@�R�n㏴�/4R_�x�u���9KDe��7�ז^��S�5D8��	P�~C
�HY.�
-��˯�y�V��ǡf�
A��[�q��i��"
�p%{\���R�\;��P�7R�)]+R�Xa����!1;N�0���"5��t�|	DO��,c��C
-�	RP\#��6Hn���LuM�/��靼@�6� U !,n���^2H�0�s��D?����)���
��B�*A�:�)O��Ң��B�K�M`���;1 �av�T�	�R-��0�,�z��=^�;p�ώ�*��
����% �|�,k.�{��
��b��Ʒ���.۱��I���?�^���?
Ư��!~膄�!�z�g���*��Ӏ����Z��w��!������O+�
V3�n��PS��8X.R�9�J�OSO�M�~
'=�O�~�?}��
V�,��=A
��J<Ћ�y`�0��v=���J{�;�1�-���%=��!��yRYO�^#�.	R4\��$�A38�]�¡�M�G�/"��-���.

h�J�-�߰�N�X�����f�� _ ��;��H|�����
  �X
M ��|����:'LROt���wYO����
ь��c���w�}����_m
h$1����Ȑ� �
���O\d
N���اl����ڭ:���Ok��6���(�k?E��S���Ľ���Җˬ�l�
���e�M��(J�=�X��aK/��.d�
Gb�]�'�fVv�9��URC
;�o�VmB6
�qp����
U����
-�5��e�s�6�iHY���98e���f)�Y�H�
���
XX30X�e�ղ�V��4�@:gK
<���5�|�P\�zA�i��D��,�}]q�̬8�=t��8g�\�F����|0��<q�RE�
�����і��6�x�na�/"�j
e�U[\��"�
o�n��hp&�J��F�m�!�����%�
��Z��T<��P��㸶��"�"#l]�"JL�G�#�i�H�!��|��$�O�\�"L}�1�QOs�+Q���j�&M���%�
��h�����
�T_�P5֑��^,��L�X)u�c�4M�h��ᵪB��Z�[�ikŲ[+
u�X�Ԋ!�1`4ifjŭ|���z��h:�a��e�xL�����
R}x��GQ
�}[�-�-c�<
U�]c�U�r�
��`�EiMS��3�¾�E�8 �L�
���,��,�����m���RC�
udz�
�a&�uF\��{��X� u�)΃��	�M�)#��?4�9�ݫthB+��Xa����=1����)�1�%�|	DOo����"��T�����L�A����+��_n��Q1�A���w���p0̵y���8�R ����6��EG?�:2�(�u�K��ҥU�^�8��t��is������oO���v���
�� Ϥ�˜6��\��럫e�\��7��q�J��&Mj�su~���`
A'��%_�.a �)��y�
R��dtZ#d/V� ��\���$6[� ��)$��Q
V����DZ��<_PX*�~R
�����8r�� ��T���e�#/��k�\`ag,\�G�uލ�p�q
-�K��k�%\G�5��=5盯�V�&�Ԃ�f]ȗ��͛��������P2���|���V�\�M9Z�,��e����� [...]

Kkg`����7u^ڔx	_9E�Oٍ*g���$
A��B�k�e��᠘�E���G�����:����#��x,��[��Jq���t	�̊�:����	�%=��)�Ǝ�d�A� +F�*x
-���B���Qe��X�1|~h�z�a�����շ�#�!5�[В���
5� �Q<eP��9,
-��V����op�KOa�.a����@��|D�X/�<nW�G����c�
-��ÿ�����/���O�ݓ��Ͼ�*hٰ���������j`=�e"&uP����_��mj��~Ѽ��Dw�Ӌ��x>>����L�N���H���������E*����[�
�����qay��a�&����:�W���3��P�V�yendstream
-endobj
-8989 0 obj <<
-/Type /Page
-/Contents 8990 0 R
-/Resources 8988 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9043 0 R
-/Annots [ 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 9003 0 R 9004 0 R 9005 0 R 9006 0 R 9007 0 R 9008 0 R 9009 0 R 9010 0 R 9011 0 R 9012 0 R 9013 0 R 9014 0 R 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 9031 0 R 9032 0 R 9033 0 R 9034 0 R 9035 0 R 9036 0 R 9037 0 R 9038 0 R 9039 0 R 9040 0 R 9041 0 R 9042 0 R ]
->> endobj
-8992 0 obj <<
+8944 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 687.6599 271.1256 698.5639]
+/Rect [145.299 235.969 271.126 246.873]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_16579a075dfcd1fa22ac02bcc859353b) >>
 >> endobj
-8993 0 obj <<
+8945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.4628 687.6599 373.8192 698.5639]
+/Rect [298.463 235.969 373.819 246.873]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-8994 0 obj <<
+8946 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.8625 675.6561 326.2592 685.5613]
+/Rect [214.863 223.492 326.259 233.397]
 /Subtype /Link
 /A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
 >> endobj
-8995 0 obj <<
+8947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 643.0806 201.7419 653.9845]
+/Rect [147.984 190.443 201.742 201.347]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cab49f11748c7473f15388191159a798) >>
 >> endobj
-8996 0 obj <<
+8948 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.4419 643.0806 243.6294 653.9845]
+/Rect [208.442 190.443 243.629 201.347]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-8997 0 obj <<
+8949 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0792 643.0806 371.3288 653.9845]
+/Rect [294.079 190.443 371.329 201.347]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-8998 0 obj <<
+8950 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.3057 619.1216 269.9387 629.0268]
+/Rect [223.306 166.011 269.939 175.916]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-8999 0 obj <<
+8951 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2877 586.546 212.7678 597.4499]
+/Rect [146.288 132.962 212.768 143.866]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_1be27ff4f03e00236044253c3ddd43da) >>
 >> endobj
-9000 0 obj <<
+8952 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.7715 586.546 252.9591 597.4499]
+/Rect [217.771 132.962 252.959 143.866]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9001 0 obj <<
+8953 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.8959 586.546 375.1455 597.4499]
+/Rect [297.896 132.962 375.145 143.866]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9002 0 obj <<
+8954 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.4006 562.587 277.9276 572.4923]
+/Rect [220.401 108.529 277.928 118.435]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-9003 0 obj <<
+8960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+8964 0 obj <<
+/D [8962 0 R /XYZ 90 757.935 null]
+>> endobj
+8965 0 obj <<
+/D [8962 0 R /XYZ 90 403.838 null]
+>> endobj
+8961 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9021 0 obj <<
+/Length 2944      
+/Filter /FlateDecode
+>>
+stream
+x��[m����~�B�\	���}�F�v�i
\�k
+���;��(���\}g_H�)Qw�q)
+�,�
����<�̐ģ�
}{������d#���rt{?�x�$A����b�qLbz2%��̈́�q����̈́��f���i8�!�K����kw8N�,ʽ��d�p`�������LFE\(P���G'RӇ`D�.$n>��B8"�
�볃�]�Y6�R�ǷM��z�
+��
�)���		�Q2�C�1fB�A��������0xD���B���|}��<Z���G���Vj=���j����+썎����'QH��2��p�~��M_\7�8�������)}���d�h��Q��*�w����*Ɵ0�I4���C�
����c��B�	��n�r97j	8?�x��	�4S���M2��۬�tI�U���jb��$�O���8��t��o�4�2�>h��
FS�i-�u_E"� ��>�v����Q���4����k��,5>��È/�d���0ߤ:�t�DƢ�G�_M������������I�����gX�Cb��q�qN�u�*��V�prP��H!�$
+�|gN�6=8#��M
+c����g��ݷ�����z��|�I'L��l�s��Ùe�pp�'&��GmP� 2 �]dT'qZ�3X����H�J~�e��.�#[�\h�^�
X;Y�mTF�r>�V�Є(2��#�ʈ�#8����ȸ�Pq�
�Ha� ���J�ZaDZ��ڜ�XR
��E��o�E������� �Tqpo�G���2r�o1�C at ya�aj3�RR��
����#���
�z��^?�
[<�P������Z� j�J�m���O�h`J�$l|�!��)i7 R�R���9T`��GJ�sT`+�@Iy�
+�����u���∏v�_<-�-@�N

�U0

�Mj�`�ܺxj�A;9H�D����q�Q��
F
�
�6����r�9Q�3fonP
+�@
ER�IS& �1�J�'u� 4��3)��E�PT!�Ņ�@
v��s�İzD��A�D"�
+C6�SX"�@~ӻ&0�:����s���j�����9:0��t`�O�ւ�g���.�a2vC-�F��a2倩z��63v�;2vY�����	{��E�Z؄�X�d���	;\�H�A��n�Rj	��� K�G�΀�:�>-@)�q�6���0Q��BIN!�v��
�w�ǑI �
+�3 
+�.ό�E= Qpz
h�Xg Qy�( v���'���]Tl&���qDԚ��&�H�
"A�L�
3�OZ'GM
s�=o����F#u���ٸ'1��b�����F�?FjH�H��0R"�Y_�$Hj}F����E[	����f�,z��F�=sy��0�>�d梳Hf�^��f�*����Z�
�����
 A�0��),;n:��s���a�h6�Y���|ә�k:��'��[��Fs�����Z�wuW.� '�%�����H��2f
19�"���(��
+���%P�JX!�5�?a�[�B#E��\�';�Y��i7b����m#tp��}Ч���S��>��.��Ol�_�<LJ���ݽV�����Ϻ�����$�E��C5����0�

+\tt�1B��ׄ"7i{k�q�Y"
��n�0k�DpVq�'K�d�eA9p
+%e
�3Ğ	}�h ��?���
����"!�I�}��2�9a��yI�0��#�\D�KFf�!:9�`�<6�c1
�aA=�(���et�)Rb062e`��f5�,�����G�ȈݔOMm
�
��:B�Ǿ�
+ť���'�;�`��7���[�Eɜ�V��
Hj?��v���á�>k��3~���|EI���g �[a!&��_ y��[6n�T�3��bP�ކq�����h��G]��$��:�r�;
P"��04J�{`��
���q�0wn�K
�g��h��
+�];��9�S��
r�lrG�D�ӎ��y��"���K�?�_n2��n��A`����]kKr� �;[AG#*
��[x8��d�O���-.��oP���
�I~GO����<�z[�1Ij�
�Ö��DE��4֍gAk#I(�ˈ��QR���&���A��
�-��E�����;
H��z6��*�7��h��jH��߬ogӈ�s?��
+F���D
+��3�;j�������.1
�u��/$�_��L\��0�#�;�
+ņ
+�F�H7Ȧ��v�zta��q
��u#D�`�m���g�#[߁��K
8�,@������� 
+xp�����G̱���,�� �l�T��˙��7��뉆�J����o��C��iu5u���vo�-����8�7|�Y�.C�J 1� �c
$�{�s*@T�D�|�>���E8J��P�4�
+
+�%.�Q3�����٬�/�T{�<2�{�~�F��9�Tb�浔�'�y��A^O��9 ����L�����̻5�4�)��";oq��x6�6;�i	uLlgW;���5���E��0�xe�4�(�M��r����0���'��
pѠ+/��R7O��ńCv����!
j/ހ6 at p�<$S)��G��g���ʼ5���>�K~�Y������$+�edy�g0Xdn��
��
M����)�0
+�� ���<�%Hs�La۪/�� �3����,9
��v%}5*o��!��p�'���zu��{�]��.
n'7!�[�F7��&H+�
+l)E_P^��w-#r�x at kt��w�%pC�+��W�4_S�J̏-���aa��k��s�� -��|�tQI�����}C	�
��{�S@
&�!}c�7]��g���?'f_�t?��E�&B����]�`0���
.��l��M#�\�Lpׇ� g����o���|P�b�ȡ���������~���%�6Eq~
%��qP
F!��

+���֛�� N���x��	�w�o�
+endstream
+endobj
+9020 0 obj <<
+/Type /Page
+/Contents 9021 0 R
+/Resources 9019 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8855 0 R
+/Annots [ 8955 0 R 8956 0 R 8957 0 R 8958 0 R 8959 0 R 8977 0 R 8978 0 R 8979 0 R 8980 0 R 9023 0 R 8981 0 R 8982 0 R 8983 0 R 8984 0 R 8985 0 R 8986 0 R 8987 0 R 8988 0 R 8989 0 R 8990 0 R 8991 0 R 8992 0 R 8993 0 R 8994 0 R 8995 0 R 9024 0 R 8996 0 R 8997 0 R 8998 0 R 8999 0 R 9000 0 R 9025 0 R 9001 0 R 9002 0 R 9003 0 R 9004 0 R 9005 0 R 9006 0 R 9007 0 R 9008 0 R 9009 0 R 9010 0 R 9011 0 R 9012 0 R 9013 0 R 9014 0 R 9015 0 R 9016 0 R 9017 0 R 9018 0 R ]
+>> endobj
+8955 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4429 530.0115 250.0993 540.9154]
+/Rect [145.443 719.912 250.099 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_7153c25dfa21af48271dd46e7e7cde7f) >>
 >> endobj
-9004 0 obj <<
+8956 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2582 530.0115 289.4458 540.9154]
+/Rect [254.258 719.912 289.446 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9005 0 obj <<
+8957 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.7722 530.0115 379.5123 540.9154]
+/Rect [307.772 719.912 379.512 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-9006 0 obj <<
+8958 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 530.0115 513.9963 540.9154]
+/Rect [436.747 719.912 513.996 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9007 0 obj <<
+8959 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.3043 504.8435 439.3345 517.0085]
+/Rect [344.304 694.477 439.335 706.642]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9008 0 obj <<
+8977 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2074 473.4769 266.586 484.3809]
+/Rect [149.207 662.843 266.586 673.747]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_c3d56f02e252446c5844465d94068227) >>
 >> endobj
-9009 0 obj <<
+8978 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5094 473.4769 309.697 484.3809]
+/Rect [274.509 662.843 309.697 673.747]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9010 0 obj <<
+8979 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4935 473.4769 408.2337 484.3809]
+/Rect [336.494 662.843 408.234 673.747]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-9011 0 obj <<
+8980 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 473.4769 513.9963 484.3809]
+/Rect [477.703 662.843 513.996 673.747]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9012 0 obj <<
+9023 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 461.5218 171.3608 472.4257]
+/Rect [125.095 650.888 171.361 661.792]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9013 0 obj <<
+8981 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.2371 449.5179 480.8696 460.474]
+/Rect [381.237 638.616 480.87 649.572]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9014 0 obj <<
+8982 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0912 416.9424 250.7476 427.8463]
+/Rect [146.091 605.773 250.748 616.677]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_f4416e25871d6e2ee1fd5a09a1f9c343) >>
 >> endobj
-9015 0 obj <<
+8983 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.0677 416.9424 357.3173 427.8463]
+/Rect [280.068 605.773 357.317 616.677]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9016 0 obj <<
+8984 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.4046 416.9424 456.1447 427.8463]
+/Rect [384.405 605.773 456.145 616.677]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-9017 0 obj <<
+8985 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 404.9872 202.3443 415.8912]
+/Rect [125.095 593.818 202.344 604.722]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9018 0 obj <<
+8986 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.0047 392.9834 446.0713 403.9394]
+/Rect [350.005 581.547 446.071 592.503]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9019 0 obj <<
+8987 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.0173 360.4079 265.396 371.3118]
+/Rect [148.017 548.704 265.396 559.608]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_53fb6133be52cbd02a3fc7573900a95d) >>
 >> endobj
-9020 0 obj <<
+8988 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.5684 360.4079 375.818 371.3118]
+/Rect [298.568 548.704 375.818 559.608]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9021 0 obj <<
+8989 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.2392 360.4079 478.9794 371.3118]
+/Rect [407.239 548.704 478.979 559.608]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-9022 0 obj <<
+8990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 348.4527 225.8659 359.3566]
+/Rect [148.616 536.749 225.866 547.652]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9023 0 obj <<
+8991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.2222 336.4489 466.6702 347.4049]
+/Rect [369.222 524.477 466.67 535.433]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9024 0 obj <<
+8992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.9331 303.8733 239.9836 314.7772]
+/Rect [146.933 491.634 239.984 502.538]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_96712b6e1b0c6ef2ef36177eba8a5f7b) >>
 >> endobj
-9025 0 obj <<
+8993 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.6327 303.8733 280.8203 314.7772]
+/Rect [245.633 491.634 280.82 502.538]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9026 0 obj <<
+8994 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.8547 303.8733 405.1043 314.7772]
+/Rect [327.855 491.634 405.104 502.538]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9027 0 obj <<
+8995 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 303.8733 513.9963 314.7772]
+/Rect [477.703 491.634 513.996 502.538]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9028 0 obj <<
+9024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 291.9181 171.3608 302.8221]
+/Rect [125.095 479.679 171.361 490.583]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9029 0 obj <<
+8996 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.2574 278.7053 432.0923 291.8633]
+/Rect [347.257 466.199 432.092 479.357]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-9030 0 obj <<
+8997 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4364 246.1359 251.209 257.0399]
+/Rect [145.436 433.362 251.209 444.266]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_2d82b566c9bebad2adaaa3b5ba0e923b) >>
 >> endobj
-9031 0 obj <<
+8998 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.3614 246.1359 290.549 257.0399]
+/Rect [255.361 433.362 290.549 444.266]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9032 0 obj <<
+8999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 246.1359 409.9686 257.0399]
+/Rect [332.719 433.362 409.969 444.266]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9033 0 obj <<
+9000 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 246.1359 513.9963 257.0399]
+/Rect [477.703 433.362 513.996 444.266]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9034 0 obj <<
+9025 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 234.1808 171.3608 245.0847]
+/Rect [125.095 421.407 171.361 432.311]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9035 0 obj <<
+9001 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.1145 220.9679 456.9923 234.1259]
+/Rect [370.114 407.926 456.992 421.084]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-9036 0 obj <<
+9002 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 188.3985 224.5705 199.3025]
+/Rect [145.1 375.089 224.57 385.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_723455890ff6a03f145169e411c83289) >>
 >> endobj
-9037 0 obj <<
+9003 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.9077 188.3985 327.2641 199.3025]
+/Rect [251.908 375.089 327.264 385.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9038 0 obj <<
+9004 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 176.3947 347.8694 186.2999]
+/Rect [304.542 362.818 347.869 372.723]
 /Subtype /Link
 /A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-9039 0 obj <<
+9005 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 154.7781 212.3767 165.682]
+/Rect [145.1 340.934 212.377 351.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) >>
 >> endobj
-9040 0 obj <<
+9006 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9498 98.2435 264.5739 109.1474]
+/Rect [145.95 283.864 264.574 294.768]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_32c9572669f8c0490cd714af2731b62a) >>
 >> endobj
-9041 0 obj <<
+9007 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6113 98.2435 368.9677 109.1474]
+/Rect [293.611 283.864 368.968 294.768]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9042 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-8991 0 obj <<
-/D [8989 0 R /XYZ 90 757.9346 null]
->> endobj
-8988 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F52 341 0 R /F99 2213 0 R /F40 350 0 R /F100 2135 0 R /F36 2391 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9058 0 obj <<
-/Length 4031      
-/Filter /FlateDecode
->>
-stream
-x��\m�����b?�^ ���K�h�^��.�k
-4	^[{��o�����$Ҥ$���nP
�N�F3���33$%vI��t��(C���r����������|
ׯc�/�]�z�ե#Ns}��֠Q���w�&�ᮮ�t����t��޼��t�Y>�W�������t���g�������
�r�vp��w߾z�Xd�
N���������
'[�7o�0I�:�(��j9�ﯮ���wW�O��v9=T͙��jw��Z��`JM����o�#[?+���?�B/���o/(�˪�#���9�/W�
�cy�������P�0�\��rp$��p��DKk�xH�p�A��P�dhw#/-�H�Ɖ�$-�eC_�e�_�_��
�
6��)�n�(~n��3��m	I���Mt�_����Q�����fR���m�dsל�n�����}�
�;m$(#������K�������|�S}���˯�8�`����v�n� �:�b�n�o���a��╌�yo�=�T�d
-��
nBlAa������
�	�F�2�Z �q��� 0�þiipa���^8&8zƷS��7
�j��p�{X�j���hM����s�@#�R�����J��	�i�9��t�8<��m���,
@Я�
XM��/��"�!�j�1
O���qF���0�+�4��B��ԙڍB1;L#��~y�
%�
���1�2C4��2��}�s5���+���R�v!��s�v9�+�R�O�[���!RZ��D�&ʆV:<n��tն�W���
}ڶyr�_W�N|7�f��v���x�)N,���l�jb�&��{����&���Jj
-L�����f�o�Mōg7�:Dt!q�I�R�u�Tx�@�� ��*:۬���qc �����%=�uN��WQ��#x�b��R �� Ӫ�'�WZ�.�t����
���B�N˧���L���C�M1,�F�gP�
ڲ$Ő�C�)��mVۇC�@y&ǐ@7��L�ш
�����1��*�s�x
�J 4P�I�V�cU�[*����Τ�(̘
)�=�\�Bwj�ڛ�m:A
T	���ĘLB�9!��Lb�cN�U�Q�>v3
0�>Tu�|�ETS�����R�H,)�O��h5�ih2�D1��RBzhGb� z0-��RlPpW��fb�[9%��3%k�M�>�w���W{�u�x{��i������n3_�u[ᯋU��7�;��i!��#�
4�
������t�� O9��,$X�X&�
-b�+gWgY�����M�J�Z�ۨ��1�J����T�M*����'@-�l�A�ӄV�d��mc�Eߟ{Cj`�R%ېH�:��'J�B��
��%=��(�8���R 8�Y ��#<f3!e
�eOɄb
�L(�!�w�W����e�d֠>�-:X�C⠔}�8l4u�8�
c�8�T��ٴ����1�^�kL�����¦9���8�ǟV�IKe.�I0�l���X��#��2w�n��M̾T���7�$�6����m� UR��q%���/�;�J�|\��8ŕ���2�	���7��:2��
<�+y�!���Gĕ�
8ŕ<����Wr���JH���ז��sk~H���X�s�A��R���b�sO
-_��\��bu�q�Y�\i�fi�h�N�Z_~��n��
-T�[��Y
-�#q蚂ݜ4�fTᧆ*�s}�y�+�Y�{�9���Csf��
-e.�5�X�����J��f5�Y���,Ye��� d�#�C�f�3�����Eu��Fuf�u��|T��6
-
-�BT�b�
)�E��]�b����������^D�?�k��

-�,8�K�lk�]
���"�j8�ƨ����K�{zG�.a�HVpD�* ��
-��
-—���u��|��н�BLo���~�� w�K���p?�V0b
�c��S��R@��$
<�%
-
-bE
-�f(�`����l��R�#(� ���S���
'�nBh��@��	�y?���SB���
-�x����ġ��H #=���zA�ÍϠ�L��-�{ H
)
�����sfK�hB:��R+U�#�����
�	b5@@��ѵ�
-'Z���ꓟ���æ��H<�����q�E�����a�8-����@�g�on�Kj$��h!W�>н�&-n~-�rՄs���k�����L4̨��ƣ�;������OI��E����X��#�9�����
�-�vbz
k�A��fY{���
-æ�۠�.�/T@��Ne:�1���-4�H��"���1����]�
-�f�Aڙ"(�v��*�4�
��1��P7s�CKg��N��R7�"�n���ͩl�Nx��㖺�@ݸ~ެW>=���(��<
5}ϛ�gD� �H�Wl�5���
�X�b��ug
�cY[8�LF�gma9nuV�bE֎fX�`�e��l��S�#X� �����٬qS����؅�I��yW�
-�5��w�g�'Bh1�A���w��2<������
-@ #'��N�,���P�R*�B۱�
m�t���ܲ�=�zd�O���.� �����eat�{}f
��6��QJG8n9+�+e�0G�y��(c�e�LL�!�<��^D��V
r🪗���K����%H q���8
��8��0&�#=�K0zzƏW���t���.���������G�P��$B=�`�䰹��n�F��ITh \��I�XG�D�B��ƈ�f-�N��Nz��V�d���W�Ֆ}�E �8��˳���"^��"��
���z�͖Y$1=�E� zzX�~���ڕ��
-�8ϻ'H�q
�0��2T,C�-�c}��z�ː`J�w�*؇�H��&�E
&}�v��@T?�>"
9��b=�P�-����35'[��ø0F���߇{b
�m�u1�Qt\ QՖ����"Hf��4�z��;�������J_n��%���8}��37�P�{�
bE�f�o�n�Xb��v���w(�����u�Y>�a�І��ᗟ8'�K�/?qH��R�;�!��A�y]o[�g��f)�ނp-S� N �S�b8%z�
__�d�o-dy��S6ܿ��V�#�[A��-\?N�d�nh���h�}�Mg���}(G�K���?�
ހg3��
���e��beވ�x#o��Fl�<��c�_
DO/��g��BBg�G!�{3�wI�*��7-��CY���c��J��:{uV?U3�X���P�8�g�)���:�����[q�����N�$}�#E��·ij�R%2�nK�U8����c�:r
����M��~pY
ڔ�w�W�]~��:��C娟�۵I�v�N�yh'����nhߤ�q6e�B
-�^���c�H]��Ċ�
+��w�n�߉�"��G�wDO/���,��J8��x�A� D×Y�V8;[�{�� _���;r�
g���yg�
-�qw�)�v�
������۽|�G�|	KOo1�I.����'RZ��y	�D~�&ײ�Ό���x"B�R�5��j-�A���b=�G��a�#j���@��«��0w-�b�sP7���i�b
���b���y{�
���z�]���7��_�r����~q+ J�j����l�����Y�A�d�:\�M��gt-
p(7�c�|���%
=�匮��ƪ�8����{�
"���jp�'~��T�89v�q�P�J0��͘�&�P6�W��3��"gև���p�!1����t
���
rkj���nݥ+p�b��*��S?�a�/���M�v��&�5�����f�L���9�ty��r��eǺ���C]�<���m
(��<���m
�Swk�	
-��V�Iߤ�)�� �K�!�ï�5�
Q�R�����D�|��6?ۯ6?���v�Rj��bX?����͊��� *m^"�
�N�V}^0�
���
��A���\���ǟ�io���h
�������p�~����x$�=yX/�;�8��n��z�U��3��궮�aI</,�-|�$�r��V�]�?�\Mg��(�L�V1endstream
-endobj
-9057 0 obj <<
-/Type /Page
-/Contents 9058 0 R
-/Resources 9056 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9043 0 R
-/Annots [ 9060 0 R 9061 0 R 9062 0 R 9063 0 R 9065 0 R 9066 0 R 9067 0 R 9069 0 R 9070 0 R 9071 0 R 9073 0 R 9074 0 R 9076 0 R 9077 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 9087 0 R 9088 0 R 9089 0 R 9090 0 R 9091 0 R 9092 0 R 9093 0 R 9096 0 R 9097 0 R 9098 0 R ]
->> endobj
-9060 0 obj <<
+9008 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.9201 720.2355 413.7587 730.1407]
+/Rect [300.92 259.638 413.759 269.543]
 /Subtype /Link
 /A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
 >> endobj
-9061 0 obj <<
+9009 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 675.6876 248.9295 686.5915]
+/Rect [145.1 214.84 248.929 225.744]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_52fc679f0d74857dacafb72b57ab5c37) >>
 >> endobj
-9062 0 obj <<
+9010 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.2667 675.6876 351.6231 686.5915]
+/Rect [276.267 214.84 351.623 225.744]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9063 0 obj <<
+9011 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.8008 663.6666 367.5622 673.5718]
+/Rect [303.801 202.568 367.562 212.474]
 /Subtype /Link
 /A << /S /GoTo /D (main_pps_certificate_widening) >>
 >> endobj
-9065 0 obj <<
+9012 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 596.7783 200.4511 607.6822]
+/Rect [125.095 133.678 200.451 144.582]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9066 0 obj <<
+9013 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.1908 596.7783 251.9973 607.6822]
+/Rect [211.191 133.678 251.997 144.582]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_57be1b41dad904bf9936df4560df720b) >>
 >> endobj
-9067 0 obj <<
+9014 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.3345 596.7783 354.6909 607.6822]
+/Rect [279.334 133.678 354.691 144.582]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9069 0 obj <<
+9015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 550.3901 200.4511 561.294]
+/Rect [125.095 86.288 200.451 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9070 0 obj <<
+9016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [211.1908 550.3901 251.9973 561.294]
+/Rect [211.191 86.288 251.997 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_280aacebc757d7ab2a23ff2e282aa10b) >>
 >> endobj
-9071 0 obj <<
+9017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.3345 550.3901 354.6909 561.294]
+/Rect [279.334 86.288 354.691 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9073 0 obj <<
+9018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9022 0 obj <<
+/D [9020 0 R /XYZ 90 757.935 null]
+>> endobj
+9026 0 obj <<
+/D [9020 0 R /XYZ 90 148.399 null]
+>> endobj
+9027 0 obj <<
+/D [9020 0 R /XYZ 90 114.987 null]
+>> endobj
+9019 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F97 2177 0 R /F38 342 0 R /F98 2117 0 R /F34 2344 0 R /F35 2013 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9070 0 obj <<
+/Length 2167      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r��}�W����Ѭ@�JUr+�ʱ]�?\�X�p�% (Z��B��D�΃D,����ӧ�
��';������Սǜ 
����`Gz	J������X0���{7!�
�4��M(v���2��p�m�X�������du׶�zd�pa���7W7�t:��".$�����4��C0�,hZ�ݏX!
�5�׃F>�ª�L����$�n����͕��".'�w�l��e�SF/��p�
f�C�D	�$�<���3v"����a�|g�[��
~W����N��WAR�=nFá�
aOX��l±����n���r��`��,����ž[/cs�~)b;�k���t�pk��=�(��i�/���r�T���y���{n�
�W���0���y�o�ۀ}%��F�BͶ�th�0��
7O��|D�?��
���FA�im|�m��Hg
yx�U��w;�2AB��@�q�Ec�
��1�2bM"�Ҧ�<�
,-<��b?M�y�a�<�b A��a��F�NBL� O�3�	aS�'JEψ�e* �MVG���d��n�<�6�
��u�	����ݖ1�	
����E
tt��I�ay�@@�͟�MXTc0�
y ����M�MR/��/�_ &��yZP�@Ӝ	*=GP�(�UE8�g[�U3@�,N���Po��n>��'���jd�)F��fq:2��(�7
�xB ��L���ʜ׹�UT���y���XO�:�˳:L�${�
��{���r](p�9�

�q
��x��x
s�3 �ﰇh[���
���)}�4�⿝|�)z>���<h��;�AQ�  �_2*�b_&HD1���Y/Թ���C��6�E�	�p&x
h��dC���7_���
�r��0��<Tyh���2!��O� �9h�
�fFp�yhY���}d��HJ��M+����e>:� �W�m$�93Z
.���uC
+���F��"?��
+
1�)�A`Y$��2Ns�g�/ޡ�w`�?B,f��s5��u>{�g}7�w�򳶤Vq��j5 ����	�����@_�Wo$�"�L��qyt��S� i���)
d$
B�� $w͈�Euح��Y�7υ���Y�V�U�K���&Q��=��C�#��`��3ٖ��lj���c�o�L�&����7&�${R\?#a����k���m�n1�iG%�<l�,�Vh	[�#
S�w
+�aY'�jv���v�>|8��^Q�p�a50%����"
�9�u�
�
8?�j#L�!ߨUo�azJ�T�~����O8���VK��jn��Œœ,�P�AUg)"Z@�Z(�>����+c�?+r
+K�Sw�߭�X���d�2mtE
 ��� �n%�</��5����F ���<�aflc|[��a
+G��<D�[�	��R�g�"_E�&Q����	���
@���)\p�:�M2V�k��;�(��QA��0*�K�c����m
�GV�SNQX%q_�Ο[B_?�������riC��n�켬�g�&B��8�L�o�=���c��$�P��Z$��:��2:O�uz�]¦x��wN����������@f
��xr�~�gDGk�"z&�q������ڳ������>�>�J?E#� 	+�C��[����=�ѫvޫ����&Dno�
�6��B;1oA�aI

�
�cu�H�Wt��E�D�{U�
4u�D���'Q���"��B�e�&��#�o5o��j
+D)��8��{�n��3,`��oS�������q��_�2$�
�v���7e��i�2Թ�V�^��u�vhz�wI�;��]��[>r,M�5�}:���B��˖`66�MB��<j��@�.z�=T[�oP���j/����H����o~��.`@��RK"���e�&i�6;6�Q�_�/���ǻ�}��xv4���u�@>zb^*�qi	���
�8&-W�s��܄>u|�W�&ջ�{���<٫_]�]	*�aP��'㙂�8e0j�ۭ�C�z�[EE��h΀E��kEte�
�?�?���x���Eiꩯ#|��� N�
�a��NI��|�cN�?���U\�e"�k��0[7[ �j��l�FP�HQƄ��
Py7��
�Ns�
-�[�) ��8X�uq}u��lмB�,)J��WE��ڥ��
+Qq�&���H�F%\L��-
�o0e
n
+endstream
+endobj
+9069 0 obj <<
+/Type /Page
+/Contents 9070 0 R
+/Resources 9068 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8855 0 R
+/Annots [ 9038 0 R 9039 0 R 9040 0 R 9041 0 R 9042 0 R 9043 0 R 9044 0 R 9045 0 R 9046 0 R 9047 0 R 9048 0 R 9049 0 R 9050 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 9067 0 R ]
+>> endobj
+9038 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 504.9982 167.4656 515.9022]
+/Rect [145.1 686.402 167.466 697.306]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_0c8b9e21e6308b5841acc2f1ffef10e6) >>
 >> endobj
-9074 0 obj <<
+9039 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 504.9982 246.6377 515.9022]
+/Rect [171.281 686.402 246.638 697.306]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9076 0 obj <<
+9040 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 470.5652 289.8656 481.4692]
+/Rect [145.1 650.265 289.866 661.169]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_91dc05df4b7c844f1f6c9c5419db5635) >>
 >> endobj
-9077 0 obj <<
+9041 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6812 470.5652 359.3244 481.4692]
+/Rect [293.681 650.265 359.324 661.169]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9079 0 obj <<
+9042 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 425.1733 290.9713 436.0773]
+/Rect [145.1 603.169 290.971 614.073]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_3b8a6c571be95e78b20207f732cd0848) >>
 >> endobj
-9080 0 obj <<
+9043 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.7869 425.1733 360.4301 436.0773]
+/Rect [294.787 603.169 360.43 614.073]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9081 0 obj <<
+9044 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 379.7815 224.0028 390.6854]
+/Rect [145.1 556.073 224.003 566.977]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_c878ab15837984ba2930ef42fa81dc5a) >>
 >> endobj
-9082 0 obj <<
+9045 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 379.7815 326.6964 390.6854]
+/Rect [251.34 556.073 326.696 566.977]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9083 0 obj <<
+9046 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 346.1266 254.1498 357.0305]
+/Rect [145.1 521.566 254.15 532.47]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_e45ed9165f98258083b2337c3872acee) >>
 >> endobj
-9084 0 obj <<
+9047 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 346.1266 338.2632 357.0305]
+/Rect [281.487 521.566 338.263 532.47]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-9085 0 obj <<
+9048 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 312.4718 284.5854 323.3757]
+/Rect [145.1 487.059 284.585 497.963]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_02a568a0ea643d33f943fb6ab98271c7) >>
 >> endobj
-9086 0 obj <<
+9049 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.4011 312.4718 354.0443 323.3757]
+/Rect [288.401 487.059 354.044 497.963]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9087 0 obj <<
+9050 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 255.9028 241.7263 266.8068]
+/Rect [145.1 429.639 241.726 440.543]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_df9133b519b04cad51e09ebb9332cddd) >>
 >> endobj
-9088 0 obj <<
+9051 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 222.248 249.3181 233.1519]
+/Rect [145.1 395.132 249.318 406.036]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d64b9c9ef7488b49c4f9a4acd3f57491) >>
 >> endobj
-9089 0 obj <<
+9052 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.1337 222.248 288.3213 233.1519]
+/Rect [253.134 395.132 288.321 406.036]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9090 0 obj <<
+9053 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.8754 222.248 371.5186 233.1519]
+/Rect [305.875 395.132 371.519 406.036]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9091 0 obj <<
+9054 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 188.5931 240.6204 199.4971]
+/Rect [145.1 360.625 240.62 371.529]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_a944a73dab7e82a786f12d860def325e) >>
 >> endobj
-9092 0 obj <<
+9055 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9576 188.5931 324.7339 199.4971]
+/Rect [267.958 360.625 324.734 371.529]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-9093 0 obj <<
+9056 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.5366 188.5931 425.7242 199.4971]
+/Rect [390.537 360.625 425.724 371.529]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9096 0 obj <<
+9057 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 111.584 203.0748 122.488]
+/Rect [137.432 282.38 203.075 293.284]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9097 0 obj <<
+9058 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 111.584 296.3242 122.488]
+/Rect [203.573 282.38 296.324 293.284]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_25717d92bb71e83e73c686fb6f231efb) >>
 >> endobj
-9098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
 9059 0 obj <<
-/D [9057 0 R /XYZ 90 757.9346 null]
->> endobj
-9064 0 obj <<
-/D [9057 0 R /XYZ 90 611.2495 null]
->> endobj
-9068 0 obj <<
-/D [9057 0 R /XYZ 90 578.8389 null]
->> endobj
-9072 0 obj <<
-/D [9057 0 R /XYZ 90 521.4918 null]
->> endobj
-9075 0 obj <<
-/D [9057 0 R /XYZ 90 487.0588 null]
->> endobj
-9078 0 obj <<
-/D [9057 0 R /XYZ 90 441.6669 null]
->> endobj
-9094 0 obj <<
-/D [9057 0 R /XYZ 90 129.9506 null]
->> endobj
-9095 0 obj <<
-/D [9057 0 R /XYZ 90 129.9506 null]
->> endobj
-9056 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F52 341 0 R /F37 2043 0 R /F100 2135 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9108 0 obj <<
-/Length 3729      
-/Filter /FlateDecode
->>
-stream
-x��\mo#���_�OW�x|1� M�$H�ԍ]�C:{m+�%�$׹��w���{�s��>�,=;3
����r�
c�G�
>VB!ø<�z8�Ƿ��WG��y��C�gG����� #�<��i%H�%�����!���9���N�-��˳�g��ww��vq����v�}wz�}�\�w;��K��-|q���7��$$PFE\H�Y]� �=#�
�g�)�#B��O�2>�_�v's*�����Y�_����f{B�Y]�W�1c�[�G����,�$֍o�~�_���9��/-�����1���S���?:?������^��.Aؔ��
a)X;�;��n4_>�����j�9E��BX	�#�
i��	
��ڹa�ػOͮ�r��?������pW����B �d
&�D��ځF�,g��fS*����(���ѣ�z��
-�V/,/�����ݪi
�TpU�s-�5
��Hh����iV��޵g_g$r���,^�s����b
�E��ۻ�9�x��nV���[
�
3L�G7�׹M(�T�6�sB)@	�9�
I�y7'���m��!�
�����"�k�?�A_Š��67�)Z#��ؐ���15� �62Vnw��@xm?�}}z�9���C�ح��0f�����M�Ӄ�YV�l��_0���>��\햷+ �FBl\�z�J�1�B�n1����0h$��:�H[�2�n?>�ƽy(��1|�`���0�X}Pծl��b���q|���ԯu��w�>%�#��V�_�7�4W{4:Jf�$�]
%s�$a��x죖Mt-���z�;�+�Ti.�J_0����8����:Ð��	���
��K �˩��@dӌ�Bx�O�
��'I�aKD	MM-���y��D���6�9O�+ޘҁ�a�s�Ti��)� ��4�k��f�
�6�Dn5�3�azl�/�ߣ*0��
�b!��M���Od�c��6�S6�~����d�Gg��+>H�����%YYx
UQ*0EJ���{��5�>
[]o�2��3v���51��+��31SU�����L�O��slw�P�p����N�9�6�G:_]�J���	��sr�PF!��\�
�/�i��!�6	�u93�jj
-,�9��� ��b�A.�@��(E
��n}z�Y,��g�xiʕ�0T�vD��Dq�
�Ї�	0�����df:���-�*�FK�m ��E��ЃR3b���&<�
-5�	
_qB*ת����a�]3�K�"�gq��8|����1��R8��SX�Z�i� ��T?x|���6YX����r���.���`N�;Y��GUl�D#���m���\�����N�g�7��j4p
lS�ݝ�Wo�\Ca!0�,�9�(1M�j7ۉ�M�ι}KM��*�l+υ��
"���M}����un{�Ԭ�m�k�h�~Vĵi6�1ks'-��b�%I

�
�u�<�NZ��i��z�
-��Y���P
P͆zǃ���,H�Z
�_/ag���C�J8̘AE/8P��2�-N���6��@�T꩞�����	�
6%S��e�CU,`�[13
^m� Ric�I>3�>yax|͘D�dv�RCI�+�ãRC"~K�e	�k�
�S���?�rݲ��d�)i�)����
�*�<ߩ�{�<���!؟A��ac�g�1�)VN\�F�������yXw�h���3ԜL�t}�}l2tCLv��򦯣V}i�^ݿ달/�5���7���æ�Զ�s�Z�V(��(`��.c*acϝ}��U5s1[gUb���ӻ�˩�������p��_����-2v�*�
-T\V�8T���Yd��
4d��m�t��+�R����>`���q��ҡ,�4�25Eڶ+'��+��R���p��=�A�q�9��/1%�3u�
�<��̱���qA+�u��h53B�PO2�3��
*R�������ք�f�]��|X��ȵ�(;ƒ�VpLa����y)g�~���	��0�:�8׈+�����RA��LEJۂ�q=�ׇtQ1=u�{xŐ�Ա��c)����V& 琏�����o��5Yw[�'��j.�b&��i���I2J���eZq^qۻp�D@�QZ|�fAI��DcV�D�&�q��+���E��C�谽���
Ɠ Y)S��IO�@��9X=
-��^�B�ٖ�q"����5
�[����%7xT�Jl*L�mJp��
��
�����
� ��)�k�w��^	�$�]+b�~#�D���D'x|ŘT��,�ٻ�T��G���9"-�2C�XM�������
Ml��))ۣ*Æ#��@�{
̀X��s�1�Q`F���,S�L"T'�SE�J�|��8ʿ������ϵ~���� 3�Х�U�2X�˜��m�H��s�әаc�����N�����؜QN/�9=2bxz��O�k\G�4\Lu��WlL�N�:%�A0Vv�G���\�H�x;�<C�^��*4J�yq2J��`X����J�hN��@!��B^H�
�紙��*�X�HvU힯��#Xb���
c�z�����nN+�lT4��
>��t����oN�rۮ�S���&�����A�V$7�zTM�4HPX��nKi���[ut��
�fA"���؛O�o���&�P����<*�2�D�(OHH�)�m����iUȫ�>I۰
��Sg��+���
�
w_)
������R+zL
xY*��
j
�2��D��H��J������:=�(0��Y��7��rq��_��:n�E����
�=-r�J�V'��(�>�@Y���G������v<��y�����f8/�;���0������D����w�yxA��ʝX�@N���5=�b%*obb#
-�J�O�06�
_3#��>P:;�9b�QŢ<�����
i����わqP�0N�Tgx|͘D��S� eox��Q�!q�.��?;	���]'���+~H�������L��{Te���d�(���
S��$(D��'�ۈ<��ë	�_N�E!��=��E���.7���i�8Jq۶�W(���� v����&�����~����J7�^�0�`�rj��z7���ބ{����>��@E�_�����
�/gg�91�Ȼ�����N�-�c���E�E�Q�@���mAC^��}��Z ��^ڴ�&��!�Ӕ�)0���
��0�*`�&Ҭ
'�g�m��8,��B���q�Yo[OZ�����j
�Yo��E���/�i���ν=$�>�ƅ'��*6�;�҄���}�D�w��M��s{�˞�8L<1�M|�w��{LD;8�zJ����
�E��cRC��@K�}l�-I�G��T����PZ���=G��2S����r'
���
;%exT����l;�h#�:��+H������1�2l��
;��=��ۧ�
���j��]����w�M�� �I������
�A1�J��V�S1j���Ͼ�&�8?�S���@ݩ�2���
I���ֿ��>EG��g'ʼ�G؇hY��� �����ܨ{���2��<i�k���EΈ(?��O��t��O�ǿw��/'B��������ޝ=���(H4|^�b�f"�v'<;o��	P�+Hp"u��z�>}�<��`
\���a��\;��~s������ڡ��r�E������uz����0qsJl�<�4q�4��M�'���UO�|���	(w
0c��P���endstream
-endobj
-9107 0 obj <<
-/Type /Page
-/Contents 9108 0 R
-/Resources 9106 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9043 0 R
-/Annots [ 9111 0 R 9112 0 R 9113 0 R 9114 0 R 9115 0 R 9116 0 R 9117 0 R 9118 0 R 9120 0 R 9121 0 R 9122 0 R 9123 0 R 9124 0 R 9125 0 R 9126 0 R 9127 0 R 9128 0 R 9129 0 R 9130 0 R 9132 0 R 9133 0 R 9134 0 R 9135 0 R 9136 0 R 9137 0 R 9138 0 R 9139 0 R 9140 0 R 9141 0 R 9142 0 R 9143 0 R 9144 0 R 9145 0 R 9148 0 R 9149 0 R 9150 0 R 9151 0 R ]
->> endobj
-9111 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.914 661.4973 289.5562 672.4012]
+/Rect [228.914 163.453 289.556 174.357]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_cb90cd62d5a91523a0f7f7d17a7d380b) >>
 >> endobj
-9112 0 obj <<
+9060 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.0217 612.4298 271.1984 623.3337]
+/Rect [257.022 113.006 271.198 123.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-9113 0 obj <<
+9061 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.2596 612.4298 341.9018 623.3337]
+/Rect [281.26 113.006 341.902 123.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_0b63a885009bef951c4a57e878b81698) >>
 >> endobj
-9114 0 obj <<
+9062 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4258 612.4298 501.6025 623.3337]
+/Rect [487.426 113.006 501.602 123.91]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
-9115 0 obj <<
+9063 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.1775 600.4746 203.3542 611.3785]
+/Rect [189.178 101.051 203.354 111.955]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Determinate) >>
 >> endobj
+9067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9071 0 obj <<
+/D [9069 0 R /XYZ 90 757.935 null]
+>> endobj
+9072 0 obj <<
+/D [9069 0 R /XYZ 90 703.321 null]
+>> endobj
+9073 0 obj <<
+/D [9069 0 R /XYZ 90 667.184 null]
+>> endobj
+9074 0 obj <<
+/D [9069 0 R /XYZ 90 620.089 null]
+>> endobj
+9075 0 obj <<
+/D [9069 0 R /XYZ 90 301.173 null]
+>> endobj
+9076 0 obj <<
+/D [9069 0 R /XYZ 90 301.173 null]
+>> endobj
+9077 0 obj <<
+/D [9069 0 R /XYZ 90 220.936 null]
+>> endobj
+9068 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R /F50 339 0 R /F35 2013 0 R /F98 2117 0 R /F23 340 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
 9116 0 obj <<
+/Length 2279      
+/Filter /FlateDecode
+>>
+stream
+x��Zms�6��_�O.5�x% �]f./�\�M�ؽ��d<�D�l$�!�:��_
Q�����$
+X,v��g �n<�9zqqt�}�<�t@����ؓA��b��	AL��c����|
^��(����m�����<��OO��qRQiǘ)wQf/~8����b�QąU���^�C0�L7#��
RG��B���r�lN�/f���:[�eT?y]G��(?J�!|&�z�����1�#���D�	o�>z�{Kx����^ʻ�F�=N|���_��5�����gʓ�� �Z���J�f^5I"-11��A�ײ�\eеG%�\�l?� �Z���Y��kk����!��lh.%�s�*-D=�(���Y��B|�cd"$4���5�qQ~c}��͑�~N�����LgT�"�ǵJ#)�8���bͤ�o_�r5X�dj1ɑ��=�U*?�oMJQA3w'Q�_fa^�e<Z���x�&Ei�	�K����3�����'���9�v��<�
��`�n�B@� �
R%��
`o��L��R�YX��$&+Dٍ}�G
�JP�
����:F��~TdѢ���C� ��6�2�x�X�<rns��^�����
ql�/�C at v�J����������%��
�d
%�X��yu�,����
+:�n!���.q0�`\1 Eŕ 3�>��u\�@!0����a�C��j*i
��8+�
�9�8���{=�]Tnrw�cD��Y���H@�͠���0Y�_�du_k�*om��$&
ԣ���%�/�5ٌ?�����b��m��
+���!�[g٨-v�̅�:��
+�uCv�Z�u
U���a�*��:EY
�0�6A���z���Ѳ��1�ǟ�@��i�
WwPF2�c3F��lF�m|�Y��_�52�)�Q�O�3J8
\M����ό}(cN�@
+�9b�gu�W���v������<!�vc�
�) bR�Huj!	��d�^
�ъ�¤'���R]T�c�C�	R7T�Py����豓�kew��
+�*�*��V�-��|A%�6f�”�/ {
�u��jU$��S���K%B@,�͸d�nK0��[�y�2�*Sc�
`�oc�<	4
+~
p���;$��a�Ǟ�
+C�
y�/����7��b�v��T�A�c��S}���J�Z�����r�
S�C�qW
~fc�*V��[g�SSaOM
'�C��)6	� �.����g�X
9�2�h%������^,���7����Ʃ�~�LE(����~�q�r
��?"����
�,�BW�l�*�~�Q��o��N��1��i����L3h���
�:��[���{;��
%�>��VA
�}ϑ���#�9�1�G�j�ȣ
�9���A�dj���"�n�U
ZE�<_E�"���MU��]�44�DX��!�\�Xs��@��s��P�0�����wQ��f�����]#�
+h^Yms뭋�@����U��f�k��A��1�����I�~l��ۮ-ӵ)P�((�1���A�����V���6
y$qrs�0��
yks��E�?a}����Q��H^c�q�ɲ4�6a~v۪J���u���I�_��o�da%�;�Ca
��_Tq�
�m�?�
�
��h�"�=����
�ٙ�h֘�tk
�')t�j�<2PY�Y
�g�-ő��?'�k)9+x�Z�����L�!=�̔�?/��&M����m��R�����b��ڌ��M@���z����Z�ū�BDAv��0��m�j������Ѫ�΋�+�A���.=���\Th*)
�
��I j��e�QMr�����_���)j�mDiŶ,;A��
p�]ĩ'��r3�T�j�)椸ߌ<=_bh��S����è�y��B��mo[�1�� ^��b��RZ�Vp�Y_�s
+���n�?
q!Ⱥ�8�1t�E"������(7�(�WQSN��%��n��)N�.��
5�t�K���:�׷����w�
"9dW��*Q1*��A��ļ�`x�}�V�".?�j"ٚ�.��7p�f6�jY
.6Il��MIb�<kO��4�t��!�`�cyߍ�J�2]���G��=h����,� �%<�ү�
E���m
ϭ�@T���V� �*ʇ�c=��s���]j,�pa����*-�<
M�W��9~Q+�
��}��j��
+���/�A��G;mO=��&��?mګ�ZD�w3!|k���d���i���1�V�@aK��'d�E��yٝ����5��]�F����h�r[�������
Z�<�Q\�d��䡏;)�
�^�\7�Y�y��
+�p]1;�O�c�;
+endstream
+endobj
+9115 0 obj <<
+/Type /Page
+/Contents 9116 0 R
+/Resources 9114 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 8855 0 R
+/Annots [ 9064 0 R 9065 0 R 9066 0 R 9086 0 R 9087 0 R 9088 0 R 9089 0 R 9119 0 R 9090 0 R 9091 0 R 9092 0 R 9093 0 R 9094 0 R 9095 0 R 9096 0 R 9097 0 R 9098 0 R 9099 0 R 9100 0 R 9101 0 R 9102 0 R 9103 0 R 9104 0 R 9121 0 R 9105 0 R 9106 0 R 9107 0 R 9108 0 R 9109 0 R 9110 0 R 9111 0 R 9112 0 R 9113 0 R ]
+>> endobj
+9064 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.5729 551.407 248.9293 562.311]
+/Rect [173.573 695.499 248.929 706.403]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9117 0 obj <<
+9065 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.5294 551.407 331.4717 562.311]
+/Rect [257.529 695.499 331.472 706.403]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9118 0 obj <<
+9066 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.5086 551.407 416.9298 562.311]
+/Rect [353.509 695.499 416.93 706.403]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d6f64ccc36541cf23baca88a68ad06d7) >>
 >> endobj
-9120 0 obj <<
+9086 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.287 502.3395 218.7483 513.2434]
+/Rect [139.287 645.677 218.748 656.58]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_d7e1698be31b1b95dc7e28d13ec162d5) >>
 >> endobj
-9121 0 obj <<
+9087 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.4306 502.3395 330.3729 513.2434]
+/Rect [256.431 645.677 330.373 656.58]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9122 0 obj <<
+9088 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.8981 502.3395 469.2545 513.2434]
+/Rect [393.898 645.677 469.254 656.58]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9123 0 obj <<
+9089 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.6739 502.3395 513.9963 513.2434]
+/Rect [482.674 645.677 513.996 656.58]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9124 0 obj <<
+9119 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 490.3843 161.8403 501.2883]
+/Rect [113.91 633.721 161.84 644.625]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9125 0 obj <<
+9090 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.5889 453.2719 177.8427 464.1759]
+/Rect [157.589 595.854 177.843 606.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-9126 0 obj <<
+9091 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.8093 453.2719 257.1657 464.1759]
+/Rect [181.809 595.854 257.166 606.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9127 0 obj <<
+9092 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.1948 453.2719 286.4486 464.1759]
+/Rect [266.195 595.854 286.449 606.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-9128 0 obj <<
+9093 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.7722 453.2719 400.3116 464.1759]
+/Rect [309.772 595.854 400.312 606.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_17e25309469009012f40ed891a2c3f01) >>
 >> endobj
-9129 0 obj <<
+9094 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.2132 453.2719 449.4671 464.1759]
+/Rect [429.213 595.854 449.467 606.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-9130 0 obj <<
+9095 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.7424 453.2719 513.9963 464.1759]
+/Rect [493.742 595.854 513.996 606.758]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-9132 0 obj <<
+9096 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 404.2044 213.5757 415.1083]
+/Rect [134.114 546.031 213.576 556.935]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_3f4e612db0eea52c329f5a6be95197b9) >>
 >> endobj
-9133 0 obj <<
+9097 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.9129 404.2044 261.1668 415.1083]
+/Rect [240.913 546.031 261.167 556.935]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-9134 0 obj <<
+9098 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.8812 404.2044 383.2376 415.1083]
+/Rect [307.881 546.031 383.238 556.935]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9135 0 obj <<
+9099 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.4845 404.2044 411.7383 415.1083]
+/Rect [391.484 546.031 411.738 556.935]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-9136 0 obj <<
+9100 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 355.1368 213.5757 366.0408]
+/Rect [134.114 496.209 213.576 507.113]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_c262e9c3acc2920c3e3df6fab7852753) >>
 >> endobj
-9137 0 obj <<
+9101 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.6982 355.1368 376.0546 366.0408]
+/Rect [300.698 496.209 376.055 507.113]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9138 0 obj <<
+9102 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.7908 306.0693 162.1568 316.9732]
+/Rect [139.791 446.386 162.157 457.29]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_74dabf047d8ef99e4088e5c410d34e6f) >>
 >> endobj
-9139 0 obj <<
+9103 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.8479 306.0693 358.2867 316.9732]
+/Rect [171.848 446.386 358.287 457.29]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9140 0 obj <<
+9104 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0205 306.0693 513.9963 316.9732]
+/Rect [433.021 446.386 513.996 457.29]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9141 0 obj <<
+9121 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 294.1141 224.6835 305.0181]
+/Rect [113.91 434.431 224.683 445.335]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9142 0 obj <<
+9105 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.7404 245.0466 215.2016 255.9505]
+/Rect [135.74 384.608 215.202 395.512]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_69571f990b874f16d0f62235088427ca) >>
 >> endobj
-9143 0 obj <<
+9106 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.7906 245.0466 305.3469 255.9505]
+/Rect [245.791 384.608 305.347 395.512]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-9144 0 obj <<
+9107 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.3455 245.0466 432.7019 255.9505]
+/Rect [357.345 384.608 432.702 395.512]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9145 0 obj <<
+9108 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.5746 245.0466 502.131 255.9505]
+/Rect [442.575 384.608 502.131 395.512]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-9148 0 obj <<
+9109 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.5252 99.7777 253.2487 110.6816]
+/Rect [179.525 237.112 253.249 248.016]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-9149 0 obj <<
+9110 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.7817 99.7777 341.4604 110.6816]
+/Rect [255.782 237.112 341.46 248.016]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9150 0 obj <<
+9111 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.9933 99.7777 369.8962 110.6816]
+/Rect [343.993 237.112 369.896 248.016]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-9151 0 obj <<
+9112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.68 127.523 333.036 138.426]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+>> endobj
+9113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9109 0 obj <<
-/D [9107 0 R /XYZ 90 757.9346 null]
+9117 0 obj <<
+/D [9115 0 R /XYZ 90 757.935 null]
 >> endobj
-9110 0 obj <<
-/D [9107 0 R /XYZ 90 716.2211 null]
+9118 0 obj <<
+/D [9115 0 R /XYZ 90 664.276 null]
 >> endobj
-9119 0 obj <<
-/D [9107 0 R /XYZ 90 520.5619 null]
+9120 0 obj <<
+/D [9115 0 R /XYZ 90 564.631 null]
 >> endobj
-9131 0 obj <<
-/D [9107 0 R /XYZ 90 422.4267 null]
+9122 0 obj <<
+/D [9115 0 R /XYZ 90 359.523 null]
 >> endobj
-9146 0 obj <<
-/D [9107 0 R /XYZ 90 220.3012 null]
+9123 0 obj <<
+/D [9115 0 R /XYZ 90 310.959 null]
 >> endobj
-9147 0 obj <<
-/D [9107 0 R /XYZ 90 171.7374 null]
+9124 0 obj <<
+/D [9115 0 R /XYZ 90 212.65 null]
 >> endobj
-9106 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F25 344 0 R /F74 478 0 R /F67 366 0 R >>
+8755 0 obj <<
+/D [9115 0 R /XYZ 90 189.715 null]
+>> endobj
+9125 0 obj <<
+/D [9115 0 R /XYZ 90 189.715 null]
+>> endobj
+9114 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F35 2013 0 R /F72 471 0 R /F65 376 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9161 0 obj <<
-/Length 2317      
+9134 0 obj <<
+/Length 1771      
 /Filter /FlateDecode
 >>
 stream
-x��Z[s�~���S*�T0� ��3��i��⬕N3�
-��T)*^��
 E���tg��$� ��\>|4�`�#�'J(�����O
a��=���yW����RL4Ғ���YA$(����͔��lN0�ӛ�Ӵڦw73����y��������J��+;��>�����U00{����
B:�(��
��8��/V$��`D��N��6�
-����^\��&��gs*�t1�t�mw�������!�f$�f��bʄ0�^\/ZG:?
&�q��.޼œ���

�J��	~`D��������\�^|߮c4b���/���
ㅨ�ث����aY����'���,
��\
�YQ�u^f��N9b\���k�a8����B�'>`��.+�-8�P��#�Ē�������4��'*��dlS=
bۘs�F��d_���~�d�\I=�	
��!�{��]V�n%H��L���a{����̀�S�o��N"X�!�_[8���%�t�0+� �"� ��7�I���D"�?��X�

-�����{�ۜ���/�}���:�&W(���\Kb[' D�z����`��#{���˼~k�A�;��$��QHRΛ��
����Rj?E>�b�ˌ����
5���]cT3�J�~>�ܗu]n��]�"AR�d"ZHB
��Gգ�y݁�V~ޝ�`Q���M)�y[��
k�k�� 3�~hR[�
�f
A}��@�@�IHb�`���]�!'a
�-
���.�հ뫾~�)R��Q���CKª� 
����R,��pa���Ђ��$��`Z�X�S�3�������~�-�㉵ߥK���M�ϋ�ޔ]'�>=�{��9�u|ǭϻb#>oź��5p����^j�7�4��]�P��.[�?aL3�ͧu^�z���K���Jףvd�:ui?�ݬ{sH��(�s�̞s�Bԥ%/p���J4���PJ��}wHt�9�ct C)5J��,cq
-��$F,8��~|� ԜwH
#
�4$d�.���l1\vH)䳝�l'�x�Svoa!o���?޽���������� �2��
�"C��+Z ��
-��w�*/ �m�/˝���|�i8�uB���Nm�
?��,�i��Ǧ�#�C���(�l�P '>��$u��}T �$���!Ɓ�Q�~#�1���Z��?c&��'g[w
-��Md��)sW��C ��H��� �7�"/ �mf�D��l�8@>�?�h����Ǝ��G��Q�c(Q->�D>�"_e9!�fa�πC�a5r
r	�)k㠮��k�	��#�p�j�s�l�y��q�2*s�‮E�+s��aW�F��VS�t���
��Ƽ���=���g�{�/�2;E�<����!�Z@~��m�dJ)m�}e������Ux�h?֕:ݏ1-Q��{�c1�#����xkЊ��('p�1��o��*�9�^h|C����p���a��zO
�_�ҨȚ��
�����܂�Z��ؘ_��b��/1
��C
	�jo
�M���ts���jM
3��汬�z���m��S
m�������.�0?_[7�ל
-�!vrS�w��W�[�_t�
�m�R�szF��G5�
�E��Z�8�j�Z��t�jO5(!G�h��s\h�T{ʽO3s�9�Z��bw>�C�,u��]�o�Dw.�e�Z��5�� ��\m�uZ[��Ig���1��E
�L��Ej�r4�
-�5
�C�r���l�i�t7�0\:M��u����n�Ty��n��t��J����Sę_�&~
-	�'���h{0uc�����~;�ݼ 9�S'�*�gQ6tj�x�5���޷�f�I�e���`�ȩ���3�#�:�]���'�={�cKjJ�LeK]��l���)(���K1F���%�c�;�]ȗ��bL�o��j
�s��,�z�����oeN�%b��%��@��bc^�bg��q�-Yh���@��"K��v������H��"@�90�$ٙ��c�Q>ɾ'"�Ō�zuu�Ɋ�z}�U�t�N�qO�RC#z/x(��Јź��T��6|���G��!�i�X
i�0�1�~,X�D�ؾ�nr찵?��ƕ�*n�c+sh���_�j�� *B�h[��b"��M�+���v��ཛqK���x#��1n1\���d��t����a�U27����I��/MC*W`*6�{��,�mV�9Q���ӟ'�ۿ:����yg��G���`]��u]�./����r�E��P^_�v���+gS�\���[��-��Y"��&<����JۖU�	
n������;���+2~3�endstream
+x��Y[��F~����R=;Wf�^�f��Ms�t]�Q��ͮi1P����
`0�$�HI�'�a�̹~��w�a�у���Q���
��bO	J���{��X8���9&؏�et}9�����"������m���s;�d�*����..ab�f���![�QFT1g}g�t�!Q�+.���i��pT�E�V�	؟�C���"��������(?�f0ň>J

=���
�=b
%$�Lx������a����_ʻ3��
�
��w5z1���x�����		�$eª�W�������Gw���`�qWE<K^cLcg��"�`����
��dL��Ϙ_G����e�jc�E�7�P��E䎨r{}�v�Ց_'i�b1�Ɓ�r&��
QD]�UuLv��8,e�R|ț`W�"΢%hFh��H*Ĕ:�@���C�0FX�CF�42cµ%�&p
��oN�C�ԝ)��X�Y�����HB���
�!޺`��%b�
,􎐯�n�q�i�
q�h�
�
#̿�!!�wI����+L���Y�a��ƍ!߻�K0@������x�����?~��
�
+TP
���� Q���WI�&Y��.� �$H`:HP���r�d���gy�����(׳
+0 �T>
a�r�uZÊu��
� 3Խ]/���K��%���2��	
��?�va�}T|/�L��H�Z�c�
SN�Q���C����:Y�}71q�0�P����7
+�<��-�}�@19d�{�^�;���=��Q�
���y���3{
)y�X
{&�
rB�Ѕ9p��8������H�BU5��# �
 � �"MfI5����H��jy6渡R	�:�k�\�-Z�
vH/��:::@��\�K�
a�'�?�٬��3�=_��r�ct5�Γ��p�7e�
P�R���%]�-F�%��e��)� �&8}H:X W������n�+$M�*���I��DC��FŦO�z�Ou׫x�{�����,6�v�
�1db��G��>�84B�k�2z�,�t�S*��|ݜ�ۼL��r՚=H� �j���/���#���]N�^t,׬LC��l�,�Yy�Оb1��-Z�՜:�i$c��%3D�8�W��2
j&�lw��Єp
+�]�
�4"DR~�N#	��2�U\F5����"U��z�j>��*\��l��72fv3�\9sLV�����:N�7=v�`�N���N[`�A��]T˸���ܭ��ՠ.,1"���t�N�
��$�j�J���
Uw��ح`GEQ�+� �%q* U�[�P�-��r��F��,���z��u`����yn�Yn&�oQx��l��j>�'=��_��hځ&�d���-7(�YC#�5��2;4��8{�9Fa�o7��8�����Jw��p����~z3wj}��|o
xA�n�"���� G�3�a[s�j~~���m�������
�@�}��.J�v��7�W���氛͡����"�]�O�Eۈڂ]�N6AY/�M��.=��z�D1�W�^{�:�,�S#�4K|�Y�F�����������0�&Z�[d�D�E?��D�D�P�ƒ
� ����C�\7ɲ�a�%�P�ϗb��7�b�����

+�:����
f��ϔ��
�#D��ť�ݯ�mݰ��Z���U\~����?��u��ty�|)�p�eL��8d�^ű�Ԛ��W�~
l���
�}�]TUq~vvww�f+��DIuV��nD[)�l"zS�
^�e\'5L����$�_�77Z
+endstream
 endobj
-9160 0 obj <<
+9133 0 obj <<
 /Type /Page
-/Contents 9161 0 R
-/Resources 9159 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9043 0 R
-/Annots [ 9165 0 R 9169 0 R ]
->> endobj
-9165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.6795 654.0284 333.0359 664.9324]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
+/Contents 9134 0 R
+/Resources 9132 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9140 0 R
+/Annots [ 9131 0 R ]
 >> endobj
-9169 0 obj <<
+9131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9162 0 obj <<
-/D [9160 0 R /XYZ 90 757.9346 null]
->> endobj
-9163 0 obj <<
-/D [9160 0 R /XYZ 90 733.028 null]
->> endobj
-8819 0 obj <<
-/D [9160 0 R /XYZ 90 716.2211 null]
+9135 0 obj <<
+/D [9133 0 R /XYZ 90 757.935 null]
 >> endobj
-9164 0 obj <<
-/D [9160 0 R /XYZ 90 716.2211 null]
+8801 0 obj <<
+/D [9133 0 R /XYZ 90 712.404 null]
 >> endobj
-8820 0 obj <<
-/D [9160 0 R /XYZ 90 585.4204 null]
+9136 0 obj <<
+/D [9133 0 R /XYZ 90 698.096 null]
 >> endobj
-9166 0 obj <<
-/D [9160 0 R /XYZ 90 570.8501 null]
+8802 0 obj <<
+/D [9133 0 R /XYZ 240.245 623.469 null]
 >> endobj
-8821 0 obj <<
-/D [9160 0 R /XYZ 240.2453 496.2235 null]
+9137 0 obj <<
+/D [9133 0 R /XYZ 90 607.004 null]
 >> endobj
-9167 0 obj <<
-/D [9160 0 R /XYZ 90 479.4964 null]
+8803 0 obj <<
+/D [9133 0 R /XYZ 90 481.739 null]
 >> endobj
-8822 0 obj <<
-/D [9160 0 R /XYZ 90 350.7331 null]
+9138 0 obj <<
+/D [9133 0 R /XYZ 90 467.431 null]
 >> endobj
-9168 0 obj <<
-/D [9160 0 R /XYZ 90 336.1628 null]
+8804 0 obj <<
+/D [9133 0 R /XYZ 90 246.587 null]
 >> endobj
-8823 0 obj <<
-/D [9160 0 R /XYZ 90 110.3626 null]
+9139 0 obj <<
+/D [9133 0 R /XYZ 90 232.279 null]
 >> endobj
-9159 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+9132 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9172 0 obj <<
-/Length 2203      
+9144 0 obj <<
+/Length 1644      
 /Filter /FlateDecode
 >>
 stream
-x��Zmo���_�O�
�
_D�L�mp[�ko�]hq{�ڊ�͖<[^n��ER%Zv��À!D�y��!
d��$�	R,���
-OV���+b�g�?���_]-�D!%����A�:�/�G� ��3�1��G�~���M)����:[������t�tsc>�Eu�*��C
�=|�~�w�5!
a�Qs��rZ֟
�Ӈ`D��-��]`#B�
_���v�
��8�O���n�V�����!�O���b��<b\�I���CZ;s&�6�?����%���+
��|�/��d{S�^6W�~j�1
����8a���2�g��E���r��M� ed��	Jb�,[=�"݂U2�D"&%
���J*�?_<�0F8�c��iZ�,�fLX2�ACqNN��3�9}g\�ѯ��EY
��۷���u��c��@�t�'
IJ\4����s
������m	�0%Q�)���M
�W	����
=�
+$f�g��N֣�;�|�����FMfx���8�bs��w߿����/i\�$��o`E��>/6y���B�i��y����
�'P�T�>	4���_
���֊�<vι�rJy�X�U [...]
u˴�;�V
ԡ�?�� 0�V	rs<��bi��y~�
����x���� ��4/|�y��XQ����c����v|��v��S�M+ �X�Ѫ�9|�zj-�k{ԉ�[e�y2����K7�r��
܄�/K�,��T�)�ѧE�-{��l���1u=&j�N�#Z�|�9'�#/�9ye�r��.]��2�f�!/
?��vN/p�[���@�6�8��8�n&R!���	���N���_��n��	�(a��!�4�&^"
-+a���-v�t"aogj|�
j(իvR��̗�xv�)uTx
��*���
dӣ����o�xA'�˥  | ��ƪ]؈Uذ�{�9��t�J��ˡWH�Ko��Mu5�XS�I�/���~�R���d��X Lc5�#]��
�ê�%��:�� {G�#$z̏}
N�����jys�ɊU����{��}e��a,�
�P	ߝ�B�`�+1_�M<�y��z���
w�V=�W=�����J��t��$&
;��V�COt
aǭyI7�x˰b��P
#)t��V{�5
-� 6H�О�ނ0�r�R�����)�wI9��7�|i:B��w]�H$�smM��s�6�v�}
�ť��k�|�1��Q~-R�q~
N� �4�OF�m��
�<V�
�6��q2�% �ڱ�UJxea3;П*�����GO�b	�!�-����n(��Ho_54��*�ߣ����	g�O��!C�
-�.7m��q�Lcr|��N�1�P1{'
��t�z��\�js�'���ѕ7���

�C)'��y������h"��م����.����9�
枞�9V�BR߻���.1lO�*���d�®����N�8〢\\�*C��<��ℇ
�y�r�-�
(f����*����*��d�1�a:&	�<
e��I8�h���X�F��!�
'�����;Ey�m%h���J��f:L��("��
�G��?zHy-FV�<,��uH��$�qQ���H7����.�8t���_����CD��4��Mw� �Q�(���
��á�c�zw��Iz�P�����t��&�B$
�(�39:���?�
�
E���%x��L
R�[p������Fg$�̌4=z���
�gP��
^CR3�WXwt9|�
����� ���Y;��Bwí���ܬ|�il��=s���SW߽w���a�F��q��{��
I7aG�?+��R�^c,p�0
9��3"j,�g�Qu�ȹD��Y�?��;hfG
�-6������@j��Im� !�>gCʊ$>s&���l�`�	ƥ7g�������g�u��g��ȧB3r� $|�C}-Nx���w&�D{&(>xJ���ш�ޙ��g����p���
����?�ה����+�u�6���x�*��;mM��c����f��C��l�yd뇴8�b����TP���'Pk�c/��eY�44���I����c�Zi��
�uF�|L:�
̫׼��������#Z
б�w{�W׻�溯�y'j�q�4�ų<��
-hW���gy�C�&w�5Q	���ߢ�*��ZWendstream
+x��Ymo�6��_�O�
L4_%*�
+�];�k�l�](��h�eM�����(�z��$}]�HQ��sw��G2vVv~�<�OfO|�(���/�;�O��ę/��.!��S�`���)�nT����)��&����Et�<�(����D/'YUƕ�Q[vq
�7�g�'�t
FE\ �~ַZ���`DYh%N�F��i�<�Uɣ4*˩Gv�Ӑ��:O�*�+�Ɨq1%ҍ�,1"��D��N
�'O���
%0�,֓�o����gIgWK�
N��s6�e���q�������9e�B�]l _|�T75�{�D��V
"*�5q~e�YG��:J���4%­��k�K=F�Z7�Q��Iu�6nږ�
��s��0�G9~�A<�^�y�l�򤷷��7^� ��G`I��jyr��٪�:��bS
sA 
���fJ��˔
��\�Ү	�2�f�L�qVR}	>�g���(l��WZ� �`M
��q�,O���]�(M5�x9��SO�b��r1dd���F��B�3�x
#);��(�M6W���g�� ʎ�%�S�$Tu��Y�Є�r<I� 9��2G6}��c�y̨�13<��
���6���?��
Ȗ�R�?�R��J��g���/�}��� ����FE'����B��;
@u��_���#����X�D9������������t�j
3C�l�
.!#:!
+p�%5Q���$K�,C}8��u�&��z3��6�����I�4�.�CnC����a�+��N=� ^u.�?Ur����ɪ���%�
�M�
��
+
�{�Έ"�
x`�L%Y��z�%,��ˤ�s�-̆(ϋ�j
U��
M������o-�x\c6��l*vI#�Fqۓ�E�
D�ʄ���M%��
+ݺ�m��Ca�~�A���0�kRaȾN�
�J�A�Ƚ�l΀�a�Nj�m��;�(
��:rh|�g at xD ��w��͓�$��Ds'Ye��
_��[�?
�@��!����c:�i%�
�G	�ܴ�#�X ���-����A#�;�Cl�ĊB��Ջ�[3
xB!9�V����UID0=f������p|Aܗ�*Zm�(=?�����"4��)c���G�QK�:F�GA�Hl���V
X�R�E��;0� D���10>?�� ����_`�l�ݝwy�e(J���/�	�i2�A
�>-c��u}U��N��ީ羽��?cP���L�Dzs����g� m��������3����1cR��qk�'|���1�
mS�\���6�anw
Ey���ԛ���А�ĵ�R����q�(�!��	x���{�1>ϓ_x�G�y�3|�߅���Qi���i
���C����Y
	{,O]>��0���a��	����[�1zF�
F$l$.�c�_�p̻D�F

+�
�$�
+D����<W�?�7���Ar���ƨe#0Q[�hY
5������>��H�+=V�
+6���X�����ؗ���^��������4�!C���f�dp�T����P�	���T�UU{ͥ-���TY}�[_O�p��/�lk	�*^�(U��^(�ˋ�0�,ƣgql,������O�:�Z��;�l�骪��l�ۡE��Y�(�fy����L������E�X���h�
$,�f�7��ʞL
+endstream
 endobj
-9171 0 obj <<
+9143 0 obj <<
 /Type /Page
-/Contents 9172 0 R
-/Resources 9170 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9043 0 R
-/Annots [ 9177 0 R ]
+/Contents 9144 0 R
+/Resources 9142 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9140 0 R
+/Annots [ 9141 0 R ]
 >> endobj
-9177 0 obj <<
+9141 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9173 0 obj <<
-/D [9171 0 R /XYZ 90 757.9346 null]
+9145 0 obj <<
+/D [9143 0 R /XYZ 90 757.935 null]
 >> endobj
-9174 0 obj <<
-/D [9171 0 R /XYZ 90 733.028 null]
+8805 0 obj <<
+/D [9143 0 R /XYZ 90 657.608 null]
 >> endobj
-8824 0 obj <<
-/D [9171 0 R /XYZ 90 528.7053 null]
+9146 0 obj <<
+/D [9143 0 R /XYZ 90 643.233 null]
 >> endobj
-9175 0 obj <<
-/D [9171 0 R /XYZ 90 514.9806 null]
+8806 0 obj <<
+/D [9143 0 R /XYZ 90 431.01 null]
 >> endobj
-8825 0 obj <<
-/D [9171 0 R /XYZ 90 315.051 null]
+9147 0 obj <<
+/D [9143 0 R /XYZ 90 416.634 null]
 >> endobj
-9176 0 obj <<
-/D [9171 0 R /XYZ 90 301.3263 null]
+8807 0 obj <<
+/D [9143 0 R /XYZ 90 192.456 null]
 >> endobj
-8871 0 obj <<
-/D [9171 0 R /XYZ 90 89.4414 null]
+9148 0 obj <<
+/D [9143 0 R /XYZ 90 178.081 null]
 >> endobj
-9170 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+9142 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9180 0 obj <<
-/Length 2242      
+9152 0 obj <<
+/Length 2114      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S+�x��]��&E����Q�.���%�fK�Z����g�!�!G����(����9g���d��GfϔP�0.g������.������>�����k)fI�l��� 	���j�~Nbf�$�����yTl�����<}��7Et�}r[D���U3�dUW��.y�
�X|X}w����0�(�B*P���}C��C0��pGq�.��pDH�㛓<^�QY.�T��ja�<��Ҩ����q� z
gk�bD�9�2�x��
��,�$֌?_���g��w���.0"�����S�^��.���in�
B����/���
��(��gU����4RF&���⺵l����h
V!
Ӱ+4AXp:�
J�"��ńvL!���B�V�JGj�V�X�/��ْ���&�%��A�5_�
-��9�_�$gj2h��R���)-����?���<+��oo��G��Lj�6��[�HCNu���)�i���
��
�tG�Œc>�C(ƏI��9�c���i�|��R�����
��x.����@yV �0G�ǿ�t���߿�Ǜ�Ov�!�e+�E,a
���'Y�d1l]B��wi�N��:��aݒ(�`L���
^�t�h����8��
*����};��-��4���(T[
�r�r�0���}�
��_/�C:O�f*�3('`q)�S'�[�NUK5��v"���,��<�&R'f����gk� ���1�FU�&��a[� ꛯ^f��Ζ#Y�����v՘4ɀ4����]�v�M���2�3�+
��/������
� ԺZ�e�jܾ�AC>�%b���.�
-vu5O0E�A�
���Q��
(����^���C��j/���Q��z�E`߂Q�]
᜔�[�z_ƛ��6�^�G
-:jUa(x„���}�	kvd��I�
Z��[��tߨB�X_��>i
V�����mʸ;�]���h�
[�1�
�>��R")qS�^=��]9�!�S
jq�C-�U��6WWi��U�7qQ��H�A{��-�Q���
�)2_��}�D*�'�	��� ��W�p����*���,�� ����.���y��
"����
��	g�mU�mf�4uI�i�v��~�p%2�~
pz�@C_�’Y��)"B���<#�7��W ����е!��3{�ܛ���3<�T7�4����crJU�E(�>;�
-F(����[ sN�|}.�7҃���E�<i
�8g���8�W%贻�%���
- n�m���'�4����9�H`���A�w
8���A�v>�'�#��R���9 �8 ����H�V` �v���
Cx���-I��
���>��<
a
��� �kN>��k����
L���~G�E��Y>�k������5}�㸆qg�ga���f�I�td����y
-H]�itTc�<o�
-�^�|�uP<���L�(�O6eǖ�L?-�C�#�a�I�5P<#ԓ'��G5�LB3V�l>塡G<Ԓ}
����ŏ��xO	�
��E����
ŋc(��
4�&�����Aċċ>�C/ ^x 
P�$�
@<o��x� ��x{
���׶�t���|]vTO��B�rC��y�Ӏ�:
@�䊩�S��#��蜕��ݯ�
-	��1�ڝ�KpCKn� r��}�����j|�H��qaQ���>*��W⫾;�@]i��D�����z���Ǚ
�sm|\�P��`ڇ�?�վ��g����-�8|����0i�i��l���%���N��}��n��
�鴰��Vz��I�UwT|
-0шKݞ��ÁM8
mDA%吾��Ou��TX���B�'��H�p��Ⱥ�d
��(M67Q�@�P)����X'
�Q���=��Lf���L�
���
-��	�x���pQ�
å�wy��=-��";h8�������GlzCc����+�����s4+zn��+r��Т�n����$�nWS��OQ~�J5&�� ����N���O at S����B�o�홤3}{�K�@��0������/
�[%P��a N��
���?�����Hj(��;+áNAGo>]i�����۴s�m�5�.�����q�ۅsg�Q���Cp�� ;\
�b��˻8
��B��
-0�g���g��χ}v
��M�T�ݎ��=�W��������K�ϒ]���r�K/�z1ۙ�2S�[vD#]<�3-!� ��u�ؖ�m���$��m}��m�U~|CV�endstream
+x��Y[��~���Sc��H�r� ��N�i6�f�A��b��i[Yr$y���{(R7�c�&�
P�I2I
����� �L^\O..�(HP�8�^	DL�$�^濾�(��c<��<M�Mzs5�xZdwjY�7���2-�s;��R�[c>�W%
��_{qI�`3Qĸ U����KF��h��+��z���|uV��,��YH9�^�:U�m��ʎ��V��9U��"��4��:yu=�uB@
H�(.��x��L޽��ƿ
0�K�ͪM�h�,x;��;��G�/�1
���3�:=ݨ�8o9�tq��	�!<1�V��}zq���I[]�9g�.�K�n�.ܔ�����`��}��v��-f��\@����2!��{�I�u�p�
+� �yo�vaN���w��v����(��P�QT�X�;
B�Q�]X^�j[�"�Ȑ�h؈���|��|]�ݨ�,�S�	���i��f)��T��3��6�6m�Ɩ̮@S;S���%�
Ҋ�d�쪑��I���"5#|
+^P�Y�d�y4ݤ{��m�h�e.�K;۩FA��l��H
�H��6�
��#��p�{�B�pU��2$���)܁��:Ĩ�*�8
F� $�p�O��@$�;��+	��o��u^���
ld
���>�.rhk��(r��  ����.E��,� "�S&v�:�f��x�/��N�����{+G������"
~&^�6��]1F�d�mz���IbH2֮��F����~���-�Ǜ�1�A���e1q��_= %Q�_�����\}����׿x�Ip��"G|��W��3���ga
ȡ��L/t���!�I���S���զ�w.����N��e5���7hZY�ؼ6˒��Rx���E�:y���scqp�}
vKR�8�F ��T�:_[�na��o����� �n� >��o���Y�Xһ�)��5�"��;p����{])dh�Y��R��R]W��U�:(�C�wK[�?���'��^f

�G�d
���Y��+Rfu������α2�XoY�Y�2�+cq����2�X��cR�[RƇ���2ޓ2>"ePX��XRD�9Y�����z�����Iw �V,�<H�!�
+�� D>!�����8F�$��C1(�E�d=�}<"19�/@�~�ך�g
+6�W��4������ͪ9��Ɔo���Ϗ�}2���س��D	#!�^�����Ec�5������.t,�O+p
�ƅ�GU�ʼ�	���"u�S�
�A�d#wU��3W}��:4�C*E�#�

%�ۡ6�~N
���b${$}�H���
gOˮ�ۄ<]+����OT,t>c���L/o��ճE#�p��Ռa$�N�����$Opp|��ɑ��b[d��!Թ)� з��*�r5Z�-D��ۭ���1��?�����J�T=��d��i�S�c�L@�
�!-}*CT姀K��L`����h�1\v�壥���[֮s
�	{
�sp
����4n�=���7?&"yQ�.�'o�ǡ"�#bɞ�t>=V |"�8V����i��H�6�������7#�=�a�
+wV�6���������mW
9T	����ejo}b�\�U����D���6�� ��*���BY���^�RAh�k�	'�ReZ5�ks���a6�T�Z/�4(�[ �(;�`�y٤v����
+�>FRc��Y��``�ʝ�UYl�۟L�
+>�K���Ue��Z#���m5��|azY��(�
�Lb}����O¬�[
�ƣCBƼpJ]�m���u���� �vNbP�����H��a�n�k�t�bX�O6�
��Bn�O���_�S�
�F;��,��g3�H�Qh�G٣�|�"A��Q�R��
Ȳ� �.���Ηr� ��!�>��lc�(ۻӘf-P���l�d�R���h9��lQ����$c ?�[9�����*7�"�	 �"��/|� ޖ��]xeT1���l9��鈫���J���8�:�ߤyg�a�֪�/�A��m�HdX�å�J9K�y�	ڷ�O�b�+Mq0ӥ�]]o����hQ�]��%���v�]
W�^
+�,��_�N��mF�0�I붅5
�ȹB�
+endstream
 endobj
-9179 0 obj <<
+9151 0 obj <<
 /Type /Page
-/Contents 9180 0 R
-/Resources 9178 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9043 0 R
-/Annots [ 9187 0 R ]
+/Contents 9152 0 R
+/Resources 9150 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9140 0 R
+/Annots [ 9149 0 R ]
 >> endobj
-9187 0 obj <<
+9149 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9181 0 obj <<
-/D [9179 0 R /XYZ 90 757.9346 null]
+9153 0 obj <<
+/D [9151 0 R /XYZ 90 757.935 null]
 >> endobj
-9182 0 obj <<
-/D [9179 0 R /XYZ 90 733.028 null]
+8808 0 obj <<
+/D [9151 0 R /XYZ 90 635.818 null]
 >> endobj
-8872 0 obj <<
-/D [9179 0 R /XYZ 90 524.6879 null]
+9154 0 obj <<
+/D [9151 0 R /XYZ 90 622.093 null]
 >> endobj
-9183 0 obj <<
-/D [9179 0 R /XYZ 90 510.1176 null]
+9155 0 obj <<
+/D [9151 0 R /XYZ 90 413.696 null]
 >> endobj
-9184 0 obj <<
-/D [9179 0 R /XYZ 90 289.6076 null]
+8856 0 obj <<
+/D [9151 0 R /XYZ 90 389.327 null]
 >> endobj
-8873 0 obj <<
-/D [9179 0 R /XYZ 90 265.2385 null]
+9156 0 obj <<
+/D [9151 0 R /XYZ 90 389.327 null]
 >> endobj
-9185 0 obj <<
-/D [9179 0 R /XYZ 90 265.2385 null]
+8857 0 obj <<
+/D [9151 0 R /XYZ 90 293.909 null]
 >> endobj
-8874 0 obj <<
-/D [9179 0 R /XYZ 90 160.4304 null]
+9157 0 obj <<
+/D [9151 0 R /XYZ 90 280.184 null]
 >> endobj
-9186 0 obj <<
-/D [9179 0 R /XYZ 90 145.8601 null]
+8858 0 obj <<
+/D [9151 0 R /XYZ 90 89.441 null]
 >> endobj
-9178 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9150 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F113 9158 0 R /F8 504 0 R /F1 542 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9190 0 obj <<
-/Length 2402      
+9162 0 obj <<
+/Length 1603      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S+�x��]�]$�nw�t�>%�AK�ŭDj)ʎ���
�Cq��$nEbrx8�̹}�
E&����%2���b{�'w0��
�<���yW������d$���U=�$HPB'��wSB3�9�O���&�6�y3�xZl
��Ln~�nˤ|��r�Y^�Ӫ���<�%
�>\����2�(�B*0����	�!Qfx#��md�!~�o����&��gs*��zf�4��6I�����UZΈ����bʄ��^��n
��Y0I��x�O����/0�K���`D�������l.�^����=�_���S�&l2)*LTJ
��VY,�p��6c�&�JD$ӵ3^}\��*+��U�S����^���Vzh�QA,R���֌}��������d�-o���M�j`��H
-�H̨�1^jh�����
Iׁ1�벘Q1}�]Nd�&����1�M�S�I�dz�#�ϻ�I����E���wɢɾek�C4�m�(�A2C6K�|�����̳y�5Wk�
1�!C0k�P��>����3��:�yR��i,�(��t΍)=�Z_k��6Ӽ����Y5���M�,��Ԯ�Mt�t�P�I��K7 ѯ�V�ld�ӏپj�Iܟ���e�<��$���2��|��{�Z'��@[�ߵj�p��+�D��q7̡/!�+�)dͳ��
�ɴL7Y��אE�X=�
ع�vM�~����c0谨e�%�ҍo�G7r�<�۴��^�Y��` Z�-�ZhU[���O�w)�X��"\
qU�W�z!�v_<}m}]�M%��h�/�m�.@���*�)��$

��V���Ħ��FqP���ɜB��ҭl�Ԡ�������B� �����	���4�yGr�	wxx$�G#.[�����ѵM���h�;g���
�}�8�~n!��l
Z��Ḓ�#���#dG�b�S�ٽ�� [...]
-�6��oN��/��� ��߬j�[lo����{�_��X�;���E&�ͫ�;G��G���/�~� c&ԛ���"kԈʶ�A#�t��aq�={����C���(�z�H�Y��O)`]����o
	@1�q(Ў}qT;Ȭ	\�K)�!��)k���#�b�c���Al�؆�w��"
s�m�5� -��8��J�f�
�=J>y�S>B*V��/����_F=rܿ
���_c>c��ܳY
I%���Oٍ�3��*�;�y�/��.�2 {Qp�
v"E�Tt!��E*����"�����"��ܦg�s!�$D�f�[���>	Y�����M�
���y�fP�
-?+�B��>+]�Ӱ€����a%�|VV�a��<X��V��a%0�wX����
V~SX�&�m�{�$tE��	��b(B����>	E^��J��E��gp��
|�Р�+^�����#���H�LG�2�&��:K�ܜ���7�����0R����`
��ܚ��z�FJ��ꐗ�C^��X�|y
iWe��a�Bi��*�
�
���gi]]3�Ng���^@ǩ
��
u(�g[qDG��?����e�8���=;xQ���c��u�X7�)T%%a�X$��wlQ�6G;ț��+���ݡJ�'y��E+2�;�R�y��
 \wt��
�4��0�=�ĹG+�M�@?�@�
w at +5�
C�$5�{�C���wsYq��u6�H��P���9]T�l$M��k!�;M_�,
-#�>k�UWl,\^, �@1���>��K
��U�H���W̴L�S�b���;�-b0�?CwVGj�W^*@ž����5��

�
�c���O�4/�Y���R 蔟˫�ؘ��X���X��Ψ�RC�A��]%Z���|_<�V��;�mï9t�I4 T#-ș/�]��h at 8Ha��M(��
ˀ�'2��}�&t�!�M����&40��d��vگ�B8~�]�!زy�
fBg��U��-�T�~��
5�-���vtj�ea�#�цp�U at 8_Dtb!�x_A1�Zc�z��z���Z
-ػ
6ܰ��3HkeZ�����[��2nϜc���V����`J픵�j3o��btȫ�XG���a��))c
J��~�V�
Q����"žD�ߧ��F��f�=�hn�A�?=�O3�Ϳ�i�ǙӦ�����Wm{^��<�J0�
j���i�w
U5
P����O��ߏ�l_�w��0x\�`^��uU�./

�b�y�+QV]�v�˾]̂
�D
	ܼ�x�i���L�ڲ�e[���E�&�;={l����+�;=endstream
+x��Z[��F~�W��)���ڴ�C�$j�J�	}J#d`	n}��	9������!
�(Q��k{w������y�`�������d��<I�3�8
v�$HP�����1!�y�)���'��4����I�����_�
+���>�f�q���=��A��`�n���9!-f�QąQ
+^?�-
yF�yՎ�7TG��D~�$����e�)x<�xt��]���>y�7:�w��<bD�1��
=��� �
RJ(��pV���;���K��\�P�
N\C����>kt���et�+
�W"
+�r���Yd����N�~�I��SJ��YkrD���$	KZWʑ���� I�
��L�1���������i6[&�x�-6E0$��_�~0����'x��Yno_���ų�;@Y$�}���牶~D!AjKjsl at EQY�
��h���m�L"ި�6�C���(p�0T��"`�$���k���8"�wy
G�^���qH������.�8|�+xu�B�;�<6�9e"��%�M�D%g�4a�&*��%J� ����1�#ϭ�� ��!�ރ
+ԨҾ�X�?G�z��8W�=���J�r��l�9���D��@��#!-�,_�f�%�`��`�����H�yO��ܞ@^��|�&*Ƈ���8E��	��K�^]��]fi��u ��L��*�v~
,C�RmJFR0��r������_
/uh��/��.F��a�M�p�0�(��`Iյ@�b�b�z(,n(|M��(,n(��P8�?Q𯙊��]s{tͫ!�%JƸ��'��Rx�4�P�
+L6���[{%��� ��G�8��9 �
�"H`�3e
GBʮ3-��rko��G�����B��Izq����ɚ�u�#^�N1Lm�2
[�̪�h	��f5�k*��'�] ���`�,x_ �mMK&u�47�\|�cKa��)ۭ����-O��{���6Xm�hu)d$�F���J�Ϸ��!�&>�����ᾚ��*"��>���#ϓ��\+�vP���",h�S��1؄r֔�R��@:���C@��c�I���k���4˿�*��x�S��מF��ڱ���
T �h3O�C��
(�>'��Q��,8>!��ed=�=# �G�u�DA�$d�k�J���F�D
Wh��iRe�fIoc%jW���@yk��X��j��K�=��f�V����#&��&��J�x]%'��LIn��)s�"�{�m%�M���e��U�Z>�M��::6�CY��$��=-:
˕�� ���C
�Gp�:�:'�3b
4�؅]�
��4vhrhR�֡�MY��q� [...]
+endstream
 endobj
-9189 0 obj <<
+9161 0 obj <<
 /Type /Page
-/Contents 9190 0 R
-/Resources 9188 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9199 0 R
-/Annots [ 9198 0 R ]
+/Contents 9162 0 R
+/Resources 9160 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9140 0 R
+/Annots [ 9159 0 R ]
 >> endobj
-9198 0 obj <<
+9159 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9191 0 obj <<
-/D [9189 0 R /XYZ 90 757.9346 null]
+9163 0 obj <<
+/D [9161 0 R /XYZ 90 757.935 null]
 >> endobj
-8875 0 obj <<
-/D [9189 0 R /XYZ 90 583.1687 null]
+9164 0 obj <<
+/D [9161 0 R /XYZ 90 733.028 null]
 >> endobj
-9195 0 obj <<
-/D [9189 0 R /XYZ 90 568.6221 null]
+8859 0 obj <<
+/D [9161 0 R /XYZ 90 637.302 null]
 >> endobj
-8876 0 obj <<
-/D [9189 0 R /XYZ 90 466.1147 null]
+9165 0 obj <<
+/D [9161 0 R /XYZ 90 622.87 null]
 >> endobj
-9196 0 obj <<
-/D [9189 0 R /XYZ 90 451.5681 null]
+8860 0 obj <<
+/D [9161 0 R /XYZ 90 521.639 null]
 >> endobj
-8877 0 obj <<
-/D [9189 0 R /XYZ 90 349.0607 null]
+9166 0 obj <<
+/D [9161 0 R /XYZ 90 507.208 null]
 >> endobj
-9197 0 obj <<
-/D [9189 0 R /XYZ 90 334.5141 null]
+8861 0 obj <<
+/D [9161 0 R /XYZ 211.842 264.816 null]
 >> endobj
-8878 0 obj <<
-/D [9189 0 R /XYZ 211.8424 89.4414 null]
+9167 0 obj <<
+/D [9161 0 R /XYZ 90 250.229 null]
 >> endobj
-9188 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F115 9194 0 R /F8 523 0 R /F1 573 0 R >>
+9160 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9202 0 obj <<
-/Length 2456      
+9171 0 obj <<
+/Length 1927      
 /Filter /FlateDecode
 >>
 stream
-x��[mo����_�O�
D�}q�~hp	���%�.��(��D����;��R\rI�>�@〻%9ܙ}fvf����0�!3�gJ(d��������w�~��狶��n.���bf��T�n��
� A	�ݬ>�	A�\.�x����yRl�����w���tU$�?dwER<]_��Y^
Ҳ���<�ܸ�t��շ���QFR�qV��H`��2�k��"���s�qr�o6��p���o.
����&)Sw�t��D��|	�b΄��^��i��qL
�.>~³������=�F�:�^p������ŏ�<�A�B�]��s�E�R���C��Y���Msed|��
��i���P�\�=!%���1WpD1���n���{�Т
iL�V�]Ђ[<S�
�dpeV����s���mcH���X��.?���,O����罋��!�������F�
UX�z�ԾY�FT�__.���ov��g��2K�rX��v�w�ḿ�# RC$�
��a� �PC% ;[�&FB��7\��B����OT9㸍(��,�O
-���<-�rW���_
-���͌�&
+�?q��(p��	�D�k���,�@�|r���VH���JD!I9���)-�E~�����CQ�42+����l
��t��+7��'7�G�۴�V!#�6��,bG H��
��88���t�e��ɴ�nDz�O��q�;櫴^��mk5w�f���WZ#�G X"I�����[�j��Y�~|Ȗ�^��;%afZ&����� �Z��诮~��b�l����������)�
�"�,��FR�I�9�ٷH��CZݬ�?)R�%��c��P��j�� �J��"^#�Т-կ���.�<.�@�(�r��:P�J�#�]��H1�8f@ϐF�oI'5A� L�fm���*� 4R}��G�'��zo|�l���Ʃ
w0��*�v�߻Z�������˲��l}�U��[���n#	�2
-��]-�1wy��D������W���;�R6��Pq���m����m?��0i��Zm�����w��
-�5��K���‚�Pq��*�w�,U�4�b��«%6����+�jnl�&T{���0�
��������γu�x���J��fu
H6�]GЯ�l���S��-6�kڹ@)�@i Ŏ+�R}�a�ھ
١ҿ?�6��3kR�C� .�i�:T� �?f��{P%cxN��}���)���
�6���fw8�s{��3�<�BOV{m�{Б���a�^�`赃�}`�
��
�55�@[j���x�y��-�#m at L�X�u�=/V�Q������E��V�Iq�>/{F���Fi��Ƅ��
Ipuh��C��y̛�
)�1��3���u�!�PA_v�h��M�*m7��r�p��۸0�-(����I���s�x�V
-Ԝ�lV$�U��
8�n�ȼ�
j'��y���\����1��u�
;
-�9_ǚ~
{�i�ZC��	F��Jt����i�'7�m����
,�tX�!/}��?KæLN��Q�A�$B�0����}d:
]����ݤ뺫>�����
�:9�F.�
L�i��76��`��l`�{6��
�f�
dx�
d�
B��J؈]�n@������Y����p*�R���(}i{�W\�
M
[*�!&�E*�� l-� }M�NYR�6#g�tp�Ud��ke��׶ɻj�m���p�t
�tD�s(*>Ya�fԍ^Uc詌yӢ,�PFM���n�|Ѧ|U�ӍkT�
b��(��U:R1t֔C�#a��0tYn��E��L�4��)'�q[j�5f��rŞE��
�{����Fl�&�D����i�@��i�:�?�&�y��׊S6I�A
B�B@����bc��bA��es.�R���;�7q�Q|6M6��Fಝ�z
-���\^,(�]��lB���+��E5���g�d�
R2"#���F k�:u=$�t�M��R}�
��"!�
U�6Q��u�)�}&cB$
�z�,����U�ل�gS&1�c1еb ���(�QDN�IϘ8e�L�0eB�].3��f�G��˭��GaFYA�*��ѩ݇g���E�u��n�N)�D��z
cb�6�P"�u��h{5@��
%���3	����Z�3�-8�(���
�_���dA��^�z�ף��~c=�X��$�A��z�o���s�h��Ƨ��)/�S^�'	e\5�K�/��	n�	��[B�-��70x�Q?ҵw�7�^j��[����*��8m���
��3a��}x-
)��D��?R�M��I��v�n���Bk����74��j���i�ե�z��5ɏ�ƍm��>L'���Vd��H�.4TU?
R!@��?g~��:��7<pZmo^�懲�__]=>>��
�l_�����7W]��ݾ\�1�-��-�LK�
�wۖ�/��]�$D���~P��8�o���	%=endstream
+x��ZK��6��W���@��C�H7ȡA4M�m�Ei��mz�VW��l}����d{7n��A,Q��p�ߎ�s�`���Ǜ��k�
���¹Y9
+;� �S��,��cBS�)���'��4�o�'���~����.��~z?��� �3��{�+;������۫ׄ��QF��=����n��C0�LU;�?�P!."�&��$����e�)�x|3Qt��M��ڮ��+�N�
�xK�p>f���W7��G�`���
�w���'�,a���A_���"ǥ
~C����.����W�#'$��(CXp+�]��z��5�ms����Z�p
+�Ƒ�9���<H`����b��2{f�Dƻ 
탹���N��X/�j�.�7Ɯ�2I�E�d۴�ܬ��V��ۧbT "D%���I��I`�T�QR�/�:�<�<3/8S�D��L�+/��m7������?��~��hOm
���	�9Sꂹ�%���Bo�ƲY�݆F�XyX�,�%K��͂x� ~,o��n�8?jC��~�Ns�]l��z4�R��Ч�I�ɏ�v���ܫ#��Y3�dM'_�ifiL� Ξ�F�A�H�
��<���3�gp!+M�ӪGJ�����U{`XN����ͥ4��C�#�ykH�}��$�t��6^��2��4��?����a�?���5�
+a&+�+?�tsF�r�{��m[��1�����f!�n��)$eM�Y��G�d��&S'�"�AP�2	Y �F'
���w=�$r�Վ�Un��q�l!-QO]�
��
DI�jULĐWVͼ�/��K��s��A=pk���7:�#�Q���
+.s���6�<I’��+;$V�d���4;zO3u�2����┞f�(�M�3�a�
/ ��:E��]k?�}eb��,�Uv~gIw�ǠI!�)�{�� �{O��D� a�E��"9�����m"8^Uq��@)"�w�
o������ }_��J�I�D�`dH@��X�P�
�Up8�Qf���:@]i��1�C�ݧ���A!�{P�K1�90�ː�z�n�@G�d,(ĶO�Dcۡ8�/����š��ejk[��'*�
m
+X%�!�=�g4_�<��E��U,�ж(�V�7�u���&
�
��:>��
W�{
�6w��5��A����	������M�
���Ӭ��h��ˤ?�Db�����e"�$�Cj<��$ �D�Ӯ��:F�	u[-cU���f��i+�L��
+%$�w^���f���z��{{��L��K8��j�釽�vS
�F��h‘˼�,9�#*tC;��yR�)Y��'D�̬�r/�J(P�}k�:N�0���֑����>ޱ%�q~F�lu�A)�M�� 6QZ0s�(U�A����d}ȓ�u��� ��O|!�#�� �\
+�K��G�<�4�#�}�/I-�4�ظt�U�4��8���ILmH�}�E)6u�47�^�u���hZsO=���� =s7 � �1�i0�� �P��E
�_���
�w���
���X��ô��^�&�`�L��0��o��F��Ω�
�L�ޟ[:�;	������5% t� �7 /

+ �#`ݴ������P�=��F�o�JuY;}�)�'����O��?����<
?�G��7'���;�eBTqRMsE����W�\x`B˼Қ�;�����J1˅�z���|x�
q��I��r
��,CT���nȵ���SS��|����G�op�w	!�̕�s��8W�sƹl`���湧a���sƹޱi�:2��. ���$�?�L��#��i�����:��?��X��]O�
�!�
4�����+H��^m�6M����m��m����o�N��pH���?����6@�~6�6�X�A�E��U�4�x�A���x9��϶�6BS� ���������j�ۡE��q�IQ�_m6��al���
WU%i]ra1*jف�į�
+endstream
 endobj
-9201 0 obj <<
+9170 0 obj <<
 /Type /Page
-/Contents 9202 0 R
-/Resources 9200 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9199 0 R
-/Annots [ 9207 0 R ]
+/Contents 9171 0 R
+/Resources 9169 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9140 0 R
+/Annots [ 9168 0 R ]
 >> endobj
-9207 0 obj <<
+9168 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9203 0 obj <<
-/D [9201 0 R /XYZ 90 757.9346 null]
+9172 0 obj <<
+/D [9170 0 R /XYZ 90 757.935 null]
 >> endobj
-9204 0 obj <<
-/D [9201 0 R /XYZ 90 733.028 null]
+8862 0 obj <<
+/D [9170 0 R /XYZ 192.853 628.477 null]
 >> endobj
-8922 0 obj <<
-/D [9201 0 R /XYZ 192.8535 472.3321 null]
+9173 0 obj <<
+/D [9170 0 R /XYZ 90 612.598 null]
 >> endobj
-9205 0 obj <<
-/D [9201 0 R /XYZ 90 456.5141 null]
+8863 0 obj <<
+/D [9170 0 R /XYZ 211.842 371.627 null]
 >> endobj
-8923 0 obj <<
-/D [9201 0 R /XYZ 211.8424 216.9495 null]
+9174 0 obj <<
+/D [9170 0 R /XYZ 90 357.128 null]
 >> endobj
-9206 0 obj <<
-/D [9201 0 R /XYZ 90 202.5112 null]
+8864 0 obj <<
+/D [9170 0 R /XYZ 192.853 89.441 null]
 >> endobj
-9200 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9169 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9210 0 obj <<
-/Length 2300      
+9178 0 obj <<
+/Length 1688      
 /Filter /FlateDecode
 >>
 stream
-x��Z]��}�_�46�����C��h� ��y�,��Q+K�$g����I�d����	�X`G��y/�=�Df����3%Ҍ��j{�g���+�/���o�۫�/��i�%���Mۃ$HPBg���sBӋ%���.���6�{��x^�G��һf�UZ
nn\sV4�i���ɓ��a�����/	�9��".�p�ן�� ��2ͽ��w�^G��>>?��_�K*��v���lwy���٘jA��)V�Ĉs&����ێHϳ`�X�z�����WW�J��	n0"Z����Sn�wW�t���b��-r��ْq�H�ẙ`����2�����j5�A!E��uf�������#T�?Lf�
ǎ��ر�}�='G�o=��~k��)+w[n��&<ϊ�1��������b��{�jG���*�]u�l��`�Z��b�r�q�;
�E&��;�֦(�YqQ¤&�$\�!�o6AXgfq��B9v�a�$��q
�Ʈ����HH�i�M�7.

��qL|6�<yi�� [...]
-% k��eV���V�}��l��
M0Kʉ[��DP�D���g@
-�h�lZ�cuUsp�e�Y �%;�u��l��}�/�6S؛MUn}���\/ 3���&�
��w)<V)�i<�]�f_�g7���%�=E��:�u<6POI�Fo��
�y����^�>׍��r|�ђ%P;��ì�0�"�%�˄
Gnn6���M��ܺF��q(�K�!���^1�#M���=A������$,�Mnsؙ"�Hɓ�.CJ��N�� �0Dߗe���2L�F7�
�.�O�c0ߟ�������[�T�*���ݪ��� ���

��������
Ȧ�W���Y
�5�
h<D���p�ˡ����G4�s����ϊ<+̇�j�X��:��@Y�����>u�g����i�KY��Z�˘׾��
MY�^�D�T�
�A89�6���)����
�#º�r��H+�C!-B�j�!��K���a�։w�E�m����.mf��&_(l a�T[�bB�X���	�	l�
��%�Tؽ�ӘZ�����v��
� �/���@���}�n��)D�T�3
-Y��`tR�r����jZ���N+^��%ɋo����
��+�����$#ϊw&�x`N)�A
�Ŕ�
D��ŢaB�F�
��B�<d=�� c`E��B|g�dZلQd��D�M!�E�1��κ��`�&5
;lSNq�3����G�f�P��d?��ר�f�ә����n����?�4�bk�b�����40|�'EZ2i�H��ԤHc ��@���j4�w0��P���Wk
��<���EŚ�a%�b"�r�[�h��h�'�Fc�40��>��d
��h�Q��#^�٦�FSf_\ ��0tO�X�GZ�jC�=m��^�����jLР��Kρ
����u���Un�y�H

�k..p�1���`��`{>\��M�G��u�]����V�'k �
-%���}��5�Y
-�������28BZ�٧	�IF���L\h
��^���
-|:�zV����reD��	�I�;�Z��oJh��
��	��S�e����}������ꊁ��g�^��׾�
�����X5��a�%p���y��}
U6r�:�f���
��@q�_�
��;�!�C�Ϝ��Ng~YM+��s����?B��٧ɋIF���L\^
���E�.#��
-��
GF�[�IuA�Y����
F:O�����rW���a�.�#վӷ&�
-Ŀ̄id���7��D���
~�-2�D
-�_}��~G'K�@(Jd�!������;om����߆��n}t7��M��B���_�E��
-�%���V�F��m�E��5<g�15TQ�T�A��f�����~���"|~�<�Q�v̏M����~zzB��lW�������c\̦
����-;���,�Hi����l·R۲�>��m�]�(��R�@�Ux�endstream
+x��Z[��6}���/-����"�t��Lҙ��Iw��f<�-�i18����'$����s��.���]�9c����ϣ�f��'
sx�sf+'����8����%�`<!c�٘`7�6��٘b7��k������mf���
GI����ѷ�T�W��7O9،2���`J��fJ�
�eA5�ً�UG�ԋ�8�ȣ8���
+���u�f��2#��Jec�*Y�#B��cz��������2�!e��D�	g��|��%�?u0��wv嬍�)����b����2�=qt�P��2��y��T�A��׾��J�
x�q�;���0�&G���6Mc��Ջ�r�c�[
`I3�ӛ	���ܙ��@��n��4�ީt��,Z�q��/J[���^S*a�i�����
a��s�kf�=C��
Kp�C�mb<6Λ��1�&�/�$���L�094�!$G"�rs�sU�gI޵0C�4��ݫ�E��zդh�2��R_p7M���ʻ顫�!!E�+f
vp�u��(4�UMf{]RB��(K�t_ ������(������ҍ�B�g}����n��%j�uG��S
+zT����J
+�i
�U�}D@��g��X�%QnS穞�LX !���
MmUf�>KW�ښ	W�e#
�]�$D O\%� Ǥ��JB���]&�
$8���Β��oj[D�2�ֽ���ĺ1�&4y��N!a
�(���<���u��i�
@��p=[g�
+w���u� ��)ܞ����
:��!���/!��-f6����!��(Y��mXD����
+%
I��2+�f��cO���A�(�����+'�ud�`��ŭE%I[� �Ԏfc�TUbAG�Ŀn+�M{���������'�%$r�˂��$�@J%Q>\J��R�A�Nrb�༭&�C� �
�sۤ
�gt]!zy�eջ���=���������VO�A=
䐞��,�9�1j�c��	=ԭ'$⾼�j3Z\��<�ڠ��̷E���L�!]!t��奍�.�b�춆��]�Lk!cX<�
+!��r�^�
���U�c	���*�#K�����+�;�
�\�����^�}>1Q@���/SrH��* o!
+ć�3�OB
X��� #L�/[pn��2������dE�͉�� s�`��<���u�H���ɢh?�����A�A����V��FTd��{�h
�ί"M��eOƌ��я�}sxҡ核.
+�
2
+:u@�P�$�
�T�
I�,�-/�m�w�	ꯤ�ffJC�� �b�@�|�p�I2�1r�[�Wn��ܒ�炢<��&���(������
#}����瘪���8�!{ό�a$@9�-�+N���+�\�q؅�#��?e
ν3�C���C��������;!&v�Q��#��|'֊�0Π��T8�$�f�8=�Eź��
��,�_ u���ϯu=/�+����Ƞ
��GF�u֎��x%wՑ@�S���ik0� o-<�X����ALېE���
$C�
G�����|%�c��q46��#O}���/Ў����ҟ��?sK<}��۟�� 	���J�Q��X!��h��|�#W�wc!\�P��Iy�]�H�:�U=���f�0
H���/�����q��_Fe��)�iR�.����f�ۡE��h�����n�ӲjV�:�֕f��x0��%0�)��$	��&OT
+endstream
 endobj
-9209 0 obj <<
+9177 0 obj <<
 /Type /Page
-/Contents 9210 0 R
-/Resources 9208 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9199 0 R
-/Annots [ 9215 0 R ]
+/Contents 9178 0 R
+/Resources 9176 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9140 0 R
+/Annots [ 9175 0 R ]
 >> endobj
-9215 0 obj <<
+9175 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9211 0 obj <<
-/D [9209 0 R /XYZ 90 757.9346 null]
+9179 0 obj <<
+/D [9177 0 R /XYZ 90 757.935 null]
 >> endobj
-8924 0 obj <<
-/D [9209 0 R /XYZ 192.8535 580.2003 null]
+9180 0 obj <<
+/D [9177 0 R /XYZ 90 733.028 null]
 >> endobj
-9212 0 obj <<
-/D [9209 0 R /XYZ 90 564.0959 null]
+8909 0 obj <<
+/D [9177 0 R /XYZ 90 592.843 null]
 >> endobj
-8925 0 obj <<
-/D [9209 0 R /XYZ 90 403.1429 null]
+9181 0 obj <<
+/D [9177 0 R /XYZ 90 579.151 null]
 >> endobj
-9213 0 obj <<
-/D [9209 0 R /XYZ 90 388.5726 null]
+8910 0 obj <<
+/D [9177 0 R /XYZ 90 433.46 null]
 >> endobj
-8926 0 obj <<
-/D [9209 0 R /XYZ 90 228.2423 null]
+9182 0 obj <<
+/D [9177 0 R /XYZ 90 419.768 null]
 >> endobj
-9214 0 obj <<
-/D [9209 0 R /XYZ 90 213.672 null]
+8911 0 obj <<
+/D [9177 0 R /XYZ 90 314.802 null]
 >> endobj
-8927 0 obj <<
-/D [9209 0 R /XYZ 90 98.946 null]
+9183 0 obj <<
+/D [9177 0 R /XYZ 90 301.11 null]
 >> endobj
-9208 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F74 478 0 R >>
+8912 0 obj <<
+/D [9177 0 R /XYZ 90 196.144 null]
+>> endobj
+9184 0 obj <<
+/D [9177 0 R /XYZ 90 182.452 null]
+>> endobj
+8913 0 obj <<
+/D [9177 0 R /XYZ 90 89.441 null]
+>> endobj
+9176 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9218 0 obj <<
-/Length 1977      
+9188 0 obj <<
+/Length 1603      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o�6~����f3��%XlE;�ۀ�ɞ��Pl%�fK�,7ͿߡEʺв�&mQ
y�$
~<<��CRd��


*��a\g�
�����<��'u��.g/�d$����I���/�oG� f��1
�
<��U4}=�x�-��<���%Wy�ߝ������ą�����9<��|u���Zc�QąT ζ�}i��C0��pg��"�pD����Qϗ�f3�P�G�cCG�j����|�&���1ѣ8��#F�1I�����*�.�~�a�w��

�!ޯ���n0"���j�)�7�����O����p	�N/�����
1D�����8
����+���Π�[�i�����C!9�L龱`�b��U�-����֘��лQ3��i8� <��$��
-vl�m`S�	\!��
�b�[;?�y2+�w�Y�Q����


O6Ey{ߙC4GZ�O;s�)-�jZ(m���
����9�6){\v�4�;dq������$�ߕ��և�*����D!I!��o�b�C������ȷq�)��1q6�u	5J��E�.��+�S
���<���Mgn<��  B
db;X��5�R�`%.W|
-U��y;LI�@����A���jH0
���hREk�lB�b���6Kj�0�� ���Ey��Ѥn��9�*�	��AD(�k�ŇY�.Ȥ�v�S�%��; *�.�V���&L�Z�b~~����}�L��(�ٮ��2IK����`���
I�
0��<S1����L�L� ��ȣ/X�~�J@�4麡YbTO�
1R��q	����2���$�,[��"�Z�~R�,/M�	Dy�?�n�`�t$]�0��Q��& ���xs��Ѳ)��	��sy at H)���f��֞K�jN�g��M
8!*����6I���������Q!�X�Z[Vle���I�j�s{�u����	q�}2�>��A�$��a=�5R,\���޺�l9Oқ��*.n�8m��.Y�6n
F���<I�pBCB+�p������b��f��2J�c�#,�h!��nuXqȥ�X��8��{��"�8����7"{��	+NL]q\m��/"��<Uz�f����gv��u*k)//G%���
-��
Ꮶ!�b�jok����r at C 4q
� 9,!�{�7A	����J��C|�rS
B at A�u����� �[)����a��T#�
=Y?M��GCX=���ģ/{�h#	KG
ɗ�
}�$$��'�
A8(�Ԙ�!>�p��
��.>�W���ɷ��a倩�'�YH:
�0�O���Fa�?�t�Gؒ:��������V��W�0��1�[
VF��(y�z���~Tf�ވ��&,!
0_���pVI����IW� B�!�O("��0�
-�h�����c� F�����'�
a�X�4 
z�)Pk���XD��t���8
'oHs�*9�#o^d(g=����\%N�,(��#���P�� ���W9�1hwd��
-�aɤ��Nrʣ�_Bg(]��~8:��[�D"��:v
ә���?�)Qp��F��
-�D¬{���j�	 2�e�J���F:��(o�U)�O�Fs���;h
�{
o�J�I�l�K�du*������G���U��8CJ=g�޲C�̝ˏ���cfEőS�=�ӎ����&�ϧͳ��	�EO�	ӎ���z�GA��W��NX�q
-cq��i�T�8��Z3
�����<��W�a��S��(��9�܀
)-U+
�6�
CB�%��m�n�=ea
A�(tF+	{�/[0��`
�g.�IM8o8,}��G���	*-!X�
"l�R����Hi�՘���ԇB�b�i��Q�B�j!bdz��my�ض��s�ߎ����{�n����[W@������D
ي�.�
�(�,�*�g�~���zaR{�����ێ_��EQ����noo�l��i��QR���˳6.f�9W�o�&�QK#�LK�
,��X����*�ٔ��p�[�wRhw<ԅ�E�.endstream
+x��[��F���~jA*�s�
j*�Q5m�t�>��b/���f���
{|�f0����h���p�\�93����λ�/���[�
���ҙ�9;�$HP�L}����hL0��#��^��fF���2�o�{x�x��db��(K�����e$00�4}�����(��
T)���Li�C0�LW3>�X�����tR�땗��1x8
i:
֛��f�:�
�Q� ��#B
�������1�!����\&��z��v|�`�rvŬ��)�ϕs3�s�{�N�R�9
1Dx������z]��BP���g� ��`���OIƪןUϨ�a�.�f���Q)�Q3Ηr���/i!���&��oϝL-wN&&Y�ѳ]�-M
����Q��GpM�xY����\-�W�:�
��
iE�	� 1��2f��@&A^���0Z�Q��Lxo�J�8��둤���:ȶITJ�,�#)M-Ǘ����y�
�]D�l����}�(���Y�Yl�M'u/��bA���E~G�E
�C��rR���[��n���AUН04@n%���7�|���q���dP�%�T@���I�8
�{�Пy�b����KKk
j�:�����Qxg	��I�|��
�� W��j\���2�~�H���0���
���*@���)A��4��V��[q���K��u���#��,���ÏW!�Y%znC��ς\W L�7��y
ss���"r)/�䅹ր��A
+DUo �]8R��PW>#u�v���ىSC]@&���x��t�Z�`��`�h�s�B�@~R�^���c?hPzu��sP�E��
�y���mX<שR�R��h{s�
�	}O��S�àp[���+/\����w6@����|���2e@ߨ�=�]��v����ق��<�4ڍ%�۫W�ӶH�ڜj�G�^Ik�?�:��Dj-g�p� �݁QՊ��AK	����U�g�� o�{9�����1Di����X�C�����0G
�5Z`�] �]�kg[���������l�yfm�`��M
kz��ҎF�>[J� E�Y��.���U�?�~Օ��]�.A���]�Q��,R�i���v)����Q�0�0/�(��>J~3}�)Z�]ϡіO���RW��0N}ی��N@�/8�(�8K<P��y���u#�e��� r��!
9�t
+��Noey�:�R[ya$�{��jN�{^��S *�=u`Tg���
��K���"�����pt�w��|��8��ɕ�/\�[�˅f�&^ŋ����0�ϧ4`4�wN?��-�If%�G���_AOhn� qi�x����/P�_��,m�+
���ג���
�4�占���Y�=,U�bֆi��P���(�*��I�K����n
����˫R�M��Oh�3'u��xD��T��kƳ��\+֮辉�
+|��}_��M`{p�*_�î&��$�(�[>V�5�%�~��H�ayP�Ë�ުa�}.
+*�xW�b�V�I�r��jo���Ԙ��S}�mP8�QJN u�Y��\]�v;4O�6
+7	
+���fuu�F�Hg�*!uI��*
a���
�A��b}�
+endstream
 endobj
-9217 0 obj <<
+9187 0 obj <<
 /Type /Page
-/Contents 9218 0 R
-/Resources 9216 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9199 0 R
-/Annots [ 9226 0 R ]
+/Contents 9188 0 R
+/Resources 9186 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9196 0 R
+/Annots [ 9185 0 R ]
 >> endobj
-9226 0 obj <<
+9185 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9219 0 obj <<
-/D [9217 0 R /XYZ 90 757.9346 null]
+9189 0 obj <<
+/D [9187 0 R /XYZ 90 757.935 null]
 >> endobj
-9220 0 obj <<
-/D [9217 0 R /XYZ 90 733.028 null]
+9190 0 obj <<
+/D [9187 0 R /XYZ 90 733.028 null]
 >> endobj
-8928 0 obj <<
-/D [9217 0 R /XYZ 90 626.4487 null]
+8914 0 obj <<
+/D [9187 0 R /XYZ 90 644.514 null]
 >> endobj
-9221 0 obj <<
-/D [9217 0 R /XYZ 90 612.1161 null]
+9191 0 obj <<
+/D [9187 0 R /XYZ 90 630.731 null]
 >> endobj
-8929 0 obj <<
-/D [9217 0 R /XYZ 90 511.9871 null]
+8915 0 obj <<
+/D [9187 0 R /XYZ 90 536.712 null]
 >> endobj
-9222 0 obj <<
-/D [9217 0 R /XYZ 90 497.6545 null]
+9192 0 obj <<
+/D [9187 0 R /XYZ 90 522.929 null]
 >> endobj
-8930 0 obj <<
-/D [9217 0 R /XYZ 90 397.5255 null]
+8916 0 obj <<
+/D [9187 0 R /XYZ 431.18 460.258 null]
 >> endobj
-9223 0 obj <<
-/D [9217 0 R /XYZ 90 383.1929 null]
+9193 0 obj <<
+/D [9187 0 R /XYZ 90 444.941 null]
 >> endobj
-8931 0 obj <<
-/D [9217 0 R /XYZ 90 283.0639 null]
+8917 0 obj <<
+/D [9187 0 R /XYZ 90 350.299 null]
 >> endobj
-9224 0 obj <<
-/D [9217 0 R /XYZ 90 268.7313 null]
+9194 0 obj <<
+/D [9187 0 R /XYZ 90 336.516 null]
 >> endobj
-8932 0 obj <<
-/D [9217 0 R /XYZ 431.1796 206.0599 null]
+8918 0 obj <<
+/D [9187 0 R /XYZ 90 232.544 null]
 >> endobj
-9225 0 obj <<
-/D [9217 0 R /XYZ 90 190.1931 null]
+9195 0 obj <<
+/D [9187 0 R /XYZ 90 218.761 null]
 >> endobj
-8976 0 obj <<
-/D [9217 0 R /XYZ 90 89.4414 null]
+1267 0 obj <<
+/D [9187 0 R /XYZ 90 89.441 null]
 >> endobj
-9216 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9186 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9229 0 obj <<
-/Length 1927      
+9202 0 obj <<
+/Length 1435      
 /Filter /FlateDecode
 >>
 stream
-x��ZYo�F~ׯ�SK�z��(
-�iR$��XyJ��h��D�$
�����%
KJv�6(
-������}�2�0��`O	�
��[�fػ����H�z�m�o���RxI���*4H�%�[n��� f�
�1�/��A�
Vs��d{n�`�C�>
�����q�Y�W2���0��w�Wg/i��".�笭/K��?#�
�$..
ZG��:�:���6Ȳ��
-�/���n�
�|�:�
-�9�~��#B�LR�t�|����`��0�>{�{����xi���
F���f���f;�����)_��%;%_�!,;�
1Dt���^�0p��WHq�+��~���" R�TH��R��`�B2*��<�hS�|H}͉��%��2���J�)*�
-��su
n����pa� �����<�lV�$��4 ��R�
\<+o��^Vj5��ĈY/c�0�����d:jҔ�J�mo�8|W
-
-�^0Ѡ�`
-W
-I
-�b�x綣�yV~C;`$�4��9<��hR{��D��8��cR��E�M�V�zar�̓�C�@F�z���Z L�����F;��Z����	��]�&M����yK8�&�"�(q�
��H��V
�J$L
�Z7�|s~
�s���6ڬ���v�!�8e4�v
-M��:��(fH2��8��I�9�]
�
?�rUC\2�$Ue���xS��*a`���*H51uUiX*͓}�M��Q�Nv� ��o�W�O�RdA�3(����-(ш(c���=r4�F�d6
�f�
�?��P�
-(]�+;Ϟ
0(�D� N@�
0�I�%�x�U�)�	O���d�JC�릕�RgZE�1�@�<	�0df� B�

-.&�-5�s�^lʢ+
z�b�8J�
�@��'n�hĚ�t���zz����h'��ف�k�5�tPYYU����fᦼ��ô]�F3�5����\[j"sа�'c���D�^��ֈ=�'#r���3nl�8��v�!7�S�$~j�h��1�$�j� �����:~��X
;g��j0���(~20VC0�z
��2G��&�'ɶ���-|`N�b��:���4,�'b�ُ��VV�(�vџᣡ�R�4�柃bnl��7g�oۜ��Ҏyl�V��Re��(���J��v;>�r�9�
�m���4D�n��_���H��&���ä�wN�F�ڿ
-�Y�
�y�t
=�E�����H��}3�]��^Vgd0�����\�Q�/F
�,��&l�����)��2>�nDm�
���9 ��7�v�i#�fҍ��}3\?�ˡ�h�Cn@�Yb� �p�Hc�@T����X3Ul���`s
id���� �]5J%d�Pg�n!�TY���u��u���:]Pm!E��rn���߆�r���
��)$�^[�xGJf����h����`�u�7b���0
�(L/��1����鴦�.G�OI}
�Ľ	�HS��;*���y�A��Y

H���O�â�:����f�8��V�:������O眦�
�#|puy�AڦNh
R�����F�h�d��IJu�h>5^Xpuh�`��潐�Nʤ
9�!B@���ז�D���i�s�{���4b��tj$�
������ޤ�Ș���hJ듚�����V�x�`Ӭ%>����D���hR�
z
-�t��Qߋ�
�b�㐓9pȁ3n�q��!�$#
�"a�q>�D����f��͇��nx�o~�/h��}�F*I
iE�4���4�`�#���;=7������
�-�&�dJ�
��O�����{P
��m���m��͛,L?�
�W��c���}���in�b
H��/vqC�(�HL'@��߼����:��/�=�a��v�7y�??;���C�
���>EQ~��o�\�N
��T�����N䙖@��}i��wI}J��pWP�A	�nu��lv�endstream
+x��Yے�6}�W�@U����R�J6��ln�
�i��bl�

0�8_���`|�-�fRy����}���$���a��7���+
z
+)N�7���'�Q�MޭO
+U0&c�: ؏�e<�(��t�E<�1�+�b3���IV��r6敵.�F�v���!;�ѐ��	�
�Kk҉�`DC�����B"DH�䫓N^�qYcʰ?
��r�ƕ�w��{]D�:�í�0懜����џ#n�Gj��@"d�|9�}����a�Kz��j�E4��Ի�:�GA�!œ퀎BD�C��Ƹ��C
������Jg�Rc�
ƓG��(�&�f̻<O���!H@|0#����	`#1;J�ND�i�#+ at 5�_����:�M&�b1��YY1D>���l�d�2��q�w�pm`/_4���3;�b����l�D!K�� � �f�
d"i��6��$�o�!û��H�&y�8��
�g���󪴯���q.� p8@��lƯ
�r`l�Q��uR=Z\�G�_
���#�h����h��ºtJ���X�.��
+��y;!{��a�#n�E�����]=Ac`~VN�owJ"��
+�H�Yh߽��RD�/
Ӓ{"��ɳtc�m��p]3�
Qm����1�����^�5׫*����>�`���He��L�,���.N��,.
����t�Q �kj;},�2�cr��>+4����i�t
���J�8J=�����q�m�U����a3N�y�\�Ur�֏���d� 6% >6n�� =�Ӝv_G��
*
���/���Tt���^Ym���,T�� T�t
}��{��w[��kKǟ��Y��߃�iÍ�p��)��Jq�e'N 
4K���)QD���(��2
+�
�QqRFi3�;#�y�p.ϗ�Z6�Zn��
+zRG�'���v�n6%�밄�����y9�DT�s4��������5�
�x(���{�ug�-�39!�����@,]ْ�2&��l=!N2�nl��T��q�*�b�jd/
|�
�,��B
+IԐD�6�DR�����SIP��	��Dx�Q
+��vD��~@$��H�}����8!�{�T���I��I=S�)i��Q4hC��e��O��lu�
`+�����Kj*s�I���yO+~+��m)k��d�]����m|�t�K�
E�"�B�:S/�Y<{��sO�v[�{Ӓv5}���!no9�p��'_�
k�H���w�!&�V N� 4M
���c���|�v����
���s�v��s�O�~u��6EaQD]�g��}�E�ݚ��
��$�詛�ȧn�o�|��s?ԟ hn��}"0+
+�4��`c:��ܶ{������G�y���"�)Ξⴝ^�+�hs$�a� �*4	͜@�s�9�����m��`��Mq�H��ǪZM����5���)KVJ���*�ڗ��
���
�5J�̷*�dpsY�%��P���
+endstream
 endobj
-9228 0 obj <<
+9201 0 obj <<
 /Type /Page
-/Contents 9229 0 R
-/Resources 9227 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9199 0 R
-/Annots [ 9234 0 R 9235 0 R 9237 0 R ]
+/Contents 9202 0 R
+/Resources 9200 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9196 0 R
+/Annots [ 9197 0 R 9198 0 R 9199 0 R ]
 >> endobj
-9234 0 obj <<
+9197 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 284.7287 138.5077 295.6078]
+/Rect [88.007 563.557 138.508 574.436]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000031) >>
 >> endobj
-9235 0 obj <<
+9198 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 264.6391 314.5657 295.6078]
+/Rect [123.594 543.468 314.566 574.436]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-9237 0 obj <<
+9199 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9230 0 obj <<
-/D [9228 0 R /XYZ 90 757.9346 null]
->> endobj
-9231 0 obj <<
-/D [9228 0 R /XYZ 90 733.028 null]
+9203 0 obj <<
+/D [9201 0 R /XYZ 90 757.935 null]
 >> endobj
-8977 0 obj <<
-/D [9228 0 R /XYZ 90 627.1211 null]
+9204 0 obj <<
+/D [9201 0 R /XYZ 90 733.028 null]
 >> endobj
-9232 0 obj <<
-/D [9228 0 R /XYZ 90 612.6688 null]
+8919 0 obj <<
+/D [9201 0 R /XYZ 90 534.501 null]
 >> endobj
-1303 0 obj <<
-/D [9228 0 R /XYZ 90 472.1891 null]
+9205 0 obj <<
+/D [9201 0 R /XYZ 90 519.931 null]
 >> endobj
-9233 0 obj <<
-/D [9228 0 R /XYZ 90 457.7368 null]
+8920 0 obj <<
+/D [9201 0 R /XYZ 90 365.528 null]
 >> endobj
-8978 0 obj <<
-/D [9228 0 R /XYZ 90 256.3286 null]
+9206 0 obj <<
+/D [9201 0 R /XYZ 90 350.958 null]
 >> endobj
-9236 0 obj <<
-/D [9228 0 R /XYZ 90 241.8764 null]
+1268 0 obj <<
+/D [9201 0 R /XYZ 90 208.511 null]
 >> endobj
-8979 0 obj <<
-/D [9228 0 R /XYZ 90 89.4414 null]
+9207 0 obj <<
+/D [9201 0 R /XYZ 90 193.94 null]
 >> endobj
-9227 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9200 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9240 0 obj <<
-/Length 1929      
+9215 0 obj <<
+/Length 1459      
 /Filter /FlateDecode
 >>
 stream
-x��ZYo�F~ׯ�S+�z��(
-�iR$��X}J��h��D�
��������W�<~�����\߷C�1�?26x��B�q9^nFx|��x�gM�棓WR�
2����r��$HPB��ջ	!���`�'gS�'Q��gS�'���:^����"�����v���p2���8���7'�i(��".�㬮oK��=#�
wg�UG�Tk|wt��h��Ψ�����I�ٮ�".-/�|J�$N�p�!&L2����v��`�X7�=z��W��7#
��b|
?0"���f�)�~�G�?�u��|���'^�!,;�
1D�
ZQ��8
����R\k'P�m�4ڀ[x�
-�V*
k3N�M�,Y�%�_S2Y�'�4���L)*B��2̻���UL�gpa� ��l9��L���4^�&��b���"��^��{���,���/��v���W�.�ZUD�4���r�G#z� U��4ׁ=iJ*�K�u��JAA�~�� ([��$��o��sET\���&�ԣWk$��
�[��9u"f�j��h�m�	ĉ4��1�(��h�0��u��
yc��P�h�0�J�+oWB��T���
�NXKA=k0~��eM@��ާ]�S�%^z���}KZE0�/a��!2-�D��(
o���km�bdLW�|0��4�p7�xU^]fy;C6qZ
��Ka,�Į!�
���{�_����Ev��Q
�[׊��Ub֌]�:=���x�1Z'�E�_�X��2���z���Ӯ
̐dp�2f~�gS*&�������1���z%�8�(]���DZIu���.�V	8q�%�2�l�"�X���}g�hۢ�gL#F�nc5��X��0V3��`5�T^d�ڭ�iaZc���4��i�iU�t�Z5�y��$i�I�����R  �?����(��שőxY�|u���5?W�Y��(b`0RR�`i� �"ߔ���%�UGm
�n��@ �D��# ޔA97/A�m\� ����ދ ����w��{p��P��⽗l��_d�����>O��.�м����,�C
hmH��M�as
̌� ��3 ��%~��Ŏ����,���ϒZZ����*��-��8Q��=ބ�Ԑ
-ĉ���ތȧ<��1��
Lj�
90��1~F�2�Ɉ�$~F$(� �O��pV�n�~JD��
�p ���eO���E�����]��Gtb)�9�&�,����G�`�cT�4e� ʙwv��i�����{����.Ug��<��k)k��<�/���z��$?4��ʽ��3�R��Dj�;���m{�C��5�<�{�B	�q⠏��1�5���ˆ�[V�ز�&����h�m
N��8�o�<*���^0B!
�ì�:���j���G�i��ԛ6��_p�| G�;�s��*�)�~.�z�#��b߸]k�(��"e��8<1�v#�ij�$��Q$�������ЎZ�
-�%��Ө��鑙LSj�_S
R��{_�S
��=+�
�{
	z��@z��H˘�L�
0gy���D6�2{�ᴂ���
�5c�
�#��|Ċ���k��9�?:ၞ/aX �`��ޏ1OE[Yp"�S��c��~ʟo�c?��݂�G����a!x�����
?�d�xF���)5�DhHM�
4U����%~����iO"D���k���q���:��г~z؂�yd��
-� H}�1�Gu f]�!��
��!g
 �k�ߛ�|�\���K��3�j�?
b�C��O�ύ��� �U�=��@o�v��QѪ�3;���~V�Z�t�Z��f�=b�fy�F�M�>`�G�����
�b
,���
-�����BW��Z*��5��~>�~a�x�<v�[����(��''���h�C7i��QR�l���)ޖ;W&�Y-Գ��y�%RxhӖ�1m�*��nn�C�^
-�Z��
�ҙendstream
+x��X[��F~�W����2��6�"�i�Jz�&�i!/̲V�Mm���=�l
�	m�JH�a|�\�������η��g�ɍdN�BI�3{pB��� A�3[:w.!��ޘ`��[�`7����֣�͒�G�̣���}
�OөY�ӲP�ݣ_٩
�w�W�B��".|P�:�K��������q��G
+ሐFȳA!ϓ�(�1؝y!u�z�D�2+�Ճ�=�*]�#B�LJ-t�b6�mD@
vH�(�#�	g�
ݽ���_9�8�j����w��<������a�
�JD$�&�GkU���"]I��P
� �����F̢h�9���
�hP�g�h}��Ң�#
O�Pf�VtH�y���#�o�nDa Q����/Ԧ�ጿf,	aD�r:�S�c�}���y���k���l

+���<�pw�7��w��>�P}A��+o1f6���`!����qa���7���(]�ȡ�*��{}b��7gE�ҺS��&K���8N�z�
�s����X���A�}�%CH0i
K���%��Q'::�󕭂�DZ�I�`���o���
+my"�m�m3�R�ծ�]��_�|�1��9Km��)�j]�
�t��M�M?mT
�Y�.P �`˘ vPq����[�,k�9�/(z��s��ʧ�J
�� U{Qr���, �j�9󽆘,^Z��<d��@��s�}K�^��Ť�U+W�
yl:���9��*�T�A~�� �<>�����چ �Q4V,z�� �E
+Az*��Di��.N�8U�z�
�_ at m�U�Ij	�e
�ET����
+(��f�F��j?

���v��
ػ���A8
�j�$�`� W�
��e'H� 
�u"A�<$���� �D�
D ��[��
Q����*��[���Bǣ��,
5!Ė� M���T��4
aC��T�5 \B)f��}f�z�y�%J.����-�Z�)T���VS@��>ҹݮ ��H�>9���&'Wj�N.�T�Q�e�7��
��/Vg�
0B�]0ZS���>o
�4�
*�9p�F�;C8��:}��T/}PК\����
D����\�	t߳� �S𦄫q?��
1_
a~Ѓ�<8��l�q��Y�XqW�@
x��?�!�!M��8�����
�J�C�2�
�kx�-��w��
	"{PC}�F�
P��:g��&� ����*�@���c7 ���%��x�!{�c{�6=lu=O�
���i�O 
�'� �	�� �ā?`�İ	0�_#%����a��\�i�&�Q����=!`~uO�[��L�
 pϜ)��9S'ҟƘ�Y�N��
��ҡs5d���*v�/B$�4c���5��ǚ�̣%6� �s��'�k
�(�Fɞ(�kQ�����lrE�Fy�����Ƽ_���ws�J�{٧�cYn���n�C�m�x����l6��
�R��>ߛ�r���L���
+�Q���<�
+endstream
 endobj
-9239 0 obj <<
+9214 0 obj <<
 /Type /Page
-/Contents 9240 0 R
-/Resources 9238 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9199 0 R
-/Annots [ 9244 0 R 9245 0 R 9248 0 R ]
+/Contents 9215 0 R
+/Resources 9213 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9196 0 R
+/Annots [ 9208 0 R 9209 0 R 9210 0 R 9211 0 R 9212 0 R ]
 >> endobj
-9244 0 obj <<
+9208 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 388.18 138.5077 399.0591]
+/Rect [88.007 624.47 138.508 635.349]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000032) >>
 >> endobj
-9245 0 obj <<
+9209 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 368.0904 314.5657 399.0591]
+/Rect [123.594 604.38 314.566 635.349]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-9248 0 obj <<
+9210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [88.007 118.216 138.508 129.095]
+/Subtype /Link
+/A << /S /GoTo /D (deprecated__deprecated000033) >>
+>> endobj
+9211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 98.126 314.566 129.095]
+/Subtype /Link
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+>> endobj
+9212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9241 0 obj <<
-/D [9239 0 R /XYZ 90 757.9346 null]
->> endobj
-9242 0 obj <<
-/D [9239 0 R /XYZ 90 733.028 null]
+9216 0 obj <<
+/D [9214 0 R /XYZ 90 757.935 null]
 >> endobj
-1304 0 obj <<
-/D [9239 0 R /XYZ 90 605.829 null]
+8966 0 obj <<
+/D [9214 0 R /XYZ 90 595.696 null]
 >> endobj
-9243 0 obj <<
-/D [9239 0 R /XYZ 90 591.8433 null]
+9217 0 obj <<
+/D [9214 0 R /XYZ 90 581.176 null]
 >> endobj
-8980 0 obj <<
-/D [9239 0 R /XYZ 90 362.3718 null]
+8967 0 obj <<
+/D [9214 0 R /XYZ 90 467.013 null]
 >> endobj
-9246 0 obj <<
-/D [9239 0 R /XYZ 90 348.3861 null]
+9218 0 obj <<
+/D [9214 0 R /XYZ 90 452.494 null]
 >> endobj
-8981 0 obj <<
-/D [9239 0 R /XYZ 90 240.1558 null]
+1269 0 obj <<
+/D [9214 0 R /XYZ 90 306.866 null]
 >> endobj
-9247 0 obj <<
-/D [9239 0 R /XYZ 90 226.1701 null]
+9219 0 obj <<
+/D [9214 0 R /XYZ 90 292.347 null]
 >> endobj
-1305 0 obj <<
-/D [9239 0 R /XYZ 90 89.4414 null]
+8968 0 obj <<
+/D [9214 0 R /XYZ 90 89.441 null]
 >> endobj
-9238 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9213 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9251 0 obj <<
-/Length 1836      
+9226 0 obj <<
+/Length 1542      
 /Filter /FlateDecode
 >>
 stream
-x��Z�n�F}�W詥�j���QhӤHzsc�)
F�m���t\��;+.)^����A
�������윳\�)�?25x��B�q9]m'xz
���x��M����
)�I�tq�A$(����M@bf6'��bFpf�py1�8H7�7�:
����0�??/o�I�G���W�
n��.^�� �a�2���
-����-!-F����QG�Tc|wt�g�0�gs*p��D��&,�����*�fDQ��[�0���:�.΂Ib�����[<]C�_M0�K��
\`D����SV]l&��?�q��|��=$_�!,;�
1D�KZQͯ8
@��H�R\k(�wQn!,�k*$G�)=�
p
W&ߥ�ƍ�!�5#�f�+
���
£1-��Sމ͹
�bj:�F28�}�*k���z�\��uvkKj&��6N�m��+���� ȋ��Y�-��*M�Z7ii�3��x��V5%0A
�9
�DSR��&N6q�-��6gO%�
J�($)Ԍ}�eRؕ�*��
�r #)��=���GFC�����s�q*��a��⦌Kq�t�ǀ��*ՎSkt��R��)Gt���뎩,�o7�v-&�r�
R��[�h�D��3�I�%�
�b�z
�ЕD���]�S�%��k��|�$0�/a�0��n��<h߰ګ���(A��?�ds_��
u"�
�n
����I
C�ט
	p5`
-(���WѮ����z��Ź��ǹ�Y7�b}~
'3����&^/���v%E�)����0��w���0C���3��,�Q�%�9T��a�
h�uk��E�Dk&���Bd�[� �-�YT:^��t�^���d�nwa���� �J�:�(���
�
��a��V�o�?X��K�X�2ezb�!� {;�v�_7����\H��z��k�u��hW����W<
�
!|�
�W<�#�
�U�pw�ܛ��WX]�5̺yE=�`U
-�	�`�
������e��-��_�t:�K�M�]{��
�mc��,,�,�΃��4�X9�kԑ�G�s@
ڟ[�S�)"BuT�zJUT�J�#�$�C���.��nȧ����#����ä!
��z@�G����>����B��h��̭��	��B�����씲��J����-
��n������
6~��'�⤉��
���r�� k��uX��
��=O���5����z��B��vz��\��.�Z�Ur]͕��
��P��'��IcW�>�#I�y�OR
{��
��AE���Ȗ3M)���$
x��e$�k与$��]�ԊJ�J�:?�$�.�����}��mr�)�.�[�v�
�������J��&��6��r:�_�O��J ����g
=�_"�
Yl������
��]0�8����`CF0;��Th�"��	��&
�$0�����g�
�sF
;F��?{Ϭ��[f��;��#�U�ʶ�f�Xj�
�Hh|D�5Q#�c�bB>��}����b q�qd?�����}˙&ٻ�~�
 ELbs��~�'iU�/=�����~ �dMA.He?Dx��|9�yʓ�����C�b��4�u"I���Ѵ�R��T<Ͱ�0~��7�t{o�	Y�5\�Or<��=p
e�h�Yc�x��̘��{���
Nf
�
-���oj<"Rȏ:#��ӂ�����B��`ڝ�WN�DŅ͊me��e�kh��������arn]�

-VV�)\�v
#�O��)�*
-&��*��=�~�|�g�¼�FU���Ƶs�)�������
Z��6�w����ns��4mk�+3��y
��Ҋ<Ӱ�5�(��K-жiE�q7��/��j����QpCnendstream
+x��YYo�F~ׯ�SK�z�%��@�&E�ˍ����@K�L�"Y������ry���$r� q������fHl�,l�0�n6�z!��"WRi��-[J$(�fK��&1w<!c�zL��ko~=�؎�݃�L��O�]ꥻ��,Q��y�G߲�SX����zA��a�QąU���6[Z��(s�
�7RG��B�9)�Y�e�xB�gc���:	��7+��{?
���,1"�ͤ�BG�g��F�`�@	��b=�}��%���0��X�b����wh݌~ᣠS��{�#��*��+
��;�Q�c���6>�%~��4��)9��9�'�F�3���`Y�<7H��>;N 
E��8i�4hׄk\�	|�B
����t�-��E
�ҍ�2t���b���g���]�2�_�ط���u�.V�{j�Y�ܳ/�p(�6�QD�[�Q�}�)gHBXN�B`*nx��E^�O���I�0P�#�!ud=���T"��M� 0��e�������*H	�ìu�2V� [...]
�qۘD�"�i��/�$ ^϶
+X�H���t
+���~��`9���f�G�1S]�\�6���
+{�'ґvp?x� ���a���E�1�@�ǃ�r�T�-/���y��a��M�h�/���/eǩٲ
 �
0�h��,�r�v�ٿ

ԁ	�dD/(������r �σL� �J#���l�)���e
%��[�8����+��&�F�qNU��ҁ"���"�Ġ@�������tAޝ-��lqWn�d�����iP]�߁A�S�x
+)Bn�B cX��z�a!9J�߬�!Z�� N� �.$�<@�4 Nр3@�9L�$
�:���8,�]|��4v����?�|0�@���(X��\��D��C�*�{��ϰv,iW��yV
���-_a�ςh�96��M���Z��O��|́��5��>+�{a�u�pJ�|A�+ԥ��Gᮮ�CF���A��wc)NP���u�z�Y�K~ǹo��y�A	����YNIr`P�HzF��S�A�U''%W��)�"�ۃ������$-%��?(q%O
J{�����U�`�u�Ϻ@Q������i������6bݙ����;�X�E~k"�z�G��|	�]4d��rS7uM���㴝,U�ګD at O��
+
?e��_O��vf�Oqb�DE7�zA�4���^x:A�� �a�Ya�O>Ƌ������&׵���:F��ް����#�i�Ǐ�	�v ;�*G�B��
�9���̌����/&g���;K���˚�4%
J��=�
y,	����eY���V���Ҧ`�R�> ��CUs��q9<w_xH�:��(�s�Qz��A�����w�ZLj���JqsY湹x���c!�����6I�EA���#�$�	����;
�W��yZկMs�(M1C�i]�<�^]m�[���&
+��U��W}�o��QC��H���a0�`q]$G�	����]
+endstream
 endobj
-9250 0 obj <<
+9225 0 obj <<
 /Type /Page
-/Contents 9251 0 R
-/Resources 9249 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9260 0 R
-/Annots [ 9254 0 R 9255 0 R 9259 0 R ]
+/Contents 9226 0 R
+/Resources 9224 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9196 0 R
+/Annots [ 9220 0 R 9221 0 R 9222 0 R 9223 0 R ]
 >> endobj
-9254 0 obj <<
+9220 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 563.5572 138.5077 574.4363]
+/Rect [88.007 189.635 138.508 200.514]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000033) >>
+/A << /S /GoTo /D (deprecated__deprecated000034) >>
 >> endobj
-9255 0 obj <<
+9221 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 543.4676 314.5657 574.4363]
+/Rect [123.594 169.545 314.566 200.514]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-9259 0 obj <<
+9222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.4 98.244 212.124 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (main_Cylindrification) >>
+>> endobj
+9223 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9252 0 obj <<
-/D [9250 0 R /XYZ 90 757.9346 null]
+9227 0 obj <<
+/D [9225 0 R /XYZ 90 757.935 null]
 >> endobj
-9253 0 obj <<
-/D [9250 0 R /XYZ 90 733.028 null]
+9228 0 obj <<
+/D [9225 0 R /XYZ 90 733.028 null]
 >> endobj
-8982 0 obj <<
-/D [9250 0 R /XYZ 90 534.5012 null]
+8969 0 obj <<
+/D [9225 0 R /XYZ 90 581.211 null]
 >> endobj
-9256 0 obj <<
-/D [9250 0 R /XYZ 90 519.9309 null]
+9229 0 obj <<
+/D [9225 0 R /XYZ 90 566.708 null]
 >> endobj
-8983 0 obj <<
-/D [9250 0 R /XYZ 90 361.5035 null]
+1270 0 obj <<
+/D [9225 0 R /XYZ 90 421.341 null]
 >> endobj
-9257 0 obj <<
-/D [9250 0 R /XYZ 90 346.9332 null]
+9230 0 obj <<
+/D [9225 0 R /XYZ 90 406.837 null]
 >> endobj
-1306 0 obj <<
-/D [9250 0 R /XYZ 90 200.461 null]
+8970 0 obj <<
+/D [9225 0 R /XYZ 90 160.948 null]
 >> endobj
-9258 0 obj <<
-/D [9250 0 R /XYZ 90 185.8907 null]
+9231 0 obj <<
+/D [9225 0 R /XYZ 90 146.444 null]
 >> endobj
-9249 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9224 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9263 0 obj <<
-/Length 2402      
+9239 0 obj <<
+/Length 1913      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S+�z�#(��I��v�����@�%�f*�
-E�����K.��|b�-������Ǚ�o�
�,0����
%2����p�w0��
Ҝ^��u��7��_K�0�H*׷�
� A	]\�>,	A̬�c�|�"x���d�nE��?ݧ�2��)�)�����
gyuJ���^�0��x���ׄ�nFE\H�콾p&
�e�7��Gf!
����s�v��N�5xy�2t�
���J�ȷ�mZ��^���bɤ��^|u�
��Y0I����/v��o.0�K��#���C�
NY�c���o~
w�� .N!T�082HSF�VZ L���b
� "
Ym�L-��H��C]H�CZA����I0E�Q��O���c$F�PH&�Y-��itw"��&��ݵ��U��])F�
�z}�D~[�w�
{�
U��C:���V��cVݣ!�6R
-d�v6N}��8I����(���6=VY�τ(v��@�C��,�S�������O�>�m��������H
-H�Y�x�1� r3$
`���bE��1_����٭[���LA�p����؆���"s6�}vr6F7R7FI���C	2
-n�{�<LB��d����^�b_�=��|[
�I����StY��d���O�k;�bM1��$�
 !H=c���,�+���	W?7ema�˻���~Bי�!|�
E܌S	����]zt<��ݍ�����G��8R�X��Ng|��v�	�XY���t����M��I5�g�
�h������mY*�Z���Ԯ�IJBct;0��1-��(G��CBBE�Ʉ�7��?��> �T�5��
�)�	
�Íʨڂ<��ILq># �\���z:�9���Z�7��Ar���
p�X|����v͔�#�Vd��G\��F����q�g�E�nͭw��$��c���z 
�OU�dMr}���ʥ��KN���A��%�OI9�Z{:$B� US�>��,�gy�1B�k
���p����9�
�P�2� �]
�5,��|!8����,��~ݿ ��G��u`E��	�aWfP���-�&
-OM�3!���l��� �!̀
E�>�(~��BU���j$��2=
k�T��p�OǤ׆uU-�L"
�r�O���f�gԯV���~v�g�]�-��}f�52��|�`^�����5Y����n`��
-Ǿմpvq->C�(��ZJ"H��ћ�V�F��>���vPIA
����
-�I;{إ]S1���{wtӘ��0�M�O���hy&~=���qV���I��s����]k�Ӕ��G:�?W����wh���I��̒����ř5��h�!9�7qJ%I��3H�?�;X�;����Cل�"���������7�y�����Ͼ�:mާ��/bK�R�p��M�	(*GK�l){%�Ea.�`����%���V���
i�vsfTWc��_S]�y?Gu	�x����rFgpP��S�U�#N
,}>�D]��NuY�{�%1�UW�z��E��a�����<��b�
l��s�K��
�4HSC(�"��W�R���z�i�So�v�UoMsn�VÑ�~��hc�@u��_��V�E�qc���,�0S�GH�ߛ�0LX���9x�1�A�
<2 �I���^�[j:
-���\3�o5^
eV�gK�ؽg";��7�i�n�!����K� L(�T��
�N`��)�	t��uX�.�=��
y3�RP�J
�Ō)
��d���g|7����nE��e(v�D���y�s �m�J(n~�jsj
-��p�Xn���J$p��"(.ez(>=�rD�1�i,}�Q�ژ>W�����5��5XwW���s_-�͈���`�Hi��)2��A_A���L(ο�
{��N
$���x�b�m��K������0���}�uD��q�`�MRŸ�n�~��o9��1�u���
+nZ7On��Hݦ��4��;�]v�4J�ZF<E)C�/k�RN���3���	�'�K`RlX/ �d�b��\ �	(���P$m/�H�S$�N1�Ƕ9�D�����5�Ӵϔ>C�~�qS�f��}ä1Wg���$~5G�ȋ�!˳C���U� �@�����2�FXk���e�� ��S)�Zp\o/(�;j�@}6(v����#^g+�ڼy
W�eP�pH �N��9�ќu�m�P�l���@5p���Y6�!�ԕ�}��U������gk��>�\,ڿ��
D
-������/aW��	���������l;�ց�g[�Ϧ�?��/WB,�u��$H�
�~�S������;��G/TQض rg��h���k���{W���=�h^���Uu���|||D�zȳc����x�_��c�]��\���h�%�<�)���rk���>:�O"<���Q
-��GʿA�fendstream
+x��Z�r�6}�W�%g*w��Lg�4�4����'��%�fJ�,I�q��
����Fq�N_,����9�
c����w�oNG�$sBJ*��
'Ď/	�8���%��[����#؍�m�z�Q�f������������c3
�U�*;G��F0�9}~��b�Qą��k=2S��(
�/N&��i�|}��'IT�ޒ
+�z!u�6O�J����B
	\��a�!\&-t��t�ǂ���P�G>�z�8{��
�?w0�+pn�Y[�S��s��u�����a�
�JD$�[6F���3
׊�%
=
E��q�,�
jļ���O��	<�	����镵F�Gk����*-�,5��UT���8I�ӹ�z������(N���
lx�$
+}�,)8�a����k�W�����0"�js|
�
ǰ�$ެ����v� (왠�<*������UiN����5�H*��8A='���f�z�}����t����2����)�P��UW���z
��
4;:P�Y� 1N{��b�bC�D����f>��F�
��6W)�����Ɉ�
a?��
Qڮ�N�Po��}a�#��Hv�؉d�&���ڮ`�%|�B��o`���^��y�����+�sQG�*W'�a$�I�H����չZ
zB�@"&D獂Lx#l)�����i��L��J�`Ijq�I�ͯ+�#1oV6�5��_~�p�`q�
�-,�)b��4�
¿�Ig��
+��G���

q{�7quevP�2W�ʫ���n[����F�������rB%��`�o�'� &� ��P9q��}��W+�+�Ze_�qzِ��.��ub�
�t׮!G�ܚ��)/2
#?�U�%U�3:f	��ɻ$ۄ�>�a]M�ˡI���.	�i�oiw�D@���)����w_�`�m��i�3������#�w㑞��#�4<��Z��[���D*�>��#��2>f2�tb߂ .�a�j���#�'ٟ� ط��F�O�dq����� ���e�@�% b� �թ�Z��ʠ�d"���d�x�
+�5�dZ�����N��g�� 
��A�r�ǵa�
��9�����po�j��;�
���`�"J7S6�(����
� �w�A8�9�!��=Jd��yc�Ff=��7�G�o�hg�����̜M\�V�������� i�L�i�>�

+$B�˔ �
`�󨅭�$�L �r��	�d(�p�TN�S9��X�H�1�O	�<�~v/�w��y�%V��;W �������
+�a���x����T�~z��>�>Hsn��~v0�g
�� ��
�)%]		�uRNi�����������
ؚ�S�O�0c�S"���W�
ԡ3��ֹϜ-�~!N}�|k�jdF��!�!��䡽�O
um��;yb���(
G��KU]�3.-��ԫ�m��"JJ5a
F7[cĶpn����m۷�oQ4�X ��֓b�H�[̍7
�V�����*7k���L)=n��K������c���Ysqѵ�����JW�� 1��~�UUYQ�Jҙbh��N0�oׂ�~�Z���ϱ��/zwX�!Ań�[���R�W5(|�r:�0�fR�;�HPّ�YS�fd
�-��*�z��H����� '������[
LR7��[!�i���7B.����

zE�~˶����ug*�}g?D�ߩA�BU�:J�F�^

�\���7����8���
+�H���Y��v]�l׵w���>@\���~��};<��5�
�������=h�/��5�2�����_����b_z1��c��o�*��pmB�S�^7�����qw�@ �
E�y��S����ߝ���kuJS���=���ʏ��nnnкD�i�(���<9��F�X��x�F�mV��#
ȹs㷘�
+endstream
 endobj
-9262 0 obj <<
+9238 0 obj <<
 /Type /Page
-/Contents 9263 0 R
-/Resources 9261 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9260 0 R
-/Annots [ 9265 0 R 9266 0 R 9268 0 R 9270 0 R 9271 0 R 9274 0 R ]
->> endobj
-9265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 628.6974 138.5077 639.5766]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000034) >>
+/Contents 9239 0 R
+/Resources 9237 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9196 0 R
+/Annots [ 9232 0 R 9233 0 R 9234 0 R 9235 0 R 9236 0 R ]
 >> endobj
-9266 0 obj <<
+9232 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 608.6079 314.5657 639.5766]
+/Rect [153.573 594.665 216.297 605.569]
 /Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+/A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-9268 0 obj <<
+9233 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4002 540.8908 212.1242 551.7947]
+/Rect [448.024 499.87 483.212 530.838]
 /Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9270 0 obj <<
+9234 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.5732 380.7284 216.2973 391.6323]
+/Rect [88.007 236.891 138.508 247.77]
 /Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
+/A << /S /GoTo /D (deprecated__deprecated000035) >>
 >> endobj
-9271 0 obj <<
+9235 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 286.2807 483.2121 317.2494]
+/Rect [123.594 216.801 314.566 247.77]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-9274 0 obj <<
+9236 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9264 0 obj <<
-/D [9262 0 R /XYZ 90 757.9346 null]
+9240 0 obj <<
+/D [9238 0 R /XYZ 90 757.935 null]
 >> endobj
-8984 0 obj <<
-/D [9262 0 R /XYZ 90 603.0481 null]
+8971 0 obj <<
+/D [9238 0 R /XYZ 90 656.853 null]
 >> endobj
-9267 0 obj <<
-/D [9262 0 R /XYZ 90 589.0909 null]
+9241 0 obj <<
+/D [9238 0 R /XYZ 90 642.865 null]
 >> endobj
-8985 0 obj <<
-/D [9262 0 R /XYZ 90 442.8857 null]
+8972 0 obj <<
+/D [9238 0 R /XYZ 90 483.028 null]
 >> endobj
-9269 0 obj <<
-/D [9262 0 R /XYZ 90 428.9286 null]
+9242 0 obj <<
+/D [9238 0 R /XYZ 90 469.039 null]
 >> endobj
-8986 0 obj <<
-/D [9262 0 R /XYZ 90 269.6126 null]
+1307 0 obj <<
+/D [9238 0 R /XYZ 168.903 393.566 null]
 >> endobj
-9272 0 obj <<
-/D [9262 0 R /XYZ 90 255.6554 null]
+9243 0 obj <<
+/D [9238 0 R /XYZ 90 379.478 null]
 >> endobj
-1348 0 obj <<
-/D [9262 0 R /XYZ 168.9029 180.182 null]
+8973 0 obj <<
+/D [9238 0 R /XYZ 90 211.068 null]
 >> endobj
-9273 0 obj <<
-/D [9262 0 R /XYZ 90 166.1253 null]
+9244 0 obj <<
+/D [9238 0 R /XYZ 90 197.079 null]
 >> endobj
-9261 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+8974 0 obj <<
+/D [9238 0 R /XYZ 90 89.441 null]
+>> endobj
+9237 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9277 0 obj <<
-/Length 2709      
+9252 0 obj <<
+/Length 2212      
 /Filter /FlateDecode
 >>
 stream
-x��Zms۸��_�O�<s����̴׻��^�4q�%��0e��H����
�	��D�I;7�q(r�]�.�y �a�GfϔP�0.g�������.���狾��o.���bf��T�n��� A	�ݬ��	A�\.�x���yVo��W�ϫ��}������uV?__��E������W��n\�����[Bz�(��
��8���N$��`D��^�՛�(�#B��=:�כl��\P��7�����n�5���:_��%��\�-F��3)���t��~L��]�}�g+������	~`D�����,��\���k7�{о�
-�*M\�)#I)-&ZAd�O���6c�f�JD$ӭ3^���W����p�S�����#�TB�����"L��f����>w!�'
����>d��E'+W�*7��*<j�}�|��i�Cgq�|)�

�|'%�h��� ��	�C`��w^�u?���l!5G\K9
=��4���\�-!W�p0H8B��?�(
�#� ���c֟wke�.f��5�M��l���
�x�G^�����V��\<�\��Z����9��e�5ExX
s�/��Κ����CBB��ʇE'ud���
P�B-(
C2�����/b�q_��P��U2�)�'J)Ēk���]^f[p� �$�*���,�
���K<�Z_+?�ǀ�%����1f��4l��S���݂[�*(�
���BN3r����X�@�Ф���xY�{_>��P������/����5R�?'ƀDY�M�L4
-�"a��E�)��]�ڃ�d:��I�Ҹ]�g��3��M�^���U�	?AIM��
����/�	
 ho�������~�m6��i��ީ,l>�?�
�E���Շb�+�t�y�� �ꒊ~7���Ζ&{�*��x(����f�k$
-�,�T yMl@}&?Ӽ��Xf����V=�#7�4��j�ur�J�1霺J�DZu
�91�@F�`�A 
�Za5͐�R��� E�cH�|X�;у�$�]���$�R'f��7��kH��٦X�f�݃Ź�QF#) 2�
�����
Iב17����#a��	Nb�d�F\j��$��{�(��vK��&O#4��Qp@���Z����͔9��8�|_U?�ǂ3�`Nf��:���4d�'"��y_�����þ(�n���CsN����4������' 4��7
�I�)Q �=��5 +8X6*z�@u�~Zad(��/���':��V�6��A��׏�dn�.�`~t��`5�>����AQ�E�@�ٕDrH.);K
��@>ͽ�8�a�[��πht�R"5;�xp���N�+GT��[��!��}0�y��|���ܒ��q'&
"�"a��t�"�[
�/���
-�Ĵ�Ӝ�/u��pR���N�R>�IFV�9I'�i�d�#/�ddL��D��9�f2�I fO��
 �h��iJB���LQHgF:M-'��7ծ�Tw�%��Լ���
mq9L!�
�`
�4�\$��N2��×�琭-���-��w�4Q�R���
�.2�#)����"��1�
4Ay���D��G�Y}���7�߻J$�	���y!�o%4j(�]��:���v��*�mSgE���n-�u��[�c�
*�Vn�6x��ն(�v_�UXw��Mb
k�/��q]8
�2��Q�y	�Ĝk��(�����	@f�)Xu���]��8��ZBP���HP�<������B����m�e���ք��[C��� ��MC�兎B�6��&2$M� 
cgٖ���|(W�\�����v���7��m�۵���x�.�jC�| ��
>����
-}3�X�=
-��S�B�bW��n�}��y��(K
[ʜ�C���	+��H�Q=��
��2GE!N
-�D��y��E�H6M��R��
���ܝx����0�K0A�F��)^'�ˊ��Ǯ��`������)�����ڛ@��
v�8����X��u�В�D���կ;XX
$��!�ulOlʱA��ɱg�/&����س
" $��v�-����`�Ȏ�r�k
�	z�k=�)��ĺ��C��0�Ĵ� 5V;j �I��׷�����U��\ؤ�Z���(���n����Нo�ձy����1P�8ҍ��&��.�`vr7�R>�#+ҹщ}Z7:鑗ntdL����w�
���
 �MH}&A��ioS��
��i;Ãz ��#
-T�h3Q:�������2��Z�}�eZLsq�������!"{E�Y�f|(+�̲@X����`������,?�[
�����0KA��I����^�
��}G�[z.�I-��R�sr����Wm��*:���Gɮ�m��:��g�S}}ؿ2i�����w����>/J���0r��HJ��R��6r��g a��ö��㝾�_�_Hu��q�>L(T��(����a���XC�F�
[s��#�:�9��C�OB�M�v���}rB�p$�>��u�}�n��B����3u��
ݾ�3a�,�- ���ݝ�����ϲ��UĐ~2J���w��Q��zڂ��P���P�~�m�׿�b��͟��!4
���/�^"�b�P@�q�O�( <�+r�{��Y��co��7§�/�
�k�|�4�뫫��'�ܣ���ըh�v����+N��pe���F�D�gZ"e�lY¹���n�O�F)�~�36�?�c endstream
+x��Z[�۸}����Vj��
�.��n�@�L���Ʀ�Beɕ�q���I�(�
O�t� O�d�����9���a�ɟ�'w�%�"I*���a/�	J�����'�h:#c�͔`?.���͔b?O��*����C����N��TU=F?rPܘ~����5!��(��� L1k��q�!Q5#޼��pDH;�����4.��
+��O#��.�+e�UkULI�l	��g2ғN^�O�=!0
��q�P����N���
+���a�W�
̨��)���{7��_t:eK�s:b����Uc���C�K.#y���SY���	
��Sr�Yxџ
Qܮ���i=�KdJ|F�.G��x��oB,.��c��f\�\5��H���s
6��	8?Y�2�
�<���jI�<f6k����ee/_\�!!�����#"��Ǒ)8�)m��I=ƙ����f��$K�L}��"� $����d
�+�~���c��Qgf#Vp��M�MR�@%�]�Ħ�my�u���a�7�l��f�B��x�D���� �2��<����^?��G�@8F�Wl�^��6&���X��ҝZV���%FD���-P�)�`�(�\�Ŝ#�M���R�L�
R�����վ���pI9lS7Bz�@"�b�g[eP_������N�֡[Vǩ`q?
�T�A "��Lw�v�W�j�',��n��(��u���j>O�)��S�&�E\<�*��8����m��7E>��?��B&�d,ti
ܠ &�w5��F��R [...]
+e�'���ݭ���pI��i��
��Ww�ڕ�m`�(R��'�~ld�:
,�}��6�	��*�*�sc�®ݧ��KϠ�"

���|�dq��"�a���0R�a��k׉50ϔA�]�@�$��ОɨA{1@{�2���
h|
+�(
E7H��{mL��M�&�5�f� ���2���v���uצ6l��j�W�x�3E_<�M8��FpDrqR^�����/����(
��H�[M��?jU����aOjeo<
G�t�xZ�C�1��cD�0h{�IY9�I��;�s�IP
Bǘ�JŶO��&4O��Oh��@���s���B�
7r�n�����&Yn�[�h7�
��U�Q��
�rYm،Pfԍܹ̀�(�'�ɀ>&J���e�_6�^��F3㜽��EǼ[{�O�ww�27l4N��
v�t҆��}���$�>��9�����ߗ��3$�TFLnD�;��3bL.� 
j��3�⎀�о����`�F
;=��Lž�Fг����`�� ���f���!�f@�Yx�Z��Zg���H�N���
�x�"����u^�M돗M�4���2�,��
�-�� ���~��a� g\NW�	��@9�����ǜ�_���i}-,� W	
0^t��:a�o��^猲�?�*
 L�K��Y���h�s�Vr�x���z<=�9_�6��*6�5b��5�=#6�9�!��78�Nk��w�
+��
rFnD�r�[[ި
��}�
�W�
+�M<xVl�����_|Llp(�/Tl/���+���&6����El�+��j�F�u�
s
+ ���/.��ǣ� ��}e�:�qv��X��DG���V������q���#3��O��*-�ۑɡ|	�^+��3�F����

h�t��⒰���d���2!B�
4���U	�ԉ~�`��g�
G�6�"�pċY�yq_G���(���ׯY�ڝh��������U�}b@�����鍻ס��
��?_S!��z�%���+��c�u5�
$P�2�BS"�Ύ
zR�ߑ>y����:'�8�HJ�5jO�����4s ��b=S����y��
q&��6,�<
sBBw����Fc@
�c=�?\�)�@~�w�`Z����^����0�W��.�
����.�

�!P���S�&�V
�BDP|���h�q��l��^�hk/�^��7S!��W��}C�uW{�S�^��L@!f�<ho�SM�����k��eb
�KZ�˥-�MU��ww��-K�ϒ]���n�K�N�y���
<Y7dq�� ��5�>	� 8+��
+endstream
 endobj
-9276 0 obj <<
+9251 0 obj <<
 /Type /Page
-/Contents 9277 0 R
-/Resources 9275 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9260 0 R
-/Annots [ 9279 0 R 9280 0 R 9283 0 R 9285 0 R 9287 0 R 9288 0 R ]
->> endobj
-9279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 681.468 138.5077 692.3471]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000035) >>
+/Contents 9252 0 R
+/Resources 9250 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9196 0 R
+/Annots [ 9245 0 R 9246 0 R 9247 0 R 9248 0 R 9249 0 R ]
 >> endobj
-9280 0 obj <<
+9245 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 661.3784 314.5657 692.3471]
+/Rect [170.275 690.333 293.971 701.237]
 /Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
 >> endobj
-9283 0 obj <<
+9246 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.2748 467.7693 293.9708 478.6733]
+/Rect [185.269 541.145 238.02 552.049]
 /Subtype /Link
-/A << /S /GoTo /D (main_Powerset_Meet_Preserving_Simplification) >>
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-9285 0 obj <<
+9247 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.2694 318.9755 238.0203 329.8795]
+/Rect [182.089 319.694 246.767 330.598]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-9287 0 obj <<
+9248 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.0888 98.2435 246.7668 109.1474]
+/Rect [325.899 96.965 431.977 109.883]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9288 0 obj <<
+9249 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9278 0 obj <<
-/D [9276 0 R /XYZ 90 757.9346 null]
->> endobj
-8987 0 obj <<
-/D [9276 0 R /XYZ 90 654.4363 null]
+9253 0 obj <<
+/D [9251 0 R /XYZ 90 757.935 null]
 >> endobj
-9281 0 obj <<
-/D [9276 0 R /XYZ 90 640.2303 null]
+9254 0 obj <<
+/D [9251 0 R /XYZ 90 733.028 null]
 >> endobj
-9044 0 obj <<
-/D [9276 0 R /XYZ 90 530.1754 null]
+8975 0 obj <<
+/D [9251 0 R /XYZ 90 615.539 null]
 >> endobj
-9282 0 obj <<
-/D [9276 0 R /XYZ 90 515.9695 null]
+9255 0 obj <<
+/D [9251 0 R /XYZ 90 601.301 null]
 >> endobj
-9045 0 obj <<
-/D [9276 0 R /XYZ 90 393.3368 null]
+8976 0 obj <<
+/D [9251 0 R /XYZ 90 394.088 null]
 >> endobj
-9284 0 obj <<
-/D [9276 0 R /XYZ 90 379.1309 null]
+9256 0 obj <<
+/D [9251 0 R /XYZ 90 379.85 null]
 >> endobj
-9046 0 obj <<
-/D [9276 0 R /XYZ 90 172.6048 null]
+9028 0 obj <<
+/D [9251 0 R /XYZ 90 172.637 null]
 >> endobj
-9286 0 obj <<
-/D [9276 0 R /XYZ 90 158.3988 null]
+9257 0 obj <<
+/D [9251 0 R /XYZ 90 158.399 null]
 >> endobj
-9275 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F67 366 0 R /F52 341 0 R /F97 1822 0 R /F25 344 0 R >>
+9250 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9291 0 obj <<
-/Length 2705      
+9266 0 obj <<
+/Length 2014      
 /Filter /FlateDecode
 >>
 stream
-x��[[�۸~�_��V
�/�v�v�-���ʹ/�`��5c��Le%�����")�-;ɴ
� ��#��9���!3
����
-���vs�g�����]��El���菱d$���nI���ή��� f��_.��ͦ�y��x�[?��eS��T�m�����=���j��}�j�������9��".��ଯ?:�$
�e�{���2��	c|{r����~�(���녡�j�.��=�������j{
�b��^����8
&�����������^Z�
�#b
�m.8e�f}�����8���rq
-K�	�+�4e$k��D+XY�	"�+�
˜���ɴ�-i��ZX���<	�H1Jg��!�Q ��8���PH&��Pޗ��=�Ș�07��j�V��-�(�S��+���T u�vퟴ;����oW�Q�.��/ӭR-�����T�}�ۺg��h����m�����L��VGf���l���ΰ����z,�����Y+ $I���n�m��lw����} ��)��d'Q�̦P
f6�e��m�m�н�3��<�>X�ݧ�I���&u߃��q�g�`�w-ܗk�^���aq����u�
-^���n�Ƨc��{ 0
AC`B&��!͍�NW���t%Xan:T^�z[us8��H����Fqdo3ƾ]^]��\�u��)�0(����'���$;�b�$��$��U����
͡J�w����1!�/���=p#
R�zS��쨿U�����ã~�b�C1�g8�����ۥ��I�ֈ) )�67���UGgӮ ֓Κ�E��a���(�;��b�C�c�p����6e[�5!����,���z6ZCE�G�vr�Y�>��m8�!���g��#5�πC��`�2d��0KA���a���'"z��^5&lp�am��C�u�N��Pm��,
- d)��+5��@���䶫�~��
2��)�Sz
O�
 U�V7	,;��[t$�ds~{
-����j
�w]�VA��s%�ޔ���r��Z
xO7b���AuR�]=�D��͢P���Շm{��i�v�Ό�%�J���j��dƆ
�~0�-�����z[���
�k,q�5�~���ׂ��fp��J���|
������2�M۔u����"�q!�=DQ!�RX
K�I����S�X��&�X�]�"�m+���Rg�"�$�cd��J�� !���v
h��$��PNuA��Pκ7��_�头|z��8G��
�K"!
�*���v{�͝��T������6�I�S a�m�#�>WՐ*@]�B\[@Z�}��
-������
��޾�_���6�(1��$�
�
�a�ܒ}�� �a�����X`2���M�{�r
�eOЅ؆�K4��D��a8�0�BX�fhA��_:c�H�a�c��,�0q`�a
-�R$1��s�~f˲���E?d��Ax��`%u�3l!�{��s\��Vp"��#��c;
h�� {�WU���vQC{R!�v2)C̀��}J��
�qe��+@���N���O�<s�F�L�Hw;,�"�/��C��܈�%�:ޠ

�z
-�0Ѥ�"�7)��)=er�=e�6��$n��u]�yR���-z�<�����4Geݰ��+\�W�B�M
��M�xfp��'<��灲b��S��SGj
 
��XDfSX��Ӵ�^c��kL�߳5���_MlǏ��8.h=N��M��Ε������}^�J�w��R	�>����6Xxt�C�^9t�U��}2T��T���K*���*�A�r
<�Ia�����\0M�tU���W��
-z��e����4�"��z����&9�V�`�U�W��%[1�����g^����i�
-��^_����:��^��ëV�2R�:�y�� ����}"X�U{��\��1R<�O5��
�
��s&�
r�T���z�"��Ѩ]���KW㦭;�q����KB
�b;�$؈NOA�֡aPR�$�ڞn:���6�m{��d�I�J�cҤ�*M~�Ҥ��BI�Y
-���2vZ����I���(� ���
<H�0��D�8���&�/'\��Z�B٤`ɾt�R�#XJ� �#�� �`i��W������X��N���oﲕSQ��ϠYv!�D��^{�ң`�CV��ք8Ч��孷/�2��hܑhi#K�
-��RAw /�s�Yz�qp�d�� b3��S%Kb�C���,�jHgV>P���>ڃtG�C.�ϠZ��xȑh���V
��*Z�����IG�`q�<�����3���r[*�����xJ9$
-��?W�̸��C�q���`uJ����A�
�̫����L��j�'$��j
-Zou�"9�$�n�zd��#�Hl������@�ٜT!'��d�.�?
����G%+y
-���\�q�w/<}�u���';j
.V�	?�:��-�L�eǜ�4���^
-f';N"r�
G��e�$����W��K�
	�?�9�k����0!<�f�(�i9�q�k�=Bۣf���8�� ���
�_�t���H�_w���jH
R�r
�H��K[��o���n���n�����/��{<�Vn߅_��2���C���]m+T�W�H!��Be�Ӗ ���,\�x�g�B��
-^��v�}���|||D�{�n[?4�n/
֗#��V������(�y�%t��'��6��5~%�-<�t�	�I&�� 
-ҷ�endstream
+x��Z[o�F~ׯ��VV���P��
�� n�ݗ4���J�J�q�_�3^��Nm,�O$G�s�s�>�8�Ip���?ף�ɒ����z��8Q� AIr�Jލ	A,�L	�x|5!x�U�lq5�x���o�U�-~,>TYu?��墬�y���W��
+&ﯿ��!���2��P`���/�%��`DY��z�B8"���B^m��q2���')
��6�s��K�Ϋ	��\�#B���F������18!6PB!�D�܍޽��
+ֿO0�K'wv�.��u��
�<�>��l�u�0扢ɽ�.��.�!�sk�P��M*��j�p�L�ub>fU�����+T�&B��m����&+W��X���'T�iE�a�W�kw�7y�Wٶ�#�ogk�ү��o�r�~�/�
��4�N�@��������%� �ȉS�B�����~{Y���?
.Ɠ2D9;Q]�� 
��:����\�i��	c�%?

��)�c���]QZ�.��.�!�
+޶
�!s��
�!s�
2w�!s:dVB��گX���
Y������h�^�]Qo�ֶdn�����	$��	J�������և��
+�Js�1�T�(r-��ן����3���q�W�yQN8���j�Uޭ
Ǒ
+�����o� Z
�t��
���
��w
=��t�"�[��щ�#5pG���*ЌY[sM�
�C!������CY,�D�R���B�n����AeU�_e�cS�%�"��ğNQ.��t
��

㼹F�W�Fٷܡ9i���5��}�n2w9
�����
Xǂ)E}�h�օ���RI�#t���Ðd�̰�n����Q����jq�D�_+p�XB}��(�,
�#i�b�n�
��O��C��s]���lAD2M9�0�M[�\�b
�hr
+z *��#ǐ`ަ}}�K��� ��0Jr�����

Mz�.�/V^�c�ᄌ
��**.�����_Sn�
+�
+��ۇ"6����"[�!�88pX��t����
���Ư8 jv�N\i����TJhԥ��ͤ�h
���X¡�J_�ઝ?e�U�ן�n��ƈ��A���#����/�Y�	���W���wY��[�UV���ܚ�p��AyD������ º=�o"=������.�a�27�m�B�d$I���vW`*�����(�����3e�"AL�*@

��榄�#
��HW�)X?�$ 2BX�)wJ���7O�i�(҂=�	����i�>
+pe�³�l
��Yѧ��w�t�&

O��

+9n�l�ɣ`��zZ'
��
��W��{�ЄH5����'�^
+

+�8!
rS�Y@*Px�=Ś�
�2Ҿ�F������\3Ns&�7��n�W�9Ơ
�`���zKʆ��D�<A�j���XE2�d�c�c [v�^"
����V����ɿ0�&��L^�0�&����FL^~�L��L��&��2y�bx�(�'��1N��O1�K�F�C���1�
���=�Kp���= pѵ���{+��䚢V@
�0tg
5	s4e(���V���c|&����b�=L�8Áati�
�LB�9�Q�S��F������s��@�CFFkK�}���\ <�1@�V��h�T7��tɯ�?|�M׎�_�$ϴ�+`�:��}�is/�>
����q��T]�9�<��p�z '�tJCBh�r�H��@IH@���%�Њ��L�4>�U~>��
�|�4�B�	H��ڧ���)Yf��ڌ���O{�iIc��F
�r2���S)Ud=l>
�e���H�R󥘝4�P���PxD�_�.��1�eF&��3�(�Ce$���3��څ�Yz
���^C�r�@�9���T?��{��S0���'"�6�e~e��@l��`l�聶{��1���1�~������,�~4����~a�D�#�>�L4��y�
�{�%��#��h�����6u}��fwwwhyD�eq�PQ�����{  �f�[��w�ݾ�1(JX��99�?S��
+endstream
 endobj
-9290 0 obj <<
+9265 0 obj <<
 /Type /Page
-/Contents 9291 0 R
-/Resources 9289 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9260 0 R
-/Annots [ 9294 0 R 9295 0 R 9297 0 R 9298 0 R 9299 0 R ]
+/Contents 9266 0 R
+/Resources 9264 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9270 0 R
+/Annots [ 9258 0 R 9259 0 R 9260 0 R 9261 0 R 9262 0 R 9263 0 R ]
 >> endobj
-9294 0 obj <<
+9258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 591.936 513.996 602.84]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+>> endobj
+9259 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.8986 535.8837 431.9768 548.8015]
+/Rect [365.617 498.402 476.603 510.041]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9295 0 obj <<
+9260 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4399 370.2739 513.9963 381.1779]
+/Rect [454.44 330.234 513.996 341.138]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-9297 0 obj <<
+9261 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.6167 276.7396 476.6033 288.3787]
+/Rect [323.631 236.7 429.297 249.179]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9298 0 obj <<
+9262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4399 108.5724 513.9963 119.4764]
+/Rect [135.549 96.617 195.105 107.521]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-9299 0 obj <<
+9263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9292 0 obj <<
-/D [9290 0 R /XYZ 90 757.9346 null]
+9267 0 obj <<
+/D [9265 0 R /XYZ 90 757.935 null]
 >> endobj
-9047 0 obj <<
-/D [9290 0 R /XYZ 90 611.5657 null]
+9029 0 obj <<
+/D [9265 0 R /XYZ 90 572.805 null]
 >> endobj
-9293 0 obj <<
-/D [9290 0 R /XYZ 90 597.3177 null]
+9268 0 obj <<
+/D [9265 0 R /XYZ 90 558.557 null]
 >> endobj
-9048 0 obj <<
-/D [9290 0 R /XYZ 90 351.1429 null]
+9030 0 obj <<
+/D [9265 0 R /XYZ 90 311.104 null]
 >> endobj
-9296 0 obj <<
-/D [9290 0 R /XYZ 90 336.8949 null]
+9269 0 obj <<
+/D [9265 0 R /XYZ 90 296.855 null]
 >> endobj
-9049 0 obj <<
-/D [9290 0 R /XYZ 90 89.4414 null]
+9031 0 obj <<
+/D [9265 0 R /XYZ 90 89.441 null]
 >> endobj
-9289 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+9264 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9302 0 obj <<
-/Length 2820      
+9278 0 obj <<
+/Length 2303      
 /Filter /FlateDecode
 >>
 stream
-x��[[o��~���S+�x���AR I�m����B�-�&*Q*E�q}ϐ3�
9���M�`���9g��|��df�L	�
�rv����{x��
�^g�>
	�r}q��3���rv}׬ 	�����Ü��"#�����U�]-�-(��6/��Z-�/n�U�ru�>.���׎�~�W�`�����o	�QFR�p��Z�H
�e�;�w����k���_mV��"�ϯ����~������]^-����-<bD�9��.z��u�H�g�$�j��ŇOx�}{�A_Z̞�#b
�m/8e�fs�����:�惔�a�؋2��`G{!�8vF������@�8�оB�k��}^����J�Br����C��(��{습[�s�kA�K��<v3x��4Б�b��"���˸ծbj�����n3R���}^��jS�'_/Ww1�e�,��{P&7b�
|�+u{�}Q�j������bW��~�23*�
�HJI
���!�?����w�:B�;�,�|����m� [...]
B�[��P�2��ZK��6���Ԇbj��!C�7R��(RO�%�(\dДx�P��SK�6'� L5"QHR�şA��Ҧ.������bp�JZ�N
�bpd4�X?��T"&����
{��K�`on�[�.ꇖk���mݩ���!��JF9�
4!5�î2�Wս��!Hz
}~�d�H��V� �Z�Vw
j̆�������j�0V=A{9����C�2
)����<@�rJ��.�QL��b��B��8��� Ñ
-�T�˖X�
���]�
GZ�ha�;�qK��??�U�`0I�ˑ�8h8�diT/Q��>
�%��C���k(��ucB��yIE0�(�_��b/HK!:�{6�aә�@�8I��e!հC9�(��8d)*�z�j����U�?�)FIR�� 
�P�(M
��0q\5�
{Hn�(1���j�6�%�H���El���7�]�^=�Jg�C�vo{qj}`A�

-C[~?�:
"0pˤ�G�dS*�d�[E��A�<��S
9�"�Kh���T���B�
-i�<���lB
YPm#��X�g'�z�!۞�(G\�l��(�^�?��/�{bƃ����C_H��\4���m������)�����'�b
���UQ.8�?Aa�����e=�@iG�I�tTCa�3$\G�\?T;k�g�ό�
(K��S�;=�{b'�J�	��@���(�zEV@���!�n6y+R��$�
�}b�{Mvoӈ
��]�Z#I鷰��4B)E��h�V��GE�]�����k_
3�D��
-1��=^G���rc�f�_�s�ᰉ#�n
��%8��:�� A��'aX	5����At��o�V.��Uq[�'~��w2"a�a�Л""T o��%��_" �U�z�(SV0���cK�L��
~%�0�nA��x�0i�i<��Q H�i��o2�SbX� K�m<
�H�@�
-�Q} 
��` ���

`u���$���q�
��JDG��$`���C $굇 �(
 i�jٓ��8��p�a�7"m ��y ��B  �  �0���Q
G��Q���@�`F!���
B��Q��S�P�� ��@��8Б�B&�Dl�(@���� LD��'&ߐlJe��
`�s�
8�Q���OD��bAO�" �҅';�L��P��4
-���( $^$16'B?�}����9 @�����B��͓�4`R!G` L��������B�
�L� 
�� @,�(p��"��,��
-�
@���c�N
�4��?�y�UU�l
ν�����U56��?�s���Ȩm_�Fm›s+
�p���C�
[�^�d����9
��� �����T0��
DžkK�y�LϿ���o
(˺Z��ꪑt�r� �� ������r�-�U�K	 �->��H�u�X��V�]�[����H�
-�O��Pv5�j@
8�
=�`
�oRz��F�v:�
��c�
�ͤ��;|8��
s��H
s�"l�>jUݝ�8�����1���V>�IZizM��:� kPM{B�88��h*�+8L�Ķ��
�Ը�)�H
-S��B��eK.JwF��

S���#j�:t���I"u�.�̎+w�q�	����x{����W����D`Y�s(�GLy�!��(��Y��!��
�m��Cp(���Y!
Ȏlíe
�ޔ�� ��r�4a<�4���3�EH>�E
�
��[ϯ��K��l����a}�|Q�q�a��h��ё@�P��Gǐj|t$
-Z
A�g�F)&�ǁ$���#
z�x�w%r�
Ր�p�f)fۍ�O6��Ψy�_C{cPq���8���@���@MB�)�y�^�OLP��:��
�
-l"F��q������R�[����6�D���M})��עr��6#��i at 6�SO�k�"�
h̰Ӭ=ՐuO�Pڄ21복��߿�F!os�O��	ɦ4���l�^B��P§�{�!�X�ڳ5#b�h��~�nwe���3
����������A�sg{y4BC����p8�����E��L4�ؼ�r?Z�����k��K
-���&�?n�0�m
��_��caE���0��)_�w���f��KPK�BD��j�N��֏���ۛ
��
!���۪|�Z�:~�KA����i��>4�TQ�Q��ڷ�������>Ȃ/�r
v�u��zuy����n�,�*���~s9l��6&
�uDY"�3
��!<����r�(Jx�mj����S]CQ�
��ATendstream
+x��Z[o��~ׯ�SK�x�3T/@��
���6��e�h���J�J�v�_�3^�"e�r�4�)rxns.�74��"
}=�����dQ�Iet��
)I��$�^G�cBK�
�1�?�	��j��>�)����}���շ�M�V�˥���!����SV�����o�>�SFE\(0����[�C0�,iV|�4"�pDH+�/
+y�M���
+
_�g��6�3w�l�Us�㬸�[�3E�����ٿf���@	���n��
��p��C�t�dW�"N��F�f��A�
a)zAG
q�#_76
{�a��BF����y��\��h<%GX��d��V���2_{��&ɜ�g�	GQq2O�F�ZpW���&BL�Dl��ˊ�J����z�n�ǘ�j�$ߥw&O���ߖš6?Y�m^di�z��_y8�e�V���LD�GH&�*��Ɯ����ɯ�
%$d,d�^}z�ݔ��Z"����l{xލH�` ���!X
-X��
Do�ISIcN&
%]�V�N�N��BL�_ӗ&hJ�E��b
v|q
��9!	�TÅBľ�'0�0=�Ѹ.�{�oCigf#Fp��ֆ�>?��Ҳ[�9�����H\nF
�"��
x��{gA�
��m�
��H��3s
���g�g��W�t3�"v�dU>� ��>���i�#̎R��H�D1�S
���I5<R�	I���UhN����Z
�
>μ V�yL�^P&����P
�P�z�#�C���u:�ȥ\�q�����5
�rm?n�Ǫ�I$9V�	L -�eh�EA.�� &HZ��f�ڪ��0>jh��@@'(�x��"F
‚�{#
�!����&@�lS������8�k�t��&ls"bhK�%�n�1�q�U.�@	q�N�.��ק6�v/(��B�4��
����/��鄀
3��惯��?�f{���R!��ǡ^/� 8����x��
vYQ��>�8�^����T����uS!&o��UPŠs���&��
�u����چ�\�
�Y�!玛`�
pkD�jLF���}�H�t�̴�0��@�s%{�rBI r
��:���V=�
L��d����3?�%j�rrؕS_:u����e�F�˂ {Ҍ�P��&��L@/^����
�P�H�z��K��7�C���y�N,���a�i������,	Ֆ�cZM���ӄp���3�ͣ1�L8��Q��Uf�<��0J���/J���0�G��Q� ۩hu=L��ݵ;�I2
�+3��
Z���Ҽ>,��Е��'�c����9�Ίr�i]�Y `p�ւ?��
�O�)ضɝee���葑�t�@~��@�&Hj���Oq-'8
��a^6�!k�
e�b����B�������
�H
�`I�	�I�
}���
�'��sm(�4d���Z��u�»Y�r
�r���6>M���J
�U"�KP	=����t���=U�kkE1�B'J$� ��@��N&�]�|�KE�q! ���cHh
�
D铸��"
+ճ���
Zp

AP	�F4
gd#4җmCB_�4AB$��B+	ֱ�M���ƌ3yQ�
+������%<
'!Q�S�
��<�
+k&���_��l�|�iIS�/�6��O�z#q���:f����n��	�-4r�8F�۞�woA>�E�r4G'
�
�w�a��I�p��7c��S~@�~0B�a�nWv��=
H��6�Eݼ��'�e��w�\vn����y���3��7�I�F�%���?�I-f�D���3L6�8�u�\�>�ĸ�B�����T�V�[pq:F�9�a�! 0�#��-�.��>93R�@��2�?�G ���X9춦���
��������1���Y ��-Q����-	��2��q��5yFa�����$�
��#�3<bp��
]�uH�����O�
F��{�%��|w �����G�
pYޮ���z?�A/�K>�
���G8u
w���D���k�m�L}�S�
jwD��}\o��!���s�/0w�3wq6qC����F��KZ?
���8�J{�q2�6��ŗtZc�
pw����`���&'�;,�;�
 Tx|wW�~-0�]���
T�j�`�'�2��EIH}uu����
ꎑ �U�]NSw�����
���N�Wh�ހ�aʞ�����S�_!u����[���e,Hv!�	����`����`7��8����\��C�C�C��{4� �Z��� �樦�����;��5W��)�M1C���u�_^]===��z(�}���j��^
of���>?�4��+��psg�	
7�ߦJ
�
+endstream
 endobj
-9301 0 obj <<
+9277 0 obj <<
 /Type /Page
-/Contents 9302 0 R
-/Resources 9300 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9260 0 R
-/Annots [ 9305 0 R 9306 0 R 9308 0 R 9309 0 R 9311 0 R 9312 0 R ]
+/Contents 9278 0 R
+/Resources 9276 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9270 0 R
+/Annots [ 9271 0 R 9272 0 R 9273 0 R 9274 0 R 9275 0 R ]
 >> endobj
-9305 0 obj <<
+9271 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 678.3775 429.2969 690.8568]
+/Rect [334.883 678.378 440.282 690.857]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9306 0 obj <<
+9272 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 533.2811 195.1053 544.185]
+/Rect [135.549 533.281 195.105 544.185]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-9308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.8835 449.5891 440.2823 462.0683]
-/Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
->> endobj
-9309 0 obj <<
+9273 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 304.4926 195.1053 315.3966]
+/Rect [328.059 436.355 422.924 451.071]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-9311 0 obj <<
+9274 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0594 207.5667 422.9245 222.2821]
+/Rect [332.333 164.674 425.662 179.389]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-9312 0 obj <<
+9275 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9303 0 obj <<
-/D [9301 0 R /XYZ 90 757.9346 null]
+9279 0 obj <<
+/D [9277 0 R /XYZ 90 757.935 null]
 >> endobj
-9304 0 obj <<
-/D [9301 0 R /XYZ 90 733.028 null]
+9280 0 obj <<
+/D [9277 0 R /XYZ 90 733.028 null]
 >> endobj
-9050 0 obj <<
-/D [9301 0 R /XYZ 90 524.3147 null]
+9032 0 obj <<
+/D [9277 0 R /XYZ 90 524.315 null]
 >> endobj
-9307 0 obj <<
-/D [9301 0 R /XYZ 90 509.7444 null]
+9281 0 obj <<
+/D [9277 0 R /XYZ 90 509.744 null]
 >> endobj
-9051 0 obj <<
-/D [9301 0 R /XYZ 90 295.5263 null]
+9033 0 obj <<
+/D [9277 0 R /XYZ 90 252.633 null]
 >> endobj
-9310 0 obj <<
-/D [9301 0 R /XYZ 90 280.956 null]
+9282 0 obj <<
+/D [9277 0 R /XYZ 90 238.063 null]
 >> endobj
-9300 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F7 526 0 R >>
+9276 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9315 0 obj <<
-/Length 3171      
+9292 0 obj <<
+/Length 2639      
 /Filter /FlateDecode
 >>
 stream
-x��[ݏ����BO��{��qi
$� M�K|m\C�I�;��R��׿���]�K�$;V�<~8�
������ci2��L
�(��a\N�+<y��?\�8��Y��ۻ��菱d$������$HPB'w˷SB3��`���3��y���3�����S����O�}��/77�vY5���4��碆�ww?^OHOeq!(ge���D��(3�SܾIp!
x�:��U���2*��nf�XoWyS�;�E=#zZT
�ňS&�ez���3���`�X3����;<Y����`/-&�p�1�N�W��p��zs�s��=h_H��Sp�&l�	�&I��D+�,��b���6c�&�JD$ӭ1^Xۦ�T���	�H1J'}�A�H��z��Q�/R��W�ƮY�ܔՌ���|U.�y��_U3R�h$X$��A�@5VF�~�a�$�ߑ2wO�fF��e��i��c��.��uˢڬ�*o6����H��6�Ӗ;��?�i�K�	���������M	��� st����n��J��q�H��Y�9#���WKGM [...]

�!�@ Xu�<n~�$
��P��

1���D�b
G
q���	�7T@
-�8?�ʰ��Լl�*_�= 	ѠV�$F3D��ol�ؔK��S�ΌL��i�~�n:�AXO%�H���`S�u�7��W�
wss��W���b�V�|�O��m�Q����y*���z�4�T0/1�
{�� ��Y�)�. �'姲*�z���W`�"�>�]J"l%l�N�R$�ad
��f�U]�G�	v$>G
��"�����q����� N���%d�yS�e���i5�;��� a)���Q>��f�����
9�䳪=�N�MU؀h�8U�$����7D�4�����mY����E#QHR�K�
�ᱲȈ���$�3[ֱ���s ��VL,��m
v�&
������
-���e��t�ٵX4N����S1�X��:��E	���}T?z�_z�KG��_�.c�V?(N����1Y��u�o7�@IN9�R����r�S�US	�-*���Z����
-�Uy��{ �PD	�m;w}VG�õ��c�m39]b��Q��qf��L��Y�2��
�2�	#QXG�f dZ���&;צc!|�R�(uܹ"I���p��=(�.�2�P�v)N�HH��{d���e
�rRshU\yHM�P#�1�
n +���Z~�Ǭ�r���\hE�i�Ņ1G`m��.+te�.�9ݺ����n¶�¸��"(�(p��o$�����$4I�o
Y���S��O�����
N,
-C���{�5�{�s�>j��K�m������m� �N Ư��і�R��:�둝2_ �O�he ��iɞh,86`�c,Z�w��ٮ�j%41��V�!.��6˔��1k3�aE�b;aS��R��i��M٠��DCO�М
�ƢV�U �F�?ڪ�����B���E�d',ڑ%j�H��Ɛ�O�Tc�U��VrF$��*#�m���_o*7�` �}�Z���	��Bؾag�}�����"r�}
;awPg�

�pMTY[\�W޳m�g[�
_Q�IB��B�~��am��1@�z���8T�����.8dmJ>rDH��O��P�#��~݈�E#‘2�a�̗�eF��ˈ�78"�_F���a�3��t�+�y;yqQ��`;H��>��
Z� �ף��(#u@����nG�Z`T�W�ˉYVF!Д��FZ�>K��8�$�]`{��+����D�\��+
-�%�����'i�͙�RG��_H$�_WǬ��E�h�E�`�f�� �vTg�3
a
�X�}�<E���t7���o����_�8\#&6�*ه_�r��}
E�k8=x�3�O����!���ma�o?&��	
�yY?�c�@

K�
R��	�Y��D����q�
	@����I�:��}�9��thw�� _<9#-��?�U;���e*�l�c}�a�D
D���2�_��/$��BPQp�r">)�y���s�GD���ui_|I���O>6�
����PL��!b`?��?��A��D�� ��ǒ ��!��>�F�(
�^�>
j�۔žޕ��zo{�b��Z
��t���

(��?���W����.�
6��qz~��<��
-@�d�P��tK�d��R}��L�k�mv]�.}�Q���.�rf�
-Z�(��6W����O��+w�z�|����"Ǟ3
-zw�y�pI�;M8��@Np�

�!�C�,�9�CQw#���m'�Bd(O����ֶC�p��]���r�cS�%c��ѝ�2���
�J)X bFM���zgE��x����:����7�]���dK'(��#�./��j��L�#��d���v{��U�'��G�
-�OO<V��[|(�Ee!b��@f]�<��!�+?���D�@qʹ���W1	��sW
i���L�&L��_�s��ͷ?�3/>4u�ݸ��C3jtԌ5���@�;޹��؉U�����8
F[��"`{�#-b*`;b������1�}e-],
�FD�P�����&><1Ѝ�Ku�v��ȑF�	9�W���*��
�k
-�%�>�rC��hӐ��o��7ۇ��^Z"Y���(;�J;�O��\���nrj���m+k��=�l��Ѱ�2��<�s�By�3�A���F�%K?
j�%���|v�����|l����t��wb�1�
hx
��a��r�n�Q�@�
��O�ag��saz�+�E^/�*_�Mw
-
���Y%�vh��~�k6�i���/u4��
�N
���
��sП�BJ��ӡ�"�ӡ����H8�2���'�Q���N�����X�7��'�6�y�>�)ޯ�����_�wMj@����h��:
�
-TM^�R�q��E at 5:?�:�_ ���e¢)�g������H�
d��owJD'�Nm1�/C5�.}��.��+��� +|��ڇ�̖3�)��6�*v'����"�B(T�D�rO�5	���O"������{�/�F|횟�f{s}����;=�Fes
i�z�2�
��3���:��.��!q#ekǾ.]C�ބ#�����R
�=vM��_�^�fendstream
+x��Z[��~�_���
^D����"�i�"��:]�E�h+K�$�w��sx�DY�g����%�<<<��
�
fx���뻫��!��(i8���b<�B�8%��tv?'�x�$����yR����y�?=ʴNV�g�:��nn�pV��l�
�� kX�����5!��(�(���������C0�,v3n�NP!"�#��E"ʓ�Y,)��EL�rW�I+��Or+�sYl`���,����7wW?_ �gD
�G(b|��]ݿóƿ�a���
��,�
~��۫��:

+?�
�@��YD�!7���+���5n��k��@Q����
�Y��N�I[��ܚ��}�W�����H����%���bL
;U.��i������K�͒p��T�.+4/g���Q���p�)w���'�ưGQOں��-�Ku���͊�H͸=�z쏭gx�V��c7=;e�T��r�KP̭�Z���V�ژ
@EkFY�h�R��
���j�$�[�u\4�g�� ��F3��� 6��q#+�Cs�=�/��1� �Oд��MV,�)ɳt���g���i��ڈ�X,b��~9�:P�#n��HF���΅��P���]����}x���������N
u{(5��+�j�"�Qt��?M� �Ib�TƨgSO�L���7'0H6%<��P�#��x{� wNjkXi�T��
+p�*i�un��h1)H�b�p?$Sg���שJ��yb~�*ٌ���Աh��P�$Oʄ\�	C1�&��tjBˀ"�� "z��u��8%	������>�L�}�d��@

�?��#
��I�!J�=?��Rf�%��̽ ��'odD����4y.��e����$vsӂѬd�T�\A>�
���dQ4��>��b,�	$�$�0�(���� �,�B˄�B�����gE��݄W,)XX��AJ�y�+-X��m9�A��`�p�O
U
F�ܥG`T�ڷ
ZQsMZR��~� �7W�{3LeiL��_��Z�)���C�_"��q�_U!Q4R�� =	/pA�/`Fm|� �K/`&�X�n0�Լ����P�0�u�$�YsN�0KI�,<!f���P����<�Y�~_l
S`�JX�3��],��zv,�������+�OS�8��)��:D�Q����	����?�p�'�Ly��
|Q�D���!{N�%�_H��/�"NE_��#^�;�8� [...]
+�L4�H���Wm|��C��X6v�)��F��f3��(�eD�Q�2H��\#ϦK�E�`iKx-k�fW��
��&�b?��P
��}e^�4'y>���!�5C�ۃ��	�x��jJ�C��8A�����p�3�t���uW�Ů��T$\��������1Q:665ud�� zA=���;XJH l&��f���v��S�
#N��{Gw�]����!8�q҃QHŐ�"z"��)���N �t{�a�E�
>�����A���1��)��%;N<��'�k��(�6T���g�/�-_�_F$�T,�޳����~s�+�����A��K�Xx%P
�?�++ ��_�T��&~�>U
],�� �pp�c3�hrp�ބ�	��iLu_(9�t�b �{#��㪏���y
Ud��>
?@|�ȉ��p�Қ���E�\^I=��u�q�S�K�*2mW=[������\�x�o��mt��M~��Tխ/�M����DeQ��KB4�4&�|ߌ%�+����� [...]
+~,��s몆���@��~�t��ME�T�;�{��y�����޷r�0(�W��7���|e��fP���$�q5���ˡ���nߴS���o��R�Fd- l�<
���	�V�
�8>;�C ��0��z�]�� X�7�u������y(z������Z���F5/Ԉ�Q�4o&���L
Ƣa8�skf��^�5@�۶V�qg�r�lʺ�3 �W�MU�k�����P���ej�UsEͰ����j�Q��J
��U_nU�3�n֛Y4�}��ʪ�[8����{
*�B	��ۥƼ'��P(f���-$@��&jo��_8�����(^9Q8��x|��g<��$@����2U*?��<ہ��+ŝ��,�
+
A6!$�Ms�Sp�����D at Vց�w��hx�c��i/s)
+�	��v��y)����ӄg�d�wP���
��I)�̉���0����	x����/
�ک����vf����H��t�i���XN�WPE	:U󇮛��
��[�E3����Գ3�b#e*SU��|ޔ�}2S at kv�a٬�L��4HD/ӡ�=4Wy����U����fU�`("G����m��5��4��h&��M����G�����t�
+�J�µ�m�SBQDA|�89X�^�za����l6uV���T�M�h=ρhP�+�
�p�r�����k+�sk��f������&����3�s��c�WI�	�'(�8F�鲮}�!�z��׼�������m��I�w�C倦}U�7������G�7y�	�
�_3��+mQ=�3Dz�|l�����p8�M��EV�(k����>���
+!��AtM�]�
0+`pg��H	� Z���
+endstream
 endobj
-9314 0 obj <<
+9291 0 obj <<
 /Type /Page
-/Contents 9315 0 R
-/Resources 9313 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9260 0 R
-/Annots [ 9318 0 R 9320 0 R 9321 0 R 9324 0 R 9325 0 R ]
+/Contents 9292 0 R
+/Resources 9290 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9270 0 R
+/Annots [ 9283 0 R 9284 0 R 9285 0 R 9286 0 R 9287 0 R 9289 0 R ]
 >> endobj
-9318 0 obj <<
+9283 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.3329 594.1745 425.662 608.8899]
+/Rect [274.526 562.721 322.446 573.625]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-9320 0 obj <<
+9284 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 347.6818 322.4458 358.5858]
+/Rect [285.409 545.096 332.425 556]
 /Subtype /Link
 /A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-9321 0 obj <<
+9285 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.409 330.0575 332.4249 340.9614]
+/Rect [275.187 368.058 399.221 378.962]
 /Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
 >> endobj
-9324 0 obj <<
+9286 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.1867 153.0192 399.2213 163.9231]
+/Rect [292.22 135.599 330.187 146.503]
 /Subtype /Link
-/A << /S /GoTo /D (main_pps_bgp99_extrapolation) >>
+/A << /S /GoTo /D (main_BGP99) >>
 >> endobj
-9325 0 obj <<
+9287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [347.562 135.599 391.059 146.503]
+/Subtype /Link
+/A << /S /GoTo /D (main_BHZ03b) >>
+>> endobj
+9289 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9316 0 obj <<
-/D [9314 0 R /XYZ 90 757.9346 null]
->> endobj
-9052 0 obj <<
-/D [9314 0 R /XYZ 90 682.134 null]
+9293 0 obj <<
+/D [9291 0 R /XYZ 90 757.935 null]
 >> endobj
-9317 0 obj <<
-/D [9314 0 R /XYZ 90 667.5637 null]
+9034 0 obj <<
+/D [9291 0 R /XYZ 90 625.491 null]
 >> endobj
-9053 0 obj <<
-/D [9314 0 R /XYZ 90 410.4523 null]
+9294 0 obj <<
+/D [9291 0 R /XYZ 90 610.921 null]
 >> endobj
-9319 0 obj <<
-/D [9314 0 R /XYZ 90 395.882 null]
+9035 0 obj <<
+/D [9291 0 R /XYZ 111.798 536.294 null]
 >> endobj
-9054 0 obj <<
-/D [9314 0 R /XYZ 111.7981 321.2554 null]
+9295 0 obj <<
+/D [9291 0 R /XYZ 90 520.19 null]
 >> endobj
-9322 0 obj <<
-/D [9314 0 R /XYZ 90 305.1509 null]
+9036 0 obj <<
+/D [9291 0 R /XYZ 448.074 444.94 null]
 >> endobj
-9055 0 obj <<
-/D [9314 0 R /XYZ 448.0737 229.9016 null]
+9296 0 obj <<
+/D [9291 0 R /XYZ 90 428.213 null]
 >> endobj
-9323 0 obj <<
-/D [9314 0 R /XYZ 90 213.1745 null]
+9037 0 obj <<
+/D [9291 0 R /XYZ 395.641 138.752 null]
 >> endobj
-9313 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F7 526 0 R /F8 523 0 R /F13 567 0 R /F74 478 0 R >>
+9290 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9328 0 obj <<
-/Length 3174      
+9305 0 obj <<
+/Length 2485      
 /Filter /FlateDecode
 >>
 stream
-x��Z�����?�6p��Mj[h�<.M��ݶz9,d[��ԯH����R�E��7ɶHQ,���p8��b
-l�щQ�dB��rsE'�0��k����O����˯��d$�\On�
͈�OnV歷���R:}=ct�W�������n��XU����ʫO��~��6uѴ4��cQ�����w/�f�7�H�
�s�ɓD�0J��dK��m�
������<�\�u=�sE�7��O��~�7�yS�Ռ�i�]`JM����ꫛN�����
���ջ�t�}wEA_VM
��e|���\����۫�u|��Bj�$J���̅$V��)*F91�s�Z.�Jv[��H
�&Ԥ#Cu<ޝ.�I�ѓ>��-�pN��srN�2"���t�t6},WŶ��㝝�
�˦�m��f��z���	�`��`���X65k�ZO_5���۷M^n=���m�y�0�]Us��D��H\$ɔ�P�wەU
-�\
-6���n�,>��C��p�X�����q��\K��5t+7٭���R�۪��5[K����~���W��ǛCQ���*^��'��E�,��K������n���*�Yp�����d�A���A+(s|����-0`~��J�$�Y�N�oW)�4Q��'��.7eS�nQ��cS�`)9*;Ȩ)Q�)ҥԣ!�-�3�jE�!��q�<��eDP��\��d#.ۑᤛ���B
�h0^E��P��
(H0
���P�rs����a�@���ݝ�=�釗�CU9���r���;�wh��|����+F��A�?R*�"If�hi����4��=N�|�e-Ѣ��U3a�Ebù��#��n��8;J��E���5����gyࡐs����'��
-Z��0����(V���i�۴Lw��8��ӱc�Mi�XL �	������X
t�ZuK]��
�x�.Y��G�$2a8������cL���
�hQ�בS��
-ベ(�c3�4�@4�S


x�7M����@�{ܥ���?��
��i��ȼm���a�0n��ru�W��M�mBe�*�ݨB:��0�RA���H����;��oPy�0+ɉ E�*<�*I/& k�Z�S��%R[
Y&�*A�5l�ܢC�;.��	e.1���p(��z�կ��v�=o���*�>c�sC�&w��N�K6-
d��n��/�P]�;�3A8�jRiN8���꾥y��ێ~�!�����w_|�:�ޟ
-!xE*lg,ĉYuT��m���n�6�VZ�l����_`�ׯ��R�.>�P�rya����n87I4'��K�X&ͱ�"�]L�|5�O6@��tY1�EA���/��}��1�(n�-��� ��XO�<c
���	C��B�W	�eQa�3t
���q6�;�P�'C�O����@���]��ARh��q!��M0���d
�$:�t��bR�,թ9���ڹ��x���

�%�%$�o�7�-�-�94�٠�~�j�9�\��j����8����T�M"
��|4?p¡�EL�tԄ
�x���T�0C�g:v�ѻr��:�}"�A3re<��\����n/�
���N�m���>C�V$˄�
-?iUԇu�]��Y[
�����0L�b��|� ����`���_H$�_�9�����qR�<�,�� P]�@@���{���y,�T�.��]?���-���%UXc��83�[	c�����Oԏ BH����
י�'
����#YB�(AA<4��DuD2WQcy汽{��e��b�(M�Jv�(�dA2F��v/�e:�^�T��(�sQJ���@�=�¤ia��[�����L��Fh;���j8i���"EѤ7a�q#�e�r#0�5
A�R�퉥�e�7>��C
��W��M��F
���I�
-Pq
-�C��
ꤹ0"m�VE�z�Z.4|y�ND-��z�zxg��"�%C�5�a���
%������y0gv��tv��Z�
��v��EK�ag�

ނH�R�!�� ��="͎�C�
�0�C�
�|nv�A�ԓ��C��	F:�m#1>v3�X@����>$��S����_��	����P�����ya����ȣ@1���m��̐�w�D<�|�G[P~��_#?
*RC6�PƳ�AM(��xb�S�O
BA��m�\+5����H�zG��p�Q�
q��0i\+���J�(v^b���T#F�p�����a���
-:�yK��ha��
,�#C^a���tW��	\b
\��؏��g_����^
q
�A�h�&�awP�x�z+��ܢ�w�ǹ�J(¹���^yދ�'��U58�lfL`�x��\���:�)
y�g~�p���b��5����=
�H��#Є���5�
s�@��?���*€����*w�������n'�GH��5
�]�
�+�	�
�e���[�Ѽ��a�ptђ�q�@g�ɧ��
!"{Jg!z���)�Xrx�r�F#�]�;�y����
����
bG_��N}�0>�œ8�
��}]Ih�ۃ�]5�
-Q���l|�|ާO�'\qr,F��,t2�/s2��K2
������r��7B���f�B2J�ȒPc.����
��Y��u�ik�2|
��%J.
zP��<��/A�����f�����o� W�V��d�A�';��w���?�VDp
ci�ӝ+��;I��YÏ�]qj��Z8Â�m�Y��*S?��G!�z��)X��ˏ0�m�]������C�,��_�[U��>/]�@�����V����q��@?￐�	|
�m� 	��ZPf,� 	n�. $(�5�
��"_>�� 2x�&��0�P�ͳ���]���!!M(:!cK�Oł�
UK��ᗬO��opN
-]h��1i��<&�
$8�h�����D��_�n��n��m�ϗ�m׳�����
7��
���m�mS��s
-�ݛ���ܜ�{Y%Ռhc�s% A�����&�]j�^�����XFGNG'�}M�
+
b"�(��E��ϒ�w��BT�X?�!N)l��x"B��X����x�Z���{]T�)5m��|{��G�hٺˡ *���9�m�<@��b��������'��y�
�{��j|q�M��~����,krؖ������~�r�B_�aG6n�
d�4/,D�
Bz_����f�r
�����Ds���GD��endstream
+x��Z[���~ׯ�SJ��܇T���IS���	P�(iVbJ�,I����gfx_�Z����aAjxx�̹|�����
Ͽ����ݽ�l
�@R9��x�$A����n��#�`�$c�݂`/̏��݂b/��z����M
�O��[����eEc^9�
�{CHg3�(�B�(v�?9��<#ʂ��݇.�#B&���u
�bI����1��R����A�
�{:��#BxL1�t����?3l�XE	���q����`��9}��:�9ep��f��I�S��
�#���4_�2>?���O�����˧L'��&�?�Oɐ|R� +�
���1�������yi��k���8�~2F�v:����S(�(������S�hg�K�9�?_�)Q�����1�ǟ��$��_ A&����j���?1[�+�!�}�
`�_X�m���I�ށ�N5�q�`����e>�p�ec�+G�>�j�FXp����|�n=�"�����Ws�p=��F����%?FI
%��#�C�$ Ҍ
+�QHR�^�����6
xe�ޣ���Ƞ��)��~#Dy���@A�["�6�uq�Kw�>��6=f�����u�H1s0��+<}��l�qI��^-�g<ty��Aϊh�˳���)�����&�1�I@�3�� �:�D��NEO�@�pt�D��]�1�c��5�<��m�Ɉ4L ȡ���!��F�"�w.�m����7�
�
<
+�eƽK��a������v�D�5^o!}D�
�-P�ڃ�!��ᖔB��=\��P��z
ZF}
���|��X��BO� q,j�k嘣'Q];d邊 +�ׯu%�f�6o<F�*H�W
Z�ڟE�3d��}WiNѮ���X�x*F�K�����Z긲�N�0�GBIr���������8�s�0K�(�ɼ
	,��|�6@p�3���k�~�6j�3 G{�T���������ټR���T� �
�^�
h-�_{��cź��� �Y��\攀��6�t>DV+�O��|Hw�	Hs�0�<�;����3�I{ߞϐX~kX[������A� �/���G�~a|��h���ta���O<����1�	���{��J�wU��&��[
k�6
����j}��*���m��Q�40��Kb��Ba�6��_�<���F`%#h at B���e\"�2�b���� �  y�:���ՙ��3�+h�V���*r0
��n
����z� 1�6fr�]�Dc�EL�[��LL��U_M&V����U��^�:�Qb�L�������"��T~Z at T���㱫I ���M�35e^��L��[�9��
+8�Z�.Y�f5Y
�83	ʂ4_0�
+�w;�<��ղ���B�/Q[�]��
+�uc�␞�c��
�y'�E���U�
+�z�kF�A� |�����;�l�B/c�%-��Qv�T�)h�
�K"'k���L��A��
�7u{Y
��[vv��x�����~#��W��I�Xxo
C�"eҨ�29���QV�nkix�JXp)��W��-�&3�����l�*��<�iJ�ݾg�V#�z��^��Jz������|=,۪
TA���i>��݀��
+����CA�
�@�
�\��\ĵ��?2� ��G.�;�0��m�m���g�% I�h�xlխ�ʅ��Z��s��=ڒժ�a_0� P1M�Q���QP{�ϛ���8�6��_d
�_�C�M
�P}�Kӗ�N
8�z��Y��_Vfn��t����Ք��T��
Uh�@�d��a�+��
����!(��maVm�
���~�5�,�lF��D��W�ptll.���wW�:�pcS�f�^�z]���m�^
Fĩ�	i�+��?kQ]G=ҔP$�U��=�=/Ցd��3H
����;C�b��!
+X�rB�8C��4G+�=�^Y���	(FSƏ�O�G!t��C=�iJ1�rc�t���E
]Ae
�݈�� ���!7�@*��'Eu�0�#�"��ހ�jh�+��FA o2r#�č]��F
�@����������
BHm�g�hl~�۲�SS=�qX�R�P�#���n��sN�܇dmL�U���M
+H0>*PG�6��
�ۜ	�w��Y�M�.M�%���:�����j|�f&¡y ?�a`L��/e'A��9�<�H�ӀRv�3����U�Ψ~��w��%��O�:D���'V��6�M���p��-����<�_��苒�/v�y5)5X�|7�c�r����
w���:�
B�N��c�"@�dB����"�s3���7�h(bZ�)f
�!au�
��y�밴6'vLUmX}���U�%
m��Hq�/R>:�� 6��y�����
�N��="�>�ʖw�G
�U?k�s?+�s?�Q��
!�*F�&�0n���M��'�rM�	��#�fP���y}�יUb+4��~i�4t(�luww>�Ѷ@�$�r�wY�=���
!�66xb�F�cZ����W}f���N��
+endstream
 endobj
-9327 0 obj <<
+9304 0 obj <<
 /Type /Page
-/Contents 9328 0 R
-/Resources 9326 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9340 0 R
-/Annots [ 9330 0 R 9331 0 R 9333 0 R 9334 0 R 9335 0 R 9337 0 R 9339 0 R ]
+/Contents 9305 0 R
+/Resources 9303 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9270 0 R
+/Annots [ 9288 0 R 9297 0 R 9298 0 R 9299 0 R 9300 0 R 9301 0 R 9302 0 R ]
 >> endobj
-9330 0 obj <<
+9288 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.2198 559.0497 330.1872 569.9537]
+/Rect [271.268 678.378 343.546 689.281]
 /Subtype /Link
-/A << /S /GoTo /D (main_BGP99) >>
+/A << /S /GoTo /D (main_pps_certificate_widening) >>
 >> endobj
-9331 0 obj <<
+9297 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.5619 559.0497 391.0586 569.9537]
+/Rect [428.986 468.609 513.996 479.513]
 /Subtype /Link
-/A << /S /GoTo /D (main_BHZ03b) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
 >> endobj
-9333 0 obj <<
+9298 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.268 485.3204 343.5464 496.2243]
+/Rect [117.507 457.63 183.14 467.557]
 /Subtype /Link
-/A << /S /GoTo /D (main_pps_certificate_widening) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
 >> endobj
-9334 0 obj <<
+9299 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.986 263.3618 513.9963 274.2658]
+/Rect [288.559 371.523 345.883 382.427]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) >>
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-9335 0 obj <<
+9300 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [117.5067 252.3829 183.1398 262.3106]
+/Rect [215.708 258.322 250.895 287.388]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1H79__Certificate) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9337 0 obj <<
+9301 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.5585 162.0455 345.8829 172.9494]
+/Rect [448.024 216.303 483.212 247.272]
 /Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9339 0 obj <<
+9302 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9329 0 obj <<
-/D [9327 0 R /XYZ 90 757.9346 null]
+9306 0 obj <<
+/D [9304 0 R /XYZ 90 757.935 null]
 >> endobj
-9099 0 obj <<
-/D [9327 0 R /XYZ 395.6414 562.2028 null]
+9307 0 obj <<
+/D [9304 0 R /XYZ 90 733.028 null]
 >> endobj
-9332 0 obj <<
-/D [9327 0 R /XYZ 90 545.4757 null]
+9078 0 obj <<
+/D [9304 0 R /XYZ 90 452.248 null]
 >> endobj
-9100 0 obj <<
-/D [9327 0 R /XYZ 90 243.4165 null]
+9308 0 obj <<
+/D [9304 0 R /XYZ 90 438.323 null]
 >> endobj
-9336 0 obj <<
-/D [9327 0 R /XYZ 90 228.8462 null]
+9079 0 obj <<
+/D [9304 0 R /XYZ 134.214 362.721 null]
 >> endobj
-9101 0 obj <<
-/D [9327 0 R /XYZ 134.2138 153.2434 null]
+9309 0 obj <<
+/D [9304 0 R /XYZ 90 346.639 null]
 >> endobj
-9338 0 obj <<
-/D [9327 0 R /XYZ 90 136.5162 null]
+9080 0 obj <<
+/D [9304 0 R /XYZ 90 199.814 null]
 >> endobj
-9326 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F74 478 0 R >>
+9310 0 obj <<
+/D [9304 0 R /XYZ 90 185.889 null]
+>> endobj
+9081 0 obj <<
+/D [9304 0 R /XYZ 90 89.441 null]
+>> endobj
+9303 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9343 0 obj <<
-/Length 2730      
+9320 0 obj <<
+/Length 2537      
 /Filter /FlateDecode
 >>
 stream
-x��Z[���~�_��VB�ٹ_�"
�I
��6/�!�w��D��k����pF
rH*�h�€���f�9��C��df�L	�
�r��������
i�^��˶���nn_I13�H*gw��
-� A	��m��	A�,�c<� x���������a��1ߞ��ߊ����e�r���:�U#c��������imFE\H��^r"
�e�7��&V!
���vr��v���XR��w
C����˪��y�������-F��3E�7��E6zL��߼��g[��7���>`D����
���ݼ��GX�}Q� e.N�T�0�2HSF�RZ L��b
� "mYm�L���H��B�I�}^��V�sL�b���K{ = A��Ĩ�

-)��eU
�:�?��S���O��|�$
���$�
/�"h��)Pk��q���ᾋ���
���C#�ȋO��j����K�Q�}��=
�1�W���]P�4X*����_��jfs8����Pn���ݪ�ߠ�c�i.��>/�š<Dz��;�F��yϖ�"�w��԰�K
9GR^��ϛ�XY�C�O���>I�H�~�0��v�*���Oٮخ������2I	aT#A�&68fH2����=�
*�ϥ5���.�Ҷ6��MJ}�m�n���%/'S=g'c����5B���
gY�����U�u����ztW����Y��>����w}h0R������N�*ϣD�q��) �#�$��h��gK&"\�Cd�p��9�UV��Z���N�{I̟\B� Q��X�F%�FKn)
р�k
� }S`T���$��#���ڗ՗c^�-��,$GX�Ѻ�!
-�C#��R��6K~E-� �t9DRt�1�䱖ܪUA������|�V����0�������1?�딾�f��X�pom5���
� L�f�2����F�D��WI�'�KU6B�r��!�P�AuE�ՅB��߽�h���/w�I.;�˪�
-@�O�*0dk��b�kvɬK8�
'f6J�(q* S�*x��)[BÜ*��j�k95���v1��K�:B
SƅO�H�t�F�)�Mc�$Hr#R�Mq&G��[�	+?�rH��q���+�
�W
wC��8O-|H1<	�_��2�1~�6�&����\�|�t�$�� �
%� ?.�
�c
-��_N^58�4U��֯��M�>�!�2,��x/|���l��Rb�i�4��4��,���]�`d��$E�؉#��V���2H�5�Aet��G��y-���-)��Ĕ{��_&@A<�v�<�q���l�3
�
�
���e0W5�
m�C���
�~��/s�NU��}��:�D�os������@��8��?��Ճ����D��[�v�ƍ�ct[me�bP��躽�����_m�x�~I��p'G�&������5
q�?QC矏Y���ҥ^��N
[�a��PQq����w�#(�B{�
WR?��ڧ
�RI�†B3
G�wu�rN�1��}�聖44�ñȇ�X�h_%�i�Ր�:�CdUSU6���h����爫f.�������8ҕ��j�&N�ӒK��^��g/u��hϻ
aAe���C���؀�n�V0��\A
-H��ؘٖj�X�hS�x��`��K�7����Bƛ�O����1�(d`����{x�K�5�
��B[j8�)j��-gj�{�P���~]�9��K����;#0�4�6�b3�笗P拇�����Puc.Y
vb캪
ۑk���N�[[l�~^,�o����:?��̦4x�8/�ǟ��1�ADv��ڭ��m�ַ��Ō�R'\�0]�Ww��T�Qw ���؞v[��&{:7��rpY.^����[�N78�0�0
-<
u��0+V�um
-gP�(C�:/�l��e����uk�e������|15� �)����>�8��k�z�v�~	�������$3W
k���H��Y
�ToX0-\v&�q���R~��l�ҹ1��a��$Jy��&,���5������>NlM��M�LO����hy0!jd�NE?'M�e�ǔ�FП�P�^�h���!l��uV�I�i���*�^`Y?�
Gwc#
�e�8u(���ք3�5�B�I3�Nz�O��Κ�KG�EK�Z m6��f�(���KM�!�@���O7Q
���֧���O�

�
c�ހ�\zʄg�#��ǠF�0�� �s�j�`!���N><V�����|�Z�6á:y�	幫�>��~���^�/��-B�rTrİ@�`=0b����s r�
���a�
ytڌ����T�~�_;J͚)�������Z�m������PQ�&�P
�ʷ�1&/6�f
-Q%T<�~e6��|�KF�7�S�@ڍ�Z*��rp��J!�_2o+��){��gH �7����b� ��/�%�鬺8ҍ��r���>���lTA� ָ��e�7� 9�/bF ������pz�^�Fa��Qe���m	d
����
}.��I�.+�%9����Ǒ_�&m�j���|q�e[*���}D��m��$�|�,�>6T�>��~�b�
��Y��{ٔ��ӥ��u���ĸ~��{�D�A!�D
-r��<�W?�05?X�~�;��i{�ֽJU
W�����hsFOeq<���=
w�]\��
�̘�A��%Ҽ�	����{?��N���ps����m<�;}(�ZM(�endstream
+x��Zے�}���S"U,
.H(�T9��kǩ��N�͖�#A3�%R&�h��� �
(��d'U�$�}9��Ϟfx���_nn��I$���L�Y(��
���sB��%��������ϳ��g����O�c
�V+�8I�B�v�~�rx������
!��(�(�!�R�����C0�L�#��y�� ���U!���X,)�󇅤su8��R�'o�N�
�U��G�p>ga���|�p��
1xF*G����6����l
��a�W4;W���2��������:�2��8
1ĉ�|Y�xi}�`̅�d�_~:�4>�i�R�?��?�O�d���ʱ������I�_ߝ�M�d�/�T ��U}E=�Zn�l�Y �K��l� �B̖�m@^	�D��`����q�s�٘��OW�C|\�x�������g��s���R��ë�0�HޙeI1`��<u���
� �n� ;���G-��'�>I�3���܌#
L
�o`ƿU`�M����s�d}��z 
|�6e����S�2�l�|��O���>6?G�)s���B��U��䝪�$���O�����f��qoA��q3o�B����0;�U�^1���bµ��b@��$'ms�M�J��gA�
�bH�h:*y�Zگ�+��Q}<��X���?�%)Γ�q�<YG�D8����|@���_�+q'�:j
ɡ�"Y�t��'e0�����Q��`
��h&��z���MvL�P�wR� ��\�,u��c�$ݨ6Qp�$k
+5rR��Z�	z.�
�J��T�+�+G at +ȅG�B,��œ:�u^qՌM�
ںHy���Lum=������>�@���i�2V�%�z��N��Д�
{���Q�."��_�M��x�A����E�w7�W��1#`�l�HQnW+�j�!�'�u�?�����R{H������?�yp
�"�0��.����J���
�:�����c�k�3���*}*��*ϳQЇ
A��J��7�VP��[�%ƫ���RUI7B��K�9z�^�N���{�
+;�x
.
o��*���� ��4��A�TmT��H(���=�!��_���U�	���t*�n#%"0��mZ~�h�MB�����HF
����!Z���s���5��K�9�	:ϰa��G<`���2
��I��kE"�*�{m
�=D�`ԎÞ9�ٴ7)�
Q��S>��u<�7�Xt:	�X�WX��ϐ&�QP'̥� #=�zB�/!f
�
9� ;��%Si��
���M�v���������g`M.<΁��11��
�vQ�^�8BD6��'P	�7�uN �-�WgZ����O�n��5���A���{p�z��M(�E=Ɨ�8B�@���^4$�#��9 ���5}y
���0�Ȇ“/��t�f��gg�f�vgF�vIa�~��c߶
��Gm�Qf�G��U
�ۂ�ӌC3�
]�BCX��I&���拌�U����;]J��b
�c�ԧ=$�9��0�y
 M��_[�F"��C��C$.A�ad���!
+�&�aWE
�l7�������V��
��m�y�s�љ���Mk�C-�0h����>�f��
T�����
x��+�!qi�$���TE��qi�Rò�#��vR����ٮ
�I��/��2h�[���t!�������/�t�
���*�����wK,�R�+�7�����5��,��������
4��P�:	#s<#�I��f�2���9)��/�_�sj�$(d�&��p����f(�d
�n\(_�]e1a�vT9�
{�ߞ�
P�S

+���
4��Z,D��
2�|���]��d�9|7h7;
����h��H��^�� �刵�GEը����a��_8�����-)_�->�
�
�k,)�W��k��t.�)e���Xk�d�8T[���T
�o'�U
���~�
+�C�19��י�?f��|���0�
V:;�l
+Fs���|j�
=v�%%
+^�RA�wHp�o�ñ[[@K�%*k�
T��,mcԛ
+�	������E�S�|���|0B͒�/�����ᗰ~#R����n�R�G�I�'�6}�/
+��\
w�z��e��^(0 ���꾛��s�B��Wv|�*k�|�J?ߎᑏn�k��Jk��M�K�Vi�moگ���o٦j���ă��KĠ/��GS���k-
y�]����7>���(�jMpS}��i��Jkc9 at U�r���䶇#�x
�a�ng��zwJ���Ϯ=���
�iN^oM���7��@�yVm6�jkj���`�!�_����)�3���
��2!����]H����}_���x�!������IA{*�����)��l�c��>gۚ��>6�D2��Kr���������g���[`�fF���7&\F|��&���9�ao�敹�W��?.8�[�����`�
��o�� aD��"L�2��c&�Rcޯ�����sN�4Ő-��򸺽=��hS�S�
s����������R�!lP��?�
�\�၇ӄ ��|�
+endstream
 endobj
-9342 0 obj <<
+9319 0 obj <<
 /Type /Page
-/Contents 9343 0 R
-/Resources 9341 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9340 0 R
-/Annots [ 9345 0 R 9346 0 R 9349 0 R 9351 0 R 9352 0 R 9354 0 R 9355 0 R ]
+/Contents 9320 0 R
+/Resources 9318 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9270 0 R
+/Annots [ 9311 0 R 9312 0 R 9313 0 R 9314 0 R 9315 0 R 9316 0 R 9317 0 R ]
 >> endobj
-9345 0 obj <<
+9311 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7077 704.9584 250.8953 734.0242]
+/Rect [124.42 660.753 272.524 671.657]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_787615432c9f1d6aac5a6394aea8cfa9) >>
 >> endobj
-9346 0 obj <<
+9312 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 659.3542 483.2121 690.3229]
+/Rect [172.639 466.653 300.161 476.934]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_25717d92bb71e83e73c686fb6f231efb) >>
 >> endobj
-9349 0 obj <<
+9313 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [124.4205 428.7415 272.5235 439.6454]
+/Rect [142.144 426.552 182.164 437.456]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_787615432c9f1d6aac5a6394aea8cfa9) >>
+/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
 >> endobj
-9351 0 obj <<
+9314 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 234.4487 300.1613 244.7299]
+/Rect [206.502 321.153 241.69 350.218]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset_25717d92bb71e83e73c686fb6f231efb) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9352 0 obj <<
+9315 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1437 194.2838 182.1636 205.1877]
+/Rect [128.635 247.743 163.823 258.647]
 /Subtype /Link
-/A << /S /GoTo /D (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9354 0 obj <<
+9316 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.5022 88.8082 241.6898 117.874]
+/Rect [486.549 184.355 513.996 195.259]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
 >> endobj
-9355 0 obj <<
+9317 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9344 0 obj <<
-/D [9342 0 R /XYZ 90 757.9346 null]
+9321 0 obj <<
+/D [9319 0 R /XYZ 90 757.935 null]
 >> endobj
-9102 0 obj <<
-/D [9342 0 R /XYZ 90 639.2794 null]
+9322 0 obj <<
+/D [9319 0 R /XYZ 90 733.028 null]
 >> endobj
-9347 0 obj <<
-/D [9342 0 R /XYZ 90 624.7091 null]
+9082 0 obj <<
+/D [9319 0 R /XYZ 277.106 663.906 null]
 >> endobj
-9103 0 obj <<
-/D [9342 0 R /XYZ 90 521.0915 null]
+9323 0 obj <<
+/D [9319 0 R /XYZ 90 647.191 null]
 >> endobj
-9348 0 obj <<
-/D [9342 0 R /XYZ 90 506.5212 null]
+9083 0 obj <<
+/D [9319 0 R /XYZ 400.69 429.705 null]
 >> endobj
-9104 0 obj <<
-/D [9342 0 R /XYZ 277.1063 431.8946 null]
+9324 0 obj <<
+/D [9319 0 R /XYZ 90 412.99 null]
 >> endobj
-9350 0 obj <<
-/D [9342 0 R /XYZ 90 415.1674 null]
+9325 0 obj <<
+/D [9319 0 R /XYZ 90 158.838 null]
 >> endobj
-9105 0 obj <<
-/D [9342 0 R /XYZ 400.6899 197.4369 null]
+9084 0 obj <<
+/D [9319 0 R /XYZ 90 136.526 null]
 >> endobj
-9353 0 obj <<
-/D [9342 0 R /XYZ 90 180.7098 null]
+9326 0 obj <<
+/D [9319 0 R /XYZ 90 136.526 null]
 >> endobj
-9341 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F8 523 0 R >>
+9318 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9359 0 obj <<
-/Length 2926      
+9336 0 obj <<
+/Length 2635      
 /Filter /FlateDecode
 >>
 stream
-xڵZYs��~ׯ�SBV-g�>��
��q\�WI
�[*,	�`� 
B+�O� ���.=Gc�����!Y`�#
�J(d����
-/���_�z
��C���^�|%�� #�\���+H�%tq�}�$1�Z���fE�h���͊�e���Pn����][������e�i�'Oe
Voo�}���3�(�B*���̑$��(3�SܼάB8"$����5����jM^ޮ
]��î�J���lWD/�z�b���^}u��,�$V��\�y�[���W���	n0"�����SnvW����q/�r��Vr��b�8�>�QL�b��i)CX
-
MkT��abɬ:>�xw�bd̐0�6PM�
-:dK2�����8#�+*����ݮB���m�㡩�U��u����i��b��V��>VM
H���T��#�,�]U�����~Dq��Sx{(۞���D��T
-qIHV?�h=���6ck�"�E�W�nʃe}���Y�d���
��"��̊q���U���dWm���#h��e4���y�D��0��P̐dp�s��6�W��x̰eu�B������"�GP����^92�4�
�Mz�T�4;9"�I�et�uUo�����Z���
2�@
\v>�����x��
,�_5��a�����:�Y:��	,���}վ�4?$�����r�;^����!$F�XI��Ƣ��!P] �JES�ͻ��Mg�[K���+����[���A3D!�y�7w��;�����@�O�V��j����8n��
{v�vR�Yl�3:FJ顋=w3���T$�����<as���_��N�n�	H+BĽ�k(����t  �}�M.�
���!�$�JhO�P��Y/�+��0w'��V �#I�B�

��L��vE3�ش(�	��bk
-E�/+��1
<ng��{g��T9�!T���^f�nT�����36ԈcI�
)�X`�����N/�G�$�kw\x�p�$x�6��<���@6�*����ѫl_�Z���yV����;b���b�����}R��X��#(W2~e�M��S�T��ی>)E�kz�uV&ѣ^�M��
-ݗ�we뷒�2�h�A��A�¨�Yis7���^��2*�&[��e`�Y����ke���I1���iNq�N� �\@�U�_ȱ�~=�`��릠=��/������Y~н�6�
4l�k|a1�\(a�P4E���
-����-v�Y�d\����L#"�

-]W��q�{�j������z�5ۺ��W�����p��fӗ��ܷ��/�qC��#�9t���(�]d�M�����㡬�=l�N�7_疔3�g�V�f�⿶)��e
�pw�UPJgDM��
-5QF=[�'+���c}�z�{�P��o�?b�?ر@Sm������g*ye��2,,F�PB
;������^�������4
@�$5�D��Ƥ�N��O��@���Гe�����M�\�m&��Dk��M�
-A���Ǵ���K��=y�qw��{h|����'����m0�l��|<�:�s��|��
� ����i�s̴�I�p$;�1� ��a�ۏTS��>K c�ruS�3��C�_fͩ�T�@
����>����_�����*i�w	c�j_A�=	 ��ύ7_���2��L̈
�" � 4E�)D�)fC0�ng�����
��z@��"����
-�����JX���=��1��˃�BD�S�ͳr疇��ɠ��1���f#��o�b&mWL � �
-e�,�9?�c��A=�5�0�
R�f&0蒲O� 3�<�$̑l�4)2C%��������L���$e���!�y�	*5fn�o�2 ��J ;�z�^c�F��)בR��?��҇g[���N��r�@aQG�8��Z8j�e5�Gf5��NP�j��|�"8�K���CQ���9[�
)j����^�O<o3 �Z?�����
��̕Ͳ� e�����gG
�7��ͮ�ˢ�;mW��m\̿��|�m��e
v
.�#P t��g�.�@v���������"�Al�mBE��ڱ�S�17l�H0�S9��5��ԛT�S��H$>$����6��dx�d:J�pB#ig�]p�T=��&��8(dH
��\
�1JՌ�E����
��e���`�F,�`��/q�f_�r���-�����MQ;��s��{!�~�K۳��^2���d��>�~��ȟe�J��b�x�KP�ɂ���^�~=��U��N��xN4dXm7�	�,���
V
4p�sMY�Z�z	G��x� [...]
-����]x~��93�1�=n
B�/�̏(�
CRs��*���K��
-P��K��\��b�]$�0
�8@=�8
2m�}�
��
��d?(z�խ+���饐�M:\���Ш�������3��v���k at 0g�@v�bs
&�=c�!���:w �#dt�60ۡ��
�>|��h���k�?)w�
B�ޯ

 V?U�8
?���Z�����}��3Ve#��<3/g�
-�%��O�z���.[u�����|�U�|��7��p
7
��jc���Ǻ4{�
40:��Fa&�xH,x�O5`���E���繂

W*r=�Q�s�W�
샭
-�\9
.���D<�O��F�W�D��[J��q�^Z�:��ಸP��� ���*�xH p8��y�A֑�fτ6[��L ���gL
k)�o��_LRC�n�Yt�
-rD8�sB$�����^)!��[��Kw��c��y%��c�?�ڟK�0mwi�Q��F�������ܓ*����0Q�{��"\�cP^�փ/.�v;Y�Gۮ;\�|���6G{hQս<
v/�r1;���T3�[G��,�晖ࠄ'�ܻ�}��7m���p��Y�
"gD���U�endstream
+x��Z�r�F}�W�i��2Gsnjv�q��d��bk+�K����h ���=` hJq�ڇ�bq����>} <���٫����_J6�HK*gW��ƳD$(�]�g� �K�1�_.���.��\P</�_�u�^��o���rq��ESg����r�Up`�������".pŎ�ww���e����}�
+ሐ���F^lӺ^,��󫅦�l�ߦM掼�6Y� j�+8Ĉs�c��Wg����3b%�01[��>|³5
�a�!^jvo���8e𿝽?��
����Wa�g	��H�삞��xa
[:�E�
+%Xϖ�uf�w�;�_
+ܿC#��6 at Ww>��:+����w�E�d	š���vB� ��Ϟ����T
.eSi ���6_�YY,����������|Mp'�C����M�˛l}��I
�뗇b��e�2D���k3 �����	�BR�)w��D��%D]
��ܸz�9�.�7����?b�3YU������/.�Y:����1f��9Ҋ�k1WeQ7f<�@fܿ�
)���3ӵ���E���:� TJ�S}q�
�C ƺ9m]a�W'��1kCy��y�4�kUG�+D�z�
1A�vS�Pe�v֟ܕ�Ⅺ���-��iw��U��(�����������}�6��^y�K�j�M�و����(����4�Q�O
��ə��3�c�.	��"�u=��P��<��fP�B��~��T��عՌ!8�&�<��[�.K���b��ܥuݬ/.�i^�Pz�:�=S��yǞHB4ԫz�@o߾���.�h�B(�oq��
1��m^diu�O�&��Vؽ|��c(D i�����J��8� [...]
+AJ����y�:2 �H(�
1��]���͝�s��{@9_�e�4d:��,CV�a�׬0;Ɔ�x�f�06����
� M�RK�u��eS����&�ϛ{�̎��[�� �803'B[0�TYs�`�NZ�K\��9�M�wӫNyVn�g As��U��P��8yT
��_�z�������RI��ҭ0�e�+f魔|z
c�O����Ȩ_� ��b9<:6�bH�
��3y
Y��:���k�S:�
̗K�(Hm
+��x�H�q��*�ɫ�����O�.��z�"aLx�
eYX���|
�ɊR�$�
��o�(I(|m�_K���-[׆��$]ݥ�0�r�U͗�:����86��l���K�� ��}^��u^�RvL�D+rxS��Hf��)�T��Ȥ@��q�5-��q=�
+\�N	P��ҭ;x(l֘�h��� 9
+���:�1j�k6:7Bt�
+��\=f�	H�.�n���L[�b��r 2z*{�9
+�k�8Gz3E���) ����� $N������y!8頖�bdĈ�� \�OU�@�E�5
T:�+�ՕbH��7$��8��E��"�@:1�C���ҫ*_[�.�L��;#�ؓ��=,�}2��)*14�!5���Q���;X��QK�$������֯��|ា��${4���o�r{�&�1��#ƴ ��S
�˅~
�'�#�J[�1E�}�K�!f��)��Ns��A4
+��$��7��X[�~�S�S��%;�ڴB"�f�bRHHēI��I�	ړ r��)#FH0J��`ԅ�!(u"�\D���D��I
w�qa��%�xE�"�z
����=!�L�b��"$�t����<LP^9��+�߯
<��
�
b�i�;�8b�w��9�d�Sq����W� [5q I&�j
�ؕ2>}},K��E�h,4�M
�`�0"���Œ`J�Fô ����/(`	
�s�h:�
+�n��
4w�4s�I8d�9ғp�
+4���((1{��Ah��*����3���^���3���&I���f4�4Ȅ�
l��ep�ww0��-l��OT_�

4A,�j�^R�أ�9 �)J�8���"t���-�� ��Ym���&=^���`�!J��5X�
��}O�ޏ���	��\y2�
F����
Z�0%U���rG8������'���]���v�56~��j����nM�G�iM���D7����
�q�F��@5v��b@���0d
�B�y\Qc#�T\Q�o����#���_X-T���S���.[�z�� �;�ӌ~H�U��<2
 {�r%|% �N6��K�)J�K�>{<-��
��8q%
m��J���
+/�^�̡��}�H�&\�e��	�
�
�'(����
����9��ꉂ%Tx"؆oȀ`��[�	��"��a�	:�咬����g�4��4�0�m�d��ҡ���W ����A��&_ׇ��18�Q�ne~#|�W����I���WFp��7�.̂c�ϫ��o�Eyh��*[�[08�-�e�5�l��q�gL��6�t�X�E_�Xqಡmy���jcUVU�L�����o���;�y��Y�l�
��[7�s���~�f?m�U�����
+���O"��������������������_iqH��Q�_��+���%"��
K��g����ޯ�v�Ne��y3�{�5�������
�ju��Pޜ����	
����bSV~)ʪ��ppg�փE�/Y?y
+endstream
 endobj
-9358 0 obj <<
+9335 0 obj <<
 /Type /Page
-/Contents 9359 0 R
-/Resources 9357 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9340 0 R
-/Annots [ 9361 0 R 9362 0 R 9367 0 R 9368 0 R 9369 0 R 9370 0 R ]
+/Contents 9336 0 R
+/Resources 9334 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9270 0 R
+/Annots [ 9328 0 R 9340 0 R 9329 0 R 9330 0 R 9342 0 R 9331 0 R 9332 0 R 9344 0 R 9333 0 R ]
 >> endobj
-9361 0 obj <<
+9328 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 662.3528 163.8226 673.2567]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-9362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.5494 598.9003 513.9963 609.8042]
-/Subtype /Link
-/A << /S /GoTo /D (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) >>
->> endobj
-9367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.2279 224.4256 513.9963 235.3295]
+/Rect [452.228 490.681 513.996 501.585]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9368 0 obj <<
+9340 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 213.0931 138.8169 223.3743]
+/Rect [89.004 479.349 138.817 489.63]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9369 0 obj <<
+9329 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.5731 213.0931 230.2519 223.3743]
+/Rect [144.573 479.349 230.252 489.63]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9360 0 obj <<
-/D [9358 0 R /XYZ 90 757.9346 null]
->> endobj
-9363 0 obj <<
-/D [9358 0 R /XYZ 90 573.3711 null]
->> endobj
-9152 0 obj <<
-/D [9358 0 R /XYZ 90 551.0593 null]
->> endobj
-9364 0 obj <<
-/D [9358 0 R /XYZ 90 551.0593 null]
->> endobj
-9153 0 obj <<
-/D [9358 0 R /XYZ 90 448.154 null]
->> endobj
-9365 0 obj <<
-/D [9358 0 R /XYZ 90 433.5837 null]
->> endobj
-9154 0 obj <<
-/D [9358 0 R /XYZ 90 304.8204 null]
->> endobj
-9366 0 obj <<
-/D [9358 0 R /XYZ 90 290.2501 null]
->> endobj
-9155 0 obj <<
-/D [9358 0 R /XYZ 90 128.0963 null]
->> endobj
-9357 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F8 523 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9373 0 obj <<
-/Length 2908      
-/Filter /FlateDecode
->>
-stream
-x��Z����~������&�
4F8������n$*$����w�I����	Z�Q�pfvv�7�%Y`�G
-/
-Q Ÿ\��Wx��?�"��
-�����\��L��BJR��y�
$A�����vI��zE0�˷�/�v[ݾ��x�l><�������k��ëW����fw�No��nv�+*�����:w�N?����K�[kÚ�d���拫��Dm�b�����շ���=,�+��*��~`D�����,��\���G��
�r6�]b����0�8��0���a�ڬ��g��^-9�2#̼���H���e�	�{���`�����
GД����a�P�i`����^��pb�%�3�YVA��m}�#b�6�����3�x�-��H"�"�د�aC��a��H9�$�V�����z
�t�2o,VLb$9����X�}�����a��ͮ��O����ȉUE�L�J&����hƑ*��
XS��\�_
-TJ��Ӆ��fs�'82�qg�Ø�j��`���.J_�%� S��x�o[���{G)�rEK�Cp؈���}�F,�
:�'�.
��$B
�DEj�DX��,�������ku��k�	}3/�Ka�n�TH �
�j�w��m>���;��
��s�u���rL
-�5�hj��B��!/�QZ!RD�0�f� ��̘7ar��(Y��
���C��-o����pح�r
}��Ck����v�����lPF)�<�B{N���+H����m9�� _Sѕ>�9��߾q��8�����,L`��y�>z�w�L�W�\�˝�
-�������m3��XWɢ��XHxMaɲ�4R��dV�4L�E&B�@B*~$�"�T|�2�㤓h !��ܲչeO��<&�?�x.
 ����蟪>S.IV"FHy��X�iH��|,�S*&f���jhVb���=J�XC�r[�P�]��
-��g���s��q�������,�����	D��,d1������/�M#��R�ӛ6"�۴@v~��$�6m^nܴ��7��\��6�.y�[��r�{8Jt�av�`�P|.�
[U�xn�|�*�ٴ��R�I;�>��IW�
K�(Tx��UNG�CaD�\�H0xk�a*k�����2��C"xS2��Mx#uC
��B^{�Lv��-�Av޷�^���p��ޯ6w��;wGo�V�zϠ2�l.L�|�;���~0����gz��m���!�J�gk,c������
fij+�����^W�$.��a�P.�Χ*H�YL��㨰��~���SQ��wZh�X!E:������x���X�l�f�e�B6a���q}�P��i�"�
-���B�=Ǫ�#P��[

-n�R4��lT%>S �qC�C���l�h!��T�8	�c���dgzV� �g��N��� ��S�K�!��9u.U�r�S%
�x�A��8#�vWp��N�6A�
�U����F�v��'CQ�W�.��DDd,N��\����=�Kq�=��}(/r�eG)D,��o
!�(�b�].1����!y�
���8x�f��<I#\�M�L�_� �n�`ح����[�[����l�
���)QQ�Bk���`H�
��^)–c��U�

-8Ŏ��-�T9rƼ����_n,�рO���9�]b��
��"Z�Ok搞I��|Ϟ	
�a	����9 ��\>0��~Hߣ
���A7�DBŧ�<�^
-���DH�3���J
{�$;s$�\S
-�	D$4!��,��՘j:�.�D�
x	� *]�M��WӬcB��y��j*�(��(4#�m

`+钁����[
�p�㹽��9��5Y:h�7 � 8A_�
T��k3
2�﴿������>�0�Xs�=�V����
<�4�`�h������w�q
t��t��N�k��M�ڽ��u���)H��f�(�P`� �2�q��T�1YfG'�\'�b,�/B̆p[7m'��������]�TT�>�	�&"�HO`��Y�N$B�\��|"���َ?�`߰잫��2���3�ˏZ��&S����l�� G���~����o@&!0�K�����#�ߚ��7F
"dlB�� �զ�w�W�:�N�Fsp븙
*���(f������ \Z�>�}�X�l�X��^�׉g���#�Y��
-R
��E$d3KH`
|���G���b.
�9ՌG3���W\fK�də�	�l��VWB��KNR'�	��}�>lӑ�Cӆ�/̀��W�̩�?
�N�UZ8;xJ�Ňf�i������m3����7�D�u89�L"�ى���a"pFn�$r��
z�!:�9����&!�9��/B����*�+�:E�0����ֻtN4IiO���nez��^�:㟠��
����@z�00����i[i��
��]�q3zK����nS�ݚ���;�C�3��e��t at ev��hL0�ő��J
�����ʼnܟ
2O��uJe�>B
�紘��n]׷���~�G�Qi��y�sҡe`�S�C~�8<��t+�Őr��*�l�G$R�N��*B$bed#
VłCN�v���
(�� ʨ����u?�a2�f-�J�^Z���P���=�
}����
׬X��3
&�Ѓ�d`�̡A9$4�2��1�舨�2�Q���b������_�l��jr��PI(�չ��@u6|G�f�w^hޱг��� t�U8�za�ή>������!j��7��t�
���3�l&44,�6�H!Ӈ���DQd� p��@��X�$1�o��>ˆQ����㟝n�l��
��v�j3||�G9]
^P��{��^�c�Ђ�@���=�q��
�_X���)
���G�}������3Zw谫�-�����_
����jn�V�h�KbyV�v��D�Xo�6~
7��&@d�|ͨ�U�[endstream
-endobj
-9372 0 obj <<
-/Type /Page
-/Contents 9373 0 R
-/Resources 9371 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9340 0 R
-/Annots [ 9376 0 R 9377 0 R 9378 0 R 9380 0 R 9381 0 R 9386 0 R 9388 0 R 9389 0 R ]
->> endobj
-9376 0 obj <<
+9330 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.2279 672.7083 513.9963 683.6123]
+/Rect [452.228 326.595 513.996 337.499]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9377 0 obj <<
+9342 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 662.5205 138.8169 671.6571]
+/Rect [89.004 316.407 138.817 325.544]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Pointset__Powerset) >>
 >> endobj
-9378 0 obj <<
+9331 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.5731 662.5205 170.476 671.6571]
+/Rect [144.573 316.407 170.476 325.544]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid) >>
 >> endobj
-9380 0 obj <<
+9332 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.6739 434.0418 513.9963 463.1076]
+/Rect [482.674 105.465 513.996 134.53]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9381 0 obj <<
+9344 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 422.0866 154.6472 432.9905]
+/Rect [106.717 93.509 154.647 104.413]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 131.9607 181.845 142.8647]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4b60ce3ac62aee15faac1b5035fdb4d) >>
->> endobj
-9388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 93.1064 181.845 104.0104]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b92b75d150bd5fbfc03cadec75d59e0f) >>
->> endobj
-9389 0 obj <<
+9333 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9374 0 obj <<
-/D [9372 0 R /XYZ 90 757.9346 null]
->> endobj
-9375 0 obj <<
-/D [9372 0 R /XYZ 90 733.028 null]
->> endobj
-9156 0 obj <<
-/D [9372 0 R /XYZ 90 542.5161 null]
->> endobj
-9379 0 obj <<
-/D [9372 0 R /XYZ 90 527.9458 null]
+9337 0 obj <<
+/D [9335 0 R /XYZ 90 757.935 null]
 >> endobj
-9157 0 obj <<
-/D [9372 0 R /XYZ 90 413.1202 null]
+9085 0 obj <<
+/D [9335 0 R /XYZ 90 700.89 null]
 >> endobj
-9382 0 obj <<
-/D [9372 0 R /XYZ 90 398.5499 null]
+9338 0 obj <<
+/D [9335 0 R /XYZ 90 687.202 null]
 >> endobj
-9158 0 obj <<
-/D [9372 0 R /XYZ 90 351.346 null]
+9126 0 obj <<
+/D [9335 0 R /XYZ 90 570.195 null]
 >> endobj
-9383 0 obj <<
-/D [9372 0 R /XYZ 90 336.7757 null]
+9339 0 obj <<
+/D [9335 0 R /XYZ 90 556.506 null]
 >> endobj
-1584 0 obj <<
-/D [9372 0 R /XYZ 90 256.0072 null]
+9127 0 obj <<
+/D [9335 0 R /XYZ 90 406.108 null]
 >> endobj
-294 0 obj <<
-/D [9372 0 R /XYZ 90 249.407 null]
+9341 0 obj <<
+/D [9335 0 R /XYZ 90 392.42 null]
 >> endobj
-9384 0 obj <<
-/D [9372 0 R /XYZ 90 150.9346 null]
+9128 0 obj <<
+/D [9335 0 R /XYZ 90 208.159 null]
 >> endobj
-9385 0 obj <<
-/D [9372 0 R /XYZ 90 150.9346 null]
+9343 0 obj <<
+/D [9335 0 R /XYZ 90 194.47 null]
 >> endobj
-9387 0 obj <<
-/D [9372 0 R /XYZ 90 112.1997 null]
+9129 0 obj <<
+/D [9335 0 R /XYZ 90 89.441 null]
 >> endobj
-9371 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R >>
+9334 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9392 0 obj <<
-/Length 2653      
+9364 0 obj <<
+/Length 1573      
 /Filter /FlateDecode
 >>
 stream
-x��[]o�}ׯ`_\����a$�QIԵE4��6�He����;ܝ���L��aH�={�33;K6���
�e�R�V�t����
־}	�_���^]<������]]#hFg|v��y��tq�(���
F���v������nsS�����eu��E�󻗻�7�f�/w��%Wt�r�����7�uQ-���U�C3&����/W�]��*�m/F	�<��/~����pQ�]P"�U�O��
��^H.‹��ۋ�8����DRE���K!�����P2�
���$ԇ�4\����5rf��Z��2�5��"�W����mi�;_�|��e ���
��͙l˶�y���o�_��0���Q�}20��& 
C�Y"��m��P*F�I���-fS�Q��K̉D�c̨!L�a�0(��/B�!�SL��{�
aJšQ<i{�M��rP���\
	Ç��$ܰ!I�$qT�NҏG
��Ab�P���:��;Շ�&���~TO�*��A~%���/<���J�;�Sm�(�gM[�v�z�[���3v�R������W�

eZNЊA����И8�c�����ŋUQU#�%:H�P��#�@��0բvwE���p�4e~%l����#	���P�ε���r���i�k0{
-=�=�p�'sR��ZO���6C�+������x�� �gP��mʢ
��& �����Z���~j/�q�;�Q~+��Aܣ�
�

n8��A!���tnT�ó���'J۳�/��� ��JͫC�P,�����]Dl7�����W��/m�I����&�ݏ�#�"1���ا�+pa)���*�p�J��*�7�U�7oW��S�*�`�3�������`���
PXVň��_�G,M`���,�&1r
0O��M��+���D7�vkqĻ]H:���ʥ_�4�fkм��k�(/�'���"J
-u�e�1F7�J
"�u�
|�7-������M�����=l'���:lW��둭���"�b
-�1�P!f3>����[7�Hvmܸ^�[<�awڼ�
�y�
dIM蕓T9sDq�Z�!���d�,�;�����q�(,��+Q��:�)q�%�ΒQ#�v�΃,뺨
n�o��`��7��1uz��	����zXe˝��`�:��9u��Fu�y1uv2OQg�� �#ՙ)ģՙeՙ-�w��u7rˁkF���ɎUDa�a6Q��^� 
-�Vk�9G�i��B#��л�6�B�y�i\w�I�.��v^��2���	��ދ����J���^���adN
-_B��	�/5 
h1��C���(���ɋ(��y�����S~��U~�i���U��=��+��X��6n
���Y a

'
���N��/-����Oc��`����1MѾ�|����Q
�pe���.lV�úX��E
?m�|�
i�i�{��a�Ѣp�x�s�l�hIR�/ҴS�"K���fq����
�h	KX#�&�����E�Z�*o7i_`���y냇9{hQ�;�9]~Q�8)q�,��Iw�*µ���G*�4`F�H� �N^D�����p�}��s�x���L�[���P-��C	�$���HE�[�r��cr���YzOcda�+�]�?_����Y�i�ѻ���d�y<�UU����>A%QT���� r�`��2&����#͛����;��;�`7=
����m\�\@a�-��W�SG��Z�S���a�ij
���|-"
-#a��
{=�쏯2�B0¡�S
��a�I�K�T�+HD!$$;n�T� �9��ET��s<)��1������e�������H��v�gNA�A�;?���_~(W�M Z�~(?.7Ef��M�x�e�_�k�c�Cm;
��m$o��Nެmw�N�m�� nj��mC�42��e{�v�-�i׆�6|j	
�0�:Ѳ�n�2[���8���R�uI ��A�����x��0�D�6�i+�[v�BHxkw�?*�e+J
Ug���1r�
`��
o�}�w
��|�;��kb����"
��$`?#��eݨF���E�O١b�AW�,Չ{j�4��Y�j�u����ٳ�A����:��2���\B;Y'z�xr*0�=�����\��A�I�%'�3_��BH���Ff=�R �A�c\q��PG���(��z�TB�
-��
#V1}�l�����Y�{a�,6��Kb�q
m�<�~��k�
fL�<�OӞl���S�=����
;��0��Ӏg�=�.�:��}���
�p
��i~N����T�2��Aɯ��#y��5�����>m�-
#я:��%�퍓�BD�AH+(ʺ$���F���x�� �4��
�PN�
Q		k~j(�$k��p�a8�~M#c�����#r���ͩGk�DP��IN�'<<�7��/�#I�۳g	���s�I=��rt3G�W�n
�����)zK
s�s]�g�
�;�{��
��>
hT���e�Bk��Vk��G�?��a;�?,��0�{���CU
��
ϑ��R�j�mQ�}��f"�c��w��߾�~��������I�v�_��~����O�>�UM��"�������Б@��?O���o 
�t*/�_�A/�\�w��ڷ�*>��=:Ҡ�����Iendstream
+x��Ymo�F��_�T�
+�y����DQ�6�Uw�S݋�~�E�ML������β�bl�s.N�J�
xvvf�g^c����/�����w�m(p�kLo� �K�Ę�ƥIr�5&csbl��"�M,��<]�y\��_��2,ק����y��>�4��<�Ɣa�<
�J^~�7���o�,�B5!�i{�u5�0�y:�{D�8l���!�fF�]^a#��
���7V���p�
ߩq1�}��:Fm�]�
�� W9W�Esa��;B6����=��gR��
lt�V�^<
�����b@�����4�y�uZ�{�<���j��
f�@T���x�dĒ/���q��|w��c�0D1�`g�TH]%"���*F���x#%֗��?*
��xk���l}D\����=a�h�^&��hȔh�"Dɰ>�|�CvY�d��dxk��
`�!�kV\<J�4��W�
ل�ګ:>=mH������J�!�A����
�`+{=���y�Zc��f4���,ʳ:L��j�4��ZJ��H!��(TBp(��u�J
�b>���
$�sM�%1[�Y�<�qDD��<�"fkR���B�Sp�[�����
"�
��E5��G>�G� 
+���:�s�o�<Z
+"lt�����<Q])�Ԫ�
��g���e�h��VY��e�*�n�/Ӕ�6
�mIq�c$�!���
��/u���HѼ��D��tPjl(%��B]z7�
��m����+��M(�
+eR+fq��&gJ��
�+�U �K�(]�Cm�_Z�t���f�{zl�|��ˈq�!�,Q���u�DҥO|q���-�H���]��\�+\���%V�����U��F�	n%�,^.�m
��
7i�!����($o��l"
+#�����G��g��\���uԻE@\�
z�!�e)%{�aq�
*��xq����e{&/�W�O��F�`Ca�#��� K��`&Ě6M�ص��xF�^�ډ�Ў)��Zq��2�6Q�!�x��כ��
���g�*8{�L�
f���H���sQBQ|��=���B�'݉�)1����>H� Q�?�B,+рw����7�
��s�
�0Ft������*���
����%~3��%C�ՄW�a�h��
�ެ�D��ŘY.՘��l5�<K���]��κ��ط�m���8l���
��o,
0dc�XD���3��s8R��tWma��[�0�n
(fa����H)Y��M<��t�c�9��
+Ny��IX{��_
V/6dUr�'�Ӄ˲
�*
׃ ~kε��X�ˮi��nY+�Z3{lYS@�g�bR���+�Z�|j$�Ӌ�0s��A����D-KtF4Ip�֧E�J�|��3�>���G���$�a)�/^xDu��@5[�������U�^Q.�J]�~w��Z�
]c];���}�����8�վ�
���l�{�S0�
��E������$��`bl;�Ɯr�ޘLڗ<�V��7@��^�^��Oa�
SK�r/TA>�ހ�OQrb
��5�!a.8W�K����㨙�:�)�fݽ���uqzr�Z�PT�e�%JꓢHOv�s�� ��
��
�E^�Y
.��A��=�K
+endstream
 endobj
-9391 0 obj <<
+9363 0 obj <<
 /Type /Page
-/Contents 9392 0 R
-/Resources 9390 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9340 0 R
-/Annots [ 9395 0 R 9397 0 R 9398 0 R 9400 0 R 9403 0 R 9404 0 R 9406 0 R 9407 0 R 9409 0 R 9410 0 R 9412 0 R 9413 0 R 9415 0 R 9416 0 R 9418 0 R 9419 0 R 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 9429 0 R 9430 0 R 9431 0 R 9432 0 R ]
+/Contents 9364 0 R
+/Resources 9362 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9379 0 R
+/Annots [ 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 9361 0 R ]
 >> endobj
-9395 0 obj <<
+9345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 471.944 181.845 482.848]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4b60ce3ac62aee15faac1b5035fdb4d) >>
+>> endobj
+9346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 433.089 181.845 443.993]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b92b75d150bd5fbfc03cadec75d59e0f) >>
+>> endobj
+9347 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 696.0019 154.727 706.9059]
+/Rect [133.915 394.235 154.727 405.139]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_4cc725a9fe3bdaded2c131bb8bb47ed8) >>
 >> endobj
-9397 0 obj <<
+9348 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 657.1476 165.4464 668.0516]
+/Rect [134.114 355.381 165.446 366.285]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a317e5d2d782c3589c48cb3b45d6790d) >>
 >> endobj
-9398 0 obj <<
+9349 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.7836 657.1476 273.3806 668.0516]
+/Rect [192.784 355.381 273.381 366.285]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9400 0 obj <<
+9350 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 618.6669 150.493 629.1973]
+/Rect [134.114 316.9 150.493 327.43]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_80b9d602f99df76039d58032b20041d7) >>
 >> endobj
-9403 0 obj <<
+9351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 537.5308 218.0286 548.4347]
+/Rect [137.432 235.764 218.029 246.668]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9404 0 obj <<
+9352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 537.5308 250.9649 548.4347]
+/Rect [218.527 235.764 250.965 246.668]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_553ae81ae234cedad36e72b32c967e65) >>
 >> endobj
-9406 0 obj <<
+9353 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 498.6765 218.0286 509.5805]
+/Rect [137.432 196.91 218.029 207.814]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9407 0 obj <<
+9354 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 498.6765 262.0428 509.5805]
+/Rect [218.527 196.91 262.043 207.814]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_62827195c6aeacf38a8fb3df6df8ff2e) >>
 >> endobj
-9409 0 obj <<
+9355 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 459.8222 218.0286 470.7262]
+/Rect [137.432 158.055 218.029 168.959]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9410 0 obj <<
+9356 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 459.8222 290.8043 470.7262]
+/Rect [218.527 158.055 290.804 168.959]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_9f09728ae53c8e3dadeb202f28bb6fdb) >>
 >> endobj
-9412 0 obj <<
+9357 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 420.9679 218.0286 431.8719]
+/Rect [137.432 119.201 218.029 130.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9413 0 obj <<
+9358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 420.9679 266.4564 431.8719]
+/Rect [218.527 119.201 266.456 130.105]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_1dd09c87a931132dbee52ea24266866a) >>
 >> endobj
-9415 0 obj <<
+9361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9365 0 obj <<
+/D [9363 0 R /XYZ 90 757.935 null]
+>> endobj
+9366 0 obj <<
+/D [9363 0 R /XYZ 90 733.028 null]
+>> endobj
+9130 0 obj <<
+/D [9363 0 R /XYZ 90 691.329 null]
+>> endobj
+9367 0 obj <<
+/D [9363 0 R /XYZ 90 676.759 null]
+>> endobj
+1542 0 obj <<
+/D [9363 0 R /XYZ 90 595.99 null]
+>> endobj
+294 0 obj <<
+/D [9363 0 R /XYZ 90 589.39 null]
+>> endobj
+9368 0 obj <<
+/D [9363 0 R /XYZ 90 490.918 null]
+>> endobj
+9369 0 obj <<
+/D [9363 0 R /XYZ 90 490.918 null]
+>> endobj
+9370 0 obj <<
+/D [9363 0 R /XYZ 90 452.183 null]
+>> endobj
+9371 0 obj <<
+/D [9363 0 R /XYZ 90 413.328 null]
+>> endobj
+9372 0 obj <<
+/D [9363 0 R /XYZ 90 374.474 null]
+>> endobj
+9373 0 obj <<
+/D [9363 0 R /XYZ 90 335.62 null]
+>> endobj
+9374 0 obj <<
+/D [9363 0 R /XYZ 90 254.738 null]
+>> endobj
+9375 0 obj <<
+/D [9363 0 R /XYZ 90 254.738 null]
+>> endobj
+9376 0 obj <<
+/D [9363 0 R /XYZ 90 216.003 null]
+>> endobj
+9377 0 obj <<
+/D [9363 0 R /XYZ 90 177.149 null]
+>> endobj
+9378 0 obj <<
+/D [9363 0 R /XYZ 90 138.294 null]
+>> endobj
+9362 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9399 0 obj <<
+/Length 1385      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�F~ׯ�/.�T����M��$�����q<
,�mZ
+ +��=
����z&�X����|�
η�Ε��_F?MG�#ɜ��Jgz���%A�g:wN]B�ޘ`��c�`7����G��%��j�G��y��

گ��e���J�2�RoLv�%QQԗ'�R�
	\�Δ6Mw��{g������#���#|�3����3����F,
�u5k�p��3q>��
an(p+@�%�,p|�����
��ro�sN�".Jaf���Wfi'�

��V�mC;+�r�G�*�~��/X`�#=S���ȧN I��IN�1�(伎gz��\/
H
��"68��,Y��܎���>Z����.��8-ͳ��="\�8��=9�Ң���hG
ڍY�p�9CD�:��<V鼛�>�5�c�����Ȳd?��R"Y���.L�ȞB3����T=���'����W���
��Y��6��`'Z�D�P�U��V�����N�f���d�̹�a���
�]��$Ӆ�*�E�]����o�D��>�	��C�(�B�\���P�)B�Y����E�A�4�
���
<8��1��s7Vɼ轜Z�6��{��6�J6�IB|$����g��	&�������+�L�+
+�o����ks#I�[��|�>�I�(��^y
��5\��t���(��Ә��������L�*<l�yd6^Q����
��H�g��	�1B*
����B-. at kTח��}�G
+$B~�&�
f��hQ[>�_P���-F 3�y	�y����Q�v����R���"�}��8
�:{�U�\Y
�TF2 at .!�Õo�RD�,}��(N,�ޫb��K�~R5:)��
U��2����윦��ڢ�<��۲QdVv�6J8^,�P��j�����jJ����֞=�

����� 5X�V����
���l��q7��c�7W��X2�i0f�Lu{���yP�!l¢� ��^m�Dl��
+��p���Hx���+�=������)׭]�I�d��H� rzYq6L����6���
�Ƙ/	��P�
��B
�
����=F����=*��ߦ/�W���`bX̻,�]�	�Vnո�2�oa���w����Ƀ�&�X�q�x�;����i�gZK>;�Xs�:��
�V�[
��=OсQ	�x��rw9��}�D��59d��kj��b��T��R|����G�辏?��a}xOm�Z ,����SY*�E�т���A
�$�啕=%�Z�g BP���㪁��g8���C�C@=�
:��u�M��ҕͫ��6���-tt�o�+�4��3P꟔2�����ث��*��ES�Mo(|]����d�^�Y�Vi��Q\N��d��fo��_����ȇEf�B�—���[ �
��Gz
+endstream
+endobj
+9398 0 obj <<
+/Type /Page
+/Contents 9399 0 R
+/Resources 9397 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9379 0 R
+/Annots [ 9359 0 R 9360 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 ]
+>> endobj
+9359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 382.1136 218.0286 393.0176]
+/Rect [137.432 719.912 218.029 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9416 0 obj <<
+9360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 382.1136 255.3779 393.0176]
+/Rect [218.527 719.912 255.378 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_c8b0d22ea3470020b35240f778c34a94) >>
 >> endobj
-9418 0 obj <<
+9380 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 301.3511 180.5399 312.2551]
+/Rect [134.114 639.15 180.54 650.054]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_825bf274e880e1c8d51b42d32c69004e) >>
 >> endobj
-9419 0 obj <<
+9381 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 301.3511 288.474 312.2551]
+/Rect [207.877 639.15 288.474 650.054]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9420 0 obj <<
+9382 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.2071 301.3511 410.8041 312.2551]
+/Rect [330.207 639.15 410.804 650.054]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9421 0 obj <<
+9383 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 262.4968 178.2386 273.4008]
+/Rect [134.114 600.295 178.239 611.199]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_f7184f692efc0672e3213f6be9d5cf4c) >>
 >> endobj
-9422 0 obj <<
+9384 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 262.4968 286.1727 273.4008]
+/Rect [205.576 600.295 286.173 611.199]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9423 0 obj <<
+9385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.9058 262.4968 408.5028 273.4008]
+/Rect [327.906 600.295 408.503 611.199]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9424 0 obj <<
+9386 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 223.6425 194.5074 234.5465]
+/Rect [113.91 561.441 194.507 572.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9425 0 obj <<
+9387 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0055 223.6425 245.6949 234.5465]
+/Rect [195.005 561.441 245.695 572.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_d1bc9d7804925b15f8205df0b3efc8a4) >>
 >> endobj
-9426 0 obj <<
+9388 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.032 223.6425 353.629 234.5465]
+/Rect [273.032 561.441 353.629 572.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9427 0 obj <<
+9389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.3621 223.6425 475.9591 234.5465]
+/Rect [395.362 561.441 475.959 572.345]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9428 0 obj <<
+9390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 184.7882 194.5074 195.6922]
+/Rect [113.91 522.587 194.507 533.491]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9429 0 obj <<
+9391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0055 184.7882 233.3115 195.6922]
+/Rect [195.005 522.587 233.312 533.491]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b9da0d811233cfb64481a7fe08b7f645) >>
 >> endobj
-9430 0 obj <<
+9392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.6487 184.7882 341.2457 195.6922]
+/Rect [260.649 522.587 341.246 533.491]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9431 0 obj <<
+9393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.9788 184.7882 463.5758 195.6922]
+/Rect [382.979 522.587 463.576 533.491]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9393 0 obj <<
-/D [9391 0 R /XYZ 90 757.9346 null]
->> endobj
 9394 0 obj <<
-/D [9391 0 R /XYZ 90 715.0952 null]
->> endobj
-9396 0 obj <<
-/D [9391 0 R /XYZ 90 676.2409 null]
->> endobj
-9399 0 obj <<
-/D [9391 0 R /XYZ 90 637.3866 null]
->> endobj
-9401 0 obj <<
-/D [9391 0 R /XYZ 90 556.5046 null]
->> endobj
-9402 0 obj <<
-/D [9391 0 R /XYZ 90 556.5046 null]
->> endobj
-9405 0 obj <<
-/D [9391 0 R /XYZ 90 517.7698 null]
->> endobj
-9408 0 obj <<
-/D [9391 0 R /XYZ 90 478.9155 null]
->> endobj
-9411 0 obj <<
-/D [9391 0 R /XYZ 90 440.0612 null]
->> endobj
-9414 0 obj <<
-/D [9391 0 R /XYZ 90 401.2069 null]
->> endobj
-9417 0 obj <<
-/D [9391 0 R /XYZ 90 320.325 null]
->> endobj
-9390 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R /F100 2135 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9439 0 obj <<
-/Length 1645      
-/Filter /FlateDecode
->>
-stream
-x��Ymo�6��_�a@&3�w�A;`��[�f���N�ɒ+����w�(Z�i9m�~$�x�;�=|x��1�2�x��B�q9�-Gx|���������+�����R��FZR9�^�$A�:����A�L�c
]M��r��\M(����������Lʇ�����s�߼4YR�E>�R��gY�^7�/�”G&���
1%&o�_�~��޺�&������[<�â^�0b:�-
0"Z��r�)k��������?�D���P���J�43o�s��gv�k������!ܔ#�5��{����L�au�T�Y��I�
��M.���U?/Z[T�@��b�P��f�+P/��/�q��mJ�C0|E!
���)��#����]W�b]�&Y6�?;pCI/��a��;'��P+ʡ�֡beʤ*�&ӄt>` �A
ׂO��;
-!D�)=
//u�=Ja_�x/^^����m
f��j�/F)"�>:�^����z��W�
�
r�s�c���j8L^�
3DA���Y�<+D$�+bp\�!�DI 3�0�a�c�2Ӯ��+��1x%y�-�V:ޙ�^���V��-�&DD5�!:�-W��X��

A�PI��@ �uG�JҬ���zV��6��dx}�
����I�g厚V&����e��U
(k�($)��Rꎞ��J���,M^����=�7YX8#�)��s�ڟi{)�v��p�� u�,S�ϝk߷z�'�KR1��u���������(��T2����S;f5�4�RO�㿷�kɳfYZuI
�
��
g�X9�
-1�N h�p����Hx����)|Z�r�����t�L9�H���J
��׋:o��o ���&�r��.�@Q�ك�:4�"�����ň�{N��=T�[�Eb at I[�d�]:K��A�n�N����_If� �� ��
�C�MH���6�.Є:H��Dm�a6�5� !���:X��F�Eykږ4��}4�|	�9@���&�V��G��Y3���
�Q	^| ���ٛ��=e�@	ao0]t�^!g �T���	6cJZt
`v	�<�A�Qj������������+�c!�gG�@*O'��d���QLJQ�Ȏ�&LES�Jt�g%�~,���1���
T��I�
 ��(�`��f���b��+fP>r��k�۴�wY�'�r=G��=��^�!��y��m�&O!U
!�
- �GR8��eݲ��J�0��C7b"4R����{.�%���w}�3v'eK9ٮo
Pn���
�Jը�r�j;ӏ؄� Q.�*�<f�#��)�q��_� ��\
��ʿi(e���
i[7������P{�X��roc,�,+왼M����if.�*�%�d�S��Ty����A��N�	�m��gw��������ꢾY��S�m)����_����A�
����u�ϲ��8C0��'�'��8%n��~7N�X��
�
��	�3�Ơ�@Y�IM��#E4�"I+��5VZ'z	��;?�7l�

*���pf}c��0�k�oڲɲ�{�ʔk�^p[RB�\��+c���"� ֽ 5���ۧ�;-���i狦��:�=�k�|_U�����v�fk���U���
�z~Ч��\��M�Ё/�ȳX����pY�'p���e�;p��W���3Uendstream
-endobj
-9438 0 obj <<
-/Type /Page
-/Contents 9439 0 R
-/Resources 9437 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9340 0 R
-/Annots [ 9442 0 R 9443 0 R 9452 0 R ]
->> endobj
-9442 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 669.9687 226.0342 680.8726]
+/Rect [175.349 414.546 226.034 425.45]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation_f00b427f47054a80d236d124443c580c) >>
 >> endobj
-9443 0 obj <<
+9395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 669.9687 401.7729 680.8726]
+/Rect [321.176 414.546 401.773 425.45]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9452 0 obj <<
+9396 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9440 0 obj <<
-/D [9438 0 R /XYZ 90 757.9346 null]
->> endobj
-9441 0 obj <<
-/D [9438 0 R /XYZ 90 716.2211 null]
->> endobj
-9444 0 obj <<
-/D [9438 0 R /XYZ 90 632.6486 null]
->> endobj
-9445 0 obj <<
-/D [9438 0 R /XYZ 90 556.3236 null]
+9400 0 obj <<
+/D [9398 0 R /XYZ 90 757.935 null]
 >> endobj
-9433 0 obj <<
-/D [9438 0 R /XYZ 90 534.0118 null]
+9401 0 obj <<
+/D [9398 0 R /XYZ 90 733.028 null]
 >> endobj
-9446 0 obj <<
-/D [9438 0 R /XYZ 90 534.0118 null]
+9402 0 obj <<
+/D [9398 0 R /XYZ 90 658.124 null]
 >> endobj
-9434 0 obj <<
-/D [9438 0 R /XYZ 90 484.7706 null]
+9403 0 obj <<
+/D [9398 0 R /XYZ 90 460.798 null]
 >> endobj
-9447 0 obj <<
-/D [9438 0 R /XYZ 90 470.2003 null]
+9404 0 obj <<
+/D [9398 0 R /XYZ 90 377.226 null]
 >> endobj
-9435 0 obj <<
-/D [9438 0 R /XYZ 90 422.9964 null]
+9405 0 obj <<
+/D [9398 0 R /XYZ 90 300.901 null]
 >> endobj
-9448 0 obj <<
-/D [9438 0 R /XYZ 90 408.4261 null]
+9406 0 obj <<
+/D [9398 0 R /XYZ 90 278.589 null]
 >> endobj
-9436 0 obj <<
-/D [9438 0 R /XYZ 90 361.2222 null]
+9407 0 obj <<
+/D [9398 0 R /XYZ 90 278.589 null]
 >> endobj
-9449 0 obj <<
-/D [9438 0 R /XYZ 90 346.6519 null]
+9408 0 obj <<
+/D [9398 0 R /XYZ 90 229.348 null]
 >> endobj
-9450 0 obj <<
-/D [9438 0 R /XYZ 90 299.4479 null]
+9409 0 obj <<
+/D [9398 0 R /XYZ 90 214.777 null]
 >> endobj
-9451 0 obj <<
-/D [9438 0 R /XYZ 90 284.8776 null]
+9410 0 obj <<
+/D [9398 0 R /XYZ 90 167.573 null]
 >> endobj
-1585 0 obj <<
-/D [9438 0 R /XYZ 90 186.4848 null]
+9411 0 obj <<
+/D [9398 0 R /XYZ 90 153.003 null]
 >> endobj
-298 0 obj <<
-/D [9438 0 R /XYZ 90 179.8846 null]
+9412 0 obj <<
+/D [9398 0 R /XYZ 90 105.799 null]
 >> endobj
-9437 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F74 478 0 R /F97 1822 0 R /F67 366 0 R >>
+9397 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9455 0 obj <<
-/Length 2690      
+9433 0 obj <<
+/Length 1461      
 /Filter /FlateDecode
 >>
 stream
-x��[ko���_�~q%�b�~��A��W�&.�bwa(�8��^;#���˙!�y�c��R�%���3�<璜1�a�GfϔP�0.g7�
<�����4/��e���ū�R�
2����mA$(�����sB'�%���-������݂��~�p��������bU<�~�~}�m��~�mV�|�[,���7�UY�/�g�Y� z��n2�>gJ.~����oW�ms1�Ib��~��x�����#f������1t����7����q��/
�D6�(�!,�����q���W�S���S�~{���K.�.c�1��� *
-���3��X"�P*���oQ`��Q���#��l��\
t���f�&Dtrۏ�O
�}���S,zq-�Uy��������1�\�D

*�]3��


�I=�70���P(D$�I-r��0�`��a��#lg�2�QQT|��"��R�ae�c*K��E~��
��
Ll|
ʪ�Q�������뛬(jd+��&A�[5���Ûᆱ_
��١�Qf�c ��m
�
4xj���� ?�$Vs���f܊ր��(��Q��c���� �
-��8y�V{XR�a���y��[y�
-n瞠��^܉
-���+8��)�]{Pp5����V�z�^�SU�%LOJ�Ru#�j{��4���0�_\�z����ș	$9�_RΔ"i�N����r��
���
�M˹�{���,zq-�C���r
)�U��
*�XHD��m��	�~*��Y�
b�T�`՚�֦
��%��@#�
-Jl
h�
�D�'��S��>
�JED���bu��
-q�
��L�x_}5�f5c"�za$RZ�/�z�B�z�Q��%U��>�ש����~��+^ B���(�����Z���ɳ�~�3����w�Tj	C˻��懕n@VS+��)����{��
�(b�'&�G%HPe��hs�|�h~Bj�
�_#b~
f	^-��������?W�u���m
�G	�/1/m����Z�F�;7z�G,��v9�y)��`
�^�����v��U<���0oܮZy��U�A/�e�z���m!
~��
*�U�Tu�=}u"�Vi�Y
b��`�⛻��.!+;�l��Ɲ�n�����Wv=S��B���-��z\Hh�κ� ��
�i-Tu���9�{��
�^E)�ODŽ"B��������[���I�pT�N�|�C/I”�h!(�K7WF�R�+�9o��������L�p�
X�Z��ɣR�\	7���8Fd�@TIu����𰪝;3X�eV<


�VGg�7��1�'A�����&�IN�eK�:]���<��1y��zy�yS�le�"�8�^�'�3R�'�3��˳U�����oA�Ј
-E��Q��ۭ|�HI}
��g���1b�t0����J�ݸ?ٻw���z�j�^��~ڬ�T�%��ܭv�W:q�}��p�43�d��m5��-�I����	��"�v��͸�
03�! �
�t�h�GwH�u���]E��NXE'��G=_��@�����;T*���B�S��}?�T�M-��'h��N3H�`�*
��G�H�j!љ���%��`� �ϩ���~�I�0��ģ$8t|�tG
�IȘ'�[Ja�Y�Ĉ���=���u�>��#};g=�{ZN#G� �n��}�S~���h��)���d��x )L���aM�Ȕk;Xڵ��1׎���
捻v+�׎3��
]�O�
]�>%�~�Jew�ܲU�qӆ�
믉%p��^ԉ�
u�0/�u�pv)i�H86����L-��'���NtlhN:��Îݠ$���:3#���`����8v#��
���~%�<�� ��9�
-���B��,��
���0`7�=�%,�
�Νb�p-vI5��G�Z�U���ػ�)�ע�Z��e�T
SZ�(ǥG%�S�I���^�`��
��f��)���Ƌ	�$�:^
�J�`���l�D�
��bjA<>ťwZ;�:��ҁ8�&`1��P�ػ+� �fĈ5����P|�g�u�9
-	�Տ���퇥��NB�/��ݤ�
�E<�j������s�����p�;}��7���|~���m>�ӻ|��?�C�|ٳZF,â�\zP<;�y�L�H�
/	�'z���ߠ:1��;L{J��V����HQLZ
֮hF������n�i�.)<�A_w�8.|�Y�q['
|䬛XA���7���wni��ǻ�[���˘�K�A�O�
<�B^�绁$�1���[��0}��a��3{"�-g���jJf���ye�G��G����u�;�ؔn �n����[�

MMK�@rc�hS
���aɶ��x����ZV+��S��C Xr�զ1ޚ
>E�w�iQ�:]F��h�a�V��00����=Ja-Fu�^c?������z|�a?�ij�����ɣ$���}R�&qY�|�`!�:mcD��ê��N�é���g�~'!d��
^�`x!���N
�$R��������1��π�b�1Wa`g�
�t}�]U�b�j޺?ܬ�6�Y��4�?۳�����ڝ��Ɗ�
���@���K{�Y6��+VDynU��O��W?�����
�Q�\m/�������ի��{tS��.?(?�:
6��+0�R�h�ꎮ���*ϴ�%04�˭�ž���9���ko"��� ��q��endstream
+x��Xmo�6��_!`@'3���b@�E��Ð�bѱVY��R��~G�z���Y�dQ�����x�֍��W�_����YIA��XY[� �Sb-B��&�ę��}�l�&�:w(��x�Va\�]gA�?=m��^��ꃊ�"JgN9��� ���Je�m�,�VM�k3�w>-��~]���0[�2�{�c�Znf�����
#&}kWIm,�2x������uc�!,x�1�(r����Ҿ�;ݪ,(��a�=�C���9^�I^�G's�����K�{�0L`heɿ���ZI�4?9s!\���@�5gX �k��lv�����f���.u�112-����r�E*	?Ղ
���C��`������r8�#��Z� ,*�����#Qp��e�,��t5e�'c��}>rE�b
f��,��f$J& �r�F�
��Hz~#�&�
�Ie�QD����4/���4/�
+6 
�@|�;�V�	�{�K乴1���	
(E��QC��j�h�|$����'�3�{�i�=�´C�V|$���I�a�mufw-z�s�H$|:L��L��&���(~_�Ҡ�
 ��r+l�.܆�ܨ���
+�pG�ˎ7w�����Thff�f��4�S�rH��
��1��iE�
SZD ��~�K�����������׭�k�ʉ��"�{ߨxL�������
�]�b��y	���X��I8�n
ދ�F#P�%˸
�D.r�<����	]P�ܖ��N�a
��E��S�"=� 
R�yy
G�zW���Zн�,��G~��-�ߎ�/UD��|�=�1��C%US�2���r�
�!�q��
�C	�ufz8\B�4T&\��PH]�?��PM�I[�w� �~W*�[����@=ǰ�F00�yqq�����>*�m�ȇI�(){
+%�.;��l�>	�w%*�',�pv#rPg|u$�s
+(����$�6�m+LU]���;�{›:��w��w�8Ӈ���p �<^��Y�O���z�|¥@�D���R�e�
e'#%�WD��
+|�
b(�v���
�C�z�[�
��
����{��e��w �:M���m�q��cx����c���g�GB�BW�4'�h5��i��O���>:�zN
��G�;������@j�5v�W����O�	gk���9��I���6
�(H�N1�i�~�g�>�
1gx�bA1�Cjh�*s.4����7;d����#��N��wm��h�sG���΃}�
� �ky�,|Z{B7��u�^�~|�mwׂ�F�Z�]�.�JJ�?�e
�.3�Zd
$�����%r\,x����v�Ry�k���'�� ��u
���1^Ϋ=A�!�����4�����5�
�
�2����_�*��-�0"��f�0
��ڰ}���y���V�����h��
�{�uQlOONv�
Z�L�m�����������V��N`�f-���B�0(�� /�Qi
+endstream
 endobj
-9454 0 obj <<
+9432 0 obj <<
 /Type /Page
-/Contents 9455 0 R
-/Resources 9453 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9495 0 R
-/Annots [ 9459 0 R 9461 0 R 9463 0 R 9465 0 R 9466 0 R 9468 0 R 9471 0 R 9472 0 R 9474 0 R 9475 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 9492 0 R 9493 0 R 9494 0 R ]
+/Contents 9433 0 R
+/Resources 9431 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9379 0 R
+/Annots [ 9414 0 R 9415 0 R 9416 0 R 9417 0 R 9418 0 R 9419 0 R 9420 0 R 9421 0 R 9422 0 R 9423 0 R 9430 0 R ]
 >> endobj
-9459 0 obj <<
+9414 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 697.2473 181.845 708.1512]
+/Rect [133.915 454.319 181.845 465.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_8ede6a8a55e35d1c41065b01afac0342) >>
 >> endobj
-9461 0 obj <<
+9415 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 658.393 181.845 669.2969]
+/Rect [133.915 415.465 181.845 426.369]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a303fa28c55c391afe4f067f91db36ce) >>
 >> endobj
-9463 0 obj <<
+9416 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 619.5387 154.727 630.4426]
+/Rect [133.915 376.611 154.727 387.515]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_4f7df2a0b66616d7672e562fa8c4e8f6) >>
 >> endobj
-9465 0 obj <<
+9417 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 580.6844 165.4464 591.5883]
+/Rect [134.114 337.756 165.446 348.66]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_419ea78710f4b45c1542647e1212a3f7) >>
 >> endobj
-9466 0 obj <<
+9418 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.7836 580.6844 273.3706 591.5883]
+/Rect [192.784 337.756 273.371 348.66]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9468 0 obj <<
+9419 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 542.2037 150.493 552.734]
+/Rect [134.114 299.276 150.493 309.806]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_0ca2fc9566495b3d4ac6b970a301d9a1) >>
 >> endobj
-9471 0 obj <<
+9420 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 461.0676 218.0186 471.9715]
+/Rect [137.432 218.14 218.019 229.044]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9472 0 obj <<
+9421 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5168 461.0676 250.9549 471.9715]
+/Rect [218.517 218.14 250.955 229.044]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af9d682418e536d9a1f6bd24991e1c56) >>
 >> endobj
-9474 0 obj <<
+9422 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 422.2133 218.0186 433.1172]
+/Rect [137.432 179.285 218.019 190.189]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9475 0 obj <<
+9423 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5168 422.2133 259.2535 433.1172]
+/Rect [218.517 179.285 259.253 190.189]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_f78754c1ef47797c0acbd31cf48f9caf) >>
 >> endobj
-9477 0 obj <<
+9430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9434 0 obj <<
+/D [9432 0 R /XYZ 90 757.935 null]
+>> endobj
+9435 0 obj <<
+/D [9432 0 R /XYZ 90 733.028 null]
+>> endobj
+9413 0 obj <<
+/D [9432 0 R /XYZ 90 691.329 null]
+>> endobj
+9436 0 obj <<
+/D [9432 0 R /XYZ 90 676.759 null]
+>> endobj
+1543 0 obj <<
+/D [9432 0 R /XYZ 90 578.366 null]
+>> endobj
+298 0 obj <<
+/D [9432 0 R /XYZ 90 571.766 null]
+>> endobj
+9437 0 obj <<
+/D [9432 0 R /XYZ 90 473.293 null]
+>> endobj
+9438 0 obj <<
+/D [9432 0 R /XYZ 90 473.293 null]
+>> endobj
+9439 0 obj <<
+/D [9432 0 R /XYZ 90 434.558 null]
+>> endobj
+9440 0 obj <<
+/D [9432 0 R /XYZ 90 395.704 null]
+>> endobj
+9441 0 obj <<
+/D [9432 0 R /XYZ 90 356.85 null]
+>> endobj
+9442 0 obj <<
+/D [9432 0 R /XYZ 90 317.995 null]
+>> endobj
+9443 0 obj <<
+/D [9432 0 R /XYZ 90 237.113 null]
+>> endobj
+9444 0 obj <<
+/D [9432 0 R /XYZ 90 237.113 null]
+>> endobj
+9445 0 obj <<
+/D [9432 0 R /XYZ 90 198.379 null]
+>> endobj
+9431 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9459 0 obj <<
+/Length 1401      
+/Filter /FlateDecode
+>>
+stream
+x��Ks�6����ťf*o����6uf�>\G=d
���`�-E*$e���
�K�,�J;��b��bw?,vE��:�y=�a::>��	P �t�7N�
O$(q�s��%q2���{6&�
�Exu6��M�;5�«���,�
NN���*�:WqXDi2�P���0ϫ�su��1�]�̔Mw��/�oF?MGG�
R.Fx�c™-F�ؙ��7F,�u9j�p����>�;
�
a)*�N�H%�Tjg
�
+ܚB$��w&�"i�}�Tt�8��N��<�+�n�	��mv�TYX��˗����,�,M�b���
��:��]��	|���e
u|p���e�U�:�Q�y��X7[�jM�M�?L��E���+Pq-�R"A(�*e}�FttzHRbh��B�@2��<lRk	�1�\��8���F�0�
UW�}��@�N��ӄP����b( �ꛯ@���J��!k0f���1{���/
��c������D+�6sE��?Wɬ9�!$	��ggR 8���'�%}��0]VL�2f�\���j
w�E
��Z��]�I�({�W܅&}
'�(P"(
+<�<4{�܄J�h8���Z�C����켼��!� �
� үi��������=뛺P�k�d���
m��#�#ud^�ONҼ�T��$�WT6��lկ<��C�ŋ�Ů�?�c�?��z�d�n�I�#����V�re���0&�-}Aٓ"���e�ly�mz^�"�b��+�ϲhi��
���ì�
+]�b���	�K�L�1u1c�ߪĄJ��2���)���l�Y�jE�e�PM��Q��Y�>Oz��s��
X�("oǁ�8�~���=��M���J�^����_G���'��v���u̔����z�Qe���,
+���~/�v,��:��
#\�?�H����K�=�U�l7;��vkop ��s��@�j��M��a�K"�2�=�Lo�y�_u�AB��PI���}O�
�CHV�qU��
+�^�i��~.!�	&�bѥ�v)�ݿ��mʄ׉������a�0b
yhR��
�r
hp�M���Hk5�G�տ�
U�N
W޷Է;f����U<�?(��m
+˒Lcp�
8��.-ФB<M��7}�$a� ���>���=[��: �B��(��K��B�[�o '������1Ҥ=�<L�#ѦN��:Y
S�	b�)�AM�>��bK(z�
fB��� ��}`�
Œw+���
�clw
+�X�0�
�n�Š�5�=�Һ��@��C���wP%u���"���^MV6���g�kHuk>�T7�����1^�%LVv�k��(��u�0�m�,3E�&iL��N)cie�_��z;*=�,��ίA��(�'�����r�J�e���x���7[�F
+�^˫S�MjZ�Ej�%�pQn�� �
�"��
+endstream
+endobj
+9458 0 obj <<
+/Type /Page
+/Contents 9459 0 R
+/Resources 9457 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9379 0 R
+/Annots [ 9424 0 R 9425 0 R 9426 0 R 9427 0 R 9428 0 R 9429 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 ]
+>> endobj
+9424 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 341.4508 180.5399 352.3547]
+/Rect [134.114 697.247 180.54 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_306699ac7d5f2c2c909c3a3baf303009) >>
 >> endobj
-9478 0 obj <<
+9425 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 341.4508 288.4641 352.3547]
+/Rect [207.877 697.247 288.464 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9479 0 obj <<
+9426 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.1972 341.4508 410.7842 352.3547]
+/Rect [330.197 697.247 410.784 708.151]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9480 0 obj <<
+9427 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 302.5965 178.2386 313.5004]
+/Rect [134.114 658.393 178.239 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_5740d23d50b9aa7c95e8b6b51242258d) >>
 >> endobj
-9481 0 obj <<
+9428 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 302.5965 286.1627 313.5004]
+/Rect [205.576 658.393 286.163 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9482 0 obj <<
+9429 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.8959 302.5965 408.4829 313.5004]
+/Rect [327.896 658.393 408.483 669.297]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9483 0 obj <<
+9446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 263.7422 194.4974 274.6461]
+/Rect [113.91 619.539 194.497 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9484 0 obj <<
+9447 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.9955 263.7422 245.6849 274.6461]
+/Rect [194.995 619.539 245.685 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_6d5d2010157ae8f712e4a3e551d355d7) >>
 >> endobj
-9485 0 obj <<
+9448 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.0221 263.7422 353.6091 274.6461]
+/Rect [273.022 619.539 353.609 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9486 0 obj <<
+9449 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.3422 263.7422 475.9292 274.6461]
+/Rect [395.342 619.539 475.929 630.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9487 0 obj <<
+9450 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 224.8879 194.4974 235.7918]
+/Rect [113.91 580.684 194.497 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9488 0 obj <<
+9451 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.9955 224.8879 233.3016 235.7918]
+/Rect [194.995 580.684 233.302 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_d99eb5124bfcd9c75379efdde73d1a1a) >>
 >> endobj
-9489 0 obj <<
+9452 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.6387 224.8879 341.2257 235.7918]
+/Rect [260.639 580.684 341.226 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9490 0 obj <<
+9453 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.9589 224.8879 463.5459 235.7918]
+/Rect [382.959 580.684 463.546 591.588]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9492 0 obj <<
+9454 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 116.8468 226.0342 127.7507]
+/Rect [175.349 472.643 226.034 483.547]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_de82782e3363de460caad677b3583559) >>
 >> endobj
-9493 0 obj <<
+9455 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 116.8468 401.763 127.7507]
+/Rect [321.176 472.643 401.763 483.547]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9494 0 obj <<
+9456 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9456 0 obj <<
-/D [9454 0 R /XYZ 90 757.9346 null]
->> endobj
-9457 0 obj <<
-/D [9454 0 R /XYZ 90 716.2211 null]
->> endobj
-9458 0 obj <<
-/D [9454 0 R /XYZ 90 716.2211 null]
->> endobj
 9460 0 obj <<
-/D [9454 0 R /XYZ 90 677.4863 null]
+/D [9458 0 R /XYZ 90 757.935 null]
+>> endobj
+9461 0 obj <<
+/D [9458 0 R /XYZ 90 716.221 null]
 >> endobj
 9462 0 obj <<
-/D [9454 0 R /XYZ 90 638.632 null]
+/D [9458 0 R /XYZ 90 518.896 null]
+>> endobj
+9463 0 obj <<
+/D [9458 0 R /XYZ 90 435.323 null]
 >> endobj
 9464 0 obj <<
-/D [9454 0 R /XYZ 90 599.7777 null]
+/D [9458 0 R /XYZ 90 358.998 null]
+>> endobj
+9465 0 obj <<
+/D [9458 0 R /XYZ 90 336.686 null]
+>> endobj
+9466 0 obj <<
+/D [9458 0 R /XYZ 90 336.686 null]
 >> endobj
 9467 0 obj <<
-/D [9454 0 R /XYZ 90 560.9234 null]
+/D [9458 0 R /XYZ 90 287.445 null]
+>> endobj
+9468 0 obj <<
+/D [9458 0 R /XYZ 90 272.875 null]
 >> endobj
 9469 0 obj <<
-/D [9454 0 R /XYZ 90 480.0414 null]
+/D [9458 0 R /XYZ 90 225.671 null]
 >> endobj
 9470 0 obj <<
-/D [9454 0 R /XYZ 90 480.0414 null]
+/D [9458 0 R /XYZ 90 211.101 null]
 >> endobj
-9473 0 obj <<
-/D [9454 0 R /XYZ 90 441.3066 null]
+9471 0 obj <<
+/D [9458 0 R /XYZ 90 163.897 null]
 >> endobj
-9476 0 obj <<
-/D [9454 0 R /XYZ 90 360.4246 null]
+9472 0 obj <<
+/D [9458 0 R /XYZ 90 149.326 null]
 >> endobj
-9491 0 obj <<
-/D [9454 0 R /XYZ 90 163.0992 null]
+9473 0 obj <<
+/D [9458 0 R /XYZ 90 102.123 null]
 >> endobj
-9453 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F100 2135 0 R /F11 411 0 R >>
+9457 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F11 418 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9503 0 obj <<
-/Length 1754      
+9502 0 obj <<
+/Length 1513      
 /Filter /FlateDecode
 >>
 stream
-x��Y[o�6~���0�����b��ҥX�uY�=
m(��h�%W�����P"iɒ�E�4pL��\?��L���X�
-i��x�
��-<~1"v{
-��6�OW��s)�iI��jQs�	J��j�& q:��qp1!8��et}1�8����x^D׿%7ETܟ��OH��dJ�Ҩ,����"���l_PDL�ɻ���������$1���y��s���#�C1��#�5
/G�2�HG�Gz>�F}`�!���x�2��`�#��q%i<o�{
��"YU	X��
��Χ
1�I���.nNq�G��M\m��.����:��Dټ�gqUy1"@F�F��s+,��m��,Wi����m��?�lft�O�S�q�~n���
;� ��C��qp�</�8�[�~t�/�V.8��4�|�6�G.X���6�<O'S�x��E�=3k����ʪ�v���E�]_z��'�YZ�̢p�$V!�7b?XΑ	�߃>\���%
")��
�%��q�>bi�l��h$C* ii!X�Yԡx7|:��0k��d���<K��V_���Jt��"�YöτH*x���&�U6�o�Y�:���dBE��|D)�j��#� J�Yu�F�@��gͺ
4�:a���
y�
��BE�1����
�
�r��;����X{ֲ��r�c���Up�Q��I�n��,�
��x
 )� �ɛ֙{�Tdejy
���4�
��
-
~&8AfH�C�L�-A\�
h�m
-^��z��j�ݫ;4�1�8R�JIK0
;ɀ	F
?�:F��o�T05�Dx�b�a1
<L:|���Q�
 ���k��	#j�� G�
��0��>�Yn���n���dy�J#�{(
����~�K�fD��R�!�R� |O��e5?=�˪^�%�#$a��M�
{�A�B#ũ����(�m��>i}<)��Ig`9���Cѩ�Jհ���j�+�{dBO�(w2�}2?��M�����ǺZ�-<|�O@Q�N�_?Z�9��1iSϽegLqCŢȗ;c��inj�&�n�Go1�i|:0�2̑T�
���p�q���Yȷ|j�C�ܕe� M%z�cr	7m���]�Rtw���D�6���O7���x����&*�^�=&�L���0�����݁6B��߷I6K��x A�����P�		$tu���&P(���?
�� ������/�]\$5��բ��}:05��'��JUk蘭���\�A��� ��5�\7@���?l*o[MFC��ﮚ;�TG��s�÷��o�WP,B�{��<�1Ez|�z�ի3���I�ќ��D0�

-&�`?���=մM6�
��U�;��w<�4�5��j�xp��ˁ,J8G�־$��?�C
��zH�6�
�h[h���EO.W�������R���ӈ?�A6u��ACY��P��>� h�56��-�I{ǔl��:�vu�6N�U�B_���#%0��Ґ
�`Ҭ�9 at 5���2|�"�̀� �Cmlb��cG�)>4#�ymL��km0�4op���T�H
-�
-E
osv�	P{�C`��^�׷Q�H��1�
��v蘡�]7��g�.�5K����_0�|g�@[�����Ms�T�����M��̜���qP���"��V;���w�������N4?.���=��滪Z���l64+�:KVJ���'��
-�9ܑ�^��uD=]:�g���FxG�-s7�%<\��s����U�D	j�endstream
+x��Xm��F��_�T))^�
��5ꇦ��i����%�8X�Q
8�㺿��/`���6ͥ��`����y�y�;�v�M��Of�s"4p�K'Ž�8�Թu	A>��c�����U
/~�(v��~%�*^���Uq���:���-
oJ9v���6?o�R��"���wY��7��擷�a��L�@�q'�'�o�����F,
+����
�2x��W��&��(C8�YD�3���ꪬ�Y�{� $�#��	md7e�R�]r��	�¨:�'Ʀ76����5y�9>7������Q�ַ
��P(xk��Åp����|
��,7r
7�B�܀�CY�.`��a:��
���$BAH�)T:�귕_�o��G
L
+�oL�6�mc(�՟s)���Ɲ���L�d�ˢ��T���4��R09�q�m_�e�����ʼu�m����(wwYqo>�Ƙ�啦o�?��g��GvF�)�}��)�m6k�Zuu6����m�#����Q\���
J}��]������w
�T��i�o�
�i�~��z�ʑ��
��k�'#�@7 ekp\�^
�Qt\�vd��H�R�>9,V��4Q�Խ�[`�lU�V�n4�`�P�u
+���#�O��J �"��!^�|��v�sԑ�GF#�Ό"��ۻu�`����Fֽ8�bvmAA���h X*��g�y\���j�$���E:�
�j��o�9��	a&�o5=�+|���5
+�-��ldl�
F���F���Ѓ�OY�0�g�pv��
��I�~��"QX�v k"X�qw+�U��K�|Y�/�4[�*9�:�H��7S
+�$�N�"�X�f �5�:����M��E�9$�u���֊Yݜ��X��v.7��V�J�
U7z����ɤi�T�k~�F��Z�=f厎'a��a� �b�.
�|�N8���m�Ӏ�����/�rI�@�qͭ���g��r��
đ5È���

�o��&�l9)AG���^�5j�A2�4�o,�z�.�5
�6��c�
���
ǝ�'D��
�t�A���c�Am��=<��=f�ٕ
+L�8���վnd>V�G�c$]��S�[\��$>X�
+}���Gvv%;+vh]c���q�Y��%��Pmۧ��YٝGyܹ�H�s��>���sVY�{����gY�ǰ�Wʩ��5V�7��_z���Ŕ��t�HB�O ��
��}�U��1�.���A�σ���o��:k����<�k�d��!��,��<�D�������AZ�lo��W &4��Q�=��ի�Y=OaV_{0� �ì,Fa�X����Y| ��hO��VT6JT8�\M�\�����
+����U����;HS��_���Ơ
#;#(dM��]{��^��+v� E�����G���mHw1e_��)�j����ﵬ�V��V+^�� /�:�:��Z�oSI� z�J��3�?���O]�C�3D��d�j���l���PR�m�m*�5��f=;��8D!�G�ï����� +�c�o��� �8OU
+endstream
 endobj
-9502 0 obj <<
+9501 0 obj <<
 /Type /Page
-/Contents 9503 0 R
-/Resources 9501 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9495 0 R
-/Annots [ 9512 0 R 9513 0 R 9514 0 R 9517 0 R 9518 0 R 9519 0 R ]
+/Contents 9502 0 R
+/Resources 9500 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9379 0 R
+/Annots [ 9474 0 R 9475 0 R 9505 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 9499 0 R ]
 >> endobj
-9512 0 obj <<
+9474 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.2889 207.7147 329.9276 218.6186]
+/Rect [159.289 553.329 329.928 564.233]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-9513 0 obj <<
+9475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.5915 207.7147 513.9963 218.6186]
+/Rect [371.591 553.329 513.996 564.233]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9514 0 obj <<
+9505 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 195.7595 136.9337 206.6635]
+/Rect [89.004 541.374 136.934 552.278]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9517 0 obj <<
+9476 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2787 140.8999 192.2956 151.8038]
+/Rect [146.279 486.514 192.296 497.418]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9518 0 obj <<
+9477 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.7937 140.8999 258.7257 151.8038]
+/Rect [192.794 486.514 258.726 497.418]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_5dfef947c46e234a1ffd4707312332ec) >>
 >> endobj
-9519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9504 0 obj <<
-/D [9502 0 R /XYZ 90 757.9346 null]
->> endobj
-9505 0 obj <<
-/D [9502 0 R /XYZ 90 733.028 null]
->> endobj
-9506 0 obj <<
-/D [9502 0 R /XYZ 90 664.3647 null]
->> endobj
-9496 0 obj <<
-/D [9502 0 R /XYZ 90 642.0529 null]
->> endobj
-9507 0 obj <<
-/D [9502 0 R /XYZ 90 642.0529 null]
->> endobj
-9497 0 obj <<
-/D [9502 0 R /XYZ 90 592.8117 null]
->> endobj
-9508 0 obj <<
-/D [9502 0 R /XYZ 90 578.2414 null]
->> endobj
-9498 0 obj <<
-/D [9502 0 R /XYZ 90 531.0375 null]
->> endobj
-9509 0 obj <<
-/D [9502 0 R /XYZ 90 516.4672 null]
->> endobj
-9499 0 obj <<
-/D [9502 0 R /XYZ 90 469.2633 null]
->> endobj
-9510 0 obj <<
-/D [9502 0 R /XYZ 90 454.693 null]
->> endobj
-9500 0 obj <<
-/D [9502 0 R /XYZ 90 407.4891 null]
->> endobj
-9511 0 obj <<
-/D [9502 0 R /XYZ 90 392.9188 null]
->> endobj
-1586 0 obj <<
-/D [9502 0 R /XYZ 90 294.5259 null]
->> endobj
-302 0 obj <<
-/D [9502 0 R /XYZ 90 287.9257 null]
->> endobj
-9515 0 obj <<
-/D [9502 0 R /XYZ 90 157.9708 null]
->> endobj
-9516 0 obj <<
-/D [9502 0 R /XYZ 90 157.9708 null]
->> endobj
-9501 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F97 1822 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9522 0 obj <<
-/Length 3086      
-/Filter /FlateDecode
->>
-stream
-x��\[sۺ~���Sj�T0��MfN�N��O�g<�D�ju��x�_�I@ IT�3�d2������
�$�`�G&O�P�0.'���<����9=�����7�落d$����ʃ$HPB'7�_.	A�^M	��������zv��������X�f�]��f�׷o��WD_n7WS*��O��~_�T�չb3/�/ �L�_o~���ڴD0I,��.~�OТ�/0bF��
|��C'�
N�����|�w�>Q��/!��!�
a)X����w��n͇b}ͩ>�{����v�o7ED���1��> �Q����@ӈ���.R�9"��C$��c��|����?m��6>l��WgV�z���VA*�4����x�ihV5HаAD!I�
��6蟔�N\J�F%�rd4�9�GvͩO!:*6$
�1��-��b��
ߖ�OE�6Hq�FI��̣4Q�;��E8�O�yq�Ѷ�R���g��[e P��ܴ�

�I=��0(˾^��C��@X���Ð�Z�aQM�;��
-��
%���1�ԶؙY����yw`KC�Cڪ�����/ż�6��]�[m��̓m��;�I_k���un0������#���)���&j�L�#t<�8�0;=�����
Ja��8��	crwfy�GS<
�Q<�6��	��S<
�S<�9���Ž$�I2
�*I�z�
�t�N�{��S�t��\�x�X�4����
�
-&d�&�÷��������8����g �9Z6�T����?4�Z�{Y�
[�5�vWL]����

�K)�q7

��<���fxBQ϶��Q�0\hR�c�2X
A��ʶ���j���l��ir~A�i�TN��Y^��ݸ�*�im�_+�A�Pъ{\F�}Aǯ�𓅰�-7����}Y�;
-J�\�t�U�v.�Z��	�4�&T)s��s�;~}7T9�Ln�>q��*^3��.
|'\?\
a��1��G�
-�͎W��z�Deb��+".��
I#\��
��1%dF�YVB�	A��m!
-��8� A� ��=M�i8B���qA��� d�w�����f�^��X�&���%�p%�y�V 
5g��$i�v��2�g6J���eY>֟6۰�[<o�M��ӄ�p^W�gF�֌�Dř�E%p��t\'*a،�Dq��JAǯ����Y��
�[�3�΂��`��*8�1�h�����CS��s�;~m���n��@unx�\t�׸�����D(��$�gv��<�y��g%v1
-��J

*/�<�*p#L�hF�YVB�	U��mT!
-�V�8� U� ��=I�Y8�B�W��qU���*d�w�ƕ�q}`PJ	�E:
�*��$X��x��\Sƚ�ч�GB�ٷЇS�
�$V7��ER~~���j�������ص�42'A0�i<��F�1��l
AR ��f�I!��.[�Qz�������#ٝ�©7�Ķ�Hv�4�Sh�%"�~�W�2𑢥3��rv���-�oϳղ|���[�tV.�vݴX��^{W���]��&�,���)4���qܙ�I
8
��48G��p�'p�N�$��C�Ѽ�������p��*��
�����{
�gf�)�;���LU�g�x��C���o���h���!�E?�)V���y�Ǯ8�xlq`a���.v������ C�A0��*t�����-ު[f��Sj��6��* Ȋf�S�VHQy�-
�dO�p�YVC�c0�1����-�Cf;\s�;pkݮ�e�'���Ep,��z���і:�V9��N�)��$E��}g�/��?ov��y�,��l#5=��~�B�Ɯ�b .��1Й�8
��48��ۉ
L�=��I��p�e�4 [...]
�v��BFh��X�"c�#EFg�?##���Pg'#�0Fˑљ��8
M�48G������f���լ�k
�.�b�:��P0-�H�]u� ��
-Þ�?`4	s�r ��� �G _/娶��0������s0:~�]���F���2��w�aG3�?�� ��Z�
}$�Ǜ
_����j�=nW
?�+ʗ�ش~��nA碹����UT|�{��<&����
-1�t�`�B ���N.�20BبT���"��Tj�h�[B�fY5

�U�
��,�V�)�6i5ՠ�)�C�W�J*�M�������?9��x  PSe�l܏I5e´������`t�F_ݭ
[wI�΁����k�l��7��Tā���4�Sg�#�i����S	`#Ԕs"f��ʜ���5���`�Y^L���4
Ήi�mxi�zri�F��"��J�̠4� p�i܏��4>�4���������BJ��j�2��U*%T
��|��R
�ů�o1
|��ԙ��i�� �֫��Rl`tpq����Fr{~�*+����mC頍>�1��U��!�dA☉[��L���Y���1��Si�OTe��2�5

�Y�����b�3G=� �7�<��!~ʫ�䟺jV�<ﶛ�k��/� ������&x
-�O��S�(���ٗ��B
-5��rؙ�I
8L�8
��8
��qv�� :~*?o���/�.v����Df���@;��le�Zs����&C����ُO�c+���m�7|���ݦa,�
�7�s;p��v:��v6��(�n�t�6�.�Ѓۇ�|��	�}1@��L`�fҩpF �3�u�ד�M(�5
��L�#�og����z4X~7#��zX�[s�w��
��	�d$D�5���?�Q�In��Ye5!p���t�F˜IA�bЃt��F
��������ݶ��n� M6��Pb�R��]��q�F<,	�<���խ+��Yς�V��,�|g�	���,E�߼f��0H��{0�'�~j��RU��Kj��Z
�Kd��[�

���J&�T�[7B���|m��U�Ǿ���J��F{>�6ϳ���cWg��� juu at W�{|��(�OfQ�Qq�����O	�j~0
~Q��J�����,˧���///h�GP=�в�~zZ]w�!�ʤ:n�:X��3-�20XB,�Nm��]��

\W
F
嵯��_���endstream
-endobj
-9521 0 obj <<
-/Type /Page
-/Contents 9522 0 R
-/Resources 9520 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9495 0 R
-/Annots [ 9526 0 R 9527 0 R 9529 0 R 9530 0 R 9531 0 R 9533 0 R 9534 0 R 9536 0 R 9537 0 R 9539 0 R 9540 0 R 9542 0 R 9543 0 R 9545 0 R 9546 0 R 9548 0 R 9549 0 R 9551 0 R 9552 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 9566 0 R 9568 0 R 9570 0 R 9571 0 R 9572 0 R 9573 0 R ]
->> endobj
-9526 0 obj <<
+9478 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 675.6991 190.7379 686.603]
+/Rect [125.095 383.834 190.738 394.738]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9527 0 obj <<
+9479 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 675.6991 261.8505 686.603]
+/Rect [191.236 383.834 261.85 394.738]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_43cd840b1ec99350c222b3f217739cea) >>
 >> endobj
-9529 0 obj <<
+9480 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 639.2069 190.7379 650.1108]
+/Rect [125.095 346.972 190.738 357.876]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9530 0 obj <<
+9481 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.2361 639.2069 262.1594 650.1108]
+/Rect [191.236 346.972 262.159 357.876]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_97ddb3b93ac699eebaca7e79f691b0ad) >>
 >> endobj
-9531 0 obj <<
+9482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.2253 625.7672 390.0817 635.6724]
+/Rect [329.225 333.347 390.082 343.253]
 /Subtype /Link
 /A << /S /GoTo /D (main_Affine_Independence_and_Affine_Dimension) >>
 >> endobj
-9533 0 obj <<
+9483 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 602.7147 226.4434 613.6186]
+/Rect [148.616 310.11 226.443 321.014]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9534 0 obj <<
+9484 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.183 602.7147 282.3429 613.6186]
+/Rect [237.183 310.11 282.343 321.014]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7b8d597a3c23af1fce9d8d3e1d36e11d) >>
 >> endobj
-9536 0 obj <<
+9485 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 566.2225 226.4434 577.1264]
+/Rect [148.616 273.248 226.443 284.152]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9537 0 obj <<
+9486 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.183 566.2225 329.9438 577.1264]
+/Rect [237.183 273.248 329.944 284.152]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_b7a35f8df974c9e932df6291754859fb) >>
 >> endobj
-9539 0 obj <<
+9487 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 529.7303 224.7599 540.6342]
+/Rect [148.616 236.387 224.76 247.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-9540 0 obj <<
+9488 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.4995 529.7303 278.986 540.6342]
+/Rect [235.499 236.387 278.986 247.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_2bf7987a6ee3547c1e125e83e432ee2a) >>
 >> endobj
-9542 0 obj <<
+9489 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 493.2381 224.7599 504.142]
+/Rect [148.616 199.525 224.76 210.429]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-9543 0 obj <<
+9490 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.4995 493.2381 326.5868 504.142]
+/Rect [235.499 199.525 326.587 210.429]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e1c5216e2ba5c80d77e128daea25b46e) >>
 >> endobj
-9545 0 obj <<
+9491 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 456.7459 209.5473 467.6498]
+/Rect [125.095 162.663 209.547 173.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-9546 0 obj <<
+9492 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0454 456.7459 261.8309 467.6498]
+/Rect [210.045 162.663 261.831 173.567]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6fb94f0e966e97bfb9dcf43dddcf12ba) >>
 >> endobj
-9548 0 obj <<
+9493 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 420.2537 209.5473 431.1577]
+/Rect [125.095 125.801 209.547 136.705]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-9549 0 obj <<
+9494 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.0454 420.2537 309.4317 431.1577]
+/Rect [210.045 125.801 309.432 136.705]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c6ea1802e6a6cfb32e5af6d6d26eb424) >>
 >> endobj
-9551 0 obj <<
+9499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9503 0 obj <<
+/D [9501 0 R /XYZ 90 757.935 null]
+>> endobj
+9504 0 obj <<
+/D [9501 0 R /XYZ 90 733.028 null]
+>> endobj
+1544 0 obj <<
+/D [9501 0 R /XYZ 90 640.14 null]
+>> endobj
+302 0 obj <<
+/D [9501 0 R /XYZ 90 633.54 null]
+>> endobj
+9506 0 obj <<
+/D [9501 0 R /XYZ 90 503.585 null]
+>> endobj
+9507 0 obj <<
+/D [9501 0 R /XYZ 90 503.585 null]
+>> endobj
+9508 0 obj <<
+/D [9501 0 R /XYZ 90 424.725 null]
+>> endobj
+9509 0 obj <<
+/D [9501 0 R /XYZ 90 398.912 null]
+>> endobj
+9510 0 obj <<
+/D [9501 0 R /XYZ 90 364.073 null]
+>> endobj
+9511 0 obj <<
+/D [9501 0 R /XYZ 90 327.211 null]
+>> endobj
+9512 0 obj <<
+/D [9501 0 R /XYZ 90 290.349 null]
+>> endobj
+9513 0 obj <<
+/D [9501 0 R /XYZ 90 253.487 null]
+>> endobj
+9514 0 obj <<
+/D [9501 0 R /XYZ 90 216.626 null]
+>> endobj
+9515 0 obj <<
+/D [9501 0 R /XYZ 90 179.764 null]
+>> endobj
+9516 0 obj <<
+/D [9501 0 R /XYZ 90 142.902 null]
+>> endobj
+9500 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F97 2177 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9556 0 obj <<
+/Length 1564      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���S'	͋�K����l/m!�6mk�%O��z�~�7�9�7i� 	Lټ
~����Cag�`���M��>`N����Љ�qJ�����%��;'c��#�M�I�\y�e��A�&�^�V��oW��H䖅wN9v/�u�Z
��M}�2?�.�����C��M��˰C�%<D!�N���;�����#g�jM
�2�̝O�?:��
+�Ύ��� Z��!
p=�/�r5�]{9~52�\_v���
 ���Ar)
+Q�MY%�u#&���y�dӑmZ�52U�`��h��eQ7}�����:�)��(E�O
��~��t-�YU�S�1+�[	=vk������\����$�J�=�]i�j�ZM�3m
�sk|��B�'Y�M��`�4�G/	�+X��EY$�"O�
��A�W�v2Ϛ�.�W���υ�R�YѴu��_
�����T

]3�۸�Y1�=�̅(6ZM�����pu���$�
�Vi_`�t-P��Z>
+ph�4��u֧�(����
S&�;��A�1(��-Cp�"��q�c$B�� ��V�3o�5�����>�m�V
�0�v1:1�3j��|�7�f*&j��Gs��t�[�oc�P�?�Nz���a��X�,��i�Չ�L��E)�X1�
�� L�z#3��+e�/t	~�f����":�K+l�eX�al��q�%��	��	���/D�
��TIQ��N/�ջ����M	�������������H�kP��
�5��>d�z�h�Y�
�V�e��+NS�7`9>7SY�w	1{2���#��+��� ��DZ/�er��nGALm�EK'�
+l':���[�
ɭ0@��{�QGr�_�F�*�C�G!�<��j�+g��u+9ܡd�^b�<Q��N�c�[�fE��|(ƍD�L�
i�W��k��c�\��

+��
+m��3*K��5��l�Iѝ)��ݿ<B�KY��[w�[y$I�'��?��X��mZ��@"8�o��Z���A֖��"~
+��I���0C
�*��T�V�g��J	�>�>"�8�U��۴u��G��A���>�:x7Zۆ�z2wD���r'c���T�{0�'�5�i�H_,�/�{�G? �IP�D�$����7[3�>��^��JK�� ��Y�^�b(� L��؎
+U��l�����)�=
�<��"��(�@��F�5�<`��
!猲�
HƵ�
($fA�, (���!?M0�jF��,�Fl�ژ�rqF&|�Jn�n%���J�c��+Lj[�
E,8��>��RC���q֗�W�h�,�Jnau}�����x��<��>��Ln/�gv�\�v����D����UC���!gO}_��@Ϩ@�≟V~�qZ��E���X�4q[�9F��W�6�Y�� ��ef���t�n�zDJ�|�Ҿi�8d�y�f���{�X������D�U�y4o��?kQ��q�����4��!��B��k�P�h#ar�#���'a%WO�ǖ~�(��!r�7��m�;��Q�F�"�V(k��i�]�nc�D$\^
�5Ӥ���7�r�޶�r���~�^
+endstream
+endobj
+9555 0 obj <<
+/Type /Page
+/Contents 9556 0 R
+/Resources 9554 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9379 0 R
+/Annots [ 9495 0 R 9496 0 R 9497 0 R 9498 0 R 9517 0 R 9518 0 R 9519 0 R 9520 0 R 9521 0 R 9522 0 R 9523 0 R 9524 0 R 9525 0 R 9526 0 R 9527 0 R 9528 0 R 9529 0 R 9530 0 R 9531 0 R 9532 0 R 9533 0 R 9534 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 9553 0 R ]
+>> endobj
+9495 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 372.8026 224.481 383.7066]
+/Rect [125.095 719.912 224.481 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-9552 0 obj <<
+9496 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.9792 372.8026 289.4966 383.7066]
+/Rect [224.979 719.912 289.497 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_cb75fd68aa10bd15e590e8e8954c5002) >>
 >> endobj
-9554 0 obj <<
+9497 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 336.3104 224.481 347.2144]
+/Rect [125.095 683.05 224.481 693.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Grid__Generator__System) >>
 >> endobj
-9555 0 obj <<
+9498 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.9792 336.3104 337.0974 347.2144]
+/Rect [224.979 683.05 337.097 693.954]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0d69bc8c9bd9843262551c7e3e33f5a2) >>
 >> endobj
-9556 0 obj <<
+9517 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 299.8183 205.6917 310.7222]
+/Rect [125.095 646.189 205.692 657.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9557 0 obj <<
+9518 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 299.8183 261.3124 310.7222]
+/Rect [206.19 646.189 261.312 657.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_9f3c5474494eb306717bc3da7c109307) >>
 >> endobj
-9558 0 obj <<
+9519 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 299.8183 332.1558 310.7222]
+/Rect [288.65 646.189 332.156 657.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-9559 0 obj <<
+9520 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 265.1338 205.6818 276.0377]
+/Rect [125.095 611.319 205.682 622.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) >>
 >> endobj
-9560 0 obj <<
+9521 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1799 265.1338 261.3025 276.0377]
+/Rect [206.18 611.319 261.302 622.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0514c2e57ac8154666e9fe6bb56c0e18) >>
 >> endobj
-9561 0 obj <<
+9522 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6396 265.1338 330.4624 276.0377]
+/Rect [288.64 611.319 330.462 622.223]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-9562 0 obj <<
+9523 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 230.4494 205.6917 241.3533]
+/Rect [125.095 576.45 205.692 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Poly__Con__Relation) >>
 >> endobj
-9563 0 obj <<
+9524 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.1899 230.4494 261.3124 241.3533]
+/Rect [206.19 576.45 261.312 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6187dbe974649c7bd4de8e66f70d3e46) >>
 >> endobj
-9564 0 obj <<
+9525 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.6496 230.4494 338.7813 241.3533]
+/Rect [288.65 576.45 338.781 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-9566 0 obj <<
+9526 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 195.7649 183.8239 206.6688]
+/Rect [145.299 541.581 183.824 552.485]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d909d5b60cab5d1a6816577c97b60fcf) >>
 >> endobj
-9568 0 obj <<
+9527 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 159.6463 192.2722 170.1767]
+/Rect [145.299 505.093 192.272 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_8c33b9ea975535b5aa0882241cf78986) >>
 >> endobj
-9570 0 obj <<
+9528 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 122.7805 241.9353 133.6845]
+/Rect [145.299 467.857 241.935 478.761]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_8ed700f662722cbebdc9328344ba2839) >>
 >> endobj
-9571 0 obj <<
+9529 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 86.2883 213.1634 97.1923]
+/Rect [145.299 430.996 213.163 441.9]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c251eb38d1b24b8b570d874ee11df424) >>
 >> endobj
-9572 0 obj <<
+9530 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.5006 86.2883 288.4306 97.1923]
+/Rect [240.501 430.996 288.431 441.9]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9523 0 obj <<
-/D [9521 0 R /XYZ 90 757.9346 null]
->> endobj
-9524 0 obj <<
-/D [9521 0 R /XYZ 90 716.2211 null]
->> endobj
-9525 0 obj <<
-/D [9521 0 R /XYZ 90 690.6851 null]
->> endobj
-9528 0 obj <<
-/D [9521 0 R /XYZ 90 656.2152 null]
->> endobj
-9532 0 obj <<
-/D [9521 0 R /XYZ 90 619.7231 null]
->> endobj
-9535 0 obj <<
-/D [9521 0 R /XYZ 90 583.2309 null]
->> endobj
-9538 0 obj <<
-/D [9521 0 R /XYZ 90 546.7387 null]
->> endobj
-9541 0 obj <<
-/D [9521 0 R /XYZ 90 510.2465 null]
->> endobj
-9544 0 obj <<
-/D [9521 0 R /XYZ 90 473.7543 null]
->> endobj
-9547 0 obj <<
-/D [9521 0 R /XYZ 90 437.2621 null]
->> endobj
-9550 0 obj <<
-/D [9521 0 R /XYZ 90 389.811 null]
->> endobj
-9553 0 obj <<
-/D [9521 0 R /XYZ 90 353.3188 null]
->> endobj
-9565 0 obj <<
-/D [9521 0 R /XYZ 90 212.7733 null]
->> endobj
-9567 0 obj <<
-/D [9521 0 R /XYZ 90 176.2811 null]
->> endobj
-9569 0 obj <<
-/D [9521 0 R /XYZ 90 139.7889 null]
->> endobj
-9520 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F99 2213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9580 0 obj <<
-/Length 3442      
-/Filter /FlateDecode
->>
-stream
-x��\[o#�~������\�/�ЦI�\�m��KZi�V�������3C�3

�W�X,�$�u朏�<?rf�f�a3GgF�Գ�������>c��/�����_ߜ��J��#Ns={s�xЌ(������sƈ�/��������f~��������Z��߭������?O�|���n{�+z��z^���������.*�
@Թ0��7ߜ}�&B�Z��f
��~��ΖТo�(Ϊ�=|��9�g�3�E��>�����O�Cs�XB�cDh��$V��#VL-���c.�P�[.
�j%cf��YȬ�>�LRµ�h���cu��ok�|�	��
h�P�x����j�zN����uF��6�����ۮ�O�Ss5�,�\b�f����T� �DSc��U]����~�"���jm
F��9����B�󪅿\��ޭ�2
'�3��d3�8a�֧w�`p�3Г�8f�x/SI�
z�������xR?��Fp;�fMf9Wcț���<n�*��P��a��v�,�Ԅ;�a�O�w�͏)�`_��mFd}	]� [...]
-�
�)1�;U�e� Z���� ���;�RD���Vu��E[�0 �:?^��h`b�O�_F����Dz�˷3c��x��f�˷-�~�	�[ �������v����	p-��`U��$�iQ
����U:N铪7�Uo0��w��/
���M�wR<���#Z��gn�q”�9���9q��3
7�s��^�)����zPC��j[_��j��]�����j��
C��#Z�p
~r���S�������9�w0�h�;��͡����ׇ�����0����_����c T�k�!�{��\��0�
-�͊��:D
-��+�^X���a'~@�����o:=���e���Jѭ�-� �P�cBQ�aS��K2�
�?/c��\�߮��

-h�x
-�U 
:H�v} w\A��|��w��)|��@�.��|�g�
����#�%�26*���
�TV�1N��-V����(�Dgt��6�s���J��SO��Y���q�aq>셝‡8��o� $m}y��m.�ow~�����p
Jg
��hU �uz�
@��t��:VO�I�/���z�A����_�v���z�������02�U��8�Y7񢑥 a2SJ�w�IL����2���1e隼��-��eܦ��
���U���~G��I8w2{�{zD��3���3q��'
7�gg�^�)�����m��yms�3�!ݍf"Z�x�tiZ��i����`^�0�:�5�`x
�U� �RV
F��Y�Z�aT�Ě��5��Gʚ� �K���?�n�)
�����ISª�U��`U���
˜xЎ0Ә���G?$ʖ޺{�����[mV���V�\[��9�š��~���� �rjbӣ9�!�:���=��F��
-�im�]y�ob}�13
�
���h�ɼz _�+?KB��Ū��[��SL���Ft*�����f9�P�j;1�
G�y���$3�(�Q�ʅr��`��̶*҂�{���f��)��ؼhj�v3uJ�~gA;yʔ��@��hV�R�'�Ҕ�e�jX7�‡nJ�OG��A��>�u��n�nw��C��9<<b�chN(S�8�C�A�ǹ
�$s�������]4��O���ڇl��_��ˮÐ�O�v�V�ݼ[��n�v��>��oo��@n�r7_߆^�=���
�%�(��7L?���P!lIR���H
b��TE���t
~�u��@[�(-��Q[�2^���
F�����E"0pQa� �J�i	I4�%��D��%$�8��3z	)	�i�H�
-"��D��e"8��6�L<Und�c�� �����^��^0Rڙ_��j[���>/mh��C�cXK������ҋ���d��'
m�IZ+�i�`�Ik}�Zﯵ�
�<y���x]u�:�=3
EʤzʞU�l�6��4ު
�{��,����QQ���OF��Ǹ�YQ���W��	�^�q�g�a��"ʯ�/��6�o�=��@���x�;�RdP~\31H�q�g���8&& �`�~'+?��D0*Ap�h��(�>K��-S��
Xr�u'��,��hUa`�`�,^��W��ϫ�陈��߉�O+K��V%@�F�f��>�mO�a*dž����m&�}"�9�I��"}�YY���	�>��|h�|(�|��H����
�+zL�@��ۡe�9*}
o!a��Q�E�(T��8/��֗�i;L�K���/4�7�J7��YYh$1���
B#
�
�^�)B���$4жG��G�B���И��Dh�0r�OX&
�!
-��T�1-
��@��~�(4�|$B�F/!%�1-��@A�~�(4�L$B�F���
-��
&�����@�����Sg�2�`l�i跰�d��F
`dL�U!�߈���~��;L�ZXS��:Y�Y�������Kc���#�r�G�,q���,���9P�T_4+
-��!"�
-q;��
�>��;�����o�հ��
-`�������ä�|�`T75Ѿ #��a��^p
�z�n��	
MB�*E��A^<L��� ��J
=`�Sk��
9�*�`r^	�o����19x���g_���jL�"��2�%1����K��T�
;��p �_��>�W������q��2
�B�*��
�4f����'�V۩���%���Y�����`U�k}Ǥ�G�cC5��Zd�#�`��R_(���cD�מ��Ӊ�9��|v
�O7A��^
�fE
L
"<X���`/,ʃ��x�  ����m_S��K�x��U)��-l�n ����໮�^��Y
���9in]WS���H�Nz
0��C4k�� �?���:p[��u����ww���
Y2��ê��<l�Ĵ�R�*|̿�΍�z|gz�+qăs�9�ڔ1���	��
��O�O7�E�п�6ն�Km��n���������]�����p��W�����CRá��;��~�\]=
r>r
�0�,dO0jJ̒�a���̂�}d<n`�4�]���r�]�Sne�ƾ"�ۜ�\^��'FVv�VR0D�4D�Naz�z���
-KHB����`^�0��nM�QD9[Ѫ�X�d?��EâG)�R")=�Y��F������r�?fj���
-xw5r��aD��F���(
)y�
�z��
Z�G�����������zw۱\w.Rc�������������=�����k���(�@��c������hZm�a������q��dZ�@�7�$�j��FQX�t_��i�/��I�OJ��a���λ��'�=b�87T�f$(=���χ0��7�DlM��_��Oߦ��]�2���EM��̯o���p���W���dQ����fOV�W77�Wٍ8����q
eu0ʰ�2/�+T�l�a��us�f�������:���1(�s�~endstream
-endobj
-9579 0 obj <<
-/Type /Page
-/Contents 9580 0 R
-/Resources 9578 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9495 0 R
-/Annots [ 9583 0 R 9585 0 R 9587 0 R 9588 0 R 9589 0 R 9590 0 R 9591 0 R 9592 0 R 9593 0 R 9594 0 R 9595 0 R 9596 0 R 9597 0 R 9598 0 R 9599 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 ]
->> endobj
-9583 0 obj <<
+9531 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 698.4091 189.9009 708.9395]
+/Rect [145.299 396.5 189.901 407.03]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0d9abbf681b7b0724963d97596286ae5) >>
 >> endobj
-9585 0 obj <<
+9532 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 661.7117 193.2289 672.242]
+/Rect [145.299 359.638 193.229 370.169]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a0ac997a15935821583174de968e5bff) >>
 >> endobj
-9587 0 obj <<
+9533 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 624.6406 238.4586 635.5445]
+/Rect [145.299 322.403 238.459 333.307]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_bbb7562de97ccf13bd97b57bb5e3ac94) >>
 >> endobj
-9588 0 obj <<
+9534 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 588.3167 187.6893 598.8471]
+/Rect [145.299 285.915 187.689 296.445]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e3be29eddce8f41019e7dcb731c8ba7b) >>
 >> endobj
-9589 0 obj <<
+9535 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.505 588.3167 226.6926 598.8471]
+/Rect [191.505 285.915 226.693 296.445]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9590 0 obj <<
+9536 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 553.156 228.8952 564.06]
+/Rect [145.299 250.672 228.895 261.576]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f740303d5461c838735ec53c5c1f8855) >>
 >> endobj
-9591 0 obj <<
+9537 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.2323 553.156 333.4819 564.06]
+/Rect [256.232 250.672 333.482 261.576]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9592 0 obj <<
+9538 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 518.369 229.5026 529.2729]
+/Rect [145.299 215.803 229.503 226.707]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_31d70a625e092dfdaed4f3232701f35d) >>
 >> endobj
-9593 0 obj <<
+9539 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8398 518.369 334.0894 529.2729]
+/Rect [256.84 215.803 334.089 226.707]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9594 0 obj <<
+9540 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 483.5819 187.2643 494.4858]
+/Rect [145.98 180.933 187.264 191.837]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c5c7acc50141a9104ef5b9b7598c1438) >>
 >> endobj
-9595 0 obj <<
+9541 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 483.5819 293.2128 494.4858]
+/Rect [215.963 180.933 293.213 191.837]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9596 0 obj <<
+9542 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 483.5819 371.1477 494.4858]
+/Rect [325.131 180.933 371.148 191.837]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9597 0 obj <<
+9543 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 483.5819 455.7274 494.4858]
+/Rect [409.711 180.933 455.727 191.837]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9598 0 obj <<
+9544 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.9798 425.8807 187.2643 436.7846]
+/Rect [145.98 123.15 187.264 134.054]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e680437fdc213b7174c581caa2e0c0d3) >>
 >> endobj
-9599 0 obj <<
+9545 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.9632 425.8807 293.2128 436.7846]
+/Rect [215.963 123.15 293.213 134.054]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9600 0 obj <<
+9546 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.1308 425.8807 371.1477 436.7846]
+/Rect [325.131 123.15 371.148 134.054]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9601 0 obj <<
+9547 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.7105 425.8807 455.7274 436.7846]
+/Rect [409.711 123.15 455.727 134.054]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9602 0 obj <<
+9548 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.2349 413.9255 220.0576 424.8295]
+/Rect [178.235 111.195 220.058 122.099]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-9603 0 obj <<
+9553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9557 0 obj <<
+/D [9555 0 R /XYZ 90 757.935 null]
+>> endobj
+9558 0 obj <<
+/D [9555 0 R /XYZ 90 733.028 null]
+>> endobj
+9559 0 obj <<
+/D [9555 0 R /XYZ 90 700.151 null]
+>> endobj
+9560 0 obj <<
+/D [9555 0 R /XYZ 90 558.682 null]
+>> endobj
+9561 0 obj <<
+/D [9555 0 R /XYZ 90 521.82 null]
+>> endobj
+9562 0 obj <<
+/D [9555 0 R /XYZ 90 484.958 null]
+>> endobj
+9563 0 obj <<
+/D [9555 0 R /XYZ 90 413.227 null]
+>> endobj
+9564 0 obj <<
+/D [9555 0 R /XYZ 90 376.365 null]
+>> endobj
+9565 0 obj <<
+/D [9555 0 R /XYZ 90 339.504 null]
+>> endobj
+9554 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9612 0 obj <<
+/Length 1740      
+/Filter /FlateDecode
+>>
+stream
+x��ݓ�6���+�t53A�K�3Ӈ��d&M�i���d��	��6G�_�Շ
��
���=Y���J�i�+;#;o:��t._
�(T87C'Ď/�87�K�h�G0��.�n�O���.�n6Y�� ����<ʗ/_�gwI�fi�G9v�&QQ��G9���Lc	r�'����r����w��f�!Z�#�q'�v>}�� ��:�0p����(��Ĺ�����W����
���	����˟)�Z����ǡ��Y6��J�|d��K����$M��?�Y�����9���(��x��2�����rY	��,�^�.�.�z�}�[�G�*��.��>�q"ӲM��$
���K�F��EWרF�	�'�0���Q�Ѓ5�¸����lN��k���POϚ���@
q�ӏ���i���|�4`H rt�2�KShC$e(�XU(�F>��T� ȓ�ɂO�v���ĹWՆ�a-zxH�㤸_�´�f�QCNg�r��v�rÐW��"��Fn�y:���C ����~��la���t?�8<E���Z�
�$WMj��$V؏5Q=�|�<� ��G�4,�c�HR�+pf^�ɼ� [...]
+��kQO����dk�Q�]�'QZ-��ʤP[�}F���1A�	�CЏ�����z�V�o�T��
5kɄ��
+�A�$
���rz
y:�z��%�(��Dv�zY��g�d�lt���a�?̀�!��ĝ�
�s
}=�y�l;�G����B.b����e0(6��8��q̆k`��U�Th,�ps�hY��(�.Pf�y*�E)��-�ۆ�`H���JM�")����f#���Z�z���T3q�)��S��M��`�����g�~<����è;�8�YA�S[�Ѿ��@�	��K
��Hm at J=�V�&j Z�^�hj�(Զۅ�����y�U��auXr:�W�w*�w�3�Oo�
+9��7�L�Z=j��#�"
��]k�I[NJ

�m������
�r*�(9d����6X�b�͓1�|r��qd��[
�T
|�V�!of�i)m4}�l
�ٰC
Z��
|p��wb��N�	}���*�p�Wnq��*0�w��}�
+q
����5��p�-���*���]�
+�+7�+�Z
+��%n:2G�ćY"b���f��
�����Ib����2[q/
�2��C=
�L����cl>5��Y݁l�Da�
�k���M�!̼u'a���IPi��hW��; 
��\By�_�d�MU���	��Wp�����}<�w=
���1�x"�v���H�?�,�Bx����v&ՖL�<X����׿_�崨8�q� <ܡ} ���� ���->���P�qGO��.[x�Odɳa<{(���S����~�(�Y`f��GF�y��3R��O�Y�nz���ռ�U���.8�Eu��#{ݦh�S�d�����2�%a����x6���T��;z�WJS�	�Mg\�����������,GIy9�M.�/�VRx}~��0��l�,��!s���I�I�"��3
+endstream
+endobj
+9611 0 obj <<
+/Type /Page
+/Contents 9612 0 R
+/Resources 9610 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9614 0 R
+/Annots [ 9549 0 R 9550 0 R 9551 0 R 9552 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 9584 0 R 9585 0 R 9586 0 R 9587 0 R 9588 0 R 9589 0 R 9590 0 R 9591 0 R 9592 0 R 9593 0 R 9594 0 R 9595 0 R 9596 0 R 9597 0 R 9598 0 R 9599 0 R 9600 0 R 9601 0 R 9602 0 R 9603 0 R 9604 0 R 9609 0 R ]
+>> endobj
+9549 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 368.1796 186.3482 379.0835]
+/Rect [146.717 708.953 186.348 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d914801461cad05325559e95b9c4d9c6) >>
 >> endobj
-9604 0 obj <<
+9550 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 368.1796 293.7723 379.0835]
+/Rect [216.523 708.953 293.772 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9605 0 obj <<
+9551 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 368.1796 373.3671 379.0835]
+/Rect [327.35 708.953 373.367 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9606 0 obj <<
+9552 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 368.1796 456.8371 379.0835]
+/Rect [410.82 708.953 456.837 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9607 0 obj <<
+9575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7175 310.4784 186.3482 321.3823]
+/Rect [146.717 651.17 186.348 662.074]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6e73a7d462d6a9a3891fff6c4a923495) >>
 >> endobj
-9608 0 obj <<
+9576 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5227 310.4784 293.7723 321.3823]
+/Rect [216.523 651.17 293.772 662.074]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9609 0 obj <<
+9577 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.3502 310.4784 373.3671 321.3823]
+/Rect [327.35 651.17 373.367 662.074]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9610 0 obj <<
+9578 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.8202 310.4784 456.8371 321.3823]
+/Rect [410.82 651.17 456.837 662.074]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) >>
 >> endobj
-9611 0 obj <<
+9579 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.581 298.5232 218.4038 309.4272]
+/Rect [176.581 639.215 218.404 650.119]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-9612 0 obj <<
+9580 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 252.7772 180.4964 263.6812]
+/Rect [145.299 593.387 180.496 604.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_5df26655af3ae7844569d7086edf8332) >>
 >> endobj
-9613 0 obj <<
+9581 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.8336 252.7772 255.7636 263.6812]
+/Rect [207.834 593.387 255.764 604.291]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9614 0 obj <<
+9582 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 217.9902 213.1533 228.8941]
+/Rect [145.299 558.517 213.153 569.421]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c2182f38e9f8acede601c3dcfa71c3b3) >>
 >> endobj
-9615 0 obj <<
+9583 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.4905 217.9902 288.4205 228.8941]
+/Rect [240.49 558.517 288.42 569.421]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9616 0 obj <<
+9584 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 183.2031 161.6774 194.107]
+/Rect [145.299 523.648 161.677 534.552]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_13f15417d90174f6c2d3648e83d9fcf5) >>
 >> endobj
-9617 0 obj <<
+9585 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 110.5312 205.7516 121.0615]
+/Rect [145.1 450.607 205.752 461.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0a5c586d872f15baf7fd70941fc16c41) >>
 >> endobj
-9618 0 obj <<
+9586 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.0887 110.5312 276.595 121.0615]
+/Rect [233.089 450.607 276.595 461.137]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-9619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9581 0 obj <<
-/D [9579 0 R /XYZ 90 757.9346 null]
->> endobj
-9582 0 obj <<
-/D [9579 0 R /XYZ 90 715.0952 null]
->> endobj
-9584 0 obj <<
-/D [9579 0 R /XYZ 90 678.3978 null]
->> endobj
-9586 0 obj <<
-/D [9579 0 R /XYZ 90 641.7003 null]
->> endobj
-9578 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F52 341 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9633 0 obj <<
-/Length 3369      
-/Filter /FlateDecode
->>
-stream
-x��]s����+x�R3��ܵ�63i;�&�U���-s*�*E�Q}v0��ŁB��L=�0E�<�ݳ؇ �lA�[8�0�'�^��.�����
/_��W��ϯ/^�U��#Ns�x����Q��������/��t�����p�z�����������z���������W�ӗ�.���+�������C��ͻM��f��@\0����˟^{����p$Jh���⇟�����
J��j����9�w���������q��7LDRK,�vq%$��>�bTf��qA�V2O�x��9��(�%��s5><�aԙE��TX^�	u,O�v��-�JM�Sl�ֿt�4ߥ�
3P��V��o�������oV��7w���n����ך8�d�
Q����	�+?
T��M�ہy�\� �<��z_�j�Ma����
UHr!)$W2��b
5`SCQ
	N����
�	����xr�
-E��l%1:[F.,�Ҳ&��S*o�O��
V����c�h�.<��v��2��e��N��;>�Wd���	#�
�}���M����ḹ�%}�/v�e�F��C�)
%�Ԙ����a�%�
ŜD�s�vw3r}�f�y�p{$�gU;G�T��gU��ɲ�
-��Z"����u4��y4fi�>���Sx�N�Q�*
;=f���x��m���P@�
k��W!��*�
W���Qp"S�u�z�F���f����e�H�*,���̓���2Q(
��&�1*L��F&��n̗�#�P�19�Z�'7ς�2/���>���π��8�������ñ��lW`�%Qʨ��RA4�8� �a�����7�2M[�#�
}$b��[�i#�����U���`搟��>�3��(Q��(�V�)`&#9V��B�
-7�2O�Q�f��E�L�$F��A���HSɟ����ϖ��9�
��1��A�s2	X�d=o�d�o*��-Me�D7�s�
>t
,cD1F���^��B
p8���u����p���O�"�1E�a�=W�����BTa�
KR�g�FI5���Ĩ2����I��htD�8�]O��C�'8N�
����3�m�n"
iC����z5,^�
�����/����1�����
���>��J���桪�"�2qv�*+�`�D=�P�&�*D�'
�����YΆ���}
�i��4�(�m�QT��
T��@���!UPN�Ӫ�
Q^�PD��T���
-UQ���.S���L�aD*�N�i��(Ka��+]G�����N�3�$ES
'�
k�f��S�n|��`��0Us0�Lc�s�&�
�-�v���5
�-�g�S�
G��&WIG�������	��N�\��!r"� 9M���y�
1Q�-�Wz(�NA+(R��B,�fj&F��_:5�V�6+���"n�}қ��I��0P���^��BL�V��ċ�C
�\
���Ĩ�9�>�Y�
��
���dzк�A���
��v7�>�.���")��Y'\�>���da} u2i`fa�A����{�pօ�ZM�����c+
"-s9[[�X�S�XkNǪD�*
|1��F��4`��Hށ�YZ��y��"&�����������Yi�F�^��B�p���Fe~2`Dy���D=栈��W�W	���!�F8pc480�JK��$��1*|��|-!�U�_�Ob��/Zx��t����^�|%�����Ԯ��tv\*
��Z
�A��2	X�e=o�e���4��mX@
q'ZPdy ��4R��B��uh[��D̯�+�l-K�#6ʸm�4�8��"̂�D�s
(-%4/�$V�5R���5�_P��#�gB���6=I/���C��h�`�
2
�I [...]
��!�
�)��~��/��BD=f���mt�]�D
-[�D!�ā�����:����	{
-�&FY�D*�ƒ��X�
��������#��(��n&�ɉ2ڦ�LsFj&��}�YxB��qϲ{T-'��`-�(��C4OՅ��u!��a�d��� �a�����7�4M��4K�Ӻ�"�d�Y!+Lܔ�^��B�pi	�|dgza��G$[
���"nT9L_
S�*D�Apz>(V%#�/
���$F
�A6�j�voNw��m��|�����z�uN!�Zj{~x2�Z�	g���L��Y����N��
Sv�@��B����0���j=�
-�͍����{��]kU�
�Q�m���0�d�A�8��I�;@�	��aF���$F��A�Ե�'C�18����PU�
�>��?Z1g�(��XG�m�Q�r4
X�(�w�h����<mGE\�EV>a�1+�ʼn*ě�~vm��L�|�0����q�&�ZL�(�
-A�yp�0my�#���)�{
-Q��Fٗn�3rS3B
=�O?�\�
��g���LָY����E'�y��;b��[��/'�
./�Y�Q�X�P�!y���$��ʶV"�1E�|���*�SL�bBp�f뙉k������r
-)�5RYBJ#��ӈ�{�
�LX��'��Խ2��ӈȢ�49-Q�c[�%�gi��[������
/�r�@����ȷ�1��o���@g���>��N���\|�R��Byd8o��5���ަi�}j���O�(�N���d��@�jA�
-�#�8Q���}Mpi�Z����2nx�#\v�uPa&
#����
-^o�N��4F�Q���O�>GK̴�kA��LA���
e(�ӀD#yDgiі8O��#&��s;�f�c%�0��%�?�C�����Z�����z��8n�%L�]ag<p�
-1!|��hp��gS��n��ƨ:�RB :���ʁ�1k�qX�����8L�k9@�

�������
��7�¶	���
��))r0�M0��_���T�B4�J� �	����76M[m��
M0b���ѵ�Z��x����DbN�
�7:+S���� ����D=栈ۄZ	Î��Nq��A���]G�G�G-�DRzj�5����֨=��ut��R�K��t�_}3������_fw�����]j�����U��~�z�W������
��?���9��R������������9<l�ݹ�*��f�m���7��qR�L^���/£������p����ٸI�������x��˗?~$��a��?��������r֭|��j'�*�
-/Y��8&3/���a@���
<y�:n'>ו�M at i��s��endstream
-endobj
-9632 0 obj <<
-/Type /Page
-/Contents 9633 0 R
-/Resources 9631 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9495 0 R
-/Annots [ 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 9666 0 R 9667 0 R 9668 0 R 9669 0 R ]
->> endobj
-9635 0 obj <<
+9587 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 720.2859 267.9376 730.8162]
+/Rect [145.299 415.737 267.938 426.268]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1c64e09d6022054690f7d2bdf4e02138) >>
 >> endobj
-9636 0 obj <<
+9588 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.2748 720.2859 338.781 730.8162]
+/Rect [295.275 415.737 338.781 426.268]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-9637 0 obj <<
+9589 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 685.2242 204.0781 696.1281]
+/Rect [145.1 380.495 204.078 391.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_5d53d09dcc839672fedd4ab5d4142d57) >>
 >> endobj
-9638 0 obj <<
+9590 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.4152 685.2242 273.238 696.1281]
+/Rect [231.415 380.495 273.238 391.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-9639 0 obj <<
+9591 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 650.536 266.2641 661.44]
+/Rect [145.299 345.625 266.264 356.529]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ec640128c6492defc09c4d6ad5d3ea19) >>
 >> endobj
-9640 0 obj <<
+9592 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6013 650.536 335.424 661.44]
+/Rect [293.601 345.625 335.424 356.529]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator) >>
 >> endobj
-9641 0 obj <<
+9593 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 615.8479 212.377 626.7519]
+/Rect [145.1 310.756 212.377 321.66]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7df62db3bf13024d4ee9f8aaf0d27dc6) >>
 >> endobj
-9642 0 obj <<
+9594 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7142 615.8479 289.8459 626.7519]
+/Rect [239.714 310.756 289.846 321.66]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-9643 0 obj <<
+9595 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 581.1599 274.5631 592.0638]
+/Rect [145.299 275.887 274.563 286.791]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_eb30e6558c9efffc62d5765b3bfe5e4f) >>
 >> endobj
-9644 0 obj <<
+9596 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.9003 581.1599 352.032 592.0638]
+/Rect [301.9 275.887 352.032 286.791]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-9645 0 obj <<
+9597 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 535.5128 209.6269 546.4168]
+/Rect [145.1 230.059 209.627 240.963]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f60c3f345fb8ec8c708e49e8fa33f737) >>
 >> endobj
-9646 0 obj <<
+9598 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.9641 535.5128 314.7912 546.4168]
+/Rect [236.964 230.059 314.791 240.963]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9647 0 obj <<
+9599 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 489.8658 248.202 500.7698]
+/Rect [145.1 184.231 248.202 195.135]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_4f9a47ba1b29f1e07a32542584d50686) >>
 >> endobj
-9648 0 obj <<
+9600 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.0176 489.8658 329.8447 500.7698]
+/Rect [252.018 184.231 329.845 195.135]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9649 0 obj <<
+9601 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 455.1777 271.813 466.0817]
+/Rect [145.299 149.361 271.813 160.265]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_304e74729ca34fc67648cbc995e1dfc7) >>
 >> endobj
-9650 0 obj <<
+9602 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.1501 455.1777 376.9772 466.0817]
+/Rect [299.15 149.361 376.977 160.265]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9651 0 obj <<
+9603 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 420.4896 310.388 431.3936]
+/Rect [145.299 114.492 310.388 125.396]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e6eef0ed4aa8b3690f01f774dd0722fc) >>
 >> endobj
-9652 0 obj <<
+9604 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.2037 420.4896 392.0308 431.3936]
+/Rect [314.204 114.492 392.031 125.396]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9653 0 obj <<
+9609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9613 0 obj <<
+/D [9611 0 R /XYZ 90 757.935 null]
+>> endobj
+9610 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9662 0 obj <<
+/Length 1668      
+/Filter /FlateDecode
+>>
+stream
+x��_o�6���)������HI}ۊ�@�Y��-
Yb
a��IrS���(R��H�]+i�@�b�;��G�ؚ[�z3��rt�Z0�G��º��|l�� N�uYlB�C��1����A�
��c��t���QL��gY�m^�lV��g��xB9�_-�<׏��,��$��/s���Ɵ.ߎ~�
�;" �H)	w�˸.G>a+���F�������r(�ra]��a�nj�qC;B\$�?\�\���R^_���a�A�ϥ6qd�)����]�J)D�t.�E����1�a������T�L/6y!�]]����i��ʳ�.�<PU8JUJ�p�5!y��(Rf��TA�0]mtEz���Z�Wsel%Ҙp[��~���%���W�+���IK&���nդHw�̵�-y:� �Ц
���c`�(��A>b�:�u��[A��.i���mG
���u�.���8���q2��5����k�|�(��P���Fk�9�
C>y�

+�L�j�6�B
�jo��(t��
zI�w�$�
2��'����!k�$�1zH����aH���M"��"���I$r�wcq���c��4H��[>���TЅ��
2��TB<�x�{BU�U�����(�!L��l��ȃ@}�?&��"���Wk{�l���S��Wu/��
a�u���*6BE	�[%wP�T�|�
�������n=�}�`�6J>�Z�� ������X��*�D7��Ra�%��F���
�2)d�[�6J
�o#���}-�Y�V�^���:�^c��BhC����g�8��-Z��Wn�����ƒ�^ͧ�w�ݓ!�`�m��� w ��n�hn����T4@4����z]hv'r��y����H=1�}�������L�eh"��ldZ&Y'�i�ǞN^��0�>�w�+h
�ݓao�(���A�:k�6ӳ�A;J
v ����Z��� 
AĿ_@�w
������'�1�.

�
~��>ED�� � d���3'u�n���G�>Lp�Z����8C��G�>0��"�<�C�#�i�$��P�ܽ3�bޓd�2�
��:����	��cB�
dq0[t�B x{v
+"���j](�3�
+z�Q
��"N�,Vf
�"No��ZuS
��X\
�q��rJ-�IXW2,�:�.�U�n$0F�(^�$7r߂#��|}�.�"N#�gܱ�<��I�A�1J�jt-��y�P���������DyP8 \�\!�^�H�39m
)�a��;�~��8�9T7=��AṄp�
��
5j�7���7*�ʊ\�J@]��FU�^�w��˛٨��ـ2�v�6�-�t�  ���٦6|�g�j^t���$��8���Թ ѓY6�L�
��d��6�����s�R�|���i�&jݨ�9)���L��k��J!����;�$��
��_��t����,$��e����$5�u���~yb���,g�u$�cy���>�w�<Է�g�=��vق�"����z�x���p��i��i��E�9����"���h"�л��]hpn�eZ���>��V��ἔ/[�Ӏ�>�����?��2�i�yu��� YƔ
+�Ϫ+��u�����2I���XN߅��V��z�}T�g+4�
v_�}��b�������9Z'�*Cqq�Z-�Zs��:!r�L�*��ħY
.�rYf緌�?Ĺ�f
+endstream
+endobj
+9661 0 obj <<
+/Type /Page
+/Contents 9662 0 R
+/Resources 9660 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9614 0 R
+/Annots [ 9605 0 R 9606 0 R 9607 0 R 9608 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 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 9659 0 R ]
+>> endobj
+9605 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 385.8015 207.9534 396.7055]
+/Rect [145.1 719.912 207.953 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_9a45b4b8f148a20359a2f3e2b1c2cb2d) >>
 >> endobj
-9654 0 obj <<
+9606 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.2906 385.8015 311.4342 396.7055]
+/Rect [235.291 719.912 311.434 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-9655 0 obj <<
+9607 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 351.1134 246.5285 362.0174]
+/Rect [145.1 685.224 246.528 696.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_b1b315e7f04c051a36f48d344dd34052) >>
 >> endobj
-9656 0 obj <<
+9608 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.3441 351.1134 326.4878 362.0174]
+/Rect [250.344 685.224 326.488 696.128]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-9657 0 obj <<
+9625 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 316.4253 270.1395 327.3293]
+/Rect [145.299 650.536 270.139 661.44]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_be643d7919aa34a2c1112702878f5536) >>
 >> endobj
-9658 0 obj <<
+9626 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.4766 316.4253 373.6203 327.3293]
+/Rect [297.477 650.536 373.62 661.44]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-9659 0 obj <<
+9627 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 281.7372 308.7145 292.6412]
+/Rect [145.299 615.848 308.715 626.752]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7a8abcefdfb125b7c9ef5f96d352c1df) >>
 >> endobj
-9660 0 obj <<
+9628 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.5302 281.7372 388.6738 292.6412]
+/Rect [312.53 615.848 388.674 626.752]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-9661 0 obj <<
+9629 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 247.0491 216.2524 257.9531]
+/Rect [145.1 581.16 216.252 592.064]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_96e902093a55f87f0aebc2bb13a8d740) >>
 >> endobj
-9662 0 obj <<
+9630 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.5896 247.0491 328.0421 257.9531]
+/Rect [243.59 581.16 328.042 592.064]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-9663 0 obj <<
+9631 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 201.4021 278.4384 212.3061]
+/Rect [145.299 535.513 278.438 546.417]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7e4bbfa6f481ead40e3ca6231e0f69be) >>
 >> endobj
-9664 0 obj <<
+9632 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.7756 201.4021 390.2282 212.3061]
+/Rect [305.776 535.513 390.228 546.417]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-9665 0 obj <<
+9633 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 155.7551 254.8275 166.6591]
+/Rect [145.1 489.866 254.827 500.77]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_3569a428ad758dc9ac8273e0f1f77772) >>
 >> endobj
-9666 0 obj <<
+9634 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.6431 155.7551 343.0957 166.6591]
+/Rect [258.643 489.866 343.096 500.77]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-9667 0 obj <<
+9635 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 110.1081 317.0135 121.012]
+/Rect [145.299 444.219 317.013 455.123]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_2aaf9117efebc52a8b45b787075a9647) >>
 >> endobj
-9668 0 obj <<
+9636 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.8291 110.1081 405.2817 121.012]
+/Rect [320.829 444.219 405.282 455.123]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-9669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9634 0 obj <<
-/D [9632 0 R /XYZ 90 757.9346 null]
->> endobj
-9631 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9680 0 obj <<
-/Length 3929      
-/Filter /FlateDecode
->>
-stream
-x��\[��~�_�'W
D4�}h��h�n��%	ywv-tu������=�rɹ�L�]7-
^]>�s���G9lF��9:3�'��]m.��>��k�^����Ƿ/����������-hFg|����9cD�����__2:_
6���KN绻����a��n��:<�z�~|��|��\pE�_߭������MUWm�*�
��������^|�6��^���@�u���tv
W��%�Y5�o(a����Br��]���{��|Q�`(!�1"�r�J���(&�����A�0��
rD��nĨ$��g
�Z��+���1C4�va�~�\u�x�75��P�_�	u,w��n��uϵ�`HZ��u�m1ߧA<DϮ��P�D)�Vˏ�����n{<
V���i��D
�p�D�!��u=�Zj����������a|=�A5Q��r"
-�.�#�r�{qi`C�Q
�f�9”���A�pˡ�$&ꠌ�YJ˦�Pµ�ё��c�̪�s��?4�v7���K��!q@}&1��
-RMk�W
"s��&
�Ӯ�{�f����7���G�J��+��ߒhjL��~}
�	V
zd"�
`-0a�Je�#�#Ta(��
T��m�,s�RY�z�!A��R��ᾮ�]6��#Y9!��¥/m���Tf1Tة)�x,��ݖ�F� �#V�r�-8�J��~qu[f2-���=��%.
��d���Kd�X%T ��.��)��[�2%���=?����-�d-
-'�Gs%
+:
4���Y,�;�Ċt���ر/�
$MS0�8<�1&M��q%�L	31��е�˰囇���(
��X+�I��rBs��1^\
��
�L���%
��vz_
ɲ�g�� �0�z��
�v��5f�TF??�QC���Bl�3[b�Dme���R�8�e���[9��ݒD����K���($.-LK)�ĸFSDǧ�$�0zvs�6�s�*z�t�n@!AM���0 ��d���Ql�9d��(�]��
-����@t
*�2Q�
�%�2���N|>�SVeaR��D�
*sزZ��D�,
�%��-Jt��	D�ѳ룸�F��
�qh4Ɛ
���%,��=P[߯��Ы�& ���v}��d��W����]�G������B�BB
-T���9�9M�@6gM@%FkQ
�o��'�P0e����N���Ryx�fj�H,]�5�=ܭ�ׇ�����i����!V�|.�jA��B���4 �&��K�B1B%��؂��h��0�q_]��v�5����q"�_�7����WC(a�%�au*"�0��B�W`U���x\�n����I]�����
�˂[o�M$��Uj�!F�翃���-e+5����`�Ԕ��R���KM�zJ�)ѳ;��s�Xj��c��r?��!��Q;5
��ѷ۫7��j@�k����dD��鲅��(^�v�w�2i��\�`�X��Y5(�Q*B�W!P��U.˯���P����ٝX�d��ʅ�-"
-��+
]�w�2\�#�h��H�cUk���~V���u1
-�Rp�N�'~�SД)�Q,Sǡ:3N��㊍�
^~8���d=w�4� a�cM�gf�5-���5��b��Y"�|�&�?�x�̿*W�C+Yj�P��m%�ܢ�,w=��!A���(��Su8�0�޼l:U��p"5�x���($
���$c���g��lD<FϮ�u��g�

h1�4���B�

-�k�{�P�[�]B9;k��(ԭ�a������=_
�x]UaQ���X�y�S�b�@,ZG5{�XV��!�W�\��ÀE���!0р�x;���6��]������� 	�������5�Yoכ�����*C(�ӟ��d�
F�-
-g�Gs%�-:
ܛ�|���
�.w��>��[��]�#����

��

�UIYLG���&;�����ᬜ��/�гZ�^�ড়���G�ZC�b\d�1��0�Ϻ��(�n�}��'�ݯ2�,��������w8%�~���
��Y41X�Ѳ����[\�f��h�r=�>�=P�����ݘ�e>�ΕQH
@2D�;
0*`� �:=5��ѳ�X눔�!I(�{=�3&���p�P�u?3�Q �����
�EK
�E���rM�
�����nF�s���CY75X`]�o˺�ۢ|��NЯH =�C�[���/u9!��Í����~���+35+��ѷ�IXߝ+� �0�
-:-�Έ���|�Y��h�D�-�
��v��P0�Q���_���O1
0�E�%-�
,��E�k�z�vE��٭����|��
[~�D)�SQH~���Ea��k�'#�0zv��XЙ�$D�ݟL��1��(i�ZHm�4�|XoV�*��yd����ƫc/��ケ�� ������W�[ �0|�'K��7���->�3�S�9��ݨ���7~��Mu������ԈrJ"
-��C����#L��)	p,��U���sU����B��CB�N�@H�O{�=k��(P@@��ET�QP/��RQ�`����ݳ���
f�Шe���B#�4N�gAH
 �
g,�cl�
��2WOG���=��*�kIS�ʌ0�ʤ
U��V��-Zer��
DϮ�bZ��'W�lDgz?�V�
-�ˤ�H���|D<F�.v�����t��¼;����;Vd�"����fj�Tf��4�
<]w���}~��'��#���#��FH�W�r�V� zv}��f��yX���[$�Ty��tcC	��\�JD!A���@�-Fy�9"=�MKL�c!t�"�HD8���Q�s�����w�P�,Nx4Q���+O�ǔ��DՓ
`&�s]���߲W�%b�x��{V��MU��V4U�͒d�7��e�T�]6��ZDP92��tYdcJT��'k�f����l�,�I�	��$N�_�Q�4��
�]I��a�����X
��_�l@�c�������
-{n�V3�4�t�-Lm������A,W����R��.W*
����`���W�y�C�]j�P��m��܎�_hI
�(w]�x-

�g���Z���כ�mIa�"�.�"��(8�
�u�`� �P��eS��h]��	A���'�� �� �!(���
��KI�}
��|���}�JM�J�cA�����[o��a�ͧ��:
��
�
\2�9"
-	BE
5���`�47_��q������N�W�ꬅS\B	`��i�͹�v����u���
~u�
~߷��V�wz	R�!Ls���q��:$�Q"�)�؈��i�ē�A��.��A���u�QXk�ȥ���ӯ�|}�@`�L�������H.�M��(,$���B
-��F�x�O�S7����r����M��7�۶D��7���9�	o>$����	���a����l���s�����;���u�SP��('���%dXg{�0����\�@�팭
�	+�A�%
0��
�
�����Ͽ�
�0y��
-�8��J��4(����1Бd� o4�c�'m��
�(
�0ULB���s&�(�3?$m

m��D8�c�5��_����
�9Z&���c���8��� G"�Z��h`�INj9��r�b�����r�ge���G��v�C�P?�Tg�Jm��L��
+��/�pƟ斞�Nՠ�a~��v�Q<4^�K�����m�,���*�(��"��Ȍ#B:�G6��"�x�fhEM�����v���GQ��E
x�1�Q�7�>[)�< jt[�����q����@�3�x>��z\{��zPۆ9����>m����2޶}]ߒ=lڇp����m��������;�8�.V�m��_�;
=~��c�A���uS�*~S
�8�<a�5��s^�5
|��/����j{v�5�?���^����#�:���z ������e�rY��K�6��[DP/�,��jb
�Y,7�C{�{w�+���^��u!t3� 
v]�endstream
-endobj
-9679 0 obj <<
-/Type /Page
-/Contents 9680 0 R
-/Resources 9678 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9495 0 R
-/Annots [ 9682 0 R 9683 0 R 9684 0 R 9685 0 R 9686 0 R 9687 0 R 9688 0 R 9689 0 R 9690 0 R 9691 0 R 9692 0 R 9693 0 R 9694 0 R 9695 0 R 9696 0 R 9697 0 R 9698 0 R 9699 0 R 9700 0 R 9701 0 R 9702 0 R 9703 0 R 9705 0 R 9706 0 R 9707 0 R 9708 0 R 9709 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 ]
->> endobj
-9682 0 obj <<
+9637 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 709.3269 236.7449 719.8573]
+/Rect [145.1 398.945 236.745 409.476]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d6a8cc7029bad7ad7ad116c90ff59aec) >>
 >> endobj
-9683 0 obj <<
+9638 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0821 709.3269 307.5883 719.8573]
+/Rect [264.082 398.945 307.588 409.476]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint) >>
 >> endobj
-9684 0 obj <<
+9639 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 674.0841 243.3704 684.988]
+/Rect [145.1 363.884 243.37 374.788]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_236a18fe8cc922d00ee92a6c6e42f923) >>
 >> endobj
-9685 0 obj <<
+9640 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.7076 674.0841 320.8393 684.988]
+/Rect [270.708 363.884 320.839 374.788]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence) >>
 >> endobj
-9686 0 obj <<
+9641 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 639.2149 240.6203 650.1188]
+/Rect [145.1 329.196 240.62 340.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_bfd98397c137d81dcc27111fba3ccd54) >>
 >> endobj
-9687 0 obj <<
+9642 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9575 639.2149 345.7846 650.1188]
+/Rect [267.957 329.196 345.785 340.1]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9688 0 obj <<
+9643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 604.3456 247.2458 615.2496]
+/Rect [145.1 294.508 247.246 305.411]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a26e1a5815b7a0c3b610395c854594bf) >>
 >> endobj
-9689 0 obj <<
+9644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5829 604.3456 359.0355 615.2496]
+/Rect [274.583 294.508 359.035 305.411]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Congruence__System) >>
 >> endobj
-9690 0 obj <<
+9645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 569.85 193.5774 580.3803]
+/Rect [145.1 260.193 193.577 270.723]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_3c1e5a2419a5f4a5cf89133606ed1680) >>
 >> endobj
-9691 0 obj <<
+9646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.393 569.85 232.5806 580.3803]
+/Rect [197.393 260.193 232.581 270.723]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9692 0 obj <<
+9647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.0592 556.8482 248.8445 566.7534]
+/Rect [192.059 247.282 248.845 257.187]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-9693 0 obj <<
+9648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 524.0218 193.5774 534.5522]
+/Rect [145.1 214.546 193.577 225.076]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_9ca6b6eed07fd3b72119b8ea58328e5e) >>
 >> endobj
-9694 0 obj <<
+9649 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9146 524.0218 277.6909 534.5522]
+/Rect [220.915 214.546 277.691 225.076]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-9695 0 obj <<
+9650 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.892 511.02 252.6774 520.9253]
+/Rect [195.892 201.635 252.677 211.54]
 /Subtype /Link
 /A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-9696 0 obj <<
+9651 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 477.8201 223.4647 488.724]
+/Rect [145.1 168.525 223.465 179.429]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_8132d1a9b329271fb4f7faeb59c89c39) >>
 >> endobj
-9697 0 obj <<
+9652 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.8018 477.8201 298.7318 488.724]
+/Rect [250.802 168.525 298.732 179.429]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9698 0 obj <<
+9653 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 442.9509 285.6507 453.8548]
+/Rect [145.299 133.837 285.651 144.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1956a63a72283d208851d3fe2b11989b) >>
 >> endobj
-9699 0 obj <<
+9654 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.9879 442.9509 360.9179 453.8548]
+/Rect [312.988 133.837 360.918 144.741]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9700 0 obj <<
+9655 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 408.0816 215.1762 418.9856]
+/Rect [145.1 99.149 215.176 110.053]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_4b428098e57a9101473a54cd71a0753f) >>
 >> endobj
-9701 0 obj <<
+9656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.5134 408.0816 290.4433 418.9856]
+/Rect [242.513 99.149 290.443 110.053]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9702 0 obj <<
+9659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9663 0 obj <<
+/D [9661 0 R /XYZ 90 757.935 null]
+>> endobj
+9660 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9729 0 obj <<
+/Length 2573      
+/Filter /FlateDecode
+>>
+stream
+x��[o�����+�����x�}h���-�&޾dm�Q�R)Ɏ��{��D�)��:�AdQ�3g��|�2$

���/�W��
q����!p40��Yp;
>�#��'�R:�0ft��p�a��h�x�G�4��
ߥa�rssxy��h��'\���p��~�
��(��@��Z�����n�����?W
4��4Q��������h0��?�g���2�\��"�t��+����3���e�

�D2��+�*S��/�<Q0���j�_G���\яY

��>���)�7~L�a2�.�$^����"�_����d�=-�CnS�g��w/ �U~)>��
X��8\Ή�,��h��G��L�|v�+s�޹���%V�8o
J�o��AI4�E��<��6�����o�K�M�h���AXT��u��i��Ѯl�� EQv�W;��8y�-Y
/

3�6�Ŗ4N�~�*+sœ&B�`��K�^�O�Ƌg���n�����j��/з�&��a~
+����͸qg��Y���
>�uC�4Sl?��ِjoжod�wZr���>�
��
42�X"�z�� � �y{��=Χ#Y�
w!8I�o�hV�U�yU������RCr��/�n�
�����b/׋��e�ۀ���	�.�/�o�5N���mY�Mk�6�$
.��ĘA�em'�|F���N�5�}��L77‡q�&�C�9�ν�rm�����Zس҃R�Iq��4��=4NB�R��p����uD�r��͡��]�D���`"#�A8�(qʕ>!��K1,��

4.���r�}+5z�n
yJ<2��B�QM�e�x䪰!��VQ��c�R�����v�P��$A��uli���8��t��u�<^�(��'��P���
�}
%��6
����&�u:�����0�
&27f����4����p�J�t,s�DhK_�0��.B�f�HJ����I��O$�ʄ�/�'��w�~����oi�h8�t�H
�/� �?l1o�y���.ɷ^^��u�D��t�<대P��2悖
�3.po�U�犱<*��F�**"ܖ_
+foJ2 3`a��K��V�R��
�
��&�:X��=�W:2�Khw ,�p�X��`	Ck��u
��6�
e��↶FC��aR'L���������v�[xg#�,%�����s+��<�s�-�\r
�����e�,�6��[���%(���?�5Tni��1J�4\`�;�0�`ܪK �
V v"����"K��^�we
+W�%���%��}W2�w��du*f��*���-њ0ę��Nb���

�VY�Z�%�Z
�G�Ɂ"�L��
�:8

��I�kC٦�j /;Y
g�0Zs8W`eJ-��ʌ
+
B��1����bi>�47��d�
k��Ș6��%���*�@�3����A��RQh�(��S�4�/O�(aY�����J��,���%$�ƀ�T���yo(����>��R�q`Aؽש��#�Ws���|f�/���rr����)
�a����#�A
�	�/�s��0U�
���펠-����_�}��F�._��J_`����>��!l{���5� <�Y<�g�\�cNx�-`���.�b���DY7�6�9�:�Z�s�ls�9`�F�?T����
�!Ԛ����V�tX��*�h�@�����^�,��=��!R��z�l��t��}���u��#xmF� ���v�J���C��;)�C��S�@�.��@��PJ���I��ߩg���f���c��^A&T��zE�i=dW�%d�,
L�<b/yYD젅?��]�ڮ%b�;k;4��WJְ���O[:�u����n��L��y��`������$a�i��7�WF��� [...]
+ ���=���.�У-8���'��0'O��
+��<h
U5���4��<#�PUFf�Y�N�A�FF❵s4��`�#R�
�T]���Pї����;����j)A
+9ʞ��:b�
jx{�@LZ�E2���d����nZ��������߷_u��aG5ԑ���V
W�E{�ٚA
�B=j|FE�1�ȫ΢��,h�]|�Z�*NV����f]W꽋�r �v�0Y�m�T7&n?�����Dh�g'rU�sQJg(m.	T�ҟZbI@��e��p��+�d�}�k������XR��k�K���m
��y��)LQ0�
�4k���Tf�s<,��g��~�-H�.:�5���R��m��᎟q���z�T���)5��]��$@�͕m!ek�0�:�sO쵚!x��ϓ��{��kYA)��%2}<���|��-��������r��~.He��
���M`Ne�ByͿ�/bH y8!���]�p�
+
�܊�\Q.�j��]o_d�}Q��G�پ�=�5B�b`��[�����O>d)v
+D�<������_~�D�w��u�4�#Lva�"�PT��h��?�7�}�읗OQ�����
��*c�^i[���y�ݮo���������x��x{�^/�k��2t0�??��J�eVi��9\\f�8�����f�
+endstream
+endobj
+9728 0 obj <<
+/Type /Page
+/Contents 9729 0 R
+/Resources 9727 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9614 0 R
+/Annots [ 9657 0 R 9658 0 R 9676 0 R 9677 0 R 9678 0 R 9679 0 R 9680 0 R 9681 0 R 9682 0 R 9683 0 R 9684 0 R 9685 0 R 9686 0 R 9687 0 R 9688 0 R 9689 0 R 9690 0 R 9691 0 R 9692 0 R 9693 0 R 9694 0 R 9695 0 R 9696 0 R 9697 0 R 9698 0 R 9699 0 R 9700 0 R 9701 0 R 9702 0 R 9733 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 9734 0 R 9718 0 R 9719 0 R 9720 0 R 9721 0 R 9722 0 R 9735 0 R 9723 0 R 9726 0 R ]
+>> endobj
+9657 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 373.2124 277.3622 384.1163]
+/Rect [145.299 709.266 277.362 720.17]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_97011210c7f0b2efa0f837ef2da6c5b3) >>
 >> endobj
-9703 0 obj <<
+9658 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.6994 373.2124 352.6294 384.1163]
+/Rect [304.699 709.266 352.629 720.17]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9705 0 obj <<
+9676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 338.3431 229.5525 349.2471]
+/Rect [145.1 675.022 229.552 685.926]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7e68bea365fe939d08c91ec4edc61a2b) >>
 >> endobj
-9706 0 obj <<
+9677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8897 338.3431 304.8196 349.2471]
+/Rect [256.89 675.022 304.82 685.926]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9707 0 obj <<
+9678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 301.4814 239.8036 312.3853]
+/Rect [145.1 639.411 239.804 650.315]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_672b0568e7a27c37b3afde649f7c0171) >>
 >> endobj
-9708 0 obj <<
+9679 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.1407 301.4814 315.0707 312.3853]
+/Rect [267.141 639.411 315.071 650.315]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9709 0 obj <<
+9680 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6947 288.8532 275.4757 298.7584]
+/Rect [219.695 627.095 275.476 637.001]
 /Subtype /Link
 /A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
 >> endobj
-9711 0 obj <<
+9681 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 266.6121 217.1088 277.5161]
+/Rect [145.1 605.167 217.109 616.071]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_eb14f5522982b3874f2cd19586813421) >>
 >> endobj
-9712 0 obj <<
+9682 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.446 266.6121 292.3759 277.5161]
+/Rect [244.446 605.167 292.376 616.071]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9713 0 obj <<
+9683 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 229.7504 271.1256 240.6543]
+/Rect [145.299 569.556 271.126 580.46]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a809bff4b85d09cd801e5e5cde1b8c06) >>
 >> endobj
-9714 0 obj <<
+9684 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.4628 229.7504 346.3928 240.6543]
+/Rect [298.463 569.556 346.393 580.46]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9715 0 obj <<
+9685 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.8625 217.1221 326.2592 227.0274]
+/Rect [214.863 557.24 326.259 567.146]
 /Subtype /Link
 /A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-9716 0 obj <<
+9686 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.984 183.9222 201.7419 194.8261]
+/Rect [147.984 524.353 201.742 535.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_c93800b9ec7aae75937598e1f2209b1f) >>
 >> endobj
-9717 0 obj <<
+9687 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.4419 183.9222 243.6294 194.8261]
+/Rect [208.442 524.353 243.629 535.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9718 0 obj <<
+9688 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0792 183.9222 371.3288 194.8261]
+/Rect [294.079 524.353 371.329 535.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9719 0 obj <<
+9689 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.3057 159.3388 269.9387 169.2441]
+/Rect [223.306 500.082 269.939 509.988]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-9720 0 obj <<
+9690 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2877 126.1389 212.7678 137.0428]
+/Rect [146.288 467.195 212.768 478.099]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f47944944e16e786df5c0671e7baa995) >>
 >> endobj
-9721 0 obj <<
+9691 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.7715 126.1389 252.9591 137.0428]
+/Rect [217.771 467.195 252.959 478.099]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9722 0 obj <<
+9692 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.8959 126.1389 375.1455 137.0428]
+/Rect [297.896 467.195 375.145 478.099]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9723 0 obj <<
+9693 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.4006 101.5555 277.9276 111.4608]
+/Rect [220.401 442.924 277.928 452.829]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-9724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9681 0 obj <<
-/D [9679 0 R /XYZ 90 757.9346 null]
->> endobj
-9704 0 obj <<
-/D [9679 0 R /XYZ 90 355.4439 null]
->> endobj
-9710 0 obj <<
-/D [9679 0 R /XYZ 90 283.7129 null]
->> endobj
-9678 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9739 0 obj <<
-/Length 4737      
-/Filter /FlateDecode
->>
-stream
-x��]�n#�}�W�ib��� ��� `�3�C�
Cc���ؒ#�;q�>U�M�lv�=#�
�����Q�Q��:]d�؂�?l���(C��zq�pA�׿�`�����e
�廋׿�j��\/�}h-hFg|���ɯ��Rz����������+N/���w��nu�����j���M��+f/���%W��W����{�]�i��ln�
Dԥ���w�����@��$Jh�D�y����>��/(Ϊ�'���
_<\H.��o/�
�th�0�Z9x%����DKk���	Fuf1"NY7
-bTf��3x�B���Ϙ!�s�0
��9W� 1���
�~=��kB
K�����6s-5�b���?�>���b
_#��E�M�[ݯ���^�>\qu�=�|�\�V�!7.
�U�rX�ˆ+kE��pPE3�J������2�E�b��R\����!��H�T%
U# +�[!��������?��������0��"����a��\�}~x����Kӕ�P5
-��`,v������ޜ���n��!)
1���	�
-��.���zӬv׿�����!2C:��r407_PȺ�Gϯ�+�.�o7-�Կmš�Y7���a�Z�o޴���a=�j�o���a�Y
��o�n7
�=���c)Q
�����9��,�>��~~#>��]���kɏ�0 ��x�`����E~��(��C栰��.�Pѡ��@�hj<�p��w��D��st���
-I��G�O�+��ƈHE`tչ�|Z�:&�+a.��css�x@@���e)K A�
��t����0�vۊ�g�:�X[Y:fP^@�t���}�.����!�(N�e@�T�ej�Q
�PJ��+e0϶a�t�`��~��[bi��~�id���i�<��3��u:2�%$A���0ۂ\��ϭ
�`�6q>"Ќ�^�Y'P��+��/R��
&���6H	��5�)e:������nd�JH�&� TrӾ�-[��)�#��[;��n��B
-�r(�4g��%g���{��-T5�Y�o�]k_CF�޶�~x�<�4���_�]a!8�>�g;�3u��^\�j%��U�o�U�ol��+~�z���Կ
-�?C�����k$2�E�
�}\�H�8�rd�B��g&F:"c؀E�f�%�
�v�����V&G at UKÍ̎i	
e^�C0]�<��$�;CKj����
-	��
-5�D����q
[;H3C�5>��H/�$�8
-���zN��lL+dEAh	�Arxa�S�-#�Ȣ��cѥG�w)e�d����rd���=,Q��͸R�p)cϠOT�X&��Ǯ�ԲTvB-k�ɒ��M���N���j�64#Z�BEB
�n:�x|e�r��Z��Z9��q��0yTN5��%�L��,��XX���2�
-pL���M�e�S*�)�B���ib9�\�6s�|t
�K2�%ZY�Z�M9eU
�9T�y��FCQ�0�/����D	g+�8���86XP���*N�Nw�
�œ�.t�{|�Df�˺��TŰT�W3���Q��-#����|�FfwV�O(
:��C�A
-BA��>zB����>����vn�F!�;G+E���]
B at U(@�tAuJ!Hb��8,/+A]�-���×1��h=j֬�Ҿ�C2��Qp
	�7�vw��U_~��m�h��}�Nz��m
�����K�0I��۶�M�m5T��̣��绶@���bXF���DA+��6��=�2H���-0tm�sQ�b�ۨ�\[zPNtг5D8��1Q�~c"V��ޯ�M�k� -��‹���a�
I��[r����R�
SF�%���9y���K:���`uI,I��__
b�Ӓ�
^T$�
����Hdv���)a��"PR\��Ȥ�s.*���������uF�b��PT���P%
̒QY'��Rs��
-��9����
���Q�&�)/��Ƣ��E�6��
�y� �)X�f��������Rjw����y'=�3\;
U!�9�AS����=�%����c%��a��BMu��X��;Eg� �&|B�i�$�e�	|?;�N�a�<P���~�ʬ

�����h�v'�2K�r.
-?��6x�\�uˀʩ��O�5��"�Z�~�&�41�&�,��p��~����~w�{�ã}����PL��.!�u`�Uu`l��+~{
��-��
wr���k�5�]d�~�����փ���T�
�x��
،�t�W�0�3��UC��Þ�e�e%=��
�`wg8)���ha\�n�UtvL�B*�;K�H\Ԗ��A
-�E%���«��׃m���M��9n~W�evϸ����(�m~G���G��{����KiPk}��mh��
G1yR�$s}�N����
E~RTN�ZCݹ��=G1<)*���b�(\*�I��N����0�v�RԱ�E�t(���3l�A9��أ�x��*@ �b�}���!�
?i��yB-
�q�x���U����=Îu0��m�|ΣkA(��;փ*@�oYo�͎
f`���h����
�O
�e�`0
��wЧ�ѳ����F/l�c
�)��y� �Y8o�G�-��/?pP���
xyy�
����j�Qu�~4W��E�^�G>˷h���
Z��`huR�O�l�+�7*W=���ᩤ<
��{�4�37^s?�:��,G@
�'C U�;�'��Iu�LHu!p
ĎG��eVg�tH/`
-1	�2	�8��ȈL�
�QN�
-L�ҋ��Vϩ�
-��H�`%��a�m2]8<D�)2=�Q���6�e�Q��Yn�BPzCz
?�*��n���Q,��b��6��D�*E�`�Q��+���M�:�4��gQ�+�1N�g�2�rz�۔,$"�')�{�+����0��2����|�۱z������
�%$cg
v����})�>����
���/?��EڝY";{ᦸi�nkiJ�
f�s�����.z�����2�9"ݏ�\��P��@��ॕ������XU��
��W�ے|����~o�5�ݶ ��kH����z�V�|�Xe�:�BP
C����Q
G�������.���~�Ȗ���J�Z� xTŻ����TN��z.� �2�ҝ��"%
�a��t�]i��g�
ڍ���������O�������a��x�o�n�
-" 2i�
-ϣ��P�v�bZv�)�]j���<�ˀ���g�0iR��ç�ٌ�L".ٹGh��
ۮUp�v��G�(�
a����uT�|���ӵ��a��,���__6b������S6�$2����>n��7������i7Y>�Qf\9$Ua�hoe�`(�����`��8�Ql��;=�͝pU��H�׏8Z}�l��;�W��H�y~����>iHW�
-���
`�o� ������ +$2��◿��oT\Z�R�XZ|��r8�¤]|���}я���	���nY�	�@�)YB at U��n�����V�M����h����G�)�
,?ʗ6
�j1`�ߔs7�s�.�mr[�}=�0��
]XUn��X�~��2N��<�ˀ�Q0�P<�P��!צ�/~im�{=�#U)M
V/M��Ri*���)v;]�,
�Rׅ���k$2�m�s��>4��}������ �x�¥��t��T�����R
4Y��J�9a�F(�k42��Zeq��J<���Q���{�Uj�y-����������"�_!��j�9\�}�������޷=s�HI$��67�%���-f�lHA'vr"��ݣ��,U��2R���ʓz�^�z�?c���G��%7R�!.�(��nzyzx9N��(}uT̨����|���Z��0�� �P½}�SJ��[
��{�&����t�.�7`�9��}iH���d"T�Ij
���P��
6C�qj�bL�d����
-N�ab at a����r��ڣ"q��/�D>栂�ˊ�	����
�M�o����`V����
--�F"��x�\q�a���T����ˤ���0%g(�k,2�5m��\X=�xTͻ�
d�=h)EE�̌�Q۔��vgk�b<Zm3s�X�Ϛ��T� Kb�x�	�&�QH���Ʀ��ᤙs<FWk��2=��X*oX׎���򆍟l�|o
���=���nzV��S8�AaǩZ�e@�X9���n��(r��g�8ѸMj

̸�i�y*qƇ�8S5ǧK��'~Cix��H��̤�)S'���)<��_�07
�à�pzT]�
͕�Mѩ�ב��B�wƦB���*R��q��Lє�b�́C�Ԏ�4�	Z���vf
��ah��``�Imy��Pٵ`�������FPg���k�IO��m����}=�i�fl#�C��
.��y\j*��q\T�?�$�"u��m!@�#�
��%���}*5���E(2X�Be��
�n�u(q=��Idv���2�};-Y9U���H���OV"|��vn$�F#�[9�h��EP���Q5������#�	e']E
-jQBJoW} [...]
�K
��g�au���I��{��ݷ�D�=�����u?������}��~�>"Zm��!"
ŏh���Ã]�*�"�^�mF�Z!7̤��������	���;�o/4ѧ���g�;

߼~���'r�'O��㎬��_�m�Qi\i��qI"�'�M������&jc���#���/�Kn2�����;�endstream
-endobj
-9738 0 obj <<
-/Type /Page
-/Contents 9739 0 R
-/Resources 9737 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9799 0 R
-/Annots [ 9741 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 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 9767 0 R 9768 0 R 9769 0 R 9770 0 R 9771 0 R 9772 0 R 9773 0 R 9774 0 R 9775 0 R 9776 0 R 9778 0 R 9779 0 R 9780 0 R 9781 0 R 9782 0 R 9783 0 R 9784 0 R 9785 0 R 9786 0 R 9787 0 R 9788 0 R 9789 0 R 9790 0 R 9791 0 R 9792 0 R 9793 0 R 9794 0 R 9796  [...]
->> endobj
-9741 0 obj <<
+9694 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4429 708.9533 250.0993 719.8573]
+/Rect [145.443 410.037 250.099 420.941]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_4f514edad990412bd66cc666347103ab) >>
 >> endobj
-9742 0 obj <<
+9695 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2582 708.9533 289.4458 719.8573]
+/Rect [254.258 410.037 289.446 420.941]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9743 0 obj <<
+9696 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.7722 708.9533 379.5123 719.8573]
+/Rect [307.772 410.037 379.512 420.941]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-9744 0 obj <<
+9697 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 708.9533 513.9963 719.8573]
+/Rect [436.747 410.037 513.996 420.941]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9745 0 obj <<
+9698 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.3043 683.161 439.3345 695.326]
+/Rect [344.304 384.557 439.335 396.722]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9746 0 obj <<
+9699 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2074 651.17 266.586 662.074]
+/Rect [149.207 352.879 266.586 363.783]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_08e91d11b3deb5b694356b5573d2547a) >>
 >> endobj
-9747 0 obj <<
+9700 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5094 651.17 309.697 662.074]
+/Rect [274.509 352.879 309.697 363.783]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9748 0 obj <<
+9701 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4935 651.17 408.2337 662.074]
+/Rect [336.494 352.879 408.234 363.783]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-9749 0 obj <<
+9702 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 651.17 513.9963 662.074]
+/Rect [477.703 352.879 513.996 363.783]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9750 0 obj <<
+9733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 639.2149 171.3608 650.1188]
+/Rect [125.095 340.924 171.361 351.828]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9751 0 obj <<
+9703 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.2371 626.5867 480.8696 637.5427]
+/Rect [381.237 328.608 480.87 339.564]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9752 0 obj <<
+9704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0912 593.3867 250.7476 604.2907]
+/Rect [146.091 295.721 250.748 306.625]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_50e1047c49fffb06bc5089a06a051a3d) >>
 >> endobj
-9753 0 obj <<
+9705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.0677 593.3867 357.3173 604.2907]
+/Rect [280.068 295.721 357.317 306.625]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9754 0 obj <<
+9706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.4046 593.3867 456.1447 604.2907]
+/Rect [384.405 295.721 456.145 306.625]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-9755 0 obj <<
+9707 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 581.4316 202.3443 592.3355]
+/Rect [125.095 283.766 202.344 294.67]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9756 0 obj <<
+9708 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.0047 568.8033 446.0713 579.7594]
+/Rect [350.005 271.45 446.071 282.406]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9757 0 obj <<
+9709 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.0173 535.6034 265.396 546.5073]
+/Rect [148.017 238.563 265.396 249.467]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_cbc86683af6afc0818cc9e980a84fcb8) >>
 >> endobj
-9758 0 obj <<
+9710 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.5684 535.6034 375.818 546.5073]
+/Rect [298.568 238.563 375.818 249.467]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9759 0 obj <<
+9711 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.2392 535.6034 478.9794 546.5073]
+/Rect [407.239 238.563 478.979 249.467]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) >>
 >> endobj
-9760 0 obj <<
+9712 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6163 523.6482 225.8659 534.5522]
+/Rect [148.616 226.608 225.866 237.512]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9761 0 obj <<
+9713 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.2222 511.02 466.6702 521.9761]
+/Rect [369.222 214.292 466.67 225.248]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-9762 0 obj <<
+9714 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.9331 477.8201 239.9836 488.724]
+/Rect [146.933 181.405 239.984 192.309]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e89cd985111a1a27c60a6fcc28ae9788) >>
 >> endobj
-9763 0 obj <<
+9715 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.6327 477.8201 280.8203 488.724]
+/Rect [245.633 181.405 280.82 192.309]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9764 0 obj <<
+9716 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.8547 477.8201 405.1043 488.724]
+/Rect [327.855 181.405 405.104 192.309]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9765 0 obj <<
+9717 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 477.8201 513.9963 488.724]
+/Rect [477.703 181.405 513.996 192.309]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9766 0 obj <<
+9734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 465.8649 171.3608 476.7689]
+/Rect [125.095 169.45 171.361 180.354]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9767 0 obj <<
+9718 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.2574 452.0277 432.0923 465.1857]
+/Rect [347.257 155.925 432.092 169.083]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-9768 0 obj <<
+9719 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4364 418.8339 251.209 429.7379]
+/Rect [145.436 123.044 251.209 133.948]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_371deb67f73bf27ac9a7ff6f2216db9c) >>
 >> endobj
-9769 0 obj <<
+9720 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.3614 418.8339 290.549 429.7379]
+/Rect [255.361 123.044 290.549 133.948]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9770 0 obj <<
+9721 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.719 418.8339 409.9686 429.7379]
+/Rect [332.719 123.044 409.969 133.948]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9771 0 obj <<
+9722 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 418.8339 513.9963 429.7379]
+/Rect [477.703 123.044 513.996 133.948]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9772 0 obj <<
+9735 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 406.8788 171.3608 417.7827]
+/Rect [125.095 111.089 171.361 121.993]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Linear__Expression) >>
 >> endobj
-9773 0 obj <<
+9723 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.1145 393.0416 456.9923 406.1996]
+/Rect [370.114 97.564 456.992 110.722]
 /Subtype /Link
 /A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-9774 0 obj <<
+9726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9730 0 obj <<
+/D [9728 0 R /XYZ 90 757.935 null]
+>> endobj
+9731 0 obj <<
+/D [9728 0 R /XYZ 90 691.81 null]
+>> endobj
+9732 0 obj <<
+/D [9728 0 R /XYZ 90 621.955 null]
+>> endobj
+9727 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F97 2177 0 R /F38 342 0 R /F98 2117 0 R /F34 2344 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9792 0 obj <<
+/Length 1772      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�)�f*W^2Ӈ&m�I��v��$áE�f#^JRQ��]� %ʔD�t�$��CR\,�س� �uma�ы���+�Y
�lj[W��-�&HPb]���1!��ɔ`�ǧ��A
���q:_��0�ߢ�<�Wϟo�<!�8M&S*���<(���L^I�N&3	z�Ř�b��������##��#r��f���Gl���
#��RK��
�s�|���v]��oXK��l����+�?PZ
�ng��
+0���.
+�;5���
�LK)�(���Y!}�:�N�u)�X�Y��~e�f2�N%�V�����דW�\����NJ�͉53=a<��
�qK�*5'�<o�s�k��jV0f��-6d8��[˔7QQɴ{g0��U���9cY,�e��^U�Yg�2J���@��O�KY.�L:�#C�fa-$a�"���ZfաD �x� �t�ڽ-O8VaM)A
q�q����:�s6O�E~�G��!�;�
ƨl�T�*��&$j�5L'D
��C�
��#b��x}�'f�2
+e����2j����E����tsŠ�(�]Ӛ�<wM�����]�W��i��#	��^+���|
q�
����yG�
}7:��)� =(�4�@�i� Rb�H`� �
�^*�<���?_���J��@B�	�'�f���
��#<��S@>�wE'�;:9F�C�'Gf��T�n��zVᩮ�Ƕ/<���P%-� A
+H
��=�wG,%�(6��;"�F6c�"�E�nܰ(�L
�*��m��1�ܫ���4��ԕ)\	9�!�a���/�E
O
�� &d\��D��5��#8g�8B�
A�9�н�C��
&T�m��N[
A�%\���jl{9�U��8��
�@�K7|'GP&�s���-��?1�#�<&G8C$ݯ
��e�O��<X�Ru1vw�뗞qoz��tۅ5���Mܓn��{�l�S>�~��
�"�=\�����]�� 6`
L�tЇ���D46����<�6���G��XR��v}|
+b{|
+o�>et�Cہ,�(�F %S%�ʎ�^�n�@f�كmj����WMm_N���&�=�&T�
4��vӄz��s�qmiB+U4���vڳ���*��6==D
���Ŋ� ?�j��M���I
Q4
Lk���}!���B����/A����"�)���M`����ܤat�Z'���(�D�Ap��7��Mp�����γ`�>��>�e�z���_�^��
l��}e}�+�ݩs�h��U�y"���6
�DR��� .�@�:�n�#�佬�\[_ݮ��� }�'���^:7o��П���?J��[}~��y���lPs��'P���/��}
0����h��Ą�4풴� �AG�(dK2�YP����
O`˦�
F�v�:q{��@�~��/u%|R�[�:�
+�ry���A�.�q����O�"�{����/ȣ�r.
�\v2�2�/��
Fx���L�R�Q/_�����E 
Z�6�]Ulo������:<x]�ȼ�#�jKS`�u/���y�)8ল���t�z��Ǧp�"uoV1}��r*em�X�3U~�n��z�0���Gm�v�ȍ����w
w��H��(��id�飍<z�>�Pn�{xQ�Ty
LZ�y4�zV2�N�du)�,�O��*X������咰j�SW�粆Xe�'���u��w=h�"���,��''���
+�H�,GQy�e��%�Z
QT�l�^�a
����~����v
+8�_c� 
+endstream
+endobj
+9791 0 obj <<
+/Type /Page
+/Contents 9792 0 R
+/Resources 9790 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9614 0 R
+/Annots [ 9724 0 R 9725 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 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 9767 0 R 9768 0 R 9769 0 R 9770 0 R 9771 0 R 9772 0 R 9773 0 R 9774 0 R 9775 0 R 9776 0 R 9777 0 R 9778 0 R 9779 0 R 9780 0 R 9781 0 R 9782 0 R 9783 0 R 9784 0 R 9785 0 R 9786 0 R 9789 0 R ]
+>> endobj
+9724 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 359.8478 224.5705 370.7517]
+/Rect [145.1 708.953 224.57 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_98c785602c5af8f7e0c1be92bb5e8b71) >>
 >> endobj
-9775 0 obj <<
+9725 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.9077 359.8478 299.8377 370.7517]
+/Rect [251.908 708.953 299.838 719.857]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9776 0 obj <<
+9746 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 347.2195 347.8694 357.1248]
+/Rect [304.542 696.325 347.869 706.23]
 /Subtype /Link
 /A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-9778 0 obj <<
+9747 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 324.9785 255.5641 335.8825]
+/Rect [145.1 674.084 255.564 684.988]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e10fbc38125e63858549f5ec8a25e046) >>
 >> endobj
-9779 0 obj <<
+9748 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 288.1168 255.5745 299.0207]
+/Rect [145.1 637.222 255.574 648.126]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_7366f9b91109b63f078e963bccd9f5b4) >>
 >> endobj
-9780 0 obj <<
+9749 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.9117 288.1168 330.8417 299.0207]
+/Rect [282.912 637.222 330.842 648.126]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9781 0 obj <<
+9750 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 275.4885 373.7824 285.3938]
+/Rect [304.542 624.594 373.782 634.499]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHRZ03_widening) >>
 >> endobj
-9782 0 obj <<
+9751 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.6092 253.2475 306.6411 264.1514]
+/Rect [147.609 602.353 306.641 613.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_281b8db6a8e0014ab2c41dd15f8c0708) >>
 >> endobj
-9783 0 obj <<
+9752 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.9975 253.2475 386.9274 264.1514]
+/Rect [338.997 602.353 386.927 613.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9784 0 obj <<
+9753 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.1692 253.2475 513.9963 264.1514]
+/Rect [436.169 602.353 513.996 613.257]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9785 0 obj <<
+9754 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.079 228.6641 390.1688 238.5694]
+/Rect [312.079 577.77 390.169 587.675]
 /Subtype /Link
 /A << /S /GoTo /D (main_limited_extrapolation) >>
 >> endobj
-9786 0 obj <<
+9755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 217.7052 208.5078 227.6105]
+/Rect [139.268 566.811 208.508 576.716]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHRZ03_widening) >>
 >> endobj
-9787 0 obj <<
+9756 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.6368 195.4642 311.7464 206.3681]
+/Rect [146.637 544.57 311.746 555.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1a3647877302fc6e0e583b8b881a7a4f) >>
 >> endobj
-9788 0 obj <<
+9757 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.1579 195.4642 390.0879 206.3681]
+/Rect [342.158 544.57 390.088 555.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9789 0 obj <<
+9758 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.1692 195.4642 513.9963 206.3681]
+/Rect [436.169 544.57 513.996 555.474]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9790 0 obj <<
+9759 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.8939 170.8808 392.5576 180.7861]
+/Rect [308.894 519.986 392.558 529.892]
 /Subtype /Link
 /A << /S /GoTo /D (main_bounded_extrapolation) >>
 >> endobj
-9791 0 obj <<
+9760 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 159.9219 208.5078 169.8272]
+/Rect [139.268 509.028 208.508 518.933]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHRZ03_widening) >>
 >> endobj
-9792 0 obj <<
+9761 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 137.6809 236.1973 148.5848]
+/Rect [145.1 486.786 236.197 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f074d4d4d406dd065812b32cc8714222) >>
 >> endobj
-9793 0 obj <<
+9762 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.5345 137.6809 311.4645 148.5848]
+/Rect [263.534 486.786 311.464 497.69]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9794 0 obj <<
+9763 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.5425 125.0527 359.3377 134.9579]
+/Rect [304.542 474.158 359.338 484.064]
 /Subtype /Link
 /A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-9796 0 obj <<
+9764 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 102.8116 214.0604 113.7156]
+/Rect [145.1 451.917 214.06 462.821]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6e9d9dd7740b414d407c16687c99a88e) >>
 >> endobj
-9797 0 obj <<
+9765 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.3976 102.8116 289.3275 113.7156]
+/Rect [241.398 451.917 289.328 462.821]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9740 0 obj <<
-/D [9738 0 R /XYZ 90 757.9346 null]
->> endobj
-9777 0 obj <<
-/D [9738 0 R /XYZ 90 342.0793 null]
->> endobj
-9795 0 obj <<
-/D [9738 0 R /XYZ 90 119.9124 null]
->> endobj
-9737 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F99 2213 0 R /F40 350 0 R /F100 2135 0 R /F36 2391 0 R /F25 344 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9813 0 obj <<
-/Length 3775      
-/Filter /FlateDecode
->>
-stream
-x��\ے��}߯�­��~Q%�r�(�W)��<�.Eb%ļ��j��
\fp2w�T��<�n��9sٌ����љQ�8!�l������?]�����&������Z�
q��ٻ�ڂfDq�g��?�#�_�0J���5���q�\���t��<|,�����������U��kf����
Wt��fy:5���E�]�[`Qsa���ᄑ��j�$Jh���Տ?�����+J��jv(a����Jr�}�\���[��|Q�0��Z9���j�}���Z�
5����n U�Q1
-bTf��L�B���Ϙ!�s;
0�?q��	b��L�v(�/ׄ:�w��n�r���
-r5��9~h!��1�p,��U¦ܖU�^�ٸEq�����qy�o�U��-����ax�
-�_h�lf
-	�[E�03?QEW�ݩ��I����G�H��0޴}m��@(K��:���¼kJ4���y�p
}�
�ׂ�G�!)%�(;5�ē���|�C8.�]�x�p��m��DCO�'%�� �%��A��X�ڌ��n| >˜���N��X}�u�z���^�E�g��Ҩh@}��Y&[Lu�
��dc��d3m�o?���Ƅ"�r���F�
#g�Ѳ鼔p-��+ؗu��Jͫ}�
���F��Hᒧ"�@`Ҙ�i?��Ӌ�Kb(wT4^���̋�ݦj>�o�W���*w�� �teA�Q|��LWn�H�R��5��x��<��K��(�\����D(=��}Q��n��'Jk��
�ܭG�0�I���`
F�@��B���S�ak�(��ņ�~�s=�E�@`غ�/����3
���N�����8w� ð����h*��ÿ���y���RV�K�%�k��� P�D��~b����m�O��y�c at h���L�4p,��պ���v��U?�������L@!aq'A%Q=h���L��	x$��."4'Y>	�y7����
�GX{F�0E((���x$���4�m^
�lR
-
*C*7L��?������=�s�;�{�%0Tt���{�#�ru��l�X���u����L2
���S���tx��
��׺�
�
܈XG� {��p�GR�ڍ(��f�D(�\������
���
��Ȟ����

D͸�aZɁ�o��Jep�7;Y�D7�z@�.|z��W>y�A���?G�Py���Y�$����@>8m9f�9W���1`e!����E����?�w��=<e����n��]e�>.����C{�_����Es�u�-���u:O���f�΋��b�����*-����x��1,#
�y�A"~[�s{^z�rי��� �5;�׋���b�5�i����N׿�_����WH��/՝�zD�Č<�h�G�
����,���B"�_����*%q��K�Gl#ûV+���42�p
-]Ov�i;2��>�v�d���u�5����|��V}Q��i@
�M����*l	�����SD9���<�+�P2y��Ub��6c
-#���֣�
me�v���I+�;���
�f�p��7�,0�;y&#
&w��#L�F	Kc��5)��X��V�H!l��(�^h楈�G�
-�g�鋘��D��Z���`
-�'�1F
-d���}�}�[K\�s�D���o��b[
0��b�C��$�s��X��C�H��(V��jY;��܂�R��($
-�5���A�[p�C��
db2

#��_p��nR�x~OK����!�c���cYl#�d�[�i�fl� ��_*�|�@@^h�ɕ#��� ���#����w��unT�̶�M��xp�T�=LWG���1�s}f�F�hXf�FaB������H�p�VѾ^�[���
H
7Ϯ{��M56c0|؈
憍��n؈���F���a#Db�Gq,�{?���W$R8�qA�*���BB��oz����1Ăb��ubf

#��������\�����"�Dh���� �#Fݏ�E�_�/�FZ�G�	�F\4�D6r�K�~_��e7��l��t(V%
�$�P��6:w;��35����|~�
-c���ad��p��
��&�#��-N6=�S�&Dbw�l>�>G�s�8�x>=�D�-D�G�~��ͻA�	�=17�F0�;e�
�\�|
-:��	Qš��r�>�C�e���
Ԋm�X��%,Il��)��:����S��
���v:^_�;�ߕ���M��]�o�/����]
��S1�cD�њe
�l��(�#�LC���ϓ��иZ=�]	��b� C�/6�!�1��8�:"��۪�
6 ���¬�ϡ���v�6�XEw[��k��v\zSo�
�r�Yt�Z#>,\zbjL�~� <
��\��
�F�B��b��h|C���^�Z
p���#� �!A7$H�9����(	�'�����>g�KH�M^t�"���� k�kyn=
P���j�F\�V�ܫ��x�p��
0%fB
���9��<fj�?�i�V�E���fǚ�lc�Hj
�H�ڔ*��
�-\9�� �922��ȼߎ#c�8��\O�|�]Esv���_��2��e6���B��Z%�q5h�1Q�3&�f�E���6��g�L
<�B��a�A�Z�LR�a�%������f�&!�HR�t��Dq.�(,z��M)����F��Fn4�`�!�F���ݞ�6��NݞZ�eqnۮj>�����~��F 

�Jt
?Am�A1
��)\��J���8w0�4� 
`(��3��m	��%��	����Q��7k\-���9Tt6�˜
���ED
����|<Fbw�"�_�F�PHJ*R�h�}��/Fϩ�#�3�X,�]t`��
��C������0���_'��lYN�f*J�K8=���� 󱽾fT��H�	|
-{2#dK
ֆ}���ǖ41�u�\���[��>ؓ�7�<j�?=��i���c�P�1��*6���ߵ�?�z��)���A'����:��=dTh��4�ޫad��F
Y�0�4
�߰
F�1X�:�=��n�F���gp
-I��2F�l������.N��n��
g:1u���Y]�a�`hq�3����]�-����'("$��n���}�c�$
-�]��v�	�P�o�>� �#�W/ù?�<��;<�?��
�ag�����G>�_���F��Sz�*`l#ӣ̇���/���0��S�/���G	S�ᗬ'�!��Z]�
���Sd���tK��l'�����ΖU�ũ�e�E��]����W��D2��XZ�@�
������-N�=�Sh7Db�.�Ӫ,�mJ��*CRС0��{�b��NP��$#���ڟ���
��F��:���Dz*N�%�懆��y�֯^�����:����o����Y$:�kEŮZV�\cG�,�ʚ'`���a�)	�5F���OL��!
���
92���y�]G���
��zJG��؝ڑ�)x��y�#�R
���=�bٞLzq�ܹ)���Ɗm�:w�5�2��W�'x�|b����_���
�6G�5��\(��.��շ���t��^ol�����w�#J�;��>�l����G�/�5�~*���VjޭZ,ww��/��8��qaB���%��"݁MK�^M[����_f��_����
7�
�‹��6���cU
^�|yOV'r�+GRV/����`
- ��zq%?5Ԃ�Xz��/�A�ı�v��������ۺ��RTL���x��endstream
-endobj
-9812 0 obj <<
-/Type /Page
-/Contents 9813 0 R
-/Resources 9811 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9799 0 R
-/Annots [ 9815 0 R 9816 0 R 9817 0 R 9818 0 R 9819 0 R 9820 0 R 9821 0 R 9822 0 R 9823 0 R 9824 0 R 9825 0 R 9826 0 R 9827 0 R 9828 0 R 9829 0 R 9830 0 R 9831 0 R 9832 0 R 9833 0 R 9834 0 R 9835 0 R 9836 0 R 9837 0 R 9838 0 R 9839 0 R 9840 0 R 9841 0 R 9842 0 R 9843 0 R 9845 0 R 9846 0 R 9847 0 R 9849 0 R 9851 0 R 9852 0 R ]
->> endobj
-9815 0 obj <<
+9766 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.8708 708.222 284.5255 719.1259]
+/Rect [144.871 415.055 284.525 425.959]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_cf531d280805472a54c22fed0f689932) >>
 >> endobj
-9816 0 obj <<
+9767 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.4048 708.222 359.3348 719.1259]
+/Rect [311.405 415.055 359.335 425.959]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9817 0 obj <<
+9768 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.7795 708.222 477.6066 719.1259]
+/Rect [399.78 415.055 477.607 425.959]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9818 0 obj <<
+9769 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.079 683.771 390.1688 693.6763]
+/Rect [312.079 390.472 390.169 400.377]
 /Subtype /Link
 /A << /S /GoTo /D (main_limited_extrapolation) >>
 >> endobj
-9819 0 obj <<
+9770 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 672.8121 192.5657 682.7174]
+/Rect [139.268 379.513 192.566 389.418]
 /Subtype /Link
 /A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-9820 0 obj <<
+9771 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.1967 650.7035 291.9292 661.6075]
+/Rect [146.197 357.272 291.929 368.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_9764ef2f159cfdcca3f151e899bd43ef) >>
 >> endobj
-9821 0 obj <<
+9772 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.4604 650.7035 369.3904 661.6075]
+/Rect [321.46 357.272 369.39 368.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9822 0 obj <<
+9773 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.0413 650.7035 491.8684 661.6075]
+/Rect [414.041 357.272 491.868 368.176]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9823 0 obj <<
+9774 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.8939 626.2526 392.5576 636.1578]
+/Rect [308.894 332.689 392.558 342.594]
 /Subtype /Link
 /A << /S /GoTo /D (main_bounded_extrapolation) >>
 >> endobj
-9824 0 obj <<
+9775 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.268 615.2937 192.5657 625.1989]
+/Rect [139.268 321.73 192.566 331.635]
 /Subtype /Link
 /A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-9825 0 obj <<
+9776 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 555.5663 289.8656 566.4702]
+/Rect [145.1 260.943 289.866 271.847]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_527e7c81841bbcf1963c6e260dadfe01) >>
 >> endobj
-9826 0 obj <<
+9777 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6812 555.5663 359.3244 566.4702]
+/Rect [293.681 260.943 359.324 271.847]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9827 0 obj <<
+9778 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 520.9619 290.9713 531.8658]
+/Rect [145.1 226.074 290.971 236.978]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a6b6fed08414c86d33fc4a44c59e9e22) >>
 >> endobj
-9828 0 obj <<
+9779 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.7869 520.9619 360.4301 531.8658]
+/Rect [294.787 226.074 360.43 236.978]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9829 0 obj <<
+9780 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 486.3575 224.0028 497.2615]
+/Rect [145.1 191.204 224.003 202.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_87ebe6f7cd176227f61c6d0fe47a4f68) >>
 >> endobj
-9830 0 obj <<
+9781 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.34 486.3575 299.27 497.2615]
+/Rect [251.34 191.204 299.27 202.108]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9831 0 obj <<
+9782 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6947 473.8618 272.4902 483.767]
+/Rect [219.695 178.576 272.49 188.482]
 /Subtype /Link
 /A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-9832 0 obj <<
+9783 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 451.7532 254.1498 462.6571]
+/Rect [145.1 156.335 254.15 167.239]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_4c11206af59b0f6a5471aded55d20961) >>
 >> endobj
-9833 0 obj <<
+9784 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.487 451.7532 338.2632 462.6571]
+/Rect [281.487 156.335 338.263 167.239]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-9834 0 obj <<
+9785 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 417.1488 284.5854 428.0527]
+/Rect [145.1 121.466 284.585 132.37]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_dee3b5c0c3800ce2214e68a156cbcf77) >>
 >> endobj
-9835 0 obj <<
+9786 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.4011 417.1488 354.0443 428.0527]
+/Rect [288.401 121.466 354.044 132.37]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
+9789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9793 0 obj <<
+/D [9791 0 R /XYZ 90 757.935 null]
+>> endobj
+9794 0 obj <<
+/D [9791 0 R /XYZ 90 691.185 null]
+>> endobj
+9795 0 obj <<
+/D [9791 0 R /XYZ 90 469.018 null]
+>> endobj
+9790 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F23 340 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9837 0 obj <<
+/Length 1896      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�~�����6
)��,
+��i��H7i��[�D���VQ����
��Ŏ�؆�-ĺPÙ�����'
[����0��e�����zXY�<F���[� �^\���nA�W�6��v-⊇?&ˊWۛ�����E���)��M����X���#r
�ѹ����Ͼ}��9#��H�	���P+�f~�V
Ͽ�0r�zlFe�k;�Z���g�X���Q<��1�³
��&~�m�L�~�|���D}�#���\��Ly-�׷�[?������7zĎ$���:I�R�<�/�[
+������<�p��9|��9����M�"�����A56~n�Ibc��o��8��w3�C�D��P�<a�d"������S
��zB��ͫr�0���
���ހ1�A�E�s��
��{J�ة��Y��b�7ೈ��׍A��G<u<�2��մgJm�
��3p�
��U� &��%�c�@(��2�8���ᯒ��>��@<(o���&|����A%������juZ�*��de�FH�3�_{�m�����: ���c�M�L�ؑ��iDE��C15��ޯ�-��B�E�ZO5"
7�T�

|�a�8]��V.ȡ�%�jU��uaR�Nl��^�c�^�E���\įO�8����-�>
+�-�G����c���%|h�H$0֔B38��c
+�%p�)����}��
 �\Ĉm]9Е}O��)��HS��bc��IdKa�o���;��ri�.��S�o�z;]�#v�Ho��}g����xl�0�H��:4��!�j�4!�gv�%�,�V�����j{FFu���Q��&x4Ka=���yE�uI�N�H��.�zL�ʲ��.�c9ʀcv·#�)�p�LW�ݸg��p��-�I�@����L����_���u��Q���NT9R��'1&
D�C\FIƛ���Xӓ�6t\`���*�[
0Zq
�
���on"Q��]�c=jZ�7�o߽ӗ�7��>���=y�4��s4�Dr�Eޙ�Q
ƻd�z
���TU�3���_����_��?fr&�$~�<��/sY�y��Ss��X^2��x4bd��
�F����2J��%kQ��+f�M��;���͛1"�"ǡg&>|�v\�/�"=&�ӂǓI��$����#�����|��6��@���`I*ߕD����P��w�.n�(��&��<Yn�L��
�NQԋ���!5P�Ђ���mޏP$���b4_�(�0ҟ�fEya
+3܋I�
J[&�^ԛ*[�{���@�ų�$f/7Q$�\m��c�Mc]��x*G%�n'��%`��HM�N$�J�3]XGC@%V&��چ2�[<�Q9�luQ�44�&y�ܚ-�,�-��+�F�
+�Э�5��w`���em�De��j��c6ܐ�B\	�H���ya��F`-��?��8g<�j��I���J�>�œ�v�{g����3�ek.�aT��%�붷v`��DZ�����WZ����UGAv` �=���`�ߣ"ꀄA�RL��=�{�~#sV�Y����UPP
͇)q���z�sw�'�h�:vw�$�d��\��T
��I�ɞ�穩�$y,�˜�v�-���ۘ�7�۳X{I�j��V�:N3
�.9ϲYP-�D�T�F��l�8$y(���|I�F��
C����8���� c���*10�EƓ��z]�;��W
X��F�-�JU5džj�v�
C���!<n���:�S
��z�I�O�H��O;b�x��\�<?�t�=
g(��}����RӺֻgљ����5����)��wo��y�iɝ��g%JT}i�������{�
����yX���&�{�m����c��.o��Q$�&O�
+%�uY��O+y/�(P:J�jϊ�wt<
fͲm �J`
�
+endstream
+endobj
 9836 0 obj <<
+/Type /Page
+/Contents 9837 0 R
+/Resources 9835 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9614 0 R
+/Annots [ 9787 0 R 9788 0 R 9808 0 R 9809 0 R 9810 0 R 9811 0 R 9812 0 R 9813 0 R 9814 0 R 9815 0 R 9816 0 R 9817 0 R 9818 0 R 9819 0 R 9820 0 R 9821 0 R 9822 0 R 9823 0 R 9824 0 R 9825 0 R 9826 0 R 9827 0 R 9828 0 R 9829 0 R 9830 0 R 9831 0 R 9834 0 R ]
+>> endobj
+9787 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 359.6304 241.7263 370.5343]
+/Rect [145.1 707.957 241.726 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_787615432c9f1d6aac5a6394aea8cfa9) >>
 >> endobj
-9837 0 obj <<
+9788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.6171 347.1346 407.6577 357.0399]
+/Rect [349.617 695.481 407.658 705.386]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-9838 0 obj <<
+9808 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 325.026 249.3181 335.9299]
+/Rect [145.1 673.391 249.318 684.295]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6b737abc8f33b2a2362e3f9c9ab08d58) >>
 >> endobj
-9839 0 obj <<
+9809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.1337 325.026 288.3213 335.9299]
+/Rect [253.134 673.391 288.321 684.295]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9840 0 obj <<
+9810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.8754 325.026 371.5186 335.9299]
+/Rect [305.875 673.391 371.519 684.295]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9841 0 obj <<
+9811 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 290.4216 240.6204 301.3256]
+/Rect [145.1 638.826 240.62 649.73]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_dd7b66394e6c54bc1ae03a4ed9a33c9e) >>
 >> endobj
-9842 0 obj <<
+9812 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.9576 290.4216 324.7339 301.3256]
+/Rect [267.958 638.826 324.734 649.73]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
 >> endobj
-9843 0 obj <<
+9813 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.5366 290.4216 425.7242 301.3256]
+/Rect [390.537 638.826 425.724 649.73]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-9845 0 obj <<
+9814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 218.1984 180.7735 229.1024]
+/Rect [125.095 566.777 180.773 577.681]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_0c58bbc8bf8db5f570da3db42a0ae2f7) >>
 >> endobj
-9846 0 obj <<
+9815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 181.8664 167.4656 192.7704]
+/Rect [145.1 530.522 167.466 541.426]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_ca90e7afe251a0d4174dcf538b34006b) >>
 >> endobj
-9847 0 obj <<
+9816 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 181.8664 219.2113 192.7704]
+/Rect [171.281 530.522 219.211 541.426]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9849 0 obj <<
+9817 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 147.2621 193.0294 158.166]
+/Rect [145.1 495.957 193.029 506.861]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_547a8d96908afe5a7f9e4ba2e10d7ac8) >>
 >> endobj
-9851 0 obj <<
+9818 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 110.9301 193.0294 121.834]
+/Rect [145.1 459.702 193.029 470.606]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_efab726809c553c136e5d8fda50c276e) >>
 >> endobj
-9852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9814 0 obj <<
-/D [9812 0 R /XYZ 90 757.9346 null]
->> endobj
-9844 0 obj <<
-/D [9812 0 R /XYZ 90 235.0473 null]
->> endobj
-9848 0 obj <<
-/D [9812 0 R /XYZ 90 164.2304 null]
->> endobj
-9850 0 obj <<
-/D [9812 0 R /XYZ 90 127.8984 null]
->> endobj
-9811 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9865 0 obj <<
-/Length 3128      
-/Filter /FlateDecode
->>
-stream
-xڽ[m����~�B��; Z�;�F�!q��i�\�+� 

�;�H��⨿��$wo����� p��
�<��y8;��
-�d�U$"3.W��
-�
��o�H��>_����^��b�XR��{h-H�%tu�����͚`��oo�N�}������ܝ�g�*�|��WIuz��}���벸YS��_��
����H3�
D�5S��׻﮾��T�3LM�W���W[8��0b���#�t��┙��wW��v��/��c��j�f
)	_�C����Q���OP'x�DHR�V�C�J���%��8Z��~
*�J�c2t�{��v�k��G��G�c���%a�!��šʋfBArAgoP!�2B
�qԱ��ti��E��-�d
h���Es4C�+dz
�@TQ

�F�1�+
%��>��
oupjM�������pp��S�����p$1�0���74�
�$�
��1#
-��#�f��U�UՌ-���=�X���1
ш�
U
�*i�ʜ!v��Z1e�}��C�c�Z\=+D,ѳW�������TQ�d��-,X��AO����?p{_���§� #���o�!��AR�y�ٕ�T� &c8�
򭠜�FA��o39��*K����[=XL��"*@�.׆G,L��
BGN��Cu��u��+vXdja��!��rJ���W�^�}�
V7,��ݟ:+����
���

��1Ͷ�;��q̘`�%
�l1�,>��ݧL�
���%�k{"��E'����H ��ػ�k�
-0�Z�󭧐}��l^�׬M�E����J|��e�-��t#('�cU�3^�H�2n�ct�?t5U�4����9�
-�Ǒ��C��g-C�rlβl�gՇ
�D�D�F�)��E�)�tqD��¢�
���Gf�/+s/�!r���r�g��:m��٦9
�1O�!,�Ǔ"
�+��I!�
�9D��L��Iv��o^l�OMVO��1�
K/ݵE�08y�`�3\�g��:7���쫈c�w10��TwKJ�?�!�+�;��]Y���|}��z�a�
��tߚ�W�D��Oѱ�
-����>�&�$�����0		����1x� ��p��/ 
�� /�'p����?��*�:�`ͩ�}���ڢ|(Q<Z�g�P��kã��_���H���Q�ϯD��^	��i��`�@��XH@��"�},,��A��/�/�ۼh�LSH��#��
-c�!�����~�I��D\�Օ�D  p���	EG�N�
-�"
]��sm����&e�t]��Mw�h�o��|x�
�R
-A��e���b�dbv-��� ��ޫ�]n��;s�C��Ϫ��ͱH����$s%�R
��G�.`&�uoà�������-*�ߣE���0,��o�c��UN!�������C
&v5�m�ϊ���@P�#%�QxF!�X>���<��������2��b��M�=*D#�@
�hɬ M�Eo��s�Q���D��I�TP�����ڵ1#B���QO��{Z�?�3�6z��S;������b��I̴e,�������'4����o���'=�*��+,�7�k�
-���cX
Y�IaD����f�$����K���
-

��f���������߯7�o�(��[(��O��C\�V�U�TY�W��M�GT	�W��T7�~:�P�
-�X�dQRT�������0�[Br��86|Rb`��L�\�峆��6O!�G#MIc��^j��>�m��f�Ҽ/���[� ��q���i+��za��2�
9��s�)t<Da*S
��c�W�~��L]�n�.�f���Q#
�Zm�!F�]��M���6w��+&4�
-y�F �I<Z�@U2�N�T�T�k�S��y��Q_�S�D�b�3E�vE�&ݙy�݅ϓ�Lwנ'�~M��>+݇<�H� ���~�G��tWH)�xT�{
�W7�ge;tO�A�lwl����4�7��ˋ��w�`�3'�S�;\yDi(�
,��A_����|w��ۅ
)��� ��Յ.�Z��tK] ���1� %��#��%��D A�(�
��7���`�݇}n+U��r��/���-<�(l��ٹ�(��y��}H����L��
)Q
�H�h���x��‚���x�]#S�!v7`w�o���j"1R�T,*�]B+�`������k���rW>���Mx��D`g"W#>�C&�0��=c�璄��ƢB
b�Hx1dP
�O�z��qn8,>@fjW��[;�x�
-��_��f���S9B �o�y�bQ&\Dz�<b�S>��p񎤈.
׆G�-L��������a8��w��;�kn�
�4�ݟ��q�CV5�G\)���
��
%P�B���V<����gg�ew��y8����noP���WД������ |��Į?�0#B`��
�E�S҆ag=���t#��T�A�~���X|��Į&���9�ys�t�f�l�=��Ex0�o�Q2�x�����y������w?��NO-bB.�����(��i�?�'�8AZ
N�n�vL�����q��,���q
!�$4
���j�/V� ;��;C�|

�
-x7�5���O[�!O����|D�S�=>@rj�+h;���"'�
�Ò�#eQ%�1�Ӌ���,�4XDM�]��5�gt'�Qu�mɇO�;b�~>�>爝0�+C#v

׺c��Z�����;��=
�Z�{��>����Ɇ|�ؓ��M�W�X?�sx,*@�髴�dH
-��ea9/
���L�v������p��.�
R��ĢB$b��`���
���W鈂�/���kçt�
�{f��ا�;�K9���Xb�hLCwX
*(v�����O��\jg(���#t~�F�Q����:���2�X�
��-e���`Di$�!� ?�E^<��2�A���z��oք����m�K��A�%����ӄ=	M�ΌRn�"��}1��_��i�^��Ϊ��R�j�CR
��*tv��Me���Q@��E����]6�
�V0"�0@ݧ����ߝ�0_X;��fܑs����Msx���PZ�c�*�7/����A ���Y��M�
"ϔ�7����~��{X���3����=�D/��
���7�endstream
-endobj
-9864 0 obj <<
-/Type /Page
-/Contents 9865 0 R
-/Resources 9863 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9799 0 R
-/Annots [ 9868 0 R 9870 0 R 9871 0 R 9873 0 R 9874 0 R 9876 0 R 9877 0 R 9878 0 R 9881 0 R 9882 0 R 9883 0 R 9885 0 R 9887 0 R 9889 0 R 9891 0 R 9893 0 R 9894 0 R 9895 0 R 9896 0 R 9897 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 ]
->> endobj
-9868 0 obj <<
+9819 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 719.9123 165.9114 730.8162]
+/Rect [145.1 423.448 165.911 434.352]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1d7db8ee4d8972c1818a36d6517ebbff) >>
 >> endobj
-9870 0 obj <<
+9820 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 683.4241 187.6893 693.9544]
+/Rect [145.299 387.567 187.689 398.097]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a38fbbd15d5dc2e98d5b24c92b06c290) >>
 >> endobj
-9871 0 obj <<
+9821 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.5566 669.426 476.5442 679.3313]
+/Rect [352.557 373.872 476.544 383.777]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_efab726809c553c136e5d8fda50c276e) >>
 >> endobj
-9873 0 obj <<
+9822 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 635.2298 202.9022 646.1337]
+/Rect [125.095 339.98 202.902 350.884]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-9874 0 obj <<
+9823 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 635.2298 300.0368 646.1337]
+/Rect [203.4 339.98 300.037 350.884]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_6c7c72e56241da463eaeccdff79b6d49) >>
 >> endobj
-9876 0 obj <<
+9824 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 598.368 202.9022 609.272]
+/Rect [125.095 303.725 202.902 314.629]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-9877 0 obj <<
+9825 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 598.368 314.2635 609.272]
+/Rect [203.4 303.725 314.263 314.629]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a78179b1d8478dce6cf572af8e0b9cb4) >>
 >> endobj
-9878 0 obj <<
+9826 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.8192 561.8799 199.8638 572.4102]
+/Rect [155.819 267.844 199.864 278.374]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_86d2bbceaa288f2f605ac88516d313cb) >>
 >> endobj
-9881 0 obj <<
+9827 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 482.7363 203.0748 493.6402]
+/Rect [137.432 189.141 203.075 200.045]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9882 0 obj <<
+9828 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 482.7363 296.3242 493.6402]
+/Rect [203.573 189.141 296.324 200.045]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
 >> endobj
-9883 0 obj <<
+9829 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.3766 468.1156 355.0852 478.0208]
+/Rect [312.377 174.672 355.085 184.577]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9885 0 obj <<
+9830 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 443.882 287.8558 454.7859]
+/Rect [157.636 150.59 287.856 161.494]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_3b49993a1cd4fc6891da88a6259b9f93) >>
 >> endobj
-9887 0 obj <<
+9831 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 405.4013 194.2975 415.9316]
+/Rect [157.437 112.413 194.297 122.943]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_a39bdf85d6db02629fa73bbcaddab6d5) >>
 >> endobj
-9889 0 obj <<
+9834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9838 0 obj <<
+/D [9836 0 R /XYZ 90 757.935 null]
+>> endobj
+9839 0 obj <<
+/D [9836 0 R /XYZ 90 583.606 null]
+>> endobj
+9840 0 obj <<
+/D [9836 0 R /XYZ 90 512.906 null]
+>> endobj
+9841 0 obj <<
+/D [9836 0 R /XYZ 90 476.651 null]
+>> endobj
+9842 0 obj <<
+/D [9836 0 R /XYZ 90 440.397 null]
+>> endobj
+9843 0 obj <<
+/D [9836 0 R /XYZ 90 404.142 null]
+>> endobj
+9844 0 obj <<
+/D [9836 0 R /XYZ 90 356.929 null]
+>> endobj
+9845 0 obj <<
+/D [9836 0 R /XYZ 90 320.674 null]
+>> endobj
+9846 0 obj <<
+/D [9836 0 R /XYZ 90 207.963 null]
+>> endobj
+9847 0 obj <<
+/D [9836 0 R /XYZ 90 207.963 null]
+>> endobj
+9848 0 obj <<
+/D [9836 0 R /XYZ 90 169.532 null]
+>> endobj
+9849 0 obj <<
+/D [9836 0 R /XYZ 90 130.981 null]
+>> endobj
+9835 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F35 2013 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2114 0 R /F98 2117 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9888 0 obj <<
+/Length 1547      
+/Filter /FlateDecode
+>>
+stream
+x��Y�o�6��B��I�̐��G�X��h�G�x���0�v��UIn���;��l���.I�H`=��{��x��R�ڳɓ���̱4���h���c�u�&�f��N'٦1%c�� X�4��&��fQ�_�WeP6''��
��yfLM���$�*qy��}Dz�_�v�ny��a�b�t6�4! �H+	u�kQ-L'�>`-��/4�,��nZ�T�M
~�r��K��vohG��l��\�BءB���I�ϫuڻ)u�:��P����,�$
��\JA/���=�f$�?l��xK1���;�{|暚�:6�4�c�ڔ�ȥ���̰�

�Қ�5!�0��B�S�	0���5�U�'��ټd�A�ބ	��y�,W���j�V�i
)��We�r����F�
�E�TLP�Y���DQ�Y��s�T�juK�Gy�2�A�,��a�:
���e��m�����E
mj���<!ѹȨ��5��W,��dj��VYX�y�7�v���箷=���n�Ap.3�z��f�YR�I�l����/��%�S�U ��n����V鼣������[���A��O
�!���wI�'�8�d0�P�����:��G2&���1�
��B�)XY��!R�~� ���V���1 �8�4O��u�m\7sQ4��=�ǿ�~;?}� [...]
�=��I~�eNB6�y��n�N��!Q�R�����[X��=���{t����0��n�0��M9
�
��C̾_���t#�uo

h�����~
�
 ������f	B#^f�6��{
^mO>��YĦ�o��/l����6rp�9�
`D`q�$M�ElE�o*�f���
�3��
�+�i�˝������D�#n�q������.��h`Z��B�F��+{Q�:�ٗsV)����������"�	y�=4��NNrhY 3ndt

�؉-Dp�G��NM�|x�:~(
��

Ș�zl��9�
~�mbW5�Ev��C
�7~z@���7'4�`Y�+�
eփHٴq�v���«
s�gv u���(FF�X �O�`
>��S~�PAvW?y<~]
J��{����q\��i�2�m��*"����g �;��3>������x������ށ��&��@x��[��a�-�6�n�{|���6�{죎y
�򡘈C,��C������
�[ijq�W�ʟ
Ju��
+���
X}�X�K�x�
EɈ%*uۑ\25��}����ִk�M^��.���89>���Aa�VY\�(���"9��X����.��,�i�jt���4���p¿—ܴ
+endstream
+endobj
+9887 0 obj <<
+/Type /Page
+/Contents 9888 0 R
+/Resources 9886 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9614 0 R
+/Annots [ 9832 0 R 9833 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 9875 0 R 9876 0 R 9877 0 R 9878 0 R 9879 0 R 9880 0 R 9881 0 R 9882 0 R 9883 0 R 9884 0 R 9885 0 R ]
+>> endobj
+9832 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 366.547 188.7586 377.0773]
+/Rect [157.437 720.286 188.759 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_e58a861a42c5216a2267e3f94ecaec8c) >>
 >> endobj
-9891 0 obj <<
+9833 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 327.3191 294.4813 338.223]
+/Rect [157.636 681.426 294.481 692.33]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f496ec55802726ee3b39e52458ab0647) >>
 >> endobj
-9893 0 obj <<
+9854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 246.5566 161.8403 257.4605]
+/Rect [113.91 601.198 161.84 612.102]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_b6ab1820f2fdf444d1431ff3af424451) >>
 >> endobj
-9894 0 obj <<
+9855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.5586 246.5566 297.2018 257.4605]
+/Rect [231.559 601.198 297.202 612.102]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-9895 0 obj <<
+9856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.7652 246.5566 456.1542 257.4605]
+/Rect [370.765 601.198 456.154 612.102]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) >>
 >> endobj
-9896 0 obj <<
+9857 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 207.7023 161.8403 218.6062]
+/Rect [113.91 562.713 161.84 573.617]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_b4959b3da46291de301d9150f5afc3aa) >>
 >> endobj
-9897 0 obj <<
+9858 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.1775 207.7023 237.1075 218.6062]
+/Rect [189.178 562.713 237.107 573.617]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9898 0 obj <<
+9859 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.6716 207.7023 330.1377 218.6062]
+/Rect [254.672 562.713 330.138 573.617]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-9899 0 obj <<
+9860 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 168.848 161.8403 179.7519]
+/Rect [113.91 524.227 161.84 535.131]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_858e0030826ee6c29545a934166874ef) >>
 >> endobj
-9900 0 obj <<
+9861 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.0801 168.848 332.9072 179.7519]
+/Rect [255.08 524.227 332.907 535.131]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9901 0 obj <<
+9862 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 129.9937 161.8403 140.8976]
+/Rect [113.91 485.741 161.84 496.645]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_1cecffe684d1faa9b0f6b8d4f227e9ae) >>
 >> endobj
-9902 0 obj <<
+9863 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.5586 129.9937 309.3857 140.8976]
+/Rect [231.559 485.741 309.386 496.645]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Constraint__System) >>
 >> endobj
-9903 0 obj <<
+9864 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.9147 129.9937 390.8594 140.8976]
+/Rect [330.915 485.741 390.859 496.645]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-9904 0 obj <<
+9865 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 91.1394 161.8403 102.0433]
+/Rect [113.91 447.255 161.84 458.159]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d6d1e866b7ba9bf4233f3a5254cda0f9) >>
 >> endobj
-9905 0 obj <<
+9866 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.0801 91.1394 331.2237 102.0433]
+/Rect [255.08 447.255 331.224 458.159]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-9906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9866 0 obj <<
-/D [9864 0 R /XYZ 90 757.9346 null]
->> endobj
 9867 0 obj <<
-/D [9864 0 R /XYZ 90 733.028 null]
->> endobj
-9869 0 obj <<
-/D [9864 0 R /XYZ 90 700.1513 null]
->> endobj
-9872 0 obj <<
-/D [9864 0 R /XYZ 90 652.3306 null]
->> endobj
-9875 0 obj <<
-/D [9864 0 R /XYZ 90 615.4688 null]
->> endobj
-9879 0 obj <<
-/D [9864 0 R /XYZ 90 501.7101 null]
->> endobj
-9880 0 obj <<
-/D [9864 0 R /XYZ 90 501.7101 null]
->> endobj
-9884 0 obj <<
-/D [9864 0 R /XYZ 90 462.9753 null]
->> endobj
-9886 0 obj <<
-/D [9864 0 R /XYZ 90 424.121 null]
->> endobj
-9888 0 obj <<
-/D [9864 0 R /XYZ 90 385.2667 null]
->> endobj
-9890 0 obj <<
-/D [9864 0 R /XYZ 90 346.4124 null]
->> endobj
-9892 0 obj <<
-/D [9864 0 R /XYZ 90 265.5304 null]
->> endobj
-9863 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R /F100 2135 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9915 0 obj <<
-/Length 3574      
-/Filter /FlateDecode
->>
-stream
-xڵ[mo����_�~�J�io_ɥ�H.� ir�޹@�$0h��ٓH���s}gߨ]�Z*p_�3����<;���Ydx��e�'���/�����^���/���ū7�Xd(Kh�����%tq��eI�t�&���˼����V/���}�m��ʛ&o�./��+"�u�ZS���wyۚ���m��զ ��X2)V�]}��U�
�`	Q������b
#��#�I�x��H�����S�Nv.���17�S�X ��b�8�	<=!D�	Oj �#�ԯS�N����&\��
�4��^L����r���������>���l�OmW�K����SSTT*�b�wu��[4�.�)"	]��"���a37j��e&N�[�e(!iA�lۈ3�NJ��WJ��ax�
-���
�q�Iœ��Jsgo��'�� N�9ל���;;70/C�$�$���1�0�Oè`��V���{2�ݩ��Cg(�H.CgNF���5Ҫ��V%�J��&
�0���,�^(� �$ �`J^ܵ��3�Q*?s������Ve�}�QK�i�+�����)Q��$
 '4�AF��
l��'�rj�'R ��s��SA6'���Y�tYl |eu��F�$判��<
��it�Z��dޜ�<�y
-��&�BYO1	�˷
�<��P�_�a�� M�2+J�oF"P� !u����CQ�����wUW4��(L�nB�ȐH0��~1y�+�`
q>|{��ۉ�
��<n
 <�R��'0\Z
_��Ku�.7uՎP�b�� 9�/GZ�ʭ?���
V
K���V	񭎴�I�
qH�s�l��<Ԫl38�o"ń���K͌�Xr0�/���Cp_�܋��Ӹ�	X�	#�F���	�X�r�u
�Q(��TvO׆�<�P!1�ِs;�?8�
I��~l?>�����k凚�-��2!���O?���}w�s�F)���*���X�tb�����K.H�?��
� ��FNW>'5[�<u�&�qל���u!�W�
��M�Y|)Lb`�����Ve�>���|U�d8:-�^(n�B���Y�
P
-�+
'(=w�Vx�~�1>�P�Q"R
��1�aD�$�tG�� 
-͒g���"�BNJ�tuo�
@zyW틪����SmB�h(��䙚E��
�gP8xO�~Ř)���G	NS�$����nD�	d�ʫ�
��IF���	-0I�{V`�[,���ݖ0ж��uY���w�),H��Ih�yG
�5G���
���O��c*ھ5n�y�6
x�N��Vb<��{[wv��}޹��u3�؃��7���fݔ
g
M�,��34�n6��*ы͖�����hƮ+�ݶ�^^�m��-�М@xAW�F����C#�>:ۥ�H�H�v�6&�T �J�x�z��(���x��Y��
L�;����� ��3
���a�%A�����Rs�S
��Yh���>�\
V��g��#���r맇N��N�)o�%��O�p�w�(�`���
-Oa
+�v{������h�H�@�`9�{
���#�>8���1H����
��;�9��|�A�O�7�%d��8�FZg8��H���K� �XM`�ŧ�Q`B�	rv
���/#�30�5,&�H�R3��<�	-W��d�B9OG
團�L�C�HR�VMj��욇b����������jg_���	��"IGM?�Q������ܴ�
��U�XիVu������ �4�3�����	�D�٦����^Y
�c{�?Z�]��.�c��lK�$��x+
�?Щ��~�~�R��ؠ�H�f�@=�}�e��
��ک�3��gl�:5����L|Wp�($
�p8��K
5NI�S-W�2��y���:�
A��A�>s!����3 �eJ��x_G�{1�ՇC�)�]��b
-�@v���ޥ��f5
�s� $EO�"�єe���cr�;w�3q������E��;���h7MyP[�X��ݝ����7��qn��1+�� �L{=��^(�D�
ۿ��6U��.|[���F,U"	P�Xm.���9����_
�!��T0>�c�S�R3��NY�&0���h�
-�������Y
�i��tn��C�qouY@�U�<s,�k�- _S&
��m�b�H��(��F��B����H�8]R��%��f�8��t��@w��UK�W���k����(a���f~�XUv�I�q 
�tS�o�҄Y����ܷ,�{B�(����*}(6n�I
�J/]P�]e���_{�)=�j�M��ta.R=��������d�� _}k8>z�k���tYnA��D+'��\(���NQ
�{�Z#s��V�e�DW�a� VF�劺�1�9J��ڟ�+�
�����%԰�<(̍�U�^	?��v�y�#l�$��=��)�m��Y��6�U���'�'J���ރĶ�y=HRb��JeF���V��5	�fG��+b��i�ל1U?Z�G�֚32uPWvhp�ۇj��
��nr{�R5~�쨵�����ij��k��թ�.�eU�!�\��OV2�]�N�Z9B���F�\Ȼ�)oԾ�+ZsMO���'�Z��;�Xg> )7�-e�4A5�4Ŧn��(�����a���R�K�X��Y\�s
�z��������^�z�:BG1Ai%)�d�J�Ԍ}�,�
-}��;�h��dM>Fhe�a��p�lvC��מ�Ԟu�U�6
�>6������tVh�< .�		�Jfp��:6K�q��p��}�f�$4�'�7~A�D,c�aX	��Z�R�::�R�^0s����#SL�	�
���fW�f�����m=F�ˉ�WD[#Yv�O�
D:��l�"j�ح���i��|�0�� ,����5�����f��-�/xZT[S�ܦ�
-m����o�[����W������d$#O�K�b����'#fћ���~2|����,��}zC�Թ)1�G��J�
-h�5�8��Ȋ�����%*��~0��΅YZ���|ȗ��Z?
��g
�O�ƙR�n�Eg4�_�]S��
8[��a�v��x
(H#��J��o
�R��N0�-_�f{�o����
�A2�n�ý�
���Lrx�X"�7��lu�Rx�} 7
i��W���w
�D� 
[���+:J��2,�����`�<��N��9=_0(�K`Y�K�
�|6yr�@� �\.��	FNt%����XO#mn�0	����A�������E4�v{����ʼn���LO��e������L���`s�Ww��38�%�W�]�TW��J��@X8xؘM���[C��7��+GO-c�X^��@��J/bR�V�.= D���e
-����rg�s#	���kB�ua�#S�f�k��涳�` j�b��8���԰�Ό���c�"��E�?�
-�TB�����?k`H ���Y�g�kHɂxl	yN�þ'mO{8Ч�;mN���_WJ�9�1�
�L���b�.��*6]���>��Kؠ��A����pG�������麦�hGz�
w���ի��G�i�CU
Tv��ݫ���y��&n�
�|	"�T�"#<�o��kG��J�b�=��+�	W���L6endstream
-endobj
-9914 0 obj <<
-/Type /Page
-/Contents 9915 0 R
-/Resources 9913 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9799 0 R
-/Annots [ 9917 0 R 9918 0 R 9919 0 R 9920 0 R 9921 0 R 9922 0 R 9923 0 R 9925 0 R 9926 0 R 9927 0 R 9929 0 R 9930 0 R 9931 0 R 9932 0 R 9933 0 R 9934 0 R 9935 0 R 9936 0 R 9938 0 R 9939 0 R 9940 0 R 9941 0 R 9942 0 R 9943 0 R 9944 0 R ]
->> endobj
-9917 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 696.4639 161.8403 707.3678]
+/Rect [113.91 408.77 161.84 419.673]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_fc2a04d2049183cddbcf70316fdf40e7) >>
 >> endobj
-9918 0 obj <<
+9868 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.5586 696.4639 307.7022 707.3678]
+/Rect [231.559 408.77 307.702 419.673]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Generator__System) >>
 >> endobj
-9919 0 obj <<
+9869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.7892 696.4639 389.7339 707.3678]
+/Rect [329.789 408.77 389.734 419.673]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Recycle__Input) >>
 >> endobj
-9920 0 obj <<
+9870 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 646.5784 161.8403 657.4823]
+/Rect [113.91 358.329 161.84 369.233]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_dad834921ba7c139b0cb10c507b4070a) >>
 >> endobj
-9921 0 obj <<
+9871 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.3297 646.5784 274.9299 657.4823]
+/Rect [256.33 358.329 274.93 369.233]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Box) >>
 >> endobj
-9922 0 obj <<
+9872 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.4708 646.5784 316.1976 657.4823]
+/Rect [283.471 358.329 316.198 369.233]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Interval) >>
 >> endobj
-9923 0 obj <<
+9873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.5668 646.5784 431.0329 657.4823]
+/Rect [355.567 358.329 431.033 369.233]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) >>
 >> endobj
-9925 0 obj <<
+9874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 596.6929 161.8403 607.5969]
+/Rect [113.91 307.888 161.84 318.792]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9926 0 obj <<
+9875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.58 596.6929 213.3865 607.5969]
+/Rect [172.58 307.888 213.387 318.792]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_f15f956dac6d4b19ecd8fee0f9718f29) >>
 >> endobj
-9927 0 obj <<
+9876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.7237 596.6929 288.6537 607.5969]
+/Rect [240.724 307.888 288.654 318.792]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9929 0 obj <<
+9877 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 491.3775 226.0342 502.2814]
+/Rect [175.349 200.934 226.034 211.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_d84befb6d0ded481871cbef1b7306824) >>
 >> endobj
-9930 0 obj <<
+9878 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 491.3775 369.1059 502.2814]
+/Rect [321.176 200.934 369.106 211.838]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9931 0 obj <<
+9879 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 453.4472 178.2386 464.3511]
+/Rect [134.114 162.448 178.239 173.352]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_8af124edba7c75bc76ec394405aa893e) >>
 >> endobj
-9932 0 obj <<
+9880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 453.4472 253.5057 464.3511]
+/Rect [205.576 162.448 253.506 173.352]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9933 0 obj <<
+9881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.2388 453.4472 343.1688 464.3511]
+/Rect [295.239 162.448 343.169 173.352]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9934 0 obj <<
+9882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.0713 415.5169 160.4372 426.4208]
+/Rect [138.071 123.962 160.437 134.866]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_67a7d08f3cda46f7a743d46f3a6f33b5) >>
 >> endobj
-9935 0 obj <<
+9883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.4089 415.5169 327.4213 426.4208]
+/Rect [168.409 123.962 327.421 134.866]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9936 0 obj <<
+9884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.9839 415.5169 513.9963 426.4208]
+/Rect [354.984 123.962 513.996 134.866]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9938 0 obj <<
+9885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+9889 0 obj <<
+/D [9887 0 R /XYZ 90 757.935 null]
+>> endobj
+9890 0 obj <<
+/D [9887 0 R /XYZ 90 733.028 null]
+>> endobj
+9891 0 obj <<
+/D [9887 0 R /XYZ 90 700.336 null]
+>> endobj
+9892 0 obj <<
+/D [9887 0 R /XYZ 90 619.988 null]
+>> endobj
+9893 0 obj <<
+/D [9887 0 R /XYZ 90 326.797 null]
+>> endobj
+9894 0 obj <<
+/D [9887 0 R /XYZ 90 246.449 null]
+>> endobj
+9886 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F35 2013 0 R /F11 418 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+9913 0 obj <<
+/Length 2463      
+/Filter /FlateDecode
+>>
+stream
+x��YY��~ׯ�[�d�	��I�����#[��I^֮-��H�J$MR����� ���c�%���@��LJ>(��
�^��nu�u$����9w�Nʝ8�X�{�]�|p=��z�q�ݷk���9ʏo�>w��e��F~���6���ގ��^�V�z��}u�mK�w�^�5Uf
+�� 
+]�$��]}u��i�d��$a�b:�q��G��0��ÙH笩�N�
x
�����U�|�x��b���K���r��K�fMQwHB�|
�'�l��� %Fw{E���5�lP��j�
�
+��y텮�4_[2<
+�{1����a�Wm���Ό����'ǡ��l�������A��5��B���j��F�����y"[��L ڑuV����imI�,)��@��;"��4	���KCG��3~[�H��s#€%�olj־ ��t��g�
���m����}

��-=U�6f�
HV��yi;u�����ʶkdAFƅ��a�J�H0jkw��U�����Ш�
�_�^��c����i��#}.�Z�=�[ ��P�X�2'ڢ3O�[
0z�u���VWm[l�޺�H���vkϕ.\�F�q3��-Y�n/�uI��0�|�@;F ���Oe��C�G��L�G|�<��2!� �Ӳ"�}S�
�_�٫<s�ަ��\i`,z�X���ʣM@
��8�\d��\ڴp6��Z�G���
i���4��K��S�˲�ף:n��-�%�]Kd��L,�s/�eY�
Q$��PԘ�RV���X���e��qI- ։�^����'
�G��캦�b�:u��9� m���Ⱦ���̶��jWdZ,<� G���6*���(w�4{e��a�����a���+�
h��-��0���U�"0	�.=� ��� f(�빼8��-��`M@��kk�-S��?�T��6E���%��L��sx��?R(v|K�]R�B�r�Z��O�,k=��S;m�$d�Ha1.LB���ù=C(@��0�^�`��ug.EU��^��p�U�bv[T�Sp�%���$���-3�d�+�q���ދ/�
+ �R&��hx���$��
�
|�[�|"#A9I��LM��A5d�D2��`��Y�xJ7pӫ�=e����$,���A�
0j�1Cd�K��h�� Z�E6��
�jZ T�1�9!��\��qO�olF�W��Ȃ�o��
�KŽݡh06�
<���ќ��|�C��w[!Xp�QT�s7kL��G9H�(����Il�/�3j��6�ImSx.�&
�\�Tf�Xo?�dQ
�n
�i�F>&�!fS2/�m
�l/˝�_�� �5���A���v�A
+NhNU
8�{

(���
š���s�=�)^�$��BG�C&A�4G�,����D	Ŋ)�`nrw�f
�`D�
9�'!'Ӳ=�vS at j
++<������]�-��P�O[�>�
�~�(b(n
ס
�4�}��ga) O�@�ܕ�ʔS?��>SL�լ]�9�T�#��ٞ؟�Q�4���Ȋn!�
+�%ܳ�P'
Zko�]=��A;���En5�;�t�O
���5�6��b��x!^��f�a�Y�Rd��&�F_^�Q��,
-ͮ_u�dJn�g�f5�X�&�
o�N�F�>h�SCs9��j�'J�ؗD�A��[���9M���ˈ?��ڌ����P�~l	[���Č�p	��
�c�a��拙�z��QXj���zR��+F
2/Ng��7�(����@E�����q��+}
Juc`
�K���
��~���������ӉN
�C_�ن��aw:�|~)&)
+�
�zÎ$��zX�ƺ���� x�
+��*[���X)�)�]�O`g�zh�m at 8
�~jom�E�x0���X�'&��q�1�Zo"�(�+�6t�"�i����< �	����
��ȳ��w-y��x:.��u��t)�SY��E1$�V$=&����@�UWe���_e�h�~:Q=SE��o�I�x
\����^4i��73�
+
#���(&�eK���7
�RH+VR� }q�P�I���w�
��Q0�ͫ�}��ޜ����%�d-+�V5�@�������m�ӛ�j6�� :�t�=']�y�䋁&���?k�
3o�����A��Ab�
�,6}�}	���@��rK��F*�W�3,:�t��T5�f�B+0
I0�|���t�}��v
�)������G����^t��N��k���{�� �:R��1�=���԰��^X���h� �/j�"^�=g3��!��9���o�3\>)\S�ż����W�)�?�)�׬�T�ٵ������(A�����A
�?E��V�~�{��]O~j3��Qz�7X�O�0t�-��,O��5�a�ܾ��̃��Q���
Sw�ӯ>+T
%����w
�}UF�7Z���oon��3� �uݰ�������c�]�7@}�u�lEV���}�9f�_ �N�
+endstream
+endobj
+9912 0 obj <<
+/Type /Page
+/Contents 9913 0 R
+/Resources 9911 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9917 0 R
+/Annots [ 9905 0 R 9906 0 R 9907 0 R 9908 0 R 9909 0 R 9916 0 R 9910 0 R ]
+>> endobj
+9905 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 304.3684 225.7496 315.381]
+/Rect [177.82 677.939 225.75 688.951]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron) >>
 >> endobj
-9939 0 obj <<
+9906 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.4449 274.7889 277.7324 285.6928]
+/Rect [122.445 648.359 277.732 659.263]
 /Subtype /Link
 /A << /S /GoTo /D (main_representation) >>
 >> endobj
-9940 0 obj <<
+9907 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [443.2333 221.299 502.7896 232.203]
+/Rect [443.233 594.869 502.79 605.773]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-9941 0 obj <<
+9908 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [100.7342 209.3439 174.6765 220.3564]
+/Rect [100.734 582.914 174.677 593.927]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1NNC__Polyhedron) >>
 >> endobj
-9942 0 obj <<
+9909 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.4398 141.1551 513.9963 152.0591]
+/Rect [402.44 513.666 513.996 524.57]
 /Subtype /Link
 /A << /S /GoTo /D (main_representation) >>
 >> endobj
-9943 0 obj <<
+9916 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 129.2 156.3011 140.1039]
+/Rect [113.91 501.711 156.301 512.615]
 /Subtype /Link
 /A << /S /GoTo /D (main_representation) >>
 >> endobj
-9944 0 obj <<
+9910 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9916 0 obj <<
-/D [9914 0 R /XYZ 90 757.9346 null]
->> endobj
-9924 0 obj <<
-/D [9914 0 R /XYZ 90 615.3242 null]
->> endobj
-9928 0 obj <<
-/D [9914 0 R /XYZ 90 535.782 null]
+9914 0 obj <<
+/D [9912 0 R /XYZ 90 757.935 null]
 >> endobj
-9937 0 obj <<
-/D [9914 0 R /XYZ 90 367.1194 null]
+9915 0 obj <<
+/D [9912 0 R /XYZ 90 733.028 null]
 >> endobj
-9913 0 obj <<
-/Font << /F65 357 0 R /F74 478 0 R /F52 341 0 R /F37 2043 0 R /F11 411 0 R /F101 2128 0 R /F67 366 0 R /F33 481 0 R /F10 484 0 R /F25 344 0 R >>
+9911 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F31 472 0 R /F10 473 0 R /F11 418 0 R /F23 340 0 R /F72 471 0 R /F7 505 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9952 0 obj <<
-/Length 1985      
+9921 0 obj <<
+/Length 2014      
 /Filter /FlateDecode
 >>
 stream
-x��Y[���~ׯ��R����q��l9.����;ɋ׵� FC�3ʯ��4i��T�� �����s�sH��G���,��l�����\;
�|��|���K��dL���A��)�����5!(���`��o7��v�~x��x]���|ۦ�Zܷi{����7$Y��&�
�_�iי�o�\��U�þ�_�$�|��ꋻAU{�b��a���8�‰�^a�dƒ'���HI��*��ݔ�w����	�`� j:dJbXy�b�!
�h�����QĒ(`�n�)�g"VQ�Ù���\!��x*�̍��<��'�u at a}��Xd��rX�5if/��>���y�~0���k���t�ڋ{�<{L�]�����vf�A{��0Y��C�>l�ZBcp!I�ݬf�"��$b��5�+"_.�4��rs�MYdE��8N퍱���YZ��5}m���m�׭
n�zC��c�u}�[繴��C��]��Y;ljP�!_���`����/�
�<�;庳�Dnק�6m�Q��QD?n �����bW [...]
-D���]���i��	c莞Ց���3|,��Qaɀ]�$g1���
-}�<]'a�`/����
�-cJr�~��{v;U`��Lip�S�<G��
e�VO��������vf&5~�a�m�5u�
�PutX���M(5T�DŘ���a�K��H8����ՙ�1��y���vF;{������\�f�
�
-ME������M>'������KA )XJB�
~)
L)񺮬
��3(�g�Rd
*�.o{��g������l�,-��]ĮZt�1��WJz��GIm
���V��Vs�|�Vp&���E�����IPD�]��.�۫I� D
��{�Fj*^
-c�ݢO�~����{��N;�¤f(���ʵ�
�F��Y�p�[NJ�i�L���D_d�ع'��D��y�G�F'�
��8>��A�tǜP|�H�ϡ����uA#���#!�'����z&B"�qK�O-e5
-
�$����Čƴ�"��WP���ʲ�'˲ߦeϥ�]w�E��E���-��:ߢ0(G�������Lj�)�ܢ
0�E���-
-��(�?T���ҏ��vڲ�y��m��M7�׏i�n���Ec�;	�e��R�
�w.�v.JW�(xF��$��D��lh.�,�N$�L�>�B:`���%������	[؜@�����S�LN#�Ja#CM���fz���)�j� ���g}
-�c�������)j|��Ӛ{0�#;�^�(��nVN_�/R��"��x��Db�0|�C��@��{/�_+{*:��QQ����
;��
՗�%�����W_B��W_v����{
=U`���1��l�cb�rL<}A�fz�j�zɤ�*�~�S�����)��m}���qIj�:(-l,hӤb��^�_��}��zB��"{U�g�z�]���!���w?v#1��W9�Y-���H�c<������Ar�
�ގo�խ�in�!�Ɇ�M�K�CZ�����\����H�7x�.�OMC��'bj 3���]}3�sXz+\�
O;�W����ۛ���'� ��iQ��4Mys�S�
A�\p\8�f�L,� �	I��.��}���
��
�7{��	[R�?�e1endstream
+x��Y[��~�_����ë.��@��
�v�iv��H��l�cueI�z�_�Û,�r�ɾ0 �<<<��
�8z�p���_����',�Q��$z�F9�҄ AI���	A�.�c
?.��n_<?.(��괓��x�[�����0�^�,n�Œ
+
��
+���wr+͚���2���e��ǧo��=��tG at 2
#�HQ�D���}�#�60�m�˳�h���
�U���w�i��j��c
�4A$�V�w�ž���9<����v�
�8�������v��o��jT�Dz~�S�f�W�0���(=�qQ��C�j�Fn�u�kjϠ�j�z3���,�cWTۥ껲���Z+p����܌��9�dD�Β�Q��e�"E$C	qjQK��O���
��H�Rj��� q��P^J`{X콄h,�N��{k�fk��e����C��G��)&&Z���v�2j�o��		��Z}ed��2G��~�PY+��?`�_-埾�O
s$�$�oZ���>�x������(����Q�h�v�y�հc�ͥ�
�d'�(�i�M���
f�8f���]�ػ�q k�B��b��0�����]�X�E׻3A���O��Q�&j`�Eֲ+��S�2A��r]nO�)Ęe�_��;�"��k�˜
��`\�GY;��8��uR~�u��E�9�e
=m��_������
(���f��4��h�54��2��[6�tX��
$I
��b���Ĝ��s��4�n
��L��L�Լ�I/�L�u\]�4C4��
1�͔���
M�EF&�g$,	+�����M�
�~����*j��d��y�#U0Q9�3pϥ`�LR�P�jF��$�l1#`�
����L����]��
��Z��kp����l5M}����#7�Dn> 7� 7��������
r�1r� �ـ��|�ܷ�i��苨�Ѣ�zř�&G4c_	@��0຅���Q�m״]Y�nbT��X{��1
�}��
UbR@�BU�R;
����,�5��ѻ�O��LP���� �_P^~]}� ��H='���y��=���k�q.�x�xoLd	�Ga
�C�[�����
�"�!;d�w&�2׍��%�����T�o6��v"��
;�_�uqPn�i�c����c�R
*�
�{�1|^�P֟l�aF}*�"V�Z
���6W�jc�+i���G�=�1�#�+<~Zd�/c:5�n��t��a�W���:�uF�
+2���Z�M�e]���}i,�B��0��q�ǥV>dRv��?
��0O�q�]�F��0���
��rL
��ͥ;�pOo�t���ԝ^��+�UG��X6��J
@�k�:U5�)h��a}�:��F7'��T@�3�
�\gC\c,�8-X���ȿsA6�|�pѤo��hj�R~$E�o���
���<oʽ�lR� ��r�_]�?Is�h����/�D_}�m0}�)��
�~����5�u
�����T����Sءqct������u���d9Hh�\+��
(bR��m�w�-Bp
w�ȣ;р�y�����!닪��W��K[���(�&�L��~Y
+

�~�z����_
���Eo�i��
+[�(�[��8WiNPFŷ�$
��<#~�ΰ�C��/O,��t��H���/p���]�
����3b!���T�\IG�>-�x���V�J.��
+h 0���)�8O<�|i��¥�g�uF!c�pE��_-�$I��%�
%�����`u���
�x9ܜ�V��FpD5�(���7�K&$0 e)�0�;q9X����,pY� k(���|�U���	�(ri����F@��|���}�ˠ��	�\	��@�/��
�G���"�B��pc�0҉|����@�lx����?	��9�ݍI�� ���4J�O�!
u������w��_,v�Oh'���������k���aD��v�0��-4��t�Z�>E��փg�)f��KƮ�ۇ�����
+A�o;T��m[�_�����=��5�1H�o:�/�0�7M9�:��@��Q
+endstream
 endobj
-9951 0 obj <<
+9920 0 obj <<
 /Type /Page
-/Contents 9952 0 R
-/Resources 9950 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9799 0 R
-/Annots [ 9954 0 R ]
+/Contents 9921 0 R
+/Resources 9919 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9917 0 R
+/Annots [ 9918 0 R ]
 >> endobj
-9954 0 obj <<
+9918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9953 0 obj <<
-/D [9951 0 R /XYZ 90 757.9346 null]
+9922 0 obj <<
+/D [9920 0 R /XYZ 90 757.935 null]
 >> endobj
-9950 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F11 411 0 R /F7 526 0 R /F67 366 0 R /F33 481 0 R >>
+9919 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F31 472 0 R /F7 505 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F1 542 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9957 0 obj <<
-/Length 2622      
+9926 0 obj <<
+/Length 1942      
 /Filter /FlateDecode
 >>
 stream
-x��Zm���~�Bߺ�-
�_l�@8EӸp�+�"	{��ikiW�]Yw����V��)P(
���p8
�gH��0�#3�gJ(d�����=@���Hh^@��/𧛫�o��d$����� 	�������|A0�ɻ9�IZm��ws��r�ΖUz�]~W��ӫW��9�IY�T���MZ���l������@/"�����o��ܴ���&�5���O���f��F�h1;@#b
�m�8e�������V�op
�
�	FT*=[0����=�#i�)R�Rp"eK�;'��Uab�H�BT)9kŬ+��}|c�"�����X`
-����0�� .�p
vk�.���eQ7U���~�]���������[HP$$�)FBH��f
>��'�r�)�T$��x�U��24��e�盥]3Ò&���m���fb�i
�ޕs"������|��ꚠ�I�&�ɒUUn}};F��5OӃ�EtD��G��	�U�R)�	�z�`Q
����^B�$,�V at A�2�$	KE'

-��w�K��:/�,N
��I�nW��*O�P�Y�6e��]���JXᗡ��S�O�

-
����£�	JfRB�Q��3����g�;�/}���w7��ۭ?lG���]B8R�(�60׮��]4h0�W���|v����gf���d
�]��^4��m�a�˓
K�
����V�h��,ucD�n�u�Xdž 1؏�j����v{W��(}��p�����n�u/���,Z�!~A�.�O�uh(�������� ֳz���Iʕ�k���{K>
������B$����[/up"����2ߞ�
�����(��̵��S�W
��AU��k6A]VU~�:�7���PSzk�`���t��6�w����%�
�b�ce��N^�վ��>���)W�-�o�N���1��[(���8@���0���0��Џ+FO��[ԩu���.lD�@��
���l�j���X�5,&�K
��V3�`�JؚS�
�}��LF�1]���o
��n����γ�w�y4�`���"Lt�:���
U��-��C����o)�p�߲����C �{��H�
Q�.�mV�Ч�z�Ͷw.�D�A�*��:�5"�6晄ӓ>�7Q�
ݐOJ�O|ҧK��iW
�~n��b
��hS,_t��M�EnW>@p
���Ԗ�bЍ$dњ���ʅ(@}b�

Lɐ t�ۨ
#
€�݇�SCo�
 ��Mnƶ���R���h�������
�h��8஁z�94��FG�e�W@
��Xv�娏���]���}��� MD��ʋ��	�tB�`A���_PR:�b�(�	
�����j�j09��٪	_�RxW3�!�!d��h^� ��o�E/{�v��F��q
����ǎS�+b ��0dt��/��T#-Dt�k8 J�<
k4HZM8�"�Y=CZqkB,
-;�X2
EOlj�`��!��Z��
���8b�G/
�G�2��~��7a�a���
��~��Ɔ
���d��@��EȄA ΄����:E�LK��)�/u��9)H-�I]�����w�td�4��b_6�C���쾙�u@;�Fu�֙(��T�����bož,f��tnw!�(�rk���o��\�O����+�V������^Ʊ>�ۀ���� �?�ʍ��b��$t�ƩĐ��V�#(s���@P��b�GEC�>��bd�>RQ
���!�Mp��=��&�NU$)<�RAG�R���z��v���#@
A�PzL���/L�<��Kwb`�4|p'v�LG �a�t}��`s5��c��'q���
~
�?���ؗ�����|�>dS�$�ɑ�HO�L�~&�����|���}��h�_0��/z�}���6mZݾy�����
-�r�e���1���聀ˇ^v�>)����3�=aZ��_�B/f
8@�m�slipOe�߽Z8�{��`�rƷ�
-�[�j&hɾE�ns�|���U[�8wYX��m���c�'�=��H���k$
�����;3�MWv$�&��u8GS`9L��ϻȠ
-O�$`���Ezx
<�􅽣V	�: ��B�������0)S��L��L�x9��S��
-�n�![/�xe�•��]�*X7a�e��^/�9lj�+�Tx�]���m��E{���w��V;>��۴��^��5�.�0*&XN�+v6�ԑ�'�� H(���V�m�bR����
��
�����O�E5��}2싟� Z��G��gC��e��Õ�a��fL��^��J7�lS>T�ַ
�f�[�����vw����U������y����2���։��n�ػK>
:�$y����
*�پ�o=U���u����\��vt� ���v
�)5 Z�\
-���%e at -u��K�J(�.v�
���0��l|ExBT�e	*�58�
(
V�9��5��}

�IX o:����z=
-
�W�af���3�;�&��i
�	� b�>
[P�B��_θ
I
�
C�����{F
�A�����B1�P�ï�|��uV�o�P~�nc��Fć���T��}ÏY6v
UaE��A���,~���g�a�����^;�u��^]_t_�}��*�7׻��zl�g\�̹�[�BG�
<o��!|`K�۲���R�Mqt.�M��+�z�endstream
+x��Y�o�6���B�f�1CR"E�ۀ�h�u-��ـ�-
&�ca��JJ���
I=�8NC�}��8
�����ޥG���~:;:y.}/"���;[z�BɈ��;[xo'���Og�R:9�2:��Z�O��N��f/
+=����y��;<ej�g�t�4�ei���el���"�~ �ď���ً�ggG�HF=f$!	}�]��޾���_x����j�܇��{s���j%hG+F����JaU;[� >&�(�EYaGL�-j�ۙ4���6������ԅ[_ՌJ�v-]Z�$��g�z�I�d`�y�Z����<��
+A#�^,��F_��E���2ɳr���|�K�����1E�������3R�j�� E\Vp
�h�؀Ӫ\
�-T�Q��}�Wi�d���q
P�~R�K M㪞/��J˺�*E�Pz���
+��2j�T�NŘ7�	�
�.CE����Ov��q(pa�&�$�B_�<��ɤs�]�%aJ"74r;V���#B��;�}�s]"X��w�
+	�zB�yd��:T�D\
2�,0
(#J�|\��}��qb<59Xߏ7EB
+�1�n�r��i>� �6.c��8��N
}�
8b3���.*���XbQD(��`Z.����Z_�#6
+$V?��ױ� �G!e�N
r%�VShۥO秝��97+�Ƕ����ٟ�a�
��,��qѻY
��8�
]�.��IVa���X at B�)�B�eߚW��
_�
�?�
r`�1s���t�ExXy�O�W��(���w�ݿz���������x�}	!�����
��Wv�������K�B��z'dQ���]#� ��� 3�,�e�
�a� k`5�Ô�IS�͔k��.l5�^��a�^�
�+�p*��
r���.J��
�ߊ}� Y��~��85%�絆 �n]d���s=��"�u�C���\z�!��b����GCTb��:�@TU�@
��S7��� ծ�L�.ށ-m
+��%
��Ё��.32r���#7Ӆ��TWht�ϻ�p��rU��_�E��>�����)�p�Қ.
�䑳�+�M��Y�A�
p�ZWI
�V�
Z=���
+�=������������n�h�A$���A@�����
:bP�?-U�
�sl�H�u5_�]
�MF�6�@w�
��q�_zm��I��4
�U��e�18d��s;��aJ�S��N�~��6�ݬ���������z�
+
O
�a��~��
s�9>�):� 
3�9�<
ciƏ��B�-B)(�X/0�ψ�u/r����X�	#:���Z�p���j��"��X�Ig��-�[w<@�
�S��7���0H�#ƋBH��
��8t��3~�8�_d�����"їy��2z����^��J\��{+
+��r)�K
�m�"�&��me���Ew܅�@t9����i������߹���v����o������t?Bs��М 4��(4:�ڰ<
�G)H���G]��]�5;P}�n�	��x�v�-�,_'^�
I���flEb4aG�y�4j
���f��C�^%���P �.��R�+
��)�$��P.k�������4=l��s7>(�.��r���UL��;K�m�t
o
+0-��xS݅7y�
 '!0${�p�Y8I�-8	SS6y`�R�(����H�	D������M�
]<p™���>���a����J��U
�
+`�ɳE
��ֶ�V�\?؋��Z�~���.���>���q��ѷ��z��CT��28Vף˃\�
W7Q�Ѽ��)����i��ѵ�m�
~���DL
�ݲ�^�>	
�ן��[�)�
���n�	�v�wX�����o�BL��_�쪾��.�M�� �	��`FA�ı�Ԫ��W�~��n��ԇ
�T�UUm
��l�[rQ��,�$�N6��dׁZ.�1���&٬��� ɚ�H���|��x
+endstream
 endobj
-9956 0 obj <<
+9925 0 obj <<
 /Type /Page
-/Contents 9957 0 R
-/Resources 9955 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9799 0 R
-/Annots [ 9959 0 R ]
+/Contents 9926 0 R
+/Resources 9924 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9917 0 R
+/Annots [ 9923 0 R ]
 >> endobj
-9959 0 obj <<
+9923 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9958 0 obj <<
-/D [9956 0 R /XYZ 90 757.9346 null]
+9927 0 obj <<
+/D [9925 0 R /XYZ 90 757.935 null]
 >> endobj
-9955 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F33 481 0 R /F7 526 0 R /F25 344 0 R /F8 523 0 R /F1 573 0 R /F11 411 0 R >>
+9924 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9962 0 obj <<
-/Length 2526      
+9931 0 obj <<
+/Length 2226      
 /Filter /FlateDecode
 >>
 stream
-x���r���_��R�
-ƕ 7i
���4Mf�Y�/ٌ�!�-EjIje����B
-�(YNҦ�����s?��
��%x&�D	��l����

wC���!�7w7�oc1KP�xv��b�%tv��
�8�/�8z7'8J�m�|7�8���������N�ׯ��9QQU�T���"m��I�����J^ DDL��/w�߼��I�',&�Џ7?��g����X��� 
�H�����S�u���7��	�`�!�`Dc�f
Ƒ�ay uM0E�Q
-L�
�X�#�
�*11L$D"*e<��
+�K���7��Z7Mn�W5�]�/���a��[A�,$bnhH��<���
-�E����yt��=�S���tS�i�z��}{d��}Zk4��%g�H�R�$;;�E t�c*A3�$�s�ho
���$�������=���V,�$L���w���UQTs*�C��U�u�ypS͈e�F�a�z_�Z#k+RВ����톀t��X�n��t�'T ��Ly���Y�)�Wר��U ~A�{0����w����=|�S�G���.��<��.�=�4˖��l�:���@?��_{�ǿf�W~1{��߲�ӕ;_k��$_�?G�P?,
^
1�D\�7�
-�0�@K�g ��9Qg�n�7�6��g1��gy5�ѱ@���Oi=A%�p�tZ_f��(؁��`����vd�;]����e�V�����.����$	�J�p��I��V�$J�Y'*�K�?�$��ٌ���
�9̅�����k<��\Di�G��'@y��7�7�t����l��ՙ_\
I������48���ue8������q�ʇ�����N�}��|�ļ���d�_	�	�qʁ�B+��)��0�@���
-��/a�y�/&ؖx:�"�)z��
�/��
��[�
c?dG��x�ʹ�p��~:�Ӣ�E��ӭ�9�탛�q>�|�к��,�|�z�&ϴ�2�o8eu�M:k���Z��ǽQ9F��I��~Ը��l׳گ�W\(���@���B)D���,h�H:Q�i=�
$��_�V��1�$vfD
<�����Z7�IK7 .��l��~���Xc�
��@� q��$ts��#O�<5xO
�n�p~�����X���l#�$��u/#�>�~�:(�]�9���٬b)���+M>�`�=��U�o���>m�$�$��̺�:�����=y��Ұ�S��1oΖ

c�
�_�B��E� ���'E�:/�K�20]6�`���F�;�w���
-��a\)�ES��#4��&3ŐH�^!�M��̩�ٹ���/��C؃�e/�F��ҫ���^6�t��Y�ե1�f�~�$�w�d��qq���K2������R�&�]��p�u��4S2�4(/�%F:��2�B*�
N� �%������H*�.%+��-4S�
-0�k�|
��2��ϭ�%#G}��'�'@j��\��i���f�^�nI[-���)H6�f 0���&�|�P��QP�l���f�+<�
�G����.�SPh��n�V��1(@�Kȯp�8�}��&`P4J3 �9
-I
-���җ��8�/����W"���+X��`�,cf*8C1���w���!-	>�y�=���Q2<�2������q��~:�
|K"XH��%�)N��0��8�]e
(
'C岆K%E1
 4�D
K�a
N��W*T��+��d׈S\'FLx�8��q�P��8�@�ȸ>}cD�U��2n�7 72֥6.�^+8�ˆuOl
D%_a�|�]��z�d�aI
E�d�d�~���B`a
���8�NC���
�LW�r���mej����պ�)���V�[$(�t�z�]+\�el���1�
��&��<��^*ܕ<��Eywo�Ntb�>,�������^�7��uVi���}��6�J!3��1�5s���k.�X�����hH�J?�mv�*��kގ�}��[�v:u%��X\kL�@�s.�p$�6/�/�\=�-�u�U�%|=�!<��59�
B>9��9R鳤��9;�/��V�����*m�
5}|�.�L�F
\?9�6�x"	<���	���
�Rצ,�/��%�"��� r��z��d�6�o���S\�r�]LJ7p
C�������;9YE�� 
-�U���0'��1#z��mtiE Ya]�:L9y���/��iI�R�z�or�Bk��z
�Zx�~��.��Z
��Z��y�Y0ѽ�0z�/��5I|���E0�P~��;��N��3��U-8v�
.��� �
�'��48�%��!��� n����n�̓K3����<2z
�oMӦ�B!�
x�Z��7ݞ:��o�:�&����G,���s�
�X!I^c
�8 bp���
����w�_w��������Ÿ�BD�%?���5�񍞕M�bdrw�����{�Ǭ1� �D�f�=�Z;��_�Vta�x����m�{}{{8
ЪA�2��(oo!��
����y�� �EtBˀ�
��L�[�����۪�������D��QO����	Tendstream
+x��Ym��6�>��O	��5zAB��]��d���e��\]jw��`�&�@ �����z�;ޭ��BH�nu��d�=�}}�����+��E�
+�~�E�
A��~��	A��	�ؿ����6^��(���Q�*^|�>Tqux���=#�/�ٜr��dq]���j��7�'
+�@p�Ed���۫W�W\�
{�h�C2�%۫�o����o=�X$������ywW?]�U
��"慔!,�5�~��N�"ˊ��>�׶+)��c�����M;iW�F�}Y��I�v0	v����"�1-����Ԣ.�D-��V�5̫�ġ,D�����f�Z{ۧY,DQ���3gT��RoN�S:��V��⦨w��Q��\�k��
-��#�;��Q�תj�`��"�M���� q�
���
+%�z���_����a3�ID��Dʟ)�
oF�\2{���f�	D���Z���,n]��ի�m�>N
���*�2U/�Tc�4��A-�c��9n�����
�-rnŸ'�
+��	,=m �1
+7�a�9�(E/]�
�����d�~+{{����>;��5
�T�~�a�̂��<ɉ'�jo0�v���H���0� �/P"ɻlyq*( T��w2! �������tP�;&� iC&�V0$H
Y�['��i�w;�D�>��� �
�v ����i?�j"
�
+&"�ZoԳ�< ��ߤ��H 8X�ɐ2�JC��X�qjť�DaDptQ�K�H<���-q����O^�BF�E.tJ�i�փn�����k��R�]�_�[Un�5����Y�7C���B:`G���6͓j�B_��&βÄ�
�$=Z�s�5�L��)Q"�a!
�6c�=���)�q�&f5�U�<ު���j�x�&�U�l\gYf0�0����~��>-(�!�'� FR�vbQZ��2Ϝq!
�˕���R%��AD.�j��Ĺm<(�,
�8́g��"��Ӌ�~�ib�YHd��������д	
�QEe�2�n�ۧ.'�]��/m�qKk}k��J������Z֘��!�h�r�
T�����9A��Q�&��G�19�鏩J�
���cj�o
�따��ȫ�a����nS�
�}
���C8� X�5����Q]J�L<�������5���Ey�ʃ�:O�
+�4
�s
k<�� N�s}j*J���)$rH��8iv�I4Vz�i$q�4�:
t��#�C㕕k7A���t�Έ�Ǚ�8�/`+��[�yШ�m\�g#�G�R��.r����I�
��t{ua
�Oc�0�
+X���R^4��.ն,@b� 
�{
C�}�8;M{�Q}Hc�<�y��Anspgo�
��=��{��s��wz}MЃ�YҴ�e���n�ֶ~���@u��h?5��p��]�����l�]�]bd}f_�a��E�3�M{]����A���ȧ��L�ʰH�E:|��X��*�Ge֥Y�GNl��z��Q�RG_-�C�&�C���Q���I`�
+�>V|�tŧ7vm�5��Uf�ʼn�"�����=͗҉D4�����[
�$�R�uYA
���XVF҄���g_��l�1���9Z�ob�A��x�j.}�1���Y��oRU�A!4�[�!�������	2
+��\
5�Eء�Xsx��,��Eo�`(7U	
]�5m�M_�
���H�0���9ሁ�g��n!G4
+Ot-�����-
ܝ|tS�IVԧ��H��52��mg��./��q���c���iL�[��
L��n{YZ�烛�CB���U`�H�
ZBh�>5 �@����g~6'ˮ�:L����
,�
 ,�I�
���2S��氰w�˅P����n�Բ��+^�1U �E��������n���o��%�8��!L$b�>KA
&�=��Z�9����/���ǥ���;��KZ�-�̛��W�
���t��>�ڌ'�
�'�K���	��D̘�
q{E $����[
���O�-
 ���J�4��2Z�J��h��AWU�

�{ƵНt�����4�L����;����
Y
��w9��O���/���_}B���K��k��;�kA��4vۭ���MU���վ�R��s�1Χ?��N��t[�hˈ�G�m3"e��q��	�wJ9K�y�{m�;{'uT�b����i�����~�GI����
+��uYfק�9J1�ѕ�����E��P�έ9d����?ɨ
+endstream
 endobj
-9961 0 obj <<
+9930 0 obj <<
 /Type /Page
-/Contents 9962 0 R
-/Resources 9960 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9965 0 R
-/Annots [ 9964 0 R ]
+/Contents 9931 0 R
+/Resources 9929 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9917 0 R
+/Annots [ 9928 0 R ]
 >> endobj
-9964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-9963 0 obj <<
-/D [9961 0 R /XYZ 90 757.9346 null]
->> endobj
-9960 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R /F8 523 0 R /F1 573 0 R /F7 526 0 R /F25 344 0 R /F33 481 0 R /F74 478 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-9968 0 obj <<
-/Length 1969      
-/Filter /FlateDecode
->>
-stream
-x��YKs����W��U�h��r����:v��*Uq��X8�P& -�ߧ���`r
�\:��t��=��4�
��<SB!ø���<{����!��%�_������F��AFR9�<� 	��������bI0���
��I�MV�ϋ��ٮ�d�]�P&����xA��K*���&����G�h��l�ZX
s������7o�;S[O������Ox������-f/p�1�ζ7�2���p��n���� ��k�
a)�	�1yS�U]�Ӻ(�h�}m��_�~k�:�3@��K���E䏃
 3r�3�~a������
��ƨ��
��L*�˙S;�F,@�b�5k���Xj���
<���U}����K�92�-�M#D�[�~�꾭"�D�~�&�C���Lj�z��ӈF��L��%�ב�FT�<`DZ��J`��D�BweQ۴��O�,���^m4\($)o�}�Y��4�vm��yN\�~���~��E��i�3�Ԯ�/�bg�:�n-&Z�$H [...]
-�<�x_l�N�_c„�h�/��Rc����p-I��CW!Z,_�-`R���ق�ײj�C1��Շs5����h�yp�
j\�"5v�[��� )�	�
}�fG���n���|��_D:'a-�z��}��S
t�|ɡ/
-lX��������ՇUC��ꔁպ
�v��J����{�UA]����~Z�����߽����"����Z�W�~�(����Ǐ�P��
��$KZ�\�˴G���#ω����!
..w��4��˧#�j�dm�fOyQ�u,
A�E�
�z
^˺�1�E�Z����&ŏ��$G��
���8��z��P�v�j�/q$�f�12d�huM��+��H	.>�-=��6�z��V�v�W���an
W�r��Y]��Xׁ��u�y�T��;�ט�H�|�/u��q
営�}-_�0�
G�Ļc'v��M"p�k#�q�(~M��#D�
x�=�Ŧ��b�
hu}�PzA��k
��
-b�Pk΅
Ԧ�u4#�b^�s�B]bX\����
g�$�M���=�;w������
�8?/�̨���]�/8P�d��WI�v��QpB�n�0�H'56&+���\��?��#{/��
�}�"�

�
t�0��	qaZ����['u��iսd�s��0�g����B{3�
�q����Y�b��n�R�:;s�!�?���D�q/�/�_j������]��Ww�v��M�Ʈ��}l��b�����v���?d�x��H*��|������SW��ā@EԘ\���U
-eM
�y����udI��vb���$'�0R
'���$Dq��4��M���.�i�
qi��@�
�H���j�q���
􉃻���CⰄ�=W7/��˼���&�3]��P�!|��;

� 
���&��u"k
���ԉ/�D �]��9��K?k�&�pr*5~`�MK�)��z�t�8�37���?=����bA�3�9�ا��Bc�� ��c���-�G�
 �SXu��$��4�l�~>:^�hK`VYR�
��G�����8M�z���ct�	"�[MWמ���J��a��Ք5�|*�C+�Dދ�1�:�ȉ����S���?9e
��)�#�Q�a
�9������;��tC�Q��(���F�^�%���&7�-Wnn�S��/ntׂ�}��Ms���5wtLŎB�g�/>X;��*��"*�y���_���g����E�
U��Ѻ������޾����B�<ە(�ow����.�;Wf*p�NhdK�<�)Cx`ˣ�o���������ţr�,b�� n��endstream
-endobj
-9967 0 obj <<
-/Type /Page
-/Contents 9968 0 R
-/Resources 9966 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9965 0 R
-/Annots [ 9975 0 R ]
->> endobj
-9975 0 obj <<
+9928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9969 0 obj <<
-/D [9967 0 R /XYZ 90 757.9346 null]
->> endobj
-9970 0 obj <<
-/D [9967 0 R /XYZ 90 733.028 null]
->> endobj
-9908 0 obj <<
-/D [9967 0 R /XYZ 90 716.2211 null]
->> endobj
-9971 0 obj <<
-/D [9967 0 R /XYZ 90 716.2211 null]
+9932 0 obj <<
+/D [9930 0 R /XYZ 90 757.935 null]
 >> endobj
-9909 0 obj <<
-/D [9967 0 R /XYZ 90 582.6346 null]
+9933 0 obj <<
+/D [9930 0 R /XYZ 90 440.883 null]
 >> endobj
-9972 0 obj <<
-/D [9967 0 R /XYZ 90 568.1414 null]
+9895 0 obj <<
+/D [9930 0 R /XYZ 90 418.571 null]
 >> endobj
-9910 0 obj <<
-/D [9967 0 R /XYZ 240.2453 505.47 null]
+9934 0 obj <<
+/D [9930 0 R /XYZ 90 418.571 null]
 >> endobj
-9973 0 obj <<
-/D [9967 0 R /XYZ 90 488.8199 null]
+9896 0 obj <<
+/D [9930 0 R /XYZ 90 287.822 null]
 >> endobj
-9911 0 obj <<
-/D [9967 0 R /XYZ 90 310.2393 null]
+9935 0 obj <<
+/D [9930 0 R /XYZ 90 273.512 null]
 >> endobj
-9974 0 obj <<
-/D [9967 0 R /XYZ 90 295.7461 null]
+9897 0 obj <<
+/D [9930 0 R /XYZ 240.245 210.84 null]
 >> endobj
-9912 0 obj <<
-/D [9967 0 R /XYZ 90 89.4414 null]
+9936 0 obj <<
+/D [9930 0 R /XYZ 90 194.372 null]
 >> endobj
-9966 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R >>
+9929 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F7 505 0 R /F23 340 0 R /F31 472 0 R /F72 471 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9978 0 obj <<
-/Length 2052      
+9940 0 obj <<
+/Length 1380      
 /Filter /FlateDecode
 >>
 stream
-x��YK������)���͇��<����b6��$� Y�j[m
�%G����>E��E��{f����S�GփUů$2��#3�g�K�Y,f��
�m��w7�>^����fys���3���b�|lWqJ�l���b:_�q�aNp�T���Ü�̏�t]%�?dUR
��DEe1_P���yR����c�>K�U
-�"<b�?/��y��U��p&�Q�7�>��,��#��=�FDk:��Ĕ������?�u�턐C8a/�e
�N
A��J�S�i��9^�5��}�������Zbq��,0�4��<�)F�b���1��,�ƀg
&b�bp�,Ҝ��]Z�UҔ���cݤ�n�~PCSbal�
-
-).�E�e�b�ˀpE	��O��l�U��?wXNXД!����D��q;��!��6���oo}�"�*w
�
XW>v�g{�Za_�r��ϊmZe�ՠq�z���p��Ң��'�����ʡ�P
a��L0���$����Q�4˜�Z
#��.�m('��I���\>�IFIP��"=z��GK$	�U����
-r\��
�Qc�^4��R���]n\�����'"��Z��<�g �򏃝�͓
-���פ:�X��

-� 'gR{�L��
��g�i������"����.�8�ؘ,[
�=��}�8�!��7�"�}=̨Q7뻻���8�%ɳ�}RmP#��RZ!aN�I��2ޮRl�'�=e�۪�S
=���x�=v�݆11L�
�
(�8FZ������Qsw���ҊU��'M���ݝ���D(�bB����M�H��{���Z

�0~
-��,81dl�w,��vf�����n��R�`�����Mz�
��h��,^L��M~A���xm�!�|�`h�_�6�j@&ַ� �޹
Ǽ�4b�務���P��q������	,+AM\<���1�2�ǜ�&�PQ�bS��9��ԗԯ!3�Efb�M���J?D]��1D��_DeB�'j�H�p��aש̤�'*3
�2��פ21��ĥ�Be��)�8�*3-��2#�a*�Im�ä꓇Iٺ���{s=�2��&K��,����M� �3��[b�'U�T
-�
��J��hgv0֝�
�!]%������N���Z8n�"į�uS
V͡Jm��wj��Ut��3<נL������ARPz%|�����a^��3H
��ȵ���3��c����Vz�d�;�>M�j�U��GW;
�zL+�zYҸ�:BQ�y��;���-�m���t�=TZ��7<BO��!�rie
P���C�dOm��6����CO:�ġGʄ9����9����--�}��I�v(��@
-���) B1V=
>��H%��Ec^nB<��#�����	,�
������ �@�ѳMyA�N�"/i �>M,�=� 4p�|�#V��Lx�`P���/p0$%�*��q��ˁP��z�Ci�=�wK��m~
����Ys���{��W��`�?�݄��I`���ρ��0���o����ۿ���w�~��)�(A�R���
��"&�F�r�	���z�`��$�lr�C�P>_x
�!�����P�I�v��&���Ff���mY[D�p�rZ���ݚF���eInW)�ݤ!�������鞶Qn��V���
wL�,z�n��?
$��7��J�(�7`�M��4u��IcNy�ϡ��|���_$DHD��ҳ
Q��<U􋚶��	r1R$L.z���m���m$8ܴy�_�i#��o���m�򏃝E�C���4)ڡƢ�:7�P_t�!ög�CCc�Ļ�f&���f‹�#kv͋ؔ
l\�=�`�VB]��Pc�#��k��/}�w
I�,{��Y�)J�ZQ��,װ�,�B�l"��U�nۯ�B�۴�L�L�O�N	/0>��nx��tĩ��쩻�W�V��s�����Iqhk?�
7��,Ũ��bslB�� >��k��K"}uO�3s�����',3��)֎�56o�fw{���V5:پBYs����z1S�c�W&6nуF�x�g at a�&��ˣ{巃�qo��.1��(�گcU����endstream
+x��X�o�6~�_��Mj��EfOk��6 [������Y�'�����$Q��(��E�0 �����O'
l
��=_�.^Ih�%��r
h
D� AI�\�CB����Ws�CS���jNq��[�*����Ma���ezNT�g�8|�3e�
�k[�g�؂]ƥ���˷���ٟ3��Ԟ�ELq:{�+�`Ĵ
+n�ҀS�]�n��
{T��N�
:�� aAD�R4�޼]u�J�����?�G�[��(���i3���5γ�&ɜǺ�0�Y�m�{׮��3�34�z�#H+
�ĥn\x�Wl�.��.kO6���0� 0%<�ҭ./�l�q���յ)6��f�s�iz:�"�S�� '�B��|s�N,�a,�3�Da|�
q.�G�I��޸�f緻M�vb
�~y���&T#��#og
!!x��.z��(���<�KF*
~�/皆�A�^
B�Fd��u�W�}��*"��R�zQ-�#. U�(�zY�݄�A5�q�+D��m/p��1���7���&�FJ�K��!M��=�]p��T��hg���ȝ��]}�ȃ�ɨ:�I����!٭|�q�6����D���+usMԹ�5�nj�I��-��\�R+�&��UU\&�|\�����=�Ai-��ݤ���4�l���QN���ýw��>r�ad|���[��@J����
�a�̢ƛjn��D_
�{׬
j��/|�?�2�]k"ޙ®&Ҝj���T�����xW
766�҃HG!��3-'��xp�:��PX���񁸱�j W}���U�t�
�"n5�X���A�i�b��J����l�^��̙�%���m]�+��7�ĸ6��"噟Zy:B�è��
_^�W��0_v�7��:�_<����Y��9bR>Z����
 ��Hq=,��6�������k
+Î7��|R��L?Z�O���4oZ�_\����	�0o>'̊�פ�B�T=� P�Wޣ1�P5\�L����P5��lT�c��Z���mH�0s?UsBG��*�@�E�l��S�;\',�Б�:���������t���?�5ݓm�t/�w2Dc�i	�O-!���
��
�T=��G��h�o��ϫ�W�<JD�0��ɛ��J�O��w�E��:*�:FN�懝�j;�h�9j�;��w���
Ճ�����g4�R���Q��c4l
A6r�l
�ߑ���3?#ן��D:��5Ņ���a:]U�V��o[�nn=w77����~.@���_Lv0�f\�����DW����o_X�*z�3(�w�z�
�?�v�Ӭ���i�"��[������(.�!K�J��~�����'+Bu
�n�?�
�2
L��z۹���@G�
+endstream
 endobj
-9977 0 obj <<
+9939 0 obj <<
 /Type /Page
-/Contents 9978 0 R
-/Resources 9976 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9965 0 R
-/Annots [ 9983 0 R ]
+/Contents 9940 0 R
+/Resources 9938 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9917 0 R
+/Annots [ 9937 0 R ]
 >> endobj
-9983 0 obj <<
+9937 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9979 0 obj <<
-/D [9977 0 R /XYZ 90 757.9346 null]
+9941 0 obj <<
+/D [9939 0 R /XYZ 90 757.935 null]
 >> endobj
-9980 0 obj <<
-/D [9977 0 R /XYZ 90 733.028 null]
+9898 0 obj <<
+/D [9939 0 R /XYZ 90 665.701 null]
 >> endobj
-9945 0 obj <<
-/D [9977 0 R /XYZ 90 546.5409 null]
+9942 0 obj <<
+/D [9939 0 R /XYZ 90 651.163 null]
 >> endobj
-9981 0 obj <<
-/D [9977 0 R /XYZ 90 531.9706 null]
+9899 0 obj <<
+/D [9939 0 R /XYZ 90 443.914 null]
 >> endobj
-9946 0 obj <<
-/D [9977 0 R /XYZ 90 312.0832 null]
+9943 0 obj <<
+/D [9939 0 R /XYZ 90 429.376 null]
 >> endobj
-9982 0 obj <<
-/D [9977 0 R /XYZ 90 297.5129 null]
+9900 0 obj <<
+/D [9939 0 R /XYZ 90 237.996 null]
 >> endobj
-9976 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F11 411 0 R >>
+9944 0 obj <<
+/D [9939 0 R /XYZ 90 223.458 null]
+>> endobj
+9938 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9986 0 obj <<
-/Length 1677      
+9948 0 obj <<
+/Length 1674      
 /Filter /FlateDecode
 >>
 stream
-x�ݙK��F���:%ҁѼ��1��U�]��&ǥB�H$P Y�o���c`ey�\�Zjzz�����?2�x��B�q9^
Fx���/F��فߝ��/��ٝc���r|��=H�%t|��0!q:u�x�fJ�ċ��͔�I�����[�
-��?����S�N�p�P�'��^���w����Õ~!1a�L?޿
=��B-f"�$Y���>|��5���#�]1>�	FDk:>�8e��~�~��c~�o�%DvMF(CX
-v�bEN^��%L(���)\�A9�_������_�����qM���k��x��w����pLo��|n�l�,�A�3�����0I�)
��ADZS�$�� L�\~�,fwZ���A%�i�/3_�F�8̏�� �%ƙ<7��.�HS!
-I�M����)
��;�
�ż��h�­9Y������
�";��;Z���V���b>�#�r>�.H,��qL
-/\����n���b��fF�!AJ�� �׌+&�K�叹VŗFNݪ�zW#H������^��<����S�%��;AT��(�� E��x5�\��A8�x����o��	J�HfK|0#�U7�fi1C��q#��]
M���
����u.��B^�y
�Jd��|@U.��-e�ŅT��4�b;A��GXo˽�,�
�y�>v�	k��m���
��Y���^��xc�
�i�Z�V��5x��%D��x��a�W
���fBo�� QL�0��V�tPe"��n���։�N���6�
f�B�N0v�5��
�6$*!����z�Q�R��pc�Y�f���O���m�ŒU��
oj���x�Rp�t�7�cvoef-|�C��Wwo�`�
��.6�l�
lX񴻆m݁�֊�ε��6�
��´Vv����N��~I����ڭ���P�h� �2��S���6~�b
$EГ.6�����!�x�3`�o�	�����U{�
��� k���>�a;ĺ�b�/�b
-�1���rUb���À����+��'[�
P�UR6�ە
�J�Թ�h
���K��V���`E��j���։�N���6�
f�B�N0v�5��#\S1
�}~�2zQ�饃�4��y�}h��X
�ӌ�2\
���L4h����f���X2��1�
^�e��8�����Ŗ�	���[,m�d�g
�m��l�s<��
[2�#9HZ�,�b����IXn�?œ�!M��|/�(����ARխ�IE)Xq)�&�m�Ru����2��T������T�`n ՗(,���מ�/9z�v�T����%�4��N=��7�
�k�
1��֔�!&#���(��N�:�ڱ���27��?~��z+ԋ�]���G�MM.���m#"X�9?�˂BAc:����6�wKa|�=D��FMB8r%'�gS7@�K>F(4�W�$�&�Z�|ଐ"+���8�4�f<�
-: -�qZ3�)��q���4�
= �v
v��V��t(��#���
�

�FsU�הP��{�������a��̚M
�)�W}8ο�K
-���DZe�~6� L���9����� �9�=�㟧BL����
O���c�
_�
-�⌍6�@����N
UaET3A�׿���o�yV78�;�BT��v�fsޥ�q>���g�J�)
�1
-��񸟵�b�z�JΩ�:�42�\	}!<,�l���!�+��C���#���y7�"�0endstream
+x��Yێ�6}�W詵��˻��H�I�4i��
4HC�i[�.�,ǻ��E���M�A�'S9�93sf(�`�����dp�X� F��2�,��$HPL��!!��ј`���#��I�'����2�]�E�L���*�n//�G$��hL
^e�vk�/�R�w��+�˸C���ɳ�����p@�&"D!�<�y���?
0bq�ͪ<��o��:��*|h],�#��!,�5q���[s~������ 
Bxc�?���]fX'+7(������y�Γ,sk�rD��WE�&�r;֩�,�Բ*�楛*aT��,�u���e�EGJ�
9
&؅$���n�jS� 㲷��ч+B!��1�)���֋�˴q<|�d�b�T�]F�C0(�
��uUj,�::�2�ך�$��)�ruk�˥�
��
�Q
�F�jk��%
�8n���iż�7I��2eg�i��
1�I����s�QEͪo�D����2�X& 0����
+�
K$�P&
�+U�*�N�no��(k;P��v�5�Y�s��]i7eZ�6T�#��H2�9ED���(
+]΃��L���O�!@
2�5��9����o7�Hr at BF��iQk
� 2����Ǩ���G:�WĤY���%,�K�s>���?���QL�Mx�z	�A%
yb��8ňG� f�
mb����
!���&�͊{ �$x0>�qO�W
�a���D������"Ώ���T��MZ�Nm��+?
e�o�n�
�!�ZM���t�֘?��^������ߟN^{���2�>�
s G�~��I�,-X)!�6UY�y�o=�ag�$�v��]�-\
+'M� m�iW ܂Yyc�%�5�!%P\���n���O
+;�d�����u٬�X�����F�֩(�4qb�ba7Y2�e>ls���D��ޚ�
�
:gƭ5���/!�]��biF
�.��<�EZ�<u
+
��󍯲@ ��4�/Ä0(C�_�
YB��g-����Su��]�O�~����by�nt���HxO���>&P����?��KD�
�4�fP�M���K*V'��[3uX	Ӭ>�����M|�rJw
#*�l�rb���z;]e���+%�#��P m�e���P����
n��ӏ�ܜ��)�.*rbN"m�nK��,�/Uf7�9�V:mo�Lm�jY�H�R��0o2C
��w�Ѿ����;v�dOΎ��A�>C�T��*�GaV9�����m,�T�W�8
��d�+�D"��NU�|���mf̵��lJ�q��r��r`��?�=F�'
 �H�<�1
+�
���B'�����|:��u����9GD���#�J5WH b
��0^f�p���Z{�Fnj�D��� ���u���s�����+/�}>����~����A{����($G�ޡ��t &���|$6 �gE�� �	�n�O�T�%��O�lV��~<�
��~�p��bp�x> Gp}�| �7�zA'�?����a�������@4�=h�9��.#�&���u�=
4�
+!S�"��2?��]��2�c����}�m���GB
]6�H���� c��(�$�7
ɂ�	�Y�Fc��J)g�5�Ϡ�40 wJS
���u��\^\��{4ߢ]�n*���Mvq7�:)P�P��˦u���i��!�;N��M�
+endstream
 endobj
-9985 0 obj <<
+9947 0 obj <<
 /Type /Page
-/Contents 9986 0 R
-/Resources 9984 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 9965 0 R
-/Annots [ 9995 0 R ]
+/Contents 9948 0 R
+/Resources 9946 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9917 0 R
+/Annots [ 9945 0 R ]
 >> endobj
-9995 0 obj <<
+9945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9987 0 obj <<
-/D [9985 0 R /XYZ 90 757.9346 null]
->> endobj
-9988 0 obj <<
-/D [9985 0 R /XYZ 90 733.028 null]
->> endobj
-9574 0 obj <<
-/D [9985 0 R /XYZ 90 716.2211 null]
->> endobj
-9989 0 obj <<
-/D [9985 0 R /XYZ 90 716.2211 null]
->> endobj
-9575 0 obj <<
-/D [9985 0 R /XYZ 90 619.5957 null]
+9949 0 obj <<
+/D [9947 0 R /XYZ 90 757.935 null]
 >> endobj
-9990 0 obj <<
-/D [9985 0 R /XYZ 90 605.7619 null]
+9901 0 obj <<
+/D [9947 0 R /XYZ 90 653.386 null]
 >> endobj
-9576 0 obj <<
-/D [9985 0 R /XYZ 90 511.1738 null]
+9950 0 obj <<
+/D [9947 0 R /XYZ 90 638.816 null]
 >> endobj
-9991 0 obj <<
-/D [9985 0 R /XYZ 90 497.34 null]
+9951 0 obj <<
+/D [9947 0 R /XYZ 90 459.925 null]
 >> endobj
-9577 0 obj <<
-/D [9985 0 R /XYZ 90 402.7519 null]
+9566 0 obj <<
+/D [9947 0 R /XYZ 90 437.614 null]
 >> endobj
-9992 0 obj <<
-/D [9985 0 R /XYZ 90 388.9181 null]
+9952 0 obj <<
+/D [9947 0 R /XYZ 90 437.614 null]
 >> endobj
-9620 0 obj <<
-/D [9985 0 R /XYZ 90 294.3301 null]
+9567 0 obj <<
+/D [9947 0 R /XYZ 90 332.805 null]
 >> endobj
-9993 0 obj <<
-/D [9985 0 R /XYZ 90 280.4962 null]
+9953 0 obj <<
+/D [9947 0 R /XYZ 90 318.235 null]
 >> endobj
-9621 0 obj <<
-/D [9985 0 R /XYZ 90 197.8633 null]
+9568 0 obj <<
+/D [9947 0 R /XYZ 90 215.464 null]
 >> endobj
-9994 0 obj <<
-/D [9985 0 R /XYZ 90 184.0295 null]
+9954 0 obj <<
+/D [9947 0 R /XYZ 90 200.894 null]
 >> endobj
-9622 0 obj <<
-/D [9985 0 R /XYZ 90 89.4414 null]
+9569 0 obj <<
+/D [9947 0 R /XYZ 90 98.123 null]
 >> endobj
-9984 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+9946 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9998 0 obj <<
-/Length 2223      
+9958 0 obj <<
+/Length 1656      
 /Filter /FlateDecode
 >>
 stream
-x��Z�n��}�W�)��U���-��E6��d�A
&��(��D*5��ק�ͦ�b��<
`��)�X����.G"3
����
-��l����g���
i
/���+�LJ��菱d$���u�A$(�����9!�������<O�]����y���IWe��S�T&�����[��E~��Ͽ�&����%]���4_��
sf�퇇o�{hMmV"�$��ݼ��g+Xя71���>`D����
�����z�V�{P�s� ��P����Đj��T��Ҽ�A��O�1_

�����)�VϋU
-��^��̫��OY�&���:
ֱ ���6���ο�C���;+x��Q�eIp�`^�o���Z(X;шJ�!��8�֞���*eq�M#�>˷`�'(hGL�HK[@�����_��X�R#���R��4��:&�L�v�&��]�����G} �e���1�Єt��i��.�]s��#vk��飁1��K�:��i
�nB��1�2�F�'-&Z�$WHk?
^hѕ�m�	�$H1�ԅ�2�Wq��sl�)R��(xψV�oE�+�'�֌C���Ws<��l��cR>wi^��2I{�G=�J��	���
�c
6���|$�l.��\w6�#�$�V�y:��D$Xe�l_e�E�QY�,v��ʞ�)��e�;����´���)1}]��%�e��ߩS�sd�>6��<�G�T�fPzy.��v!`��|M�����d+�Tƿ{8����!���*���� ��Đb��2��v�qQ�m���(
*�6�-l�Tp�Op9U+
1�S,DG],�+����	�i���Ќ [...]
�JA1�
���ʮ�p��F
	�]���d�Vi9R.c��˞%�rيu&�����Z�>n�������~��u�vש
90�۹V�o��_��W~����.�V6�z{)���:L},�ax۠�\���N���./� �QȊFO {�>��~){�I��W�T�TE�e����7�-	$�R�ꊍx�
�๷���5���=oa�X�zk���.���_
-�Q*1寎ؘ���Ym������qh/ՇN�s�2����ṋ>�'�Cq&��
��&p
-�
��xM�J
��ȳ�ǧ�X�[1^�u�ӨGN�SϘ���?2>u&X��.��i
m�l�N��J�����P��Tl^�1��@�6��j�҂�S�	w������6!��_��p�c)�1[����zVp�l���1#XD
g`�W��U#z,w��sذ�q{
���9�v��+P�a�cL��6]7��1���r�t��C�}������|�3;�jf��'�Gj�㓯�\��گ��N�5�ی!�P��M)׍�^�i�ۼA��p�_|����!GXeC���(]�D�3�/&�kF@|yF��I��|F@~݄�U��� y!������/2O��l�2��"%X�+��2M �6�h��o��$A�FЭM�]��Ɠ�� ή"#b�4�=K��g+6IF�:�DF�p�dD���LFP^�s=1.v�ƶˋM���-����##(
Y*�;�x�#6�-/6MF��dD8NF�_���v
!P~'�������nɈ
t����22b��p"�7t��]���bm?�8���� [...]

t�3
v��n� 
�W�@Wj� з*i��$T
|,��=/�:j�#'�gL��
-��?	ճ��%��H���mV$pT���,�@q���r4���\s=AY��c�1�^MP�
�r��"H[Z;D?1Pք
-�4s	�G�'���b����5ì�`�҄4aJ�/0
��:����R����� a8�0`�o�g������Ԑ�L0_�0� ���
-z#���
*˖5=]�>6�����CZ��V�y�&���Ǥ�y�e�\|���LŖ\A�0���iz����Q�rO�9�W>��}a�y�wO�����5o�jw���t̳}���n��ޝ��l���0�lܢ��x
�%R������tw��,�����腐�S�5�Xendstream
+x��YY��6~���Sk1����[��h�i��KZ����p%y���E]�e��u�m`��$j��f8��{?L���\���SHI*������K�%���{7%q:�������i�'�����i�o�*?G�y��_^�o�H0��ٜ
+<}
�Ea�o�ZW�t��@�q)�L����W�W��&$�
�$>�����{���+#��ڕx�2�����_'��V�!,EO+��5�βx6g�z����Q�XE��,J����M,�?���,-ʆ������o��/���̉@T(Ш��nq��Ȫ_m V����($��AM%j��
�{40l��n{��]�5��<
��[���5*Ǥ�����teY��<�ަ}}G��N!�F��H-�r�a���!�?0�C%@\-�\[�O�*d��xlJP��7�gJY/�z[F�K�厈$@>V@
n	iI�
+�-�q<�	�h���D��@G%���"W�<�Q1�M]O�F�[G�
��:���!�=��6����(]f�6,��~��@�
��A#)2'�B�=�?�(u�_8�o(?*�����(�A�d��3E�P����1��h��&�G�'
������T�3����f�����VK�g�bDEOIcS]s���G
	B��>�
�V��ME��Uj������S��fe�z�Slå
dc
c�N���ρ�{�:�A�T`�є�N�L��r�:ۥ��-���:3dn�?]���_1��9��Lc�>���ھ��,9�H�H�ڼ5
��
E	 �y���4IߏA
!
��񟃘� �X�1]����un����q�0�S}|���҇��7M�:__��s�����5�Ӽ��S��'7��	V�
s���
V�A�k
Wps[!
n�fF�e}��E�M�I�6 ������d�3�+��?�&p�Fb�8�I»(��֖D��1�5�
��<��꜄�fsZ<��lM��	�� %QwD/v�E:€�w�|<_�9��9�nTSs��c���ޡ
�TV�%c3
3��]�j }ǩ�
+�N��
F�.M
�2�
+\�‚�Y��$b�<����
��Y�d[�w���1`�	ȡ�2i1�\X����
ee�q��h#���Y�G8���M���I!
�(+�Ia=bZ�E3���
��\����n
�����{�ݕzu��`8�I���8&���'֕ aA]O
*!`�YWCj��
+��Z�~_TfM���
@��\�˲�;�U��Z�����@W�>FdR>@ǃ�Q ��}R��yX6��l}Zl< ��e�#p=" �{�t�%Q�$�&i�{ݏnlj�:�Ё
S�ɻ0.���FTW�㉩`����=Y����L?�w�ꏣ�4

Gp1�ĸ_�|��H�����1� �U�C�6�ِ���@���p����rj峱�
+��i
k��,�à$d�=��˕
��R@���r-��+�#t�q�#��1��s
�.�i�ethr=|/�b����.-��r3,��ϯ2�r������
+r at c䳠��*����9�ԗ���^֧{�[��ogBLk��%Lwa�}e�a�w��
�LfzedZ<}�u��U�O�Y�d!��b�H�6���^^\��ޢe�vi��QT^l���>�uT����b�)MI��E���[���q
�
+endstream
 endobj
-9997 0 obj <<
+9957 0 obj <<
 /Type /Page
-/Contents 9998 0 R
-/Resources 9996 0 R
-/MediaBox [0 0 595.2756 841.8898]
+/Contents 9958 0 R
+/Resources 9956 0 R
+/MediaBox [0 0 595.276 841.89]
 /Parent 9965 0 R
-/Annots [ 10003 0 R ]
+/Annots [ 9955 0 R ]
 >> endobj
-10003 0 obj <<
+9955 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-9999 0 obj <<
-/D [9997 0 R /XYZ 90 757.9346 null]
+9959 0 obj <<
+/D [9957 0 R /XYZ 90 757.935 null]
 >> endobj
-10000 0 obj <<
-/D [9997 0 R /XYZ 90 733.028 null]
+9960 0 obj <<
+/D [9957 0 R /XYZ 90 733.028 null]
 >> endobj
-9623 0 obj <<
-/D [9997 0 R /XYZ 90 635.7621 null]
+9570 0 obj <<
+/D [9957 0 R /XYZ 90 642.262 null]
 >> endobj
-10001 0 obj <<
-/D [9997 0 R /XYZ 90 621.1918 null]
+9961 0 obj <<
+/D [9957 0 R /XYZ 90 628.277 null]
 >> endobj
-9624 0 obj <<
-/D [9997 0 R /XYZ 211.8424 387.521 null]
+9571 0 obj <<
+/D [9957 0 R /XYZ 90 543.961 null]
 >> endobj
-10002 0 obj <<
-/D [9997 0 R /XYZ 90 372.7963 null]
+9962 0 obj <<
+/D [9957 0 R /XYZ 90 529.975 null]
 >> endobj
-9625 0 obj <<
-/D [9997 0 R /XYZ 192.8535 97.2725 null]
+9572 0 obj <<
+/D [9957 0 R /XYZ 90 433.704 null]
 >> endobj
-9996 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9963 0 obj <<
+/D [9957 0 R /XYZ 90 419.719 null]
+>> endobj
+9573 0 obj <<
+/D [9957 0 R /XYZ 90 323.448 null]
+>> endobj
+9964 0 obj <<
+/D [9957 0 R /XYZ 90 309.463 null]
+>> endobj
+9574 0 obj <<
+/D [9957 0 R /XYZ 211.842 89.441 null]
+>> endobj
+9956 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10006 0 obj <<
-/Length 2274      
+9969 0 obj <<
+/Length 1955      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S+�z����I�4Ny890h���R�JRq�_�Yޗ\��9Z~�
�������
-�Y�RB!ø\�N7x����!��-<��	�|s��+���ru(9H�%tu���&q��������u�������i�r
�Y��}����]����u�l�T���q��������d_PD��a����ݼ�oU�w"�$V��|��W{��w71���.0"����S�\�7?����S=(_�Dv�E(CX
-�Y1Dpm��4�7�I�
�xC��v��;EIt��
ZNf�
x�&yQ1�>J� {x�۹�]�Gֶ���r���S�
Z!H�qh_+�����$
�-�W�6�u
~���0)*��$H��2�~7J�G��p�>C�I��$@�j�]	�C�3�0e
��엓�5�iiLM!��-��W"�uC�!Jbp�NJP�
���Q������o��,�}�2�Ԍ��z�R��V��� ���}�H���Z���m�߫��h��3�
݆Kq��e5�Jf��"<���N��
��P���.p�B�@�czI�a��C����a�n�X?�K
q��=�
-�7�Wl�-l<Ep�H1B��R��c�;ڗ 4d�HsN�\�
򰊱�X/��
���v+A|i��MH�Η"ܣa�a��J2�4���ˁ
ѶO5΃�
f�K0?��u�
Naf��P>�)F�W��"-�X�[)�Dǵ,�|*��p=o��j,��.a�%�+���U\&�j
n�X�BM�.��V�k�&�������pW���85A@���ӆ�O�n���!�y��y���sVM�
�Y6���
�H��U
iN\�����)̂"���
�<u3��B
�҂�zds�jȜ�7��2� ��

Y�j&]����a�B�������N�\0X�l�`-٠�;�9�����
�X�sʈ�HH�
��řcү�`��6[kV�ٚq��M��<
P6�v�?Y�_(}�� f at L���y��.<��f��O�\

�����̪���;(�
����!Ȟ��'�H)���S��EZ��2��1C���Q���U=HҺٓ��#��,v>] �
�[$�9R�-j�#+krAV�5m%����1��l��P aL���H�����m��n�h	
4��
2ś>�.���Y�$Y0��u���E�pڋ��,o�
'
�_ydC�i�T�=�a��
h�%al =+��F����
G�x6swg���OQ��j<�ͨ�Wh�1

�nי�
�pv�9V�Ћ�C�
]�"��u�;HK���-���p�N�dqj��k�:]
�Y7[pNG�4t��aZ f0y����%�vX���a}Bqh����z���0iۼ)�0��l�����$� ̠ �`}
-�"C�����

-���m$���9�`��f��I�AJ�WtY@ƭШ����E�F;W��7�}�醓�I�W!>f�Α&���%[D f
�!#�~‘���@�`aX{TsΪ���Y�-1��G �RG�q8��K���LՐ-#�[b$؏@8�W���^�d�
ٜ��k�y�-1�G 
��kČ���)"ؒ�{ds�o��>�J(��f�Y�
�X���g%�+��ci�I٤ՠ(/�90��va��m/`�
��z`3�}%�,�T�u��zXr{�ƽ���������S��Q���^�t�`tX�-���f�c�9�n�2u�&� 
-M&%���}��>�*hX�fWO>�3�7��z-٧O�逧�2~��Q�
�4����9#�@�P�?H7�إw�)ӎ�S���.�'�qH;�gę0
�%܉��;ԉL�l�4K�5����8L~�/�N��U�F�`���	"B7��w�����F\j�����qn&p+��V��OíviRQb�8}ܪ���~������{�B'��Т�N�[::��_����5_DD�m|<�4�L�7Ni�
<;Ѐ��󋇓�U�QLVYB	�0�W�>�t�%
�0�WWY��*;��_e[�O�����H�u��WYa&C	�7(��h��y��e��
"������*^��4N�^�
-k����$]�
/��a�U�g�
-=���NĶZ{|�AM"�������
��fp�%	�:�ꣾF	g�|oQ�S��&�V�uf�.~����}u�� ��wg6��jY�Y�����fAdA��1
����"��r
T=��Y���g�¶�F3*v�
�{>��������rtI�s����|�o�z1�28��m[��.�噖�A{�������4kO�y*g�Q��׎U�n
=endstream
+x��ZIs�6��W��J3�
�{k'�t�I[wzH2
Z�,���T����� W���(�
z�Ax����C���W��^]'Y�HRܮ�J$(	nW��!����`�g����b߽�S<���*⻟��".>���_�I8˳��
+<�6����k]��R]ƥ��H����p�����+��Ԓ��r{��-V��� #��c=kp���v��>�eK��
+19���<�/$�����f�O��?ڒx�^�YY�ǟ�L��݋�;�wY&�.��F���"�
�.NRm�ճ
+�Qi,UO�ʨ����\��`L��΀;���R�k���.�p�
ED^���ρ�p��n�a
�ެ���zhs��lL���tWyqDr��%��>�(
+[�`��%fw�N�\��"%�ᶾN���] ����ۙ��j_d��2��VǪ�k5*a�fR��/8^��� ��v��մ�����t��#��
�&)'������
����	v�Ba�p�)]H
��1����J;m�E�u|��9�w�v�< X"I�	&�O� �M?`p�5��M�ܘ5�-!�Ȧ�[����Km�g�q�B߯��ͩ����}���
��<1�j��]h�
+DI૞�1����r�]bO
��pB,��n_��S{��G����!)9
����K��VW�(o:B������	�aA�J�֌���6�nӦu¶cm
�4Y�ރ���w��jv��O��ڹ
����%��T_�t
��H��G ��(�O(Ba
(�o�4j
��i���|����*�?�o��|�d�@B`6�W��
>�F�D����t/���(�m����&�
�8-���F�s4VEX
����~�QPl���(j"$��b؈�\j�*�DHf�I��uP�h���&�F
x�d2��5ߖi^��w�~*�106�'T�0b��x$U�r5t�ae�p��Y�c(�j�_�_ꝱؙ	0��R�nn��p$N��]\<@�f��=�Z}�)r��c���'SA+-Ϫ
m��E��R�i7�̚��J at w��If���}jwL�`��BD1��{_SBG .!� ��+���B$
+��{C(v����\�[�n����%2�AK�E�¬-kH2�\�
+e8�^�m��N�y*�
`rP��
l�_(�A� üPc@Z6HB
Ӏ_á�?x���w�k=7�k�P�*�C.�m�A7eЋ �("tu	
`]Pt�ua�,���I�7�
�$�C^Cx�����Qc!	]|��ڏx�h\^���(���1��1E�A�u8�6��¼P
A������A��$G�(TgH�u_v&��T����^��-��?u�c
+��vL����$䗩}1\u��$�2q#��v�GڈC
m�m�_��[�NR��$����IF��16
Q M2&S��iLO�E�tݐ�(HH����#B�
�@�栅^
+�
+	9T�xH�f�IAD��S�񄈖� ���uRB�\���"�܆���ӓ���P�O
G�
ÅN�s�JX�?��V�G�����t�B.�W�%R��
+wx�
�+P����).� 
ЫOXoOoa�E,�@
�$<4��=!�Aw�
�׼n
���@�u'D����cc�
d1O�E��QOgy&ր
B��<"�_����%��&�!��l��{�������l�^w�9=���� ���l��9��9
�4
'�
���t��p�g�
G�w�6)6C�>y�FG@�|�஋=
+d� �P��B��?��
`
��ȧ�1ϹX�P�T�_�茘��XkP�E�<���
anx�oT�ߦ /	N�B��9I�^�b�
�ji��}���ŗs!f�e~��}�N�L��g�Egj��)$`~�L�E&l��7���V���f�/���ږtf�T�������-K�ϒ]���z�K�
��BG�I�fۼh�^n�{#4ބU�$�
+endstream
 endobj
-10005 0 obj <<
+9968 0 obj <<
 /Type /Page
-/Contents 10006 0 R
-/Resources 10004 0 R
-/MediaBox [0 0 595.2756 841.8898]
+/Contents 9969 0 R
+/Resources 9967 0 R
+/MediaBox [0 0 595.276 841.89]
 /Parent 9965 0 R
-/Annots [ 10011 0 R ]
+/Annots [ 9966 0 R ]
 >> endobj
-10011 0 obj <<
+9966 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10007 0 obj <<
-/D [10005 0 R /XYZ 90 757.9346 null]
->> endobj
-10008 0 obj <<
-/D [10005 0 R /XYZ 90 733.028 null]
+9970 0 obj <<
+/D [9968 0 R /XYZ 90 757.935 null]
 >> endobj
-9626 0 obj <<
-/D [10005 0 R /XYZ 211.8424 504.8621 null]
+9971 0 obj <<
+/D [9968 0 R /XYZ 90 733.028 null]
 >> endobj
-10009 0 obj <<
-/D [10005 0 R /XYZ 90 490.1374 null]
+9615 0 obj <<
+/D [9968 0 R /XYZ 192.853 466.919 null]
 >> endobj
-9627 0 obj <<
-/D [10005 0 R /XYZ 192.8535 216.671 null]
+9972 0 obj <<
+/D [9968 0 R /XYZ 90 450.89 null]
 >> endobj
-10010 0 obj <<
-/D [10005 0 R /XYZ 90 200.5665 null]
+9616 0 obj <<
+/D [9968 0 R /XYZ 211.842 218.338 null]
 >> endobj
-9628 0 obj <<
-/D [10005 0 R /XYZ 90 97.173 null]
+9973 0 obj <<
+/D [9968 0 R /XYZ 90 203.688 null]
 >> endobj
-10004 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9967 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10014 0 obj <<
-/Length 2075      
+9977 0 obj <<
+/Length 1889      
 /Filter /FlateDecode
 >>
 stream
-x��Y�o����𩕁1�o�zh�Ew��t7=M�b311��J��_�G��%�V23���!����{�4Yb�#K��J(����a���0��	�kX_	�t���Q��FZR��{hO�	J��n�1!q�Z�q�aEp�U�l�aEqR��{����/��ʪ�����IY��T��}�յ�j
L�f���sA�0�W��~Z�p׋4L'�?��4�i�өX>�FDk�<,8e�G��m���
��n�D��P���l�a�,�e��rJ|��no릲�&_��L6[�nT���lQ����ޖE�t�"�V<����͏Z
T�D *���i��IFZrP��@ ���Y�9�H�T,נ����^
Ȑ�Hr��)m���|��
�($)��_Ms�@���
񴓮�N&r&���NE���-+v~P���R���
Q&i�?f)8�)�K�bo뗤�
��jޝӓ�@�$z�ѹi�d @�ْ
-�I���+��$
�
�zH5��T#PΒ@�@L��oͱ����K�S�%Q�!z���%X!E�8��
����Ŋ��K���&�
OS4�t��K�Y��TSa�N�
I�0w��\Q�<A恡�����Q���Ӹ��
C��D�� "
1�s�*�o�c����k[l��1k�}�.���<�΂�k����72
�p���~�54a�ހ�D�
@�#@\~���g��f{�����ֱٛ���MQ6s861�T�*�,���@Bxw�C��&r�G����ȝx
��A��ur
�����	+>{\�f�͊&�h��
j�_
�J��*��501�Ǚ!�u�
#�v.+"�9���~�)�(��d�%�\
��V��h���c�DXc�&���b��ڋ�
Rxg�L��g�Ubl]�
Z�H$���(ݺ�L��x�"I:r�s<���q�t)�]	-��AG$�K�1��Y�Eٶ!%@W?�
-C�z5!��.��|B
��'t:Hs�s? `v0��fr"&�LnL$�ߞ��
��R��H�m�SE�2%e���X��iJp��6Mi�Ҿ�
߹A� �f�����_�o�ݰ�z[<��6�h
E�E�b�(Uo����� rܛ���1f�+	s�A*:ΐ��}of#|P�)��R�
��h��P��⦎�z(�po���Og��n·-�s;�'��7�M�_�
˺�]�r����O7�@�����;6��AD�Clމ�d����N������,�	HP���t�7�{jr�\�p���r-�#<���
[�u۪���u�n3T�O��m��#@K��scM?��]h��
-
�Ym��Qx
-�ŖyָB7.
�A+
^�VN1D%��8���z��V�aq<U��Q�^cg�]7vz|��2������
�o ��ո#�#��B��.��7^�!�7m#U�
��
�Ԅ'�/��Wi�Ē��
_y��� ��	�/n���v��3
���cK�m̑������C��!Ny���n��Ǻ_��
��V��7�F;7�.O�����i�U�>即��J
�!M�
�zHu�R��\J��R����I╺'�}>bN ��L�辶L��HYBR2fz�9a�e�w�0z��u�+@��&�мa
R!�T�k�s^�
(ط�W����f-�jHu=�(�T�^��c>P)�Փ}ۻˬE��.a��.#a��.
����3�8&����kp�K:��,4 p��C`�5�r����ðlb
��!���(�T���w>���C�V�-J�l�	�m����i��_�H�������[�%s����k�
v6|��|)���i��,R��#% ����oL���HG˞l���j.����;b��\~5�`�|��̈́ ����1r��9�&̣Q�Q��<�T*^�;W,3�b��˖�]�`џN0HD�����l�s�Lݯd�Պ���N�Q�p^q�(|v����=���u��+!���_�┅4p��;
-�v?V���� �
 �7c.MCEX56�_���F?���7�;�88k;9��o����������T�c�lss<�7�r1�\�9ǭ{��,#˳T"�!?������Np�>�kQ'!�:��(�rf�endstream
+x��YI��4����	RR��{�F\@��� �8
�V�⪲&�Y�h~=�K��t���8�v��~����.��7W_�_�~-Y��DR�o��$HP�g�ː���`��+�ô:�/V�e��WY�>���UZ=�ݍ�W$�buC��Ӻv�_�V���(�˸!K����wW_�_�yE�3
ˉ�P�D�9\�|��
ƿ
0bI
��C�)�o
�z���R�t�IG0$,�(CX
+'�.��ݿ[x����U4B����N��+'J�
T�6e���}��.���
ڃ�YQ�y�>��5���ovCJ��`�$����1���<���YtۍY�m�!3]&��8G��
�M�*3�\�{I��7-2/@�?z�/�����y]�fv����AT��Ȼ�,bZ�����@`R����i�K;"º�l���k�&"<�<w?��-��ѻBe��~
K]4n���|7yY��:�ګ�kzbF�
\v<���Ւ="$D/H���^Վ�nj� �a
#�9(��D�A��Yh�"c�J�F�a
��:J_��QG���n��-�"1�p�$3u����bŁ�4��CZ� xAEO�LM���J#©���\��"vQ�7�m�б�Dqus@�li3��=�f��˛U
.h�����bS
����Yƨ
l`\ݘ>���o�
l�H�g�R�8�}�.I�P
�ͣk��e��䢶Ie��-2Z���ʃV�3�
+B�zao�4�u
��e���{W�i��۳����ĈD����i.[���J׋���>���&��~F��y
�3�*p��j1�2>��\m�j��l�2��Op�θ �("
^�J1Ȯ��Y�%`-e�C
+���MY4�.L�a�_`����B%�8n'��"#l累
q`��&���6\4�SD �
��W/��x̟15������l��aA(�� �
� ��ǞNL$�!&��,ɓif��'ަ}̟�!�(�g�kB�R4�ג�	G�LӒ�)�e^�
'Y���l�c�
��'+
�ż�%��1Y�$������
�
"�a�P7��4���&��h��U@�Íh�v�܈�"np(F�H.���U�1�"�L�q� ��R�.ԫE�q3
���.�x����� 	凤�A����AP<� >� �?�@��{��A�%�Pz �x8�o�6{e?��L~pU�� ���
���A"j�	
[}F�J�!�Ęx
+9_����5Aj�ճ����\Z�h�
��֬�|�9��󭁉Qu���jQoED8�˹��x��. a,�	��#a";$����'�|�2Ʋ�AE��©�pj6���
鯞�
�J��3
ᓛ��1��-��D�L��\�4�Rr���3�uѝ?�,�%(,�&яS�8�yw�gU�p"Á�ig
M�I£GzP���3Q�
�	tx�L��
r<��x��x��xj���4�q*7'˴�J3��\�Ĺ�.v~�z"]
+���R,
\��j��X�֖x����c�4�T��G3 &�)�5��r���!���m�M0���
��u,3tTն��b��-�Nk�o|_`�L��ԯ�u�䳱cY�.�Aҡ���7{?/w�ʍ�m��^�!a�c���ƫ�gZ<S
�a�'�TU�2}�">2�+������7L<��Nw�̲ʯ?U �a�,.��r,���/t�>xtw�ؤ�r��Θ�7�����
��#0��bi�J#���M�Zm[���u��m�Q�G�L�M���v.V�
:c�����F�(�}�� ��X쟛 �೧�&y���w���u�|�t~��"��cZ��W�)}�R�{�{����
+E�)8��!
+U�K��{
t��
�
LS
E����9��ޞN'��Q[�c�ts{<��%�@�@
:���e�W(&@�[������
+endstream
 endobj
-10013 0 obj <<
+9976 0 obj <<
 /Type /Page
-/Contents 10014 0 R
-/Resources 10012 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10021 0 R
-/Annots [ 10020 0 R ]
+/Contents 9977 0 R
+/Resources 9975 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9965 0 R
+/Annots [ 9974 0 R ]
 >> endobj
-10020 0 obj <<
+9974 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10015 0 obj <<
-/D [10013 0 R /XYZ 90 757.9346 null]
+9978 0 obj <<
+/D [9976 0 R /XYZ 90 757.935 null]
 >> endobj
-10016 0 obj <<
-/D [10013 0 R /XYZ 90 733.028 null]
+9617 0 obj <<
+/D [9976 0 R /XYZ 192.853 580.2 null]
 >> endobj
-9629 0 obj <<
-/D [10013 0 R /XYZ 90 623.8069 null]
+9979 0 obj <<
+/D [9976 0 R /XYZ 90 564.096 null]
 >> endobj
-10017 0 obj <<
-/D [10013 0 R /XYZ 90 609.2366 null]
+9618 0 obj <<
+/D [9976 0 R /XYZ 90 460.702 null]
 >> endobj
-9630 0 obj <<
-/D [10013 0 R /XYZ 280.9426 403.4363 null]
+9980 0 obj <<
+/D [9976 0 R /XYZ 90 446.132 null]
 >> endobj
-10018 0 obj <<
-/D [10013 0 R /XYZ 90 386.7092 null]
+9619 0 obj <<
+/D [9976 0 R /XYZ 90 331.406 null]
 >> endobj
-1349 0 obj <<
-/D [10013 0 R /XYZ 90 240.237 null]
+9981 0 obj <<
+/D [9976 0 R /XYZ 90 316.836 null]
 >> endobj
-10019 0 obj <<
-/D [10013 0 R /XYZ 90 225.6667 null]
+9620 0 obj <<
+/D [9976 0 R /XYZ 280.943 111.036 null]
 >> endobj
-10012 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+9975 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10024 0 obj <<
-/Length 1909      
+9989 0 obj <<
+/Length 1302      
 /Filter /FlateDecode
 >>
 stream
-x��YKs�6��W��J3�7��4�4}��{J2
Z�$N%R%�8��� �8��2>X$W��b��>-���x{��f\z��
{;��jF��Kx�l�x=�z)����Tz��ƒ$HPB����9!��Œ`��oσ�ܼYP<O�p�7�F�i�>�V��
��I�XR���A�ُo�mX<
�u~!1gZ,>^�����C-w"�$&�f�?bo;z=Èi%�{���hM��SV]
f�f�~��
��p
-�P�yKA�O�vZ)�0Q>�KD1|r�Ni�1�=�JD$SE_|^��<J�l��#���R��Z|Dm=�B��(��O�h��0�|�ZE�����mn�tww
�|�VH
-Ȉ+�&��j���`(fH2��	�z�&
*��P
�y�5Q\���lr���m��+ ��H�7���Y�|e֦�DZ��(�7v�5
I��MAϯ��@��Y;��Y-+�ih���)9$��e���)ȣ�C�HΓԚl"H{�4^�%%
-_kH*�@����Q���z�
N�C�;��Af�9N�X
s?ݕo�^T��R�G��T�+��2���lC��<�
ʉA½��A91�|���;� �}k�n��̄�.
�Q���Y
�Qi}n�O���~O��~�p1ߗ7~>����� Ei���q
-� OҬ�FR��zX�Vgv0�f���&i�Ò��%���5��u��
o$��n�,�Z���.�m��Xࢇ�����l�
d��MB-ڦ�9���X�8:��0Ԅ�$�ܞ�fSr\`������C�8�]
Q� Zb
�;vW ����W"�C��Ǒ���l	ŀӒ=	�B��
��(�'w�)
�8:F�F�yfw��d|�02����8E
	VD�
)�8C(��Mѵ��(z2#
E�qSt'�ES>Jъ	�E�#��P4,:�+�tf��Ap�ah�9���`h�?dh��t�����Ub�3W�D̯[��,� �$��x�K�9�Z�ɪr�j��A�-'y�N	)7IH�9��I��$n��`>
-�
q��)�&,�6|aW�I�p.`�k�3�k�CR�q%�Q���A�����]��l��@Jj5�m�q��
"�Ԗ��0����)��\�����N����������1h'_Uxm��/5�ᡆ'W&ˇYH��h����.��Np�j<�L����t�Z|"σ(�t\�=��'3��� 7
w��FǣtL���
;[�@c`IF�_460]�#%9#�k�/�=��
�Ec��p�퉱Am6=6�&������=����`�
Zc��

�=vl�c���E!h�]zg���Qkn`.��
���J��K�i���Q)�ؗ���6\�AӤZ~��
��B5��!�q at k<���]%W�p7r(�/�{]A�mYޡ�b��u^ɛ�%̠)�R��>��Q|$Z &�(���8�QPn�br��q,=�h�ܲ��z���JF#j���5M;����|��
@Hq�o
~��f
Ic��*	G�4=S��+�V5�m#Y���S��|���g�m@��(��~���O`�����h���8��>�N���]^(5��Y�:�
r�yl��)r'�3
�@Ffwf�O���Y��bl`S���!H
\���>��6R����Q|���8 u�O��9�*��Z�WE�w'�����M�ʚfI4�>
� �?�)�
�^��-u at B
-��]�]�0���6�Q�NMH�D�k٭�s#
���F!�d1l0P~�k��ͿT����$��yQ�ma�9�_׈��˪�eه��,L�_1/a� �
�ۚO�U�f�V�P�
����.�M}��¦� ��o���K���
��7��J�ہ_��}��VWW���h���8:�(ʯN���@;�}=up��hK'�Lrkh�v,�
-Z�IZ�D��cPck;��m�0�� 6�,�endstream
+x��X�n�F}�W𩥀j�w�zK�$h����>��@�k�(o%����w�]�S���@S ����˙33������ɷ����,y�Jk�`y�r$A�kXw6!���`��)������fJ��F�G���}x���n>�>��N��
+l_G~Q��[���5���e\
+�y�������b�DŽ�f�"�&�A�*��}�V ��Y1ϵ������d}��2�G��
a):V!��0�}�LK� �$�
C�s?��4)���R
�

\?�n�}=X�����':�r\�%��Zӕ�ҳ���� G�G�Ξ��5#�����*L|��J��ԝ�K��{5��]��ȑC�zg��K��P�Zh���E�+J:��/�ri�nB!f�5
��8�\�?�1,F�q�$�6,�M���$�ÿ�d=P=W�&*+���
��Q� T����>ƀʏU��b��
+�a����
��EXЎ�;/�
��.�صh���7W�0��ս�
(V��v��Q�p�K��!o��Q`�"�r
����\��
A� x$���
��0�r`
?
+����7���r00 �&O�T�[�G��
���3�"v����`��^���УI.<�qz,�=����+-�L�4J׻Y���8���>�����zK��
+����
+����H����h� g�C�`$N�3�ti8�>MܞC/��Kp����R[r�
�}�97F��eJ��fzɀd�az����⛓��9j�3�B��
jo�p��
d����>������P#:1�����x�&��#Id2�Y��,�8+wShx�[�vݗ���׭N���&_����i�9�v���NezVZ�%��x�{�U�'��Pʼ9T���Q�J��T
�X�>�"UAů �g����3��e�==�T
�
��!�@w�Ne�_��*Ѫi9ݡ
n��W�g2���
���J�!��3�D���Juk�X����c�>�R�<^��L~3G‘�;�VɅX�e�
�R~�V]&.A�"���*
z
^��1pA��&�TA�!R���T��)�V�A��i�d
u�#�f_�u �q?���23��pc�Ց,%�����90I�
?d)�QR���
��Vu{s�B^�RsQ-��`t�
+X�?Ƕ�ٹ�"${���=�^~,�г��rb�qvB?������3�t�[�_��Ϡ4��s��ghL�����M�}�I?}krP��Z������G?��Q��|�D��o�0"��rE���03�N/����j�~�Ai���w�6�
�2�_]m�[�*�&	�
��U�EWO+]+���=������ L�a\��O��7��6�
+endstream
 endobj
-10023 0 obj <<
+9988 0 obj <<
 /Type /Page
-/Contents 10024 0 R
-/Resources 10022 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10021 0 R
-/Annots [ 10026 0 R 10027 0 R 10030 0 R 10031 0 R 10034 0 R ]
+/Contents 9989 0 R
+/Resources 9987 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9965 0 R
+/Annots [ 9982 0 R 9983 0 R 9986 0 R ]
 >> endobj
-10026 0 obj <<
+9982 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 665.5857 138.5077 676.4648]
+/Rect [88.007 358.813 138.508 369.692]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000001) >>
 >> endobj
-10027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 645.4961 314.5657 676.4648]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 329.6426 138.5077 340.5217]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000002) >>
->> endobj
-10031 0 obj <<
+9983 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 309.553 314.5657 340.5217]
+/Rect [123.594 338.724 314.566 369.692]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10034 0 obj <<
+9986 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10025 0 obj <<
-/D [10023 0 R /XYZ 90 757.9346 null]
->> endobj
-9670 0 obj <<
-/D [10023 0 R /XYZ 90 636.5297 null]
+9990 0 obj <<
+/D [9988 0 R /XYZ 90 757.935 null]
 >> endobj
-10028 0 obj <<
-/D [10023 0 R /XYZ 90 621.9594 null]
+9991 0 obj <<
+/D [9988 0 R /XYZ 90 733.028 null]
 >> endobj
-1350 0 obj <<
-/D [10023 0 R /XYZ 90 519.1886 null]
+1308 0 obj <<
+/D [9988 0 R /XYZ 90 592.061 null]
 >> endobj
-10029 0 obj <<
-/D [10023 0 R /XYZ 90 504.6183 null]
+9992 0 obj <<
+/D [9988 0 R /XYZ 90 577.49 null]
 >> endobj
-9671 0 obj <<
-/D [10023 0 R /XYZ 90 300.5866 null]
+9621 0 obj <<
+/D [9988 0 R /XYZ 90 329.757 null]
 >> endobj
-10032 0 obj <<
-/D [10023 0 R /XYZ 90 286.0163 null]
+9993 0 obj <<
+/D [9988 0 R /XYZ 90 315.187 null]
 >> endobj
-1351 0 obj <<
-/D [10023 0 R /XYZ 90 171.2903 null]
+1309 0 obj <<
+/D [9988 0 R /XYZ 90 212.416 null]
 >> endobj
-10033 0 obj <<
-/D [10023 0 R /XYZ 90 156.72 null]
+9994 0 obj <<
+/D [9988 0 R /XYZ 90 197.846 null]
 >> endobj
-10022 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+9987 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10037 0 obj <<
-/Length 1967      
+10000 0 obj <<
+/Length 1577      
 /Filter /FlateDecode
 >>
 stream
-x��YKs����W��U�Ѽ�9~��8�fW.
�
-"A	�` p�׻3 � �w�U>�t�iL?��
�`�#���
-�e�9,p���� ~y
��P�/w��o�H
2���n�� 	���n�Ӓ��jM0�˷+��iyH�߮(^���l[����eZ��ކ�WD/��jM^~�O��]��vY��
7�
��%3r��ݷ���:S�'�Ib
��⧟q���]`Č�3���C�ÂS���/�/�����b���	�+�4e$*��D+�
ֈ"��a�T��DD2��]V��a�<V�C'	�H1J�pߑ�N*�^�	VH&.�Y��t_eV��7�Ҍ"��V*߹�I�[wQ
�/�]��2wQf�y_�E���T���(���6vRRd�d���,5H	�ӿ��&;�y1ߘ�8��0�8wb֌���������>�ާ����
�QF#) r�����b�$��1wOe��b�l�7g� ����P*�G��!�N�*nӃ{��	�{
%�;Ìz!!P�)������N\����cd[�㚴ۖ��v�CT+8�u~��SZ���]��b�w�� L ����͊��d͔D�BB����S�SY��Қ������S�y�g�1�!���ߢN�u�/
�
z�劾
l]��6�X�Og�Pab�bp���Ϻ���/���0#�T�%Hk2��:i�lX��N��7i�mG�g@��;?�H) Ǻg�t�N�3䒮����}��L� [...]
-!�����
�B������vk���&����>�@����a�]w�p�笽�&Fp�l�6	��r`]��"��ڨV���rB(�Y��W�v��`��%��8�8�N�!?�����q$ט�s��Gn �k�
	����
�X6Fz������F�D�O1�oD:�˩��(�����k
P�Fc����T��C�YI}��������
CVg��lpnT��R�h�(.��
F?C������q6��q�X 5�1.��2L���%Q�s Z1�V��:�و\:ݑ1�N�gL��‹k��
-��M~:3�r#u����Pc���`�'*�l��uqj��^ck���-�ȥ�u�)��_pI��i�|�R3`.ք�)Դ_��PsF>�P�n�e��U�3���t����R=�j�j
���$W�1�B����
�8���Y�1�$Z�Ay������A!!��y�
��y�1mG.�W�3\9�$Ε�ؕb<�����ƋqO���c@�h�W����W��Qx�1��K�%��uH_����Ǝ�Z��(U�NU�!M#Զ!�|_]�#�g�9�!��V����\0.U|hI�����Q�_Sã�B����H� �)�5V���$*usk ���Y�shB|DӉu,���h{�V��prCF���+���.
�C�t�=
{UV�N?��C %i�r>^Eu�l��ڝ�^A��l���N�bi���A;��/f�}�5��бP�����]����d�

<�
�<�����
�LUJ}�Q�=$Խ�
-,��2��.h��uy@��q��]�E�al�����@&6}{]�"�Aj+s�L��u�춪�yU�7�Yvj`��@��4c;�X��;��}!���h-m��d��G6�a�0&����"�:�IR�o�R�,.�R��.4�ׄ���bi��ly�����~�Pe�WB,���H���O�,�|�[AO�M��T�^2�&22է
-^��^�������?���-.ގ��>?��������m*t>����鴿M�-�-5�
ܺ�ҋ<�)mwhˮ��t(ʬ�(�yH�_�l�1�/`��endstream
+x��X[��6~��ੵgbYw���m6��&ۧM��bl3��^���=B�F{���i� !�������
�^��Ln%�R�J�n�)��� A�w7� NGc�1
�
<
�u8{;�x���U</��O�C���<"�0�Fc*��&
��ܾ�q�.΢�2.Ő�`����������̰G�L��|&�h=����9���0��ޮ��8epM������
+��]����DDr3�W��xS%yVN�$�Q&�J�B� �XycMB�e5�N�l���1L��,,��u�UN�ɭ��J
�(��#ܭ�|D�pc����trK��s�������t���8Ri�T��4}����SM�0��A�qa�=aE��l�X��T��Cna��U���|�'Y��7a�<��
S_�	T����uToL��$�Par�p��I�{}�-�/��5J%LJN�Eqh�
�7���n,��몞IC��
+�

t��ʆmFK�
+u�YS,-}޽�L}�0p#����>�:Fa���ɯ� ���~������}i��%�b�z�L��6��ޤ��L��h;-:�~���N�� ��v�
@�	�Ɯ""���!XeE�Q�Z� x��D��p>�Ey�,�F�t�X`h++�x�y����Q�B>Z��I[
+ H�ƦӸ�
�r>/
 E�FOu��5�>��ރdE}�%
�NTy5	F��kP�!E�^�j�fΐ��G
�,���OaT��b�&.�@�s�!h#�c
�*��O
'��bK"Wr$��,��3:��%�ut��3�-Iz�R 
<����-�G��
��
�,����A�t�1O�)wIޠ��A�N8X?�VI���n� N@
pU��j�
���E�E��YU��$���L��d�_2)������h,��\�`�g�$K��_��*Zک
�Ȣ4��t�ӧ��#���щ��S!�

+�A��,M��c���
�n���A]}��$�j�խ%�
<)�eOI���Rܶ�*�
K at M��YsWo������[hp�V��;�=���B*ɖ�~DI�}�}�ަ�e��H)	:
^&X�.���δ+��rX���E��qO]0�?j�⸙�ۦƀ������
+�?A�<5A at H��=�?�A���g�`�2�ꗝ`ȿ� �ϸ199���#G.aa�XY�H�}�сo�gcǗ�
+��*^��d�`.�
v�3� Q��:��0�?���m���z�լ48s�
�R}4#�h�Q��2������8rX65i%q2vާi�b��
Q�O�>�OЋ����ʌ޲I�F�N�*\��Z$s9iQ��*.�g -���KNQo��y:+�i١�[��Mh-r���{�4��z%ہ��[�e7x�JR����˫��_�����[:�\z����ۖ~���~��
+	N

׹����KZ���]N�nb�������u����2����p��ԧ����0��Ű�~�w��6�c��њ�y����oGB
-��mh����Q��L#8ؾf�d�@
��k������h��Ǥ)f�
鱪��t2��v(*�6K6J��f�NNax�B@��˼h�%뼰5H2h\���X���XV
+endstream
 endobj
-10036 0 obj <<
+9999 0 obj <<
 /Type /Page
-/Contents 10037 0 R
-/Resources 10035 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10021 0 R
-/Annots [ 10039 0 R 10040 0 R 10044 0 R ]
+/Contents 10000 0 R
+/Resources 9998 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9965 0 R
+/Annots [ 9984 0 R 9985 0 R 9995 0 R 9996 0 R 9997 0 R ]
 >> endobj
-10039 0 obj <<
+9984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [88.007 665.586 138.508 676.465]
+/Subtype /Link
+/A << /S /GoTo /D (deprecated__deprecated000002) >>
+>> endobj
+9985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 645.496 314.566 676.465]
+/Subtype /Link
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+>> endobj
+9995 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 622.8624 138.5077 633.7415]
+/Rect [88.007 307.79 138.508 318.669]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000003) >>
 >> endobj
-10040 0 obj <<
+9996 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 602.7728 314.5657 633.7415]
+/Rect [123.594 287.7 314.566 318.669]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10044 0 obj <<
+9997 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10038 0 obj <<
-/D [10036 0 R /XYZ 90 757.9346 null]
+10001 0 obj <<
+/D [9999 0 R /XYZ 90 757.935 null]
 >> endobj
-9672 0 obj <<
-/D [10036 0 R /XYZ 90 594.2955 null]
+9622 0 obj <<
+/D [9999 0 R /XYZ 90 636.53 null]
 >> endobj
-10041 0 obj <<
-/D [10036 0 R /XYZ 90 579.8132 null]
+10002 0 obj <<
+/D [9999 0 R /XYZ 90 621.959 null]
 >> endobj
-9673 0 obj <<
-/D [10036 0 R /XYZ 90 422.8529 null]
+1310 0 obj <<
+/D [9999 0 R /XYZ 90 507.233 null]
 >> endobj
-10042 0 obj <<
-/D [10036 0 R /XYZ 90 408.3706 null]
+10003 0 obj <<
+/D [9999 0 R /XYZ 90 492.663 null]
 >> endobj
-1352 0 obj <<
-/D [10036 0 R /XYZ 90 194.34 null]
+9623 0 obj <<
+/D [9999 0 R /XYZ 90 278.734 null]
 >> endobj
-10043 0 obj <<
-/D [10036 0 R /XYZ 90 179.8577 null]
+10004 0 obj <<
+/D [9999 0 R /XYZ 90 264.163 null]
 >> endobj
-10035 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F97 1822 0 R /F25 344 0 R >>
+9624 0 obj <<
+/D [9999 0 R /XYZ 90 105.736 null]
+>> endobj
+9998 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10047 0 obj <<
-/Length 1979      
+10010 0 obj <<
+/Length 1317      
 /Filter /FlateDecode
 >>
 stream
-x��Y[s�~ׯ�S+�D0� ���&��mrz�;yH2
Z�lN%Q%��(��
$A��
����!q��X|��-D���R�
-i��r{X��#|�͂��x���p���Z��FZR����$A���K~\�8]o�x�~M�*.���5ū|yJ�"��K�P������zM�U~\o���w��,��C�K�g�q��^pD��V��]|u׺�v"�$��.~�/�ѷ
�����>`D���ÂS�|�/>.����B��+�"�HP*�HA�p�!"
�H#��Z**�,���*-���>	�H1J���Ɓ�#����<OVH&:�ƕm9�N$�l�zg��[ԷJ1�zh�]~����οzJ�b�˪�U�$���9�����	�I�&N,(*/e�
�:�M(������^TsD��K��OpxVJ��� ��TOYiez;�
i��B�07���"Ii42_jd2�H(���~٦�*�MO�+d{_#'��jŌe���f�5ǫO�>K����|H���)
!) �f�J���3$�{��=����3� �h�,� 1�� 6 eR��	��$�����^23H#��j����� [...]
-���
-}J��ʋQW`�!!5�C¦�w��-�l(mr�0ź��!�
	y�shLF�5|��Zɽ��e�O�{�W�C����M�XtȎ�!��E�',�����^���Z�Z2
����g�:Rm!$P
6�G3f ���qf�$W�+T�qA���#If
G�����a�:���o/���6
�
kӝWv|
x\��y_M�>�H��KMwh,sK�>��P'V�-��o�փ��3�w�LC}
NAE
23w���²�8 킁t�I��SuY���/��cu%���tt�h
-M_@�I��\�~�)P#u�a��#�C�a~훼��87��
��@vB����1�

�y�N)��$/�S����o�nM����K"v���
:�"���I�I��
4�^L`�{
=��HG�G΄�yϙ���
=��O�g�+��a�KMÔI��Z��0�;�]
-�4Vg=�0:r!̨[���1B]�1��,χ�屌wO`�l�]<��qҾ
8a�"���C %i�r>��Dy�nӲܝ��@a�IM�������t{�����v�w��kP�X U��2ޥMNR(��iv��BF#h'
��	�E�pwx�JGn�^0���'8�Y
��m�����A�:�]1>�������q�;k{� '� ���8ϒ�#�0��
�M���jb�4��G�k��'EDS���[$���43Ey3�qvcPx�?	��T����>m�oO�f�x�/�+=pyH�����:;�#��}�bb��\UB�7��$`�w�~��\Y�	�w�&�&
$Q&@�
-�󥦫�)ڑ��EsHȁ��6�$��Z��ԇ��P��o��[
�4�
�N\�����w�C�W��$���!FbB�+�f �A��資���9x
���W#��ab6"�01r&<L��_&
��w�_ ��ڒV���Q�L�E�(D"��)�֦������Y�y͘��5���hR�<�R;��D�cr6�Q�/�
���	�
�C1���S܊�0G���ON���@�߯
�`��T1����M?m׿���S?[$@������]�7C��Z�cC��GǸ쇿�i���+W]����dTA�k	*��m�z�*��
-��
�}��e��s������Fs���v������N�77���h[��1;(�nN��͈0��lh���mZ��/��3`�JÀ���3�W�N�E��w����ߏ d�a�����endstream
+x��Xێ�6}�W評��ˋ(�~KӤh���]}H�+�k��U��_ߡDɒ�k�n�
X�!93gx�Pغ����������,��G=k���|� N����w6!ȥΜ`��k�`[��\];�y�ߨ�����])��b1|���3gN9�_&�����V�;��
+�e��m&��~�f�j9�cF�3l���#�q+Lg��c+��o,���]c�Z.e�X���g�dT�!��AT�!څ�A��Ǒ3w��@
E�6�p&*Z�yVե�����R�7�����j�c����Ƴ�}U��������H\�|����:�Z�Q��� ck�ֆ�͜S��
k�ȣnk�"�
J�F���83+�.���F
�noR�u�A������E31
FK( I�bv�A����7�1��\<���]\o�m�.��Y�������RUۤ�yFMwU8AeN=]o�ϑ�vSh2U�*��h�a�Q� �X pœ
3>1N=�����!���3�P�*�_
��
� 0$z���g��b�r=z�yg���8�R��v��Oc�0C�cP_�������*,P��bѹ�L2���,﷩�N�,8:`�ܔ�C��
+B��c{H��K�ƀO���,:2���i\�n��,���B�y����q�i!k�K�ۼl#�bHPioyuN�
�ycz�f��OC�b F����,uqd@�����M%3>gɾ�aܦM���:�
D�܄�<�3�R�3
I1�"�"� �=�ۢ[�چ����61
����JG�U�4/KUoK3
+���w;
�O��
$$ m.ARɵJ��l�\���l�),�W>a E�5gF���

�}��|�5+�畡]s~ШCcqL�N�A8=�UsqN�	�H0���ˎ?�&�c�}���`[�w���WOR�sJ��)G|q��I�Ք+�s���I��Q-mǸ
��i�mӖu{)^
ü4YV�={�j�����e{���6V
r�Gm�H_��$9��\�.)ld���7@'K��{|��}J������\�ўx�{s�yZ;�*́S�*z�MɭRf���]S�/���1�U�1���]Z$JW�l����S�JY��x�wU~R���λ#�g^�/doT����
+�&��s�O�@�E$�\��|����:�0򩸀��Ϣ>u�/|� ����'S/ w��~1m���#�V��|)� �ܝ�s����jn;�mo
˶7�T�����69�Af[�
��
+���
+��W����3Z��.���nuW߷[��4�p�= ���bqu���PX�m%�뫢H�
��a �=Lk-�
������i�q@�u��
+endstream
 endobj
-10046 0 obj <<
+10009 0 obj <<
 /Type /Page
-/Contents 10047 0 R
-/Resources 10045 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10021 0 R
-/Annots [ 10049 0 R 10050 0 R 10052 0 R 10053 0 R 10055 0 R ]
+/Contents 10010 0 R
+/Resources 10008 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 9965 0 R
+/Annots [ 10005 0 R 10006 0 R 10007 0 R ]
 >> endobj
-10049 0 obj <<
+10005 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 622.1155 138.5077 632.9946]
+/Rect [88.007 289.299 138.508 300.178]
 /Subtype /Link
 /A << /S /GoTo /D (deprecated__deprecated000004) >>
 >> endobj
-10050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 602.0259 314.5657 632.9946]
-/Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
->> endobj
-10052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 302.9671 138.5077 313.8462]
-/Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000005) >>
->> endobj
-10053 0 obj <<
+10006 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 282.8775 314.5657 313.8462]
+/Rect [123.594 269.209 314.566 300.178]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10055 0 obj <<
+10007 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10048 0 obj <<
-/D [10046 0 R /XYZ 90 757.9346 null]
+10011 0 obj <<
+/D [10009 0 R /XYZ 90 757.935 null]
 >> endobj
-1353 0 obj <<
-/D [10046 0 R /XYZ 90 593.1751 null]
+10012 0 obj <<
+/D [10009 0 R /XYZ 90 733.028 null]
 >> endobj
-10051 0 obj <<
-/D [10046 0 R /XYZ 90 578.6256 null]
+1311 0 obj <<
+/D [10009 0 R /XYZ 90 522.546 null]
 >> endobj
-9674 0 obj <<
-/D [10046 0 R /XYZ 90 274.0267 null]
+10013 0 obj <<
+/D [10009 0 R /XYZ 90 507.976 null]
 >> endobj
-10054 0 obj <<
-/D [10046 0 R /XYZ 90 259.4772 null]
+1312 0 obj <<
+/D [10009 0 R /XYZ 90 260.243 null]
 >> endobj
-9675 0 obj <<
-/D [10046 0 R /XYZ 90 89.4414 null]
+10014 0 obj <<
+/D [10009 0 R /XYZ 90 245.672 null]
 >> endobj
-10045 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+10008 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10058 0 obj <<
-/Length 1944      
+10020 0 obj <<
+/Length 1469      
 /Filter /FlateDecode
 >>
 stream
-x��ZKs���Wh�J3!��û6M2M���Ɲ.Ҍ�a�S�TI*���s �ߺ��"3�x!�8��pp
�!M�����
-��zwX����fE�t�QW�w����Xd$��G��$HPB�wɏB�ۈ`�7�o����R����g���w�C�����-ћ<�FT�͗��,��G�h���v� bÌ��t��꫻j؉`�8��Y��^'��oW��X��F��>�8e��~�����:��`� ��O�eK�.A
Q��3K�&�H�9F����侶�������f���� �I��/,�7ͽ��Y
6#�~8��=�V����ڨ�>8C��9駲�mU#-d#*I-#hG&	E9(WHRν��$
p�l�Aw
�:͂�.(C'0��)$
q.t�򁚲���qZ5�����f	�H2���b6�#�I#S=�S�D
����KZ=秪V~H���/͞�
[���33z��֒�
�6廍Pԕ��6�kI���x��KロlQ��L�b�Li��Hz
H�d����{ډ�dy���Xk�(�3AZ�Fn:v���
�(D�Mک	����;x��0Bh18��WE�[k���:���v
����	i�C1GBSy�C;R

JA��������
�4ϖ�sB��wQ�xg#�`�Ur{
���}������`�j�h$]9Y�H+5�w � 9����ȷTl^��B�ޤSy��gѦ�78!�Bgd�
q�L��e�_�2�'MPą��W�1��O�(�v��W���Oэ�E'��`�\��wu��6u�f(�翀H��/������P��ٷ�BD�f� �u�ñ:�Cg2?�)��:�l��%w�ꕛ��
-��-G�@�q6���U�`�GANa�9nŃ�5GZ1ӧ�<ͪr6$Я�<Е��B�T�,��pDž�D���d���F��l�@+�
F�3���
�=
|~r����qU���
<��q�>>u��!"��r�X�&O�<�(O��-���>((j4֙�I�q�,lu*ƒ�E��;��'�w�5�d�^ԕ�݇��ز��%�
*��`
U�V�8,9�O�U �yP5D�g��K$�C���eݪ�S�
��O��
]��5"
��H,�L�	&H��7L�
�t\���7m�⾎f��Zq~�
�_3��������l��X#F�XNX]���š`��=��.�|�Z`.��/�j�~���bN�c�/�T9�XS�-W�}��g�5�>NZ2L��nKʬ���2B��
ܕ�70�i)�z�) 
�
!�f��ؕ�eq���e�u�w�i�2Ϫ8ͮ5�unw��t�_je�)ҩ�HcI߿��s1���b�.֑Zp1f\
�On>��/��Ō{5b��|,Z��|��L7=0�5��L5�K� �b������wy��D�}V���p�:�à���
p� ���D*Du�3��f�
 �-�Y݂8+�-���-H-޴ Qn��J
y	a�̔�3���y�_�
���S���M
!#DT�������J9����
7�l2
-S�� ���+�”q��q��
w6�t���дb�]��#l��q�FA���������oye�1�?>
��e��n�&i��ǎ�v��CB��Q+ue��ڂ4�q(m��lrt�ɡ�����~�3���?"\ms U)Mޡ����7���?~0�ћ762���
-��J��2""�Ood�_��X�$�i�~M��n���Z0/6@��xU3�~��C
�,�����,����
UNw0]��}|y������`��0h!R�7}7��* 5��!ݓ#+��w�D�L?8ܮ��˦�՗����(m��� FZ_�5�Nq�T]���-��� �����P&h
Ua��g�z���f��>���M���v����sU
oon^^^ЮD�,=(�n���͈��L��?,
\�
-���,ϴD� ��byl���qM�y�,j�B�
���
ƨ+Zendstream
+x��YY��6~���S+5�S���44���E���J�-T�+�q�_ߡHɒ��:��A�DQ�p8���g�����|��r2�s��#ߡ��\[>�\� A����76!���`��S��H���)�v�
�2*�Տ�}�Ţ;=%��g��~�e����Z��dJ�˸#l��������r�ׄ�f�"�&�E.V�N޼�V�/,���Y�zUjq��X�'�N��~�v��0�K
D
�o���P�8��E��P���
�C.���)!�����8�rl�
�8Z�f�ʬ�	��	ܵ�@>����ȧT���ߎ�j���v�	�n�c�9]�8�=Ҭ��q���f�T�mY4"�们Y��ޞR�N�*��I�9��,��]PM�>������Q
*��3%ٚQ�A��%'�6�v40fϱ3��C]#�c6�>��
+ ؄���fq�c^]nAeF@�,9���>��E���m��K��{�/
�Vˆ��� 
+��&;������r��,���
P�'���mЁ�X�j_��Z�V�>Q��
!��(��
)��T�P�
ɲ��P8�
�G�p�1����a�ŕø��'w ������^Ki�u���z?����WR����f��t�H����u�h=X��NA�eOQP g��
PF*EDx
pE
Qa��2f
G�+��],�(Zmd��$	 
�C�8���L=o֬t⾣_�J���_�
�p�3�O��r��
�s�+AF|�@ͥ�}
j �I)�`�����a���LO֞���
��U���tcy�j�'������q첱IG�����9r�O�k���>��\T�Q�!����ҧ�q��? w�
Y�J9�2�R�E(���&�TV�xO������Tf�c�{��|qVr�g����15:�I�G�f-$��^�䔝�n{({ԓԇ(��
H�2�k.;�A�P.z���l��l�|��� U�k�����\��s7@H^�ů���L	%�Q���A�	��2AM�LP�N&���`�����%�
Y^u����^���|��rcb�#��}��8��Q�e>r1L���9cZ��N��\9��쳮g(t~�e��
�^��Q"�)�=ƣ��
��}	�2��}
�1�Q8�ǣ]կ�Q�CвOΣ�3מ����8q�x�;@]�-�ρ���h|)](�=��`l3$
���2T?��~��1Fb��ch��B�_h����Z3M�����p|dcf�4fޫ��>�AQ�������ЪTRi۔������	��!_#L�G܇��@?:�����U�E BU*]�Z�.��[��7W�M}���
�.+�����}P�QL��]@�%�>/U��5�M��W���R_O���	
+�}`�
+*\�)QP��]A���
+I�.
+��Ԃ����jF?LjK�����Ĺ۪�-������xW����v��
#OR���:l�Tyi^�&a2�ۙgN�}ܓ�
+endstream
 endobj
-10057 0 obj <<
+10019 0 obj <<
 /Type /Page
-/Contents 10058 0 R
-/Resources 10056 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10021 0 R
-/Annots [ 10062 0 R 10063 0 R 10065 0 R ]
+/Contents 10020 0 R
+/Resources 10018 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10025 0 R
+/Annots [ 10015 0 R 10016 0 R 10017 0 R ]
 >> endobj
-10062 0 obj <<
+10015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 267.0344 138.5077 277.9136]
+/Rect [88.007 608.026 138.508 618.905]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000006) >>
+/A << /S /GoTo /D (deprecated__deprecated000005) >>
 >> endobj
-10063 0 obj <<
+10016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 246.9449 314.5657 277.9136]
+/Rect [123.594 587.937 314.566 618.905]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10065 0 obj <<
+10017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10059 0 obj <<
-/D [10057 0 R /XYZ 90 757.9346 null]
+10021 0 obj <<
+/D [10019 0 R /XYZ 90 757.935 null]
 >> endobj
-10060 0 obj <<
-/D [10057 0 R /XYZ 90 733.028 null]
+9664 0 obj <<
+/D [10019 0 R /XYZ 90 578.97 null]
 >> endobj
-1354 0 obj <<
-/D [10057 0 R /XYZ 90 511.3958 null]
+10022 0 obj <<
+/D [10019 0 R /XYZ 90 564.4 null]
 >> endobj
-10061 0 obj <<
-/D [10057 0 R /XYZ 90 496.8617 null]
+9665 0 obj <<
+/D [10019 0 R /XYZ 90 394.017 null]
 >> endobj
-1355 0 obj <<
-/D [10057 0 R /XYZ 90 238.1797 null]
+10023 0 obj <<
+/D [10019 0 R /XYZ 90 379.447 null]
 >> endobj
-10064 0 obj <<
-/D [10057 0 R /XYZ 90 223.6456 null]
+1313 0 obj <<
+/D [10019 0 R /XYZ 90 151.505 null]
 >> endobj
-10056 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+10024 0 obj <<
+/D [10019 0 R /XYZ 90 136.935 null]
+>> endobj
+10018 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10068 0 obj <<
-/Length 1964      
+10033 0 obj <<
+/Length 1488      
 /Filter /FlateDecode
 >>
 stream
-x��YM����W��@��H�}�lv�l�&3
�04��bK�$O���S)��(y�w� ��M[��c��^M"
$R8�\"�b�N+
=�׿]�x
Ϸ���Vw�

)��þ� ���!��&�t�%���
��:���6����AgU�����J���{��
I�e��R���
Ӻ���z��g��i�
@��)�����껇
�[	g���\}���
V��
-#�
����R4:�bʺ�Շ�_z?�A�B( 1�`$�E[N��\��0I$�
D1���K˜�HR��`I������&/��~�F�)����w�M>�[OQ(� X"I�z50�&��ϋM�ן�c�=���夋fJ%Hp�H�Lg5é�b��� �á*7��_ ? ���ޠ������qCܾ�w��5�bc�{֦9䵵``��J$�(-��J���w6�!7D!
ٹ���ޔ��X>�n�bW��i�?
�Gt]V�$�!�5��ָ����J�N��R��֣����Ģu at c
�����8���le�t���ΩO���M��AsУA�Z7�d����օ�Ҧ��  "$�	̿��#@E��Ȁ6\��
�\��Cڛ�`é�1��A��e^45'w�H�x�
<�y.
�beg��A����x�'����<00
bG��=x�o�@j�W;f��Z�2�!�ic������K�4�_m�d@{@�K[
�}�]Υ����v��������h��UǠ�{X��R�Mv��W��>1� [...]
��e�X�����������)��v9�r%f�6���]��%Cl�U�8	�xV)n�D�Ɩ��2#	,
�I�ޕ��x�/��N�͆�`��>
$&
c
U>�.��4e@�	��V��@;wsYL�)�ʏG�m�U�e�4�'gai7�5G�
-�F�pTt�,_�eڕ4�{&%��'�6��b�KcSv��k,*�o5/��PHBg����==�FW��7	��@@.�{3/?�
�![}� �vV�iG�ǡz�Rp0�C�`��6�V��O� �����P�&ntF���A��]1t�1"���vg
bfw:��5F��6F0��h �o��)��1g�+ІD8��'���e�#P�)�wF����6���z�
-��@N�{�|�iK�8����s�T
C���I�JP��	��_��`��;3��
Dw`�9J/M��u͈�+�6ຩ�,ߙLʹ��X�՜a��Oe	4��v
3Q�G���S^���ں��z@�=�����\~�7�0�J(��c^
�B
-)��?
-g��~��������ߝ
�l����k�}96��C�@2Iز��V��C�%��-����l;��Y���;�郺ӛ����֡�*��L���];b�`�&�kV�}0�C���J�
��[��[-8&�eN߿�
X��IX�{�[�����d�p6��kU`DJ'T,o�o5�ED�$��`���g�"�=���J�ň\K�	�p	6 �s	����?�`�g�܁QFg/�~ԝ��	S(��$���wz��;=�Ewzf�-{�N�7[����ލ�G>��wzK����-�`ꭿ��������.~ү���"1e)�
-P-�;��1��w�	L��>v���z�᯵�~��|�����b����t��+(�}��T�Ȑ
��aI�0@��?�n���:���]Iv]�įY�i��ww///hW�K��+�7w���n�'�6b��6n�M�
"��
-U{WŲ�8�TVn'��<�}��1j����endstream
+x��Xَ�6}�W詵���E��4M��[���C�D{�j�$g�~}/ɒ��th�I���n��cbg�`������ǜ�
����	��{qJ�u�|��\�X����๨2�y��x^��kWb�C��Du\���$��bI9��HE]��;��zN摄s����������z�猀e�!��#�q'�f>b'��o
�X87zU渔�3u��~�a��ջ D��O=D<�x�N6����z��h��^��K���Y�sj��DZK���ǽ��"�p�^���"�͠�ӣ�S͵4�Jև���6f2+������}[r�p8�q�O۔�L6��w:'���
}y�-a(`A��"oD��#��2��h����͛$M�hk׊8�6TM1:�>֍�l
w�g�{�ڏ
1
+�ߚ�;�̬d�Ea@�5�uROd�2vk��	�Q����H�MR�L���
Q7�j��
�?�4�7��2�7w�)�(�����XP>���U%��
���#d�B��H赋�ϡ�>k�짎�p�
�����B��EZ��$��������-*�a�@�j�R�
)�.��A`�)��	j�3�&���!���=D�����<�N��Їo��a(�
&`�1�
&�
"��h�
D�
ʋ�o����Vq��N^�n��50/��P�E�75A at Q��=��9�\�<���,MO�D#�[05tnS若[�684�<7��S�Ȗ�G��]V�R�P(xI�[�s�KLg`K%c	�@��o�\��2b�Bۙ�E�(ԥ��G�V���c��xs*�
��&K�$K���cM���9~�.߼��WƝ�� ?�ݰG���X�����9"���x�v��q|�� e��!��%�\����5%B��ٓ7�g�6oI��Tw�.
+����G�%���%�����Y��T[m��h��\J!x��=:K�Y?Z>�W< Z�8��d��M����1�ᣥy"�E�/_jё�"�R�:��_g}F:�>��7�Ua�
Z��NV;�&
+F�%p5u}�J#�!�?���Dn[�)q�}*�>�����L��~�>D����!���5Ry�򅰓�jxv�ʍz��N��e��	D��k��m/�e� + �
ǼvY�h?^�/F��(��*�O*�E���*8*�}uPwS�:�iy
/��
����,j�����2�#�hR %�/	`=>���������yT����K���M
��-���
+cl�U1�iO
O�h����B7�2T~뛤�G
����iU5���"jR�
+�$k(a���ʣY)�~��c�5�T�w-6i{�I��:� ;��<r&;��Ml]��z������՗�`��H`��9�
�l{��@l�(6?-�͏_kY}��С��E~�RQ!��:
+��QFP��L�B�ն'�3��ᴣ�����C:���)WWW777(��!O�
+%�UY�W�Y9�B���p�k�VT���2�\z�� ���l
+endstream
 endobj
-10067 0 obj <<
+10032 0 obj <<
 /Type /Page
-/Contents 10068 0 R
-/Resources 10066 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10021 0 R
-/Annots [ 10070 0 R 10071 0 R 10074 0 R 10075 0 R 10076 0 R ]
+/Contents 10033 0 R
+/Resources 10031 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10025 0 R
+/Annots [ 10026 0 R 10027 0 R 10028 0 R 10029 0 R 10030 0 R ]
 >> endobj
-10070 0 obj <<
+10026 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 596.0711 138.5077 606.9502]
+/Rect [88.007 566.629 138.508 577.508]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000007) >>
+/A << /S /GoTo /D (deprecated__deprecated000006) >>
 >> endobj
-10071 0 obj <<
+10027 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 575.9815 314.5657 606.9502]
+/Rect [123.594 546.539 314.566 577.508]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10074 0 obj <<
+10028 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 136.8597 138.5077 147.7388]
+/Rect [88.007 235.637 138.508 246.516]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000008) >>
+/A << /S /GoTo /D (deprecated__deprecated000007) >>
 >> endobj
-10075 0 obj <<
+10029 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 116.7701 314.5657 147.7388]
+/Rect [123.594 215.547 314.566 246.516]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10076 0 obj <<
+10030 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10069 0 obj <<
-/D [10067 0 R /XYZ 90 757.9346 null]
->> endobj
-9676 0 obj <<
-/D [10067 0 R /XYZ 90 567.0151 null]
+10034 0 obj <<
+/D [10032 0 R /XYZ 90 757.935 null]
 >> endobj
-10072 0 obj <<
-/D [10067 0 R /XYZ 90 552.4448 null]
+1314 0 obj <<
+/D [10032 0 R /XYZ 90 537.706 null]
 >> endobj
-1356 0 obj <<
-/D [10067 0 R /XYZ 90 382.0622 null]
+10035 0 obj <<
+/D [10032 0 R /XYZ 90 523.16 null]
 >> endobj
-10073 0 obj <<
-/D [10067 0 R /XYZ 90 367.4919 null]
+9666 0 obj <<
+/D [10032 0 R /XYZ 90 206.714 null]
 >> endobj
-9677 0 obj <<
-/D [10067 0 R /XYZ 90 107.8037 null]
+10036 0 obj <<
+/D [10032 0 R /XYZ 90 192.168 null]
 >> endobj
-10066 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+10031 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F95 1779 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10079 0 obj <<
-/Length 1901      
+10042 0 obj <<
+/Length 1486      
 /Filter /FlateDecode
 >>
 stream
-x��Y[��6~���S�g�VW���M�N�i��>�k�)p6�_�#$0o.�t��}X@��w>���G�
-/��H1
,7�^���o�.������Y\}
��B*���f��$(�˛��G�t����|E���h�|E�Wd�$.���m�����+zE�����,�*s�"�&�Z�o�

�x���ų��T�`ц��x�/c��FL�by7��r���7����n�м�
-� �1�
�@�SDC�ذ��a)�x�8����(��&,��M���M�ߕG
�J���A��4F��~ډ�_>Tu�7�L�_}�d���!�n�7w�8J�������CPHI`�^�y���k#(hO�'4D"��$
-(��_ı���z�����̓4w(V
-q�����N
-@X�A]:�%䙨�G�
�8R!T��e�:U1��V�	N��n�Q�]�q����J$+"��Ѧ�
̃29�I��u��wk"��`
��ѸuB�0	�2�1g�B~_jZ��B%�+P�04��
-��I����X?�A��Ӏ�!��ԒQ	K$��Ӯ�J��:P�/�򿓚�
d�P����P�M�Yh�af��]���
- at c'1Z�
B�mm��,�Cj��>z�S&]
��.���䞄frKA�1,��n�C��\^����:��LV�������k��ei��ʻ���"�@C�\0:��%#�`(`pݷ�fW+h��\g�i�)�pxQ���*a.���؅�0)#�@��֠�L��q
-1� �~�o��!���,��{Ŷ���վg�)�t�2�� �0DT�vL�y���ܢgd��P`��2���t�3��m�<I����l�EǺȊ��p�'V����u��F����#A$�o�������P0��ߴeQ����������[���6W'v�.�yG3l$̔�:7+�.�͊T��&x����ugy�&�.j�e�
ǃQ��jE�#�*��D���̬4I��-BEv�L�ci�l�C��x��D*���ˈa�V�6�,
�IUC�r?X 
�Xs�&�>ǚ�C����ۢ�t�0����`b�)��d���>�˶лF.
:2�oF�
�F��0�C��"Np� '�����TǬ>KG8�wX�Cf_�<drFpv����� �
#��~�˩z'�Ĵ�m�U�#�`#�a;��T�)���‚��X[g$��,�m��� 3	�ru����·��E 0}'.�P?�
n��J]"�s��x�X����u�X<�G
.��'5�WR\�G�x�򹤎�8��V����lDN\~b���������l�B�c]��=֗:�cT܄�������`�l����?��;�f����$����'��
����]ѯ+[0>��4��ݝ���+�r��G�͍��h—��'U�פb:0=sϗ^���kŴ�/�d:�9L�Q���J_R>ڳ9���T�IK�F$�������6�3�����('��jH�ϖ��I]�`����y�����y�d�O���;T�
-��F�d}�O��!Q��f[}dl��ۧ�e�i����P�p���G��9:�Q�P5<�Z�\�������
��~������r8"!;�-�3as�&�L��`�1�V�Y��j�s:�m=����4%��;T� ��7wl�ޏ:���
ǖ��cߒ>o�':o�
�����h��B�7�/�1�s�f$:9$r|�
-	��0�A

��>�6_���@
�O �6�ϰ����sM"4����̭�@s�Q~�³��c��a{���Sp70�T�Qɞ�
�J��$r ��Dz����g���{��-���d_���WW���hS�c�
J��W�Cv5`���Ts��;��-�ȳ0 at R`�mٶL|_�Ք��p���I	��s��7=��vendstream
+x��X�r�6}�W�f"W^�q��4q�NF���)o%�8��wA�IӶ�z�����rwq���s�`��w���ǜ�
��ˍb���8��s��8�/��}7'ؕU&����E�ߪ���_��JV�ժ{N���
*��&�um���F��T
)�˸'\�����O����f<�i=>�p�lv�	;1�������s���
N��·�3l���F�c���C��&·_"U6I�׫։���E(z&H�|
:
��0&�&^��|α�Y�I����.Sy30����i�B
+Z
�۪�S��B�n�ѯ./h�{ΐ'X��G�������(
f�mR�9�OSa�w�d
O�!>����f�A�h�R��8��kH�"ɣ"+e�\��<d�-6� ��f����
�}I���܅��ukA� Q߇9.�=�a�.?�g XVE	l�Q��T;�D}}�M��&��J���šh�)��f?쾲��
0�T2N"�,d�/�����
NA�m�!�-宋"�/��ȷZ�8^��װ��,ɓ,�W���0�n�
+��������}ݨ����	gH
�[J��2��0D�#~��
A%ݤ�$O�\}�X��QxwP��e��8�+���CX�Rgnonj��_XS3�e�̟D
�U�\<���#�	���
��
i~˨6�4��ئ��Z�fpmg�ɨIm�*UV��
+�b;sof�'
��!�p�#�E_�[RX�%��%��
l�������_����{��*��V�����P��w72��D*�].�$j�y�]6�A
˅�ʦ-
�&�p�08Kp��FUg��^���u
�J�^�Q�Jh����vT?
�P�aP���z/����>�\G��ұ����]�����3D��P�ZMI]�:��
�A)����u������Q]q���2U۲��Lם�!Ų)�!���I�P�	�2��
be�g]{�j���t�a���R5
q�
�?>K`0��L��&0$6)0Hh���+�GC�!�>{TB��0b�2EN�
AM��
�`�FC����j��PC�{k��
���}��
������fI��,����Nf۫L��T*�	l��U�,y�6K���, ��g��}�
_�y�������,�`�=���
)�|�N���G]���Fx�lec�8���4���O"�b8||Gw�`��|6t�]��O�z�Kͭ6q�1�����>������}f�:ܙ��d�� J�!Hj�Qݖ$Vu���[[4&�?�����!#
?�o�
S��x�C9W
p���_U
 b�罨����Ъ��)��%�'dH���'�^ q�
(�Ȑ'�pY`��A��G��W��^v�1��=���ZU�΅pmm�U滶PX|֦@�
6 �����Alu�q�a����F?�㐣��39B`�4�j����EQ�vyRV(i�e�.�V��b�|k�u���l�
nf�p��_�� d�:8
+endstream
 endobj
-10078 0 obj <<
+10041 0 obj <<
 /Type /Page
-/Contents 10079 0 R
-/Resources 10077 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10087 0 R
-/Annots [ 10083 0 R 10084 0 R 10086 0 R ]
+/Contents 10042 0 R
+/Resources 10040 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10025 0 R
+/Annots [ 10037 0 R 10038 0 R 10039 0 R ]
 >> endobj
-10083 0 obj <<
+10037 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 231.708 138.5077 242.5871]
+/Rect [88.007 436.931 138.508 447.811]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000009) >>
+/A << /S /GoTo /D (deprecated__deprecated000008) >>
 >> endobj
-10084 0 obj <<
+10038 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 211.6184 314.5657 242.5871]
+/Rect [123.594 416.842 314.566 447.811]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10086 0 obj <<
+10039 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10080 0 obj <<
-/D [10078 0 R /XYZ 90 757.9346 null]
+10043 0 obj <<
+/D [10041 0 R /XYZ 90 757.935 null]
 >> endobj
-10081 0 obj <<
-/D [10078 0 R /XYZ 90 733.028 null]
+1315 0 obj <<
+/D [10041 0 R /XYZ 90 682.134 null]
 >> endobj
-1357 0 obj <<
-/D [10078 0 R /XYZ 90 527.7417 null]
+10044 0 obj <<
+/D [10041 0 R /XYZ 90 667.564 null]
 >> endobj
-10082 0 obj <<
-/D [10078 0 R /XYZ 90 513.4052 null]
+9667 0 obj <<
+/D [10041 0 R /XYZ 90 407.875 null]
 >> endobj
-9725 0 obj <<
-/D [10078 0 R /XYZ 90 203.951 null]
+10045 0 obj <<
+/D [10041 0 R /XYZ 90 393.305 null]
 >> endobj
-10085 0 obj <<
-/D [10078 0 R /XYZ 90 189.6144 null]
+1316 0 obj <<
+/D [10041 0 R /XYZ 90 177.318 null]
 >> endobj
-9726 0 obj <<
-/D [10078 0 R /XYZ 90 89.4414 null]
+10046 0 obj <<
+/D [10041 0 R /XYZ 90 162.748 null]
 >> endobj
-10077 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+10040 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10090 0 obj <<
-/Length 1858      
+10052 0 obj <<
+/Length 1457      
 /Filter /FlateDecode
 >>
 stream
-x��Zˎ�6��+�jm�����AR m�43�&	
����%W�3���^%Zv\�M1
�qE
^
�s)
�b�#S��J(d���v��p��	�op?��x7�y%�� #���ݗ-H�%tz�~?#q:�x�fN�,̶��͜�Y�y~��Y��%�����bѽ<'z�&�
-<{�	�:|�G�(YE�. 3�������˻j=�$�@������k��	F�h1}���1t��pʚ���v�[�Nu�|��A�9�
a)�!#�!��|�iI��<`��$-UF>`L�h���U�<d�*IL��,0\��Y^TW^��M
�% XFRB�
����޾yeTg@�"�
��l��
-qnj8檎��I#h'&��!�D!I9/���Q=�a��Jw6#��Yz�\m�W��H�A�*�C��N8�\4!EZ5��9�
��!1�8��
f��92Q7�瞞�
��&����D���x"��	
-�QC�i� '�%5n�Ǘ��]�I���M0E�Q��| ��
�0�t(��V-��X/q2� �M�^���~%� ��H�u6��6j��>fH28v��=f霊�S-8�v�J|
HX
��	����Q�����z�cHj�
��*���"����g�T*D@�ʥ)���^��^Q.�+/�0N��n����p%�B��
_�>�E�=�W�Ìs��.�
]#j�)��|7����x��i��r-�I#Hk����R0�8"��P�n�q�iG��J�jƅۨ���Q����a��qz'FF���ۨa��$S����
-�/�A�)j���=�'���X��Z�E*A̔�g��_�U
(A��gU7j�UP(`	�ݹ���|�Q~F�a���hF�8 ��E��
]�H+���ŋ|�@ΌfG|P}�@=}��=/�'}�?� 	�>'$

-�SFA�CC��;=n��2}�=���0��Z!S
i	���V7�h1e���\+���p�a��q�o�kt�m԰۞
-d�n�ǽ�e׿ᅊA�L�F+~�V� 
e�	Zu�Fh�a�,$;�
}��Q������˼p4#/
��{��[��3��"3��}R�4f�{���f(.|��O�eV�b������R
>߻(yb�F�s�]�iL �	4T{Z#.�ݾ��[JD�x¾
�
�>FR��ڷ���:�m��M|�}��u�v�9�1{���:��v�B�F��(L���zk�	:��P&��ë~vhX^��
-i�÷5Q��,�wѪ��"�~�]X��4��iokEpҧ��s��%��S=
�<~H���@��~s 3Lh
��ڭ׾�)P��Ķ�u�(J�/�v� �� ��ڰ�zk���j�A��Z�����*�9RڔaQ
=śMu��\�>:DQ�
9���F
�?�"���
������]v���f�`�0~Sw�
3uwq:���h�LL���
�_R	��f꫼\�=�7��#F��_�����3�;;ܲѮ���ۨ����r,A[ہ����7�[����=y�^Rv�Z�����V��H������%�Xs?]+��A�_��o�Kj�&=H�Z�
-:��R������'6�H*�P,�ak�U�`���
-��Vh����GEu�n��o�,�vY�
D���/�@��pLCA��ڽ�m~
-��<�
�X
jgg��
�&v�V�������4x
-���Q
CCDV�.��^������t��Z�z�
���7��V���F���Z���wy�}?bV���a�7���g��:�JTl5U�u
9w��(7A��?���ϝ��<t��
]uF;h׎��(v�����'���>�w����ns���l������
`q2ϴD�:h�}�U9ڦ�.3N��ԝ��c{��
�5�endstream
+x��XK��6��W�j�9�FB ��4�I�J���"əÀlsʫ�����O���ԋ,��
����J�����O�n7�\j	$\ǵn7�����
b�F��Ĝ�`��K��L���K�yr�ɨ
�~��ˠ<����%��<[�
��IPU�������B	�R�r�a��t�f��v�ς�e�"�%�C
�V�.>|�V�o,���C�+��C�X�,��
+���cfy���˴��d����U�Ɗv8�僱�G
�
+��;z�&H*�ݼ�xЗ:�zfiz��{�E�%ϒ�~k�;�_JY���41�iQ�'4�o�ۊ�}߂!
oV6
RY�r�^?���f��&+�������޶��y�-�*�Ə:��{�!�"�劂�����D�2k���8
S�P��&j�C�.
��`B���K(�:γ'���	iUG�u�-�?I
��v�,~(B�#1P�/
n2�:Wh�
�g�H�!�f��
	������

a浝O�!
�[�d{:�������(�+�*��<-�:�O�w�;�t6O y;N�$~�+�gJ�
=5
0��<x!}��N��>
���
�64���.wc�e2V&p��:O�mÿ�L�|���� �C��1	��	&�R3���v}�i= �!�<�VϷ������O�$�.��Gd�׽���-y6
�8� 
vu�����
�jC�6��XY�4

�T�ؘ�dEo,����
2�Ild[f#Y�@:�3�i��bSn��;MZ�a�~��V�0�et���O�1�f���Cc������Z��1ы�i�
f`ҭ:ME�w`AP�帊���{�/�.�֊9�po�
@Qj��U0�X	u��3X�u ��9��; ��H�� �j=�G�qӦ?_�U��8��h_�
p�w:
�xˆe�#3�^�Md\�,�g��ZW�`�
�#�����L���#�v�Z�������A��X����E�ǿr�5ۭ�`��!#�B�"��Pj/C��������6mVxg��p�8>GhvBh��+�]ꓖР	�Ӫ�E�c5"��^��
[l<��v�s���� �n��r��n��y�?5p�	P}����M���3�ɕ�M����� pA8|�
<�߮*�~�~�S�f\\_�+3q��3�+���cU��<�C.�9�f<�Á�;HP�,�׃���M�ٝ2%��Ol��k���w g*�#�?�.�L�
�I��/� �B^]�ž�����
�xd5������~�&�q���ղ��4P8�S.F7:���
��.3�?��v���K�>D��ds
	���(�KV.�lrc�V��UQ6�mU֟�4��`�K�m�_�lߜ��]���j*�iw(Ġ��$T�Js�֟@�{[������7�Q��>Y��.�77����gqQ���)���H�,��u��M{���m>�
��4{�����O
+endstream
 endobj
-10089 0 obj <<
+10051 0 obj <<
 /Type /Page
-/Contents 10090 0 R
-/Resources 10088 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10087 0 R
-/Annots [ 10096 0 R 10098 0 R 10099 0 R ]
+/Contents 10052 0 R
+/Resources 10050 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10025 0 R
+/Annots [ 10047 0 R 10048 0 R 10049 0 R ]
 >> endobj
-10096 0 obj <<
+10047 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.4002 267.5085 212.1242 278.4124]
+/Rect [88.007 520.623 138.508 531.503]
 /Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
+/A << /S /GoTo /D (deprecated__deprecated000009) >>
 >> endobj
-10098 0 obj <<
+10048 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.5732 98.2435 216.2973 109.1474]
+/Rect [123.594 500.534 314.566 531.503]
 /Subtype /Link
-/A << /S /GoTo /D (main_Cylindrification) >>
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10099 0 obj <<
+10049 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10091 0 obj <<
-/D [10089 0 R /XYZ 90 757.9346 null]
->> endobj
-10092 0 obj <<
-/D [10089 0 R /XYZ 90 733.028 null]
->> endobj
-9727 0 obj <<
-/D [10089 0 R /XYZ 90 636.8503 null]
+10053 0 obj <<
+/D [10051 0 R /XYZ 90 757.935 null]
 >> endobj
-10093 0 obj <<
-/D [10089 0 R /XYZ 90 622.3779 null]
+9668 0 obj <<
+/D [10051 0 R /XYZ 90 491.568 null]
 >> endobj
-9728 0 obj <<
-/D [10089 0 R /XYZ 90 477.5381 null]
+10054 0 obj <<
+/D [10051 0 R /XYZ 90 476.997 null]
 >> endobj
-10094 0 obj <<
-/D [10089 0 R /XYZ 90 463.0657 null]
+9669 0 obj <<
+/D [10051 0 R /XYZ 90 374.226 null]
 >> endobj
-9729 0 obj <<
-/D [10089 0 R /XYZ 90 318.2258 null]
+10055 0 obj <<
+/D [10051 0 R /XYZ 90 359.656 null]
 >> endobj
-10095 0 obj <<
-/D [10089 0 R /XYZ 90 303.7535 null]
+9670 0 obj <<
+/D [10051 0 R /XYZ 90 256.885 null]
 >> endobj
-9730 0 obj <<
-/D [10089 0 R /XYZ 90 160.916 null]
+10056 0 obj <<
+/D [10051 0 R /XYZ 90 242.315 null]
 >> endobj
-10097 0 obj <<
-/D [10089 0 R /XYZ 90 146.4437 null]
+9671 0 obj <<
+/D [10051 0 R /XYZ 90 95.843 null]
 >> endobj
-10088 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R >>
+10050 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F50 339 0 R /F95 1779 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10102 0 obj <<
-/Length 1693      
+10063 0 obj <<
+/Length 1524      
 /Filter /FlateDecode
 >>
 stream
-x��YK��F��WpJ��0;����Sy;�&ۥb%�"�@Ah�ק�b�ֻ{p*.]���|���}�@
?
(��a\��w0��T�C��
��]��"0�H*��E�A$(�������$$��	��(_G�W���갌�y4�1�ͣ�p}�
�=��IH
���[w�:^��8�����1�t����ы�j��$�@��}��9���F�h��F��G����j�f�k���(��S�&
�
Ҕ��� vX#B���N�1S���t�*h�:.�|{}�N�)R�Ҡ���X���BB�B�0q�j���6���Y�n�<J�xރc8���s�Q[�aچa "' n��˄m\��lQ
l�Yuo���t���S,��v��V��2�,����9))X���m[��^�)��r9/��ś�l�o���omcfal���u�N8
�G�d>��
�o�FR@�F����l0�
I�
07�<�P1ޗۧ��¢�zI����H\>�"�d{��
NgS,����b��C�UF����dP�@��7Q�ܮbwo�Kw��Ր�Asħ��
��݈�[�]e�M)������Z��O� _$��{
-2���7���@s��d] ���(
�LD��� ��$�[�ȣ<��u�� Rֻ�'��ٽ��$
-RkYY��_;[B"5�XrKو�
-l�N��Wuo�6K,4%#X�Y��@�LA����y{�.��v�;����
Z܍���B+a�9�x�VF!Q����b%�E�;j
Q������Ic�	p
X��}ʂ7�(���ҹ�
�H+Y'���D ��d\� Si���nU)NRE6ͪ��
�9,��yG��I����H0�B��2:/EB0�4�Dz���甈�1����z�
�(C�H�*�F�!ͤ_��1\=�`0`\�S�BP�Q)I8b��)�c��6�*�;��f�Z�39���m
-;�0��
�i?��Xf �e-�X�+���2[�iƞ�_��i}n�%�f�z
��3|�k��=y7�μP�
-��'�}f���C�IzWW�
*>K�

����\ڶ:O��HK�ڶ�q����!6
��H���<ژ���j���)]VI�:٭p۟�Uj,���Z���	t�g�$Je���� 3
gQj�`��M>�

-�^5f����
��/Y
0�4�fys
��iߎ0d_��\wnu��І#�ͅl��,�o�{�5�
-�K�������
f�1�l
-�����֚=/^�\��,�7q��$t͜D�l�*�K���,�����Y�DuBO߭7��
��#f]�_6q
Y�=]�-HH�s!l�.����l_Ji��[4�~_
-l���	N�a�ܭVǦT�NeTz�TF08�
-C�Zq�X���Bj�PF|
���Wh�5PIX��?��.�jX��V癑B!C���y����C�����q:?������u���?soJ;���韅b�})��-����җJj�܈����Hhh�>���?ν�lJ
(�`ޯff#R�'}�,��Jm�k�e���LY�At>���ͬ=���D��ձp~����!�U�����J����U���Tl��,O�IEX�
���gP_�p\g�@�z�n������k^����j�ߣ���d�����lVW���JWfh��ƨ��y�%R���eay�L�,o^���,s{)T��C�N��Eendstream
+x��XK��F��WpJDU4;����*'�r��/�K�J��D�*ʯO3<F �j-;�	�����3�[y�{=�i6�y%��PR���{J$(�fK��ĩ?!��[��q�o��[��q�><��<�����Q~�N��>	�Y�O����(���>����"��K1���goF/g�?G,�
�,
+)&��f��3����������6
�
�k�v�����2���x�bҺ��]˒%I�
O�S��'�i��I�0_d�*�iO�J1
��jQj��	X
+kՋF|~{(�xcB����y��C`4"�����Ū0B�ׄ!�"�gbd�Ȁ
q��F!I�~_�6_��,����<e��Z>��뮣����
�h �ÞюACj�����m\���%�պ����9
+�(}H��P�Ƞ� �:
+�R�(Sp#����M���8/���V��� )��X0',�O
+A�JZ�	%SFIZ<��]/��qD�/�N��i�
+6�ߔE��"�}�D0(�~�$��_�x[&`��I ����Ģ\N�P�
�!Z'�y��v�8-�e&`vSݳ�<��-&C1� $�5B&ǍP�.��O�@�
���a�۪X&�|�$�"�l�2�[�h s�֐Jz�u�����?nwiS�F���~HAS�y�	l�8k0�1ʟ
�L�P5����7�]�{����L�h:�W��޽
y+��O���N�e��f\D�h����
G�B�_�z
+H㲦.�A
�xQZw2s-��fn��,�
�M�^�]0S(dM���C�c��U���6��5�ukL? �P��ѥ�� �z�o$�_��%���@Zة�ܤ�����������Y�NS��'�W�P���A^7��W�
��%�4+���t����`$�Uh��"�	�	,zX�px,fw��Ji���ml��&[���D;��'ը<��Nk��s�`b C���)4�R'�\�'�\br!�kU�e��%c,}�,�s��o0��j0�ݪ���k몫-k��)�b�$��z��AVl�X@��s�6�1�~����優�ZNp�՚�dۏk���xw�)�U65�nt{<��1&�����չB�
V�YȯD��.�љ0|*�Nԉ�ڼ3ͫ��.����x�>����(܅�J��� ��T�a��ԅ�\�;��=� 6����<�d��� g� ����J>��`;
�!���
�m
�2��`}���t����)>2B
�XYX��:�a�¯��l���3��ٿ��=
h�fo�NfC���V;�kp��आ�M�&��易�b�
��sr��0�	�}��5�9��O'�H�s�$
�vCV
O
��'�l�����E��,7��Hk0O�4�G��;�hby|8
8¦�³��L|ћ&�3i"!�;�Ճ�3�X��y��f
�q��/����Q����iȣV=�4,F@�d�DŽi��p�a��ë�~
Uj���!����,�ӛ��~�ڥ�6GIy�ݮo�u�j!��6��:AUGey5���&�^��8�
+endstream
 endobj
-10101 0 obj <<
+10062 0 obj <<
 /Type /Page
-/Contents 10102 0 R
-/Resources 10100 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10087 0 R
-/Annots [ 10104 0 R 10107 0 R 10108 0 R 10111 0 R ]
+/Contents 10063 0 R
+/Resources 10061 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10025 0 R
+/Annots [ 10057 0 R 10058 0 R 10059 0 R 10060 0 R ]
 >> endobj
-10104 0 obj <<
+10057 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 659.3542 483.2121 690.3229]
+/Rect [149.4 541.245 212.124 552.149]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-10107 0 obj <<
+10058 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 319.5903 138.5077 330.4694]
+/Rect [153.573 370.25 216.297 381.154]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000010) >>
+/A << /S /GoTo /D (main_Cylindrification) >>
 >> endobj
-10108 0 obj <<
+10059 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 299.5007 314.5657 330.4694]
+/Rect [448.024 268.989 483.212 299.958]
 /Subtype /Link
-/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10111 0 obj <<
+10060 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10103 0 obj <<
-/D [10101 0 R /XYZ 90 757.9346 null]
+10064 0 obj <<
+/D [10062 0 R /XYZ 90 757.935 null]
 >> endobj
-9731 0 obj <<
-/D [10101 0 R /XYZ 90 639.2794 null]
+10065 0 obj <<
+/D [10062 0 R /XYZ 90 733.028 null]
 >> endobj
-10105 0 obj <<
-/D [10101 0 R /XYZ 90 624.7091 null]
+9672 0 obj <<
+/D [10062 0 R /XYZ 90 592.061 null]
 >> endobj
-1358 0 obj <<
-/D [10101 0 R /XYZ 90 509.1363 null]
+10066 0 obj <<
+/D [10062 0 R /XYZ 90 577.49 null]
 >> endobj
-10106 0 obj <<
-/D [10101 0 R /XYZ 90 494.566 null]
+9673 0 obj <<
+/D [10062 0 R /XYZ 90 433.021 null]
 >> endobj
-9732 0 obj <<
-/D [10101 0 R /XYZ 90 290.5344 null]
+10067 0 obj <<
+/D [10062 0 R /XYZ 90 418.45 null]
 >> endobj
-10109 0 obj <<
-/D [10101 0 R /XYZ 90 275.9641 null]
+9674 0 obj <<
+/D [10062 0 R /XYZ 90 248.915 null]
 >> endobj
-1359 0 obj <<
-/D [10101 0 R /XYZ 90 161.2381 null]
+10068 0 obj <<
+/D [10062 0 R /XYZ 90 234.344 null]
 >> endobj
-10110 0 obj <<
-/D [10101 0 R /XYZ 90 146.6678 null]
+1317 0 obj <<
+/D [10062 0 R /XYZ 90 118.771 null]
 >> endobj
-10100 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R >>
+10061 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10114 0 obj <<
-/Length 2328      
+10077 0 obj <<
+/Length 1188      
 /Filter /FlateDecode
 >>
 stream
-x��ZKs����W��U�h��rp�uʎ�l�J.�����
-	� (���Ӄ@
0 ��.
����
�D�Hdp��B�qm78z���zC��1<������F�� #���v�I���Fw�� N�1�/>.	^$�!Y\R�(�/��L��g�eR��V���D/�|S�_���]~Jwi�,�7)�GĂc���w���J��:��͏?�h
+��#f����#b
�7���f��Ϳ:=�A�B( �B04ape�����@�h��BD8v� �����H�� ~J�3,X,��j�H�)R�Ҩ�wd��
-�W=�+�m��.ٟRk��A{Ҍ"��V*۹�I�(����jU���(��y_5�mM��e	[��klc'%E+6��t����K�k�?|ޤ�*+��2>�&�N̺q���U�/9^<%�l�Nʇ�!ͫ�SF#) �f#�I���b�$�kϙ�DzXR�x��L�=�3���)8�\5	�v58�)���T����L��726��j(D����K@	ሑ�RR���8���%��Mq8&Uv���EQ:�mQ>���VmS�F����л����ߟ�Q
��J�v�A$��=��i�������:Q5l
����|�Q'e=�Kzt
r�T�v�=
�"!<�k
e�H)腱��t���=N�K��b���t��$� ��1j��账�r=�E���jТ�=
��-��6�Fh���yLˤ*��p
�0$���wRWV0�f׀�*�CLi��SDDS�5#�8kp���p�A�����W+����6���x
�=�N�OX�
�Ԫ�ѪpE������wni^�d�0͌� ��sX$�]7$�$b��` ,1Q
-�������"��8GT������sL:�qh�
�H��)��&:�'���Vk��`
;h�<�bM��P�c���q'4��Ƈz>!X!)m�;;�+D"��
�d�jYZB�b@�&���L�*M�]f��Y�
�_��$�p
Y���Y�ӗ��< ���~%�!A�S@^�)O'�6�3�
�9�<�3�Q���g7�@
�x�І7hs_�el�yҜ2��l��>���a
�R���lj�	���P���DJ�0#%��1S0C��@^R���W��ncTM� ��¡
���4�q_> 2C���!M��m2-�`���ݎ����ѫ!�
-M����C�i���E�@���5<0�w
����Y��q8���� O�Đ��xD���݅�
8��m*�L��m>e����\���pK�%*�kLD�-�~�u�8��,O�Ď4�~�g\"f5΂]_j�  5{5؅�π�ȋ0�ubo�و\�n�L�<g~�w;1�4�o�dg[c���C�:E���4�e�]a`B�9�ۦ󔔁E�$I[X��&Z��7c���-?0�gy�����S�ө.n�BP��t�v'S�V�
���L��0���H�o2(�uU&YuZ�j���t��wl� xke�Dۦy���5�?R�8�pַ]�<k҈q�(���j&�<�{u!�Uj����V�a�g
~�=(�ּ|)���ܔ*a����
R��AM+
��CS�@k]��|�
-­�UŐ20�0�CC����{A9Fƞ����hk�����9�B��m~lּ;�
�ڻCr<�d��<��x]�g��%|�| ���������M��H{�������e{��-ᩩ^;߿�jM��GM�m㼜� �:)�
���%|�:�/5MK�8!b/�XRcCrH-g��&!f��ȓ05��zY���2�
IH+56;8���R�3�
�x9읕<?f������jrH��x�91��q:��z�:w�]�A����b�L�#��b�n+5��G��I|�]ds`������X�DMB.+r-h���5R���l�t�0 Ĭ�Vhdۏ�?��x�����x[��g�
-����j���n<�����
)��؟
���FE�ߵ�¾�t���$�ļz~
-�K��yъ�m~���e~9��<g��Ǹ��|�TR��
R���p������g�I; �����a��'
�r��|F�3f�5��pc0�1ͅO��I�����%��ŀ=�y~���v�����*ɦ���Ѯ��"Iݝ�}I���fSL��H�\&X�1("�5ɏ\���Hmgp�_J� �3�]�	�S~�]�N��m;��f�u7�>���B,���=��m[���ɪ*ԅ
\Ů��ߺ�0��C�"��{�ߨ��[oh_�{o�����v�׮���������g�9�s�
K�U����v���
F����;��/^��E�Ι}_vmI
��;{����(�l�
��?��%endstream
+x��X�r�F}�W�@U�
��&�Mes�x�'gK���LdG���0��7UŮ�h�����sNk��q������d�A2'B��ҙ��;�$HP��WιK���	�������6^|�(v�t�Ve��9�(�r?�
{$t�����wi\U��L�U�MeKv���Xx_�'�瓿'<�i<
+�p�����`����B纙�u8e�L�ϓ�'�hT�!,�AT�!�mhy���!cO�r6K�Z��Z�I�- �d�l��&Y�M�U:<�͇�#a��
�̳�6��+y_����Ńщj
�͌^�
��؉�9��#���'�0����qޢU�f�������/z�G!m�ԗI5�?�  �&)��a.�H�
q#��y� ڈ
"Q�|��u�1n[�lc��FX�j�֨���h��
�h/P�a`
��z�!ܬ�
W��
Q@ �aA��u�Vj�q� [ϓ��P���>K���h��-�-�G�xp�@L�����T��|Zg#
1�TU��I�8v��4Y-�r�۪�
�ҋ?�H��?�,s�
+�*/dR}��G�'(=�=��x�Q�z��G�ジT��:/�4���$[��"������yi��HN�z���Z���R��� M������m�9^	,����^���q�Vw �� ik�Rv��缩�w�
�k���z�����x�?�B�q��U�Op �P��рp�g"�
��X����'�x�1y�� ����.M��hS�''��9��19�D *�g�	�$H�O#$—�':]�N�1�_�܇#j"�S�NF�ϠJ��x7���f�1�Z�d�y^��&��q�&@�
|�7�~

=�H2by�x��:`	�r��C<�>���
0�8j�~L,)"2����}�%%�{a��k�St�}�y�~߸��w��)�_�j�_v���>���*Y�#�����Al�hM�c�s��0�,��0`#
X���~�[
��
+j4��� �\����nm
+� �
�ț�������d��|����=(��e�
z5�\IC ����JZ��d�[(T{


��D��%E��2���G�ʯ=!\[����.�]�f�+mJ��
�c8���"LӔ=
�����rڷ�Lg�9M1C������tz}}���eIQ���E:�]�� v(�5@�q�˛`�6�t
�� 
�1
+endstream
 endobj
-10113 0 obj <<
+10076 0 obj <<
 /Type /Page
-/Contents 10114 0 R
-/Resources 10112 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10087 0 R
-/Annots [ 10116 0 R 10117 0 R 10119 0 R 10121 0 R 10123 0 R 10124 0 R ]
+/Contents 10077 0 R
+/Resources 10075 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10025 0 R
+/Annots [ 10069 0 R 10070 0 R 10071 0 R 10072 0 R 10073 0 R 10074 0 R ]
 >> endobj
-10116 0 obj <<
+10069 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [88.0075 621.8843 138.5077 632.7634]
+/Rect [88.007 571.245 138.508 582.124]
 /Subtype /Link
-/A << /S /GoTo /D (deprecated__deprecated000011) >>
+/A << /S /GoTo /D (deprecated__deprecated000010) >>
 >> endobj
-10117 0 obj <<
+10070 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.5937 601.7947 314.5657 632.7634]
+/Rect [123.594 551.155 314.566 582.124]
 /Subtype /Link
 /A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10119 0 obj <<
+10071 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.3343 530.0579 242.4868 540.9618]
+/Rect [88.007 239.645 138.508 250.524]
 /Subtype /Link
-/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
+/A << /S /GoTo /D (deprecated__deprecated000011) >>
 >> endobj
-10121 0 obj <<
+10072 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.2748 400.7616 293.9708 411.6655]
+/Rect [123.594 219.555 314.566 250.524]
 /Subtype /Link
-/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
+/A << /S /GoTo /D (main_A_Note_on_the_Implementation_of_the_Operators) >>
 >> endobj
-10123 0 obj <<
+10073 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.2694 247.5549 238.0203 258.4589]
+/Rect [179.334 150.842 242.487 161.746]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+/A << /S /GoTo /D (main_Convex_Polyhedral_Difference) >>
 >> endobj
-10124 0 obj <<
+10074 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10115 0 obj <<
-/D [10113 0 R /XYZ 90 757.9346 null]
->> endobj
-9733 0 obj <<
-/D [10113 0 R /XYZ 90 592.8283 null]
+10078 0 obj <<
+/D [10076 0 R /XYZ 90 757.935 null]
 >> endobj
-10118 0 obj <<
-/D [10113 0 R /XYZ 90 578.258 null]
+10079 0 obj <<
+/D [10076 0 R /XYZ 90 733.028 null]
 >> endobj
-9734 0 obj <<
-/D [10113 0 R /XYZ 90 463.532 null]
+9675 0 obj <<
+/D [10076 0 R /XYZ 90 544.752 null]
 >> endobj
-10120 0 obj <<
-/D [10113 0 R /XYZ 90 448.9617 null]
+10080 0 obj <<
+/D [10076 0 R /XYZ 90 530.643 null]
 >> endobj
-9735 0 obj <<
-/D [10113 0 R /XYZ 90 322.2806 null]
+1318 0 obj <<
+/D [10076 0 R /XYZ 90 421.042 null]
 >> endobj
-10122 0 obj <<
-/D [10113 0 R /XYZ 90 307.7103 null]
+10081 0 obj <<
+/D [10076 0 R /XYZ 90 406.933 null]
 >> endobj
 9736 0 obj <<
-/D [10113 0 R /XYZ 90 93.4921 null]
+/D [10076 0 R /XYZ 90 213.151 null]
 >> endobj
-10112 0 obj <<
-/Font << /F65 357 0 R /F67 366 0 R /F52 341 0 R /F97 1822 0 R /F25 344 0 R >>
+10082 0 obj <<
+/D [10076 0 R /XYZ 90 199.042 null]
+>> endobj
+9737 0 obj <<
+/D [10076 0 R /XYZ 90 89.441 null]
+>> endobj
+10075 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10127 0 obj <<
-/Length 2769      
+10090 0 obj <<
+/Length 2041      
 /Filter /FlateDecode
 >>
 stream
-x��ZYo��~���S"a���A
��l��.0�q�08e�(G��;��S�K�d��=��
��bW��u~"[P���.�2�	���]���?_����O|�?�^]�����^�n�4#�3�����d�H�J�t�~��2=�ӻ�+N��ݗ�lsL��?
�㗛�����X%\��7��t�/?d۬�.+��
����r���wW�n;S��(��ϫ��
��+J��j�
(a����Jr�~�]}��k�N�E�@
��%�pA�V�D����!߬%�k@��I�?Qʋ���&ߧ�Y��OTѿ�
�5���.C���uƳPN��ie���X
�`�p�H�,��,ׇ�T��"V
-g�H`N)V	~�Yz�{�Kc���J�����
�ԘFK�OE
��k��3�	���U��(��c�����ʾ�Z��6C�Lsb��ͪ��8��"-1
�&��ւ?4�F�c��ڶ�k˒-���:VE���YD+wĂ�͢g!x�,��R	3Ds)+�?��D�`nY
�縿8أ5���TDv%�����|�O�!�:�	e��db��h
iB�&��W��F�a�|�?P�Y�x�.�nW
c ����㱉��]
 0

���{'5c
��8�lh�a�
����K�*6����?4{�>벊@��O����q
-RD��)
-�l?E�0�X�p�Pypu	9��0gd+���m���z��9>�m���ĢN��0}�Fj�1��I�Ml��F��\,���h����*B�5
��)YԩZ�ė�8�%q\�դ)�>+���fmR��,j���NzhI�-�!�	u^�s�@=��9_0��Nj�6
q��iC���`��
Ww����C�~hn��af�;1�˛�����T��S�m~?�1[�p�M���Ħ�m�|g�m���J
���
-8�Y���x�g�*����^�8j�	<}=��/6�Z'	�@����*=������4��v��<ߎ��W�����<�5�UM�=
NQ6�����m�
�v� ��F�
b4c)�`�BG4��|��4HI�*T���Ϊ=Ld���)��[1���q*777y���K��7w鱁�o��Dc�?�H'54&,?T-�:0���x��y��F�|������%G�lK1&1\��
��[���Q�@2�+��Xg]���^�%^�Ig�+;f���
�
���9�UV���΋�a���yW�(���h��t�Ca��j~["�Cfi۳��6�[C�菵��aYa� -HA�
-�%��e�a��a��(ʔ�M�f0�
-c^7��gԍ]�k�N��x*�
��[�L�0Νx��Zy���R�
<�C�K1�}���t�E�M8c��
����>6�hx�yFQ���Z^56�
-���/��Ms~��+C���0|��
r�K/MPI�Kn�
���gIc��xl	��a�����(#��M�L)"��##0�zd�D9�� �4Q�1o��6N������1�
F�J#Ӵ�:	������p@���F�I�����O���o�.���ڢ^'T^�k�P�
���:4�W�;��y�V@]�
X�y��M6p�ZiH�u�Q�.�!��z��b����xbdŴY^���[�0sp�R6N��%��ZP�B&�t��X[t��L�%�
-"���f�+���(�W�e�dBpY1�E(5����c}�;��6˰!��8�z%�k�;��+u]����$���&�i)����k��ᐶQz������l��nƽ��0�k,��ڝ�
30��330Pg����˶Mo���j}��f�7�ga���k�K���2¤�3��/6p+:a�Y@�	�g4�RC�=��
@��o�Bj

���sXxbSX�b�Tɴގ*�S%�ދ��c~�0ᎯgR�e��
��M�ڊ]ʤL���8����e΄L
-�@t�o�J4��e�.^���U�.��-x/$Z����ԝUmԙh�Q(�
-���/b_���s�*�R�Ub����/1��4�"�O���ؗID�����8����?ž�q��7ξ�h��ܯLg����*�/��OC��G�T���#�t?
}%XL�;��5P
-x1��[�4=H��䀃��|�-����`t�����aP
׭����
4�ܪx���V1��"K.��N�Yl�==۱[
q�Z:�<��r�׉�lZ+-�h6;�ٴ�oH��/���^�a�^�2���R�
-"DGp\N���
�ƕ#��8��a��ꅬ*�ڗJtM�

!�y�����}s����gGuֲg"d��#���[��е0!|�
�v�mT��I�pb�o@�U&�AC�
�֠�i*ʠi
Hs^%��7	f�V>��0h�u
Z����#
��Fz���>��
�
�3Hֆ��m��gr�?cHf9�hr�@��#��I�}��8�`��p\0�f}5��.�x+��N+���j���Y�jC�(�%1�.#�Ŀ�'{#��AYP���ȗ����	�"�,f��P4�$>ubs4����4�@m�&
����d
j��u
M�M܊]@�Mk�h���8Mh~%M��L6��Yh�Fh� ����c=�qr���_��
](hL���
��V��^�މ�>ϰ�t���و ��h;6��Ƕӯ?6�~��o���ەR�&A��O�+@��}ƥ }u��Қ`J䷏��}W�
��@���X�W�^}mH�'�$���_��P��7�����d}"OE�x$yy����
4O�̥qS�tB[��t��Y��l[����I���WqIb�jĔ>@�Uendstream
+x��[������+xJPU������v]������/k���Z3T$P ������A#��Ϊ?̓4}N��� ��#
�0�����dQ�RIet��R
)I��$�]EcB������Y�������A��l�s~We��|�?=%I\�8�~�յ��^�������y�"�XN��q��v�	�pD�&B!�D��N>�����1ˆ�I�dGm#N�n��M��UQ���U!�8�K�+��t���K9���v���ϋ}���eY4�S��U����.ԍY*�9%R�:e����7oS�[���H3�;�݈`�
9�� ��1��̤D"-�����Y}�������E���N��1��E >MH;�y���T"�x;(��w~��} ��a}��l�nf�J׺z�:���A�̚

�p!�o,�#k 
���
A/Y���Oy��TMwzلv
f�|�|�-P�NF0��?�#S�h7�:��zd:F�A;*�[E�}U����rX��f�fL��@
�.���!��V��q�����]�<��F�;�9�2�AJ&X���|Zꝙ���vSI@��	ߴӯnV�y^L9��M�Zd��~��f�K`�
}���CUN���`Y	�q>?�#��r |By��jd
J�������ARVi�yS��My�<ˋe��A��m�%H��
Y�`�,>s>�J"������R3c)���_�0ay��=��Z�+���Jl�6�^�E��Ȕ�_�)���̬�X2(s
��1�FA�I;r�$���Z=c*E"IC���:�o>�\?�k�

�g�j�
+q|��]#�$�ˤ�Iʒ��R۵/s�ESeyS��V���o�ǒ	4�D
L��E�͋�)�4%]��v$"�9��m�;�|1.M��,�qV׋�4EI�|�a�Q�c�A�bP
�;�B�+|_ӱ�� }�ge��)$.f�z.p]�\�R	CD���/V,�\^�����
m���6Ys�hdW�{�J.��+T � �%8)�
ʧEr�mzJD��0@}h:��Z �+w��y,^Hz�x�N�19_�	���'�(�O
+�����fH1h�R�@hkd�զ�~YKL�ճ�#����7����{�u{�x��>=���

F���g���X���,e���%���;�0��h1 @e�d!پL��z�NQ6��͍���o��i�Ιz[Z��6�>�%<9w:d�R�6�������@LU>�JBer��@#�FC�b���N���f�?4����IAP2	#��GP���
�,0u��f�h?�C,ʒ3|��Շ����F��:�/0�#�*&�K�Y[��e�1���|1�H&��> T�����rƙX
1���+��#�Gc3�%h
mVu.Dc
+;�>'��^��ϋ��
$�и�b�'crD�p�8
�p�@��ּec��)	ؘ�٘\��Pq�gјtljѸ/|
�9�#ye��1�hL/Gc�?E�zW7y�o.�cB�EtL�tL_N�앎G��pL�W:~�㐎�5���t���)�2:����M����<=f*"��c�ȱB�~�d
<%��1�{��/���w�fD��]K��~ގq�rP=
��}d
� N!8#r�	�����P��
.R�b�P[|Bq�I���~����J��y�:����<�L�$�ep"l��7�R��p��uާ
+0�����
M|a�������	R�W�� ����B �R��1h�v���kߛ�I�
�N�ǩ�q���E��%>}l������H�F6�8�BS"U|�ƪބ`
���|�g�7
Xb�`S����
�/��S��C_��	�ҩ$�ti�;���䙺�==�J�؄{��
!Mc�R6�Zf;8�5/W
�A]���&���~�
߶���
�v
?<�	t����N�3 at V�
���|@��
��>��F�}7s�Ժ��T����Y�oQ��G3lV��L�r	s4
+�
�t�jny���?M�!{A��tyh�������	-k�/�]���f���
�e/�ア^���-���prk�}���..
+endstream
 endobj
-10126 0 obj <<
+10089 0 obj <<
 /Type /Page
-/Contents 10127 0 R
-/Resources 10125 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10087 0 R
-/Annots [ 10130 0 R 10132 0 R 10133 0 R 10135 0 R 10136 0 R ]
+/Contents 10090 0 R
+/Resources 10088 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10096 0 R
+/Annots [ 10083 0 R 10084 0 R 10085 0 R 10086 0 R 10087 0 R ]
 >> endobj
-10130 0 obj <<
+10083 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.0888 678.3775 246.7668 689.2815]
+/Rect [170.275 690.333 293.971 701.237]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
+/A << /S /GoTo /D (main_Meet_Preserving_Simplification) >>
 >> endobj
-10132 0 obj <<
+10084 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.8986 448.3104 431.9768 461.2282]
+/Rect [185.269 541.145 238.02 552.049]
 /Subtype /Link
-/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-10133 0 obj <<
+10085 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4399 276.9708 513.9963 287.8748]
+/Rect [182.089 319.694 246.767 330.598]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
+/A << /S /GoTo /D (main_Single_Update_Affine_Functions) >>
 >> endobj
-10135 0 obj <<
+10086 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.6167 181.3237 476.6033 192.9627]
+/Rect [325.899 96.965 431.977 109.883]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-10136 0 obj <<
+10087 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10128 0 obj <<
-/D [10126 0 R /XYZ 90 757.9346 null]
+10091 0 obj <<
+/D [10089 0 R /XYZ 90 757.935 null]
 >> endobj
-10129 0 obj <<
-/D [10126 0 R /XYZ 90 733.028 null]
+10092 0 obj <<
+/D [10089 0 R /XYZ 90 733.028 null]
 >> endobj
-9800 0 obj <<
-/D [10126 0 R /XYZ 90 524.3147 null]
+9738 0 obj <<
+/D [10089 0 R /XYZ 90 615.539 null]
 >> endobj
-10131 0 obj <<
-/D [10126 0 R /XYZ 90 509.7444 null]
+10093 0 obj <<
+/D [10089 0 R /XYZ 90 601.301 null]
 >> endobj
-9801 0 obj <<
-/D [10126 0 R /XYZ 90 256.0493 null]
+9739 0 obj <<
+/D [10089 0 R /XYZ 90 394.088 null]
 >> endobj
-10134 0 obj <<
-/D [10126 0 R /XYZ 90 241.479 null]
+10094 0 obj <<
+/D [10089 0 R /XYZ 90 379.85 null]
 >> endobj
-10125 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F11 411 0 R /F7 526 0 R >>
+9740 0 obj <<
+/D [10089 0 R /XYZ 90 172.637 null]
+>> endobj
+10095 0 obj <<
+/D [10089 0 R /XYZ 90 158.399 null]
+>> endobj
+10088 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F13 540 0 R /F11 418 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10139 0 obj <<
-/Length 2769      
+10106 0 obj <<
+/Length 1868      
 /Filter /FlateDecode
 >>
 stream
-x��[[o��~���S+�x�/��i��.�n�}�,ڢ,���
o���
gH͐C�q,Z,�`J:��͹C��0�#3�gJ(d�����=���"��
~�B���^]�M��AFR9�]7+H�%tv��iN�t����݂�y^�������ӦXU���ʫO77��
���"���l���]�P���b_�� D�9��o��z{�A�;L
�?W?��g+�ѷW1���>`D���������z��n
�CsC� �`D�ҳ�q�%ܞ�"�"�(�Q���3�Q��VH&f��5��v�>�U�D6,�,\w����4T/���X����٨G��a��֭DU>ljw���+wu,W��|��b�c���
"�<V��XZg��>`��5|���O�b�W.�M
j�D�Ӷ��?$��+D��E�G�8�>.�� �oL-&Zͤ� 7D%m�
-e��0
�A3XK��Zo�/��
o�tB����$P���0�����/8�̷�j�W޶}PF�-	��H'5E�
I���Mu��y�s��ڢ k���1!5�K�CO�4Hq�Eˣ[�������
�#8"
+s��P@�F/dü�����FLA�t2�,�+d4�����zVYU8��eS&�AO)b��8����a������c�6����W�b��'�N�f:0�]l��E��
�{����կS�"E�e�ED���^#�`/b c/�S�L��S�
�8�t&�D�I�^�OՃ��!�+�|�0L��ƛ�;�E��=$M>G z��RyR+�R�.�9š�8"#����S�b{��Kؑi��a��B��?Ǻ*�kw
+�u�N���a�����
�Æ��ܜ��7~&�h�ǡ�^E�$�Qnn
�}QA%���Z�v�mY��Y�6-�
ʾkQ8����}�W˷��عƷB��?�}E5�0dHW
��cb��[s/�E&�
��ݖ��%V���N8*Z������̟�
�8�P%iզ��`.1��VA�_ 0�m�
-I�]T� <�m<q1��Z 1

�^�H�aj:��)m#.�P�����~7#Y�0^=M�8�� �W�`7��P�;
���"��g�
�r1\��
��!��C��z��R�u
�?��RCx:�,�01�
��fA��ȶ�!���ܢ ��S��^��>EP�8`8���j~�u� a�6]�
�E�!(��x���󦨊�~F
�m(D���|c�jk�ꯋᑪ뮁�
V�
��ݧT`�� �
��
�%�����<����ƹn4�ҟ�&&���	}�$=�wbAU��Ô����句j{

B]i
��m��-־�;����qMS����@D�7
�0v)6E����)��bqXE�-+g����J
5�2�KhO��T��ۂ�&�-B�	[tbA�Ԃ�!�����Pm/|�#�b�'C�c����h�s}
3����x�s �~y)/O�r[Ĉ�Z����I��x� L��G`B^N��ЕR�
LӘ��
/�ʐHA�
�nLf-�f�I�h�DvD���{�F��D�`$�
���4���*3ħ�����P�@I��u�-�aA�Hp�Ӝ�quf����Ti�{���g��b$� �R���o �"�S�T����
2R�9�g *��T�%�Ƥ/HI=#�|7�3�߄��
3���f�`�
�VbX�KA%�ۖ�2������/)Z�s xj
-N� 4���"AM-;PFπ!N0;GM[�,�!AM��) �,�u��BjS-{8���

�EĔ�i"�6�Kak�x1_��21JL��1���
U�3Th��t�_���
1S`V��xJ����a(��~3M��QH�3j'v��N���Lj��4R�ՙ)5�[��6�M��{3���1Ӂ�43�4���RM�T�
KŦlъ�c��j;f:P�f��گ�L)؟�h7����x�SRL�SӔ�)��Q���{
5��ȉ����i�wj��MM)
����2�@~���R/��QZ:��e����-RJ�TI�:Nzwxگ�H��
�qa��W6�s�ICJƱ5cG#�w���F��
�}Q���Qj�i��æ+-ۻ��]����
�јSz�K���JʐҦ��Ӹ^����}s(�ߗP��u�����A�l�#�
-��=
r������򔍽��6�u�?'��������t��†ʉhǮ�
-�>G�)�d�v�H?(�r�A�1�_�N*�
-�e at i���؃bf��\Z�g� ��ƵPlM�zP

�>�$\ړ~�A����R���Z|�n84�MO=$���1�r��K
���]�cEb�8"0�ʗ��]gܓ�t�:�.�@�C\wNl�73��(&
�=q��g_`�II3�~�5���5��<i���:Ad^���>l�;`{�,|��'O�:�g�r����@���v���yF|B��M�,;�
��q�mF�3���'�O)j�1�_�A�T
�gC�}�
خ��K���9S7�M�/~���nh���
`*�>Mv�q�c�7L}�1GB����H��V*+b�����;���!EU\G:;���T���q	���q���9V|�5��m=�&�J<PK!X�Uv
��ޖo����`SC��!z���%�v��ۑ�=�o�J��_Ǣ��B���~���O�?���G�DP7�T�������b�Ш�h�A�
�~������i��
Yp���0!��=o����������Ӿ|�PY_?>n��֦Wf�qY'4�Y�i���-IJn�!�hw��'�=|�kB�^
M@�/M��	endstream
+x��Z�n�F��+�j%�ϛ3*�h�$@�n�v�-QQ�T)ڎ���� š(َ�"h��
����9�pt�������+�"���2�XDG�$HP]̣CB��1��G�r�L�G���2����mvY&��dҾ="jX�1x�b�l�n�.]��Y��R�˸C��ѧ�7����,�����LD����'
����#�Utkw�#N\W�������Sạ�JD$w
z��uZ��vb
�J:{�EK
Q(�:�
���$e���+��W����n�X�.
�tQ��2��n�����͈
+0-K.W�N�pתp��i���/�;Y��>bLs��LWI���
�����1H2�̄7�w�cn1�ȞS�B�����X
Wn���ϛ��
Q��T��kGU��UfW�#�^:"b����!�69?bg�<͋u�[����.b
�Ct
�mo�̵�wx���9dV�!�
+
2wB�ܽ�X�bc�,Y��l�^A4s/�6���Q
[2׫ʸ��
+	~��������ڇ��
+�:Js�1�4�(r$�vR^~��֮G�%�‰�V��$�G
�	�d>MJ�֑���V������š
f
�*��V�b�;�=��t�Q���։���X��9샊G�55W�I�:b���7���{(
��bQ�a}n!�e�l�WY�:��D����g	��)��ğN�ϊ����pLS뼹�:+Dhe�r�������k��E���l7��kl
�,��)Ebz�h�ƅ���R��:�Ct�nH_fؖW~�{=�>��/��~�CdڵG�%ԇ
��ɲ�<"���Z�n�t�j�O��B��sUf���lA^o�N4G
+F���k�fC\yDscY�A۔�
��LZx�,\��n
����Ujd
�b�
���qnM���dw���$����0����
G�h�c���<!�+}��_�fy��ӗ��~��G��h�RE��^%Y���Ejc9ˠSO�2ɪ�dbM�:�m��zL�B\�0�{m90D�Uc�O=�
�G6�Θ�Ȝ�E��6C��CL�$zW����ƀH�V
�az��_�P��aU�t	�!���	�1a�M�S
+P�����;�)�Nn��
F+��MjZ��\���`3lln�h�	��$�mƱKЛ��ú4�V脱��4�R��� �]$H]��	����gnkܒ]XC�CB 8$���C�D`R��+��>Η@��
e�����D���!h�C��9M	��|�L˴' 
�s����0ak֝�1��;@�y͆.��f�H���$`�ȝ���+p'D�4
 
+�4Ԓ��e�L-�J-���Z�gj�L-���3�����ޣ�KrBn��8H���:~f�C �5���4C�4�\-�}L�F�6W��a��X�#�'Ho�'~�C�~�]=��
�`���1��B�̌��gf�OU|�"���!33J�L�eogpZ\����ݸ6ZZ�C��h岃+�4���eD�q��!%3����\
�dp���֮��Z	»O MJ�x�_�[il�>†b��C�l8�ՙq�:-"1�b�,�R�=���n���"h&R<�=
�{����a��1
l�x�i�=Af����Q��)Yf:N�_�ɉ�8�}`
�F?p�!�	=MO�4`	k�q_)c����-5�%�^#
�a��
{� I�!��ab��Oy�4Ï�6~s�?��q�8���1?C8;��~�	�Eq�/��Ɯ�� ��4U���������HhhüS��j
&�֠�F[��?�ئ��#!�ޯߒ�:�ŀ�#
+�y�F�O:a���4��i�
�{E��ׁ
��h������U������ޢ�]�٦DYu�٬��+� `j�բ�x�.J�,��k{ {���s�H
+endstream
 endobj
-10138 0 obj <<
+10105 0 obj <<
 /Type /Page
-/Contents 10139 0 R
-/Resources 10137 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10087 0 R
-/Annots [ 10141 0 R 10143 0 R 10144 0 R 10146 0 R 10147 0 R 10149 0 R 10150 0 R ]
+/Contents 10106 0 R
+/Resources 10104 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10096 0 R
+/Annots [ 10097 0 R 10098 0 R 10099 0 R 10100 0 R 10101 0 R 10103 0 R ]
 >> endobj
-10141 0 obj <<
+10097 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4399 652.8835 513.9963 663.7874]
+/Rect [454.44 589.661 513.996 600.565]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-10143 0 obj <<
+10098 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.631 571.6839 429.2969 584.1631]
+/Rect [365.617 494.906 476.603 506.545]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-10144 0 obj <<
+10099 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 432.5016 195.1053 443.4055]
+/Rect [454.44 323.43 513.996 334.333]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-10146 0 obj <<
+10100 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.8835 363.2572 440.2823 375.7365]
+/Rect [323.631 240.63 429.297 253.109]
 /Subtype /Link
 /A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-10147 0 obj <<
+10101 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.549 224.0749 195.1053 234.9789]
+/Rect [135.549 97.651 195.105 108.555]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-10149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0594 141.5966 422.9245 156.312]
-/Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
->> endobj
-10150 0 obj <<
+10103 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10140 0 obj <<
-/D [10138 0 R /XYZ 90 757.9346 null]
->> endobj
-9802 0 obj <<
-/D [10138 0 R /XYZ 90 634.0741 null]
+10107 0 obj <<
+/D [10105 0 R /XYZ 90 757.935 null]
 >> endobj
-10142 0 obj <<
-/D [10138 0 R /XYZ 90 619.884 null]
+9741 0 obj <<
+/D [10105 0 R /XYZ 90 569.496 null]
 >> endobj
-9803 0 obj <<
-/D [10138 0 R /XYZ 90 425.6475 null]
+10108 0 obj <<
+/D [10105 0 R /XYZ 90 555.061 null]
 >> endobj
-10145 0 obj <<
-/D [10138 0 R /XYZ 90 411.4574 null]
+9742 0 obj <<
+/D [10105 0 R /XYZ 90 303.264 null]
 >> endobj
-9804 0 obj <<
-/D [10138 0 R /XYZ 90 217.2208 null]
+10109 0 obj <<
+/D [10105 0 R /XYZ 90 288.83 null]
 >> endobj
-10148 0 obj <<
-/D [10138 0 R /XYZ 90 203.0307 null]
+9743 0 obj <<
+/D [10105 0 R /XYZ 90 89.441 null]
 >> endobj
-10137 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F8 523 0 R /F13 567 0 R /F11 411 0 R /F7 526 0 R >>
+10104 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F8 504 0 R /F13 540 0 R /F11 418 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10153 0 obj <<
-/Length 2674      
+10116 0 obj <<
+/Length 2117      
 /Filter /FlateDecode
 >>
 stream
-x��Z[s�~���S+�,a�	�ӇMf�N��l6n�f4�EۜH�"Q���>$D�ޝf��ه��C���

��0�#3�g�ȑf\�n7xv��zA��<�B���/.�"�L#-��]�u+H�%tv��qN�t�������y����
������\��w�ͮ�=_]��D͛z�Q��_����^~(���YYߖ�. s����o.�]{��N�� ���ǟ�l;��#���=����t�����.�����
)�p����e�#%�����R0
eK���t
��
儉�3&\�,ˏ��p��)��|.9��
�
*�
I�X�����F��rW����l����{�nT̟���Ms�WU}ow��1�u/^.��Î���j�?�6f�Ef 
Q��)��U(6eS'f�v8aS�KyF���
XU".r
�~�U��綨�1A�4�����2{Z�u���n3C��
9��	�t��QȲHwgOFD��f�ij�"�
��uBw�u��k�(ꕽߛ�\
��ID [...]

1e���c�8�o�
M9j*(�T������Jj	�zg
�rk��jSܗv]��\h
-kW�qS8��+�#�D�"
H��xc�1W	
�E�v
���
-��wU]�廏=�}�%L�H� $GXS�ʴ
�Hk&<@B�z�i�$�|�+�L�X/�A���~ݔ��o+���vWT���C�t���V1C�P�{�b
�k�<e��\�N 
)�?'�[!"��
�ʢn���IW`��I�tX�Ɖ�HQf�!G�r�oo����͡u��M"7�k�B�ϐ�P�U~*�R�(\>`�.
�s��%\d��`0LP޶X�Z�
�+3��8rH���y���e><���1ώ�5���a�
�a��+ׅ�L� 9�HJ�@uNj

Z �J�����J�Y84q�����=�J��Y�.�@�đik�����Ss��
#e��gϴ�L�d�\���`��
�^�`����ؠ�2ߥ�R	�foL�><)��*JR$�t\��r��i�<��B�i
-�E�*N�RR@�
Ŏzýe
��G�Y�͹;&���˜���B�|�ؓ�P�>�n�,\r俣^�p.����#�6	�w����b;}��N�1�6ŞZ���E�)�r7q�H�8g����^,h."������{����tkJp�U�֏
졯o����h�"hFσ��xJ���� ���
-��
B�)�9�L��5�)�Hqz�)���X�+Hnyn��M�ԉ�d�5��O�F��S�H�o9��"q6F�Д5��KGXS��k�8=�
-�?��p~�r�<����J���A
-x�����H��{��j�"���Lz~��}~����˝_���*���_���%�S�}�,�A�]�q;���N|ф��a���9�A
:��4��gl0�0ܜ�e@ˤ��?O��6 җ�#�>��!H
(�&A'��M�N�|��(~�u-�m���t4���OzdP{���̄2�4VS�OeY'|c�W	�R(�*��ŕB±O�Y�sbSls�a��)����3��B�ӴM%Ha�r�N)����4m{�����E��=���LHۊI��`�#��OOph]͈t*�(X��|"�j�5ug��ͶY7��~���͈
9��0|[
�OS�;{'�������uL���>�
��S��:�f��-x�<[؝
�`�G1)
-����O3țE&`��� *S�
7�5�<��
Α��j��1<D
/����'���b>b��ZY�G$E�����0A}^̀�A�� 
џ��
63�?'u�J�9�1�/�����ىh(u���
�o'�) 8B��@/�)'8fL��K���YL�"�ҷ6c�}�uհ}(�~.���d��{6�}�
-
��J���)]��mQ�n�Z��op�S��lsz�2H�ІbS�tb��
�S@�A����Z�ml>A�X�[�?3��i��ݪn��!<�>:�͢�t��
�����mv���c[��n}�ܸ�*lV4|k�����g�deG fXڂ6:��ao@��`�l�(1�R^l���2�m&k��R#�kOVy/��	[W��t��>��
r�̡�d27���D�$�"H+8m����C]�r(��@�gB��I~����R�O�K��2�kT���iG����������B��o��������{Q�Մ٣Y
-꺟� Tl-��n(�E8'yl ��登�6����
�>��Ѻ]ڶ۫�˧�'t�G����P�^B�_�z�r<�S�˼�Kdy�$�5�˝�xm7�j���>r�B�
�P~���endstream
+x��ZIo�F��W�4#�r�U�`I�
 � ��g.�@�-�&F"5e���y�p).���&@�L�ŷ�W�W4��"
}?��zv�N�(F��2��F1��$HP]o��sB��%���/�'�>Y�_P</vO��L�?f7eR>�V��
��E�XR������]��nS�,�oS�˸s����fo�g���
G�Z"RLD�����p���?D�XG�v�>���]�a��
���2���x�ػ�`\+���H����]��e���H7�d�+�4O��l�O��W,�m�+�3�kb�-�1�Ӥ\��ݿx<fu�f�_��E�1�b�@�}ywtk�	ED�z͛�R`��]R������M��!^Tׯ������N"D��;��՟��a"��
1D�z	���5w�,�H�UHR���rS��۽G��9D���1���FrkR����~��vM�T
ʺ(#�b;b�䈫@_` i��U�΄2=
���Y !p� M��+�|���,�ht�۽�lT�] [...]
**T��SŔ���}Z�#��
�N�uй��P8F*n���$t5M�쯣�G{
3��؀Ï���B L"˱.
L`i�,C�͵�a�� hE^�������*-��@@+(le�1��6�&��F(�%����.��ar��>�l��
+фmA�
捛5��i
l\z�K"����Eq�PF�ちc�<��
r�eP��A҈*2ԝ��_��%Uf&^Po�M��O��#��c�Y��|�a����fywڧyu��X���	}Y�
s7����
+[=&�6�U�Ƞs���&��
�u���ٙ���
i[�!��9jÈ��Ӣ
���$��h��$�{��{��@��dJ";q06�3������
f�6�ܔ��F�.��`*jt�?��;U��VӍ�F�ɒ v�
@
�Um��T�~?
l��|��
V()-���"�=��S�C�ű�
5U�0��7.�
��l�
�p�I���8܃��[���Y��͡-
�8�XNi��N�%0���\�;M��em�z�����m�j]�IV
W+k�z�K

$Y
��Y��?#�1�xlҼ�gyRc��ź1�c}�Zr`��f��"OM���9�;&0V��K at A�l��ZN l -�l+!B�
Jk|��8� ��+�~���`�	`�P�ذ�7�[�ۭ���V]ܬ
-�8sQ�Scw�c;��nAWC\7���9 �8�2�G�t��e���[n��֊b at S�D݇cH��D�E�Gq?QM[��Z�<Id at 8B^f�Բ����uhɡ�c��e
@��f$�gҠΧ!az ���K�PK�1�5�$!�~hc�&�$�9o�4
��"N��T���
^�t��L����s:l��öB�6�uK>C0���`t��I�ajhH�r�ǥ͈�	.�r��p�ۡ��w����EU9����tGN��q�Yd�W�S����#������'�
$�E����_�$ʼa����6���vE�y
�}l�)5
+v�;�Sf*6��
�E"�s�;~Ƈ�m�Ӯ�6���N����<��K��F��q
�>�6�1��!�5
+!�	
�Db�t�u��F�)h�W&��zGj
 ��ִ_�a�3Л�4�3v
܆"��p�<kféh��|�a����M����$�6c��@f����ٰ�dP���B�wHn��4�j�7
�
�_�i�y>	��g1
1s3J1�b���
�e���4Lj&��2Ϳ
+Ӕ���l�jb=�-��T�Q÷������

O|́��8��`L�=�	6�lL�l�D�,ۄ�-ۄ�=H�_�6�����6�slT�j
+%.�lӋ���elJ���lӜ���b�����!�$�BJ��$�W��l�+�|�m��l��6�g����#����3)�� B�Hޫ���q����<���b����cZ�}!��ӊ���T{oB�`D��i�F�k*a�A�i�{;���W��Y��M�95m��}U
VWW������Nyv(QV]
��a�u�$��ۺM�E�ɲ
n���$�O'���
+endstream
 endobj
-10152 0 obj <<
+10115 0 obj <<
 /Type /Page
-/Contents 10153 0 R
-/Resources 10151 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10163 0 R
-/Annots [ 10156 0 R 10158 0 R 10160 0 R 10161 0 R 10162 0 R ]
+/Contents 10116 0 R
+/Resources 10114 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10096 0 R
+/Annots [ 10102 0 R 10110 0 R 10111 0 R 10112 0 R 10113 0 R ]
 >> endobj
-10156 0 obj <<
+10102 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.3329 534.1687 425.662 548.8841]
+/Rect [334.883 690.333 440.282 702.812]
 /Subtype /Link
-/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
+/A << /S /GoTo /D (main_Generalized_Affine_Relations) >>
 >> endobj
-10158 0 obj <<
+10110 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 288.5907 322.4458 299.4946]
+/Rect [135.549 546.589 195.105 557.493]
 /Subtype /Link
-/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1C__Polyhedron) >>
 >> endobj
-10160 0 obj <<
+10111 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 159.7496 353.4498 170.6535]
+/Rect [328.059 462.189 422.924 476.904]
 /Subtype /Link
-/A << /S /GoTo /D (main_BHRZ03_widening) >>
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-10161 0 obj <<
+10112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 88.4452 268.3399 99.3491]
+/Rect [332.333 204.579 425.662 219.294]
 /Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+/A << /S /GoTo /D (main_Single_Update_Bounded_Affine_Relations) >>
 >> endobj
-10162 0 obj <<
+10113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10154 0 obj <<
-/D [10152 0 R /XYZ 90 757.9346 null]
->> endobj
-9805 0 obj <<
-/D [10152 0 R /XYZ 90 610.1355 null]
+10117 0 obj <<
+/D [10115 0 R /XYZ 90 757.935 null]
 >> endobj
-10155 0 obj <<
-/D [10152 0 R /XYZ 90 595.6028 null]
+10118 0 obj <<
+/D [10115 0 R /XYZ 90 733.028 null]
 >> endobj
-9806 0 obj <<
-/D [10152 0 R /XYZ 90 351.3236 null]
+9744 0 obj <<
+/D [10115 0 R /XYZ 90 538.106 null]
 >> endobj
-10157 0 obj <<
-/D [10152 0 R /XYZ 90 336.7909 null]
+10119 0 obj <<
+/D [10115 0 R /XYZ 90 523.623 null]
 >> endobj
-9807 0 obj <<
-/D [10152 0 R /XYZ 90 222.4825 null]
+9745 0 obj <<
+/D [10115 0 R /XYZ 90 280.496 null]
 >> endobj
-10159 0 obj <<
-/D [10152 0 R /XYZ 90 207.9498 null]
+10120 0 obj <<
+/D [10115 0 R /XYZ 90 266.013 null]
 >> endobj
-10151 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F7 526 0 R /F8 523 0 R /F13 567 0 R /F74 478 0 R >>
+10114 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F13 540 0 R /F11 418 0 R /F7 505 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10166 0 obj <<
-/Length 2304      
+10132 0 obj <<
+/Length 1660      
 /Filter /FlateDecode
 >>
 stream
-x��Z�n�F}�W�)#a����<t�,�� =ݞ�I��h���PT;����"�*�X����#��uOݺۡL&�#�'J(d���������/H{;��������;)&I����YA$(����OSB���`���gO�j����(�n�OŢ���,o��z���/ψ�nֳ�
-<�f��v���h����"bʱ��r��ŷ�=�v'�Ib��v��/x��
�x�3ZL
�
F�:Y]pʺ/ˋ����q7�b���	�d� E����@�h��Q
����a��DQ��d�q෿�ۺܬwW�{$�"�(���v�$z�Q

�R��ê�Ʈ^\]����O��\���~�*�����H
-�H�ԁL���#C1C�����C��Q1}���LN�;���;�{Sp��s�����#��rwxS?�;�	(0�(�-&_/"�P�,1����"�#FzKyU8��f�Ynr}�Ym�Y6��tS9Ȣ/���3��$�p�
C�e�ZF�f��e�;#c�h��)"B�Cr"��h3���M� Ӝ�$_���媬����>��y�{]��܆�
Ҹ�_7��~��B��.��*�noA�H\Bx��`�
��:���L�V=c�؏U^���ǧ]]��mHMŘl׺�E�iD�V����n�XD�kHv���U�+���6b�`�R"Z��#Aj͘.qd	��R��!H$�3�
FB �$�.��5�
-%�cA
ۥBL1��t��C��@�3Z���v�7w��6%�u��oy��XQ����6	),�l���Uݷ�^����@�l
ֵd��pl�S?9��1�*ې�Q!�Q'1%��ڄ�n���(֑�b
-Q��)�������I4$(��������ߥZ���D�8N;��С����eWղ�rQ�-���'%�F���q�kA'LC�:�6ۢ�khBLѱ�n�`AKL�È�F��S&��y��UQ��@B��aHzX%�q��I��}�
��MB��\gض���J�C^��U�/�6?tW�V�]
����t�}S��;�Аl��_�X�J�`��o��
Nw<�?U�htܱ���`���`�F
��8�q5m�C
���I�9�z�к{�}�=�#h��Vz�w�q@�sDz�� 
-u����股����C�$��ഔ�����R��`��!�@\B�N[�PC��r.dh����̦0��~��
-�)���V�J����~Pj�~�S~^�y3��;�}M񷷝���z���Vl�ϮhGH�@�<,Po~�E��ӊ���ӑ.��Z{�p���uG�*�B�3k��.�
��܏}�	�
xL@�a�O��
��D�=X���R}�C�����	S�i6�w=�+
-
K3Q>�E�̟Z"��ú�m_��r�yq�.��t��Q�͋;v
-v��&Q�T
���b{��Nz䠤d�J: �+i#�J����͗�U��!�M?���qM�RocL�x�:��v�#z\(��q
�q��`�co���@�Sf����f�^�	�,��[����+t9�OV!�����
��fD�3�Gt��h��Mt��}b6���t9��3�k�.�����#�'�0���'Uy��|xL��k6��
G�
E�C_
y
y�:��)H���qE:�
-��'5��1�,Q��}���&Ȣz�����ȝ��
2�ƻ����1-���Kq��YJ�f%VD��5>�0!q�,%
#�hL�MK+���J|`4���m%�
��V�>,u�
�O[���j\�V�dJ�aH5C�)�z��;�	%���+�ո�~V�b��#���B��'tx�z�
ȍ��$�^������)��	Q�����	-��<f<���$�a/��I�
4��L\�d>k�?�WC
.��$��̻�0?�k�kS�y
��)m�3�����5��b���$�H�;�5�J"���}��N���L�}GZ�((�$L3�N����D��`]K�́�e
)���ɱ��P'�3����'�@R�?����]��J����	�.�G�&

-�������5X<K��$z�I�w����K�� �F�r/0�ז{
�꒜�#>,u�
�
I[����j\�V?ˑV8%N��r��'�H�z�
	ȍʑ$�^���Ζ#O�AB�����^
-����u���o,���Wmw>��M�{���N���nt_�y�}�Ϯ��f���ȿ���	���Ң���T��H��>�)�ڗa*t������Lhȼ'\�Q�n��=?�����������~]n+T֗嗃��v9�L��
4�x�i���"�s��"��h����H��U��~BV�E��n���endstream
+x��Y[��F~ϯ�S�Hd2Wۓ�������KE�dvc_�'�M}�x|���@��BZ�o�g��;��عv��b��b�x�2G"�R׹�r$v<� A�s�q�N	A���c<}5#xdQ�z5�x��[�ɂ��ed��}{F�i��T���]����R�3��e�S������ɳ���	˰C
+K��<&�u4y�
;�����I�9R��)���y3�k�K��w�Dsǣ.".�
>�]�T�I�/
#�Zϥh� >�t�n	aU�z�\����M�
7� ��G*�
����#-����p�͒�D�1
�̫`}{i.�+H��F�IƁN2+���J��J4̭��R��;����ڲ��JݦCK�9��R�
8Sy�

(�q�*���F��FTkeo�4m'sΊB5� M.�ăb��>�-D�ty�
+�����%�	!�9�<��I�:�ܕ�L
�q0��1��:D7���#[�u���8��$��<
�}sJ
�BCF�ϛH�Ƅ��$��P����(�s���[����
I��=�s�d����J�4W+ ��:��L�u�{ ���O��N7�n�
����5y�����ĕDž�e>u2�%�����i���e�@?�w�.��h
+x�����
d-F�ͮK�}�b⼵�y��ǗJ���JPB���nWVP��4��W�
� Vy~��[�ܫgʑ/ V(�-�_>%ܯ1%|�֨�	<�7���(���
xJ[�b(���t1�X��4�%��
���+ Ո4�k�B60�	݆m�>
N���&��M���G?������V��2tW�OFa
���j|�~��O��@���^�O0��ܣ�\����X��&)���Ӓ��!ޤZ���С������Y�����!)e	�������U}�R .���s�@>��`nوA���>w}�m�6��ਨl|l����]���ں
�j�ڿh��H�4D�RUe� 4�h��P6]C
�9��P�J�^0:уq
�\8���v��ŏ� `uS=63ۋbT;s�!�a
���5��A)Z�Rq�ƌ� 
˰�y��?���܍�ѥ��m��]��U� �5
+t��ԑ*��
[#������ �[�Z�"�{�&H����\7qy��8�
���ֱT�m
~�+�w��O=�>����`,_�X�	c��g2�]�ZmV%sQ�:
����LE_J{�%�t�'�!�"1"Md�[Z�=5� �^�9�ZE�ka-`Z����J�m�$�>���G��HHw�$��!I
b
;� �֐��͢I2��ͱE�
+��V#PV��V3@�v��A����
+2}vG(��M��0i~)��9��@�:}� &��*+~>�
z��o�?�ٷD�H�F��-O3�K�v6�
+Z�-TI��f�"Ja�C�ݘ�aA
۩^i�t�K�}?��w�6���W���c�t���ʹzw軇��$�{�\y�>��Hhh�z�3�fRPV��e
/(�9��0����CY�\�?ع>D������
8��a~��Q m��X�
��[^V
�^�4�^����g3�J
�3��4��iF
^Y�
��4S��ʟ3�7��7���:�}R$�1�b�[gq�u�\,�Z�h�i�B��n^��q����W����R�T���nF�9I�+�q�
+endstream
 endobj
-10165 0 obj <<
+10131 0 obj <<
 /Type /Page
-/Contents 10166 0 R
-/Resources 10164 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10163 0 R
-/Annots [ 10169 0 R 10170 0 R 10171 0 R 10173 0 R 10174 0 R 10175 0 R 10177 0 R 10178 0 R 10179 0 R ]
+/Contents 10132 0 R
+/Resources 10130 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10096 0 R
+/Annots [ 10121 0 R 10122 0 R 10123 0 R 10124 0 R 10125 0 R 10126 0 R 10129 0 R ]
 >> endobj
-10169 0 obj <<
+10121 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.8852 619.3635 373.5696 630.2675]
+/Rect [274.526 619.364 322.446 630.267]
 /Subtype /Link
-/A << /S /GoTo /D (main_limited_extrapolation) >>
+/A << /S /GoTo /D (main_Time_Elapse_Operator) >>
 >> endobj
-10170 0 obj <<
+10122 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 607.4084 167.9272 618.3123]
+/Rect [274.526 490.067 353.45 500.971]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHRZ03_widening) >>
 >> endobj
-10171 0 obj <<
+10123 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 519.8714 268.3399 530.7753]
+/Rect [180.659 418.47 268.34 429.374]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-10173 0 obj <<
+10124 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.6437 390.5751 376.0007 401.479]
+/Rect [286.885 289.174 373.57 300.078]
 /Subtype /Link
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
+/A << /S /GoTo /D (main_limited_extrapolation) >>
 >> endobj
-10174 0 obj <<
+10125 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 378.6199 167.9272 389.5238]
+/Rect [89.004 277.219 167.927 288.123]
 /Subtype /Link
 /A << /S /GoTo /D (main_BHRZ03_widening) >>
 >> endobj
-10175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 291.0829 268.3399 301.9868]
-/Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
->> endobj
-10177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5263 161.7866 335.7364 172.6905]
-/Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
->> endobj
-10178 0 obj <<
+10126 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 90.1898 268.3399 101.0938]
+/Rect [180.659 189.682 268.34 200.586]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-10179 0 obj <<
+10129 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10167 0 obj <<
-/D [10165 0 R /XYZ 90 757.9346 null]
+10133 0 obj <<
+/D [10131 0 R /XYZ 90 757.935 null]
 >> endobj
-9808 0 obj <<
-/D [10165 0 R /XYZ 90 682.134 null]
+9796 0 obj <<
+/D [10131 0 R /XYZ 90 682.134 null]
 >> endobj
-10168 0 obj <<
-/D [10165 0 R /XYZ 90 667.5637 null]
+10134 0 obj <<
+/D [10131 0 R /XYZ 90 667.564 null]
 >> endobj
-9809 0 obj <<
-/D [10165 0 R /XYZ 90 453.3455 null]
+9797 0 obj <<
+/D [10131 0 R /XYZ 90 552.838 null]
 >> endobj
-10172 0 obj <<
-/D [10165 0 R /XYZ 90 438.7752 null]
+10135 0 obj <<
+/D [10131 0 R /XYZ 90 538.267 null]
 >> endobj
-9810 0 obj <<
-/D [10165 0 R /XYZ 90 224.5571 null]
+9798 0 obj <<
+/D [10131 0 R /XYZ 90 351.945 null]
 >> endobj
-10176 0 obj <<
-/D [10165 0 R /XYZ 90 209.9868 null]
+10136 0 obj <<
+/D [10131 0 R /XYZ 90 337.374 null]
 >> endobj
-10164 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F74 478 0 R >>
+9799 0 obj <<
+/D [10131 0 R /XYZ 90 123.156 null]
+>> endobj
+10130 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F50 339 0 R /F65 376 0 R /F23 340 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10182 0 obj <<
-/Length 2434      
+10148 0 obj <<
+/Length 1555      
 /Filter /FlateDecode
 >>
 stream
-x��Z[o��~���S#�x�}�I��6Y�)	Z�m"�P�z��{�áf�!�<M��]^�|s�E�a�C2�3%2��l����#\���n/��2�����wRdIev�Ю 	���n�ӂ����`�o�	^��._���x�߾<�:_��������6�|M�b_]/���o����,
��^Q�
X�������ﯾ��v;L
��~��v��F�h�=�	F���8e�d{���~
w�} eN���l)RT�����vX"��(i;m�Le�JD$ӭ���.M�����=L�b�f�^�D/=FaT��`�a⼪�ql6��eu���}�-7��~<튪�2II�:��Rc0�`(fH28���=��k*���E�`Q�|GCk
-�0W��>�3���p��9��4O���DE��N&�6�e(X���%�ሑ^S^x�?��ǗeY���Cޔ����Z�k'�)��G���.�-)��aH�%��¥Y�<���X2v����^�ɉ����6C��rM�)	{{�-weSlV�TfU|h�
��� ^A��U�

��
��o\�OՁ���E�j m	��s�$�__/l4P��=��jV�^�M���E 1c�[k}Lhӈ�bm��n��$��kHu�Ga�U�+��PJ0�(���!j�8��@F)��$�K�
FB��M
+���k[�	�tj��؈W$#�OFp d
-��.��m�N��?�k6NMY=v�@vP���E2I�>��h+��U?v2?5��_�$j�h]
�K
���&b��)
N��
�h/u4A�����y.�*�-��6_�[��I$�z�tj��5�t��(7&�_��^�����Z,Pບ̱_',j�妨,�a���k,3I��
(�饖�����ЯϫY��CQ�
�!h��#�X���%���Y
�F��m仢)�ɱ�$�O�-$$=��b}@E�	E���f7�K���Ƈ2H�&��7��
��W�7.����$�|w:6�L�N�
��
�"t���*��D2K� ��Hf�
�
�_��*l�O���̳Ԝ/;�s��})!Fa��U�F*i��1�wO����`�L7B�sCGMNG���!�
�P���
-�A[�#�`��,'�1L/�6���;O�q⒳
Z��X�ȼ�
k}c3,�o	N��g
L6���jM	�N��ګ�-
��2o�f{�Eϵ��L
W���ޯ��Ϯh�L�@�=/����h����!\�����p���uP�*�B�
 ?
�/]�©~�X<&��3%ȅ~��/��
���.��'�����T�q�wc|��.��� �lD��6�6�맪��T��s�kq80�\`ڡ�L��Y���h���L
�Hgb/�iD{� g�=�&���h
��D(����
w���X�>dz!�
V�l
#l�^�N!��Fꈮ��O�u�xK׭Ȉ�5#�eL_���1]'������Tm���D��$���	`�_ �
ː�[���3�ڱ��u{9��5�\�8�HQ..�u'�
�eo�f;]��p�.3u`�ã1�!S�R�0�q=@4MՁ>S!?�-���|�$��d3���1Uo�l�L�3�Z�(�w���!
-\��I��a����a��R4���X���7���
SL 4=�0����^J��{'��
2C
�9�K�﹍�y�Pc�v��جڜm���a(6�I/v�x�k��Hk�zGZg��"l�
�
�����.p�y�=�
iMs�H��-�&ɽ퐄��Z�
>0ý{����1�I�=��������T
-('��]+��n[�����|��Ϥ�E:{�O#߳9���4����I���[�1�f�|��7��񐯋U��í
-���)��ˮ��C�"��Zz
-�K��_`s�>j���wF�q�9����7?*V9�
Oj��*���:���;<���� jZ�
]|�ݤ���HF��D���Y�d�#�v���y��t�##m���Q=`���^/��+9����<����'�Hi?��B0�
��u�1Ӟ�1#�OR3��Y	���_
���yi�b�K^��Nۢzl�VE]C��(`�X�yK�Rc�I��\�I
"�JT��^���c:�=�
P�8gl�2���2���2H������
- ��9
���%=
Dy
�ֆ��^﬋����	���A��u�
n7�_n?u�0Cz�e �b0��p��p��a������ht40CTG���c'3B��,�x�#��,��
g���l_Im���F(����I>� ����:ض����ew�5gw��cQe��t%�?yujy
[S�p��8h/T���%�`|W$>1�+�"����_3����e���nG��=?5����������T����
���KK[
�2s�[�B#,�噖H�˃ﭻ}]��
w�;�Q�9���w�endstream
+x��YI��6��W���@��"���
� 
�H�饓��X��[r$9��}Ej
yi�ô5d$�����Lc���Ϋѳ���K�9I�����#�#|�8%�u�ܸ� ��'c���*��S���BEY8�-���l7����$p�d<�
�ϗa�����N���d�@/�|�z�?]���
}�
;���
$w���'�D�������ٖR+ǣ
�.��?F��W�!��W�!�[׾j��8#����tz�n�HE�g�����L}+�p�.�"N��D;�M�hɭ�����#�x�&ya^���'����-�	�O=�^j��N <dU
+<O8��:�~��8)fvy�V�>�>l�� *e�M�}U��
�D�Z�#�l�\�<A+�b=p*��z���J�]�s�
+��C812
�d&��
,!��
{)��L%9�=�H�����C/;zH�
�"�
�q�%�̡��7�B?s7�3k�t��qro�Y�g���{�i�_���r�-a#�Ƅ��"�{M�U;T�U*��L�
��8\ɄI4�: �뀎�|\�v���	
8�ݦ5�=�ƑJ��^Ptߤk��E��9wQG�Wo���
؄*h���T��|���h�=�EY�N[!hm����ub��^_[����X��	#�]�
u��8�6y1�0�נn�[e4� 1���k<T4>Ç��d�#��щބH�gY ��^��ŏ0D�\/�y
9uZ�-�����+�$L
V�,խ�U����ۇ�̪-M��xT���� �^(@z
MOu�)�Z7}��o
�
N��.?*m��Њ��^�~
S%
��Ke>ϡʎ��`5٬n�F�
�B=���x�((�Ϻ/�FX-���1����5ZX�.
"��$ཙ�^/w�罈Xǿ��Ţ�^m�  Dj�/���F�qr
<
�Dt��ŷ�*���@6�E4�B�y�pG�0�߬TR
D(
�T8(dd
�悹���0?w�>P"���C��F����ᆣ̇
�㽡
a���E
+m���&q��+LƲJ��"ΌHC|sȚa}P��Go����.2a0�����p�#��!q������BΪ2�5���RR��p�AΈ��1~��g#t��%��G�,p�g��(�}�0�C+�؝W5a<	
۵3��!�rr>�qo?�Q �C��Z�0N�_ <i��^xۣ�m�s�9g�9�y���`�Q
+G��R(Xz��x���(��=
%`��(Z�G��+0?'G	
r�@�GR��*.T4��{�f� ��+5	���멌�Gn�ؿ�FM
�G�����k�=����G�\��x=zDZ�ZzD��
CU�ڪ5J�ާ�
#���
�O�~�
+�*��}�	1��2Z�a���M{�{�
A{
�\n�.��0�
+.Wk����:�_�� "��s��28��a��a�y�^��i��
׾V$׼Z�k^��U���h�~�M	
�Ga^���,���o�)�L�O��U��q�S=�
�	j���A��Y\�zzu��n�<G�$^g(.����
�q���w��?��i�Vi��9����<H����!6
+endstream
 endobj
-10181 0 obj <<
+10147 0 obj <<
 /Type /Page
-/Contents 10182 0 R
-/Resources 10180 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10163 0 R
-/Annots [ 10185 0 R 10186 0 R 10187 0 R 10188 0 R 10190 0 R 10191 0 R 10192 0 R 10194 0 R 10195 0 R ]
+/Contents 10148 0 R
+/Resources 10146 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10096 0 R
+/Annots [ 10127 0 R 10128 0 R 10137 0 R 10138 0 R 10139 0 R 10140 0 R 10141 0 R 10153 0 R 10142 0 R 10145 0 R ]
 >> endobj
-10185 0 obj <<
+10127 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.6309 621.8782 359.7835 632.7821]
+/Rect [283.644 690.333 376.001 701.237]
 /Subtype /Link
-/A << /S /GoTo /D (main_limited_extrapolation) >>
+/A << /S /GoTo /D (main_bounded_extrapolation) >>
 >> endobj
-10186 0 obj <<
+10128 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.5306 621.8782 513.9963 632.7821]
+/Rect [89.004 678.378 167.927 689.281]
 /Subtype /Link
-/A << /S /GoTo /D (main_H79_widening) >>
+/A << /S /GoTo /D (main_BHRZ03_widening) >>
 >> endobj
-10187 0 obj <<
+10137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.659 590.841 268.34 601.744]
+/Subtype /Link
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+>> endobj
+10138 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 609.923 128.0769 620.827]
+/Rect [274.526 461.544 335.736 472.448]
 /Subtype /Link
 /A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-10188 0 obj <<
+10139 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 526.222 268.3399 537.1259]
+/Rect [180.659 389.947 268.34 400.851]
 /Subtype /Link
 /A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-10190 0 obj <<
+10140 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.6437 401.5714 376.0007 412.4753]
+/Rect [274.631 260.651 359.783 271.555]
 /Subtype /Link
-/A << /S /GoTo /D (main_bounded_extrapolation) >>
+/A << /S /GoTo /D (main_limited_extrapolation) >>
 >> endobj
-10191 0 obj <<
+10141 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 389.6162 148.5501 400.5202]
+/Rect [491.531 260.651 513.996 271.555]
 /Subtype /Link
 /A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-10192 0 obj <<
+10153 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6595 305.9152 268.3399 316.8191]
+/Rect [89.004 248.696 128.077 259.6]
 /Subtype /Link
-/A << /S /GoTo /D (main_Widening_with_Tokens) >>
+/A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-10194 0 obj <<
+10142 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 86.911 300.1613 97.1923]
+/Rect [180.659 161.159 268.34 172.063]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-10195 0 obj <<
+10145 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10183 0 obj <<
-/D [10181 0 R /XYZ 90 757.9346 null]
+10149 0 obj <<
+/D [10147 0 R /XYZ 90 757.935 null]
 >> endobj
-9853 0 obj <<
-/D [10181 0 R /XYZ 90 684.2651 null]
+10150 0 obj <<
+/D [10147 0 R /XYZ 90 733.028 null]
 >> endobj
-10184 0 obj <<
-/D [10181 0 R /XYZ 90 670.0784 null]
+9800 0 obj <<
+/D [10147 0 R /XYZ 90 524.315 null]
 >> endobj
-9854 0 obj <<
-/D [10181 0 R /XYZ 90 463.9583 null]
+10151 0 obj <<
+/D [10147 0 R /XYZ 90 509.744 null]
 >> endobj
-10189 0 obj <<
-/D [10181 0 R /XYZ 90 449.7716 null]
+9801 0 obj <<
+/D [10147 0 R /XYZ 90 323.422 null]
 >> endobj
-9855 0 obj <<
-/D [10181 0 R /XYZ 90 243.6515 null]
+10152 0 obj <<
+/D [10147 0 R /XYZ 90 308.851 null]
 >> endobj
-10193 0 obj <<
-/D [10181 0 R /XYZ 90 229.4648 null]
+9802 0 obj <<
+/D [10147 0 R /XYZ 90 94.633 null]
 >> endobj
-10180 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F25 344 0 R /F67 366 0 R /F74 478 0 R >>
+10146 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10198 0 obj <<
-/Length 2569      
+10160 0 obj <<
+/Length 2065      
 /Filter /FlateDecode
 >>
 stream
-x��Z[��~�_�V"臘Om�-���vwڗ$04�f�Ɩ
I���_�Û,J����RI��������*�+%�������`�O7�O�0�	�ps�F�U�2I����r�	J��~�}B�t��q�vMp�7�|�vMqR^�Ů�7)��y����N�j�R��?
�u�����ն � �H8��?�w��}/�?�`�A���G��������eZ�^�#�etu�ᔅ�������|܄]0�A،F
i�2��`V#�{��J�TŚ���|Ф=�[?�+�EՖuպ��ppD���׭��Fg��ɑt���|�m�>�jW��H>���#-���p�Hr�v��o� O^��v��y�}ޘ�S�}PH
-�΄ ����+��b�N#�ë{�恓��튣��s
G���
	��om�Ya��#kޔ�á���sUYE��n���O��Q�����P�V����.>���^�b�����g݀6�i�.�4���.*7�M�,_�M}toN��rֵ���

F��?
�!���'?`J
1cCb�0��Ӿsj%Q��6
-�
�Ð$�["�&�Y�4��t@�W;'l���g��C�A���?��^��Xe�TC a8H�T���h��{�.o~�'�
�&�"�%�;`��?`�
�
�*�]�3ӞNx:2dʐV�y�~�
�
)��2�*�eʝr�%
6�dj
-˘�8"�	�f̯AU0���
�!H���\�T
-Q&1��N� ����p|h��֠|�x���t‘�$S�)5�T)��i�����9�9� B"#7�sdQU4���b��sqD&�|��`*d]�X"W_P0�� >76
-7�����ݜ
�?��lv3��Wl��S�����P����A�3GUH	<u�(���	�5%
-I�]]��n�z~�
�tB3!�
#nq��3�k䊐��5*�&�ԗ��v�ά�
�Ɣ�R

-?[�����`��"��=��V�K� ��5
�&
M�0�!�A�Br���rXoʏ��n�;�`[F���1z�
��
�`�-P�6�v�0��`��=�d��ňs!�
�{�<��
L��N!u�X�k
��ή�O��~����`��͗l5�₱���vww��z����i����(H~���5�SM���)�2Lb!��d[V�����{�iր<�9c�Y^�$k Ӿ��V�P���|ع�m��zJ�D�8�cn֝��Z�m9�6F b�h��~�¡b0�x�
3�p3�<y�w��=}:\�0�����]�q\NL��}(�2D��c�F����D��2� �Hb��tY8��XE'��k��i`�ΰ
-�,��g
�`��*xXŵH�`
�`�
�,a�U�Uz ��#�U���*##(|(`��ȸ�xZ�����9?
�D�
 �t �`r�t�`b �`�`�����aHq"� �c� �2JՕF�9 �.0��1
�� a{ f��A
 ������2����ͨ_�J�
��~MC�T֛
-�#��P�^���%�E��
��.Hcۼ+*���۶|�
3c	���'Kf�8��73hk��_gh:��Ϲ�<Q
����Fwj9�4%���L��Q�I��P;�?�#��)&
��b�� y@J���&Ч�s�䘯/7�N3�eI��H�q��@�F��I, �婲	`����lS3�l��ȕ!�_g�،�	�"�ɄEQ�o靨nv���H.b%�!�5ϖ�Ґ�2Vb��'#�����D�y�ԓ�H	��!��r�ɛ�g���D�
����`Q=�T���ش��
	!&c�9�39P�����=N at d�it�	Z���5-�m}<A�Bg�.�Yq���Y���; [�o �<$�,D��'B�#�H��]�V	3���ӛ

-�u
 �9�j^����	�4Z�ڑ
��
�
Qi>i<\RV^��>
.�����
Q� �%!l���T���'�z�:�C �z�P��D܇�IB���
`���6k-�br�ٟ[����uF{$�y_xl0ק(����HWo
�Mc%ޭv3:�I���.�1D�|߽���.��
P
PK�V�S�-!��p];���Xp����j���B�rE].hDA
@ӧ���l����r�'�@�h�H�!���%e�D)�Ɏ)F")���6x�롢Ȇ�0�e��p��0c�.,!!.&B�
�,[TD���5L2��h����x�]w[7��Ou�o�~�����
�G6���؈O��w�\
ҹ�R~r7����������˺�E�����0�]\$L�ũ�]�0�E_��S�ow����ss/e�wou���*j�q�|L�؇.iOEwS�W�CsE	�T��멮	���l���h��rP����AI�=
��N@� �����������X�_K��_E�
	�fϋW�^]�[0e�FLj�� [...]
-o
�� 
�-��������;��޾���m����Ԡ��=��c��ɩ\eK�K{��,�桇7ף<��14:�:`�����E2�lF�z�[endstream
+x��YK��F��WpZ����ހ
>�:<���F�gzOc���j���h�_�Y����X��(�$+3+�˯�v
��_��vu�F2/F��һ��b셒 A�w�y|B��`���k���>&۷k���p٫�N����ꤾl6��5���XT`��C�4v�N�+�L���K�sB�?�����v�늀e�#���	/=�>���
��0bq䝍������_��zE�R��B
�ع�Q�V�IB�9�n6w��T��Goէ�N��yYl��|Wh�� ��3�',pZMk��P ��߽y��O�
,��b%&^sp�w�ց GG�}��u�����i������ӕ6
�E���l�S�
W���"Dd/��la��v2m��*���>
+�8	1����s��A�8
;�2�d�cH	�"	A5¯ͶBb3���\rR"!ٵ�9��ރv�7
�	>Rv�Z5�C���/��\Z
�S�;g��ڲEU�\u��~�}0ﹴ��jM�?�]��-��
՞�*���0
�3
��q��I�lA
�
����$FG���yNL	x+��)�tp�3Uh���)+U'mY����D`�lF�N#
+�8�k��jU�l&oZ��!��D���#�G/��q�+�m�Wg:�i�Ikc%7*A�[}���]�-�Ө/�;e5ִ /:��m��1�!&�K$
Cq_ _ς1�^@b���j��!���h�۽����>�U��NM�? ��ñ�K]g����&ͺW�=z�#c��
��C�p�Zg �RV�Ⓝ��68��<2��d�D{`7��T@
+���A��
�)7������xg5r0�Kt˳
+�à�-�u�4�jq�(���̹���yo�\$���nRU������A8��ߋ��v��^o� d�\��J�E��I�^�8p
�$���w�Re��w"A<8ܴ�f��!��!϶I�;
U�>��:t�pHPؑ3����/7�����W
Jb�q���v�A�r��ၟ�K���>P��V����2,w� /to��h�T O�7"Y�m`�����@�䬉�_G
D$`Я�����p�T%�f����c�I�m�*Iն7��Bض
+�3{������R�%��ɾU,�t^���V��`��Zn��Y�,m*PxJg+N�E��
�
e�ڡ��
Q��:���ģ�!tyȖ;h^�$'�Y�O5K�
��ql��/J��o}���{����
���Abs
+�1��/
+~U���V�5�?C����ǨG�Ԩg���}��|�=�}ڷ���]��pB�%t��L���4�>g�6�`0ɥ�6�R8&�*W���
HO˺_���8GsH�C�1�4G
]Y?�\���Y�X
4��q�I2

�%��hׇ��s�l�po���� �v���n�̩nr8
�Й7V�T�Ѧ��� 2Wz�
�ӽS�4�����K蚤P��o�ƈw��D_����!���'�������S"̍��O�%9����?��ݍ���.��q��i��]��G�}
+` N����i�`m�&E�t����f
�tmϮ��.�vd��.
?��y߁���
�>C���:9�`���w���I�,�͊ � <�]�p�"@�`$e���pÎ�%�
�vO�,�a�W��B�\D��̯��;�[zj�
Fw�s�<Pc�	P
+�
�"
u호�#��� :��*�T�u������k`+2�u"
���v��r�O
!o�U�!̡���G(0s$����
?��r���]�(�2l�F�w%��%E���a8'�8��&���>8�1ɟ �� GPD��̟��$'Y�B�
�$�f��B�s+��-�_��E/L|++�_�*�����q�%,���T�
����p���_���^VL�Ŋ������
�L���/���)~,���O��^v���&�s� 3��bCo "FB�YR������n;x��c��U�?|��wR��J��v/jE3���:RՊ0��
R
��U�aκ��׍�i�<M1Cd��d߶����|>��A�"�j��7Uu������?��;�9���`
&��_��M�<P\�
+endstream
 endobj
-10197 0 obj <<
+10159 0 obj <<
 /Type /Page
-/Contents 10198 0 R
-/Resources 10196 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10163 0 R
-/Annots [ 10201 0 R 10203 0 R 10204 0 R 10206 0 R 10207 0 R 10208 0 R ]
+/Contents 10160 0 R
+/Resources 10158 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10096 0 R
+/Annots [ 10143 0 R 10144 0 R 10154 0 R 10155 0 R 10156 0 R 10157 0 R ]
 >> endobj
-10201 0 obj <<
+10143 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 489.4099 300.1613 499.6912]
+/Rect [283.644 690.333 376.001 701.237]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
+/A << /S /GoTo /D (main_bounded_extrapolation) >>
 >> endobj
-10203 0 obj <<
+10144 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.3343 328.5583 236.6587 339.4622]
+/Rect [89.004 678.378 148.55 689.281]
 /Subtype /Link
-/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
+/A << /S /GoTo /D (main_H79_widening) >>
 >> endobj
-10204 0 obj <<
+10154 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 259.5702 256.1568 269.4679]
+/Rect [180.659 590.841 268.34 601.744]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
+/A << /S /GoTo /D (main_Widening_with_Tokens) >>
 >> endobj
-10206 0 obj <<
+10155 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7077 149.5649 250.8953 178.6307]
+/Rect [172.639 362.928 300.161 373.21]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
 >> endobj
-10207 0 obj <<
+10156 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.0245 106.7384 483.2121 137.7071]
+/Rect [172.639 92.605 300.161 102.887]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
 >> endobj
-10208 0 obj <<
+10157 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10199 0 obj <<
-/D [10197 0 R /XYZ 90 757.9346 null]
->> endobj
-9856 0 obj <<
-/D [10197 0 R /XYZ 90 648.9198 null]
->> endobj
-10200 0 obj <<
-/D [10197 0 R /XYZ 90 634.8495 null]
+10161 0 obj <<
+/D [10159 0 R /XYZ 90 757.935 null]
 >> endobj
-9857 0 obj <<
-/D [10197 0 R /XYZ 90 392.9856 null]
+10162 0 obj <<
+/D [10159 0 R /XYZ 90 733.028 null]
 >> endobj
-10202 0 obj <<
-/D [10197 0 R /XYZ 90 378.9153 null]
+9803 0 obj <<
+/D [10159 0 R /XYZ 90 524.315 null]
 >> endobj
-9858 0 obj <<
-/D [10197 0 R /XYZ 90 253.3816 null]
+10163 0 obj <<
+/D [10159 0 R /XYZ 90 509.744 null]
 >> endobj
-10205 0 obj <<
-/D [10197 0 R /XYZ 90 239.3113 null]
+9804 0 obj <<
+/D [10159 0 R /XYZ 90 258.171 null]
 >> endobj
-9859 0 obj <<
-/D [10197 0 R /XYZ 90 89.4414 null]
+10164 0 obj <<
+/D [10159 0 R /XYZ 90 243.6 null]
 >> endobj
-10196 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F25 344 0 R /F33 481 0 R /F7 526 0 R /F1 573 0 R /F8 523 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R >>
+10158 0 obj <<
+/Font << /F63 374 0 R /F95 1779 0 R /F23 340 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10211 0 obj <<
-/Length 2657      
+10173 0 obj <<
+/Length 2102      
 /Filter /FlateDecode
 >>
 stream
-xڥZ[�۶~�_��T��`�Il;}h&n��3������JЊ�D�����=�� !z�Lf��p

|�;�,0�G
-/
-Q Ÿ\l�7x�?�����5�����y�V��BJR����$A����~X�8]�	�x�nE����������ۮ���~����v��˶Y�������
�띶c��h�KN����O7?�EU�N��(����b
;��#�J�x���Rtq�ᔅ���/7����A� ���X�2��`� �$�f�l���[ؠR�[�t{�Lrlͷv>}�����?������Gݜ�9C��kPC	A�J��G���复ԛ��죠�(%�o�'�~�Lꤓ]K�()����t �W ��rkR I9����F�وXjs�L,��6r���~
l˾�;'�����܀��:�a�}���ӡ��G/>����pp?�+s
n��2�
C�1�!�
���'��#�D�ی�J�&*T��Th��R L�b!�BB�4�� �
JM�[*8
s	�����/}��o�k
 a����%��T�y� L\f5j����mݬ8�Bu���U��V�'J�I㨳�RSe�S
���9Q�nߵ+*�φ�_ [...]
-��T8�̀��L�{<U���P������:M�|���Խ�7�0%p~�v�
�3aQ��=���f�dK��^ �A�C�
�F̑>+"�b�H�������;�[~
-$����Xm6m�u$n>i��cz`�=V�S�%PI��|�P��e��"ʯ�L�b:���;
��n��D���R>Ri�XQ�k�Lf����B�|�J]��Y�(���&�#��L��)0;&��cGK��(����y�鲉�	��������Q��7�����
�
)���K�
���'菞�
�p�
"ŋ�>�q���n�3�M�Č
�
���t.[��z��=
\X�ہ�߷��U�q)��
~D�Pڡ�� �
-`fKI� ?��M?�-^B��W�{�x�r�i������
�Q?�7�s�N�O]�i�g�>�'�
��S)B����XV��=����=�!ke���$���h/�e^.�2o��0��k��
�ܛ1E�4�~a�,�ޯ
�?o~�.�⊊5$��,F��S�ՐU�Fo�e�j-
-i�75�T��"�ݙ㙚�P���`�2�sv�ʱ�v�A����p���k;��33<x�	����ň��BL��7'���]��L���s�|��I��
-ؖ�_�$�Bʯ@�fta2�q�6�J0P��q��}���
�<cM~�
-Le��������
D���r5�u�c��n~'#��׼���y����ѽ|6�O:�Z�<�5���v4��U͛9�d8�y	���Jq��bN���!��1a6
^GI�R�|���<����|<9�!���F_��PL�
�9x�4R��4�$�c���o:�����o�&?�>[� Nx�
����Q���r��`P����at0�
�MfQ �B��\�
-��յU g�:4�~iR�.չ��V!cy��/����[@��k�d#�ÔS��U��!B������
e��!r�Q�p���Y�;
]83dחj�Sn��6W��t�����Տ�@?�[3Y��4���GIH at O�XZ<‘�XN_
G wk��dMY�k�!JT:�6 P�g
d.���p
Q�8~
$�bH$v ��]u8�
���t�w�0i����i~��k��s�r
-�J�Cd�5$aA �9�
=��g
�{��C1����%�
�j�A�����
���:��K,�$A������٥t2��z��9�O�
;��<�T%��7辤�m��o[�iZ�*l��zm*��RL8����#~���
���ꇨ|s��޲PA������9�NK��\��k
-ac�M�_?`�̧x�f�9둚�I�T�Q�����t��
O�Ô�W�Jɴ�)'7@
j�o� �_N@��&�������I��ᐻ���0p��>W]f;�A`�<��
-��ˮ�^\�K�B��2�1��1�_�>*@i�D�?�y���˒�����t�OpO�%��˵Z|J�v�	��Iz��W�Y�h�37���Wsa�3��^�=�����
�&β�Բ˭?Ӳ�(�o�E��}��|J
�
� 5]vT;�
���w�Hb�X�@3�Z��P
Cj~��������
��c�����w 6g� �!Y�@."���#�b�9D�d�h�������ռA�ysm��_o
 �9�A�1��� G���w���gk�C���Է]|��r�9�$�9�$�����2�+�<�tPƓ
�5�����os�=
D�l��s
���
�%R����Il
�S�?4��a�O�����N����]H
ܫ�
�˿Ϻ��J����?��)\6�\��!/�U�o�2 �_�$ѣ�b���@n��"<�c�L�փ/B���ɼ������7o����挞��ԡ�s:
�Lo���y��n
�&�$�g%>e.���d��#lQ���Ǫ�+C}�#eT�?}^,endstream
+x��YY��F~ׯ��.D=}�6�8@��g���ꑘH�BR��_��d��L��<&�,Vw]_}���.��7���w/#�(�h�?)� AIp�
ކ� N�+�1_-	���m^-)��u/�u���x����^��$	�r����9dMcn_�G���2����H�����o_�/~[X�^��Q�D�o��`
���4	.Z�p��z�,~\�U���
�H���07�HX�%�E=а9e�
�GY6EU6��R
F��J������L���(wF�u���n/��<�V.�?��dcD��i�f`� ��/��
5��˾��V�Ր�ZM�R
�W�TX;���u��.W�'���\3uI��ڴ�h��Gs���Ί�m̀Z��کխ^�R�^�5���� �x}.K�#XW��Uқ�
��V*��Je�����)�h�ö2W
�����a�J��ʄ�/��ڼ, at O9�<�`0O��
׭�%|�XWG�mog裢x����b�rX/��rűƔaF�
���e_�8�P�D	Ĉ�"`("�|��K�QL��@*+�s���Z�UЍE�՞]1��$|���R�B�y6��Z6�Ck�ma�݃
���4��p��  a��� [...]
t�bWe*��#
g[(���,
Р_��3�q�{��C�����H
[]��+�=pt4�M����Hxӧ	u2�<���4�� ���T�p�zg���o�[��ޏ����[�d3)�D�O�����*���!d}7�uF���N��k���+i9SQ:8-l�z
�I�yfO2�@!�(G��֯?��<֬��{%^fA��
+��Ach��5,�C5d�b����D;Z�ϻ�Pҡ�=�����s�R���&R	�Q�)�]����U��(��x�\4��Q�@�p#�F��z���od]7y™��
��ɒX9���Y0��
�h;�F4�΍�_E
+逝止I��Z�2"���R�J�x�
�\!-��.�����FO��)`t�u�%�
+$:Bs O"�$Ԋ�����I"��Cx��9V�[�O�Mj��
�g�O˔v�z�FZ�5� bب
��<�M�W l �3.��]'�5� 2u�mᵧ��R�`�����
(]�I��J�O,�
~3L<�\�4�a�e�p�.;J���5�� ,�iO���(B���
��I���OKB�
�lS{�|c��W5P�SUZroZ�8S
���
���|��"}�uz��6��fs���t]ô�
zM������U�
Rnu}�����F����|x�x�ܺ-��S�@bO�����(��3�
T]m/5�#��Sf����>y���;��
+�;�M{=�9��(N��[����zc�n�g�m����������T5�́Rm���g�P,r��GTx� ^5�S������� ��tEn����K�-f&�X
+[+B��[��Ƌ�H�ϛl�����T��,��T�F����T�wH��4i��&�
",'�x��w���Ot��&�p�
��׵��&�����3ԟ�̢�0No�6aѣ���L���')b�qЗ3s ��.�Tݗ@BR�p�-������.�IT�:��J�53
����8@��,���AS�@Y�<�D�cv��)O��
�����7s<��	�5��#|1c*D5�d
+{���
3�mQ
�1���Gld׀ٓ
�S3�:c�cZ�s�Ғ�
�ԔGeO�q�%�������&�l�[hD᛾B;�:oS�����:��Z����w����7����>�R���}܏=��#�*_���Wj����+7�h��<����?�Q�ͨ���\�*�$T�t
ˆ��S-	Sy�~p�X�����~
��wfW�/�bh�}T�m{Z��].�7�\����t�����B4���>�|?V��(a�&A�g^�
+endstream
 endobj
-10210 0 obj <<
+10172 0 obj <<
 /Type /Page
-/Contents 10211 0 R
-/Resources 10209 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10163 0 R
-/Annots [ 10215 0 R 10216 0 R 10218 0 R ]
+/Contents 10173 0 R
+/Resources 10171 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10179 0 R
+/Annots [ 10165 0 R 10166 0 R 10167 0 R 10168 0 R 10169 0 R 10170 0 R ]
 >> endobj
-10215 0 obj <<
+10165 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [322.3762 554.6576 385.5187 565.5615]
+/Rect [179.334 580.208 236.659 591.112]
 /Subtype /Link
-/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+/A << /S /GoTo /D (main_Concatenating_Polyhedra) >>
 >> endobj
-10216 0 obj <<
+10166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 508.469 256.157 518.367]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
+>> endobj
+10167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.708 394.18 250.895 423.245]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.024 349.388 483.212 380.357]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+>> endobj
+10169 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 249.0788 239.8565 259.9828]
+/Rect [322.376 129.177 385.519 140.081]
 /Subtype /Link
 /A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
 >> endobj
-10218 0 obj <<
+10170 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10212 0 obj <<
-/D [10210 0 R /XYZ 90 757.9346 null]
+10174 0 obj <<
+/D [10172 0 R /XYZ 90 757.935 null]
 >> endobj
-10213 0 obj <<
-/D [10210 0 R /XYZ 90 733.028 null]
+9805 0 obj <<
+/D [10172 0 R /XYZ 90 644.989 null]
 >> endobj
-9356 0 obj <<
-/D [10210 0 R /XYZ 90 629.0881 null]
+10175 0 obj <<
+/D [10172 0 R /XYZ 90 630.565 null]
 >> endobj
-10214 0 obj <<
-/D [10210 0 R /XYZ 90 614.8129 null]
+9806 0 obj <<
+/D [10172 0 R /XYZ 90 500.315 null]
 >> endobj
-9860 0 obj <<
-/D [10210 0 R /XYZ 244.4393 252.2319 null]
+10176 0 obj <<
+/D [10172 0 R /XYZ 90 485.891 null]
 >> endobj
-10217 0 obj <<
-/D [10210 0 R /XYZ 90 235.7999 null]
+9807 0 obj <<
+/D [10172 0 R /XYZ 90 330.126 null]
 >> endobj
-10209 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F11 411 0 R /F8 523 0 R >>
+10177 0 obj <<
+/D [10172 0 R /XYZ 90 315.702 null]
+>> endobj
+9327 0 obj <<
+/D [10172 0 R /XYZ 90 203.757 null]
+>> endobj
+10178 0 obj <<
+/D [10172 0 R /XYZ 90 189.332 null]
+>> endobj
+10171 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F23 340 0 R /F31 472 0 R /F7 505 0 R /F1 542 0 R /F8 504 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10221 0 obj <<
-/Length 3029      
+10189 0 obj <<
+/Length 2640      
 /Filter /FlateDecode
 >>
 stream
-x��Zms۸��_��Wy�x��u��^:���4q��-�1{�#���� !@�$;�L'�M.��b��g$3
����
-��l�9óp�Og�?^��E,������R�
2�����0�$HPBgW��sB��
�1��9'x^�����9��f�tW������M[�O����s��M}�����.��]�-o��YY/KsN���W?��pT�+L��g�Ƴ���3���b� `D�����l�c}���a
�`x!gN0�R�قq�%���"�"�(�Q��<Ϩ�x+�� fM�����uY��˶m�����Z��ѧJ�RS%����I���]ۜS1�["强u��jU��F��ZE�30����I$i�
��0���vs��ڔuW5��i%������=^��������s"��C��7"�˲\Y�f֍�M5�+���w��S�3$� ��8��u���^�mbz/��_p����d��v�������OX`�?�zj
"��^{�0
-M�I�g2��9{Q쇠bZ
��|���&p��`���O���pd4�^������P�45����

[
��f]�&$�4��R�uf|��2����
��C��eU�&
��
���	�X#��8)�L:,����*c"Ja�DzяE�3�'�����Vb�e�J�3���0l�


�[;
m
OG�I�i��ި�Q`�-}pX����<�Cjq���9g��3� �I}*ȝ�"�΀k:���a�6ޡQ���ؓ��*��(tbj
���
x8u6��8G��K=En���mp!�tK
8
-�⸣��&��c��F��d��~
Q:'�i
ę95��@9 
?
-~22��9�3�sW��$�
-;h$�;���Y�A�)tB�O�Y v��
��P�
�C�k�Ӿ�Cʮ���i,�����X�^�'`2�	q	�C��1�ɠѿ�
���f]v����9��nM	�����}s}S^���}x�A �Q44 �d��$
2��}4O�
����"�E
�\ba)�)��k�(���̎

N�}u(Aڄ��Y"QFqD)Q^��������h"�2����bL�L�	p!%†���(����Պ�����9�2�4vF�Ŧ�˶��`�#�$��!�O2��;䀉.�-�qc���ᥰ�D�:\�����NО�)��`�
�'4�����W��e
���&	R����r�D���?P_��Y6m[vۦ

-!q��#o����]|}s��l��G
M�m��1oŢpL�ViL,��v��N�:���tZ�`�@� ���ЉmAh�����2�m�^L���w2U���e�Wu�{Yj}:����'��۲
���HpeN�Q$u�(Ha6��R�v�c@����k�+q�5F�Ѓ�$�!��ju]�����D)e� �p� Aj��^�ۂ�e�^�_�*O.�)�'W�
-J��T�#���ZT���l�9���vuc���$�5?^�[4z��WM����vS�l��"a ���[F�E�B.x��=��DںU�2IO^��֨4��Z\�}Qե��Z�I
0&ʟKi�
	Dd�����7[���t��餆����TJ�.���H�$�s�j���
+dJ�.�	��1鲭^ȾP*>��C1_��Õ�IC�ywN�c���
I�^Ҁ��
���S�NZ�������N��8� T���^T���Q;j����;P�cIN�w�5
?߼'V����$�kW\x�({��F�̶��:�Ť���}�t�d����o���)�'�w��?܁��=`^jh8Ý���b�n�EP�W� N�~��Jr�5�yh�
t
��I��u�;%�A7��l�RrX����:��K@�v���
?F��[���^��>

^k�����[Y���o��=�wz�+�Ib� �
5�	?y ��
�7
7�XK����������g�
rT8>=
U{(]��
F
-��N��'�R�P(~����
%�
��غ�m����c�E�l�,ٯ�)�
{���v�����}�}U�!���k�0!�b���n8	+�]ʩ�rF�L>M(GC�Y��TM}��Э: nJ�h#n�II)�����䁔���TG�N��ˢN
�|I�����
C
-���1�:\5Z§�4�.s�)'Z��� �ie�Q���Ɖ2��1Q&9¶=�\��@#C��|W�	��� ��O��p���k
� o��@i<P�3z�Nϼ�^6�r���֗�ﭟq���(���	��-��v����M�b�UX��Y�;
-�G�;~�9XȐ!���� S�곤FJ�<
����X���n��EnDŽ�R ���=���;��t�^|HC�|A�A�(���O�)�.#�;% �ٍ�g��a,st��y�Ve=
�|_��ό�E_�?^���>
��Y暇��	��L���3
 �t��l�ظ�ȯݏ�,���[��/�~�;&��J�>4۔�Hc�]ft�&vG�
.���a�,k:0������>ۻ�Z�J�Q�9��u�t�7)����)�������� c4>�
���(���V�PWpaa�q9��y}?�x�~[n�:	1e�'� �á�h�ԩb&T�YzE0�������o�2-sT
#�V�W� ��K�j6
�Q
��
Uǡ
?j���O�֎,~��؀A��
-����7a�]4���;	�I�Ѱ:����A�����5 �+f�f"���uey��ά
Z	�0^'�0���M��L@�{��r�
�C�b�- [w�E>L���u�S����tO��409�u�Pu嫱aH%�5��:��AGwd삨�IƳ��p[�;�yr�_�L��|�)��ŲZ�������o9��W�<QĐ�8J�&�}=<*�
}��[m���s�N�OO������7P���VԾ����5!����	C!�
i*
-%���@��/���/�����"zc��p��ɸCc�﷗h�!p�m���b�]_���l�be�l�"MtI,o?�R8X�˭�����LU��M�,n8v���?K�Ǩendstream
+xڭZ[�۶~�_��T�Z0.H�3�i3q�4�q�m^���+A��)�%�]����B��@I���+���s?�/
x������^�l��TP��?,R��A����~�~I��jM0�˷+��Ys̶oW/����7�����ɚϛ����$˪\�)��m��y���,w�e��ˈ����?��p��;��ђ�Ō/vǻ����
��������E�:."��X����

k��D+��hu�$�8�<�E�٫��t�k�g��ͩ�uy����vfT7��������eUQT+ʗ/y�h�&��j�"�h/i�	N��1&J\� ��Ś����X���)k� v�y����1���0��G��]U������a�E"5�6�;5ek��n:3Q�ͼ�9���
$D?)?��,��Y�7��,>�Q�H�H
Y7��e'���X�\
��+и_�|j�Ͱ���R�ȑD�V눒e�����*�_t
�J/�<E4�k����8�{�ƴ�{eW�Z�X�9��HQ�\pι��(����	���8�2K�2��|���y�P5���2
l��3lP� �ў�	F|��a�I��Y�8�l���L$�+ϭ��/��h��
���d(
��J\V�M��0�Th6흉��y`K���MY
�(����Ĉ�Ϗ�la�m���&c�٧m^~U:'���Q̍�j �����\<+���$�IYgFJ���n5Y�噺Rv�
٫.z�Bޤ	��sD�t~c��	����7Ē���x�P:j۱�8���X�%���t�sC<�o]�>fu��
y;e>�gߙ�����,�TBƩH��r,i�D�]V��*#ѤH>�˪?B�l
+y
+�_�c`WP���]G��W�z#�#�x{p�;AUp
-�y�C 7I�k�FhȌ�9C�]2G|T�#�
+���@8!_�a)y�5Jb>�&	
3�^1�8�0S�8�
+ǹ��L$�"?�?##!C+��[L��^���sM"[
U�^Gd&x�b�.ELHΖ
!u����I����W�Fᙁr4HqȊ6dFQ�l5c�����P/����P/ឮ�j^��M�Q�B�����0�㠃B��V��$�$����NPO�q���
00g�U��n�lgS)�v ��Wj�tT��M
x��1�h�$�2z*:3�Nj� T��E�f�*�!W�1 �W�nRVvWP��[i2�� �Yiɻ'�н
+ at wj	_�ClwM�0_�2n�bqͣ�s��x�a	b������r�+;�n�A�Q��J�L�jܩu�7�3Z
Շ@�a#B�²�g���\i�
8�f#?�P��:f��HS
�Z��*%�h����
�ԃ�X�!���&�	aШ\q�1Q
%c�&��|;�,
+9�0)��:N�t�u�+���7�t���E2�s��n®�u��a�����U
�Z]�{����DR
���>3�ǘ��h��
v�L����̞��hʠ�ʦ�� K�5ڋ�'4LN=�F_��L �U�ޕ4��\����j�~jO� 
9���e"���ڊ�&�V6r��>е��}���A6~DXڰ�;
��ˎ��E����v�ִ��,u9�v��j"�����۬y<�=�K����F�l
-/�n�U��*DD#�3V�M��7c��]	��pdc��,V��{�ʦ�.�<�C�AS	�O��g�ב~n��jf~�	:�_��P �3��i�I7�4թ؛ǻ��ڙ�Z0�實��H5"P��
�GS�k:����4N"��|L�'�jL����R�P�""��ck�
.#�#�T0
4J
�4
����Κ
N�-	C�8$�p$\�a昌YG
����D#T�f<^���YA
+&n
��m7
��S���)�p�m,�1�H,F�F!6@�����:=�	,a$
��¨�
+�:���R����4
� �����T��d��^ 
���f��
+�LKn�H�\3�n�y�9�,�x2�tH�?�H�.�G�����Ww� ���MhA}ٵ��#'z�z0�v/�	��(�1>��[�\��]�4��d��D���*�짹��b�*Έ�nf�h�2
B*
5��4�G�����X� ۈ�jz�}�ۃ���4���
�����x���R��
j�Ԑ�A&�ּQ)�7�e;'
�JP� ����>ȉ�_�3�2\X�����@d�DF�$�oCd��cB���<F�
	h�@3���E��$�8^�U�z� 0��:f4C<�G/�"��G�n!zķ	#S���:�\���OvN���?=E��
}��DԙO���9
��l`<C�n7���&�'d�L�TŊ��/f`�0wB;�
pD
�0wd�5�6`{��c����]u������C�~E`T��@D2����
+���T��ҹ
�
+��i�����e`�~_,�,���b�z�[��Փ���z�:{^��h+�C7������B\�q�����ׇ�����D���H�~!|�7�*�(q�a��6}�TJIr�;5��4*CYbߥ����پ1s��o{
b.-1�me��K[>������Ю@�}��!r� |������1�w�+���E?����Nh
+蛸
|�z�����
ڵ�T�u���u]�ϫ�[�@���h8�
G�ޅ��p��x���Jp}
+endstream
 endobj
-10220 0 obj <<
+10188 0 obj <<
 /Type /Page
-/Contents 10221 0 R
-/Resources 10219 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10163 0 R
-/Annots [ 10223 0 R 10224 0 R 10226 0 R 10227 0 R 10228 0 R 10233 0 R ]
+/Contents 10189 0 R
+/Resources 10187 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10179 0 R
+/Annots [ 10180 0 R 10181 0 R 10182 0 R 10183 0 R 10184 0 R 10186 0 R ]
 >> endobj
-10223 0 obj <<
+10180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 491.218 239.856 502.122]
+/Subtype /Link
+/A << /S /GoTo /D (main_Mapping_the_Dimensions_of_the_Vector_Space) >>
+>> endobj
+10181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 708.5797 300.1613 718.861]
+/Rect [172.639 306.219 300.161 316.5]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) >>
 >> endobj
-10224 0 obj <<
+10182 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1437 668.4149 182.1636 679.3188]
+/Rect [142.144 269.173 182.164 280.077]
 /Subtype /Link
 /A << /S /GoTo /D (main_expand_space_dimension) >>
 >> endobj
-10226 0 obj <<
+10183 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.5022 562.9393 241.6898 592.0051]
+/Rect [206.502 167.377 241.69 196.443]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10227 0 obj <<
+10184 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 489.4396 163.8226 500.3436]
+/Rect [128.635 98.244 163.823 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10228 0 obj <<
+10186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10190 0 obj <<
+/D [10188 0 R /XYZ 90 757.935 null]
+>> endobj
+9850 0 obj <<
+/D [10188 0 R /XYZ 244.439 494.372 null]
+>> endobj
+10191 0 obj <<
+/D [10188 0 R /XYZ 90 478.206 null]
+>> endobj
+9851 0 obj <<
+/D [10188 0 R /XYZ 400.69 272.326 null]
+>> endobj
+10192 0 obj <<
+/D [10188 0 R /XYZ 90 256.16 null]
+>> endobj
+10187 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F8 504 0 R /F95 1779 0 R /F23 340 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10199 0 obj <<
+/Length 2298      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo���_�^�V�
_%1�=���
z}����"�m:No'���~}�"�&vz��6M
g�3�<3�޽���Y\��'�
h���<��0 HP��l�[���rE0���%�~\e�݇%�~���j[�wK�U\���Ͳ�uTU��嗛��2�O$C,�pz+���2Q�`D��v|�"Q�"�=+��i\��ؿYJꫬL�F���j��%�|�o`)���p-t�����1�#�gD�B&�M�����-���a�d�
�]��)���������,��˔!
��_v�:�
+D1�l��1����
�d��i�Im�L��a�m�ǭ+B�.�M���&����
��8
+H�=�;�
���(�c��
��@L�A֊�m���&A���Ž3'v�q8F 
�n�׸r�#>hn�
~	_��
�!����(w�F��{���Mq�Vw�"ݪ�CV���J�
���m��[1) ʙ��ܗ�Fh�3��.� 
H�u�j{�������Iv�̺3����8�
���Z���2+��C����pE����,D�����MJ��ٸ8�z1��1:Zwf*[��Z�s
�b<���|�	\�(�W�j�)p#T3_����������MQU�.�|������|�.W/%��KL�@�ˣ.�9�T��T�{��Xx�퉃�
@�WE4$S_%yS�v?
F!��):��>uV�X��>l��:�1�" 
� )�rI��dk�W]
�dk^XAͲ.JE~}]��<�
�x���wFE9�'�^H����
+�LŲ %������n�m��I��8ܹb"@��BPn
�tl�.kFR
��"G/(rC�l�O�Һ�p�qx�{����tJ�[p�}$�W*׃%n�"��A/���נǨMl�d=�U�o����R
��G�̛�<�P4u�C)�4�ب��s=yx2�J�K�9�r�l��k8dL�&ۻ��?���L�)������f_����ą�:7�޷�����sΗc�3 U at 0����]�B"�"�+З�h-�B
��wͯ@�<��M�U������}6���a~
ح8���C�[>
�FW��Z���4�4��#�T�h�ֿ=�dH�ȅ��}��'HDh�1uyB�1U6��Ʈ�t\|�� "��;��:J{>�
�p� �������4D��8dž�
+���F��xTz5�4������x_%*��0�c��=������I��]�i'n,�
V`!�`��G�bVQ7�{�5��p�Q����.l��_ at U�}H�u���h����:�q��{�vHgc �+�B�to�:)��I
+��U��͸�/����'8F�0�����)@z׃U���1��J���r����oԒ��i;
�^�Xr�&'�'
�z�.:LC�ށ8�aP�{2
+�t%0�w�!)-����q
�u>�]���:�@
������|
��\�`�fN����e
b�@3T=@C�`B�{�(cn』ˀ=o
�߶n M!��C�h�UG�
_�?�f‚�vgI�d�/-����T7*3��2c&���tm�и�i��.�B�Ry^:��8
��:&�zc�y�,:wf���"߫�i�E�"�Ʋ*[nTW��O��[&�q�5vuH`�E�uQ�Ӽ�ͻ��t��2�����g�3�ot�a�<M�5A��]ֳć��ͫ
��2�K�J�Iۑ�,?�
+g���g�� ��	ڂJ�;U�a���
�ӳ6cs�(��a�y���
W�JF�U�qC�r:'$�OF�u���
�\�ɘ��n��c���p���nři�~|ת�3$ <39���
(�bd:�
+�vE���E�dѥjcTm���>�D
�h�"9��dDB12���@F�st�����9��(d��}�ʢ1� L�ԅ�*��L�ī��u4����N�6	t�(�@ց�=����3�a(�Ѽ�2Mڛ}���޷��_�"n3��1c(��^�jT�vU�
�D+,MM�k礦"a���C�gQ;]+�R1�u���L�~��&��à���W{�w;:�Bn��ߺ4�Œ�^�M��׀>~������s�

B�a���à4wdL
q��>�a
�����^�ETL9�Oc� ��a�9O���C�����1�]O��o'�4-@!ѥo%���4np�m���Q�k?h�萳?��3?m���U�{�p�k�{�ۗ6��u�����-$�cf���h���^�~�o]�n
���`��MS^_]
�G��P��BIs��z<B
��Iw'�Ǐ��E��b�b
�_�͐��
+endstream
+endobj
+10198 0 obj <<
+/Type /Page
+/Contents 10199 0 R
+/Resources 10197 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10179 0 R
+/Annots [ 10185 0 R 10196 0 R ]
+>> endobj
+10185 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.5494 425.9871 513.9963 436.8911]
+/Rect [486.549 696.002 513.996 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (main_fold_space_dimensions) >>
 >> endobj
-10233 0 obj <<
+10196 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10222 0 obj <<
-/D [10220 0 R /XYZ 90 757.9346 null]
+10200 0 obj <<
+/D [10198 0 R /XYZ 90 757.935 null]
 >> endobj
-9861 0 obj <<
-/D [10220 0 R /XYZ 400.6899 671.568 null]
+9852 0 obj <<
+/D [10198 0 R /XYZ 213.427 687.2 null]
 >> endobj
-10225 0 obj <<
-/D [10220 0 R /XYZ 90 654.8409 null]
+10201 0 obj <<
+/D [10198 0 R /XYZ 90 670.473 null]
 >> endobj
-9862 0 obj <<
-/D [10220 0 R /XYZ 213.4267 417.1851 null]
+9853 0 obj <<
+/D [10198 0 R /XYZ 90 579.657 null]
 >> endobj
-10229 0 obj <<
-/D [10220 0 R /XYZ 90 400.4579 null]
+10202 0 obj <<
+/D [10198 0 R /XYZ 90 565.087 null]
 >> endobj
-9907 0 obj <<
-/D [10220 0 R /XYZ 90 309.6423 null]
+10203 0 obj <<
+/D [10198 0 R /XYZ 90 498.266 null]
 >> endobj
-10230 0 obj <<
-/D [10220 0 R /XYZ 90 295.072 null]
+9902 0 obj <<
+/D [10198 0 R /XYZ 90 475.332 null]
 >> endobj
-10231 0 obj <<
-/D [10220 0 R /XYZ 90 228.2512 null]
+10204 0 obj <<
+/D [10198 0 R /XYZ 90 475.332 null]
 >> endobj
-9947 0 obj <<
-/D [10220 0 R /XYZ 90 205.3168 null]
+9903 0 obj <<
+/D [10198 0 R /XYZ 264.215 398.668 null]
 >> endobj
-10232 0 obj <<
-/D [10220 0 R /XYZ 90 205.3168 null]
+10205 0 obj <<
+/D [10198 0 R /XYZ 90 381.94 null]
 >> endobj
-9948 0 obj <<
-/D [10220 0 R /XYZ 264.2149 128.6528 null]
+9904 0 obj <<
+/D [10198 0 R /XYZ 161.222 319.269 null]
 >> endobj
-10219 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F25 344 0 R /F11 411 0 R /F8 523 0 R >>
+10206 0 obj <<
+/D [10198 0 R /XYZ 90 304.544 null]
+>> endobj
+1545 0 obj <<
+/D [10198 0 R /XYZ 90 204.149 null]
+>> endobj
+306 0 obj <<
+/D [10198 0 R /XYZ 90 197.549 null]
+>> endobj
+10197 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F23 340 0 R /F65 376 0 R /F8 504 0 R /F95 1779 0 R /F21 2075 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10236 0 obj <<
-/Length 2788      
+10234 0 obj <<
+/Length 1825      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�۸����E��
�\��,� ��9��+�d�)
��ͪ�-�,g���
J�LJ2�f�+����h�8��
I2��GfϔP�0.g���}���"��%<_���^]��bf��T�n�� A	�ݮ��	A�-�c<� x�U�����r�����_��*��nnڟ-�c^
�z�����ׄx��a�I�@���-I���2�;�WL
��g�2����pX,���ۅ��|��du���6�ϫ��|�����|�	�L��xۻ��`�X��|������?^aČ�G��1�ζW�2�es���o=��A���	�.Y!����+DG�[���ܴ���������������ݡn���h
P��߿k
j�'�b��`���9GFG�b���J3`����4)

鄁]���c4%�#z_�v��ZJA=�%�Q.�lI����}���jw�`��ډ��c>��J�1�h����l���f�yj?��� 
`����kĥv��$�J�Ѝ&U�kP��9�E��Vo�
Y.�&ބ(s�
���6����!�'4�����2���Y
-�ȨY
�m���t��F�u	֔����� 京���b��E�[�U��guq��^�]p�Xr��Ůc�P
:�W�!?@�3"����֗���H`
-�:@��F����� �jb4_��$Yvo at x#�u��?[�.
�J������'�`Ņx�e3��
+���)a'��g�β
DF( �4΃�y9��9�!�"!���`��46"̢w�|Ud��?��@�1x�c��77ͪ��
��AG�D�
-_��K�ru��!��mr���
�թ�>6��}���l��;���ʭ{5w�6��&�c������f��
-E㘝me|��P��Y�L�dͪQ*����(�ӨĞ*%�@ c)C���=<�1��Mӎ~�8�)_��V�C0�|�yy4�L�0�^!�()��k��
����R!͡ٳ^b��0^�m0�F��i[��:������ �� ��
�����۬ء���a[�k�
��:�hL۔��� �v���D��	���wi�6U���x�)V�׊ϟ�-�
�C
ڜ�|�Hb�d�ĊJ<%VB�K�@n
F��*���X���sbz0HCH����
f@����Q���y�i��'��m�>���b?�B2M��{���L�nI�D(��H(�#�A1��tG�2}ķia��j�0G
-k�H ����
B�)*�A�ͣI )�NbKk�81����&RZ6xf����dV��o
-W����vz���q}[�g�e��7��
&����R��Z05�,�6����x.���Ȯ��?��U�iW�{��a
��Y�>�1��ty���yW�m
���d��`�z���"h&:��v7h�S
-���GJ��=���$�}�v�g��/C�I!�#K#��0��q�=��rdm���%�
-U	A�� +°,�ϣ��O1�Xm������%��j 
��c`��ܐK
�����Z�ႍs_"ŨN��
dt
���,�
-a�u�� ۓ5 ��l�Xx2�k!"�/��j��[!G�0n��"D䐕<j3���*�L���)DdJ"B	����l#ej��ɒ��3�@bB���@n ���]y�L!A�
���N���
�2B
8��>aʘo����������S�e:O���:_�D��
ꥦ;���#�mv~���0dAw�����҉2�A��)�td�4�B�5��sM�
�[������n�f�ż܎���
��F�vG�0i�w
-on��D)����
�Q%4s���&��$.���	�!1O��=Y!=�1����җ�
!d`�%5e�7�A٦O(#����
ZH�Y��˩٘�N�B��	���
p1Z��X��:D
D�$_-!T���Z:��Zz^��Q��|��r�3
�6�0�e>�pQ
UB�1�(fR��F�s��c1yF�9�xۢ?�ۻ�[��v$�qb�E����rF����wz?��i=�A����g1֓@��N��
s��]V�����=�ֱ���A�3��Q-}�)l��0
�dgk
-%�X���O��Y@(D�!I�:�@�7�I�PGI�\$|�R�%��|�v'�C�H�A[
���$Š�5���1�LMm4y<&��U*9=�jNq������Ս=�>��0���ʺv�wn`�O�.���qnЦp�O�:ߞ.���[�b�-���1c�Nt֟vX��{4q�.b푱���� &�$2�'Kf��𹙒P�#
t�(Sb:z���2%�M
i(
z%i8
?�G�Rc�7�J���K���)�1R@�
���)
-DQHfl�>�\�dm��?��b��<���@�H̳S1U��ݏ�����ҩ�1|v*ƕs���vY*Ft�S1.�O��7��W��u<2!��=@}Ndz<b��Ȭ�:]�;�B
p���#5��Dw}eW�~�{v��f�JWC��/��N�͈�3&#�	�T?좶
?U���N>�U�š���
ZgM�����۩T��ԑ���c��$
*G�T��a�'��79���0�,jDz�J��Zbf�:&�OHV�99뱈���j[�

�ֈq�������������Y���}8	B<��U�t7s
-�V�D���鉫m�'o���kw�����C^�f!ļ�����ѝu�v{0��&{����x���9!\�"�׭qP��_3�����z���{��\�g툯�����7�׏��hu@�]��PQ_�������seB����F��g�������w2����\���ms�q�����*���endstream
+x��ZYs�F~��SV��9q�6��ī�
�(���N� bh# �0�~{.\)Q��d$��AwO��_�
��w
��=��z��
��8��w��b�A��:���� ��
�1����I�MVWs��2?��i��~�n��:\\�a5�VV�l�?_��$�'��
���v-�f���e���bBH����ս"�ɓ��/����<�����f���jN"_k
+�>'B	���z�aF@
����QȄ�������ƿ�0bq���Y[�S��{=�i�Oz�2�a,�����ڙr����6��X^
+�_` a�����V�[J����B@��ʍ��5�J��Z5�j]�d�p��`�͌�w���4��k�a�=:\�@�(�A
����[�@����
�� �
X
�H����u�?�,�ـ<}�߀��i�����d�.�"?��=,@�,ͪ9
}�n��H�.s"|�=R�ڼ��L���}�n�m�gڄ� ���yso�t��D��B͑��ʢA��n��E
#��
+99wk���q`�i�=}����aHQ��܂���Z:m/� G�>3u�^\TrN���Z��)o��C!9I��&��F
蓀sjQg�X�(�ص����
�1�QN��S|��e�j΅_n����@�0���/vN��H�4�O)|F���( �!�%P4�w�Ҩ�Z�a(Y
�-L��[/��F�5\*�ʭ'{�"2�u��TVV�5�g�6)Rs�B�oN�r
q2�����OzMa��T��1a���9�t� C����${�u�ԋ���.�i=*A7e�@����rׯ2=�:�Ya��C�H+B-#C�苑4���]�jՏ���"
>F$ږ�D�#�ã�9��wb9'��MW�42��ҧ��ۍ�&��D�͵u<�h�CPҶ�E��1�Ő�\&$'�� ȳ�����a`	9�?e�@��W����S�x$A�z�V�f�ɭ�@@"D��E����9B�k��b��]W7����99��PTG�wFb
�9�1�W��<]hl���\��P��L��a�;-z�Ǜ_`���Zc��,��T�ʷ�
+t~XI�����ױ�ck�+��+S�GI�0b]N
+�D�A+��Hfy%���i�A�	]\s�S�>��U��7�!�~��#�A�����F��"ԭ��I�z�1�l�~�D��m���,5���.���N���um��� /M����B�

[0�Z̦�XXĦ�
��+s~z�m˞�޳M_���L����s��R���iE�>
��!��CY�j���J�1I`� 
�i/7���N��&@�M‹���y�oFmt���n���ƞ�X�6�i�.�L��׿���;�<���sg.5(�v��i�Dć���}���'v�ρ?���� �N�:�=A�
{d!7d���jh��"*�@0��C3j�]V)wGu/�9�-����l'��W���P�j�aQ=4�"�Ba�`������	�
����n��r[V�U��!W��ާ��e��+�lV�n��?~���\G�n����)G.��Z�Bmɲ������B��z��e2uOM�� Ȝ��`Z����
@0�X�}ZD����U�w��ѰM�DQ�;��4( ���6(0F�>W����c1�Ϻ�HI��]��p_n�O rSt��~��< ��o���rX{�Z�Ⱦ-1b|8}�I��Z�\�$���W	��kY}>·�x�{�(j��
=s/��k^Dv�$�0�>_y-]6���깻�g��3D����}��.����[���/�
+e�r�˗w7��N�[�o��-�ap���4�� Q�<�
+endstream
 endobj
-10235 0 obj <<
+10233 0 obj <<
 /Type /Page
-/Contents 10236 0 R
-/Resources 10234 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10267 0 R
-/Annots [ 10241 0 R 10242 0 R 10243 0 R 10245 0 R 10246 0 R 10247 0 R 10249 0 R 10250 0 R 10251 0 R 10253 0 R 10254 0 R 10255 0 R 10258 0 R 10260 0 R 10261 0 R 10263 0 R 10265 0 R 10266 0 R ]
+/Contents 10234 0 R
+/Resources 10232 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10179 0 R
+/Annots [ 10193 0 R 10194 0 R 10195 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 10224 0 R 10225 0 R 10226 0 R 10227 0 R 10228 0 R 10229 0 R 10231 0 R ]
 >> endobj
-10241 0 obj <<
+10193 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.034 437.4365 264.2031 448.3405]
+/Rect [224.034 697.417 264.203 708.321]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) >>
 >> endobj
-10242 0 obj <<
+10194 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.9406 437.4365 305.7047 448.3405]
+/Rect [274.941 697.417 305.705 708.321]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10243 0 obj <<
+10195 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.0104 422.8045 391.5684 432.8173]
+/Rect [357.01 682.858 391.568 692.871]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10245 0 obj <<
+10207 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.0462 398.7748 290.2153 409.6788]
+/Rect [250.046 658.901 290.215 669.805]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) >>
 >> endobj
-10246 0 obj <<
+10208 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.9528 398.7748 357.7291 409.6788]
+/Rect [300.953 658.901 357.729 669.805]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
 >> endobj
-10247 0 obj <<
+10209 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.4348 384.2504 345.9928 394.1557]
+/Rect [311.435 644.45 345.993 654.355]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10249 0 obj <<
+10210 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.7996 360.1132 266.5637 371.0171]
+/Rect [235.8 620.386 266.564 631.29]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10250 0 obj <<
+10211 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.3012 360.1132 341.41 371.0171]
+/Rect [277.301 620.386 341.41 631.29]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_36becc8c3ace976043199807351d5b04) >>
 >> endobj
-10251 0 obj <<
+10212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.8169 345.5887 323.6127 355.494]
+/Rect [255.817 605.934 323.613 615.84]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10253 0 obj <<
+10213 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.7996 321.4515 292.5759 332.3554]
+/Rect [235.8 581.87 292.576 592.774]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
 >> endobj
-10254 0 obj <<
+10214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.3134 321.4515 393.4344 332.3554]
+/Rect [303.313 581.87 393.434 592.774]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_6f4469416e02c586de17284317f8a92e) >>
 >> endobj
-10255 0 obj <<
+10215 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.8169 306.927 347.0237 316.8323]
+/Rect [255.817 567.419 347.024 577.324]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
 >> endobj
-10258 0 obj <<
+10216 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 219.713 163.3608 230.2433]
+/Rect [125.095 480.563 163.361 491.093]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_900663a0e97525c064ccf31152fa8ae7) >>
 >> endobj
-10260 0 obj <<
+10217 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 182.8628 163.3608 193.7668]
+/Rect [125.095 444.005 163.361 454.909]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_1c71c9b7d1de1b77eeb054e1c0ac935e) >>
 >> endobj
-10261 0 obj <<
+10218 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.698 182.8628 228.964 193.7668]
+/Rect [190.698 444.005 228.964 454.909]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10263 0 obj <<
+10219 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 146.7599 163.3608 157.2902]
+/Rect [125.095 408.195 163.361 418.725]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_f60bb41867a12ce28144596e3cc1406a) >>
 >> endobj
-10265 0 obj <<
+10220 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 110.2834 171.1095 120.8137]
+/Rect [125.095 372.011 171.11 382.541]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_c3283cf8fd0dd8ff2a319cba1dead1f2) >>
 >> endobj
-10266 0 obj <<
+10221 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10237 0 obj <<
-/D [10235 0 R /XYZ 90 757.9346 null]
->> endobj
-10238 0 obj <<
-/D [10235 0 R /XYZ 90 733.028 null]
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 300.086 215.923 310.99]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_411d42e5b59a492742793834efeeabc1) >>
 >> endobj
-9949 0 obj <<
-/D [10235 0 R /XYZ 161.2224 675.8614 null]
+10222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.26 300.086 281.526 310.99]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10239 0 obj <<
-/D [10235 0 R /XYZ 90 661.2234 null]
+10223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 252.943 171.65 263.847]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_66e3e2f2433738665eb748d2f6c5878f) >>
 >> endobj
-1587 0 obj <<
-/D [10235 0 R /XYZ 90 561.5986 null]
+10224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 206.173 187.151 216.704]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_e006881831b298f0af5031e99df2bc6f) >>
 >> endobj
-306 0 obj <<
-/D [10235 0 R /XYZ 90 554.6998 null]
+10225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 158.657 202.902 169.561]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-10240 0 obj <<
-/D [10235 0 R /XYZ 90 454.4111 null]
+10226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 158.657 300.037 169.561]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5a36a32ab46d46f574f3091e931e2bd2) >>
 >> endobj
-10244 0 obj <<
-/D [10235 0 R /XYZ 90 417.7718 null]
+10227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.472 202.902 133.376]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-10248 0 obj <<
-/D [10235 0 R /XYZ 90 379.1102 null]
+10228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.4 122.472 314.263 133.376]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_cdc1e9b5ac338be9d0584d50d275226e) >>
 >> endobj
-10252 0 obj <<
-/D [10235 0 R /XYZ 90 340.4485 null]
+10229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.299 86.662 161.677 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_8c82df1de8703aefeab268dc9ffc557f) >>
 >> endobj
-10256 0 obj <<
-/D [10235 0 R /XYZ 90 259.8458 null]
+10231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10257 0 obj <<
-/D [10235 0 R /XYZ 90 236.2244 null]
+10235 0 obj <<
+/D [10233 0 R /XYZ 90 757.935 null]
 >> endobj
-10259 0 obj <<
-/D [10235 0 R /XYZ 90 199.8673 null]
+10236 0 obj <<
+/D [10233 0 R /XYZ 90 714.318 null]
 >> endobj
-10262 0 obj <<
-/D [10235 0 R /XYZ 90 163.3908 null]
+10237 0 obj <<
+/D [10233 0 R /XYZ 90 677.825 null]
 >> endobj
-10264 0 obj <<
-/D [10235 0 R /XYZ 90 126.9142 null]
+10238 0 obj <<
+/D [10233 0 R /XYZ 90 639.31 null]
 >> endobj
-10234 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F23 2116 0 R /F74 478 0 R /F25 344 0 R >>
-/ProcSet [ /PDF /Text ]
+10239 0 obj <<
+/D [10233 0 R /XYZ 90 600.794 null]
 >> endobj
-10272 0 obj <<
-/Length 3230      
-/Filter /FlateDecode
->>
-stream
-xڽ[Y��~�_��D�����xH6N��x��<ٮ)Έڥ����ɯO(�0Z͸�j�"�����?21x��B�q9yX����������<���͛/��d$��ۥ� 	�����)!��ٜ`���fO����{7�x�]=},����~_쟾���m�
����g?�~��KB"��0�$S�Ǫ�K#ҁ@0��p/�vD�AR�*��U�Uq8��T�����i�ޭ��l�/��~F��<�-%(�r¬қ޶��L�_o~�	O��n0bF��#���C'�NY������?���{a��8cH1�'sƑ������Rz��؀]b��)CX
->��sD��V̺��r}�p���y���ƻ��X����m���[���Z>1���`pw����|���=��1*Ɲ�J�c1�4A��$����6�GJ��.%�`�2v�T�.��5{�ݮf�D��3k�?x��1� �0�k,�1���.WOw�.�ա��cJf
�JepP� N�u ��Ӡ�)�
-ɟ�V>c���x��QT��@}�d��r�5DŲk�O��Dè;�p������F#�(0$��g8�0����0��B�h@w܀����LY������
<��H�u1�=���c�u��Ɉ����1�d��Ƌ��d#�8�X��?V����L<����M���|O?�9�ph�ӈv��2A ����s\B'7��bu��A�S��{g]x�l
m+ȃ�5#��`,��4e�E(p���b��dU�3��!E_�as&�$d8�
�m��&���ms�l���[��]��5�	�|\-z��}"\�բ\بG�c]
-$����:
�	J5̤ͤN)���4�9�T6qF�y3mԧ��f2kvl>#i������<���� ���D��A(cV1D8�����@�`�&9D:R�!���0�RJd��T���
-�Tl��v㨛�3
��
/B�1�Cc�)^��(W��r�n��m��O����N�[*,�����P���ϕ0��~�Դ�5`��a��I���:���>���6v��:�`		D���V,�2��ͤ���ͦ��c�9L�0���~[��� ��R����q���E��0�0�XsU9�H0N+�)G��m�r�q�DZ��q��
�0��Ʊ��GP;�P/�8]
�ƨ
c�Ïw�%
pٓ쒎}���x�ہw��
xv�
�����bt��.ŌRw�_�w����4�ȋ���/p��PI�'He�'R�7
-�aM�e����y'��K����z��;T�+��]9��¼�`aR )��ʂ��?C5���a�ۺX�y������.�+
�@��e
-�J�`�n����%T�9]��)֑�� S��X4V.������zۋ5�dk0
�td�_t
w��e�Ŧ_�Ç��*��I��:�p���D
k��g{�.zju53�V
4g�!��!Rx59��v��=�
8/�$�A�H]���.��<Q0�s*K���R<���2�^��+�FĮ\���W�+���	b]l
-[Z|��ex�=��~<��BDR��%�®ך
Q�bY��&�/��:f���g�_2 z-��
ؗIMH��A*gU2��w7D�k{��V
�ժY�����.�n媙?'й"v
\_豎D��bn{�c�`��~9t��E�H�h�x���WE[�My�����]/�0�
�>��0 �; �@`�\�9��	�2{�A*�5��
�h[o���}݇�KYl��qU��T��:�l5
��KrB�����R���đ�{"���@
��On{�Z��6e]�I�p�9�n]}�J�3�������a��aPJi��E+��A�D\��
�cX*|��!֑��V�
���8��]8 X6?���8��<��cs���rk�x�pwxd$�n�G�,uE�"�c֬I���f�.~�օ�<<��64��G�2���^
h��[xͺX���dl]d���y�eJA�ɮZn�H�+W��A�n9�Y�˲N�0�:��u:f��UHQ��]��i'��P
���V���L�T��1���~	�{z�_5�u�x&�
�
m2�
O�7�͖U1��=\��%;c��i��� ���Ha*�vC
�f�%{��3J�
��^7
w붃�M�(&"�� �3��w
��h���g�˳����b��/�Zf78��&��a�S��Q�!��z~��EZ;M����߄�a��
�k75�
G46
ܭX6�c��.�e�y���.�E
�>>a�����g.����xr �\�}S�7�����i�[��qm���^��87G
��b
	jhź�Q2i����t[o���J�AWm�j�y�V��n�J���ϛ�����m�Hyf�h���E�>h��
}��T�q������%���PZ����o䈶a��P��/�)�g� .;�s���7BH�g(�Q}f��e��NR)�U�X�h"�WM\ �[�h�.'�4��hb�v8�"��7o�rf��r{�Ӳè]��j10֑�� v��n#볢.��y��5p���ɦ� ���H��ѓ�'���ӻ�1�ar��N�t1$�(��*F�,� ��y6YS�Ϙ��OA��R��C"L�:����ݴ�"�b
��j�:AŔ�J�N�{J���)y�_6y�����M��I��9>wl�B0�~�SDLw�#��"�nΆ�ۢ��n�
ۮ&Y�3����5�����M�y��M$�ŇY�٧˲O��Z�ɀ�b
l�d�ʋ�'3�up�epcW>	O���R�CLs�s�E����*��:R��.I�Sv�μ~PQ���,TA,T�«�*
.U�m_ڭ�O����Dxi��%�>7�
F�(�
予�gw
��$1�[��uJ44�{�/su2�S(
�|���Њt�B+�uS:�.�S㳛�V{ ���A8J���%x��%xP�*\f�[Qfg��'M�H�
A�.���[��7�I�*$v�~b�ຉݷ�I�
f��nb�/���
�D����]��̤�]��M
�Κ
�z�t��J��W}��>��)�sš �Q���7�� 6mnO_4[���0ֻ�|��������q&��О=8��6��G *nPE����p\Q�Q-6���/�p�u��y�Fs�BE�
�m�X׻/޼y||Dt�T�=��7����༞�_��v1�~�	B,
�3-�20|b,�p�c�ݷa��ڝ�
E)d��eq at endstream
-endobj
-10271 0 obj <<
-/Type /Page
-/Contents 10272 0 R
-/Resources 10270 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10267 0 R
-/Annots [ 10275 0 R 10276 0 R 10278 0 R 10280 0 R 10282 0 R 10283 0 R 10285 0 R 10286 0 R 10288 0 R 10289 0 R 10291 0 R 10293 0 R 10295 0 R 10296 0 R 10298 0 R 10299 0 R 10301 0 R 10302 0 R 10304 0 R 10305 0 R 10307 0 R 10308 0 R 10309 0 R ]
+10240 0 obj <<
+/D [10233 0 R /XYZ 90 520.404 null]
 >> endobj
-10275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 698.1724 215.923 709.0763]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_411d42e5b59a492742793834efeeabc1) >>
+10241 0 obj <<
+/D [10233 0 R /XYZ 90 497.001 null]
 >> endobj
-10276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2602 698.1724 281.5262 709.0763]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
+10242 0 obj <<
+/D [10233 0 R /XYZ 90 460.937 null]
 >> endobj
-10278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 650.5889 171.6497 661.4928]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_66e3e2f2433738665eb748d2f6c5878f) >>
+10243 0 obj <<
+/D [10233 0 R /XYZ 90 424.753 null]
 >> endobj
-10280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 603.379 187.1514 613.9093]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_e006881831b298f0af5031e99df2bc6f) >>
+10244 0 obj <<
+/D [10233 0 R /XYZ 90 388.569 null]
 >> endobj
-10282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 555.4219 202.9022 566.3259]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
+10245 0 obj <<
+/D [10233 0 R /XYZ 90 314.995 null]
 >> endobj
-10283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 555.4219 300.0368 566.3259]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5a36a32ab46d46f574f3091e931e2bd2) >>
+10246 0 obj <<
+/D [10233 0 R /XYZ 90 269.874 null]
 >> endobj
-10285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 518.7974 202.9022 529.7013]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
+10247 0 obj <<
+/D [10233 0 R /XYZ 90 222.731 null]
 >> endobj
-10286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.4003 518.7974 314.2635 529.7013]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_cdc1e9b5ac338be9d0584d50d275226e) >>
+10248 0 obj <<
+/D [10233 0 R /XYZ 90 175.588 null]
 >> endobj
-10288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 482.5464 161.6774 493.0768]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_8c82df1de8703aefeab268dc9ffc557f) >>
+10249 0 obj <<
+/D [10233 0 R /XYZ 90 139.404 null]
 >> endobj
-10289 0 obj <<
+10250 0 obj <<
+/D [10233 0 R /XYZ 90 103.22 null]
+>> endobj
+10232 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F65 376 0 R /F23 340 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10285 0 obj <<
+/Length 1689      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����&3ë.�0`[��
+tm���bщV[�$9i��wx�-�
7N�>2)�<���

�ػ�������ɋ�y	JBz�K/�^$(�N3�O�,����: �O�uz�:��/W7�2�ҳ?��*�n�=3ժյ�j�N_�� ��?Ib!��u�?�&F�%���N�m?���UZ���
+�	��z�Jij�ȥ���X at U$(�9	U��_Og��t�=������ٻ�ˠ���Kb�Z�Z{�2x����?gآ<~j�#��`/@���`0��(C8��K�P�~���K�LW+󧹴sȋ�c�*��hl�
+X��u���{��̐��]����9
N<#�qb�{%�� �
�ŶX4yY���~Y��|���)�J�|�W����\���ߪ�z`��
��Nf�
oN	
+ylLzO�|⽛
`�&f��wʝՅ���J����E ���1�L5{��1�.`��$�#S
+v���8���U��
����KS\�1���Z��5�T%��z���j��A�
x� 2'` �j�V
�8vm�˼6m��s$"�i
+�Q���/�b�N?��Ծ�+�����.ݜ�f�N� ƣ�ۙ��u�1�G��܀Q",��T�m��~v
d����*�0��n�������4T�
�w
E����l+'�V�Ŷ�Sb˲τ�B��a9/��nD `77O�m�1�
[�U[9�;�U�;����Y�n�Q
P�G�A�.��m���N��ǐ,��]4�7X���
>�`E���U��������܄iǝ�x�4B�SO��Scj��M�M^\��Mij���Zk+�Սi�\��*����<zW2ǃ(��*Jk�����?f*"^�T�j�"{8��ڤu3�����CJ�0�JG�j��bȑ(�l>&��]q��Q��"����cH�Qy
 ������IR�w�T%%I��JD��Toz��OK���O�OLb�I�?N��ݖ��n I5
5/�A�	e4�)6��SK�s��O���
}� VR���j} ��Ӭ���Z�4��U�^I#=9�-4��JZ��u
���1U=�2
�%X�A�#�xx [...]
\��z�^C�ӂ]=���!'9=�O����j۫��^&�"��,�yU7Sl��.�=%��6��i_HU.�ʝ��m&��p`P�Cȑ؞æ���Xɴ���`|)�\I|�;Y}�
+3
+Q��`n�!EŠ��9�Vv�Nm�]w����6��jY}�����6�Qsp�R{ωa�Ȧ��@���[��}��>z���3���h�"�	�e�l���\__�E��E��Pޜl6���7�]/�p�u�.l�e�^,C�Z_Т��H>�4
+endstream
+endobj
+10284 0 obj <<
+/Type /Page
+/Contents 10285 0 R
+/Resources 10283 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10179 0 R
+/Annots [ 10230 0 R 10253 0 R 10254 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 10282 0 R ]
+>> endobj
+10230 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 409.41 204.9848 420.3139]
+/Rect [145.1 661.255 204.985 672.159]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_7607ef1c8ef6b668dd2be62c39330406) >>
 >> endobj
-10291 0 obj <<
+10253 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.2138 363.7004 182.6979 374.6044]
+/Rect [165.214 615.607 182.698 626.51]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_277ba920e188477bb301196b19d63770) >>
 >> endobj
-10293 0 obj <<
+10254 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 327.0759 172.1977 337.9798]
+/Rect [145.299 579.105 172.198 590.009]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_754f66ed06474d4b68a93131af02a86f) >>
 >> endobj
-10295 0 obj <<
+10255 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 290.4513 155.8589 301.3552]
+/Rect [125.095 542.603 155.859 553.507]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10296 0 obj <<
+10256 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 290.4513 180.337 301.3552]
+/Rect [156.357 542.603 180.337 553.507]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab2c45cbec19ad11bf34db42b794508) >>
 >> endobj
-10298 0 obj <<
+10257 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 243.2414 155.8589 253.7718]
+/Rect [125.095 495.516 155.859 506.046]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10299 0 obj <<
+10258 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 243.2414 172.7355 253.7718]
+/Rect [156.357 495.516 172.735 506.046]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a215867508a89858bcc7ab025f8d20f1) >>
 >> endobj
-10301 0 obj <<
+10259 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 206.2433 181.871 217.1472]
+/Rect [125.095 458.64 181.871 469.544]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
 >> endobj
-10302 0 obj <<
+10260 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.3692 206.2433 206.3492 217.1472]
+/Rect [182.369 458.64 206.349 469.544]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_272424f5d0df282c6d1ee63a5c84e3e6) >>
 >> endobj
-10304 0 obj <<
+10261 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 159.0334 181.871 169.5637]
+/Rect [125.095 411.553 181.871 422.084]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8) >>
 >> endobj
-10305 0 obj <<
+10262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.3692 159.0334 198.7477 169.5637]
+/Rect [182.369 411.553 198.748 422.084]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_04aed5c92cf15c71ce85b8cc173a893b) >>
 >> endobj
-10307 0 obj <<
+10263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 122.0352 189.2035 132.9392]
+/Rect [125.095 374.678 189.204 385.582]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_36becc8c3ace976043199807351d5b04) >>
 >> endobj
-10308 0 obj <<
+10264 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.7017 122.0352 216.9992 132.9392]
+/Rect [189.702 374.678 216.999 385.582]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_b66151b86ac8c495eba1a3209501928a) >>
 >> endobj
-10309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10273 0 obj <<
-/D [10271 0 R /XYZ 90 757.9346 null]
->> endobj
-10274 0 obj <<
-/D [10271 0 R /XYZ 90 713.1915 null]
->> endobj
-10277 0 obj <<
-/D [10271 0 R /XYZ 90 667.6304 null]
->> endobj
-10279 0 obj <<
-/D [10271 0 R /XYZ 90 620.0469 null]
->> endobj
-10281 0 obj <<
-/D [10271 0 R /XYZ 90 572.4634 null]
->> endobj
-10284 0 obj <<
-/D [10271 0 R /XYZ 90 535.8389 null]
->> endobj
-10287 0 obj <<
-/D [10271 0 R /XYZ 90 499.2143 null]
->> endobj
-10290 0 obj <<
-/D [10271 0 R /XYZ 90 380.7419 null]
->> endobj
-10292 0 obj <<
-/D [10271 0 R /XYZ 90 344.1174 null]
->> endobj
-10294 0 obj <<
-/D [10271 0 R /XYZ 90 307.4928 null]
->> endobj
-10297 0 obj <<
-/D [10271 0 R /XYZ 90 259.9093 null]
->> endobj
-10300 0 obj <<
-/D [10271 0 R /XYZ 90 223.2848 null]
->> endobj
-10303 0 obj <<
-/D [10271 0 R /XYZ 90 175.7013 null]
->> endobj
-10306 0 obj <<
-/D [10271 0 R /XYZ 90 139.0767 null]
->> endobj
-10270 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10313 0 obj <<
-/Length 3351      
-/Filter /FlateDecode
->>
-stream
-x��\Ys��~ׯ�CU��s��*��T�����'ۥ�Dh6I�$���}z�hpp�ZJN
�-�H�cwOO�7=�f����3�
qB��������^�p{�)�OWo��j��\Ϯ�	���]���3F��\0J���%���~��~w��Z?~(V���?ʛ�r���m{٣
����/���͗�%�Dha�
/�w-�g��
'�	!�hۉ�*�����p��ί.
���zY�o��b�����%���K&�Ћ�\u�
�UB3︟/����V��.(Ϊ�|��9�g�
�E������_���F���˵�-�$V�ϧP�JŒ�Й\���:S��
�͹�u0��9W��1����R�C��8�������n}�Z�5����X϶}q����%SsA�e]�u��k-�Ԉ���HG5n��D;�P�#n`�v5��C/J�dֺE�B�r�f���S�SE�6ՓZH at SG�bJ7DKk�k��%�{�$2Ì�Y0L��!�LK����MQ��!��!�n�;�Ea���-�r_�wګ��?�D�����J����99�L�,L��7S��_ ��4�j�j���H�u04�R��b\��l������Ԅ�LΜ�Z}b�q��a5������4��܎l��P�X��E�´KIU�
�i��n���i81��s20����6�@;_�?&�6�k�OvU�������u�^
�l�0���Uy��~{[yy�j�'��D�hp a�6	JMM
�����Z
��}�b�оmU�f��^?�>k>����Cyɠ����@
��u��y�},8���)�z��Nt'B]
-��J���%��T	��"
��D��ԕ7.RWjۧRW���SW��'�J힬�ГL�u����8*Š/�CZ
��	~i%2r�a�R6�L��PR�~R0%
���g`"p�7�0�1�R��I\9
-T&=����x�G<f�H��b�Z]��ed�3��P��Q�~��8?�O�6Q�h�����*[r+��h/���Iedr��yc��Z�ĩ&�`3N�_d6���4�T�EԼ���0���LU�C�9;S��J+Ϡ
���fj*�ܱ1.�z�
�A+�� ?��׌��O"��0#�g�j_��:g�0iD��E�B
𥀆xt��X�����}��� �Q
�rs�ā
7H��,a�Ό�k�U��.�m������k��
�EX�����j^��e-�ʟ����N��g
aJ�ĬJ�W킿`nT��AUk���l(��]��	@�TX�0UL&S�f"�,����	����q�Aw�z]=x9c+�2"50po
-���q�~�W���0���U�;������S�hm�W}Bm�1�;"��x�R� 3��:b�*�ӌ��	�:�

�`$7˸0oR!� L�dP�(3l;��C��H��D0H�S��#���;C �t;A�����
H��zb>��Nd�ƛ�7��]�׃��S�4_�Z�f�WL&����]�?�Sc

R�vP5!���NV��v�,��X�h������h�,�iZ:��(�1����X)B�

��T`�����{jQ��>��#Fr�U�u�
��P�I��|�S���]��9��$�%T��@����fD=/5?o�o�?uO�2d0	���JC��鰯ϼ�f!����
�T�IA�Q'>��V7
X�`T�� 
Ε8"�9��56����4�`��_��b�6�K�|���eX:�z��u�*�
�6:2�\��͏�ĺOg��o�G�w�I`9Ɖ0�q2z�;�G��������
�OG+�� ����$��kI,L���?)5
-��C�
o|�c�Gr��jז,�W��8F����P�r�t�l���[
M���S}��13Fr��0�U
H ��[(`�ԃx�
�������Led��ͺ�t�<
���M�
D�c�Ľ a%QB�W/��߫�
-cCi)�)���qzj�B����B1b$�[qxh��Ɯ��҅D
Q�n�l���y* 7F�������	O-Q��A�v�K%3}�X�+p�<o]0��K��f}���
&7:aʩ���x(�Ss<�TG�����77��B�~ʞ�377��:�
-l����ԓ�QO^o��T-N==էPOވ��f�]����~���Mu�]]�#�(����y�t(��$d���8Z���q+NuI�����I@A�d�n�P�~S
s��~��8o7;��DF��"�كm�"�
+,�ξ�6l���&b�
-���<�e
����6k�]Mq��d�8�9��_݊�Y
��[u0�3S��D���E9����D���V�����$��]ѡ+��
Xq�-�!֞���1���oN�rE"n�(L��D+:	�-��Ĩ��T�Ledز��w�2��=�!af�%��&C���E,��
��Ҍa
�%q,	�#
a8C&s
��2U{SU�)v�N���,;6x̀��iv�.ﮛ#��,'οh�u�'

-1�C$3mĠ/�R�S��]�=��13Fr��B���Ϻ�C!���<4T��cT�8
3ʞE���
UF��
�,,=
1�I
?�	_TT����b�<Fs'd	�����	Y@ Q�m|t0���9B�덄���K֞�SJּ#�ފMQ�GjU`"�犬"
-S�H��}�%`�a)?�


1c,�U�?
&�P�P�~-�����1�3L������p������
��(�^쀷�u�����������εR؎KC�0��CDo�ÞZ���O�CĈ�����z�;�K�H��l�X�
܎�>a���Y{��

t0o��&���'I4*}�Q��l�ݑ��
T�f�@�Q��e@�~V_�yC!�����j��u�H����h�����?�܈����ϡܾ_u�m�V7��ܶ��8ts������E��%8�a�nj�C�t0+�X�K���q���
8��z
>�1��
��6
o|׼N�����x��	#珻�0�Z	OS�ȱv���4�0T	+��
e/Ne5v(L/���)gOo
�\������uy�z��~:�^2h��_��
��X�~s��N�4|,�ْ,~�o� 2:
n�
�w��������r��N�&Nhu,Z�����"
?�L
!7���sD5���Z{�
UO�ٵ�z�ᅞ����k��qrBT+G���x
-�fZ�޳�d������z)���6�;B�9/�߄�����i��wݴ_�}(���Tj~�Gݶ���Q����e�
L��q\(a(�8^
L�!3�j��4������	?X$�hI�$�
��m�P׻�o�<<<���ߖ�=)�7����h�*B�r�x�-:�Ȗ��_	v{�-wUXV�T���.n��T�(�S�����endstream
-endobj
-10312 0 obj <<
-/Type /Page
-/Contents 10313 0 R
-/Resources 10311 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10267 0 R
-/Annots [ 10316 0 R 10317 0 R 10319 0 R 10320 0 R 10322 0 R 10323 0 R 10325 0 R 10327 0 R 10328 0 R 10329 0 R 10331 0 R 10332 0 R 10333 0 R 10335 0 R 10337 0 R 10338 0 R 10339 0 R 10341 0 R 10342 0 R 10344 0 R 10345 0 R 10346 0 R 10347 0 R 10348 0 R 10349 0 R 10351 0 R 10352 0 R 10354 0 R 10356 0 R 10357 0 R ]
->> endobj
-10316 0 obj <<
+10265 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 720.2859 189.2035 730.8162]
+/Rect [125.095 327.591 189.204 338.121]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_36becc8c3ace976043199807351d5b04) >>
 >> endobj
-10317 0 obj <<
+10266 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.7017 720.2859 209.3977 730.8162]
+/Rect [189.702 327.591 209.398 338.121]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_241c65ff3d32769cbb9badd2c8e00ca5) >>
 >> endobj
-10319 0 obj <<
+10267 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 683.3617 215.2157 694.2656]
+/Rect [125.095 290.715 215.216 301.619]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_6f4469416e02c586de17284317f8a92e) >>
 >> endobj
-10320 0 obj <<
+10268 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7139 683.3617 243.0114 694.2656]
+/Rect [215.714 290.715 243.011 301.619]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_9fb86f09111d4ac21fdc7c7baa86e622) >>
 >> endobj
-10322 0 obj <<
+10269 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 636.2258 215.2157 646.7562]
+/Rect [125.095 243.628 215.216 254.158]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_6f4469416e02c586de17284317f8a92e) >>
 >> endobj
-10323 0 obj <<
+10270 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7139 636.2258 235.4099 646.7562]
+/Rect [215.714 243.628 235.41 254.158]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5eb3117d3d7d0566a99f9f5807276864) >>
 >> endobj
-10325 0 obj <<
+10271 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 599.3016 198.0107 610.2056]
+/Rect [145.1 206.753 198.011 217.657]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_44b0a622563e60fe28b91b7e9ff76364) >>
 >> endobj
-10327 0 obj <<
+10272 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 562.7511 155.8589 573.655]
+/Rect [125.095 170.251 155.859 181.155]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10328 0 obj <<
+10273 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.357 562.7511 213.1435 573.655]
+/Rect [156.357 170.251 213.143 181.155]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_386fa9c84bc37468f1a3a2b860a0bc3d) >>
 >> endobj
-10329 0 obj <<
+10274 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.9592 562.7511 247.7233 573.655]
+/Rect [216.959 170.251 247.723 181.155]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10331 0 obj <<
+10275 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 515.2416 205.7616 526.1455]
+/Rect [145.1 122.79 205.762 133.694]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_37703f96495cf4bcb8ced3ff20e4c396) >>
 >> endobj
-10332 0 obj <<
+10276 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.5772 515.2416 240.3413 526.1455]
+/Rect [209.577 122.79 240.341 133.694]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10333 0 obj <<
+10277 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.3223 515.2416 292.0864 526.1455]
+/Rect [261.322 122.79 292.086 133.694]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10335 0 obj <<
+10278 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 479.0647 166.4493 489.595]
+/Rect [145.1 86.662 166.449 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_2edf5fe7007a3e91a404546ca2f2d98c) >>
 >> endobj
-10337 0 obj <<
+10282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10286 0 obj <<
+/D [10284 0 R /XYZ 90 757.935 null]
+>> endobj
+10287 0 obj <<
+/D [10284 0 R /XYZ 90 632.617 null]
+>> endobj
+10288 0 obj <<
+/D [10284 0 R /XYZ 90 596.116 null]
+>> endobj
+10289 0 obj <<
+/D [10284 0 R /XYZ 90 559.614 null]
+>> endobj
+10290 0 obj <<
+/D [10284 0 R /XYZ 90 512.153 null]
+>> endobj
+10291 0 obj <<
+/D [10284 0 R /XYZ 90 475.651 null]
+>> endobj
+10292 0 obj <<
+/D [10284 0 R /XYZ 90 428.19 null]
+>> endobj
+10293 0 obj <<
+/D [10284 0 R /XYZ 90 391.689 null]
+>> endobj
+10294 0 obj <<
+/D [10284 0 R /XYZ 90 344.228 null]
+>> endobj
+10295 0 obj <<
+/D [10284 0 R /XYZ 90 307.726 null]
+>> endobj
+10296 0 obj <<
+/D [10284 0 R /XYZ 90 260.265 null]
+>> endobj
+10297 0 obj <<
+/D [10284 0 R /XYZ 90 223.764 null]
+>> endobj
+10298 0 obj <<
+/D [10284 0 R /XYZ 90 187.262 null]
+>> endobj
+10299 0 obj <<
+/D [10284 0 R /XYZ 90 139.801 null]
+>> endobj
+10300 0 obj <<
+/D [10284 0 R /XYZ 90 103.299 null]
+>> endobj
+10283 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F50 339 0 R /F99 2114 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10328 0 obj <<
+/Length 1825      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��6~���S+1�Q�f/@v�)�ݠ���)-
�řQ�[%:���
�dˑ=���
�
H��������� ���q=�x� EiL���6Hq b�8%�u
�
	A�/�8��
f]�-���M�p/�.[���������Y��R�����!;�I��#Xݐ���2b�`DY�g|3A$Eq2����$�Yf}?_P���yJCY�e��
y#oe7'I(�
	N�0"B���z�ی 
�
H0
��ٻ�q����F,M���Uep-����ΰCy�jP4H�_�B��p+(C8�n��<�a�:ֳ��7�ޱ��/�z�����~-�;
G��'"q���	c�@�;�"�a��/z;g�(�'b?'���z��m��h���
��@��=�-�HPLE�`1�]赬n��Y��q�Խ#S��u�xx�����
V������R#>/^q��I
E<XP0	&
|��i����v�[pm0͜�
[���z�������u��.SM���o�
� u�ƣ,< !2)�}�SG�P�:���wu%k�f}Nx�ٟB��ʰ�¯��19 ����l�ǡ���
���ן
+�����&k�	��
,���,�6��� D04Lz� ��?}�,����3ʲ�Y���tlyӬ�|i���3'䗆=ﱚ	q�%��3�Nr�i��6{k�s�z;�T���г+aV�S:�O����T��	zV�kE	��[����4.N��'��k
�sj�>�q7MS>Uۖ��R��{�R�W�?���L�.�y7g"�j���w
q<�H�[�)� �%�i�Q
+�;I�O󩕔�
�_�Fk���n"M������$�.f�C�VMYB�-��s��)Y@��y�H���B+�a�h=`l(�aLo�@&. �`qX�Y{�Q�Q��Q���,�.�4��n'_�dn_�����E}WJ���ms����six�`GWMծ�B�
+}��� O�R�*~�ǰ��(� 1/�����: �qӁ����'%�̿2]�Fɕ���
�(|he�c��^�-��Q�U@,�n��//ˢ�j�	��֫���xُ�M���ᛷ��
���.�@4|A"�xh_~�,�#�s�E�ZE��g�	����)o������K�'���qyY(ۨ9������p�\�`,
��m��Y@�l��拾��Д���O��O�����'"9��g�s���P��F,E�����/��/=^����

ws���s!�Xl݂vr��r��9��2p��?��r��G�!�ԥk��������]�H�t64[�t�����~/��|��#�"���Q�9�u�se�����`Oʵ����V��N	�bB^�S&�!��h����
�� &���!X
�l| �a��AyFXLU|l������9�'��*zE5���z�-E3�9k�����?�=�q�ug�̔
��ϼ�W��5��=�
&	x-~��tW8� �Bk*t�[�e�2�����ܞ��d���:D�|�n

�M,*��%��Ҧ��˶����kw+��5>Z$��o����#�|�́$�]��A��z�
����E�t��Pq��<�V��+nX�Ka��B�P���Z�)�ge�j8�
���G�	�ƕ 0h�$�CI�ϵ���/l��Y���VY0��:U�W?@\�px�-�ZOk�q��?*��e߉'��D
�.F��O���A�I���W�O����>�&�����������Xs���u@
+?�5´�"p�D'�>������ό��LS
~;"ŽR����f�A�
���P�.ڶ��0Q�Rѧ�b��
�h�t����*�P( �? {}:�
+endstream
+endobj
+10327 0 obj <<
+/Type /Page
+/Contents 10328 0 R
+/Resources 10326 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10179 0 R
+/Annots [ 10279 0 R 10280 0 R 10281 0 R 10302 0 R 10303 0 R 10304 0 R 10305 0 R 10306 0 R 10307 0 R 10308 0 R 10309 0 R 10310 0 R 10311 0 R 10312 0 R 10313 0 R 10314 0 R 10315 0 R 10316 0 R 10317 0 R 10318 0 R 10319 0 R 10320 0 R 10321 0 R 10325 0 R ]
+>> endobj
+10279 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 406.1317 163.3608 417.0356]
+/Rect [125.095 661.584 163.361 672.488]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10338 0 obj <<
+10280 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.1004 406.1317 214.907 417.0356]
+/Rect [174.1 661.584 214.907 672.488]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_b955487a974e74224f3d72d743ee78a4) >>
 >> endobj
-10339 0 obj <<
+10281 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.2441 406.1317 280.5102 417.0356]
+/Rect [242.244 661.584 280.51 672.488]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10341 0 obj <<
+10302 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 369.5811 167.4656 380.4851]
+/Rect [145.1 625.229 167.466 636.133]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_fe22acf3f8e5b6c20880acd443350482) >>
 >> endobj
-10342 0 obj <<
+10303 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2813 369.5811 209.5473 380.4851]
+/Rect [171.281 625.229 209.547 636.133]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10344 0 obj <<
+10304 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 333.0306 252.7949 343.9345]
+/Rect [145.1 588.874 252.795 599.778]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_113964ab3d7ea36326ce962629a322ce) >>
 >> endobj
-10345 0 obj <<
+10305 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.1321 333.0306 318.3981 343.9345]
+/Rect [280.132 588.874 318.398 599.778]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10346 0 obj <<
+10306 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 296.48 229.5525 307.3839]
+/Rect [145.1 552.519 229.552 563.423]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_def4c62b5cdf5186801c592cc62dccea) >>
 >> endobj
-10347 0 obj <<
+10307 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8897 296.48 295.1557 307.3839]
+/Rect [256.89 552.519 295.156 563.423]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10348 0 obj <<
+10308 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.2989 261.7664 266.6729 272.6703]
+/Rect [145.299 517.903 266.673 528.807]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_01b873b0e820222e07789c3ba5fa48ae) >>
 >> endobj
-10349 0 obj <<
+10309 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0101 261.7664 332.2761 272.6703]
+/Rect [294.01 517.903 332.276 528.807]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10351 0 obj <<
+10310 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 227.0527 196.3468 237.9567]
+/Rect [145.1 483.287 196.347 494.191]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d3bda090e4ac93d937ac4dd775c20919) >>
 >> endobj
-10352 0 obj <<
+10311 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.684 227.0527 261.95 237.9567]
+/Rect [223.684 483.287 261.95 494.191]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10354 0 obj <<
+10312 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0997 190.5022 179.7393 201.4061]
+/Rect [145.1 446.931 179.739 457.835]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_1ee74f5687635ddbb9729be31a37e2d3) >>
 >> endobj
-10356 0 obj <<
+10313 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.7903 101.1545 245.9593 112.0584]
+/Rect [205.79 357.823 245.959 368.727]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) >>
 >> endobj
-10357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
 10314 0 obj <<
-/D [10312 0 R /XYZ 90 757.9346 null]
->> endobj
-10315 0 obj <<
-/D [10312 0 R /XYZ 90 733.028 null]
->> endobj
-10318 0 obj <<
-/D [10312 0 R /XYZ 90 700.3847 null]
->> endobj
-10321 0 obj <<
-/D [10312 0 R /XYZ 90 652.8752 null]
->> endobj
-10324 0 obj <<
-/D [10312 0 R /XYZ 90 616.3246 null]
->> endobj
-10326 0 obj <<
-/D [10312 0 R /XYZ 90 579.7741 null]
->> endobj
-10330 0 obj <<
-/D [10312 0 R /XYZ 90 532.2646 null]
->> endobj
-10334 0 obj <<
-/D [10312 0 R /XYZ 90 495.714 null]
->> endobj
-10336 0 obj <<
-/D [10312 0 R /XYZ 90 421.1323 null]
->> endobj
-10340 0 obj <<
-/D [10312 0 R /XYZ 90 386.6041 null]
->> endobj
-10343 0 obj <<
-/D [10312 0 R /XYZ 90 350.0536 null]
->> endobj
-10350 0 obj <<
-/D [10312 0 R /XYZ 90 244.0757 null]
->> endobj
-10353 0 obj <<
-/D [10312 0 R /XYZ 90 207.5252 null]
->> endobj
-10355 0 obj <<
-/D [10312 0 R /XYZ 90 118.1476 null]
->> endobj
-10311 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F101 2128 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10362 0 obj <<
-/Length 2929      
-/Filter /FlateDecode
->>
-stream
-x��[ms����_�~q��|�/n���3M��u�OI�����$ ���= w��

�S�d<���{��}v�@���Y�PB!ø\��.��.{AگW���
�����)I��궖 	������KBg��_�]|��d�vI�e�}x�n�d���H���/��u�eZ-����B:�a�I��
+�O
�g��2�[��	!I�E�9*�/ۤ,�+*������tw�&U�\y�ަŒ��t�����a�^��ʻ���`�X��v��x�w�3Z,����1t����?�?^���i��o�z@

��^�GZ�� "���r��[�+B�D��8�f|
�����ì'�t���.*آ+p�ѣbz	GK��[=
�Mz�<��ߎ�a�|�Ui�Ty14�R���z`����k1�:�y|ĸ�\k��g=k��hJ#
�
-a�)|p�鏞P���H�
��!y�cjVF/<�.��6K�,��5���m�l���6]q�!�6��j�z���|?�k���>�o���F�f���#J��a�g�\*���H�{X4̻a
��¼�w&�o�}Y�G׈Jn����GL
��{�(�D{���h�9P�S����!c!�`�'��|~�s����%wdL2�$�*#�b��,�W�M�n3�Ow�i��7��
8�|�`č"�I���âI���d�.�zz��|;�ˠ�zgs��c��Z
�r���Ⱥ[B��ts��g2LlX������QS��CC?�X`�G:�=�B	$#�DlWF I=̚�.��E�᪃g���m�WǴ��R���4��-��~�Rw����m�ibҹ�+��$��`�&
�Hb����}VF���i[x�y�_%��]ݯv��l���'ݦ�t((Br$
���J� Hrh"Y�`�,�
eyX�����(�mƙhbӠ�;��->f�H���&�n�C����0J-#
p��n��F
x
R��/���+�Pk�Lu����Hm�J���P�;�5���eR&�e�d�N��SY)0��"+9R�g�}��6�}22	Ţj.��У�iB�VF��P��gՠ]Z�q��7
�Ue���C~���(����~:�e�Y�6TM��
��֭w�7�*�=N����@W�*M�O�Qk�5?u�����\����8�~�n���,��o\�&�7�����������x8�� �W��q����P&�������":ixX�<v5B�ф9��˗+�1�|�Z7��ΐT�-��e`�&"��Z�p=
��f
\��Ϋ*���\��L���J������K�:V
��1>dl�
7}U
����=�<9F�cf
��1�FrC���d 0�]�Qݜ�1QC�`Z���
�A��<�
�b$7��L�4�����BW�uo��
-0�,gM�]��z �ll[J�g�>�R
k��I�a��o��������U���fB&
�vA��Ca�*��.��M	���0���u�C똦_�I��Ԟ�b���͐�}y,�5�UV�-|�
�
_�%��
�J5Kc
F#CϾ��<�% �O��<,�c]��6?��1TOo����>�͏X1��,Da�����Q
�0
�4GB�ġ�c�M���P
r�N
�t��d3D>�D>ڻ��A��O)A��
� a�1�t	���n	�nx�}	z�)�s
��bñ)Dp�kS�(���B���>�C�+ϣ�P�+U�;u���QZ�#���1��S� �e�|�'Q"���3�[��d�>�o�}R<�84���Ui��	-P�����@{ނ��@�W{���=�bڍB)N�����f�8$Yq���:9
��į��'`��d`�pԡ"�Ph^�ĺo�ce
*`�1�Tx|̌��zs>_B��xj�?>$M�v�C��[�x_�����`�a�_ph�U�9�Q�Bssste���j�-
��V�
-����V�㶭���o�a>MJip�fzO�
F��@~�}Bp�J���~��*��|2_X�ˁz%
�-�!Ɲ�
�`\���Z�"&O�d(��͝����"��e�X�S�e�����c�. @s
幐�O�)�X�p=�ܱ��B�֌-�w�d�B!�P��1a

�ga9g��`aw=SOMâ�?�f�6 rabM��Y�\b�etόܾ��|����!�������+��'�$1
��X|�6���7�>������}^����YqO�	G�a�C�V���0��
�-
��'�X�`D��Y��v;�uH��q-ARҏPSG��0F����p51��
-�~���ݎ�IB��Wܾ��
���c3��� �l�q�l��F���{���Z�E$E:0w�Dn�.4�������@���. ��
M���Ǽ��;1���~�	���@�!-Th�S
B���$,NDAiT�\��7ʓ�5�j3"|���e�219�c��
*�]G3����G7
]�
�Nt��G�ˍ�n\4��A7x�X�籴~ ��
-u@ij����VEp~��=>��ܘÙ�Hq�GE
>�v����M�DX���
�������/���sz�U��s����9�/�i�Kهd
��l?`O�%7�3�΄1�ƌ��h�'��CFX�
�hW�͢'�J�
U���Y�sC�E
�ˢ�`Q��m��v�X�EŴ����U
 Q�?t�'���#6���J0"���0�P�à�>Cs��=>���8�b��d��
q�Xڗ �ʘ�6�2B
�`�gP?X�@�F@��s�DT�I.�6����5�/�H��NXg���]�*���⽭?R��O�S�������?�i��R�}�}���j��ݼ]P��
I0�~�-�J؟��<)t�Xٷ�Z�j5��g�>��S^�
��
�V��v$׮�}U
^�xq�nJt�g�eՋ�a�b��@�+ӷk�t
hdK��v�_�{����r�Ց���.�<��M��_�gMendstream
-endobj
-10361 0 obj <<
-/Type /Page
-/Contents 10362 0 R
-/Resources 10360 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10267 0 R
-/Annots [ 10365 0 R 10367 0 R 10370 0 R 10372 0 R 10373 0 R 10374 0 R 10375 0 R 10376 0 R 10377 0 R 10378 0 R 10379 0 R 10382 0 R 10383 0 R 10385 0 R 10387 0 R 10388 0 R 10389 0 R 10390 0 R 10391 0 R 10392 0 R 10393 0 R ]
->> endobj
-10365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.2565 706.9608 295.1785 717.8648]
+/Rect [221.256 319.222 295.178 330.126]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5534b8f8fbd973bfb7051cf5fb31f19d) >>
 >> endobj
-10367 0 obj <<
+10315 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.2687 668.1065 347.2028 679.0105]
+/Rect [247.269 280.621 347.203 291.525]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5c3bee913efb87e4661df746e184e1e1) >>
 >> endobj
-10370 0 obj <<
+10316 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 587.344 210.6071 598.2479]
+/Rect [134.114 200.226 210.607 211.13]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_30e0b0c2c668e73566cb1720d72cdac2) >>
 >> endobj
-10372 0 obj <<
+10317 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 548.4897 168.5549 559.3937]
+/Rect [133.915 161.625 168.555 172.528]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ee126cc2eef44ab1d2055d0d15bc3169) >>
 >> endobj
-10373 0 obj <<
+10318 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 498.6765 144.6745 509.5805]
+/Rect [113.91 112.065 144.674 122.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10374 0 obj <<
+10319 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1726 498.6765 332.4089 509.5805]
+/Rect [145.173 112.065 332.409 122.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_0a660ed1cfae2599d7f9236f2084d499) >>
 >> endobj
-10375 0 obj <<
+10320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.1432 498.6765 417.9073 509.5805]
+/Rect [387.143 112.065 417.907 122.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10376 0 obj <<
+10321 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.8883 498.6765 469.6524 509.5805]
+/Rect [438.888 112.065 469.652 122.969]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) >>
 >> endobj
-10377 0 obj <<
+10325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10329 0 obj <<
+/D [10327 0 R /XYZ 90 757.935 null]
+>> endobj
+10330 0 obj <<
+/D [10327 0 R /XYZ 90 676.536 null]
+>> endobj
+10331 0 obj <<
+/D [10327 0 R /XYZ 90 642.203 null]
+>> endobj
+10332 0 obj <<
+/D [10327 0 R /XYZ 90 605.848 null]
+>> endobj
+10333 0 obj <<
+/D [10327 0 R /XYZ 90 500.261 null]
+>> endobj
+10334 0 obj <<
+/D [10327 0 R /XYZ 90 463.906 null]
+>> endobj
+10335 0 obj <<
+/D [10327 0 R /XYZ 90 374.767 null]
+>> endobj
+10336 0 obj <<
+/D [10327 0 R /XYZ 90 338.189 null]
+>> endobj
+10337 0 obj <<
+/D [10327 0 R /XYZ 90 299.588 null]
+>> endobj
+10338 0 obj <<
+/D [10327 0 R /XYZ 90 219.073 null]
+>> endobj
+10339 0 obj <<
+/D [10327 0 R /XYZ 90 219.073 null]
+>> endobj
+10340 0 obj <<
+/D [10327 0 R /XYZ 90 180.591 null]
+>> endobj
+10326 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F50 339 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10363 0 obj <<
+/Length 2047      
+/Filter /FlateDecode
+>>
+stream
+x��Z�o�6��B�e+k�E=�����r�>n���O��A[L��,i%9�����-?��.Z�@ K9
��7Ù`����?'�o'�ub^���91v€ ��6q޻� �Ngc쾝��j��o�
v�l� ���H����zX�ڈ�����.�	��'1E4�awE�k=e��ȣ��q5B$FAԒ��I�f���3�a�v{�X�o�
�w������B���O"It����	2�!J2,D!e�r5y�v����Ƒ�Q�V��Q�͜w��L��2�K����7rB�"
0���cj{��y?c �G%�41�$Oսa�F͒��I2ϋ|�(��X͓���:_6���
���b^�d�l�"��GR��^y�h]�	���|�{q
zN��¡<��̈�b��gz�$FM����%1�X}}�����$8�s����s�{S��M2J�R�JQD�"��m�}��=�Wi~?F#���(�<;!5b�
#�g�@�,2�����D?�Ք��R��E��Y�� [...]
r-S��HhQ�q8Q�]$�+�ݍ9
+���Tk1fɐ?��
��N�#?���36���@���
�C2�!c��k�G at D�GB
+�����=��.l��<�.�[��؉�+�ZX{��{�=8,A����b��AH�B/<�CT�
��iK/L���"���](\+�}�|������l�蹎�
��=���|N8ġѬ+�p� ��.y?G$Z���I��<ۚ�>w>d��r ���=�p
[&�|\��<����
�1��6�'v����KL��7F���a���<|
XDO��G ����򲨛JpSUyq
t�7$����>z
���N��wb���$��`�/���Y7��^�Ky�b�R!���
yz��#��Ū���F��˽ ߤ9
\-
���G����!8
��	;�;�����
	�$�FN6%�
.�z�p3c��C�
r6z���O��
�l�h�J�Ly��*�B��!�A���z�
h��.C�Xp"
x~d+N��gB�t��D���^��D�����+�5����@�4D8$�zM!
+����B�A��T�UѲk<=K�,��d��?�Nj��r�a
�-��}���UezI&W2ɓ�b�Z�2!���Sf:2Ŋ��-!�Idr���t!'���0�����'��E.�t��`���-;�)
G0�o_�q�����]UK�ox1<&��^��6t��w��j�ꑕq8
��ӷE>Sr��!�yM5��s��5�_�:M�d��C��օM��ox��ãd��/23��C�J��E��f�K�K�=r|�v���

�%@5ٚ�d1�
�TV�����t�4I+-{����I.mt�'�{�-��V<�4?��]Q��?k�z(��RX�o꼊����c+4�"��s���nt����i���&JUa��OA�����r�lpX�x�6�T�q�%��GY������� ��
X�7�`
<ל�ݕL;>����������
ê֤��jS�
�E����t*i�f��V/Y׽=
m'}k�m�� |��Ϸ�� �6����i,��"��y�p�_
���֢�jʘm���57 )�3#��X���_Y	Be Cd���@��~v����;�=
�6j��CӔ���-k��ӲBisQ���~��Q!�Nt� �"�|]؊v����w�A	�¸j�
+endstream
+endobj
+10362 0 obj <<
+/Type /Page
+/Contents 10363 0 R
+/Resources 10361 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10372 0 R
+/Annots [ 10322 0 R 10323 0 R 10324 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 10371 0 R 10359 0 R 10360 0 R ]
+>> endobj
+10322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 459.8222 321.1516 470.7262]
+/Rect [133.915 719.912 321.152 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_86f44d9d38638be46ef23422783f847e) >>
 >> endobj
-10378 0 obj <<
+10323 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 409.0128 226.6664 419.9167]
+/Rect [133.915 669.103 226.666 680.007]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_ba65a2c1a6d563f5058479bc07181b9a) >>
 >> endobj
-10379 0 obj <<
+10324 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.0036 409.0128 292.2696 419.9167]
+/Rect [254.004 669.103 292.27 680.007]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10382 0 obj <<
+10344 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 328.2502 154.0794 339.1542]
+/Rect [113.91 588.34 154.079 599.244]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) >>
 >> endobj
-10383 0 obj <<
+10345 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.5776 328.2502 193.0828 339.1542]
+/Rect [154.578 588.34 193.083 599.244]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) >>
 >> endobj
-10385 0 obj <<
+10346 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 291.4532 167.6386 300.2999]
+/Rect [134.114 551.543 167.639 560.39]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_d34bafd07f582c558936f9ea8892abd6) >>
 >> endobj
-10387 0 obj <<
+10347 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 169.3996 180.5399 180.3036]
+/Rect [134.114 429.49 180.54 440.394]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_057c4f38d0e8b8a146af731dbd91864f) >>
 >> endobj
-10388 0 obj <<
+10348 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.877 169.3996 246.1431 180.3036]
+/Rect [207.877 429.49 246.143 440.394]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10389 0 obj <<
+10349 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.548 169.3996 353.814 180.3036]
+/Rect [315.548 429.49 353.814 440.394]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10390 0 obj <<
+10350 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 118.5902 178.2386 129.4941]
+/Rect [134.114 378.68 178.239 389.584]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_2a7c225e4f50e2287216dcd77eaf27d5) >>
 >> endobj
-10391 0 obj <<
+10351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.5757 118.5902 243.8418 129.4941]
+/Rect [205.576 378.68 243.842 389.584]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10392 0 obj <<
+10352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.2467 118.5902 351.5127 129.4941]
+/Rect [313.247 378.68 351.513 389.584]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10363 0 obj <<
-/D [10361 0 R /XYZ 90 757.9346 null]
->> endobj
-10364 0 obj <<
-/D [10361 0 R /XYZ 90 726.0541 null]
->> endobj
-10366 0 obj <<
-/D [10361 0 R /XYZ 90 687.1998 null]
->> endobj
-10368 0 obj <<
-/D [10361 0 R /XYZ 90 606.3178 null]
->> endobj
-10369 0 obj <<
-/D [10361 0 R /XYZ 90 606.3178 null]
->> endobj
-10371 0 obj <<
-/D [10361 0 R /XYZ 90 567.583 null]
->> endobj
-10380 0 obj <<
-/D [10361 0 R /XYZ 90 347.2241 null]
->> endobj
-10381 0 obj <<
-/D [10361 0 R /XYZ 90 347.2241 null]
->> endobj
-10384 0 obj <<
-/D [10361 0 R /XYZ 90 308.4893 null]
->> endobj
-10386 0 obj <<
-/D [10361 0 R /XYZ 90 227.6073 null]
->> endobj
-10360 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F37 2043 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10401 0 obj <<
-/Length 2717      
-/Filter /FlateDecode
->>
-stream
-x��ZK�۸�ϯP.�Tkb r�qUvg��MR�ؓ�zk��1�����J*�=�>F���CRs 	4�~|�

Y`�#�/$�(��XlvWx� ��"n:��($�������������pqJ��.�yIb�*"����ˬ�e�oW/���Q�Mv��b�d����k�Gմ�[�r���B�$�Q,b	�h��,�@��S�(ng��H$=��Y|_fm��(�˻UJ�j�/�Nّwj��I������-���w��fy,�V�߯~�/r��W�i���IS��]1������_z>v�,�3���b�+�� ����tpv&Kآ'�:�@)��`XEy�Nv�f�_���}	C)b�o�m�F;-�1���'
X
-���%�{Ue;g���
#IGn1PM$���C�rn]��򛛺���,�MI�b�e���`g=�<8�w��<}.��Մ��ޫ&��f����
-��^�+#
�t$�Ȥ=��(��S0�@�����/�˦��n,WL)"�>[�=�	�|��o��
$�	�
��5�SM��c�m��_�jgX��
� Ә���)� `��鈀`�j6�)CX�S�0G�l��4�ih��L��VZ�����YO�~�"|i|��DOJ�p�Ҙ����^XB��RO���%4�@�'��!�3�9��
h�� �O&��D=1��%2���<
-�g�3�jp���#����<
E�]��J0K���ɦ�hJ�ynO~a�1W�n&�L6S���>
�ˉ8���h"��Ƽ��
K�<�{P�^���ŋ�/��.Q��������+�����1G�zV�=�y�Ox=��(N��dP���kd�����L&_�}
粏'�R�߫M���?T��a�Dzh4%L�h�cĝAV'�?��i
*��E�
x̶c<%�1�S7����nU���
��v����+-/��&1K�LNƲUbq�%�H�D��)C��Z(��o�6���I��_��
��x.�����S�>�Se�
6�D�Br��>�Y��R�u�4ΨҎ��.+*��J$�1�]a4'OJL��V����Me��*�KS�;����̋#�:3��!*N�H�z��G]��eo�!v&H����dq2��ƴ��+�~���x#��\
-
�u��� �=}.�b��o`C9l$����Ud� ���b�Lz�1��
��h�A��C�d3���[T��@�b��w�-r��O��6���
�hg�
/��������K7�S��:w,�τ���ۡ�tf�[_2�&��Fn 4�B�/Hz�t�Q�`�
��
-
-��6
I2.�<ե�'����)�1h�pz�a�US��}�7���O�B|��_+jmlHd��.�^��������~Ygw��Ҫ�Nl�3/�����PQ�{��	�	
3�*��� ���{�R�\�v -v�cV�u2��L��O�@`��
-�,jTn��e�q����F�k��V�ƀDK5ZR����P���ReyTW�q
���
����*+����$�I# ��f�UU���N`k^���cSt�
�AƖ�2`��pt��vɡ
�ul����&�E�ph��}�U
8��YԶ�g%1�����U
ȷma�F��>�����rS�๫7�P��q;Z��q�
��k�-�s;��6��
�B�
�6�۩��iuA�Пn�F���R٧�ϙ΃�H[;ѫ�|
��A9��V��>��������6���V��}��;��A�Ȧ1�H�$�	������S�0�'w9���(�y���Pf�~�>�����Ҁְ�OԦ�u��*�*��x-<;_����ٺQ�muzְfGl52���;�}5��G���r=����h (
�2M��G!�-��k(�{�Ay
	��_�jd�y���Z
-�������hX��}{X����uؼ�����}�²��V�b�Z�n.7m�y���U�`d����B�Jlvss�=U���
h�
�J��[Z���K�۾�WU>^
C��!���4zٷ���e��ǃ
���8E�:Wۢ���.o�R#6����her>c	B��^���c��*[��o�)�B
-�qJ�`�_3.��7(0�+�����ztN���;�.$��b�c���lm�d�PH��B�;!�4v��(��l=�>�NA�8޷м�k��v��.+��\Qݯ��j��Q0Ӡ��@��Twh�v�w�
�
�Շ*6h��<�UKjߊʃ`��!��
���fs��q�@'�a]f~�
9�>m*I{�m�s��dZi�.]���]����x�
}�}���	�&���Jo��)��>O�n���y?LK�F
�9�]��o�O&�>c��lb�u�u����6��_�<��MN�g�'�>g
O64�|R�I���������ƃp'IX/����mo�L�&N?o������w�a��������\ĩ8s:F쿳X�m�𸷋�h����2w
�ǝ�3w
���p�8PIB��:�u��(�B/�y�3��-��?)S
���T�@������`��js�	���^.���"�{����p������!��/�w��n�$IIx-#��⤿A�B
���
��o��n�mU���Kg�?g��ڊAjATl5��R�Wj�z	=�@Av�ׅ�c�/~A��0t:턯>�Ǯ��\_?>>�M�U�oP�]�����JL�
��9�E=�D����D �6�e��]G��������nuF�T}T�endstream
-endobj
-10400 0 obj <<
-/Type /Page
-/Contents 10401 0 R
-/Resources 10399 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10267 0 R
-/Annots [ 10403 0 R 10404 0 R 10405 0 R 10406 0 R 10407 0 R 10410 0 R 10411 0 R 10412 0 R 10413 0 R ]
->> endobj
-10403 0 obj <<
+10353 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 707.9571 226.0342 718.861]
+/Rect [175.349 327.871 226.034 338.775]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_8691a3facce4d6f973b48743fa42ec42) >>
 >> endobj
-10404 0 obj <<
+10354 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 707.9571 359.442 718.861]
+/Rect [321.176 327.871 359.442 338.775]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10405 0 obj <<
+10355 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1666 657.7199 156.5325 668.6239]
+/Rect [134.167 277.061 156.533 287.965]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_a55b32c299b7d7bec303f636b66ef624) >>
 >> endobj
-10406 0 obj <<
+10356 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.5995 657.7199 309.9479 668.6239]
+/Rect [160.599 277.061 309.948 287.965]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10407 0 obj <<
+10357 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.8991 657.7199 506.2475 668.6239]
+/Rect [356.899 277.061 506.247 287.965]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10410 0 obj <<
+10358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.1848 521.8883 513.9963 532.7923]
+/Rect [435.185 140.686 513.996 151.59]
 /Subtype /Link
 /A << /S /GoTo /D (main_powerset) >>
 >> endobj
-10411 0 obj <<
+10371 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 511.9904 125.865 520.8371]
+/Rect [89.004 130.788 125.865 139.635]
 /Subtype /Link
 /A << /S /GoTo /D (main_powerset) >>
 >> endobj
-10412 0 obj <<
+10359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0801 492.3088 366.3461 503.2127]
+/Rect [328.08 111.106 366.346 122.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10413 0 obj <<
+10360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10402 0 obj <<
-/D [10400 0 R /XYZ 90 757.9346 null]
+10364 0 obj <<
+/D [10362 0 R /XYZ 90 757.935 null]
 >> endobj
-10408 0 obj <<
-/D [10400 0 R /XYZ 90 608.9884 null]
+10365 0 obj <<
+/D [10362 0 R /XYZ 90 607.314 null]
 >> endobj
-10409 0 obj <<
-/D [10400 0 R /XYZ 90 558.2678 null]
+10366 0 obj <<
+/D [10362 0 R /XYZ 90 607.314 null]
 >> endobj
-10399 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F37 2043 0 R /F74 478 0 R /F67 366 0 R >>
+10367 0 obj <<
+/D [10362 0 R /XYZ 90 568.579 null]
+>> endobj
+10368 0 obj <<
+/D [10362 0 R /XYZ 90 487.697 null]
+>> endobj
+10369 0 obj <<
+/D [10362 0 R /XYZ 90 227.786 null]
+>> endobj
+10370 0 obj <<
+/D [10362 0 R /XYZ 90 177.065 null]
+>> endobj
+10361 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F35 2013 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10418 0 obj <<
-/Length 2276      
+10382 0 obj <<
+/Length 1728      
 /Filter /FlateDecode
 >>
 stream
-x��Y[o�F~��о��9ù��zS�4M�؇40(qdsˋJR���{�3C�"%ˍ�0`q��3g��;�Yx�™`����*�gwp��
�
�<�|sq����B�>�Y�
8F�`2�I>�1F4Z8
����q�Ƿ�$����^'U|�s���jwueo�]պY|����-�=�XE(� y
�זd �u�L�c��'Y�+��z�o��u���F�;��ZW
,�X�-��S,
Ӌ�t�s�e�Fq^|����!��d�X�+Ef�%�_d.~����
S��#q4
"�$��{T#j�P�� ����ѽM�
�[m(���f
����2M�n7]�.�m�܂�һ�������Kp�����}l��HO�v�F��j7xӲr�oJ�{����U�Y�k�{m�������V�!�^1�Y�=	�*��O�&��@c�;t�^�\P�#8�Y��S��LG6�L�u�2&�_j�����%v 1�/�
�`|�
zԧ�� [...]
-.��i�֔�$E�C��۱�@�""�ڣG}�
��o��;�����<
�hw���v�Z�
������	�Q.�#�Fp���\� �!��y��s����l��Y�>��.��G�Oy�d��4~����;������-�' �
j�I����m�b�`�$�|ߌ �ڑ_t�����B��n��a�\m��L�ևPQE��vܺ42n7$��"|�eHP�Ҁ
E�����d�ˆ��N40�L��
C{0�צ�,���+�眜+�h���{����S�
�9%t at 1�h���*̎�?8������%���*�jt�i*�94rXԼ������=��*���I�
�x��k/� �j������BJ��qդ�mWv��%p��fٵ[��J2��t��[�6jM��Jm�
-S?e��	���-E۳AQ�sۗu�I<BM���e���>�
-\&��ֳ��7�$Ht0�5�I2���Dɓ���L#�0�2��B�My�k0�тC�.B�y��VT�K&O�z,�W�G�L���,�>�����`� ���'�w�
�0���R����ھ.h�uJ���Z-"1�q�)z�
��z�e���
��/�;A�{�$���-VM=������(���V�(;ʲO�;G�WTy�O�U�G\[w��ޡ`kF(;�㠤먞�^b���w0��N�
� -�ߙ��o��4�ͽAgs�Wy{"�@	q�j���i�,WqQ���^:��`�g�OWЈA��,MDl��v��
�T:�1J���
�A���2�����RA��	���?a��>��K�^T��y����z��z�NS5���硓H���������
��Ag29��C�d�a���OG��~�|G��
-�+=�>��Ӫn\/2Th�͔2	TF�@� P�
��2;��O6V昛��M�
��L��R�9��E���aN7��
���=#ۏ{
v���!q��^1�t�]
��&^�q
M4
o�λ9ljN��`� �E��;	
 �D�6�D�9~6)�
�/R�Ù 8婼<a�@�%c�'�2�w��B���~��p����f3Q�
H�T��cZ���ɂ�S��5�,`}$�|]����6�[�
-��6nl��r�Y�nLF���^�q4!;�߅��,51
 -Ht��	A��Q΋���1�c����q]z����^`��r�N7F:gpE!X
S��"�}Nu>m[����Z���D���S
��D�K|l�@�}|�W�6A���T����n
l�����@�D�w�����7mU�P	�Wv�i��pd:N~Pn�'�c+R�/`�)�}�y������9X*]��C��
��=�x��S�yD��HCsƿ�+l�!��t�E%GJ ����^���wƖR��c�]:`���@3kG\v�K\tw�W�,�;{��-�!�V�
esAP(�*�>�c�~�%v�B�{��(�ӎ��3�7��������j�-�M���r��.G���R�N.�F�
4I(-�}Y�^+/��s���*����y'D�
lP!{endstream
+x��Y[o�6~ϯP_6����i�nY�ֵ���lщZITE*�7��P�dɖ
����~x�w���uia�ǣ�.�N����ȧ�u��"l>A
%�Eb��	A�3����rB�
Wy<{9�����%U<�)�Wq�:=��j�
���w�O�ңO"9�
�7���
#�D��"�Îē;I|��BL�����$�6��,�LϼbKVMHh�bS�G]�%�"z�����#d�Ed� �g-�7ﰕ��s
#'
+��fWn�ԁ6�^�z�({(Sa�l8L%�b�+-��{[� ����
�ā��b�N�XرK.D:Ϙ��\�I�K��
�W4m�+3������5��.ГB/��
6tWzF�����G�i��I�����C{U��Ř�D��'ij�<R^�� %�55rN��"���T]�S;.t����ԧ���͗z�ï�"�d
+)��bzrɳ�O�gߤť��kCP�b!�)MYagn_V<׽R���@���!�
[]��muy��n��̰Ҳ	� 
�W�
��1o"#�b���F���D�b�c=3g
��~Œ�H�œ��t�o��/5��AW͚���.���d,g�4rQ�i+h2��� h74V�yL�6D؇�:1u0FaY��z���S�A�L�JVĹ�7��M#�B�iN\�4�OP��g���:g�2��\�����7�\)�ug�+�fM
!��gC=U�����D�E}�h��ӵ=��T7�[М]��"�n<n�r
��@�R�X�l�����>��
u�Q�'�f�*� ܗ&]��I�O�L
�<[��roܠґ�A҆�M-���|�!�N?�\lC�2�v�~�05�h�����5b��3p�a]�n!c�N'��ka<���r��4a���1&�x"2}!Bá��
��j&�?�L��Prg3����J2Ѫ�o���O�[z(�b��
+#p���
�&��0�
��
;��ս�h�6
6�A-�Y\,�2eɎ���8q�����?�9��
1���
�d
��u#���Ф>rq���. whg�ty&fQli�
F�q�$<���X�b���� ;�R��S�u�S�j9�,��x$i�>�]����.�DH��ޡ�
+R�5�j���n��I-��1"�0C<�<�]��Q���2d�Q�t.aNgY��d�
�`8
+/���}y�ġ���'��%”�z��;�<�:>Ȣ�F冥�pw��@R��tK!d�N���	��b��e���-_l�5�^
w:	�-
+"�%M��X|]���5�k9=�,�zɁ���F~���V�
c۹u��T�)�=s �

p�B���w�a�\�3&�D{���F���V�GB�x��Uz���k+;���/n������Ɏ۬(��.�)	Q��wE^�0
�A=��w���ѧ�Fu?R��R��Į����:t5I�%�\��<��)�29=�BV,΍K�y�����~�Ү*�[y�ӿnK���*vo.8�L�Ԙ�x�w�'>S��.
+�8���P��ѼW���E��
�bN�3�;rs�.㡏�����&R���u���Z�����Ͽ�x�-��!����
�k�s���K�%PےU������QD�C��7_Ɓ��˸A��
�/U R�=�a��
�_ ��7�*ͪ
�
]�R��� �'1"��8���:ۯ3�j�>Xm�5�;P�w����<=9���A
��"-+�ʓ��N�m�NH�p�Sa�Kx��S�̛�����\�
+endstream
 endobj
-10417 0 obj <<
+10381 0 obj <<
 /Type /Page
-/Contents 10418 0 R
-/Resources 10416 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10267 0 R
-/Annots [ 10423 0 R 10424 0 R 10425 0 R 10426 0 R 10429 0 R ]
+/Contents 10382 0 R
+/Resources 10380 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10372 0 R
+/Annots [ 10379 0 R ]
 >> endobj
-10423 0 obj <<
+10379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10383 0 obj <<
+/D [10381 0 R /XYZ 90 757.935 null]
+>> endobj
+10380 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F65 376 0 R /F50 339 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10390 0 obj <<
+/Length 2598      
+/Filter /FlateDecode
+>>
+stream
+x��ZY��6~�_��]����$ȩ�V9�8�ɦ�ijO�KE��7"������:
���E"�f����u�A<{����7���ܾ
�,BQ@����,�3$(�ݧ�sBg�%���-��U
��-(����F�U��w����pwg�5�^U�j��}KȈ?�b��
�o,�D�eQG���$BAس��E���u�XR������U��ƍ�#��U-H8WECRP>�k�7����qC�
�c!�db��7>�Y
+�?�0bQ8��|�)������/7���)C8#+#������ �X��a�R�`ޔI������,��0Œr�x4ᅈ��t�>�c�E��Z����crq�
��wa����DHJ1fh~u���m���5�@A\-�O4�Ƞ�)�z�zW0�BqN�5|R/9(�r��e��8-�� ww����hK)Ƌ�A���î*�4*�hi
������(�ܾ��z�\PѩoF2ex��N�R;����;��]�<[�wj�y��ө|���f��&K�m\��/ILh�U9���y�֍�lw��r7�u �o�$�I�`
+"��2��Ž�ł���M_�YG��'ّ�:N~�������Y����S�C�%2FP���/�"�^?W����&
	A�D�f�5����Z5�*)
o��l&��E������u'E%�B�.Ւ1i��džd�B��	O�q��/�	��4�^o�.Fʪ
V󶤣�9G���\-���8]�����cX	�Q��4� i����NN
��o6Ҭ�o[$M=
+#؍��գKϿ~3�`
�㒥�y�=w8caf
+�h
+p�
t!��:+
�e��য��88���277b뱑��6���l��ڑ�R>�U�iTḬ�G�M7�r��M�T*1J}��T� WͦL��;Jx}��dZ��U��oX��
@���ŏ��Dq�;�Fϫ��
�:���c�Š
+L��Uu��J;�
j���X�����7��9j�d[�Ҫ����|��Ҟoo6��������,��B��e��69���8���<%�[m��
�+�G������_?�+{]a��4�Yj9>K�:�!�}sQ�@AΧ��j����qB��sߠZ�A�p����8��>�N�F�Q"���t�[�Y�	��(�ba4��\_����Pt�a��zt�{�6+�\tb<���>��bb
����@�S�)�0�*��gu2��,�y�9�c���/������'���~����̜q�tn�#�(�S�� P�q���æҎB���:�wc�J�:���H�J#��F~3��Q�Dk��m�s
��Q:��tS�Ya��qcg�c��4>���Gem���� �ԉ��ԮR�>��-���=�u �t	y����i
E����(�U˔%�v�'���U��q��r�	�P���>
�
!N.����B`A���"�@��n�
+�����(�G!�.!"Wq]g�ŀ�6�l�y�n �G����������ĔB
���G���ϖGG��	)�&���z\d�6�taӔ� `
�s at 0�x0�N�z�]��=%R �����$��o_%P$�u��2U	(U���6���omU�9��H�� �� �֑_f�cХ��&̏��EQW�B]v�g��>"�e��ܞ
q�
������C�U��R��n�'�7��8�`z���S�{z�5�K��^�,��_z�i���x�w�	�1��M[�O2H��7jS��R����Sc��AK�N�������������;�Ius3��� 6o
�?��
"�z4-�s-�Pw(��7�m¹T�y�s�̀�EW��[��y
�\fER�;�t��ʟUtc at w�9��4���)�����ւ⳥<`ø~C؈�=��p�	E����C��(z�[��x(_�[O��S!��:�i�*�b�.������jg�>��d6[-��{Av��i4Ά�����e��1K��?����n����<a�qɤ�����IX�7��4q0b/�
٧�$F}hݬ��Ա����Z���@!45vLL�T�O|"ꞅ|��	�:���O<�����$��
+�.�u?C�T]��nJ{B-@�s
%0���ќyPL��{�k׌�76w�y��Q�9*�g��2A�?:��׃��L���?0����v[%�u��A���F��%O50
>��>k6�
+�j;{T 7�[��к4�
��
�Ԗh���R�Gi؀C*�
�����M�9�'*϶���M�ٸ���H��yke��r
27��ө5d{�tj��}�Vv8�S��)Sk���c�^���Ð�ogSK�>G�u| �{�	lAP���v��.OX7 ��լ��gУ�k��w�U0c��}�
i��>N��z.�K�u; 6t:aGIX���������+ at M�N�V/��
FE7�Lj�0����Z�f'����6IT]?��qM����qȤob'���ߎ!DCx�c�10c ��B�ɘ �����N;�.��mW�[W�؛�@!���s���).��$^��<�������]��I�3��J9M�z�Ϻ���� 4�;����4����v�ߣ�Fm��*�5�������b�B �������+ҳ�O�E�+�F�
+endstream
+endobj
+10389 0 obj <<
+/Type /Page
+/Contents 10390 0 R
+/Resources 10388 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10372 0 R
+/Annots [ 10384 0 R 10385 0 R 10386 0 R 10395 0 R 10387 0 R ]
+>> endobj
+10384 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.2547 255.143 379.5207 266.047]
+/Rect [341.255 574.928 379.521 585.832]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset) >>
 >> endobj
-10424 0 obj <<
+10385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.6031 225.5635 349.8783 236.4674]
+/Rect [156.603 545.349 349.878 556.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_386fa9c84bc37468f1a3a2b860a0bc3d) >>
 >> endobj
-10425 0 obj <<
+10386 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.5193 225.5635 513.9963 236.4674]
+/Rect [374.519 545.349 513.996 556.253]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_37703f96495cf4bcb8ced3ff20e4c396) >>
 >> endobj
-10426 0 obj <<
+10395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 213.6083 216.5255 224.5123]
+/Rect [89.004 533.394 216.526 544.298]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Powerset_37703f96495cf4bcb8ced3ff20e4c396) >>
 >> endobj
-10429 0 obj <<
+10387 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10419 0 obj <<
-/D [10417 0 R /XYZ 90 757.9346 null]
+10391 0 obj <<
+/D [10389 0 R /XYZ 90 757.935 null]
 >> endobj
-10420 0 obj <<
-/D [10417 0 R /XYZ 90 418.708 null]
+10392 0 obj <<
+/D [10389 0 R /XYZ 90 733.028 null]
 >> endobj
-10268 0 obj <<
-/D [10417 0 R /XYZ 90 394.4933 null]
+10251 0 obj <<
+/D [10389 0 R /XYZ 90 714.318 null]
 >> endobj
-10421 0 obj <<
-/D [10417 0 R /XYZ 90 394.4933 null]
+10393 0 obj <<
+/D [10389 0 R /XYZ 90 714.318 null]
 >> endobj
-10269 0 obj <<
-/D [10417 0 R /XYZ 111.0807 319.7322 null]
+10252 0 obj <<
+/D [10389 0 R /XYZ 111.081 639.557 null]
 >> endobj
-10422 0 obj <<
-/D [10417 0 R /XYZ 90 305.4005 null]
+10394 0 obj <<
+/D [10389 0 R /XYZ 90 625.186 null]
 >> endobj
-10427 0 obj <<
-/D [10417 0 R /XYZ 90 200.3723 null]
+10396 0 obj <<
+/D [10389 0 R /XYZ 90 520.118 null]
 >> endobj
-10310 0 obj <<
-/D [10417 0 R /XYZ 90 178.0606 null]
+10301 0 obj <<
+/D [10389 0 R /XYZ 90 497.806 null]
 >> endobj
-10428 0 obj <<
-/D [10417 0 R /XYZ 90 178.0606 null]
+10397 0 obj <<
+/D [10389 0 R /XYZ 90 497.806 null]
 >> endobj
-10358 0 obj <<
-/D [10417 0 R /XYZ 305.4399 89.4414 null]
+10341 0 obj <<
+/D [10389 0 R /XYZ 305.44 409.187 null]
 >> endobj
-10416 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R /F25 344 0 R >>
+10398 0 obj <<
+/D [10389 0 R /XYZ 90 392.759 null]
+>> endobj
+10342 0 obj <<
+/D [10389 0 R /XYZ 321.092 330.087 null]
+>> endobj
+10399 0 obj <<
+/D [10389 0 R /XYZ 90 313.659 null]
+>> endobj
+10343 0 obj <<
+/D [10389 0 R /XYZ 90 214.205 null]
+>> endobj
+10400 0 obj <<
+/D [10389 0 R /XYZ 90 199.934 null]
+>> endobj
+10373 0 obj <<
+/D [10389 0 R /XYZ 360.931 89.441 null]
+>> endobj
+10388 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F65 376 0 R /F50 339 0 R /F72 471 0 R /F23 340 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10432 0 obj <<
-/Length 2778      
+10404 0 obj <<
+/Length 2167      
 /Filter /FlateDecode
 >>
 stream
-x��Zm�۸������������ERஹ
zmqin�)

�-g�ڒ#�q��w(R�dӲ��6	d-�"g��g���0�##�GJ(d����
-��A�/WĿ���i��O�W�/�d$���e3�$HPBG��7cBg�)��_M
'�:���P<.V��Lf��ʤ|��qͶ�.-��������%!��a�I�@
;�3ץ'��2�}��A
�:
��C�e�T�dJ
�N

���*�S��:]���q�ϡI	�ǜh;��Ϸ�t޲�Ib
����[<Z���ˆ-F;x��CG�+NY������a
��� �@��KV�2��`�B
Q�Ju�ޱ�4����B��ֲ��&͓5XE0
]a؊�C�`�{|��Qd
7���$�6C��!��HJ�h�}����f�����8�2M��Č��F�t�+��b���˝��
</�v��(G˜���f���aT���F�
�18�n� E���� MI;ʛ,_ey��u��qj�l����7_����o�pҞ
Q���

�̻�}VE$�q��į_���g���g����B�Gd3�DZI�_�� �Z�#�
D��}��{T,�j���V+��[��ViҺ�'X�(��E��d
y�:�k�ߞR* c�a�(
6Swٓ�:��L
:����ֻ�b�F{,�m os;ӟ�\&�#a.=��Y����y���+a�(�`/�{��K)EL	������Hc4R*���F�8�Cg���̫�`�kwy]nӘd
�Y���U
�	 ��`
-j�Xg�i��u�<�6�,4�������y��3�Z7�sL�b�D'?"�>��`C 0&��Z1�zqs�����U(P�ۮӼ>
-|BZ�=h���X���1C���0��e1�b���!��&�}&-��
����Ւ��E&�`q�Y>/֛���Vi<H�+���8`
�n��O#	�4
-�J#�� �҉�ֹ $0�
1���!�B�x�$��qO����i��E�5=�}`
F�5�'#���l��!%a�1CJ�u�J_
ܓ�b��쮨�b=[d�����m\j^�
��1����vnag2��tû}|����)��*$��h@�l�&S��8���S�����Ѵ���$�"}�@��� �B�J�J���#�g�` �6eQ��:]DilO@q��-��� زR!~}I���e�`
N�I�S��k|�����UU�]g��؀�nHX�؀
-
,,�f�
�Y0�
�
��NWi��
��ּږV��i��u����o�wD��M�8����
�	�T���u�� *5���M�v���+���Z�2�{�
�p�@����X�|��_������s���'�[�k?�1���MQe
�p���z��yD�)��@
�
�,�ў�w
9T�]C��� =GÏ�P3�:*1��l+طJ�ώv�G}���Ů��mW
����_'�Ե�2��u�&r�~�i�')pvh���9�MNd�C��9��
- �EY ��.��	�J	�'ͅ#7n�
��@�sVhh��{��U�~k
���o�.�)��
L��1��#��\�y���y:ۄ�y₝}K�T�A�W�����N��b��'�9{9������iU-��n��~/�f�wKAn�5�m�D�8�xBN�8��M@$
"_ 
Q�5���v�ǩ�@0W���Qz��$�^�![z�VO��B
V�?�{EJ+/ܟ(���M at ju�{�b1��GQ��4�Te�1 ���UDg��4y��#�i��G!lU�y`���ww���/�4F�}YcSZ����8�]d-X���lKj�q<�@�{,dXL�/����a��k1پofkZ�2��׾v��?�Qz����9��`H`��t�mK�~���)�ܯf�'DeH��
Lk}�Ljx� N���
-�ϓ�,���I��m26su���FQr���Pb�ڇ���@��']_g�B��3G��
��AJ���$+wY�Β�f�N?�E	˸.QAQ��`��Bθ
A�*�1
����O��i�)D\�����<���zs+KXD�Ŧ5iD��SNB5���ة@���a�6Y׋�?
'4n�~\� w`i�[E�����Z���r	l 
�{���,�G����Ȍ�5k�+��q�n���.ai�K��wwu2��{�n@��D�
��6>d.[4 �I
-/y2�w��etm��}�v�E�zc`
D���~�%�"�/��N^&����Q�	�
��ҵ���
/�]�V�t�0�"~.N�O��6�$ڊ��2K�^�ؒ�ש����e�!�xQ̛s�$�#��X��
鎏�S2-�LT�L8Z����h������s7i���p�
�&L����'�!f�^���xH�la��t��8(+.QV��Z9 ���
9���
���h��6=Q���'���=����Qq5��A�V䫇�qeoa����W}��Q�!��[I�_�x�o.N�( =�I�ȩԆ�a��\
��e��E�?<wM]�`�e\��D��h@Ə�
"
�b�ڰ��8����\�qO��R�P�xvVΘ�
�h{����3 ����>G?�O��@F�Y������� !X�R6�����}7W��
bH�*��dž���n��]�|ei�-�Ƕ
�
}M�=��J�?M�{���$�&�}��1��
-d
D�����O�C�PH±"�o ��������z���/�]"���h\��}]on��w�
�Wh�g�e�5�ׇr1{g�+3�p���H��噖HH���,
�l]�.��иNBݲ+Os��X��*\:0endstream
+x��Z[��6~�_��]�9��5h
+��M��"�d�)	
�D���%U�㺿��"u�Ж�d�}ؗ]��s�΅�΃��﮾���~�3'D�O}�n��	|�8%�]�s	A��X���zA�U�h�zA�[d��L�h�Sz_E���捌q&W���Y,)��ۦ�����\�jA�+�XM"�ڣd���]�rE�+쐖

��q'�^�������`�B���U[ǣ
�g�۫_�Q����b���-�����뗄�>
��h?�Z��
��[�
J�G[�y̽��
q�[���
0Gҭ��^��&8�~�X��˪���"(�AxN�)
6)F>9+�D-77Q���"_-�Rg�
+}< �ܘ�h�b�J����<nV���Zy
֚�+�,�J�\;�{�q\��[��+�T�GLQ
�_w\%�=�^r L�>U��=�wi���|�X��JeU42nd�A����%��N�K �z���$�5�M�?�c�C���0�����9j6imٝ���dX$����mT
+���	M��@t
�i�Q]�i�`#�!��	��=�Ԩ%/�e{����k�ɭ�͊(O�EY)����h�_AL�>,�-����F0P�0f1����b�
�1�7E����
�n˖T���{/�E%��(���|�@P1
G: ��b�߷��O���	��ڴѯ�i�u��軻��W��X��z�u˚]eޭ+P|�5� ��-�@����S,���)��X
�%³`�
{�;�

 �x��i�zU�*j�j���Ӈ���q��9
҇���>:�9b��Ć��Zh�;�`O at J?�Z�)�R�RK��>��**�찊����&���нD��"o͓"x�'�T
�Ta���`MU������Γ�,� ���z���&[�D�UP��J-,�,~A�$$]*����e�̹��y��'̘�Zv�I8
+z�ģ|Ϟ�D �39��i6���
#:��%��@���"�ܢ�C ��5�����>�䱧��{��!#SߵB21��Z���^�ł�.��%�m�mTI��}�
��*թ����h�E�f�
+��`aX���MR?������4��*�����-����Z.U�U�*j���R��7�7��YQ%�@���Q�$���箭~X_���2�kS_V�̻��EW��*y������[��"�)��J��U�C�
�G�)���e
+�M�\�Z�/�LS+
�?��ǝ��.ʇ,D8�3�p���|��,��L:$���׹�
�
+����Y�v�1���#ʏ
+&�ȪQ���a3��
m�lpY�tX�����`��i+��B�Ro���vr1��Q�V������e
�{�����3���)�[�/;G�'� �`���<+!��`�𩞆ε4��GX�H�{����^_���c1�����y�����!������
+�/�
+����E��Z�,�E`�.
����ф�K�{B����j�/�w�P���~�&��)�FOc�������!�
"@Ȁ��X�
C�(:���u�e�-�X��žx!3qoz���!g���Wй��(�������n_V0���

M_��ܧwn/�����<�95�(t�T�[�Ne�b��Ju���/qFCU��͝�С.?Qu"~3K�D�-<�	�TO�)d`�(���ٕ�a;>i�\��5#�Sq&��dK��H��P{

se�oҖq!�0B'pݺ��g��S�	"֡�;L�e=z(�n<՝��YT��}kzs� s�
]�-���u�ez��߼ǘf�=&��yU�� eЧ����OW�[r5h,3���ҎI�<A��"�O~��� G��F��H��bb<5���<�v�<q�>���)�
�j��\��"�2
�G�A���d����&J����������.T5�ʸ[�,c�v�Ƞ�Q�9�(I��k���������|�je�����Q�IT2V*e�H�&�k�ǻJ���:�T�Ւ�u��6�juPǩ�®2J�o:�F��&����h�(������P�
Bƾ����(�
>
+��;
+
"Ώ�R��sۅ��5q�o�S���"0h�(�E�p���U�#
������) E�`答FR-��Nw��U���3 �>Em��������(��.O�
+��5���DwG��!�0���n[t-@���mԟ*���;�'��
+endstream
 endobj
-10431 0 obj <<
+10403 0 obj <<
 /Type /Page
-/Contents 10432 0 R
-/Resources 10430 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10443 0 R
-/Annots [ 10442 0 R ]
+/Contents 10404 0 R
+/Resources 10402 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10372 0 R
+/Annots [ 10401 0 R ]
 >> endobj
-10442 0 obj <<
+10401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10433 0 obj <<
-/D [10431 0 R /XYZ 90 757.9346 null]
+10405 0 obj <<
+/D [10403 0 R /XYZ 90 757.935 null]
 >> endobj
-10434 0 obj <<
-/D [10431 0 R /XYZ 90 733.028 null]
+10406 0 obj <<
+/D [10403 0 R /XYZ 90 733.028 null]
 >> endobj
-10359 0 obj <<
-/D [10431 0 R /XYZ 321.0917 675.8614 null]
+10374 0 obj <<
+/D [10403 0 R /XYZ 140.132 663.906 null]
 >> endobj
-10435 0 obj <<
-/D [10431 0 R /XYZ 90 659.1752 null]
+10407 0 obj <<
+/D [10403 0 R /XYZ 90 649.743 null]
 >> endobj
-10394 0 obj <<
-/D [10431 0 R /XYZ 90 556.8593 null]
+10408 0 obj <<
+/D [10403 0 R /XYZ 90 544.883 null]
 >> endobj
-10436 0 obj <<
-/D [10431 0 R /XYZ 90 542.33 null]
+10375 0 obj <<
+/D [10403 0 R /XYZ 90 522.571 null]
 >> endobj
-10395 0 obj <<
-/D [10431 0 R /XYZ 360.9313 431.8379 null]
+10409 0 obj <<
+/D [10403 0 R /XYZ 90 522.571 null]
 >> endobj
-10437 0 obj <<
-/D [10431 0 R /XYZ 90 415.1517 null]
+10376 0 obj <<
+/D [10403 0 R /XYZ 90 473.33 null]
 >> endobj
-10396 0 obj <<
-/D [10431 0 R /XYZ 140.1315 340.525 null]
+10410 0 obj <<
+/D [10403 0 R /XYZ 90 459.265 null]
 >> endobj
-10438 0 obj <<
-/D [10431 0 R /XYZ 90 325.8962 null]
+10377 0 obj <<
+/D [10403 0 R /XYZ 90 412.062 null]
 >> endobj
-10439 0 obj <<
-/D [10431 0 R /XYZ 90 220.5709 null]
+10411 0 obj <<
+/D [10403 0 R /XYZ 90 397.997 null]
 >> endobj
-10397 0 obj <<
-/D [10431 0 R /XYZ 90 198.2591 null]
+10378 0 obj <<
+/D [10403 0 R /XYZ 90 350.793 null]
 >> endobj
-10440 0 obj <<
-/D [10431 0 R /XYZ 90 198.2591 null]
+10412 0 obj <<
+/D [10403 0 R /XYZ 90 336.729 null]
 >> endobj
-10398 0 obj <<
-/D [10431 0 R /XYZ 90 149.0179 null]
+1546 0 obj <<
+/D [10403 0 R /XYZ 90 242.836 null]
 >> endobj
-10441 0 obj <<
-/D [10431 0 R /XYZ 90 134.4885 null]
+310 0 obj <<
+/D [10403 0 R /XYZ 90 234.492 null]
 >> endobj
-10414 0 obj <<
-/D [10431 0 R /XYZ 90 87.2846 null]
+10413 0 obj <<
+/D [10403 0 R /XYZ 90 159.46 null]
 >> endobj
-10430 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F25 344 0 R >>
+10402 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R /F50 339 0 R /F23 340 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10446 0 obj <<
-/Length 1857      
+10421 0 obj <<
+/Length 1592      
 /Filter /FlateDecode
 >>
 stream
-xڵYmo����_! @J����A�&��6�{v?]O\[D$Q!�S�_�Y�.MJ4��1��evfv�gf)2���
�+��a\�W��?��f$�^��eW�����{)�I����� 	���m�)!q�X�qr� 8I�mzw��8)6�k����?�/eZ>^^~����������Œ
-����a�?�{[.�N�neA'�p͉Y|��0��u3�B0I����>}��
v�a�3Z̏p�1�η3NY���nf�j��͂�`�^
�����`�#"R��~������=!���
s����DO�B�k�ǽݥ[��*�P貢�	�
PH8DA� Q���eQ�>���k���W�m��E9`��&�`Q�wC�S�
�ї_���Yk��ݶF��j@;C
� �ܰdU��	ϗLC��s�2B�F�c�A�h���[cq*�HNF��f/1���fr,
=C 	������ф=�����4%ѓO�u@�>{IA;�K#���K!I9oV��P�U��A�
���(���^�7,&�`����Q5� ������ Q�WX
ӽ�
f'����`
�i�0��CF0� �����S�RP���)FvZJ�
��	��bSb�=�şWl�h�6�/���]��&����s�t�.q7H=�.RFGg�O"��A��7y�����bu��]��y���ԛ�z�W�j�I�pyl�n
��q���ʲ�ƥ6*�l��1�=�G�bL7�r��


l�~v<�
-4
���%P��Oz��Q*Nm
�(��Q��Ԕ]�Kٷ��o�z�Bʗ�(�KMY��
�Α��ژ�[HZ��I7�"�(��7�n�9dC��HO
-\�R{�u7X��,��B�T��(�	�]��ye�4�D�^�jU���#�!�y�F������c4V
c$�
�(˫��Wk��^Ղ$6�p3�KaQV�}Z{�]-�H\��p��u�e��Ci����K/�6�xh
-�z�z
Mr�jӬ]7�a�:��-�4D��;�>.d�	΂��L��[2
�t���+0�0��$ÌZ|b�	��azv�È�2��6��wmyi
�L
+�u*���ܑ!p@��DvE
�H��B�6>�����C�2*��
M:�&l

$�t�
����0E��	�\�n�Z�,\U~�3[���l���n-�zv�� �C}]Y[Y�M��(�Q0��`�V|}���W~?�������kBS
�'��cJ��Ϯ�H}�b��9f�
��w�I�^}�Vq��)�\ϻ�B�9�]l�xd�Д�1?q��v�d��BD�9u9��L$2L��S�����²��h�R|��/�����F?�j��ާ�M
N�
��t�% A��e�WP`�9c���l�&!�U8�"&�Fp��~m�
N���a��qb�y�G�)/��6���aE{拑H+��8D�)�-��4���+��m�P3���� �
2�k
-��c� Z��
U9��e�T�o.����C�7�~�ٗ
h��>u��!��		%���ɾ��h��/�&ll35�]��y�����|���
��M�q �ez�k��dtH
�ׅ���`�CTBzC���M�@�&���W��3����w��y�wL��UF�����,[�� �T!;
�D�"\��g�*֎��b�b�[��?9���W`Sq�P�`��sGzB�꧑�R#E
��SL��>�AB0�'�놇�Tn��߆����we˿�Oʁ�~Iw�t�ou�lY�4�6�G0���سFB�����ȿ�m
�����v�����У:�=�����������xD�
-
v��Dy}S�ũ_L
�9L5=�N���|�E�i	S=Sח��E2����9t�A���5��� ����endstream
+x��X[o�D~ϯ���D�s��!e
+����]Un<m,|�q��s���iW�C_f������l
�8�y�����MĂ%���� �����Yp��X��8�X
�m�^_,)��a��6��-�i��a��P����{��7]^W�O�o��20OA�L�����v���e~�9�z����tƜ�����=k��"���eBCU6E�){彺U�ġ�6p�p����.~�\����19I&�M�����
��
0bI

̪2��|X����|
<�7eG�zx�u�d�f_��KM&ͥۺ��6wQ�rm��<�Ɲ�T
�enk[��^�[+�zIExȫ;{�#ƴPkq�r@"�Y
�$n��H���Z	@H�h��e �$BP
�7�8"�|-pA��2FT�ct
�H6�#x1.<���F�
����`�Fc��F

1	�`(��1F�y� +�Xp�?G�'=Jz l
ݴ����>��nR��g͜�������b�苶�<���L�
+����=
�HQ�/�jS�35�U��zLj3��➪C(�9/P
E�8�J$�A�("�#�����76�w��Q.�7��df7���E=S�8`�C{��{ϊ��c�'0���`A
�Dܠ
����E.���6��Z���(-!$D�V�u՛�����t�7L�3wo&|�K
���z*�sb��2t|w��������ep|X2�9Q7��"L���M��Q7�nQwА�~	���Fu��	�,w܆B鞾��t���8��ψ]3
+��ߎ�*��C��$~MF��`$=�>
LFо�Cy1��#
�P?b�g���]�2���TL��L
K�f��3D�4D�T;W]���glڼ�#��s�ջ���6=��$�d�(]�C���2��9I��s����D>#�b�W��
��>
&��a����
W�cĘ.��͑�;"7M|
��n��e�N��mi O�πS�qN��-��
�ਫ��!���J_}c�N�pXpaZc
[���VPe��)aC�=���O]�=��5��Rw\��Qae�<�]�E]6u�{*��
+
k �M�9�
OG�{��ΐ��	�ư-a�179f��2�CQ��$ӛ��y$9;�_�<}�5e�7_H�e
u
�b\�S�6)i�߽��Z�z���Q�F�
+k*#��"�N��>�W�၆��	�L��N�M��m���΃_t�W���\W�C�s�D��G��hVy��"�CG�f|,�9�<��C#�
ˣ,��X��
�	��/���
�qi�o'�}n��s$q�|��E���Pu��8G�꧙.ك�|Z��1�~CZ�j�
mDb"��r��1�
A����5
hk�jw�'tט�11怓t��'�ߴ��X���Ρ �{�X�LL�|X9�+��g���	3�"!!s����g~+Ȗ��S�x�"g��-�N�~c뿭E(����&$��EЉ�2u�����n�ٓ?v��j)D�r�.��i�83�)���;F�CҴ�0ݯ� �TP������G�.
���^&b?׶]׬�����оʛ��d��k�V�M����P֭�A^��� M��7{��
+endstream
 endobj
-10445 0 obj <<
+10420 0 obj <<
 /Type /Page
-/Contents 10446 0 R
-/Resources 10444 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10443 0 R
-/Annots [ 10453 0 R 10454 0 R 10456 0 R 10457 0 R ]
+/Contents 10421 0 R
+/Resources 10419 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10372 0 R
+/Annots [ 10414 0 R 10415 0 R 10416 0 R 10417 0 R 10418 0 R ]
 >> endobj
-10453 0 obj <<
+10414 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 235.2424 188.4102 245.7727]
+/Rect [113.91 549.723 188.41 560.254]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_a4959b6198e090d37abbd07085b74a30) >>
 >> endobj
-10454 0 obj <<
+10415 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 196.0145 197.875 206.9184]
+/Rect [133.915 510.495 197.875 521.399]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_8041e8b3420a554e9637e4dfcf43c2b1) >>
 >> endobj
-10456 0 obj <<
+10416 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 157.5338 196.159 168.0641]
+/Rect [113.91 472.015 196.159 482.545]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Smash__Reduction_a3b0210cf6bc4dc319d24d429518c61d) >>
 >> endobj
-10457 0 obj <<
+10417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.911 335.266 391.332 346.17]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+>> endobj
+10418 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10447 0 obj <<
-/D [10445 0 R /XYZ 90 757.9346 null]
+10422 0 obj <<
+/D [10420 0 R /XYZ 90 757.935 null]
 >> endobj
-10448 0 obj <<
-/D [10445 0 R /XYZ 90 733.028 null]
+1547 0 obj <<
+/D [10420 0 R /XYZ 90 687.344 null]
 >> endobj
-10415 0 obj <<
-/D [10445 0 R /XYZ 90 691.329 null]
+314 0 obj <<
+/D [10420 0 R /XYZ 90 680.744 null]
 >> endobj
-10449 0 obj <<
-/D [10445 0 R /XYZ 90 676.7587 null]
+10423 0 obj <<
+/D [10420 0 R /XYZ 90 568.324 null]
 >> endobj
-1588 0 obj <<
-/D [10445 0 R /XYZ 90 578.3658 null]
+10424 0 obj <<
+/D [10420 0 R /XYZ 90 568.324 null]
 >> endobj
-310 0 obj <<
-/D [10445 0 R /XYZ 90 571.7656 null]
+10425 0 obj <<
+/D [10420 0 R /XYZ 90 490.734 null]
 >> endobj
-10450 0 obj <<
-/D [10445 0 R /XYZ 90 496.2276 null]
+10426 0 obj <<
+/D [10420 0 R /XYZ 90 434.321 null]
 >> endobj
-1589 0 obj <<
-/D [10445 0 R /XYZ 90 372.8629 null]
+10427 0 obj <<
+/D [10420 0 R /XYZ 90 373.278 null]
 >> endobj
-314 0 obj <<
-/D [10445 0 R /XYZ 90 366.2628 null]
+10428 0 obj <<
+/D [10420 0 R /XYZ 90 309.737 null]
 >> endobj
-10451 0 obj <<
-/D [10445 0 R /XYZ 90 253.8426 null]
+10429 0 obj <<
+/D [10420 0 R /XYZ 90 287.425 null]
 >> endobj
-10452 0 obj <<
-/D [10445 0 R /XYZ 90 253.8426 null]
+10430 0 obj <<
+/D [10420 0 R /XYZ 90 287.425 null]
 >> endobj
-10455 0 obj <<
-/D [10445 0 R /XYZ 90 176.2535 null]
+1548 0 obj <<
+/D [10420 0 R /XYZ 90 99.766 null]
 >> endobj
-10444 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F23 2116 0 R /F74 478 0 R /F25 344 0 R >>
+10419 0 obj <<
+/Font << /F63 374 0 R /F11 418 0 R /F50 339 0 R /F21 2075 0 R /F65 376 0 R /F72 471 0 R /F23 340 0 R /F95 1779 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10461 0 obj <<
-/Length 2045      
+10447 0 obj <<
+/Length 1354      
 /Filter /FlateDecode
 >>
 stream
-x��Y[o�6~��0P���ë(��m���v
-�3�}��fb��U��Ϳ�HʺY����"���s?�a��Y*��B"�x��f
�|���Z�
�z�%�~��y
��B*��r��p	���f�~E��: ��ݚ�U\e��ݚ�U��������$U\���n�՚D��Н�T�*��4>
��[���oa�0�؊S����i����"XH��.���
��#�"�<�
FD)���2��.�-~m�؅fÔ?a��k
"q.y��8I��Z�J�UR�I��@F at 9b\�fk��2�km�n^ґ�$������R��H�H:����y��!�W��@��g:!���
-�c��$�Qĥ���3
���]��o���>���Bn�;�ҍiƓ�bL,��&紅
���gП	Gы�f��ݞ��� ���9�i��޻��Z#��L���e�cQ
��_��챟vE'9�iB$
-)�N���=��(�(/q刎�&��.�o��8��iva���E#��dr�d$
\����Ѽ�JKt74���혯���x1�@�4}���w�?�1�M��@�A�TWb��Ь���>����B_�OkP��7)Ȱc��A��:ɵO�]��vY��>���,r��4��F�*� 
u��
�K��Ǽ�s���1��%�q�Z�����)F>
�P��PHH2\��Q&�
�s(D�TJ9�g=E��<?�7�1č�~��P�3$��(E��
��!�2��ۿ�����ޖ�5�����������<iY)�SL ll��vdB\��Ci���/��T4����5����S���x��O����@Ӑ!�h
-Aǃ��$
�����o
ĝbN�'�m�n[�8�6��T�a�2��p˜
��3
-
΅r��<"�9pt�M�¾P�C&
�����v*�~t�'`��D�8��SM%F�?�T�
`�Ĭ�=.�t6a{iUƫ8[�7��pi��.�PX�uϞ�� �qx�V�G�'
-�T��1RRB.f��2�OB�\�����C���(�T`�HK=�d�	 0 �g�����������j,�?h�B!y_�w�"��K�s��ˮ	$;8vR��K:ds.�d�<�vɬԳK�R/��+��\Ҵ
-
���|�]�o�e�m
-���D�{j2ҽ<�� ��g
�"T�c��Ś�թE��0�����8 ����(�Y�pgo�4G
�b����x6'�%�"PG�0�	-�����v�M�Ր�CG��?3��r����Ђ���z['���7.	�>+�h=P�H�mz�M��:'�A�$/�:]��{&��P���)PqBE�w�;>��֚5�9&��>�P^����L�z��Y:'�B}�v�>'U}�Sk�s�l�n�tV�p�����ג_�gȵ�|V�g��Ӝ�!�wFK4/
Zk�x�.��B���}���"	Au	SS��&`�b͝�dР���a
-�<E�#Pz���#0�ڒY��\��ӰN�m
ﴁ�ܣ�6���V�����tt�6�`���mc�4�@��"�!6�kW�ē]/�ù:���JW����h�8VCї��ӏ���Yq�צ(�`��7-0�CĜ
C����^񖧺�-Q0F
u�t)��|K"�Y���1W8����ߵ�.���`�v���\
�H���9
-wxL��(����x�|ܝ�����mWH!������������S�-��a_
ӝ#p˝�F��b�}�y4s<NI����KK��W�N�SBǔYb�
|�Һ �G;E7���9y�ᐛd�ꠄ��M�n�O�`�-7����C��9�?����⢇��ssg��˶A���
�{��x>'�
��B=�w��[ȁ}p�	�&��������8)�`�T�aD����W���:<s�t�����[��2��r�8o�� �a����ڠ��ۆ�y�ǽ����D�
dW�X���;}��tvXГ
kG|����.oonN��
�1O�
-%�
�ft�o�U8�>3�
Z��.=ϳ0ExO��Բ�Ҿ��c֔��0��P�/
���endstream
+x��X�n�6}߯ЇJ�%EQ�-�$u��\g��8Xh%��V������;��wm�uS�!i9
�̙336n
l��x�^��]j(pm�X�6<� fc
MB��ZK�16/-�ͰL�ͥec3O;
���Bl˰<���w�E|3�r�p�pki3l�NªR�W���2<�`�P�Rӱ��i�v��z�炀a� �!�C
eF�.>~�F
��50��o�[�Ԁ�pM���_x��
0fw^�a�}����9ã�bci;�:�:��
+�ۍ��w
�ZK�Ӛ///�Mf�R�[63���L�N _&'���N�FdQ���BF��"���wGtA��R-P	���
��M�����Six�!���6"�Χ�f��Hy����.�M�"Ϫ6:(gq$.r����
�V�m��
���w���0Q��ZdE�e~��:Ѯ�-�(oR>W)ׯ1��O48`l�n����z�6|��u���j�A
m��-���~�M�#1����x�
�t�s�
�q��6���3X���i�<
�չ=F��(�H�ט�#���غOnIDɯ�b��@K��O#���
s�1�겉�
�K��Nh��4
�E�F�]M��:I�^E�PP�,
��¼�w�UcC\��0���6�����*f��.o�X
�e9
f�kޭ
Ե����Z�^$��n�H.��,�L� �b�!T�jm��B!z�B� Nɛ,�=j
��H�
�����
+�iB*#!�2y�~��t� 
+G���꒨�����P�;a}z�GM
+���eg��hFC�P�ny&����ә�7y�(�u|%'���)]�ɐ�{\ܧ
s٩�".
2�{j��` t)^�a��C
Pg�=���I�y�h�a���ݲ
���
+��M�u�a�i&�6�W"�IT��L

`
�4�>�:�uW��v[��^�C�N�U���rc�)�

��C�n:f�hu'1H������}r���qkD�[�݄�Q^*@�"���ye~
�5�D׭��]�+�XM3=�F�I�c�P��=1�p�q1"�~�/�N��=
(�����2�7D�x�<	��<CC�n����`��*�o��f�
����y���>t���
k	�É�#���Q�#Dr��{����}*���O�g��z�Q��x�<��æ�/@���Wd��u����Q��>�
C�Y�W���(j
+�q
���`������`Ͽ��~��?��^ ;��
E��.,@�͇�KY6����Q=^�'p�Z�
�u ߅Y�
+'�UC_9P
j;�%'T"��%�Q�=�RK�������h�8mc�����8[���=�*�d�(��W0��	��q�J�W �O�1m_��7���
+endstream
 endobj
-10460 0 obj <<
+10446 0 obj <<
 /Type /Page
-/Contents 10461 0 R
-/Resources 10459 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10443 0 R
-/Annots [ 10465 0 R 10470 0 R 10472 0 R 10474 0 R ]
->> endobj
-10465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.9109 641.6345 391.332 652.5384]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) >>
+/Contents 10447 0 R
+/Resources 10445 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10372 0 R
+/Annots [ 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 10440 0 R 10441 0 R 10444 0 R ]
 >> endobj
-10470 0 obj <<
+10431 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.418 282.7875 204.5596 293.3178]
+/Rect [162.418 623.503 204.56 634.034]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_14c081beabe1e165b1dc44b2a84b6c2b) >>
 >> endobj
-10472 0 obj <<
+10432 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.413 243.9663 194.9635 254.4966]
+/Rect [142.413 584.702 194.963 595.232]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Throwable_5024cc2b142473f5f733a8808cb09162) >>
 >> endobj
-10474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10462 0 obj <<
-/D [10460 0 R /XYZ 90 757.9346 null]
->> endobj
-10463 0 obj <<
-/D [10460 0 R /XYZ 90 733.028 null]
->> endobj
-10464 0 obj <<
-/D [10460 0 R /XYZ 90 679.6468 null]
->> endobj
-10466 0 obj <<
-/D [10460 0 R /XYZ 90 616.1202 null]
->> endobj
-10458 0 obj <<
-/D [10460 0 R /XYZ 90 593.8084 null]
->> endobj
-10467 0 obj <<
-/D [10460 0 R /XYZ 90 593.8084 null]
->> endobj
-1590 0 obj <<
-/D [10460 0 R /XYZ 90 406.4802 null]
->> endobj
-318 0 obj <<
-/D [10460 0 R /XYZ 90 399.8288 null]
->> endobj
-10468 0 obj <<
-/D [10460 0 R /XYZ 90 301.3712 null]
->> endobj
-10469 0 obj <<
-/D [10460 0 R /XYZ 90 301.3712 null]
->> endobj
-10471 0 obj <<
-/D [10460 0 R /XYZ 90 262.6695 null]
->> endobj
-10473 0 obj <<
-/D [10460 0 R /XYZ 90 206.304 null]
->> endobj
-1591 0 obj <<
-/D [10460 0 R /XYZ 90 81.5375 null]
->> endobj
-10459 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F52 341 0 R /F97 1822 0 R /F67 366 0 R /F74 478 0 R /F25 344 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10477 0 obj <<
-/Length 2418      
-/Filter /FlateDecode
->>
-stream
-xڽZko���_1@�t��|?��@t
$
�ݸ���<#��̫�fw�_�KI��ig�`���:s��%Ͻ����?�0x��B�q�����#���W�{���������;)I����� 	������%!��՚`���W/�r�ݽ_Q�<�
�m�����/�����Ǖ� (��]�ZS���첪j��?���e~��S��KN���o��v�IvcLK�W?��[˷W1���3|��C�+N�������_�N����T(aӱ�!�
eK��4��w��y`�(G��8�k��m��Uq<������s�iE�2��Dz�\��M�Z�R���$�1���ٝ�
B�`H
�l������Zu��i�
'�0����������Q�*kFa>aR,��Y^M,����م
���E�`�8��َu�3�b�`��%��Q)��#�������G��
0=�l�;̇��ç8��6�>�OY��H(�����_j�
�ɳÃe5�!�&����wlź� 3��3w��K�p�aX�
�ܿ. �v՟�S�|[l���6�cz(���u����|m��
�t��Sq��KC!"�Bb�4԰��
ؘ��bLẀߟ�wŦ��}���;ɿ;65d�)�.�F�*&D�aI��<�:ф��̯i��;���qE�YxH�C at 1Q��xT���H�����BR5ؘ���8|��Юe��]�tŀB
�x
<*��R
�Z�
��@�#��
-u�tB���aM�8�m5,��z�9�m*�N���9y
��&+�*�.]d_��_���Vh����̎�jG��X��
}��%�f3� �ҥԯ#sQ$���_�S�����!0xyv����!d�Q	��<)�`7�S��2I���YlGܴ�}��r[{Tʫ���
�RW��N
���[}Ч"��Ee?���Y���\
�*~��t�<�Wh5������}~�>{V�\c�l#�vR��nh�R�C�K1���z�^(��WK1���z<�-���FlXN�AR�e!���*�6ز۟�W�
h��E�
l�t�`�Ln_�[��W�"-���пMq�m?��g5�#���ԏE5Qf)APCY��rN��������)q;XZ܁���
g��
����c�tW�˧�m cR"�Ly�4S�%�KM1u�
�f?x��-w�O���jk@�(ݵG%�P<��?��9a֘�H䁍��
l^����η����6���o��=�lΧ•���)�S+B�ݤ�'�
�ό�?��CD�
��~h�b�'�9\�݋�c�j�'�:\�i��}���� 
S�5� �z�Q	>
s͍���3 S��% �� 
6�~����!����q�ۺ4��~&9"�ȷT� ��:��������_������W�ڀ�1�9���)#���?���H� ��v��Wxj����dQ��E�
l�T�`�9�c����_;����n�Q^�nS{��
�=�ꤜ�Ee����0�@����  �̤��`iacˆ�����"��܅���8���
U�
��+��S�Fv-��>�뻇�j`�
X�{N%��*��A2�)�T����X�e���}U�)"&&0���F��
�v��L3Č��yT��H�0��W�bg��(�m.��C���a���J�]4��.��w���Ȩ���E'���
2Ȁ�r�

�PC��.�~�ee��HR
-���aɤ����~]R����`��F
���s�^w�����C�^Y�,Ǣ��} ���44���z<�ٗ��)���7L���R�D��7sz�H��/T`#�

l�燠��~tv78��F�T��c2���v���tn�1
[�XX�
���F�^��l܅�cv�&�(H*��w�P�y��
��%�Wh0��~]�����d>�S	�:���ȭz�O1�m��ݠ��mf��`$
�JРܮ)6�a��\{w���
-$$#�'�=/͙�;R;��Q
-)�.*衍H�񰦮��0�L5"�
��y�ܩƒ�h8�š�.�9^�
b������M''��.@�b1_{T� ci�I����?���o߈�HS���
���h�����	)0KHq�>!�~Ä�B��#ؚ�� ��#�40�_s��خe�1�˜
��<
J�J�`D!�ĀF�ѱݤ�Z_�h�D�`������F�l��C�z>5�k�*�d.�`�P������ Rȋ^�n_��HӫS�NAm�^T4��gm�s�B���;�}��{a��ؽ5�~�w��\	���}v8�;%�Z�ל���6K�`-b(�텲�
��_ǭ	P��ׅ���쾰���:U0ڑ];�Ǻ>�\_��m*t>���鴻
�)��}����HA���\z�g�=Vl��׹���~��}6��[�T�9���endstream
-endobj
-10476 0 obj <<
-/Type /Page
-/Contents 10477 0 R
-/Resources 10475 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10443 0 R
-/Annots [ 10480 0 R 10482 0 R 10483 0 R 10485 0 R 10486 0 R 10487 0 R 10488 0 R 10490 0 R 10491 0 R 10493 0 R 10494 0 R 10496 0 R 10498 0 R 10499 0 R 10502 0 R 10503 0 R 10504 0 R 10506 0 R 10507 0 R 10509 0 R 10510 0 R ]
->> endobj
-10480 0 obj <<
+10433 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5376 623.0791 177.0528 633.9831]
+/Rect [138.538 298.294 177.053 309.198]
 /Subtype /Link
 /A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare) >>
 >> endobj
-10482 0 obj <<
+10434 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 542.3166 149.0979 553.2205]
+/Rect [113.91 217.609 149.098 228.513]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_8dfe38ded52523b20209cce599411c4c) >>
 >> endobj
-10483 0 obj <<
+10435 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.9136 542.3166 218.5568 553.2205]
+/Rect [152.914 217.609 218.557 228.513]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-10485 0 obj <<
+10436 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 503.4623 179.5535 514.3662]
+/Rect [113.91 178.808 179.554 189.712]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-10486 0 obj <<
+10437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 503.4623 189.795 514.3662]
+/Rect [180.052 178.808 189.795 189.712]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_bb6a26c12f7bdee7504d577ca81992e0) >>
 >> endobj
-10487 0 obj <<
+10438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 464.608 179.5535 475.512]
+/Rect [113.91 140.007 179.554 150.911]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-10488 0 obj <<
+10439 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 464.608 250.6661 475.512]
+/Rect [180.052 140.007 250.666 150.911]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_44e2225e59844067e005297572cd9ca5) >>
 >> endobj
-10490 0 obj <<
+10440 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 425.7537 191.7178 436.6577]
+/Rect [113.91 101.206 191.718 112.11]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-10491 0 obj <<
+10441 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 425.7537 288.8524 436.6577]
+/Rect [192.216 101.206 288.852 112.11]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_7102c6fe85d4c8e6939d29a047becbdb) >>
 >> endobj
-10493 0 obj <<
+10444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+10448 0 obj <<
+/D [10446 0 R /XYZ 90 757.935 null]
+>> endobj
+318 0 obj <<
+/D [10446 0 R /XYZ 90 733.028 null]
+>> endobj
+10449 0 obj <<
+/D [10446 0 R /XYZ 90 642.077 null]
+>> endobj
+10450 0 obj <<
+/D [10446 0 R /XYZ 90 642.077 null]
+>> endobj
+10451 0 obj <<
+/D [10446 0 R /XYZ 90 603.395 null]
+>> endobj
+10452 0 obj <<
+/D [10446 0 R /XYZ 90 547.059 null]
+>> endobj
+1549 0 obj <<
+/D [10446 0 R /XYZ 90 422.373 null]
+>> endobj
+322 0 obj <<
+/D [10446 0 R /XYZ 90 415.69 null]
+>> endobj
+10453 0 obj <<
+/D [10446 0 R /XYZ 90 317.242 null]
+>> endobj
+10454 0 obj <<
+/D [10446 0 R /XYZ 90 236.556 null]
+>> endobj
+10455 0 obj <<
+/D [10446 0 R /XYZ 90 197.875 null]
+>> endobj
+10456 0 obj <<
+/D [10446 0 R /XYZ 90 120.272 null]
+>> endobj
+10445 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F23 340 0 R /F99 2114 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+10478 0 obj <<
+/Length 1993      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�SB�D4�N^�3q�r�83N^&)D�6wx��|̯�n4@��d9㝪}�	�F�_7 ׺�\��ſ�g�g%N�к��׊B��YW���f��効�k_.�k����%w�x��Y+ֿ�V����,��r��k�.D��𝼖�Ŷ�RXe~�s���򯫟?\-�^0�ɵ��!���
��\|�˵2���r
/��{EUZ>��YX��-\�ϱ��3pGz27t|/�"�:���쟜J���(O{�{�����
+��,��q���l���r����m%��f�W��c/�	M�����Ȁi]u�l#z�]D܊A��G�8wB�[`b'�j�d�m+��V��Q^ѓdQ��zFM뱨��
�����;�H��4,�
7AP���zD#*�	����yG4S�0.
�s�;�L���^��A�'aG��}���B���۟���^��S�vE�]!�b����w�tU��E��"۸X�yF�2��&�r)��0�@&��w
+
��i�۾����m��y]�g�Ȫ]����]�JQ�
_u����N,c,
��;�����2�m~�4�
����sd�	����Z�����x߃S�v��f��,7 �j|av�l2�=B=�\ȿ'��ѦO�6�KYu�w�R<��F�r=|�d:�O6�˭�"%�r��N��T*4�[Qe���d߳��r���z��<p,M�.�8hA4'��>�O�����4�u�à!������=�s���JSn;S��k�>M�W}^ݼ����?2�/�co?�9���sh9,��o�����ٞen���=#q��c���sXM�-��?

�
��d!z1������'�ҁ�ﺗFX�bw��j=��~�L�U�=��<p��$���չ���!7�����,�a��wO֛R>�E��Q-_%�ョ&��v6hne���!�鎳�����/O[�n�7/4��K����ie�
��w/t�[���d��L3��L��V�������E^�4#���sO'������
��SsT���G��+!ג},�(��D����� U�����i�!�V6-��:;໠�H��[+�!m}7ָ���fRW��w�E
��\h��AY��ـ9I��l";r�K/uWS
�lD�u�6E�~��x�Ź��Uq
+��"�fi�M��V�BZ�
5m�T�--�<Z���~���A���-X��Q"t�BR/���9�̀�Ex|VOA���V���f�(�#c
+!$�m,�j�C �����GU� #�>
�*�b�;���n�Ӧ���۱�`K�;Z@�>D-Z���

�
+��H
g'�.��8��T���í|�U�
+����V��6�vs��`X��%���.E�B�m�\~@ߑ�x�
No�C
W5��"
��An�[��o4�b=�4"�<���J*Z�P
�����b�c�
+p��5��Ol����] ����`�}��N�V 7���#��"���Pb��n� ���.�p��f��5j|ل�
��N��<�+�j����{�x
�>M����J*|7 ?Z8���� /�k�,
�kd�C �����c��#W�!�ik\���S��j�����[L�s(
Wg2�q82��z[���
���e�Rh���~��
+Q�lō��!1�%�������Y���D�%�`xc�Ŧ��ph,����$�UA��1%6�cG5Ԏ�
tw	s��&T
�̀�DT�!>�r�a�O�i�� 0�Ҡ�
+($��!^W�\��
�kz���n�L� ���b'��gh6��� ����r>�"���Ql�
-�/#��F�ִ���DBc����Ba~� �#8��/-A���2"]�3G[�V����B���z�����K�94X�*��雱>Sakw��:�s��L����5H�����P��	���ù���������I;g[�M���Y�g���
���X�`��[m�,���
��_x]�9
+endstream
+endobj
+10477 0 obj <<
+/Type /Page
+/Contents 10478 0 R
+/Resources 10476 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10489 0 R
+/Annots [ 10442 0 R 10443 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 10474 0 R 10475 0 R ]
+>> endobj
+10442 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 386.8994 191.7178 397.8034]
+/Rect [113.91 706.961 191.718 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-10494 0 obj <<
+10443 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 386.8994 303.0791 397.8034]
+/Rect [192.216 706.961 303.079 717.865]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_49b4a338d3d82bfb7a404ea87481fc4d) >>
 >> endobj
-10496 0 obj <<
+10459 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 348.4187 150.493 358.9491]
+/Rect [134.114 668.48 150.493 679.01]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_ed0f237309569c2bfbf9e6f60740974e) >>
 >> endobj
-10498 0 obj <<
+10460 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.2836 309.1908 254.0638 320.0948]
+/Rect [166.284 629.252 254.064 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_0431b025f2e3c1b5d3cef06c4054f726) >>
 >> endobj
-10499 0 obj <<
+10461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.2055 309.1908 384.3931 320.0948]
+/Rect [349.206 629.252 384.393 640.156]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10502 0 obj <<
+10462 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 228.4283 203.0748 239.3323]
+/Rect [137.432 548.49 203.075 559.394]
 /Subtype /Link
 /A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-10503 0 obj <<
+10463 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 228.4283 296.3242 239.3323]
+/Rect [203.573 548.49 296.324 559.394]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5f2c0410e128e2f082d761ef36820da) >>
 >> endobj
-10504 0 obj <<
+10464 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 213.8076 309.384 223.7128]
+/Rect [277.005 533.869 309.384 543.774]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10506 0 obj <<
+10465 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.4365 189.574 239.1294 200.478]
+/Rect [157.437 509.635 239.129 520.539]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_5012c55d8fdb1420b80a3bfbe5a5b843) >>
 >> endobj
-10507 0 obj <<
+10466 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.2056 174.9533 329.5848 184.8585]
+/Rect [297.206 495.015 329.585 504.92]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10509 0 obj <<
+10467 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.1819 150.7197 315.9807 161.6237]
+/Rect [233.182 470.781 315.981 481.685]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_75683687bda865c93db529b76271bed2) >>
 >> endobj
-10510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-10478 0 obj <<
-/D [10476 0 R /XYZ 90 757.9346 null]
->> endobj
-322 0 obj <<
-/D [10476 0 R /XYZ 90 733.028 null]
->> endobj
-10479 0 obj <<
-/D [10476 0 R /XYZ 90 642.0529 null]
->> endobj
-10481 0 obj <<
-/D [10476 0 R /XYZ 90 561.2904 null]
->> endobj
-10484 0 obj <<
-/D [10476 0 R /XYZ 90 522.5556 null]
->> endobj
-10489 0 obj <<
-/D [10476 0 R /XYZ 90 444.847 null]
->> endobj
-10492 0 obj <<
-/D [10476 0 R /XYZ 90 405.9927 null]
->> endobj
-10495 0 obj <<
-/D [10476 0 R /XYZ 90 367.1384 null]
->> endobj
-10497 0 obj <<
-/D [10476 0 R /XYZ 90 328.2841 null]
->> endobj
-10500 0 obj <<
-/D [10476 0 R /XYZ 90 247.4022 null]
->> endobj
-10501 0 obj <<
-/D [10476 0 R /XYZ 90 247.4022 null]
->> endobj
-10505 0 obj <<
-/D [10476 0 R /XYZ 90 208.6673 null]
->> endobj
-10508 0 obj <<
-/D [10476 0 R /XYZ 90 169.813 null]
->> endobj
-10475 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R /F74 478 0 R /F101 2128 0 R /F25 344 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-10515 0 obj <<
-/Length 2601      
-/Filter /FlateDecode
->>
-stream
-xڥZYs�~ׯ�'�S�p��y��p�c'�������Pc9&9:�קqq�CCm\zh6>4�_w�"+
d��J
-���*۝��-t�xF���7���g��c�RH�4^]�
1A����~�A\�7c
}X
��.����8�˧�|ۤW?�M�<]\��V����*p�L��6?�7y�&I�W�.9�8��ϗ?����A�5
�ϳO��j
k��
#��z���Rt�;�����׳�z�ya����؂2�c��->�e��[����*늺j5����/��)G�+b��

�Ϻs&���η��u��kT���k��i����"3�%C��즇f��Lj���ؔ��\�[�qr�^ji^‘�q<���u�5y����fC�`^�5����['�1�� M�j@�>oҮn�N��@L�<6��}7
-&D�Iu�^��<J�/h2��>^36k���
�M7��(ED���_ at 8ի��&���0�"b���M�K- �NDhp
��9�!X"��"�2����@�
-x����c�0�P�A%�*T17�*��J�SiT�:t��sw}��DD�ik�g�r�(I�ףe
,�H	Ÿg
���Kla��
��K.�E v�-�y�뺜��"'�y��/��`�W#(� a��V�	.F��N+PS��{�E c��n
'�&�
x�% 
-r��!��u,�o'��1�e��F��0L�.�j�	?m�^j	 ���T
 <��6��L�%j
t��6/�A��ǘV���R���]Z:�k�LFۼ)�[�S��{g��y�	Ă��ŋ
-t�f~p(a2��Y0".~�wiQ�D�m�fM����r*��}g[��-���>!t6С �t,0��>�rc��HSnw�{P��������k��_�N72��O
�
FWNQ�"Wx�M�Œ�N�.�	��`t
e�&^j �
'c M�o ݮ���$�?�N̘.���L�c�2w=\8%u�?c�7i��m�VVM�hvԞi
p
�
�,%��H� �-
���C���jm�u���.���]T��n��~�]]��t�v(ʭ���V��
q��m��v�,�<m����kM
���TF���Ύ߯�8V}B�U�<{��-X�м`VBdt�dS�S�զ2�ݮu&Th���@K��0,�c`�
c����J�"�
�(�m�*�v)
��^��ն7�8�2}4{
:��/�U46�>.��}�Jݥ����GX36��%"�4.��Y�
�Ѱ��Vphn��Mc�c���
-����s0�.�:@zs̴ey|}f����d�I�Ow�>r������X��ʴ��<����
L�Ѓu/�ٖ]�Kc�ځ��v���Z��+��8��H��p��Sa��(��%!�=�	q%a1���r��*��ڀ�g�D��̦8�!Ζ�c��h�4"3�tr͙r���8Q��a̱w�X,#���:���-�&������x�~��*�5�F+�$�[q#	��r:'�	�gB�X�r���e�
�ZNhav�������q��]^>��v�gG����42\H��#8�:q�
�w��Z�
���2��~͙�
s��
4a\@(d4�6<H�
��͡�b��*T`�H�+�2O�vK�$z��m�iu{Ho��(�h��N�
W<z��jf0� UZ��<��k�S%�M]��V��R��E��ľ���G�>�Y߉�:�X�k���T8���Ω�5|��9]��8�@�.Vjە
-5��@&E����=�k��>�֞]����~e�3��I�"x�¾�(�p 
|1<��1�����yp��A��UD�I� �(&�\1%,��r�^xJ��@�$RC�
-����NC����Fx��	���T��\��>iY�2�/'��l��ջ��ڗ�@�߿;l�畛�kс����/��և��ƙj/Q\�u�ԛ#���^_X
����b��Rk\\9�}��U�+&_/p�M��G��i��%��t�#�$l�V�H�ʻ����NBPB��TT��,�A	5�Tl�
��,���<_w�!�����*s��A>lk��[3N7�bG��`�T_$A�u";�f2�9w�4F�'�Ž�R�*_�=a���f����妘o/��������g�5������[
I�8j�?� ��vwWy�؏�O 	�O�Ӗ襦 FE;EJa2qy�؈�3Л�-���;�j.�Q�8e>H�ӑ��v��I��
���<���l���M��zq�K�L�}ջ�����5�HpAJO��Z0�T[��LʤW9�R�(�ૡ�B�U��z�
�
�4�ZJ
�tM�
����>�ߨF�6*5
)��;���;4՘���k7�̫��[͊fn:`w�>SI����	R	�A��+�>
S��|X�Q<ň2��ݘ���H�
�f
:5f"�"H;^��Ԉo��M��
��|H_�
'x b|��NO=�e
-��ܕτ}�
ي��-Ǡ��"�K��`��%����| ���"��<;�]�`>��G�y�ѹ�}�O�7[
���KZ
����{ʛ� ��J
-���|zA+)’ȡ���+��G���M�߻�j'z���nq~���
�bߠ�;����I5�#=�t���mz�	���Y��p�Xn<ػR��@������*���?��o�endstream
-endobj
-10514 0 obj <<
-/Type /Page
-/Contents 10515 0 R
-/Resources 10513 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10443 0 R
-/Annots [ 10518 0 R 10519 0 R 10520 0 R 10521 0 R 10522 0 R 10524 0 R 10525 0 R 10528 0 R 10531 0 R 10532 0 R ]
->> endobj
-10518 0 obj <<
+10468 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 669.9687 226.0342 680.8726]
+/Rect [175.349 362.74 226.034 373.644]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_56a9fd5bee6f87ae9079aed0bc3de31a) >>
 >> endobj
-10519 0 obj <<
+10469 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 669.9687 356.3635 680.8726]
+/Rect [321.176 362.74 356.363 373.644]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10520 0 obj <<
+10470 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 631.488 151.0506 642.0183]
+/Rect [134.114 324.259 151.051 334.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_d71d7986fdfd19215fc87726ebacf555) >>
 >> endobj
-10521 0 obj <<
+10471 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.8662 631.488 190.0538 642.0183]
+/Rect [154.866 324.259 190.054 334.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10522 0 obj <<
+10472 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.8671 631.488 235.0547 642.0183]
+/Rect [199.867 324.259 235.055 334.79]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10524 0 obj <<
+10473 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.1414 531.0433 219.329 541.9473]
+/Rect [184.141 223.815 219.329 234.719]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10525 0 obj <<
+10474 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [296.0057 453.6431 331.1933 464.5471]
+/Rect [296.006 146.414 331.193 157.318]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.6509 223.2201 465.9485 254.0643]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5f2c0410e128e2f082d761ef36820da) >>
->> endobj
-10531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.6281 120.4089 201.5309 130.2519]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_bb6a26c12f7bdee7504d577ca81992e0) >>
->> endobj
-10532 0 obj <<
+10475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10516 0 obj <<
-/D [10514 0 R /XYZ 90 757.9346 null]
+10479 0 obj <<
+/D [10477 0 R /XYZ 90 757.935 null]
 >> endobj
-10517 0 obj <<
-/D [10514 0 R /XYZ 90 716.2211 null]
+10480 0 obj <<
+/D [10477 0 R /XYZ 90 726.054 null]
 >> endobj
-10523 0 obj <<
-/D [10514 0 R /XYZ 90 593.7943 null]
+10481 0 obj <<
+/D [10477 0 R /XYZ 90 687.2 null]
 >> endobj
-10526 0 obj <<
-/D [10514 0 R /XYZ 90 342.1787 null]
+10482 0 obj <<
+/D [10477 0 R /XYZ 90 648.346 null]
 >> endobj
-10511 0 obj <<
-/D [10514 0 R /XYZ 90 318.9374 null]
+10483 0 obj <<
+/D [10477 0 R /XYZ 90 567.464 null]
 >> endobj
-10527 0 obj <<
-/D [10514 0 R /XYZ 90 318.9374 null]
+10484 0 obj <<
+/D [10477 0 R /XYZ 90 567.464 null]
 >> endobj
-10529 0 obj <<
-/D [10514 0 R /XYZ 90 209.6461 null]
+10485 0 obj <<
+/D [10477 0 R /XYZ 90 528.729 null]
 >> endobj
-10512 0 obj <<
-/D [10514 0 R /XYZ 90 187.2098 null]
+10486 0 obj <<
+/D [10477 0 R /XYZ 90 489.874 null]
 >> endobj
-10530 0 obj <<
-/D [10514 0 R /XYZ 90 187.2098 null]
+10487 0 obj <<
+/D [10477 0 R /XYZ 90 408.992 null]
 >> endobj
-10513 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F74 478 0 R /F8 523 0 R /F67 366 0 R /F97 1822 0 R /F25 344 0 R >>
+10488 0 obj <<
+/D [10477 0 R /XYZ 90 286.566 null]
+>> endobj
+10476 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F99 2114 0 R /F65 376 0 R /F23 340 0 R /F11 418 0 R /F8 504 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10537 0 obj <<
-/Length 1908      
+10500 0 obj <<
+/Length 1566      
 /Filter /FlateDecode
 >>
 stream
-x��Ym�����_! �#�޾�\�I
HԵ����N���J�BR'��wH��-ŗ������(��<;;��̊�1�#s��J(d���~����fľ^��U(�����s���r~s�h�	J��f�nA�z�"���%��u�_x��x��>�'�b��o�m�.>__��4���.���!��Œ�E�\Q�o�⸩ڿ�$wI�.��k��Zpʖ�o~��x��
	&I���ٻ�x����<È-�'x��C��hp����?���E�`�/���8�2��`�1
-q�WE�d۲��w��mr�����m�4�ڧ���O�j�|� +�ㆄ���j{}��U���U���I���Vt��� 7Yo�Q��Lgo6�5�"�c�Ǭ5k�
-�*���Ү-�3��p��Y��f�g���0h��h�I΄��0`�#8d��beB-�TM���h��}+)h �b
#�����;�r�,���:
�3�
�@��@�`��
-�����]�h��6rj�w��w���`�TOX�G�r�W�kNJ%�\�ǼK�D+�����w�i�Xo�ۏ*���Sy�M�4�h�l.=,�p{+�K�P�ͽ
�m'횯��[;��5�٭݉�γ��>r��wE�wK�l��k8'����� �	�|����
u\H�D�i�4C�87D0,���S�P�(�����a���}�@��c�V
�	���%�tg�}���v�H��N�FI����~A(���Y`~�f��q�
�`HM
o�RHq��@x
-
=L -��ʿ�6T_�	��T#��x�K7�~M��Iѭc�@Ds(�����#��i/
�I��Q
��ºc�!�s��MB�>�[�*>Z�7!'C��[#p�.
�s;h��$�+C� 9�Am�gUc<h���'C��[#�mI	+W�{�t�^*��:�����M�*��JB�z��|�~Oo�� a��8�I� H
-�
;;��M赅�i�z���s
���V
@ �&k
Q�e\��PG�O�|����AH��T��MR
����(�``���P*,�v�BS����;�{�
>�v�H���	h�4��u�4��f{⺱M�w��mRw
L-�!�qߎ}
�*�
�
-��#a��3��K�$�18�TUkz
[�Z^&�:ݹ~�eRn���&����|a�X�ǟ�*28&5-���Da�b��:i�F��ڱ�%
�������6����cK��>��
5�ĥӗ�
D�ז(2h� 6����@��m ����h����Ţ�:eBJ�xn�Mq�C��:�:U���s�� i0������PpF�O]����
-��r꘨�^���c�s�c��������Ϫ�}P�O��l.
n
�\Ρw{�֘�
"��8�51	Z/
�P��AA��:��SX�����A�u�p_i �(&g��}��c(zz�m60"%�L��KE P9���x�0��\"���(u
S���FS���e�T�/�o��~n�F�����.������ې��`�>Vڵ�'(xB��$J�d0�F���	!Px9!L���{!L`
	a�#����б�B�F���
B�rC@� 
	!��a)E}?:yS%5�=�!^>���7�a�ӑ��R �`d�9��i� �SA/"�@�A:�q�
kh`D��z�&��LOQOk`Mz��X,�X�49@��#��eD�HA�b7T��Bѫ
/���ˣ�l$RL�
X��"M{X
��򢟊j�)b:S-�Su?��y�j�ne�9-�M�N�G;���,�����C{򿮳������Ќ�E��
 j�y�\Ar,�&}J.Ŋ(��qP��_s��/!��`E{ã�����{��������tB�
��P�������
0	`���u~�N����y�!|
������煟��}suӋ����(�%V�}endstream
+xڽXY��6~��P�����C���c�	�MܼlC+�k���Hrl��w�C����P`��dj8��7�
��{;/'O���k�9!
+=�9˵b���8�Ĺ���`6'��͌�iTn��͌�i��6")������b�~RX�Fw�X,��]T�H0�9�x��.�q�>�k���c�:�?u)�}\���XN>M8�
"
�>�w����#vx������s����K\3����	����*X��v#2�q�u|��/d�����!?`�1�#�6���y�\xDz�Ԭ%�Z�~�h�u���\�8�JQUi���Q�ߴo��H�n��!:0t�"
�h1WH�E$t;j��jr<+�J�(U�V��b��y�"���qG�L]��p`�c]�v��6X')l� ��O;�"
y/B�aă ��^�(�}�}�:��o�(1�n�<�
<�a��Cg�B�%���8�?*c
��0�G
�x?ݧYR)덮��3�{�“�(!ٻ"O��^�.Fo=��ZTi����j��Z]�<3cc��C�c��s(�*$��T�Xԣ(�r�m�g8���]C�j1x�32�
	��`��ԯ�d��D~_oV�,�~C/�Bfh��rS
�
O����Rļ6��#b��b��I�Z
IT�4�V�k�{�r2ڂ1����[�o���E�X��n(n(y.Hp�0�e�
� !Յ���t=��;���z�Dz����Y[ڣ���z�[� fd�8#��۸�'K
��G>(�K�W������؆4��^�	D'��}�:aVTM�ʽ�@zF���3%Q���7ie�$C!P R�B����x\�8E�כl��L��ʁ'-�jI�|�o�e�@o<�"o	�Xf����v]�"7��G��1$�j���m�,��n'ǚh;h��N�Q�T�Ꚑ~]r��GM|O�X�̄]sj�;�����c��V�*��FgZ]x<��h��E
��3�05�m�?[�q�jx���Xܖ*?�r�3��h�׾����[Y��|i'���Ȕ�
�'��A~ �C
#]�}��W��
�权�(T�˿o<��.	=ı?D�� 项�hDf��#�TQ&�l�SJ�!�B���bڪM2�:�hm�RJ��q��d� ۅ��y�rS��؎�w]d�jMH�I�RD<�@N%�
��>�t�%S��eh�iS��	U(j3
dj�<RY�W_���9�^��A�� �N�Js7?�~ Ӗv���O)4�} [...]
+�Y+ .�����_?>���W
�Ԩ� zҲ��>u@�9��,� ;���u�S��v�����<�5i�&�4��\O_�i�E��
���� �m���~Cݶ;���(�hT��Sa3ۜ�[�>Y��`
؏K�������[�?� S=8�����
g{>��n�9�&}k�I�jyR7�T�����7Q�7*��R��e7C"�4���5h6g���!�
+�_�|�SM�����u7u�[\]
Wh�����(���"���&��2ۢ4�m��
�I� ��

+endstream
 endobj
-10536 0 obj <<
+10499 0 obj <<
 /Type /Page
-/Contents 10537 0 R
-/Resources 10535 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10443 0 R
-/Annots [ 10544 0 R 10545 0 R 10546 0 R 10550 0 R 10552 0 R 10553 0 R 10554 0 R 10555 0 R 10556 0 R 10557 0 R ]
->> endobj
-10544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 453.8805 175.9373 464.7845]
-/Subtype /Link
-/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare_f6c069432956f215967c61be24a40939) >>
->> endobj
-10545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7529 453.8805 214.9405 464.7845]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.4013 453.8805 260.5888 464.7845]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
->> endobj
-10550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 197.5683 170.6866 208.0986]
-/Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_da205f4442f845f797fb108c121fe371) >>
+/Contents 10500 0 R
+/Resources 10498 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10489 0 R
+/Annots [ 10492 0 R 10493 0 R 10494 0 R 10495 0 R 10496 0 R 10497 0 R ]
 >> endobj
-10552 0 obj <<
+10492 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 158.714 170.6866 169.2443]
+/Rect [278.651 550.451 465.948 581.295]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_6faffe6889615dc0491bf86dd601172c) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_a5f2c0410e128e2f082d761ef36820da) >>
 >> endobj
-10553 0 obj <<
+10493 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.0238 158.714 233.2114 169.2443]
+/Rect [175.628 447.64 201.531 457.483]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable_bb6a26c12f7bdee7504d577ca81992e0) >>
 >> endobj
-10554 0 obj <<
+10494 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 119.8597 170.6866 130.3901]
+/Rect [134.114 148.353 175.937 159.256]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_5842c4add70aabcc093269aea7a348e5) >>
+/A << /S /GoTo /D (structParma__Polyhedra__Library_1_1Variable_1_1Compare_f6c069432956f215967c61be24a40939) >>
 >> endobj
-10555 0 obj <<
+10495 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.0238 119.8597 233.2114 130.3901]
+/Rect [179.753 148.353 214.94 159.256]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10556 0 obj <<
+10496 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.297 119.8597 309.4846 130.3901]
+/Rect [225.401 148.353 260.589 159.256]
 /Subtype /Link
 /A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10557 0 obj <<
+10497 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10538 0 obj <<
-/D [10536 0 R /XYZ 90 757.9346 null]
+10501 0 obj <<
+/D [10499 0 R /XYZ 90 757.935 null]
 >> endobj
-10539 0 obj <<
-/D [10536 0 R /XYZ 90 733.028 null]
+10502 0 obj <<
+/D [10499 0 R /XYZ 90 669.41 null]
 >> endobj
-10533 0 obj <<
-/D [10536 0 R /XYZ 90 716.2211 null]
+10457 0 obj <<
+/D [10499 0 R /XYZ 90 646.168 null]
 >> endobj
-10540 0 obj <<
-/D [10536 0 R /XYZ 90 716.2211 null]
+10503 0 obj <<
+/D [10499 0 R /XYZ 90 646.168 null]
 >> endobj
-10534 0 obj <<
-/D [10536 0 R /XYZ 90 678.935 null]
+10504 0 obj <<
+/D [10499 0 R /XYZ 90 536.877 null]
 >> endobj
-10541 0 obj <<
-/D [10536 0 R /XYZ 90 664.3647 null]
+10458 0 obj <<
+/D [10499 0 R /XYZ 90 514.441 null]
 >> endobj
-1592 0 obj <<
-/D [10536 0 R /XYZ 90 577.927 null]
+10505 0 obj <<
+/D [10499 0 R /XYZ 90 514.441 null]
 >> endobj
-326 0 obj <<
-/D [10536 0 R /XYZ 90 571.3268 null]
+10506 0 obj <<
+/D [10499 0 R /XYZ 90 434.066 null]
 >> endobj
-10542 0 obj <<
-/D [10536 0 R /XYZ 90 472.8544 null]
+10490 0 obj <<
+/D [10499 0 R /XYZ 90 410.693 null]
 >> endobj
-10543 0 obj <<
-/D [10536 0 R /XYZ 90 472.8544 null]
+10507 0 obj <<
+/D [10499 0 R /XYZ 90 410.693 null]
 >> endobj
-10547 0 obj <<
-/D [10536 0 R /XYZ 90 416.5605 null]
+10491 0 obj <<
+/D [10499 0 R /XYZ 90 373.407 null]
 >> endobj
-1593 0 obj <<
-/D [10536 0 R /XYZ 90 321.2412 null]
+10508 0 obj <<
+/D [10499 0 R /XYZ 90 358.837 null]
 >> endobj
-330 0 obj <<
-/D [10536 0 R /XYZ 90 314.641 null]
+1550 0 obj <<
+/D [10499 0 R /XYZ 90 272.399 null]
 >> endobj
-10548 0 obj <<
-/D [10536 0 R /XYZ 90 216.1685 null]
+326 0 obj <<
+/D [10499 0 R /XYZ 90 265.799 null]
 >> endobj
-10549 0 obj <<
-/D [10536 0 R /XYZ 90 216.1685 null]
+10509 0 obj <<
+/D [10499 0 R /XYZ 90 167.326 null]
 >> endobj
-10551 0 obj <<
-/D [10536 0 R /XYZ 90 177.4337 null]
+10510 0 obj <<
+/D [10499 0 R /XYZ 90 167.326 null]
 >> endobj
-10535 0 obj <<
-/Font << /F65 357 0 R /F11 411 0 R /F97 1822 0 R /F67 366 0 R /F52 341 0 R /F74 478 0 R >>
+10498 0 obj <<
+/Font << /F63 374 0 R /F65 376 0 R /F95 1779 0 R /F50 339 0 R /F23 340 0 R /F11 418 0 R /F72 471 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10561 0 obj <<
-/Length 2594      
+10536 0 obj <<
+/Length 1651      
 /Filter /FlateDecode
 >>
 stream
-xڽ[[s�6~���S*�T�L_��v'��f�l���xh��9խ$�����`�(Q��Ħ��s>
��p �d���<SB!ø���Wx�
���q��p�5�ۻ���K13�H*g�n� A	��[�:'q�X������yVn���
�����]�.�럊�2+^��ea(��&�����bI���dU�^��o�rA�<߭rpK8�/~�������!�Ibq�y���x���p�3Z���F�:�^q�����۫?�恩|��KƑ���ɄQ��<$L�N���3�g�̦�7JŰM�ST�Y��0"GF��޳ߔ�ݭ7
\��!�2�����m�����~8�#�J#!T
'�a�e�&se�8�]gu�V�u@;J�AR
�
V	0�X
:

�I;|W�]U��U��t��F��ID�hx"�
a;F�]
D�g J�d���m�7������9��wy{����vp��f`���|U�Kw�f���n�U�{�~�'^>x�������S�ֹU���^V.����C8���kt*��4�ŧ�������RsD	!	�;�4˽�d�{�e�*��n����Q`h�!D��f�7O@z��]��c
�`c�I���(V���.��J�����V{�D��W���?��p�@&���
0��^oD�;�AT*r��t}D�'�YP��q0T�����4R��

��
��*lA�#�1�PHZ��n����~D�Ch�O)
\ &�N��7K�G�aL>�q�~t������xDփ��p�)#�AV���z���"�X�D��U*��R�6�;�HU�_�(��̳m;��UQ�1�8��"�u|���,֟ G�_��o���v�?�!�ቖ
�$}������Z�߾}�ꕽ��vj>���|Wgu[9��MW�0
Z
��*_���<
SƠ!
s1��ɡ�	�}
J����u��4$�>s� �,�8ԆFh��e�J 
{s��A�v�6� V��&�&�H"��~�
c6��Hb��M}WLu����16V+ZLM�V�}��5�t���s�X2�C
9�,����c>*f%���S��Z�Uu{�|=�
U��o�M5����ƾ�{���Ţ�~��P
s󔵢0 @�Ʉ����w
^�$L��v=t�|�/������`��cH�E�J#5
�J�H�]i���͵�[�o
�-
��
��]�
-�g
��~���4#a��d����L���Ұɠ�(�wE֦sz��&��\���������Z"p�/4J����N2_ at u*�\<!��DR���Y��
��S?�.P���|�G�~:��H��H��X��.� 
�P�(�e�J�a�#����'( 'Hq�.R����x��
-����f��n��?��'fx-�_�~(����)�O`�`"E~g������"/
4p�4���=c�?�j����Qp(�������%B
-��i�*絹h���"FDge��WvS�G2_#��T�����ꩽ�
-g�X�4_��7�#F�R�+h�n���Y�
]�6$�z:��&�L����4M���UG8�h�\�D�U*�f�13���
����t}D8�,���E�����dѾ��E��_�e91e���nx�K���'7<��ob63��Z�e�L�!����
#Be��f0K3��0��x���n�4�{��ap
���
���������ww���g���T��E�'�>b��f��������9���2t�QM){�M)�	���^`�4�;ct��
t��Mӹ�
:�Q��Z���M��dH1�4���V���^�v���~�\̴D���ծ�k������fr���%�t�M㰳<�
Q��'N������0U*�_2�y��3����>C2��7�L�Q͘H��)�؉�Egw^���y-f_�������Jߪ
W��7�s��������j���	lN�DT&�%U&�Qeq����Vm2F�O�D�h��Oa�M���v�IA7Dzp���{Tv�$p�
�m��:u���H
'n���R0
�މ
tYP�S�����vһ>br��N�AҊ�q;:758|��2	
3�ɠ5�{֙'����N���2G/lbD�hn��*¾�B
P�|�v��֛��;j��q���cR4�}A�θ��7Y��2{�8�؞&D���Y���ڿU���0<�)��t�}
6S���Xhj�[�P�q�O�|]����G#>�q"�W�^܉����T 
|�a��fo�4�;Q��~?L��@�����
D.��`��G�[��A�N-���T��ړT���±�3�o�����0(�8��gѓq���rq��t}D��`�����1�3+x�P�	;�|0^<�u}L* a
-���������uVl�~�W��8Ԯ�k�Nߛ[�����߂�0N��
���쏼B�g���53(�5��:���E����
R��v�� l+����uӡ�6s��B��D��S��W���+
~�vG���R�C���Z �M	����U��U#Q��w������{`�y�

��ڑ_�滺>�x����
�*t�����a�|�v-�S���[��^��bT�{Xn���
�K��m��3B������@endstream
+x��Y[o�6~��0�����E�%+��aY�uma(��%���f�~G"E۲�ܓ�!�-Q������wDl�Y��m��dt��eV������
+��qJ����2&9�=!��M�8��pzdS<�Ӌs�p�!9���8<�l$�i*�鱨�	�x�*
�R}�$fB���,`�r0�P��v�n�����ǰEZG��<ƭh>��
[1\ga��Z���C|����޻(�v�jQ>"zY�E&�����Eɤ��<k�:x��%lM���(C/�
�
,���(������,�����\ߨ�*L��\�B�0a���)7QD�ʹ�C.uԴ'��8��Ȫ�u��4�e7a��^V��4�C}�LdB��z�3��{���4����fY�8l�Bn9̇��zTy��R�9�˄C��"E��*� �pN��N:3�!��0�R�_d]
��ò����z��%Y,l��?�@X(ߜc
Ο�,J�X{C��Hΐt�j��[�"�
�
�
;�#
��~1�_��
r��Ĉ��>M�H�룘�
+ͭ7u5�+7��Er�>��	���Lg�'Ò�6!d�
�9�?ҳ��T���i���,�0��t�I�=ҋyQ��F\{��5��y˅
��t��g��/4@��
0�
�06d����\B1IEՕ�� ��U]�u@�n�i��i�� �p{��x�=E�3���5Q#b
���f�|������wσ]��ԁ�;ؐd=;�)�!�v�n㒶�ǰ�
�%p�ݫ�nl��
%�D/�C�k�/`��oƾ8�PB͞V�����"���<�� o����$�Zf}��f�`ʊC�0�h"-DTu��^Wt�`��Hx�g�O���;�J�ycѣ�M�k����@��heO���$+��Y]v>{y
��V�������@%X�b(1E�3�;�e��29�d��[u�z�[�9W��4����e�$�4�]�j3�.B�ȟ��	���	�K�F�!�.n�``=j�������۷�W:V�Q��r�1�aͺB�D�����=���Ş��e���&>9ħ�(�?�%
m��+s;�b�*p@�0�
4vQ@
���aC�B.6%�m��c5a.��Z :
�O�Q��^Ǎ��9�] 476�o{6�C�q�t��A
��!�N���"Q��:}6�
zb��Y��������C�eR�=�5�
���n����<��2�G\c
k��~6ɦ��(e#[���5l�ʭ�
N9�oFQ]$]��`
+
v
�
�'7+��,�
k�vWBf��o��<��F�*I�n�C���
��+�Mo�6s���
폿��g�^����
߻�b�Kn�#Y5$ K���敘�Y�v�{��_21$
l��e�
�ڭ:R0�c��`CO��NO���=��g;9+��U�@-z�{Pl�"�+��{�
'��=�<����
ʅ�^垓���cH�Rg]d�&s!z�&��c�.�_��G+yZ4'�����
f�4ϟLH
����U.��e]�=�BA��1_R� q�?�9j_n�y�v�
�>�P?���i�R�l�fu�9-�#	�z���&�����_�9��R��nu�ޏ�௜�zF�D����Ã��r���YRH�TE�
l�����g�М`�
2�0\��Ua �_%`��
+endstream
 endobj
-10560 0 obj <<
+10535 0 obj <<
 /Type /Page
-/Contents 10561 0 R
-/Resources 10559 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10596 0 R
-/Annots [ 10564 0 R 10565 0 R 10567 0 R 10568 0 R 10570 0 R 10571 0 R 10573 0 R 10574 0 R 10576 0 R 10577 0 R 10579 0 R 10581 0 R 10583 0 R 10585 0 R 10588 0 R 10589 0 R 10590 0 R 10592 0 R 10593 0 R 10595 0 R ]
+/Contents 10536 0 R
+/Resources 10534 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10489 0 R
+/Annots [ 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 10522 0 R 10523 0 R 10524 0 R 10525 0 R 10526 0 R 10527 0 R 10528 0 R 10529 0 R 10530 0 R 10533 0 R ]
 >> endobj
-10564 0 obj <<
+10511 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 719.9123 179.5535 730.8162]
+/Rect [113.91 528.366 170.687 538.896]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_da205f4442f845f797fb108c121fe371) >>
 >> endobj
-10565 0 obj <<
+10512 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0517 719.9123 250.6661 730.8162]
+/Rect [113.91 491.473 170.687 502.003]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_3d49b2488d36bda4fef0109bedf6b0cc) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_6faffe6889615dc0491bf86dd601172c) >>
 >> endobj
-10567 0 obj <<
+10513 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 681.4316 158.0444 691.9619]
+/Rect [198.024 491.473 233.211 502.003]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_7176b36adef9683aae06961175ad94cb) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10568 0 obj <<
+10514 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.86 681.4316 197.0476 691.9619]
+/Rect [113.91 454.58 170.687 465.11]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_5842c4add70aabcc093269aea7a348e5) >>
 >> endobj
-10570 0 obj <<
+10515 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 642.5773 176.5049 653.1076]
+/Rect [198.024 454.58 233.211 465.11]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4090b6696c19cb93c705d9a9e06f4915) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10571 0 obj <<
+10516 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4082 627.5829 450.9552 637.4882]
+/Rect [274.297 454.58 309.485 465.11]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4c3c15515e1335fb69130aad4f371a1c) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10573 0 obj <<
+10517 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 592.3905 191.7178 603.2944]
+/Rect [113.91 417.313 179.554 428.217]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
 >> endobj
-10574 0 obj <<
+10518 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 592.3905 288.8524 603.2944]
+/Rect [180.052 417.313 250.666 428.217]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_32b7f9e0a2f54d199ad55bc008bfa62e) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_3d49b2488d36bda4fef0109bedf6b0cc) >>
 >> endobj
-10576 0 obj <<
+10519 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 553.5362 191.7178 564.4401]
+/Rect [133.915 380.794 158.044 391.324]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_7176b36adef9683aae06961175ad94cb) >>
 >> endobj
-10577 0 obj <<
+10520 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.2159 553.5362 303.0791 564.4401]
+/Rect [161.86 380.794 197.048 391.324]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4e8f85cded8a6be1916c2cc0bb31c540) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variable) >>
 >> endobj
-10579 0 obj <<
+10521 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 515.0555 150.493 525.5858]
+/Rect [134.114 343.901 176.505 354.431]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_3a5d4b3fb638414792155bcef8b54c1c) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4090b6696c19cb93c705d9a9e06f4915) >>
 >> endobj
-10581 0 obj <<
+10522 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 475.8276 181.845 486.7315]
+/Rect [328.408 329.887 450.955 339.793]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_0b93ff227453cf62d922dab902055f8b) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4c3c15515e1335fb69130aad4f371a1c) >>
 >> endobj
-10583 0 obj <<
+10523 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 436.9733 181.845 447.8772]
+/Rect [113.91 295.676 191.718 306.579]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4c3c15515e1335fb69130aad4f371a1c) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-10585 0 obj <<
+10524 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 398.119 154.727 409.0229]
+/Rect [192.216 295.676 288.852 306.579]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ca3690ce9d77a85740cdf8a508edf127) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_32b7f9e0a2f54d199ad55bc008bfa62e) >>
 >> endobj
-10588 0 obj <<
+10525 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 317.3565 203.0748 328.2604]
+/Rect [113.91 258.783 191.718 269.686]
 /Subtype /Link
-/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
+/A << /S /GoTo /D (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) >>
 >> endobj
-10589 0 obj <<
+10526 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5729 317.3565 296.3242 328.2604]
+/Rect [192.216 258.783 303.079 269.686]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_587efac6e5a2fbde0a1866dbe4427224) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4e8f85cded8a6be1916c2cc0bb31c540) >>
 >> endobj
-10590 0 obj <<
+10527 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0048 302.7357 328.3118 312.641]
+/Rect [134.114 222.263 150.493 232.793]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_3a5d4b3fb638414792155bcef8b54c1c) >>
 >> endobj
-10592 0 obj <<
+10528 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3489 209.3153 226.0342 220.2193]
+/Rect [133.915 184.997 181.845 195.9]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_d7bdf8849f22908ce11574a04ba875df) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_0b93ff227453cf62d922dab902055f8b) >>
 >> endobj
-10593 0 obj <<
+10529 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.1759 209.3153 377.9522 220.2193]
+/Rect [133.915 148.104 181.845 159.007]
 /Subtype /Link
-/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_4c3c15515e1335fb69130aad4f371a1c) >>
 >> endobj
-10595 0 obj <<
+10530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 111.211 154.727 122.115]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_ca3690ce9d77a85740cdf8a508edf127) >>
+>> endobj
+10533 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10562 0 obj <<
-/D [10560 0 R /XYZ 90 757.9346 null]
+10537 0 obj <<
+/D [10535 0 R /XYZ 90 757.935 null]
 >> endobj
-10563 0 obj <<
-/D [10560 0 R /XYZ 90 733.028 null]
+10538 0 obj <<
+/D [10535 0 R /XYZ 90 733.028 null]
 >> endobj
-10566 0 obj <<
-/D [10560 0 R /XYZ 90 700.1513 null]
+1551 0 obj <<
+/D [10535 0 R /XYZ 90 653.216 null]
 >> endobj
-10569 0 obj <<
-/D [10560 0 R /XYZ 90 661.297 null]
+330 0 obj <<
+/D [10535 0 R /XYZ 90 643.575 null]
 >> endobj
-10572 0 obj <<
-/D [10560 0 R /XYZ 90 611.4838 null]
+10539 0 obj <<
+/D [10535 0 R /XYZ 90 545.986 null]
 >> endobj
-10575 0 obj <<
-/D [10560 0 R /XYZ 90 572.6295 null]
+10540 0 obj <<
+/D [10535 0 R /XYZ 90 545.986 null]
 >> endobj
-10578 0 obj <<
-/D [10560 0 R /XYZ 90 533.7752 null]
+10541 0 obj <<
+/D [10535 0 R /XYZ 90 509.212 null]
 >> endobj
-10580 0 obj <<
-/D [10560 0 R /XYZ 90 494.9209 null]
+10542 0 obj <<
+/D [10535 0 R /XYZ 90 435.426 null]
 >> endobj
-10582 0 obj <<
-/D [10560 0 R /XYZ 90 456.0666 null]
+10543 0 obj <<
+/D [10535 0 R /XYZ 90 398.533 null]
 >> endobj
-10584 0 obj <<
-/D [10560 0 R /XYZ 90 417.2123 null]
+10544 0 obj <<
+/D [10535 0 R /XYZ 90 361.64 null]
 >> endobj
-10586 0 obj <<
-/D [10560 0 R /XYZ 90 336.3303 null]
+10545 0 obj <<
+/D [10535 0 R /XYZ 90 313.788 null]
 >> endobj
-10587 0 obj <<
-/D [10560 0 R /XYZ 90 336.3303 null]
+10546 0 obj <<
+/D [10535 0 R /XYZ 90 276.895 null]
 >> endobj
-10591 0 obj <<
-/D [10560 0 R /XYZ 90 255.5678 null]
+10547 0 obj <<
+/D [10535 0 R /XYZ 90 240.002 null]
 >> endobj
-10594 0 obj <<
-/D [10560 0 R /XYZ 90 171.9953 null]
+10548 0 obj <<
+/D [10535 0 R /XYZ 90 203.109 null]
 >> endobj
-10559 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F74 478 0 R /F67 366 0 R /F101 2128 0 R /F100 2135 0 R /F11 411 0 R >>
+10549 0 obj <<
+/D [10535 0 R /XYZ 90 166.216 null]
+>> endobj
+10550 0 obj <<
+/D [10535 0 R /XYZ 90 129.323 null]
+>> endobj
+10534 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R /F11 418 0 R /F72 471 0 R /F99 2114 0 R /F98 2117 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10600 0 obj <<
-/Length 1103      
+10558 0 obj <<
+/Length 1302      
 /Filter /FlateDecode
 >>
 stream
-xڥV[o�F~���i
�2���J��M�m���ۗl�6NP1������
�`��&me�0����|sH��G�%2��`����
����
�z<��n9�_Jd$��r�Z�	Jh�\߄� n��`�ë��0����UDqX�O�J�~�>WI��X�
-��s��w�i�T��}��u��[�I���0-V)��
q*�����w�>R��`��8�����`
	}�a�ch��q�� �]�~��t
�Sx�^eK��� � y_uS�WMYu	��
���r�ߦE�4YY�d�L9bܐ�YD�3֓�s#�OX���U8��ͼ��/���4E�
-
q��
�-#d8t����&D��#�`̴B�%���]A��w���,8��?Lx�Hr��!C�m'�-���6 �$�
���Y�v��<�j_��{>FT�X~	�O�b�FD�ۿ��<�W%Ž{�T���?̐�������%�T�FLH�GSN$�&
��
��R����1��p�o�L8z�&��NȐKV��|1aM!ŵr��b	������X}Tk�?��hܕa 5	?�S�מ)홇
-����v��):	R��W�9���=|>a��W����
s
�*=>���^b��՞nw���A����� _
�:Eg:�nbJh@���Ȝ0^VYZ���m���J�4�\�U��/I/
�亮n֋E	���S����
-�}���JlU��91&=i���[�9o皨��'���ΐ>�*��
rkt�~x��l�K���x�Ip�i�I7U���V3	��S�~�˾��}�x�A��'r�T}=�G�w*�ob��:�%���u�����|5��=V�M�祕�CV�wS�0�y���c�f"����m�1�����潕lz�0
Q �K��M/8%
ȗr�t�����T~@�`�1%R���µ I�1d/�bڵh>�Q\Y��=��&��N��^����9)�I�������	Bm��I�u��BCEXAA� �V�
�ۏ�<���]C�ٞٵ9?4�n1���Ѿ�vʚ9�6?��i�0W�K�����XF�Cco=>��?j۲J}���8��xl>�?�nendstream
+xڭW[s�6~���ik�E��Iv7M��n�&�d3
b�)p���=�aC��t�� aq.����;�v~�|XLf���(i�,�N��($�Q�,R�fJ
+b�#��K�4��dy�R<��ǍH�d�[vW'��|�ō),Ȓ�\4�kѺ
ex�1O�F��Z�.�SQ���

4ro�&?-&�L�
�a�|權��-vRx���ȏ��W�
+'�><s�z���L���L'u�&m��]��r;�,�;O�/v�ͪ�Q�Y۳
��
�>w<JQh�����qn<�5ک�EfXߛT���4�
+Q6�u�>nE�ʳ�ɷe�MVb�}=t/�}�
��iE��Vȴd:u<�8tZW��ե)c��u��BOTn?=MN���%��3��*1�6I���%l��ɦW}Ϗ�">"̷��I+ґR*�����P��j��!i;@�2�͠�̏����zR��b�lJ��ik��ߝƸڊ:i�Z�H�1�1 �)|�\����|�b
۵��P��`���G��=���^�Q ����]�ݙjH $w��&��FD�:��6�r˩sѬ�lۚ�x�U�
�����j��.e
@��wY��
�M�
�>z��"b����&؏�0�n%10�a�^�W�
�d)]:�a��l���ψ�c#�C�-M �F��U��;�5dx���q~>�  }j�@T�@t`*��#D�������o� E �3��#�CPVv�{�;<�d 
+�	��.�ӡ���Ʀ�(a�ˁ�:)��p]W���8C
+"���(K�O�A&>G>��ՈA��N{�/�c��
|��
c�
���G|Au(>�(�v49��I�	Ꮾ�_�?����{�s@?���F.�����N�![xn
�m�a�*<	���c�$(��k�)��?�Ǡ���_�Bh̲`�n���r������ N
KvQl���>���o� _�F�	�g܌ȭoT��Diw��2���H�&��;��a�\˃�DZTu�8u�3�|?���	G,
+G������tP�fĸ�xt�)/
�+�#g�s�Q��WK��4}A��O;A��u�n�t����ɣ1b|��P�3Ӫ�*
�T�ŴWo-��
6� ۩�Ej��Y3��td����/��*�+)���wͅ �\�O����t���f��ex�
�/#��8uq����/n
�eC�.U]���6COM��'5�>>?'�.���N�ı>�U0�ˆlkA|����^�tz;v��D�4��4�tmӶ��l���ѪA�2��(kg���i�}�B��:vd(*{��JxY( a���?
+endstream
 endobj
-10599 0 obj <<
+10557 0 obj <<
 /Type /Page
-/Contents 10600 0 R
-/Resources 10598 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10596 0 R
-/Annots [ 10606 0 R ]
+/Contents 10558 0 R
+/Resources 10556 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10489 0 R
+/Annots [ 10531 0 R 10532 0 R 10552 0 R 10553 0 R 10554 0 R 10555 0 R ]
 >> endobj
-10606 0 obj <<
+10531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 697.247 203.075 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) >>
+>> endobj
+10532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.573 697.247 296.324 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_587efac6e5a2fbde0a1866dbe4427224) >>
+>> endobj
+10552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.005 682.627 328.312 692.532]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.349 589.206 226.034 600.11]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set_d7bdf8849f22908ce11574a04ba875df) >>
+>> endobj
+10554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.176 589.206 377.952 600.11]
+/Subtype /Link
+/A << /S /GoTo /D (classParma__Polyhedra__Library_1_1Variables__Set) >>
+>> endobj
+10555 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10601 0 obj <<
-/D [10599 0 R /XYZ 90 757.9346 null]
+10559 0 obj <<
+/D [10557 0 R /XYZ 90 757.935 null]
 >> endobj
-10602 0 obj <<
-/D [10599 0 R /XYZ 90 733.028 null]
+10560 0 obj <<
+/D [10557 0 R /XYZ 90 716.221 null]
 >> endobj
-10558 0 obj <<
-/D [10599 0 R /XYZ 90 716.2211 null]
+10561 0 obj <<
+/D [10557 0 R /XYZ 90 716.221 null]
 >> endobj
-10603 0 obj <<
-/D [10599 0 R /XYZ 90 716.2211 null]
+10562 0 obj <<
+/D [10557 0 R /XYZ 90 635.459 null]
 >> endobj
-10604 0 obj <<
-/D [10599 0 R /XYZ 90 622.83 null]
+10563 0 obj <<
+/D [10557 0 R /XYZ 90 551.886 null]
 >> endobj
-10597 0 obj <<
-/D [10599 0 R /XYZ 90 600.5182 null]
+10564 0 obj <<
+/D [10557 0 R /XYZ 90 495.243 null]
 >> endobj
-10605 0 obj <<
-/D [10599 0 R /XYZ 90 600.5182 null]
+10551 0 obj <<
+/D [10557 0 R /XYZ 90 470.874 null]
 >> endobj
-10598 0 obj <<
-/Font << /F65 357 0 R /F97 1822 0 R /F52 341 0 R /F67 366 0 R /F11 411 0 R >>
+10565 0 obj <<
+/D [10557 0 R /XYZ 90 470.874 null]
+>> endobj
+10566 0 obj <<
+/D [10557 0 R /XYZ 90 377.483 null]
+>> endobj
+10567 0 obj <<
+/D [10557 0 R /XYZ 90 355.171 null]
+>> endobj
+10568 0 obj <<
+/D [10557 0 R /XYZ 90 355.171 null]
+>> endobj
+10556 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F72 471 0 R /F11 418 0 R /F95 1779 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10609 0 obj <<
-/Length 2603      
+10631 0 obj <<
+/Length 734       
 /Filter /FlateDecode
 >>
 stream
-xڽ\Mo#����q�t���G;�����������D.H*���O�鮞��n����eU�����U�ò�����3�
qB����;:����;v�Xr��=�A��qI
Փ����!�����w��V3&����ߎ������.����f����_�}���P�b�X'E
q�9�4�gm
�T�`���v3_}`���/��~�������w5��>~y:,��f��2c�W�a#N��}�����?���|�9�v�}`���n��q��b�t3m������hw��<K��`B�Dyݾ'm��ܳk�Q#��!�������iv�q?_����
�SO�b����l�}^-w��O�O����w���yu�����r����O�]� w�*�gZ8¬�5��&L0���eJg
HI��j����U��g�47�
�_%�ǟo��)�c�Q��"�(��H���V9ue���
�Y�
6j����4�>�_��=>5�Y��ɜ�<�U��_-*����*/�K/D����js�z���������������*mg�1"�b�B|����=:��ǜ�ei����wJ�I�k`f�5'Er����B�
-)C|&H��
��gJ��5�$
70fe���FVt�JӠ4��r�I���N��s|�h�=�h���c���i-�
-l�E)"�k��
�����6�TR��l`��p�[�8m�(����`DY� 4����÷y7%W')�e�|����n���6����̔O�BV�i��`��a��
��;�)�ԍ�!����6�A�n�~�ܯ�,��~\��j����ha��3�)b����!��	ϒ�=R�EրՄJ'F
�O�U�
(�V��n���G�M~��C8�׀P�r���&L����
���c[C�
���U��S��Ȗ	915���3\o֏��_o���W)˛G���!�2B���G��L�U�
-v�e�^�0�,���`��2m�xYⰑ����m��
�
�~�L����~%
��
�
2N�0�ү�Z�~�L�`��~%
��
����RB-�ү��i���0n�5
& �Ž�%����5
G
'��K���µ'�i]{`��$�akO�@q��a#+~��L�K�<�iUr��(y���iE%�a#-������#$%"��a�	���jkO�@q����%B1y���?o�L�;j^{`������c�kO�@q��a#�T)٥S{���
'�*�<5�dja��A������P�
����u��P�uj�	�Ԑt)�+N
iũ��Sז(����P]{�5F�4ќ��& #D��)~q��Q�1�"酂_zY�:��%L at .ˤ?.x�L(^�8l�Epb�V���%�!_ ��!�*_Ie��a�����]K��j��0��]��4P�/��s>T�D����Ÿ�W,f%�ֵ
L@+�
�+�/
-��_ z��p�	eZw
���<I{���Γ6P�yp�Ȋ�ę�W��L���xD�as\���'�EG1#!��E#?����O���Ä!T[Ӽ��d�	aGn�(n:i�M���ʿuB]q��,����`��v��.���2C8l`�2©x�W`�?�
��u�:���x��@hޟ�~�̥��ږ)9'L���������dU
߬��L:6B{��AL�5��&�؟^����w��6����;�0�,Y�ӈ�ݤ���R�60fp���
-�%u�h�Z_��X�r���&L
���iD��W՛g3�F䄨
-����c����A�U�]�V-,�6����&L�9�;��Z����Ԏ��gm���Ƴ=U�P���`�N�_1_�u
3��r�%G㞯U���@���X��+�����T�U
�~E���[�ZT��U
�b�uk*�:����A��U�b�k�Aa���U�`�\�oˉ�r��E��Q����g����4:�B|Ū��-��H�1�;�BT6�����<�i�s���y����iE=�a#-�d��3
��<V��!��	���&�N?����
50�W����N��h�
O���
ᶪ�na�
ώ��"C���t��7�����
-�!n�ʪ�vC[�
Q/W�
q��b���zSU�I�NU0���6U�
��
-l�Z�.��
]q�Uy��T��Sj�S���*5���f9
ީ�
& #V��BF��8b��%�
��FsW
&p�U^�6L��8L఑�fw��d���e
7�u
�� P��)�X6P��yj��P�U�`"cI����
e
�
2���z[���~��
^([W<�mf(p
-QWR^���V�
N!�f�����f�[
����-g��
�*nK��l���n�xVq�@a�3J8�ƅ�D�`<j&$`�BCJh�@�P6
-�F	���$��%HD�:y���L"�$�����J)�����6��u��uO|�2��i��F>�
�Ȩ��p��xh
��֡& Cc��py�q0m�84Ⰱ�Ĕ�Sx
����f�|���n�O�X�Da#�������_�W(
�+���B��_�
-�����B�q���
��`wi&$`�B
Jh�@�P6
--1=��O��ױ8:S�(5��_���xendstream
+x��]o�0���+|�H
�1vB/ۭQ�vC].*U�倛�S�dk��K�	��7
ڮ	
�9���c�`	 �
`��l>8�� ��5��
�L�İH|恻���������N.�aS�&7 at 06�aYts=_p酒�"çG!�?2��[r*���G~(u�8�I�!�&d�q����-�e$���!wśW
 �!���l ��&�C:Ii����q����?v����3'\=?Oqv�/Wϧ������
��B�U�36M�F��IK(�];�2NKrͲ��1��
�n��T��`lS�2Y����r��B��Zf�޲O�1�ʶ���
>�DG&�
~�|//�V��э�2�|���]��pZw���|�zf�?U���ڍ��0>�r2�q}aa�	-���0!�w����QrH-$h�U(�Ʋ
1+�.����x�V�
�z����:[�F*���
R�^!�4i/
�C��;��!SI�f0����3�Zg����h��Զg�
���I8�X����djՅD%��_4��@��6015,8dJ�)�
�̤��I
����
+�OEZ�������e���/5��k�ۭ3�7߭���
+{�NJ���N
+�4ѭ����hN+8����EV݌�;�9>^���ӂE�|�e-ݨZ��^��=	_
+)�B�-�v�,�RԀuڔ�[�d����2����t94��z�VPP�:�O�nQ��/�UŠ�
֫������������F(
+endstream
 endobj
-10608 0 obj <<
+10630 0 obj <<
 /Type /Page
-/Contents 10609 0 R
-/Resources 10607 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10596 0 R
-/Annots [ 10612 0 R 10613 0 R 10614 0 R 10615 0 R 10616 0 R 10617 0 R 10618 0 R 10619 0 R 10620 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 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 10 [...]
+/Contents 10631 0 R
+/Resources 10629 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10489 0 R
+/Annots [ 10569 0 R 10570 0 R 10571 0 R 10572 0 R 10573 0 R 10574 0 R 10575 0 R 10576 0 R 10577 0 R 10578 0 R 10579 0 R 10580 0 R 10581 0 R 10582 0 R 10583 0 R 10584 0 R 10585 0 R 10586 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 10602 0 R 10603 0 R 10604 0 R 10605 0 R 10606 0 R 10607 0 R 10608 0 R 10609 0 R 10610 0 R 10611 0 R 10612 0 R 10613 0 R 10614 0 R 10615 0 R 10616 0 R 10 [...]
 >> endobj
-10612 0 obj <<
+10569 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 672.6154 208.7738 682.8021]
+/Rect [196.819 672.615 208.774 682.802]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-10613 0 obj <<
+10570 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 638.09 145.7908 646.9366]
+/Rect [128.854 638.09 145.791 646.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-10614 0 obj <<
+10571 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 612.8396 145.7908 623.0263]
+/Rect [128.854 612.84 145.791 623.026]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-10615 0 obj <<
+10572 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.7796 612.8396 165.7161 623.0263]
+/Rect [148.78 612.84 165.716 623.026]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-10616 0 obj <<
+10573 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 588.212 280.1157 599.1159]
+/Rect [268.161 588.212 280.116 599.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.92) >>
 >> endobj
-10617 0 obj <<
+10574 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 576.2568 258.5368 587.1608]
+/Rect [241.6 576.257 258.537 587.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.126) >>
 >> endobj
-10618 0 obj <<
+10575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 564.3017 260.1905 575.2056]
+/Rect [243.254 564.302 260.191 575.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.230) >>
 >> endobj
-10619 0 obj <<
+10576 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 542.4486 145.7908 551.2953]
+/Rect [128.854 542.449 145.791 551.295]
 /Subtype /Link
-/A << /S /GoTo /D (page.307) >>
+/A << /S /GoTo /D (page.308) >>
 >> endobj
-10620 0 obj <<
+10577 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 517.1983 221.6059 527.3849]
+/Rect [204.669 517.198 221.606 527.385]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.338) >>
 >> endobj
-10621 0 obj <<
+10578 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 493.2879 187.0456 503.4746]
+/Rect [170.109 493.288 187.046 503.475]
 /Subtype /Link
-/A << /S /GoTo /D (page.363) >>
+/A << /S /GoTo /D (page.365) >>
 >> endobj
-10622 0 obj <<
+10579 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 480.6155 287.8667 491.5194]
+/Rect [270.93 480.615 287.867 491.519]
 /Subtype /Link
-/A << /S /GoTo /D (page.395) >>
+/A << /S /GoTo /D (page.397) >>
 >> endobj
-10623 0 obj <<
+10580 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 456.7051 280.1157 467.6091]
+/Rect [268.161 456.705 280.116 467.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.92) >>
 >> endobj
-10624 0 obj <<
+10581 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 444.75 260.1905 455.6539]
+/Rect [243.254 444.75 260.191 455.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.231) >>
 >> endobj
-10625 0 obj <<
+10582 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 421.5569 187.0456 431.7436]
+/Rect [170.109 421.557 187.046 431.744]
 /Subtype /Link
-/A << /S /GoTo /D (page.363) >>
+/A << /S /GoTo /D (page.365) >>
 >> endobj
-10626 0 obj <<
+10583 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 408.8845 287.8667 419.7884]
+/Rect [270.93 408.884 287.867 419.788]
 /Subtype /Link
-/A << /S /GoTo /D (page.395) >>
+/A << /S /GoTo /D (page.397) >>
 >> endobj
-10627 0 obj <<
+10584 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 384.9741 280.1157 395.8781]
+/Rect [268.161 384.974 280.116 395.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.94) >>
 >> endobj
-10628 0 obj <<
+10585 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 373.019 258.5368 383.9229]
+/Rect [241.6 373.019 258.537 383.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.126) >>
 >> endobj
-10629 0 obj <<
+10586 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 361.0638 260.1905 371.9677]
+/Rect [243.254 361.064 260.191 371.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.231) >>
 >> endobj
-10630 0 obj <<
+10587 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 339.2107 145.7908 348.0574]
+/Rect [128.854 339.211 145.791 348.057]
 /Subtype /Link
-/A << /S /GoTo /D (page.307) >>
+/A << /S /GoTo /D (page.308) >>
 >> endobj
-10631 0 obj <<
+10588 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 313.9604 221.6059 324.1471]
+/Rect [204.669 313.96 221.606 324.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.337) >>
+/A << /S /GoTo /D (page.339) >>
 >> endobj
-10632 0 obj <<
+10589 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 290.0501 187.0456 300.2367]
+/Rect [170.109 290.05 187.046 300.237]
 /Subtype /Link
-/A << /S /GoTo /D (page.364) >>
+/A << /S /GoTo /D (page.365) >>
 >> endobj
-10633 0 obj <<
+10590 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 277.3776 287.8667 288.2816]
+/Rect [270.93 277.378 287.867 288.282]
 /Subtype /Link
-/A << /S /GoTo /D (page.399) >>
+/A << /S /GoTo /D (page.400) >>
 >> endobj
-10634 0 obj <<
+10591 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 253.4673 280.1157 264.3712]
+/Rect [268.161 253.467 280.116 264.371]
 /Subtype /Link
-/A << /S /GoTo /D (page.94) >>
+/A << /S /GoTo /D (page.95) >>
 >> endobj
-10635 0 obj <<
+10592 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 241.5121 260.1905 252.416]
+/Rect [243.254 241.512 260.191 252.416]
 /Subtype /Link
 /A << /S /GoTo /D (page.232) >>
 >> endobj
-10636 0 obj <<
+10593 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 218.3191 187.0456 228.5057]
+/Rect [170.109 218.319 187.046 228.506]
 /Subtype /Link
-/A << /S /GoTo /D (page.364) >>
+/A << /S /GoTo /D (page.366) >>
 >> endobj
-10637 0 obj <<
+10594 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 205.6466 287.8667 216.5505]
+/Rect [270.93 205.647 287.867 216.551]
 /Subtype /Link
-/A << /S /GoTo /D (page.399) >>
+/A << /S /GoTo /D (page.401) >>
 >> endobj
-10638 0 obj <<
+10595 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 181.7363 280.1157 192.6402]
+/Rect [268.161 181.736 280.116 192.64]
 /Subtype /Link
-/A << /S /GoTo /D (page.91) >>
+/A << /S /GoTo /D (page.92) >>
 >> endobj
-10639 0 obj <<
+10596 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 169.7811 258.5368 180.685]
+/Rect [241.6 169.781 258.537 180.685]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-10640 0 obj <<
+10597 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 157.8259 260.1905 168.7299]
+/Rect [243.254 157.826 260.191 168.73]
 /Subtype /Link
 /A << /S /GoTo /D (page.233) >>
 >> endobj
-10641 0 obj <<
+10598 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 135.9729 145.7908 144.8195]
+/Rect [128.854 135.973 145.791 144.82]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.284) >>
 >> endobj
-10642 0 obj <<
+10599 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 112.0626 145.7908 120.9092]
+/Rect [128.854 112.063 145.791 120.909]
 /Subtype /Link
-/A << /S /GoTo /D (page.306) >>
+/A << /S /GoTo /D (page.307) >>
 >> endobj
-10643 0 obj <<
+10600 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 684.5706 438.0873 694.7573]
+/Rect [421.151 684.571 438.087 694.757]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.338) >>
 >> endobj
-10644 0 obj <<
+10601 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 660.6603 403.5269 670.8469]
+/Rect [386.59 660.66 403.527 670.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.361) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-10645 0 obj <<
+10602 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 647.9878 504.348 658.8918]
+/Rect [487.411 647.988 504.348 658.892]
 /Subtype /Link
-/A << /S /GoTo /D (page.394) >>
+/A << /S /GoTo /D (page.395) >>
 >> endobj
-10646 0 obj <<
+10603 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 624.0775 496.597 634.9814]
+/Rect [484.642 624.078 496.597 634.981]
 /Subtype /Link
 /A << /S /GoTo /D (page.92) >>
 >> endobj
-10647 0 obj <<
+10604 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 612.1223 476.6719 623.0263]
+/Rect [459.735 612.122 476.672 623.026]
 /Subtype /Link
 /A << /S /GoTo /D (page.233) >>
 >> endobj
-10648 0 obj <<
+10605 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 588.9293 403.5269 599.1159]
+/Rect [386.59 588.929 403.527 599.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.362) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-10649 0 obj <<
+10606 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 576.2568 504.348 587.1608]
+/Rect [487.411 576.257 504.348 587.161]
 /Subtype /Link
-/A << /S /GoTo /D (page.394) >>
+/A << /S /GoTo /D (page.396) >>
 >> endobj
-10650 0 obj <<
+10607 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 552.3465 496.597 563.2504]
+/Rect [484.642 552.347 496.597 563.25]
 /Subtype /Link
 /A << /S /GoTo /D (page.93) >>
 >> endobj
-10651 0 obj <<
+10608 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 540.3913 475.0182 551.2953]
+/Rect [458.082 540.391 475.018 551.295]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-10652 0 obj <<
+10609 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 528.4362 476.6719 539.3401]
+/Rect [459.735 528.436 476.672 539.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.234) >>
 >> endobj
-10653 0 obj <<
+10610 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 506.5831 362.2721 515.4297]
+/Rect [345.336 506.583 362.272 515.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.284) >>
 >> endobj
-10654 0 obj <<
+10611 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 482.6728 362.2721 491.5194]
+/Rect [345.336 482.673 362.272 491.519]
 /Subtype /Link
-/A << /S /GoTo /D (page.306) >>
+/A << /S /GoTo /D (page.307) >>
 >> endobj
-10655 0 obj <<
+10612 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 457.4224 438.0873 467.6091]
+/Rect [421.151 457.422 438.087 467.609]
 /Subtype /Link
-/A << /S /GoTo /D (page.338) >>
+/A << /S /GoTo /D (page.339) >>
 >> endobj
-10656 0 obj <<
+10613 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 433.5121 403.5269 443.6987]
+/Rect [386.59 433.512 403.527 443.699]
 /Subtype /Link
-/A << /S /GoTo /D (page.362) >>
+/A << /S /GoTo /D (page.364) >>
 >> endobj
-10657 0 obj <<
+10614 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 420.8396 504.348 431.7436]
+/Rect [487.411 420.84 504.348 431.744]
 /Subtype /Link
-/A << /S /GoTo /D (page.396) >>
+/A << /S /GoTo /D (page.397) >>
 >> endobj
-10658 0 obj <<
+10615 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 396.9293 496.597 407.8332]
+/Rect [484.642 396.929 496.597 407.833]
 /Subtype /Link
 /A << /S /GoTo /D (page.93) >>
 >> endobj
-10659 0 obj <<
+10616 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 384.9741 476.6719 395.8781]
+/Rect [459.735 384.974 476.672 395.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.234) >>
 >> endobj
-10660 0 obj <<
+10617 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 361.7811 403.5269 371.9677]
+/Rect [386.59 361.781 403.527 371.968]
 /Subtype /Link
-/A << /S /GoTo /D (page.363) >>
+/A << /S /GoTo /D (page.364) >>
 >> endobj
-10661 0 obj <<
+10618 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 349.1086 504.348 360.0126]
+/Rect [487.411 349.109 504.348 360.013]
 /Subtype /Link
-/A << /S /GoTo /D (page.396) >>
+/A << /S /GoTo /D (page.398) >>
 >> endobj
-10662 0 obj <<
+10619 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 313.9604 403.5269 324.1471]
+/Rect [386.59 313.96 403.527 324.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.361) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-10663 0 obj <<
+10620 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 289.3328 504.348 300.2367]
+/Rect [487.411 289.333 504.348 300.237]
 /Subtype /Link
-/A << /S /GoTo /D (page.395) >>
+/A << /S /GoTo /D (page.396) >>
 >> endobj
-10664 0 obj <<
+10621 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 265.4225 504.348 276.3264]
+/Rect [487.411 265.422 504.348 276.326]
 /Subtype /Link
-/A << /S /GoTo /D (page.395) >>
+/A << /S /GoTo /D (page.396) >>
 >> endobj
-10665 0 obj <<
+10622 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 241.5121 504.348 252.416]
+/Rect [487.411 241.512 504.348 252.416]
 /Subtype /Link
-/A << /S /GoTo /D (page.397) >>
+/A << /S /GoTo /D (page.399) >>
 >> endobj
-10666 0 obj <<
+10623 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 217.6018 504.348 228.5057]
+/Rect [487.411 217.602 504.348 228.506]
 /Subtype /Link
-/A << /S /GoTo /D (page.398) >>
+/A << /S /GoTo /D (page.399) >>
 >> endobj
-10667 0 obj <<
+10624 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 193.6914 476.6719 204.5954]
+/Rect [459.735 193.691 476.672 204.595]
 /Subtype /Link
 /A << /S /GoTo /D (page.231) >>
 >> endobj
-10668 0 obj <<
+10625 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 169.7811 476.6719 180.685]
+/Rect [459.735 169.781 476.672 180.685]
 /Subtype /Link
 /A << /S /GoTo /D (page.231) >>
 >> endobj
-10669 0 obj <<
+10626 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 145.8708 476.6719 156.7747]
+/Rect [459.735 145.871 476.672 156.775]
 /Subtype /Link
 /A << /S /GoTo /D (page.236) >>
 >> endobj
-10670 0 obj <<
+10627 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 121.9604 476.6719 132.8644]
+/Rect [459.735 121.96 476.672 132.864]
 /Subtype /Link
 /A << /S /GoTo /D (page.236) >>
 >> endobj
-10610 0 obj <<
-/D [10608 0 R /XYZ 90 757.9346 null]
+10632 0 obj <<
+/D [10630 0 R /XYZ 90 757.935 null]
 >> endobj
-10611 0 obj <<
-/D [10608 0 R /XYZ 90 696.9691 null]
+10633 0 obj <<
+/D [10630 0 R /XYZ 90 696.969 null]
 >> endobj
-10607 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R >>
+10629 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10673 0 obj <<
-/Length 3187      
+10699 0 obj <<
+/Length 1167      
 /Filter /FlateDecode
 >>
 stream
-x��\mo7��_�o'��/�v}� ���5> ES��q�Z�o%7���#w�\r)�I�����#�����"3l����3%2���js�g����g���ܾ?
��<{�O)fI���]�A$(��˫_����o_��z�݌c���֑{�S�^=���{?L���g���gW6���0bF���
F�:ۜqʆ_n�^����������"�p�GZ�坕{��>��j�X�+�
a)��rA�+�v��]'rz��s�
��_���*���g*�L��=��D<Y����bw��}s�.߯߶���g�_^,^l���nڿO�#I�]�y�y� M5��R�'	��Tr��!oUk��4!�x˫��v�]��
���j���n�:,n�fߴ8P�E�\ݭ�ݶۺ����1BT@|�;��ɇ��7�_I��/fR+��M	��~
.8�oⷫ4���BK>I`��`U��UQΕ�mV�����j��m�ۻf�j����o��/o�P�VꙔ
QmDʣ�<\p
-ʩ_��)�֎ط��	�G�BT_�R�g���LA�	#�� �`?� %��u8�t8��8����
V��#*� �LM�k�W'`�
-
�)�r���
N�2�۵5FSX�60|�@�Ѫv��*�)/���갼�m�7�b�L��Ժz2�
����\�
��d��N�BXfH�*�v��a��������On>��v��ܠH�HJ�f�X2$t�/
��p������d	���Y��4��^�
-a=��v2
'����K�m
-��HR;X��8��<\p��o�1)��H+<M`
-�`Uk知!HrM��o��^-6��z��_�ن�v�V=
{`V�I�B0��8C�)�Ў���v�p�����'���p�F��T=Rު�0X Ua�%�8_�Q�*ú*��d��*���z{�|,T`e���Py������X��������m���E�B��Z. Xh�
�"�B��,;���{�-ipSۑ{�!��QƳ�(��mG`�E�R?"�#,��&����z����o��	d	h!�G�k���L"�	�&����z����,��P8�%�hI
g�yo��/\ ��(Kfdv��	dG
֎>N(��'ߗ�v�#;�u�
 cЛuc�g�`
?;�~�1��X>��{?�-?\ ��(?���	d�>
v�EIĤ�S��[m%�
�J��dFe+1N [�pX[�Lr�	f�K��6��k����\����
Q�����Y�(�<�`X�%�H��|��V�*Ֆ(r]�j� Bu0�Q�yT��a
�D"��� k{�÷i�b�$㢾 [...]
-a��v��Z>�,��Ԟ���Y>J���0�Sz�@�,�
Qa�ă
o�S]x�����(�‹�
v�Şʌ=��ay���
A��4��i�b��a��4. N�ެCG��i>N {�/�
�!F!̔y��
D
�5��. �f
� "�P�@�BX��b�P%���
DD�p���. �wx�Jγ�;���;�#�� j�|
��r�p�a�,9�s�8�,���Z�@�rR3��v�[�:|6�@�@
KS�� G�f%�'��p�q��� ��
������#D�A
!N ��#*� ��?�#x?�
!\ p�(?�#�	İX���:�TAi
�a�
�d�Y���=|Z2.c����}A���er|d�ew�
AY��*�

-ʼn_fXrJ�j���*u0����%^3���ލ
�D��8b� �
-���I������ �`?�@&����D�b�ٵ$5I`���*��-q{6�E�nZ
v��( N��=&t�EV)��V��~3�_���n,�BXm �s��mׇE۫{����m���^;t��{����p
-t'�T�
-���<\p����HV$I�I���&0}�*�
@��o�w�7�m�Xo�׏�\��S�d���ռ}A8���k%��	�#r�\�[�����>��qK+���`� �`?� %��ӽD>�G��iST�B��@���l�	���<o����}X�Bb�VB�<o�
���U�J��8`�W�'p8;@��8
-a=B����2�J��gp��+��38�cp���388�G�^mv�sR�� ���Rh;p�DX�
D%^;�dr���
hV��bz�EX5��{�����FYr̲�7N �ᰞ/D���/ܶM�2�Ǡ
^�UK� e�$e��ݓ�8~�2�Q�]���O*5i#e��a��e 5i#e�Î�Tk�`�P�FI,
K��w�p�6�j��7�aGXM���J]��`�W��
$�@a��
-a��e��|o��[y� ˞�� j�<o�c�(���/�*V#q��N��u V#w(��z�Ճ�C殺6xk�3��A�!��e
@4O"5�?~�y���//�����˟�Ms����ׯ�{j�s��,W'8�:&�X��y��R�_��Ti�'ZO�O7�`U�:"�������OK��[�������r��E��
-
�R�]�*�-WP5�k!�x��گ����ny_%��A��\��X)
�/����o�\ҿ��wAY�x�v臟&
Z<����`a�塒�!��C��{4��,����v���
��f��몖��p�y{�+K<��TҌ���~�/u�Y�*iF�X;�H$C�x�{���}v/
�YdO6�ӱ�����p��Y��u�����Uf&�q�*D
�b�/����p�����*;xM��>\ ���Q���>��=��&�\�74�VaO5B������
R��u'�A���)���U!�g�@������,��
����f�̢�`��ȐO 2� �x5��s4�O
&Ka��ӮF�y� ������	�
��^��9�C����('���
� !����}s>������S�=~T�/��7��΅x�����-o���`����jݓ��E�*�otn�O^5M*��+�|n
@���φ��*�
������Tp��_w����gO�~�����n��m�������i [...]
+x��Z�n�8}�W�mm`���HIyۤY#�$uH��,1�Zݖ��d�~)KNk�F��(`@%���sf�!z��A��oj�p)�`p\l�
��}~����y�X�1 ���쁅ݢ�u6h��B�4�Ml�6	����gU�@�t
0��
����������Ũj�C����!�A�Ʀ))q Bg8�
�.R5T�.B�K���
Dڞ�=�O��1��.¡����q���ɋwF\�Y��
�v1�m���b�^�$M�0�2�Y�_&�/Y&x�ŷ�+�&�
�df�U�l��O;���\�\nm!W��~����i2��<�j@<yî�^Ʒ�s�":�+��[ZG��o�'�`#L\��w��Fi�E[
���&t�r�z(C/�
Y��,��Y�PPU1�/҂�[,b�nc`UQ�l�6D
�ͼ$`q��q��'��|�Dܕ��z��Rxa"����ܯ/��Z?˗؛$Kw�KH-_b���ӵk��9��K���"���N
��x
'S��͜�����/p̰�c
)24���h-[.�ہA���:�<�|����'���K|<
�`��G���5�\����jF/��E�F<~Q��4�4�����K��k��W
++�����җ��`D
���bdP���d��:��
�I3�S�h�W��笗)
�oE=�Z���a�m�,w���$�d�܏*���$^Xǰ�O��
�}���
��f#�!��� �	ga�x=C���^��&��խ����Z]	n
,-V�\n���^�:��mP'{XPX&�D���"�����Ha"�[d�������N�]�/�n��֫��Nonf���� �VI� ��y���%m�4^`���ySeoLd�;#��,J��
��|��i҂!mJ��Ű��X'���p�0Q3�s�kAF��&�pÇ�U�@d��e���򭡗(�ԙ�-�u��k�q�Y��m�?} }^���|C<��]�͖%RxYy��Y9廗8�!q�rٻ|>�:36h
O�B��k�Nu@��!V�p0�Y�OC�n��-o�A�7s.������K/�xQ��X�ł�,�R?�5!S=GF�k*�\s^��
�W0��Oq��� C�@���K�

M�S��
�v˄ʣ,��l�4t�,���F�SQ��SQ� LTa<c��А���T��
+endstream
 endobj
-10672 0 obj <<
+10698 0 obj <<
 /Type /Page
-/Contents 10673 0 R
-/Resources 10671 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10596 0 R
-/Annots [ 10675 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 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 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 10 [...]
+/Contents 10699 0 R
+/Resources 10697 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10489 0 R
+/Annots [ 10628 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 10675 0 R 10676 0 R 10677 0 R 10678 0 R 10679 0 R 10680 0 R 10 [...]
 >> endobj
-10675 0 obj <<
+10628 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 721.9695 145.7908 730.8162]
+/Rect [128.854 721.97 145.791 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-10676 0 obj <<
+10634 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.6274 707.9571 296.5639 718.861]
+/Rect [279.627 707.957 296.564 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-10677 0 obj <<
+10635 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.2662 684.0467 278.2027 694.9507]
+/Rect [261.266 684.047 278.203 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-10678 0 obj <<
+10636 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 660.1364 280.1157 671.0403]
+/Rect [268.161 660.136 280.116 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.95) >>
 >> endobj
-10679 0 obj <<
+10637 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 648.1812 258.5368 659.0852]
+/Rect [241.6 648.181 258.537 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.126) >>
 >> endobj
-10680 0 obj <<
+10638 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 636.2261 260.1905 647.13]
+/Rect [243.254 636.226 260.191 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.232) >>
 >> endobj
-10681 0 obj <<
+10639 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 614.373 145.7908 623.2197]
+/Rect [128.854 614.373 145.791 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.307) >>
+/A << /S /GoTo /D (page.308) >>
 >> endobj
-10682 0 obj <<
+10640 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 589.1227 221.6059 599.3093]
+/Rect [204.669 589.123 221.606 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.337) >>
+/A << /S /GoTo /D (page.339) >>
 >> endobj
-10683 0 obj <<
+10641 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 576.4502 287.8667 587.3542]
+/Rect [270.93 576.45 287.867 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.399) >>
+/A << /S /GoTo /D (page.401) >>
 >> endobj
-10684 0 obj <<
+10642 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 552.5399 280.1157 563.4438]
+/Rect [268.161 552.54 280.116 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.95) >>
 >> endobj
-10685 0 obj <<
+10643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 540.5847 260.1905 551.4887]
+/Rect [243.254 540.585 260.191 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.232) >>
 >> endobj
-10686 0 obj <<
+10644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 528.6296 287.8667 539.5335]
+/Rect [270.93 528.63 287.867 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.400) >>
+/A << /S /GoTo /D (page.401) >>
 >> endobj
-10687 0 obj <<
+10645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 504.7192 280.1157 515.6232]
+/Rect [268.161 504.719 280.116 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.93) >>
 >> endobj
-10688 0 obj <<
+10646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 492.7641 258.5368 503.668]
+/Rect [241.6 492.764 258.537 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-10689 0 obj <<
+10647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 480.8089 260.1905 491.7128]
+/Rect [243.254 480.809 260.191 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.234) >>
 >> endobj
-10690 0 obj <<
+10648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 458.9558 145.7908 467.8025]
+/Rect [128.854 458.956 145.791 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.306) >>
+/A << /S /GoTo /D (page.307) >>
 >> endobj
-10691 0 obj <<
+10649 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 433.7055 221.6059 443.8922]
+/Rect [204.669 433.706 221.606 443.892]
 /Subtype /Link
-/A << /S /GoTo /D (page.338) >>
+/A << /S /GoTo /D (page.340) >>
 >> endobj
-10692 0 obj <<
+10650 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 421.033 287.8667 431.937]
+/Rect [270.93 421.033 287.867 431.937]
 /Subtype /Link
-/A << /S /GoTo /D (page.396) >>
+/A << /S /GoTo /D (page.397) >>
 >> endobj
-10693 0 obj <<
+10651 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 397.1227 280.1157 408.0266]
+/Rect [268.161 397.123 280.116 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.94) >>
 >> endobj
-10694 0 obj <<
+10652 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 385.1675 260.1905 396.0715]
+/Rect [243.254 385.168 260.191 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.234) >>
 >> endobj
-10695 0 obj <<
+10653 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 373.2124 287.8667 384.1163]
+/Rect [270.93 373.212 287.867 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.397) >>
+/A << /S /GoTo /D (page.398) >>
 >> endobj
-10696 0 obj <<
+10654 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 349.302 287.8667 360.206]
+/Rect [270.93 349.302 287.867 360.206]
 /Subtype /Link
-/A << /S /GoTo /D (page.397) >>
+/A << /S /GoTo /D (page.399) >>
 >> endobj
-10697 0 obj <<
+10655 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 325.3917 287.8667 336.2956]
+/Rect [270.93 325.392 287.867 336.296]
 /Subtype /Link
-/A << /S /GoTo /D (page.398) >>
+/A << /S /GoTo /D (page.400) >>
 >> endobj
-10698 0 obj <<
+10656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 301.4814 260.1905 312.3853]
+/Rect [243.254 301.481 260.191 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.236) >>
 >> endobj
-10699 0 obj <<
+10657 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 277.571 260.1905 288.475]
+/Rect [243.254 277.571 260.191 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.237) >>
 >> endobj
-10700 0 obj <<
+10658 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 253.6607 285.097 264.5646]
+/Rect [268.161 253.661 285.097 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.104) >>
 >> endobj
-10701 0 obj <<
+10659 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 241.7055 258.5368 252.6095]
+/Rect [241.6 241.706 258.537 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.134) >>
 >> endobj
-10702 0 obj <<
+10660 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 229.7504 260.1905 240.6543]
+/Rect [243.254 229.75 260.191 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.245) >>
 >> endobj
-10703 0 obj <<
+10661 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 207.8973 145.7908 216.744]
+/Rect [128.854 207.897 145.791 216.744]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.284) >>
 >> endobj
-10704 0 obj <<
+10662 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 183.987 145.7908 192.8336]
+/Rect [128.854 183.987 145.791 192.834]
 /Subtype /Link
-/A << /S /GoTo /D (page.315) >>
+/A << /S /GoTo /D (page.316) >>
 >> endobj
-10705 0 obj <<
+10663 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 158.7366 221.6059 168.9233]
+/Rect [204.669 158.737 221.606 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.344) >>
+/A << /S /GoTo /D (page.345) >>
 >> endobj
-10706 0 obj <<
+10664 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 146.0642 287.8667 156.9681]
+/Rect [270.93 146.064 287.867 156.968]
 /Subtype /Link
-/A << /S /GoTo /D (page.408) >>
+/A << /S /GoTo /D (page.410) >>
 >> endobj
-10707 0 obj <<
+10665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 122.1538 285.097 133.0578]
+/Rect [268.161 122.154 285.097 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.104) >>
 >> endobj
-10708 0 obj <<
+10666 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 110.1987 258.5368 121.1026]
+/Rect [241.6 110.199 258.537 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.134) >>
 >> endobj
-10709 0 obj <<
+10667 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 98.2435 260.1905 109.1474]
+/Rect [243.254 98.244 260.191 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.245) >>
 >> endobj
-10710 0 obj <<
+10668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 710.0144 362.2721 718.861]
+/Rect [345.336 710.014 362.272 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.316) >>
+/A << /S /GoTo /D (page.317) >>
 >> endobj
-10711 0 obj <<
+10669 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 684.764 438.0873 694.9507]
+/Rect [421.151 684.764 438.087 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.344) >>
+/A << /S /GoTo /D (page.346) >>
 >> endobj
-10712 0 obj <<
+10670 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 672.0916 504.348 682.9955]
+/Rect [487.411 672.092 504.348 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.409) >>
+/A << /S /GoTo /D (page.410) >>
 >> endobj
-10713 0 obj <<
+10671 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 638.2834 362.2721 647.13]
+/Rect [345.336 638.283 362.272 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.284) >>
 >> endobj
-10714 0 obj <<
+10672 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 600.3606 396.5929 611.2645]
+/Rect [379.656 600.361 396.593 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.171) >>
 >> endobj
-10715 0 obj <<
+10673 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 576.4502 496.597 587.3542]
+/Rect [484.642 576.45 496.597 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.98) >>
 >> endobj
-10716 0 obj <<
+10674 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 564.4951 475.0182 575.399]
+/Rect [458.082 564.495 475.018 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.130) >>
 >> endobj
-10717 0 obj <<
+10675 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 552.5399 476.6719 563.4438]
+/Rect [459.735 552.54 476.672 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.239) >>
 >> endobj
-10718 0 obj <<
+10676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 530.6868 362.2721 539.5335]
+/Rect [345.336 530.687 362.272 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.310) >>
+/A << /S /GoTo /D (page.311) >>
 >> endobj
-10719 0 obj <<
+10677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 505.4365 438.0873 515.6232]
+/Rect [421.151 505.437 438.087 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.340) >>
+/A << /S /GoTo /D (page.342) >>
 >> endobj
-10720 0 obj <<
+10678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 481.5262 403.5269 491.7128]
+/Rect [386.59 481.526 403.527 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.366) >>
+/A << /S /GoTo /D (page.368) >>
 >> endobj
-10721 0 obj <<
+10679 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 468.8537 504.348 479.7577]
+/Rect [487.411 468.854 504.348 479.758]
 /Subtype /Link
-/A << /S /GoTo /D (page.403) >>
+/A << /S /GoTo /D (page.405) >>
 >> endobj
-10722 0 obj <<
+10680 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 444.9434 496.597 455.8473]
+/Rect [484.642 444.943 496.597 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.99) >>
 >> endobj
-10723 0 obj <<
+10681 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 432.9882 475.0182 443.8922]
+/Rect [458.082 432.988 475.018 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.130) >>
 >> endobj
-10724 0 obj <<
+10682 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 421.033 476.6719 431.937]
+/Rect [459.735 421.033 476.672 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.240) >>
 >> endobj
-10725 0 obj <<
+10683 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 399.18 362.2721 408.0266]
+/Rect [345.336 399.18 362.272 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.311) >>
+/A << /S /GoTo /D (page.312) >>
 >> endobj
-10726 0 obj <<
+10684 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 373.9297 438.0873 384.1163]
+/Rect [421.151 373.93 438.087 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.340) >>
+/A << /S /GoTo /D (page.342) >>
 >> endobj
-10727 0 obj <<
+10685 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 350.0193 403.5269 360.206]
+/Rect [386.59 350.019 403.527 360.206]
 /Subtype /Link
-/A << /S /GoTo /D (page.366) >>
+/A << /S /GoTo /D (page.368) >>
 >> endobj
-10728 0 obj <<
+10686 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 337.3469 504.348 348.2508]
+/Rect [487.411 337.347 504.348 348.251]
 /Subtype /Link
-/A << /S /GoTo /D (page.403) >>
+/A << /S /GoTo /D (page.405) >>
 >> endobj
-10729 0 obj <<
+10687 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 314.1538 425.2551 324.3405]
+/Rect [413.3 314.154 425.255 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-10730 0 obj <<
+10688 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 278.2883 403.5269 288.475]
+/Rect [386.59 278.288 403.527 288.475]
 /Subtype /Link
-/A << /S /GoTo /D (page.372) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-10731 0 obj <<
+10689 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 241.7055 396.5929 252.6095]
+/Rect [379.656 241.706 396.593 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-10732 0 obj <<
+10690 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 217.7952 396.5929 228.6991]
+/Rect [379.656 217.795 396.593 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-10733 0 obj <<
+10691 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 183.987 362.2721 192.8336]
+/Rect [345.336 183.987 362.272 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-10734 0 obj <<
+10692 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 148.0567 447.8902 158.9606]
+/Rect [435.935 148.057 447.89 158.961]
 /Subtype /Link
 /A << /S /GoTo /D (page.74) >>
 >> endobj
-10735 0 obj <<
+10693 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 124.1464 496.597 135.0503]
+/Rect [484.642 124.146 496.597 135.05]
 /Subtype /Link
 /A << /S /GoTo /D (page.86) >>
 >> endobj
-10736 0 obj <<
+10694 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.5858 124.1464 511.541 135.0503]
+/Rect [499.586 124.146 511.541 135.05]
 /Subtype /Link
 /A << /S /GoTo /D (page.88) >>
 >> endobj
-10737 0 obj <<
+10695 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 88.9982 403.5269 99.1848]
+/Rect [386.59 88.998 403.527 99.185]
 /Subtype /Link
-/A << /S /GoTo /D (page.369) >>
+/A << /S /GoTo /D (page.371) >>
 >> endobj
-10738 0 obj <<
+10696 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10674 0 obj <<
-/D [10672 0 R /XYZ 90 757.9346 null]
+10700 0 obj <<
+/D [10698 0 R /XYZ 90 757.935 null]
 >> endobj
-10671 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+10697 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10741 0 obj <<
-/Length 3182      
+10766 0 obj <<
+/Length 1135      
 /Filter /FlateDecode
 >>
 stream
-x��\�r7}�W�m��ƾ��J&q�I<�R��R,�jɬP��E�⿟�^�@�tL٩T9�x�Ë�� (���Y�PB!ø\ln���~����^��K�������Xd$����ƃ$HPB�W�>{��W_�|���w
�5�B�#�{N����ח�{\0I������;^\AߝaČ�Gx�1�.n�8e����۳�8?����a�t4���5ɾ���_�X=n���v�Z��oo�ͨXQ�-	AF��_��l]߮W��﫫z�z�}W��_~���������SiR/�"�6}�V}�a�xq��o�&�ks��G	h���F�9T!,�
5�����̏����_�j�X.�V����
~�Ld���2£8G�p1J`D�C�B�I%�\uU����T-s��갏�L�*�BJ��6�Tg=~�L�Y䷙�X�u&�Vx�@Tg
���(b���u&�d����:�����pNųǪ\\��	��J┗*��/=�D���6��p
(�ܰ0��\{P>� [...]
+,^-�Z
�{����
U;��
Y��o���-
Q�=?%Z:��7��e���dŴ@U>N ��C��H�$��	WQ!���^D=|f
�Q�J�Kh=���c:r8C�)=���o
����C�����
6��^��!n�CbR��`)M�M��/}��:��6DN��P7f����zT!�@%�(�9�F����^
}����`
�R'��0���X�Sȍ@��'i��\��dDZ�%�")���"-��̾L����J����+�0�z�~�
2���Z�@��!L ��a�:�
��<Q?87s��o��Az9�&����+\#l�8U?8?s��o��A~9�&����-L"�	{B� �
-�#�- |���p�VB���Hj�BX���2�wh�1�5W���AFC8X�!XRC�	$5D>�c�i���T
A���`J"&���!|���p�VC���Hj�BXG��̞FC8os5�o��A����0���ȇ
�E�/�^Dt�f�e��c��;����a���
^9F�w�
:�h�i�Ti:��i.��,�Tò�í�o��K,>��eD"���O�g�㲇�t�4�AiF�a-��#ɸH�_]ׇ�������?�ϧ���P$U�~���AF�:��Q�4*�#F��4��BT���HQNNT���\u�d�m�
�iu&�T���+R#%ͩ�w3W�z������T%�m=)l�1BLO���Z;
-���k}���u�FJ���R�@R��:�E3�w[+

<����AF�:XC%K
�0���͇
���>��1
-a��la�d���5���X�@R���-�T?�tp��J� #
�,�!I�&���� 
�b�P%#��ڵe��d�P�x49�� #
� ��Iِ�:�7��'��f�l�
2�!H�P��
aIِ;�����Su��3W8��䗓aI�;�Bbx���-
a�	2�j�o�VaI�P��1[��x�qN�l���3ҡG�ʁ'�C=���E?{oF\3�N�bT"��2�n�i�̘�桥�{���
��b�	e�14C�U���C���ξf�\kp��s�����
>N1�P�	�Ta����
��	m
qx0
-������s&VK�+�|�[��
��
&���6�%�6_��S2N`\I=�6�f��F���B�������
�~�
���yE���{T!�P+j�v���_����Z�o
�l����X���?[o�u�^�5Xz�
-����o0�L�צ(��Z�h��6��cbzT!�@
�eP���X

�#U��"n�\"�l
��,����
&F�m�+>�d ��c�0���֣Ja#o�iŤ9h�z��{|1���v�"^!ULHa�=��Uh�pm]\\(�Ի�ɇ<{)CH{Z�����×
~b2��&�=�a��~�=��߁�1#_6fz����f���
2S��W�]��	$�N!l�m<TK��?�
#�gH���c�3�1����CAi��a#o�u�w���v��~�7���3�v����,�
��ip�,�u]��������g)�u!CJ	Z��
~�L���v��X(C3�t�@��;T!�0�(Asn�f�p�d�
�
�%F�GV�[��I
�
80��Zr����
-���7��kg�H��0�d�)��g��U#���f�=��v���zS<�
��7�ԗ��ƒ&���|؁CI�eeSmw�Qw���aL�����:S�L#��_��A�{Xä�Tc�@��a
�0q���$�X
V������o����n�x��v��^��c�a��7��49X��'��i
-H�4��l3�(��nw�h�?|���jR�_��A�h
�-Z�,�0�d��:G���hwպ�H����&��U���V<����
r�����B��n�@��|XG
�V�tϔ�~|�ӛ�W�|���G��M�����PO�=�Ƣ	.��tq𥇟{#�M�?�*�u5�
�tu�|L�
5
I՝�lv����Z��~��أ�"r>}�A�?k	�I��
��*��$� ���}��G�-�=�}��v�����HN�BX� 㨿�xq��Wa6���������W��F,�گ�PJ�Ḵh8��7�(��o�	
{�
-�G��Uף
-Q�FF����
�f�m\
�7�C����4ǁ��Vf�x"�㗾����oS{1���

-�G	D��
��=��PX�9or�5(��Dk������Z���O5��׆�
�
E��Z
*�
xQ�ɓt|�ln��
2
?H2����
?v�F2D�~�j����]"�v���g}�L?w�F�	���a�~^��&�
43��M��ǦW�}d��M*�q>_��9R{XKjz�
H���H���ڐ���Um����#���!$�m��}C�`yҟj����LL0c$2�>�_�Iج/�wG����^�rw��~�틟���B<�o_��?�w�Ͽa�ۯ���þ�%���
�Η
��mU��(t@�B��w�X�?�ۿ{�,=��/>)o��_;����ݗϟ?>>��=z�o�j�=>���=�w	���r�?��E��3-�2��\ꖣ�C�}�=��9yC��J�����Qendstream
+x��Zms�8�ί��a$˒q>B�$��p	�ɔt<��Ԗ9ٔ�ߟ�M
�e^�f�3
ز�}���jWh
hg�N���D�f�61��k6�,ul@�?���돧��o�Ϛ	�:�D�[>0H�k���5([�����[knP|�H�ր�춶X�
+4�@����j���s$�H�;�W_vވq�O
Eބ/�A9��ZB��Y�^�:uz��8e#A�Ko(�x<9�|t�t��^.!�.&�"n�jڠi`P���:� 嗺�7���S�D�<Y�A�.��l���z����W��5BЮ�B^��9h۴�9WB���y<�X�4�ϩ�6
\_0!���GT��0��9t�L� ����tŽ�o`���X��,�
���g���o�oF��'I/K�
���W�e��+=�'ByQ�m�Y������5�
),�H��j3�^�mpww݃m�ݳ��öwζ,u`�蟱��Ч��=w��+��]聓
[h�E8t&�$_�
_m����8r�`X�
�2�@ ���
���
ۯ�����F6�6d~��wM2�doJ���At,�A҉a�H:�;�P�q�J����o*�@)��kP0
���]�	�!QA+E��𡱜����<)#�w<fb܀�N�2ޓ�B���R�ˡ�H9�g(�V��0�����T9K�v-��e�ÆXh�d���4�c㔮:e*�:\R��x�-©i��v�F�Q�����E�~V"�:�Ԓ
X*��e���ߓ�'���y0d��������
yL=
0
���[�U����b��
��7����Q����^�K
}T"��Vֽ���r{��n.����g�3A�P��˶T���\0g���nS�V�^ױVy���J|B�tN�z�D�]:��{ǫ�u�T
�:�Bu�|"挗��yT���H�SR	eR�=*͝=�ꑴS.ikl�*��a�h��
	�`K	���Gi�6(�f��e��V}1�z!Nt�B��8�eq���iV�<)!�]i"��Ru�7_"&�j`\���+���O� 鱥�d�6
��L0��s�7�HZ䎱l���k�����g�
�t؆�
L�xv�j-
ݍ�9�fB���l��t�[:��n�IơH���t�q�,k=o����;
+endstream
 endobj
-10740 0 obj <<
+10765 0 obj <<
 /Type /Page
-/Contents 10741 0 R
-/Resources 10739 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10596 0 R
-/Annots [ 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 10771 0 R 10772 0 R 10773 0 R 10774 0 R 10775 0 R 10776 0 R 10777 0 R 10778 0 R 10779 0 R 10780 0 R 10781 0 R 10782 0 R 10783 0 R 10784 0 R 10785 0 R 10786 0 R 10787 0 R 10788 0 R 10789 0 R 10790 0 R 10 [...]
+/Contents 10766 0 R
+/Resources 10764 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10768 0 R
+/Annots [ 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 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 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 10741 0 R 10742 0 R 10743 0 R 10744 0 R 10745 0 R 10746 0 R 10747 0 R 10748 0 R 10 [...]
 >> endobj
-10743 0 obj <<
+10701 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 707.9571 285.097 718.861]
+/Rect [268.161 707.957 285.097 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.102) >>
 >> endobj
-10744 0 obj <<
+10702 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 686.104 145.7908 694.9507]
+/Rect [128.854 686.104 145.791 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.314) >>
+/A << /S /GoTo /D (page.315) >>
 >> endobj
-10745 0 obj <<
+10703 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 660.1364 287.8667 671.0403]
+/Rect [270.93 660.136 287.867 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.406) >>
+/A << /S /GoTo /D (page.408) >>
 >> endobj
-10746 0 obj <<
+10704 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 624.9882 187.0456 635.1748]
+/Rect [170.109 624.988 187.046 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.370) >>
+/A << /S /GoTo /D (page.371) >>
 >> endobj
-10747 0 obj <<
+10705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 600.3606 285.097 611.2645]
+/Rect [268.161 600.361 285.097 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.100) >>
 >> endobj
-10748 0 obj <<
+10706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 588.4054 258.5368 599.3093]
+/Rect [241.6 588.405 258.537 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.132) >>
 >> endobj
-10749 0 obj <<
+10707 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 576.4502 260.1905 587.3542]
+/Rect [243.254 576.45 260.191 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.242) >>
 >> endobj
-10750 0 obj <<
+10708 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 554.5972 145.7908 563.4438]
+/Rect [128.854 554.597 145.791 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.312) >>
+/A << /S /GoTo /D (page.313) >>
 >> endobj
-10751 0 obj <<
+10709 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 529.3468 221.6059 539.5335]
+/Rect [204.669 529.347 221.606 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.342) >>
+/A << /S /GoTo /D (page.344) >>
 >> endobj
-10752 0 obj <<
+10710 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 505.4365 187.0456 515.6232]
+/Rect [170.109 505.437 187.046 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.368) >>
+/A << /S /GoTo /D (page.370) >>
 >> endobj
-10753 0 obj <<
+10711 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 492.7641 287.8667 503.668]
+/Rect [270.93 492.764 287.867 503.668]
 /Subtype /Link
-/A << /S /GoTo /D (page.405) >>
+/A << /S /GoTo /D (page.407) >>
 >> endobj
-10754 0 obj <<
+10712 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 468.8537 285.097 479.7577]
+/Rect [268.161 468.854 285.097 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.101) >>
 >> endobj
-10755 0 obj <<
+10713 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 456.8986 258.5368 467.8025]
+/Rect [241.6 456.899 258.537 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.132) >>
 >> endobj
-10756 0 obj <<
+10714 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 444.9434 260.1905 455.8473]
+/Rect [243.254 444.943 260.191 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.242) >>
 >> endobj
-10757 0 obj <<
+10715 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 423.0903 145.7908 431.937]
+/Rect [128.854 423.09 145.791 431.937]
 /Subtype /Link
-/A << /S /GoTo /D (page.313) >>
+/A << /S /GoTo /D (page.314) >>
 >> endobj
-10758 0 obj <<
+10716 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 397.84 221.6059 408.0266]
+/Rect [204.669 397.84 221.606 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.343) >>
+/A << /S /GoTo /D (page.344) >>
 >> endobj
-10759 0 obj <<
+10717 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 373.9297 187.0456 384.1163]
+/Rect [170.109 373.93 187.046 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.369) >>
+/A << /S /GoTo /D (page.370) >>
 >> endobj
-10760 0 obj <<
+10718 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 361.2572 287.8667 372.1611]
+/Rect [270.93 361.257 287.867 372.161]
 /Subtype /Link
-/A << /S /GoTo /D (page.406) >>
+/A << /S /GoTo /D (page.407) >>
 >> endobj
-10761 0 obj <<
+10719 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 337.3469 287.8667 348.2508]
+/Rect [270.93 337.347 287.867 348.251]
 /Subtype /Link
-/A << /S /GoTo /D (page.407) >>
+/A << /S /GoTo /D (page.408) >>
 >> endobj
-10762 0 obj <<
+10720 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 313.4365 287.8667 324.3405]
+/Rect [270.93 313.437 287.867 324.34]
 /Subtype /Link
-/A << /S /GoTo /D (page.408) >>
+/A << /S /GoTo /D (page.409) >>
 >> endobj
-10763 0 obj <<
+10721 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 289.5262 280.1157 300.4301]
+/Rect [268.161 289.526 280.116 300.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.88) >>
+/A << /S /GoTo /D (page.89) >>
 >> endobj
-10764 0 obj <<
+10722 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 277.571 258.5368 288.475]
+/Rect [241.6 277.571 258.537 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.122) >>
 >> endobj
-10765 0 obj <<
+10723 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 265.6159 260.1905 276.5198]
+/Rect [243.254 265.616 260.191 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-10766 0 obj <<
+10724 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 243.7628 145.7908 252.6095]
+/Rect [128.854 243.763 145.791 252.609]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-10767 0 obj <<
+10725 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 218.5125 221.6059 228.6991]
+/Rect [204.669 218.512 221.606 228.699]
 /Subtype /Link
-/A << /S /GoTo /D (page.333) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-10768 0 obj <<
+10726 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 194.6021 187.0456 204.7888]
+/Rect [170.109 194.602 187.046 204.789]
 /Subtype /Link
-/A << /S /GoTo /D (page.358) >>
+/A << /S /GoTo /D (page.359) >>
 >> endobj
-10769 0 obj <<
+10727 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 181.9297 287.8667 192.8336]
+/Rect [270.93 181.93 287.867 192.834]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.393) >>
 >> endobj
-10770 0 obj <<
+10728 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 158.0194 280.1157 168.9233]
+/Rect [268.161 158.019 280.116 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.88) >>
+/A << /S /GoTo /D (page.89) >>
 >> endobj
-10771 0 obj <<
+10729 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 146.0642 258.5368 156.9681]
+/Rect [241.6 146.064 258.537 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.123) >>
 >> endobj
-10772 0 obj <<
+10730 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 134.109 260.1905 145.0129]
+/Rect [243.254 134.109 260.191 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-10773 0 obj <<
+10731 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 112.256 145.7908 121.1026]
+/Rect [128.854 112.256 145.791 121.103]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-10774 0 obj <<
+10732 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 87.0056 221.6059 97.1923]
+/Rect [204.669 87.006 221.606 97.192]
 /Subtype /Link
-/A << /S /GoTo /D (page.334) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-10775 0 obj <<
+10733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 708.6744 403.5269 718.861]
+/Rect [386.59 708.674 403.527 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.358) >>
+/A << /S /GoTo /D (page.360) >>
 >> endobj
-10776 0 obj <<
+10734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 696.0019 504.348 706.9059]
+/Rect [487.411 696.002 504.348 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.393) >>
 >> endobj
-10777 0 obj <<
+10735 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 672.0916 475.0182 682.9955]
+/Rect [458.082 672.092 475.018 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.119) >>
 >> endobj
-10778 0 obj <<
+10736 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.007 672.0916 494.9434 682.9955]
+/Rect [478.007 672.092 494.943 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.122) >>
 >> endobj
-10779 0 obj <<
+10737 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.91 650.1738 419.8652 661.0777]
+/Rect [407.91 650.174 419.865 661.078]
 /Subtype /Link
 /A << /S /GoTo /D (page.60) >>
 >> endobj
-10780 0 obj <<
+10738 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 616.3656 362.2721 625.2122]
+/Rect [345.336 616.366 362.272 625.212]
 /Subtype /Link
 /A << /S /GoTo /D (page.142) >>
 >> endobj
-10781 0 obj <<
+10739 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.2609 616.3656 382.1974 625.2122]
+/Rect [365.261 616.366 382.197 625.212]
 /Subtype /Link
 /A << /S /GoTo /D (page.145) >>
 >> endobj
-10782 0 obj <<
+10740 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 590.3979 511.5056 601.3019]
+/Rect [494.569 590.398 511.506 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (page.101) >>
 >> endobj
-10783 0 obj <<
+10741 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 580.5001 362.2721 589.3467]
+/Rect [345.336 580.5 362.272 589.347]
 /Subtype /Link
 /A << /S /GoTo /D (page.102) >>
 >> endobj
-10784 0 obj <<
+10742 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 555.2497 362.2721 565.4364]
+/Rect [345.336 555.25 362.272 565.436]
 /Subtype /Link
-/A << /S /GoTo /D (page.313) >>
+/A << /S /GoTo /D (page.314) >>
 >> endobj
-10785 0 obj <<
+10743 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.2609 555.2497 382.1974 565.4364]
+/Rect [365.261 555.25 382.197 565.436]
 /Subtype /Link
-/A << /S /GoTo /D (page.314) >>
+/A << /S /GoTo /D (page.315) >>
 >> endobj
-10786 0 obj <<
+10744 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 530.6221 501.5784 541.526]
+/Rect [484.642 530.622 501.578 541.526]
 /Subtype /Link
 /A << /S /GoTo /D (page.103) >>
 >> endobj
-10787 0 obj <<
+10745 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 518.6669 475.0182 529.5709]
+/Rect [458.082 518.667 475.018 529.571]
 /Subtype /Link
 /A << /S /GoTo /D (page.134) >>
 >> endobj
-10788 0 obj <<
+10746 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 496.8139 362.2721 505.6605]
+/Rect [345.336 496.814 362.272 505.661]
 /Subtype /Link
-/A << /S /GoTo /D (page.315) >>
+/A << /S /GoTo /D (page.316) >>
 >> endobj
-10789 0 obj <<
+10747 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 470.8462 475.0182 481.7502]
+/Rect [458.082 470.846 475.018 481.75]
 /Subtype /Link
 /A << /S /GoTo /D (page.133) >>
 >> endobj
-10790 0 obj <<
+10748 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 437.038 362.2721 445.8847]
+/Rect [345.336 437.038 362.272 445.885]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-10791 0 obj <<
+10749 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 399.8325 403.5269 410.0192]
+/Rect [386.59 399.833 403.527 410.019]
 /Subtype /Link
-/A << /S /GoTo /D (page.373) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-10792 0 obj <<
+10750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.516 399.833 423.452 410.019]
+/Subtype /Link
+/A << /S /GoTo /D (page.375) >>
+>> endobj
+10751 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 365.307 362.2721 374.1537]
+/Rect [345.336 365.307 362.272 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-10793 0 obj <<
+10752 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 329.4415 362.2721 338.2882]
+/Rect [345.336 329.442 362.272 338.288]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.284) >>
 >> endobj
-10794 0 obj <<
+10753 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 303.4739 498.2408 314.3778]
+/Rect [481.304 303.474 498.241 314.378]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-10795 0 obj <<
+10754 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 279.5636 498.2408 290.4675]
+/Rect [481.304 279.564 498.241 290.468]
 /Subtype /Link
 /A << /S /GoTo /D (page.198) >>
 >> endobj
-10796 0 obj <<
+10755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 245.7553 362.2721 254.602]
+/Rect [345.336 245.755 362.272 254.602]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-10797 0 obj <<
+10756 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 220.505 425.2551 230.6917]
+/Rect [413.3 220.505 425.255 230.692]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-10798 0 obj <<
+10757 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 195.8774 506.5497 206.7813]
+/Rect [489.613 195.877 506.55 206.781]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-10799 0 obj <<
+10758 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.9877 183.9222 499.9242 194.8261]
+/Rect [482.988 183.922 499.924 194.826]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-10800 0 obj <<
+10759 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 171.967 498.2408 182.871]
+/Rect [481.304 171.967 498.241 182.871]
 /Subtype /Link
 /A << /S /GoTo /D (page.198) >>
 >> endobj
-10801 0 obj <<
+10760 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 150.114 362.2721 158.9606]
+/Rect [345.336 150.114 362.272 158.961]
 /Subtype /Link
 /A << /S /GoTo /D (page.256) >>
 >> endobj
-10802 0 obj <<
+10761 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 114.2485 362.2721 123.0951]
+/Rect [345.336 114.249 362.272 123.095]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-10803 0 obj <<
+10763 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10742 0 obj <<
-/D [10740 0 R /XYZ 90 757.9346 null]
+10767 0 obj <<
+/D [10765 0 R /XYZ 90 757.935 null]
 >> endobj
-10739 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+10764 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10806 0 obj <<
-/Length 3277      
+10828 0 obj <<
+/Length 1218      
 /Filter /FlateDecode
 >>
 stream
-x��\msܶ��_q�*͔0�_�I�ĩ�*��q�dn�-_s�S�NQ�� 	$���d2�˃��s�ų (���Y�PB!ø\\ޜ��5|��	龮��*|yq���R,
2�����Ƃ$HPBW?��x���g�\|��X#,$��sj�'�/��ι`�X��;����� �;��-��#b
]ܜp�ܛ�ɛ�}��f��5�&.B��"��T���
a	/l��gD���7���n��C}�_-_���W��_|�����z�]m�o>�n뿎/�P���r�A�`��f��_w��(=�
-L�ٵ�2�� 8G�p1
-`D�G��o%�AD������v���ߙt�U`�A��}����lYM
'����q�3��ru��VI��"�@�sU���p���]
�`�ʌs�P%�.��d�j#�
~�__-
$�D���Uq6;���0-�&��� �	Xp�Ib1ef�ٷ���*�)�OQ��1ԡ��HzO��i�'�K��	tS[v~_?.�ڬ��t;?������z{����>]]N�e҄���
AU-N;���|EvmLR��S��RJ����W`L�B����9����@��z����ubI��P�B��f��W��Jb�M��Q�Q��x
��@�*��3RH�$�s���
��)F��L�����DvVX̊� 
���P�=+B iؼZ>�
-GT��L��^�)NFV��-cJ �
y��@y�=!�!Ŕ~Bm%AJS5�n�2���mEd�rH��[�@�X��/���f�qZH���C}uwY_-��;xq��
�O'�Z(��o)�
�
-LdZd����( ��Ƙq �\s��[O%7�fԤ�
�z���c�|wF��}�܄�_p�l E1��� ?�EGV�T,E�D���xg�|z�EK=�����6N-�C%�R��p�DjEv���x���*x
@��u��[�
\b�h����zWo/댮�Q����`
-K
��C)��u�*
0E��n�&�xVj���d@D]�*���1�'lD����ñ�y��
-�dz��E<m%p�d��2R��^��)4���H\4`�$b�}<m
(��ҋ1��B;%�h�__�����q�6�P�ֈQ,gK�p at F�xX+RXR�
H���[ ���_�
���_�����0�N��6 
�i<��hH\\lV1�?�͡
-^���E|V��v���. 
���J�]�0�d�w۳�1��a����ˡssˇE�JO��ozV���$P
��T� ʑ�F�V�ဌ���Fna�T�� �ʿ��3�9���)ʟ��2�8 ��=�������T�y��J�1R��?R�S���f�����P
B%���{R��}z��ažH�{ks�8 ��Q��%�i�a I�w
��N-�W��48>\�v&�,0�¤`̊e��p��8�m��D���� "�:T���&���3PUP�
�܇��W�?
����ͻz�^"�2f��^"��%��Ez��\"�n�A�šzq����(=���Ui8 �J=�Q�8�J����4���3"����
��U�73W��2�t
�<�J�$Ui�m�
-7������\m���A|4>9���0��Hͻ�ia
-QI��TBbX~B
-䊐��:���� �tʻ�
�� ��Щ�줙�S���a�N�I�:
`H%�Nmppi&���!�\XCIb�2*Li�	GR�z���,�PG4��3Ϭx|��Hl��ZF� �PV�3+
Ur�(
O�<T�r�����X��|
bd���t��h�ztr��O�戃�]H�Y�1������m�
?���X��no�zqn�����+���
1���B�9|����n���A`����� ��ԡJn=�ᑘiF�uF9]m�>/��γ��ΖDV��fγ�f}zJ�LÂז���-�����cρ�:ۅ�:�5Q{SL��[�
^���=��
j�V` 4��C���@y��4�a�1�UW���濯��-��s��C�"��Jz_BI+��_��
-��n�>�ȿ\s�e�̣C���C���z��1�>pa�Ag��Hq�*
0AJd�m"��G��q cV
��g�
��l�mT�H`�@��W�	Z"�M�b�@(1 ��C���0���3�J탯��T<՗�
���
�=ڂ�E<t���Y���
��O�4�YM���,(d�v/dX�B�D����gZb
}$6d�}�^
��ӳh+��n<v_��u�2�xk����>���>@&��a �>���-�\R�9�ݲ���m�Ǐ���i.0����>�!
��"�!Γ"�'�iDX��~����[F<�P�/,��YC�ML ��s�sHx�tq�:|��0�۞��S

�z
��E�*��i�?!���;ׇ���G1Z��O(0�Ƣ�<p}���:|�R`c��ؘ�`�>�0 �`
����=f0b��<��L�@�4��z���3˪C5�%dr]
xO.�y�.�����Oy�����OV���C̮c>S�
��

�'�X�e��U���v>��^��g
�����qE1��R at V0 ǖ�M?��5��+�'
k$I�w2 �E6�
xdz9����I��e��W!~�j����;'���k�#�Q�jA��A����#J���f}U��˫���Zp�(R����|�w���
�PBri:�
�Pv��O_����֏l�����w8 �~�#,�~H��y�=+\#ͻǤ
��@B�C&�X�����Dv��G=� �
-؞^=�ۡ
-nck�mZP&��z��s8 #<�����0��
(��5�0ƞp�������p@�!k�L��A i��n}I�&YKP݈����Ȼw��/��6�����w[�`��=k��(�)>��3
�0�a�6=O2<
 �p��c�H���
^j�<]]
����i����!p��'n8 G����~�@�ּ[7��
:�i�o^�/m���!����
+�K��EW|��m6G&j��w1C�Q�o1y�}�?K��O�m�����p
J}��v>�Ƃ�F����
ဌ��Vfɤ���Yy�>�
C�����pV�ʬ �QYal$>������x�i��Cz����
y��"i�b�=iK�),a��{i�s�H�nK��C}VQ�{ڻ����m��o~<����	qzh߿Zm�V����X�v�7��B��Ag�*�����w0�䉋�!���ׅ{���$^7�
-F�
FWٵ���x���ٳ��{ty at w���
���no7��he���
-�~��2`�i	��A,�w����ݾ�%�[��fe��26���
�endstream
+x��Y[s�6~���[홆�䭛M��&�7�v�fwd�.*�z��+.���62���$c��ӹ|�
�@p�{3���p
�aFc�@`1dP������۷�ϣ����)S�&A�p�b�����(��M-�"x���g|5�
@�86�oM����
�}�C�FB�+$�kL���-W
�s9��0�—ܽ�$����߽�O∇��3O�����T�.{ �8A�ph%�`T�^�'�1l�V���i¥(�Jx+Ϸ�{���/Hܓ�k΅̂Ob�g��?�`
+����Lϥ
|Wo�uh��lC���w�� �&;W&
E��[�-���f�
���7�2!���k��֩��‹�|��w�`��
�]y���F��I<� >w���d��wbdu���a�0\l	�;��<�C���A#���݃m+�NE��0
`ڟ
�^kd��ʡ8jX�Dh[��z4�3yk�Y�p��7y?3w���/�LL��+1��V.����p/��_DA4�HXl_�N4����A�
�9
tP����ĉ�#g���pZ��a����8�s4�$ѨMΗ�����j~#9ځ�,�ͳ�䕛r����Iȝ* DM=���S�#��R�y`*r���?h
GVɹ���`U FcNKj��a���5�𲢖Lơ[�ɧB�e����Mt
{s5̍�n�����X��\���B��Ù؜>��Y�����Ek<��yoz�V��C��Ӻ��8�ӱ�E�Y/9���>,�:��Wr,z��i���vk�Qw��/�Z��*�� ��l���
�H�~�o��ƈ���U�k.��M~�
-6(@i,�!�,	-�Maڅ���+�%g�4���f8��\\���&٢�
+/�}�h�akx�Ň|�&��r�_�X�.��@{�l
�ͼ0��\?H3�-���;�a�h�$�C�ڨ�a��z��˰s�i����^0�H3� �2gy�?���v9��	w<��`?v�J���8��ܦ|��ֿ�����9/��wS����Vt���w�Dq��RZ�L��2�H8���sZf8��c꨾�,Q��Š ����v����Dy�1�������ь���'Ha頲�J1
��)Qϑ18!ʚ�BT;-��,�~ˏ��+��hy���e����|>7�ԘEA"� ;M��tEw��#d^
+�b�@7�e�� R�S�G�Q7¿BI)r
+endstream
 endobj
-10805 0 obj <<
+10827 0 obj <<
 /Type /Page
-/Contents 10806 0 R
-/Resources 10804 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10596 0 R
-/Annots [ 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 10820 0 R 10821 0 R 10822 0 R 10823 0 R 10824 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 10833 0 R 10834 0 R 10835 0 R 10836 0 R 10837 0 R 10838 0 R 10839 0 R 10840 0 R 10841 0 R 10842 0 R 10843 0 R 10844 0 R 10845 0 R 10846 0 R 10847 0 R 10848 0 R 10849 0 R 10850 0 R 10851 0 R 10852 0 R 10853 0 R 10854 0 R 10855 0 R 10 [...]
+/Contents 10828 0 R
+/Resources 10826 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10768 0 R
+/Annots [ 10762 0 R 10769 0 R 10770 0 R 10771 0 R 10772 0 R 10773 0 R 10774 0 R 10775 0 R 10776 0 R 10777 0 R 10778 0 R 10779 0 R 10780 0 R 10781 0 R 10782 0 R 10783 0 R 10784 0 R 10785 0 R 10786 0 R 10787 0 R 10788 0 R 10789 0 R 10790 0 R 10791 0 R 10792 0 R 10793 0 R 10794 0 R 10795 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 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 10 [...]
 >> endobj
-10808 0 obj <<
+10762 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 710.0144 145.7908 718.861]
+/Rect [128.854 710.014 145.791 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.320) >>
+/A << /S /GoTo /D (page.321) >>
 >> endobj
-10809 0 obj <<
+10769 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3392 672.8089 192.2757 682.9955]
+/Rect [175.339 672.809 192.276 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.110) >>
 >> endobj
-10810 0 obj <<
+10770 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 650.1189 145.7908 659.0852]
+/Rect [128.854 650.119 145.791 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.249) >>
 >> endobj
-10811 0 obj <<
+10771 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 626.3282 145.7908 635.1748]
+/Rect [128.854 626.328 145.791 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.265) >>
 >> endobj
-10812 0 obj <<
+10772 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 601.0779 208.7738 611.2645]
+/Rect [196.819 601.078 208.774 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-10813 0 obj <<
+10773 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 576.4502 285.097 587.3542]
+/Rect [268.161 576.45 285.097 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.105) >>
 >> endobj
-10814 0 obj <<
+10774 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 564.4951 258.5368 575.399]
+/Rect [241.6 564.495 258.537 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.135) >>
 >> endobj
-10815 0 obj <<
+10775 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 552.5399 260.1905 563.4438]
+/Rect [243.254 552.54 260.191 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.246) >>
 >> endobj
-10816 0 obj <<
+10776 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 530.6868 145.7908 539.5335]
+/Rect [128.854 530.687 145.791 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.316) >>
+/A << /S /GoTo /D (page.317) >>
 >> endobj
-10817 0 obj <<
+10777 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 505.4365 221.6059 515.6232]
+/Rect [204.669 505.437 221.606 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.344) >>
+/A << /S /GoTo /D (page.346) >>
 >> endobj
-10818 0 obj <<
+10778 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 481.5262 187.0456 491.7128]
+/Rect [170.109 481.526 187.046 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.370) >>
+/A << /S /GoTo /D (page.372) >>
 >> endobj
-10819 0 obj <<
+10779 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 468.8537 287.8667 479.7577]
+/Rect [270.93 468.854 287.867 479.758]
 /Subtype /Link
-/A << /S /GoTo /D (page.409) >>
+/A << /S /GoTo /D (page.411) >>
 >> endobj
-10820 0 obj <<
+10780 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.1319 444.9434 290.0684 455.8473]
+/Rect [273.132 444.943 290.068 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.164) >>
 >> endobj
-10821 0 obj <<
+10781 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 409.0779 180.1116 419.9818]
+/Rect [163.175 409.078 180.112 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.171) >>
 >> endobj
-10822 0 obj <<
+10782 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 385.1675 260.1905 396.0715]
+/Rect [243.254 385.168 260.191 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.243) >>
 >> endobj
-10823 0 obj <<
+10783 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 361.2572 280.1157 372.1611]
+/Rect [268.161 361.257 280.116 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.91) >>
 >> endobj
-10824 0 obj <<
+10784 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 349.302 258.5368 360.206]
+/Rect [241.6 349.302 258.537 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.122) >>
 >> endobj
-10825 0 obj <<
+10785 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 337.3469 260.1905 348.2508]
+/Rect [243.254 337.347 260.191 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-10826 0 obj <<
+10786 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 315.4938 145.7908 324.3405]
+/Rect [128.854 315.494 145.791 324.34]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-10827 0 obj <<
+10787 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 290.2435 221.6059 300.4301]
+/Rect [204.669 290.243 221.606 300.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.333) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-10828 0 obj <<
+10788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 266.3331 187.0456 276.5198]
+/Rect [170.109 266.333 187.046 276.52]
 /Subtype /Link
-/A << /S /GoTo /D (page.357) >>
+/A << /S /GoTo /D (page.359) >>
 >> endobj
-10829 0 obj <<
+10789 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 253.6607 287.8667 264.5646]
+/Rect [270.93 253.661 287.867 264.565]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.393) >>
 >> endobj
-10830 0 obj <<
+10790 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.5064 229.7504 283.4429 240.6543]
+/Rect [266.506 229.75 283.443 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-10831 0 obj <<
+10791 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 195.9421 145.7908 204.7888]
+/Rect [128.854 195.942 145.791 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-10832 0 obj <<
+10792 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 169.9745 280.1157 180.8785]
+/Rect [268.161 169.975 280.116 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.90) >>
 >> endobj
-10833 0 obj <<
+10793 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 158.0194 258.5368 168.9233]
+/Rect [241.6 158.019 258.537 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.124) >>
 >> endobj
-10834 0 obj <<
+10794 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 146.0642 260.1905 156.9681]
+/Rect [243.254 146.064 260.191 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.229) >>
 >> endobj
-10835 0 obj <<
+10795 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 124.2111 145.7908 133.0578]
+/Rect [128.854 124.211 145.791 133.058]
 /Subtype /Link
-/A << /S /GoTo /D (page.303) >>
+/A << /S /GoTo /D (page.304) >>
 >> endobj
-10836 0 obj <<
+10796 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 98.9608 221.6059 109.1474]
+/Rect [204.669 98.961 221.606 109.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.337) >>
 >> endobj
-10837 0 obj <<
+10797 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 708.6744 403.5269 718.861]
+/Rect [386.59 708.674 403.527 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.360) >>
+/A << /S /GoTo /D (page.362) >>
 >> endobj
-10838 0 obj <<
+10798 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 696.0019 504.348 706.9059]
+/Rect [487.411 696.002 504.348 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.393) >>
+/A << /S /GoTo /D (page.395) >>
 >> endobj
-10839 0 obj <<
+10799 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 662.1937 362.2721 671.0403]
+/Rect [345.336 662.194 362.272 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-10840 0 obj <<
+10800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 626.3282 362.2721 635.1748]
+/Rect [345.336 626.328 362.272 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-10841 0 obj <<
+10801 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 591.1152 425.2551 601.3019]
+/Rect [413.3 591.115 425.255 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-10842 0 obj <<
+10802 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 566.4876 496.597 577.3915]
+/Rect [484.642 566.488 496.597 577.392]
 /Subtype /Link
 /A << /S /GoTo /D (page.98) >>
 >> endobj
-10843 0 obj <<
+10803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 554.5324 475.0182 565.4364]
+/Rect [458.082 554.532 475.018 565.436]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-10844 0 obj <<
+10804 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 542.5773 476.6719 553.4812]
+/Rect [459.735 542.577 476.672 553.481]
 /Subtype /Link
 /A << /S /GoTo /D (page.239) >>
 >> endobj
-10845 0 obj <<
+10805 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 520.7242 362.2721 529.5709]
+/Rect [345.336 520.724 362.272 529.571]
 /Subtype /Link
-/A << /S /GoTo /D (page.310) >>
+/A << /S /GoTo /D (page.311) >>
 >> endobj
-10846 0 obj <<
+10806 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 495.4739 438.0873 505.6605]
+/Rect [421.151 495.474 438.087 505.661]
 /Subtype /Link
-/A << /S /GoTo /D (page.340) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-10847 0 obj <<
+10807 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 471.5635 403.5269 481.7502]
+/Rect [386.59 471.564 403.527 481.75]
 /Subtype /Link
-/A << /S /GoTo /D (page.366) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-10848 0 obj <<
+10808 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 447.6532 425.2551 457.8398]
+/Rect [413.3 447.653 425.255 457.84]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-10849 0 obj <<
+10809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.2084 423.0256 489.1448 433.9295]
+/Rect [472.208 423.026 489.145 433.93]
 /Subtype /Link
-/A << /S /GoTo /D (page.268) >>
+/A << /S /GoTo /D (page.269) >>
 >> endobj
-10850 0 obj <<
+10810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 399.1152 498.2408 410.0192]
+/Rect [481.304 399.115 498.241 410.019]
 /Subtype /Link
 /A << /S /GoTo /D (page.198) >>
 >> endobj
-10851 0 obj <<
+10811 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 377.2622 362.2721 386.1088]
+/Rect [345.336 377.262 362.272 386.109]
 /Subtype /Link
 /A << /S /GoTo /D (page.256) >>
 >> endobj
-10852 0 obj <<
+10812 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 342.0492 425.2551 352.2359]
+/Rect [413.3 342.049 425.255 352.236]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-10853 0 obj <<
+10813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.208 317.422 489.145 328.326]
+/Subtype /Link
+/A << /S /GoTo /D (page.268) >>
+>> endobj
+10814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 318.1389 425.2551 328.3255]
+/Rect [413.3 294.229 425.255 304.415]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-10854 0 obj <<
+10815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.9877 293.5113 499.9242 304.4152]
+/Rect [482.988 269.601 499.924 280.505]
 /Subtype /Link
 /A << /S /GoTo /D (page.178) >>
 >> endobj
-10855 0 obj <<
+10816 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 269.6009 501.5784 280.5049]
+/Rect [484.642 245.691 501.578 256.595]
 /Subtype /Link
 /A << /S /GoTo /D (page.108) >>
 >> endobj
-10856 0 obj <<
+10817 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 257.6458 475.0182 268.5497]
+/Rect [458.082 233.735 475.018 244.639]
 /Subtype /Link
 /A << /S /GoTo /D (page.139) >>
 >> endobj
-10857 0 obj <<
+10818 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 245.6906 511.5056 256.5945]
+/Rect [494.569 221.78 511.506 232.684]
 /Subtype /Link
 /A << /S /GoTo /D (page.200) >>
 >> endobj
-10858 0 obj <<
+10819 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 235.7927 362.2721 244.6393]
+/Rect [345.336 211.882 362.272 220.729]
 /Subtype /Link
 /A << /S /GoTo /D (page.201) >>
 >> endobj
-10859 0 obj <<
+10820 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 211.7628 362.2721 220.729]
+/Rect [345.336 187.972 362.272 196.819]
 /Subtype /Link
-/A << /S /GoTo /D (page.319) >>
+/A << /S /GoTo /D (page.320) >>
 >> endobj
-10860 0 obj <<
+10821 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 176.0169 362.2721 184.8635]
+/Rect [345.336 152.107 362.272 160.953]
 /Subtype /Link
-/A << /S /GoTo /D (page.284) >>
+/A << /S /GoTo /D (page.285) >>
 >> endobj
-10861 0 obj <<
+10822 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 140.1514 362.2721 148.998]
+/Rect [345.336 116.241 362.272 125.088]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-10862 0 obj <<
+10823 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.1087 126.1389 513.0452 137.0428]
+/Rect [496.109 102.229 513.045 113.133]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-10863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 102.2286 501.5784 113.1325]
-/Subtype /Link
-/A << /S /GoTo /D (page.106) >>
->> endobj
-10864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 90.2734 475.0182 101.1773]
-/Subtype /Link
-/A << /S /GoTo /D (page.136) >>
->> endobj
-10865 0 obj <<
+10825 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10807 0 obj <<
-/D [10805 0 R /XYZ 90 757.9346 null]
+10829 0 obj <<
+/D [10827 0 R /XYZ 90 757.935 null]
 >> endobj
-10804 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+10826 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10868 0 obj <<
-/Length 3321      
+10896 0 obj <<
+/Length 1192      
 /Filter /FlateDecode
 >>
 stream
-x��\Yo
7~ׯ����
���[����8�H��Xj˃�f��(���o���f7��%�Y0��XU��X�Y`�G/�P�0.�'xq�8!��K�~>??y�o)I���m+A$(����_N�����?��v�͂c��� �~����<?��{�Ibe�q��oxq	F|s�3Z,��
F���>ᔹ7ۓO~�r�/�ss��LB�`�k*�BQ�����WgD����ի������^�ܼ9��?���as��tF�sD�ٯW=�u`��/��}�\k�*2@`�O
�0�Q�-� B0-����q}�߭��߭o��!B
�˅4`��<|�g
�J�v2�C�Ge�k���A��
���J]&���Yo��W�v��^�(6B�V����\�:���1�3,��B-��C�����?��Dr@1��L
���C�TJ��6����fw�m��,���?���9 .vD.�_HAc��T=~��K$��P�� -�M
�:�C��z
-�ALZCa��~�L�P�i�r�e8`ƿ"�mj Qj�0m��Ԁ�9TA-$I┷���_��`��us�?�_mv�7��mƛr\~�����SX���]�i�ȇ����C_0 �
�Z
a+
�F��_^�s8a �
]�f_|�j�����5��.((�"
^���p���Er��Md�HH%'L�Ρ
-j��4Hr�=����v�f۬nl�z��}��+�@�u��H1X�
�x����i��I˫��1���y�c��V������#,T.�%��4r4:Xi��
HӘU
4rů�í�ۛ�E���\7���~�а����2�J[9I��Z�,^\��
�,�Hn�!�
�!
�Q�Q�>�qŐ1��?�|��L{@�0RbJ�A�_��ڃ�ܖ�b�-��D�A�*�
X��N�5y9�]S8 �5���uMc�]S^�@��k�Mg��#R8 �<��7�
HF��ZO��(���s��9q�A��������J��؀d�W;P�)�R��vN�:'f0b����)
��<��9�
HvN��B�4bB?M����M>�6�&rB�]�H{�i�ꄲ�I���:uoo�V�x�V�k��+b?�[5��sU�����>C�D��IE+e�"0b�{ʘCtZ�dbj��uq��U�5���o��2��úbU&S�؀dj(�u��	�'�*��ڮ2
��*G�ҙ�
�/�
Hv�y��d�jU��<'��3>��Q��i��2$
��5+��؀���z_�i��S��Y�k������f}md@�ײj��1���2�jv�a���|d�֖Г�]��\��������#���!��
�ì�&�
R���j�ʥC��F(2J�G��^Lm
ȴ�#�H|h�ñ���6�f�θ�M��T���K�#�ݬ��J)ĥ0�Y;TA��
� L}���Զ�>�5��Q��M�H{�g���Jx�vQ���:xA�Tj7_�2?_���@�AX*��{��Z��$g��H29�
H&�Zϐ���'��`�V8��#d�<��# �=���=���H���PR=�
^T>��M�Ʊ
#�Da�=��s�
N�~��d�^���	�-�jٓ*�#2Ҟ���������� �9��vDz�2
0�%2�����7
�=���� �@%�SY�
i���ޙ&���H�`ݔ��Gcґ8�� �����
���0H�by�s2:�,�� [èݓ�:���V���g>&^{[��
צb��!UTB	
�LS����Q�5շ��:
�V�
b
-�8�2
0�J$7QkseW�0aţ
-j=+�հ����J`��ޚ���ER�'W�Q�F��[�΁��{k�ړq	��E�u4�/�
��v�gT=0	�^	����Q%�����hOU{rJ�*o�9x�vX$5Qxr��j-{%́J:��f�%��e�v���Hn����$�p
ϣ
-j���kx�,=�c���w�
-����~f&S����
<
-�'ڧ�9P^g$k�e0XFh�t
��y,����[�\�����B�R?���햮�v�hq�e8`��Hn���l���
�������Xڬ+
	��Ne�x��c��R{H<�;�A�ɫ���L�Tv�qX�o.��fw����|}#��+Yu��T8
֕8,Y�
H�8y��R!���ݫf�
��6K_�-K�� �>�̧�ނ3`J���
��o�bN��^P�g)�o��o��[o����Uq�+ <�#�����
H�W�����<�8�o5����[B�̚S
1|&`8T/�s(	Fړ�"�s�PAՈ��
�!�Zs��z�z����\�mg���=v8 �c{X�c�d�=6 �c���q
5��):��n%����.�
-��ކ�z
-�9
-
�H�Ȁ4�Y���#�%������#���PD�go����QE�B�i�r:�0�,����矝BNϟ�^}�z��{��3�O?{�q�W/W_��s����!닙�C{'�F�5b���/�3�Er�M3=�G�P��G}H�*h�2U��w�F���wOG����I
�Hs�i#�iҲZ�D��u�n��i>�2{�U�`=:�^;L�\)M&�@o2�洍崿�T��I!M�4
8�x,����k�%�&7M�i��j$x�˞+x����-��k��5�ޗa�$+��f�}�����Z�D��
��}
j
��P��7,-����\-�Tj��_j9
�
-
�cP&
iO�����Z�.�|�Lͮy�S4�8�FV����CuGh<y�6Ҟ<A���;r����;r�t9Vz�V"��/�s�L�v{S*��!&��qӣ
-j�"-�'�n}���w���:���z��o��=b�st�/�$�7��q��
A�pb��d��/
~����m]�̜�J�-zj@�k�*�����v����w��_>��Z���fB1�^���z��n���
�\�y�~����>�ubj+� ���B�(��jk�=Yoeu�H�IOw	3PsY�$��,�a��N�ɱ�<YP��
-��t���?�
���]�J��НȎ��Nw�:m�І|�
�
V�Ԝ՟s�̮m��lIr�6T=u@�vlAZ��
�����?x��Y.[
��%>���?���v�AB�C=ל-����ߺ�Խ�U�����3!No��߮ww�m��W,�;8��w݇`*�/:��M_���Dy�Z��o_�W�	o�����o��`���6�
�7�>{v�.n��nss@�㳛��ر�\��]���@�-#晖H�G���:�����Ilv������,�͙�?�\rOendstream
+x��Zmo�H��_���ҙ�
�@��M�M/I�ĕ"%�jk������[
Nm� !��N�lX��gfg��e� ���0�
�E�biET�
(�AP:ʍzzq|r��>����� ���
�l�s2���@9
+8�����b����@q��gh�2��|����_O��|�e$,!�@
#�k��\�
��c��A�=N�sv���<~<<�p̮&<΁��q��Qnz� ZL�E˯
��E*�v-�_�|?v�
�#�h��;��0��K���tua
�U���Y����b�r�{d��_�u)��-
6�Cy��.[��n���B7H�n�4���3�i� ���0�!K�h�,�*Kd�
Rg[�
?�����T$�5&5���D�?��r�.����k9$�&��i��Uo_�
�6�	I����O�;O�(s�疩���t�9�\ůed�M�-�$pu�- 8
cƓ�
�6�;�i��
��Ò�ۂ9�/��
������
b��������ӷ'�Q4evΒ�s��v#�ځ� �sl;{ᥧ�B�8�@Pa��U���8�k
��{�/�e�(

+s}>��
�j7[�ԿQw�����_�"B:�W���kFB5m�u�f��s5�@W#��+Q�H(5��ʂ5U
��h��^�	�֪Y(�E��hu+h
�U��\��K�2K�
+�K�2s]���YB�*kX�4�t��r at U+]P�4�c4����uD��g�}mǮR�E�4v�
�a&�>��fn�wVb�e-��)��	z�
��
���ϼ�.|h�50�䲩l�R�g�r�a���FE4����:�����]�Fў�B��'G]�:<�d_.��׬���Ձzt���}���wy����]�ֆ3�tt���k
�
��=+�o�oR_���R2�G!����"��*F����t	_����T	/?��dX��_+׾z��F�aUp�	OX2
f$y/kB6<�٣�!���K�
x������D&;���h�i0��4X�i0�v���ԜGk�����T�
lo��%���MNDw.�I��t�w~Z(��|KD�G�5���y �����(�0���G6���P���
�+!
+�s�~(�����%�%�`
�p��I�F���L�m�Q���Ay+6,���h��(�st~6p9��T�V���ڏ%
+endstream
 endobj
-10867 0 obj <<
+10895 0 obj <<
 /Type /Page
-/Contents 10868 0 R
-/Resources 10866 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10934 0 R
-/Annots [ 10870 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 10913 0 R 10914 0 R 10915 0 R 10916 0 R 10917 0 R 10 [...]
+/Contents 10896 0 R
+/Resources 10894 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10768 0 R
+/Annots [ 10824 0 R 10830 0 R 10831 0 R 10832 0 R 10833 0 R 10834 0 R 10835 0 R 10836 0 R 10837 0 R 10838 0 R 10839 0 R 10840 0 R 10841 0 R 10842 0 R 10843 0 R 10844 0 R 10845 0 R 10846 0 R 10847 0 R 10848 0 R 10849 0 R 10850 0 R 10851 0 R 10852 0 R 10853 0 R 10854 0 R 10855 0 R 10856 0 R 10857 0 R 10858 0 R 10859 0 R 10860 0 R 10861 0 R 10862 0 R 10863 0 R 10864 0 R 10865 0 R 10866 0 R 10867 0 R 10868 0 R 10869 0 R 10870 0 R 10871 0 R 10872 0 R 10873 0 R 10874 0 R 10875 0 R 10876 0 R 10 [...]
 >> endobj
-10870 0 obj <<
+10824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 719.912 285.097 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.106) >>
+>> endobj
+10830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 707.957 258.537 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.136) >>
+>> endobj
+10831 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 719.9123 260.1905 730.8162]
+/Rect [243.254 696.002 260.191 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.247) >>
 >> endobj
-10871 0 obj <<
+10832 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 698.0592 145.7908 706.9059]
+/Rect [128.854 674.149 145.791 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.317) >>
+/A << /S /GoTo /D (page.318) >>
 >> endobj
-10872 0 obj <<
+10833 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 672.8089 221.6059 682.9955]
+/Rect [204.669 648.899 221.606 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.346) >>
+/A << /S /GoTo /D (page.347) >>
 >> endobj
-10873 0 obj <<
+10834 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 648.8985 187.0456 659.0852]
+/Rect [170.109 624.988 187.046 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.371) >>
+/A << /S /GoTo /D (page.373) >>
 >> endobj
-10874 0 obj <<
+10835 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 636.2261 287.8667 647.13]
+/Rect [270.93 612.316 287.867 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.410) >>
+/A << /S /GoTo /D (page.412) >>
 >> endobj
-10875 0 obj <<
+10836 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 602.4179 145.7908 611.2645]
+/Rect [128.854 578.508 145.791 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-10876 0 obj <<
+10837 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.6274 588.4054 296.5639 599.3093]
+/Rect [279.627 564.495 296.564 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-10877 0 obj <<
+10838 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 544.6345 145.7908 553.4812]
+/Rect [128.854 520.724 145.791 529.571]
 /Subtype /Link
-/A << /S /GoTo /D (page.284) >>
+/A << /S /GoTo /D (page.285) >>
 >> endobj
-10878 0 obj <<
+10839 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 508.769 145.7908 517.6157]
+/Rect [128.854 484.859 145.791 493.705]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-10879 0 obj <<
+10840 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 482.8014 285.097 493.7054]
+/Rect [268.161 458.891 285.097 469.795]
 /Subtype /Link
 /A << /S /GoTo /D (page.106) >>
 >> endobj
-10880 0 obj <<
+10841 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 470.8462 258.5368 481.7502]
+/Rect [241.6 446.936 258.537 457.84]
 /Subtype /Link
 /A << /S /GoTo /D (page.136) >>
 >> endobj
-10881 0 obj <<
+10842 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 458.8911 260.1905 469.795]
+/Rect [243.254 434.981 260.191 445.885]
 /Subtype /Link
 /A << /S /GoTo /D (page.247) >>
 >> endobj
-10882 0 obj <<
+10843 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 437.038 145.7908 445.8847]
+/Rect [128.854 413.128 145.791 421.974]
 /Subtype /Link
-/A << /S /GoTo /D (page.317) >>
+/A << /S /GoTo /D (page.318) >>
 >> endobj
-10883 0 obj <<
+10844 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 411.7877 221.6059 421.9743]
+/Rect [204.669 387.877 221.606 398.064]
 /Subtype /Link
-/A << /S /GoTo /D (page.346) >>
+/A << /S /GoTo /D (page.348) >>
 >> endobj
-10884 0 obj <<
+10845 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 387.8774 187.0456 398.064]
+/Rect [170.109 363.967 187.046 374.154]
 /Subtype /Link
-/A << /S /GoTo /D (page.371) >>
+/A << /S /GoTo /D (page.373) >>
 >> endobj
-10885 0 obj <<
+10846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 375.2049 287.8667 386.1088]
+/Rect [270.93 351.295 287.867 362.199]
 /Subtype /Link
-/A << /S /GoTo /D (page.411) >>
+/A << /S /GoTo /D (page.412) >>
 >> endobj
-10886 0 obj <<
+10847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.4537 351.2946 231.4089 362.1985]
+/Rect [219.454 327.384 231.409 338.288]
 /Subtype /Link
-/A << /S /GoTo /D (page.74) >>
+/A << /S /GoTo /D (page.75) >>
 >> endobj
-10887 0 obj <<
+10848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 307.5237 145.7908 316.3704]
+/Rect [128.854 283.613 145.791 292.46]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-10888 0 obj <<
+10849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.6274 293.5113 296.5639 304.4152]
+/Rect [279.627 269.601 296.564 280.505]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-10889 0 obj <<
+10850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 259.703 145.7908 268.5497]
+/Rect [128.854 235.793 145.791 244.639]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-10890 0 obj <<
+10851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.6274 245.6906 296.5639 256.5945]
+/Rect [279.627 221.78 296.564 232.684]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-10891 0 obj <<
+10852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 221.7802 280.1157 232.6842]
+/Rect [268.161 197.87 280.116 208.774]
 /Subtype /Link
 /A << /S /GoTo /D (page.99) >>
 >> endobj
-10892 0 obj <<
+10853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 209.8251 258.5368 220.729]
+/Rect [241.6 185.915 258.537 196.819]
 /Subtype /Link
 /A << /S /GoTo /D (page.130) >>
 >> endobj
-10893 0 obj <<
+10854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.5256 209.8251 278.4621 220.729]
+/Rect [261.526 185.915 278.462 196.819]
 /Subtype /Link
 /A << /S /GoTo /D (page.131) >>
 >> endobj
-10894 0 obj <<
+10855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 197.8699 260.1905 208.7738]
+/Rect [243.254 173.96 260.191 184.864]
 /Subtype /Link
 /A << /S /GoTo /D (page.240) >>
 >> endobj
-10895 0 obj <<
+10856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.1793 197.8699 280.1158 208.7738]
+/Rect [263.179 173.96 280.116 184.864]
 /Subtype /Link
 /A << /S /GoTo /D (page.241) >>
 >> endobj
-10896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 176.0169 145.7908 184.8635]
-/Subtype /Link
-/A << /S /GoTo /D (page.311) >>
->> endobj
-10897 0 obj <<
+10857 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 150.7665 221.6059 160.9532]
+/Rect [128.854 152.107 145.791 160.953]
 /Subtype /Link
-/A << /S /GoTo /D (page.341) >>
+/A << /S /GoTo /D (page.312) >>
 >> endobj
-10898 0 obj <<
+10858 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.5947 150.7665 241.5312 160.9532]
+/Rect [204.669 126.856 221.606 137.043]
 /Subtype /Link
 /A << /S /GoTo /D (page.342) >>
 >> endobj
-10899 0 obj <<
+10859 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 126.8562 187.0456 137.0428]
+/Rect [224.595 126.856 241.531 137.043]
 /Subtype /Link
-/A << /S /GoTo /D (page.367) >>
+/A << /S /GoTo /D (page.343) >>
 >> endobj
-10900 0 obj <<
+10860 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.0878 114.1837 295.0243 125.0877]
+/Rect [170.109 102.946 187.046 113.133]
 /Subtype /Link
-/A << /S /GoTo /D (page.404) >>
+/A << /S /GoTo /D (page.368) >>
 >> endobj
-10901 0 obj <<
+10861 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 104.2859 145.7908 113.1325]
+/Rect [190.034 102.946 206.971 113.133]
 /Subtype /Link
-/A << /S /GoTo /D (page.405) >>
+/A << /S /GoTo /D (page.369) >>
 >> endobj
-10902 0 obj <<
+10862 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 719.9123 501.5784 730.8162]
+/Rect [494.569 719.912 511.506 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (page.100) >>
+/A << /S /GoTo /D (page.405) >>
 >> endobj
-10903 0 obj <<
+10863 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 707.9571 475.0182 718.861]
+/Rect [345.336 710.014 362.272 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.131) >>
+/A << /S /GoTo /D (page.406) >>
 >> endobj
-10904 0 obj <<
+10864 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 696.0019 476.6719 706.9059]
+/Rect [484.642 684.047 501.578 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.241) >>
+/A << /S /GoTo /D (page.100) >>
 >> endobj
-10905 0 obj <<
+10865 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 674.1489 362.2721 682.9955]
+/Rect [458.082 672.092 475.018 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.312) >>
+/A << /S /GoTo /D (page.131) >>
 >> endobj
-10906 0 obj <<
+10866 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 648.8985 438.0873 659.0852]
+/Rect [459.735 660.136 476.672 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.341) >>
+/A << /S /GoTo /D (page.241) >>
 >> endobj
-10907 0 obj <<
+10867 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.0761 648.8985 458.0125 659.0852]
+/Rect [345.336 638.283 362.272 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.342) >>
+/A << /S /GoTo /D (page.313) >>
 >> endobj
-10908 0 obj <<
+10868 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 624.9882 403.5269 635.1748]
+/Rect [421.151 613.033 438.087 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.367) >>
+/A << /S /GoTo /D (page.343) >>
 >> endobj
-10909 0 obj <<
+10869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.5157 624.9882 423.4522 635.1748]
+/Rect [441.076 613.033 458.013 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.368) >>
+/A << /S /GoTo /D (page.344) >>
 >> endobj
-10910 0 obj <<
+10870 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 612.3157 511.5056 623.2197]
+/Rect [386.59 589.123 403.527 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.404) >>
+/A << /S /GoTo /D (page.369) >>
 >> endobj
-10911 0 obj <<
+10871 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 602.4179 362.2721 611.2645]
+/Rect [487.411 576.45 504.348 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.405) >>
+/A << /S /GoTo /D (page.406) >>
 >> endobj
-10912 0 obj <<
+10872 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 576.4502 476.6719 587.3542]
+/Rect [459.735 552.54 476.672 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.243) >>
 >> endobj
-10913 0 obj <<
+10873 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 541.302 403.5269 551.4887]
+/Rect [386.59 517.392 403.527 527.578]
 /Subtype /Link
-/A << /S /GoTo /D (page.360) >>
+/A << /S /GoTo /D (page.361) >>
 >> endobj
-10914 0 obj <<
+10874 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 505.4365 403.5269 515.6232]
+/Rect [386.59 481.526 403.527 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.360) >>
+/A << /S /GoTo /D (page.362) >>
 >> endobj
-10915 0 obj <<
+10875 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 480.8089 476.6719 491.7128]
+/Rect [459.735 456.899 476.672 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.230) >>
 >> endobj
-10916 0 obj <<
+10876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 456.8986 475.0182 467.8025]
+/Rect [458.082 432.988 475.018 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.137) >>
 >> endobj
-10917 0 obj <<
+10877 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 432.9882 475.0182 443.8922]
+/Rect [458.082 409.078 475.018 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.137) >>
 >> endobj
-10918 0 obj <<
+10878 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 409.0779 475.0182 419.9818]
+/Rect [458.082 385.168 475.018 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.137) >>
 >> endobj
-10919 0 obj <<
+10879 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 385.8848 425.2551 396.0715]
+/Rect [413.3 361.975 425.255 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-10920 0 obj <<
+10880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 361.9745 425.2551 372.1611]
+/Rect [413.3 338.064 425.255 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-10921 0 obj <<
+10881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 337.3469 476.6719 348.2508]
+/Rect [459.735 313.437 476.672 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.222) >>
 >> endobj
-10922 0 obj <<
+10882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.6607 337.3469 496.5971 348.2508]
+/Rect [479.661 313.437 496.597 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.226) >>
 >> endobj
-10923 0 obj <<
+10883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 303.5387 362.2721 312.3853]
+/Rect [345.336 279.628 362.272 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-10924 0 obj <<
+10884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 267.6732 362.2721 276.5198]
+/Rect [345.336 243.763 362.272 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.256) >>
 >> endobj
-10925 0 obj <<
+10885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 231.7429 501.5784 242.6468]
+/Rect [484.642 207.833 501.578 218.737]
 /Subtype /Link
 /A << /S /GoTo /D (page.104) >>
 >> endobj
-10926 0 obj <<
+10886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 219.7877 504.348 230.6917]
+/Rect [487.411 195.877 504.348 206.781]
 /Subtype /Link
-/A << /S /GoTo /D (page.407) >>
+/A << /S /GoTo /D (page.409) >>
 >> endobj
-10927 0 obj <<
+10887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.7186 195.8774 507.6551 206.7813]
+/Rect [490.719 171.967 507.655 182.871]
 /Subtype /Link
 /A << /S /GoTo /D (page.190) >>
 >> endobj
-10928 0 obj <<
+10888 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 171.967 501.5784 182.871]
+/Rect [484.642 148.057 501.578 158.961]
 /Subtype /Link
 /A << /S /GoTo /D (page.107) >>
 >> endobj
-10929 0 obj <<
+10889 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 160.0119 476.6719 170.9158]
+/Rect [459.735 136.102 476.672 147.005]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-10930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 138.1588 362.2721 147.0055]
-/Subtype /Link
-/A << /S /GoTo /D (page.318) >>
->> endobj
-10931 0 obj <<
+10890 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 112.9085 438.0873 123.0951]
+/Rect [345.336 114.129 362.272 123.095]
 /Subtype /Link
-/A << /S /GoTo /D (page.346) >>
+/A << /S /GoTo /D (page.319) >>
 >> endobj
-10932 0 obj <<
+10891 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 88.9982 403.5269 99.1848]
+/Rect [421.151 88.998 438.087 99.185]
 /Subtype /Link
-/A << /S /GoTo /D (page.361) >>
+/A << /S /GoTo /D (page.348) >>
 >> endobj
-10933 0 obj <<
+10893 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10869 0 obj <<
-/D [10867 0 R /XYZ 90 757.9346 null]
+10897 0 obj <<
+/D [10895 0 R /XYZ 90 757.935 null]
 >> endobj
-10866 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+10894 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-10937 0 obj <<
-/Length 3165      
+10958 0 obj <<
+/Length 1195      
 /Filter /FlateDecode
 >>
 stream
-x��\Y��6~�_�����`�G�bǛc�ı'[�
�b4�X
����A� H 爷\�������
��,0�#
�J(d����
/����H���_����gO�)�� #�\\�k$H�%tqy���7�}���ů��.8�
	�������K'�U.�$V�g?��W`ķg1������C�3NY�f{���'��E�`�a!�w�k*�BQ�����WD�ծX�:l?�/��b�b�[UT?�����l|]T�&y/�1�~U]��מ����V�rbI@,�i���xq��Z{�0A�+�(��on�����%Ä y֞�/׿_|^^�����VV{���
��L�
{��L��@���
�9R���#�
*�ؓR �iKޱ����a]ݖ�u�ZN�8�x��X���W�Q�/$'�)�r�v���`��@në
-��(�cƼv���.d%�WN����U��Z}U�˪�Ճ($
-q	/fS�-HQ���T�8��&�Z��ALt�Y�ձ\כ�~U
���}��$�O�\�y_ܔaj�`��z!
C��3���/=�Db
K��eˋC��؁�*��	
��f)��B>8��R�b2�t���`��@n���
��cR:TFm�
-�ɱ���pD���hi�K�-c�M�1
�^`�؀���Q��<J-f���uq}��H ��Lp��|�.�/H�fMe�Dwɡ�]2��1�RjN�i��7�v�1��_�W�k�7^UxQ��9�h���\����
>�h#�
�,�>���f�z�d
&��'^h���
-�����kˑ���["�n���&f|��/���m�"0 *X�
0���S�Qȵ �x�&�I���
M��J�i�	m�j�V�!c
��
-�b��m�����=+�|��%�������_�(

,S;
�G������FX��n�������Ol��q�=r�=�E&u��0�c�6}Q	巾C����W˦����V�($p�({���I�������[�L_��+�֦/L��M_���渮����*
��`���#�_�Ikb��hL
�eZ-�ƔFLh���ظ[�����9dR"�]zv��$r��59
Gs�P4ǧ��xd�#Εz`�������q`
�"�!
�v�i�=+��ëGZ'gv�y
R��ۗ����HK��ia	��#v��h$4���/Ht�v�Y�C
�3j
CX"I���A��#����"�
M����Dm�DŴZ�$�)"�Ck-z�Z�*��$bv��/H�Z�P(T����2j
�B#��#=/r���Z��D�5������Z+���*�ʆ��b��?>���w
�p�2���Y�Z���O17���aO�AXQ2�
�ւ�:-m�"ñ�h�ؠ���WlK����=�.��XW��D�{7��J	FF�,�
~�/����rOO��c0HD�˱�-*��'1@<�sJ���7ibh/,�M�_�
���m�1��D��ܴ��ڞ��)�<�
>5��D	�Lf���D��`M!&d��-3�j!
-�d�{�A�ٯ!t6�������_DD�ѳ�� ��
,�†DsXZm�_�@
���$&'mnb�$���TbMLi�ַ�B�Ϲ~���#[#}܁
-�b��!B���`��
-
�Ё�M�
A��ú�]��X3���.��g��r�AC͌�~Z��SB3n�Z�1b
-n:!8ק9��_0am 7r{���VB�
ԡrj�=㚰�4���y�n���4��.\B��~^�&�_� ��r�
��Q��}	�ct�W�jߐ�)؄�Ɣ�����
,����8�i��M�Ĝ�$r����	YNv�����`Y>��L��������;o��MY�֮�y�ډ���C,�2���f�_�
�k
-�Fj'a���DC��
*����ɻ����Xԛ�����}i|��+{�vq��!Ŕ�����K:XS��K
��dF���t{T<��m}�
�7�b�wz#��b�7z
R�����80 �I���X!
σ*y�t��ᦅ/}�5c��2�
7Z�����@�λ��墴>�tε��Zo���^6�ăKh������}���
~�±���5
-�)#�c
-;PZgO��cٞwէ�{r�<~�J#řn.
�k$
~�/�`/�{���3
I��.آ2j{�i��W���ua��s�DZ�/���	��
1�r����� Z���CeԆҬ��F9s(��(��	���U��F�
��7ʌ�.�F#����
{6�L/&�

~�/��@n�J8E�G���ArjQ9���I_�P�a�����Y�c��Us<�R
d��Uw��Z�
�	�{
�C��b���g�QB��n�Iȍ�
�H��8TFmύ7
�g�.�gN��$=s�m��Q
M$�Q�>�d�v��`�d��=�H��M����Dz
RD��$|��90 NdZ��4�"
�/_���O@?�
-���)�����6�Hp�M�1X�
�@���y ��x��{����nl[��d�k+��C����6%#e�~���>
*�֑7�x��͛���W��a����_�H������۷͉{��.)�a[t��欇�g�.B��&��Ԏpi�
�p��֞8��!���/�{<�����dy
Rd��)���d%��dys��z���ӯ_��Ū�T�U�r�7����{�4�*rEH�_�
�����S�N��l��؀�<�EeԺ�a0L�8U��ن~�L�r�*������
��Q�9�`�����?a��ޗ���Z�
�f~�`��g&B��	z��j���`�Ce���z�
�Ϟ)��{��D��مP�)�Y4��#}`�պ��?2���g�J�]xzh!�{��Y�
O�J�]xZmϊ?1�H��8��+�
R鮃�ҝ�����t�V����"��v��$=�nG3�M���Ѵ7��z�d�W=�Twӌ ��7
��
�~�o�4��#5���'�e�i��)!�S����Œ
-ܓ޾�?�m�?���XV����xz�������_��ZQeu�{}�L��A@ >S��
�`��6:��N����^��Dk,���R��r�5���ϟ<���Z��~sS�M���f�$��s�C��5q{P`ˀy�%R��-�Չ�ݡj��f�PAaC˦L�l���endstream
+x��Y[S�8~ϯ��&3��Œc�
+e)]�)Iw�ҎG8"h�[e�)��+�	��ĎM����0��%�O߹�
	���u8h���p-�a����aȢ��\�O/�
_u��v-H���	ɚ[ǃ��2��|4u,�P���
M�{ -�v�$��? ����GB�
�3����R{
D�\�������*������A/��N���r�(��
B�Kg����P���9��MWpy��{��6adڡ@h&Z6�z at ES
�Ȳ�RY�a#
u
Y2J��qit$Gw���A�-���8�j%�e�D�����V����d�
+� �0�Fj,"_��^�>�",�9���N�
z'"��X5��D�ά��2�<��r�S��[��Q��u���(�0�Y��.��*�e��n��?����%D-�8A�qT(>jɃ�~�q]���7��S�y(
W�Z�g�?���O�*~���ǣ��H��x۶C��x�����WB��q`g
6���o�V��vM�7�*!�nע��J!
ڍ#�vB<��
�E=��;�t��j�.��y �}�<�����Gf���~x ���fG�Vܨ�4n�~��2!n�
�+��̞0e����H+#�&M�
�ڄ״����9}�GS/x��0f��̌g�BI
H�J
�!7{��1ju��P�!P�4���
�Mi�b�q/�%<G�o2�$�њ�8���DMnn:���k�f
�@�������%f|�y�K����X�A<�>j��qxf;�ϵ��d�p�
�A��a=�&��t�׃�A�h�U$�us! ��4�N�����L۬��B!}��,v@�B
ش�"ne��6�~F�!�Qɶ@:��B�	���	5N-X��m�"�{��c�T��Jg��H�z|��A��2�d��
���
��އK��cF�
�o�V墳3���*��m6����Φr�wo.V�-с
M(
z���?C���iv�a�W��ύ�;vc6;\��:<Rt���h�����<:r�k)�l����%��0��{�[��m0�\�t���Ե(�
ԃ;���?�����P�NR�|J���Ci;-��y46�g��R�#�ʤ0F1E#���K�@�|GVg�G�
1]q��o`��gv�N�@cH,�E�+�;������db��5�d�,���$������-�&�59Z�.�Ք��0�(��DF	� ��Tq
+endstream
 endobj
-10936 0 obj <<
+10957 0 obj <<
 /Type /Page
-/Contents 10937 0 R
-/Resources 10935 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10934 0 R
-/Annots [ 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 10950 0 R 10951 0 R 10952 0 R 10953 0 R 10954 0 R 10955 0 R 10956 0 R 10957 0 R 10958 0 R 10959 0 R 10960 0 R 10961 0 R 10962 0 R 10963 0 R 10964 0 R 10965 0 R 10966 0 R 10967 0 R 10968 0 R 10969 0 R 10970 0 R 10971 0 R 10972 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 10 [...]
+/Contents 10958 0 R
+/Resources 10956 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10768 0 R
+/Annots [ 10892 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 10913 0 R 10914 0 R 10915 0 R 10916 0 R 10917 0 R 10918 0 R 10919 0 R 10920 0 R 10921 0 R 10922 0 R 10923 0 R 10924 0 R 10925 0 R 10926 0 R 10927 0 R 10928 0 R 10929 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 10940 0 R 10941 0 R 10942 0 R 10943 0 R 10944 0 R 10 [...]
 >> endobj
-10939 0 obj <<
+10892 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 719.9123 287.8667 730.8162]
+/Rect [170.109 708.674 187.046 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.411) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-10940 0 obj <<
+10898 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 676.1414 145.7908 684.988]
+/Rect [270.93 696.002 287.867 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.413) >>
+>> endobj
+10899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 652.231 145.791 661.078]
 /Subtype /Link
 /A << /S /GoTo /D (page.158) >>
 >> endobj
-10941 0 obj <<
+10900 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 638.2186 180.1116 649.1225]
+/Rect [163.175 614.308 180.112 625.212]
 /Subtype /Link
 /A << /S /GoTo /D (page.171) >>
 >> endobj
-10942 0 obj <<
+10901 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 614.3083 180.1116 625.2122]
+/Rect [163.175 590.398 180.112 601.302]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-10943 0 obj <<
+10902 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 590.3979 280.1157 601.3019]
+/Rect [268.161 566.488 280.116 577.392]
 /Subtype /Link
 /A << /S /GoTo /D (page.97) >>
 >> endobj
-10944 0 obj <<
+10903 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 578.4428 258.5368 589.3467]
+/Rect [241.6 554.532 258.537 565.436]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-10945 0 obj <<
+10904 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 566.4876 260.1905 577.3915]
+/Rect [243.254 542.577 260.191 553.481]
 /Subtype /Link
 /A << /S /GoTo /D (page.238) >>
 >> endobj
-10946 0 obj <<
+10905 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 544.5149 145.7908 553.4812]
+/Rect [128.854 520.724 145.791 529.571]
 /Subtype /Link
-/A << /S /GoTo /D (page.309) >>
+/A << /S /GoTo /D (page.310) >>
 >> endobj
-10947 0 obj <<
+10906 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 519.3842 221.6059 529.5709]
+/Rect [204.669 495.474 221.606 505.661]
 /Subtype /Link
-/A << /S /GoTo /D (page.339) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-10948 0 obj <<
+10907 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 495.4739 187.0456 505.6605]
+/Rect [170.109 471.564 187.046 481.75]
 /Subtype /Link
-/A << /S /GoTo /D (page.365) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-10949 0 obj <<
+10908 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 482.8014 287.8667 493.7054]
+/Rect [270.93 458.891 287.867 469.795]
 /Subtype /Link
-/A << /S /GoTo /D (page.402) >>
+/A << /S /GoTo /D (page.403) >>
 >> endobj
-10950 0 obj <<
+10909 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 458.8911 280.1157 469.795]
+/Rect [268.161 434.981 280.116 445.885]
 /Subtype /Link
 /A << /S /GoTo /D (page.97) >>
 >> endobj
-10951 0 obj <<
+10910 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 446.9359 260.1905 457.8398]
+/Rect [243.254 423.026 260.191 433.93]
 /Subtype /Link
 /A << /S /GoTo /D (page.238) >>
 >> endobj
-10952 0 obj <<
+10911 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 423.7429 187.0456 433.9295]
+/Rect [170.109 399.833 187.046 410.019]
 /Subtype /Link
-/A << /S /GoTo /D (page.365) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-10953 0 obj <<
+10912 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 411.0704 287.8667 421.9743]
+/Rect [270.93 387.16 287.867 398.064]
 /Subtype /Link
-/A << /S /GoTo /D (page.402) >>
+/A << /S /GoTo /D (page.403) >>
 >> endobj
-10954 0 obj <<
+10913 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 387.1601 260.1905 398.064]
+/Rect [243.254 363.25 260.191 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-10955 0 obj <<
+10914 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 363.2497 280.1157 374.1537]
+/Rect [268.161 339.339 280.116 350.243]
 /Subtype /Link
-/A << /S /GoTo /D (page.90) >>
+/A << /S /GoTo /D (page.91) >>
 >> endobj
-10956 0 obj <<
+10915 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 351.2946 258.5368 362.1985]
+/Rect [241.6 327.384 258.537 338.288]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-10957 0 obj <<
+10916 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 339.3394 260.1905 350.2433]
+/Rect [243.254 315.429 260.191 326.333]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-10958 0 obj <<
+10917 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 317.4864 145.7908 326.333]
+/Rect [128.854 293.576 145.791 302.423]
 /Subtype /Link
-/A << /S /GoTo /D (page.303) >>
+/A << /S /GoTo /D (page.304) >>
 >> endobj
-10959 0 obj <<
+10918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 292.236 221.6059 302.4227]
+/Rect [204.669 268.326 221.606 278.512]
 /Subtype /Link
-/A << /S /GoTo /D (page.333) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-10960 0 obj <<
+10919 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 268.3257 187.0456 278.5123]
+/Rect [170.109 244.415 187.046 254.602]
 /Subtype /Link
-/A << /S /GoTo /D (page.357) >>
+/A << /S /GoTo /D (page.359) >>
 >> endobj
-10961 0 obj <<
+10920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 255.6532 287.8667 266.5572]
+/Rect [270.93 231.743 287.867 242.647]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.392) >>
 >> endobj
-10962 0 obj <<
+10921 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.1319 231.7429 290.0684 242.6468]
+/Rect [273.132 207.833 290.068 218.737]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-10963 0 obj <<
+10922 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.5064 207.8326 283.4429 218.7365]
+/Rect [266.506 183.922 283.443 194.826]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-10964 0 obj <<
+10923 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 195.8774 281.7594 206.7813]
+/Rect [264.823 171.967 281.759 182.871]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-10965 0 obj <<
+10924 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 174.0243 145.7908 182.871]
+/Rect [128.854 150.114 145.791 158.961]
 /Subtype /Link
 /A << /S /GoTo /D (page.256) >>
 >> endobj
-10966 0 obj <<
+10925 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.1319 148.0567 290.0684 158.9606]
+/Rect [273.132 124.146 290.068 135.05]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-10967 0 obj <<
+10926 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.5064 136.1015 283.4429 147.0055]
+/Rect [266.506 112.191 283.443 123.095]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-10968 0 obj <<
+10927 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 102.2933 145.7908 111.14]
+/Rect [345.336 710.014 362.272 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-10969 0 obj <<
+10928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 710.0144 362.2721 718.861]
+/Rect [345.336 674.149 362.272 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-10970 0 obj <<
+10929 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 674.1489 362.2721 682.9955]
+/Rect [345.336 638.283 362.272 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-10971 0 obj <<
+10930 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 638.2834 362.2721 647.13]
+/Rect [345.336 602.418 362.272 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-10972 0 obj <<
+10931 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 602.4179 362.2721 611.2645]
+/Rect [345.336 566.552 362.272 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-10973 0 obj <<
+10932 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 576.4502 506.5497 587.3542]
+/Rect [489.613 540.585 506.55 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-10974 0 obj <<
+10933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 542.642 362.2721 551.4887]
+/Rect [345.336 506.777 362.272 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.284) >>
+/A << /S /GoTo /D (page.285) >>
 >> endobj
-10975 0 obj <<
+10934 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 516.6744 506.5497 527.5783]
+/Rect [489.613 480.809 506.55 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-10976 0 obj <<
+10935 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.9877 504.7192 499.9242 515.6232]
+/Rect [482.988 468.854 499.924 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-10977 0 obj <<
+10936 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 480.8089 476.6719 491.7128]
+/Rect [459.735 444.943 476.672 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-10978 0 obj <<
+10937 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7475 456.8986 494.684 467.8025]
+/Rect [477.748 421.033 494.684 431.937]
 /Subtype /Link
-/A << /S /GoTo /D (page.417) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-10979 0 obj <<
+10938 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 423.0256 511.5056 433.9295]
+/Rect [494.569 387.16 511.506 398.064]
 /Subtype /Link
 /A << /S /GoTo /D (page.108) >>
 >> endobj
-10980 0 obj <<
+10939 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 413.0081 362.2721 421.9743]
+/Rect [345.336 377.143 362.272 386.109]
 /Subtype /Link
 /A << /S /GoTo /D (page.109) >>
 >> endobj
-10981 0 obj <<
+10940 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 399.1152 475.0182 410.0192]
+/Rect [458.082 363.25 475.018 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.139) >>
 >> endobj
-10982 0 obj <<
+10941 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.007 399.1152 494.9434 410.0192]
+/Rect [478.007 363.25 494.943 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.140) >>
 >> endobj
-10983 0 obj <<
+10942 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 387.1601 498.2408 398.064]
+/Rect [481.304 351.295 498.241 362.199]
 /Subtype /Link
 /A << /S /GoTo /D (page.201) >>
 >> endobj
-10984 0 obj <<
+10943 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 365.307 362.2721 374.1537]
+/Rect [345.336 329.442 362.272 338.288]
 /Subtype /Link
-/A << /S /GoTo /D (page.320) >>
+/A << /S /GoTo /D (page.321) >>
 >> endobj
-10985 0 obj <<
+10944 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 329.4415 362.2721 338.2882]
+/Rect [345.336 293.576 362.272 302.423]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-10986 0 obj <<
+10945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.1087 315.4291 513.0452 326.333]
+/Rect [496.109 279.564 513.045 290.468]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-10987 0 obj <<
+10946 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.6691 291.5187 491.6056 302.4227]
+/Rect [474.669 255.653 491.606 266.557]
 /Subtype /Link
-/A << /S /GoTo /D (page.423) >>
+/A << /S /GoTo /D (page.424) >>
 >> endobj
-10988 0 obj <<
+10947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 268.3257 425.2551 278.5123]
+/Rect [413.3 232.46 425.255 242.647]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-10989 0 obj <<
+10948 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 244.4153 425.2551 254.602]
+/Rect [413.3 208.55 425.255 218.737]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-10990 0 obj <<
+10949 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 219.7877 501.5784 230.6917]
+/Rect [484.642 183.922 501.578 194.826]
 /Subtype /Link
 /A << /S /GoTo /D (page.102) >>
 >> endobj
-10991 0 obj <<
+10950 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 197.9347 362.2721 206.7813]
+/Rect [345.336 162.069 362.272 170.916]
 /Subtype /Link
-/A << /S /GoTo /D (page.314) >>
+/A << /S /GoTo /D (page.315) >>
 >> endobj
-10992 0 obj <<
+10951 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 171.967 504.348 182.871]
+/Rect [487.411 136.102 504.348 147.005]
 /Subtype /Link
-/A << /S /GoTo /D (page.407) >>
+/A << /S /GoTo /D (page.408) >>
 >> endobj
-10993 0 obj <<
+10952 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 148.0567 501.5784 158.9606]
+/Rect [484.642 112.191 501.578 123.095]
 /Subtype /Link
 /A << /S /GoTo /D (page.103) >>
 >> endobj
-10994 0 obj <<
+10953 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 136.1015 475.0182 147.0055]
+/Rect [458.082 100.236 475.018 111.14]
 /Subtype /Link
 /A << /S /GoTo /D (page.133) >>
 >> endobj
-10995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 114.2485 362.2721 123.0951]
-/Subtype /Link
-/A << /S /GoTo /D (page.315) >>
->> endobj
-10996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 88.2809 476.6719 99.1848]
-/Subtype /Link
-/A << /S /GoTo /D (page.244) >>
->> endobj
-10997 0 obj <<
+10955 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-10938 0 obj <<
-/D [10936 0 R /XYZ 90 757.9346 null]
+10959 0 obj <<
+/D [10957 0 R /XYZ 90 757.935 null]
 >> endobj
-10935 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+10956 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11000 0 obj <<
-/Length 3457      
+11029 0 obj <<
+/Length 1284      
 /Filter /FlateDecode
 >>
 stream
-x��\Ys7~ׯ��JU!��H�K�8Y%���J�w���h��T(*���oc
0
��l��"���F�kL�d���<SB!ø���
������ޞ��s_�닣'�J13�H*g�
� A	�]\�||z�ͳ7'�^|?�X#,$��sF�G�.��ι`�X�
��+�]B�a��F�:�
q��?��^���o4
-Sk�M,B��"(CX
-�{�ެ���ꄈ㏇��fw�<�w����v}�m�G@��œd� ���X�7���������~�x��m���������/�(P����!�v���U'��[����
-�b�6>x5
-@@����
-nJi at T� ɫ�v�_
v���)}(�R+�1�S_!��+a��4��b�?* �_�<6�_�x�~y��!��C�z&%CTQ�����
-�Fvm�ǐj��� Ɛ�R�w�HAc����_�mcp�K%������8�ݦ�b
�#�Vx
@N'Upk�Ĕi3���ٳ�n�~�O$�@��I���{�S�4��d�Q1`)�F�#�:���!��@\j]W�il5H
,g3�*�����D��ݦ~	 �N.F��qR��O� G�?��ϗOB���2��J)�̩�[��THr��A�l�_<�x�_A��ݷ�wv�i��E��2���gH1U:W���W����n��*:�D��q ��
-n-ƌ ��ry	��,�������������|wB���
�&`&

XA���3�a��`
۵�01s �F�a�
-nf�������Y��,߮���jk3�����2ưj��+d�k�Hҕ0�$]ɻuG
�0�5��>N�b���r0S�ŝ��W���c�
*,F��{
��xq'Up;�"0��<�[���6
�|�W�\&[��{�S��
 a�*��˷���n��Nl$G8��(]OE|�
qbM-"*IE� �T���!D��LT�����zy}�)W�_�.��B[v����N�@R
-5�"*u�&��s_a"�"�
�<�}�0� ƹ�K�:(�������p�#&t����g��^�=I�X
�'OżO����֏Ӏ:k�
���i@�(9��4
 ـ��c`�#�U[^|������:!�
_��<ˤ�����7o�h������h�yd��nf
N.VJ����}��O5�kc�q� �I)%F��p�R�.��`�u��z���곑*F4��jR�+dH��1���ö	Ĉ��1j�T�kd�z�"I�j�(]�}d�Y����fF2^Xt/U�:�
,��������J-���3,ҏ�P�$���$���txX �"��
�٩%��B�E�Q��42
 �#�nX4E�H��D�*{BD5��2D҉5�w|��(b@�H�F�&��PԮ��/��mW
��I��]Xu/Ur��Bh����?�34Q�RM�}�
}vb
��'�s@�>��P2���'{��"�q=}�2�ى5
-�$�a I]p�$-��Phg��B�
-
-
D�
MR�0�$�λNH�AJB�	W�����h����f�h
�h����A�
-��-�
:�d�y�-%����/N��
�\�!"��
O>V'U�6�i�r.-R� ���ߛ�����`@\V��B��pb	��w��d�Q�Y����v�F�}d׺78�k��z��WW�	U�#
�l83�݆��i7����~#
 �p������<�w
�Nm��+d:� �\���8
-n#k�;�*TjY��^��>�ۮ:UdaսT��
�!�
y�>�����L��	�z��'�]'����|oU�R�Y�
�6ە�dW�^)a)�)xF�/��0A �6�s��Q{e
-�*U|h�E�z/D�pU;�؋f#�m��g��`od{��O��?��y�.�Sh�j��|a,0�۶]QͲ�q�*?��Jn
��L�}�.nzGg��Z���W�ȭ�n���F	
�f@4D�I���&K�1FL�4��/�5�v�UGw�L��u.;M�Jn1��&�i��綠�v���s`ڳ���j~�C07�Ymh�&i�2�
|Y�c[�)#%�2U;/��K�GV��Ҹ�ٞ���z{��O�-����Y/^���ۇ���#~pZ;E��
㌱��  lay�!J'U��P
F)7w��>��iO��u���]������t����n�v2�1������T:���B�դ��m3B�0��_���&"�����o�}�`	�,Ǥ��WȔ,'���P��3a ɢUpY˗��U��Ur?�ۮZ&+W~ծt���GP�t�����cM�Md7�ޝ��J���S�'���,lb�c'�L�7�<�H�۰���Ւ������b }�<�C#���Kk�����O��*�*��� ����6� [...]
�.��Z�ڹ�^�0�YmJ��O9�a-:?�
|hzc��
@r}�[z@�j��N�,�<���i��u�s_a����6��h7
��`|����R�|�X��K�{� ���H7�ZKO}�
=
F\3�4��y�8h�ântYy��+]y��ͤF
*M�I�+dN'�^��I�<	
-n#kœ�v��$(E0��.<���N��[�C�û
��?<�b���ןnS�
ʏ�j�E�S������ԝ��n�����_9`�l/Ur��VF1���n��)F<;�����}����m`a8�H��9M��h�R�,X#Ij�P�����	�2
j4���k�,_!�YN��i2�� ��Up�Ch�1+l��n����X��Z��u�s_a������<f
1A�(��MtR���QE����n�6�'��b�<x��
3O
��HٙQ���.�^~�+L�݌�_	���aHj5 ���T�� %�H���mw��C��ɷp�x
-
����Ϗ���L�	CT�y(0'Êwf�2dĉ�
�4
 IF
-n��&���Y�Xe��˧�� D_��-T�=�g�}��	��Wi����19>e[n	�kF�AX�������c���_U\H���8���vR�.
�R���~o�
p���P����*�����q��8$
їN��v at E
-�@<n#������+d
-�k
�N�0�d+�u qP�ꑮ;����_!s�D���H^w���P���K�<��� ��澾B��:���-�}� �ܷ�֡pCQT�r6:c�g�/�>�I���?�B�шH)���(��~��!?�����v�*�\	'��
-�~S��x[�.ޯN�T�����#h��>����nW��q|���b��[^���
��5���H�"���
�N�
J���*��p z}l
@������
-v
-sO���=�6�k���p���ɓ>����n��٣�������x�	�9
PA\�5M'� ϴ�Nx�; =
F�ݾ�$��w�����
-��>��P�K
sendstream
+x��Z[s�H~�W�Z�b_�R��d2Yg�D�*��)�ю���68���I��4�f������>�w
@�)@�l��[��+�jRD��bE�P%*�r��>\�u��?)0T@��/=�a-9ܺ��iAq(0��誎�2�Z�߁2�?)@Ŧ�<�Wy����u�Q�K
�"!`	bEGX�d�;��m���0p�l�m����m�89����,�m�=�!�=ŗ�%��˖�T�B��diC��<ãt���_�:���5	��3�,� z��
�
;�o�Q���4f0sa��N.�3݊���h#M+ �4J�T

}x3�3n�����O��3ij%i���� T#?�%�h���en\�5�#��2oM���ɤ[�#m�?"D��>;����Aహu�
r&20���K3�׻
Qy
��Kz!I�ۥw�\ 
m
;qm?�����wx:
:����� �E__�#a�A��(�E��:
�F�	��92�~<��Ǥ1K՘ַ߬��G��Wv2vl�]�H�[6�OD-�@l�晦�F�!�Q�HI�#%����]����iB�
�o�6�����,�:�5 [...]
	j#|Xj#㝨]��Ҫ�m̹È��
+��ٺW���h�M,!
���"A_+^�l�3Q
� 2�����Ap��
��>��_A�jR(���ߓ�iǕ���GBRBZYe�_=!$̈́��+X����4B�
��j�{�&���2�������J��
T�C�xn\�c�b;�G�+�ބ�`؛�oև�Ĵ� ��d���n{�II�l4?]��5u��&?� 	����+�7$U�HhS�\^�$����lm^	+L�`pn��p{r�µn�"o�Ԟoѭ���	w�f9����h|�?[��ŗd��v4�>������y�G1����Y�y
�1��֭TD�\�/CCe���M�������RS�3��Z���
X-1����\yYk�Q�G�(�Q�r)h�=}$�Z���0��0EG�L��/����i�X/)*�g�� A��<���•7���|yQ�Gv�ڻ�.�*ҫ(WͺK�۸�Wr�5|{���"�~Е6l�_�o�z{H�z�3�-~+@���I~*�"@US���cb��h��#��x���] [...]
�+1%T#y��
*!g��P�t���cK�3�~*����

������1�Ó^���I�D��wB�:q/
��Z

�C��:ʍ<"�輀/c��I���5S�
�I�K��
+endstream
 endobj
-10999 0 obj <<
+11028 0 obj <<
 /Type /Page
-/Contents 11000 0 R
-/Resources 10998 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10934 0 R
-/Annots [ 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 11015 0 R 11016 0 R 11017 0 R 11018 0 R 11019 0 R 11020 0 R 11021 0 R 11022 0 R 11023 0 R 11024 0 R 11025 0 R 11026 0 R 11027 0 R 11028 0 R 11029 0 R 11030 0 R 11031 0 R 11032 0 R 11033 0 R 11034 0 R 11035 0 R 11036 0 R 11037 0 R 11038 0 R 11039 0 R 11040 0 R 11041 0 R 11042 0 R 11043 0 R 11044 0 R 11045 0 R 11046 0 R 11047 0 R 11048 0 R 11049 0 R 11 [...]
+/Contents 11029 0 R
+/Resources 11027 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10768 0 R
+/Annots [ 10954 0 R 10960 0 R 10961 0 R 10962 0 R 10963 0 R 10964 0 R 10965 0 R 10966 0 R 10967 0 R 10968 0 R 10969 0 R 10970 0 R 10971 0 R 10972 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 11004 0 R 11005 0 R 11006 0 R 11 [...]
 >> endobj
-11002 0 obj <<
+10954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 710.014 145.791 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.316) >>
+>> endobj
+10960 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 707.9571 260.1905 718.861]
+/Rect [243.254 684.047 260.191 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.244) >>
 >> endobj
-11003 0 obj <<
+10961 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 684.0467 260.1905 694.9507]
+/Rect [243.254 660.136 260.191 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.244) >>
 >> endobj
-11004 0 obj <<
+10962 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.254 636.226 260.191 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.244) >>
+>> endobj
+10963 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 660.1364 285.097 671.0403]
+/Rect [268.161 612.316 285.097 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.104) >>
 >> endobj
-11005 0 obj <<
+10964 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 648.1812 287.8667 659.0852]
+/Rect [270.93 600.361 287.867 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.408) >>
+/A << /S /GoTo /D (page.409) >>
 >> endobj
-11006 0 obj <<
+10965 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 624.2709 281.7594 635.1748]
+/Rect [264.823 576.45 281.759 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11007 0 obj <<
+10966 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 602.4179 145.7908 611.2645]
+/Rect [128.854 554.597 145.791 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11008 0 obj <<
+10967 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 576.4502 281.7594 587.3542]
+/Rect [264.823 528.63 281.759 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11009 0 obj <<
+10968 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.1091 540.5847 195.0456 551.4887]
+/Rect [178.109 492.764 195.046 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.274) >>
 >> endobj
-11010 0 obj <<
+10969 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 505.4365 187.0456 515.6232]
+/Rect [198.034 492.764 214.971 503.668]
 /Subtype /Link
-/A << /S /GoTo /D (page.372) >>
+/A << /S /GoTo /D (page.275) >>
 >> endobj
-11011 0 obj <<
+10970 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 470.8462 285.097 481.7502]
+/Rect [170.109 457.616 187.046 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.105) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-11012 0 obj <<
+10971 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 458.8911 258.5368 469.795]
+/Rect [268.161 423.026 285.097 433.93]
 /Subtype /Link
-/A << /S /GoTo /D (page.135) >>
+/A << /S /GoTo /D (page.105) >>
 >> endobj
-11013 0 obj <<
+10972 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 446.9359 260.1905 457.8398]
+/Rect [241.6 411.07 258.537 421.974]
 /Subtype /Link
-/A << /S /GoTo /D (page.246) >>
+/A << /S /GoTo /D (page.135) >>
 >> endobj
-11014 0 obj <<
+10973 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 425.0829 145.7908 433.9295]
+/Rect [243.254 399.115 260.191 410.019]
 /Subtype /Link
-/A << /S /GoTo /D (page.317) >>
+/A << /S /GoTo /D (page.246) >>
 >> endobj
-11015 0 obj <<
+10974 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 399.8325 221.6059 410.0192]
+/Rect [128.854 377.262 145.791 386.109]
 /Subtype /Link
-/A << /S /GoTo /D (page.345) >>
+/A << /S /GoTo /D (page.318) >>
 >> endobj
-11016 0 obj <<
+10975 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 375.9222 187.0456 386.1088]
+/Rect [204.669 352.012 221.606 362.199]
 /Subtype /Link
-/A << /S /GoTo /D (page.371) >>
+/A << /S /GoTo /D (page.347) >>
 >> endobj
-11017 0 obj <<
+10976 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 363.2497 287.8667 374.1537]
+/Rect [170.109 328.102 187.046 338.288]
 /Subtype /Link
-/A << /S /GoTo /D (page.410) >>
+/A << /S /GoTo /D (page.372) >>
 >> endobj
-11018 0 obj <<
+10977 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 340.0567 208.7738 350.2433]
+/Rect [270.93 315.429 287.867 326.333]
 /Subtype /Link
-/A << /S /GoTo /D (page.67) >>
+/A << /S /GoTo /D (page.411) >>
 >> endobj
-11019 0 obj <<
+10978 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 315.4291 280.1157 326.333]
+/Rect [196.819 292.236 208.774 302.423]
 /Subtype /Link
-/A << /S /GoTo /D (page.88) >>
+/A << /S /GoTo /D (page.67) >>
 >> endobj
-11020 0 obj <<
+10979 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.1045 315.4291 295.0597 326.333]
+/Rect [268.161 267.608 280.116 278.512]
 /Subtype /Link
 /A << /S /GoTo /D (page.89) >>
 >> endobj
-11021 0 obj <<
+10980 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 303.4739 258.5368 314.3778]
+/Rect [241.6 255.653 258.537 266.557]
 /Subtype /Link
 /A << /S /GoTo /D (page.123) >>
 >> endobj
-11022 0 obj <<
+10981 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 291.5187 260.1905 302.4227]
+/Rect [243.254 243.698 260.191 254.602]
 /Subtype /Link
 /A << /S /GoTo /D (page.228) >>
 >> endobj
-11023 0 obj <<
+10982 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 268.3257 145.7908 278.5123]
+/Rect [128.854 220.505 145.791 230.692]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-11024 0 obj <<
+10983 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.7796 268.3257 165.7161 278.5123]
+/Rect [148.78 220.505 165.716 230.692]
 /Subtype /Link
-/A << /S /GoTo /D (page.305) >>
+/A << /S /GoTo /D (page.306) >>
 >> endobj
-11025 0 obj <<
+10984 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 244.4153 221.6059 254.602]
+/Rect [204.669 196.595 221.606 206.781]
 /Subtype /Link
-/A << /S /GoTo /D (page.334) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-11026 0 obj <<
+10985 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 220.505 187.0456 230.6917]
+/Rect [224.595 196.595 241.531 206.781]
 /Subtype /Link
-/A << /S /GoTo /D (page.358) >>
+/A << /S /GoTo /D (page.336) >>
 >> endobj
-11027 0 obj <<
+10986 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 207.8326 287.8667 218.7365]
+/Rect [170.109 172.684 187.046 182.871]
 /Subtype /Link
-/A << /S /GoTo /D (page.392) >>
+/A << /S /GoTo /D (page.360) >>
 >> endobj
-11028 0 obj <<
+10987 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 184.6395 208.7738 194.8261]
+/Rect [270.93 160.012 287.867 170.916]
 /Subtype /Link
-/A << /S /GoTo /D (page.65) >>
+/A << /S /GoTo /D (page.393) >>
 >> endobj
-11029 0 obj <<
+10988 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 160.7292 208.7738 170.9158]
+/Rect [196.819 136.819 208.774 147.005]
 /Subtype /Link
-/A << /S /GoTo /D (page.67) >>
+/A << /S /GoTo /D (page.65) >>
 >> endobj
-11030 0 obj <<
+10989 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 136.1015 280.1157 147.0055]
+/Rect [196.819 112.909 208.774 123.095]
 /Subtype /Link
-/A << /S /GoTo /D (page.89) >>
+/A << /S /GoTo /D (page.67) >>
 >> endobj
-11031 0 obj <<
+10990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.1045 136.1015 295.0597 147.0055]
+/Rect [268.161 88.281 280.116 99.185]
 /Subtype /Link
 /A << /S /GoTo /D (page.90) >>
 >> endobj
-11032 0 obj <<
+10991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 124.1464 258.5368 135.0503]
+/Rect [458.082 719.912 475.018 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.124) >>
 >> endobj
-11033 0 obj <<
+10992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 112.1912 260.1905 123.0951]
+/Rect [459.735 707.957 476.672 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.228) >>
 >> endobj
-11034 0 obj <<
+10993 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.1793 112.1912 280.1158 123.0951]
+/Rect [479.661 707.957 496.597 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.229) >>
 >> endobj
-11035 0 obj <<
+10994 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 88.9982 145.7908 99.1848]
+/Rect [345.336 684.764 362.272 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.305) >>
+/A << /S /GoTo /D (page.306) >>
 >> endobj
-11036 0 obj <<
+10995 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.7796 88.9982 165.7161 99.1848]
+/Rect [365.261 684.764 382.197 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.306) >>
+/A << /S /GoTo /D (page.307) >>
 >> endobj
-11037 0 obj <<
+10996 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 708.6744 438.0873 718.861]
+/Rect [421.151 660.854 438.087 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.335) >>
+/A << /S /GoTo /D (page.336) >>
 >> endobj
-11038 0 obj <<
+10997 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 684.764 403.5269 694.9507]
+/Rect [441.076 660.854 458.013 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.359) >>
+/A << /S /GoTo /D (page.337) >>
 >> endobj
-11039 0 obj <<
+10998 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 672.0916 511.5056 682.9955]
+/Rect [386.59 636.943 403.527 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.392) >>
+/A << /S /GoTo /D (page.361) >>
 >> endobj
-11040 0 obj <<
+10999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 662.0741 362.2721 671.0403]
+/Rect [487.411 624.271 504.348 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.393) >>
+/A << /S /GoTo /D (page.394) >>
 >> endobj
-11041 0 obj <<
+11000 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 624.9882 362.2721 635.1748]
+/Rect [345.336 589.123 362.272 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11042 0 obj <<
+11001 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.2609 624.9882 382.1974 635.1748]
+/Rect [365.261 589.123 382.197 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.282) >>
+/A << /S /GoTo /D (page.283) >>
 >> endobj
-11043 0 obj <<
+11002 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 601.0779 425.2551 611.2645]
+/Rect [413.3 565.212 425.255 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11044 0 obj <<
+11003 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.2084 576.4502 489.1448 587.3542]
+/Rect [472.208 540.585 489.145 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.268) >>
 >> endobj
-11045 0 obj <<
+11004 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 531.3394 362.2721 541.526]
+/Rect [345.336 495.474 362.272 505.661]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-11046 0 obj <<
+11005 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.2609 531.3394 382.1974 541.526]
+/Rect [365.261 495.474 382.197 505.661]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11047 0 obj <<
+11006 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.1087 518.6669 513.0452 529.5709]
+/Rect [496.109 482.801 513.045 493.705]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-11048 0 obj <<
+11007 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 484.7391 362.2721 493.7054]
+/Rect [345.336 448.874 362.272 457.84]
 /Subtype /Link
-/A << /S /GoTo /D (page.287) >>
+/A << /S /GoTo /D (page.288) >>
 >> endobj
-11049 0 obj <<
+11008 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.2609 484.7391 382.1974 493.7054]
+/Rect [365.261 448.874 382.197 457.84]
 /Subtype /Link
-/A << /S /GoTo /D (page.290) >>
+/A << /S /GoTo /D (page.291) >>
 >> endobj
-11050 0 obj <<
+11009 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.9877 458.8911 499.9242 469.795]
+/Rect [482.988 423.026 499.924 433.93]
 /Subtype /Link
 /A << /S /GoTo /D (page.178) >>
 >> endobj
-11051 0 obj <<
+11010 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 434.9807 506.5497 445.8847]
+/Rect [489.613 399.115 506.55 410.019]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11052 0 obj <<
+11011 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 411.7877 425.2551 421.9743]
+/Rect [413.3 375.922 425.255 386.109]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11053 0 obj <<
+11012 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 367.2996 362.2721 376.1462]
+/Rect [345.336 331.434 362.272 340.281]
 /Subtype /Link
-/A << /S /GoTo /D (page.300) >>
+/A << /S /GoTo /D (page.301) >>
 >> endobj
-11054 0 obj <<
+11013 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.2609 367.2996 382.1974 376.1462]
+/Rect [365.261 331.434 382.197 340.281]
 /Subtype /Link
-/A << /S /GoTo /D (page.302) >>
+/A << /S /GoTo /D (page.303) >>
 >> endobj
-11055 0 obj <<
+11014 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 329.3768 396.5929 340.2807]
+/Rect [379.656 293.511 396.593 304.415]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-11056 0 obj <<
+11015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 317.4216 476.6719 328.3255]
+/Rect [459.735 281.556 476.672 292.46]
 /Subtype /Link
 /A << /S /GoTo /D (page.230) >>
 >> endobj
-11057 0 obj <<
+11016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 293.5113 396.5929 304.4152]
+/Rect [379.656 257.646 396.593 268.55]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11058 0 obj <<
+11017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 281.5561 504.348 292.46]
+/Rect [487.411 245.691 504.348 256.595]
 /Subtype /Link
-/A << /S /GoTo /D (page.394) >>
+/A << /S /GoTo /D (page.395) >>
 >> endobj
-11059 0 obj <<
+11018 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7475 257.6458 494.684 268.5497]
+/Rect [477.748 221.78 494.684 232.684]
 /Subtype /Link
-/A << /S /GoTo /D (page.417) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-11060 0 obj <<
+11019 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 223.8375 362.2721 232.6842]
+/Rect [345.336 187.972 362.272 196.819]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11061 0 obj <<
+11020 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.9877 209.8251 499.9242 220.729]
+/Rect [482.988 173.96 499.924 184.864]
 /Subtype /Link
 /A << /S /GoTo /D (page.181) >>
 >> endobj
-11062 0 obj <<
+11021 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 185.9147 501.5784 196.8187]
+/Rect [484.642 150.049 501.578 160.953]
 /Subtype /Link
 /A << /S /GoTo /D (page.107) >>
 >> endobj
-11063 0 obj <<
+11022 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 173.9596 475.0182 184.8635]
+/Rect [458.082 138.094 475.018 148.998]
 /Subtype /Link
 /A << /S /GoTo /D (page.138) >>
 >> endobj
-11064 0 obj <<
+11023 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 152.1065 362.2721 160.9532]
+/Rect [345.336 116.241 362.272 125.088]
 /Subtype /Link
 /A << /S /GoTo /D (page.158) >>
 >> endobj
-11065 0 obj <<
+11024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 138.0941 506.5497 148.998]
+/Rect [489.613 102.229 506.55 113.133]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 114.1837 396.5929 125.0877]
-/Subtype /Link
-/A << /S /GoTo /D (page.172) >>
->> endobj
-11067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.9877 102.2286 499.9242 113.1325]
-/Subtype /Link
-/A << /S /GoTo /D (page.182) >>
->> endobj
-11068 0 obj <<
+11026 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11001 0 obj <<
-/D [10999 0 R /XYZ 90 757.9346 null]
+11030 0 obj <<
+/D [11028 0 R /XYZ 90 757.935 null]
 >> endobj
-10998 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+11027 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11071 0 obj <<
-/Length 3076      
+11095 0 obj <<
+/Length 1098      
 /Filter /FlateDecode
 >>
 stream
-x��\mo
���_q_�J�����Q�Cj'H��n��@8K[�tRN�:���}!��\)�Q`��
�
�
_��؊�?�rte�!NH�:�:��w��lx���&�����
�V�8�����N�fDq�W'�?
~���W�=���땤�P�AQ�������I�>WB�V��?�DW�����g��|��9�WW�
����������A�`����N(
u�Q�̕X.��u��S���������������������������w������
c�)�:o>��7W��=gZf�\f�������� �}ԅ ��
���m�`V%��܁rA�d�ç
4P�����~���خ��
n�B�
�&�7�|�c��C��ĺ�3FM�π	B��k���e`��l7���z� �#�J6*+�2�7q�%`�z{d\��$�ۙ��^�dt�����	w�*
-c�����&^��,�K��5�)O
��'�́y�x���Zn��G8,^Ud�bD)��L� )2A�GOg��ԁl�)�
�	G�q����y�G0Z\�HO!��|7X�Do���
-:��܁y"y���n����|���)"���I5��΋u�(�O������|� �0��1��
���Uՙ7 at 2/�uj�ͼ���+��*h 0V�����n�(t�~��mno/��������-mqu�囸�B?�
|&��vv�n��
>/U2�S�hW�޷_�>}��~{�[>���S��q$=�X����'�ԁlz�p#������~��z��<}�~}�A����
����k]���8�G7��Xؠ�
�/֗��$�~s~w�9o�
>�ӹ�B�jeV�)�)Ε^��,̕��J�d"�*��;0�+�T�l�RZ��X�$�t
-[=
���~��iK��ՠ4�P����囸��40�ۡg�T�n*a���K���4��=ӕ��L�m�+��P�U=|Q
>/��g��M
��
�	M�d����p������np�o�K���������ѹ���R�#8
�8V�p��:����n
-����Q_
/��
�I���|cl��́9<^�`v���}Q���c��b
��g�[+��8�t�/@3���E
-
tv��	,�
np�Rӧ�'*��o�"�Rb
�C��8^��,����R�1�"���9� U0��JXKDYg����մV��`,6�и?��k/1Qf��P�z�]Io8#wZ������_�=���wwWo7�
T��G2*��pqd	ĺ�.d:u ��+���*'��p��?
�j��A��Kfi� pj?wX0:ׅ
-II�z>Hc����=e�0��c o��B�X!�/
����
097]�~����h!�r� ڋSn�@
nܬO9�8�Ɖǥ
l���
����|7XZN��f�[H��$��A�`±���d�
�? 
��%$��
q$
�X�.�S��m!Q��~|���?� �����~�� x�RQ�:��l(
-���DE�k�.
-Q�(�^.�á(L
��,D(s�Pa�B�r���)e�=թ13�
7���8n�����XeO��dO�q��phF�^�<v8$qP��5�Y��O?B´�hV?BQl��X?B:?B�#��mG�+"��&�_�g]��
3ʈpZW��R��X_���S�2�	
Uj
�H(�[�&�����	���`����E*+E���5�Ԧ���
D�To�r� �%����� U0�j�
-�:�
BE��/ڟi��6����A�5��i+^��	)�"_�� �*�,cTἒTof�
-q��Yƨ�ͦ���~�+;
B�d|��Rx�}Hp!�w����a����(�Bj"s��� _��z3�_�j�;gDi+A�d�W�j�ʣ�
c�ԑZ��C�%��b�a��(�P���RA����}�3�"E�>��!�p�C�Ty
��VXE�Ѭ���
l�To��m{��J�dJ&=t�
��m5tu�:�I��ͼ���a� 
n�����3)��R"�fj�Y� �g:�Ҽ�+�ԁl=+�
(����Cg�����f{�� ��c���TS��^��,�Do7��?Eh%�́��/U0��i~/~G =���H
�/&�0���M�g�Cm���l�݋�b���
=MB�²�FS���7q���
xԤ�ARZ>w Ao�*�
s˄M�Cs�[��rPڍ�%���&�ۡ"†4�H�p�O�*�
Q�&��gP�j� 8�$՛9��{��2�
-fH�����T�i�
-�1I���9Fk�
-fs���ׂ��hg������$՛yK��5 u����T��C��@~�͔��)R��
ېS��R0�CB��knؕ�'����W�Z����&՛��حC�68�&H�����7�E	�-ä�%��&՛���`ɢ�u8'H̎�*��(�.�JUM'cę����D�L{l��t�fmD"&����Y�b2�Ez
-Px�&n��F�7s�LX
5w Y�
R�#,L��G�1�h
�(*�(�'՛�c6�g�l�gܬ��l��;f��&Om�� %z�Z�c��ԁl�.�
jK��F�Q׀B,T��Ù<���5�=(�h���� PL#z�k@�s���H
N
��>�7��B5�k�����N�ͬ'�ȽP��bL<z�C�J��x��uR��!2��'��
�	K���������j��tA
?D���@W0��)D��"
�H	�����
��To�v�t�hk,Nu
-R��n�����T
�j�p��� n�
��y�ԁ�nv0&@y ?��G�x�N_&�P�
�5��׋�oj>���ɐ�1;�	^�E��*�p�\+^�&��k6L�X
��
�L+��?�����v=��dR�ęv��q�ks�_=���
�:���3|�#�
���������GJ
��߿]o�֗�����kUA
���W)<`����f���� 53�����/+�����A���֖�z��m��~��y~|���rvK�7;r�?���<^
,	6�k>�^(�e������-�ї��w=FW׻a$.���U�$=K��̡7)endstream
+x��Zm��6�ί�^Aw��q�U������ЃV�vO(
��� ���!�.���8l�*!�8�癙g��$��F��F�ĥ����[E�?"7�7.��l}�%s(C�ǭXW͍�~��VF`=mj
$�I��3##���0*\�,׽&��B��I��[�=E��	`��#���Lb,��lz��t���5
+��;�.��dz�_��}�P�P
�kȰ�A�6 u1���8����{
:�O��n��6G��'
btz�����̣��H����*I1V��<�e	0�*R���H	sYu��U�B/��9B 
�R�])7ͽC��ƙ1
�XM�Ù4���")���Yr�A�s2-�v
�
�3�4v�;?P^
��o�P���4(cۦ���Mw�
�w�
�3
����0�7
�
��:H� �T|�0���1���h1T����EѢ-ҁr�KVM�~�b{Q1?�m
=k0:z� ��f�T(�Q}��N[
�K�U��-n�]�� ���t�
+�j4�J��ܸ+s:���U��k�')�\�d�?�=v�8�
Z����[m��{H��_[��:<?,&w���x�,�́\�Q�(� R`�K
��>�9�'m��'c���iȣ�<�|�a?�ؔ�?�iLv����^��2&� ��)#VNeg��Ϣ�)րC����u����r��v�Z�&R@r���4��͂�޼n�6I�~�>�C�r��|or�_�E��K�}�/g�v5%��H�$��)���V<��&u:Jٿ�騐N'4��@�"���ۢ�[�i�����`��v�"��˂�I��Տ��oE�
ǠRm��٦Q\�b��J��"
��$��A��&�sB�b!���Z;�\k�R�v�\���cLj�x�3��1c
5f<B�
k�'�E�Rc>
L��o��C�/�1J�y�Z�q<�l��H����n`󽀤�-���t)brh�?��Z�V��v�k|�(
��>W�-��<��
o
_�2d��Ҕ�JǍ����<�~��:��)�h
���l�~]}n�O at s&(�[Dy���Y��\.�pN�?
�uf�qgdž)�,j��$_��a�n2
��n���Ew&�N��ۺ!
+endstream
 endobj
-11070 0 obj <<
+11094 0 obj <<
 /Type /Page
-/Contents 11071 0 R
-/Resources 11069 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10934 0 R
-/Annots [ 11073 0 R 11074 0 R 11075 0 R 11076 0 R 11077 0 R 11078 0 R 11079 0 R 11080 0 R 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 11106 0 R 11107 0 R 11108 0 R 11109 0 R 11110 0 R 11111 0 R 11112 0 R 11113 0 R 11114 0 R 11115 0 R 11116 0 R 11117 0 R 11118 0 R 11119 0 R 11120 0 R 11 [...]
+/Contents 11095 0 R
+/Resources 11093 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 10768 0 R
+/Annots [ 11025 0 R 11031 0 R 11032 0 R 11033 0 R 11034 0 R 11035 0 R 11036 0 R 11037 0 R 11038 0 R 11039 0 R 11040 0 R 11041 0 R 11042 0 R 11043 0 R 11044 0 R 11045 0 R 11046 0 R 11047 0 R 11048 0 R 11049 0 R 11050 0 R 11051 0 R 11052 0 R 11053 0 R 11054 0 R 11055 0 R 11056 0 R 11057 0 R 11058 0 R 11059 0 R 11060 0 R 11061 0 R 11062 0 R 11063 0 R 11064 0 R 11065 0 R 11066 0 R 11067 0 R 11068 0 R 11069 0 R 11070 0 R 11071 0 R 11072 0 R 11073 0 R 11074 0 R 11075 0 R 11076 0 R 11077 0 R 11 [...]
 >> endobj
-11073 0 obj <<
+11025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 707.957 180.112 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.172) >>
+>> endobj
+11031 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 707.9571 180.1116 718.861]
+/Rect [266.506 696.002 283.443 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.182) >>
+>> endobj
+11032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 672.092 180.112 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.185) >>
 >> endobj
-11074 0 obj <<
+11033 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.2373 696.0019 291.1738 706.9059]
+/Rect [274.237 660.136 291.174 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.190) >>
 >> endobj
-11075 0 obj <<
+11034 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.0878 684.0467 295.0243 694.9507]
+/Rect [278.088 648.181 295.024 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-11076 0 obj <<
+11035 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 674.1489 145.7908 682.9955]
+/Rect [128.854 638.283 145.791 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.202) >>
 >> endobj
-11077 0 obj <<
+11036 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 648.1812 180.1116 659.0852]
+/Rect [163.175 612.316 180.112 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-11078 0 obj <<
+11037 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 636.2261 260.1905 647.13]
+/Rect [243.254 600.361 260.191 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-11079 0 obj <<
+11038 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 614.373 145.7908 623.2197]
+/Rect [128.854 578.508 145.791 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-11080 0 obj <<
+11039 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 588.4054 180.1116 599.3093]
+/Rect [163.175 552.54 180.112 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11081 0 obj <<
+11040 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.1091 564.4951 195.0456 575.399]
+/Rect [178.109 528.63 195.046 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.277) >>
 >> endobj
-11082 0 obj <<
+11041 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 542.642 145.7908 551.4887]
+/Rect [128.854 506.777 145.791 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.285) >>
+/A << /S /GoTo /D (page.286) >>
 >> endobj
-11083 0 obj <<
+11042 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 518.7317 145.7908 527.5783]
+/Rect [128.854 482.747 145.791 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.318) >>
+/A << /S /GoTo /D (page.319) >>
 >> endobj
-11084 0 obj <<
+11043 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 493.4813 221.6059 503.668]
+/Rect [204.669 457.616 221.606 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.347) >>
+/A << /S /GoTo /D (page.348) >>
 >> endobj
-11085 0 obj <<
+11044 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.5985 469.571 184.535 479.7577]
+/Rect [167.598 433.706 184.535 443.892]
 /Subtype /Link
-/A << /S /GoTo /D (page.375) >>
+/A << /S /GoTo /D (page.377) >>
 >> endobj
-11086 0 obj <<
+11045 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.5985 445.6607 184.535 455.8473]
+/Rect [167.598 409.795 184.535 419.982]
 /Subtype /Link
-/A << /S /GoTo /D (page.377) >>
+/A << /S /GoTo /D (page.378) >>
 >> endobj
-11087 0 obj <<
+11046 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 432.9882 287.8667 443.8922]
+/Rect [270.93 397.123 287.867 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.411) >>
+/A << /S /GoTo /D (page.413) >>
 >> endobj
-11088 0 obj <<
+11047 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.2662 421.033 278.2027 431.937]
+/Rect [261.266 385.168 278.203 396.071]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.420) >>
 >> endobj
-11089 0 obj <<
+11048 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.1878 409.0779 275.1243 419.9818]
+/Rect [258.188 373.212 275.124 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.423) >>
+/A << /S /GoTo /D (page.424) >>
 >> endobj
-11090 0 obj <<
+11049 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.7765 397.1227 296.713 408.0266]
+/Rect [279.776 361.257 296.713 372.161]
 /Subtype /Link
-/A << /S /GoTo /D (page.425) >>
+/A << /S /GoTo /D (page.426) >>
 >> endobj
-11091 0 obj <<
+11050 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 363.3145 145.7908 372.1611]
+/Rect [128.854 327.449 145.791 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11092 0 obj <<
+11051 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.0878 349.302 295.0243 360.206]
+/Rect [278.088 313.437 295.024 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.180) >>
 >> endobj
-11093 0 obj <<
+11052 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 339.4042 145.7908 348.2508]
+/Rect [128.854 303.539 145.791 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.181) >>
 >> endobj
-11094 0 obj <<
+11053 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 303.5387 145.7908 312.3853]
+/Rect [128.854 267.673 145.791 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11095 0 obj <<
+11054 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.5064 289.5262 283.4429 300.4301]
+/Rect [266.506 253.661 283.443 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.181) >>
 >> endobj
-11096 0 obj <<
+11055 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 255.5984 145.7908 264.5646]
+/Rect [128.854 219.733 145.791 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.159) >>
 >> endobj
-11097 0 obj <<
+11056 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 219.8525 145.7908 228.6991]
+/Rect [128.854 183.987 145.791 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11098 0 obj <<
+11057 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.5064 205.84 283.4429 216.744]
+/Rect [266.506 169.975 283.443 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.180) >>
 >> endobj
-11099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.1091 169.9745 195.0456 180.8785]
-/Subtype /Link
-/A << /S /GoTo /D (page.275) >>
->> endobj
-11100 0 obj <<
+11058 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.1091 134.109 195.0456 145.0129]
+/Rect [178.109 134.109 195.046 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.276) >>
 >> endobj
-11101 0 obj <<
+11059 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 100.3008 145.7908 109.1474]
+/Rect [178.109 98.244 195.046 109.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.155) >>
+/A << /S /GoTo /D (page.277) >>
 >> endobj
-11102 0 obj <<
+11060 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.5905 707.9571 411.5269 718.861]
+/Rect [345.336 710.014 362.272 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.274) >>
+/A << /S /GoTo /D (page.155) >>
 >> endobj
-11103 0 obj <<
+11061 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.5157 707.9571 431.4522 718.861]
+/Rect [394.59 684.047 411.527 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.276) >>
+/A << /S /GoTo /D (page.275) >>
 >> endobj
-11104 0 obj <<
+11062 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.5905 672.0916 411.5269 682.9955]
+/Rect [414.516 684.047 431.452 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.275) >>
+/A << /S /GoTo /D (page.277) >>
 >> endobj
-11105 0 obj <<
+11063 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.5157 672.0916 431.4522 682.9955]
+/Rect [394.59 648.181 411.527 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.276) >>
 >> endobj
-11106 0 obj <<
+11064 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 638.2834 362.2721 647.13]
+/Rect [414.516 648.181 431.452 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.155) >>
+/A << /S /GoTo /D (page.277) >>
 >> endobj
-11107 0 obj <<
+11065 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.5905 612.3157 411.5269 623.2197]
+/Rect [345.336 614.373 362.272 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.275) >>
+/A << /S /GoTo /D (page.155) >>
 >> endobj
-11108 0 obj <<
+11066 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.5157 612.3157 431.4522 623.2197]
+/Rect [394.59 588.405 411.527 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.277) >>
+/A << /S /GoTo /D (page.276) >>
 >> endobj
-11109 0 obj <<
+11067 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.0798 589.1227 401.0163 599.3093]
+/Rect [384.08 565.212 401.016 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (page.375) >>
+/A << /S /GoTo /D (page.376) >>
 >> endobj
-11110 0 obj <<
+11068 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.0798 565.2123 401.0163 575.399]
+/Rect [384.08 541.302 401.016 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (page.377) >>
+/A << /S /GoTo /D (page.378) >>
 >> endobj
-11111 0 obj <<
+11069 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.5905 528.6296 411.5269 539.5335]
+/Rect [394.59 504.719 411.527 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.276) >>
+/A << /S /GoTo /D (page.277) >>
 >> endobj
-11112 0 obj <<
+11070 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 504.7192 506.5497 515.6232]
+/Rect [489.613 480.809 506.55 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11113 0 obj <<
+11071 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 480.8089 506.5497 491.7128]
+/Rect [489.613 456.899 506.55 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-11114 0 obj <<
+11072 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 456.8986 501.5784 467.8025]
+/Rect [484.642 432.988 501.578 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.107) >>
 >> endobj
-11115 0 obj <<
+11073 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 444.9434 475.0182 455.8473]
+/Rect [458.082 421.033 475.018 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.138) >>
 >> endobj
-11116 0 obj <<
+11074 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 423.0903 362.2721 431.937]
+/Rect [345.336 399.18 362.272 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11117 0 obj <<
+11075 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 409.0779 506.5497 419.9818]
+/Rect [489.613 385.168 506.55 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11118 0 obj <<
+11076 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 397.1227 511.5056 408.0266]
+/Rect [494.569 373.212 511.506 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.180) >>
 >> endobj
-11119 0 obj <<
+11077 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 387.2248 362.2721 396.0715]
+/Rect [345.336 363.315 362.272 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.181) >>
 >> endobj
-11120 0 obj <<
+11078 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 361.2572 396.5929 372.1611]
+/Rect [379.656 337.347 396.593 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.185) >>
 >> endobj
-11121 0 obj <<
+11079 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.7186 349.302 507.6551 360.206]
+/Rect [490.719 325.392 507.655 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.190) >>
 >> endobj
-11122 0 obj <<
+11080 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 337.3469 498.2408 348.2508]
+/Rect [481.304 313.437 498.241 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-11123 0 obj <<
+11081 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 325.3917 476.6719 336.2956]
+/Rect [459.735 301.481 476.672 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-11124 0 obj <<
+11082 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 303.5387 362.2721 312.3853]
+/Rect [345.336 279.628 362.272 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-11125 0 obj <<
+11083 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 277.571 396.5929 288.475]
+/Rect [379.656 253.661 396.593 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11126 0 obj <<
+11084 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 255.718 362.2721 264.5646]
+/Rect [345.336 231.688 362.272 240.654]
 /Subtype /Link
-/A << /S /GoTo /D (page.318) >>
+/A << /S /GoTo /D (page.319) >>
 >> endobj
-11127 0 obj <<
+11085 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 230.4676 438.0873 240.6543]
+/Rect [421.151 206.557 438.087 216.744]
 /Subtype /Link
-/A << /S /GoTo /D (page.347) >>
+/A << /S /GoTo /D (page.348) >>
 >> endobj
-11128 0 obj <<
+11086 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.0798 206.5573 401.0163 216.744]
+/Rect [384.08 182.647 401.016 192.834]
 /Subtype /Link
-/A << /S /GoTo /D (page.375) >>
+/A << /S /GoTo /D (page.376) >>
 >> endobj
-11129 0 obj <<
+11087 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.0798 182.647 401.0163 192.8336]
+/Rect [384.08 158.737 401.016 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.377) >>
+/A << /S /GoTo /D (page.378) >>
 >> endobj
-11130 0 obj <<
+11088 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7475 169.9745 494.684 180.8785]
+/Rect [477.748 146.064 494.684 156.968]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.420) >>
 >> endobj
-11131 0 obj <<
+11089 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 146.0642 506.5497 156.9681]
+/Rect [489.613 122.154 506.55 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.0798 110.916 401.0163 121.1026]
-/Subtype /Link
-/A << /S /GoTo /D (page.375) >>
->> endobj
-11133 0 obj <<
+11090 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.0798 87.0056 401.0163 97.1923]
+/Rect [384.08 87.006 401.016 97.192]
 /Subtype /Link
-/A << /S /GoTo /D (page.377) >>
+/A << /S /GoTo /D (page.376) >>
 >> endobj
-11134 0 obj <<
+11092 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11072 0 obj <<
-/D [11070 0 R /XYZ 90 757.9346 null]
+11096 0 obj <<
+/D [11094 0 R /XYZ 90 757.935 null]
 >> endobj
-11069 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F25 344 0 R /F67 366 0 R >>
+11093 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11137 0 obj <<
-/Length 5223      
+11191 0 obj <<
+/Length 1576      
 /Filter /FlateDecode
 >>
 stream
-xڵ]ks
����_�oW��@x?\�[f
%zE��|��V�Jڄ���Q�_��
0� ��n�J9%��� g�F7��

-�c�^e�R_\�=��|�¯;�}���z��Z]8�4�Wz���������~����߯�t!�%Tip��^
-�������=�+�����G�;���F��%�Yu�~��9�/�
I.����=���g�Eo��b��	ŋNpA�V�o��p��[߮������ۇM�!

c�)�z�'
 ǻ�����˧��q�z�}\�|����oVo������o��3�UT_h�S���7Ǐ�6���2|ݓʫo#��b��'Ք�Pn-s�z��dlO�ګ��u}���V/�7K�y�z��ϫ��~s������M-�3�2�.�Q�Ki0�"��
bU~}��)�95��
-�B���z�� ܺ��~s����^�����'�>~���˗-��WɦB��e�
�d�0L�	��l��^6�0��9��u���:�A����S�)"������`i�F:K'
�����^A*��a���_�۳O������Y�z�{�9�˧�#�,Ζ/7X�o���2eg�6`V�eZ�O�*�m������y{ڬև����t�~�}��o�~���9�6���\s�A7�"FP��8�ܠ�P�_�Y�#7�p�eрr"GB�u�|f��y��|��@�U��`IefaTA')
/-��
�]n���_��]� �	�N
(GkD!����8�3A<������W�o�R��ۛՏ��渾�/�wiqΝ?�s���>��p������}��+3�J��q}����[=a	���&7XR/�P�&
�Wo�֫�5aƚ3���t\/����O>;��������2I�d�p.Ќ:�ܠ!`�_nL����a�(P
-Q-
*H�ô
F��ׯ�]�}��j���� ���pD|�4���"
2:��>4��BhGE��r��a\�9 at oe�L��
��
9*�sr�TTL���
���
����'��������w?��\�y���U����~!�&����]nЪ%J��v�QL�*��
�����hǡ�$�Jm�Q/`�=�(�}�"=��.7h4��;�s�8Q *P����hǞKN$�i<��
�LX�����6T~g����l@����hǮ

-Z�!l��†z�XO�$�1��؃�.7h=���\�%����i�9�Z.�%��ߜ��
d�PM4�
&��K@ͥ1�t���g�"g
1܇)�l�J7�I2�`uD�w�A��(��	`
,��l at UGF;J`91L�s�ň=7^�
�b҆��`ڀ�x�L
3�J�f�7�#-���<�c-��)���0Yb�FCM�w�AC��������'��
(��(�v
3RC��X��ջ���7��V�?�x����;��=�G7�e�c��
��E|�4ҵ��(�1$P6�L9"
-�M���_/h����&�
����U��	�%��
ߒ��:����QHJ'�(�̙4�8I�D��˟����ύD^ɴNfX"�]n�J�K�spȻ5UE�D>�Zg%�*�řZ
-
-k>�&y@���.7hHQ�����~--�
S�R��BX����#T�!�_�v��eH�(�6���&�ܠ�ڔ~}#���6Dv+蔿Zl
-c
�n
�&
D~8<���N�j���a��uc��DJ�J�Xq�]n�*�J�3J8ocX�_*Q먄Q�����d������_����f��X��k�3�̑�]nИ��^
Uo�@Na�)��QkC
��0�6��?^]߮N�:�{U��'�:�R6�
�P���S� �2|���:���ٻJ9y��-S&M`nA�o�(aP�>�~�4¥�\��h��ˀ�r�V�,���� ',/��pP+,
L@�����X���>���

-H. �
}!�D|�44�����z��q'y�_mš7��pƾ��Y]�w��]����%P[�FH ��.7h4����x+�C��
-�*��:J �H�p>?�`��ݬ�;�����g
�!�]n��߶

�s&�+��!Pk҃
-"�c
=N�1!!���i���D�w�AkL�~{
dkǕBm^�Wc"�0֨T+RȖؐЄ*��l@t���0���+@���y*�T�^��)q�OH����@첎H�f&��<�B`r+,�N�*��n=���F���.7h4����T%��l͹������XG	#�Qސ`y�H��T@�=,�1�ܠnY�
D���&ڔ��#��Q��b�T�ScH at M���w�F��}��k�Q�A���t�o!�c��~E����m�\`�!�ܠ5
J�3rhE��ெC@!�I���2q��}���,/0�u���G<r����
R��3j�]��8��$H~�qI��ᢨ���۲6��𺍥϶.
-� 5\�խ�B8�.�eɖ.�QD
-�e̹�8G<r���;3s����b�
�BX� �m�%A������d��]n�P���NO�[y�_��BX�:��K���a
Y���n��u� �����V�H(��} �Dx��z�^�SKZ�!!�bL'��`��eΤF~QvV��q��McL�ȥ͹�x#
�N[y��7���%���&I���f�/���f��[�牰�w�,DC$��.7h4�����ʅ�Ns��G�ePP(eU-�ḙQ��5��Ȍ�XZ�]n���J���N� ',+���,�0�Q��6��n��i��2�^�
����گo���0
���w�G�Zy�@r\�B������x��߾ߍ�8����XLJ�_�
�����T�>oo6;�
:\I����S�\2F�a�w�A# V~��XWf��UـrDB���J@�����N0�gF�!q���F{D��2|C�����;�m
-�R�Z�LJHA�0v^���(��e�&X�9��
�J5
���
���y�^
��p&5#ƆC��Շ��n�~��	���5�`�8�L�G���.7hhQ�mG
?�
t��/ň(�5��
���x��
ޏh(K149�bJ|���(��)8�l�_)PkR�_�S��3�W�+�
������le�	ͣ,�|��Bh�wv�h���E��Pm���~��Q���{
�}�wn�0�N���Bhǁ !q�	��@ح��a2,�����T��be�w�A+X�~9�9DUE�T�y@!�I���/{V(ï���
�7+������
�B�w�!B�u�@�b��`o��
�̙0��Pm��NDc���
��h�%����d�������E��W�t at a�c�5%T1
���R���=��
�hD��9�)ct�^�<�0ұ����-��m�1}�
�ӹ���ֿ6m���]nК ��v]-#�_���3 �֤���u�p}
E�z��ٞ��Kj@�J-��
������X�
�m�:�\/P-���&9�$���vH~˩؇j�!�f�& [...]
�F�%a��l4�ʬ �2|��*��� �˲�`�ʬ Z�L"PX�Mx��c������3�N!}@��	60��
Z��;�	%���
-�j\�:J"�%��eI�O���,9�������VV]x���!�/BL��
�p&E :����8|{�S"�`��)����R��۰�b
�m�_͕��&`]������֧O���Mk{R�[�
˨��
ZU�w輩S*x�V�
�R���h��Â#�Wo�϶�6׋��,����EK,��.7h���>>�:� 
}�U
 �3� )Qs �|���6��
-� �Ft��x���[�ٜ�*7d�,I�a���+ۓO���?]���4�*
���h�
U|���*J��4ۏL������XG�&*�cr����ua{���Ž�PG��d��r�����l~�?5F�4�({F[yko�(E�&�g�:�Q�����:[0�Mt��^GB���D
9L�[����)�S����
'.9���x��[���י-)E�������
-a
��m±AT�7�Q�
�a�~���ܠ}�=�;�=�/.:V6�q�ݣ�$����H6��'V�+��*ʒ+|9��]n�^Q�~g�H��Ȳ�%��Bh�2����zֻ�᜚LC�GC,�
�]o��S�s�v�V:�ܔ�*?h�2	���Y�����?�TB@��߉
`,���]o�S�3���
5TpW�e at a�����!�"�C(;���җ~�N��u
e5���X�g
����Yϥ��OI�Y�c�����m���L�%�Z[�W����V�f�8C��t�c�ߙ�YAYp�t:�0��
�_*V����O� �Gf s�b����~7@����G ߴ�)�4��
�.7h�ة߹*f�l at c��(�vT�C<�VL���R˩MX�
�.7h����l��w��ǓT�(�v�?���D|�����n�>�Qv8��7[F�]�
����S�3�H�?���TeG at a�����Z�`�=���җ~犭��)uH�#
-�
����-ƅa6%?o�?-�$(�!Zk�̱t)�ܠ�0�~g��
�qk
��U�
��&1`�6|xkN�֥t���3�c3"�ܠ5#J���uCQ��䄿J 
-aMjX<��m5�^���*�I����.7h
����� ��,8密F@!�I
�3����'=����
��w�Ϟ�L��{#���S�J��BH��ef��u܄��K�M��+̻�K
��
���~g.�/.P]�Wkg at a��X��q�ˮέ>m?~�
Ϩ7������
+���
Z�w�w��
�rU6�Qx�(�6i�T��6�(����*y�"i�w�A+��~�DQ���e��"��$
-�Sv��
n���
N���_*	�5�)�R~S�%?��g��r������̽
-���30����=
-aM�PF��C$���������d�7ꥳ�� ��r����߅ x�� ��0֨B|���s�
�+�?�&.�w���
�Ȼݥי-o�QCU�^}�$�:��e���(�3=|�������b�`l������o�
�U�_?
U�է͓�+��
-~��~
�~��9���
���_�w���ϿPE��v�ql�Kh*�_0���m6��_8���vm�~�ϋ��?��.�������۟+���}�������D
v�Ñl�
�O[�bT����ډ
��-充Q�?����8ht�?�'���_�����:����#~
endstream
+xڽZ�r�:}�+�v`�đl�K�}H��Ғ@��I�v4
+�ַʦ4��d�6�IJ
ә��KK����l�,�\u.���CWl�64Cq�
Ӏ*Ҡ�z�]wxs������>�T�
~^�C_7���v~t ?
+���L�ԑ2;w_������궥l�Q���t�
(�·x��GL �5�����Nzu	
	���Êz���{8;����IN��
�B�F��S�̏�s�i�,�O�:�݉�@W7�r@�N9�m�Bp,N2?$���8�`M�L�vGVҾ
N���
_���Z4˨"i�Ƃ��_�j|
{$'#<���~�Q��A�%s*1�a�Qxx<q�����%Η:��Aw|1r��>����-qs��1c�1T'��Y�n�l�����^��7��F!�Kq��Q�*F%�g?��$	�8���2j�w���P��L�߾j8�77F����e�C�3zNHJW6 �����'=[�Oϯ
י��}�|O�e$��9^Cu"3!�������g4�W�q�f�T%��A��G�O磡�I�X�_%�.���f�N�o�
}4��$2�xq���8�g����7���mV.tėx �1hLϹ�Q�SS���䩍��vy�3�BqŪa�9|H�}Y�xf
o�dd,�zA
+���3qf.v.�
�ܞ�L�mэ*�7�qOG]
jv�#-�un݋��}S��Αug{��
�=����� 2���^$k<M�
�`���eڬ�mFS��'�%S�#�w�-Q��˻r~��`�����h���È�S�d�"f�}C�6OыK<[�D֭��<
���y
-ٚF��߮N�],L"�~$��+4Ծ�)�U�zn�T6E���yT�싎b�� 
�g�.�Ԗz��l)G�,r�a
�F�G���

��
htC��h�<I����C	)-�)��d�h	�����)�B\O~@�(�C���ª��+K-H������J�u�h���9]˪����ן�ߣ��c�n����Zu/�"���V� 4�i~�
;�
����"�~�R�صa�iP�k
9�.�/��I\��u
܏���6
��c��Q��s���F�U� 
U��-��duP�C���^PVtLuV(%��<�I�54�HmX�5��D��DK��꫉8x��b.�k��W��#��� [...]
��n��
+m�����U1d�0R���
�T N��j��n�l	�~}��0�
�Q�g��8�,	�R�7~�j�cb�BM�
[s��BmK��–�.`�hF�G-;^��e����I����a���NE�mf)�������$���j�� ���C�M�*aA��P�`�h/����e�u�wY|-70�/S���!�M���$Z���� Pؗ	��
+�ﲠ��j�D��;��\q������{��
zDZ\-��U�%g����F���:����i��;6�[:�}�Զ 
.�9�0f�
��
�Vw����'��
+endstream
 endobj
-11136 0 obj <<
+11190 0 obj <<
 /Type /Page
-/Contents 11137 0 R
-/Resources 11135 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10934 0 R
-/Annots [ 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 11181 0 R 11182 0 R 11183 0 R 11184 0 R 11185 0 R 11186 0 R 11 [...]
+/Contents 11191 0 R
+/Resources 11189 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11193 0 R
+/Annots [ 11091 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 11106 0 R 11107 0 R 11108 0 R 11109 0 R 11110 0 R 11111 0 R 11112 0 R 11113 0 R 11114 0 R 11115 0 R 11116 0 R 11117 0 R 11118 0 R 11119 0 R 11120 0 R 11121 0 R 11122 0 R 11123 0 R 11124 0 R 11125 0 R 11126 0 R 11127 0 R 11128 0 R 11129 0 R 11130 0 R 11131 0 R 11132 0 R 11133 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 11 [...]
 >> endobj
-11139 0 obj <<
+11091 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 698.0592 145.7908 706.9059]
+/Rect [167.598 708.674 184.535 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.285) >>
+/A << /S /GoTo /D (page.378) >>
 >> endobj
-11140 0 obj <<
+11097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 674.149 145.791 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+11098 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 672.8089 208.7738 682.9955]
+/Rect [196.819 648.899 208.774 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11141 0 obj <<
+11099 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 648.8985 208.7738 659.0852]
+/Rect [196.819 624.988 208.774 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11142 0 obj <<
+11100 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 614.373 145.7908 623.2197]
+/Rect [128.854 590.463 145.791 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.285) >>
 >> endobj
-11143 0 obj <<
+11101 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 578.5075 145.7908 587.3542]
+/Rect [128.854 554.597 145.791 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.158) >>
 >> endobj
-11144 0 obj <<
+11102 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.2662 542.5773 278.2027 553.4812]
+/Rect [261.266 518.667 278.203 529.571]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.420) >>
 >> endobj
-11145 0 obj <<
+11103 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 507.429 187.0456 517.6157]
+/Rect [170.109 483.519 187.046 493.705]
 /Subtype /Link
-/A << /S /GoTo /D (page.369) >>
+/A << /S /GoTo /D (page.371) >>
 >> endobj
-11146 0 obj <<
+11104 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 472.9035 145.7908 481.7502]
+/Rect [128.854 448.993 145.791 457.84]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11147 0 obj <<
+11105 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 437.038 145.7908 445.8847]
+/Rect [128.854 413.128 145.791 421.974]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11148 0 obj <<
+11106 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.7633 411.444 180.6998 421.9743]
+/Rect [163.763 387.534 180.7 398.064]
 /Subtype /Link
 /A << /S /GoTo /D (page.178) >>
 >> endobj
-11149 0 obj <<
+11107 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.1551 399.4888 252.0916 410.0192]
+/Rect [235.155 375.579 252.092 386.109]
 /Subtype /Link
 /A << /S /GoTo /D (page.178) >>
 >> endobj
-11150 0 obj <<
+11108 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.5761 387.5337 230.5126 398.064]
+/Rect [213.576 363.623 230.513 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.178) >>
 >> endobj
-11151 0 obj <<
+11109 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.611 363.967 210.5475 374.1537]
+/Rect [193.611 340.057 210.547 350.243]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11152 0 obj <<
+11110 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.5952 352.0118 153.5316 362.1985]
+/Rect [136.595 328.102 153.532 338.288]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11153 0 obj <<
+11111 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.2402 340.0567 160.1767 350.2433]
+/Rect [143.24 316.146 160.177 326.333]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11154 0 obj <<
+11112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.8953 328.1015 150.8318 338.2882]
+/Rect [133.895 304.191 150.832 314.378]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11155 0 obj <<
+11113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.5952 304.1912 153.5316 314.3778]
+/Rect [136.595 280.281 153.532 290.468]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11156 0 obj <<
+11114 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.3272 292.236 190.2636 302.4227]
+/Rect [173.327 268.326 190.264 278.512]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11157 0 obj <<
+11115 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.2402 280.2808 160.1767 290.4675]
+/Rect [143.24 256.371 160.177 266.557]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11158 0 obj <<
+11116 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.7605 256.3705 170.697 266.5572]
+/Rect [153.761 232.46 170.697 242.647]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11159 0 obj <<
+11117 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.125 244.4153 292.0615 254.602]
+/Rect [275.125 220.505 292.061 230.692]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11160 0 obj <<
+11118 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.963 232.4602 289.8995 242.6468]
+/Rect [272.963 208.55 289.899 218.737]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11161 0 obj <<
+11119 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.4203 220.505 229.3568 230.6917]
+/Rect [212.42 196.595 229.357 206.781]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11162 0 obj <<
+11120 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.5284 207.8326 211.4836 218.7365]
+/Rect [199.528 183.922 211.484 194.826]
 /Subtype /Link
 /A << /S /GoTo /D (page.68) >>
 >> endobj
-11163 0 obj <<
+11121 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.0185 196.5947 152.9737 206.7813]
+/Rect [141.018 172.684 152.974 182.871]
 /Subtype /Link
 /A << /S /GoTo /D (page.74) >>
 >> endobj
-11164 0 obj <<
+11122 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.0082 183.9222 200.9634 194.8261]
+/Rect [189.008 160.012 200.963 170.916]
 /Subtype /Link
-/A << /S /GoTo /D (page.74) >>
+/A << /S /GoTo /D (page.75) >>
 >> endobj
-11165 0 obj <<
+11123 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.8248 171.967 233.78 182.871]
+/Rect [221.825 148.057 233.78 158.961]
 /Subtype /Link
 /A << /S /GoTo /D (page.75) >>
 >> endobj
-11166 0 obj <<
+11124 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6356 160.0119 278.5907 170.9158]
+/Rect [266.636 136.102 278.591 147.005]
 /Subtype /Link
 /A << /S /GoTo /D (page.75) >>
 >> endobj
-11167 0 obj <<
+11125 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6793 148.0567 216.6345 158.9606]
+/Rect [204.679 124.146 216.634 135.05]
 /Subtype /Link
-/A << /S /GoTo /D (page.75) >>
+/A << /S /GoTo /D (page.74) >>
 >> endobj
-11168 0 obj <<
+11126 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.2353 136.1015 260.1904 147.0055]
+/Rect [248.235 112.191 260.19 123.095]
 /Subtype /Link
-/A << /S /GoTo /D (page.76) >>
+/A << /S /GoTo /D (page.77) >>
 >> endobj
-11169 0 obj <<
+11127 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.1952 124.1464 191.1503 135.0503]
+/Rect [179.195 100.236 191.15 111.14]
 /Subtype /Link
 /A << /S /GoTo /D (page.92) >>
 >> endobj
-11170 0 obj <<
+11128 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.182 112.1912 253.1372 123.0951]
+/Rect [241.182 88.281 253.137 99.185]
 /Subtype /Link
 /A << /S /GoTo /D (page.92) >>
 >> endobj
-11171 0 obj <<
+11129 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0705 100.236 195.0257 111.14]
+/Rect [399.552 719.912 411.507 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.94) >>
 >> endobj
-11172 0 obj <<
+11130 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.0574 88.2809 257.0125 99.1848]
+/Rect [461.539 707.957 473.494 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.94) >>
+/A << /S /GoTo /D (page.95) >>
 >> endobj
-11173 0 obj <<
+11131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 720.6295 401.0062 730.8162]
+/Rect [389.051 696.719 401.006 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.91) >>
+/A << /S /GoTo /D (page.92) >>
 >> endobj
-11174 0 obj <<
+11132 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.0379 708.6744 462.993 718.861]
+/Rect [451.038 684.764 462.993 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.92) >>
 >> endobj
-11175 0 obj <<
+11133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.9264 696.7192 404.8816 706.9059]
+/Rect [392.926 672.809 404.882 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.93) >>
 >> endobj
-11176 0 obj <<
+11134 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.9132 684.764 466.8684 694.9507]
+/Rect [454.913 660.854 466.868 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.93) >>
 >> endobj
-11177 0 obj <<
+11135 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.1269 672.0916 450.0821 682.9955]
+/Rect [438.127 648.181 450.082 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.95) >>
 >> endobj
-11178 0 obj <<
+11136 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.1137 660.1364 512.0689 671.0403]
+/Rect [500.114 636.226 512.069 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.95) >>
 >> endobj
-11179 0 obj <<
+11137 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.5014 648.1812 443.4566 659.0852]
+/Rect [431.501 624.271 443.457 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.93) >>
 >> endobj
-11180 0 obj <<
+11138 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.4883 636.2261 505.4434 647.13]
+/Rect [493.488 612.316 505.443 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.94) >>
 >> endobj
-11181 0 obj <<
+11139 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 624.2709 490.1015 635.1748]
+/Rect [473.165 600.361 490.101 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.104) >>
 >> endobj
-11182 0 obj <<
+11140 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.2707 612.3157 491.2072 623.2197]
+/Rect [474.271 588.405 491.207 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.104) >>
 >> endobj
-11183 0 obj <<
+11141 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 600.3606 394.1121 611.2645]
+/Rect [382.157 576.45 394.112 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.98) >>
 >> endobj
-11184 0 obj <<
+11142 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.8792 588.4054 406.8343 599.3093]
+/Rect [394.879 564.495 406.834 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.99) >>
 >> endobj
-11185 0 obj <<
+11143 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.5595 576.4502 385.5146 587.3542]
+/Rect [373.559 552.54 385.515 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.86) >>
 >> endobj
-11186 0 obj <<
+11144 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.5034 576.4502 400.4586 587.3542]
+/Rect [388.503 552.54 400.459 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.88) >>
 >> endobj
-11187 0 obj <<
+11145 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.0856 564.4951 458.0221 575.399]
+/Rect [441.086 540.585 458.022 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.102) >>
 >> endobj
-11188 0 obj <<
+11146 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.4496 552.5399 438.3861 563.4438]
+/Rect [421.45 528.63 438.386 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.100) >>
 >> endobj
-11189 0 obj <<
+11147 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.1718 540.5847 451.1082 551.4887]
+/Rect [434.172 516.674 451.108 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (page.101) >>
 >> endobj
-11190 0 obj <<
+11148 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.9954 529.3468 423.9506 539.5335]
+/Rect [411.995 505.437 423.951 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.88) >>
+/A << /S /GoTo /D (page.89) >>
 >> endobj
-11191 0 obj <<
+11149 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.6029 517.3917 424.558 527.5783]
+/Rect [412.603 493.481 424.558 503.668]
 /Subtype /Link
-/A << /S /GoTo /D (page.88) >>
+/A << /S /GoTo /D (page.89) >>
 >> endobj
-11192 0 obj <<
+11150 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.936 504.7192 457.8725 515.6232]
+/Rect [440.936 480.809 457.872 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.101) >>
 >> endobj
-11193 0 obj <<
+11151 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.8613 504.7192 477.7978 515.6232]
+/Rect [460.861 480.809 477.798 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.102) >>
 >> endobj
-11194 0 obj <<
+11152 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.2103 492.7641 446.1467 503.668]
+/Rect [429.21 468.854 446.147 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.103) >>
 >> endobj
-11195 0 obj <<
+11153 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.3023 480.8089 424.2388 491.7128]
+/Rect [407.302 456.899 424.239 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.105) >>
 >> endobj
-11196 0 obj <<
+11154 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.7896 469.571 382.7447 479.7577]
+/Rect [370.79 445.661 382.745 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.91) >>
 >> endobj
-11197 0 obj <<
+11155 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.5967 457.6158 375.5519 467.8025]
+/Rect [363.597 433.706 375.552 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.90) >>
 >> endobj
-11198 0 obj <<
+11156 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.4082 444.9434 412.3634 455.8473]
+/Rect [400.408 421.033 412.363 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.98) >>
 >> endobj
-11199 0 obj <<
+11157 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.084 432.9882 453.0205 443.8922]
+/Rect [436.084 409.078 453.02 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.108) >>
 >> endobj
-11200 0 obj <<
+11158 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.6175 421.033 449.554 431.937]
+/Rect [432.617 397.123 449.554 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.106) >>
 >> endobj
-11201 0 obj <<
+11159 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.9199 409.0779 440.8564 419.9818]
+/Rect [423.92 385.168 440.856 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.106) >>
 >> endobj
-11202 0 obj <<
+11160 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0555 397.1227 445.0107 408.0266]
+/Rect [433.056 373.212 445.011 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.99) >>
 >> endobj
-11203 0 obj <<
+11161 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.7777 385.1675 462.7142 396.0715]
+/Rect [445.778 361.257 462.714 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.100) >>
 >> endobj
-11204 0 obj <<
+11162 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.4968 373.2124 436.4333 384.1163]
+/Rect [419.497 349.302 436.433 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.104) >>
 >> endobj
-11205 0 obj <<
+11163 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.4437 361.9745 389.3802 372.1611]
+/Rect [372.444 338.064 389.38 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.107) >>
 >> endobj
-11206 0 obj <<
+11164 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.7641 349.302 418.7193 360.206]
+/Rect [406.764 325.392 418.719 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.97) >>
 >> endobj
-11207 0 obj <<
+11165 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.7509 337.3469 480.7061 348.2508]
+/Rect [468.751 313.437 480.706 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.97) >>
 >> endobj
-11208 0 obj <<
+11166 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2637 325.3917 408.2188 336.2956]
+/Rect [396.264 301.481 408.219 312.385]
 /Subtype /Link
-/A << /S /GoTo /D (page.90) >>
+/A << /S /GoTo /D (page.91) >>
 >> endobj
-11209 0 obj <<
+11167 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.4501 313.4365 451.3865 324.3405]
+/Rect [434.45 289.526 451.387 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.108) >>
 >> endobj
-11210 0 obj <<
+11168 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.3753 313.4365 471.3118 324.3405]
+/Rect [454.375 289.526 471.312 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.109) >>
 >> endobj
-11211 0 obj <<
+11169 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6427 301.4814 506.5792 312.3853]
+/Rect [489.643 277.571 506.579 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.102) >>
 >> endobj
-11212 0 obj <<
+11170 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.1509 289.5262 491.0873 300.4301]
+/Rect [474.151 265.616 491.087 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.103) >>
 >> endobj
-11213 0 obj <<
+11171 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.0538 277.571 484.9903 288.475]
+/Rect [468.054 253.661 484.99 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.104) >>
 >> endobj
-11214 0 obj <<
+11172 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.0257 265.6159 441.9622 276.5198]
+/Rect [425.026 241.706 441.962 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.105) >>
 >> endobj
-11215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.6837 254.378 381.6389 264.5646]
-/Subtype /Link
-/A << /S /GoTo /D (page.88) >>
->> endobj
-11216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.6277 254.378 396.5828 264.5646]
-/Subtype /Link
-/A << /S /GoTo /D (page.89) >>
->> endobj
-11217 0 obj <<
+11173 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.0298 242.4228 379.985 252.6095]
+/Rect [369.684 230.468 381.639 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.89) >>
 >> endobj
-11218 0 obj <<
+11174 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.9738 242.4228 394.929 252.6095]
+/Rect [368.03 218.512 379.985 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.90) >>
 >> endobj
-11219 0 obj <<
+11175 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 229.7504 396.0208 240.6543]
+/Rect [379.084 205.84 396.021 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.107) >>
 >> endobj
-11220 0 obj <<
+11176 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 217.7952 391.761 228.6991]
+/Rect [374.824 193.885 391.761 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.107) >>
 >> endobj
-11221 0 obj <<
+11177 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.2954 205.84 455.2319 216.744]
+/Rect [438.295 181.93 455.232 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.107) >>
 >> endobj
-11222 0 obj <<
+11178 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.2207 205.84 475.1571 216.744]
+/Rect [458.221 181.93 475.157 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.108) >>
 >> endobj
-11223 0 obj <<
+11179 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.6699 193.8849 438.625 204.7888]
+/Rect [426.67 169.975 438.625 180.878]
 /Subtype /Link
-/A << /S /GoTo /D (page.95) >>
+/A << /S /GoTo /D (page.96) >>
 >> endobj
-11224 0 obj <<
+11180 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.5452 181.9297 442.5004 192.8336]
+/Rect [430.545 158.019 442.5 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.96) >>
 >> endobj
-11225 0 obj <<
+11181 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.0444 170.6918 431.9996 180.8785]
+/Rect [420.044 146.781 432 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.95) >>
 >> endobj
-11226 0 obj <<
+11182 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.9197 158.7366 435.8749 168.9233]
+/Rect [423.92 134.826 435.875 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.96) >>
 >> endobj
-11227 0 obj <<
+11183 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.5217 146.7815 395.4768 156.9681]
+/Rect [383.522 122.871 395.477 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.91) >>
 >> endobj
-11228 0 obj <<
+11184 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.8849 134.109 484.8214 145.0129]
+/Rect [467.885 110.199 484.821 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.105) >>
 >> endobj
-11229 0 obj <<
+11185 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.4492 122.1538 454.3857 133.0578]
+/Rect [437.449 98.244 454.386 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.105) >>
 >> endobj
-11230 0 obj <<
+11186 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.2259 110.1987 466.181 121.1026]
+/Rect [454.226 86.288 466.181 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.98) >>
 >> endobj
-11231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2536 98.2435 408.2087 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (page.90) >>
->> endobj
-11232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 86.2883 367.7015 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (page.109) >>
->> endobj
-11233 0 obj <<
+11188 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11138 0 obj <<
-/D [11136 0 R /XYZ 90 757.9346 null]
+11192 0 obj <<
+/D [11190 0 R /XYZ 90 757.935 null]
 >> endobj
-11135 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+11189 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11236 0 obj <<
-/Length 5453      
+11308 0 obj <<
+/Length 1532      
 /Filter /FlateDecode
 >>
 stream
-xڵ]ے#�q}���7τU5���Ճ֒m�V��8�a������P"������;Q��q�r���ї���)\2Q8l���_���à��Ie

�o��3�������~�ŀ_~x���F?��a
>|=�k��Ç�?�����ӯ��ݟ>��A1�3m��������ͯ>��\Ký￾����4�7oX/��_��s����r����o��L�
J}�\:�E�	��k��� d�
|�|�w��a{��6��u�|�Y��D/�r������s��>j
�ؠР̯og<m�`C/�M�P�(*,��y�9�
�����t�]�����v� ��]lPhI�׷ę,� 8�T?�?���s��s=�z�����l>������ �5ơ
5
-���A�x
)�C�����  "$`?�l����<�O���o���
�-��K��w�A޺�o�8nT?�dFQN�
��'�O��;����}��H�
k���d�w�A����ȉ��+�i6$�SNf�nc$vӨ�����r�n~�r��y�t�n�}��|��_�������w��m�=c�q{��
�����a�JE��3��
-O/�;��.k t}pJ'
HW�E��A#a�
nZ�
_����y�z��fA���]lPhE�w�<g�2�`Q�i���("�
b�P�G7�
r~��J;���ލ�o���¡�v�A<�{e,����.6(L����a�K�K���3lFa=�L���
+H|�1�C��
�������>2�U>�
��6 �#���8���lS�i��>=m 9y���N��ye}���bD̫����d~GD��8�s�<���jFQa����@�,pp-�� �3v��H�.6(������z�Yڀ�����"	F��"&a�R�ݗ0��Yl
-��񅦤^'t�l��sI���EEE���� ��E@�w�D@�F�X��$z6 ����W��`���ݣ_$�>
v�1.a���Ŋ���ؠ�4�������,�I
-K�"�.�H�V
UF��Cp�ratAm�����3�[!B20b2i@�H@aF8dbX6��y���<Ae����
?�
-U
�B���j����Rs�sdC�,� IH�O٘QDЅ
(� d�����ϻR�-P���
�H�w�A���o��™�+E�EV쾎a��N�>�<�6�����T� �RG
���#����C��[�S���vPTX��J�Ü��eWa6j�GSjS	�.—6��k��� �I�lS	 "&� s�13��cu+�A!pl�.D���]lP�
�߉
��i�42�6 �
3���aX�|�W�::|�d�tA6�ؠ\����Q���,m@� QD؅e{�^(�n>]^���������W�,�@y��bO
|�N	S����E��L"i at Jnj��"
����)
w�?N��K9�tm�������{�2���i2*�
-�T�sk��T�s�Z4WbA
��]lPhA�w��
�\��M�
r6���~/
-%��Q%�^��O� �[�~s�Vj��3�
-�O
���S���洽\�Q�?=�^�S�8�S
c�w��.&^ki���Ӹ$z�QP;�Bc=$�va���iwj��z(��Ŕb!�ؠDC�w�!_���^�
Ȉ(",2!�����p�{�'������gghH-�����0�;�^���i�HE�E
�K&���ڳp2žd���4|����omi�*�6 {�PTX�Q��L����{�,�s �:��.6(-ͩߩ�*_%�o�6 [�
-����=-BO�1a������D�
-l�Xl�s����s�{��tN	y%OP8�
QTX�B�~|���������۶���ӵ�.S�S�!�t6u�qZ
\�2�^+q7˗�m�<�#2ɩ���ѳ?dHN

-��rR���;|�v����D������E�]���[7-Ɵ^�L�����g��Jˀ�b�Ri���Q!d/�6 �(��P�^j�ϻ��=����܆Ǩ�'���]lP

�~+���CƝ6�0<F6�����tl�
d k{=���ߩ��+=��I7��QDX
	��W���Au$�$l�R4�C��]lP�%�[�EiH��I�ݭ("�B�e��+
h�m�����d{(
K
-���Ō:�
�.6(
K�~'��+&�Dڀ,�
-(*,�`,$�I�
-��b!-�*�!�E��.—��;�5 ;����.z!�ADL�@H�E��G�����M���b�2�~h��7������"	J�V�i�g�u�x�
�UX���Œ.�F|�
�{��|җL�+&�
u�QA��*
�����L��/@�x�V� 1
���
#��
� ��V��j��"m@�Ĉ��"
�
[�iE>��8���W:������>���.ƗϤ�V�k	�sI�‰�Q1S_����]��OFO��]Vy��eo�D�gv��:N������x�4U����rض���H{��Bs�w�A�����	� {�\ڀ�
�E�Ej�18�ôG
��5%,Ɗ
�)Ub|�J��o�
J�
r
�4 +1��0auϬ����ו�V���b�p�*�ؠt��������\���L at Qa��0p����zY�C�>��z�]lP�}�zՇ�i��{oxχp������c��5������ S���'H�(�
 ?+
�i��KH*��.6(eީ�i��<��gR$
�2�"���0�}���F��ҩŀA��������߁�i���e�0bZ�ϗ����
�^�]󦡳��~.��T��]lP�:S��t���KRC.r߀��f at Qa�
��C�S!���@�ha�Fsjc	�.6(m,��*�{�6 c#���
#}|Z�/�9�O��e����b�E
談#��
�W��V�?������
�("�B�z-c!�������u?�_6���.�T6
�]lPJ�S���ȕB��^b�dyG@a�
���X�$�t	�u��Sdx�K\$^kTH�3��}�{&��	
|
�2�KI�h�J"��W�UV	�3�X��]"�@�~+l)�{�SѦ�QD؅�X�Xc�Z�C����"�N�!3�U.���3`���C�x��B�iȺ.��5�J/��Af^+�%�Z��K1���;F��6��ϟw��S�s
��J	&�	1d�R���Vh��`"��p�
nhR$�P
-�_��D<�����HѰ�z�dS��("�BJ,żR/
-�0�k�v1#�̌�b�Bs2��b�24Ð4 �5E�Eb��u<���n^����΅j�<�
�(�V��xB	���
������"���K?a�?�_7�
)�A*�`
���"�Є�~+'���wҶ�����"
� u�;�����#�
�"|a,�^+�
-��wɻ�)3�
sa ֯�>��Od;H�VI�xBҚ��m~�[>�QTX$ ���T���2��
-Z�R��omE���-�
-ZDa��;����s
�f���jI-�	mk�F����%!�Ej�^Y�Hj�b���{Kʎ�OW�mO�^s���-^�ô Ķ�"�.c&��6��C
��k���'d��߉�/�0��
�j[Daso�;���>���
'�'^�^��!�1FE6>�H�{�����z8�[(��Y�Nq���7�Z�cL��T
#�
sY#bYo{���{��;���6�}=~�]r~
T���d��8�[�H37���yA��r'A�x��r��Y+8F<�������&_��(wN�Lj��b�S����P��yU�Rk%ƈ'��
-��
�Ֆ#�
-�
�Ɍ��"��"�vr��x������u��?�?xε�Ĉ���]���>���g���r��"b�j���D���}_�QTX$ ��>
|�?}-<z�H���a��5�����J���F�
�s���j|���
-�O(us�S��S#aT[ �(*,v<�N5�k!��n8��Z10�	Un���-T��# �b`DQa�����������P_�!��|��(7�[]��mR������"��6���.��as�
_._7�����[�ݗR����JI0�	mn
��tL��$QD؅�;e,c���R
P�1��Z�,�	�j'@U(�t�%�E9��ϏOĖ�V�b�V�f^k��ө�*ADL�y,A��G�@��d�V�xB����-
L��BmI,���3
w
-����Z����+U��'䨹ߩ�����н���E�
�O���ra�CS�
�
-aO(Rs��-r
冶QTX� V��L�b�
E�
$�l�
�.5�[�@�jP�
QTX� �����9㰽�J�R
�xB������'wY��bXDa"P}
-,�^`)ܜ*�#��h3���"�%JM<V;�{�yK��V��˱�z}>��t���Y+}E<�A���`�f�nK_E�E
b����X�L/��k���'����j* s�H�ֻ"�
-���ŕ�i	l�B�
�V�xBr��m
(mx[�(*l�x��g�JB��3�
����E������kDQa�'�]�p}��2��Et	%���XW
-aO(Rs��3H4�|�)�E������W��R�2�VD�xB͚������ʴE����"��j��7 �-^
p���׉o��f^k����;\K|� "&R�]Ws���0y��v�����~�����F��
��U�����O������mjos���>y[��h��"�����7[�w�Z8��M�n�-�p4��a��X�:����S0��JeOhVs���
�J(�y0�����X���G��]�~`\���"�Ц�~����֪-�Ev��Nڐ���؂ϵBX����ou�kPjh
aE����
-ԗ�[��s-�Z,�	=j�
�����
QTX�{�?�l}��e.G������R�xB���
i0��+�����Ei�E��R��?�F���RƊxBO������W��k�XE�Ŏ����_/7��A�ձ"���~��?
)4u���	���׏�;)��Ψ��U�:��o�׊��|QTX� ։^���Y�s�-�`�\+WE<�����1�Ojٖ�"�
-���E���ۚ�`�F��:�*�	�h�v
-� ��k
UE�]��������6��tY��"�P��~�gp�7�����TDQa�[���}��.��*c�Z�*�ۢ��ke� y�V�����4�:��l9�b�m~��
�J�?K��Q�
�L_n��K�^�P�|��{�3[����`�6<�����.��N�����؞^�����f���o��}q���uV�?�v��2��:�m$h��_
������]d1�I�!�m������v����/_������?_�����|x_*���v׮B4����1?����R�ҖOP��
����?<�:�>�(���M�_0�7endstream
+x�͚[o�6���+�6�eRu	�<4k�u[ѵ
0,-Z�m�����x�~�-�[�.��-���9<�([(o&/���kSW
�15SYn(�	U�Ae�V�?���՟��˷�l ����Э����r�m�U�����R-
)^0��
�5��V���ʾ�+P
M�}����	8��#I �5�X����&)�^�\/
+SL��B�ru�����f���5��>/W�?���q�S

(\�VLJ��	qq��m(�˕�\?�+�P����c��U��k9�
�<ϼ�s1А�o�~QX�n\2�h���T�O�sX����sfv�G�aG�
�����pu��ݽ%,�� �<�^�HwT�S�3?)e0O�� �L�W�����D�ʚ'�^]�J
+������h,z��9��z�ǁ-�H�	���O�),�V
�TC
`I_��Dc���s�|2��M�P���I�=�y�
��E�!���Ep���Y�#���ih�����4�[���@
32�Y�Ev��z��
+{,-�;q7,
+\��rǻ����<wE�(�|/d�L���Hw�O��{���j����2�3V*@ídy"p肻�kv@���y
+�Y �Г
��Jj�{����o�#�����j_�y>�y�JR,����ٲ����Bp{��D��H;��%!a���g���GN�
�O
�'�.ϧ���l�
q�}���[]{�%
	xT���&<sOxhjb���/'~`a�sk��a�1;��^��
K���<�<Ƒ�;�ߥH]yL���G�}� �>�2�d*���]�F,�i�£�����A��ŋ�ӱR
ǮonL�i5l�t��]_w�5L���og<l�,ۡ=�[��5�e���iH0�|�N��ߊMհ5���45�^�
+�{���@���dl��1�a{�k��*�܁#�Q����vdz��1�����d�,^�h�tsp�$��󒵊���]Ǯ���}`*h�����yb*�7�M5��ώ[�m����{��8Y��*��
���8��9�����le��c+w����ɀ�X�`EX�5�-�W���!��-���`�
5DFk���H���9fs�+P�	��A��h!;�@�G��y%O��������w��؁�wuH�Ej�
��@�"6�=��z
�9�[��hgb�ڢ.�/
x�
+V�з�
t:�}R6�xO�0�[�RQL��1��`
�K
�t~q/xiy�k[z�+�T�pd��f��@u
c�.ْ�l���H�?�������us3�^Θ������8_�Lk�zi`:�u}=�d��txNc8�{��Y3�h�l�V&Q�}��|c�9_�Ag��Jg�NJ��Fi�
+�8;�j>�eڪm٧�꧳Lձt�zN
9*B��l�#�b����z[�P�۪�*�����
�iR��
���ן �����"P!�3u�9Tgs�o�GB*�K��*��_��Б��ņu�إi|�X��{�K�,�1Si��cq��
�!4TK�!~�
鸕�=�!��.�č�SΆ`
+endstream
 endobj
-11235 0 obj <<
+11307 0 obj <<
 /Type /Page
-/Contents 11236 0 R
-/Resources 11234 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 10934 0 R
-/Annots [ 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 11261 0 R 11262 0 R 11263 0 R 11264 0 R 11265 0 R 11266 0 R 11267 0 R 11268 0 R 11269 0 R 11270 0 R 11271 0 R 11272 0 R 11273 0 R 11274 0 R 11275 0 R 11276 0 R 11277 0 R 11278 0 R 11279 0 R 11280 0 R 11281 0 R 11282 0 R 11283 0 R 11284 0 R 11285 0 R 11 [...]
+/Contents 11308 0 R
+/Resources 11306 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11193 0 R
+/Annots [ 11187 0 R 11194 0 R 11195 0 R 11196 0 R 11197 0 R 11198 0 R 11199 0 R 11200 0 R 11201 0 R 11202 0 R 11203 0 R 11204 0 R 11205 0 R 11206 0 R 11207 0 R 11208 0 R 11209 0 R 11210 0 R 11211 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 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 11 [...]
 >> endobj
-11238 0 obj <<
+11187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.772 719.912 191.727 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.91) >>
+>> endobj
+11194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.284 707.957 151.22 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.109) >>
+>> endobj
+11195 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.3886 719.9123 208.3251 730.8162]
+/Rect [191.389 696.002 208.325 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.101) >>
 >> endobj
-11239 0 obj <<
+11196 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3955 708.6744 172.3507 718.861]
+/Rect [160.396 684.764 172.351 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.96) >>
 >> endobj
-11240 0 obj <<
+11197 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.3706 696.0019 208.3258 706.9059]
+/Rect [196.371 672.092 208.326 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.97) >>
 >> endobj
-11241 0 obj <<
+11198 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.3575 684.0467 270.3126 694.9507]
+/Rect [258.357 660.136 270.313 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.97) >>
 >> endobj
-11242 0 obj <<
+11199 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.2918 672.0916 245.247 682.9955]
+/Rect [233.292 648.181 245.247 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.98) >>
 >> endobj
-11243 0 obj <<
+11200 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 650.1189 145.7908 659.0852]
+/Rect [128.854 626.209 145.791 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.109) >>
 >> endobj
-11244 0 obj <<
+11201 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.2114 636.2261 165.1479 647.13]
+/Rect [148.211 612.316 165.148 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.110) >>
 >> endobj
-11245 0 obj <<
+11202 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.4009 612.3157 234.3374 623.2197]
+/Rect [217.401 588.405 234.337 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.111) >>
 >> endobj
-11246 0 obj <<
+11203 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.6751 600.3606 238.6116 611.2645]
+/Rect [221.675 576.45 238.612 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.111) >>
 >> endobj
-11247 0 obj <<
+11204 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.1952 588.4054 196.1317 599.3093]
+/Rect [179.195 564.495 196.132 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.126) >>
 >> endobj
-11248 0 obj <<
+11205 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0705 576.4502 200.007 587.3542]
+/Rect [183.071 552.54 200.007 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.126) >>
 >> endobj
-11249 0 obj <<
+11206 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.5697 565.2123 189.5062 575.399]
+/Rect [172.57 541.302 189.506 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-11250 0 obj <<
+11207 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4451 553.2572 193.3816 563.4438]
+/Rect [176.445 529.347 193.382 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-11251 0 obj <<
+11208 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.6456 540.5847 238.5821 551.4887]
+/Rect [221.646 516.674 238.582 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (page.126) >>
 >> endobj
-11252 0 obj <<
+11209 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.0201 528.6296 231.9566 539.5335]
+/Rect [215.02 504.719 231.957 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-11253 0 obj <<
+11210 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.6837 516.6744 273.6202 527.5783]
+/Rect [256.684 492.764 273.62 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.134) >>
 >> endobj
-11254 0 obj <<
+11211 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.7894 504.7192 274.7259 515.6232]
+/Rect [257.789 480.809 274.726 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.134) >>
 >> endobj
-11255 0 obj <<
+11212 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.6757 492.7641 182.6121 503.668]
+/Rect [165.676 468.854 182.612 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.130) >>
 >> endobj
-11256 0 obj <<
+11213 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.3978 480.8089 195.3343 491.7128]
+/Rect [178.398 456.899 195.334 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.130) >>
 >> endobj
-11257 0 obj <<
+11214 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.9682 468.8537 221.9047 479.7577]
+/Rect [204.968 444.943 221.905 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.132) >>
 >> endobj
-11258 0 obj <<
+11215 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.6904 456.8986 234.6269 467.8025]
+/Rect [217.69 432.988 234.627 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.132) >>
 >> endobj
-11259 0 obj <<
+11216 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.5141 445.6607 212.4506 455.8473]
+/Rect [195.514 421.75 212.451 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.122) >>
 >> endobj
-11260 0 obj <<
+11217 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.1215 433.7055 213.058 443.8922]
+/Rect [196.122 409.795 213.058 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.123) >>
 >> endobj
-11261 0 obj <<
+11218 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [130.518 421.7503 147.4545 431.937]
+/Rect [130.518 397.84 147.454 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.119) >>
 >> endobj
-11262 0 obj <<
+11219 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.4433 421.7503 167.3797 431.937]
+/Rect [150.443 397.84 167.38 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.122) >>
 >> endobj
-11263 0 obj <<
+11220 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.7289 409.0779 229.6654 419.9818]
+/Rect [212.729 385.168 229.665 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.134) >>
 >> endobj
-11264 0 obj <<
+11221 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.1125 397.1227 226.049 408.0266]
+/Rect [209.112 373.212 226.049 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.133) >>
 >> endobj
-11265 0 obj <<
+11222 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 385.1675 207.7575 396.0715]
+/Rect [190.821 361.257 207.757 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.135) >>
 >> endobj
-11266 0 obj <<
+11223 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.3082 373.9297 171.2447 384.1163]
+/Rect [154.308 350.019 171.245 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.122) >>
 >> endobj
-11267 0 obj <<
+11224 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.1154 361.9745 164.0519 372.1611]
+/Rect [147.115 338.064 164.052 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.124) >>
 >> endobj
-11268 0 obj <<
+11225 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.9269 349.302 200.8634 360.206]
+/Rect [183.927 325.392 200.863 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-11269 0 obj <<
+11226 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6027 337.3469 236.5391 348.2508]
+/Rect [219.603 313.437 236.539 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.139) >>
 >> endobj
-11270 0 obj <<
+11227 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.1362 325.3917 233.0727 336.2956]
+/Rect [216.136 301.481 233.073 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.136) >>
 >> endobj
-11271 0 obj <<
+11228 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.4386 313.4365 224.3751 324.3405]
+/Rect [207.439 289.526 224.375 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.136) >>
 >> endobj
-11272 0 obj <<
+11229 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5742 301.4814 233.5107 312.3853]
+/Rect [216.574 277.571 233.511 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.130) >>
 >> endobj
-11273 0 obj <<
+11230 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.4995 301.4814 253.436 312.3853]
+/Rect [236.499 277.571 253.436 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.131) >>
 >> endobj
-11274 0 obj <<
+11231 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.2964 289.5262 246.2329 300.4301]
+/Rect [229.296 265.616 246.233 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.131) >>
 >> endobj
-11275 0 obj <<
+11232 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.2521 277.571 178.1886 288.475]
+/Rect [161.252 253.661 178.189 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.137) >>
 >> endobj
-11276 0 obj <<
+11233 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.3894 265.6159 200.3259 276.5198]
+/Rect [183.389 241.706 200.326 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.137) >>
 >> endobj
-11277 0 obj <<
+11234 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.6386 253.6607 200.5751 264.5646]
+/Rect [183.639 229.75 200.575 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.137) >>
 >> endobj
-11278 0 obj <<
+11235 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.2828 241.7055 207.2193 252.6095]
+/Rect [190.283 217.795 207.219 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-11279 0 obj <<
+11236 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7824 229.7504 196.7188 240.6543]
+/Rect [179.782 205.84 196.719 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-11280 0 obj <<
+11237 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.9687 217.7952 234.9052 228.6991]
+/Rect [217.969 193.885 234.905 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.139) >>
 >> endobj
-11281 0 obj <<
+11238 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.894 217.7952 254.8305 228.6991]
+/Rect [237.894 193.885 254.83 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.140) >>
 >> endobj
-11282 0 obj <<
+11239 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.6695 205.84 274.606 216.744]
+/Rect [257.67 181.93 274.606 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.133) >>
 >> endobj
-11283 0 obj <<
+11240 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.5444 193.8849 225.4809 204.7888]
+/Rect [208.544 169.975 225.481 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.135) >>
 >> endobj
-11284 0 obj <<
+11241 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.2024 182.647 170.1389 192.8336]
+/Rect [153.202 158.737 170.139 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.123) >>
 >> endobj
-11285 0 obj <<
+11242 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5485 170.6918 168.485 180.8785]
+/Rect [151.549 146.781 168.485 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.124) >>
 >> endobj
-11286 0 obj <<
+11243 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 158.0194 179.5395 168.9233]
+/Rect [162.603 134.109 179.539 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.138) >>
 >> endobj
-11287 0 obj <<
+11244 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3432 146.0642 175.2797 156.9681]
+/Rect [158.343 122.154 175.28 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.138) >>
 >> endobj
-11288 0 obj <<
+11245 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.4163 134.109 214.3528 145.0129]
+/Rect [197.416 110.199 214.353 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.128) >>
 >> endobj
-11289 0 obj <<
+11246 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.2917 122.1538 218.2282 133.0578]
+/Rect [201.292 98.244 218.228 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.128) >>
 >> endobj
-11290 0 obj <<
+11247 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.8141 110.1987 238.7505 121.1026]
+/Rect [221.814 86.288 238.751 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.138) >>
 >> endobj
-11291 0 obj <<
+11248 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.1885 98.2435 227.125 109.1474]
+/Rect [426.67 719.912 443.606 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.127) >>
 >> endobj
-11292 0 obj <<
+11249 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.0639 86.2883 231.0004 97.1923]
+/Rect [430.545 707.957 447.482 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.127) >>
 >> endobj
-11293 0 obj <<
+11250 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.0444 720.6295 436.9809 730.8162]
+/Rect [420.044 696.719 436.981 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.127) >>
 >> endobj
-11294 0 obj <<
+11251 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.9197 708.6744 440.8562 718.861]
+/Rect [423.92 684.764 440.856 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.127) >>
 >> endobj
-11295 0 obj <<
+11252 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.5217 696.7192 400.4582 706.9059]
+/Rect [383.522 672.809 400.458 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.122) >>
 >> endobj
-11296 0 obj <<
+11253 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.8849 684.0467 484.8214 694.9507]
+/Rect [467.885 660.136 484.821 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.135) >>
 >> endobj
-11297 0 obj <<
+11254 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.4492 672.0916 454.3857 682.9955]
+/Rect [437.449 648.181 454.386 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.135) >>
 >> endobj
-11298 0 obj <<
+11255 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.6275 660.8537 393.564 671.0403]
+/Rect [376.627 636.943 393.564 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.137) >>
 >> endobj
-11299 0 obj <<
+11256 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.2259 648.1812 471.1623 659.0852]
+/Rect [454.226 624.271 471.162 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-11300 0 obj <<
+11257 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2536 636.2261 413.1901 647.13]
+/Rect [396.254 612.316 413.19 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-11301 0 obj <<
+11258 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.8699 624.2709 424.8064 635.1748]
+/Rect [407.87 600.361 424.806 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.133) >>
 >> endobj
-11302 0 obj <<
+11259 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.8768 613.033 393.8133 623.2197]
+/Rect [376.877 589.123 393.813 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.128) >>
 >> endobj
-11303 0 obj <<
+11260 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.8519 600.3606 429.7884 611.2645]
+/Rect [412.852 576.45 429.788 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-11304 0 obj <<
+11261 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.7731 588.4054 466.7096 599.3093]
+/Rect [449.773 564.495 466.71 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-11305 0 obj <<
+11262 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [479.1125 576.4502 496.049 587.3542]
+/Rect [479.113 552.54 496.049 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.140) >>
 >> endobj
-11306 0 obj <<
+11263 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.9554 564.4951 404.8919 575.399]
+/Rect [387.955 540.585 404.892 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.142) >>
 >> endobj
-11307 0 obj <<
+11264 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.8807 564.4951 424.8172 575.399]
+/Rect [407.881 540.585 424.817 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.145) >>
 >> endobj
-11308 0 obj <<
+11265 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.3968 552.5399 452.3333 563.4438]
+/Rect [435.397 528.63 452.333 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.145) >>
 >> endobj
-11309 0 obj <<
+11266 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.9368 540.5847 510.8733 551.4887]
+/Rect [493.937 516.674 510.873 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (page.145) >>
 >> endobj
-11310 0 obj <<
+11267 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.5592 528.6296 390.4957 539.5335]
+/Rect [373.559 504.719 390.496 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11311 0 obj <<
+11268 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.1482 516.6744 412.0846 527.5783]
+/Rect [395.148 492.764 412.085 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11312 0 obj <<
+11269 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.5967 504.7192 380.5332 515.6232]
+/Rect [363.597 480.809 380.533 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11313 0 obj <<
+11270 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.6649 492.7641 391.6014 503.668]
+/Rect [374.665 468.854 391.601 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-11314 0 obj <<
+11271 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.8269 480.8089 377.7634 491.7128]
+/Rect [360.827 456.899 377.763 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11315 0 obj <<
+11272 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [347.5471 468.8537 364.4836 479.7577]
+/Rect [347.547 444.943 364.484 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11316 0 obj <<
+11273 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.9142 457.6158 383.8507 467.8025]
+/Rect [366.914 433.706 383.851 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11317 0 obj <<
+11274 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.6151 444.9434 415.5516 455.8473]
+/Rect [398.615 421.033 415.552 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11318 0 obj <<
+11275 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.2623 432.9882 456.1988 443.8922]
+/Rect [439.262 409.078 456.199 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-11319 0 obj <<
+11276 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0985 421.033 396.035 431.937]
+/Rect [379.098 397.123 396.035 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-11320 0 obj <<
+11277 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.6652 409.0779 391.6017 419.9818]
+/Rect [374.665 385.168 391.602 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11321 0 obj <<
+11278 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.69 397.1227 403.6265 408.0266]
+/Rect [386.69 373.212 403.626 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11322 0 obj <<
+11279 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.8746 385.1675 367.8111 396.0715]
+/Rect [350.875 361.257 367.811 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.158) >>
 >> endobj
-11323 0 obj <<
+11280 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.8095 373.2124 387.746 384.1163]
+/Rect [370.809 349.302 387.746 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11324 0 obj <<
+11281 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.5344 361.2572 386.4709 372.1611]
+/Rect [369.534 337.347 386.471 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11325 0 obj <<
+11282 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.1491 349.302 417.0856 360.206]
+/Rect [400.149 325.392 417.086 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11326 0 obj <<
+11283 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.5716 338.0642 416.5081 348.2508]
+/Rect [399.572 314.154 416.508 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11327 0 obj <<
+11284 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.3983 325.3917 409.3348 336.2956]
+/Rect [392.398 301.481 409.335 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11328 0 obj <<
+11285 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.2229 313.4365 392.1594 324.3405]
+/Rect [375.223 289.526 392.159 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11329 0 obj <<
+11286 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.5158 301.4814 391.4523 312.3853]
+/Rect [374.516 277.571 391.452 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-11330 0 obj <<
+11287 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.4411 301.4814 411.3776 312.3853]
+/Rect [394.441 277.571 411.378 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11331 0 obj <<
+11288 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.3356 289.5262 388.2721 300.4301]
+/Rect [371.336 265.616 388.272 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11332 0 obj <<
+11289 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 277.571 396.0208 288.475]
+/Rect [379.084 253.661 396.021 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.158) >>
 >> endobj
-11333 0 obj <<
+11290 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.9544 265.6159 393.8909 276.5198]
+/Rect [376.954 241.706 393.891 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11334 0 obj <<
+11291 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.3356 253.6607 388.2721 264.5646]
+/Rect [371.336 229.75 388.272 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11335 0 obj <<
+11292 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 241.7055 396.0208 252.6095]
+/Rect [379.084 217.795 396.021 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.159) >>
 >> endobj
-11336 0 obj <<
+11293 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.9544 229.7504 393.8909 240.6543]
+/Rect [376.954 205.84 393.891 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11337 0 obj <<
+11294 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.2057 217.7952 386.1422 228.6991]
+/Rect [369.206 193.885 386.142 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-11338 0 obj <<
+11295 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.7052 205.84 383.6417 216.744]
+/Rect [366.705 181.93 383.642 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-11339 0 obj <<
+11296 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 193.8849 391.761 204.7888]
+/Rect [374.824 169.975 391.761 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11340 0 obj <<
+11297 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.8559 181.9297 372.7924 192.8336]
+/Rect [355.856 158.019 372.792 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.158) >>
 >> endobj
-11341 0 obj <<
+11298 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.4873 170.6918 388.4238 180.8785]
+/Rect [371.487 146.781 388.424 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.160) >>
 >> endobj
-11342 0 obj <<
+11299 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.2296 158.0194 361.1661 168.9233]
+/Rect [344.23 134.109 361.166 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11343 0 obj <<
+11300 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.2229 146.0642 392.1594 156.9681]
+/Rect [375.223 122.154 392.159 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-11344 0 obj <<
+11301 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.6002 134.109 411.5366 145.0129]
+/Rect [394.6 110.199 411.537 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-11345 0 obj <<
+11302 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 122.1538 367.7015 133.0578]
+/Rect [350.765 98.244 367.702 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.160) >>
 >> endobj
-11346 0 obj <<
+11303 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.0356 110.1987 441.9721 121.1026]
+/Rect [425.036 86.288 441.972 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-11347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.7522 98.2435 397.6887 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (page.155) >>
->> endobj
-11348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [469.6879 86.2883 486.6244 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (page.160) >>
->> endobj
-11349 0 obj <<
+11305 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11237 0 obj <<
-/D [11235 0 R /XYZ 90 757.9346 null]
+11309 0 obj <<
+/D [11307 0 R /XYZ 90 757.935 null]
 >> endobj
-11234 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+11306 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11352 0 obj <<
-/Length 4925      
+11420 0 obj <<
+/Length 1420      
 /Filter /FlateDecode
 >>
 stream
-xڽ][�#��~�_�/��R
�Y
$��86r�x�Y`�$�n�-D-�%u&��>���S���p�YÀ1��xnuxxH֧w
�w��9�W���?��w���ވ��>�b�/?�y��5w�y+����n�`F
-y����o�_������o�4�7��ke�o���#J�eE��Û?���=��}Ù��?p&��wOo�T��7߼�/�3|p����q���	���Ҩ;'��L�?�{'�ۿp.�����gk���q��>:?��?E� ��d�I�{�5�N0�X�
XE Q�Z
�L><�_������~��oA�6�<���w�!��������ne@�����N�[�0�u��~x�
������Nx���.���Rf��+f��K݉�#�P�~�.L�~r|�?
/��5��N3���G�O�.
��&�[
-A�wnm�:�R�Ap�I������yw�ܗ���i���@L�.Ƨ%R
a��g�9�R�
-��s`���$�n_����q�=����n
E�ˆ���\X�-�Bό�ve@�
#�R�A0�)���{<����o�͜�n�S�`�w�\-X�
ܷi!��znW�ݟP�Zt_yH?��0
���9�~��� �`b��a�������=���]I���Jz%��x@~%Y�-E�Aj�Pw$uDQj1��1-�"��3��Y��
��g�w>�=+���1�f�=ɝD�D���}����J{.�t
u�w�|
��[i��̮
ȴP7����
��[������G��y �����9��r��������#�R;�o<l
-Lo��[�+��1�&��������[��� �li@����Ԣ�j-WCž�����¡�1� j�
�]< �z��� �$
$�Ҁu
&�c`
��j��z���^C㫣aD&|Ș��-e����k�(�(J-F�Xu�D��N����yMY�X���E�����g�[y$���#��v�22��Pj�~'��-<��ק������v��������ÇyO����Oi@�g��^�(�\/ɺ8�x@&,��Rd4�^^����L(J-f� ��
�h��y9�)
4|�l���i
^���t�|o�,��gL�.
��h$ro!q"1 at CT|m�z�1��sH��>E��iC13�c�s�qDfL�.
��'�[
-��L	�6 �p�(J��
��
�i��Ι=�r����T��]< W,�r
�
rʼn�I�Q�Z�W�?�>c�غ͈�]F�x]�d,��u�;��}���&����9���c�����U�*�-g��Y�Lw;�V�! ?�7C���!
u]7��}i��2Kó�=�ޒ�w�w�L�M��(�z�z�2`]v&�6RY&�PM���m�ϜJ�
rz�F�e�w�LX�CXTb 4�F���L(B�<�ైފϽ	�q�7��M��
�|�&`i@�&�P�a�U
��ii.e�m�-��o��x�
{�Xj�we�J{���Љ�s(H���%�>������H�����ĄQ��éM̈���M�Zn)��B�ە�&fDQj�h��gJr�y78��f 
P�XX�
�t�4�x3@�� ���5�y$��Z����#�5� ���K�G�Z
���Jp���Z�Us���;5�l�bmf�TM�]< WT�ro���V��ak�4 )+#�R��3����iz]T����*���ї�ݥ�~�P�Ԝ�q��&�� [...]
(^�ji�i�<�V�f�'<�~-�Xp�N�;��	E�����Y�x��ඣ�^<zY�[��S�����
������zX�?�������u��0q����{�w��k�C�ۧ�
��vm at r�?�����9�?縤t�-a�4w�I
�L�.�g�L�R
Y!am5�_i_��L���9+`��
���}-�l�k���v��M��]P�k	�A��	�m��Zאx at e
Y����K�k��W�y�L[5����4���il@�署.t�iUe�'�3���:�d���A6,u
�]4d�*��h��K��u��psǕ���|��i��rݟ��g���Z�z�
��=#l�P��yi@��P;M�pt$������ߜC���j��I��x@~[��[��P4�[�y'�"Ԇ,�-�p�kp�,�bs�i�^3���NMq��(��=��dfO"w�K��H��I#��gτ"�ι}����~��l����<�xﷇͧ��o�"���c�� �Q��]< �D�-*��5vm�$5eDj�(
�S
֡�֦&
Pij�d"���ҀbSC��ʐ�c/����֦&
Pij�d�ە�Ŧ�P��
���MM
�ۚ�^lj��
����RSSW�,���v���,�u(-)��
����2�x@��$r�������^�
XFFH�a�57b&��A�Z�\�E� CJ1
��%���/ϧ�ͯN����J�旧$1U:
�
-���B<A�J�b��n�|-DQj�X�\�j���

]���)q��Ax�Y�H-�E;� ~���BP]����O�N���n�|���+h -tܭ\.���T����	���:_�r!�R�!��S�[
*�7M�
��*�[C����Z�r!�R�a��ScSw��ezh�u3�
��*�[
- D
-f���E�� ������a���
7��u^�^�+�iQ�E�P~y]�'V��`���⬍d\jY�u!�R�H˶�ڀu
�K���T��;x�����jo�'�vN����F���k���6�	�X"u��K
@�ͷFKC�C1���1������0#`�m+S
�u�X"��&��y������91A�?�Jm�m�!� ��r�,p����9j��Ԣ�9�����V�<<��rC<A7K���&�>[g�!�R�H�RhW���V�O�O��E��C��׽F���7Yn_fO�/�%�[�}�'Hv���S�̅��*�Q�Z�?��jX�z�}+���.�[j�l�s�}�҇(J-�
s����L��a�&ZY|�'�t��R�4�m7Z�Y|��Ԣ�����J�=7,��I/l#��u�]"��>ͤ2���C�s-��<��U�[�����R�
w,�u'P]���cZc�/�Lg�����x@~�/喊�
T�6 3�o(J-z�$�o{+�
�����x�7��-�H��^�隈��N'K
Jd��R�
-��V��7O�(S��n��]��N�D�vN��.�������i���B�M���D<A�L��۴	�ԗ���6E���_P&���̊h�sʷr6O�'S�%�-�7��:gQ�Z����lb���ٜ�U�d"���ׯq6�C]'Ʈ�������9/)ue*��9�bQ�n�K
-�v*��
ι��x�֜A��V'�	&e*�Mm¼�N�D�v�f3��?|����
��]&B�1� ��ˉx�T��
"��xɄT���D�v�m1wr��ԫ+h
�%4�$N�l�T���
�A�u�ĉ(Jm"-_^��D��t���R�Ƚy-Ҧ��pL��^#�R�O="��/�xz9�y�u#}�u*i"��?3���J_E���y������u3^����L�F_E<�#M�cq�*�N_E�v�Ƃ0:D�����y�=�ί��q���uwɮ2����eE<A*M�jBXdx��eE�v�H�
}�(�D�"[xr�4V�|�Tn!#���F�i���Ԣ�1������1�[��FE<A
M���dVqYg�"�R�a�)����rX&��\R���Tn1
V�:�Q�Z�i�ǡ-��#�h�J"�F^\I,����XQ�J"��
=���mp��f�}�
�@K{�f�#�	�a*���K<G0
E��0�<����:�JXD<�
L�V�	!�EDQj���1w��|%f�l��!� ѥrə_��E3��v
-�����m�?���n��!��ԥr�mLl�	"�(���Bw=][�!�ë~��>���Tn��۾N�C�w��侯���l���� ��|�s��Cv�\��
WU>��:�܈Ipa�T��ӱ.0��y�'�q��[Tv
e�uuF
�(�����������S�Lu��٭=�\�T���+T*\�:EQ��9 1Cn�K���ϫ���x�:��-�v�,E���(B�
����
-��[Ȕ���-����_3^�
""s'|��k2/�P��9"1�o�H��B��!�Z釈'x���!*MK
�
Y�"�R;�`AB\ƀ�j1K�jň����=rK���~m�: �P;$&9.r�d�b^�f�%�	�c*w�N��g���N�D���
WA���@1򦕀�x�	��-E�A�a!�F�D�v�H�o
y��j�X&f�s_��F�%�	�c*���H�T�N�*�Q��91�1��
��
��?�|K���Tn)(���	�%��sPb�b�L�!���\��&O�S�C �K=�f���&E���3���À�ʥ���1�Z
-	���u&%��sHb"c�yw6j���
ш*.
e+���1�[j��f<
�TI��"������Գ�{1��X'2��b�d�����>1�W(����va��QL��'�9
JG���'�?�?t�1�����w�������tt0�8�
?��ew��wƼ�
?�a{|�
���>�8/��q�%�����uJ���v)]�='
�v
������.�8��F
��E�&ro�p�>x��ӧO���^���3�_�??�瘅Ж��]���JlYD��j�za�w�����y|��wᯌ���`�Kp*g�?@��Lendstream
+x��Z[o�6~����0XdR2u	�>�޶���iA0��(���z�~�%�숤�dDz��|��\)g� ����|4}�N�Ɓ8�'N@yЙ������/^�=�2��@���m���Q����|�mէ���_��
}�$���
pR��[�~
9�ͪܙy���9�F��]&�a�z�!'�|��*E�Lʒ-�o��`�h||=r��<��vA#�9�
��n�Z��	Dc"r�/�l}KSA�{v-�X��?/�BT�'T'+ ���J
+z3���3 ^�(�ZЎ`ςݬ���~�H���XJ�O$Ɠ�����+�Ж�XR�sU���T�ȊKHv"/��d�=���֑�Bԋ�� ����m��ɓf�n� w���]bK�l�A�&4=V���sq���@���S��
��
�_�R
+��x(*W�d��	�2d`�!񧵊��^�~�F��@����)�8�Xu�\���T����y�S1��9T��
��
+y"�c����K��?큝Pq�٦�8�6�N��ׅFb&kY�;�#��0}a
�h¸7�Z��
�Vs�^��L�ò8
֦7У�r
�y�
8���b�x�`7ހ�f�]�L�p�іݨ�I?�I���v�����s��sd��u��|��z�m��h���M�=
������b0�4��1�o7�N�0D��z��|��iZ%���W��Qh`
5.��X�"��`٫�
�
�3N�^X��[R��K�4�dxE���(g|���i�1b,���}�Y�X��_mJ�"e�@�#�f&
P�ʫ�e�xZ����W�+Q��yQ/�^�P�<?+~؍�]
+�c�k�ͲFW��p��d�e%(^�{
���z���m���#�*�XJ	ǩ��I=���z���� |��&��25��f�L��u�g�1�M�q��
+�q⋭w���
�*�G�!M���;������w�Kw9���x�<69�3K�fgv{v�L�YAR-Z����
=X��

=C��;ac>���f_�?\�7\�z͂�F>w]��똇��p}��W��x؟@66�A���v
Cª
�j�i^�����z-iik��"I�ᨀZ�'�m��$�o
�H�ګw5�
+�
SEOţiY~r ��z��hwQ�t�="}
+��^�45��������ܺ�g��.��C
�rX4;��6�&�wg<�7�=貢i�����͎�
z�|
/
'q���
�O�����
,�Z�W��:լ���E�w���X�1�L�>
�q�G�cj(vj���t���3?���$�\���������	B㲹�@xE���g�@{�T��7�����W�Cwr櫾���ƍz_��w��u�i��=����V���t�Z�ܤt+Ζ�er�\f�
vT�p���F
+v�ִ6`��~��>avw��&�
����
+endstream
 endobj
-11351 0 obj <<
+11419 0 obj <<
 /Type /Page
-/Contents 11352 0 R
-/Resources 11350 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 11461 0 R
-/Annots [ 11354 0 R 11355 0 R 11356 0 R 11357 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 11387 0 R 11388 0 R 11389 0 R 11390 0 R 11391 0 R 11392 0 R 11393 0 R 11394 0 R 11395 0 R 11396 0 R 11397 0 R 11398 0 R 11399 0 R 11400 0 R 11401 0 R 11 [...]
+/Contents 11420 0 R
+/Resources 11418 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11193 0 R
+/Annots [ 11304 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 11338 0 R 11339 0 R 11340 0 R 11341 0 R 11342 0 R 11343 0 R 11344 0 R 11345 0 R 11346 0 R 11347 0 R 11348 0 R 11349 0 R 11350 0 R 11351 0 R 11352 0 R 11353 0 R 11354 0 R 11355 0 R 11356 0 R 11 [...]
 >> endobj
-11354 0 obj <<
+11304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.271 719.912 181.207 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.155) >>
+>> endobj
+11310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.207 707.957 270.143 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.160) >>
+>> endobj
+11311 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.713 720.6295 172.6495 730.8162]
+/Rect [155.713 696.719 172.649 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-11355 0 obj <<
+11312 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.0495 707.9571 178.986 718.861]
+/Rect [162.049 684.047 178.986 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.164) >>
 >> endobj
-11356 0 obj <<
+11313 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.6357 696.0019 174.5722 706.9059]
+/Rect [157.636 672.092 174.572 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-11357 0 obj <<
+11314 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.1372 684.764 190.0737 694.9507]
+/Rect [173.137 660.854 190.074 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-11358 0 obj <<
+11315 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.4377 672.0916 219.3742 682.9955]
+/Rect [202.438 648.181 219.374 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-11359 0 obj <<
+11316 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.5794 660.1364 189.5159 671.0403]
+/Rect [172.579 636.226 189.516 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-11360 0 obj <<
+11317 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.7504 648.8985 170.6869 659.0852]
+/Rect [153.75 624.988 170.687 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11361 0 obj <<
+11318 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 636.2261 179.5395 647.13]
+/Rect [162.603 612.316 179.539 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11362 0 obj <<
+11319 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.875 624.2709 166.8115 635.1748]
+/Rect [149.875 600.361 166.812 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11363 0 obj <<
+11320 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.4939 612.3157 172.4304 623.2197]
+/Rect [155.494 588.405 172.43 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-11364 0 obj <<
+11321 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3432 600.3606 175.2797 611.2645]
+/Rect [158.343 576.45 175.28 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11365 0 obj <<
+11322 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.0232 588.4054 177.9597 599.3093]
+/Rect [161.023 564.495 177.96 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11366 0 obj <<
+11323 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3392 576.4502 192.2757 587.3542]
+/Rect [175.339 552.54 192.276 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-11367 0 obj <<
+11324 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.638 564.4951 200.5745 575.399]
+/Rect [183.638 540.585 200.575 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-11368 0 obj <<
+11325 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 552.5399 151.2202 563.4438]
+/Rect [134.284 528.63 151.22 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.167) >>
 >> endobj
-11369 0 obj <<
+11326 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 530.6868 145.7908 539.5335]
+/Rect [128.854 506.777 145.791 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.167) >>
 >> endobj
-11370 0 obj <<
+11327 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.9904 517.3917 247.9269 527.5783]
+/Rect [230.99 493.481 247.927 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.171) >>
 >> endobj
-11371 0 obj <<
+11328 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.3704 504.7192 213.3068 515.6232]
+/Rect [196.37 480.809 213.307 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.171) >>
 >> endobj
-11372 0 obj <<
+11329 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.0469 493.4813 152.9834 503.668]
+/Rect [136.047 469.571 152.983 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.171) >>
 >> endobj
-11373 0 obj <<
+11330 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 480.8089 179.5395 491.7128]
+/Rect [162.603 456.899 179.539 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.172) >>
 >> endobj
-11374 0 obj <<
+11331 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 468.8537 151.2202 479.7577]
+/Rect [134.284 444.943 151.22 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.172) >>
 >> endobj
-11375 0 obj <<
+11332 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.4979 444.9434 240.4344 455.8473]
+/Rect [223.498 421.033 240.434 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.172) >>
 >> endobj
-11376 0 obj <<
+11333 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.5811 432.9882 263.5176 443.8922]
+/Rect [246.581 409.078 263.518 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.173) >>
 >> endobj
-11377 0 obj <<
+11334 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.713 421.7503 172.6495 431.937]
+/Rect [155.713 397.84 172.649 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-11378 0 obj <<
+11335 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.424 409.7952 172.3605 419.9818]
+/Rect [155.424 385.885 172.361 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-11379 0 obj <<
+11336 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.2744 397.1227 196.2109 408.0266]
+/Rect [179.274 373.212 196.211 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-11380 0 obj <<
+11337 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.1372 385.8848 190.0737 396.0715]
+/Rect [173.137 361.975 190.074 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-11381 0 obj <<
+11338 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.5794 373.2124 189.5159 384.1163]
+/Rect [172.579 349.302 189.516 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.179) >>
 >> endobj
-11382 0 obj <<
+11339 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.8543 361.2572 171.7908 372.1611]
+/Rect [154.854 337.347 171.791 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.181) >>
 >> endobj
-11383 0 obj <<
+11340 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 349.302 179.5395 360.206]
+/Rect [162.603 325.392 179.539 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.182) >>
 >> endobj
-11384 0 obj <<
+11341 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.4731 337.3469 177.4096 348.2508]
+/Rect [160.473 313.437 177.41 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.180) >>
 >> endobj
-11385 0 obj <<
+11342 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.3984 337.3469 197.3349 348.2508]
+/Rect [180.398 313.437 197.335 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.181) >>
 >> endobj
-11386 0 obj <<
+11343 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.8543 325.3917 171.7908 336.2956]
+/Rect [154.854 301.481 171.791 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.181) >>
 >> endobj
-11387 0 obj <<
+11344 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.4731 313.4365 177.4096 324.3405]
+/Rect [160.473 289.526 177.41 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.180) >>
 >> endobj
-11388 0 obj <<
+11345 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3432 301.4814 175.2797 312.3853]
+/Rect [158.343 277.571 175.28 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.180) >>
 >> endobj
-11389 0 obj <<
+11346 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.2685 301.4814 195.2049 312.3853]
+/Rect [178.268 277.571 195.205 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.181) >>
 >> endobj
-11390 0 obj <<
+11347 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 289.5262 151.2202 300.4301]
+/Rect [134.284 265.616 151.22 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.182) >>
 >> endobj
-11391 0 obj <<
+11348 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.5865 277.571 150.523 288.475]
+/Rect [133.587 253.661 150.523 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.178) >>
 >> endobj
-11392 0 obj <<
+11349 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.5784 265.6159 297.5149 276.5198]
+/Rect [280.578 241.706 297.515 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.182) >>
 >> endobj
-11393 0 obj <<
+11350 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 253.6607 179.5395 264.5646]
+/Rect [162.603 229.75 179.539 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.185) >>
 >> endobj
-11394 0 obj <<
+11351 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3432 241.7055 175.2797 252.6095]
+/Rect [158.343 217.795 175.28 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.185) >>
 >> endobj
-11395 0 obj <<
+11352 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 229.7504 151.2202 240.6543]
+/Rect [134.284 205.84 151.22 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.185) >>
 >> endobj
-11396 0 obj <<
+11353 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.4979 205.84 240.4344 216.744]
+/Rect [223.498 181.93 240.434 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.186) >>
 >> endobj
-11397 0 obj <<
+11354 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 183.987 145.7908 192.8336]
+/Rect [128.854 160.077 145.791 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.187) >>
 >> endobj
-11398 0 obj <<
+11355 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.8775 169.9745 192.814 180.8785]
+/Rect [175.878 146.064 192.814 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.187) >>
 >> endobj
-11399 0 obj <<
+11356 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.312 158.0194 271.2485 168.9233]
+/Rect [254.312 134.109 271.249 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.188) >>
 >> endobj
-11400 0 obj <<
+11357 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.7063 146.0642 235.6428 156.9681]
+/Rect [218.706 122.154 235.643 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.190) >>
 >> endobj
-11401 0 obj <<
+11358 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 134.109 179.5395 145.0129]
+/Rect [162.603 110.199 179.539 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.190) >>
 >> endobj
-11402 0 obj <<
+11359 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3432 122.1538 175.2797 133.0578]
+/Rect [158.343 98.244 175.28 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.190) >>
 >> endobj
-11403 0 obj <<
+11360 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 110.1987 151.2202 121.1026]
+/Rect [134.284 86.288 151.22 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.190) >>
 >> endobj
-11404 0 obj <<
+11361 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.1416 98.2435 290.0781 109.1474]
+/Rect [489.623 719.912 506.559 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.191) >>
 >> endobj
-11405 0 obj <<
+11362 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 709.8948 362.2721 718.861]
+/Rect [345.336 697.94 362.272 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.191) >>
 >> endobj
-11406 0 obj <<
+11363 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.379 696.0019 478.3155 706.9059]
+/Rect [461.379 684.047 478.315 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.191) >>
 >> endobj
-11407 0 obj <<
+11364 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.6277 684.0467 401.5642 694.9507]
+/Rect [384.628 672.092 401.564 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.198) >>
 >> endobj
-11408 0 obj <<
+11365 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.1943 672.8089 389.1308 682.9955]
+/Rect [372.194 660.854 389.131 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.198) >>
 >> endobj
-11409 0 obj <<
+11366 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.8184 660.8537 374.7549 671.0403]
+/Rect [357.818 648.899 374.755 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.198) >>
 >> endobj
-11410 0 obj <<
+11367 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.084 648.1812 453.0205 659.0852]
+/Rect [436.084 636.226 453.02 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.200) >>
 >> endobj
-11411 0 obj <<
+11368 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.0092 648.1812 472.9457 659.0852]
+/Rect [456.009 636.226 472.946 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.201) >>
 >> endobj
-11412 0 obj <<
+11369 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.7557 636.2261 412.6922 647.13]
+/Rect [395.756 624.271 412.692 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-11413 0 obj <<
+11370 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.4501 624.2709 451.3865 635.1748]
+/Rect [434.45 612.316 451.387 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.201) >>
 >> endobj
-11414 0 obj <<
+11371 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3353 613.033 362.2718 623.2197]
+/Rect [345.335 601.078 362.272 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11415 0 obj <<
+11372 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 600.3606 396.0208 611.2645]
+/Rect [379.084 588.405 396.021 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-11416 0 obj <<
+11373 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.0096 600.3606 415.9461 611.2645]
+/Rect [399.01 588.405 415.946 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.202) >>
 >> endobj
-11417 0 obj <<
+11374 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 588.4054 391.761 599.3093]
+/Rect [374.824 576.45 391.761 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-11418 0 obj <<
+11375 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.8746 576.4502 367.8111 587.3542]
+/Rect [350.875 564.495 367.811 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.198) >>
 >> endobj
-11419 0 obj <<
+11376 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.1138 564.4951 360.0503 575.399]
+/Rect [343.114 552.54 360.05 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11420 0 obj <<
+11377 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.2954 552.5399 455.2319 563.4438]
+/Rect [438.295 540.585 455.232 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-11421 0 obj <<
+11378 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.2207 552.5399 475.1571 563.4438]
+/Rect [458.221 540.585 475.157 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.200) >>
 >> endobj
-11422 0 obj <<
+11379 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 540.5847 367.7015 551.4887]
+/Rect [350.765 528.63 367.702 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-11423 0 obj <<
+11380 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.0678 528.6296 367.0043 539.5335]
+/Rect [350.068 516.674 367.004 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11424 0 obj <<
+11381 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [495.6998 516.6744 512.6363 527.5783]
+/Rect [495.7 504.719 512.636 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.202) >>
 >> endobj
-11425 0 obj <<
+11382 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.7895 505.4365 387.726 515.6232]
+/Rect [370.79 493.481 387.726 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-11426 0 obj <<
+11383 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.7776 493.4813 361.7141 503.668]
+/Rect [344.778 481.526 361.714 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-11427 0 obj <<
+11384 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 480.8089 396.0208 491.7128]
+/Rect [379.084 468.854 396.021 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-11428 0 obj <<
+11385 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 468.8537 367.7015 479.7577]
+/Rect [350.765 456.899 367.702 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-11429 0 obj <<
+11386 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.9792 444.9434 456.9157 455.8473]
+/Rect [439.979 432.988 456.916 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-11430 0 obj <<
+11387 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.1835 432.9882 493.1199 443.8922]
+/Rect [476.183 421.033 493.12 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.208) >>
 >> endobj
-11431 0 obj <<
+11388 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.5592 421.033 390.4957 431.937]
+/Rect [373.559 409.078 390.496 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-11432 0 obj <<
+11389 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.4845 421.033 410.421 431.937]
+/Rect [393.484 409.078 410.421 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11433 0 obj <<
+11390 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.1482 409.0779 412.0846 419.9818]
+/Rect [395.148 397.123 412.085 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11434 0 obj <<
+11391 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.6151 397.1227 415.5516 408.0266]
+/Rect [398.615 385.168 415.552 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11435 0 obj <<
+11392 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.2623 385.1675 456.1988 396.0715]
+/Rect [439.262 373.212 456.199 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-11436 0 obj <<
+11393 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.6652 373.2124 391.6017 384.1163]
+/Rect [374.665 361.257 391.602 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11437 0 obj <<
+11394 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.69 361.2572 403.6265 372.1611]
+/Rect [386.69 349.302 403.626 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11438 0 obj <<
+11395 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.2229 349.302 392.1594 360.206]
+/Rect [375.223 337.347 392.159 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11439 0 obj <<
+11396 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.5158 337.3469 391.4523 348.2508]
+/Rect [374.516 325.392 391.452 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-11440 0 obj <<
+11397 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.4873 326.109 388.4238 336.2956]
+/Rect [371.487 314.154 388.424 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-11441 0 obj <<
+11398 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.7709 313.4365 392.7074 324.3405]
+/Rect [375.771 301.481 392.707 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11442 0 obj <<
+11399 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.2229 301.4814 392.1594 312.3853]
+/Rect [375.223 289.526 392.159 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11443 0 obj <<
+11400 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.6002 289.5262 411.5366 300.4301]
+/Rect [394.6 277.571 411.537 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-11444 0 obj <<
+11401 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.0356 277.571 441.9721 288.475]
+/Rect [425.036 265.616 441.972 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-11445 0 obj <<
+11402 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.8101 265.6159 456.7466 276.5198]
+/Rect [439.81 253.661 456.747 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.211) >>
 >> endobj
-11446 0 obj <<
+11403 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.6765 253.6607 412.613 264.5646]
+/Rect [395.676 241.706 412.613 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.230) >>
 >> endobj
-11447 0 obj <<
+11404 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.6633 241.7055 474.5998 252.6095]
+/Rect [457.663 229.75 474.6 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.231) >>
 >> endobj
-11448 0 obj <<
+11405 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.5519 229.7504 416.4883 240.6543]
+/Rect [399.552 217.795 416.488 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.231) >>
 >> endobj
-11449 0 obj <<
+11406 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.5387 217.7952 478.4752 228.6991]
+/Rect [461.539 205.84 478.475 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.232) >>
 >> endobj
-11450 0 obj <<
+11407 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 206.5573 405.9875 216.744]
+/Rect [389.051 194.602 405.987 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.233) >>
 >> endobj
-11451 0 obj <<
+11408 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.0379 194.6021 467.9743 204.7888]
+/Rect [451.038 182.647 467.974 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.233) >>
 >> endobj
-11452 0 obj <<
+11409 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.9264 182.647 409.8629 192.8336]
+/Rect [392.926 170.692 409.863 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.234) >>
 >> endobj
-11453 0 obj <<
+11410 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.9132 170.6918 471.8497 180.8785]
+/Rect [454.913 158.737 471.85 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.234) >>
 >> endobj
-11454 0 obj <<
+11411 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.4085 158.0194 425.345 168.9233]
+/Rect [408.408 146.064 425.345 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.231) >>
 >> endobj
-11455 0 obj <<
+11412 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [470.3953 146.0642 487.3318 156.9681]
+/Rect [470.395 134.109 487.332 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.231) >>
 >> endobj
-11456 0 obj <<
+11413 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.2839 134.109 429.2203 145.0129]
+/Rect [412.284 122.154 429.22 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.236) >>
 >> endobj
-11457 0 obj <<
+11414 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.2707 122.1538 491.2072 133.0578]
+/Rect [474.271 110.199 491.207 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.236) >>
 >> endobj
-11458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.1269 110.1987 455.0634 121.1026]
-/Subtype /Link
-/A << /S /GoTo /D (page.232) >>
->> endobj
-11459 0 obj <<
+11415 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 88.3456 362.2721 97.1923]
+/Rect [438.127 98.244 455.063 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.232) >>
 >> endobj
-11460 0 obj <<
+11417 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11353 0 obj <<
-/D [11351 0 R /XYZ 90 757.9346 null]
+11421 0 obj <<
+/D [11419 0 R /XYZ 90 757.935 null]
 >> endobj
-11350 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+11418 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11464 0 obj <<
-/Length 5409      
+11531 0 obj <<
+/Length 1615      
 /Filter /FlateDecode
 >>
 stream
-xڽ]k�
����_1�VºJ|?�8��x���]k��њ)I��tw�{"+�~/�X,_��������{�S|�K�T�;��;K�Խ�B��?� w��߼���>�b���}��7J���*��޾-(�KF��ۇ?������^���o�1=�
-
��
��__|�6X��%W����?���=@%~����y�	~!=���=��Ͽ<����;�c�R$�FH5���I~�\����p��ʗ�������x�]�����E�FUO����.������V����v]�Y8�B�'H�(����=������LJ���xx:�}����g�=����
-�dvk�X�[��
-���(�m�GY�S)��|�
��8\��ӥ�g���6XA8��]�/P�Z�Q�w	��j���2��>>�vC�l"��e(���D�)-{&�F�	�..P�kfw"(�����B&H
-(�m�H����y?�
O��z�5�2<�
�
Ә2�	��L�.��KbsdC�|�^1׭V���2��
���
�f�|9�y���0�6R/f0F<��
�8I�VY�fV%�X�(���
-�0���u߿b��O���;<�?ƊR���.��2㻸@�B��i�ج���ʴ�X�Q���ӽ`"��|*Lh0l
E"fx�
J�N݁dޭ��k�)
3�H���Ls������
��	���5@nj�����ٝ�`YĤHnjB�.|�CP��|T{��:�X���]\���vk�p�+N�
-dQ�G!n%�B.�\(���_NO����[~���)
��:Kyd���..P�Wfw����y�^H��
-�t�(�m��+0�3:�
�'�O>����:�,F��wq���*
�q�V �£0��
-��0��
����6
����z=|8x�����
��J<�v����D��Q�Hy�Q�������|����y8B����0
�5:g��\��X���]�/��Չ
�y��T'�S*fP��„�`�k3S1%pyv�~�	L� �f|(T$�[T��MZ�t5�Q���~N!�czn���za`�R������..P�Ffwj}
QA�L�L+��~FanC�)d?LO3��a\5��q0Ԧ#�,�ء,BŌ���:evk�%����ҤYX�Q��@ѽ�l}�[!>�d#�@
-AL��� Dx|(��iZХI�h%�
-dA�G!n�B\�h����1��
-!��f)���
��J!fj�F�G��Y��Q�ۅ
-��G��~�����nx�Rl�c�w��7VV+	�{蒊�{�g� �gj��,����Xi��w�c��S{i����X�n�
j�\����C�i?�z��aE�0;%
��J��vk��3�TR�,n�(��B�"���ҵ�r;]���^h���
3��
���֢(n{A�J*�
-�B�.t�JN������>J�.��w��
�)�FB�8��z|(-���i1�g�L�I��ڣ0��
�z*�f}s9�{��Z��]�H�g|(T!�;ET�ҥ��s=
-s�YsnbL�4�h✭
��X
2�S��
-(x�\3��3
-s
9
@�vtt�q�#ࡰ� U3�Z�X�=��
���ڝƿ���[��
-dy�GanC�!g|�z8ކ�u��A��ʬ��4���E�r^��:
{SJ�!
Z;/$��x
X��45�A�LI�����=��
���S�5F��3b�
-���(�m`��s`rb�
-����2�J�B:
-�,��ƅ�wq�ҸH�V�k�T�>#s�Uϕ?s���t�q����^k���z|(�����
h�0�
-d��Gan

-"J����t>=�>
�����w���k�hJK	~(��R
��J�Tj����)+DR�,��(��B�
���&�G�
nӽ�ynJ�o�=p�o̸͟�3��A3��
��N�H�
-L�.�\W �B�Q�ۅ Az�bg;%�N����#�
�r�Y�1!���[�.FH���3�
-��aI1��!$����5����k&��3F�V˴)93
-q��C!�7v�ʟ��-;30���s�
ӉGKT�2�������Da����@i:1�
-�t�0AD������+wG$�p֭ 3
[[=��
�����4��1��B��Y��Q�۹��~�:�
^�9�ة
k��wq�R�S���kx�&�@�z���f֊Qc��	��������v�aT
*�F{�4<q�01-J���xK
-L��ߒ�]\�|Kjm�����?1��
-nI�(�mh7��Z����<�����P�]�o��t��W�� I���EK��t�"�]<b7g<���>�X��n��
~�=
�=�����PnV�}�ea���X���	����y"�[m=�
-��
-d��(�mh?t6�v�����k?
n����]j��6�v�=��
���S��H��1�Sf�
-d+�G!n68�-��F�B��"l)����]\�DGj�F����T�p�yD!n:�u#ax���N	ȢlT

�<��
�©�n�
-q��@v=ģ�
��0M�&�s?���t���s?��W���t��V�|
t��:�k��x�v�w>�
�7DI�]�ư�-�������n-�x�
�V ���(����k�)q��¨�3�+�!��wq��!Pj�F
-W�!M*��&
��]H�Đ2=������������������xX�1�
,���..PJ�S���n�T��i]�� գ�
-
-�<����,r������e*#�r6
��
T6Wvk����,�@i#С0��A4P6���%/�������fc�b#���C���Z &I)x�;m�a.C���b��}�9a7<���ƕC�،�KA�d�㻸@�h$�[; &02�V ;
�(�m���n>�>�����P�٩YJ`9��wq�R�ڭ)]ܾ6�i�8ܣ0�� 
-˯�Ӝ�|�Dd7^ƭw`X��P��;⻸@���n�H�B��n�\U�pwDan�=�*<`�d�LI�+X8��]\�N�vk�������ţ��c{�6B*�
��]�}I��]F��l[5=���E3�Z[3�4�Y�}��j��I �i
��H�8�{� �+(v�[OWѭrԀGt���ʜ*�� �����%@d�k�����/O��������~��û�����we��p�
\R㮽g$	󸍭�I
-xD
�ۭ,���sv�ۢԀB܆�
?�OO��%o;WB�����V��6�Vg�CT�8�M�i !.玱��
�%�|V��v>�[��7o��ijo��[���Ds��p��"O
(��Bd�ʼn�f>�+�.�
TۭjՀG���ݑ I��Ez���j@!n��KB�OC�z
-;G�eL���ՀG���݉�7�S�ꃦD5�0���X�Ѱ�f;n�"ָ�+ӈG4��݉]Z����-U
(�m�#R�>

;\
���P�����fVk��)���M�j !>C�c
��<
KK�
ÙڪG
xD�۝/��\ڂ�Q
-s�k>��O��L�6��|�M|�
-4�[�	to$pM�i at an���D���n������?�G7�N�y at A'c[��3
��fV+TX񕕶-<
(�k�"y��
[������U
��v+�(��'L��^5�0���X
�8���I�F�j�#���n��nofܦN5�0����"����p
-���=sZ�M�����6����bMI�A
�6�B�z� q�V�oգ<"
��֞����H�֣�6�>��}e�����z�ݪG
xD�ۭ=whqG#M=j at an�tc����F9��F돟���8e*	5ڨ�
xD@��mL��*��m�v�@+���z8�
O�����f�f�#�����~�JS�fk�6�?�
�WH�
�"&��2�-̬�ڭ��#ES�@����XX�ƅt��[U���s��V�^�V!�6�;V��sB����%�j+s�5��)\\B,�m`0Vn	�6J�����V��Tq	�����\76���p�-���VǏ$���%�@��
�J-�/�4Zp߼�8w�[mGPw�]nT�x[��Y���O$�[M�lJ���sa3�5��m��x�F�����G�i�݉!�o�Ҟ���5q��
�m�C��#6��D[��Y�Z.�GM1�r&�x�{�J���FD�K�$6jȖ3���+�[�1�645d˙D���c��j���������
'
uW�7*�
�r�v'z�]''&e��d��]X�j�����+7�����J,N�6�#M�l����-�8�a==?�
���t�
,�aVn��r
�=���
(�mh,�
-�v�
X���C����
I�mՄ<"���Nl�^`
q��������6b1V`���w���q\�|ȞjC���
�k�v�|XJY[$6�0�3+�
�nTK-�m[��ۭ��9pmʥ��q;/+�R{��~����jn�uϩ�[eU��r���Z���۪��B�.�Dj�69��W�����S�
e{���DS�0eV+]G�� �%�
-��υ�X��
�)l=Pi�;�筇��w��J�$�[��{~z7�66���j�a�`N}E���/�x����*T"YE�G�z��dV��ݎ���
Fc�V�T�#:����+l�	DM�|*��K��eJX��n�����m�� s��D�.�Mo��'�[c�<�ê�7
-(�m`3��4����8�/��>_�k�=��j��*B
-xD
�ۭp$)�Pm
�
B���{���@0��ŽQl4��Ofud at g;�Q������(��
��石ǻQ����B�݉��1zS����"n���g� �U!r�L�0vkª-�βM��(�;QXؼ�$F�5L��
ƚ��S
-�[��p�U �)�;q�J[��	k
�
-s8��G3��Zh>����F
T�#���ne
�0����-�
-(�mf��j����
_
@����s�MY����
�=V\���8b�(�Z�����nm���ү�	q�Y+ϘNG(��F{8�<�Z{�(D��1���c}Y�*y�/�jB�V�[�#���nu�`.�m�[@an3kա�:қ>���v+�� ̽BZ�
P����cM���Y�挰���G�v���2g
�g������b	
��Qɷl��%u��Z�9o�5�|˖�v��b�\3��÷?�~���=.g	m{B��(�
�x.�Z�C��tK�CÃ:�
r����N�T��7Z�߻�v��Na�0�[�v�Ưݔ~_���a�����_�0�����_�˿����u������q��'"ɼqY��G�*�h�����
��w�A��C�F��O�r7����ō����%�:jmfw|���v~����O���k�|<�/����|~|]
-��u�
-����b~��f�X��=Ly#GO���#��i|[a�o
�RU��qQ�endstream
+xڽZY��6
������� 	�I��4�n�f�Ɲ��&ðX��pE�񺟾�wMX$
�����K ����ɯ���kb
�I���������¸�^����?���7�
] 1���l�+NO^�'�&H��*��p,l����34���s�m�*6lӒ���q��>��� (���pL
@�+��b�s���ˆ.�0MV|C��
+?H~���/%sW|U�����@*1�
�QMˬ�W�ȫ-��h��,�ţ�n�L
%�� ԇ��D:+��M(�� ��D~��
M
�,��`1M�Z,i���.T��X��V�_h��_�L<���P���JmkO0�T
ӆ��M7�Bڵ?����l+�6���_�4��۴���ŗ�t�qoi��obʸ��&��B�U��� ���oق&,Y�[��p�Pb�ȹL��/X�:K�Ka�dT�-��.+���J�u˼L���@�*�F2�������*�@���(;�Q�4ĕUe,�>����'	^ ߦwJW�����*=�l��i�Go��_l���ZʲP���4��B(��I/�
,����~m�^Ȱ!���
_!}I%�e���Y�+Q���(��D�I��G��_e.��%����l����Ɔor�OD(���( �\��v]�h¨�~^�=5�վ�f�͊E�z0�Y@
�O�ϞUK��=
l9"�K�&�3�ij�%�3�������.][��D�Ra�$X16n=I>����A���l��|��l]�8��r�oD�-
m����C��Y��b�^YlgN�l`_�K��4
+2A��6�����.��L�_Nh�u,�_�Dخi�̈i?Ff�6��-��7
N5�mn݀�P��8�?��nM<�߱[
���E��/)�Y�H�1���
�<̡qp5�7
+�g�V����{���xy"[m�j�.�
��
�
=
��0����
&���������
��Lh�ݝ��}ʈ%J{a���Rv����mS�W|Q��<
;B����hM�U=���4�{4�/�`
b9��
�5�3NwYo:1-
�#A}܉�ƽ����0���"d̏�@9�S� d�
��\ �gT4Y9��ޓ�B2]o&�Ͽ��nxqQvz�
��������
�_�Al�R�U���(/�o�)�{��Uo�^�xu}RR#ju�]�#%���8�w�	{�D�C���:
�UG�d\$9����k�MR��6�8
x�)W������W��u�����j���b;1/����`օ�rMï���Ǐ��M��6"��/���FI���ƨt��ķ���:&�\�

A g����̱e�-���ƭ
,���_T
_��:�s=�z��3J����Ϥ��A���]���
84ÿ�3Q��Ww�B����1`���nv;�����;>����U�L�Q�dn�ZX���"m��YȒA�'��yo%u��s_�+�6����x��}�m [...]
+endstream
 endobj
-11463 0 obj <<
+11530 0 obj <<
 /Type /Page
-/Contents 11464 0 R
-/Resources 11462 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 11461 0 R
-/Annots [ 11466 0 R 11467 0 R 11468 0 R 11469 0 R 11470 0 R 11471 0 R 11472 0 R 11473 0 R 11474 0 R 11475 0 R 11476 0 R 11477 0 R 11478 0 R 11479 0 R 11480 0 R 11481 0 R 11482 0 R 11483 0 R 11484 0 R 11485 0 R 11486 0 R 11487 0 R 11488 0 R 11489 0 R 11490 0 R 11491 0 R 11492 0 R 11493 0 R 11494 0 R 11495 0 R 11496 0 R 11497 0 R 11498 0 R 11499 0 R 11500 0 R 11501 0 R 11502 0 R 11503 0 R 11504 0 R 11505 0 R 11506 0 R 11507 0 R 11508 0 R 11509 0 R 11510 0 R 11511 0 R 11512 0 R 11513 0 R 11 [...]
+/Contents 11531 0 R
+/Resources 11529 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11193 0 R
+/Annots [ 11416 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 11442 0 R 11443 0 R 11444 0 R 11445 0 R 11446 0 R 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 11461 0 R 11462 0 R 11463 0 R 11464 0 R 11465 0 R 11466 0 R 11467 0 R 11468 0 R 11 [...]
 >> endobj
-11466 0 obj <<
+11416 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.0201 719.9123 231.9566 730.8162]
+/Rect [128.854 710.014 145.791 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.232) >>
+>> endobj
+11422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.02 696.002 231.957 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.234) >>
 >> endobj
-11467 0 obj <<
+11423 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.007 707.9571 293.9434 718.861]
+/Rect [277.007 684.047 293.943 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.234) >>
 >> endobj
-11468 0 obj <<
+11424 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.3776 696.0019 251.3141 706.9059]
+/Rect [234.378 672.092 251.314 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.236) >>
 >> endobj
-11469 0 obj <<
+11425 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 674.1489 145.7908 682.9955]
+/Rect [128.854 650.239 145.791 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.237) >>
 >> endobj
-11470 0 obj <<
+11426 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.6837 660.1364 273.6202 671.0403]
+/Rect [256.684 636.226 273.62 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.245) >>
 >> endobj
-11471 0 obj <<
+11427 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.7894 648.1812 274.7259 659.0852]
+/Rect [257.789 624.271 274.726 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.245) >>
 >> endobj
-11472 0 obj <<
+11428 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.6757 636.2261 182.6121 647.13]
+/Rect [165.676 612.316 182.612 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.239) >>
 >> endobj
-11473 0 obj <<
+11429 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.3978 624.2709 195.3343 635.1748]
+/Rect [178.398 600.361 195.334 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.240) >>
 >> endobj
-11474 0 obj <<
+11430 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.9682 612.3157 221.9047 623.2197]
+/Rect [204.968 588.405 221.905 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.242) >>
 >> endobj
-11475 0 obj <<
+11431 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.6904 600.3606 234.6269 611.2645]
+/Rect [217.69 576.45 234.627 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.242) >>
 >> endobj
-11476 0 obj <<
+11432 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.5141 589.1227 212.4506 599.3093]
+/Rect [195.514 565.212 212.451 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-11477 0 obj <<
+11433 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.1215 577.1675 213.058 587.3542]
+/Rect [196.122 553.257 213.058 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-11478 0 obj <<
+11434 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 564.4951 207.7575 575.399]
+/Rect [190.821 540.585 207.757 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.246) >>
 >> endobj
-11479 0 obj <<
+11435 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.7774 552.5399 248.7139 563.4438]
+/Rect [231.777 528.63 248.714 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.243) >>
 >> endobj
-11480 0 obj <<
+11436 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.3082 541.302 171.2447 551.4887]
+/Rect [154.308 517.392 171.245 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-11481 0 obj <<
+11437 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.1154 529.3468 164.0519 539.5335]
+/Rect [147.115 505.437 164.052 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.229) >>
 >> endobj
-11482 0 obj <<
+11438 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.9269 516.6744 200.8634 527.5783]
+/Rect [183.927 492.764 200.863 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.239) >>
 >> endobj
-11483 0 obj <<
+11439 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.1362 504.7192 233.0727 515.6232]
+/Rect [216.136 480.809 233.073 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.247) >>
 >> endobj
-11484 0 obj <<
+11440 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.4386 492.7641 224.3751 503.668]
+/Rect [207.439 468.854 224.375 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.247) >>
 >> endobj
-11485 0 obj <<
+11441 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5742 480.8089 233.5107 491.7128]
+/Rect [216.574 456.899 233.511 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.240) >>
 >> endobj
-11486 0 obj <<
+11442 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.4995 480.8089 253.436 491.7128]
+/Rect [236.499 456.899 253.436 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.241) >>
 >> endobj
-11487 0 obj <<
+11443 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.2964 468.8537 246.2329 479.7577]
+/Rect [229.296 444.943 246.233 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.241) >>
 >> endobj
-11488 0 obj <<
+11444 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.4784 456.8986 240.4149 467.8025]
+/Rect [223.478 432.988 240.415 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.243) >>
 >> endobj
-11489 0 obj <<
+11445 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5514 444.9434 202.4879 455.8473]
+/Rect [185.551 421.033 202.488 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.230) >>
 >> endobj
-11490 0 obj <<
+11446 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.1717 433.7055 149.1082 443.8922]
+/Rect [132.172 409.795 149.108 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.222) >>
 >> endobj
-11491 0 obj <<
+11447 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.0969 433.7055 169.0334 443.8922]
+/Rect [152.097 409.795 169.033 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.226) >>
 >> endobj
-11492 0 obj <<
+11448 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.9624 421.7503 172.8988 431.937]
+/Rect [155.962 397.84 172.899 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-11493 0 obj <<
+11449 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.2828 409.0779 207.2193 419.9818]
+/Rect [190.283 385.168 207.219 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.238) >>
 >> endobj
-11494 0 obj <<
+11450 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.2696 397.1227 269.2061 408.0266]
+/Rect [252.27 373.212 269.206 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.238) >>
 >> endobj
-11495 0 obj <<
+11451 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [156.5198 385.8848 173.4563 396.0715]
+/Rect [156.52 361.975 173.456 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-11496 0 obj <<
+11452 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7824 373.2124 196.7188 384.1163]
+/Rect [179.782 349.302 196.719 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-11497 0 obj <<
+11453 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.5542 361.2572 225.4907 372.1611]
+/Rect [208.554 337.347 225.491 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.227) >>
 >> endobj
-11498 0 obj <<
+11454 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.3344 349.302 297.2709 360.206]
+/Rect [280.334 325.392 297.271 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.244) >>
 >> endobj
-11499 0 obj <<
+11455 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.4356 337.3469 246.3721 348.2508]
+/Rect [229.436 313.437 246.372 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.244) >>
 >> endobj
-11500 0 obj <<
+11456 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.0355 325.3917 288.9719 336.2956]
+/Rect [272.035 301.481 288.972 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.244) >>
 >> endobj
-11501 0 obj <<
+11457 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.5444 313.4365 225.4809 324.3405]
+/Rect [208.544 289.526 225.481 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.246) >>
 >> endobj
-11502 0 obj <<
+11458 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.2024 302.1986 170.1389 312.3853]
+/Rect [153.202 278.288 170.139 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.228) >>
 >> endobj
-11503 0 obj <<
+11459 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5485 290.2435 168.485 300.4301]
+/Rect [151.549 266.333 168.485 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.228) >>
 >> endobj
-11504 0 obj <<
+11460 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.4738 290.2435 188.4103 300.4301]
+/Rect [171.474 266.333 188.41 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.229) >>
 >> endobj
-11505 0 obj <<
+11461 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.2963 278.2883 145.2328 288.475]
+/Rect [128.296 254.378 145.233 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.230) >>
 >> endobj
-11506 0 obj <<
+11462 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 265.6159 179.5395 276.5198]
+/Rect [162.603 241.706 179.539 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-11507 0 obj <<
+11463 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3432 253.6607 175.2797 264.5646]
+/Rect [158.343 229.75 175.28 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-11508 0 obj <<
+11464 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.1885 241.7055 227.125 252.6095]
+/Rect [210.189 217.795 227.125 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.235) >>
 >> endobj
-11509 0 obj <<
+11465 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.0639 229.7504 231.0004 240.6543]
+/Rect [214.064 205.84 231 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.235) >>
 >> endobj
-11510 0 obj <<
+11466 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5631 218.5125 220.4996 228.6991]
+/Rect [203.563 194.602 220.5 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.235) >>
 >> endobj
-11511 0 obj <<
+11467 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.4384 206.5573 224.3749 216.744]
+/Rect [207.438 182.647 224.375 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.236) >>
 >> endobj
-11512 0 obj <<
+11468 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.4036 193.8849 268.3401 204.7888]
+/Rect [251.404 169.975 268.34 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.246) >>
 >> endobj
-11513 0 obj <<
+11469 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9679 181.9297 237.9044 192.8336]
+/Rect [220.968 158.019 237.904 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.246) >>
 >> endobj
-11514 0 obj <<
+11470 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.7445 169.9745 254.681 180.8785]
+/Rect [237.745 146.064 254.681 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.239) >>
 >> endobj
-11515 0 obj <<
+11471 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7723 158.0194 196.7088 168.9233]
+/Rect [179.772 134.109 196.709 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.229) >>
 >> endobj
-11516 0 obj <<
+11472 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 146.0642 151.2202 156.9681]
+/Rect [134.284 122.154 151.22 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-11517 0 obj <<
+11473 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.3886 134.109 208.3251 145.0129]
+/Rect [191.389 110.199 208.325 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.243) >>
 >> endobj
-11518 0 obj <<
+11474 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3955 122.8711 177.332 133.0578]
+/Rect [160.396 98.961 177.332 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.237) >>
 >> endobj
-11519 0 obj <<
+11475 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.3706 110.1987 213.3071 121.1026]
+/Rect [196.371 86.288 213.307 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.238) >>
 >> endobj
-11520 0 obj <<
+11476 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.3575 98.2435 275.2939 109.1474]
+/Rect [474.839 719.912 491.775 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.238) >>
 >> endobj
-11521 0 obj <<
+11477 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.2918 86.2883 250.2283 97.1923]
+/Rect [449.773 707.957 466.71 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.239) >>
 >> endobj
-11522 0 obj <<
+11478 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.3598 719.9123 414.2963 730.8162]
+/Rect [397.36 696.002 414.296 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.243) >>
 >> endobj
-11523 0 obj <<
+11479 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.295 707.9571 503.2315 718.861]
+/Rect [486.295 684.047 503.232 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-11524 0 obj <<
+11480 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.6927 696.0019 381.6292 706.9059]
+/Rect [364.693 672.092 381.629 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.249) >>
 >> endobj
-11525 0 obj <<
+11481 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.8822 672.0916 450.8187 682.9955]
+/Rect [433.882 648.181 450.819 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.249) >>
 >> endobj
-11526 0 obj <<
+11482 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6216 660.1364 501.5581 671.0403]
+/Rect [484.622 636.226 501.558 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.250) >>
 >> endobj
-11527 0 obj <<
+11483 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.1943 648.8985 389.1308 659.0852]
+/Rect [372.194 624.988 389.131 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.256) >>
 >> endobj
-11528 0 obj <<
+11484 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.5491 636.2261 414.4856 647.13]
+/Rect [397.549 612.316 414.486 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-11529 0 obj <<
+11485 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.8184 624.9882 374.7549 635.1748]
+/Rect [357.818 601.078 374.755 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.256) >>
 >> endobj
-11530 0 obj <<
+11486 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.3663 612.3157 383.3028 623.2197]
+/Rect [366.366 588.405 383.303 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11531 0 obj <<
+11487 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.9056 600.3606 388.8421 611.2645]
+/Rect [371.906 576.45 388.842 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.256) >>
 >> endobj
-11532 0 obj <<
+11488 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.7557 588.4054 412.6922 599.3093]
+/Rect [395.756 564.495 412.692 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.256) >>
 >> endobj
-11533 0 obj <<
+11489 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 576.4502 396.0208 587.3542]
+/Rect [379.084 552.54 396.021 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-11534 0 obj <<
+11490 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 564.4951 391.761 575.399]
+/Rect [374.824 540.585 391.761 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-11535 0 obj <<
+11491 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2217 552.5399 387.1582 563.4438]
+/Rect [370.222 528.63 387.158 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11536 0 obj <<
+11492 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 540.5847 367.7015 551.4887]
+/Rect [350.765 516.674 367.702 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-11537 0 obj <<
+11493 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.0678 528.6296 367.0043 539.5335]
+/Rect [350.068 504.719 367.004 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11538 0 obj <<
+11494 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 504.7192 396.5929 515.6232]
+/Rect [379.656 480.809 396.593 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-11539 0 obj <<
+11495 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.7895 493.4813 387.726 503.668]
+/Rect [370.79 469.571 387.726 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11540 0 obj <<
+11496 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.5282 481.5262 369.4647 491.7128]
+/Rect [352.528 457.616 369.465 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11541 0 obj <<
+11497 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.7776 469.571 361.7141 479.7577]
+/Rect [344.778 445.661 361.714 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11542 0 obj <<
+11498 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 456.8986 396.0208 467.8025]
+/Rect [379.084 432.988 396.021 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11543 0 obj <<
+11499 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 444.9434 391.761 455.8473]
+/Rect [374.824 421.033 391.761 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11544 0 obj <<
+11500 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 432.9882 367.7015 443.8922]
+/Rect [350.765 409.078 367.702 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-11545 0 obj <<
+11501 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [439.9792 409.0779 456.9157 419.9818]
+/Rect [439.979 385.168 456.916 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.263) >>
 >> endobj
-11546 0 obj <<
+11502 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [485.1893 397.1227 502.1258 408.0266]
+/Rect [485.189 373.212 502.126 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.264) >>
 >> endobj
-11547 0 obj <<
+11503 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.6927 385.1675 381.6292 396.0715]
+/Rect [364.693 361.257 381.629 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.265) >>
 >> endobj
-11548 0 obj <<
+11504 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.8822 361.2572 450.8187 372.1611]
+/Rect [433.882 337.347 450.819 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.265) >>
 >> endobj
-11549 0 obj <<
+11505 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.2831 349.302 469.2196 360.206]
+/Rect [452.283 325.392 469.22 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.266) >>
 >> endobj
-11550 0 obj <<
+11506 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.7623 337.3469 389.6988 348.2508]
+/Rect [372.762 313.437 389.699 324.34]
 /Subtype /Link
-/A << /S /GoTo /D (page.268) >>
+/A << /S /GoTo /D (page.269) >>
 >> endobj
-11551 0 obj <<
+11507 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.7808 325.3917 392.7173 336.2956]
+/Rect [436.652 301.481 453.588 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.268) >>
 >> endobj
-11552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [398.8639 314.1538 415.8004 324.3405]
-/Subtype /Link
-/A << /S /GoTo /D (page.267) >>
->> endobj
-11553 0 obj <<
+11508 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.1818 302.1986 411.1183 312.3853]
+/Rect [375.781 289.526 392.717 300.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.267) >>
+/A << /S /GoTo /D (page.268) >>
 >> endobj
-11554 0 obj <<
+11509 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 289.5262 367.7015 300.4301]
+/Rect [398.864 278.288 415.8 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.268) >>
 >> endobj
-11555 0 obj <<
+11510 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.3228 277.571 488.278 288.475]
+/Rect [394.182 266.333 411.118 276.52]
 /Subtype /Link
-/A << /S /GoTo /D (page.75) >>
+/A << /S /GoTo /D (page.268) >>
 >> endobj
-11556 0 obj <<
+11511 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.4824 265.6159 485.4188 276.5198]
+/Rect [454.226 253.661 471.162 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.268) >>
 >> endobj
-11557 0 obj <<
+11512 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [469.2936 242.4228 486.2301 252.6095]
+/Rect [350.765 241.706 367.702 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.269) >>
 >> endobj
-11558 0 obj <<
+11513 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.0763 218.5125 402.0128 228.6991]
+/Rect [476.323 229.75 488.278 240.654]
 /Subtype /Link
-/A << /S /GoTo /D (page.269) >>
+/A << /S /GoTo /D (page.75) >>
 >> endobj
-11559 0 obj <<
+11514 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.8058 205.84 513.7423 216.744]
+/Rect [377.983 217.795 389.938 228.699]
 /Subtype /Link
-/A << /S /GoTo /D (page.269) >>
+/A << /S /GoTo /D (page.76) >>
 >> endobj
-11560 0 obj <<
+11515 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.6487 193.8849 422.5852 204.7888]
+/Rect [468.482 205.84 485.419 216.744]
 /Subtype /Link
-/A << /S /GoTo /D (page.274) >>
+/A << /S /GoTo /D (page.269) >>
 >> endobj
-11561 0 obj <<
+11516 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 181.9297 396.0208 192.8336]
+/Rect [469.294 182.647 486.23 192.834]
 /Subtype /Link
-/A << /S /GoTo /D (page.277) >>
+/A << /S /GoTo /D (page.269) >>
 >> endobj
-11562 0 obj <<
+11517 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.5682 169.9745 385.5047 180.8785]
+/Rect [385.076 158.737 402.013 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.275) >>
+/A << /S /GoTo /D (page.270) >>
 >> endobj
-11563 0 obj <<
+11518 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.187 158.0194 391.1235 168.9233]
+/Rect [496.806 146.064 513.742 156.968]
 /Subtype /Link
-/A << /S /GoTo /D (page.276) >>
+/A << /S /GoTo /D (page.270) >>
 >> endobj
-11564 0 obj <<
+11519 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.2057 146.0642 386.1422 156.9681]
+/Rect [405.649 134.109 422.585 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.274) >>
 >> endobj
-11565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.131 146.0642 406.0674 156.9681]
-/Subtype /Link
-/A << /S /GoTo /D (page.276) >>
->> endobj
-11566 0 obj <<
+11520 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 134.109 391.761 145.0129]
+/Rect [425.574 134.109 442.51 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.275) >>
 >> endobj
-11567 0 obj <<
+11521 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.7498 134.109 411.6863 145.0129]
+/Rect [379.084 122.154 396.021 133.058]
 /Subtype /Link
-/A << /S /GoTo /D (page.276) >>
+/A << /S /GoTo /D (page.277) >>
 >> endobj
-11568 0 obj <<
+11522 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.7052 122.1538 383.6417 133.0578]
+/Rect [368.568 110.199 385.505 121.103]
 /Subtype /Link
-/A << /S /GoTo /D (page.275) >>
+/A << /S /GoTo /D (page.276) >>
 >> endobj
-11569 0 obj <<
+11523 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6304 122.1538 403.5669 133.0578]
+/Rect [374.187 98.244 391.123 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.277) >>
 >> endobj
-11570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.324 110.1987 389.2605 121.1026]
-/Subtype /Link
-/A << /S /GoTo /D (page.276) >>
->> endobj
-11571 0 obj <<
+11524 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 98.2435 367.7015 109.1474]
+/Rect [369.206 86.288 386.142 97.192]
 /Subtype /Link
-/A << /S /GoTo /D (page.277) >>
+/A << /S /GoTo /D (page.275) >>
 >> endobj
-11572 0 obj <<
+11525 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.0064 86.2883 494.9429 97.1923]
+/Rect [389.131 86.288 406.067 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.277) >>
 >> endobj
-11573 0 obj <<
+11528 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11465 0 obj <<
-/D [11463 0 R /XYZ 90 757.9346 null]
+11532 0 obj <<
+/D [11530 0 R /XYZ 90 757.935 null]
 >> endobj
-11462 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F25 344 0 R /F67 366 0 R >>
+11529 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F23 340 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11576 0 obj <<
-/Length 5626      
+11653 0 obj <<
+/Length 1546      
 /Filter /FlateDecode
 >>
 stream
-xڽ]ے$�q}߯�7�F�jq/�!���l]H��ڡ���蝩�m��{�����띨K
-��	�

�3���)\	�j~��~��]���Ie��ް�G�����
|ބ�_|x��WF߹�a�>|,�j��݇�?�������?�����)f[�
�W�������>9��po��o��gv� ����Jg������9q��F	9�r|���@;�C�\4��Fh4�3�Yhy�	�2?�*�
v����v�N����;�jc�2�s���q��>��
oB|�*�U_ae���V3�"�Q�EyE8o9g"C�5�@�*ŃR�	
�8��Hp��V��I�Q�ۙ�\˵F����~�px�O��۟
v����!�D@?3-����M�NkY,0!:�!��sD��

l�ǛE"n�
t��
�o�K�K�
�23Z���MX �Il�D�1�S�G�y�Q�ۅ�N�B�np{���tlH�
-#�K��߄2uH�Ɔr�`��*��E�Ŧ�
-�Ǝ���t����|��_�O�
������+p�J�;�l��
-3�	
d�Bbw�'����F��Œ"�.|h�J�@���z�9�?��X���v�B�2›��$�Z�D�܊�{��"|.�Hx ������o���������ǿ�����g ��}z9�Χ�aZ�_/	rf|Ȱ��
�QIo�t*�@�ό"�.	X݄�~�����c�{>�C
�\+�e��u�7>��FV
��ִ�Y���D���UƎ3�ẻ�o��O��=А 3��`�
��&,��Nb��p% �]W !aBQn�Q
����ݯ��p9C���=���Ć.��MX��Vv
s����IbU�L/P��Ěw���q?��ͭ������j�
}�ZJ]o5�(��c��_k;�Q������/���_q
�S����g?!k���\�'Hf�@��
\Rg�7a�����
����CIU �73�r�
v�������?����Xȗb����&����j���u����� �'2``?��X8��pz,� ���j)F00㛰@n �vK
8

UȨ�mBQn��[�F [...]
-�Z�Y�=�XfP��†�m'�q���#�=�n;
k5�=Ʉo��=Il���j���qg�Q�[l���_�����;���v�mt��-m��H at h���i�.
�Ӱ��ǹw�k<�w?��_?����w������7�|������P��A��X��MX 3�b��ӝ�*�E�]:�Zۉq
���j��B�
9ᛰ@>�Y�
9���6�ɨI�1���5��'���b���nk�O� �;4ܱt*�~.�!>�(�燯�n
���
������_������i7�����e��s�ؠ��	
�k�%J��N����$ŀ"��T�`��_7�������’iT�;��d��e�7>�Jl�D
-F���{�ۜ@u�K/�|
-ьK���웾�xrQ$
�NڥFN�&,��#c�#<���EH��	E���°�in�~�������Q����ϙ
�AJ�R�Ij	��MX ���v
܈aOkͺ�2��K�P��9�Ã���K���ϥ�Z
-QKȄo��%$��+#Y����rW ��r�
H�r�r�9
��e�
��H��MX GBl�H�����HH�P�[$A�,e
͑ ��x$��G���Hf�G�k��#A�+�E+$݉�\h�`����U�0�O�>��
��N/�`���O�_�}}D!`+��b�J`O�&,�K`�v
#BȮ�>_W �&&��Ѓ$DyEF��Cp�bb4A�W�	
���n��ɠ�QF&�va�/V�:1Fێ�Cx��xU-�u��x�xj\w��q��L�ـ�˧l2|X�>@p�f(F&|�q�
YI�L����c]���	E�]XѢUZO��'����
�~wx�?�>L�

�G�	
�>�vG
X���p
W s�1�(�ȃb�NIx��
 ��N� ��L�ѹ�deql~&�V�ڕ�d)� Uo�p�s�j���o����ݗ�C���qw�YBtk �_
-SKȄo��%$�;��9e�s
U 9�P�ۅ
���?��n?�_N�rl>�ꌯ�l�N��&,��ޮ�|�\��1W ��
P�ۅ�Z#�.�Q
���X�-6�;�	
�/�펔��-�GT��5�E�EJ|��tS"}���t9?���>�(�
ΙZ�SG��	
�c�c����aT2�@Lnj��"
���	
�����/*����.e)*&|�Q�-R!`���
-$TL(�-Ra`%7n�q�mg��
�����'�jө��5[�'��VX �O����(Q���rkߙyt .c[�#`�t
����N�����|�,��Au�˓צ�\��џ�����k�(������9ᛰ@n���mX�qq�UcBn:���q��?�/��;��1
�l
�UKA:�9��@>���;� X.���+��c(�-� ,�RO<������o��Ô(KA�zɀo���%k��-�?"1<�@�zɀ��">�PV�<���L�F�f�c��3�	
d*��-,
�c�P6�@r9dBQn��̶�M�!h�-�zea��f����MX S����z���ô�+�~FQn���e��n��C���O	��`��b)K�l|��l�vK{L�Z�1yT�L�v at Qn�
-�[f�8�/�G�f�O�������ộv�-� a�7a�\��
�pi(�a�$�
-$��"�.tt&��LWr����S0Q^&�nB�'�^
P��o��u3�;�I`Bh��u>&�v�����Wp�LJ
J�J¾�R�	߄r��n�
-!!�q�bBn*���mp�؟���x����8<F�1���ǀo��[H�����+��
�p�p"�V�뜔7��-'��Aˌo�Z��
��BU �kL(��B�����_?����
8Į��l����	߄r�Elwl����tL�H��	E���C�/5�.��n�����6��e����K�
߄
-��Wv�8�e/1
���a�/	�H��4f��k�_���!�=�:���b����o�����R��4l�D\��������,X�$���;�aN8ܾ�!�X�h4@��<�	��L]h����8��������%dI�����U,��
O�̣S�{s�F9��*mg8�yM�2�A�e��E�ua&Զ�̼.��:�rq�F�-�	!lj����2�y]�(�-Rj]���tt��$b��vF�U���B\��?+�u�-��.BY���o����J�{e�6m�&$����^��c��t����&ֲ	M�,ӛ�Ĉ��'v�V��ݏq�D�Ո������O�S�i���b����n���߫��
�E�M�培��
��ͭ����n�ƈbҫEU�Ո���3���
K���ݪ�F<!bN�$$���F��k�E�M����+���)���O� �;6<�J�;�ZJ���p�<�P����&3��V}9�	�wj���X3�L]b�(�-2*�g���
-�[+��*!G<��N����AUB�(�-�?n_�.�x8��
��P`^8n6��^�v'V
d(�Z!����D��me���>�[������j!��:�r�\��3��sy�`��Oɨ/����
u����6
=�	A{jw�H�g�Dk8�u
=��
����Ff� a�W\o՗#�z�v�t@��*j�rDn���(;��tkݯ�LyI�6�8�	�vj�Ćԭ��Ե�"�.l����ͤj�l�Q3>�	�vb�ȅ?�K�'
�q�!�h_�)��y�

-�Y���O�S��|����2���∢�&���S��U��Ո'ܧv
�i�_bd;Qo5��V����)�6��|x���
^0��BX�M,��p=�Z�'�|Vh^�#��sa%�G��|H
�T�z�Z��n�-�8]��#�p���������O_w/W��ߤ�r�����
����O��S����cF^��#�p����a�8�ߎ_wū%�u��wv��
�=�[�>���;i�zzDQn��P�]|����[g��*(G<��N�N8�1m�4��G�vn�J�}��ak���b0�#���OȹS����J�����U9��
�L��!Tf��i�|�Z
�u�vb�p�)���xU-� �'6=h�<?��9��.v��z�b
�t;�[`A	�vN��b
Q�ۅ�P���P����u1Nm��#��l�vK���mǥ�K�E�����x$���o�����}
�î^��cz�So��N��
�	2q��w��bk�����8���J�g]l�(�-���غ�Ӑ�
لݪ�F<!|N�
�4�^��ɪ�E�ER�u9������zk�׵ωՑ���sH?
^�[#��si~���d.|┩NnUX#��:�vK] vx�qQWX#�r;s�(�k�
-�`�W6��O��S�#	��Q�[$!Uo����׏7��O(�S�����;+:^V#�p�0
�7
���h���9�[�#jx�CWU#�p�0�U�Nx?f޹�*�F<�tN���4�c�;�{U�5��
'�����{�Gx������i���J4��e��"�FH��B@�i�p��_E���m"k�j����@�ou>��D]d�(�-�j���]�'���j����9�[��<l̜��E�E*H}u�%�O�٭�j�*����G�B�y�.�F��H�՛���cō��N��#2���^8WW� ���FI[]���xºn����9�;.�2w���!xU_�(��BG��ݦ4�i	
U�(5Fx]��X
iP�\�V�W����\H%�4�>��+�6j�O�}S��eT�V(��cDn
�㢦Tv>�3�Fm1�	�oj�0�5��<��-F��i�
�W��[�3��&V
�P�9�-Z�.'F��
�x�	J��B�
-e1�	�oj�?�N�T#�p�PJz_��T��'~�m�#���vG>���iO���5F��X�z�)(�
|����7�[�b�5��1��
����
-J%�O0ۭ�c������	�u紭
�E�M�n����^��3�r��-�8�9��E�]zB�f~�n����:�Ul=�	�sb��
����Ԕ�3����w�":�U"[<�I��R7���s�m�Q�ۥ�J�NV�5�l�VE9�	iwj�0iX+]]Q�(�-6?mo��*�A<��V9�	=wjw
�\n��1%�2rDn"B�6��
���cۦG<!�N�6��t�IWW�#�r�,�j�W��6��Q�W�q'V�Q��z��z|�ս.4�ZmJѷQ0>+�����fa���Z|Q�N�ݡ>�ֶm��/ڶ�^;�;���m���m�vn}�����lӕ/:���;�:�����H��f������o޹���>��[�}�����d������
:��Ӗ����]#4[.oL��78�_�k
�/�y�/��N���������q��'�٘3��)n�#T���}�H�������1��q�T�������������C�&(1~Ew�6�;&���7���򥽿�/���=��? [...]
+xڵZ�r�6}�W�Ҵ���%��MҦ��&n��$��IHB�[A����/�X�M $=�1E�<� gw����׋׋�W
�B;�
Ϻ�X!�|�؁�ul}X�|��˿V���X.l�=�\����������W����o�[Q���	X����6
+��ܕZ���1��/~_���`p��g[��l���j^0A�\|�Cc�5+���w�և������_>�|�?}Xk��L�
�\�Z�:��XyXA���&8�Y�v�O��V/�H)�ʓ�
�%��A��go�"W"�IXjj�Ė�ڢqL�<++AyV�wpN���ʂF��<eY�%2�YLXz�����H7Y=�[&�ٚh!J1.�yB���)�����v
����\A�4ُ���f+/���I0Z1��|fQ����$#�}&/��
��a��r3�"׉�a0^��V���C%�D8��ڟO5SH���Mg� �C��0��
��y{�)�cەɢ�E�J�h�n`{!:����xJr�
+f�zo����v��/Y5%H��q�'-�T'5�̽1�2���.k
�S'CĠ�>:���CK'��3WH�d�OB˒o3�7�!�/4R�N{�t��
��Z�Է���B�55�2�Bg���E��ܾ�w�068PxlŞe�! �

X9�^M��?cM��&XT�խ,0�
uz���
�
�޸2Qn��ϕ������2Fd�*cB}�B0=��z��Oo��
x̲:#�$�
�67�>�e
��4kτ�v�$�����u4k�^�6�
K����D̋
�벐�g2E�:?�.�kX1����&�B�c3����;&XV�^+n�t�`�H^�dO��}�����Î�ʉ
*�*-���y�16��E�c
f
���4�,YVT���ѮhQ�m�����M�Ħ-�
+s�2�%��8V;����r�g��cy���
WaR����
-w2S�j�p���*&J�0P5�2�>׽YC�c7Eh��f�xuk
��{#��d%קˢ�kY����\��b�=��/u�m�?��x�
��Lϰglx8
�5;@�V�'Wn|M��
)�ʍ�C��9F���Qa�����9@�K��^�L�p0h�-��>�ns:v��
�ո�į����zz��';�ݙ�����gd.�.�J�	�ܒ}Y�ua٥�y�A��<��[2Sɪ�L�2q%���)J6�
��oA=����I�N���� MD�{
܊z����}Yq��@h�IY����Qh��Z�Q��:j����fU�P���	s�(|2�o���.x��q���T�s��P�.�u�W���:�5�v���:�B�c��'כIqB�(Nȟ_qr��he���W��`p��)C����E�*�͇�=r�љ�`n��g�c��7/�C��v|�ͳC�[w8�1�
[5���P�鱐jO�j�=��d��˲=K�=M��-��:`ۋ���O.*D�{h�ֲj\�g�q;���_�W�
�
�l�c���������p����g�6�Ί"9;����!tm�9�lr�z�梛�ɋi���'@r�#��n
+endstream
 endobj
-11575 0 obj <<
+11652 0 obj <<
 /Type /Page
-/Contents 11576 0 R
-/Resources 11574 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 11461 0 R
-/Annots [ 11578 0 R 11579 0 R 11580 0 R 11581 0 R 11582 0 R 11583 0 R 11584 0 R 11585 0 R 11586 0 R 11587 0 R 11588 0 R 11589 0 R 11590 0 R 11591 0 R 11592 0 R 11593 0 R 11594 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 11603 0 R 11604 0 R 11605 0 R 11606 0 R 11607 0 R 11608 0 R 11609 0 R 11610 0 R 11611 0 R 11612 0 R 11613 0 R 11614 0 R 11615 0 R 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 11 [...]
+/Contents 11653 0 R
+/Resources 11651 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11193 0 R
+/Annots [ 11526 0 R 11527 0 R 11533 0 R 11534 0 R 11535 0 R 11536 0 R 11537 0 R 11538 0 R 11539 0 R 11540 0 R 11541 0 R 11542 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 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 11575 0 R 11576 0 R 11577 0 R 11578 0 R 11 [...]
 >> endobj
-11578 0 obj <<
+11526 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.5697 720.6295 189.5062 730.8162]
+/Rect [158.343 719.912 175.28 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.276) >>
 >> endobj
-11579 0 obj <<
+11527 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4451 708.6744 193.3816 718.861]
+/Rect [178.268 719.912 195.205 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.277) >>
 >> endobj
-11580 0 obj <<
+11533 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.6837 696.0019 273.6202 706.9059]
+/Rect [150.224 707.957 167.16 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.276) >>
 >> endobj
-11581 0 obj <<
+11534 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.0049 684.0467 267.9414 694.9507]
+/Rect [155.843 696.002 172.779 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.277) >>
 >> endobj
-11582 0 obj <<
+11535 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.2674 672.8089 150.2039 682.9955]
+/Rect [134.284 684.047 151.22 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.283) >>
+/A << /S /GoTo /D (page.278) >>
 >> endobj
-11583 0 obj <<
+11536 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.3476 660.8537 235.2841 671.0403]
+/Rect [261.525 672.092 278.462 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.278) >>
 >> endobj
-11584 0 obj <<
+11537 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.2417 648.8985 234.1782 659.0852]
+/Rect [172.57 660.854 189.506 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.284) >>
 >> endobj
-11585 0 obj <<
+11538 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.8992 636.2261 242.8357 647.13]
+/Rect [176.445 648.899 193.382 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.284) >>
 >> endobj
-11586 0 obj <<
+11539 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.3579 624.2709 187.2944 635.1748]
+/Rect [256.684 636.226 273.62 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.284) >>
 >> endobj
-11587 0 obj <<
+11540 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3863 613.033 182.3228 623.2197]
+/Rect [251.005 624.271 267.941 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.284) >>
 >> endobj
-11588 0 obj <<
+11541 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.368 601.0779 187.3045 611.2645]
+/Rect [133.267 613.033 150.204 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.284) >>
 >> endobj
-11589 0 obj <<
+11542 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.2933 601.0779 207.2298 611.2645]
+/Rect [218.348 601.078 235.284 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.282) >>
 >> endobj
-11590 0 obj <<
+11543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.242 589.123 234.178 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.282) >>
+>> endobj
+11544 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 588.4054 179.5395 599.3093]
+/Rect [225.899 576.45 242.836 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.285) >>
 >> endobj
-11591 0 obj <<
+11545 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.6668 576.4502 187.6033 587.3542]
+/Rect [170.358 564.495 187.294 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.285) >>
 >> endobj
-11592 0 obj <<
+11546 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.5521 564.4951 199.4886 575.399]
+/Rect [165.386 553.257 182.323 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.285) >>
 >> endobj
-11593 0 obj <<
+11547 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.2705 552.5399 221.207 563.4438]
+/Rect [170.368 541.302 187.304 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (page.284) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11594 0 obj <<
+11548 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.7918 541.302 151.7283 551.4887]
+/Rect [190.293 541.302 207.23 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (page.284) >>
+/A << /S /GoTo /D (page.283) >>
 >> endobj
-11595 0 obj <<
+11549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.603 528.63 179.539 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+11550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.667 516.674 187.603 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.286) >>
+>> endobj
+11551 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 528.6296 151.2202 539.5335]
+/Rect [182.552 504.719 199.489 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.285) >>
 >> endobj
-11596 0 obj <<
+11552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.27 492.764 221.207 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.284) >>
+>> endobj
+11553 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.0172 516.6744 293.9537 527.5783]
+/Rect [134.792 481.526 151.728 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.285) >>
 >> endobj
-11597 0 obj <<
+11554 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.8601 504.7192 202.7966 515.6232]
+/Rect [134.284 468.854 151.22 479.758]
 /Subtype /Link
-/A << /S /GoTo /D (page.287) >>
+/A << /S /GoTo /D (page.286) >>
 >> endobj
-11598 0 obj <<
+11555 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.7854 504.7192 222.7219 515.6232]
+/Rect [277.017 456.899 293.954 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.290) >>
+/A << /S /GoTo /D (page.286) >>
 >> endobj
-11599 0 obj <<
+11556 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.9155 492.7641 235.852 503.668]
+/Rect [185.86 444.943 202.797 455.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.290) >>
+/A << /S /GoTo /D (page.288) >>
 >> endobj
-11600 0 obj <<
+11557 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.1791 480.8089 280.1156 491.7128]
+/Rect [205.785 444.943 222.722 455.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.290) >>
+/A << /S /GoTo /D (page.291) >>
 >> endobj
-11601 0 obj <<
+11558 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.8775 468.8537 192.814 479.7577]
+/Rect [218.916 432.988 235.852 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.291) >>
 >> endobj
-11602 0 obj <<
+11559 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.3433 456.8986 292.2798 467.8025]
+/Rect [263.179 421.033 280.116 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.291) >>
 >> endobj
-11603 0 obj <<
+11560 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.1952 444.9434 196.1317 455.8473]
+/Rect [175.878 409.078 192.814 419.982]
 /Subtype /Link
-/A << /S /GoTo /D (page.307) >>
+/A << /S /GoTo /D (page.292) >>
 >> endobj
-11604 0 obj <<
+11561 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0705 432.9882 200.007 443.8922]
+/Rect [275.343 397.123 292.28 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.307) >>
+/A << /S /GoTo /D (page.292) >>
 >> endobj
-11605 0 obj <<
+11562 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.5697 421.7503 189.5062 431.937]
+/Rect [179.195 385.168 196.132 396.071]
 /Subtype /Link
-/A << /S /GoTo /D (page.306) >>
+/A << /S /GoTo /D (page.308) >>
 >> endobj
-11606 0 obj <<
+11563 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4451 409.7952 193.3816 419.9818]
+/Rect [183.071 373.212 200.007 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.306) >>
+/A << /S /GoTo /D (page.308) >>
 >> endobj
-11607 0 obj <<
+11564 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.6456 397.1227 238.5821 408.0266]
+/Rect [172.57 361.975 189.506 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.307) >>
 >> endobj
-11608 0 obj <<
+11565 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.0201 385.1675 231.9566 396.0715]
+/Rect [176.445 350.019 193.382 360.206]
 /Subtype /Link
-/A << /S /GoTo /D (page.306) >>
+/A << /S /GoTo /D (page.307) >>
 >> endobj
-11609 0 obj <<
+11566 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.6837 373.2124 273.6202 384.1163]
+/Rect [221.646 337.347 238.582 348.251]
 /Subtype /Link
-/A << /S /GoTo /D (page.315) >>
+/A << /S /GoTo /D (page.308) >>
 >> endobj
-11610 0 obj <<
+11567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.02 325.392 231.957 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.307) >>
+>> endobj
+11568 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.7894 361.2572 274.7259 372.1611]
+/Rect [256.684 313.437 273.62 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.316) >>
 >> endobj
-11611 0 obj <<
+11569 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.6757 349.302 182.6121 360.206]
+/Rect [257.789 301.481 274.726 312.385]
 /Subtype /Link
-/A << /S /GoTo /D (page.310) >>
+/A << /S /GoTo /D (page.317) >>
 >> endobj
-11612 0 obj <<
+11570 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.3978 337.3469 195.3343 348.2508]
+/Rect [165.676 289.526 182.612 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.311) >>
 >> endobj
-11613 0 obj <<
+11571 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.6043 325.3917 241.5408 336.2956]
+/Rect [178.398 277.571 195.334 288.475]
 /Subtype /Link
-/A << /S /GoTo /D (page.314) >>
+/A << /S /GoTo /D (page.312) >>
 >> endobj
-11614 0 obj <<
+11572 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.9682 313.4365 221.9047 324.3405]
+/Rect [224.604 265.616 241.541 276.52]
 /Subtype /Link
-/A << /S /GoTo /D (page.312) >>
+/A << /S /GoTo /D (page.315) >>
 >> endobj
-11615 0 obj <<
+11573 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.6904 301.4814 234.6269 312.3853]
+/Rect [204.968 253.661 221.905 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.313) >>
 >> endobj
-11616 0 obj <<
+11574 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.5141 290.2435 212.4506 300.4301]
+/Rect [217.69 241.706 234.627 252.609]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.314) >>
 >> endobj
-11617 0 obj <<
+11575 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.1215 278.2883 213.058 288.475]
+/Rect [195.514 230.468 212.451 240.654]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-11618 0 obj <<
+11576 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.4547 265.6159 241.3912 276.5198]
+/Rect [196.122 218.512 213.058 228.699]
 /Subtype /Link
-/A << /S /GoTo /D (page.313) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-11619 0 obj <<
+11577 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.38 265.6159 261.3165 276.5198]
+/Rect [224.455 205.84 241.391 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.314) >>
 >> endobj
-11620 0 obj <<
+11578 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.7289 253.6607 229.6654 264.5646]
+/Rect [244.38 205.84 261.316 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.315) >>
 >> endobj
-11621 0 obj <<
+11579 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.1802 242.4228 192.1167 252.6095]
+/Rect [212.729 193.885 229.665 204.789]
 /Subtype /Link
-/A << /S /GoTo /D (page.320) >>
+/A << /S /GoTo /D (page.316) >>
 >> endobj
-11622 0 obj <<
+11580 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 229.7504 207.7575 240.6543]
+/Rect [175.18 182.647 192.117 192.834]
 /Subtype /Link
-/A << /S /GoTo /D (page.316) >>
+/A << /S /GoTo /D (page.321) >>
 >> endobj
-11623 0 obj <<
+11581 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.3082 218.5125 171.2447 228.6991]
+/Rect [190.821 169.975 207.757 180.878]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.317) >>
 >> endobj
-11624 0 obj <<
+11582 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.1154 206.5573 164.0519 216.744]
+/Rect [154.308 158.737 171.245 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.303) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-11625 0 obj <<
+11583 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.9269 193.8849 200.8634 204.7888]
+/Rect [147.115 146.781 164.052 156.968]
 /Subtype /Link
-/A << /S /GoTo /D (page.310) >>
+/A << /S /GoTo /D (page.304) >>
 >> endobj
-11626 0 obj <<
+11584 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.6027 181.9297 236.5391 192.8336]
+/Rect [183.927 134.109 200.863 145.013]
 /Subtype /Link
-/A << /S /GoTo /D (page.319) >>
+/A << /S /GoTo /D (page.311) >>
 >> endobj
-11627 0 obj <<
+11585 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.1362 169.9745 233.0727 180.8785]
+/Rect [219.603 122.154 236.539 133.058]
 /Subtype /Link
-/A << /S /GoTo /D (page.317) >>
+/A << /S /GoTo /D (page.320) >>
 >> endobj
-11628 0 obj <<
+11586 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.4386 158.0194 224.3751 168.9233]
+/Rect [216.136 110.199 233.073 121.103]
 /Subtype /Link
-/A << /S /GoTo /D (page.317) >>
+/A << /S /GoTo /D (page.318) >>
 >> endobj
-11629 0 obj <<
+11587 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5742 146.0642 233.5107 156.9681]
+/Rect [207.439 98.244 224.375 109.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.311) >>
+/A << /S /GoTo /D (page.318) >>
 >> endobj
-11630 0 obj <<
+11588 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.2964 134.109 246.2329 145.0129]
+/Rect [216.574 86.288 233.511 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.312) >>
 >> endobj
-11631 0 obj <<
+11589 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.9624 122.8711 172.8988 133.0578]
+/Rect [445.778 719.912 462.714 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (page.318) >>
+/A << /S /GoTo /D (page.313) >>
 >> endobj
-11632 0 obj <<
+11590 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.2828 110.1987 207.2193 121.1026]
+/Rect [372.444 708.674 389.38 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.309) >>
+/A << /S /GoTo /D (page.319) >>
 >> endobj
-11633 0 obj <<
+11591 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7824 98.2435 196.7188 109.1474]
+/Rect [406.764 696.002 423.701 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.303) >>
+/A << /S /GoTo /D (page.310) >>
 >> endobj
-11634 0 obj <<
+11592 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.9687 86.2883 234.9052 97.1923]
+/Rect [396.264 684.047 413.2 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.320) >>
+/A << /S /GoTo /D (page.304) >>
 >> endobj
-11635 0 obj <<
+11593 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6427 719.9123 506.5792 730.8162]
+/Rect [434.45 672.092 451.387 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.314) >>
+/A << /S /GoTo /D (page.321) >>
 >> endobj
-11636 0 obj <<
+11594 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.1509 707.9571 491.0873 718.861]
+/Rect [489.643 660.136 506.579 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.315) >>
 >> endobj
-11637 0 obj <<
+11595 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.0257 696.0019 441.9622 706.9059]
+/Rect [474.151 648.181 491.087 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.317) >>
+/A << /S /GoTo /D (page.316) >>
 >> endobj
-11638 0 obj <<
+11596 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.6837 684.764 386.6202 694.9507]
+/Rect [425.026 636.226 441.962 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.318) >>
 >> endobj
-11639 0 obj <<
+11597 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.609 684.764 406.5455 694.9507]
+/Rect [369.684 624.988 386.62 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.305) >>
 >> endobj
-11640 0 obj <<
+11598 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.0298 672.8089 384.9663 682.9955]
+/Rect [389.609 624.988 406.545 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.305) >>
+/A << /S /GoTo /D (page.306) >>
 >> endobj
-11641 0 obj <<
+11599 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.9551 672.8089 404.8916 682.9955]
+/Rect [368.03 613.033 384.966 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.306) >>
 >> endobj
-11642 0 obj <<
+11600 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.6675 660.1364 417.604 671.0403]
+/Rect [387.955 613.033 404.892 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.300) >>
+/A << /S /GoTo /D (page.307) >>
 >> endobj
-11643 0 obj <<
+11601 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.5928 660.1364 437.5293 671.0403]
+/Rect [400.667 600.361 417.604 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.302) >>
+/A << /S /GoTo /D (page.301) >>
 >> endobj
-11644 0 obj <<
+11602 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 648.1812 396.0208 659.0852]
+/Rect [420.593 600.361 437.529 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.318) >>
+/A << /S /GoTo /D (page.303) >>
 >> endobj
-11645 0 obj <<
+11603 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 636.2261 391.761 647.13]
+/Rect [379.084 588.405 396.021 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.318) >>
+/A << /S /GoTo /D (page.319) >>
 >> endobj
-11646 0 obj <<
+11604 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.2954 624.2709 455.2319 635.1748]
+/Rect [374.824 576.45 391.761 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.318) >>
+/A << /S /GoTo /D (page.319) >>
 >> endobj
-11647 0 obj <<
+11605 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.2207 624.2709 475.1571 635.1748]
+/Rect [438.295 564.495 455.232 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.319) >>
 >> endobj
-11648 0 obj <<
+11606 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.6699 612.3157 443.6063 623.2197]
+/Rect [458.221 564.495 475.157 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (page.308) >>
+/A << /S /GoTo /D (page.320) >>
 >> endobj
-11649 0 obj <<
+11607 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.5452 600.3606 447.4817 611.2645]
+/Rect [426.67 552.54 443.606 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.308) >>
+/A << /S /GoTo /D (page.309) >>
 >> endobj
-11650 0 obj <<
+11608 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.0444 589.1227 436.9809 599.3093]
+/Rect [430.545 540.585 447.482 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (page.308) >>
+/A << /S /GoTo /D (page.309) >>
 >> endobj
-11651 0 obj <<
+11609 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.9197 577.1675 440.8562 587.3542]
+/Rect [420.044 529.347 436.981 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.308) >>
+/A << /S /GoTo /D (page.309) >>
 >> endobj
-11652 0 obj <<
+11610 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.5217 565.2123 400.4582 575.399]
+/Rect [423.92 517.392 440.856 527.578]
 /Subtype /Link
-/A << /S /GoTo /D (page.303) >>
+/A << /S /GoTo /D (page.309) >>
 >> endobj
-11653 0 obj <<
+11611 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.447 565.2123 420.3834 575.399]
+/Rect [383.522 505.437 400.458 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.304) >>
 >> endobj
-11654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.8849 552.5399 484.8214 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (page.316) >>
->> endobj
-11655 0 obj <<
+11612 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.4492 540.5847 454.3857 551.4887]
+/Rect [403.447 505.437 420.383 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.316) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-11656 0 obj <<
+11613 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.2259 528.6296 471.1623 539.5335]
+/Rect [467.885 492.764 484.821 503.668]
 /Subtype /Link
-/A << /S /GoTo /D (page.310) >>
+/A << /S /GoTo /D (page.317) >>
 >> endobj
-11657 0 obj <<
+11614 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2536 516.6744 413.1901 527.5783]
+/Rect [437.449 480.809 454.386 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.303) >>
+/A << /S /GoTo /D (page.317) >>
 >> endobj
-11658 0 obj <<
+11615 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 504.7192 367.7015 515.6232]
+/Rect [454.226 468.854 471.162 479.758]
 /Subtype /Link
-/A << /S /GoTo /D (page.320) >>
+/A << /S /GoTo /D (page.311) >>
 >> endobj
-11659 0 obj <<
+11616 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.8699 492.7641 424.8064 503.668]
+/Rect [396.254 456.899 413.19 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.313) >>
+/A << /S /GoTo /D (page.304) >>
 >> endobj
-11660 0 obj <<
+11617 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.8768 481.5262 393.8133 491.7128]
+/Rect [350.765 444.943 367.702 455.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.309) >>
+/A << /S /GoTo /D (page.321) >>
 >> endobj
-11661 0 obj <<
+11618 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.8519 468.8537 429.7884 479.7577]
+/Rect [407.87 432.988 424.806 443.892]
 /Subtype /Link
-/A << /S /GoTo /D (page.309) >>
+/A << /S /GoTo /D (page.314) >>
 >> endobj
-11662 0 obj <<
+11619 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.7731 456.8986 466.7096 467.8025]
+/Rect [376.877 421.75 393.813 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.310) >>
 >> endobj
-11663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.3104 433.7055 398.2469 443.8922]
-/Subtype /Link
-/A << /S /GoTo /D (page.321) >>
->> endobj
-11664 0 obj <<
+11620 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.6765 421.033 412.613 431.937]
+/Rect [412.852 409.078 429.788 419.982]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.310) >>
 >> endobj
-11665 0 obj <<
+11621 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.5519 409.0779 416.4883 419.9818]
+/Rect [449.773 397.123 466.71 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.337) >>
+/A << /S /GoTo /D (page.311) >>
 >> endobj
-11666 0 obj <<
+11622 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 397.84 405.9875 408.0266]
+/Rect [381.31 373.93 398.247 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.322) >>
 >> endobj
-11667 0 obj <<
+11623 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.9264 385.8848 409.8629 396.0715]
+/Rect [395.676 361.257 412.613 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.338) >>
 >> endobj
-11668 0 obj <<
+11624 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.1269 373.2124 455.0634 384.1163]
+/Rect [399.552 349.302 416.488 360.206]
 /Subtype /Link
-/A << /S /GoTo /D (page.337) >>
+/A << /S /GoTo /D (page.339) >>
 >> endobj
-11669 0 obj <<
+11625 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.5014 361.2572 448.4379 372.1611]
+/Rect [389.051 338.064 405.987 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.338) >>
 >> endobj
-11670 0 obj <<
+11626 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 349.302 490.1015 360.206]
+/Rect [392.926 326.109 409.863 336.296]
 /Subtype /Link
-/A << /S /GoTo /D (page.344) >>
+/A << /S /GoTo /D (page.339) >>
 >> endobj
-11671 0 obj <<
+11627 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.2707 337.3469 491.2072 348.2508]
+/Rect [438.127 313.437 455.063 324.34]
 /Subtype /Link
-/A << /S /GoTo /D (page.344) >>
+/A << /S /GoTo /D (page.339) >>
 >> endobj
-11672 0 obj <<
+11628 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 325.3917 399.0935 336.2956]
+/Rect [431.501 301.481 448.438 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.340) >>
 >> endobj
-11673 0 obj <<
+11629 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.8792 313.4365 411.8156 324.3405]
+/Rect [473.165 289.526 490.101 300.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.340) >>
+/A << /S /GoTo /D (page.345) >>
 >> endobj
-11674 0 obj <<
+11630 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.4496 301.4814 438.3861 312.3853]
+/Rect [474.271 277.571 491.207 288.475]
 /Subtype /Link
-/A << /S /GoTo /D (page.342) >>
+/A << /S /GoTo /D (page.346) >>
 >> endobj
-11675 0 obj <<
+11631 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.1718 289.5262 451.1082 300.4301]
+/Rect [382.157 265.616 399.093 276.52]
 /Subtype /Link
-/A << /S /GoTo /D (page.343) >>
+/A << /S /GoTo /D (page.342) >>
 >> endobj
-11676 0 obj <<
+11632 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.9954 278.2883 428.9319 288.475]
+/Rect [394.879 253.661 411.816 264.565]
 /Subtype /Link
-/A << /S /GoTo /D (page.333) >>
+/A << /S /GoTo /D (page.342) >>
 >> endobj
-11677 0 obj <<
+11633 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.6029 266.3331 429.5393 276.5198]
+/Rect [421.45 241.706 438.386 252.609]
 /Subtype /Link
-/A << /S /GoTo /D (page.334) >>
+/A << /S /GoTo /D (page.344) >>
 >> endobj
-11678 0 obj <<
+11634 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.3023 253.6607 424.2388 264.5646]
+/Rect [434.172 229.75 451.108 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.344) >>
 >> endobj
-11679 0 obj <<
+11635 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.7896 242.4228 387.7261 252.6095]
+/Rect [411.995 218.512 428.932 228.699]
 /Subtype /Link
-/A << /S /GoTo /D (page.333) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-11680 0 obj <<
+11636 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.5967 230.4676 380.5332 240.6543]
+/Rect [412.603 206.557 429.539 216.744]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-11681 0 obj <<
+11637 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.4082 217.7952 417.3447 228.6991]
+/Rect [407.302 193.885 424.239 204.789]
 /Subtype /Link
-/A << /S /GoTo /D (page.340) >>
+/A << /S /GoTo /D (page.346) >>
 >> endobj
-11682 0 obj <<
+11638 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.6175 205.84 449.554 216.744]
+/Rect [370.79 182.647 387.726 192.834]
 /Subtype /Link
-/A << /S /GoTo /D (page.346) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-11683 0 obj <<
+11639 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.9199 193.8849 440.8564 204.7888]
+/Rect [363.597 170.692 380.533 180.878]
 /Subtype /Link
-/A << /S /GoTo /D (page.346) >>
+/A << /S /GoTo /D (page.337) >>
 >> endobj
-11684 0 obj <<
+11640 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0555 181.9297 449.992 192.8336]
+/Rect [400.408 158.019 417.345 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.341) >>
 >> endobj
-11685 0 obj <<
+11641 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [452.9808 181.9297 469.9173 192.8336]
+/Rect [432.617 146.064 449.554 156.968]
 /Subtype /Link
-/A << /S /GoTo /D (page.342) >>
+/A << /S /GoTo /D (page.347) >>
 >> endobj
-11686 0 obj <<
+11642 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.7777 169.9745 462.7142 180.8785]
+/Rect [423.92 134.109 440.856 145.013]
 /Subtype /Link
-/A << /S /GoTo /D (page.341) >>
+/A << /S /GoTo /D (page.348) >>
 >> endobj
-11687 0 obj <<
+11643 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.703 169.9745 482.6395 180.8785]
+/Rect [433.056 122.154 449.992 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.342) >>
 >> endobj
-11688 0 obj <<
+11644 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.4437 158.7366 389.3802 168.9233]
+/Rect [452.981 122.154 469.917 133.058]
 /Subtype /Link
-/A << /S /GoTo /D (page.346) >>
+/A << /S /GoTo /D (page.343) >>
 >> endobj
-11689 0 obj <<
+11645 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.7641 146.0642 423.7006 156.9681]
+/Rect [445.778 110.199 462.714 121.103]
 /Subtype /Link
-/A << /S /GoTo /D (page.339) >>
+/A << /S /GoTo /D (page.343) >>
 >> endobj
-11690 0 obj <<
+11646 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2637 134.109 413.2002 145.0129]
+/Rect [465.703 110.199 482.639 121.103]
 /Subtype /Link
-/A << /S /GoTo /D (page.333) >>
+/A << /S /GoTo /D (page.344) >>
 >> endobj
-11691 0 obj <<
+11647 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.0257 122.1538 441.9622 133.0578]
+/Rect [372.444 98.961 389.38 109.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.345) >>
+/A << /S /GoTo /D (page.348) >>
 >> endobj
-11692 0 obj <<
+11648 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.6837 110.916 386.6202 121.1026]
+/Rect [406.764 86.288 423.701 97.192]
 /Subtype /Link
-/A << /S /GoTo /D (page.334) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-11693 0 obj <<
+11650 0 obj <<
 /Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.0298 98.9608 384.9663 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (page.335) >>
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 86.2883 396.0208 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (page.347) >>
->> endobj
-11695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11577 0 obj <<
-/D [11575 0 R /XYZ 90 757.9346 null]
+11654 0 obj <<
+/D [11652 0 R /XYZ 90 757.935 null]
 >> endobj
-11574 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+11651 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11698 0 obj <<
-/Length 5250      
+11773 0 obj <<
+/Length 1464      
 /Filter /FlateDecode
 >>
 stream
-xڽ]k�
�u��_1�
	آ�~,�/���8��� ��h���Hm��=�h�_��*���� X`��>�^�4뒗�aW�cW�^e�R_]߿�W��߿b��	>�r�w�_���VW�8�����ŃfDqƯ��������_~��o���wW�ZB�G��R8��W�~���Jh�}����D�n��{E�pV]}�(a���W��퇻Wx������b��b��	ųN0
-��J\.����ǧ�||y<��WߔMg�!�LKd���C����!�ܠѐʯo���j���[Q6��zDaac�#����|��������xw����|��z�9�;?�?^*J8��tp}�)��)7��V�](��p��n
+PPQX�ʛ�#纊+�dM��ox��ߥ�BT
�Aé�H�76��
aJ-Q���������p�����i~���Q�}[i�5���2|����ʄ�Ǡ&��"zI��L<X㳎
��`B�,G{����r���
�J%+P=��MtE`h�6
�/��顑
�$J��
ac�O�A�����F��2GeJ666��dX��l4̍�z����)7h�Q�]���"�0�l@��6ѡ$k)
��~
-�_��������|><?
�����~~x>E57��d�0:C���Sn����j�6>.Pr������Q�q��
N
-g�Q���]~�
Z�k�G���QˊT�$����n��r�
-O�������sS��,%F�:o3CV]|��Ɣ^;)�9E
�E�rɵ���� H�R�5�?~����S�q��&0��=��F
-������`E����������|��/0�����y>
��O
��;xv�t�a`�O�A�A�ߕ�z�E�i�X4�
�
-
��
�Nʮi��C�2j����d���ܠђ��:�]]ph�
/P
���G��p���:�����?�a�]2�B�O�Ak �~;<@�K��h@��(,l�f--��p8�
f?U�|l�^—y�u�dr��SnЪ�J���A�j
����l($l"E)���U|>����݁a�J���|�𭩡��I�ib,�.�WSC �c:z�� ^y~<�{���q�9�~��|<���w�~}9��go�z�y>�� �A(���12 at 6��4H�3�pE�a�h at 9@66
���|��Ǜ�Qe�gy�LF��a�O�A{�p�w�@����ܲ��Â��F�d�jpp8B�?=��Ok��fl�۷�)7h�[�~;�p'�h@�oPH�DL��p� ����PMk���Q�Sn��ߕY�
-G�2�\4����H�0�
3�E6,4�J��?��aQ��0�5%Ι�U�PH�Ĉ��9!��
-f`�u4A�D at O�ю���yV�GKu�2v962v�pB����#cJ��H�
��E�O�AkaQ�]��u��D:]6�J��M��ࡊ�!�a���,���C�O�AkD�~;$�E�*P�����F�%�i�"~ڇ�[t�
���r���������
-���l at 5,
-	��0��l�ܜ��
UY#ChS�b�+�~�
Z�X鷛'���+P%����F�$�j�2p뗔aK�t��XTiM�a.b<���x(��<�ֲ_3U6��!�����߸h��t�;L�RX8ɢ)�$|��
Qx���W��ѫ
@H�H��[a�xz:?�
}�����񡱯-�TB%[l_;�ܠ��]�]�0���,fdр�<($l�B��+8]S�w߿s.��/�
�^e
-D�i�N�l�Sn�ʖ��up�֊��Uu
PH�ĉ����0����H�L#�K�ؙX�O�A�L����.�5e�]�B�&*�$��5[/�6��aG��T��w�
`�K�O�A�q)��C�q
D�~}ـ�(������qU��G7��GS[m�l�����H���A��e�!PH�D��D%>���������֮�bTcl�3���nms^x\(P�u�/�y�*��0Z�<��aU����}��F/c�&[|�w�O�A{���o�(%4+���]PX�H�*eݚ��?��َ���V)�W�&��q���Sn�9�0e{�i|0W6�u��QX�H����uװ�x�k��?#����!�ܠ�C�7sP�b4+P�PX؍߃6ac9`�"T).U2�.����.��~�ǡq�
JҖ
��
-
��+.���ι/�o�AE�H�7��4�Q�]'Z�9JjU6��������k��%��i�o��u�;�`*x4ŷ+���ۻ�^�e�#0���荽��Č$(,"�D������Cq'��R�L.�J��B�O�Ak�P�]S�W
-����E��B@!aR�욑o�nv�Y���d��:�]/#n��D��M-*֋Be�׉а�
-��Q�&���|>ޝ��sm
_�2T%'��X�Sn�

�~ׇŴ��b�l at cx,($l��/ƥcN��k�q��`�h�O�A�-��h��p�-E�j4����7���>2T �;
�X��k��Ҋ0�
��
�DM#�N�¦Ї��~������YYqn�
�W<���E�O�A+_�~;��
-�Ų��:�������¸#�_?
��L0�\2řX�Sn�f���	��-�`bA!a
,_箏�g
��Qa”�|
�xlY�Sn�ZV�~{�؆A��e�ee at aac�� ��:_�
^�����&�������/VAnЮ/.��D�V}�c�Q^x4Ҡ��F�h@�y� ��\r�è�r�V�,��8��#�眗
��f@!a+�
0�����k4˖D�Ω�Cy3�q��,�Hfйuz�Wy����
h�;�
Y������|<6��ž�
;��)7h
p�~;��A*P�PX����o�x�O{�ڎ(IM2�f���r�֌Q��%�V��Z;����	�s�l`��vN`J�����؄�SnК0J��m9�
a��
�*�����SV�鹛���
_�c��)7h��������
|��l@�����n����DX����t�|z��E�׻Gmvݢ��2x��E;[��n�e�˾3�
����+�Т�6	���@݅s�}KI%1~�픇F<�Ӭ��㤚9%sD;e��Ј��V�zZH���a�;��T~;���Tΐ~4��\��[
-)�!Zk�W�@��۹%#%'2�XQH���
]h=mJZ-��)
��H��ڹS(��m%����LD
���˅�3B�<�S�@��۹N&�"ί
��ЈB�&6��B��l��^]�G��.~�z�	
$b��R�x
��
+�bP��T�F<"Ǭ�v�o�\�-��
-4����������Z���@#
�c�~;�l�v��7T�F6q�@���b�ĴS�
���9�P�
? �*ЈB�&Rr�����t������$�g��Uo�N8��|�*4��
-��k�LLX���x�
-��q�Dȅ*��
-Ůt����5k��]L��9a�*ш��FrUfW

�?t{š��4k��;0*��J�š���z!��!��/ܱZ�шGĚ��N}&a9m�r��($l��B#:�
-�1���F<�Ҭ�v6,���6	�C#
-
	���
���(�o�����W
-�&���٧�%��^�7��F��%9���"�HH��
+��ҫ�H�-GX��CF<�J��v�[�
����$�n�����;���$
.��r��+�؏"� �u+
K�^)e�#�����`�9S�r��Rʈ��Fs�bd���SM
[C��s�x2�c�G���]*9OF6R��/@��;�[7񈀱��
^���P7QXح��ĭ���E��v�J2��b�w�X3VIFv˳�<ϳ��{��N�`ʳc_�GіA����g��q��r���<�Sy���XX�]4�<;T
�<���
��yv��0�ٱ��ۣ`ˠC�aʳH�HA��ۓgw
-
S�
+�j��!2�Ph��,6�?���ʳ��Y�
*�j��G��ّ�0˳�1�fz>4��_5��ʂ���)9������!���k9�
F�8f���
=��Q/"ߧ5�xD�W�]p�C6�*�f�5�(,������k^�!�%Z9�Wh����#�_Ϊ��0�����\ԇ��Ó��WE�F<�����$ԛ ˤ��XbQH�DB����zH͉��F<������/:0֍E���M��B>�
��
���ˆG�}�ߕ��q^>4RF6re|_�Z	Ω�l��0�GJ��c���3�
t�2����k���x���!�SQ񈴯��v_w�g�XQQX�HB�����x�#G��+.�xD�W��1b(��C��ˆB�&Fr-�gd�I�
-����)��WW����ۛ3� �3�Fv��B�wA6$(�FT��F<"�����Ћ Q�u���M|��
>Z���S/�Wm����rP/���q!�XmQX��A& �klvJ7�X�W�\���hp�熂��L<�>O�y��%ؗ�Y\
-���$�I#
���~{K)�_+��#�aD!a#��o��x�ĝ������7־�~��(Biw�o(�K;~H�HO��j�ӿ��3��v�h�j��V./3c�YD!a#��k��Y�rI]�աE<"��v2�����X�QH�Hυ諢g0�HK
.�^9Z�#���oo�ʿ
���h��M��2�!�p��l�Xm�#���kg.�'H��Rm!11�,�S�[���oj:��Q�W��|�����zv�0mQ�
��"
-	�8�ea]N�Ώ������6{Ek
�U^WJ�	�yI0E$k�DM���
�wa�i
�����G�c�ߕ������ ��Ek���<�*�}�w�5o��{�k�H�j�
*$��˜
+�"
-
��eb����=�_[�2��j�"
��~W.tk�j��c�ZD!a�h�+޿&9��^�^5[�#�����G]��w-��c5[D!a����޿���3�[���Y�;>(a���m���Ue���G��TT�T�m�¬�r�^�J7R�-J.��8<���j��i�������EH_e{�^�+�k�����8�T�������i�S���vԹ��;���y>���^?�?������n���T���}����R���7�`����
�-<P�lm[Z?�������B0�2���_������}
//O߾}���gr�L>=����������m=Q+��.�U�.��-�
��Y�A֖�������9|����2�I5��]˺)�C endstream
+x��Z[��6~ϯ�i�H
��L�;����l*U�Y!8�w��!�N}�%�$C�M�R� ����
>�
0�0n&����
�
�������bh"
�ȸ�����o��}\�7
� a�\��������r�e�U`��i䚮��0��F$��7�i�����J
Dz�ol|��1�� p`	��B�k�&��i�AĊOK�`ų��چ�q�n�����s
��m�����5���Q
��<(rR��д`YZ� 
W��%�_�k��T��o��j
c��{�唓2��M�w
�жM�}ʼ~��r
fd:"7�[����M�;��}�5��.�I�ngM	/���FېF�-��A)�8��e���^c8} �Ji�c�&�tͷ4
����Jǁ���%'b؎mn
+���q����?�
6l��\�����FFF�`a)Ux�>).
��n���R����
hL��(�:����6�vݠ+
�M�m.�%x̶i���ߙg�[�J��DN2�
�h���@��a3w�bB��,~�Ј��W��	����f悖⿙��;�ʼnnu�J�H��p
�D�^u�<�����Q�,�
�*Њ��m
0=3u���tT��G�3ԑZU���.��:�4�����朎���<�.)dU"�b�a��>�������D��,&�"y���}����4	��ך�EE�1��FN��WOy<�Gd��W�}�q���,�5����eR��a�	��'t�v(r<��\1g��.�����ߪU
�'bu��(o�B�>��ʱ�yE�'5��y�Ը��H�l>��FxMS�\��0d �Ҥ<�pXϚ�L�2�,��J�^ӆ��S	j@�/[_��RT��hp
�YL�U)j�'�
�@ԫ'$�B�	Y��Ħ�Y�m[N�H�RJ�h��5M–�j�d
QJ
��wL�cy-]X=
Z+!��*!�ET%��e����Jz�*a�fז��.*L%���4PӒ��
5-	z��<f��`[TU{U��qX\[3;7_a=�L¤����k443��? �q��
+V�T��J�XS(�.�
+k�V"~��
�g��}�C���
+�X5ãm����$�۵Ib�ٵ��t.E�J;@�
E�W�t�F�������7zԽ���uo��W���.U�ɽ2D�})UZ
Y6�9 ��*� 8�*�R�}��#��A���I�AA
�����ś]�rg�`zf�ҠsV���ToD���
�Z��̞�:?��v����}z�,?j��l�Rd=ړ3��©Ƨ�#�d�p xγOT�[%�וL
�:���ɰg��S}�l��6}���7ِo"�j]�
���+��}�М��Bs�gA�w3��Es�I�$n� {�T���L(>9���Cs6��r��m���}6�G�T�ߡ�- �B�k�MY�W��n�3��ܦ,�&+y
/�|x�u
ӵ� +Q���%o}�Rq1��^�H�?]���
+endstream
 endobj
-11697 0 obj <<
+11772 0 obj <<
 /Type /Page
-/Contents 11698 0 R
-/Resources 11696 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 11461 0 R
-/Annots [ 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 11729 0 R 11730 0 R 11731 0 R 11732 0 R 11733 0 R 11734 0 R 11735 0 R 11736 0 R 11737 0 R 11738 0 R 11739 0 R 11740 0 R 11741 0 R 11742 0 R 11743 0 R 11744 0 R 11745 0 R 11746 0 R 11747 0 R 11 [...]
+/Contents 11773 0 R
+/Resources 11771 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11193 0 R
+/Annots [ 11649 0 R 11655 0 R 11656 0 R 11657 0 R 11658 0 R 11659 0 R 11660 0 R 11661 0 R 11662 0 R 11663 0 R 11664 0 R 11665 0 R 11666 0 R 11667 0 R 11668 0 R 11669 0 R 11670 0 R 11671 0 R 11672 0 R 11673 0 R 11674 0 R 11675 0 R 11676 0 R 11677 0 R 11678 0 R 11679 0 R 11680 0 R 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 11 [...]
 >> endobj
-11700 0 obj <<
+11649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.782 719.912 196.719 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.335) >>
+>> endobj
+11655 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3432 719.9123 175.2797 730.8162]
+/Rect [208.544 707.957 225.481 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.347) >>
 >> endobj
-11701 0 obj <<
+11656 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.3389 707.9571 240.2754 718.861]
+/Rect [153.202 696.719 170.139 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.329) >>
+/A << /S /GoTo /D (page.335) >>
 >> endobj
-11702 0 obj <<
+11657 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2642 707.9571 260.2007 718.861]
+/Rect [173.128 696.719 190.064 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.333) >>
+/A << /S /GoTo /D (page.336) >>
 >> endobj
-11703 0 obj <<
+11658 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.1885 696.0019 227.125 706.9059]
+/Rect [151.549 684.764 168.485 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.337) >>
+/A << /S /GoTo /D (page.336) >>
 >> endobj
-11704 0 obj <<
+11659 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.0639 684.0467 231.0004 694.9507]
+/Rect [171.474 684.764 188.41 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.337) >>
 >> endobj
-11705 0 obj <<
+11660 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5631 672.8089 220.4996 682.9955]
+/Rect [162.603 672.092 179.539 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.348) >>
 >> endobj
-11706 0 obj <<
+11661 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.4384 660.8537 224.3749 671.0403]
+/Rect [158.343 660.136 175.28 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.338) >>
+/A << /S /GoTo /D (page.348) >>
 >> endobj
-11707 0 obj <<
+11662 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.4036 648.1812 268.3401 659.0852]
+/Rect [223.339 648.181 240.275 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.345) >>
+/A << /S /GoTo /D (page.330) >>
 >> endobj
-11708 0 obj <<
+11663 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9679 636.2261 237.9044 647.13]
+/Rect [243.264 648.181 260.201 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.345) >>
+/A << /S /GoTo /D (page.334) >>
 >> endobj
-11709 0 obj <<
+11664 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7723 624.2709 196.7088 635.1748]
+/Rect [210.189 636.226 227.125 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.338) >>
 >> endobj
-11710 0 obj <<
+11665 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 612.3157 151.2202 623.2197]
+/Rect [214.064 624.271 231 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.347) >>
+/A << /S /GoTo /D (page.339) >>
 >> endobj
-11711 0 obj <<
+11666 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.3886 600.3606 208.3251 611.2645]
+/Rect [203.563 613.033 220.5 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.343) >>
+/A << /S /GoTo /D (page.338) >>
 >> endobj
-11712 0 obj <<
+11667 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3955 589.1227 177.332 599.3093]
+/Rect [207.438 601.078 224.375 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.339) >>
+/A << /S /GoTo /D (page.340) >>
 >> endobj
-11713 0 obj <<
+11668 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.3706 576.4502 213.3071 587.3542]
+/Rect [251.404 588.405 268.34 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.339) >>
+/A << /S /GoTo /D (page.346) >>
 >> endobj
-11714 0 obj <<
+11669 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.2918 564.4951 250.2283 575.399]
+/Rect [220.968 576.45 237.904 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.340) >>
+/A << /S /GoTo /D (page.346) >>
 >> endobj
-11715 0 obj <<
+11670 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.8785 552.5399 197.815 563.4438]
+/Rect [179.772 564.495 196.709 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (page.343) >>
+/A << /S /GoTo /D (page.337) >>
 >> endobj
-11716 0 obj <<
+11671 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.4313 540.5847 295.3678 551.4887]
+/Rect [134.284 552.54 151.22 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.347) >>
+/A << /S /GoTo /D (page.349) >>
 >> endobj
-11717 0 obj <<
+11672 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.1952 528.6296 196.1317 539.5335]
+/Rect [191.389 540.585 208.325 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (page.363) >>
+/A << /S /GoTo /D (page.345) >>
 >> endobj
-11718 0 obj <<
+11673 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.182 516.6744 258.1185 527.5783]
+/Rect [160.396 529.347 177.332 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.363) >>
+/A << /S /GoTo /D (page.340) >>
 >> endobj
-11719 0 obj <<
+11674 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0705 504.7192 200.007 515.6232]
+/Rect [180.321 529.347 197.257 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.364) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-11720 0 obj <<
+11675 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.0574 492.7641 261.9939 503.668]
+/Rect [196.371 516.674 213.307 527.578]
 /Subtype /Link
-/A << /S /GoTo /D (page.364) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-11721 0 obj <<
+11676 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.5697 481.5262 189.5062 491.7128]
+/Rect [233.292 504.719 250.228 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.361) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-11722 0 obj <<
+11677 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.5565 469.571 251.493 479.7577]
+/Rect [180.878 492.764 197.815 503.668]
 /Subtype /Link
-/A << /S /GoTo /D (page.362) >>
+/A << /S /GoTo /D (page.345) >>
 >> endobj
-11723 0 obj <<
+11678 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4451 457.6158 193.3816 467.8025]
+/Rect [278.431 480.809 295.368 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.362) >>
+/A << /S /GoTo /D (page.349) >>
 >> endobj
-11724 0 obj <<
+11679 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.4319 445.6607 255.3684 455.8473]
+/Rect [179.195 468.854 196.132 479.758]
 /Subtype /Link
-/A << /S /GoTo /D (page.363) >>
+/A << /S /GoTo /D (page.365) >>
 >> endobj
-11725 0 obj <<
+11680 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.8288 432.9882 181.7653 443.8922]
+/Rect [241.182 456.899 258.118 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.361) >>
+/A << /S /GoTo /D (page.365) >>
 >> endobj
-11726 0 obj <<
+11681 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.6757 421.033 182.6121 431.937]
+/Rect [183.071 444.943 200.007 455.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.366) >>
+/A << /S /GoTo /D (page.365) >>
 >> endobj
-11727 0 obj <<
+11682 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.3978 409.0779 195.3343 419.9818]
+/Rect [245.057 432.988 261.994 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.366) >>
 >> endobj
-11728 0 obj <<
+11683 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.4572 397.1227 219.3937 408.0266]
+/Rect [172.57 421.75 189.506 431.937]
 /Subtype /Link
-/A << /S /GoTo /D (page.372) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-11729 0 obj <<
+11684 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.5419 385.1675 247.4783 396.0715]
+/Rect [234.557 409.795 251.493 419.982]
 /Subtype /Link
-/A << /S /GoTo /D (page.369) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-11730 0 obj <<
+11685 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7476 373.2124 232.6841 384.1163]
+/Rect [176.445 397.84 193.382 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.370) >>
+/A << /S /GoTo /D (page.364) >>
 >> endobj
-11731 0 obj <<
+11686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.432 385.885 255.368 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.364) >>
+>> endobj
+11687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.829 373.212 181.765 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.363) >>
+>> endobj
+11688 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.9682 361.2572 221.9047 372.1611]
+/Rect [165.676 361.257 182.612 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.368) >>
 >> endobj
-11732 0 obj <<
+11689 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.6904 349.302 234.6269 360.206]
+/Rect [178.398 349.302 195.334 360.206]
 /Subtype /Link
-/A << /S /GoTo /D (page.369) >>
+/A << /S /GoTo /D (page.368) >>
 >> endobj
-11733 0 obj <<
+11690 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.5141 338.0642 212.4506 348.2508]
+/Rect [202.457 337.347 219.394 348.251]
 /Subtype /Link
-/A << /S /GoTo /D (page.358) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-11734 0 obj <<
+11691 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.1215 326.109 213.058 336.2956]
+/Rect [230.542 325.392 247.478 336.296]
 /Subtype /Link
-/A << /S /GoTo /D (page.358) >>
+/A << /S /GoTo /D (page.371) >>
 >> endobj
-11735 0 obj <<
+11692 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.379 314.1538 208.3155 324.3405]
+/Rect [215.748 313.437 232.684 324.34]
 /Subtype /Link
-/A << /S /GoTo /D (page.373) >>
+/A << /S /GoTo /D (page.371) >>
 >> endobj
-11736 0 obj <<
+11693 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 301.4814 207.7575 312.3853]
+/Rect [204.968 301.481 221.905 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.370) >>
 >> endobj
-11737 0 obj <<
+11694 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.3082 290.2435 171.2447 300.4301]
+/Rect [217.69 289.526 234.627 300.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.357) >>
+/A << /S /GoTo /D (page.370) >>
 >> endobj
-11738 0 obj <<
+11695 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.1154 278.2883 164.0519 288.475]
+/Rect [195.514 278.288 212.451 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.359) >>
+>> endobj
+11696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.122 266.333 213.058 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.360) >>
 >> endobj
-11739 0 obj <<
+11697 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.9269 265.6159 200.8634 276.5198]
+/Rect [191.379 254.378 208.316 264.565]
 /Subtype /Link
-/A << /S /GoTo /D (page.366) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-11740 0 obj <<
+11698 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.1362 253.6607 233.0727 264.5646]
+/Rect [211.304 254.378 228.241 264.565]
 /Subtype /Link
-/A << /S /GoTo /D (page.371) >>
+/A << /S /GoTo /D (page.375) >>
 >> endobj
-11741 0 obj <<
+11699 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.4386 241.7055 224.3751 252.6095]
+/Rect [190.821 241.706 207.757 252.609]
 /Subtype /Link
-/A << /S /GoTo /D (page.371) >>
+/A << /S /GoTo /D (page.372) >>
 >> endobj
-11742 0 obj <<
+11700 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5742 229.7504 233.5107 240.6543]
+/Rect [154.308 230.468 171.245 240.654]
 /Subtype /Link
-/A << /S /GoTo /D (page.367) >>
+/A << /S /GoTo /D (page.359) >>
 >> endobj
-11743 0 obj <<
+11701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.115 218.512 164.052 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.362) >>
+>> endobj
+11702 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.2964 217.7952 246.2329 228.6991]
+/Rect [183.927 205.84 200.863 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.367) >>
 >> endobj
-11744 0 obj <<
+11703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.136 193.885 233.073 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+11704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.439 181.93 224.375 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+11705 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2217 217.7952 266.1582 228.6991]
+/Rect [216.574 169.975 233.511 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.368) >>
 >> endobj
-11745 0 obj <<
+11706 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.3789 205.84 216.3154 216.744]
+/Rect [236.499 169.975 253.436 180.878]
 /Subtype /Link
-/A << /S /GoTo /D (page.360) >>
+/A << /S /GoTo /D (page.369) >>
 >> endobj
-11746 0 obj <<
+11707 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.1296 193.8849 216.0661 204.7888]
+/Rect [229.296 158.019 246.233 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.360) >>
+/A << /S /GoTo /D (page.369) >>
 >> endobj
-11747 0 obj <<
+11708 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.9624 182.647 172.8988 192.8336]
+/Rect [199.379 146.064 216.315 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.361) >>
 >> endobj
-11748 0 obj <<
+11709 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.2828 169.9745 207.2193 180.8785]
+/Rect [199.13 134.109 216.066 145.013]
 /Subtype /Link
-/A << /S /GoTo /D (page.365) >>
+/A << /S /GoTo /D (page.362) >>
 >> endobj
-11749 0 obj <<
+11710 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.2696 158.0194 269.2061 168.9233]
+/Rect [155.962 122.871 172.899 133.058]
 /Subtype /Link
-/A << /S /GoTo /D (page.365) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-11750 0 obj <<
+11711 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7824 146.0642 196.7188 156.9681]
+/Rect [190.283 110.199 207.219 121.103]
 /Subtype /Link
-/A << /S /GoTo /D (page.357) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-11751 0 obj <<
+11712 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.3391 134.109 192.2755 145.0129]
+/Rect [252.27 98.244 269.206 109.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.372) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-11752 0 obj <<
+11713 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.5444 122.1538 225.4809 133.0578]
+/Rect [179.782 86.288 196.719 97.192]
 /Subtype /Link
-/A << /S /GoTo /D (page.371) >>
+/A << /S /GoTo /D (page.359) >>
 >> endobj
-11753 0 obj <<
+11714 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.2024 110.916 170.1389 121.1026]
+/Rect [391.82 719.912 408.757 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (page.358) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-11754 0 obj <<
+11715 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5485 98.9608 168.485 109.1474]
+/Rect [425.026 707.957 441.962 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.359) >>
+/A << /S /GoTo /D (page.372) >>
 >> endobj
-11755 0 obj <<
+11716 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.1948 86.2883 196.1313 97.1923]
+/Rect [369.684 696.719 386.62 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.369) >>
+/A << /S /GoTo /D (page.360) >>
 >> endobj
-11756 0 obj <<
+11717 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [403.7555 720.6295 420.692 730.8162]
+/Rect [368.03 684.764 384.966 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.355) >>
+/A << /S /GoTo /D (page.361) >>
 >> endobj
-11757 0 obj <<
+11718 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.6808 720.6295 440.6173 730.8162]
+/Rect [395.676 672.092 412.613 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.357) >>
+/A << /S /GoTo /D (page.371) >>
 >> endobj
-11758 0 obj <<
+11719 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.6699 707.9571 443.6063 718.861]
+/Rect [403.755 660.854 420.692 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.363) >>
+/A << /S /GoTo /D (page.356) >>
 >> endobj
-11759 0 obj <<
+11720 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.5452 696.0019 447.4817 706.9059]
+/Rect [423.681 660.854 440.617 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.364) >>
+/A << /S /GoTo /D (page.359) >>
 >> endobj
-11760 0 obj <<
+11721 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.0444 684.764 436.9809 694.9507]
+/Rect [426.67 648.181 443.606 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.362) >>
+/A << /S /GoTo /D (page.365) >>
 >> endobj
-11761 0 obj <<
+11722 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.9197 672.8089 440.8562 682.9955]
+/Rect [430.545 636.226 447.482 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.362) >>
+/A << /S /GoTo /D (page.366) >>
 >> endobj
-11762 0 obj <<
+11723 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.5217 660.8537 400.4582 671.0403]
+/Rect [420.044 624.988 436.981 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.361) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-11763 0 obj <<
+11724 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.8849 648.1812 484.8214 659.0852]
+/Rect [423.92 613.033 440.856 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.371) >>
+/A << /S /GoTo /D (page.364) >>
 >> endobj
-11764 0 obj <<
+11725 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.4492 636.2261 454.3857 647.13]
+/Rect [383.522 601.078 400.458 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.370) >>
+/A << /S /GoTo /D (page.362) >>
 >> endobj
-11765 0 obj <<
+11726 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.2259 624.2709 471.1623 635.1748]
+/Rect [403.447 601.078 420.383 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.366) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-11766 0 obj <<
+11727 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2536 612.3157 413.1901 623.2197]
+/Rect [467.885 588.405 484.821 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.360) >>
+/A << /S /GoTo /D (page.372) >>
 >> endobj
-11767 0 obj <<
+11728 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 600.3606 367.7015 611.2645]
+/Rect [437.449 576.45 454.386 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.373) >>
+/A << /S /GoTo /D (page.372) >>
 >> endobj
-11768 0 obj <<
+11729 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.8699 588.4054 424.8064 599.3093]
+/Rect [454.226 564.495 471.162 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (page.369) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-11769 0 obj <<
+11730 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.8768 577.1675 393.8133 587.3542]
+/Rect [396.254 552.54 413.19 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.365) >>
+/A << /S /GoTo /D (page.362) >>
 >> endobj
-11770 0 obj <<
+11731 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.0413 565.2123 405.9778 575.399]
+/Rect [350.765 540.585 367.702 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (page.372) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-11771 0 obj <<
+11732 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 542.642 362.2721 551.4887]
+/Rect [407.87 528.63 424.806 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.373) >>
+/A << /S /GoTo /D (page.371) >>
 >> endobj
-11772 0 obj <<
+11733 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 528.6296 396.0208 539.5335]
+/Rect [376.877 517.392 393.813 527.578]
 /Subtype /Link
-/A << /S /GoTo /D (page.375) >>
+/A << /S /GoTo /D (page.366) >>
 >> endobj
-11773 0 obj <<
+11734 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.7052 516.6744 383.6417 527.5783]
+/Rect [396.802 517.392 413.739 527.578]
 /Subtype /Link
-/A << /S /GoTo /D (page.375) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-11774 0 obj <<
+11735 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 504.7192 391.761 515.6232]
+/Rect [389.041 505.437 405.978 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.375) >>
+/A << /S /GoTo /D (page.373) >>
 >> endobj
-11775 0 obj <<
+11736 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0885 492.7641 396.025 503.668]
+/Rect [408.967 505.437 425.903 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.375) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-11776 0 obj <<
+11737 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 470.911 362.2721 479.7577]
+/Rect [345.336 482.866 362.272 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.375) >>
 >> endobj
-11777 0 obj <<
+11738 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 456.8986 396.0208 467.8025]
+/Rect [379.084 468.854 396.021 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.377) >>
 >> endobj
-11778 0 obj <<
+11739 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.7052 444.9434 383.6417 455.8473]
+/Rect [366.705 456.899 383.642 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.377) >>
+/A << /S /GoTo /D (page.376) >>
 >> endobj
-11779 0 obj <<
+11740 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.8245 432.9882 391.761 443.8922]
+/Rect [374.824 444.943 391.761 455.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.377) >>
+/A << /S /GoTo /D (page.376) >>
 >> endobj
-11780 0 obj <<
+11741 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0885 421.033 396.025 431.937]
+/Rect [379.088 432.988 396.025 443.892]
 /Subtype /Link
-/A << /S /GoTo /D (page.377) >>
+/A << /S /GoTo /D (page.376) >>
 >> endobj
-11781 0 obj <<
+11742 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.4862 409.0779 484.4227 419.9818]
+/Rect [345.336 411.135 362.272 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.377) >>
 >> endobj
-11782 0 obj <<
+11743 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.6765 397.1227 412.613 408.0266]
+/Rect [379.084 397.123 396.021 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.395) >>
+/A << /S /GoTo /D (page.378) >>
 >> endobj
-11783 0 obj <<
+11744 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.6633 385.1675 474.5998 396.0715]
+/Rect [366.705 385.168 383.642 396.071]
 /Subtype /Link
-/A << /S /GoTo /D (page.395) >>
+/A << /S /GoTo /D (page.378) >>
 >> endobj
-11784 0 obj <<
+11745 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.5519 373.2124 416.4883 384.1163]
+/Rect [374.824 373.212 391.761 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.399) >>
+/A << /S /GoTo /D (page.378) >>
 >> endobj
-11785 0 obj <<
+11746 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.5387 361.2572 478.4752 372.1611]
+/Rect [379.088 361.257 396.025 372.161]
 /Subtype /Link
-/A << /S /GoTo /D (page.399) >>
+/A << /S /GoTo /D (page.378) >>
 >> endobj
-11786 0 obj <<
+11747 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.051 350.0193 405.9875 360.206]
+/Rect [467.486 349.302 484.423 360.206]
 /Subtype /Link
-/A << /S /GoTo /D (page.394) >>
+/A << /S /GoTo /D (page.379) >>
 >> endobj
-11787 0 obj <<
+11748 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [451.0379 338.0642 467.9743 348.2508]
+/Rect [395.676 337.347 412.613 348.251]
 /Subtype /Link
-/A << /S /GoTo /D (page.394) >>
+/A << /S /GoTo /D (page.397) >>
 >> endobj
-11788 0 obj <<
+11749 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.9264 326.109 409.8629 336.2956]
+/Rect [457.663 325.392 474.6 336.296]
 /Subtype /Link
-/A << /S /GoTo /D (page.396) >>
+/A << /S /GoTo /D (page.397) >>
 >> endobj
-11789 0 obj <<
+11750 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.9132 314.1538 471.8497 324.3405]
+/Rect [399.552 313.437 416.488 324.34]
 /Subtype /Link
-/A << /S /GoTo /D (page.396) >>
+/A << /S /GoTo /D (page.400) >>
 >> endobj
-11790 0 obj <<
+11751 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.3775 301.4814 404.314 312.3853]
+/Rect [461.539 301.481 478.475 312.385]
 /Subtype /Link
-/A << /S /GoTo /D (page.395) >>
+/A << /S /GoTo /D (page.401) >>
 >> endobj
-11791 0 obj <<
+11752 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.3644 289.5262 466.3008 300.4301]
+/Rect [389.051 290.243 405.987 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.395) >>
 >> endobj
-11792 0 obj <<
+11753 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.2529 277.571 408.1894 288.475]
+/Rect [451.038 278.288 467.974 288.475]
 /Subtype /Link
-/A << /S /GoTo /D (page.397) >>
+/A << /S /GoTo /D (page.396) >>
 >> endobj
-11793 0 obj <<
+11754 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [453.2397 265.6159 470.1762 276.5198]
+/Rect [392.926 266.333 409.863 276.52]
 /Subtype /Link
-/A << /S /GoTo /D (page.398) >>
+/A << /S /GoTo /D (page.397) >>
 >> endobj
-11794 0 obj <<
+11755 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.1269 253.6607 455.0634 264.5646]
+/Rect [454.913 254.378 471.85 264.565]
 /Subtype /Link
-/A << /S /GoTo /D (page.399) >>
+/A << /S /GoTo /D (page.398) >>
 >> endobj
-11795 0 obj <<
+11756 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 231.8076 362.2721 240.6543]
+/Rect [387.378 241.706 404.314 252.609]
 /Subtype /Link
-/A << /S /GoTo /D (page.400) >>
+/A << /S /GoTo /D (page.396) >>
 >> endobj
-11796 0 obj <<
+11757 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.5014 217.7952 448.4379 228.6991]
+/Rect [449.364 229.75 466.301 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.396) >>
 >> endobj
-11797 0 obj <<
+11758 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.4883 205.84 510.4248 216.744]
+/Rect [391.253 217.795 408.189 228.699]
 /Subtype /Link
-/A << /S /GoTo /D (page.397) >>
+/A << /S /GoTo /D (page.399) >>
 >> endobj
-11798 0 obj <<
+11759 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [429.8279 193.8849 446.7644 204.7888]
+/Rect [453.24 205.84 470.176 216.744]
 /Subtype /Link
-/A << /S /GoTo /D (page.397) >>
+/A << /S /GoTo /D (page.399) >>
 >> endobj
-11799 0 obj <<
+11760 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.8148 181.9297 508.7513 192.8336]
+/Rect [438.127 193.885 455.063 204.789]
 /Subtype /Link
-/A << /S /GoTo /D (page.398) >>
+/A << /S /GoTo /D (page.401) >>
 >> endobj
-11800 0 obj <<
+11761 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [473.165 169.9745 490.1015 180.8785]
+/Rect [345.336 172.032 362.272 180.878]
 /Subtype /Link
-/A << /S /GoTo /D (page.408) >>
+/A << /S /GoTo /D (page.401) >>
 >> endobj
-11801 0 obj <<
+11762 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.2707 158.0194 491.2072 168.9233]
+/Rect [431.501 158.019 448.438 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.409) >>
+/A << /S /GoTo /D (page.397) >>
 >> endobj
-11802 0 obj <<
+11763 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 146.0642 399.0935 156.9681]
+/Rect [493.488 146.064 510.425 156.968]
 /Subtype /Link
-/A << /S /GoTo /D (page.403) >>
+/A << /S /GoTo /D (page.398) >>
 >> endobj
-11803 0 obj <<
+11764 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.8792 134.109 411.8156 145.0129]
+/Rect [429.828 134.109 446.764 145.013]
 /Subtype /Link
-/A << /S /GoTo /D (page.403) >>
+/A << /S /GoTo /D (page.399) >>
 >> endobj
-11804 0 obj <<
+11765 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.874 122.1538 455.8104 133.0578]
+/Rect [491.815 122.154 508.751 133.058]
 /Subtype /Link
-/A << /S /GoTo /D (page.406) >>
+/A << /S /GoTo /D (page.400) >>
 >> endobj
-11805 0 obj <<
+11766 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.4496 110.1987 438.3861 121.1026]
+/Rect [473.165 110.199 490.101 121.103]
 /Subtype /Link
-/A << /S /GoTo /D (page.405) >>
+/A << /S /GoTo /D (page.410) >>
 >> endobj
-11806 0 obj <<
+11767 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.1718 98.2435 451.1082 109.1474]
+/Rect [474.271 98.244 491.207 109.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.406) >>
+/A << /S /GoTo /D (page.410) >>
 >> endobj
-11807 0 obj <<
+11768 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.5088 86.2883 510.4453 97.1923]
+/Rect [382.157 86.288 399.093 97.192]
 /Subtype /Link
-/A << /S /GoTo /D (page.407) >>
+/A << /S /GoTo /D (page.405) >>
 >> endobj
-11808 0 obj <<
+11770 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11699 0 obj <<
-/D [11697 0 R /XYZ 90 757.9346 null]
+11774 0 obj <<
+/D [11772 0 R /XYZ 90 757.935 null]
 >> endobj
-11696 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
+11771 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11811 0 obj <<
-/Length 5103      
+11873 0 obj <<
+/Length 1552      
 /Filter /FlateDecode
 >>
 stream
-xڽ]ms
����_�o'VeFx�\��bl&�Htb'Nm�ȕ�w�r������ט� ���WN�����g�n���g�G�49�e�j.����g��#���Ϩ���ϛ������nuǺ�������Qvv{���W�.~8����Q-�
2/1����I��%﨑��g�;9��I��i�V��
�@Z�5;{|&�~xx��ٟ���a at n
���"$
A	��I~�3ޒ�`������~s���׫�9���u:��O���i�Z�ۏ��ċbR�� ���aN��G�y���p@:�T��*Q�z�JM�	D�8��3CiK)a�������q�~�d�����MB�]+)~|��o��y%rͼ��	
𹐂G��P�ډ�N�J���~��t���/&z�+7#�› ��!�Z����L#�	
��t$���G5(�{�ݭO�
�W�T�Vў��߄r$�rǽ�Hׂ��'�0�0���^�L�~��~b�;�뗲�DH? Y��o���$r
V@{��x��

-S����)-����
-L�v
��~�7��4���y2��HO ^���Ժ�K�r.F�<����~uܯ�6����fw�#=)(g�
@N�	߄2'E"w�
49���w"�@�&����u�{=z�O	�i0ʏE���M8 CE"w�"u�p�^����P�ZO�[�Ġ��f�9���
���9#~"��6�����&k
��z��� o|�6fRGG)r�!���g,c !:cYFg�^j���w�c�#��ze�10���;��:��Oe+:��_���)X 7�Y��`�X|�q�-� �ϻ.�@�ʄ��&��v av&NY�h
ǔ�RKv�ɖvT#K�P�Vo	�m��s٤_����v���E����H�!Z|�9�X�HD���j)�	$�E!j
"5)�xDZ?���3Y��@��<

�,�	��Xn�<�=m5a��@ɢ0�n��n���D��N��qsW�&Md�zM�H<b
�M8 1��v�r3
{��L�l@�RGC�C.�X���	�
���#�ˌ�����ڋ�\��7လ���8�Tˈ�'�8	�B�zV �ﴵ�#�K��~r��25
Eھ7�lG!v1�� ��K,��Gh���E���1��n���=� [...]

oB|�4b�%���V)c3��eL(D�g�ӶW��1�o�JA
f�)'
-�3߄r{&�[���= )�'���B�zf�n5����~I��[	_����߄r'k,��u1�
-e�i6�$հ(D�g����L�+�;�-�f�Op�`��&
�;Xc���`i�[*X<�$�(L�z��[mn��՗Nj�U@:����-�	�V�-�
���	$��(Lm"-Q���	]��	��O��]̓
-d��)u߸��/��LʹIr:�C�<�� ��
K
W,ҫ.ar
9�
�x!:݊�oB���y�C6yz:�/~Oi0�s؊ b|w��oGHd���K!����T"�M�&
�3�Xn1�V��8�&�����u
v�%�v�Z82��bH�?l��ݦ��A ٣�
#�	�#�:
�<=0�
��\}r`X�Փ!TKt'=�>?<�Z�I�a��7�\��-��Cs!�	$1�Eaj

�����,
H
�W���2���M8 wQ�-�!�,��Hn�,
-Q�)�Ѓ��jo��O��C�����)!��y	�o�9/�
��ҩ���
3���A��XV�1���d2K�<�1���`!�ċr��yBaj�WN
E����^L~ٞ������q��ɽ�Re�
;����&��n�#���g�h0f�"�S���N�!-�ڪJD&���t���߄r\�rG2h�efH��-
-Q���J���.O���y��]J������o���˹ܒi@�$�-�|�ݥE!j=}�B�&�l߶z?~��$����V?�W�8�W�x��-T����
�n�����Ig���wc����p@��L��H<�$�(L���<I9��Ǡf�i�����>dpSb��73�	�of�rK5�Er��	dnf��s#H+s��0
-��":&p��.�KD at x�����ăZHM�����Z�(<n��?�>ͻ�����wŬ���Dy9����7���_,��xH�v�(�O �/-
-Q�i�]+�
�7����	��r��)��-��L�J8�s�rK�C4��	dc.��u4�q֙Te���9%���t�\�Ly0��݄��"��$ܼ�2鎗mA��XV>��01r��G
xT{,w\2��GQ���	����j�Y���9��o���X��߭���W?�o��W�X��܅��xɳ�Eaj
f�11
E�w.j�
/��,`��&
�
b�������x�!X�V���2�1�6~}x\���z�z�}X~�ꫛ�|�<�fBk_ ���8Xx�s����`��A#��q`Au��&d�*��Ch}��A���tzz
�@�LN�F�9� ��˩
�@���d6Ը�<<$�/�;"��eJ \�|(\�����%8�r����u�q�Y	=��4^
-gJ/���p����p@��2�;��O=�j;â	$��Eaj��i�P�{z
��簹V�%l�fЛ77�߄�f0�["����Y�'�1���uD at 2���-�ϼ
8�K������Rri���O��6���47DŽ�z���~��Q48K-� ,F��&
��Qb���
p�<�@�~��Ժ�+��F?�_o_�&@��!6/>�ȶ�@���lX|��l�r
T���M�	$7���T�KX?��w��?)�=Dq��!X|�B,��J����	$����u��	ܙX��8�$���ե�d���� *ݪ�n04��{������
�C��At���<�	��y�r
߾������2
=
-S�x��u�xXm?آ��]&<���(�`7߄r7�ܒC0��,�@R�lQ�Z�!�o9Y���ܙ��{ج.w��v:S{+���3�p@��Dna��T��xIg�E!j
;��\R��������-��F��!Tq"��=�o��½Xn�m�e�?�Ƃ�~3�nv����dV_�L!�!r�����p at .2��
0Rh��	$�\���P���5��O�1�
Κ���ve��������\�I-0� 4Up�εωG�)n��Ä=�IdV��Z�ѷJ��)���6K�����ҥ
����rG����sC\oH�@�R΀
V7��}�
Ӌc.��
lׅ���� �r�u'Ǽ3E�R�[�

-S;�<���US=�D��[ر�����Dj�=
�:]�cف����Ak�4�� xa���#}éܑ���
|
�\�ە

-Q�I����<�Jŗ6,Op�q8�ZX?d��d�Tە

-�:9�Y��r���W�<=�ׇ����]�^������Tna�H�{a��j�����D�
�ˉ:��e�E?�������
�r
$	��њ��Z��C!j�n
-[��C�xY�t���ʩܑAYvɵ.��'��:�����U=�v
-;x�k7�Z� 
8�eW�v D��ha[��h������1g�ܯn��!��A�*�dV^P"u�.f���a6fNp�A2�:<ų$Kf���jW��tƲ�ΟK
C�0� ���k����êy�$̔v
Y��B�:���~�\_^ݖ͢j\���w'�X�	�K[5

�L�IR��Nf�d�Uӡ��c��uj��U��J���t�r�L���E�

-S�L+�ܛ.�_Ѵ����Um�K厦�ʦU��
L���S6��ꎛ�*�
-��T:YM�
�p�.����-U^ooJ�NPf�]�JN�jK��u&����
��
W<�1�s��z��A+����N ��ɸf}W��_la�^�x�~q
��#�L��B-�$Ím_o�r(D�'��D�kҸ��(������-�
yk-G�U��ư�څ�K��%�.jc	(���$RQB+m,�5��ΰ]$�3|���&�ͪB�
>6<����y��
NfQj�
>�A�NA߬ɠJ���B����Uk�S�Cԗv�y�j%�Au�����z��_�j��N��e��ԧ�r
m���2����x�BԦ��w?�]V�L�
=�[�<�6S��l����LX�}s�����ǫ�7�/_���~s�����+ft�~X
�F���y]5w���G
+�

)mN�9u�hpR�zA�C!Z
{�2�,e�^^�\��
K�
�^��H-��Ft_�4v��J�g��on2����IJ={��&
�{�������ߢ6ן<xX�խ<�M���1���y��u����+��I;<R�����
1���2i�´:���o�^�
��o/ޮ�߮�΍KKk�

)bN��� 
WH�C!Z=#a����^^e�BUk��u�
�_N�(� 7[/�v(D�� �4~}���c ڙ|oa���#eȩ��98�i��١���Y���D��]�yi[X�<���Dj�3��4I�zݳCaJ����7/�|s�W�.�s��xϗ�<;<R|��-m�	S�W+yv(D�g!�5~sy�� i(�ji��#Eȩ�
p��B�K�

-��Y+�����E
��q5[Z	��Har*��+ g~�O�ڡ0�����������ū՛˛��[C��ׯ/�dJ�tk~A�¢�	�''R
F�L�^�P�ROEXs\�PR. 惀^,-�vx�*9�[��Dp�H-�C!Z=
a��h
-�_�Z��>���_�0Sֿ������Tn>�6'�VfU��

-��i�=
��^]��Ȑ��۬\Z���H�q*�D����V˛

-��IK�=	�缺�xu�*Pwp�
����ᑒ�Tn�
8��9O D��",!�L|�90
E

�-)�K,d�Z�8���0���a�U*bP
&����ɦ��2Y;�3�Ӂ��x( �/�͋n?m��/{�׆����p��^ �?|�
��\�����7������矈$c?���~�	S%�m�g���&�S05�ws?����O
�&1�+Z}��D����O��W/^|��;��w���ݞ^��/R��0O�6�W��N�d.3�M%x1�ˇ�������~�
����k����af8endstream
+x��Z[��H~�W�Z��t�2�<Lwb�-j�&���i�]nip���n�)e�lՌ.��ε�i�Z�]�͢u���J�l�.-V���e�@iaI���]���}�A�@OHg��'4M�[�E�G
��@��ݨ+wU$-���w Y��	Ȫѓv�U��)*{w�y�S

2A�	쳂����@G�Ts�QP� �Gp@��k�{L$a@�)��]Kz�Rhk �$������R�7�g_��w�E<�[c3
�W
+�+}�E,|DX�m�:��%İS��D�5�1#���F?��k�a�+��]l>�\�?���@��
+�>��.�5�\��Ҍ������
0d���9�H�;�q`zsI�e��
��KU
+��|�d�sM<BM���^�f,��.�C�GG8��yV-|ũ�1�
^�V)3�F��E��dY�(�s"�A�ڞ�2
7�Y��LL\ J��8
�)�\-�H�`-v͠z����p͟"
+�o��W
�f�n�L���x�S~��
4A�*C�{�W��K��$$k��J/��uWZO�
��
�'歸ެ%�RtiZ��b���q¡|�j�\�=e�b��UJ5@��S��M��OIZ�wv�K���[�R������M���.�^
ۜnZ�8n�M�{�[⍽�z�b�/������z�ې� ��Kׁ�(󚽌X����
w
�fP��HiE�~�EB��,�[�9D��W0t��w�I]�
����#5����4<x7U5D�0Ӳ��R�я"6��6���&3$4
��x �]�F�����R.F��z��հ*XvQu�8^w�q̐4E��˴��=�ׯ��e�QӦ;��B�TK�S����ЪUbt�|/�p0[�x|
��ye�%��S$��^W�Sb��Jks5���0#K~�i�<�m��n���.��f�ٯ��J�Q.�>GL�,bn=)Ta��I-����)�Էן
!;k��g-���뿢]��u����WԔL�W�"R��j&ך�ߑ�������4t�������/�
+] *j���;3�M��{q%#�&E�e�#RQ�!��LϕV��U�L5̪!���?�'��B=����>
���}Gm
�Kʳ��P��7$�Hyi�D"�a�<>���{�:
|�#�wz��fډn׼Xsݑ�Y�뉋�:������;�~�1|�8��8�P�9{<�-]1�H�}�`�wa��&e�F/6�N�(C�J����d4�
ⷓ�tؿ,��v��]v���gVq#^���]���|�����ۊ�3mg4-�(�e������@�vX�M
+u7����Ӣ?Ó�����ܰ?���a
ـY�����`4��*;�4Tt4�n<�Z��n��3�ã�Og
s�f�U�ݿg�{�{�O	��e����甐!#�n�,6��.���}�L���3��9$�B�0�>2���$���}Oʧ�� �!�
(�*;�Εʬ='$�8Q�oi��#�
+
�V �zp?m�(�����v�2���
Pَ����>�aFu5���AVlJ�ٹ>Mm`{���!1'�l�X�
+endstream
 endobj
-11810 0 obj <<
+11872 0 obj <<
 /Type /Page
-/Contents 11811 0 R
-/Resources 11809 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 11461 0 R
-/Annots [ 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 11856 0 R 11857 0 R 11858 0 R 11859 0 R 11860 0 R 11 [...]
+/Contents 11873 0 R
+/Resources 11871 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 11769 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 11794 0 R 11795 0 R 11796 0 R 11797 0 R 11798 0 R 11799 0 R 11800 0 R 11801 0 R 11802 0 R 11803 0 R 11804 0 R 11805 0 R 11806 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 11 [...]
 >> endobj
-11813 0 obj <<
+11769 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.6503 719.9123 274.5868 730.8162]
+/Rect [178.398 719.912 195.334 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.405) >>
+>> endobj
+11775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.393 707.957 239.329 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.408) >>
 >> endobj
-11814 0 obj <<
+11776 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.5141 708.6744 212.4506 718.861]
+/Rect [204.968 696.002 221.905 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.407) >>
 >> endobj
-11815 0 obj <<
+11777 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.1215 696.7192 213.058 706.9059]
+/Rect [217.69 684.047 234.627 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.407) >>
 >> endobj
-11816 0 obj <<
+11778 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.821 684.0467 207.7575 694.9507]
+/Rect [277.027 672.092 293.964 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.409) >>
+/A << /S /GoTo /D (page.408) >>
 >> endobj
-11817 0 obj <<
+11779 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.3082 672.8089 171.2447 682.9955]
+/Rect [257.65 660.136 274.587 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.409) >>
 >> endobj
-11818 0 obj <<
+11780 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.1154 660.8537 164.0519 671.0403]
+/Rect [195.514 648.899 212.451 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.393) >>
 >> endobj
-11819 0 obj <<
+11781 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.1362 648.1812 233.0727 659.0852]
+/Rect [196.122 636.943 213.058 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.410) >>
+/A << /S /GoTo /D (page.393) >>
 >> endobj
-11820 0 obj <<
+11782 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.4386 636.2261 224.3751 647.13]
+/Rect [190.821 624.271 207.757 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.411) >>
 >> endobj
-11821 0 obj <<
+11783 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.5742 624.2709 233.5107 635.1748]
+/Rect [154.308 613.033 171.245 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.404) >>
+/A << /S /GoTo /D (page.393) >>
 >> endobj
-11822 0 obj <<
+11784 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.4995 624.2709 253.436 635.1748]
+/Rect [147.115 601.078 164.052 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.405) >>
+/A << /S /GoTo /D (page.395) >>
 >> endobj
-11823 0 obj <<
+11785 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.2964 612.3157 246.2329 623.2197]
+/Rect [216.136 588.405 233.073 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.404) >>
+/A << /S /GoTo /D (page.412) >>
 >> endobj
-11824 0 obj <<
+11786 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.2217 612.3157 266.1582 623.2197]
+/Rect [207.439 576.45 224.375 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.405) >>
+/A << /S /GoTo /D (page.412) >>
 >> endobj
-11825 0 obj <<
+11787 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.0155 600.3606 219.952 611.2645]
+/Rect [216.574 564.495 233.511 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (page.407) >>
+/A << /S /GoTo /D (page.405) >>
 >> endobj
-11826 0 obj <<
+11788 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.9624 589.1227 172.8988 599.3093]
+/Rect [236.499 564.495 253.436 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (page.411) >>
+/A << /S /GoTo /D (page.406) >>
 >> endobj
-11827 0 obj <<
+11789 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.2828 576.4502 207.2193 587.3542]
+/Rect [229.296 552.54 246.233 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.402) >>
+/A << /S /GoTo /D (page.406) >>
 >> endobj
-11828 0 obj <<
+11790 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.2696 564.4951 269.2061 575.399]
+/Rect [203.015 540.585 219.952 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (page.402) >>
+/A << /S /GoTo /D (page.409) >>
 >> endobj
-11829 0 obj <<
+11791 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7824 552.5399 196.7188 563.4438]
+/Rect [155.962 529.347 172.899 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.413) >>
 >> endobj
-11830 0 obj <<
+11792 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9497 540.5847 287.8862 551.4887]
+/Rect [190.283 516.674 207.219 527.578]
 /Subtype /Link
-/A << /S /GoTo /D (page.407) >>
->> endobj
-11831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.5725 528.6296 268.509 539.5335]
-/Subtype /Link
-/A << /S /GoTo /D (page.408) >>
+/A << /S /GoTo /D (page.403) >>
 >> endobj
-11832 0 obj <<
+11793 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.5444 516.6744 225.4809 527.5783]
+/Rect [252.27 504.719 269.206 515.623]
 /Subtype /Link
-/A << /S /GoTo /D (page.410) >>
+/A << /S /GoTo /D (page.403) >>
 >> endobj
-11833 0 obj <<
+11794 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.2024 505.4365 170.1389 515.6232]
+/Rect [179.782 492.764 196.719 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.392) >>
 >> endobj
-11834 0 obj <<
+11795 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5485 493.4813 168.485 503.668]
+/Rect [270.95 480.809 287.886 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.392) >>
+/A << /S /GoTo /D (page.408) >>
 >> endobj
-11835 0 obj <<
+11796 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.4738 493.4813 188.4103 503.668]
+/Rect [251.573 468.854 268.509 479.758]
 /Subtype /Link
-/A << /S /GoTo /D (page.393) >>
+/A << /S /GoTo /D (page.409) >>
 >> endobj
-11836 0 obj <<
+11797 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.2963 481.5262 145.2328 491.7128]
+/Rect [208.544 456.899 225.481 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.394) >>
+/A << /S /GoTo /D (page.411) >>
 >> endobj
-11837 0 obj <<
+11798 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 468.8537 179.5395 479.7577]
+/Rect [153.202 445.661 170.139 455.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.411) >>
+/A << /S /GoTo /D (page.393) >>
 >> endobj
-11838 0 obj <<
+11799 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.6217 456.8986 223.5582 467.8025]
+/Rect [151.549 433.706 168.485 443.892]
 /Subtype /Link
-/A << /S /GoTo /D (page.403) >>
+/A << /S /GoTo /D (page.394) >>
 >> endobj
-11839 0 obj <<
+11800 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.9943 444.9434 198.9308 455.8473]
+/Rect [128.296 421.75 145.233 431.937]
 /Subtype /Link
-/A << /S /GoTo /D (page.402) >>
+/A << /S /GoTo /D (page.395) >>
 >> endobj
-11840 0 obj <<
+11801 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.9811 432.9882 260.9176 443.8922]
+/Rect [162.603 409.078 179.539 419.982]
 /Subtype /Link
-/A << /S /GoTo /D (page.402) >>
+/A << /S /GoTo /D (page.413) >>
 >> endobj
-11841 0 obj <<
+11802 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.8478 421.033 176.7843 431.937]
+/Rect [206.622 397.123 223.558 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.389) >>
+/A << /S /GoTo /D (page.404) >>
 >> endobj
-11842 0 obj <<
+11803 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7731 421.033 196.7096 431.937]
+/Rect [181.994 385.168 198.931 396.071]
 /Subtype /Link
-/A << /S /GoTo /D (page.390) >>
+/A << /S /GoTo /D (page.404) >>
 >> endobj
-11843 0 obj <<
+11804 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [210.1885 409.0779 227.125 419.9818]
+/Rect [243.981 373.212 260.918 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.400) >>
+/A << /S /GoTo /D (page.404) >>
 >> endobj
-11844 0 obj <<
+11805 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.0639 397.1227 231.0004 408.0266]
+/Rect [159.848 361.257 176.784 372.161]
 /Subtype /Link
-/A << /S /GoTo /D (page.401) >>
+/A << /S /GoTo /D (page.390) >>
 >> endobj
-11845 0 obj <<
+11806 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.5631 385.8848 220.4996 396.0715]
+/Rect [179.773 361.257 196.71 372.161]
 /Subtype /Link
-/A << /S /GoTo /D (page.400) >>
+/A << /S /GoTo /D (page.392) >>
 >> endobj
-11846 0 obj <<
+11807 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.4384 373.9297 224.3749 384.1163]
+/Rect [210.189 349.302 227.125 360.206]
 /Subtype /Link
-/A << /S /GoTo /D (page.401) >>
+/A << /S /GoTo /D (page.402) >>
 >> endobj
-11847 0 obj <<
+11808 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.0404 361.9745 183.9769 372.1611]
+/Rect [214.064 337.347 231 348.251]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.402) >>
 >> endobj
-11848 0 obj <<
+11809 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.4036 349.302 268.3401 360.206]
+/Rect [203.563 326.109 220.5 336.296]
 /Subtype /Link
-/A << /S /GoTo /D (page.409) >>
+/A << /S /GoTo /D (page.402) >>
 >> endobj
-11849 0 obj <<
+11810 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.9679 337.3469 237.9044 348.2508]
+/Rect [207.438 314.154 224.375 324.34]
 /Subtype /Link
-/A << /S /GoTo /D (page.409) >>
+/A << /S /GoTo /D (page.402) >>
 >> endobj
-11850 0 obj <<
+11811 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.7445 325.3917 254.681 336.2956]
+/Rect [167.04 302.199 183.977 312.385]
 /Subtype /Link
-/A << /S /GoTo /D (page.403) >>
+/A << /S /GoTo /D (page.392) >>
 >> endobj
-11851 0 obj <<
+11812 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7723 313.4365 196.7088 324.3405]
+/Rect [251.404 289.526 268.34 300.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.393) >>
+/A << /S /GoTo /D (page.411) >>
 >> endobj
-11852 0 obj <<
+11813 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 301.4814 151.2202 312.3853]
+/Rect [220.968 277.571 237.904 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.411) >>
 >> endobj
-11853 0 obj <<
+11814 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.209 301.4814 171.1455 312.3853]
+/Rect [237.745 265.616 254.681 276.52]
 /Subtype /Link
-/A << /S /GoTo /D (page.412) >>
+/A << /S /GoTo /D (page.404) >>
 >> endobj
-11854 0 obj <<
+11815 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.3886 289.5262 208.3251 300.4301]
+/Rect [179.772 253.661 196.709 264.565]
 /Subtype /Link
-/A << /S /GoTo /D (page.406) >>
+/A << /S /GoTo /D (page.395) >>
 >> endobj
-11855 0 obj <<
+11816 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3955 278.2883 177.332 288.475]
+/Rect [134.284 241.706 151.22 252.609]
 /Subtype /Link
-/A << /S /GoTo /D (page.401) >>
+/A << /S /GoTo /D (page.413) >>
 >> endobj
-11856 0 obj <<
+11817 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.3409 265.6159 258.2774 276.5198]
+/Rect [191.389 229.75 208.325 240.654]
 /Subtype /Link
-/A << /S /GoTo /D (page.412) >>
+/A << /S /GoTo /D (page.408) >>
 >> endobj
-11857 0 obj <<
+11818 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.4641 242.4228 188.4006 252.6095]
+/Rect [160.396 218.512 177.332 228.699]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.403) >>
 >> endobj
-11858 0 obj <<
+11819 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.6819 230.4676 159.6184 240.6543]
+/Rect [241.341 205.84 258.277 216.744]
 /Subtype /Link
-/A << /S /GoTo /D (page.417) >>
+/A << /S /GoTo /D (page.413) >>
 >> endobj
-11859 0 obj <<
+11820 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.8029 217.7952 188.7394 228.6991]
+/Rect [171.464 182.647 188.401 192.834]
 /Subtype /Link
-/A << /S /GoTo /D (page.417) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-11860 0 obj <<
+11821 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.603 205.84 179.5395 216.744]
+/Rect [142.682 170.692 159.618 180.878]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-11861 0 obj <<
+11822 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3432 193.8849 175.2797 204.7888]
+/Rect [171.803 158.019 188.739 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-11862 0 obj <<
+11823 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6689 181.9297 221.6054 192.8336]
+/Rect [162.603 146.064 179.539 156.968]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.420) >>
 >> endobj
-11863 0 obj <<
+11824 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.0869 169.9745 169.0234 180.8785]
+/Rect [158.343 134.109 175.28 145.013]
 /Subtype /Link
-/A << /S /GoTo /D (page.417) >>
+/A << /S /GoTo /D (page.420) >>
 >> endobj
-11864 0 obj <<
+11825 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.2837 158.0194 151.2202 168.9233]
+/Rect [204.669 122.154 221.605 133.058]
 /Subtype /Link
-/A << /S /GoTo /D (page.419) >>
+/A << /S /GoTo /D (page.420) >>
 >> endobj
-11865 0 obj <<
+11826 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.3706 146.0642 213.3071 156.9681]
+/Rect [152.087 110.199 169.023 121.103]
 /Subtype /Link
-/A << /S /GoTo /D (page.417) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-11866 0 obj <<
+11827 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.2918 134.109 250.2283 145.0129]
+/Rect [134.284 98.244 151.22 109.147]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.420) >>
 >> endobj
-11867 0 obj <<
+11828 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.0196 122.1538 279.9561 133.0578]
+/Rect [196.371 86.288 213.307 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.419) >>
 >> endobj
-11868 0 obj <<
+11829 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.5748 110.1987 294.5113 121.1026]
+/Rect [449.773 719.912 466.71 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.419) >>
 >> endobj
-11869 0 obj <<
+11830 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.8775 98.2435 192.814 109.1474]
+/Rect [479.501 707.957 496.437 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.420) >>
 >> endobj
-11870 0 obj <<
+11831 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.8766 86.2883 264.8131 97.1923]
+/Rect [494.056 696.002 510.993 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.420) >>
+/A << /S /GoTo /D (page.421) >>
 >> endobj
-11871 0 obj <<
+11832 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.7438 719.9123 471.6803 730.8162]
+/Rect [392.359 684.047 409.295 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.421) >>
 >> endobj
-11872 0 obj <<
+11833 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3352 708.6744 362.2717 718.861]
+/Rect [464.358 672.092 481.294 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.423) >>
+/A << /S /GoTo /D (page.422) >>
 >> endobj
-11873 0 obj <<
+11834 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 696.0019 396.0208 706.9059]
+/Rect [454.744 660.136 471.68 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.423) >>
+/A << /S /GoTo /D (page.422) >>
 >> endobj
-11874 0 obj <<
+11835 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.0135 684.0467 415.95 694.9507]
+/Rect [345.335 648.899 362.272 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.422) >>
+/A << /S /GoTo /D (page.424) >>
 >> endobj
-11875 0 obj <<
+11836 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.5867 672.8089 380.5232 682.9955]
+/Rect [379.084 636.226 396.021 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.422) >>
+/A << /S /GoTo /D (page.424) >>
 >> endobj
-11876 0 obj <<
+11837 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.8055 660.1364 513.742 671.0403]
+/Rect [399.014 624.271 415.95 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.423) >>
+/A << /S /GoTo /D (page.424) >>
 >> endobj
-11877 0 obj <<
+11838 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [476.3325 648.1812 493.269 659.0852]
+/Rect [363.587 613.033 380.523 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.423) >>
+/A << /S /GoTo /D (page.424) >>
 >> endobj
-11878 0 obj <<
+11839 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0843 636.2261 396.0208 647.13]
+/Rect [496.805 600.361 513.742 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.425) >>
+/A << /S /GoTo /D (page.424) >>
 >> endobj
-11879 0 obj <<
+11840 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.1754 624.9882 402.1119 635.1748]
+/Rect [476.332 588.405 493.269 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.425) >>
 >> endobj
-11880 0 obj <<
+11841 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 589.1227 438.0873 599.3093]
+/Rect [379.084 576.45 396.021 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.329) >>
+/A << /S /GoTo /D (page.426) >>
 >> endobj
-11881 0 obj <<
+11842 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [441.0761 589.1227 458.0125 599.3093]
+/Rect [385.175 565.212 402.112 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (page.333) >>
+/A << /S /GoTo /D (page.426) >>
 >> endobj
-11882 0 obj <<
+11843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.151 529.347 438.087 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.330) >>
+>> endobj
+11844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [441.076 529.347 458.013 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.334) >>
+>> endobj
+11845 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 564.4951 498.2408 575.399]
+/Rect [481.304 504.719 498.241 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11883 0 obj <<
+11846 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 542.642 362.2721 551.4887]
+/Rect [345.336 482.866 362.272 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-11884 0 obj <<
+11847 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 516.6744 498.2408 527.5783]
+/Rect [481.304 456.899 498.241 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.198) >>
 >> endobj
-11885 0 obj <<
+11848 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 481.5262 403.5269 491.7128]
+/Rect [386.59 421.75 403.527 431.937]
 /Subtype /Link
-/A << /S /GoTo /D (page.355) >>
+/A << /S /GoTo /D (page.356) >>
 >> endobj
-11886 0 obj <<
+11849 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.5157 481.5262 423.4522 491.7128]
+/Rect [406.516 421.75 423.452 431.937]
 /Subtype /Link
-/A << /S /GoTo /D (page.357) >>
+/A << /S /GoTo /D (page.359) >>
 >> endobj
-11887 0 obj <<
+11850 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 456.8986 504.348 467.8025]
+/Rect [487.411 397.123 504.348 408.027]
 /Subtype /Link
-/A << /S /GoTo /D (page.403) >>
+/A << /S /GoTo /D (page.404) >>
 >> endobj
-11888 0 obj <<
+11851 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 432.9882 504.348 443.8922]
+/Rect [487.411 373.212 504.348 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.402) >>
+/A << /S /GoTo /D (page.404) >>
 >> endobj
-11889 0 obj <<
+11852 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 409.0779 504.348 419.9818]
+/Rect [487.411 349.302 504.348 360.206]
 /Subtype /Link
-/A << /S /GoTo /D (page.402) >>
+/A << /S /GoTo /D (page.404) >>
 >> endobj
-11890 0 obj <<
+11853 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 375.2697 362.2721 384.1163]
+/Rect [345.336 315.494 362.272 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.145) >>
 >> endobj
-11891 0 obj <<
+11854 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 351.2397 362.2721 360.206]
+/Rect [345.336 291.464 362.272 300.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.290) >>
+/A << /S /GoTo /D (page.291) >>
 >> endobj
-11892 0 obj <<
+11855 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 325.3917 511.5056 336.2956]
+/Rect [492.078 265.616 509.015 276.52]
 /Subtype /Link
-/A << /S /GoTo /D (page.389) >>
+/A << /S /GoTo /D (page.390) >>
 >> endobj
-11893 0 obj <<
+11856 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 315.3742 362.2721 324.3405]
+/Rect [345.336 255.598 362.272 264.565]
 /Subtype /Link
-/A << /S /GoTo /D (page.390) >>
+/A << /S /GoTo /D (page.392) >>
 >> endobj
-11894 0 obj <<
+11857 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 290.2435 425.2551 300.4301]
+/Rect [413.3 230.468 425.255 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11895 0 obj <<
+11858 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 266.3331 433.106 276.5198]
+/Rect [421.151 206.557 433.106 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11896 0 obj <<
+11859 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.1548 254.378 376.11 264.5646]
+/Rect [364.155 194.602 376.11 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11897 0 obj <<
+11860 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.6469 242.0791 375.6021 252.6095]
+/Rect [363.647 182.303 375.602 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11898 0 obj <<
+11861 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.2792 230.124 444.2343 240.6543]
+/Rect [432.279 170.348 444.234 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11899 0 obj <<
+11862 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.8707 218.5125 419.8259 228.6991]
+/Rect [407.871 158.737 419.826 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11900 0 obj <<
+11863 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.7002 206.2136 422.6554 216.744]
+/Rect [410.7 146.438 422.655 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11901 0 obj <<
+11864 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.2918 194.6021 398.2469 204.7888]
+/Rect [386.292 134.826 398.247 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11902 0 obj <<
+11865 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.091 182.647 417.0462 192.8336]
+/Rect [405.091 122.871 417.046 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11903 0 obj <<
+11866 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.2155 170.6918 413.1707 180.8785]
+/Rect [401.216 110.916 413.171 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11904 0 obj <<
+11867 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.703 158.3929 400.6581 168.9233]
+/Rect [388.703 98.617 400.658 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11905 0 obj <<
+11868 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.4007 146.7815 470.3559 156.9681]
+/Rect [458.401 87.006 470.356 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11906 0 obj <<
+11870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [292.185 56.166 407.154 66.129]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+11874 0 obj <<
+/D [11872 0 R /XYZ 90 757.935 null]
+>> endobj
+11871 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F11 418 0 R /F65 376 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+11958 0 obj <<
+/Length 1391      
+/Filter /FlateDecode
+>>
+stream
+x��Z[��H~�W�P��t� ���"Qp g';Iu1ڣT��
fb~�6�3fB�I�,�����O��[q������*s����������
+EE�����y�6�;����M�JW^����t��{�� =
8X�Z�Y�q��#���[���qO�]1חd��8�w�ϙ(�辤pI��TRg�D� ��mgj
'h�Lg�����Y��h�U��
���
I�:��W������Ը���3�
d8����MxjK<kl;�y.4�)v}d��a�B��:"��g�^8�7��U��4�Ԛ�YE�jbNYa�͡gQ�s�Z���1:��n}��.���X�
��mV
+����7�l�̦���}���Ql�U�LPS�`uQ	3����-o~u
'̾����D�%�1��ꨳ%�ͬ�m��#�;i�T]�s�xg��n\A�z֘�VF�����_}
���Ŝ�F�&�F���s�HP�n�o��B��͎���1�Fh6��������xw��$��ΐ|���\���A�$�4AX�
+�e��,$��\
b�H��6�0M2��a���� �"�I�f�%U��|�FQ�14J�N0	r���-X���e���w�Q�ڭ1�S�CY�����ʩ��TK�Qo��l�0��������1\
��c���
M�o
�	��
β;é�ù�Ů�����.~H#�eζc���6Y��
+!a�n�{���v���M«h:ZV;Qx,�[*G��*ˢ*��D��ԳS���
��>���B9�b�t�Y���ࢼ$�,�vk�$��$ �7o��ã\^s��I�d]�x ��FW��93=���D�ݰ��G�O���S��á !����Ծy�_9λ�Ѷ�.��
L7��
�r�,����*��vА`P��~��)j���_u��P{J�ٺ���۹l�J!/�����*���IkQw���~>+�
+�Z%���'���h�5��x�hx��m���e"TkD��3d�.U-
��	�-\���	�}7����I���\H���4jOL�6
+
�
�<H��\�J:���upr����Cp@������b-rN�N/HX

RO��L��{�9ۜE
��$����
�ӯ�*K�E�'�xZ����
N��au�ˢ���*6�M��Fo�<{fC������S����"[�t
yZ�uAMW�'L�
8`�G.�
++��;�P
�A��o_z�Z��[��޿�VE} k�[wE���z�꯱P*�M��p�]uX�X
�3L��Ϫ�i�li̗���y at G��$!�l�2�E�B����q�q��'n�������djp���u�o�\^>==��L�ٷ!b�_n6��

�a_
H{�ǔT���6z2.�߈/�����4
+endstream
+endobj
+11957 0 obj <<
+/Type /Page
+/Contents 11958 0 R
+/Resources 11956 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 11869 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 11921 0 R 11922 0 R 11 [...]
+>> endobj
+11869 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.4282 134.8263 476.3833 145.0129]
+/Rect [247.947 720.63 259.902 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11907 0 obj <<
+11876 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0265 122.8711 412.9817 133.0578]
+/Rect [184.545 708.674 196.5 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11908 0 obj <<
+11877 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.0202 110.916 419.9754 121.1026]
+/Rect [191.539 696.719 203.494 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11909 0 obj <<
+11878 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.288 98.9608 447.2432 109.1474]
+/Rect [218.807 684.764 230.762 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11910 0 obj <<
+11879 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.1237 87.0056 395.0789 97.1923]
+/Rect [166.642 672.809 178.598 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-11812 0 obj <<
-/D [11810 0 R /XYZ 90 757.9346 null]
->> endobj
-11809 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F11 411 0 R /F67 366 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-11914 0 obj <<
-/Length 4255      
-/Filter /FlateDecode
->>
-stream
-xڵ\[w�6~������,�	�-��
���v��v��(6��-y%����	� .7mۇ��7�a>39��?9��a)JT1.���'���b^.�����;x����$��w��
$A�zx����������?�~8�X!,$8���
,�wC.�$���~�'>|�A�p���8��`D��
>
p��_
n~�~�Z�X
��H�:A
?S�K���
�������C}r��{v��_�(���R���K�Os���
� 
P�WH�?�HJPd��)`Q�AB!�{G�]��z��i}qv]_�
s|t��|q�!(b��>�F�/\���߄�"���}5zT�ժ!�
-!��/^ߞA�3Ԁ�J���91
�p�1-<�))0Š�1y��MSB�R�?e�8{���]q��D���-�p
"����ˀ�
����b��
�
��r^�����w���M����P�J"E��$#��.>2�k<|�!u(Rz��[ߣr�6|�`�T„z�������a����
�2���5�
&�
-p�*���Уr�VAc�	?��s�C���	���Ad��D�
e���ޣr�6pViݩ	��b"�
:;p�`*pwS���ӁO���i�8�}�wq���T��T�.y:�IJ2�K�L�g��ׯOO���4�QIuF�mry��
� ��|��L��T\x�A�3�
�U 3=c�(��]T)�K>�d��kK�71tI����)Уr�����^(�(pquI�=���K�_��4��M�y���z�A�7�
�������ߝ����`���.��x��#}��5���Fa�
�!
4�%�\QG��wok@����&�
�p
bk���Z
-������ʱZ�@��'�y��A	��{d&�
^8���54)�1�s�Pڐ9C%+��
��q-���
-���A���~S%p0`�?�y�c��3�0�S��qE�"Ş)�T9�so���A�=�����P|�a�=��]7�
�
�TP}��L?��+�*X��Qn�|����7��!�)-��?X��c�������r���й��k0�ꍆ0�����^���Wt/�
�m}u,���?�:f��o�zW"�p9�
-���A���~S%O��b��J�AeX)�4J\_��Q���R���	a�����yM��QY1&T0�i�A��"�e_n�9���NO�H��	L�\���
k�<��ޯ�u=�=��
*Gj��O��&�w�?^v���̵!9������/\|dF�^3B?�R�g��D�ʐ�@A��M�	��'m�QN�/\��*�ߔ,U
-��1 �AeXY�D�fe��9m�
-"�d�J��`��'|���ɾ��>��R�
�O6�
���$I'�I}qv��Vo�.�G%D' ��X��4��k��߄
-p�.{��
-=*�:�@(�̊p�����p�*���g�@/
|d��D����U5&�se�P��a�
-����_�\�>�T	�T-���ʄ��A�N�~M�~�"$���BaP9�>z�SF�죿>���XBgr0�u
-_��V���n� D��GZ��a��!��4�O����ɇ�j�o��
|��o�#`b�*$W��������a���c"���ܬw�c*�~ӿ6�����e�ܯ6�]�H���P��/����
;R󼦎��=8S3�
�0�E\�n�l�_����ޯ��>�H��m�].�|��R��7�����Nz�A21�
�U�A�H����͍��k}���������8��¢㏛
��)��"1N�Ky��B&�l�T!
G�w�F��Y7�復��Sth��溉^��X3�yM�
-�v�؃^ r�VH=BU]�zX=� )b����Tp)`?g�r��
� VQ|���8RU
PQ
*�j%�m�d��zO��f��ޭ��$D��H�`6��6��A��E���`NU��?{!Y�^ZQhB�c����v��A}
%�e}�^b�����_���c���@ @	{�1��{�ʰ2(�.�._=�WO���%���<4�
��vs6z���6�߄
-�ցy��
˲Z�����=��nrvu}(I���� �L��>�Hr�5�
`�Ū1y�d
�P�ȅ����z}�������
-j�r��m�
�p
b[+�o��V���z���ʠ2��
-�CS�d���eB��r�˫��
� ���oZVb��GThQ�AFQ��T�Y�?��ػA�-��4#D�/\����Dm�Xx��=*�:A1���R�M��%�ۯO7��� �Fp:X咂��A,+�~S�#����A^0�
�� ��2��f��U��y��G_������DFԇ��;�Ш
k:���@������a��T�����
z�Y�\�h�kk}��gӀc̣���ᄽ����
�Az�
ݐG���0� .�-�}t�/\�X���M��%*�Rx�A�`PV-l��=����|�\ݱ:�/�c0%WK�+׈?-�$�����I�$^^���El,�]� �c0%W��5�O�5ɪ�"
1AT��q�a�X%����L)��r�qğVl�S✘�xsvrv���d�CX���v����J���OM\�*��Ӳ��<~��<l�����v����w�
3xC�P�H5��
��`A�W���2
Z�,z��
��Š��� �}�o�����]�8}��^��'ws�w�:�v����M��oN��
�Z��{'=.�9"}}L9�s��w
��v�Bt�7���=lG�iZ��s���n�����Տ����:2N^�
�fe�����8M��8�O���<����m�4ߨ��f��o�P�vu��n4�ޮ�RW�� 3o�Z|�
g�W�������Mbt���E�h�
-�^ߜT�rSO��O���-��8}�1��N�*='�[1Ck�q/:N�s���}��м
��B�WC��X)N+4u#�Qh��.U�: ,���cPi�H�%��k���?��\T��	�y���3��B��2�*@�֟����gQZ+�{�.���O�qޝ8G���i�߬�S��
'i���h���.�*_���9����K����_z/�<ԗ/O�mzqsH
�T��k0��-��S��x �ŝ���l`�
����u}���`8T��ގ`1x��7/\|d��^��+�]�=��؃��w�
�0װ���c^蕱8�y��ͤ|�Y�&"���݇Y�ӕ=�\�/\��t��vjUe읃]�? ���
�Uj/b�2�v����
ݤ��T���1�ҭ�eu
 ��$���x]&�6�l<���r[?�v�����������[��i}�y9��uLH�!'Q��kv|�Ė������H�y�AehCo�6��<�>K
�k0��-��Z%�x ���;#
-	Eo�`���
\���a4<����x ��a�vP����O�
;���٫d�O-g����k�eO/�)��������$�7~��������;�� �
$C�O
-i�$r�\���/?m���D�
")1*%���s
��az�0��
-��Vh�6��Pͨ��67�
����vQK�)'&$u�����
-�?��L���_׍�!
�Y�W��o���ޚ�J�XJ#�03��Nr��_����mZxw�+�W� ��ۣ2������
-���e�ܴ���lE)E�j������=,��h iE'iE!qWJx�~Y�?�	��/�:�����P	$a5��J82�
���5��۾_=�J��Ġ͘?�
*�jˀ�\
.��M�I���>�5��F�#�L�I�$��i�A�R ��� �(mW�,R-#���,=�p
"�~ۅ���R�<��T�v�E2D��["ty��7U��D�`am��u��l2�V��;#��+d^����k���y�'d��{8� g^
��@��~�W/\|d��^[
Y�����x��<3�
�"�_�g��~l���������
T�&T�A>
-�`�b�ʭT�/\�H,��V@��C/
-�Y� 8�2�
m/aEg|��ݟ"�9�,s\��W��t1�c�n�=�	�<�|��/	1��"���7џ~�=_j�~���,NƧ�U����ް��%�y>{��9�_"9Ho~���~5oB�˻]��˱G����������`��Nq�Yw��bx��c �6M�ik
-����
-Խ������^�±�g�t�
��?���߽z���t�C��>o�j�����U���\c�;�`�b@�XF�3%��*��X~�l;��6[�N���ǧ��2
-�)��P�a��Oendstream
-endobj
-11913 0 obj <<
-/Type /Page
-/Contents 11914 0 R
-/Resources 11912 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 11461 0 R
-/Annots [ 11916 0 R 11917 0 R 11918 0 R 11919 0 R 11920 0 R 11921 0 R 11922 0 R 11923 0 R 11924 0 R 11925 0 R 11926 0 R 11927 0 R 11928 0 R 11929 0 R 11930 0 R 11931 0 R 11932 0 R 11933 0 R 11934 0 R 11935 0 R 11936 0 R 11937 0 R 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 11 [...]
->> endobj
-11916 0 obj <<
+11880 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7103 720.6295 237.6655 730.8162]
+/Rect [225.71 660.854 237.665 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11917 0 obj <<
+11881 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.3242 708.6744 263.2794 718.861]
+/Rect [251.324 648.899 263.279 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11918 0 obj <<
+11882 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.1224 696.7192 261.0776 706.9059]
+/Rect [249.122 636.943 261.078 647.13]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11919 0 obj <<
+11883 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1653 684.764 175.1205 694.9507]
+/Rect [163.165 624.988 175.12 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11920 0 obj <<
+11884 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.8228 672.8089 207.7779 682.9955]
+/Rect [195.823 613.033 207.778 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11921 0 obj <<
+11885 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.3834 660.8537 186.3385 671.0403]
+/Rect [174.383 601.078 186.339 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11922 0 obj <<
+11886 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3648 648.5548 151.32 659.0852]
+/Rect [139.365 588.779 151.32 599.309]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11923 0 obj <<
+11887 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3648 636.9434 151.32 647.13]
+/Rect [139.365 577.168 151.32 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11924 0 obj <<
+11888 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3648 624.9882 151.32 635.1748]
+/Rect [139.365 565.212 151.32 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11925 0 obj <<
+11889 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.7256 613.033 201.6808 623.2197]
+/Rect [189.726 553.257 201.681 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11926 0 obj <<
+11890 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.8502 601.0779 197.8053 611.2645]
+/Rect [185.85 541.302 197.805 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11927 0 obj <<
+11891 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.3583 589.1227 182.3135 599.3093]
+/Rect [170.358 529.347 182.313 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11928 0 obj <<
+11892 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.8477 577.1675 211.8029 587.3542]
+/Rect [199.848 517.392 211.803 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11929 0 obj <<
+11893 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.5238 565.2123 199.479 575.399]
+/Rect [187.524 505.437 199.479 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11930 0 obj <<
+11894 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.259 553.2572 150.2141 563.4438]
+/Rect [138.259 493.481 150.214 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11931 0 obj <<
+11895 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.452 541.302 157.4071 551.4887]
+/Rect [145.452 481.526 157.407 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11932 0 obj <<
+11896 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.3425 529.3468 149.2976 539.5335]
+/Rect [137.342 469.571 149.298 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11933 0 obj <<
+11897 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.9225 517.3917 191.8777 527.5783]
+/Rect [179.923 457.616 191.878 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11934 0 obj <<
+11898 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3648 505.4365 151.32 515.6232]
+/Rect [139.365 445.661 151.32 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11935 0 obj <<
+11899 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.0344 493.4813 217.9896 503.668]
+/Rect [206.034 433.706 217.99 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11936 0 obj <<
+11900 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.8326 481.5262 215.7878 491.7128]
+/Rect [203.833 421.75 215.788 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11937 0 obj <<
+11901 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4057 469.2273 188.3609 479.7577]
+/Rect [176.406 409.451 188.361 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11938 0 obj <<
+11902 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.2297 457.6158 275.1849 467.8025]
+/Rect [263.23 397.84 275.185 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11939 0 obj <<
+11903 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.0279 445.6607 272.9831 455.8473]
+/Rect [261.028 385.885 272.983 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11940 0 obj <<
+11904 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 433.7055 206.672 443.8922]
+/Rect [194.717 373.93 206.672 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11941 0 obj <<
+11905 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.9682 421.7503 224.9234 431.937]
+/Rect [212.968 361.975 224.923 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11942 0 obj <<
+11906 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.96 409.7952 165.9151 419.9818]
+/Rect [153.96 350.019 165.915 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11943 0 obj <<
+11907 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.8975 397.84 187.8527 408.0266]
+/Rect [175.897 338.064 187.853 348.251]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11944 0 obj <<
+11908 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.2273 385.8848 217.1825 396.0715]
+/Rect [205.227 326.109 217.182 336.296]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11945 0 obj <<
+11909 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.6067 361.2572 262.5619 372.1611]
+/Rect [250.607 301.481 262.562 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11946 0 obj <<
+11910 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [157.9347 350.0193 169.8898 360.206]
+/Rect [157.935 290.243 169.89 300.43]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11947 0 obj <<
+11911 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.3839 337.3469 199.339 348.2508]
+/Rect [187.384 277.571 199.339 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11948 0 obj <<
+11912 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.3068 325.3917 209.2619 336.2956]
+/Rect [197.307 265.616 209.262 276.52]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11949 0 obj <<
+11913 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.561 313.4365 189.5162 324.3405]
+/Rect [177.561 253.661 189.516 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11950 0 obj <<
+11914 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.7252 301.4814 201.6804 312.3853]
+/Rect [189.725 241.706 201.68 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11951 0 obj <<
+11915 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.7075 290.2435 211.6627 300.4301]
+/Rect [199.708 230.468 211.663 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11952 0 obj <<
+11916 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7163 277.571 206.6715 288.475]
+/Rect [194.716 217.795 206.671 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-11953 0 obj <<
+11917 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.225 266.3331 191.1801 276.5198]
+/Rect [179.225 206.557 191.18 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11954 0 obj <<
+11918 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.9693 254.378 229.9245 264.5646]
+/Rect [217.969 194.602 229.924 204.789]
 /Subtype /Link
 /A << /S /GoTo /D (page.64) >>
 >> endobj
-11955 0 obj <<
+11919 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.4115 242.4228 229.3667 252.6095]
+/Rect [217.411 182.647 229.367 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.64) >>
 >> endobj
-11956 0 obj <<
+11920 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.6916 230.4676 242.6468 240.6543]
+/Rect [230.692 170.692 242.647 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11957 0 obj <<
+11921 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.658 217.7952 195.6131 228.6991]
+/Rect [183.658 158.019 195.613 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11958 0 obj <<
+11922 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3744 206.5573 151.3295 216.744]
+/Rect [139.374 146.781 151.33 156.968]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11959 0 obj <<
+11923 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.4741 193.8849 183.4293 204.7888]
+/Rect [171.474 134.109 183.429 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-11960 0 obj <<
+11924 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 170.6918 208.7738 180.8785]
+/Rect [196.819 110.916 208.774 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11961 0 obj <<
+11925 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 146.7815 208.7738 156.9681]
+/Rect [196.819 87.006 208.774 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.64) >>
 >> endobj
-11962 0 obj <<
+11926 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 122.8711 208.7738 133.0578]
+/Rect [413.3 708.674 425.255 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.64) >>
 >> endobj
-11963 0 obj <<
+11927 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 98.9608 208.7738 109.1474]
+/Rect [413.3 684.764 425.255 694.951]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-11964 0 obj <<
+11928 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 710.0144 362.2721 718.861]
+/Rect [345.336 650.239 362.272 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11965 0 obj <<
+11929 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 674.1489 362.2721 682.9955]
+/Rect [345.336 614.373 362.272 623.22]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11966 0 obj <<
+11930 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 638.2834 362.2721 647.13]
+/Rect [345.336 578.508 362.272 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11967 0 obj <<
+11931 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 602.4179 362.2721 611.2645]
+/Rect [345.336 542.642 362.272 551.489]
 /Subtype /Link
-/A << /S /GoTo /D (page.281) >>
+/A << /S /GoTo /D (page.282) >>
 >> endobj
-11968 0 obj <<
+11932 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.2729 565.2123 408.2094 575.399]
+/Rect [391.273 505.437 408.209 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.187) >>
 >> endobj
-11969 0 obj <<
+11933 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 542.5224 362.2721 551.4887]
+/Rect [345.336 482.747 362.272 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.291) >>
+/A << /S /GoTo /D (page.292) >>
 >> endobj
-11970 0 obj <<
+11934 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 518.7317 362.2721 527.5783]
+/Rect [345.336 459.055 362.272 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.420) >>
+/A << /S /GoTo /D (page.421) >>
 >> endobj
-11971 0 obj <<
+11935 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 492.7641 475.0182 503.668]
+/Rect [458.082 432.988 475.018 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.128) >>
 >> endobj
-11972 0 obj <<
+11936 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 468.8537 475.0182 479.7577]
+/Rect [458.082 409.078 475.018 419.982]
 /Subtype /Link
 /A << /S /GoTo /D (page.128) >>
 >> endobj
-11973 0 obj <<
+11937 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 425.0829 362.2721 433.9295]
+/Rect [345.336 365.307 362.272 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.160) >>
 >> endobj
-11974 0 obj <<
+11938 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.1087 411.0704 513.0452 421.9743]
+/Rect [496.109 351.295 513.045 362.199]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-11975 0 obj <<
+11939 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 387.1601 498.2408 398.064]
+/Rect [481.304 327.384 498.241 338.288]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11976 0 obj <<
+11940 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 363.2497 498.2408 374.1537]
+/Rect [481.304 303.474 498.241 314.378]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-11977 0 obj <<
+11941 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 339.3394 511.5056 350.2433]
+/Rect [494.569 279.564 511.506 290.468]
 /Subtype /Link
 /A << /S /GoTo /D (page.107) >>
 >> endobj
-11978 0 obj <<
+11942 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 329.4415 362.2721 338.2882]
+/Rect [345.336 269.666 362.272 278.512]
 /Subtype /Link
 /A << /S /GoTo /D (page.108) >>
 >> endobj
-11979 0 obj <<
+11943 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 315.4291 475.0182 326.333]
+/Rect [458.082 255.653 475.018 266.557]
 /Subtype /Link
 /A << /S /GoTo /D (page.138) >>
 >> endobj
-11980 0 obj <<
+11944 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 303.4739 511.5056 314.3778]
+/Rect [494.569 243.698 511.506 254.602]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-11981 0 obj <<
+11945 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 293.576 362.2721 302.4227]
+/Rect [345.336 233.8 362.272 242.647]
 /Subtype /Link
 /A << /S /GoTo /D (page.200) >>
 >> endobj
-11982 0 obj <<
+11946 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 268.3257 362.2721 278.5123]
+/Rect [345.336 208.55 362.272 218.737]
 /Subtype /Link
-/A << /S /GoTo /D (page.318) >>
+/A << /S /GoTo /D (page.319) >>
 >> endobj
-11983 0 obj <<
+11947 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.2609 268.3257 382.1974 278.5123]
+/Rect [365.261 208.55 382.197 218.737]
 /Subtype /Link
-/A << /S /GoTo /D (page.319) >>
+/A << /S /GoTo /D (page.320) >>
 >> endobj
-11984 0 obj <<
+11948 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.2084 243.6981 489.1448 254.602]
+/Rect [472.208 183.922 489.145 194.826]
 /Subtype /Link
-/A << /S /GoTo /D (page.267) >>
+/A << /S /GoTo /D (page.268) >>
 >> endobj
-11985 0 obj <<
+11949 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.2084 219.7877 489.1448 230.6917]
+/Rect [472.208 160.012 489.145 170.916]
 /Subtype /Link
-/A << /S /GoTo /D (page.267) >>
+/A << /S /GoTo /D (page.268) >>
 >> endobj
-11986 0 obj <<
+11950 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 195.8774 496.597 206.7813]
+/Rect [484.642 136.102 496.597 147.005]
 /Subtype /Link
-/A << /S /GoTo /D (page.95) >>
+/A << /S /GoTo /D (page.96) >>
 >> endobj
-11987 0 obj <<
+11951 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 183.9222 475.0182 194.8261]
+/Rect [458.082 124.146 475.018 135.05]
 /Subtype /Link
 /A << /S /GoTo /D (page.127) >>
 >> endobj
-11988 0 obj <<
+11952 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 171.967 476.6719 182.871]
+/Rect [459.735 112.191 476.672 123.095]
 /Subtype /Link
 /A << /S /GoTo /D (page.235) >>
 >> endobj
-11989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 150.114 362.2721 158.9606]
-/Subtype /Link
-/A << /S /GoTo /D (page.308) >>
->> endobj
-11990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 124.8637 438.0873 135.0503]
-/Subtype /Link
-/A << /S /GoTo /D (page.337) >>
->> endobj
-11991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 100.9533 403.5269 111.14]
-/Subtype /Link
-/A << /S /GoTo /D (page.363) >>
->> endobj
-11992 0 obj <<
+11953 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 88.2809 504.348 99.1848]
+/Rect [345.336 90.219 362.272 99.185]
 /Subtype /Link
-/A << /S /GoTo /D (page.400) >>
+/A << /S /GoTo /D (page.309) >>
 >> endobj
-11993 0 obj <<
+11955 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11915 0 obj <<
-/D [11913 0 R /XYZ 90 757.9346 null]
+11959 0 obj <<
+/D [11957 0 R /XYZ 90 757.935 null]
 >> endobj
-11912 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+11956 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-11996 0 obj <<
-/Length 3250      
+12027 0 obj <<
+/Length 1134      
 /Filter /FlateDecode
 >>
 stream
-x��\�r7}�W�m��!�}�c,�˙X��J������'�4�8���4�h,6i�\�E��{.Nc9 ��fP�A3g�	�峛�8��o�8A��s���5�����?8�)�8��M� �Ϯo>}yy~�����fJ ׁ���b���ŵ�ށ3‘����Ͽ�٭N���l�Q�� )�g'������ɿl����a�

��F0<j& rF�d���Z|\��7��]�Tmn�]�0�
���#c�q�:C�tY?,W�����^.~\��������|��~�X�}L�
- ��L�XAܶ�|T�u6o��X���6(�krT<��)6�1h�2�v�pe�Y1�?CN(Lqn�d(����#�&7�E�nz$�#�1!�Qs�C
-�qe����v�
-0�N�
%���u��d
��	
IѭTt�@�Jg��
h
�
D���7���v�\G��
-Hf�' K��4�~�:L��5�(�4�BQ6J`Đ���Z��P�g��p�Z�ן��D���}��nW�V��;d�s&f�(@��NI���u��lA܆J�@
�j�����V؁J, Ŵ���j��U�i۴��g��~�jmvF�'I��#(���j���DS��
��	H Ud���3�V9X� $@/�������&�^�
-s:D�t��~�:Lt� n�: 
-�͖�w��*��SZ�0ɦ��n_/uJt�Ä�k�N�
�!!
�Y#
XT8��Q�F�]�q8��@�`ÔJ�!�
��R��O �
Ұ+LO��
�
�0����Oh7��t��!�9B	D�#
-F�b��:$��5�	?��p��Z��\���Q��<����s'&���uHk�
-
~Qᐆ�TRŀBK�@%1�
�>�z�V6�l��!�i�@��qD��V*\��h�FE��@T4�a�h�
�O���w�@�PqV�\��j�f��?�ҨC#
 �ȁ���)U
�CB5x�T��@T5�aV0z��Ce��S�\��p����y/
-���!
;Ђ0�
Q:���VK�!!
�YN:�	D�C�'�H	���8s ���g~V:�	�`�Z� ���O *
Ұ��� ��ҁ0
�!�T;�	�`�r��O *2��B
-;�xhC�*k��
Cr��7*hZ-,��Oe7����j�Y����~�N��߽[�U��<]�LLcJ�`DՌ �T<�qz���0���&'
N�Z�
�w*>����*�jȂpB��,#���!
Vp��a\����f��BQ9��G�T�9,!���
S*�\�����CG唟@TN�aV���#����G�\7�	�`�Z�@���O �2�A4��*=���(muo���m[

��X %3��r��[��K&��\�1�@AŠ�x�!��[�v�G�%�O ��g`-�ZV)*�qVy�t�w
k��%Q���O ��a�:��Ju;��zX,w����
���/�06wU
�gA��h�mH������]�	����v�G,��%0毷��j��d J,{����������G�����j��"a���?/�CB X�f-����{b�	���������1D�ejR!�0�
-�uH(/=4u'ѭ�~Q���
X�K�

z�b�
���/?L�.~��4�@
 s|�� ��b��:$��5k�xģ��O ��2��!D aH��5"@̠)=qq
'.֬���艋��O�^;��N�
��v�iΥ���X%�=��_�w�lCy�F��G$�5~�>Sm�m��2�Pϋ�t�������%T�R���Ϛ���	���Iь;����FiL=�����n$;J��!�;TK
N$*�r|v�s�a��q܈�`�>��	�vVء���w��7�^���J��8��g��¸�A#�.�V؁����I�a� �^�8Zz���0AK7�7�~���h�2�-n}�Az�P��s�j3wo>w�'
G��
�o�k<���e0-9n�෹ܡ��xa�_o�)�
�Ft��*����2��E����
��U���oP钻0n�
`T=$+�����W��ȇ‚�A?�+�¸9�,�$D�j����v�m]-
�_s�So�6�����U�
ANI]���~�:L0�5��px��P*�F����[ePݪ�7��i�?�L�) 6�N��.�To?w
&�
-�6�d!S�l����㏙�2�SnQݛ3
-O_�ty�8}F��/�ƚ��+e�uH��U煷��?�Zղ�V�
��|q�����(++vs(KV��qs��j�
ʒ�en�����k���������<�!�L��
-�
fa�
w�7��$���[A6p�����ZY���W��*���+U���D
�rj��t���|U����/��d�U7GW��ˡ+�j����'-�����W]��*$�e���H��1*g�����}A�F���Ғ*�����V؁?F��UF�7����r��wJ��
B1�:`�A��8Ȱf�A��
d�	D2Ұ��Cw1a�۾�ou�_���O�S��l�zye�����C|�o���� v��}b��[5� �Fw�
zt����	Ŋ.�
Ch�A-׋����l%nV� r񸬗��G�M`��@\�&\��nšev>~t7�F
���@g��|��fSvl��rRΞ�b�7˱����K�����x7]�Pp�������,��������D
�
sc�(��C�uH�ek�̏LD��@t4g`-�%Y+�M
�b��,�W����L��a/T��
�Q��@`v�����D/
�6$�;#t�@p��Ye`-�H
-��u7~o_��������������9�4D��a��v
�К5�PD�����iԁ5N �;����z����ig澛mWN����Ҥ�ubz����^
�Y�C�:˚5��2

-ڮ������YeP��'"J?��6L�t
"�Ka�~Q��
X�Bw�;��m��Sz��:$n���0Q��,?��mVv�1 at h�%_�m2��R����uH��֬�Ђ���O (W�WGJ�$l�{A���%~��F5�ne����4����#���,3�S���δ��s�^��}�=���O����c�������Io
-���
���ڨ��M�*� p6�
��x��b=RͥC�[CP��o�����vsǣ�*/�6�k�|��?~���Ǐ��<mV�5X�=>���WU
@�g/���鍂\<��@(D�\��n9z��ݓXm>)dv7 �x;L��
[Z�endstream
+x��Z]s�8}�W�maf�H�%�yl`3t���f'�h
#�[ٔ��~%�tl
h�NfB,pu�t�=WF�����T�fSL�`lL�4�
�]��i�n_�-
*���0
C]�����W!@鷉��:nP���P^������O���<��_�T����	���	0��AJ�^{
D�
֋�ń��.�{���Y~3�
�_��5RF(8AH�In�g.���d#�=�#s@�sO�/j��X�u+ C*mm��X�I̓
�zQ���
�X J�(��}o��}Ѭ/�?C�C��^2an�Ō�.��w���C��'Δ`��*4�O������_oX`뤺���8�(t����:�w�}A�ٯ�h��l!Z�G���g�<#�<;<�"h�4���,>.�޸��w��Ƶ_ьWF�k�;�����#{�ػd緷L���u�-��f�~R�� ӏ[������b�^��
��-�.�D���r�0'��qX-�/�z�-ɥ�sQ��,�)R����M��
O%u��
xK�
WR<n���Ⲍ��9l�0��aa at u]��84��&TGf�i����YKG�L��;���Jk�g�Ti�E�D2Z#�v��K�V�7���i�;�~!��I$8�ʏ�^E4
�^8�B�@f�z��3?�^.U)�K��0`�{�i�f����_��#p�"+��E [...]
+endstream
 endobj
-11995 0 obj <<
+12026 0 obj <<
 /Type /Page
-/Contents 11996 0 R
-/Resources 11994 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 12061 0 R
-/Annots [ 11998 0 R 11999 0 R 12000 0 R 12001 0 R 12002 0 R 12003 0 R 12004 0 R 12005 0 R 12006 0 R 12007 0 R 12008 0 R 12009 0 R 12010 0 R 12011 0 R 12012 0 R 12013 0 R 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 12 [...]
+/Contents 12027 0 R
+/Resources 12025 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 11954 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 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 12005 0 R 12006 0 R 12 [...]
 >> endobj
-11998 0 obj <<
+11954 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 707.9571 280.1157 718.861]
+/Rect [204.669 708.674 221.606 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.96) >>
+/A << /S /GoTo /D (page.338) >>
 >> endobj
-11999 0 obj <<
+11960 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 696.0019 258.5368 706.9059]
+/Rect [170.109 684.764 187.046 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.127) >>
+/A << /S /GoTo /D (page.365) >>
 >> endobj
-12000 0 obj <<
+11961 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 684.0467 260.1905 694.9507]
+/Rect [270.93 672.092 287.867 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.235) >>
+/A << /S /GoTo /D (page.402) >>
 >> endobj
-12001 0 obj <<
+11962 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 662.1937 145.7908 671.0403]
+/Rect [268.161 648.181 280.116 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.308) >>
+/A << /S /GoTo /D (page.96) >>
 >> endobj
-12002 0 obj <<
+11963 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 636.9434 221.6059 647.13]
+/Rect [241.6 636.226 258.537 647.13]
 /Subtype /Link
-/A << /S /GoTo /D (page.337) >>
+/A << /S /GoTo /D (page.127) >>
 >> endobj
-12003 0 obj <<
+11964 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 613.033 187.0456 623.2197]
+/Rect [243.254 624.271 260.191 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.364) >>
+/A << /S /GoTo /D (page.235) >>
 >> endobj
-12004 0 obj <<
+11965 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 600.3606 287.8667 611.2645]
+/Rect [128.854 602.298 145.791 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.401) >>
+/A << /S /GoTo /D (page.309) >>
 >> endobj
-12005 0 obj <<
+11966 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 576.4502 280.1157 587.3542]
+/Rect [204.669 577.168 221.606 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.95) >>
+/A << /S /GoTo /D (page.339) >>
 >> endobj
-12006 0 obj <<
+11967 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 564.4951 258.5368 575.399]
+/Rect [170.109 553.257 187.046 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.127) >>
+/A << /S /GoTo /D (page.366) >>
 >> endobj
-12007 0 obj <<
+11968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 540.585 287.867 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.402) >>
+>> endobj
+11969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 516.674 280.116 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.95) >>
+>> endobj
+11970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.6 504.719 258.537 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.127) >>
+>> endobj
+11971 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 552.5399 260.1905 563.4438]
+/Rect [243.254 492.764 260.191 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.235) >>
 >> endobj
-12008 0 obj <<
+11972 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 530.6868 145.7908 539.5335]
+/Rect [128.854 470.791 145.791 479.758]
 /Subtype /Link
-/A << /S /GoTo /D (page.308) >>
+/A << /S /GoTo /D (page.309) >>
 >> endobj
-12009 0 obj <<
+11973 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 505.4365 221.6059 515.6232]
+/Rect [204.669 445.661 221.606 455.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.338) >>
 >> endobj
-12010 0 obj <<
+11974 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 481.5262 187.0456 491.7128]
+/Rect [170.109 421.75 187.046 431.937]
 /Subtype /Link
-/A << /S /GoTo /D (page.362) >>
+/A << /S /GoTo /D (page.363) >>
 >> endobj
-12011 0 obj <<
+11975 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 468.8537 287.8667 479.7577]
+/Rect [270.93 409.078 287.867 419.982]
 /Subtype /Link
-/A << /S /GoTo /D (page.400) >>
+/A << /S /GoTo /D (page.402) >>
 >> endobj
-12012 0 obj <<
+11976 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 444.9434 280.1157 455.8473]
+/Rect [268.161 385.168 280.116 396.071]
 /Subtype /Link
 /A << /S /GoTo /D (page.96) >>
 >> endobj
-12013 0 obj <<
+11977 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 432.9882 258.5368 443.8922]
+/Rect [241.6 373.212 258.537 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.127) >>
 >> endobj
-12014 0 obj <<
+11978 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 421.033 260.1905 431.937]
+/Rect [243.254 361.257 260.191 372.161]
 /Subtype /Link
 /A << /S /GoTo /D (page.236) >>
 >> endobj
-12015 0 obj <<
+11979 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 399.18 145.7908 408.0266]
+/Rect [128.854 339.285 145.791 348.251]
 /Subtype /Link
-/A << /S /GoTo /D (page.308) >>
+/A << /S /GoTo /D (page.309) >>
 >> endobj
-12016 0 obj <<
+11980 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 373.9297 221.6059 384.1163]
+/Rect [204.669 314.154 221.606 324.34]
 /Subtype /Link
-/A << /S /GoTo /D (page.338) >>
+/A << /S /GoTo /D (page.340) >>
 >> endobj
-12017 0 obj <<
+11981 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 350.0193 187.0456 360.206]
+/Rect [170.109 290.243 187.046 300.43]
 /Subtype /Link
-/A << /S /GoTo /D (page.362) >>
+/A << /S /GoTo /D (page.364) >>
 >> endobj
-12018 0 obj <<
+11982 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 337.3469 287.8667 348.2508]
+/Rect [270.93 277.571 287.867 288.475]
 /Subtype /Link
-/A << /S /GoTo /D (page.401) >>
+/A << /S /GoTo /D (page.402) >>
 >> endobj
-12019 0 obj <<
+11983 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 314.1538 208.7738 324.3405]
+/Rect [196.819 254.378 208.774 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12020 0 obj <<
+11984 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 289.5262 280.1157 300.4301]
+/Rect [268.161 229.75 280.116 240.654]
 /Subtype /Link
 /A << /S /GoTo /D (page.91) >>
 >> endobj
-12021 0 obj <<
+11985 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 277.571 258.5368 288.475]
+/Rect [241.6 217.795 258.537 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.122) >>
 >> endobj
-12022 0 obj <<
+11986 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 254.378 145.7908 264.5646]
+/Rect [128.854 194.602 145.791 204.789]
 /Subtype /Link
-/A << /S /GoTo /D (page.303) >>
+/A << /S /GoTo /D (page.304) >>
 >> endobj
-12023 0 obj <<
+11987 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.7796 254.378 165.7161 264.5646]
+/Rect [148.78 194.602 165.716 204.789]
 /Subtype /Link
-/A << /S /GoTo /D (page.304) >>
+/A << /S /GoTo /D (page.305) >>
 >> endobj
-12024 0 obj <<
+11988 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 230.4676 187.0456 240.6543]
+/Rect [170.109 170.692 187.046 180.878]
 /Subtype /Link
-/A << /S /GoTo /D (page.361) >>
+/A << /S /GoTo /D (page.362) >>
 >> endobj
-12025 0 obj <<
+11989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.034 170.692 206.971 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.363) >>
+>> endobj
+11990 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 217.7952 287.8667 228.6991]
+/Rect [270.93 158.019 287.867 168.923]
 /Subtype /Link
-/A << /S /GoTo /D (page.391) >>
+/A << /S /GoTo /D (page.392) >>
 >> endobj
-12026 0 obj <<
+11991 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.6274 193.8849 296.5639 204.7888]
+/Rect [279.627 134.109 296.564 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-12027 0 obj <<
+11992 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 169.9745 285.097 180.8785]
+/Rect [268.161 110.199 285.097 121.103]
 /Subtype /Link
 /A << /S /GoTo /D (page.105) >>
 >> endobj
-12028 0 obj <<
+11993 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 158.0194 258.5368 168.9233]
+/Rect [241.6 98.244 258.537 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.135) >>
 >> endobj
-12029 0 obj <<
+11994 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 146.0642 260.1905 156.9681]
+/Rect [243.254 86.288 260.191 97.192]
 /Subtype /Link
 /A << /S /GoTo /D (page.246) >>
 >> endobj
-12030 0 obj <<
+11995 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 124.2111 145.7908 133.0578]
+/Rect [345.336 710.014 362.272 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.316) >>
+/A << /S /GoTo /D (page.317) >>
 >> endobj
-12031 0 obj <<
+11996 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 98.9608 221.6059 109.1474]
+/Rect [421.151 684.764 438.087 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.345) >>
+/A << /S /GoTo /D (page.346) >>
 >> endobj
-12032 0 obj <<
+11997 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 708.6744 403.5269 718.861]
+/Rect [386.59 660.854 403.527 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.371) >>
+/A << /S /GoTo /D (page.372) >>
 >> endobj
-12033 0 obj <<
+11998 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 696.0019 504.348 706.9059]
+/Rect [487.411 648.181 504.348 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.409) >>
+/A << /S /GoTo /D (page.411) >>
 >> endobj
-12034 0 obj <<
+11999 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 672.0916 501.5784 682.9955]
+/Rect [484.642 624.271 501.578 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.105) >>
 >> endobj
-12035 0 obj <<
+12000 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 660.1364 475.0182 671.0403]
+/Rect [458.082 612.316 475.018 623.22]
 /Subtype /Link
 /A << /S /GoTo /D (page.135) >>
 >> endobj
-12036 0 obj <<
+12001 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 648.1812 476.6719 659.0852]
+/Rect [459.735 600.361 476.672 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.246) >>
 >> endobj
-12037 0 obj <<
+12002 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 626.3282 362.2721 635.1748]
+/Rect [345.336 578.508 362.272 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.316) >>
+/A << /S /GoTo /D (page.317) >>
 >> endobj
-12038 0 obj <<
+12003 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 601.0779 438.0873 611.2645]
+/Rect [421.151 553.257 438.087 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.345) >>
+/A << /S /GoTo /D (page.346) >>
 >> endobj
-12039 0 obj <<
+12004 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 577.1675 403.5269 587.3542]
+/Rect [386.59 529.347 403.527 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.370) >>
+/A << /S /GoTo /D (page.372) >>
 >> endobj
-12040 0 obj <<
+12005 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 564.4951 504.348 575.399]
+/Rect [487.411 516.674 504.348 527.578]
 /Subtype /Link
-/A << /S /GoTo /D (page.409) >>
+/A << /S /GoTo /D (page.411) >>
 >> endobj
-12041 0 obj <<
+12006 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 540.5847 447.8902 551.4887]
+/Rect [435.935 492.764 447.89 503.668]
 /Subtype /Link
 /A << /S /GoTo /D (page.75) >>
 >> endobj
-12042 0 obj <<
+12007 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 517.3917 425.2551 527.5783]
+/Rect [413.3 469.571 425.255 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-12043 0 obj <<
+12008 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 493.4813 425.2551 503.668]
+/Rect [413.3 445.661 425.255 455.847]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12044 0 obj <<
+12009 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 469.571 425.2551 479.7577]
+/Rect [413.3 421.75 425.255 431.937]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12045 0 obj <<
+12010 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 445.6607 425.2551 455.8473]
+/Rect [413.3 397.84 425.255 408.027]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12046 0 obj <<
+12011 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 421.7503 425.2551 431.937]
+/Rect [413.3 373.93 425.255 384.116]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12047 0 obj <<
+12012 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 397.84 425.2551 408.0266]
+/Rect [413.3 350.019 425.255 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12048 0 obj <<
+12013 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7475 363.2497 494.684 374.1537]
+/Rect [477.748 315.429 494.684 326.333]
 /Subtype /Link
-/A << /S /GoTo /D (page.417) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-12049 0 obj <<
+12014 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 339.3394 475.0182 350.2433]
+/Rect [458.082 291.519 475.018 302.423]
 /Subtype /Link
 /A << /S /GoTo /D (page.137) >>
 >> endobj
-12050 0 obj <<
+12015 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 305.5312 362.2721 314.3778]
+/Rect [345.336 257.711 362.272 266.557]
 /Subtype /Link
 /A << /S /GoTo /D (page.284) >>
 >> endobj
-12051 0 obj <<
+12016 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 279.5636 447.8902 290.4675]
+/Rect [435.935 231.743 447.89 242.647]
 /Subtype /Link
 /A << /S /GoTo /D (page.75) >>
 >> endobj
-12052 0 obj <<
+12017 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.935 255.6532 447.8902 266.5572]
+/Rect [435.935 207.833 447.89 218.737]
 /Subtype /Link
-/A << /S /GoTo /D (page.75) >>
+/A << /S /GoTo /D (page.74) >>
 >> endobj
-12053 0 obj <<
+12018 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 221.845 362.2721 230.6917]
+/Rect [345.336 174.024 362.272 182.871]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-12054 0 obj <<
+12019 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [489.6132 195.8774 506.5497 206.7813]
+/Rect [489.613 148.057 506.55 158.961]
 /Subtype /Link
 /A << /S /GoTo /D (page.165) >>
 >> endobj
-12055 0 obj <<
+12020 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 172.6843 425.2551 182.871]
+/Rect [413.3 124.864 425.255 135.05]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-12056 0 obj <<
+12021 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 148.0567 496.597 158.9606]
+/Rect [484.642 100.236 496.597 111.14]
 /Subtype /Link
 /A << /S /GoTo /D (page.98) >>
 >> endobj
-12057 0 obj <<
+12022 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 136.1015 475.0182 147.0055]
+/Rect [458.082 88.281 475.018 99.185]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-12058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 124.1464 476.6719 135.0503]
-/Subtype /Link
-/A << /S /GoTo /D (page.239) >>
->> endobj
-12059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 102.2933 362.2721 111.14]
-/Subtype /Link
-/A << /S /GoTo /D (page.310) >>
->> endobj
-12060 0 obj <<
+12024 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-11997 0 obj <<
-/D [11995 0 R /XYZ 90 757.9346 null]
+12028 0 obj <<
+/D [12026 0 R /XYZ 90 757.935 null]
 >> endobj
-11994 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+12025 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-12064 0 obj <<
-/Length 3463      
+12096 0 obj <<
+/Length 1221      
 /Filter /FlateDecode
 >>
 stream
-x��\�r7}�W�m��
��%oq����
ǖS�ʦX�4�Y�H���8_���`0� ]�-�X�Aw�aw���Y`�G/�P�0.�Gx�~���>����<=?z�
���rq��� 	������g/���r���
�5�B� �{Ι���鹓�)L+���_ËK0�#���b�	~��C�G������7G?99�͂�g�M<���C
���-eK��5��	ǫ��j�j{��c}�[-����V��_�j��
��aY5K:!�AZ�*�?�;�}>=Q,�B�B0m���>t���c8|�/�x�H�5�I�%�ܰ���=�*��)�� "�
�_m77��Pɝ�<5^y���Hj�8�K
-����8P^'����z�n��WZR���H{q�j�j�}wU_�
E
�˅�
QmJ�9|�/��j#��L�yd �H.B��Q��:Ac�
����^^����~��ܓ��O!��z
Ǝ'����3��2���ᕏ�p�Pj�x��n��:�
:^*��Q�8�-y���~��0I
-��������������w�.〘!H�j�z
r�ì�D���
H;`^m�҄�
N�9����g�Cm1&�#IA�Yp�
_�
&<,�ۄ(��F !�

}�GԂ�	e�؅��2v
-,�Ā,8E���S�N(�Z��m�H$&���'zTA�}b���
�7�Ͼ=_��<��������y~v���F�v�?�VP[ľz��

��)������PjZJǞK�2�
m�
(�Ӓ�RLu��a��8\}^^l7x��=�{�l����f"�K�EK�� ��*r��+�y�\k���|�������ޡ
-Z��jF^z��+&�S$����)=��L��m\��x���84 d�G��`��Q��[_N��ؓS���W��)ZB�M��f�1<4 ��C�:Z8�tCԌ0�����ݬ���c���3{���M�G5mK\���{�=���u:rEK=�ki?<�WW���t�z]_�^@��:�g"�cȐR���d"K~��+���Er"Y�1R
-56������ځJm���-4�C
͙D�6���dZhk[h�l��$[�ZG!�_K�8=��6���d�葕̤���>:�jN(���%�v�a��1W����[v���b�fh�,��#�ut��_�
��
�6�c<���aEI`@�_�*���ֈQ�&������U�'$��2�'���-�����ڞP&����
����Q&�ԝE��Љ���
2=���\O86 ���ZG�����z����j���]��
2��5^��"MCc
g�*�
�ʶ���G=̑d|�<�_�
�
�f0�����˫�I��"�
{����M���LzYI�J�����W;�Q�('w!'W����?L͚!KB��!b4RҔ\��W
~�)B��0�ƅ��E�=�
T��P��gH�͝��
2c���D��fl at rP�W;�A���w!�An�(2���~�-�9Vk�i��v��ZGtQZ�2}��C��^oV���%� frW�Y
��L�Pn���
�`�Q����R�P�;X#c؜Z��Ի�a;QEI~l� �x
��L^(���L�qJ�Ѐ(�:TA���0S��䎤Kq!���zv��
2q�`M
�e2��$㮠ֱ���J>t��̝�
2���}���,pl at r�W;�"	|-��`��e:�\)H�A��.1�����2'~c�%fA�#�)D%%w%�![
�1|�R�_�
�
�P(���؀t���:
-	CL��m�w�9��j�D^B=�<y�#�_�
���C�-=zj�&�
-
��n:TA�@&��S�"=�כz���ӿnv��^��j�˵�L�#8o(MH;x����Ԇ;G��v�hSG�B܆:�?�f��(�ŨD
��q���0.c�̽���R���>MT�2H��D/{CˡJj{vf��*
�qW���/�4�:�(N46 IPA�#����4�S�h�yu���PER
y�
�;lH��V*�
X�/o}ٻ�
�WhN��{[_�D�mT�Y�	�U��C��:
-�\�=���ru/��Y=����Jm��j#�
k�n�v���H�ՙIJD .�
��� ��zX��4��F��R^����[�2�•F�3=����.��r[zL�
A
��;zUP
�(⚰��P�V���u���V7��a�
�
�O�48�4Hr\���W��	#��D
X�A�Ѐ0�zTA��2!�.�y��
;�VfS`��W��	V"�
+,��
-
-NJBB��Q�+\ �0���ޜP�xr
-����_0AK$�
#L�^�Dh at DK�*�
ha
)%�#V�����<��;P�u�L׾�d��*t�@��%��D�N�#7
-{]gf������C��#KՏc��1�ӱhS����H��<�2�x8ԏ��L��`�E"���$�ǂZG���s��Rk�[��V��:|�/���B���82�ꚉ�
-
���UP�*.0º+��M���v�y��,�}>��/���KM
�)���������`��Lzc�i�����R�/J�
A�$���^����%�ڞF��k�
d�Q�҂
-:�襲;\;�n7_����9�[!��
�:Yz|5Ҟ�ΞE&��uI�'���e��ڰ�
&8�\���^����HM�l���gс��EjA�.8��C9e�"�!���/
��L�mOY�T^���D�t��ځ}S��bClm;����� s=�=��Ȁt����aG�DRvü�/������g�f|�ھ�����/2����巿�{�޽o.N\�j2���o/�)\��9|�/�p�H��)��e� S�u�?�
U�:��(R��� ��Y��$��
Mq�5�$�����5o9ɩI���
�����P�.6)�H�9���H‰�;��dF#��ɑ�؀�H"�v`�I���wR�#	'g�H�_�I��L%Gc�#��ځ�M�{đ�:Ϩ;
%��L�`�N&���$3yA�c�4�8�"�.�Tz�l�ǧgվ�dR�����l"�ӑH4��r6A�@D_�
f���l���لH�&�$g��B���3fN��ل� 3�Yɧ����al at r [...]
-�9��O�e�[�;�[
>Sm��B�5R����*∂�ڽ�����ϧ�ߜ>
MX (��|��9�zXÔL35ҟ�*��qe�{Q����-�mo7��T"�kMP�1=
�� _>�95n���'ft-V¾fo����h����IE
�G�c�D��L���v_��u"�����js��j��_,p��yv͟�i~	�b���h��񛺎��Q���~����߿��b݂�[��m-�=m$�>������'O>}��.��v��١�����Փx�s{l���*�l1ϴ�b��-ﷻ�����&֛����Ї��2�<�@
endstream
+x��ZmS�8��_�o��
F�-��[��IBJ�
7\�c<�K*+M�_�K��5�l�
C�"i���>�+hs
h��I��#14Gw"��Qs�f�c��L������ޗ�'��0����˝����U��l6�t���4���L\���plm��
+5�7�Ɲ�
���-$�c�5
: 8�:�A��X蹣8X?���K��yl}rr��ٟ�

��n.:�� �
����� �
,�� �}�!1"��C��r��ܛǑ��'oA_S�݅
wU��+~�O(w�2���'��8�Š21������F�	�*YxWV�Sq��p4W��;b�C@�F�A6.�3
�ưn�M�;�C%~
�
+�H@��!w}O������7�]/I�y��jgOt��A����2|���� V~�.�Fn���
�E C c^G8������l���ϩqn{&�~�
L�ii�8J8�D�����-�
�<X��8�bդ
���"�19�=e��?�4F���2�9{=}8Ư&�F���gW�~��
�-�"����Z�7�����"��rGs7�����I[G��-i4��0H�
��.��B�dC��]��*U�[
�E�۞�T�,��N^�a��|�������)�6�P�䳮��T.�(�lcU/�S�
+�~��Z7;@!�҈2�ǬV��
+BT튀:kI�ݾ�H�w�Zٿ�J��Dt,PuB��h�͏ۘ�:��Cu�
+�ܥQ�R�‰�
F����!UȿNC��
-Qݨ�--l �O<Q�{�R�k:�v��{��Խ��Hv
�â�N&z�R��@;�����4�	���%�(�`{j�ha
�-�i�Ѧe9���z�P��
�ʡ
�.��-Q��
��4����#�a�i�.ʚ6/��Gh�:�a�
�e4Ube��l<Oz6��%�����W�v�R#J��\�h��t;<��
���ݬ�I�|�O/�W/�~t��݉���c�Q�^K�vO��qM�9h^D�a�a����k^,���΀�,���B�U���^C"|o����
UT�<�����I��߼�'�cv� vD�o���2�Ϫ�������mB�=��I~~�EK/ȏ��/hY�
+4�t(�DS

q�#
�1����z_���_�
x
4�m��|������j�ҧ�����}~�X�;�+���[h��c�rt��)l�G��f>������J
+endstream
 endobj
-12063 0 obj <<
+12095 0 obj <<
 /Type /Page
-/Contents 12064 0 R
-/Resources 12062 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 12061 0 R
-/Annots [ 12066 0 R 12067 0 R 12068 0 R 12069 0 R 12070 0 R 12071 0 R 12072 0 R 12073 0 R 12074 0 R 12075 0 R 12076 0 R 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 12 [...]
+/Contents 12096 0 R
+/Resources 12094 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 12023 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 12062 0 R 12063 0 R 12064 0 R 12065 0 R 12066 0 R 12067 0 R 12068 0 R 12069 0 R 12070 0 R 12071 0 R 12072 0 R 12073 0 R 12074 0 R 12075 0 R 12 [...]
 >> endobj
-12066 0 obj <<
+12023 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 708.6744 187.0456 718.861]
+/Rect [243.254 719.912 260.191 730.816]
 /Subtype /Link
-/A << /S /GoTo /D (page.366) >>
+/A << /S /GoTo /D (page.239) >>
 >> endobj
-12067 0 obj <<
+12029 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 696.0019 287.8667 706.9059]
+/Rect [255.727 707.957 272.664 718.861]
 /Subtype /Link
-/A << /S /GoTo /D (page.403) >>
+/A << /S /GoTo /D (page.268) >>
 >> endobj
-12068 0 obj <<
+12030 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 662.1937 145.7908 671.0403]
+/Rect [128.854 686.104 145.791 694.951]
 /Subtype /Link
-/A << /S /GoTo /D (page.284) >>
+/A << /S /GoTo /D (page.311) >>
 >> endobj
-12069 0 obj <<
+12031 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.1878 636.2261 275.1243 647.13]
+/Rect [170.109 660.854 187.046 671.04]
 /Subtype /Link
-/A << /S /GoTo /D (page.422) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-12070 0 obj <<
+12032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.93 648.181 287.867 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.404) >>
+>> endobj
+12033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 614.373 145.791 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.285) >>
+>> endobj
+12034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.188 588.405 275.124 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.424) >>
+>> endobj
+12035 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 602.4179 145.7908 611.2645]
+/Rect [128.854 554.597 145.791 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.157) >>
 >> endobj
-12071 0 obj <<
+12036 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.6274 588.4054 296.5639 599.3093]
+/Rect [279.627 540.585 296.564 551.489]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-12072 0 obj <<
+12037 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [105.6112 577.1675 117.5664 587.3542]
+/Rect [105.611 529.347 117.566 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.76) >>
 >> endobj
-12073 0 obj <<
+12038 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.5064 552.5399 283.4429 563.4438]
+/Rect [266.506 504.719 283.443 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.178) >>
 >> endobj
-12074 0 obj <<
+12039 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 528.6296 280.1157 539.5335]
+/Rect [268.161 480.809 280.116 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.90) >>
+/A << /S /GoTo /D (page.91) >>
 >> endobj
-12075 0 obj <<
+12040 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 516.6744 258.5368 527.5783]
+/Rect [241.6 468.854 258.537 479.758]
 /Subtype /Link
 /A << /S /GoTo /D (page.125) >>
 >> endobj
-12076 0 obj <<
+12041 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 504.7192 260.1905 515.6232]
+/Rect [243.254 456.899 260.191 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.229) >>
 >> endobj
-12077 0 obj <<
+12042 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 482.8662 145.7908 491.7128]
+/Rect [128.854 435.046 145.791 443.892]
 /Subtype /Link
-/A << /S /GoTo /D (page.303) >>
+/A << /S /GoTo /D (page.304) >>
 >> endobj
-12078 0 obj <<
+12043 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 457.6158 221.6059 467.8025]
+/Rect [204.669 409.795 221.606 419.982]
 /Subtype /Link
-/A << /S /GoTo /D (page.336) >>
+/A << /S /GoTo /D (page.337) >>
 >> endobj
-12079 0 obj <<
+12044 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.1091 433.7055 187.0456 443.8922]
+/Rect [170.109 385.885 187.046 396.071]
 /Subtype /Link
-/A << /S /GoTo /D (page.360) >>
+/A << /S /GoTo /D (page.362) >>
 >> endobj
-12080 0 obj <<
+12045 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9302 421.033 287.8667 431.937]
+/Rect [270.93 373.212 287.867 384.116]
 /Subtype /Link
-/A << /S /GoTo /D (page.393) >>
+/A << /S /GoTo /D (page.395) >>
 >> endobj
-12081 0 obj <<
+12046 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.1319 397.1227 290.0684 408.0266]
+/Rect [273.132 349.302 290.068 360.206]
 /Subtype /Link
 /A << /S /GoTo /D (page.166) >>
 >> endobj
-12082 0 obj <<
+12047 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 363.3145 145.7908 372.1611]
+/Rect [128.854 315.494 145.791 324.34]
 /Subtype /Link
 /A << /S /GoTo /D (page.156) >>
 >> endobj
-12083 0 obj <<
+12048 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.6274 349.302 296.5639 360.206]
+/Rect [279.627 301.481 296.564 312.385]
 /Subtype /Link
 /A << /S /GoTo /D (page.210) >>
 >> endobj
-12084 0 obj <<
+12049 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 325.3917 285.097 336.2956]
+/Rect [268.161 277.571 285.097 288.475]
 /Subtype /Link
 /A << /S /GoTo /D (page.109) >>
 >> endobj
-12085 0 obj <<
+12050 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 303.5387 145.7908 312.3853]
+/Rect [128.854 255.718 145.791 264.565]
 /Subtype /Link
 /A << /S /GoTo /D (page.160) >>
 >> endobj
-12086 0 obj <<
+12051 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.1319 289.5262 290.0684 300.4301]
+/Rect [273.132 241.706 290.068 252.609]
 /Subtype /Link
 /A << /S /GoTo /D (page.167) >>
 >> endobj
-12087 0 obj <<
+12052 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 265.6159 180.1116 276.5198]
+/Rect [163.175 217.795 180.112 228.699]
 /Subtype /Link
 /A << /S /GoTo /D (page.172) >>
 >> endobj
-12088 0 obj <<
+12053 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.5064 253.6607 283.4429 264.5646]
+/Rect [266.506 205.84 283.443 216.744]
 /Subtype /Link
 /A << /S /GoTo /D (page.182) >>
 >> endobj
-12089 0 obj <<
+12054 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 229.7504 180.1116 240.6543]
+/Rect [163.175 181.93 180.112 192.834]
 /Subtype /Link
 /A << /S /GoTo /D (page.185) >>
 >> endobj
-12090 0 obj <<
+12055 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.2373 217.7952 291.1738 228.6991]
+/Rect [274.237 169.975 291.174 180.878]
 /Subtype /Link
 /A << /S /GoTo /D (page.190) >>
 >> endobj
-12091 0 obj <<
+12056 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.823 205.84 281.7594 216.744]
+/Rect [264.823 158.019 281.759 168.923]
 /Subtype /Link
 /A << /S /GoTo /D (page.199) >>
 >> endobj
-12092 0 obj <<
+12057 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 181.9297 180.1116 192.8336]
+/Rect [163.175 134.109 180.112 145.013]
 /Subtype /Link
 /A << /S /GoTo /D (page.206) >>
 >> endobj
-12093 0 obj <<
+12058 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 169.9745 260.1905 180.8785]
+/Rect [243.254 122.154 260.191 133.058]
 /Subtype /Link
 /A << /S /GoTo /D (page.248) >>
 >> endobj
-12094 0 obj <<
+12059 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 148.1215 145.7908 156.9681]
+/Rect [128.854 100.301 145.791 109.147]
 /Subtype /Link
 /A << /S /GoTo /D (page.257) >>
 >> endobj
-12095 0 obj <<
+12060 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 122.1538 180.1116 133.0578]
+/Rect [379.656 707.957 396.593 718.861]
 /Subtype /Link
 /A << /S /GoTo /D (page.262) >>
 >> endobj
-12096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.727 110.1987 272.6635 121.1026]
-/Subtype /Link
-/A << /S /GoTo /D (page.268) >>
->> endobj
-12097 0 obj <<
+12061 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.1091 86.2883 195.0456 97.1923]
+/Rect [472.208 696.002 489.145 706.906]
 /Subtype /Link
-/A << /S /GoTo /D (page.277) >>
+/A << /S /GoTo /D (page.269) >>
 >> endobj
-12098 0 obj <<
+12062 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 710.0144 362.2721 718.861]
+/Rect [394.59 672.092 411.527 682.996]
 /Subtype /Link
-/A << /S /GoTo /D (page.285) >>
+/A << /S /GoTo /D (page.278) >>
 >> endobj
-12099 0 obj <<
+12063 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 686.104 362.2721 694.9507]
+/Rect [345.336 650.239 362.272 659.085]
 /Subtype /Link
-/A << /S /GoTo /D (page.320) >>
+/A << /S /GoTo /D (page.286) >>
 >> endobj
-12100 0 obj <<
+12064 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 660.8537 438.0873 671.0403]
+/Rect [345.336 626.328 362.272 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.347) >>
+/A << /S /GoTo /D (page.321) >>
 >> endobj
-12101 0 obj <<
+12065 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 636.9434 403.5269 647.13]
+/Rect [421.151 601.078 438.087 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.373) >>
+/A << /S /GoTo /D (page.349) >>
 >> endobj
-12102 0 obj <<
+12066 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.5691 624.2709 511.5056 635.1748]
+/Rect [386.59 577.168 403.527 587.354]
 /Subtype /Link
-/A << /S /GoTo /D (page.411) >>
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-12103 0 obj <<
+12067 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 614.4726 362.2721 623.2197]
+/Rect [487.411 564.495 504.348 575.399]
 /Subtype /Link
-/A << /S /GoTo /D (page.412) >>
+/A << /S /GoTo /D (page.413) >>
 >> endobj
-12104 0 obj <<
+12068 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7475 600.3606 494.684 611.2645]
+/Rect [477.748 552.54 494.684 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.419) >>
+/A << /S /GoTo /D (page.420) >>
 >> endobj
-12105 0 obj <<
+12069 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 566.4876 501.5784 577.3915]
+/Rect [484.642 518.667 501.578 529.571]
 /Subtype /Link
 /A << /S /GoTo /D (page.101) >>
 >> endobj
-12106 0 obj <<
+12070 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 554.5324 475.0182 565.4364]
+/Rect [458.082 506.712 475.018 517.616]
 /Subtype /Link
 /A << /S /GoTo /D (page.133) >>
 >> endobj
-12107 0 obj <<
+12071 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 542.5773 476.6719 553.4812]
+/Rect [459.735 494.757 476.672 505.661]
 /Subtype /Link
 /A << /S /GoTo /D (page.243) >>
 >> endobj
-12108 0 obj <<
+12072 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 520.7242 362.2721 529.5709]
+/Rect [345.336 472.904 362.272 481.75]
 /Subtype /Link
-/A << /S /GoTo /D (page.313) >>
+/A << /S /GoTo /D (page.314) >>
 >> endobj
-12109 0 obj <<
+12073 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 495.4739 438.0873 505.6605]
+/Rect [421.151 447.653 438.087 457.84]
 /Subtype /Link
-/A << /S /GoTo /D (page.343) >>
+/A << /S /GoTo /D (page.345) >>
 >> endobj
-12110 0 obj <<
+12074 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 471.5635 403.5269 481.7502]
+/Rect [386.59 423.743 403.527 433.93]
 /Subtype /Link
-/A << /S /GoTo /D (page.369) >>
+/A << /S /GoTo /D (page.371) >>
 >> endobj
-12111 0 obj <<
+12075 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 458.8911 504.348 469.795]
+/Rect [487.411 411.07 504.348 421.974]
 /Subtype /Link
-/A << /S /GoTo /D (page.406) >>
+/A << /S /GoTo /D (page.408) >>
 >> endobj
-12112 0 obj <<
+12076 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 425.0829 362.2721 433.9295]
+/Rect [345.336 377.262 362.272 386.109]
 /Subtype /Link
 /A << /S /GoTo /D (page.154) >>
 >> endobj
-12113 0 obj <<
+12077 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.1087 411.0704 513.0452 421.9743]
+/Rect [496.109 363.25 513.045 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.209) >>
 >> endobj
-12114 0 obj <<
+12078 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 377.2622 362.2721 386.1088]
+/Rect [345.336 329.442 362.272 338.288]
 /Subtype /Link
 /A << /S /GoTo /D (page.155) >>
 >> endobj
-12115 0 obj <<
+12079 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.9877 351.2946 499.9242 362.1985]
+/Rect [482.988 303.474 499.924 314.378]
 /Subtype /Link
 /A << /S /GoTo /D (page.178) >>
 >> endobj
-12116 0 obj <<
+12080 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.3043 339.3394 498.2408 350.2433]
+/Rect [481.304 291.519 498.241 302.423]
 /Subtype /Link
 /A << /S /GoTo /D (page.197) >>
 >> endobj
-12117 0 obj <<
+12081 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 317.4864 362.2721 326.333]
+/Rect [345.336 269.666 362.272 278.512]
 /Subtype /Link
 /A << /S /GoTo /D (page.255) >>
 >> endobj
-12118 0 obj <<
+12082 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 282.2734 425.2551 292.46]
+/Rect [413.3 234.453 425.255 244.639]
 /Subtype /Link
 /A << /S /GoTo /D (page.67) >>
 >> endobj
-12119 0 obj <<
+12083 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.6419 257.6458 496.597 268.5497]
+/Rect [484.642 209.825 496.597 220.729]
 /Subtype /Link
 /A << /S /GoTo /D (page.96) >>
 >> endobj
-12120 0 obj <<
+12084 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.0817 245.6906 475.0182 256.5945]
+/Rect [458.082 197.87 475.018 208.774]
 /Subtype /Link
 /A << /S /GoTo /D (page.128) >>
 >> endobj
-12121 0 obj <<
+12085 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 233.7354 476.6719 244.6393]
+/Rect [459.735 185.915 476.672 196.819]
 /Subtype /Link
 /A << /S /GoTo /D (page.237) >>
 >> endobj
-12122 0 obj <<
+12086 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 211.7628 362.2721 220.729]
+/Rect [345.336 164.062 362.272 172.908]
 /Subtype /Link
-/A << /S /GoTo /D (page.309) >>
+/A << /S /GoTo /D (page.310) >>
 >> endobj
-12123 0 obj <<
+12087 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 186.632 438.0873 196.8187]
+/Rect [421.151 138.811 438.087 148.998]
 /Subtype /Link
-/A << /S /GoTo /D (page.339) >>
+/A << /S /GoTo /D (page.340) >>
 >> endobj
-12124 0 obj <<
+12088 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 162.7217 403.5269 172.9083]
+/Rect [441.076 138.811 458.013 148.998]
 /Subtype /Link
-/A << /S /GoTo /D (page.365) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-12125 0 obj <<
+12089 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.4115 150.0492 504.348 160.9532]
+/Rect [386.59 114.901 403.527 125.088]
 /Subtype /Link
-/A << /S /GoTo /D (page.401) >>
+/A << /S /GoTo /D (page.366) >>
 >> endobj
-12126 0 obj <<
+12090 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 126.8562 425.2551 137.0428]
+/Rect [406.516 114.901 423.452 125.088]
 /Subtype /Link
-/A << /S /GoTo /D (page.67) >>
+/A << /S /GoTo /D (page.367) >>
 >> endobj
-12127 0 obj <<
+12091 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 102.9458 425.2551 113.1325]
+/Rect [487.411 102.229 504.348 113.133]
 /Subtype /Link
-/A << /S /GoTo /D (page.66) >>
+/A << /S /GoTo /D (page.403) >>
 >> endobj
-12128 0 obj <<
+12093 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-12065 0 obj <<
-/D [12063 0 R /XYZ 90 757.9346 null]
+12097 0 obj <<
+/D [12095 0 R /XYZ 90 757.935 null]
 >> endobj
-12062 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+12094 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-12131 0 obj <<
-/Length 2346      
+12148 0 obj <<
+/Length 980       
 /Filter /FlateDecode
 >>
 stream
-x�śmS9���)��쪳гFy��b
��nok�C\6g̱�O�xF#Y3�!���Vj����o�R�Ր6����%Ҍ����

ܙ�?����~�|����b���T���I����7�
�&�_G�Op�!,�qd?��O���{).�$����~�
nL��a�t&/�
FDk:x��Uo��.��8?�/�M� k�A�� ؼ��
eK�†|6"b8[?��������,?^|[��?޽�p�_|�=���{UTjD��j_EP���]is������8�د�Q�H_;�Ŏ�g�P��b`ځ��
-�Hh)k7	(���� %�k�#TG؉��n �T*����"��)"
��zq�@�#*p�&�4{�MLv���(�b$�k�w�#"��YɔM�,M��z3�[-g�-ydn"ʄ�R	d�I%�8��?�!�ȯ
��h��Qi.v��R���d�f�Ü)��,f��?�q�������O-�v���o���7��ze^l�y��R��1ƓKRe?�4̴�o����G1�X��;�*��l��iĔ�&��FT
_��y
I��'j�����V�]��FH�l�(�|'�h�.��f[�T!Ny����8_��V�˛|��[�3��a�\<,�;o�Uo��$��,�����ϙ%��P�u��U멆2��z�J_���{��ޏ\� �W{P�L1�M�'2�6����b�cv����0��Dڽ�� s̙s,k�c�~�
�U�
R!ɳ��X�M�� �XAxP��Zb��5a6�ޚx���y��i�G��*��֤5k �!�T�%�`��v/��@��̊����+
���J�:Bf�1V��K`�2�Lչ�� %�3+Pr�Zb���X��Cɵ@���J,�k�� J� NN��+
��Ăe���CZ���������r�k�$"[~g��ǯ_��r3_ߎ
ή�R�;C�
psq��+g [...]
-��Q�����L����G��-�2ѝ�7 "T����@UKیϪ��|�[�1�#�{�� B�,A(�o%�B�4 at Ld�ioS�I�
��I�� Uf)@�~; P�
q��$;�|��
�������x�� ���R��vT��E�0L1�]�{EE2$2����@�*��@�
�jQa�$�'���Ao���H*�=�� %g���R�U
%�Q��
0]
�_P����{� ^�Y�W���
T��D�2,�����kR.��!�Qy T�Y
-U�ߎ
-T��G��%���� Q�4ǯ�=o �2K
-�����Hg��v"Z#�p�t� ��YQ�ߊV5�H�V�J�㑦��
-(�"w�4 D�2+(�vJ�~;%P�R�
)JHf���&��'q�=����,5��vT��E�4��W97�1�BT�W��7 "T����@UK��8g����t$�������鈉����U�!��W$�7 bV������@U�L�/���^4�#`� 1ȴy�!�W���Z�=�8F����e:݋��8��
���*���{����>���g�P�E?��N{�U~��|$�pj��[g���n]"50�c#��5�Դ@I+h����N��v�9��O��I�[:b�)�P#�T�)��$!Ŷ%��iح�ģvs�~S�
�"�ZS�{3,�������Y��f�θj{��������YA�5*���jD�֋ٷ�9��БQ�#���/޵g��'�b�ř�Q �8,K�L8����tN����6KĎb��\1�(��6��

��-��ADj��
n����5N�-��c~r4���?�
M���-����Y
��G^Y
��Y
Jּ���kbw����@u�%�H�����+�����ִ�VK�����q��u
x��c��o�/5,�Y���:X�!��uv�gd"Ϙ��̳�UV�����%k\�9���f��o���z~��{��� |�o�F�M���\dRu=Ow�����o�Ţ�-S$V��J�:���zAz��+;�uc��ج�Dv=mw��s��o�p�Ycͤ���۝UB�=���om�"��L=��y�x*_�'��#��n��#Sk��3�5�SR%t㖃�:�
\o�
���d�	��%��&Sّk��rjL��Gcj
 ��*�Vwl���m�7�O��_FB
���Of������?�����̺�X-��P����ј�E�b>����
-��r�����kP���o�*���?:S��F~�5�l
�����'�\<��b���x��s¬�J�q����(�% �2��&<��v��2zX��;�X�f�Ņ1k
-�PH�endstream
+x��Y�s�8��_�o3gL��V�㮂�z���PE˜���_����֫27s3:&!���>y_�
�@�]�q*�[�T����bH
�	x�:f�u/q>
�!"T��>�4�4WZN�k�Vp�6ѡ�0^T
� 0� ��Q��h�*~����U�.�v�`$�
+��BDI���wY����A�񩌑䎽_S">�P�+ࡪ$Q}�<CU��b

�1<4;���n��
�p2-���"���pL��\���m2&��.���'o�]���˟��n��~r�<NƁhA�@��r�c�8n��m�Or�+j�t��8vga��s�J����U���%�	����w��gV�1�F�d5�&��CQ�sQ5�
�"��e�Hk�/�<4
'�4sEq�����+%���E��K���������	n�����/����
m�#��΀
�ϯ���y�
�fg��h
d
I���k�]�nQۭ2|m;e�v�[v�l&�eH��'AvY�=�{V�4�a����S�
ޔ�~��<�^4�_��ʆ"}p��B� /�O�l�u{鮨jHT�P|?�}ͣ�,Y�;�ۮ%�D�����y�-� zv
��@�Hra��A�i��{�챡�8�K�d
��a��%��c����ǹ�6�{��=y�bE+2L�����`��ɥWH��u̡�L�
���^°5����YB	lkл�~,4)�v�{q��
[=3��'^����qozZT�C�J� ww���u񍦪�����7sP5`��}
+��~0{u��3�"�z�Aś'�ߝ�"q7b˘
�N���Ŭ��n
�e#�
]a
��z��
�W�Z�\Z�e�'ON�_��T��dՍCYe���/2!�2���`�γ򟈠�S"��0���q��9�rU�j{���̽����9�i!;��B\�����8��j��z
�K�
+��C?�EѼ����kPW�F�!��-B���D�q�gH
�whMoF
+endstream
 endobj
-12130 0 obj <<
+12147 0 obj <<
 /Type /Page
-/Contents 12131 0 R
-/Resources 12129 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 12061 0 R
-/Annots [ 12133 0 R 12134 0 R 12135 0 R 12136 0 R 12137 0 R 12138 0 R 12139 0 R 12140 0 R 12141 0 R 12142 0 R 12143 0 R 12144 0 R 12145 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 ]
+/Contents 12148 0 R
+/Resources 12146 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 11875 0 R
+/Annots [ 12092 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 12125 0 R 12126 0 R 12127 0 R 12128 0 R 12129 0 R 12130 0 R 12131 0 R 12132 0 R 12133 0 R 12134 0 R 12135 0 R 12136 0 R 12137 0 R 12138 0 R 12139 0 R 12140 0 R 12141 0 R 12142 0 R 12143 0 R 12144 0 R 12 [...]
 >> endobj
-12133 0 obj <<
+12092 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 719.9123 280.1157 730.8162]
+/Rect [196.819 720.63 208.774 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+12098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.819 696.719 208.774 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+12099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.161 672.092 280.116 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.97) >>
 >> endobj
-12134 0 obj <<
+12100 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 707.9571 258.5368 718.861]
+/Rect [241.6 660.136 258.537 671.04]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-12135 0 obj <<
+12101 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 696.0019 260.1905 706.9059]
+/Rect [243.254 648.181 260.191 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.238) >>
 >> endobj
-12136 0 obj <<
+12102 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 674.0293 145.7908 682.9955]
+/Rect [128.854 626.328 145.791 635.175]
 /Subtype /Link
-/A << /S /GoTo /D (page.309) >>
+/A << /S /GoTo /D (page.310) >>
 >> endobj
-12137 0 obj <<
+12103 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 648.8985 221.6059 659.0852]
+/Rect [204.669 601.078 221.606 611.265]
 /Subtype /Link
-/A << /S /GoTo /D (page.339) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-12138 0 obj <<
+12104 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.2662 636.2261 278.2027 647.13]
+/Rect [261.266 588.405 278.203 599.309]
 /Subtype /Link
-/A << /S /GoTo /D (page.417) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-12139 0 obj <<
+12105 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 612.3157 280.1157 623.2197]
+/Rect [268.161 564.495 280.116 575.399]
 /Subtype /Link
 /A << /S /GoTo /D (page.97) >>
 >> endobj
-12140 0 obj <<
+12106 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 600.3606 260.1905 611.2645]
+/Rect [243.254 552.54 260.191 563.444]
 /Subtype /Link
 /A << /S /GoTo /D (page.238) >>
 >> endobj
-12141 0 obj <<
+12107 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.1606 576.4502 280.1157 587.3542]
+/Rect [268.161 528.63 280.116 539.534]
 /Subtype /Link
 /A << /S /GoTo /D (page.98) >>
 >> endobj
-12142 0 obj <<
+12108 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.6004 564.4951 258.5368 575.399]
+/Rect [241.6 516.674 258.537 527.578]
 /Subtype /Link
 /A << /S /GoTo /D (page.129) >>
 >> endobj
-12143 0 obj <<
+12109 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.2541 552.5399 260.1905 563.4438]
+/Rect [243.254 504.719 260.191 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.239) >>
 >> endobj
-12144 0 obj <<
+12110 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 530.6868 145.7908 539.5335]
+/Rect [128.854 482.866 145.791 491.713]
 /Subtype /Link
-/A << /S /GoTo /D (page.310) >>
+/A << /S /GoTo /D (page.311) >>
 >> endobj
-12145 0 obj <<
+12111 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6695 505.4365 221.6059 515.6232]
+/Rect [204.669 457.616 221.606 467.803]
 /Subtype /Link
-/A << /S /GoTo /D (page.340) >>
+/A << /S /GoTo /D (page.341) >>
 >> endobj
-12146 0 obj <<
+12112 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.2662 492.7641 278.2027 503.668]
+/Rect [261.266 444.943 278.203 455.847]
 /Subtype /Link
-/A << /S /GoTo /D (page.418) >>
+/A << /S /GoTo /D (page.419) >>
 >> endobj
-12147 0 obj <<
+12113 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 459.6084 208.7738 469.795]
+/Rect [196.819 411.788 208.774 421.974]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12148 0 obj <<
+12114 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 435.698 208.7738 445.8847]
+/Rect [196.819 387.877 208.774 398.064]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12149 0 obj <<
+12115 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 411.7877 208.7738 421.9743]
+/Rect [196.819 363.967 208.774 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12150 0 obj <<
+12116 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 387.8774 208.7738 398.064]
+/Rect [196.819 340.057 208.774 350.243]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12151 0 obj <<
+12117 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 363.967 208.7738 374.1537]
+/Rect [196.819 316.146 208.774 326.333]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12152 0 obj <<
+12118 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 340.0567 208.7738 350.2433]
+/Rect [196.819 292.236 208.774 302.423]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12153 0 obj <<
+12119 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 316.1463 208.7738 326.333]
+/Rect [196.819 268.326 208.774 278.512]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12154 0 obj <<
+12120 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 292.236 208.7738 302.4227]
+/Rect [196.819 244.415 208.774 254.602]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12155 0 obj <<
+12121 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 268.3257 208.7738 278.5123]
+/Rect [196.819 220.505 208.774 230.692]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12156 0 obj <<
+12122 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 244.4153 208.7738 254.602]
+/Rect [196.819 196.595 208.774 206.781]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12157 0 obj <<
+12123 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 220.505 208.7738 230.6917]
+/Rect [196.819 172.684 208.774 182.871]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12158 0 obj <<
+12124 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 196.5947 208.7738 206.7813]
+/Rect [196.819 148.774 208.774 158.961]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12159 0 obj <<
+12125 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 172.6843 208.7738 182.871]
+/Rect [196.819 124.864 208.774 135.05]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-12160 0 obj <<
+12126 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 148.774 208.7738 158.9606]
+/Rect [196.819 100.953 208.774 111.14]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12161 0 obj <<
+12127 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 124.8637 208.7738 135.0503]
+/Rect [413.3 720.63 425.255 730.816]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12162 0 obj <<
+12128 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.8186 100.9533 208.7738 111.14]
+/Rect [413.3 696.719 425.255 706.906]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12163 0 obj <<
+12129 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 720.6295 425.2551 730.8162]
+/Rect [413.3 672.809 425.255 682.996]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12164 0 obj <<
+12130 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 696.7192 425.2551 706.9059]
+/Rect [413.3 648.899 425.255 659.085]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12165 0 obj <<
+12131 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 672.8089 425.2551 682.9955]
+/Rect [413.3 624.988 425.255 635.175]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12166 0 obj <<
+12132 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 648.8985 425.2551 659.0852]
+/Rect [413.3 601.078 425.255 611.265]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12167 0 obj <<
+12133 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 624.9882 425.2551 635.1748]
+/Rect [413.3 577.168 425.255 587.354]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12168 0 obj <<
+12134 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.6691 600.3606 491.6056 611.2645]
+/Rect [474.669 552.54 491.606 563.444]
 /Subtype /Link
-/A << /S /GoTo /D (page.422) >>
+/A << /S /GoTo /D (page.424) >>
 >> endobj
-12169 0 obj <<
+12135 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.2578 576.4502 513.1943 587.3542]
+/Rect [496.258 528.63 513.194 539.534]
 /Subtype /Link
-/A << /S /GoTo /D (page.425) >>
+/A << /S /GoTo /D (page.426) >>
 >> endobj
-12170 0 obj <<
+12136 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 553.2572 425.2551 563.4438]
+/Rect [413.3 505.437 425.255 515.623]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12171 0 obj <<
+12137 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 529.3468 425.2551 539.5335]
+/Rect [413.3 481.526 425.255 491.713]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12172 0 obj <<
+12138 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 505.4365 425.2551 515.6232]
+/Rect [413.3 457.616 425.255 467.803]
 /Subtype /Link
 /A << /S /GoTo /D (page.65) >>
 >> endobj
-12173 0 obj <<
+12139 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [413.2999 481.5262 425.2551 491.7128]
+/Rect [413.3 433.706 425.255 443.892]
 /Subtype /Link
 /A << /S /GoTo /D (page.66) >>
 >> endobj
-12174 0 obj <<
+12140 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.5904 435.698 403.5269 445.8847]
+/Rect [386.59 387.877 403.527 398.064]
 /Subtype /Link
-/A << /S /GoTo /D (page.372) >>
+/A << /S /GoTo /D (page.373) >>
+>> endobj
+12141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.516 387.877 423.452 398.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.374) >>
 >> endobj
-12175 0 obj <<
+12142 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [459.7354 411.0704 476.6719 421.9743]
+/Rect [459.735 363.25 476.672 374.154]
 /Subtype /Link
 /A << /S /GoTo /D (page.243) >>
 >> endobj
-12176 0 obj <<
+12143 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 387.8774 438.0873 398.064]
+/Rect [421.151 340.057 438.087 350.243]
 /Subtype /Link
-/A << /S /GoTo /D (page.343) >>
+/A << /S /GoTo /D (page.345) >>
+>> endobj
+12144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.248 315.429 508.203 326.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
 >> endobj
-12177 0 obj <<
+12145 0 obj <<
 /Type /Annot
 /Border[0 0 0]/H/I/C[0 1 1]
-/Rect [271.0754 56.1662 386.0442 66.1288]
+/Rect [292.185 56.166 407.154 66.129]
 /Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
 >> endobj
-12132 0 obj <<
-/D [12130 0 R /XYZ 90 757.9346 null]
+12149 0 obj <<
+/D [12147 0 R /XYZ 90 757.935 null]
 >> endobj
-12129 0 obj <<
-/Font << /F65 357 0 R /F52 341 0 R /F67 366 0 R >>
+12146 0 obj <<
+/Font << /F63 374 0 R /F50 339 0 R /F65 376 0 R >>
 /ProcSet [ /PDF /Text ]
 >> endobj
-9193 0 obj <<
-/Length1 765
-/Length2 1314
-/Length3 532
-/Length 1876      
-/Filter /FlateDecode
->>
-stream
-x��RiXSg���&"��  J�,1�Va)(D%Lcr�\
a��P����
-�EY�"������HG��	E+[P�>C�������y�����}F��x;.r
rD�b<H m ��� �@"�c��h"�-��[
�  �j8B��
�gC���1F 
	���� 1`Bí�(�� �
�`��A�@��a�o�Cb	�����
a��" .� 戁�P ,��<�y@y[憇�oE@�0�)�d�&���"B��B<
�
�O��^��6�;����l���zR�0_�B�Ő` \H$�H=
�5ǀ�p�`c�E���
;a ��d���9�Q�s� 
���!!w�y~�>����n�G��
�zӓ

�LI(��`�c�,IG�H�A9Q��_�6
�
9dk�-�%�%�#2
��
EP��1� D��-�<�� a��- b�Z�
$İu����G���%�� ˇ�V� ՚z�?��p���/�<����ӄ�(���
 
ۄ��g�>C/|�
��U��y/�:˖�b�V�OT�̈́vϩ%�å��S�7�\
yT��ݩ�hob�Z��\~���
��B[^K������d�?�֚�<6\���.w{R
-��.���a`e�LHLר
��5�w:��w�-
��R�8�"��6-���U�v�!C�Yԋy
����[I�(�X�	ї��R���~�b at h���tW�������֠|a0iMSʝ
m/eVGX
q�n��B�N�U�����ɱ� ����.EʼnG��l����J&:���v�TY,�Yʼn/��K?:$��6�����*���Yͅ�N
��R��ff�=������5�##������-�g�j�FS�
-]�	Ƶ|d�/s]�%Ӿ
К��)��#1^so��~Λ
���S��d#���6�
���f��<^`�3�`t1�,��+��.���$:Cy�����鯓���G1M������Ծ��7�ML�P
-d�ѫ��A��V�^�?�_����{��U��ϰ`��$_�)5���%�z�p�i�mYw
��r6��k7b>߁
?�o�ʌ�Nn_��2��|�~*�F��7*{�Ew�|�XB0�����h8��������L���j\V�>ْ����2�yM�@��;ތ�mDѰ���vGr�>�R�+(�n?'�i,&X:93��h=���jS|&MG��g��
jyw�멞5U��ͲؒEte�!����b�C����f
�k"����zr�H�v�l�CQ�ѕDK��KC�ꛚ
S�,G��N2�y��d�(y�,����D8��V�T����k_��8Pϣdž6vc_)�M�“�Q�ğ>;�4���$��}��
d�+���AD
�Iм8�kQ0�$��u��T5aK�.PP�s
�W��y��,�.<:��h�TR�2_��="aj�ڥ\b.�1AS������c;�F�-��n7{Xu&�?Q�UFj�I�1D�۝K3�3|��\�@�J_w��R�K��=}���0]�
����eQc�m�s�z�u(�2��c�"�
�UB���^�-[���<S�WW�>nx&}��Z������Y�X��*j=����՗�-�w4�F��~k�73�B�T�|_���^I(�P=m�+��K�?��O=Y���A��kΡ�O��N�G��K������
��F4���6c�ֿ�6���+�/U u���Gc.��t�r^��e�U
�\���c���
D:��;�J�{��>�A���V>�+�����g��j��{�1���>@���:ҿ�$�����o&���o]���z�Di< �Dp�O�f��p*���wI�7�]
���2
>ˈ�M��4��'޵@�/�_�
>��[��
�*�]endstream
+12150 0 obj
+[511.1 460 421.7 408.9]
+endobj
+12151 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
+12152 0 obj
+[722.2]
+endobj
+12153 0 obj
+[525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525 525]
+endobj
+12154 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
+12155 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
+12156 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]
+endobj
+12157 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
+12158 0 obj
+[761.6 489.6 761.6]
+endobj
+12159 0 obj
+[826.4 531.3 826.4]
+endobj
+12161 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
+12162 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
+12163 0 obj
+[686.6]
+endobj
+12164 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
+12165 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
+12166 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
+12167 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
+12168 0 obj
+[575 575]
+endobj
+12169 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
+12170 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
+12171 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
+12172 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
+12173 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
+12174 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
+12175 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
+12176 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
+12177 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
+12178 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
-9194 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12178 0 R
-/FirstChar 112
-/LastChar 115
-/Widths 12179 0 R
-/BaseFont /BVHLFZ+CMTI10
-/FontDescriptor 9192 0 R
->> endobj
-9192 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /BVHLFZ+CMTI10
-/ItalicAngle -14.04
-/StemV 68
-/XHeight 431
-/FontBBox [-163 -250 1146 969]
-/Flags 4
-/CharSet (/p/s)
-/FontFile 9193 0 R
->> endobj
 12179 0 obj
-[511 0 0 409 ]
+[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
-12178 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 112/p 113/.notdef 115/s 116/.notdef]
->> endobj
-7252 0 obj <<
-/Length1 805
-/Length2 2096
-/Length3 532
-/Length 2681      
-/Filter /FlateDecode
->>
-stream
-x��RWXS�
B�U9� 	hH �41tD��bLN ��`0��0D�����8vE�.8H��
-HqBQ�u�f��x�����/{���k�������K���V���D����z g�B����i �A��8h�

�!d@[@����j�� s(�E#2 �9�3I�R@	���8F H�h�qd�“@
	`�d���	:�
�AZ(H@��h�@�3��` �
-��lɖJ� ��eBH�V(H�sL�/6 �$��Y $´
 �m ������V!d���Y�sP�h�($2�OD	a�4�
"�4��Tw�7{�@
-�|ߵe��$<�@��h
��Z'ѭHL��Hb�"�L��A*�{'�����r�t�
��:�/=G
��pe� �/���
s"����7
-�B�9D������.K*
"�����
���p,�#���
��� 2��1���B
��L$@�h��S���"|��	р�7h hQ��h��7�h�|���33��yV{�u9~�1h at _�o<|�R_^'�o�H���L
��Fq�.���"ʲ���AW�,�{�[��L#${�H��v����F,^��J4cޮZ�@�})w��?$�*$�(�r�]ij}����=j�䜝
V�
-����Luu,�7��C3h�B��s��+QA�
/�.T_e�|�j��n�ǒ�?�YCE�pI��O֪��\�HO�
�L��<{���%o��ExE
������Ύ�v���QooH��
-V
��6H�G'jS0�Q/�/>
��
��T���>��f��fO�y~(_��c�67��F�0�B�ⶳ��N�5GJM��n'��,'��S���n�
�q��2�__��^i����9�U
�n=�G��!"J�d5L����ެrو
�
8Q�/J�tV�m��,��(�KRt!�S\yN�{��լ��
����P�y
he]\h>e)��]y�}w���i)3���>,
���G�q�޽*��=S��p������Fn���:�e�
Ny��6
-cC��9�	^�
qK��}N;�s�)���


�s��N/Ow ���"
�!�O.���7ۣl�[�.�@s)�3L�h��1��A�E�jo^[w�=+;[����F��Ȼ�����A���e�8�B�_nD��

W�\3�6�˻XU�|�r�a��,&}V��ӂ��
;ۏ˱��)�
F��r�zT�1آ�Dm�Lg�w`E�K�D*��'�3��\�H���b��7�[Ğ-]�\eI&6�=�Jz/z�!?��mF�2�3��i
-}��O�'��/\�%ө�VҘ�1n�y^},��T���q)>�Kw#B��t�s��'�D��T"�yO4V4��ډ�g�0	V[-��lG���BqJ��L�y����II����퉙Ap�{&�r�qF����䊧%F]7�]1}���>�3Ֆ{�n+�I�����S�8u;��E"v��&Ov�q�px�3�Ge��,���{O�
���n���dw�ɬ��n
[L���ƫ)�+,f��u�����7��o��� a[Fr�t�0	\
{X�h9j�2v��u��)]�������
���kƲ���gݷ����-m"�
xO

ۡ�繑�Æ�
-�I]�7���S5d��ʓճo��q��1
-�y?&k(�Y�ຓu�
�5a[��+Op�����0�p�, at W�96 �'󶂾^1a�W��{�cܐ�6CMˋ������%�V�ޚ�	��nj�&&�9���6�n���n�A*�oV���
�ݶ�Y59�*��^P�Ӹ���J"t�eo^l���C�3���v�7�0z�{�<�WJXJ�	�|�4�������7�
�3YI�b���-;<�}�A`��9�Ŷ���
�����fc�+�9
͹D[UW̒�'qvS0��2�e1�y�]�i׸�%�t0v�)F�@d��L�yMM��.��D̙��|U��͚䪽'��Ļ��dtr�6�V�p)N	�!��K��k7���hOtgM�o������K��h��#�
7<�&��6+q��,��	w
��f��p�Qbvr��$i���FFQMr�̯�&=���1�='+�_j�\;�{�~㒶��V�+y#��CtK||�7Y��j
1�Eŝ������[P��x�2r�Ʃ
A�fw��:tkϳ�*�����S��~�
+IJeBb�\�Q�>�Z��~�z [...]
-�޹A���O�Q~K*�a~��x��V���������K�i�OM��w#�T��v�ħ{,�
�	�͆jᪿq(:
[@�����|~��u�ڻ����'��|�V~KY���{���
=���1o1ץ%��m�\�x���
�_�J�g�u��V�L�ؑ4~����d�Y�ݥ)���{:�r�e�5�E0�M��~�E�w�&_����
��<b��A��[�

-��]k,]��Z>�h
�
{��	-4˫r���T
-_1B�e*?��,
:���/�����
KMӹ�]�����f�J�ߋ��NO�Mϝ�~��k�������	���I�Y��C���������DJ�
�������^���,+�>;
���.�S��
���w�x8����Vt �?�`�����A
�Qp� ؿ �)~�endstream
+12180 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
-7253 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12180 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 12181 0 R
-/BaseFont /VYEPAL+CMMI6
-/FontDescriptor 7251 0 R
->> endobj
-7251 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /VYEPAL+CMMI6
-/ItalicAngle -14.04
-/StemV 85
-/XHeight 431
-/FontBBox [11 -250 1241 750]
-/Flags 4
-/CharSet (/d/e/m/n/u)
-/FontFile 7252 0 R
->> endobj
 12181 0 obj
-[642 589 0 0 0 0 0 0 0 1094 770 0 0 0 0 0 0 737 ]
+[472.2 472.2 472.2]
 endobj
-12180 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 100/d/e 102/.notdef 109/m/n 111/.notdef 117/u 118/.notdef]
->> endobj
-5191 0 obj <<
-/Length1 801
-/Length2 1236
-/Length3 532
-/Length 1808      
+12182 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
+12183 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
+12184 0 obj <<
+/Length1 761
+/Length2 1188
+/Length3 0
+/Length 1725      
 /Filter /FlateDecode
 >>
 stream
-x��Rm<T
�������R�C��a^0�Lf��o�_�̜1G3sƙ�2n�v	�
-��ʖ��
]�nTԍ4�u�B^nhYrW�؃��o��a�����/�y����?��<�f~�Dw‚�PB$ے�f��L(�d��%
�@	��� ;9Q�@H�i ��L&9SiK�	Jx@ &`!|���x� $���`a����٠p
	p^6�6
I0[����0��I +������ �|>��! 1��A
[�
p`�`AѰ�`���K�E �z�#}(�A�7X�f��*�1|p.���� |���P�R>������E
�|l
�)�C�F@(�>��R�ƪ���lwa4H�)X̀ �,a� .�CkyH��(��kM��#��3�a��=��@X(	�D��]E�����VP8� ْHd
���"7�y
-�FG DQ#�p*��p�
�B� @	��v�BD�� "�D�JX��{)�]�j��K

H�	"ND����L��N��_�l)�BB��Y��sa|o� �	��#�}�1_]O�N�,W\Vۭ��m�OCۓ?h�
|�¯zp(v�����O���wĿ7g�&�?d�I��+�W��E�ˏ�0��3�W"�׺-���
T|{���
Wt�����y?�A?�}�
��~6ՑƐ�3Ү���Va�1�W��i�QJRL�f���9�U�y�\��g�G������V|D�����
-E`J��Q?�Q�@�&��22Mxɒ��+��
igU�<��4r��M<�|ׂ%s����{P/D��j.!;,۹�M2[�ۓ����6��6�o�\Y�s�S}�|���K�}��=wVu%yzZ�7���gS�^��񦤪�I]�
5��;�n�n���w
-2K-���~4�xi�)�R�
�ԭ&ʺĪ)$J�P	���-�


(E�߇���}�{,�
-|��RO4�:�<��|q{|��O��w�_oGR�f�c:�1I
[f4��B���_?җ@wѱ+�����U�,á�����՗�y3��^��Z���9��ET��Ӯ�;��1�bp,�7��
6G�NF����i�i��
�Y%��F^���ɗ��!Scᄃ����:ɨ��C�}[}#k�8�Lc�Ў>>\N1�Z1Yi���wN�nʶ���u�C��G1�;rj���%���)&*Z1Lmkr^�VÏ��g>{���=�D9�O6w
��o4�J-�a
-��φex� u`3K��{ޅK��U��uw���ůߙl�V+Ș8r�/�J]�'W�c4&?Iϲ���~�h�Kc�r��q�‹����,N���Dvy��usF$�0BU��(��x�MF�Қ�y�
t�-��
����S�������{���ҕ��wܽF����n����
,~�����*��-��I
p|q���[g
U�O�k&��Ӛ�BL5�=�g6�W���N��_U)�*�Zz��g��T���
-��%�ἢ^ۖ_cQ�

-\Z7�5a-�� oz��֬|~�������X�Uʋ����ܱ̇gM
D���8�g�υK��@���2��'���S71W����
�����
�.�������w��
�k��\��ǟt�I��8�fӰ
��̱|�˴%�WZ;��������|�`ix<团]�Ka���
��D,�y7�P#�}?5�5#�}�)�
��!)�O�F&?��
�����'��`_���x�ݗ��U[�L� R�����
�ONA�f�f�1��ȿ
��M\^b����vnq���T[?w��SiXC'��
0�rIj{��?|�'�� `�!� =F�;
���endstream
+xڭ�iTS��A�#��<�
0B	�	���BMD@mHn��$7$!!
QA�29Q\LVA|
��
�	EEE[���PY]O��uχ����������ރ��ALD$Ó$`��$" �D:�Ɔ!�82yrd
���̀	��tќ�4"c�X)��#d �ش(r
BHs9"���" !ڃ� ?�
C2%x�w��BRH"�x
�x0W pX�qXd����.͋�/�!���%�M ��!"�� >Ɓ��� �����asf�@���/9�Q�#��?�P
%�$��� ��C�.�


|4�K��\Q� �w)Xʄ�!�,�F >G ����!j���6O���|���ӥ������.��b��1���D�^*D�����mq
,
+��(�#�p������%X�;D�
=PK��`/�L�ZL��?1�YJ|�[t:
�wDQ��9$
+Pɔ��Qr�$H$[z4�;�c>�z	A���>�u9��tUR�jkAo���6=�:�]��S�"�?S[P��U�����ْ���!ݡOsң�q;��c#3���ɿ
ʍ����e)_��f���Suwj�I{{��΢Ao���e8����J���Vc�����!�s 3W�3�p�������Ȣr���Y:OzU��
n��#�Q�f

�;>�W�
W/5U����F�F-��k+��T��$��W�yUE׻YW,�/w?��c2�5�!47+��j<���X�v�9	�[Z�ܫ��\����9=��kP��@����m�
�-�����ve.�z�I®-�q{�7��kg��~Mi�,�L���V��n
}��8A�
+yq#<��_�R����_�Ҳ(��)��
�V�������MRq�ֵ<Ƈ���~�y�87��F-B��a�4�1���4ǣG2�)Ky��@�f�
K~z�u���U;r��I?�
�-["�Z���uL!_Ǽ�;y{�Rj~������?���������z�ny��a�~V���Ҏ,�����?��@��bw�REλ�>s��)ƿ�c�{ܲ��{TH�-�t7�~�gד�@Ř&�y�8��K{�֩�
���/'�za{Vçf�]#�Y�XϷ�3:+M����
+��Hz5�$�E��JQVjwgu�b��?N�^c;�<�'�6{Άa��M%��M-D<l3��V���V3j�v�J��ԭ�#���k��{f#g[kt�s��+�I��u׍uM�o>��e]�����\hx����Ws�o|2B�p�s�;-�<_�V�sO�yEk�W?�m�U���ƍ����l�L��_�CZ�q��!���7[���2�>;
�����}:��_�|c���)16�s~�QS���]��_���bm�VC��<�
�g��
$RPL��O���7���
+1�b��Ğ��:�q���W�ł�Fu7k��賩j�u�
]�_삂��M|��i�K�6L�j��U9U/��n������Ṻ��k����9���O�n���"��hĹ䃼UW�6��!7
�6�D_��fj{7��F9)Ҥ1-8�dU�j�2Uɤ��U��1kè��ν�����0)bw���#]��e�U�����w[��2��z�8�n��9�#�]3?r����G��(���4����Io�m��7�I�2�ܩ�.��a�~ؼVj�-`�Y�9ի�o;�U�I_
�V�6x��71��_��C�
+endstream
 endobj
-5192 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12182 0 R
-/FirstChar 82
-/LastChar 82
-/Widths 12183 0 R
-/BaseFont /BZQEUF+MSBM10
-/FontDescriptor 5190 0 R
->> endobj
-5190 0 obj <<
-/Ascent 473
-/CapHeight 689
-/Descent 0
-/FontName /BZQEUF+MSBM10
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/FontBBox [-55 -420 2343 920]
+12185 0 obj <<
+/Type /FontDescriptor
+/FontName /LDBHLR+CMBX10
 /Flags 4
-/CharSet (/R)
-/FontFile 5191 0 R
->> endobj
-12183 0 obj
-[722 ]
-endobj
-12182 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 82/R 83/.notdef]
+/FontBBox [-301 -250 1164 946]
+/Ascent 694
+/CapHeight 686
+/Descent -194
+/ItalicAngle 0
+/StemV 114
+/XHeight 444
+/CharSet (/one/zero)
+/FontFile 12184 0 R
 >> endobj
-2790 0 obj <<
-/Length1 831
-/Length2 2352
-/Length3 532
-/Length 2936      
+12186 0 obj <<
+/Length1 1440
+/Length2 5130
+/Length3 0
+/Length 5893      
 /Filter /FlateDecode
 >>
 stream
-x��Ry<��
��0��%‹d�3c'��d	!K3/��̌�Xұ$���dIʖ-r�����R�b,9�!wrι��Ο��u?�}�?���}����<ߟ�����1��
Z�e�
-B0�sqA��
-
n��5%�H
-��7CR@] ���
-I��&��몫2?�,`J �H� 
- 5��F��q 	�B�;$% �15PH,�L at a@
-M0�b�od�	$��� Z�@ h
����<�͓5ޏ h�VF��h�Id�) �gS
`�D�X�� 0{�4���a�{q�,�
��&�����H
K��A�C( 	�#�A�{���9;�	�}ߵ� ��1�
��J��
-�
1T @!��{e���3�=0[�S�g_�^���S\h��~c�ağ�	C<��|L"���������(��T54$���A�ׇ�4�p���A* R��a*x�903��$ȷ�"��0�[�w�
��B杀���/P�Q���p F�
d������11!P�eU5
@K
h���FC��H ��w�����0�}� DA�	����_*�`��S�_��Ŀ���ƾg\1�Y���l��*ݿ�yg��H�n���<�8�i�����;3����Þ�����h�D�����u���4X
ތ����������\G���'��R,M�竚2c5��-����q��դ��҃
/�Ǐ���d펹����/��!_�8rn���l�$F��d���ԏ�+�
�2��
��-
-�<�� ���,m�(M��խ7�L8�V4�X��'9}:�|j=	e��!�-�[�8���ה���xcW}`�v8�0�aT��w[���?lWܶ+F���q�ᴞzLt�Ю7ެT2j~kŬ�~��#���͍��OM�v����
��ݷ���w�7M�Bs�e�4d�$5^�vh��"ii��
E�9���P4�1�JY;�WAj�Aˊ:V�b���[���Y��_��>��'A�N�/�֔
�Ββ��XHȠ>=�ET���6M���8ln�����%<�
E'�롁z	�
T�v�O� �oWyL�
*��X6�c�$�����P���G`6�[����K�yMֱ���202�%!���U\���X"
��x[?K�,�<��C>.�U]i����U�x��iH�l3<
&����o3`���6�S��e%L�J�\�
��ެ�;�tTƟ6=�����4QNC��L�:7e:��A�
�?�z�:��f
.���ג��k��!�W��6�w7�)�<�XY�GԞ(A��� [...]
��借�Y~
S�M]�g�G	��~,�G�]�S�����C�[�r��8��>;?�]{�Fn�[�1�ǎܨ�?�x�SZd��w3�ct*
]��a��v(�_��8��}>b��k�mC��
߆�����@�
|ߧ8�PlI���F���8ٍ؉/ܥ�@E#j���]��A�#�<�<^���Z�]�
�C�W9�^�~^�뫒M�G�T���b3 ����}�C�3�",��R<��:L,+�r�3�C)z����̭
]�@��EQTb#�r��7K���n�!m^�T󪤩Ql[ͤ���Ϡ"���>��T$[�&G(�b;Cp�V�}
~�̓�j�XxFM���&B������,6ժe�(*�3MP����h��H��'
w�Q�1���J0h_ev%þP�~�^`��u�p�ڝyK��'�Xr����u=�M6�.�� �Gr�6�z�:���Y�te-_F��~9�.�@�*�2v��D�
�
�T�vHr<���Ԧ��7
�E
-�
-&��]
۩!4R��j��!Ӑ@r�
��lx8~��XY��Zr��֯�k�1�&Ηe���!׊K�wXK����MD|�0B�Kr�^X`���d���ߒ���!�b

]����|d���1�XA<���^��]ͣ$�q���t�'Ɲt7�Zև���:��ҹ�kZ�ya���T���R�z�c��A.��Su-�a�!g�7��1��F>��Wv^
��\�<`�HZ���ur!U����l��DT3Q5�ӺM�B�7�R�{���Sy,A�b�MA0�Vr�\�Ɂ(�i��`����QS�N�P�3���5��Dl���/H�!��/\un�sh�������'���?L_бk��]����K�K�=˵_��z�:My������?��
:�pqz���mX��V(����	ٌm>w�4��X��j#[��T�U痣��I�B
-��#��0��fжm�8l(�����
�FD�fU�G���(܄�kO-<�������u�pb���#�܃�]�|�͚m����M��?�\P��+��=����:��P~Wo០�{z�?�v[��1��O�)0G
�II��S��J\K�."�v��Ze��EJ�}�rQ!;�W�Y���WB�{��a<z��^����
.�z�
-9�PA3�ý�c2]+���+��֞��
-ۦM
������iu�66�c'�f��\R��������(,�$Q8$)�O�v��endstream
+xڭ�e\����AR
]�AI钆��`�`l
PB:�Ai��F����RJ��A��C�o����:�s��ݹ��~1M
n��%D���� ����
�|  
�cg�
+���@A�@11~���=�_ ���%`<vtrw�Y۠ �9~%� d
 �0+
8@�eq��aea�q��AP�< {{���
H�6	qFC�<@  
�B,!�08�/%e8� �0���?
qF^I�Yr �
��p{w %��p�j�R��������������?��f���
G'����8��N5��KN
��8�M�Q�0+��=���
� s��5a(+ ��
	�
���K\M�������*׿��o�i��tݝ�[�W��5���|�an c�����>����f�p+G0
n
�X8;[�\�����9 ��!n �ە1/�u�p5O �љ����Z:[XA�Ү�����_A{%
��/�
�CD��k;�� ��ƅ�Wr���� |
���I�
~�?��&� ����?�5�?��a&r�\S��;Z�:�p0�t��p�G��9Y8C���Z�����up��z�k�KP�Z���D�
�����?Z
�A�������b����WVH�߯��g"�w
^����� ��~up�G��g�W�}�~u琰�w����'+�����_��/vuҀ�B� ~�?2�\���Q�_nW���®�^]��Ę��C����|/�̡
NLY��(���#���Dc���"8�+
O
+�n�,�,�w=��
m���W�郈J�XF�/'=��k������x�F�X�yo]�ɧ��q���[�k��r�+x�0Z��U����"�
+I�zA�
�d	��`��)W���A?/� �:��m�&��L���
��������!F��e)�

�4�#3�.nȣ��i�<؛>��Tn��.?(�p�;BUz%!�aTk
�z�W�ַh��|�ٻs�aAM��!��
�xEI�
��⧗x�w	n�
+T�36{[�����B6����8�'���QT�l ���^m���
Rø
+I����<h%n�txcu��Z�~��>)R���uWɇ= kۄ�rsr�o��=b2m]e�g�Y	�E�O�᭕_j�
0
Z��152����r�e��)3dLS&��C�� 
+V�������̂���q���Ŵ���+R(�+5ݤ��
����Q���TRb��X�

�)Q�~kj�R�4	��N� ��2AI���ph�i�܏��f�d�3;�Zѳ4��0�7���N�)SKE����q�N�f���ޝ��L>B[*��v��r�Y(�ݒ�� �U�O�YJ:d�T&A9>q����)�6�Mm�@��Up�i.��xC���f��3ż��7�ԭE�LU3b��3i*�XA67����Jni{��{�#?O�O�@3�X�aR�	��b��M�z�0�^
�p���`�e}3z�]P,~�
>`MM>��T2�kE�S��1rٟ0����#V��pk7Ë�,ɥ��(�i�����]
/��jj����
a�*�g�W�<��,3��VUm^@�6����6��
+�0�
}F|^�
Q���Z����
y���v��M�zeՀ+�OKz�H����k,͗���-MO-H��2u���t�:>#��n��s��~KHf��PB��Ab����Y�����ҁ��
U��X3��:7e�F�/� �KQ����>d�D��
�Ño�J� �}f��O}B�LwRVs
� ���ï�K1:|�L�O�Ph��oK���X��dV*��|���N at yK��I�Ui#�V�x�ޟ#ɚ��S�2�53����4B�(J��!��m�i��{�d./	[����,��kfZ
�3���I�!l�>�e*�	�2�
*8�m���@���?ĺG�����V�=�d�}a��p6ˀ�Jc��	�
� ��qntD&G9i����6�
a��������1����9-����{��0��_���A�L��i�g����YƁ�)Z��]%�3"L��1�i|3����/��z�%
���+�����<��}�RP)6A})0��6#-kfv�\Yͣjݦ�n�6�����<N
"#�D�
��ȝ
��_�b
;���G
+���/���
+]� Vf7�Um���'$̖�ry)c�Tr
�^YjT]���D*�B��U~�K�!��d��b�b�c�_��Y��#���Мȼ@��
�~([��Pҝh�'�U�ZV�.J�oÉ@�H��yЭ��}�LQ&�$ָ�Tq�@ۚ��w
�C[�}�E`����e
�0Y�*.N�6�*�_��2�,2��i�)�{<�
���w��nv��� �)A�	�7
rF�o�(��C�2�H	χ��
t�ѻ�+0{����y��=����[��CbZ�\��Hm�[�TFM���܏��*\��N&��D ���N�zVO��D���
+�ha�B���n��>���Y�s!������$�x����m��l�^�M��j���sC"��it��[f�\��곹�f����)��`

���
"{�r�,������6�h(���+�ep�ڱ��>4�
+�.
i�D�Z �$�U�h�Ĕ��Mur6���v����V0�p���.\�x�������ё�BF�9k9<��*eUAzޛ/f�"q%b�E{>�ל�)f�������p�/U����^t�9�@��"�<��9�
����hf��g�u��X\�zJ�w�����ۑk �gc}ahS/��d�ׯػ��Ϻ^��
'"=�0x���cY��|�U� 
�� �F��r�ϣ��5
���|�6i��2`����x1�o�:be;b/�m�LS�تsV5����a旷s|��4��scK�D}U�%��
b���N�}Vt���O912
GĘ��3�D�ICD��ie:w��ag�Ɠ��2p�
w��2n��O�ϒ&Z���LY���{h)ـ+��.p$
ɂ5�\sq
I�0�Z�X[�����8��
�np���ꗗJt���r�����
��Y��'��soɲ�
�h����"�G�3j�6��ao�=��yXU���ٞ0��59)��pQ2�[o��e�&E��_��	�>ɝ�H��
c]���<-'ծ�R�)Q<��Е>�|�y��r=P*��7���
>}��-k;f�<Y�k]]CbZ>r
qvA$�σ�6���d���� �2h[z�D �yQ at 8UF֣%#;cN���ygF��!���@1ȉ�V�N��r��W����
���A
�Q?
�O�wZp�D�
�XVwrTeyn>(��tY��V$.1Ď|�4`S��T،-�%��K/Ӆ�LsHO�^�"16���+R��h���6��j�w��X��ZPw�OUf��xr���k� �SO�	��}�'a0+���d����}
3슧���x�,�
<�aM9�=K�T���og4R�<k�o
������MDX�(�Y�) �^�g���$s��32E�t��&9v��RO�ϖ���J��ۍ��'��sً�"L*��G8���u�㏽'�R�hB	)	��ܸi�G���e�~�g-�f�Էz�_�.�����[�%�޴¦8JM6�^%�,
����k
�wp�;�M-[Lm9~Ěp©��t�O���כn�Rdc�p�*�e:G�
+x��ޝ�"O�f{S	g�F���O�
J��r��,�
��1�������b�|N3��V��-o,��	3���}R�{�Ū�գcB�kG�Ҵ�x�x�9c�G���Z���(����b����W������
�{}o1yV�\��̘�K�~��(D_n#�,���F1]p��9�$���L���p�Ȼ�_3�(N��֎�$��#p��:Uϩ����H
[q�[Om��?��
<���:���A�N�~���Ugl_P�����t
��u�	�P5����A�0��"l$�d�G%�w}��M̈́sZ!�Q���|(�P���h�oy��z|"I���C�q��ڬi> nU�� ����O����(��� ���*���s���aֶ���'��j�)I�P�S"	�$0��g|:'�����Y�ϥ������T�u���R��.�b��-�
⚼L4�)�
�lO?'�R��ٻyC��{
��y��kv�3g��
+gy�T��G��M�"�%^,�NL���a�@�Dr:}<v���kh�wx
w"�ߨ�������+��Dj�ݨ
&^����T��d���4��
?�2
�>k� 9�h��`6��K�3���0��R���"�
�z/���
���Ja2��c�I@˓���υC��È�4��M�X��F��?��
+ry�
^b�L�P*H|�'Q
J
��ω����XG_Eq̊Fͧ�ֽ,0�]����4.�z��)G�A0��f�*}�z�.�nȄ2�>åiw�����~N�e~o$�Z[���c��7�J
Ί9�`��w��_���i:B��Խ_'k_?�q
���欄��
+��o_i7������ֺ
=6����Ôi�@T�-�
f�@[�
/��=TA�
E��V>,�DCn�zU��41��o_����e��vnz�0���c0�1���eH��!#�,;'�s����7Z}3oA��aϦ��X
�D����t��m�tU�H�Խ��lJ7�*g�+�
Yd�u�#��B���<���#(��y���F��q��~x�e�$b�s��%��
Ps��P�4Ӿ���
+�/�I�9j���U�_�`��Q"N�r0uQ�4���yM~�V\�
k�f�B	�n$�=�FvB���U����Q�c�b5]r
^;���F�!V4���N���"��M5v�z,��N��:�1A�4��2�3�Lj>�$����/�0L�R_
���Ʋ	(~aM\�6��a�%u��#�-�4;%��[�t��3��Ex4y����|��ՅC�X���V$�����f�H=����ѭ�ew�������~ǎd)b�B����lX�p�'�{�w�F�
`w��ēH�aIo��eɠ��ѭ�Q���� �x��Մi�1ݷ&��Q�`=��� �*�>d���v
�%%^�GJ�1���tC�mI
j�L.osݚ�&�v���ɏ�Ȝ��dJ�/�+�6��Q�R�}�\�,JY�)N3ep�'���Y�'��;���P�IT}\D�g"�wJ���P�����S�WC�rRdT[�\� 5���
�gs�(�c���� ;�W�YH:t.��pV8�b{��ΎI=�Ѳx�����y����$�-���B�%tt�9\X���-9�Щz,:R�F��[Ռ��\ל���+�r\�睪WL�T�9���<�������
+�M���L�pe����f�\�K=:U�!�Y�V����Kհ+_�F��@�K���e?Q(�
weM�#7�vJ��W� ��K��Q�G��_����O��Ii���տ�����e6-��|�
���DZ{�g
���V�����p�
-�
�b)�
ᬼ���X�Y� 
����2����J /��ݤ1�`��&ѷ�-Wq�K"�O.���1�`�����z���m#3S}Q��1m��X(}'2r�a5P}(�
R�:�\6�+j��NqZ�Q<���� 
y0Kv>�A�_-�(��3���(
3C���[tQ*B	��z��گE�m��B�[t��/%zg|�%���qR5X7f��
~L7�D�9��<PqX �h�1C��
���/
��7Ġ��2
S�L˱29d�T"/Km3��9b�,� E;�����<<��=�Rs��'
E��$l�y�#�G�8nny���'�H�D�ft�����'4>12���Ir�f(�B�8W�G`7��Jgtm披o�݉�����h�OG
�9/Y�oD���	����s6�o˖�I�y[��牢�`tP��r�'/ԉb*!��B��~�
+�~ &�8�H�L�L׾�75.�X�#���
+endstream
 endobj
-2791 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12184 0 R
-/FirstChar 101
-/LastChar 121
-/Widths 12185 0 R
-/BaseFont /KZSQKY+CMTT10
-/FontDescriptor 2789 0 R
->> endobj
-2789 0 obj <<
-/Ascent 611
-/CapHeight 611
-/Descent -222
-/FontName /KZSQKY+CMTT10
+12187 0 obj <<
+/Type /FontDescriptor
+/FontName /XBGHAK+CMEX10
+/Flags 4
+/FontBBox [-24 -2960 1454 772]
+/Ascent 40
+/CapHeight 0
+/Descent -600
 /ItalicAngle 0
-/StemV 69
+/StemV 47
 /XHeight 431
-/FontBBox [-4 -235 731 800]
-/Flags 4
-/CharSet (/e/l/o/r/t/x/y)
-/FontFile 2790 0 R
->> endobj
-12185 0 obj
-[525 0 0 0 0 0 0 525 0 0 525 0 0 525 0 525 0 0 0 525 525 ]
-endobj
-12184 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 101/e 102/.notdef 108/l 109/.notdef 111/o 112/.notdef 114/r 115/.notdef 116/t 117/.notdef 120/x/y 122/.notdef]
+/CharSet (/braceex/braceleftBig/braceleftBigg/braceleftbig/braceleftbt/braceleftmid/bracelefttp/bracerightBig/bracerightBigg/bracerightbig/bracerightbt/bracerightmid/bracerighttp/logicalanddisplay/parenleftBig/parenleftbig/parenleftbt/parenleftex/parenlefttp/parenrightBig/parenrightbig/parenrightbt/parenrightex/parenrighttp/summationdisplay/summationtext/unionmultidisplay/vextendsingle)
+/FontFile 12186 0 R
 >> endobj
-2390 0 obj <<
-/Length1 976
-/Length2 3441
-/Length3 532
-/Length 4103      
+12188 0 obj <<
+/Length1 1501
+/Length2 10189
+/Length3 0
+/Length 11074     
 /Filter /FlateDecode
 >>
 stream
-x��y<���E�QY�l�HY2�e��ط��%ď
�0Ɩ}W��hP���[�d�Z!d�2I$�D$~S�y~O���y�_�u�����]>�羾�%.����Ɛ\��$"E�� �fVp ����u�XG""P�
- SV�ھ�Y( ���)�@eA�.�+����N$t%)�,�F3�
K�k�Qx����a)�`@��~v� VX,���`0 �CS W�e
��Lj�F�
c|��J�a�>tS�ݤ$@��!� �����ka�N�7L�S\��7G~����?�(�_y�˗�%f$
�L�g�-�OkfX
Η�Ϭ�ǡ����X �g磏
�b�8
-�
pC�}���X"�&�������R���i�J!Q8"�&��ߢ?k1�o��
 \���P��������hG�8�"�Q� ����pD
6 ���B�D��з$p#�A?�)�@�`ɤ��?� �D���� ���w�>B�o�����`Pz1�7��o� @p�!���&��0��7�K�~CY ����o�{�
�}�F������
��) H�^!#K�qLYPT����B�/��%R~����b7
��`�X4hr��V��Ȫ�-
�+*c�:�s�!�������i�wzM��^���S��-2/�����
l�\5�;5{lo��e�z塀�g�Y�[/ѭ����G7�X
��+ʹ/��[��X��@ؼ;<#��~��~{N4\�N��?SwFNĊ#ۻ4^>��ϑ�~�6���(=�Nj���)b���s�x?�u�7w
�D
�p'��Q	������s
6��T�B4���ϤfG�s3Pp�F���9���y��șј�����K:�C
��>	��G
'i�};��c)�s���{�q׷оn�l����
�
XWN�g)���][�m׌@�U�g4��5��+pS�4Cݭ2�{H�JVɇM�w���
$�����9�֜ź�ח����jW>$
�<"�-Ⱥ�a�
�X1�﨡������M�?(H�_����	���a��tj߾K1PG�j�h�U��gyf��?L�	6_�a�Vb��nZn
-�o]?�LE�UG��$d���ډ
��4�S�
-mw�T�"O����fx������omi�z��͟��K����(�y�\���}j�eh�]���D/����
-��{�g�[��1~,�
�	
ʽ cF6C�s$�+|�<��W��Ն{
���r�[�wT$�8}����l
��N:�aj�
-�N�+]&��W����=�2g�^����
d߹ِ5`��'�4�C�9,W���Y�.�
J|͢|�Τ�X��
�!��
^N����x�f�4
U��5
-ގ\'�&���B�>��K�i���W]��F>��OhV�={5/��-�H5��C7�G牻�ذ�����B!��]/?�@���0]�#M�w�
-�	���򯿔����
|˔y"ݲzX{3
-�ӄ�owq?0_�se�ĉ����RL���&l�x�H�/Vlw�
ɕ.f�l�phi�ur��(\�Y��f��,��ъ���q�-��U>�o4q,��&�{_�?����Iyݥ�(�i\)��qAʗf��Σ��
s�D�~l=�K�|���J��f(l�o�ҥ5��u���=�Az+�A��q�&�׃ۡ���=o1����S{�e� ŗ����n�Fޅ
k�$Ͼ��曁]��VcC��`"��#���p���)����Sv��E|�ý�~K�����j��G󎫑+|��5�/η�cc���;�
-��M���
*�:���4sB�n �¢���κ"�����숡�K7�
�K��Lk5�9"��g����-�f�;�&4�F��73�z����P] �ʝm���Ŕ�
u
��w��iJ�D��038*�X����c�aYԬvF\���dS.�h��Vk'#E;��-bt9�����v�4��
��h.�|��F�X���$�ۥ�v5\Ͱ��sl��{��)�U�������[�K�)io�����k�r�x���p���= �z9���-��/�Qd���ˆ
U3<Y�����dɨ%�y�
NҍS�]�Dg�q�H�����+LC�%�Q"��qj־�o
-	�ɴ�]�K5q��S&{E��j;v��
��
}=\<�Z�J��
�e�X����a�}��d��t��̈`�[�~tp�^ۉ��>GTW�&��T�A���.�|ɘ����3GnO_+<hmo|�i:ͩ
-�G��h���
-��ahG�(��=.I&k'�/|�b
-p�5�^Ǘ�"N�y��j�a���}7��|^�OǷ>��35>�l�ѹ`g�O���d�1V���~�>=�sz�g��$�����T��Zs�V�����/F��W[�7�O�=M�B
z?���
�Ծ\ߡ�t�2�|�~���S��v�
��d��F�S
-V��'�
7�g�V�^� �`�j�$�5��"��z�歽+��.X��5f|��h�Tyفtt��
l��\�[u��{���a�Λ8CK�]���KΎ>ژz�Չކ.]�!�X1�}�s_o�`xj���}}�ƨ����٬����E
�ňo�Z� �g�hd`�Q�bA?��
-;M�t�Q�Ī70��WF�L�#���8a.FIm�$c�V��j�����`�VX/�|~u�K�����U;�LR\�tI�3�6�cS!s�G�k��Ѕ�"J�]�H�ʑ	���Êtu��/b�C�9-���,��j-���q�v�I��x�E�$��Aڥ��f�Eߨ���g�LE�&Uخ���)ݹ�p���
p�W�V����"W'�)�dOf��
-���)�
��v,5{�F�l聅`�ЛU���<���]
���Iag�����
�θ�z�
U
�^99�p
�
�Y��^�rnfG��Y�Ph��qIumI�#+��\�"��n�~�h6�Q�x�&�0L�-^>��R�
ѕg}L�'�<�;`=�p�7˧s�?uI�	�݃Z;	IUh�e<��ĩ�\ݐ��x�?z��~.�+�u=*"���$'������*�\:R�P�1�0���%��9'`��'�� h��^Bٜ�Dq���R����'wժkN�% 
�/��I
<��k�5�*���lsط���K��ܷ���̢F����g.�{�K��s�
ػM�����-X�
(�"o�
>��x;�%����=�Ր^�9+�%��-f�R���4��{���'S+8��Nխjl,�z����	���8?�x����4�-;�h�
4wO�th���I:j�v:Z|ڕE�t��������;�Ow� 	gZ���
�;�Z
{��a��
�
-�\t�ƹ��S�J�={~���Mj�)�A�m�����h�59Y
�(MF&�^1
�׻��Y��%,m[�*y�[�D�uy0�2/���I����zAC\@�B��u��]}���������a�3J���A�Y�>s�5l���H�P�������Cc�[yl�=i�Z�d�j$v2������3�g
g%��^ �}��i�S��{ճg�-=\8��d��z�	66Ҁ&"��Q��i��"6'q�Z�M1��k��L{�v���uB1V*ec��g��;ٚP;[���}�Z�6.^z+��Zîa%A�fɖ{L�Ϋ�sSQȜ�{�mQVƩh_�ٜ�
-�_y-���(�З��?fN�Vع�.y�G�
	R����[�g��<ѹ{VWS��̱�/��ĸ���>N�9�b�r
-���51�Y���θy����$T/��e�'�
�b�7��D����CMJ�Q�dz���
j1T��#T����w�w
�l/D�
�G�ޏ~�v-�
2��/�Q� 4�����������((
����㼭sz��M�ÜL�+j�
�լ��@竗���N�
��&~�7̴'�J�z�M�W�^�JVi�*�&�•��Unx'�u���=97b�Lk���
?����(���r)���*_
>Ug9/�{�c���˗jAZ�Z*
l��wu���
�&
��}���d5�}�O�	<�������֗e�_(Q�ݒe`q֭�
@$O]�tY����
i��Vk�Y00��K��
�M�%.�k���v>{��f�Q�
��KhA���!_��8��K	�>�Ì�^�ZC�����O��X�B"�Ȟ��4X�endstream
+xڭ�eT��Үqwwww'hpw��	
�5x �wwA��܂k�û����������\]�UwUw�ZCC���"n�h�v�����
 $��� o�llH44�. S7G�;S7� ���� �n����
+ps
+p�"� $
��\l��� �
�8��
@.6�`����5��-���=@������
+�������r�x�,X���6�n 3��
	��&9��#�����N�k� ������K&�M��#��
`�D*9�e�i��!뿃K���+�:��_���6�^�������r(:Z�\���
��8E�����[��L�m���V�  
;+׿�m\�m<A*6n�� KS{Wп�A`��V�ֿ� �HJ�J+3����˨bjv��r��x�����[�\l<�l�ll�o�o���2��dR`sG
����`��b��v�ވ���[�< �7�@V�����[g� ��.H��+7 (��ҿ� ��C� ��� ���x�@�?�	 ��!. P���T��u��EQ�C
 ��z���z�B@�?�������!�������M -�·����-��_�����C�G�ys��g8߮ןMom��
�j��
����9��ۛ:�Y��M�=���OIo�]�]l���
+�V�ß0o:
��X�.�����4�aNo���
�o�N����T����T��&����/�[�����jo�j������.��?cd��S�ÿ�?1���]ћh������M���ۃ��b�W��9�
+��
ߤy��o}����C+!������`��~"6.> /7����h������a|��eK�����#-�;�
�ئ5���KL��2��d���v�6d�
�
bͺ4Oh��.1C1mm�1RO�W-,�6����C1Qq�>�ß�A
�|�Cw���D����t�Lu���[�p�ΛOxS�0�|�o�q��r��n*�aN�B
+H�`#���/�ǥ�!|��7�/K�}k�v����9��s�O�l
���cH�v�K:����$<�Z� "a�

�֖����S
��(�rA~���r���eyX����2E����>�npo�N�j�]�$�p2�Ss
+����g�K�X�k������h��3s
+�*(m&�LQz�c�Q6Bؙ�A
+]S�}7qQ�ud���㢛���� 
�� ���TK
H��
�r����Z?HyB�����6�Ϗ���39��%��M:4��*{
+�aW���HKP� 8.nK�S�`��b��h ��z�=~Yw�bq?�&-��2�$�;��9�|R�C��Ll��K�ч���}���$_E��0
]���/�j�]y���0�
~Ĕ2��sv�\��k��
�@5���7�
�i�G*.�0T
�MX]tE;���.���>


��܂V/�"%j�E>��.�H#���7��	���S�_Cneܑ1�ZF����ek�?m���;
1ݩ�u*iE�	������'sj�5o��v�j��%/�:���-�s��L>�†|ĞC���]�G	靲�*T�2eՑh{��?ҨZ�wT��d�Q�����@�̯:s�|�QCt 9�9��s
��Su��$b"�ͯ�r��z��*LN�ȸ�LGY~�a�w�G�?�1�{\'�,a�2�VrxC�o�=/�hcS���
��1�4)�eڝ
Q��d��.[Ԗ ��1N)Pt���%��燐BC��,�9F��ɀU�{����*�75����*�N*�j��7����O۲�
�V	k�
P�#�Jdf��=k�i�\W��D����) 
Hbpß�G�z&�aD5y9�#oF�r�#��$�3c�<�=7MͿ/�c�H���[r<�I��

#�צ���Y�Y�z�~I�%L�X-��L�.綔�j9��fb��-[���{�ˣ�`ڰ/���~���ܓ������ʅKhsx������G�4�>9���=8���Ҏ�r|	-:g࠳w+_���_�}4
�s�V�`�/�^@T��J��f����,�aB��R˥�����}ta��;N����,٪V����E^��ԅ�����P�
+���T�
}NWD�q�ޛ�x���x������w[c������&}w+�t�1�E��7���#���3Y��~{ߌ ��x��f��J�w�t��ԧkmҌ�`�))�gQ����_R2N^RQ��꺻�=�^���@�����aQ���Byl�E�ꮑ�ݼV	�"ސ����)��^���s�~�:��d0���I�٩،
xR����L$���9G����
�:����4��<�� /j�b���M:�vu���#��}�W���Ⴔ�P�z:L���I..4Q�Y�J��ݤ����.�9�I.�l+��=3S��Q�}��Od.U����=��ei�A���+,_#
�bW�8��f�^�CsۿJ}sc���
�@�/!3��+L
�n��!����L��;��'}d-�*L��$���N���%����q'pؐ�Z1<���Fv	>f��m���Q���T�˹�JS��X�:/��O�Mp̂�2�-�ɓ� �Ɓv/z�WYo'�K� ��]�ࠍ���P�%,�su�GP�w �%q�c�{+����
+`�v�
��@2[^��J1Rx�bՉ��+������X��ӊ�|#������>����j��=�A��yX��y_M�G�s,�����@fB(�!�:A�eЙ�ڙ�;����)e�#���ծ�܏P킑q�=l�Rojv��*�!јn����� ���}%]G(��T���[�漃���#!q9��M�=p��龍!)����0+h� 
+flrG0�Qp�a�啝[;5��W}AUΘ�����Q�{�Z�����I4)c�J.,���Zl2�ք���a1>�o܋M�Y�� ~�
-�,^GZ�/�I�%�mP��)�=P��:��ԓ
v��]�7�B��3�7�
+����Z��yR6<��e��&��
g;�%�����^Jl�v9�������F�P9����U�̹�?�-�D_[
�"!XТQ`
��g���ٸ/Ȇ"M�
�;r2��
A�:f�x���!-=� �E��
�q���XY���.�
+��-�n�d}�K�6�����Q��IH��{
̝�r�`(z�=Z�)�(�L O�c�v�oe���"c�Š�q<����V=� /�s�7�;�:r����d�e���f2�����G��(:ċ3
��ζ[a\xhzf�&�wkt�����(CU�����P�p��i��L���4��΂�Z��B
ȼ�ݨx�2��������ۜ��m5��8F��1�
8��#C*�k?�w���+5WzZhGI��C	:�A� $/FD{T��+:0�ғ=�
V�fMA�h�갉&F�.�A��#!Cc�H�> n�e��8�
��~
�&
��p�o�0��7*`�
+v^�^*~x<�
i&�Y��G�ԋ	泂���"�2�S<}�w�y1�9�Ѵ��*
+�qL��Ps
�<��'�>� �M��oU�x ���#��̎"��kM`�7^�c�V��s�ڍ��X6��kJ�;D��E ����W-���P�Ɇ�Z,�j� �2���@~���v��4̞*�1#C3�w
�s�9?��]4��V �����Eۗ�s��ב�a�)�+���@����`G�������wXɃ��,�U�(;�\x�c���¾������y@��ר^l��G
+����[�O��C�Y��
+�U�VԜ��(x����qn(�5� &�l�W��Y�=����=��3F9'�Lw3��2�H3�׳l�W��v�}����C���j�pu+ʒ��v���<����$������LТX
�3b�.���Kvb�^|�w�@����'L4{�\5̜ƲtLg�{�����|�u��
�V���<Z�2%v	�
]G	�
+�}��Y�6�?]3��]�9����w���"�Ue�퍊,�o�q��rJ
+uw�W�8"��8���hZ�-ʨO�
��M�+��͌xlj�)�

R�C�N��\�J��Llf����d�d�n�1K���垴q������z=7Q�����G����\�Hv��M�JN���^F����
���I�xx���Q�z�^ijtY�*����ƈzd���T�9�`'��D��Pw�*�&�$��X���=Ϙ��L4�˧����;3�t��:�K�~�<d���v�k�GAb%�kڨևG![|���/A�ʡ�
(��RMD������t\�sԳ��6�k�s���u��ۙ�!w�9D�VDݕ����(��O��+�L���\��P$���.'+��Ѓ�3&��
�%�	�$
�Z`_����נ��f���b�
X
4�O�����P��!c��nȴ���W�S#�I�I�I�y��GH�_���g�xoGX��b5R7����4�JCM���(�	
�BZ���b
�
��[�ī�Np�OL�
,��Ȇ�d�:�d�G�q��.�pP_&
7V9.�ڴ�U�`��;��w����-����´���=��Hۙ׵Qi��Zz8�E�vR�:��X���qX�yi�_NP����N�
xk��y���NB��Ԯ{�=u��������t�I�&˛5���zɥŪ��v����W����Kƣ�l����e�
���'�l�7�
��� �}�,b�B�fp��^�Q`*���,C+�
+�ˏw$(k�$��~4-,���nR��暳R�6����=�������N��a5L��Q�c��G�>�o�Y�5=���
��X��:��zl15!�'AE�<���NQ]��ѭ�
[���Q��*11�
�}^z����=��
o������3
?E����фdi�[�
����Bx/G�Y�9�pyE����i��E�T0R��.��_���kJ��q
P�O+����Ͼ x͛�C�T��aPw̯Odp�
r��Ť
��fQ��|���aQzo�7�JlF�ڵo�Ċ��UED��-9r��e�-��xG�s���kNgo>h�9C���Q����9.�r>�.�c�,P�"��0��C#
+|�ĭ{+��B�&�N����iz� 
q�\��e�Q9�<#5
+&� �ޛ��4�<>��c�d�!F�]p�~��l:
a
�`�z/ʊ���d�K�����aq���Apg��Τ
!B���A+Y��X�s���u��9B �u�
'�1� J$�E�6��7~�eC���G'��6�x!Z��&
w.]
�c�g2Am��S�um
%6�Y�C���W��]�Y�ϙ�f��
Yj;<�&3���q(_���Q�n(Ĺ���5�@�V�yTr�b�*ZOj���;�m���֠B$�����}�;�'t����:�e�y���0�Y�^�0�9������_���+?$�����h$�D��������;
Նu�P�
+-s[-��_K2��5��Q/a�?
�l[=ҷ�ϫ���Fe���p�E��%խ/yk��C�̉��[K~���0g=���
�rm7
��яm�<&�pFV�\�?>=h��nƑ�|1���4��.�
+��S�_�"­((�kn���=�)
[����r AK�v< ��8��"%Q���<4$6 x��L�$��y-
�s�^���c}����¢Q�y��9��˔�:�c�
����\�iG-늟O�Uc����<%��R�³	Ŕ:��JM�
}�er�<�ʢ�A�~m�Y9��1
OB�bS�����J�m�M�wN�^Q��ԁ�h�7Nɚ�� �7�{B���u���f���%�ewU���-��-6�w��Ik�;��f�����8Qن#]�ݒ��p��d�5,�K%��y7$���e�o�y�A�
�I#rQ�	�Yx�M�G���79&�H�N��,����99/"����iL��BӮ(�*��y�5K��^$xn�%v> P[��l~�4��uGꐲr�0xp�o��C�U6�mk	����W�^m,��
+�F�D
sƁ��掍����Ȝ�X0�~�q�@�� bQ�8����%
�9��zyT����K�\�-�]ӍBT�<�gS�c�[��������0���	o��[B��}�]�AO�w�=�ѣ�m&���j}ea�^�O�Vz��P/��of��w�7h�90�^Y8�X7�p&N�
Z����O����1E�	��=�Y&���� ]�b���
���8zO��<2U��l �b
�HF46�%&
\[�˂+�b=b%ԋ��,�v�ީ�h��?�w��,39���1z�l����ϒ��]��>�
�P�C+E�
�r
o�l�
{—�t���E��1��
������j���Ru [W'nkm[�n�R1��R�+����%)C@���
G�,ŹjNA�,y�ciuI	;I
�z���B��NW��װ�D�_,=�
n�
�O�HᏖ?5!
��W\���ħ�� ������0$�7��I�$�\X_�J�Vxi��7I-t���\�W�_��
�%��0� FXU�
���)��~�|Q?A�}��R����dO�Ae�l
4� H}�R�
����.�ٺ�=֫j�[��E�(〈?���-	�	g�DL̛����Yk�ͮ��2
��t��~4�FӀ�atH�O�V�$�ߞ���� ��>⋕��5t�C�A�Ec~h�����F<�G�2[��R\e�0b��N�+Bϭ�A�-�?��9�d�O_�U�_,"q6�lHU���� s��r�_O��(�~� �΀M��0��U�8\�����d��W�_�FPE��|k7��*��RL�^Ԫ
+K�@|/0�b���$bqcD�f$��o]�콱�31/���3��x�����[
�Vr@�E�t����n��G��^vq� CMYC+��P��g��C\��+�S~��v�Dw/�z�N����!
_��oB���:�t�l
Tg����Q���YM
sNiz��v&�N���h8l  ag�i���"�Y�p�w�E\SyOq�%���p�U�J*��:��=�i\�V?�҈ӵ��E�o^F+��z������h
kdQ��B��
�O޼Ъ��;5��^~u�.(��#DŽ��O��}����0'!��$>�(�����WS�����W��;���g�,�dIm�D4�Ξ�=?�G*�ʺ���
��|C�-��`����!�E� |icNA�MY_��|�FaV��9؜n�uOb��M֎@��`�=��
(/�H�ӠN(�9q#�5�`5ɪ[�Vơ�V�‰���d�>e�
W,�,���*��Cn]�
�V���έC�*�BOޚ���"��}���J�(��r�'Ӄqs<8\P��"�)t�IZ�l�6���^"��j�@\�~���YZ#���
�-�*�%�Bp͸�7v'�࣡�8Y;����lmk��u��һB
���
o����� RY�$
���u�"we��
$F�YS�Ÿ���s&��]�
��H�ޗ��am]GP~���������o� �L]X��-��نp^�܏�����e��9�n]7T'�l��\Vz�3#5�~u��v� ��-�
���+��*�7�MV�ĴF����
N? t/�j�NzP`,i��<��8M{��;;s��?�
����`p_LJ�K��y*�ӷ�|(n�N!��A�I	����'�Z>�fa�xǝ�U�S�-��`Z�[
�������
,�νY^��K

��ǧ��Y.��v}uc����w�������!)�"z�74�����'	y*�����5���Q}H�x�	-��F�T
��Qs�a������H��xJQo[،��K�o�%�6�Vp��D�$f1β����\�
x���
��tj����{� Gj�M�,�ISX�m
|�Q`b 6�d���SI��X׏�?�K�Y�5X��&2F=����_\&��bK�F)
��
ye��򷽞g�����Ԗ�K���\^��Loy��ũk�����5�`�xA
+��R��w��чE�����!o0 ��z�1��5Z��
9��w
o��⡽�j�[�ס�y-����Q�FJ������Ŏ�Py��
+�2-$��T�Pv�Մ�K�)�ް�w?
?��p��@�؏���Oy�Y=�%�<�d��3"�)�2*�
7�}Z�0�`�N5��WE�B�9���X����i�D�'�n�zO
��#�hΝף{[�;�tX�qL�Z�k�
I�W�hl�M�T�J������L.$�f�0;0F
�GU�h���Zǃ|��;���2LuN�*+�1B��
+����!�m1Q�>W�ZJ�Ԉ=�C��<��&r�;�>ڋ��^w��#d7��ĩ�Ā�
�:lJ�}��m���aa�@~W��/�;��:��^�@6�&��lt�T\[��
������(��e}�kJ�$6o��$D�!x�Ӡ
X�35���I[D4����M
��!����
+�
k��d잾�X��!�����t �pL�Gڱǭ�81%1v��i#
*�|~�U$
����m%�sԺ@�%n���;�u��T�*��Mm)�G
�+̟Y�ڿ�t�!�ᚳ:}�o��ָo�h�H{]`u4
(
+
RKP|�}��<�3�H�#p�(�纹� $h�e�˶�=ٖ�'shΣI�p�
G'`
���2�7��O��Μ �4����
|�:�ևT/�X5��/�]L��
�VUN��4g��"�~R��׊�贤��K\_
���
�*�Y^bf�'ғ�iW%�~¾b� �0�76+\��f�?�UY��Ʋ
�`~����3R��ӵ�p�P��t�ɌЮz�@/��j;t^3�3m�-'�_t	)\l*�sp9�a����4	�
��4R3
�vZg0[}1�Wzq'92Lb)��	�z��o!�!�
�i@>���J^RF���>S��Q
-�Q�4��R@= �U�<��r}X?9��w/'�Ꞟ�Z���������9gS�&	����FȊ!�b=(=�	�
+w�ś��OC��®N5��f��p9K��t+1�2)2���rk�ª��g��RE���Ǣ.�
\���__�%v���]Εe�*�0e�:M��	�/ �9M⹐`Έv�ѨkZ�`{_ ,t"��D\� 
�Où��a+Z�3�
t7i�4�;�D\�%:��kQ��R.^?�j���<���>WC�ڈp����֋��?%��}@��!�"N�ӯ\��
+��Tl����"�*
0��
r

�Wi+���vޠ������NQ]K�K� ��.�dmS��/XHv=���_D�κ�WK̥C@�}Y���5!G;�Ш���ys�7V�4�*{��y���=j�B��(�:�����Fw/���b�g6���55k	>��W�tл(�A��,䖢��oy	
/i�����S�u��:cy���pAA�٪9��컷L�g}PV����jh�έ���b�$��Wb[F�~|�kɌU�UOT�MKi�Ko�xh'�N� �C�WwTu�ol�;�
l�����y��
K��g��S¤�3�m웼�����3Հ=��������%ߑ��e�,�#V9\��l0rM|�s1&Խϫ��@ �z|�~�<P����\|%�N�vT���d($�Ī��w��r .F���<���'e�X��Xg�y���+d��s��

+#�v
+J��9{���O�u��V���
b�����[~���L���v)
/h3�~'SVg��r��H�.�%B���&��
b�
\������j;�L���a�d�b���������`3���N��
lQ
+�z����’�u.nm
�M)�ȊɆ��<��z�h�;F@�I��e����<�R�u��� )���
"���
�5���<�P>N
���/ �z�I��u
0*5����z���p��1����W���$?�"��
�
����R3��0��s��1Z��Qu��-�E��%��P�x�]
ar�Њ�=�~8�t(��\�R�Ę'<,m���c�^Mw�$�h
N*� ��m̐�
���Vb�p�.*Zn����]�^9SP�=���6|���a�Ł��D at S�
���a'�?ƍ�aįU�Wo
+{�y�R _��q����ŋǁ��C�Lc\dp;�Ȑ�|�e�<���_�T|�$�"
Mt�����[h&TA�Բ������p|�
ݧJVrwQ2f`i!%BI��ą�x��
+�|��b����@��CKL'�v%�V��' 
�R�bԣ��j�5N��/ݙ�C�"�}�x]C0�w�,F�<��_<���"�
ؠSbL�@�3���-���2+�뀅�Tp���xF�
O1��%�R���X�L~e쑛I
"a�<�l�b*|���R
z.X��>�Gt�i� I���n
+u���n
�7u^V��К���H�	ŗr(r�2
+63
+���E��|L�V35AwY=�¸�&2�H+D�hHh�]%n���6x?���/���
!e�_
��ya�cB�`�-(&���0�}#�ZY�{K)��x��.�%ܡ��[�h6R�-|z�e���J["W�D&΂j�[�7��4g���R
+$�m�ҽ<�S��I��bL�(_�2ʐj���d��*ۀ�^�2ȆHv/� ڗ�+c!���O�z�����4��l��_���&��bT$�ں�l�!HMu��:j��	�'Mss)��|�l��w�~��_/Q�U�!E�]��jd�d�)PP����X]'�3�D�z�4�J����H��4���N��
+\F]��C����s�/�I.NOY ��S!w	YM��
$�
�-t*�Ѵ�<(~���{jr1V^�
� h�h�t�}�S���"ɇ��9�� #�1�g�It���՞#ؽ�һx[��H�6��)5

�i���R�t㗕4`���@����=tq3lԾ�
e��
O���
�ݍ�MO%� ������40 v"�4B���С>lO��߼IL3A����^	��ji�4���p�f��a�F���@����h���a�����r��,�43���q���t#
�
CL9��|�ߐa�1-H�1��oV
ũ;�vU�y�~+l+
F�X��I;��Ռ,@��0��9L�IV*�?��+]uݠ�!
'�U�D����Έ;˂_�!T(Jߗ�Ei�{
2��k^a��M�]E18�]�<�x�{��� ɠJ�V����f)��b�m�T���� ��h
+endstream
 endobj
-2391 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12186 0 R
-/FirstChar 48
-/LastChar 120
-/Widths 12187 0 R
-/BaseFont /WYQFZU+CMR6
-/FontDescriptor 2389 0 R
->> endobj
-2389 0 obj <<
+12189 0 obj <<
+/Type /FontDescriptor
+/FontName /PCFYFO+CMMI10
+/Flags 4
+/FontBBox [-32 -250 1048 750]
 /Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /WYQFZU+CMR6
-/ItalicAngle 0
-/StemV 83
+/ItalicAngle -14
+/StemV 72
 /XHeight 431
-/FontBBox [-20 -250 1193 750]
-/Flags 4
-/CharSet (/zero/one/two/a/b/d/e/i/l/m/n/o/p/r/t/u/x)
-/FontFile 2390 0 R
->> endobj
-12187 0 obj
-[611 611 611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 611 676 0 676 546 0 0 0 352 0 0 352 1000 676 611 676 0 481 0 481 676 0 0 644 ]
-endobj
-12186 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 48/zero/one/two 51/.notdef 97/a/b 99/.notdef 100/d/e 102/.notdef 105/i 106/.notdef 108/l/m/n/o/p 113/.notdef 114/r 115/.notdef 116/t/u 118/.notdef 120/x 121/.notdef]
+/CharSet (/A/B/C/D/G/I/J/L/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 12188 0 R
 >> endobj
-2212 0 obj <<
-/Length1 1034
-/Length2 3716
-/Length3 532
-/Length 4413      
+12190 0 obj <<
+/Length1 771
+/Length2 1151
+/Length3 0
+/Length 1696      
 /Filter /FlateDecode
 >>
 stream
-x��Vi<�}�&Y�N��Ad��`d'�}�ΘL�
c�d-$���P[De	I���5$K��虺���{����~z�\_�8����u��u�.AS
iM$�����!2����2"f�ƣ�4�'�T�eeP��
(
BU�U�D��8� <�݃ ���jz��h

4�<P^d

��!�(B�
P���<�
4G����(�
D��+�
�e ��c�u���H?�?C�(�/�P�lR
H���a1A@$ʍd�#�B���o�����c
��)O��E�^hLп�8/o?
-4�!Qx�?S����f�B����5 �1h�&�
����оz�@�M at x ��_�/
�E���m�,�
.Z��]��5�_!S8K�
��K�g�/
��{�G��2`0��H������R�X�ƒ�AA���A
� #`��"Q�@T �/H�#�� �-�t��~"
��r��<��QX
ʍ�7
�7��,�����`
�7�
ᰨ��Y��w\�����#��O��� W<
�"�GE��!�,��
�A
�A��o����oH�h�7H>��
* A��AE��� ن�o�\����qki�C�唁Ҳ�ۆ���P��HD���M$�z��K�'vC�W
�
-D!ލ���Y
�a�ů+�%(��o�w�����H�Ĕ�]򑘩�9��egZ�^���{�5�l at o#��v����Rn0��f;�(h�[�[�sK�۝�
-�&of�+�mK��o�X�g*�c�L;%H�i���3/Zj��������4g�������`IO=9=v5��Irr
���vXLW�v��3��* g>'�a����~I

s�y at w
<p��=�y�AT{���`^]��M�A�x#�
)b�� ID�q�l�YN�٣�p���Z��n�i&�,�F8��.V���_��"�$c:�|E{��V��M���g��E�κ�����:�{xP˖��?!e�<������ï�ֹ�R����|��Iz��^�0��F.9[��.i���L�S[���
�-�<��5�m���1�`���ޗ���
���\�_��a�'�U�v%��!Ƥ#�f�:)٢n�
�9��uC(yG�0�w�rod��	�z>�;6�+���f�z�NƴOӬ!�!�ӈ�20nR�l\���਎��D�
A
�y�p����z%t�u�Zٓ��=�������+�A��09�ҥ�|�6[�[C����O&���^�x��룾��4�'��������
�>s.H&���Ar��Ԯ@�{�S�cܺ�!
c[�i���:�����Tx��^���9�9��W�%>��0�܀�v#��=I2��g�DL[�s����M�
�sH,�zO敏�9�W�A�ctM�)9yC
e��$���Xxa�v�D�~G�
����:YXlK��҅q��8/
��~/cm�����`C�6���q gj��V*�~An͂����|K��D��X@�"�A�$?t&�v�1�%M����D⥼�`W�X�eKlZ!P}.��X�b��9�ac��
���1O���;�b�
�X��+UY�S��X�C6dN}�?���I
-q���i��^{�ѷ�L��q�X*K�`�k���XeNiK%�P�	4oW`��8�d
��_���$u	C�V�P
�H
���$�
=W5,p��F�URG��'�Gok#�
��ٗ���">�j_[6#Gٯ>�>/̖�5��U�+��lht�Mx�P�";�!���g~���_�u
N�v9,~%���s��Bk&��2���pK�H��X����11<:�.7��j~�P��ce�5��DꔒմJD!?<�?/U
�V4ƃ�;�5b;��G�_Ux8m��
u�l����8>���I ��	��8���w"�s�f���d[
-���QI��nu��G�;�1�Pm��m;e�j���
��:��-C����&�ě�vƅNԛ�ϱ�Tg+v�'d��
k׋��0j[ѭ�c
p� ��
7����!b��3��7��q���o�}aS+ڪ��JQ�჎3��JkEp�D�0��~|iF�����0��u.9���ߤJh�w2�#Ѻ���@K
����p�c
3�.�4��j}I��=ƻ 
-ɖ���3�9���]_
y҇�L����F=ê"=�r�^���n�x��њ
-
�,��Vk�XC�-au9񜩟�z�˥9�[L��*;՜��� ݝP��u��d.�^
x�9��l���5}�=Z��[,\fߟ������*�(#~�n�yآs��"��ۚ�ftµvG^b��G%��R�te6�pP�,���બ:�(�ӧƥ�am�K��#&��}O�1�O�Ӣ�
9�v=	5��&�O����oˬ
-
6�k�PX[pV�5�᫠[�m�e<�K�W�4�f�L-b�3����U�
6���ֈ���F*dٗ蹻|m{c�>��^��c�z�ҭ!�xmVSA�r=B[SD<���&��e�u;�
&
�8q5j�`�P�^�E�؃�=I'h�cK�����n�CU�U7�W�M'����Ӵ2�L(]��su[���5G�tM,�v}���c����X���q

���L�X��쭜�!X**�(�-�	b�&��G��F6�n�+W�b����|S*������
^
=^o
�7d����Aki7����W/
���g��7r�$w�$�ξ<��H�y��u�M}yx�6&��$��Ȋ����]��^]�D�"
*n��T�t��-�#�#��d���.Y\in��Z�:��;o������[F-��ib[�@�jly�(����
�>�x��O��YN]n�^���ZjN�`��I�g\����QO
���Ԅ��|:KY2
o�"e��O��5�M���z��&�b��yecMI�Cl��"zpM��w��
�
�����n�-�]�	&L�޵GV���@�
yr��ϥ�=K�X�JNh�Ͷ�-ֆ� ��wϮP-*H�D„?=��u+���t�Z�|�J��MCg\h�X������f��'�Z�O
_{:$��y0{�`��3z��{U�t٨!�*�L�� ᜷w����%`BѰL/��d��z�]	���ec���`�]�
��@_�]�3
-�y#�U�詝LtO�C��|�Gn(��n6�
G@�:�Z����������l*�Z���֚�
�%/0��z�$�ۤ��*6�jnT��X�7��t�Կ�7+�g4V�
�P���o_㌖��/=mqY7�p
��x�8�̢P��o��V����,q�
~њ�l�v0P�y[�n��
-V�b}�h�_N���v8MxD���0��4?G���7�� E\E� �{
~��SkR��G��Dt�|����p��V��[Fb͍�!�F>֎������0i���	d�C;�����Ub��*���M��jĺ�T��8�5�V�,K�Hs����{5�Q��4�{��>Q��.
.T@��෫�y��W�v��J&H�OB�6.��(Y�����U�>5��Qۘ�n��������w!�Z#rR&�o�G,��ؓ�	6tH����M�
����{"��N��8V���8��$�w�?,�_�9̓�n�Dz^!����ܖ�2���z0*b�( ���ܢ��m��U�/�_4�n

�i��D���x���iS!i9_�|=œ�&�l�6^��f�e��q�fk>+
�p���e����~>���`O�k��f>WH���l�{ݐ���TΥ:��T�����>]f��{��
nz��DWnS��s���G
<=˷��u�er!a���-����E�4�����ǹ��.f�ա5̰s�Jaڀ�֘������ G����xJ������f�C�ı>֯p|�|�0�sהI�"�ʸ�9l�@a&�#b8~g]ʣ�*�
������V���K�8�m�V��p�
;��cP�'G �4	��*eI���t_z?B�7�ŘV�S7�\n��r�ۓ���K����V��V=Rח
�)<��7������BG
�5Cwb��;&�ǯlKMw�l���Od�
q�R��V
���v��B	�h�N��
�G�<�
�偒:��<r�{��8�q�>�"�B1�ˁt:����Tͽ�UA
-)f�.>Am%�T���
�6���\^S!c}=f����q��� �/�C^���r*��/
}v���~�t9�'f��W�9�$��~f��Z#�*$g4:��H�p�sy$�Bk/=��^S����nj��ԘfsaWr����i���gf`3>f�X|����O��C�fd�
��ne��SP4�q7�R/�����+�Pj��1�
-&�#l>�~�U��,s{��),�$��>M1þu�m���ؾ!ᣦ�c�Z� E��

A�l�ؾ�Y�u�����C�*�S���6��q %�هQ��0�2I{�e�X$Zɴ�������9�����)E�������O 0(8����=�W�ټendstream
+xڭRkTS���2ȳ"����U*�!%H1��T�hxHE.!g�&�`0�@�](
+�C

�PA[
+"�*��UQ��X�b�F�{���J��5��{����3��a|7��� 
S����l������h$
+%@
+�
+�too/�U�0X��9��b3�$
+�U2T�� K�N�X�#�2T(� O�H�R��P |\�B��
p$�v�
��r(K��;�N*T�x(F1u�S0&��=�$%~���LN�K�l.�I�$*�@��� ���akz�$�$T �l?��?x����T���$�
�@6]ߛ�AM�Ng�	*�`b	ntOw��{
��J���
+a	$r8�C
���o��k.7t͗����Sd� ��Dh��j�_5�
U��4w�N��a�aڰ��GPL
L/ ��*�h�`2A*
�� *	�Tw
WG �L�2��z1 U<�Ո��=FT	�˧�^��W��yЀ�I��1� �IK��P�$�AL1�}��>�"��B%��]��g����
�+KoT�Z*w,�v��Fmm����/>��e��á�s��F����U�Q�>�����ʧj��d1oiI��p0&vF{q[���H�c�K_b�g#w��Mn�U2 at g
%�6���7�o�\��7/@?:H�P|6$F��fw�
�⥸���>���G��-�:7,
+���fv
{��[�7���U�c(��~�6�ԉ<�Ս�����V��>���Ζk�R��tC��˽�3����
�,�M�ת<`hըf�f�_ݨ/�k�[�/�S�Q���[�t��m~=a�T�|��q4����Y���.����Ő���T��f|�S{t�� ����&���ھ��)Li��gI9��QUP���hW�~�nAIMY.3�է���
/���ώ���u<��`���Q��,��M�!�!)c�G�


��/<�w��*)�%
�O�:�ȩZ����i���On9�ɢ�Ԛf}������W]㪗���.��a^��$�}�N�ӧ~͸G�E�]m��zm��60��͓g
�F��#�\�:s�W:xfXe��r��iyv�H>e_$k�
J
7�����[�=�s��

u
�J��y1h�m��u)x{�팜�n����A��/�������3IpI�N��ՙ����}���k��3�5
*�~m���$�^d����i
E�'C4��Ʋd;�ji}TaՎ��u��|�brmٍ�9�2
Q5 [...]
q���
����2�k��b"ۆbj���d@���|��^ק5�+�����'��c/t���b�ƻ���)��b�B�	?����E�I�ܸ��G8���s�=}
+ճ,
.�
�
��y᪪�Cu�
��'e�
+M�w���|p9��+�|�ɶ>C|�2���N!����[����o2�Ù�q'
+t�zT�]^�.�t�]�>ͯ�f���5���N�OV�+2�Ϭ�zS�w�`�s�jeq�'
�m�z�d
�N�9�]H�5^��=
�9���2��~^��vM�� �b=�
+endstream
 endobj
-2213 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12188 0 R
-/FirstChar 12
-/LastChar 118
-/Widths 12189 0 R
-/BaseFont /IGTQZL+CMR9
-/FontDescriptor 2211 0 R
->> endobj
-2211 0 obj <<
+12191 0 obj <<
+/Type /FontDescriptor
+/FontName /ZGGNQH+CMMI12
+/Flags 4
+/FontBBox [-30 -250 1026 750]
 /Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /IGTQZL+CMR9
-/ItalicAngle 0
-/StemV 74
+/ItalicAngle -14
+/StemV 65
 /XHeight 431
-/FontBBox [-39 -250 1036 750]
-/Flags 4
-/CharSet (/fi/parenleft/parenright/zero/one/two/equal/bracketleft/a/d/h/l/m/o/r/s/t/u/v)
-/FontFile 2212 0 R
->> endobj
-12189 0 obj
-[571 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 400 400 0 0 0 0 0 0 514 514 514 0 0 0 0 0 0 0 0 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 285 0 0 0 0 0 514 0 0 571 0 0 0 571 0 0 0 285 856 0 514 0 0 402 405 400 571 542 ]
-endobj
-12188 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 12/fi 13/.notdef 40/parenleft/parenright 42/.notdef 48/zero/one/two 51/.notdef 61/equal 62/.notdef 91/bracketleft 92/.notdef 97/a 98/.notdef 100/d 101/.notdef 104/h 105/.notdef 108/l/m 110/.notdef 111/o 112/.notdef 114/r/s/t/u/v 119/.notdef]
+/CharSet (/greater/less)
+/FontFile 12190 0 R
 >> endobj
-2134 0 obj <<
-/Length1 881
-/Length2 2068
-/Length3 532
-/Length 2693      
+12192 0 obj <<
+/Length1 789
+/Length2 1882
+/Length3 0
+/Length 2433      
 /Filter /FlateDecode
 >>
 stream
-x��R{<�i.E���r��P���;1L�0�1�&3�;�P�DS*e)
V%D�(�rh)96�TΤVl֩
����������}���s���\�u������f`ŀ�@{`�XS��D" ��A����@��C�4h
-`	c`��
� ��)���G�607����/ �6z�I&���4 ��A�D�Ncn0�
-�р�
�.��� �
h
0Xt��� ��%"Ą�/a����:��S �M=@b�C�`�2�ΰ�(��߰������v�q����a���� s�B�H0�Aߧz�_��@K���%
-hl�
-�g��v;��K�ŷg�
2K@�0il>�9B��H��ه!�Bڽ������
�Ƃ��\�|K���߰dD<V�Ac0XI���z�~W���
���� �ǣ#0)


�,�`�İ!��+�d0a �!���0�Ԣ-6�ea�
c�a��o� �a��w��A>�[ �/>_���L$���FXI7��7��H@��?Gim

6� 
^����1a��H�x $��Z%
���,�A0�#ĭ0�,����QY�v�
7����)7"�JN���G��V7�
-���&�O(`�RJ~�m�`�{��[�Vv3<�R�Za���T���>?IդWU(r�b�����w��S�K�s���&W���.�jk��
p��G,��ݟ���;%�{��~�s�3a�u>�Sk�j���Rq�e-);��0zA��z�b�F��τ]n���ƭSO}ߺ��f�mX���W�$�l����O>`wƔ�9�Z�*J�F�$��\W�v�Ƃ�t的���!K�U�/�������Ú�k����G�/��7ݕsR�p�[�/֒B ��77:�ܞ�^3����
���GD_�64�@�uBF53n�~2!���8��I�3�+M��4����ju�{�R���1E��*E����wF��L�xi]�]'�z�^:���|`�ڸ�^v��W��
�
�=U��zg� �5LX
��,�:V6�b�Bo�6��2*�y�a֋�hQ�ܕ��
ջ�����+
�Y��Fּ�b�Cn	�M���G���������rIʏYo�Z��{J�R�l����=5c�@�
�0R�)���c [...]
�T(����3�eq	ݺތ�yw
_��8���D	�ߺ��|�҅�j������־�oӴ�����BcQ���s:���[����N�X,�`5�A�h�j�����Z��bǥ�E/��N�-Y�����b������s��]rË�0A
-�3�����"G_�L2I]'�
-���zi���)�]�r^K��A��mΟ߽gV+���B0Z��~��R�� Ry�!�'���{g�F
�.D���9��c�u
C�
T��x�<f������%ԝ][�V�?v�O�T�.�5F�O2޷u�t(��
���L'��ME��P�ך/S����2	ړsg2g[gmգ��ɣX~hM��	P�k컁��PzcU�*��|�-Eϟ���fܻ��\%Q�ֲ5a��N
z���\w
��S���%ǽ��7������潇�V��D_z���R�L�4�<`����
���<
�H�3�ܛ��I��jU
�8X�ƾ�b�f�tn�n��@^�k�Ź�Hz��,���Cߜ����i�2=d��IQ�RO>�2{
�u?���W�mG��u��sR�պ�Y6ሲ��C�%R��3S����Vܻ+
-sK�c�K����Ku2���n?f<L<��|�M��w�
-^*B"�i7bG:tNV�#R�?I�¡��f[��Zi��/.5�LWz�
���5{c�M��l��y��z�1a��Z[�:�L�]Tu�D
��coO��|jAG8>?
*Gs�l���z��
1��^�4z��lm
-���-+{�aW�/m��M��b�&_v�yL�u����������n�'J�Q��7�����'�ƌ��ː��
jl���8��e�h��
"$�,ĵ9��8�H���C�7'SP�#w���u	=
���T9��
����`�f��M� �I%�b%T����z�K��}GuD�*����l���!;��7�:/g��ʽ��TՎ3
�i�O5�|�־~E�| J9��xrᦩI_ky�h�)/s٢<�49���#w�O���Lxwk#�B��zKjᵭW���B3���&?
�_�l�g���x�8>;m�]Nh��8����D�FK S�LCa���V
�u���8����U��*o	!��B�߻���X���e�����7����\�T����<�U�:���SYvܵ��^��Y�C̐�РL5���p]�!"�@5�Ø��V��J�VE��� �v���������իJ��73���/��id��
��7۷�Ffs�'=B7�*w�5�Tz�b�/� ���f���:����>���:+���<�O��K����a��=/	:\�s
~�#��%��.˨a&g��kL�
N�܃fC���GWzɅʍ7~R

�Ϭ��tm27��]ӹ�l���K3�נ�Sb`z*�U5x��yk
tou�b��|CnD�J�v�}f:���C�_�B��i<̡�#↶endstream
+xڭR{<�{ϵ,���?4�
c8�	��:Qn���څي:.唈!ʥB������	EE)r�O����������t�}^�������|����3$�Yᨬ0Н��X��Q��6<�H�H$���
��J怎 ����q# $@b
�(G�TlcEűi�
 ��lYd� �F!3<�	2�=(d:�Ǣ�@N�5�����1�/��Tk
+PiFИIJ%Of8
��Z�r��Q@v�� _�iHMRYLz
@�!K:
�z�����;�N'��헃�Mf��q��Q\��,*�f�(�
~���4.�G֓C��(8f
�P��HۯuZ�;-�i
J$N�ǀ+u�I�щ4����
$���]�d�C���w�
+F}�҈شX`/��DI����)�YnL
+�JcF h�
@f��q���� �
+�`��0š��H� �`�p��U;,�p].� �F�� @оC��e����Ņ{��
�Bc��ml
 {
2�t.�
29+�4�o8�&�cA
+d��Eq�u_��xE�[�+��R�)�.�\����M���j��AwS�
Ie(�p�~j3nw�p$a�ޱ��P؜wIVpB�01<8�|� ������
t�rV9(�mH,�z��s��L�p�垏�p�<�=a
|YU��
+�8����z�n�.�$ㅦp�i�eA�Q�z��p�"6o���CY�<�+m�������#ρ�HV�t��aQ��Iõ���=���j����ha���"s�>�vDƽP��Ǿ����gM���Us�њsNC5{&�ƒ6����sCkn<O� ���W
mM*��k_���N E�"�W��������A�%C�w�
KT��_?u�wz��z�h�ӫ�·{����U�U��^7�ZmQ�ڂ�&�oׄ��qF�wz�W�cm�Q��7𰰎�X�F�cwPK���\�
�
+����[�1Swn��9��Ɔ�֫��>��ܾ����K[���
�N��i|�`�`�p��Y6�IpVK�h��ϲ�nF�l�({�3��O��	2����NnQ�B�o�\}Ty� �M5��t�s�
2�9s��g�j�fv��ǿҾ�_*@�L`��b�hF����L�9hG����S�^d���j���:��D��{�my�'p��� o��z��,�`m���v�L��g�,=�>V��,��Tm�
�U�F�:���e���]�
ۢ��|�_�N1�5�E֨�qiV��T$v&���Cz}��Z��B
������OaZ�g���B��²(L����k��v���:�
+j��?Lh��i"��T��L�ǿkPV>�?A#�1n`�c)f
�X�&����0��Z�.{�G��[@�d�y7�[g���=��	{a-%2�*x��!���w���ة���'�n��*���)�JJ���rk
&&�K�uQ7�<D��U���(�ک��|3�*�
o
+�Ϥ7	��8Ǹb�u�*Ok���L�w�=#�{�`r��я��ܞ�ˋ#-$��3C���B�N��Q���9��֜�l+���y��q����?�=��s������3����Y�ӓG��7&k�wl	3���ͩ=�-��IΖ?���D�m
���2�u�����:��\g��iSX�)�ԝF�>՝4�W��l
y
������Ȋ�v
�^�9ߪ3�"X�

�W
����sؔ�nT�;d>�� X��EZcs]��X��.�z�{d���ބ�WkM�
��gU�k�gg�E���.Z�u�C�Y.�f�j�L\R�B�O���)�JӞ.��Ť?~JP�׭�ˇV��^��QR�~=�
�ERυJ*_�7���4$&E���Q��]T�-T�c<����U��a����S���W�ўG�l�rj��w�nr�l�
X��*�\6.�=�����;"ڗ詝z|$)\AE?�R|�)�a-�}�����3�: �Rm?6b��|ꐦ
�(g}���J�/�
"�v�
��C�yr�����[�}4JlG
�������!4�;??���u���j
+��rqf"�����y��0ImEZ6P�B��+;���4M�1_"�&L���`8�$�"rw��/�V�bT�9�{dj.�0��
>d����X���9M|�걟���'�kJ>춊��9�����y
~i��n���b-��
ue��j�
'�q�<��%b�a��br�c�.�xlhY���v�s�yC��|7}@�
���B�O��x,�{"¼[�I9��Ij��6����Rk�$4�=��"߬S���0�䌛?�5\'�%�x��Z1nx�WcJ�f5?�1yo;��uɪ��ڙhK#��gǠ�
�KD��7��X9���:��U��
+�4��P8���%��5�n�֋^~�f���
�Ûe�>(ĦSg/*Ό�:��j{=�@��-]����atФ^�Z����/�$�j&4/�UF��2��+�7F���
+endstream
 endobj
-2135 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12190 0 R
-/FirstChar 46
-/LastChar 110
-/Widths 12191 0 R
-/BaseFont /ZZMQQI+CMMI9
-/FontDescriptor 2133 0 R
->> endobj
-2133 0 obj <<
+12193 0 obj <<
+/Type /FontDescriptor
+/FontName /WNXLJT+CMMI5
+/Flags 4
+/FontBBox [37 -250 1349 750]
 /Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /ZZMQQI+CMMI9
-/ItalicAngle -14.04
-/StemV 74
+/ItalicAngle -14
+/StemV 90
 /XHeight 431
-/FontBBox [-29 -250 1075 750]
-/Flags 4
-/CharSet (/triangleright/triangleleft/comma/less/greater/L/e/n)
-/FontFile 2134 0 R
->> endobj
-12191 0 obj
-[514 514 0 0 0 0 0 0 0 0 0 0 0 285 799 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 699 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 478 0 0 0 0 0 0 0 0 620 ]
-endobj
-12190 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 46/triangleright/triangleleft 48/.notdef 59/comma/less 61/.notdef 62/greater 63/.notdef 76/L 77/.notdef 101/e 102/.notdef 110/n 111/.notdef]
+/CharSet (/D/d/i/n)
+/FontFile 12192 0 R
 >> endobj
-2127 0 obj <<
-/Length1 791
-/Length2 945
-/Length3 532
-/Length 1514      
+12194 0 obj <<
+/Length1 805
+/Length2 2096
+/Length3 0
+/Length 2657      
 /Filter /FlateDecode
 >>
 stream
-x��RiPSWU
�he�@/*�B�0HPb4*n����$y^^��a7DTD�J�eT���2�v��"�"
D\�*}`�S������?�;߹�{���(���D4
&pʝ�����0�o�cs..A$D(��g#�<oo
�*O �B!�q:S�P`z�� IԐ���*�i
9�2B�AJ�*X8�CB
$�@���� ��)
���
�
-?��6�sk
$5�)0�6�
-h�(��t �
-GB�gA�ɿaj�x�V�� �A����j#jL���@��$A�BN�����AӪ�w�����R�;ϓ��
>50M0� Q)F�c�Qi�qt�:�!#�E�"�H��4ա��p*\�
y��}��H,Dq�\.�&�����ag�p9�b�x� B������<���� h�
6NP�@'�
-�d
�
8j
�j�!�8������C��
���*���x-=�A��;	��|.p��<��
-����Z��85���>�
-�N�(g��Y���g��$*j8j�����`zy���}��	
-8*�⧇��n����=)T>k�%yf�Vɖ}�-���:X�8;EP��Ef�K��m��5�&>"o��6;�*�=�����)����I�Ң�7��0g�[��Դi�D]S��o{�'��'^�`�Xj�	Κv[�?&�y��X�X�0J��p��F�.�M�ֽ�	^,��j�V����y+B*%�݇�}�����M�q�)wR/8�� ���:�?$GrW�&Io�S
�3��s��_;`Uj�N'm
�n�9Iʼn�;���O��L��>��Z����+ծs��W�-֋b��F{�,��:�J�}q��U���iv$����
���*N�7� qlM�Z��v�%��(o���W�n������w�
��3���R˝����2����I�;+wu�v�����Z�O�21=p<(��Hy�a�@���AҰ���N
���-�.��w,�pt��K�����3�U
i��͓{J�6�
�Y7���]�gBQ��}��ԋ!��ud�����~|^���]�S�ci��@�+5]���݋0�%�h.�[��X嵎j����
)��#Y��gVW7���}�>$m��ʼn;�ג�V^�n�s���V��凒2�����ːb֋;�<3�D���
bԸQ��KDǤ৷?8l�
G\O���'����w
�o�����S�e���!��Q�������Sc�}�w��QӜ�L�Mܾ��-���sٚ�e��8��DO���}�ѮE}�/ S)lLk�����tYș�2k�5��2�uѣh
�r�L�
*r�eWVD���X}3���vB�
��K\O���vq��1�'����
}t�ׄ�
-��+m��a���/��y5ӜUU����'0�����@��EykT*s��7{'HV�n���Y�\
��<f��T9�H�
;`f���_8���W�ݩ����
��0c�ˈ�˶-�#�f/��Ï��B@��Ij��e���,wendstream
+xڭ�y<�k�OQ���Gf�0dKvٲ/M3�0��
������}�H��J�=:�d_B�^1�%$������v�}?�?��~�u��}�JY�*�a��Ac"����#4

35��TV����@G$�(�&���P����S�����)MU�,`@�p�^ j ;0�z� 	�F 
�
�e�@��-�)48���6;Ȁ
HI A  
M.��8D� Ɍ�%�����Z �̀��0a C$�i �B�,���@�������x�%��`�AP�j�|qxڟ���?$D
H"�hu ��Y����]3
+
+�C�<� ��@•���8�1�
+b�p��E���:H��Hˆ���
�
��_췞
+G����@@�o�7��[3""ᨀ�2\Y�02��Vn?�eD@18�'����H$
�����
+! 
R�� V����L�%� �ʸC@	sP�S" %�RP��["f�?�:���M������� ƳRTQe� ���r�����$H�|{a���X
#w��h�P?��}��P����#0�DjQ��ߣ��j��cZ|���N;��*o�7��'e��\	�U� Z��d�5���) �I�eYB�]��f�n��͸53$9�W��4,�1
������\х��%��k�>a����cd>�@ܲ��'�����۾̛�C�®i�{C�
��>�9S5��,����]L*���%ͨ�����7l�
�U#T�
+�h�p�^��҈'�Ū�"�B��}3nx8��W�
����q�Ԅ�e��
V�� �����;�M��,a�Ԥ����4��5KťB�Gc��}�+��~�D�6/����f���7	�O-'�Z�y
�����{:���&�
�a��"�|۬ΫL�<WHg�������bV�!B<e��k\X.Y��'5��5��q�
��!��9�ٲj�_)�_^Zl�n$��\z��Ԯ*?|FPk���
C�ZL(/3��Ǣ����o�;
+��j�]�e|��\��c���z77" ��1��<���9��k}�6?S��N{7��"|��vD����0��_C�;�ܳ���
^��^
������J��I��Y�I���w
��aYa2*{��-	���n�I�7���h��x<Ӻ8 �^XT���U�M�Iȑ��+r
�:.��Yw�ʩ5	gk�e�E��s�#��r2oaЈ�>T�q7�p��b}���e�?ö٩�
�����1�<�+�˧X%�DC�c9%֌ՙ�m�$fq�p�uj�&[ϗ�64n��y}v����z
r~�1�M����.w��T��jm�N�vӂܸ�/�6��}��,���������ݚ��
+�P����'�'�����ᨖ/�h���l;��m�O.EY�ݬ�A��4�5�ެsm��>P�:���s�ZgX[#E�g���vU쐽=B�^��F'�+%���t����_�L�~�w�a����L4a����4^��gzˉl�|;��LS��ә��>���ʲ9�:7�:��?~��W6>���'�ƣ�{��fE8k#�
�����%Ӑ1m��z��N�iɻ�$(S'<v�#�gS[�|
��;����Qq��
<�ˤw�Q��#Z��
:�*�ש�-Sw#�C^�a�,5U>�>C��

O��9^^���3
����F����$sU�Wy�{�����#z��
Zsz{x�x?���<����b4�����
�6���ިW
]שe?��X׼�W�i��ߣu��bs����?-�w��9qh��l,d�E0�49�����M�X�
[Ŭ�P�1���sQK�{O9�j{�G�
�$K�}�ٓ4���;��A'f��x��ad3zP`�`=������E�����
�:�q���
��|���
rY��k(�i�fK3�I�O/M5oX
v]>1j
~�
+{H��g����y�ԩ>ֲG�\����.S�.��"�S��{i�]g�$�9�az˥ڛO�</ϪLvj�M����ۺ���6M�
+plz�!�94�����]W�s���T���y
�
�.6��|)���W�)���NwDGb�G�����6��x���S�z�B���f6���OL�d��5<l�z5K;�b=����Yr�
�L�J���^Oᰩ�v��<&��
n�o���r�ӯ�c�����'��nL
b��s2���1s&G��A{�C�)T�;lE��E��J�|�݅M`��n+؆P}��rϓD=0��øM?��0?��l���ȗ�n�y1=���eO6�q3Z�Tp�A��;���w��b-�M�:*�;L%�g��?L`R�= 8��`�,�
b�OZO$��'J�/\
h󯽷����H[�<:,]�z�5*�q񹧩�\:�|3S����aiz9Xg��
���ҵ����+�Nij��_�=a3��7b��������L��pL��T�ĕ�r]=�B�D�
s�-�"E�ޗ�جgc���~s����D�N{�$�\sU�~Kv3G�j�>a�f	�WU�S�g5=�Dαt\Ҡr
�?ɬE��縒�
5nN���s�\� [...]
+
!.6��0۷d�r=Ђm�J�
)��^[9
hw]f򽑂���b6b3l�M�!ɗ[ܤ[3��ə�3��UM����k��\5n�r��:_���#��~�Ew��إ>��}G��
�ڕ����d�$E�@w�8կ$����F�fb��k�0���d�
+endstream
 endobj
-2128 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12192 0 R
-/FirstChar 0
-/LastChar 20
-/Widths 12193 0 R
-/BaseFont /UJENEN+CMSY9
-/FontDescriptor 2126 0 R
->> endobj
-2126 0 obj <<
-/Ascent 750
+12195 0 obj <<
+/Type /FontDescriptor
+/FontName /OMWOOP+CMMI6
+/Flags 4
+/FontBBox [11 -250 1241 750]
+/Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /UJENEN+CMSY9
-/ItalicAngle -14.035
-/StemV 87
+/ItalicAngle -14
+/StemV 85
 /XHeight 431
-/FontBBox [-30 -958 1146 777]
-/Flags 4
-/CharSet (/minus/asteriskmath/lessequal)
-/FontFile 2127 0 R
->> endobj
-12193 0 obj
-[799 0 0 514 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 799 ]
-endobj
-12192 0 obj <<
-/Type /Encoding
-/Differences [ 0 /minus 1/.notdef 3/asteriskmath 4/.notdef 20/lessequal 21/.notdef]
+/CharSet (/d/e/m/n/u)
+/FontFile 12194 0 R
 >> endobj
-2115 0 obj <<
-/Length1 771
-/Length2 1151
-/Length3 532
-/Length 1720      
+12196 0 obj <<
+/Length1 1006
+/Length2 4498
+/Length3 0
+/Length 5158      
 /Filter /FlateDecode
 >>
 stream
-x��RkTS�ź
�y
��*#yA��@(J 
�H	�'�jr/�L e��.䡆�F�DTEGE����Q�  �(>���5����WW��s���}�9���|7.�'�@
��1�
���L`���$
-ş�9�c9� ���'X�,L6��a�9,���$%���`���)p��@�
��D(5j�Dž(�+��+���S'd`=�A""T�T(	P�b$ڔ�`L��GIN��J���h
-,���
M"8&Q�H�P�8
��7l�L�HB�)��~�HQ��.MJ�C�p�Lj4�h�4Y:�,HP!K pcxP�
qT�* �ʅ�@$���41d�c~�>ha����y_�r���p��#�I�eO׌_kcH� �T:�a$קݦ�VcB
A11`�<�� J�(�d�@� *��iT
�� c2�@���{����dS�G�	h⩷gLo
-�����47w:pc����LO�f����(L&�ɧ��1�O�5f
-�
-I�n\�ssA��ʌ�e���,�9}��z���ț:��]��ft~i��ٌ��><��"b=$�sUW��4�6W,,/-��
����(io��
�z�s�Oj�b����})Ms�C��䑽f�=���-�u���'�I�J·�è������Ax�+ﰏ-~���u��][�E^�Jx��O��T�?���MЫ/��z�>�ԉ<��O��p��W%�>���ʑ���R��
����}�4g?�
�,�K9Ц8�oS+gh�

kҊWڵڭ��������m�zT�6?���v�L�~�$����*���`yJ��h��jX�Ǖe4��?|�[w|��(����*�
��޹��9\���oI9��Iu`���W��vQimy
+��/_��
���g/N����i"���LT����(��K�%�!��'��KL
��/<���,-�#
-H�>�ؙ:�����(���r��%�i�-�t��m5���׬x�=�CN[�fI��n�:�_�,���L��fQ�vc�&�& ��Óe
�E��"�\���.V9xdZe��
-����v�h�@{��]�J�6����;�}�<��3>6�8,�>��jȪ�b��>R��v�Y�c�Ayk1cƆ�O�������7�$�%�+���Nk*Rĥͭ��S���t�����,J
��Q�~���;�Q��&w��
�Eջ�����T�+n��ۑ����P
?l��1��\���lX{~D�Q��"�u��P�^|�}wL{I�ȗV>~t�wU�*��o�M��>TsS�a�"�tҹ���3&A76
��#cIK#�{��p�g�!e�㸯�v䟸�9��q�,׼/�3[R<�3�;y?�JV��u>�N����ck��C��$
�'�O뗹�4�
�sy�ML��<�]��͏�b���ʷ1�1K��u4r@\
�0�klT�p�a�C��L�=P_��������j��Ró�q���%Wz��Կ�_��|�]��v[B
AP|���[{r�V�
����cܪ
yȾ~���w����F|߲xmuّ��N�/���E�
{�v=��z��X1�dG�>!�
�R�z��9p��@w'��,�h�jx‰�De��|�7��,��}mL�m��q)~]�����
�ݹ��o
��
nq�
-S�T}�׾��Z���t����4m��Up�������j�o�
�cj�e�����	�
-9.[H�|i��endstream
+xڭ�y<T��Ǒ-��לȝ}flٲd��%"�`03�-d)[�d'[Ⱦ��R�!�N�,ٷ�%䙺��W����y���y_��u]�s^�ﲾ��2k�T�b�D��PY@Ӻ�!
+>>��
+�Q�tC�P)@�� �d%��7��u�vA�ڹ�*?���h�
���,��h|
kKG�k�B�y�ʎ����
W� �t�@"D)�P ��v���(
��$-�
������������) �E"�Go ��� �b�ݐx-���]\���Q�����A����r��� ,���
����
�ߡ��k�!(w�Zn��(ke��#�J�B$���\�Q^H�>�����ttE��#1�+�����������ߋ��ӷDa�ny;!���_
������ S�(���������@al1I)����қ�/%&)	<�(
� �����>�����P�ܪ�$ V�i��� ��~i`��$���C�?	�F���O F��P ��� ��������@|g�ߪ�
������
]�]PNn���#������P
_���������&o��z=� "b����P�$����Y��� 1n�^�i��mP��Dz!�)&ǰ�r��kB
+��r
+I\9���4=�J�ݘ��qy�
y�
�1�
UD��u�����g�Q��|`~<�f�J1$۱�03'�et�Т��W&�����L�~��h")�Y�^�fۊ .;��wx�;?I���]N���Q��4^����}S����ű��|c�1��23�0M�,�$va�Cf�^���lZ�>7��>A��𮶄�^
�[x�Ko�PZ��H�=(����~x����2>O������)4�h��j7�(�XU�su��z��h�
��p�ȥ
gMO
��Lϼ�+?��'����;"#�Q�a��q;������c�4��Ṣ�.��
Q52n��b�;�B�T�b�G˚?����Wk
+�}4���Ԥ
+���������鯹�����F�d�NUă��v8	�F�� ��D'B^�u��d����&����2�{{
�<
%��
9
�q>&�&ˬw���;EYp�F�����L?gP���r5�L���9x���� G���
-�Q2��;��0F҂�[��W+1n#�ߔ=��N�Q� }Bq߷��6�tfx��K'��A��
8e�o}�4N
�COd]�wš��WRu�
(.��i7`����_�j���'�ܒ	��x7Z�z5�*dv֞)�<�/��/����G��p�y��N&]��o���
��c��oU{���ݧ�;
+��)7�yc2�e�nx}�~��2��2/Ţe�݈� �M:�	QP��b����
�Y'�
4��	?2�P
��l�VXY���Q��N}���R��/)�`w�lGq2=$�,�i�=
ң� ���i{X7����b�2�z-��i�&p�g&R�J��ө2��v�S4�kSC�������CBxZ��+��yM��C)��N�}�h��t��I���A,���n�����']��=&$
s

�S�30��;��hDI%|���
+��b��b��Xk32n�

�ʞtkG~
�H����AZ��iŧ������p�l��i{/B��eyK�3������o
��ܝCZKL.H"������T�Í�A�U���j���z���E�D6
�v����x&����Tv�YlZs��^��^�$�3b�u�D��BESԷ<���a���R1a�*p"E����������*����`ys���gv'�+�=U��.V������U��
eq�H�j�VmJ(~UѾ[�����dp�ew�!<`%���

I��E��6�ɓp?��nn��*�g�����B�km�tcDh��0"�V����uU����t�
.�v,�pDҗ��ۍ�!�ܾ�G��z*���\-)�o��B�Ya�C�4��t������䳺#>=���ݙT��z|��i[�1r���z�9RR!w at H$~Q�ݥ=�J-Bq��k{�Q�1�������H
��5�֯�7T!z:E:;�xzj��5���(z����A=���>��'��ֿ۶��r�����"�i	�ω�7pFPqr^�M�G���ۘ�/	]�[qd?�g��e�2t�Kmy�]WОb�uA��z���\;	�����٭����wU�1]e#�
<�Z�E��L���Y*�]M�8�f8Ƹ7��QƁ����r�w��CE����ր@�9����/���U��s��=��o����jL�r%�/&�RY�
�N�k��v�
���0����"x�6\=D�*�M��T8��V�NP���.�􏘐�p�R6/��i8Q
���{�ɼ�$%�;jέB�f%t?? [...]
��s.�(“�
+N������ie>[e=vм���Ft���ѡ
�O�cz�`$;
OwP��r�E�׾��`���ش�繓g�ycMJ@)|oT�7w�Q+7�ؼ �\�#W?V[l7ϳQ������]P��W�B��#�kv5oq�����5�d�{�����m�t�ϓK%Y3
+�7?�Z�"���)�
+����� {�l�~�����ʞ89��m������š�ߨ1���I�ê0_rt�n��Ȭ~ ��Uxi�UQ�nz@�:'�>H̗3����v�U���1X�6����<�?�>�"�pQs#��[��.Q���@YA�b�Sj��9�̨��uRF���
7;
1�=�~��4��4mU�P�؀Sbg:��/\�����_3��&7�X��//t!K��gь����4�4o�h]
׷�O�>�]�A��x��a=�/]�v3W=��
&��|;쳟
k���:E���f�fj���6fkR�ir���$��Z��v�ba��C��5m�z�c��=�{t�,i�վ�����-����-�1Y"������
k���ԡo%���aJpU�k�IJ����^�V����A�;���`���q�ᆵ��:�M1�%wQW�԰ISb�Ө�����I
Y�U��3��t�7O-B�Rض��"��V]�����|>�Ɨ��/�m�@G��ͮ�CUMT�Z_���>���
욹���o*F2��z~�E�
+\qb��ඊiO
u��aM_ݷ�/��l���2��I"3��'����l[��>W�h��.�h�G=�����]��,"�P22'�5 � �-� Й�Y�{�FOyM�z7et�S�� H0�C���#sv�� 
+U�>�7ۨ�H��X
Uvg6��{s��\�]��z���A��ÇJW8
f
R�P�����J

���O4��L_��}���wI/L5yMo��r�
+5�ZTT��ѣ
~�#�.Sۛ�͐���h���V�w$�|.�[O��.�o
�,v�R�rD��3c�=�	����@a4�z,.+�
X�"%O�RU�-�Y.�ހ�M�~~�ሌ�H$��S�R����ٓ���|��0���EK7/��!�l[l��T:�
�^Z˵�������G<)��[\	����x�A�����2�S�MbQ�_ZE��,�̎�3����-*^��e
c��JC�T���
];�}#{�I5i3��`�
�8e_����
EH���[>�[Ҳ+����)��Q�Rͅ��s��T
T���3����a	ZRj�������Ԫ�ۈ=�wn��'(���ЊW��JW}����!�DS�Լ�#��ᇰ�g�
�a��r�
+����zW_��fs�O
>����mDz��ͧ	n�^�*�3v]�5��5�
���S at 7r�L�Y� �kI��3�k�4�v�Y��E
B ��
���pa
I����žL*]�P.�2��-�Ƌ�T�zIT�W
���nܺϧӺ��P4r�1��2[y�+F�@���3���م�r��]�`O���D����
+�~���o��d�;�g�o���R��"�)�] 3 \��V(��~;����Α�-eű�mM9n�מM�y��E�풑��m�Snl�)xK�j�|%�T?�P�����1V��s��d�Y�,��nr�b>-��>�5���k��n�
�Q���Me�^��"�L��* O7�.����<șlF������W�[�.)J��,7o�ʜT_��|�B�"�䱬�)�n�h�EׅΌ
��)�����e�����
�sx6{-��ᣬ���0���F���lm�k+�O���)� 9﫞
ќB��t���tb�Rѐꤗ�!�\�!����	�ͳQR�>�&G�'v�d��!�~U�5�����zaD�E��
+4'П��5sv�I���fuwء�����p��v?uQ��-�t�P�������5�D��ǻ�?<y����s=�<�f-��`�����ƶ.��/2�m�J�

�&2�*��4�30���07
+9��W�
��]5e�Α���<���a�;�����5<��_��o$��O�"2d8��Y	����g.�%"4L��m.���#�[�™w�7�gV'pŢ��J�<ǧ}~�{e~�L��0�
ӻ��EɚC�qO)}9�ٝ$��=y�$G��x�ƸO�'$�ڎF�$[�a྾wi�����*}�n�+	��l�H,޾�Mةq�`W�ak���BZ���aK�8��
W�}/J'î�e�2ی��Fۨ?�P
+����W���P
�m^&������A����K�9��i��R-�x��V
�f�3�Ri�4�j�ې����h��d�Ѽ��ǭ��+ZU)&�����e����A�QӲ��0Z"�!�=
Q�X
47\S���79
ٴ#-���`R��6V
,�U=,zeя;�<$�@:�SJP4 Ga�㥿$�Iye9��4��2�����.�/	���Mr�b;ɚ-{#��"��2��
�:r�/�*l����O^�䓃�|�������L
Y��7C�{_�$�o���'L�D��.wU
_��
��
+endstream
 endobj
-2116 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12194 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 12195 0 R
-/BaseFont /OCQJSM+CMMI12
-/FontDescriptor 2114 0 R
->> endobj
-2114 0 obj <<
+12197 0 obj <<
+/Type /FontDescriptor
+/FontName /VFEGCR+CMMI7
+/Flags 4
+/FontBBox [0 -250 1171 750]
 /Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /OCQJSM+CMMI12
-/ItalicAngle -14.04
-/StemV 65
+/ItalicAngle -14
+/StemV 81
 /XHeight 431
-/FontBBox [-30 -250 1026 750]
-/Flags 4
-/CharSet (/less/greater)
-/FontFile 2115 0 R
->> endobj
-12195 0 obj
-[762 0 762 ]
-endobj
-12194 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 60/less 61/.notdef 62/greater 63/.notdef]
+/CharSet (/A/B/a/c/comma/d/e/f/i/j/k/less/lscript/m/n/q/rho/u)
+/FontFile 12196 0 R
 >> endobj
-2042 0 obj <<
+12198 0 obj <<
 /Length1 768
 /Length2 1151
-/Length3 532
-/Length 1718      
+/Length3 0
+/Length 1695      
 /Filter /FlateDecode
 >>
 stream
-x��RkTSWU
-Rb��Rah���`�� �5	�@b�l/�%\�Ʌ��|P��0��c�Vp(`�BU&3"�<T at CyTA�@ŅR�)8��U���k����|��g��s�mCx.L	�aR�
�D�l.7��
-�ޞ�Ð
����
�TOOئ@�Pܽ�^t7�=`cqJ
Gˁ#{�<�
0%0�!)�B�hX��B(�aB�+I��� l��
��2O�E$�
-D�P"a1"%��-H�0��qoZ	0.ӛ�
67�I&E�@G���~���߰�T�O����d^~>�ߵ!	�*�C�$q
-9�.&�q�Rj8��
��di7@���)�0p���(n�8"�CaQ"F�(��
8,-u��o�y[h��aN���
�������W�BM���G�#�`7�D�P�D�z��X2k�T�����
 �8�$P�R4:
$Q"�� N�&���\�IQN��U�QX&�G ��_�>�y���ba�I.47�B��GQ��N�$��(T�8,�/<
}>o�(D)
'�B��z���Rj���E]eFe��
�Y��.כ4>�mэ_���L���c�r��5dQ��KLUs���g�L\���<��p|�^��¦�U����t�F�.;M�}8=�PoT��~���c��w{g��=���ne��Çل��ڠ,X��Љ��	V��ε�ݓ7�zNg�0p;����y���V�7Ows*�&
K�C���4���B��o��!�4k���읲H��
��	ف
��-i?��!_u�/��9����O
���{6��t�1Ab��o�
-�|yzTr뼳�w����H����+��Ef�5,�����G��?9�ˢ�uuۨխ9���²u4(ig�C�#�����/Ȱ�Mn	s��t�x4���[]��-�ؗ�Vr�����y��ìG}
����
&B��|�~��
_��RSm��z7�dz
-K��|^c�a��j�a���E�;]��zrD�6h7�2�>v�epx��Ϙr�90��v%#�}��Y�U�>3o^����Y���-N*0N=�
�_�`׽���_=�����(�i������;s4��z6o��2i��Vj_��O0}W�x�תjKxImf�
f
W��G��J7}F
.�ۈ�Y��A}��j#宎��Օ_����
��`V��)0������D�O�Y��Ru8�b������X����,�X\+��}
+�^
�vr�{� ���_�[>ě����Ɵ���5��T����q8�ԝG�=@s�
>�S����q�����=��
�2��'�Ǵ��)kS�
?q:}S�W��j�w�Mq��[d����5�7t�Kj����e}�ث�IO�x�=o�/i�N-{��i�r��ݿ�}�,�Xy
��{ěn��\�z��*��O���1�L��.@}p�*�Lzf�	�	����_���
-��Ąk#ZM��r�7���nM)�#�]uCh(|9��-#�)��Y$��R�zӝv���A�l*{�2�c�2i�O93�����i3Y���pod�v�G.fٽ��'+�+�k��
ލ�'%ȤV���8�����g�i+I�u7�O[���X��D�[
S��L=���4�ĤB�@
-�e�l+�>�'�=f��M�:�}F�{b�
s�����?] RѶO֬�{td�2��e
]\�xm`�EN���X퐍o~������;��#��WT�n&�+c��K�F�~��
�OQ���c	�+���endstream
+xڭRkTSWU
+R����փ�yA�&AB(���Kr	�\�I0��j�By
�
+
X��aFD@��
+h(�*���PFe
+����w��s�����}�9Ύ�|���Q�҃J�2��
���B!8;s0R"�< R�L@��e�m*)�y�7��ɤ{���`�$V	\9�Eހ%�1D�R��2���>*B`��XR)��?� ��a1�@�1"R�hX��	�yK��x/�bU�[*��)�`s#�M�Q�T�p
�
���`�������*�4
�ͷ��4$C���
+PY�J	c���aL�T	/z��bD%[�+!)"b�%RxP�H�E
Q"jX
�(E� �*�
���:��[�A��#8�m�a�p�+�xP~/���k<"
Q���BŅ�z��Z2k�\�����
 a�!P�V4:
h� ��a5�ոa2I�*�# &Ġa�U4@��4<+�X�(�,���7c�Q�փ�<ht|�J�tJ��E*
��ʅσ��A�HaX
��^T�w$��˩��u��mT��[r�V��\?����M7v�S 8e���Cʭ�	ѓ�1��/����|��u3q��o��擢�={MZ
+�V�
+�=6����6����Pb�Ye���9�_�����}~`�����+s�=�&Dֆf�Ÿ�N��Lp�"�x�eힼ��sF���;�����'
+y��~�l7�2kҵ��cNc�tD���0�gm71��Tm3�c�=�8�A�yi�sN�

+0���j[`���yC}z�%_�޳�4���ԙ��*\���Q��
�n~Ms7
+�QvRO���/3�����
�F?�����р]6��k�F�n�9X�v���Aڝ�̎�NR�?t}I����sKXSܦC��G����gnY��䴒�
w�$/*����f=��!�
T]��ݕ��{o��f��ڸj���{	$��hj��+�ǰ�(�-����Ư2�骦�S#��A�є�Ɛȱ��"�������!�m�+�4���ϻ��[��o����^n�om�y
+�Qm�j���LglX���|�l��uf���h���g?��ɘ���s�S�R�g��辪"S�ˈ�	Fc��
q�/������j�����<v��*�%����"�a�3�s_h_�߷:�y��g�u�W���/
2}�
�Pg
+-����"�H$��3�:���qz
S��fy	�����g��"���b��f��w�����h������Z���[��
���%���5��T
+����w9�2���{(ͩ3��Nu��Υ��Ww��6��8���
7�d��M�~�¥��MQ�X�u6����.�Mʏ�$�\
+��q^��٭��X1��iO�D��=�/�N/{��i�q�꽿���<�xy
��oď���\�z��*�����1�L��)Xwh�*�lzf�I�	ƒ�_�7�
$����#[-�D�q�7���^M)�#�Su����6��
���琼�7śMwەz��9�y���
�
+��8l�7<��t�����d}��û���5��
��H?[�Pq@�>p��^
�)Q!�;3��R���W���n�$
���<k���a���o3L�6��8��D2�
+��R��g[�	1�	��o��Uw�
j�SkΘ7�����t�8���d͚��G�.h��]���3�׆T@�gR�
r���P2�s��`DX����͢te�\{eר�
��3�
+endstream
 endobj
-2043 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12196 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 12197 0 R
-/BaseFont /JQQZOR+CMMI8
-/FontDescriptor 2041 0 R
->> endobj
-2041 0 obj <<
+12199 0 obj <<
+/Type /FontDescriptor
+/FontName /ZRLUIR+CMMI8
+/Flags 4
+/FontBBox [-24 -250 1110 750]
 /Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /JQQZOR+CMMI8
-/ItalicAngle -14.04
+/ItalicAngle -14
 /StemV 78
 /XHeight 431
-/FontBBox [-24 -250 1110 750]
-/Flags 4
-/CharSet (/less/greater)
-/FontFile 2042 0 R
->> endobj
-12197 0 obj
-[826 0 826 ]
-endobj
-12196 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 60/less 61/.notdef 62/greater 63/.notdef]
->> endobj
-12198 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/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/ques [...]
+/CharSet (/greater/less)
+/FontFile 12198 0 R
 >> endobj
-1821 0 obj <<
-/Length1 1642
-/Length2 14402
-/Length3 532
-/Length 15292     
+12200 0 obj <<
+/Length1 881
+/Length2 2068
+/Length3 0
+/Length 2668      
 /Filter /FlateDecode
 >>
 stream
-x��eT\]�.��n�����N�@'@�����Op	�����������>c�{����q{��c��T=U5�Z�Ƣ�P�`�����!v�,
�� e�����:�V"�Ȣ� �9�� �b<H44� 3g0�N��$�Y $A@ ''�C@@ � ��p[Y;��u����s���� =��Vv ڿ7� ��-���/����p�,�6 �������
�^FY
 �9�-B���
(�� ;'����� ��Y��)͉�/���
�d����܁ � f�=������
 vX9��9�=g l�q��'�����%d��ka��K�
-qrv:����JJ�;Ogk3�b;��� ��_K
�埒������:��� � w�b�� `'{3������;��������?3`8���
-l at NNi�r�s:�Y'��������_ސY��
��N KV$ο1��c[�����9;K�����.�����
�u@���
��$�, v6
 
�%�2��oH ���ʬ�}"�7H��"����g��W�������y����.66�f���s�wИ����"�a�b
�gހ��O3[�������Z����g������/ng�W

V�o����� 
U�3�`if������egr�ہ�
-��������_0Mk0��?J���Y���j����d%U�����_ƪ;�Y��
��#�(A,����ϟ!� /ο��pqrx��>�/Q����k%3gG�;���������?��\�); ���p6����u�c�����W�
������_����H+��P��
���y����
��!�e��Ņ�5�.���-�Jӗ�ֆI��V��c��]yƽ�n<��T�y�CO!�m;�^ �qjƉN��ż��}^v���j�ƥ/��\�/
��\
�q����|�iuq�?1���
��&
>����

t]���3��!��~@���w�%�ת�%5rb~��ة[�=I!�#�U���!"\!�z�ԓ�@�\���)iS�ƥq���d^�Ht�c6���<�o�-�i��c �����#F�>9V��9TB|1��ʌ�e�|J%\*۫n��2���}�(c�����l �n�*d��<��.2g�zҚ��nLi �p�Lk�4�ַXk��+�R��S/���.SLt
E�e�9=`Aӆ���q��4w���
�S�`���H
���J�I�t�H
��k��Ϋ�D#�j��k�MV�@2�d���݆��o��}��u;u�F���*�+�
#
g,Ju/��\�|����G=~S
�e�&���]�;H�sX�
d&\���HH����z����V�0M���^��&�]���ҧ~�{

�����������F��T(	�{�{�[>jj�����FW?������l�(��O��`�Aq�������#�3/��d�
��Wƥ�Ӿ3g
��z��f���z��|��]d.?��'�!���O�e��Se<�p�m���PeY���o���E���
sm��Uٿ�\���	��#
�B�\;f�t��]�~�CW�bܶ�h��0{
k�{������"7z0VH�7t}�⋼�� d�
F40n��c[#�5��U� 1��|����N���v*�
i�Jɓh��ax��
��
sy2�
F��G8���7��
]�x��3�������WLr��AĹ���78�0YLo~����1�ջRf+�����~�{����@�Z�xs�7��Y��y#T��T�؟}3�!Ri;�
U�wn�BХ�����̈��$	�no]�&��
ltx�(��w��i����L�Ke�6���
��5�f��|�Q�jjN�oE6ˎ��b�22�,%*_*�!��l�N�(	~�
E�d(�\\1!���;�j�‰�5%OM`y�z�1��i*D�!��ʰ�m�
�m���d�
�n�EC����t���ו;��t��5B���܌0xe�vD��(Q�b��L��ׄ"x��\2
��FUf�My̪%JbIJ9�Yc���m
y����a���%x�=����(�q�n����o[{�
���刞�9-h<�G�I}20�"��t��?m������k_�L���j����X�,��dp��:���
��
��V2�����y8�
v��O�II6�݀>Km��S�����̓���|�	�Wh��:Ǻ{���M�键M緬���=�W�����"�S�.j���"��Nw���� �
����x�LI���2��u�����eI��L���=��b��)��'9<��K��@5Z5�ؑv�sWE&�r��մ=t������u(�ߐ�5�:Un�}\�
��E�o"s�~�v�?�;�_P�_Ocx�{�4�2��nX
n�Po���3h���8<?|�[�/�edC�^�jf�
�g�d6�n�
-]�2���%<{l{�UYu�X�Y3���E�3
I�P�||h�Ŭ!4Xg
-��H_<��z(���
aj(�v�
�l.�k��W��4�>Ę^�;��D��ڐ": ��q�$��ޭM��b̼�MŨ�̦��
�4�,��4�Q�r[2��L�\����^�NOLJ))����*;|hX���oW0]W�߃�M
���o_Pú��S
WG���hr�Z�y�
�A�T���`J��P�S�;�Cԕ��^��U�I��Io�8���Vk���'�č�F�PoN��x��G'���-
�j�ӚhId����߅�^���ɡ��L���В4�0.�n�Qh�'/�;7˘��q��\�l
.rD�&�d;~������х+�

_� �
�]^��+}��@
��e��
�F��(Qo��
��_>��P��47�������G
�����^H���m9#�v�g�O����~
��\��?
�[Pg��;Ĉ~���	�#gdc�����9���@��V�kdx���n���(� ��o��~��
�����-���'%�w�
���P�/G�,�\�às}��A����N��;,L=��0
�)?Νנ����k�
����n�

��3�
-�yI
M\����]1�u�s���Y�Z:�M&��鳿匪_��n%%������e8��|2�C�3��M��X�'�S��1.��t��՗ŘJ�8z���憖#��0��|�}
->����������w�Ͽ��/\~���*�
��ĩ�R�ܽ/ZZ�:��2��3�d�hE
-���mľ�}杖2
�����*Q�M%�a^[A
i�
-�����;�*�%&���jH N
�7����s��v���6_M
�+0� ��L8u)}
-���
�����RFx�T��FH/|
-m�2"��#9���TGR�h�a���^%&��6�%�jv?�s�ҝ&�z�; ��$�s).5s�Y���p�T͘�6̘i��4��� �Pi|��u�,�b���~�q��EP�l�8��]~�
Dp��uT�Z(+�h��re�v���ș��agsk<Y�f���9���aI���B3��K���=X8�����lE�'E�Rk��w���U$.�V���ݻy���8w"��e��"�#tԲJ(d^�
Pq�
��6M�T4�eꦿ���o�~r%�L��:TK�Yp
�?
Gפu
-��fd��2`��.�������0���0+[��:��
�>���ń�hDeTcV.z�:7$6���}3탊����ב[E�-

-E�
�C�����0�Jx�)0x&�rk+C �jW
,�p��e���T��D�;Z���2ϝ
S�.q�=��e=`�O�=����%K1�.H�G���Ɓ_W˧7?I��|͙�*g]�%���Н���&DZ^p�_��$�ڰT|O���ǯX�MiP~��.�h�]o����?tj��=q~�WÝ�j7sHɤU*��5`##|9�����
�|�q'K�ȿ�P at PBj��;�)�?��t
����
_���4��e�
��ȇ �a������#��.]��)�6%tmɱGY�^T�
��븃]Y
#8G���v�I�5;
-�x�q�!�	܎�
������b
�)��dR=D!#,�
�8�3�{�#i�SCU��e!����.w7�}��ugX~g�aR�:A�<Niqq���Oe)�:�*n�yXBغ8�_�=�gf|�L�
�����1��\��|ؿ�~�,s
��s^�h#���?��s�����5�@5��V��lJ�?2�i�a�~8��z�aiT��(�V

�G/
y���S:

-�4�B�H}ZZ{
M�Q�e�=�Ԍ\݀uD�ͨ;-�?�k�	��������S
-�ҹ�"�r�P��3vk�.6d��o����:��"ǜ�����9;��Q9D��@���[�~%�5��t���>�7p
�N{K/��7�����w��i����"�e]|�U��&�v�~m�On����F���it?�����C-:�g�J`�'Q�P��z�嗃�ajeI�|���N���z[�@�W�.�_sш�_,�CL
4O��Llh
�5�n��1���`t�+�J��!1*���Z6�2."ˍB��e�7t�ST5�U�|69����&��4��_���<r�+Z�.J��W��(� �P�0S3z��f�?�"���hִ�1zX��v���
-{G᠌:��m�@e'N
-�c�1��ǡ�ppG5����
E�P7�������E��'�uxa{'�ڞ�H�19i`o<��ݯ�e��e
�P�`R:tfy~�2�k�
��]�ޣ u�0���)I�M��b���qh�h��&��c�I��tQ<d��i��[p�B%(b�;�"l9��}(�f�
-+ݐb�>�|2�ɐ���H&�$4�}����X$����3��:TN���E�>1���?����
.��\t����!*7���Kw��
�	۳_���ױ����@�L|8s�>[k�_�]f}wWA��2����H�
�1z��k�B!
ڡ��gk�����J%��e���@��M�X�&�X�Ȫhw%�Zu(u���p��սR�V�x&%���.��S�'��m�۷h�O,�0���P	tѓ9ڴ���bX3���
�4��R.N����s�>j
�����A3�oE��q!L"1µ��T��}~��Yp�.��b�
��ʳ8ߗy5Ik�T�P}�����Z���Sg�b���CY��$�"H�D�����E�8E6�7���Z�܆K�獵�;O4�
-er?�nJ\��a�a�e�f�*,�@�|z��l�F��%R�X�<�����-ğaR�*+��LW[[`��BQQ9gX�!�'� �$*�C-�i�
{���1A:**G���R[�"*K�A�F
����QlV����;e�H����'	�=SSL���w��\������K��cSY�23�c�Qp��E�8e�R��Qi�������
���t=4}�l	d���.�f�>�o�_v+t+� �[IT�#�.b7��2}�����t�1؊�
��tvA���p��G����΍
ܘ#(s0�6�R��ݦYt����?�E�=�D�  �o"�$���,��>d�xe#u�˺���>�[���\���$�E�_�����Ɵͪ"��c0*�]P-A�-+p@
�ȴY����\#~����b*������OU��Mm�����P[�>�qd����wF�
7���8�����l�!�|,��öw�"�d���9��������a��Wi�("���4`����0L�ޯ�N=t���(��TKd�����<�m*���OirH��f^`u���KlY�h��yQ"��n�J�g�d"u
�b*�t4x⸩�
-&Œ��L��g�������{��S����:�]Ѳm̾��r
-�*/���[��x�)L�5^�
��]�f�
8�r�
��wD~�y�J�wh���:�4+Q�O�JFuK���l���Š'̖�DF���<D���#����K㛭UK���x���9��m(�
ՉӠ_xn���w��YY������S&�}�-��9Ndy8ë�����@5(e�
�!H�v�n,}O:w /
�j��/�9>`��M������Fc�Cs�� ,DXH����0�p�J�Q�)ټSD,ǧ�U���An���7��չ�t)�
;ĩ9  �	���I�Dq0��~���j�
��3��)~F�kf��$ô�(/�׬����x#�[�M���8b8�i�7#�iwa�^�t�؛pz�`TA����g�6��L��c.>,�)��YC�b(X�|zy]���z �v�8{�ч�A���`��3�:Ԝ�����<�81sKƒ\����$AB�)�J2�����
'$�=4
>4'R��Ni�	S|�*����};E�G�J.��V�{]�NJ��rHT��
-�|��F]PM�
����q=�ZX�?{*)�}�ZԞM'��.
�
-V��|
zJa��n�F�@jVj�S ����uΎ���"�#��
-�N��Ϥ&j�
¯P
�jH��
m��,ޕ��%C�?��bjߥ��h<U�D��	t��Y��~�b�˲B$�>nAz�-趐���z���%��
��ƥ��p9���u�T�[�
-O��*��o�l����'c���
|F�l7����y&��`В
BRk�q �%��*��rË�y�"��7K�|-���:�G-��7�t�+�IK��ݽ��,W#?�0�gY5gh|�P>�ZD\���mo�;� �qY��96��B�ԇ�����X/
�N���B9��%��ҧ�f�v:]�aAO���Y����gq��)��uc^!—\MJ�7z�1
�%��
*���)��2���(F]b�����Ol����T���
7��>ӿ�J�RZ(%[|MHM��L��� ��>�&�x�V� i m^�֒��`\3v����d`F��@��W^�t�b�
���N�h��G>��~��2��u�8Z�o�j�h;�
G-p
���Z�
-�I��Z]����r�/!/��Ө1_�ޑsw�)���B�7�)�8\
�m�S���S(m��r�K�M4
fs��y�>�x��-
����ۋ��2��]�i�G>���L��6��R����," 4t0�(_��UPPG�������@�N��u�,O��R��$
s��t�nMĻ.R,����V�����U�����~�⾪���/�/(�!�r�*y`k�DX��V^�tG��)'

��[�)�	�z塮�M�w�DEm��ś�=��걹���
��!VF#���H%�I||���y�,�܁Oؓ�FaW}t;������h� PFTEm�����xDm2J�ry�	Z�ĕ/(Ue�x��-��X
9{߶
k�8�\v��i٠<Bu��XB��+)��9m���v
�d6�Y�4l.r�'�$	�*�͒�-!�y�P������g)c듺N�\2�1����d3$�7؀<F!�t�a��J�:,u_n���8~-���Zo�y�#CC�-y;��6+�L�� ��\�
"Xg��
~��x�jђ����1�Д|-/\a
���]�3zĢv�N\
-֏��&�VSp�����w��b�� ���Q1�ScF�%ӯ�v��`�ɺ��\������r���~#��¹���C3�׵�̎G�
C�(�e����>{
����l2�<�F��WL�X�忞���)�K�"k��Q�c|n��7A0��D�iYpvM�	R\-a�
&1h,�Prf��J�:��BO��8�`�y��
�
-y�gMIJ�-�����nF���Ҷ��{�jw�{q���X������!��YG?��'�$�D�gΌo���c�e%�.�-�),ŦU��
��k뺐��m!� (.r���C���I��?�\k�a+��N��H�`X���ʭw�P�v�o�D�
���0���?ȍO,���T��m̿f:�w\
k�I�,���m�i3Q1��Sd
0�K\�:X�F��]J�/F�}T��� �Q��Y3���DhaTT�w��ۉ��#�i&���v�Hm�DkQ�6��^�Z��j�/I���0z�����f
�@��"��qENpY���0ʸ��w_���ۥD�x*��N�ߗ6At��G���2R���U��0r-z4�����
`[�SI�-���*�����ͽT9Ad�G
��d
_
-����㥦�p�G����̎<I�\��,\v�Hci�$�Y�[i՟�����¾����}m���.�h��N;�wR%Bz&����pn��Y�rzC��ɦ
5;�R�-�o1�T�)��z�M�v�$Q2�
�a�#��
���O��~
�|�E񔨵՛/��Iw��eN�w*�B��恦���{��zg�0y0���;]�'�D�.�]��
-��Ô]DvkK"�����_ᷭ�Ԃ^�j����U�|x��s��)�x:����R�v�<=ߥ>L��o�J=|(�
���[��@F�WX��BJ*��P
܈7��a���)�l���aq���|�14�<�7OH0��O
��B�H5�RG�5�;r$��{]O��%����7�]�$Wi5D��hщ�2
�$�`�
`�";l+.$�2�ň]V௑`���<�#��P;�u���#�E���~��Ƚ ���UܑGl�E�I`
�Yh�
�C��
-f~[���-7
-���t&'`�X����U���W=��CV9t��Y>�i�O��&�㦹�7��gD^7F}�,�����*n˘����[8�����44���)H����^��=<j�ց��2l���
���ֶV��^��&��]��s�R��a�-�>eV�O��X�å��_zVʙ���~��`��hFپE����C0
����~u='��.����[�e��r�5�t[�̩�S�/�Ԟ�8�����w�?
*qn��0�o�p���!�����=)
�s��9&��0�����T?�y�$խ
�E�oĝ�#��\v���^���u��ؾy��]�����N������%���5�0O����5�������a���(�yr)�� �:b�;�j�����:E�(���%zo�U�g -rF�5Xs�vjI�W��a�D
5��]���WA5�v���G�s�ט�^ph��Fn	*)��ɀIE��F-����l�ԏ	[#ٯb:����W�|�O��w���tVm���
�!�s����]I��kW@��*�Jo��ue [...]
-K
2�
-�6n�p�i+�4xP��6\�b[c���H��C����v��1�t�n�,v�~��AwAR;m���ۀ�H|Mg�{�?
�(�D����
X���9X��j|���kQ���%��0S�i7)��V<HU���J`߄"�����#N匇/
��:>�>?1��N�d~%(��C9A����Z��Ī��1AG+ס��������q_t�/ji��~�/ H&6c����7į&����it*,3
h��N�dž���
-i��h��=S'�#����GKGb��8=P�1�<��mq�j�5���P�C7����u��7�u�gz'������F�OL5 6�9� ��
&҂Ɍ��~j
��T��5�ɰ���'�m}7i�O��3Q��Gm�SNw��+�)�bs�$'{�mt�|J�
��s
+Gұ�k�T�V��m��Q9���(�+5���ϔ�o���L�
񁃶R���O�3�'����cH���u��C,X=�i�zI̢BC����ҳ�p��n78�{��t>���o�,���əG,{��kq�+��`�����R�{ݩ`�%|'%�77&�wɃ�޾�
<,�D,\˘��3�dsE�P��m��C��7QѦ|���G�
=X�I��tt^���x��,R��}1𧨱/��&�
-
��B <��;
-���;\g����x]H�I���^�����Q
�~
�����c�!�(�E�,iW9
/�c7��d"�ȶ��{fWr�d�
-h���Ia
u��E�V��1y
�xr�e:#9�]^�����
�3��rG�瓔�	n���}&�R�<����I�߼&��5�WVf!?gʴ5��-��U�����gݗpI��׆;o;$��
�kr�o_����&��8t�����;�}�H�7��|�\k
v��H&1�4��Ʋ�;t�v�a�ٚ22 at J�3Gu�>�\D!(�_��Z䒮�~&x�4�ނ�
�!�t!42H�2Z���'艢�7��8������e
��
���(ݜI� 5��'���[W#�$�z�w##��f��T����VP�,�7�*9E��K�h��gζ4졦��y�y^76h�
|~?�mm�����O�nܼ")�K
��>�6� q�U�_T.�DI�V��������	m{�η�&����
-�f�E�`��O΁Xy���J�y���-I`�g�1o���ė�O�D�A��Ʊ��
-N��5 �7-�����:�־�!nK]�D�.A��R��a��O��>�O(X!o�G��-r8��R���FW�-v!��&�C�h*E�"}�pP%Vϖ��uG<af�GH��y��<�L���?=>��6�j3zw�N�|�{`�'��H[����Z�a���Ac��w�����l�*̻�^4�xŻ��L���\�S��+��[��XL�Ʉ��H�I.�<���җ�0��'���]~~&�8����&�+>

�|�n
�໱��֙U�ɩ?sG/������\�̿5�fe����!f >���K^�zк�a]8h[�F�V��H��7C�1��λ
��[�oF�����
�i�L@�,�
L�u�z��N�)��P@�O.{|ŃX$���(�{X�P��
{� �
2�R�Z�#yXRko�xj
1���� �
0=x.�PT�K����d:�˜��T�n�z�jOf�S=�k.���V�
-Drxb
176�k.�z���jO�쥍��w��w\��<��
p�{�c��O{1 �Y��1+z>�ƿ6���]fC`=lPX;_��:��v�YSd��?L�MG�Y
-$ڨP����1��4u��G���u
��*w���W�R��a�pw�5�����c$3�JQV�j�<V[Dp�

�v���Ќ�s}-s�P:��um�,���w�k�$ya^���(ϒ�;h��H�T�8~0
+s=��
`!i�!�������|��Z���B"��,���u`��}��e2��'
�m��5;k
��NI�ˀ�}�����ϧ���
g�*�1����������h
���
ߙ�!�ړ�c�2�X��^��|݈�o3�rW���u2 /P��gY�V�+	�7�����b�2!+R���q	S���uH���Ω�T�/�@�B_F*^����U�-CG١7�(�|�"�T
���Q<���Lw��R?LB/W��g�<ȏ��hf���~3�)��P��Y�dS$'8n!���td
Ę���w��>�қF�DK!н5L7�qTZ�'���KM������l�dP��3�~aS�MC�S�p�����@�߱�1pZ^99��n��)�l�]��V�D�0�F���?��'hu
�a
�n���o"��p�Zئb

:Ȑ
��ֽ�<�,����*D�}=����t���U�~�����
/O�9�E�)񔚫���_K1������ ך��Y5�DY����p+�N�Htϯ�
&��DZm��n��>�Y��=�ۂy���f{��EX�6�I����b��`��,�ݖG�ܶ��d���F:�z��Hr�*�
m_f�ڥḳ���2#�I�B2�;.�$ȡ���S?�x��,'Ry�ڀ{t�o�߷�~<8��40=e�l
N��OQi�% ������9+�j�j��׷=\���JYpy ;,�*Y[�ǧ�4�1��uO�m"Ȟ���*�@pW�y]��1j%[�;�0Y�*ʝ`�����%�;��
�5EyM�� !�ĥ�Y
�U���
γ�
-�`��ZZ����	yow-�4�^��Y��ܨӲX��V���8Vb���zƣ4+Q啅ZF�K؆����Pv�݋��)�H�w�FObk�_�$<
㩭�>-3 ��V:�
F�+��c�\���A
�&���ſf�yf[��>a@��Y���z�C-�
'�
�Ǫ(hk� �߬�,p_=�g/�
J{�����G��@\~�7�D
2y�Q,#�ʸՀ�l�X�L�
��y<T��gX
б�0�
���
������SV��͡�_�6�er4�lٙ�>J��f�n��F���ܘm��.��J�H��D������9�ԒU��f�'��~s�Sm�e�^��J�F��J�bc?��K�+�T��,-�}�����1J�|j�����
2	�g?��
b*���8�
-�.�v]e@˶e#Vt*���6��b��VĆ��H/��(3!1'�2�r�a���
(-����ۇ�)2�nM�i*��=�m�2?�y��]���
-�
-@`C��i�'bR��H(��_
~����
-�I):lx
��̟.�|��g̼��⏆]<n��Ұ��nOI|��ZA�vǡ�
����}���O]����_L,?g~]����]	�?�X�"Ir5?O��x`��l)�a 环�w,���@��Jv������,L
+zHS*@��"y��cQ���ð-
<���6a띐�u���`����Hf��j�'4���TI�IB��N�N�
�����7_��&(4�����3h{��e�i�^���6%���+�y7M��4^x�I�t��ч
-(���m2�{��w��
T��V�o[[�C9��0���Z��j9
�^Q&��4���HA���$3(
���'3=O�
->���<Sj'{D�Tj���������$���%*��X�����OA1F���2�<��K���<�
�s
6���Xa��S��l����
�zH_9J�V��F��n�Ov��Pi.��L�ۚ��+��ާ�|�{�����<㼌���
����r4)����A#C�'���;�_w�U
���q����)>S���P�F%q�?&�8^[N��Gn�)3�W*de��Z
-	�fH�A��\���̵鰳7��
�?�"���ޠE�"�{o?���D
}V����0A�!\��Ҧw�TNq�Ix��<k�����D��-��µ�/)��K��J��N	!��o8zi�Ҩ��md�
��IG��]=��5���i���r�{��'�
d� �xy@
��ꊻ���sЄ��%|��lVǓ{%���2
B]����u
�F���.s��*����
wF֦��~��\��;��=��%��fZ���Ƈ�V'�k'T���'��x�'cRp�
�&g�
7$�J�n��g|��d�>�t��%܁�&��F(�����:
��
J
h	_,R��Ԝ<���n�� �ѓ������7|�)o�<i_�ѵbd���?
3I�Jb�~���xƦ{D��Ӵ������r���V���l�<����s$[~�r��7xƦFv��צq�!	������#e�T���*
����Ba����l����|߯,�H��c<��.�y�EN���Q����!?�p�;y9&��:3 NK��oum�XI�a�&E(i@�<Ai��7*����2�){(EdtZs��J��b��l�pd���Ǥ��͎�
͊��6�����Rm���(
�0��E�N��?�w����]���J���+�Ͳ�p�Œi��6���
9M>�vw�����wX�N�֖h
R˘Xhrh�+��Ͳ9�+�ߗ��Z�^H*�]?l7�8�G�����
-����F)�]�I]#3s�Hʦ��3�pc
E1�A�2h2M+�����c6?��(p��ᘮ6W*�q�m���yIa
  �j|�5$��� ����l�"I��V+�D˧\��rR���`j���}q
�2T�m��

�gwSi=
����p��q���>�h
�i� �)�Q��%��e?��e��
xg՚�6|G6��V���RTײh�v��x���|�3�����vჵ�aZ�Z�����[��X
9\��R�ɲ�Jt%��K��8
�'�`���q��5�$��N&��&�U�
�	)��[��(�U��v<!�S�+�����o7����̥S����ȟ]�^�֞Kf������$�
�C:j L��AuPHi��K�GO����4����x�w�j°X�7��
P�� ��o�3��R�_���B&�=���	�����~
��6�
���b��
hӸ0���h�N�'G���AB��o��;5�[��|
��P8S�B�I}$
Ni�pm�8�'7��/�cʜ�!T����r�
�}��ν�K���\{56�P��^��F�s+Տ
��h�h�`�.钉�Ν�K��5��>D���S at vִ�4�U�Rw� .X�Q
>�k��`�J���Ov�7U�R��8��-5����
����,t��9&�
Gp��:'[�n�'��
�(l	Қ^�钯���tb	��+�'��Tph����
�k&��Ô��̒틜�B�ιØ�>)V��nVx
-Ƞ嵨>�RL;��J{�~H��ׂ��Ю�%ޏ[\|ܾ��
�@�o#D�1H�ga03~MQ�ۛUq

'�8�t�ӯ��
�GqN�G�WA.�)Ozx�ښ_�ۨI)��M.�4a!m[�
��k
-S=�[$�-l���
)�O;9�7��
[�[@�����mU
�6&t����r⏻�[�w,�"�昹=�s��M�MQ��
��p���P�W�c
i��#�yv�c鏽�&/�Cݞ\@-�0�%n?VV�K��"չS\P�>�?��>\
������]�-W��B�<9��0gduW�ہ�~ϳ��g"o��Vad�\��r鐇��~�0��������F8v(��O$ ����Q"v1�R]؂���w.9=���|�(p�OJE'mJz��=�<�S�V�Bt�z����{�3�i
���` ��*߶��L��njgS�C�08�X�Ȩ�S��b��k*��IՕ.� �Rs�R�'
�7��(v��R�%3<��^��ȭ�9���9
-��&�N[
׸���9E	�����9T��y�Ew�Py�O�a}/
�C�z
������r"���fQCϜ��2����T��Đ�tB�Z�Fe8q�p
)�Rf��#�n^�ʷ|\��F
[��Դ5��ۜ���'ۜ��vs�lq
8k��^�h���샨��&�z~�%��\
�"x)
-���}��ϴaՏ���it9�%c�W"����f������*i�|�n܀hk�2���Tw~��Q%�8�
�Ԧ�����nD`s�dԉ�2��`���8|[&��S0
-��\
-��:2=�1��T�̭�L���I�
�i�9sń4{',�����'���d��
�5s����B��endstream
+xڭRy<�k.E�����[�a2��q�gb�,Y�h̼���;c���2�BQ�娄('�Z�%kC���
qrl}��S�����{�y�뺟����u��\
,ilЎ
�
0H�	`M$��F�tu�� ��`C6>h`�x#`��	`
��	������l���8���z�Iƀ%
�2� R��@����\�T�"K&pY~�\@
�
iH�T>�0 jY���0M���
+�<�( �E�
 IcCL!@�0�[�
�h��������t����/�/��b0��M`�8>��lȅ~L� �j#�4���#K�S�
�%��n$z�W���c��4�O=�)L
�!ڏJ$�}с��v���B|
��Da@|7!�ߓ�Ę��".#�A#�h�$Qr����e
Q�4 `qF �˥ahI),
� 
�� `�D0
+	���'�Ęp���–�jl�
��/��l��
�H���o�@,���o@1A
����������;�e?� ���0�N|]�e��VZY�C�`�'�������Hp� ����������`H����TӨ�FgG�f5ޖ��i�ފ�/=U�j�
�6]��-z�n�R>�|�qG)�C�F���=�
�9�:�Z�Fa���4�5�c��H�fTW*��c��[�9E�
�3=��ҹ�#�kj��Vg��-~�<��+��D�
H��3J
���=�̍۳�����|�f6,��*���(���3��ZS�.ȡ�B�}
0����b�_��\Md5��f���wN���߲���!Ϻi��b\��/;=x��9��
+�h�Z����
����K*�]�/W$��|dZ}���:F�!w+��	+r3�L^ih�/稜iᅯP1�%�Tlor�;��a��3���Ń�\�'7��B�:�c��wd?S'Y��d�9���G�Uq�㴺><�Z�au��[��:E������b�M�zjݜ�$ظ�_9���|P�����^w.�ֺ\��ھU���d��/4NZ	n���9Q>�l�Jm�A�v�=�8�UO��c���]O���m����O�m�M'i^�
+ё�w7���6#�D��6�q�iC
^�������j����[h�/���q�[�H+�MJ�]��ܛ��}W�S\��wl+�H��\�K�S�
e;n��qj���_��)�G�e��TO:,'��Vurj�x^=��סdjM���6uw>��q�8���e��z����R%�����ن�K2��1�~,[��Ҡ�*��*�H$����������/z[a�tRf�V���a��‹J��k�V?[�o{�6�m�V����
+Mŕf��$��p���:�~�XB�|���Gi�5���w�F꜅%+#�_U���_��+���yƞL��<tE�F8�E��CD��z��!�\�H6N�$�i��zj�����`;�d��
޴��;�R�����V��]!R��!�2�� J~�>����ˤ�z��@"wL�k��ͪ��`��zP��i��(�
+���
r�	#�zf��ɗ�b&�i��=����2��<2H#����j��-Wɛ��]Z�

Ƚ7��������ٔ1
/��������%��`���@zku�:�SM<�
E�_����:`o���Giݙ��'#Gw�y��u.{M"�}����Ŀ��[4�
�کf}G�׿�B^y���J�\�,�4h'�^����2�D�#�ԗ��Y�͕Us�98T�ή�r�v>�l� �~��`~�K�SDZ�&wY2!g���ŵ��"er��7 
+?�����0}��0ѱ�O�}g��UG��éjݫ,���!��R�������@K��5Eye�#e���e:�n��w�0!����j�2��CЖ·(E|h$5�V�h���jd��g)v���鎊�6J�=�7�˚�&k��]�U�MK|��u5�L=	-�})��pD{��J=�w��>�&J&�����[�����\��+Ȁ���օ���U5R/�c���&OR��u�B8�um_p?fM�ʦ��B
�v�MQg���xO8�0��u��$Ժ#�$<�T��`��Ӊ��(M�
��ശ-km��
�4��e�d��="8�$��;��X|�h�����G��w�S�c�e.����y��d9��9.����`�f�O
��@�i%�%�����f�+m��uD��~��M�
%ٗ
鎜7�(g��έ��L��sY���5�}�7�}C�	zJ9��xv鶉Q_gq�`�!/sռ"�,)���c��O9��N��h���Ú�L�J��ۮgO��e�t�Oy
(����J�`_��*qBN�� [...]
I6M �x����)_�:���KIR�����+�M�
+|��O����X���d�H�['��
+��R�T��ҡ|�e�:���������R߰���)S��=��Ӯh�vw��d��`��η��Ǩk�Z��F;C��;�g���t�᦮^]�
��I�Ox�?A!xFoy����1:�[0�
z�yOHᄓ�Y�һW~�ؗ�}�2}b��e�m�
�.�[���s}��O_�GG�w
x���_p�p[
�-��
7YZ-=��$�/A�S�E�`��4�
"�?��S.Ln���Xnn�wi�63C�]���K?���2wz9#fg����+M���Ɉ��s9�ï�"kֺth
4���|!�
+endstream
 endobj
-1822 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12198 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 12199 0 R
-/BaseFont /HDPLFJ+NimbusRomNo9L-MediItal
-/FontDescriptor 1820 0 R
->> endobj
-1820 0 obj <<
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/FontName /HDPLFJ+NimbusRomNo9L-MediItal
-/ItalicAngle -15.3
-/StemV 120
-/XHeight 462
-/FontBBox [-200 -324 996 964]
+12201 0 obj <<
+/Type /FontDescriptor
+/FontName /XZSFAY+CMMI9
 /Flags 4
-/CharSet (/fi/hyphen/zero/one/two/colon/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/underscore/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)
-/FontFile 1821 0 R
+/FontBBox [-29 -250 1075 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 74
+/XHeight 431
+/CharSet (/L/comma/e/greater/less/n/triangleleft/triangleright)
+/FontFile 12200 0 R
 >> endobj
-12199 0 obj
-[556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 0 0 500 500 500 0 0 0 0 0 0 0 333 0 0 0 0 0 0 667 667 667 722 667 667 722 778 389 0 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 611 0 0 0 0 500 0 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
-1169 0 obj <<
-/Length1 1630
-/Length2 7267
-/Length3 532
-/Length 8133      
+12202 0 obj <<
+/Length1 912
+/Length2 3316
+/Length3 0
+/Length 3922      
 /Filter /FlateDecode
 >>
 stream
-x��vuT���6
RJ#9�tw)!���0��03tw+-=*���� ��*
�
���sλ~���}�_�����YϽ�����}��^�¤��#g�)��
<��� -���'B���9zj�A��;@��E
�� à
-�
 I�1�
� �, y��/
���`7�3�������
����]$���}x� 07W���
�<�@ 0���1U�R�+k�AP���k� AP�� � - @�
��5�
�
`
@����0�������`�� F 
�P��=��P ���wwv؟���;�;�L��@ �`7�]V
����p������0�;O{��wK�;�;��
E <@>
�sف �`����.�
�
��
O���
-�p��-�
B �h�����m�� ��a��Y��8��
��z��vC��~�*����n����
��A�g��[{�
�9��i�<�R��g*���D�H��?"��Nܿk�����<��Z�Ѳu���.��-h ~�3[8��]��	���l]���wGc�_����aUۻM��:�	�# �����P���u�
@'��-�n���
�� 8
�i�g[�����8��.��"�����/�N�?��*�i<S��w7�O��I�0�u�+��&�����<Ϟ�| �<� 
A!1���0@\@ ��d�C#𯵦�
�0���� ܽ������o4�P �����{�B��ퟆ�0�������k��?c����_g`@��̜,�*�W=C
-�
m�=�n�5o
-C*`���1��67����#������n?��q���QB�Z_��
-��9�
IXQb\�a|V�DY;�	��SKXf��F�+C�zVE78�#(!8��9G�Wa��37� `ƇD���h�U��wXS����u���t�
b���B&�c���"b�qG�ʘ���r�aT�3�hOy%jK갧t�
A9
�9U���jhp$Ԍ
�U�,J����Wdu��L�ʡ�;����Ze���s&?���}�])�T,��'#���K{u��4���g�O�2�n�Z�e2��Bij�5�����&芬QX,��p��i�����Yj�SODu��"�I�vC�lc�ط�	
� R�H:��*��
-�g�-�ϸ)Jkf:{��Ul��8��a���}!u����uh'�O���ظ��XU�����a�+��� ��<Y����
�{šE<B�㤦����A�
02Y����g��0�b8mlu���
]������c�3�o�IM;�}�$?�Yai����
�
�ޛ!㖥ʖ�7q��d�����z\��-*���ws�� <��v\Xk|�y�
�q�=�Q�]"6Ƴ��˸


�p�A�Ƽ��_霥����H$���+�D�|�D�f���5�*Uqe;���"����jbƐ���o��`�s���i� F���	��G��6b�P_o���{��@�o��+���1��(�?!����M�63�fj-�
'
��H��'�MR�MK<g�P?��hM{ўls����I��>���f���DD��/
X�i��d�[��׷CPL�:�������ҕ�4����z�Q���(1�Qa���������O��^#����$��'idOR8
���Ь(��
-�NUV
_ؘ�����58b��5;�7j���ق�z1�~��q#��HV�.|���ɱ�C|��\o�#H�0��mVx
Y�^��6k���E���&����;s��QpI�O;QR�30�%/�2�P^�s_޸�
-�����U�= a#�\�Da��n�M�n<���Ja�(��c�Sl
M�{MI�G�����1��ZH���$u�Y���)��Z��䳿V��U
�_e���s�ܾ�T({��\6�+�LK碃4�=�`(n���eB�X��
����
��
i۲N|x�{&'�h���)x�_�>F����rO\�O=�
�}Ӥu�����m
gz9��Cߘ��S�
���K��x�oL��1w�qo6�}ɧ���:x�e��b I��]�ps>�X��
=9��5�%{:m�/|^�"S��8zZ�W4������ZNˤـ��<eP��5���!�aiw/���B�۫C
��&-��!j��o7��G\<j
����>��#\�O��DoB*D�,
�*~1��Y��*+��E�IDFς�N� ��)rhC�Z�c�?B��e��GXPw�|Vͨ�.o��MF6ߔ%���אV��-��0�^�i at T�.ϦW�™��ŶҁÛe����N�&,Q�+��L+z؃���6�ڕ*?~���|�]Oqi�.-|�d�@YE$�
QV���D�[���
-N: �O��N��1N�(�W�ε�=3��R�rO�H������e�5�P�2ܴ⇈מ��zU]!ej���]�'l#�b��pq诌�(��ȝ��"4�q������������l���v<�O"M+�ba��("	m=А���%,�
�B�1�Q$���&�&?\�Hq�`�&D�>ԕ���E~W4
-�l�R�xR}^����F�x~��:e<�;�
����d�ǣ�4��φk�l���UC�(j�:�s�X� $�	��>��I�
1�n�����m))�EC#O?�N�
� ˚ڪe�-c��^D2�bqe#q��
-[FD��䷓��^�=�V#�H���%�Q�}<�xRݼ �t�Q����Z��M�h!uf��C��al�Z��y4%X�Z��2X�q�e���
-�����K=��?L�'7P*��羦�ə�q��Mz�>�q5f�U��T���������#����z}5��Uo��kOT]2���߃�O�7���w��2V��%@*���J�����)g%'&/�hX&eB%8m$4��
��t�>{_P>�o���_2k3a½�
���GQ>�[��#��I`�4
RS��=��Ƿh��J:�o����
�Uē+�*�����1f���t(Y��Of�1�nQ��v��kM�%�s9���8F���On��P�0=9bOT=��
-M�5�hw��ο�V��Լ�=
����_d�w�>y��B�[
0�5`��
\�@�_�cdž�W�Q��٭�~����`j�%i��l�l1�
�=E*7y�ߛ2�`�lHX�.���Ho�K!�ٌ(���#�
У
����©�:� #��U�Y�2D�ִs�q�i9�5;
�Q��Y��yKX�P�{�ڎ�=
S�ᯗK2�K
����$9�?O�
���O��0/i
�[33Vޯ59�Ҙ��fQ�|������{�I��4��m���*�TB!!V�	
���=��:}�@T��}��Z�'c	�� mqh�|YC��ؖ���f�ՔhkN��r
-Ԥd#}��@�'j'"�u��j�8�RQi�4�6���>|F�w�S�����q<��kv��(�AL�a�o7�����K����W��R�G&!}}�a���p�?�
�W�	_(}��
#��V()מ/��6z�N�Ɲ�C��,�*����K�,�ɡ���\x/�1i���c�tMZ�b™?�
���#��S�*��C�$�߶}Ģ�d0G�����W��<jF�f�9��d���D�Z
~C�&7�
�Vl�\
J�;e�•!���G]����!S9ޯѤ���Z�緮|���kѣ`&ٞ�X��e~)�8zlAB3�G��oF�p�c������H�V���
gi�sXRϯ5��Z� x��Ӹ �Y�iC�Za�#ϗ�}�a8��67~	�\����4�K�Q�Y6��I�t��ߦ�}�_�zw4S*m�Ԃ���Ōk=���-����/��W�7|J���6*,���-N�^��v�����i�J�t�R(��0,w��.
5��]��=]�n�ƽR��K�p]?��L��rn�܀e�Y@#�Z��P�)^�*�R��p������� ���&�䥺��JEl�DbT{� y�
�))���z+�{� nMaW��+>Z�V�.��C�NJ�(sd�#�����F4=�tY�RW��RnLn
�ߏ��zj���
-&��ʀR��r='�WJwݍ�K
���}��q���^�����f��.k_s�(�Z�,�#<���]	
7�"C�]+)�/sx$��&ǰQQ���ڳy�����.����+X�Mn�d��2N~
--�#��
-�b��g�7/�4�:p��qg���2suy�
ff;�^�.��ֺpe��ׯ�>\��=��AD�4�yS�j��D>5�V�I?^�V��7k~
����7���#�,<�
��
���jV�;C�g���'�4�+�9������M�
�qG�Qkߘ�������N~(�8� �ȶ����G,:�Q��Q`�Jc���6�&�$5� �����Wܖ��]�~��v��Z��Ն@�p���w���|�*��6b�`�7����$mS	?n����@�
����53֪k"*��Y��������ʳbe�����6vp�qd2�h�u��w熊&.��a�U�8��y���v���n��L���4��@���������ţ;kL��	o���e�~LX>���2��7��|bCo��7w��
X?E�F��S���^�c��H��%�,B|nr����7EI$)A�x�Y�#�LV�����Ȋ����Ru�D�L�\
-��y����Ic�s�-���`~y�{���������
�X^
޽7M���T.�r�cu�o��O�
14C&����|$���s
�cl��p�2�0,�?���	q-BG��i��ܘ������d�Gf8���CmW$�<1��%p6��
�J��8
�>W����\÷�Z���e�M��3�ʓ�„='�&�sZ ���YK�թ"��s%zK �D\ONjv|
��� Rx�rƽcY�tPK��<���l�Y
���.~�����~�]��*d��J�h}�����0ۅ^Ae���%^
�����J Y/|���I�WKq�b�-�M
-�;<A�5pRé
̻:
2�VRp[��臄 ��nX��a�]��*�
���A]����	��"���
-�x�!Y�m��>�:�
�
ݨ2�[n�X{
͍��t
Ә��>1�&�;�]F*S��)+m���J��|Ђa�A���جVL6�]/������f5ܫh��t��t�@�5���o�d�5�'��s��-�Ú���m�8f^&�o����8!W	�8KKT	�Y|�޴-A�6�x.p�{�si4|�N8���S���@W���Q�N�SA���6�����c>�*|�+t=�/�)2g�䪡�͆���c�;a]f%rNx�6q>�q���@>ޱ������s�]^d���I�z��t.${�f�8{������Q��[r/�
\�ݟ���H�q-C��
*GyX�Dhr��;����Ǐk����ez�8x����*K��Y1�7Qꤾ�藳�ox�Hd��	1�C
�yE
�
�M��W7"�f�6\7c�f'kjY�sp
-��u�+
�??r���]���@j\������:o�/�-�T,a�}��J�!�Bgߵ������S>2U��e���X��2up?�sG�J/���<��
��(2"!=,Ƀ�ӧ��l���4MeKB	
46�~�/���F
Ԍ/A,P��$
B�.fS�r=b�e<�t�e��m�6�[!i7JR���'D���o��T����b�M�t1��ОV!��j�]Oc��~tO��
9��a�8�o'���Q�B�F%��В���JR��E7%�b��2�L���4�`�\Gf+�X��?y����ѳ�d��H',2!'�t(ž:����"4x
��Y51�Y|�#�$�I;���C,?�@��?� �&}�n`��P"���`ߩ��l���տ���`�Vw���Np��oxj�DT���[�=�V0Y�wCʈ
�8�
�5��_�Sz
�#�8�
�����m��|
���SH/
q�8��
-�I��O���Ӌa�|
�K�m�\9��w�]��Tp卫k�,��g��4E�9y�Iq5g�Wё�t4��4���
�,�X�?���<
~+_^�l�8�
-�T�Z$���t����Y�ERo��P
o/�d��Cg\��>;�y��D�
E,X����=N���O/���/��\C�-����|ޣ���YE[Z���"�
��IZ
'��[��r�h�;*e��#�l%�ҍ��*/:��LJ݆�l�D|������.-޴�yC��x�M�9e���/�Q  ���l�6����X��ų��t�'���"I�!&#~۳�ԒM5���C�Y�$�C0B�8�[�h ,ŜL��9�u���%)��j<%8�,%�^'�J��ʎΔ���rG3L��iҠ��ْ
~ʧ�ٜ���J,uQRU�xB�G��[zrB��
/g�Yo��E��n��ijx��H�84��W�<m�d=�	#����
Y�.���cFy3��W5�rwGn�m�Hu
-2��
��L6!�����A:�G�s�
)�
��#I�u8���;����*�zV�a?h}y�O�Vw�m)��3� �;�{i�J��vO�Y�U�7�
Mf��[���=l���=,�o]J��)�"��,׳ʶm�$`�t��傍�yg�	�{8��d���Z�*�,��NL����!-Ϣ���k����pߋ=�R!g��n���M(�?~� ϯ
���
-w)�4w�z��UF�Ol�m0��rb�TV�'��m��=���I
u7Mv�>�_�7�x�
�k`���%�uMy��i�'���<D��^
��
v�N7�h/�W@�h��Ne]��('v����
M'<�佰�6��r3���X/�g�"X}]n�_k̴-�A]L�zw�~:��t�m�i�����sn��)�1
-���s7n�x���s��~ ]4ޡ�v�n������G�=�;E�t�[�?� Μ��c�I�����AU�9�
�_��IB7�Z{��W�jZ+o�yh�s����k�O�Si�ֳ�e�t����5i�g��7>�G����?K�l2bc%qlcݝs��"�Y�r[ǎ9Ξ���ȑ?�x����6Х���ȑ:��C���z��
-Z�T>#��C�X
���|(��$��6�O�_ӵ��(k���4C#����g�
������IX�Cw�{��\��(�}3�•�n�N+��Za�Mc~/M<�xo-4��V?O��Nָ�����6\~���Mx�rw��>����W�|Lt�v>�p��֤�Ǥ��ߨG�x�O��ۀC���jO�ek�͌ҥ
Mk]��
t�����k�,t�}A��}�[����e��K�

-�#�
E���m5;��~f�V��@��:YY�
��a����
�UqLB_]V
󪊡_����Fs��=�����}�g���E �+��y5�m��3
j�"џg-�W�G;�����u�>)x�v��}%:�L:�7��K �'´��f|L��k��T���.W���nM���Y|ҍy��K��{���m��H���P2az9�W]�>.��>��_j���xsU�"o��Dގ0�����7�?���l�3�L���:/���)R��� �������M��R�vP����c�[����������'�	�3�+�8V{�J`Rz������ݷ��A�UxS6�Jj+��4���
-���
�'v�팞R6��A�J��C�d#S��z��$D���7�Pi�������:�=}�*Vjn�C�9�0�,{!�����Z�߻��?%�Ev�v�Z�/y�S>�T1�^�ju��%�X�QL$�ֺO�e�XQ�	f�'�V�Ub�� R�/�Ս��ѱ�y-v��s(-]�;�
(�:����	
�c4�<gXl��xH���5v2�,0���� �x?ӰdU���*�g�U&����a�+��^�*��:�͢6)3 n��6��[����\��(ט{3 �8֣d��Յ��=
�2b�w���Ƣ�Po$�
���Z\�eӬ������C�h�a�C�����X��<���y3U
-X�oH������/�Ŭ ���^M|�g-�Q
h�_FtP�l20v��_`.�}�������� ��6gt"��/�R�'đ��5�k�5vzZ5=�c�䘽ƔO�W��9�Gtt�lI�t[;�D��j�[K�S
-y.���E�E�tQ3ɷm$�*O�����	��  B@�p��-��� ߐ��endstream
+xڭ�y8���Ǚ�,e+��e'��SYF��(�}�
�1��D�JT��%[b(��G��ʒ%ɾ�BD~S���O����=���y}���^�y��qK�Z �1D�
�@���aꀎ��!
� ��IH萰(2�H��"c�عs*��
PP����J�?E��;��ss'�:2?E�����C��)�����@�� ���a�A`@��~�����X�?f�� 
M\�n8�)C�+P�+����{�K��ٔ�&1D>�`]� fDz5,�����'�����P^?��ժ���p��������X`J�`I�Km�����Uǐ�����7<��)��J�q�z�@,�GF��(�/�W
K����}�\@lLL���G�k��#����� ��/����&�p��

���B����ÿ���D
��((� (	�F�DtR(0 G�`l �2L ��[ zcB W"���\飁�~��"5 ��� ��%�>�ҵ�� @�CE ��* [...]
+�k�$j����O&;
qxM�w�e�4
�ʈ����Sn���-�&
0՜��w������׻Ƈ�S1b3�l��M��W�����.�s��ym��雼?�O6��z~�L;�i�`
�4+���{[�mr&]�ѻ�
��[�D�,��&���lW�]��!l݄�T�2�:�m:�s8����T\�3 .yhꀍ繥͖��e���W����š���ZB�
�R�z�4޾[q�ќ׫*N�q�&.ARk�Ϋ��Z܏,9�7wRߐ��@��#��z�$"{������&�
�7iM:L�e���{�@Ҷ�M
�E�i�>
+]`�4Q���������N\�w�yQY�ZܽG���������G.
+tM�r����
�r�NOCC�:�J�=*��u'�����R�\��Y� Gg
���̡�~�i�S$K�B/K���Zﳖ��T;��S!���vG��[�Ė���vx�2&����(��x�
+f������*��g���
6ϲ��
=/V�ݯ���{$W�5@$�g�pd�����~[zD�g�
Q2KN#�2n���J��&}{�o��u<���E@Į�*G
��.�0xg�a:��kaQ��Ռ™������
��@�g�m�����2"GR�ś��r�ɳwd�d�0�;W�}�|�����Y�Jұݘ�����7Ǯ
6o�V�����Ds]*��b�<�,ݷ
�;��=��Ҕ��ˢ��
%�S.ۢ�(o
]	��/U�?��ȇ%{��e��{d�\[�qjte����
��8{7s�sbK�������z��oUS�ur�t��U~''�I}->�
���-���6��
+���ȳmD����R����*��g}8W�4��[�J{^�~�(OS��
���\���ꦦsKe+%��2�/��2�%�����
�Gj�"�G�4��E��?��c긎��*����3��\fcL�I_}0p4õU5P;�y��ҏ��A[���/�2+�Y�p�',���`k�*�g>5|��4���S	ł }�&QZ%7�t�s�q�@�Eہ�f�K�g�
|�&Hm*|h1O$�5Eo�P������&�Q�p�
�
�T�������"-Z��z&q�8�y���������²
� ��k�F��}���0�%iy搖_,t5x�
+=�Fm�>�&_��Т$0���
�"�a
g���}Q:r�$
+>cf�o6��֝:�x�!2�^s)F<���Χ���
��w� 3-
�R��	_(���!��Q���,���MU^�w�N��~q8�L���&��|4��ؕܓ�4�6�ˑ��S��::f&�+����=-i�
+���:Xx%�X�.�hȾflcJ��Rɱ.S�,4)pR��q��ܶ�������U����{̫$� �`Τ�F��|��e���l>�#�d���m�ݽ!e�8/����U_��d���݇ŌM��js7S
�31c��횿
�R\9zu��yJ���
�lw�A��2���s��[�w��&K�c4�*6���
�
��U���:�A�@Q�<؃�
N<��+�d͑
Pk
nP�xQ�4
+/�5���������{)��Èg�7��W�.Ϋ�����)��LH(�xy�JbBf
fJ�f%��G�a����.F�x1�����G�x3$:m��w�*��
�0B���O�K+�w4+�)W�O�U�p�r�^ܬ�%�
�h�?�
���Q�WE��v�>��!O��}:Q�E.=v�K�T�eY��P�\=u5�qS�q��e���F�	
�us52�NJ�US��<�8V��_SاN9~�}
z���)]�S�};5�	,c����k��xA\�b��\���F����0ϳ�ȑW2��M���I,�!�
p��l�g�~��c�
��E\%��.*���i�`� qiO
��˳�ӌM�K
+n寿\��o�˳|5R\�q��w��8��)��i/_͡��I�e%����
��⸺t#��״�^�������%G��s%�=k�W�3�s��?��-�#��K�'���Y3Ghf�~(�jd���
����Qd��Ŋ���Cy��#LJ'��NzU~���9��4�]��4ִ|�ne'3��n��$#���W䵧,Wi]T�*]���u
S
�#����8vzt�nT���
�/c��_��*�a�
["Z�*g4�(C
i9T����/�~
�
�"ߢ�K?�`[-X�t`wCv%��8�񶜇��<Bb�6�I�-؏��՗�r�3�2��m����qy��Z:�Q%��Zue�m<���8e9������S,��/�R���hZV�g��
�Н���6v߄�b��L�-��շ_5�
/z�r�'�$P5�v��+Mx��E�lzA�����&���:��DwgP6t��hu2��2W��-
3+j

�e5��U1-H�Z�xT"88�P��i'|<�?I2�>�\�v�Z�ϱhP�Z���ڤ���IF
A�\y�h������=�f,g��M�	���̰{���z��琾�~���Nε�_`�/��TV5]/4a2
�u�?4�}m�uv�RT�Ϋ-+��kI�zp�x!P�1
�V
+K�����:R��m��Ah��Me�G�UwA���CD������|�7nU�\B�R�[A���}�(�YjR�DD�.����ni��~i�}[c�hL�N���(2*6�
'Θu(���V�	:(f]=��e辙}�@���
��#j��+	w���n������\3�ه{���c��"�w��D�)!g)����u�3|��
w�b��U�-8�e����'�X������A����jZ�ï�hvJ31���0OӐ��>ܔ7Ϟk�\tq|��I�
.��\_4'Yye̛%�I1'�'��'N�qm��?JLYԀ�G�P�7�t��F�9�*�,��i�`�rK=�1Bf�36���Ka*�B$�ƷtQ.O��k��	�*�c|��/m���
*�Om.��8
�RA;��cC��;9�5C
Ͽ\߰vKh)�I�<���pڬϭqt����$B�*l^v����&��&M
�N��o>�H�Zݢ�
i�N�\�<o}i�=.�"�/U�?/
������Ɣ
�P#b;�=�۬�]t�9��'30�T�ˀp
��H�g(�&�%�`�[s4�R^��G��8�j
��8��፯��!��zD�y����/�S{dT+1��f;���c��*��1�昫�i>��:�|�&��~5�o:�7
+�/���ea�
+t۾�3>��-E�)���
C{Xg��u��f
+��Omlgc�S��N�.6"=ݵ�Oֆ���h���e�i��9����t$@�v�^�i� �i�璌K� C��
+endstream
 endobj
-1170 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12198 0 R
-/FirstChar 39
-/LastChar 121
-/Widths 12200 0 R
-/BaseFont /UDALBH+NimbusMonL-ReguObli
-/FontDescriptor 1168 0 R
->> endobj
-1168 0 obj <<
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/FontName /UDALBH+NimbusMonL-ReguObli
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/FontBBox [-61 -237 774 811]
+12203 0 obj <<
+/Type /FontDescriptor
+/FontName /WLMXSH+CMMIB10
 /Flags 4
-/CharSet (/quoteright/period/a/b/d/e/f/g/h/i/l/m/n/o/p/r/s/t/u/v/w/y)
-/FontFile 1169 0 R
+/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 12202 0 R
 >> endobj
-12200 0 obj
-[600 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 600 0 600 600 600 600 600 600 0 0 600 600 600 600 600 0 600 600 600 600 600 600 0 600 ]
-endobj
-800 0 obj <<
+12204 0 obj <<
 /Length1 808
 /Length2 1232
-/Length3 532
-/Length 1815      
+/Length3 0
+/Length 1791      
 /Filter /FlateDecode
 >>
 stream
-x��RiTg��EZt@���$D@�n�!��i6m�-,�Mw5�Umu�tˎ`PpaDQ�DA�FH@&02Qv0b&E�ag
-ԓ�9�k�T����}��w���x����0�	C	:�n
�l���%��ȈF���1q�C���! k@��� n"��K�

k	L,J " 
�1
���O�	A4�C�	�p�0	p�P�,*؍���j�@�����4\���Qs9(`s�(���� ���!�{�+
B�
	!� ģR�t�����a�b���+�ǀ�4O$xW: �Br
��튆�\������ʧ��c�<�T���>��A�9Q+�>P�D���-⏞�
�ވs��Ƹ
�ڣ�L��T�ƛ,t���&���A��j
By�
!
\�a����хm��.V��
%|%�~G����c�#
�`�4��ﻯ����P.ƃ�p`ư 

�H(4�ʌ� 1t �<H
 1�ؔ�b�Hc��#�)+?�N7���
��%

0q

��1HJ3+s`ɠ����8��wB�.�äy$����^��3e���pi<�R{����y��M�[�\���;����B��I��9���
����IhQ�^�di�v���</�N<;^{#˾�?�/9�ݗX֠k8�v���b��
Y��S��6ƴ����1��˪SgtC�d�̗���M���#��}*Z��}��k��Y��&���]{
���)d5�7.ek�J>oM=�R�H��~Z���	Q�'�ɀ�s�.��4��Ef�4���������%�7���U���1��H��J���Ce7���/�
��g��������:ض��u��G~e�z���O[�f���\8�sM���%4�
m��P8{��Ԯ{MJYz����W����y��(������?L���ri���|c��o��Ҡ0��<�/�M��_��@���-�s������#Ҋ'#cD?*'�؇�1�YS�ҳ�
~{X��b���J�#�>���G����`F��5���ʖ�Ν�i���@�p���+&�m	*�(>v� [...]
-9�~��yJ�����n:���S�H[�>kM����t��/s0�uU܌�R��ԫ�}m�h��kF�}_��"��!�c[�I�䫔�	�]�&4{���
-?*dT{�%��6�
��h>:��U�{_J�X��8ͮ���[{$�ѹ>�bs��^�Y��F�am7^S/��?�86b�
�9uʴ�H�5nC�KOuUzVh��,�hd8����ףT�C=r��o���W������4��x������Q�\b
�>�7��U�L��r�

���h?y�"ES����63[����G��4���#N{��o�
��8q����Z[Znha50�^{?����" 9��%i)b��ĺ���oq��]��%��Y��2l3�,�1�ɤn�q����i��W
-�_�����tf�:�\n�<��㍧�4����zc�K�v���
-��B�Ul;�zZ���D��B�;؟V�-��nW]�k�ܯ�+��Q����.g!/�#�V��r�KT��f���*LQa
-���֞y����ڸ���|4���%�ɪ�k�26��x>�ba�1F�,9%��T��[�3ǙJp]���k)��:�2�j��1���|�5�9�����q]�p��J�0�g�����ܢ��UUn��Zvg�V��)Ӵ��������@
���8x$�߾ ��endstream
+xڭRiX���E"zA����~P#$P�#�^�
A�֐L`t���D�,
+.T4(���&�"�i�ʭ�
x+���HA��t@}�T��g�|����=�
#o?s&
�\07�Qh
�b��
m �JDT*�Ȉ%��8��N\
b ���5� ����0��tXX�P�C"�����O
� ��G!>�'
�"|�L_�<���)����
la���m 3�<.
+�\<�$����x0��(�� �w�C
|!1$: �)$
�a
 p%Y,��
+0`�&͗ߕ@"1���vE2 �c("#�
+H�1"��?��O�"AOn�2���Թ�0"{�����C�7�
1�1�8�yL4
��9͊B�FS��.��{�8/��Z�C(�}!��+2,8>^��|M���Jћ
���L�_蕘�WLx$�� �J!�&������0g���a4
XҭW$��HT�ʒN�4 �|H
+ )�؂�b8�cb�#��,�f	,��9҇K8:b�h*0�����V��N���'� _�ˆw� &̃ )�#��`���{�ՇK�/��*�R��i�zd(��k����t�!d_�X��m\��tc�ƝND
��7!���3�>���8
s��q�띙�vQ8I��ބ�zC�Dž��EV
ي
ŧ��:ʲ����1��K��g
CJ��S���E��%B6H{5���{��V�K3Z'ҹ�̾��{�k�z��i7.e�+�?oI9�R�H��nJ���qI�'���9��d7iV��G݂�B��q¾�*�<+})�Ƀ�ĥ{43u
+�F>
�#��P�
����!����1��m7�9�[W�b$9y�U�3�9?�Em���̅#~פK�^B�쑦�q���
�M������g��zdH��(��/�k���gkS
~"]ৰ
E�u����*�<����۴iڕ]���\Q��l0s:����Ԣ�}ђ��㳙�Z�<_����ٴy�NgH}P5L�g���.?��yG���4oI��78���R�ʙ�e8��D��F��&
m
+*�(:v�`,��G,��;	�=p����Fɲ�K���eM=�Q
ܣ�a1����&Ys%���f�›���~�v�a���]3��U�vt.�R���_J��=���}(]]�~���Z�<�'�v^3#��7�]��t�Y�%}�z|7���X8���oI~騇�̆�?	�����a!����v�u,���8!�+c�5�*]��>ݞ��F�&������~���@�-�'����NƏt>����*N���^�É�3lr~�:�����%߽�գ5��cu;7��o�)Ff{q��%�{��i��i�8�a��Nڵ���)z���)��#9�&��u�n�U�i��i[3A�)yN{�E�G)������<��7��_��~��'�|gý��A{a�z1#8m�h2������e�:�	Q
e��BU
����vӛ����O��8���+V��
��]xF��Ѭ��))#[������O�7gZ$�5'.F�W�Xs��-�Ҙ��B�����N\�A��(8���n0��>f�u�qW���]��Zs�3�
W.�ۜ�Y�
qf����u�4����m*�[��܋n!����ft*.��񁐹v��wKv��Mq�V��y`��Z�`W���L�E�>Z��&���b�°A��
+�5X⠫�5g
b�qv
�ɫ��^��cYG�������k.��*�_c�Q��O)$7D��t��q��<�~�������
�1��G~d?�z�n�yt�á���_8N�����Ϳi<��nB�U�S����Ѧ��u�ԟBs"
+endstream
 endobj
-801 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12201 0 R
-/FirstChar 112
-/LastChar 112
-/Widths 12202 0 R
-/BaseFont /KIVDHM+CMMIB7
-/FontDescriptor 799 0 R
->> endobj
-799 0 obj <<
+12205 0 obj <<
+/Type /FontDescriptor
+/FontName /UQOYSR+CMMIB7
+/Flags 4
+/FontBBox [0 -250 1294 750]
 /Ascent 694
 /CapHeight 686
 /Descent -194
-/FontName /KIVDHM+CMMIB7
-/ItalicAngle -14.035
+/ItalicAngle -14
 /StemV 63
 /XHeight 444
-/FontBBox [0 -250 1294 750]
-/Flags 4
 /CharSet (/p)
-/FontFile 800 0 R
+/FontFile 12204 0 R
 >> endobj
-12202 0 obj
-[687 ]
-endobj
-12201 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 112/p 113/.notdef]
->> endobj
-657 0 obj <<
-/Length1 788
-/Length2 771
-/Length3 532
-/Length 1337      
+12206 0 obj <<
+/Length1 1432
+/Length2 8965
+/Length3 0
+/Length 9817      
 /Filter /FlateDecode
 >>
 stream
-x��kPW��7%�H� ��
�$Y ��R$D,�Mp��I���
�
&E�-�
-�V����ET�"�Qp(H
�
-��Eq@�Tt�B(���:��g��}�{���:ۇGy`T
�H��"b�J .���
HC��)R�2P
�:%@�/{"bć�
)��ƕ*��3	A�Ҹ
%Aʨ��͐����8d
\@ rl�DB-��!�� �p9�'9�1�`RA�D�i&�dHkY(��B�,"F��`P��-�س K�o at M
��2T=?6�7dT���
�Z�c 
�(
��T�gp�-
b�N=U
fP��J�L�6�C,
g�*�@	-
�C���No
�


�>q��Z8��L�A��y�F^��h\V�|>��5�7�Ť��pR	<> �i���Q�HA NbP���qI�a� v2�@Aќ�K��'uڱ�x���44��OvD>���hR��$��W��b��ҧx"�C��
o6H(BR���h���/Ŏm�V�� B=�s:�(����
�7,�{��]��Ʋ��鵲�
�p,5JPa�d���:�m�������ͦOY�.�&~p��ç�
Kd�7
-j�
QV����3G�]��%���Cƭ���'?���A�/M
�;���熯��X,�ܺ��F�y`z��
+CWߕ�s��
-VGިzy|�hy1�_	���9=�a�4�I����z6r�sp�O��J��z7�C�s:��5Z葤ք�v��˓��l���w�^�.^�q���G��c1=�)[]��eqL"���7�a�]_��>Q��yps�����TXn������ ��]�_t~��˽��?f�k��-j^��9=�=i���ϖS�z։����t���Ui�vל$�F���K�J��.�6�:� ��2�#?��by�h�{�Dn�Z�2c�E��4�����DF<y��~��D��K�9���l�S�s�A*S���x�О U���?-bZ��~�(Nes6V�\
�T�+Y3�{����/M�{�P-ɿ.�G6�r��#�բ�=@�r/�@c�]c��փ��2l�c
9��R�O�'kxϻ^�j�������%]�ʣ�#���O����9�̬��U���|��|��sۤO�O�u��k��-}�T��B�+�
�	K��̷9B)��I��S'�|�f�ڲ�;#�.ȵ��f֦�l��Rkʬ���zG/7m�j f��R��4i�����>��(��7�pd�·�.
я浮��s��=5^�s�q�J��q���C7�JJ����D�E{���!���R�,�x���
�ƍ,�>���ѳ�^_�������D���(�Pj�^��l��endstream
+xڭwuX�5"��1t��H�tw��9tw� ��) 
�tJw7������;�
����=3�<�v����N�P����Y8����
�X8X9 �j
� Vvvq$	0�����Q��
$ ����H�� o On.nN$����7����
@/��;� � ۘ�:MݬA��� u's��7+@��
��;��r�=@�H

 
s7������7%YGK' �����vy���R �h2  $-�
� K$6%'H7���Z�]\���^���w��B��������898���� E'
��C�A����qw�o����������=��/������B����`ij�
+��r��o��������� ����S1�qt��v�O����`�?���
����y������r4w��q�pr� L�`So$�� n�/���� yA��::�AR M��N`��
� �I���L[�e`�);���X kc�
���� H�����f�t�c����qCr̝�!�OH�� ��O<���[x~�]�!g�?)\ 6KK�?���@n�o��W��~'w�_=!!VAHA� 7�����j�����-ڟ�!�9�8��
��rtw0�}k��r�؜�� 5�����=��7���)�������+���Pp��A��B�u�ww��d�������q9����q��y���@��B�2�����
!�f
��	� n�N%@Ⱥ�!R{��WH���\�����{��ŝ�|Y8!M!/쿏?�����E���!�������Ɩ6��y�̑����l�["*���V�2��jMTj�4ۍ
���ʾlTޅq�Q�gu6�����kL����y�Kb��ˁ��A�O;��U����3�]�7�Ζ��S�W�3c�)�%���
+U�%5��(���=����xxu���5#�i�j.�Q\��)�a֧Bl#ژV/��ܱ~#$����4�"��0�
��V�Db���?\/�
�R`W�FeC�#�s}����/�'��=Ιۻt(�ix
7����L��%rK��j��
|^N i��E]�Ɂ�[A�~��n��Z
z���T�zY�_q|8�nr4���(�ER~���f����"��b��gx
+P6CF�|�r�����LA�_
�F� z�-���Z�e��2����4����K����c�!�V^��"V���6�mI,�+R�����k���.tPW��$����q��̘E]�%�0��#�R�|�?�蠡��՟g��n_���i?w�@}��m
ղ&P�,2B�Iw[��g.�G,1
�f�`�_|�RX���r�\�Ҿ�r�x[��8-~�Vg������|	�#�����Y��\��]���a:cu\Q��=A�K��M�J�I�e�_��x�l�xr,>F�3����Lw5R�IΕ�p��?ATcX��+)��.��'P{q�Q�O��K��P��A�l���h?�B�Y�
*
u07`�dw&A��̰ߡ��~#J���v�Z��Ƿ��Q4���w��'
+r����UP�Ϝf�i��!�W6��>L$q��^-��
��=LC�����Ǻӷ���.Vyj��RN���/�K��l��/�
�MS�e�oɊ�
+'������&��ٶ
+��;KhwCv�p;�0��,�϶���U-8����
��J��o{�s|�MG�I/-b"�i�F�)	��S��#
+^�%��z��PtC�q���f�w@�,!™���g6
�5�����
+��T��<,+x����Z[\�r�nՑ$4�	~��:���L���b��O��|�7<F���{u���>���G�l�S���C+�x����x7�wIw��
+A'C��ƨ���阎$"��YߺO<}�~��DD��E�� ��7�wi���b�]�LX��cb���zO}�ܻ��l��_�d��Y�Mz�i�&�"�Ϩ� F�̂���)�?��V
H/�Q_�/�fd�
Gr�y�l<�����c��4��k
|s�>���]Aw=���Z6B�� �˓�0�<x���}�@Z�U��9@�`$ϗ��
P�V$�m�#1p���+:����t0I
�#�b��� ���m~��&}p�$Nh���Q�/ rN
SX���lB���?��j�{��۱ż}���3P�I�e��Uc��ٳ팏GgH(
�l�2z���V�KT��������RK]/�+XlQ̥u.��
Ɓ0B��u�|���>5���A�,�+�a󮚰4{��
%Y��:
��< Dc��S�|�����YH_-Y:��Y3�dl.�딭���s�D�tr+����MLþ
��]�͓�P�/��O�*�xgB��������ݚ5�`W�RLMԕzd���~��
�-�

5��W�kP�OF��.��ε��Q]5kmú�tȋ�;�[8�]�����Gb�[7^�;@5 '�

���B)�ہ�{�����C9��J��N.5�%S��'��v��/�%�����ļW�T��e�,����0U�8��dƘ���:��]���k����s
+��:zF�_~�2�h��NR˼SEK̠��
+
��਑����
!T#�w�Աs��
+���2&I�̌BtOmv׋�N6rW�B�:�U���Q��4N���G
+lS�,w�x4�~,��a�����$Mч��{YQ��:��u}�¿��ͷh^�Zri?��'��M�0."�uI���A1)��7��tq�o1N�*WPo�ؓ��S
���J
��9�@��
�3�j�j�0���
+���X���P�r��21Q>�	�F�4�X`<cO�
��)rјX�;�ۧ�m��#
��L%}�8���Nh��5�KH�c��~���
�n�7Y�̮X���a62���
+��;��W�8��Cx�as�P�2}
�2�b�
+�f*�$?
 a#�ɹe
+�^�����B��N��~�1�o��i
z�=8f�������G�zAM'7M�U���d���g���dl	
\�J�N�»���)(
+�1��ݢܠ ����
�\󈾉��n���J��t��ټ8U+�%Tt_G�c��>�nd�
jb85�
ޏH��O��N�
�}M%��=��N)6�3m��z�n�o#l��;.�.�&�~e�km���>�o=���ғ��c��0�6�h�:�_K�b�S����}F���\�$Y��l��_w�ma���Ć�8H����P�>w���0��
�
���� &❨7�m�%>�Te�_�A�Z�
:��w��Q�O��t���~�f
�jkW�ɫ[�F��6=�`
.e)d�Eդ�.Sq,�G�0���C����| k<SW������W�t�YYپ3g���|D8��0l��\i���k�=+bU:{��n2)��xDq�ܭ��� 537��L�z=%�C���fO+�i�d.�Z 
}�	�Q����\ f��!���
��25��ɔ�E
/n��E���œ	\��'5/g	�f.P.��!w.���H���m�BO��!a��f����#�ˣ��i�s^���7as�P�_A4%&D�8k�\ۨ�g��mXJ�˥t
+��
���4)�AZ�]���)m��eK7�?�/ [...]
+���5�W+"׺k��U�6�����K��&w��51�[J�I�WY�}R*���=bB�@����:��)
/'�@�/rH� P�}^pC��Q�T�ޭ�5���h���
�����T	>������"'��7�NJ7��EI���Zeժ�hǝsTj�6t�NK�w��Jo���΄������?��|ګoo���+�6�5;Cz^H��)
�~��������l0h
������
�N��bi��]��Z.`%�
g
���N2��r��t�_��;�#rh�FE>��9�X1_�B�
z`�wRW��k�F[<o�9ʺ��T�tZ�@�Нe����sKL�bA�,��ݹ~P:�Ϭ(s�]��n���	�O�\-�;�E���;��#��9K��q0�&Y�$�b��UFO��$�>vvb����
+ls�1]VZ�<�j��c9d?6m���xWP��e	K�����P�
e�xT
�
Dr�~��MĹh1\*�h�<k�?���<\��rq����VRJJ�¢;
yp���bsHv��?XY2��Ņ�|�iԳy9��%�X��I6
��N��TK�Z�\���E#e�a"��b��%q����v2֍u�`�Y�Ͼ��"K��L:e%�e�S�:K�ߦR3)p���g�y�eL* ���f_7I�+TWZ���
��������mZf7rMJ��p�Ʈ�m�}��
]K�_ܴ�
��
��nQ�_ހ+�\�㑄�ʯB�J��3>�
+e��\��38?�3����
+']\'��ve7X
��P
̟ ����v�
9CO������Q���|�0 iX��T��$�]n�դZg���ݳ
Q|��魽�ef+���O�#����
��D�ǐQ!NO�?n*C�y���$i��Y���ϟ��6�|
olS�~P���{�:����H5O���.��Nb 0���[�g�c!cF.$Ӝ�;��>��C���-
�F�� �Y�
+t��E��Y�����H3�D{�
m�d}�z����w�Zn_�EIMw���8�KlfƄY�����L����1�Lr3������2W�KͿ�`ӊ���W�+Ec��z����\�[dZ��I�T�z
���q��ouFG����2<~4��_DG}Y˔w	����A�WZ,�lR�I��\ C:�b��Yp\�(	1T�7�4�hz7X�uL���C~m��
����/���,`��a�8C#�	w�֨��[KM-���
7t����������]�6��ç3���! }��9
k�s•�æQ��p;[�|�w6P��KA��)��<�����{d��z�y�Z;���<w?l�(/p�[)7�����(��/
'▕7R�
U�R>�{�f@��C���S�hK/{X�jέ;���Dq�c���U ��z�yۧ�F
���%��|`�l�´b?K��T���#�ܪz��ض`^��!�����(R9k���֫Q��aKR�����ˑ�r?
������Sm�6�u�is߾ь���ę:�B{��/"���%?�0��;��P
�v����r�pi�E��r�y�q,����V
�1�e�2�u��Vl%��·��h
�W�;k#�B�Y֏���/C
B�]ra6���ċ�%j�RhϮ��_gn	�9��P�uk�#|<��!��
��'�/�P���^�}�7��
�9g+�����T�ƳP
�J�|��#
gU
!�`�S�Y�a���]Y4���j2:�u��~̭u��rk�
�Yڭ�u+��5���?۽����|��7��=־y�s�E���KD
'�2��h�3=�Vx5�F��XYF�� -ә��D�9ʰj.�J�=k�p�*�>O��o����$�<qܫ�iZī9��z�	�k�W�
�mm��
+�
+��ǘ���B�X�3V�6�V������W�G_�q<,��v�ʍ
qy��߰��6}e*���C����� +?K0#{n��u:P�KWML(s�
eԂg��=l`ߎ�~m�=�m�
4V\��s�&C��6���x
+���O-�{
ߩQ���	��H��GT

��S��$)=��8��_F�dw�Z|p0A���

M��;��
�b��h��Z� (*Y\��[����o�p�~
��9�M�
��,
��H�������{k�h�y�G��q
Q-�������\q*����A���O,����OJ�
���Ik1�=�u8���mW�l]��
�c���_|H3_� s�Iu+��6z7� �>�X��N©}�_�����
e��Y(��{P+D
v�o����Rg�11�p�v��p}Q��޻6Z��1]�$��V
>�P(��1��*��
+��И
+XH�U�E`�!�����wގH�l^u�x��	�
4�48v�XFc�	NH���Q�
��,l�x�G'~�ާ@eb���$�\>�B
�L�*Vi
H=�
;��_�2Y3��/8v:5-$?��d/
+�B2���y��S�~�S����}�2�(	ݷ��厕��T���Z�տ���O���Q)U�
,�KW�x^qyR��3����<x���b�A4`_���<1g����S�fF�<��E�u'i
�/#�$^���[�����k��t+7������X�GNO��ʨ	s0�)ˏՏK	0�'��f�H
̈4k$��ve��<�0��y�ET%�
�%��h
�}a��K,{�航�U��ɲ-S FFZG�wA�
�
�<�
ҝ%�|��w�udX��0��K�a.~��n��(ۍ�9+��K�P�0��f^�_&c��cԭdN>
�I[y
+�;��"ϟJ�����9
+�N��M=�(d;J��T׻�X�ͅ�
b�[#��D
�)���AY@�K(v�D�x 9�DﷹD9B���԰���kЁ\mi��,�4MA}'Գ�+�z*6��ö���Ҹ����9���d[�M��l~믷��|&�Tn?�W�Xr�\vK��P����R���f}_w���/L���#�����W>�ZmD%[Y�"
��f�Z�����$�W�Bȣw��:�@7�� �9�M��'�p(�noK�h���?I.r�0m�{#M���N�f�
�Fo� ͥ_�qn�,g3k�����s�x
����
ۦ�e�ϼ8���
�ܙh:��Wo��+�$�Ux�9��iNq-T�����@��5��6Y�qʞ�h�u~��k��^�������en흯	.Π�%\�&
S��J<�
�/�)��;H�s߉����+CBz
"�ɨc�M�oi�����P	�iW���
�p\]��a
)Ԣz�
+hSWG�0|��},..� 
�e��fD�>�ą�q�����;���W�<1�c,�+�� 7�K��( 
�S
RFqF��E 1nc��GZ�����+q��%W�F.	��Tj3�����k&��'�F[
J���M�5��e�ؤ��Tk����n�B
���wb�z
��:��|�-C��ci�o&&&s�j�
�r��P���
�D����l��^A�
0���^�ܟ��."��Cx���')�#w�b���^�q��`~[�X�4���!v h�^�����l���?V��x��6K4v�BC��lbg+D׫�g��SB�%����X���?�!��t�<$�������
��}4�tK�5;�P���I���Jۻ��b�ID��B2�^��w~��Z�f�	�r��W�x_Wj>cCm*�Tn�]|����e�Rz�+�#�
�GN�	�����Kn+�o��0�����E�	��bH<k��A�ٟ�
}��0ٗ?P��j���7�Kz|��]{j|!��������
搫�a�����k��	3�5���]L/B��o��R��>�E�����.\6�i1��ּ�a�
s�>qA��q}]O4��9��2���
I
��
����b7)=�N�!/����:����H��R
�a-���)~����>�2�q"X��WaT�q����}�B;9�P�	V½W���o>��n��T���`�}�i���K����>�~m“N
ݒ³_ ��$E��=Nia���d �H�Ys��
����p3��+!K�#
+[{��,B)���/o+�kj�!���?��E����7�}S�@FD���d�<d�+�'�{V�{l!o��tG�$���DA���Q����
z�1'�{�j��O��w��\k+"���/���������jE�߀�-���e|p
{��C@�I{I��O
+����ovk����u[�]�`o�
P"zd�ӚB���5���
,��v�Y�.�78hƄ��؂��X��;��\���?������5xM,5��y�0�*Vrr\����
��]	#��/IP�Y�8���x��r�����6�HG/�ō���M�"#�Z
+��oG�s�;m�^š9��t#���MѾ���B7�� �����icI��1"��,�iqedR����lKp��N��
^� I+C~0�x�X��MS�q��5�ޒضZ%doO�\,1@[��=�����|m�O���~E�s!%Y�����<x���s����l2>����xT
�")|�de��
+V��BF�6�]�~��Vș2���4x[2(���ŕ
9������M�~��Tg��$(I�����W߻�z��
W��(:�і�H.�/O�l�y�ǣ
�5�ʺCY��cX�ƇNw�5OraS��A�
����
s7�kYG����r65o�
��Im�b�96�~���@�~���f{-՜F1�����;��9'V���œ�X�gwU�ff���-��vF��KZ:�����
��Bx�

;q�F,��ɑ<�x�O���IEd]C �8P+ߖ��9?Iw�5'H��
H�8A�	F
��g��S*5�,��T,f�#�	w�|>T��/�7�n7��IW�
�,0���
+id�U��
S�II�[Xl��?d�ا��1^�R/f"��UyuA(|����{Kc� 
�O��!�K�D�M��&c����0`i=�3�q���z�_�
�3��@�����'��m���Oj�F�̥
>B���0�o_�7
���/�e�V&P��n�Έ��@&0QZŇǡƚd��q^q0V
�l�I�Cj/G��zXy7g�&���c�-��K�ˋ�>L��DvRIS�ۊ:d�̶��7��&�
�̍ͧq�&�0W��[G�2l�����%��8(�s��� �M�
31�vĮ4��͡G�� M�%�b ��@DŽ���kW,֫
%�&�/!9��hP>qc�
YW4'og�"��sf�
��J��
��mtyS���D���Vn���ރ:>FW��
+]
_>'e�mi����WB�\�@TA���
+x6^��
DQ�0�9�
��h�
FY��n��I�QƏ�
w�Tu��M�;���cg�����O��'%ӣ���H3��(�i�~Vd�X�\�"�
V�8~I�w�	��`�꒼�G5�Y�
+�
ѫ��l�)�sI�r�W$h,ZUև�
�~%ֳ�ˏ�����~P�g�T)�߽V�~�&�(�J},G���Ҟ�D�@�GZ��9d�N,�J�:��
+XM˪
Ʃ�QC�VO��Ȫ��\u�Jd�&W�cXݚ����#Y5Xբ������"�B�s{nFecy��;�C�.�*������[�
��M
u��

+M�L�Թ�'Ɣ���=�[7�����lM	\#��̃=\u`���X{�?� D���?D0���v�s
��#eMA�eGi:���E 2rUJ4�oxR��J��μ��]rE?���z���Z�)6{��Jl�xc?/!f�N�}^��2!�v�%��Y^�ܐ���5��ܑ��
��f^I�_��X�(�*^���be��=�-Nϫų��)��Ø�2��)G���3]�)����0�_
_�T��(�Z����;��G�o�
yc._ȔG�[�=�96JJ�i.=��ܾ*��r�
_�� s
+{{q#-�V��� j��Q4z~W��^ �C��x߀jy�Yn����Dž�
?�)LN�1��)��=��E
��
+�=FP�E�FA�nk{�� ?�a��oV��U�����0E��=f�e��B?^�����N���n�
+�J[ُ�=(�W���P?���m:�����6��-7�q�9QuB��O�רh��vV
mź�K�
X)zo���
��?G��
+endstream
 endobj
-658 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12203 0 R
-/FirstChar 0
-/LastChar 96
-/Widths 12204 0 R
-/BaseFont /JTPPCZ+CMSY5
-/FontDescriptor 656 0 R
->> endobj
-656 0 obj <<
-/Ascent 750
+12207 0 obj <<
+/Type /FontDescriptor
+/FontName /QLYQLD+CMR10
+/Flags 4
+/FontBBox [-251 -250 1009 969]
+/Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /JTPPCZ+CMSY5
-/ItalicAngle -14.035
-/StemV 101
+/ItalicAngle 0
+/StemV 69
 /XHeight 431
-/FontBBox [21 -944 1448 791]
-/Flags 4
-/CharSet (/minus/prime/turnstileleft)
-/FontFile 657 0 R
->> endobj
-12204 0 obj
-[1083 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 441 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 875 ]
-endobj
-12203 0 obj <<
-/Type /Encoding
-/Differences [ 0 /minus 1/.notdef 48/prime 49/.notdef 96/turnstileleft 97/.notdef]
+/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/x/zero)
+/FontFile 12206 0 R
 >> endobj
-654 0 obj <<
-/Length1 832
-/Length2 1188
-/Length3 532
-/Length 1785      
+12208 0 obj <<
+/Length1 788
+/Length2 1456
+/Length3 0
+/Length 2013      
 /Filter /FlateDecode
 >>
 stream
-x��{<��
���U;g�U��nI���}�
f\�4.sr
-�<f�O�y�y��,�K!��(g�t����J	[�6[��UT�-B��t���?�g���y�~����}/�Yk�'��Ga*�(t*�
-p=�\:
�P�2�^C��
 
�tKKS�	� �9�YZ�V4�
�<���p����a)"�|� X
����A�y=
�sy�x�<�T�c��($�0z��s���K`�D�c.C
-<`),	��T������&s
P`����B>��`�����|T>*)��c7���
M-�sd"������8��

-G��,�Z��|D�8�A"��
E0�-�)�����
H$�������4����Ʈή;��b���0�
-!b�K�/�zަ��Ʒ"A�`�J��q!�<�-*�(�|D,&
&�$HA��(D�"��r �񎍩b�S@�
ۏ?2	a���?�`��e��8
� D�pos���hg��#- Ōi�sL�N����
O&��bl����h
|�0,�y��(��7�2�4ڱ�n������*��bCWݟb������jЧ�*�%�T���֐&�Fm��DŽ�eߟ

-
ʍ���~��U
�h��
��je��s��������>�7�_��n�s�^�XkI㮰K�yqLsoN�h{�!�����Zvh�a���p��ǖ�މ�ޛ���Wh�l�Tъ����o�SW�j�%SFR6V��n�򃕓<@o��O���ؾ.Bw���N�ӷ�7�n��v/up;[�w⍙�������}�7��ێ�� ��r~�G���[��H%Ei��
�R֗S<A��ԭ��Ng�E~&Yw�ѩn׽[�S'��*��dM�^��m
�u#l3�r,J��5z���̯i�9:��9j�~�y��*�XV��Ą��}�]�<H�����6ew�[R���_
����:fSJ�^�5�st���N��o�=(���My[�m|Tv����������ʪ.���ơ��'�T�3�2��
-�k��%�2�
�Y���L5�ڥg�4˽��a�	�i�&�
9�;���%؅��:
\�ym�#U_f[��[�>L�֛7T�]�u��$E/
ڥ�;0�|x�b���i�������F��]��>mJ��ӂap���Uީ�%��
���D/��>���6���Hya7K�`��Q(��v�-�^�r�Ξ>wy�kʤ�w�ƚ�Q$eh�7��
'��ĺ�@�恗�C�X_mMB�$U3mX�=�:����^-����:����(L��l��3����7��]]��>�����^߽}�
-qY���λ����cD�{Bv�=Ď!Q�aX��-<t���u,��������x
��tṞ�c�q,�NK|�򯻧?�z�tN1���?oUVE���F
-/%�9�6Lg%���+����IuXgE�-�/�2�蓮t�ͫ)��|7�x�`V��e�ʈ���6k��7Ŋ���>�Zx�!�7���[�[�0
6<Z�2CJ<���g2�����˫��q����X��c7�����2��t���S:I[�
Sx5�P�v���#�.�/�t<��H~�X5��|��d��µ���)�=غq���L��
	Z���+���M�ھ[ꪛ �x2������x-3.��������F����(�GtTK�ˍ�O\���Cq��ٙY
<۠ۻ�m�JàG�{�gUh�_�L�g���<�x�+�j������u,�L�)i��<���Bϑ����K��}�Jl��������?�'�!	�C�}�_�Țendstream
+xڭ�yX��E�"Z�,Ḛ	�@ l"��(D�MB2$)aB
+ʍ�R��
+��R*�+֠E�EEYJm�

�&�
�z}���>3�����߼g���w�p$H�!�9�� �R� o�ù(�rA�
Cn4
� ���-�,�ׁ@p�Y*�p���f�x����r�-@��l:
(4

�Af�i
`7Lg�<�@�p ��x�
+ƃ\ȰP����"A&R�.yBQ0`��f�c?� 7
�LW0� �C
!� ���;a�4a�`}=���pv�b��#9��J�as����1�|
�(0�B_����( �͏���ɣq�t"�� �Ŏ'�A�7�GgQ4N<���k$�� u;u�ʍ���il��+����������l��D ���G���*쫣�!:�`CL��`и\�P	���$��x�
1�D LDx��C� H$�@�UZ�N;
��^�V��=��!���
~���&�\x���7����{ͭ��%���Y�6�����\��QHt�u	A�R�S������U���v��C˸0%�;���\+�Γ����C\	���+�
��u�j������q�ǻ����:���P�������:'F2�
�V

*k<5��������B���������6��$1�/=��&+}���
���գ���?����X��w
��͖*�9�:���w�Z��Z��r��ٲtU��Kw[.:��\`X�"���������6��y4���=�"�b���/ۄ
�\Zڱd\3LQ ��;�1�[���cc*F��g�>��$z	G�F�9s�/c�SK�<<�z�u��H�����Y���r;�T�$d��$j�
��l�I��>�r��h~����\�mfN����/���T7�"nZ��Ԟ���Ь��� �m�S��i�y����j��O1wp�f�5Q�צ(�ki�8���l
�`��yqTd�'�T����7��f��”���N�Ý�!d
�,>�y-���𘄑�5"J㘜�j�u`A�龋���4���{���W�kf$>�S��<{�8��-��r��T(�9��Rp��`��
5tn˾be��۝���*��$�4���p��t�/Uŋ��T���ͱ������s8F�@f�c2�#�)�ɜJ��
Qĺ��2���ME�Zg.�|tΈ�5-��8�71��=
P��ok�$�\��@��ZW����b�j�aq	�
�sVj�)@y�tғ������&�
�
��W�����
�֪�
�U�sp\�[eP��L�T��� �6�_��W�����N?e��jQ����0�e�|
Ŀ�b���w'.���l}

3�6���b�_�obZ�y8*��E���߶�y_�q��khl�9�"�wo�:e����掛�ő�x�Izɀ4��gT��4ܱ_t�<'|S��w���?'�O_�o
����5Z�0���_��E�3����B�j�v�z�<_؆N:\�FzL�
^��
�d�\0�4����֦%X���);�����L��`��cp
��t�}ُ�r��zoi�/�Ste������k����f�R�
3�ְ�w���<.t7V��BF�3�n �ؒ
V�\!���!��~��4t�����N����[�$�J�{^K-���P��g9�j��(n@�Ll$�u傌�[h'�T�L�L�E�8}۷�sB��TQ�h/)k7���������H�D•cM@�ʅ��8�g4њ�WE�_�tql��h.�
�x���#Fތő;x�Z_ꈶ� =;�E�����PUnՃj�M�̳Ǻ��[���Ϻ2���?nލ��-�Vٜ(n�D�tM!e���J��L�+�
+߲ێ�4
�++�'�j���7�'k3Y��N�
��D;��
	�7�%���X܊z-zl_r`�]�U}�6�m�a��r2K�N��� =M/���6��O$��J{��f�ʼ�-mS)mW�
+uqAP��\���{y�H!?�÷JA��%7N��	������]=�/'ۭ�LܪW���^�ڭ�Z
+endstream
 endobj
-655 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12205 0 R
-/FirstChar 13
-/LastChar 26
-/Widths 12206 0 R
-/BaseFont /LJLVIG+MSAM10
-/FontDescriptor 653 0 R
->> endobj
-653 0 obj <<
-/Ascent 692
-/CapHeight 550
-/Descent 0
-/FontName /LJLVIG+MSAM10
+12209 0 obj <<
+/Type /FontDescriptor
+/FontName /LYFRJR+CMR5
+/Flags 4
+/FontBBox [-341 -250 1304 965]
+/Ascent 694
+/CapHeight 680
+/Descent -194
 /ItalicAngle 0
-/StemV 40
+/StemV 89
 /XHeight 431
-/FontBBox [8 -463 1331 1003]
-/Flags 4
-/CharSet (/forces/arrowtailright)
-/FontFile 654 0 R
->> endobj
-12206 0 obj
-[722 0 0 0 0 0 0 0 0 0 0 0 0 1111 ]
-endobj
-12205 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 13/forces 14/.notdef 26/arrowtailright 27/.notdef]
+/CharSet (/P/one/plus/zero)
+/FontFile 12208 0 R
 >> endobj
-600 0 obj <<
-/Length1 789
-/Length2 1882
-/Length3 532
-/Length 2459      
+12210 0 obj <<
+/Length1 976
+/Length2 3441
+/Length3 0
+/Length 4077      
 /Filter /FlateDecode
 >>
 stream
-x��R{<��
εL���!^4��\[!bƄ6�m̼xk.���֥l�Ąr�Pi҈�ee-��5R��Z��0{��~����s�:��������=��}�/�gE���Aw�c���8;�DO
 =��0b�p ӕ�
���
@�Fh,��;b1�)	����gC�Q
 ��l�d �R� �‰R
*����ȉ�t:�r#�cA�!�f
�` D� �`$Ą�V,y2#X���2��G�Ȏ����6� �I�I�h`
EbI��R/�
[_��s�t��"��_�D��'�ň�r at 6@d�@6�k�^�7"H������

-
���t���Z�m�ԡXw(��!5
-���c��:Ȥ}�DߪԾ@_��ŗŮ�������U��K#bCq�~�5������f�1�,Č�8;��fS�ah���b �I� 0Nje�dq�W i0	@�
[٪

@���V�t� ��/��?!F�e�¿~��
+=`��I���: �8t¿�\6drV�(ih�H�3ƁT�`�����|���D��'���.�P+.]����s�!����52�C�
���1"�P��V��
�h�A�[{�y�^Y�)A����t�=L#����nq
~r�I�]㠔�)���M 1���2=�5�{Ví?�|Τq�UUњk<�d�������!I2_h
-�v�_�r�$�ΌT,���
�>�ṃ��6I��?/�5
j5�
��b���-
Ei�6\?Q�Nا� �N?!ᩌ�m�(6��j�d܋��{�{��9[)pִ�,�X=O
���4\�o�82x�ݬ�>���'�u
�z	�~511�ų�m�
5�P\"�~5��Q���o��
�Y6�xg��L�n������OygY����9��!b�����k]�]#P��u���
-�-8h��v]���[�|`�x�8�U��q��<�Wn�<v�����`h�-�h�Ͼ�;}�g�;'���0�v�$��2����63o�|Yk̰�iB�6C����8ˆ=	�n�
k��Y���H��#�/xf5���9���7���-�[H��k�+��o�b
QW�rn�C'p����,�
��.Q���:���(ҺI�2�Rl�hPי�:�j7V�xf��l���-�rXg��V���Y^�	ҧa*؛!¸���0�2D�z�݆E������d���=r��y��;��改1�P=彬��]���t�����6(&���)�>.-�vB��ʡ��$(pp�'L [...]
C*O��Z�{F!q��#�4�c
1B&���W�F
ZH������E��ƅ�c^s�Xm��V��
D
�h�5��%z@�+�^v�M��K���D��%�s�g���lN�<��nF�5���~{JX
����xV���
2}Ge�v���cg�5|���]4���3�i���}�?
h���
�8H;S3���4�>�.x��|��x�`i*<�^MhV�g�aKA�Qa߰����`�b��:�����NJ���6ܣ�?��%���Xor���~�誀;s>���,
-^�wC7
����۩��2��y
-U�$�R.��(�x�<�W���M�b@�n�_���Z���Ϩ���y�l�<���u�}� O��McRr���\ծ���� �~ƓO/_��
E�^�2�q�
s��}4x��+��qO��Ϧ����8���U�Ҿ�?�ܾx�3�c��֥�G�G(��'[��4g!<�%����[9��6��^�
'Fmz��
є��nL��P���sI�x�n~�6|�#_N�90~礏��`���}�sҺ�]:���f���A���zJM�0Z�!�Jb��x}� |
.��L�JSI�BlU�

��)3�K�B�
�/
���5d�ށ�%7j]�
-='�L�ef�? �-
-t
-P��޶��/]?��;�b�TN�"Cɇ�^9��7�5<s?�r�/�Mލ�qRl�Ey���ܼrC� ���
��5�E]1��QLi[f���
+O�<��t�1������aM2J����xOF��(7+������Me����HM���6�ʷ�e�&.,;.l��	jM&߰y�VB��՘�[�OgL��	wu]�j{�v.��H>��	x\e���Rѯ�حP;+W��~�6��<]�b���*�Xڳ,w�6���z��o�\�غ1Fbx{��c���
��e�ى�>'������e(���y<�W��a>���:e��-KjU����|D�ʡ�����	*
��9,�}���endstream
+xڭ�y<�{��E�Vv�趕%3�2�}��Xʒm̌
�0FȾ+��A�N٥ɾUٷI"�%"�:�sN�y�}^�?��Z>��}]�[Ln-��"���	x�4Qtͬ� $�$&�KD#H
� �U ��2����� ������,��K�$b�x� q]��E��6M� x�
A�@�H�& 1hR ��b��
���M��F��  �A� 7�
�	�ӏޝ (�F�y����&�RM�T� �"���(�;؜@=
Mu�0�oq}?,�
��)O��e8
6�����	M�(4��R[����(���Y#�Aj�`р̟!��>& ��cHH�
��E���������=\��&�k��RpO�	��[�g�/�����1�e��
�ZH}�zs��Qzx$��S��@��@&꽠�0x: @P��Ax��PG��L?�I��3�')`��	"#�Q�! �C ��
����P ��AU
+�R��<����M"
��Cy L�
� ��7*P�I�����O����	8���.�������ttA��iY�.�,(*Ȅ�G!ҏHD�I�����bw
����h$����S[
�W2\A/yD�JC�����権�#�;}&>�����U�9O.�/�������
l�B=�'5w�`���2��c~��d�����;QY�ԏm�*
�y�_�i_�S����.�yw|N����Շ
y�PE;}2�b\��srBVl�>���q�����P�8�F��MB��^	CaƁ�����<��P'������HH4��?�X����i�:�9,W.5?������5����-�?,E΍����
���.9�5<{,\xF

0����������	������o��k������[>������J^�ϻ���n����)����נ��i��;�p���/�Sh���7p.���
L;
��
_�KC�_�]���my$D��
��)=`cE�Q���Tj�n��/6}�� �_��0r�_8t�z�zV [...]
��&�����+�&����&3I�/,��G�&|գ�X^;�(�	Bo�yϖp_���Y�
�����.
8�y�|ȟ_�R��"Q��_��n[D	�p�a�{to�����|��}���:��
s�u�&��#gX�n6�
��9�$
�Q�n��Uaĥ7��g�_3(�3�1^���~�~K������^/�
 |�b�J~���� �#ǩ���W�B
>���O�h��_T]/�?��KhV�=� ��9�H5��C�G�ɻ���vcu�B�{��)�Oz
�/�L���н���J\k����/� �F�A�G�2��J���ގ�s5��Aݜ��7���1B�jS~WgS,cwq�:>e����U�=8�'r�˙�kۧ
Z��o�^%7
+��.�B2�F�(%�b�ȸ��
�O�M
+"ɉ�E�
L�
�v�^wk<�|hWN��f\��Y����vN��/����g�ү
}�����7
�ݿS�ښ�޺�w�5�Fj'�A�+7}�����@�f�����\E�ك�
+d����Y�ۘ�w����S��#�s�,�Z5f��
*2Z
6z��6
C����4��><k�8T�
�8ޗ|ue0��
+]�Yk��h�y=r��N���[v��1
؎�� ��
&
�mUf]%��y!4�'��ǒaѫF'g]�w/
+��0/Z�D�����Nq�u�o
a�b����BE��2�e�x_#l�ۙP�c�_�U���r�uPm1�'�B���ꦛ8U�����
N�;��4��kX�4��S�60ٖK6ڧl��IKR�
V{�����i=97n��FW�%����Q�������5ڮ�����N�6�LT:E��Ծ�j�Rz
뒛��&��kl�f������^��6�G�VoPҀ
�%?��<�^Y�j�V3Ǖ3@
+}Oo@��Z�X�g�`'d���f�{:#��""��o���
[�	F	��ǩY�UY�)Ɖ%S�wǮ܋�*�19(I�U۳��g�����a��RV����|�-;����5
�
�\��kHU`
ύ��s/=���k;5
+d�Q
�EuWoC��t��]��*���\� 8s�������.t�iN5�~�zv��aJ(S�C;�E�L
�c�R�D�fpB�҇n� GJ�[�
����/j���x��
���+��Ľ�yL���eG��%�8��W%

�H�Ta�=u��C7�ى�<у�����#RR��mZ]��v���_o���>��,�%����n�J���G�钥
��(S���9����}�F�3���.&�s� |s+�o].1E�\�i'�5���z��}����/Y�#5�|sk(�dy��td��
Wt,�B�[u���S	�X�M����>�x�����6�
bu���[WhX8V������\E(�{N7쾾k�Un���jV�|u�2��bT��d#u��3H820�(h�h�~����h:L+@`�
Z��G��ydh����6T�1Ww��W��U߱�#����^����<�
�n�aE[�n칄2�����`�m2ϦJ�ď��*�e��KH�v�B*,�1��U)��6
V?^�Ƈ�
Z�Ýy�i��J�w1n4
+ܤk�i"¢D�br'��{i;�_��z��BZ�*��_�۔2�y�x�,��%���y��
�3�든�xF�=_s������C6�J;�{�F�����`�Л�5���\��U�}
�ѰiAg�ćO��Ϲ����
�
�^;=���]
ɬK�	/S�0���N/p,��¸,�����q�F�_P7R?u"�ب��H�\!�	���Us(O�	ѕgl���m
�?b=Ґ͓��56���B���El��*t`2�ٽ0���oI�n��c�E|��^H��BdEEd��fǃ�B���
[�(�{_�%i�
s៳]p� �|x
�Ū�������	
vf`!��
+�J����4��5�nyd׀t4�t�'mh�kf��FԈ������aߚb�]�!��oCe配�
��]����,hӠ�6�w$k~�`�}��y���+�
���q>C;
�Ś�r?\��r.$uxfIM�_����'v:��=m����b��U]/�\<L?AS�
��϶�"��E�Χ�G�=�&��
Zm��N���F�ͺ1������J}T*/�s���~� �L�6;ǐ�zGS����s�#,T�f�_���e7IA�;�mŨ���'[{�%�B
T۶�Q�o͌��� ��td��5à[P��Ι�\
�R�e�翅�GfɃ`WxX�Ϝ�W�	�f�
� ���$ި�D��m\gr
C(F&R�!tX�(e������Q7�՞n������G��kl�=���?h����0��wK��ş��[��|	���A�A����

�Ο_>��z :�tBi�~���Stl�E��jF�z�UP�@؂�k�6�H��aW�+��m.؞k�)�Xɔ��G�F
Dk\%�|ɾ'��L�ƄX���Q4���8��e;
1�:�b.�D��"
@vm�ig��l��ؿ��Xp32�e�
̝�[��s�_�T�.`	R�
�/�x`��<ٵ^WS�����So("���ZT��D�Nr� [...]
+����%�kv�Ő
t7YȒ�
)�
&��_
+�:4������V)5lf[_�c�ډkh)����	6x��%.�,h>ʗ�����췛����֪ԶٲԬ�.֮h	b����:͇�M��n�iO7���Κ⯇��R���`T%"•��Unx'�s"���޼�Ӻ���FÏ�7�Q
+���
�obw*�G���Y-�8������ȪK
��������]]w���æ�,���!��O��{.��� ���
yu���������K%�[�4
κ���䙬OW� ��~J
K��VC͂���@oB�/��nz>~�^C�������v>����qA��Ȗ7�
+�‘�
f�\����rf���z��� aj��
+endstream
 endobj
-601 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12207 0 R
-/FirstChar 68
-/LastChar 110
-/Widths 12208 0 R
-/BaseFont /ZYORNB+CMMI5
-/FontDescriptor 599 0 R
->> endobj
-599 0 obj <<
+12211 0 obj <<
+/Type /FontDescriptor
+/FontName /YPFGSD+CMR6
+/Flags 4
+/FontBBox [-20 -250 1193 750]
 /Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /ZYORNB+CMMI5
-/ItalicAngle -14.04
-/StemV 90
+/ItalicAngle 0
+/StemV 83
 /XHeight 431
-/FontBBox [37 -250 1349 750]
-/Flags 4
-/CharSet (/D/d/i/n)
-/FontFile 600 0 R
->> endobj
-12208 0 obj
-[1110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 740 0 0 0 0 534 0 0 0 0 881 ]
-endobj
-12207 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 68/D 69/.notdef 100/d 101/.notdef 105/i 106/.notdef 110/n 111/.notdef]
+/CharSet (/a/b/d/e/i/l/m/n/o/one/p/r/t/two/u/x/zero)
+/FontFile 12210 0 R
 >> endobj
-572 0 obj <<
-/Length1 1440
-/Length2 5130
-/Length3 532
-/Length 5924      
+12212 0 obj <<
+/Length1 1183
+/Length2 5354
+/Length3 0
+/Length 6087      
 /Filter /FlateDecode
 >>
 stream
-x��WX�ݶ�A�tPP0�&%)
-қt 5	BBH��E:*]@z�
A�4�* *�)Mz/]�Z����������q�9�3�1�� 
,�z�r`�5D	����R�����@! P at H����3�
-C"�0) PRR��� ��R��R�$
��H'wg��
�}��g�8@��
��B 4�0v��6Vp�
���
 ��p���
h�.
q�B�$@  
�� �!�0��OI�( ��0����
qF��p�T�8�F"�� 0J"��<o9���C��ŕ\�p-+ǟ���_��w�'��䂁84�`�3��T#ȿ�iB�0ǿ�*�
-��C��! ��`h%��
����Vp4�W
� �-�ܹ_
䔍u�����/�mC`�ݝ�S�g��5����g��T��_�y���߿
��La��� a�� +gg+w���s�<`0�
 q;W,(�@bη �M�@��$?'*t�r� �(�f��������E �v�����A��m 
-�/���'4엟�!�/4���E�b��DT�B�sp� /
-�I\�q�
����8w�w��q�=.�?\������op��9
a���c�A��!��OL���.��c|�E�/���
@�\(�����[�
�.%!q��ah'����� tA�G8�_�\6
i���B���@�_C�@�
�/��O��<��1��(�_X��j���(@\\��L��c~���/��P��=7bC26����oW
�祘1�O��+o[�U���kR�OѸ��
u�D��aA��������ѡ�
:}J?|PQ�ç
X˅�Gu׍75��X���)�?n���>x?�.�(�m�z�r�6���"�W�SleK��mqc�D�AP at 9��.U<*/X4hܕ�Y
�����}q-ߗ
d�
�aqZ��NmOGNS� +v����w��j��dz6�Q�ƶe�͜~}<'�{KxRZ0��~o1>�eXg��v�G፡���h��B�Y[�"�aA���!]_
�yE�
��{sw�n��T��6}
�|U��A��H5����<�-���UX�j����]j�v��
S��
-(U�Zϙ<����{�u0�
��?,Tc��rW˃��څbr�s�.���e3oYb1�
Y�E)N M-�����Y-m��5�hh8�_義-7hLU�&��~�Q
-V� ��v�o�L���*��^��µ�a�-T*F�4^f�P����^��YSQ�1W�
�)]�}e|�B�$���X/��4^E���xp�q�ď��r��G65Jǩ,Yav�/X
�F���
I]w��8�ZPn
xwȜL������ ���x���6kZ����}?HT�h�D@��#�xո��ޮ��
�`7�$2�σ#�Z	I�G��M����
)�F�>i�4�o)�e�[��[ӚLU��
����i�Ff]��[1�#��q\q��Q�q/�^C���8��.�C�7b@���]�;#���[ܢJ`����~[z�/�er�E�7��
��IË�o�儎k�t�<9Ȕ�O���� 9|��J��������[��Վ��b~p�a�ޭ�r�;\�U���n#[�+��D) 
���G�'E95�ɨb�F��gK�UW����6������{H��^7A�{B�:����E�t0�.4D�\G'%��m�L�i�W�TFɳŌ
o�W
���ȿ
-�Z-鏋IWw��`Z�uSen��D
�9�0��
BKw\����iwL�����aH���J�l��a�X���~	N������m	jӍ{G`�{xr��s�>�*�����S��MI��N�)x�ٟ'�V��C�"�79&�z��=�
^a���cc��,5�����4l�p]��𫾅ybڨʛ ����h���@��yMP�1c�,��j����
f7���N/�:8�� ���
cE�s)Y��U�J��?cq���c#2x�(3��mo��8v�V
-̫}j9t�s{�H1�����~wR�$N����B�*��{D�vڙ�
�9�f�s�k��!�VK~�
-���l
��ygѸ�!�A e1���������� j}��T�ORW��IO͜��9Q��\�k�^��-��;b�>���$);P�{E)
-G{�o���G��؃��I(��'�X%���r'��������
-vkv���@:��#�L
�N�.2�41畞J?�y����r}hID;�فJ�/K�2m�Cv�$4;27�x
h��%7�x-��~%���Ө��[(+^�tt%�6fgG+C��+���-\�g�@�ꕹ��F%��9$��9`����Y��m��%B�B]�M|�x�Y� X|z;�2C
-�tF����l-�����~Y��hh
��� �萇:e�R��
~m�hev��o���
�y��;��Tn����
9#nVW���N)�![��r���;5��@'��X2�G�@�R3��]�L:]�E���%� �I)�T`z+\א�V�"�S����"j
OW�u{f��@�`�ؚvAXI��1~��T����S��
�\�ɷ�ӀD�zU7�D��F w�=��}w�>l�]�m/5<�/�!*�aq�ݴ���3��q��k�D�[*e��
$UUu������ض��fP'6Z0�p��Y.|RD_V˕+࠷᷸Qё�"b&�f["��:UuQf�˧O&�	�c2Y��zf�WS)g��]^[Nw�)[e���wRt�)��H��
�"��	�
�+����p;n��G��XB�:Z��ZU;�8G"���� �G#�aXs/Յ�$�Ϲ;�
T�;��P2
%�=
p�'�c9,\~�W�
t�!�J��z�ϣ��%
-��l�5���1b�,p��`.��o�&jq#b;�k�X
�
�M�z�{�3㽌O�V
��ܻ���G�S�z+M��Lg%�,�b���,��
�
���f|�d�V̨g�
/f��غ�ƅ�u�Ha�
`����Z��`���r���e��9�o
���z={�2��Q�?d�9���.Ȑ������w1��l� *���F�����~�)d7��/x/���.Y?[Uɜ��Wx�
1<��*�����q(%>Ӳ8��j7
�Ϳ�M�-�.���N���6/-?!A�{�{���=9��q*���"�%r�hĪ	G8�/�3N�
�(u+:57��������g<ϸbv��(��C�	��	>z��/o?b�8I�kESKzB1ru|J&n(��*8��̗�w]g>��ִ^�@�€p��̻�&��
�;3ά������@9Iȡ�z�^��&z���g���t����a?-���ך	H
$��m8�6���.��'�uY��U����~�Hkĥ�ᩴ[pE�ŗY,���a��I��IB2l81�P�P(N�^
�Te���d�|U�Z�5�v7
�5���X��*�ԑ]��Q����=��+x>H ~ 3�|�l��
��u3�J����p�(�<��L޵?N��P���ic5Q�9n�k���1p��ˈ�
-	&�s@ލȏla�h��K��T���VCmj�����͡7�U,g6���릳�����^��~��S�����
�K&b%�%I���s�g���g����A5�.Y�n�_��{:5�CȎ���P؜=��
>�~J�)���{q��{[���}��קu���G�xcN�
��x��8���Le.�U�g��(�iru���7�5zbg���y��R�_���PA6(�C2}�VekF̮K��������9JǷY�T��4˕z���e��ӃLN��
�c�|�����s�M�k��w�ט=]�H�t�q�ׅ���{��=�����{�ͳJ�es��u��L�H�l�"�8�'�5��RO���֧�aĄg0ň
�����_���ZPE�Rx5���'�}�Џ���U�
�n\���r��p�n�������d�V^2lR׋�o�z#;�
-E/�F�x,�`�X�@$�~�ʇh�⣩��xT�x�} 
��
sN- 7Ȗ��
��Z����-K��Y�K�x��xk�&sF
x�$᱋C�pK�Yw�F�Mf2_�[�5N~U��
���0[{F��Cϔt�����5(��4VP�#.��GO�N����b�i[�B�R�&��Y	SI'e�EԺ�&yun��͌o�m�
{&v�����1��
ҝ\�e����ݮ6��\�:C��-��)q�b/^'6�SӲ�+�	2�^º�e��k��k3��_�����+����U2��.L6���7Z�������*�a�NBځ�&ȷ�l�-�x(ƚ����ƈR
L�:��NߥU8�%ˮ<
^�ٌ|Ind�V��l�,
�h~�����`���@�0r:C��V�0
选|ŏ�뱢|
�!g�A_h����Qh%H�d�~Nj���P�\Is���̤���?�7"\���|?��y�ڡ��V4��-n�:s�J�>�VȘ*�!˙yW��*���Nv�u^O��Fk���KS�ȗ�)*<����`�‡+������h#�6j�̆S���w��L8�t�M�qDŽF2�-�1����Lo�\
�
��K`�0�%ax�������/ڜmL~�2M��N
,�LKa�vI��460�G
���J��t;1?DY~S!0��^�,$!��
Q��
�9OQ�����͝s�ӽ��&�9���R�e
3iQ��-}�A� Mol
��e��Ɇ��g&w��ӻú�Q�������l@���I���j�)�i��Nx�Y��@��S��ݠ�M�~I��֔��H(�K�9l��S$\�h��Q,E�q4wQ��-j�+o���z�����
-޴��
-��7 ;�1�=��C��Wc\�&��n��R��
�f�K�s
�K�D&#���Ћ9�k�
-uxzI�
���P�#�l��UA�
�:�Q�XM�_�q��i��&4��u#P�Ԗ�$#l��G�<Sv�O@�Ktf1rD!(�
��HM
f���h�(����k�Q�T��^�y�?����2�䎆�G�V�ÍN>�C���|�,8��1��i��ެOB׊�0���'�֦١'�����S�����+a��I;Y�q
-KK��#���^<�u
���Fׂ^�<�
,��Ms�2OV� ��
gf���!��<�J�Z�n/�%��3����"G�0!*c2��-��d�,�R�{�Z��e<j��(mtٚ��ŝ�b�9�({�����XOc�F	�Qqq���q���=	Fv
-r�O�v5��a�IM��jE`����R7Զ�i�ܦ�W=kG�� Q�g��ض�q�
��)w7.���3�tB����D� �{Y
ʹ^b��C�q�鹒�
-��F�#
�ti���M�N��i���r�e~�)EdN�k3�\NR��|��(IV�a�Ӹr��&�P�+M�i"��>3`R7��?�)\'�?v�
r���J���s��~���'�}⮪
Br�3n$W,~��G��<��/��S���˺dz����JB�k���\^2�Q�'a�am^l�5�a���AI_Ư��j�Ǚ��iQ���� }�!��2�<�
���Q�:&u��T�I������ޭҽk]�5w�D
-��ۅg�٦��,���8�]o~�aban(��8��]0��XzN�j��D��'Z�GvF�Y8(OH5H�w~v\�'������-P����i��E`a,�v
4�)JM
%�V�q�_����
k��X(p�	
�)���X��X���l5ޥI�.���L:0LH��[� 
+t.6f0�
��
����%I�T����
�2�

9.��3�|���]�2�BH�&05/����� 7��Uvz��q0�F��ć���<�׽B�O�e8���;%8����7<01R��Mq�z0�\�<GD at d�0��bGtMƢ�o�á�ժ夌h���,7y�8�.E��-���	��2p6cn͒�A�{U�������JG��&�@Q��VL���ݧ��fF
L�z��6[��ygn���F���C��W��C��1HG+g���/L
endstream
+xڭSe\�k���C�F``hDi�Nif���a�T��n�.	A	)�F�%$��9�{�����ˬ��^�z���\�:�w�p[�*���P(P�ғ �D�����w(�E��
" JK
+(�� (!#&-#
+$�(�]��PGw ��/�$@����ٸ �l�
!�h;@n��{
`0�ޯ7�
�
�􀀅��@ j���8@]���Qw��$�.�Q���< H7t( /:$ 

w�y�{"�Gp�Yt���P�6WE�`�l�٣g�Xg(��?<���A��`���Rc��Ѵ `(��߬��

j��� � D�.A�T�^����`os��U����
=��"khh>0���5��tl�.�ޮ��������1z6H�ై��-D�����_G�����P�:�K l�Ho"�^��8����!^ �:���
�
�@���
�$���R �����_�>�6��@��7�����"" a���%~!
+���� a���A=~w����(�
h��P
 
���������\~{�o�u�������� t3���0��i���
��ػ���S�{��)�S��Pn��'�ǵ� ��rq���#�� Ч�{��h@�G���^���q�1�@����**½|�J}��H��<�_B;}
��>o�&��C�{�xA��f�v��NiM���U
+�*p�1
^�?j�|G
4��	+�@�/כ|�̤&���b�br�|�TwX�K ">}�f��z+��
��I���'W��=�֦��}qL����dӢ���޽|
^e�m�Ev���
��Y��&��0ð�zn1v=�tDy8(lɓ"9gi4�SA���1�-��{!A^ҍ�Y�@k���x�F��g}�lC=��꧞blI�Ե�F���Y�kG��
++���e����(�՘�H�WԬB̒�_�n�7����R���3�;�7�`5c���l<E���>��@7��CO8yOj����ݤ̾σ(P���n %�
ot����Azo�]�Z�B�@C;\"�s?�����=�9�����g�gDV�!k�&�l}Gd��çv���Q����U'�_�l�K��?
+F�u$FJ�sX�;��v��
~W�~p�_s���I;�7wWF�6�����Hl̐�����pA�Fbຓ�V4mV�	ϻ��������l:J��T���{�B�3�5���������X64{O4�SM��-�ʭ�1hJ�yg��ɽN�>�ڠ�N]��ą��D������:b��c���|�.����o4ȼ�Y�ϐS-��Q��mΥK�]�����*wU�i
�����"�,��ݛ��~\�I3�ѩX;N	�>q�-`5�|�����<�Q�H�9�R���é'S$Y�{��(�we"O�����U>�=�w�FYݕ�ZATx
+
�/q>9Ή=}]
+�
'����Vǯ������L^�d�������.b��k�3m����oк72+����2�Ưٓ�Р\D��4�����پlٍ�HOkϨ�c��W��D�^4�� }D�)q�Ԝ��pDP'�.�A�����]Rq1���7�;���#GŢ����\$(�?X���~��ַ{��;7Ú��Q�bj�*TV/�p_�"�4u�?�S��ޭ�C�
(��H|X[�����r�
��
Z�լ0=&�S[�;t�+�<K�hͻL�m6�7۫���-�-�_��٘�]l2��M$�D⢠�v�L,�"5mmu�H��sv~^��@ԫ�*	-�ƥ��3ՙ���w���?$�鬷_��p`,{
�
b
r^+�>'y5��':J�O
���y�r]���n���F�u�*���&�4#.c�T�%C����ګ�!�5
����
xv')Gq:RX��@��x@�.
�������i�CD/�5�q滷2�J_wC�N��{��G��)X&�R���9�~$ܸ<���MA�;��Y�ł�$�Jr��A[�hB���Oo6A�w��N��'
'��w)&�+�^��ٌE�]+�,���VZ�qV�qb���2[[�ݚ5��d�!�z�t��#�g���^��!��_DoUQ�m��8�9�����X��@P��o�U�=�o]
b��g�����w�ſ
;�nNJO`�)�qp!8�JB�ɩ<Ca�����|J�e4Rc�6�7����v���3
��
�>]�ܾ�8���d���7�mڸ��b�JO�$>�K��*��,����\׬��c�Fn�w`�B9I�y�X	��%��W����,q��<��2�����y��"���A7!%���/-p+D�&�j��f�j�c��KTue[�-52��*�� 'h�<��m�� �R8�ޭ<k3��{��I����٪	Xi�~�]��׍��;�{J_QG�c+ [...]
+��$v������W�\��m���wBWN�yn�o3��c=��8�/��Ngv� �X;ku�}�p{{3(��V�t�j���
�����{D&=]�����c�#
&�#p�(�U
O��:��,�C��#qM��q	
+g��*
+~� <���F|'���vb;�G�"¯qur�tj�:�<*5�0M���'��03�eg&�G3rqdtݼwH��3h�^�0��f�
|{>�E�A�m��r�w��L7�\����kҐ��M"iŊ��c�rɠI��G���Z�9�A]$9�J[����w�/;ʰ���Io��ćq��(6�s�t� y�
�aMb�N9u��vg..�O�cn�M�:y*�D�I
z�Wx�wS�i�L�-'��v�o`��^���'X�W�bL-w�Y]�V�@
̔�qb�w[�
�Ӯ�s6W�lҎ�$=
+��]Iі:9)�`�_
~F�d?V�P���!69��n��
�Z�Ǣ€�<vB��Y��
&�ً��O�0*�-�U�<��:�R�=�w���Q�ş��؅F?���
+D��Q

�D�g��6.�Pb&5_^{���j�����ٯ�ԧt
���
��e��&�c̤H�ר�I��E�k�,//�D�
�>��a>��6����
8H]S��Ot&��j�s�<۷�u'��b��,mD<��(��ɚ58��W�a��A��L~<�� Wm ���۾��L+�[����U\��8�L�q�w{���Y�Ut�BH:H�$���T|��/��>�:��t�?�Zsߊ!P����g��D����R��4�yYב��֙��`H$<s�UP� �W�'�}���,�yJ�
�`԰!ā`���}��g���|`~�1B����xԀA�����툷V���<5\_���K��S�H��ʦ;�&ځ� *��8IK�F�����Ɲ�G|
+�.SD?V�2���o���w;^�oͩ�t8��E�%�
�H�k|�C%�r�7Oß�fY��u��֐қҢ���ȵ�4��S���ݴ*��A�so"D��1uB�N'M+~���Gϧ��|�V�8��K(�5�LU���u!E-��l/|$ ���ȷ/um=�ͨvkd�s�����I�
���v���
+�~�k_�pK?�H���o�4Qk��y���%���OCA�9�t��o ���&�>�K�
��S�Kj�?�1�:�G�&W�cdg
� �Yy}�^ef�o��{
�q˟��y~�_I�"��Z��
ށճw�u��,݄�N�k|�U�1\��tjܹ)*j`�:T
	�X-=��Y��� ~�s���[��p����������Y}��t'�y=��YB��
�θ��?�<Е������WP��S��	��^��D�f����soF�
�3�ė��<�J�C�.���yC��:
:0��Fћ$��2vݿ��9٩�
�)�Y)��*p7
�/M�m����乞�K��&:���}���
U'���e=܊�0����'R��
c^�e�=f<K�%���ltz�O��b[̟���d9���g�
;�~�3��ז}�P�!]Fr�-z��u��a/�+����D��阭
%i%�ef��I!y-e6t�cy����)���Sz*�3��/ll�+��(�M�b^bt���
q�ݟIL�O	'���|�8���(�}R
NI��E|:-����@��z6�`k������Cj�������c��ait��F"�E��5�#NwH�
Xv������"�%
oW��z�7H{_X���6�x*��ջ/Y�����{�A���._h�
����Q ����M��V�� [...]
+��q�w�bXc/� >�*���L��k�B2G,tOv�e�
\�m
+
��
����L��*"��(�ރ&8L�#�_m_�L�pG�2�̭����!f�
�
�z�gf}��-
^�mf
m�#��g�W9V�⎕P�
������C�
����]=�5���g��2�Y
�1?<��WL�m���+?��-y��~l��%��,^t �~��c�"��i�X'�('}%�~7�z�?��r$���vu��-B�[���h1(�_+����
�C���WΕu/��;�Mp�
�<���>�n�H�P
��,I�d�?�B0����[�5�(�
r�x���H�D�,�����
%H�9;�2<��h��y�"��QڀK�P_�:g�Z'�s�V�B#~��������`z�8T{��K�?��U,{5�b����ᛯ���`�ń���χa��y�W1�
�5f%%q�\�O	�H�Vn��n(�q��)�o�Ʋ>�[�pJt���e��?��o��&���^�i�#�i�}�ܚ��]Z�(�P�/�]81;��)
8�%��C�V7�-�<L&"�s+8���l�֗f�+��Q��џ֚*Ae��T�ى
�N�k�	;���n��ئ��F�9�{�,��b
�j��*��� ��
�{��Ϩ����8�v*I��Ĥ��z~2d�ī`9䇤�}l��X�kT�&��,>Zi~�c܃���'8�J<o� �ѝـ�V�TӇ����x�sv��D
7�I�
�[b��&D�8��FZ�
��<dt��竆���y�bmI�F���̴X�y���锃N!��ݻ��zPj�G
��}q�S��J��Z�Š�۝��9��$'q����%:Q/	���߱�J�$�X����YN���ܣ5����o��[>�` �]�g�a[ݽ��K�7\~�o�KgoB�O�Gg�\96�Z,��yv�	Q>��A��{)�e>�e{O�q�vQt�.V!��:���jK>05,6)'&:=bL�$Jt~�#ʮ
q���hq��q2��ma�e*�h��t���Kq��j��ih;ƙW��k�b������AZ	���"?�d��������J}d&޼c�݉*����'/�s�VWj�n�P��67�Ϥ_�sL�۽����5�'o�{B��s#��
�h����*0��
���[cٔ�R;�]�):��sa&]���d�cF�{�ć,�
=�9iE=��Ŷ�-�@��*<�
:q���z�ހ�T��2�%�����u
+3����Ⱦ2M.t�h{���.�����
i�Ҋ�5U��Q����l�*S������(�vXZM8��|�.���mr	*���o!QXR�ޟ�2 �9z,�Y�qGt�G�,�*��[Q��`���ܞ�s�i����nm�օc_fa�}Ҵ�9DD摒+�FY���!	��K�
�G�er:�<܊f̮�EӋD�����q�u������im��
ޜSL7}���"7��8\{A��1"�i�?�|���(����g/�[ ��|��L�r'��Ԩb����/'&���a�:�3o讑�=26���1���k�Qj�_�Zp���K[+�d{o���7aA���b
/���d�;|�#[T^p���j�ۼqٯ\-�
�I���d0��LFPT���}�QC�?¹
+d�2����Q�܌���ڐ����� ���0
+endstream
 endobj
-573 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12209 0 R
-/FirstChar 0
-/LastChar 111
-/Widths 12210 0 R
-/BaseFont /UAGXQX+CMEX10
-/FontDescriptor 571 0 R
->> endobj
-571 0 obj <<
-/Ascent 40
-/CapHeight 0
-/Descent -600
-/FontName /UAGXQX+CMEX10
+12213 0 obj <<
+/Type /FontDescriptor
+/FontName /KKLHYL+CMR7
+/Flags 4
+/FontBBox [-27 -250 1122 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
 /ItalicAngle 0
-/StemV 47
+/StemV 79
 /XHeight 431
-/FontBBox [-24 -2960 1454 772]
-/Flags 4
-/CharSet (/parenleftbig/parenrightbig/braceleftbig/bracerightbig/vextendsingle/parenleftBig/parenrightBig/braceleftBigg/bracerightBigg/parenlefttp/parenrighttp/bracelefttp/bracerighttp/braceleftbt/bracerightbt/braceleftmid/bracerightmid/braceex/parenleftbt/parenrightbt/parenleftex/parenrightex/summationtext/summationdisplay/unionmultidisplay/logicalanddisplay/braceleftBig/bracerightBig)
-/FontFile 572 0 R
->> endobj
-12210 0 obj
-[458 458 0 0 0 0 0 0 583 583 0 0 333 0 0 0 597 597 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 806 806 0 0 0 0 0 0 875 875 0 0 0 0 0 0 889 889 889 889 889 889 889 0 875 875 875 875 0 0 0 0 0 0 0 0 0 0 0 0 1056 0 0 0 0 0 0 0 1444 0 0 0 0 1111 1111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 667 667 ]
-endobj
-12209 0 obj <<
-/Type /Encoding
-/Differences [ 0 /parenleftbig/parenrightbig 2/.notdef 8/braceleftbig/bracerightbig 10/.notdef 12/vextendsingle 13/.notdef 16/parenleftBig/parenrightBig 18/.notdef 40/braceleftBigg/bracerightBigg 42/.notdef 48/parenlefttp/parenrighttp 50/.notdef 56/bracelefttp/bracerighttp/braceleftbt/bracerightbt/braceleftmid/bracerightmid/braceex 63/.notdef 64/parenleftbt/parenrightbt/parenleftex/parenrightex 68/.notdef 80/summationtext 81/.notdef 88/summationdisplay 89/.notdef 93/unionmultidisplay/log [...]
+/CharSet (/T/a/b/c/d/e/equal/f/five/four/g/i/l/m/n/nine/o/one/p/parenleft/parenright/plus/r/t/three/two/u/x/zero)
+/FontFile 12212 0 R
 >> endobj
-569 0 obj <<
-/Length1 761
-/Length2 1188
-/Length3 532
-/Length 1748      
+12214 0 obj <<
+/Length1 1034
+/Length2 3716
+/Length3 0
+/Length 4388      
 /Filter /FlateDecode
 >>
 stream
-x��RiXSge�C
�^0�$$Bp�S�M@@mHn�j��܄��D���PD�a�
-�Dֲ7mm�R�B�A�
���9�k��{|�}�w�s���X���=xp8ȄE2<�@�
=�DH"����a  G�"O�
�$*u3����ќ�4"c0`��""e ��i��
xA�rD �#����# �a.ʔ�C  �wH?P
-"r�G��H �ʀp0a
=y��0���̋�o�AD��pK67�I
,(
��8�at�z�_��P�%�9�E���>�s��@���d �`
��>��ߙ�Â��x�8��!�� �]	�2�h��
ɸ� �#��KuP���ܒ�� �6���t��ˁD� ��w�E�&���t(!��P"��_�}0l��
� Q�ىp��Ġ�EN@,	�D<0 �Q�,C� h$� F0�J�p�x���@
`��?�-:
���;�V��9$
-��)����F!(�-]4����Y�`4��<�s]�=]�T��Z�[�k�M���`W��ԭH���v|.�{Z
4[��;�;�b�Bz�6n{s�$#�����ˡܘ���\���j&q��_Uw�F��}��v��x���-���8πW��-�C䕍gQ�����
ɇ�m
-�VfK�R��O+Od�<�IT�M6�a?0�F��-0����
�7\��T��S
�V=�pK���t�S���4�_��U]�f9\�P����~�ɈV�L�n�ܬ\?��|�^b�ک�$d�oi
|s�~�s
��&���A�>
^ªN��}u(��@�����+s�ϻ
	��|�m����ʮ
}h�5���fz�_��=u+��CZ�
�*�ō��o~��J��?mJˢ82�L8�b���<;�՟���$��t�kx�������0#Pnԍ�Z���	Ši�c��&Zi�G�d �,�=�BmLG��v,��Uסo}���c����[*�D*��C�B��y�1v���
���$Lw��5~`-�%@k�R��ꙺ�-W���AA�IK;����7[��;���yJ9��̵_��d���v�&�V�����]�c�	��]O^G` c��3���/�#X�zv�f
�����Y
��5w�f5c=����4YS�3db#�ՌDI.���FQVjwgu�b���M�^c;�<�'�5{Άc��M%���M-D>l3��\p��V3j�v�J��ԭ�#���ˀ�{f#g[kt�s��+�M��u׍uM	h>��e]�����\hx����'s�}��Y��9̉���k��y�ݹ�⼢5����6�I?h��Mb;ۺ!�s����Ж� �~u(k}������c�L�ώ�z��r�����#�
ד��/%�&}��3j�
�}p�k�|���o*�Vh5���˳���߁%�brdx@�\v����4V�a�<'�
�h׉�
�6ȸz/t�7��Y�FG�MU�]�J�l'��l�wO+B��a�V{w�ʩ��xᎷD���_��
��]}^�N�,@��Ulo|��p�g5�vG#�%䭺"�1-
����Q$���6Sۻ�L6�I�ƴ���U٫i�<T%���Tq�Ǭ
�f��;�$�
,�/ä
��y�oB��t�J�=VM�;�_;lm���k����x���0��v��\��oK�
�^�
{�X�'��^�)#��'���s�V�8".����y�4����
fm�T��>��^��:έ>�m� �=
obv��_>�?�/����`!ه�7~���endstream
+xڭVy<�}�&Y�N���}fl��%K(���13����e�V!ٷH����"*KH����I�$Y��o��y�}�����:��=���s���6���F����x
Q*Ut�-T�
�ILL��F1x�.��V���P@���� Pe5U5%U&1@�L�xx	
�"��&`�
`� z��)9�,`�Gb��`9@�,~��,�~hB %��(
���=08&�?�8w< �F���M�	~S�Ť$@����� 
+��6�Sj�)N�?L�;��?k�����ң�a�l�x���?M ��(4�o�E�/k�h���߬!�� �q
X4 ����c��(3
�	�#�~�q4�o���� ��0׵4��9͟��#Z�����'��Ɣ�0A�D�R����7����!�(
��J� �@@3Q�����P(����A :��,��)G JK.�xӏaR&F��BP �F@ ��D,ڝ�O

+� `�?P�"C��S���@
 �c��+`�?�
+ �C
Q�޿!e����"���п1�������#E�����w.Ja�P	 ����o�%31�Mi����:�wE
+
+A~��w�g��BeTYyJ^(DA�)A.���O�8&���(K�7v�PV
�B#�ތ��KY
q�z�/+i���z4�4��i;=�B�-�;�+5Sg�_��ɲD�$������0���(ߛ٣�K�K�!$ۭ\��E�oѫ�-
��?)Q����H�+y���l������2��0U�C��μe��~.�:>�N\A؂-۷�b�t [z�����K�
Mғ��V��b�´C�o����V!�9).�e�OwK��Xk�w����<,	��[�>��θ��!�z.�<�zW��eH���d1e���i���R�Fj1��!xȶ�<�(H
�"�Zs�K~��h�&
J���\
4��#"�O�Ȋ���8& <3*Os��#�#UpB��7=���K/�B{����ͣL�rַ��,y�<
+v��>�����B2�mJ�y$6p�\��Vp�H�}����4�=W�gW^���ռ'��Z�U0}���5é"S1Ĝt�ިZ#�Z4��@r'sy��$ok�e��R��
8"U/�x�6w��<�U��Z��˜�a�=�$�\L	T�Oj���T�
��Sݓʹ%��4�!<�PY��鹂�({��朗�"/�~8yq#�� \��r~6ߧ��N�Ɛ0,����o��W�_*�yo�s3M���S��/-���F'��$�8��9��2a�}��-��]��
��M!��c�Y�A'z
�yYj|
+/઼��\��+J�R�^S�x��n��	@~O�
�$��	)1 ۖ���y�� ���?���l(gA���dX�S�sLA�HK��kywb,��i�p"f�#מ��Gb�,,������
+��:׋Z���F�*co�憃bd/������
PŽ� Z��V�nAn$݂Ϲޘ|+ݵD��X`�"�^� l&�n���]�
+�ϨT����7�8��eK
gCa<��q,�~�3
+|�& �[��c^�ߧw��
�<���4W��g���~���jȜ�`�_�����	g�d/��X�o��&��|�&L�d0&Į-�|Ci�ʂڎF�9��
�hW���8z�
�m�2/~�E�<�����:ʉ1$9B�K�?v�jX���.��
�^�6F݃�p.
�u����C]\ٌu��P��(Gx���uP@��f���6ѭ}m��X���B���f� ��q����+���\�}�Z3Q�;�i6��[�F��I.痏I �ܛ�(��]#�N��6�KR�S*��jMP�����TI�j���2�ވ�|��pI����sdw�Ͳ!��q�ԗMR �
��q?g�#Y�
p
;H���R8(׶��FV,l�Î0z�Q��z��ܶcv/v�n�0Ү��0���OZNa3��zn/dR��H�i�
��x`u�r�ZB���v��/
�v�ںv W-2��iß�g^4*�6�H��
v������
>��������1�43ꦲZ��MD��9��^-�ht�{
�>�n����5�>p��M��>�x�i'3#
+�����Ĥ�E��
j�3uY�9��?֗��7e�
��n��9����\��ő�/}����
|ja�k0�*�+<w�e at H���v�7�*���0ۂdX����U$A�
+^�s�;��N/i�4�ӑ��Zm����
��
Ɣ���l��C�k�� ]���}�j ��C��qa������c���c7�3�H�x���^�L��f3��p�݉����YI�^
+����g��JVEU�
�<�U'
$�t�и�5�Úv~�m�����.6�dZ4��!�׾'���$����y�-��"��gŨl,�+V�U�M���>٥ËO
���f���oYVk�Io*��>S�j�5��@#�K��]~v�q��
+�.s�q|9Z���:����n���-&��x�{v�ʚ��:��f���i~(a��2V�^ݎ�3,��h�`��k�
SU�%w��MG6�$��fT�R�z���^5��-j��Zi|���
qGr��^���b��/�i,t�j49c�:��rZ�h�������#�M��
��
�iY/��ZA���f�I
L��.b���2|)�p�	<8ސ5�g�����ٓ��xfpտ��$+������85i�;86!l��
W��$�kļ#|������'�o��FUl0&T|U����sI��-Ң�e	J�N��c^�;��3*H���9�œ���~�EW^{����Y��r�Qf��6f��Vk0�W^.�n�g� �Œ�Y��=ɩ�-0$H�|YK�m�07I��G��f
���Β���r�og)[�Ӎ�� ��ȓƝ�]z:#6b��~�T���|��S��y]d�ip𖎤a���7���M~Ev��!ĉ���J�D8X��0O����W��N���ٖ���p2��
+������E%�(����nD�����\��Qk�
�n���`��,�v��|��E������†�=?
f�2v�l��|�$_0nH�>��<@<�����gf
�P6*ӏ`<�6�V�S���|�D	==?s��Jc-�Ww[re��v��j
4zl;ӓ��uM1�=/��x;�S�+0��D�b/�z�E�J���j�᳉��6��
�%ϰw�{w���d���
+7�h�W��Xƙ4��t�տ`4/Ud6Q��R��wh_�Q�,=nyA/�p
��p�4�IJP��o��Vn���"u�qٚ�d��+h&�R��� k����B#�^��tK��p��2�~��iA�*%o��A���H�*�<�"χ֤�O*z_�����+��
+*-��7�%
����;
+���ӎ�e�&�[�w	�
���T��Uکx��?�>��v]�F�k��xZê,�2�%�KN2���Ő�z٫㠿�DvI�'����Ä��~�4��{i��J�T�9�Q�҆҅��R%��}�kz����;j߬����29(�M(���S�ׄ�+��[D�3��
�|��6��[�
�}*L�\M<;Odl�_i����V��ݝ��$� #����eU�ln�@�Z�p=
9wyPrjQ��&�A�������w&O�4�$��T���i3Y?�|}�ŦP�l�A��z���I�vs>+
�t���=�e��s������pO�[��F>	_D���lEx_�����T��>���l��[�]�̼ɷ���k���wIn�fr��Ι\��z|R`���
+d��L�0{7G���A��qƏ
>���
�����Yg�?�
S	�
��'��?>t��z$J�@��
Q��i6�5K����
�G��2
���L�f-r��K�µ
f�IѱbF��d<�3Q�A����~4��,�?|��Ƴ��������W�
��V�	$pC�,��X�7;��� �ߎ0��f1�U���%�;
m����h�"��.���5m�u�
���w
+_��{�����0Q{mͰ�X����i��
��}���3���
&28E��h��Y�TT5��X�o�Gg�8�_��y�>��#w|iy����i��C�~E"�r��#�xBi=��w32��
Z�)[|��ZX�|ݗ7�c8)9���B��J����q�"����)�>=-�\6__8��&íU–�r_��
�hs�iX��̮��V:Mh�hLh����֧�(���^F�	���k}�%�i����/���V+��[����g|�ϳ-�
�
(�
��-*>���zq��‹��h��v��~
5���x����C�5\�O�b,�
��I�HΊ�S8�I��]�b�]��1�M'�]#�{mW���!�2{���t�u.����v�ŀn7�&�L��Zk�c���@J2�/�(�Q�eU������(��Y�!��� -��K��{s���GR�|��t�
+endstream
 endobj
-570 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12211 0 R
-/FirstChar 48
-/LastChar 49
-/Widths 12212 0 R
-/BaseFont /NHTOBH+CMBX10
-/FontDescriptor 568 0 R
->> endobj
-568 0 obj <<
+12215 0 obj <<
+/Type /FontDescriptor
+/FontName /SRQDSN+CMR9
+/Flags 4
+/FontBBox [-39 -250 1036 750]
 /Ascent 694
-/CapHeight 686
+/CapHeight 683
 /Descent -194
-/FontName /NHTOBH+CMBX10
 /ItalicAngle 0
-/StemV 114
-/XHeight 444
-/FontBBox [-301 -250 1164 946]
-/Flags 4
-/CharSet (/zero/one)
-/FontFile 569 0 R
->> endobj
-12212 0 obj
-[575 575 ]
-endobj
-12211 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 48/zero/one 50/.notdef]
+/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 12214 0 R
 >> endobj
-566 0 obj <<
-/Length1 875
-/Length2 1387
-/Length3 532
-/Length 2016      
+12216 0 obj <<
+/Length1 1666
+/Length2 7374
+/Length3 0
+/Length 8359      
 /Filter /FlateDecode
 >>
 stream
-x��R{8T����P�J?��}n̠�)���Bk��4֬�̞t?��DNR�b�Q	=)��˥�]vu�-�
E;IG�gѮ��������g}��~�����Hf�@�P{ɤ��Lc�_�g@#S	$�"��`0
ИL`+D�� Tg��b�	$��ũPD�k�ͤ��%0�@)�`1��	� P!0�"�X
�Nf��ZX�	��L�р�0�)�2i�[-Ο`�"�3� �r���M� ܢP&���&P�2��;������B,�
-$��'��Z AĪ�2I��Q�'¨�[i0�ɛ,D�oYoL F �T$��͑L]��D r/D	
yŀh�XO�T��|zSF(~�!�PO�O[��xD��S����U<Ӿ���PD	�T2�JÅ���+��^+��L�HE��p�T��� j@�BX	`%n�B��0<�I�2�0�T*�H�B>�Nt
P�1$o��UbX.����>��.��"�o~A���H�)�}Mf8�M]�\,��|a�8#��&A��p��
==eJ�~�L
��
:pv�'��R�(,Ŧ.���8�7�J"<�/�\w�
��T�ue���3)Z�K�?Ь
��z
&2��D�/N�V�5m�3�r=4�`��M�ɟ{�b������rG��j��,��vV/�⃲s�ֻ�U��
�ga�`�b[�v��ghA��G����kښ�8?��f�tC#U��� o��8�xo�O�hh�������]��[$5��+��'�Ͽw�ۯ__?���:�3l7��8����lf��r�k��H���|��׫&�O�5��mb�;r�Ȣ#�Fh7��~�	�=�d�X-ۖ�Q�&2���U��Ʋi<� Y���ɛ��+N��_w�POhYM7Iz�t��K�}�PN㌦m���E
�_�P���=��=�p�q�U}�����BI�_�:����R'�S�n�=�u�)��?��%c{�������e�:.x��R�QN<�h�;�4Sٯ;��Ʊu��7����\M,:Eݧ][3�;��z�ν�X�-�VZUw�Ǹt�q��L=�;�
-J4�\�)i=�qa��dGDYܘ����W;��1'�?o�?~$�+�X�d��ђp5���䕽��C�UNO{���*���bRi�m���[߅}�0�����q�0v͌�L�	�����c���;�L��}2�������9�U�n�d��7�h�2�T]�����PB^���>��D���Y؇����4J%sV��
�g俎�՜�:{��M��ʛ#zg�N��)a��


li��pw
����J=+�:�P�����Ou��>Qo�4���j����v^wU7|ab�<Pwx#�����euj�>�c��2
-���G�q��$"c��-��B^�n�}���i�}s]ߨ�iB2��Y��?7]��4����?@ؽ�P��ȹ�
���-IS9b+:�:sKO�HP�e�iZ�
�d� �5mh�9�t��5
���ܔS�?o�U�Ƚ�Ҵ=��V�
�p����r#b�fe�jX8�I�$ڶ��v��sW�8{�u��܈����фf�x����
�k��
���̣���ܶ��.;�-��a΁%V1Wl�W�З�jc��
���z�F(h� 3ö���
-0Rw���G6+v�ۧ����?�7����,�,b�N"��V�•w�l
桺i�n>���>dt9�
2ȊZ.eL�
,�
�&_!����
氘:�E�K2���,���¯_K)[�C�|����/���,c׭��o _�<uB�Vg)�p�z{�Qf���3�>cO
S��A
ӓ)
j�9!P����c���|��Z6a:�֪��δ��]:�y�-��H��y����#G#�oO��⟛��X�[R��Ɓ1V�k�
��q��"̧^�DD�Ξ��@�tq����ݖ��[
-�#���+o

�|Yhi^u�-�i�v
fd~��'�nQ�c���OL���c:����.�z٪�͒OR��5�9]
0u�-,�^�Wp������Ž�'�}io/��UM��_� 1, at 1�D�n"�"��endstream
+xڭte\�[�6!")��PR
+
�H�t�8

L�)
ҍ��H���"%]"��t
��x�������/����^k���n`|W���
��G�
+e *�Ɩ@a PP���[��npU
+" JKJh' P
 ,)#",#.I�
Pqs�A@��Q ^�_N� %W
+�� �3��
����P�G���~E F$�	q$P0
+`q�‰�~)҂;�$��
��S�+
+����Jtp��| Gb!=7l-V��Q�M�����@����ѥ�Ã\�0��<�\��(��� A���j�S�.��v�/����`%�
�
���"ա�(
+�
p���?p��R���C���������_s��4 A�(w@���6���
�b
�����)��9@�N q	 � �co��P�� ��*����! lk �n�_c�� )����$B*��$� !�ߖ@H󷅍��ے��ϒ���Y
[�,F�-Q����,��@w�G��� (��N��ܟ��oR
[{t7/{ؿ�Ā����J�����	B�����OEb/�{�+�NV�
�
+	!�
K��� �G�%򟃉���ܯ�`(
���a(�;v�S�X
+����;�<4��������po(V8
�>��qlg�~m�B
;J(�
+��~W��b}���;
V
+
�D�;�4v�07�_o
�}
�X_W(
��
��{8 
��@���
�8��
��d��;�on`�/u�ߵ��w������
E�aC�h{$�ݓ! �0��	��į�P"XUH(v��c���(4�DAa�
3v{
���l���_�-�}X�?�_{�����墬���wWDpWZ�؁@	���x��
�h۔?�7vE�m;b� o�xz�
,��Q
�V4\A Dt��rs��ES`6�!�X<ϐ�	U��`�U|'ݣzm�l*��!N�Ƀ�B��W1��O��;���|Bc�Ȯx�iuz�e�/1�t ���9�Lq���9l([��.L�P�%�s0JN������̯f;h
+J��~���e@�T��qT �?���:z���)��X�w�A�����{�%�#�{�˸��8&��o�ߝ�n4j+���_����E�{~�3�gI(!X���>sﲨ�c��^���(^�Z�G���j`��
Bƒ��RУ��),�۾
�[�OM��u3,��v�L�� �ǦUΟ�
\��E�:Ikr���[���(^v�!e��7�}M
�R��
�nu!��
���׋w��"�?Nu�Y����;I�K���d�X� ��-I�������	OM�J���ߢwcc�
I:4ޜ0�
����sg[(�my�䮤Fl&�?��遽���Oh���'J{v>L��uzG�?�L��Kq��k.�yƷVaN̔����K��Z^w]M%�^=�������$��m��3Ѕ�َ4�e���ɛ�T�$�j��~A�Wc�=w�G�����/�K*!���>�����ҫ⺦CUܰ늧�����yF�jǑ�����%�r�T�ǭ���b~Ϝ��BեlPuK�
�M[���-
��c%�]�E#ׇ��2�|����u��FB��y1���/�g}#7[��ϳ�V��T��ʟ��>����8P8�nN��8#��p�q�ϳfVT��V�C����c���ی,+�ë�?7&�)rj"��sS�s�&_T�N�0��)�,���(r���?��묮f�Ͽ�u�ݙ&kQgU�ٴ�N ��jg��B����)�CM��"d�
���u��N*��W�-{0x��)�DD���Y���q�6�ZM�]�,�s
-�D �
Z]��;�{���#����?*v�gh��km}��$���H��a [...]
+o�<�_N��
�KY���k��#��c��t
�9�S��޿2�M�d�i�5�\P�
+w���b�^������k
+�
}u��w�]Ƹ{e/ ���Kz��1�v{}�Wb�׻
��6�7��@��9I��b��}�Z8e�,�Ze󫏶>� �I�47x�hy)��ܽL��ۭU`g�\Ő�SI�y8-<������)�UU~G��tbS w����qq��֫��̴��Ѻy�ˉ`<b<�:;��Bl��m�o
��&�+�F�����Jϊ���SN������{F�X* ����h2;u����(5�c�s������<A8G�+ٻ[���~`��I4gΔt��SMk�i��8��s^2˿rO�)
�W���*{�twa+ಢ�s�m���v
+kC�G4kWA�b`SҏV+�!�Cq9��
|����lǛ��/�yOFY�2���ϱ�{2-�5��h��M�H�]5	����{�����V�a��G�zj7����0[�J)f�¶��9ͧm��fI9u|mÇr�J��^��

J�Q�=y��0�!+{���=�0��9M���`� �@�؟�'�.��R���}���z�T�jd�ڞ�r����^mޙσ�v-I��}���{+�"��/s��Y��p�]I
 �53 W�H�@u�(�?�����9F��z�G3<{��1�_!6Hw�m
���a�ǔ�W)������Q�4���y���}�"~����<[᩿ij���$=��x�Z}�B��R�aE��}�Y�mǑkS�Y���sNу�WK7�n�Ҥ_>8�@�2"���ތ>�4*9�
+w6�ݑ��Έڠ�=k��a˕KB�Ov�[Q�?
Hd�D�9�-V��;,w��}�ˍ󌻬E�N�a.�.tX�`}���8�����v�����eG���
Gߚĺl�L�X�?���6?L�pFdf|>;���2��� �l�NR'}���	�FH5��
2ُD��=��:
,��I����ys'&��
�K�?A�I;���9��Ed��x�f7���;p��
F�*�}	I��M�s|��i��n@�S��2�MM���a����E�|�(��z�bq���m�c$�
+4��R�ڊ�2�Ƒ�6R�0ʥ��:�,&Ղi��%9y�ݸϛ�e�'[
/Қw[�&u'�Uu"�Ù��@t'��њ�O����mc|� q:YrRV	��d1
��0JЃM��Z�����'A�c����Ń{m�\a��,	�|�
��<�	^���t{� ���sS�VT���Պ�1��M�'��zዧ����
z�ov�d�~�*�z�˘�K�Q�3�-Hua. ��-]�0�cܳ��L���.�L�]�_
�`L|��)���U$N���z�g ��-�`��+��� ���ר�w	^��S�y���L���õ��S[f��c'��O�fR�,�-�����}�u��s�����
<��f�����K	�
a�n�ੑ{{z�n�Bh[��&�ښi�q������=��2��w󌻭�

�Z+?[LOD��^��������
8��O��Ɠ,}ٵ<[<vdg���o�y��8z1Í���1����%F�K�N&�?��>aj��pnw�Y���L,c��Z�z�2H;	Uv�s�V"T�L��!|v����܊0_�����H�g�3Hx#�s�#W��
�������nQ����L4
�f�0wp�V�yG ���B�4�	���X*,z�e���*�yI�:C5C��[U8����ȪӪ�V#i�:��{�)}���}��͍
�R�uUՍ'!�-V����,����L2�QV�F����L�7�H��k�b{�����|�E~�������p��уr%6tGL�I�t>���1-�8�\
+���f��䉅tٻ��U�`��
x,'5
�{��)t]�#�>�

+kE
��~��+�FU�r
�����_

޻='!Dym%���
ެ���Z���yvs�Is0F�/a��]����[GZ��n��>���A�mV��IT�"�j1�j��j��R
v�!wn�BE���h�Mr*�6��(<~s+ 0�x�[iPe�--��\j�M5٨3O"�-�� q#a�jL{�J�e��F#�4˞E� �TSY���t����&�-w����M jܺ�l���>�ߓ�=aL&�t�g���Iͩ]��
��]�gִ����g�Y�#�B{�cFjTFet�\w'���I
��*���ឿol�%���u�F�V>_a�Iw�&���8\�{���tR��yW������G������04^0�i)զE�+Sj�G/E�7��bju��6&�u�|��7���s!0:�.n>���In��RA��B˧����9vR8���O3V7�[x��;�
u*�v ����dҚS��>����g���rI~7ҪeϺ?a$�
?�RNV �jFcN�MgxO�W��Е?>�pHWq�B��If�
��=�I��9u=�m,�ˀ�;�*�����V�V8�NJ�	��s�WEq
�������A+���@~�Æ������\��e��۹�fOV'�>�@N�?�w:3����9tw��`��*2G�R|�	����MTka z�%���i�
H�I������77k��7����kH˶8o>�R���>"��܆��_G̙.��KT�Xmf
��ΗM��j��}3�`�����HF~mgL��Dd:�G
+�K�����։��u��꛰�{��
���9�<��{w�k����(�3 ZwV��󪠜1��Ă"�~��ev.��c��4Տ�I"���ѥ�1uh�$|
��^ J�Y[�/pT��f�����4O�n .+R
'�vA
+o�;^���֐�y�)��	l}<�oZp�[�E��1�
�A��g�u�QtM��FBb���%�����R[��P��w�6Tܞ?'B����R|yї��;��|��"}�`�ɜ5JsD��8�@U!z�|��������w��Yݹ��*��} d������<KV�r}M�؈ojMo�w�6
�nzH:*@
!s�,�OB=�uTv
B�ř&#Cg�}o�}��t��yG����
 �&��� Z`O�[6�㽙�Q���N�/��_�l����6���#�(��m�_&�M������W6rRD��D�
.�緦�
�q��
qމ�m��gR�t%eXa�m��y8���8Nt��0�+Udi;��g����_��۽�����@�ѩ
+�� �jyYBv��±2ݬ�����
j*���2*Qq�a�X�X
��ғ��$"�J8�t�G����ތֳ�
+����`Q*u2h�>�O�n;�j#̩J9cR��;�����[�!||j��(��y�*
�ˊ�������ǭK
���[����ڄ8��r7��e7��F�
�UO��rv�	������re�/��@R	��}��h��Uxf[.~؎C��>	<v��L��o3e
���ǎ���/&�l�@e��f�y`“�}j���9�p���O�b��EcÞ�y�t�[�1Α��W�]���>��(����x�����hJ���Mke���C�K����L�o�4B�+pCtv;n�����ĝ�R5-�v)**nʙ�9�_h���μ���%,�‡���z/+f���2�zƘ�����;~�U_|�1�;�������?U)��a*�J�IK�5�$Tij�{ۧu �Gɔ�|�.�kr�s����Q�L�^x!��e�M�$��hZ�h�[O%���)���@�!���2��c�-�/���D��P�@R�+���V9Ƀ���4 ����
��\
+�%[��qo�T�o.7���RF<�dL�l�q�O�p�
�����$^�$��e��qS��&��_C�OA���
暌;���>���T?��\;���_�9q;s�S� f�)W?�`��F
cy��ʭ�]��O�
~X%`���tz����I�����;���Ң�e]Mm��~�fN�Ҝ?�D��W�%�Qm⟬ڧՊ���y|*�t_i��A�ӝ@�6��T��{
ORf�dD�!��)C�
����$ُ
�褒R
Wm��>eԜ>��8�c?´��
]������!d�*.����rh�Pc�4���td�
Nxk�GAL���0��<�M1L��.Sף7θ��s~0��h�W�v��s	�P⵼u9񤝴0��)�\
�/=
�e��n8:�������qM�DFY��Cߠ�ʅ>Q
ʔ�^#������^��үI,��:S2/�Պ���;!���M��ZV�n���)�ҏ��+�ycV���i�|�2J�{[T��Uf�(�iu�q�xr�Ʃ�h
���l�n�mN��� ~:yT�*�}��us�*�9 ��s���-ML�3���m��`�$��P
u/nL�Yb���
�BE�#Pnq���
=��/�Z��
+�0
A
cz=�����x�v�	�:��	I��
U-��J�"�k&�ǽ�d%7�h����5қ�/�:� �(���p�� �_Cs��q�	���"1���ϩ�sΔ��*Z���
�T-��Is�%�J�������S�
�$��!���tn
Fg����B�~���G�c�����x��l��å��9�@�6lǏ�c��;7�?0��'��*ỳ�T�6h9��{������ț�{��{�w��N��
�2�0S�jl,.�����(Qs�uӓ�{�^�����1ֵ8}�s���&��g1��_��Y�ޗx�w������������ٷ&���
^�A<
�ӯ
/&eeF�Z�vV�ao�)E9EKy����ߔr�P
+d~�L��np���ң��H���g��,xy�U�5��=b���D+>�R}���eC~m\LT#7,h���i�EC�� b-�6v��h��c/
N��^�'�P���G�'�����#>x�]��
�c�x�]LTC�E�o�xm��q���x�դ�tv��<�����4,*־��sE��[2[4tsO��gd�B$�3�ҦX/�%�[��p"�z����� SwcΙ#KM۷(s��
	I�&���[#��>�Y~1���n�d�|�Z���-�����uNG�.�>!�nvv��>�4Z>d��d^�o��L���Xd��E��)E
=l��b8��c�5J�yOQɺ�����4ڜ6AyA|@W���x���u�P>�ڬm�%�NI=�O�����Ÿ�d��ؽ�~/�gc����հ�Cۮ��N-�ɱ�,�0�B�cX���yÆ�͗�dt$q�.aA�V�O���sU.;W�B_oT��"Z�t#Wh��
𙶐�mO�O�V�Ӧ�+�w�LU���p}�`s2Y
���q0g�,�P��=$����楣v���f�����
��\�}}'C��9����X�S袥l��tM}����
��
2�b�PPz�a5�x�a�鈤��-�r<1��śjE�2�|�����������pPĵ;�}vZz���w�	\	+�
Q���\f�Y���䞦�'R�K$ٚv;V��$}0Z-�K�[;�����)������I}9�D1��.�_p#HB�Ee
>�N�MX���U�?qW�;JI�
��q�

��&!��m����雛b�D
��tA"�f��4�cU�*M��
��2�;ތ��RK�%��`�?� ��:
2Qi���}����(C
�<����~�V�ŝ 3�D�0��P�iU�]�{�o\4a&�W������<o��X߉�\b��"�X'�Y�jD^g��s�+2"nƍIxV{dC���e�nR����]jhJ�f�L&����G�3l8<m�}�_9��$ұ����L��Y��%��1��d�HU���\,>#kZ�[]�g� �Sn��$��K���
�٪D��1�2��s��D.+�U�1�
	:��%O`Rэ
��M�[i:t��6����j�%ݥ<m7�U�
+�*T�^���+!��QJe�I��t���mQ�4
��ے!���TZ�q�pUS��Vj2b���&�B��
��
OēV�z���^q���9�,2�o�mь��@Yo�r�DZ{�h5�˻�"罐H�bڑ߆����#ҩ%e�X�u<�Ӡ��+�r�o��Z)�/�tc�8=��ִЫ���� ��[�5��S�QAo{������<��6�V#�y�҉o�
I_7<�
�q�w]�|.UL��{�s�c�@��-
��O
�=b�� ��O
+endstream
 endobj
-567 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12213 0 R
-/FirstChar 0
-/LastChar 94
-/Widths 12214 0 R
-/BaseFont /MKXPZB+CMSY7
-/FontDescriptor 565 0 R
->> endobj
-565 0 obj <<
+12217 0 obj <<
+/Type /FontDescriptor
+/FontName /NXBSDN+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
 /Ascent 750
 /CapHeight 683
 /Descent -194
-/FontName /MKXPZB+CMSY7
-/ItalicAngle -14.035
-/StemV 93
+/ItalicAngle -14
+/StemV 85
 /XHeight 431
-/FontBBox [-15 -951 1252 782]
-/Flags 4
-/CharSet (/minus/multiply/lessequal/prime/infinity/negationslash/logicaland)
-/FontFile 566 0 R
+/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/greaterequal/infinity/intersection/lessequal/logicaland/minus/multiply/nabla/negationslash/periodcentered/plusminus/propersubset/reflexsubset/reflexsuperset/similar/turnstileleft/union/unionmulti/universal)
+/FontFile 12216 0 R
 >> endobj
-12214 0 obj
-[893 0 893 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 893 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 329 1139 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 770 ]
-endobj
-12213 0 obj <<
-/Type /Encoding
-/Differences [ 0 /minus 1/.notdef 2/multiply 3/.notdef 20/lessequal 21/.notdef 48/prime/infinity 50/.notdef 54/negationslash 55/.notdef 94/logicaland 95/.notdef]
->> endobj
-563 0 obj <<
-/Length1 912
-/Length2 3316
-/Length3 532
-/Length 3945      
+12218 0 obj <<
+/Length1 788
+/Length2 771
+/Length3 0
+/Length 1315      
 /Filter /FlateDecode
 >>
 stream
-x��y<T}�Ǚ�e+�8��Y�,#d_��c�1�{D�De�Z�%��Hx$Ɩ5�%K�}
���ܩ�s����y�_�u��缿���~?���w^�#.bf)��&�`t��

W����p@
,.�M� �8"���Q�g�(�x@^���))���D�@�Ս
HiK�� Z��$ �H�Ɠ����DC� Zx<`��
��!�a�0
�q(2�q�����	X"��+����k�C��~ڔ�&�D>@c�`�	�^
C��a��u}�x���Z�/���O	��˗�!�D4�D�����
���W
}2�Ci\�@��)���|tq���r�H��g
C@���}?]@�:F�����G [za ���
���M"� ;�Ӆ���'�T�!��h
��WR�$2L?DtR�� ��� � �e(�@$�_�	�D��\飁"�~�* u��� P��^��
�Z����^�� ��
(�7�W��
��~Cz]��Q
@~���@���J���}��pe at E	�߄(_	C �<��i��X
}�L 
�'��F��Tܠ���+d��Lˏ�F�����>���#���
-#����+�L^2|Ec�ƎWh]m	��F
r�p�Jg�[
\F��
A���
G<3�g������]� �1�Ge��h
��s|�6e�o=��Z��[*Zt:���(	syn4��΢
1�8���g����}�x�H��G��31��
���s��]>�t['��e��
��
�	I�β
n��?�.әtǶxS;.-�Ģo@Ol
���z��%N��[o:�_��n�s�W��/.���̦)�Ȟ,y��H���e�i�9ݪ��w��$4�o�
���gɒ���z}
��]
j�ױ'yٚ\�6&-Q���Ѥ�
�

�ػ^�
mK���hX��a�<C��2z�/H���5�z�B��Γ�R���5<w�΀�<��m�:��9q©Z�����K�����u���[T`��v�[��M��$%8	)<3����ht���C�����'6,��=,e"��a<O�[JS�(gO���t��
J�f�
[.�g��
$��<
'-4�޿\���
-����_�{7V����i�%�&�4ˎ/S �h�?f��JR����l����!�E�F�g�[R�2ރ��%3�4B,��rJ�x�-��gz��c
% -*z�e9J��gi��+Cݮ�W_
�ZX�f�Tj�:�9G ץ���^�~��l`�ˈ
N��Vor���>$�ޑ-�я�t�L��ͳ���
''��eY)�O�t��J��_��%ȴ�j$���y��H�!�T�Z�Ό�H��
��&�͋����t�9����K��w���Q�Ç�O+�kV/.��"�g[K�R�+��]�=ę;��
CP[�=&��v�W#f�{Ț���'
�-�;88���t�
����X��[����M���nY�o2���/6�
�Y��zڋÚ��_ټZ���R��9�ʎ��DnP� �*%�G'5�K2[1	��~�ෘ�-��}*�p�����e߈�z��ާ��xt-���|VŲ�쳺&

K`������3�-*Z�M;g��/ܼ����x�ʬ�j�
�ǩ�e
3;0ڧ��6VNMl��P�iP��ǒ`3� ���P��*���
��*����/7a/��F ��� �����<�Ll�&��ށ�

F��Qs�
�up�ha
-���w"-Z��j:q�8�y�����������
� ��+��7��?3�&hz䐖��w�{�>�F�?�*Wmy�Y��ã�0ʃf�dk~�e��]�䔉~�I��jW��%�Ȭ:��� ����s�C��}`��I��N7ϓJ9��}`\�ĎF=4(2��G4Vyt��=)����Mj|�W�
��yT
cgrw�*����{�Su�k����О}�����*(�C�$P`�s�yi at X]�c+Sj��r�U�|�D�Q�������Ɩ�ܹ�?ح$���~1ލ�g^!�k�Kq$�4���C��[Q�t.W=T@��n��+���mn�)���x�?+|Ӫ�"�+C��p�
<ft�
De��HyT�Č��k�&��=�������	�o�e��.V��(�ت=F�1y��k���G��b)^_�Z0q����u�����.�O`���ni%k�D�jKP���󚇠D��b����u'���M[�|��p�OVa�?�����\� ��⨒Xɸ�Ⱗ{�:d�a�R�!Ҥ$T�n� |/5 [...]
p�k�6�P*�[�jpk� �A!~`����^�n=<��4"r��4���Bcx�i�yDHn;"$��ѣ�n��Hb�����m��;�qН�$[�w�����Ջ���
��K
-n毽X�oAȱ|1P��q�j�u������)��a/wOա��Q�%E���)���b��x=��elZh���5t�p��S̹n
T�e�L�������v�g��k	�ݻ�f�����$�CI�J��K����v�rK���M;�Y��g/,�P����Z���ƥ�/t*�:�y�t�M'9o�6`m�>a�B�(T���|?��X�Z��T��ȱýw�����|i{M�
-�T��k��E�9�2qZc0x�!-���&C'�����=�����nR���+E��K
l�6�ɧ׏��)�f~�o)>Kՠ��EF��ʨ삽Ō���q��w�]^y���}P��ͲZa��<�E�#y3N��h7����^����F���5�Ʈ�tf�h*
]7`�X�dS|~�̓�M�NJ����)	P��n��	M�]$�ɤ�E��on�aX��KOtse���s�Ǔ}.q�����3"�ၜϱ
-i�������AA���$;����~IAu��ҷT
���D��W�\_P�vR�&��,r��+j�5ڲ�W{�wm6b9:
mh�
��g��m���$/4k�S�������L��

~A�����Z��~?�]���+c�������m<Z2��;������d
��(Űd��M>��Cŝ�ZV~��k_��5�Yt��g��6HTnO����}�ZU>Ω.�'�/����S�⚡$�G���Z����z�ݳ5t�FWpk'I8
�"�b�Oq�
YS
���iі���d��+]���G��
�fj6�޺�p[��*gO� ���U�=�gI�
��$Ri��Nx-8�t��Mˠ��Zک�޾_�:L�
��*������;�H�$��������JZ�ݷ�hrB#1���w㠃�
˜'Ϟs�Tdal��I��5.��l7o4Yiyԋ%�I!'�;��;N�qu��}����~
����FHO��`�s�E>&Y0����t�Z�c��:Gl���'���T�2�'��3���6������
:��S��Z��i��r�����L��~.���6:(by;�Fh��k�V�	�Eݩ
�v�L��6�쾻Vac�}>'3U���T#q
-���t�L�W�&�N�r��y?�K�G����
Sԛ*�ȏ���VN��mm�	r�������eR�&�����	�u���8�~d�V�3
q��%�`Ꮫ�4p)e��
��E�al7��ݴoh�K�J��.�wq{h����.�BL����;��u�Ji*g��)�
-e������/T����o���v��������%o�Y`�.�W|���T�$	ҥ
^�a(w�lW�N��ta��kۙ�k�F'?k��.j��աd�<�c
�f�x��hJ��c5
����Sf�ُg� ��
�^��O�"
-�A��DO$��M���endstream
+xڭ�kPW��^��# ��`w��d!!$�"!� (�'dO���n�l0)bm��KiՊ:XPDE�.r���P�P�hQ�����W��8ſ��g��}�{���qw���D
%p�a")^���pw!���\$��  |>�u
+�p�'�E�?�
��)��
+Yd2�@���L��H)��j:C&U1!� e`�`�
+ĘvhA
�B2�L� �Q 	*0��2��r�&ۨN3%�BRKC/r�QW 
+�
�*�>
�$����P�J�J�6ś��,Uc*ÿB��Q��
+I|��
8�	QL����QR&
�*|��ǝ0m(��hFɔ@.Ui�D��tzz �بp�x���NhQR
�b
�o�5�gDbz���d��H����ig-�e��
+���R��l:ʗ�i�p����,&NP�@O&
�	�a�T6`�1\�5u'� �Ґ
?����#q-���
+ʩ	��?
+	}�/|�
@8t�����'ӑ$ĩ�'E�m���� B=�1z:	ْ��]Uه7/����������Y
���{04]�-�vVPe�K�����˫�˖�#����>qx߼�g�J�%[�p��b;CF��9cޞ��S���9��A=�_���iϰ��-���=a��
�7;-l�l_����94��l����x��g���1�j�Ŝ\8^U�
+��n�oY�12
+8��/Ʈ�/��tYk����s�}If
x��|RԚ�>
VrUJ��#V��o������h�Yr"�?9m���Nc.�"���{�s��8���6�am�'[��R����;^=-�[�r����ҋ#�]

�%{�\�jS�ƪ���_)��GGl����ѿ���0b���<�R��s��&
J4��?\VaWQWx�X����Gq
���E��U}#��`�)
��fMZD���F���@+�SY��]G���/_�mq��{�;^�^�I����MRW�H~����=������xE at jUb|k��|������c��
��ywp�����r���lO�֮`�ǃ�C-MN-�R�����_�rH
�7�Gu���y�o`��}ՠ����۫C��~b�(�G�
~���s��ٹ�3k���v���#\v�������<�
+�cۍ7�A��5k�K��)[I�$�-Z!Z�#Zq��ͼȵ
z��F�I��
llE�
i��*������ځ�e�9~͠ڪ�Id�
[��"��-h��uy����D4�D^23a��1�xaǺa�>�X��s�M�W�G�5��
��
=r�����O�Kv^�O~b��
t �h����iq�W�0�����FW߮&}�?�}�
+endstream
 endobj
-564 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12215 0 R
-/FirstChar 97
-/LastChar 120
-/Widths 12216 0 R
-/BaseFont /BZELMJ+CMMIB10
-/FontDescriptor 562 0 R
->> endobj
-562 0 obj <<
-/Ascent 694
-/CapHeight 686
-/Descent -194
-/FontName /BZELMJ+CMMIB10
-/ItalicAngle -14.04
-/StemV 113
-/XHeight 444
-/FontBBox [-15 -250 1216 750]
+12219 0 obj <<
+/Type /FontDescriptor
+/FontName /TPJSSH+CMSY5
 /Flags 4
-/CharSet (/a/b/c/e/l/p/q/r/u/v/w/x)
-/FontFile 563 0 R
->> endobj
-12216 0 obj
-[633 521 513 0 554 0 0 0 0 0 0 348 0 0 0 601 542 529 0 0 681 567 831 659 ]
-endobj
-12215 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 97/a/b/c 100/.notdef 101/e 102/.notdef 108/l 109/.notdef 112/p/q/r 115/.notdef 117/u/v/w/x 121/.notdef]
+/FontBBox [21 -944 1448 791]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 101
+/XHeight 431
+/CharSet (/minus/prime/turnstileleft)
+/FontFile 12218 0 R
 >> endobj
-560 0 obj <<
-/Length1 788
-/Length2 1456
-/Length3 532
-/Length 2036      
+12220 0 obj <<
+/Length1 854
+/Length2 1837
+/Length3 0
+/Length 2429      
 /Filter /FlateDecode
 >>
 stream
-x��{<TyǓuij�.�$9�mf�0�!M�k��cf�8��`��V-*���<6���Q�"�䖊"���"��ܟ�������<=�������~���|���pu7 Ґ���xC�%��L! xC
�����
�\&���%���0
��B�X�8#�6��೙t�۫�6d�!6�
-� �2�p�d��	q�� ��(k;8 �@�(�f�����B :Fa׈��P0�$�x�[Q�#���1�$
�Y|�����i��忁�����:��ًr�K
g����#�<.��
b�_�zC�����
����YL*��  �Ibr
�1͕ɥ2�P�Ł�u�}	!
-n
K�pw��ߵ�E�[� �z�#�0]�]��֢l���'
-/ݟW�_
eS�FS d�A>
-'�2"��x�	Ӡ ��b
a�+��"�B6j�s�����~�l,�F�, ,C��8 �^����쐘��&x��� �0ƙ �������l��Q��>סLQ�QQ=����osn%���u\�@��х+k���,��c�4;G�n�,��*�
K
�G/�r�Wqks�H��8۵2
<�{[��}.�?�9'���V��A���@K�i���
�
��z�<^K�il����Y��hj����LI��c�A�;Y�j��-w:��ǂ�oS��v�N!�<��"鋧V放��Z�nLy�V����T�"'{}�a�U�<����%^JS���
-�W/�n�?�dR��>�
5��]��m8P0m���v�0Y�Tt�Bq����3S�;�]/<��
5բO_
-�+_G��t�s���}׹5�;���.�7���d�J̥賰>]GP�}�F<j��؞�ׇ��ȫ'�Z���20�BU5y
�}�.tK#�Ԫ�
m	�)m����Z��F���3���F����J��[{p�v�	1�7�P�[I��q�A	��~��K��}�n�����=�'��og^,0����3:��䴂s���K

����I,�Kʇ-�K���ίZ���x�8r�j^�F��"�k��F�&�P"7� �Їڍ�����'��,�>R ��
����߲[��_���Ք�u�=s.ߗ ��k�EU/�7����yG+H�
�at�#6�}�]�=~���c+ub�M/1�-
-z���-��_?��T

-�;
��Fo?�]�a�� pZyP��wl ��E�^����E�-�-���%�s��2�m
��Tt�5�5ӷ��o$��V}��2���,���T��$��6A+��T��=�v�¥����
f���uxO�D�} U`}yw�M�R�&�����V�z7-����-��CW���c
OJ�zݐϿ���������fEE��S��}��M�7^�
i��SR�����L�b��v�[w
\{%�
-�	;��O�뇘�9��GM�w���"�I�
��W߾c��<l�>\b��P�����v)�
{����)y6��a�����L���������b�z}��Svo~�<F�;G-9:n"����"1�6
->�2M�.^<�Aj�P\��OW��I����w��y�c�-�L�OrR�s8�;%�жT2~9U�1�.(1�(`�&��Ξ�-7n�^��z3�D�J9�Po&���"���`=)�+��C[�k;~�0�C���̭��d�{ڲ�NJ۴�zf��l<�4!�%3p�L�ˋV���qCX�m%;�����b��
g�,=�e��z�gn����8R��^�Z�}��*�(o��ֹf�>յ���sZ����3֭^���H�a��r�su^F螮9",��3[�ْ�}C1S�Q|�J�����d��?��V�|UL����z�̃0름S�K�f�G��+{���Z
;�m޹JQ�`�j�8>P~r ���|n�-���,������1���{IS#G]R���7�]+U����1X<)�8.i
��q
=j�x�|d�_������f���,�4�|��q�Z��ȣF�x��o�?a at eA �����0�?{�:Bendstream
+xڭRy8�kNY�E!�OȖY�a���nj���1���,L�MYҕ=KG�A(�$тϮE��Q�9*�(:C__����������y��~^=�}x[23tb2�&Hػ��HBNO�
�l*��@d�8 ia�l9 �X

+�C�����p
D���{�e����Dd �Dv(H� i �I��l

��� ���
�@�
�arH$@���@0H�2��ˆ�!L �
&s�P\b�Mb����"�ɠ� 2"�`���N��~
�ġ�<�����!��&ҩ4�Lz8�
B�;�
B�_�����A2�C��ufiT�-�B�)
��|'�,'jH�Ge�B�"��� ���qz+F�.nx{'��[]���
6������gQ� 
�@�������[�
�LeP �
 B�'��Ba0 	Pd0
+ �Ć�0�-n���&$��T4 '��IQYa❄.�+8��d"�"�'�����i��M- 8�BePټ��9 ���
~v# 8
$-�����1��&�����
�FY Xs3���H
�O)�G
B/
�@��@?�dy�p��eG
��/I�eE����i�u4�J�1y^�v�����Vհ
5��ie�Z=�#9�C�ryMb�E�SјF�S�*/.��uK���έ�Ϝ���5B/�&��
��s�B
y����H��F#�
��[��2��UyÓ¯ڲqy�ޣ7�/
���;�
Ԉ�T2�U�J�;�K���g���W��
�zʱE������V�G>$gO?TӚ�*���fcߢeŝ�G����Z��I�ؠ�pM��/��=��U���F�"	���)�������b��4t�(��Rޮ��W��M2=u�魈��Q�s�_{��
uE�Ӳ+�Y"�����X`�u�C��/.L�9t&rn
�
��;��lj_�Q�w�ı-�U�n�}6yg�s��Ͱ�_�6�M�j��($ [...]
+��G�}s�ڜ�S�y�'�V^���p���B��8'
Y�f��n�T�>���X-�L�h>���x�'��v���o��˃ԛ��~��{��!%�T�s�Ct����f
b1�qlB��t�;=M�U�K��Cn�G
.��<�+�wlx���� �-|v���鯟S8�M������Bv�kZ�EM��$����A��N��KC	���W�5Ԭ�I�4�]��N���K��R�8a~��1}��!��'s�Iu�S�w3�Y�F^��#�~��
+U�g�nq:/g�eE
�J34\e+&�'8�z�{۹����㰋���O?7�k�5�Ȅ�^�=��dǂ��7	��Ս��L������[c}��6v�k���<�
m�ͫx'�����_������Nh`��lbFw+�1
&�f̈c�B�kGV٥�
+�*׍���
�G����ҳ�*��
���'�D�����.�W��@�sJ *02�(\Ǒ�+�?�LJ�:�ww��#��K�w%\9�j�@�|�z���g�!�������w�ey��H��_
jR�ߖ��(<IS?S�{fs�%p
���� /�/�樼:B�(q��r?��={{�㲵=҆�EF�C���j͛:
�\
������j��®K��U5�B��c��1s'���w]KKZr�o	��'k�vdh{�d��w�I_�n����t㛷/���?i��8b/��A`"j��wb�X#�X�>K)
��Z���5}I�[54��Ƨ�*����7
S��
��*+��f��YY�m�1UѾ�U=%�O�2+�
�y��+�FH1㶯��D]�W�^ʙ$�0��T������.���L
V�k�gD�x��i�-Umɪ�k|�Ũ�~��n]E{�|�
3j�G{�q뺠۔�>�/-ˇu��Z��w��qF��N;�8-�
}�[tJoO��jWL"�t�t�ੜx�r�"k2ٞ�T�6�08Z�����5mtD���h�-R�+d�m�~.�ª��-ߞjxB���j��?����0�@=�lB@ܴ^��U�f.8�N���.
W�0�|*r��I3����{V�^y�:t�r����}�ac<
v�|,5��1=8U +p��
4eVO� [...]
+���t��8x�)�h��4r�
6k�%Q6�v�B\ɬ�'�g�O�z�I�=�e�V�bSҋ
+���]�f�j���✿��dN����"�Fh�w�0�����=���{^�S�[��n����3r��}�A�X{�ʚ�rQ��U@@�x�JF�*�&G�S}k�t/b��{9w�>�&'�����
�m���foBd���/���J�9���z�$^wQPq���>���2�L������C���O��$-�(� ~e���q6ϕj�*�Y^%���w�^Կ�}����k
;�8
A�DGd2����pg�V���lӉ���*
+=��
������k
��A��In�O�
T4��
+endstream
 endobj
-561 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12217 0 R
-/FirstChar 43
-/LastChar 80
-/Widths 12218 0 R
-/BaseFont /GTSKEE+CMR5
-/FontDescriptor 559 0 R
->> endobj
-559 0 obj <<
-/Ascent 694
-/CapHeight 680
+12221 0 obj <<
+/Type /FontDescriptor
+/FontName /JLSCDF+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
 /Descent -194
-/FontName /GTSKEE+CMR5
-/ItalicAngle 0
-/StemV 89
+/ItalicAngle -14
+/StemV 93
 /XHeight 431
-/FontBBox [-341 -250 1304 965]
-/Flags 4
-/CharSet (/plus/zero/one/P)
-/FontFile 560 0 R
->> endobj
-12218 0 obj
-[1028 0 0 0 0 681 681 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 900 ]
-endobj
-12217 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 43/plus 44/.notdef 48/zero/one 50/.notdef 80/P 81/.notdef]
+/CharSet (/asteriskmath/dagger/daggerdbl/infinity/prime/section)
+/FontFile 12220 0 R
 >> endobj
-525 0 obj <<
-/Length1 1183
-/Length2 5354
-/Length3 532
-/Length 6114      
+12222 0 obj <<
+/Length1 875
+/Length2 1387
+/Length3 0
+/Length 1993      
 /Filter /FlateDecode
 >>
 stream
-x��w<�����{���V�ت���=[;A����޻�^5�JkԪ���Q�(E�>�uݿ�}������~��?y��<��ϙp�i�ݑ� ��*g�; A�4PQSWpr*��Vn0����T����v@a H\ZTJZ�*"\�P0;{7 �"�&	����rjZ��C�0
6Vp�
�u����@�_�p�B]�(w(D !07�5��
��G����[��]�Sr��\1��<���@LD���@mB��YPL����m����Y9��ǜ��Z9��^�UG8��ݠ(�&E9����w4M(�v�wU��
-��w��C��K0W�'�
s���Z�]��PgȿC`��B*���&����_%m+������?��z�b�oƜ
-�	|,,(,
�4b���d��Q��6��b�@+��
��

�}@@�3�	�zb�
-	:#�0_b��)����L�0P��
-u�Cm�~��VA���}y�Ȣ�v�-H���(�oA
-(�p���b{7��u1���=
-�G�P��F�0Cla�tH ��a��cL�H4fm��H��B��f˄�~&��o����@˜|�?���+��If���` f��
r�� � �?3�b�����A���C�1������!Ͽ���玈��&0cD�b�O��F4
-s�n��1����a�

-��� �f62�iM��ϔ
�*����^�?j�|K4��
/PG�-��̤!���d��dt�|�3��% �>}��n�������8S��
�Y�.Ek��ɞ����`y�IQO�a�n�6����V�c��ά`q	c�L�AXH=�(�.e:�<

��A����8��!������
��{!Q^�������Kx��N��1x����ZJ]�O]���ة+���'�S���.
���,��ޫ�,�'
}��[��\	wE���,*���4|c��
�T�����>�^��9|�g�.
-�Y>�Aؐ��Yz��s\����U�}nd�ZE�w}1�g��-���=ٽ�ve�s�u�`H��g��
-�+,s��g�
-���)����,DBV/��X����6��"Q��LF�U&�]���J {?�
-F��GJ�rX�;��v�r|W�~p��Pc���A+�7wGZ�6�����pl̐�"�ڪ�pQ�zb���f􍬔c����_Y��뉨
�Fsw��e�kx+���
+U6oh��h|���_w[2�K�}Є~��䵃[
}&�~-���3õ�:#m��e�`�3�`3�<
��
�u��hГ6'�>�Xw{4ӷ9�.ɷ�F�2��`���e�qv��޺���H�zw^��q
�:�PZ�b�(%<L���2�<��I��g$_��8
#���)H�dl
N�8��ȋ��G)�*��p0E���`����	�34�⮸�2��C��l�]��('�p�U)�w
0���N�FX)a

��~���7����#�ۿ!�UĂ�7֒g�pn�a�ߠyodVT�ӣeX�O�'�Y�A� �Vcq)
�J�9�uѲm��֞QO�j�����R�h�ѷ }D�1q��	��Qሀv*]$����;db�^�ͯ��
�Y�F�E֨>h���|��}oޛ��f�K������T5;�3{��U�2�I{b�'�
�9�"�woV
hm���G���R�ͭ5����,���[�
-�e$8�6�CG�|Ľ���׸˨�fur���!��r�2�E~:]��i��*���DrO$>&a��ج-R��Z���T�.G��J3d�����N\갪c�)�oi����b��zۏ�cv����	�X��V���H_扌R�S�)�1_��ֿ[�)�����[��5�x�A�!��V*?ݢ�
���Z�e�����J��2����0
)�PV G_< n��
|��G�Us�~���!,H����:��]
�Y���&j'�tǿI����"
K%^��H?nT
�����ލ��4��Ȳ�rr�
�~[0!OD�;� 獿�j;����z�$�X/�
-�hơŭ�O`�c--�8�c? ���j����nΚ���&�z�r��#�g���N���A�&oDoUQ�u@��
\|��
�/^�'��ڳ�Ռ���ӳ,1GuG
A2��Ԃs�G���^��J5'����+��s"9�JB�PP{��#�{
z7�(Jk��"�
-���$�lVt*g:�b�l����|V�
ٔɴpկoY�q��@
��g���*������^�W,^n�cՆ��w>�s�V��q��7J6�.}�F���쩸�����JR��EE2j���CJy�_(��W�N$�}�eܜ��	��c+Qёi�2Wπ�)�'�
`�rD����b",f��7�,M)��7*%!}�)�U(q�H�D��ޭ���w)?����U�X�Ǩ��z>�=��@��������H8yuJ�b`7۩
�5�%�=�ON<��:�r�	X�<����v���_�_m��j8ait����8��q1�$�Ӵ�-1Ǟ꼢��X�J�`c0)w!����P5��@�r�
Z���J����Y
kz�?�^��Zu
s�F�I�
��ͺ��j�6�I����m=Hm?�囪(�(:��uYK>Y��]>��ɷ� �g���
�~(W,G7�����t���B���<fP4U�iuW��jk75,�����>Lj�6--~]�[_[*L6����a��<�܅s5:!h���[���r�8�a��(��G�A�x��;I�ݶc�I^Z�a>���S���gQ��i��/>N��2�(3;5&94���#���C6�A�
sK��7{(l�۳�M*,�-#B�C�݋�e:�g�'}�d^����m ����Nv�
K%���i<�7ܓW/�U����ER�(���i
?{����
w
-���Ƃ�K|��ϊb�:PH�5���n�
�$��S7��1nw���>�z�����

�Lr��C=� {S��
p���O+�`�x/Y᯷�}�dw�?�;�@^�7�2�ܥ`q\fw0Q�lj��i%xpO����Zf�V��a���r����q1�-��4M�ceH��*~m���얺�p��=
j,x�c��%��a������-�7�>���2QG�J�����p*���m��h��ꯩ �	���X�(�q��k��sE&�'K�ϣ�^^�9�>
��?�^m�A�����!�N�\�h�A9(�T�l~���,K�[t�f��Ңs��Ы3jo��+SЉ����U!�6�Dg�}�v?���=[
72�
�?�B�z��	�RO��Y��`�|���7��ʍG_��`up��i�t�6�_��U��
-�o�l�256˵�
?B
-J	���{�
��� �������0�����ܷ`D�?�"y���;��j��c!�s^�ed���5���X�	O]sU�4ω�T�y�A��7ʶ})�"
�ّ�T�<���y�x
��7�#D��z�G
�7����?ۊx�n�i2��]����(�����7�$
�l��h�(�V6k��04�&��7n�?�߇u� �qJ��~�x㥔���JnsN%�Éd�/r,ifL�T�

*ޖ��
��e>f�)ZZCFor͐p%�
�G���e
����Uy�
-r�{
!
ꏩTr86SoZ��;|6E�P�ù|��v^B��Aw`��
ܰ
%bN0g}�-|d�J�u�c�QoJ�S#-�[���F
-x�
xlݭ�+���u�F�%�0#MR��Y�X�ys��ի�����?i
p���e�������e��.X���NY/�f������=�\E���q$�@d��	y��V�i�����Q,w�O��~9	?:�X`B�r�zcx^��y�U�x
f2=��^F��`)�ӉQ熈����P54�}`���kg��烄�N
6�n�� �%k�K�j�S�^Ie�M���
g���g�i>��8῿\����@G���oNjP^i�W�>&�Z�������A��ތng
'��7��79��曫�]����R�v<�c O��7N����u�RW�x�Nt��f!/
-����y��8�)�H
��|Z.Ż�p�{��q�����
6�z�3aB������cZ�a�=�u�N'B\�����$^�,ͺ�?#A��|���(�	;rh�gp��%��P�!]Fr�Mz��U��A/�
���D��ɘ�4Y%�Ef��q!E-U6l�Cy�����	���/=�ĩ��VV,���G��&e1/�:RW�9nOŧԦ����x/�,Lnu0Ks
k!)	����O'Ş�Ԟ
h}RpϺ(|�v��$ozHm�Ǿ���z��ڭ~8�]�#;�(a:�+�戓mR��@��<����H>���U^���ք���/Ǵ�G }��!ֺ�%J��r>�п�f�Я�c��
m���J
�h���� ̬�u6u=��M~J,H,�g]d ^=J!Q�)��a-�k�h \>�J$i�.�"
��©�5��f|ɌC��BS2í�\�x��`x�.[7
�%��2�3�r�
�p:���p�6,$s�L�x;[����߆���~9�h�$:�"�ʁJ�
x���4b���9�DW4>�r��J}ߘ
rƭp�� �7{f��ق4�!�b�֢h:$�y:}�c,f_	����͞,�=�87�9�
���1�e:u����b_���>���bzuS��D������Z�v����bE��(]
b���V��5
-�r���jw����s*Gb(ikW�<� ��): 
A������l�
�n6�t��{���Pl��g?�j6��t�[��z_.fQ�6���y���4��l��V��]ڣ�g�X<&l�uV?�(A���!���qz��~�Ѳl�)}Nub%BI��eK�P�ћ��]ߟϪg�t�C����E��.��|^�@ܕ�Kʱ��[���o>�bmv�
-2�F?�	��^�B��՘���ٝ�]p���#Q��\P�P��0?:�
��%=
-נ��V]A�.>mVI���
 ���^�i�C�i�=oa�ܚ���[9���L�a]x1�,X+)
x�%|�C�r-4�܌���s�x���\��f�
��Q��џ��Ae�gԱى
N����;� �^�ئ�g��9ջ��dӢuTR��q�Ԁzw�A���RgK6���nW��6��Jri��dȘ�WƱ�I���i;�pװ�uL
y|���؇�YCɎx���oa`�k��ـ�V�T��+�'�x�36��DuW�I�u�M��� �IBCM�
w�'���t�g+7�����Eے�
}ꋙn����o�S
:��ct�<�?�N�U
�Ϭ�ʼnW���&)|�|^�~��)!=a�c:Nb�ڳM!\���8���-��
@�r��
;��R�TT��
���+�vޯ��C�A���hYWv.�u�	
�^���������&W���
�y��*BC���sЬ�^~��a���l��^<B�V�t��|s�[ii"���&��D�G��F��o�Gٴ#��-l�?N�۾)�X�J��7����ta%�W^�
!k�:��9}miVB�6��#H3)�aP���4���c�5�@Wɠ����,��Q%������.�Rj�-R��
-:\OL�3�zm��v�3tx|
�)��d
I���"o=�|`N
��r��Pa���LJ�]�m�.����ȹ0���|��1C�]'��^�
�����^ⱝB���` |~�h�8�Ks�No at Q�R���B�����E�>���LJ��e��$:e�=��f|~t㱲4Y��7�%u��a����l�
-+c��͋�wh�vxZM8��W�ny>i�4�l��2�8�7�E�(
I��O�Н
]f����C��C!�y���ͨ^6d0N[�.���q�Z)W��x�±/�p�>��9 ��꣊�Q?WH��T�b2�ޡm��67��)��K���U� o�%���^��f���
���B�g��M_�:*x�(�zi�V�Ө���wZA�2ݾd9
zre�׏˟��d��t�R��Ԩ:r����7'&���n�&�#�`计�=8*>���1���k�Qj�W�Zp���KK3�xkw�<+�qA���l� ����Io	y�I�y��Ϻ��o��e�t&N4�'�`cp��f h3iAS�ʿ�=Gu��2�m�H��G�o��-���C�{�����/����0��C�Pn'+�#�� 9O at 1endstream
+xڭR{<T����3C��>��}n̠�)��A!��5�Xk����I���K�$*6
��/��{���ˮ���t�h'�H�,�N������?�{��}��{��d�
r`
%Ѱ��
hd
p��6;�J �82X�!t� �Y��d� [!4�:��4�N �D��!�X
Xsl�D΀
�H�?
��= �I �Td��A�T�
�rX�
�
ѰA	�)C�h�8��
+�
���)`����E����!P��.w��0�}s/�X��O���_hA<"V�)��K,~!,C����_���BD�=�	��FEb8�
�ԕ��"�B����`P,����4����ӛ6B		
+�
\g�5�i�'@Pl�J
+�7�����H�(�J�Ri��f�"��k-
+I�*t��d����3@M*�� V�)dT��% �L���S�:2Ac�TS�4H�������
�t�Q�h*7����#�B��b
���ud�(,�^g�X ��/��(R�k
+��
==%J���L
��
:pv�'��R�d0�Mo*���9��a%

?�@���]I.ٱ��޹��O-��
kօV�8����f"��g�*����_��
](�l��M�
-Xx�����Ќ]�Zrg��j�l�/vV���sr�ַ�U+�?q�������|�Kϰš�O�m�ؚ�8?��f�lC#U��� o�Z�$�T_�/i�0����a�?\nWX$7��+�=",~x�;��а���:�3b���8��j�m����r�{�'�}J$j�U=�
���g�[r]�2�
9�%1�"����>�����2s�V�,�Q���\=x�*�_}Uc�,
o��_���}��5g�CJ�o�g�'�,�g�&�u��؍�X0��4�y绍�Q'�76�
p�p�*�q�n]�z�CeP�פ.��
�ԉ
#�]�:�-j�v����}�������}��9��K�8��yT'��.��R���qlۿ�.�?O�IU�k��.�)��٥�p"�c{��V�� �q.]�8�w���]
%G
����
Ӹ��7~wd�t��Q����/���6]2
��RJ>�vnz>��hM���o��Y���:��V�1�҈fy%�,Ķ�ٝ-m�?o
]z����|h�aNr��n��]�ɸ<�=Z&!�>Y��e�{ޙ�.��uD1~�[h�Z�a�.[S��-(1?�uUH�U�2��l���Ze�
ֹ��$d����\�.g��yM���;�z�ϵ�)��no��tw
�"�Z=+�z�0���=��v��9�`�4���Z���^O9U7biR�<Hwd
�����u��j�~�3��r
+���G�q��$2sݯ��'Cߘn����i�}K�Ф�mF���"X59�6_=�"����?@س�0��¹���-YS9j+:�6w{o�hp�e�iz�mU�xa*k����V�*�x�k8Tm��9�.X�2�یчe��?�Y��"!���,�F����2հp���L�m�ݸ�H��(qΤ�P��Q�{55c�-N�,��#��E�7|�p�E0�V��G٣�}��vA{����+�b��f�/4�������=J#o�*�0>�hE*��� �b���G�oS�w�?�MxzppIӽypy��D�9��
D(�+�̣��2�|t�
+.��v�3l�
�ZƘe9T�+N�r�|�K�onpX�b�xۯ�t��
�fe���q�fjy`/��9�Z�d�?S�̽wo_{��Xr���i���,Å����
��ckϣ�}�_����;g�P�ԹsB�4=�+'�,���#s�l�w%��͵[�]6�y�-��Iq��Y܁��'����MN��_���x�R���qV�;����q#��",�^�J�ݘ?穁��򌟲Xㅺ�y-���D�OU�!<�?��Ҽ�L{��fm)fd~��?�~Y�3���MF���:I��.�z۪R�R�Pn
0�9�
0u�-*�^�W
p�ՏO���K?rœ澴WE����4��
+endstream
 endobj
-526 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12219 0 R
-/FirstChar 40
-/LastChar 120
-/Widths 12220 0 R
-/BaseFont /FMGTYK+CMR7
-/FontDescriptor 524 0 R
->> endobj
-524 0 obj <<
-/Ascent 694
+12223 0 obj <<
+/Type /FontDescriptor
+/FontName /WSWKRG+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1252 782]
+/Ascent 750
 /CapHeight 683
 /Descent -194
-/FontName /FMGTYK+CMR7
-/ItalicAngle 0
-/StemV 79
+/ItalicAngle -14
+/StemV 93
 /XHeight 431
-/FontBBox [-27 -250 1122 750]
-/Flags 4
-/CharSet (/parenleft/parenright/plus/zero/one/two/three/four/five/nine/equal/T/a/b/c/d/e/f/g/i/l/m/n/o/p/r/t/u/x)
-/FontFile 525 0 R
+/CharSet (/infinity/lessequal/logicaland/minus/multiply/negationslash/prime)
+/FontFile 12222 0 R
 >> endobj
-12220 0 obj
-[446 446 0 877 0 0 0 0 569 569 569 569 569 569 0 0 0 569 0 0 0 877 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 815 0 0 0 0 0 0 0 0 0 0 0 0 569 631 508 631 508 354 569 0 323 0 0 323 939 631 569 631 0 446 0 446 631 0 0 600 ]
-endobj
-12219 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 40/parenleft/parenright 42/.notdef 43/plus 44/.notdef 48/zero/one/two/three/four/five 54/.notdef 57/nine 58/.notdef 61/equal 62/.notdef 84/T 85/.notdef 97/a/b/c/d/e/f/g 104/.notdef 105/i 106/.notdef 108/l/m/n/o/p 113/.notdef 114/r 115/.notdef 116/t/u 118/.notdef 120/x 121/.notdef]
->> endobj
-522 0 obj <<
-/Length1 1432
-/Length2 8965
-/Length3 532
-/Length 9843      
+12224 0 obj <<
+/Length1 792
+/Length2 1349
+/Length3 0
+/Length 1899      
 /Filter /FlateDecode
 >>
 stream
-x��weT\��%!��Kᮅ\����E��N ��k �%$���[ h� �ʽ�{7����_=���gν�Zs�>UEG���&a�b�uq��q�s	��5�8\윜�(ttR`�9���Y�
p	
-rdA��G��G��� ������� ��~�$�@`;Ksg��9���ai��t��A|��� ��;� w�dŎ������ , at 6v�(
�%�;[� ����<\���	�CE������rqv�X��Q8T\��@P-�7d��sYGGs����[6w�s��'W
Pv�����T�6e�������C�
�,%�m
A ο);wY;o���
��`m����9[��h�����)�(����wO�ZS3�s�h�����o�0�?Z
��7��Z^.�!���;���%�l�be�l�������>(��"^����
-�
 yCs�;�@�[ К �]�(���9B��� U'��
7������` /�������H�8�C�8\A`K�3��
Է�9���������Y�7
�Ҏ
�� _��B���
�7慺�x���
u
����������;7�?,�ٹCK�o
��
�	�'1h�9@������ݟB�J-]
]��$�ۍ���|P� 7�	�#e,�� ��zt8�� Կ�?����A�`��
�M��M�����NsB�8�������'��
������
��.�ZS����*��q����A�����t��c�v
z��]
A� �`�XZz�����=����vУy�,Q��],���3Z"�eJ�T�3���iMRi���5l1��c����z��Ϛl\�}�}J�GR��.�	ٳ��̹�}O��l�vR��le�=W�۰o��-��'�/Tg�ǪR�K����1Jk
 �R��z���	��ד�vԎ�h�Ri`e�UE�D�ya���[�
-
��BjcY�p����Y�T��lt��۲���͌�q vRY����W�p�x�F
؇_F���Ǎl��%�1�>'���V�<cm�ңz��3^/�5��ږ*,�q��-q�M`�G�}>��	w)��n��c�@�t��
����i
�s���ra\�j�H�P�������6�(wG����i/���j���?�J�(�0���b�!��"Q�bK2ч�a��@�k���㌲�/
��
�庸FE�f�Dq`�nH�w�$�5�<�XQ>
-s$���v���~=B%��
!���~�{�l��.��Q?_��J�S��'-�|�
+�Tm��s$�3�
[��U��pT��PF0_��$d
a��፥l��x��C��Uq�E�[Q�Rv�)LJ�H�z��u� ��E[�-6f&�^������
w1�S���5}4�$Y�wDynm+�ij
ǹ���C����)q$�X-���#�r��(]<?<9wƃ���D�M�IR/d�6�����OXF_=
-�-.�ü0arh:�ԡ�
�n�{�(��҈�é��+�^�
g�a�8�gn��+��^
�����κ�&<VR8��u���Z��M7���
-���;�e!��s�n�3oD��a�~�)�q#Oz�?}�++�f���*���|�|�8(������!�<�_����d�h�[D�=���
�#�^I�z{�v(ҡa���m����t)��/�6��#�XŜ�u�l�����8��Ubl���+����7ш3�3�\M� �
�T�l/��~����W�m7�y�hVҽu��]�F-봇��:��}�2A�0��wD���&��N1��U[ؕ��J�
-��3od_����pޡ����'�����c�h��4~`��`������V(���T)�j�x�k�)z��h�3�؊u���c!/��o������(t�Ϳ���-	���.�&���q
z��L}�޽��j� \�
�`�]�O~�m�"�&�ˬ���}�nR)�,�_0���
_��̎5��I��Y��e��&��/m,{�,
��.c������j����d��p T$�c����|�������k���H��Gg
�
�XZ�hGR�,7lWL�3���`�Wh���Q����F��ulƐ�+i�����F?<@(tN�R�qlh�By�ߍ������q%||�g�™T3��R��Jt�cw�9s
L�FgȨ���m2{Q�]V�K���$h�	����ω+���,e�.�j�Ɓp"R����Uo>6
��Ð-�)
~�𩞰6{��
&�~��>	���'�`q at P�~v�����]�X#U6�
��;�lj��璣���{��8||#����MB˱��]�Ë
�X�?��_�:�t{Buߴ��Ю�ͪ-�`W�Jlm�fT���~��m�M�L_<
���0I�&���/
�.��ue��ݵ��û��(KP;\[�U��'?i��Ĺ����~��nDI�
J�����~!���+�_����aR�z�y���,M"^p�[q���=b��f��_��X��T�+���F�
V?���Q�b�S��9cv�T�}�+&V5��-2����}�����BH<I+�F
#)�.�;xtء��V��qRw�X����Z��i��&Ğ��4�+�
��m/
-'��ma�1���V1�/��ٖӹ�4��%)*qL]��N�Q��}���V͎@J�6�
���eG��
v�����"�\�ܤ{Vhɣ�Л�Ժ:ʼ�J�%���/â�]�֔Q��ݰ�<QH|�ZI���H��I+b�^'ct�WlR�d3�<��R���CǴ��Fx��*
����⎘����B�,��=���$ۀ�2��-��i�c:�:"Ґ}��T������
D����c�qDD��
�>�^#���P���H�Ԟ
䠲�j.#
�q(|�����(��>�}6���630>6��k��_��>>j��W���U�F�);
g�K)��Q�݆®ց��s�M�$l�ï$Z�f:�y��&��7(�r��z�s榨�U����T
��9X���P�9Iy�
-���$}�+�����!�%9%B
-�U�����q�$r�W�+K�鿌2�#��P_ρ
hc9��?
���� ןx9*3�$�F���
�7Q�����Y����������������|���/��Yү.�,�����NN�=���ct��~)�3L�����
��9uǑf�9�7l�	������$5BZZ�Cs�����؛.?�n�O�+�Dp��8�	I�ϭ�ҼP����z�J���ѩ��
�x+�������֮B�_?�w���m�k�i�����7M���\1\�)�< ��@U� �>��L}�s�?O�Ai�u�FUU������C�q�a��g*�_��G9�#Wgp�말���G����x[�	Ѳ��
ȕ�5P��G�ېn���H�Q�0F
�TY�y(a
P=����������O鞷��
�Z5+�(ʝ�W�(53|��v����CR�7�����^�A��)T��
�]'&�_;ŮZ�u4a��a{P�5O
gͯ9eP��&j	
JZ�/���b����foV�4��
���O� [...]
-��a��^�~�Z�9_����XN�����}iI����
-����t-?�߽��),�&�rU��5�	#�X!��
-��$����m̞D��42�`He���R�&�:��ņĽ�
-�Qu�
aH؋����)�e����ֲ
-R��6cUJq��Y0�;P��j�N���#*�&�����:�4o��!�:x�Uj߻տ�5�/}�r��߿|�&%�Ds]K��T���:�	S�:,�8��S�"��:�m��3�� ]�Ǝ�i��NA�8�-�—�Y0�[]�@�G�폻5��
<�%�F��(O���e�W��Q_����Y����ջ�0��X�3H5Ѭ�1�K��*.����\_�=3H	^LQ��.
�_�$zF
�ة)���)Q.P�R�d�T��U���y�Ֆ���z����25�
+�!r+E]t�xj���L�\��I���̛08��gv����wH�l}""|أ.OK��F1���mw��4��ň�x�4���2F	k?�j�G~R��_,	�+�4�H%��ٽ�.�0�5
KƱ\�v}$����O�ĥO�{����|j�cHFby�?%0&��t�.Tz�឴��%w��4�yx���$L˩��<�1�E|�)@�Y�����BYI��"$��t�9��
����#�
����)����U7�K���(��H��X��@i�j�z����5S}x�Yv��/�7�R����.�)�@Dy�����2��i�,JD\��|�k9���J@\K��/�e=�j���ނ��

����2�O7�s�x&���x)��V6�?v慭�,l� �*��_���-�#T\�*�I#�T�
\�#0�
ʏ���x�����	������D�/�����s���qiL C5��;c��]a'�N�05��|@Z:I
�v
�Ym�FkV�.�H‚j�l��ۃ8��J�i?�r������r�0:�Kϐ3L����	��"c)h���3
6Ta���k�u8
�s��D��*��� $�W�i�?h�4*�ٝ��|X���J���]/5����G�o�k>sF!4
ے�7��.��S
ɶ�5
�V���i܍l��U��i������{F��f��Ɇ�k�4��ciW����y���<:���=|�
-g�i.pY���,��U}g�g�菥e!R��)���j����Zf�ݠ�^�yDZjM%�m�{l,<�JO�*��ڬ\6�:�s?
���ˈ3c�3&${����+���&��j��[���
���B!v��]U�<��~6�����JGi��F�y��؆P���/c:�(��\��CMg�|
�@B���%!
>O�:�Xn���&폼:��
�a�$���|��ĵ�o÷�&�?����r
[_�Z��/'�7��E�18�:|r�j0��
{`��OH�QɜeG
��ܡ�
4��!9 �v��{��bD#y�� e�(��w�\*
��\H[�_ɀ��}�����RO�Ӥ�]��F[za8�3Vro<(���'J�.�G0m��71�,�>�4�V�*}���
�v�7�
S��i��ͯ7x��XI�V��x���y���H)�G4��o�Q��k%W��Mj_�Z���6�><����	z�na�I�k?ѵi�_ӟ����
��g)E���M.r���,F��]�
7ܽ�ÕT�pr��`�����Z�������:���l3��P�(�Q��p�>H�F�lH�х��qY��.j64�m��t��|0�>��-n��IC�$B��'���R)��e֦P�k[�>Mz�.'҇�*9�n������ ʽ�JuB�P�ռ�9�Ы�p�3��Q���
�o|�%@�����8|��6�B�^x%ڵ����˫��'D~���������<�/� c���#�;u�;�
-�<�j*?�ӝ;�؆��w}3��8��
�Ov��I[x�i�V�4��a�ҋ�d�J�
+��C��g9u����DaB�cUKsd��Q����3�
���DW$�Q�8�F�|9
XG��¬3C�sO�"ޣ����
�.PiXI�{T�I�;p�F�Ί�F�N1k������@
������a�i>?��+6{���/,�ߐ�rx��gd
g�̎0աO�~
c
��΄���v��
J&�V1�
���i��ʼn/�}��`*���U��՗@œ���n��;-:�w�x�k��„��a�
M�ڞd�{
_�܂���ίuV��Px:�G���o�l8�2�/����K�wW
����_0ݵ�E�t�� ������e1ӹ>��~����)�`]�{XC��GkuB���8S�*��1vRz�~���%xh�
- �?(o�V����|
A3�|�
1Gkk��Hi���g_�p�<Wr��=S���u�$H�O$'��xjO��
����{dy�96���
�1�]�@��9����$!r����p<��dw�L�
�C��I�UD̝ �)hMf��w����ϵ��
-��z�v���(�p�	]�"�;߯xT>_��_
A��W�18�Rk�m��$���[��
1I�l���YX����:���1Bu�3pJ4�A��2O��� �N%���x�,�L�_
�\N̋(��9�C?��&�fd
��U��_������\�
$I��-9�lz��'�s�������/
-R�nbU�Tf���34(�U^
5��ö����
�el��d�
8���~?Kʝ-m���Ҹ���Hp�`��v�Iނ���
>�D�+��
�֯`�����Q/�"S
�.$*�����{_=q.%u��a1�|�X����[r#
%�Zi��
yQO,\�-�!u�݇�� ��W_��0U�"ۮ$&��Y�$��S����ޙ4�M����}G;��[�
W)
� o�m]=96�p��覲��p�<ʶ
-�SU
�O]�M��dRi�Y������0/R�
��׌�&��em�D"�4NP�N��B���E�&
�
[�r�e3Bk�=m5fC���m��~ya�����O����c�&��s#�߃\{b��ܢ�a^cl��AC�7�@�1�2Nso��"������j;�����iK��Ye\�Ox�
�B�O����A��헛"F3[�O��5#�ܩWE�2�|T
a�4a����ל�t��2r��H||���UO��V��)�W)B�|8`D*��D��|��h��!RՇ
���`g��ß�N���mI��_��o$OGR��:�[�_�R~��sаn �5�Ow�c��A����
穧m�\:�c~(?ŵ�~m��3?޼�S� o�ޝ*U���J
i]5>�Tn�Y�I�K|
�j�l at 7P�|����L
i��g<�aDS���
-�L�q�w�k�}g�Ww�g��7(�y����R�@�\�sV��=�6
-��w
�q���(�&
-��s�k:E
„�|tbQ��>�d#
-<w7BQC�*����B����K,��_��
 S�T����߾�iq|E$3wP���~��%%_��1�ʂ�:���$(���X��Y�� dH�������uQ�r��m�e���[�[�fu������ډ���I��V�2fRbN�v��+�h��F�:����[�0�=��X�
g�����~�����X�Qī���\��#d�� t
-#1��`

�E�w0�'�^�ы�h�Ga����H�#���o�ɪ����aX�+%qW
&�Ś?X_W.�<agtH�
;r=�ff��a�߁
���:��%r,�L�>ӑ�?�9؋0�j���o����H��$!f�&#Ld�%.ۅ�M�ngh5��@ojM.�Tz�)"R(erܪ>�����c��`��B������V���pB�B��E����O�0JxU�"������/U���J
-�*�Q���2E6;�R��
�R��oN`~Y��*�
��jH2{��^�5@�s��8�O0���f��뤙��Kv|��Cwj|>�T���3����a%��T���+�	
�U�Ȧ
lob��oq�2�Ƅ����_A;]�
���l��¹�g�}�˸��λ
邰s��6&�B���=���6�Q%�S{�\�C�A�=
��������3ehX��:ggS�h?���}���p�=.�i(�i���*�ބurY�u-G��˴)^�� \o��j(��.�����6��6�mɚ|�}'�L �
�)C� 9O\�A���{���4�G��	��y�
���1�'�(�H�#�Z{ڬ¨��/n��j�s�BFޞ	�� _s{IZܼ��� !RwJ�q
2�S̗
�?
��?�N0�S�%C��[f���Xͬ p�{Q;Ĝ�	��S=W�ʷLͧw�
��Y����Z�Gji�T���o@'P��x��!��3��>�̬��F�'[�˚W;u�{�
�̭Œn	2�הFh�=r���a�Z��8�V8�;��l���\tc""�
�
�8cl��K\ؗ/� o.o��^��
lk_:M�K�
Uw31����T��8�K��c�-�k�2
��]g�h��230������D�R�)�dC������D�N�xW��3?^���~S��rq�2��f�+ z"�j|tY_T�l�
��8�y\X
�T��
-�$���  ���\�!�d�����OAT��>���j�N�;F5�R[6+Ĝ�^
�F˄ug�s{�Y/-
i�Y ��t`7r���-O�!�g}� �������<W�����!hҢ'͖0��+`�z�!T�
���'xX��)�_.�7��қ
:<9Q�[�p�0�_֌Ou�N��uJ���
}K`�9��U�c^�lj�����"�!�#x8�X���?�׌<�G�m��4��@X��5��O���~�4ɥU8{��:�}�ɾ��_7G��`W��A��6.�k��e}&��W�MUB~﨣��$�98��w�7�®��p<��䡎���5��m˝l��I����
#o�r��;��P>�xRg�N�ב��
-d�3�n!/�2F��W�(��5*�~�!N2
��
-�>%
�!M�o��v�Y���I
��(:����@l��5W �84�����
�:��.���ѭ��#B��~���CIbMQ�)9�l
���nһ�{Tw3���ٚ%,D?p�.ωEOPқ�o��a���]W:��(�)s?�f�?0
����sG5�][�.�K5��c��
�P�Y��3s�}��I��$����$@
�:
.��3�s� K�P���
���ȵ��)�+�
.Z���(�T�B��(�;
Ά��# yaH����� '��4�L
-�qR�x̶�!f�mE�C�WԨ.j�*��,^9��s�Z!�D�Tyq��0��f����I��
ϴ� o�т���#�����ڔ��߱�"�F
�Rh	!N=�F��hA��'LFzfDT�<;q��h�t�g}�9��E$��I�#�����KVqW^3s]p����g��c*��I'ʔ�t�Ҝ��	�5	�������Z
-������j�>��(���q��	��
�W"r��]d"�˅+�*������0�ɋ��({$3~B?�
*��W�S��3��2���j�`3�Gx�T-;)���)�(@��@�G7��2�h`ٶ�����Dް���s�
.|B�3@�K���(n9:(nĠ���U*�
��#��[4^���`S��qH������ ~�!��.��^#�IZ�\p�Je����:�yJ�[{v2U"�.y�
-��!8u�P'Yp���2p%=�f�rF

_3Q�#���S��:�#|̫<��aM[�z��PXT�u�.�+���y>�2������`o޻f}XuA'K�W�@H�
���]
m��3]�\�ԙ�G����=��G���o��
��͉�#	5,C<���#
�.�{�?�"E�
�Y�G����u�Zr}G�%gOE��Dk>�:��)d橒j�\���H��y~���y4�M��0���hCl�r������qNJ�x�J��8
mB��|C�����1=s	g�)��#�3Z7pò����	�\	�$�*Y���lc��5�#�ȯ÷\�%��
˔�"��%W���C�	���0�$�@�T��(�j��Т��g!�_�eS�@�g�k�]�Yjj�i
�¼�j��
-�u?��@K*GGI
�Vٽ�@Z��Q
FAw��^��1C	
߀������o���(R�
/a	L+Soz65�Y1��{L`��aM��!���M �Ү�a��o6/��dr�ƲD�+<drd���>\�����M�o�������8�Kܫ�U.���ߍ��l8�������ߩ0�s�;VwA�LHԪl��uUmŹ{R��\ )���U�+
�s��P����'
X:���'s����Xk�endstream
+xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
+ Yِ�6�T��
eF���iӂ�
+P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
+��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
+�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
+�s
+��Ņ�����{�M\��m���έ�r�
+M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
+endstream
 endobj
-523 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12221 0 R
-/FirstChar 1
-/LastChar 120
-/Widths 12222 0 R
-/BaseFont /SFKDNN+CMR10
-/FontDescriptor 521 0 R
->> endobj
-521 0 obj <<
-/Ascent 694
+12225 0 obj <<
+/Type /FontDescriptor
+/FontName /JRVZXP+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
 /CapHeight 683
 /Descent -194
-/FontName /SFKDNN+CMR10
-/ItalicAngle 0
-/StemV 69
+/ItalicAngle -14
+/StemV 89
 /XHeight 431
-/FontBBox [-251 -250 1009 969]
-/Flags 4
-/CharSet (/Delta/Omega/fi/ffi/numbersign/percent/parenleft/parenright/plus/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/equal/bracketleft/a/b/c/d/e/g/h/i/l/m/n/o/p/r/s/t/u/v/x)
-/FontFile 522 0 R
+/CharSet (/dagger/daggerdbl/section)
+/FontFile 12224 0 R
 >> endobj
-12222 0 obj
-[833 0 0 0 0 0 0 0 0 722 0 556 0 833 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 833 0 833 0 0 389 389 0 778 0 0 0 0 500 500 500 500 500 500 500 500 500 500 278 278 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0 0 0 0 0 500 556 444 556 444 0 500 556 278 0 0 278 833 556 500 556 0 392 394 389 556 528 0 528 ]
+12226 0 obj <<
+/Length1 791
+/Length2 945
+/Length3 0
+/Length 1491      
+/Filter /FlateDecode
+>>
+stream
+xڭR{4�i
.
����K��W��b���k�2�4�B5�{g|��>����q9$I%tSQqd+{�*G�
%e�T{j'+�.ZuJ�h+�a����=�?��y���>��{
l�"_��8�ra�Y��/D����L����*ǖ�U��<<X�W-,`r=]]=]���iT���
GE\ી*c D���
+��D,"\�B��|�r:zB	B�	�SX,����2�0F
�1)��0���� �$M�ŤIG at ZDpL��R��
�N�S����r�X1�~4��h��k��8�
+ G �M���qo!AՊ�,_%��_L&����Fg�9��
@!"DU� ˕p
�2�
+�ޘƊЀ`A m|�c�P�b�0M
�oⱚ��&3"�D��3�,RH��]Ԥ��1	���
�r܁� �
+�l���$@1&�Hf�1\E
d2Z �	��Pـ!V�I��Xr&1����
9T*a��
�J�
+S+ǀ�����I.l&p��,,��;�r���%j���j�W��M�R�L�D(��
����Te���_�vJ�1}���_gX��J�aъ8ūle���{.�n���k,Y�ϔ�8w� w��	�3�r����K����Yh2r��-z�o�_s�ȶ
+�:��h���n�.�yf1򜷾����3L�B����*
;�α�t<�?�JꁛޒW��V�ʀ�Ew�>3�����(Q҄�iZ���q�6ez�W����o�j�FӨ0kYM/:�!�V�=p\1d�*z���6�4�^z�}B���0�^�%5���"Ex��n{��ٙ��Ȗ��`kE?gas?�g'�'-�s�>?T��=e~e{S�ܢ��
��o�w�\�ձ׽J��h&TE�|#ߺ,��&`�C5:��RGy���n����+
��'�y7�t�Z�0̓F�{�
���4[p.�Piـ17�3��s�*�~��-�}B*GT�Iޥ�|�n.Q�d=�]��9�G��%V��.�-�?�=F�V�2�Jx���Mr�6�w]���}��o|��\l�kˈ}�d���ba�V�s��ܷ}��/w|h�~5(�
�9����__������U�VD<�a�����^w\W�����5�B��ڦ��������tk�l�4's��/-ihhw�=�"<9(c����{�M)F�	���zXv�kx��N��3������ھ�_/�}���I�׾]���GǤc�<:a�q��̌��&UmZ�
p�������b���d�ɸ���C�54\�h4�9͛�EO�#p�|s(�TV����r�28��O}'�K����
��?�8kkե���-�g�
�?�5�Q�eX��9�Į���>�6����D��:���!�:����Y�{Zf'}�kξ�t�{��*N{$��,�P�6���Kc���l�v^ ����;��o���J���{�"\_>7M�	�L��#ҩ3?|�skp�`s�nIk������>UYgӜ^r��|��0w$'�<�����6�Hpi�Ӓ�k���uկ9�l��?G��v
+endstream
 endobj
-12221 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 1/Delta 2/.notdef 10/Omega 11/.notdef 12/fi 13/.notdef 14/ffi 15/.notdef 35/numbersign 36/.notdef 37/percent 38/.notdef 40/parenleft/parenright 42/.notdef 43/plus 44/.notdef 48/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon 60/.notdef 61/equal 62/.notdef 91/bracketleft 92/.notdef 97/a/b/c/d/e 102/.notdef 103/g/h/i 106/.notdef 108/l/m/n/o/p 113/.notdef 114/r/s/t/u/v 119/.notdef 120/x 121/.notdef]
+12227 0 obj <<
+/Type /FontDescriptor
+/FontName /LRFJNF+CMSY9
+/Flags 4
+/FontBBox [-30 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 87
+/XHeight 431
+/CharSet (/asteriskmath/lessequal/minus)
+/FontFile 12226 0 R
 >> endobj
-483 0 obj <<
-/Length1 1006
-/Length2 4498
-/Length3 532
-/Length 5188      
+12228 0 obj <<
+/Length1 765
+/Length2 1314
+/Length3 0
+/Length 1852      
 /Filter /FlateDecode
 >>
 stream
-x��g8\m��-�(�c�x���5Jt1-QB0���0z�5�[� z	B�$:Q��%z
Q�8��or���O�:{��o�u���ֽ��6�

=~8���A��

-J�P��8p��@H89�
$�d႐%%� 
W@H��K�
-_>$��"�����u���
-(ie��.��e+
@c�D�x
- 
-���
΀.��uC�H8���D� �$�����@�o3���_.7��R��K&7p)�A;xp�5	X
sY
q��C�?���:8hY�~��٨��@!
<�3 �rtuA`(����z�6(�tE�ӫ�bဴR@�8  ~A���v��
-��A�X��Έ_v�O%�����
U�76���`�t,�h}OG �
���e��H�" �^^��Z=�G-e��D� B�b�k�I�L%$*
-x
H4
� <.����-�ec|k
���
-�`�-���J`+

-e�o� ; ��D��o�Lp��t9�`g+,���M
 �N'�����r� 0���?P [������e1�?��xY�/
��@a ��^�u����$���xxC ~!Q��@A@\��_¬\�X��׫r9
�bk�� !
+��1���c��ڐB?���"ng���ǽ���)����#�����_A� ;d1U���R0�Zt��V���[
<�$���N�#ڱ�05����h�De��L�-9��ݙ��6��LP��&(�ø�_8>v��g��o~�4α�H� �A3a�:����*&3��Eo�����$c��G�i��'��+�n�s�B/�8��ˑ���a�w�%hٷu��v2���<2X#��Ԣ�E��ػ��#��ԣ+8H-��E:w�v���"��Ƈ��S��J�D��􋬇��v{��~���I�
-qV��@�0���������+�y#��Uh�J~�����O;vM�YX��*����I�� ��+�=��D��/��������z��)�z
ENN(�e����{�y���Z�ut,44/2'stʠ2T���n�
$jMr��`X��M���ΐ0Z
�Pթ�$��k�fo,�����
��2Z5Zf0>�f��e΢s�8W�ض2
O���C�V��5�x��\ݯ���W�ģD
E�Π̴F^���[�iV��.#���^s�L�x�0
\a�7�
ɚ3�x�e�=A�V��.�o����
��Ha�w���ދ��i�{�-��j4b���_�j8��
�K�ܤ=��m�U�}
2;kG�T��M�s�ȡf�c�>���|�3�C�n�wwލ�F͉���ܷ�3�?f�u~_�� �N4GLV���
�����������
4��D
�3!��:,���'��cVɊ��/�ÏM&��Y�:۩��eWV��c�5=ӞF�%���4,��4ڊ���Mf���'<-��B�u�B}��
���H���
a���2x.�q��%�3Wd%�J���Q)�>�r��31��ŋ?p7��S�O
O�{)�b^M&�cj���f7ZƘ*�:���]7����CP9�x�Կ���d���b^ѐ�CR���:�mG��(�����"K��!���\+
Z�
�u���P�Ӟ��oa�i��seHkbr��-�p�w��f�
�8e�UȺ�G�r�p� ����ǯo�������<a(&j"Tfv��.�
0uZm���`~7X�X�Q���h���ZV�g�H�.��n<�M+���+�����N��S�!v�wN��I�|*B+�{�-��-&R	I��Qt����C�o�<��13]{����^��H��Sy
��0�j�TL�`����Qz�t��y���Ē����Х�w�&�z��H{��a�+��E��(�f���[aFO�}F{،F�%��	<��Z
-���)֊�̮G�'Y����WG.��<ӊ��ZױP�
I]�i7x��j[�/��L���}�(o�ej*��)f�
�46��۳�R��9��3hwgҸ���=Am�Ց����k.��y���	�������m��p�aR �-ح*
�cb�/l}mߡ�8��uZy at 9�c���1�����}A�W��D��[�4�*��ͦt��
�?<|��l�26�Vv�S�
-��F���7��e�����k�;�P��FG�~M�6۲�#��i�QX�����@l˓���� �"��?s�đ@�:5���N��'TUMDs��
zY"0��gi׌�$㮽��
�r���2e'wg�Ӿ�E��=���͑�t9
�޽/��*���ξ�M�.Z|�5��'�Ws5��̂}8�nJE�1�G�HK��.w$�H��ȡ���ƿUif� \w�����Jt�lԀFy�_Ą��˷��y�Lw��:������L�_'(��Q{a�>+���ٰ*�ňѭ{����{�C�ϭ֤�{�rٕ#"."��u�A�j��M�w�}>��Xa�����n�ӕɮA�����a��;�B��P����T k؅�yfR�~_�L�׬�	EZ|��!)���f�����FI%�W�S��8=�uj\#*"nO�A�ey*����8a�f�z�j9�q�
N����������w���iq��L�
�P:7h�X4����WKlJ�pTl
�5���,�ef[���n�X��ƳE�Φ�����e�a��O)��2;�^�j�O|��
l�B�C!���J�&�(Pj<��T�c�8|��}ǡ^>��i?�
G������t�����2G�V�z^։Y!�Zm̏<�X
��|�&U�k
Ĭo���� �O��95
%	ڷB��:���4ehD���R�lƧ��2dqm~Y�0����P=S��3c8}�I����
�����01��
�����������!���Y�Ͳ�@tt�~���a���oi| 'B5=�[����>�ϙ;}�O�����j[��*a������<�h
�
��F,�jU6�D���c�yR�ѹ�n�(��uZNf�����kv<b�m.�����c�L�eic��bc�<��L��U-v���5��`�����Ѕl�{_2o
ۑS|V���~+\ǚ:�
�d vQa�u������D���1z�f���PЀ��Q���X{��`�
��= �2K5|���!c;�VB���~��m�5�	��
M�h�mk�.��=�]ݣ
�OW��a�x��d�{R|aaz�������
�6L;QuMo�G���}�KtV�n�N�����A�Z����A�;��OAН��}Kp�m��B  �U���f�^��Ȋ�Aӽ��m��;��)�����5�7��CYS���#�<V����i%ʽ>&T�+�gkO���ä�NV�W��P��U��� ��
�9k% 
ߔ�ң��s������HW��fӞ2��% Ř�|hN&\J��
K���7��Ldp��wGv�ٶ*=u�p��i}\�z�j~�;!u���shD‘hdnX�?z��W܁�9�W?�d����š��
���5�f�!O.=�8G1�]����Q at P1��
�m#S'���b5����
��;
��u��k?Zru
ɫ�:d��yD�Nڻ��/%zT8H��?Q'�
���*���-�0��1�Qh��2�k�xf^Y
�E�6��h`��7?=1�!PƵ�U���4�HR��R滞��V!�:tC�����/'�F�b��'g|(|�خ�0Np@���|�*%
��k�)
����u
-��F$�G"!�,2׫�T�\E��\�w�$R�at�8�Z��z��� #�b۠6��������X�	O��A$k/,p
񤤖7q%�Y�U��
-�-r
��m�+W��<ļ\�����yҹ-KgP�	��[T_7v
mi`MG}�>�t&�+�?�}-u�Y
-9i=�Ec�'7eW�/���K���Q1�Wڲˋ�䟴)��\�Z�
-�re�*�+�|�m* 
y=�Ò`i��֒&���]��a-���޶���/�"K�+ݹԅ�R��X2E�S�6�@[�|
��֤z�++	�"����}��ߛq|��z8|Ӱ|#ҝ��x>�g;�
m�mJf^��8�F�B���e�/��Q�K��I
{&]k���S�<�Cp�_� �c�B��k#)��o 	����7�ʦ�~��t�q��0
"�L��e]

�w��&pj�.�p��
�A
�,��V^i	��S��q�1�6��\��j��n,��T09A+���kr�����m��
�m&��*��%�%z
-�����۲Ԟo&?s��:�1��8�3�)�ì}��spY�3�q�]"b�
C.ҍ���Oc���n�����I��l!�������;}۠E3�]�<��%�4�]�:���z�-��bRM�����d�{<�?Z��e���RyK�ɇ�Ke։]��
��t���y쒜(NI�
-�f��I�e)���W�&O����
�-ZX*Sb$g���B��9�z��s8����x�(�')��>���+�
�� �V`3�Yp�S�A�4��ܙ3�Yx)U�jP�je!5�/�BdX�C�wn�	��X�� �V���t��Om�K5@��|�ck�
-v{���x��]��
-i�&P_ĩ޳t�K���bp��!����C3���<�*>���}GW:y$OI�t{BA�-I��ɮ�w��
-;�<�)��Y��t(��kƌ]c[�Sia�o��>�%����7g����_k�u���9�?R��e�PǗ+���u-C�yJ��
ҥX��$�o]4��6�3�ϔd��J\d�
‹.����X�X8T5�N�������n}
K���>�Y�.�Hz���V���9N���l+�D2����to>�T��}D����H���$�����$;xI�'�6�}�=%��p0X?$�R�
-���M�*h׺�c[壭O,ϭc���<�d��6n��a�m釭Ir�� �1ڣ�t"va����
��z݇���6�Y9M�6Q��~�$uK���PU�m]:ΐ��������Xl�(���-Px��U�f���ӎ(�T��kk�����hf�A
-�h~TZpk����V%�I�&@�l�w��'.PgԴ�S���#�
�f�E0/\����#%
Ѽ#!��Jw���
Z*ԯ���˖�#��"�#��Cb�'H|M
��vR�x�ٕ�GFC�t�0��~67����n�
$e��	O�� ��j�{T����+�q_X�qՓ��j�	�
-Eg��k&��p��lI���/厳K��ʍ�ܺ�]�w�?�H�?���V
�
e��'�]�d�endstream
+xڭRiX�W���&"��  "� Y> ĀZ!���! T�4&_�,�Q�,j�(;(
P�d��T+[`J
�"
��hY;��3��<����9�9��&F�>X��$�,�� �(4�H @
��21�� �
+�Xb� �d+�:�8(�
���E� a�D��3
+f�D
��f� �%���
l��aH,�<
@ߨ� �P$��88
�-NB�� ����&�
+һ0'2�C*
+E(Df�21�B$G(�I �E�=��i�B��C���Α<�'���~ө��Y|�'y���#Ő�	9�H��z
z'�q�H�֬��Ń��`
`A
��]
�p�c �7,f� \/ڌC�V%
+�6u��=�ǽ,�?�fқ
�
I8�dob�O�0I� '
+�AQ�>��[�Ql!VD[�%�$(�'R "
��� P�B1
'�%�™� W(Bm�+Z���{H���wrt��bA[k kET
ml�-���0ّ"$o~
�50V�	A1%��B����
���wHL�~NiR����
{ܫQ{�Q}/�?���
+��gN���s��qݻg�c}����{0��>*��W�AJ
m�j�_���^o1��xq,����%H*ҝ��������saq=�2t6��?�(f�}�
�oj��e���X(+��	�]�Z����6��C�\@S
�9������N���0C�>�����jF�Ψ!�aOURi驇����H-��Fr[�J�|���Q�cv%<
����6�;DqӧzC���A��k�}��SO���-�
�Mu�>�����Z
�I_(�~rLj�k�����u��܉9�źn-��J��vF�#�����&�
�3-�����
���8�Œ��[qG&u|e����v�R�ґOŕ�ۓ��}�ߋ�0o)
+~.wI�nF_����S�?��s������]A�
��j߅n�
+� I��T��
�N�l��.���
?�ki5�vF��ܽ�hf��P"
+>�.+F�hcNO�ſ���7��}�&�f�G�^K��Wnz;���k��(�
�B�3�+9�<�jT7�i�x�=y�ԓ
��ڹzUm4_�<�L��*�WKji�%�|'�0
4��zW5�E�q
+���q�un���H�K�i��np(H�kA�5f�l�]���P��$�o���Ji8��H��c
+����R�fw�m�|LE}���|,1p�"Ϩ�{o���]WS���.�/kSFVGc��M�V���Y��	�w&S*�zk�����s�N%���%[�W_#����Z��l5z�m�ů���'��DɝЬ�\�>{qK-��r�c�zN�P#��܋~�j0��L]
F
�
����tߣC��>ϙ{��s��n��Q
~����e��
+���c�K͔=9p�HI=�#$Q����F�.���B��JY��B��]��[H�J�%��$m�����k�O�

��h���eӝ<�L�N�e/����p!���h�������
�z����������V�L�f���2�U�U�����]���ts�����7I)Jv��v��
*}�B)QS����C;��<?6�d>]d��i��޹�XV�x���2
������,�K�����Ci�`g5�(K��%��z[<5�Xo["�t��'~��y��>{�8�
'k�x3'F
+�.Y�P,Z:L����]��T�\�6l[(
��7ۋ�{k?�
Q5�v��و:��v�ŨVH�|d:���o(��G�RjG�
��r�`��qP����I���!v��I����7�YM2���8^�-�Sr����3�ɠB3�E/,i��7��<��R\o��9S3��6d;}���4�e���� ޷�_/�z�
+endstream
 endobj
-484 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12223 0 R
-/FirstChar 26
-/LastChar 117
-/Widths 12224 0 R
-/BaseFont /RMHTZY+CMMI7
-/FontDescriptor 482 0 R
->> endobj
-482 0 obj <<
+12229 0 obj <<
+/Type /FontDescriptor
+/FontName /KNYRWO+CMTI10
+/Flags 4
+/FontBBox [-163 -250 1146 969]
 /Ascent 694
 /CapHeight 683
 /Descent -194
-/FontName /RMHTZY+CMMI7
-/ItalicAngle -14.04
-/StemV 81
+/ItalicAngle -14
+/StemV 68
 /XHeight 431
-/FontBBox [0 -250 1171 750]
-/Flags 4
-/CharSet (/rho/comma/less/A/B/lscript/a/c/d/e/f/i/j/k/m/n/q/u)
-/FontFile 483 0 R
->> endobj
-12224 0 obj
-[593 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 339 893 0 0 0 0 859 863 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 478 620 0 511 595 542 557 0 0 404 473 607 0 1014 706 0 0 524 0 0 0 675 ]
-endobj
-12223 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 26/rho 27/.notdef 59/comma/less 61/.notdef 65/A/B 67/.notdef 96/lscript/a 98/.notdef 99/c/d/e/f 103/.notdef 105/i/j/k 108/.notdef 109/m/n 111/.notdef 113/q 114/.notdef 117/u 118/.notdef]
+/CharSet (/p/s)
+/FontFile 12228 0 R
 >> endobj
-480 0 obj <<
-/Length1 920
-/Length2 3636
-/Length3 532
-/Length 4284      
+12230 0 obj <<
+/Length1 831
+/Length2 2352
+/Length3 0
+/Length 2910      
 /Filter /FlateDecode
 >>
 stream
-x��Si<���F�A��"���
�d�2�,c�
2�ؚ�1�I�}MY�+eKx-I��=ɒ}��2��T������?��|:��<_�뾯���GR
a%��!�b
��<Tz
0��5�B E(���
	�&{	�h2�< USS��> T�B�C!�T�$34����]�8����bIX ���� `1�+ {b
<���&��c�4]74�"�ya���
чB���$�z2?���71� F�H����(�A� �ˍ
�b=�l��܉��o3���_� ,ɏ�
 MkV���!pZ��l`s"-�V��FQ�7�����x���i�����Q~3��8,�;��̰/�?��d4��M�����&/?� ,�Ev���8?�/;���gjڸ~%�ڙ�ud��
~9h/ٚ���O�/
�ӦB�
-PJ#��}9�#��F�x< Ee M"�)l����2
�l�
�U
V ɴ�ǟ
B;2��5�(`,އL�Òz~U��_H
-�
�F� ��_�
 #�F4���H #�F�DV!5Zܥ_��G��K

-���/S��DJ0%@M�_�n�$�@�u���
�{�օ�a��ގ�ԣ���b+C᥃ULg�u=
���w���
5q�
W�w���L��~u.7�2Ӳh��I�Ķk�[�i9c��.˹W����5�,��ލ����4�uC��bx��2ӡ���ӳ�i}��)1�.T at CW^����A.�&.��+Ƿ2
7
ȕ��8�:*�;�,��3����~)�(��q������۽���{���C/�'{���mO�W�dh��HМk.t�|:FE5�Hw�'���Hy-�mT�S	��\��j]�'
O��DQ�.�k�!
-�Gᐨ�k�h�5�����1��ȻíAė{���:���Ѝ
NC4��5�a�@Hœ��b~�K�g�Y
�ic���̄�ëz��+s|
��Z�
ɚ�,�R� J7ں�ח{� Y�%�L\�( ��'I��s��$�
8w�������ى;���=�D-��=�c6'�\9ּ�
��{�e;#�W��8��q
\�a�.o=Y���e7\Y�@ig�e��4M6���3�-�<�u���w�Xl��'��=Ag֊�ڑ�6�|\uI�}F��Y�n9�T�0������@�9i:���W���
J��+߇u�6�
--{�c��^	�^
r(U���!����<��ʇ�d�������ӷ�N��yT0��Jmn%�4�?�R�F�0	���,���ҥ��`r�-�n����Fp�
+�T�tB��0���-†�r�h�=���H�]�$�g\�c�q��R�HeQ����K�Y�
������
��
j�
-��D޽�mUwt*M\�v��;�{�A-�G�&HwtXٚ.u�?�c���5�
-���sT_�.�nbUW����7����4��]Nw!�}���ӻ�wT�����/�
\�12�w��a��&rW
��(�
�6VO�)�֌z��I(��H�q����
-5�����ג3�'�B"��N6G�g�<�R�DDb�3!o�?�h���"(
����C���x|w���[�a�7'c�Ʌ����Ȗ�# �2d�t��
��>Z
y>��Ts�%hT	ľK�U��Z�p�Y�
g4Z�W
-�|�
�#=Q"v� ;)�/��Л�ׅ��J�;:ύEϊ
eǰ[!u-
��/�'�\�gI�Z�r��]��p�0c�u������7�Â3��ۖϪ�o9
-�M2�>⃥�ND5�Y3}
w�E?9��ծ���}yT�[�
�	�4P
�ph
'��Ҭ4Z�k�a,x�%��a���F�/:��S�0�3+��V�l��|�z��~�UUEy�*"�	&h�2���kp0А)X_���.Y��{8[��<}�O t at -�=щlդ��
-������2�Ҿ%M�j��}*n���VBk"�E�H�=F��b�s��R�}��'R��2���5}
�[���ħ
s��-�?���/���|5:�E[k����G{�	8��r���;��)��?�cQ�Ӵ��K��w���Y�N���g�W��mpb���mewQ~W獷*tW�J9"��4
�5��r��
e�
������
5?[a}���ح��>��i�k�4h��t�6;��9�Ă;v">L8�#N*��wJMݷo}q��L�n�v�;*(r<^F��;�۳�b{��M���Zk�

N�{�
�9��_5|���jj��q�G���[��z/T��S������
M��^X�	#ܑ켅��"��1I�G�Y�>��:7��2
rִ�\�(M>Rt*o���k��L1�y� �UG�A�>�c���?�yaN�
R<f���.�%
�
�4:������pc��>�Й7���{t�47�/f���+P�����ȡ�3q%�%�����_;۽Ӝ=L�aE�N����8��$����x��nM�<��c�Uk#�Q��)�	_�@w<LQ��}�OQ���a��P�?&\�z?������銼vD
�׿�uJ��f� �����,��ə5
{ �6�vM�)e0�/���՟���
�wp�zf��
�<u��V���,�{T��u�-N��6˝~lz��PL�{������
~x;$���q�Gpr�ȃ���"Mk�?�dI�f>���}�Ya���#6#�~2���ʊ~j�f���f=,䇕����aC����?��ZCn��KS�L�q�a˜�I��uU���j� 
;ը"*�i����@����`��t^��?&��d���+֘^�}�U��D��V�?5

-�nb��A�o�G��t��z�㱳5��<�V�$
��V��R5���V����MP2S�ʍfIǙ&}º����Z>��
:���7�*����biO�b�L=6t��
-�Bm�{��%{k�$��!]��}��eeti�5���&b.�r��<3ɐ�衾��^�ڶ��塙�ǫ@n
B |��
zW�(�*����Ѭ����|������k���n����`j��@U����~-�}��A�,�0r:9?z����J��A����9��[
����������0q��Ko�G%+@�����" k�^�H�&�@�
�-R#MҞT����T�:�%�G�Rӫ�,=Q�0?����V�2�S�����B���-`�V'}��+Y
-�
���� �]v�x&!�1���[)z��1��Vm�)��r{�&��
5X_�8/hw�\& �����cU�+�5/p_���1���sm�m��~���j6���x� �?�+�

�eYZ�
-e-�,͒)�_KJD�T�_Zӷ�wR.r衳Ib
m���X��
x+q6�(�;gB��� ��
��w)�W	��0w�
>�٭�uM2�g�=�ę�I�,~�
`�9Io�*�W�5{����{��p�b0�G�S`�]1�0GN���A��b��:a��������k�
��<?vH��c)\�(/
���Kt�1�.-���Cu�阞�y��F��eΨ%���w�"B۬������{�<���Ҋ������4nυ��8���%�]}��%�%߅�
��j~?�{�`�j��㓟��
"nůa��1c-"
-�Pe7�˥Pr��
�Y�N3�M��`F��iJ�����
Eᄐv�
#.�A��ӑ�W���
���M���%�^K�v�^یCm� ���
-��2�*
�(����b�uH_$�]t�*3~������ �YTf�l) xeH{C#9b��:㤌G����[}�`J�ف�%�;��T۳�|ƛLW/�%�(���eLM�;

Tһ��!���.��T��+8<ɹ������'�i"d���Z�wu�C�^r�Mf��Mcy�e
�E7��߷�}��m]�TVӐ�͞{kH|6L�TI�W	>�j�
�^5�ш1
-'jx��$�f�"�
r�T@��<�f�tbR�e�Y�\�V�����/�<�Y��q�|�X͸(��"�8��ڝ�t����}P��Z<�RI�
��
�z����8
�^T�4�����S�.���t u���!���i�\��޷��mb%�ŭ���Ed�LZFt\�����}�i�Y�Y(�3���9�e��ҙY��
q��M��W
߰TK�/�y{h��fL=T<1Q6s�����4���0�\��	�>�
�o�˕Ar68�WT\w+QLcQG�a
}`/"�S������C^>%��^O��J���VP��͌���3|\Qf�`�|O��|<|K�z������S��/ �
x�ˡ|����O�S5�GV
͑KK�g���B�`H�ٹ��<�໑���B=.
�������'�pX4�LģIW�����Vendstream
+xڭRy<�k��첖/������}_���,i̼f33b,�X�TR�q�$e�9Q�J�e)D1�
��M�9�9_����<<�}_��\���
����hA$P��.`j�₀8܄KNΔ
��X"�
Eu���*`L"�� ���ʼ\r�)�D#c��� �T�;I
0ƃd,E �PT��F� g"
Ri*�18}�� N $�1*\������%p��k�&��?˜`�_�� ��@�d* L�"G0�/̞��
dj�����E0g��o��Կ�(<G��Aē�� �#b at 2�G���8;�
������pX�1��?BX�6�8b�h�J�� ��s{
+`&��&�Ju/���.4��~g�a�ߘi
+x���"�D������g�4�%��� �LFѸ���D@8�0`( �2�TD*�`z	��\�'�`v���cBm ��2wF�T`�@M F���X�? ����m��	14
�@U�4 -5�
�G�

L&����1-�
�b�� �P�54HD��
���R�󼞢���&~57�5�=�y�̊��f�8V��ZL��?#�-N��4�T��矃n��̜?7C{"�\��ѦI2�1��
��-h�:�k/L9s�ŝ��3�O��Y�<�W5e�jj!-���q��դ��Ӄ
+/�Ǐ���d펹����oħ��_�8rn�x�l�$F��d���Џ�C�h�z��m�^�X
�o���d�6e�&����ևz&�k+�h,�ۓ�>��G>������P�ً-x���u�kJ��)?=�����>0_;�b��*Ÿ߻-_P%�+a�#Y��8�pZO=6��h�oV.5��b�d���
a�\���Q֧&n;�ejk
�d�]����v�
��ϛ�V!��rSr[��/@:4�|�2	�4f�Ď��S�*��x���U���fв���X���p�q��
+���D�%�\['�ߌ�\k�lg�gY�~,$f�>=�ER���1M���8ln����%=�
�&��a�zI�
t �v�o� �w_yL�
"��X6�c�$�����6����Dn��.��5
Xǒڶ��H��
�`��fWqQb~c�
$�e�,A���,���q1��J��L���Z�k�OC���0a�&�~��<���mn+Q`JUf���@��f-ܡ���2���AD�͔��r"�f�ֹ)Ӊt:ס�s����kk��2+|,y]<g~
B|���a�:{w�Иb�{���yD퉲��� oˠ��N�W��ft�A��إ
�Aqr�K(��v+g�9Yo��Z
ɭΰ� ��o�鲗�*5� �8G�
i�~

v���ܵ~ߎ���	�B
�5R��J̗�֭���”Onz=m���mE������O0ek#�"+��R���B�c��g͛��
�`�,���/)�x=ʎ،�q�v��u��բ���2�$���X�Xf4��#�� ���\�����$�#�j
��L*=�#��R��K9Ti"�
�b�J&S���"(�WJ��D!<�ή�\\�^D���<��?�!~7��������>ӏ
���k�Ao
�����
�x�\%�u��W8�!�-��D��w���
BMn��}
������S��5�(�e;&�և���1�4pf�(=8q�DM�p?����#m6%�p���J�`����[�>�]^�T
^���p����c+��h=��`�A
��e�_yX
S�M]�g�G
��~,�G�]�S�����C�G�z��8��>;? �[{�Fi�[�1�ǎܨ�?�x�[Zd��w3�}t*
S��a��v(֑P��8��}>b��s�mC��
�����` h��S�f(��N�Y���U
��F�$��Y b�
5k�ήY�� <��
V�
�$V-߮� J��뫜u�[?/��U�%�c�B	����
�/��9f_���̴(
�xQ)��X
&�^9י�
�{@�
F����F����ܢ�PRc��>/�
+e��B��<�Cͫ��Fqm5�ZZjރJ�ƶ��'ґl�
!T��
��Z��q��7֪���5qF웈���o�z��T����p�4!)>�gb�#�F�t�ң�c�'T��a����J�}!�~�^`	��|�H�μ�c
�e,5K��ٺ�?���u�ﲿ�#yM�s=�
cH$˜�ܠ�
����/1�h1�[Ǝ6]�h��r����)���������>(�X��2��c;5���;��Z��e�Hαofã�������MՒ����	���
<�8_�]�fT�Z+.��a-�W(�'�7��m�U>�Afa�q��a��~K�~V�L�yxtu�;����&�L c���Bf���j
5a��f�U�wi���ux��se״$6���5v�t���R�z�c��A.��ĩ���0��3��<�X
m#���+;�r�O
�7n$/O\�:���g�q�hp"�����i�&k!�y���5��T
K�xeS`L樕�.�dr Zd�d%T��
?j�q�iBFf_��䑌�\����
+9Ĕ�ᅫ�
z-�q´2rW�䚀�I�
:vM>���!�pIsi|�G��+y�]�V��#��w: 5��糺C'/N/q��
�?��
+��rP�����"��1�
�Qm�ڢ_
+��|s��5iYH�]Ӽ%�
&��<
ڶ
��
a�
?ЖCڈѬ�
T1q�
~
��Pw�飅�[�T��ܾ�NI�z�~�X2�ݵ�;�Ϭ��X���������u���6�(�)\���Q�%�]��_��n��A���
l�nĴ'*<y��X
1<L!'��FL�J)s/Ż�n�MVk�E���9�����H�٩Tg��SAsd��݂���g��;K�3�%�I*��C�����v�H�
+���Z{�;*b�6qP����nB���E�ؐ��ԛ�7rI9Z�?�z��
+endstream
 endobj
-481 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12225 0 R
-/FirstChar 63
-/LastChar 90
-/Widths 12226 0 R
-/BaseFont /MGWNEA+MSBM10
-/FontDescriptor 479 0 R
->> endobj
-479 0 obj <<
-/Ascent 464
-/CapHeight 689
-/Descent 0
-/FontName /MGWNEA+MSBM10
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/FontBBox [-55 -420 2343 920]
+12231 0 obj <<
+/Type /FontDescriptor
+/FontName /BKKFBC+CMTT10
 /Flags 4
-/CharSet (/emptyset/C/G/N/P/Q/R/S/Z)
-/FontFile 480 0 R
->> endobj
-12226 0 obj
-[778 0 0 0 722 0 0 0 778 0 0 0 0 0 0 722 0 611 778 722 556 0 0 0 0 0 0 667 ]
-endobj
-12225 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 63/emptyset 64/.notdef 67/C 68/.notdef 71/G 72/.notdef 78/N 79/.notdef 80/P/Q/R/S 84/.notdef 90/Z 91/.notdef]
+/FontBBox [-4 -235 731 800]
+/Ascent 611
+/CapHeight 611
+/Descent -222
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/e/l/o/r/t/x/y)
+/FontFile 12230 0 R
 >> endobj
-477 0 obj <<
-/Length1 1647
-/Length2 17999
-/Length3 532
-/Length 18942     
+12232 0 obj <<
+/Length1 832
+/Length2 1188
+/Length3 0
+/Length 1759      
 /Filter /FlateDecode
 >>
 stream
-xڬ�cx�m�&
�c{Ŷ͎:��^q�ضm[
۶ѱmt����gϱ�o����}�Wᬪ묪�(I�TEMm���� 'FV&>���cgGe�
-��r��@sg'#�_
'%������$a��h M@ ����� nk��`in��QS֠��g�O�?& c�����t�4��~� ml�~ AN!��
U�@��`fi�+*i�(Hh�� R@��oJ��6�& 9K �H
0�u ��� 0��Z�S�#�_,QG���hb��
�f��G� �:��tt��
�t�;���ށ�-�db�l�O�f��J�����ŏ���`J��N�&�vN��Q�$$�������?�
-���f-MmM��)�_��0�NF� G����X�@������������
,�����%��?3` 8 ͍
Lm���a�b�s;�Y'��������_޶���_9X:9m̘X���4q������O�Ȁ�l�,���:������
���gh�&adj
�q���l�����߱���G���-�����F������y��В�66
-F?�6���
��1���
�ecc� �g�X��\�~Xڸ��������Y�O����wQ��_�Y9�8�-�t��t�*Y:�X ̌l�^޿�j S���%�����_'���S��4����U@����/o���YC]QQB����m�e��+�T�퀀�IC���
���ux2�r�ٸY���q�e����	�/ ��<�99X�tX�XXX�����I��|�ؚ��G*NF ӿ�����M�

�2��m���8�k�@7�	�꒭	�UZf�S-N��N/+�p�]i�jQ�_�m�oZ�o��{M0S�4ߟ6��3��Y���^l��U>�79m_�&U7�a �~)R��F�����6�6�����we��w��v��'Z?r�?L�G;d���X�N�F0��³s�ē�G����ᡞ���XxJ~($�H?�
am�
-�
y����_Ük`��
}i�/m�`4e�;P��+g�
���� ��䞋��������*�<sϏڒJ
��&ź�]iu9@���ķL;�?Wi�[8�~��Q�]���9�X��z@�G`��A� E&W%���{5���Q�j���K�!҂@1q�d!I�&w������i��%$��)�
�,-�X(�Mi�I~spvp����J

��N�� ������s����Y�= �+|��[!A���GhV/t!8�(�mh��2;�B�'	
E
�_���l�I��~-�!^�ȯ�z�S
-fʺ��
c�"�w���&���C�"�5�$�I︣,x��a��R�i.䛀9��j�'73���
q0��3:�N�
�>�5	"��y��E��(�u�܍]�1*���lv*���;�o��yj_}ރc��roO���Q���ZUZ��[w 9�-\�Q����OfT�M6%],~��:�

��bݠ�:�s�G��d���/��bb���[��4	�(Ί�
�
CtP��
ȱ[C�Z�
.A����~��ʃ^Ĉd��yW5Wx�)����Ŀ�/	��߫w#.4����q�7�
�����Yq�<��s8t�GDs��U��W��ov�h��a�еNrQE
-��%y4��;g
f�on����1좄�̻��ȀnV>�!0��4��t�w��
�|_
ݕ��D��Y��q�m����K-��'T'<�����:s��F����
-z]9��1��iD���ѐ�(li��� u�=�r��� �Y���x0oO��p���a
#k��an0װ�^�4|�m���$1#
���߭&�Kp���Չ��t�8��1ۮ^�YY,kKf��B���2�z�+k�?��n�$y���<�9��>2G�
�
2�KP(�D��A9�}E�ӫ
-n�F�e��Fː6�n�9c#�����~�����0
}��
�P`۲ۛ� _�̽�g(�
E�$��P��d��d�yԀʉ��|kۣX��2�cn���L�
3�S���-�����kK
]gL%F8��*����`\8v���`f�mnL�ޑd���ܒ�<H	��9R�
/7��\Hg\�g|��l�"P����~�t����Zl�k�������Ll�>.�C���՞g͘�eм򣊂vIX�b%J����h
_X��31/��4�xv
��p "ofܘ���\�~|�wh���]�yqLs237�^!e�'�
�6����Yx':����_�S����ꂼr�����$�󽋒8�K7��`�2+���L�
����|����yF���UK	�g�
ˆډAgGq=:oX�Ӯ��PՏXQC]2����c��E�����8ϙKO�yGuю�s�{
-�UC_���Ȓ &~|��i;Eq"�/fs��K�
k�}v�HI_z*���\��l	��Q��|eo�db!�uE����.��]��g�H�j�˚\I�ȳ�E2�"���
s����<�������1�a� �ĖY����^%6L�;�k5y�߹�~�=�dF���
�A
N��ZTAV����~毶��Őh���m`|����G��ؽ)Wp��Tfq��iԩ
>���1i
�|�/
-pPyb �ݰ-�$�
$ 
��<��pY�4�-���?�՛
�� �9H!��o�
�ؿ���@
_5���0E{��K��I�#D
� <l��
-�^'h�aX/_��O���;�5���U�/�����e�����ɮ��F��Ԃ�WW��� �Ɖ���2�zČ�a&s��55�O0}�Nw�R�M����9�U���Ro��&������['���
�S˂��:5k̖͔$�p�����
@�Xw
�8�l�W�q�6ML�l��Bw
�pHmS<���ȭo�*���=������Ө��g1oy�����i���'B�
K�ٍ���<�Z5~f��_'R\(�:ĸc�(nڌ��M�o�1�	nsQ���װ�gH�=���c$�w(<
-�
��S�)
�OƗ���Ȫ͍�~'6p-S'h�.c��N��n�
�qV�n��K��m�b��0@�8
G�/"��3 ��9��] b7��g�e�:
���U
����U"��֌[�\���"��_i���
�^,��Oo �0�C�e@��;��Pm](�=f}q	C7�tYv���ͱ^F&�}i�9Ǯ錅��{�Q�L:��G
Le~���b�t�,:R���а#O�;�F[�Cv�E�q���ֈ^%���[�xQ5�5�XF�k�A�
-wH�bkP�
-��Rnu�)��4Qv�r׬��.`0q��C�amdz
����_-Y���{s	�u�~/�--J��Iz�S3c�a�
-�$vF�=�/���/� hz���t ܦB<��b��m�!v����=*LR!��W-V3zmA�*�&z��eؚ��4u��]����z�:+}#W��E�
6�pHG����Ί�Ǒv5<M��`��O�V�;^R��t	��r����7a~O�$/�ʯ+w
�?
G��
�H�/S
-�\�����'�\�O,VP{�_�a`	u��L�%u
�<���a�x�Cg�!��÷Y���¦�
-��c�x<0�t�0Nl�F��o�'.ꈤ�~�%������\�����~	�zm�ݕXN�^)��{P��m,/O[0�T���'D��}p$#�f{��:��m��j/��
�>�m$��f%F��9O��-G�6�D�x ~�ۖ�
E6�m��7{��G����p)}�Pv�2�O���`uD��8=ߢ����/�V$k�?A�`���%�we�\\��<�OY���j�-p
��:J1���v��Q��;
1JAҘ�^/(�-�<5��$�X�
X
�D�E�z�5��#�c$������iO"/@BAב�NO����J���6nX�3�9�bg˜7��b��8��
��vVs.ηo(���{���_0����}O�?����:-�zЈ���8�jh�]��YD��7�=Y��
�l�6�e�WՌ�G
-�ւ��
�{8���3�|�]Z���DV�:�7F���~�.����$�>�dYT�5X���l�n�Xnl�|�����%���&���2��c�Y����w{��
��=1���"
-���]@��1W�W���fNu�s�
�����BI�rMc��r�ŷ58W�
���R��x(a��ޱ�g��`fǪ���,S;�B�j�]��7@���������N�nʱ�s�9��G
��f�7sO#by�KN�۞O���"�t@�>�vM����1�zH�B��n<	1o.Ο�?x���O��
i�0��c5��!I��<�G(s�U��̽\i�=v��w�;�A�
jx§��i��ӕ�D/^�˔���2��x
-8r�Y\�;*7(�]�b��Lf���%PH)��ɀ0��m+�v��9 ��;��
-����d~��St���T!&
-I'�dΖ��Yu���L�����X���?_�M�b~��y�������-z��f%�1e���ʰ�99�ā׃�DqW��6D ��
ܣ��E�nj�V��Y
-[���b��/�B��1֦pA~��c1�����
��V��%*��_��_��{��4�&<��R/����
B?�Pُ���m$��n�'�����έ�����&�k[��gҨ�����!7$B0S�\=[�L�N)y��a
OO�����Vp�R����]+�[F��À���l�����#2���
-
X�cx���X�ߧ�^,:�e͕'a��`�����X�Dq�u��	3!r���Ԓy�����_>�t����o��愭�x,����`�u��&8F�;��;鰩����,3��e
Ak#�d�_ĮDF�H�5^���> ��w��P=Bf(<W����ܧV��+�z�F��tR��Y�O���j��.�"�֝|�+��q��
E_�&sc��j}<��ȷ�|
�������:f�6{�����⹙�{���`K�Ö?~a*
��r5t܋`ͳ�����_��)~0��.@$��uG����ͷkq�
�}�Y�hc��ҝ(T�#U�W^�,/���5]w�S�@�RQ�3�
-H�ߛ��t�rZJ�
76O��b&���!�����'=
�,
��P�9�آ~���l�#��G W�*�|	��s��*c�t���.���Y�+�ڋ�1���x1S�=v�@V�xn]b[���so�"{i��h�
eo�޺[*��ݒ{[]�%�N:������ɸC.0C�HX��SR
�
-֪�;1��QE���
-�2�Q2�5��7_����L'�T�z�i$O��,��
��@O]u"�Y�s�Y�*�m��O�S��&#RƉ<m��u�fђ+k
�P?f��NP��6Y���A�L�w�릖0{�V���#�
�13֚r
���i��C�N��2b����ǢW��T����TCXp��
���
-��K��.�t5�����e
B���wڳ�M�#�F�a����վ�o �;q�
m�X���y(�N���򮎞.�
eջ��dTf
r�����&�Q9����
�2%{�D�
-�� *rrT3όtB�0!t�V��̏Pv�X����
��c��S�{�;
-�0^�����r��F���xhc�8�i3lt!��(?N�\$����ѫVo����-�i��� �Ұ6q/fܙ�
-�����������3�vy������Kf�Y\5��Z���V�5�4O����|��K~��B�S9����˵�$���i������E(�j��THr�S��$Z��b��q>�˟PA��CχIƧ�q��l�e��52�Pl|&���
x��/8��F�I=�x���þգK}�����T�q��h
m�H|Y>|���իGqTa�t����s;�/�����^�T	�vZ�4sPvL��޹A�$�} j�%-���z��d�9��4ٺ�p�Z�H����C#�`0ϊ�N&.�f�cʈ��Rs.�o��c��jown��4mQ�^k�>K����|\8�{�{��s� P�\�/9q鰜��܃
-�۔��/h�C\@�)J�@^��(�K��P~�ќM�nYE+mY���y~��9�햂ə
���(�)i+UL\�B|c��
o
[C�1y�X�vX�����gSU� ��0�9�f����_+�2v�R���6�����Fs���[�&�H����ED�T�g�B=x�	�R<�W��$z
-e��pv�}��E���$jTY���y�z[.�
�z+�~ UvG��`�R�<J��k
�e��&�-VSnh��O|o�����FO����l-@@애�ԖxO���zuZ��t�	x��]���T�E.*v^���D���g���']qI'܇�U�Dv�
����f��P
-S`�Q�W&G�Y$��dž�r7w�:xѺdD�ʯ�q�P��6u�
�r�=��%xr�
-�O	�=�5WZ�����Řh��<��{t�Y
U��3����E7\�[�6���‘V9�Z�Y�/��/b`�
���AUƎ`Ƭ
-5K����5P�y5��1�汿ܜ~[E��l4lT6$<6���J�p��<��2���*������bF�� ����E�L�/eF�����,�4;݉����ȁ��A�h�u���y�X]j�S��$��
�����"3<A���
���
H���]�aJ�홃�w�
��F7���AK��S
�^�
�	��ۻ]� ���n
�am�.wO���/E��<���ݼïk�3;海wk�[+��d����𠘡n���С8
�7f�U�����h3J�\���~�H�D�<���5�������`�39��/��Yq���?{i2~2��._�����؇�	���f*����������R=}�0�?͜ùR�+Rr^��޴|]�s��ه�Դŋ���.�^�_�>`�iϐ'4U�HHݷ/l�x�*��>�A_�q�`V��L�W�K&��G�7
>A��aN�@�b;|�*n��

N�
s֒
|}�)*ۅ�"�w4]|6�5d{9���zl����
�1��q���b������(v��c_�$����p�c���
�N�=��r�&-�[$R�`��_;���h��Lp
e��@$��aew�mLG��[���;=��@n�O����_հˋ�����yH�>��ȧI
�Pۖ��l_2	de����W(��~1QJ꒐��E�v|�|?��1:����֩ �R
-�J
���}< ~�yh�2W����e����l;YsSuy��N�@∩Ю6�ҳ��ix�U�g�R������RXW
g����

-���O��B��P-ϻ�[,��=�f�Ս�I�����H� ��8
-�Qi���ot}\
W����(���0��;j��4
��<yG�[e6s�V�S��_Hr�3�{t
��8���pB�$����	�7$�Y(.�CjiL��0��ᪧ�__9
-;�egȳX�똨E9�|�i1�T�b�o�������⾦d�D__�-��j4I������!1�Rye�I� ��8��3C��$V�
d�lN���RK���f
�F.ծF0��Ԁ���|�vhn�ɏ�MZ�N�Q�����X';��+
��6H�Ɲ�R#�Ñ;j�޴8�Ml�8�)-;��l�!���b[a�^R�z�d�*��9�:؀�{"��ғؒ(i��4�4ɾ�
7�$ɇ8�,���k����@
���uɅM��b�sy�C�g�f�J���F&hz��L��MDž���Ͻ.^�Bd��[3���<?P"��A�5T�
��r"�k����n�'�cL?�NUg_�"%<�����é��L�t�uw���C��ޮ/�f�������4G�������10o]
j��m��R�)N�"�̭�
�0��fL��VǙ�u���H-�D���Ce����
��z
-�m�6���f��o���%aÈ�ޫwo�

-j�8E�����`�_�#gO
-�G�a׎Nr
-��4T\m����7VB n �leO��[���}CH~�[ .x����޼sqZy���+ ��u
?��/�z
��S�S��
s�	��5
-
�LZZ��|1��<݆�����wQ>OE���d
4SԏN�t�ٯo�����Ɣ���UX�i��v�|*�9f7��0�'�~ml�k�.}ߔ������w,�ip$�:��E�|A��"�ƖI��)�|
�+��
�O�m,�z�%�����1{*�����Xk:J!���ޒ����Uw�9$O/.N�*C����{��ћ�2��J�Uo�ǟ{g�h=�
f����
��{��[�+����6���.;�|�
k�!3RR� y���
;fT
��w�wP����f
�#�
�.sC�F{��X��>��DZp+s�5F>K��ʤ:B���+�ay��W���9m�t�D�d�
Qe�����9���J�Pn�)���O0ڄgDi�a�ݪ�X�S��If%)�
�����,N�;N��&6��h��Q�~�Dl�����
jp~B?���TJ��=�:���~��S�Ň=Ky�4�:���7�HL���]�O%"���(�zr��P)c׶%�hpp�a���4�<y�
擆b��ǓTw�U��Z�"I�
�$���z����͹*ζ(�2�I��|���Dq|�qƍ?Tw�����{�yoz�C�}�M��``)���"A�]��>�_�eT��q|Rl����
��b��ذ�Qh��V��-�'j�[7_�>t�(N�f��V�jL���NN��}��ld;rC�oQ�����4���tRZ�Hb��E�1���=��/Ɉb���^y��KD]�)uk㵫p���'pU
�-$��H
۰W
Ҏ�?R���%���^��5o��r��Όgh�FH��ܟ��"�0)�Q��u(��<#�0(y���Za9�	d��n`�%ol[�a�%�dԃ��H��w�]��u�b&u~w>y��h(f�
-�A�I4
-�x�{�V��+d%K�G�
WV������W��U��[�l�S�,>��
��2j=5^�ݸ��߾D����+xh��&PÃ�?Pk
�ؿ�:9�� M�)drȢ�\�Nd�6��c�&������X�y��[VI�}j�"g��`5Y��
��4"��f 4&����ďÀr�s
@�|�R��4�1��~�#u�%�c�Bm�9�i<�F��j�>��U����\YH���6iY�x{\(�S���l znA(��K�!)�H��
J׉�v�a��}
�)�
-��|�6�N��=h
-
I
�T�C�V%��w����QAɯ��:%W5̅���`�Zڳ�#�;�L
��+wX:�3���O
3q����O�rQ�㋑����GQ+�E�^G�����j�V��Eh�V5�8 �G�84�.O��	a2L���"sDž�/y�{��
���q���u����� �H!���u��dJ�d.��j�,��RZ�j�l�("L+x���ܕ&k��u��v>���cJ�}H!�Z��^���ߊF�Y)tr^���H�
-�h��iǀX���!��`/��|)�S��\���Q�
�1'��W�s�Y�
-U�-��
b��K�����������x�̃fdzV��#��r�
��k0���
��G�]�6#l�p��Us.qM81�Ö"��&��q�����_-��D�
�� ��ɴ
�R�7WD����
��&4���꬗`�դ^�y����'�v
���6���
��B�{ʷ]>�(ӴG�R{�٬XB4�
�\�ݻ>ބ��ڝe2��S�\g�)^��z��I�^�	�
-ޟ*Y���
3� �N��VX��&�_�G
ѵ�%÷qA�J��^���|;��c��ݻ/$juF��r�ZjDEq�6��T��&(�H��%g�T@�''F�
����t,P֋bIScs~U��z�M�R��
Z�!�X�({�
�[�8!4
-�t�����~P���II����__�
�-��9G�����͌!����b�V��߯A��AύU`�b ��UNaH�I��-����O`���s"Ց� ��'DQMo�ڨ�r\����^�v�����k�E�EAk9��c¬
-��_��e������L�WTk�K]	��:^t��l0H��UCg���Ln;'
W��
w O��
	מ�ƌsqL��Sd	I��/���õ%�
�b��iT���+9��n��r6��z*N����Z��'>���q%��ݨ>R�[H�k︟ޕ�4�r��.�nj�ˋ�(�
�*�P�=���\&7��H��h�V�U�AE�k�h��z�cY�]]�Lu�Od�]D(qY�!6lta5�w��UuL�<�,�-�5�$��
�6<z��nD#�+P���q��.x&l�t�I)x���Tr�k�i	��{���u��k���
�

lj#~�ĄȚ>�L�:ֶ����f�:��X�~Y�cN� �竺cvt72�����8N� 
��tՌn��<�81��̢J[��%G���;�����
q�v͓7�ӹ�֒���h,�V���
A��U�oEn��<ϰ?Sޙ.E'
�
-��Ng�����-Zc�
t at +��[q
���+����6�����@�� e<��۷��0�� 7��@ȵ�[Z�(�(�23Qw�4��6
YZ���|�u�H��:|���Z=br��9h=��|~D���ɼ����ږ�|!Yd�*}��/=�;�Z�L&�nh*���TJ$0��Dnг���ZdߋT�g�
���;���!��F���*�x�+�T���V>�.XK M� �E���r9
-
�
8h]c>_�����
�:!���T�Ƿ�ҫ�'
o+NQ��s������dG�Q��V�F$�TX�C�R�_�P���Zq��q~E�<�5�'��q{0�
�<J2ʁO"[%}~2Ž˕"<�K��{/׊GKd��uV�������Q4�|ʵs)��ڶ�<�|��M:�I�

���xc�]��/me�i(��ζ)hj9�	�Q�,+Y�mv�z>����j�ϒ���.;I�~��ޛZL���B$�Q[q����v$ ���h��A���$Ʃf�����A��k�.ج���g$�=
g������e3�1�9b�pͰ�KϏ
O<�(]��k/�jw��������E��L���U���=��bɜ����xm���8�HA�lH��ޜ�O�j�	K�(�Y��5o�~�X�K��Wq
���ED�Fcq ���������� �M�ug�5%1��0��t������P��ҊLӭv����W�
�<����k���'�.�iG��}+GM̙�T����
��n
-c��y���5C*~f���v7�R��jli$׮kM�-��µ_����{&��N�P�fcM�Q�v��6�D_��qZ
	��9�*���}��cn
���]a�2:�T
��r붚.9
fm���
#��p�Ur�d}��<rOm>���H,~
6%_~��0�]G2��i
�h�‘�'
y�>��L�>:.�{jx�� �8~~���U80����?F?�7-i�A�!��q�
�H�
��`�߃)_���jUU��Ǩ�]#��Hi#|�I�,7ĥ��6��*����w����
c�Ϲ�ŀ��S�4CB�`�|f��h� K��
�92��pA�����;�䮃�3ѥ�(�2����O!8߹N�lâN(���ru�@\�
m�fF��O����K�� �ʘ
d�A�X�ǿ�����d��Y��'���6_��V��6S�����a�E�"42_
꾃,�u���ny��"�Wn���#!
�����m�\o+=�2��LK?�'\�9
�����R�
�"oT�!|��)a�,�
-���������U8��
���
	���R�6:oy
�2�zTF���
�`
K�3�Q1d�6�8�$���2���i���b9z���
�&͑
�e�6���?��P6
��[�g�H�-�z��Y����!�F��b#�>a��_����_}"K�<
-�ڊT+Ƥ�g�x�
�������v�
�
-2+�e_\"����(H`�2ٹ��sN�`@��:.g��Х� 8�1�w�X�'��fm'
�p���6���_d�ulaY���x�+����bP�eB�%B�Dd
]
/�6�cX~5�2��j�N*�����N�7ۡ5HM��Y@�5�H��g�[M
�$�+u
TB��7���JG�������8/3B����W��n��iyT�pR����=�u�C�Q
�VsM��b�	��@��4�R�W%Qg���zi�i[C���]��꣋8�
����魭/�$?���
b�v.��
�/\~@$���)
O
��������F��Y���|UR�}�m߯Q� 1�4�m
�N at k�v�pY�Y�;��$�?ļlmk	}Ԟ���4L�_
�;\so42�ػ�gC��?J�� �=N�D騄�4���o������Q-�|WZ�A�6���Ä���\_���"��FO���i�3�5���N�����}2�n��m��$�O�P�[G�u����A�SI���\ٛ�;l8S2�"��a�
PGO����k� �i�k��4=V�d�@Cj�:1nm���'�ͫ
��˭U���OO[����b�i�������h�
��߹�9��}[���K�
�NS���C^��*�A� �g
�!m��J,�AT��PateL~8C$ݞϓ��R8���pi�W�]�|�ݮ�
��a�
̷���&g��6��jHf��ʚ<4�iΨ43��r�zR����q}�wmhCw���
_�+۟��{����x7H���=�7,�N8-!�K�ߕ�ߴ5���Yv#'��5��[�đW�d�U�


��bD�y����5�ತ����Y�X~���� �~Y��
-�F���<H��ǐ<%�e`.��u��s�B��r��������D��ӨÙ~q�b~dx��k2:�r�4Ua�퍪��霆�
-:q?4wc�3�
g&��^�S�ު����Qy
��]����f)�>��veh�Q!I�
�g�
{_�u!`U	{��Q}�yNNJ͔_
�ʬ3����ɏi%AjTb�[�����F���/����VokO����ʎٵ�1T=���֘h|��@����\=��R"JoվG?�|�1�n7�]1DZ���bg6�ꮕ���
�2V���^��
-��CT!�:H�ZTp�~�:�I �_��8S1J����#9��b���}�7�bh�����Gi��~���
-�o�
�n$Ȟ����NV��J]�i��e�R�${
���{�<˵����C�d�QL�n<�ء�w��۴m	b≵)`f��������W�����,����
*F��
%|�s|{�x`�mu��흎t���D�*��O�P���rJ�6>~�V�í%/qs�k�^�
5��ͩ
-SJtIE�7a)'H�1)f7E͝j
���+)$���vg�D�j����60���r�3C`�
�N��
��s���y�"A�eG!5�+��`F,s=n�)}��pz�-%|�G��]�b
F����(�O_ at g�p������<�dL
.9��
�a
o�V�}�/o���3���:
������
�����8��q��(D �[�b�v~L|�YVLԨIZ�7�X��tL��׬8^���{�
Yj#�-��uTH�B҃�:�HSM}��fF�(~�XLjD�v/ߟ(E��+3��
-=�X���0������k%��Ӣ���<���Owޡ��&z�_�@��[�
#���	V����*8g�L�p�p��j�
�f�/ Lf��� 4���Дʉ�oם��X})HL%�ߗ�Q3���i霉@옄1�M�m�PY�*�r�
*�@����X�����@ �
-o��X�@(�3���R�5��
-O
�*vt�ߓ��B�
������Jv��_޾(�=|�4�A��.kf���}{}�Ƃ�a����W�1�]OA�$56����,��]\�S9��ё��c/ˋ.A����Cɇқ$�Jn�
`�Ė��yZ&�
���]B�
��.J6jkneN?z�R��DC�Y�RC{�#� ϳ��ׁ-z�~�� I���d��}�H���`(�./#����(�y���B;\3k�M�~�'�wJ�t�m^Dd����`:F����}4
�m�4�G��	
����
Qz�Y�M�������}�g}�c΢�7.,<u׊Լ`����q7誢� UP/k
�3]~���j�:���o��a��HR:C��(-�P�I�v�%���+<�^��l�H��z������K��-�L���`�stE䮼R�v����Rt2?�A�ƃ�kR
Hl���a5��W|xT������6�%�[
-kO�:5��2fjZ<�<$ԍ�٦� �2�{c���ZK�l��K�C����
�;\ӯ�.��8�S��=#e
�#rgi��_�����}��wڮ
-����R�.��$�w��r�{E�2\�C�8�8��]�V�
-��r�L�L?�n��(��Ѯ����Eƈ��
�_8�z)
F?Z���8l�{)\��!�R�
-6��kO��^S�) �2+_m¼{��;:���)n��TS�q�:���E%�`�~(�-��R�ַ���D=f�b�-�|�|-zT�3����`�?��
9�=�q�q��ް/���{֎ֲWk�߂���S�E+��{BVQ��.��3�1KB��	3�����2`O����� ��
c�1��3�Oa�[�E��5㕝q( @R���4]�0o�"}�8-3�Ò_��"�� 
���+H<P�q�m

��\�
I��-� n��
68$�
g����+N	����Ԅ�>ɾ���'�E��
��ڢ���νd9sss& ��,xX:eP�)^�7]���G���\Hأ�O�Ǐ��>ظ����n�3
*!
C�9�ar7�#�

J#˕��=U2m�E�OG�e�)�ǁ�#�W�-8�&���.��z6L"b��
�,Kq5�sJ��S��~�xo
�
��S+�a�M����L�Ew�N��ȠF����q�G��c�#��~6��	�T�������)��ټ{��!˓Q����F
��:Y+�"ט�Hx�!�#c�1 �j�"೾
�3��x|�����07����b������e;AG��ʊ��)��6��|	��w�tYx���7v�f:�g���X���Z*
{B�l�/�%3FW��Z)�.P��6���ٜ�
w~0}�,�A�E��ȑ�7[^<�f!T�M:��OoF���'ÒiȜ2;G;��9?��D�2����O�J�����~5ۗ�A�(�
}�k�z��X���݃ǐ�
-���I���['��CX�X�xX��~D
�a
 �wG�H��#ž�
Tx�畫�	��m\�,
q�;���
Lx��r=6�
8�]�i��4v��K.J��հM����0�3��8�q���q�b
-�|��Y�
ݥ��9y
<��DJ`;�*T��C���ZfH���=�"M�Z�s�-u����Oa�k���j8��������i�z�
P����<PmM$���m��X����
-��|�U�*�Z
=M4�Q�;�u��'ȡL�5�bYϾ������}˖w��[��'ƻ����%V-�w
)�J,�\Z>� ,��KS�k�O�r<ڄ�́#YJB�?���KQy
�#�%�:��ĉ���D���z ��봳��J?�=��g��I�iS�56�w���
-�J"]/�8�G;88|dǠ�����4{���P
���/��=Q�c��&/‘l����M����<0�_����b��qv�Я���m浖dn9�
-�:����?0T��
��k�3�ҟ~�}q���6�m+�w
�H����%��ncP�I ���� �!��>�$��`�}��As��d��3�|�
-č�D��w�>s��1(w0둪bxK�D��ŝ%��e����]R�P�
-
F��z�U��c�̃�1m21��UM6#w�Ct���wn�:�����J��ϭ���X��ߤ����Q
�wiNa$
~
z`�"��g�~�g��#>�?����u�N�
�as��<VP�2�!,8���m ��BGxkG�};��c�p�u�~ʗ�����ߵ`c�q�L��iѥ��6�+E���1]!B���G��=y��ڏ�霙��cT�MY��0$�</���]�;��ϗY��(J!n��
-
�5I�-���]��`##���
T��x0%��J6�EY��
�je���{��1�w�!Ħ<�-{��j�g7�����AjK5
N�TX6����m��K
ɾ֥�җ�
9�<�����jH
�9�'�{��r�ϔ��V��s
v�د�mV��4<if�7�^�V%���O4E!�@��VĒ%���
u:
�{�L�<�$�
{%g��Y[V@���-/�Rq;��긯��5*� �
-b�����f&��&sћ���5��{�&
�N��X{��	�܆�z%q�I��qg|>|_�b�~�����{y	j���G�
����To�f)�$�
S��zs7\��~�3.��Rнd�[��Z&L��7r���Tv�7D��Y�7��~�}jQ�e=N���ΛG���~LN(�0�V]����
�N5+��YO}U�J�
׺5�`��� �; `�M��v0m(��}�A�ab��"g�!�Ā�ƌj����
g�Х/��t9u
-wi-�ڬv.{>��{�\�ԆŠx�XP
�2{^���1
}���oz/�p����?�qr<���s�d�&��G�-a��
k�͑m�T|K��ʆo!�Y)rd�9��Q����?<�=�������q���\?E�c'�Xc\j
�i�2(�<�<4��b6�z�=?��d��+���k�
Ƿ��
T�������}>U�b��Xþ�b�O��r�$�1$���vm�V��
�a�� .��ɦ?�떱��;��5�.�
d�M���@0w����SO���Y�/���m ������&�2��ܙbtۄ)^�C
��<��w�º�'W	�XD&rI��CO�1W�u�YVu��Q�Yq��������1���2k��Ϧy��&��p�V�l+�}d$q+
&�`$��D<���r8�!8��U( �\9��#�
9�h̕�eYR�<�K@?�dJg�O�I�A��8�u�?}ZS>
��Id�˾l��,�r�ːk�g(�OߐQ)VO�#?�T��})KP��
��K�)�G�iY�ƹN!�R[����v���[&�M�eh������49�s��P��CD�*���?%�h�Y�3��������W
F���S�$A;/h8/k��j�v�ljԻCt��
--+p�T<rI,�
�לH��€��cm�%B�K�z�P�DAi!W�+�CD �j*�ƶ'E�H�F����
-Κ}7<W��b2we����
c��euF��9�]��*���QO�4wD�k[�Z��qcH�bkP�E�j�]�[�Y�n*$��
-k��PM�V��`�m�e�hq�l
FB�P�����t�jX��M���t�[����WOB3�U��iuCm��� �-��-cnߧ�Σ���<�s4^�QB�_�3M(?ҷ�éQ�`J�w�@������]sݙ��\���å��G�ގl����Wep�����E#�x�����#v����
���
�W;�c�j<�$�_If��TOͰ
��B�
Ws�ɞ
pc�4
�8�]5y�S-�q*$�w�}$s�f��F���A�_�ǂ̻��
hz
��
���Jj���o
�*�`���U��d�71Ô��ݑ
�]h?Є��L�T;��!���D������f�DAsX��U}#���9x<�@(s_�(�0F��zͅ
K�� Vz�
����?�S
���8+��4Y�
�1#Cj��/D;kTO�bB����"�Lz�*g���o�'�m����(�JxT14���k�+v*����^�X�G���eߛ@�B�g���q4^��K���0��妧x�'7E���_]Z�/�{�A��ܽZ�7
6�Q�����:���u�
a>\A��R����̟�gZV,���l�9�7U�ڜ9�h�6��ɳw2_�O[Z�/%=1ߑ�j��Ў��m\���_ ��
��&�� �������^�9ۥ�c>�"�/��׷�ImP/��稁@�B��[��At&���5��q�j��2+>�掞�hI
�7��oM��4�l0��E>g�
׋w�c����I�ɱ�@���
q�MI�A;�@3A��1�����Ə��H`��-Tу�6��G���o�K�r�&�R�Q�+"��<F�
����� -�w���i� [...]
-İ���| w{[:�z��x�׈���o�7�w~1�8
�C���L������#]�'�d
-��z����esϛ�$��F_΀�RYʏ�}Ͳ�,3f���bFI�
z)G��t�IM���
-�J_�?#�z�>�d��R�+���.R��Շ#�1Қ�3�v��/���73�0���<�M�0~~Ei���=�즑���d�8��~��xJ���5�B�}ळ�x�ƙ��Kz���'2������[�
~��ِG�YH�Q��=/K��AF{�i�pwq��;��iP��Cn��.��ړr

V�r�@�
�@�,�e��7�B	�wK<��零a½��f^��c|���SOL>͍n����X����O QI1�$"��H	�)endstream
+xڭR}8��N��vv�U�v���Q�sf�03��1Wb(T(���;�m�
3�0��%�QH�u��B����|��Dm�h#
��V[�΋m�:���Ϲ����羟��=D�m^d�@ʃ9R	J�Qh,��bsiT`N��DG
��T��0
Ь�-�
h��j͢2XT*���T�<�1
9�e0�rD$���h
���
�C�y>
���!1��UQ0
Gi�J���P`�h<gf�?j [,�sr�	�aY,��h4 @�(��"D�3���E"�˅�@�
+�erl8`�
k
�QR�X�5.ę�K1/�����bq�B,v��1��m�
���j��òń]�BK\X�(��.($F�l�H
�B
+�s%,؆��  ��rx>K���u����x�;o7��
��m"A�U!�α�c�_1����*������"3g	_*@$"`�`H&�T8*&e�`�H@$X	`%ֱE"E��@�cG&��=�9�aU�pB�
������a4>,�O�}F�2�
+��L
�lA4*�b���
+�
���W�-�c,D��°��z
H�6q��*�K����i�h8����/6t�}�0]C��m�P�>��Ty.?�9�m���<�6j{g<&4-���PX�PnD����\�j0D�m��W+�'�34<����
�-����e�p�������zKw�]j̋cZ�pr�;�
,�<��CK�zõ�[�{'6z_Š+��^Ik���Vd��y����_�.A�2����^��
���2�h��O��t�.\w���N�ӷ�7X�bH��K��ϖ�
c&�A��a�e|�A߁��
+˶#n �3�\��(���'}*R	Q��l����d/��>uk��s+e�*?�h8y�R��ޭ���m�P����ro�Ov����i9V�O��:=��t�k�c�Nt�3GM�l
��U,��mb�e�C~�
�a]$��s)��ܒr��u���M���3g6��%�;GG�/�4��ރ��
ޔ����Wc�v��9J^{�
�����j�j>~�K
8�*�2��н&
1[B)���y֬2�k�ٺ�l���hfg8fBq:���GN�EDn<{	ve,��W~[[�L1V�W��Q����
UJ�v��;I�
�i��z�
�X��
x��f��(u5�����O�?�b�\���w*�	�aG>�>1Ja���q�O C�;R^8��?�E�xʮ��m
�W��\f���CY{���2��]��nnA
Z�����I5�
/Ѯ&��=�r|�
맯��"��c�Mk|�lv��ʻŦ`s���s��
�~8[t�
�����xAW�9��p5�|�뻷�]�/��i��=?m�� ���s�!v
�"
+C+�l�Kwy��ƒI����^�N�[9ͤ����

$��9o
Z���=��W�
7�s�)<��E��*ʿ߰0Rt)�&�Y�a:+y�W?�����N�C;+��~�ש�7����7���5Ļi���zL�{WFĬ�٭�fOܔ�._od(�$Z�ɇ��h�Tf�/n=�n��0��he�
!�h�/c\�����]�
��
����4
��\�H�W�����Q��O$m�2L��|B�أ��P���L��3��j�Ē�ÓaO�;J�S�w�u�h׏י�]E���l�v��7zW4Mh�q��a���� ws�Cn�̸h;��i?���k��U��訖���<N\���[u��y+�8x���w�۲��A�&���jP5�v�
��<�]�y"��7
+��
���l�3
����K�tޫ
Y|g�q�s��I���
+�����c�
+endstream
 endobj
-478 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12198 0 R
-/FirstChar 2
-/LastChar 233
-/Widths 12227 0 R
-/BaseFont /WVOODI+NimbusRomNo9L-ReguItal
-/FontDescriptor 476 0 R
->> endobj
-476 0 obj <<
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/FontName /WVOODI+NimbusRomNo9L-ReguItal
-/ItalicAngle -15.5
-/StemV 78
-/XHeight 441
-/FontBBox [-169 -270 1010 924]
+12233 0 obj <<
+/Type /FontDescriptor
+/FontName /NIRNEQ+MSAM10
 /Flags 4
-/CharSet (/fi/fl/quotedbl/ampersand/quoteright/parenleft/parenright/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/equal/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/bracketleft/bracketright/underscore/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/quotedblleft/quotedblright/agrave/eacute)
-/FontFile 477 0 R
+/FontBBox [8 -463 1331 1003]
+/Ascent 692
+/CapHeight 550
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 431
+/CharSet (/arrowtailright/forces)
+/FontFile 12232 0 R
 >> endobj
-12227 0 obj
-[500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 420 0 0 0 778 333 333 333 0 675 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 333 0 675 0 0 0 611 611 667 722 611 611 722 722 333 444 667 556 833 667 722 611 722 611 500 556 722 611 833 0 556 556 389 0 389 0 500 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 [...]
-endobj
-410 0 obj <<
-/Length1 1501
-/Length2 10189
-/Length3 532
-/Length 11099     
+12234 0 obj <<
+/Length1 920
+/Length2 3636
+/Length3 0
+/Length 4260      
 /Filter /FlateDecode
 >>
 stream
-x��UT\ݶ���[p
-w
-w'hpw(�p
-'xp�����		�
n�5�Ϸ��+�׾<��Su3�����;�}�6i)U5X%,
��2�7V6A����<;����
��V�
r�q����
� w{ '��O��K��� ����bce�`�b�g@��bc� �@n�`��� {����
�͋
 aoP��W�:����`C�� Xؘ���V6�?��!�� ��
-[�;�O����j
-��/���W��{/������~������,.�no�
r����:��� {��^�����v(9Z�] ��T�_��6����w�ۘK@��� Vn6v���۸��x�-Tm�̭� {W��`��:y�߿| ���dt���{k��T�@�4��� �?���
��I.6� v6vv�ׅ����2�1i����
�
-���
 ����P^�+� |8 6
�' ����qt{���?���
�?��� Z�

@�����  �Af�8@�?�
 �X;����@'k�3�k��?���1�w��O�
l�'���Z�u��ş�  h���3�W
{�����UW{����ȫS�&�u��
� %�Ы9�?�jH���x�o�{�.��^%���@�?�ZS����jS��VQ�C�����kM����]�]l����ur� �����Ӡ��8��.�/|��
�����E6�ۿ�Մ�_����_6��
-9���B��k�\��W]׿�U��/|}\���U���|���
_���/|����
-�ۼ���\@�}����JJ:z��rqX9y^���������-4wwqC���b|
��aK�׷�	6GY�w4
-�Mk
-+��.�,�gt%�(	�
-m�b;Z™ui���_`�b�ڔc�
��ZX��$j��
�� �.b��1�}�@<5?24���և��9ro�b۩������G|��_>�q\���ӥ�݇��K���;�(F9�)`�������d


����~��}^"�[��[A���Q���yDfg��C�ȴ�X��P�D"���� @�Pf芶��S:Aښbآ�@���K�ӑ׺!)��1/%��-"����w;�Bz÷kԂp�j&9E�9��Sh�M?�^���]=<�ݾDu���PBV��0�g�y001����D
Rꁬ���$���Pţ�9��m���)t���DP/q�
�vH�eQ�g�k�h(�	%����?;����4��2X3��\`
�h�)x�[g4�"#S@ӂ丸%��R�TK�p[`
��;��˺����7Y� ���G���T����^2��`�8�_�L>�'�]�*L�&�+��	��,4}Y����Kߕ�9x�
 ��	Ԝq���v^I�
X�$ ��}�fb�Fk2Rq��� [...]
���;�Ÿ5D�מ�I<ӄ�>V/O"'R_��-犭�ZV����[�t�v{qx��Y��u�ɒ	�
sn%Ͼ'0T��
��|
�16eaN�*�鯱��O{�_���eL&�(�Eo	Ҿ�G�x��-y���>߅2��ͱ��ȆPH����{�o�o�4ё/�i��
�
��6�IuS)V�u�*������|ܒ�l��JX
`a�y9R&7�8���Y�M'��w+v��T�V`H���<*�3�'���Iy=��{��W&�#3�cS�sd��α�)�%���˩�͞�Imz �z�խ��'�s�-Q��j	�'�vy��t5���k�_l�{�=8��$ӆ��0�
�=X��
�֬W�fF��5YC�Y�˷>~	p�=����ɉ�3���uE�q��Oh�=���]��*�����y��#�,oް��
��H�S~�7;�<��l!�	�	�Z.ͬ�\���
ǽ��Q�
�'�T�f�2�


-�
-ަ.�E�G޸|��Nd�$4��]�S���C�������Ļ�_�ԇp�[��u���pE6�;��'���ym�/���F(־����1���3�fѶH�K��j��Q��y�N��L}��!ˈ6%���~#����KZ��K:
-QBCo��
w�؝&\#?,j_��M8��V�5r~���*�A�Z&Q�$���+��p���m
�,��g7Iz;U��O#j}�⯕�$W�6g�1�r��V��?���v)���,�[��ta�nVA�
A5�|�<
�d�D���ar�]Mbq���,2U��o'UU$v��!M�e�	b�L����r�i�tN��//K�
��pj_a��P�
������2#��l���E�����nh��D	9�k�05�u���B���_�3}fw�
�� [)La� �'�猷�H7.	<_�M:��Ft�J�=<�rK�1���U���&g 
n�*+-��Z��(?u#
�1
z����&O�|g8����^���hniBHNTwe�����B��0��U!������1ffl��k+��:��ܼ.���y���(�JU�zf�����b�O*v�e�
C�������y���v�����}>�}ь<�X|�ם��ʌT"K
-s�$�˨;}�=ٷ�F{[�8�1���W�Np/B�
N��栉Z���ʫT�Ts���f+Ͻl�S��L
�OS��o}���~�D$�X�6�w���ǻ6Ƥ�O/�ì`��,�Xp)H
Y!���!(�Ix��vn�4��^�U9c���G'�I�Y�q�c���dL�˹�4 7��d�)�	C
-�����_y��>j,@}�^�]���D\��VO�]�<�U���is
M��� %��
nk�αg
o
	�7ճb��jx,G���M��=�v�N޹�����rX-��9��獴�z��Së֙k��[v���<�ER��E��<g�6:	»~W�
C��-�o�xv�%�8
|���滌̬
��w�ƙFG�Ce}r�ۜ*
�ܺ��M/I��+:��/�y��!IV�1p��?���ѣ�0
-����gy+�u���*�ב���L�$�T��9������y�޾�� ��TN%P�Vl&+�{�H�y ~��K�8�@��l���M��o�l~�J�k�X�c�fXuZ
�
n�=m� ���rp,8�a���YHO;qZ�
��@�Iv�ń�s%;}�K���f�
-ϸr%f���ndH�`��{�N�����ʏ
�h��hA'xD��ňh�J}%F|Ң��
-��)��
�^]v��(�٥S���q���l���$m�,
���s�/�Wd�ל�� �y�&A�`�5�b���#ˑf�%x��!p��X�~+�*|

-�<��'�g���XM۸l2��d<,u灋��|��Sa
2����V�{���<��
hra
~�քV��5>���*x�(�ݸ�a��Je�i��ľA�
�ҫ��z���3
-gsC�lH���.W
�h�LJ��
p:m}�(�
���3���yG�ۗ\��<E3_l	P	[y�]t|Y=g{z
��7�b��M
.
-t��0��oK� 1��"0��
+{ޟ&�Jgg��,x�6����P�
<�>
�1�ՏmS�@)<���_}C��|��k�XA�̲�s]%�����5U���T�=���,�����}��Gux�(���v��iB�e�jv�]�v8î��}��(�%0]E
�nYEꍞ]�"����e�Ԟ*`
��V
�aoF��e�]g�N<݋��H�����a���X�.���,���v�;�Oj�fU��ڊ^_�G�T��!�a���(�[A
-�a`�<k�����k�ԝː��^0��<1bV���
��q����W�w�.CI��.��X�d{��V@��bL$|��:����,�G C-9>ؐ"���p���V����3KU'�'K�2�X�.�֩veL��
�
4�y�;��7�>P���"Dr��mV
-rI.G��21�o
�k�
LJ�#
-,�B���"���Q>S��?}2A�'O
-���	ł8�&*^���UQ6�$�W�:���z��p�fb �?^M�ޚ�\�sD�)_�
 �K� 0?�:��:<
-+^�F
q�?�"�K
��
��;�!z.�BF�qׂ�>����|�~�m�&rukN�����Uj+39�V#�<��ײX����נ#�""��[���5�
-Ea;��1�r��
;X<c�t��^�&A���H�+\����9�
�> P�w�ċ!�����G4n���}r�����ȦA�=�5��A�;\����.���w���Uz 9�،5���d(O���P���0	n �>�9d
-������c������,5��0[�������2t
"�K'�ח� �U�
�6�y�,X�Fl����F�x�����0mh|YjW�1�v�euT������f���̔�N�&V�^�~
^}^����SF �/����
-'�j����5'(��
���:#M
-�;��
dzĤ}5�5o~5�RȈWY)��pqM�,#�|%�X��� ��C��ʬ=�Oܱ�`�u�_��7�:��{�8$��v͐Er��a��T,3C�y�v@z��HP"�TI��hZXf1
¤���W	��mMc�;xwy;��#��F�8p��^�
���Ѯ
}�H���x�iW
�r�Cv("c
�kx���4D���M���/�:�\�t�G7϶m)��Gi'��������h}OƟ%vI�Ͻi�{�G��Ny=��NN:�F�e�nhz��:8?	<�e��p ���D;��~8�U�JQ���}Κ��)13�s\@�?�����0���5R���h�Ǣ.�_���1
�
�I9Xs�(���{��
+˪�Β`:�Č�
9�k�D�
Ae�����[j�<�(tKj���D��3%�ל��|аs��e�)�
)
K\>�|z]�ǘY��y��A
�
�f��O�G�FAw��M������
�
-a8�$�<�˰�J�YFj\"�a��7W�I�y|���c����R�79^r�Dy���k�hˢC`����aR�+'��Ǐ,��
\����vDH@ZW$�dY�VEϱ
ϗ�#�A���oL�D��(��_�a:X�_p8Yζ?8q���
�1�
0k�s�a���(>��
�0����)�
��QD��
޼(�?�^�̚���|7�����Z��Q7�Y���C��T�je]qbb��5�	���ͣ���W�zR+���c�9�0��&52Y��%
�s��
��|����/P汞���Fd
G�´��s�~#�AA좊���J2�Ñ�w����s��?�����U�L�+"��m�`A��)�؝�rS|B��w�����m����!�
-*P��{k�%%
{Ȧ8L��ԍ]�wQ3'.~8om��z[���`X_�3 �
�Q�t�+g?�!˘��)yMss�h���g�j���W��(r��OyoՊ�n��H���ND���0l����ҁ#]�Mh��`�0s�
�D�?"zߐ؀�
|�:M at A����t�ϵ{���~�
-�Ǡ^���w@��-�u�)�]V��LӉ��'q69W����LKi��.
S���&==.�	�ى�>�X;�2���f��K4���ͮ� 7>�

�K��;Ǝ���h�
���U��_��5[�a`oh�.�p���q�w���
�����T�\8�
��ք���Bgk�qbr
�zV;%m��Ɨ�$�8:�N+�n(�?t��彣gH�3n%��G%&Md\5�
R�#^O�J�|�=�鳐�
���:��gF\L/�����]RVU*s��k��=K�^�Jn�G��h+���q� ��!e�(ap���E�6�f�L��M$fZ�_�z����*|�
-�#	�)'n�;.��o�#K&r�LO�M���}���l#B�EM�0��>�(�gD2��E?�/�r��HtM7
-S7�N����fl��NW_�k���"��'���o	���9O�{}����X&�*���>�v����;�	)[��F��(��p��|��A;΁��*"��&z��3q�n��l$L�=���J��G���t��2VCL=���3d�
��]R8��T����I�"U|�ج��
pu� 
���I쐍|P?&�֡{�ʣ��O��������PJ���=J7���K?K,�v�>F� 
-,l"=N�i7<�q�]�-w�	_�ҹ�������c�3bAa3
��G�'��Hׁm]�|x�mtlɻK�y�Je�.%���~,I�?fp:jfA)�Us	�d*h
��hHI�I�r�{4n2�w�b�ο��%��b���t��� <�#E>X�Ԃzh�O\v�Ͳ����T�&^�	���:^X'���p�|!(�[�^[$��#� r�^~�Q�/���
5¦JĴ帤�xD����%��	v�+
�����G{",j���Y@���'�O�
��,�%o�c��fxt:Xŋ2��Ҙzܒ�4�-��
A���>i��5R�WaE��m:ً&&\o�?�i�Ѯ���ە^��<���Gr��T����v@^#$j�h" �~���i؈�B��HSf
�>s[��lV
��q����3k�JF��O/���1�U��(\
p����b%�\k�\��>+���H�t3P�!֔��2W�kU0
�q��\c���s��h��o�zs�qX
-h�Y������
+�)���X2?FfFyAe�ƅ��5�lo�,1��1J�vTo����i%4Y�HJg
د�K~��E� 1֔5��
-�{�pUo�9����=�
oWMt�����d-ڼ
����/���k����L�A[=�	��0然���o{�c��W���:~F�vMޮz?��M�
-�z�eP�5���]�G�>ޙuIE�\���w�{� �s�*�_�qz��rh��?0�
-v�
>��2�8��[����,C�W0/���N
j�SX{AJ���9!M���]��9
�q����ڏ�|*I�˩������˕��O�*3��8rd6A�ZY��O���9"U~e]LW�d��m�b�y)��`����>�E�0|i}N
I�M�@��l�ZqV�	�9؜a�uWr��CΎP��p�3��38/�X��n8�)q=� =y%ɪ[�V֡�F�‰���x�.m�
_<�4�����}n}�<5�V
���ɣK�.��Lޜ���
���m���R�8��r�'Ӄyc<8\H��"�)t�YF�b�:�C'�D6Pc����6�6�ᓌ*V�Q�k.[DqttK���qݯ
NB-�#s	�vB&u?���ֲSv"ev��ͥ�������Og��Kdro�t�Fg���UL'sP�D�fAЅ?����L�%���=�Y�+&�ټ��z��c0�Yw�'�a��
<����W:�+�u���u��{����ʼ�s>޸6��M0���t�(�0�*�fFj:�
-���6E�[�
bu-V�1!S�k�����k���^TO�(8y�;���?Q�i@���5��,����B���ӱ2$����8�k
�2)
V��Nߴ�:���'&% G�h
7k�L��q
u2U5N�޷|�k1oEfr@�r�p
 S�+�q;wg�d��/t��
S��g�	��
4LR�O�6Fb�c�؆�����Z�2�c���$�
�T9���r~�F�!��5'����T3D�J��
 ���"��b�-E�ia76k�Q�sM"U�.��G�/� �0�u�E�
��`��^������g�Ϥ��M|�H
�V�<�OB�d1���!�����
��3�I6^~Oy�ԛ�5�(�3}�
��Y��Mn"SaԽ�~���E��
�
Y���M��WF���@��Yf���KKm��d�Q��Ņ�����X���{؞~PA�[�np���@���+I׻mxdD��m�Cb�I�g]�\�-��C�y��vjm^����Ѹ]ٗRj�Q�
X�Ԩ
�j|��
-��-�0nP!တ��z����"B�OQ��ż���i����r�~t��r���)�.1g�%�~�	M�Q���I��:�ф�t��d�����_)��f�����}JK&6?^�x}�{�@^QG{���j�I���ڎ�k���2"�X�{��UY���l��!��f�\H˦eq`$��F�
-J"÷��J St� d�tO�*+��B��
-a ���!2m1Qw>��Z*�Ԉ]�}#���<��&
-Q�[�>���^w��CT7��ĩ�Ā�u�:\*�=��-���a�@W��ϸ��w��^�@v�&��lL�T|[�n�m}MQ��?
8��4�ؽE�����O�z��Oձ�κ&m�1prr�6!�{�	�
}?(s�eT��P��(k��5��
-�
Ex�x�W��
�B`�8�ԉ=j�Ƌ)��{3qޛ6���Z�暈T5 at Z�Qh���v_�=G� ԸW��/��-U7�Oݬ*��dؖrr�m��򉍿�sKG

-;�9�ӧ�

ͻF����g�9NG㾒��$�{�g�)�}zӌ�[B�n��y���s@��nF�\+��m�A2��<��3'�Qtְ[�,c}�?ǔ:~��1��ISm���_�i}@����M�|��캷�hU�T�C{�)��'-�Uq�D�IG�~P�T���0��q���9f�y"!=���nEr�'�
�*��d}��e�{F�=B��*],���2��_џY:#�]q;]�
g�JM�͈�W���z��B��>��I�Aq���G��!Ħ�>�S��[aIɐ"�Q�SjO�4Ӣ��u��}e��#�$�ᛙa��I��r�	
tӜ�.D�E���3ŏ
%0ҙK�-/5"�T�˓��W����}w�b/��)i�~���Hn
x��q�0�h��o}�k��r-և�7� �p�W[�>��84?-��T��a�vo��䇼^%V=�A6E��S~UCD
r�$4R�$���X�呁��3���s��Į=�����\�]C��Q��8;A� 	�i<7
-�)�v0MM+7|/�3��n�=O��+
�a�I8��
-|E
nƖ���&}qG��K�d�pm#�D���t-�n����اj(��(O[N�l��^@�cbX��{��<j�4~�ʅ;�p\���ii�wz�2�����!W�!�����n��u*9�j��o�U���;
��)��N�6���B��W#�oN
���Z7�j��t��++3��"��D7���c�n
��ʕ�#��d��N��GMV�z~��෶��_��Z��̆ޛ���a+y���.
�6
-Nr�i;������k^B�s��ڕ��d���X��1�0�m��bp{�-S�Y�UԦ� �����s+)|9lX3	�o�������X���%��x��C��2?
؉sP�������
V]�X�
��E���(?��9|Z�<��Y`��0i�
v�� 2��?Q�S�R�;��I�.�[�zX]��q>�#�
����'?c�����Y��^�/��Q �u�?qB�/%`ډs�+��ԗ��eC|��Գw�
\�%�i���P���w���
-��̹��Sv�,ס}C�$��M�h�3!6go�]�
����	�a��C�\:=
�s�aՔ��MRS{�.��k���bs��-G,����"Y"����bz��!���-[��L����<;}�@�,������2w'b�1�ЉӒ�+F)Zo(�43[Xr��ͣ�g�!��
]1ِ7��F�To5
�}�(h8)S�s��A����J���(� -��A
5�������'���i�U��io�"�ꖞ!V�Vp�U�"l�
~z�v|��ފUS
�$��'>����q���b�_� �u�^
?�m�
�U�k5'}�bx��ߟ���H�M0�p�&ш��c퇓ɆR���)'9�B�y"�c�e��<4��4�M�ǐ�#
a��ƌ�01;�9KlF0#
��c�v̪�V�3��Q
�on�{#jw�3̿8�	��YW��~��CܸV�j�B���g�8�E?�y3^�x
ب�<$H�<�M��}C�
-����w�;�
����4�`���.aX?�
S
�ؚF��̓ ���<߯Cw�R�<]TL8�(�02��qa6��`D/�m-[ �l�x)�;	0�ɺ]	e�j;�	!�dT�X�jzD�i�SFt�K�f�P�Hv�2^V�
�݆6�Q7��z�O�=��j��U��R�(1wM
޺����ʊ��ge<�$�0����S�r��Ԫ�#%W�x�6���,��F�r:F9�Kt^t�;��Q�

��#:�6
���O?����Z����&/+�hhU�z{$ϔ�s9
�B%��?%l��"y�T>6L������>ba�U3�g�)2F44���2�S�
�� g���beG�A9�gGHj^���0B�	��\��F�g�X+���RZ= ^+��(M�p``�<��R�l��
qQ�n�ږ�
&
����
�V��M�����s)%
-ϖW�n
��	qҤ�B�!6}�/vUH���^2�*ۀ�^�2�H(/� ���Ka���4���J��k_�(�l������&��cU$�ں�mנ�@zK�
�Vw�G��
�\�j5;��䭀�՗
�~��h1ܢYm�+J4�h
�"6�I�Lb�Ӟ ͼ�'~muҹS�)k�c��QW�����l�
E܋z��Vh�T�
"�D,��$���ȁ�n�9�2��_2�M.&*
aՃ�
��ϼo{�����B��Q�;��c�0E�.6�
Rv��s�7�B{o��I��?��a���9_������%�|h�y:���C�-n���3�
-Xr"���XC#�!��q���,��T�
U��b'RA2�uч
�{�
��Mc�	Ә��^6�K؅�Je�
Eڴ���:5C���L^��D[ow�;l
�֔�d�����?��kn��[��
b�9�����
-/�mA�=�y��(A�ɾ���{��[qK� ϊ�Nƙ/�fd�.�q%��pbW�R1�
aM���=i8ѭ�6��m�@�uF�i��6�b�`Q���/rH��k���_��e�ob�2��I���~%���8�ߜ<E]:H����
k�y��03�X3���Po���?�����'
-�ۃA.n� ;����endstream
+xڭSy<���F�A��"���a�lYƖe� d��h�X&��5!dɮP�-�X�){�%�)e�q�:�9����?����{��u_��HK�����֘D�(B� �K��%DPQ�pHK��h
+�D4BS�����*��� 
 9Q>���!
X�)^ �Jp#����%c
��I�b 7*@���,�&��c	t]w4
@��qX
+U��cH�q�^@�P�g2��#�����? ��Ò�%���)��G� ��̌�A4�4c�}�r`�~�� Yz�r �U
����
�� [�蹰�J�?�����?
o�&�������
��'�ǒ�M����$K,�O��׌�������x,���	�g�
�b�8�����aٱD̿S���+1������P�����)�T��e�a�?�>2.@)+)+C�D�����_�`DwG�T��4���r(ӥT�Ԁ`�#b�A 6�^1X�H��C J���
?ר��
�~!
 6���w�7:�
��� :����� U ��i��.����>,��B��R~�{t��`Ez��P�O�
+U4U�C��ݟL�)���������.,6���n����[
++
�b9�h��8ͪ�s�7Ψ��������gg�
��sy��Y��N�%�]�0ފ�M�;\p]ν���v�%u���n�G�֦�oj���3����e=��,��ٮ�MI0t����5
�s�vq1ugT%<9���и�@��t��7Q��q�f��_Hm�'�KAE�N;�}���
e

�c��*1C�c��{r��&C2؅Ă��r!��1�yG������F*��m�"�I�����V���8k{�U�#�Kwy\o
Q�>W��މ�xҢ��J��VO�<G�n
¿އ���w�,�llp��9�.��V�)W<
�/�2~.��Q �6F
��L(�:�f�.�2'�E��E͑m���+�� �l���}9.��*m�c��D�p�!I�l��UgY���{�=�G6�W-O�=Ͳ�u�)n��	
�;q�����o�� O]���&�� C�c��
+E��2�}ܥ���j;�.�צE��ᾙo�A��dȪ��z��"�F�):�V���]��U��8;���cK��|n�푛
�i���o~}e
a^�!d]о�hgm��ȲW:�R൨ƕ!�R�y���?q�Y%W>6&��v�#
�O�A��'x�3�c�����Nze�`p���Jev%���mC�K��� {f�b�Q��TcV2���jya~��;�
�q�^�"w;�1�Q���q	N	Dž�*K�#�E�z�[��few$�vf#s�<�,h"*������U�կ4wk�q���q��y� �с��X��|X��x�Kk�z$)�-稑C��Ī���K�J�I��Qmv=݅����OO�J`�����g��|kpM�XĜѣ������[-b�W�v6��L+-�jhR3��z&�f.cjn�K��cR(ԁ9dh
O<\g\K�
�d	�$�;�
E�	H��aOs��̈́�����1�
+�2Ńo
J]���ݩ|a�	ߜ��7�&��q��Gv#�?˔!���X7,h�x1��*Sӥ�R�c\%�>=
+T�"��=f].��n�^�+-
+dz���D�ߙS��I���?�CnQ�v��>��<7=+~�
�9�D�8�r^PL:��|
Ɩ�����#���Z���� 7F���ݢ

ό�n�<���$�^4Ϙ�D�]:��g��m����G�K�-�+�:��<xnX�����C�8ȷW�Š��^�3��-=O$������W-��\ϑ�í����]��)�Ƀ<dUEy�*<�*�d�s}K�7>h��/�dz�b�v�#���rC
���':��ə�LA6��B��>�l��
ô�IS�z��>��Q�|'�;�*\d�
#\{1�mvS�B����S�S,	��>����wA{�SD����M\��WL�m�
誧�&����=�	��z���;��9��?�SQ�[�����K�������8Ns�Ye�W
+�mpc���me�P~��Ͷ*
VJ�"e���6���Jq�d�����c�5?_a���ح��>��e�k�4h��l�'��9�Ă���|X�*G�եF�3{l�����7�6�6�!pTX�x����#w�h�Ί��?Y�no�Cq|4�5s��(i&x��y�+��T�Ӡ�������^�Z'���wd/���罴��{ 
9�
�;�DZIb���~�
}��un(2e29�i1�XQ�|��T,�<c���ͅj��FIB���� �}6�h����œ{d��|5]���~.i
��k��.��f��}:�3o�����^�l�X�N�uW�V
,��C�g�JZ�K�l���I�q��^gn�0]f�
�?�ot���˒��OM�׻u��t��98V���E���x$|}N���@Yi�>C�[���j�B��ps��¾��wJ�+��E@��Ʒ)9�[i�\�ֺ����Z'g֬
��;`�5���|Ot{Wj6oD����IB�x��i�w�
+��g�ߧ)L�_�⦍n���ǦW�
��~`�-KK
���+��:���+�<�0�5�ځX�Z���Y�cę�O�b_Q�f�舄�(�v���yt񀲢���#}�{߮���@*�|k
6�/����G�5��4U�|/
&��t�X7����u1�S���b��?O�$�Sj�
�H�7��cr�O��U��J��
��[尫�Ih��3��P�0a/�&h����{����.�jU9
;[S0	�C�O2��nK@ϪV3I��fX3�xm�%����|h�d}�e�'�;mm��EI��
�C���&���O��B3"l�ɝ�WS�����cC׼��*4x�=\���Ȋ����_9�z<H���ny�
vs)W†�Y9�&�����
0�`�jԶ����-O���^�ja�m�{J�Y@�4�\fw��f#��8�3��o
$p�o䗏����I�i
�hU��6�u1�z5�$������B��+�O̓ro~��o-���DR�.j�����u�����T��D��e�|E �ܣ�G��MQ��8l��h�������
���.�>�!M�*���
�㩺�Ia���?�����{(�3��F<ew6�����5�8)oR���#�fr��������:j5WX2�{,�7o2
��T��e!��vW(eB��+��=Ȣ^鬩�x���=��L�_j�����
W�m��˄��9|�f��,�ҲL({фpi�\Q�ZR"<���򚑭���Z�c�]�h��Dǂ���Kh��qFɽ9s��a
C`8E�Ku֬Jԯ���k��E�ne�[��e?���%��N�f�#� ��IF�V����k��$��'����?����I���9qSԵ��O։B,�}
��w�X{�h����C��>
H�gy�P
�_���~y��M��R��̭+l7�Y�pG5����Ĩ���fg�ԑrȎ��k��(͕U��±�? J�s{.4U>���)9��ã(e&�>�l��L�����ȅ�ON~޻>�
����"Š��(�B�ݜ/�Ae(
�r���A;��v���y�g����F��v
�U�����rLy
}�c,F�^�53�^�4�]�
��z#��]�~}3�
"G��(��y�p͢��}���!;|�4$qх�������oJ��TfQ�m�����!�
�����ꌓr�y^���
���gfP6�?���8���3�bѾvY0,�Oem�!cjb��h���]�M)��R�L�
+��Ó��꼂?|�%*�3{��ӌ�Π
{J
֫)�Q8 at v�C�X����э@���\�_�%��4��r��
��
�?UR�L���Z|_T�n4bL�%I����	
+��Јqǜ,uPa8_��c��Qy-� g7��d�����WgtJr;�C]���RVĝfY�W�s���]�J��.��L�Y�e�����k*�d���֠@Ղ�n��¦�LIׄ�Fۏ�B
FB�;��6���V���""A.-#:����r�T�˾�մ���l��^o�;ܴ��q��,������&��&o٪���ּ=u��3����(��uz at x��b��fd����R�ގ�wڕ� ;��k���$���/���1�����-�j��ޏXꡬ��gi�'�d���,*h��–�
���3|�P��`.�|/2��b<lK�F�����S:�w/�{�WBv�3��W���t��:6Z!��2���
U�K�"Pg��b�h��G�?��v�]�!�
+endstream
 endobj
-411 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12228 0 R
-/FirstChar 13
-/LastChar 125
-/Widths 12229 0 R
-/BaseFont /UNUFXC+CMMI10
-/FontDescriptor 409 0 R
->> endobj
-409 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /UNUFXC+CMMI10
-/ItalicAngle -14.04
-/StemV 72
-/XHeight 431
-/FontBBox [-32 -250 1048 750]
+12235 0 obj <<
+/Type /FontDescriptor
+/FontName /NUYYNC+MSBM10
 /Flags 4
-/CharSet (/gamma/lambda/mu/rho/phi/triangleright/triangleleft/period/comma/less/slash/greater/A/B/C/D/G/I/J/L/P/Q/R/S/lscript/a/b/c/d/e/f/g/i/j/k/m/n/p/q/r/s/u/v/w/x/y/z/weierstrass)
-/FontFile 410 0 R
->> endobj
-12229 0 obj
-[518 0 0 0 0 0 0 0 583 603 0 0 0 517 0 0 0 596 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 500 0 0 0 0 0 0 0 0 0 0 278 278 778 500 778 0 0 750 759 715 828 0 0 786 0 440 555 0 681 0 0 0 642 791 759 613 0 0 0 0 0 0 0 0 0 0 0 0 417 529 429 433 520 466 490 477 0 345 412 521 0 878 600 0 503 446 451 469 0 572 485 716 572 490 465 0 0 636 ]
-endobj
-12228 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 13/gamma 14/.notdef 21/lambda/mu 23/.notdef 26/rho 27/.notdef 30/phi 31/.notdef 46/triangleright/triangleleft 48/.notdef 58/period/comma/less/slash/greater 63/.notdef 65/A/B/C/D 69/.notdef 71/G 72/.notdef 73/I/J 75/.notdef 76/L 77/.notdef 80/P/Q/R/S 84/.notdef 96/lscript/a/b/c/d/e/f/g 104/.notdef 105/i/j/k 108/.notdef 109/m/n 111/.notdef 112/p/q/r/s 116/.notdef 117/u/v/w/x/y/z 123/.notdef 125/weierstrass 126/.notdef]
+/FontBBox [-55 -420 2343 920]
+/Ascent 473
+/CapHeight 689
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 463
+/CharSet (/C/G/N/P/Q/R/S/Z/emptyset)
+/FontFile 12234 0 R
 >> endobj
-365 0 obj <<
+12236 0 obj <<
 /Length1 1612
 /Length2 18915
-/Length3 532
-/Length 19825     
+/Length3 0
+/Length 19754     
 /Filter /FlateDecode
 >>
 stream
@@ -73247,7 +71749,7 @@ xڬ
 
 1gscW������9/@��
 nn
 `e�����Q �

����V� juM::����c0������. at K{ ��ws[G;s{׿�׎��� W+s���
 �MI[FQ
- at -���2�7w6�(���M�@Ss{s���3���������\�b�� �.����n枦�������v@��� �
������o\
 @{S[7��+�p�WB��-�����)9����:
]�*�K�;OW+c�b� ��-�
L��)�_��0���@{�����?�L�f@G[c�����9:����
���2�8�[;�ٚ�������Ow��N��V�����׿�
�e��r ����Z0±���i��7�%�
��A���p �0�[n���?u����j�?3C�7	c3{[/���
����ߐ ��;���H�o������z�����
�o����}�OhI7[[Ec������a
 �v��������h��p�OCM�'���#�j��"��	afd���"	�47S��Z,�m�v�_ru{3sg[���_F��L 
3��Ԭ��6������*s{��L�/I�J�IL\VFA��?w꿬��r����7��Q�����:��!* [...]
+ at -���2�7w6�(���M�@Ss{s���3���������\�b�� �.����n枦�������v@��� �
������o\
 @{S[7��+�p�WB��-�����)9����:
]�*�K�;OW+c�b� ��-�
L��)�_��0���@{�����?�L�f@G[c�����9:����
���2�8�[;�ٚ�������Ow��N��V�����׿�
�e��r ����Z0±���i��7�%�
��A���p �0�[n���?u����j�?3C�7	c3{[/���
����ߐ ��;���H�o������z�����
�o����}�OhI7[[Ec������a
 �v��������h��p�OCM�'���#�j��"��	afd���"	�47S��Z,�m�v�_ru{3sg[���_F��L 
3��Ԭ��6������*s{��L�/I�J�IAG[VR��?w꿬��r����7��Q�����:��!* [...]
 Ʈ�@O��ߒ�Y�U��x���0��f�̊��������_�Ԧn��Y�׍�[��<�k���=�M�V�
L�B�S3�\k�s�'�u�{Y���
K�
 ��
zR�wx*��k��y?ۼO
?�eiF{�l�z��/���h��Q7);����
J��4�}��!t8�5v'�U
�ߡ�;؜a��h���1�
��MS�c0;QA�j
N�(��
��F��zn ����c`)��!)����t�+|"h�Қ�oگ>�5�}
r)���#��_�,������!�څ���[�+���禣�E�y~�|��QH�`�7L����ڐ��d@�
?�]S������UӾ�!�̏�(w��{�@�S03�D�U"��:�Px�-��Y���f���$
>.h�t����9�7��w���Qb<m�q�y��Y`�x#>0%?
�t��8!MVt�����ޏO
W�	����
_�z��X���"?���8�]Ԇ�f���%A�ϓ�N
K��e2�9�C��t�(�s�
-��$���� )��|�y�%-vy
����V�Se�]�[�/޲d��5ENo#�Hә��A1X��;^����9��s��I�� m�t�m^������-�~�w���y��l�w"V��v�� H^�՘�E�v�-��
�
�6��
�%��Gr?+I'�'����[�H�sh���?���%�@�1<}^�m
�nD�NjZ	�P�ga8GP���6�}�f'��Y9��_��A2F�,�R���j�
 _�����w5���D���WS�~������!��!��R���
�y�Oh��\!���"�*�dd�'�Y��^��2;l\
�q�k�(N����ml��1AN��;^�D!Z�M�A������ϗ�]M�ޫ��@�V�АG]W�ȷ�b�W�Vf���_�h��H�0��~#�&O�,�c�%���֘Β)ih�9zd#^�?0
��(R	
@@ -73322,55 +71824,96 @@ jpU[
L
 c%N��,�
�
 �f�a
r�a�]<%������
�ԳE�"�#�8��0�O��o��
/�D�����Y.g�����
6!�\dnaHFU��_��g˶��/�
��,�I�k��>e��6�nK�����U
S���Im$�^@��$;�Z;��5ppd*�E4��hdZ!�M���j�8��q�
���)
 M��r"~�-X�O�"�rV���%�Ui!:��*��Y\�|�u�| ��S��+�`��m�Z#SLp���z�`�l��#�

��fj�Z*�9X^��5��䶿I��w胲�[�iI�`�,�n#Ëp⿯�b�ܫ���G�8X�ޔ�O�O\�o��)�JpA3�y��%n&���Q���{x��ڣ���a]�)�P`
-5'G�{,�ڙ�(
 �|��!��s8_�N�
�KB摽��W�8[�!#�${d'eo�2�x������>�3�c����.0���
m��
-F�ْ
q��N�얪h��bP\8��*D��U/"��%	/�5
?f+k@|'���q6s�׋ZZ>	�I�9mO(^���p�&
�,�{�?�
"NûM�L�Qh�֠l
-����Ǣe�hB.�j��"�o��EU�$~5Q�kj���Ν���v�)I� Y��ť�EFj�er�AT�r��ȶ{�hU�<��]v6��32S4�7媏S�� ��c�j�iwbV���І�Ɇ'�)nؚ��|�Q`�ȏLb�.�E���f:��
��qq-
]��a��(��B�������65l٭���G����

�Q����o=^-��T�?Q��Npo�mz��}G�0@ֵp�y7� >������:A��Aj�J�stЩ�>��=���4�<vӗm'ʌݛ�7E�\&�
�Y����b��
��6P��"����wp�=��1m����O٘�}��pH�7����p��]7�%����,�	�2Zo�c/WN-��w�L�����3��R�Y�gCL
+0���
�e�=	e�R�!��%\
X��ofY����x
Qs�����*:�z0l��f��Mx��?
Qmn]h
O�&,,8��`�2��g�ejF[�IÍww�Û�lS��w�So'#ft��yL�xG��;��JDuo {��"�{;=�
�J�A���T
u�줄+�^��^ir�x�,���*?\4C
����t�Fq���o��A�+'U�-�[��80P`��<zX��6tR�^E���k�A;@k�;���
���[���.i1�mԏ�CΆ;�?d��x
����j
	rU�_HY���
�AٰO���p��3N-ᮮM��9�c����rE]�����
txꎡ�n"���qȪ���L�������iOA���#r�c�;7�#U�K��PK�k�D��V��D6t����
riXM��/w�nj��	?
o\��L��-
-L��
�bs��v�y
��ۖ"꽺��c9��2p�h^�t-���x�V}:q&��L�y-V�dXyc%�\��ʺ��b�b����~�GOq&y�2�	�[��I�G��S�W���5K䵃��KЮ �k��چ������v�g��tg|���k
�_R'&>ܟ��~f�'>�X���
n�+�Uk
��a
-�����.��(�@P]�p}0g�N��H:�
}^���ބ�.��"��˄���@KE���臑_�6�a�9+�OǠL���=�X�D}�E2���*,�1��_�k굵9jT�hoe�Z���RA^���B �N~w5��K��K
-�P��Pko�H���ZdžE
7��8���{�A���2��NSgZ
�"ĸ�U=���We0��v��WĨ-*����r���3
�AE�  ��5�"܎�
ur���nҪ\0��9�c���
-��u)1�@�Yj e��\�V<��C�[G3�D���`��I]�B�Wum���n��C|/�v�;J2>��rC�����I��fcׇv��1�

��*�k9�~�/�ܐ��WVH��-�����B��;�n�<���� ��VA�td�� �{�h/vD�} 
g���
�5fE�tg������2M�J�N:���Az]s�?b�w�Ȫ
O>
-��
�O�j?��Ҭ|#��,�AO�p�����o�%e�q%�7?��Q�n�Q�

�S!ƨ���	Y��Z�>%q��ӫ<E!�d
��
��6�y�dȼ��	�Z
-�?t��_`<r,���1�_��J�����c��W-	����|��'�G�w���O��`��x��~��o.>:���8��]¿2|*,���p�
Hv�+��g�E͝#���k�2�ǟ��-\�M8s>')T�
�
��
+)�È�ԇ{�R�^��2J���-�g��D����V%�Bq
-/�M�mv
�Jy]��C"d���17
����@�o:	U�	�T�U����l��e7�,"�*��]i����/�Ay��]����1�#�
������N��U���1~��k��	���fj� ����t%`����<�$Eu�Yb14�a��K308F����e�Y�Q#/S"S
{r �Y�H�'B�����c6 ��
����^�J���|I����u�c��i%+�dH����LX0�b��-s�ْ
-2�*�繺q#��.7����_���S��>WӔ������J�2�����qM#ETooj�#b�')F�m���Z�
Sj��D�]CV/����zπI���U�Xii����~7R_F���Kh ��q�b

J7}Z���/�2��U|����FG�>Ix
��X:�����L��\�75U6 cJ�G��q��9pB�w8[]�/Xݱ����HV|�p��bz��S�yH���KzF�E��Z�~gF�K��F�u�}��ܶ�4ר���τTɇ��T�l�uQ6�MH�͆�Y�3^x�l�4��3ѳ���� =eIW��L�4�U����o���Wr�>�a<BL�7
f�q���O�
Ҏ�=�0gJD�O4�$H�����7Vz����p����9���p�Ġ#�&|�q/�p�(:JcYEV��a��
vɕ���
bY����������Q;���Uۣf��\�r��x�Ϲ���m)�
����#�!{����Z�ґ�7>g\#6�8�\�-���Ĥ�t�Ԉ�Q�<I͔IG\���0[
�VZ�~�9�I󃡇�-2Z��.@
J���r�o��پ��l��α�ۗX�~�OT�l첃6e��G�
��)��~�@�=�`S���깟�$턵ٲO\"]�C��߉��
h���7+�
ϣ�2�Z�� ��'9�&����i�4Ĺ_ �$�=W"�?���m+�ظ�+��
;�%
2�Gh��!_�(k{a��1h�g����p��.���ׅ�)�;�
%�S}���8�%}�����q�\��	�n<5
���ЄR�BJ���Ȫ�NϚ�
�L�w;%�t����v�\����A
�O-x���V~ÿ��>ӽ�$��zp*Ka@���
�\��}}l´$�s��qO*p�+�2�[2�
-h�\�f�,�u3�Δ-i��{�������%ܽ��
-t�1�y�<'p[�U�\\��� �' �D�KT��'�7�6�(/7K��  #k�endstream
+5'G�{,�'
����bI�&yN)֒IA~�g��"��f�
�'0�~�BJ0�r �OYB �է=�C���+5�Q�FW��AF&�%�P���^<YۨI�Iiv���O���HS�h7)o
�G�<M��N&3
$�`�,
�
d
�F���;0�p��݉��#
Q�%� CK���0n���Vrgp�y����5p|:,�$�?���
 �
(���}\�/�v�0�����Ï��ϐv,X]?]
1�<��%&���\DE���2bZ-�W\�W�
��(�%3�"���2�m5����])K��=༉������1��hz�g����
)��Ffd!|E��+����"*p�qU�'�v�'HD���i��÷Hrf��������3Ǚ�w���I
�Pa����I�A����(4�Vs�oT:� ������	��2�1�-��PB]Yo"�}ư��:��Kc%�}�&6b�&]�
v��=
 ��&��u,Q�.1J��o�$��Ӗn�?�uR�tnIm�&2�������y
y���3�+#�2E�,�W��#�#�
:��s�f6$~�u� q�&��]�
���/�� ��4�WWGCq��
ǀ�����Y����_',P�^b(ں��3����i�랰�l��
�DX隍ʵ����*�ԝ���,�ukX���W�^��ѽ�K�P�`�C�
+�:�вr1uk,���`:h�+CjK�V됁@����߷l��l/��U�~"��(�G�p(�|�œ�ă΂ᙑA��u+� �{{)�^��?���=�B?!��d��VO�R�l11n3_��$�I��� Z&�ʾ��:�ހ$V%�)��{��<������%(�L����X����[-`�����y� �|��E�'iK#��(�o)/�{(��&�8�,��E�����÷�>/�srm� l�J2�\�@č
x�
}4pF����������hƓ�� Fb�V޾r������j�n� \�_�\���>?�VȈ�y���u$����a/E�O��OЙ�8z1v�$D�I1KCыr�EՌ֌ĥ=l�G`�W��b-����f\�9�hh��R5P�5�Ʋ���9H~���\V_U���a[`�ih�F|�)
��[��6�
+nQX�굴h�]�,��d���wk%P1y
rĢ�,dx3�j�A�M1b�U���W�<*e5O
��'�*ET��Ǚ�g*q�7�!"���'��[�M����{��vCxƒ��6Z�0���e'��Ul�����(�"��
2�4��_��j�,��(C��\t���X�P��(dw"��
t�Һl+>�����S+4��a<q,B+~�z̋u]��_�!�B4r����ye�V�>�s��gGK�I(�+�飆���
����h��YT?�D�A2x�� �h�j�
�

Wn���g9�r����d�I��X�s��笿k��=1����
���z	�*؟�,���o��!�P���ǥw[��>�t�
��d;�!(�8��r���r5���a�@���p&��������E�곽��B��㙸FxaS�o`n�PUb`
�7_!�
'�(��i���(
��
_��*<�`��|?
�tP�#


�kq�
���4P��������\`@�kKj{wz|R���͇���:D��9���ъ�����a��@
c:�c"<qۡ��Jw�a	�Z��Ü�
@��9�g,`�K�+�GG��&�����4��v�A�7`�
vm�
D�J$ 8u*�a-�m���j��˞[8��s�+����yR
��C�|	�)�aY�Œ�A�q]�A;"X��8��'R��mvK���
��m�����2
;���
�'>E��8X���Z}`L���W�������D�lN�E�~x}�쀣�g�/±�t16�t�78 at dA!�f��h P��b�+�>�S�P�Vw�g��@��j3�/J1�o���QǶ{C�K��N�\
+n�fZ�
Cץ3a�����������'e;߶�
�$N�|��ݏ'��̡ڵ�j��Zk"���
��x�{���j��B�
)z=����O4,�1~ҭ��r
5��]��(���v��G{}�T"��A _��
�=8�8�{���"��4���1�~+�7�=��&�Ѳi L�O�U�t:GSzp�C����Zp�ߖ�[�5!�]"-*��
o��la
+&
[I�'#��m"P^��޸p���=YV�p	�f��
��ى�#�6��	��i�P���G��P������L-��
+j��]� ���bS�z��@����
��f��77
������`T8G[���t
O��۹r7,������.�	��3�	dXeK)�-�
�ۤϺy��8��:w��:z��:�<�;�b^
�7r�i���3'����d
ݛe5���k�#�����x�� @�t5(�
I
�d>��+�OP���
t��ʄ<�67 �[@��#�6���3�
��d��%e~�e�E]�M$1�ס�7"vs�s�_yi��O=�]=��B�eK��W�n��Tт2:$�,eF�L%x5��
J�$��^���ҳ��5�h��
Z at L��p�����$p��� 8���<��w��Q�ݦr	Z:?����=m��n9�p�&a���cd�0⢅�U%hC��ַ?
+n�@���#�� NDR�>��ѱ���<`�M��d�ǢZ��VR)�G�:�(�m������/x
+~H��8�P���Ъq]�ϫ@۫c�о
��
�`�A$z2& ��RS��@]�GN�RNl�����t�(v��׈�iJ	�w�
�8����/{5�y}\[/��^E��5g-J��m�m�J���/y)F���>
��r%��I��|(в<E�\w�����
��}=��/�x�f�{���!!��.���I7~�x�f7~���2�Qe!
�h"y_�GJ!'^��e��^�~�?hj0�n�	���
���7��u��צT�
EV}��,&/

+�&��
h`���s��������MK`�g� Gw�"F��I/1��6I��.�v���űR1
+a-��VQj�=��T���5
+l�bv‘

��Ao��9B
ӦC�؞M�Y���\��L�S��܂���z٣������
�Tn*�349bm�"�11�
)�v��
+endstream
 endobj
-366 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12198 0 R
-/FirstChar 33
-/LastChar 125
-/Widths 12230 0 R
-/BaseFont /CDJIME+NimbusMonL-Regu
-/FontDescriptor 364 0 R
->> endobj
-364 0 obj <<
+12237 0 obj <<
+/Type /FontDescriptor
+/FontName /MZYJFE+NimbusMonL-Regu
+/Flags 4
+/FontBBox [-12 -237 650 811]
 /Ascent 625
 /CapHeight 557
 /Descent -147
-/FontName /CDJIME+NimbusMonL-Regu
 /ItalicAngle 0
 /StemV 41
 /XHeight 426
-/FontBBox [-12 -237 650 811]
-/Flags 4
-/CharSet (/exclam/quotedbl/numbersign/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/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)
-/FontFile 365 0 R
+/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 12236 0 R
 >> endobj
-12230 0 obj
-[600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ]
+12238 0 obj <<
+/Length1 1630
+/Length2 7267
+/Length3 0
+/Length 8102      
+/Filter /FlateDecode
+>>
+stream
+xڭVeXܶ�AJi$��.%���f`��n��G@%����[�C@@�C��w�9����u��1��^�Z�w��

��>��=���z���K���v�MT�G��m� |y8��
�*�z�$� {�HHH� �an�p�����PϘ����_��. ;� w��#�z��
�����
w��@}��8�! �������2�]Y��
������]+@��"@
 
 ��   ��߭!x�� [ �
߅�|� ��7�
w#w�`�n
����
 �!���
��;�����y��awd:0��y ��((�U��������

�9�y�À��[����ܡ
�`(�������#� ��w������?ex"�P�U�
��
m��qGs��{:���?��us��������g
`���/ x��q��
����,�P@��/����?0/�π��
�]��0(�`r��ӂyܥ���T��ω���?"�D������\���}�;��'�e�z� =2��W� �~g �p������l]���wGc�_��7��aUۻ��A
������
F(�}@�:`���r7�?vC�=CAw���]?��0'0��[�� ��������x>5mSEy�����Թ�_7��k���y�������#* ���	��M�?4�:k�z��> s~^~~���?>�:Y��F
+����
}[��ݲ���z��w���wM���g�A ��

(᜙��QE��gH���M �'ҭ���MaH�583fY���2��vD��wz���75���6J[�K�^] 3G{!�+J�k=�Ϫ�(k�8�Jc	�L��h}eHWϪ��~%��?�a�*
!|�F
���H��������k���3���ޞ��C��o�\��{,R^XD��!�HZ3�r�X�5��u��)�DmI
��.�#(�C3���u]

�D�����b�E��6�N�)P9�r�q�~]�,��t�����\��#����?�dD03~i��R���a�����X�эZ��L�^S(M
���U��
�]�5
+��X
��8M�u��7K�uꉨ�wZd;���b����m,�V=�C�B�IG#Z�R%6�Q��̷�7Ei�Lgϡ�������!��T�/��R��՜��$󩲷�
ˢJ�4x�5�s����W�'+�_}�CxOX��G�s�Ԕ���=�# F&�U>��u��Z
���n����\��Yc�t��͡=�iǵ/���3+,M�9|}A���{3dܲT��/�&�7��
��w�_�KW�E%W��n�u��p֎
k�>O��>�G6*�K��x�pwa��.0�ۘw>��#����
�D?�{��ȑ����,�u�fT�*�l�^X;�V�[M�׷��� 
lpy8M
��@���1a��h��Fl
����p/�[H��c{E��#>��'d�uu��C�fF��L���d�ɐ��IJ�i���gR�i/ړm��a��6I��U�ܬZ_������%��7�{�,w����v�IV��r��q�a^�r�&Sz�bZo3���%�8*L5�c�X`p���i�k [...]
+'�cR���uQ!�©�J���S�ѕ��G̓�a��F
{�_?[�T/F߯S�1n$���م��196s�����-	
F•��
+�#K����f������ۤ�^tgN�>
+.i�i'J*<r�
�����_��+s��w[�0�[�~�j� "lĔk�(l7}�-��׍6�\)L�
�
q,b}���Iq�)	�Hq�7u�3�;�\
I�����y"K��:%�]KrÙ|���p��a�૬3{�ۗ�
+e���
�x��i�\t�F�G
�Ͱ��L#����+V��~!:��"m[։�}���u>O����h2r�[�
�'�õイQb��n��]\���L/'|�{����s�aʾ���4^rI�
���� ��<���¹/���V1ZO�L�]R
 )�B����n��'� 
���'�4�f���`O�m���+_d*�GO+��F����[|V�ib�4p���
*��ܼ;d<,�=Y�r{uh��Ӥ��2DM5��������G�a���'r����ϝ��MH����CS�/fZ:�Xee��#���Y�ىT��4�Om(V�},�G�޶
��
ꎑϪ��南��H�曲$v�Ҋ:�E0�ޫ6
�
+����*]8SV��V:�ox��v�2�	?„%j�{��iE{~0C���R�R� �O~������).��寅�l
(��D!�
+����pk�x[�I��b����z=Ʃ
E"�jYùִg��CjV�I�Z���,��fcJU���B��ڳy[��+�L�_�����bd�W�6�.���Q�t ���?R��2N��Ӟ��Q����1��w�َ��I�iEW,��E$����|��%Q�Y�;�3������䧂ki#N l�Ă(܇�r�a����F!��^
+
B��ϫV3��(��vY���}G�!�T���x���Fq��p풭w�jHEMV�|�
K��4� ���#�6i�!F�
�ޖ�-%e�hc���ɐC`YS[���e
�ڋH�P,�l$��\�`+��ț��v����K�g�j�	�6@�c��=J���O��� ��"��9_^W�ܺ�-��
�~t�s8��[��:��+S
�V�6n�̰�Ya
Õ�]|�g������J�P���t:9��4.v�I���#2��L����jߜs9�����}�՛x\���9��M8�w퉪K���{��)�&�|�NZX�Jv�H��y_�<~c�<����
ˤLh����F2����n�g�
ʧ��
?��Kfm&L�׹A���(ʇ]R`��  }��9�L��Aj�Y������-_PI� �[c�A��xa�^���84&�l"w3��%+3���l�#�ԭ"*{�n�/y�ɳ5�`.�P

Ǩ����
z
+�'G쉪gQP�i#��q���Ӫ���g����>�����'�W({�F�
}@B܃�H��s�ذ��2��4��5R��
L-�$-P�-�-&�!��H�&O��{S�,�
	�օ_�
p)�=��ސz��z��@Ss">`\8�QG�d����*<�Q��ךv�;�:-��f��5j>=��>o	��s�]�1��cJ?��rI�t�#�\���$���I6�c�������%m�zkf����&�T�{�,*�o_��{8I|�&��-QQ��J($Ī;�`�T5��0[��h�
+���5Y
�d,���--��/k��
��sv�L�m͉��UN!���l�O�H�D�D�.3W
�S**��F��
��ه/����p
+�?1y�2N��~��eB5�	9,���VU|	‘x
�*S���$���/� l@�p��.]򧱁��5�
�o��cD����� %����[���BO�)۸�w(���Q�qrb�ti�=9�X�
�%C1&m4�x���IkRL8�DZ!���{D�`�V�Qt����۶�X�
�(QC���Þ��JQ��G���2g>�,ސ�@k�o�����Ҋ
��CI`p��V�2��s����
�9d*��U �4z~|T���֕O��q-z�$��+���/�G�-H�@h���3���Xc��W1C{	��u~��,M{K����o���Z� ��y��4k�0`"m�^� ��b���6
�
�����/a�+W�6��t��>J>��y9�������O�V�fJ�͓Z�v��q�G9 p��=�;;"��7����O	���F���{�ũՋ��N��_ݑ� �S��_
+e7"
��=ۥ��`�+�_���ޭԸ�B��
qi��:�)�^��,3
h��P
U�0�kT%#Y�b�
.�| �T>5@�� ��䙼T�x�Q����H�j�� O��9%��"\o�}b���)�J�x�GK���e:~��X�e��~�w�tӈ棇b�.
Y�*�Wʍ��#��1]\O�8U�d5SPJ�S������B鮻Q�a�cp�/
<�<[�
\��p25��U�e�kn�E[kX�%r����+a�TdH��a%��e�d���6*
+�qQ�@{6"/Q�\��

8�`e ��ɍ�LИB��o��ex�RW�V,s�,��e�f]NV2�L�y_f�.O���L�`��+ڥx�Z�L|
��� Շ���g�
7�h��0o�Qm;�ȧ��*8����J��f�o���3>���>{���c��!�X�Jrg]�����d�Fse9g��?34����a��"��;j�SW�R�w����
g$�V�9���EC'?*�;
+LRi���&�$���@Q��Z�����r[�
���֮[�@������{���~���X�]�Fl��F�
���m*��-�}ȿ���p�f�Zu�BD�>ˠ�b�8?�wByV�L��ӵ�����y#�L�-�΢��n���P��0,��g{>��N
Z�
�
�	4�V�ȵZyZ�}R]آxtg�I�3�m6�Y�Lُ	�‡U[[Ʒ��f��Ol�m��N1���ܨ�p�����vl9��d�E��M�ӂ@�t��(�$%�o\"�`�rĘɊv�Q��YѰ�b�:�\jb�����KAz?�^�2�>iL}λ��3b
�/�~�r�ھ�2t�
��û��i Wܞ�EQ�{����R
�x!�fȤ������Ps�#r���P����\8!�E���>
V�3�8z�@�L��
�_={��d�'&��D �fҰaY��!��
+��S�k�V#]+���,�	�{SBy�_���פrN
�Z
;k��:UĞ�`�dBo	$`����xюρ�u�
D
+_θwc,
��ji2�>4cܜ��5k�r���O�?B|���X�l��B	��_�>�f��+�,=�uߠ�k��s��[@	$�/��;��ji#�Sl���%U�i��|ǀ'h�Nj8��yW�C��J
+nkz�b���W�
+�6��k�_E�!PR<�k�<��8!�^��V�"�4D"+��8؇R�ᶡUF}�-k�a�����c�8�'��D�b���HeJ�:e����W	S��Z0��2�]�A���Պɦ¸��%�������pӬ�{M�.ѝ��|��Z�-���F���~}�����bX���m������M?�x
'�*A
gi)�*�6��ӛ�%�b�&��w.����	'0�y�t��\��5_1J�)t*�B���z|��}y�g[��~���
��7E�,�\5T����~�v'�ˬD�	�&�Z#��
��;�RQ�<��r.޳ˋ,�5��Z�΅d/�Lg���t5��yK�����}
2��<�eH��C�(+�(M�{�Q=���qm�2�L�8�9C�Ye�;>+&�&J��W�r��
O�L;� �u�A8�����7�����F�r��Ԇ�Bb���dM-KxN?c[�Nbţ��GN�_���H�+|��=�Z�-�e�E��%�b
��7�C�9$]�컖��s2b~�G��5���?+
[���b�Vi���p�Gs�#EfC$��%y0p�4��M�[��ɠlI(���F����uU�Ո���%���0��A���l*W�GL��g�N��챱���sK #��BIBj�3��Hq���]����~
Z����.�<���*�1[-��ilT�
я�i�
u!G�8,g��dQ�?*SȽѨsZ2�<YIj��覤^��_F�)Ғ��������l�k���'o��@C>:z����i�E&����W'�7�_��!P6�&f6�otd�5ig�|��(
����ܤ���
,sJğ�3�;�����Qû�7��
6����3�	�
O���
+B
�x����
+f"��nH�C��Cþ���+|J��t���A�T׽�
��C�~
+	�e!�<�]�9�X��ؾz1씯Ax��M�+�5���y�
+��qu͕!9�LV��3g o4)����*:�׀�F�qU�C�����;����o�˫�M�A�*�]R�D�"X��P�6
�H�M����E���z�+
�g�8�t��|����ع�ǩ��e����k�������{��2�<�hK�ӳW#^�A6;I��D�v��P.� �pG��Rp$���"^���R�Eǀ ��I���B�-����Y�^�ߥś�?�`�w϶i�;���>R�E5
+� 1׼��ߦ�
�+R�x����dҾ�U�"i>�d�o{6�Z��&[��th>�D}F���ok
������o>G�.���$e��R��'��D1��U�U^�љ�_R�h��6>M��2[��O��3��8
]��.J��OH���|KON�q����b>�홾(R��#u�x����f���J���#���0aĞ��x!�Ѕ6CWy�(#oF
��FQ���-����NAF����b��&����~�<HG�(z�}!ca�z$����yx'��� ۜX�Q�*9��/O����NC�-E�wfD�t/
cP	�����>K�ʡ��ܣI��^p��t��-Y����K�
;eS����zVٶ-��n��\�q6�l2�u�<���[�VE��Pىi�vX=��Yt^�{�23���{��^*�
��-�
�	��B��O����C��U�.��T@��7��(�����
fZN�ʪ�$�
��9^�'���� ɢ���N��A���&{ �ހ!{
L��
���)��1M��޳����ߋ#_�����
���
+��ͷة���ĮX�Z��鄇��y�Fu\Un&�|Y�e��R����q�k����E>��i_���OG����5��uS�/|�
y�7%�C#FA�2�x�ƭX�3�n^����A@�;t��.�MRy;�p��'q�H�N}������sl2	�q6 �:ȡ�5ǽ��
3=I�f�Pk/��JZ�Ck��8� ms.�U�}m�)*
�z��l��]r@��&m���Ƈ�\��A��g鯞MFl�$�ml��s��UP�=�Tb��1��S�P;9�G��t�r���4����9RGu~�7�X/[_AK��g��a#�#�X��U�$��ۆ�	�k��_em�;��bhd����~a
A���=	��s�N|��6�K�e�oFV���m�i��\U+��Ic�雷G��&����I���7�W�r}ۆ˯�R�2c�	�>P��
�G�x��
+���������ҚԀ��s�������vp\R� \�)�lm��Q����i�˜���p#=csm�����!���o}K?�ӷ
�zI�B!�b$�����?Z࣭f'_��l؊
��
��U'+k����<L_�5rA�j"�I�˪c^U1�
\��h�ǰw
��/���|��}e�=�F���9y�CMS$�����h��ssU���'/��@Ҿ��@��IGx�pu	��A��y،�)�~
R�ʗ��媰���­��2�A�1�
|��sO�z��\
I23
J&L/���+�����G��K�~�
o��Y�
⼞��&�����5��!R�"�-z��I�Y^g�e��0=E
+V{��
��>���^J#��< "ؐxLt�t�
��?�$
�#!u&�ce��j/X	LJo�t[�BQ��?�"��
+�bʦ[Im� ~�&1|P���1����α��SʦZ<�X�ttHV�ldJzCRO���y
qy��
*͟P�T=�[ǰ��W�J��m|�7�;��e/d5�R�]��{��範��N��X�|�%Oy��*��+�B�Ζ�D�=ꁉd�Z��}���+�\2����jC�J
��D
+�eܢ��u^7:>O��NSt���t��S�0�<>ay쏆<��
�ͷ)X��NF��&�6D�g���q�R�����D64>�|e��k[%{Xg�Y�&e����&��s˕�ۛ�7�so�� ��z�̗���Y�4��aPFL�nق��X�ꍄ���Q�K@�lbb�561"P�|x(�3�{hp��^
�2���>oƠJk�
	��/t?R3�����׋�����2�M�ˈ
+�M����
�e�����^P��T��N?�%TJ���8�[��{m��NO���u�
�ט���
�J�9g�Ο-��n�`�HZ]m��c��c�w��%�E4Q���(cb�.j&���U��_�YZ�
+endstream
 endobj
-356 0 obj <<
+12239 0 obj <<
+/Type /FontDescriptor
+/FontName /JOTYEC+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/a/b/d/e/f/g/h/i/l/m/n/o/p/period/quoteright/r/s/t/u/v/w/y)
+/FontFile 12238 0 R
+>> endobj
+12240 0 obj <<
 /Length1 1626
 /Length2 18386
-/Length3 532
-/Length 19306     
+/Length3 0
+/Length 19237     
 /Filter /FlateDecode
 >>
 stream
-xڬ�ct���&��8Ol��c��۶mvl۶m�
w�Nr���̼����e���^�._UW���XA�����P��֙���� gac��dg#g�%C/
4� �ճÑ�
;
�-�lE
��� u�	@h
`a0sqq�����=
-�̝T�J�Դ�t����`��?-#�,�l\��v�6@[�)����@��9`ja
�+hJʉ���T�@[���5@����� ca
�uRL�
�� �v�&�����7�'�!��
hl�7
�n
���D�:�X89��X8�

m�����`akl�b���zS��w���a���7����������3�oU��t67t�����_3�������?-���7�_���������O-# ��������o���
-��������
�f��&�@'��i���g:��'��������_�v���_,���֦
p�,k;��mfa
��ϮHښ�����7q���6W��D���P�ahbgk�0��1��9�-	���c�῏����[�o���������������L-�bm-gh�w�}c ���-��� �94.6��C
k������V�������$�
��䇭�_Z�����p�p�(X8�L
����_zU[����-�/��)�����?l*��V����o���?����_�Ŕń$$h���_�
+xڬ�ct���&��8Ol��c��۶mvl۶m�
w�Nr���̼����e���^�._UW���XA�����P��֙���� gac��dg#g�%C/
4� �ճÑ�
;
�-�lE
��� u�	@h
`a0sqq�����=
-�̝T�J�Դ�t����`��?-#�,�l\��v�6@[�)����@��9`ja
�+hJʉ���T�@[���5@����� ca
�uRL�
�� �v�&�����7�'�!��
hl�7
�n
���D�:�X89��X8�

m�����`akl�b���zS��w���a���7����������3�oU��t67t�����_3�������?-���7�_���������O-# ��������o���
-��������
�f��&�@'��i���g:��'��������_�v���_,���֦
p�,k;��mfa
��ϮHښ�����7q���6W��D���P�ahbgk�0��1��9�-	���c�῏����[�o���������������L-�bm-gh�w�}c ���-��� �94.6��C
k������V�������$�
��䇭�_Z�����p�p�(X8�L
����_zU[����-�/��)�����?l*��V����o���?����_�eU�4�h���_�
 ��Y���/��ъ�����I#$d��g��г�1�}{qq0��J�+�ɲ�Ύ� �}31���������iDm��L�YegC[��������]

��������)�k�@w�1����1O�ezV�sݷܑ)�>f���F����^���=�J�?�!
M3ܟ�
��GR4�c}X֔����||R���m���ǁ�z���ԣ�n�dv!�8�Ԏ����J�@�t�:��<S����c�=�#��5�av�4���^��H:{~�

�?£͉�%�q�@���w���R����R����F�y��z��cl�3���̥�
=��V*4t��B�x���
���߫*�A*�
�����p�W��.f6�Q�2�1@���#
ژ�J�
J��
���m�Tm
�M(%!Zn-��.9CP:hU�����5
d
k��B��p�
�1Ed�_�M�i8S��G�p*�C��z��Icu6J_{
3z���b���&���,>/��E<"Zm񝲆��yF�5ߗ1�t`jl����Ŵ0P�Ҍ
�e�G24Y�
c�͟Ə�
�����i
rj.�Q����� ��-����II��TxSV�0%-�CG^-U��_�W���y���rȝ�#v���P�@1 �G�Р!@dZh~}�B#{etZ��<o�kY9�i	
���k�
 ����UW�A�8�>q?�}���7��ͧ�7�k�˙Wq}fY
�@�ٻR�7���(L��
�4L§c�C]�L�2I�g�/�<�2�u�ڲv
b��]�e�(�q�뢰-�c}e���h���Ӝf%wJCT���xY�@m��!�
	�:����f̿ 
4d��Oy�"iF at A�OI�{"kO�+%��q~��
1v`"��\[���vě�hX��w��ԁN���1PT��M�����)�+r_�x��R�;G�gVԈA�I��[jў�K��Ѯ>R��������>�W��"N~j��7�%	Y�
	I���'�`O��U���YS[5�DNq��X\�x�h~�&�b��
�X�Ya
��jPC��E}���i	��ߔ§�����v

4c�
_�{�c��tEp;�0��H��T
�[%
�o�bl���ť�
:Zt��&0Z�.U�t��X2��O^��
�Q��1�w����ZƯ�Ws�@�Ӑ�*�������Mh�4������K���\��"#3op�z����w^NE(��f��"���{j��fZ����?��t�x�w��~/4
�MѾe��r�Gf#�c�{�T�W��>��
�lVnn_qk˪�Iu 
ܷiܗ�f14���G��=& "�.�����A�TZ�����D�&�d
Cb~ƯS�J��IZ���e��#�Zn�]W��W`S��(�+d�n��S%(]�R
1$#p�^��8��P�D�
Np҇rZ-���+�F�?�|.��GꂘK�Ȫ=���:����6\�9.���Z���c��8��S��Ϻ�U
֠�m�H*�*=b5��wb���i؝�V��2U	��� N��"�!7���b�5ˤ�kc�C��s:p�\�
 U#&|����Ǎ�2Vm��J�Z�;���ԴS����ѐ
,���>F��)��JW�A�m��A�6#	N8���t��f�<~
[֟������hn���Y7 	�-�7��P�G�U���zE�7|p~jJ�"N4��[�Y$�4N��F5��@,�"
M�ˡy~ڶg��A_���;)?�D)�P���hG�4�=ss�g�
����Jv��WsK�_ň�LqD/ڂB���!{�bwo�)�Vǧ�d����`����6��E�N`Tz��y0
��9��|d�E���<�AV���<���
[ N��rQ*c�;e���|l�n3�8�{�&���/%�w�DZ��!f��e'��
�ϵcv3о��J�ݶ'�
�9��&HZ�;R,�и|ۅ��9cJ
���5ȊV��!�� �H��h�ǡ���7(�l;B�������a���9��1��i���L8#�lz�zm�U�#����,/�h��쥫���~}
�%����4��E��]}}�N�F [...]
�z�qI?c�	j޾*�X}h��?[�ν�g��|��]�]�eko�@��ڌ�DFa���FQ��N�Í̯�v��zPxg�}m�
�~s�Z��X�����>s�
�
�8��5���uU^�O��d$�ͮ͠5�@}G#�1Q�����#N_3��(ze
���O5́NY�9��Fn��/7e[�'��5bi�9��[fLF�~�Q��Eٜ4��T�n�u��{vm�8i
D��p|a�5���Gښ��*kU�d�xkFE~�	�� e�N�Ű���ѳ���v��-�>�G�
�N =�	���#��\��	~��W�E,�D�kf�N�^�T
o'{�=>�ّ�?�/Ǽ��y7
r{A��j���'�
A2�A��<ucGM�})����%�g�mUS�j��E���.�ق4r��"��uw�z�Xh����
51u�KST�W��g���g�
��d��|2��JÓ営�2��bI�b�x4Z�<r;+�um��L�
\u�
֭�j��r��z�y�7qJYv#��BhT�L-�=C�`�j
��s�`hu�QW���/�3�m�p����j��׽��X"0�� ��h�iϽ��L�Nmm �)X��_y��ov{�9�#
�T��r�g�쳚
&W�N�A
� �ܮ,
�ߕ�▰����f�V��߇��Uu
MI�ޱD�>#"��ඡ�PQW�:%��z���Ah��7�˒��k�Ci�cx�Xq+F�6N7�
����Ju��ي��B5[^ѺG%+�
�H�/hwإL
@@ -73426,230 +71969,124 @@ m
 �*����`����m�D.��x=X��'�U�
�u
m~m-��
����C�.YU�9o�QjC���3��g�{����i�r&����?��*���,.���o�B�
]�
U���)��#��W�
���*1�
���5L���a��$�ܗ�N���.�FM9���Z��h�[/�ӷ�>�ab��
�S��M����f���+�W��}�
C�]q@�q4���$��ۍ��"�8q3�r�}'vq;���D�8Q�C$���:\�d��v��ytHq�%B��`v�y������,�G��s���k�oWJu���n�u�4�%�`
��}[� X
��g�S�
�[
���4�
�'�d�0�E�"N����C
v8���V��=��<�
�0%������0KgV2�
wI�
::���0�
�
��3Gr���<�		�Xq�E��5��`����蟡�$I����8'�b���΋
��������?G.�j��^ym&4�s5*&�}<�}�?�7�
q 
�^:=�!Mx�&h=4�Ί�BȪ�
�6QeF���<���
�

0D�lk&]VN�!r���҅
=�(�x�w�@����6|�� N$�x7�
t I���k��7�[��"8+
ﻮ����g��-�:/aXr�|�#d�H�}��>��M�I=bd����S��P"�_y)ɥѹ?
��;a�T#����"���G�L|�L&<Y|P���$�a3S�9r=��&i�yU�5|vfFEl KW��"�מ�C�M�7�k����>�4"}��
��i��u���!l+$�
uP�1b<u�,�~���H<q
<��X疭������~��tu�
aZ��� [...]
 �f]�Ĉ�S���k�f4�c�E��[%�
 T���
���3�2��o�P��@�qDZ�e�Zqil�X�v��.y$�3�D�aT{!�SMK�$���ٙ+o�r.���1�/�z	M#��P���D�4	�Zf&���ސ�Hʌ�z)�qI��1��:T�M�x?_P���r��N��M}&}��Y����B��&�����
��R�F�̋�a�l+�W�/�vƹ���AsZ��nE�?E=(��!j(��)n��x�+�,�L��B��1�c�'�n�M�
p�ɧ���Xg��VP�k��xmOo�e�ߜ����a����hᆜ7�w�7�C�{����Y��6A�H^< d��U����sK�I/�-:1_�b�H����jW��@Q�r"������zYj�����|eOn,95���R�	�y���f�F<GGk
���{��RX�j���jE
-ڬl�TR�����&�*G31���9���$jP�yYe�l�g4�$���-5��T	k���乲�3@]�a�H:ͤq�\a-�x�:/�U#�1=�d������fgu��̑�E�Ϡ'
�N�?� ��LB�=�۽g�
]V�hS~I
�J\���-iCЅ���撩�
�������UO�r{H���yAN�_$K�;���͞���Jr����O�̝9^z:�����n������"�J�nz�䢶���b�p�p؎[e/X��w��T1
J�H���/%&��f
?B�i(�V���;f����<�-�)IՕ�DS����CB�d>�p�[��Db����_�㡭�Dۦ�x��1���j��qQ at 0S��]�*�
��QP�_���j�(
Z�����6z�
����
�AA+L�S��y;����T
�a�����g��Y��wJ,F�N�AL��ܻn�M85�Eʺ�*�_����U�bG��<���q��'�o���@gE�ɓxc{t��mlƈ'�N��E���V
�bۥ�R#
zK��u�)�f��õs
�C�
�ࢧ��Ǯ@_�ܪ>!Mz�`�t>�
)���횩1q�=W������El�m8Ї<a~�2cD���
oo�_�3l2'"1�d����Q�4T$[t]ǭ-t�[��y�'V0�Z����̥8O����K���8'�4'|� �b��Kj�G*��be�1���텰ߥ���;4��e�ϒʕ7��%�)�0�A��w4�bC�
xw}�<���d��^���ڍ��[��|�nE��B ���9����ϑ�ܘ2$�@y��n����B8_�Y;WyQ�Q�?�'�$:(ȝ臆Fn�
L1C�w�+N����G+*,�ϩu�䥑�;0��
[��(�U;X0�?z��}�l�=
z~gDC�z��*�:�ҍ�uBy
=�D̀���%E7���
��8�:��'�����I��O�v�ׄ� `�
Rҍt(��n� G����hpt
@D`�H
�
�
� !Cr�� �yu?�}w�� �O�DD�������������NW_-����
�	I�M/ku���?y�<��絹(mG�)Т/��5��)�Q�U`�)���L"�F�՞��)��o����s�Ŵ��<]kI�d��F��ȣ6�����Կ�mߙ�58c�r2�^��/b�"!���b&�;����6���B?|@`��p?<1���QI(t�.��X�޷�
-�(9<I��
��'�����0Ѝ�5M�a9īt�!�{Z����h�3Ѓ]ݖ��-�&-4k&��
���ɒcd��U>Z�͓+����ͪ�O^�cW#� ?���bU�2��ů,lc�C��G����,�˳���Ƨ�,�:{�1��
P���D�[�ۼ�k�Q�
Z��	Dȋ
���{iCz� H��St�KR���B�3������w���+��w�bwTl%��9|I������{]:�V'�x5��ƇAR+�Z
����-�
���Q
�H�ZM��8�޶~���v���<�L��^edž�G�n�
��N�ӯE�Y����&
-�4�_PL.������g/N{�C���Q�O��S�����t
�5�פ�����<1�
�>yi�#�����Jy�Aa�&	�(�Հ��\��:�p��]5x���u�g�[���m
-G����V�Hv�-�cB-��s+d�׾_G6L�H���ߧ����)�q4q��yM����+̧�#!ל�$��|I��U���T�jC���Jw�ݖ�e%6�&ⷺ��s�P��U���Bqh���4����>n�[�!+���f�
)��f1_����.QY(��:?�:۰U�����
m�X��DŽ�;*��_��B�7(�CB�
	��qR|HQFѶ�0I�;��D���5�ɖx���2奛��V)�f�9�y����L�EM�
5e��0�w�IC�Y���m���Q��r���x�t
��y�2C��cK�C�FU��-�W,T�*6�R �Y����<�`��~2g�_;$�
G}�,��+GR3s�D�zuK at v0m��P�������,0�)�?!��X��A�A��c\mS

ﲑ��S���f
�<ﵴk��_o\�Q��ib�U�<dFI��?C�#����f/��YaB�Sg��ם�*����
m�Ÿ�� �d�l
͵K���1.|��v�N�ߍ��	������C7a�K��&�/xH0s�0���uf����4��;z��^$������@���=p�ܐ�E��GXs���lV
�!�{��:��t�,����eu�fK���+p�M��
-9�`
%i�����Œ'ն����t>$�����������i�i� 

J��1m�T�T��U�w
�+����ߦ��K��3�\^r
-rq�1MRF�%(�D
-d�OO�O�L�Tb�<�DH��W�J9�sc⎍?qn2=m���#�E���\0T.u@èqj�9�E	px(O��#�'R��vƒ�SxW�-�ς���	�Of��CU�s~�D�QF�e���""�`�e3�<F
���ea��]����PJ���[��5��iv2flR�C~]�$z����k	�p���G�(;q����D���k���9ղovҙ���ެ�$r�A��L��������l�\�&�Qà&����\�S��3m_������]2^M�
�
v>W��q3c)P
�o�D�������>hJl�W�(�H:�"�EJ܍�ʃ%��N?�9(=6�أ|�EW��r���x�/@M�
Y�į���R���բ��i2��?w���;&

���W{���w��R:�/"aO�
��H_~�
�Գ�$�4^��l/�1�C�[&H?3��z�q�d��F'���q��Ct��S�:bΦ~���ʀ����Xs��:�rJL������3̢��4ݨ����w9C-8^�o������D��ڜ��ل�-��N����XD�ݢ�
�R 7��c�?�J�8��L����{�p;i��p
H���P�� �P�0�����d�������
�ˏM}���(n�,cR�-idA@�Y���f����
n
�t
͍��k'����j���
��x�׆,���a�ɠzrn%ե�n�p	�Q�؅� z�p�J�B|��N��g��B����d%�5���F?�@t�fe�2]�s�_��J_A��
-Qp��b�zAbW??��<2���;�{����UՋ�#
6�u��W��Jﮒ�
-���6����g_��8�芠B&Kjc���/O%t��IC�W��k�"�z�aS�0!���}�}�N�5��"��0�����F6����X��m��F���	�Ø�U��
-%V���
�E=3����Od�b�J�Uш�<�W8ҽ
��ĥ��Ax����G�^��g�1�۾o��x
��ou�����k`贘EO�q�%~{:��F�ke�n��jل�౲n����v�
Q������$\Hkz�"M�Rfˌ՛���
:�lK `tH���ѳ�J�N�֦��XW�6�f�.�
�%�	��Y�l�z�𢵜=J�Z����!��*���d%���Y8
��?WR��;���Z��Z���
Љ�_�a.2v���Lؾ:�����^��#�� ύ*��t��8���(��O N^��W��O���B�endstream
+ڬl�TR�����&�*G31���9���$jP�yYe�l�g4�$���-5��T	k���乲�3@]�a�H:ͤq�\a-�x�:/�U#�1=�d������fgu��̑�E�Ϡ'
�N�?� ��LB�=�۽g�
]V�hS~I
�J\���-iCЅ���撩�
�������UO�r{H���yAN�_$K�;���͞���Jr����O�̝9^z:�����n������"�J�nz�䢶���b�p�p؎[e/X��w��T1
J�H���/%&��f
?B�i(�V���;f����<�-�)IՕ�DS����CB�d>�p�[��Db����_�㡭�Dۦ�x��1���j��qQ at 0S��]�*�
��QP�_���j�(
Z�����6z�
����
�AA+L�S��y;����T
�a�����g��Y��wJ,F�N�AL��ܻn�M85�Eʺ�*�_����U�bG��<���q��'�o���@gE�ɓxc{t��mlƈ'�N��E���V
�bۥ�R#
zK��u�)�f��õs
�C�
�ࢧ��Ǯ@_�ܪ>!Mz�`�t>�
)���횩1q�=W������El�m8Ї<a~�2cD���
oo�_�3l2'"1�d����Q�4T$[t]ǭ-t�[��y�'V0�Z����̥8O����K���8'�4'|� �b��Kj�G*��be�1���텰ߥ���;4��e�ϒʕ7��%�)�0�A��w4�bC�
xw}�<���d��^���ڍ��[��|�nE��B ���9����ϑ�ܘ2$�@y��n����B8_�Y;WyQ�Q�?�'�$:(ȝ臆Fn�
L1C�w�+N����G+*,�ϩu�䥑�;0��
[��(�U;X0�?z��}�l�=
z~gDC�z��*�:�ҍ�uBy
=�D̀���%E7���
��8�:��'�����I��O '
+��}����۞U.�j4�
+�u"��BܤD&��wyI�,'�0wg:S��H���,��iK)�����W+��0?�ou���!s
��v�S���҈P.`:k������
+�_a����*1ݴ��RihN�j�|Y��7^�Rvow�e��cOmܒJ�QuPK���,R!�`�J��Z܌�p�sv����\�zL_b;&z�|h�'o��Q?�/��
�w�k��%}\ćż�S� �P�޽�,1�<2o��r�KIV���R��?�XD���p���5	�4wx=�Yv� �6�%~����`���A�@1��Z��W-�Jz����`yw`ʸ�p���7�!����Sej�R�F�>nտ�;mW�ٚM��4qc?!u˃��P�uk�#�����0�Yr����섕���;��2�����aψk�k��3��I�/��̊�{"�u
+x<��
�������EW�jYuA�De���
+����x��\=n7@�E]�=�]
 '�����fin�E���~Aw�+@�T��
+������	h�q���k�Q6��€)
Mv��{��6GLOvD����P1[rQ��
6����u_��t<�a8��P9+l�r�s
��~Qb=
!�R$Fr�e锛X�:!�8�0�i�\Z�rP�����R
$�n�&[�F��u��!*.?����|�Ɓ��/j����e��|l��'">�.6���/���
+C�9��&Z�F
�Hȸ^
d���]}�BqCN
zl��>n:���-Q���љ��Z�3������@P��mW�
��G�.��,���@s
��^;��ķʳ��-���|	b9W�L\��v�z��
`�yylL �B�0"u++��{/?�I9-�ʍ��5�m�._�S!���;�]̳��Ѵ�ZTE��

�\t�KJ��OJh�-d
�Dk�M�G�iښ,a-�ѬV�̧�3(b���a���>5���
Q6r>,�ۜ%D����Ww��`Η�qFy�T�
�u�J�<~
�*&�H�?_VF?���$d|N�V��y��%��QE �Cb����@\x�f�J�V=p��'�:J����N�Y`˶Y�߱�n=�����<�T

�#�G0�����΃���
�#7��+<:����`'�<P�J���V(�fo���	��h�v ��2�V��Q�V[
+ؼ�RoKU ���VK*{��h��F��*-ǧ�9�� u�\�
JnSŶ^%�:�d6�gl
+���V��DRӔ�\�����S���A
�CY��D���ct@�]�9=	@K̀/^����Q�	���H���$G���ӯ0�ɫ�����P��DUvsǎ3�S�����ʓ;`gʅ:x9�6���|p���O$/��cwfg��S�<���8�~$�O	�Й��R
=��k���*�[܉�
����O�
�1��F�,ә�n��عQ{
�Aܗ3��\\z �]b"kuJ^�j�|��a�"X g#SB�>IÛ�͟퐫Y�Z�mx8�Te� a y��<''~�.d#�>Q
6y��Z��Z�e�j��za���/��´M١?��#n>�:5��=�s��C�[Eu��+E`�cG�\����ݬ�pQǁR�B�r�~�'qg?�%�m�Lw�r���Ԃc�Te��/i���A�!D0����՘%�Ȩ�Y$�\#�����j�������l��䯦9/b?}�*�iM��x/��:�Aa;(T��
��
+\Am|Q՚�?!#�?�b�
X���:B��0�q at z�+H��4�~��^��Rְ��t���<@�ir9;�Q"}��E�@@Z͏�e\�I]��O���`�5C�n
+o�%�ԙ�(��Ke,<�j�� ��!�C�}�]�̵
K#!
�D�c[�
�,6"���mk{X�S�M��X�i6LE\�H�� �
���.�"iA�5'T�&^�
�7�_��}�_�9�
+;s\��#�
Ja:є�p�dm����L�:;)��ua���\8Pʵ]����L_"�n�7����pX��/�9硱rP<��ٖ��~�x��
��
gʘ���F�����>Dp���+4m���X<A��Vo �?�	;>�Ӽ|.Vu
���5�%���Qf�=��pTr���fp�攉��@�W�0p3��1jr�g��+���
��H�K�3�Q3;��
+���?,��*y
L������c
j��U��]Ѯ��7\�m��v� �[������;
�w���#z�%8����IB�k;��7R���lz3�Bg�9��첬'
Dc`|��G��VoP7F�"^��5��o�?�-Kh�f�6P�04x��WA�IH&��HM�_�
˃��EIqW�^�z �@yC~Y��bdsI����P!q�,��lƨO2��o�m{ L�e�H���cȬV����9krO�Y��ф��B٧�H��
>��h�(<A�ҟ��F�6sY`ρ܉�y�����ؒ��Z��$��%�Y:��:
��C���� {�F1�HA�����뜰@s�z)�V�k�u��
U���9�Cc����Z�Q�?Z/q�2|V?��ԡ��H�8m���ܟ�a�G�2���%4�Og"#��^t�6��5�-x��uBԲ�NM�q�H��
d���
+endstream
 endobj
-357 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12198 0 R
-/FirstChar 2
-/LastChar 150
-/Widths 12231 0 R
-/BaseFont /FSFBHH+NimbusRomNo9L-Medi
-/FontDescriptor 355 0 R
->> endobj
-355 0 obj <<
+12241 0 obj <<
+/Type /FontDescriptor
+/FontName /MUQVXJ+NimbusRomNo9L-Medi
+/Flags 4
+/FontBBox [-168 -341 1000 960]
 /Ascent 690
 /CapHeight 690
 /Descent -209
-/FontName /FSFBHH+NimbusRomNo9L-Medi
 /ItalicAngle 0
 /StemV 140
 /XHeight 461
-/FontBBox [-168 -341 1000 960]
-/Flags 4
-/CharSet (/fi/fl/exclam/quotedbl/numbersign/percent/ampersand/quoteright/parenleft/parenright/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/equal/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/bracketright/underscore/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/endash)
-/FontFile 356 0 R
+/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 12240 0 R
 >> endobj
-12231 0 obj
-[556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 555 500 0 1000 833 333 333 333 0 570 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 0 0 570 0 0 0 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 0 333 0 500 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 ]
-endobj
-349 0 obj <<
-/Length1 854
-/Length2 1837
-/Length3 532
-/Length 2456      
+12242 0 obj <<
+/Length1 1642
+/Length2 14402
+/Length3 0
+/Length 15264     
 /Filter /FlateDecode
 >>
 stream
-x��Rk<T�N�d(�B�%䖹�(w�{�(����2&saͅiΔK�/�\ڒ6B�$�.8�Hr٣�-�+T�Qt�N{���xΧ�;k}Y��>��}����u�L�(�`p��1E�Qx���p�
@��0}}$qh,�#����%
-��R@��h
c�
X�|�F
� �F�$
`� !���I�P�!� �� �E��
>
�����l�d���a(@��9 at 0H�1a�eC����
-S���Z<bKL��F��"�Ť�
-Cx�$�@��������p�tcY~9���I
��O����΢��{�A�7w�B�2��:sHtَI���)�
��`�6h�=�(����!�!$:\�A&�{+��V� �\|\
]M�nu���Dcr��p@�I^�Q֒� Z��#�(	Q�~�
-�n��̢ИT �5HD�Ð)4
P �I� 0Jbg�8�#�$!‚`�K� [��
&�I�rs7� �M� � ��
�1i
� 
-�l��|M�D
-�J�,�O
�
��W�ffoϊ������(
��Y�
��G�B��\JI����dY �a�,������*;�T�}Q!/�{�ŀ\��ͣ�4�����ҡr��ύפ��������N�@�)
Ɂ�
-U�k
.����6���q�?�[21�vn�8p�l��&�zv&Aw��;�cw�(S�~E
F�6{go߂(��ڬ��}�ԑ����
��c����Nl����A͸He�ZEˡ��zD�w�y����5�8���'�Z�.
n�~��auz�J��u�9�� �-n�-�ּtz�������
ʾ��d^��X��[�t�it+�Xi �҉0�����,VLÄ�cn.��z�t� 9�4�SO�ފ�'
U;��o�QW4!-+�R�-9ߋ��\��Q����	u��D�̓s�o���M�>J�.�8���J񍶏�#ol{n0pv�����F�IU�3��$��RlUZ������ԫ������>h��z���
N�iԻ��}�e_\q�g�u��F�UP�r,ܭ��P�+n��P�@��Q.j����X-�B�h>F��x�'��v���/�Uʃ4�.���{��!%�L�k�ct�h@��

-b���q\B��l�9}-��U�K��Cn�G
.��<�+tlx�
���(�+|r�����x0�M��	����Bv�kZ�%-����̈́a��N�؋C	�N���4Ԭ�K�4 \��M���K��R�8a~�Ю1��!���Gs�Iu�S�w2�Y�B] "�~��
U�g�nr;/e�eE
��25]�+&�'�W{��y����p��0�?6�k�7�ȅ�^�=��dǂ��)�ƕ��B�L����'9[c}��7v�k�H=�
m���x'�����cP������^dh���|bFo+�1&��V̈S�B�K'v�Ł
-�*׍���
�G^���3��*��f\���G�$���ħ�.ٗ	�@�Sj :02�(ZǕ�'e0�˻�R��wv�����˘�w%\����P�l�v����OvC|���&�,�򚛑�
��Ԥ&:�-�It��q�����:+�*:a��a^4Q��Q}q�XQ�^��~
�w���_�����[i�a���7o��ra�F`�?����ӛ
-�f"%�W��
-�6��a�̝`���t-](iɥ�&�❨5ߑ�㩚-��a.{e��OK��Mh޾$������㈃̃���=g��O�&��&��Yja�&�*��
��S�ܪ�a^6!�8U�}����g`�LY�6�
7����l󍩊����)�uj�UYw�ͣ�B�R��}�C�4�����SN'9j��T���e��q��f�q2��>";ƛ��n��HW%]�.Fm��w�*ڛ��Qs.�;�W�ݢ
�y{�dU>���Һ48�3]�7�5ڳC��6��7��`���d9�v�$�n�Q�!�
�*�'/��-�'�
�K�k󷈂���.Q��D俞�v.�&��@���6��r2��o���ɆG�
o��{�����~	L��D�
�5m^Um��P�����q�
����!�{ؑ4�)P&Ц�g���CW kN
�?�
;���į2ëӃS��BW��A3V��j�@\��}0Rh1��r���ߘO���C��~ޞ2��IN�T��gZ�3�+ƕ̺~p{�� ��`c޲]F�+6%=���ehօi��i)��+�J��n_�/2k��~6
��]����k����R��vc^�g������
:�:kTל�փE��W	8�	k9ͪ�\�͏
l�f0��
�����z'��
E��v��	�B����
�
?5��+��Z�?�z�EEǵ^ST�6[�|35��
-
-
�*�1U0^���S���3�9C܈�}�\�V���
-qo��+�������_k�ao���$9���G�
��ӽ��f�N��TI������u�EV_k؄��(Or�~
-�>��
�O�� 	�$(
�/���endstream
+xڭ�eT�]�-��n�����N�@'@�����Op	�����������>c�{���t�^5�fU�YO=�i(T5X�- � i��3
+� @lk���U�(�(�,�r�f6��
��#��
��4s	t@ I��	�@�H@�=
�V�� z-u
&&�����0���o���@���+�bo
�s�K�
���A K�
 ���'�,��Q�Ȁ�@��Pu1��` ��	� ��8l�}  !v�Zsb��%�08ك��a w ���`r�;9��
 ;�
���ށ3 �ڸX�S�_�%�_�;B�z������B�����`{g�߬������������N�0 b���t���ai���f`;'�3����\� �������o�d����������
+�� +3G
���_�������	�_�7�����W4�_^�Y��	dcɊ���7'��on+�
�?�"gg	p���n�b��+��_D���0�-��bg�� Y"�)C���������?'�����#����'���y��o���N-�bc�lf�w ��g ��
��(�Y6.���
���4��x��b�����E��X�w����vV�a��a����$
vY����� K3���/�����l�+���o;��4����v�(��odg����ٿ�gS�W�Sa��l�9���gM{��ͤ�����?T�?C�^,�Ka����x�}�������JfΎ`w�;+;;���|��d��h���FH��������������W�-������_����H+��P��
���y����
��!�e��Ņ�5�.���-�Jӗ�ֆI��V��c��]yƽ�n<��T�y�CO!�m;�^ �qjƉN��ż��}^v���j�ƥ/��\�/
��\
�q����|�iuq�?1���
��&
>����

t]���3��!��~@���w�%�ת�%5rb~��ة[�=I!�#�U���!"\!�z�ԓ�@�\���)iS�ƥq���d^�Ht�c6���<�o�-�i��c �����#F�>9V��9TB|1��ʌ�e�|J%\*۫n��2���}�(c�����l �n�*d��<��.2g�zҚ��nLi �p�Lk�4�ַXk��+�R��S/���.SLt
E�e�9=`Aӆ���q��4w���
�S�`���H
���J�I�t�H
��k��Ϋ�D#�j��k�MV�@2�d���݆��o��}��u;u�F���*�+�
#
g,Ju/��\�|����G=~S
�e�&���]�;H�sX�
d&\���HH����z����V�0M���^��&�]���ҧ~�{

�����������F��T(	�{�{�[>jj�����FW?������l�(��O��`�Aq�������#�3/��d�
��Wƥ�Ӿ3g
��z��f���z��|��]d.?��'�!���O�e��Se<�p�m���PeY���o���E���
sm��Uٿ�\���	��#
�B�\;f�t��]�~�CW�bܶ�h��0{
k�{������"7z0VH�7t}�⋼�� d�
F40n��c[#�5��U� 1��|����N���v*�
i�Jɓh��ax��
��
sy2�
F��G8���7��
]�x��3�������WLr��AĹ���78�0YLo~����1�ջRf+�����~�{����@�Z�xs�7��Y��y#T��T�؟}3�!Ri;�
U�wn�BХ�����̈��$	�no]�&��
ltx�(��w��i����L�Ke�6���
��5�f��|�Q�jjN�oE6ˎ��b�22�,%*_*�!��l�N�(	~�
E�d(�\\1!���;�j�‰�5%OM`y�z�1��i*D�!��ʰ�m�
�m���d�
�n�EC����t���ו;��t��5B���܌0xe�vD��(Q�b��L��ׄ"x��\2
��FUf�My̪%JbIJ9�Yc���m
y����a���%x�=����(�q�n����o[{�
���刞�9-h<�G�I}20�"��t��?m������k_�L���j����X�,��dp��:���
��
��V2�����y8�
v��O�II6�݀>Km��S�����̓���|�	�Wh��:Ǻ{���M�键M緬���=�W�����"�S�.j���"��Nw���� �
����x�LI���2��u�����eI��L���=��b��)��'9<��K��@5Z5�ؑv�sWE&�r��մ=t������u(�ߐ�5�:Un�}\�
��E�o"s�~�v�?�;�_P�_Ocx�{�4�2��nX
n�Po���3h���8<?|�[�/�edC�^�jf�
�g�d6�n�
+]�2���%<{l{�UYu�X�Y3���E�3
I�P�||h�Ŭ!4Xg
+��H_<��z(���
aj(�v�
�l.�k��W��4�>Ę^�;��D��ڐ": ��q�$��ޭM��b̼�MŨ�̦��
�4�,��4�Q�r[2��L�\����^�NOLJ))����*;|hX���oW0]W�߃�M
���o_Pú��S
WG���hr�Z�y�
�A�T���`J��P�S�;�Cԕ��^��U�I��Io�8���Vk���'�č�F�PoN��x��G'���-
�j�ӚhId����߅�^���ɡ��L���В4�0.�n�Qh�'/�;7˘��q��\�l
.rD�&�d;~������х+�

_� �
�]^��+}��@
��e��
�F��(Qo��
��_>��P��47�������G
�����^H���m9#�v�g�O����~
��\��?
�[Pg��;Ĉ~���	�#gdc�����9���@��V�kdx���n���(� ��o��~��
�����-���'%�w�
���P�/G�,�\�às}��A����N��;,L=��0
�)?Νנ����k�
����n�

��3�
+�yI
M\����]1�u�s���Y�Z:�M&��鳿匪_��n%%������e8��|2�C�3��M��X�'�S��1.��t��՗ŘJ�8z���憖#��0��|�}
+>����������w�Ͽ��/\~���*�
��ĩ�R�ܽ/ZZ�:��2��3�d�hE
+���mľ�}杖2
�����*Q�M%�a^[A
i�
+�����;�*�%&���jH N
�7����s��v���6_M
�+0� ��L8u)}
+���
�����RFx�T��FH/|
+m�2"��#9���TGR�h�a���^%&��6�%�jv?�s�ҝ&�z�; ��$�s).5s�Y���p�T͘�6̘i��4��� �Pi|��u�,�b���~�q��EP�l�8��]~�
Dp��uT�Z(+�h��re�v���ș��agsk<Y�f���9���aI���B3��K���=X8�����lE�'E�Rk��w���U$.�V���ݻy���8w"��e��"�#tԲJ(d^�
Pq�
��6M�T4�eꦿ���o�~r%�L��:TK�Yp
�?
Gפu
+��fd��2`��.�������0���0+[��:��
�>���ń�hDeTcV.z�:7$6���}3탊����ב[E�-

+E�
�C�����0�Jx�)0x&�rk+C �jW
,�p��e���T��D�;Z���2ϝ
S�.q�=��e=`�O�=����%K1�.H�G���Ɓ_W˧7?I��|͙�*g]�%���Н���&DZ^p�_��$�ڰT|O���ǯX�MiP~��.�h�]o����?tj��=q~�WÝ�j7sHɤU*��5`##|9�����
�|�q'K�ȿ�P at PBj��;�)�?��t
����
_���4��e�
��ȇ �a������#��.]��)�6%tmɱGY�^T�
��븃]Y
#8G���v�I�5;
+�x�q�!�	܎�
������b
�)��dR=D!#,�
�8�3�{�#i�SCU��e!����.w7�}��ugX~g�aR�:A�<Niqq���Oe)�:�*n�yXBغ8�_�=�gf|�L�
�����1��\��|ؿ�~�,s
��s^�h#���?��s�����5�@5��V��lJ�?2�i�a�~8��z�aiT��(�V

�G/
y���S:

-�4�B�H}ZZ{
M�Q�e�=�Ԍ\݀uD�ͨ;-�?�k�	��������S
+�ҹ�"�r�P��3vk�.6d��o����:��"ǜ�����9;��Q9D��@���[�~%�5��t���>�7p
�N{K/��7�����w��i����"�e]|�U��&�v�~m�On����F���it?�����C-:�g�J`�'Q�P��z�嗃�ajeI�|���N���z[�@�W�.�_sш�_,�CL
4O��Llh
�5�n��1���`t�+�J��!1*���Z6�2."ˍB��e�7t�ST5�U�|69����&��4��_���<r�+Z�.J��W��(� �P�0S3z��f�?�"���hִ�1zX��v���
+{G᠌:��m�@e'N
+�c�1��ǡ�ppG5����
E�P7�������E��'�uxa{'�ڞ�H�19i`o<��ݯ�e��e
�P�`R:tfy~�2�k�
��]�ޣ u�0���)I�M��b���qh�h��&��c�I��tQ<d��i��[p�B%(b�;�"l9��}(�f�
++ݐb�>�|2�ɐ���H&�$4�}����X$����3��:TN���E�>1���?����
.��\t����!*7���Kw��
�	۳_���ױ����@�L|8s�>[k�_�]f}wWA��2����H�
�1z��k�B!
ڡ��gk�����J%��e���@��M�X�&�X�Ȫhw%�Zu(u���p��սR�V�x&%���.��S�'��m�۷h�O,�0���P	tѓ9ڴ���bX3���
�4��R.N����s�>j
�����A3�oE��q!L"1µ��T��}~��Yp�.��b�
��ʳ8ߗy5Ik�T�P}�����Z���Sg�b���CY��$�"H�D�����E�8E6�7���Z�܆K�獵�;O4�
+er?�nJ\��a�a�e�f�*,�@�|z��l�F��%R�X�<�����-ğaR�*+��LW[[`��BQQ9gX�!�'� �$*�C-�i�
{���1A:**G���R[�"*K�A�F
����QlV����;e�H����'	�=SSL���w��\������K��cSY�23�c�Qp��E�8e�R��Qi�������
���t=4}�l	d���.�f�>�o�_v+t+� �[IT�#�.b7��2}�����t�1؊�
��tvA���p��G����΍
ܘ#(s0�6�R��ݦYt����?�E�=�D�  �o"�$���,��>d�xe#u�˺���>�[���\���$�E�_�����Ɵͪ"��c0*�]P-A�-+p@
�ȴY����\#~����b*������OU��Mm�����P[�>�qd����wF�
7���8�����l�!�|,��öw�"�d���9��������a��Wi�("���4`����0L�ޯ�N=t���(��TKd�����<�m*���OirH��f^`u���KlY�h��yQ"��n�J�g�d"u
�b*�t4x⸩�
+&Œ��L��g�������{��S����:�]Ѳm̾��r
+�*/���[��x�)L�5^�
��]�f�
8�r�
��wD~�y�J�wh���:�4+Q�O�JFuK���l���Š'̖�DF���<D���#����K㛭UK���x���9��m(�
ՉӠ_xn���w��YY������S&�}�-��9Ndy8ë�����@5(e�
�!H�v�n,}O:w /
�j��/�9>`��M������Fc�Cs�� ,DXH����0�p�J�Q�)ټSD,ǧ�U���An���7��չ�t)�
;ĩ9  �	���I�Dq0��~���j�
��3��)~F�kf��$ô�(/�׬����x#�[�M���8b8�i�7#�iwa�^�t�؛pz�`TA����g�6��L��c.>,�)��YC�b(X�|zy]���z �v�8{�ч�A���`��3�:Ԝ�����<�81sKƒ\����$AB�)�J2�����
'$�=4
>4'R��Ni�	S|�*����};E�G�J.��V�{]�NJ��rHT��
+�|��F]PM�
����q=�ZX�?{*)�}�ZԞM'��.
�
+V��|
zJa��n�F�@jVj�S ����uΎ���"�#��
+�N��Ϥ&j�
¯P
�jH��
m��,ޕ��%C�?��bjߥ��h<U�D��	t��Y��~�b�˲B$�>nAz�-趐���z���%��
��ƥ��p9���u�T�[�
+O��*��o�l����'c���
|F�l7����y&��`В
BRk�q �%��*��rË�y�"��7K�|-���:�G-��7�t�+�IK��ݽ��,W#?�0�gY5gh|�P>�ZD\���mo�;� �qY��96��B�ԇ�����X/
�N���B9��%��ҧ�f�v:]�aAO���Y����gq��)��uc^!—\MJ�7z�1
�%��
*���)��2���(F]b�����Ol����T���
7��>ӿ�J�RZ(%[|MHM��L��� ��>�&�x�V� i m^�֒��`\3v����d`F��@��W^�t�b�
���N�h��G>��~��2��u�8Z�o�j�h;�
G-p
���Z�
+�I��Z]����r�/!/��Ө1_�ޑsw�)���B�7�)�8\
�m�S���S(m��r�K�M4
fs��y�>�x��-
����ۋ��2��]�i�G>���L��6��R����," 4t0�(_��UPPG�������@�N��u�,O��R��$
s��t�nMĻ.R,����V�����U�����~�⾪���/�/(�!�r�*y`k�DX��V^�tG��)'

��[�)�	�z塮�M�w�DEm��ś�=��걹���
��!VF#���H%�I||���y�,�܁Oؓ�FaW}t;������h� PFTEm�����xDm2J�ry�	Z�ĕ/(Ue�x��-��X
9{߶
k�8�\v��i٠<Bu��XB��+)��9m���v
�d6�Y�4l.r�'�$	�*�͒�-!�y�P������g)c듺N�\2�1����d3$�7؀<F!�t�a��J�:,u_n���8~-���Zo�y�#CC�-y;��6+�L�� ��\�
"Xg��
~��x�jђ����1�Д|-/\a
���]�3zĢv�N\
+֏��&�VSp�����w��b�� ���Q1�ScF�%ӯ�v��`�ɺ��\������r���~#��¹���C3�׵�̎G�
C�(�e����>{
����l2�<�F��WL�X�忞���)�K�"k��Q�c|n��7A0��D�iYpvM�	R\-a�
&1h,�Prf��J�:��BO��8�`�y��
�
+y�gMIJ�-�����nF���Ҷ��{�jw�{q���X������!��YG?��'�$�D�gΌo���c�e%�.�-�),ŦU��
��k뺐��m!� (.r���C���I��?�\k�a+��N��H�`X���ʭw�P�v�o�D�
���0���?ȍO,���T��m̿f:�w\
k�I�,���m�i3Q1��Sd
0�K\�:X�F��]J�/F�}T��� �Q��Y3���DhaTT�w��ۉ��#�i&���v�Hm�DkQ�6��^�Z��j�/I���0z�����f
�@��"��qENpY���0ʸ��w_���ۥD�x*��N�ߗ6At��G���2R���U��0r-z4�����
`[�SI�-���*�����ͽT9Ad�G
��d
_
+����㥦�p�G����̎<I�\��,\v�Hci�$�Y�[i՟�����¾����}m���.�h��N;�wR%Bz&����pn��Y�rzC��ɦ
5;�R�-�o1�T�)��z�M�v�$Q2�
�a�#��
���O��~
�|�E񔨵՛/��Iw��eN�w*�B��恦���{��zg�0y0���;]�'�D�.�]��
+��Ô]DvkK"�����_ᷭ�Ԃ^�j����U�|x��s��)�x:����R�v�<=ߥ>L��o�J=|(�
���[��@F�WX��BJ*��P
܈7��a���)�l���aq���|�14�<�7OH0��O
��B�H5�RG�5�;r$��{]O��%����7�]�$Wi5D��hщ�2
�$�`�
`�";l+.$�2�ň]V௑`���<�#��P;�u���#�E���~��Ƚ ���UܑGl�E�I`
�Yh�
�C��
+f~[���-7
+���t&'`�X����U���W=��CV9t��Y>�i�O��&�㦹�7��gD^7F}�,�����*n˘����[8�����44���)H����^��=<j�ց��2l���
���ֶV��^��&��]��s�R��a�-�>eV�O��X�å��_zVʙ���~��`��hFپE����C0
����~u='��.����[�e��r�5�t[�̩�S�/�Ԟ�8�����w�?
*qn��0�o�p���!�����=)
�s��9&��0�����T?�y�$խ
�E�oĝ�#��\v���^���u��ؾy��]�����N������%���5�0O����5�������a���(�yr)�� �:b�;�j�����:E�(���%zo�U�g -rF�5Xs�vjI�W��a�D
5��]���WA5�v���G�s�ט�^ph��Fn	*)��ɀIE��F-����l�ԏ	[#ٯb:����W�|�O��w���tVm���
�!�s����]I��kW@��*�Jo��ue [...]
+K
2�
+�6n�p�i+�4xP��6\�b[c���H��C����v��1�t�n�,v�~��AwAR;m���ۀ�H|Mg�{�?
�(�D����
X���9X��j|���kQ���%��0S�i7)��V<HU���J`߄"�����#N匇/
��:>�>?1��N�d~%(��C9A����Z��Ī��1AG+ס��������q_t�/ji��~�/ H&6c����7į&����it*,3
h��N�dž���
-i��h��=S'�#����GKGb��8=P�1�<��mq�j�5���P�C7����u��7�u�gz'������F�OL5 6�9� ��
&҂Ɍ��~j
��T��5�ɰ���'�m}7i�O��3Q��Gm�SNw��+�)�bs�$'{�mt�|J�
��s
+Gұ�k�T�V��m��Q9���(�+5���ϔ�o���L�
񁃶R���O�3�'����cH���u��C,X=�i�zI̢BC����ҳ�p��n78�{��t>���o�,���əG,{��kq�+��`�����R�{ݩ`�%|'%�77&�wɃ�޾�
<,�D,\˘��3�dsE�P��m��C��7QѦ|���G�
=X�I��tt^���x��,R��}1𧨱/��&�
+
��B <��;
+���;\g����x]H�I���^�����Q
�~
�����c�!�(�E�,iW9
/�c7��d"�ȶ��{fWr�d�
+h���Ia
u��E�V��1y
�xr�e:#9�]^�����
�3��rG�瓔�	n���}&�R�<����I�߼&��5�WVf!?gʴ5��-��U�����gݗpI��׆;o;$��
�kr�o_����&��8t�����;�}�H�7��|�\k
v��H&1�4��Ʋ�;t�v�a�ٚ22 at J�3Gu�>�\D!(�_��Z䒮�~&x�4�ނ�
�!�t!42H�2Z���'艢�7��8������e
��
���(ݜI� 5��'���[W#�$�z�w##��f��T����VP�,�7�*9E��K�h��gζ4졦��y�y^76h�
|~?�mm�����O�nܼ")�K
��>�6� q�U�_T.�DI�V��������	m{�η�&����
+�f�E�`��O΁Xy���J�y���-I`�g�1o���ė�O�D�A��Ʊ��
+N��5 �7-�����:�־�!nK]�D�.A��R��a��O��>�O(X!o�G��-r8��R���FW�-v!��&�C�h*E�"}�pP%Vϖ��uG<af�GH��y��<�L���?=>��6�j3zw�N�|�{`�'��H[����Z�a���Ac��w�����l�*̻�^4�xŻ��L���\�S��+��[��XL�Ʉ��H�I.�<���җ�0��'���]~~&�8����&�+>

�|�n
�໱��֙U�ɩ?sG/������\�̿5�fe����!f >���K^�zк�a]8h[�F�V��H��7C�1��λ
��[�oF�����
�i�L@�,�
L�u�z��N�)��P@�O.{|ŃX$���(�{X�P��
{� �
2�R�Z�#yXRko�xj
1���� �
0=x.�PT�K����d:�˜��T�n�z�jOf�S=�k.���V�
+Drxb
176�k.�z���jO�쥍��w��w\��<��
p�{�c��O{1 �Y��1+z>�ƿ6���]fC`=lPX;_��:��v�YSd��?L�MG�Y
+$ڨP����1��4u��G���u
��*w���W�R��a�pw�5�����c$3�JQV�j�<V[Dp�

�v���Ќ�s}-s�P:��um�,���w�k�$ya^���(ϒ�;h��H�T�8~0
+s=��
`!i�!�������|��Z���B"��,���u`��}��e2��'
�m��5;k
��NI�ˀ�}�����ϧ���
g�*�1����������h
���
ߙ�!�ړ�c�2�X��^��|݈�o3�rW���u2 /P��gY�V�+	�7�����b�2!+R���q	S���uH���Ω�T�/�@�B_F*^����U�-CG١7�(�|�"�T
���Q<���Lw��R?LB/W��g�<ȏ��hf���~3�)��P��Y�dS$'8n!���td
Ę���w��>�қF�DK!н5L7�qTZ�'���KM������l�dP��3�~aS�MC�S�p�����@�ߵ�1pZ^99��n��)�l�]��V�D�0�F���?��'hu
�a
�n���o"���N��M�:t�!��+�{+6y&Ype��#T���z�cK���kA��� \���7�8^�`s��S�)5WO�7��b4F����^? �5GW
�j
+����3�V~�$����_=L6�c���7�
}���{��2A���P���m�e�n�ͷŒ����Y��-�V�mw���1}�t0��9���U:=ھ>�B�K�qg{��eF���d�w\�I�C-��~j�ؗYN��R���n)�ƿow�xpTi`z���8��u���F)J@"#��3�osV����N�S�o{�V�����@vX�U,����O�i�c 	랒�D�=u�Uҁஆ�4Mc�J��w�a�21T�;�)R/�K�wR�\k��\�ABȉK+���֟�9�gKZ
+L�������#�1���Z`ib��^�'����Q�e�@c����/p��^���GiV��+
��,��
	Q[C��*�
�S6���d����X��I
x8�S[U�|Zf@ y�t�;�6�W�����Ps̓��Md���x�
̶�}€���0���n/�"Z�N��UQ��$A�Y�	X�z�^���⡳��k1�D��o��d���XFL�q�O�8��/����x��ϰ
�cMa&�/�5��sMWc����C��*m���h�ٲ3=}�̓��x)�0-4��1���]�U����	��@KsgE�s©%��)��
N�����R�2���/8�^�<5#�<��~fV�
�,'YZ���3]�c�����%
�9d
+"X�~�w�a�T
+Eqz�]��ʀ�m�F��T��Y��m
R��8e��
9�^v�'QfBbN��e��T���I�PZ�h��{�7Sdݚ\�4T2{ ۘe~
󂅻���-������7҄OĤ �PrU��&�>q5�|�Rt��<ڍ�?]�'���Ϙyyk�
�x�2��aywݞ&��Q7��\�Ca%<4����?�nq�$��-
���4X~���8�#�^"�VE��j~� ����Rh�@�
_A�X0����a��4M�����Y�<V����T�.�E�|
Ǣ*-.	\�a[xJ�em��;!����7�Nok#��Z�ԠOh
�멒������(؝Z=Z�5�o�|�MPh4]�g��p��.Ӏ�b�;mJ�W�WB�n�:�i���
��	�P�O[�d��~��N���I�B߶���r2a
���c�r:��&�LX/i
����&O-IfP:�#�Ofz�@|��y��,2N�
�~��
`EIY���#I���
 JT~�����1.�.�b�,�ׅe�yT+�>E��ynH�<lX=���^
���
�����"��r�����'����
+��Η��\2�5��f�5]/�?V��O���9����U�#x�y���ց%�hR��7ZσF�&ONw�wο�ث��/��%�
`�S*|�n!��m#�J�06Lpq���
7��zSf8�T���ɵ2�͐
�
+U����
�k�ago�;�1~>DP�ӽA+��E$��~;Q�8���V�a� C�")�M��
+��ؓ�6Yyָ�Cû�p{[RM�k1�'^RFY��ѕd7�B��p*����Q�7�Ȩ=:�u�,���+�2z�kt(���TS	:
�
+�j;O�=�~A���:>I�w}%���	aK�Й٬�'�J,�e8�� 1��<���M]�
+yU �=;MK�f�)%���w�){l5Kj�ʹ4
�����N��N,��i�O8_�lOƤ�94L΂;nH��������,\�P}��7�K�'M$/�P���oulI�8�
+�X�,���9y

-���
�Aޣ'�#���q�o�"#R��y���k��2�f�d�*����-c�M����iG�cS��%���ͭ]��y��Ϗ�H��d�\�o�M��蕯M��Cz/�%��G�����U<Z?6[��b�9���ݗ���_Y|�>`U�x
3]4�8��
�!j�
vC~��w�rLjouf@��
����.ڦ� ��ìM�PҀ�y��N�oT���eS�P���$�������� ����Ky�Ȓ��u�I�)0�
�*�
Gm����\��.11P�a���
+�t���|%kO�
��4�`{]V��e��x�%��m<)=r�|���<�˽���J�-���1)���ЄW\?��es�W>�/w)(0�d��6T��"~�n�p&��C�E��@�!�R���Ff�B��Mc�g����b��e�d�V:�
ѹ�l~�Q���1]m�T0�d�23����  ���jH�5��\#mؾE�(I�V䉖O�6��l����45i��8`e�X��5�;L��
�z�/���D{�?��Q}��:�Ӧ4pS�?�J]K<��~0G�<�9�Ϊ5+m��l@�6 at k�K���e�x�'������g&�����k�ô���#v���S��}�o�r��1T�
�eq
��J"zk�)�q:O2*(�ZR�E���k�I4U�LJIM�n9�R
ͷvQ���Y��*xB��>V�!%Օ�n��g���K7�	KE�?7�j�~�=��#
cq�I�9f�
+t� 6�F��ꠐҤ��"��p9ei	-�?�$�Մa��o����A&J�bgp'j+����+7�L|{�!>��qM�n�m�=�%J{��3�Цqa#�ʝ�O�
����XEߤ�wj���7�>80��p������H<��r��qLOn�/�_�ǔ9�C�v��3�j+��⁝{/Ɨ�/Z7���jl�6)��ٍ �V���>��k/�]�%��;��>�5�kw}��A姀�i5i�����A\�&^�|0��E���=�4��

��o��ċq�[j6�ݭ|1
��Y��+sL0;6��u0N(����O,=.Q(��5���%_)�����W�Of!���>!�GT�Ḽ�)�ϙ%?�9�-��s�1-}R��o�
 ���A�kQ}f�.,�vƱ�����$ׯ��]�K�����}i���P�F�>c�J��`f���$��7��88N8qr�
�_3��ޏ�R�د�\�S���Ƶ5���Q�RP��\di$�Bڶ2d���z(�H�[�. [...]
+ԯ6��<�:7G������{#M^T��=��Z�U#`�K�~���1�*�E�s���(�}�v�}�:0Y��U�4[�R��yr�Aa��ꮰ��!��g���4D�Z%����*ܹ����!I�	��aH�OUS�#ʍp�P̹�H at tw]
>��D�bZ�����)��\rz6+X���Qट��>Nڔ�
u'z�x�~�������
��
+g��<��%
�� 
�U�m
M�tяϦ��0apα��Q�z;��?�T&���+]�Aޥ����Oxo��Q�V���1Jfx(��&��7�[�s��Us0D)�M.H�$(��qw)s��ṕ�
s�h�L��ơ򜟢��^6
���<>,F+��y��Dr�͢��9��e
	���3�!
�
� ����p�v�<R�w����GL�
���o��P70�8��ikbe�9��O�9w����p�f�v�$cC�Q��M7��K.�u͹&E�R���+�<_�iêUi}��rP#J�<�D���U' ͚˽�
+B�UҚ�.ݸ�E)��dec���
)�J�q�;t�M��'�;݈��ɨ�e����g��q��L?!�`
�
"�udz�c
{���[s����)��9���s�	'h4�N��)b"
+endstream
 endobj
-350 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12232 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 12233 0 R
-/BaseFont /AJUJDK+CMSY6
-/FontDescriptor 348 0 R
->> endobj
-348 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /AJUJDK+CMSY6
-/ItalicAngle -14.035
-/StemV 93
-/XHeight 431
-/FontBBox [-4 -948 1329 786]
+12243 0 obj <<
+/Type /FontDescriptor
+/FontName /RYALYO+NimbusRomNo9L-MediItal
 /Flags 4
-/CharSet (/asteriskmath/prime/infinity/section/dagger/daggerdbl)
-/FontFile 349 0 R
->> endobj
-12233 0 obj
-[639 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 366 1222 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 574 574 574 ]
-endobj
-12232 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 3/asteriskmath 4/.notdef 48/prime/infinity 50/.notdef 120/section/dagger/daggerdbl 123/.notdef]
+/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/f/fi/g/h/hyphen/i/j/k/l/m/n/o/one/p/q/r/s/t/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 12242 0 R
 >> endobj
-346 0 obj <<
-/Length1 792
-/Length2 1349
-/Length3 532
-/Length 1924      
-/Filter /FlateDecode
->>
-stream
-x��Rk<T�
v��Kh�El��YÐK�a'��Cn�2k�X̬�֬�95�-)�S)m�K�\�R��]�Ж65q&ewG���v�~��xΧ�;k}Y��y��}����A�,D�zp��B���'(l��t���;��$&���I�@NN`�� b��3��
)E�] �7�V�K&E���G	�
��&cP�҃
�@������
-X<
�\!��%���A ��$�F�N�M��9��	F�����)C+e�%@�<	@P��+P�*��7BM7��x�0�~����0�I��B1��G��>]�~��"��?��"a
�f�\

-l!{*ݎ���D
X��c$;p`���Q
�
E��T�Z�Ձ^�֟Nu��1�\'���E<5C_feG� "�T:
R
-��篨i{���ù��t 0A�
-]i�`2�V`8�& 4A�F��r	P6#
A�<T�A4ʞ�g�̟ h��*��1>cH4o
-��O��	���с��rZ���N������ԵRV�y�`ʺQ4eSd��KJ�
�%��
[J�F���VE�L�����\
�1��rɢ�c��=
qwx�]�'*
3}36�-�_^��b��$f=�#�@�=={���7^
�C~�ۡ0v�'
N3���5��֬#�S���+Ïڵ�-
ܿ���QV�)W�7����ƌMgn?�uy�6�=���:��Ń����r@��Oe�a��
�WuTw�h6Iz'������ngy�eGz/^��h
q`hT�:�KS7��<�;�������D���FSOjɲ��Y��v�7�Qmn���]���d�Edۓ�#ѺN+7F�<W�]�Øk�����,�p��V��`�����幯�"���j��+���ܻ��}v٪��05�qm�
{W͈���nm�Y����Cx��q���E�M-�{�c���P�.��wŠW�ߓ��@i���B�
ݜ;��]����o�OTp�G?;j?��7�v�1�{�����{���ndۛ��z׮
4Y��{i���0�������������.{�qc��P�{\�;�.DTR
Tr�
{�
,���h���
6 6d��?���b�v`mGu�}�_5�f�z�^��TS:q�rp���m�lx�h5��
�ww���������S�Ra��="����=��ѕ:~޺.����w�u�*��
-��|F�'i�����܅C�ߥ�VU=M�\C�A� o$q�+�{m���
�{^�\�2��FV[��}��9+N��x�!���5�
��9�q���~
{
��Gy�Z!�=��R
�l��1+3��͏�1�9u*����Z�o,~�KVu���˃��D�{;�
q�.�A5-
Ӈ��^�_�
���$�k�b��P�SY���Ρ.Ņy�8�֝�B� e�)
���C?�������Jb�ɜ�Q�	<�O}���U�Yʦ��s��C��{;��=��/�����V�,�K�9z��:�	��ܑ����+�I���%!�/��ҳ*�e��l�

2>w¸�׌���oC�$4_�F�d\��f�f=��h���������������ɂ�5Ȋ�q����Fz�f����a���k�y&���6lڜs�BtU
-Z�b��-�N��GU�5l��H��R�X�}�w���D�

�2�\�h���s��M*FE:d�G,O�
�^[��2'�H�peyY孷gN'V����s(��
pRիEU���3?��uK�,��9)�5�o�en���{�a�a�K�W�.}���<4v�%+~��f�A+��֐nvM���~f��)R�/Z��

8�A k����9�����;Ɠ�
����m��I�'e�
�>G}�rEg��of��V���QR<So���͗��w�x]
Q�"O2�./�Q�}_q�:�������C��������)��D
��,
�endstream
-endobj
-347 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12234 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 12235 0 R
-/BaseFont /LMERIJ+CMSY8
-/FontDescriptor 345 0 R
->> endobj
-345 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /LMERIJ+CMSY8
-/ItalicAngle -14.035
-/StemV 89
-/XHeight 431
-/FontBBox [-30 -955 1185 779]
-/Flags 4
-/CharSet (/section/dagger/daggerdbl)
-/FontFile 346 0 R
->> endobj
-12235 0 obj
-[472 472 472 ]
-endobj
-12234 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 120/section/dagger/daggerdbl 123/.notdef]
->> endobj
-343 0 obj <<
-/Length1 1666
-/Length2 7374
-/Length3 532
-/Length 8389      
-/Filter /FlateDecode
->>
-stream
-x��tg\�[�-ED�H�&M!�w�7齉!� !�W�  �#]@��4A��4�M�#Ez	�o<�y���㽟����%��왵gf7���]E{W;��+u$�(�Y�� � ���[	�`�0
-*
 II� �hG H
 ��J�Is�]�|�0G'�W�@���A���u�ƀ�� #W
��(�� �_'< �P(�j/H
�a��C
�R��ppH��G����"=�� �X�| �D{W�`u �u��b������jh8\��+�U�_<�������
��":��P$�߮f���Ӂ���.�f5Q`8
��p�CwA��@��05�7�^��8
�p�8a�o)���!DH��������}����(c7( ������V		�X�@�����Ϳ��" ��0�#@XL
 F"�>��	�Zb ? ���z��X�B�W� [� ��+��W[� !��
� �ܰ�r��@�B��b���h8
-�M�_L ����<
a���.��G{�+46�����+H uG�<�p(;C� !$���@�y at Q�	��V��)al8��;c�؋9�zR�;��y���F��~�G��
-�ϴ"�.�D�z�g���%���H�|cK�%
-�����á#@��F��
�p�!`���Ɓb+���o
+
u�cMx��
�돝!4����b���
�6
���
�z+���^�YX��-�h������������$�z�[�(�-l����FY�5�K9v����*�W�!�"��1N�alUஎ�6
�{|��bQh$��C��	��	����g{@@l0��������s�>��`��1�zvX�6��W�

��������]a)�])q�c��b�p���Hl������_�{y �
�OO�Bdœ�#�U��+���{_nN�5o
-̆����;���,���{4B��I�B60��>ypTHU�*&���i�X���OhLٕ �7�Nwӌ��%&��rV4��#Π^�<�
%ˢ�Ӆ	J~�$~F��2�y\Z:����lMA�=r��O3�5��<�bxF
�I��'+�6�##k���6����P�=���f�����2*�>�	d��w#��ڊ+8��#"�`Q��
�YJVog��ܻ,�t��+��F�\��[kb��bR[
���A�XxV
-~��:�Ee���y�ܩ	]\��vc�����N��V��شr��3"݁�1�:�W'iMN�[Bt�;������.8�
��6�����jW��ޭ.�v��\?~��z�t_����i��1K�
{'I~)�3����$д%Ii=T���;��X�ך�[�l̂�!	�ƛf���z;z��l
E�-o�ܕP�
����:>�����	�>�Di�·)�N�����˘)��y��9���2̑��Tsc��i����֫�ǔ��a֔3�����q��<ۑƽ
u�b�;y3�
-��U,
�.H�j�����{?R<%�$�E|I%
��p@7��{5C\ִ��v]�tQ�4��S8�^�8��W>�;'T������Q��Qߐ���	�n���ic����A�t�D���h��P_�@��y�v2�HH��(/���%�o�f�.�+�<�h��O�?���*��J�(a��=����D+�3�H�W{�<+f�N/�R�GI+�
-?f}
��ТB-���s#��§�R�07��;��EtlU#*�����)
΀"ǚ���wh���jV���^�ٝi2�u�ŜM+�t�ϩv�(T�hK�<��+�(�%b
^q�.<�	BE��u��e�>7�+��<��_9���P�A�k��p��ɑ���B�+"�xu��^t��
��G���
��x��OS�$~�Z��1�_
�	�/�X�eK
�O��UY
�Z���=8���g+x�^*H��;\�<��%�S��\�>��FZ�F�_�a��w;_"�<��P�+�Sff�� A��I��
�҃�ՙs�TL>��^���g���TP�am�½|�6�� ��Ξ�aV���{V�Vx��vg�F�\B��5�꬝���u(>���0�Ib����œ#̒C�6���Mp��E��
]ũ,gu��?}�n���[���<��|
}ꋃ?PG� �k�wuXבU� My�^1	ea��s�q�h[4�]�s�P`O��ݡ�����U�<�%Sፗ���iї!t)#���|�;y= [...]
-
-����?�h��}%&~���zl
x���0�*���u-��އ��S����7��h�
-P�TJqC�񉖗�������][6p�̔
�?����"r�(,���"YU5�w�a�M'&1rq�X	n
���l��zMM*�
��W�
	�#��S_/�F����� ,ir.��h��oͿ���t-�)J:e�y�_� ݂0Rǒ �����G�٩{��
�?��i
K�[�O���3�7�	"8��^����~~�c�G�1s��=��jR�L�XD�/��Y�[ZL逜
-�xU��
[�-�so%߷SXx=�Y�
-����~�\�
�
ҏ��h�l��<�h3���}��{2�:���D�|��`ܓi���E�&o�G�I���p
ߓQ�6[j�)�
���X
��l�E(��� mn�s6�M+X��͒rj�ڄ咕4v�-���8�£�+r�&��a�CV�d�G%�����
��ͫ�tA2�ұ?�O>]F��!`����V#�����=�E�1���Z�3�Om[��A�n���V��o�
^�,=�
�p=�,��@�c�O�v����P��d{I�s�n�M�<�fx&�?�cb�Bt���,����2�)w��R�1 4�󵏣:i��O��d
/��E�P�
V1~��S�gK��Iz�Y�a�������u�6IŠ(C���J��#����6?��
��"=��n��v�I�|p�����Q]G�f��a��	W����čw���}nY�`w�X�\��x�ߊ��a@"�j����t�
��aq���
^n�g�e���Ȕ�!��b@�5��o�юmo�#n�<����\v�6��q�I�ˆ�$���S�i�#�dq'4 at z�糃

/C-�(��f�$u��Z韀Qj�ds)� ��Ht�������2J�u|q�7wbRA�̡�T�t���Q��P�SZd�v���mv�^=��j
�`��/!	q�"	�/<�=�
��`
-c�[f��!2�}9��x�:�h��
��n�h�@�cf��	���T���册�q`���?�rnx��$�8�I5g�~IN�l;���o���VNj��ݖ�I�I7���p� � 0�	�J��#�S����l��,h�v���e�0?Y���3�"�`��ָ��x�I���*�q��^�1W- K�;�� (�z�נ6�+�N6@���܄�U#�s�"dDcx�I��
x�0?c��C��������oS�_"qBq�8�s&��.�$����
Fw�{Ҝ)���E�����"
��
;?%�1��ꁓ���
���l~�;�?�J�=<��k�5��]��y�x�;,�7�-{|�p���e�Ԗ���؉��ә�/�aK�hũ}�o]�b�=��Ħ?BOݵ��spbD�R��G�F�+��uxjdߞ
�[:ڔ�?����b�}
��s��g�,R�7�n�Q�Օ�Qk�g��H>��pp�V��{�{��Ic�x��/�gK#��������Uc��gBϠ��Q��q8&��2���H3���$�^�'L���m�9K~v���e,�B�ToSƀh'"j�npN�J���A#�6�gWx �)ϵ��l��ܔDk�,��g0b>`0rUh�`�LM�Q����/�
��D3p6˙���C�j�;�T�����HL(+V�:Pa�k$M�3�V��Kb���Fߪ�y�Ff'V�V�ϵ�I����O�.���CլolȖ����l<	�l���
fA�^g����t0L�&�g¼�{!�����/�7��K>���.�L4u��7�QZG���
1�'R� [...]
��d�7�
�s�$8(<�w{N\���J���=�YU��˭����1��`��_�Bɻ��%
�����I�б]Ƨ��۬�r�IT@�`U��j�E
ՃNI[��;7ᡏ"}Ƥ��&9�Z�
�����[���4�2㚖vr.�Ʀ�lؙ'�ז쉣���0i9�5Z%�2NS��z�eϼf�B����{�lc���?ÞN��5w�홞u jܪ�l���>�ߓ��=aL��t�g���Iͨ���
��]�gִ�:�!f�X�#�B{�cFj�G���\v'������*���ᖿod�)���u�Z�V._~�Iw����8\i�{���tR��y������G������04^0�i)պE�+Sr�G/E�7��bju��&�u�|��7���s&0<�.n>���In�^)�^R��R��!jxJ
;)
|Y�ӌ�M�^��N<C݇J�
 �rz4���Fa;�e"����Y�"�]6��FZ��Y�'�����YJ��DU�h�ɵ�
�����
��G���t�+I�dٱ��#���S�����8�өRΜ�-o�nEP�d��
-9xU�1���8�?��*
�~9l�˹�mǥZ6ݸ�{m�dub��� ����r�g��[^=�nn��[\EƐ�
���a�Yc���j��E.�=�<-�I�����Z@������(q3�n���L���#K� �z��*iQ�q�6��:r�dI4^��Ǫh3���t�l�yW���YK��^X�|�G2�k;c��$���?Rx_��� ^u�NTe6��U߄���
�����q�w7�6Q�YR��0>�yge(8�
-��E,X 
�7�Vf�,�?6�LC�H�$��!�ma
Z��6O�נ
1��T�5�Տio
-�*��$����"�pbjg�F���}�n
ٛW�B�����C�&ǻ�_$

���
4
�_��k
-��0�5/��
ݎ�ڂ'��忣�����9ZE�.`t�"�ˋ�m����;D�(�[��P#����
-����%&6��57�&�;�����M/�fy�
�Kg�{���Y����kZ�F<dS�pz���K���t�]žP
��#W+�"L�$�=_[yW?�Z��a2r�1t���v�7��L�;�w�+˿� �h�
�
����e2>ޛY&�������J�o}���?�'���
ަ�e�ٔ���KO�Ye#'ET-OT���~~k���08�O������8=&y	R��ئ���iZ
-�Dw�
3�R����� ���r����(�$�K�7�NU�E�WK���sU���d���
��gPS��!0��w�E
D[<*.=9�K"-�9��.8e��v���
U��-e����A�1~�w�IV�UJ��������*��S��B���+Uf�_VH��H�4�
��?nUb���b�L���&D�q݄�9��-۩]�G� _�4�-'����]�e�Dh�
�}����m�K�Gk6ȯ³0۲�۠v
R$�hL`$P��`�3�޿͔y���;�>���X���f ��ϛ��AORT������ù߫>!c��c�j�
zN���oM�8E^�w�r
��CLC�P�#��nCs��	1�
>��= ��
-=/

�3ῡRu��
����RX6&
w�?HAԴHۥ���)k���~��3�ggT8�^��F�d
-���뽬���
���#�Wk������T}���옜�Zh��XT��J�+'*��&-�Wo\x�8P���c�m���9J���[v6�^��#<���*d��
9��z�(Su�'�G�zG��j*	Q�����o���K{4�l�~�]
F"#�>(���b\ȥ��I
�̜ߠ�~?�L��.��Z��{��|s��~�ŕ�q%c��mmP��Ј�}�h���Ȱ���t%�"%��-�6�b
7�\f�2�|
-��`
l0�`��og�����������d�̉�
��1��H��i�CN7�c�(�;�Wn����4R���*C6ާ�ˏTnNBm7
7��0�ݖ	,��bb���;U3�����%
-�j7�-Y�jc�d�>�V�̯��S�����uu2��"�Ť����x�2;EC
-�Y�O��,��&�~�@E'��j�j=��)���Y��9
����_�:��.���;���
d��Ђ˟˾Y]���`6{ӁU478ᭁ.1�=N�
�`P�|�7�0��S:�t]��8㦫���`��_-���%<C�����ēv�¼o��q�K��th��V���l������f�4�e�s}�*�D��)S�z��Z���O{��K�V$�,fkOI��V-b��3��ʤ�7��jZ~�����|K?2�G���i��k�����(1�m�.V�9�p��1ƽ�����1������
��;����Q)�����̈́����ϙ�ӷ41m���<�箶�ۃ�� �	`�j�^ܘ���(U�):r��,��G���B�;��/_𵜙Jb���t{f��Y��$l�µ'��&���-�:F��L
,��{��!�Jn�т��	k�7�^8vr:Q$���bQv� ��1&
���1�oE����S?�)}�U�@��9�Z��ƪs���U�;�á����I��Cb�C1��:��
-��+U�
�*-�Vǘ������}����K%�s���m��!�6!wn�"`j	ON+U.�>73�2
-��r���<��=Ws�7�^��M�ɝR�;&e2aH����X\
7/�
Y���+��
-�Q��b
-�kq���\E-�E
U#�b�;�=����
�/�b�.���mյ��
�Α�
�o����;��x^�_9\L�H�R�h����JQ�p���,-�y�)� �P
-d~�L�Eop���ң��@(��k��,xy�U쵇�[4�x���f|�J�Y ��
U��q1Q�lܠ����9
�5{ ��=���؍���_x
{�p���R?��ٖ��<�?y<�Y4
��{����0
���n����/b}��kc�w��v��[�&U��3��9����x�n^��e'���+��̂ټ��{Z�8?##
"n�9�6�zI-�Ԛ@���q^�i�H0q3�9�аy�2�Y>�����'hr}(�5��䣖��eg�J8@�˧��H �o�}��u�}�8�v��	)t�����N��C��L������\���4��y�]���b���;M��O*1��Y�ԛ��*�ɚ�H��h��tD�
�n}.Z
�ჭL�&Y>i�ԣ��M�Mܿ���O�3�ޛ��|6�k�
]
�;�����ğ
;��"�.�=���.*��3hh�|YMFGBG�
�,`9�t~ 
-B1W�s�h!��FU�-��O7r��h邞i	�����ma�9m��"}7�T��*׃R
6'�� 8��p��0
U���A���o^:h�>l�Z)��
�������w҄���ψ��X at U<�Κz���N�Էq�>�n�
-0�!�*6wqyŷ
��w
���H/݂/��9\��VP+�w�9�<�;�2�dޢ"1
���`˷�NK�|{�,�+aE��!�߀�t�<��A����D��DRn�$[�v����N�iw	}kk����<�=�鞭�c9�/'������
nc	C����'�I�	
a~����'n
-yG))�A_?�9�$3��-
ԁ:}sS���}q�.H��LS�:^p���|��Va��w�C�z��1?P�i:������G�?V�C&*
����Vr�ɣ��W�

�o��L3�d*�����a]
�< ��m}o���&�X �*�"=�������;�K��^D������!�U�
����
��
��qc��
Y�>.b�z��ԧ�d2g�Z���ك&�	i����
�L�u_�W�h=�t�1v><�<+���z<f�`u�L
�������gdM�~�����
-�v��_�ē~��>B�=�[�075�[��m�q��ye��J%F�!A;Cǻ�	\2�����~+M�N��Z�p�[^-�������JPZ�*�k�Vi%�q��3JQ}�� iq��t�-�#���Ûz2�ux�Js<��J���J
F
d9��D�^�V�cr~���X��[w\��+���={�E����-���
DVۧ��q�^ʚM�rη�y/���v��e�fz�tj	A�;�g
O���imJ�ܹ�v�V��4ݘ(N�7�5-�j�24#x��A~
l�TmT�ێ2ƾ/��1���ƣͰ�H~ޠ�t��,CR�
0�9d
��]�9�KS��
���� 3�K�w�S�wF�����?�� p(�ru#��^�Vendstream
-endobj
-344 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12236 0 R
-/FirstChar 0
-/LastChar 114
-/Widths 12237 0 R
-/BaseFont /MTLNWS+CMSY10
-/FontDescriptor 342 0 R
->> endobj
-342 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /MTLNWS+CMSY10
-/ItalicAngle -14.035
-/StemV 85
-/XHeight 431
-/FontBBox [-29 -960 1116 775]
-/Flags 4
-/CharSet (/minus/periodcentered/multiply/asteriskmath/plusminus/circlemultiply/equivalence/reflexsubset/reflexsuperset/lessequal/greaterequal/similar/propersubset/arrowright/arrownortheast/arrowdblleft/arrowdblright/infinity/element/negationslash/universal/existential/B/C/G/H/L/O/P/Q/R/S/union/intersection/unionmulti/logicaland/turnstileleft/braceleft/braceright/angbracketleft/angbracketright/bar/backslash/nabla)
-/FontFile 343 0 R
->> endobj
-12237 0 obj
-[778 278 778 500 0 0 778 0 0 0 778 0 0 0 0 0 0 778 778 778 778 778 0 0 778 0 778 0 0 0 0 0 0 1000 0 0 0 1000 0 0 1000 1000 0 0 0 0 0 0 0 1000 667 0 0 0 0 0 556 556 0 0 0 0 0 0 0 0 657 527 0 0 0 595 845 0 0 0 690 0 0 796 696 817 848 606 0 0 0 0 0 0 0 667 667 667 667 0 611 0 0 0 0 0 500 500 389 389 278 0 0 0 500 0 0 0 833 ]
-endobj
-12236 0 obj <<
-/Type /Encoding
-/Differences [ 0 /minus/periodcentered/multiply/asteriskmath 4/.notdef 6/plusminus 7/.notdef 10/circlemultiply 11/.notdef 17/equivalence/reflexsubset/reflexsuperset/lessequal/greaterequal 22/.notdef 24/similar 25/.notdef 26/propersubset 27/.notdef 33/arrowright 34/.notdef 37/arrownortheast 38/.notdef 40/arrowdblleft/arrowdblright 42/.notdef 49/infinity/element 51/.notdef 54/negationslash 55/.notdef 56/universal/existential 58/.notdef 66/B/C 68/.notdef 71/G/H 73/.notdef 76/L 77/.notdef 79 [...]
->> endobj
-340 0 obj <<
-/Length1 1630
-/Length2 21092
-/Length3 532
-/Length 22010     
+12244 0 obj <<
+/Length1 1630
+/Length2 21092
+/Length3 0
+/Length 21942     
 /Filter /FlateDecode
 >>
 stream
 xڬ�ct�]�%
�F%�c�VŶ�;6*�8۪8۶m۶�����ӧ����t���^�
s�5�&'VT�6�7��۹�330� �-m�]���m��e镁殀�rv8rrQ'������w# @h
 �4�� ��������
N��. *5e
jZZ����c0���_OgKs; �ߟ@{[���_��kG �b�Y� �
-�ZR� *	y5���ddPt5��4�Z� 휁� 3{'�Ϳ {;S�Jsf��%�
08; M,���M���� @'[Kg�� Kg�������
��,�Ll\M�I����_	98�������
�h���l�d���U����t�0r�'���_5��쯥����?%�K��������tw�'�1`j��`c��7�_0'����lig������FN�6 at g�0�����	�_�7rp���������g�.�@38f��1M\��6���c�gV�����L����:�����_
��gf��&adjog�0��1�ۻ�
	���c�῏����[�o���������r��_���w���7��; ��1��K���w� d�,#������������Zk ����L���o[����R����o�����;�T����`fd�g���ٙ�l,���W[��LL�E�jaibm�	��V�L�k��W��R��2����/Cſ�����7��Q�����<�#"b��g��гp1���fa��߄����\�,�:�fb�W����ϓ���3�7�gtT\��L�N����6qur�K��ߪ�����݁&p+��&�AV�i.�ؿǿ��v3�;ש��U�w���ns��W3�O�|�x,�:|�K�

wc�Pv%/s���R��nP�q�
0�#��iDz]��nAhs0��+)��CL��:�\=Q������ {t@�i�R�َR�V�zF�p��H�?248�uٳ�O�
K���"��1_P[��+�F� V8^�v��H��@F��b��"�W����2Z� [...]
�/
A��^
�Q(�tY��pp����z[?|v�S��WW�Ϯk��+)��+C(�fGr��Cba����ڮ�~����V<B��
^AYT~��ȚA��Hh�#���mδo�����'N�0\�C#g��Ґ�9��
_]��}��
+�ZR� *	y5���ddPt5��4�Z� 휁� 3{'�Ϳ {;S�Jsf��%�
08; M,���M���� @'[Kg�� Kg�������
��,�Ll\M�I����_	98�������
�h���l�d���U����t�0r�'���_5��쯥����?%�K��������tw�'�1`j��`c��7�_0'����lig������FN�6 at g�0�����	�_�7rp���������g�.�@38f��1M\��6���c�gV�����L����:�����_
��gf��&adjog�0��1�ۻ�
	���c�῏����[�o���������r��_���w���7��; ��1��K���w� d�,#������������Zk ����L���o[����R����o�����;�T����`fd�g���ٙ�l,���W[��LL�E�jaibm�	��V�L�k��W����Z�*ʴ���/Cſ�����7��Q�����<�#"b��g��гp1���fa��߄����\�,�:�fb�W����ϓ���3�7�gtT\��L�N����6qur�K��ߪ�����݁&p+��&�AV�i.�ؿǿ��v3�;ש��U�w���ns��W3�O�|�x,�:|�K�

wc�Pv%/s���R��nP�q�
0�#��iDz]��nAhs0��+)��CL��:�\=Q������ {t@�i�R�َR�V�zF�p��H�?248�uٳ�O�
K���"��1_P[��+�F� V8^�v��H��@F��b��"�W����2Z� [...]
�/
A��^
�Q(�tY��pp����z[?|v�S��WW�Ϯk��+)��+C(�fGr��Cba����ڮ�~����V<B��
^AYT~��ȚA��Hh�#���mδo�����'N�0\�C#g��Ґ�9��
_]��}��
 3�`=��U�!W�=�6����ICD��z'a]�~SOXl��YQ��C�wIP��hO����m�L�0�%
=����=�pc�`p�qF�
�7yv��Ȋ��Z�'ٞ�u��d�'�A��)��r�)��m���N�,��hgS�����I�+�,��m�:���s��kqh�pS$'`|oײ��{�i����4
�HAl ���؃���jRk
N7	5=���u�.⛚��,u�GY"�P)��
�#,��.\kE<9��(� �R��G��ze��/:N҆7�����?������$:9AZչ,��q`��*��R�C�����!�'~rg���
"���:�֜��u��6��ͫ���-��֭�
��JN��
�Q���
 ]�m��d��#���/��EN>�&�׭H��Z�0��1�}5m���h6
 �W�6ܖ�P
��n1�����z��E�`�h�i-`�D��aAֲ��L���3��
IOO�F <\c�f5�ֵ6��*n�R8�ffy�֥$�B&oԪG_����P�c��'��$�������#/�{݂\V1;��
gUW7V:�MH�[M��J��W�J�\f#?2#u�B���0�%0l���g�e���	�=&�Y

H�'��%�n2'�� RI�Ȭ
n�v]AGr,�����{s� �#���(��:�;m����8+�9fN�L򇆗
�4q����^��E� '
	�p>��=9�p �锧�E�A�૚�[辙.��PH����,d�l�g�x��O�Ro��8����"8�1��<e��m=�K��
L:#�+�̙�g��e��_���_\�6�"��.c!5 \	��׺�<]��k*�G�T��p|
lo�����ˠ4��}���]N%O-�ץ-͟C
��S �ͱ�%����)
6����k8/Lm�V���!�DayLl�>x][r�
z���~��>�\7c��;�@m�\�_�5Q�*k����$��HM��n� �+|I�tBFX��-T�1��
SI@\	�Κ]
�#G�I���~���=�Z!Q�Cu\�H��>Y��;H�3G��Ş��aǘO�z�Q���r��/�Q�R�I:�K~�<$�ᜤ��
@@ -73694,13487 +72131,17623 @@ c
 <�gS�tB8�IY`z�IGs�u�=�
��ٽfB��}�]�ϣ,�l
F�X��.�a�oR5txG ��]P0���T��+J�
����	3":mx�F���E��ȭ�+���v�<~Ia�+v{��a%y�N`Gi�`���
��8y��r
0�Q�[�s���͓-A��J��Gv|��b ;m�M�L��J:��
�� تk�M�X
 L^��d���
�K�8�-�}��*ovv�]DG�{ ����1{ľ��`���x�&�����d��ok�����ܑZ*8��z�[�6�������&��Z#
�;�n��\,(�(�	���Ew��i���e�j�0V��D�q�kL�)s�
�'@�_�O=�f�<f���1Y��
-0AH�
?m8��G=+7�k��
��q����=x�x�����-�r
�i�-x�ZN�4�2�
KL�b]�v�C�A�b�"4v��Ej�,)����ۋ�B�~���
���z����
��
�q����Y����*��A��X���-Y�
\�ԇ@�x��X����1�Ԏ�wW�����������C�daGV7�(�V���K�� &�f�HdK��aN��\��f<�>&��(�
U�A!�9�F�[���Up����	2�}C։C2�T�r0-���ˆ��# Š��wGI���=�E�y3a.�'�_��l����k��w�$�)��_<�Ϻh�g�@G�,�Xk�
ʮiR�qo�5rxj~
 ����a(��
������Bp�X�B�q�o���!	7�%���j&�?�Z:�w�ǑF��-r
�W&��P
Ԯ�%3c�<�Bqvc�������}ٛ
�[���:�W�����ܫ|.��i�tD$@��!)a���S�
-���=y?wu4F��<
�> i���F�����+�Νi&�K eq�4�;
�s�b���Z6
J@@9�O�9=�����AxI�"Z���Z�m�cdž�5�
�M��X�%���4m� ��$<�0D�i"�A��~�0[���4�V��R����=���막�|�B��1��?5ݔ��
������O��߈~��e#�[���<���7:xVP������:1-�l&t��6�����y����y�t�]�. at _s�C�$����ڪN��q~y�*�]��އ�ܥ�]?�1
�����z������Nf+E�0~Ē���_�e���@Y,x(�wwww���������
���w(��-@��)6�
�n�Y�.��6����af(`^���f�%�3�\?��
I뺧1(�)WTbR�Wq�_2c��@�~�[�S<���!�����w�(6fA�*
����
:�NnG���`����񠛴�D\�bn��~�h�'H׉c�9�����G��'���fÙ [...]
-z�XTg
+k0m��E�U���s,+��Fu����LeHj��;��cĐ���5J)঍g�tɴF��Z�m��){�1n
-N)\:�w���)�5��j��_,���vP3|�"O&�W����c
��b_�_2�N�M͜M�u��yz��eտ���L,��8�(�6�/7A���m��ج��z�?��7mxQ��8�MO��d
�%��

l���KBhS"�>�jk�9�"�B�ȃ�������
�]WÛ2�,g��?�c�^!��$Z)}�-C�""���V	�{���8İ�
ɹ
h)�"S�-|4���}����RK�Q�JGm�(Z�����ё���l���J	�������Q���y�
�`��PϮ�3�ߘM�m؄ý���������?��}�p�-*AR��FZCH��W��ǖ���޷%�粓�:�!�U���tY���ĺ�.6��K'-.�GQ,�ڌ�5�.�-&���
I�T7�t�t�
)g�$�:T����3T�]�F�F�Fe0���%.��$
M�O����ψ�����8�'CV�"
-��R�/���g����(
o���]���K\@�G��Ye
5�W2�kw��MY�������R��Co�E�a�g��hɀ�p�������g�h|c�7�Q:Օ(gj���C����ϴ�a"6�&EQ�y��&F���'-�I�����F
�K{�\��"ئz��z
m��;�p
�ġ>��[��<x~uu��/J���?OA�
�6�	��}
-�%��ۀ����κhBħ���_5�t��ͬ�.O���L��w��hv9���Z�ءS��:�u:��
��\��4���c�դޯ��bTɁ��¬w�

��y�v���:XL�bwo�V�+ǒ��`Aѥ���r��&[e&W�^���2�ME�9=q��c�E�V�ߍ/�ж0y�|�ݢer�`��=�s x-�/m��S�<
-
��T�*|�@
�CR�5�+�A�b~�H���#�Q�9ވ
-
�k�A������M���0��q���$���|0@�|$��)��_�d)J�%�9�;m���S�9at���iG3����.tB�E�z��#����y>��h
���R����B�
��D�_f9鳿D le��/E#����IA�N@�J�§
- �2�
��~? E)�G��{ku[�
-�&�|�3��a����!g�c
�L������罛?�� ���˨���J*�4$�C������od��l�(׋���(!���<'k��͸�n �+��������n��aL��u�F�v|��0=��p
��p��w�)`t�v��kx��,y.8�9z|؇q�Edk
;�E�wF5Y\bX��[7Ά���R����
e�`���/�F��,_.'D56���>�>V\2NCRG��A�e��
-�M�y}�$)�����Ţ�_���E>�ܴ�����,���/%)���Ƃ�[Qۿ{�E{��!V�b=s���P`Q�Aϓ�j�k;l+�O�YJ��?�����{!`aaA({e���o��r%ʿ�SP��2X�O29w�LtU��^7N�Q���e����Hn�+^yb��!������ss�x����w��z{�������s=�7
�_5�˚�����E�ݎn|���cQ-C�^�7�R�{)��DWK����
-��#�\^/Wx\p�y��Cn���dY�X�H��:?>j����]�{
�����t�oM
�d<m�<n ����z��,ZJXl�s�u:���i�
}��n��R��놧��K��	�����)Fu�a���&�ѱb=Π�.��R���1��V��/<����n>KYv'�pb
&I�[��r��\-,Ս��ȃ�w)�
B�Nr�!��m�c7
-� �k�ʋ�F@��j���� �]��tDve˿T�	�{��
����V��O�{�͟vn�ͼ����VD��rX)�i2�M�$a	!Ҽv�.G���{�G���C��G�����$���
��ZP]��R۶���^i5�4�F<�i֛�Y�;���9�V��av��3��xp\v�FT@�Ʈ�<
iv�N�3W��留���A����g�
�8��
�6��jb��
2>ٳ�x�<�/��"ζ�]���������������
+��ٔ��y>�	
Qgj�+���J��r��-�}�.�m�?
��-�4��
&�$�.bF�.q݅�Wu���q~��6%'%:��%V�
�r��W7�&es
5|F
�
#��k@ⷪ�&1�4L�T���:_Ud����:կ���H$����Ӆ
-����NX&�{h,�iϗ��ꈂ��b�B��y���D�~����{
�<Y�.�5t�Y8Bx/�S6~��
]k\��9MG���7�O�
-�
-Z9��p�/[�CjCq��ci=E_�/
�
-~��<�h{�[�n
���USh���"GѦBo�r��\�AZ
1�R��c��a1��u
��4��3�f
X:�u+�R�k��wt$f�Q�����3(��@�G棾�]�
��D��K��ɰL���<�p� �}Y�]
��~��\a�bm�&���h0��r����ư?�0:��#�Ŭ7�|,1��m�f�Bq�14FB��
�M�<�Z
oT֩�K��(���������	P�3��
-�p
��G��d������5��| )�;r����7&�N� ���p�t�t��
y�X*Oh��T��2�|��I�~-�)
S�l�%��*y?t��E������a0�c`�ӄ�OP��3Z��V�m���O�G�-3N����!�So^&���]P��,k(���p�U(+�T��a�oF���#�tf�OV��
����6��`�qϘ+�
��r�MJV�\XI�Hp;]+�Xʪ洙����NR��6����5n0��zخ%�D����
�9+��r����f>m��~��چ�Y����0Q��禹�x_�I�/�<���΄�>5��.D��s�����[��e�����م��
�O`�V�V���ջ��*ULh������Xj��M�T�;1$�^��&N�]?A�T�+A�0�".�ȟ_�f��x��ăF�ƒ�+\�^<�x���peU=� z���[vu��u��)�1����
	�J�,��a[��W�|'Ṋؽ���=%��;��?�;?u�f���
-Pv۝�
&l);Ṕ�� ���<՚�w	
�㤘R	��\L�k�>�**���<���x��$A���"�8�����e��H��J1y��=v���$�
۩=.2��
A߆�j(q<�'o�:�["�Ej��k�ot��Ur
-^�(�C��,<���Z.$�i���
dNq��<ȧM��n2E�t��-q�8໌S.�$�
X���0���"&��.oJ�}���A�1��e�ThgE�
-|�Cb�A滋�b�k�'u�T��9
�pA�r�i��ws��ƚ�+�DWG
JA�*���w
^�
�L:e9|9��
2ZZ�%)��dz�����x�"I�D�QS�w2�Q+�(�v��{-y��6����Ҩ�$=Ķ`ZhF$�c�8k�p�,��k�
�0$��yυn���	"�!�q3
;D)r̔��)Z��T�#JXK��>(ǹ|��
���)Av�e�fI�0[���M㞁��@<��'/������	F
-�
�I���j�~U9Kŵ���ڦ���¯�
�e��-K�ߐ?� yq^��/$~�f�S�ʗ�JG����=R}�w֮�
��\�e"eR��<�jG����ْ�	��]r�m�o�UdI�OS�꡶��'���V����K���w�0��O���2��7�*z�Hl
��G���.�Q��W�Na
m#���ۭ�}�}� �
SFt��5��J^�%����_�B��0�] <)j�����y�.�L�r`�=�W���]W͛n����/J��V�0���T�����G{���#;g��q��#t?ggK�
-X��_7mY-�ϧ��o O�� �
�����3�6˩4���_0|�%�
��#,"-��.c�A���k�b�f�q49r�ٖl�B�gW��^�c��Z۝��CJ����]�%�I$��!��&�2f5C�'#er_�,��X���i�+�N$��"�q_�W,�dgs~�>������%�Q$7��Z8H��	�
<��((����l^7o�s�g��i����4ȓUC
jԼ���hI����
9�O]V.�^l �;�-�
������X��ו�#'�m�
�� ��
%;��[� 
��(e�Qp��5M:'ڊ�j�u���IL[E*7�S=O����q��h4�҇�����W���?��ͼ��OF6i�5-���ڀ+y�_��D������q�u���!G�E�d,̼M�>���de�ټ��*:��V(��bp�U~�wzI7�� ƅ�R

�^��A�B?q��^�|
	C���B����!���������d����͘]���@⊡���]֏�Y�n��Yw���Q"���~�5����U�k�X7���E��M$ݿ�o�� @�{"���*�8�8U at fg`�BC��Q!�϶㾊 n���O�e[��"�#��e���
`��H�U�FSe`o���4�-]N�N�n��Z�[`�����>�P�K����nB��y�e��<e]-F����%*}�=�[��{��J�T���xhB�4F��
:���v܆��fK�8���طwWK�-"����9��#�w�V>���c�� [...]
-�JP���T��#�
��8�H!	�->��-�«�;^���A����+"�������/�B`������������ ���endstream
+���=y?wu4F��<
�> i���F�����+�Νi&�K eq�4�;
�s�b���Z6
J@@9�O�9=�����AxI�"Z���Z�m�cdž�5�
�M��X�%���4m� ��$<�0D�i"�A��~�0[���4�V��R����=���막�|�B��1��?5ݔ��
������O��߈~��e#�[���<���7:xVP������:1-�l&t��6�����y����y�t�]�. at _s�C�$����ڪN��q~y�*�]��އ�ܥ�]?�1
�����z������Nf+E�0~Ē���_ �Q�e�Ea��)x�T��
L`�72�����踂���"X�B�7��
+
r�0�)
+e�VD��
aht�h�
V��=UE��e�_��J.� pb/&R�mq��7�V�V����qAc
ʌ�G��{�ƻ
��Sm.����0�9wk��᜶e/�$�\a�[y�w���
��	�M+�<��^��#�;J
�k��D�k��v��&������4'	Bh?f[��1#�,W�(��Ե��a���C�
^������Q=mA�c@��G�L��a�qT��w�����אت�sU<l ���7��^_n^�R�2��=CMl�r���C�6j�F�+�ֲxd�fI,,d(��ɧ��e3�.�^��ĿC��?ÌZXeI%}���#�����QPzj����
�h��H�ɮj�p�؅��Db�
hWዜ�V��>�w
b�݆�xX,������j�,L�Dq�P[G��awO���6�y�����c���I���e
��9lM�$�z��R��A
1
3�>��9����2�Yf�ү-H�2чo��� ~�].r���� ���H�X��z�,� F7j�#ZV�Ql�����'�A���3�����2�E���A���
���[���ZuR���wG<��_+p�$�,��w�o�@�1A�A�V,����Q�����D-G�K"OeJ•�����~�""��g���Y#���O���|c�:FUU@��O��/�?U�n.�����x��@*�|�w<�nJ��ն0�� ,IS�#��_�Rd��a��nNۉ?|�f�Ud�+XE
���	4���Rʪ��L
+Ukè���#V�,T�(G;,�/ܲ'��[2WP,�����A�	�������e�Ѱ!��������(.M��3�ܑ�����{;%�G{�


t�Q["� ���/z�Vǒ����oOV��=�v�MM�O�R��_c�o��'�
(3��ZEg�`�
�k���m����$v��e�&�eT�����+���
ؐ�l�<
 �}'Մd�,�Z��I3l�y^�ja��
����I�^�
+�[x@�H$��
$˴GB��[�QD�v^:G/s`ȍ<+:yQH<E��������v�P]�VN+dy�~�j��=��t�J?�9�V��y�T&��@��U�{�4�J5s�m������J.�0�jD+iQcj�t��K��
'Om�x�碐�]�v�
�|;
��C�W�5H]Ԉ7*�	�)�w
���ir��_
2�����k_1���ԻBz��xt�~���
�V�f
fxV-�
��,'��c�9�;���/%�i�fC��;����%�Qm
Q����
uq
p-��x�%��vP�a�9���l4`ߧe0����.ɸI
�)��jw��5��X��1�
[��*�@���9R�������W{���0�^u@�Y��md)�܌��qR�H��דゃ�(��j
+^��۔V���uZ��������������� 3e��
+����B����._���P�k�Æ��a�	c��a9�ς��^ Ŷ�×�
+�|;�\�K��w��֎����h���
�G�\�M?B�'B9@�C�����?�b��v�T��\�r�[��e�+���ҷ#E��H�,f�`��t���L�
��t����

!�x�ݫ֭�e�x�)�	H�ȳ�
���*** ��'��[����J�;5ԗ������Ez?���_;�G�hS�T'I��o����ś�������0��8� �C��?�������
Ta�3��hV��}�Tb�28ի�j�ON�a7K�>�ͼkq4�rK�Lj��	Cu?�@�j⒝O�ԓ��fF��n0u���0�Z��j��R����C<�/�:�&vM5�����r�1E8��Ͳ{���"3�Vɔ�����w�d�!��x��[��p͜�	i����%��Ҽ�.B�L������)��>R��}|�'M8�9!��(X�ǡT/��s�0{�=�z�4��۵�i2�/7a�qwԘg�`��eeR(?!��jf.��
0�*��X/��'�ܹ8�m�D�ɶ5>���F~V�ىI��[
&�w�7\n��-P+��C��{�9������� Z�>
4N�
�q{#���`�2�tf:8
��H�mˌ�O��
)��O�k�� lP3�
+.H�S%
"�]���q	�d7MK
+t�����ױ��c�(�,�O_��t�S�Yn�}fL�&���n�Ɂ���.N�|���:�*��R�n0��Y�����Q����Җ�b?.	eh{L<���?�
4C�VsM�`i��:nfI	��5
���������ޕ�c�c�t��sE�]$����+�cz��@ ��pq�r�$�
,���
q����
+?S��S�$�S�0��q�5A��HmH$)��+��r��q
�(I`aL'U�[z���~��<�
+L�&��yK%�玮Kl-�WQ���8�F�=
g�*�h�"b ~QѤ��R;&A�,�g�n�3c�ur�:��`��.�|2�a
�7�
�� �,�r
�
+C��+�P�O���R;����W2��/���ē�f�!Z=U��AT Gy]i.�NFz��2���~�j�hK�#�h
��Ə̰��D�5�p%PҊ
+����
���15�Һ� "����T�X*��S�В��A9�R>�!Iu�
%� 
Q��N3�|`�y`���S7��ԣVz˄�I;�z��6����$�NU��D�
�hJdd�9M��b|ͻ���
�,&��&������ڲ��Z
��ۋ��x�	O ł��Z�^�t
�Z�J�!�0�N��ɥ�������x7�V��Į
ps����{��h�I�d ��}��p�:'~(p�
7~��|A�͘
Ro
�<�2��G@�:� Ѧ�g�U�&�
+A
�*�����ў�B������Ž
{	��aZ/]0��7I2Y � e�
�f���W�6�k��m�� 9r!�����
6p��NG�}��6�ח yĄ��[K���7$�_���c�.W�L�����
+��s/�	�+1����:��$�+ 5<��O�_6=y�*R��N�5�<=Rd�
+>���g��g#��U
��
��=Y����5�4�#�PU�EL�j�jT��� �Y�к�yM�8i�2毺���LT�۹�Q����l\M�M�j�
���������sW_�+1�+�U��J���(�֪�
Lt�t 7ߊy�uG�]mh��f �מ�d�G#���y�I��h����']{����&�*{6�T�}�IKT#|%M���-Mr��eSY��
+
	p&���HWb�x�ݝ%�4ꅛG-u%Mt>�vY�n������6�g��Ž�Ij [�=�;
+2�Or���K�
+@��0�]n�z���GI�$2�Z�Bu��J�xxVƠ!�)�{��
���\�`��H��#�g!x��f��0"
��7y���x�
t3��$�'�!^��d[~$�֩DFu�
�Ý^*2K�j��XPo=�"@����.���E����(�\�z��:oVjo� Z���a���]�{��=󼥲�#�6bCB�)`����B�P����6�,�����0-z��o�I�"���oy.LN�٬�� �
�D��tM�8Òc�a��5p��刳�x*�����[�֛�u?�s-
����:��N�Ɉ�k�B
+��NE�g��ⴜ����z�D�!?s<ݸjP�[b���V�H� �� &b�Z����etҼ{��q�
Zx�܅	
�H��^-���A��A/	�9PS����n���n�����W�C�*�n�b
�ϫ���1"r�
��˙E<Y�C\��	�B ]���%؀��I�
Dp��Y��A:@)� ���!���b%�V�E=3L�iz�)U�VJi٨k��]�vFU�+���t���I$��{B_�L�^���,��DQo�e\�1JC��ǯxf��!���5T%>r��
�o'}��'��T���P���fk��r�_o�h�J_���s�ō)�޵�y��0�(�����!/�ל��Hۻ�]�Zj8�v�G�ᐈԲ��L
��
��
΃�}�hՍ�mg��"�S��l�i�H�Ic��,�Z
Fy��1n}�#�Y�.���Z���s����
H�
�w{��^�آh�#~UXE$�jᮃ��t�`�_��}\ �U���08�V��9:A8��-B_N+W0�'Vh�^��
]�n}�f��V�������n���nx����Ā��p�>0�?i��^��'��V�ˇB��0a��*��#\���?x�:��i�*O
��z{w|S����;��A�+��Z�PS鎾&�2�V��ex&dm9Ϝ�,	3���t�w�ޤ(��t+N=x[���L�keV���N�V���I�
Ӱ��1<��D��Z�cy��H����-f1�
)
�HgJ��|a_��I����"�/xx�
S�g
�+�Q�#�D�2���
�G��[�׿�ؕT��R��*1)�w�

�]��>�,+�?�5������ِ
�.���z��6�A	�DŽ`�S�|0$�9d˨�a
�>6�
dP����� ��%?q{�|'���2A�R��F�z=c��&!�	>oZ��`v8t����5��;���9��
�y�3��
+�5��
���ۇ�*6+ܘ1q�'��C-M�:E���z��/����D�\�qFު�G!缒O&S�U��`���� X��= � |��}�Ұ���)ȶ鿦|1*�����ͤݾ�:ŋ#ʤ
+x��
�6Ű-�N��}��
�bA+�f$�}R�S��<پq}�qvg���
8n
D�X'��?!�Ҵ�4`��L�;1\�*��ܷ�1H4v�,�J^U�v\��9�<�@�#9���3g1Z�,ϣ$.
�H-��أ
�:�%�XܚOć��u�z����0z��F$�ܸ
+��9�
#�,s�m*�ӆ��u4!�
q	�I
13b���Z���?r[8�U<�2u�{Pu9�����hd�1���<}9��q�KM�<�ddpj*
+������
��צ����#�[� >�Rm4���A
�)�|! r�Y��@�{CDf��Rf����������j"L
� h~ #�t����)c�^�<q2=��w�=�D�A�}��"`���˶��
�2�|d� ��)�cၛ�u:��-�[�xs32���I#��G��Jfi�8��5 X������V(P&�E-(��	�k|<�k�jQ6_�瑠��M/ǚ7�l��J�J��1]8� xL�#�
�\��8>C�4*!��xfF�kr4�c8@�/����!2��B�
+endstream
 endobj
-341 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 12198 0 R
-/FirstChar 2
-/LastChar 233
-/Widths 12238 0 R
-/BaseFont /WIXVPK+NimbusRomNo9L-Regu
-/FontDescriptor 339 0 R
->> endobj
-339 0 obj <<
+12245 0 obj <<
+/Type /FontDescriptor
+/FontName /LVYLSR+NimbusRomNo9L-Regu
+/Flags 4
+/FontBBox [-168 -281 1000 924]
 /Ascent 678
 /CapHeight 651
 /Descent -216
-/FontName /WIXVPK+NimbusRomNo9L-Regu
 /ItalicAngle 0
 /StemV 85
 /XHeight 450
-/FontBBox [-168 -281 1000 924]
-/Flags 4
-/CharSet (/fi/fl/exclam/quotedbl/numbersign/percent/ampersand/quoteright/parenleft/parenright/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/equal/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/bracketright/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/braceright/quotedblleft/quotedblright/bullet/endash/emdash/copyright/Eacute/agrave/aacute/adieresis/egrave/eacute)
-/FontFile 340 0 R
+/CharSet (/A/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/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 12244 0 R
 >> endobj
-12238 0 obj
-[556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 408 500 0 833 778 333 333 333 0 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 0 564 0 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 0 333 0 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 0 480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 444 444 350 500 1000 0 0  [...]
+12246 0 obj <<
+/Length1 1647
+/Length2 17999
+/Length3 0
+/Length 18864     
+/Filter /FlateDecode
+>>
+stream
+xڬ�cx�m�&
�c{Ŷ͎:��^q�ضm[
۶ѱmt����gϱ�o����}�Wᬪ묪�(I�TEMm���� 'FV&>���cgGe�
+��r��@sg'#�_
'%������$a��h M@ ����� nk��`in��QS֠��g�O�?& c�����t�4��~� ml�~ AN!��
U�@��`fi�+*i�(Hh�� R@��oJ��6�& 9K �H
0�u ��� 0��Z�S�#�_,QG���hb��
�f��G� �:��tt��
�t�;���ށ�-�db�l�O�f��J�����ŏ���`J��N�&�vN��Q�$$�������?�
-���f-MmM��)�_��0�NF� G����X�@������������
,�����%��?3` 8 ͍
Lm���a�b�s;�Y'��������_޶���_9X:9m̘X���4q������O�Ȁ�l�,���:������
���gh�&adj
�q���l�����߱���G���-�����F������y��В�66
+F?�6���
��1���
�ecc� �g�X��\�~Xڸ��������Y�O����wQ��_�Y9�8�-�t��t�*Y:�X ̌l�^޿�j S���%�����_'���S��4����U@����/o���Y[ENTF����m�e��+�T�퀀�IC���
���ux2�r�ٸY���q�e����	�/ ��<�99X�tX�XXX�����I��|�ؚ��G*NF ӿ�����M�

�2��m���8�k�@7�	�꒭	�UZf�S-N��N/+�p�]i�jQ�_�m�oZ�o��{M0S�4ߟ6��3��Y���^l��U>�79m_�&U7�a �~)R��F�����6�6�����we��w��v��'Z?r�?L�G;d���X�N�F0��³s�ē�G����ᡞ���XxJ~($�H?�
am�
+�
y����_Ük`��
}i�/m�`4e�;P��+g�
���� ��䞋��������*�<sϏڒJ
��&ź�]iu9@���ķL;�?Wi�[8�~��Q�]���9�X��z@�G`��A� E&W%���{5���Q�j���K�!҂@1q�d!I�&w������i��%$��)�
�,-�X(�Mi�I~spvp����J

��N�� ������s����Y�= �+|��[!A���GhV/t!8�(�mh��2;�B�'	
E
�_���l�I��~-�!^�ȯ�z�S
+fʺ��
c�"�w���&���C�"�5�$�I︣,x��a��R�i.䛀9��j�'73���
q0��3:�N�
�>�5	"��y��E��(�u�܍]�1*���lv*���;�o��yj_}ރc��roO���Q���ZUZ��[w 9�-\�Q����OfT�M6%],~��:�

��bݠ�:�s�G��d���/��bb���[��4	�(Ί�
�
CtP��
ȱ[C�Z�
.A����~��ʃ^Ĉd��yW5Wx�)����Ŀ�/	��߫w#.4����q�7�
�����Yq�<��s8t�GDs��U��W��ov�h��a�еNrQE
+��%y4��;g
f�on����1좄�̻��ȀnV>�!0��4��t�w��
�|_
ݕ��D��Y��q�m����K-��'T'<�����:s��F����
+z]9��1��iD���ѐ�(li��� u�=�r��� �Y���x0oO��p���a
#k��an0װ�^�4|�m���$1#
���߭&�Kp���Չ��t�8��1ۮ^�YY,kKf��B���2�z�+k�?��n�$y���<�9��>2G�
�
2�KP(�D��A9�}E�ӫ
+n�F�e��Fː6�n�9c#�����~�����0
}��
�P`۲ۛ� _�̽�g(�
E�$��P��d��d�yԀʉ��|kۣX��2�cn���L�
3�S���-�����kK
]gL%F8��*����`\8v���`f�mnL�ޑd���ܒ�<H	��9R�
/7��\Hg\�g|��l�"P����~�t����Zl�k�������Ll�>.�C���՞g͘�eм򣊂vIX�b%J����h
_X��31/��4�xv
��p "ofܘ���\�~|�wh���]�yqLs237�^!e�'�
�6����Yx':����_�S����ꂼr�����$�󽋒8�K7��`�2+���L�
����|����yF���UK	�g�
ˆډAgGq=:oX�Ӯ��PՏXQC]2����c��E�����8ϙKO�yGuю�s�{
+�UC_���Ȓ &~|��i;Eq"�/fs��K�
k�}v�HI_z*���\��l	��Q��|eo�db!�uE����.��]��g�H�j�˚\I�ȳ�E2�"���
s����<�������1�a� �ĖY����^%6L�;�k5y�߹�~�=�dF���
�A
N��ZTAV����~毶��Őh���m`|����G��ؽ)Wp��Tfq��iԩ
>���1i
�|�/
+pPyb �ݰ-�$�
$ 
��<��pY�4�-���?�՛
�� �9H!��o�
�ؿ���@
_5���0E{��K��I�#D
� <l��
+�^'h�aX/_��O���;�5���U�/�����e�����ɮ��F��Ԃ�WW��� �Ɖ���2�zČ�a&s��55�O0}�Nw�R�M����9�U���Ro��&������['���
�S˂��:5k̖͔$�p�����
@�Xw
�8�l�W�q�6ML�l��Bw
�pHmS<���ȭo�*���=������Ө��g1oy�����i���'B�
K�ٍ���<�Z5~f��_'R\(�:ĸc�(nڌ��M�o�1�	nsQ���װ�gH�=���c$�w(<
+�
��S�)
�OƗ���Ȫ͍�~'6p-S'h�.c��N��n�
�qV�n��K��m�b��0@�8
G�/"��3 ��9��] b7��g�e�:
���U
����U"��֌[�\���"��_i���
�^,��Oo �0�C�e@��;��Pm](�=f}q	C7�tYv���ͱ^F&�}i�9Ǯ錅��{�Q�L:��G
Le~���b�t�,:R���а#O�;�F[�Cv�E�q���ֈ^%���[�xQ5�5�XF�k�A�
+wH�bkP�
+��Rnu�)��4Qv�r׬��.`0q��C�amdz
����_-Y���{s	�u�~/�--J��Iz�S3c�a�
+�$vF�=�/���/� hz���t ܦB<��b��m�!v����=*LR!��W-V3zmA�*�&z��eؚ��4u��]����z�:+}#W��E�
6�pHG����Ί�Ǒv5<M��`��O�V�;^R��t	��r����7a~O�$/�ʯ+w
�?
G��
�H�/S
+�\�����'�\�O,VP{�_�a`	u��L�%u
�<���a�x�Cg�!��÷Y���¦�
+��c�x<0�t�0Nl�F��o�'.ꈤ�~�%������\�����~	�zm�ݕXN�^)��{P��m,/O[0�T���'D��}p$#�f{��:��m��j/��
�>�m$��f%F��9O��-G�6�D�x ~�ۖ�
E6�m��7{��G����p)}�Pv�2�O���`uD��8=ߢ����/�V$k�?A�`���%�we�\\��<�OY���j�-p
��:J1���v��Q��;
1JAҘ�^/(�-�<5��$�X�
X
�D�E�z�5��#�c$������iO"/@BAב�NO����J���6nX�3�9�bg˜7��b��8��
��vVs.ηo(���{���_0����}O�?����:-�zЈ���8�jh�]��YD��7�=Y��
�l�6�e�WՌ�G
+�ւ��
�{8���3�|�]Z���DV�:�7F���~�.����$�>�dYT�5X���l�n�Xnl�|�����%���&���2��c�Y����w{��
��=1���"
-���]@��1W�W���fNu�s�
�����BI�rMc��r�ŷ58W�
���R��x(a��ޱ�g��`fǪ���,S;�B�j�]��7@���������N�nʱ�s�9��G
��f�7sO#by�KN�۞O���"�t@�>�vM����1�zH�B��n<	1o.Ο�?x���O��
i�0��c5��!I��<�G(s�U��̽\i�=v��w�;�A�
jx§��i��ӕ�D/^�˔���2��x
+8r�Y\�;*7(�]�b��Lf���%PH)��ɀ0��m+�v��9 ��;��
+����d~��St���T!&
+I'�dΖ��Yu���L�����X���?_�M�b~��y�������-z��f%�1e���ʰ�99�ā׃�DqW��6D ��
ܣ��E�nj�V��Y
+[���b��/�B��1֦pA~��c1�����
��V��%*��_��_��{��4�&<��R/����
B?�Pُ���m$��n�'�����έ�����&�k[��gҨ�����!7$B0S�\=[�L�N)y��a
OO�����Vp�R����]+�[F��À���l�����#2���
+
X�cx���X�ߧ�^,:�e͕'a��`�����X�Dq�u��	3!r���Ԓy�����_>�t����o��愭�x,����`�u��&8F�;��;鰩����,3��e
Ak#�d�_ĮDF�H�5^���> ��w��P=Bf(<W����ܧV��+�z�F��tR��Y�O���j��.�"�֝|�+��q��
E_�&sc��j}<��ȷ�|
�������:f�6{�����⹙�{���`K�Ö?~a*
��r5t܋`ͳ�����_��)~0��.@$��uG����ͷkq�
�}�Y�hc��ҝ(T�#U�W^�,/���5]w�S�@�RQ�3�
+H�ߛ��t�rZJ�
76O��b&���!�����'=
�,
��P�9�آ~���l�#��G W�*�|	��s��*c�t���.���Y�+�ڋ�1���x1S�=v�@V�xn]b[���so�"{i��h�
eo�޺[*��ݒ{[]�%�N:������ɸC.0C�HX��SR
�
+֪�;1��QE���
+�2�Q2�5��7_����L'�T�z�i$O��,��
��@O]u"�Y�s�Y�*�m��O�S��&#RƉ<m��u�fђ+k
�P?f��NP��6Y���A�L�w�릖0{�V���#�
�13֚r
���i��C�N��2b����ǢW��T����TCXp��
���
+��K��.�t5�����e
B���wڳ�M�#�F�a����վ�o �;q�
m�X���y(�N���򮎞.�
eջ��dTf
r�����&�Q9����
�2%{�D�
+�� *rrT3όtB�0!t�V��̏Pv�X����
��c��S�{�;
+�0^�����r��F���xhc�8�i3lt!��(?N�\$����ѫVo����-�i��� �Ұ6q/fܙ�
+�����������3�vy������Kf�Y\5��Z���V�5�4O����|��K~��B�S9����˵�$���i������E(�j��THr�S��$Z��b��q>�˟PA��CχIƧ�q��l�e��52�Pl|&���
x��/8��F�I=�x���þգK}�����T�q��h
m�H|Y>|���իGqTa�t����s;�/�����^�T	�vZ�4sPvL��޹A�$�} j�%-���z��d�9��4ٺ�p�Z�H����C#�`0ϊ�N&.�f�cʈ��Rs.�o��c��jown��4mQ�^k�>K����|\8�{�{��s� P�\�/9q鰜��܃
+�۔��/h�C\@�)J�@^��(�K��P~�ќM�nYE+mY���y~��9�햂ə
���(�)i+UL\�B|c��
o
[C�1y�X�vX�����gSU� ��0�9�f����_+�2v�R���6�����Fs���[�&�H����ED�T�g�B=x�	�R<�W��$z
+e��pv�}��E���$jTY���y�z[.�
�z+�~ UvG��`�R�<J��k
�e��&�-VSnh��O|o�����FO����l-@@애�ԖxO���zuZ��t�	x��]���T�E.*v^���D���g���']qI'܇�U�Dv�
����f��P
+S`�Q�W&G�Y$��dž�r7w�:xѺdD�ʯ�q�P��6u�
�r�=��%xr�
+�O	�=�5WZ�����Řh��<��{t�Y
U��3����E7\�[�6���‘V9�Z�Y�/��/b`�
���AUƎ`Ƭ
+5K����5P�y5��1�汿ܜ~[E��l4lT6$<6���J�p��<��2���*������bF�� ����E�L�/eF�����,�4;݉����ȁ��A�h�u���y�X]j�S��$��
�����"3<A���
���
H���]�aJ�홃�w�
��F7���AK��S
�^�
�	��ۻ]� ���n
�am�.wO���/E��<���ݼïk�3;海wk�[+��d����𠘡n���С8
�7f�U�����h3J�\���~�H�D�<���5�������`�39��/��Yq���?{i2~2��._�����؇�	���f*����������R=}�0�?͜ùR�+Rr^��޴|]�s��ه�Դŋ���.�^�_�>`�iϐ'4U�HHݷ/l�x�*��>�A_�q�`V��L�W�K&��G�7
>A��aN�@�b;|�*n��

N�
s֒
|}�)*ۅ�"�w4]|6�5d{9���zl����
�1��q���b������(v��c_�$����p�c���
�N�=��r�&-�[$R�`��_;���h��Lp
e��@$��aew�mLG��[���;=��@n�O����_հˋ�����yH�>��ȧI
�Pۖ��l_2	de����W(��~1QJ꒐��E�v|�|?��1:����֩ �R
+�J
���}< ~�yh�2W����e����l;YsSuy��N�@∩Ю6�ҳ��ix�U�g�R������RXW
g����

-���O��B��P-ϻ�[,��=�f�Ս�I�����H� ��8
+�Qi���ot}\
W����(���0��;j��4
��<yG�[e6s�V�S��_Hr�3�{t
��8���pB�$����	�7$�Y(.�CjiL��0��ᪧ�__9
+;�egȳX�똨E9�|�i1�T�b�o�������⾦d�D__�-��j4I������!1�Rye�I� ��8��3C��$V�
d�lN���RK���f
�F.ծF0��Ԁ���|�vhn�ɏ�MZ�N�Q�����X';��+
��6H�Ɲ�R#�Ñ;j�޴8�Ml�8�)-;��l�!���b[a�^R�z�d�*��9�:؀�{"��ғؒ(i��4�4ɾ�
7�$ɇ8�,���k����@
���uɅM��b�sy�C�g�f�J���F&hz��L��MDž���Ͻ.^�Bd��[3���<?P"��A�5T�
��r"�k����n�'�cL?�NUg_�"%<�����é��L�t�uw���C��ޮ/�f�������4G�������10o]
j��m��R�)N�"�̭�
�0��fL��VǙ�u���H-�D���Ce����
��z
+�m�6���f��o���%aÈ�ޫwo�

+j�8E�����`�_�#gO
+�G�a׎Nr
+��4T\m����7VB n �leO��[���}CH~�[ .x����޼sqZy���+ ��u
?��/�z
��S�S��
s�	��5
+
�LZZ��|1��<݆�����wQ>OE���d
4SԏN�t�ٯo�����Ɣ���UX�i��v�|*�9f7��0�'�~ml�k�.}ߔ������w,�ip$�:��E�|A��"�ƖI��)�|
�+��
�O�m,�z�%�����1{*�����Xk:J!���ޒ����Uw�9$O/.N�*C����{��ћ�2��J�Uo�ǟ{g�h=�
f����
��{��[�+����6���.;�|�
k�!3RR� y���
;fT
��w�wP����f
�#�
�.sC�F{��X��>��DZp+s�5F>K��ʤ:B���+�ay��W���9m�t�D�d�
Qe�����9���J�Pn�)���O0ڄgDi�a�ݪ�X�S��If%)�
�����,N�;N��&6��h��Q�~�Dl�����
jp~B?���TJ��=�:���~��S�Ň=Ky�4�:���7�HL���]�O%"���(�zr��P)c׶%�hpp�a���4�<y�
擆b��ǓTw�U��Z�"I�
�$���z����͹*ζ(�2�I��|���Dq|�qƍ?Tw�����{�yoz�C�}�M��``)���"A�]��>�_�eT��q|Rl����
��b��ذ�Qh��V��-�'j�[7_�>t�(N�f��V�jL���NN��}��ld;rC�oQ�����4���tRZ�Hb��E�1���=��/Ɉb���^y��KD]�)uk㵫p���'pU
�-$��H
۰W
Ҏ�?R���%���^��5o��r��Όgh�FH��ܟ��"�0)�Q��u(��<#�0(y���Za9�	d��n`�%ol[�a�%�dԃ��H��w�]��u�b&u~w>y��h(f�
+�A�I4
+�x�{�V��+d%K�G�
WV������W��U��[�l�S�,>��
��2j=5^�ݸ��߾D����+xh��&PÃ�?Pk
�ؿ�:9�� M�)drȢ�\�Nd�6��c�&������X�y��[VI�}j�"g��`5Y��
��4"��f 4&����ďÀr�s
@�|�R��4�1��~�#u�%�c�Bm�9�i<�F��j�>��U����\YH���6iY�x{\(�S���l znA(��K�!)�H��
J׉�v�a��}
�)�
+��|�6�N��=h
+
I
�T�C�V%��w����QAɯ��:%W5̅���`�Zڳ�#�;�L
��+wX:�3���O
3q����O�rQ�㋑����GQ+�E�^G�����j�V��Eh�V5�8 �G�84�.O��	a2L���"sDž�/y�{��
���q���u����� �H!���u��dJ�d.��j�,��RZ�j�l�("L+x���ܕ&k��u��v>���cJ�}H!�Z��^���ߊF�Y)tr^���H�
+�h��iǀX���!��`/��|)�S��\���Q�
�1'��W�s�Y�
+U�-��
b��K�����������x�̃fdzV��#��r�
��k0���
��G�]�6#l�p��Us.qM81�Ö"��&��q�����_-��D�
�� ��ɴ
�R�7WD����
��&4���꬗`�դ^�y����'�v
���6���
��B�{ʷ]>�(ӴG�R{�٬XB4�
�\�ݻ>ބ��ڝe2��S�\g�)^��z��I�^�	�
+ޟ*Y���
3� �N��VX��&�_�G
ѵ�%÷qA�J��^���|;��c��ݻ/$juF��r�ZjDEq�6��T��&(�H��%g�T@�''F�
����t,P֋bIScs~U��z�M�R��
Z�!�X�({�
�[�8!4
+�t�����~P���II����__�
�-��9G�����͌!����b�V��߯A��AύU`�b ��UNaH�I��-����O`���s"Ց� ��'DQMo�ڨ�r\����^�v�����k�E�EAk9��c¬
-��_��e������L�WTk�K]	��:^t��l0H��UCg���Ln;'
W��
w O��
	מ�ƌsqL��Sd	I��/���õ%�
�b��iT���+9��n��r6��z*N����Z��'>���q%��ݨ>R�[H�k︟ޕ�4�r��.�nj�ˋ�(�
�*�P�=���\&7��H��h�V�U�AE�k�h��z�cY�]]�Lu�Od�]D(qY�!6lta5�w��UuL�<�,�-�5�$��
�6<z��nD#�+P���q��.x&l�t�I)x���Tr�k�i	��{���u��k���
�

lj#~�ĄȚ>�L�:ֶ����f�:��X�~Y�cN� �竺cvt72�����8N� 
��tՌn��<�81��̢J[��%G���;�����
q�v͓7�ӹ�֒���h,�V���
A��U�oEn��<ϰ?Sޙ.E'
�
+��Ng�����-Zc�
t at +��[q
���+����6�����@�� e<��۷��0�� 7��@ȵ�[Z�(�(�23Qw�4��6
YZ���|�u�H��:|���Z=br��9h=��|~D���ɼ����ږ�|!Yd�*}��/=�;�Z�L&�nh*���TJ$0��Dnг���ZdߋT�g�
���;���!��F���*�x�+�T���V>�.XK M� �E���r9
+
�
8h]c>_�����
�:!���T�Ƿ�ҫ�'
o+NQ��s������dG�Q��V�F$�TX�C�R�_�P���Zq��q~E�<�5�'��q{0�
�<J2ʁO"[%}~2Ž˕"<�K��{/׊GKd��uV�������Q4�|ʵs)��ڶ�<�|��M:�I�

���xc�]��/me�i(��ζ)hj9�	�Q�,+Y�mv�z>����j�ϒ���.;I�~��ޛZL���B$�Q[q����v$ ���h��A���$Ʃf�����A��k�.ج���g$�=
g������e3�1�9b�pͰ�KϏ
O<�(]��k/�jw��������E��L���U���=��bɜ����xm���8�HA�lH��ޜ�O�j�	K�(�Y��5o�~�X�K��Wq
���ED�Fcq ���������� �M�ug�5%1��0��t������P��ҊLӭv����W�
�<����k���'�.�iG��}+GM̙�T����
��n
+c��y���5C*~f���v7�R��jli$׮kM�-��µ_����{&��N�P�fcM�Q�v��6�D_��qZ
	��9�*���}��cn
���]a�2:�T
��r붚.9
fm���
#��p�Ur�d}��<rOm>���H,~
6%_~��0�]G2��i
�h�‘�'
y�>��L�>:.�{jx�� �8~~���U80����?F?�7-i�A�!��q�
�H�
��`�߃)_���jUU��Ǩ�]#��Hi#|�I�,7ĥ��6��*����w����
c�Ϲ�ŀ��S�4CB�`�|f��h� K��
�92��pA�����;�䮃�3ѥ�(�2����O!8߹N�lâN(���ru�@\�
m�fF��O����K�� �ʘ
d�A�X�ǿ�����d��Y��'���6_��V��6S�����a�E�"42_
꾃,�u���ny��"�Wn���#!
�����m�\o+=�2��LK?�'\�9
�����R�
�"oT�!|��)a�,�
+���������U8��
���
	���R�6:oy
�2�zTF���
�`
K�3�Q1d�6�8�$���2���i���b9z���
�&͑
�e�6���?��P6
��[�g�H�-�z��Y����!�F��b#�>a��_����_}"K�<
+�ڊT+Ƥ�g�x�
�������v�
�
+2+�e_\"����(H`�2ٹ��sN�`@��:.g��Х� 8�1�w�X�'��fm'
�p���6���_d�ulaY���x�+����bP�eB�%B�Dd
]
/�6�cX~5�2��j�N*�����N�7ۡ5HM��Y@�5�H��g�[M
�$�+u
TB��7���JG�������8/3B����W��n��iyT�pR����=�u�C�Q
�VsM��b�	��@��4�R�W%Qg���zi�i[C���]��꣋8�
����魭/�$?���
b�v.��
�/\~@$���)
O
��������F��Y���|UR�}�m߯Q� 1�4�m
�N at k�v�pY�Y�;��$�?ļlmk	}Ԟ���4L�_
�;\so42�ػ�gC��?J�� �=N�D騄�4���o������Q-�|WZ�A�6���Ä���\_���"��FO���i�3�5���N�����}2�n��m��$�O�P�[G�u����A�SI���\ٛ�;l8S2�"��a�
PGO����k� �i�k��4=V�d�@Cj�:1nm���'�ͫ
��˭U���OO[����b�i�������h�
��߹�9��}[���K�
�NS���C^��*�A� �g
�!m��J,�AT��PateL~8C$ݞϓ��R8���pi�W�]�|�ݮ�
��a�
̷���&g��6��jHf��ʚ<4�iΨ43��r�zR����q}�wmhCw���
_�+۟��{����x7H���=�7,�N8-!�K�ߕ�ߴ5���Yv#'��5��[�đW�d�U�


��bD�y����5�ತ����Y�X~���� �~Y��
+�F���<H��ǐ<%�e`.��u��s�B��r��������D��ӨÙ~q�b~dx��k2:�r�4Ua�퍪��霆�
+:q?4wc�3�
g&��^�S�ު����Qy
��]����f)�>��veh�Q!I�
�g�
{_�u!`U	{��Q}�yNNJ͔_
�ʬ3����ɏi%AjTb�[�����F���/����VokO����ʎٵ�1T=���֘h|��@����\=��R"JoվG?�|�1�n7�]1DZ���bg6�ꮕ���
�2V���^��
+��CT!�:H�ZTp�~�:�I �_��8S1J����#9��b���}�7�bh�����Gi��~���
+�o�
�n$Ȟ����NV��J]�i��e�R�${
���{�<˵����C�d�QL�n<�ء�w��۴m	b≵)`f��������W�����,����
*F��
%|�s|{�x`�mu��흎t���D�*��O�P���rJ�6>~�V�í%/qs�k�^�
5��ͩ
+SJtIE�7a)'H�1)f7E͝j
���+)$���vg�D�j����60���r�3C`�
�N��
��s���y�"A�eG!5�+��`F,s=n�)}��pz�-%|�G��]�b
F����(�O_ at g�p������<�dL
.9��
�a
o�V�}�/o���3���:
������
�����8��q��(D �[�b�v~L|�YVLԨIZ�7�X��tL��׬8^���{�
Yj#�-��uTH�B҃�:�HSM}��fF�(~�XLjD�v/ߟ(E��+3��
+=�X���0������k%��Ӣ���<���Owޡ��&z�_�@��[�
#���	V����*8g�L�p�p��j�
�f�/ Lf��� 4���Дʉ�oם��X})HL%�ߗ�Q3���i霉@옄1�M�m�PY�*�r�
*�@����X�����@ �
+o��X�@(�3���R�5��
+O
�*vt�ߓ��B�
������Jv��_޾(�=|�4�A��.kf���}{}�Ƃ�a����W�1�]OA�$56����,��]\�S9��ё��c/ˋ.A����Cɇқ$�Jn�
`�Ė��yZ&�
���]B�
��.J6jkneN?z�R��DC�Y�RC{�#� ϳ��ׁ-z�~�� I���d��}�H���`(�./#����(�y���B;\3k�M�~�'�wJ�t�m^Dd����`:F����}4
�m�4�G��	
����
Qz�Y�M�������}�g}�c΢�7.,<u׊Լ`����q7誢� UP/k
�3]~���j�:���o��a��HR:C��(-�P�I�v�%���+<�^��l�H��z������K��-�L���`�stE䮼R�v����Rt2?�A�ƃ�kR
Hl���a5��W|xT������6�%�[
+kO�:5��2fjZ<�<$ԍ�٦� �2�{c���ZK�l��K�C����
�;\ӯ�.��8�S��=#e
�#rgi��_�����}��wڮ
+����R�.��$�w��r�{E�2\�C�8�8��]�V�
+��r�L�L?�n��(��Ѯ����Eƈ��
�_8�z)
F?Z���8l�{)\��!�R�
+6��kO��^S�) �2+_m¼{��;:���)n��TS�q�:���E%�`�~(�-��R�ַ���D=f�b�-�|�|-zT�3����`�?��
9�=�q�q��ް/���{֎ֲWk�߂���S�E+��{BVQ��.��3�1KB��	3�����2`O����� ��
c�1��3�Oa�[�E��5㕝q( @R���4]�0o�"}�8-3�Ò_��"�� 
���+H<P�q�m

��\�
I��-� n��
68$�
g����+N	����Ԅ�>ɾ���'�E��
��ڢ���νd9sss& ��,xX:eP�)^�7]���G���\Hأ�O�Ǐ��>ظ����n�3
*!
C�9�ar7�#�

J#˕��=U2m�E�OG�e�)�ǁ�#�W�-8�&���.��z6L"b��
�,Kq5�sJ��S��~�xo
�
��S+�a�M����L�Ew�N��ȠF����q�G��c�#��~6��	�T�������)��ټ{��!˓Q����F
��:Y+�"ט�Hx�!�#c�1 �j�"೾
�3��x|�����07����b������e;AG��ʊ��)��6��|	��w�tYx���7v�f:�g���X���Z*
{B�l�/�%3FW��Z)�.P��6���ٜ�
w~0}�,�A�E��ȑ�7[^<�f!T�M:��OoF���'ÒiȜ2;G;��9?��D�2����O�J�����~5ۗ�A�(�
}�k�z��X���݃ǐ�
+���I���['��CX�X�xX��~D
�a
 �wG�H��#ž�
Tx�畫�	��m\�,
q�;���
Lx��r=6�
8�]�i��4v��K.J��հM����0�3��8�q���q�b
+�|��Y�
ݥ��9y
<��DJ`;�*T��C���ZfH���=�"M�Z�s�-u����Oa�k���j8��������i�z�
P����<PmM$���m��X����
+��|�U�*�Z
=M4�Q�;�u��'ȡL�5�bYϾ������}˖w��[��'ƻ����%V-�w
)�J,�\Z>� ,��KS�k�O�r<ڄ�́#YJB�?���KQy
�#�%�:��ĉ���D���z ��봳��J?�=��g��I�iS�56�w���
+�J"]/�8�G;88|dǠ�����4{���P
���/��=Q�c��&/‘l����M����<0�_����b��qv�Я���m浖dn9�
+�:����?0T��
��k�3�ҟ~�}q���6�m+�w
�H����%��ncP�I ���� �!��>�$��`�}��As��d��3�|�
+č�D��w�>s��1(w0둪bxK�D��ŝ%��e����]R�P�
+
F��z�U��c�̃�1m21��UM6#w�Ct���wn�:�����J��ϭ���X��ߤ����Q
�wiNa$
~
z`�"��g�~�g��#>�?����u�N�
�as��<VP�2�!,8���m ��BGxkG�};��c�p�u�~ʗ�����ߵ`c�q�L��iѥ��6�+E���1]!B���G��=y��ڏ�霙��cT�MY��0$�</���]�;��ϗY��(J!n��
+
�5I�-���]��`##���
T��x0%��J6�EY��
�je���{��1�w�!Ħ<�-{��j�g7�����AjK5
N�TX6����m��K
ɾ֥�җ�
9�<�����jH
�9�'�{��r�ϔ��V��s
v�د�mV��4<if�7�^�V%���O4E!�@��VĒ%���
u:
�{�L�<�$�
{%g��Y[V@���-/�Rq;��긯��5*� �
+b�����f&��&sћ���5��{�&
�N��X{��	�܆�z%q�I��qg|>|_�b�~�����{y	j���G�
����To�f)�$�
S��zs7\��~�3.��Rнd�[��Z&L��7r���Tv�7D��Y�7��~�}jQ�e=N���ΛG���~LN(�0�V]����
�N5+��YO}U�J�
׺5�`��� �; `�M��v0m(��}�A�ab��"g�!�Ā�ƌj����
g�Х/��t9u
+wi-�ڬv.{>��{�\�ԆŠx�XP
�2{^���1
}���oz/�p��Y�
�{�/A�ǩ��d�gu�m�U?�#*��?�2}Oy��L_�+��=%�
�ƥ�"_�i�
����bu!lzc�؝�,R�!>��:�*N�����A[|R�$��#��E/�Х�1�ǁ����&��8\�Terw
���o�#�
'��Y�Ҥ��J>n��@:�|�6�*
+�H&3"��dM�-�r��3}�S�J
HQP�9�N�Ue��?]o��(r��`։�y
F{
��D
��!��^b�VȨ������e}���~�c
;vI4
j�%�v�j�:�zŜoom�U�́Ԫ1�F���Z�1���^
+lB���C�[ʜ�.�F�N#7�[���jr�J��H�\��Yx�U�&�N�u���e���������7��o��-�]+�� j��/X��ϖ����s��
a\�>0�C�[ �<�S(�`�z�2��mm]T��)%��3sS��,��mk��9�Rt�Dy?{P$yⱥY���Ɏd�(`tc/�{K9F���Iu���(��#81io�
u�Za(�k���UD�д9�Yk�T�� �险4
/�v[h��
˕I
+onuֽ�>�b�uw�)ҏ��1���ܚRE2�Bq.?)
+֬�`�f�%�d�ɺ�ݟ����J vHm��<�
+��0?��Y�6_��ߢ�$
+��ݶlHF$��2\78�,m�<k7�
���zgy
,�W��y"E��Љ̸
jJ{�Ʋ�\7rn�n
T|�ݟ�p}���y$W�S�<F�0��ẹ��/ŅB����j��bڮqQ������Z�Y�.W�`����5&�ٲ�?����i���͊�L�ş*wF�6�V.<i!�`��R�=`� '�@Q��A�縼f�
�
l�l4�mNuJ"_�*�Q|F50���61�^��q�aݟ�+�
I'[d���~��A��
���@ �ފ~�A1�Tx�� ‚��]
����fzm~�rD��
,t�
��b��rQ/�3dضq�����r�R���X�,oqT�֬����W�V�}}\�~�.�,e"�i�wE�Uuaa��L�_JRBN�c��0f;GTsKy!�e��z�dD!��y^��Ga�2���\5��l��M`gO!�n�����q �(�C���)� ��pY:0�7��WK�U�C���r} ��}R�5Q���F�xtK�s�b�Rn�����!�\�HK�}���_䳭T\�LM��%��"��9@� {�v���GU9r�o�ۉ�6W��+�~����ؖ
�~�Ѳ�3���>C5�}�78R�l�5���=�y۬�\��}h
+oTz�Ea�:�S�
]	�K��<�uNO�
�6ۊ�𰛴a�q��oB�W��g�����/|�ԭmE
+�#�k��8�U�7ik��(
�1��v�9����5�����N6��U,���f��G m lRsf'/���A{\�2�=/���!��l�	 %yZ`6
r�9:��έ3$��)ց��\5uc�����v�8����Y#?
+�Sq��8��q�@gG/���zA`ǧ�hz�
+̫�

�I�D���:Q��c5�T"4:j����s�U�
��G�j���uT�ܺq�-ީ$�zF� ��Z���KH���2�{ɟ!�gA�H^T#ͭz��B�ؠ?��pC��Qm�F��Z3yy g1�+��g$���[gN��#�?x����z�q�M6��y��J����*���Yy�^�C�}��b�R�)PW�.���D`��% ێ�y=%"�&�{�����* ��dx1
Of{	4�;�$�Ubm.5���*i�
��(#���!�[-S&Q�^
�ֵ��zh��
�y4W=1b�?x�{9}X��!�G�ȡ�c
�/�+'��>Z7��$ZE^|P_8�d1c/�6w)s����9�	�K�G*��O›���⊸ˬ�r~�
*�i�ͺ
)�~�OLې�G���M5�l��r��|?���=�=
�*�����8�c2�Ka�ں_���8[�x�\��{������t��i���Z� �b�ZyS"�ڂ�0^��S���[e�
+�,��-��Ư@�M�q������y;�.>����{�f�Z�Kѯ��(�۱[�ÙC%�D�bW��-c�X(���
q�J�����m 4�I�4[�rѧ�L����odJv#���:@O�g�i��a\?���s��t11�
�$HU�7�&��Ұ�T�㏔IY�x�<�_��L4K�6A� �\�9'��2�����^�>���7�o$8
+endstream
 endobj
-351 0 obj <<
+12247 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 12246 0 R
+>> endobj
+12160 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
+541 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LDBHLR+CMBX10
+/FontDescriptor 12185 0 R
+/FirstChar 48
+/LastChar 49
+/Widths 12168 0 R
+>> endobj
+542 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XBGHAK+CMEX10
+/FontDescriptor 12187 0 R
+/FirstChar 0
+/LastChar 111
+/Widths 12167 0 R
+>> endobj
+418 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /PCFYFO+CMMI10
+/FontDescriptor 12189 0 R
+/FirstChar 13
+/LastChar 125
+/Widths 12177 0 R
+>> endobj
+2075 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZGGNQH+CMMI12
+/FontDescriptor 12191 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 12158 0 R
+>> endobj
+568 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WNXLJT+CMMI5
+/FontDescriptor 12193 0 R
+/FirstChar 68
+/LastChar 110
+/Widths 12166 0 R
+>> endobj
+7246 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OMWOOP+CMMI6
+/FontDescriptor 12195 0 R
+/FirstChar 100
+/LastChar 117
+/Widths 12151 0 R
+>> endobj
+473 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VFEGCR+CMMI7
+/FontDescriptor 12197 0 R
+/FirstChar 26
+/LastChar 117
+/Widths 12174 0 R
+>> endobj
+2013 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZRLUIR+CMMI8
+/FontDescriptor 12199 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 12159 0 R
+>> endobj
+2117 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /XZSFAY+CMMI9
+/FontDescriptor 12201 0 R
+/FirstChar 46
+/LastChar 110
+/Widths 12156 0 R
+>> endobj
+539 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WLMXSH+CMMIB10
+/FontDescriptor 12203 0 R
+/FirstChar 97
+/LastChar 120
+/Widths 12170 0 R
+>> endobj
+762 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UQOYSR+CMMIB7
+/FontDescriptor 12205 0 R
+/FirstChar 112
+/LastChar 112
+/Widths 12163 0 R
+>> endobj
+504 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /QLYQLD+CMR10
+/FontDescriptor 12207 0 R
+/FirstChar 1
+/LastChar 120
+/Widths 12173 0 R
+>> endobj
+538 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LYFRJR+CMR5
+/FontDescriptor 12209 0 R
+/FirstChar 43
+/LastChar 80
+/Widths 12171 0 R
+>> endobj
+2344 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YPFGSD+CMR6
+/FontDescriptor 12211 0 R
+/FirstChar 48
+/LastChar 120
+/Widths 12154 0 R
+>> endobj
+505 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KKLHYL+CMR7
+/FontDescriptor 12213 0 R
+/FirstChar 40
+/LastChar 120
+/Widths 12172 0 R
+>> endobj
+2177 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SRQDSN+CMR9
+/FontDescriptor 12215 0 R
+/FirstChar 12
+/LastChar 118
+/Widths 12155 0 R
+>> endobj
+340 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NXBSDN+CMSY10
+/FontDescriptor 12217 0 R
+/FirstChar 0
+/LastChar 114
+/Widths 12182 0 R
+>> endobj
+622 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /TPJSSH+CMSY5
+/FontDescriptor 12219 0 R
+/FirstChar 0
+/LastChar 96
+/Widths 12164 0 R
+>> endobj
+342 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JLSCDF+CMSY6
+/FontDescriptor 12221 0 R
+/FirstChar 3
+/LastChar 122
+/Widths 12180 0 R
+>> endobj
+540 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /WSWKRG+CMSY7
+/FontDescriptor 12223 0 R
+/FirstChar 0
+/LastChar 94
+/Widths 12169 0 R
+>> endobj
+341 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JRVZXP+CMSY8
+/FontDescriptor 12225 0 R
+/FirstChar 120
+/LastChar 122
+/Widths 12181 0 R
+>> endobj
+2114 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LRFJNF+CMSY9
+/FontDescriptor 12227 0 R
+/FirstChar 0
+/LastChar 20
+/Widths 12157 0 R
+>> endobj
+9158 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KNYRWO+CMTI10
+/FontDescriptor 12229 0 R
+/FirstChar 112
+/LastChar 115
+/Widths 12150 0 R
+>> endobj
+2741 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /BKKFBC+CMTT10
+/FontDescriptor 12231 0 R
+/FirstChar 101
+/LastChar 121
+/Widths 12153 0 R
+>> endobj
+621 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NIRNEQ+MSAM10
+/FontDescriptor 12233 0 R
+/FirstChar 13
+/LastChar 26
+/Widths 12165 0 R
+>> endobj
+472 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NUYYNC+MSBM10
+/FontDescriptor 12235 0 R
+/FirstChar 63
+/LastChar 90
+/Widths 12175 0 R
+>> endobj
+5147 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NUYYNC+MSBM10
+/FontDescriptor 12235 0 R
+/FirstChar 82
+/LastChar 82
+/Widths 12152 0 R
+>> endobj
+376 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /MZYJFE+NimbusMonL-Regu
+/FontDescriptor 12237 0 R
+/FirstChar 33
+/LastChar 125
+/Widths 12178 0 R
+/Encoding 12160 0 R
+>> endobj
+1132 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JOTYEC+NimbusMonL-ReguObli
+/FontDescriptor 12239 0 R
+/FirstChar 39
+/LastChar 121
+/Widths 12162 0 R
+/Encoding 12160 0 R
+>> endobj
+374 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /MUQVXJ+NimbusRomNo9L-Medi
+/FontDescriptor 12241 0 R
+/FirstChar 2
+/LastChar 150
+/Widths 12179 0 R
+/Encoding 12160 0 R
+>> endobj
+1779 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /RYALYO+NimbusRomNo9L-MediItal
+/FontDescriptor 12243 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 12161 0 R
+/Encoding 12160 0 R
+>> endobj
+339 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LVYLSR+NimbusRomNo9L-Regu
+/FontDescriptor 12245 0 R
+/FirstChar 2
+/LastChar 233
+/Widths 12183 0 R
+/Encoding 12160 0 R
+>> endobj
+471 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZSLAIS+NimbusRomNo9L-ReguItal
+/FontDescriptor 12247 0 R
+/FirstChar 2
+/LastChar 233
+/Widths 12176 0 R
+/Encoding 12160 0 R
+>> endobj
+343 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12239 0 R
-/Kids [334 0 R 353 0 R 391 0 R 432 0 R 468 0 R 499 0 R]
+/Parent 12248 0 R
+/Kids [334 0 R 371 0 R 415 0 R 451 0 R 464 0 R 486 0 R]
 >> endobj
-529 0 obj <<
+507 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12239 0 R
-/Kids [518 0 R 531 0 R 541 0 R 549 0 R 582 0 R 596 0 R]
+/Parent 12248 0 R
+/Kids [501 0 R 510 0 R 520 0 R 532 0 R 552 0 R 565 0 R]
 >> endobj
-619 0 obj <<
+585 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12239 0 R
-/Kids [610 0 R 621 0 R 631 0 R 646 0 R 668 0 R 678 0 R]
+/Parent 12248 0 R
+/Kids [577 0 R 588 0 R 598 0 R 614 0 R 632 0 R 641 0 R]
 >> endobj
-700 0 obj <<
+662 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12239 0 R
-/Kids [685 0 R 704 0 R 725 0 R 743 0 R 759 0 R 777 0 R]
+/Parent 12248 0 R
+/Kids [650 0 R 671 0 R 693 0 R 708 0 R 726 0 R 741 0 R]
 >> endobj
-810 0 obj <<
+770 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12239 0 R
-/Kids [792 0 R 813 0 R 829 0 R 842 0 R 854 0 R 865 0 R]
+/Parent 12248 0 R
+/Kids [757 0 R 775 0 R 790 0 R 805 0 R 816 0 R 831 0 R]
 >> endobj
-908 0 obj <<
+868 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12239 0 R
-/Kids [886 0 R 910 0 R 932 0 R 949 0 R 958 0 R 978 0 R]
+/Parent 12248 0 R
+/Kids [851 0 R 878 0 R 899 0 R 910 0 R 926 0 R 949 0 R]
 >> endobj
-1020 0 obj <<
+980 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12240 0 R
-/Kids [1003 0 R 1022 0 R 1039 0 R 1061 0 R 1084 0 R 1103 0 R]
+/Parent 12249 0 R
+/Kids [968 0 R 984 0 R 1003 0 R 1025 0 R 1048 0 R 1064 0 R]
 >> endobj
-1116 0 obj <<
+1076 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12240 0 R
-/Kids [1110 0 R 1118 0 R 1126 0 R 1132 0 R 1138 0 R 1146 0 R]
+/Parent 12249 0 R
+/Kids [1071 0 R 1079 0 R 1087 0 R 1093 0 R 1099 0 R 1107 0 R]
 >> endobj
-1161 0 obj <<
+1121 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12240 0 R
-/Kids [1153 0 R 1163 0 R 1175 0 R 1182 0 R 1187 0 R 1192 0 R]
+/Parent 12249 0 R
+/Kids [1114 0 R 1127 0 R 1135 0 R 1141 0 R 1146 0 R 1151 0 R]
 >> endobj
-1203 0 obj <<
+1161 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12240 0 R
-/Kids [1197 0 R 1205 0 R 1248 0 R 1308 0 R 1361 0 R 1392 0 R]
+/Parent 12249 0 R
+/Kids [1157 0 R 1188 0 R 1241 0 R 1292 0 R 1344 0 R 1381 0 R]
 >> endobj
-1465 0 obj <<
+1425 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12240 0 R
-/Kids [1426 0 R 1478 0 R 1548 0 R 1595 0 R 1616 0 R 1639 0 R]
+/Parent 12249 0 R
+/Kids [1422 0 R 1487 0 R 1537 0 R 1571 0 R 1594 0 R 1612 0 R]
 >> endobj
-1722 0 obj <<
+1684 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12240 0 R
-/Kids [1663 0 R 1768 0 R 1809 0 R 1825 0 R 1833 0 R 1844 0 R]
+/Parent 12249 0 R
+/Kids [1670 0 R 1739 0 R 1770 0 R 1782 0 R 1791 0 R 1817 0 R]
 >> endobj
-1887 0 obj <<
+1845 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12241 0 R
-/Kids [1866 0 R 1889 0 R 1909 0 R 1977 0 R 2019 0 R 2065 0 R]
+/Parent 12250 0 R
+/Kids [1842 0 R 1877 0 R 1922 0 R 1956 0 R 2001 0 R 2034 0 R]
 >> endobj
-2107 0 obj <<
+2063 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12241 0 R
-/Kids [2095 0 R 2109 0 R 2142 0 R 2200 0 R 2263 0 R 2313 0 R]
+/Parent 12250 0 R
+/Kids [2055 0 R 2069 0 R 2106 0 R 2169 0 R 2228 0 R 2282 0 R]
 >> endobj
-2426 0 obj <<
+2345 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12241 0 R
-/Kids [2366 0 R 2440 0 R 2500 0 R 2549 0 R 2586 0 R 2594 0 R]
+/Parent 12250 0 R
+/Kids [2341 0 R 2406 0 R 2458 0 R 2515 0 R 2535 0 R 2544 0 R]
 >> endobj
-2614 0 obj <<
+2561 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12241 0 R
-/Kids [2606 0 R 2616 0 R 2626 0 R 2633 0 R 2642 0 R 2652 0 R]
+/Parent 12250 0 R
+/Kids [2553 0 R 2564 0 R 2572 0 R 2582 0 R 2589 0 R 2602 0 R]
 >> endobj
-2673 0 obj <<
+2619 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12241 0 R
-/Kids [2664 0 R 2675 0 R 2688 0 R 2699 0 R 2711 0 R 2724 0 R]
+/Parent 12250 0 R
+/Kids [2613 0 R 2626 0 R 2639 0 R 2649 0 R 2662 0 R 2675 0 R]
 >> endobj
-2745 0 obj <<
+2693 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12241 0 R
-/Kids [2735 0 R 2747 0 R 2758 0 R 2770 0 R 2784 0 R 2800 0 R]
+/Parent 12250 0 R
+/Kids [2688 0 R 2698 0 R 2710 0 R 2724 0 R 2736 0 R 2749 0 R]
 >> endobj
-2823 0 obj <<
+2769 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12242 0 R
-/Kids [2810 0 R 2825 0 R 2839 0 R 2850 0 R 2859 0 R 2884 0 R]
+/Parent 12251 0 R
+/Kids [2762 0 R 2777 0 R 2786 0 R 2797 0 R 2807 0 R 2826 0 R]
 >> endobj
-2941 0 obj <<
+2868 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12242 0 R
-/Kids [2899 0 R 2947 0 R 3009 0 R 3066 0 R 3123 0 R 3186 0 R]
+/Parent 12251 0 R
+/Kids [2859 0 R 2908 0 R 2965 0 R 3028 0 R 3085 0 R 3155 0 R]
 >> endobj
-3288 0 obj <<
+3217 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12242 0 R
-/Kids [3251 0 R 3299 0 R 3344 0 R 3358 0 R 3368 0 R 3380 0 R]
+/Parent 12251 0 R
+/Kids [3210 0 R 3270 0 R 3291 0 R 3304 0 R 3314 0 R 3324 0 R]
 >> endobj
-3397 0 obj <<
+3343 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12242 0 R
-/Kids [3390 0 R 3399 0 R 3407 0 R 3417 0 R 3426 0 R 3435 0 R]
+/Parent 12251 0 R
+/Kids [3336 0 R 3346 0 R 3354 0 R 3364 0 R 3373 0 R 3383 0 R]
 >> endobj
-3458 0 obj <<
+3402 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12242 0 R
-/Kids [3447 0 R 3460 0 R 3471 0 R 3482 0 R 3493 0 R 3507 0 R]
+/Parent 12251 0 R
+/Kids [3394 0 R 3408 0 R 3420 0 R 3429 0 R 3442 0 R 3454 0 R]
 >> endobj
-3526 0 obj <<
+3470 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12242 0 R
-/Kids [3515 0 R 3528 0 R 3542 0 R 3554 0 R 3562 0 R 3582 0 R]
+/Parent 12251 0 R
+/Kids [3463 0 R 3479 0 R 3488 0 R 3497 0 R 3508 0 R 3538 0 R]
 >> endobj
-3652 0 obj <<
+3590 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12243 0 R
-/Kids [3639 0 R 3654 0 R 3662 0 R 3671 0 R 3682 0 R 3721 0 R]
+/Parent 12252 0 R
+/Kids [3582 0 R 3599 0 R 3608 0 R 3617 0 R 3632 0 R 3682 0 R]
 >> endobj
-3807 0 obj <<
+3742 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12243 0 R
-/Kids [3771 0 R 3809 0 R 3865 0 R 3924 0 R 3975 0 R 4031 0 R]
+/Parent 12252 0 R
+/Kids [3723 0 R 3771 0 R 3822 0 R 3885 0 R 3938 0 R 3996 0 R]
 >> endobj
-4106 0 obj <<
+4044 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12243 0 R
-/Kids [4083 0 R 4112 0 R 4129 0 R 4144 0 R 4158 0 R 4171 0 R]
+/Parent 12252 0 R
+/Kids [4039 0 R 4055 0 R 4072 0 R 4087 0 R 4101 0 R 4115 0 R]
 >> endobj
-4184 0 obj <<
+4127 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12243 0 R
-/Kids [4176 0 R 4186 0 R 4235 0 R 4281 0 R 4326 0 R 4331 0 R]
+/Parent 12252 0 R
+/Kids [4124 0 R 4144 0 R 4184 0 R 4235 0 R 4268 0 R 4279 0 R]
 >> endobj
-4355 0 obj <<
+4296 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12243 0 R
-/Kids [4342 0 R 4357 0 R 4376 0 R 4426 0 R 4474 0 R 4495 0 R]
+/Parent 12252 0 R
+/Kids [4286 0 R 4299 0 R 4330 0 R 4372 0 R 4418 0 R 4440 0 R]
 >> endobj
-4529 0 obj <<
+4458 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12243 0 R
-/Kids [4507 0 R 4531 0 R 4560 0 R 4608 0 R 4659 0 R 4731 0 R]
+/Parent 12252 0 R
+/Kids [4448 0 R 4472 0 R 4504 0 R 4545 0 R 4604 0 R 4676 0 R]
 >> endobj
-4768 0 obj <<
+4709 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12244 0 R
-/Kids [4762 0 R 4770 0 R 4782 0 R 4798 0 R 4814 0 R 4839 0 R]
+/Parent 12253 0 R
+/Kids [4705 0 R 4716 0 R 4723 0 R 4735 0 R 4751 0 R 4779 0 R]
 >> endobj
-4918 0 obj <<
+4840 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12244 0 R
-/Kids [4887 0 R 4923 0 R 4932 0 R 4963 0 R 4982 0 R 5013 0 R]
+/Parent 12253 0 R
+/Kids [4821 0 R 4859 0 R 4876 0 R 4899 0 R 4922 0 R 4951 0 R]
 >> endobj
-5083 0 obj <<
+5012 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12244 0 R
-/Kids [5061 0 R 5085 0 R 5106 0 R 5153 0 R 5202 0 R 5262 0 R]
+/Parent 12253 0 R
+/Kids [4996 0 R 5020 0 R 5047 0 R 5085 0 R 5135 0 R 5196 0 R]
 >> endobj
-5274 0 obj <<
+5219 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12244 0 R
-/Kids [5270 0 R 5276 0 R 5289 0 R 5313 0 R 5328 0 R 5335 0 R]
+/Parent 12253 0 R
+/Kids [5215 0 R 5222 0 R 5230 0 R 5251 0 R 5265 0 R 5279 0 R]
 >> endobj
-5360 0 obj <<
+5291 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12244 0 R
-/Kids [5342 0 R 5362 0 R 5410 0 R 5440 0 R 5445 0 R 5469 0 R]
+/Parent 12253 0 R
+/Kids [5286 0 R 5302 0 R 5342 0 R 5376 0 R 5391 0 R 5403 0 R]
 >> endobj
-5539 0 obj <<
+5445 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12244 0 R
-/Kids [5496 0 R 5553 0 R 5591 0 R 5606 0 R 5658 0 R 5718 0 R]
+/Parent 12253 0 R
+/Kids [5432 0 R 5494 0 R 5524 0 R 5542 0 R 5593 0 R 5649 0 R]
 >> endobj
-5811 0 obj <<
+5713 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12245 0 R
-/Kids [5773 0 R 5823 0 R 5881 0 R 5948 0 R 6002 0 R 6048 0 R]
+/Parent 12254 0 R
+/Kids [5707 0 R 5763 0 R 5817 0 R 5882 0 R 5935 0 R 5978 0 R]
 >> endobj
-6061 0 obj <<
+6006 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12245 0 R
-/Kids [6057 0 R 6063 0 R 6068 0 R 6076 0 R 6084 0 R 6092 0 R]
+/Parent 12254 0 R
+/Kids [6002 0 R 6009 0 R 6014 0 R 6019 0 R 6027 0 R 6035 0 R]
 >> endobj
-6106 0 obj <<
+6049 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12245 0 R
-/Kids [6100 0 R 6108 0 R 6121 0 R 6130 0 R 6140 0 R 6149 0 R]
+/Parent 12254 0 R
+/Kids [6043 0 R 6053 0 R 6059 0 R 6074 0 R 6083 0 R 6092 0 R]
 >> endobj
-6171 0 obj <<
+6111 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12245 0 R
-/Kids [6162 0 R 6173 0 R 6183 0 R 6195 0 R 6205 0 R 6214 0 R]
+/Parent 12254 0 R
+/Kids [6104 0 R 6116 0 R 6128 0 R 6138 0 R 6148 0 R 6156 0 R]
 >> endobj
-6239 0 obj <<
+6176 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12245 0 R
-/Kids [6227 0 R 6241 0 R 6254 0 R 6265 0 R 6274 0 R 6285 0 R]
+/Parent 12254 0 R
+/Kids [6170 0 R 6183 0 R 6197 0 R 6208 0 R 6219 0 R 6228 0 R]
 >> endobj
-6311 0 obj <<
+6248 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12245 0 R
-/Kids [6298 0 R 6313 0 R 6325 0 R 6339 0 R 6351 0 R 6367 0 R]
+/Parent 12254 0 R
+/Kids [6242 0 R 6257 0 R 6268 0 R 6281 0 R 6296 0 R 6307 0 R]
 >> endobj
-6434 0 obj <<
+6348 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12246 0 R
-/Kids [6396 0 R 6439 0 R 6483 0 R 6530 0 R 6548 0 R 6553 0 R]
+/Parent 12255 0 R
+/Kids [6335 0 R 6372 0 R 6416 0 R 6464 0 R 6490 0 R 6499 0 R]
 >> endobj
-6585 0 obj <<
+6514 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12246 0 R
-/Kids [6565 0 R 6587 0 R 6601 0 R 6649 0 R 6693 0 R 6721 0 R]
+/Parent 12255 0 R
+/Kids [6507 0 R 6529 0 R 6540 0 R 6581 0 R 6626 0 R 6658 0 R]
 >> endobj
-6743 0 obj <<
+6675 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12246 0 R
-/Kids [6726 0 R 6745 0 R 6778 0 R 6806 0 R 6821 0 R 6854 0 R]
+/Parent 12255 0 R
+/Kids [6672 0 R 6682 0 R 6711 0 R 6742 0 R 6761 0 R 6787 0 R]
 >> endobj
-6878 0 obj <<
+6820 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12246 0 R
-/Kids [6869 0 R 6880 0 R 6895 0 R 6942 0 R 6998 0 R 7072 0 R]
+/Parent 12255 0 R
+/Kids [6812 0 R 6828 0 R 6838 0 R 6859 0 R 6901 0 R 6967 0 R]
 >> endobj
-7108 0 obj <<
+7036 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12246 0 R
-/Kids [7094 0 R 7110 0 R 7126 0 R 7144 0 R 7180 0 R 7231 0 R]
+/Parent 12255 0 R
+/Kids [7031 0 R 7057 0 R 7066 0 R 7079 0 R 7097 0 R 7136 0 R]
 >> endobj
-7317 0 obj <<
+7200 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12246 0 R
-/Kids [7286 0 R 7321 0 R 7335 0 R 7344 0 R 7356 0 R 7366 0 R]
+/Parent 12255 0 R
+/Kids [7188 0 R 7241 0 R 7275 0 R 7290 0 R 7303 0 R 7311 0 R]
 >> endobj
-7425 0 obj <<
+7330 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12247 0 R
-/Kids [7378 0 R 7439 0 R 7464 0 R 7473 0 R 7482 0 R 7491 0 R]
+/Parent 12256 0 R
+/Kids [7322 0 R 7344 0 R 7396 0 R 7419 0 R 7429 0 R 7438 0 R]
 >> endobj
-7553 0 obj <<
+7456 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12247 0 R
-/Kids [7514 0 R 7563 0 R 7622 0 R 7678 0 R 7735 0 R 7803 0 R]
+/Parent 12256 0 R
+/Kids [7449 0 R 7465 0 R 7512 0 R 7569 0 R 7624 0 R 7681 0 R]
 >> endobj
-7903 0 obj <<
+7757 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12247 0 R
-/Kids [7861 0 R 7912 0 R 7941 0 R 7951 0 R 7962 0 R 7970 0 R]
+/Parent 12256 0 R
+/Kids [7750 0 R 7809 0 R 7864 0 R 7894 0 R 7909 0 R 7917 0 R]
 >> endobj
-7991 0 obj <<
+7933 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12247 0 R
-/Kids [7981 0 R 7993 0 R 8000 0 R 8008 0 R 8017 0 R 8025 0 R]
+/Parent 12256 0 R
+/Kids [7927 0 R 7936 0 R 7947 0 R 7958 0 R 7965 0 R 7973 0 R]
 >> endobj
-8048 0 obj <<
+7988 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12247 0 R
-/Kids [8037 0 R 8050 0 R 8061 0 R 8070 0 R 8081 0 R 8095 0 R]
+/Parent 12256 0 R
+/Kids [7982 0 R 7994 0 R 8005 0 R 8018 0 R 8029 0 R 8039 0 R]
 >> endobj
-8120 0 obj <<
+8059 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12247 0 R
-/Kids [8108 0 R 8122 0 R 8134 0 R 8149 0 R 8157 0 R 8166 0 R]
+/Parent 12256 0 R
+/Kids [8053 0 R 8066 0 R 8078 0 R 8091 0 R 8102 0 R 8114 0 R]
 >> endobj
-8266 0 obj <<
+8129 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12248 0 R
-/Kids [8213 0 R 8269 0 R 8324 0 R 8378 0 R 8450 0 R 8504 0 R]
+/Parent 12257 0 R
+/Kids [8122 0 R 8165 0 R 8216 0 R 8270 0 R 8327 0 R 8396 0 R]
 >> endobj
-8561 0 obj <<
+8460 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12248 0 R
-/Kids [8540 0 R 8566 0 R 8576 0 R 8584 0 R 8592 0 R 8600 0 R]
+/Parent 12257 0 R
+/Kids [8448 0 R 8484 0 R 8519 0 R 8534 0 R 8541 0 R 8549 0 R]
 >> endobj
-8618 0 obj <<
+8562 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12248 0 R
-/Kids [8610 0 R 8620 0 R 8627 0 R 8636 0 R 8645 0 R 8654 0 R]
+/Parent 12257 0 R
+/Kids [8556 0 R 8565 0 R 8573 0 R 8583 0 R 8591 0 R 8598 0 R]
 >> endobj
-8674 0 obj <<
+8614 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12248 0 R
-/Kids [8665 0 R 8676 0 R 8690 0 R 8704 0 R 8716 0 R 8731 0 R]
+/Parent 12257 0 R
+/Kids [8608 0 R 8618 0 R 8629 0 R 8642 0 R 8656 0 R 8670 0 R]
 >> endobj
-8756 0 obj <<
+8686 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12248 0 R
-/Kids [8743 0 R 8758 0 R 8773 0 R 8827 0 R 8880 0 R 8934 0 R]
+/Parent 12257 0 R
+/Kids [8680 0 R 8696 0 R 8708 0 R 8722 0 R 8744 0 R 8794 0 R]
 >> endobj
-9043 0 obj <<
+8855 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12248 0 R
-/Kids [8989 0 R 9057 0 R 9107 0 R 9160 0 R 9171 0 R 9179 0 R]
+/Parent 12257 0 R
+/Kids [8846 0 R 8902 0 R 8962 0 R 9020 0 R 9069 0 R 9115 0 R]
 >> endobj
-9199 0 obj <<
+9140 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12249 0 R
-/Kids [9189 0 R 9201 0 R 9209 0 R 9217 0 R 9228 0 R 9239 0 R]
+/Parent 12258 0 R
+/Kids [9133 0 R 9143 0 R 9151 0 R 9161 0 R 9170 0 R 9177 0 R]
 >> endobj
-9260 0 obj <<
+9196 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12249 0 R
-/Kids [9250 0 R 9262 0 R 9276 0 R 9290 0 R 9301 0 R 9314 0 R]
+/Parent 12258 0 R
+/Kids [9187 0 R 9201 0 R 9214 0 R 9225 0 R 9238 0 R 9251 0 R]
 >> endobj
-9340 0 obj <<
+9270 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12249 0 R
-/Kids [9327 0 R 9342 0 R 9358 0 R 9372 0 R 9391 0 R 9438 0 R]
+/Parent 12258 0 R
+/Kids [9265 0 R 9277 0 R 9291 0 R 9304 0 R 9319 0 R 9335 0 R]
 >> endobj
-9495 0 obj <<
+9379 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12249 0 R
-/Kids [9454 0 R 9502 0 R 9521 0 R 9579 0 R 9632 0 R 9679 0 R]
+/Parent 12258 0 R
+/Kids [9363 0 R 9398 0 R 9432 0 R 9458 0 R 9501 0 R 9555 0 R]
 >> endobj
-9799 0 obj <<
+9614 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12249 0 R
-/Kids [9738 0 R 9812 0 R 9864 0 R 9914 0 R 9951 0 R 9956 0 R]
+/Parent 12258 0 R
+/Kids [9611 0 R 9661 0 R 9728 0 R 9791 0 R 9836 0 R 9887 0 R]
 >> endobj
-9965 0 obj <<
+9917 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12249 0 R
-/Kids [9961 0 R 9967 0 R 9977 0 R 9985 0 R 9997 0 R 10005 0 R]
+/Parent 12258 0 R
+/Kids [9912 0 R 9920 0 R 9925 0 R 9930 0 R 9939 0 R 9947 0 R]
 >> endobj
-10021 0 obj <<
+9965 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12250 0 R
-/Kids [10013 0 R 10023 0 R 10036 0 R 10046 0 R 10057 0 R 10067 0 R]
+/Parent 12259 0 R
+/Kids [9957 0 R 9968 0 R 9976 0 R 9988 0 R 9999 0 R 10009 0 R]
 >> endobj
-10087 0 obj <<
+10025 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12250 0 R
-/Kids [10078 0 R 10089 0 R 10101 0 R 10113 0 R 10126 0 R 10138 0 R]
+/Parent 12259 0 R
+/Kids [10019 0 R 10032 0 R 10041 0 R 10051 0 R 10062 0 R 10076 0 R]
 >> endobj
-10163 0 obj <<
+10096 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12250 0 R
-/Kids [10152 0 R 10165 0 R 10181 0 R 10197 0 R 10210 0 R 10220 0 R]
+/Parent 12259 0 R
+/Kids [10089 0 R 10105 0 R 10115 0 R 10131 0 R 10147 0 R 10159 0 R]
 >> endobj
-10267 0 obj <<
+10179 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12250 0 R
-/Kids [10235 0 R 10271 0 R 10312 0 R 10361 0 R 10400 0 R 10417 0 R]
+/Parent 12259 0 R
+/Kids [10172 0 R 10188 0 R 10198 0 R 10233 0 R 10284 0 R 10327 0 R]
 >> endobj
-10443 0 obj <<
+10372 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12250 0 R
-/Kids [10431 0 R 10445 0 R 10460 0 R 10476 0 R 10514 0 R 10536 0 R]
+/Parent 12259 0 R
+/Kids [10362 0 R 10381 0 R 10389 0 R 10403 0 R 10420 0 R 10446 0 R]
 >> endobj
-10596 0 obj <<
+10489 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12250 0 R
-/Kids [10560 0 R 10599 0 R 10608 0 R 10672 0 R 10740 0 R 10805 0 R]
+/Parent 12259 0 R
+/Kids [10477 0 R 10499 0 R 10535 0 R 10557 0 R 10630 0 R 10698 0 R]
 >> endobj
-10934 0 obj <<
+10768 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12251 0 R
-/Kids [10867 0 R 10936 0 R 10999 0 R 11070 0 R 11136 0 R 11235 0 R]
+/Parent 12260 0 R
+/Kids [10765 0 R 10827 0 R 10895 0 R 10957 0 R 11028 0 R 11094 0 R]
 >> endobj
-11461 0 obj <<
+11193 0 obj <<
 /Type /Pages
 /Count 6
-/Parent 12251 0 R
-/Kids [11351 0 R 11463 0 R 11575 0 R 11697 0 R 11810 0 R 11913 0 R]
+/Parent 12260 0 R
+/Kids [11190 0 R 11307 0 R 11419 0 R 11530 0 R 11652 0 R 11772 0 R]
 >> endobj
-12061 0 obj <<
+11875 0 obj <<
 /Type /Pages
-/Count 3
-/Parent 12251 0 R
-/Kids [11995 0 R 12063 0 R 12130 0 R]
+/Count 5
+/Parent 12260 0 R
+/Kids [11872 0 R 11957 0 R 12026 0 R 12095 0 R 12147 0 R]
 >> endobj
-12239 0 obj <<
+12248 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12252 0 R
-/Kids [351 0 R 529 0 R 619 0 R 700 0 R 810 0 R 908 0 R]
+/Parent 12261 0 R
+/Kids [343 0 R 507 0 R 585 0 R 662 0 R 770 0 R 868 0 R]
 >> endobj
-12240 0 obj <<
+12249 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12252 0 R
-/Kids [1020 0 R 1116 0 R 1161 0 R 1203 0 R 1465 0 R 1722 0 R]
+/Parent 12261 0 R
+/Kids [980 0 R 1076 0 R 1121 0 R 1161 0 R 1425 0 R 1684 0 R]
 >> endobj
-12241 0 obj <<
+12250 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12252 0 R
-/Kids [1887 0 R 2107 0 R 2426 0 R 2614 0 R 2673 0 R 2745 0 R]
+/Parent 12261 0 R
+/Kids [1845 0 R 2063 0 R 2345 0 R 2561 0 R 2619 0 R 2693 0 R]
 >> endobj
-12242 0 obj <<
+12251 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12252 0 R
-/Kids [2823 0 R 2941 0 R 3288 0 R 3397 0 R 3458 0 R 3526 0 R]
+/Parent 12261 0 R
+/Kids [2769 0 R 2868 0 R 3217 0 R 3343 0 R 3402 0 R 3470 0 R]
 >> endobj
-12243 0 obj <<
+12252 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12252 0 R
-/Kids [3652 0 R 3807 0 R 4106 0 R 4184 0 R 4355 0 R 4529 0 R]
+/Parent 12261 0 R
+/Kids [3590 0 R 3742 0 R 4044 0 R 4127 0 R 4296 0 R 4458 0 R]
 >> endobj
-12244 0 obj <<
+12253 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12252 0 R
-/Kids [4768 0 R 4918 0 R 5083 0 R 5274 0 R 5360 0 R 5539 0 R]
+/Parent 12261 0 R
+/Kids [4709 0 R 4840 0 R 5012 0 R 5219 0 R 5291 0 R 5445 0 R]
 >> endobj
-12245 0 obj <<
+12254 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12253 0 R
-/Kids [5811 0 R 6061 0 R 6106 0 R 6171 0 R 6239 0 R 6311 0 R]
+/Parent 12262 0 R
+/Kids [5713 0 R 6006 0 R 6049 0 R 6111 0 R 6176 0 R 6248 0 R]
 >> endobj
-12246 0 obj <<
+12255 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12253 0 R
-/Kids [6434 0 R 6585 0 R 6743 0 R 6878 0 R 7108 0 R 7317 0 R]
+/Parent 12262 0 R
+/Kids [6348 0 R 6514 0 R 6675 0 R 6820 0 R 7036 0 R 7200 0 R]
 >> endobj
-12247 0 obj <<
+12256 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12253 0 R
-/Kids [7425 0 R 7553 0 R 7903 0 R 7991 0 R 8048 0 R 8120 0 R]
+/Parent 12262 0 R
+/Kids [7330 0 R 7456 0 R 7757 0 R 7933 0 R 7988 0 R 8059 0 R]
 >> endobj
-12248 0 obj <<
+12257 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12253 0 R
-/Kids [8266 0 R 8561 0 R 8618 0 R 8674 0 R 8756 0 R 9043 0 R]
+/Parent 12262 0 R
+/Kids [8129 0 R 8460 0 R 8562 0 R 8614 0 R 8686 0 R 8855 0 R]
 >> endobj
-12249 0 obj <<
+12258 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12253 0 R
-/Kids [9199 0 R 9260 0 R 9340 0 R 9495 0 R 9799 0 R 9965 0 R]
+/Parent 12262 0 R
+/Kids [9140 0 R 9196 0 R 9270 0 R 9379 0 R 9614 0 R 9917 0 R]
 >> endobj
-12250 0 obj <<
+12259 0 obj <<
 /Type /Pages
 /Count 36
-/Parent 12253 0 R
-/Kids [10021 0 R 10087 0 R 10163 0 R 10267 0 R 10443 0 R 10596 0 R]
+/Parent 12262 0 R
+/Kids [9965 0 R 10025 0 R 10096 0 R 10179 0 R 10372 0 R 10489 0 R]
 >> endobj
-12251 0 obj <<
+12260 0 obj <<
 /Type /Pages
-/Count 15
-/Parent 12254 0 R
-/Kids [10934 0 R 11461 0 R 12061 0 R]
+/Count 17
+/Parent 12263 0 R
+/Kids [10768 0 R 11193 0 R 11875 0 R]
 >> endobj
-12252 0 obj <<
+12261 0 obj <<
 /Type /Pages
 /Count 216
-/Parent 12255 0 R
-/Kids [12239 0 R 12240 0 R 12241 0 R 12242 0 R 12243 0 R 12244 0 R]
+/Parent 12264 0 R
+/Kids [12248 0 R 12249 0 R 12250 0 R 12251 0 R 12252 0 R 12253 0 R]
 >> endobj
-12253 0 obj <<
+12262 0 obj <<
 /Type /Pages
 /Count 216
-/Parent 12255 0 R
-/Kids [12245 0 R 12246 0 R 12247 0 R 12248 0 R 12249 0 R 12250 0 R]
+/Parent 12264 0 R
+/Kids [12254 0 R 12255 0 R 12256 0 R 12257 0 R 12258 0 R 12259 0 R]
 >> endobj
-12254 0 obj <<
+12263 0 obj <<
 /Type /Pages
-/Count 15
-/Parent 12255 0 R
-/Kids [12251 0 R]
+/Count 17
+/Parent 12264 0 R
+/Kids [12260 0 R]
 >> endobj
-12255 0 obj <<
+12264 0 obj <<
 /Type /Pages
-/Count 447
-/Kids [12252 0 R 12253 0 R 12254 0 R]
+/Count 449
+/Kids [12261 0 R 12262 0 R 12263 0 R]
 >> endobj
-12256 0 obj <<
+12265 0 obj <<
 /Type /Outlines
 /First 7 0 R
 /Last 135 0 R
 /Count 11
 >> endobj
-331 0 obj <<
-/Title 332 0 R
-/A 329 0 R
-/Parent 135 0 R
-/Prev 327 0 R
+331 0 obj <<
+/Title 332 0 R
+/A 329 0 R
+/Parent 135 0 R
+/Prev 327 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 12265 0 R
+/Prev 119 0 R
+/First 139 0 R
+/Last 331 0 R
+/Count -49
+>> 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 12265 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 12265 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 12265 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 12265 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 12265 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 12265 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 12265 0 R
+/Prev 71 0 R
+/Next 79 0 R
+>> endobj
+71 0 obj <<
+/Title 72 0 R
+/A 69 0 R
+/Parent 12265 0 R
+/Prev 67 0 R
+/Next 75 0 R
+>> endobj
+67 0 obj <<
+/Title 68 0 R
+/A 65 0 R
+/Parent 12265 0 R
+/Prev 7 0 R
+/Next 71 0 R
+>> endobj
+63 0 obj <<
+/Title 64 0 R
+/A 61 0 R
+/Parent 7 0 R
+/Prev 59 0 R
+>> endobj
+59 0 obj <<
+/Title 60 0 R
+/A 57 0 R
+/Parent 7 0 R
+/Prev 55 0 R
+/Next 63 0 R
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 7 0 R
+/Prev 51 0 R
+/Next 59 0 R
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 7 0 R
+/Prev 47 0 R
+/Next 55 0 R
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 7 0 R
+/Prev 43 0 R
+/Next 51 0 R
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 7 0 R
+/Prev 39 0 R
+/Next 47 0 R
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 7 0 R
+/Prev 35 0 R
+/Next 43 0 R
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 7 0 R
+/Prev 31 0 R
+/Next 39 0 R
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 7 0 R
+/Prev 27 0 R
+/Next 35 0 R
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 7 0 R
+/Prev 23 0 R
+/Next 31 0 R
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 7 0 R
+/Prev 19 0 R
+/Next 27 0 R
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 7 0 R
+/Prev 15 0 R
+/Next 23 0 R
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 7 0 R
+/Prev 11 0 R
+/Next 19 0 R
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 12265 0 R
+/Next 67 0 R
+/First 11 0 R
+/Last 63 0 R
+/Count -14
+>> endobj
+12266 0 obj <<
+/Names [(Doc-Start) 338 0 R (GFDL) 1138 0 R (GFDL_GFDL) 378 0 R (GPL) 1060 0 R (GPL_GPL) 379 0 R (Item.1) 516 0 R]
+/Limits [(Doc-Start) (Item.1)]
+>> endobj
+12267 0 obj <<
+/Names [(Item.2) 517 0 R (Item.3) 523 0 R (Item.4) 524 0 R (Item.5) 525 0 R (classParma__Polyhedra__Library_1_1BD__Shape) 478 0 R (classParma__Polyhedra__Library_1_1BD__Shape_00b832cc0784b7b30f4d4a2f738a3032) 2461 0 R]
+/Limits [(Item.2) (classParma__Polyhedra__Library_1_1BD__Shape_00b832cc0784b7b30f4d4a2f738a3032)]
+>> endobj
+12268 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_033967c42f02b6029fc4d6153eb8072a) 2119 0 R (classParma__Polyhedra__Library_1_1BD__Shape_0442c5079b3de8dcac61c224ee7a2e6f) 2351 0 R (classParma__Polyhedra__Library_1_1BD__Shape_07cc48290e435dfb739fb565ff1aa3fa) 2356 0 R (classParma__Polyhedra__Library_1_1BD__Shape_0acf1147e3f81830606dec4cc8faddd4) 2358 0 R (classParma__Polyhedra__Library_1_1BD__Shape_0badc932380dcb7f72ea50ca922d9d4b) 2473 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_033967c42f02b6029fc4d6153eb8072a) (classParma__Polyhedra__Library_1_1BD__Shape_0cc08ca5d72d5cf465eb7812ffbb156a)]
+>> endobj
+12269 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_128b2fafec11e096e41f78710ba2ff0a) 2125 0 R (classParma__Polyhedra__Library_1_1BD__Shape_12dc6df3a06f4c97c6bb2264bbad05ac) 2111 0 R (classParma__Polyhedra__Library_1_1BD__Shape_15b3e8152862a6b98ecf1c4f4a142634) 2126 0 R (classParma__Polyhedra__Library_1_1BD__Shape_16f61fdba7e14a67990a84e93be00efb) 2245 0 R (classParma__Polyhedra__Library_1_1BD__Shape_178a6a88143f44b43939d36024af6162) 2417 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_128b2fafec11e096e41f78710ba2ff0a) (classParma__Polyhedra__Library_1_1BD__Shape_1a02b17cbccf348192f3e7f776b3b3fd)]
+>> endobj
+12270 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_1a6088f536e9340145630576cfd6e6b9) 2118 0 R (classParma__Polyhedra__Library_1_1BD__Shape_1cb059d74161d8458f18b02e33efe434) 1205 0 R (classParma__Polyhedra__Library_1_1BD__Shape_1d00782cbab77286295552af7dba7ed8) 2239 0 R (classParma__Polyhedra__Library_1_1BD__Shape_1e645f35cbeedf3341428988157f71ab) 2178 0 R (classParma__Polyhedra__Library_1_1BD__Shape_20814dec69b3a6602b70a9ad50db9b2a) 2288 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_1a6088f536e9340145630576cfd6e6b9) (classParma__Polyhedra__Library_1_1BD__Shape_221657648a7e456dba61589e37765cd4)]
+>> endobj
+12271 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_242d9bf0b5b215d4aa771e9f8595baea) 2233 0 R (classParma__Polyhedra__Library_1_1BD__Shape_24d2b69146ab1b2216e437468a818cea) 2420 0 R (classParma__Polyhedra__Library_1_1BD__Shape_24fbe68af11e373092f23f59b6cfd3e1) 2179 0 R (classParma__Polyhedra__Library_1_1BD__Shape_25a2d683973c6c6901e47c4fe90cf2b1) 2185 0 R (classParma__Polyhedra__Library_1_1BD__Shape_25c5ef784f17646705c76a5be6c724a3) 2120 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_242d9bf0b5b215d4aa771e9f8595baea) (classParma__Polyhedra__Library_1_1BD__Shape_2626176104b632be36dc614e1d5536ea)]
+>> endobj
+12272 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_28b268e37d25a0cfa2b5bf39e85c758d) 2290 0 R (classParma__Polyhedra__Library_1_1BD__Shape_29212d49685544d8a3c71993bd30f467) 2286 0 R (classParma__Polyhedra__Library_1_1BD__Shape_2af430cd70ac416ca0907312b65812e6) 2424 0 R (classParma__Polyhedra__Library_1_1BD__Shape_33daeddebffc6eb847edd92c3ba045dc) 2238 0 R (classParma__Polyhedra__Library_1_1BD__Shape_35f19d0e7190c5a18aebc9ced95d554e) 2347 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_28b268e37d25a0cfa2b5bf39e85c758d) (classParma__Polyhedra__Library_1_1BD__Shape_3825b4905d72422089bf28d3c95c2964)]
+>> endobj
+12273 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_396bd79b5d57d54685d9c1b9d970c00e) 2285 0 R (classParma__Polyhedra__Library_1_1BD__Shape_47a21a1c8a88c306877d15d4dbc697b4) 2525 0 R (classParma__Polyhedra__Library_1_1BD__Shape_4882da0200ef4201f3adb0f6d7731526) 1208 0 R (classParma__Polyhedra__Library_1_1BD__Shape_4aef1a4f6e9bed5d473e98320401e0e5) 2244 0 R (classParma__Polyhedra__Library_1_1BD__Shape_4b7615a8ec5120dc083f368ecfe2d1da) 2352 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_396bd79b5d57d54685d9c1b9d970c00e) (classParma__Polyhedra__Library_1_1BD__Shape_4e04c3a6c835332c31dfbb928b31144e)]
+>> endobj
+12274 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_5049b85730d6720536be440753b11ed8) 2521 0 R (classParma__Polyhedra__Library_1_1BD__Shape_535090b407c713681228d6ab2b835e36) 2291 0 R (classParma__Polyhedra__Library_1_1BD__Shape_54f33edf5fdf4c6f606136b882be9f1d) 2234 0 R (classParma__Polyhedra__Library_1_1BD__Shape_5a66e6f883c7310ddbc312f78bb0970f) 2418 0 R (classParma__Polyhedra__Library_1_1BD__Shape_5d71f71f50ba04fe5f810acf0cf1e294) 2425 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_5049b85730d6720536be440753b11ed8) (classParma__Polyhedra__Library_1_1BD__Shape_5e972fbb672e9b2faec34b949c9a2918)]
+>> endobj
+12275 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_620d5cdb01b8b20848ca01f4e4c05b4f) 2232 0 R (classParma__Polyhedra__Library_1_1BD__Shape_641b55dd6c26bce06bd8041b38aec873) 2188 0 R (classParma__Polyhedra__Library_1_1BD__Shape_668cbd7cea86f47c4e2b303468083712) 2348 0 R (classParma__Polyhedra__Library_1_1BD__Shape_6a3dd351c33d66250d2b4ac639768f07) 2240 0 R (classParma__Polyhedra__Library_1_1BD__Shape_75188bcee0bfc88a4c8571acc04a1826) 2243 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_620d5cdb01b8b20848ca01f4e4c05b4f) (classParma__Polyhedra__Library_1_1BD__Shape_794dad01f1995c73b887effa026ac32e)]
+>> endobj
+12276 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_79a586ca093d218e5603380ac0475717) 2187 0 R (classParma__Polyhedra__Library_1_1BD__Shape_79acafbe4f67eb7e2710287bcd60db96) 2415 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8101d965bc32e4ab1df6aa445730769b) 2175 0 R (classParma__Polyhedra__Library_1_1BD__Shape_82b35fc075e1e9542d4cc5cff2e236f8) 2115 0 R (classParma__Polyhedra__Library_1_1BD__Shape_84a9c57aa31433a277d9be6b0077065a) 2354 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_79a586ca093d218e5603380ac0475717) (classParma__Polyhedra__Library_1_1BD__Shape_86dd59c40a3c9867c2979ff24ba342c2)]
+>> endobj
+12277 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_8921d611a6be878bd8ad66a9af6f405e) 1206 0 R (classParma__Polyhedra__Library_1_1BD__Shape_894e92407922be006a76577cf47b8589) 2353 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8a87935278cb7b1290301e96cb82fcb1) 2241 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8c73e2c464d5e93dc55862d00d5478f8) 2235 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8c89ddcd2fc4311af0e358477630d7d9) 2465 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_8921d611a6be878bd8ad66a9af6f405e) (classParma__Polyhedra__Library_1_1BD__Shape_8d6c186583503c4394603550b50edf59)]
+>> endobj
+12278 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_8e13e7d3536de2745bc9e58a25b75b77) 2346 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8ede75fbd470fa30f11d4c02672883f5) 2294 0 R (classParma__Polyhedra__Library_1_1BD__Shape_8f0bdfca2a6993bfa08358319d589ab6) 2181 0 R (classParma__Polyhedra__Library_1_1BD__Shape_93728c0f0afcd949c391940be93455a8) 2349 0 R (classParma__Polyhedra__Library_1_1BD__Shape_93c1c491c0035f6c38b9ee036184aa7e) 2116 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_8e13e7d3536de2745bc9e58a25b75b77) (classParma__Polyhedra__Library_1_1BD__Shape_9507085c5b0efd13c80f08a22b0f5529)]
+>> endobj
+12279 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_988ff507806fa8126649f463ef6a1f31) 2414 0 R (classParma__Polyhedra__Library_1_1BD__Shape_9bf45a32e428970068f654258dd7fb0c) 2173 0 R (classParma__Polyhedra__Library_1_1BD__Shape_9c0703b2311336754e28a7f739b7e685) 2467 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a07f93a685253eb04edab43b5ebd27b2) 2184 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a78a6abbbb3c425992ca644f732e69e8) 2174 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_988ff507806fa8126649f463ef6a1f31) (classParma__Polyhedra__Library_1_1BD__Shape_a7b3a5c12ea008b78eed88a621c1fab1)]
+>> endobj
+12280 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_a85819690f928a46e3f437bfe629e976) 2293 0 R (classParma__Polyhedra__Library_1_1BD__Shape_a8e2f5b70168ac89a3f47639e7d9a4f9) 1209 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ab3964a5c29992e6476852c9d246fe6f) 2122 0 R (classParma__Polyhedra__Library_1_1BD__Shape_b054f67fb31ea4e860dd7c24c0b56676) 2471 0 R (classParma__Polyhedra__Library_1_1BD__Shape_b0a670aeef72d808d620bbc33a5e8cd7) 2469 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_a85819690f928a46e3f437bfe629e976) (classParma__Polyhedra__Library_1_1BD__Shape_b464aec35ab7fb9fe0a8a50e05ad6f99)]
+>> endobj
+12281 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_bb521f4ff8e2e40318bd06b0ff4d7617) 2474 0 R (classParma__Polyhedra__Library_1_1BD__Shape_bee6d42dd6f94979bcc7fb3d51102864) 2172 0 R (classParma__Polyhedra__Library_1_1BD__Shape_c20541d40c7629b278584406ce554eaf) 1203 0 R (classParma__Polyhedra__Library_1_1BD__Shape_c65231748a66ac5c074502cc8e652e10) 2472 0 R (classParma__Polyhedra__Library_1_1BD__Shape_c7f89b09f6755cdcd97daa3a92522b00) 2180 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_bb521f4ff8e2e40318bd06b0ff4d7617) (classParma__Polyhedra__Library_1_1BD__Shape_c91aac77237c2405df039c4fcfa08ab0)]
+>> endobj
+12282 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_caa538c9c00b2f69301365d916bb49e8) 2231 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ccbd8986577794cea90edef63e859ab1) 2466 0 R (classParma__Polyhedra__Library_1_1BD__Shape_cda762f8c081fed2862260211618fce0) 2416 0 R (classParma__Polyhedra__Library_1_1BD__Shape_cdc537f0aa5117fe3749d3c50b7dc4fd) 2522 0 R (classParma__Polyhedra__Library_1_1BD__Shape_ce010a880cb8574335f1be294907de89) 2295 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_caa538c9c00b2f69301365d916bb49e8) (classParma__Polyhedra__Library_1_1BD__Shape_cf4dc2de16f4a54ca03daa6ac1d31ce2)]
+>> endobj
+12283 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_cfed8bc19e046453778c9d99d84df283) 2110 0 R (classParma__Polyhedra__Library_1_1BD__Shape_d09a9ccc89ace499a888b6b1a1f4ce44) 2176 0 R (classParma__Polyhedra__Library_1_1BD__Shape_d0a9267e420144cacfb867076d00a803) 2527 0 R (classParma__Polyhedra__Library_1_1BD__Shape_d369744c43a49ebac904bc3e17de0478) 2287 0 R (classParma__Polyhedra__Library_1_1BD__Shape_d80989353ea3738abdb6b605d27cc8fa) 2412 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_cfed8bc19e046453778c9d99d84df283) (classParma__Polyhedra__Library_1_1BD__Shape_dbf2609849c95cfb7277df1edc69534f)]
+>> endobj
+12284 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_df3cfc56df68bc8063e6e9eb3d0ad3f1) 2423 0 R (classParma__Polyhedra__Library_1_1BD__Shape_df78023ac662762ffc808902b970597b) 2186 0 R (classParma__Polyhedra__Library_1_1BD__Shape_e0a1b4b4a344cad01c58e8e006a7ff16) 2121 0 R (classParma__Polyhedra__Library_1_1BD__Shape_e0ba85e8cab7e4e95ec001bde5bdd99d) 2357 0 R (classParma__Polyhedra__Library_1_1BD__Shape_e5c66812ab981ee2d1ab96ce218a7782) 2526 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_df3cfc56df68bc8063e6e9eb3d0ad3f1) (classParma__Polyhedra__Library_1_1BD__Shape_e61fdcc22d1e0fe43b94194f2eadaa1a)]
+>> endobj
+12285 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) 2463 0 R (classParma__Polyhedra__Library_1_1BD__Shape_e748c3f5082b158453fbb3ccf57c8f70) 2464 0 R (classParma__Polyhedra__Library_1_1BD__Shape_eda87d46bc3b54b420a475934e0e1cb6) 2422 0 R (classParma__Polyhedra__Library_1_1BD__Shape_edabe8ecd0866b972e97709e17f94681) 2113 0 R (classParma__Polyhedra__Library_1_1BD__Shape_f4b0f891a6911d7784216f537fa3e473) 2523 0 R (classParma__Polyhedra__Library_1_1BD__Shape [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_e68d61763922cee018cbba3834b2085c) (classParma__Polyhedra__Library_1_1BD__Shape_f6351727d099ad178db8b8e742507f4c)]
+>> endobj
+12286 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BD__Shape_f8cd5fb701a14bc509872aeb3617b0b4) 2470 0 R (classParma__Polyhedra__Library_1_1BD__Shape_fa8a10ff4b09f8a87e3c558a39f5888e) 2468 0 R (classParma__Polyhedra__Library_1_1BD__Shape_faa5d6b3c1b3b83161b619c28c5f9936) 2183 0 R (classParma__Polyhedra__Library_1_1BD__Shape_fad498a5802a7928442fd0d4b8c6183f) 2124 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate) 906 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_35ea0c10995c8 [...]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_f8cd5fb701a14bc509872aeb3617b0b4) (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_35ea0c10995c89f8a11a2e8bb5dc7f17)]
+>> endobj
+12287 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_5ebec8f5ff32009c4cf98dead90f4a3c) 2831 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_67b4e0eba7692bced073431cd3cc22ae) 2830 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_6ab41afc79135511037718442fcad4d4) 2834 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_97b2101d371edae52746a53cf34e4b67) 2833 0 R (classParma__Polyhedra__Library_1_1BHRZ03__Certificate_f2ec3c62388f9aef1414a527e82cd1a7) 283 [...]
+/Limits [(classParma__Polyhedra__Library_1_1BHRZ03__Certificate_5ebec8f5ff32009c4cf98dead90f4a3c) (classParma__Polyhedra__Library_1_1Box)]
+>> endobj
+12288 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_025c54a0d06e882346b74c0624ee6e71) 3278 0 R (classParma__Polyhedra__Library_1_1Box_04732c1c89db2f6d76b3b9479ec2fb99) 2977 0 R (classParma__Polyhedra__Library_1_1Box_055f3030915a1b7de0cc50761d9a3245) 3032 0 R (classParma__Polyhedra__Library_1_1Box_06c2ce3f0789aba0294da43628b50226) 3164 0 R (classParma__Polyhedra__Library_1_1Box_070e05c80af78d7c91bee958b9848080) 3224 0 R (classParma__Polyhedra__Library_1_1Box_0cb0abcc152d2d7c95a116efd3ea989a) 3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_025c54a0d06e882346b74c0624ee6e71) (classParma__Polyhedra__Library_1_1Box_0cb0abcc152d2d7c95a116efd3ea989a)]
+>> endobj
+12289 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_1039be5680ea8eceb903367e1e7aa13f) 3042 0 R (classParma__Polyhedra__Library_1_1Box_161c87c94b78fd1111365e185d0a3ae7) 3162 0 R (classParma__Polyhedra__Library_1_1Box_17182f3f0d9242d5821ba59b2773ae55) 3167 0 R (classParma__Polyhedra__Library_1_1Box_1915597423b1aa0dbed55312b2308efd) 3279 0 R (classParma__Polyhedra__Library_1_1Box_1d20ad17015746b2d9e0290631fc175b) 3274 0 R (classParma__Polyhedra__Library_1_1Box_1d8eb71bd67ae50436968e7323bbeb7e) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_1039be5680ea8eceb903367e1e7aa13f) (classParma__Polyhedra__Library_1_1Box_1d8eb71bd67ae50436968e7323bbeb7e)]
+>> endobj
+12290 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_22f9ceb879f1c8d892f60fb3d9577d81) 3097 0 R (classParma__Polyhedra__Library_1_1Box_286412c3f05e82abdf69c5e5562ff949) 2970 0 R (classParma__Polyhedra__Library_1_1Box_2d20e2dc8d4d0fbbdf87bd01a51dc01e) 3282 0 R (classParma__Polyhedra__Library_1_1Box_2ebf93b52454102cd99eaa211ad6ff71) 3046 0 R (classParma__Polyhedra__Library_1_1Box_2f516cd923f94296daf57c8ace328af9) 2983 0 R (classParma__Polyhedra__Library_1_1Box_2f964d43c2798bde1924e82d88971ea2) 3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_22f9ceb879f1c8d892f60fb3d9577d81) (classParma__Polyhedra__Library_1_1Box_2f964d43c2798bde1924e82d88971ea2)]
+>> endobj
+12291 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_319084c6ac93db482a8742a58e2e01f3) 2913 0 R (classParma__Polyhedra__Library_1_1Box_339a341a2f7d60de83e4feb3e8986558) 2974 0 R (classParma__Polyhedra__Library_1_1Box_36e39f75a5b973533a044d606444db4f) 3037 0 R (classParma__Polyhedra__Library_1_1Box_3c8e578089e8420dc286b27411fde2fd) 3036 0 R (classParma__Polyhedra__Library_1_1Box_3d107d8f8a78a3925031545c8e1d1a73) 3171 0 R (classParma__Polyhedra__Library_1_1Box_3daaa36a6bf749e0b4d66ce57878e2d0) 3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_319084c6ac93db482a8742a58e2e01f3) (classParma__Polyhedra__Library_1_1Box_3daaa36a6bf749e0b4d66ce57878e2d0)]
+>> endobj
+12292 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_3f2210364b954a8d532905d09bcb7149) 2924 0 R (classParma__Polyhedra__Library_1_1Box_40ab06947d065a171792da1ce6ed2505) 3040 0 R (classParma__Polyhedra__Library_1_1Box_438eaa92ba7d9f7d8ec085fe9b00ec0b) 3283 0 R (classParma__Polyhedra__Library_1_1Box_4aa52c6b939cf0076740afb33dd454e5) 3223 0 R (classParma__Polyhedra__Library_1_1Box_4b050985a103d89eaa5627c16f4f4257) 3101 0 R (classParma__Polyhedra__Library_1_1Box_4b5e1306956d46f1ee477428b451b44b) 3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_3f2210364b954a8d532905d09bcb7149) (classParma__Polyhedra__Library_1_1Box_4b5e1306956d46f1ee477428b451b44b)]
+>> endobj
+12293 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) 3216 0 R (classParma__Polyhedra__Library_1_1Box_5659d55fb93c1fe31b82a674e2630c13) 3273 0 R (classParma__Polyhedra__Library_1_1Box_573ac186b0da77408bcb80531ca0090c) 3034 0 R (classParma__Polyhedra__Library_1_1Box_597f9740fbc8534391d2c8cb6381660c) 3227 0 R (classParma__Polyhedra__Library_1_1Box_5b6323dfa423ea57b8d845237d9b576d) 3277 0 R (classParma__Polyhedra__Library_1_1Box_5c02cdac1cee4eda75e568ef9f550da9) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_4e6787c98290a49ce80b90c008aac5a8) (classParma__Polyhedra__Library_1_1Box_5c02cdac1cee4eda75e568ef9f550da9)]
+>> endobj
+12294 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_5f1ce9b2af5f6ba550cd9080ff83077c) 2914 0 R (classParma__Polyhedra__Library_1_1Box_6592baa6045a08fe1eb0ba33e8ed2942) 3281 0 R (classParma__Polyhedra__Library_1_1Box_685232ed211cce61f5d27727d979df94) 3098 0 R (classParma__Polyhedra__Library_1_1Box_6919ec5aef8459ad9c65bc36e8100d58) 3213 0 R (classParma__Polyhedra__Library_1_1Box_6d2f7819b7359865679b24e683231303) 3095 0 R (classParma__Polyhedra__Library_1_1Box_6d5097ef9a821f98cb97571eb52a49aa) 3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_5f1ce9b2af5f6ba550cd9080ff83077c) (classParma__Polyhedra__Library_1_1Box_6d5097ef9a821f98cb97571eb52a49aa)]
+>> endobj
+12295 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_6df8193213c66dcf70814c097d7b2fcb) 3218 0 R (classParma__Polyhedra__Library_1_1Box_70638e55ff0529f6f481db703645be05) 2975 0 R (classParma__Polyhedra__Library_1_1Box_736577ec65f40b0637f13486e64f051a) 3093 0 R (classParma__Polyhedra__Library_1_1Box_7ded037fa4c26b2e12565d3aa2c6b70b) 2926 0 R (classParma__Polyhedra__Library_1_1Box_7e1a00f36570e89ee95817d898587743) 2971 0 R (classParma__Polyhedra__Library_1_1Box_7e3ffa1dd9894e6418bd153a4cd2de12) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_6df8193213c66dcf70814c097d7b2fcb) (classParma__Polyhedra__Library_1_1Box_7e3ffa1dd9894e6418bd153a4cd2de12)]
+>> endobj
+12296 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_7fff251a8cd2ecd8b928175af94d7069) 2925 0 R (classParma__Polyhedra__Library_1_1Box_818b1050a44c6fb4d635a6fc088eeeca) 2917 0 R (classParma__Polyhedra__Library_1_1Box_84a324ad469ad76c235789823cf4e0f4) 3044 0 R (classParma__Polyhedra__Library_1_1Box_84d340c4e2a8a35e81d0fb91ff2c466e) 2918 0 R (classParma__Polyhedra__Library_1_1Box_852ebcee0de832c12a87ad15d37570a2) 3284 0 R (classParma__Polyhedra__Library_1_1Box_8653fd3779f7a28930872b1f885f25ee) 3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_7fff251a8cd2ecd8b928175af94d7069) (classParma__Polyhedra__Library_1_1Box_8653fd3779f7a28930872b1f885f25ee)]
+>> endobj
+12297 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_87e906459b095e23114ee8f0025086cb) 3100 0 R (classParma__Polyhedra__Library_1_1Box_8e45baf04a16a09cfa25bac864515832) 3035 0 R (classParma__Polyhedra__Library_1_1Box_8ed22a325737be112cad6864b2a7ef59) 3225 0 R (classParma__Polyhedra__Library_1_1Box_901382835b88fb9969d88eea101ae7cf) 2973 0 R (classParma__Polyhedra__Library_1_1Box_90cc17398be6745eb507339397381d7a) 3041 0 R (classParma__Polyhedra__Library_1_1Box_91546e88fe3474f55bc6f0eceffa7251) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_87e906459b095e23114ee8f0025086cb) (classParma__Polyhedra__Library_1_1Box_91546e88fe3474f55bc6f0eceffa7251)]
+>> endobj
+12298 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_929caef76be87459ac964105f4c75cf4) 3226 0 R (classParma__Polyhedra__Library_1_1Box_92ef9a99d160f55e3fc44a4bd1ae78f2) 3092 0 R (classParma__Polyhedra__Library_1_1Box_944e2c41213d3ea40e74930a90de97bf) 3096 0 R (classParma__Polyhedra__Library_1_1Box_94dd083371c61a3f54521caed75e2820) 3045 0 R (classParma__Polyhedra__Library_1_1Box_96038eb89649898faa9a4355206b72d3) 3161 0 R (classParma__Polyhedra__Library_1_1Box_9de293fc5ed59d0122ccd78839b1a668) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_929caef76be87459ac964105f4c75cf4) (classParma__Polyhedra__Library_1_1Box_9de293fc5ed59d0122ccd78839b1a668)]
+>> endobj
+12299 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_9e6044d3d1b8cd66b7e150763a0cce2a) 2869 0 R (classParma__Polyhedra__Library_1_1Box_9ffb692c7f3bd8af9b81135e38b38dd7) 3043 0 R (classParma__Polyhedra__Library_1_1Box_a18b052380a4cbb9db236d690f932eda) 3099 0 R (classParma__Polyhedra__Library_1_1Box_a366a38561684a64bc0a042702534a07) 3090 0 R (classParma__Polyhedra__Library_1_1Box_a7961325727c376428ef2f9431e0c204) 2872 0 R (classParma__Polyhedra__Library_1_1Box_ac61a0c0f3a687ef1d79d9014238554c) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_9e6044d3d1b8cd66b7e150763a0cce2a) (classParma__Polyhedra__Library_1_1Box_ac61a0c0f3a687ef1d79d9014238554c)]
+>> endobj
+12300 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_ace7b1f85601837554656295b9c90dce) 3168 0 R (classParma__Polyhedra__Library_1_1Box_acf7b2a7e0bb5007ce8cd9506d06137d) 3089 0 R (classParma__Polyhedra__Library_1_1Box_b4b097033191e38bbb59add2ebba3e70) 2921 0 R (classParma__Polyhedra__Library_1_1Box_b76731fc33f60619d339fd146af90e7f) 2911 0 R (classParma__Polyhedra__Library_1_1Box_b85f80c281c840eedb4f228757b8515a) 3091 0 R (classParma__Polyhedra__Library_1_1Box_ba476c1ff2b0f1cd58f6e76b981cafac) 3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_ace7b1f85601837554656295b9c90dce) (classParma__Polyhedra__Library_1_1Box_ba476c1ff2b0f1cd58f6e76b981cafac)]
+>> endobj
+12301 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_bb6e0e38bda55fc988819da21f2689eb) 3039 0 R (classParma__Polyhedra__Library_1_1Box_bd266a7d827fb77e09de63dfea2f9d58) 3166 0 R (classParma__Polyhedra__Library_1_1Box_bd6b88d6fd6e0259faa544106b08aeaa) 3031 0 R (classParma__Polyhedra__Library_1_1Box_beb3e0b3cafb96de2ab53e985c574bb7) 2920 0 R (classParma__Polyhedra__Library_1_1Box_c5eb33b72a86a33d7ae4685d376b50a6) 3088 0 R (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_bb6e0e38bda55fc988819da21f2689eb) (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5)]
+>> endobj
+12302 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) 2972 0 R (classParma__Polyhedra__Library_1_1Box_c8a2f81fc1c5b99600d406300792119f) 2968 0 R (classParma__Polyhedra__Library_1_1Box_cbf26ad2a67dbfbd24eb9c89448a793b) 2866 0 R (classParma__Polyhedra__Library_1_1Box_cddbfcdd0e7dd70c2258493ef67d0911) 2922 0 R (classParma__Polyhedra__Library_1_1Box_ce7b6bb6c1aabdf57f1643e88a834aac) 3038 0 R (classParma__Polyhedra__Library_1_1Box_d02ce2da26b1d9dcd0d45042b9f5c3e5) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) (classParma__Polyhedra__Library_1_1Box_d02ce2da26b1d9dcd0d45042b9f5c3e5)]
+>> endobj
+12303 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_d4d12fdbf775bc0ad0bb248bbaa19370) 3229 0 R (classParma__Polyhedra__Library_1_1Box_d9dba7a094763a47be44e246c1120fa7) 3104 0 R (classParma__Polyhedra__Library_1_1Box_db355a57fc1949b2ef9627d45be5f9bc) 2980 0 R (classParma__Polyhedra__Library_1_1Box_dcd50fc4fa1b8e5533d7af0513d1a833) 2916 0 R (classParma__Polyhedra__Library_1_1Box_ddca3baab772ce17fb5133b0c4e60c33) 2978 0 R (classParma__Polyhedra__Library_1_1Box_df00a3a6522cd0b27a52ba3e2ab5c8ab) 2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_d4d12fdbf775bc0ad0bb248bbaa19370) (classParma__Polyhedra__Library_1_1Box_df00a3a6522cd0b27a52ba3e2ab5c8ab)]
+>> endobj
+12304 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_e1186868176c9fb31d7293bc2fe55e52) 3221 0 R (classParma__Polyhedra__Library_1_1Box_e1509738a054a1ffeb070a35c41db257) 3165 0 R (classParma__Polyhedra__Library_1_1Box_e627d4ce07125a5bf6dbe4c4464bfacf) 2915 0 R (classParma__Polyhedra__Library_1_1Box_e70fafb10013762e436a434564d7e931) 3103 0 R (classParma__Polyhedra__Library_1_1Box_e862a635387c2458da51889c20465f0c) 3094 0 R (classParma__Polyhedra__Library_1_1Box_e8b96392adb007f1c59758cba8cbc886) 3 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Box_e1186868176c9fb31d7293bc2fe55e52) (classParma__Polyhedra__Library_1_1Box_e8b96392adb007f1c59758cba8cbc886)]
+>> endobj
+12305 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Box_f5edabe0fbfa14196208041ded356c65) 3220 0 R (classParma__Polyhedra__Library_1_1Box_f623edfed6d4816ac5573f42a6a1e801) 2981 0 R (classParma__Polyhedra__Library_1_1Box_fb683aefdda7a1c5dcf92ee2a03daf81) 3163 0 R (classParma__Polyhedra__Library_1_1Box_fb9fe84fabd3625d37c47e517034d88b) 3219 0 R (classParma__Polyhedra__Library_1_1Box_fd20bc6142cb1206b51b0b449ebf4273) 3170 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron) 476 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_f5edabe0fbfa14196208041ded356c65) (classParma__Polyhedra__Library_1_1C__Polyhedron)]
+>> endobj
+12306 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_09726be54fe2a591787de59eeffdd2ea) 3587 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_2b220dabc613a89a062968101429e58c) 3545 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_33d58476db85f48e4ad680c69bca524f) 3544 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_4b841053fdf5718c17a018ff650b550a) 3543 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_59d06e9b429faef7a632d58e4a0b12bd) 3585 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_09726be54fe2a591787de59eeffdd2ea) (classParma__Polyhedra__Library_1_1C__Polyhedron_5eb7f86790ada6549123a0225d68a4de)]
+>> endobj
+12307 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_6424da8931d774f6a2e403c1e2f0d09a) 3588 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_68e25304a250a8c739927adfb90043d1) 3591 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_6b286c9e001bf126a0ab85aac675786d) 3593 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_6f581bf46ab0488f444977453ba2ea2d) 3586 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_8a6c3f01edb04382620066f17b63b20c) 3547 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_6424da8931d774f6a2e403c1e2f0d09a) (classParma__Polyhedra__Library_1_1C__Polyhedron_9720487deabf813a31afd4e9cfe695aa)]
+>> endobj
+12308 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1C__Polyhedron_c3126925bcd3349b150771d52c19639d) 3549 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_c86d25d06285c9a2e890770fed084574) 3594 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_c98ed1378829f72aee73c40dff16f269) 3546 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_e46f7a91b9fac1a62ef875ec5c72aab6) 3548 0 R (classParma__Polyhedra__Library_1_1C__Polyhedron_e9a2b78be6811d666fb9d145078d796d) 3592 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_c3126925bcd3349b150771d52c19639d) (classParma__Polyhedra__Library_1_1C__Polyhedron_faae25a26dbecf9341c7fb2c2575f81f)]
+>> endobj
+12309 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number) 1427 0 R (classParma__Polyhedra__Library_1_1Checked__Number_00f887bfb5c61faba29a67def563c786) 3778 0 R (classParma__Polyhedra__Library_1_1Checked__Number_02949da26a3761489d2fb98018010990) 3787 0 R (classParma__Polyhedra__Library_1_1Checked__Number_06c0a4ba25cbc3d59797bf1c73c49497) 3837 0 R (classParma__Polyhedra__Library_1_1Checked__Number_0803532e7523865597c394e1371d2b16) 3838 0 R (classParma__Polyhedra__Library_1_1Checked__Num [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number) (classParma__Polyhedra__Library_1_1Checked__Number_08ceb442794b5f60c1ad09ce744371e1)]
+>> endobj
+12310 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_0acb1530838a14041c43002dd8ee3541) 3893 0 R (classParma__Polyhedra__Library_1_1Checked__Number_164f8732d5fe6b526a34e168145a95ad) 3737 0 R (classParma__Polyhedra__Library_1_1Checked__Number_16b12775a696c6e304cf9ee7ffe2213e) 4045 0 R (classParma__Polyhedra__Library_1_1Checked__Number_1a79ab4c49d7ae4406b56dc2b3d94463) 3833 0 R (classParma__Polyhedra__Library_1_1Checked__Number_1bdc1023fb4478270594d0e965eb90c9) 3695 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_0acb1530838a14041c43002dd8ee3541) (classParma__Polyhedra__Library_1_1Checked__Number_1d723d4d200b4a6a694b141c7b6f408e)]
+>> endobj
+12311 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_2024878c4c26cb836d454e2e93f40c8f) 3691 0 R (classParma__Polyhedra__Library_1_1Checked__Number_24e90bb8bb38d248aca79c76a1717d9d) 3731 0 R (classParma__Polyhedra__Library_1_1Checked__Number_268aa30d717cdc7d07e60cf7c56712e6) 3779 0 R (classParma__Polyhedra__Library_1_1Checked__Number_2857ee1039a41cfab001c0ba21c69ac3) 3786 0 R (classParma__Polyhedra__Library_1_1Checked__Number_298300b8f88eb674c317b99ad09a474b) 3690 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_2024878c4c26cb836d454e2e93f40c8f) (classParma__Polyhedra__Library_1_1Checked__Number_2b39d89b5938161bd8922b7c1f28f637)]
+>> endobj
+12312 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_2ee8a6019070192609b3ea6e5dfa3018) 4048 0 R (classParma__Polyhedra__Library_1_1Checked__Number_2f03dea4f9d5f0e15e18785cf3dd58a3) 3901 0 R (classParma__Polyhedra__Library_1_1Checked__Number_2f9c525f46f4ff5707b505a88c82aee0) 3943 0 R (classParma__Polyhedra__Library_1_1Checked__Number_307453961ae9779ce9e1e3ebcc94496d) 3950 0 R (classParma__Polyhedra__Library_1_1Checked__Number_33a5462cd5398fdbd61989d17aeeaa72) 3640 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_2ee8a6019070192609b3ea6e5dfa3018) (classParma__Polyhedra__Library_1_1Checked__Number_356bd3ccfaa76c0ef4452a34ce767897)]
+>> endobj
+12313 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_3cb9b031ec4e6fd7e53e53da5b0f04a1) 3835 0 R (classParma__Polyhedra__Library_1_1Checked__Number_3de2c410fab852f07f89df5be3d4c118) 3726 0 R (classParma__Polyhedra__Library_1_1Checked__Number_3f5e732694ad7d879ac7eaef0668073a) 3947 0 R (classParma__Polyhedra__Library_1_1Checked__Number_404beea19c04f4e7bbcfe81aae0d6a7d) 3702 0 R (classParma__Polyhedra__Library_1_1Checked__Number_461dbfcb8f68886137794e4a408fc55e) 3696 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_3cb9b031ec4e6fd7e53e53da5b0f04a1) (classParma__Polyhedra__Library_1_1Checked__Number_4bed59d493c4fd91537602efb267c938)]
+>> endobj
+12314 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_4cca5e272cecc038189aac8b2fc8ace2) 3891 0 R (classParma__Polyhedra__Library_1_1Checked__Number_4ced0eee2a4a2c50779c2d01ef022500) 4050 0 R (classParma__Polyhedra__Library_1_1Checked__Number_4f3206ab2d3c47e2014e5b306167c7c0) 3692 0 R (classParma__Polyhedra__Library_1_1Checked__Number_55e9dfdf5da9a55b7523bda6b7f56c78) 3732 0 R (classParma__Polyhedra__Library_1_1Checked__Number_59638854527a5bebee3676750668c63a) 3785 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_4cca5e272cecc038189aac8b2fc8ace2) (classParma__Polyhedra__Library_1_1Checked__Number_6133c234bff425e6feac34cef06b74b2)]
+>> endobj
+12315 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_627ac77a4752fde3c10792ee9f1673a4) 3780 0 R (classParma__Polyhedra__Library_1_1Checked__Number_65b1cc4ac0c0c8a2efcbf3d36d4ac0ac) 3774 0 R (classParma__Polyhedra__Library_1_1Checked__Number_6957dba3dbf92459a364893d7ecfb897) 3698 0 R (classParma__Polyhedra__Library_1_1Checked__Number_6a2d561ac8088ed64a0bb51d8fffcd9b) 3830 0 R (classParma__Polyhedra__Library_1_1Checked__Number_6afe848ad84ff68d48142caf0599760a) 3775 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_627ac77a4752fde3c10792ee9f1673a4) (classParma__Polyhedra__Library_1_1Checked__Number_72ef8379745ed9575b39216ba1e51d18)]
+>> endobj
+12316 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_74b0a8cfdec7831e7a3e296b3e3751dd) 3697 0 R (classParma__Polyhedra__Library_1_1Checked__Number_755f1ffc7dbac4ff01984c02774c9bc6) 3895 0 R (classParma__Polyhedra__Library_1_1Checked__Number_761744f24a8e2faed19912950cf13baf) 3826 0 R (classParma__Polyhedra__Library_1_1Checked__Number_76b5e4c5b9628c14a7d227517b8fb349) 4009 0 R (classParma__Polyhedra__Library_1_1Checked__Number_77a2c5c27e9c0838fea6e6447b20c320) 3701 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_74b0a8cfdec7831e7a3e296b3e3751dd) (classParma__Polyhedra__Library_1_1Checked__Number_798df1392d067294fc936bcfa19745c4)]
+>> endobj
+12317 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_79a5a323f582c4260790552d3be140fd) 4007 0 R (classParma__Polyhedra__Library_1_1Checked__Number_79f64d099a652834da74cc8fd68f2452) 3736 0 R (classParma__Polyhedra__Library_1_1Checked__Number_7ce6dfd81e04c3eb8d196bf13a96ebe6) 3827 0 R (classParma__Polyhedra__Library_1_1Checked__Number_7e90d52413515d81ad9b68fb1740d869) 3832 0 R (classParma__Polyhedra__Library_1_1Checked__Number_80993a2a72759ec030dd3cde21c8a00d) 3782 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_79a5a323f582c4260790552d3be140fd) (classParma__Polyhedra__Library_1_1Checked__Number_80f6de87ec43c33fac3832b14a507c0b)]
+>> endobj
+12318 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_84ea81a9b4eed51ac13029dbccf67662) 3894 0 R (classParma__Polyhedra__Library_1_1Checked__Number_8772f767006f16e376d8eca9b1578b73) 3784 0 R (classParma__Polyhedra__Library_1_1Checked__Number_8abdf2e292960e1fb216ce3c2c0816ff) 3733 0 R (classParma__Polyhedra__Library_1_1Checked__Number_91459c49e4f7d7fc2dea0347e0489ce5) 3776 0 R (classParma__Polyhedra__Library_1_1Checked__Number_956de4112c520bb87767ce894b4d512d) 3777 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_84ea81a9b4eed51ac13029dbccf67662) (classParma__Polyhedra__Library_1_1Checked__Number_95ac9759a14fe23bf8d02a621e4e9e5c)]
+>> endobj
+12319 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_98dae78cdd16f7127a4b3e18c3976562) 3738 0 R (classParma__Polyhedra__Library_1_1Checked__Number_9a28ec8161898b61530de9bbb4a3251d) 2076 0 R (classParma__Polyhedra__Library_1_1Checked__Number_9b45abd63e1255df8341775c8f42b842) 4004 0 R (classParma__Polyhedra__Library_1_1Checked__Number_9c4298d04019ab7b5233ddceb430be03) 3825 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a355ae6b2a2a704e88060541fbaa6562) 4046 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_98dae78cdd16f7127a4b3e18c3976562) (classParma__Polyhedra__Library_1_1Checked__Number_a3de5a2fe7f06d0aa3e4972be2023933)]
+>> endobj
+12320 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_a7885d402d5653321f316029ca0af517) 4052 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a831d9698f64ff610fa1b3341025603a) 3951 0 R (classParma__Polyhedra__Library_1_1Checked__Number_a8f66682c527ff5a5a2496de0e3fb2ec) 3942 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b19be1f26efb21370e8460b325a7f57c) 3741 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b1b19ff2b88ffca75ac27208cdd877a2) 3945 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a7885d402d5653321f316029ca0af517) (classParma__Polyhedra__Library_1_1Checked__Number_b45faf2ccad8057c7b27e0c999eb063b)]
+>> endobj
+12321 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_b4d4a0ebee3fcc93490aa029028a810b) 3694 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b65697a5fab14ca76c391a3aa523e3f6) 3889 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b733c7c83da19667a83c2a3abafa5d05) 4006 0 R (classParma__Polyhedra__Library_1_1Checked__Number_b74908b692bc6f8112f5d27b96141431) 3641 0 R (classParma__Polyhedra__Library_1_1Checked__Number_bb6ca6c02bde2f04d412129e4be9743e) 3900 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_b4d4a0ebee3fcc93490aa029028a810b) (classParma__Polyhedra__Library_1_1Checked__Number_be0aef8acc1101523cfbf50ebce7528e)]
+>> endobj
+12322 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_bf60cc7fa60d33c4fe958126d55cbac2) 3700 0 R (classParma__Polyhedra__Library_1_1Checked__Number_c0ef828e81a5c7625db3abadcafc8438) 3686 0 R (classParma__Polyhedra__Library_1_1Checked__Number_c32024703f8ac04b6b68ff1761575d2d) 3949 0 R (classParma__Polyhedra__Library_1_1Checked__Number_c62afeb287031d74441101af60be319a) 3941 0 R (classParma__Polyhedra__Library_1_1Checked__Number_c95c1fbaee07d3a9cead4d07683f6168) 3828 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_bf60cc7fa60d33c4fe958126d55cbac2) (classParma__Polyhedra__Library_1_1Checked__Number_cca11ef67e39b711f96604b6bf806feb)]
+>> endobj
+12323 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_cdce8391d61c3090aa51f9d0656524a2) 3897 0 R (classParma__Polyhedra__Library_1_1Checked__Number_d3d8562d66aeed544d8ef75b941e807c) 3948 0 R (classParma__Polyhedra__Library_1_1Checked__Number_d5c5cd5266cf95dcdc0f03d0108168b5) 4047 0 R (classParma__Polyhedra__Library_1_1Checked__Number_d5ff0dd1267079af85d9938bb4a975de) 4002 0 R (classParma__Polyhedra__Library_1_1Checked__Number_d6c64cb3cfad6b8d7fb952e3f85347aa) 3896 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_cdce8391d61c3090aa51f9d0656524a2) (classParma__Polyhedra__Library_1_1Checked__Number_da7d59af059bdfb2e485d341213e6d19)]
+>> endobj
+12324 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_dda98cdf0bda436acac3193162fa53b0) 4008 0 R (classParma__Polyhedra__Library_1_1Checked__Number_de4a5582f82333f20fd6a8be13ff8d7f) 3836 0 R (classParma__Polyhedra__Library_1_1Checked__Number_dfb768d4ea63e2eb5d58aec03b999f17) 3898 0 R (classParma__Polyhedra__Library_1_1Checked__Number_e179c684a9ed7eafbbac1825d17f7daa) 3834 0 R (classParma__Polyhedra__Library_1_1Checked__Number_e3a660d2b2a34f69d2d0cb1cc77f6f69) 3727 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_dda98cdf0bda436acac3193162fa53b0) (classParma__Polyhedra__Library_1_1Checked__Number_e4bfe4a80fb074c50ec17657eee225e8)]
+>> endobj
+12325 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_e6fa6e27a794dc71b88169df7f08fcac) 3902 0 R (classParma__Polyhedra__Library_1_1Checked__Number_ed795d57d70d782ccf2a584cce183050) 3728 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f0647cd431d30a9658d4bdc77e32d9e4) 3740 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f1952cf5da3ecbadd8401b948e899a31) 4005 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f2441164b4c23a8203f399f561c9a7c7) 3687 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_e6fa6e27a794dc71b88169df7f08fcac) (classParma__Polyhedra__Library_1_1Checked__Number_f47ee9cf59cfac8a346660698c61d113)]
+>> endobj
+12326 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_f9af63978105e142642222864ce7c3be) 4049 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f9d7eaecf113e25020c55ed0bf79eb03) 3734 0 R (classParma__Polyhedra__Library_1_1Checked__Number_f9daca45c3c1d0d1afd57ab47c6cacd4) 3739 0 R (classParma__Polyhedra__Library_1_1Checked__Number_fad3fbdebb1ba319083c56fa2ae679e6) 3735 0 R (classParma__Polyhedra__Library_1_1Checked__Number_fc3433d8ec297e2d1fbdf559d93f9080) 3831 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_f9af63978105e142642222864ce7c3be) (classParma__Polyhedra__Library_1_1Checked__Number_fcb46dd5c0701130f067f577f99ef27f)]
+>> endobj
+12327 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Checked__Number_fcba1dd5e579752d6dcc40ef4d5799b8) 3685 0 R (classParma__Polyhedra__Library_1_1Checked__Number_fed617fd6598839b510b46a3857387d4) 3899 0 R (classParma__Polyhedra__Library_1_1Congruence) 1428 0 R (classParma__Polyhedra__Library_1_1Congruence_0ff04e47054c14b2edf29096ecc95ab7) 4190 0 R (classParma__Polyhedra__Library_1_1Congruence_146b211f83e22bd011d3de2e5975073b) 4193 0 R (classParma__Polyhedra__Library_1_1Congruence_29c63b939ed830a0 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_fcba1dd5e579752d6dcc40ef4d5799b8) (classParma__Polyhedra__Library_1_1Congruence_29c63b939ed830a0395170835e60beaf)]
+>> endobj
+12328 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_29c6deef0eb3911adbb08d36a8f0b3f2) 4202 0 R (classParma__Polyhedra__Library_1_1Congruence_2c93e938cd478716c7c9e5e9988f7a98) 4154 0 R (classParma__Polyhedra__Library_1_1Congruence_2ca2446f563956eb2b92ddd17e5c0b2c) 4238 0 R (classParma__Polyhedra__Library_1_1Congruence_2cb39e7c88e9e724e7970d0e953f2c81) 4250 0 R (classParma__Polyhedra__Library_1_1Congruence_33e6005a1fe40cb202eb619912c25c3c) 4195 0 R (classParma__Polyhedra__Library_1_1Cong [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_29c6deef0eb3911adbb08d36a8f0b3f2) (classParma__Polyhedra__Library_1_1Congruence_39b6f38fff55dd953ec509b3739dd17d)]
+>> endobj
+12329 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_3a4c3af6146717b3302f467368eafe46) 4157 0 R (classParma__Polyhedra__Library_1_1Congruence_3c9879f0c9dcb81fe1bbf78828509ef6) 4156 0 R (classParma__Polyhedra__Library_1_1Congruence_43983a6ee447e480f8700915bccb4811) 4191 0 R (classParma__Polyhedra__Library_1_1Congruence_484373d269a31c21efae44a83f8be6f0) 4189 0 R (classParma__Polyhedra__Library_1_1Congruence_54cdd6074f90a5623c8ae7ddcfedc5c2) 4275 0 R (classParma__Polyhedra__Library_1_1Cong [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_3a4c3af6146717b3302f467368eafe46) (classParma__Polyhedra__Library_1_1Congruence_57362a4d56c397575a6d043cdbcec0f9)]
+>> endobj
+12330 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_584cb5084fe5479b0c373e3d17fe5ffd) 4155 0 R (classParma__Polyhedra__Library_1_1Congruence_5a207ecd92e9fd8f3b1937a5064746a9) 4197 0 R (classParma__Polyhedra__Library_1_1Congruence_5b3db7ba1765b3a04f8d320968f70447) 4243 0 R (classParma__Polyhedra__Library_1_1Congruence_6609e54e84d50cd074c2dd65f38b47da) 4203 0 R (classParma__Polyhedra__Library_1_1Congruence_6a24743a95176da13995bb6c17151c9b) 4246 0 R (classParma__Polyhedra__Library_1_1Cong [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_584cb5084fe5479b0c373e3d17fe5ffd) (classParma__Polyhedra__Library_1_1Congruence_7415de7b412a5e297810ff35a97a2849)]
+>> endobj
+12331 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_79c648d88214174287e3763b804f4aaf) 4158 0 R (classParma__Polyhedra__Library_1_1Congruence_7facb7a06ac72f1af2bc514c788f1a38) 4241 0 R (classParma__Polyhedra__Library_1_1Congruence_8aab82f7118966662582f88725ce4735) 4240 0 R (classParma__Polyhedra__Library_1_1Congruence_94b3624c208219e401569cd289049b38) 4194 0 R (classParma__Polyhedra__Library_1_1Congruence__System) 1429 0 R (classParma__Polyhedra__Library_1_1Congruence__System_044dbf5931 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_79c648d88214174287e3763b804f4aaf) (classParma__Polyhedra__Library_1_1Congruence__System_044dbf593127c9e8cbbbe2a0d169c30c)]
+>> endobj
+12332 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_067b4c27cf8643f8ded50ebda77da8aa) 4389 0 R (classParma__Polyhedra__Library_1_1Congruence__System_0a4f8e3f3469f021594ea9311c21aadd) 4388 0 R (classParma__Polyhedra__Library_1_1Congruence__System_0bf701759fc56f8fb215c273e53b46ae) 4380 0 R (classParma__Polyhedra__Library_1_1Congruence__System_11de7a0cc309058d6aee273d613c9432) 4430 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1685b5eb65ba36a9e715a8e3344dbcd8) 4381 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_067b4c27cf8643f8ded50ebda77da8aa) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator)]
+>> endobj
+12333 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_0ac88c873a13c4afa6f99d3d436e13a3) 4508 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_12f3d0ee3885355092a65262f24d46af) 4480 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_192ff11375b59075c9ea19a8c2b5511e) 4485 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_400c02f876d8f4e3f6aef2bfc5fb16cb) 4484 0 R (classParma__Polyhed [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_0ac88c873a13c4afa6f99d3d436e13a3) (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_97586e332fd16ccf6e7d642bb4bbf83e)]
+>> endobj
+12334 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_dca809f9ebacacf70bc610d41bbaff47) 4482 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_e575efc6c01c4bf9968c7e27bb94951b) 4483 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_e7c03963759dfdb937135a7f99165361) 4479 0 R (classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_f0ea51d59b5026db43b2edd4cee928ba) 4481 0 R (classParma__Polyhed [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_1_1const__iterator_dca809f9ebacacf70bc610d41bbaff47) (classParma__Polyhedra__Library_1_1Congruence__System_2e45b62cb223f5a21ced82480712e64f)]
+>> endobj
+12335 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_339fab488002bb5b341e1bb82edee103) 4435 0 R (classParma__Polyhedra__Library_1_1Congruence__System_37857f2dfb7b17609b671f9070be15ca) 4390 0 R (classParma__Polyhedra__Library_1_1Congruence__System_39867871dd0a4fbe2f3cef2695881345) 4342 0 R (classParma__Polyhedra__Library_1_1Congruence__System_3fe60e1a76b2a92143004e52ccfcb7c7) 4378 0 R (classParma__Polyhedra__Library_1_1Congruence__System_535895e2351f7618e9107a38d9285d73) 4343 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_339fab488002bb5b341e1bb82edee103) (classParma__Polyhedra__Library_1_1Congruence__System_548ae200545f7d25b875f190b5611368)]
+>> endobj
+12336 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_562fa08178e809398402920e5e674ff8) 4383 0 R (classParma__Polyhedra__Library_1_1Congruence__System_5c85932f5fb67a78d1faf8165783d5d3) 4382 0 R (classParma__Polyhedra__Library_1_1Congruence__System_5cd2538767045bd89360588c37d2aedb) 4445 0 R (classParma__Polyhedra__Library_1_1Congruence__System_6b5016000dff8b0c774381316acc0a11) 4339 0 R (classParma__Polyhedra__Library_1_1Congruence__System_6e742d7ffa4f4b7037760cf3ebf62348) 4428 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_562fa08178e809398402920e5e674ff8) (classParma__Polyhedra__Library_1_1Congruence__System_77c72d8473dc3e9856d7ff6c05ce7b07)]
+>> endobj
+12337 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_7f5a110ccdfd8efa5e0eac984f90d753) 4434 0 R (classParma__Polyhedra__Library_1_1Congruence__System_99161b46c175aa485608154dbcc866cb) 4379 0 R (classParma__Polyhedra__Library_1_1Congruence__System_9d7fe3b07d9e1d35c04fa2d81e32bf34) 4341 0 R (classParma__Polyhedra__Library_1_1Congruence__System_9e8a61b2b759dde8f65219688548ffaa) 4384 0 R (classParma__Polyhedra__Library_1_1Congruence__System_a341843d5eadfc196441cad0af63ac9d) 4422 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_7f5a110ccdfd8efa5e0eac984f90d753) (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874)]
+>> endobj
+12338 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) 4337 0 R (classParma__Polyhedra__Library_1_1Congruence__System_cf4cf2f1d8c3e1d339b1eddc94139272) 4340 0 R (classParma__Polyhedra__Library_1_1Congruence__System_d05bc9046303661aa532423ac5a5c16d) 4386 0 R (classParma__Polyhedra__Library_1_1Congruence__System_dd39af06cea8afa45c772e94db8a1309) 4425 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ddf5f330215fb1878018673eff609704) 4376 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) (classParma__Polyhedra__Library_1_1Congruence__System_e4a4890ceb257496b788e0d31dbf6d7f)]
+>> endobj
+12339 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence__System_ea6d543c90be52299d6ffc57fc9ba5d1) 4387 0 R (classParma__Polyhedra__Library_1_1Congruence__System_ec5860620ae92988c1740dc393064fe7) 4424 0 R (classParma__Polyhedra__Library_1_1Congruence__System_f97f2d43a487ec81e040aec36bbc6ebe) 4429 0 R (classParma__Polyhedra__Library_1_1Congruence__System_fefca839fc7b4d2d166e7a1fe6196fd5) 4375 0 R (classParma__Polyhedra__Library_1_1Congruence_a03b119140132112557907b772102b33) 4199 0 R (classP [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_ea6d543c90be52299d6ffc57fc9ba5d1) (classParma__Polyhedra__Library_1_1Congruence_a948df90fc7880e7e52ceef297ee9bbf)]
+>> endobj
+12340 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_af7dc46b2cfbd6650ac1d2035d331f15) 4252 0 R (classParma__Polyhedra__Library_1_1Congruence_b45e800217e1c61d8595e2ffc51a83ad) 4153 0 R (classParma__Polyhedra__Library_1_1Congruence_b917a480b6afe7e2750aa2862c6783cf) 4198 0 R (classParma__Polyhedra__Library_1_1Congruence_ba7dbedd485eab91821f129132a04723) 4152 0 R (classParma__Polyhedra__Library_1_1Congruence_c26379e5f82fd0223682b11b9e052ea5) 4201 0 R (classParma__Polyhedra__Library_1_1Cong [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_af7dc46b2cfbd6650ac1d2035d331f15) (classParma__Polyhedra__Library_1_1Congruence_c53e4323b140cdd4ba1ac96e7204d93a)]
+>> endobj
+12341 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_c8652f34bdfa731c02c1900f62bd5e88) 4276 0 R (classParma__Polyhedra__Library_1_1Congruence_d07dc0dabac5685f9db8d9dc11e513f1) 4239 0 R (classParma__Polyhedra__Library_1_1Congruence_d67d37524d1fb7f31766c0b02cb8591a) 4188 0 R (classParma__Polyhedra__Library_1_1Congruence_deee840f3313b6050d439dbe5fe2fdd7) 4251 0 R (classParma__Polyhedra__Library_1_1Congruence_e0c9395c1ac4d96e245be43fcd76424c) 4273 0 R (classParma__Polyhedra__Library_1_1Cong [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_c8652f34bdfa731c02c1900f62bd5e88) (classParma__Polyhedra__Library_1_1Congruence_e96eebded76c559c95910dc233c68f06)]
+>> endobj
+12342 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Congruence_fcf86304f17dc474e1e5bbe0486c1b59) 4248 0 R (classParma__Polyhedra__Library_1_1Constraint) 1431 0 R (classParma__Polyhedra__Library_1_1Constraint_047a99eb91872d19730f4fd14a81f55c) 4618 0 R (classParma__Polyhedra__Library_1_1Constraint_09c8fc0753a389cc42f84c12f7920832) 4611 0 R (classParma__Polyhedra__Library_1_1Constraint_0ab383f3930179982937f7733a283a03) 4557 0 R (classParma__Polyhedra__Library_1_1Constraint_0ab38d6ea061e7c2cb1595ba9c [...]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence_fcf86304f17dc474e1e5bbe0486c1b59) (classParma__Polyhedra__Library_1_1Constraint_0ab38d6ea061e7c2cb1595ba9cf2fd42)]
+>> endobj
+12343 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_0d50a5df6b31c6de90fe366e18e750ff) 4607 0 R (classParma__Polyhedra__Library_1_1Constraint_182ea33f63c0eea708e02a32b0904f30) 4712 0 R (classParma__Polyhedra__Library_1_1Constraint_239b0622fbcfe1638b4246deab2caa29) 4550 0 R (classParma__Polyhedra__Library_1_1Constraint_2679da4dbd5b8c33ef607aee49690c2a) 4561 0 R (classParma__Polyhedra__Library_1_1Constraint_29202eb817eb5c9d59433abeeb4f2eea) 4562 0 R (classParma__Polyhedra__Library_1_1Cons [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_0d50a5df6b31c6de90fe366e18e750ff) (classParma__Polyhedra__Library_1_1Constraint_2935fff040a5b31930fff594a0b2596d)]
+>> endobj
+12344 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_2fb9117b8937e3d9a9b4d3ae397bb79a) 4694 0 R (classParma__Polyhedra__Library_1_1Constraint_340e8b886fb185bed798dcbc1391c126) 4692 0 R (classParma__Polyhedra__Library_1_1Constraint_36a0c8ccab7923610bd27f637af63e1d) 4512 0 R (classParma__Polyhedra__Library_1_1Constraint_3c1dcd74ba0b2509f45aad45a5d922ce) 4549 0 R (classParma__Polyhedra__Library_1_1Constraint_3c920e734593812d8529bc12be6f503e) 4690 0 R (classParma__Polyhedra__Library_1_1Cons [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_2fb9117b8937e3d9a9b4d3ae397bb79a) (classParma__Polyhedra__Library_1_1Constraint_423e3bb0d9886c630c3c227def9f2073)]
+>> endobj
+12345 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_442aecbe0ce384a7c1add146fb125ed6) 4554 0 R (classParma__Polyhedra__Library_1_1Constraint_448b4387171ec166085eb46aacedaad9) 4620 0 R (classParma__Polyhedra__Library_1_1Constraint_4b4c0277d3b6c85ab6633ae9f5e235c6) 4710 0 R (classParma__Polyhedra__Library_1_1Constraint_54742578f3ff98e32e7e15d6b554f13f) 4691 0 R (classParma__Polyhedra__Library_1_1Constraint_600a652347fb8718e0bc05f7230b8d8a) 4622 0 R (classParma__Polyhedra__Library_1_1Cons [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_442aecbe0ce384a7c1add146fb125ed6) (classParma__Polyhedra__Library_1_1Constraint_61208276a246a505bd753ffbb568bfe7)]
+>> endobj
+12346 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_61bc4f536e4c04b9594e1b6c7e13d76e) 4621 0 R (classParma__Polyhedra__Library_1_1Constraint_66a2134e0f7fc74d62b14f46631dc2c7) 4711 0 R (classParma__Polyhedra__Library_1_1Constraint_6742bd7f3f2cb079b96900dda0147940) 4608 0 R (classParma__Polyhedra__Library_1_1Constraint_745ac1cdddf74c6f387cfbbbc566dc78) 4551 0 R (classParma__Polyhedra__Library_1_1Constraint_78c24741e21a4406ea8ad1588c768147) 4556 0 R (classParma__Polyhedra__Library_1_1Cons [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_61bc4f536e4c04b9594e1b6c7e13d76e) (classParma__Polyhedra__Library_1_1Constraint_7bdaff085ea6859cdec9b27bffb6de4b)]
+>> endobj
+12347 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_852f422dfdf14a1e8a97b4dad77f7e36) 4689 0 R (classParma__Polyhedra__Library_1_1Constraint_89943bdfa5424bf7acecc51a7b6949c8) 4688 0 R (classParma__Polyhedra__Library_1_1Constraint_8fb8b2fe343e5afa80edc06bfa31460b) 4518 0 R (classParma__Polyhedra__Library_1_1Constraint_93d5d6abf06ec551294c4c18abb4349d) 4560 0 R (classParma__Polyhedra__Library_1_1Constraint_9960963fb1f8fb56631e0402557065ae) 4555 0 R (classParma__Polyhedra__Library_1_1Cons [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_852f422dfdf14a1e8a97b4dad77f7e36) (classParma__Polyhedra__Library_1_1Constraint_9dc926136daee1f47975434ee45298ec)]
+>> endobj
+12348 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System) 1432 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1097cf7cb41f29a02ba271abd2f00f5e) 4830 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator) 1433 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_311a973ff993328d8cb3627f3af31129) 4907 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_3e8a8932563dfdc292fde93931f0bf2e) 4908 0 R (classPa [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_4fa3c4bbfb1c6905d95c08c2d90af526)]
+>> endobj
+12349 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_641015af4c3d3b84184e8ca8dd128b10) 4903 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_6ba82ff86685d87dd34f4d441a7d769b) 4911 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_a02f5903786b4da29daecddcb0db6cbf) 4906 0 R (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_b404db5180176140a7600b31616f9a07) 4910 0 R (classParma__Polyhed [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_641015af4c3d3b84184e8ca8dd128b10) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_f3c5bf7dd0135194b6c180dcb232ef54)]
+>> endobj
+12350 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_fc81dafc5cf15ca9acd8f6a03f66c788) 4905 0 R (classParma__Polyhedra__Library_1_1Constraint__System_2552e7a194f5fb0d591bafb591b91968) 4835 0 R (classParma__Polyhedra__Library_1_1Constraint__System_257775ae01cfcd011aca9bcbccb03da7) 4788 0 R (classParma__Polyhedra__Library_1_1Constraint__System_2b451e6b09162c7c19b0a2ad36545c69) 4837 0 R (classParma__Polyhedra__Library_1_1Constraint__System_314eb5fed86c6bbe4a7223c [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_fc81dafc5cf15ca9acd8f6a03f66c788) (classParma__Polyhedra__Library_1_1Constraint__System_3410a53827de9155ac7d6cbd84263364)]
+>> endobj
+12351 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_3badc2f43376aa26f481af4800a3515b) 4873 0 R (classParma__Polyhedra__Library_1_1Constraint__System_50423c4391d0c3064787f19661914973) 4789 0 R (classParma__Polyhedra__Library_1_1Constraint__System_5a79ce2b52efebd42da2736164a043ad) 4836 0 R (classParma__Polyhedra__Library_1_1Constraint__System_5cebd3d6d6ec070c47682e77b0248f22) 4833 0 R (classParma__Polyhedra__Library_1_1Constraint__System_61e02a6ed1b9dd0d6d306d76f5da55a2) 4790 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_3badc2f43376aa26f481af4800a3515b) (classParma__Polyhedra__Library_1_1Constraint__System_6293b813e42a59a9795cafe0efa762cc)]
+>> endobj
+12352 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_67f95ed6867827f03a6af0a7334376e3) 4834 0 R (classParma__Polyhedra__Library_1_1Constraint__System_6aec148aa41935a4072c64a43c51c577) 4826 0 R (classParma__Polyhedra__Library_1_1Constraint__System_70e9ad42674d62ed9bd73268e3af7064) 4864 0 R (classParma__Polyhedra__Library_1_1Constraint__System_78a4d5f5e4702a16d6aae656293ec7ad) 4838 0 R (classParma__Polyhedra__Library_1_1Constraint__System_809a4546135123a08f12c0a65fb22241) 4825 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_67f95ed6867827f03a6af0a7334376e3) (classParma__Polyhedra__Library_1_1Constraint__System_8388d0d6d7ff68c627d516ec17f56b4c)]
+>> endobj
+12353 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_92333180e0163e9c87f2220dceef012d) 4791 0 R (classParma__Polyhedra__Library_1_1Constraint__System_964e4bcbbfde58f43977d0a8e686ec35) 4792 0 R (classParma__Polyhedra__Library_1_1Constraint__System_c3223cf8c7d19b02b5e3c04038024b47) 4863 0 R (classParma__Polyhedra__Library_1_1Constraint__System_c92d2324f8ddea454926272e5ccc6dad) 4839 0 R (classParma__Polyhedra__Library_1_1Constraint__System_cd7d1ed2a688f0c6af96e1cff336f933) 4831 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_92333180e0163e9c87f2220dceef012d) (classParma__Polyhedra__Library_1_1Constraint__System_d350b84c25b7c37693d2e7a08d3165ca)]
+>> endobj
+12354 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint__System_dd9738866968b13e938d5669dd94a55e) 4872 0 R (classParma__Polyhedra__Library_1_1Constraint__System_dfa7b03e2ac3a6666a7538431f1bdee9) 4824 0 R (classParma__Polyhedra__Library_1_1Constraint__System_ea9a4fb9807eb61cda3eedf8e5a7acae) 4865 0 R (classParma__Polyhedra__Library_1_1Constraint__System_f882ff84afd3c2507e17ffa62ffd20a0) 4871 0 R (classParma__Polyhedra__Library_1_1Constraint_af207e746f4a3dc2722e254612dab3b3) 4613 0 R (classP [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_dd9738866968b13e938d5669dd94a55e) (classParma__Polyhedra__Library_1_1Constraint_b0f18894c8f97fa0cd38736462f36132)]
+>> endobj
+12355 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_b3186208850238a080373f035cd532cc) 4553 0 R (classParma__Polyhedra__Library_1_1Constraint_b6976f576e6e50941ee7a7b1a737c0eb) 4552 0 R (classParma__Polyhedra__Library_1_1Constraint_bbde4b86cfca3e29a917650f4c9c62d5) 4615 0 R (classParma__Polyhedra__Library_1_1Constraint_bdd61469bc5c6dfc6e97f306a751035c) 4684 0 R (classParma__Polyhedra__Library_1_1Constraint_c7bf9d127644aa14a09eab633e87f544) 4513 0 R (classParma__Polyhedra__Library_1_1Cons [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_b3186208850238a080373f035cd532cc) (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab)]
+>> endobj
+12356 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab7491a8ba26958c3e27bed23b7eef1a7e) 4517 0 R (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6abb5b32713c840499d9e29facf95a17f41) 4515 0 R (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6abc1539389d3643cf986ef5bb99697d1cc) 4516 0 R (classParma__Polyhedra__Library_1_1Constraint_cc5c5125e7237c5913981b99a502f332) 4685 0 R (classParma__Polyhedra__Library_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab7491a8ba26958c3e27bed23b7eef1a7e) (classParma__Polyhedra__Library_1_1Constraint_dba3d929f4317a38ad387c5b45a91199)]
+>> endobj
+12357 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_e3cacddb2450b8b685b8f39936a2b69d) 4680 0 R (classParma__Polyhedra__Library_1_1Constraint_e615df068adfbb40a0b0b7a993579d22) 4681 0 R (classParma__Polyhedra__Library_1_1Constraint_e86d21a6490f299af6229d70cf20c3ba) 4693 0 R (classParma__Polyhedra__Library_1_1Constraint_ea0fedb82a525e6ada13cd7fd2d03225) 4563 0 R (classParma__Polyhedra__Library_1_1Constraint_f06b2331eb3d080794682080b7f7eb1d) 4682 0 R (classParma__Polyhedra__Library_1_1Cons [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_e3cacddb2450b8b685b8f39936a2b69d) (classParma__Polyhedra__Library_1_1Constraint_f245f065572b31c8ca97e196e45f9cf9)]
+>> endobj
+12358 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraint_f2eb5d22ef23937a261cfe3f6bc435e6) 4619 0 R (classParma__Polyhedra__Library_1_1Constraint_f8fcee7f8582b0afc9115eb1304c24f9) 4564 0 R (classParma__Polyhedra__Library_1_1Constraint_fa6ba487c08199e83a970fc49b53d3d0) 4609 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction) 1434 0 R (classParma__Polyhedra__Library_1_1Constraints__Reduction_383574ff4028da9048235b061a613b99) 4931 0 R (classParma__Polyhedra__Library_1_1Constraints__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_f2eb5d22ef23937a261cfe3f6bc435e6) (classParma__Polyhedra__Library_1_1Constraints__Reduction_87f25b7a2988f918a20b3d09047b08ab)]
+>> endobj
+12359 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Constraints__Reduction_898fefd81641cf4f6b854e85412a415c) 4927 0 R (classParma__Polyhedra__Library_1_1Determinate) 1435 0 R (classParma__Polyhedra__Library_1_1Determinate_12f9c11414ff84c5f98e089fe1671e4b) 5002 0 R (classParma__Polyhedra__Library_1_1Determinate_162dc548ba77c3b8b0c09b83740b0add) 4959 0 R (classParma__Polyhedra__Library_1_1Determinate_46a0e4adbfa5f07c11b1cefeaeab50a9) 5001 0 R (classParma__Polyhedra__Library_1_1Determinate_6742290bc [...]
+/Limits [(classParma__Polyhedra__Library_1_1Constraints__Reduction_898fefd81641cf4f6b854e85412a415c) (classParma__Polyhedra__Library_1_1Determinate_6742290bcbdcb397c3a65f92541850c7)]
+>> endobj
+12360 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_68155a8dd4748908068c4f06816ced9e) 4960 0 R (classParma__Polyhedra__Library_1_1Determinate_6a570635ea948e8b83a131c1433f558a) 4958 0 R (classParma__Polyhedra__Library_1_1Determinate_6d81efe6a6302e1b6296be157faeb73e) 4964 0 R (classParma__Polyhedra__Library_1_1Determinate_6e192bab4a848124e98adc8e04f1b780) 4955 0 R (classParma__Polyhedra__Library_1_1Determinate_6e1f5c74ae6b2a7fda7094889aa46300) 5013 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_68155a8dd4748908068c4f06816ced9e) (classParma__Polyhedra__Library_1_1Determinate_766f30dae23752bf497bca855ef8b259)]
+>> endobj
+12361 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_7698afbb74c4d9ef4a404fd200b9226c) 4957 0 R (classParma__Polyhedra__Library_1_1Determinate_81788a9e6af2cd17a632e4008b4b5634) 5007 0 R (classParma__Polyhedra__Library_1_1Determinate_8a354fa2b600043e51e8556864b69dbf) 4999 0 R (classParma__Polyhedra__Library_1_1Determinate_947140ae6a3b18452b6e69dfcf3daf51) 5003 0 R (classParma__Polyhedra__Library_1_1Determinate_97f31ca582bbc0a736ce5f3167021638) 4961 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_7698afbb74c4d9ef4a404fd200b9226c) (classParma__Polyhedra__Library_1_1Determinate_a76dc794cd0a663bebbf8fc0d11d9714)]
+>> endobj
+12362 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_a894183e37c6f3614ed4938d94a3a7ee) 5005 0 R (classParma__Polyhedra__Library_1_1Determinate_b482b0092b8947168a9cc650e7f5a666) 5004 0 R (classParma__Polyhedra__Library_1_1Determinate_bdd1d97c66bb40b6b396982cc6dfc182) 5032 0 R (classParma__Polyhedra__Library_1_1Determinate_c7a892d14bca002fc1a03f9b8a950850) 4965 0 R (classParma__Polyhedra__Library_1_1Determinate_c8977c97bf04a9145308585bf0f79110) 5014 0 R (classParma__Polyhedra__Library_1_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a894183e37c6f3614ed4938d94a3a7ee) (classParma__Polyhedra__Library_1_1Determinate_d56183741949b698e9781549d3da5fa5)]
+>> endobj
+12363 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Determinate_de012d0e50f285077169741e9940f414) 5000 0 R (classParma__Polyhedra__Library_1_1Determinate_e1b84de453a8ba7224dbc5e378011e9b) 5034 0 R (classParma__Polyhedra__Library_1_1Determinate_ebaa837f2ff5fafb87e1e9ceaa9ccfa1) 5009 0 R (classParma__Polyhedra__Library_1_1Determinate_f724448826bbc00406f8f680b31fcaad) 4956 0 R (classParma__Polyhedra__Library_1_1Domain__Product) 1436 0 R (classParma__Polyhedra__Library_1_1GMP__Integer) 1494 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_de012d0e50f285077169741e9940f414) (classParma__Polyhedra__Library_1_1GMP__Integer)]
+>> endobj
+12364 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_01c5bdd401e8bc17ea983d941be2aa49) 5538 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_11810ad660a4aa63766e8ebb0334b7d6) 5505 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_29b14636d21c90e28ee1821666dc1d64) 5506 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_2f220b5f73e79a2e6feab3a97a7e2445) 5507 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_38ab8dc3ca19cacef112ca316bc7ce09) 5537 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_01c5bdd401e8bc17ea983d941be2aa49) (classParma__Polyhedra__Library_1_1GMP__Integer_4039bbdc92a28fade431cb98f20b0fa6)]
+>> endobj
+12365 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_6d5c75bcc32f8aea006e8da4b3f736b2) 5527 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_6e613e3f02e896503d38da788ad593b8) 5498 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_7f9dc23eef0ab2ef9d07f4d53177afce) 5508 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_83b02e8cbb5d14a2ebf2843e6551391d) 5536 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_84565fd9471a52f83618d0d5ce461c3c) 5539 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_6d5c75bcc32f8aea006e8da4b3f736b2) (classParma__Polyhedra__Library_1_1GMP__Integer_952922658abcdfb880fcf0a8483c9620)]
+>> endobj
+12366 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1GMP__Integer_9a22818e12d0abab8d8a8e0d3346f51a) 5502 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_aaa520f25230108e6839b82747cae794) 5500 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_b2dfd07539bfb516c7ca2d04460064fa) 5501 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_b8dbbfce1fd68d57df6b05d5cc74c012) 5499 0 R (classParma__Polyhedra__Library_1_1GMP__Integer_cf54a358f4ddf09f56364da87de68a49) 5503 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1GMP__Integer_9a22818e12d0abab8d8a8e0d3346f51a) (classParma__Polyhedra__Library_1_1Generator)]
+>> endobj
+12367 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_0c26ae11a4146369ff86288347cc54db) 5203 0 R (classParma__Polyhedra__Library_1_1Generator_0fb144e5f3fb6815e4c28c89883607be) 5208 0 R (classParma__Polyhedra__Library_1_1Generator_10cab5245f80aacd8000d0312730ec03) 5201 0 R (classParma__Polyhedra__Library_1_1Generator_13c726daa7d565ded0b177e24b6d1104) 5100 0 R (classParma__Polyhedra__Library_1_1Generator_1c884f5152f75040139ec3d9ec8ac293) 5092 0 R (classParma__Polyhedra__Library_1_1Generator [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_0c26ae11a4146369ff86288347cc54db) (classParma__Polyhedra__Library_1_1Generator_2aba27eb7310045e1a35c7e68af01ab2)]
+>> endobj
+12368 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_303b4ed4262469c1834228e0f88dba74) 5200 0 R (classParma__Polyhedra__Library_1_1Generator_3bc88b2886b0b86865186d142e5ee414) 5144 0 R (classParma__Polyhedra__Library_1_1Generator_3f29f8b40d09b17eaa4cbaac069f72a0) 5089 0 R (classParma__Polyhedra__Library_1_1Generator_42867df59ec40173391b76074f9f0fb2) 5104 0 R (classParma__Polyhedra__Library_1_1Generator_4fb7d78e7b37d7f4b99babdc5cc84783) 5091 0 R (classParma__Polyhedra__Library_1_1Generator [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_303b4ed4262469c1834228e0f88dba74) (classParma__Polyhedra__Library_1_1Generator_5363ddeed325652ee6c064a8936cfe57)]
+>> endobj
+12369 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) 5054 0 R (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed505abaa6ff4aa204c25c94719e8a2b6f4) 5056 0 R (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed54312979a12cae5ebb0791496e1ccce7a) 5055 0 R (classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5b7fe867b1243e111ef4364e3ef5b5329) 5057 0 R (classParma__Polyhedra__Library_1_1G [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_55b76ba0041601d8da38ab5ad619eed5) (classParma__Polyhedra__Library_1_1Generator_584f3fd5a19536644a66818169b16ac6)]
+>> endobj
+12370 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) 5152 0 R (classParma__Polyhedra__Library_1_1Generator_600c942b0a2e94b550ccd84ef9c30928) 5146 0 R (classParma__Polyhedra__Library_1_1Generator_6804f93015ae6e1dc0c2e42e726380c4) 5148 0 R (classParma__Polyhedra__Library_1_1Generator_6b8dae6436867a53e27720ee211f1cc7) 5151 0 R (classParma__Polyhedra__Library_1_1Generator_75190def344d4c1ba6c59a6f0fcf7420) 5210 0 R (classParma__Polyhedra__Library_1_1Generator [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_5c56451d80b8c02636854053de9e0440) (classParma__Polyhedra__Library_1_1Generator_775a8cec41b0fcc88689a171f5be8546)]
+>> endobj
+12371 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_77fc44f44b1bdda486e19e30310634e2) 5099 0 R (classParma__Polyhedra__Library_1_1Generator_7c502c8d46ed2f68679404fdfdf8e0bf) 5093 0 R (classParma__Polyhedra__Library_1_1Generator__System) 1492 0 R (classParma__Polyhedra__Library_1_1Generator__System_02b52b4ef5b1806566495cb7b6d35abb) 5382 0 R (classParma__Polyhedra__Library_1_1Generator__System_02e5a05e31a64af8bb2652645f74190d) 5358 0 R (classParma__Polyhedra__Library_1_1Generator__System_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_77fc44f44b1bdda486e19e30310634e2) (classParma__Polyhedra__Library_1_1Generator__System_071ec60375df0a0f5051dc431f445e37)]
+>> endobj
+12372 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) 1493 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_032aca0bd08a3c854d46b4a7c567b41b) 5440 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_16e25a87d3f2f1a0a454883b84bcf177) 5435 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_28cff68f198562b6921add86c58008af) 5442 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1c [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator) (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_47e2d2f9114f640ca24b3dc68b701152)]
+>> endobj
+12373 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_83d49cacc2666db32082dabdac76acc4) 5437 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_a2b418d948cce672416e77deb99b45b8) 5438 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_b2c21b4ce7f4f822e98343689525f1b8) 5439 0 R (classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_ead8142c94d4974534e7f0fe10ed63a7) 5441 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_1_1const__iterator_83d49cacc2666db32082dabdac76acc4) (classParma__Polyhedra__Library_1_1Generator__System_25fce97f25e1814c62ec46b7a04ee942)]
+>> endobj
+12374 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) 5351 0 R (classParma__Polyhedra__Library_1_1Generator__System_37abf9e26c109cf608ec7829284883ec) 5360 0 R (classParma__Polyhedra__Library_1_1Generator__System_605b7611d045e0ea0ff47c2ec36c2268) 5309 0 R (classParma__Polyhedra__Library_1_1Generator__System_6135986b7669c295a1855279a9347433) 5345 0 R (classParma__Polyhedra__Library_1_1Generator__System_6b57cf93153051d3aa63c33e34ee4127) 5359 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) (classParma__Polyhedra__Library_1_1Generator__System_6e9c19c25562f9d1a71523d00b337450)]
+>> endobj
+12375 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_7072dc2f1979eb1198aea49e10bcd59d) 5357 0 R (classParma__Polyhedra__Library_1_1Generator__System_71a39e295673dabbc4661c7c0a2c3445) 5388 0 R (classParma__Polyhedra__Library_1_1Generator__System_7b9d70f9508c08b9a86272878ca03b5f) 5354 0 R (classParma__Polyhedra__Library_1_1Generator__System_804b0e848b19f18d99664d5bbd57a3f1) 5346 0 R (classParma__Polyhedra__Library_1_1Generator__System_9db5a39fe27d6c659e9c6ce626e83dfa) 5310 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_7072dc2f1979eb1198aea49e10bcd59d) (classParma__Polyhedra__Library_1_1Generator__System_9fe4a78fa5899317f5a060d7b607b5c1)]
+>> endobj
+12376 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_a33b89d7143376193110dde339707b0d) 5348 0 R (classParma__Polyhedra__Library_1_1Generator__System_ad63aea0771a124cfb70c8e8e80779a3) 5350 0 R (classParma__Polyhedra__Library_1_1Generator__System_af6afcf59d181946f02b27418d9b651a) 5347 0 R (classParma__Polyhedra__Library_1_1Generator__System_b0063024b3761b3ff89c3f259ebac6fe) 5356 0 R (classParma__Polyhedra__Library_1_1Generator__System_b174d3f8d008aca83801ae0de294528d) 5352 0 R (cla [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_a33b89d7143376193110dde339707b0d) (classParma__Polyhedra__Library_1_1Generator__System_cce6ad80815e7d09970ed92968967585)]
+>> endobj
+12377 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator__System_d53075833d1bde0c9e36dd70afb4b967) 5380 0 R (classParma__Polyhedra__Library_1_1Generator__System_dcd147a1c5474a820c7379514f629fda) 5387 0 R (classParma__Polyhedra__Library_1_1Generator__System_ed024de0dc1ad69e380f706d25740cb0) 5311 0 R (classParma__Polyhedra__Library_1_1Generator_a40eabb29ea4abe082c3a2e6dc820276) 5101 0 R (classParma__Polyhedra__Library_1_1Generator_a98511973ca14e8904e4e2c1f774bd3a) 5206 0 R (classParma__Polyhed [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_d53075833d1bde0c9e36dd70afb4b967) (classParma__Polyhedra__Library_1_1Generator_b339ccb929a7255295ad19a5b168d5d0)]
+>> endobj
+12378 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_b36bf020da4fb4583e6e1a6b94197cb4) 5150 0 R (classParma__Polyhedra__Library_1_1Generator_bc8ae851f2a0a6260d954b3bd8505249) 5139 0 R (classParma__Polyhedra__Library_1_1Generator_d593d3aa49a632911d8d49c83b3f4985) 5143 0 R (classParma__Polyhedra__Library_1_1Generator_d7552a414d66f92897d12767579fa3ca) 5202 0 R (classParma__Polyhedra__Library_1_1Generator_d8cee05f88ad5aea288c1f6b8bf7cdc7) 5094 0 R (classParma__Polyhedra__Library_1_1Generator [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_b36bf020da4fb4583e6e1a6b94197cb4) (classParma__Polyhedra__Library_1_1Generator_de2531310fd7806c9e4f745cab145926)]
+>> endobj
+12379 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_de98f4e320d7d21e223afb83240b3800) 5098 0 R (classParma__Polyhedra__Library_1_1Generator_e5902ab7e2d3304037a56ecda7fc22a4) 5095 0 R (classParma__Polyhedra__Library_1_1Generator_e6206985cd5536c4dac181de5fb21247) 5204 0 R (classParma__Polyhedra__Library_1_1Generator_e67eb83f2626818420b3201db09e3d58) 5209 0 R (classParma__Polyhedra__Library_1_1Generator_ebb212a14f52ed934059925c1f5f2010) 5145 0 R (classParma__Polyhedra__Library_1_1Generator [...]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_de98f4e320d7d21e223afb83240b3800) (classParma__Polyhedra__Library_1_1Generator_eff190ba56f86d3425859043689d499a)]
+>> endobj
+12380 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Generator_f1827b1f7a42393a2526944530559c5a) 5096 0 R (classParma__Polyhedra__Library_1_1Generator_f1bf8c762c6f36b30f2abcaffe591acb) 5140 0 R (classParma__Polyhedra__Library_1_1Generator_f4abff14e1b88cbb929f0733432477ff) 5207 0 R (classParma__Polyhedra__Library_1_1Generator_fceefab91d648d188e42e5a75a3a977e) 5102 0 R (classParma__Polyhedra__Library_1_1Grid) 495 0 R (classParma__Polyhedra__Library_1_1Grid_0047a6aa4f26d9133b9d741f68384f38) 5712 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_f1827b1f7a42393a2526944530559c5a) (classParma__Polyhedra__Library_1_1Grid_0047a6aa4f26d9133b9d741f68384f38)]
+>> endobj
+12381 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_0262a2b32220536d8bc60d84ad8dac4c) 5599 0 R (classParma__Polyhedra__Library_1_1Grid_042613c3f4ad30b298d70143c935d7cd) 5720 0 R (classParma__Polyhedra__Library_1_1Grid_0441c9c3b0ab0d55165bb6b4fd107f64) 5894 0 R (classParma__Polyhedra__Library_1_1Grid_071aa57e439ba4f358c7fd43b03a6a49) 5831 0 R (classParma__Polyhedra__Library_1_1Grid_07bdac3717a59f64634da7d9b1cfaefd) 5938 0 R (classParma__Polyhedra__Library_1_1Grid_092f5c04d267ab5709dda2d3e51aa [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_0262a2b32220536d8bc60d84ad8dac4c) (classParma__Polyhedra__Library_1_1Grid_092f5c04d267ab5709dda2d3e51aaeb9)]
+>> endobj
+12382 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_0c02302b6281fa91ef9275bd37e43efc) 5602 0 R (classParma__Polyhedra__Library_1_1Grid_0d8ed7a0e48fe76e7221842c780192b0) 5722 0 R (classParma__Polyhedra__Library_1_1Grid_10e3116398b920cb137cf576a073cc68) 5944 0 R (classParma__Polyhedra__Library_1_1Grid_1287b254a91451368e7e2e456f448114) 5768 0 R (classParma__Polyhedra__Library_1_1Grid_145cc7c23d407576222e5af347f401c1) 5774 0 R (classParma__Polyhedra__Library_1_1Grid_1522764599cd8547bfe4ef7e88d8b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_0c02302b6281fa91ef9275bd37e43efc) (classParma__Polyhedra__Library_1_1Grid_1522764599cd8547bfe4ef7e88d8baec)]
+>> endobj
+12383 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_18ec2da355442e02ae67313ed5b48933) 5951 0 R (classParma__Polyhedra__Library_1_1Grid_19422844125a988daaf489cbaff3835b) 5823 0 R (classParma__Polyhedra__Library_1_1Grid_19623ff8cea2239d66331f29c1d0268d) 5606 0 R (classParma__Polyhedra__Library_1_1Grid_1a26d0018999e56d94a7e96db2b6e553) 5983 0 R (classParma__Polyhedra__Library_1_1Grid_1a5606b64a035977b9d76b1932227246) 5711 0 R (classParma__Polyhedra__Library_1_1Grid_1b528a2e8d4d096f62535454e05b7 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_18ec2da355442e02ae67313ed5b48933) (classParma__Polyhedra__Library_1_1Grid_1b528a2e8d4d096f62535454e05b74ba)]
+>> endobj
+12384 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_1ba0bd59426889233904d052224cab76) 5605 0 R (classParma__Polyhedra__Library_1_1Grid_1ba97c180500b43954b09532151f6c9d) 5652 0 R (classParma__Polyhedra__Library_1_1Grid_1cb88a546d32e7b5c07dc25055e33235) 5994 0 R (classParma__Polyhedra__Library_1_1Grid_1d51ba9ca3c3e0bf0042502f40d2e11b) 5981 0 R (classParma__Polyhedra__Library_1_1Grid_214e376adb9dc271c61b58f8b2c927f0) 5824 0 R (classParma__Polyhedra__Library_1_1Grid_2528b5f433e743dda827b1028b6c7 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_1ba0bd59426889233904d052224cab76) (classParma__Polyhedra__Library_1_1Grid_2528b5f433e743dda827b1028b6c74cd)]
+>> endobj
+12385 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_2581586de73769088ece60dc01409a08) 5888 0 R (classParma__Polyhedra__Library_1_1Grid_26f845c3192c71f59cf1c81cd35072c5) 5826 0 R (classParma__Polyhedra__Library_1_1Grid_2a66994a33d910d0fe8daccc6cc017ed) 1262 0 R (classParma__Polyhedra__Library_1_1Grid_2f31170286d3abc2f4867d0b193ae8bc) 5665 0 R (classParma__Polyhedra__Library_1_1Grid_31603d81a2b0571a82c4c79b8c6e4564) 5601 0 R (classParma__Polyhedra__Library_1_1Grid_323efbe5d43695cc65f8cd5935da9 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_2581586de73769088ece60dc01409a08) (classParma__Polyhedra__Library_1_1Grid_323efbe5d43695cc65f8cd5935da94dc)]
+>> endobj
+12386 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_3628b6d6e250d4c6b8301173c6ecc777) 5989 0 R (classParma__Polyhedra__Library_1_1Grid_36cc3783cdc92ab5fc69904c298ed12c) 5666 0 R (classParma__Polyhedra__Library_1_1Grid_3ac47497148e61f3d7a3da09d17a03bf) 5717 0 R (classParma__Polyhedra__Library_1_1Grid_453e51570268eb4d63fc529130a54440) 5658 0 R (classParma__Polyhedra__Library_1_1Grid_470e6a581b91bc6d5a4a6388d1ddde99) 5607 0 R (classParma__Polyhedra__Library_1_1Grid_4d6e94fc9839cd5d455f195f46fc2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_3628b6d6e250d4c6b8301173c6ecc777) (classParma__Polyhedra__Library_1_1Grid_4d6e94fc9839cd5d455f195f46fc2dcf)]
+>> endobj
+12387 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_508103dc808fc747a90b573083a60461) 5940 0 R (classParma__Polyhedra__Library_1_1Grid_527ffa31e1581a8beb83a832244dada8) 5603 0 R (classParma__Polyhedra__Library_1_1Grid_53b24395ac61f8b2b2accc5a3900bf69) 5655 0 R (classParma__Polyhedra__Library_1_1Grid_53f980fb1ac8fa21265bec985bd1382f) 5723 0 R (classParma__Polyhedra__Library_1_1Grid_59634a195948ff0617177d0a41e30602) 5710 0 R (classParma__Polyhedra__Library_1_1Grid_596fc5b3ee0d04895aca9139cb6cb [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_508103dc808fc747a90b573083a60461) (classParma__Polyhedra__Library_1_1Grid_596fc5b3ee0d04895aca9139cb6cbcb6)]
+>> endobj
+12388 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_59af9a947f610641fe02639f76cfc90e) 1265 0 R (classParma__Polyhedra__Library_1_1Grid_5f6fcc1dab2b08eff20b41d1412d1e2d) 5992 0 R (classParma__Polyhedra__Library_1_1Grid_60138f2b5d41fd62c862fdcd7c4a1e61) 5949 0 R (classParma__Polyhedra__Library_1_1Grid_621d377682c2c67051c24b1cc8a03497) 5715 0 R (classParma__Polyhedra__Library_1_1Grid_68665d093308c111817eca341b98d70a) 5829 0 R (classParma__Polyhedra__Library_1_1Grid_6ae1850664122e9917f174d10fd3b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_59af9a947f610641fe02639f76cfc90e) (classParma__Polyhedra__Library_1_1Grid_6ae1850664122e9917f174d10fd3bf06)]
+>> endobj
+12389 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_6f703ba611b9e5ff613f4df35347ee95) 5663 0 R (classParma__Polyhedra__Library_1_1Grid_726484f44f6e6653f9c0126e94e51ab0) 1258 0 R (classParma__Polyhedra__Library_1_1Grid_727dc2405cfc5f2252e6f21aa0f18074) 5600 0 R (classParma__Polyhedra__Library_1_1Grid_732d3b59f8a0ba21a72877d5fa4b98a5) 5604 0 R (classParma__Polyhedra__Library_1_1Grid_75df0f78d7598dafa946251a04cb5d90) 5947 0 R (classParma__Polyhedra__Library_1_1Grid_7704df6970b9563ef9e51793126c0 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_6f703ba611b9e5ff613f4df35347ee95) (classParma__Polyhedra__Library_1_1Grid_7704df6970b9563ef9e51793126c0ae2)]
+>> endobj
+12390 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_7fc86a6331f34f34a506ab2b0609ac37) 5988 0 R (classParma__Polyhedra__Library_1_1Grid_7ff92e5d40e6faf667a0b1f6b8fad791) 5948 0 R (classParma__Polyhedra__Library_1_1Grid_803035024ab9670971868f4b1092f7c5) 5662 0 R (classParma__Polyhedra__Library_1_1Grid_82b76e3f18679ea161b53bfa80349009) 5821 0 R (classParma__Polyhedra__Library_1_1Grid_85b2560352485ac05d10aab0ee483252) 5771 0 R (classParma__Polyhedra__Library_1_1Grid_8688fd38682b19e97422816d72524 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_7fc86a6331f34f34a506ab2b0609ac37) (classParma__Polyhedra__Library_1_1Grid_8688fd38682b19e97422816d72524790)]
+>> endobj
+12391 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_87d004db7f8febf6f9c96b4a2a1c85e5) 5993 0 R (classParma__Polyhedra__Library_1_1Grid_87e253a2b1d8e1696c2ebf3feb11dc5f) 5766 0 R (classParma__Polyhedra__Library_1_1Grid_880344de195aef75a6b3f2a4db4787b4) 5656 0 R (classParma__Polyhedra__Library_1_1Grid_880be9febc6dab2cdccbec8814c9a952) 1257 0 R (classParma__Polyhedra__Library_1_1Grid_8865893c48cc07adae5dca6b35081751) 5659 0 R (classParma__Polyhedra__Library_1_1Grid_8d2cc5d18d050975101f2860f2919 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_87d004db7f8febf6f9c96b4a2a1c85e5) (classParma__Polyhedra__Library_1_1Grid_8d2cc5d18d050975101f2860f2919da8)]
+>> endobj
+12392 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_8edc85ba3e8a09593959814eaad72499) 5767 0 R (classParma__Polyhedra__Library_1_1Grid_8f97dbc7a7c307fa72f7e904b2cbf21b) 5822 0 R (classParma__Polyhedra__Library_1_1Grid_8fa02815bb561135934f91c9adcd0cb5) 5721 0 R (classParma__Polyhedra__Library_1_1Grid_901082d5c6de5ec4b457df69e41bb70c) 1266 0 R (classParma__Polyhedra__Library_1_1Grid_90ca2b1613fda31a2ac7e79d9388680d) 5654 0 R (classParma__Polyhedra__Library_1_1Grid_90e87cbe8ae0717fa09ff51b70d64 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_8edc85ba3e8a09593959814eaad72499) (classParma__Polyhedra__Library_1_1Grid_90e87cbe8ae0717fa09ff51b70d64b47)]
+>> endobj
+12393 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_943c42b0d1b3580e54b3ab60aa55255f) 5773 0 R (classParma__Polyhedra__Library_1_1Grid_953a608f6f9d413870fb3eee5cc6ad1e) 5775 0 R (classParma__Polyhedra__Library_1_1Grid_9831db06919c6ee05360b08e84cccbb7) 5828 0 R (classParma__Polyhedra__Library_1_1Grid_9bdab8408169307fbd899ec3670cb2bf) 5943 0 R (classParma__Polyhedra__Library_1_1Grid_9e17201a9a12235a9a96cc31cfffd38f) 5995 0 R (classParma__Polyhedra__Library_1_1Grid_9e4e32230b187284ac0b9ca8efba8 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_943c42b0d1b3580e54b3ab60aa55255f) (classParma__Polyhedra__Library_1_1Grid_9e4e32230b187284ac0b9ca8efba8f82)]
+>> endobj
+12394 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_9e87405c740d202951ba788f9e52cbf7) 5772 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate) 1495 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_3b727ab728f8758af9fb217eca9d791a) 6343 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_67cbe06cd666025c2ff64652d5824a2f) 6341 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_869306ea4afb6453b8e9cee36c96f46e) 6346 0 R (classParma__Polyhedra__Library_1_1Grid__Certifica [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_9e87405c740d202951ba788f9e52cbf7) (classParma__Polyhedra__Library_1_1Grid__Certificate_c03d43b46ab7f9e5d0ea3c46a5eab7b3)]
+>> endobj
+12395 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Certificate_cf34edb23c376600051bbc563e4122c4) 6340 0 R (classParma__Polyhedra__Library_1_1Grid__Certificate_df9fc5ac7e45f36bc03af31b98b31a72) 6342 0 R (classParma__Polyhedra__Library_1_1Grid__Generator) 1497 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_00017ad58d66a7948b0355b3e02c750b) 6381 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_041afb1a2cc7277572fb7235cf08cf64) 6471 0 R (classParma__Polyhedra__Library_1_1Grid__Ge [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Certificate_cf34edb23c376600051bbc563e4122c4) (classParma__Polyhedra__Library_1_1Grid__Generator_065895a1428f9dc6b3002818686eff0f)]
+>> endobj
+12396 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_081718c23b5785da17c63ffec13536cc) 6467 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_082a74ad0ce931ec2e517bf0f009daa2) 6480 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_0f19da4c46bb8b3be01875eff4c00538) 6431 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_0fafb66fa4df451fd3e2f0392329f27b) 6468 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66) 5237 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_081718c23b5785da17c63ffec13536cc) (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec6625b86c6f0633416506503de2bf693876)]
+>> endobj
+12397 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec664ac3b90df83c2e43249ccfa2702640de) 6387 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec66e9cf46c5e08ead7689807e1c8ba30642) 6386 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_1177f236d8c66c01bbb43b37ff90bc7d) 6382 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_13419c5d820bde20af5eabd23e479ec8) 6424 0 R (classParma__Polyhedra__Library_1_1Grid__Gen [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_10e7c95784e356487a6a6263a89cec664ac3b90df83c2e43249ccfa2702640de) (classParma__Polyhedra__Library_1_1Grid__Generator_1a15765e7fd1f486a9ee12a061dc4c76)]
+>> endobj
+12398 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_1aabacaac0806d617f53db4b34b3349e) 6385 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_1f0828932daf26d10e94120c1f4a4d6b) 6426 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_2a0bc130f7cf6a0678ee3b982fcc7ab6) 6419 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_3075c67d9868fc0b483db13256fb4e0c) 6494 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_41227446c918730e97998799bfe04da6) 6420 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_1aabacaac0806d617f53db4b34b3349e) (classParma__Polyhedra__Library_1_1Grid__Generator_58b86510b9c4dc05004c0fc01622430b)]
+>> endobj
+12399 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_60d9658ef91fbd3a1b0064253246f36b) 6384 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_68e8cef74c6b4b5a56e2c791f41566e4) 6427 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_6fb154017052c68b63121cef49c568ce) 6496 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_76fce1702224700691a26cf5e780a1dd) 6421 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_77123fc17c8bc6d59a76802c0592a2c6) 6430 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_60d9658ef91fbd3a1b0064253246f36b) (classParma__Polyhedra__Library_1_1Grid__Generator_77a904793c99cfb1d61fadd277d59471)]
+>> endobj
+12400 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_811f6f947785240bcb76bfca023fed17) 6423 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_8ab7b9abebd48fe0ad129a237338aa96) 6495 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System) 1498 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_023dc725ab60578fb2161f06211fa023) 6593 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_102ffa79248502b4998a70fba5f13d98) 6631 0 R (classParma__Polyhedra_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_811f6f947785240bcb76bfca023fed17) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator)]
+>> endobj
+12401 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_26673943182a6efc6cc6e3aad8c731a7) 6724 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_2be2c8b9d00f81fc24dcbc36ad05afea) 6720 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_41cb3496510a68512516cf65f8d214c2) 6715 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_47def4dcb522c046a6f3a432d72008ed) 6722 0 R  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_26673943182a6efc6cc6e3aad8c731a7) (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9571074ab0249afc1e440c8c5eb5d429)]
+>> endobj
+12402 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9af54d524de94ada872d460c1dbd5cc0) 6716 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a6e183ba7e931dc88e16fb9ecfa8b3c7) 6721 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_a82cf61e903a201fe8892501b209ab8e) 6717 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_ffa77e724493813cddf9740767c2473e) 6723 0 R  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_1_1const__iterator_9af54d524de94ada872d460c1dbd5cc0) (classParma__Polyhedra__Library_1_1Grid__Generator__System_2d0bc3adc78e64aafdab0dd9a292db1f)]
+>> endobj
+12403 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) 6635 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_4254da492e5eeb1c12d8d87b997cd229) 6638 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_465d046e2570dea82e57ab6af9b179e9) 6599 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_494a5dcf815a292978b1864d2d7f77ae) 6633 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_62e7b71f72659356d [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_3ddc697f9236b117382c35d7f7da5419) (classParma__Polyhedra__Library_1_1Grid__Generator__System_63fd965105d740ff7003037964ec7d10)]
+>> endobj
+12404 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_642db539e09ba9a9746d490390097d73) 6587 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_6a5f64baba3ae5704d9645db684434d3) 5416 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_6c21214d11e4dc9738dad1f72501a286) 6586 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_72f8cca084e83cace83223ea0ea42bca) 6588 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_8530a0719104225bd [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_642db539e09ba9a9746d490390097d73) (classParma__Polyhedra__Library_1_1Grid__Generator__System_864a52992178820135a7ae3a75e65377)]
+>> endobj
+12405 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_8a0c95f43fd48c07a63db5efa3564769) 6591 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_8cf170e729ac4e4576624d6ed7d4b44d) 6632 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_8e247a33c9eb40439c706a98c5d363d0) 6668 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_8f29bc3aa01b8f5c67a3323189f9cf9e) 6590 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_90e26e60ccfbe3c6a [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_8a0c95f43fd48c07a63db5efa3564769) (classParma__Polyhedra__Library_1_1Grid__Generator__System_998804f094e131a7f06d05c6e9eb5f5c)]
+>> endobj
+12406 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_9e847f0bfafeac6438cecb2d2114e665) 6596 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a09a1ddc7936a5377e838cb44610548e) 6629 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a2e9eec4ddeaf5dca3afa1976d36b703) 6595 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_a8e33c8dd37c45144bf92a6984c7706a) 6639 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_bba3cc93433c6564b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_9e847f0bfafeac6438cecb2d2114e665) (classParma__Polyhedra__Library_1_1Grid__Generator__System_c485f37c083be7bc0238a3f5c6c112e3)]
+>> endobj
+12407 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator__System_c53b2bea17ae404e291cbcb7033dbaf2) 6630 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_c5764ede75697ec70757c5e208945ca2) 6634 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_ce4c05e99016850c16c2bdaff5914afd) 6597 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_d85c523fefc56e289bd9fdf878bb339a) 6669 0 R (classParma__Polyhedra__Library_1_1Grid__Generator__System_dfc60b971ed974350 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_c53b2bea17ae404e291cbcb7033dbaf2) (classParma__Polyhedra__Library_1_1Grid__Generator__System_e64d3d01d4baab5102f00046f941188f)]
+>> endobj
+12408 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_b1db3272b7beca7b1d9d17f23d22ecbd) 6380 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_ba6b40a4b9708e94d6cd10f54144ed70) 6433 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_c05ff6bef376a2835adbb0ca123a8e79) 6383 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_c061731c4fec7f60c48e02ed9806b4bb) 6478 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_c3e03bc2df621903d136c689c38bdb6f) 6425 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_b1db3272b7beca7b1d9d17f23d22ecbd) (classParma__Polyhedra__Library_1_1Grid__Generator_c74dafaa0b06e9cd3d15ea0d2af1b213)]
+>> endobj
+12409 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_c915c8d26a7dbcdbbd0c4985ec5b7d4b) 6422 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_cdc0aeddab3d98e336719f42e6e5b06c) 5276 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_e1887d907ab06bddeaa2682bdf94d268) 6476 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_e94a99f8e8d290b5791baa01fd540a14) 6472 0 R (classParma__Polyhedra__Library_1_1Grid__Generator_edf9116549ffcced7a39f4596e65e5d0) 6477 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_c915c8d26a7dbcdbbd0c4985ec5b7d4b) (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6)]
+>> endobj
+12410 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) 5261 0 R (classParma__Polyhedra__Library_1_1Grid_a033cfca735240b3699b523d60ad692a) 5718 0 R (classParma__Polyhedra__Library_1_1Grid_a26f672c32271db69ed68fc60eee8cff) 5770 0 R (classParma__Polyhedra__Library_1_1Grid_a28d735beef86789b73b41dbbde71abf) 5667 0 R (classParma__Polyhedra__Library_1_1Grid_a598904833b374d50efc72c51914112c) 5939 0 R (classParma__Polyhedra__Library_1_1Grid_a9c12ecd84df4ed86b [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) (classParma__Polyhedra__Library_1_1Grid_a9c12ecd84df4ed86b5676a09fa39208)]
+>> endobj
+12411 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_b602d97b867b5d2ea800ea7ceef4c6b5) 5891 0 R (classParma__Polyhedra__Library_1_1Grid_b6bba83ceaafdb71df04b77e43bed022) 5897 0 R (classParma__Polyhedra__Library_1_1Grid_bb10ea556dd34e0c1e13f7e99b9efe70) 5832 0 R (classParma__Polyhedra__Library_1_1Grid_c009459805692e582a00d4b5954ab8e5) 5896 0 R (classParma__Polyhedra__Library_1_1Grid_c4e1b49845e553ff84dc73e710def76c) 5945 0 R (classParma__Polyhedra__Library_1_1Grid_c587faeb0edfd2582564b9a8fa333 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_b602d97b867b5d2ea800ea7ceef4c6b5) (classParma__Polyhedra__Library_1_1Grid_c587faeb0edfd2582564b9a8fa3335bd)]
+>> endobj
+12412 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_c9d9eaf8b76024bc20ce524e13bf86a6) 5827 0 R (classParma__Polyhedra__Library_1_1Grid_ccb5584441a7c7c84de73810cc6afbc4) 1210 0 R (classParma__Polyhedra__Library_1_1Grid_ce98c3e57a1237e6dd5042b5a0919193) 5664 0 R (classParma__Polyhedra__Library_1_1Grid_d09e4e3f9a9da562c6cdb73dd7b47fbe) 5769 0 R (classParma__Polyhedra__Library_1_1Grid_d14942b33fb82bb3e6a13e5e92ada475) 5661 0 R (classParma__Polyhedra__Library_1_1Grid_d42265530a9e3b2f3bda9ab40d4a8 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_c9d9eaf8b76024bc20ce524e13bf86a6) (classParma__Polyhedra__Library_1_1Grid_d42265530a9e3b2f3bda9ab40d4a835b)]
+>> endobj
+12413 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_d452407f89cb560e83fb81938c12a585) 5996 0 R (classParma__Polyhedra__Library_1_1Grid_d743f8b71eb68f6b41f7ea7b5d21dc22) 5724 0 R (classParma__Polyhedra__Library_1_1Grid_dc7cdee1981f44b5db23f6c28c79d0a6) 5714 0 R (classParma__Polyhedra__Library_1_1Grid_df002bbcc4dcae5efdb56bae2971a64b) 5608 0 R (classParma__Polyhedra__Library_1_1Grid_e47fdbff76383891b3896ac5fc213d5d) 5941 0 R (classParma__Polyhedra__Library_1_1Grid_e5955a311fc4fde1edf2d5460f0a8 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_d452407f89cb560e83fb81938c12a585) (classParma__Polyhedra__Library_1_1Grid_e5955a311fc4fde1edf2d5460f0a8356)]
+>> endobj
+12414 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_e5dc5003b3652660bc4ff4a15e4060af) 5825 0 R (classParma__Polyhedra__Library_1_1Grid_e8d42fcd571a9c9d64f0e7ffe67e995e) 5898 0 R (classParma__Polyhedra__Library_1_1Grid_eb9b562373b4d288c03549bdba93fede) 5985 0 R (classParma__Polyhedra__Library_1_1Grid_ee33974909cfc1cba605734a57d44df0) 5982 0 R (classParma__Polyhedra__Library_1_1Grid_f1ab967a6606266f7e583fc9752667fe) 5820 0 R (classParma__Polyhedra__Library_1_1Grid_f306aa1f4e34bf045cd07e5ac11d8 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_e5dc5003b3652660bc4ff4a15e4060af) (classParma__Polyhedra__Library_1_1Grid_f306aa1f4e34bf045cd07e5ac11d8f68)]
+>> endobj
+12415 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_f39e1b0519a47aafb9dba4121dc41a9c) 5984 0 R (classParma__Polyhedra__Library_1_1Grid_f6df34e5e4ab9beab41cd76897d64c72) 5950 0 R (classParma__Polyhedra__Library_1_1Grid_fa7b390fb34934e419263a5fc694c946) 1260 0 R (classParma__Polyhedra__Library_1_1Grid_fb9d83c4e182f640833116dc2f725076) 5893 0 R (classParma__Polyhedra__Library_1_1Grid_fc06f600e94b7bedb91d0371a51f4c38) 5653 0 R (classParma__Polyhedra__Library_1_1Grid_fde364ce088f82cf2b9a231e7d9f2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_f39e1b0519a47aafb9dba4121dc41a9c) (classParma__Polyhedra__Library_1_1Grid_fde364ce088f82cf2b9a231e7d9f2abc)]
+>> endobj
+12416 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) 5987 0 R (classParma__Polyhedra__Library_1_1H79__Certificate) 907 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_061c4c3b4f1eef970794b274dae62504) 6747 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_517f4965fd423413531cd1d2058748de) 6751 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_51b29c5dffc073c2d350471ae9bb879f) 6748 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_553 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) (classParma__Polyhedra__Library_1_1H79__Certificate_553c3b19a36235d228039a6bb3452918)]
+>> endobj
+12417 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1H79__Certificate_7e6d252ce9557b9d73833ef594f6276b) 6754 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_ab939414cdbcf1ba174334859443a72c) 6750 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_b8bee5e53740adc193668686030bb4bb) 6749 0 R (classParma__Polyhedra__Library_1_1H79__Certificate_efeb88699fb82bb331a2d24ce724bb07) 6752 0 R (classParma__Polyhedra__Library_1_1Interval) 496 0 R (classParma__Polyhedra__Library_1_1Interval_1c76acb [...]
+/Limits [(classParma__Polyhedra__Library_1_1H79__Certificate_7e6d252ce9557b9d73833ef594f6276b) (classParma__Polyhedra__Library_1_1Interval_1c76acbe653414cc28fac54c69622446)]
+>> endobj
+12418 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Interval_241f107b045949a58b49469a6a09caf9) 6796 0 R (classParma__Polyhedra__Library_1_1Interval_348c6523b219aee93545bb401dc0b813) 6793 0 R (classParma__Polyhedra__Library_1_1Interval_5915be624de343f1598d246ee4f1bc42) 6797 0 R (classParma__Polyhedra__Library_1_1Interval_6a869e3c010e87dff868fb410d4f0a20) 6802 0 R (classParma__Polyhedra__Library_1_1Interval_79370159de3dc1738441b20eff866329) 6824 0 R (classParma__Polyhedra__Library_1_1Interval_a7172 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Interval_241f107b045949a58b49469a6a09caf9) (classParma__Polyhedra__Library_1_1Interval_a71726a7725f9269553ed9e594b0d74a)]
+>> endobj
+12419 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Interval_aeb70a45d5ee0c7fac5f5d6c659fc69e) 6794 0 R (classParma__Polyhedra__Library_1_1Interval_b5160fe536bd1bc8d42c12de33f40493) 6791 0 R (classParma__Polyhedra__Library_1_1Interval_c3abadf1d96bef1880657113014d46dd) 6821 0 R (classParma__Polyhedra__Library_1_1Interval_ca669c9659132e9fa6adc7a9afbef642) 6801 0 R (classParma__Polyhedra__Library_1_1Interval_e34390c17dbd12de9906817c4b6cf479) 6795 0 R (classParma__Polyhedra__Library_1_1Interval_f3699 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Interval_aeb70a45d5ee0c7fac5f5d6c659fc69e) (classParma__Polyhedra__Library_1_1Interval_f3699ea93d8ec71859566480bede9332)]
+>> endobj
+12420 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Interval_fb730d60db4b7e1ddd4c9994ec077cf6) 6792 0 R (classParma__Polyhedra__Library_1_1Linear__Expression) 1504 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_0308fb71a28c28f4e33aabfa9c5d3781) 6977 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_04aff92d245522832391c1704f455992) 6916 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_0651bfc78898bf691898cdb599198ea9) 6971 0 R (classParma__Polyhedra__Library_1_1Linear_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Interval_fb730d60db4b7e1ddd4c9994ec077cf6) (classParma__Polyhedra__Library_1_1Linear__Expression_0912217f15a36eb486b243ee592f3379)]
+>> endobj
+12421 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_0dddfc1f0ff6f55a90c4ea8829b9752b) 7046 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_0ed481e43baf024d4a5b5e86e85c4a87) 6905 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_114f91c420cc8060d6834730c8e55721) 6982 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_158df02c8c54fa5a9286836fb01563cd) 6917 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_2666c570468f53609bf420024a12628d) 7040 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_0dddfc1f0ff6f55a90c4ea8829b9752b) (classParma__Polyhedra__Library_1_1Linear__Expression_298a32e26d8133869f28560cca4ba73b)]
+>> endobj
+12422 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_2e4d2efe88475a75dab18c7f9fe5e217) 6981 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_32a44c95ae4348ff889b48c309f9eab3) 7038 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_37de3f55cf5e917e32f7f2f9c6d34840) 7049 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_385e4d3cfe442f4fcbeefd9acf5c10eb) 7041 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_3a808cf2742df02d856a8d9882845861) 6908 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_2e4d2efe88475a75dab18c7f9fe5e217) (classParma__Polyhedra__Library_1_1Linear__Expression_3fc6b9758fbac86e0592d37c23f14b1e)]
+>> endobj
+12423 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_4124a10b953c4c49984524875a257f3a) 6915 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_41cdb256f546f09bd317deef44ac0009) 6983 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_49574f120ec3f9fbfda58d6f826587e9) 6976 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_4d372c4dff7d328d3da118817ed3d8b7) 6979 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_5a74ca4d6d20b677bd8e4bf05dd45760) 6872 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_4124a10b953c4c49984524875a257f3a) (classParma__Polyhedra__Library_1_1Linear__Expression_5bb7f6903958069b19f70d1391987a51)]
+>> endobj
+12424 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_62b7a88cefba86a6731c6b46487fc28a) 6975 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_65766b549090f6b52281c99cfba9eed3) 7045 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_691b91bcd9b5c336892574e975235de5) 7044 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_6ea3cf85efb71cf62fa3e233c9e9cf7b) 7039 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_6f8cd8fbee64faaa5e47c8e41ba7662e) 5260 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_62b7a88cefba86a6731c6b46487fc28a) (classParma__Polyhedra__Library_1_1Linear__Expression_701574facbfd5461d399dccbc88a2999)]
+>> endobj
+12425 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_72b6b45299672d85c7984392454296d6) 6980 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_80d43634ca26fd76dcb1fdede6363dc5) 7043 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_8d443d5098921978efd7b625000f3b68) 7037 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_9075dd07574234cc124e6076c272e987) 6985 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_920af28903c20a4a4962761b834d577f) 7048 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_72b6b45299672d85c7984392454296d6) (classParma__Polyhedra__Library_1_1Linear__Expression_98b5ccd1157e6ec8beec7702af9acb36)]
+>> endobj
+12426 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_9a14be758de0e77faef8de4a11bd8e8c) 6871 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_9dd6ce1cb02b58fd3b973e40867362ac) 6978 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_a8f43e35dec15be4374b207a9440eb2c) 6906 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_b4396e8bfbdd5831fd37d13c19194cc4) 6984 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_b48b93c69098ab1dccd8d063f9c41575) 6909 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_9a14be758de0e77faef8de4a11bd8e8c) (classParma__Polyhedra__Library_1_1Linear__Expression_b82fb79015a9e4959fe801e608b2a0ae)]
+>> endobj
+12427 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_baf335015f8c71026d2bee65ce4d109f) 6972 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_bca5613972564c8ec5c832bc8ff200d6) 6907 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_c1b93dcadc82e52690114301554801b0) 6904 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_e1dfbc8be3858f2423df19c32e043110) 6911 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_e7df198cd5bdd6e9f87192fb3170261f) 6870 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_baf335015f8c71026d2bee65ce4d109f) (classParma__Polyhedra__Library_1_1Linear__Expression_e9cc837bbae1745ada3780634c73858f)]
+>> endobj
+12428 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) 6973 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_ede3aa1f7d5925d31d3f66faf655dc66) 6914 0 R (classParma__Polyhedra__Library_1_1Linear__Expression_f5bbfb14fef626aee9f34e71a78c0d7d) 7047 0 R (classParma__Polyhedra__Library_1_1MIP__Problem) 1505 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_0bf7e46a624f9d9df1528ae0b47ad55d) 7204 0 R (classParma__Polyhedra__Library_1_1MIP__Prob [...]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) (classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983a)]
+>> endobj
+12429 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983ac4528dcb9794c502cf7c9bd65e9c54ae) 7147 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_162d95e1149e222a317370e2fa25a120) 7199 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1e73b39b2848f8141aa58219cf97dead) 7255 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1ee38be62a49852994bf906003b0c23c) 7152 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_1ef2a882e1f0a3121f94eea90a9a16fe) 7249 0 [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_0f5e373c7067f61d03e3a90724a6983ac4528dcb9794c502cf7c9bd65e9c54ae) (classParma__Polyhedra__Library_1_1MIP__Problem_21e9dae374ecb009d8f7f268f5e673e7)]
+>> endobj
+12430 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_22183a1ac7a9af9929c6153e2a7a659b) 7258 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_25be5d5e126674d8aca8b9ec828e289f) 7252 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_28dfc886a103ede666395ab45fc7950c) 7280 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_30c23ab257a58da3708591becad2bf1f) 7284 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_3601b97efe162fca1df11d70b0b3d607) 7260 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_22183a1ac7a9af9929c6153e2a7a659b) (classParma__Polyhedra__Library_1_1MIP__Problem_3800cc1eb2fb15d0c42dd71740bb661a)]
+>> endobj
+12431 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_3805575c5d920cbc808cf34e44c11fee) 7191 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_3a010e69cfabe1a026ee21f7639207e3) 7206 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_3aa58c4d8ded71e574db9d1c59533300) 7203 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_40f18b846fb1fe73b63da7fa7cbbbbca) 7193 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_42acbf3b42263a3dc137395dc8fe1421) 7278 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_3805575c5d920cbc808cf34e44c11fee) (classParma__Polyhedra__Library_1_1MIP__Problem_485bfce228009ebec2a7bd83d695eddd)]
+>> endobj
+12432 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_49625522da117289c0312c67060210f2) 7256 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_4d480f0b906eef0c0094c8fabc69a3b3) 7202 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_5da8e430d26c6471590e2c7ae5f7d82e) 7201 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_623847fa141f97cd59f3d85627536379) 7254 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_6ba0be34c122032442a7409f194e157d) 7285 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_49625522da117289c0312c67060210f2) (classParma__Polyhedra__Library_1_1MIP__Problem_7f2b2dce631b12fb46f6f1fa719e6c84)]
+>> endobj
+12433 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_8a238e31c3b4acf8a023a6346bbf752f) 7250 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_8ccc13c9fa8f27701c935b481a371f89) 7196 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a4a79e7bb87171b31d49429f9d875dcb) 7192 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a682606a24cf76b2d13ef9d70b0b4dde) 7153 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_a9f9e9fbb372e1f21bd0472b2db20567) 7195 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_8a238e31c3b4acf8a023a6346bbf752f) (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d)]
+>> endobj
+12434 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d4d21924dceed7aac6368d4bc5affeccf) 7151 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d6a4badcfd0bb8d6e536fa16b2d5108d0) 7149 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232dfb044a16e827afb114b4a2b9ba86fcbb) 7150 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_abfec033a504656ea05620f485442b1e) 7251 0 R (classParma__Polyhedra__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d4d21924dceed7aac6368d4bc5affeccf) (classParma__Polyhedra__Library_1_1MIP__Problem_b5ff957e959947c6016cd28be6e2fadd)]
+>> endobj
+12435 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_bd1a41cf267b29ebf81851eb096dc6de) 7248 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_dda1de457524bc20064ace508201876c) 7143 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_e60e06beac90231262189084333bda57) 7205 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ea40406b8f95d9ca4f61f23598448cd5) 7207 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ee0ae23c1027e709991811b8398b9f46) 7154 0 R (classParma__Polyhedra__Libra [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_bd1a41cf267b29ebf81851eb096dc6de) (classParma__Polyhedra__Library_1_1MIP__Problem_f46e579954688eec46ac0a43029fdaa1)]
+>> endobj
+12436 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1MIP__Problem_fc1e5cbd96d9c2819ba1ec2151f3897e) 7244 0 R (classParma__Polyhedra__Library_1_1MIP__Problem_ff27d012a01487b7c9c14a9a3b40d9b1) 7194 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron) 477 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_163f5dff452c6cf2e3a0c929eb2b8187) 7399 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_16829d6b83d0c21f3d3e1f87c46ac239) 7354 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_25b [...]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_fc1e5cbd96d9c2819ba1ec2151f3897e) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_25b59f3491de4996c701bbf044746fe5)]
+>> endobj
+12437 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_2f41d86c5a949d903179e82072854ef4) 7401 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_42e87760e6f69306e6322cc77f20d162) 7406 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_5d2426c9804102311d41fd445b122cf9) 7411 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_60ae86027d4480aec07a5eed85f6977a) 7353 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_691bb5ef88a4c9638034de4c1b9532cc) 7409 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_2f41d86c5a949d903179e82072854ef4) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_6b1f2d6606a0b4d4fc8bbde3b24ce553)]
+>> endobj
+12438 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_7358056031cb08692ae07044715987cd) 7403 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_89d5bd03139c8fcaf1ab035208d680dd) 7404 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_8ee7e3364443dc8cd55f3f6388c81ecf) 7407 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_91cfad066b0e12cdaf7454fe4585cfc5) 7400 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_9bb0903a2b33f94b096f71e604f07648) 7408 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_7358056031cb08692ae07044715987cd) (classParma__Polyhedra__Library_1_1NNC__Polyhedron_9dc9e3a464def0e2d929fab9cae6e360)]
+>> endobj
+12439 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_d5c6d64b009045df8248bcb8ffeea69e) 7405 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_ee8ba0ffc68e00046b55e12427c582cd) 7412 0 R (classParma__Polyhedra__Library_1_1NNC__Polyhedron_f5aee1171c6c67b9c57f3949b7b75be8) 7355 0 R (classParma__Polyhedra__Library_1_1No__Reduction) 1506 0 R (classParma__Polyhedra__Library_1_1No__Reduction_5a0edbc51074f6e9e1a908fa292abe13) 7470 0 R (classParma__Polyhedra__Library_1_1No__Reduction_77 [...]
+/Limits [(classParma__Polyhedra__Library_1_1NNC__Polyhedron_d5c6d64b009045df8248bcb8ffeea69e) (classParma__Polyhedra__Library_1_1No__Reduction_77067a656a3aa9381a93a23dfba036e4)]
+>> endobj
+12440 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1No__Reduction_f38e352895f910cc9556dc7ac0d8f39d) 7474 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape) 479 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_025902247d9c8b46d92c514c1646ff69) 7877 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_04704288741dbaf6f50e8fc09c43f737) 7518 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_047e2a717168ae129338109f1afc9a7a) 7814 0 R (classParma__Polyhedra__Library_1_1Octagonal__ [...]
+/Limits [(classParma__Polyhedra__Library_1_1No__Reduction_f38e352895f910cc9556dc7ac0d8f39d) (classParma__Polyhedra__Library_1_1Octagonal__Shape_09eda1d1953d8f83e4352c6fe78cbded)]
+>> endobj
+12441 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_0a0d8c78069019f44dc34ebab82ecfc6) 7758 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a7f222ac228554b369d460087815b87) 7572 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0a8906c6b7e5b785bd457641007d1359) 7524 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0d1677ef76c939ca2025722d2ee249e2) 7586 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0d4db6f54c7332e1a2e0bc85e16ba176) 7766 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_0a0d8c78069019f44dc34ebab82ecfc6) (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e09e7efc2f63aba534614086427bf49)]
+>> endobj
+12442 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_0e90a75aac44c14997804b8911ff7bbb) 7638 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_0e9ecea59dea0ccb1cc3600bc11f1056) 7688 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_100662089d61a01ea43a28a944da266c) 7825 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1091bf4d0e8ce7672f907cf5e7921120) 7520 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1169e57865dfa83ffc8cc23071248340) 7822 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_0e90a75aac44c14997804b8911ff7bbb) (classParma__Polyhedra__Library_1_1Octagonal__Shape_128413fc4c3051aaa9033a8030509ae5)]
+>> endobj
+12443 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_137dcf52993d2ff3dd6e4678b45baf56) 7874 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_173628da404c1dc2c4d423cad7f9f960) 7812 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_196d1efc79437ca1d96b79b7cd60387f) 7762 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1ae372d4f3b58cfa4af6edd51d845209) 7637 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1c2f0ae89d7bf247a76c40282f31758e) 7875 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_137dcf52993d2ff3dd6e4678b45baf56) (classParma__Polyhedra__Library_1_1Octagonal__Shape_1c59e94611b71ddd67acd033a05bbbc7)]
+>> endobj
+12444 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_1cd37a76428add108f267548ae76664b) 7690 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_1d780ef5b99cc9752eb322353b7b6b08) 7768 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_204fb0538d07ee8ac3d5f2724419928b) 7820 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_217e4addfae235df12c449320e65f891) 7641 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_22b6ac7ec1477dc82d6db22900b59be2) 7632 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_1cd37a76428add108f267548ae76664b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_2560fe5ce16277c4b4db17e951047028)]
+>> endobj
+12445 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_25f104e58f88e05dfcb905bcd66e493b) 7765 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_2d266342acc104c59dc0046242ccdac8) 7633 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_2f13e4ffe7b47ec50721791877b41622) 7870 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_34dbbfe20e987a3d55c7a3f2d08f1aed) 7824 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_353fe86259fbb2dd09d451e9dd468676) 7627 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_25f104e58f88e05dfcb905bcd66e493b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_35518da8c480784110d40b680256bd61)]
+>> endobj
+12446 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) 7868 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_3905c42e02befd8a894c57abd9f972f5) 7631 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_3b9f6fbac96e03a00d061a2cd2ca2baf) 7516 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_44e10aa0180433db7d19fb8e473dc829) 7767 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_46797ad634dc267c1264aa046c69f9f8) 7529 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) (classParma__Polyhedra__Library_1_1Octagonal__Shape_46a4105c8476e5f5260a775777398586)]
+>> endobj
+12447 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_46d5dc7df45abdea275f0295fee58c23) 7817 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_51fb0220102e525b11cdb06dcbe322c7) 7869 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_580264341ec83f4bf3d6da1205939b0a) 7692 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_594973c5284386e52b8c33b206a47907) 7691 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_5e4f3b53b4dd4f7f57a13df638b162e4) 7573 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_46d5dc7df45abdea275f0295fee58c23) (classParma__Polyhedra__Library_1_1Octagonal__Shape_5e74729a5f7cabef57fb795cc728869c)]
+>> endobj
+12448 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_62d44847fe22abb82cbac84a776a9c72) 7902 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_6f27f62cf5d65574cbb44025b1b3e585) 7900 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_6f9c769f48ed91cd71bec247b7733430) 7522 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_6ff5e78b07441619f850114578ca48d5) 7696 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_702b00ff42a88c23ab25eecf0e9acef0) 7764 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_62d44847fe22abb82cbac84a776a9c72) (classParma__Polyhedra__Library_1_1Octagonal__Shape_703f57855b17ef63b28f88fe13a51870)]
+>> endobj
+12449 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_715054228bad30a232707ed0357cdd98) 7901 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_72782e7d9a6612efd73b253b0f862c6b) 7700 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_74d2b64496aa448a85ec0b370cee0977) 7630 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_7ae373e57180f03b09aa0e38d1f19811) 7636 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_7dcb9b448c8c0171e18f29551077d133) 7517 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_715054228bad30a232707ed0357cdd98) (classParma__Polyhedra__Library_1_1Octagonal__Shape_81c8a26a02090eb4fb9255dd814514a8)]
+>> endobj
+12450 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_87aadd3a9d47e978a32c9867b13220a4) 7818 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_891529f721ff485fe2ec90ac48952cc6) 7478 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_8a329c1ea10527cde394abab15b67356) 7528 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_8b99abb6e15eedbdb94e2466e8304c52) 7576 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_934cc1f45a6d438f5d468276140cd5a8) 7761 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_87aadd3a9d47e978a32c9867b13220a4) (classParma__Polyhedra__Library_1_1Octagonal__Shape_96bae54a01fe00bad4306bec61bb4687)]
+>> endobj
+12451 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_9b7061aa20aa4b513216bcdb1a905ce7) 7815 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a317313059bdf973567d2fcf5e030212) 7694 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_a493e3939364ce0db66b42f0ef6511d0) 7689 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_aae8e418bb3d7a1432117530eaea7ec4) 7628 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ae058fd9619a17e121c3aab9b0612d81) 7685 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_9b7061aa20aa4b513216bcdb1a905ce7) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af0214aee8884dc52be4e061d6b4df94)]
+>> endobj
+12452 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afdd0083c1c10d49e06f4718a826ae1b) 7519 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_b38e5d3ce8cc120ce4b534bc43d90d34) 7523 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_b499fba7b7be2932147748248180e057) 7763 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_b5dfec17f683d1cbe01cfc71d601108c) 7577 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_b7c86f7ff6b09ff72e3ee3382b4c933b) 7580 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afdd0083c1c10d49e06f4718a826ae1b) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ba8ba56b075b2be7b6309cfaed039070)]
+>> endobj
+12453 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ba9abb279871c30a4f0c6cbb188fecc1) 7760 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_bfb434e3d574f4bd53314ac8749c4731) 7699 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_bfde1aac87d8218fce0fa9b4ea8a5eb1) 7697 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_c2cd6705bce0af4bd9880b990baf1198) 7876 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_c5f6c7896e64b8750e2cd9729c19d66e) 7525 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ba9abb279871c30a4f0c6cbb188fecc1) (classParma__Polyhedra__Library_1_1Octagonal__Shape_c6376a87e99d3cdabaa6ee7542474849)]
+>> endobj
+12454 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_c720d2c0875eba7d87a4068876092025) 7581 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_cb19de0243a618e9bf3d62e2ee04ae01) 7639 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_ccc6c6488ea9d8555ea8e978cf188749) 7759 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_cfec639e917dfd6eb63c4006ac55b807) 7640 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_d423a6ddce01a2f2efb34b826d0de921) 7635 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_c720d2c0875eba7d87a4068876092025) (classParma__Polyhedra__Library_1_1Octagonal__Shape_d8d04d80653fb850dd92468af1995f97)]
+>> endobj
+12455 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_dc269190695c1745ab086168fcf35835) 7686 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_dc326b7c8687b685c42817f7fec425e0) 7583 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_e37107ec8d1402bb69ac6462d7f4646d) 7526 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_e3be22e7dcdf54fdc0fb976fd755d0c7) 7629 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_e85fbe787fa3e172ecf6a63b2847d69a) 7584 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_dc269190695c1745ab086168fcf35835) (classParma__Polyhedra__Library_1_1Octagonal__Shape_ec298ee7df246c945e6a56442e04176d)]
+>> endobj
+12456 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ed38463ae788879580d6372653452603) 7575 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_f14ea5b6122685afd62a3df786512d77) 7578 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_f1921cd40fb0920e1173cf67418c63fe) 7574 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_f2c70f89a472f7fa34ba64817693776a) 7585 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_f41476c22751c8d79e8599443aea93da) 7821 0 R (classPar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_ed38463ae788879580d6372653452603) (classParma__Polyhedra__Library_1_1Octagonal__Shape_f7fd07f1f8d91c830130c061da7b6c56)]
+>> endobj
+12457 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Octagonal__Shape_f9503f2a0fd1535ce7cb9465908006dc) 7521 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_fa62abe41a99d6a01cca319ed860bb5b) 7816 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_fa8decb7c7093c9cde1255a6c1af62d4) 7582 0 R (classParma__Polyhedra__Library_1_1Octagonal__Shape_fea57a711a6b7a5d501112b84b246759) 7695 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product) 498 0 R (classParma__Polyhedra__Library_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_f9503f2a0fd1535ce7cb9465908006dc) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0c2c96efcf10102068f754c608a12427)]
+>> endobj
+12458 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0e39243c24d99f8d374f9c14e3da8d98) 8529 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0ea21bf85aa2e90c449435cfedcef181) 8344 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1190fcf4794305386f8475f9ac51ce00) 8274 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_15b21e990e26976e615a7d3244ed843e) 8404 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0e39243c24d99f8d374f9c14e3da8d98) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_19a2fb28254bc142e01f3ee00c27ea89)]
+>> endobj
+12459 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1ae424886d05361c1a78c89dbdd5b7db) 8466 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1d52cb88936eb0f5bde559b39f8ec42c) 8335 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1daec40615d5a93ce0de360865d93497) 8172 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1dc5b9db43a16365ba0773a96fe1b799) 8226 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_1ae424886d05361c1a78c89dbdd5b7db) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_21a9e355a53ec45a5a60213fa8c24f2e)]
+>> endobj
+12460 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_269f357fca785afae3774b1e084d9b93) 8494 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_28f6854a94a3a7d58034cb1d51ae9c7c) 8170 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_294875fd6b469d8949f08c24b5893b6e) 8225 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2b3eb71543b3284872781f0b4481fe39) 8179 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_269f357fca785afae3774b1e084d9b93) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2c47f2f619b1d0f322b742891920735f)]
+>> endobj
+12461 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2d12805af932544a4fc1575f8db62a3d) 8498 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2f90e70dbef264e99b7015c0ce7e16fd) 8461 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2fe458f016db5eeeb95bee46f1800533) 8227 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_343e039e48425126b187827066d12bf2) 8490 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_2d12805af932544a4fc1575f8db62a3d) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a031a8e65176b8bd80d2857bd9a68b6)]
+>> endobj
+12462 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a03cd3ea1b11c1c8dbdf462959d79df) 8282 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a18eff42a557fd87d59895399c7a13f) 8527 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3ad1db1c5141d2815c0d849d12548e4c) 8342 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3b5db50d397654bd1a8d4067d90f7419) 8219 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_3a03cd3ea1b11c1c8dbdf462959d79df) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41c9a9dc63e253ac5ed21cbdad4e2640)]
+>> endobj
+12463 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41d30675a3c28980af0f087b06a1f4c1) 8330 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_425f248891aec4ed7800bd92334fd7c1) 8229 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_43ab45399b7e22ffcd6403b7e59a473c) 8497 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_46f912e8b181561f68062e183005c8bc) 8223 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_41d30675a3c28980af0f087b06a1f4c1) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f)]
+>> endobj
+12464 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4ac4e4131c756f0ffce85b9dec7d2b3a) 8491 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4c7c04e76c758c53feeb8c5cf58638a6) 8464 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_5358c9f367ad37e650d411ab5e558e50) 8285 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_57fc3d9d838fd7e20e80806307452a91) 8454 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4ac4e4131c756f0ffce85b9dec7d2b3a) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_676b331ee61606b74be4cd1f90756839)]
+>> endobj
+12465 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6bd361a7c7e187c0ff63c62894e741f8) 8228 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6d33d9f1d987efe6e333c7ad1993dd5a) 8283 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_732e7355673aa63a2fc22a470a36f707) 8412 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_77a2a8e38120a21ac0d5f19eb6e1668b) 8413 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_6bd361a7c7e187c0ff63c62894e741f8) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7999968db9fb568980215d2c84393358)]
+>> endobj
+12466 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a1f9b31c3ed7dc3e7691b9110ddbedb) 8467 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a9afaf958c6f9dd09c89bd706dc09b0) 8528 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7ea45b608af772cd69e2c23d7d62a3cf) 8341 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_804363984fe210abe47624522dfb7a92) 8457 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_7a1f9b31c3ed7dc3e7691b9110ddbedb) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_888509fe116790d0b9a267e614be10ec)]
+>> endobj
+12467 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8b2ee24610cb804238f33581093948c1) 8405 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8cdc72dfa85aed4e613f780b02e69e92) 8233 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8eb19423295d8af4d69f144fc227128f) 8459 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_940db627ef73d29e63fed31acc7553f7) 8403 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_8b2ee24610cb804238f33581093948c1) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_97cc0d02a88d52e79cbb6615a3bbab42)]
+>> endobj
+12468 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99247c74022e8d51cd0a2d93a87bcfe5) 8414 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99dc4fb442b60dc9c694d7abc853a3dc) 8280 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9a864135634ed49de1aeae3b38ed933a) 8455 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_9bd884fea397d9d6cde6426e6f47cc4e) 8453 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_99247c74022e8d51cd0a2d93a87bcfe5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_a8128b9910f31bc963842e48c44a863e)]
+>> endobj
+12469 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad10819182a33870e4b0a7e3b2bca564) 8273 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_afc9294d3fb5f2c0fd8d4e4d22c283b6) 8340 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b3ad0a7ad694f4a7724504544aff49fa) 8221 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b3b8f7e6fdd123f510ba85f4527bdee3) 8493 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ad10819182a33870e4b0a7e3b2bca564) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b95eae83384d8c6b41b9ed8f9fd16704)]
+>> endobj
+12470 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bb5709426ac80aa0bcf907b4f1d4a577) 8407 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bc31d844172a202d43d08e299e26322f) 8173 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c2583843b139ce11b842155b35d60332) 8224 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c5ec610fb42e16beaac59b537a71f187) 8463 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bb5709426ac80aa0bcf907b4f1d4a577) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_c7b41dba5d22086cb9715c3f51248f98)]
+>> endobj
+12471 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cbcc65a843515d547f055b687d1e6d5f) 8452 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cc8d0378d1cb13b5ddc04dd12cf18ebe) 8230 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3a8f10409a9fd73afb6691686d6862c) 8333 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_d3e2a76d26bef272d0a13fa3bae9a5c2) 8232 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_cbcc65a843515d547f055b687d1e6d5f) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db0fa15c5f30fc4be6a94ce2606208ef)]
+>> endobj
+12472 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db466cb206f1d16d24257a838d130cf2) 8278 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dca9874a75b5ba09114b8495a23c4edd) 8175 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_de7792cb469ddf1d5d8944bbe7f1f55a) 8503 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dea57326388915780370a677453778b3) 8458 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_db466cb206f1d16d24257a838d130cf2) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_dfe66b5a34b84fcf63d1a48777f68e4d)]
+>> endobj
+12473 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e274e65fc3f012ab21bcffa3177228c5) 8411 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e386245235cada70fc797b0747b0d326) 8279 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ea7119974f9313e4c93908a2955c4186) 8337 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ef3ebc0ed74af80cd3653321153360bd) 8176 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Produ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_e274e65fc3f012ab21bcffa3177228c5) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_faf0bc4f0e0a036dbc3852b3e4490243)]
+>> endobj
+12474 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_fb7b94b681c4d195080fa81ed1480cc2) 8277 0 R (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_ffd7d0678df82882b006ea7b02771f98) 8331 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset) 497 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_02a568a0ea643d33f943fb6ab98271c7) 9080 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_062e6c821cbe563825968a30a108f14d) 8852 0 R (classParma__Po [...]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_fb7b94b681c4d195080fa81ed1480cc2) (classParma__Polyhedra__Library_1_1Pointset__Powerset_085c8cf54c180f7eaf693904cb6ce68b)]
+>> endobj
+12475 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_0b63a885009bef951c4a57e878b81698) 9085 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_0c8b9e21e6308b5841acc2f1ffef10e6) 9072 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_0f1e6f6f630698056d7e35149796f3e1) 8911 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_112cc024004bb7146ddccaa837664bf5) 8851 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_123c8d12181469abfa5dce562831a218) 8919 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_0b63a885009bef951c4a57e878b81698) (classParma__Polyhedra__Library_1_1Pointset__Powerset_16579a075dfcd1fa22ac02bcc859353b)]
+>> endobj
+12476 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_1760892eb5a3f38323cff257495f1711) 8969 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_1773f4a296b1e34a24fc238f84d615c7) 1268 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_17e25309469009012f40ed891a2c3f01) 9127 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_1af6f8ca3539ffa5cff895d30c7d4d7e) 8918 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_1be27ff4f03e00236044253c3ddd43da) 8976 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_1760892eb5a3f38323cff257495f1711) (classParma__Polyhedra__Library_1_1Pointset__Powerset_1fbcf2de5cd0eeca6b521e70b7d731a7)]
+>> endobj
+12477 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_2282182b70472430c77106aecf3c8029) 8910 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_23d4da5a4d3ccbef1d32597a77661ab9) 8864 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_25717d92bb71e83e73c686fb6f231efb) 9076 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_280aacebc757d7ab2a23ff2e282aa10b) 9027 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_2d82b566c9bebad2adaaa3b5ba0e923b) 9033 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_2282182b70472430c77106aecf3c8029) (classParma__Polyhedra__Library_1_1Pointset__Powerset_2e81b3aeb6ec2e74bee0cf690d44cd69)]
+>> endobj
+12478 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_302728bb407aa3c4137332e3275d21fe) 8859 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_32c9572669f8c0490cd714af2731b62a) 9036 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_345c97f889e2b3dae5f12fcc130a8b75) 8857 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_374c1462c19381ba7d0f27f4bbd94a72) 8914 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_3b8a6c571be95e78b20207f732cd0848) 9074 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_302728bb407aa3c4137332e3275d21fe) (classParma__Polyhedra__Library_1_1Pointset__Powerset_3f4e612db0eea52c329f5a6be95197b9)]
+>> endobj
+12479 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_440d3df9ebc23e058ec03d5606cecda9) 8803 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_451da71733ac3915319b8bd36744d415) 8971 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_45243459137b3c9e917bde090a48ba01) 8806 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_453d3ceee367754b17c722b66cb03e69) 8908 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_52fc679f0d74857dacafb72b57ab5c37) 9037 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_440d3df9ebc23e058ec03d5606cecda9) (classParma__Polyhedra__Library_1_1Pointset__Powerset_53fb6133be52cbd02a3fc7573900a95d)]
+>> endobj
+12480 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_5468429667edd0199d41c11d79d3d9b7) 8860 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_57be1b41dad904bf9936df4560df720b) 9026 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_5c527292c276945f5ce0bdc9b41ed37c) 8973 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_5ef6af0a8b11cc47f885ffc74e7be5b8) 8913 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_6069a2503278c2ba8d0f3c5b80dba198) 8968 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_5468429667edd0199d41c11d79d3d9b7) (classParma__Polyhedra__Library_1_1Pointset__Powerset_60b58548061b148441614897071b152f)]
+>> endobj
+12481 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_61834f7d3b6629c2aafc5011c258961b) 8917 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_632c2bfa8f851855c68d4c919e1cd237) 8906 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_64edddaeda5b87632fc0d37fd0f56749) 8752 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_69571f990b874f16d0f62235088427ca) 9130 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_6a10411642132d2a11144719a8cec9fb) 8800 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_61834f7d3b6629c2aafc5011c258961b) (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6)]
+>> endobj
+12482 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) 9035 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_7153c25dfa21af48271dd46e7e7cde7f) 9028 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_723455890ff6a03f145169e411c83289) 9034 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_74dabf047d8ef99e4088e5c410d34e6f) 9129 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_75b26365a17a571d891fe7d0b5ded447) 8912 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) (classParma__Polyhedra__Library_1_1Pointset__Powerset_77ae7142afc112b5cc786f24875cc336)]
+>> endobj
+12483 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_786d96ab353d022f56f211fa26e76766) 8909 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_7ba23c56994f511973d468959040f4a6) 8972 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_7ba29a874c71bb8631504b25945713d3) 8920 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_82341fbea6e1c21a80058424c0ccf2d0) 8805 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_91dc05df4b7c844f1f6c9c5419db5635) 9073 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_786d96ab353d022f56f211fa26e76766) (classParma__Polyhedra__Library_1_1Pointset__Powerset_96712b6e1b0c6ef2ef36177eba8a5f7b)]
+>> endobj
+12484 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_9846bc1d16b42521b6cda0e8a4799115) 8755 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_98d288c85ce5c2e32cee27f20c6ce7ac) 8915 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_9cbdb37b93b7d66e66a19df8f46a71f7) 8753 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_9f616c59b2d80aab9f11db8f3c63883c) 8797 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_a04426c5a10bb84d277c580d8377a8ca) 1267 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_9846bc1d16b42521b6cda0e8a4799115) (classParma__Polyhedra__Library_1_1Pointset__Powerset_a34fb5a16a8af56089e3a09b86263a08)]
+>> endobj
+12485 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a944a73dab7e82a786f12d860def325e) 9083 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_aaf96fa77980ed96433261f5dd4c8f5a) 1307 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ac2ae1578a08e1613a4e7ddfa0f4b711) 1270 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_b6db0040a47381b41656b2846ce782fc) 8807 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_bb6956f4cc086675f02d421fef46122d) 8801 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_a944a73dab7e82a786f12d860def325e) (classParma__Polyhedra__Library_1_1Pointset__Powerset_bcfc281c9ef2a45bcfad5ed4a1109b8e)]
+>> endobj
+12486 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_c262e9c3acc2920c3e3df6fab7852753) 9128 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_c3d56f02e252446c5844465d94068227) 9029 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_c4e8228056b829aa7e0e05e1b292d2c3) 8798 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_c878ab15837984ba2930ef42fa81dc5a) 9078 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_cab49f11748c7473f15388191159a798) 8975 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_c262e9c3acc2920c3e3df6fab7852753) (classParma__Polyhedra__Library_1_1Pointset__Powerset_cb90cd62d5a91523a0f7f7d17a7d380b)]
+>> endobj
+12487 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_cbcd7cd19d71e22f0a8deb3dfc536462) 8916 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_cd523ec773dc09fcf2c3ebbbd70b3bc5) 8856 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_cecce63184c4367b7e48cd7f35b29adb) 8850 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d00fd827006fff19ba3d2bec4da28267) 8965 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d43b1f8f4b622041e8719a0b26c4a2d2) 8854 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_cbcd7cd19d71e22f0a8deb3dfc536462) (classParma__Polyhedra__Library_1_1Pointset__Powerset_d64b9c9ef7488b49c4f9a4acd3f57491)]
+>> endobj
+12488 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_d6f64ccc36541cf23baca88a68ad06d7) 9126 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d7e1698be31b1b95dc7e28d13ec162d5) 9118 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d850947fe33d1adad7b33c58ab859ce0) 8849 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_d9bdf9f5b0e6b90d5c0c173ada762067) 8862 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ddf613a0448b642291d5e60910983a81) 8808 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_d6f64ccc36541cf23baca88a68ad06d7) (classParma__Polyhedra__Library_1_1Pointset__Powerset_def9cf2f5c18bf5fc72e2648e848f8e2)]
+>> endobj
+12489 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_df9133b519b04cad51e09ebb9332cddd) 9081 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_e315cd842b8a3bd48d730eba070969b0) 8799 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_e45ed9165f98258083b2337c3872acee) 9079 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ebb4df2fa553f9a75fc23f4a3d8aa084) 8751 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ef0c072f344fd2a732e792578091cc9d) 8861 0 R [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_df9133b519b04cad51e09ebb9332cddd) (classParma__Polyhedra__Library_1_1Pointset__Powerset_f4416e25871d6e2ee1fd5a09a1f9c343)]
+>> endobj
+12490 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Pointset__Powerset_f4f6e42cf5b4be24e73efab004e22a34) 8853 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_f6ef577d2302b2baac4689f8766cfb2f) 1269 0 R (classParma__Polyhedra__Library_1_1Pointset__Powerset_ff1c6d17be391cb22a9c4d4e0fa0feb8) 8802 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation) 1542 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_1dd09c87a931132dbee52ea24266866a) 9378 0 R (classParma__Polyhedra__Librar [...]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_f4f6e42cf5b4be24e73efab004e22a34) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_4cc725a9fe3bdaded2c131bb8bb47ed8)]
+>> endobj
+12491 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_553ae81ae234cedad36e72b32c967e65) 9375 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_62827195c6aeacf38a8fb3df6df8ff2e) 9376 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_80b9d602f99df76039d58032b20041d7) 9373 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_825bf274e880e1c8d51b42d32c69004e) 9406 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_9f09728ae53c8e3dadeb202f28bb6fdb) 937 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_553ae81ae234cedad36e72b32c967e65) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_a317e5d2d782c3589c48cb3b45d6790d)]
+>> endobj
+12492 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4b60ce3ac62aee15faac1b5035fdb4d) 9369 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b92b75d150bd5fbfc03cadec75d59e0f) 9370 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_b9da0d811233cfb64481a7fe08b7f645) 9412 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_c8b0d22ea3470020b35240f778c34a94) 9401 0 R (classParma__Polyhedra__Library_1_1Poly__Con__Relation_d1bc9d7804925b15f8205df0b3efc8a4) 941 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_a4b60ce3ac62aee15faac1b5035fdb4d) (classParma__Polyhedra__Library_1_1Poly__Con__Relation_f00b427f47054a80d236d124443c580c)]
+>> endobj
+12493 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_f7184f692efc0672e3213f6be9d5cf4c) 9408 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation) 1543 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_0ca2fc9566495b3d4ac6b970a301d9a1) 9442 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_306699ac7d5f2c2c909c3a3baf303009) 9465 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_419ea78710f4b45c1542647e1212a3f7) 9441 0 R (classParma__Polyhedra__Lib [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Con__Relation_f7184f692efc0672e3213f6be9d5cf4c) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_4f7df2a0b66616d7672e562fa8c4e8f6)]
+>> endobj
+12494 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_5740d23d50b9aa7c95e8b6b51242258d) 9467 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_6d5d2010157ae8f712e4a3e551d355d7) 9469 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_8ede6a8a55e35d1c41065b01afac0342) 9438 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_a303fa28c55c391afe4f067f91db36ce) 9439 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_af9d682418e536d9a1f6bd24991e1c56) 944 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_5740d23d50b9aa7c95e8b6b51242258d) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_d99eb5124bfcd9c75379efdde73d1a1a)]
+>> endobj
+12495 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_de82782e3363de460caad677b3583559) 9473 0 R (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_f78754c1ef47797c0acbd31cf48f9caf) 9445 0 R (classParma__Polyhedra__Library_1_1Polyhedron) 1544 0 R (classParma__Polyhedra__Library_1_1Polyhedron_0514c2e57ac8154666e9fe6bb56c0e18) 9567 0 R (classParma__Polyhedra__Library_1_1Polyhedron_08e91d11b3deb5b694356b5573d2547a) 9741 0 R (classParma__Polyhedra__Library_1_1Polyhedron_0a5c586d [...]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_de82782e3363de460caad677b3583559) (classParma__Polyhedra__Library_1_1Polyhedron_0a5c586d872f15baf7fd70941fc16c41)]
+>> endobj
+12496 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_0c58bbc8bf8db5f570da3db42a0ae2f7) 9839 0 R (classParma__Polyhedra__Library_1_1Polyhedron_0d69bc8c9bd9843262551c7e3e33f5a2) 9559 0 R (classParma__Polyhedra__Library_1_1Polyhedron_0d9abbf681b7b0724963d97596286ae5) 9563 0 R (classParma__Polyhedra__Library_1_1Polyhedron_13f15417d90174f6c2d3648e83d9fcf5) 9619 0 R (classParma__Polyhedra__Library_1_1Polyhedron_1956a63a72283d208851d3fe2b11989b) 1317 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_0c58bbc8bf8db5f570da3db42a0ae2f7) (classParma__Polyhedra__Library_1_1Polyhedron_1a3647877302fc6e0e583b8b881a7a4f)]
+>> endobj
+12497 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_1c64e09d6022054690f7d2bdf4e02138) 1308 0 R (classParma__Polyhedra__Library_1_1Polyhedron_1cecffe684d1faa9b0f6b8d4f227e9ae) 9898 0 R (classParma__Polyhedra__Library_1_1Polyhedron_1d7db8ee4d8972c1818a36d6517ebbff) 9842 0 R (classParma__Polyhedra__Library_1_1Polyhedron_236a18fe8cc922d00ee92a6c6e42f923) 9669 0 R (classParma__Polyhedra__Library_1_1Polyhedron_281b8db6a8e0014ab2c41dd15f8c0708) 9798 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_1c64e09d6022054690f7d2bdf4e02138) (classParma__Polyhedra__Library_1_1Polyhedron_2aaf9117efebc52a8b45b787075a9647)]
+>> endobj
+12498 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_2bf7987a6ee3547c1e125e83e432ee2a) 9513 0 R (classParma__Polyhedra__Library_1_1Polyhedron_304e74729ca34fc67648cbc995e1dfc7) 1311 0 R (classParma__Polyhedra__Library_1_1Polyhedron_31d70a625e092dfdaed4f3232701f35d) 9572 0 R (classParma__Polyhedra__Library_1_1Polyhedron_3569a428ad758dc9ac8273e0f1f77772) 9667 0 R (classParma__Polyhedra__Library_1_1Polyhedron_371deb67f73bf27ac9a7ff6f2216db9c) 9745 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_2bf7987a6ee3547c1e125e83e432ee2a) (classParma__Polyhedra__Library_1_1Polyhedron_3b49993a1cd4fc6891da88a6259b9f93)]
+>> endobj
+12499 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_3c1e5a2419a5f4a5cf89133606ed1680) 9672 0 R (classParma__Polyhedra__Library_1_1Polyhedron_43cd840b1ec99350c222b3f217739cea) 9509 0 R (classParma__Polyhedra__Library_1_1Polyhedron_4b428098e57a9101473a54cd71a0753f) 9675 0 R (classParma__Polyhedra__Library_1_1Polyhedron_4c11206af59b0f6a5471aded55d20961) 9806 0 R (classParma__Polyhedra__Library_1_1Polyhedron_4f514edad990412bd66cc666347103ab) 9740 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_3c1e5a2419a5f4a5cf89133606ed1680) (classParma__Polyhedra__Library_1_1Polyhedron_4f9a47ba1b29f1e07a32542584d50686)]
+>> endobj
+12500 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_50e1047c49fffb06bc5089a06a051a3d) 9742 0 R (classParma__Polyhedra__Library_1_1Polyhedron_527e7c81841bbcf1963c6e260dadfe01) 9803 0 R (classParma__Polyhedra__Library_1_1Polyhedron_547a8d96908afe5a7f9e4ba2e10d7ac8) 9840 0 R (classParma__Polyhedra__Library_1_1Polyhedron_5d53d09dcc839672fedd4ab5d4142d57) 9621 0 R (classParma__Polyhedra__Library_1_1Polyhedron_5df26655af3ae7844569d7086edf8332) 9617 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_50e1047c49fffb06bc5089a06a051a3d) (classParma__Polyhedra__Library_1_1Polyhedron_5dfef947c46e234a1ffd4707312332ec)]
+>> endobj
+12501 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_6187dbe974649c7bd4de8e66f70d3e46) 9568 0 R (classParma__Polyhedra__Library_1_1Polyhedron_672b0568e7a27c37b3afde649f7c0171) 9736 0 R (classParma__Polyhedra__Library_1_1Polyhedron_67a7d08f3cda46f7a743d46f3a6f33b5) 9904 0 R (classParma__Polyhedra__Library_1_1Polyhedron_6b737abc8f33b2a2362e3f9c9ab08d58) 9850 0 R (classParma__Polyhedra__Library_1_1Polyhedron_6c7c72e56241da463eaeccdff79b6d49) 9844 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_6187dbe974649c7bd4de8e66f70d3e46) (classParma__Polyhedra__Library_1_1Polyhedron_6e73a7d462d6a9a3891fff6c4a923495)]
+>> endobj
+12502 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_6e9d9dd7740b414d407c16687c99a88e) 9795 0 R (classParma__Polyhedra__Library_1_1Polyhedron_6fb94f0e966e97bfb9dcf43dddcf12ba) 9515 0 R (classParma__Polyhedra__Library_1_1Polyhedron_7366f9b91109b63f078e963bccd9f5b4) 9797 0 R (classParma__Polyhedra__Library_1_1Polyhedron_73cb0d61cccb259e06b68d4f83deb6d7) 9847 0 R (classParma__Polyhedra__Library_1_1Polyhedron_787615432c9f1d6aac5a6394aea8cfa9) 9327 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_6e9d9dd7740b414d407c16687c99a88e) (classParma__Polyhedra__Library_1_1Polyhedron_7a8abcefdfb125b7c9ef5f96d352c1df)]
+>> endobj
+12503 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_7b8d597a3c23af1fce9d8d3e1d36e11d) 9511 0 R (classParma__Polyhedra__Library_1_1Polyhedron_7df62db3bf13024d4ee9f8aaf0d27dc6) 9622 0 R (classParma__Polyhedra__Library_1_1Polyhedron_7e4bbfa6f481ead40e3ca6231e0f69be) 1315 0 R (classParma__Polyhedra__Library_1_1Polyhedron_7e68bea365fe939d08c91ec4edc61a2b) 9731 0 R (classParma__Polyhedra__Library_1_1Polyhedron_8132d1a9b329271fb4f7faeb59c89c39) 9674 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_7b8d597a3c23af1fce9d8d3e1d36e11d) (classParma__Polyhedra__Library_1_1Polyhedron_858e0030826ee6c29545a934166874ef)]
+>> endobj
+12504 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_86d2bbceaa288f2f605ac88516d313cb) 9853 0 R (classParma__Polyhedra__Library_1_1Polyhedron_87ebe6f7cd176227f61c6d0fe47a4f68) 9805 0 R (classParma__Polyhedra__Library_1_1Polyhedron_8af124edba7c75bc76ec394405aa893e) 9903 0 R (classParma__Polyhedra__Library_1_1Polyhedron_8c33b9ea975535b5aa0882241cf78986) 9561 0 R (classParma__Polyhedra__Library_1_1Polyhedron_8ed700f662722cbebdc9328344ba2839) 9562 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_86d2bbceaa288f2f605ac88516d313cb) (classParma__Polyhedra__Library_1_1Polyhedron_96e902093a55f87f0aebc2bb13a8d740)]
+>> endobj
+12505 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_97011210c7f0b2efa0f837ef2da6c5b3) 1318 0 R (classParma__Polyhedra__Library_1_1Polyhedron_9764ef2f159cfdcca3f151e899bd43ef) 9802 0 R (classParma__Polyhedra__Library_1_1Polyhedron_97ddb3b93ac699eebaca7e79f691b0ad) 9510 0 R (classParma__Polyhedra__Library_1_1Polyhedron_98c785602c5af8f7e0c1be92bb5e8b71) 9796 0 R (classParma__Polyhedra__Library_1_1Polyhedron_9a45b4b8f148a20359a2f3e2b1c2cb2d) 9664 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_97011210c7f0b2efa0f837ef2da6c5b3) (classParma__Polyhedra__Library_1_1Polyhedron_9ca6b6eed07fd3b72119b8ea58328e5e)]
+>> endobj
+12506 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_9f3c5474494eb306717bc3da7c109307) 9566 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a0ac997a15935821583174de968e5bff) 9564 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a26e1a5815b7a0c3b610395c854594bf) 9671 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a38fbbd15d5dc2e98d5b24c92b06c290) 9843 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a39bdf85d6db02629fa73bbcaddab6d5) 9849 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_9f3c5474494eb306717bc3da7c109307) (classParma__Polyhedra__Library_1_1Polyhedron_a6b6fed08414c86d33fc4a44c59e9e22)]
+>> endobj
+12507 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_a78179b1d8478dce6cf572af8e0b9cb4) 9845 0 R (classParma__Polyhedra__Library_1_1Polyhedron_a809bff4b85d09cd801e5e5cde1b8c06) 9737 0 R (classParma__Polyhedra__Library_1_1Polyhedron_b1b315e7f04c051a36f48d344dd34052) 9665 0 R (classParma__Polyhedra__Library_1_1Polyhedron_b4959b3da46291de301d9150f5afc3aa) 9896 0 R (classParma__Polyhedra__Library_1_1Polyhedron_b6ab1820f2fdf444d1431ff3af424451) 9895 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_a78179b1d8478dce6cf572af8e0b9cb4) (classParma__Polyhedra__Library_1_1Polyhedron_b7a35f8df974c9e932df6291754859fb)]
+>> endobj
+12508 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_bbb7562de97ccf13bd97b57bb5e3ac94) 9565 0 R (classParma__Polyhedra__Library_1_1Polyhedron_be643d7919aa34a2c1112702878f5536) 1313 0 R (classParma__Polyhedra__Library_1_1Polyhedron_bfd98397c137d81dcc27111fba3ccd54) 9670 0 R (classParma__Polyhedra__Library_1_1Polyhedron_c2182f38e9f8acede601c3dcfa71c3b3) 9618 0 R (classParma__Polyhedra__Library_1_1Polyhedron_c251eb38d1b24b8b570d874ee11df424) 9569 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_bbb7562de97ccf13bd97b57bb5e3ac94) (classParma__Polyhedra__Library_1_1Polyhedron_c5c7acc50141a9104ef5b9b7598c1438)]
+>> endobj
+12509 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_c6ea1802e6a6cfb32e5af6d6d26eb424) 9516 0 R (classParma__Polyhedra__Library_1_1Polyhedron_c93800b9ec7aae75937598e1f2209b1f) 9738 0 R (classParma__Polyhedra__Library_1_1Polyhedron_ca90e7afe251a0d4174dcf538b34006b) 9852 0 R (classParma__Polyhedra__Library_1_1Polyhedron_cb75fd68aa10bd15e590e8e8954c5002) 9558 0 R (classParma__Polyhedra__Library_1_1Polyhedron_cbc86683af6afc0818cc9e980a84fcb8) 9743 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_c6ea1802e6a6cfb32e5af6d6d26eb424) (classParma__Polyhedra__Library_1_1Polyhedron_cf531d280805472a54c22fed0f689932)]
+>> endobj
+12510 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_d6a8cc7029bad7ad7ad116c90ff59aec) 9668 0 R (classParma__Polyhedra__Library_1_1Polyhedron_d6d1e866b7ba9bf4233f3a5254cda0f9) 9899 0 R (classParma__Polyhedra__Library_1_1Polyhedron_d84befb6d0ded481871cbef1b7306824) 9902 0 R (classParma__Polyhedra__Library_1_1Polyhedron_d909d5b60cab5d1a6816577c97b60fcf) 9560 0 R (classParma__Polyhedra__Library_1_1Polyhedron_d914801461cad05325559e95b9c4d9c6) 9615 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_d6a8cc7029bad7ad7ad116c90ff59aec) (classParma__Polyhedra__Library_1_1Polyhedron_dad834921ba7c139b0cb10c507b4070a)]
+>> endobj
+12511 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_dd7b66394e6c54bc1ae03a4ed9a33c9e) 9851 0 R (classParma__Polyhedra__Library_1_1Polyhedron_dee3b5c0c3800ce2214e68a156cbcf77) 9807 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e10fbc38125e63858549f5ec8a25e046) 9794 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e1c5216e2ba5c80d77e128daea25b46e) 9514 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e3be29eddce8f41019e7dcb731c8ba7b) 9570 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_dd7b66394e6c54bc1ae03a4ed9a33c9e) (classParma__Polyhedra__Library_1_1Polyhedron_e58a861a42c5216a2267e3f94ecaec8c)]
+>> endobj
+12512 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_e680437fdc213b7174c581caa2e0c0d3) 9574 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e6eef0ed4aa8b3690f01f774dd0722fc) 1312 0 R (classParma__Polyhedra__Library_1_1Polyhedron_e89cd985111a1a27c60a6fcc28ae9788) 9744 0 R (classParma__Polyhedra__Library_1_1Polyhedron_eb14f5522982b3874f2cd19586813421) 9732 0 R (classParma__Polyhedra__Library_1_1Polyhedron_eb30e6558c9efffc62d5765b3bfe5e4f) 1310 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_e680437fdc213b7174c581caa2e0c0d3) (classParma__Polyhedra__Library_1_1Polyhedron_ec640128c6492defc09c4d6ad5d3ea19)]
+>> endobj
+12513 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_efab726809c553c136e5d8fda50c276e) 9841 0 R (classParma__Polyhedra__Library_1_1Polyhedron_f074d4d4d406dd065812b32cc8714222) 9800 0 R (classParma__Polyhedra__Library_1_1Polyhedron_f15f956dac6d4b19ecd8fee0f9718f29) 9893 0 R (classParma__Polyhedra__Library_1_1Polyhedron_f47944944e16e786df5c0671e7baa995) 9739 0 R (classParma__Polyhedra__Library_1_1Polyhedron_f496ec55802726ee3b39e52458ab0647) 9891 0 R (classParma__Polyhedra__Library_1_1Poly [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_efab726809c553c136e5d8fda50c276e) (classParma__Polyhedra__Library_1_1Polyhedron_f60c3f345fb8ec8c708e49e8fa33f737)]
+>> endobj
+12514 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Polyhedron_f740303d5461c838735ec53c5c1f8855) 9571 0 R (classParma__Polyhedra__Library_1_1Polyhedron_fc2a04d2049183cddbcf70316fdf40e7) 9900 0 R (classParma__Polyhedra__Library_1_1Powerset) 1545 0 R (classParma__Polyhedra__Library_1_1Powerset_01b873b0e820222e07789c3ba5fa48ae) 10342 0 R (classParma__Polyhedra__Library_1_1Powerset_04aed5c92cf15c71ce85b8cc173a893b) 10292 0 R (classParma__Polyhedra__Library_1_1Powerset_057c4f38d0e8b8a146af731dbd91864f [...]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_f740303d5461c838735ec53c5c1f8855) (classParma__Polyhedra__Library_1_1Powerset_057c4f38d0e8b8a146af731dbd91864f)]
+>> endobj
+12515 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_0a660ed1cfae2599d7f9236f2084d499) 10343 0 R (classParma__Polyhedra__Library_1_1Powerset_113964ab3d7ea36326ce962629a322ce) 10332 0 R (classParma__Polyhedra__Library_1_1Powerset_1c71c9b7d1de1b77eeb054e1c0ac935e) 10242 0 R (classParma__Polyhedra__Library_1_1Powerset_1ee74f5687635ddbb9729be31a37e2d3) 10334 0 R (classParma__Polyhedra__Library_1_1Powerset_241c65ff3d32769cbb9badd2c8e00ca5) 10294 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_0a660ed1cfae2599d7f9236f2084d499) (classParma__Polyhedra__Library_1_1Powerset_272424f5d0df282c6d1ee63a5c84e3e6)]
+>> endobj
+12516 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_277ba920e188477bb301196b19d63770) 10287 0 R (classParma__Polyhedra__Library_1_1Powerset_2a7c225e4f50e2287216dcd77eaf27d5) 10376 0 R (classParma__Polyhedra__Library_1_1Powerset_2edf5fe7007a3e91a404546ca2f2d98c) 10300 0 R (classParma__Polyhedra__Library_1_1Powerset_30e0b0c2c668e73566cb1720d72cdac2) 10339 0 R (classParma__Polyhedra__Library_1_1Powerset_36becc8c3ace976043199807351d5b04) 10238 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_277ba920e188477bb301196b19d63770) (classParma__Polyhedra__Library_1_1Powerset_37703f96495cf4bcb8ced3ff20e4c396)]
+>> endobj
+12517 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_386fa9c84bc37468f1a3a2b860a0bc3d) 10298 0 R (classParma__Polyhedra__Library_1_1Powerset_411d42e5b59a492742793834efeeabc1) 10245 0 R (classParma__Polyhedra__Library_1_1Powerset_44b0a622563e60fe28b91b7e9ff76364) 10297 0 R (classParma__Polyhedra__Library_1_1Powerset_5534b8f8fbd973bfb7051cf5fb31f19d) 10336 0 R (classParma__Polyhedra__Library_1_1Powerset_5a36a32ab46d46f574f3091e931e2bd2) 10248 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_386fa9c84bc37468f1a3a2b860a0bc3d) (classParma__Polyhedra__Library_1_1Powerset_5c3bee913efb87e4661df746e184e1e1)]
+>> endobj
+12518 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) 10366 0 R (classParma__Polyhedra__Library_1_1Powerset_5eb3117d3d7d0566a99f9f5807276864) 10296 0 R (classParma__Polyhedra__Library_1_1Powerset_66e3e2f2433738665eb748d2f6c5878f) 10246 0 R (classParma__Polyhedra__Library_1_1Powerset_6f4469416e02c586de17284317f8a92e) 10239 0 R (classParma__Polyhedra__Library_1_1Powerset_754f66ed06474d4b68a93131af02a86f) 10288 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) (classParma__Polyhedra__Library_1_1Powerset_7607ef1c8ef6b668dd2be62c39330406)]
+>> endobj
+12519 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_8691a3facce4d6f973b48743fa42ec42) 10377 0 R (classParma__Polyhedra__Library_1_1Powerset_86f44d9d38638be46ef23422783f847e) 10373 0 R (classParma__Polyhedra__Library_1_1Powerset_8c82df1de8703aefeab268dc9ffc557f) 10250 0 R (classParma__Polyhedra__Library_1_1Powerset_900663a0e97525c064ccf31152fa8ae7) 10241 0 R (classParma__Polyhedra__Library_1_1Powerset_9fb86f09111d4ac21fdc7c7baa86e622) 10295 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_8691a3facce4d6f973b48743fa42ec42) (classParma__Polyhedra__Library_1_1Powerset_a215867508a89858bcc7ab025f8d20f1)]
+>> endobj
+12520 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_a55b32c299b7d7bec303f636b66ef624) 10378 0 R (classParma__Polyhedra__Library_1_1Powerset_ab7519865a52fbbc8dc2031135a9fb41) 10252 0 R (classParma__Polyhedra__Library_1_1Powerset_b66151b86ac8c495eba1a3209501928a) 10293 0 R (classParma__Polyhedra__Library_1_1Powerset_b955487a974e74224f3d72d743ee78a4) 10330 0 R (classParma__Polyhedra__Library_1_1Powerset_ba65a2c1a6d563f5058479bc07181b9a) 10374 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_a55b32c299b7d7bec303f636b66ef624) (classParma__Polyhedra__Library_1_1Powerset_c3283cf8fd0dd8ff2a319cba1dead1f2)]
+>> endobj
+12521 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_cdc1e9b5ac338be9d0584d50d275226e) 10249 0 R (classParma__Polyhedra__Library_1_1Powerset_d25e2d27e5d731e6b63fb84a65700faf) 10251 0 R (classParma__Polyhedra__Library_1_1Powerset_d34bafd07f582c558936f9ea8892abd6) 10367 0 R (classParma__Polyhedra__Library_1_1Powerset_d3bda090e4ac93d937ac4dd775c20919) 10333 0 R (classParma__Polyhedra__Library_1_1Powerset_dab2c45cbec19ad11bf34db42b794508) 10289 0 R (classParma__Polyhedra__Library_1_1Powerset_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_cdc1e9b5ac338be9d0584d50d275226e) (classParma__Polyhedra__Library_1_1Powerset_dab8b3f43dd9a5e707b95e15a9c282f8)]
+>> endobj
+12522 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Powerset_def4c62b5cdf5186801c592cc62dccea) 10341 0 R (classParma__Polyhedra__Library_1_1Powerset_e006881831b298f0af5031e99df2bc6f) 10247 0 R (classParma__Polyhedra__Library_1_1Powerset_ee126cc2eef44ab1d2055d0d15bc3169) 10340 0 R (classParma__Polyhedra__Library_1_1Powerset_f60bb41867a12ce28144596e3cc1406a) 10243 0 R (classParma__Polyhedra__Library_1_1Powerset_fe22acf3f8e5b6c20880acd443350482) 10331 0 R (classParma__Polyhedra__Library_1_1Smash__Re [...]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_def4c62b5cdf5186801c592cc62dccea) (classParma__Polyhedra__Library_1_1Smash__Reduction)]
+>> endobj
+12523 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Smash__Reduction_8041e8b3420a554e9637e4dfcf43c2b1) 10429 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_a3b0210cf6bc4dc319d24d429518c61d) 10425 0 R (classParma__Polyhedra__Library_1_1Smash__Reduction_a4959b6198e090d37abbd07085b74a30) 10424 0 R (classParma__Polyhedra__Library_1_1Throwable) 1548 0 R (classParma__Polyhedra__Library_1_1Throwable_14c081beabe1e165b1dc44b2a84b6c2b) 10450 0 R (classParma__Polyhedra__Library_1_1Throwable_5024cc2 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Smash__Reduction_8041e8b3420a554e9637e4dfcf43c2b1) (classParma__Polyhedra__Library_1_1Throwable_5024cc2b142473f5f733a8808cb09162)]
+>> endobj
+12524 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable) 1549 0 R (classParma__Polyhedra__Library_1_1Variable_0431b025f2e3c1b5d3cef06c4054f726) 10482 0 R (classParma__Polyhedra__Library_1_1Variable_44e2225e59844067e005297572cd9ca5) 10458 0 R (classParma__Polyhedra__Library_1_1Variable_49b4a338d3d82bfb7a404ea87481fc4d) 10480 0 R (classParma__Polyhedra__Library_1_1Variable_5012c55d8fdb1420b80a3bfbe5a5b843) 10485 0 R (classParma__Polyhedra__Library_1_1Variable_56a9fd5bee6f87ae9079aed0bc3de31a)  [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable) (classParma__Polyhedra__Library_1_1Variable_56a9fd5bee6f87ae9079aed0bc3de31a)]
+>> endobj
+12525 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable_7102c6fe85d4c8e6939d29a047becbdb) 10456 0 R (classParma__Polyhedra__Library_1_1Variable_75683687bda865c93db529b76271bed2) 10486 0 R (classParma__Polyhedra__Library_1_1Variable_8dfe38ded52523b20209cce599411c4c) 10457 0 R (classParma__Polyhedra__Library_1_1Variable_a5f2c0410e128e2f082d761ef36820da) 10484 0 R (classParma__Polyhedra__Library_1_1Variable_bb6a26c12f7bdee7504d577ca81992e0) 10455 0 R (classParma__Polyhedra__Library_1_1Variable_ [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable_7102c6fe85d4c8e6939d29a047becbdb) (classParma__Polyhedra__Library_1_1Variable_d71d7986fdfd19215fc87726ebacf555)]
+>> endobj
+12526 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variable_ed0f237309569c2bfbf9e6f60740974e) 10481 0 R (classParma__Polyhedra__Library_1_1Variables__Set) 1551 0 R (classParma__Polyhedra__Library_1_1Variables__Set_0b93ff227453cf62d922dab902055f8b) 10548 0 R (classParma__Polyhedra__Library_1_1Variables__Set_32b7f9e0a2f54d199ad55bc008bfa62e) 10545 0 R (classParma__Polyhedra__Library_1_1Variables__Set_3a5d4b3fb638414792155bcef8b54c1c) 10547 0 R (classParma__Polyhedra__Library_1_1Variables__Set_3d49 [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variable_ed0f237309569c2bfbf9e6f60740974e) (classParma__Polyhedra__Library_1_1Variables__Set_3d49b2488d36bda4fef0109bedf6b0cc)]
+>> endobj
+12527 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variables__Set_4090b6696c19cb93c705d9a9e06f4915) 10544 0 R (classParma__Polyhedra__Library_1_1Variables__Set_4c3c15515e1335fb69130aad4f371a1c) 10549 0 R (classParma__Polyhedra__Library_1_1Variables__Set_4e8f85cded8a6be1916c2cc0bb31c540) 10546 0 R (classParma__Polyhedra__Library_1_1Variables__Set_5842c4add70aabcc093269aea7a348e5) 10551 0 R (classParma__Polyhedra__Library_1_1Variables__Set_587efac6e5a2fbde0a1866dbe4427224) 10561 0 R (classParma__P [...]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_4090b6696c19cb93c705d9a9e06f4915) (classParma__Polyhedra__Library_1_1Variables__Set_6faffe6889615dc0491bf86dd601172c)]
+>> endobj
+12528 0 obj <<
+/Names [(classParma__Polyhedra__Library_1_1Variables__Set_7176b36adef9683aae06961175ad94cb) 10543 0 R (classParma__Polyhedra__Library_1_1Variables__Set_ca3690ce9d77a85740cdf8a508edf127) 10550 0 R (classParma__Polyhedra__Library_1_1Variables__Set_d7bdf8849f22908ce11574a04ba875df) 10567 0 R (classParma__Polyhedra__Library_1_1Variables__Set_da205f4442f845f797fb108c121fe371) 10540 0 R (deprecated) 1191 0 R (deprecated__deprecated000001) 1296 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Variables__Set_7176b36adef9683aae06961175ad94cb) (deprecated__deprecated000001)]
+>> endobj
+12529 0 obj <<
+/Names [(deprecated__deprecated000002) 1297 0 R (deprecated__deprecated000003) 1298 0 R (deprecated__deprecated000004) 1299 0 R (deprecated__deprecated000005) 1300 0 R (deprecated__deprecated000006) 1301 0 R (deprecated__deprecated000007) 1302 0 R]
+/Limits [(deprecated__deprecated000002) (deprecated__deprecated000007)]
+>> endobj
+12530 0 obj <<
+/Names [(deprecated__deprecated000008) 1303 0 R (deprecated__deprecated000009) 1304 0 R (deprecated__deprecated000010) 1305 0 R (deprecated__deprecated000011) 1306 0 R (deprecated__deprecated000012) 1200 0 R (deprecated__deprecated000013) 1201 0 R]
+/Limits [(deprecated__deprecated000008) (deprecated__deprecated000013)]
+>> endobj
+12531 0 obj <<
+/Names [(deprecated__deprecated000014) 1244 0 R (deprecated__deprecated000015) 1245 0 R (deprecated__deprecated000016) 1246 0 R (deprecated__deprecated000017) 1247 0 R (deprecated__deprecated000018) 1248 0 R (deprecated__deprecated000019) 1249 0 R]
+/Limits [(deprecated__deprecated000014) (deprecated__deprecated000019)]
+>> endobj
+12532 0 obj <<
+/Names [(deprecated__deprecated000020) 1250 0 R (deprecated__deprecated000021) 1251 0 R (deprecated__deprecated000022) 1252 0 R (deprecated__deprecated000023) 1192 0 R (deprecated__deprecated000024) 1193 0 R (deprecated__deprecated000025) 1194 0 R]
+/Limits [(deprecated__deprecated000020) (deprecated__deprecated000025)]
+>> endobj
+12533 0 obj <<
+/Names [(deprecated__deprecated000026) 1195 0 R (deprecated__deprecated000027) 1196 0 R (deprecated__deprecated000028) 1197 0 R (deprecated__deprecated000029) 1198 0 R (deprecated__deprecated000030) 1199 0 R (deprecated__deprecated000031) 1253 0 R]
+/Limits [(deprecated__deprecated000026) (deprecated__deprecated000031)]
+>> endobj
+12534 0 obj <<
+/Names [(deprecated__deprecated000032) 1254 0 R (deprecated__deprecated000033) 1255 0 R (deprecated__deprecated000034) 1256 0 R (deprecated__deprecated000035) 1295 0 R (group__PPL__CXX__interface) 1540 0 R (group__PPL__CXX__interface_g00a906832c41c42a70a5c9d194e07a7d) 1765 0 R]
+/Limits [(deprecated__deprecated000032) (group__PPL__CXX__interface_g00a906832c41c42a70a5c9d194e07a7d)]
+>> endobj
+12535 0 obj <<
+/Names [(group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) 1754 0 R (group__PPL__CXX__interface_g1c2a279a3ffa1d1e9947f2667be312ae) 1722 0 R (group__PPL__CXX__interface_g25ea3a289eadef732f4c7fd823387fb2) 1714 0 R (group__PPL__CXX__interface_g2c7a4b4311ef3639f73f40b414376899) 1687 0 R (group__PPL__CXX__interface_g616fcdc7600a3a11a8a9152e75730899) 1719 0 R (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783) 1686 0 R]
+/Limits [(group__PPL__CXX__interface_g113f1e845cba6b1c3c5705d0e14f1cc1) (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783)]
+>> endobj
+12536 0 obj <<
+/Names [(group__PPL__CXX__interface_g79bd3696a302bb721ef8168fa5d650fb) 1621 0 R (group__PPL__CXX__interface_g7a529f51bfebdd4b3e69c866dced9bc1) 1617 0 R (group__PPL__CXX__interface_g8458e58a5e857de11c35ce3076a70ab8) 1619 0 R (group__PPL__CXX__interface_g853432469169b07e42c557e1d6d144de) 1685 0 R (group__PPL__CXX__interface_ga88e9b9cb2588cbf5914695fc14e69a8) 1688 0 R (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654) 1758 0 R]
+/Limits [(group__PPL__CXX__interface_g79bd3696a302bb721ef8168fa5d650fb) (group__PPL__CXX__interface_gac82e7e0179442ef589f2fc61302d654)]
+>> endobj
+12537 0 obj <<
+/Names [(group__PPL__CXX__interface_gbadfeba0a415d210cdd6d7309365e800) 1620 0 R (group__PPL__CXX__interface_gdf9d6f17d8974c81e3499f170e7762a2) 1761 0 R (group__PPL__CXX__interface_ge19dfe022c51c874d905e2a7c81c18f1) 1618 0 R (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc140409716eac06f7ee5c44a200d3702f0) 1757 0 R (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc171c9b0459dc8ba8cc0c8178b6cf4f017) 1755 0 R (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f [...]
+/Limits [(group__PPL__CXX__interface_gbadfeba0a415d210cdd6d7309365e800) (group__PPL__CXX__interface_gg113f1e845cba6b1c3c5705d0e14f1cc1b39e3c667ce455313f8ff578722af2e9)]
+>> endobj
+12538 0 obj <<
+/Names [(group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae079e4b80f17b0095497103a52cffa3ab) 1726 0 R (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae3e4424ce8e7ebe86e125541b561fc300) 1725 0 R (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae556cc08f48e769b9c15bea83d5d883a1) 1723 0 R (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae8191bdbdcd041a9859ed465d16062ab1) 1728 0 R (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae94 [...]
+/Limits [(group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312ae079e4b80f17b0095497103a52cffa3ab) (group__PPL__CXX__interface_gg1c2a279a3ffa1d1e9947f2667be312aed8db7109fb4bb50360b05800dd245416)]
+>> endobj
+12539 0 obj <<
+/Names [(group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb20f182c5824807f7bc66d2d2033810feb) 1717 0 R (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2a57b0c1a34eced57ca8437eea92a4328) 1716 0 R (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2beee33de6f8542b0228161d044640eaa) 1715 0 R (group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb2eafcc7ca16bda73dc6b0f7deaf9470dd) 1718 0 R (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e757308990e [...]
+/Limits [(group__PPL__CXX__interface_gg25ea3a289eadef732f4c7fd823387fb20f182c5824807f7bc66d2d2033810feb) (group__PPL__CXX__interface_gg616fcdc7600a3a11a8a9152e75730899c7753e1dd51e1b7b3fdfafa9f8332370)]
+>> endobj
+12540 0 obj <<
+/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) 1703 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a805e540f453fd070a4e4c0fdd887f4b7a) 1700 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80905d51325862cb4db00635875efcff8) 1711 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a80d808c2d0d6514c33e06445d7aa34270) 1696 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a820 [...]
+/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8057025d0ff550a2226a0a1273c84b4f6) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8261922c7bb53bf71459671df868e55da)]
+>> endobj
+12541 0 obj <<
+/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a85912e00d1de38a643d48af1f0e5dd35f) 1705 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a86c817c11198882f3864d8ace4ec326dd) 1695 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8930a62d56d7231cdb1ed57e1d3eff0f7) 1707 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89606fc251d767040929d3e2645dbb446) 1701 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a896 [...]
+/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a85912e00d1de38a643d48af1f0e5dd35f) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8979f37a289d4cb316643f1dcc07ec7cd)]
+>> endobj
+12542 0 obj <<
+/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) 1692 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a0f28596ac7d4a43766fab174c28ccab) 1709 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a1bf7bec2cb0d949e45c3cd0e25874a6) 1704 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8a7ce2ad16ee907ff9d31eeb1cda41834) 1698 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8b3 [...]
+/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd1bad185f4622d07b171767dafc78b6)]
+>> endobj
+12543 0 obj <<
+/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd640c30f757e4ecccd08ac527536ca6) 1697 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8c77955fc77a169347da8820b46c3247b) 1694 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8d5e386c6a05c9656eac42fe9e2cdd8b5) 1693 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e0c660bfcbcd3d10c3e764e22f41d0a1) 1702 0 R (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8e7 [...]
+/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8bd640c30f757e4ecccd08ac527536ca6) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fda2f32e2fc3f61357ce0d9d7813f5fc)]
+>> endobj
+12544 0 obj <<
+/Names [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fdd3365de1a07c7f7bdd1dc330bba8f4) 1713 0 R (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d6540e1a601a53491f60c89282fde55b5352) 1760 0 R (group__PPL__CXX__interface_ggac82e7e0179442ef589f2fc61302d654324bf568397fdfc332a4c06e7a4facf5) 1759 0 R (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a253f4353b82f1a10a08b1e756bb7c84ad) 1762 0 R (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a278 [...]
+/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8fdd3365de1a07c7f7bdd1dc330bba8f4) (group__PPL__CXX__interface_ggdf9d6f17d8974c81e3499f170e7762a2b2bc77b49f9450faf5b5f8ca5374421d)]
+>> endobj
+12545 0 obj <<
+/Names [(index) 467 0 R (main_A_Note_on_the_Implementation_of_the_Operators) 902 0 R (main_Adding_New_Dimensions_to_the_Vector_Space) 609 0 R (main_Adding_a_Disjunct) 859 0 R (main_Affine_Hyperplanes_and_Half_spaces) 543 0 R (main_Affine_Independence_and_Affine_Dimension) 593 0 R]
+/Limits [(index) (main_Affine_Independence_and_Affine_Dimension)]
+>> endobj
+12546 0 obj <<
+/Names [(main_Anc91) 930 0 R (main_BCCFMMMR02) 719 0 R (main_BDHetal05) 752 0 R (main_BDHetal06) 932 0 R (main_BDHetal07) 933 0 R (main_BGP99) 893 0 R]
+/Limits [(main_Anc91) (main_BGP99)]
+>> endobj
+12547 0 obj <<
+/Names [(main_BHMZ04) 934 0 R (main_BHMZ05_widening) 734 0 R (main_BHMZ05a) 738 0 R (main_BHMZ05b) 935 0 R (main_BHRZ03_widening) 682 0 R (main_BHRZ03a) 685 0 R]
+/Limits [(main_BHMZ04) (main_BHRZ03a)]
+>> endobj
+12548 0 obj <<
+/Names [(main_BHRZ03b) 936 0 R (main_BHRZ05) 937 0 R (main_BHZ02a) 952 0 R (main_BHZ02b) 953 0 R (main_BHZ03a) 954 0 R (main_BHZ03b) 894 0 R]
+/Limits [(main_BHRZ03b) (main_BHZ03b)]
+>> endobj
+12549 0 obj <<
+/Names [(main_BHZ04) 843 0 R (main_BHZ05) 955 0 R (main_BHZ06a) 956 0 R (main_BHZ06b) 957 0 R (main_BHZ07a) 958 0 R (main_BHZ07b) 959 0 R]
+/Limits [(main_BHZ04) (main_BHZ07b)]
+>> endobj
+12550 0 obj <<
+/Names [(main_BHZ07c) 960 0 R (main_BHZ08a) 961 0 R (main_BHZ08b) 971 0 R (main_BJT99) 972 0 R (main_BK89) 973 0 R (main_BRZH02a) 974 0 R]
+/Limits [(main_BHZ07c) (main_BRZH02a)]
+>> endobj
+12551 0 obj <<
+/Names [(main_BRZH02b) 545 0 R (main_BRZH02c) 975 0 R (main_Bag97) 931 0 R (main_Bag98) 842 0 R (main_Basic_Geometric_Descriptors) 491 0 R (main_Bounded_Difference_Shapes) 715 0 R]
+/Limits [(main_BRZH02b) (main_Bounded_Difference_Shapes)]
+>> endobj
+12552 0 obj <<
+/Names [(main_Bounded_Polyhedra) 557 0 R (main_CC76) 718 0 R (main_CC76_extrapolation) 735 0 R (main_CC76_interval_widening) 703 0 R (main_CC79) 976 0 R (main_CC92) 977 0 R]
+/Limits [(main_Bounded_Polyhedra) (main_CC92)]
+>> endobj
+12553 0 obj <<
+/Names [(main_CH78) 737 0 R (main_Certificate_Based_Widenings) 891 0 R (main_Che64) 978 0 R (main_Che65) 979 0 R (main_Che68) 987 0 R (main_Collapsing_a_Powerset_Element) 862 0 R]
+/Limits [(main_CH78) (main_Collapsing_a_Powerset_Element)]
+>> endobj
+12554 0 obj <<
+/Names [(main_Combinations_and_Hulls) 569 0 R (main_Concatenating_Polyhedra) 607 0 R (main_Congruence_Relations) 744 0 R (main_Constraint_Geometric_Descriptors) 493 0 R (main_Constraints_Representation) 560 0 R (main_Convex_Polyhedra) 555 0 R]
+/Limits [(main_Combinations_and_Hulls) (main_Convex_Polyhedra)]
+>> endobj
+12555 0 obj <<
+/Names [(main_Convex_Polyhedral_Difference) 605 0 R (main_Cylindrification) 657 0 R (main_Dan63) 988 0 R (main_Double_Description) 582 0 R (main_Expanding_One_Dimension_of_the_Vector_Space_to_Multiple_Dimensions) 624 0 R (main_Extrapolation_Operators) 698 0 R]
+/Limits [(main_Convex_Polyhedral_Difference) (main_Extrapolation_Operators)]
+>> endobj
+12556 0 obj <<
+/Names [(main_FP96) 989 0 R (main_Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension) 627 0 R (main_Fuk98) 546 0 R (main_GDDetal04) 628 0 R (main_GJ00) 990 0 R (main_GJ01) 991 0 R]
+/Limits [(main_FP96) (main_GJ01)]
+>> endobj
+12557 0 obj <<
+/Names [(main_GR77) 992 0 R (main_Generalized_Affine_Relations) 655 0 R (main_Generator_Geometric_Descriptors) 506 0 R (main_Generators_Representation) 573 0 R (main_Generic_Operations_on_Semantic_Geometric_Descriptors) 514 0 R (main_Geometric_Comparisons) 882 0 R]
+/Limits [(main_GR77) (main_Geometric_Comparisons)]
+>> endobj
+12558 0 obj <<
+/Names [(main_Gra91) 993 0 R (main_Gra97) 994 0 R (main_Grid_Add_Space_Dimensions) 786 0 R (main_Grid_Affine_Dimension) 769 0 R (main_Grid_Affine_Transformation) 808 0 R (main_Grid_Concatenate) 784 0 R]
+/Limits [(main_Gra91) (main_Grid_Concatenate)]
+>> endobj
+12559 0 obj <<
+/Names [(main_Grid_Difference) 782 0 R (main_Grid_Expand_Space_Dimension) 797 0 R (main_Grid_Extrapolation) 836 0 R (main_Grid_Fold_Space_Dimensions) 799 0 R (main_Grid_Generalized_Image) 810 0 R (main_Grid_Generator_Representation) 760 0 R]
+/Limits [(main_Grid_Difference) (main_Grid_Generator_Representation)]
+>> endobj
+12560 0 obj <<
+/Names [(main_Grid_Intersection_and_Join) 780 0 R (main_Grid_Map_Space_Dimensions) 795 0 R (main_Grid_Minimized_Representations) 763 0 R (main_Grid_Relation_With) 820 0 R (main_Grid_Remove_Space_Dimensions) 793 0 R (main_Grid_Space_Dimensions) 767 0 R]
+/Limits [(main_Grid_Intersection_and_Join) (main_Grid_Space_Dimensions)]
+>> endobj
+12561 0 obj <<
+/Names [(main_Grid_Time_Elapse) 812 0 R (main_Grid_Widening) 822 0 R (main_Grid_Widening_with_Tokens) 834 0 R (main_Grids_Double_Description_Grids) 765 0 R (main_H79_widening) 681 0 R (main_HH95) 996 0 R]
+/Limits [(main_Grid_Time_Elapse) (main_HH95)]
+>> endobj
+12562 0 obj <<
+/Names [(main_HHL90) 997 0 R (main_HKP95) 1006 0 R (main_HLW94) 1007 0 R (main_HMT71) 663 0 R (main_HPR94) 1008 0 R (main_HPR97) 664 0 R]
+/Limits [(main_HHL90) (main_HPR97)]
+>> endobj
+12563 0 obj <<
+/Names [(main_HPWT01) 1009 0 R (main_Hal79) 684 0 R (main_Hal93) 995 0 R (main_Images_and_Preimages_of_Affine_Transfer_Relations) 637 0 R (main_Integer_Combinations) 748 0 R (main_Intersection_and_Convex_Polyhedral_Hull) 603 0 R]
+/Limits [(main_HPWT01) (main_Intersection_and_Convex_Polyhedral_Hull)]
+>> endobj
+12564 0 obj <<
+/Names [(main_Intervals_and_Boxes) 702 0 R (main_JMSY94) 1011 0 R (main_Jea02) 1010 0 R (main_KBBetal06) 1012 0 R (main_Kuh56) 1013 0 R (main_LW97) 1016 0 R]
+/Limits [(main_Intervals_and_Boxes) (main_LW97)]
+>> endobj
+12565 0 obj <<
+/Names [(main_Le) 1014 0 R (main_Loe99) 1015 0 R (main_MRTT53) 1032 0 R (main_Mapping_the_Dimensions_of_the_Vector_Space) 619 0 R (main_Mas92) 1017 0 R (main_Mas93) 1018 0 R]
+/Limits [(main_Le) (main_Mas93)]
+>> endobj
+12566 0 obj <<
+/Names [(main_Meet_Preserving_Simplification) 661 0 R (main_Meet_and_Upper_Bound) 856 0 R (main_Min01a) 1019 0 R (main_Min01b) 1028 0 R (main_Min02) 1029 0 R (main_Min04) 1030 0 R]
+/Limits [(main_Meet_Preserving_Simplification) (main_Min04)]
+>> endobj
+12567 0 obj <<
+/Names [(main_Min05) 1031 0 R (main_Minimized_Representations) 580 0 R (main_NF01) 1033 0 R (main_NJPF99) 1034 0 R (main_NO77) 1035 0 R (main_NO80) 1036 0 R]
+/Limits [(main_Min05) (main_NO80)]
+>> endobj
+12568 0 obj <<
+/Names [(main_NR00) 1037 0 R (main_NW88) 547 0 R (main_Octagonal_Shapes) 717 0 R (main_On_Const_Correctness_A_Warning_about_the_Use_of_References_and_Iterators) 915 0 R (main_On_Object_Orientation_and_Polymorphism_A_Disclaimer) 913 0 R (main_On_Pointset_Powerset_and_Partially_Reduced_Product_Domains_A_Warning) 904 0 R]
+/Limits [(main_NR00) (main_On_Pointset_Powerset_and_Partially_Reduced_Product_Domains_A_Warning)]
+>> endobj
+12569 0 obj <<
+/Names [(main_Operations_on_Convex_Polyhedra) 602 0 R (main_PS98) 1039 0 R (main_Pairwise_Merge) 885 0 R (main_Points_Closure_Points_Rays_and_Lines) 571 0 R (main_Points_Parameters_Lines) 750 0 R (main_Powerset_Extrapolation_Operators) 888 0 R]
+/Limits [(main_Operations_on_Convex_Polyhedra) (main_Powerset_Extrapolation_Operators)]
+>> endobj
+12570 0 obj <<
+/Names [(main_Powerset_Meet_Preserving_Simplification) 683 0 R (main_Pra77) 1038 0 R (main_QRR96) 1040 0 R (main_QRR97) 1041 0 R (main_RBL06) 1042 0 R (main_Rational_Grids) 746 0 R]
+/Limits [(main_Powerset_Meet_Preserving_Simplification) (main_Rational_Grids)]
+>> endobj
+12571 0 obj <<
+/Names [(main_Rational_Polyhedra) 595 0 R (main_Relation_With_Operators) 677 0 R (main_Removing_Dimensions_from_the_Vector_Space) 617 0 R (main_Ric02) 1051 0 R (main_SK07) 1053 0 R (main_SS07) 1055 0 R]
+/Limits [(main_Rational_Polyhedra) (main_SS07)]
+>> endobj
+12572 0 obj <<
+/Names [(main_SW70) 1056 0 R (main_Sch99) 771 0 R (main_Semantic_Geometric_Descriptors) 469 0 R (main_Sho81) 1052 0 R (main_Single_Update_Affine_Functions) 644 0 R (main_Single_Update_Bounded_Affine_Relations) 653 0 R]
+/Limits [(main_SW70) (main_Single_Update_Bounded_Affine_Relations)]
+>> endobj
+12573 0 obj <<
+/Names [(main_Space_Dimensions_and_Dimension_Compatibility) 591 0 R (main_Sri93) 1054 0 R (main_Syntactic_Geometric_Descriptors) 489 0 R (main_The_Powerset_Domain) 840 0 R (main_Time_Elapse_Operator) 659 0 R (main_Topologies_and_Topological_compatibility) 562 0 R]
+/Limits [(main_Space_Dimensions_and_Dimension_Compatibility) (main_Topologies_and_Topological_compatibility)]
+>> endobj
+12574 0 obj <<
+/Names [(main_Upward_Approximation) 535 0 R (main_Vectors_Matrices_and_Scalar_Products) 536 0 R (main_War03) 1057 0 R (main_Weakly_Relational_Shape_Interface) 730 0 R (main_Weakly_Relational_Shapes) 714 0 R (main_Wey35) 1058 0 R]
+/Limits [(main_Upward_Approximation) (main_Wey35)]
+>> endobj
+12575 0 obj <<
+/Names [(main_Wey50) 1059 0 R (main_Widening_Operators) 679 0 R (main_Widening_and_Extrapolation_Operators_on_Boxes) 712 0 R (main_Widening_and_Extrapolation_Operators_on_WR_Shapes) 732 0 R (main_Widening_with_Tokens) 696 0 R (main_Wil93) 548 0 R]
+/Limits [(main_Wey50) (main_Wil93)]
+>> endobj
+12576 0 obj <<
+/Names [(main_affine_relation) 636 0 R (main_bibliography) 929 0 R (main_bounded_extrapolation) 701 0 R (main_convex_polys) 474 0 R (main_expand_space_dimension) 623 0 R (main_fold_space_dimensions) 626 0 R]
+/Limits [(main_affine_relation) (main_fold_space_dimensions)]
+>> endobj
+12577 0 obj <<
+/Names [(main_intervals) 711 0 R (main_limited_extrapolation) 700 0 R (main_pointset_powerset) 844 0 R (main_powerset) 838 0 R (main_powerset_domain) 839 0 R (main_pps_bgp99_extrapolation) 887 0 R]
+/Limits [(main_intervals) (main_pps_bgp99_extrapolation)]
+>> endobj
+12578 0 obj <<
+/Names [(main_pps_certificate_widening) 890 0 R (main_pps_geometric) 881 0 R (main_pps_pairwise_merge) 884 0 R (main_preamble) 468 0 R (main_ps_add_disjunct) 858 0 R (main_ps_collapse) 861 0 R]
+/Limits [(main_pps_certificate_widening) (main_ps_collapse)]
+>> endobj
+12579 0 obj <<
+/Names [(main_ps_meet_upper_bound) 855 0 R (main_ps_operations) 854 0 R (main_rational_grid_operations) 779 0 R (main_relation_with) 676 0 R (main_representation) 559 0 R (main_sect_rational_grids) 736 0 R]
+/Limits [(main_ps_meet_upper_bound) (main_sect_rational_grids)]
+>> endobj
+12580 0 obj <<
+/Names [(main_use_of_library) 475 0 R (namespaceParma__Polyhedra__Library) 1347 0 R (namespaceParma__Polyhedra__Library_03c487cbbb8731e1c7c9131a7a1faeae) 2006 0 R (namespaceParma__Polyhedra__Library_03ed91fbbeb6d32952c5d2a30bfd3830) 2004 0 R (namespaceParma__Polyhedra__Library_05dd6b345e96427a50b45f9756e302ab) 2005 0 R (namespaceParma__Polyhedra__Library_077909c2e2a30e356b03d74e287d2545) 2015 0 R]
+/Limits [(main_use_of_library) (namespaceParma__Polyhedra__Library_077909c2e2a30e356b03d74e287d2545)]
+>> endobj
+12581 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_0adf6106892886dc859985042b8a7433) 1930 0 R (namespaceParma__Polyhedra__Library_19b0ebdb3476fe1feb0f51d9328fd384) 1974 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators) 1348 0 R (namespaceParma__Polyhedra__Library_1_1IO__Operators_9ccf426c9d89537e0351aac50a333e95) 2064 0 R (namespaceParma__Polyhedra__Library_20874a85120477d5cf11da451870d497) 2007 0 R (namespaceParma__Polyhedra__Library_215d809846aabbfafa5754ce051d1603) 1969 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_0adf6106892886dc859985042b8a7433) (namespaceParma__Polyhedra__Library_215d809846aabbfafa5754ce051d1603)]
+>> endobj
+12582 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_31f5a518ab35f859aafd220bc3e38dfd) 2010 0 R (namespaceParma__Polyhedra__Library_3504c6384a7e40501e2cfc49ba870ad5) 2038 0 R (namespaceParma__Polyhedra__Library_3aa0f8a865cbe18e6202b99d388af956) 2017 0 R (namespaceParma__Polyhedra__Library_3e6dcd6f5d8e3ea263c9205b21a83e48) 1965 0 R (namespaceParma__Polyhedra__Library_4bef34d0d723e765fc4ae7dbd2d195b5) 1968 0 R (namespaceParma__Polyhedra__Library_5604f97d216583cdf012a50d2f8cdbde) 1932 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_31f5a518ab35f859aafd220bc3e38dfd) (namespaceParma__Polyhedra__Library_5604f97d216583cdf012a50d2f8cdbde)]
+>> endobj
+12583 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_563b92eac806093d3e743ea4dfcc0594) 2041 0 R (namespaceParma__Polyhedra__Library_56eb4e32ec57658bc9e7823cd42ecbae) 1970 0 R (namespaceParma__Polyhedra__Library_5e801a56c2c3dcec13d2d87adf07ac47) 1967 0 R (namespaceParma__Polyhedra__Library_63bd7c7767faf3c219f9c2762095e2dd) 1972 0 R (namespaceParma__Polyhedra__Library_66438955854cf73ddaf27a40a69fec7b) 2009 0 R (namespaceParma__Polyhedra__Library_6a54c55d8b52ef353df7cefdfa632d8d) 1966 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_563b92eac806093d3e743ea4dfcc0594) (namespaceParma__Polyhedra__Library_6a54c55d8b52ef353df7cefdfa632d8d)]
+>> endobj
+12584 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) 1973 0 R (namespaceParma__Polyhedra__Library_729bdafa0ec2ae7a6664cbdf38c09755) 2040 0 R (namespaceParma__Polyhedra__Library_74074a5ed3718745a4d82bacd5b381ed) 1964 0 R (namespaceParma__Polyhedra__Library_75dfd397f7fab1fe9da3eb150911853c) 2042 0 R (namespaceParma__Polyhedra__Library_93c37cc32a1f50c36ec15d67fdbec3aa) 2008 0 R (namespaceParma__Polyhedra__Library_99e9dc5df3cf7c0ab581e602d1176e41) 1960 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) (namespaceParma__Polyhedra__Library_99e9dc5df3cf7c0ab581e602d1176e41)]
+>> endobj
+12585 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_9bfba21dd2d808e2eabd2348e92cb96a) 2037 0 R (namespaceParma__Polyhedra__Library_9c118832fed4c0b9b40547578459dad4) 1962 0 R (namespaceParma__Polyhedra__Library_ca6003248d614d68c07f5330b468a242) 2011 0 R (namespaceParma__Polyhedra__Library_ce0cdceaa0c7eea84cc1c38cf5bea680) 1961 0 R (namespaceParma__Polyhedra__Library_d0719a31106af8ca454d1d1d77dbde4e) 2044 0 R (namespaceParma__Polyhedra__Library_d11992da5c89caef7922c215278d03a8) 2014 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_9bfba21dd2d808e2eabd2348e92cb96a) (namespaceParma__Polyhedra__Library_d11992da5c89caef7922c215278d03a8)]
+>> endobj
+12586 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_d31eeb0067d6cad2eb2ea5ab5bd0a2b2) 1963 0 R (namespaceParma__Polyhedra__Library_d4f28a7482372281b01b4221b8543bdc) 2039 0 R (namespaceParma__Polyhedra__Library_e2684e5d6c84a8e156f58121be0dbd03) 2018 0 R (namespaceParma__Polyhedra__Library_e6a8e238a8400e68173c88d38dd8a8da) 2043 0 R (namespaceParma__Polyhedra__Library_ec4c213c066101e1cd926125ccc4c81c) 2016 0 R (namespaceParma__Polyhedra__Library_ee4e9b54e65780ac3010fda40ea235a6) 1971 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_d31eeb0067d6cad2eb2ea5ab5bd0a2b2) (namespaceParma__Polyhedra__Library_ee4e9b54e65780ac3010fda40ea235a6)]
+>> endobj
+12587 0 obj <<
+/Names [(namespaceParma__Polyhedra__Library_f127b16b1a8e300aa97caca515284b6f) 1959 0 R (namespaceParma__Polyhedra__Library_f9dd9190c5f29dbbfa3d6e442dea7e7d) 1931 0 R (namespaceParma__Polyhedra__Library_fb314bce856c60de821bc388a02571f5) 2012 0 R (namespaceParma__Polyhedra__Library_fbd401e5de5c3b3b7bcef22ffbfd6fb3) 2019 0 R (namespacestd) 1349 0 R (page.1) 337 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_f127b16b1a8e300aa97caca515284b6f) (page.1)]
+>> endobj
+12588 0 obj <<
+/Names [(page.10) 579 0 R (page.100) 2690 0 R (page.101) 2700 0 R (page.102) 2712 0 R (page.103) 2726 0 R (page.104) 2738 0 R]
+/Limits [(page.10) (page.104)]
+>> endobj
+12589 0 obj <<
+/Names [(page.105) 2751 0 R (page.106) 2764 0 R (page.107) 2779 0 R (page.108) 2788 0 R (page.109) 2799 0 R (page.11) 590 0 R]
+/Limits [(page.105) (page.11)]
+>> endobj
+12590 0 obj <<
+/Names [(page.110) 2809 0 R (page.111) 2828 0 R (page.112) 2861 0 R (page.113) 2910 0 R (page.114) 2967 0 R (page.115) 3030 0 R]
+/Limits [(page.110) (page.115)]
+>> endobj
+12591 0 obj <<
+/Names [(page.116) 3087 0 R (page.117) 3157 0 R (page.118) 3212 0 R (page.119) 3272 0 R (page.12) 600 0 R (page.120) 3293 0 R]
+/Limits [(page.116) (page.120)]
+>> endobj
+12592 0 obj <<
+/Names [(page.121) 3306 0 R (page.122) 3316 0 R (page.123) 3326 0 R (page.124) 3338 0 R (page.125) 3348 0 R (page.126) 3356 0 R]
+/Limits [(page.121) (page.126)]
+>> endobj
+12593 0 obj <<
+/Names [(page.127) 3366 0 R (page.128) 3375 0 R (page.129) 3385 0 R (page.13) 616 0 R (page.130) 3396 0 R (page.131) 3410 0 R]
+/Limits [(page.127) (page.131)]
+>> endobj
+12594 0 obj <<
+/Names [(page.132) 3422 0 R (page.133) 3431 0 R (page.134) 3444 0 R (page.135) 3456 0 R (page.136) 3465 0 R (page.137) 3481 0 R]
+/Limits [(page.132) (page.137)]
+>> endobj
+12595 0 obj <<
+/Names [(page.138) 3490 0 R (page.139) 3499 0 R (page.14) 634 0 R (page.140) 3510 0 R (page.141) 3540 0 R (page.142) 3584 0 R]
+/Limits [(page.138) (page.142)]
+>> endobj
+12596 0 obj <<
+/Names [(page.143) 3601 0 R (page.144) 3610 0 R (page.145) 3619 0 R (page.146) 3634 0 R (page.147) 3684 0 R (page.148) 3725 0 R]
+/Limits [(page.143) (page.148)]
+>> endobj
+12597 0 obj <<
+/Names [(page.149) 3773 0 R (page.15) 643 0 R (page.150) 3824 0 R (page.151) 3887 0 R (page.152) 3940 0 R (page.153) 3998 0 R]
+/Limits [(page.149) (page.153)]
+>> endobj
+12598 0 obj <<
+/Names [(page.154) 4041 0 R (page.155) 4057 0 R (page.156) 4074 0 R (page.157) 4089 0 R (page.158) 4103 0 R (page.159) 4117 0 R]
+/Limits [(page.154) (page.159)]
+>> endobj
+12599 0 obj <<
+/Names [(page.16) 652 0 R (page.160) 4126 0 R (page.161) 4146 0 R (page.162) 4186 0 R (page.163) 4237 0 R (page.164) 4270 0 R]
+/Limits [(page.16) (page.164)]
+>> endobj
+12600 0 obj <<
+/Names [(page.165) 4281 0 R (page.166) 4288 0 R (page.167) 4301 0 R (page.168) 4332 0 R (page.169) 4374 0 R (page.17) 673 0 R]
+/Limits [(page.165) (page.17)]
+>> endobj
+12601 0 obj <<
+/Names [(page.170) 4420 0 R (page.171) 4442 0 R (page.172) 4450 0 R (page.173) 4474 0 R (page.174) 4506 0 R (page.175) 4547 0 R]
+/Limits [(page.170) (page.175)]
+>> endobj
+12602 0 obj <<
+/Names [(page.176) 4606 0 R (page.177) 4678 0 R (page.178) 4707 0 R (page.179) 4718 0 R (page.18) 695 0 R (page.180) 4725 0 R]
+/Limits [(page.176) (page.180)]
+>> endobj
+12603 0 obj <<
+/Names [(page.181) 4737 0 R (page.182) 4753 0 R (page.183) 4781 0 R (page.184) 4823 0 R (page.185) 4861 0 R (page.186) 4878 0 R]
+/Limits [(page.181) (page.186)]
+>> endobj
+12604 0 obj <<
+/Names [(page.187) 4901 0 R (page.188) 4924 0 R (page.189) 4953 0 R (page.19) 710 0 R (page.190) 4998 0 R (page.191) 5022 0 R]
+/Limits [(page.187) (page.191)]
+>> endobj
+12605 0 obj <<
+/Names [(page.192) 5049 0 R (page.193) 5087 0 R (page.194) 5137 0 R (page.195) 5198 0 R (page.196) 5217 0 R (page.197) 5224 0 R]
+/Limits [(page.192) (page.197)]
+>> endobj
+12606 0 obj <<
+/Names [(page.198) 5232 0 R (page.199) 5253 0 R (page.2) 466 0 R (page.20) 728 0 R (page.200) 5267 0 R (page.201) 5281 0 R]
+/Limits [(page.198) (page.201)]
+>> endobj
+12607 0 obj <<
+/Names [(page.202) 5288 0 R (page.203) 5304 0 R (page.204) 5344 0 R (page.205) 5378 0 R (page.206) 5393 0 R (page.207) 5405 0 R]
+/Limits [(page.202) (page.207)]
+>> endobj
+12608 0 obj <<
+/Names [(page.208) 5434 0 R (page.209) 5496 0 R (page.21) 743 0 R (page.210) 5526 0 R (page.211) 5544 0 R (page.212) 5595 0 R]
+/Limits [(page.208) (page.212)]
+>> endobj
+12609 0 obj <<
+/Names [(page.213) 5651 0 R (page.214) 5709 0 R (page.215) 5765 0 R (page.216) 5819 0 R (page.217) 5884 0 R (page.218) 5937 0 R]
+/Limits [(page.213) (page.218)]
+>> endobj
+12610 0 obj <<
+/Names [(page.219) 5980 0 R (page.22) 759 0 R (page.220) 6004 0 R (page.221) 6011 0 R (page.222) 6016 0 R (page.223) 6021 0 R]
+/Limits [(page.219) (page.223)]
+>> endobj
+12611 0 obj <<
+/Names [(page.224) 6029 0 R (page.225) 6037 0 R (page.226) 6045 0 R (page.227) 6055 0 R (page.228) 6061 0 R (page.229) 6076 0 R]
+/Limits [(page.224) (page.229)]
+>> endobj
+12612 0 obj <<
+/Names [(page.23) 777 0 R (page.230) 6085 0 R (page.231) 6094 0 R (page.232) 6106 0 R (page.233) 6118 0 R (page.234) 6130 0 R]
+/Limits [(page.23) (page.234)]
+>> endobj
+12613 0 obj <<
+/Names [(page.235) 6140 0 R (page.236) 6150 0 R (page.237) 6158 0 R (page.238) 6172 0 R (page.239) 6185 0 R (page.24) 792 0 R]
+/Limits [(page.235) (page.24)]
+>> endobj
+12614 0 obj <<
+/Names [(page.240) 6199 0 R (page.241) 6210 0 R (page.242) 6221 0 R (page.243) 6230 0 R (page.244) 6244 0 R (page.245) 6259 0 R]
+/Limits [(page.240) (page.245)]
+>> endobj
+12615 0 obj <<
+/Names [(page.246) 6270 0 R (page.247) 6283 0 R (page.248) 6298 0 R (page.249) 6309 0 R (page.25) 807 0 R (page.250) 6337 0 R]
+/Limits [(page.246) (page.250)]
+>> endobj
+12616 0 obj <<
+/Names [(page.251) 6374 0 R (page.252) 6418 0 R (page.253) 6466 0 R (page.254) 6492 0 R (page.255) 6501 0 R (page.256) 6509 0 R]
+/Limits [(page.251) (page.256)]
+>> endobj
+12617 0 obj <<
+/Names [(page.257) 6531 0 R (page.258) 6542 0 R (page.259) 6583 0 R (page.26) 818 0 R (page.260) 6628 0 R (page.261) 6660 0 R]
+/Limits [(page.257) (page.261)]
+>> endobj
+12618 0 obj <<
+/Names [(page.262) 6674 0 R (page.263) 6684 0 R (page.264) 6713 0 R (page.265) 6744 0 R (page.266) 6763 0 R (page.267) 6789 0 R]
+/Limits [(page.262) (page.267)]
+>> endobj
+12619 0 obj <<
+/Names [(page.268) 6814 0 R (page.269) 6830 0 R (page.27) 833 0 R (page.270) 6840 0 R (page.271) 6861 0 R (page.272) 6903 0 R]
+/Limits [(page.268) (page.272)]
+>> endobj
+12620 0 obj <<
+/Names [(page.273) 6969 0 R (page.274) 7033 0 R (page.275) 7059 0 R (page.276) 7068 0 R (page.277) 7081 0 R (page.278) 7099 0 R]
+/Limits [(page.273) (page.278)]
+>> endobj
+12621 0 obj <<
+/Names [(page.279) 7138 0 R (page.28) 853 0 R (page.280) 7190 0 R (page.281) 7243 0 R (page.282) 7277 0 R (page.283) 7292 0 R]
+/Limits [(page.279) (page.283)]
+>> endobj
+12622 0 obj <<
+/Names [(page.284) 7305 0 R (page.285) 7313 0 R (page.286) 7324 0 R (page.287) 7346 0 R (page.288) 7398 0 R (page.289) 7421 0 R]
+/Limits [(page.284) (page.289)]
+>> endobj
+12623 0 obj <<
+/Names [(page.29) 880 0 R (page.290) 7431 0 R (page.291) 7440 0 R (page.292) 7451 0 R (page.293) 7467 0 R (page.294) 7514 0 R]
+/Limits [(page.29) (page.294)]
+>> endobj
+12624 0 obj <<
+/Names [(page.295) 7571 0 R (page.296) 7626 0 R (page.297) 7683 0 R (page.298) 7752 0 R (page.299) 7811 0 R (page.3) 488 0 R]
+/Limits [(page.295) (page.3)]
+>> endobj
+12625 0 obj <<
+/Names [(page.30) 901 0 R (page.300) 7866 0 R (page.301) 7896 0 R (page.302) 7911 0 R (page.303) 7919 0 R (page.304) 7929 0 R]
+/Limits [(page.30) (page.304)]
+>> endobj
+12626 0 obj <<
+/Names [(page.305) 7938 0 R (page.306) 7949 0 R (page.307) 7960 0 R (page.308) 7967 0 R (page.309) 7975 0 R (page.31) 912 0 R]
+/Limits [(page.305) (page.31)]
+>> endobj
+12627 0 obj <<
+/Names [(page.310) 7984 0 R (page.311) 7996 0 R (page.312) 8007 0 R (page.313) 8020 0 R (page.314) 8031 0 R (page.315) 8041 0 R]
+/Limits [(page.310) (page.315)]
+>> endobj
+12628 0 obj <<
+/Names [(page.316) 8055 0 R (page.317) 8068 0 R (page.318) 8080 0 R (page.319) 8093 0 R (page.32) 928 0 R (page.320) 8104 0 R]
+/Limits [(page.316) (page.320)]
+>> endobj
+12629 0 obj <<
+/Names [(page.321) 8116 0 R (page.322) 8124 0 R (page.323) 8167 0 R (page.324) 8218 0 R (page.325) 8272 0 R (page.326) 8329 0 R]
+/Limits [(page.321) (page.326)]
+>> endobj
+12630 0 obj <<
+/Names [(page.327) 8398 0 R (page.328) 8450 0 R (page.329) 8486 0 R (page.33) 951 0 R (page.330) 8521 0 R (page.331) 8536 0 R]
+/Limits [(page.327) (page.331)]
+>> endobj
+12631 0 obj <<
+/Names [(page.332) 8543 0 R (page.333) 8551 0 R (page.334) 8558 0 R (page.335) 8567 0 R (page.336) 8575 0 R (page.337) 8585 0 R]
+/Limits [(page.332) (page.337)]
+>> endobj
+12632 0 obj <<
+/Names [(page.338) 8593 0 R (page.339) 8600 0 R (page.34) 970 0 R (page.340) 8610 0 R (page.341) 8620 0 R (page.342) 8631 0 R]
+/Limits [(page.338) (page.342)]
+>> endobj
+12633 0 obj <<
+/Names [(page.343) 8644 0 R (page.344) 8658 0 R (page.345) 8672 0 R (page.346) 8682 0 R (page.347) 8698 0 R (page.348) 8710 0 R]
+/Limits [(page.343) (page.348)]
+>> endobj
+12634 0 obj <<
+/Names [(page.349) 8724 0 R (page.35) 986 0 R (page.350) 8746 0 R (page.351) 8796 0 R (page.352) 8848 0 R (page.353) 8904 0 R]
+/Limits [(page.349) (page.353)]
+>> endobj
+12635 0 obj <<
+/Names [(page.354) 8964 0 R (page.355) 9022 0 R (page.356) 9071 0 R (page.357) 9117 0 R (page.358) 9135 0 R (page.359) 9145 0 R]
+/Limits [(page.354) (page.359)]
+>> endobj
+12636 0 obj <<
+/Names [(page.36) 1005 0 R (page.360) 9153 0 R (page.361) 9163 0 R (page.362) 9172 0 R (page.363) 9179 0 R (page.364) 9189 0 R]
+/Limits [(page.36) (page.364)]
+>> endobj
+12637 0 obj <<
+/Names [(page.365) 9203 0 R (page.366) 9216 0 R (page.367) 9227 0 R (page.368) 9240 0 R (page.369) 9253 0 R (page.37) 1027 0 R]
+/Limits [(page.365) (page.37)]
+>> endobj
+12638 0 obj <<
+/Names [(page.370) 9267 0 R (page.371) 9279 0 R (page.372) 9293 0 R (page.373) 9306 0 R (page.374) 9321 0 R (page.375) 9337 0 R]
+/Limits [(page.370) (page.375)]
+>> endobj
+12639 0 obj <<
+/Names [(page.376) 9365 0 R (page.377) 9400 0 R (page.378) 9434 0 R (page.379) 9460 0 R (page.38) 1050 0 R (page.380) 9503 0 R]
+/Limits [(page.376) (page.380)]
+>> endobj
+12640 0 obj <<
+/Names [(page.381) 9557 0 R (page.382) 9613 0 R (page.383) 9663 0 R (page.384) 9730 0 R (page.385) 9793 0 R (page.386) 9838 0 R]
+/Limits [(page.381) (page.386)]
+>> endobj
+12641 0 obj <<
+/Names [(page.387) 9889 0 R (page.388) 9914 0 R (page.389) 9922 0 R (page.39) 1066 0 R (page.390) 9927 0 R (page.391) 9932 0 R]
+/Limits [(page.387) (page.391)]
+>> endobj
+12642 0 obj <<
+/Names [(page.392) 9941 0 R (page.393) 9949 0 R (page.394) 9959 0 R (page.395) 9970 0 R (page.396) 9978 0 R (page.397) 9990 0 R]
+/Limits [(page.392) (page.397)]
+>> endobj
+12643 0 obj <<
+/Names [(page.398) 10001 0 R (page.399) 10011 0 R (page.4) 503 0 R (page.40) 1073 0 R (page.400) 10021 0 R (page.401) 10034 0 R]
+/Limits [(page.398) (page.401)]
+>> endobj
+12644 0 obj <<
+/Names [(page.402) 10043 0 R (page.403) 10053 0 R (page.404) 10064 0 R (page.405) 10078 0 R (page.406) 10091 0 R (page.407) 10107 0 R]
+/Limits [(page.402) (page.407)]
+>> endobj
+12645 0 obj <<
+/Names [(page.408) 10117 0 R (page.409) 10133 0 R (page.41) 1081 0 R (page.410) 10149 0 R (page.411) 10161 0 R (page.412) 10174 0 R]
+/Limits [(page.408) (page.412)]
+>> endobj
+12646 0 obj <<
+/Names [(page.413) 10190 0 R (page.414) 10200 0 R (page.415) 10235 0 R (page.416) 10286 0 R (page.417) 10329 0 R (page.418) 10364 0 R]
+/Limits [(page.413) (page.418)]
+>> endobj
+12647 0 obj <<
+/Names [(page.419) 10383 0 R (page.42) 1089 0 R (page.420) 10391 0 R (page.421) 10405 0 R (page.422) 10422 0 R (page.423) 10448 0 R]
+/Limits [(page.419) (page.423)]
+>> endobj
+12648 0 obj <<
+/Names [(page.424) 10479 0 R (page.425) 10501 0 R (page.426) 10537 0 R (page.427) 10559 0 R (page.428) 10632 0 R (page.429) 10700 0 R]
+/Limits [(page.424) (page.429)]
+>> endobj
+12649 0 obj <<
+/Names [(page.43) 1095 0 R (page.430) 10767 0 R (page.431) 10829 0 R (page.432) 10897 0 R (page.433) 10959 0 R (page.434) 11030 0 R]
+/Limits [(page.43) (page.434)]
+>> endobj
+12650 0 obj <<
+/Names [(page.435) 11096 0 R (page.436) 11192 0 R (page.437) 11309 0 R (page.438) 11421 0 R (page.439) 11532 0 R (page.44) 1101 0 R]
+/Limits [(page.435) (page.44)]
+>> endobj
+12651 0 obj <<
+/Names [(page.440) 11654 0 R (page.441) 11774 0 R (page.442) 11874 0 R (page.443) 11959 0 R (page.444) 12028 0 R (page.445) 12097 0 R]
+/Limits [(page.440) (page.445)]
+>> endobj
+12652 0 obj <<
+/Names [(page.446) 12149 0 R (page.45) 1109 0 R (page.46) 1116 0 R (page.47) 1129 0 R (page.48) 1137 0 R (page.49) 1143 0 R]
+/Limits [(page.446) (page.49)]
+>> endobj
+12653 0 obj <<
+/Names [(page.5) 512 0 R (page.50) 1148 0 R (page.51) 1153 0 R (page.52) 1159 0 R (page.53) 1190 0 R (page.54) 1243 0 R]
+/Limits [(page.5) (page.54)]
+>> endobj
+12654 0 obj <<
+/Names [(page.55) 1294 0 R (page.56) 1346 0 R (page.57) 1383 0 R (page.58) 1424 0 R (page.59) 1489 0 R (page.6) 522 0 R]
+/Limits [(page.55) (page.6)]
+>> endobj
+12655 0 obj <<
+/Names [(page.60) 1539 0 R (page.61) 1573 0 R (page.62) 1596 0 R (page.63) 1614 0 R (page.64) 1672 0 R (page.65) 1741 0 R]
+/Limits [(page.60) (page.65)]
+>> endobj
+12656 0 obj <<
+/Names [(page.66) 1772 0 R (page.67) 1784 0 R (page.68) 1793 0 R (page.69) 1819 0 R (page.7) 534 0 R (page.70) 1844 0 R]
+/Limits [(page.66) (page.70)]
+>> endobj
+12657 0 obj <<
+/Names [(page.71) 1879 0 R (page.72) 1924 0 R (page.73) 1958 0 R (page.74) 2003 0 R (page.75) 2036 0 R (page.76) 2057 0 R]
+/Limits [(page.71) (page.76)]
+>> endobj
+12658 0 obj <<
+/Names [(page.77) 2071 0 R (page.78) 2108 0 R (page.79) 2171 0 R (page.8) 554 0 R (page.80) 2230 0 R (page.81) 2284 0 R]
+/Limits [(page.77) (page.81)]
+>> endobj
+12659 0 obj <<
+/Names [(page.82) 2343 0 R (page.83) 2408 0 R (page.84) 2460 0 R (page.85) 2517 0 R (page.86) 2537 0 R (page.87) 2546 0 R]
+/Limits [(page.82) (page.87)]
+>> endobj
+12660 0 obj <<
+/Names [(page.88) 2555 0 R (page.89) 2566 0 R (page.9) 567 0 R (page.90) 2574 0 R (page.91) 2584 0 R (page.92) 2591 0 R]
+/Limits [(page.88) (page.92)]
+>> endobj
+12661 0 obj <<
+/Names [(page.93) 2604 0 R (page.94) 2615 0 R (page.95) 2628 0 R (page.96) 2641 0 R (page.97) 2651 0 R (page.98) 2664 0 R]
+/Limits [(page.93) (page.98)]
+>> endobj
+12662 0 obj <<
+/Names [(page.99) 2677 0 R (page.i) 373 0 R (page.ii) 417 0 R (paragraph.1.1.2.1) 492 0 R (paragraph.1.1.2.2) 494 0 R (paragraph.1.1.2.3) 513 0 R]
+/Limits [(page.99) (paragraph.1.1.2.3)]
+>> endobj
+12663 0 obj <<
+/Names [(paragraph.10.1.2.1) 2048 0 R (paragraph.10.1.2.2) 2049 0 R (paragraph.10.1.2.3) 2058 0 R (paragraph.10.1.2.4) 2059 0 R (paragraph.10.1.2.5) 2060 0 R (paragraph.10.2.2.1) 2073 0 R]
+/Limits [(paragraph.10.1.2.1) (paragraph.10.2.2.1)]
+>> endobj
+12664 0 obj <<
+/Names [(paragraph.11.1.2.1) 2548 0 R (paragraph.11.1.2.10) 2569 0 R (paragraph.11.1.2.2) 2549 0 R (paragraph.11.1.2.3) 2556 0 R (paragraph.11.1.2.4) 2557 0 R (paragraph.11.1.2.5) 2558 0 R]
+/Limits [(paragraph.11.1.2.1) (paragraph.11.1.2.5)]
+>> endobj
+12665 0 obj <<
+/Names [(paragraph.11.1.2.6) 2559 0 R (paragraph.11.1.2.7) 2560 0 R (paragraph.11.1.2.8) 2567 0 R (paragraph.11.1.2.9) 2568 0 R (paragraph.11.1.3.1) 2576 0 R (paragraph.11.1.3.10) 2595 0 R]
+/Limits [(paragraph.11.1.2.6) (paragraph.11.1.3.10)]
+>> endobj
+12666 0 obj <<
+/Names [(paragraph.11.1.3.11) 2596 0 R (paragraph.11.1.3.12) 2597 0 R (paragraph.11.1.3.13) 2605 0 R (paragraph.11.1.3.14) 2606 0 R (paragraph.11.1.3.15) 2607 0 R (paragraph.11.1.3.16) 2608 0 R]
+/Limits [(paragraph.11.1.3.11) (paragraph.11.1.3.16)]
+>> endobj
+12667 0 obj <<
+/Names [(paragraph.11.1.3.17) 2616 0 R (paragraph.11.1.3.18) 2617 0 R (paragraph.11.1.3.19) 2618 0 R (paragraph.11.1.3.2) 2577 0 R (paragraph.11.1.3.20) 2629 0 R (paragraph.11.1.3.21) 2630 0 R]
+/Limits [(paragraph.11.1.3.17) (paragraph.11.1.3.21)]
+>> endobj
+12668 0 obj <<
+/Names [(paragraph.11.1.3.22) 2631 0 R (paragraph.11.1.3.23) 2642 0 R (paragraph.11.1.3.24) 2643 0 R (paragraph.11.1.3.25) 2644 0 R (paragraph.11.1.3.26) 2645 0 R (paragraph.11.1.3.27) 2652 0 R]
+/Limits [(paragraph.11.1.3.22) (paragraph.11.1.3.27)]
+>> endobj
+12669 0 obj <<
+/Names [(paragraph.11.1.3.28) 2653 0 R (paragraph.11.1.3.29) 2654 0 R (paragraph.11.1.3.3) 2578 0 R (paragraph.11.1.3.30) 2655 0 R (paragraph.11.1.3.31) 2665 0 R (paragraph.11.1.3.32) 2666 0 R]
+/Limits [(paragraph.11.1.3.28) (paragraph.11.1.3.32)]
+>> endobj
+12670 0 obj <<
+/Names [(paragraph.11.1.3.33) 2667 0 R (paragraph.11.1.3.34) 2668 0 R (paragraph.11.1.3.35) 2678 0 R (paragraph.11.1.3.36) 2679 0 R (paragraph.11.1.3.37) 2680 0 R (paragraph.11.1.3.38) 2681 0 R]
+/Limits [(paragraph.11.1.3.33) (paragraph.11.1.3.38)]
+>> endobj
+12671 0 obj <<
+/Names [(paragraph.11.1.3.39) 2682 0 R (paragraph.11.1.3.4) 2579 0 R (paragraph.11.1.3.40) 2691 0 R (paragraph.11.1.3.41) 2692 0 R (paragraph.11.1.3.42) 2701 0 R (paragraph.11.1.3.43) 2702 0 R]
+/Limits [(paragraph.11.1.3.39) (paragraph.11.1.3.43)]
+>> endobj
+12672 0 obj <<
+/Names [(paragraph.11.1.3.44) 2703 0 R (paragraph.11.1.3.45) 2713 0 R (paragraph.11.1.3.46) 2714 0 R (paragraph.11.1.3.47) 2715 0 R (paragraph.11.1.3.48) 2727 0 R (paragraph.11.1.3.49) 2728 0 R]
+/Limits [(paragraph.11.1.3.44) (paragraph.11.1.3.49)]
+>> endobj
+12673 0 obj <<
+/Names [(paragraph.11.1.3.5) 2585 0 R (paragraph.11.1.3.50) 2729 0 R (paragraph.11.1.3.51) 2739 0 R (paragraph.11.1.3.52) 2740 0 R (paragraph.11.1.3.53) 2742 0 R (paragraph.11.1.3.54) 2752 0 R]
+/Limits [(paragraph.11.1.3.5) (paragraph.11.1.3.54)]
+>> endobj
+12674 0 obj <<
+/Names [(paragraph.11.1.3.55) 2753 0 R (paragraph.11.1.3.56) 2754 0 R (paragraph.11.1.3.57) 2765 0 R (paragraph.11.1.3.58) 2766 0 R (paragraph.11.1.3.59) 2767 0 R (paragraph.11.1.3.6) 2586 0 R]
+/Limits [(paragraph.11.1.3.55) (paragraph.11.1.3.6)]
+>> endobj
+12675 0 obj <<
+/Names [(paragraph.11.1.3.60) 2768 0 R (paragraph.11.1.3.61) 2780 0 R (paragraph.11.1.3.62) 2781 0 R (paragraph.11.1.3.63) 2782 0 R (paragraph.11.1.3.64) 2789 0 R (paragraph.11.1.3.7) 2592 0 R]
+/Limits [(paragraph.11.1.3.60) (paragraph.11.1.3.7)]
+>> endobj
+12676 0 obj <<
+/Names [(paragraph.11.1.3.8) 2593 0 R (paragraph.11.1.3.9) 2594 0 R (paragraph.11.1.4.1) 2791 0 R (paragraph.11.1.4.10) 2812 0 R (paragraph.11.1.4.2) 2792 0 R (paragraph.11.1.4.3) 2793 0 R]
+/Limits [(paragraph.11.1.3.8) (paragraph.11.1.4.3)]
+>> endobj
+12677 0 obj <<
+/Names [(paragraph.11.1.4.4) 2794 0 R (paragraph.11.1.4.5) 2800 0 R (paragraph.11.1.4.6) 2801 0 R (paragraph.11.1.4.7) 2802 0 R (paragraph.11.1.4.8) 2810 0 R (paragraph.11.1.4.9) 2811 0 R]
+/Limits [(paragraph.11.1.4.4) (paragraph.11.1.4.9)]
+>> endobj
+12678 0 obj <<
+/Names [(paragraph.11.10.2.1) 4720 0 R (paragraph.11.10.3.1) 4727 0 R (paragraph.11.10.4.1) 4729 0 R (paragraph.11.10.4.2) 4730 0 R (paragraph.11.10.4.3) 4731 0 R (paragraph.11.10.4.4) 4732 0 R]
+/Limits [(paragraph.11.10.2.1) (paragraph.11.10.4.4)]
+>> endobj
+12679 0 obj <<
+/Names [(paragraph.11.10.5.1) 4739 0 R (paragraph.11.10.5.10) 4748 0 R (paragraph.11.10.5.11) 4754 0 R (paragraph.11.10.5.12) 4755 0 R (paragraph.11.10.5.13) 4756 0 R (paragraph.11.10.5.14) 4757 0 R]
+/Limits [(paragraph.11.10.5.1) (paragraph.11.10.5.14)]
+>> endobj
+12680 0 obj <<
+/Names [(paragraph.11.10.5.15) 4758 0 R (paragraph.11.10.5.16) 4759 0 R (paragraph.11.10.5.17) 4760 0 R (paragraph.11.10.5.18) 4761 0 R (paragraph.11.10.5.19) 4762 0 R (paragraph.11.10.5.2) 4740 0 R]
+/Limits [(paragraph.11.10.5.15) (paragraph.11.10.5.2)]
+>> endobj
+12681 0 obj <<
+/Names [(paragraph.11.10.5.20) 4763 0 R (paragraph.11.10.5.21) 4764 0 R (paragraph.11.10.5.22) 4782 0 R (paragraph.11.10.5.23) 4783 0 R (paragraph.11.10.5.24) 4784 0 R (paragraph.11.10.5.25) 4785 0 R]
+/Limits [(paragraph.11.10.5.20) (paragraph.11.10.5.25)]
+>> endobj
+12682 0 obj <<
+/Names [(paragraph.11.10.5.3) 4741 0 R (paragraph.11.10.5.4) 4742 0 R (paragraph.11.10.5.5) 4743 0 R (paragraph.11.10.5.6) 4744 0 R (paragraph.11.10.5.7) 4745 0 R (paragraph.11.10.5.8) 4746 0 R]
+/Limits [(paragraph.11.10.5.3) (paragraph.11.10.5.8)]
+>> endobj
+12683 0 obj <<
+/Names [(paragraph.11.10.5.9) 4747 0 R (paragraph.11.11.2.1) 4880 0 R (paragraph.11.11.2.2) 4881 0 R (paragraph.11.11.2.3) 4882 0 R (paragraph.11.13.2.1) 4932 0 R (paragraph.11.14.2.1) 5028 0 R]
+/Limits [(paragraph.11.10.5.9) (paragraph.11.14.2.1)]
+>> endobj
+12684 0 obj <<
+/Names [(paragraph.11.14.3.1) 5030 0 R (paragraph.11.14.3.2) 5031 0 R (paragraph.11.14.3.3) 5033 0 R (paragraph.11.14.3.4) 5035 0 R (paragraph.11.17.2.1) 5234 0 R (paragraph.11.17.3.1) 5236 0 R]
+/Limits [(paragraph.11.14.3.1) (paragraph.11.17.3.1)]
+>> endobj
+12685 0 obj <<
+/Names [(paragraph.11.17.3.2) 5254 0 R (paragraph.11.17.3.3) 5255 0 R (paragraph.11.17.3.4) 5257 0 R (paragraph.11.17.3.5) 5259 0 R (paragraph.11.17.3.6) 5268 0 R (paragraph.11.17.3.7) 5269 0 R]
+/Limits [(paragraph.11.17.3.2) (paragraph.11.17.3.7)]
+>> endobj
+12686 0 obj <<
+/Names [(paragraph.11.17.4.1) 5271 0 R (paragraph.11.17.4.10) 5305 0 R (paragraph.11.17.4.11) 5306 0 R (paragraph.11.17.4.2) 5272 0 R (paragraph.11.17.4.3) 5273 0 R (paragraph.11.17.4.4) 5274 0 R]
+/Limits [(paragraph.11.17.4.1) (paragraph.11.17.4.4)]
+>> endobj
+12687 0 obj <<
+/Names [(paragraph.11.17.4.5) 5275 0 R (paragraph.11.17.4.6) 5282 0 R (paragraph.11.17.4.7) 5283 0 R (paragraph.11.17.4.8) 5289 0 R (paragraph.11.17.4.9) 5290 0 R (paragraph.11.18.2.1) 5407 0 R]
+/Limits [(paragraph.11.17.4.5) (paragraph.11.18.2.1)]
+>> endobj
+12688 0 obj <<
+/Names [(paragraph.11.18.2.2) 5409 0 R (paragraph.11.18.3.1) 5411 0 R (paragraph.11.18.3.2) 5412 0 R (paragraph.11.2.2.1) 2838 0 R (paragraph.11.20.2.1) 5530 0 R (paragraph.11.20.2.10) 5548 0 R]
+/Limits [(paragraph.11.18.2.2) (paragraph.11.20.2.10)]
+>> endobj
+12689 0 obj <<
+/Names [(paragraph.11.20.2.11) 5549 0 R (paragraph.11.20.2.12) 5550 0 R (paragraph.11.20.2.13) 5551 0 R (paragraph.11.20.2.14) 5552 0 R (paragraph.11.20.2.15) 5553 0 R (paragraph.11.20.2.16) 5554 0 R]
+/Limits [(paragraph.11.20.2.11) (paragraph.11.20.2.16)]
+>> endobj
+12690 0 obj <<
+/Names [(paragraph.11.20.2.2) 5531 0 R (paragraph.11.20.2.3) 5532 0 R (paragraph.11.20.2.4) 5533 0 R (paragraph.11.20.2.5) 5534 0 R (paragraph.11.20.2.6) 5535 0 R (paragraph.11.20.2.7) 5545 0 R]
+/Limits [(paragraph.11.20.2.2) (paragraph.11.20.2.7)]
+>> endobj
+12691 0 obj <<
+/Names [(paragraph.11.20.2.8) 5546 0 R (paragraph.11.20.2.9) 5547 0 R (paragraph.11.21.2.1) 6023 0 R (paragraph.11.21.2.10) 6047 0 R (paragraph.11.21.2.11) 6048 0 R (paragraph.11.21.2.12) 6056 0 R]
+/Limits [(paragraph.11.20.2.8) (paragraph.11.21.2.12)]
+>> endobj
+12692 0 obj <<
+/Names [(paragraph.11.21.2.13) 6062 0 R (paragraph.11.21.2.2) 6024 0 R (paragraph.11.21.2.3) 6030 0 R (paragraph.11.21.2.4) 6031 0 R (paragraph.11.21.2.5) 6032 0 R (paragraph.11.21.2.6) 6038 0 R]
+/Limits [(paragraph.11.21.2.13) (paragraph.11.21.2.6)]
+>> endobj
+12693 0 obj <<
+/Names [(paragraph.11.21.2.7) 6039 0 R (paragraph.11.21.2.8) 6040 0 R (paragraph.11.21.2.9) 6046 0 R (paragraph.11.21.3.1) 6064 0 R (paragraph.11.21.3.10) 6087 0 R (paragraph.11.21.3.11) 6088 0 R]
+/Limits [(paragraph.11.21.2.7) (paragraph.11.21.3.11)]
+>> endobj
+12694 0 obj <<
+/Names [(paragraph.11.21.3.12) 6095 0 R (paragraph.11.21.3.13) 6096 0 R (paragraph.11.21.3.14) 6097 0 R (paragraph.11.21.3.15) 6107 0 R (paragraph.11.21.3.16) 6108 0 R (paragraph.11.21.3.17) 6109 0 R]
+/Limits [(paragraph.11.21.3.12) (paragraph.11.21.3.17)]
+>> endobj
+12695 0 obj <<
+/Names [(paragraph.11.21.3.18) 6110 0 R (paragraph.11.21.3.19) 6119 0 R (paragraph.11.21.3.2) 6065 0 R (paragraph.11.21.3.20) 6120 0 R (paragraph.11.21.3.21) 6121 0 R (paragraph.11.21.3.22) 6131 0 R]
+/Limits [(paragraph.11.21.3.18) (paragraph.11.21.3.22)]
+>> endobj
+12696 0 obj <<
+/Names [(paragraph.11.21.3.23) 6132 0 R (paragraph.11.21.3.24) 6133 0 R (paragraph.11.21.3.25) 6141 0 R (paragraph.11.21.3.26) 6142 0 R (paragraph.11.21.3.27) 6143 0 R (paragraph.11.21.3.28) 6151 0 R]
+/Limits [(paragraph.11.21.3.23) (paragraph.11.21.3.28)]
+>> endobj
+12697 0 obj <<
+/Names [(paragraph.11.21.3.29) 6152 0 R (paragraph.11.21.3.3) 6066 0 R (paragraph.11.21.3.30) 6153 0 R (paragraph.11.21.3.31) 6159 0 R (paragraph.11.21.3.32) 6160 0 R (paragraph.11.21.3.33) 6161 0 R]
+/Limits [(paragraph.11.21.3.29) (paragraph.11.21.3.33)]
+>> endobj
+12698 0 obj <<
+/Names [(paragraph.11.21.3.34) 6162 0 R (paragraph.11.21.3.35) 6173 0 R (paragraph.11.21.3.36) 6174 0 R (paragraph.11.21.3.37) 6175 0 R (paragraph.11.21.3.38) 6186 0 R (paragraph.11.21.3.39) 6187 0 R]
+/Limits [(paragraph.11.21.3.34) (paragraph.11.21.3.39)]
+>> endobj
+12699 0 obj <<
+/Names [(paragraph.11.21.3.4) 6067 0 R (paragraph.11.21.3.40) 6188 0 R (paragraph.11.21.3.41) 6189 0 R (paragraph.11.21.3.42) 6200 0 R (paragraph.11.21.3.43) 6201 0 R (paragraph.11.21.3.44) 6202 0 R]
+/Limits [(paragraph.11.21.3.4) (paragraph.11.21.3.44)]
+>> endobj
+12700 0 obj <<
+/Names [(paragraph.11.21.3.45) 6203 0 R (paragraph.11.21.3.46) 6211 0 R (paragraph.11.21.3.47) 6212 0 R (paragraph.11.21.3.48) 6213 0 R (paragraph.11.21.3.49) 6222 0 R (paragraph.11.21.3.5) 6068 0 R]
+/Limits [(paragraph.11.21.3.45) (paragraph.11.21.3.5)]
+>> endobj
+12701 0 obj <<
+/Names [(paragraph.11.21.3.50) 6223 0 R (paragraph.11.21.3.51) 6231 0 R (paragraph.11.21.3.52) 6232 0 R (paragraph.11.21.3.53) 6233 0 R (paragraph.11.21.3.54) 6245 0 R (paragraph.11.21.3.55) 6246 0 R]
+/Limits [(paragraph.11.21.3.50) (paragraph.11.21.3.55)]
+>> endobj
+12702 0 obj <<
+/Names [(paragraph.11.21.3.56) 6247 0 R (paragraph.11.21.3.57) 6260 0 R (paragraph.11.21.3.58) 6261 0 R (paragraph.11.21.3.59) 6262 0 R (paragraph.11.21.3.6) 6069 0 R (paragraph.11.21.3.60) 6271 0 R]
+/Limits [(paragraph.11.21.3.56) (paragraph.11.21.3.60)]
+>> endobj
+12703 0 obj <<
+/Names [(paragraph.11.21.3.61) 6272 0 R (paragraph.11.21.3.62) 6273 0 R (paragraph.11.21.3.63) 6284 0 R (paragraph.11.21.3.64) 6285 0 R (paragraph.11.21.3.65) 6286 0 R (paragraph.11.21.3.66) 6287 0 R]
+/Limits [(paragraph.11.21.3.61) (paragraph.11.21.3.66)]
+>> endobj
+12704 0 obj <<
+/Names [(paragraph.11.21.3.67) 6299 0 R (paragraph.11.21.3.68) 6300 0 R (paragraph.11.21.3.69) 6310 0 R (paragraph.11.21.3.7) 6077 0 R (paragraph.11.21.3.8) 6078 0 R (paragraph.11.21.3.9) 6086 0 R]
+/Limits [(paragraph.11.21.3.67) (paragraph.11.21.3.9)]
+>> endobj
+12705 0 obj <<
+/Names [(paragraph.11.21.4.1) 6312 0 R (paragraph.11.21.4.2) 6313 0 R (paragraph.11.21.4.3) 6314 0 R (paragraph.11.21.4.4) 6315 0 R (paragraph.11.22.2.1) 6347 0 R (paragraph.11.24.2.1) 6511 0 R]
+/Limits [(paragraph.11.21.4.1) (paragraph.11.24.2.1)]
+>> endobj
+12706 0 obj <<
+/Names [(paragraph.11.24.3.1) 6513 0 R (paragraph.11.24.3.2) 6532 0 R (paragraph.11.24.3.3) 6533 0 R (paragraph.11.24.3.4) 6534 0 R (paragraph.11.24.3.5) 6535 0 R (paragraph.11.24.3.6) 6543 0 R]
+/Limits [(paragraph.11.24.3.1) (paragraph.11.24.3.6)]
+>> endobj
+12707 0 obj <<
+/Names [(paragraph.11.24.3.7) 6544 0 R (paragraph.11.24.4.1) 6546 0 R (paragraph.11.24.4.2) 6547 0 R (paragraph.11.24.4.3) 6548 0 R (paragraph.11.24.4.4) 6549 0 R (paragraph.11.24.4.5) 6550 0 R]
+/Limits [(paragraph.11.24.3.7) (paragraph.11.24.4.5)]
+>> endobj
+12708 0 obj <<
+/Names [(paragraph.11.25.2.1) 6686 0 R (paragraph.11.25.2.2) 6687 0 R (paragraph.11.25.2.3) 6689 0 R (paragraph.11.25.3.1) 6691 0 R (paragraph.11.25.3.2) 6692 0 R (paragraph.11.25.3.3) 6693 0 R]
+/Limits [(paragraph.11.25.2.1) (paragraph.11.25.3.3)]
+>> endobj
+12709 0 obj <<
+/Names [(paragraph.11.27.2.1) 6766 0 R (paragraph.11.29.2.1) 6832 0 R (paragraph.11.29.2.2) 6833 0 R (paragraph.11.29.2.3) 6834 0 R (paragraph.11.29.2.4) 6835 0 R (paragraph.11.29.2.5) 6841 0 R]
+/Limits [(paragraph.11.27.2.1) (paragraph.11.29.2.5)]
+>> endobj
+12710 0 obj <<
+/Names [(paragraph.11.29.2.6) 6842 0 R (paragraph.11.29.3.1) 6844 0 R (paragraph.11.33.2.1) 7062 0 R (paragraph.11.33.2.2) 7069 0 R (paragraph.11.33.2.3) 7070 0 R (paragraph.11.33.2.4) 7071 0 R]
+/Limits [(paragraph.11.29.2.6) (paragraph.11.33.2.4)]
+>> endobj
+12711 0 obj <<
+/Names [(paragraph.11.33.2.5) 7072 0 R (paragraph.11.33.3.1) 7074 0 R (paragraph.11.33.3.10) 7088 0 R (paragraph.11.33.3.11) 7089 0 R (paragraph.11.33.3.12) 7090 0 R (paragraph.11.33.3.13) 7091 0 R]
+/Limits [(paragraph.11.33.2.5) (paragraph.11.33.3.13)]
+>> endobj
+12712 0 obj <<
+/Names [(paragraph.11.33.3.14) 7092 0 R (paragraph.11.33.3.15) 7100 0 R (paragraph.11.33.3.16) 7101 0 R (paragraph.11.33.3.17) 7103 0 R (paragraph.11.33.3.18) 7104 0 R (paragraph.11.33.3.19) 7105 0 R]
+/Limits [(paragraph.11.33.3.14) (paragraph.11.33.3.19)]
+>> endobj
+12713 0 obj <<
+/Names [(paragraph.11.33.3.2) 7075 0 R (paragraph.11.33.3.20) 7107 0 R (paragraph.11.33.3.21) 7108 0 R (paragraph.11.33.3.22) 7109 0 R (paragraph.11.33.3.23) 7110 0 R (paragraph.11.33.3.24) 7139 0 R]
+/Limits [(paragraph.11.33.3.2) (paragraph.11.33.3.24)]
+>> endobj
+12714 0 obj <<
+/Names [(paragraph.11.33.3.25) 7140 0 R (paragraph.11.33.3.3) 7076 0 R (paragraph.11.33.3.4) 7082 0 R (paragraph.11.33.3.5) 7083 0 R (paragraph.11.33.3.6) 7084 0 R (paragraph.11.33.3.7) 7085 0 R]
+/Limits [(paragraph.11.33.3.25) (paragraph.11.33.3.7)]
+>> endobj
+12715 0 obj <<
+/Names [(paragraph.11.33.3.8) 7086 0 R (paragraph.11.33.3.9) 7087 0 R (paragraph.11.34.2.1) 7294 0 R (paragraph.11.34.2.2) 7295 0 R (paragraph.11.34.3.1) 7297 0 R (paragraph.11.34.3.2) 7298 0 R]
+/Limits [(paragraph.11.33.3.8) (paragraph.11.34.3.2)]
+>> endobj
+12716 0 obj <<
+/Names [(paragraph.11.34.3.3) 7306 0 R (paragraph.11.34.3.4) 7307 0 R (paragraph.11.34.4.1) 7315 0 R (paragraph.11.34.4.10) 7329 0 R (paragraph.11.34.4.11) 7347 0 R (paragraph.11.34.4.12) 7348 0 R]
+/Limits [(paragraph.11.34.3.3) (paragraph.11.34.4.12)]
+>> endobj
+12717 0 obj <<
+/Names [(paragraph.11.34.4.2) 7316 0 R (paragraph.11.34.4.3) 7317 0 R (paragraph.11.34.4.4) 7318 0 R (paragraph.11.34.4.5) 7319 0 R (paragraph.11.34.4.6) 7325 0 R (paragraph.11.34.4.7) 7326 0 R]
+/Limits [(paragraph.11.34.4.2) (paragraph.11.34.4.7)]
+>> endobj
+12718 0 obj <<
+/Names [(paragraph.11.34.4.8) 7327 0 R (paragraph.11.34.4.9) 7328 0 R (paragraph.11.34.5.1) 7350 0 R (paragraph.11.34.5.2) 7351 0 R (paragraph.11.35.2.1) 7425 0 R (paragraph.11.35.2.10) 7444 0 R]
+/Limits [(paragraph.11.34.4.8) (paragraph.11.35.2.10)]
+>> endobj
+12719 0 obj <<
+/Names [(paragraph.11.35.2.11) 7452 0 R (paragraph.11.35.2.12) 7453 0 R (paragraph.11.35.2.2) 7426 0 R (paragraph.11.35.2.3) 7432 0 R (paragraph.11.35.2.4) 7433 0 R (paragraph.11.35.2.5) 7434 0 R]
+/Limits [(paragraph.11.35.2.11) (paragraph.11.35.2.5)]
+>> endobj
+12720 0 obj <<
+/Names [(paragraph.11.35.2.6) 7435 0 R (paragraph.11.35.2.7) 7441 0 R (paragraph.11.35.2.8) 7442 0 R (paragraph.11.35.2.9) 7443 0 R (paragraph.11.35.3.1) 7455 0 R (paragraph.11.36.2.1) 7475 0 R]
+/Limits [(paragraph.11.35.2.6) (paragraph.11.36.2.1)]
+>> endobj
+12721 0 obj <<
+/Names [(paragraph.11.37.2.1) 7913 0 R (paragraph.11.37.2.10) 7939 0 R (paragraph.11.37.2.2) 7920 0 R (paragraph.11.37.2.3) 7921 0 R (paragraph.11.37.2.4) 7922 0 R (paragraph.11.37.2.5) 7923 0 R]
+/Limits [(paragraph.11.37.2.1) (paragraph.11.37.2.5)]
+>> endobj
+12722 0 obj <<
+/Names [(paragraph.11.37.2.6) 7924 0 R (paragraph.11.37.2.7) 7930 0 R (paragraph.11.37.2.8) 7931 0 R (paragraph.11.37.2.9) 7932 0 R (paragraph.11.37.3.1) 7941 0 R (paragraph.11.37.3.10) 7955 0 R]
+/Limits [(paragraph.11.37.2.6) (paragraph.11.37.3.10)]
+>> endobj
+12723 0 obj <<
+/Names [(paragraph.11.37.3.11) 7961 0 R (paragraph.11.37.3.12) 7962 0 R (paragraph.11.37.3.13) 7968 0 R (paragraph.11.37.3.14) 7969 0 R (paragraph.11.37.3.15) 7970 0 R (paragraph.11.37.3.16) 7976 0 R]
+/Limits [(paragraph.11.37.3.11) (paragraph.11.37.3.16)]
+>> endobj
+12724 0 obj <<
+/Names [(paragraph.11.37.3.17) 7977 0 R (paragraph.11.37.3.18) 7978 0 R (paragraph.11.37.3.19) 7979 0 R (paragraph.11.37.3.2) 7942 0 R (paragraph.11.37.3.20) 7985 0 R (paragraph.11.37.3.21) 7986 0 R]
+/Limits [(paragraph.11.37.3.17) (paragraph.11.37.3.21)]
+>> endobj
+12725 0 obj <<
+/Names [(paragraph.11.37.3.22) 7987 0 R (paragraph.11.37.3.23) 7997 0 R (paragraph.11.37.3.24) 7998 0 R (paragraph.11.37.3.25) 7999 0 R (paragraph.11.37.3.26) 8000 0 R (paragraph.11.37.3.27) 8008 0 R]
+/Limits [(paragraph.11.37.3.22) (paragraph.11.37.3.27)]
+>> endobj
+12726 0 obj <<
+/Names [(paragraph.11.37.3.28) 8009 0 R (paragraph.11.37.3.29) 8010 0 R (paragraph.11.37.3.3) 7943 0 R (paragraph.11.37.3.30) 8011 0 R (paragraph.11.37.3.31) 8012 0 R (paragraph.11.37.3.32) 8021 0 R]
+/Limits [(paragraph.11.37.3.28) (paragraph.11.37.3.32)]
+>> endobj
+12727 0 obj <<
+/Names [(paragraph.11.37.3.33) 8022 0 R (paragraph.11.37.3.34) 8023 0 R (paragraph.11.37.3.35) 8032 0 R (paragraph.11.37.3.36) 8033 0 R (paragraph.11.37.3.37) 8042 0 R (paragraph.11.37.3.38) 8043 0 R]
+/Limits [(paragraph.11.37.3.33) (paragraph.11.37.3.38)]
+>> endobj
+12728 0 obj <<
+/Names [(paragraph.11.37.3.39) 8044 0 R (paragraph.11.37.3.4) 7944 0 R (paragraph.11.37.3.40) 8056 0 R (paragraph.11.37.3.41) 8057 0 R (paragraph.11.37.3.42) 8058 0 R (paragraph.11.37.3.43) 8069 0 R]
+/Limits [(paragraph.11.37.3.39) (paragraph.11.37.3.43)]
+>> endobj
+12729 0 obj <<
+/Names [(paragraph.11.37.3.44) 8070 0 R (paragraph.11.37.3.45) 8071 0 R (paragraph.11.37.3.46) 8081 0 R (paragraph.11.37.3.47) 8082 0 R (paragraph.11.37.3.48) 8083 0 R (paragraph.11.37.3.49) 8084 0 R]
+/Limits [(paragraph.11.37.3.44) (paragraph.11.37.3.49)]
+>> endobj
+12730 0 obj <<
+/Names [(paragraph.11.37.3.5) 7950 0 R (paragraph.11.37.3.50) 8094 0 R (paragraph.11.37.3.51) 8095 0 R (paragraph.11.37.3.52) 8096 0 R (paragraph.11.37.3.53) 8105 0 R (paragraph.11.37.3.54) 8106 0 R]
+/Limits [(paragraph.11.37.3.5) (paragraph.11.37.3.54)]
+>> endobj
+12731 0 obj <<
+/Names [(paragraph.11.37.3.6) 7951 0 R (paragraph.11.37.3.7) 7952 0 R (paragraph.11.37.3.8) 7953 0 R (paragraph.11.37.3.9) 7954 0 R (paragraph.11.37.4.1) 8108 0 R (paragraph.11.37.4.10) 8127 0 R]
+/Limits [(paragraph.11.37.3.6) (paragraph.11.37.4.10)]
+>> endobj
+12732 0 obj <<
+/Names [(paragraph.11.37.4.11) 8128 0 R (paragraph.11.37.4.2) 8109 0 R (paragraph.11.37.4.3) 8110 0 R (paragraph.11.37.4.4) 8111 0 R (paragraph.11.37.4.5) 8117 0 R (paragraph.11.37.4.6) 8118 0 R]
+/Limits [(paragraph.11.37.4.11) (paragraph.11.37.4.6)]
+>> endobj
+12733 0 obj <<
+/Names [(paragraph.11.37.4.7) 8119 0 R (paragraph.11.37.4.8) 8125 0 R (paragraph.11.37.4.9) 8126 0 R (paragraph.11.38.2.1) 8538 0 R (paragraph.11.38.2.10) 8568 0 R (paragraph.11.38.2.11) 8569 0 R]
+/Limits [(paragraph.11.37.4.7) (paragraph.11.38.2.11)]
+>> endobj
+12734 0 obj <<
+/Names [(paragraph.11.38.2.12) 8570 0 R (paragraph.11.38.2.2) 8544 0 R (paragraph.11.38.2.3) 8545 0 R (paragraph.11.38.2.4) 8546 0 R (paragraph.11.38.2.5) 8552 0 R (paragraph.11.38.2.6) 8553 0 R]
+/Limits [(paragraph.11.38.2.12) (paragraph.11.38.2.6)]
+>> endobj
+12735 0 obj <<
+/Names [(paragraph.11.38.2.7) 8559 0 R (paragraph.11.38.2.8) 8560 0 R (paragraph.11.38.2.9) 8561 0 R (paragraph.11.38.3.1) 8577 0 R (paragraph.11.38.3.10) 8601 0 R (paragraph.11.38.3.11) 8602 0 R]
+/Limits [(paragraph.11.38.2.7) (paragraph.11.38.3.11)]
+>> endobj
+12736 0 obj <<
+/Names [(paragraph.11.38.3.12) 8603 0 R (paragraph.11.38.3.13) 8604 0 R (paragraph.11.38.3.14) 8605 0 R (paragraph.11.38.3.15) 8611 0 R (paragraph.11.38.3.16) 8612 0 R (paragraph.11.38.3.17) 8613 0 R]
+/Limits [(paragraph.11.38.3.12) (paragraph.11.38.3.17)]
+>> endobj
+12737 0 obj <<
+/Names [(paragraph.11.38.3.18) 8621 0 R (paragraph.11.38.3.19) 8622 0 R (paragraph.11.38.3.2) 8578 0 R (paragraph.11.38.3.20) 8623 0 R (paragraph.11.38.3.21) 8624 0 R (paragraph.11.38.3.22) 8632 0 R]
+/Limits [(paragraph.11.38.3.18) (paragraph.11.38.3.22)]
+>> endobj
+12738 0 obj <<
+/Names [(paragraph.11.38.3.23) 8633 0 R (paragraph.11.38.3.24) 8634 0 R (paragraph.11.38.3.25) 8635 0 R (paragraph.11.38.3.26) 8645 0 R (paragraph.11.38.3.27) 8646 0 R (paragraph.11.38.3.28) 8647 0 R]
+/Limits [(paragraph.11.38.3.23) (paragraph.11.38.3.28)]
+>> endobj
+12739 0 obj <<
+/Names [(paragraph.11.38.3.29) 8659 0 R (paragraph.11.38.3.3) 8579 0 R (paragraph.11.38.3.30) 8660 0 R (paragraph.11.38.3.31) 8661 0 R (paragraph.11.38.3.32) 8673 0 R (paragraph.11.38.3.33) 8674 0 R]
+/Limits [(paragraph.11.38.3.29) (paragraph.11.38.3.33)]
+>> endobj
+12740 0 obj <<
+/Names [(paragraph.11.38.3.34) 8683 0 R (paragraph.11.38.3.35) 8684 0 R (paragraph.11.38.3.36) 8685 0 R (paragraph.11.38.3.37) 8699 0 R (paragraph.11.38.3.38) 8700 0 R (paragraph.11.38.3.39) 8701 0 R]
+/Limits [(paragraph.11.38.3.34) (paragraph.11.38.3.39)]
+>> endobj
+12741 0 obj <<
+/Names [(paragraph.11.38.3.4) 8580 0 R (paragraph.11.38.3.40) 8703 0 R (paragraph.11.38.3.41) 8711 0 R (paragraph.11.38.3.42) 8712 0 R (paragraph.11.38.3.43) 8714 0 R (paragraph.11.38.3.44) 8725 0 R]
+/Limits [(paragraph.11.38.3.4) (paragraph.11.38.3.44)]
+>> endobj
+12742 0 obj <<
+/Names [(paragraph.11.38.3.45) 8726 0 R (paragraph.11.38.3.5) 8586 0 R (paragraph.11.38.3.6) 8587 0 R (paragraph.11.38.3.7) 8588 0 R (paragraph.11.38.3.8) 8594 0 R (paragraph.11.38.3.9) 8595 0 R]
+/Limits [(paragraph.11.38.3.45) (paragraph.11.38.3.9)]
+>> endobj
+12743 0 obj <<
+/Names [(paragraph.11.38.4.1) 8728 0 R (paragraph.11.38.4.2) 8747 0 R (paragraph.11.38.4.3) 8748 0 R (paragraph.11.38.4.4) 8749 0 R (paragraph.11.39.2.1) 9125 0 R (paragraph.11.39.2.2) 9136 0 R]
+/Limits [(paragraph.11.38.4.1) (paragraph.11.39.2.2)]
+>> endobj
+12744 0 obj <<
+/Names [(paragraph.11.39.2.3) 9137 0 R (paragraph.11.39.2.4) 9138 0 R (paragraph.11.39.2.5) 9139 0 R (paragraph.11.39.2.6) 9146 0 R (paragraph.11.39.2.7) 9147 0 R (paragraph.11.39.2.8) 9148 0 R]
+/Limits [(paragraph.11.39.2.3) (paragraph.11.39.2.8)]
+>> endobj
+12745 0 obj <<
+/Names [(paragraph.11.39.2.9) 9154 0 R (paragraph.11.39.3.1) 9156 0 R (paragraph.11.39.3.10) 9181 0 R (paragraph.11.39.3.11) 9182 0 R (paragraph.11.39.3.12) 9183 0 R (paragraph.11.39.3.13) 9184 0 R]
+/Limits [(paragraph.11.39.2.9) (paragraph.11.39.3.13)]
+>> endobj
+12746 0 obj <<
+/Names [(paragraph.11.39.3.14) 9190 0 R (paragraph.11.39.3.15) 9191 0 R (paragraph.11.39.3.16) 9192 0 R (paragraph.11.39.3.17) 9193 0 R (paragraph.11.39.3.18) 9194 0 R (paragraph.11.39.3.19) 9195 0 R]
+/Limits [(paragraph.11.39.3.14) (paragraph.11.39.3.19)]
+>> endobj
+12747 0 obj <<
+/Names [(paragraph.11.39.3.2) 9157 0 R (paragraph.11.39.3.20) 9204 0 R (paragraph.11.39.3.21) 9205 0 R (paragraph.11.39.3.22) 9206 0 R (paragraph.11.39.3.23) 9207 0 R (paragraph.11.39.3.24) 9217 0 R]
+/Limits [(paragraph.11.39.3.2) (paragraph.11.39.3.24)]
+>> endobj
+12748 0 obj <<
+/Names [(paragraph.11.39.3.25) 9218 0 R (paragraph.11.39.3.26) 9219 0 R (paragraph.11.39.3.27) 9228 0 R (paragraph.11.39.3.28) 9229 0 R (paragraph.11.39.3.29) 9230 0 R (paragraph.11.39.3.3) 9164 0 R]
+/Limits [(paragraph.11.39.3.25) (paragraph.11.39.3.3)]
+>> endobj
+12749 0 obj <<
+/Names [(paragraph.11.39.3.30) 9231 0 R (paragraph.11.39.3.31) 9241 0 R (paragraph.11.39.3.32) 9242 0 R (paragraph.11.39.3.33) 9243 0 R (paragraph.11.39.3.34) 9244 0 R (paragraph.11.39.3.35) 9254 0 R]
+/Limits [(paragraph.11.39.3.30) (paragraph.11.39.3.35)]
+>> endobj
+12750 0 obj <<
+/Names [(paragraph.11.39.3.36) 9255 0 R (paragraph.11.39.3.37) 9256 0 R (paragraph.11.39.3.38) 9257 0 R (paragraph.11.39.3.39) 9268 0 R (paragraph.11.39.3.4) 9165 0 R (paragraph.11.39.3.40) 9269 0 R]
+/Limits [(paragraph.11.39.3.36) (paragraph.11.39.3.40)]
+>> endobj
+12751 0 obj <<
+/Names [(paragraph.11.39.3.41) 9280 0 R (paragraph.11.39.3.42) 9281 0 R (paragraph.11.39.3.43) 9282 0 R (paragraph.11.39.3.44) 9294 0 R (paragraph.11.39.3.45) 9295 0 R (paragraph.11.39.3.46) 9296 0 R]
+/Limits [(paragraph.11.39.3.41) (paragraph.11.39.3.46)]
+>> endobj
+12752 0 obj <<
+/Names [(paragraph.11.39.3.47) 9307 0 R (paragraph.11.39.3.48) 9308 0 R (paragraph.11.39.3.49) 9309 0 R (paragraph.11.39.3.5) 9166 0 R (paragraph.11.39.3.50) 9310 0 R (paragraph.11.39.3.51) 9322 0 R]
+/Limits [(paragraph.11.39.3.47) (paragraph.11.39.3.51)]
+>> endobj
+12753 0 obj <<
+/Names [(paragraph.11.39.3.52) 9323 0 R (paragraph.11.39.3.53) 9324 0 R (paragraph.11.39.3.6) 9167 0 R (paragraph.11.39.3.7) 9173 0 R (paragraph.11.39.3.8) 9174 0 R (paragraph.11.39.3.9) 9180 0 R]
+/Limits [(paragraph.11.39.3.52) (paragraph.11.39.3.9)]
+>> endobj
+12754 0 obj <<
+/Names [(paragraph.11.39.4.1) 9326 0 R (paragraph.11.39.4.2) 9338 0 R (paragraph.11.39.4.3) 9339 0 R (paragraph.11.39.4.4) 9341 0 R (paragraph.11.39.4.5) 9343 0 R (paragraph.11.39.4.6) 9366 0 R]
+/Limits [(paragraph.11.39.4.1) (paragraph.11.39.4.6)]
+>> endobj
+12755 0 obj <<
+/Names [(paragraph.11.39.4.7) 9367 0 R (paragraph.11.4.2.1) 3297 0 R (paragraph.11.4.2.10) 3319 0 R (paragraph.11.4.2.11) 3320 0 R (paragraph.11.4.2.12) 3321 0 R (paragraph.11.4.2.13) 3327 0 R]
+/Limits [(paragraph.11.39.4.7) (paragraph.11.4.2.13)]
+>> endobj
+12756 0 obj <<
+/Names [(paragraph.11.4.2.14) 3328 0 R (paragraph.11.4.2.2) 3298 0 R (paragraph.11.4.2.3) 3307 0 R (paragraph.11.4.2.4) 3308 0 R (paragraph.11.4.2.5) 3309 0 R (paragraph.11.4.2.6) 3310 0 R]
+/Limits [(paragraph.11.4.2.14) (paragraph.11.4.2.6)]
+>> endobj
+12757 0 obj <<
+/Names [(paragraph.11.4.2.7) 3311 0 R (paragraph.11.4.2.8) 3317 0 R (paragraph.11.4.2.9) 3318 0 R (paragraph.11.4.3.1) 3330 0 R (paragraph.11.4.3.10) 3350 0 R (paragraph.11.4.3.11) 3357 0 R]
+/Limits [(paragraph.11.4.2.7) (paragraph.11.4.3.11)]
+>> endobj
+12758 0 obj <<
+/Names [(paragraph.11.4.3.12) 3358 0 R (paragraph.11.4.3.13) 3359 0 R (paragraph.11.4.3.14) 3360 0 R (paragraph.11.4.3.15) 3361 0 R (paragraph.11.4.3.16) 3367 0 R (paragraph.11.4.3.17) 3368 0 R]
+/Limits [(paragraph.11.4.3.12) (paragraph.11.4.3.17)]
+>> endobj
+12759 0 obj <<
+/Names [(paragraph.11.4.3.18) 3369 0 R (paragraph.11.4.3.19) 3370 0 R (paragraph.11.4.3.2) 3331 0 R (paragraph.11.4.3.20) 3376 0 R (paragraph.11.4.3.21) 3377 0 R (paragraph.11.4.3.22) 3378 0 R]
+/Limits [(paragraph.11.4.3.18) (paragraph.11.4.3.22)]
+>> endobj
+12760 0 obj <<
+/Names [(paragraph.11.4.3.23) 3386 0 R (paragraph.11.4.3.24) 3387 0 R (paragraph.11.4.3.25) 3388 0 R (paragraph.11.4.3.26) 3389 0 R (paragraph.11.4.3.27) 3397 0 R (paragraph.11.4.3.28) 3398 0 R]
+/Limits [(paragraph.11.4.3.23) (paragraph.11.4.3.28)]
+>> endobj
+12761 0 obj <<
+/Names [(paragraph.11.4.3.29) 3399 0 R (paragraph.11.4.3.3) 3332 0 R (paragraph.11.4.3.30) 3400 0 R (paragraph.11.4.3.31) 3401 0 R (paragraph.11.4.3.32) 3411 0 R (paragraph.11.4.3.33) 3412 0 R]
+/Limits [(paragraph.11.4.3.29) (paragraph.11.4.3.33)]
+>> endobj
+12762 0 obj <<
+/Names [(paragraph.11.4.3.34) 3413 0 R (paragraph.11.4.3.35) 3414 0 R (paragraph.11.4.3.36) 3423 0 R (paragraph.11.4.3.37) 3424 0 R (paragraph.11.4.3.38) 3432 0 R (paragraph.11.4.3.39) 3433 0 R]
+/Limits [(paragraph.11.4.3.34) (paragraph.11.4.3.39)]
+>> endobj
+12763 0 obj <<
+/Names [(paragraph.11.4.3.4) 3333 0 R (paragraph.11.4.3.40) 3434 0 R (paragraph.11.4.3.41) 3445 0 R (paragraph.11.4.3.42) 3446 0 R (paragraph.11.4.3.43) 3447 0 R (paragraph.11.4.3.44) 3448 0 R]
+/Limits [(paragraph.11.4.3.4) (paragraph.11.4.3.44)]
+>> endobj
+12764 0 obj <<
+/Names [(paragraph.11.4.3.45) 3457 0 R (paragraph.11.4.3.46) 3458 0 R (paragraph.11.4.3.47) 3466 0 R (paragraph.11.4.3.48) 3467 0 R (paragraph.11.4.3.49) 3468 0 R (paragraph.11.4.3.5) 3339 0 R]
+/Limits [(paragraph.11.4.3.45) (paragraph.11.4.3.5)]
+>> endobj
+12765 0 obj <<
+/Names [(paragraph.11.4.3.50) 3469 0 R (paragraph.11.4.3.51) 3482 0 R (paragraph.11.4.3.52) 3483 0 R (paragraph.11.4.3.53) 3484 0 R (paragraph.11.4.3.54) 3491 0 R (paragraph.11.4.3.55) 3492 0 R]
+/Limits [(paragraph.11.4.3.50) (paragraph.11.4.3.55)]
+>> endobj
+12766 0 obj <<
+/Names [(paragraph.11.4.3.56) 3493 0 R (paragraph.11.4.3.57) 3494 0 R (paragraph.11.4.3.6) 3340 0 R (paragraph.11.4.3.7) 3341 0 R (paragraph.11.4.3.8) 3342 0 R (paragraph.11.4.3.9) 3349 0 R]
+/Limits [(paragraph.11.4.3.56) (paragraph.11.4.3.9)]
+>> endobj
+12767 0 obj <<
+/Names [(paragraph.11.4.4.1) 3501 0 R (paragraph.11.4.4.2) 3502 0 R (paragraph.11.4.4.3) 3503 0 R (paragraph.11.4.4.4) 3504 0 R (paragraph.11.4.4.5) 3505 0 R (paragraph.11.4.4.6) 3511 0 R]
+/Limits [(paragraph.11.4.4.1) (paragraph.11.4.4.6)]
+>> endobj
+12768 0 obj <<
+/Names [(paragraph.11.4.4.7) 3512 0 R (paragraph.11.4.4.8) 3513 0 R (paragraph.11.4.4.9) 3541 0 R (paragraph.11.40.2.1) 9407 0 R (paragraph.11.40.2.2) 9409 0 R (paragraph.11.40.2.3) 9411 0 R]
+/Limits [(paragraph.11.4.4.7) (paragraph.11.40.2.3)]
+>> endobj
+12769 0 obj <<
+/Names [(paragraph.11.40.2.4) 9435 0 R (paragraph.11.40.2.5) 9436 0 R (paragraph.11.41.2.1) 9466 0 R (paragraph.11.41.2.2) 9468 0 R (paragraph.11.41.2.3) 9470 0 R (paragraph.11.41.2.4) 9472 0 R]
+/Limits [(paragraph.11.40.2.4) (paragraph.11.41.2.4)]
+>> endobj
+12770 0 obj <<
+/Names [(paragraph.11.41.2.5) 9504 0 R (paragraph.11.42.2.1) 9934 0 R (paragraph.11.42.2.2) 9935 0 R (paragraph.11.42.2.3) 9936 0 R (paragraph.11.42.2.4) 9942 0 R (paragraph.11.42.2.5) 9943 0 R]
+/Limits [(paragraph.11.41.2.5) (paragraph.11.42.2.5)]
+>> endobj
+12771 0 obj <<
+/Names [(paragraph.11.42.2.6) 9944 0 R (paragraph.11.42.2.7) 9950 0 R (paragraph.11.42.3.1) 9952 0 R (paragraph.11.42.3.10) 9972 0 R (paragraph.11.42.3.11) 9973 0 R (paragraph.11.42.3.12) 9979 0 R]
+/Limits [(paragraph.11.42.2.6) (paragraph.11.42.3.12)]
+>> endobj
+12772 0 obj <<
+/Names [(paragraph.11.42.3.13) 9980 0 R (paragraph.11.42.3.14) 9981 0 R (paragraph.11.42.3.15) 9991 0 R (paragraph.11.42.3.16) 9992 0 R (paragraph.11.42.3.17) 9993 0 R (paragraph.11.42.3.18) 9994 0 R]
+/Limits [(paragraph.11.42.3.13) (paragraph.11.42.3.18)]
+>> endobj
+12773 0 obj <<
+/Names [(paragraph.11.42.3.19) 10002 0 R (paragraph.11.42.3.2) 9953 0 R (paragraph.11.42.3.20) 10003 0 R (paragraph.11.42.3.21) 10004 0 R (paragraph.11.42.3.22) 10012 0 R (paragraph.11.42.3.23) 10013 0 R]
+/Limits [(paragraph.11.42.3.19) (paragraph.11.42.3.23)]
+>> endobj
+12774 0 obj <<
+/Names [(paragraph.11.42.3.24) 10014 0 R (paragraph.11.42.3.25) 10022 0 R (paragraph.11.42.3.26) 10023 0 R (paragraph.11.42.3.27) 10024 0 R (paragraph.11.42.3.28) 10035 0 R (paragraph.11.42.3.29) 10036 0 R]
+/Limits [(paragraph.11.42.3.24) (paragraph.11.42.3.29)]
+>> endobj
+12775 0 obj <<
+/Names [(paragraph.11.42.3.3) 9954 0 R (paragraph.11.42.3.30) 10044 0 R (paragraph.11.42.3.31) 10045 0 R (paragraph.11.42.3.32) 10046 0 R (paragraph.11.42.3.33) 10054 0 R (paragraph.11.42.3.34) 10055 0 R]
+/Limits [(paragraph.11.42.3.3) (paragraph.11.42.3.34)]
+>> endobj
+12776 0 obj <<
+/Names [(paragraph.11.42.3.35) 10056 0 R (paragraph.11.42.3.36) 10065 0 R (paragraph.11.42.3.37) 10066 0 R (paragraph.11.42.3.38) 10067 0 R (paragraph.11.42.3.39) 10068 0 R (paragraph.11.42.3.4) 9960 0 R]
+/Limits [(paragraph.11.42.3.35) (paragraph.11.42.3.4)]
+>> endobj
+12777 0 obj <<
+/Names [(paragraph.11.42.3.40) 10079 0 R (paragraph.11.42.3.41) 10080 0 R (paragraph.11.42.3.42) 10081 0 R (paragraph.11.42.3.43) 10082 0 R (paragraph.11.42.3.44) 10092 0 R (paragraph.11.42.3.45) 10093 0 R]
+/Limits [(paragraph.11.42.3.40) (paragraph.11.42.3.45)]
+>> endobj
+12778 0 obj <<
+/Names [(paragraph.11.42.3.46) 10094 0 R (paragraph.11.42.3.47) 10095 0 R (paragraph.11.42.3.48) 10108 0 R (paragraph.11.42.3.49) 10109 0 R (paragraph.11.42.3.5) 9961 0 R (paragraph.11.42.3.50) 10118 0 R]
+/Limits [(paragraph.11.42.3.46) (paragraph.11.42.3.50)]
+>> endobj
+12779 0 obj <<
+/Names [(paragraph.11.42.3.51) 10119 0 R (paragraph.11.42.3.52) 10120 0 R (paragraph.11.42.3.53) 10134 0 R (paragraph.11.42.3.54) 10135 0 R (paragraph.11.42.3.55) 10136 0 R (paragraph.11.42.3.56) 10150 0 R]
+/Limits [(paragraph.11.42.3.51) (paragraph.11.42.3.56)]
+>> endobj
+12780 0 obj <<
+/Names [(paragraph.11.42.3.57) 10151 0 R (paragraph.11.42.3.58) 10152 0 R (paragraph.11.42.3.59) 10162 0 R (paragraph.11.42.3.6) 9962 0 R (paragraph.11.42.3.60) 10163 0 R (paragraph.11.42.3.61) 10164 0 R]
+/Limits [(paragraph.11.42.3.57) (paragraph.11.42.3.61)]
+>> endobj
+12781 0 obj <<
+/Names [(paragraph.11.42.3.62) 10175 0 R (paragraph.11.42.3.63) 10176 0 R (paragraph.11.42.3.64) 10177 0 R (paragraph.11.42.3.65) 10178 0 R (paragraph.11.42.3.66) 10191 0 R (paragraph.11.42.3.67) 10192 0 R]
+/Limits [(paragraph.11.42.3.62) (paragraph.11.42.3.67)]
+>> endobj
+12782 0 obj <<
+/Names [(paragraph.11.42.3.68) 10201 0 R (paragraph.11.42.3.69) 10202 0 R (paragraph.11.42.3.7) 9963 0 R (paragraph.11.42.3.8) 9964 0 R (paragraph.11.42.3.9) 9971 0 R (paragraph.11.42.4.1) 10204 0 R]
+/Limits [(paragraph.11.42.3.68) (paragraph.11.42.4.1)]
+>> endobj
+12783 0 obj <<
+/Names [(paragraph.11.42.4.2) 10205 0 R (paragraph.11.42.4.3) 10206 0 R (paragraph.11.43.2.1) 10393 0 R (paragraph.11.43.2.2) 10394 0 R (paragraph.11.43.3.1) 10397 0 R (paragraph.11.43.3.2) 10398 0 R]
+/Limits [(paragraph.11.42.4.2) (paragraph.11.43.3.2)]
+>> endobj
+12784 0 obj <<
+/Names [(paragraph.11.43.3.3) 10399 0 R (paragraph.11.43.3.4) 10400 0 R (paragraph.11.43.3.5) 10406 0 R (paragraph.11.43.3.6) 10407 0 R (paragraph.11.43.4.1) 10409 0 R (paragraph.11.43.4.2) 10410 0 R]
+/Limits [(paragraph.11.43.3.3) (paragraph.11.43.4.2)]
+>> endobj
+12785 0 obj <<
+/Names [(paragraph.11.43.4.3) 10411 0 R (paragraph.11.43.4.4) 10412 0 R (paragraph.11.45.2.1) 10430 0 R (paragraph.11.47.2.1) 10503 0 R (paragraph.11.47.3.1) 10505 0 R (paragraph.11.47.4.1) 10507 0 R]
+/Limits [(paragraph.11.43.4.3) (paragraph.11.47.4.1)]
+>> endobj
+12786 0 obj <<
+/Names [(paragraph.11.47.4.2) 10508 0 R (paragraph.11.49.2.1) 10565 0 R (paragraph.11.49.3.1) 10568 0 R (paragraph.11.5.2.1) 3603 0 R (paragraph.11.5.2.10) 3622 0 R (paragraph.11.5.2.11) 3623 0 R]
+/Limits [(paragraph.11.47.4.2) (paragraph.11.5.2.11)]
+>> endobj
+12787 0 obj <<
+/Names [(paragraph.11.5.2.12) 3635 0 R (paragraph.11.5.2.13) 3636 0 R (paragraph.11.5.2.2) 3604 0 R (paragraph.11.5.2.3) 3605 0 R (paragraph.11.5.2.4) 3611 0 R (paragraph.11.5.2.5) 3612 0 R]
+/Limits [(paragraph.11.5.2.12) (paragraph.11.5.2.5)]
+>> endobj
+12788 0 obj <<
+/Names [(paragraph.11.5.2.6) 3613 0 R (paragraph.11.5.2.7) 3614 0 R (paragraph.11.5.2.8) 3620 0 R (paragraph.11.5.2.9) 3621 0 R (paragraph.11.5.3.1) 3638 0 R (paragraph.11.6.2.1) 4059 0 R]
+/Limits [(paragraph.11.5.2.6) (paragraph.11.6.2.1)]
+>> endobj
+12789 0 obj <<
+/Names [(paragraph.11.6.3.1) 4061 0 R (paragraph.11.6.3.10) 4075 0 R (paragraph.11.6.3.11) 4076 0 R (paragraph.11.6.3.12) 4077 0 R (paragraph.11.6.3.13) 4078 0 R (paragraph.11.6.3.14) 4079 0 R]
+/Limits [(paragraph.11.6.3.1) (paragraph.11.6.3.14)]
+>> endobj
+12790 0 obj <<
+/Names [(paragraph.11.6.3.15) 4080 0 R (paragraph.11.6.3.16) 4081 0 R (paragraph.11.6.3.17) 4082 0 R (paragraph.11.6.3.18) 4083 0 R (paragraph.11.6.3.19) 4084 0 R (paragraph.11.6.3.2) 4062 0 R]
+/Limits [(paragraph.11.6.3.15) (paragraph.11.6.3.2)]
+>> endobj
+12791 0 obj <<
+/Names [(paragraph.11.6.3.20) 4090 0 R (paragraph.11.6.3.21) 4091 0 R (paragraph.11.6.3.22) 4092 0 R (paragraph.11.6.3.23) 4093 0 R (paragraph.11.6.3.24) 4094 0 R (paragraph.11.6.3.25) 4095 0 R]
+/Limits [(paragraph.11.6.3.20) (paragraph.11.6.3.25)]
+>> endobj
+12792 0 obj <<
+/Names [(paragraph.11.6.3.26) 4096 0 R (paragraph.11.6.3.27) 4097 0 R (paragraph.11.6.3.28) 4098 0 R (paragraph.11.6.3.29) 4104 0 R (paragraph.11.6.3.3) 4063 0 R (paragraph.11.6.3.30) 4105 0 R]
+/Limits [(paragraph.11.6.3.26) (paragraph.11.6.3.30)]
+>> endobj
+12793 0 obj <<
+/Names [(paragraph.11.6.3.31) 4106 0 R (paragraph.11.6.3.32) 4107 0 R (paragraph.11.6.3.33) 4108 0 R (paragraph.11.6.3.34) 4109 0 R (paragraph.11.6.3.35) 4110 0 R (paragraph.11.6.3.36) 4111 0 R]
+/Limits [(paragraph.11.6.3.31) (paragraph.11.6.3.36)]
+>> endobj
+12794 0 obj <<
+/Names [(paragraph.11.6.3.37) 4112 0 R (paragraph.11.6.3.38) 4118 0 R (paragraph.11.6.3.39) 4119 0 R (paragraph.11.6.3.4) 4064 0 R (paragraph.11.6.3.40) 4120 0 R (paragraph.11.6.3.41) 4121 0 R]
+/Limits [(paragraph.11.6.3.37) (paragraph.11.6.3.41)]
+>> endobj
+12795 0 obj <<
+/Names [(paragraph.11.6.3.42) 4147 0 R (paragraph.11.6.3.43) 4148 0 R (paragraph.11.6.3.44) 4149 0 R (paragraph.11.6.3.45) 4150 0 R (paragraph.11.6.3.5) 4065 0 R (paragraph.11.6.3.6) 4066 0 R]
+/Limits [(paragraph.11.6.3.42) (paragraph.11.6.3.6)]
+>> endobj
+12796 0 obj <<
+/Names [(paragraph.11.6.3.7) 4067 0 R (paragraph.11.6.3.8) 4068 0 R (paragraph.11.6.3.9) 4069 0 R (paragraph.11.7.2.1) 4283 0 R (paragraph.11.7.3.1) 4290 0 R (paragraph.11.7.3.2) 4291 0 R]
+/Limits [(paragraph.11.6.3.7) (paragraph.11.7.3.2)]
+>> endobj
+12797 0 obj <<
+/Names [(paragraph.11.7.3.3) 4292 0 R (paragraph.11.7.3.4) 4293 0 R (paragraph.11.7.3.5) 4294 0 R (paragraph.11.7.3.6) 4295 0 R (paragraph.11.7.3.7) 4302 0 R (paragraph.11.7.3.8) 4303 0 R]
+/Limits [(paragraph.11.7.3.3) (paragraph.11.7.3.8)]
+>> endobj
+12798 0 obj <<
+/Names [(paragraph.11.7.3.9) 4304 0 R (paragraph.11.7.4.1) 4306 0 R (paragraph.11.7.4.2) 4307 0 R (paragraph.11.7.4.3) 4308 0 R (paragraph.11.7.4.4) 4309 0 R (paragraph.11.7.4.5) 4310 0 R]
+/Limits [(paragraph.11.7.3.9) (paragraph.11.7.4.5)]
+>> endobj
+12799 0 obj <<
+/Names [(paragraph.11.7.4.6) 4311 0 R (paragraph.11.7.4.7) 4333 0 R (paragraph.11.7.4.8) 4334 0 R (paragraph.11.8.2.1) 4452 0 R (paragraph.11.8.3.1) 4454 0 R (paragraph.11.8.3.2) 4455 0 R]
+/Limits [(paragraph.11.7.4.6) (paragraph.11.8.3.2)]
+>> endobj
+12800 0 obj <<
+/Names [(paragraph.11.8.3.3) 4456 0 R (paragraph.11.8.3.4) 4457 0 R (paragraph.11.8.4.1) 4476 0 R (paragraph.11.8.4.2) 4477 0 R (paragraph.9.1.2.1) 1750 0 R (paragraph.9.1.2.2) 1751 0 R]
+/Limits [(paragraph.11.8.3.3) (paragraph.9.1.2.2)]
+>> endobj
+12801 0 obj <<
+/Names [(paragraph.9.1.2.3) 1752 0 R (paragraph.9.1.2.4) 1753 0 R (paragraph.9.1.3.1) 1774 0 R (paragraph.9.1.3.2) 1775 0 R (paragraph.9.1.3.3) 1776 0 R (paragraph.9.1.4.1) 1778 0 R]
+/Limits [(paragraph.9.1.2.3) (paragraph.9.1.4.1)]
+>> endobj
+12802 0 obj <<
+/Names [(paragraph.9.1.4.2) 1785 0 R (paragraph.9.1.4.3) 1786 0 R (paragraph.9.1.4.4) 1787 0 R (paragraph.9.1.4.5) 1794 0 R (paragraph.9.1.4.6) 1795 0 R (paragraph.9.1.4.7) 1796 0 R]
+/Limits [(paragraph.9.1.4.2) (paragraph.9.1.4.7)]
+>> endobj
+12803 0 obj <<
+/Names [(paragraph.9.1.5.1) 1798 0 R (section*.1) 377 0 R (section*.10) 1090 0 R (section*.100) 5991 0 R (section*.101) 6316 0 R (section*.102) 6338 0 R]
+/Limits [(paragraph.9.1.5.1) (section*.102)]
+>> endobj
+12804 0 obj <<
+/Names [(section*.103) 6375 0 R (section*.104) 6378 0 R (section*.105) 6379 0 R (section*.106) 6469 0 R (section*.107) 6474 0 R (section*.108) 6584 0 R]
+/Limits [(section*.103) (section*.108)]
+>> endobj
+12805 0 obj <<
+/Names [(section*.109) 6585 0 R (section*.11) 1096 0 R (section*.110) 6640 0 R (section*.111) 6663 0 R (section*.112) 6664 0 R (section*.113) 6714 0 R]
+/Limits [(section*.109) (section*.113)]
+>> endobj
+12806 0 obj <<
+/Names [(section*.114) 6745 0 R (section*.115) 6746 0 R (section*.116) 6767 0 R (section*.117) 6790 0 R (section*.118) 6816 0 R (section*.119) 6819 0 R]
+/Limits [(section*.114) (section*.119)]
+>> endobj
+12807 0 obj <<
+/Names [(section*.12) 1102 0 R (section*.120) 6846 0 R (section*.121) 6863 0 R (section*.122) 6865 0 R (section*.123) 6866 0 R (section*.124) 6970 0 R]
+/Limits [(section*.12) (section*.124)]
+>> endobj
+12808 0 obj <<
+/Names [(section*.125) 6974 0 R (section*.126) 7034 0 R (section*.127) 7141 0 R (section*.128) 7144 0 R (section*.129) 7279 0 R (section*.13) 1103 0 R]
+/Limits [(section*.125) (section*.13)]
+>> endobj
+12809 0 obj <<
+/Names [(section*.130) 7281 0 R (section*.131) 7352 0 R (section*.132) 7468 0 R (section*.133) 7472 0 R (section*.134) 7476 0 R (section*.135) 7515 0 R]
+/Limits [(section*.130) (section*.135)]
+>> endobj
+12810 0 obj <<
+/Names [(section*.136) 7867 0 R (section*.137) 7871 0 R (section*.138) 7872 0 R (section*.139) 7899 0 R (section*.14) 1104 0 R (section*.140) 8168 0 R]
+/Limits [(section*.136) (section*.140)]
+>> endobj
+12811 0 obj <<
+/Names [(section*.141) 8487 0 R (section*.142) 8489 0 R (section*.143) 8492 0 R (section*.144) 8496 0 R (section*.145) 8500 0 R (section*.146) 8522 0 R]
+/Limits [(section*.141) (section*.146)]
+>> endobj
+12812 0 obj <<
+/Names [(section*.147) 8526 0 R (section*.148) 8750 0 R (section*.149) 9075 0 R (section*.15) 1110 0 R (section*.150) 9077 0 R (section*.151) 9123 0 R]
+/Limits [(section*.147) (section*.151)]
+>> endobj
+12813 0 obj <<
+/Names [(section*.152) 9368 0 R (section*.153) 9374 0 R (section*.154) 9402 0 R (section*.155) 9403 0 R (section*.156) 9437 0 R (section*.157) 9443 0 R]
+/Limits [(section*.152) (section*.157)]
+>> endobj
+12814 0 obj <<
+/Names [(section*.158) 9461 0 R (section*.159) 9462 0 R (section*.16) 1111 0 R (section*.160) 9506 0 R (section*.161) 9508 0 R (section*.162) 9846 0 R]
+/Limits [(section*.158) (section*.162)]
+>> endobj
+12815 0 obj <<
+/Names [(section*.163) 9892 0 R (section*.164) 9894 0 R (section*.165) 10236 0 R (section*.166) 10240 0 R (section*.167) 10335 0 R (section*.168) 10338 0 R]
+/Limits [(section*.163) (section*.168)]
+>> endobj
+12816 0 obj <<
+/Names [(section*.169) 10365 0 R (section*.17) 1117 0 R (section*.170) 10368 0 R (section*.171) 10370 0 R (section*.172) 10423 0 R (section*.173) 10427 0 R]
+/Limits [(section*.169) (section*.173)]
+>> endobj
+12817 0 obj <<
+/Names [(section*.174) 10449 0 R (section*.175) 10453 0 R (section*.176) 10454 0 R (section*.177) 10483 0 R (section*.178) 10487 0 R (section*.179) 10509 0 R]
+/Limits [(section*.174) (section*.179)]
+>> endobj
+12818 0 obj <<
+/Names [(section*.18) 1118 0 R (section*.180) 10539 0 R (section*.181) 10560 0 R (section*.182) 10562 0 R (section*.183) 10633 0 R (section*.19) 1119 0 R]
+/Limits [(section*.18) (section*.19)]
+>> endobj
+12819 0 obj <<
+/Names [(section*.2) 1061 0 R (section*.20) 1120 0 R (section*.21) 1130 0 R (section*.22) 1131 0 R (section*.23) 1160 0 R (section*.24) 1541 0 R]
+/Limits [(section*.2) (section*.24)]
+>> endobj
+12820 0 obj <<
+/Names [(section*.25) 1615 0 R (section*.26) 1616 0 R (section*.27) 1673 0 R (section*.28) 1674 0 R (section*.29) 1747 0 R (section*.3) 1067 0 R]
+/Limits [(section*.25) (section*.3)]
+>> endobj
+12821 0 obj <<
+/Names [(section*.30) 1820 0 R (section*.31) 1821 0 R (section*.32) 1880 0 R (section*.33) 1925 0 R (section*.34) 1929 0 R (section*.35) 2045 0 R]
+/Limits [(section*.30) (section*.35)]
+>> endobj
+12822 0 obj <<
+/Names [(section*.36) 2061 0 R (section*.37) 2109 0 R (section*.38) 2112 0 R (section*.39) 2462 0 R (section*.4) 1068 0 R (section*.40) 2518 0 R]
+/Limits [(section*.36) (section*.40)]
+>> endobj
+12823 0 obj <<
+/Names [(section*.41) 2519 0 R (section*.42) 2540 0 R (section*.43) 2813 0 R (section*.44) 2829 0 R (section*.45) 2862 0 R (section*.46) 2865 0 R]
+/Limits [(section*.41) (section*.46)]
+>> endobj
+12824 0 obj <<
+/Names [(section*.47) 2867 0 R (section*.48) 3215 0 R (section*.49) 3275 0 R (section*.5) 1074 0 R (section*.50) 3276 0 R (section*.51) 3295 0 R]
+/Limits [(section*.47) (section*.51)]
+>> endobj
+12825 0 obj <<
+/Names [(section*.52) 3542 0 R (section*.53) 3639 0 R (section*.54) 3888 0 R (section*.55) 4043 0 R (section*.56) 4151 0 R (section*.57) 4196 0 R]
+/Limits [(section*.52) (section*.57)]
+>> endobj
+12826 0 obj <<
+/Names [(section*.58) 4244 0 R (section*.59) 4245 0 R (section*.6) 1075 0 R (section*.60) 4271 0 R (section*.61) 4335 0 R (section*.62) 4336 0 R]
+/Limits [(section*.58) (section*.62)]
+>> endobj
+12827 0 obj <<
+/Names [(section*.63) 4426 0 R (section*.64) 4431 0 R (section*.65) 4433 0 R (section*.66) 4478 0 R (section*.67) 4510 0 R (section*.68) 4511 0 R]
+/Limits [(section*.63) (section*.68)]
+>> endobj
+12828 0 obj <<
+/Names [(section*.69) 4610 0 R (section*.7) 1082 0 R (section*.70) 4616 0 R (section*.71) 4679 0 R (section*.72) 4786 0 R (section*.73) 4787 0 R]
+/Limits [(section*.69) (section*.73)]
+>> endobj
+12829 0 obj <<
+/Names [(section*.74) 4862 0 R (section*.75) 4867 0 R (section*.76) 4868 0 R (section*.77) 4902 0 R (section*.78) 4925 0 R (section*.79) 4929 0 R]
+/Limits [(section*.74) (section*.79)]
+>> endobj
+12830 0 obj <<
+/Names [(section*.8) 1083 0 R (section*.80) 4954 0 R (section*.81) 4963 0 R (section*.82) 5011 0 R (section*.83) 5023 0 R (section*.84) 5026 0 R]
+/Limits [(section*.8) (section*.84)]
+>> endobj
+12831 0 obj <<
+/Names [(section*.85) 5051 0 R (section*.86) 5053 0 R (section*.87) 5088 0 R (section*.88) 5142 0 R (section*.89) 5199 0 R (section*.9) 1084 0 R]
+/Limits [(section*.85) (section*.9)]
+>> endobj
+12832 0 obj <<
+/Names [(section*.90) 5307 0 R (section*.91) 5308 0 R (section*.92) 5379 0 R (section*.93) 5384 0 R (section*.94) 5413 0 R (section*.95) 5497 0 R]
+/Limits [(section*.90) (section*.95)]
+>> endobj
+12833 0 obj <<
+/Names [(section*.96) 5596 0 R (section*.97) 5598 0 R (section*.98) 5986 0 R (section*.99) 5990 0 R (section.1) 6 0 R (section.10) 118 0 R]
+/Limits [(section*.96) (section.10)]
+>> endobj
+12834 0 obj <<
+/Names [(section.11) 134 0 R (section.2) 66 0 R (section.3) 70 0 R (section.4) 74 0 R (section.5) 78 0 R (section.6) 86 0 R]
+/Limits [(section.11) (section.6)]
+>> endobj
+12835 0 obj <<
+/Names [(section.7) 94 0 R (section.8) 102 0 R (section.9) 110 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare) 1426 0 R (structParma__Polyhedra__Library_1_1BHRZ03__Certificate_1_1Compare_98c515b16e12424b273eaff073b31f3b) 2863 0 R (structParma__Polyhedra__Library_1_1From__Covering__Box) 1490 0 R]
+/Limits [(section.7) (structParma__Polyhedra__Library_1_1From__Covering__Box)]
+>> endobj
+12836 0 obj <<
+/Names [(structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) 1496 0 R (structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare_92edb0b8b1e2097c5d20795e576517cf) 6376 0 R (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare) 1500 0 R (structParma__Polyhedra__Library_1_1H79__Certificate_1_1Compare_bf5e694ab674c48a452893f021986318) 6768 0 R (structParma__Polyhedra__Library_1_1Is__Checked) 1501 0 R (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__N [...]
+/Limits [(structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) (structParma__Polyhedra__Library_1_1Is__Checked_3_01Checked__Number_3_01T_00_01P_01_4_01_4)]
+>> endobj
+12837 0 obj <<
+/Names [(structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) 1503 0 R (structParma__Polyhedra__Library_1_1Recycle__Input) 1546 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare) 1550 0 R (structParma__Polyhedra__Library_1_1Variable_1_1Compare_f6c069432956f215967c61be24a40939) 10510 0 R (subsection.1.1) 10 0 R (subsection.1.10) 46 0 R]
+/Limits [(structParma__Polyhedra__Library_1_1Is__Native__Or__Checked) (subsection.1.10)]
+>> endobj
+12838 0 obj <<
+/Names [(subsection.1.11) 50 0 R (subsection.1.12) 54 0 R (subsection.1.13) 58 0 R (subsection.1.14) 62 0 R (subsection.1.2) 14 0 R (subsection.1.3) 18 0 R]
+/Limits [(subsection.1.11) (subsection.1.3)]
+>> endobj
+12839 0 obj <<
+/Names [(subsection.1.4) 22 0 R (subsection.1.5) 26 0 R (subsection.1.6) 30 0 R (subsection.1.7) 34 0 R (subsection.1.8) 38 0 R (subsection.1.9) 42 0 R]
+/Limits [(subsection.1.4) (subsection.1.9)]
+>> endobj
+12840 0 obj <<
+/Names [(subsection.10.1) 122 0 R (subsection.10.2) 126 0 R (subsection.10.3) 130 0 R (subsection.11.1) 138 0 R (subsection.11.10) 174 0 R (subsection.11.11) 178 0 R]
+/Limits [(subsection.10.1) (subsection.11.11)]
+>> endobj
+12841 0 obj <<
+/Names [(subsection.11.12) 182 0 R (subsection.11.13) 186 0 R (subsection.11.14) 190 0 R (subsection.11.15) 194 0 R (subsection.11.16) 198 0 R (subsection.11.17) 202 0 R]
+/Limits [(subsection.11.12) (subsection.11.17)]
+>> endobj
+12842 0 obj <<
+/Names [(subsection.11.18) 206 0 R (subsection.11.19) 210 0 R (subsection.11.2) 142 0 R (subsection.11.20) 214 0 R (subsection.11.21) 218 0 R (subsection.11.22) 222 0 R]
+/Limits [(subsection.11.18) (subsection.11.22)]
+>> endobj
+12843 0 obj <<
+/Names [(subsection.11.23) 226 0 R (subsection.11.24) 230 0 R (subsection.11.25) 234 0 R (subsection.11.26) 238 0 R (subsection.11.27) 242 0 R (subsection.11.28) 246 0 R]
+/Limits [(subsection.11.23) (subsection.11.28)]
+>> endobj
+12844 0 obj <<
+/Names [(subsection.11.29) 250 0 R (subsection.11.3) 146 0 R (subsection.11.30) 254 0 R (subsection.11.31) 258 0 R (subsection.11.32) 262 0 R (subsection.11.33) 266 0 R]
+/Limits [(subsection.11.29) (subsection.11.33)]
+>> endobj
+12845 0 obj <<
+/Names [(subsection.11.34) 270 0 R (subsection.11.35) 274 0 R (subsection.11.36) 278 0 R (subsection.11.37) 282 0 R (subsection.11.38) 286 0 R (subsection.11.39) 290 0 R]
+/Limits [(subsection.11.34) (subsection.11.39)]
+>> endobj
+12846 0 obj <<
+/Names [(subsection.11.4) 150 0 R (subsection.11.40) 294 0 R (subsection.11.41) 298 0 R (subsection.11.42) 302 0 R (subsection.11.43) 306 0 R (subsection.11.44) 310 0 R]
+/Limits [(subsection.11.4) (subsection.11.44)]
+>> endobj
+12847 0 obj <<
+/Names [(subsection.11.45) 314 0 R (subsection.11.46) 318 0 R (subsection.11.47) 322 0 R (subsection.11.48) 326 0 R (subsection.11.49) 330 0 R (subsection.11.5) 154 0 R]
+/Limits [(subsection.11.45) (subsection.11.5)]
+>> endobj
+12848 0 obj <<
+/Names [(subsection.11.6) 158 0 R (subsection.11.7) 162 0 R (subsection.11.8) 166 0 R (subsection.11.9) 170 0 R (subsection.5.1) 82 0 R (subsection.6.1) 90 0 R]
+/Limits [(subsection.11.6) (subsection.6.1)]
+>> endobj
+12849 0 obj <<
+/Names [(subsection.7.1) 98 0 R (subsection.8.1) 106 0 R (subsection.9.1) 114 0 R (subsubsection.1.1.1) 470 0 R (subsubsection.1.1.2) 490 0 R (subsubsection.1.1.3) 515 0 R]
+/Limits [(subsection.7.1) (subsubsection.1.1.3)]
+>> endobj
+12850 0 obj <<
+/Names [(subsubsection.1.10.1) 841 0 R (subsubsection.1.11.1) 857 0 R (subsubsection.1.11.2) 860 0 R (subsubsection.1.11.3) 863 0 R (subsubsection.1.12.1) 867 0 R (subsubsection.1.12.2) 883 0 R]
+/Limits [(subsubsection.1.10.1) (subsubsection.1.12.2)]
+>> endobj
+12851 0 obj <<
+/Names [(subsubsection.1.12.3) 886 0 R (subsubsection.1.12.4) 889 0 R (subsubsection.1.12.5) 892 0 R (subsubsection.1.13.1) 903 0 R (subsubsection.1.13.2) 905 0 R (subsubsection.1.13.3) 914 0 R]
+/Limits [(subsubsection.1.12.3) (subsubsection.1.13.3)]
+>> endobj
+12852 0 obj <<
+/Names [(subsubsection.1.13.4) 916 0 R (subsubsection.1.3.1) 537 0 R (subsubsection.1.3.2) 544 0 R (subsubsection.1.3.3) 556 0 R (subsubsection.1.3.4) 558 0 R (subsubsection.1.4.1) 561 0 R]
+/Limits [(subsubsection.1.13.4) (subsubsection.1.4.1)]
+>> endobj
+12853 0 obj <<
+/Names [(subsubsection.1.4.10) 601 0 R (subsubsection.1.4.2) 570 0 R (subsubsection.1.4.3) 572 0 R (subsubsection.1.4.4) 574 0 R (subsubsection.1.4.5) 581 0 R (subsubsection.1.4.6) 583 0 R]
+/Limits [(subsubsection.1.4.10) (subsubsection.1.4.6)]
+>> endobj
+12854 0 obj <<
+/Names [(subsubsection.1.4.7) 584 0 R (subsubsection.1.4.8) 592 0 R (subsubsection.1.4.9) 594 0 R (subsubsection.1.5.1) 604 0 R (subsubsection.1.5.10) 645 0 R (subsubsection.1.5.11) 654 0 R]
+/Limits [(subsubsection.1.4.7) (subsubsection.1.5.11)]
+>> endobj
+12855 0 obj <<
+/Names [(subsubsection.1.5.12) 656 0 R (subsubsection.1.5.13) 658 0 R (subsubsection.1.5.14) 660 0 R (subsubsection.1.5.15) 674 0 R (subsubsection.1.5.16) 678 0 R (subsubsection.1.5.17) 680 0 R]
+/Limits [(subsubsection.1.5.12) (subsubsection.1.5.17)]
+>> endobj
+12856 0 obj <<
+/Names [(subsubsection.1.5.18) 697 0 R (subsubsection.1.5.19) 699 0 R (subsubsection.1.5.2) 606 0 R (subsubsection.1.5.3) 608 0 R (subsubsection.1.5.4) 610 0 R (subsubsection.1.5.5) 618 0 R]
+/Limits [(subsubsection.1.5.18) (subsubsection.1.5.5)]
+>> endobj
+12857 0 obj <<
+/Names [(subsubsection.1.5.6) 620 0 R (subsubsection.1.5.7) 625 0 R (subsubsection.1.5.8) 635 0 R (subsubsection.1.5.9) 638 0 R (subsubsection.1.6.1) 713 0 R (subsubsection.1.7.1) 716 0 R]
+/Limits [(subsubsection.1.5.6) (subsubsection.1.7.1)]
+>> endobj
+12858 0 obj <<
+/Names [(subsubsection.1.7.2) 729 0 R (subsubsection.1.7.3) 731 0 R (subsubsection.1.7.4) 733 0 R (subsubsection.1.8.1) 745 0 R (subsubsection.1.8.2) 747 0 R (subsubsection.1.8.3) 749 0 R]
+/Limits [(subsubsection.1.7.2) (subsubsection.1.8.3)]
+>> endobj
+12859 0 obj <<
+/Names [(subsubsection.1.8.4) 751 0 R (subsubsection.1.8.5) 761 0 R (subsubsection.1.8.6) 764 0 R (subsubsection.1.8.7) 766 0 R (subsubsection.1.8.8) 768 0 R (subsubsection.1.8.9) 778 0 R]
+/Limits [(subsubsection.1.8.4) (subsubsection.1.8.9)]
+>> endobj
+12860 0 obj <<
+/Names [(subsubsection.1.9.1) 781 0 R (subsubsection.1.9.10) 811 0 R (subsubsection.1.9.11) 819 0 R (subsubsection.1.9.12) 821 0 R (subsubsection.1.9.13) 823 0 R (subsubsection.1.9.14) 835 0 R]
+/Limits [(subsubsection.1.9.1) (subsubsection.1.9.14)]
+>> endobj
+12861 0 obj <<
+/Names [(subsubsection.1.9.15) 837 0 R (subsubsection.1.9.2) 783 0 R (subsubsection.1.9.3) 785 0 R (subsubsection.1.9.4) 787 0 R (subsubsection.1.9.5) 794 0 R (subsubsection.1.9.6) 796 0 R]
+/Limits [(subsubsection.1.9.15) (subsubsection.1.9.6)]
+>> endobj
+12862 0 obj <<
+/Names [(subsubsection.1.9.7) 798 0 R (subsubsection.1.9.8) 800 0 R (subsubsection.1.9.9) 809 0 R (subsubsection.10.1.1) 2046 0 R (subsubsection.10.1.2) 2047 0 R (subsubsection.10.2.1) 2062 0 R]
+/Limits [(subsubsection.1.9.7) (subsubsection.10.2.1)]
+>> endobj
+12863 0 obj <<
+/Names [(subsubsection.10.2.2) 2072 0 R (subsubsection.10.3.1) 2074 0 R (subsubsection.11.1.1) 2539 0 R (subsubsection.11.1.2) 2547 0 R (subsubsection.11.1.3) 2575 0 R (subsubsection.11.1.4) 2790 0 R]
+/Limits [(subsubsection.10.2.2) (subsubsection.11.1.4)]
+>> endobj
+12864 0 obj <<
+/Names [(subsubsection.11.10.1) 4708 0 R (subsubsection.11.10.2) 4719 0 R (subsubsection.11.10.3) 4726 0 R (subsubsection.11.10.4) 4728 0 R (subsubsection.11.10.5) 4738 0 R (subsubsection.11.11.1) 4870 0 R]
+/Limits [(subsubsection.11.10.1) (subsubsection.11.11.1)]
+>> endobj
+12865 0 obj <<
+/Names [(subsubsection.11.11.2) 4879 0 R (subsubsection.11.12.1) 4913 0 R (subsubsection.11.13.1) 4928 0 R (subsubsection.11.13.2) 4930 0 R (subsubsection.11.14.1) 5025 0 R (subsubsection.11.14.2) 5027 0 R]
+/Limits [(subsubsection.11.11.2) (subsubsection.11.14.2)]
+>> endobj
+12866 0 obj <<
+/Names [(subsubsection.11.14.3) 5029 0 R (subsubsection.11.15.1) 5050 0 R (subsubsection.11.16.1) 5052 0 R (subsubsection.11.17.1) 5218 0 R (subsubsection.11.17.2) 5233 0 R (subsubsection.11.17.3) 5235 0 R]
+/Limits [(subsubsection.11.14.3) (subsubsection.11.17.3)]
+>> endobj
+12867 0 obj <<
+/Names [(subsubsection.11.17.4) 5270 0 R (subsubsection.11.18.1) 5386 0 R (subsubsection.11.18.2) 5406 0 R (subsubsection.11.18.3) 5410 0 R (subsubsection.11.19.1) 5443 0 R (subsubsection.11.2.1) 2835 0 R]
+/Limits [(subsubsection.11.17.4) (subsubsection.11.2.1)]
+>> endobj
+12868 0 obj <<
+/Names [(subsubsection.11.2.2) 2836 0 R (subsubsection.11.20.1) 5528 0 R (subsubsection.11.20.2) 5529 0 R (subsubsection.11.21.1) 6005 0 R (subsubsection.11.21.2) 6022 0 R (subsubsection.11.21.3) 6063 0 R]
+/Limits [(subsubsection.11.2.2) (subsubsection.11.21.3)]
+>> endobj
+12869 0 obj <<
+/Names [(subsubsection.11.21.4) 6311 0 R (subsubsection.11.22.1) 6344 0 R (subsubsection.11.22.2) 6345 0 R (subsubsection.11.23.1) 6377 0 R (subsubsection.11.24.1) 6493 0 R (subsubsection.11.24.2) 6510 0 R]
+/Limits [(subsubsection.11.21.4) (subsubsection.11.24.2)]
+>> endobj
+12870 0 obj <<
+/Names [(subsubsection.11.24.3) 6512 0 R (subsubsection.11.24.4) 6545 0 R (subsubsection.11.25.1) 6666 0 R (subsubsection.11.25.2) 6685 0 R (subsubsection.11.25.3) 6690 0 R (subsubsection.11.26.1) 6725 0 R]
+/Limits [(subsubsection.11.24.3) (subsubsection.11.26.1)]
+>> endobj
+12871 0 obj <<
+/Names [(subsubsection.11.27.1) 6764 0 R (subsubsection.11.27.2) 6765 0 R (subsubsection.11.28.1) 6769 0 R (subsubsection.11.29.1) 6818 0 R (subsubsection.11.29.2) 6831 0 R (subsubsection.11.29.3) 6843 0 R]
+/Limits [(subsubsection.11.27.1) (subsubsection.11.29.3)]
+>> endobj
+12872 0 obj <<
+/Names [(subsubsection.11.3.1) 2864 0 R (subsubsection.11.30.1) 6845 0 R (subsubsection.11.31.1) 6862 0 R (subsubsection.11.32.1) 6864 0 R (subsubsection.11.33.1) 7060 0 R (subsubsection.11.33.2) 7061 0 R]
+/Limits [(subsubsection.11.3.1) (subsubsection.11.33.2)]
+>> endobj
+12873 0 obj <<
+/Names [(subsubsection.11.33.3) 7073 0 R (subsubsection.11.34.1) 7283 0 R (subsubsection.11.34.2) 7293 0 R (subsubsection.11.34.3) 7296 0 R (subsubsection.11.34.4) 7314 0 R (subsubsection.11.34.5) 7349 0 R]
+/Limits [(subsubsection.11.33.3) (subsubsection.11.34.5)]
+>> endobj
+12874 0 obj <<
+/Names [(subsubsection.11.35.1) 7423 0 R (subsubsection.11.35.2) 7424 0 R (subsubsection.11.35.3) 7454 0 R (subsubsection.11.36.1) 7471 0 R (subsubsection.11.36.2) 7473 0 R (subsubsection.11.37.1) 7898 0 R]
+/Limits [(subsubsection.11.35.1) (subsubsection.11.37.1)]
+>> endobj
+12875 0 obj <<
+/Names [(subsubsection.11.37.2) 7912 0 R (subsubsection.11.37.3) 7940 0 R (subsubsection.11.37.4) 8107 0 R (subsubsection.11.38.1) 8525 0 R (subsubsection.11.38.2) 8537 0 R (subsubsection.11.38.3) 8576 0 R]
+/Limits [(subsubsection.11.37.2) (subsubsection.11.38.3)]
+>> endobj
+12876 0 obj <<
+/Names [(subsubsection.11.38.4) 8727 0 R (subsubsection.11.39.1) 9122 0 R (subsubsection.11.39.2) 9124 0 R (subsubsection.11.39.3) 9155 0 R (subsubsection.11.39.4) 9325 0 R (subsubsection.11.4.1) 3294 0 R]
+/Limits [(subsubsection.11.38.4) (subsubsection.11.4.1)]
+>> endobj
+12877 0 obj <<
+/Names [(subsubsection.11.4.2) 3296 0 R (subsubsection.11.4.3) 3329 0 R (subsubsection.11.4.4) 3500 0 R (subsubsection.11.40.1) 9404 0 R (subsubsection.11.40.2) 9405 0 R (subsubsection.11.41.1) 9463 0 R]
+/Limits [(subsubsection.11.4.2) (subsubsection.11.41.1)]
+>> endobj
+12878 0 obj <<
+/Names [(subsubsection.11.41.2) 9464 0 R (subsubsection.11.42.1) 9915 0 R (subsubsection.11.42.2) 9933 0 R (subsubsection.11.42.3) 9951 0 R (subsubsection.11.42.4) 10203 0 R (subsubsection.11.43.1) 10369 0 R]
+/Limits [(subsubsection.11.41.2) (subsubsection.11.43.1)]
+>> endobj
+12879 0 obj <<
+/Names [(subsubsection.11.43.2) 10392 0 R (subsubsection.11.43.3) 10396 0 R (subsubsection.11.43.4) 10408 0 R (subsubsection.11.44.1) 10413 0 R (subsubsection.11.45.1) 10426 0 R (subsubsection.11.45.2) 10428 0 R]
+/Limits [(subsubsection.11.43.2) (subsubsection.11.45.2)]
+>> endobj
+12880 0 obj <<
+/Names [(subsubsection.11.46.1) 10452 0 R (subsubsection.11.47.1) 10488 0 R (subsubsection.11.47.2) 10502 0 R (subsubsection.11.47.3) 10504 0 R (subsubsection.11.47.4) 10506 0 R (subsubsection.11.48.1) 10538 0 R]
+/Limits [(subsubsection.11.46.1) (subsubsection.11.48.1)]
+>> endobj
+12881 0 obj <<
+/Names [(subsubsection.11.49.1) 10563 0 R (subsubsection.11.49.2) 10564 0 R (subsubsection.11.49.3) 10566 0 R (subsubsection.11.5.1) 3589 0 R (subsubsection.11.5.2) 3602 0 R (subsubsection.11.5.3) 3637 0 R]
+/Limits [(subsubsection.11.49.1) (subsubsection.11.5.3)]
+>> endobj
+12882 0 obj <<
+/Names [(subsubsection.11.6.1) 4042 0 R (subsubsection.11.6.2) 4058 0 R (subsubsection.11.6.3) 4060 0 R (subsubsection.11.7.1) 4272 0 R (subsubsection.11.7.2) 4282 0 R (subsubsection.11.7.3) 4289 0 R]
+/Limits [(subsubsection.11.6.1) (subsubsection.11.7.3)]
+>> endobj
+12883 0 obj <<
+/Names [(subsubsection.11.7.4) 4305 0 R (subsubsection.11.8.1) 4444 0 R (subsubsection.11.8.2) 4451 0 R (subsubsection.11.8.3) 4453 0 R (subsubsection.11.8.4) 4475 0 R (subsubsection.11.9.1) 4509 0 R]
+/Limits [(subsubsection.11.7.4) (subsubsection.11.9.1)]
+>> endobj
+12884 0 obj <<
+/Names [(subsubsection.9.1.1) 1748 0 R (subsubsection.9.1.2) 1749 0 R (subsubsection.9.1.3) 1773 0 R (subsubsection.9.1.4) 1777 0 R (subsubsection.9.1.5) 1797 0 R]
+/Limits [(subsubsection.9.1.1) (subsubsection.9.1.5)]
+>> endobj
+12885 0 obj <<
+/Kids [12266 0 R 12267 0 R 12268 0 R 12269 0 R 12270 0 R 12271 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1BD__Shape_2626176104b632be36dc614e1d5536ea)]
+>> endobj
+12886 0 obj <<
+/Kids [12272 0 R 12273 0 R 12274 0 R 12275 0 R 12276 0 R 12277 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_28b268e37d25a0cfa2b5bf39e85c758d) (classParma__Polyhedra__Library_1_1BD__Shape_8d6c186583503c4394603550b50edf59)]
+>> endobj
+12887 0 obj <<
+/Kids [12278 0 R 12279 0 R 12280 0 R 12281 0 R 12282 0 R 12283 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_8e13e7d3536de2745bc9e58a25b75b77) (classParma__Polyhedra__Library_1_1BD__Shape_dbf2609849c95cfb7277df1edc69534f)]
+>> endobj
+12888 0 obj <<
+/Kids [12284 0 R 12285 0 R 12286 0 R 12287 0 R 12288 0 R 12289 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1BD__Shape_df3cfc56df68bc8063e6e9eb3d0ad3f1) (classParma__Polyhedra__Library_1_1Box_1d8eb71bd67ae50436968e7323bbeb7e)]
+>> endobj
+12889 0 obj <<
+/Kids [12290 0 R 12291 0 R 12292 0 R 12293 0 R 12294 0 R 12295 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_22f9ceb879f1c8d892f60fb3d9577d81) (classParma__Polyhedra__Library_1_1Box_7e3ffa1dd9894e6418bd153a4cd2de12)]
+>> endobj
+12890 0 obj <<
+/Kids [12296 0 R 12297 0 R 12298 0 R 12299 0 R 12300 0 R 12301 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_7fff251a8cd2ecd8b928175af94d7069) (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5)]
+>> endobj
+12891 0 obj <<
+/Kids [12302 0 R 12303 0 R 12304 0 R 12305 0 R 12306 0 R 12307 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) (classParma__Polyhedra__Library_1_1C__Polyhedron_9720487deabf813a31afd4e9cfe695aa)]
+>> endobj
+12892 0 obj <<
+/Kids [12308 0 R 12309 0 R 12310 0 R 12311 0 R 12312 0 R 12313 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1C__Polyhedron_c3126925bcd3349b150771d52c19639d) (classParma__Polyhedra__Library_1_1Checked__Number_4bed59d493c4fd91537602efb267c938)]
+>> endobj
+12893 0 obj <<
+/Kids [12314 0 R 12315 0 R 12316 0 R 12317 0 R 12318 0 R 12319 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_4cca5e272cecc038189aac8b2fc8ace2) (classParma__Polyhedra__Library_1_1Checked__Number_a3de5a2fe7f06d0aa3e4972be2023933)]
+>> endobj
+12894 0 obj <<
+/Kids [12320 0 R 12321 0 R 12322 0 R 12323 0 R 12324 0 R 12325 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_a7885d402d5653321f316029ca0af517) (classParma__Polyhedra__Library_1_1Checked__Number_f47ee9cf59cfac8a346660698c61d113)]
+>> endobj
+12895 0 obj <<
+/Kids [12326 0 R 12327 0 R 12328 0 R 12329 0 R 12330 0 R 12331 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Checked__Number_f9af63978105e142642222864ce7c3be) (classParma__Polyhedra__Library_1_1Congruence__System_044dbf593127c9e8cbbbe2a0d169c30c)]
+>> endobj
+12896 0 obj <<
+/Kids [12332 0 R 12333 0 R 12334 0 R 12335 0 R 12336 0 R 12337 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_067b4c27cf8643f8ded50ebda77da8aa) (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874)]
+>> endobj
+12897 0 obj <<
+/Kids [12338 0 R 12339 0 R 12340 0 R 12341 0 R 12342 0 R 12343 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) (classParma__Polyhedra__Library_1_1Constraint_2935fff040a5b31930fff594a0b2596d)]
+>> endobj
+12898 0 obj <<
+/Kids [12344 0 R 12345 0 R 12346 0 R 12347 0 R 12348 0 R 12349 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_2fb9117b8937e3d9a9b4d3ae397bb79a) (classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_f3c5bf7dd0135194b6c180dcb232ef54)]
+>> endobj
+12899 0 obj <<
+/Kids [12350 0 R 12351 0 R 12352 0 R 12353 0 R 12354 0 R 12355 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint__System_1_1const__iterator_fc81dafc5cf15ca9acd8f6a03f66c788) (classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab)]
+>> endobj
+12900 0 obj <<
+/Kids [12356 0 R 12357 0 R 12358 0 R 12359 0 R 12360 0 R 12361 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Constraint_c9b8aa34a8ed8e2c3c38d0435adff6ab7491a8ba26958c3e27bed23b7eef1a7e) (classParma__Polyhedra__Library_1_1Determinate_a76dc794cd0a663bebbf8fc0d11d9714)]
+>> endobj
+12901 0 obj <<
+/Kids [12362 0 R 12363 0 R 12364 0 R 12365 0 R 12366 0 R 12367 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Determinate_a894183e37c6f3614ed4938d94a3a7ee) (classParma__Polyhedra__Library_1_1Generator_2aba27eb7310045e1a35c7e68af01ab2)]
+>> endobj
+12902 0 obj <<
+/Kids [12368 0 R 12369 0 R 12370 0 R 12371 0 R 12372 0 R 12373 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_303b4ed4262469c1834228e0f88dba74) (classParma__Polyhedra__Library_1_1Generator__System_25fce97f25e1814c62ec46b7a04ee942)]
+>> endobj
+12903 0 obj <<
+/Kids [12374 0 R 12375 0 R 12376 0 R 12377 0 R 12378 0 R 12379 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) (classParma__Polyhedra__Library_1_1Generator_eff190ba56f86d3425859043689d499a)]
+>> endobj
+12904 0 obj <<
+/Kids [12380 0 R 12381 0 R 12382 0 R 12383 0 R 12384 0 R 12385 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator_f1827b1f7a42393a2526944530559c5a) (classParma__Polyhedra__Library_1_1Grid_323efbe5d43695cc65f8cd5935da94dc)]
+>> endobj
+12905 0 obj <<
+/Kids [12386 0 R 12387 0 R 12388 0 R 12389 0 R 12390 0 R 12391 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_3628b6d6e250d4c6b8301173c6ecc777) (classParma__Polyhedra__Library_1_1Grid_8d2cc5d18d050975101f2860f2919da8)]
+>> endobj
+12906 0 obj <<
+/Kids [12392 0 R 12393 0 R 12394 0 R 12395 0 R 12396 0 R 12397 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_8edc85ba3e8a09593959814eaad72499) (classParma__Polyhedra__Library_1_1Grid__Generator_1a15765e7fd1f486a9ee12a061dc4c76)]
+>> endobj
+12907 0 obj <<
+/Kids [12398 0 R 12399 0 R 12400 0 R 12401 0 R 12402 0 R 12403 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_1aabacaac0806d617f53db4b34b3349e) (classParma__Polyhedra__Library_1_1Grid__Generator__System_63fd965105d740ff7003037964ec7d10)]
+>> endobj
+12908 0 obj <<
+/Kids [12404 0 R 12405 0 R 12406 0 R 12407 0 R 12408 0 R 12409 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator__System_642db539e09ba9a9746d490390097d73) (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6)]
+>> endobj
+12909 0 obj <<
+/Kids [12410 0 R 12411 0 R 12412 0 R 12413 0 R 12414 0 R 12415 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) (classParma__Polyhedra__Library_1_1Grid_fde364ce088f82cf2b9a231e7d9f2abc)]
+>> endobj
+12910 0 obj <<
+/Kids [12416 0 R 12417 0 R 12418 0 R 12419 0 R 12420 0 R 12421 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid_fe613a3da3edc3cb4506f70d409f061d) (classParma__Polyhedra__Library_1_1Linear__Expression_298a32e26d8133869f28560cca4ba73b)]
+>> endobj
+12911 0 obj <<
+/Kids [12422 0 R 12423 0 R 12424 0 R 12425 0 R 12426 0 R 12427 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_2e4d2efe88475a75dab18c7f9fe5e217) (classParma__Polyhedra__Library_1_1Linear__Expression_e9cc837bbae1745ada3780634c73858f)]
+>> endobj
+12912 0 obj <<
+/Kids [12428 0 R 12429 0 R 12430 0 R 12431 0 R 12432 0 R 12433 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Linear__Expression_ea20a64dc7e9dd789fb069c7b8faca16) (classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d)]
+>> endobj
+12913 0 obj <<
+/Kids [12434 0 R 12435 0 R 12436 0 R 12437 0 R 12438 0 R 12439 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1MIP__Problem_abc43ede7fd0577eaeb7255a0eca232d4d21924dceed7aac6368d4bc5affeccf) (classParma__Polyhedra__Library_1_1No__Reduction_77067a656a3aa9381a93a23dfba036e4)]
+>> endobj
+12914 0 obj <<
+/Kids [12440 0 R 12441 0 R 12442 0 R 12443 0 R 12444 0 R 12445 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1No__Reduction_f38e352895f910cc9556dc7ac0d8f39d) (classParma__Polyhedra__Library_1_1Octagonal__Shape_35518da8c480784110d40b680256bd61)]
+>> endobj
+12915 0 obj <<
+/Kids [12446 0 R 12447 0 R 12448 0 R 12449 0 R 12450 0 R 12451 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) (classParma__Polyhedra__Library_1_1Octagonal__Shape_af0214aee8884dc52be4e061d6b4df94)]
+>> endobj
+12916 0 obj <<
+/Kids [12452 0 R 12453 0 R 12454 0 R 12455 0 R 12456 0 R 12457 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_afdd0083c1c10d49e06f4718a826ae1b) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0c2c96efcf10102068f754c608a12427)]
+>> endobj
+12917 0 obj <<
+/Kids [12458 0 R 12459 0 R 12460 0 R 12461 0 R 12462 0 R 12463 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_0e39243c24d99f8d374f9c14e3da8d98) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4a53183970490595ac39c8c070601c6f)]
+>> endobj
+12918 0 obj <<
+/Kids [12464 0 R 12465 0 R 12466 0 R 12467 0 R 12468 0 R 12469 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_4ac4e4131c756f0ffce85b9dec7d2b3a) (classParma__Polyhedra__Library_1_1Partially__Reduced__Product_b95eae83384d8c6b41b9ed8f9fd16704)]
+>> endobj
+12919 0 obj <<
+/Kids [12470 0 R 12471 0 R 12472 0 R 12473 0 R 12474 0 R 12475 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Partially__Reduced__Product_bb5709426ac80aa0bcf907b4f1d4a577) (classParma__Polyhedra__Library_1_1Pointset__Powerset_16579a075dfcd1fa22ac02bcc859353b)]
+>> endobj
+12920 0 obj <<
+/Kids [12476 0 R 12477 0 R 12478 0 R 12479 0 R 12480 0 R 12481 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_1760892eb5a3f38323cff257495f1711) (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6)]
+>> endobj
+12921 0 obj <<
+/Kids [12482 0 R 12483 0 R 12484 0 R 12485 0 R 12486 0 R 12487 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) (classParma__Polyhedra__Library_1_1Pointset__Powerset_d64b9c9ef7488b49c4f9a4acd3f57491)]
+>> endobj
+12922 0 obj <<
+/Kids [12488 0 R 12489 0 R 12490 0 R 12491 0 R 12492 0 R 12493 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_d6f64ccc36541cf23baca88a68ad06d7) (classParma__Polyhedra__Library_1_1Poly__Gen__Relation_4f7df2a0b66616d7672e562fa8c4e8f6)]
+>> endobj
+12923 0 obj <<
+/Kids [12494 0 R 12495 0 R 12496 0 R 12497 0 R 12498 0 R 12499 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Poly__Gen__Relation_5740d23d50b9aa7c95e8b6b51242258d) (classParma__Polyhedra__Library_1_1Polyhedron_4f9a47ba1b29f1e07a32542584d50686)]
+>> endobj
+12924 0 obj <<
+/Kids [12500 0 R 12501 0 R 12502 0 R 12503 0 R 12504 0 R 12505 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_50e1047c49fffb06bc5089a06a051a3d) (classParma__Polyhedra__Library_1_1Polyhedron_9ca6b6eed07fd3b72119b8ea58328e5e)]
+>> endobj
+12925 0 obj <<
+/Kids [12506 0 R 12507 0 R 12508 0 R 12509 0 R 12510 0 R 12511 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_9f3c5474494eb306717bc3da7c109307) (classParma__Polyhedra__Library_1_1Polyhedron_e58a861a42c5216a2267e3f94ecaec8c)]
 >> endobj
-327 0 obj <<
-/Title 328 0 R
-/A 325 0 R
-/Parent 135 0 R
-/Prev 323 0 R
-/Next 331 0 R
+12926 0 obj <<
+/Kids [12512 0 R 12513 0 R 12514 0 R 12515 0 R 12516 0 R 12517 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Polyhedron_e680437fdc213b7174c581caa2e0c0d3) (classParma__Polyhedra__Library_1_1Powerset_5c3bee913efb87e4661df746e184e1e1)]
 >> endobj
-323 0 obj <<
-/Title 324 0 R
-/A 321 0 R
-/Parent 135 0 R
-/Prev 319 0 R
-/Next 327 0 R
+12927 0 obj <<
+/Kids [12518 0 R 12519 0 R 12520 0 R 12521 0 R 12522 0 R 12523 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) (classParma__Polyhedra__Library_1_1Throwable_5024cc2b142473f5f733a8808cb09162)]
 >> endobj
-319 0 obj <<
-/Title 320 0 R
-/A 317 0 R
-/Parent 135 0 R
-/Prev 315 0 R
-/Next 323 0 R
+12928 0 obj <<
+/Kids [12524 0 R 12525 0 R 12526 0 R 12527 0 R 12528 0 R 12529 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Variable) (deprecated__deprecated000007)]
 >> endobj
-315 0 obj <<
-/Title 316 0 R
-/A 313 0 R
-/Parent 135 0 R
-/Prev 311 0 R
-/Next 319 0 R
+12929 0 obj <<
+/Kids [12530 0 R 12531 0 R 12532 0 R 12533 0 R 12534 0 R 12535 0 R]
+/Limits [(deprecated__deprecated000008) (group__PPL__CXX__interface_g760aa1f95d13e389ec6eb33fdbf88783)]
 >> endobj
-311 0 obj <<
-/Title 312 0 R
-/A 309 0 R
-/Parent 135 0 R
-/Prev 307 0 R
-/Next 315 0 R
+12930 0 obj <<
+/Kids [12536 0 R 12537 0 R 12538 0 R 12539 0 R 12540 0 R 12541 0 R]
+/Limits [(group__PPL__CXX__interface_g79bd3696a302bb721ef8168fa5d650fb) (group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a8979f37a289d4cb316643f1dcc07ec7cd)]
 >> endobj
-307 0 obj <<
-/Title 308 0 R
-/A 305 0 R
-/Parent 135 0 R
-/Prev 303 0 R
-/Next 311 0 R
+12931 0 obj <<
+/Kids [12542 0 R 12543 0 R 12544 0 R 12545 0 R 12546 0 R 12547 0 R]
+/Limits [(group__PPL__CXX__interface_gga88e9b9cb2588cbf5914695fc14e69a89f5dce9506b72773425c0504845d8e4e) (main_BHRZ03a)]
 >> endobj
-303 0 obj <<
-/Title 304 0 R
-/A 301 0 R
-/Parent 135 0 R
-/Prev 299 0 R
-/Next 307 0 R
+12932 0 obj <<
+/Kids [12548 0 R 12549 0 R 12550 0 R 12551 0 R 12552 0 R 12553 0 R]
+/Limits [(main_BHRZ03b) (main_Collapsing_a_Powerset_Element)]
 >> endobj
-299 0 obj <<
-/Title 300 0 R
-/A 297 0 R
-/Parent 135 0 R
-/Prev 295 0 R
-/Next 303 0 R
+12933 0 obj <<
+/Kids [12554 0 R 12555 0 R 12556 0 R 12557 0 R 12558 0 R 12559 0 R]
+/Limits [(main_Combinations_and_Hulls) (main_Grid_Generator_Representation)]
 >> endobj
-295 0 obj <<
-/Title 296 0 R
-/A 293 0 R
-/Parent 135 0 R
-/Prev 291 0 R
-/Next 299 0 R
+12934 0 obj <<
+/Kids [12560 0 R 12561 0 R 12562 0 R 12563 0 R 12564 0 R 12565 0 R]
+/Limits [(main_Grid_Intersection_and_Join) (main_Mas93)]
 >> endobj
-291 0 obj <<
-/Title 292 0 R
-/A 289 0 R
-/Parent 135 0 R
-/Prev 287 0 R
-/Next 295 0 R
+12935 0 obj <<
+/Kids [12566 0 R 12567 0 R 12568 0 R 12569 0 R 12570 0 R 12571 0 R]
+/Limits [(main_Meet_Preserving_Simplification) (main_SS07)]
 >> endobj
-287 0 obj <<
-/Title 288 0 R
-/A 285 0 R
-/Parent 135 0 R
-/Prev 283 0 R
-/Next 291 0 R
+12936 0 obj <<
+/Kids [12572 0 R 12573 0 R 12574 0 R 12575 0 R 12576 0 R 12577 0 R]
+/Limits [(main_SW70) (main_pps_bgp99_extrapolation)]
 >> endobj
-283 0 obj <<
-/Title 284 0 R
-/A 281 0 R
-/Parent 135 0 R
-/Prev 279 0 R
-/Next 287 0 R
+12937 0 obj <<
+/Kids [12578 0 R 12579 0 R 12580 0 R 12581 0 R 12582 0 R 12583 0 R]
+/Limits [(main_pps_certificate_widening) (namespaceParma__Polyhedra__Library_6a54c55d8b52ef353df7cefdfa632d8d)]
 >> endobj
-279 0 obj <<
-/Title 280 0 R
-/A 277 0 R
-/Parent 135 0 R
-/Prev 275 0 R
-/Next 283 0 R
+12938 0 obj <<
+/Kids [12584 0 R 12585 0 R 12586 0 R 12587 0 R 12588 0 R 12589 0 R]
+/Limits [(namespaceParma__Polyhedra__Library_6c841f33162c2419bd53a078e6c788ee) (page.11)]
 >> endobj
-275 0 obj <<
-/Title 276 0 R
-/A 273 0 R
-/Parent 135 0 R
-/Prev 271 0 R
-/Next 279 0 R
+12939 0 obj <<
+/Kids [12590 0 R 12591 0 R 12592 0 R 12593 0 R 12594 0 R 12595 0 R]
+/Limits [(page.110) (page.142)]
 >> endobj
-271 0 obj <<
-/Title 272 0 R
-/A 269 0 R
-/Parent 135 0 R
-/Prev 267 0 R
-/Next 275 0 R
+12940 0 obj <<
+/Kids [12596 0 R 12597 0 R 12598 0 R 12599 0 R 12600 0 R 12601 0 R]
+/Limits [(page.143) (page.175)]
 >> endobj
-267 0 obj <<
-/Title 268 0 R
-/A 265 0 R
-/Parent 135 0 R
-/Prev 263 0 R
-/Next 271 0 R
+12941 0 obj <<
+/Kids [12602 0 R 12603 0 R 12604 0 R 12605 0 R 12606 0 R 12607 0 R]
+/Limits [(page.176) (page.207)]
 >> endobj
-263 0 obj <<
-/Title 264 0 R
-/A 261 0 R
-/Parent 135 0 R
-/Prev 259 0 R
-/Next 267 0 R
+12942 0 obj <<
+/Kids [12608 0 R 12609 0 R 12610 0 R 12611 0 R 12612 0 R 12613 0 R]
+/Limits [(page.208) (page.24)]
 >> endobj
-259 0 obj <<
-/Title 260 0 R
-/A 257 0 R
-/Parent 135 0 R
-/Prev 255 0 R
-/Next 263 0 R
+12943 0 obj <<
+/Kids [12614 0 R 12615 0 R 12616 0 R 12617 0 R 12618 0 R 12619 0 R]
+/Limits [(page.240) (page.272)]
 >> endobj
-255 0 obj <<
-/Title 256 0 R
-/A 253 0 R
-/Parent 135 0 R
-/Prev 251 0 R
-/Next 259 0 R
+12944 0 obj <<
+/Kids [12620 0 R 12621 0 R 12622 0 R 12623 0 R 12624 0 R 12625 0 R]
+/Limits [(page.273) (page.304)]
 >> endobj
-251 0 obj <<
-/Title 252 0 R
-/A 249 0 R
-/Parent 135 0 R
-/Prev 247 0 R
-/Next 255 0 R
+12945 0 obj <<
+/Kids [12626 0 R 12627 0 R 12628 0 R 12629 0 R 12630 0 R 12631 0 R]
+/Limits [(page.305) (page.337)]
 >> endobj
-247 0 obj <<
-/Title 248 0 R
-/A 245 0 R
-/Parent 135 0 R
-/Prev 243 0 R
-/Next 251 0 R
+12946 0 obj <<
+/Kids [12632 0 R 12633 0 R 12634 0 R 12635 0 R 12636 0 R 12637 0 R]
+/Limits [(page.338) (page.37)]
 >> endobj
-243 0 obj <<
-/Title 244 0 R
-/A 241 0 R
-/Parent 135 0 R
-/Prev 239 0 R
-/Next 247 0 R
+12947 0 obj <<
+/Kids [12638 0 R 12639 0 R 12640 0 R 12641 0 R 12642 0 R 12643 0 R]
+/Limits [(page.370) (page.401)]
 >> endobj
-239 0 obj <<
-/Title 240 0 R
-/A 237 0 R
-/Parent 135 0 R
-/Prev 235 0 R
-/Next 243 0 R
+12948 0 obj <<
+/Kids [12644 0 R 12645 0 R 12646 0 R 12647 0 R 12648 0 R 12649 0 R]
+/Limits [(page.402) (page.434)]
 >> endobj
-235 0 obj <<
-/Title 236 0 R
-/A 233 0 R
-/Parent 135 0 R
-/Prev 231 0 R
-/Next 239 0 R
+12949 0 obj <<
+/Kids [12650 0 R 12651 0 R 12652 0 R 12653 0 R 12654 0 R 12655 0 R]
+/Limits [(page.435) (page.65)]
 >> endobj
-231 0 obj <<
-/Title 232 0 R
-/A 229 0 R
-/Parent 135 0 R
-/Prev 227 0 R
-/Next 235 0 R
+12950 0 obj <<
+/Kids [12656 0 R 12657 0 R 12658 0 R 12659 0 R 12660 0 R 12661 0 R]
+/Limits [(page.66) (page.98)]
 >> endobj
-227 0 obj <<
-/Title 228 0 R
-/A 225 0 R
-/Parent 135 0 R
-/Prev 223 0 R
-/Next 231 0 R
+12951 0 obj <<
+/Kids [12662 0 R 12663 0 R 12664 0 R 12665 0 R 12666 0 R 12667 0 R]
+/Limits [(page.99) (paragraph.11.1.3.21)]
 >> endobj
-223 0 obj <<
-/Title 224 0 R
-/A 221 0 R
-/Parent 135 0 R
-/Prev 219 0 R
-/Next 227 0 R
+12952 0 obj <<
+/Kids [12668 0 R 12669 0 R 12670 0 R 12671 0 R 12672 0 R 12673 0 R]
+/Limits [(paragraph.11.1.3.22) (paragraph.11.1.3.54)]
 >> endobj
-219 0 obj <<
-/Title 220 0 R
-/A 217 0 R
-/Parent 135 0 R
-/Prev 215 0 R
-/Next 223 0 R
+12953 0 obj <<
+/Kids [12674 0 R 12675 0 R 12676 0 R 12677 0 R 12678 0 R 12679 0 R]
+/Limits [(paragraph.11.1.3.55) (paragraph.11.10.5.14)]
 >> endobj
-215 0 obj <<
-/Title 216 0 R
-/A 213 0 R
-/Parent 135 0 R
-/Prev 211 0 R
-/Next 219 0 R
+12954 0 obj <<
+/Kids [12680 0 R 12681 0 R 12682 0 R 12683 0 R 12684 0 R 12685 0 R]
+/Limits [(paragraph.11.10.5.15) (paragraph.11.17.3.7)]
 >> endobj
-211 0 obj <<
-/Title 212 0 R
-/A 209 0 R
-/Parent 135 0 R
-/Prev 207 0 R
-/Next 215 0 R
+12955 0 obj <<
+/Kids [12686 0 R 12687 0 R 12688 0 R 12689 0 R 12690 0 R 12691 0 R]
+/Limits [(paragraph.11.17.4.1) (paragraph.11.21.2.12)]
 >> endobj
-207 0 obj <<
-/Title 208 0 R
-/A 205 0 R
-/Parent 135 0 R
-/Prev 203 0 R
-/Next 211 0 R
+12956 0 obj <<
+/Kids [12692 0 R 12693 0 R 12694 0 R 12695 0 R 12696 0 R 12697 0 R]
+/Limits [(paragraph.11.21.2.13) (paragraph.11.21.3.33)]
 >> endobj
-203 0 obj <<
-/Title 204 0 R
-/A 201 0 R
-/Parent 135 0 R
-/Prev 199 0 R
-/Next 207 0 R
+12957 0 obj <<
+/Kids [12698 0 R 12699 0 R 12700 0 R 12701 0 R 12702 0 R 12703 0 R]
+/Limits [(paragraph.11.21.3.34) (paragraph.11.21.3.66)]
 >> endobj
-199 0 obj <<
-/Title 200 0 R
-/A 197 0 R
-/Parent 135 0 R
-/Prev 195 0 R
-/Next 203 0 R
+12958 0 obj <<
+/Kids [12704 0 R 12705 0 R 12706 0 R 12707 0 R 12708 0 R 12709 0 R]
+/Limits [(paragraph.11.21.3.67) (paragraph.11.29.2.5)]
 >> endobj
-195 0 obj <<
-/Title 196 0 R
-/A 193 0 R
-/Parent 135 0 R
-/Prev 191 0 R
-/Next 199 0 R
+12959 0 obj <<
+/Kids [12710 0 R 12711 0 R 12712 0 R 12713 0 R 12714 0 R 12715 0 R]
+/Limits [(paragraph.11.29.2.6) (paragraph.11.34.3.2)]
 >> endobj
-191 0 obj <<
-/Title 192 0 R
-/A 189 0 R
-/Parent 135 0 R
-/Prev 187 0 R
-/Next 195 0 R
+12960 0 obj <<
+/Kids [12716 0 R 12717 0 R 12718 0 R 12719 0 R 12720 0 R 12721 0 R]
+/Limits [(paragraph.11.34.3.3) (paragraph.11.37.2.5)]
 >> endobj
-187 0 obj <<
-/Title 188 0 R
-/A 185 0 R
-/Parent 135 0 R
-/Prev 183 0 R
-/Next 191 0 R
+12961 0 obj <<
+/Kids [12722 0 R 12723 0 R 12724 0 R 12725 0 R 12726 0 R 12727 0 R]
+/Limits [(paragraph.11.37.2.6) (paragraph.11.37.3.38)]
 >> endobj
-183 0 obj <<
-/Title 184 0 R
-/A 181 0 R
-/Parent 135 0 R
-/Prev 179 0 R
-/Next 187 0 R
+12962 0 obj <<
+/Kids [12728 0 R 12729 0 R 12730 0 R 12731 0 R 12732 0 R 12733 0 R]
+/Limits [(paragraph.11.37.3.39) (paragraph.11.38.2.11)]
 >> endobj
-179 0 obj <<
-/Title 180 0 R
-/A 177 0 R
-/Parent 135 0 R
-/Prev 175 0 R
-/Next 183 0 R
+12963 0 obj <<
+/Kids [12734 0 R 12735 0 R 12736 0 R 12737 0 R 12738 0 R 12739 0 R]
+/Limits [(paragraph.11.38.2.12) (paragraph.11.38.3.33)]
 >> endobj
-175 0 obj <<
-/Title 176 0 R
-/A 173 0 R
-/Parent 135 0 R
-/Prev 171 0 R
-/Next 179 0 R
+12964 0 obj <<
+/Kids [12740 0 R 12741 0 R 12742 0 R 12743 0 R 12744 0 R 12745 0 R]
+/Limits [(paragraph.11.38.3.34) (paragraph.11.39.3.13)]
 >> endobj
-171 0 obj <<
-/Title 172 0 R
-/A 169 0 R
-/Parent 135 0 R
-/Prev 167 0 R
-/Next 175 0 R
+12965 0 obj <<
+/Kids [12746 0 R 12747 0 R 12748 0 R 12749 0 R 12750 0 R 12751 0 R]
+/Limits [(paragraph.11.39.3.14) (paragraph.11.39.3.46)]
 >> endobj
-167 0 obj <<
-/Title 168 0 R
-/A 165 0 R
-/Parent 135 0 R
-/Prev 163 0 R
-/Next 171 0 R
+12966 0 obj <<
+/Kids [12752 0 R 12753 0 R 12754 0 R 12755 0 R 12756 0 R 12757 0 R]
+/Limits [(paragraph.11.39.3.47) (paragraph.11.4.3.11)]
 >> endobj
-163 0 obj <<
-/Title 164 0 R
-/A 161 0 R
-/Parent 135 0 R
-/Prev 159 0 R
-/Next 167 0 R
+12967 0 obj <<
+/Kids [12758 0 R 12759 0 R 12760 0 R 12761 0 R 12762 0 R 12763 0 R]
+/Limits [(paragraph.11.4.3.12) (paragraph.11.4.3.44)]
 >> endobj
-159 0 obj <<
-/Title 160 0 R
-/A 157 0 R
-/Parent 135 0 R
-/Prev 155 0 R
-/Next 163 0 R
+12968 0 obj <<
+/Kids [12764 0 R 12765 0 R 12766 0 R 12767 0 R 12768 0 R 12769 0 R]
+/Limits [(paragraph.11.4.3.45) (paragraph.11.41.2.4)]
 >> endobj
-155 0 obj <<
-/Title 156 0 R
-/A 153 0 R
-/Parent 135 0 R
-/Prev 151 0 R
-/Next 159 0 R
+12969 0 obj <<
+/Kids [12770 0 R 12771 0 R 12772 0 R 12773 0 R 12774 0 R 12775 0 R]
+/Limits [(paragraph.11.41.2.5) (paragraph.11.42.3.34)]
 >> endobj
-151 0 obj <<
-/Title 152 0 R
-/A 149 0 R
-/Parent 135 0 R
-/Prev 147 0 R
-/Next 155 0 R
+12970 0 obj <<
+/Kids [12776 0 R 12777 0 R 12778 0 R 12779 0 R 12780 0 R 12781 0 R]
+/Limits [(paragraph.11.42.3.35) (paragraph.11.42.3.67)]
 >> endobj
-147 0 obj <<
-/Title 148 0 R
-/A 145 0 R
-/Parent 135 0 R
-/Prev 143 0 R
-/Next 151 0 R
+12971 0 obj <<
+/Kids [12782 0 R 12783 0 R 12784 0 R 12785 0 R 12786 0 R 12787 0 R]
+/Limits [(paragraph.11.42.3.68) (paragraph.11.5.2.5)]
 >> endobj
-143 0 obj <<
-/Title 144 0 R
-/A 141 0 R
-/Parent 135 0 R
-/Prev 139 0 R
-/Next 147 0 R
+12972 0 obj <<
+/Kids [12788 0 R 12789 0 R 12790 0 R 12791 0 R 12792 0 R 12793 0 R]
+/Limits [(paragraph.11.5.2.6) (paragraph.11.6.3.36)]
 >> endobj
-139 0 obj <<
-/Title 140 0 R
-/A 137 0 R
-/Parent 135 0 R
-/Next 143 0 R
+12973 0 obj <<
+/Kids [12794 0 R 12795 0 R 12796 0 R 12797 0 R 12798 0 R 12799 0 R]
+/Limits [(paragraph.11.6.3.37) (paragraph.11.8.3.2)]
 >> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 12256 0 R
-/Prev 119 0 R
-/First 139 0 R
-/Last 331 0 R
-/Count -49
+12974 0 obj <<
+/Kids [12800 0 R 12801 0 R 12802 0 R 12803 0 R 12804 0 R 12805 0 R]
+/Limits [(paragraph.11.8.3.3) (section*.113)]
 >> endobj
-131 0 obj <<
-/Title 132 0 R
-/A 129 0 R
-/Parent 119 0 R
-/Prev 127 0 R
+12975 0 obj <<
+/Kids [12806 0 R 12807 0 R 12808 0 R 12809 0 R 12810 0 R 12811 0 R]
+/Limits [(section*.114) (section*.146)]
 >> endobj
-127 0 obj <<
-/Title 128 0 R
-/A 125 0 R
-/Parent 119 0 R
-/Prev 123 0 R
-/Next 131 0 R
+12976 0 obj <<
+/Kids [12812 0 R 12813 0 R 12814 0 R 12815 0 R 12816 0 R 12817 0 R]
+/Limits [(section*.147) (section*.179)]
 >> endobj
-123 0 obj <<
-/Title 124 0 R
-/A 121 0 R
-/Parent 119 0 R
-/Next 127 0 R
+12977 0 obj <<
+/Kids [12818 0 R 12819 0 R 12820 0 R 12821 0 R 12822 0 R 12823 0 R]
+/Limits [(section*.18) (section*.46)]
 >> endobj
-119 0 obj <<
-/Title 120 0 R
-/A 117 0 R
-/Parent 12256 0 R
-/Prev 111 0 R
-/Next 135 0 R
-/First 123 0 R
-/Last 131 0 R
-/Count -3
+12978 0 obj <<
+/Kids [12824 0 R 12825 0 R 12826 0 R 12827 0 R 12828 0 R 12829 0 R]
+/Limits [(section*.47) (section*.79)]
 >> endobj
-115 0 obj <<
-/Title 116 0 R
-/A 113 0 R
-/Parent 111 0 R
+12979 0 obj <<
+/Kids [12830 0 R 12831 0 R 12832 0 R 12833 0 R 12834 0 R 12835 0 R]
+/Limits [(section*.8) (structParma__Polyhedra__Library_1_1From__Covering__Box)]
 >> endobj
-111 0 obj <<
-/Title 112 0 R
-/A 109 0 R
-/Parent 12256 0 R
-/Prev 103 0 R
-/Next 119 0 R
-/First 115 0 R
-/Last 115 0 R
-/Count -1
+12980 0 obj <<
+/Kids [12836 0 R 12837 0 R 12838 0 R 12839 0 R 12840 0 R 12841 0 R]
+/Limits [(structParma__Polyhedra__Library_1_1Grid__Certificate_1_1Compare) (subsection.11.17)]
 >> endobj
-107 0 obj <<
-/Title 108 0 R
-/A 105 0 R
-/Parent 103 0 R
+12981 0 obj <<
+/Kids [12842 0 R 12843 0 R 12844 0 R 12845 0 R 12846 0 R 12847 0 R]
+/Limits [(subsection.11.18) (subsection.11.5)]
 >> endobj
-103 0 obj <<
-/Title 104 0 R
-/A 101 0 R
-/Parent 12256 0 R
-/Prev 95 0 R
-/Next 111 0 R
-/First 107 0 R
-/Last 107 0 R
-/Count -1
+12982 0 obj <<
+/Kids [12848 0 R 12849 0 R 12850 0 R 12851 0 R 12852 0 R 12853 0 R]
+/Limits [(subsection.11.6) (subsubsection.1.4.6)]
 >> endobj
-99 0 obj <<
-/Title 100 0 R
-/A 97 0 R
-/Parent 95 0 R
+12983 0 obj <<
+/Kids [12854 0 R 12855 0 R 12856 0 R 12857 0 R 12858 0 R 12859 0 R]
+/Limits [(subsubsection.1.4.7) (subsubsection.1.8.9)]
 >> endobj
-95 0 obj <<
-/Title 96 0 R
-/A 93 0 R
-/Parent 12256 0 R
-/Prev 87 0 R
-/Next 103 0 R
-/First 99 0 R
-/Last 99 0 R
-/Count -1
+12984 0 obj <<
+/Kids [12860 0 R 12861 0 R 12862 0 R 12863 0 R 12864 0 R 12865 0 R]
+/Limits [(subsubsection.1.9.1) (subsubsection.11.14.2)]
 >> endobj
-91 0 obj <<
-/Title 92 0 R
-/A 89 0 R
-/Parent 87 0 R
+12985 0 obj <<
+/Kids [12866 0 R 12867 0 R 12868 0 R 12869 0 R 12870 0 R 12871 0 R]
+/Limits [(subsubsection.11.14.3) (subsubsection.11.29.3)]
 >> endobj
-87 0 obj <<
-/Title 88 0 R
-/A 85 0 R
-/Parent 12256 0 R
-/Prev 79 0 R
-/Next 95 0 R
-/First 91 0 R
-/Last 91 0 R
-/Count -1
+12986 0 obj <<
+/Kids [12872 0 R 12873 0 R 12874 0 R 12875 0 R 12876 0 R 12877 0 R]
+/Limits [(subsubsection.11.3.1) (subsubsection.11.41.1)]
 >> endobj
-83 0 obj <<
-/Title 84 0 R
-/A 81 0 R
-/Parent 79 0 R
+12987 0 obj <<
+/Kids [12878 0 R 12879 0 R 12880 0 R 12881 0 R 12882 0 R 12883 0 R]
+/Limits [(subsubsection.11.41.2) (subsubsection.11.9.1)]
 >> endobj
-79 0 obj <<
-/Title 80 0 R
-/A 77 0 R
-/Parent 12256 0 R
-/Prev 75 0 R
-/Next 87 0 R
-/First 83 0 R
-/Last 83 0 R
-/Count -1
+12988 0 obj <<
+/Kids [12884 0 R]
+/Limits [(subsubsection.9.1.1) (subsubsection.9.1.5)]
 >> endobj
-75 0 obj <<
-/Title 76 0 R
-/A 73 0 R
-/Parent 12256 0 R
-/Prev 71 0 R
-/Next 79 0 R
+12989 0 obj <<
+/Kids [12885 0 R 12886 0 R 12887 0 R 12888 0 R 12889 0 R 12890 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Box_c72c231542712976d1f9223d0537f5d5)]
 >> endobj
-71 0 obj <<
-/Title 72 0 R
-/A 69 0 R
-/Parent 12256 0 R
-/Prev 67 0 R
-/Next 75 0 R
+12990 0 obj <<
+/Kids [12891 0 R 12892 0 R 12893 0 R 12894 0 R 12895 0 R 12896 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Box_c86971c152fbb8d2d486d7396ad6b142) (classParma__Polyhedra__Library_1_1Congruence__System_a83361b2264ca8ed30599dca32447874)]
 >> endobj
-67 0 obj <<
-/Title 68 0 R
-/A 65 0 R
-/Parent 12256 0 R
-/Prev 7 0 R
-/Next 71 0 R
+12991 0 obj <<
+/Kids [12897 0 R 12898 0 R 12899 0 R 12900 0 R 12901 0 R 12902 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Congruence__System_b30ab523e337d72baa4edc802452e532) (classParma__Polyhedra__Library_1_1Generator__System_25fce97f25e1814c62ec46b7a04ee942)]
 >> endobj
-63 0 obj <<
-/Title 64 0 R
-/A 61 0 R
-/Parent 7 0 R
-/Prev 59 0 R
+12992 0 obj <<
+/Kids [12903 0 R 12904 0 R 12905 0 R 12906 0 R 12907 0 R 12908 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Generator__System_2b29f5668213f9171cfdc666ef4142ea) (classParma__Polyhedra__Library_1_1Grid__Generator_f00dd6aeffc847b73a3aee11d6d169b6)]
 >> endobj
-59 0 obj <<
-/Title 60 0 R
-/A 57 0 R
-/Parent 7 0 R
-/Prev 55 0 R
-/Next 63 0 R
+12993 0 obj <<
+/Kids [12909 0 R 12910 0 R 12911 0 R 12912 0 R 12913 0 R 12914 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Grid__Generator_f4e7705af87f5eb64d2ebdc60cd7a36e) (classParma__Polyhedra__Library_1_1Octagonal__Shape_35518da8c480784110d40b680256bd61)]
 >> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 7 0 R
-/Prev 51 0 R
-/Next 59 0 R
+12994 0 obj <<
+/Kids [12915 0 R 12916 0 R 12917 0 R 12918 0 R 12919 0 R 12920 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Octagonal__Shape_38da38d0fab7eed9ee09fdb11f88fd15) (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6)]
 >> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 7 0 R
-/Prev 47 0 R
-/Next 55 0 R
+12995 0 obj <<
+/Kids [12921 0 R 12922 0 R 12923 0 R 12924 0 R 12925 0 R 12926 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) (classParma__Polyhedra__Library_1_1Powerset_5c3bee913efb87e4661df746e184e1e1)]
 >> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 7 0 R
-/Prev 43 0 R
-/Next 51 0 R
+12996 0 obj <<
+/Kids [12927 0 R 12928 0 R 12929 0 R 12930 0 R 12931 0 R 12932 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Powerset_5d2c2fc2c077e77db657af49d332c9b5) (main_Collapsing_a_Powerset_Element)]
 >> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 7 0 R
-/Prev 39 0 R
-/Next 47 0 R
+12997 0 obj <<
+/Kids [12933 0 R 12934 0 R 12935 0 R 12936 0 R 12937 0 R 12938 0 R]
+/Limits [(main_Combinations_and_Hulls) (page.11)]
 >> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 7 0 R
-/Prev 35 0 R
-/Next 43 0 R
+12998 0 obj <<
+/Kids [12939 0 R 12940 0 R 12941 0 R 12942 0 R 12943 0 R 12944 0 R]
+/Limits [(page.110) (page.304)]
 >> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 7 0 R
-/Prev 31 0 R
-/Next 39 0 R
+12999 0 obj <<
+/Kids [12945 0 R 12946 0 R 12947 0 R 12948 0 R 12949 0 R 12950 0 R]
+/Limits [(page.305) (page.98)]
 >> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 7 0 R
-/Prev 27 0 R
-/Next 35 0 R
+13000 0 obj <<
+/Kids [12951 0 R 12952 0 R 12953 0 R 12954 0 R 12955 0 R 12956 0 R]
+/Limits [(page.99) (paragraph.11.21.3.33)]
 >> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 7 0 R
-/Prev 23 0 R
-/Next 31 0 R
+13001 0 obj <<
+/Kids [12957 0 R 12958 0 R 12959 0 R 12960 0 R 12961 0 R 12962 0 R]
+/Limits [(paragraph.11.21.3.34) (paragraph.11.38.2.11)]
 >> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 7 0 R
-/Prev 19 0 R
-/Next 27 0 R
+13002 0 obj <<
+/Kids [12963 0 R 12964 0 R 12965 0 R 12966 0 R 12967 0 R 12968 0 R]
+/Limits [(paragraph.11.38.2.12) (paragraph.11.41.2.4)]
 >> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 7 0 R
-/Prev 15 0 R
-/Next 23 0 R
+13003 0 obj <<
+/Kids [12969 0 R 12970 0 R 12971 0 R 12972 0 R 12973 0 R 12974 0 R]
+/Limits [(paragraph.11.41.2.5) (section*.113)]
 >> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 7 0 R
-/Prev 11 0 R
-/Next 19 0 R
+13004 0 obj <<
+/Kids [12975 0 R 12976 0 R 12977 0 R 12978 0 R 12979 0 R 12980 0 R]
+/Limits [(section*.114) (subsection.11.17)]
 >> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 7 0 R
-/Next 15 0 R
+13005 0 obj <<
+/Kids [12981 0 R 12982 0 R 12983 0 R 12984 0 R 12985 0 R 12986 0 R]
+/Limits [(subsection.11.18) (subsubsection.11.41.1)]
 >> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 12256 0 R
-/Next 67 0 R
-/First 11 0 R
-/Last 63 0 R
-/Count -14
+13006 0 obj <<
+/Kids [12987 0 R 12988 0 R]
+/Limits [(subsubsection.11.41.2) (subsubsection.9.1.5)]
 >> endobj
-12257 0 obj <<
-/Names [(Doc-Start) 338 0 R (GFDL) 1179 0 R (GFDL_GFDL) 388 0 R (GPL) 1098 0 R (GPL_GPL) 389 0 R (Item.1) 537 0 R (Item.2) 538 0 R (Item.3) 544 0 R (Item.4) 545 0 R (Item.5) 546 0 R (classParma__Polyhedra__Library_1_1BD__Shape) 495 0 R (classParma__Polyhedra__Library_1_1BD__Shape_00b832cc0784b7b30f4d4a2f738a3032) 2467 0 R (classParma__Polyhedra__Library_1_1BD__Shape_033967c42f02b6029fc4d6153eb8072a) 2145 0 R (classParma__Polyhedra__Library_1_1BD__Shape_0442c5079b3de8dcac61c224ee7a2e6f) 2 [...]
-/Limits [(Doc-Start) (subsubsection.9.1.5)]
+13007 0 obj <<
+/Kids [12989 0 R 12990 0 R 12991 0 R 12992 0 R 12993 0 R 12994 0 R]
+/Limits [(Doc-Start) (classParma__Polyhedra__Library_1_1Pointset__Powerset_6f42f2d4a41b935d5441c51351faffa6)]
 >> endobj
-12258 0 obj <<
-/Kids [12257 0 R]
+13008 0 obj <<
+/Kids [12995 0 R 12996 0 R 12997 0 R 12998 0 R 12999 0 R 13000 0 R]
+/Limits [(classParma__Polyhedra__Library_1_1Pointset__Powerset_6f68d17132551d9a40f661fcd911b482) (paragraph.11.21.3.33)]
 >> endobj
-12259 0 obj <<
-/Dests 12258 0 R
+13009 0 obj <<
+/Kids [13001 0 R 13002 0 R 13003 0 R 13004 0 R 13005 0 R 13006 0 R]
+/Limits [(paragraph.11.21.3.34) (subsubsection.9.1.5)]
 >> endobj
-12260 0 obj <<
+13010 0 obj <<
+/Kids [13007 0 R 13008 0 R 13009 0 R]
+/Limits [(Doc-Start) (subsubsection.9.1.5)]
+>> endobj
+13011 0 obj <<
+/Dests 13010 0 R
+>> endobj
+13012 0 obj <<
 /Type /Catalog
-/Pages 12255 0 R
-/Outlines 12256 0 R
-/Names 12259 0 R
-/PageMode /UseOutlines 
+/Pages 12264 0 R
+/Outlines 12265 0 R
+/Names 13011 0 R
+/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 3 << /S /D >> ] >>
 /OpenAction 333 0 R
 >> endobj
-12261 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords()
-/CreationDate (D:20081104104159+01'00')
-/PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4)
+13013 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
+/CreationDate (D:20090410214612+02'00')
+/ModDate (D:20090410214612+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
 >> endobj
 xref
-0 12262
+0 13014
 0000000001 65535 f 
 0000000002 00000 f 
 0000000003 00000 f 
 0000000004 00000 f 
 0000000000 00000 f 
-0000000009 00000 n 
-0000058765 00000 n 
-0003281193 00000 n 
-0000000054 00000 n 
-0000000242 00000 n 
-0000058934 00000 n 
-0003281121 00000 n 
-0000000292 00000 n 
-0000000410 00000 n 
-0000079962 00000 n 
-0003281035 00000 n 
-0000000461 00000 n 
-0000000591 00000 n 
-0000080083 00000 n 
-0003280949 00000 n 
-0000000642 00000 n 
-0000000752 00000 n 
-0000085532 00000 n 
-0003280863 00000 n 
-0000000803 00000 n 
-0000001014 00000 n 
-0000105339 00000 n 
-0003280777 00000 n 
-0000001065 00000 n 
-0000001251 00000 n 
-0000145271 00000 n 
-0003280691 00000 n 
-0000001302 00000 n 
-0000001430 00000 n 
-0000145623 00000 n 
-0003280605 00000 n 
-0000001481 00000 n 
-0000001631 00000 n 
-0000156028 00000 n 
-0003280519 00000 n 
-0000001682 00000 n 
-0000001782 00000 n 
-0000166753 00000 n 
-0003280433 00000 n 
-0000001833 00000 n 
-0000002009 00000 n 
-0000189569 00000 n 
-0003280347 00000 n 
-0000002061 00000 n 
-0000002219 00000 n 
-0000195057 00000 n 
-0003280261 00000 n 
-0000002271 00000 n 
-0000002505 00000 n 
-0000195700 00000 n 
-0003280175 00000 n 
-0000002557 00000 n 
-0000002733 00000 n 
-0000206864 00000 n 
-0003280089 00000 n 
-0000002785 00000 n 
-0000002903 00000 n 
-0000217074 00000 n 
-0003280016 00000 n 
-0000002955 00000 n 
-0000003042 00000 n 
-0000255048 00000 n 
-0003279927 00000 n 
-0000003088 00000 n 
-0000003254 00000 n 
-0000294967 00000 n 
-0003279837 00000 n 
-0000003300 00000 n 
-0000003486 00000 n 
-0000318253 00000 n 
-0003279747 00000 n 
-0000003532 00000 n 
-0000003637 00000 n 
-0000336709 00000 n 
-0003279620 00000 n 
-0000003683 00000 n 
-0000003773 00000 n 
-0000336767 00000 n 
-0003279559 00000 n 
-0000003824 00000 n 
-0000003886 00000 n 
-0000343249 00000 n 
-0003279432 00000 n 
-0000003932 00000 n 
-0000004037 00000 n 
-0000343307 00000 n 
-0003279371 00000 n 
-0000004088 00000 n 
-0000004188 00000 n 
-0000343365 00000 n 
-0003279243 00000 n 
-0000004234 00000 n 
-0000004319 00000 n 
-0000343423 00000 n 
-0003279181 00000 n 
-0000004370 00000 n 
-0000004476 00000 n 
-0000360658 00000 n 
-0003279048 00000 n 
-0000004523 00000 n 
-0000004609 00000 n 
-0000360717 00000 n 
-0003278983 00000 n 
-0000004661 00000 n 
-0000004742 00000 n 
-0000382512 00000 n 
-0003278849 00000 n 
-0000004789 00000 n 
-0000004920 00000 n 
-0000382631 00000 n 
-0003278784 00000 n 
-0000004972 00000 n 
-0000005116 00000 n 
-0000444882 00000 n 
-0003278650 00000 n 
-0000005164 00000 n 
-0000005310 00000 n 
-0000445000 00000 n 
-0003278571 00000 n 
-0000005363 00000 n 
-0000005618 00000 n 
-0000504612 00000 n 
-0003278478 00000 n 
-0000005671 00000 n 
-0000005999 00000 n 
-0000510046 00000 n 
-0003278399 00000 n 
-0000006052 00000 n 
-0000006201 00000 n 
-0000510164 00000 n 
-0003278278 00000 n 
-0000006249 00000 n 
-0000006375 00000 n 
-0000510282 00000 n 
-0003278199 00000 n 
-0000006428 00000 n 
-0000006795 00000 n 
-0000711435 00000 n 
-0003278106 00000 n 
-0000006848 00000 n 
-0000007186 00000 n 
-0000715789 00000 n 
-0003278013 00000 n 
-0000007239 00000 n 
-0000007627 00000 n 
-0000725653 00000 n 
-0003277920 00000 n 
-0000007680 00000 n 
-0000008029 00000 n 
-0000896565 00000 n 
-0003277827 00000 n 
-0000008082 00000 n 
-0000008390 00000 n 
-0000930529 00000 n 
-0003277734 00000 n 
-0000008443 00000 n 
-0000008883 00000 n 
-0001040735 00000 n 
-0003277641 00000 n 
-0000008936 00000 n 
-0000009231 00000 n 
-0001085905 00000 n 
-0003277548 00000 n 
-0000009284 00000 n 
-0000009617 00000 n 
-0001122936 00000 n 
-0003277455 00000 n 
-0000009670 00000 n 
-0000010086 00000 n 
-0001129668 00000 n 
-0003277362 00000 n 
-0000010140 00000 n 
-0000010435 00000 n 
-0001191986 00000 n 
-0003277269 00000 n 
-0000010489 00000 n 
-0000010822 00000 n 
-0001221240 00000 n 
-0003277176 00000 n 
-0000010876 00000 n 
-0000011292 00000 n 
-0001226558 00000 n 
-0003277083 00000 n 
-0000011346 00000 n 
-0000011806 00000 n 
-0001233683 00000 n 
-0003276990 00000 n 
-0000011860 00000 n 
-0000012244 00000 n 
-0001254069 00000 n 
-0003276897 00000 n 
-0000012298 00000 n 
-0000012723 00000 n 
-0001254307 00000 n 
-0003276804 00000 n 
-0000012777 00000 n 
-0000013118 00000 n 
-0001254486 00000 n 
-0003276711 00000 n 
-0000013172 00000 n 
-0000013462 00000 n 
-0001320617 00000 n 
-0003276618 00000 n 
-0000013516 00000 n 
-0000013844 00000 n 
-0001347921 00000 n 
-0003276525 00000 n 
-0000013898 00000 n 
-0000014309 00000 n 
-0001366709 00000 n 
-0003276432 00000 n 
-0000014363 00000 n 
-0000014666 00000 n 
-0001389287 00000 n 
-0003276339 00000 n 
-0000014720 00000 n 
-0000014985 00000 n 
-0001587921 00000 n 
-0003276246 00000 n 
-0000015039 00000 n 
-0000015367 00000 n 
-0001594714 00000 n 
-0003276153 00000 n 
-0000015421 00000 n 
-0000015799 00000 n 
-0001603337 00000 n 
-0003276060 00000 n 
-0000015853 00000 n 
-0000016171 00000 n 
-0001647658 00000 n 
-0003275967 00000 n 
-0000016225 00000 n 
-0000016581 00000 n 
-0001690731 00000 n 
-0003275874 00000 n 
-0000016635 00000 n 
-0000017074 00000 n 
-0001697421 00000 n 
-0003275781 00000 n 
-0000017128 00000 n 
-0000017451 00000 n 
-0001701759 00000 n 
-0003275688 00000 n 
-0000017505 00000 n 
-0000017878 00000 n 
-0001709460 00000 n 
-0003275595 00000 n 
-0000017932 00000 n 
-0000018364 00000 n 
-0001718754 00000 n 
-0003275502 00000 n 
-0000018418 00000 n 
-0000018800 00000 n 
-0001721761 00000 n 
-0003275409 00000 n 
-0000018854 00000 n 
-0000019353 00000 n 
-0001721999 00000 n 
-0003275316 00000 n 
-0000019407 00000 n 
-0000019845 00000 n 
-0001722238 00000 n 
-0003275223 00000 n 
-0000019899 00000 n 
-0000020232 00000 n 
-0001786165 00000 n 
-0003275130 00000 n 
-0000020286 00000 n 
-0000020589 00000 n 
-0001837406 00000 n 
-0003275037 00000 n 
-0000020643 00000 n 
-0000020961 00000 n 
-0001865703 00000 n 
-0003274944 00000 n 
-0000021015 00000 n 
-0000021430 00000 n 
-0001870653 00000 n 
-0003274851 00000 n 
-0000021484 00000 n 
-0000021886 00000 n 
-0002058850 00000 n 
-0003274758 00000 n 
-0000021940 00000 n 
-0000022441 00000 n 
-0002214094 00000 n 
-0003274665 00000 n 
-0000022495 00000 n 
-0000022912 00000 n 
-0002382222 00000 n 
-0003274572 00000 n 
-0000022966 00000 n 
-0000023302 00000 n 
-0002396148 00000 n 
-0003274479 00000 n 
-0000023356 00000 n 
-0000023692 00000 n 
-0002410228 00000 n 
-0003274386 00000 n 
-0000023746 00000 n 
-0000024041 00000 n 
-0002612709 00000 n 
-0003274293 00000 n 
-0000024095 00000 n 
-0000024459 00000 n 
-0002660224 00000 n 
-0003274200 00000 n 
-0000024513 00000 n 
-0000024831 00000 n 
-0002660407 00000 n 
-0003274107 00000 n 
-0000024885 00000 n 
-0000025315 00000 n 
-0002664397 00000 n 
-0003274014 00000 n 
-0000025369 00000 n 
-0000025659 00000 n 
-0002672271 00000 n 
-0003273921 00000 n 
-0000025713 00000 n 
-0000025998 00000 n 
-0002683557 00000 n 
-0003273828 00000 n 
-0000026052 00000 n 
-0000026387 00000 n 
-0002683864 00000 n 
-0003273749 00000 n 
-0000026441 00000 n 
-0000026754 00000 n 
-0000028255 00000 n 
-0000028492 00000 n 
-0000026806 00000 n 
-0000028377 00000 n 
-0000028435 00000 n 
-0003260780 00000 n 
-0003238471 00000 n 
-0003260603 00000 n 
-0003236762 00000 n 
-0003228087 00000 n 
-0003236597 00000 n 
-0003227718 00000 n 
-0003225508 00000 n 
-0003227552 00000 n 
-0003224817 00000 n 
-0003222077 00000 n 
-0003224653 00000 n 
-0003262148 00000 n 
-0000036205 00000 n 
-0000031625 00000 n 
-0000028603 00000 n 
-0003221056 00000 n 
-0003201451 00000 n 
-0003220879 00000 n 
-0000031967 00000 n 
-0000032136 00000 n 
-0000032292 00000 n 
-0000032462 00000 n 
-0000032615 00000 n 
-0000032768 00000 n 
-0003200449 00000 n 
-0003180327 00000 n 
-0003200274 00000 n 
-0000036147 00000 n 
-0000032947 00000 n 
-0000033102 00000 n 
-0000033263 00000 n 
-0000033423 00000 n 
-0000033584 00000 n 
-0000033744 00000 n 
-0000033905 00000 n 
-0000034065 00000 n 
-0000034225 00000 n 
-0000034386 00000 n 
-0000034547 00000 n 
-0000034709 00000 n 
-0000034871 00000 n 
-0000035029 00000 n 
-0000035190 00000 n 
-0000035352 00000 n 
-0000035507 00000 n 
-0000035662 00000 n 
-0000035817 00000 n 
-0000035970 00000 n 
-0000295085 00000 n 
-0000255165 00000 n 
-0000045026 00000 n 
-0000039087 00000 n 
-0000036303 00000 n 
-0000044968 00000 n 
-0000039493 00000 n 
-0000039654 00000 n 
-0000039809 00000 n 
-0000039970 00000 n 
-0000040125 00000 n 
-0000040285 00000 n 
-0000040440 00000 n 
-0000040601 00000 n 
-0000040756 00000 n 
-0000040916 00000 n 
-0000041072 00000 n 
-0000041234 00000 n 
-0000041395 00000 n 
-0000041557 00000 n 
-0000041710 00000 n 
-0003179123 00000 n 
-0003167736 00000 n 
-0003178957 00000 n 
-0000041872 00000 n 
-0000042034 00000 n 
-0000042195 00000 n 
-0000042357 00000 n 
-0000042519 00000 n 
-0000042681 00000 n 
-0000042841 00000 n 
-0000043003 00000 n 
-0000043165 00000 n 
-0000043328 00000 n 
-0000043491 00000 n 
-0000043654 00000 n 
-0000043817 00000 n 
-0000043980 00000 n 
-0000044142 00000 n 
-0000044305 00000 n 
-0000044467 00000 n 
-0000044629 00000 n 
-0000044791 00000 n 
-0000053746 00000 n 
-0000047964 00000 n 
-0000045137 00000 n 
-0000048362 00000 n 
-0000048525 00000 n 
-0000048688 00000 n 
-0000048850 00000 n 
-0000049013 00000 n 
-0000049176 00000 n 
-0000049339 00000 n 
-0000049499 00000 n 
-0000049662 00000 n 
-0000049825 00000 n 
-0000049988 00000 n 
-0000050151 00000 n 
-0000050314 00000 n 
-0000050475 00000 n 
-0000050638 00000 n 
-0000050801 00000 n 
-0000050964 00000 n 
-0000051127 00000 n 
-0000051290 00000 n 
-0000051453 00000 n 
-0000051616 00000 n 
-0000051778 00000 n 
-0000051941 00000 n 
-0000052104 00000 n 
-0000052267 00000 n 
-0000052430 00000 n 
-0000052593 00000 n 
-0000052755 00000 n 
-0000052918 00000 n 
-0000053081 00000 n 
-0000053243 00000 n 
-0000053406 00000 n 
-0000053569 00000 n 
-0000059112 00000 n 
-0000057102 00000 n 
-0000053857 00000 n 
-0000058820 00000 n 
-0000058877 00000 n 
-0000057300 00000 n 
-0000057464 00000 n 
-0000058990 00000 n 
-0000059054 00000 n 
-0003166528 00000 n 
-0003147283 00000 n 
-0003166347 00000 n 
-0003146792 00000 n 
-0003142223 00000 n 
-0003146627 00000 n 
-0003141477 00000 n 
-0003136003 00000 n 
-0003141312 00000 n 
-0000057629 00000 n 
-0000057822 00000 n 
-0000058018 00000 n 
-0000058208 00000 n 
-0000058405 00000 n 
-0000058588 00000 n 
-0000080019 00000 n 
-0000206801 00000 n 
-0000896506 00000 n 
-0001837347 00000 n 
-0000510223 00000 n 
-0001870594 00000 n 
-0000716028 00000 n 
-0000063641 00000 n 
-0000062087 00000 n 
-0000059275 00000 n 
-0000063218 00000 n 
-0000062261 00000 n 
-0000062446 00000 n 
-0000062635 00000 n 
-0000062833 00000 n 
-0000063276 00000 n 
-0000063340 00000 n 
-0000063397 00000 n 
-0000063461 00000 n 
-0000063519 00000 n 
-0000063583 00000 n 
-0000063041 00000 n 
-0001378741 00000 n 
-0001701997 00000 n 
-0002214035 00000 n 
-0002048714 00000 n 
-0000067171 00000 n 
-0000066737 00000 n 
-0000063765 00000 n 
-0000067056 00000 n 
-0003134790 00000 n 
-0003124662 00000 n 
-0003134626 00000 n 
-0003123775 00000 n 
-0003117376 00000 n 
-0003123611 00000 n 
-0000067114 00000 n 
-0000066879 00000 n 
-0003262267 00000 n 
-0000070941 00000 n 
-0000070269 00000 n 
-0000067332 00000 n 
-0000070588 00000 n 
-0000070646 00000 n 
-0000070703 00000 n 
-0000070767 00000 n 
-0000070825 00000 n 
-0000070883 00000 n 
-0000070411 00000 n 
-0000074547 00000 n 
-0000073997 00000 n 
-0000071052 00000 n 
-0000074316 00000 n 
-0000074374 00000 n 
-0000074431 00000 n 
-0000074489 00000 n 
-0000074139 00000 n 
-0000080383 00000 n 
-0000078867 00000 n 
-0000074671 00000 n 
-0000079846 00000 n 
-0000079904 00000 n 
-0000079041 00000 n 
-0000079199 00000 n 
-0000079356 00000 n 
-0000079512 00000 n 
-0000080140 00000 n 
-0000080204 00000 n 
-0003116932 00000 n 
-0003114613 00000 n 
-0003116769 00000 n 
-0003114121 00000 n 
-0003109889 00000 n 
-0003113954 00000 n 
-0003109195 00000 n 
-0003106896 00000 n 
-0003109032 00000 n 
-0003106568 00000 n 
-0003104535 00000 n 
-0003106403 00000 n 
-0003103054 00000 n 
-0003096844 00000 n 
-0003102889 00000 n 
-0000080262 00000 n 
-0000080325 00000 n 
-0000079669 00000 n 
-0000230764 00000 n 
-0000236409 00000 n 
-0000249374 00000 n 
-0000254989 00000 n 
-0000085711 00000 n 
-0000084655 00000 n 
-0000080633 00000 n 
-0000085172 00000 n 
-0000085230 00000 n 
-0000085294 00000 n 
-0000084805 00000 n 
-0000085352 00000 n 
-0000085410 00000 n 
-0000085468 00000 n 
-0000085589 00000 n 
-0000085653 00000 n 
-0000084995 00000 n 
-0000096369 00000 n 
-0000091120 00000 n 
-0000090380 00000 n 
-0000085948 00000 n 
-0000090699 00000 n 
-0003096382 00000 n 
-0003093638 00000 n 
-0003096217 00000 n 
-0000090757 00000 n 
-0000090821 00000 n 
-0000090878 00000 n 
-0000090941 00000 n 
-0000090999 00000 n 
-0000091062 00000 n 
-0000090522 00000 n 
-0000096491 00000 n 
-0000095749 00000 n 
-0000091369 00000 n 
-0000096068 00000 n 
-0000096126 00000 n 
-0000096190 00000 n 
-0000096247 00000 n 
-0000096311 00000 n 
-0000096433 00000 n 
-0000095891 00000 n 
-0003262386 00000 n 
-0000101035 00000 n 
-0000100357 00000 n 
-0000096703 00000 n 
-0000100676 00000 n 
-0000100734 00000 n 
-0000100798 00000 n 
-0000100856 00000 n 
-0000100920 00000 n 
-0000100978 00000 n 
-0000100499 00000 n 
-0000105883 00000 n 
-0000104841 00000 n 
-0000101260 00000 n 
-0000105160 00000 n 
-0000105218 00000 n 
-0000105275 00000 n 
-0000105396 00000 n 
-0000105460 00000 n 
-0000105518 00000 n 
-0000105581 00000 n 
-0000105639 00000 n 
-0000105703 00000 n 
-0000105761 00000 n 
-0000105825 00000 n 
-0000104983 00000 n 
-0000111302 00000 n 
-0000110239 00000 n 
-0000106095 00000 n 
-0000110725 00000 n 
-0000110783 00000 n 
-0000110840 00000 n 
-0000110898 00000 n 
-0000110956 00000 n 
-0003093251 00000 n 
-0003091181 00000 n 
-0003093086 00000 n 
-0003090607 00000 n 
-0003088988 00000 n 
-0003090444 00000 n 
-0000111014 00000 n 
-0000111072 00000 n 
-0000111130 00000 n 
-0000110389 00000 n 
-0000111188 00000 n 
-0000111245 00000 n 
-0000110548 00000 n 
-0000236468 00000 n 
-0000116589 00000 n 
-0000115812 00000 n 
-0000111565 00000 n 
-0000116300 00000 n 
-0000116358 00000 n 
-0000115962 00000 n 
-0000116415 00000 n 
-0000116473 00000 n 
-0000116531 00000 n 
-0000116123 00000 n 
-0000122393 00000 n 
-0000121896 00000 n 
-0000116839 00000 n 
-0000122215 00000 n 
-0000122273 00000 n 
-0000122336 00000 n 
-0000122038 00000 n 
-0000128005 00000 n 
-0000126753 00000 n 
-0000122618 00000 n 
-0000127401 00000 n 
-0000127459 00000 n 
-0000127523 00000 n 
-0000127581 00000 n 
-0000127639 00000 n 
-0000127697 00000 n 
-0000127761 00000 n 
-0000126911 00000 n 
-0000127819 00000 n 
-0000127883 00000 n 
-0000127068 00000 n 
-0000127941 00000 n 
-0000127224 00000 n 
-0003262505 00000 n 
-0000242610 00000 n 
-0000242729 00000 n 
-0000133981 00000 n 
-0000132239 00000 n 
-0000128254 00000 n 
-0000133450 00000 n 
-0000133508 00000 n 
-0000132421 00000 n 
-0000132612 00000 n 
-0000133565 00000 n 
-0000133622 00000 n 
-0000133679 00000 n 
-0000133737 00000 n 
-0000133801 00000 n 
-0000133859 00000 n 
-0000132802 00000 n 
-0000132959 00000 n 
-0000133923 00000 n 
-0000133116 00000 n 
-0000133273 00000 n 
-0000195756 00000 n 
-0000236826 00000 n 
-0000217710 00000 n 
-0000139849 00000 n 
-0000138201 00000 n 
-0000134181 00000 n 
-0000139374 00000 n 
-0000139432 00000 n 
-0000139490 00000 n 
-0000138383 00000 n 
-0000139548 00000 n 
-0000139612 00000 n 
-0000139670 00000 n 
-0000138541 00000 n 
-0000138697 00000 n 
-0000139728 00000 n 
-0000138853 00000 n 
-0000139027 00000 n 
-0000139786 00000 n 
-0000139197 00000 n 
-0000145385 00000 n 
-0000145865 00000 n 
-0000144560 00000 n 
-0000139998 00000 n 
-0000145213 00000 n 
-0000145327 00000 n 
-0000145443 00000 n 
-0000145501 00000 n 
-0000144718 00000 n 
+0000000015 00000 n 
+0000054047 00000 n 
+0002882152 00000 n 
+0000000060 00000 n 
+0000000248 00000 n 
+0000054216 00000 n 
+0002882080 00000 n 
+0000000298 00000 n 
+0000000416 00000 n 
+0000073210 00000 n 
+0002881994 00000 n 
+0000000467 00000 n 
+0000000597 00000 n 
+0000073327 00000 n 
+0002881908 00000 n 
+0000000648 00000 n 
+0000000758 00000 n 
+0000078511 00000 n 
+0002881822 00000 n 
+0000000809 00000 n 
+0000001020 00000 n 
+0000097213 00000 n 
+0002881736 00000 n 
+0000001071 00000 n 
+0000001257 00000 n 
+0000134971 00000 n 
+0002881650 00000 n 
+0000001308 00000 n 
+0000001436 00000 n 
+0000135317 00000 n 
+0002881564 00000 n 
+0000001487 00000 n 
+0000001637 00000 n 
+0000145104 00000 n 
+0002881478 00000 n 
+0000001688 00000 n 
+0000001788 00000 n 
+0000155298 00000 n 
+0002881392 00000 n 
+0000001839 00000 n 
+0000002015 00000 n 
+0000176864 00000 n 
+0002881306 00000 n 
+0000002067 00000 n 
+0000002225 00000 n 
+0000181942 00000 n 
+0002881220 00000 n 
+0000002277 00000 n 
+0000002511 00000 n 
+0000182570 00000 n 
+0002881134 00000 n 
+0000002563 00000 n 
+0000002739 00000 n 
+0000193058 00000 n 
+0002881048 00000 n 
+0000002791 00000 n 
+0000002909 00000 n 
+0000202458 00000 n 
+0002880975 00000 n 
+0000002961 00000 n 
+0000003048 00000 n 
+0000236420 00000 n 
+0002880886 00000 n 
+0000003094 00000 n 
+0000003260 00000 n 
+0000274893 00000 n 
+0002880796 00000 n 
+0000003306 00000 n 
+0000003492 00000 n 
+0000296485 00000 n 
+0002880706 00000 n 
+0000003538 00000 n 
+0000003643 00000 n 
+0000312434 00000 n 
+0002880579 00000 n 
+0000003689 00000 n 
+0000003779 00000 n 
+0000312491 00000 n 
+0002880518 00000 n 
+0000003830 00000 n 
+0000003892 00000 n 
+0000318258 00000 n 
+0002880391 00000 n 
+0000003938 00000 n 
+0000004043 00000 n 
+0000318315 00000 n 
+0002880330 00000 n 
+0000004094 00000 n 
+0000004194 00000 n 
+0000318372 00000 n 
+0002880202 00000 n 
+0000004240 00000 n 
+0000004325 00000 n 
+0000318429 00000 n 
+0002880140 00000 n 
+0000004376 00000 n 
+0000004482 00000 n 
+0000333727 00000 n 
+0002880007 00000 n 
+0000004529 00000 n 
+0000004615 00000 n 
+0000333785 00000 n 
+0002879942 00000 n 
+0000004667 00000 n 
+0000004748 00000 n 
+0000352910 00000 n 
+0002879808 00000 n 
+0000004795 00000 n 
+0000004926 00000 n 
+0000353026 00000 n 
+0002879743 00000 n 
+0000004978 00000 n 
+0000005122 00000 n 
+0000406045 00000 n 
+0002879609 00000 n 
+0000005170 00000 n 
+0000005316 00000 n 
+0000406162 00000 n 
+0002879530 00000 n 
+0000005369 00000 n 
+0000005624 00000 n 
+0000456908 00000 n 
+0002879437 00000 n 
+0000005677 00000 n 
+0000006005 00000 n 
+0000460173 00000 n 
+0002879358 00000 n 
+0000006058 00000 n 
+0000006207 00000 n 
+0000460290 00000 n 
+0002879237 00000 n 
+0000006255 00000 n 
+0000006381 00000 n 
+0000460405 00000 n 
+0002879158 00000 n 
+0000006434 00000 n 
+0000006801 00000 n 
+0000632650 00000 n 
+0002879065 00000 n 
+0000006854 00000 n 
+0000007192 00000 n 
+0000643726 00000 n 
+0002878972 00000 n 
+0000007245 00000 n 
+0000007633 00000 n 
+0000644019 00000 n 
+0002878879 00000 n 
+0000007686 00000 n 
+0000008035 00000 n 
+0000800015 00000 n 
+0002878786 00000 n 
+0000008088 00000 n 
+0000008396 00000 n 
+0000820521 00000 n 
+0002878693 00000 n 
+0000008449 00000 n 
+0000008889 00000 n 
+0000925286 00000 n 
+0002878600 00000 n 
+0000008942 00000 n 
+0000009237 00000 n 
+0000963937 00000 n 
+0002878507 00000 n 
+0000009290 00000 n 
+0000009623 00000 n 
+0000993735 00000 n 
+0002878414 00000 n 
+0000009676 00000 n 
+0000010092 00000 n 
+0000999733 00000 n 
+0002878321 00000 n 
+0000010146 00000 n 
+0000010441 00000 n 
+0001053480 00000 n 
+0002878228 00000 n 
+0000010495 00000 n 
+0000010828 00000 n 
+0001078575 00000 n 
+0002878135 00000 n 
+0000010882 00000 n 
+0000011298 00000 n 
+0001083378 00000 n 
+0002878042 00000 n 
+0000011352 00000 n 
+0000011812 00000 n 
+0001089391 00000 n 
+0002877949 00000 n 
+0000011866 00000 n 
+0000012250 00000 n 
+0001107245 00000 n 
+0002877856 00000 n 
+0000012304 00000 n 
+0000012729 00000 n 
+0001107479 00000 n 
+0002877763 00000 n 
+0000012783 00000 n 
+0000013124 00000 n 
+0001107655 00000 n 
+0002877670 00000 n 
+0000013178 00000 n 
+0000013468 00000 n 
+0001165413 00000 n 
+0002877577 00000 n 
+0000013522 00000 n 
+0000013850 00000 n 
+0001189166 00000 n 
+0002877484 00000 n 
+0000013904 00000 n 
+0000014315 00000 n 
+0001205005 00000 n 
+0002877391 00000 n 
+0000014369 00000 n 
+0000014672 00000 n 
+0001224737 00000 n 
+0002877298 00000 n 
+0000014726 00000 n 
+0000014991 00000 n 
+0001394787 00000 n 
+0002877205 00000 n 
+0000015045 00000 n 
+0000015373 00000 n 
+0001400641 00000 n 
+0002877112 00000 n 
+0000015427 00000 n 
+0000015805 00000 n 
+0001408009 00000 n 
+0002877019 00000 n 
+0000015859 00000 n 
+0000016177 00000 n 
+0001446674 00000 n 
+0002876926 00000 n 
+0000016231 00000 n 
+0000016587 00000 n 
+0001483988 00000 n 
+0002876833 00000 n 
+0000016641 00000 n 
+0000017080 00000 n 
+0001489763 00000 n 
+0002876740 00000 n 
+0000017134 00000 n 
+0000017457 00000 n 
+0001493675 00000 n 
+0002876647 00000 n 
+0000017511 00000 n 
+0000017884 00000 n 
+0001500392 00000 n 
+0002876554 00000 n 
+0000017938 00000 n 
+0000018370 00000 n 
+0001512759 00000 n 
+0002876461 00000 n 
+0000018424 00000 n 
+0000018806 00000 n 
+0001512994 00000 n 
+0002876368 00000 n 
+0000018860 00000 n 
+0000019359 00000 n 
+0001517580 00000 n 
+0002876275 00000 n 
+0000019413 00000 n 
+0000019851 00000 n 
+0001517815 00000 n 
+0002876182 00000 n 
+0000019905 00000 n 
+0000020238 00000 n 
+0001573070 00000 n 
+0002876089 00000 n 
+0000020292 00000 n 
+0000020595 00000 n 
+0001617668 00000 n 
+0002875996 00000 n 
+0000020649 00000 n 
+0000020967 00000 n 
+0001640257 00000 n 
+0002875903 00000 n 
+0000021021 00000 n 
+0000021436 00000 n 
+0001644613 00000 n 
+0002875810 00000 n 
+0000021490 00000 n 
+0000021892 00000 n 
+0001806825 00000 n 
+0002875717 00000 n 
+0000021946 00000 n 
+0000022447 00000 n 
+0001944988 00000 n 
+0002875624 00000 n 
+0000022501 00000 n 
+0000022918 00000 n 
+0002090191 00000 n 
+0002875531 00000 n 
+0000022972 00000 n 
+0000023308 00000 n 
+0002102095 00000 n 
+0002875438 00000 n 
+0000023362 00000 n 
+0000023698 00000 n 
+0002115896 00000 n 
+0002875345 00000 n 
+0000023752 00000 n 
+0000024047 00000 n 
+0002279438 00000 n 
+0002875252 00000 n 
+0000024101 00000 n 
+0000024465 00000 n 
+0002324280 00000 n 
+0002875159 00000 n 
+0000024519 00000 n 
+0000024837 00000 n 
+0002327585 00000 n 
+0002875066 00000 n 
+0000024891 00000 n 
+0000025321 00000 n 
+0002332624 00000 n 
+0002874973 00000 n 
+0000025375 00000 n 
+0000025665 00000 n 
+0002332987 00000 n 
+0002874880 00000 n 
+0000025719 00000 n 
+0000026004 00000 n 
+0002344308 00000 n 
+0002874787 00000 n 
+0000026058 00000 n 
+0000026393 00000 n 
+0002351368 00000 n 
+0002874708 00000 n 
+0000026447 00000 n 
+0000026760 00000 n 
+0000028162 00000 n 
+0000028395 00000 n 
+0000026812 00000 n 
+0000028281 00000 n 
+0000028338 00000 n 
+0002862737 00000 n 
+0002860396 00000 n 
+0002860979 00000 n 
+0002860688 00000 n 
+0002863099 00000 n 
+0000030803 00000 n 
+0000030969 00000 n 
+0000031121 00000 n 
+0000031287 00000 n 
+0000031585 00000 n 
+0000031760 00000 n 
+0000031911 00000 n 
+0000032067 00000 n 
+0000032224 00000 n 
+0000032380 00000 n 
+0000032535 00000 n 
+0000032691 00000 n 
+0000032848 00000 n 
+0000033005 00000 n 
+0000033161 00000 n 
+0000033318 00000 n 
+0000033476 00000 n 
+0000033634 00000 n 
+0000033790 00000 n 
+0000033948 00000 n 
+0000034105 00000 n 
+0000034256 00000 n 
+0000034405 00000 n 
+0000034555 00000 n 
+0000036935 00000 n 
+0000034704 00000 n 
+0000034991 00000 n 
+0000030464 00000 n 
+0000028506 00000 n 
+0000034877 00000 n 
+0002862374 00000 n 
+0000031437 00000 n 
+0002862015 00000 n 
+0000034934 00000 n 
+0000275009 00000 n 
+0000236536 00000 n 
+0000037091 00000 n 
+0000037241 00000 n 
+0000037398 00000 n 
+0000037549 00000 n 
+0000037705 00000 n 
+0000037855 00000 n 
+0000038012 00000 n 
+0000038163 00000 n 
+0000038320 00000 n 
+0000038472 00000 n 
+0000038630 00000 n 
+0000038788 00000 n 
+0000038946 00000 n 
+0000039097 00000 n 
+0000039254 00000 n 
+0000039412 00000 n 
+0000039569 00000 n 
+0000039727 00000 n 
+0000039885 00000 n 
+0000040043 00000 n 
+0000040201 00000 n 
+0000040359 00000 n 
+0000040515 00000 n 
+0000040673 00000 n 
+0000040832 00000 n 
+0000040991 00000 n 
+0000041150 00000 n 
+0000041309 00000 n 
+0000041468 00000 n 
+0000041626 00000 n 
+0000041785 00000 n 
+0000041944 00000 n 
+0000044345 00000 n 
+0000042102 00000 n 
+0000042332 00000 n 
+0000036532 00000 n 
+0000035089 00000 n 
+0000042275 00000 n 
+0002858333 00000 n 
+0000044504 00000 n 
+0000044663 00000 n 
+0000044822 00000 n 
+0000044981 00000 n 
+0000045140 00000 n 
+0000045298 00000 n 
+0000045456 00000 n 
+0000045615 00000 n 
+0000045774 00000 n 
+0000045933 00000 n 
+0000046092 00000 n 
+0000046409 00000 n 
+0000046568 00000 n 
+0000046726 00000 n 
+0000046884 00000 n 
+0000047043 00000 n 
+0000047202 00000 n 
+0000047361 00000 n 
+0000047678 00000 n 
+0000047837 00000 n 
+0000047996 00000 n 
+0000048154 00000 n 
+0000048312 00000 n 
+0000048471 00000 n 
+0000048630 00000 n 
+0000048789 00000 n 
+0000048948 00000 n 
+0000049106 00000 n 
+0000049264 00000 n 
+0000052562 00000 n 
+0000049423 00000 n 
+0000049596 00000 n 
+0000043950 00000 n 
+0000042443 00000 n 
+0000046251 00000 n 
+0000047520 00000 n 
+0000052722 00000 n 
+0000052884 00000 n 
+0000053073 00000 n 
+0000053262 00000 n 
+0000053447 00000 n 
+0000053639 00000 n 
+0000057109 00000 n 
+0000053817 00000 n 
+0000054391 00000 n 
+0000052367 00000 n 
+0000049707 00000 n 
+0000053990 00000 n 
+0000054102 00000 n 
+0000054159 00000 n 
+0000054272 00000 n 
+0000054334 00000 n 
+0002862916 00000 n 
+0002861720 00000 n 
+0002858925 00000 n 
+0000073266 00000 n 
+0000192996 00000 n 
+0000799957 00000 n 
+0001617610 00000 n 
+0000460348 00000 n 
+0001644555 00000 n 
+0000643961 00000 n 
+0000057288 00000 n 
+0000057473 00000 n 
+0000057667 00000 n 
+0000057870 00000 n 
+0000058456 00000 n 
+0000056938 00000 n 
+0000054554 00000 n 
+0000058043 00000 n 
+0000058100 00000 n 
+0000058162 00000 n 
+0000058219 00000 n 
+0000058281 00000 n 
+0000058338 00000 n 
+0000058400 00000 n 
+0001215771 00000 n 
+0001493910 00000 n 
+0001944930 00000 n 
+0001798094 00000 n 
+0000061312 00000 n 
+0000061598 00000 n 
+0000061173 00000 n 
+0000058580 00000 n 
+0000061485 00000 n 
+0002859665 00000 n 
+0002860103 00000 n 
+0000061542 00000 n 
+0002863218 00000 n 
+0000064411 00000 n 
+0000064931 00000 n 
+0000064272 00000 n 
+0000061759 00000 n 
+0000064584 00000 n 
+0000064641 00000 n 
+0000064698 00000 n 
+0000064760 00000 n 
+0000064817 00000 n 
+0000064874 00000 n 
+0000067776 00000 n 
+0000068177 00000 n 
+0000067637 00000 n 
+0000065042 00000 n 
+0000067949 00000 n 
+0000068006 00000 n 
+0000068063 00000 n 
+0000068120 00000 n 
+0000072310 00000 n 
+0000072465 00000 n 
+0000072618 00000 n 
+0000072770 00000 n 
+0000072923 00000 n 
+0000073620 00000 n 
+0000072139 00000 n 
+0000068301 00000 n 
+0000073096 00000 n 
+0000073153 00000 n 
+0000073383 00000 n 
+0000073444 00000 n 
+0002859811 00000 n 
+0002859367 00000 n 
+0002860834 00000 n 
+0002858039 00000 n 
+0002858186 00000 n 
+0000073501 00000 n 
+0000073563 00000 n 
+0000214657 00000 n 
+0000219756 00000 n 
+0000231306 00000 n 
+0000236362 00000 n 
+0000077801 00000 n 
+0000077989 00000 n 
+0000078685 00000 n 
+0000077654 00000 n 
+0000073870 00000 n 
+0000078162 00000 n 
+0000078219 00000 n 
+0000078278 00000 n 
+0000078335 00000 n 
+0000078392 00000 n 
+0000078449 00000 n 
+0000078566 00000 n 
+0000078628 00000 n 
+0000088682 00000 n 
+0000083085 00000 n 
+0000083671 00000 n 
+0000082946 00000 n 
+0000078922 00000 n 
+0000083258 00000 n 
+0002858629 00000 n 
+0000083315 00000 n 
+0000083376 00000 n 
+0000083433 00000 n 
+0000083495 00000 n 
+0000083552 00000 n 
+0000083614 00000 n 
+0000088214 00000 n 
+0000088801 00000 n 
+0000088075 00000 n 
+0000083920 00000 n 
+0000088387 00000 n 
+0000088444 00000 n 
+0000088506 00000 n 
+0000088563 00000 n 
+0000088625 00000 n 
+0000088744 00000 n 
+0002863337 00000 n 
+0000092510 00000 n 
+0000093032 00000 n 
+0000092371 00000 n 
+0000089013 00000 n 
+0000092683 00000 n 
+0000092740 00000 n 
+0000092801 00000 n 
+0000092858 00000 n 
+0000092920 00000 n 
+0000092977 00000 n 
+0000096864 00000 n 
+0000097744 00000 n 
+0000096725 00000 n 
+0000093257 00000 n 
+0000097037 00000 n 
+0000097094 00000 n 
+0000097151 00000 n 
+0000097269 00000 n 
+0000097331 00000 n 
+0000097388 00000 n 
+0000097450 00000 n 
+0000097507 00000 n 
+0000097569 00000 n 
+0000097626 00000 n 
+0000097687 00000 n 
+0000102060 00000 n 
+0000102215 00000 n 
+0000102953 00000 n 
+0000101913 00000 n 
+0000097956 00000 n 
+0000102388 00000 n 
+0000102445 00000 n 
+0000102502 00000 n 
+0000102559 00000 n 
+0000102616 00000 n 
+0002861573 00000 n 
+0002860543 00000 n 
+0000102672 00000 n 
+0000102728 00000 n 
+0000102784 00000 n 
+0000102841 00000 n 
+0000102897 00000 n 
+0000219813 00000 n 
+0000107393 00000 n 
+0000107550 00000 n 
+0000108008 00000 n 
+0000107246 00000 n 
+0000103216 00000 n 
+0000107723 00000 n 
+0000107780 00000 n 
+0000107837 00000 n 
+0000107894 00000 n 
+0000107951 00000 n 
+0000113244 00000 n 
+0000113593 00000 n 
+0000113105 00000 n 
+0000108258 00000 n 
+0000113417 00000 n 
+0000113474 00000 n 
+0000113536 00000 n 
+0000117880 00000 n 
+0000118033 00000 n 
+0000118186 00000 n 
+0000118944 00000 n 
+0000117725 00000 n 
+0000113818 00000 n 
+0000118359 00000 n 
+0000118416 00000 n 
+0000118478 00000 n 
+0000118535 00000 n 
+0000118590 00000 n 
+0000118646 00000 n 
+0000118707 00000 n 
+0000118764 00000 n 
+0000118825 00000 n 
+0000118882 00000 n 
+0002863456 00000 n 
+0000225247 00000 n 
+0000225364 00000 n 
+0000122888 00000 n 
+0000123261 00000 n 
+0000123414 00000 n 
+0000123567 00000 n 
+0000123720 00000 n 
+0000124416 00000 n 
+0000122709 00000 n 
+0000119193 00000 n 
+0000123893 00000 n 
+0000123950 00000 n 
+0000123075 00000 n 
+0000124007 00000 n 
+0000124064 00000 n 
+0000124121 00000 n 
+0000124178 00000 n 
+0000124240 00000 n 
+0000124297 00000 n 
+0000124359 00000 n 
+0000182626 00000 n 
+0000220155 00000 n 
+0000203084 00000 n 
+0000128472 00000 n 
+0000128625 00000 n 
+0000128778 00000 n 
+0000128930 00000 n 
+0000129099 00000 n 
+0000129264 00000 n 
+0000129903 00000 n 
+0000128293 00000 n 
+0000124616 00000 n 
+0000129437 00000 n 
+0000129494 00000 n 
+0000129551 00000 n 
+0000129608 00000 n 
+0000129670 00000 n 
+0000129727 00000 n 
+0000129784 00000 n 
+0000129841 00000 n 
+0000135084 00000 n 
+0000134432 00000 n 
+0000134584 00000 n 
+0000134741 00000 n 
+0000135552 00000 n 
+0000134277 00000 n 
+0000130052 00000 n 
+0000134914 00000 n 
+0000135027 00000 n 
+0000135141 00000 n 
+0000135198 00000 n 
+0000135255 00000 n 
+0000135373 00000 n 
+0000135434 00000 n 
+0000135490 00000 n 
+0000214828 00000 n 
+0000214771 00000 n 
+0000139311 00000 n 
+0000139463 00000 n 
+0000139618 00000 n 
+0000144717 00000 n 
+0000139770 00000 n 
+0000140471 00000 n 
+0000139148 00000 n 
+0000135752 00000 n 
+0000139943 00000 n 
+0000140000 00000 n 
+0000140057 00000 n 
+0000140119 00000 n 
+0000140176 00000 n 
+0000140238 00000 n 
+0000140295 00000 n 
+0000140352 00000 n 
+0000140409 00000 n 
+0000214998 00000 n 
+0000202970 00000 n 
 0000144874 00000 n 
-0000145559 00000 n 
-0000145680 00000 n 
-0000145743 00000 n 
-0000145801 00000 n 
-0000145036 00000 n 
-0000230942 00000 n 
-0000230883 00000 n 
-0000151170 00000 n 
-0000149817 00000 n 
-0000146065 00000 n 
-0000150631 00000 n 
-0000150689 00000 n 
-0000150746 00000 n 
+0000145636 00000 n 
+0000144570 00000 n 
+0000140659 00000 n 
+0000145047 00000 n 
+0000145160 00000 n 
+0000145222 00000 n 
+0000145279 00000 n 
+0000145341 00000 n 
+0000145398 00000 n 
+0000145460 00000 n 
+0000145517 00000 n 
+0000145579 00000 n 
+0000202685 00000 n 
+0000149742 00000 n 
+0000149894 00000 n 
+0000150051 00000 n 
 0000150810 00000 n 
-0000150868 00000 n 
-0000150932 00000 n 
-0000150990 00000 n 
-0000149983 00000 n 
-0000150139 00000 n 
-0000151048 00000 n 
-0000150298 00000 n 
-0000151106 00000 n 
-0000150454 00000 n 
-0000231121 00000 n 
-0000217594 00000 n 
-0000156572 00000 n 
-0000155482 00000 n 
-0000151358 00000 n 
-0000155970 00000 n 
-0000155632 00000 n 
-0000156084 00000 n 
-0000156148 00000 n 
-0000156206 00000 n 
-0000156270 00000 n 
-0000156328 00000 n 
-0000156392 00000 n 
-0000156450 00000 n 
-0000156514 00000 n 
-0000155793 00000 n 
-0000217304 00000 n 
-0000162102 00000 n 
-0000160848 00000 n 
-0000156797 00000 n 
-0000161500 00000 n 
-0000161558 00000 n 
-0000161616 00000 n 
-0000161006 00000 n 
-0000161162 00000 n 
-0003088674 00000 n 
-0003086572 00000 n 
-0003088507 00000 n 
-0000161674 00000 n 
-0000161737 00000 n 
-0000161795 00000 n 
-0000161858 00000 n 
-0000161916 00000 n 
-0000161980 00000 n 
-0000162038 00000 n 
-0000161323 00000 n 
-0003262624 00000 n 
-0000254452 00000 n 
-0000167297 00000 n 
-0000166066 00000 n 
-0000162329 00000 n 
-0000166574 00000 n 
-0000166632 00000 n 
-0000166689 00000 n 
-0000166216 00000 n 
-0000166810 00000 n 
-0000166874 00000 n 
-0000166932 00000 n 
-0000166996 00000 n 
-0000167054 00000 n 
-0000167117 00000 n 
-0000167175 00000 n 
-0000167239 00000 n 
-0000166397 00000 n 
-0000171960 00000 n 
-0000171113 00000 n 
-0000167509 00000 n 
-0000171432 00000 n 
-0000171490 00000 n 
-0000171548 00000 n 
-0000171606 00000 n 
-0000171670 00000 n 
-0000171728 00000 n 
-0000171786 00000 n 
-0000171844 00000 n 
-0000171902 00000 n 
-0000171255 00000 n 
-0000178480 00000 n 
-0000177424 00000 n 
-0000172210 00000 n 
-0000178121 00000 n 
-0000178179 00000 n 
-0000178237 00000 n 
-0000177582 00000 n 
-0000178295 00000 n 
-0000178359 00000 n 
-0000177764 00000 n 
-0000178417 00000 n 
-0000177944 00000 n 
-0000183410 00000 n 
-0000182571 00000 n 
-0000178730 00000 n 
-0000183058 00000 n 
-0000183116 00000 n 
-0000183173 00000 n 
-0000183230 00000 n 
-0000183288 00000 n 
-0000183352 00000 n 
-0000182721 00000 n 
-0000182881 00000 n 
-0000189800 00000 n 
-0000188044 00000 n 
-0000183622 00000 n 
-0000189210 00000 n 
-0000189268 00000 n 
-0000189326 00000 n 
-0000188226 00000 n 
-0000189384 00000 n 
-0000189447 00000 n 
-0000188395 00000 n 
-0000189505 00000 n 
-0000188552 00000 n 
-0000188708 00000 n 
-0000188864 00000 n 
-0000189626 00000 n 
-0000189684 00000 n 
-0000189742 00000 n 
-0000189033 00000 n 
-0000217246 00000 n 
-0000224591 00000 n 
-0000195636 00000 n 
-0000195878 00000 n 
-0000193330 00000 n 
-0000190024 00000 n 
-0000194941 00000 n 
-0000194999 00000 n 
-0000195114 00000 n 
-0000195172 00000 n 
-0000195230 00000 n 
-0000195288 00000 n 
-0000195346 00000 n 
-0000195404 00000 n 
-0000195462 00000 n 
-0000195520 00000 n 
-0000195578 00000 n 
-0000193528 00000 n 
-0000193688 00000 n 
-0000193847 00000 n 
-0000194029 00000 n 
-0000194193 00000 n 
-0000194357 00000 n 
-0000194561 00000 n 
-0000195820 00000 n 
-0000194764 00000 n 
-0003262743 00000 n 
-0000201348 00000 n 
-0000199781 00000 n 
-0000196101 00000 n 
-0000200594 00000 n 
-0000200652 00000 n 
-0000200710 00000 n 
-0000200768 00000 n 
-0000200826 00000 n 
-0000200884 00000 n 
-0000200942 00000 n 
-0000201000 00000 n 
-0000201058 00000 n 
-0000201116 00000 n 
-0000199947 00000 n 
-0000200102 00000 n 
-0000201174 00000 n 
-0000201232 00000 n 
-0000201290 00000 n 
-0000200259 00000 n 
-0000200417 00000 n 
-0000217478 00000 n 
-0000224533 00000 n 
-0000207151 00000 n 
-0000205329 00000 n 
-0000201522 00000 n 
-0000206743 00000 n 
-0000205519 00000 n 
-0000205693 00000 n 
-0000205862 00000 n 
-0000206016 00000 n 
-0000206170 00000 n 
-0000206369 00000 n 
-0000206921 00000 n 
-0000206978 00000 n 
-0000207035 00000 n 
-0000207093 00000 n 
-0000206566 00000 n 
-0000711376 00000 n 
-0001697362 00000 n 
-0000211411 00000 n 
-0000210796 00000 n 
-0000207275 00000 n 
-0000211115 00000 n 
-0000211173 00000 n 
-0000211231 00000 n 
-0000211289 00000 n 
-0000211353 00000 n 
-0000210938 00000 n 
-0000217884 00000 n 
-0000215457 00000 n 
-0000211535 00000 n 
-0000216952 00000 n 
-0000217010 00000 n 
-0000217130 00000 n 
-0000217188 00000 n 
-0000215647 00000 n 
-0000217362 00000 n 
-0000215852 00000 n 
-0000217420 00000 n 
-0000217536 00000 n 
-0000216054 00000 n 
-0000216222 00000 n 
-0000216400 00000 n 
-0000217652 00000 n 
-0000217768 00000 n 
-0000216588 00000 n 
-0000217826 00000 n 
-0000216775 00000 n 
-0000225055 00000 n 
-0000222145 00000 n 
-0000217995 00000 n 
-0000224302 00000 n 
-0000224360 00000 n 
-0000222368 00000 n 
-0000224417 00000 n 
-0000224475 00000 n 
-0000222556 00000 n 
-0000224649 00000 n 
-0000224707 00000 n 
-0000222744 00000 n 
-0000222931 00000 n 
-0000224765 00000 n 
-0000223098 00000 n 
-0000224823 00000 n 
-0000223255 00000 n 
-0000223441 00000 n 
-0000224880 00000 n 
-0000223609 00000 n 
-0000223797 00000 n 
-0000224938 00000 n 
-0000223966 00000 n 
-0000224996 00000 n 
-0000224124 00000 n 
-0000231300 00000 n 
-0000229407 00000 n 
-0000225166 00000 n 
-0000230465 00000 n 
-0000230525 00000 n 
-0000230584 00000 n 
-0000230644 00000 n 
-0000230704 00000 n 
-0000229590 00000 n 
-0000229750 00000 n 
-0000230823 00000 n 
-0000229939 00000 n 
-0000230128 00000 n 
-0000231001 00000 n 
-0000231061 00000 n 
-0000231180 00000 n 
-0000231240 00000 n 
-0000230287 00000 n 
-0003262862 00000 n 
-0000237064 00000 n 
-0000235626 00000 n 
-0000231412 00000 n 
-0000236170 00000 n 
-0000236230 00000 n 
-0000236289 00000 n 
-0000236349 00000 n 
-0000235782 00000 n 
-0000236527 00000 n 
-0000236587 00000 n 
-0000236647 00000 n 
-0000236707 00000 n 
-0000236767 00000 n 
-0000236885 00000 n 
-0000236945 00000 n 
-0000237004 00000 n 
-0000235992 00000 n 
-0000243448 00000 n 
-0000241516 00000 n 
-0000237189 00000 n 
-0000242431 00000 n 
-0000242491 00000 n 
-0000242550 00000 n 
-0000242669 00000 n 
-0000242788 00000 n 
-0000242848 00000 n 
-0000241690 00000 n 
-0000242908 00000 n 
-0000242968 00000 n 
-0000243028 00000 n 
-0000243088 00000 n 
-0000243148 00000 n 
-0000241899 00000 n 
-0000242095 00000 n 
-0000243208 00000 n 
-0000243268 00000 n 
-0000243328 00000 n 
-0000243388 00000 n 
-0000242253 00000 n 
-0000249733 00000 n 
-0000247893 00000 n 
-0000243573 00000 n 
-0000248716 00000 n 
-0000248776 00000 n 
-0000248835 00000 n 
-0000248895 00000 n 
-0000248955 00000 n 
-0000249015 00000 n 
-0000249075 00000 n 
-0000249135 00000 n 
-0000249195 00000 n 
-0000248067 00000 n 
-0000249255 00000 n 
-0000248224 00000 n 
-0000249315 00000 n 
-0000249433 00000 n 
-0000248381 00000 n 
-0000249493 00000 n 
-0000249553 00000 n 
-0000249613 00000 n 
-0000249673 00000 n 
-0000248538 00000 n 
-0000255284 00000 n 
-0000253498 00000 n 
-0000249845 00000 n 
-0000254333 00000 n 
-0000254393 00000 n 
-0000254511 00000 n 
-0000254571 00000 n 
-0000254630 00000 n 
-0000254690 00000 n 
-0000254750 00000 n 
-0000254810 00000 n 
-0000254870 00000 n 
-0000253672 00000 n 
-0000254930 00000 n 
-0000253830 00000 n 
-0000255105 00000 n 
-0000253988 00000 n 
-0000255224 00000 n 
-0000254155 00000 n 
-0000259250 00000 n 
-0000258745 00000 n 
-0000255396 00000 n 
-0000259070 00000 n 
-0000259130 00000 n 
-0000259190 00000 n 
-0000258892 00000 n 
-0000263349 00000 n 
-0000262844 00000 n 
-0000259349 00000 n 
-0000263169 00000 n 
-0000263229 00000 n 
-0000263289 00000 n 
-0000262991 00000 n 
-0003262988 00000 n 
-0000267192 00000 n 
-0000266627 00000 n 
-0000263448 00000 n 
-0000266952 00000 n 
-0000267012 00000 n 
-0000267072 00000 n 
-0000267132 00000 n 
-0000266774 00000 n 
-0000271375 00000 n 
-0000270930 00000 n 
-0000267291 00000 n 
-0000271255 00000 n 
-0000271315 00000 n 
-0000271077 00000 n 
-0000275310 00000 n 
-0000274865 00000 n 
-0000271474 00000 n 
-0000275190 00000 n 
-0000275250 00000 n 
-0000275012 00000 n 
-0000279176 00000 n 
-0000278611 00000 n 
-0000275409 00000 n 
-0000278936 00000 n 
-0000278996 00000 n 
-0000279056 00000 n 
-0000279116 00000 n 
-0000278758 00000 n 
-0000283386 00000 n 
-0000282881 00000 n 
-0000279275 00000 n 
-0000283206 00000 n 
-0000283266 00000 n 
-0000283326 00000 n 
-0000283028 00000 n 
-0000287097 00000 n 
-0000286472 00000 n 
-0000283485 00000 n 
-0000286797 00000 n 
-0000286857 00000 n 
-0000286917 00000 n 
-0000286977 00000 n 
-0000287037 00000 n 
-0000286619 00000 n 
-0003263114 00000 n 
-0000290906 00000 n 
-0000290026 00000 n 
-0000287196 00000 n 
-0000290726 00000 n 
-0000290786 00000 n 
-0000290846 00000 n 
-0003086070 00000 n 
-0003077634 00000 n 
-0003085889 00000 n 
-0000290191 00000 n 
-0000290370 00000 n 
-0000290548 00000 n 
-0000295144 00000 n 
-0000294373 00000 n 
-0000291019 00000 n 
-0000294907 00000 n 
-0000294529 00000 n 
-0000295025 00000 n 
-0000294729 00000 n 
-0000299467 00000 n 
-0000299082 00000 n 
-0000295243 00000 n 
-0000299407 00000 n 
-0000299229 00000 n 
-0000303560 00000 n 
-0000303175 00000 n 
-0000299566 00000 n 
-0000303500 00000 n 
-0000303322 00000 n 
-0000307531 00000 n 
-0000307146 00000 n 
-0000303659 00000 n 
-0000307471 00000 n 
-0000307293 00000 n 
-0000311665 00000 n 
-0000311030 00000 n 
-0000307630 00000 n 
-0000311545 00000 n 
-0000311186 00000 n 
-0000311605 00000 n 
-0000311367 00000 n 
-0003263240 00000 n 
-0000318970 00000 n 
-0000313921 00000 n 
-0000311764 00000 n 
-0000318193 00000 n 
-0000318311 00000 n 
-0000318371 00000 n 
-0000314230 00000 n 
-0000314454 00000 n 
-0000318431 00000 n 
-0000314652 00000 n 
-0000314876 00000 n 
-0000318491 00000 n 
-0000315071 00000 n 
-0000315294 00000 n 
-0000318551 00000 n 
-0000315492 00000 n 
-0000315716 00000 n 
-0000318611 00000 n 
-0000315914 00000 n 
-0000316138 00000 n 
-0000318671 00000 n 
-0000316336 00000 n 
-0000316560 00000 n 
-0000318731 00000 n 
-0000316756 00000 n 
-0000316979 00000 n 
-0000318791 00000 n 
-0000317177 00000 n 
-0000317401 00000 n 
-0000318851 00000 n 
-0000317599 00000 n 
-0000317818 00000 n 
-0000318911 00000 n 
-0000318015 00000 n 
-0000635093 00000 n 
-0000638711 00000 n 
-0000642096 00000 n 
-0000642216 00000 n 
-0000646231 00000 n 
-0000649811 00000 n 
-0000657239 00000 n 
-0000657478 00000 n 
-0001520220 00000 n 
-0000328333 00000 n 
-0000321042 00000 n 
-0000319069 00000 n 
-0000327493 00000 n 
-0000321441 00000 n 
-0000321660 00000 n 
-0000327553 00000 n 
-0000321857 00000 n 
-0000322075 00000 n 
-0000327613 00000 n 
-0000322273 00000 n 
-0000322492 00000 n 
-0000327673 00000 n 
-0000322690 00000 n 
-0000322906 00000 n 
-0000327733 00000 n 
-0000323103 00000 n 
-0000323321 00000 n 
-0000327793 00000 n 
-0000323519 00000 n 
-0000323738 00000 n 
-0000327853 00000 n 
-0000323936 00000 n 
-0000324155 00000 n 
-0000327913 00000 n 
-0000324351 00000 n 
-0000324569 00000 n 
-0000327973 00000 n 
-0000324767 00000 n 
-0000324986 00000 n 
-0000328033 00000 n 
-0000325184 00000 n 
-0000325403 00000 n 
-0000328093 00000 n 
-0000325599 00000 n 
-0000325830 00000 n 
-0000328153 00000 n 
-0000326028 00000 n 
-0000326261 00000 n 
-0000328213 00000 n 
-0000326459 00000 n 
-0000326691 00000 n 
-0000328273 00000 n 
-0000326888 00000 n 
-0000327119 00000 n 
-0000327315 00000 n 
-0001520460 00000 n 
-0001523580 00000 n 
-0001523700 00000 n 
-0001526841 00000 n 
-0001530277 00000 n 
-0001530517 00000 n 
-0001536706 00000 n 
-0001540508 00000 n 
-0001544142 00000 n 
-0001544382 00000 n 
-0002330835 00000 n 
-0002334116 00000 n 
-0002334475 00000 n 
-0002337665 00000 n 
-0000336825 00000 n 
-0000330316 00000 n 
-0000328432 00000 n 
-0000335932 00000 n 
-0000335992 00000 n 
-0000330679 00000 n 
-0000330911 00000 n 
-0000336051 00000 n 
-0000331108 00000 n 
-0000331333 00000 n 
-0000336111 00000 n 
-0000331530 00000 n 
-0000331755 00000 n 
-0000336170 00000 n 
-0000331953 00000 n 
-0000332178 00000 n 
-0000336230 00000 n 
-0000332376 00000 n 
-0000332601 00000 n 
-0000336290 00000 n 
-0000332799 00000 n 
-0000333024 00000 n 
-0000336350 00000 n 
-0000333222 00000 n 
-0000333447 00000 n 
-0000336410 00000 n 
-0000333645 00000 n 
-0000333869 00000 n 
-0000336470 00000 n 
-0000334067 00000 n 
-0000334291 00000 n 
-0000336530 00000 n 
-0000334489 00000 n 
-0000334713 00000 n 
-0000336590 00000 n 
-0000334911 00000 n 
-0000335136 00000 n 
-0000336650 00000 n 
-0000335331 00000 n 
-0000335556 00000 n 
-0000335754 00000 n 
-0002342097 00000 n 
-0002535402 00000 n 
-0002538947 00000 n 
-0002539193 00000 n 
-0002542524 00000 n 
-0002546016 00000 n 
-0002549324 00000 n 
-0002549447 00000 n 
-0002553049 00000 n 
-0002556191 00000 n 
-0002562881 00000 n 
-0002563126 00000 n 
-0000343479 00000 n 
-0000338854 00000 n 
-0000336924 00000 n 
-0000343189 00000 n 
-0000339208 00000 n 
-0000339370 00000 n 
-0000339551 00000 n 
-0000339714 00000 n 
-0000339913 00000 n 
-0000340076 00000 n 
-0000340236 00000 n 
-0000340399 00000 n 
-0000340562 00000 n 
-0000340725 00000 n 
-0000340888 00000 n 
-0000341051 00000 n 
-0000341214 00000 n 
-0000341377 00000 n 
-0000341540 00000 n 
-0000341702 00000 n 
-0000341864 00000 n 
-0000342028 00000 n 
-0000342192 00000 n 
-0000342356 00000 n 
-0000342519 00000 n 
-0000342683 00000 n 
-0000342847 00000 n 
-0000343011 00000 n 
-0000444940 00000 n 
-0000504546 00000 n 
-0000504731 00000 n 
-0000350912 00000 n 
-0000345520 00000 n 
-0000343591 00000 n 
-0000350852 00000 n 
-0000345928 00000 n 
-0000346092 00000 n 
-0000346255 00000 n 
-0000346418 00000 n 
-0000346582 00000 n 
-0000346746 00000 n 
-0000346910 00000 n 
-0000347073 00000 n 
-0000347237 00000 n 
-0000347401 00000 n 
-0000347565 00000 n 
-0000347729 00000 n 
-0000347893 00000 n 
-0000348057 00000 n 
-0000348221 00000 n 
-0000348385 00000 n 
-0000348549 00000 n 
-0000348713 00000 n 
-0000348877 00000 n 
-0000349040 00000 n 
-0000349204 00000 n 
-0000349368 00000 n 
-0000349532 00000 n 
-0000349695 00000 n 
-0000349856 00000 n 
-0000350020 00000 n 
-0000350184 00000 n 
-0000350348 00000 n 
-0000350511 00000 n 
-0000350674 00000 n 
-0000360776 00000 n 
-0000353690 00000 n 
-0000351024 00000 n 
-0000360598 00000 n 
-0000354152 00000 n 
-0000354316 00000 n 
-0000354479 00000 n 
-0000354643 00000 n 
-0000354807 00000 n 
-0000354971 00000 n 
-0000355162 00000 n 
-0000355325 00000 n 
-0000355526 00000 n 
-0000355689 00000 n 
-0000355902 00000 n 
-0000356065 00000 n 
-0000356250 00000 n 
-0000356413 00000 n 
-0000356608 00000 n 
-0000356771 00000 n 
-0000356968 00000 n 
-0000357131 00000 n 
-0000357323 00000 n 
-0000357486 00000 n 
-0000357686 00000 n 
-0000357849 00000 n 
-0000358068 00000 n 
-0000358231 00000 n 
-0000358423 00000 n 
-0000358587 00000 n 
-0000358787 00000 n 
-0000358951 00000 n 
-0000359170 00000 n 
-0000359334 00000 n 
-0000359538 00000 n 
-0000359702 00000 n 
-0000359895 00000 n 
-0000360059 00000 n 
-0000360256 00000 n 
-0000360420 00000 n 
-0003263366 00000 n 
-0000715729 00000 n 
-0000930469 00000 n 
-0001040675 00000 n 
-0001085845 00000 n 
-0001122876 00000 n 
-0001129608 00000 n 
-0001191926 00000 n 
-0001214866 00000 n 
-0001226498 00000 n 
-0001233623 00000 n 
-0001249842 00000 n 
-0000373447 00000 n 
-0000363850 00000 n 
-0000360888 00000 n 
-0000373387 00000 n 
-0000364429 00000 n 
-0000364631 00000 n 
-0000364795 00000 n 
-0000364985 00000 n 
-0000365148 00000 n 
-0000365347 00000 n 
-0000365510 00000 n 
-0000365728 00000 n 
-0000365891 00000 n 
-0000366085 00000 n 
-0000366248 00000 n 
-0000366434 00000 n 
-0000366598 00000 n 
-0000366797 00000 n 
-0000366983 00000 n 
-0000367147 00000 n 
-0000367358 00000 n 
-0000367544 00000 n 
-0000367708 00000 n 
-0000367905 00000 n 
-0000368069 00000 n 
-0000368274 00000 n 
-0000368438 00000 n 
-0000368662 00000 n 
-0000368826 00000 n 
-0000369023 00000 n 
-0000369187 00000 n 
-0000369396 00000 n 
-0000369560 00000 n 
-0000369748 00000 n 
-0000369911 00000 n 
-0000370104 00000 n 
-0000370268 00000 n 
-0000370505 00000 n 
-0000370669 00000 n 
-0000370875 00000 n 
-0000371039 00000 n 
-0000371239 00000 n 
-0000371403 00000 n 
-0000371597 00000 n 
-0000371760 00000 n 
-0000371956 00000 n 
-0000372119 00000 n 
-0000372313 00000 n 
-0000372476 00000 n 
-0000372673 00000 n 
-0000372837 00000 n 
-0000373046 00000 n 
-0000373209 00000 n 
-0001254247 00000 n 
-0001254426 00000 n 
-0001320557 00000 n 
-0001347861 00000 n 
-0001354797 00000 n 
-0001587861 00000 n 
-0001594656 00000 n 
-0001603277 00000 n 
-0001647598 00000 n 
-0001683790 00000 n 
-0001701699 00000 n 
-0001718694 00000 n 
-0001721701 00000 n 
-0001721940 00000 n 
-0001722178 00000 n 
-0001786105 00000 n 
-0001865643 00000 n 
-0000382749 00000 n 
-0000376294 00000 n 
-0000373559 00000 n 
-0000382452 00000 n 
-0000376711 00000 n 
-0000376911 00000 n 
-0000377075 00000 n 
-0000377276 00000 n 
-0000377440 00000 n 
-0000377641 00000 n 
-0000377805 00000 n 
-0000377997 00000 n 
-0000378161 00000 n 
-0000378349 00000 n 
-0000378513 00000 n 
-0000378709 00000 n 
-0000378873 00000 n 
-0000379071 00000 n 
-0000379235 00000 n 
-0000379426 00000 n 
-0000379590 00000 n 
-0000379779 00000 n 
-0000379943 00000 n 
-0000380145 00000 n 
-0000380309 00000 n 
-0000380505 00000 n 
-0000382571 00000 n 
-0000382690 00000 n 
-0000380669 00000 n 
-0000380863 00000 n 
-0000381100 00000 n 
-0000381306 00000 n 
-0000381502 00000 n 
-0000381691 00000 n 
-0000381893 00000 n 
-0000382089 00000 n 
-0000382274 00000 n 
-0002382162 00000 n 
-0002396088 00000 n 
-0002410168 00000 n 
-0002612648 00000 n 
-0002660163 00000 n 
-0002660346 00000 n 
-0002664336 00000 n 
-0002664704 00000 n 
-0002683497 00000 n 
-0002683803 00000 n 
-0000388807 00000 n 
-0000385087 00000 n 
-0000382874 00000 n 
-0000388747 00000 n 
-0000385378 00000 n 
-0000385567 00000 n 
-0000385769 00000 n 
-0000385968 00000 n 
-0000386165 00000 n 
-0000386383 00000 n 
-0000386574 00000 n 
-0000386757 00000 n 
-0000386956 00000 n 
-0000387174 00000 n 
-0000387365 00000 n 
-0000387564 00000 n 
-0000387761 00000 n 
-0000387978 00000 n 
-0000388165 00000 n 
-0000388365 00000 n 
-0000388569 00000 n 
-0000395509 00000 n 
-0000391420 00000 n 
-0000388932 00000 n 
-0000395449 00000 n 
-0000391729 00000 n 
-0000391952 00000 n 
-0000392147 00000 n 
-0000392338 00000 n 
-0000392531 00000 n 
-0000392716 00000 n 
-0000392906 00000 n 
-0000393100 00000 n 
-0000393297 00000 n 
-0000393496 00000 n 
-0000393709 00000 n 
-0000393906 00000 n 
-0000394116 00000 n 
-0000394314 00000 n 
-0000394500 00000 n 
-0000394696 00000 n 
-0000394886 00000 n 
-0000395075 00000 n 
-0000395271 00000 n 
-0000400878 00000 n 
-0000397813 00000 n 
-0000395634 00000 n 
-0000400638 00000 n 
-0000398068 00000 n 
-0000398270 00000 n 
-0000398464 00000 n 
-0000398672 00000 n 
-0000398871 00000 n 
-0000400698 00000 n 
-0000399064 00000 n 
-0000399263 00000 n 
-0000400758 00000 n 
-0000399423 00000 n 
-0000399631 00000 n 
-0000399838 00000 n 
-0000400818 00000 n 
-0000400045 00000 n 
-0000400253 00000 n 
-0000400460 00000 n 
-0000424843 00000 n 
-0000424963 00000 n 
-0000425083 00000 n 
-0000425203 00000 n 
-0000417654 00000 n 
-0000404166 00000 n 
-0000401003 00000 n 
-0000417476 00000 n 
-0000417536 00000 n 
-0000404790 00000 n 
-0000404998 00000 n 
-0000405205 00000 n 
-0000417596 00000 n 
-0000405413 00000 n 
-0000405621 00000 n 
-0000405861 00000 n 
-0000406098 00000 n 
+0000149587 00000 n 
+0000145861 00000 n 
+0000150224 00000 n 
+0000150281 00000 n 
+0000150338 00000 n 
+0002859516 00000 n 
+0000150395 00000 n 
+0000150455 00000 n 
+0000150511 00000 n 
+0000150573 00000 n 
+0000150630 00000 n 
+0000150692 00000 n 
+0000150749 00000 n 
+0002863575 00000 n 
+0000235832 00000 n 
+0000154772 00000 n 
+0000154949 00000 n 
+0000155830 00000 n 
+0000154625 00000 n 
+0000151037 00000 n 
+0000155122 00000 n 
+0000155179 00000 n 
+0000155236 00000 n 
+0000155354 00000 n 
+0000155416 00000 n 
+0000155473 00000 n 
+0000155535 00000 n 
+0000155592 00000 n 
+0000155654 00000 n 
+0000155711 00000 n 
+0000155773 00000 n 
+0000159617 00000 n 
+0000160306 00000 n 
+0000159478 00000 n 
+0000156042 00000 n 
+0000159790 00000 n 
+0000159847 00000 n 
+0000159904 00000 n 
+0000159961 00000 n 
+0000160023 00000 n 
+0000160080 00000 n 
+0000160137 00000 n 
+0000160193 00000 n 
+0000160250 00000 n 
+0000165654 00000 n 
+0000165831 00000 n 
+0000166006 00000 n 
+0000166530 00000 n 
+0000165499 00000 n 
+0000160556 00000 n 
+0000166179 00000 n 
+0000166236 00000 n 
+0000166293 00000 n 
+0000166350 00000 n 
+0000166412 00000 n 
+0000166469 00000 n 
+0000170410 00000 n 
+0000170567 00000 n 
+0000171087 00000 n 
+0000170263 00000 n 
+0000166780 00000 n 
+0000170740 00000 n 
+0000170797 00000 n 
+0000170854 00000 n 
+0000170911 00000 n 
+0000170968 00000 n 
+0000171030 00000 n 
+0000175551 00000 n 
+0000175716 00000 n 
+0000175869 00000 n 
+0000176022 00000 n 
+0000176174 00000 n 
+0000176339 00000 n 
+0000177091 00000 n 
+0000175372 00000 n 
+0000171299 00000 n 
+0000176512 00000 n 
+0000176569 00000 n 
+0000176626 00000 n 
+0000176683 00000 n 
+0000176745 00000 n 
+0000176802 00000 n 
+0000176920 00000 n 
+0000176977 00000 n 
+0000177034 00000 n 
+0000202628 00000 n 
+0000209119 00000 n 
+0000182509 00000 n 
+0000180449 00000 n 
+0000180759 00000 n 
+0000180937 00000 n 
+0000181257 00000 n 
+0000181655 00000 n 
+0000182745 00000 n 
+0000180254 00000 n 
+0000177315 00000 n 
+0000181828 00000 n 
+0000181885 00000 n 
+0000181998 00000 n 
+0000182055 00000 n 
+0000182112 00000 n 
+0000182169 00000 n 
+0000182225 00000 n 
+0000182281 00000 n 
+0000182338 00000 n 
+0000182395 00000 n 
+0000182452 00000 n 
+0000180604 00000 n 
+0000181098 00000 n 
+0000181456 00000 n 
+0000182688 00000 n 
+0002863694 00000 n 
+0000186559 00000 n 
+0000186711 00000 n 
+0000186864 00000 n 
+0000191741 00000 n 
+0000191911 00000 n 
+0000192077 00000 n 
+0000192227 00000 n 
+0000187018 00000 n 
+0000187932 00000 n 
+0000186396 00000 n 
+0000182968 00000 n 
+0000187191 00000 n 
+0000187248 00000 n 
+0000187305 00000 n 
+0000187362 00000 n 
+0000187419 00000 n 
+0000187476 00000 n 
+0000187533 00000 n 
+0000187590 00000 n 
+0000187647 00000 n 
+0000187704 00000 n 
+0000187761 00000 n 
+0000187818 00000 n 
+0000187875 00000 n 
+0000202856 00000 n 
+0000209062 00000 n 
+0000192379 00000 n 
+0000192573 00000 n 
+0000192766 00000 n 
+0000193342 00000 n 
+0000191554 00000 n 
+0000188106 00000 n 
+0000192939 00000 n 
+0000193114 00000 n 
+0000193171 00000 n 
+0000193228 00000 n 
+0000193285 00000 n 
+0000632592 00000 n 
+0001489705 00000 n 
+0000196969 00000 n 
+0000197432 00000 n 
+0000196830 00000 n 
+0000193466 00000 n 
+0000197142 00000 n 
+0000197199 00000 n 
+0000197256 00000 n 
+0000197313 00000 n 
+0000197375 00000 n 
+0000201061 00000 n 
+0000201262 00000 n 
+0000201459 00000 n 
+0000201624 00000 n 
+0000201799 00000 n 
+0000201983 00000 n 
+0000206943 00000 n 
+0000202167 00000 n 
+0000203255 00000 n 
+0000200874 00000 n 
+0000197556 00000 n 
+0000202340 00000 n 
+0000202397 00000 n 
+0000202514 00000 n 
+0000202571 00000 n 
+0000202742 00000 n 
+0000202799 00000 n 
+0000202913 00000 n 
+0000203027 00000 n 
+0000203141 00000 n 
+0000203198 00000 n 
+0000207127 00000 n 
+0000207310 00000 n 
+0000207494 00000 n 
+0000207659 00000 n 
+0000207813 00000 n 
+0000207996 00000 n 
+0000208160 00000 n 
+0000208342 00000 n 
+0000208507 00000 n 
+0000208661 00000 n 
+0000209574 00000 n 
+0000206724 00000 n 
+0000203366 00000 n 
+0000208834 00000 n 
+0000208891 00000 n 
+0000208948 00000 n 
+0000209005 00000 n 
+0000209176 00000 n 
+0000209233 00000 n 
+0000209289 00000 n 
+0000209346 00000 n 
+0000209403 00000 n 
+0000209460 00000 n 
+0000209517 00000 n 
+0000213521 00000 n 
+0000213676 00000 n 
+0000213860 00000 n 
+0000214044 00000 n 
+0000214199 00000 n 
+0000215169 00000 n 
+0000213350 00000 n 
+0000209685 00000 n 
+0000214372 00000 n 
+0000214429 00000 n 
+0000214486 00000 n 
+0000214543 00000 n 
+0000214600 00000 n 
+0000214714 00000 n 
+0000214885 00000 n 
+0000214942 00000 n 
+0000215055 00000 n 
+0000215112 00000 n 
+0002863813 00000 n 
+0000219151 00000 n 
+0000219355 00000 n 
+0000220382 00000 n 
+0000219004 00000 n 
+0000215280 00000 n 
+0000219528 00000 n 
+0000219585 00000 n 
+0000219642 00000 n 
+0000219699 00000 n 
+0000219870 00000 n 
+0000219927 00000 n 
+0000219984 00000 n 
+0000220041 00000 n 
+0000220098 00000 n 
+0000220211 00000 n 
+0000220268 00000 n 
+0000220325 00000 n 
+0000224351 00000 n 
+0000224554 00000 n 
+0000224743 00000 n 
+0000224896 00000 n 
+0000226070 00000 n 
+0000224183 00000 n 
+0000220506 00000 n 
+0000225070 00000 n 
+0000225129 00000 n 
+0000225188 00000 n 
+0000225305 00000 n 
+0000225422 00000 n 
+0000225481 00000 n 
+0000225540 00000 n 
+0000225599 00000 n 
+0000225658 00000 n 
+0000225717 00000 n 
+0000225776 00000 n 
+0000225834 00000 n 
+0000225893 00000 n 
+0000225952 00000 n 
+0000226011 00000 n 
+0000230029 00000 n 
+0000230179 00000 n 
+0000230332 00000 n 
+0000230483 00000 n 
+0000231658 00000 n 
+0000229859 00000 n 
+0000226195 00000 n 
+0000230657 00000 n 
+0000230716 00000 n 
+0000230775 00000 n 
+0000230834 00000 n 
+0000230893 00000 n 
+0000230952 00000 n 
+0000231011 00000 n 
+0000231070 00000 n 
+0000231129 00000 n 
+0000231188 00000 n 
+0000231247 00000 n 
+0000231364 00000 n 
+0000231423 00000 n 
+0000231482 00000 n 
+0000231541 00000 n 
+0000231600 00000 n 
+0000235068 00000 n 
+0000235222 00000 n 
+0000235376 00000 n 
+0000235540 00000 n 
+0000236653 00000 n 
+0000234898 00000 n 
+0000231770 00000 n 
+0000235714 00000 n 
+0000235773 00000 n 
+0000235890 00000 n 
+0000235949 00000 n 
+0000236008 00000 n 
+0000236067 00000 n 
+0000236126 00000 n 
+0000236185 00000 n 
+0000236244 00000 n 
+0000236303 00000 n 
+0000236477 00000 n 
+0000236594 00000 n 
+0000240188 00000 n 
+0000240539 00000 n 
+0000240045 00000 n 
+0000236765 00000 n 
+0000240362 00000 n 
+0000240421 00000 n 
+0000240480 00000 n 
+0000244214 00000 n 
+0000244565 00000 n 
+0000244070 00000 n 
+0000240638 00000 n 
+0000244388 00000 n 
+0000244447 00000 n 
+0000244506 00000 n 
+0002863936 00000 n 
+0000247812 00000 n 
+0000248221 00000 n 
+0000247668 00000 n 
+0000244664 00000 n 
+0000247986 00000 n 
+0000248045 00000 n 
+0000248103 00000 n 
+0000248162 00000 n 
+0000251890 00000 n 
+0000252182 00000 n 
+0000251746 00000 n 
+0000248320 00000 n 
+0000252064 00000 n 
+0000252123 00000 n 
+0000255591 00000 n 
+0000255883 00000 n 
+0000255447 00000 n 
+0000252281 00000 n 
+0000255765 00000 n 
+0000255824 00000 n 
+0000259254 00000 n 
+0000259664 00000 n 
+0000259110 00000 n 
+0000255982 00000 n 
+0000259428 00000 n 
+0000259487 00000 n 
+0000259546 00000 n 
+0000259605 00000 n 
+0000263449 00000 n 
+0000263800 00000 n 
+0000263305 00000 n 
+0000259763 00000 n 
+0000263623 00000 n 
+0000263682 00000 n 
+0000263741 00000 n 
+0000266947 00000 n 
+0000267416 00000 n 
+0000266803 00000 n 
+0000263899 00000 n 
+0000267121 00000 n 
+0000267180 00000 n 
+0000267239 00000 n 
+0000267298 00000 n 
+0000267357 00000 n 
+0002864062 00000 n 
+0000270267 00000 n 
+0000270443 00000 n 
+0000274464 00000 n 
+0000270618 00000 n 
+0000270969 00000 n 
+0000270105 00000 n 
+0000267515 00000 n 
+0000270792 00000 n 
+0000270851 00000 n 
+0000270910 00000 n 
+0002862192 00000 n 
+0000274660 00000 n 
+0000275067 00000 n 
+0000274311 00000 n 
+0000271082 00000 n 
+0000274834 00000 n 
+0000274950 00000 n 
+0000279065 00000 n 
+0000279298 00000 n 
+0000278921 00000 n 
+0000275166 00000 n 
+0000279239 00000 n 
+0000282838 00000 n 
+0000283071 00000 n 
+0000282694 00000 n 
+0000279397 00000 n 
+0000283012 00000 n 
+0000286596 00000 n 
+0000286829 00000 n 
+0000286452 00000 n 
+0000283170 00000 n 
+0000286770 00000 n 
+0000290350 00000 n 
+0000290527 00000 n 
+0000290819 00000 n 
+0000290197 00000 n 
+0000286928 00000 n 
+0000290701 00000 n 
+0000290760 00000 n 
+0002864188 00000 n 
+0000292534 00000 n 
+0000292754 00000 n 
+0000292948 00000 n 
+0000293168 00000 n 
+0000293361 00000 n 
+0000293581 00000 n 
+0000293775 00000 n 
+0000293995 00000 n 
+0000294189 00000 n 
+0000294409 00000 n 
+0000294602 00000 n 
+0000294822 00000 n 
+0000295016 00000 n 
+0000295236 00000 n 
+0000295430 00000 n 
+0000295650 00000 n 
+0000295844 00000 n 
+0000296059 00000 n 
+0000298467 00000 n 
+0000298682 00000 n 
+0000298876 00000 n 
+0000299091 00000 n 
+0000299284 00000 n 
+0000299499 00000 n 
+0000296252 00000 n 
+0000297190 00000 n 
+0000292228 00000 n 
+0000290918 00000 n 
+0000296426 00000 n 
+0000296542 00000 n 
+0000296601 00000 n 
+0000296660 00000 n 
+0000296719 00000 n 
+0000296778 00000 n 
+0000296837 00000 n 
+0000296896 00000 n 
+0000296955 00000 n 
+0000297014 00000 n 
+0000297073 00000 n 
+0000297132 00000 n 
+0000570996 00000 n 
+0000571232 00000 n 
+0000574278 00000 n 
+0000577382 00000 n 
+0000581035 00000 n 
+0000581271 00000 n 
+0000587472 00000 n 
+0000587708 00000 n 
+0001336461 00000 n 
+0000299692 00000 n 
+0000299905 00000 n 
+0000300099 00000 n 
+0000300314 00000 n 
+0000300508 00000 n 
+0000300723 00000 n 
+0000300917 00000 n 
+0000301132 00000 n 
+0000301326 00000 n 
+0000301541 00000 n 
+0000301735 00000 n 
+0000301949 00000 n 
+0000302143 00000 n 
+0000302357 00000 n 
+0000302551 00000 n 
+0000302779 00000 n 
+0000302972 00000 n 
+0000303201 00000 n 
+0000303394 00000 n 
+0000303623 00000 n 
+0000303817 00000 n 
+0000304044 00000 n 
+0000306512 00000 n 
+0000306741 00000 n 
+0000306935 00000 n 
+0000307156 00000 n 
+0000307350 00000 n 
+0000307570 00000 n 
+0000304236 00000 n 
+0000305235 00000 n 
+0000298071 00000 n 
+0000297289 00000 n 
+0000304410 00000 n 
+0000304469 00000 n 
+0000304528 00000 n 
+0000304587 00000 n 
+0000304646 00000 n 
+0000304705 00000 n 
+0000304763 00000 n 
+0000304822 00000 n 
+0000304881 00000 n 
+0000304940 00000 n 
+0000304999 00000 n 
+0000305058 00000 n 
+0000305117 00000 n 
+0000305176 00000 n 
+0001336697 00000 n 
+0001339380 00000 n 
+0001339498 00000 n 
+0001342139 00000 n 
+0001345057 00000 n 
+0001345292 00000 n 
+0001350606 00000 n 
+0001353845 00000 n 
+0001357005 00000 n 
+0001357241 00000 n 
+0002040072 00000 n 
+0002042841 00000 n 
+0002046014 00000 n 
+0002049061 00000 n 
+0000307764 00000 n 
+0000307983 00000 n 
+0000308177 00000 n 
+0000308398 00000 n 
+0000308592 00000 n 
+0000308813 00000 n 
+0000309007 00000 n 
+0000309228 00000 n 
+0000309422 00000 n 
+0000309643 00000 n 
+0000309837 00000 n 
+0000310057 00000 n 
+0000310250 00000 n 
+0000310471 00000 n 
+0000310665 00000 n 
+0000310886 00000 n 
+0000311079 00000 n 
+0000311300 00000 n 
+0000314328 00000 n 
+0000311494 00000 n 
+0000312548 00000 n 
+0000306152 00000 n 
+0000305334 00000 n 
+0000311668 00000 n 
+0000311727 00000 n 
+0000311786 00000 n 
+0000311845 00000 n 
+0000311904 00000 n 
+0000311963 00000 n 
+0000312022 00000 n 
+0000312081 00000 n 
+0000312140 00000 n 
+0000312199 00000 n 
+0000312258 00000 n 
+0000312316 00000 n 
+0000312375 00000 n 
+0002052793 00000 n 
+0002219185 00000 n 
+0002219420 00000 n 
+0002222584 00000 n 
+0002225239 00000 n 
+0002225360 00000 n 
+0002228171 00000 n 
+0002231149 00000 n 
+0002233858 00000 n 
+0002234100 00000 n 
+0002240169 00000 n 
+0002243156 00000 n 
+0000314485 00000 n 
+0000314663 00000 n 
+0000314822 00000 n 
+0000315016 00000 n 
+0000315175 00000 n 
+0000315331 00000 n 
+0000315489 00000 n 
+0000315648 00000 n 
+0000315806 00000 n 
+0000315964 00000 n 
+0000316122 00000 n 
+0000316280 00000 n 
+0000316437 00000 n 
+0000316595 00000 n 
+0000316753 00000 n 
+0000316912 00000 n 
+0000317071 00000 n 
+0000317230 00000 n 
+0000317389 00000 n 
+0000317548 00000 n 
+0000317707 00000 n 
+0000317866 00000 n 
+0000320243 00000 n 
+0000318025 00000 n 
+0000318485 00000 n 
+0000313977 00000 n 
+0000312647 00000 n 
+0000318199 00000 n 
+0000406103 00000 n 
+0000456849 00000 n 
+0000460114 00000 n 
+0000320401 00000 n 
+0000320560 00000 n 
+0000320718 00000 n 
+0000320877 00000 n 
+0000321036 00000 n 
+0000321195 00000 n 
+0000321354 00000 n 
+0000321513 00000 n 
+0000321672 00000 n 
+0000321831 00000 n 
+0000321990 00000 n 
+0000322148 00000 n 
+0000322307 00000 n 
+0000322466 00000 n 
+0000322624 00000 n 
+0000322783 00000 n 
+0000322942 00000 n 
+0000323101 00000 n 
+0000323260 00000 n 
+0000323419 00000 n 
+0000323577 00000 n 
+0000323736 00000 n 
+0000323895 00000 n 
+0000324052 00000 n 
+0000324211 00000 n 
+0000324370 00000 n 
+0000324529 00000 n 
+0000324688 00000 n 
+0000327397 00000 n 
+0000324846 00000 n 
+0000325079 00000 n 
+0000319838 00000 n 
+0000318597 00000 n 
+0000325020 00000 n 
+0000327556 00000 n 
+0000327715 00000 n 
+0000327873 00000 n 
+0000328032 00000 n 
+0000328191 00000 n 
+0000328378 00000 n 
+0000328536 00000 n 
+0000328733 00000 n 
+0000328891 00000 n 
+0000329100 00000 n 
+0000329257 00000 n 
+0000329438 00000 n 
+0000329596 00000 n 
+0000329785 00000 n 
+0000329942 00000 n 
+0000330135 00000 n 
+0000330292 00000 n 
+0000330479 00000 n 
+0000330637 00000 n 
+0000330833 00000 n 
+0000330991 00000 n 
+0000331206 00000 n 
+0000331364 00000 n 
+0000331551 00000 n 
+0000331709 00000 n 
+0000331905 00000 n 
+0000332064 00000 n 
+0000332279 00000 n 
+0000332437 00000 n 
+0000332637 00000 n 
+0000332795 00000 n 
+0000332983 00000 n 
+0000333142 00000 n 
+0000333335 00000 n 
+0000336265 00000 n 
+0000336463 00000 n 
+0000333494 00000 n 
+0000333843 00000 n 
+0000326938 00000 n 
+0000325191 00000 n 
+0000333668 00000 n 
+0002864314 00000 n 
+0000637941 00000 n 
+0000820462 00000 n 
+0000925227 00000 n 
+0000963878 00000 n 
+0000993676 00000 n 
+0000999674 00000 n 
+0001053421 00000 n 
+0001073218 00000 n 
+0001083319 00000 n 
+0001089332 00000 n 
+0001103498 00000 n 
+0000336621 00000 n 
+0000336808 00000 n 
+0000336967 00000 n 
+0000337161 00000 n 
+0000337319 00000 n 
+0000337531 00000 n 
+0000337690 00000 n 
+0000337879 00000 n 
+0000338038 00000 n 
+0000338220 00000 n 
+0000338378 00000 n 
+0000338572 00000 n 
+0000338753 00000 n 
+0000338912 00000 n 
+0000339119 00000 n 
+0000339300 00000 n 
+0000339459 00000 n 
+0000339652 00000 n 
+0000339811 00000 n 
+0000340012 00000 n 
+0000340171 00000 n 
+0000340391 00000 n 
+0000340550 00000 n 
+0000340744 00000 n 
+0000340903 00000 n 
+0000341109 00000 n 
+0000341267 00000 n 
+0000341453 00000 n 
+0000341612 00000 n 
+0000341802 00000 n 
+0000341961 00000 n 
+0000342194 00000 n 
+0000342353 00000 n 
+0000342552 00000 n 
+0000342709 00000 n 
+0000342905 00000 n 
+0000343064 00000 n 
+0000343254 00000 n 
+0000343413 00000 n 
+0000343606 00000 n 
+0000343765 00000 n 
+0000343956 00000 n 
+0000344115 00000 n 
+0000344307 00000 n 
+0000344464 00000 n 
+0000344668 00000 n 
+0000347249 00000 n 
+0000347445 00000 n 
+0000344827 00000 n 
+0000345060 00000 n 
+0000335689 00000 n 
+0000333955 00000 n 
+0000345001 00000 n 
+0001107420 00000 n 
+0001107596 00000 n 
+0001165354 00000 n 
+0001189107 00000 n 
+0001195067 00000 n 
+0001394728 00000 n 
+0001400583 00000 n 
+0001407950 00000 n 
+0001446615 00000 n 
+0001478142 00000 n 
+0001493616 00000 n 
+0001512701 00000 n 
+0001512935 00000 n 
+0001517521 00000 n 
+0001517756 00000 n 
+0001573011 00000 n 
+0001640198 00000 n 
+0000347604 00000 n 
+0000347797 00000 n 
+0000347956 00000 n 
+0000348148 00000 n 
+0000348307 00000 n 
+0000348495 00000 n 
+0000348654 00000 n 
+0000348839 00000 n 
+0000348998 00000 n 
+0000349191 00000 n 
+0000349350 00000 n 
+0000349544 00000 n 
+0000349703 00000 n 
+0000349890 00000 n 
+0000350049 00000 n 
+0000350235 00000 n 
+0000350394 00000 n 
+0000350591 00000 n 
+0000350750 00000 n 
+0000350941 00000 n 
+0000351100 00000 n 
+0000351290 00000 n 
+0000351523 00000 n 
+0000351724 00000 n 
+0000351917 00000 n 
+0000352104 00000 n 
+0000352301 00000 n 
+0000352493 00000 n 
+0000352677 00000 n 
+0000353142 00000 n 
+0000346835 00000 n 
+0000345172 00000 n 
+0000352851 00000 n 
+0000352968 00000 n 
+0000353083 00000 n 
+0002090133 00000 n 
+0002102036 00000 n 
+0002115838 00000 n 
+0002279378 00000 n 
+0002324220 00000 n 
+0002327525 00000 n 
+0002328132 00000 n 
+0002332927 00000 n 
+0002344248 00000 n 
+0002351308 00000 n 
+0000354530 00000 n 
+0000354728 00000 n 
+0000354922 00000 n 
+0000355118 00000 n 
+0000355329 00000 n 
+0000355517 00000 n 
+0000355713 00000 n 
+0000355907 00000 n 
+0000356121 00000 n 
+0000356308 00000 n 
+0000356504 00000 n 
+0000356719 00000 n 
+0000356907 00000 n 
+0000357107 00000 n 
+0000357325 00000 n 
+0000357518 00000 n 
+0000359630 00000 n 
+0000357715 00000 n 
+0000357948 00000 n 
+0000354242 00000 n 
+0000353267 00000 n 
+0000357889 00000 n 
+0000359839 00000 n 
+0000360033 00000 n 
+0000360238 00000 n 
+0000360435 00000 n 
+0000360621 00000 n 
+0000360810 00000 n 
+0000361005 00000 n 
+0000361187 00000 n 
+0000361376 00000 n 
+0000361569 00000 n 
+0000361751 00000 n 
+0000361936 00000 n 
+0000362117 00000 n 
+0000362304 00000 n 
+0000362498 00000 n 
+0000362692 00000 n 
+0000362892 00000 n 
+0000364955 00000 n 
+0000363083 00000 n 
+0000363316 00000 n 
+0000359324 00000 n 
+0000358060 00000 n 
+0000363257 00000 n 
+0000365160 00000 n 
+0000365348 00000 n 
+0000365534 00000 n 
+0000365730 00000 n 
+0000365920 00000 n 
+0000366115 00000 n 
+0000366271 00000 n 
+0000366475 00000 n 
+0000366679 00000 n 
+0000366882 00000 n 
+0000367086 00000 n 
+0000369842 00000 n 
+0000370046 00000 n 
+0000367290 00000 n 
+0000367700 00000 n 
+0000364703 00000 n 
+0000363441 00000 n 
+0000367464 00000 n 
+0000367523 00000 n 
+0000367582 00000 n 
+0000367641 00000 n 
+0000388883 00000 n 
+0000389001 00000 n 
+0000389119 00000 n 
+0000389237 00000 n 
+0000370250 00000 n 
+0000370454 00000 n 
+0000370657 00000 n 
+0000370892 00000 n 
+0000371127 00000 n 
+0000371599 00000 n 
+0000371836 00000 n 
+0000372071 00000 n 
+0000372308 00000 n 
+0000372781 00000 n 
+0000373018 00000 n 
+0000373254 00000 n 
+0000373726 00000 n 
+0000373961 00000 n 
+0000374433 00000 n 
+0000374669 00000 n 
+0000374906 00000 n 
+0000375377 00000 n 
+0000375614 00000 n 
+0000375850 00000 n 
+0000376087 00000 n 
+0000376558 00000 n 
+0000376795 00000 n 
+0000377031 00000 n 
+0000377268 00000 n 
+0000377739 00000 n 
+0000378212 00000 n 
+0000378448 00000 n 
+0000378652 00000 n 
+0000378889 00000 n 
+0000379125 00000 n 
+0000379362 00000 n 
+0000379833 00000 n 
+0000380036 00000 n 
+0000380273 00000 n 
+0000380509 00000 n 
+0000380712 00000 n 
+0000380948 00000 n 
+0000381185 00000 n 
+0000381421 00000 n 
+0000381658 00000 n 
+0000381894 00000 n 
+0000384584 00000 n 
+0000384788 00000 n 
+0000385261 00000 n 
+0000385734 00000 n 
+0000382131 00000 n 
+0000382481 00000 n 
+0000369221 00000 n 
+0000367825 00000 n 
+0000382305 00000 n 
+0000382364 00000 n 
+0000382423 00000 n 
+0000371363 00000 n 
+0000372545 00000 n 
+0000373491 00000 n 
+0000374197 00000 n 
+0000375141 00000 n 
+0000376322 00000 n 
+0000377503 00000 n 
+0000377976 00000 n 
+0000379597 00000 n 
+0002864440 00000 n 
+0000392327 00000 n 
+0000392445 00000 n 
+0000392563 00000 n 
+0000392740 00000 n 
+0000392858 00000 n 
+0000392922 00000 n 
+0000392986 00000 n 
+0000393050 00000 n 
+0000393114 00000 n 
+0000393178 00000 n 
+0000393242 00000 n 
+0000393306 00000 n 
+0000393370 00000 n 
+0000393434 00000 n 
+0000393498 00000 n 
+0000393562 00000 n 
+0000393626 00000 n 
+0000393690 00000 n 
+0000393754 00000 n 
+0000395864 00000 n 
+0000395928 00000 n 
+0000395992 00000 n 
+0000396056 00000 n 
+0000396120 00000 n 
+0000396184 00000 n 
+0000396248 00000 n 
+0000396312 00000 n 
+0000396376 00000 n 
+0000396440 00000 n 
+0000396504 00000 n 
+0000396622 00000 n 
+0000396685 00000 n 
+0000396748 00000 n 
+0000396811 00000 n 
+0000396873 00000 n 
+0000396989 00000 n 
+0000397053 00000 n 
+0000397117 00000 n 
+0000397235 00000 n 
+0000397299 00000 n 
+0000397363 00000 n 
+0000397427 00000 n 
+0000397491 00000 n 
+0000397555 00000 n 
+0000385970 00000 n 
+0000386174 00000 n 
+0000386647 00000 n 
+0000386884 00000 n 
+0000387087 00000 n 
+0000387560 00000 n 
+0000388033 00000 n 
+0000388269 00000 n 
+0000388473 00000 n 
+0000389355 00000 n 
+0000384287 00000 n 
+0000382593 00000 n 
+0000388647 00000 n 
+0000385025 00000 n 
+0000385498 00000 n 
+0000386411 00000 n 
+0000387324 00000 n 
+0000387797 00000 n 
+0000388706 00000 n 
+0000388765 00000 n 
+0000388824 00000 n 
+0000388942 00000 n 
+0000389060 00000 n 
+0000389178 00000 n 
+0000389296 00000 n 
+0000397619 00000 n 
+0000400376 00000 n 
+0000400439 00000 n 
+0000400503 00000 n 
+0000400567 00000 n 
+0000400684 00000 n 
+0000400748 00000 n 
+0000400812 00000 n 
+0000400930 00000 n 
+0000400994 00000 n 
+0000401058 00000 n 
+0000401181 00000 n 
+0000391652 00000 n 
+0000391842 00000 n 
+0000392035 00000 n 
+0000393817 00000 n 
+0000391490 00000 n 
+0000389480 00000 n 
+0000392209 00000 n 
+0000392268 00000 n 
+0000392386 00000 n 
+0000392504 00000 n 
+0000392622 00000 n 
+0000392681 00000 n 
+0000392799 00000 n 
+0002862553 00000 n 
+0000395631 00000 n 
+0000397678 00000 n 
+0000395487 00000 n 
+0000393930 00000 n 
+0000395805 00000 n 
+0000396563 00000 n 
+0000396931 00000 n 
+0000397176 00000 n 
+0000399894 00000 n 
+0000400084 00000 n 
+0000401297 00000 n 
+0000399741 00000 n 
+0000397816 00000 n 
+0000400258 00000 n 
+0000400317 00000 n 
+0000400625 00000 n 
+0000400871 00000 n 
+0000401122 00000 n 
+0000401239 00000 n 
+0000402882 00000 n 
+0000403077 00000 n 
+0000403267 00000 n 
+0000403499 00000 n 
+0000403701 00000 n 
+0000403894 00000 n 
+0000404080 00000 n 
+0000404277 00000 n 
+0000404468 00000 n 
+0000404654 00000 n 
+0000404850 00000 n 
+0000405046 00000 n 
+0000405234 00000 n 
+0000405431 00000 n 
+0000405625 00000 n 
+0000407789 00000 n 
+0000405812 00000 n 
 0000406338 00000 n 
-0000406579 00000 n 
-0000406820 00000 n 
-0000407061 00000 n 
-0000407302 00000 n 
-0000407543 00000 n 
-0000407784 00000 n 
-0000408025 00000 n 
-0000408266 00000 n 
-0000408506 00000 n 
-0000408745 00000 n 
-0000408984 00000 n 
-0000409223 00000 n 
-0000409464 00000 n 
-0000409705 00000 n 
-0000409946 00000 n 
-0000410184 00000 n 
-0000410425 00000 n 
-0000410666 00000 n 
-0000410907 00000 n 
-0000411147 00000 n 
-0000411385 00000 n 
-0000411624 00000 n 
-0000411863 00000 n 
-0000412104 00000 n 
-0000412345 00000 n 
-0000412583 00000 n 
-0000412824 00000 n 
-0000413065 00000 n 
-0000413306 00000 n 
-0000413547 00000 n 
-0000413753 00000 n 
-0000413993 00000 n 
-0000414234 00000 n 
-0000414475 00000 n 
-0000414713 00000 n 
-0000414954 00000 n 
-0000415162 00000 n 
-0000415403 00000 n 
-0000415644 00000 n 
-0000415852 00000 n 
-0000416093 00000 n 
-0000416334 00000 n 
-0000416575 00000 n 
-0000416816 00000 n 
-0000417057 00000 n 
-0000417298 00000 n 
-0003263492 00000 n 
-0000428892 00000 n 
-0000429012 00000 n 
-0000429131 00000 n 
-0000429310 00000 n 
-0000429430 00000 n 
-0000429496 00000 n 
-0000429562 00000 n 
-0000429628 00000 n 
-0000429694 00000 n 
-0000429759 00000 n 
-0000429825 00000 n 
-0000429891 00000 n 
-0000429957 00000 n 
-0000430023 00000 n 
-0000430089 00000 n 
-0000430155 00000 n 
-0000430221 00000 n 
-0000430287 00000 n 
-0000430352 00000 n 
-0000433138 00000 n 
-0000433204 00000 n 
-0000433270 00000 n 
-0000433336 00000 n 
-0000433402 00000 n 
-0000433468 00000 n 
-0000433534 00000 n 
-0000433599 00000 n 
-0000433665 00000 n 
-0000433731 00000 n 
-0000433797 00000 n 
-0000433917 00000 n 
-0000433983 00000 n 
-0000434047 00000 n 
-0000434113 00000 n 
-0000434179 00000 n 
-0000434299 00000 n 
-0000434365 00000 n 
-0000434431 00000 n 
-0000434551 00000 n 
-0000434617 00000 n 
-0000434682 00000 n 
-0000434748 00000 n 
-0000434814 00000 n 
-0000434880 00000 n 
-0000425323 00000 n 
-0000420164 00000 n 
-0000417766 00000 n 
-0000424603 00000 n 
-0000420464 00000 n 
-0000420672 00000 n 
-0000420913 00000 n 
-0000421153 00000 n 
-0000421393 00000 n 
-0000421634 00000 n 
-0000421875 00000 n 
-0000422083 00000 n 
-0000422324 00000 n 
-0000422565 00000 n 
-0000422806 00000 n 
-0000423014 00000 n 
-0000423255 00000 n 
-0000423495 00000 n 
-0000423735 00000 n 
-0000423976 00000 n 
-0000424663 00000 n 
-0000424217 00000 n 
-0000424723 00000 n 
-0000424783 00000 n 
-0000424903 00000 n 
-0000425023 00000 n 
-0000425143 00000 n 
-0000425263 00000 n 
-0000424425 00000 n 
-0000434946 00000 n 
-0000438118 00000 n 
-0000438184 00000 n 
-0000438250 00000 n 
-0000438316 00000 n 
-0000438436 00000 n 
-0000438502 00000 n 
-0000438568 00000 n 
-0000438688 00000 n 
-0000438754 00000 n 
-0000438820 00000 n 
-0000438946 00000 n 
-0000430417 00000 n 
-0000428040 00000 n 
-0000425448 00000 n 
-0000428773 00000 n 
-0000428833 00000 n 
-0000428952 00000 n 
-0000429071 00000 n 
-0000429190 00000 n 
-0000428205 00000 n 
-0000428399 00000 n 
-0000429250 00000 n 
-0000429370 00000 n 
-0003076893 00000 n 
-0003061295 00000 n 
-0003076710 00000 n 
-0000428595 00000 n 
-0000435006 00000 n 
-0000432753 00000 n 
+0000402603 00000 n 
+0000401423 00000 n 
+0000405986 00000 n 
+0000406220 00000 n 
+0000406279 00000 n 
+0000407984 00000 n 
+0000408170 00000 n 
+0000408371 00000 n 
+0000408564 00000 n 
+0000408761 00000 n 
+0000408955 00000 n 
+0000409152 00000 n 
+0000409340 00000 n 
+0000409532 00000 n 
+0000409721 00000 n 
+0000409916 00000 n 
+0000410098 00000 n 
+0000410289 00000 n 
+0000410481 00000 n 
+0000410663 00000 n 
+0000410848 00000 n 
+0000411028 00000 n 
+0000412968 00000 n 
+0000411213 00000 n 
+0000411446 00000 n 
+0000407483 00000 n 
+0000406463 00000 n 
+0000411387 00000 n 
+0002864566 00000 n 
+0000413162 00000 n 
+0000413356 00000 n 
+0000413555 00000 n 
+0000413746 00000 n 
+0000413951 00000 n 
+0000414144 00000 n 
+0000414332 00000 n 
+0000414518 00000 n 
+0000414714 00000 n 
+0000414904 00000 n 
+0000415108 00000 n 
+0000415310 00000 n 
+0000418004 00000 n 
+0000418208 00000 n 
+0000418443 00000 n 
+0000418680 00000 n 
+0000418917 00000 n 
+0000419154 00000 n 
+0000419390 00000 n 
+0000419627 00000 n 
+0000419864 00000 n 
+0000420101 00000 n 
+0000420337 00000 n 
+0000420573 00000 n 
+0000420810 00000 n 
+0000421047 00000 n 
+0000421282 00000 n 
+0000421518 00000 n 
+0000421754 00000 n 
+0000415514 00000 n 
+0000415806 00000 n 
+0000412707 00000 n 
+0000411558 00000 n 
+0000415688 00000 n 
+0000415747 00000 n 
+0000421990 00000 n 
+0000422225 00000 n 
+0000422461 00000 n 
+0000422697 00000 n 
+0000422933 00000 n 
+0000423167 00000 n 
+0000423402 00000 n 
+0000423637 00000 n 
+0000424108 00000 n 
+0000424344 00000 n 
+0000424545 00000 n 
+0000424780 00000 n 
+0000425016 00000 n 
+0000425252 00000 n 
+0000425723 00000 n 
+0000425927 00000 n 
+0000426164 00000 n 
+0000426400 00000 n 
+0000426604 00000 n 
+0000426840 00000 n 
+0000427077 00000 n 
+0000427314 00000 n 
+0000427551 00000 n 
+0000427787 00000 n 
+0000428024 00000 n 
+0000428228 00000 n 
+0000428465 00000 n 
+0000428702 00000 n 
+0000429175 00000 n 
+0000429379 00000 n 
+0000429616 00000 n 
+0000429853 00000 n 
+0000430056 00000 n 
+0000430293 00000 n 
 0000430530 00000 n 
-0000433078 00000 n 
-0000433857 00000 n 
-0000434239 00000 n 
-0000434491 00000 n 
-0000432900 00000 n 
-0000439066 00000 n 
-0000437472 00000 n 
-0000435144 00000 n 
-0000437999 00000 n 
-0000438059 00000 n 
-0000438376 00000 n 
-0000438628 00000 n 
-0000437628 00000 n 
-0000438886 00000 n 
-0000439006 00000 n 
-0000437821 00000 n 
-0000445179 00000 n 
-0000441394 00000 n 
-0000439192 00000 n 
-0000444822 00000 n 
-0000445059 00000 n 
-0000441676 00000 n 
-0000445119 00000 n 
-0000441875 00000 n 
-0000442068 00000 n 
-0000442305 00000 n 
-0000442511 00000 n 
-0000442707 00000 n 
-0000442897 00000 n 
-0000443099 00000 n 
-0000443296 00000 n 
-0000443485 00000 n 
-0000443674 00000 n 
-0000443873 00000 n 
-0000444071 00000 n 
-0000444261 00000 n 
-0000444445 00000 n 
-0000444644 00000 n 
-0000451344 00000 n 
-0000447495 00000 n 
-0000445304 00000 n 
-0000451284 00000 n 
-0000447795 00000 n 
-0000447985 00000 n 
-0000448179 00000 n 
-0000448379 00000 n 
-0000448577 00000 n 
-0000448767 00000 n 
-0000448966 00000 n 
-0000449170 00000 n 
-0000449366 00000 n 
-0000449557 00000 n 
-0000449749 00000 n 
-0000449934 00000 n 
-0000450124 00000 n 
-0000450317 00000 n 
-0000450513 00000 n 
-0000450713 00000 n 
-0000450910 00000 n 
-0000451106 00000 n 
-0003263618 00000 n 
-0000457052 00000 n 
-0000453709 00000 n 
-0000451456 00000 n 
-0000456932 00000 n 
-0000453982 00000 n 
-0000454168 00000 n 
-0000454364 00000 n 
-0000454556 00000 n 
-0000454744 00000 n 
-0000454940 00000 n 
-0000455142 00000 n 
-0000455336 00000 n 
-0000455543 00000 n 
-0000455739 00000 n 
-0000455938 00000 n 
-0000456992 00000 n 
-0000456131 00000 n 
-0000456338 00000 n 
-0000456546 00000 n 
-0000456754 00000 n 
-0000475714 00000 n 
-0000460862 00000 n 
-0000457164 00000 n 
-0000475355 00000 n 
-0000475415 00000 n 
-0000461531 00000 n 
-0000461739 00000 n 
-0000461977 00000 n 
-0000462217 00000 n 
-0000462457 00000 n 
-0000462697 00000 n 
-0000462938 00000 n 
-0000463179 00000 n 
-0000463420 00000 n 
-0000463661 00000 n 
-0000463902 00000 n 
-0000464143 00000 n 
-0000464383 00000 n 
-0000464624 00000 n 
-0000464865 00000 n 
-0000465106 00000 n 
-0000465347 00000 n 
-0000465588 00000 n 
-0000465829 00000 n 
-0000466069 00000 n 
-0000466310 00000 n 
-0000466551 00000 n 
-0000466792 00000 n 
-0000467033 00000 n 
-0000467274 00000 n 
-0000467514 00000 n 
-0000467754 00000 n 
-0000467995 00000 n 
-0000468203 00000 n 
-0000468442 00000 n 
-0000468682 00000 n 
-0000468923 00000 n 
-0000469164 00000 n 
-0000469404 00000 n 
-0000469612 00000 n 
-0000469853 00000 n 
-0000470094 00000 n 
-0000470301 00000 n 
-0000470541 00000 n 
-0000470782 00000 n 
-0000471023 00000 n 
-0000471264 00000 n 
-0000471503 00000 n 
-0000471743 00000 n 
-0000471951 00000 n 
-0000472191 00000 n 
-0000472432 00000 n 
-0000472673 00000 n 
-0000472914 00000 n 
-0000473122 00000 n 
-0000473363 00000 n 
-0000473604 00000 n 
-0000473812 00000 n 
-0000474052 00000 n 
-0000474293 00000 n 
-0000475475 00000 n 
-0000475535 00000 n 
-0000474533 00000 n 
-0000475595 00000 n 
-0000474748 00000 n 
-0000475655 00000 n 
-0000474962 00000 n 
-0000475177 00000 n 
-0000484647 00000 n 
-0000478821 00000 n 
-0000475826 00000 n 
-0000483808 00000 n 
-0000483868 00000 n 
-0000479157 00000 n 
-0000483927 00000 n 
-0000479372 00000 n 
-0000479586 00000 n 
-0000483987 00000 n 
-0000479801 00000 n 
-0000480009 00000 n 
-0000480224 00000 n 
-0000484047 00000 n 
-0000480432 00000 n 
-0000480645 00000 n 
-0000484107 00000 n 
-0000480852 00000 n 
-0000484167 00000 n 
-0000481067 00000 n 
-0000484227 00000 n 
-0000481282 00000 n 
-0000484287 00000 n 
-0000481497 00000 n 
-0000484347 00000 n 
-0000481712 00000 n 
-0000484407 00000 n 
-0000481927 00000 n 
-0000484467 00000 n 
-0000482142 00000 n 
-0000482357 00000 n 
-0000484527 00000 n 
-0000482572 00000 n 
-0000482780 00000 n 
-0000482995 00000 n 
-0000484587 00000 n 
-0000483203 00000 n 
-0000483416 00000 n 
-0000483630 00000 n 
-0000500171 00000 n 
-0000500291 00000 n 
-0000500411 00000 n 
-0000493767 00000 n 
-0000487583 00000 n 
-0000484772 00000 n 
-0000492930 00000 n 
-0000492990 00000 n 
-0000487937 00000 n 
-0000488145 00000 n 
-0000493049 00000 n 
-0000488360 00000 n 
-0000493109 00000 n 
-0000488574 00000 n 
-0000493168 00000 n 
-0000488789 00000 n 
-0000489002 00000 n 
-0000489216 00000 n 
-0000493228 00000 n 
-0000489431 00000 n 
-0000493288 00000 n 
-0000489646 00000 n 
-0000493348 00000 n 
-0000489861 00000 n 
-0000490069 00000 n 
-0000493408 00000 n 
-0003059049 00000 n 
-0003057044 00000 n 
-0003058883 00000 n 
-0000490284 00000 n 
-0000490489 00000 n 
-0000493468 00000 n 
-0000490694 00000 n 
-0000490900 00000 n 
-0000493528 00000 n 
-0000491106 00000 n 
-0000491312 00000 n 
-0000493588 00000 n 
-0000491518 00000 n 
-0000491724 00000 n 
-0000493648 00000 n 
-0000491930 00000 n 
-0000492135 00000 n 
-0000493708 00000 n 
-0000492340 00000 n 
-0000492546 00000 n 
-0000492752 00000 n 
-0000504301 00000 n 
-0000504421 00000 n 
-0000500477 00000 n 
-0000496538 00000 n 
-0000493906 00000 n 
-0000499453 00000 n 
-0000499513 00000 n 
-0000496793 00000 n 
-0000496997 00000 n 
-0000499572 00000 n 
-0000497211 00000 n 
-0000497415 00000 n 
-0000499632 00000 n 
-0000497629 00000 n 
-0000499692 00000 n 
-0000497837 00000 n 
-0000499751 00000 n 
-0000498045 00000 n 
-0000499811 00000 n 
-0000498253 00000 n 
-0000499871 00000 n 
-0000498461 00000 n 
-0000499931 00000 n 
-0000498669 00000 n 
-0000499991 00000 n 
-0000498876 00000 n 
-0000499067 00000 n 
-0000500051 00000 n 
-0000500111 00000 n 
-0000500231 00000 n 
-0000500351 00000 n 
-0000499275 00000 n 
-0000504788 00000 n 
-0000502998 00000 n 
-0000500629 00000 n 
-0000504182 00000 n 
-0000504242 00000 n 
-0000504361 00000 n 
-0000503181 00000 n 
-0000503396 00000 n 
-0000504486 00000 n 
-0000503609 00000 n 
-0000504671 00000 n 
-0000503824 00000 n 
-0000504004 00000 n 
-0003263744 00000 n 
-0000510820 00000 n 
-0000507591 00000 n 
-0000504901 00000 n 
-0000509986 00000 n 
-0000510104 00000 n 
-0000507819 00000 n 
-0003056687 00000 n 
-0003054679 00000 n 
-0003056520 00000 n 
-0000510341 00000 n 
-0000510401 00000 n 
-0000508049 00000 n 
-0000510461 00000 n 
-0000508273 00000 n 
-0000508469 00000 n 
-0000510521 00000 n 
-0000510581 00000 n 
-0000508692 00000 n 
-0003054252 00000 n 
-0003052453 00000 n 
-0003054087 00000 n 
-0000510641 00000 n 
-0000508915 00000 n 
-0000510701 00000 n 
-0000509138 00000 n 
-0003051823 00000 n 
-0003048842 00000 n 
-0003051656 00000 n 
-0000510761 00000 n 
-0000509360 00000 n 
-0000509584 00000 n 
-0000509808 00000 n 
-0001040317 00000 n 
-0000523444 00000 n 
-0000514542 00000 n 
-0000510989 00000 n 
-0000523144 00000 n 
-0000523204 00000 n 
-0000515031 00000 n 
-0000515239 00000 n 
-0000523264 00000 n 
-0000515463 00000 n 
-0000515671 00000 n 
-0000515895 00000 n 
-0000516119 00000 n 
-0000516343 00000 n 
-0000516551 00000 n 
-0000516759 00000 n 
-0000516983 00000 n 
-0000517174 00000 n 
-0000517382 00000 n 
-0000517605 00000 n 
-0000517795 00000 n 
-0000518001 00000 n 
-0000518225 00000 n 
-0000518425 00000 n 
-0000518649 00000 n 
-0000518849 00000 n 
-0000519073 00000 n 
-0000519272 00000 n 
-0000519496 00000 n 
-0000519688 00000 n 
-0000519896 00000 n 
-0000520120 00000 n 
-0000520305 00000 n 
-0000520495 00000 n 
-0000520703 00000 n 
-0000520927 00000 n 
-0000521113 00000 n 
-0000521321 00000 n 
-0000521543 00000 n 
-0000521739 00000 n 
-0000523324 00000 n 
-0000521945 00000 n 
-0000522136 00000 n 
-0000522360 00000 n 
-0000523384 00000 n 
-0000522551 00000 n 
-0000522775 00000 n 
-0000522966 00000 n 
-0000698784 00000 n 
-0000617684 00000 n 
-0000617804 00000 n 
-0000617924 00000 n 
-0000618049 00000 n 
-0000618175 00000 n 
-0000618295 00000 n 
-0000621306 00000 n 
-0000621425 00000 n 
-0000621550 00000 n 
-0000621669 00000 n 
-0000536742 00000 n 
-0000527208 00000 n 
-0000523598 00000 n 
-0000536263 00000 n 
-0000536323 00000 n 
-0000527715 00000 n 
-0000536382 00000 n 
-0000527939 00000 n 
-0000528146 00000 n 
-0000536442 00000 n 
-0000528369 00000 n 
-0000528577 00000 n 
-0003047986 00000 n 
-0003043285 00000 n 
-0003047820 00000 n 
-0000528801 00000 n 
-0000536502 00000 n 
-0000528993 00000 n 
-0000529193 00000 n 
-0000536562 00000 n 
-0000529415 00000 n 
-0000529614 00000 n 
-0000536622 00000 n 
-0000529835 00000 n 
-0000530035 00000 n 
-0000536682 00000 n 
-0000530259 00000 n 
-0000530459 00000 n 
-0000530683 00000 n 
-0000530907 00000 n 
-0000531107 00000 n 
-0000531331 00000 n 
-0000531531 00000 n 
-0000531755 00000 n 
-0000531955 00000 n 
-0000532163 00000 n 
-0000532371 00000 n 
-0000532595 00000 n 
-0000532795 00000 n 
-0000533003 00000 n 
-0000533211 00000 n 
-0000533402 00000 n 
-0000533623 00000 n 
-0000533820 00000 n 
-0000534025 00000 n 
-0000534230 00000 n 
-0000534454 00000 n 
-0000534654 00000 n 
-0000534862 00000 n 
-0000535070 00000 n 
-0000535260 00000 n 
-0000535484 00000 n 
-0000535674 00000 n 
-0000535896 00000 n 
-0000536085 00000 n 
-0000624817 00000 n 
-0000624937 00000 n 
-0000625056 00000 n 
-0000628328 00000 n 
-0000628454 00000 n 
-0000628579 00000 n 
-0000631613 00000 n 
-0000631739 00000 n 
-0000547594 00000 n 
-0000540199 00000 n 
-0000536909 00000 n 
-0000547115 00000 n 
-0000540616 00000 n 
-0000540840 00000 n 
-0000541030 00000 n 
-0000541231 00000 n 
-0000541455 00000 n 
-0000541647 00000 n 
-0000541847 00000 n 
-0000542070 00000 n 
-0000542261 00000 n 
-0000542462 00000 n 
-0000542686 00000 n 
-0000547175 00000 n 
-0000542877 00000 n 
-0000547235 00000 n 
-0000543101 00000 n 
-0000547295 00000 n 
-0000543325 00000 n 
-0000547355 00000 n 
-0000543549 00000 n 
-0000547414 00000 n 
-0000543773 00000 n 
-0000547474 00000 n 
-0000543996 00000 n 
-0000544220 00000 n 
-0000544444 00000 n 
-0000547534 00000 n 
-0000544633 00000 n 
-0000544857 00000 n 
-0000545081 00000 n 
-0000545272 00000 n 
-0000545496 00000 n 
-0000545687 00000 n 
-0000545909 00000 n 
-0000546100 00000 n 
-0000546324 00000 n 
-0000546515 00000 n 
-0000546738 00000 n 
-0000546937 00000 n 
-0000631859 00000 n 
-0000631979 00000 n 
-0000634613 00000 n 
-0000634733 00000 n 
-0000634853 00000 n 
-0000634973 00000 n 
-0000638591 00000 n 
-0000638831 00000 n 
-0000559957 00000 n 
-0000551548 00000 n 
-0000547734 00000 n 
-0000559897 00000 n 
-0000552028 00000 n 
-0000552251 00000 n 
-0000552451 00000 n 
-0000552674 00000 n 
-0000552874 00000 n 
-0000553097 00000 n 
-0000553297 00000 n 
-0000553520 00000 n 
-0000553719 00000 n 
-0000553943 00000 n 
-0000554143 00000 n 
-0000554367 00000 n 
-0000554591 00000 n 
-0000554791 00000 n 
-0000555015 00000 n 
-0000555215 00000 n 
-0000555439 00000 n 
-0000555631 00000 n 
-0000555854 00000 n 
-0000556045 00000 n 
-0000556269 00000 n 
-0000556469 00000 n 
-0000556693 00000 n 
-0000556893 00000 n 
-0000557117 00000 n 
-0000557306 00000 n 
-0000557475 00000 n 
-0000557699 00000 n 
-0000557895 00000 n 
-0000558063 00000 n 
-0000558287 00000 n 
-0000558478 00000 n 
-0000558702 00000 n 
-0000558893 00000 n 
-0000559117 00000 n 
-0000559306 00000 n 
-0000559529 00000 n 
-0000559719 00000 n 
-0000641976 00000 n 
-0000646111 00000 n 
-0000646351 00000 n 
-0000649931 00000 n 
-0000650051 00000 n 
-0000650171 00000 n 
-0000653649 00000 n 
-0000653769 00000 n 
-0000653887 00000 n 
-0000654007 00000 n 
-0000657359 00000 n 
-0000576539 00000 n 
-0000565167 00000 n 
-0000560097 00000 n 
-0000576420 00000 n 
-0000565782 00000 n 
-0000566006 00000 n 
-0000566197 00000 n 
-0000566421 00000 n 
-0000566611 00000 n 
-0000566835 00000 n 
-0000567026 00000 n 
-0000567209 00000 n 
-0000567432 00000 n 
-0000567622 00000 n 
-0000567822 00000 n 
-0000568005 00000 n 
-0000568229 00000 n 
-0000568419 00000 n 
-0000568619 00000 n 
-0000568802 00000 n 
-0000569025 00000 n 
-0000569214 00000 n 
-0000569421 00000 n 
-0000569620 00000 n 
-0003042612 00000 n 
-0003038222 00000 n 
-0003042446 00000 n 
-0000569801 00000 n 
-0000570025 00000 n 
-0000570225 00000 n 
-0000570433 00000 n 
-0000570633 00000 n 
-0000570814 00000 n 
-0000571037 00000 n 
-0000571226 00000 n 
-0000571434 00000 n 
-0000571634 00000 n 
-0000571834 00000 n 
-0000572015 00000 n 
-0000572238 00000 n 
-0000572437 00000 n 
-0000572645 00000 n 
-0000572845 00000 n 
-0000573026 00000 n 
-0000573250 00000 n 
-0000573440 00000 n 
-0000573640 00000 n 
-0000573840 00000 n 
-0000574040 00000 n 
-0000574231 00000 n 
-0000574454 00000 n 
-0000574643 00000 n 
-0000574842 00000 n 
-0000575042 00000 n 
-0000575242 00000 n 
-0000575433 00000 n 
-0000575657 00000 n 
-0000575847 00000 n 
-0000576480 00000 n 
-0000576020 00000 n 
-0000576242 00000 n 
-0003263870 00000 n 
-0000657598 00000 n 
-0000661161 00000 n 
-0000661280 00000 n 
-0000661400 00000 n 
-0000661520 00000 n 
-0000665686 00000 n 
-0000665806 00000 n 
-0000665926 00000 n 
-0000670312 00000 n 
-0000670432 00000 n 
-0000674761 00000 n 
-0000674880 00000 n 
-0000589815 00000 n 
-0000580856 00000 n 
-0000576735 00000 n 
-0000589695 00000 n 
-0000581372 00000 n 
-0000581596 00000 n 
-0000581787 00000 n 
-0000581956 00000 n 
-0000582180 00000 n 
-0000582370 00000 n 
-0000582541 00000 n 
-0000582765 00000 n 
-0000582956 00000 n 
-0000583124 00000 n 
-0000583348 00000 n 
-0000583539 00000 n 
-0000583739 00000 n 
-0000583906 00000 n 
-0000584130 00000 n 
-0000584320 00000 n 
-0000584491 00000 n 
-0000584660 00000 n 
-0000584884 00000 n 
-0000585075 00000 n 
-0000585274 00000 n 
-0000585445 00000 n 
-0000585669 00000 n 
-0000585860 00000 n 
-0000589755 00000 n 
-0000586025 00000 n 
-0000586247 00000 n 
-0000586436 00000 n 
-0000586660 00000 n 
-0000586851 00000 n 
-0000587051 00000 n 
-0000587215 00000 n 
-0000587439 00000 n 
-0000587647 00000 n 
-0000587871 00000 n 
-0000588079 00000 n 
-0000588303 00000 n 
-0000588492 00000 n 
-0000588668 00000 n 
-0000588892 00000 n 
-0000589087 00000 n 
-0000589310 00000 n 
-0000589517 00000 n 
-0000674999 00000 n 
-0000675119 00000 n 
-0000679639 00000 n 
-0000679759 00000 n 
-0000679879 00000 n 
-0000684366 00000 n 
-0000684486 00000 n 
-0000684606 00000 n 
-0000688385 00000 n 
-0000688505 00000 n 
-0000688624 00000 n 
-0000692972 00000 n 
-0000693092 00000 n 
-0000600569 00000 n 
-0000593383 00000 n 
-0000589982 00000 n 
-0000600153 00000 n 
-0000593800 00000 n 
-0000594023 00000 n 
-0000594218 00000 n 
-0000594442 00000 n 
-0000594632 00000 n 
-0000594840 00000 n 
-0000595064 00000 n 
-0000595260 00000 n 
-0000600213 00000 n 
-0000600272 00000 n 
-0000595450 00000 n 
-0000595658 00000 n 
-0000600331 00000 n 
-0000595882 00000 n 
-0000600391 00000 n 
-0000596106 00000 n 
-0000600450 00000 n 
-0000596330 00000 n 
-0000596554 00000 n 
-0000596744 00000 n 
-0000600510 00000 n 
-0000596935 00000 n 
-0000597159 00000 n 
-0000597350 00000 n 
+0000430766 00000 n 
+0000430976 00000 n 
+0000431187 00000 n 
+0000433959 00000 n 
+0000431397 00000 n 
+0000431923 00000 n 
+0000417338 00000 n 
+0000415918 00000 n 
+0000431571 00000 n 
+0000431630 00000 n 
+0000423872 00000 n 
+0000425487 00000 n 
+0000428939 00000 n 
+0000431689 00000 n 
+0000431747 00000 n 
+0000431805 00000 n 
+0000431864 00000 n 
+0000434170 00000 n 
+0000434380 00000 n 
+0000434590 00000 n 
+0000434801 00000 n 
+0000435012 00000 n 
+0000435223 00000 n 
+0000435433 00000 n 
+0000435644 00000 n 
+0000435855 00000 n 
+0000436066 00000 n 
+0000436277 00000 n 
+0000436488 00000 n 
+0000436699 00000 n 
+0000436902 00000 n 
+0000437113 00000 n 
+0000437317 00000 n 
+0000437528 00000 n 
+0000437732 00000 n 
+0000437935 00000 n 
+0000438146 00000 n 
+0000441223 00000 n 
+0000438350 00000 n 
+0000439290 00000 n 
+0000433626 00000 n 
+0000432035 00000 n 
+0000438524 00000 n 
+0000438583 00000 n 
+0000438642 00000 n 
+0000438701 00000 n 
+0000438760 00000 n 
+0000438818 00000 n 
+0000438877 00000 n 
+0000438936 00000 n 
+0000438995 00000 n 
+0000439054 00000 n 
+0000439113 00000 n 
+0000439172 00000 n 
+0000439231 00000 n 
+0000453098 00000 n 
+0000453216 00000 n 
+0000453334 00000 n 
+0000456604 00000 n 
+0000441434 00000 n 
+0000441645 00000 n 
+0000441856 00000 n 
+0000442067 00000 n 
+0000442270 00000 n 
+0000442481 00000 n 
+0000442692 00000 n 
+0000442901 00000 n 
+0000443111 00000 n 
+0000443314 00000 n 
+0000443525 00000 n 
+0000443727 00000 n 
+0000443929 00000 n 
+0000444130 00000 n 
+0000444331 00000 n 
+0000444533 00000 n 
+0000444735 00000 n 
+0000444937 00000 n 
+0000445139 00000 n 
+0000445341 00000 n 
+0000445543 00000 n 
+0000445745 00000 n 
+0000449361 00000 n 
+0000449563 00000 n 
+0000445947 00000 n 
+0000447005 00000 n 
+0000440872 00000 n 
+0000439415 00000 n 
+0000446121 00000 n 
+0000446180 00000 n 
+0000446239 00000 n 
+0000446298 00000 n 
+0000446357 00000 n 
+0000446416 00000 n 
+0000446475 00000 n 
+0000446533 00000 n 
+0000446592 00000 n 
+0000446651 00000 n 
+0002859072 00000 n 
+0000446710 00000 n 
+0000446769 00000 n 
+0000446828 00000 n 
+0000446887 00000 n 
+0000446946 00000 n 
+0000456727 00000 n 
+0000449774 00000 n 
+0000449976 00000 n 
+0000450187 00000 n 
+0000450390 00000 n 
+0000450592 00000 n 
+0000450795 00000 n 
+0000450999 00000 n 
+0000451203 00000 n 
+0000451407 00000 n 
+0000451593 00000 n 
+0000451796 00000 n 
+0000455873 00000 n 
+0000452217 00000 n 
+0000453398 00000 n 
+0000449091 00000 n 
+0000447144 00000 n 
+0000452391 00000 n 
+0000452450 00000 n 
+0000452509 00000 n 
+0000452568 00000 n 
+0000452627 00000 n 
+0000452686 00000 n 
+0000452745 00000 n 
+0000452804 00000 n 
+0000452863 00000 n 
+0000452922 00000 n 
+0000452981 00000 n 
+0000453039 00000 n 
+0000453157 00000 n 
+0000453275 00000 n 
+0000452007 00000 n 
+0000456084 00000 n 
+0000459300 00000 n 
+0000456312 00000 n 
+0000457082 00000 n 
+0000455711 00000 n 
+0000453550 00000 n 
+0000456486 00000 n 
+0000456545 00000 n 
+0000456668 00000 n 
+0000456790 00000 n 
+0000456965 00000 n 
+0000457024 00000 n 
+0002864692 00000 n 
+0000459996 00000 n 
+0000459478 00000 n 
+0000462919 00000 n 
+0000459704 00000 n 
+0000460462 00000 n 
+0000459138 00000 n 
+0000457221 00000 n 
+0000459878 00000 n 
+0000459937 00000 n 
+0000460055 00000 n 
+0000460231 00000 n 
+0002858481 00000 n 
+0000924873 00000 n 
+0000463139 00000 n 
+0000463332 00000 n 
+0000463552 00000 n 
+0000463772 00000 n 
+0000463992 00000 n 
+0000464212 00000 n 
+0000464432 00000 n 
+0000464652 00000 n 
+0000464855 00000 n 
+0000465075 00000 n 
+0000465278 00000 n 
+0000465498 00000 n 
+0000465718 00000 n 
+0000465938 00000 n 
+0000466142 00000 n 
+0000466346 00000 n 
+0000466566 00000 n 
+0000466753 00000 n 
+0000466957 00000 n 
+0000467177 00000 n 
+0000467364 00000 n 
+0000467568 00000 n 
+0000467787 00000 n 
+0000467982 00000 n 
+0000468202 00000 n 
+0000471796 00000 n 
+0000472016 00000 n 
+0000468398 00000 n 
+0000469221 00000 n 
+0000462541 00000 n 
+0000460602 00000 n 
+0000468572 00000 n 
+0000468631 00000 n 
+0000468690 00000 n 
+0000468749 00000 n 
+0000468808 00000 n 
+0000468867 00000 n 
+0002861127 00000 n 
+0000468926 00000 n 
+0000468985 00000 n 
+0002859219 00000 n 
+0000469044 00000 n 
+0000469103 00000 n 
+0000469162 00000 n 
+0000625995 00000 n 
+0000553428 00000 n 
+0000553546 00000 n 
+0000553664 00000 n 
+0000556535 00000 n 
+0000556658 00000 n 
+0000472211 00000 n 
+0000472431 00000 n 
+0000472619 00000 n 
+0000472823 00000 n 
+0000473043 00000 n 
+0000473224 00000 n 
+0000473409 00000 n 
+0000473613 00000 n 
+0000473833 00000 n 
+0000474015 00000 n 
+0000474219 00000 n 
+0000474438 00000 n 
+0000474630 00000 n 
+0000474833 00000 n 
+0000475020 00000 n 
+0000475240 00000 n 
+0000475427 00000 n 
+0000475644 00000 n 
+0000475830 00000 n 
+0000476050 00000 n 
+0000476253 00000 n 
+0000476471 00000 n 
+0000476675 00000 n 
+0000476895 00000 n 
+0000477084 00000 n 
+0000477279 00000 n 
+0000477496 00000 n 
+0000477691 00000 n 
+0000477909 00000 n 
+0000478105 00000 n 
+0000478325 00000 n 
+0000478520 00000 n 
+0000478739 00000 n 
+0000478958 00000 n 
+0000479153 00000 n 
+0000479371 00000 n 
+0000482666 00000 n 
+0000482884 00000 n 
+0000483079 00000 n 
+0000483282 00000 n 
+0000479564 00000 n 
+0000480327 00000 n 
+0000471310 00000 n 
+0000469388 00000 n 
+0000479738 00000 n 
+0000479797 00000 n 
+0000479856 00000 n 
+0000479915 00000 n 
+0000479974 00000 n 
+0000480032 00000 n 
+0002860249 00000 n 
+0000480091 00000 n 
+0000480150 00000 n 
+0000480209 00000 n 
+0000480268 00000 n 
+0000556776 00000 n 
+0000556894 00000 n 
+0000557012 00000 n 
+0000559458 00000 n 
+0000559575 00000 n 
+0000562084 00000 n 
+0000562202 00000 n 
+0000483485 00000 n 
+0000483704 00000 n 
+0000483900 00000 n 
+0000484104 00000 n 
+0000484308 00000 n 
+0000484495 00000 n 
+0000484715 00000 n 
+0000484911 00000 n 
+0000485114 00000 n 
+0000485317 00000 n 
+0000485537 00000 n 
+0000485733 00000 n 
+0000485936 00000 n 
+0000486139 00000 n 
+0000486326 00000 n 
+0000486546 00000 n 
+0000486733 00000 n 
+0000486953 00000 n 
+0000487139 00000 n 
+0000487359 00000 n 
+0000487546 00000 n 
+0000487743 00000 n 
+0000487962 00000 n 
+0000488149 00000 n 
+0000488346 00000 n 
+0000488565 00000 n 
+0000488752 00000 n 
+0000488945 00000 n 
+0000489160 00000 n 
+0000489342 00000 n 
+0000489562 00000 n 
+0000489782 00000 n 
+0000490002 00000 n 
+0000490222 00000 n 
+0000493217 00000 n 
+0000493437 00000 n 
+0000493657 00000 n 
+0000490442 00000 n 
+0000490970 00000 n 
+0000482180 00000 n 
+0000480507 00000 n 
+0000490616 00000 n 
+0000490675 00000 n 
+0000490734 00000 n 
+0000490793 00000 n 
+0000490852 00000 n 
+0000490911 00000 n 
+0000562320 00000 n 
+0000562437 00000 n 
+0000565145 00000 n 
+0000565267 00000 n 
+0000565390 00000 n 
+0000567526 00000 n 
+0000567644 00000 n 
+0000567760 00000 n 
+0000567878 00000 n 
+0000567996 00000 n 
+0000493843 00000 n 
+0000494063 00000 n 
+0000494279 00000 n 
+0000494465 00000 n 
+0000494684 00000 n 
+0000494871 00000 n 
+0000495089 00000 n 
+0000495277 00000 n 
+0000495497 00000 n 
+0000495683 00000 n 
+0000495901 00000 n 
+0000496097 00000 n 
+0000496314 00000 n 
+0000496509 00000 n 
+0000496729 00000 n 
+0000496924 00000 n 
+0000497144 00000 n 
+0000497340 00000 n 
+0000497558 00000 n 
+0000497753 00000 n 
+0000497973 00000 n 
+0000498169 00000 n 
+0000498387 00000 n 
+0000498605 00000 n 
+0000498801 00000 n 
+0000499021 00000 n 
+0000499217 00000 n 
+0000499435 00000 n 
+0000499623 00000 n 
+0000499839 00000 n 
+0000503475 00000 n 
+0000503692 00000 n 
+0000503888 00000 n 
+0000504106 00000 n 
+0000500026 00000 n 
+0000500377 00000 n 
+0000492776 00000 n 
+0000491109 00000 n 
+0000500200 00000 n 
+0000500259 00000 n 
+0000500318 00000 n 
+0000568114 00000 n 
+0000570878 00000 n 
+0000571114 00000 n 
+0000574043 00000 n 
+0000574160 00000 n 
+0000577499 00000 n 
+0000581153 00000 n 
+0000581388 00000 n 
+0000583879 00000 n 
+0000504302 00000 n 
+0000504520 00000 n 
+0000504706 00000 n 
+0000504871 00000 n 
+0000505088 00000 n 
+0000505279 00000 n 
+0000505444 00000 n 
+0000505662 00000 n 
+0000505849 00000 n 
+0000506069 00000 n 
+0000506256 00000 n 
+0000506473 00000 n 
+0000506657 00000 n 
+0000506877 00000 n 
+0000507064 00000 n 
+0000507284 00000 n 
+0000507469 00000 n 
+0000507687 00000 n 
+0000507874 00000 n 
+0000508094 00000 n 
+0000508281 00000 n 
+0000508460 00000 n 
+0000508679 00000 n 
+0000508864 00000 n 
+0000509059 00000 n 
+0000509238 00000 n 
+0000509458 00000 n 
+0000509644 00000 n 
+0000509840 00000 n 
+0000510019 00000 n 
+0000510239 00000 n 
+0000510425 00000 n 
+0000510629 00000 n 
+0000510825 00000 n 
+0000511001 00000 n 
+0000511220 00000 n 
+0000511415 00000 n 
+0000511618 00000 n 
+0000515586 00000 n 
+0000515763 00000 n 
+0000515983 00000 n 
+0000516169 00000 n 
+0000516373 00000 n 
+0000511813 00000 n 
+0000512046 00000 n 
+0000502953 00000 n 
+0000500516 00000 n 
+0000511987 00000 n 
+0002859956 00000 n 
+0002864818 00000 n 
+0000583997 00000 n 
+0000584115 00000 n 
+0000584233 00000 n 
+0000584351 00000 n 
+0000587354 00000 n 
+0000587590 00000 n 
+0000591164 00000 n 
+0000591282 00000 n 
+0000591400 00000 n 
+0000591518 00000 n 
+0000594454 00000 n 
+0000594572 00000 n 
+0000594690 00000 n 
+0000516764 00000 n 
+0000516941 00000 n 
+0000517161 00000 n 
+0000517357 00000 n 
+0000517561 00000 n 
+0000517757 00000 n 
+0000517934 00000 n 
+0000518154 00000 n 
+0000518339 00000 n 
+0000518535 00000 n 
+0000518927 00000 n 
+0000519114 00000 n 
+0000519334 00000 n 
+0000519520 00000 n 
+0000519716 00000 n 
+0000520108 00000 n 
+0000520294 00000 n 
+0000520511 00000 n 
+0000520698 00000 n 
+0000520867 00000 n 
+0000521085 00000 n 
+0000521302 00000 n 
+0000521488 00000 n 
+0000521655 00000 n 
+0000521875 00000 n 
+0000522062 00000 n 
+0000522229 00000 n 
+0000522447 00000 n 
+0000522634 00000 n 
+0000522798 00000 n 
+0000523018 00000 n 
+0000523205 00000 n 
+0000523401 00000 n 
+0000523564 00000 n 
+0000523782 00000 n 
+0000523969 00000 n 
+0000524303 00000 n 
+0000524522 00000 n 
+0000524708 00000 n 
+0000524903 00000 n 
+0000525070 00000 n 
+0000525287 00000 n 
+0000528396 00000 n 
+0000528556 00000 n 
+0000528773 00000 n 
+0000525473 00000 n 
+0000525765 00000 n 
+0000514983 00000 n 
+0000512240 00000 n 
+0000525647 00000 n 
+0000516569 00000 n 
+0000518731 00000 n 
+0000519912 00000 n 
+0000525706 00000 n 
+0000524136 00000 n 
+0000598043 00000 n 
+0000598161 00000 n 
+0000598279 00000 n 
+0000601607 00000 n 
+0000601725 00000 n 
+0000601843 00000 n 
+0000605250 00000 n 
+0000605368 00000 n 
+0000605486 00000 n 
+0000609368 00000 n 
+0000609486 00000 n 
+0000613249 00000 n 
+0000528960 00000 n 
+0000529180 00000 n 
+0000529367 00000 n 
+0000529563 00000 n 
+0000529722 00000 n 
+0000529940 00000 n 
+0000530144 00000 n 
+0000530362 00000 n 
+0000530565 00000 n 
+0000530783 00000 n 
+0000530967 00000 n 
+0000531138 00000 n 
+0000531353 00000 n 
+0000531543 00000 n 
+0000531760 00000 n 
+0000531963 00000 n 
+0000532181 00000 n 
+0000532372 00000 n 
+0000532590 00000 n 
+0000532776 00000 n 
+0000532980 00000 n 
+0000533197 00000 n 
+0000533389 00000 n 
+0000533575 00000 n 
+0000533779 00000 n 
+0000533999 00000 n 
+0000534219 00000 n 
+0000537277 00000 n 
+0000537496 00000 n 
+0000537683 00000 n 
+0000534439 00000 n 
+0000534967 00000 n 
+0000527982 00000 n 
+0000525986 00000 n 
+0000534613 00000 n 
+0000534672 00000 n 
+0000534731 00000 n 
+0000534790 00000 n 
+0000534849 00000 n 
+0000534908 00000 n 
+0000613367 00000 n 
+0000613485 00000 n 
+0000613603 00000 n 
+0000617321 00000 n 
+0000617439 00000 n 
+0000617557 00000 n 
+0000617673 00000 n 
+0000621803 00000 n 
+0000621925 00000 n 
+0000537870 00000 n 
+0000538090 00000 n 
+0000538277 00000 n 
+0000538497 00000 n 
+0000538684 00000 n 
+0000538871 00000 n 
+0000539091 00000 n 
+0000539284 00000 n 
+0000539470 00000 n 
+0000539655 00000 n 
+0000539858 00000 n 
+0000540078 00000 n 
+0000540271 00000 n 
+0000540457 00000 n 
+0000540644 00000 n 
+0000540847 00000 n 
+0000541066 00000 n 
+0000541259 00000 n 
+0000541445 00000 n 
+0000541630 00000 n 
+0000541833 00000 n 
+0000542052 00000 n 
+0000542245 00000 n 
+0000542431 00000 n 
+0000542618 00000 n 
+0000542821 00000 n 
+0000543041 00000 n 
+0000543234 00000 n 
+0000543420 00000 n 
+0000543605 00000 n 
+0000543808 00000 n 
+0000544028 00000 n 
+0000544221 00000 n 
+0000544407 00000 n 
+0000544594 00000 n 
+0000548741 00000 n 
+0000548961 00000 n 
+0000549148 00000 n 
+0000544797 00000 n 
+0000545148 00000 n 
+0000536791 00000 n 
+0000535133 00000 n 
+0000544971 00000 n 
+0000545030 00000 n 
+0000545089 00000 n 
+0000626177 00000 n 
+0000626295 00000 n 
+0000626418 00000 n 
+0000626541 00000 n 
+0000629056 00000 n 
+0000629179 00000 n 
+0000629301 00000 n 
+0000629424 00000 n 
+0000632346 00000 n 
+0000549521 00000 n 
+0000549712 00000 n 
+0000549900 00000 n 
+0000552949 00000 n 
+0000550088 00000 n 
+0000550439 00000 n 
+0000548534 00000 n 
+0000545314 00000 n 
+0000550262 00000 n 
+0000549335 00000 n 
+0000550321 00000 n 
+0000550380 00000 n 
+0000632469 00000 n 
+0000553137 00000 n 
+0000553728 00000 n 
+0000552796 00000 n 
+0000550628 00000 n 
+0000553311 00000 n 
+0000553370 00000 n 
+0000553487 00000 n 
+0000553605 00000 n 
+0000556069 00000 n 
+0000556243 00000 n 
+0000557075 00000 n 
+0000555916 00000 n 
+0000553917 00000 n 
+0000556417 00000 n 
+0000556476 00000 n 
+0000556599 00000 n 
+0000556717 00000 n 
+0000556835 00000 n 
+0000556953 00000 n 
+0002864944 00000 n 
+0000559166 00000 n 
+0000559693 00000 n 
+0000559022 00000 n 
+0000557201 00000 n 
+0000559340 00000 n 
+0000559399 00000 n 
+0000559517 00000 n 
+0000559634 00000 n 
+0000561792 00000 n 
+0000562559 00000 n 
+0000561648 00000 n 
+0000559819 00000 n 
+0000561966 00000 n 
+0000562025 00000 n 
+0000562143 00000 n 
+0000562261 00000 n 
+0000562378 00000 n 
+0000562501 00000 n 
+0000564912 00000 n 
+0000565453 00000 n 
+0000564768 00000 n 
+0000562698 00000 n 
+0000565086 00000 n 
+0000565208 00000 n 
+0000565331 00000 n 
+0000567234 00000 n 
+0000568172 00000 n 
+0000567090 00000 n 
+0000565592 00000 n 
+0000567408 00000 n 
+0000567467 00000 n 
+0000567585 00000 n 
+0000567703 00000 n 
+0000567819 00000 n 
+0000567937 00000 n 
+0000568055 00000 n 
+0000570221 00000 n 
+0000570392 00000 n 
+0000570586 00000 n 
+0000571290 00000 n 
+0000570059 00000 n 
+0000568311 00000 n 
+0000570760 00000 n 
+0000570819 00000 n 
+0000570937 00000 n 
+0000571055 00000 n 
+0000571173 00000 n 
+0000573386 00000 n 
+0000573557 00000 n 
+0000573751 00000 n 
+0000574336 00000 n 
+0000573224 00000 n 
+0000571429 00000 n 
+0000573925 00000 n 
+0000573984 00000 n 
+0000574102 00000 n 
+0000574219 00000 n 
+0002865070 00000 n 
+0000576360 00000 n 
+0000576531 00000 n 
+0000576725 00000 n 
+0000576896 00000 n 
+0000577090 00000 n 
+0000577616 00000 n 
+0000576180 00000 n 
+0000574475 00000 n 
+0000577264 00000 n 
+0000577323 00000 n 
+0000577441 00000 n 
+0000577557 00000 n 
+0000579857 00000 n 
+0000580075 00000 n 
+0000580246 00000 n 
+0000580439 00000 n 
+0000580609 00000 n 
+0000580802 00000 n 
+0000581506 00000 n 
+0000579668 00000 n 
+0000577755 00000 n 
+0000580976 00000 n 
+0000581094 00000 n 
+0000581212 00000 n 
+0000581329 00000 n 
+0000581447 00000 n 
+0000583483 00000 n 
+0000583646 00000 n 
+0000584409 00000 n 
+0000583330 00000 n 
+0000581645 00000 n 
+0000583820 00000 n 
+0000583938 00000 n 
+0000584056 00000 n 
+0000584174 00000 n 
+0000584292 00000 n 
+0000586346 00000 n 
+0000586511 00000 n 
+0000586697 00000 n 
+0000586868 00000 n 
+0000587062 00000 n 
+0000587767 00000 n 
+0000586166 00000 n 
+0000584548 00000 n 
+0000587236 00000 n 
+0000587295 00000 n 
+0000587413 00000 n 
+0000587531 00000 n 
+0000587649 00000 n 
+0000590150 00000 n 
+0000590321 00000 n 
+0000590515 00000 n 
+0000590694 00000 n 
+0000590872 00000 n 
+0000591636 00000 n 
+0000589970 00000 n 
+0000587906 00000 n 
+0000591046 00000 n 
+0000591105 00000 n 
+0000591223 00000 n 
+0000591341 00000 n 
+0000591459 00000 n 
+0000591577 00000 n 
+0000593866 00000 n 
+0000594044 00000 n 
+0000597220 00000 n 
+0000594221 00000 n 
+0000594749 00000 n 
+0000593704 00000 n 
+0000591775 00000 n 
+0000594395 00000 n 
+0000594513 00000 n 
+0000594631 00000 n 
+0002865196 00000 n 
+0000597397 00000 n 
 0000597574 00000 n 
-0000597765 00000 n 
-0000597956 00000 n 
-0000598180 00000 n 
-0000598377 00000 n 
-0000598568 00000 n 
-0000598759 00000 n 
-0000598967 00000 n 
-0000599191 00000 n 
-0000599388 00000 n 
-0000599578 00000 n 
-0000599768 00000 n 
-0000599975 00000 n 
-0000693212 00000 n 
-0000698533 00000 n 
-0000698659 00000 n 
-0000702023 00000 n 
-0000702143 00000 n 
-0000702269 00000 n 
-0000702395 00000 n 
-0000702521 00000 n 
-0000610179 00000 n 
-0000604425 00000 n 
-0000600708 00000 n 
-0000610000 00000 n 
-0000604797 00000 n 
-0000605020 00000 n 
-0000605215 00000 n 
-0000605406 00000 n 
-0000605597 00000 n 
-0000605805 00000 n 
-0000606029 00000 n 
-0000606225 00000 n 
-0000606416 00000 n 
-0000606607 00000 n 
-0000606815 00000 n 
-0000607038 00000 n 
-0000607235 00000 n 
-0000607426 00000 n 
-0000607617 00000 n 
-0000607825 00000 n 
-0000608048 00000 n 
-0000608245 00000 n 
-0000608435 00000 n 
-0000608625 00000 n 
-0000608832 00000 n 
-0000609056 00000 n 
-0000609247 00000 n 
-0000609438 00000 n 
-0000610060 00000 n 
-0000610119 00000 n 
-0000609629 00000 n 
-0000609822 00000 n 
-0000702647 00000 n 
-0000705394 00000 n 
-0000705520 00000 n 
-0000705646 00000 n 
-0000711250 00000 n 
-0000614608 00000 n 
-0000613622 00000 n 
-0000610384 00000 n 
-0000614548 00000 n 
-0000613796 00000 n 
-0000613987 00000 n 
-0000614179 00000 n 
-0000614370 00000 n 
-0000618354 00000 n 
-0000617053 00000 n 
-0000614796 00000 n 
-0000617565 00000 n 
-0000617625 00000 n 
-0000617744 00000 n 
-0000617864 00000 n 
-0000617990 00000 n 
-0000618115 00000 n 
-0000617209 00000 n 
-0000618235 00000 n 
-0000617387 00000 n 
-0000621728 00000 n 
-0000620862 00000 n 
-0000618480 00000 n 
-0000621187 00000 n 
-0000621247 00000 n 
-0000621366 00000 n 
-0000621490 00000 n 
-0000621609 00000 n 
-0000621009 00000 n 
-0003263996 00000 n 
-0000625176 00000 n 
-0000624313 00000 n 
-0000621854 00000 n 
-0000624638 00000 n 
-0000624698 00000 n 
-0000624757 00000 n 
-0000624877 00000 n 
-0000624996 00000 n 
-0000625116 00000 n 
-0000624460 00000 n 
-0000628645 00000 n 
-0000627943 00000 n 
-0000625315 00000 n 
-0000628268 00000 n 
-0000628394 00000 n 
-0000628519 00000 n 
-0000628090 00000 n 
-0000632039 00000 n 
-0000631169 00000 n 
-0000628784 00000 n 
-0000631494 00000 n 
-0000631554 00000 n 
-0000631679 00000 n 
-0000631799 00000 n 
-0000631919 00000 n 
-0000631316 00000 n 
-0000635152 00000 n 
-0000634169 00000 n 
-0000632178 00000 n 
-0000634494 00000 n 
-0000634554 00000 n 
-0000634673 00000 n 
-0000634793 00000 n 
-0000634913 00000 n 
-0000635033 00000 n 
-0000634316 00000 n 
-0000638890 00000 n 
-0000637366 00000 n 
-0000635291 00000 n 
-0000638472 00000 n 
-0000638532 00000 n 
-0000637549 00000 n 
-0000637724 00000 n 
-0000638651 00000 n 
-0000638771 00000 n 
-0000637922 00000 n 
-0000638097 00000 n 
-0000638294 00000 n 
-0000642275 00000 n 
-0000641142 00000 n 
-0000639029 00000 n 
-0000641857 00000 n 
-0000641917 00000 n 
-0000642036 00000 n 
-0000642156 00000 n 
-0000641307 00000 n 
-0000641482 00000 n 
-0000641679 00000 n 
-0003264122 00000 n 
-0000646411 00000 n 
-0000644652 00000 n 
-0000642414 00000 n 
-0000645992 00000 n 
-0000646052 00000 n 
-0000644844 00000 n 
-0000645019 00000 n 
-0000646171 00000 n 
-0000646291 00000 n 
-0000645217 00000 n 
-0000645441 00000 n 
-0000645616 00000 n 
-0000645814 00000 n 
-0000650230 00000 n 
-0000648976 00000 n 
-0000646550 00000 n 
-0000649692 00000 n 
-0000649752 00000 n 
-0000649871 00000 n 
-0000649141 00000 n 
-0000649316 00000 n 
-0000649991 00000 n 
-0000650111 00000 n 
-0000649514 00000 n 
-0000654066 00000 n 
-0000652651 00000 n 
-0000650369 00000 n 
+0000597751 00000 n 
+0000598337 00000 n 
+0000597049 00000 n 
+0000594925 00000 n 
+0000597925 00000 n 
+0000597984 00000 n 
+0000598102 00000 n 
+0000598220 00000 n 
+0000600772 00000 n 
+0000600959 00000 n 
+0000601146 00000 n 
+0000603958 00000 n 
+0000601315 00000 n 
+0000601902 00000 n 
+0000600601 00000 n 
+0000598513 00000 n 
+0000601489 00000 n 
+0000601548 00000 n 
+0000601666 00000 n 
+0000601784 00000 n 
+0000604125 00000 n 
+0000604292 00000 n 
+0000604458 00000 n 
+0000604626 00000 n 
+0000604790 00000 n 
+0000608244 00000 n 
+0000604958 00000 n 
+0000605545 00000 n 
+0000603760 00000 n 
+0000602078 00000 n 
+0000605132 00000 n 
+0000605191 00000 n 
+0000605309 00000 n 
+0000605427 00000 n 
+0000608408 00000 n 
+0000608576 00000 n 
+0000608743 00000 n 
+0000608910 00000 n 
+0000609076 00000 n 
+0000609603 00000 n 
+0000608055 00000 n 
+0000605697 00000 n 
+0000609250 00000 n 
+0000609309 00000 n 
+0000609427 00000 n 
+0002861423 00000 n 
+0000609545 00000 n 
+0000612360 00000 n 
+0000612521 00000 n 
+0000612689 00000 n 
+0000612848 00000 n 
+0000613016 00000 n 
+0000613661 00000 n 
+0000612180 00000 n 
+0000609782 00000 n 
+0000613190 00000 n 
+0000613308 00000 n 
+0000613426 00000 n 
+0000613544 00000 n 
+0000616266 00000 n 
+0000616438 00000 n 
+0000616657 00000 n 
+0000616843 00000 n 
+0000620740 00000 n 
+0000617029 00000 n 
+0000617732 00000 n 
+0000616086 00000 n 
+0000613862 00000 n 
+0000617203 00000 n 
+0000617262 00000 n 
+0000617380 00000 n 
+0000617498 00000 n 
+0000617615 00000 n 
+0002865322 00000 n 
+0000620931 00000 n 
+0000621121 00000 n 
+0000621341 00000 n 
+0000625222 00000 n 
+0000625407 00000 n 
+0000621511 00000 n 
+0000622047 00000 n 
+0000620560 00000 n 
+0000617920 00000 n 
+0000621685 00000 n 
+0000621744 00000 n 
+0000621867 00000 n 
+0000621988 00000 n 
+0000625593 00000 n 
+0000625762 00000 n 
+0000626663 00000 n 
+0000625051 00000 n 
+0000622198 00000 n 
+0000625936 00000 n 
+0000626059 00000 n 
+0000626118 00000 n 
+0000626236 00000 n 
+0000626359 00000 n 
+0000626482 00000 n 
+0000626604 00000 n 
+0000628823 00000 n 
+0000629487 00000 n 
+0000628679 00000 n 
+0000626814 00000 n 
+0000628997 00000 n 
+0000629120 00000 n 
+0000629243 00000 n 
+0000629365 00000 n 
+0000631845 00000 n 
+0000634779 00000 n 
+0000632054 00000 n 
+0000632767 00000 n 
+0000631692 00000 n 
+0000629613 00000 n 
+0000632228 00000 n 
+0000632287 00000 n 
+0000632410 00000 n 
+0000632533 00000 n 
+0000632708 00000 n 
+0000635008 00000 n 
+0000635237 00000 n 
+0000635425 00000 n 
+0000635654 00000 n 
+0000635851 00000 n 
+0000636080 00000 n 
+0000636309 00000 n 
+0000636505 00000 n 
+0000636734 00000 n 
+0000636921 00000 n 
+0000637118 00000 n 
+0000638000 00000 n 
+0000634536 00000 n 
+0000632919 00000 n 
+0000637292 00000 n 
+0000637351 00000 n 
+0000637410 00000 n 
+0000637469 00000 n 
+0000637528 00000 n 
+0000637587 00000 n 
+0000637646 00000 n 
+0000637705 00000 n 
+0000637764 00000 n 
+0000637823 00000 n 
+0000637882 00000 n 
+0000640192 00000 n 
+0000640434 00000 n 
+0000640631 00000 n 
+0000640828 00000 n 
+0000641041 00000 n 
+0000641255 00000 n 
+0000641441 00000 n 
+0000641655 00000 n 
+0000641841 00000 n 
+0000642055 00000 n 
+0000642259 00000 n 
+0000642463 00000 n 
+0000642667 00000 n 
+0000642881 00000 n 
+0000643085 00000 n 
+0000643289 00000 n 
+0000646559 00000 n 
+0000646754 00000 n 
+0000643493 00000 n 
+0000644254 00000 n 
+0000639904 00000 n 
+0000638165 00000 n 
+0000643667 00000 n 
+0000643784 00000 n 
+0000643843 00000 n 
+0000643902 00000 n 
+0000644077 00000 n 
+0000644136 00000 n 
+0000644195 00000 n 
+0002865448 00000 n 
+0000785456 00000 n 
+0000785579 00000 n 
+0000785697 00000 n 
+0000785812 00000 n 
+0000646968 00000 n 
+0000647163 00000 n 
+0000647377 00000 n 
+0000647572 00000 n 
+0000647786 00000 n 
+0000647981 00000 n 
+0000648195 00000 n 
+0000648398 00000 n 
+0000648612 00000 n 
+0000648814 00000 n 
+0000649027 00000 n 
+0000649241 00000 n 
+0000649455 00000 n 
+0000649669 00000 n 
+0000649883 00000 n 
+0000650097 00000 n 
+0000650301 00000 n 
+0000650505 00000 n 
+0000650719 00000 n 
+0000650900 00000 n 
+0000651104 00000 n 
+0000651318 00000 n 
+0000651499 00000 n 
+0000651703 00000 n 
+0000651917 00000 n 
+0000652113 00000 n 
+0000652326 00000 n 
+0000652521 00000 n 
+0000652713 00000 n 
+0000652926 00000 n 
+0000656482 00000 n 
+0000656696 00000 n 
+0000656891 00000 n 
+0000653120 00000 n 
+0000653942 00000 n 
+0000646127 00000 n 
+0000644393 00000 n 
+0000653294 00000 n 
+0000653353 00000 n 
+0000653412 00000 n 
+0000653471 00000 n 
 0000653530 00000 n 
-0000653590 00000 n 
-0000653709 00000 n 
-0000653827 00000 n 
-0000652825 00000 n 
-0000653947 00000 n 
-0000652994 00000 n 
-0000653163 00000 n 
-0000653352 00000 n 
-0000657658 00000 n 
-0000656013 00000 n 
-0000654205 00000 n 
-0000657120 00000 n 
-0000657180 00000 n 
-0000657299 00000 n 
-0000656196 00000 n 
-0000656371 00000 n 
-0000657419 00000 n 
-0000657538 00000 n 
-0000656569 00000 n 
-0000656744 00000 n 
-0000656942 00000 n 
-0000661580 00000 n 
-0000660334 00000 n 
-0000657797 00000 n 
-0000661042 00000 n 
-0000661102 00000 n 
-0000661221 00000 n 
-0000661340 00000 n 
-0000660499 00000 n 
-0000661460 00000 n 
-0000660682 00000 n 
-0000660864 00000 n 
-0000665985 00000 n 
-0000664671 00000 n 
-0000661719 00000 n 
-0000665567 00000 n 
-0000665627 00000 n 
-0000664845 00000 n 
-0000665746 00000 n 
-0000665028 00000 n 
-0000665866 00000 n 
-0000665209 00000 n 
-0000665389 00000 n 
-0003264248 00000 n 
-0000670552 00000 n 
-0000669289 00000 n 
-0000666161 00000 n 
-0000670193 00000 n 
-0000670253 00000 n 
-0000669463 00000 n 
-0000670372 00000 n 
-0000669643 00000 n 
-0000670492 00000 n 
-0000669824 00000 n 
-0000670015 00000 n 
-0000675179 00000 n 
+0000653589 00000 n 
+0000653648 00000 n 
+0000653707 00000 n 
+0000653765 00000 n 
+0000653824 00000 n 
+0000653883 00000 n 
+0000724362 00000 n 
+0000724480 00000 n 
+0000724598 00000 n 
+0000727357 00000 n 
+0000727480 00000 n 
+0000727598 00000 n 
+0000657084 00000 n 
+0000657298 00000 n 
+0000657494 00000 n 
+0000657708 00000 n 
+0000657904 00000 n 
+0000658096 00000 n 
+0000658310 00000 n 
+0000658497 00000 n 
+0000658701 00000 n 
+0000658915 00000 n 
+0000659109 00000 n 
+0000659313 00000 n 
+0000659527 00000 n 
+0000659715 00000 n 
+0000659919 00000 n 
+0000660133 00000 n 
+0000660315 00000 n 
+0000660519 00000 n 
+0000660733 00000 n 
+0000660938 00000 n 
+0000661141 00000 n 
+0000661322 00000 n 
+0000661536 00000 n 
+0000661717 00000 n 
+0000661929 00000 n 
+0000662110 00000 n 
+0000662314 00000 n 
+0000662527 00000 n 
+0000662730 00000 n 
+0000662943 00000 n 
+0000663132 00000 n 
+0000663346 00000 n 
+0000663558 00000 n 
+0000663772 00000 n 
+0000667157 00000 n 
+0000667371 00000 n 
+0000663986 00000 n 
+0000664690 00000 n 
+0000656005 00000 n 
+0000654109 00000 n 
+0000664160 00000 n 
+0000664219 00000 n 
+0000664277 00000 n 
+0000664336 00000 n 
+0000664395 00000 n 
+0000664454 00000 n 
+0000664513 00000 n 
+0000664572 00000 n 
+0000664631 00000 n 
+0000727715 00000 n 
+0000730539 00000 n 
+0000730657 00000 n 
+0000730775 00000 n 
+0000730893 00000 n 
+0000731016 00000 n 
+0000731139 00000 n 
+0000733735 00000 n 
+0000667584 00000 n 
+0000667798 00000 n 
+0000667984 00000 n 
+0000668181 00000 n 
+0000668394 00000 n 
+0000668581 00000 n 
+0000668777 00000 n 
+0000668989 00000 n 
+0000669175 00000 n 
+0000669372 00000 n 
+0000669585 00000 n 
+0000669771 00000 n 
+0000669985 00000 n 
+0000670181 00000 n 
+0000670395 00000 n 
+0000670590 00000 n 
+0000670803 00000 n 
+0000670999 00000 n 
+0000671203 00000 n 
+0000671407 00000 n 
+0000671619 00000 n 
+0000671814 00000 n 
+0000672017 00000 n 
+0000672220 00000 n 
+0000672407 00000 n 
+0000672621 00000 n 
+0000672817 00000 n 
+0000673020 00000 n 
+0000673223 00000 n 
+0000673437 00000 n 
 0000673633 00000 n 
-0000670728 00000 n 
-0000674701 00000 n 
-0000674820 00000 n 
-0000673816 00000 n 
-0000674940 00000 n 
-0000674006 00000 n 
-0000675059 00000 n 
-0000674179 00000 n 
-0000674350 00000 n 
-0000674523 00000 n 
-0000679938 00000 n 
-0000678115 00000 n 
-0000675368 00000 n 
-0000679520 00000 n 
-0000679580 00000 n 
-0000678316 00000 n 
-0000678487 00000 n 
-0000679699 00000 n 
-0000678660 00000 n 
-0000678828 00000 n 
-0000679819 00000 n 
-0000679001 00000 n 
-0000679169 00000 n 
-0000679342 00000 n 
-0000684665 00000 n 
-0000683024 00000 n 
-0000680090 00000 n 
-0000684247 00000 n 
-0000684307 00000 n 
-0000683216 00000 n 
-0003037756 00000 n 
-0003034530 00000 n 
-0003037587 00000 n 
-0000684426 00000 n 
-0000683387 00000 n 
-0000683558 00000 n 
-0000684546 00000 n 
-0000683731 00000 n 
-0000683896 00000 n 
-0000684069 00000 n 
-0000688683 00000 n 
-0000687587 00000 n 
-0000684844 00000 n 
-0000688266 00000 n 
-0000688326 00000 n 
-0000687752 00000 n 
-0000687915 00000 n 
-0000688445 00000 n 
-0000688564 00000 n 
-0000688088 00000 n 
-0000693331 00000 n 
-0000691510 00000 n 
-0000688884 00000 n 
-0000692853 00000 n 
-0000692913 00000 n 
-0000691702 00000 n 
-0000691878 00000 n 
-0000693032 00000 n 
-0000692101 00000 n 
-0000692290 00000 n 
-0000693152 00000 n 
-0000693272 00000 n 
-0000692480 00000 n 
-0000692675 00000 n 
-0003264374 00000 n 
-0000698910 00000 n 
-0000696948 00000 n 
-0000693470 00000 n 
-0000698473 00000 n 
-0000697149 00000 n 
-0000698599 00000 n 
-0000697343 00000 n 
-0000697567 00000 n 
-0000698725 00000 n 
-0000697742 00000 n 
-0000697932 00000 n 
-0000698121 00000 n 
-0000698850 00000 n 
-0000698295 00000 n 
-0000702712 00000 n 
-0000701579 00000 n 
-0000699061 00000 n 
-0000701904 00000 n 
-0000701964 00000 n 
-0000702083 00000 n 
-0000702209 00000 n 
-0000702335 00000 n 
-0000702461 00000 n 
-0000702587 00000 n 
-0000701726 00000 n 
-0000705772 00000 n 
-0000704950 00000 n 
-0000702838 00000 n 
-0000705275 00000 n 
-0000705335 00000 n 
-0000705460 00000 n 
-0000705586 00000 n 
-0000705712 00000 n 
-0000705097 00000 n 
-0000711914 00000 n 
-0000708363 00000 n 
-0000705911 00000 n 
-0000711190 00000 n 
-0000711316 00000 n 
-0000711494 00000 n 
-0000708609 00000 n 
-0000711554 00000 n 
-0000711614 00000 n 
-0000708822 00000 n 
-0000711674 00000 n 
-0000709056 00000 n 
-0000709290 00000 n 
-0000711734 00000 n 
-0000709482 00000 n 
-0000709716 00000 n 
-0000711794 00000 n 
-0000709917 00000 n 
-0000710151 00000 n 
-0000710385 00000 n 
-0000711854 00000 n 
-0000710586 00000 n 
-0000710820 00000 n 
-0000711012 00000 n 
-0000715609 00000 n 
-0000716086 00000 n 
-0000714223 00000 n 
-0000712094 00000 n 
-0000715431 00000 n 
-0000715491 00000 n 
-0000714406 00000 n 
-0000715550 00000 n 
-0000715669 00000 n 
-0000715848 00000 n 
-0000715908 00000 n 
-0000714605 00000 n 
-0000714851 00000 n 
-0000715052 00000 n 
-0000715968 00000 n 
-0000715253 00000 n 
-0000726370 00000 n 
-0000719365 00000 n 
-0000716250 00000 n 
-0000725593 00000 n 
-0000725711 00000 n 
-0000725771 00000 n 
-0000719755 00000 n 
-0000725831 00000 n 
-0000719972 00000 n 
-0000720189 00000 n 
-0000720379 00000 n 
-0000720597 00000 n 
-0000720787 00000 n 
-0000721003 00000 n 
-0000721209 00000 n 
-0000721414 00000 n 
-0000721620 00000 n 
-0000721838 00000 n 
-0000722046 00000 n 
-0000722254 00000 n 
-0000725891 00000 n 
-0000722462 00000 n 
-0000722662 00000 n 
-0000725951 00000 n 
-0000722880 00000 n 
-0000723080 00000 n 
-0000726011 00000 n 
-0000723298 00000 n 
-0000723496 00000 n 
-0000726071 00000 n 
-0000723712 00000 n 
-0000723912 00000 n 
-0000726130 00000 n 
-0000724130 00000 n 
-0000724338 00000 n 
-0000726190 00000 n 
-0000724556 00000 n 
-0000724764 00000 n 
-0000726250 00000 n 
-0000724982 00000 n 
-0000726310 00000 n 
-0000725199 00000 n 
-0000725415 00000 n 
-0003264500 00000 n 
-0000883450 00000 n 
-0000883575 00000 n 
-0000883695 00000 n 
-0000887500 00000 n 
-0000739586 00000 n 
-0000730231 00000 n 
-0000726524 00000 n 
-0000739406 00000 n 
-0000739466 00000 n 
-0000730747 00000 n 
-0000739526 00000 n 
-0000730964 00000 n 
-0000731182 00000 n 
-0000731400 00000 n 
-0000731608 00000 n 
-0000731816 00000 n 
-0000732034 00000 n 
-0000732219 00000 n 
-0000732427 00000 n 
-0000732645 00000 n 
-0000732830 00000 n 
-0000733038 00000 n 
-0000733254 00000 n 
-0000733452 00000 n 
-0000733670 00000 n 
-0000733870 00000 n 
-0000734067 00000 n 
-0000734285 00000 n 
-0000734484 00000 n 
-0000734702 00000 n 
-0000734901 00000 n 
-0000735098 00000 n 
-0000735315 00000 n 
-0000735514 00000 n 
-0000735732 00000 n 
-0000735932 00000 n 
-0000736128 00000 n 
-0000736345 00000 n 
-0000736535 00000 n 
-0000736742 00000 n 
-0000736960 00000 n 
-0000737157 00000 n 
-0000737365 00000 n 
-0000737583 00000 n 
-0000737775 00000 n 
-0000737982 00000 n 
-0000738200 00000 n 
-0000738385 00000 n 
-0000738593 00000 n 
-0000738811 00000 n 
-0000739020 00000 n 
-0000739228 00000 n 
-0000817713 00000 n 
-0000817833 00000 n 
-0000817953 00000 n 
-0000818077 00000 n 
-0000818203 00000 n 
-0000821097 00000 n 
-0000821217 00000 n 
-0000821337 00000 n 
-0000821457 00000 n 
-0000824589 00000 n 
-0000824709 00000 n 
-0000824835 00000 n 
-0000824960 00000 n 
-0000825086 00000 n 
-0000751856 00000 n 
-0000743315 00000 n 
-0000739755 00000 n 
-0000751198 00000 n 
-0000751258 00000 n 
-0000743777 00000 n 
-0000743962 00000 n 
-0000744180 00000 n 
-0000751318 00000 n 
-0000744365 00000 n 
-0000744583 00000 n 
-0000751378 00000 n 
-0000744768 00000 n 
-0000744976 00000 n 
-0000751438 00000 n 
-0000745194 00000 n 
-0000745402 00000 n 
-0000745620 00000 n 
-0000751498 00000 n 
-0000745813 00000 n 
-0000751558 00000 n 
-0000746031 00000 n 
-0000751617 00000 n 
-0000746249 00000 n 
-0000751676 00000 n 
-0000746465 00000 n 
-0000751736 00000 n 
-0000746682 00000 n 
-0000751796 00000 n 
-0000746900 00000 n 
-0000747118 00000 n 
-0000747336 00000 n 
-0000747525 00000 n 
-0000747726 00000 n 
-0000747944 00000 n 
-0000748136 00000 n 
-0000748336 00000 n 
-0000748553 00000 n 
-0000748744 00000 n 
-0000748945 00000 n 
-0000749163 00000 n 
-0000749354 00000 n 
-0000749572 00000 n 
-0000749772 00000 n 
-0000749990 00000 n 
-0000750190 00000 n 
-0000750407 00000 n 
-0000750606 00000 n 
-0000750813 00000 n 
-0000751020 00000 n 
-0000825271 00000 n 
-0000827685 00000 n 
-0000827805 00000 n 
-0000827924 00000 n 
-0000828044 00000 n 
-0000828164 00000 n 
-0000828284 00000 n 
-0000764079 00000 n 
-0000755682 00000 n 
-0000752010 00000 n 
-0000763959 00000 n 
-0000756162 00000 n 
-0000756380 00000 n 
-0000756580 00000 n 
-0000756788 00000 n 
-0000756996 00000 n 
-0000757187 00000 n 
-0000757405 00000 n 
-0000757605 00000 n 
-0000757813 00000 n 
-0000758021 00000 n 
-0000758239 00000 n 
-0000758439 00000 n 
-0000758647 00000 n 
-0000758855 00000 n 
-0000759045 00000 n 
-0000759263 00000 n 
-0000759448 00000 n 
-0000759666 00000 n 
-0000759851 00000 n 
-0000760069 00000 n 
-0000764019 00000 n 
-0000760254 00000 n 
-0000760472 00000 n 
-0000760690 00000 n 
-0000760881 00000 n 
-0000761099 00000 n 
-0000761299 00000 n 
-0000761516 00000 n 
-0000761716 00000 n 
-0000761932 00000 n 
-0000762123 00000 n 
-0000762341 00000 n 
-0000762541 00000 n 
-0000762759 00000 n 
-0000762959 00000 n 
-0000763177 00000 n 
-0000763369 00000 n 
-0000763584 00000 n 
-0000763781 00000 n 
-0000831500 00000 n 
-0000831626 00000 n 
-0000834773 00000 n 
-0000834899 00000 n 
-0000835025 00000 n 
-0000835145 00000 n 
-0000838134 00000 n 
-0000838254 00000 n 
-0000838374 00000 n 
-0000838494 00000 n 
-0000841230 00000 n 
-0000841350 00000 n 
-0000841470 00000 n 
-0000843898 00000 n 
-0000778141 00000 n 
-0000768778 00000 n 
-0000764219 00000 n 
-0000778081 00000 n 
-0000769312 00000 n 
-0000769530 00000 n 
-0000769722 00000 n 
-0000769940 00000 n 
-0000770140 00000 n 
-0000770358 00000 n 
-0000770550 00000 n 
-0000770768 00000 n 
-0000770968 00000 n 
-0000771186 00000 n 
-0000771375 00000 n 
-0000771544 00000 n 
-0000771762 00000 n 
-0000771958 00000 n 
-0000772126 00000 n 
-0000772344 00000 n 
-0000772528 00000 n 
-0000772746 00000 n 
-0000772931 00000 n 
-0000773149 00000 n 
-0000773334 00000 n 
-0000773552 00000 n 
-0000773736 00000 n 
-0000773954 00000 n 
-0000774138 00000 n 
-0000774321 00000 n 
-0000774538 00000 n 
-0000774728 00000 n 
-0000774928 00000 n 
-0000775111 00000 n 
-0000775329 00000 n 
-0000775519 00000 n 
-0000775719 00000 n 
-0000775902 00000 n 
-0000776119 00000 n 
-0000776308 00000 n 
-0000776515 00000 n 
-0000776714 00000 n 
-0000776895 00000 n 
-0000777111 00000 n 
-0000777299 00000 n 
-0000777506 00000 n 
-0000777705 00000 n 
-0000777903 00000 n 
-0000844018 00000 n 
-0000844138 00000 n 
-0000844258 00000 n 
-0000844378 00000 n 
-0000847750 00000 n 
-0000847870 00000 n 
-0000847990 00000 n 
-0000848110 00000 n 
-0000851649 00000 n 
-0000851769 00000 n 
-0000851889 00000 n 
-0000852009 00000 n 
-0000856032 00000 n 
-0000856152 00000 n 
-0000856272 00000 n 
-0000793398 00000 n 
-0000783184 00000 n 
-0000778337 00000 n 
-0000793218 00000 n 
-0000783754 00000 n 
-0000783935 00000 n 
-0000784153 00000 n 
-0000784353 00000 n 
-0000784561 00000 n 
-0000784761 00000 n 
-0000784940 00000 n 
-0000785156 00000 n 
-0000785354 00000 n 
-0000785561 00000 n 
-0000785761 00000 n 
-0000785942 00000 n 
-0000786160 00000 n 
-0000786350 00000 n 
-0000786550 00000 n 
-0000786750 00000 n 
-0000786950 00000 n 
-0000787139 00000 n 
-0000787356 00000 n 
-0000787545 00000 n 
-0000787744 00000 n 
-0000787944 00000 n 
-0000788143 00000 n 
-0000788334 00000 n 
-0000788552 00000 n 
-0000788737 00000 n 
-0000793278 00000 n 
-0000788910 00000 n 
-0000789128 00000 n 
-0000789346 00000 n 
-0000789531 00000 n 
-0000789702 00000 n 
-0000789920 00000 n 
-0000790105 00000 n 
-0000793338 00000 n 
-0000790276 00000 n 
-0000790494 00000 n 
-0000790679 00000 n 
-0000790896 00000 n 
-0000791080 00000 n 
-0000791279 00000 n 
-0000791450 00000 n 
-0000791668 00000 n 
-0000791852 00000 n 
-0000792023 00000 n 
-0000792192 00000 n 
-0000792410 00000 n 
-0000792618 00000 n 
-0000792834 00000 n 
-0000793040 00000 n 
-0000860364 00000 n 
-0000860484 00000 n 
-0000860604 00000 n 
-0000864608 00000 n 
-0000864728 00000 n 
-0000864848 00000 n 
-0000869447 00000 n 
-0000869567 00000 n 
-0000869686 00000 n 
-0000873714 00000 n 
-0000873834 00000 n 
-0000803520 00000 n 
-0000797045 00000 n 
-0000793621 00000 n 
-0000803102 00000 n 
-0000797435 00000 n 
-0000797653 00000 n 
-0000797836 00000 n 
-0000798054 00000 n 
-0000798249 00000 n 
-0000798466 00000 n 
-0000798673 00000 n 
-0000798891 00000 n 
-0000799086 00000 n 
-0000799304 00000 n 
-0000799494 00000 n 
-0000799702 00000 n 
-0000799920 00000 n 
-0000800116 00000 n 
-0000803162 00000 n 
-0000803221 00000 n 
-0000800306 00000 n 
-0000800514 00000 n 
-0000800732 00000 n 
-0000803280 00000 n 
-0000800916 00000 n 
-0000803340 00000 n 
-0000801134 00000 n 
-0000803400 00000 n 
-0000801352 00000 n 
-0000801569 00000 n 
-0000801752 00000 n 
-0000803460 00000 n 
-0000801935 00000 n 
-0000802153 00000 n 
-0000802338 00000 n 
-0000802523 00000 n 
-0000802740 00000 n 
-0000802924 00000 n 
-0003264626 00000 n 
-0000873954 00000 n 
-0000874074 00000 n 
-0000878294 00000 n 
-0000878413 00000 n 
-0000878533 00000 n 
-0000883324 00000 n 
-0000887686 00000 n 
-0000887806 00000 n 
-0000887931 00000 n 
-0000814056 00000 n 
-0000806945 00000 n 
-0000803674 00000 n 
-0000813876 00000 n 
-0000807380 00000 n 
-0000807598 00000 n 
-0000807795 00000 n 
-0000807980 00000 n 
-0000808165 00000 n 
-0000808373 00000 n 
-0000808590 00000 n 
-0000808786 00000 n 
-0000808971 00000 n 
-0000809156 00000 n 
-0000809364 00000 n 
-0000809582 00000 n 
-0000809778 00000 n 
-0000809963 00000 n 
-0000810148 00000 n 
-0000810356 00000 n 
-0000810574 00000 n 
-0000810770 00000 n 
-0000810955 00000 n 
-0000811140 00000 n 
-0000811348 00000 n 
-0000811565 00000 n 
-0000811762 00000 n 
-0000811947 00000 n 
-0000812132 00000 n 
-0000812340 00000 n 
-0000812557 00000 n 
-0000812754 00000 n 
-0000812938 00000 n 
-0000813122 00000 n 
-0000813936 00000 n 
-0000813996 00000 n 
-0000813329 00000 n 
-0000813513 00000 n 
-0000813698 00000 n 
-0000888057 00000 n 
-0000890747 00000 n 
-0000890873 00000 n 
-0000890999 00000 n 
-0000891125 00000 n 
-0000896380 00000 n 
-0000818323 00000 n 
-0000816702 00000 n 
-0000814223 00000 n 
-0000817594 00000 n 
-0000816876 00000 n 
-0000817061 00000 n 
-0000817654 00000 n 
-0000817773 00000 n 
-0000817893 00000 n 
-0000818017 00000 n 
-0000818143 00000 n 
-0000817255 00000 n 
-0000818263 00000 n 
-0000817416 00000 n 
-0000821577 00000 n 
-0000820541 00000 n 
-0000818449 00000 n 
-0000821037 00000 n 
+0000673836 00000 n 
+0000674039 00000 n 
+0000674226 00000 n 
+0000674440 00000 n 
+0000674621 00000 n 
+0000674835 00000 n 
+0000675015 00000 n 
+0000675229 00000 n 
+0000675410 00000 n 
+0000678293 00000 n 
+0000678505 00000 n 
+0000675624 00000 n 
+0000676034 00000 n 
+0000666635 00000 n 
+0000664857 00000 n 
+0000675798 00000 n 
+0000675857 00000 n 
+0000675916 00000 n 
+0000675975 00000 n 
+0000733917 00000 n 
+0000734035 00000 n 
+0000734153 00000 n 
+0000734271 00000 n 
+0000734389 00000 n 
+0000736829 00000 n 
+0000736946 00000 n 
+0000737064 00000 n 
+0000739778 00000 n 
+0000739901 00000 n 
+0000740024 00000 n 
+0000742509 00000 n 
+0000742627 00000 n 
+0000678693 00000 n 
+0000678905 00000 n 
+0000679101 00000 n 
+0000679313 00000 n 
+0000679509 00000 n 
+0000679719 00000 n 
+0000679905 00000 n 
+0000680117 00000 n 
+0000680312 00000 n 
+0000680524 00000 n 
+0000680720 00000 n 
+0000680932 00000 n 
+0000681120 00000 n 
+0000681331 00000 n 
+0000681527 00000 n 
+0000681737 00000 n 
+0000681924 00000 n 
+0000682136 00000 n 
+0000682332 00000 n 
+0000682544 00000 n 
+0000682732 00000 n 
+0000682944 00000 n 
+0000683140 00000 n 
+0000683352 00000 n 
+0000683538 00000 n 
+0000683702 00000 n 
+0000683914 00000 n 
+0000684106 00000 n 
+0000684271 00000 n 
+0000684482 00000 n 
+0000684662 00000 n 
+0000684874 00000 n 
+0000685053 00000 n 
+0000685266 00000 n 
+0000689248 00000 n 
+0000689460 00000 n 
+0000685444 00000 n 
+0000685677 00000 n 
+0000677825 00000 n 
+0000676173 00000 n 
+0000685618 00000 n 
+0000742745 00000 n 
+0000742863 00000 n 
+0000742981 00000 n 
+0000745303 00000 n 
+0000745421 00000 n 
+0000745539 00000 n 
+0000747630 00000 n 
+0000747748 00000 n 
+0000747866 00000 n 
+0000747984 00000 n 
+0000750318 00000 n 
+0000750435 00000 n 
+0000750553 00000 n 
+0000750671 00000 n 
+0000753441 00000 n 
+0000753559 00000 n 
+0000753677 00000 n 
+0000689641 00000 n 
+0000689855 00000 n 
+0000690036 00000 n 
+0000690215 00000 n 
+0000690429 00000 n 
+0000690615 00000 n 
+0000690811 00000 n 
+0000690989 00000 n 
+0000691202 00000 n 
+0000691387 00000 n 
+0000691582 00000 n 
+0000691761 00000 n 
+0000691975 00000 n 
+0000692161 00000 n 
+0000692365 00000 n 
+0000692561 00000 n 
+0000692738 00000 n 
+0000692952 00000 n 
+0000693138 00000 n 
+0000693342 00000 n 
+0000693734 00000 n 
+0000693910 00000 n 
+0000694124 00000 n 
+0000694320 00000 n 
+0000694524 00000 n 
+0000694720 00000 n 
+0000694897 00000 n 
+0000695111 00000 n 
+0000695307 00000 n 
+0000695511 00000 n 
+0000695707 00000 n 
+0000695883 00000 n 
+0000696097 00000 n 
+0000696282 00000 n 
+0000696478 00000 n 
+0000696870 00000 n 
+0000697057 00000 n 
+0000697271 00000 n 
+0000697457 00000 n 
+0000697653 00000 n 
+0000698044 00000 n 
+0000698231 00000 n 
+0000698441 00000 n 
+0000698621 00000 n 
+0000698790 00000 n 
+0000702157 00000 n 
+0000702369 00000 n 
+0000702550 00000 n 
+0000699002 00000 n 
+0000699294 00000 n 
+0000688654 00000 n 
+0000685816 00000 n 
+0000699176 00000 n 
+0000693538 00000 n 
+0000696674 00000 n 
+0000697849 00000 n 
+0000699235 00000 n 
+0000753794 00000 n 
+0000753912 00000 n 
+0000757645 00000 n 
+0000757763 00000 n 
+0000757881 00000 n 
+0000760877 00000 n 
+0000760993 00000 n 
+0000761111 00000 n 
+0000764742 00000 n 
+0000764860 00000 n 
+0000768493 00000 n 
+0000702717 00000 n 
+0000702929 00000 n 
+0000703110 00000 n 
+0000703276 00000 n 
+0000703487 00000 n 
+0000703668 00000 n 
+0000703882 00000 n 
+0000704063 00000 n 
+0000704259 00000 n 
+0000704426 00000 n 
+0000704638 00000 n 
+0000704819 00000 n 
+0000705153 00000 n 
+0000705365 00000 n 
+0000705569 00000 n 
+0000705780 00000 n 
+0000705982 00000 n 
+0000706194 00000 n 
+0000706373 00000 n 
+0000706584 00000 n 
+0000706776 00000 n 
+0000706988 00000 n 
+0000707192 00000 n 
+0000707404 00000 n 
+0000707595 00000 n 
+0000707806 00000 n 
+0000707991 00000 n 
+0000708194 00000 n 
+0000708405 00000 n 
+0000708597 00000 n 
+0000708783 00000 n 
+0000708987 00000 n 
+0000709201 00000 n 
+0000712121 00000 n 
+0000712335 00000 n 
+0000709380 00000 n 
+0000709790 00000 n 
+0000701680 00000 n 
+0000699488 00000 n 
+0000709554 00000 n 
+0000709613 00000 n 
+0000704986 00000 n 
+0000709672 00000 n 
+0000709731 00000 n 
+0002865574 00000 n 
+0000768611 00000 n 
+0000768729 00000 n 
+0000768847 00000 n 
+0000772486 00000 n 
+0000772604 00000 n 
+0000772719 00000 n 
+0000776717 00000 n 
+0000776834 00000 n 
+0000776957 00000 n 
+0000777075 00000 n 
+0000781220 00000 n 
+0000781342 00000 n 
+0000712549 00000 n 
+0000712762 00000 n 
+0000712943 00000 n 
+0000713124 00000 n 
+0000713338 00000 n 
+0000713519 00000 n 
+0000713700 00000 n 
+0000713913 00000 n 
+0000714093 00000 n 
+0000714306 00000 n 
+0000714498 00000 n 
+0000714678 00000 n 
+0000714857 00000 n 
+0000715061 00000 n 
+0000715274 00000 n 
+0000715466 00000 n 
+0000715645 00000 n 
+0000715823 00000 n 
+0000716026 00000 n 
+0000716237 00000 n 
+0000716428 00000 n 
+0000716608 00000 n 
+0000716787 00000 n 
+0000716991 00000 n 
+0000717204 00000 n 
+0000717397 00000 n 
+0000717576 00000 n 
+0000717754 00000 n 
+0000717957 00000 n 
+0000718171 00000 n 
+0000718364 00000 n 
+0000718542 00000 n 
+0000718719 00000 n 
+0000722252 00000 n 
+0000722466 00000 n 
+0000722659 00000 n 
+0000722839 00000 n 
+0000723018 00000 n 
+0000718921 00000 n 
+0000719390 00000 n 
+0000711662 00000 n 
+0000709956 00000 n 
+0000719095 00000 n 
+0000719154 00000 n 
+0000719213 00000 n 
+0000719272 00000 n 
+0000719331 00000 n 
+0000789146 00000 n 
+0000789264 00000 n 
+0000789387 00000 n 
+0000789510 00000 n 
+0000789628 00000 n 
+0000792244 00000 n 
+0000792367 00000 n 
+0000792490 00000 n 
+0000723222 00000 n 
+0000723401 00000 n 
+0000723582 00000 n 
+0000723761 00000 n 
+0000723952 00000 n 
+0000724661 00000 n 
+0000722027 00000 n 
+0000719529 00000 n 
+0000724126 00000 n 
+0000724185 00000 n 
+0000724244 00000 n 
+0000724303 00000 n 
+0000724421 00000 n 
+0000724539 00000 n 
+0000799835 00000 n 
+0000726751 00000 n 
+0000726908 00000 n 
+0000727065 00000 n 
+0000727833 00000 n 
+0000726589 00000 n 
+0000724841 00000 n 
+0000727239 00000 n 
+0000727298 00000 n 
+0000727421 00000 n 
+0000727539 00000 n 
+0000727656 00000 n 
+0000727774 00000 n 
+0000730306 00000 n 
+0000731202 00000 n 
+0000730162 00000 n 
+0000727959 00000 n 
+0000730480 00000 n 
+0000730598 00000 n 
+0000730716 00000 n 
+0000730834 00000 n 
+0000730957 00000 n 
+0000731080 00000 n 
+0000733443 00000 n 
+0000734447 00000 n 
+0000733299 00000 n 
+0000731328 00000 n 
+0000733617 00000 n 
+0000733676 00000 n 
+0000733799 00000 n 
+0000733858 00000 n 
+0000733976 00000 n 
+0000734094 00000 n 
+0000734212 00000 n 
+0000734330 00000 n 
+0000736537 00000 n 
+0000737187 00000 n 
+0000736393 00000 n 
+0000734586 00000 n 
+0000736711 00000 n 
+0000736770 00000 n 
+0000736888 00000 n 
+0000737005 00000 n 
+0000737128 00000 n 
+0002865700 00000 n 
+0000739545 00000 n 
+0000740087 00000 n 
+0000739401 00000 n 
+0000737326 00000 n 
+0000739719 00000 n 
+0000739842 00000 n 
+0000739965 00000 n 
+0000742036 00000 n 
+0000742217 00000 n 
+0000743039 00000 n 
+0000741883 00000 n 
+0000740226 00000 n 
+0000742391 00000 n 
+0000742450 00000 n 
+0000742568 00000 n 
+0000742686 00000 n 
+0000742804 00000 n 
+0000742922 00000 n 
+0000745011 00000 n 
+0000745657 00000 n 
+0000744867 00000 n 
+0000743178 00000 n 
+0000745185 00000 n 
+0000745244 00000 n 
+0000745362 00000 n 
+0000745480 00000 n 
+0000745598 00000 n 
+0000747397 00000 n 
+0000748043 00000 n 
+0000747253 00000 n 
+0000745796 00000 n 
+0000747571 00000 n 
+0000747689 00000 n 
+0000747807 00000 n 
+0000747925 00000 n 
+0000749863 00000 n 
+0000752798 00000 n 
+0000750026 00000 n 
+0000750728 00000 n 
+0000749710 00000 n 
+0000748182 00000 n 
+0000750200 00000 n 
+0000750259 00000 n 
+0000750377 00000 n 
+0000750494 00000 n 
+0000750612 00000 n 
+0000752963 00000 n 
+0000756642 00000 n 
+0000753149 00000 n 
+0000753970 00000 n 
+0000752636 00000 n 
+0000750867 00000 n 
+0000753323 00000 n 
+0000753382 00000 n 
+0000753500 00000 n 
+0000753618 00000 n 
+0000753735 00000 n 
+0000753853 00000 n 
+0002865826 00000 n 
+0000756821 00000 n 
+0000756998 00000 n 
+0000757177 00000 n 
+0000757353 00000 n 
+0000757998 00000 n 
+0000756462 00000 n 
+0000754109 00000 n 
+0000757527 00000 n 
+0000757586 00000 n 
+0000757704 00000 n 
+0000757822 00000 n 
+0000757939 00000 n 
+0000760290 00000 n 
+0000760467 00000 n 
+0000763900 00000 n 
+0000760644 00000 n 
+0000761170 00000 n 
+0000760128 00000 n 
+0000758174 00000 n 
+0000760818 00000 n 
+0000760935 00000 n 
+0000761052 00000 n 
+0000764077 00000 n 
+0000764264 00000 n 
+0000764450 00000 n 
+0000764977 00000 n 
+0000763729 00000 n 
+0000761346 00000 n 
+0000764624 00000 n 
+0000764683 00000 n 
+0000764801 00000 n 
+0000764919 00000 n 
+0000767425 00000 n 
+0000767594 00000 n 
+0000767760 00000 n 
+0000767928 00000 n 
+0000768094 00000 n 
+0000768260 00000 n 
+0000768965 00000 n 
+0000767236 00000 n 
+0000765153 00000 n 
+0000768434 00000 n 
+0000768552 00000 n 
+0000768670 00000 n 
+0000768788 00000 n 
+0000768906 00000 n 
+0000771738 00000 n 
+0000771906 00000 n 
+0000772072 00000 n 
+0000772253 00000 n 
+0000772778 00000 n 
+0000771567 00000 n 
+0000769117 00000 n 
+0000772427 00000 n 
+0000772545 00000 n 
+0000772661 00000 n 
+0000776053 00000 n 
+0000776239 00000 n 
+0000776425 00000 n 
+0000777133 00000 n 
+0000775891 00000 n 
+0000772994 00000 n 
+0000776599 00000 n 
+0000776658 00000 n 
+0000776775 00000 n 
+0000776898 00000 n 
+0000777016 00000 n 
+0002865952 00000 n 
+0000780163 00000 n 
+0000780354 00000 n 
+0000780544 00000 n 
+0000780758 00000 n 
+0000784683 00000 n 
+0000784868 00000 n 
+0000780928 00000 n 
+0000781464 00000 n 
+0000779983 00000 n 
+0000777334 00000 n 
+0000781102 00000 n 
+0000781161 00000 n 
+0000781284 00000 n 
+0000781405 00000 n 
+0000785054 00000 n 
+0000785223 00000 n 
+0000785935 00000 n 
+0000784512 00000 n 
+0000781615 00000 n 
+0000785397 00000 n 
+0000785520 00000 n 
+0000785638 00000 n 
+0000785755 00000 n 
+0000785876 00000 n 
+0000788854 00000 n 
+0000789751 00000 n 
+0000788710 00000 n 
+0000786086 00000 n 
+0000789028 00000 n 
+0000789087 00000 n 
+0000789205 00000 n 
+0000789328 00000 n 
+0000789451 00000 n 
+0000789569 00000 n 
+0000789692 00000 n 
+0000792011 00000 n 
+0000792613 00000 n 
+0000791867 00000 n 
+0000789890 00000 n 
+0000792185 00000 n 
+0000792308 00000 n 
+0000792431 00000 n 
+0000792554 00000 n 
+0000795088 00000 n 
+0000795275 00000 n 
+0000795498 00000 n 
+0000795702 00000 n 
+0000795906 00000 n 
+0000796129 00000 n 
+0000796325 00000 n 
+0000796548 00000 n 
+0000796744 00000 n 
+0000796937 00000 n 
+0000797160 00000 n 
+0000797355 00000 n 
+0000797578 00000 n 
+0000797773 00000 n 
+0000797966 00000 n 
+0000798185 00000 n 
+0000798377 00000 n 
+0000798599 00000 n 
+0000798794 00000 n 
+0000798985 00000 n 
+0000799207 00000 n 
+0000799399 00000 n 
+0000799602 00000 n 
+0000800132 00000 n 
+0000794746 00000 n 
+0000792752 00000 n 
+0000799776 00000 n 
+0000799898 00000 n 
+0000800073 00000 n 
+0000811668 00000 n 
+0000811786 00000 n 
+0000811909 00000 n 
+0000812027 00000 n 
+0000814020 00000 n 
+0000814137 00000 n 
+0000814255 00000 n 
+0000814372 00000 n 
+0000802627 00000 n 
+0000802850 00000 n 
+0000803031 00000 n 
+0000803217 00000 n 
+0000803421 00000 n 
+0000803644 00000 n 
+0000803831 00000 n 
+0000804035 00000 n 
+0000804258 00000 n 
+0000804452 00000 n 
+0000804655 00000 n 
+0000804878 00000 n 
+0000805060 00000 n 
+0000805264 00000 n 
+0000805487 00000 n 
+0000805677 00000 n 
+0000805880 00000 n 
+0000806070 00000 n 
+0000806294 00000 n 
+0000806484 00000 n 
+0000806674 00000 n 
+0000806898 00000 n 
+0000807090 00000 n 
+0000807313 00000 n 
+0000807536 00000 n 
+0000807726 00000 n 
+0000807950 00000 n 
+0000808141 00000 n 
+0000811183 00000 n 
+0000808332 00000 n 
+0000808860 00000 n 
+0000802231 00000 n 
+0000800284 00000 n 
+0000808506 00000 n 
+0000808565 00000 n 
+0000808624 00000 n 
+0000808683 00000 n 
+0000808742 00000 n 
+0000808801 00000 n 
+0002866078 00000 n 
+0000816687 00000 n 
+0000816804 00000 n 
+0000816921 00000 n 
+0000817039 00000 n 
+0000820172 00000 n 
+0000820346 00000 n 
+0000811376 00000 n 
+0000812085 00000 n 
+0000811030 00000 n 
+0000809052 00000 n 
+0000811550 00000 n 
+0000811609 00000 n 
+0000811727 00000 n 
+0000811850 00000 n 
+0000811968 00000 n 
+0000813728 00000 n 
+0000814430 00000 n 
+0000813584 00000 n 
+0000812198 00000 n 
+0000813902 00000 n 
+0000813961 00000 n 
+0000814078 00000 n 
+0000814196 00000 n 
+0000814314 00000 n 
+0000816395 00000 n 
+0000817097 00000 n 
+0000816251 00000 n 
+0000814543 00000 n 
+0000816569 00000 n 
+0000816628 00000 n 
+0000816746 00000 n 
+0000816862 00000 n 
+0000816980 00000 n 
+0000819227 00000 n 
+0000819453 00000 n 
+0000819655 00000 n 
+0000822406 00000 n 
+0000822632 00000 n 
+0000822858 00000 n 
+0000819880 00000 n 
 0000820697 00000 n 
-0000821157 00000 n 
-0000821277 00000 n 
-0000821397 00000 n 
-0000821517 00000 n 
-0000820859 00000 n 
-0000825391 00000 n 
-0000824204 00000 n 
-0000821703 00000 n 
-0000824529 00000 n 
-0000824649 00000 n 
-0000824775 00000 n 
-0000824900 00000 n 
-0000825026 00000 n 
+0000819056 00000 n 
+0000817223 00000 n 
+0000820054 00000 n 
+0000820113 00000 n 
+0000820229 00000 n 
+0000820287 00000 n 
+0000820404 00000 n 
+0000820579 00000 n 
+0000820638 00000 n 
+0000901552 00000 n 
+0000823051 00000 n 
+0000823276 00000 n 
+0000823468 00000 n 
+0000823671 00000 n 
+0000823863 00000 n 
+0000824089 00000 n 
+0000824293 00000 n 
+0000824519 00000 n 
+0000824723 00000 n 
+0000824949 00000 n 
 0000825152 00000 n 
-0000825211 00000 n 
-0000825331 00000 n 
-0000824351 00000 n 
-0000828344 00000 n 
-0000827300 00000 n 
-0000825530 00000 n 
-0000827625 00000 n 
-0000827745 00000 n 
-0000827864 00000 n 
-0000827984 00000 n 
-0000828104 00000 n 
-0000828224 00000 n 
-0000827447 00000 n 
-0000831752 00000 n 
-0000831056 00000 n 
-0000828483 00000 n 
-0000831381 00000 n 
-0000831441 00000 n 
-0000831566 00000 n 
-0000831692 00000 n 
-0000831203 00000 n 
-0003264752 00000 n 
-0000835204 00000 n 
-0000834388 00000 n 
-0000831891 00000 n 
-0000834713 00000 n 
-0000834839 00000 n 
-0000834965 00000 n 
-0000835085 00000 n 
-0000834535 00000 n 
-0000838553 00000 n 
-0000837497 00000 n 
-0000835343 00000 n 
-0000838015 00000 n 
-0000838075 00000 n 
-0000838194 00000 n 
-0000837653 00000 n 
-0000838314 00000 n 
-0000838434 00000 n 
-0000837837 00000 n 
-0000841589 00000 n 
-0000840786 00000 n 
-0000838692 00000 n 
-0000841111 00000 n 
-0000841171 00000 n 
-0000841290 00000 n 
-0000841410 00000 n 
-0000841529 00000 n 
-0000840933 00000 n 
-0000844437 00000 n 
-0000843513 00000 n 
-0000841728 00000 n 
-0000843838 00000 n 
-0000843958 00000 n 
-0000844078 00000 n 
-0000844198 00000 n 
-0000844318 00000 n 
-0000843660 00000 n 
-0000848170 00000 n 
-0000846752 00000 n 
-0000844576 00000 n 
-0000847631 00000 n 
-0000847691 00000 n 
-0000847810 00000 n 
-0000846926 00000 n 
-0000847930 00000 n 
-0000847095 00000 n 
-0000847263 00000 n 
-0000848050 00000 n 
-0000847453 00000 n 
-0000852129 00000 n 
-0000850822 00000 n 
-0000848309 00000 n 
-0000851530 00000 n 
-0000851590 00000 n 
-0000851709 00000 n 
-0000851829 00000 n 
-0000851949 00000 n 
-0000850987 00000 n 
-0000852069 00000 n 
-0000851169 00000 n 
-0000851352 00000 n 
-0003264878 00000 n 
-0000856392 00000 n 
-0000855075 00000 n 
-0000852268 00000 n 
-0000855972 00000 n 
-0000856092 00000 n 
-0000855249 00000 n 
-0000856212 00000 n 
-0000855432 00000 n 
-0000856332 00000 n 
-0000855613 00000 n 
-0000855794 00000 n 
-0000860724 00000 n 
-0000859401 00000 n 
-0000856568 00000 n 
-0000860304 00000 n 
-0000860424 00000 n 
-0000859575 00000 n 
-0000860544 00000 n 
-0000859754 00000 n 
-0000860664 00000 n 
-0000859935 00000 n 
-0000860126 00000 n 
-0000864967 00000 n 
-0000863663 00000 n 
-0000860900 00000 n 
-0000864548 00000 n 
-0000864668 00000 n 
-0000863837 00000 n 
-0000864788 00000 n 
-0000864027 00000 n 
-0000864907 00000 n 
-0000864200 00000 n 
-0000864370 00000 n 
-0000869806 00000 n 
-0000867966 00000 n 
-0000865156 00000 n 
-0000869387 00000 n 
-0000868167 00000 n 
-0000869507 00000 n 
-0000868339 00000 n 
-0000869627 00000 n 
-0000868510 00000 n 
-0000868681 00000 n 
-0000869746 00000 n 
-0000868854 00000 n 
-0000869025 00000 n 
-0000869209 00000 n 
-0000874139 00000 n 
-0000873329 00000 n 
-0000869958 00000 n 
-0000873654 00000 n 
-0000873774 00000 n 
-0000873894 00000 n 
-0000874014 00000 n 
-0000873476 00000 n 
-0000878598 00000 n 
-0000877047 00000 n 
-0000874368 00000 n 
-0000878175 00000 n 
-0000878235 00000 n 
-0000877230 00000 n 
-0000877420 00000 n 
-0000878354 00000 n 
-0000878473 00000 n 
-0000877609 00000 n 
-0000877804 00000 n 
-0000877997 00000 n 
-0003265004 00000 n 
-0000883754 00000 n 
-0000881889 00000 n 
-0000878749 00000 n 
-0000883205 00000 n 
-0000883265 00000 n 
-0000882081 00000 n 
-0000882299 00000 n 
-0000883390 00000 n 
-0000882474 00000 n 
-0000882664 00000 n 
-0000882853 00000 n 
-0000883516 00000 n 
-0000883635 00000 n 
-0000883027 00000 n 
-0000888177 00000 n 
-0000887056 00000 n 
-0000883905 00000 n 
-0000887381 00000 n 
-0000887441 00000 n 
-0000887566 00000 n 
-0000887626 00000 n 
-0000887746 00000 n 
-0000887871 00000 n 
-0000887997 00000 n 
-0000888117 00000 n 
-0000887203 00000 n 
-0000891191 00000 n 
-0000890362 00000 n 
-0000888328 00000 n 
-0000890687 00000 n 
-0000890813 00000 n 
-0000890939 00000 n 
-0000891065 00000 n 
-0000890509 00000 n 
-0000896683 00000 n 
-0000893971 00000 n 
-0000891317 00000 n 
-0000896261 00000 n 
-0000896321 00000 n 
-0000896446 00000 n 
-0000894199 00000 n 
-0000896623 00000 n 
-0000894391 00000 n 
-0000894619 00000 n 
-0000894827 00000 n 
-0000895034 00000 n 
-0000895260 00000 n 
-0000895458 00000 n 
-0000895686 00000 n 
-0000895886 00000 n 
-0000896083 00000 n 
-0000913216 00000 n 
-0000913336 00000 n 
-0000913460 00000 n 
-0000908938 00000 n 
-0000900094 00000 n 
-0000896835 00000 n 
-0000908699 00000 n 
-0000900583 00000 n 
-0000900811 00000 n 
-0000901010 00000 n 
-0000901238 00000 n 
-0000901437 00000 n 
-0000901634 00000 n 
-0000901862 00000 n 
-0000902062 00000 n 
-0000902290 00000 n 
-0000902490 00000 n 
-0000902687 00000 n 
-0000902915 00000 n 
-0000903112 00000 n 
-0000903319 00000 n 
-0000903546 00000 n 
-0000903730 00000 n 
-0000903919 00000 n 
-0000904126 00000 n 
-0000904354 00000 n 
-0000904545 00000 n 
-0000904753 00000 n 
-0000904981 00000 n 
-0000905179 00000 n 
-0000905387 00000 n 
-0000905615 00000 n 
-0000905801 00000 n 
-0000906009 00000 n 
-0000906236 00000 n 
-0000906430 00000 n 
-0000908759 00000 n 
-0000906637 00000 n 
-0000906832 00000 n 
-0000907060 00000 n 
-0000908818 00000 n 
-0000907253 00000 n 
-0000907448 00000 n 
-0000907676 00000 n 
-0000908878 00000 n 
-0000907871 00000 n 
-0000908098 00000 n 
-0000908326 00000 n 
-0000908521 00000 n 
-0000915829 00000 n 
-0000915949 00000 n 
-0000916069 00000 n 
-0000918747 00000 n 
-0000918867 00000 n 
-0000918987 00000 n 
-0000919107 00000 n 
-0000921656 00000 n 
-0000921776 00000 n 
-0000921895 00000 n 
-0000922075 00000 n 
-0000913519 00000 n 
-0000911802 00000 n 
-0000909105 00000 n 
-0000912976 00000 n 
-0000913036 00000 n 
-0000911985 00000 n 
-0000912213 00000 n 
-0000913096 00000 n 
-0000912407 00000 n 
-0000912602 00000 n 
-0000913156 00000 n 
-0000913276 00000 n 
-0000913401 00000 n 
-0000912798 00000 n 
-0003265130 00000 n 
-0000916129 00000 n 
-0000915385 00000 n 
-0000913671 00000 n 
-0000915710 00000 n 
-0000915770 00000 n 
-0000915889 00000 n 
-0000916009 00000 n 
-0000915532 00000 n 
-0000919166 00000 n 
-0000918303 00000 n 
-0000916242 00000 n 
-0000918628 00000 n 
-0000918688 00000 n 
-0000918807 00000 n 
-0000918927 00000 n 
-0000919047 00000 n 
-0000918450 00000 n 
-0000922195 00000 n 
-0000921212 00000 n 
-0000919292 00000 n 
-0000921537 00000 n 
-0000921597 00000 n 
-0000921716 00000 n 
-0000921835 00000 n 
-0000921955 00000 n 
-0000922015 00000 n 
-0000922135 00000 n 
-0000921359 00000 n 
-0000931248 00000 n 
-0000925113 00000 n 
-0000922334 00000 n 
-0000930409 00000 n 
-0000930588 00000 n 
-0000930648 00000 n 
-0000925458 00000 n 
-0000925687 00000 n 
-0000925895 00000 n 
-0000930708 00000 n 
-0000926125 00000 n 
-0000930768 00000 n 
-0000926355 00000 n 
-0000926585 00000 n 
-0000930828 00000 n 
-0000926782 00000 n 
-0000927012 00000 n 
-0000927209 00000 n 
-0000927417 00000 n 
-0000930888 00000 n 
-0000927614 00000 n 
-0000927843 00000 n 
-0000930948 00000 n 
-0000928050 00000 n 
-0000928280 00000 n 
-0000931008 00000 n 
-0000928487 00000 n 
-0000928717 00000 n 
-0000931068 00000 n 
-0000928923 00000 n 
-0000929153 00000 n 
-0000931128 00000 n 
-0000929361 00000 n 
-0000929590 00000 n 
-0000931188 00000 n 
-0000929797 00000 n 
-0000930025 00000 n 
-0000930231 00000 n 
-0001017957 00000 n 
-0000942201 00000 n 
-0000934235 00000 n 
-0000931443 00000 n 
-0000941182 00000 n 
-0000941242 00000 n 
-0000934643 00000 n 
-0000934873 00000 n 
-0000941302 00000 n 
-0000935081 00000 n 
-0000935311 00000 n 
-0000941362 00000 n 
-0000935519 00000 n 
-0000935749 00000 n 
-0000941422 00000 n 
-0000935957 00000 n 
-0000936187 00000 n 
-0000941482 00000 n 
-0000936395 00000 n 
-0000936625 00000 n 
-0000941542 00000 n 
-0000936833 00000 n 
-0000937063 00000 n 
-0000941602 00000 n 
-0000937270 00000 n 
-0000937500 00000 n 
-0000941662 00000 n 
-0000937708 00000 n 
-0000937938 00000 n 
-0000941722 00000 n 
-0000938146 00000 n 
-0000938376 00000 n 
-0000941782 00000 n 
-0000938584 00000 n 
-0000938814 00000 n 
-0000941842 00000 n 
-0000939022 00000 n 
-0000939252 00000 n 
-0000941901 00000 n 
-0000939460 00000 n 
-0000939690 00000 n 
-0000939887 00000 n 
-0000941961 00000 n 
-0000940084 00000 n 
-0000942021 00000 n 
-0000940314 00000 n 
-0000942081 00000 n 
-0000940544 00000 n 
-0000942141 00000 n 
-0000940774 00000 n 
-0000941004 00000 n 
-0000949916 00000 n 
-0000944751 00000 n 
-0000942353 00000 n 
-0000948898 00000 n 
-0000948958 00000 n 
-0000945042 00000 n 
-0000949017 00000 n 
-0000945272 00000 n 
-0000949077 00000 n 
-0000945502 00000 n 
-0000949137 00000 n 
-0000945732 00000 n 
-0000949197 00000 n 
-0000945962 00000 n 
-0000949257 00000 n 
-0000946192 00000 n 
-0000949317 00000 n 
-0000946422 00000 n 
-0000949377 00000 n 
-0000946652 00000 n 
-0000949437 00000 n 
-0000946882 00000 n 
-0000949497 00000 n 
-0000947112 00000 n 
-0000949557 00000 n 
-0000947342 00000 n 
-0000949617 00000 n 
-0000947572 00000 n 
-0000949677 00000 n 
-0000947802 00000 n 
-0000949737 00000 n 
-0000948031 00000 n 
-0000949797 00000 n 
-0000948261 00000 n 
-0000949856 00000 n 
-0000948491 00000 n 
-0000948720 00000 n 
-0003265256 00000 n 
-0000962220 00000 n 
-0000952905 00000 n 
-0000950068 00000 n 
-0000961323 00000 n 
-0000961383 00000 n 
-0000953385 00000 n 
-0000953582 00000 n 
-0000953811 00000 n 
-0000961443 00000 n 
-0000954008 00000 n 
-0000954205 00000 n 
-0000961503 00000 n 
-0000954434 00000 n 
-0000954631 00000 n 
-0000954860 00000 n 
-0000961563 00000 n 
-0000955057 00000 n 
-0000955253 00000 n 
-0000961623 00000 n 
-0000955481 00000 n 
-0000955687 00000 n 
-0000955884 00000 n 
-0000961682 00000 n 
-0000956114 00000 n 
-0000956310 00000 n 
-0000956538 00000 n 
-0000961742 00000 n 
-0000956733 00000 n 
-0000956930 00000 n 
-0000961802 00000 n 
-0000957159 00000 n 
-0000957365 00000 n 
-0000957562 00000 n 
-0000961862 00000 n 
-0000957791 00000 n 
-0000957988 00000 n 
-0000958217 00000 n 
-0000961920 00000 n 
-0000958412 00000 n 
-0000958609 00000 n 
-0000961980 00000 n 
-0000958838 00000 n 
-0000959044 00000 n 
-0000959241 00000 n 
-0000962040 00000 n 
-0000959471 00000 n 
-0000959668 00000 n 
-0000959896 00000 n 
-0000962100 00000 n 
-0000960093 00000 n 
-0000960289 00000 n 
-0000962160 00000 n 
-0000960516 00000 n 
-0000960721 00000 n 
-0000960917 00000 n 
-0000961145 00000 n 
-0000974993 00000 n 
-0000965683 00000 n 
-0000962372 00000 n 
-0000974454 00000 n 
-0000974514 00000 n 
-0000966172 00000 n 
-0000966369 00000 n 
-0000966598 00000 n 
-0000974574 00000 n 
-0000966795 00000 n 
-0000966990 00000 n 
-0000974634 00000 n 
-0000967217 00000 n 
-0000967423 00000 n 
-0000967620 00000 n 
-0000974694 00000 n 
-0000967850 00000 n 
-0000968047 00000 n 
-0000974753 00000 n 
-0000968276 00000 n 
-0000968472 00000 n 
-0000974813 00000 n 
-0000968701 00000 n 
-0000968898 00000 n 
-0000974873 00000 n 
-0000969127 00000 n 
-0000969324 00000 n 
-0000974933 00000 n 
-0000969554 00000 n 
-0000969759 00000 n 
-0000969989 00000 n 
-0000970194 00000 n 
-0000970424 00000 n 
-0000970629 00000 n 
-0000970859 00000 n 
-0000971064 00000 n 
-0000971294 00000 n 
-0000971499 00000 n 
-0000971729 00000 n 
-0000971935 00000 n 
-0000972143 00000 n 
-0000972373 00000 n 
-0000972580 00000 n 
-0000972786 00000 n 
-0000972994 00000 n 
-0000973224 00000 n 
-0000973432 00000 n 
-0000973635 00000 n 
-0000973842 00000 n 
-0000974070 00000 n 
-0000974276 00000 n 
-0001018136 00000 n 
-0001018256 00000 n 
-0001018376 00000 n 
-0001021140 00000 n 
-0001021260 00000 n 
-0001021379 00000 n 
-0001021499 00000 n 
-0001021619 00000 n 
-0000986444 00000 n 
-0000978603 00000 n 
-0000975145 00000 n 
-0000986384 00000 n 
-0000979056 00000 n 
-0000979261 00000 n 
-0000979468 00000 n 
-0000979695 00000 n 
-0000979903 00000 n 
-0000980133 00000 n 
-0000980330 00000 n 
-0000980527 00000 n 
-0000980757 00000 n 
-0000980954 00000 n 
-0000981184 00000 n 
-0000981381 00000 n 
-0000981611 00000 n 
-0000981808 00000 n 
-0000982016 00000 n 
-0000982246 00000 n 
-0000982443 00000 n 
-0000982638 00000 n 
-0000982866 00000 n 
-0000983061 00000 n 
-0000983258 00000 n 
-0000983488 00000 n 
-0000983685 00000 n 
-0000983915 00000 n 
-0000984112 00000 n 
-0000984341 00000 n 
-0000984537 00000 n 
-0000984732 00000 n 
-0000984962 00000 n 
-0000985159 00000 n 
-0000985388 00000 n 
-0000985585 00000 n 
-0000985782 00000 n 
-0000986011 00000 n 
-0000986206 00000 n 
-0001021739 00000 n 
-0001040435 00000 n 
-0001040555 00000 n 
-0001021858 00000 n 
-0001021978 00000 n 
-0001022098 00000 n 
-0001022218 00000 n 
-0001022338 00000 n 
-0001022458 00000 n 
-0001024769 00000 n 
-0001024888 00000 n 
-0001025008 00000 n 
-0000999285 00000 n 
-0000990307 00000 n 
-0000986596 00000 n 
-0000999225 00000 n 
-0000990814 00000 n 
-0000991044 00000 n 
-0000991241 00000 n 
-0000991437 00000 n 
-0000991667 00000 n 
-0000991863 00000 n 
-0000992093 00000 n 
-0000992290 00000 n 
-0000992486 00000 n 
-0000992716 00000 n 
-0000992912 00000 n 
-0000993142 00000 n 
-0000993339 00000 n 
-0000993536 00000 n 
-0000993766 00000 n 
-0000993962 00000 n 
-0000994159 00000 n 
-0000994356 00000 n 
-0000994586 00000 n 
-0000994783 00000 n 
-0000994980 00000 n 
-0000995177 00000 n 
-0000995407 00000 n 
-0000995604 00000 n 
-0000995801 00000 n 
-0000995998 00000 n 
-0000996228 00000 n 
-0000996425 00000 n 
-0000996621 00000 n 
-0000996818 00000 n 
-0000997014 00000 n 
-0000997211 00000 n 
-0000997408 00000 n 
-0000997638 00000 n 
-0000997835 00000 n 
-0000998032 00000 n 
+0000825378 00000 n 
+0000825582 00000 n 
+0000825807 00000 n 
+0000826010 00000 n 
+0000826236 00000 n 
+0000826440 00000 n 
+0000826666 00000 n 
+0000826870 00000 n 
+0000827095 00000 n 
+0000827298 00000 n 
+0000827524 00000 n 
+0000827728 00000 n 
+0000827954 00000 n 
+0000828157 00000 n 
+0000828383 00000 n 
+0000828586 00000 n 
+0000828812 00000 n 
+0000829016 00000 n 
+0000829241 00000 n 
+0000829444 00000 n 
+0000829670 00000 n 
+0000829874 00000 n 
+0000830098 00000 n 
+0000833277 00000 n 
+0000833503 00000 n 
+0000833707 00000 n 
+0000833933 00000 n 
+0000830300 00000 n 
+0000831593 00000 n 
+0000821929 00000 n 
+0000820877 00000 n 
+0000830474 00000 n 
+0000830533 00000 n 
+0000830592 00000 n 
+0000830651 00000 n 
+0000830710 00000 n 
+0000830769 00000 n 
+0000830827 00000 n 
+0000830886 00000 n 
+0000830945 00000 n 
+0000831004 00000 n 
+0000831063 00000 n 
+0000831122 00000 n 
+0000831181 00000 n 
+0000831240 00000 n 
+0000831298 00000 n 
+0000831357 00000 n 
+0000831416 00000 n 
+0000831475 00000 n 
+0000831534 00000 n 
+0000834137 00000 n 
+0000834362 00000 n 
+0000834554 00000 n 
+0000834745 00000 n 
+0000834971 00000 n 
+0000835196 00000 n 
+0000835422 00000 n 
+0000835647 00000 n 
+0000835873 00000 n 
+0000836098 00000 n 
+0000836324 00000 n 
+0000836549 00000 n 
+0000836775 00000 n 
+0000837000 00000 n 
+0000837226 00000 n 
+0000837451 00000 n 
+0000840871 00000 n 
+0000841097 00000 n 
+0000837677 00000 n 
+0000838850 00000 n 
+0000832953 00000 n 
+0000831732 00000 n 
+0000837851 00000 n 
+0000837910 00000 n 
+0000837969 00000 n 
+0000838028 00000 n 
+0000838087 00000 n 
+0000838146 00000 n 
+0000838204 00000 n 
+0000838263 00000 n 
+0000838321 00000 n 
+0000838380 00000 n 
+0000838438 00000 n 
+0000838497 00000 n 
+0000838555 00000 n 
+0000838614 00000 n 
+0000838673 00000 n 
+0000838732 00000 n 
+0000838791 00000 n 
+0002866204 00000 n 
+0000841323 00000 n 
+0000841548 00000 n 
+0000841774 00000 n 
+0000841999 00000 n 
+0000842225 00000 n 
+0000842451 00000 n 
+0000842644 00000 n 
+0000842870 00000 n 
+0000843063 00000 n 
+0000843256 00000 n 
+0000843482 00000 n 
+0000843674 00000 n 
+0000843898 00000 n 
+0000844090 00000 n 
+0000844283 00000 n 
+0000844508 00000 n 
+0000844710 00000 n 
+0000844903 00000 n 
+0000845127 00000 n 
+0000845319 00000 n 
+0000845543 00000 n 
+0000845735 00000 n 
+0000845926 00000 n 
+0000849121 00000 n 
+0000849323 00000 n 
+0000849516 00000 n 
+0000846149 00000 n 
+0000847208 00000 n 
+0000840502 00000 n 
+0000839002 00000 n 
+0000846323 00000 n 
+0000846382 00000 n 
+0000846441 00000 n 
+0000846500 00000 n 
+0000846559 00000 n 
+0000846618 00000 n 
+0000846677 00000 n 
+0000846736 00000 n 
+0000846795 00000 n 
+0000846854 00000 n 
+0000846913 00000 n 
+0000846972 00000 n 
+0000847031 00000 n 
+0000847090 00000 n 
+0000847149 00000 n 
+0000849741 00000 n 
+0000849934 00000 n 
+0000850160 00000 n 
+0000850352 00000 n 
+0000850545 00000 n 
+0000850771 00000 n 
+0000850973 00000 n 
+0000851166 00000 n 
+0000851392 00000 n 
+0000851585 00000 n 
+0000851811 00000 n 
+0000852004 00000 n 
+0000852197 00000 n 
+0000852423 00000 n 
+0000852625 00000 n 
+0000852818 00000 n 
+0000853043 00000 n 
+0000853236 00000 n 
+0000853461 00000 n 
+0000853654 00000 n 
+0000853847 00000 n 
+0000854072 00000 n 
+0000854274 00000 n 
+0000854467 00000 n 
+0000854690 00000 n 
+0000854883 00000 n 
+0000855108 00000 n 
+0000855300 00000 n 
+0000855525 00000 n 
+0000855718 00000 n 
+0000855944 00000 n 
+0000856137 00000 n 
+0000856363 00000 n 
+0000857421 00000 n 
+0000848662 00000 n 
+0000847360 00000 n 
+0000856537 00000 n 
+0000856596 00000 n 
+0000856655 00000 n 
+0000856714 00000 n 
+0000856773 00000 n 
+0000856831 00000 n 
+0000856890 00000 n 
+0000856949 00000 n 
+0000857008 00000 n 
+0000857067 00000 n 
+0000857126 00000 n 
+0000857185 00000 n 
+0000857244 00000 n 
+0000857303 00000 n 
+0000857362 00000 n 
+0000859907 00000 n 
+0000860109 00000 n 
+0000860335 00000 n 
+0000860537 00000 n 
+0000860763 00000 n 
+0000860963 00000 n 
+0000861187 00000 n 
+0000861389 00000 n 
+0000861615 00000 n 
+0000861817 00000 n 
+0000862042 00000 n 
+0000862243 00000 n 
+0000862445 00000 n 
+0000862670 00000 n 
+0000862874 00000 n 
+0000863076 00000 n 
+0000863279 00000 n 
+0000863504 00000 n 
+0000863707 00000 n 
+0000863908 00000 n 
+0000864112 00000 n 
+0000864337 00000 n 
+0000864540 00000 n 
+0000864741 00000 n 
+0000864945 00000 n 
+0000865170 00000 n 
+0000865372 00000 n 
+0000865598 00000 n 
+0000865791 00000 n 
+0000865984 00000 n 
+0000866210 00000 n 
+0000866403 00000 n 
+0000866628 00000 n 
+0000866821 00000 n 
+0000867047 00000 n 
+0000867240 00000 n 
+0000867444 00000 n 
+0000867668 00000 n 
+0000867861 00000 n 
+0000868054 00000 n 
+0000868280 00000 n 
+0000870981 00000 n 
+0000871174 00000 n 
+0000871400 00000 n 
+0000868473 00000 n 
+0000868765 00000 n 
+0000859394 00000 n 
+0000857573 00000 n 
+0000868647 00000 n 
+0000868706 00000 n 
+0000901729 00000 n 
+0000901847 00000 n 
+0000901964 00000 n 
+0000902082 00000 n 
+0000902200 00000 n 
+0000902318 00000 n 
+0000902436 00000 n 
+0000902554 00000 n 
+0000902672 00000 n 
+0000924991 00000 n 
+0000925109 00000 n 
+0000902790 00000 n 
+0000904983 00000 n 
+0000905101 00000 n 
+0000871593 00000 n 
+0000871817 00000 n 
+0000872010 00000 n 
+0000872236 00000 n 
+0000872429 00000 n 
+0000872622 00000 n 
+0000872846 00000 n 
+0000873039 00000 n 
+0000873265 00000 n 
+0000873458 00000 n 
+0000873651 00000 n 
+0000873875 00000 n 
+0000874068 00000 n 
+0000874291 00000 n 
+0000874482 00000 n 
+0000874673 00000 n 
+0000874897 00000 n 
+0000875090 00000 n 
+0000875314 00000 n 
+0000875505 00000 n 
+0000875696 00000 n 
+0000875919 00000 n 
+0000876112 00000 n 
+0000876338 00000 n 
+0000876530 00000 n 
+0000876722 00000 n 
+0000876948 00000 n 
+0000877141 00000 n 
+0000877334 00000 n 
+0000880747 00000 n 
+0000880973 00000 n 
+0000881165 00000 n 
+0000881358 00000 n 
+0000877527 00000 n 
+0000877760 00000 n 
+0000870549 00000 n 
+0000868917 00000 n 
+0000877701 00000 n 
+0000905219 00000 n 
+0000905336 00000 n 
+0000905454 00000 n 
+0000905572 00000 n 
+0000905690 00000 n 
+0000905808 00000 n 
+0000905925 00000 n 
+0000906043 00000 n 
+0000908335 00000 n 
+0000908453 00000 n 
+0000908571 00000 n 
+0000908688 00000 n 
+0000881551 00000 n 
+0000881777 00000 n 
+0000881970 00000 n 
+0000882163 00000 n 
+0000882356 00000 n 
+0000882582 00000 n 
+0000882775 00000 n 
+0000882968 00000 n 
+0000883161 00000 n 
+0000883354 00000 n 
+0000883740 00000 n 
+0000883966 00000 n 
+0000884159 00000 n 
+0000884352 00000 n 
+0000884545 00000 n 
+0000884770 00000 n 
+0000884963 00000 n 
+0000885154 00000 n 
+0000885347 00000 n 
+0000885573 00000 n 
+0000885766 00000 n 
+0000885959 00000 n 
+0000886161 00000 n 
+0000886363 00000 n 
+0000886552 00000 n 
+0000886742 00000 n 
+0000886967 00000 n 
+0000887169 00000 n 
+0000887371 00000 n 
+0000887560 00000 n 
+0000887749 00000 n 
+0000887975 00000 n 
+0000888175 00000 n 
+0000888375 00000 n 
+0000888563 00000 n 
+0000888752 00000 n 
+0000888976 00000 n 
+0000889178 00000 n 
+0000889380 00000 n 
+0000889567 00000 n 
+0000889755 00000 n 
+0000889979 00000 n 
+0000890212 00000 n 
+0000880189 00000 n 
+0000877913 00000 n 
+0000890153 00000 n 
+0000883547 00000 n 
+0000908806 00000 n 
+0000908924 00000 n 
+0000909042 00000 n 
+0000909160 00000 n 
+0000909278 00000 n 
+0000911718 00000 n 
+0000911841 00000 n 
+0000911959 00000 n 
+0000912077 00000 n 
+0000912195 00000 n 
+0000893075 00000 n 
+0000893277 00000 n 
+0000893479 00000 n 
+0000893667 00000 n 
+0000893856 00000 n 
+0000894080 00000 n 
+0000894282 00000 n 
+0000894484 00000 n 
+0000894673 00000 n 
+0000894863 00000 n 
+0000895089 00000 n 
+0000895290 00000 n 
+0000895515 00000 n 
+0000895717 00000 n 
+0000895918 00000 n 
+0000896143 00000 n 
+0000896344 00000 n 
+0000896548 00000 n 
+0000896774 00000 n 
+0000896977 00000 n 
+0000897203 00000 n 
+0000897396 00000 n 
+0000897598 00000 n 
+0000897801 00000 n 
+0000898027 00000 n 
+0000898231 00000 n 
+0000898457 00000 n 
+0000898650 00000 n 
+0000899000 00000 n 
+0000892688 00000 n 
+0000890378 00000 n 
+0000898824 00000 n 
+0000898883 00000 n 
+0000898941 00000 n 
+0002866330 00000 n 
+0000912313 00000 n 
+0000912431 00000 n 
+0000912549 00000 n 
+0000912667 00000 n 
+0000916329 00000 n 
+0000916447 00000 n 
+0000916565 00000 n 
+0000919698 00000 n 
+0000901260 00000 n 
+0000902849 00000 n 
+0000901116 00000 n 
+0000899180 00000 n 
+0000901434 00000 n 
+0000901493 00000 n 
+0000901611 00000 n 
+0000901670 00000 n 
+0000901788 00000 n 
+0000901905 00000 n 
+0000902023 00000 n 
+0000902141 00000 n 
+0000902259 00000 n 
+0000902377 00000 n 
+0000902495 00000 n 
+0000902613 00000 n 
+0000902731 00000 n 
+0000904691 00000 n 
+0000906102 00000 n 
+0000904547 00000 n 
+0000902988 00000 n 
+0000904865 00000 n 
+0000904924 00000 n 
+0000905042 00000 n 
+0000905160 00000 n 
+0000905278 00000 n 
+0000905395 00000 n 
+0000905513 00000 n 
+0000905631 00000 n 
+0000905749 00000 n 
+0000905866 00000 n 
+0000905984 00000 n 
+0000908043 00000 n 
+0000909336 00000 n 
+0000907899 00000 n 
+0000906228 00000 n 
+0000908217 00000 n 
+0000908276 00000 n 
+0000908394 00000 n 
+0000908512 00000 n 
+0000908630 00000 n 
+0000908747 00000 n 
+0000908865 00000 n 
+0000908983 00000 n 
+0000909101 00000 n 
+0000909219 00000 n 
+0000911426 00000 n 
+0000912725 00000 n 
+0000911282 00000 n 
+0000909475 00000 n 
+0000911600 00000 n 
+0000911659 00000 n 
+0000911782 00000 n 
+0000911900 00000 n 
+0000912018 00000 n 
+0000912136 00000 n 
+0000912254 00000 n 
+0000912372 00000 n 
+0000912490 00000 n 
+0000912608 00000 n 
+0000916037 00000 n 
+0000916683 00000 n 
+0000915893 00000 n 
+0000912876 00000 n 
+0000916211 00000 n 
+0000916270 00000 n 
+0000916388 00000 n 
+0000916506 00000 n 
+0000916624 00000 n 
+0000919465 00000 n 
+0000919756 00000 n 
+0000919321 00000 n 
+0000916859 00000 n 
+0000919639 00000 n 
+0002866456 00000 n 
+0000921898 00000 n 
+0000922118 00000 n 
+0000922306 00000 n 
+0000922526 00000 n 
+0000922714 00000 n 
+0000922934 00000 n 
+0000923121 00000 n 
+0000923342 00000 n 
+0000923530 00000 n 
+0000923733 00000 n 
+0000923954 00000 n 
+0000924175 00000 n 
+0000924361 00000 n 
+0000927803 00000 n 
+0000924581 00000 n 
+0000925697 00000 n 
+0000921637 00000 n 
+0000919919 00000 n 
+0000924755 00000 n 
+0000924814 00000 n 
+0000924932 00000 n 
+0000925050 00000 n 
+0000925168 00000 n 
+0000925344 00000 n 
+0000925403 00000 n 
+0000925462 00000 n 
+0000925520 00000 n 
+0000925579 00000 n 
+0000925638 00000 n 
+0000951476 00000 n 
+0000954128 00000 n 
+0000928024 00000 n 
+0000928211 00000 n 
+0000928432 00000 n 
+0000928653 00000 n 
+0000928874 00000 n 
+0000929095 00000 n 
+0000929316 00000 n 
+0000929536 00000 n 
+0000929738 00000 n 
+0000929925 00000 n 
+0000930128 00000 n 
+0000930349 00000 n 
+0000930552 00000 n 
+0000930773 00000 n 
+0000930994 00000 n 
+0000931215 00000 n 
+0000931436 00000 n 
+0000931657 00000 n 
+0000931876 00000 n 
+0000932080 00000 n 
+0000932301 00000 n 
+0000932489 00000 n 
+0000935744 00000 n 
+0000932709 00000 n 
+0000933647 00000 n 
+0000927452 00000 n 
+0000925863 00000 n 
+0000932883 00000 n 
+0000932942 00000 n 
+0000933001 00000 n 
+0000933059 00000 n 
+0000933118 00000 n 
+0000933177 00000 n 
+0000933236 00000 n 
+0000933295 00000 n 
+0000933354 00000 n 
+0000933413 00000 n 
+0000933470 00000 n 
+0000933529 00000 n 
+0000933588 00000 n 
+0000954246 00000 n 
+0000954364 00000 n 
+0000954487 00000 n 
+0000954605 00000 n 
+0000954723 00000 n 
+0000935965 00000 n 
+0000936153 00000 n 
+0000936374 00000 n 
+0000936562 00000 n 
+0000936783 00000 n 
+0000936970 00000 n 
+0000937190 00000 n 
+0000937385 00000 n 
+0000937580 00000 n 
+0000937767 00000 n 
+0000937987 00000 n 
+0000938182 00000 n 
+0000938370 00000 n 
+0000938591 00000 n 
+0000938787 00000 n 
+0000939008 00000 n 
+0000939229 00000 n 
+0000939448 00000 n 
+0000939635 00000 n 
+0000939855 00000 n 
+0000940043 00000 n 
+0000940230 00000 n 
+0000940450 00000 n 
+0000940638 00000 n 
+0000940858 00000 n 
+0000941046 00000 n 
+0000941234 00000 n 
+0000941455 00000 n 
+0000941643 00000 n 
+0000941831 00000 n 
+0000942536 00000 n 
+0000935330 00000 n 
+0000933787 00000 n 
+0000942005 00000 n 
+0000942064 00000 n 
+0000942123 00000 n 
+0000942182 00000 n 
+0000942241 00000 n 
+0000942300 00000 n 
+0000942359 00000 n 
+0000942418 00000 n 
+0000942477 00000 n 
+0000954846 00000 n 
+0000957386 00000 n 
+0000957509 00000 n 
+0000957691 00000 n 
+0000957809 00000 n 
+0000957932 00000 n 
+0000958050 00000 n 
+0000945455 00000 n 
+0000945676 00000 n 
+0000945864 00000 n 
+0000946051 00000 n 
+0000946271 00000 n 
+0000946467 00000 n 
+0000946663 00000 n 
+0000946850 00000 n 
+0000947070 00000 n 
+0000947266 00000 n 
+0000947487 00000 n 
+0000947675 00000 n 
+0000947863 00000 n 
+0000948048 00000 n 
+0000948399 00000 n 
+0000945194 00000 n 
+0000942676 00000 n 
+0000948222 00000 n 
+0000948281 00000 n 
+0000948340 00000 n 
+0000958168 00000 n 
+0000958286 00000 n 
+0000958404 00000 n 
+0000963760 00000 n 
+0000951184 00000 n 
+0000951594 00000 n 
+0000951040 00000 n 
+0000948627 00000 n 
+0000951358 00000 n 
+0000951417 00000 n 
+0000951535 00000 n 
+0000953836 00000 n 
+0000954910 00000 n 
+0000953692 00000 n 
+0000951770 00000 n 
+0000954010 00000 n 
+0000954069 00000 n 
+0000954187 00000 n 
+0000954305 00000 n 
+0000954428 00000 n 
+0000954546 00000 n 
+0000954664 00000 n 
+0000954787 00000 n 
+0002866582 00000 n 
+0000957094 00000 n 
+0000958462 00000 n 
+0000956950 00000 n 
+0000955111 00000 n 
+0000957268 00000 n 
+0000957327 00000 n 
+0000957450 00000 n 
+0000957573 00000 n 
+0000957632 00000 n 
+0000957750 00000 n 
+0000957873 00000 n 
+0000957991 00000 n 
+0000958109 00000 n 
+0000958227 00000 n 
+0000958345 00000 n 
+0000960507 00000 n 
+0000960722 00000 n 
+0000960950 00000 n 
+0000961178 00000 n 
+0000961364 00000 n 
+0000961591 00000 n 
+0000961776 00000 n 
+0000962004 00000 n 
+0000962198 00000 n 
+0000962426 00000 n 
+0000962620 00000 n 
+0000962848 00000 n 
+0000963043 00000 n 
+0000963272 00000 n 
+0000966809 00000 n 
+0000967012 00000 n 
+0000963468 00000 n 
+0000964465 00000 n 
+0000960237 00000 n 
+0000958612 00000 n 
+0000963642 00000 n 
+0000963701 00000 n 
+0000963819 00000 n 
+0000963994 00000 n 
+0000964053 00000 n 
+0000964112 00000 n 
+0000964171 00000 n 
+0000964229 00000 n 
+0000964288 00000 n 
+0000964347 00000 n 
+0000964406 00000 n 
+0000988183 00000 n 
+0000967241 00000 n 
+0000967470 00000 n 
+0000967666 00000 n 
+0000967894 00000 n 
+0000968123 00000 n 
+0000968352 00000 n 
+0000968540 00000 n 
+0000968769 00000 n 
+0000968957 00000 n 
+0000969186 00000 n 
+0000969382 00000 n 
+0000969611 00000 n 
+0000969807 00000 n 
+0000970036 00000 n 
+0000970265 00000 n 
+0000970480 00000 n 
+0000970694 00000 n 
+0000970923 00000 n 
+0000971138 00000 n 
+0000971367 00000 n 
+0000971596 00000 n 
+0000971825 00000 n 
+0000972054 00000 n 
+0000972283 00000 n 
+0000975465 00000 n 
+0000975668 00000 n 
+0000972512 00000 n 
+0000973512 00000 n 
+0000966431 00000 n 
+0000964671 00000 n 
+0000972686 00000 n 
+0000972745 00000 n 
+0000972804 00000 n 
+0000972863 00000 n 
+0000972922 00000 n 
+0000972981 00000 n 
+0000973040 00000 n 
+0000973099 00000 n 
+0000973158 00000 n 
+0000973217 00000 n 
+0000973276 00000 n 
+0000973335 00000 n 
+0000973394 00000 n 
+0000973453 00000 n 
+0000988360 00000 n 
+0000988478 00000 n 
+0000988601 00000 n 
+0000975897 00000 n 
+0000976099 00000 n 
+0000976327 00000 n 
+0000976530 00000 n 
+0000976759 00000 n 
+0000976962 00000 n 
+0000977191 00000 n 
+0000977420 00000 n 
+0000977616 00000 n 
+0000977845 00000 n 
+0000978049 00000 n 
+0000978253 00000 n 
+0000978482 00000 n 
+0000978678 00000 n 
+0000978907 00000 n 
+0000979136 00000 n 
+0000979332 00000 n 
+0000979561 00000 n 
+0000979781 00000 n 
+0000980010 00000 n 
+0000980203 00000 n 
+0000980432 00000 n 
+0000983980 00000 n 
+0000984209 00000 n 
+0000984404 00000 n 
+0000980628 00000 n 
+0000981626 00000 n 
+0000975105 00000 n 
+0000973652 00000 n 
+0000980802 00000 n 
+0000980861 00000 n 
+0000980920 00000 n 
+0000980977 00000 n 
+0000981036 00000 n 
+0000981095 00000 n 
+0000981154 00000 n 
+0000981213 00000 n 
+0000981272 00000 n 
+0000981331 00000 n 
+0000981390 00000 n 
+0000981449 00000 n 
+0000981508 00000 n 
+0000981567 00000 n 
+0000988719 00000 n 
+0000993436 00000 n 
+0000984794 00000 n 
+0000984988 00000 n 
+0000985176 00000 n 
+0000985468 00000 n 
+0000983782 00000 n 
+0000981765 00000 n 
+0000985350 00000 n 
+0000984600 00000 n 
+0000985409 00000 n 
+0000993554 00000 n 
+0000987891 00000 n 
+0000988842 00000 n 
+0000987747 00000 n 
+0000985630 00000 n 
+0000988065 00000 n 
+0000988124 00000 n 
+0000988242 00000 n 
+0000988301 00000 n 
+0000988419 00000 n 
+0000988542 00000 n 
+0000988660 00000 n 
+0000988783 00000 n 
+0002866708 00000 n 
+0000990791 00000 n 
+0000991038 00000 n 
+0000991285 00000 n 
+0000991532 00000 n 
+0000991779 00000 n 
+0000991966 00000 n 
+0000992213 00000 n 
+0000992401 00000 n 
+0000992649 00000 n 
+0000992897 00000 n 
+0000996344 00000 n 
+0000993144 00000 n 
+0000994324 00000 n 
+0000990557 00000 n 
+0000989030 00000 n 
+0000993318 00000 n 
+0000993377 00000 n 
+0000993495 00000 n 
+0000993618 00000 n 
+0000993793 00000 n 
+0000993852 00000 n 
+0000993911 00000 n 
+0000993970 00000 n 
+0000994029 00000 n 
+0000994088 00000 n 
+0000994147 00000 n 
+0000994206 00000 n 
+0000994265 00000 n 
+0000996591 00000 n 
+0000996839 00000 n 
+0000997054 00000 n 
+0000997249 00000 n 
+0000997470 00000 n 
+0000997723 00000 n 
+0000997976 00000 n 
 0000998229 00000 n 
-0000998456 00000 n 
-0000998653 00000 n 
-0000998850 00000 n 
-0000999047 00000 n 
-0001025128 00000 n 
-0001025248 00000 n 
-0001025368 00000 n 
-0001025488 00000 n 
-0001025608 00000 n 
-0001025728 00000 n 
-0001025847 00000 n 
-0001028800 00000 n 
-0001028920 00000 n 
-0001029040 00000 n 
-0001029160 00000 n 
-0001011552 00000 n 
-0001002958 00000 n 
-0000999439 00000 n 
-0001011492 00000 n 
-0001003447 00000 n 
-0001003676 00000 n 
-0001003871 00000 n 
-0001004066 00000 n 
-0001004272 00000 n 
-0001004478 00000 n 
-0001004672 00000 n 
-0001004866 00000 n 
-0001005096 00000 n 
-0001005302 00000 n 
-0001005508 00000 n 
-0001005701 00000 n 
-0001005894 00000 n 
-0001006123 00000 n 
-0001006328 00000 n 
-0001006533 00000 n 
-0001006727 00000 n 
-0001006921 00000 n 
-0001007151 00000 n 
-0001007357 00000 n 
-0001007563 00000 n 
-0001007757 00000 n 
-0001007951 00000 n 
-0001008181 00000 n 
-0001008387 00000 n 
-0001008593 00000 n 
-0001008787 00000 n 
-0001008981 00000 n 
-0001009211 00000 n 
-0001009417 00000 n 
-0001009623 00000 n 
-0001009816 00000 n 
-0001010009 00000 n 
-0001010238 00000 n 
-0001010444 00000 n 
-0001010674 00000 n 
-0001010879 00000 n 
-0001011084 00000 n 
-0001011314 00000 n 
-0001029280 00000 n 
-0001029406 00000 n 
-0001029526 00000 n 
-0001029646 00000 n 
-0001029766 00000 n 
-0001032828 00000 n 
-0001032948 00000 n 
-0001033068 00000 n 
-0001033188 00000 n 
-0001018435 00000 n 
-0001014739 00000 n 
-0001011733 00000 n 
-0001017717 00000 n 
-0001014994 00000 n 
-0001015200 00000 n 
-0001015408 00000 n 
-0001015638 00000 n 
-0001015844 00000 n 
-0001016071 00000 n 
-0001016265 00000 n 
-0001016471 00000 n 
-0001016679 00000 n 
-0001016909 00000 n 
-0001017116 00000 n 
-0001017344 00000 n 
-0001017777 00000 n 
-0001017837 00000 n 
-0001017897 00000 n 
-0001018017 00000 n 
-0001018077 00000 n 
-0001018196 00000 n 
+0000998449 00000 n 
+0000998636 00000 n 
+0000998856 00000 n 
+0000999044 00000 n 
+0001002026 00000 n 
+0001002213 00000 n 
+0001002434 00000 n 
+0000999264 00000 n 
+0001000027 00000 n 
+0000996083 00000 n 
+0000994476 00000 n 
+0000999438 00000 n 
+0000999497 00000 n 
+0000999556 00000 n 
+0000999615 00000 n 
+0000999791 00000 n 
+0000999850 00000 n 
+0000999909 00000 n 
+0000999968 00000 n 
+0001039265 00000 n 
+0001039383 00000 n 
+0001039447 00000 n 
+0001039511 00000 n 
+0001042066 00000 n 
+0001002620 00000 n 
+0001002823 00000 n 
+0001003044 00000 n 
+0001003263 00000 n 
+0001003483 00000 n 
+0001003704 00000 n 
+0001003924 00000 n 
+0001004144 00000 n 
+0001004365 00000 n 
+0001004586 00000 n 
+0001004772 00000 n 
+0001004993 00000 n 
+0001005196 00000 n 
+0001005417 00000 n 
+0001005620 00000 n 
+0001005841 00000 n 
+0001006062 00000 n 
+0001006283 00000 n 
+0001006504 00000 n 
+0001006692 00000 n 
+0001006913 00000 n 
+0001007134 00000 n 
+0001010550 00000 n 
+0001010771 00000 n 
+0001007355 00000 n 
+0001008354 00000 n 
+0001001657 00000 n 
+0001000179 00000 n 
+0001007529 00000 n 
+0001007588 00000 n 
+0001007647 00000 n 
+0001007706 00000 n 
+0001007765 00000 n 
+0001007824 00000 n 
+0001007883 00000 n 
+0001007942 00000 n 
+0001008001 00000 n 
+0001008059 00000 n 
+0001008118 00000 n 
+0001008177 00000 n 
+0001008236 00000 n 
+0001008295 00000 n 
+0001042243 00000 n 
+0001042361 00000 n 
+0001042479 00000 n 
+0001042597 00000 n 
+0001010991 00000 n 
+0001011212 00000 n 
+0001011433 00000 n 
+0001011621 00000 n 
+0001011825 00000 n 
+0001012046 00000 n 
+0001012233 00000 n 
+0001012452 00000 n 
+0001012673 00000 n 
+0001012861 00000 n 
+0001013082 00000 n 
+0001013270 00000 n 
+0001013489 00000 n 
+0001013676 00000 n 
+0001013896 00000 n 
+0001014092 00000 n 
+0001014288 00000 n 
+0001014475 00000 n 
+0001014695 00000 n 
+0001014881 00000 n 
+0001015067 00000 n 
+0001015254 00000 n 
+0001015474 00000 n 
+0001015670 00000 n 
+0001015857 00000 n 
+0001016077 00000 n 
+0001016273 00000 n 
+0001016460 00000 n 
+0001016680 00000 n 
+0001016876 00000 n 
+0001017072 00000 n 
+0001017258 00000 n 
+0001017477 00000 n 
+0001017662 00000 n 
+0001020618 00000 n 
+0001020805 00000 n 
+0001021025 00000 n 
+0001017847 00000 n 
+0001018669 00000 n 
+0001010082 00000 n 
+0001008494 00000 n 
+0001018021 00000 n 
+0001018080 00000 n 
+0001018139 00000 n 
+0001018198 00000 n 
+0001018257 00000 n 
 0001018316 00000 n 
-0001017539 00000 n 
-0003265382 00000 n 
-0001033308 00000 n 
-0001033428 00000 n 
-0001033547 00000 n 
-0001040198 00000 n 
-0001022517 00000 n 
-0001020696 00000 n 
-0001018601 00000 n 
-0001021021 00000 n 
-0001021081 00000 n 
-0001021200 00000 n 
-0001021319 00000 n 
-0001021439 00000 n 
-0001021559 00000 n 
-0001021679 00000 n 
-0001021799 00000 n 
-0001021918 00000 n 
-0001022038 00000 n 
-0001022158 00000 n 
-0001022278 00000 n 
-0001022398 00000 n 
-0001020843 00000 n 
-0001025906 00000 n 
-0001024325 00000 n 
-0001022656 00000 n 
-0001024650 00000 n 
-0001024710 00000 n 
-0001024828 00000 n 
-0001024948 00000 n 
-0001025068 00000 n 
-0001025188 00000 n 
-0001025308 00000 n 
-0001025428 00000 n 
-0001025548 00000 n 
-0001025668 00000 n 
-0001025788 00000 n 
-0001024472 00000 n 
-0001029825 00000 n 
-0001028356 00000 n 
-0001026045 00000 n 
-0001028681 00000 n 
-0001028741 00000 n 
-0001028860 00000 n 
-0001028980 00000 n 
-0001029100 00000 n 
-0001029220 00000 n 
-0001029346 00000 n 
-0001029466 00000 n 
-0001029586 00000 n 
-0001029706 00000 n 
-0001028503 00000 n 
-0001033667 00000 n 
-0001032384 00000 n 
-0001029964 00000 n 
-0001032709 00000 n 
-0001032769 00000 n 
-0001032888 00000 n 
-0001033008 00000 n 
-0001033128 00000 n 
-0001033248 00000 n 
-0001033368 00000 n 
-0001033488 00000 n 
-0001033607 00000 n 
-0001032531 00000 n 
-0001037922 00000 n 
-0001037537 00000 n 
-0001033818 00000 n 
-0001037862 00000 n 
-0001037684 00000 n 
-0001040794 00000 n 
-0001039813 00000 n 
-0001038097 00000 n 
-0001040138 00000 n 
-0001040258 00000 n 
-0001040375 00000 n 
-0001040495 00000 n 
-0001040615 00000 n 
-0001039960 00000 n 
-0003265508 00000 n 
-0001050886 00000 n 
-0001043893 00000 n 
-0001040920 00000 n 
-0001050227 00000 n 
-0001050287 00000 n 
-0001050347 00000 n 
-0001044283 00000 n 
-0001044508 00000 n 
-0001044700 00000 n 
-0001044924 00000 n 
-0001050407 00000 n 
-0001045115 00000 n 
-0001050466 00000 n 
-0001045340 00000 n 
-0001045532 00000 n 
-0001045757 00000 n 
-0001050526 00000 n 
-0001045949 00000 n 
-0001046156 00000 n 
-0001046380 00000 n 
-0001046605 00000 n 
-0001050586 00000 n 
-0001046795 00000 n 
-0001050646 00000 n 
-0001047020 00000 n 
-0001047245 00000 n 
-0001047437 00000 n 
-0001047662 00000 n 
-0001047887 00000 n 
-0001048112 00000 n 
-0001048334 00000 n 
-0001050706 00000 n 
-0001048559 00000 n 
-0001048784 00000 n 
-0001048991 00000 n 
-0001050766 00000 n 
-0001049183 00000 n 
-0001049391 00000 n 
-0001050826 00000 n 
-0001049616 00000 n 
-0001049824 00000 n 
-0001050049 00000 n 
-0001077169 00000 n 
-0001077349 00000 n 
-0001077469 00000 n 
-0001077589 00000 n 
-0001077715 00000 n 
-0001080673 00000 n 
-0001080793 00000 n 
-0001060834 00000 n 
-0001054025 00000 n 
-0001051026 00000 n 
-0001059877 00000 n 
-0001059937 00000 n 
-0001054397 00000 n 
-0001059996 00000 n 
-0001054621 00000 n 
-0001060056 00000 n 
-0001054844 00000 n 
-0001060115 00000 n 
-0001055068 00000 n 
-0001060175 00000 n 
-0001055292 00000 n 
-0001060235 00000 n 
-0001060295 00000 n 
-0001055515 00000 n 
-0001055723 00000 n 
-0001055948 00000 n 
-0001060355 00000 n 
-0001056140 00000 n 
-0001060415 00000 n 
-0001056365 00000 n 
-0001060475 00000 n 
-0001056590 00000 n 
-0001056782 00000 n 
-0001060534 00000 n 
-0001057007 00000 n 
-0001057199 00000 n 
-0001060594 00000 n 
-0001057424 00000 n 
-0001057616 00000 n 
-0001057841 00000 n 
-0001058041 00000 n 
-0001060654 00000 n 
-0001058241 00000 n 
-0001058433 00000 n 
-0001058658 00000 n 
-0001060714 00000 n 
-0001058858 00000 n 
-0001059050 00000 n 
-0001059275 00000 n 
-0001060774 00000 n 
-0001059475 00000 n 
-0001059699 00000 n 
-0001080919 00000 n 
-0001070695 00000 n 
-0001064361 00000 n 
-0001060990 00000 n 
-0001070456 00000 n 
-0001064751 00000 n 
-0001064976 00000 n 
-0001070516 00000 n 
-0001065201 00000 n 
-0001065391 00000 n 
-0001065614 00000 n 
-0001065804 00000 n 
-0001065996 00000 n 
-0001066221 00000 n 
-0001066413 00000 n 
-0001066638 00000 n 
-0001066829 00000 n 
-0001067021 00000 n 
-0001067246 00000 n 
-0001067438 00000 n 
-0001070575 00000 n 
-0001067630 00000 n 
-0001067855 00000 n 
-0001068047 00000 n 
-0001068238 00000 n 
-0001068462 00000 n 
-0001068661 00000 n 
-0001068860 00000 n 
-0001069052 00000 n 
-0001069277 00000 n 
-0001069477 00000 n 
-0001069702 00000 n 
-0001069894 00000 n 
-0001070635 00000 n 
-0001070086 00000 n 
-0001070278 00000 n 
-0001081045 00000 n 
-0001081171 00000 n 
-0001081356 00000 n 
-0001081476 00000 n 
-0001081602 00000 n 
-0001085246 00000 n 
-0001085366 00000 n 
-0001085486 00000 n 
-0001085606 00000 n 
-0001085725 00000 n 
-0001073980 00000 n 
-0001073595 00000 n 
-0001070924 00000 n 
-0001073920 00000 n 
-0001073742 00000 n 
-0001077774 00000 n 
-0001076724 00000 n 
-0001074142 00000 n 
-0001077049 00000 n 
-0001077109 00000 n 
-0001077229 00000 n 
-0001077289 00000 n 
-0001077409 00000 n 
-0001077529 00000 n 
-0001077655 00000 n 
-0001076871 00000 n 
-0001081661 00000 n 
-0001080229 00000 n 
-0001077975 00000 n 
-0001080554 00000 n 
-0001080614 00000 n 
-0001080733 00000 n 
-0001080859 00000 n 
-0001080985 00000 n 
-0001081111 00000 n 
-0001081237 00000 n 
-0001081296 00000 n 
-0001081416 00000 n 
-0001081542 00000 n 
-0001080376 00000 n 
-0003265634 00000 n 
-0001086202 00000 n 
-0001083890 00000 n 
-0001081862 00000 n 
-0001085127 00000 n 
-0001085187 00000 n 
-0001085306 00000 n 
-0001085426 00000 n 
-0001085546 00000 n 
-0001085665 00000 n 
-0001085785 00000 n 
-0001085964 00000 n 
-0001084073 00000 n 
-0001086024 00000 n 
-0001086083 00000 n 
-0001084291 00000 n 
-0001086142 00000 n 
-0001084524 00000 n 
-0001084757 00000 n 
-0001084949 00000 n 
-0001097361 00000 n 
-0001089650 00000 n 
-0001086353 00000 n 
-0001096583 00000 n 
-0001090058 00000 n 
-0001090291 00000 n 
-0001096643 00000 n 
-0001090483 00000 n 
-0001090716 00000 n 
-0001096703 00000 n 
-0001090916 00000 n 
-0001091149 00000 n 
-0001096763 00000 n 
-0001091349 00000 n 
-0001096823 00000 n 
-0001091580 00000 n 
-0001091780 00000 n 
-0001092013 00000 n 
-0001096882 00000 n 
-0001092213 00000 n 
-0001092421 00000 n 
-0001096942 00000 n 
-0001092654 00000 n 
-0001092887 00000 n 
-0001097002 00000 n 
-0001093087 00000 n 
-0001097062 00000 n 
-0001093320 00000 n 
-0001093553 00000 n 
-0001093786 00000 n 
-0001093978 00000 n 
-0001094211 00000 n 
-0001094403 00000 n 
-0001094636 00000 n 
-0001097122 00000 n 
-0001094836 00000 n 
-0001095069 00000 n 
-0001097182 00000 n 
-0001095269 00000 n 
-0001097242 00000 n 
-0001095502 00000 n 
-0001095735 00000 n 
-0001095954 00000 n 
-0001097302 00000 n 
-0001096173 00000 n 
-0001096405 00000 n 
-0001116761 00000 n 
-0001116937 00000 n 
-0001117057 00000 n 
-0001117183 00000 n 
-0001108261 00000 n 
-0001100730 00000 n 
-0001097544 00000 n 
-0001107302 00000 n 
-0001101120 00000 n 
-0001107362 00000 n 
-0001101339 00000 n 
-0001107422 00000 n 
-0001101571 00000 n 
-0001107482 00000 n 
-0001101803 00000 n 
-0001107542 00000 n 
-0001102035 00000 n 
-0001107602 00000 n 
-0001102267 00000 n 
-0001102500 00000 n 
-0001107662 00000 n 
-0001102732 00000 n 
-0001102940 00000 n 
-0001107722 00000 n 
-0001103173 00000 n 
+0001018375 00000 n 
+0001018433 00000 n 
+0001018492 00000 n 
+0001018551 00000 n 
+0001018610 00000 n 
+0001044622 00000 n 
+0001044740 00000 n 
+0001044858 00000 n 
+0001044976 00000 n 
+0001045094 00000 n 
+0001045212 00000 n 
+0001021221 00000 n 
+0001021407 00000 n 
+0001021626 00000 n 
+0001021821 00000 n 
+0001022008 00000 n 
+0001022228 00000 n 
+0001022424 00000 n 
+0001022620 00000 n 
+0001022807 00000 n 
+0001023027 00000 n 
+0001023223 00000 n 
+0001023410 00000 n 
+0001023630 00000 n 
+0001023826 00000 n 
+0001024013 00000 n 
+0001024234 00000 n 
+0001024430 00000 n 
+0001024626 00000 n 
+0001024813 00000 n 
+0001025034 00000 n 
+0001025220 00000 n 
+0001025406 00000 n 
+0001025593 00000 n 
+0001025814 00000 n 
+0001026010 00000 n 
+0001026196 00000 n 
+0001026416 00000 n 
+0001026611 00000 n 
+0001026798 00000 n 
+0001027019 00000 n 
+0001027215 00000 n 
+0001027411 00000 n 
+0001027598 00000 n 
+0001027819 00000 n 
+0001028015 00000 n 
+0001028202 00000 n 
+0001028423 00000 n 
+0001028619 00000 n 
+0001028839 00000 n 
+0001029027 00000 n 
+0001029215 00000 n 
+0001029436 00000 n 
+0001029624 00000 n 
+0001029812 00000 n 
+0001029998 00000 n 
+0001030217 00000 n 
+0001030402 00000 n 
+0001033714 00000 n 
+0001033900 00000 n 
+0001034120 00000 n 
+0001034305 00000 n 
+0001030587 00000 n 
+0001030879 00000 n 
+0001020024 00000 n 
+0001018836 00000 n 
+0001030761 00000 n 
+0001030820 00000 n 
+0001045330 00000 n 
+0001045448 00000 n 
+0001045566 00000 n 
+0001045684 00000 n 
+0001045802 00000 n 
+0001047743 00000 n 
+0001047861 00000 n 
+0001047979 00000 n 
+0001048097 00000 n 
+0001048215 00000 n 
+0001048333 00000 n 
+0001048449 00000 n 
+0001048567 00000 n 
+0001048685 00000 n 
+0001048803 00000 n 
+0001034490 00000 n 
+0001034711 00000 n 
+0001034899 00000 n 
+0001035087 00000 n 
+0001035307 00000 n 
+0001035494 00000 n 
+0001035714 00000 n 
+0001035934 00000 n 
+0001036121 00000 n 
+0001036413 00000 n 
+0001033462 00000 n 
+0001031018 00000 n 
+0001036295 00000 n 
+0001036354 00000 n 
+0002866834 00000 n 
+0001048921 00000 n 
+0001053068 00000 n 
+0001053186 00000 n 
+0001053303 00000 n 
+0001038973 00000 n 
+0001039574 00000 n 
+0001038829 00000 n 
+0001036627 00000 n 
+0001039147 00000 n 
+0001039206 00000 n 
+0001039324 00000 n 
+0001041774 00000 n 
+0001042713 00000 n 
+0001041630 00000 n 
+0001039750 00000 n 
+0001041948 00000 n 
+0001042007 00000 n 
+0001042125 00000 n 
+0001042184 00000 n 
+0001042302 00000 n 
+0001042420 00000 n 
+0001042538 00000 n 
+0001042655 00000 n 
+0001044330 00000 n 
+0001045860 00000 n 
+0001044186 00000 n 
+0001042914 00000 n 
+0001044504 00000 n 
+0001044563 00000 n 
+0001044681 00000 n 
+0001044799 00000 n 
+0001044917 00000 n 
+0001045035 00000 n 
+0001045153 00000 n 
+0001045271 00000 n 
+0001045389 00000 n 
+0001045507 00000 n 
+0001045625 00000 n 
+0001045743 00000 n 
+0001047451 00000 n 
+0001048980 00000 n 
+0001047307 00000 n 
+0001045986 00000 n 
+0001047625 00000 n 
+0001047684 00000 n 
+0001047802 00000 n 
+0001047920 00000 n 
+0001048038 00000 n 
+0001048156 00000 n 
+0001048274 00000 n 
+0001048391 00000 n 
+0001048508 00000 n 
+0001048626 00000 n 
+0001048744 00000 n 
+0001048862 00000 n 
+0001050844 00000 n 
+0001051059 00000 n 
+0001051285 00000 n 
+0001051513 00000 n 
+0001051701 00000 n 
+0001051929 00000 n 
+0001052125 00000 n 
+0001052353 00000 n 
+0001052549 00000 n 
+0001056230 00000 n 
+0001056425 00000 n 
+0001056654 00000 n 
+0001052776 00000 n 
+0001053951 00000 n 
+0001050619 00000 n 
+0001049106 00000 n 
+0001052950 00000 n 
+0001053009 00000 n 
+0001053127 00000 n 
+0001053245 00000 n 
+0001053362 00000 n 
+0001053538 00000 n 
+0001053597 00000 n 
+0001053656 00000 n 
+0001053715 00000 n 
+0001053774 00000 n 
+0001053833 00000 n 
+0001053892 00000 n 
+0001056850 00000 n 
+0001057053 00000 n 
+0001057282 00000 n 
+0001057511 00000 n 
+0001057740 00000 n 
+0001057968 00000 n 
+0001058155 00000 n 
+0001058384 00000 n 
+0001058613 00000 n 
+0001058828 00000 n 
+0001059043 00000 n 
+0001059272 00000 n 
+0001059487 00000 n 
+0001059716 00000 n 
+0001059945 00000 n 
+0001060174 00000 n 
+0001060403 00000 n 
+0001060632 00000 n 
+0001060860 00000 n 
+0001061063 00000 n 
+0001061292 00000 n 
+0001061495 00000 n 
+0001061724 00000 n 
+0001061952 00000 n 
+0001065396 00000 n 
+0001065600 00000 n 
+0001062147 00000 n 
+0001063324 00000 n 
+0001055843 00000 n 
+0001054103 00000 n 
+0001062321 00000 n 
+0001062380 00000 n 
+0001062439 00000 n 
+0001062498 00000 n 
+0001062557 00000 n 
+0001062616 00000 n 
+0001062675 00000 n 
+0001062734 00000 n 
+0001062793 00000 n 
+0001062852 00000 n 
+0001062911 00000 n 
+0001062970 00000 n 
+0001063029 00000 n 
+0001063088 00000 n 
+0001063147 00000 n 
+0001063206 00000 n 
+0001063265 00000 n 
+0002866960 00000 n 
+0001065829 00000 n 
+0001066025 00000 n 
+0001066254 00000 n 
+0001066483 00000 n 
+0001066678 00000 n 
+0001066906 00000 n 
+0001067127 00000 n 
+0001067355 00000 n 
+0001067543 00000 n 
+0001067729 00000 n 
+0001067958 00000 n 
+0001068154 00000 n 
+0001068382 00000 n 
+0001068577 00000 n 
+0001068967 00000 n 
+0001069158 00000 n 
+0001069344 00000 n 
+0001070049 00000 n 
+0001065081 00000 n 
+0001063464 00000 n 
+0001069518 00000 n 
+0001069577 00000 n 
+0001069636 00000 n 
+0001069695 00000 n 
+0001069754 00000 n 
+0001069813 00000 n 
+0001069872 00000 n 
+0001069931 00000 n 
+0001068772 00000 n 
+0001069990 00000 n 
+0001072855 00000 n 
+0001072973 00000 n 
+0001073096 00000 n 
+0001072563 00000 n 
+0001073275 00000 n 
+0001072419 00000 n 
+0001070199 00000 n 
+0001072737 00000 n 
+0001072796 00000 n 
+0001072914 00000 n 
+0001073037 00000 n 
+0001073159 00000 n 
+0001075085 00000 n 
+0001075332 00000 n 
+0001075579 00000 n 
+0001075826 00000 n 
+0001076074 00000 n 
+0001076262 00000 n 
+0001076510 00000 n 
+0001076697 00000 n 
+0001076943 00000 n 
+0001077190 00000 n 
+0001077437 00000 n 
+0001077684 00000 n 
+0001077932 00000 n 
+0001078146 00000 n 
+0001078342 00000 n 
+0001079339 00000 n 
+0001074815 00000 n 
+0001073451 00000 n 
+0001078516 00000 n 
+0001078633 00000 n 
+0001078692 00000 n 
+0001078751 00000 n 
+0001078809 00000 n 
+0001078868 00000 n 
+0001078927 00000 n 
+0001078986 00000 n 
+0001079045 00000 n 
+0001079104 00000 n 
+0001079163 00000 n 
+0001079221 00000 n 
+0001079280 00000 n 
+0001081814 00000 n 
+0001082046 00000 n 
+0001082279 00000 n 
+0001082511 00000 n 
+0001082716 00000 n 
+0001082898 00000 n 
+0001083086 00000 n 
+0001083908 00000 n 
+0001081616 00000 n 
+0001079491 00000 n 
+0001083260 00000 n 
+0001083436 00000 n 
+0001083495 00000 n 
+0001083554 00000 n 
+0001083613 00000 n 
+0001083672 00000 n 
+0001083731 00000 n 
+0001083790 00000 n 
+0001083849 00000 n 
+0001086106 00000 n 
+0001086328 00000 n 
+0001086550 00000 n 
+0001086772 00000 n 
+0001086994 00000 n 
+0001087183 00000 n 
+0001087404 00000 n 
+0001087592 00000 n 
+0001087793 00000 n 
+0001088013 00000 n 
+0001088216 00000 n 
+0001088438 00000 n 
+0001088655 00000 n 
+0001088877 00000 n 
+0001092225 00000 n 
+0001092447 00000 n 
+0001089099 00000 n 
+0001090097 00000 n 
+0001085836 00000 n 
+0001084074 00000 n 
+0001089273 00000 n 
+0001089449 00000 n 
+0001089508 00000 n 
+0001089567 00000 n 
+0001089626 00000 n 
+0001089685 00000 n 
+0001089744 00000 n 
+0001089803 00000 n 
+0001089862 00000 n 
+0001089920 00000 n 
+0001089979 00000 n 
+0001090038 00000 n 
+0001102849 00000 n 
+0001092643 00000 n 
+0001092864 00000 n 
+0001093059 00000 n 
+0001093280 00000 n 
+0001093468 00000 n 
+0001093690 00000 n 
+0001093910 00000 n 
+0001094098 00000 n 
+0001094318 00000 n 
+0001094507 00000 n 
+0001094727 00000 n 
+0001094916 00000 n 
+0001095136 00000 n 
+0001095324 00000 n 
+0001095495 00000 n 
+0001095717 00000 n 
+0001095906 00000 n 
+0001096128 00000 n 
+0001096317 00000 n 
+0001096537 00000 n 
+0001096726 00000 n 
+0001096947 00000 n 
+0001097136 00000 n 
+0001097325 00000 n 
+0001097547 00000 n 
+0001097736 00000 n 
+0001101181 00000 n 
+0001101403 00000 n 
+0001097924 00000 n 
+0001098923 00000 n 
+0001091829 00000 n 
+0001090264 00000 n 
+0001098098 00000 n 
+0001098157 00000 n 
+0001098216 00000 n 
+0001098275 00000 n 
+0001098334 00000 n 
+0001098393 00000 n 
+0001098452 00000 n 
+0001098511 00000 n 
+0001098570 00000 n 
+0001098629 00000 n 
+0001098688 00000 n 
+0001098747 00000 n 
+0001098806 00000 n 
+0001098864 00000 n 
+0002867086 00000 n 
+0001103026 00000 n 
+0001103144 00000 n 
+0001101592 00000 n 
+0001101814 00000 n 
+0001102003 00000 n 
+0001102380 00000 n 
+0001103556 00000 n 
+0001100983 00000 n 
+0001099075 00000 n 
+0001102554 00000 n 
+0001102613 00000 n 
+0001102192 00000 n 
+0001102672 00000 n 
+0001102731 00000 n 
+0001102790 00000 n 
+0001102908 00000 n 
+0001102967 00000 n 
+0001103085 00000 n 
+0001103203 00000 n 
+0001103262 00000 n 
+0001103321 00000 n 
 0001103380 00000 n 
-0001107782 00000 n 
-0001103612 00000 n 
-0001103820 00000 n 
-0001107842 00000 n 
-0001104053 00000 n 
-0001104259 00000 n 
-0001107902 00000 n 
-0001104490 00000 n 
-0001104723 00000 n 
-0001104923 00000 n 
-0001105155 00000 n 
-0001107961 00000 n 
-0001108021 00000 n 
-0001105362 00000 n 
-0001105570 00000 n 
-0001105803 00000 n 
-0001108081 00000 n 
-0001106003 00000 n 
-0001108141 00000 n 
-0001106236 00000 n 
-0001108201 00000 n 
-0001106469 00000 n 
-0001106669 00000 n 
-0001106901 00000 n 
-0001107124 00000 n 
-0001117303 00000 n 
-0001113833 00000 n 
-0001111032 00000 n 
-0001108403 00000 n 
-0001113533 00000 n 
-0001113593 00000 n 
-0001113653 00000 n 
-0001111269 00000 n 
-0001111502 00000 n 
-0001113713 00000 n 
-0001111698 00000 n 
-0001111931 00000 n 
-0001112131 00000 n 
-0001112364 00000 n 
-0001112563 00000 n 
-0001112763 00000 n 
-0001113773 00000 n 
-0001112963 00000 n 
-0001113163 00000 n 
-0001113355 00000 n 
-0001122630 00000 n 
-0001122750 00000 n 
-0001117428 00000 n 
-0001116316 00000 n 
-0001113995 00000 n 
-0001116641 00000 n 
-0001116701 00000 n 
-0001116819 00000 n 
-0001116877 00000 n 
-0001116997 00000 n 
-0001117123 00000 n 
-0001117243 00000 n 
-0001117368 00000 n 
-0001116463 00000 n 
-0001123414 00000 n 
-0001120221 00000 n 
-0001117604 00000 n 
-0001122511 00000 n 
-0001122571 00000 n 
-0001122690 00000 n 
-0001122816 00000 n 
-0001122995 00000 n 
-0001123055 00000 n 
-0001120440 00000 n 
-0001123115 00000 n 
-0001120692 00000 n 
-0001123175 00000 n 
-0001120943 00000 n 
-0001123234 00000 n 
-0001121195 00000 n 
-0001123294 00000 n 
-0001121447 00000 n 
-0001121638 00000 n 
-0001123354 00000 n 
-0001121889 00000 n 
-0001122081 00000 n 
-0001122333 00000 n 
-0003265760 00000 n 
-0001129907 00000 n 
-0001125981 00000 n 
-0001123615 00000 n 
-0001129248 00000 n 
-0001129308 00000 n 
-0001126236 00000 n 
-0001129368 00000 n 
-0001126488 00000 n 
-0001129428 00000 n 
-0001126740 00000 n 
-0001129488 00000 n 
-0001126992 00000 n 
-0001129548 00000 n 
-0001127244 00000 n 
-0001127463 00000 n 
-0001129727 00000 n 
-0001127662 00000 n 
-0001127887 00000 n 
-0001128144 00000 n 
-0001128401 00000 n 
-0001129787 00000 n 
-0001129847 00000 n 
-0001128657 00000 n 
-0001128881 00000 n 
-0001129070 00000 n 
-0001176503 00000 n 
-0001176623 00000 n 
-0001176689 00000 n 
-0001176755 00000 n 
-0001139887 00000 n 
-0001132926 00000 n 
-0001130047 00000 n 
-0001139108 00000 n 
-0001133307 00000 n 
-0001133531 00000 n 
-0001139168 00000 n 
-0001133722 00000 n 
-0001139228 00000 n 
-0001133946 00000 n 
-0001134138 00000 n 
-0001134363 00000 n 
-0001139288 00000 n 
-0001134555 00000 n 
-0001134763 00000 n 
-0001139348 00000 n 
-0001134988 00000 n 
-0001135213 00000 n 
-0001139408 00000 n 
-0001135438 00000 n 
-0001139468 00000 n 
-0001135663 00000 n 
-0001139528 00000 n 
-0001135888 00000 n 
-0001139588 00000 n 
-0001136113 00000 n 
-0001136338 00000 n 
-0001136563 00000 n 
-0001139648 00000 n 
-0001136753 00000 n 
-0001139707 00000 n 
-0001136978 00000 n 
-0001137186 00000 n 
-0001139767 00000 n 
-0001137411 00000 n 
-0001137618 00000 n 
-0001137842 00000 n 
-0001138066 00000 n 
-0001138291 00000 n 
-0001138516 00000 n 
-0001139827 00000 n 
-0001138708 00000 n 
-0001138930 00000 n 
-0001179621 00000 n 
-0001179801 00000 n 
-0001179921 00000 n 
-0001180040 00000 n 
-0001180160 00000 n 
-0001150842 00000 n 
-0001143187 00000 n 
-0001140027 00000 n 
-0001150063 00000 n 
-0001150123 00000 n 
-0001143604 00000 n 
-0001150183 00000 n 
-0001143828 00000 n 
-0001150243 00000 n 
-0001144052 00000 n 
-0001144277 00000 n 
-0001150303 00000 n 
-0001144502 00000 n 
-0001150363 00000 n 
-0001144726 00000 n 
-0001144951 00000 n 
-0001150423 00000 n 
-0001150483 00000 n 
-0001145143 00000 n 
-0001145351 00000 n 
-0001145576 00000 n 
-0001150543 00000 n 
-0001145768 00000 n 
-0001150603 00000 n 
-0001145992 00000 n 
-0001150662 00000 n 
-0001146217 00000 n 
-0001146408 00000 n 
-0001150722 00000 n 
-0001146631 00000 n 
-0001146823 00000 n 
-0001150782 00000 n 
-0001147047 00000 n 
-0001147239 00000 n 
-0001147464 00000 n 
-0001147664 00000 n 
-0001147864 00000 n 
-0001148056 00000 n 
-0001148281 00000 n 
-0001148471 00000 n 
-0001148660 00000 n 
-0001148850 00000 n 
-0001149073 00000 n 
-0001149271 00000 n 
-0001149462 00000 n 
-0001149686 00000 n 
-0001149885 00000 n 
-0001182317 00000 n 
-0001182437 00000 n 
-0001182556 00000 n 
-0001182675 00000 n 
-0001165162 00000 n 
-0001153891 00000 n 
-0001150998 00000 n 
-0001165042 00000 n 
-0001154497 00000 n 
-0001154689 00000 n 
-0001154912 00000 n 
-0001155112 00000 n 
-0001155312 00000 n 
-0001155504 00000 n 
-0001155727 00000 n 
-0001155917 00000 n 
-0001156107 00000 n 
-0001156299 00000 n 
-0001156522 00000 n 
-0001156722 00000 n 
-0001156914 00000 n 
-0001157137 00000 n 
-0001157337 00000 n 
-0001157528 00000 n 
-0001157750 00000 n 
-0001157949 00000 n 
-0001158148 00000 n 
-0001158340 00000 n 
-0001158563 00000 n 
-0001158763 00000 n 
-0001158955 00000 n 
-0001159178 00000 n 
-0001159378 00000 n 
-0001159570 00000 n 
-0001159795 00000 n 
-0001159994 00000 n 
-0001160193 00000 n 
-0001160385 00000 n 
-0001160610 00000 n 
-0001160800 00000 n 
-0001160990 00000 n 
-0001161179 00000 n 
-0001161401 00000 n 
-0001161597 00000 n 
-0001161789 00000 n 
-0001162014 00000 n 
-0001162214 00000 n 
-0001162406 00000 n 
-0001162631 00000 n 
-0001162830 00000 n 
-0001163029 00000 n 
-0001163221 00000 n 
-0001163446 00000 n 
-0001163645 00000 n 
-0001163837 00000 n 
-0001164062 00000 n 
-0001165102 00000 n 
-0001164262 00000 n 
-0001164485 00000 n 
-0001164674 00000 n 
-0001164864 00000 n 
-0001182795 00000 n 
-0001182915 00000 n 
-0001183035 00000 n 
-0001183155 00000 n 
-0001183274 00000 n 
-0001183394 00000 n 
-0001183514 00000 n 
-0001185576 00000 n 
-0001185695 00000 n 
-0001185815 00000 n 
-0001185934 00000 n 
-0001186054 00000 n 
-0001186174 00000 n 
-0001186294 00000 n 
-0001186414 00000 n 
-0001173145 00000 n 
-0001168672 00000 n 
-0001165302 00000 n 
-0001173025 00000 n 
-0001168990 00000 n 
-0001169215 00000 n 
-0001169406 00000 n 
-0001169598 00000 n 
-0001169788 00000 n 
-0001170009 00000 n 
-0001170197 00000 n 
-0001170385 00000 n 
-0001170577 00000 n 
-0001170802 00000 n 
-0001170992 00000 n 
-0001171182 00000 n 
-0001171407 00000 n 
-0001171598 00000 n 
-0001171790 00000 n 
-0001172015 00000 n 
-0001172207 00000 n 
-0001172431 00000 n 
-0001173085 00000 n 
-0001172655 00000 n 
-0001172847 00000 n 
-0001186533 00000 n 
-0001186653 00000 n 
-0001186773 00000 n 
-0001191566 00000 n 
-0001191686 00000 n 
-0001191806 00000 n 
-0001176820 00000 n 
-0001176058 00000 n 
-0001173360 00000 n 
-0001176383 00000 n 
-0001176443 00000 n 
-0001176563 00000 n 
-0001176205 00000 n 
-0003265886 00000 n 
-0001180280 00000 n 
-0001179177 00000 n 
-0001176996 00000 n 
-0001179502 00000 n 
-0001179562 00000 n 
-0001179681 00000 n 
-0001179741 00000 n 
-0001179861 00000 n 
-0001179980 00000 n 
-0001180100 00000 n 
-0001180220 00000 n 
-0001179324 00000 n 
-0001183574 00000 n 
-0001181873 00000 n 
-0001180481 00000 n 
-0001182198 00000 n 
-0001182258 00000 n 
-0001182377 00000 n 
-0001182497 00000 n 
-0001182616 00000 n 
-0001182735 00000 n 
-0001182855 00000 n 
-0001182975 00000 n 
-0001183095 00000 n 
-0001183215 00000 n 
-0001183334 00000 n 
-0001183454 00000 n 
-0001182020 00000 n 
-0001186833 00000 n 
-0001185132 00000 n 
-0001183700 00000 n 
-0001185457 00000 n 
-0001185517 00000 n 
-0001185636 00000 n 
-0001185755 00000 n 
-0001185874 00000 n 
-0001185994 00000 n 
-0001186114 00000 n 
-0001186234 00000 n 
-0001186354 00000 n 
-0001186473 00000 n 
-0001186593 00000 n 
-0001186713 00000 n 
-0001185279 00000 n 
-0001192465 00000 n 
-0001189070 00000 n 
-0001186959 00000 n 
-0001191447 00000 n 
-0001191507 00000 n 
-0001191626 00000 n 
-0001191746 00000 n 
-0001191866 00000 n 
-0001192045 00000 n 
-0001189298 00000 n 
-0001192105 00000 n 
-0001192165 00000 n 
-0001189516 00000 n 
-0001192225 00000 n 
-0001189749 00000 n 
-0001189980 00000 n 
+0001103439 00000 n 
+0001105411 00000 n 
+0001105593 00000 n 
+0001105785 00000 n 
+0001106005 00000 n 
+0001106257 00000 n 
+0001106509 00000 n 
+0001106760 00000 n 
+0001109682 00000 n 
+0001109901 00000 n 
+0001107012 00000 n 
+0001107772 00000 n 
+0001105204 00000 n 
+0001103709 00000 n 
+0001107186 00000 n 
+0001107303 00000 n 
+0001107361 00000 n 
+0001107537 00000 n 
+0001107713 00000 n 
+0001145968 00000 n 
+0001146086 00000 n 
+0001146150 00000 n 
+0001146214 00000 n 
+0001146278 00000 n 
+0001110087 00000 n 
+0001110306 00000 n 
+0001110492 00000 n 
+0001110712 00000 n 
+0001110899 00000 n 
+0001111102 00000 n 
+0001111322 00000 n 
+0001111540 00000 n 
+0001111759 00000 n 
+0001111978 00000 n 
+0001112198 00000 n 
+0001112418 00000 n 
+0001112638 00000 n 
+0001112858 00000 n 
+0001113044 00000 n 
+0001113264 00000 n 
+0001113466 00000 n 
+0001113685 00000 n 
+0001113886 00000 n 
+0001114104 00000 n 
+0001114324 00000 n 
+0001114511 00000 n 
+0001114731 00000 n 
+0001118127 00000 n 
+0001114951 00000 n 
+0001116009 00000 n 
+0001109313 00000 n 
+0001107911 00000 n 
+0001115125 00000 n 
+0001115184 00000 n 
+0001115243 00000 n 
+0001115302 00000 n 
+0001115361 00000 n 
+0001115420 00000 n 
+0001115479 00000 n 
+0001115538 00000 n 
+0001115597 00000 n 
+0001115656 00000 n 
+0001115715 00000 n 
+0001115774 00000 n 
+0001115833 00000 n 
+0001115892 00000 n 
+0001115950 00000 n 
+0001151951 00000 n 
+0001152069 00000 n 
+0001155086 00000 n 
+0001118347 00000 n 
+0001118567 00000 n 
+0001118787 00000 n 
+0001119007 00000 n 
+0001119226 00000 n 
+0001119411 00000 n 
+0001119598 00000 n 
+0001119818 00000 n 
+0001120014 00000 n 
+0001120201 00000 n 
+0001120421 00000 n 
+0001120617 00000 n 
+0001120804 00000 n 
+0001121024 00000 n 
+0001121220 00000 n 
+0001121405 00000 n 
+0001121624 00000 n 
+0001121817 00000 n 
+0001122019 00000 n 
+0001122237 00000 n 
+0001122423 00000 n 
+0001122641 00000 n 
+0001122861 00000 n 
+0001123048 00000 n 
+0001123268 00000 n 
+0001123455 00000 n 
+0001126787 00000 n 
+0001127007 00000 n 
+0001123675 00000 n 
+0001124498 00000 n 
+0001117740 00000 n 
+0001116148 00000 n 
+0001123849 00000 n 
+0001123908 00000 n 
+0001123967 00000 n 
+0001124026 00000 n 
+0001124085 00000 n 
+0001124144 00000 n 
+0001124203 00000 n 
+0001124262 00000 n 
+0001124321 00000 n 
+0001124380 00000 n 
+0002861867 00000 n 
+0001124439 00000 n 
+0001146401 00000 n 
+0001146519 00000 n 
+0001151715 00000 n 
+0001151833 00000 n 
+0001127194 00000 n 
+0001127414 00000 n 
+0001127601 00000 n 
+0001127788 00000 n 
+0001128006 00000 n 
+0001128190 00000 n 
+0001128376 00000 n 
+0001128595 00000 n 
+0001128781 00000 n 
+0001128967 00000 n 
+0001129185 00000 n 
+0001129376 00000 n 
+0001129562 00000 n 
+0001129749 00000 n 
+0001129953 00000 n 
+0001130173 00000 n 
+0001130366 00000 n 
+0001130551 00000 n 
+0001130737 00000 n 
+0001130940 00000 n 
+0001131159 00000 n 
+0001131352 00000 n 
+0001131538 00000 n 
+0001131725 00000 n 
+0001131929 00000 n 
+0001132148 00000 n 
+0001132341 00000 n 
+0001132527 00000 n 
+0001132714 00000 n 
+0001132918 00000 n 
+0001133138 00000 n 
+0001133331 00000 n 
+0001133517 00000 n 
+0001133704 00000 n 
+0001133908 00000 n 
+0001134128 00000 n 
+0001134321 00000 n 
+0001134507 00000 n 
+0001134694 00000 n 
+0001134898 00000 n 
+0001135118 00000 n 
+0001135338 00000 n 
+0001135630 00000 n 
+0001126256 00000 n 
+0001124667 00000 n 
+0001135512 00000 n 
+0001135571 00000 n 
+0001155267 00000 n 
+0001155385 00000 n 
+0001155503 00000 n 
+0001155621 00000 n 
+0001155739 00000 n 
+0001158228 00000 n 
+0001158344 00000 n 
+0001160815 00000 n 
+0001160933 00000 n 
+0001161051 00000 n 
+0001165236 00000 n 
+0001138728 00000 n 
+0001138914 00000 n 
+0001139076 00000 n 
+0001139368 00000 n 
+0001138566 00000 n 
+0001135796 00000 n 
+0001139250 00000 n 
+0001139309 00000 n 
+0002867212 00000 n 
+0001142102 00000 n 
+0001142335 00000 n 
+0001141958 00000 n 
+0001139606 00000 n 
+0001142276 00000 n 
+0001145047 00000 n 
+0001145272 00000 n 
+0001145457 00000 n 
+0001145676 00000 n 
+0001146577 00000 n 
+0001144876 00000 n 
+0001142523 00000 n 
+0001145850 00000 n 
+0001145909 00000 n 
+0001146027 00000 n 
+0001146342 00000 n 
+0001146460 00000 n 
+0001437537 00000 n 
+0001148661 00000 n 
+0001148847 00000 n 
+0001149067 00000 n 
+0001149253 00000 n 
+0001149691 00000 n 
+0001149920 00000 n 
+0001150131 00000 n 
+0001150318 00000 n 
+0001150757 00000 n 
+0001150986 00000 n 
+0001151197 00000 n 
+0001151423 00000 n 
+0001152133 00000 n 
+0001148400 00000 n 
+0001146766 00000 n 
+0001151597 00000 n 
+0001151656 00000 n 
+0001151774 00000 n 
+0001149473 00000 n 
+0001151892 00000 n 
+0001150538 00000 n 
+0001152010 00000 n 
+0001538010 00000 n 
+0001443037 00000 n 
+0001154568 00000 n 
+0001154794 00000 n 
+0001155857 00000 n 
+0001154415 00000 n 
+0001152259 00000 n 
+0001154968 00000 n 
+0001155027 00000 n 
+0001155150 00000 n 
+0001155209 00000 n 
+0001155326 00000 n 
+0001155444 00000 n 
+0001155562 00000 n 
+0001155680 00000 n 
+0001155798 00000 n 
+0001443155 00000 n 
+0001157995 00000 n 
+0001158462 00000 n 
+0001157851 00000 n 
+0001156009 00000 n 
+0001158169 00000 n 
+0001158286 00000 n 
+0001158403 00000 n 
+0001160582 00000 n 
+0001161110 00000 n 
+0001160438 00000 n 
+0001158601 00000 n 
+0001160756 00000 n 
+0001160874 00000 n 
+0001160992 00000 n 
+0002867338 00000 n 
+0001163466 00000 n 
+0001163667 00000 n 
+0001163881 00000 n 
+0001164108 00000 n 
+0001164335 00000 n 
+0001164522 00000 n 
+0001164749 00000 n 
+0001168017 00000 n 
+0001164944 00000 n 
+0001165765 00000 n 
+0001163259 00000 n 
+0001161262 00000 n 
+0001165118 00000 n 
+0001165177 00000 n 
+0001165295 00000 n 
+0001165471 00000 n 
+0001165530 00000 n 
+0001165589 00000 n 
+0001165648 00000 n 
+0001165707 00000 n 
+0001168244 00000 n 
+0001168438 00000 n 
+0001168664 00000 n 
+0001168859 00000 n 
+0001169062 00000 n 
+0001169290 00000 n 
+0001169518 00000 n 
+0001169746 00000 n 
+0001169933 00000 n 
+0001170161 00000 n 
+0001170388 00000 n 
+0001170602 00000 n 
+0001170816 00000 n 
+0001171044 00000 n 
+0001171258 00000 n 
+0001171486 00000 n 
+0001171714 00000 n 
+0001171941 00000 n 
+0001172168 00000 n 
+0001172396 00000 n 
+0001172624 00000 n 
+0001172827 00000 n 
+0001173055 00000 n 
+0001173258 00000 n 
+0001173486 00000 n 
+0001173713 00000 n 
+0001177497 00000 n 
+0001177700 00000 n 
+0001173906 00000 n 
+0001174964 00000 n 
+0001167630 00000 n 
+0001165917 00000 n 
+0001174080 00000 n 
+0001174139 00000 n 
+0001174198 00000 n 
+0001174257 00000 n 
+0001174316 00000 n 
+0001174375 00000 n 
+0001174434 00000 n 
+0001174493 00000 n 
+0001174551 00000 n 
+0001174610 00000 n 
+0001174669 00000 n 
+0001174728 00000 n 
+0001174787 00000 n 
+0001174846 00000 n 
+0001174905 00000 n 
+0001188567 00000 n 
+0001188685 00000 n 
+0001177927 00000 n 
+0001178122 00000 n 
+0001178350 00000 n 
+0001178578 00000 n 
+0001178773 00000 n 
+0001179001 00000 n 
+0001179221 00000 n 
+0001179449 00000 n 
+0001179643 00000 n 
+0001179870 00000 n 
+0001180065 00000 n 
+0001180454 00000 n 
+0001180648 00000 n 
+0001180834 00000 n 
+0001181480 00000 n 
+0001177209 00000 n 
+0001175117 00000 n 
+0001181008 00000 n 
+0001181067 00000 n 
+0001181126 00000 n 
+0001181185 00000 n 
+0001181244 00000 n 
+0001181303 00000 n 
+0001181362 00000 n 
+0001180260 00000 n 
+0001181421 00000 n 
+0001188867 00000 n 
+0001188985 00000 n 
+0001183925 00000 n 
+0001184158 00000 n 
+0001183781 00000 n 
+0001181630 00000 n 
+0001184099 00000 n 
+0001186494 00000 n 
+0001186867 00000 n 
+0001187101 00000 n 
+0001187329 00000 n 
+0001187563 00000 n 
+0001187783 00000 n 
+0001188029 00000 n 
+0001188275 00000 n 
+0001189401 00000 n 
+0001186278 00000 n 
+0001184345 00000 n 
+0001188449 00000 n 
+0001188508 00000 n 
+0001188626 00000 n 
+0001186681 00000 n 
+0001188749 00000 n 
+0001188808 00000 n 
+0001188926 00000 n 
+0001189048 00000 n 
+0001189224 00000 n 
+0001189283 00000 n 
+0001189342 00000 n 
+0001477480 00000 n 
+0001477602 00000 n 
+0001191359 00000 n 
+0001191605 00000 n 
+0001191851 00000 n 
+0001192038 00000 n 
 0001192285 00000 n 
-0001190170 00000 n 
-0001190403 00000 n 
-0001192345 00000 n 
-0001190603 00000 n 
-0001190836 00000 n 
-0001192405 00000 n 
-0001191036 00000 n 
-0001191269 00000 n 
-0001203522 00000 n 
-0001195909 00000 n 
-0001192617 00000 n 
-0001202503 00000 n 
-0001202563 00000 n 
-0001196299 00000 n 
-0001196499 00000 n 
-0001196732 00000 n 
-0001202623 00000 n 
-0001196932 00000 n 
-0001197140 00000 n 
-0001202683 00000 n 
-0001197373 00000 n 
-0001202743 00000 n 
-0001197606 00000 n 
-0001202803 00000 n 
-0001197839 00000 n 
-0001198072 00000 n 
-0001202863 00000 n 
-0001198264 00000 n 
-0001202922 00000 n 
-0001198496 00000 n 
-0001198729 00000 n 
-0001198946 00000 n 
-0001202982 00000 n 
-0001199165 00000 n 
-0001199398 00000 n 
-0001203042 00000 n 
-0001199617 00000 n 
-0001203102 00000 n 
-0001199849 00000 n 
-0001203162 00000 n 
-0001200081 00000 n 
+0001192472 00000 n 
+0001192719 00000 n 
+0001192966 00000 n 
+0001193212 00000 n 
+0001193458 00000 n 
+0001193705 00000 n 
+0001193917 00000 n 
+0001194305 00000 n 
+0001195126 00000 n 
+0001191098 00000 n 
+0001189553 00000 n 
+0001194479 00000 n 
+0001194538 00000 n 
+0001194597 00000 n 
+0001194654 00000 n 
+0001194713 00000 n 
+0001194772 00000 n 
+0001194831 00000 n 
+0001194890 00000 n 
+0001194949 00000 n 
+0001195008 00000 n 
+0001194111 00000 n 
+0002867464 00000 n 
+0001197156 00000 n 
+0001197378 00000 n 
+0001197568 00000 n 
+0001197791 00000 n 
+0001197981 00000 n 
+0001198185 00000 n 
+0001198406 00000 n 
+0001198596 00000 n 
+0001198800 00000 n 
+0001199021 00000 n 
+0001199211 00000 n 
+0001199432 00000 n 
+0001199622 00000 n 
+0001199843 00000 n 
+0001200033 00000 n 
+0001200222 00000 n 
+0001200442 00000 n 
+0001200632 00000 n 
+0001200851 00000 n 
+0001201040 00000 n 
+0001201229 00000 n 
+0001201450 00000 n 
+0001201640 00000 n 
+0001201830 00000 n 
+0001202019 00000 n 
+0001202240 00000 n 
+0001202430 00000 n 
+0001202620 00000 n 
+0001202810 00000 n 
+0001203033 00000 n 
 0001203222 00000 n 
-0001200313 00000 n 
-0001203282 00000 n 
-0001200545 00000 n 
-0001200778 00000 n 
-0001203342 00000 n 
-0001201011 00000 n 
-0001201219 00000 n 
-0001203402 00000 n 
-0001201452 00000 n 
-0001201660 00000 n 
-0001203462 00000 n 
-0001201893 00000 n 
-0001202126 00000 n 
-0001202325 00000 n 
-0001211445 00000 n 
-0001206379 00000 n 
-0001203664 00000 n 
-0001210906 00000 n 
-0001210966 00000 n 
-0001211026 00000 n 
-0001206697 00000 n 
-0001206905 00000 n 
-0001207138 00000 n 
-0001211086 00000 n 
-0001207338 00000 n 
-0001211146 00000 n 
-0001207571 00000 n 
-0001211205 00000 n 
-0001207804 00000 n 
-0001208004 00000 n 
-0001208237 00000 n 
-0001211265 00000 n 
-0001208461 00000 n 
-0001208694 00000 n 
-0001208884 00000 n 
-0001211325 00000 n 
-0001209076 00000 n 
-0001209309 00000 n 
-0001209508 00000 n 
-0001209741 00000 n 
-0001209941 00000 n 
-0001210141 00000 n 
-0001211385 00000 n 
-0001210341 00000 n 
-0001210540 00000 n 
-0001210728 00000 n 
-0003266012 00000 n 
-0001214494 00000 n 
-0001214614 00000 n 
-0001214740 00000 n 
-0001214925 00000 n 
-0001214049 00000 n 
-0001211595 00000 n 
-0001214374 00000 n 
-0001214434 00000 n 
-0001214554 00000 n 
-0001214680 00000 n 
-0001214806 00000 n 
-0001214196 00000 n 
-0001222017 00000 n 
-0001217411 00000 n 
-0001215101 00000 n 
-0001221180 00000 n 
-0001221298 00000 n 
-0001221358 00000 n 
-0001217684 00000 n 
-0001221418 00000 n 
-0001217935 00000 n 
-0001221478 00000 n 
-0001218187 00000 n 
-0001221538 00000 n 
-0001218439 00000 n 
-0001221598 00000 n 
-0001218691 00000 n 
-0001218883 00000 n 
-0001221658 00000 n 
-0001219135 00000 n 
-0001219327 00000 n 
-0001221718 00000 n 
-0001219577 00000 n 
-0001221777 00000 n 
-0001219829 00000 n 
-0001221837 00000 n 
-0001220081 00000 n 
-0001221897 00000 n 
-0001220332 00000 n 
-0001221957 00000 n 
-0001220584 00000 n 
-0001220802 00000 n 
-0001221002 00000 n 
-0001227095 00000 n 
-0001224764 00000 n 
-0001222170 00000 n 
-0001226438 00000 n 
-0001226617 00000 n 
-0001226676 00000 n 
-0001224965 00000 n 
-0001225202 00000 n 
-0001226735 00000 n 
-0001225438 00000 n 
-0001226795 00000 n 
-0001226855 00000 n 
-0001225674 00000 n 
-0001226915 00000 n 
-0001226975 00000 n 
-0001227035 00000 n 
-0001225883 00000 n 
-0001226068 00000 n 
-0001226260 00000 n 
-0001234402 00000 n 
-0001230059 00000 n 
-0001227261 00000 n 
-0001233563 00000 n 
-0001233742 00000 n 
-0001233802 00000 n 
-0001230332 00000 n 
-0001233862 00000 n 
-0001230557 00000 n 
-0001233922 00000 n 
-0001230783 00000 n 
-0001233982 00000 n 
-0001231007 00000 n 
-0001231233 00000 n 
-0001234042 00000 n 
-0001231426 00000 n 
-0001231652 00000 n 
-0001234102 00000 n 
-0001231844 00000 n 
-0001232052 00000 n 
-0001234162 00000 n 
-0001232278 00000 n 
-0001232484 00000 n 
-0001234222 00000 n 
-0001232708 00000 n 
-0001232933 00000 n 
-0001234282 00000 n 
-0001234342 00000 n 
-0001233159 00000 n 
-0001233385 00000 n 
-0001249182 00000 n 
-0001244850 00000 n 
-0001237629 00000 n 
-0001234570 00000 n 
-0001244010 00000 n 
-0001244070 00000 n 
-0001238028 00000 n 
-0001238253 00000 n 
-0001244130 00000 n 
-0001238451 00000 n 
-0001238677 00000 n 
-0001244190 00000 n 
-0001238876 00000 n 
-0001239102 00000 n 
-0001244250 00000 n 
-0001239294 00000 n 
-0001244310 00000 n 
-0001239520 00000 n 
-0001239746 00000 n 
-0001244370 00000 n 
-0001239939 00000 n 
-0001240163 00000 n 
-0001244430 00000 n 
-0001240353 00000 n 
-0001240578 00000 n 
-0001244490 00000 n 
-0001240771 00000 n 
-0001240997 00000 n 
-0001241188 00000 n 
-0001244550 00000 n 
-0001241363 00000 n 
-0001244610 00000 n 
-0001244670 00000 n 
-0001241588 00000 n 
-0001241780 00000 n 
-0001242004 00000 n 
-0001244730 00000 n 
-0001242196 00000 n 
-0001242422 00000 n 
-0001244790 00000 n 
-0001242615 00000 n 
-0001242841 00000 n 
-0001243033 00000 n 
-0001243226 00000 n 
-0001243450 00000 n 
-0001243641 00000 n 
-0001243832 00000 n 
-0001249362 00000 n 
-0001249482 00000 n 
-0001249901 00000 n 
-0001247280 00000 n 
-0001245003 00000 n 
-0001248883 00000 n 
-0001248943 00000 n 
-0001247481 00000 n 
-0001247707 00000 n 
-0001247900 00000 n 
-0001248126 00000 n 
-0001248319 00000 n 
-0001248512 00000 n 
-0001249003 00000 n 
-0001249063 00000 n 
-0001249122 00000 n 
-0001249242 00000 n 
-0001249302 00000 n 
-0001249422 00000 n 
-0001249542 00000 n 
-0001249602 00000 n 
-0001249662 00000 n 
-0001249722 00000 n 
-0001249782 00000 n 
-0001248705 00000 n 
-0003266138 00000 n 
-0001254605 00000 n 
-0001251993 00000 n 
-0001250054 00000 n 
-0001254009 00000 n 
-0001254127 00000 n 
-0001254187 00000 n 
-0001254366 00000 n 
-0001252203 00000 n 
-0001252388 00000 n 
-0001254545 00000 n 
-0001252585 00000 n 
-0001252809 00000 n 
-0001253065 00000 n 
-0001253320 00000 n 
-0001253576 00000 n 
-0001253831 00000 n 
-0001299160 00000 n 
-0001299280 00000 n 
-0001299345 00000 n 
-0001299411 00000 n 
-0001299477 00000 n 
-0001264395 00000 n 
-0001257572 00000 n 
-0001254744 00000 n 
-0001263497 00000 n 
-0001263557 00000 n 
-0001263617 00000 n 
-0001257944 00000 n 
-0001258168 00000 n 
-0001263677 00000 n 
-0001258359 00000 n 
-0001263737 00000 n 
-0001258583 00000 n 
-0001258774 00000 n 
-0001258998 00000 n 
-0001263796 00000 n 
-0001259189 00000 n 
-0001259397 00000 n 
-0001263856 00000 n 
-0001259621 00000 n 
-0001259844 00000 n 
-0001263916 00000 n 
-0001260067 00000 n 
-0001263976 00000 n 
-0001260291 00000 n 
-0001264036 00000 n 
-0001260515 00000 n 
-0001264096 00000 n 
-0001260739 00000 n 
-0001260963 00000 n 
-0001261187 00000 n 
-0001261377 00000 n 
-0001264156 00000 n 
-0001261601 00000 n 
-0001261806 00000 n 
-0001264216 00000 n 
-0001262027 00000 n 
-0001262235 00000 n 
-0001262459 00000 n 
-0001262683 00000 n 
-0001264275 00000 n 
-0001262873 00000 n 
-0001264335 00000 n 
-0001263096 00000 n 
-0001263319 00000 n 
-0001305856 00000 n 
-0001305976 00000 n 
-0001309220 00000 n 
-0001274457 00000 n 
-0001267563 00000 n 
-0001264535 00000 n 
-0001273798 00000 n 
-0001273858 00000 n 
-0001267953 00000 n 
-0001273917 00000 n 
-0001268176 00000 n 
-0001268400 00000 n 
-0001273977 00000 n 
-0001268624 00000 n 
-0001274037 00000 n 
-0001268847 00000 n 
-0001269071 00000 n 
-0001274097 00000 n 
-0001269262 00000 n 
-0001269453 00000 n 
-0001269677 00000 n 
-0001269877 00000 n 
-0001270068 00000 n 
-0001270292 00000 n 
-0001270491 00000 n 
-0001270681 00000 n 
-0001270905 00000 n 
-0001271105 00000 n 
-0001271296 00000 n 
-0001271519 00000 n 
-0001274157 00000 n 
-0001271719 00000 n 
-0001271927 00000 n 
-0001272151 00000 n 
-0001274217 00000 n 
-0001272342 00000 n 
-0001274277 00000 n 
-0001272566 00000 n 
-0001274337 00000 n 
-0001272790 00000 n 
-0001272981 00000 n 
-0003034223 00000 n 
-0003032127 00000 n 
-0003034056 00000 n 
-0001274397 00000 n 
-0001273205 00000 n 
-0001273396 00000 n 
-0001273620 00000 n 
-0001299603 00000 n 
-0001299721 00000 n 
-0001305616 00000 n 
-0001305736 00000 n 
-0001287555 00000 n 
-0001277995 00000 n 
-0001274628 00000 n 
-0001287435 00000 n 
-0001287495 00000 n 
-0001278529 00000 n 
-0001278753 00000 n 
-0001278944 00000 n 
-0001279168 00000 n 
-0001279358 00000 n 
-0001279549 00000 n 
-0001279772 00000 n 
-0001279961 00000 n 
-0001280151 00000 n 
-0001280375 00000 n 
-0001280566 00000 n 
-0001280757 00000 n 
-0001280981 00000 n 
-0001281178 00000 n 
-0001281369 00000 n 
-0001281559 00000 n 
-0001281767 00000 n 
-0001281991 00000 n 
-0001282188 00000 n 
-0001282379 00000 n 
-0001282570 00000 n 
-0001282778 00000 n 
-0001283000 00000 n 
-0001283194 00000 n 
-0001283385 00000 n 
-0001283575 00000 n 
-0001283783 00000 n 
-0001284007 00000 n 
-0001284203 00000 n 
-0001284394 00000 n 
-0001284585 00000 n 
-0001284793 00000 n 
-0001285016 00000 n 
-0001285213 00000 n 
-0001285404 00000 n 
-0001285594 00000 n 
-0001285802 00000 n 
-0001286025 00000 n 
-0001286222 00000 n 
-0001286412 00000 n 
-0001286602 00000 n 
-0001286809 00000 n 
-0001287033 00000 n 
-0001287257 00000 n 
-0001309405 00000 n 
-0001309523 00000 n 
-0001309641 00000 n 
-0001309761 00000 n 
-0001309881 00000 n 
-0001312577 00000 n 
-0001312697 00000 n 
-0001315421 00000 n 
-0001315540 00000 n 
-0001315660 00000 n 
-0001320437 00000 n 
-0001291790 00000 n 
-0001290970 00000 n 
-0001287722 00000 n 
-0001291671 00000 n 
-0001291731 00000 n 
-0001291135 00000 n 
-0001291326 00000 n 
-0001291493 00000 n 
-0001295044 00000 n 
-0001294659 00000 n 
-0001292028 00000 n 
-0001294984 00000 n 
-0001294806 00000 n 
-0003266264 00000 n 
-0001299780 00000 n 
-0001298043 00000 n 
-0001295232 00000 n 
-0001299040 00000 n 
-0001299100 00000 n 
-0001299220 00000 n 
-0001298217 00000 n 
-0001299543 00000 n 
-0001299662 00000 n 
-0001298447 00000 n 
-0001298638 00000 n 
-0001298862 00000 n 
-0001637584 00000 n 
-0001306042 00000 n 
-0001302245 00000 n 
-0001299969 00000 n 
-0001305497 00000 n 
-0001305557 00000 n 
-0001302509 00000 n 
-0001302700 00000 n 
-0001305676 00000 n 
-0001302924 00000 n 
-0001303113 00000 n 
-0001303335 00000 n 
-0001303557 00000 n 
-0001303790 00000 n 
-0001305796 00000 n 
-0001304005 00000 n 
-0001304196 00000 n 
-0001304420 00000 n 
-0001304643 00000 n 
-0001304875 00000 n 
-0001305916 00000 n 
-0001305089 00000 n 
-0001305319 00000 n 
-0001744548 00000 n 
-0001643797 00000 n 
-0001310001 00000 n 
-0001308537 00000 n 
-0001306168 00000 n 
-0001309101 00000 n 
-0001309161 00000 n 
-0001308693 00000 n 
-0001309286 00000 n 
-0001309345 00000 n 
-0001309464 00000 n 
-0001309582 00000 n 
-0001309701 00000 n 
-0001309821 00000 n 
-0001309941 00000 n 
-0001308923 00000 n 
-0001643917 00000 n 
-0001312817 00000 n 
-0001312192 00000 n 
-0001310153 00000 n 
-0001312517 00000 n 
-0001312637 00000 n 
-0001312757 00000 n 
-0001312339 00000 n 
-0001315720 00000 n 
-0001315036 00000 n 
-0001312956 00000 n 
-0001315361 00000 n 
-0001315481 00000 n 
-0001315600 00000 n 
-0001315183 00000 n 
-0001320975 00000 n 
-0001318425 00000 n 
-0001315872 00000 n 
-0001320318 00000 n 
-0001320378 00000 n 
-0001320497 00000 n 
-0001318635 00000 n 
-0001320675 00000 n 
-0001318840 00000 n 
-0001320735 00000 n 
-0001320795 00000 n 
-0001319057 00000 n 
-0001320855 00000 n 
-0001319288 00000 n 
-0001319519 00000 n 
-0001320915 00000 n 
-0001319710 00000 n 
-0001319941 00000 n 
-0001320140 00000 n 
-0003266390 00000 n 
-0001331850 00000 n 
-0001324393 00000 n 
-0001321127 00000 n 
-0001330953 00000 n 
-0001331013 00000 n 
-0001324783 00000 n 
-0001331072 00000 n 
-0001325015 00000 n 
-0001325212 00000 n 
-0001325443 00000 n 
-0001331132 00000 n 
-0001325641 00000 n 
-0001325849 00000 n 
-0001331191 00000 n 
-0001326081 00000 n 
-0001331251 00000 n 
-0001326312 00000 n 
-0001326543 00000 n 
-0001331311 00000 n 
-0001326733 00000 n 
-0001331371 00000 n 
-0001326965 00000 n 
-0001327197 00000 n 
-0001327414 00000 n 
-0001331431 00000 n 
-0001327632 00000 n 
-0001327864 00000 n 
-0001328082 00000 n 
-0001331491 00000 n 
-0001328313 00000 n 
-0001331550 00000 n 
-0001328544 00000 n 
-0001331610 00000 n 
-0001328775 00000 n 
-0001329004 00000 n 
-0001329236 00000 n 
-0001331670 00000 n 
-0001329468 00000 n 
-0001329676 00000 n 
-0001331730 00000 n 
-0001329908 00000 n 
-0001330116 00000 n 
-0001331790 00000 n 
-0001330348 00000 n 
-0001330578 00000 n 
-0001330775 00000 n 
-0001347312 00000 n 
-0001347432 00000 n 
-0001339399 00000 n 
-0001335044 00000 n 
-0001332005 00000 n 
-0001338919 00000 n 
-0001338979 00000 n 
-0001339039 00000 n 
-0001335335 00000 n 
-0001335543 00000 n 
-0001335775 00000 n 
-0001339099 00000 n 
-0001335973 00000 n 
-0001339159 00000 n 
-0001336205 00000 n 
-0001339219 00000 n 
-0001336437 00000 n 
-0001336636 00000 n 
-0001336868 00000 n 
-0001339279 00000 n 
-0001337092 00000 n 
-0001337324 00000 n 
-0001337523 00000 n 
-0001337755 00000 n 
-0001337954 00000 n 
-0001338153 00000 n 
-0001339339 00000 n 
-0001338352 00000 n 
-0001338551 00000 n 
-0001338741 00000 n 
-0001347617 00000 n 
-0001347737 00000 n 
-0001342394 00000 n 
-0001342009 00000 n 
-0001339549 00000 n 
-0001342334 00000 n 
-0001342156 00000 n 
-0001348160 00000 n 
-0001344982 00000 n 
-0001342581 00000 n 
-0001347193 00000 n 
-0001347253 00000 n 
-0001347372 00000 n 
-0001345201 00000 n 
-0001345392 00000 n 
-0001345581 00000 n 
-0001347497 00000 n 
-0001345819 00000 n 
-0001346051 00000 n 
-0001347557 00000 n 
-0001347677 00000 n 
-0001347801 00000 n 
-0001346289 00000 n 
-0001347980 00000 n 
-0001348040 00000 n 
-0001346513 00000 n 
-0001348100 00000 n 
-0001346764 00000 n 
-0001347015 00000 n 
-0001683116 00000 n 
-0001683240 00000 n 
-0001354857 00000 n 
-0001350754 00000 n 
-0001348312 00000 n 
-0001354198 00000 n 
-0001354258 00000 n 
-0001351018 00000 n 
-0001354318 00000 n 
-0001351269 00000 n 
-0001354378 00000 n 
-0001351520 00000 n 
-0001351711 00000 n 
-0001354438 00000 n 
-0001351962 00000 n 
-0001352153 00000 n 
-0001354498 00000 n 
-0001352404 00000 n 
-0001354557 00000 n 
-0001352655 00000 n 
-0001354617 00000 n 
-0001352906 00000 n 
-0001354677 00000 n 
-0001353155 00000 n 
-0001354737 00000 n 
-0001353406 00000 n 
-0001353623 00000 n 
-0001353822 00000 n 
-0001354020 00000 n 
-0001366827 00000 n 
-0001358203 00000 n 
-0001354997 00000 n 
-0001366649 00000 n 
-0001366767 00000 n 
-0001358692 00000 n 
-0001358919 00000 n 
-0001359113 00000 n 
-0001359340 00000 n 
-0001359534 00000 n 
-0001359742 00000 n 
-0001359969 00000 n 
-0001360162 00000 n 
-0001360369 00000 n 
-0001360595 00000 n 
-0001360788 00000 n 
-0001361015 00000 n 
-0001361208 00000 n 
-0001361435 00000 n 
-0001361628 00000 n 
-0001361822 00000 n 
-0001362049 00000 n 
-0001362243 00000 n 
-0001362470 00000 n 
-0001362664 00000 n 
-0001362857 00000 n 
-0001363084 00000 n 
-0001363278 00000 n 
-0001363472 00000 n 
-0001363666 00000 n 
-0001363893 00000 n 
-0001364087 00000 n 
-0001364280 00000 n 
-0001364474 00000 n 
-0001364701 00000 n 
-0001364895 00000 n 
-0001365089 00000 n 
-0001365283 00000 n 
-0001365476 00000 n 
-0001365670 00000 n 
-0001365895 00000 n 
-0001366087 00000 n 
-0001366279 00000 n 
-0001366471 00000 n 
-0003266516 00000 n 
-0001374447 00000 n 
-0001374565 00000 n 
-0001374685 00000 n 
-0001374805 00000 n 
-0001374925 00000 n 
-0001375045 00000 n 
-0001375165 00000 n 
-0001377651 00000 n 
-0001377771 00000 n 
-0001377891 00000 n 
-0001378010 00000 n 
-0001378130 00000 n 
-0001375225 00000 n 
-0001369682 00000 n 
-0001366952 00000 n 
-0001374207 00000 n 
-0001370009 00000 n 
-0001370236 00000 n 
-0001370430 00000 n 
-0001370624 00000 n 
-0001370818 00000 n 
+0001203412 00000 n 
+0001203602 00000 n 
+0001203792 00000 n 
+0001203982 00000 n 
+0001204203 00000 n 
+0001204393 00000 n 
+0001204583 00000 n 
+0001207319 00000 n 
+0001207540 00000 n 
+0001207730 00000 n 
+0001207920 00000 n 
+0001208110 00000 n 
+0001208331 00000 n 
+0001208521 00000 n 
+0001208711 00000 n 
+0001204772 00000 n 
+0001205122 00000 n 
+0001196670 00000 n 
+0001195265 00000 n 
+0001204946 00000 n 
+0001205063 00000 n 
+0001211660 00000 n 
+0001211778 00000 n 
+0001211896 00000 n 
+0001212014 00000 n 
+0001212132 00000 n 
+0001212248 00000 n 
+0001212365 00000 n 
+0001214702 00000 n 
+0001214820 00000 n 
+0001214937 00000 n 
+0001215055 00000 n 
+0001215173 00000 n 
+0001208900 00000 n 
+0001209121 00000 n 
+0001209311 00000 n 
+0001209501 00000 n 
+0001209691 00000 n 
+0001209911 00000 n 
+0001210100 00000 n 
+0001210289 00000 n 
+0001210511 00000 n 
+0001210700 00000 n 
+0001210889 00000 n 
+0001211078 00000 n 
+0001211251 00000 n 
+0001212424 00000 n 
+0001206995 00000 n 
+0001205247 00000 n 
+0001211425 00000 n 
+0001211484 00000 n 
+0001211543 00000 n 
+0001211601 00000 n 
+0001211719 00000 n 
+0001211837 00000 n 
+0001211955 00000 n 
+0001212073 00000 n 
+0001212189 00000 n 
+0001212307 00000 n 
+0001215295 00000 n 
+0001215413 00000 n 
+0001215531 00000 n 
+0001215648 00000 n 
+0001214410 00000 n 
+0001215828 00000 n 
+0001214266 00000 n 
+0001212564 00000 n 
+0001214584 00000 n 
+0001214643 00000 n 
+0001214761 00000 n 
+0001214879 00000 n 
+0001214996 00000 n 
+0001215114 00000 n 
+0001215236 00000 n 
+0001215354 00000 n 
+0001215472 00000 n 
+0001215590 00000 n 
+0001215712 00000 n 
+0001217823 00000 n 
+0001218027 00000 n 
+0001218242 00000 n 
+0001218456 00000 n 
+0001218659 00000 n 
+0001218863 00000 n 
+0001219077 00000 n 
+0001219273 00000 n 
+0001219487 00000 n 
+0001219682 00000 n 
+0001219875 00000 n 
+0001220089 00000 n 
+0001220285 00000 n 
+0001220499 00000 n 
+0001220694 00000 n 
+0001220887 00000 n 
+0001221101 00000 n 
+0001221302 00000 n 
+0001221516 00000 n 
+0001221716 00000 n 
+0001221909 00000 n 
+0001222123 00000 n 
+0001222304 00000 n 
+0001222490 00000 n 
+0001222694 00000 n 
+0001222908 00000 n 
+0001223095 00000 n 
+0001223299 00000 n 
+0001223513 00000 n 
+0001223707 00000 n 
+0001223911 00000 n 
+0001224125 00000 n 
+0001224306 00000 n 
+0001227312 00000 n 
+0001227526 00000 n 
+0001227714 00000 n 
+0001224504 00000 n 
+0001224969 00000 n 
+0001217382 00000 n 
+0001215954 00000 n 
+0001224678 00000 n 
+0001224795 00000 n 
+0001224853 00000 n 
+0001224911 00000 n 
+0001309852 00000 n 
+0001309970 00000 n 
+0001311977 00000 n 
+0001312095 00000 n 
+0001312213 00000 n 
+0001312331 00000 n 
+0001314556 00000 n 
+0001314674 00000 n 
+0001314792 00000 n 
+0001317414 00000 n 
+0001317529 00000 n 
+0001227917 00000 n 
+0001228131 00000 n 
+0001228313 00000 n 
+0001228517 00000 n 
+0001228698 00000 n 
+0001228912 00000 n 
+0001229094 00000 n 
+0001229298 00000 n 
+0001229512 00000 n 
+0001229716 00000 n 
+0001229931 00000 n 
+0001230101 00000 n 
+0001230297 00000 n 
+0001230510 00000 n 
+0001230706 00000 n 
+0001230920 00000 n 
+0001231116 00000 n 
+0001231331 00000 n 
+0001231527 00000 n 
+0001231742 00000 n 
+0001231943 00000 n 
+0001232157 00000 n 
+0001232357 00000 n 
+0001232570 00000 n 
+0001232767 00000 n 
+0001232981 00000 n 
+0001233168 00000 n 
+0001233365 00000 n 
+0001233579 00000 n 
+0001233771 00000 n 
+0001233968 00000 n 
+0001234182 00000 n 
+0001234368 00000 n 
+0001234564 00000 n 
+0001234777 00000 n 
+0001234963 00000 n 
+0001238434 00000 n 
+0001235176 00000 n 
+0001236230 00000 n 
+0001226817 00000 n 
+0001225108 00000 n 
+0001235350 00000 n 
+0001235409 00000 n 
+0001235468 00000 n 
+0001235527 00000 n 
+0001235586 00000 n 
+0001235645 00000 n 
+0001235704 00000 n 
+0001235763 00000 n 
+0001235822 00000 n 
+0001235880 00000 n 
+0001235939 00000 n 
+0001235998 00000 n 
+0001236057 00000 n 
+0001236112 00000 n 
+0001236171 00000 n 
+0001320782 00000 n 
+0001320905 00000 n 
+0001238649 00000 n 
+0001238863 00000 n 
+0001239078 00000 n 
+0001239260 00000 n 
+0001239475 00000 n 
+0001239690 00000 n 
+0001239905 00000 n 
+0001240120 00000 n 
+0001240306 00000 n 
+0001240520 00000 n 
+0001240715 00000 n 
+0001240930 00000 n 
+0001241125 00000 n 
+0001241339 00000 n 
+0001241535 00000 n 
+0001241739 00000 n 
+0001241943 00000 n 
+0001242157 00000 n 
+0001242353 00000 n 
+0001242557 00000 n 
+0001242761 00000 n 
+0001242948 00000 n 
+0001243163 00000 n 
+0001243359 00000 n 
+0001243562 00000 n 
+0001243765 00000 n 
+0001243980 00000 n 
+0001244176 00000 n 
+0001244379 00000 n 
+0001244582 00000 n 
+0001244769 00000 n 
+0001244984 00000 n 
+0001245166 00000 n 
+0001245381 00000 n 
+0001248186 00000 n 
+0001248399 00000 n 
+0001248580 00000 n 
+0001245562 00000 n 
+0001245972 00000 n 
+0001237975 00000 n 
+0001236370 00000 n 
+0001245736 00000 n 
+0001245795 00000 n 
+0001245854 00000 n 
+0001245913 00000 n 
+0002867590 00000 n 
+0001323169 00000 n 
+0001323285 00000 n 
+0001323408 00000 n 
+0001323525 00000 n 
+0001323648 00000 n 
+0001323766 00000 n 
+0001326700 00000 n 
+0001326818 00000 n 
+0001326940 00000 n 
+0001330017 00000 n 
+0001330140 00000 n 
+0001330262 00000 n 
+0001248766 00000 n 
+0001248981 00000 n 
+0001249194 00000 n 
+0001249382 00000 n 
+0001249597 00000 n 
+0001249783 00000 n 
+0001249996 00000 n 
+0001250189 00000 n 
+0001250404 00000 n 
+0001250597 00000 n 
+0001250808 00000 n 
+0001251001 00000 n 
+0001251213 00000 n 
+0001251408 00000 n 
+0001251623 00000 n 
+0001251819 00000 n 
+0001252034 00000 n 
+0001252230 00000 n 
+0001252443 00000 n 
+0001252631 00000 n 
+0001252846 00000 n 
+0001253034 00000 n 
+0001253246 00000 n 
+0001253441 00000 n 
+0001253656 00000 n 
+0001253851 00000 n 
+0001254064 00000 n 
+0001254260 00000 n 
+0001254475 00000 n 
+0001254671 00000 n 
+0001254883 00000 n 
+0001258000 00000 n 
+0001258213 00000 n 
+0001258409 00000 n 
+0001258622 00000 n 
+0001255071 00000 n 
+0001255304 00000 n 
+0001247736 00000 n 
+0001246098 00000 n 
+0001255245 00000 n 
+0001333501 00000 n 
+0001333619 00000 n 
+0001333735 00000 n 
+0001336579 00000 n 
+0001336814 00000 n 
+0001339263 00000 n 
+0001342021 00000 n 
+0001344939 00000 n 
+0001345175 00000 n 
+0001347847 00000 n 
+0001258810 00000 n 
+0001259022 00000 n 
+0001259218 00000 n 
+0001259431 00000 n 
+0001259632 00000 n 
+0001259845 00000 n 
+0001260046 00000 n 
+0001260260 00000 n 
+0001260461 00000 n 
+0001260675 00000 n 
+0001260875 00000 n 
+0001261088 00000 n 
+0001261274 00000 n 
+0001261439 00000 n 
+0001261652 00000 n 
+0001261844 00000 n 
+0001262009 00000 n 
+0001262222 00000 n 
+0001262404 00000 n 
+0001262619 00000 n 
+0001262801 00000 n 
+0001263013 00000 n 
+0001263193 00000 n 
+0001263408 00000 n 
+0001263589 00000 n 
+0001263804 00000 n 
+0001263985 00000 n 
+0001264198 00000 n 
+0001264378 00000 n 
+0001264541 00000 n 
+0001264755 00000 n 
+0001264936 00000 n 
+0001265115 00000 n 
+0001265330 00000 n 
+0001265516 00000 n 
+0001265712 00000 n 
+0001269481 00000 n 
+0001269696 00000 n 
+0001269882 00000 n 
+0001265885 00000 n 
+0001266118 00000 n 
+0001257496 00000 n 
+0001255457 00000 n 
+0001266059 00000 n 
+0001347963 00000 n 
+0001348081 00000 n 
+0001350253 00000 n 
+0001350371 00000 n 
+0001350488 00000 n 
+0001353963 00000 n 
+0001354081 00000 n 
+0001356887 00000 n 
+0001357123 00000 n 
+0001360151 00000 n 
+0001360269 00000 n 
+0001360387 00000 n 
+0001360505 00000 n 
+0001270078 00000 n 
+0001270252 00000 n 
+0001270466 00000 n 
+0001270651 00000 n 
+0001270854 00000 n 
+0001271049 00000 n 
+0001271220 00000 n 
+0001271435 00000 n 
+0001271621 00000 n 
+0001271825 00000 n 
+0001272216 00000 n 
+0001272387 00000 n 
+0001272602 00000 n 
+0001272798 00000 n 
+0001273002 00000 n 
+0001273198 00000 n 
+0001273368 00000 n 
+0001273582 00000 n 
+0001273777 00000 n 
+0001273980 00000 n 
+0001274176 00000 n 
+0001274346 00000 n 
+0001274561 00000 n 
+0001274746 00000 n 
+0001274942 00000 n 
+0001275333 00000 n 
+0001275520 00000 n 
+0001275735 00000 n 
+0001275921 00000 n 
+0001276117 00000 n 
+0001276508 00000 n 
+0001276695 00000 n 
+0001276907 00000 n 
+0001277089 00000 n 
+0001277254 00000 n 
+0001277466 00000 n 
+0001277679 00000 n 
+0001277860 00000 n 
+0001278021 00000 n 
+0001278232 00000 n 
+0001278413 00000 n 
+0001278573 00000 n 
+0001278785 00000 n 
+0001278967 00000 n 
+0001282203 00000 n 
+0001282418 00000 n 
+0001282600 00000 n 
+0001279128 00000 n 
+0001279420 00000 n 
+0001268887 00000 n 
+0001266244 00000 n 
+0001279302 00000 n 
+0001272021 00000 n 
+0001275138 00000 n 
+0001276313 00000 n 
+0001279361 00000 n 
+0001363794 00000 n 
+0001363909 00000 n 
+0001366920 00000 n 
+0001367038 00000 n 
+0001367156 00000 n 
+0001370645 00000 n 
+0001370763 00000 n 
+0001373990 00000 n 
+0001374108 00000 n 
+0001374226 00000 n 
+0001374344 00000 n 
+0001282796 00000 n 
+0001282956 00000 n 
+0001283171 00000 n 
+0001283353 00000 n 
+0001283549 00000 n 
+0001283711 00000 n 
+0001283925 00000 n 
+0001284107 00000 n 
+0001284303 00000 n 
+0001284465 00000 n 
+0001284678 00000 n 
+0001284882 00000 n 
+0001285094 00000 n 
+0001285296 00000 n 
+0001285508 00000 n 
+0001285688 00000 n 
+0001285852 00000 n 
+0001286064 00000 n 
+0001286256 00000 n 
+0001286469 00000 n 
+0001286673 00000 n 
+0001286886 00000 n 
+0001287059 00000 n 
+0001287272 00000 n 
+0001287458 00000 n 
+0001287662 00000 n 
+0001287874 00000 n 
+0001288066 00000 n 
+0001288252 00000 n 
+0001288467 00000 n 
+0001288680 00000 n 
+0001288862 00000 n 
+0001291715 00000 n 
+0001289073 00000 n 
+0001289482 00000 n 
+0001281744 00000 n 
+0001279600 00000 n 
+0001289247 00000 n 
+0001289306 00000 n 
+0001289364 00000 n 
+0001289423 00000 n 
+0001377754 00000 n 
+0001377872 00000 n 
+0001377990 00000 n 
+0001381519 00000 n 
+0001381634 00000 n 
+0001385639 00000 n 
+0001385757 00000 n 
+0001385875 00000 n 
+0001385993 00000 n 
+0001390356 00000 n 
+0001390479 00000 n 
+0001291928 00000 n 
+0001292141 00000 n 
+0001292356 00000 n 
+0001292571 00000 n 
+0001292775 00000 n 
+0001292988 00000 n 
+0001293192 00000 n 
+0001293405 00000 n 
+0001293620 00000 n 
+0001293824 00000 n 
+0001294039 00000 n 
+0001294220 00000 n 
+0001294434 00000 n 
+0001294649 00000 n 
+0001294863 00000 n 
+0001295045 00000 n 
+0001295227 00000 n 
+0001295442 00000 n 
+0001295623 00000 n 
+0001295838 00000 n 
+0001296019 00000 n 
+0001296201 00000 n 
+0001296416 00000 n 
+0001296598 00000 n 
+0001296780 00000 n 
+0001297661 00000 n 
+0001291346 00000 n 
+0001289635 00000 n 
+0001296954 00000 n 
+0001297013 00000 n 
+0001297072 00000 n 
+0001297131 00000 n 
+0001297190 00000 n 
+0001297249 00000 n 
+0001297308 00000 n 
+0001297367 00000 n 
+0001297426 00000 n 
+0001297484 00000 n 
+0001297543 00000 n 
+0001297602 00000 n 
+0001394063 00000 n 
+0001394243 00000 n 
+0001394361 00000 n 
+0001394484 00000 n 
+0001394606 00000 n 
+0001300452 00000 n 
+0001300633 00000 n 
+0001300800 00000 n 
+0001300970 00000 n 
+0001301262 00000 n 
+0001300281 00000 n 
+0001297814 00000 n 
+0001301144 00000 n 
+0001301203 00000 n 
+0002867716 00000 n 
+0001303605 00000 n 
+0001303838 00000 n 
+0001303461 00000 n 
+0001301425 00000 n 
+0001303779 00000 n 
+0001306672 00000 n 
+0001306905 00000 n 
+0001306528 00000 n 
+0001304012 00000 n 
+0001306846 00000 n 
+0001309560 00000 n 
+0001310088 00000 n 
+0001309416 00000 n 
+0001307079 00000 n 
+0001309734 00000 n 
+0001309793 00000 n 
+0001309911 00000 n 
+0001310029 00000 n 
+0001311744 00000 n 
+0001312389 00000 n 
+0001311600 00000 n 
+0001310289 00000 n 
+0001311918 00000 n 
+0001312036 00000 n 
+0001312154 00000 n 
+0001312272 00000 n 
+0001314264 00000 n 
+0001314851 00000 n 
+0001314120 00000 n 
+0001312502 00000 n 
+0001314438 00000 n 
+0001314497 00000 n 
+0001314615 00000 n 
+0001314733 00000 n 
+0001317122 00000 n 
+0001317647 00000 n 
+0001316978 00000 n 
+0001314977 00000 n 
+0001317296 00000 n 
+0001317355 00000 n 
+0001317471 00000 n 
+0001317588 00000 n 
+0002867842 00000 n 
+0001320368 00000 n 
+0001320549 00000 n 
+0001320964 00000 n 
+0001320215 00000 n 
+0001317773 00000 n 
+0001320723 00000 n 
+0001320846 00000 n 
+0001322818 00000 n 
+0001323884 00000 n 
+0001322674 00000 n 
+0001321102 00000 n 
+0001322992 00000 n 
+0001323051 00000 n 
+0001323110 00000 n 
+0001323227 00000 n 
+0001323349 00000 n 
+0001323467 00000 n 
+0001323589 00000 n 
+0001323707 00000 n 
+0001323825 00000 n 
+0001326093 00000 n 
+0001326280 00000 n 
+0001326467 00000 n 
+0001327004 00000 n 
+0001325931 00000 n 
+0001324010 00000 n 
+0001326641 00000 n 
+0001326759 00000 n 
+0001326882 00000 n 
+0001329354 00000 n 
+0001329539 00000 n 
+0001329725 00000 n 
+0001330320 00000 n 
+0001329192 00000 n 
+0001327130 00000 n 
+0001329899 00000 n 
+0001329958 00000 n 
+0001330081 00000 n 
+0001330204 00000 n 
+0001333028 00000 n 
+0001333209 00000 n 
+0001333799 00000 n 
+0001332875 00000 n 
+0001330446 00000 n 
+0001333383 00000 n 
+0001333442 00000 n 
+0001333560 00000 n 
+0001333677 00000 n 
+0001335440 00000 n 
+0001335611 00000 n 
+0001335805 00000 n 
+0001335976 00000 n 
+0001336169 00000 n 
+0001336872 00000 n 
+0001335260 00000 n 
+0001333938 00000 n 
+0001336343 00000 n 
+0001336402 00000 n 
+0001336520 00000 n 
+0001336638 00000 n 
+0001336756 00000 n 
+0002867968 00000 n 
+0001338606 00000 n 
+0001338777 00000 n 
+0001338971 00000 n 
+0001339557 00000 n 
+0001338444 00000 n 
+0001336998 00000 n 
+0001339145 00000 n 
+0001339204 00000 n 
+0001339322 00000 n 
+0001339439 00000 n 
+0001341364 00000 n 
+0001341535 00000 n 
+0001343976 00000 n 
+0001344147 00000 n 
+0001341729 00000 n 
+0001342257 00000 n 
+0001341202 00000 n 
+0001339683 00000 n 
+0001341903 00000 n 
+0001341962 00000 n 
+0001342080 00000 n 
+0001342198 00000 n 
+0001344341 00000 n 
+0001344512 00000 n 
+0001344706 00000 n 
+0001345350 00000 n 
+0001343796 00000 n 
+0001342383 00000 n 
+0001344880 00000 n 
+0001344998 00000 n 
+0001345116 00000 n 
+0001345234 00000 n 
+0001347190 00000 n 
+0001347361 00000 n 
+0001347555 00000 n 
+0001348140 00000 n 
+0001347028 00000 n 
+0001345476 00000 n 
+0001347729 00000 n 
+0001347788 00000 n 
+0001347905 00000 n 
+0001348022 00000 n 
+0001349961 00000 n 
+0001350664 00000 n 
+0001349817 00000 n 
+0001348266 00000 n 
+0001350135 00000 n 
+0001350194 00000 n 
+0001350312 00000 n 
+0001350429 00000 n 
+0001350547 00000 n 
+0001352660 00000 n 
+0001352831 00000 n 
+0001353025 00000 n 
+0001353196 00000 n 
+0001353390 00000 n 
+0001353553 00000 n 
+0001354139 00000 n 
+0001352471 00000 n 
+0001350790 00000 n 
+0001353727 00000 n 
+0001353786 00000 n 
+0001353904 00000 n 
+0001354022 00000 n 
+0002868094 00000 n 
+0001355879 00000 n 
+0001356044 00000 n 
+0001356230 00000 n 
+0001356401 00000 n 
+0001356595 00000 n 
+0001357300 00000 n 
+0001355699 00000 n 
+0001354265 00000 n 
+0001356769 00000 n 
+0001356828 00000 n 
+0001356946 00000 n 
+0001357064 00000 n 
+0001357182 00000 n 
+0001359151 00000 n 
+0001359322 00000 n 
+0001359516 00000 n 
+0001359680 00000 n 
+0001362982 00000 n 
+0001359859 00000 n 
+0001360560 00000 n 
+0001358971 00000 n 
+0001357426 00000 n 
+0001360033 00000 n 
+0001360092 00000 n 
+0001360210 00000 n 
+0001360328 00000 n 
+0001360446 00000 n 
+0001363157 00000 n 
+0001363332 00000 n 
+0001363502 00000 n 
+0001364027 00000 n 
+0001362811 00000 n 
+0001360686 00000 n 
+0001363676 00000 n 
+0001363735 00000 n 
+0001363852 00000 n 
+0001363968 00000 n 
+0001366346 00000 n 
+0001366517 00000 n 
+0001369809 00000 n 
+0001366687 00000 n 
+0001367215 00000 n 
+0001366184 00000 n 
+0001364190 00000 n 
+0001366861 00000 n 
+0001366979 00000 n 
+0001367097 00000 n 
+0001369980 00000 n 
+0001370167 00000 n 
+0001370353 00000 n 
+0001370881 00000 n 
+0001369638 00000 n 
+0001367378 00000 n 
+0001370527 00000 n 
+0001370586 00000 n 
+0001370704 00000 n 
+0001370822 00000 n 
+0001372924 00000 n 
+0001373088 00000 n 
+0001373249 00000 n 
+0001373422 00000 n 
+0001373584 00000 n 
+0001376460 00000 n 
+0001373757 00000 n 
+0001374403 00000 n 
+0001372735 00000 n 
 0001371044 00000 n 
-0001371237 00000 n 
-0001371430 00000 n 
-0001371623 00000 n 
-0001371850 00000 n 
-0001372044 00000 n 
-0001372238 00000 n 
-0001372432 00000 n 
-0001372659 00000 n 
-0001372853 00000 n 
-0001374267 00000 n 
-0001373047 00000 n 
-0001373274 00000 n 
-0001373468 00000 n 
-0001374327 00000 n 
-0001373662 00000 n 
-0001373853 00000 n 
-0001374387 00000 n 
-0001374506 00000 n 
-0001374625 00000 n 
-0001374745 00000 n 
-0001374865 00000 n 
-0001374985 00000 n 
-0001375105 00000 n 
-0001374029 00000 n 
-0001378256 00000 n 
-0001378375 00000 n 
-0001378495 00000 n 
-0001378615 00000 n 
-0001378799 00000 n 
-0001377207 00000 n 
-0001375366 00000 n 
-0001377532 00000 n 
-0001377592 00000 n 
-0001377711 00000 n 
-0001377831 00000 n 
-0001377951 00000 n 
-0001378070 00000 n 
-0001378196 00000 n 
-0001378315 00000 n 
-0001378435 00000 n 
-0001378555 00000 n 
-0001378681 00000 n 
-0001377354 00000 n 
-0001389525 00000 n 
-0001381790 00000 n 
-0001378925 00000 n 
-0001389227 00000 n 
-0001389345 00000 n 
-0001389405 00000 n 
-0001382234 00000 n 
-0001382442 00000 n 
-0001389465 00000 n 
-0001382661 00000 n 
-0001382880 00000 n 
-0001383088 00000 n 
-0001383296 00000 n 
-0001383515 00000 n 
-0001383714 00000 n 
-0001383931 00000 n 
-0001384129 00000 n 
-0001384324 00000 n 
-0001384543 00000 n 
-0001384743 00000 n 
-0001384962 00000 n 
-0001385161 00000 n 
-0001385357 00000 n 
-0001385576 00000 n 
-0001385781 00000 n 
-0001386000 00000 n 
-0001386205 00000 n 
-0001386402 00000 n 
-0001386621 00000 n 
-0001386806 00000 n 
-0001386996 00000 n 
-0001387203 00000 n 
-0001387422 00000 n 
-0001387613 00000 n 
-0001387821 00000 n 
-0001388040 00000 n 
-0001388238 00000 n 
-0001388446 00000 n 
-0001388664 00000 n 
-0001388848 00000 n 
-0001389049 00000 n 
-0001489793 00000 n 
-0001489913 00000 n 
-0001492420 00000 n 
-0001492540 00000 n 
-0001492660 00000 n 
-0001492779 00000 n 
-0001495433 00000 n 
-0001495553 00000 n 
-0001495673 00000 n 
-0001498678 00000 n 
-0001498796 00000 n 
-0001402756 00000 n 
-0001393149 00000 n 
-0001389664 00000 n 
-0001401858 00000 n 
-0001393647 00000 n 
-0001393866 00000 n 
-0001394058 00000 n 
-0001394266 00000 n 
-0001394485 00000 n 
-0001394671 00000 n 
-0001401918 00000 n 
-0001394879 00000 n 
-0001395065 00000 n 
-0001395284 00000 n 
-0001401977 00000 n 
-0001395470 00000 n 
-0001395678 00000 n 
-0001402037 00000 n 
-0001395897 00000 n 
-0001396105 00000 n 
-0001396324 00000 n 
-0001402097 00000 n 
-0001396497 00000 n 
-0001396697 00000 n 
-0001402157 00000 n 
-0001396914 00000 n 
-0001397114 00000 n 
-0001402217 00000 n 
-0001397331 00000 n 
-0001397529 00000 n 
-0001402277 00000 n 
-0001397746 00000 n 
-0001397946 00000 n 
-0001402337 00000 n 
-0001398165 00000 n 
-0001398369 00000 n 
-0001402397 00000 n 
-0001398587 00000 n 
-0001398792 00000 n 
-0001402457 00000 n 
-0001399011 00000 n 
-0001399212 00000 n 
-0001399431 00000 n 
-0001402517 00000 n 
-0001399623 00000 n 
-0001399824 00000 n 
-0001400043 00000 n 
-0001402577 00000 n 
-0001400240 00000 n 
-0001400441 00000 n 
-0001400660 00000 n 
-0001402637 00000 n 
-0001400851 00000 n 
-0001401052 00000 n 
-0001401271 00000 n 
-0001402696 00000 n 
-0001401463 00000 n 
-0001401680 00000 n 
-0001502410 00000 n 
-0001502536 00000 n 
-0001414445 00000 n 
-0001406290 00000 n 
-0001402897 00000 n 
-0001414206 00000 n 
-0001414266 00000 n 
-0001406752 00000 n 
-0001406971 00000 n 
-0001407190 00000 n 
-0001407409 00000 n 
-0001407595 00000 n 
-0001414325 00000 n 
-0001407814 00000 n 
-0001414385 00000 n 
-0001408033 00000 n 
-0001408252 00000 n 
-0001408471 00000 n 
-0001408660 00000 n 
-0001408879 00000 n 
-0001409079 00000 n 
-0001409298 00000 n 
-0001409498 00000 n 
-0001409717 00000 n 
-0001409917 00000 n 
-0001410125 00000 n 
-0001410333 00000 n 
-0001410552 00000 n 
-0001410752 00000 n 
-0001410960 00000 n 
-0001411168 00000 n 
-0001411358 00000 n 
-0001411577 00000 n 
-0001411777 00000 n 
-0001411985 00000 n 
-0001412193 00000 n 
-0001412412 00000 n 
-0001412612 00000 n 
-0001412820 00000 n 
-0001413028 00000 n 
-0001413218 00000 n 
-0001413437 00000 n 
-0001413623 00000 n 
-0001413842 00000 n 
-0001414028 00000 n 
-0001505030 00000 n 
-0001505150 00000 n 
-0001505275 00000 n 
-0001505395 00000 n 
-0001505521 00000 n 
-0001505641 00000 n 
-0001509140 00000 n 
-0001509260 00000 n 
-0001509386 00000 n 
-0001512989 00000 n 
-0001513115 00000 n 
-0001513241 00000 n 
-0001425821 00000 n 
-0001418098 00000 n 
-0001414572 00000 n 
-0001425761 00000 n 
-0001418551 00000 n 
-0001418769 00000 n 
-0001418952 00000 n 
-0001419140 00000 n 
-0001419359 00000 n 
-0001419577 00000 n 
-0001419769 00000 n 
-0001419988 00000 n 
-0001420179 00000 n 
-0001420398 00000 n 
-0001420595 00000 n 
-0001420813 00000 n 
-0001421009 00000 n 
-0001421228 00000 n 
-0001421428 00000 n 
-0001421647 00000 n 
-0001421847 00000 n 
-0001422066 00000 n 
-0001422266 00000 n 
-0001422484 00000 n 
-0001422683 00000 n 
-0001422902 00000 n 
-0001423093 00000 n 
-0001423312 00000 n 
-0001423503 00000 n 
-0001423722 00000 n 
-0001423922 00000 n 
-0001424138 00000 n 
-0001424336 00000 n 
-0001424554 00000 n 
-0001424754 00000 n 
-0001424972 00000 n 
-0001425172 00000 n 
-0001425391 00000 n 
-0001425583 00000 n 
-0003266642 00000 n 
-0001516819 00000 n 
-0001516939 00000 n 
-0001517057 00000 n 
-0001520340 00000 n 
-0001520580 00000 n 
-0001523460 00000 n 
-0001526721 00000 n 
-0001530157 00000 n 
-0001530397 00000 n 
-0001533514 00000 n 
-0001438931 00000 n 
-0001430122 00000 n 
-0001425975 00000 n 
-0001438871 00000 n 
-0001430629 00000 n 
-0001430848 00000 n 
-0001431048 00000 n 
-0001431267 00000 n 
-0001431459 00000 n 
-0001431678 00000 n 
-0001431878 00000 n 
-0001432096 00000 n 
-0001432300 00000 n 
-0001432519 00000 n 
-0001432724 00000 n 
-0001432943 00000 n 
-0001433148 00000 n 
-0001433367 00000 n 
-0001433572 00000 n 
-0001433791 00000 n 
-0001433980 00000 n 
-0001434148 00000 n 
-0001434367 00000 n 
-0001434563 00000 n 
-0001434731 00000 n 
-0001434949 00000 n 
-0001435134 00000 n 
-0001435353 00000 n 
-0001435539 00000 n 
-0001435758 00000 n 
-0001435944 00000 n 
-0001436163 00000 n 
-0001436349 00000 n 
-0001436567 00000 n 
-0001436752 00000 n 
-0001436971 00000 n 
-0001437156 00000 n 
-0001437322 00000 n 
-0001437541 00000 n 
-0001437727 00000 n 
-0001437910 00000 n 
-0001438127 00000 n 
-0001438316 00000 n 
-0001438515 00000 n 
-0001438693 00000 n 
-0001533634 00000 n 
-0001533754 00000 n 
-0001536347 00000 n 
-0001536466 00000 n 
-0001536586 00000 n 
-0001540628 00000 n 
-0001540748 00000 n 
-0001544022 00000 n 
-0001544262 00000 n 
-0001547749 00000 n 
-0001547869 00000 n 
-0001547989 00000 n 
-0001548109 00000 n 
-0001454569 00000 n 
-0001443826 00000 n 
-0001439058 00000 n 
-0001454449 00000 n 
-0001444423 00000 n 
-0001444642 00000 n 
-0001444832 00000 n 
-0001445032 00000 n 
-0001445209 00000 n 
-0001445425 00000 n 
-0001445612 00000 n 
-0001445817 00000 n 
-0001446014 00000 n 
-0001446189 00000 n 
-0001446407 00000 n 
-0001446596 00000 n 
-0001446804 00000 n 
-0001447004 00000 n 
-0001447204 00000 n 
-0001447377 00000 n 
-0001447595 00000 n 
-0001447794 00000 n 
-0001448001 00000 n 
-0001448201 00000 n 
-0001448376 00000 n 
-0001448595 00000 n 
-0001448795 00000 n 
-0001449002 00000 n 
-0001449202 00000 n 
-0001449377 00000 n 
-0001449596 00000 n 
-0001449786 00000 n 
-0001449986 00000 n 
-0001450186 00000 n 
-0001450384 00000 n 
-0001450575 00000 n 
-0001450792 00000 n 
-0001450980 00000 n 
-0001451178 00000 n 
-0001451377 00000 n 
-0001451577 00000 n 
-0001451768 00000 n 
-0001451987 00000 n 
-0001452173 00000 n 
-0001454509 00000 n 
-0001452341 00000 n 
-0001452560 00000 n 
-0001452779 00000 n 
-0001452965 00000 n 
-0001453130 00000 n 
-0001453349 00000 n 
-0001453535 00000 n 
-0001453701 00000 n 
-0001453920 00000 n 
-0001454106 00000 n 
-0001454271 00000 n 
-0001552057 00000 n 
-0001552177 00000 n 
-0001555813 00000 n 
-0001555932 00000 n 
-0001556052 00000 n 
-0001560280 00000 n 
-0001560399 00000 n 
-0001564295 00000 n 
-0001564414 00000 n 
-0001564533 00000 n 
-0001564653 00000 n 
-0001466584 00000 n 
-0001458674 00000 n 
-0001454750 00000 n 
-0001466344 00000 n 
-0001459136 00000 n 
-0001459355 00000 n 
-0001459541 00000 n 
-0001459741 00000 n 
-0001459906 00000 n 
-0001460124 00000 n 
-0001460310 00000 n 
-0001460510 00000 n 
-0001460676 00000 n 
-0001460894 00000 n 
-0001461079 00000 n 
-0001461278 00000 n 
-0001461444 00000 n 
-0001461663 00000 n 
-0001461871 00000 n 
-0001462090 00000 n 
-0001462298 00000 n 
-0001462517 00000 n 
-0001462701 00000 n 
-0001462869 00000 n 
-0001463088 00000 n 
-0001463283 00000 n 
-0001463502 00000 n 
-0001463710 00000 n 
-0001463929 00000 n 
-0001464107 00000 n 
-0001464325 00000 n 
-0001464514 00000 n 
-0001464721 00000 n 
-0001464940 00000 n 
-0001465136 00000 n 
-0001466404 00000 n 
-0001465326 00000 n 
-0001466464 00000 n 
-0001465544 00000 n 
-0001465763 00000 n 
-0001466524 00000 n 
-0001465949 00000 n 
-0001466166 00000 n 
-0001568823 00000 n 
-0001568943 00000 n 
-0001569063 00000 n 
-0001573167 00000 n 
-0001573287 00000 n 
-0001577799 00000 n 
-0001577918 00000 n 
-0001578038 00000 n 
-0001578158 00000 n 
-0001583086 00000 n 
-0001583212 00000 n 
-0001476362 00000 n 
-0001469921 00000 n 
-0001466738 00000 n 
-0001475643 00000 n 
-0001475703 00000 n 
-0001470293 00000 n 
-0001475763 00000 n 
-0001470511 00000 n 
-0001475823 00000 n 
-0001470730 00000 n 
-0001470949 00000 n 
-0001475883 00000 n 
-0001471168 00000 n 
-0001471376 00000 n 
-0001475943 00000 n 
-0001471595 00000 n 
-0001471803 00000 n 
-0001472022 00000 n 
-0001476002 00000 n 
-0001476062 00000 n 
-0001472241 00000 n 
-0001472449 00000 n 
-0001472668 00000 n 
-0001476122 00000 n 
-0001472852 00000 n 
-0001476182 00000 n 
-0001473071 00000 n 
-0001476242 00000 n 
-0001473290 00000 n 
-0001473509 00000 n 
-0001473694 00000 n 
-0001476302 00000 n 
-0001473879 00000 n 
-0001474098 00000 n 
-0001474284 00000 n 
-0001474503 00000 n 
-0001474689 00000 n 
-0001474875 00000 n 
-0001475094 00000 n 
-0001475280 00000 n 
-0001475465 00000 n 
-0001587179 00000 n 
-0001587364 00000 n 
-0001587484 00000 n 
-0001587610 00000 n 
-0001587735 00000 n 
-0001480425 00000 n 
-0001479423 00000 n 
-0001476517 00000 n 
-0001480306 00000 n 
-0001480366 00000 n 
-0001479597 00000 n 
-0001479783 00000 n 
-0001479955 00000 n 
-0001480128 00000 n 
-0001483300 00000 n 
-0001482915 00000 n 
-0001480588 00000 n 
-0001483240 00000 n 
-0001483062 00000 n 
-0003266768 00000 n 
-0001486598 00000 n 
-0001486213 00000 n 
-0001483474 00000 n 
-0001486538 00000 n 
-0001486360 00000 n 
-0001490033 00000 n 
-0001489348 00000 n 
-0001486772 00000 n 
-0001489673 00000 n 
-0001489733 00000 n 
-0001489853 00000 n 
-0001489973 00000 n 
-0001489495 00000 n 
-0001492838 00000 n 
-0001492035 00000 n 
+0001373931 00000 n 
+0001374049 00000 n 
+0001374167 00000 n 
+0001374285 00000 n 
+0002868220 00000 n 
+0001376622 00000 n 
+0001376794 00000 n 
+0001376955 00000 n 
+0001377128 00000 n 
+0001377290 00000 n 
+0001380463 00000 n 
+0001377462 00000 n 
+0001378049 00000 n 
+0001376262 00000 n 
+0001374542 00000 n 
+0001377636 00000 n 
+0001377695 00000 n 
+0001377813 00000 n 
+0001377931 00000 n 
+0001380624 00000 n 
+0001380797 00000 n 
+0001381012 00000 n 
+0001381227 00000 n 
+0001381752 00000 n 
+0001380283 00000 n 
+0001378188 00000 n 
+0001381401 00000 n 
+0001381460 00000 n 
+0001381577 00000 n 
+0001381693 00000 n 
+0001384481 00000 n 
+0001384646 00000 n 
+0001384861 00000 n 
+0001385046 00000 n 
+0001385232 00000 n 
+0001385406 00000 n 
+0001386111 00000 n 
+0001384292 00000 n 
+0001381953 00000 n 
+0001385580 00000 n 
+0001385698 00000 n 
+0001385816 00000 n 
+0001385934 00000 n 
+0001386052 00000 n 
+0001389191 00000 n 
+0001389364 00000 n 
+0001389577 00000 n 
+0001389753 00000 n 
+0001389938 00000 n 
+0001393089 00000 n 
+0001390123 00000 n 
+0001390600 00000 n 
+0001389002 00000 n 
+0001386299 00000 n 
+0001390297 00000 n 
+0001390420 00000 n 
+0001390542 00000 n 
+0001393264 00000 n 
+0001393446 00000 n 
+0001393649 00000 n 
+0001396905 00000 n 
+0001393830 00000 n 
+0001394904 00000 n 
+0001392909 00000 n 
+0001390751 00000 n 
+0001394004 00000 n 
+0001394125 00000 n 
+0001394184 00000 n 
+0001394302 00000 n 
+0001394425 00000 n 
+0001394547 00000 n 
+0001394670 00000 n 
+0001394845 00000 n 
+0001397132 00000 n 
+0001397359 00000 n 
+0001397540 00000 n 
+0001397766 00000 n 
+0001397960 00000 n 
+0001398187 00000 n 
+0001398415 00000 n 
+0001398610 00000 n 
+0001398838 00000 n 
+0001399020 00000 n 
+0001399202 00000 n 
+0001399397 00000 n 
+0001399578 00000 n 
+0001402631 00000 n 
+0001402871 00000 n 
+0001403066 00000 n 
+0001399760 00000 n 
+0001400699 00000 n 
+0001396635 00000 n 
+0001395068 00000 n 
+0001399934 00000 n 
+0001399993 00000 n 
+0001400052 00000 n 
+0001400111 00000 n 
+0001400170 00000 n 
+0001400229 00000 n 
+0001400288 00000 n 
+0001400347 00000 n 
+0001400406 00000 n 
+0001400465 00000 n 
+0001400524 00000 n 
+0002868346 00000 n 
+0001403261 00000 n 
+0001403443 00000 n 
+0001403624 00000 n 
+0001403810 00000 n 
+0001404036 00000 n 
+0001404294 00000 n 
+0001404552 00000 n 
+0001404810 00000 n 
+0001405035 00000 n 
+0001405228 00000 n 
+0001405453 00000 n 
+0001405644 00000 n 
+0001405869 00000 n 
+0001406061 00000 n 
+0001406253 00000 n 
+0001406479 00000 n 
+0001406666 00000 n 
+0001406869 00000 n 
+0001407095 00000 n 
+0001407314 00000 n 
+0001410559 00000 n 
+0001407540 00000 n 
+0001408538 00000 n 
+0001402280 00000 n 
+0001400877 00000 n 
+0001407714 00000 n 
+0001407773 00000 n 
+0001407832 00000 n 
+0001407891 00000 n 
+0001408067 00000 n 
+0001408126 00000 n 
+0001408185 00000 n 
+0001408244 00000 n 
+0001408303 00000 n 
+0001408361 00000 n 
+0001408420 00000 n 
+0001408479 00000 n 
+0001437653 00000 n 
+0001437716 00000 n 
+0001437780 00000 n 
+0001410785 00000 n 
+0001411011 00000 n 
+0001411237 00000 n 
+0001411463 00000 n 
+0001411689 00000 n 
+0001411915 00000 n 
+0001412101 00000 n 
+0001412325 00000 n 
+0001412528 00000 n 
+0001412754 00000 n 
+0001412957 00000 n 
+0001413183 00000 n 
+0001413409 00000 n 
+0001413602 00000 n 
+0001413828 00000 n 
+0001414021 00000 n 
+0001414247 00000 n 
+0001414450 00000 n 
+0001414643 00000 n 
+0001414869 00000 n 
+0001415094 00000 n 
+0001415320 00000 n 
+0001415546 00000 n 
+0001419102 00000 n 
+0001419328 00000 n 
+0001415771 00000 n 
+0001416828 00000 n 
+0001410199 00000 n 
+0001408690 00000 n 
+0001415945 00000 n 
+0001416004 00000 n 
+0001416063 00000 n 
+0001416122 00000 n 
+0001416181 00000 n 
+0001416240 00000 n 
+0001416299 00000 n 
+0001416358 00000 n 
+0001416417 00000 n 
+0001416476 00000 n 
+0001416535 00000 n 
+0001416594 00000 n 
+0001416651 00000 n 
+0001416710 00000 n 
+0001416769 00000 n 
+0001443278 00000 n 
+0001419554 00000 n 
+0001419779 00000 n 
+0001419971 00000 n 
+0001420195 00000 n 
+0001420386 00000 n 
+0001420579 00000 n 
+0001420805 00000 n 
+0001420999 00000 n 
+0001421191 00000 n 
+0001421417 00000 n 
+0001421613 00000 n 
+0001421805 00000 n 
+0001422030 00000 n 
+0001422225 00000 n 
+0001422429 00000 n 
+0001422655 00000 n 
+0001422848 00000 n 
+0001423073 00000 n 
+0001423296 00000 n 
+0001423488 00000 n 
+0001423713 00000 n 
+0001423939 00000 n 
+0001424132 00000 n 
+0001424358 00000 n 
+0001424551 00000 n 
+0001428597 00000 n 
+0001428822 00000 n 
+0001429015 00000 n 
+0001424936 00000 n 
+0001425641 00000 n 
+0001418706 00000 n 
+0001416982 00000 n 
+0001425110 00000 n 
+0001425169 00000 n 
+0001425228 00000 n 
+0001425287 00000 n 
+0001425346 00000 n 
+0001425405 00000 n 
+0001425464 00000 n 
+0001425523 00000 n 
+0001425582 00000 n 
+0001424744 00000 n 
+0001445843 00000 n 
+0001437903 00000 n 
+0001438021 00000 n 
+0001442919 00000 n 
+0001446025 00000 n 
+0001446143 00000 n 
+0001429208 00000 n 
+0001429434 00000 n 
+0001429627 00000 n 
+0001429819 00000 n 
+0001430045 00000 n 
+0001430271 00000 n 
+0001430463 00000 n 
+0001430755 00000 n 
+0001428372 00000 n 
+0001425809 00000 n 
+0001430637 00000 n 
+0001430696 00000 n 
+0001446261 00000 n 
+0001446379 00000 n 
+0001446497 00000 n 
+0001433650 00000 n 
+0001433883 00000 n 
+0001433506 00000 n 
+0001431006 00000 n 
+0001433824 00000 n 
+0001436608 00000 n 
+0001436826 00000 n 
+0001437019 00000 n 
+0001437245 00000 n 
+0001438079 00000 n 
+0001436437 00000 n 
+0001434084 00000 n 
+0001437419 00000 n 
+0001437478 00000 n 
+0001437595 00000 n 
+0001437844 00000 n 
+0001437962 00000 n 
+0002868472 00000 n 
+0001440080 00000 n 
+0001440273 00000 n 
+0001440499 00000 n 
+0001440695 00000 n 
+0001440924 00000 n 
+0001441135 00000 n 
+0001441328 00000 n 
+0001441554 00000 n 
+0001441750 00000 n 
+0001441979 00000 n 
+0001442190 00000 n 
+0001442409 00000 n 
+0001442627 00000 n 
+0001443342 00000 n 
+0001439828 00000 n 
+0001438268 00000 n 
+0001442801 00000 n 
+0001442860 00000 n 
+0001442978 00000 n 
+0001443096 00000 n 
+0001443219 00000 n 
+0001445357 00000 n 
+0001448726 00000 n 
+0001445551 00000 n 
+0001446732 00000 n 
+0001445204 00000 n 
+0001443468 00000 n 
+0001445725 00000 n 
+0001445784 00000 n 
+0001445907 00000 n 
+0001445966 00000 n 
+0001446084 00000 n 
+0001446202 00000 n 
+0001446320 00000 n 
+0001446438 00000 n 
+0001446556 00000 n 
+0001448945 00000 n 
+0001449178 00000 n 
+0001449410 00000 n 
+0001449602 00000 n 
+0001449835 00000 n 
+0001450039 00000 n 
+0001450272 00000 n 
+0001450472 00000 n 
+0001450704 00000 n 
+0001450904 00000 n 
+0001451138 00000 n 
+0001451338 00000 n 
+0001451541 00000 n 
+0001451775 00000 n 
+0001452009 00000 n 
+0001452243 00000 n 
+0001452436 00000 n 
+0001452670 00000 n 
+0001452863 00000 n 
+0001453096 00000 n 
+0001453296 00000 n 
+0001453530 00000 n 
+0001453764 00000 n 
+0001453984 00000 n 
+0001454204 00000 n 
+0001454436 00000 n 
+0001457880 00000 n 
+0001458083 00000 n 
+0001454654 00000 n 
+0001455772 00000 n 
+0001448339 00000 n 
+0001446871 00000 n 
+0001454828 00000 n 
+0001454887 00000 n 
+0001454946 00000 n 
+0001455005 00000 n 
+0001455064 00000 n 
+0001455123 00000 n 
+0001455182 00000 n 
+0001455241 00000 n 
+0001455300 00000 n 
+0001455359 00000 n 
+0001455418 00000 n 
+0001455477 00000 n 
+0001455536 00000 n 
+0001455595 00000 n 
+0001455654 00000 n 
+0001455713 00000 n 
+0001477362 00000 n 
+0001458317 00000 n 
+0001458519 00000 n 
+0001458752 00000 n 
+0001458955 00000 n 
+0001459189 00000 n 
+0001459423 00000 n 
+0001459657 00000 n 
+0001459858 00000 n 
+0001460092 00000 n 
+0001460326 00000 n 
+0001460559 00000 n 
+0001460793 00000 n 
+0001461027 00000 n 
+0001461261 00000 n 
+0001461464 00000 n 
+0001461698 00000 n 
+0001461900 00000 n 
+0001462133 00000 n 
+0001462367 00000 n 
+0001462568 00000 n 
+0001462771 00000 n 
+0001463004 00000 n 
+0001463205 00000 n 
+0001467030 00000 n 
+0001463439 00000 n 
+0001464497 00000 n 
+0001457511 00000 n 
+0001455911 00000 n 
+0001463613 00000 n 
+0001463672 00000 n 
+0001463731 00000 n 
+0001463790 00000 n 
+0001463849 00000 n 
+0001463908 00000 n 
+0001463966 00000 n 
+0001464025 00000 n 
+0001464084 00000 n 
+0001464143 00000 n 
+0001464202 00000 n 
+0001464261 00000 n 
+0001464320 00000 n 
+0001464379 00000 n 
+0001464438 00000 n 
+0001467264 00000 n 
+0001467465 00000 n 
+0001467699 00000 n 
+0001467925 00000 n 
+0001468158 00000 n 
+0001468359 00000 n 
+0001468560 00000 n 
+0001468794 00000 n 
+0001468995 00000 n 
+0001469229 00000 n 
+0001469430 00000 n 
+0001469831 00000 n 
+0001470032 00000 n 
+0001470225 00000 n 
+0001470753 00000 n 
+0001466751 00000 n 
+0001464637 00000 n 
+0001470399 00000 n 
+0001470458 00000 n 
+0001470517 00000 n 
+0001470576 00000 n 
+0001470635 00000 n 
+0001469631 00000 n 
+0001470694 00000 n 
+0001477784 00000 n 
+0001477902 00000 n 
+0001478019 00000 n 
+0001473352 00000 n 
+0001473585 00000 n 
+0001473208 00000 n 
+0001470903 00000 n 
+0001473526 00000 n 
+0002868598 00000 n 
+0001475995 00000 n 
+0001476380 00000 n 
+0001476608 00000 n 
+0001476842 00000 n 
+0001477070 00000 n 
+0001478201 00000 n 
+0001475806 00000 n 
+0001473772 00000 n 
+0001477244 00000 n 
+0001477303 00000 n 
+0001477421 00000 n 
+0001477544 00000 n 
+0001476188 00000 n 
+0001477666 00000 n 
+0001477725 00000 n 
+0001477843 00000 n 
+0001477961 00000 n 
+0001478083 00000 n 
+0001480019 00000 n 
+0001480232 00000 n 
+0001480482 00000 n 
+0001480734 00000 n 
+0001480986 00000 n 
+0001481239 00000 n 
+0001481431 00000 n 
+0001481683 00000 n 
+0001481876 00000 n 
+0001482129 00000 n 
+0001482382 00000 n 
+0001482634 00000 n 
+0001482885 00000 n 
+0001483138 00000 n 
+0001483355 00000 n 
+0001483755 00000 n 
+0001484754 00000 n 
+0001479731 00000 n 
+0001478340 00000 n 
+0001483929 00000 n 
+0001484046 00000 n 
+0001484105 00000 n 
+0001484164 00000 n 
+0001484223 00000 n 
+0001484282 00000 n 
+0001484341 00000 n 
+0001484400 00000 n 
+0001484459 00000 n 
+0001484518 00000 n 
+0001484577 00000 n 
+0001484636 00000 n 
+0001484695 00000 n 
+0001483555 00000 n 
+0001486691 00000 n 
+0001486897 00000 n 
+0001487123 00000 n 
+0001487349 00000 n 
+0001487575 00000 n 
+0001487763 00000 n 
+0001487989 00000 n 
+0001488183 00000 n 
+0001488409 00000 n 
+0001488636 00000 n 
+0001488830 00000 n 
+0001489057 00000 n 
+0001489284 00000 n 
+0001489472 00000 n 
+0001490352 00000 n 
+0001486430 00000 n 
+0001484906 00000 n 
+0001489646 00000 n 
+0001489821 00000 n 
+0001489880 00000 n 
+0001489939 00000 n 
+0001489998 00000 n 
+0001490057 00000 n 
+0001490116 00000 n 
+0001490175 00000 n 
 0001490234 00000 n 
-0001492360 00000 n 
-0001492480 00000 n 
-0001492600 00000 n 
-0001492719 00000 n 
-0001492182 00000 n 
-0001495733 00000 n 
-0001494989 00000 n 
-0001492951 00000 n 
-0001495314 00000 n 
-0001495374 00000 n 
-0001495493 00000 n 
-0001495613 00000 n 
-0001495136 00000 n 
-0001498916 00000 n 
-0001498234 00000 n 
-0001495859 00000 n 
-0001498559 00000 n 
-0001498619 00000 n 
-0001498738 00000 n 
-0001498856 00000 n 
-0001498381 00000 n 
-0001502596 00000 n 
-0001501831 00000 n 
-0001499042 00000 n 
-0001502350 00000 n 
-0001501987 00000 n 
-0001502476 00000 n 
-0001502172 00000 n 
-0003266894 00000 n 
-0001505761 00000 n 
-0001504526 00000 n 
-0001502734 00000 n 
-0001504851 00000 n 
-0001504911 00000 n 
-0001504970 00000 n 
-0001505090 00000 n 
-0001505215 00000 n 
-0001505335 00000 n 
-0001505461 00000 n 
-0001505581 00000 n 
-0001505701 00000 n 
-0001504673 00000 n 
-0001509452 00000 n 
-0001508353 00000 n 
-0001505887 00000 n 
+0001490293 00000 n 
+0001493498 00000 n 
+0001492323 00000 n 
+0001492520 00000 n 
+0001492759 00000 n 
+0001492953 00000 n 
+0001493147 00000 n 
+0001493967 00000 n 
+0001492143 00000 n 
+0001490518 00000 n 
+0001493321 00000 n 
+0001493380 00000 n 
+0001493439 00000 n 
+0001493557 00000 n 
+0001493733 00000 n 
+0001493792 00000 n 
+0001493851 00000 n 
+0001496569 00000 n 
+0001496788 00000 n 
+0001496974 00000 n 
+0001497192 00000 n 
+0001497395 00000 n 
+0001497614 00000 n 
+0001497817 00000 n 
+0001498036 00000 n 
+0001498253 00000 n 
+0001498472 00000 n 
+0001498909 00000 n 
+0001499127 00000 n 
+0001499305 00000 n 
+0001499524 00000 n 
+0001499957 00000 n 
+0001500159 00000 n 
+0001500922 00000 n 
+0001496272 00000 n 
+0001494131 00000 n 
+0001500333 00000 n 
+0001500450 00000 n 
+0001500509 00000 n 
+0001500568 00000 n 
+0001500627 00000 n 
+0001500686 00000 n 
+0001500745 00000 n 
+0001500804 00000 n 
+0001500863 00000 n 
+0001498691 00000 n 
+0001499741 00000 n 
+0001509021 00000 n 
+0001509139 00000 n 
+0001509256 00000 n 
+0001503859 00000 n 
+0001504295 00000 n 
+0001504499 00000 n 
+0001504718 00000 n 
+0001504937 00000 n 
+0001505156 00000 n 
+0001505341 00000 n 
+0001505711 00000 n 
+0001506121 00000 n 
+0001503634 00000 n 
+0001501102 00000 n 
+0001505885 00000 n 
+0001504077 00000 n 
+0001505944 00000 n 
+0001505527 00000 n 
+0001506003 00000 n 
+0001506062 00000 n 
+0002868724 00000 n 
+0001509374 00000 n 
+0001509492 00000 n 
+0001512403 00000 n 
+0001512583 00000 n 
+0001508550 00000 n 
+0001508729 00000 n 
+0001509550 00000 n 
+0001508397 00000 n 
+0001506273 00000 n 
+0001508903 00000 n 
+0001508962 00000 n 
 0001509080 00000 n 
-0001509200 00000 n 
-0001508518 00000 n 
-0001509326 00000 n 
-0001508710 00000 n 
-0001508902 00000 n 
-0001513300 00000 n 
-0001512143 00000 n 
-0001509578 00000 n 
-0001512870 00000 n 
-0001512930 00000 n 
-0001512308 00000 n 
-0001513055 00000 n 
-0001512500 00000 n 
-0001513181 00000 n 
-0001512692 00000 n 
-0001517123 00000 n 
-0001516181 00000 n 
-0001513426 00000 n 
-0001516700 00000 n 
-0001516760 00000 n 
-0001516879 00000 n 
-0001516337 00000 n 
-0001516999 00000 n 
-0001516522 00000 n 
-0001520639 00000 n 
-0001518997 00000 n 
-0001517262 00000 n 
-0001520101 00000 n 
-0001520161 00000 n 
-0001520280 00000 n 
-0001519180 00000 n 
-0001519355 00000 n 
-0001520400 00000 n 
-0001520520 00000 n 
-0001519552 00000 n 
-0001519727 00000 n 
-0001519923 00000 n 
-0001523760 00000 n 
-0001522625 00000 n 
-0001520765 00000 n 
-0001523341 00000 n 
-0001523401 00000 n 
-0001523520 00000 n 
-0001523640 00000 n 
-0001522790 00000 n 
-0001522965 00000 n 
-0001523163 00000 n 
-0003267020 00000 n 
-0001526961 00000 n 
-0001525886 00000 n 
-0001523886 00000 n 
-0001526602 00000 n 
-0001526662 00000 n 
-0001526051 00000 n 
-0001526226 00000 n 
-0001526781 00000 n 
-0001526901 00000 n 
-0001526424 00000 n 
-0001530576 00000 n 
-0001528990 00000 n 
-0001527087 00000 n 
-0001530097 00000 n 
-0001529173 00000 n 
-0001529348 00000 n 
-0001530217 00000 n 
-0001530337 00000 n 
-0001529546 00000 n 
-0001529721 00000 n 
-0001530457 00000 n 
-0001529919 00000 n 
-0001533814 00000 n 
-0001532679 00000 n 
-0001530702 00000 n 
-0001533395 00000 n 
-0001533455 00000 n 
-0001532844 00000 n 
-0001533019 00000 n 
-0001533574 00000 n 
-0001533694 00000 n 
-0001533217 00000 n 
-0001536765 00000 n 
-0001535903 00000 n 
-0001533940 00000 n 
-0001536228 00000 n 
-0001536288 00000 n 
-0001536406 00000 n 
-0001536526 00000 n 
-0001536646 00000 n 
-0001536050 00000 n 
-0001540807 00000 n 
-0001539104 00000 n 
-0001536891 00000 n 
-0001540389 00000 n 
-0001540449 00000 n 
-0001539296 00000 n 
-0001539471 00000 n 
-0001540568 00000 n 
-0001539669 00000 n 
-0001539844 00000 n 
-0001540688 00000 n 
-0001540042 00000 n 
-0001540211 00000 n 
-0001544442 00000 n 
-0001542811 00000 n 
-0001540933 00000 n 
-0001543903 00000 n 
-0001543963 00000 n 
-0001542994 00000 n 
-0001543163 00000 n 
-0001544082 00000 n 
-0001544202 00000 n 
-0001543353 00000 n 
-0001543528 00000 n 
-0001544322 00000 n 
-0001543725 00000 n 
-0003267146 00000 n 
-0001548169 00000 n 
-0001546547 00000 n 
-0001544568 00000 n 
-0001547630 00000 n 
-0001547690 00000 n 
-0001546730 00000 n 
-0001546905 00000 n 
-0001547809 00000 n 
-0001547929 00000 n 
-0001547103 00000 n 
-0001548049 00000 n 
-0001547269 00000 n 
-0001547452 00000 n 
-0001552297 00000 n 
-0001551055 00000 n 
-0001548295 00000 n 
-0001551938 00000 n 
-0001551998 00000 n 
-0001551229 00000 n 
-0001552117 00000 n 
-0001551408 00000 n 
-0001552237 00000 n 
-0001551587 00000 n 
-0001551760 00000 n 
-0001556112 00000 n 
-0001555060 00000 n 
-0001552460 00000 n 
-0001555753 00000 n 
-0001555872 00000 n 
-0001555225 00000 n 
-0001555992 00000 n 
-0001555400 00000 n 
-0001555575 00000 n 
-0001560519 00000 n 
-0001559255 00000 n 
-0001556275 00000 n 
-0001560161 00000 n 
-0001560221 00000 n 
-0001559429 00000 n 
-0001560339 00000 n 
-0001559603 00000 n 
-0001560459 00000 n 
-0001559793 00000 n 
-0001559983 00000 n 
-0001564713 00000 n 
-0001563010 00000 n 
-0001560682 00000 n 
-0001564235 00000 n 
-0001564355 00000 n 
-0001563202 00000 n 
-0001564474 00000 n 
-0001563370 00000 n 
-0001563536 00000 n 
-0001564593 00000 n 
-0001563714 00000 n 
-0001563880 00000 n 
-0001564057 00000 n 
-0001569123 00000 n 
-0001567296 00000 n 
-0001564852 00000 n 
-0001568704 00000 n 
-0001568764 00000 n 
-0001567497 00000 n 
-0001567663 00000 n 
-0001568883 00000 n 
-0001567841 00000 n 
-0001568007 00000 n 
-0001569003 00000 n 
-0001568184 00000 n 
-0001568348 00000 n 
-0001568526 00000 n 
-0003267272 00000 n 
-0001573407 00000 n 
-0001571905 00000 n 
-0001569262 00000 n 
-0001573048 00000 n 
-0001573108 00000 n 
-0001572088 00000 n 
-0001572254 00000 n 
-0001573227 00000 n 
-0001572432 00000 n 
-0001573347 00000 n 
-0001572651 00000 n 
-0001572870 00000 n 
-0001578277 00000 n 
-0001576425 00000 n 
-0001573608 00000 n 
-0001577739 00000 n 
-0001577859 00000 n 
-0001576617 00000 n 
-0001576786 00000 n 
-0001577978 00000 n 
-0001577004 00000 n 
-0001577194 00000 n 
-0001578098 00000 n 
-0001578217 00000 n 
-0001577383 00000 n 
-0001577561 00000 n 
-0001583338 00000 n 
-0001581704 00000 n 
-0001578465 00000 n 
-0001583026 00000 n 
+0001509198 00000 n 
+0001509315 00000 n 
+0001509433 00000 n 
+0001512111 00000 n 
+0001513052 00000 n 
+0001511967 00000 n 
+0001509716 00000 n 
+0001512285 00000 n 
+0001512344 00000 n 
+0001512465 00000 n 
+0001512524 00000 n 
+0001512642 00000 n 
+0001512817 00000 n 
+0001512876 00000 n 
+0001515015 00000 n 
+0001515241 00000 n 
+0001515468 00000 n 
+0001515695 00000 n 
+0001515891 00000 n 
+0001516119 00000 n 
+0001516346 00000 n 
+0001516573 00000 n 
+0001516759 00000 n 
+0001516984 00000 n 
+0001517170 00000 n 
+0001518167 00000 n 
+0001514781 00000 n 
+0001513205 00000 n 
+0001517344 00000 n 
+0001517403 00000 n 
+0001517462 00000 n 
+0001517638 00000 n 
+0001517697 00000 n 
+0001517873 00000 n 
+0001517932 00000 n 
+0001517991 00000 n 
+0001518049 00000 n 
+0001518108 00000 n 
+0001554288 00000 n 
+0001554406 00000 n 
+0001520423 00000 n 
+0001520650 00000 n 
+0001520836 00000 n 
+0001521063 00000 n 
+0001521256 00000 n 
+0001521483 00000 n 
+0001521671 00000 n 
+0001521874 00000 n 
+0001522103 00000 n 
+0001522332 00000 n 
+0001522518 00000 n 
+0001522747 00000 n 
+0001522950 00000 n 
+0001523179 00000 n 
+0001523382 00000 n 
+0001523611 00000 n 
+0001523839 00000 n 
+0001524068 00000 n 
+0001524297 00000 n 
+0001524525 00000 n 
+0001524754 00000 n 
+0001524983 00000 n 
+0001525212 00000 n 
+0001528119 00000 n 
+0001528323 00000 n 
+0001528552 00000 n 
+0001525408 00000 n 
+0001526288 00000 n 
+0001520072 00000 n 
+0001518319 00000 n 
+0001525582 00000 n 
+0001525641 00000 n 
+0001525700 00000 n 
+0001525758 00000 n 
+0001525817 00000 n 
+0001525876 00000 n 
+0001525935 00000 n 
+0001525994 00000 n 
+0001526053 00000 n 
+0001526112 00000 n 
+0001526170 00000 n 
+0001526229 00000 n 
+0001557702 00000 n 
+0001557824 00000 n 
+0001557947 00000 n 
+0001528748 00000 n 
+0001528977 00000 n 
+0001529206 00000 n 
+0001529402 00000 n 
+0001529630 00000 n 
+0001529824 00000 n 
+0001530053 00000 n 
+0001530249 00000 n 
+0001530445 00000 n 
+0001530638 00000 n 
+0001530866 00000 n 
+0001531061 00000 n 
+0001531255 00000 n 
+0001531484 00000 n 
+0001531677 00000 n 
+0001531871 00000 n 
+0001532100 00000 n 
+0001532285 00000 n 
+0001532481 00000 n 
+0001532675 00000 n 
+0001532904 00000 n 
+0001533089 00000 n 
+0001533275 00000 n 
+0001533469 00000 n 
+0001533698 00000 n 
+0001533894 00000 n 
+0001534088 00000 n 
+0001534317 00000 n 
+0001534513 00000 n 
+0001534709 00000 n 
+0001534902 00000 n 
+0001535130 00000 n 
+0001535314 00000 n 
+0001535499 00000 n 
+0001535693 00000 n 
+0001535922 00000 n 
+0001536118 00000 n 
+0001536312 00000 n 
+0001536541 00000 n 
+0001536737 00000 n 
+0001536931 00000 n 
+0001537160 00000 n 
+0001537345 00000 n 
+0001540134 00000 n 
+0001540328 00000 n 
+0001540557 00000 n 
+0001540753 00000 n 
+0001537541 00000 n 
+0001538127 00000 n 
+0001527561 00000 n 
+0001526428 00000 n 
+0001537715 00000 n 
+0001537774 00000 n 
+0001537833 00000 n 
+0001537892 00000 n 
+0001537951 00000 n 
+0001538069 00000 n 
+0001558129 00000 n 
+0001558247 00000 n 
+0001558365 00000 n 
+0001558483 00000 n 
+0001560504 00000 n 
+0001560622 00000 n 
+0001560740 00000 n 
+0001560858 00000 n 
+0001560976 00000 n 
+0001561094 00000 n 
+0001561212 00000 n 
+0001540939 00000 n 
+0001541133 00000 n 
+0001541362 00000 n 
+0001541558 00000 n 
+0001541752 00000 n 
+0001541981 00000 n 
+0001542177 00000 n 
+0001542371 00000 n 
+0001542598 00000 n 
+0001542793 00000 n 
+0001542989 00000 n 
+0001543183 00000 n 
+0001543410 00000 n 
+0001543605 00000 n 
+0001543791 00000 n 
+0001543985 00000 n 
+0001544212 00000 n 
+0001544407 00000 n 
+0001544600 00000 n 
+0001544826 00000 n 
+0001545019 00000 n 
+0001545214 00000 n 
+0001545408 00000 n 
+0001545635 00000 n 
+0001545829 00000 n 
+0001546015 00000 n 
+0001546209 00000 n 
+0001546436 00000 n 
+0001546630 00000 n 
+0001546824 00000 n 
+0001547051 00000 n 
+0001547247 00000 n 
+0001547441 00000 n 
+0001547670 00000 n 
+0001547866 00000 n 
+0001548052 00000 n 
+0001548246 00000 n 
+0001548475 00000 n 
+0001548671 00000 n 
+0001548900 00000 n 
+0001549096 00000 n 
+0001549323 00000 n 
+0001549518 00000 n 
+0001549907 00000 n 
+0001550199 00000 n 
+0001539558 00000 n 
+0001538239 00000 n 
+0001550081 00000 n 
+0001550140 00000 n 
+0001549712 00000 n 
+0002868850 00000 n 
+0001561330 00000 n 
+0001561446 00000 n 
+0001561564 00000 n 
+0001561682 00000 n 
+0001564704 00000 n 
+0001564822 00000 n 
+0001564939 00000 n 
+0001565057 00000 n 
+0001565175 00000 n 
+0001565293 00000 n 
+0001565411 00000 n 
+0001565527 00000 n 
+0001565645 00000 n 
+0001572893 00000 n 
+0001552913 00000 n 
+0001553108 00000 n 
+0001553294 00000 n 
+0001553479 00000 n 
+0001553937 00000 n 
+0001554465 00000 n 
+0001552724 00000 n 
+0001550351 00000 n 
+0001554111 00000 n 
+0001554170 00000 n 
+0001554229 00000 n 
+0001554347 00000 n 
+0001553708 00000 n 
+0001557410 00000 n 
+0001558542 00000 n 
+0001557266 00000 n 
+0001554666 00000 n 
+0001557584 00000 n 
+0001557643 00000 n 
+0001557765 00000 n 
+0001557888 00000 n 
+0001558011 00000 n 
+0001558070 00000 n 
+0001558188 00000 n 
+0001558306 00000 n 
+0001558424 00000 n 
+0001560212 00000 n 
+0001561741 00000 n 
+0001560068 00000 n 
+0001558780 00000 n 
+0001560386 00000 n 
+0001560445 00000 n 
+0001560563 00000 n 
+0001560681 00000 n 
+0001560799 00000 n 
+0001560917 00000 n 
+0001561035 00000 n 
+0001561153 00000 n 
+0001561271 00000 n 
+0001561388 00000 n 
+0001561505 00000 n 
+0001561623 00000 n 
+0001563497 00000 n 
+0001563955 00000 n 
+0001564412 00000 n 
+0001565703 00000 n 
+0001563317 00000 n 
+0001561867 00000 n 
+0001564586 00000 n 
+0001564645 00000 n 
+0001564763 00000 n 
+0001563726 00000 n 
+0001564881 00000 n 
+0001564998 00000 n 
+0001565116 00000 n 
+0001564183 00000 n 
+0001565234 00000 n 
+0001565352 00000 n 
+0001565469 00000 n 
+0001565586 00000 n 
+0001568198 00000 n 
+0001568421 00000 n 
+0001568676 00000 n 
+0001568899 00000 n 
+0001569154 00000 n 
+0001569663 00000 n 
+0001569918 00000 n 
+0001570139 00000 n 
+0001570361 00000 n 
+0001570565 00000 n 
+0001570787 00000 n 
+0001570991 00000 n 
+0001571183 00000 n 
+0001571574 00000 n 
+0001571778 00000 n 
+0001572000 00000 n 
+0001572203 00000 n 
+0001572398 00000 n 
+0001575593 00000 n 
+0001575815 00000 n 
+0001576019 00000 n 
+0001576215 00000 n 
+0001576411 00000 n 
+0001572601 00000 n 
+0001573304 00000 n 
+0001567874 00000 n 
+0001565829 00000 n 
+0001572775 00000 n 
+0001572834 00000 n 
+0001572952 00000 n 
+0001573128 00000 n 
+0001569409 00000 n 
+0001573186 00000 n 
+0001573245 00000 n 
+0001571379 00000 n 
+0001602320 00000 n 
+0001602438 00000 n 
+0001602501 00000 n 
+0001602619 00000 n 
+0001602683 00000 n 
+0001602747 00000 n 
+0001602870 00000 n 
+0001602988 00000 n 
+0001606540 00000 n 
+0001576614 00000 n 
+0001576836 00000 n 
+0001577026 00000 n 
+0001577248 00000 n 
+0001577437 00000 n 
+0001577658 00000 n 
+0001577848 00000 n 
+0001578051 00000 n 
+0001578274 00000 n 
+0001578466 00000 n 
+0001578689 00000 n 
+0001578911 00000 n 
+0001579134 00000 n 
+0001579356 00000 n 
+0001579579 00000 n 
+0001579775 00000 n 
+0001579998 00000 n 
+0001580200 00000 n 
+0001580422 00000 n 
+0001580645 00000 n 
+0001580868 00000 n 
+0001581071 00000 n 
+0001581294 00000 n 
+0001581485 00000 n 
+0001581708 00000 n 
 0001581896 00000 n 
-0001583152 00000 n 
-0001582073 00000 n 
-0001582291 00000 n 
-0001583278 00000 n 
-0001582471 00000 n 
-0001582660 00000 n 
-0001582848 00000 n 
-0001588040 00000 n 
-0001585997 00000 n 
-0001583489 00000 n 
-0001587119 00000 n 
-0001586180 00000 n 
-0001587245 00000 n 
-0001587305 00000 n 
-0001587424 00000 n 
-0001587550 00000 n 
-0001587676 00000 n 
-0001587801 00000 n 
-0001586359 00000 n 
-0001587980 00000 n 
-0001586545 00000 n 
-0001586756 00000 n 
-0001586941 00000 n 
-0001594772 00000 n 
-0001590634 00000 n 
-0001588204 00000 n 
-0001593997 00000 n 
-0001594057 00000 n 
-0001594117 00000 n 
-0001590907 00000 n 
-0001594177 00000 n 
-0001591139 00000 n 
-0001591371 00000 n 
-0001594237 00000 n 
-0001591557 00000 n 
-0001591789 00000 n 
-0001594297 00000 n 
-0001591988 00000 n 
-0001592220 00000 n 
-0001592450 00000 n 
-0001594356 00000 n 
-0001592647 00000 n 
-0001592879 00000 n 
-0001594416 00000 n 
-0001593064 00000 n 
-0001593249 00000 n 
-0001593447 00000 n 
-0001594476 00000 n 
-0001594536 00000 n 
-0001594596 00000 n 
-0001593633 00000 n 
-0001593819 00000 n 
-0001603875 00000 n 
-0001597501 00000 n 
-0001594951 00000 n 
-0001603037 00000 n 
-0001603097 00000 n 
-0001603157 00000 n 
-0001597855 00000 n 
-0001598099 00000 n 
-0001598298 00000 n 
-0001603217 00000 n 
-0001598497 00000 n 
-0001598683 00000 n 
-0001598869 00000 n 
-0001603396 00000 n 
-0001599060 00000 n 
-0001599290 00000 n 
-0001599552 00000 n 
-0001599814 00000 n 
-0001603456 00000 n 
-0001603516 00000 n 
-0001600075 00000 n 
-0001600303 00000 n 
-0001603576 00000 n 
-0001600497 00000 n 
-0001603635 00000 n 
-0001600727 00000 n 
-0001600924 00000 n 
-0001601153 00000 n 
-0001603695 00000 n 
-0001601350 00000 n 
-0001601547 00000 n 
-0001601776 00000 n 
-0001603755 00000 n 
-0001601967 00000 n 
-0001602175 00000 n 
-0001603815 00000 n 
-0001602405 00000 n 
-0001602629 00000 n 
-0001602859 00000 n 
-0003267398 00000 n 
-0001637704 00000 n 
-0001637770 00000 n 
-0001637836 00000 n 
-0001613778 00000 n 
-0001607036 00000 n 
-0001604028 00000 n 
-0001612881 00000 n 
-0001612941 00000 n 
-0001607399 00000 n 
-0001613000 00000 n 
-0001607629 00000 n 
-0001613060 00000 n 
-0001607858 00000 n 
-0001613119 00000 n 
-0001608088 00000 n 
-0001613179 00000 n 
-0001608318 00000 n 
-0001608547 00000 n 
-0001608777 00000 n 
-0001608967 00000 n 
-0001613239 00000 n 
-0001609197 00000 n 
-0001609405 00000 n 
-0001613299 00000 n 
-0001609635 00000 n 
-0001609843 00000 n 
-0001610073 00000 n 
-0001610303 00000 n 
-0001613359 00000 n 
-0001610500 00000 n 
-0001610730 00000 n 
-0001613419 00000 n 
-0001610927 00000 n 
-0001611156 00000 n 
-0001611362 00000 n 
-0001613479 00000 n 
-0001611558 00000 n 
-0001613538 00000 n 
-0001611788 00000 n 
-0001613598 00000 n 
-0001612017 00000 n 
-0001613658 00000 n 
-0001612245 00000 n 
-0001613718 00000 n 
-0001612474 00000 n 
-0001612703 00000 n 
-0001644042 00000 n 
-0001624168 00000 n 
-0001617098 00000 n 
-0001613934 00000 n 
-0001623628 00000 n 
-0001617497 00000 n 
-0001623688 00000 n 
-0001617727 00000 n 
-0001623748 00000 n 
-0001617956 00000 n 
-0001618186 00000 n 
-0001618383 00000 n 
-0001618613 00000 n 
-0001623808 00000 n 
-0001618810 00000 n 
-0001619004 00000 n 
-0001619232 00000 n 
-0001619430 00000 n 
-0001619627 00000 n 
-0001619857 00000 n 
-0001620057 00000 n 
-0001620253 00000 n 
-0001620483 00000 n 
-0001623868 00000 n 
-0001620683 00000 n 
-0001620891 00000 n 
-0001621121 00000 n 
-0001623928 00000 n 
-0001621318 00000 n 
-0001623988 00000 n 
-0001621548 00000 n 
-0001624048 00000 n 
-0001621778 00000 n 
-0001621975 00000 n 
-0001624108 00000 n 
-0001622205 00000 n 
-0001622435 00000 n 
-0001622632 00000 n 
-0001622861 00000 n 
-0001623057 00000 n 
-0001623253 00000 n 
-0001623450 00000 n 
-0001646813 00000 n 
-0001637962 00000 n 
-0001638082 00000 n 
-0001643678 00000 n 
-0001646999 00000 n 
-0001647119 00000 n 
-0001630075 00000 n 
-0001627649 00000 n 
-0001624337 00000 n 
-0001629955 00000 n 
-0001627877 00000 n 
-0001628107 00000 n 
-0001628303 00000 n 
-0001628499 00000 n 
-0001628728 00000 n 
-0001628924 00000 n 
-0001629120 00000 n 
-0001629350 00000 n 
-0001630015 00000 n 
-0001629580 00000 n 
-0001629777 00000 n 
-0001647239 00000 n 
-0001647358 00000 n 
-0001647478 00000 n 
-0001633460 00000 n 
-0001633075 00000 n 
-0001630326 00000 n 
-0001633400 00000 n 
-0001633222 00000 n 
-0001638141 00000 n 
-0001636462 00000 n 
-0001633661 00000 n 
-0001637464 00000 n 
-0001637524 00000 n 
-0001637644 00000 n 
-0001636636 00000 n 
-0001637902 00000 n 
-0001638022 00000 n 
-0001636860 00000 n 
-0001637056 00000 n 
-0001637286 00000 n 
-0001644107 00000 n 
-0001640533 00000 n 
-0001638330 00000 n 
-0001643559 00000 n 
-0001643619 00000 n 
-0001640788 00000 n 
-0001640984 00000 n 
-0001641214 00000 n 
-0001641414 00000 n 
-0001641647 00000 n 
-0001643738 00000 n 
-0001641862 00000 n 
-0001642059 00000 n 
-0001642288 00000 n 
-0001642487 00000 n 
-0001642720 00000 n 
-0001643857 00000 n 
-0001642935 00000 n 
-0001643982 00000 n 
-0001643158 00000 n 
-0001643381 00000 n 
-0003267524 00000 n 
-0001647717 00000 n 
-0001646161 00000 n 
-0001644233 00000 n 
-0001646694 00000 n 
-0001646754 00000 n 
-0001646879 00000 n 
-0001646939 00000 n 
-0001647059 00000 n 
-0001647179 00000 n 
-0001647299 00000 n 
-0001647418 00000 n 
-0001647538 00000 n 
-0001646317 00000 n 
-0001646516 00000 n 
-0001658338 00000 n 
-0001650770 00000 n 
-0001647856 00000 n 
-0001657380 00000 n 
-0001657440 00000 n 
-0001651160 00000 n 
-0001657500 00000 n 
-0001657560 00000 n 
-0001651383 00000 n 
-0001657620 00000 n 
-0001651621 00000 n 
-0001651859 00000 n 
-0001657680 00000 n 
-0001652056 00000 n 
-0001652294 00000 n 
-0001657740 00000 n 
+0001582119 00000 n 
+0001582314 00000 n 
+0001582537 00000 n 
+0001586017 00000 n 
+0001586240 00000 n 
+0001582733 00000 n 
+0001583496 00000 n 
+0001575143 00000 n 
+0001573485 00000 n 
+0001582907 00000 n 
+0001582966 00000 n 
+0001583025 00000 n 
+0001583084 00000 n 
+0001583143 00000 n 
+0001583202 00000 n 
+0001583260 00000 n 
+0001583319 00000 n 
+0001583378 00000 n 
+0001583437 00000 n 
+0002868976 00000 n 
+0001606657 00000 n 
+0001609376 00000 n 
+0001609494 00000 n 
+0001609617 00000 n 
+0001609740 00000 n 
+0001609858 00000 n 
+0001609975 00000 n 
+0001586443 00000 n 
+0001586666 00000 n 
+0001586867 00000 n 
+0001587090 00000 n 
+0001587312 00000 n 
+0001587499 00000 n 
+0001587703 00000 n 
+0001588109 00000 n 
+0001588295 00000 n 
+0001588517 00000 n 
+0001588703 00000 n 
+0001588925 00000 n 
+0001589148 00000 n 
+0001589351 00000 n 
+0001589554 00000 n 
+0001589777 00000 n 
+0001590000 00000 n 
+0001590223 00000 n 
+0001590446 00000 n 
+0001590669 00000 n 
+0001590892 00000 n 
+0001591095 00000 n 
+0001591318 00000 n 
+0001591521 00000 n 
+0001591744 00000 n 
+0001591967 00000 n 
+0001592157 00000 n 
+0001592379 00000 n 
+0001592602 00000 n 
+0001596098 00000 n 
+0001596321 00000 n 
+0001592825 00000 n 
+0001593646 00000 n 
+0001585585 00000 n 
+0001583635 00000 n 
+0001592999 00000 n 
+0001593058 00000 n 
+0001587907 00000 n 
+0002858776 00000 n 
+0001593117 00000 n 
+0001593175 00000 n 
+0001593234 00000 n 
+0001593293 00000 n 
+0001593352 00000 n 
+0001593411 00000 n 
+0001593469 00000 n 
+0001593528 00000 n 
+0001593587 00000 n 
+0001612321 00000 n 
+0001612439 00000 n 
+0001612557 00000 n 
+0001612675 00000 n 
+0001612793 00000 n 
+0001617199 00000 n 
+0001596544 00000 n 
+0001596747 00000 n 
+0001596969 00000 n 
+0001597159 00000 n 
+0001597382 00000 n 
+0001597572 00000 n 
+0001597794 00000 n 
+0001597984 00000 n 
+0001598363 00000 n 
+0001598558 00000 n 
+0001598748 00000 n 
+0001598938 00000 n 
+0001599466 00000 n 
+0001595828 00000 n 
+0001593800 00000 n 
+0001599112 00000 n 
+0001599171 00000 n 
+0001599230 00000 n 
+0001599289 00000 n 
+0001599348 00000 n 
+0001598174 00000 n 
+0001599407 00000 n 
+0001617375 00000 n 
+0001617493 00000 n 
+0001601805 00000 n 
+0001605638 00000 n 
+0001602028 00000 n 
+0001603106 00000 n 
+0001601652 00000 n 
+0001599591 00000 n 
+0001602202 00000 n 
+0001602261 00000 n 
+0001602379 00000 n 
+0001602560 00000 n 
+0001602811 00000 n 
+0001602929 00000 n 
+0001603047 00000 n 
+0001605861 00000 n 
+0001606084 00000 n 
+0001606307 00000 n 
+0001606775 00000 n 
+0001605467 00000 n 
+0001603257 00000 n 
+0001606481 00000 n 
+0001606599 00000 n 
+0001606716 00000 n 
+0001608861 00000 n 
+0001609084 00000 n 
+0001610033 00000 n 
+0001608708 00000 n 
+0001606926 00000 n 
+0001609258 00000 n 
+0001609317 00000 n 
+0001609435 00000 n 
+0001609558 00000 n 
+0001609681 00000 n 
+0001609799 00000 n 
+0001609916 00000 n 
+0001612029 00000 n 
+0001612851 00000 n 
+0001611885 00000 n 
+0001610171 00000 n 
+0001612203 00000 n 
+0001612262 00000 n 
+0001612380 00000 n 
+0001612498 00000 n 
+0001612616 00000 n 
+0001612734 00000 n 
+0002869102 00000 n 
+0001615059 00000 n 
+0001615246 00000 n 
+0001615471 00000 n 
+0001615675 00000 n 
+0001615879 00000 n 
+0001616104 00000 n 
+0001616299 00000 n 
+0001616522 00000 n 
+0001616716 00000 n 
+0001619915 00000 n 
+0001620140 00000 n 
+0001616907 00000 n 
+0001617785 00000 n 
+0001614834 00000 n 
+0001612990 00000 n 
+0001617081 00000 n 
+0001617140 00000 n 
+0001617258 00000 n 
+0001617316 00000 n 
+0001617434 00000 n 
+0001617552 00000 n 
+0001617726 00000 n 
+0001632115 00000 n 
+0001632233 00000 n 
+0001632355 00000 n 
+0001620334 00000 n 
+0001620559 00000 n 
+0001620754 00000 n 
+0001620947 00000 n 
+0001621172 00000 n 
+0001621367 00000 n 
+0001621592 00000 n 
+0001621788 00000 n 
+0001621981 00000 n 
+0001622206 00000 n 
+0001622395 00000 n 
+0001622599 00000 n 
+0001622823 00000 n 
+0001623003 00000 n 
+0001623188 00000 n 
+0001623390 00000 n 
+0001623615 00000 n 
+0001623796 00000 n 
+0001623999 00000 n 
+0001624224 00000 n 
+0001624411 00000 n 
+0001624615 00000 n 
+0001624839 00000 n 
+0001625032 00000 n 
+0001625235 00000 n 
+0001625460 00000 n 
+0001625653 00000 n 
+0001625857 00000 n 
+0001626049 00000 n 
+0001626275 00000 n 
+0001626468 00000 n 
+0001626660 00000 n 
+0001626886 00000 n 
+0001627077 00000 n 
+0001627302 00000 n 
+0001627527 00000 n 
+0001630521 00000 n 
+0001630747 00000 n 
+0001627719 00000 n 
+0001628187 00000 n 
+0001619429 00000 n 
+0001617950 00000 n 
+0001627893 00000 n 
+0001627952 00000 n 
+0001628010 00000 n 
+0001628069 00000 n 
+0001628128 00000 n 
+0001634415 00000 n 
+0001634533 00000 n 
+0001634651 00000 n 
+0001634769 00000 n 
+0001637087 00000 n 
+0001637205 00000 n 
+0001637323 00000 n 
+0001637441 00000 n 
+0001639905 00000 n 
+0001640080 00000 n 
+0001630940 00000 n 
+0001631133 00000 n 
+0001631323 00000 n 
+0001631515 00000 n 
+0001631705 00000 n 
+0001632414 00000 n 
+0001630323 00000 n 
+0001628353 00000 n 
+0001631879 00000 n 
+0001631938 00000 n 
+0001631997 00000 n 
+0001632056 00000 n 
+0001632174 00000 n 
+0001632297 00000 n 
+0001634123 00000 n 
+0001634827 00000 n 
+0001633979 00000 n 
+0001632580 00000 n 
+0001634297 00000 n 
+0001634356 00000 n 
+0001634474 00000 n 
+0001634592 00000 n 
+0001634710 00000 n 
+0001636795 00000 n 
+0001637499 00000 n 
+0001636651 00000 n 
+0001634940 00000 n 
+0001636969 00000 n 
+0001637028 00000 n 
+0001637146 00000 n 
+0001637264 00000 n 
+0001637382 00000 n 
+0001642328 00000 n 
+0001642551 00000 n 
+0001639613 00000 n 
+0001640315 00000 n 
+0001639469 00000 n 
+0001637625 00000 n 
+0001639787 00000 n 
+0001639846 00000 n 
+0001639963 00000 n 
+0001640021 00000 n 
+0001640139 00000 n 
+0002869228 00000 n 
+0001642775 00000 n 
+0001642998 00000 n 
+0001643203 00000 n 
+0001643430 00000 n 
+0001643623 00000 n 
+0001647333 00000 n 
+0001643850 00000 n 
+0001644848 00000 n 
+0001642121 00000 n 
+0001640468 00000 n 
+0001644024 00000 n 
+0001644083 00000 n 
+0001644142 00000 n 
+0001644201 00000 n 
+0001644260 00000 n 
+0001644319 00000 n 
+0001644378 00000 n 
+0001644437 00000 n 
+0001644496 00000 n 
+0001644671 00000 n 
+0001644730 00000 n 
+0001644789 00000 n 
+0001647560 00000 n 
+0001647786 00000 n 
+0001648013 00000 n 
+0001648240 00000 n 
+0001648467 00000 n 
+0001648669 00000 n 
+0001648895 00000 n 
+0001649098 00000 n 
+0001649325 00000 n 
+0001649550 00000 n 
+0001649777 00000 n 
+0001649981 00000 n 
+0001650185 00000 n 
+0001650412 00000 n 
+0001650606 00000 n 
+0001650810 00000 n 
+0001651037 00000 n 
+0001651231 00000 n 
+0001651435 00000 n 
+0001651662 00000 n 
+0001651856 00000 n 
+0001652083 00000 n 
+0001652277 00000 n 
 0001652502 00000 n 
-0001652740 00000 n 
-0001657800 00000 n 
-0001652945 00000 n 
-0001657860 00000 n 
-0001653183 00000 n 
-0001653388 00000 n 
-0001653626 00000 n 
-0001657920 00000 n 
-0001653829 00000 n 
-0001654036 00000 n 
-0001657979 00000 n 
-0001654273 00000 n 
-0001654511 00000 n 
-0001654749 00000 n 
-0001658039 00000 n 
-0001654945 00000 n 
-0001655183 00000 n 
-0001658099 00000 n 
-0001655379 00000 n 
-0001655616 00000 n 
-0001658159 00000 n 
-0001655820 00000 n 
-0001658219 00000 n 
-0001656058 00000 n 
-0001656296 00000 n 
-0001656520 00000 n 
-0001658279 00000 n 
-0001656744 00000 n 
-0001656980 00000 n 
-0001657202 00000 n 
-0001682996 00000 n 
+0001652693 00000 n 
+0001652920 00000 n 
+0001653108 00000 n 
+0001656522 00000 n 
+0001656749 00000 n 
+0001656930 00000 n 
+0001657116 00000 n 
+0001653312 00000 n 
+0001653957 00000 n 
+0001646937 00000 n 
+0001645014 00000 n 
+0001653486 00000 n 
+0001653545 00000 n 
+0001653604 00000 n 
+0001653663 00000 n 
+0001653722 00000 n 
+0001653781 00000 n 
+0001653840 00000 n 
+0001653899 00000 n 
+0001791425 00000 n 
+0001731366 00000 n 
+0001734112 00000 n 
+0001734230 00000 n 
+0001734353 00000 n 
+0001734476 00000 n 
+0001734594 00000 n 
+0001737123 00000 n 
+0001657320 00000 n 
+0001657546 00000 n 
+0001657725 00000 n 
+0001657926 00000 n 
+0001658153 00000 n 
+0001658340 00000 n 
+0001658543 00000 n 
+0001658736 00000 n 
+0001658962 00000 n 
+0001659155 00000 n 
+0001659380 00000 n 
+0001659573 00000 n 
+0001659800 00000 n 
+0001660004 00000 n 
+0001660230 00000 n 
+0001660434 00000 n 
+0001660661 00000 n 
+0001660849 00000 n 
+0001661044 00000 n 
+0001661268 00000 n 
+0001661464 00000 n 
+0001661690 00000 n 
+0001661884 00000 n 
+0001662109 00000 n 
+0001662305 00000 n 
+0001662532 00000 n 
+0001662759 00000 n 
+0001662953 00000 n 
+0001663180 00000 n 
+0001663373 00000 n 
+0001663599 00000 n 
+0001663792 00000 n 
+0001663987 00000 n 
+0001664211 00000 n 
+0001667524 00000 n 
+0001667721 00000 n 
+0001667947 00000 n 
+0001664396 00000 n 
+0001665160 00000 n 
+0001656036 00000 n 
+0001654124 00000 n 
+0001664570 00000 n 
+0001664629 00000 n 
+0001664688 00000 n 
+0001664747 00000 n 
+0001664806 00000 n 
+0001664865 00000 n 
+0001664924 00000 n 
+0001664983 00000 n 
+0001665042 00000 n 
+0001665101 00000 n 
+0001737241 00000 n 
+0001737364 00000 n 
+0001737482 00000 n 
+0001740058 00000 n 
+0001740176 00000 n 
+0001740294 00000 n 
+0001740412 00000 n 
+0001668134 00000 n 
+0001668330 00000 n 
 0001668555 00000 n 
-0001661445 00000 n 
-0001658478 00000 n 
-0001667659 00000 n 
-0001667719 00000 n 
-0001661817 00000 n 
-0001662025 00000 n 
-0001667779 00000 n 
-0001662263 00000 n 
-0001662471 00000 n 
-0001667838 00000 n 
-0001662709 00000 n 
-0001662917 00000 n 
-0001667898 00000 n 
-0001663154 00000 n 
-0001667958 00000 n 
-0001663391 00000 n 
-0001663629 00000 n 
-0001663834 00000 n 
-0001668018 00000 n 
-0001664071 00000 n 
-0001668078 00000 n 
-0001664308 00000 n 
-0001668138 00000 n 
-0001664545 00000 n 
-0001664782 00000 n 
-0001665019 00000 n 
-0001668198 00000 n 
-0001665257 00000 n 
-0001665465 00000 n 
-0001668258 00000 n 
-0001665703 00000 n 
-0001665911 00000 n 
-0001668317 00000 n 
-0001666149 00000 n 
-0001666387 00000 n 
-0001668377 00000 n 
-0001668436 00000 n 
-0001666592 00000 n 
-0001666800 00000 n 
-0001667038 00000 n 
-0001668495 00000 n 
-0001667243 00000 n 
-0001667481 00000 n 
-0001675774 00000 n 
-0001671715 00000 n 
-0001668697 00000 n 
-0001675415 00000 n 
-0001675475 00000 n 
-0001671997 00000 n 
-0001675534 00000 n 
-0001672235 00000 n 
-0001672438 00000 n 
-0001672673 00000 n 
-0001675594 00000 n 
-0001672903 00000 n 
-0001673139 00000 n 
-0001673341 00000 n 
-0001675654 00000 n 
-0001673544 00000 n 
-0001673780 00000 n 
-0001673983 00000 n 
-0001674221 00000 n 
-0001674425 00000 n 
-0001674630 00000 n 
-0001675714 00000 n 
-0001674835 00000 n 
-0001675040 00000 n 
-0001675237 00000 n 
-0001683426 00000 n 
-0001683544 00000 n 
-0001683664 00000 n 
-0001678882 00000 n 
-0001678497 00000 n 
-0001675924 00000 n 
-0001678822 00000 n 
-0001678644 00000 n 
-0001683850 00000 n 
-0001681413 00000 n 
-0001679069 00000 n 
-0001682877 00000 n 
-0001682937 00000 n 
-0001683056 00000 n 
-0001683182 00000 n 
-0001681605 00000 n 
-0001681802 00000 n 
-0001681998 00000 n 
-0001683306 00000 n 
-0001682229 00000 n 
-0001682467 00000 n 
-0001683366 00000 n 
-0001683485 00000 n 
-0001683604 00000 n 
-0001683730 00000 n 
-0001682699 00000 n 
-0003267650 00000 n 
-0001691508 00000 n 
-0001686391 00000 n 
-0001683989 00000 n 
-0001690671 00000 n 
-0001686682 00000 n 
-0001690789 00000 n 
-0001690849 00000 n 
-0001686900 00000 n 
-0001690909 00000 n 
-0001687157 00000 n 
-0001690969 00000 n 
-0001687414 00000 n 
-0001691029 00000 n 
-0001687671 00000 n 
-0001691089 00000 n 
-0001687928 00000 n 
-0001688125 00000 n 
-0001691149 00000 n 
-0001688381 00000 n 
-0001688578 00000 n 
-0001691209 00000 n 
-0001688835 00000 n 
-0001691269 00000 n 
-0001689092 00000 n 
-0001691329 00000 n 
-0001689349 00000 n 
-0001691389 00000 n 
-0001689606 00000 n 
-0001691448 00000 n 
-0001689861 00000 n 
-0001690084 00000 n 
-0001690289 00000 n 
-0001690493 00000 n 
-0001698018 00000 n 
-0001694025 00000 n 
-0001691661 00000 n 
-0001697302 00000 n 
-0001697480 00000 n 
-0001694289 00000 n 
-0001697540 00000 n 
-0001697599 00000 n 
-0001694498 00000 n 
-0001697658 00000 n 
-0001694729 00000 n 
-0001697718 00000 n 
-0001694960 00000 n 
-0001695190 00000 n 
-0001697778 00000 n 
-0001695381 00000 n 
-0001695612 00000 n 
-0001697838 00000 n 
-0001695810 00000 n 
-0001696041 00000 n 
-0001696272 00000 n 
-0001697898 00000 n 
-0001696470 00000 n 
-0001697958 00000 n 
-0001696701 00000 n 
-0001696932 00000 n 
-0001697124 00000 n 
-0001701579 00000 n 
-0001702056 00000 n 
-0001700199 00000 n 
-0001698185 00000 n 
-0001701400 00000 n 
-0001701460 00000 n 
-0001700382 00000 n 
-0001701519 00000 n 
-0001701639 00000 n 
-0001701817 00000 n 
-0001701877 00000 n 
-0001700583 00000 n 
-0001700826 00000 n 
-0001701024 00000 n 
-0001701937 00000 n 
-0001701222 00000 n 
-0001709937 00000 n 
-0001705227 00000 n 
-0001702220 00000 n 
-0001709400 00000 n 
-0001709518 00000 n 
-0001709578 00000 n 
-0001705527 00000 n 
-0001705750 00000 n 
-0001709638 00000 n 
-0001705940 00000 n 
-0001709697 00000 n 
-0001706163 00000 n 
-0001706371 00000 n 
-0001709757 00000 n 
-0001706594 00000 n 
-0001706802 00000 n 
-0001709817 00000 n 
-0001707025 00000 n 
-0001709877 00000 n 
-0001707248 00000 n 
-0001707471 00000 n 
-0001707694 00000 n 
-0001707917 00000 n 
-0001708124 00000 n 
-0001708347 00000 n 
-0001708569 00000 n 
-0001708777 00000 n 
-0001708999 00000 n 
-0001709222 00000 n 
-0001714580 00000 n 
-0001714700 00000 n 
-0001718269 00000 n 
-0001718388 00000 n 
-0001714759 00000 n 
-0001713127 00000 n 
-0001710118 00000 n 
-0001714280 00000 n 
-0001714340 00000 n 
-0001713310 00000 n 
-0001713532 00000 n 
-0001713722 00000 n 
-0001713912 00000 n 
-0001714400 00000 n 
-0001714460 00000 n 
-0001714520 00000 n 
-0001714640 00000 n 
-0001714102 00000 n 
-0001718574 00000 n 
-0001718813 00000 n 
-0001717825 00000 n 
-0001714940 00000 n 
-0001718150 00000 n 
-0001718210 00000 n 
-0001718329 00000 n 
-0001718454 00000 n 
-0001718514 00000 n 
-0001718634 00000 n 
-0001717972 00000 n 
-0003267776 00000 n 
-0001722417 00000 n 
-0001720718 00000 n 
-0001718993 00000 n 
-0001721522 00000 n 
-0001721582 00000 n 
-0001721641 00000 n 
-0001721820 00000 n 
-0001721880 00000 n 
-0001722058 00000 n 
-0001722118 00000 n 
-0001722297 00000 n 
-0001722357 00000 n 
-0001720883 00000 n 
-0001721114 00000 n 
-0001721344 00000 n 
-0001732501 00000 n 
-0001725540 00000 n 
-0001722569 00000 n 
-0001731782 00000 n 
-0001731842 00000 n 
-0001725921 00000 n 
-0001726152 00000 n 
-0001731902 00000 n 
-0001726352 00000 n 
-0001731962 00000 n 
-0001726585 00000 n 
-0001726816 00000 n 
-0001727047 00000 n 
-0001727237 00000 n 
-0001727468 00000 n 
-0001727660 00000 n 
-0001727891 00000 n 
-0001728082 00000 n 
-0001728313 00000 n 
-0001728510 00000 n 
-0001728741 00000 n 
-0001732022 00000 n 
-0001728933 00000 n 
-0001729141 00000 n 
-0001732081 00000 n 
-0001729374 00000 n 
-0001729607 00000 n 
-0001732141 00000 n 
-0001729797 00000 n 
-0001732201 00000 n 
-0001730026 00000 n 
-0001730234 00000 n 
-0001732261 00000 n 
-0001730467 00000 n 
-0001730675 00000 n 
-0001732321 00000 n 
-0001730908 00000 n 
-0001732381 00000 n 
-0001731140 00000 n 
-0001732441 00000 n 
-0001731372 00000 n 
-0001731604 00000 n 
-0001770328 00000 n 
-0001770448 00000 n 
-0001770568 00000 n 
-0001770693 00000 n 
-0001770819 00000 n 
-0001744668 00000 n 
-0001735751 00000 n 
-0001732656 00000 n 
-0001744068 00000 n 
-0001744128 00000 n 
-0001736222 00000 n 
-0001736455 00000 n 
-0001744188 00000 n 
-0001736688 00000 n 
-0001744248 00000 n 
-0001736920 00000 n 
-0001737153 00000 n 
-0001744308 00000 n 
-0001744368 00000 n 
-0001737353 00000 n 
-0001737561 00000 n 
-0001737794 00000 n 
-0001744428 00000 n 
-0001737994 00000 n 
-0001744488 00000 n 
-0001738227 00000 n 
-0001738460 00000 n 
-0001738660 00000 n 
-0001744608 00000 n 
-0001738893 00000 n 
-0001739091 00000 n 
-0001739324 00000 n 
-0001739524 00000 n 
-0001739724 00000 n 
-0001739922 00000 n 
-0001740155 00000 n 
-0001740355 00000 n 
-0001740553 00000 n 
-0001740786 00000 n 
-0001740986 00000 n 
-0001741184 00000 n 
-0001741417 00000 n 
-0001741617 00000 n 
-0001741815 00000 n 
-0001742048 00000 n 
-0001742248 00000 n 
-0001742448 00000 n 
-0001742646 00000 n 
-0001742879 00000 n 
-0001743069 00000 n 
-0001743259 00000 n 
-0001743457 00000 n 
-0001743690 00000 n 
-0001743890 00000 n 
-0001771005 00000 n 
-0001771125 00000 n 
-0001773327 00000 n 
-0001773446 00000 n 
-0001773566 00000 n 
-0001773686 00000 n 
-0001773806 00000 n 
-0001759742 00000 n 
-0001747846 00000 n 
-0001744795 00000 n 
-0001759622 00000 n 
-0001748470 00000 n 
-0001748668 00000 n 
-0001748901 00000 n 
-0001749101 00000 n 
-0001749299 00000 n 
-0001749532 00000 n 
-0001749732 00000 n 
-0001749930 00000 n 
-0001750163 00000 n 
-0001750363 00000 n 
-0001750561 00000 n 
-0001750794 00000 n 
-0001750994 00000 n 
-0001751194 00000 n 
-0001751392 00000 n 
-0001751625 00000 n 
-0001751825 00000 n 
-0001752015 00000 n 
-0001752213 00000 n 
-0001752446 00000 n 
-0001752646 00000 n 
-0001752842 00000 n 
-0001753073 00000 n 
-0001753271 00000 n 
-0001753469 00000 n 
-0001753667 00000 n 
-0001753900 00000 n 
-0001754100 00000 n 
-0001754290 00000 n 
-0001754488 00000 n 
-0001754721 00000 n 
-0001754921 00000 n 
-0001755119 00000 n 
-0001755352 00000 n 
-0001759682 00000 n 
-0001755552 00000 n 
-0001755748 00000 n 
-0001755979 00000 n 
-0001756167 00000 n 
-0001756355 00000 n 
-0001756553 00000 n 
-0001756786 00000 n 
-0001756976 00000 n 
-0001757176 00000 n 
-0001757374 00000 n 
-0001757607 00000 n 
-0001757807 00000 n 
-0001757996 00000 n 
-0001758194 00000 n 
-0001758427 00000 n 
-0001758627 00000 n 
-0001758824 00000 n 
-0001759056 00000 n 
-0001759245 00000 n 
-0001759444 00000 n 
-0001773926 00000 n 
-0001774045 00000 n 
-0001774165 00000 n 
-0001774285 00000 n 
-0001774405 00000 n 
-0001777659 00000 n 
-0001777779 00000 n 
-0001777899 00000 n 
-0001778019 00000 n 
-0001778139 00000 n 
-0001778256 00000 n 
-0001778375 00000 n 
-0001778494 00000 n 
-0001778614 00000 n 
-0001778734 00000 n 
-0001766296 00000 n 
-0001763070 00000 n 
-0001759882 00000 n 
-0001766176 00000 n 
-0001763334 00000 n 
-0001763532 00000 n 
-0001763765 00000 n 
-0001763965 00000 n 
-0001764155 00000 n 
-0001764388 00000 n 
-0001764588 00000 n 
-0001764819 00000 n 
-0001765019 00000 n 
-0001765219 00000 n 
-0001766236 00000 n 
-0001765419 00000 n 
-0001765619 00000 n 
-0001765809 00000 n 
-0001765998 00000 n 
-0001785746 00000 n 
-0001785865 00000 n 
-0001785985 00000 n 
-0001771184 00000 n 
-0001769402 00000 n 
-0001766496 00000 n 
-0001770209 00000 n 
-0001770269 00000 n 
-0001770388 00000 n 
-0001769567 00000 n 
-0001769799 00000 n 
-0001770508 00000 n 
-0001770633 00000 n 
-0001770759 00000 n 
-0001770885 00000 n 
-0001770945 00000 n 
-0001771065 00000 n 
-0001770031 00000 n 
-0003267902 00000 n 
-0001774525 00000 n 
-0001772883 00000 n 
-0001771422 00000 n 
-0001773208 00000 n 
-0001773268 00000 n 
-0001773386 00000 n 
-0001773506 00000 n 
-0001773626 00000 n 
-0001773746 00000 n 
-0001773866 00000 n 
-0001773986 00000 n 
-0001774105 00000 n 
-0001774225 00000 n 
-0001774345 00000 n 
-0001774465 00000 n 
-0001773030 00000 n 
-0001778793 00000 n 
-0001776310 00000 n 
-0001774651 00000 n 
-0001777599 00000 n 
-0001776493 00000 n 
-0001776726 00000 n 
-0001777719 00000 n 
-0001777839 00000 n 
-0001777959 00000 n 
-0001776957 00000 n 
-0001777189 00000 n 
-0001778079 00000 n 
-0001778199 00000 n 
-0001778315 00000 n 
-0001778434 00000 n 
-0001778554 00000 n 
-0001778674 00000 n 
-0001777421 00000 n 
-0001786404 00000 n 
-0001781518 00000 n 
-0001778919 00000 n 
-0001785627 00000 n 
-0001785687 00000 n 
-0001785805 00000 n 
-0001785925 00000 n 
-0001786045 00000 n 
-0001786224 00000 n 
-0001781809 00000 n 
-0001782036 00000 n 
-0001782295 00000 n 
-0001782522 00000 n 
-0001782781 00000 n 
-0001783040 00000 n 
-0001783298 00000 n 
-0001786284 00000 n 
-0001783557 00000 n 
-0001786344 00000 n 
-0001783782 00000 n 
-0001784009 00000 n 
-0001784217 00000 n 
-0001784444 00000 n 
-0001784651 00000 n 
-0001784847 00000 n 
-0001785047 00000 n 
-0001785244 00000 n 
-0001785449 00000 n 
-0001822004 00000 n 
-0001822124 00000 n 
-0001822190 00000 n 
-0001822309 00000 n 
-0001822375 00000 n 
-0001822439 00000 n 
-0001822565 00000 n 
-0001822685 00000 n 
-0001798178 00000 n 
-0001790116 00000 n 
-0001786557 00000 n 
-0001797579 00000 n 
-0001790551 00000 n 
-0001790778 00000 n 
-0001790986 00000 n 
-0001791186 00000 n 
-0001791394 00000 n 
-0001791621 00000 n 
-0001791829 00000 n 
-0001792028 00000 n 
-0001792228 00000 n 
-0001797639 00000 n 
-0001792436 00000 n 
-0001792662 00000 n 
-0001797699 00000 n 
-0001792854 00000 n 
-0001797759 00000 n 
-0001793081 00000 n 
-0001793275 00000 n 
-0001793502 00000 n 
-0001797819 00000 n 
-0001793696 00000 n 
-0001793904 00000 n 
-0001797879 00000 n 
-0001794131 00000 n 
-0001794327 00000 n 
-0001797939 00000 n 
-0001794554 00000 n 
-0001794781 00000 n 
-0001797999 00000 n 
-0001795008 00000 n 
-0001795235 00000 n 
-0001798058 00000 n 
-0001795461 00000 n 
-0001795661 00000 n 
-0001798118 00000 n 
-0001795888 00000 n 
-0001796094 00000 n 
-0001796318 00000 n 
-0001796545 00000 n 
-0001796772 00000 n 
-0001796978 00000 n 
-0001797205 00000 n 
-0001797401 00000 n 
-0001826638 00000 n 
-0001826758 00000 n 
-0001830226 00000 n 
-0001830346 00000 n 
-0001830471 00000 n 
-0001809753 00000 n 
-0001801994 00000 n 
-0001798361 00000 n 
-0001809273 00000 n 
-0001802420 00000 n 
-0001802647 00000 n 
-0001802839 00000 n 
+0001668740 00000 n 
+0001668966 00000 n 
+0001669193 00000 n 
+0001669418 00000 n 
+0001669645 00000 n 
+0001669872 00000 n 
+0001670099 00000 n 
+0001670326 00000 n 
+0001670512 00000 n 
+0001670739 00000 n 
+0001670935 00000 n 
+0001671162 00000 n 
+0001671357 00000 n 
+0001671583 00000 n 
+0001671779 00000 n 
+0001671983 00000 n 
+0001672187 00000 n 
+0001672413 00000 n 
+0001672609 00000 n 
+0001672813 00000 n 
+0001673017 00000 n 
+0001673203 00000 n 
+0001673430 00000 n 
+0001673626 00000 n 
+0001673829 00000 n 
+0001674032 00000 n 
+0001674259 00000 n 
+0001674455 00000 n 
+0001674658 00000 n 
+0001674861 00000 n 
+0001678075 00000 n 
+0001675048 00000 n 
+0001675634 00000 n 
+0001667056 00000 n 
+0001665340 00000 n 
+0001675222 00000 n 
+0001675281 00000 n 
+0001675340 00000 n 
+0001675399 00000 n 
+0001675458 00000 n 
+0001675516 00000 n 
+0001675575 00000 n 
+0001740529 00000 n 
+0001742853 00000 n 
+0001742971 00000 n 
+0001743089 00000 n 
+0001743207 00000 n 
+0001743325 00000 n 
+0001745975 00000 n 
+0001746097 00000 n 
+0001748961 00000 n 
+0001678302 00000 n 
+0001678527 00000 n 
+0001678715 00000 n 
+0001678940 00000 n 
+0001679136 00000 n 
+0001679361 00000 n 
+0001679557 00000 n 
+0001679782 00000 n 
+0001679970 00000 n 
+0001680194 00000 n 
+0001680388 00000 n 
+0001680613 00000 n 
+0001680809 00000 n 
+0001681034 00000 n 
+0001681222 00000 n 
+0001681446 00000 n 
+0001681634 00000 n 
+0001681858 00000 n 
+0001682054 00000 n 
+0001682279 00000 n 
+0001682475 00000 n 
+0001682700 00000 n 
+0001682886 00000 n 
+0001683051 00000 n 
+0001683275 00000 n 
+0001683466 00000 n 
+0001683631 00000 n 
+0001683856 00000 n 
+0001684049 00000 n 
+0001684274 00000 n 
+0001684467 00000 n 
+0001684693 00000 n 
+0001684885 00000 n 
+0001685109 00000 n 
+0001689141 00000 n 
+0001689368 00000 n 
+0001689562 00000 n 
+0001685302 00000 n 
+0001685594 00000 n 
+0001677616 00000 n 
+0001675773 00000 n 
+0001685476 00000 n 
+0001685535 00000 n 
+0001749084 00000 n 
+0001749207 00000 n 
+0001749325 00000 n 
+0001751601 00000 n 
+0001751719 00000 n 
+0001751837 00000 n 
+0001754045 00000 n 
+0001754163 00000 n 
+0001754281 00000 n 
+0001754398 00000 n 
+0001757244 00000 n 
+0001757361 00000 n 
+0001757479 00000 n 
+0001757597 00000 n 
+0001760533 00000 n 
+0001760650 00000 n 
+0001689741 00000 n 
+0001689967 00000 n 
+0001690152 00000 n 
+0001690347 00000 n 
+0001690511 00000 n 
+0001690738 00000 n 
+0001690924 00000 n 
+0001691120 00000 n 
+0001691282 00000 n 
+0001691507 00000 n 
+0001691691 00000 n 
+0001691893 00000 n 
+0001692087 00000 n 
+0001692263 00000 n 
+0001692489 00000 n 
+0001692684 00000 n 
+0001692887 00000 n 
+0001693083 00000 n 
+0001693260 00000 n 
+0001693487 00000 n 
+0001693672 00000 n 
+0001693868 00000 n 
+0001694260 00000 n 
+0001694447 00000 n 
+0001694674 00000 n 
+0001694860 00000 n 
+0001695064 00000 n 
+0001695456 00000 n 
+0001695632 00000 n 
+0001695859 00000 n 
+0001696055 00000 n 
+0001696259 00000 n 
+0001696455 00000 n 
+0001696630 00000 n 
+0001696856 00000 n 
+0001697041 00000 n 
+0001697236 00000 n 
+0001697627 00000 n 
+0001697814 00000 n 
+0001698038 00000 n 
+0001698232 00000 n 
+0001698401 00000 n 
+0001698626 00000 n 
+0001698851 00000 n 
+0001699045 00000 n 
+0001702352 00000 n 
+0001702579 00000 n 
+0001699211 00000 n 
+0001699503 00000 n 
+0001688538 00000 n 
+0001685733 00000 n 
+0001699385 00000 n 
+0001694064 00000 n 
+0001695260 00000 n 
+0001697431 00000 n 
+0001699444 00000 n 
+0002869354 00000 n 
+0001760768 00000 n 
+0001760885 00000 n 
+0001764194 00000 n 
+0001764312 00000 n 
+0001764430 00000 n 
+0001767777 00000 n 
+0001767895 00000 n 
+0001768013 00000 n 
+0001771522 00000 n 
+0001771640 00000 n 
+0001771758 00000 n 
+0001702773 00000 n 
+0001702940 00000 n 
+0001703165 00000 n 
+0001703359 00000 n 
+0001703522 00000 n 
+0001703746 00000 n 
+0001703940 00000 n 
+0001704167 00000 n 
+0001704361 00000 n 
+0001704752 00000 n 
+0001704915 00000 n 
+0001705140 00000 n 
+0001705334 00000 n 
+0001705500 00000 n 
+0001705726 00000 n 
+0001705920 00000 n 
+0001706116 00000 n 
+0001706283 00000 n 
+0001706507 00000 n 
+0001706710 00000 n 
+0001706935 00000 n 
+0001707138 00000 n 
+0001707363 00000 n 
+0001707556 00000 n 
+0001707727 00000 n 
+0001707951 00000 n 
+0001708143 00000 n 
+0001708368 00000 n 
+0001708572 00000 n 
+0001708797 00000 n 
+0001708987 00000 n 
+0001709212 00000 n 
+0001709398 00000 n 
+0001709602 00000 n 
+0001709825 00000 n 
+0001710016 00000 n 
+0001712812 00000 n 
+0001713016 00000 n 
+0001710201 00000 n 
+0001710493 00000 n 
+0001701857 00000 n 
+0001699710 00000 n 
+0001710375 00000 n 
+0001710434 00000 n 
+0001704557 00000 n 
+0001775144 00000 n 
+0001775260 00000 n 
+0001775378 00000 n 
+0001778817 00000 n 
+0001778934 00000 n 
+0001779052 00000 n 
+0001782676 00000 n 
+0001782794 00000 n 
+0001782912 00000 n 
+0001783028 00000 n 
+0001787149 00000 n 
+0001787267 00000 n 
+0001787390 00000 n 
+0001713243 00000 n 
+0001713470 00000 n 
+0001713697 00000 n 
+0001713922 00000 n 
+0001714115 00000 n 
+0001714308 00000 n 
+0001714534 00000 n 
+0001714727 00000 n 
+0001714953 00000 n 
+0001715146 00000 n 
+0001715339 00000 n 
+0001715566 00000 n 
+0001715759 00000 n 
+0001715951 00000 n 
+0001716144 00000 n 
+0001716347 00000 n 
+0001716572 00000 n 
+0001716763 00000 n 
+0001716956 00000 n 
+0001717150 00000 n 
+0001717354 00000 n 
+0001717579 00000 n 
+0001717771 00000 n 
+0001717964 00000 n 
+0001718158 00000 n 
+0001718362 00000 n 
+0001718588 00000 n 
+0001718781 00000 n 
+0001718974 00000 n 
+0001719168 00000 n 
+0001723282 00000 n 
+0001723508 00000 n 
+0001723700 00000 n 
+0001723893 00000 n 
+0001724087 00000 n 
+0001719372 00000 n 
+0001719958 00000 n 
+0001712380 00000 n 
+0001710659 00000 n 
+0001719546 00000 n 
+0001719605 00000 n 
+0001719664 00000 n 
+0001719723 00000 n 
+0001719782 00000 n 
+0001719841 00000 n 
+0001719899 00000 n 
+0001791607 00000 n 
+0001791725 00000 n 
+0001791848 00000 n 
+0001791971 00000 n 
+0001794656 00000 n 
+0001794779 00000 n 
+0001794902 00000 n 
+0001724291 00000 n 
+0001724517 00000 n 
+0001724709 00000 n 
+0001724902 00000 n 
+0001725096 00000 n 
+0001725300 00000 n 
+0001725526 00000 n 
+0001725720 00000 n 
+0001726107 00000 n 
+0001726310 00000 n 
+0001726537 00000 n 
+0001726741 00000 n 
+0001726932 00000 n 
+0001727283 00000 n 
+0001722976 00000 n 
+0001720097 00000 n 
+0001727106 00000 n 
+0001725914 00000 n 
+0001727165 00000 n 
+0001727224 00000 n 
+0001797607 00000 n 
+0001797730 00000 n 
+0001797853 00000 n 
+0001797976 00000 n 
+0001730511 00000 n 
+0001730698 00000 n 
+0001730886 00000 n 
+0001731074 00000 n 
+0001731484 00000 n 
+0001730340 00000 n 
+0001727487 00000 n 
+0001731248 00000 n 
+0001731307 00000 n 
+0001731425 00000 n 
+0001733714 00000 n 
+0001733879 00000 n 
+0001734712 00000 n 
+0001733561 00000 n 
+0001731686 00000 n 
+0001734053 00000 n 
+0001734171 00000 n 
+0001734294 00000 n 
+0001734417 00000 n 
+0001734535 00000 n 
+0001734653 00000 n 
+0001736890 00000 n 
+0001737541 00000 n 
+0001736746 00000 n 
+0001734838 00000 n 
+0001737064 00000 n 
+0001737182 00000 n 
+0001737305 00000 n 
+0001737423 00000 n 
+0002869480 00000 n 
+0001739707 00000 n 
+0001740587 00000 n 
+0001739563 00000 n 
+0001737667 00000 n 
+0001739881 00000 n 
+0001739940 00000 n 
+0001739999 00000 n 
+0001740117 00000 n 
+0001740235 00000 n 
+0001740353 00000 n 
+0001740470 00000 n 
+0001742561 00000 n 
+0001743443 00000 n 
+0001742417 00000 n 
+0001740726 00000 n 
+0001742735 00000 n 
+0001742794 00000 n 
+0001742912 00000 n 
+0001743030 00000 n 
+0001743148 00000 n 
+0001743266 00000 n 
+0001743384 00000 n 
+0001745742 00000 n 
+0001746220 00000 n 
+0001745598 00000 n 
+0001743582 00000 n 
+0001745916 00000 n 
+0001746039 00000 n 
+0001746161 00000 n 
+0001748728 00000 n 
+0001749383 00000 n 
+0001748584 00000 n 
+0001746359 00000 n 
+0001748902 00000 n 
+0001749025 00000 n 
+0001749148 00000 n 
+0001749266 00000 n 
+0001751309 00000 n 
+0001751955 00000 n 
+0001751165 00000 n 
+0001749522 00000 n 
+0001751483 00000 n 
+0001751542 00000 n 
+0001751660 00000 n 
+0001751778 00000 n 
+0001751896 00000 n 
+0001753812 00000 n 
+0001754457 00000 n 
+0001753668 00000 n 
+0001752094 00000 n 
+0001753986 00000 n 
+0001754104 00000 n 
+0001754222 00000 n 
+0001754339 00000 n 
+0002869606 00000 n 
+0001756439 00000 n 
+0001756601 00000 n 
+0001756766 00000 n 
+0001756952 00000 n 
+0001757656 00000 n 
+0001756268 00000 n 
+0001754596 00000 n 
+0001757126 00000 n 
+0001757185 00000 n 
+0001757303 00000 n 
+0001757420 00000 n 
+0001757538 00000 n 
+0001759899 00000 n 
+0001760078 00000 n 
+0001760241 00000 n 
+0001761003 00000 n 
+0001759737 00000 n 
+0001757795 00000 n 
+0001760415 00000 n 
+0001760474 00000 n 
+0001760591 00000 n 
+0001760709 00000 n 
+0001760826 00000 n 
+0001760944 00000 n 
+0001763445 00000 n 
+0001763609 00000 n 
+0001763784 00000 n 
+0001763961 00000 n 
+0001764548 00000 n 
+0001763274 00000 n 
+0001761142 00000 n 
+0001764135 00000 n 
+0001764253 00000 n 
+0001764371 00000 n 
+0001764489 00000 n 
+0001767181 00000 n 
+0001767368 00000 n 
+0001770697 00000 n 
+0001767544 00000 n 
+0001768072 00000 n 
+0001767019 00000 n 
+0001764724 00000 n 
+0001767718 00000 n 
+0001767836 00000 n 
+0001767954 00000 n 
+0001770874 00000 n 
+0001771061 00000 n 
+0001773850 00000 n 
+0001771230 00000 n 
+0001771817 00000 n 
+0001770526 00000 n 
+0001768248 00000 n 
+0001771404 00000 n 
+0001771463 00000 n 
+0001771581 00000 n 
+0001771699 00000 n 
+0001774017 00000 n 
+0001774185 00000 n 
+0001774352 00000 n 
+0001774520 00000 n 
+0001774684 00000 n 
+0001777692 00000 n 
+0001774852 00000 n 
+0001775437 00000 n 
+0001773652 00000 n 
+0001771993 00000 n 
+0001775026 00000 n 
+0001775085 00000 n 
+0001775202 00000 n 
+0001775319 00000 n 
+0002869732 00000 n 
+0001777856 00000 n 
+0001778024 00000 n 
+0001778191 00000 n 
+0001778357 00000 n 
+0001778525 00000 n 
+0001779111 00000 n 
+0001777503 00000 n 
+0001775589 00000 n 
+0001778699 00000 n 
+0001778758 00000 n 
+0001778875 00000 n 
+0001778993 00000 n 
+0001781616 00000 n 
+0001781787 00000 n 
+0001782012 00000 n 
+0001782198 00000 n 
+0001782384 00000 n 
+0001783086 00000 n 
+0001781436 00000 n 
+0001779263 00000 n 
+0001782558 00000 n 
+0001782617 00000 n 
+0001782735 00000 n 
+0001782853 00000 n 
+0001782971 00000 n 
+0001786081 00000 n 
+0001786271 00000 n 
+0001786461 00000 n 
+0001786688 00000 n 
+0001786857 00000 n 
+0001787452 00000 n 
+0001785901 00000 n 
+0001783274 00000 n 
+0001787031 00000 n 
+0001787090 00000 n 
+0001787208 00000 n 
+0001787331 00000 n 
+0001790596 00000 n 
+0001790781 00000 n 
+0001790967 00000 n 
+0001791133 00000 n 
+0001792094 00000 n 
+0001790425 00000 n 
+0001787603 00000 n 
+0001791307 00000 n 
+0001791366 00000 n 
+0001791489 00000 n 
+0001791548 00000 n 
+0001791666 00000 n 
+0001791789 00000 n 
+0001791912 00000 n 
+0001792035 00000 n 
+0001794423 00000 n 
+0001795025 00000 n 
+0001794279 00000 n 
+0001792245 00000 n 
+0001794597 00000 n 
+0001794720 00000 n 
+0001794843 00000 n 
+0001794966 00000 n 
+0001797374 00000 n 
+0001798152 00000 n 
+0001797230 00000 n 
+0001795151 00000 n 
+0001797548 00000 n 
+0001797671 00000 n 
+0001797794 00000 n 
+0001797917 00000 n 
+0001798035 00000 n 
+0002869858 00000 n 
+0001800264 00000 n 
+0001800501 00000 n 
+0001800705 00000 n 
+0001800909 00000 n 
+0001801146 00000 n 
+0001801342 00000 n 
+0001801579 00000 n 
+0001801773 00000 n 
+0001802010 00000 n 
+0001802206 00000 n 
+0001802443 00000 n 
+0001802639 00000 n 
+0001802875 00000 n 
 0001803065 00000 n 
-0001803264 00000 n 
-0001803490 00000 n 
-0001809333 00000 n 
-0001803690 00000 n 
-0001803917 00000 n 
-0001804123 00000 n 
-0001804348 00000 n 
-0001804556 00000 n 
-0001804783 00000 n 
-0001805010 00000 n 
-0001805201 00000 n 
-0001805409 00000 n 
-0001805617 00000 n 
-0003031721 00000 n 
-0003028751 00000 n 
-0003031553 00000 n 
-0001805825 00000 n 
-0001806015 00000 n 
-0001806241 00000 n 
-0001806432 00000 n 
-0001806659 00000 n 
-0001806886 00000 n 
-0001807094 00000 n 
-0001809393 00000 n 
-0001807302 00000 n 
-0001809453 00000 n 
-0001807528 00000 n 
-0001809513 00000 n 
-0001807754 00000 n 
-0001809573 00000 n 
-0001807980 00000 n 
-0001809633 00000 n 
-0001808206 00000 n 
-0001808433 00000 n 
-0001809693 00000 n 
-0001808660 00000 n 
-0001808868 00000 n 
-0001809095 00000 n 
-0001830597 00000 n 
-0001830717 00000 n 
-0001833545 00000 n 
-0001833665 00000 n 
-0001833785 00000 n 
-0001833905 00000 n 
-0001834025 00000 n 
-0001836808 00000 n 
-0001836928 00000 n 
-0001817964 00000 n 
-0001812889 00000 n 
-0001809909 00000 n 
-0001817426 00000 n 
-0001817486 00000 n 
-0001813207 00000 n 
-0001813415 00000 n 
-0001817545 00000 n 
-0001813642 00000 n 
-0001813869 00000 n 
-0001817605 00000 n 
-0001814063 00000 n 
-0001814290 00000 n 
-0001814517 00000 n 
-0001817665 00000 n 
-0001814744 00000 n 
-0001814969 00000 n 
-0001817725 00000 n 
-0001817785 00000 n 
-0001815194 00000 n 
-0001815401 00000 n 
-0001815627 00000 n 
-0001817845 00000 n 
-0001815820 00000 n 
-0001816047 00000 n 
-0001816241 00000 n 
-0001816468 00000 n 
-0001816662 00000 n 
-0001816856 00000 n 
-0001817905 00000 n 
-0001817048 00000 n 
-0001817248 00000 n 
-0003268028 00000 n 
-0001837107 00000 n 
-0001837227 00000 n 
-0001822805 00000 n 
-0001820918 00000 n 
-0001818104 00000 n 
-0001821884 00000 n 
-0001821092 00000 n 
-0001821285 00000 n 
-0001821944 00000 n 
-0001822064 00000 n 
-0001822250 00000 n 
-0001822505 00000 n 
-0001822625 00000 n 
-0001821479 00000 n 
-0001822745 00000 n 
-0001821706 00000 n 
-0001826877 00000 n 
-0001825781 00000 n 
-0001822956 00000 n 
-0001826578 00000 n 
-0001825946 00000 n 
-0001826698 00000 n 
-0001826173 00000 n 
-0001826818 00000 n 
-0001826400 00000 n 
-0001830776 00000 n 
-0001829309 00000 n 
-0001827028 00000 n 
-0001830106 00000 n 
-0001829474 00000 n 
-0001830166 00000 n 
-0001830286 00000 n 
-0001830412 00000 n 
-0001829701 00000 n 
-0001830537 00000 n 
-0001830657 00000 n 
-0001829928 00000 n 
-0001834084 00000 n 
-0001833101 00000 n 
-0001830914 00000 n 
-0001833426 00000 n 
-0001833486 00000 n 
-0001833605 00000 n 
-0001833725 00000 n 
-0001833845 00000 n 
-0001833965 00000 n 
-0001833248 00000 n 
-0001837465 00000 n 
-0001836164 00000 n 
-0001834223 00000 n 
-0001836689 00000 n 
-0001836749 00000 n 
-0001836868 00000 n 
-0001836987 00000 n 
-0001837047 00000 n 
-0001837167 00000 n 
-0001837287 00000 n 
-0001836320 00000 n 
-0001836511 00000 n 
-0001850111 00000 n 
-0001840792 00000 n 
-0001837617 00000 n 
-0001849872 00000 n 
-0001849932 00000 n 
-0001841299 00000 n 
-0001841529 00000 n 
-0001841737 00000 n 
-0001841945 00000 n 
-0001842172 00000 n 
-0001842369 00000 n 
-0001842599 00000 n 
-0001842799 00000 n 
-0001842996 00000 n 
-0001843226 00000 n 
-0001843425 00000 n 
-0001843655 00000 n 
-0001843854 00000 n 
-0001844051 00000 n 
-0001844281 00000 n 
-0001844481 00000 n 
-0001844711 00000 n 
-0001844911 00000 n 
-0001845108 00000 n 
-0001845338 00000 n 
-0001845533 00000 n 
-0001845740 00000 n 
-0001845970 00000 n 
-0001846155 00000 n 
-0001846344 00000 n 
-0001846552 00000 n 
-0001846782 00000 n 
-0001846968 00000 n 
-0001847176 00000 n 
-0001847406 00000 n 
-0001847596 00000 n 
-0001847802 00000 n 
-0001848032 00000 n 
-0001848230 00000 n 
-0001849992 00000 n 
-0001848436 00000 n 
-0001848666 00000 n 
-0001848863 00000 n 
-0001850051 00000 n 
-0001849071 00000 n 
-0001849268 00000 n 
-0001849498 00000 n 
-0001849694 00000 n 
-0003268154 00000 n 
-0001856429 00000 n 
-0001856549 00000 n 
-0001858952 00000 n 
-0001859072 00000 n 
-0001859192 00000 n 
-0001859312 00000 n 
-0001861981 00000 n 
-0001862101 00000 n 
-0001862221 00000 n 
-0001862341 00000 n 
-0001865225 00000 n 
-0001865345 00000 n 
-0001856675 00000 n 
-0001853155 00000 n 
-0001850265 00000 n 
-0001856070 00000 n 
-0001856130 00000 n 
-0001853410 00000 n 
-0001853607 00000 n 
-0001853837 00000 n 
-0001856190 00000 n 
-0001854031 00000 n 
-0001854261 00000 n 
-0001854491 00000 n 
-0001856250 00000 n 
-0001854688 00000 n 
-0001854916 00000 n 
-0001856310 00000 n 
-0001855110 00000 n 
-0001855306 00000 n 
-0001855501 00000 n 
-0001855698 00000 n 
-0001856369 00000 n 
-0001856489 00000 n 
-0001856615 00000 n 
-0001855892 00000 n 
-0001865525 00000 n 
-0001859432 00000 n 
-0001858567 00000 n 
-0001856855 00000 n 
-0001858892 00000 n 
-0001859012 00000 n 
-0001859132 00000 n 
-0001859252 00000 n 
-0001859372 00000 n 
-0001858714 00000 n 
-0001862459 00000 n 
-0001861596 00000 n 
-0001859545 00000 n 
+0001803268 00000 n 
+0001803505 00000 n 
+0001803698 00000 n 
+0001803902 00000 n 
+0001804139 00000 n 
+0001804321 00000 n 
+0001804525 00000 n 
+0001804762 00000 n 
+0001804943 00000 n 
+0001805129 00000 n 
+0001805333 00000 n 
+0001805569 00000 n 
+0001805755 00000 n 
+0001805958 00000 n 
+0001806195 00000 n 
+0001806389 00000 n 
+0001809262 00000 n 
+0001809499 00000 n 
+0001809704 00000 n 
+0001806592 00000 n 
+0001806942 00000 n 
+0001799850 00000 n 
+0001798291 00000 n 
+0001806766 00000 n 
+0001806883 00000 n 
+0001880232 00000 n 
+0001882439 00000 n 
+0001882557 00000 n 
+0001882675 00000 n 
+0001884957 00000 n 
+0001885075 00000 n 
+0001885193 00000 n 
+0001887719 00000 n 
+0001887837 00000 n 
+0001887954 00000 n 
+0001890432 00000 n 
+0001809907 00000 n 
+0001810144 00000 n 
+0001810349 00000 n 
+0001810552 00000 n 
+0001810755 00000 n 
+0001810992 00000 n 
+0001811196 00000 n 
+0001811434 00000 n 
+0001811638 00000 n 
+0001811875 00000 n 
+0001812077 00000 n 
+0001812313 00000 n 
+0001812502 00000 n 
+0001812672 00000 n 
+0001812909 00000 n 
+0001813147 00000 n 
+0001813343 00000 n 
+0001813579 00000 n 
+0001813775 00000 n 
+0001814012 00000 n 
+0001814208 00000 n 
+0001814446 00000 n 
+0001814642 00000 n 
+0001814880 00000 n 
+0001815075 00000 n 
+0001815310 00000 n 
+0001815495 00000 n 
+0001815691 00000 n 
+0001815927 00000 n 
+0001816113 00000 n 
+0001816310 00000 n 
+0001816547 00000 n 
+0001820337 00000 n 
+0001820575 00000 n 
+0001816733 00000 n 
+0001817790 00000 n 
+0001808803 00000 n 
+0001807095 00000 n 
+0001816907 00000 n 
+0001816966 00000 n 
+0001817025 00000 n 
+0001817084 00000 n 
+0001817143 00000 n 
+0001817202 00000 n 
+0001817261 00000 n 
+0001817320 00000 n 
+0001817378 00000 n 
+0001817437 00000 n 
+0001817496 00000 n 
+0001817555 00000 n 
+0001817614 00000 n 
+0001817673 00000 n 
+0001817732 00000 n 
+0001890550 00000 n 
+0001820813 00000 n 
+0001821051 00000 n 
+0001821289 00000 n 
+0001821494 00000 n 
+0001821732 00000 n 
+0001821969 00000 n 
+0001822207 00000 n 
+0001822393 00000 n 
+0001822631 00000 n 
+0001822827 00000 n 
+0001823065 00000 n 
+0001823260 00000 n 
+0001823497 00000 n 
+0001823693 00000 n 
+0001823897 00000 n 
+0001824101 00000 n 
+0001824338 00000 n 
+0001824534 00000 n 
+0001824738 00000 n 
+0001824942 00000 n 
+0001825129 00000 n 
+0001825366 00000 n 
+0001825561 00000 n 
+0001825763 00000 n 
+0001825965 00000 n 
+0001826203 00000 n 
+0001826399 00000 n 
+0001826602 00000 n 
+0001826805 00000 n 
+0001826990 00000 n 
+0001827228 00000 n 
+0001827433 00000 n 
+0001827670 00000 n 
+0001830881 00000 n 
+0001827873 00000 n 
+0001828401 00000 n 
+0001819878 00000 n 
+0001817943 00000 n 
+0001828047 00000 n 
+0001828106 00000 n 
+0001828165 00000 n 
+0001828224 00000 n 
+0001828283 00000 n 
+0001828342 00000 n 
+0001892891 00000 n 
+0001893009 00000 n 
+0001893127 00000 n 
+0001893245 00000 n 
+0001893363 00000 n 
+0001896073 00000 n 
+0001896196 00000 n 
+0001898917 00000 n 
+0001899040 00000 n 
+0001899163 00000 n 
+0001831119 00000 n 
+0001831355 00000 n 
+0001831543 00000 n 
+0001831779 00000 n 
+0001831967 00000 n 
+0001832203 00000 n 
+0001832391 00000 n 
+0001832626 00000 n 
+0001832814 00000 n 
+0001833050 00000 n 
+0001833245 00000 n 
+0001833479 00000 n 
+0001833673 00000 n 
+0001833908 00000 n 
+0001834103 00000 n 
+0001834339 00000 n 
+0001834535 00000 n 
+0001834770 00000 n 
+0001834966 00000 n 
+0001835202 00000 n 
+0001835398 00000 n 
+0001835634 00000 n 
+0001835820 00000 n 
+0001835985 00000 n 
+0001836221 00000 n 
+0001836413 00000 n 
+0001836578 00000 n 
+0001836814 00000 n 
+0001837019 00000 n 
+0001837255 00000 n 
+0001837459 00000 n 
+0001837697 00000 n 
+0001841849 00000 n 
+0001842085 00000 n 
+0001842290 00000 n 
+0001842527 00000 n 
+0001842712 00000 n 
+0001837901 00000 n 
+0001838193 00000 n 
+0001830440 00000 n 
+0001828540 00000 n 
+0001838075 00000 n 
+0001838134 00000 n 
+0001901418 00000 n 
+0001901536 00000 n 
+0001901654 00000 n 
+0001901771 00000 n 
+0001903896 00000 n 
+0001904014 00000 n 
+0001904132 00000 n 
+0001904250 00000 n 
+0001906714 00000 n 
+0001906831 00000 n 
+0001906949 00000 n 
+0001909853 00000 n 
+0001909971 00000 n 
+0001910089 00000 n 
+0001910207 00000 n 
+0001842907 00000 n 
+0001843085 00000 n 
+0001843323 00000 n 
+0001843509 00000 n 
+0001843705 00000 n 
+0001843884 00000 n 
+0001844122 00000 n 
+0001844308 00000 n 
+0001844512 00000 n 
+0001844708 00000 n 
+0001844885 00000 n 
+0001845056 00000 n 
+0001845294 00000 n 
+0001845480 00000 n 
+0001845684 00000 n 
+0001846075 00000 n 
+0001846251 00000 n 
+0001846593 00000 n 
+0001846830 00000 n 
+0001847025 00000 n 
+0001847228 00000 n 
+0001847424 00000 n 
+0001847601 00000 n 
+0001847772 00000 n 
+0001848010 00000 n 
+0001848206 00000 n 
+0001848410 00000 n 
+0001848606 00000 n 
+0001848781 00000 n 
+0001848951 00000 n 
+0001849189 00000 n 
+0001849374 00000 n 
+0001849570 00000 n 
+0001849962 00000 n 
+0001850149 00000 n 
+0001850387 00000 n 
+0001850573 00000 n 
+0001850769 00000 n 
+0001851161 00000 n 
+0001851348 00000 n 
+0001851583 00000 n 
+0001851788 00000 n 
+0001851955 00000 n 
+0001852117 00000 n 
+0001852353 00000 n 
+0001852588 00000 n 
+0001855948 00000 n 
+0001856184 00000 n 
+0001852793 00000 n 
+0001853084 00000 n 
+0001841210 00000 n 
+0001838332 00000 n 
+0001852967 00000 n 
+0001845880 00000 n 
+0001846422 00000 n 
+0001849766 00000 n 
+0001850965 00000 n 
+0001853026 00000 n 
+0001910325 00000 n 
+0001913236 00000 n 
+0001913354 00000 n 
+0001913472 00000 n 
+0001917832 00000 n 
+0001917950 00000 n 
+0001921899 00000 n 
+0001922017 00000 n 
+0001922135 00000 n 
+0001925919 00000 n 
+0001926037 00000 n 
+0001856388 00000 n 
+0001856624 00000 n 
+0001856827 00000 n 
+0001857063 00000 n 
+0001857267 00000 n 
+0001857439 00000 n 
+0001857769 00000 n 
+0001858004 00000 n 
+0001858196 00000 n 
+0001858432 00000 n 
+0001858636 00000 n 
+0001858872 00000 n 
+0001859063 00000 n 
+0001859299 00000 n 
+0001859485 00000 n 
+0001859689 00000 n 
+0001859922 00000 n 
+0001860112 00000 n 
+0001860296 00000 n 
+0001860534 00000 n 
+0001860770 00000 n 
+0001860975 00000 n 
+0001861211 00000 n 
+0001861447 00000 n 
+0001861683 00000 n 
 0001861921 00000 n 
-0001862041 00000 n 
-0001862161 00000 n 
-0001862281 00000 n 
-0001862401 00000 n 
-0001861743 00000 n 
-0001865762 00000 n 
-0001864840 00000 n 
-0001862585 00000 n 
-0001865165 00000 n 
-0001865285 00000 n 
-0001865405 00000 n 
-0001865465 00000 n 
-0001865584 00000 n 
-0001864987 00000 n 
-0001870892 00000 n 
-0001868117 00000 n 
-0001865915 00000 n 
-0001870055 00000 n 
-0001870115 00000 n 
-0001870175 00000 n 
-0001868327 00000 n 
-0001868555 00000 n 
-0001870235 00000 n 
-0001868781 00000 n 
-0001870294 00000 n 
-0001870354 00000 n 
-0001869009 00000 n 
-0001870414 00000 n 
-0001870474 00000 n 
-0001870534 00000 n 
-0001870712 00000 n 
-0001870772 00000 n 
-0001869218 00000 n 
-0001870832 00000 n 
-0001869449 00000 n 
-0001869646 00000 n 
-0001869877 00000 n 
-0001881549 00000 n 
-0001874396 00000 n 
-0001871058 00000 n 
-0001881070 00000 n 
-0001881130 00000 n 
-0001881190 00000 n 
-0001874795 00000 n 
-0001881250 00000 n 
-0001875025 00000 n 
-0001881310 00000 n 
-0001875254 00000 n 
-0001881369 00000 n 
-0001875484 00000 n 
-0001875714 00000 n 
-0001881429 00000 n 
-0001875945 00000 n 
-0001876153 00000 n 
-0001881489 00000 n 
-0001876384 00000 n 
-0001876592 00000 n 
-0001876823 00000 n 
-0001877054 00000 n 
-0001877285 00000 n 
-0001877493 00000 n 
-0001877701 00000 n 
-0001877932 00000 n 
-0001878130 00000 n 
-0001878338 00000 n 
-0001878568 00000 n 
-0001878765 00000 n 
-0001878971 00000 n 
-0001879202 00000 n 
-0001879402 00000 n 
-0001879633 00000 n 
-0001879833 00000 n 
-0001880063 00000 n 
-0001880261 00000 n 
-0001880492 00000 n 
-0001880684 00000 n 
-0001880892 00000 n 
-0003268280 00000 n 
-0002041673 00000 n 
-0001972361 00000 n 
-0001975425 00000 n 
-0001975545 00000 n 
-0001975671 00000 n 
-0001975797 00000 n 
-0001975917 00000 n 
-0001978838 00000 n 
-0001894598 00000 n 
-0001885292 00000 n 
-0001881718 00000 n 
-0001893998 00000 n 
-0001885781 00000 n 
-0001886011 00000 n 
-0001886195 00000 n 
-0001886383 00000 n 
-0001886590 00000 n 
-0001886821 00000 n 
-0001887007 00000 n 
-0001887215 00000 n 
-0001887446 00000 n 
-0001887637 00000 n 
-0001894058 00000 n 
-0001887843 00000 n 
-0001888041 00000 n 
-0001888272 00000 n 
-0001894118 00000 n 
-0001888470 00000 n 
-0001888701 00000 n 
-0001894178 00000 n 
-0001888899 00000 n 
-0001894238 00000 n 
-0001889130 00000 n 
-0001889338 00000 n 
-0001894298 00000 n 
-0001889569 00000 n 
-0001889777 00000 n 
-0001890008 00000 n 
-0001894358 00000 n 
-0001890201 00000 n 
-0001890401 00000 n 
-0001894418 00000 n 
-0001890630 00000 n 
-0001890829 00000 n 
-0001894478 00000 n 
-0001891057 00000 n 
-0001891257 00000 n 
-0001894538 00000 n 
-0001891488 00000 n 
-0001891688 00000 n 
-0001891919 00000 n 
-0001892150 00000 n 
-0001892347 00000 n 
-0001892578 00000 n 
-0001892776 00000 n 
-0001893006 00000 n 
-0001893202 00000 n 
-0001893401 00000 n 
-0001893630 00000 n 
-0001893820 00000 n 
-0001978958 00000 n 
-0001979084 00000 n 
-0001979204 00000 n 
-0001982166 00000 n 
-0001982286 00000 n 
-0001982405 00000 n 
-0001982525 00000 n 
-0001907044 00000 n 
-0001898298 00000 n 
-0001894779 00000 n 
-0001906625 00000 n 
-0001898769 00000 n 
-0001898970 00000 n 
-0001899201 00000 n 
-0001899393 00000 n 
-0001899594 00000 n 
-0001899825 00000 n 
-0001906685 00000 n 
-0001900016 00000 n 
-0001906745 00000 n 
-0001900247 00000 n 
-0001906804 00000 n 
-0001900478 00000 n 
-0001906864 00000 n 
-0001900709 00000 n 
-0001906924 00000 n 
-0001900940 00000 n 
-0001906984 00000 n 
-0001901171 00000 n 
-0001901402 00000 n 
-0001901633 00000 n 
-0001901822 00000 n 
-0001902053 00000 n 
-0001902253 00000 n 
-0001902483 00000 n 
-0001902682 00000 n 
-0001902913 00000 n 
-0001903113 00000 n 
-0001903321 00000 n 
-0001903529 00000 n 
-0001903759 00000 n 
-0001903958 00000 n 
-0001904165 00000 n 
-0001904372 00000 n 
-0001904563 00000 n 
-0001904794 00000 n 
-0001904994 00000 n 
-0001905202 00000 n 
-0001905410 00000 n 
-0001905641 00000 n 
-0001905841 00000 n 
-0001906049 00000 n 
-0001906257 00000 n 
-0001906447 00000 n 
-0001982645 00000 n 
-0001985300 00000 n 
-0001985420 00000 n 
-0001985539 00000 n 
-0001985659 00000 n 
-0001985779 00000 n 
-0001989020 00000 n 
-0001989146 00000 n 
-0001992498 00000 n 
-0001919130 00000 n 
-0001910970 00000 n 
-0001907184 00000 n 
-0001919011 00000 n 
-0001919071 00000 n 
-0001911432 00000 n 
-0001911663 00000 n 
-0001911893 00000 n 
-0001912083 00000 n 
-0001912314 00000 n 
-0001912514 00000 n 
-0001912744 00000 n 
+0001862159 00000 n 
+0001862363 00000 n 
+0001862599 00000 n 
+0001862801 00000 n 
+0001865607 00000 n 
+0001863035 00000 n 
+0001863738 00000 n 
+0001855507 00000 n 
+0001853291 00000 n 
+0001863209 00000 n 
+0001857604 00000 n 
+0001863268 00000 n 
+0001863327 00000 n 
+0001863385 00000 n 
+0001863444 00000 n 
+0001863503 00000 n 
+0001863562 00000 n 
+0001863621 00000 n 
+0001863680 00000 n 
+0002869984 00000 n 
+0001926155 00000 n 
+0001930430 00000 n 
+0001930548 00000 n 
+0001930666 00000 n 
+0001930784 00000 n 
+0001934696 00000 n 
+0001934814 00000 n 
+0001939296 00000 n 
+0001865845 00000 n 
+0001866049 00000 n 
+0001866287 00000 n 
+0001866525 00000 n 
+0001866763 00000 n 
+0001867001 00000 n 
+0001867239 00000 n 
+0001867477 00000 n 
+0001867714 00000 n 
+0001867951 00000 n 
+0001868188 00000 n 
+0001868426 00000 n 
+0001868630 00000 n 
+0001869038 00000 n 
+0001870092 00000 n 
+0001865328 00000 n 
+0001863918 00000 n 
+0001869212 00000 n 
+0001869271 00000 n 
+0001869330 00000 n 
+0001869389 00000 n 
+0001869448 00000 n 
+0001869507 00000 n 
+0001869566 00000 n 
+0001869624 00000 n 
+0001869682 00000 n 
+0001869741 00000 n 
+0001869800 00000 n 
+0001869858 00000 n 
+0001869916 00000 n 
+0001869975 00000 n 
+0001870034 00000 n 
+0001868835 00000 n 
+0001939418 00000 n 
+0001939600 00000 n 
+0001873759 00000 n 
+0001873997 00000 n 
+0001874202 00000 n 
+0001874440 00000 n 
+0001874645 00000 n 
+0001875052 00000 n 
+0001875290 00000 n 
+0001875495 00000 n 
+0001875901 00000 n 
+0001876091 00000 n 
+0001876282 00000 n 
+0001876463 00000 n 
+0001879334 00000 n 
+0001876616 00000 n 
+0001877026 00000 n 
+0001873489 00000 n 
+0001870231 00000 n 
+0001876790 00000 n 
+0001876849 00000 n 
+0001874850 00000 n 
+0001875698 00000 n 
+0001876908 00000 n 
+0001876967 00000 n 
+0001939718 00000 n 
+0001944684 00000 n 
+0001944807 00000 n 
+0001879572 00000 n 
+0001879753 00000 n 
+0001879940 00000 n 
+0001880350 00000 n 
+0001879163 00000 n 
+0001877228 00000 n 
+0001880114 00000 n 
+0001880173 00000 n 
+0001880291 00000 n 
+0001882206 00000 n 
+0001882792 00000 n 
+0001882062 00000 n 
+0001880501 00000 n 
+0001882380 00000 n 
+0001882498 00000 n 
+0001882616 00000 n 
+0001882733 00000 n 
+0001884724 00000 n 
+0001885252 00000 n 
+0001884580 00000 n 
+0001882918 00000 n 
+0001884898 00000 n 
+0001885016 00000 n 
+0001885134 00000 n 
+0001887427 00000 n 
+0001888012 00000 n 
+0001887283 00000 n 
+0001885378 00000 n 
+0001887601 00000 n 
+0001887660 00000 n 
+0001887778 00000 n 
+0001887896 00000 n 
+0002870110 00000 n 
+0001890140 00000 n 
+0001890668 00000 n 
+0001889996 00000 n 
+0001888138 00000 n 
+0001890314 00000 n 
+0001890373 00000 n 
+0001890491 00000 n 
+0001890609 00000 n 
+0001892599 00000 n 
+0001893421 00000 n 
+0001892455 00000 n 
+0001890794 00000 n 
+0001892773 00000 n 
+0001892832 00000 n 
+0001892950 00000 n 
+0001893068 00000 n 
+0001893186 00000 n 
+0001893304 00000 n 
+0001895781 00000 n 
+0001896319 00000 n 
+0001895637 00000 n 
+0001893560 00000 n 
+0001895955 00000 n 
+0001896014 00000 n 
+0001896137 00000 n 
+0001896260 00000 n 
+0001898684 00000 n 
+0001899222 00000 n 
+0001898540 00000 n 
+0001896458 00000 n 
+0001898858 00000 n 
+0001898981 00000 n 
+0001899104 00000 n 
+0001901126 00000 n 
+0001901889 00000 n 
+0001900982 00000 n 
+0001899361 00000 n 
+0001901300 00000 n 
+0001901359 00000 n 
+0001901477 00000 n 
+0001901595 00000 n 
+0001901713 00000 n 
+0001901830 00000 n 
+0001903663 00000 n 
+0001904309 00000 n 
+0001903519 00000 n 
+0001902028 00000 n 
+0001903837 00000 n 
+0001903955 00000 n 
+0001904073 00000 n 
+0001904191 00000 n 
+0002870236 00000 n 
+0001906259 00000 n 
+0001906422 00000 n 
+0001907067 00000 n 
+0001906106 00000 n 
+0001904448 00000 n 
+0001906596 00000 n 
+0001906655 00000 n 
+0001906772 00000 n 
+0001906890 00000 n 
+0001907008 00000 n 
+0001909269 00000 n 
+0001909434 00000 n 
+0001909620 00000 n 
+0001910383 00000 n 
+0001909107 00000 n 
+0001907206 00000 n 
+0001909794 00000 n 
+0001909912 00000 n 
+0001910030 00000 n 
+0001910148 00000 n 
+0001910266 00000 n 
+0001912587 00000 n 
+0001912765 00000 n 
+0001916116 00000 n 
+0001916293 00000 n 
 0001912944 00000 n 
-0001913174 00000 n 
-0001913366 00000 n 
-0001913597 00000 n 
-0001913797 00000 n 
-0001914028 00000 n 
-0001914228 00000 n 
-0001914459 00000 n 
-0001914651 00000 n 
-0001914882 00000 n 
-0001915074 00000 n 
-0001915305 00000 n 
-0001915505 00000 n 
-0001915736 00000 n 
-0001915936 00000 n 
-0001916167 00000 n 
-0001916356 00000 n 
-0001916525 00000 n 
-0001916756 00000 n 
-0001916952 00000 n 
-0001917120 00000 n 
-0001917351 00000 n 
-0001917549 00000 n 
-0001917780 00000 n 
-0001917978 00000 n 
-0001918209 00000 n 
-0001918407 00000 n 
-0001918637 00000 n 
-0001918833 00000 n 
-0001992623 00000 n 
-0001992749 00000 n 
-0001992869 00000 n 
-0001995582 00000 n 
-0001995702 00000 n 
-0001995822 00000 n 
-0001998429 00000 n 
-0001998549 00000 n 
-0001998668 00000 n 
-0001998788 00000 n 
-0002002165 00000 n 
-0002002285 00000 n 
-0002002405 00000 n 
-0002002525 00000 n 
-0002005929 00000 n 
-0002006049 00000 n 
-0001935451 00000 n 
-0001924267 00000 n 
-0001919270 00000 n 
-0001935331 00000 n 
-0001924873 00000 n 
-0001925104 00000 n 
-0001925302 00000 n 
-0001925485 00000 n 
-0001925715 00000 n 
-0001925905 00000 n 
-0001926105 00000 n 
-0001926273 00000 n 
-0001926503 00000 n 
-0001926692 00000 n 
-0001926891 00000 n 
-0001927059 00000 n 
-0001927290 00000 n 
-0001927480 00000 n 
-0001927688 00000 n 
-0001927888 00000 n 
-0001928069 00000 n 
-0001928300 00000 n 
-0001928500 00000 n 
-0001928708 00000 n 
-0001928908 00000 n 
-0001929086 00000 n 
-0001929315 00000 n 
-0001929503 00000 n 
-0001929701 00000 n 
-0001929899 00000 n 
-0001930099 00000 n 
-0001930290 00000 n 
-0001930520 00000 n 
-0001930709 00000 n 
-0001930917 00000 n 
-0001931117 00000 n 
-0001931317 00000 n 
-0001931498 00000 n 
-0001931728 00000 n 
-0001931927 00000 n 
-0001932135 00000 n 
-0001932335 00000 n 
-0001932516 00000 n 
-0001932746 00000 n 
-0001932935 00000 n 
-0001933134 00000 n 
-0001933334 00000 n 
-0001933533 00000 n 
-0001933724 00000 n 
-0001933954 00000 n 
-0001934151 00000 n 
-0001935391 00000 n 
-0001934324 00000 n 
-0001934555 00000 n 
-0001934785 00000 n 
-0001934982 00000 n 
-0001935153 00000 n 
-0002006169 00000 n 
-0002006289 00000 n 
-0002010253 00000 n 
-0002010373 00000 n 
-0002010491 00000 n 
-0002014501 00000 n 
-0002014621 00000 n 
-0002014741 00000 n 
-0002018863 00000 n 
-0002018983 00000 n 
-0002019102 00000 n 
-0001948547 00000 n 
-0001939728 00000 n 
-0001935660 00000 n 
-0001948427 00000 n 
-0001940226 00000 n 
-0001940456 00000 n 
-0001940653 00000 n 
-0001940823 00000 n 
-0001941054 00000 n 
-0001941252 00000 n 
-0001948487 00000 n 
-0001941420 00000 n 
-0001941651 00000 n 
-0001941849 00000 n 
-0001942080 00000 n 
-0001942277 00000 n 
-0001942477 00000 n 
-0001942677 00000 n 
-0001942845 00000 n 
-0001943076 00000 n 
-0001943273 00000 n 
-0001943444 00000 n 
-0001943674 00000 n 
-0001943871 00000 n 
-0001944070 00000 n 
-0001944240 00000 n 
-0001944471 00000 n 
-0001944679 00000 n 
-0001944910 00000 n 
-0001945118 00000 n 
-0001945349 00000 n 
-0001945545 00000 n 
-0001945721 00000 n 
-0001945952 00000 n 
-0001946147 00000 n 
-0001946378 00000 n 
-0001946586 00000 n 
-0001946817 00000 n 
-0001947012 00000 n 
-0001947243 00000 n 
-0001947433 00000 n 
-0001947641 00000 n 
-0001947869 00000 n 
-0001948062 00000 n 
-0001948249 00000 n 
-0002023261 00000 n 
-0002023381 00000 n 
-0002023501 00000 n 
-0002027672 00000 n 
-0002027792 00000 n 
-0002027912 00000 n 
-0002032004 00000 n 
-0002032123 00000 n 
-0002032243 00000 n 
-0002032360 00000 n 
-0002037032 00000 n 
-0002037152 00000 n 
-0002037278 00000 n 
-0001959567 00000 n 
-0001951829 00000 n 
-0001948714 00000 n 
-0001959150 00000 n 
-0001959210 00000 n 
-0001959270 00000 n 
-0001952264 00000 n 
-0001952472 00000 n 
-0001959330 00000 n 
-0001952703 00000 n 
-0001959390 00000 n 
-0001952933 00000 n 
-0001959449 00000 n 
-0001953164 00000 n 
-0001953395 00000 n 
-0001953592 00000 n 
-0001959507 00000 n 
-0001953790 00000 n 
-0001954021 00000 n 
-0001954219 00000 n 
-0001954450 00000 n 
-0001954648 00000 n 
-0001954846 00000 n 
-0001955077 00000 n 
-0001955274 00000 n 
-0001955472 00000 n 
-0001955670 00000 n 
-0001955878 00000 n 
-0001956109 00000 n 
-0001956306 00000 n 
-0001956504 00000 n 
-0001956702 00000 n 
-0001956910 00000 n 
-0001957141 00000 n 
-0001957337 00000 n 
-0001957535 00000 n 
-0001957733 00000 n 
-0001957941 00000 n 
-0001958172 00000 n 
-0001958368 00000 n 
-0001958566 00000 n 
-0001958764 00000 n 
-0001958972 00000 n 
-0003268406 00000 n 
-0002041859 00000 n 
-0002041979 00000 n 
-0002042105 00000 n 
-0002042230 00000 n 
-0002045055 00000 n 
+0001913530 00000 n 
+0001912425 00000 n 
+0001910522 00000 n 
+0001913118 00000 n 
+0001913177 00000 n 
+0001913295 00000 n 
+0001913413 00000 n 
+0001916464 00000 n 
+0001916654 00000 n 
+0001916831 00000 n 
+0001917002 00000 n 
+0001917192 00000 n 
+0001917369 00000 n 
+0001917540 00000 n 
+0001918068 00000 n 
+0001915900 00000 n 
+0001913669 00000 n 
+0001917714 00000 n 
+0001917773 00000 n 
+0001917891 00000 n 
+0001918009 00000 n 
+0001920752 00000 n 
+0001920943 00000 n 
+0001921120 00000 n 
+0001921290 00000 n 
+0001921480 00000 n 
+0001924943 00000 n 
+0001921666 00000 n 
+0001922194 00000 n 
+0001920563 00000 n 
+0001918244 00000 n 
+0001921840 00000 n 
+0001921958 00000 n 
+0001922076 00000 n 
+0001925130 00000 n 
+0001925297 00000 n 
+0001925459 00000 n 
+0001925627 00000 n 
+0001926214 00000 n 
+0001924763 00000 n 
+0001922370 00000 n 
+0001925801 00000 n 
+0001925860 00000 n 
+0001925978 00000 n 
+0001926096 00000 n 
+0002870362 00000 n 
+0001928552 00000 n 
+0001928790 00000 n 
+0001929028 00000 n 
+0001929200 00000 n 
+0001929528 00000 n 
+0001929766 00000 n 
+0001929952 00000 n 
+0001930138 00000 n 
+0001930842 00000 n 
+0001928336 00000 n 
+0001926403 00000 n 
+0001930312 00000 n 
+0001930371 00000 n 
+0001930489 00000 n 
+0001930607 00000 n 
+0001929364 00000 n 
+0001930725 00000 n 
+0001933833 00000 n 
+0001934024 00000 n 
+0001934404 00000 n 
+0001934937 00000 n 
+0001933662 00000 n 
+0001930981 00000 n 
+0001934578 00000 n 
+0001934637 00000 n 
+0001934755 00000 n 
+0001934214 00000 n 
+0001934878 00000 n 
+0001938026 00000 n 
+0001938264 00000 n 
+0001938478 00000 n 
+0001938663 00000 n 
+0001938848 00000 n 
+0001939063 00000 n 
+0001939781 00000 n 
+0001937837 00000 n 
+0001935088 00000 n 
+0001939237 00000 n 
+0001939359 00000 n 
+0001939482 00000 n 
+0001939541 00000 n 
+0001939659 00000 n 
+0001942432 00000 n 
+0001942617 00000 n 
+0001942846 00000 n 
+0001943074 00000 n 
+0001943303 00000 n 
+0001943532 00000 n 
+0001943760 00000 n 
+0001943988 00000 n 
+0001944189 00000 n 
+0001947966 00000 n 
+0001948162 00000 n 
+0001948391 00000 n 
+0001948586 00000 n 
+0001944392 00000 n 
+0001945341 00000 n 
+0001942207 00000 n 
+0001939932 00000 n 
+0001944566 00000 n 
+0001944625 00000 n 
+0001944748 00000 n 
+0001944871 00000 n 
+0001945046 00000 n 
+0001945105 00000 n 
+0001945164 00000 n 
+0001945223 00000 n 
+0001945282 00000 n 
+0002020111 00000 n 
+0001948790 00000 n 
+0001949019 00000 n 
+0001949215 00000 n 
+0001949419 00000 n 
+0001949648 00000 n 
+0001949853 00000 n 
+0001950056 00000 n 
+0001950252 00000 n 
+0001950481 00000 n 
+0001950677 00000 n 
+0001950872 00000 n 
+0001951101 00000 n 
+0001951297 00000 n 
+0001951493 00000 n 
+0001951721 00000 n 
+0001951911 00000 n 
+0001952114 00000 n 
+0001952343 00000 n 
+0001952536 00000 n 
+0001952740 00000 n 
+0001952969 00000 n 
+0001953151 00000 n 
+0001953355 00000 n 
+0001953584 00000 n 
+0001953777 00000 n 
+0001953980 00000 n 
+0001954209 00000 n 
+0001954396 00000 n 
+0001954600 00000 n 
+0001954829 00000 n 
+0001955010 00000 n 
+0001955196 00000 n 
+0001955400 00000 n 
+0001955604 00000 n 
+0001958761 00000 n 
+0001958965 00000 n 
+0001955832 00000 n 
+0001956300 00000 n 
+0001947480 00000 n 
+0001945522 00000 n 
+0001956006 00000 n 
+0001956065 00000 n 
+0001956124 00000 n 
+0001956182 00000 n 
+0001956241 00000 n 
+0002022612 00000 n 
+0002022730 00000 n 
+0002022853 00000 n 
+0002022971 00000 n 
+0002025318 00000 n 
+0002025436 00000 n 
+0002025553 00000 n 
+0002028370 00000 n 
+0001959194 00000 n 
+0001959422 00000 n 
+0001959651 00000 n 
+0001959880 00000 n 
+0001960109 00000 n 
+0001960338 00000 n 
+0001960534 00000 n 
+0001960763 00000 n 
+0001960992 00000 n 
+0001961178 00000 n 
+0001961407 00000 n 
+0001961603 00000 n 
+0001961831 00000 n 
+0001962025 00000 n 
+0001962253 00000 n 
+0001962449 00000 n 
+0001962653 00000 n 
+0001962857 00000 n 
+0001963085 00000 n 
+0001963281 00000 n 
+0001963485 00000 n 
+0001963689 00000 n 
+0001963876 00000 n 
+0001964105 00000 n 
+0001964301 00000 n 
+0001964504 00000 n 
+0001964707 00000 n 
+0001964936 00000 n 
+0001965132 00000 n 
+0001965335 00000 n 
+0001965538 00000 n 
+0001965725 00000 n 
+0001965953 00000 n 
+0001969172 00000 n 
+0001969401 00000 n 
+0001966149 00000 n 
+0001966735 00000 n 
+0001958302 00000 n 
+0001956453 00000 n 
+0001966323 00000 n 
+0001966382 00000 n 
+0001966441 00000 n 
+0001966500 00000 n 
+0001966559 00000 n 
+0001966618 00000 n 
+0001966676 00000 n 
+0002870488 00000 n 
+0002028547 00000 n 
+0002028665 00000 n 
+0002028783 00000 n 
+0002031140 00000 n 
+0002031257 00000 n 
+0002031375 00000 n 
+0002034023 00000 n 
+0002034146 00000 n 
+0002034269 00000 n 
+0001969597 00000 n 
+0001969826 00000 n 
+0001970021 00000 n 
+0001970250 00000 n 
+0001970445 00000 n 
+0001970674 00000 n 
+0001970870 00000 n 
+0001971097 00000 n 
+0001971283 00000 n 
+0001971480 00000 n 
+0001971708 00000 n 
+0001971894 00000 n 
+0001972091 00000 n 
+0001972319 00000 n 
+0001972506 00000 n 
+0001972710 00000 n 
+0001972937 00000 n 
+0001973140 00000 n 
+0001973366 00000 n 
+0001973595 00000 n 
+0001973824 00000 n 
+0001974051 00000 n 
+0001974276 00000 n 
+0001974462 00000 n 
+0001974689 00000 n 
+0001974877 00000 n 
+0001975106 00000 n 
+0001975294 00000 n 
+0001975521 00000 n 
+0001975717 00000 n 
+0001975943 00000 n 
+0001979395 00000 n 
+0001979624 00000 n 
+0001979819 00000 n 
+0001980046 00000 n 
+0001976139 00000 n 
+0001976608 00000 n 
+0001968731 00000 n 
+0001966874 00000 n 
+0001976313 00000 n 
+0001976372 00000 n 
+0001976431 00000 n 
+0001976490 00000 n 
+0001976549 00000 n 
+0002036677 00000 n 
+0002036795 00000 n 
+0002036912 00000 n 
+0002037029 00000 n 
+0002037147 00000 n 
+0002039478 00000 n 
+0002039596 00000 n 
+0002039714 00000 n 
+0002039836 00000 n 
+0002039954 00000 n 
+0002042605 00000 n 
+0002042723 00000 n 
+0001980234 00000 n 
+0001980460 00000 n 
+0001980648 00000 n 
+0001980876 00000 n 
+0001981061 00000 n 
+0001981288 00000 n 
+0001981483 00000 n 
+0001981710 00000 n 
+0001981906 00000 n 
+0001982135 00000 n 
+0001982331 00000 n 
+0001982558 00000 n 
+0001982744 00000 n 
+0001982909 00000 n 
+0001983136 00000 n 
+0001983328 00000 n 
+0001983493 00000 n 
+0001983720 00000 n 
+0001983946 00000 n 
+0001984141 00000 n 
+0001984370 00000 n 
+0001984566 00000 n 
+0001984791 00000 n 
+0001984985 00000 n 
+0001985214 00000 n 
+0001985410 00000 n 
+0001985598 00000 n 
+0001985827 00000 n 
+0001986013 00000 n 
+0001986209 00000 n 
+0001986388 00000 n 
+0001986617 00000 n 
+0001986803 00000 n 
+0001986999 00000 n 
+0001991220 00000 n 
+0001991449 00000 n 
+0001991635 00000 n 
+0001991839 00000 n 
+0001992035 00000 n 
+0001987178 00000 n 
+0001987470 00000 n 
+0001978909 00000 n 
+0001976747 00000 n 
+0001987352 00000 n 
+0001987411 00000 n 
+0002045778 00000 n 
+0002045896 00000 n 
+0002046132 00000 n 
+0002048943 00000 n 
+0002049179 00000 n 
+0002052557 00000 n 
+0002052675 00000 n 
+0002052916 00000 n 
+0002053034 00000 n 
+0002056718 00000 n 
+0002056836 00000 n 
+0001992212 00000 n 
+0001992441 00000 n 
+0001992627 00000 n 
+0001992831 00000 n 
+0001993223 00000 n 
+0001993399 00000 n 
+0001993628 00000 n 
+0001993824 00000 n 
+0001994028 00000 n 
+0001994224 00000 n 
+0001994401 00000 n 
+0001994630 00000 n 
+0001994826 00000 n 
+0001995030 00000 n 
+0001995226 00000 n 
+0001995402 00000 n 
+0001995631 00000 n 
+0001995816 00000 n 
+0001996012 00000 n 
+0001996404 00000 n 
+0001996591 00000 n 
+0001996820 00000 n 
+0001997006 00000 n 
+0001997202 00000 n 
+0001997594 00000 n 
+0001997781 00000 n 
+0001998007 00000 n 
+0001998203 00000 n 
+0001998372 00000 n 
+0001998599 00000 n 
+0001998827 00000 n 
+0001999023 00000 n 
+0001999194 00000 n 
+0001999420 00000 n 
+0001999615 00000 n 
+0001999788 00000 n 
+0001999984 00000 n 
+0002000213 00000 n 
+0002000409 00000 n 
+0002000603 00000 n 
+0002000830 00000 n 
+0002001024 00000 n 
+0002001375 00000 n 
+0001990635 00000 n 
+0001987609 00000 n 
+0002001198 00000 n 
+0001993027 00000 n 
+0001996208 00000 n 
+0001997398 00000 n 
+0002001257 00000 n 
+0002001316 00000 n 
+0002056953 00000 n 
+0002060686 00000 n 
+0002060804 00000 n 
+0002060922 00000 n 
+0002064755 00000 n 
+0002064873 00000 n 
+0002069124 00000 n 
+0002069242 00000 n 
+0002069364 00000 n 
+0002069486 00000 n 
+0002004210 00000 n 
+0002004437 00000 n 
+0002004633 00000 n 
+0002004860 00000 n 
+0002005064 00000 n 
+0002005291 00000 n 
+0002005494 00000 n 
+0002005721 00000 n 
+0002005916 00000 n 
+0002006141 00000 n 
+0002006332 00000 n 
+0002006559 00000 n 
+0002006763 00000 n 
+0002006990 00000 n 
+0002007217 00000 n 
+0002007403 00000 n 
+0002007607 00000 n 
+0002007833 00000 n 
+0002008025 00000 n 
+0002008211 00000 n 
+0002008414 00000 n 
+0002008642 00000 n 
+0002008871 00000 n 
+0002009059 00000 n 
+0002009286 00000 n 
+0002009474 00000 n 
+0002013223 00000 n 
+0002013419 00000 n 
+0002013612 00000 n 
+0002009663 00000 n 
+0002010250 00000 n 
+0002003832 00000 n 
+0002001583 00000 n 
+0002009837 00000 n 
+0002009896 00000 n 
+0002009955 00000 n 
+0002010014 00000 n 
+0002010073 00000 n 
+0002010132 00000 n 
+0002010191 00000 n 
+0002073877 00000 n 
+0002073995 00000 n 
+0002074118 00000 n 
+0002074236 00000 n 
+0002078805 00000 n 
+0002078928 00000 n 
+0002079108 00000 n 
+0002084082 00000 n 
+0002013840 00000 n 
+0002014068 00000 n 
+0002014260 00000 n 
+0002014455 00000 n 
+0002014838 00000 n 
+0002015020 00000 n 
+0002015216 00000 n 
+0002015398 00000 n 
+0002015627 00000 n 
+0002015809 00000 n 
+0002015991 00000 n 
+0002016220 00000 n 
+0002016402 00000 n 
+0002016598 00000 n 
+0002016780 00000 n 
+0002017009 00000 n 
+0002017205 00000 n 
+0002017433 00000 n 
+0002017628 00000 n 
+0002018018 00000 n 
+0002018246 00000 n 
+0002018437 00000 n 
+0002018633 00000 n 
+0002018824 00000 n 
+0002019015 00000 n 
+0002019207 00000 n 
+0002019389 00000 n 
+0002019584 00000 n 
+0002020229 00000 n 
+0002012791 00000 n 
+0002010430 00000 n 
+0002019758 00000 n 
+0002019817 00000 n 
+0002014647 00000 n 
+0002019876 00000 n 
+0002017823 00000 n 
+0002019935 00000 n 
+0002019994 00000 n 
+0002020053 00000 n 
+0002020170 00000 n 
+0002084199 00000 n 
+0002084317 00000 n 
+0002084434 00000 n 
+0002084551 00000 n 
+0002090015 00000 n 
+0002022379 00000 n 
+0002023089 00000 n 
+0002022235 00000 n 
+0002020382 00000 n 
+0002022553 00000 n 
+0002022671 00000 n 
+0002022794 00000 n 
+0002022912 00000 n 
+0002023030 00000 n 
+0002870614 00000 n 
+0002025085 00000 n 
+0002025671 00000 n 
+0002024941 00000 n 
+0002023215 00000 n 
+0002025259 00000 n 
+0002025377 00000 n 
+0002025494 00000 n 
+0002025612 00000 n 
+0002028137 00000 n 
+0002028841 00000 n 
+0002027993 00000 n 
+0002025797 00000 n 
+0002028311 00000 n 
+0002028429 00000 n 
+0002028488 00000 n 
+0002028606 00000 n 
+0002028724 00000 n 
+0002861273 00000 n 
+0002030848 00000 n 
+0002031498 00000 n 
+0002030704 00000 n 
+0002029019 00000 n 
+0002031022 00000 n 
+0002031081 00000 n 
+0002031199 00000 n 
+0002031316 00000 n 
+0002031439 00000 n 
+0002033790 00000 n 
+0002034332 00000 n 
+0002033646 00000 n 
+0002031637 00000 n 
+0002033964 00000 n 
+0002034087 00000 n 
+0002034210 00000 n 
+0002036385 00000 n 
+0002037205 00000 n 
+0002036241 00000 n 
+0002034471 00000 n 
+0002036559 00000 n 
+0002036618 00000 n 
+0002036736 00000 n 
+0002036853 00000 n 
+0002036971 00000 n 
+0002037088 00000 n 
+0002039186 00000 n 
+0002040130 00000 n 
+0002039042 00000 n 
+0002037357 00000 n 
+0002039360 00000 n 
+0002039419 00000 n 
+0002039537 00000 n 
+0002039655 00000 n 
+0002039777 00000 n 
+0002039895 00000 n 
+0002040013 00000 n 
+0002870740 00000 n 
+0002041948 00000 n 
+0002042119 00000 n 
+0002042313 00000 n 
+0002042958 00000 n 
+0002041786 00000 n 
+0002040269 00000 n 
+0002042487 00000 n 
+0002042546 00000 n 
+0002042664 00000 n 
+0002042782 00000 n 
+0002042900 00000 n 
+0002044818 00000 n 
+0002044988 00000 n 
 0002045181 00000 n 
-0002045307 00000 n 
-0001967857 00000 n 
-0001963465 00000 n 
-0001959706 00000 n 
-0001967677 00000 n 
-0001963774 00000 n 
-0001964003 00000 n 
-0001964199 00000 n 
-0001964397 00000 n 
-0001964595 00000 n 
-0001964803 00000 n 
-0001965033 00000 n 
-0001965230 00000 n 
-0001965428 00000 n 
-0001965626 00000 n 
-0001965834 00000 n 
-0001966065 00000 n 
-0001966263 00000 n 
-0001966461 00000 n 
-0001966659 00000 n 
-0001966867 00000 n 
-0001967097 00000 n 
-0001967737 00000 n 
-0001967797 00000 n 
-0001967305 00000 n 
-0001967499 00000 n 
-0002048217 00000 n 
-0002048343 00000 n 
-0002048469 00000 n 
-0002048595 00000 n 
-0001972479 00000 n 
-0001971315 00000 n 
-0001968062 00000 n 
-0001972241 00000 n 
-0001971489 00000 n 
-0001971680 00000 n 
-0001971872 00000 n 
-0001972301 00000 n 
-0001972420 00000 n 
-0001972063 00000 n 
-0001976036 00000 n 
-0001974863 00000 n 
-0001972681 00000 n 
-0001975365 00000 n 
-0001975485 00000 n 
-0001975611 00000 n 
-0001975737 00000 n 
-0001975019 00000 n 
-0001975857 00000 n 
-0001975977 00000 n 
-0001975187 00000 n 
-0001979264 00000 n 
-0001978453 00000 n 
-0001976162 00000 n 
-0001978778 00000 n 
-0001978898 00000 n 
-0001979024 00000 n 
-0001979144 00000 n 
-0001978600 00000 n 
-0001982704 00000 n 
-0001981662 00000 n 
-0001979390 00000 n 
-0001981987 00000 n 
-0001982047 00000 n 
-0001982106 00000 n 
-0001982226 00000 n 
-0001982346 00000 n 
-0001982465 00000 n 
-0001982585 00000 n 
-0001981809 00000 n 
-0001985899 00000 n 
-0001984856 00000 n 
-0001982843 00000 n 
-0001985181 00000 n 
-0001985241 00000 n 
-0001985360 00000 n 
-0001985479 00000 n 
-0001985599 00000 n 
-0001985719 00000 n 
-0001985839 00000 n 
-0001985003 00000 n 
-0003268532 00000 n 
-0001989272 00000 n 
-0001988635 00000 n 
-0001986038 00000 n 
-0001988960 00000 n 
-0001989086 00000 n 
-0001989212 00000 n 
-0001988782 00000 n 
-0001992928 00000 n 
-0001992113 00000 n 
-0001989411 00000 n 
-0001992438 00000 n 
-0001992563 00000 n 
-0001992689 00000 n 
-0001992809 00000 n 
-0001992260 00000 n 
-0001995942 00000 n 
-0001995138 00000 n 
-0001993067 00000 n 
-0001995463 00000 n 
-0001995523 00000 n 
-0001995642 00000 n 
-0001995762 00000 n 
-0001995882 00000 n 
-0001995285 00000 n 
-0001998847 00000 n 
-0001998044 00000 n 
-0001996081 00000 n 
-0001998369 00000 n 
-0001998489 00000 n 
-0001998608 00000 n 
-0001998728 00000 n 
-0001998191 00000 n 
-0002002585 00000 n 
-0002001167 00000 n 
-0001998986 00000 n 
-0002002046 00000 n 
-0002002106 00000 n 
-0002002225 00000 n 
-0002001341 00000 n 
-0002002345 00000 n 
-0002001510 00000 n 
-0002001678 00000 n 
-0002002465 00000 n 
-0002001868 00000 n 
-0002006409 00000 n 
-0002005117 00000 n 
-0002002724 00000 n 
-0002005810 00000 n 
-0002005870 00000 n 
-0002005989 00000 n 
-0002006109 00000 n 
-0002006229 00000 n 
-0002005282 00000 n 
-0002006349 00000 n 
-0002005464 00000 n 
-0002005632 00000 n 
-0003268658 00000 n 
-0002010611 00000 n 
-0002009311 00000 n 
-0002006548 00000 n 
-0002010193 00000 n 
-0002010313 00000 n 
-0002009485 00000 n 
-0002010432 00000 n 
-0002009653 00000 n 
-0002010551 00000 n 
-0002009834 00000 n 
-0002010015 00000 n 
-0002014801 00000 n 
-0002013728 00000 n 
-0002010787 00000 n 
-0002014441 00000 n 
-0002014561 00000 n 
-0002013893 00000 n 
-0002014681 00000 n 
-0002014084 00000 n 
-0002014263 00000 n 
-0002019162 00000 n 
-0002017848 00000 n 
-0002014977 00000 n 
-0002018744 00000 n 
-0002018804 00000 n 
-0002018022 00000 n 
-0002018923 00000 n 
-0002018203 00000 n 
-0002019042 00000 n 
-0002018393 00000 n 
-0002018566 00000 n 
-0002023561 00000 n 
-0002021735 00000 n 
-0002019338 00000 n 
-0002023142 00000 n 
-0002023202 00000 n 
-0002021936 00000 n 
-0002022107 00000 n 
-0002023321 00000 n 
-0002022280 00000 n 
-0002022451 00000 n 
-0002023441 00000 n 
-0002022624 00000 n 
-0002022791 00000 n 
-0002022964 00000 n 
-0002027972 00000 n 
-0002026328 00000 n 
-0002023713 00000 n 
-0002027553 00000 n 
-0002027613 00000 n 
-0002026520 00000 n 
-0002026688 00000 n 
-0002027732 00000 n 
-0002026861 00000 n 
-0002027852 00000 n 
-0002027031 00000 n 
-0002027202 00000 n 
-0002027375 00000 n 
-0002032419 00000 n 
-0002030738 00000 n 
-0002028124 00000 n 
-0002031885 00000 n 
-0002031945 00000 n 
-0002032064 00000 n 
-0002032183 00000 n 
-0002030921 00000 n 
-0002031097 00000 n 
-0002032303 00000 n 
-0002031327 00000 n 
-0002031517 00000 n 
-0002031707 00000 n 
-0003268784 00000 n 
-0002037343 00000 n 
-0002035759 00000 n 
-0002032607 00000 n 
-0002036913 00000 n 
-0002036973 00000 n 
-0002037092 00000 n 
-0002035942 00000 n 
-0002036137 00000 n 
-0002037218 00000 n 
-0002036331 00000 n 
-0002036562 00000 n 
-0002036735 00000 n 
-0002042356 00000 n 
-0002040650 00000 n 
-0002037494 00000 n 
-0002041554 00000 n 
-0002041614 00000 n 
-0002040824 00000 n 
-0002041014 00000 n 
-0002041202 00000 n 
-0002041739 00000 n 
-0002041799 00000 n 
-0002041919 00000 n 
-0002042045 00000 n 
-0002042170 00000 n 
-0002042296 00000 n 
-0002041376 00000 n 
-0002045433 00000 n 
-0002044670 00000 n 
-0002042507 00000 n 
-0002044995 00000 n 
-0002045121 00000 n 
-0002045247 00000 n 
-0002045373 00000 n 
-0002044817 00000 n 
-0002048773 00000 n 
-0002047832 00000 n 
-0002045559 00000 n 
-0002048157 00000 n 
-0002048283 00000 n 
-0002048409 00000 n 
-0002048535 00000 n 
-0002048655 00000 n 
-0002047979 00000 n 
-0002058968 00000 n 
-0002051748 00000 n 
-0002048912 00000 n 
-0002058790 00000 n 
-0002058908 00000 n 
-0002052165 00000 n 
-0002052407 00000 n 
-0002052615 00000 n 
-0002052823 00000 n 
-0002053065 00000 n 
-0002053265 00000 n 
-0002053505 00000 n 
-0002053703 00000 n 
-0002053945 00000 n 
-0002054145 00000 n 
-0002054387 00000 n 
-0002054587 00000 n 
-0002054829 00000 n 
-0002055024 00000 n 
-0002055230 00000 n 
-0002055471 00000 n 
-0002055667 00000 n 
-0002055874 00000 n 
-0002056116 00000 n 
-0002056302 00000 n 
-0002056508 00000 n 
-0002056748 00000 n 
-0002056931 00000 n 
-0002057119 00000 n 
-0002057324 00000 n 
-0002057566 00000 n 
-0002057756 00000 n 
-0002057964 00000 n 
-0002058206 00000 n 
-0002058404 00000 n 
-0002058612 00000 n 
-0002144796 00000 n 
-0002147287 00000 n 
-0002147407 00000 n 
-0002147527 00000 n 
-0002147647 00000 n 
-0002150308 00000 n 
-0002150428 00000 n 
-0002150548 00000 n 
-0002153349 00000 n 
-0002153468 00000 n 
-0002153588 00000 n 
-0002071564 00000 n 
-0002062396 00000 n 
-0002059121 00000 n 
-0002070664 00000 n 
-0002070724 00000 n 
-0002062858 00000 n 
-0002063100 00000 n 
-0002063308 00000 n 
-0002063516 00000 n 
-0002063758 00000 n 
-0002063967 00000 n 
-0002070784 00000 n 
-0002064175 00000 n 
-0002064381 00000 n 
-0002064620 00000 n 
-0002070844 00000 n 
-0002064826 00000 n 
-0002070904 00000 n 
-0002065067 00000 n 
-0002065275 00000 n 
-0002070964 00000 n 
-0002065517 00000 n 
-0002065725 00000 n 
-0002065967 00000 n 
-0002066160 00000 n 
-0002071024 00000 n 
-0002066334 00000 n 
-0002071084 00000 n 
-0002066576 00000 n 
-0002071144 00000 n 
-0002066818 00000 n 
-0002067018 00000 n 
-0002071204 00000 n 
-0002067258 00000 n 
-0002067458 00000 n 
-0002071264 00000 n 
-0002067698 00000 n 
-0002067898 00000 n 
-0002071324 00000 n 
-0002068140 00000 n 
-0002068340 00000 n 
-0002071384 00000 n 
-0002068582 00000 n 
-0002068783 00000 n 
-0002069025 00000 n 
-0002071444 00000 n 
-0002069217 00000 n 
-0002069418 00000 n 
-0002069660 00000 n 
-0002071504 00000 n 
-0002069852 00000 n 
-0002070053 00000 n 
-0002070295 00000 n 
-0002070486 00000 n 
-0003268910 00000 n 
-0002156554 00000 n 
-0002084143 00000 n 
-0002075462 00000 n 
-0002071718 00000 n 
-0002083784 00000 n 
-0002083844 00000 n 
-0002075924 00000 n 
-0002083903 00000 n 
-0002076166 00000 n 
-0002083963 00000 n 
-0002076408 00000 n 
-0002076650 00000 n 
-0002076892 00000 n 
+0002045352 00000 n 
+0002045545 00000 n 
+0002046190 00000 n 
+0002044638 00000 n 
+0002043097 00000 n 
+0002045719 00000 n 
+0002045837 00000 n 
+0002045955 00000 n 
+0002046073 00000 n 
+0002048124 00000 n 
+0002048295 00000 n 
+0002048489 00000 n 
+0002048651 00000 n 
+0002049297 00000 n 
+0002047953 00000 n 
+0002046329 00000 n 
+0002048825 00000 n 
+0002048884 00000 n 
+0002049002 00000 n 
+0002049120 00000 n 
+0002049238 00000 n 
+0002051611 00000 n 
+0002051776 00000 n 
+0002051961 00000 n 
+0002052131 00000 n 
+0002052324 00000 n 
+0002053092 00000 n 
+0002051431 00000 n 
+0002049436 00000 n 
+0002052498 00000 n 
+0002052616 00000 n 
+0002052734 00000 n 
+0002052857 00000 n 
+0002052975 00000 n 
+0002055705 00000 n 
+0002055893 00000 n 
+0002056071 00000 n 
+0002056250 00000 n 
+0002056426 00000 n 
+0002057071 00000 n 
+0002055525 00000 n 
+0002053231 00000 n 
+0002056600 00000 n 
+0002056659 00000 n 
+0002056777 00000 n 
+0002056895 00000 n 
+0002057012 00000 n 
+0002059532 00000 n 
+0002059721 00000 n 
+0002059898 00000 n 
+0002060088 00000 n 
+0002060263 00000 n 
+0002060453 00000 n 
+0002060980 00000 n 
+0002059343 00000 n 
+0002057247 00000 n 
+0002060627 00000 n 
+0002060745 00000 n 
+0002060863 00000 n 
+0002870866 00000 n 
+0002063721 00000 n 
+0002063898 00000 n 
+0002064089 00000 n 
+0002064276 00000 n 
+0002064463 00000 n 
+0002064991 00000 n 
+0002063541 00000 n 
+0002061156 00000 n 
+0002064637 00000 n 
+0002064696 00000 n 
+0002064814 00000 n 
+0002064932 00000 n 
+0002068077 00000 n 
+0002068246 00000 n 
+0002068411 00000 n 
+0002068583 00000 n 
+0002068736 00000 n 
+0002072479 00000 n 
+0002068891 00000 n 
+0002069550 00000 n 
+0002067888 00000 n 
+0002065167 00000 n 
+0002069065 00000 n 
+0002069183 00000 n 
+0002069306 00000 n 
+0002069427 00000 n 
+0002072652 00000 n 
+0002072849 00000 n 
+0002073041 00000 n 
+0002073213 00000 n 
+0002073399 00000 n 
+0002073585 00000 n 
+0002074294 00000 n 
+0002072281 00000 n 
+0002069714 00000 n 
+0002073759 00000 n 
+0002073818 00000 n 
+0002073936 00000 n 
+0002074059 00000 n 
+0002074177 00000 n 
+0002077263 00000 n 
+0002077483 00000 n 
+0002077712 00000 n 
+0002077927 00000 n 
+0002078112 00000 n 
+0002078298 00000 n 
+0002078513 00000 n 
+0002079226 00000 n 
+0002077065 00000 n 
+0002074446 00000 n 
+0002078687 00000 n 
+0002078746 00000 n 
+0002078869 00000 n 
+0002078991 00000 n 
+0002079049 00000 n 
+0002079167 00000 n 
+0002270928 00000 n 
+0002082310 00000 n 
+0002082700 00000 n 
+0002082892 00000 n 
+0002083283 00000 n 
+0002083465 00000 n 
+0002083849 00000 n 
+0002084609 00000 n 
+0002082094 00000 n 
+0002079377 00000 n 
 0002084023 00000 n 
-0002077101 00000 n 
-0002084083 00000 n 
-0002077342 00000 n 
-0002077584 00000 n 
-0002077826 00000 n 
-0002078015 00000 n 
-0002078257 00000 n 
-0002078457 00000 n 
-0002078699 00000 n 
-0002078899 00000 n 
-0002079140 00000 n 
-0002079339 00000 n 
-0002079546 00000 n 
-0002079753 00000 n 
-0002079994 00000 n 
-0002080193 00000 n 
-0002080400 00000 n 
-0002080607 00000 n 
-0002080798 00000 n 
-0002081040 00000 n 
-0002081240 00000 n 
-0002081448 00000 n 
-0002081656 00000 n 
-0002081898 00000 n 
-0002082098 00000 n 
-0002082306 00000 n 
-0002082514 00000 n 
-0002082704 00000 n 
-0002082946 00000 n 
-0002083155 00000 n 
-0002083397 00000 n 
-0002083606 00000 n 
-0002156734 00000 n 
-0002156854 00000 n 
-0002156974 00000 n 
-0002159856 00000 n 
-0002159976 00000 n 
-0002160096 00000 n 
-0002163419 00000 n 
-0002163545 00000 n 
-0002166474 00000 n 
-0002166600 00000 n 
-0002095937 00000 n 
-0002088018 00000 n 
-0002084283 00000 n 
-0002095818 00000 n 
-0002095878 00000 n 
-0002088462 00000 n 
-0002088704 00000 n 
-0002088946 00000 n 
-0002089137 00000 n 
-0002089379 00000 n 
-0002089571 00000 n 
-0002089812 00000 n 
-0002090004 00000 n 
-0002090246 00000 n 
-0002090438 00000 n 
-0002090679 00000 n 
-0002090878 00000 n 
-0002091120 00000 n 
-0002091320 00000 n 
-0002091562 00000 n 
-0002091762 00000 n 
-0002092004 00000 n 
-0002092204 00000 n 
-0002092445 00000 n 
-0002092644 00000 n 
-0002092885 00000 n 
-0002093085 00000 n 
-0002093327 00000 n 
-0002093516 00000 n 
-0002093685 00000 n 
-0002093926 00000 n 
-0002094121 00000 n 
-0002094289 00000 n 
-0002094531 00000 n 
-0002094740 00000 n 
-0002094981 00000 n 
-0002095189 00000 n 
-0002095431 00000 n 
-0002095640 00000 n 
-0002166720 00000 n 
-0002166840 00000 n 
-0002166959 00000 n 
-0002169386 00000 n 
-0002169506 00000 n 
-0002169626 00000 n 
-0002169746 00000 n 
-0002172380 00000 n 
-0002172500 00000 n 
-0002172619 00000 n 
-0002176069 00000 n 
-0002176189 00000 n 
-0002176309 00000 n 
-0002176428 00000 n 
-0002179750 00000 n 
-0002113409 00000 n 
-0002101307 00000 n 
-0002096077 00000 n 
-0002113289 00000 n 
-0002101949 00000 n 
-0002102191 00000 n 
-0002102398 00000 n 
-0002102637 00000 n 
-0002102825 00000 n 
-0002103023 00000 n 
-0002103206 00000 n 
-0002103448 00000 n 
-0002103638 00000 n 
-0002103838 00000 n 
-0002104020 00000 n 
-0002104262 00000 n 
-0002104452 00000 n 
-0002104660 00000 n 
-0002104860 00000 n 
-0002105041 00000 n 
-0002105215 00000 n 
-0002105455 00000 n 
-0002105643 00000 n 
-0002105850 00000 n 
-0002106049 00000 n 
-0002106249 00000 n 
-0002106430 00000 n 
-0002106605 00000 n 
-0002106778 00000 n 
-0002107020 00000 n 
-0002107220 00000 n 
-0002107428 00000 n 
-0002107628 00000 n 
-0002107809 00000 n 
-0002107983 00000 n 
-0002108224 00000 n 
-0002108423 00000 n 
-0002108631 00000 n 
-0002108831 00000 n 
-0002109012 00000 n 
-0002109187 00000 n 
-0002109429 00000 n 
-0002109619 00000 n 
-0002109819 00000 n 
-0002110019 00000 n 
-0002110218 00000 n 
-0002110409 00000 n 
-0002110649 00000 n 
-0002110837 00000 n 
-0002111035 00000 n 
-0002111234 00000 n 
-0002111434 00000 n 
-0002111625 00000 n 
-0002111867 00000 n 
-0002112076 00000 n 
-0002112249 00000 n 
-0002113349 00000 n 
-0002112418 00000 n 
-0002112660 00000 n 
-0002112902 00000 n 
-0002113111 00000 n 
-0002179870 00000 n 
-0002179990 00000 n 
-0002180110 00000 n 
-0002184953 00000 n 
-0002185073 00000 n 
-0002189826 00000 n 
-0002189946 00000 n 
-0002190066 00000 n 
-0002194333 00000 n 
-0002194453 00000 n 
-0002194573 00000 n 
-0002125985 00000 n 
-0002117583 00000 n 
-0002113618 00000 n 
-0002125448 00000 n 
-0002118027 00000 n 
-0002118269 00000 n 
-0002118477 00000 n 
-0002118718 00000 n 
-0002118925 00000 n 
-0002119167 00000 n 
-0002119374 00000 n 
-0002119549 00000 n 
-0002119718 00000 n 
-0002119885 00000 n 
-0002120127 00000 n 
-0002120322 00000 n 
-0002120564 00000 n 
-0002120772 00000 n 
-0002121014 00000 n 
-0002121208 00000 n 
-0002121450 00000 n 
-0002121640 00000 n 
-0002121848 00000 n 
-0002122090 00000 n 
-0002122286 00000 n 
-0002125508 00000 n 
-0002122476 00000 n 
-0002125568 00000 n 
-0002122718 00000 n 
-0002122960 00000 n 
-0002125628 00000 n 
-0002123169 00000 n 
-0002125688 00000 n 
-0002123410 00000 n 
-0002125747 00000 n 
-0002123652 00000 n 
-0002125807 00000 n 
-0002123894 00000 n 
-0002124136 00000 n 
-0002125867 00000 n 
-0002124378 00000 n 
-0002124584 00000 n 
-0002125927 00000 n 
-0002124824 00000 n 
-0002125030 00000 n 
-0002125270 00000 n 
-0002199125 00000 n 
-0002199245 00000 n 
-0002199365 00000 n 
-0002203688 00000 n 
-0002203808 00000 n 
-0002203927 00000 n 
-0002209646 00000 n 
-0002209772 00000 n 
-0002133496 00000 n 
-0002128645 00000 n 
-0002126167 00000 n 
-0002132598 00000 n 
-0002128927 00000 n 
-0002132658 00000 n 
-0002132718 00000 n 
-0002129169 00000 n 
-0002129376 00000 n 
-0002132778 00000 n 
-0002132838 00000 n 
-0002129617 00000 n 
-0002132898 00000 n 
-0002129859 00000 n 
-0002132958 00000 n 
-0002133018 00000 n 
-0002130101 00000 n 
-0002133078 00000 n 
-0002130343 00000 n 
-0002133138 00000 n 
-0002130584 00000 n 
-0002133198 00000 n 
-0002133258 00000 n 
-0002130826 00000 n 
-0002133318 00000 n 
-0002131068 00000 n 
-0002133378 00000 n 
-0002131310 00000 n 
-0002133438 00000 n 
-0002131551 00000 n 
-0002131793 00000 n 
-0002132002 00000 n 
-0002132211 00000 n 
-0002132420 00000 n 
-0002209898 00000 n 
-0002213540 00000 n 
-0002141182 00000 n 
-0002137574 00000 n 
-0002133636 00000 n 
-0002140942 00000 n 
-0002141002 00000 n 
-0002137847 00000 n 
-0002138087 00000 n 
-0002138294 00000 n 
-0002138536 00000 n 
-0002138745 00000 n 
-0002138954 00000 n 
-0002139163 00000 n 
-0002139405 00000 n 
-0002139614 00000 n 
-0002139820 00000 n 
-0002141062 00000 n 
-0002141122 00000 n 
-0002140029 00000 n 
-0002140224 00000 n 
-0002140421 00000 n 
-0002140607 00000 n 
-0002140764 00000 n 
-0003269036 00000 n 
-0002213660 00000 n 
-0002213786 00000 n 
-0002213910 00000 n 
-0002144914 00000 n 
-0002143706 00000 n 
-0002141384 00000 n 
-0002144676 00000 n 
-0002143880 00000 n 
-0002144120 00000 n 
-0002144306 00000 n 
-0002144736 00000 n 
-0002144855 00000 n 
-0002144498 00000 n 
-0002147706 00000 n 
-0002146902 00000 n 
-0002145065 00000 n 
-0002147227 00000 n 
-0002147347 00000 n 
-0002147467 00000 n 
-0002147587 00000 n 
-0002147049 00000 n 
-0002150607 00000 n 
-0002149864 00000 n 
-0002147832 00000 n 
-0002150189 00000 n 
-0002150249 00000 n 
-0002150368 00000 n 
-0002150488 00000 n 
-0002150011 00000 n 
-0002153647 00000 n 
-0002152905 00000 n 
-0002150733 00000 n 
-0002153230 00000 n 
-0002153290 00000 n 
-0002153409 00000 n 
-0002153528 00000 n 
-0002153052 00000 n 
-0002157034 00000 n 
-0002156110 00000 n 
-0002153773 00000 n 
-0002156435 00000 n 
-0002156495 00000 n 
-0002156614 00000 n 
-0002156674 00000 n 
-0002156794 00000 n 
-0002156914 00000 n 
-0002156257 00000 n 
-0002160222 00000 n 
-0002159412 00000 n 
-0002157173 00000 n 
-0002159737 00000 n 
-0002159797 00000 n 
-0002159916 00000 n 
-0002160036 00000 n 
-0002160162 00000 n 
-0002159559 00000 n 
-0003269162 00000 n 
-0002163670 00000 n 
-0002163034 00000 n 
-0002160361 00000 n 
-0002163359 00000 n 
-0002163485 00000 n 
-0002163611 00000 n 
-0002163181 00000 n 
-0002167018 00000 n 
-0002166089 00000 n 
-0002163809 00000 n 
-0002166414 00000 n 
-0002166540 00000 n 
-0002166660 00000 n 
-0002166780 00000 n 
-0002166899 00000 n 
-0002166236 00000 n 
-0002169806 00000 n 
-0002168942 00000 n 
-0002167157 00000 n 
-0002169267 00000 n 
-0002169327 00000 n 
-0002169446 00000 n 
-0002169566 00000 n 
-0002169686 00000 n 
-0002169089 00000 n 
-0002172738 00000 n 
-0002171936 00000 n 
-0002169945 00000 n 
-0002172261 00000 n 
-0002172321 00000 n 
-0002172440 00000 n 
-0002172560 00000 n 
-0002172678 00000 n 
-0002172083 00000 n 
-0002176488 00000 n 
-0002175130 00000 n 
-0002172877 00000 n 
-0002176009 00000 n 
-0002176129 00000 n 
+0002084140 00000 n 
+0002084258 00000 n 
+0002082506 00000 n 
+0002084376 00000 n 
+0002083088 00000 n 
+0002084493 00000 n 
+0002083657 00000 n 
+0002086673 00000 n 
+0002086903 00000 n 
+0002087133 00000 n 
+0002087363 00000 n 
+0002087593 00000 n 
+0002087790 00000 n 
+0002088017 00000 n 
+0002088214 00000 n 
+0002088444 00000 n 
+0002088640 00000 n 
+0002088869 00000 n 
+0002089066 00000 n 
+0002089296 00000 n 
+0002089493 00000 n 
+0002092836 00000 n 
+0002093033 00000 n 
+0002089723 00000 n 
+0002090896 00000 n 
+0002086403 00000 n 
+0002084748 00000 n 
+0002089897 00000 n 
+0002089956 00000 n 
+0002090074 00000 n 
+0002090248 00000 n 
+0002090307 00000 n 
+0002090366 00000 n 
+0002090425 00000 n 
+0002090484 00000 n 
+0002090543 00000 n 
+0002090601 00000 n 
+0002090660 00000 n 
+0002090719 00000 n 
+0002090778 00000 n 
+0002090837 00000 n 
+0002870992 00000 n 
+0002093263 00000 n 
+0002093491 00000 n 
+0002093687 00000 n 
+0002093883 00000 n 
+0002094113 00000 n 
+0002094310 00000 n 
+0002094507 00000 n 
+0002094703 00000 n 
+0002094933 00000 n 
+0002095130 00000 n 
+0002095327 00000 n 
+0002095523 00000 n 
+0002095753 00000 n 
+0002095950 00000 n 
+0002096147 00000 n 
+0002096376 00000 n 
+0002096572 00000 n 
+0002097513 00000 n 
+0002092530 00000 n 
+0002091063 00000 n 
+0002096746 00000 n 
+0002096805 00000 n 
+0002096864 00000 n 
+0002096923 00000 n 
+0002096982 00000 n 
+0002097041 00000 n 
+0002097100 00000 n 
+0002097159 00000 n 
+0002097218 00000 n 
+0002097277 00000 n 
+0002097336 00000 n 
+0002097395 00000 n 
+0002097454 00000 n 
+0002101918 00000 n 
+0002099429 00000 n 
+0002099659 00000 n 
+0002099889 00000 n 
+0002100119 00000 n 
+0002100348 00000 n 
+0002100544 00000 n 
+0002100774 00000 n 
+0002100970 00000 n 
+0002101199 00000 n 
+0002101396 00000 n 
+0002104621 00000 n 
+0002104850 00000 n 
+0002105047 00000 n 
+0002105244 00000 n 
+0002105474 00000 n 
+0002105671 00000 n 
+0002101626 00000 n 
+0002102683 00000 n 
+0002099195 00000 n 
+0002097652 00000 n 
+0002101800 00000 n 
+0002101859 00000 n 
+0002101977 00000 n 
+0002102153 00000 n 
+0002102212 00000 n 
+0002102271 00000 n 
+0002102330 00000 n 
+0002102389 00000 n 
+0002102447 00000 n 
+0002102506 00000 n 
+0002102565 00000 n 
+0002102624 00000 n 
+0002105868 00000 n 
+0002106064 00000 n 
+0002106294 00000 n 
+0002106491 00000 n 
+0002106688 00000 n 
+0002106884 00000 n 
+0002107114 00000 n 
+0002107311 00000 n 
+0002107508 00000 n 
+0002107738 00000 n 
+0002107935 00000 n 
+0002108935 00000 n 
+0002104333 00000 n 
+0002102850 00000 n 
+0002108109 00000 n 
+0002108168 00000 n 
+0002108227 00000 n 
+0002108286 00000 n 
+0002108345 00000 n 
+0002108404 00000 n 
+0002108463 00000 n 
+0002108522 00000 n 
+0002108581 00000 n 
+0002108640 00000 n 
+0002108699 00000 n 
+0002108758 00000 n 
+0002108817 00000 n 
+0002108876 00000 n 
+0002111011 00000 n 
+0002111202 00000 n 
+0002111587 00000 n 
+0002111791 00000 n 
+0002112012 00000 n 
+0002112216 00000 n 
+0002112436 00000 n 
+0002112640 00000 n 
+0002112861 00000 n 
+0002113050 00000 n 
+0002113245 00000 n 
+0002113465 00000 n 
+0002113661 00000 n 
+0002113882 00000 n 
+0002114076 00000 n 
+0002114297 00000 n 
+0002114491 00000 n 
+0002114712 00000 n 
+0002114908 00000 n 
+0002115129 00000 n 
+0002115325 00000 n 
+0002118883 00000 n 
+0002119084 00000 n 
+0002119305 00000 n 
+0002119505 00000 n 
+0002115546 00000 n 
+0002116602 00000 n 
+0002110669 00000 n 
+0002109074 00000 n 
+0002115720 00000 n 
+0002115779 00000 n 
+0002111395 00000 n 
+0002115953 00000 n 
+0002116012 00000 n 
+0002116071 00000 n 
+0002116130 00000 n 
+0002116189 00000 n 
+0002116248 00000 n 
+0002116307 00000 n 
+0002116366 00000 n 
+0002116425 00000 n 
+0002116484 00000 n 
+0002116543 00000 n 
+0002119725 00000 n 
+0002119922 00000 n 
+0002120142 00000 n 
+0002120329 00000 n 
+0002120526 00000 n 
+0002120746 00000 n 
+0002120932 00000 n 
+0002121128 00000 n 
+0002121347 00000 n 
+0002121533 00000 n 
+0002121754 00000 n 
+0002121975 00000 n 
+0002122196 00000 n 
+0002122415 00000 n 
+0002122601 00000 n 
+0002122819 00000 n 
+0002123040 00000 n 
+0002123261 00000 n 
+0002123482 00000 n 
+0002123668 00000 n 
+0002123889 00000 n 
+0002124085 00000 n 
+0002124306 00000 n 
+0002124501 00000 n 
+0002124721 00000 n 
+0002124917 00000 n 
+0002125121 00000 n 
+0002125325 00000 n 
+0002125544 00000 n 
+0002125739 00000 n 
+0002125942 00000 n 
+0002126145 00000 n 
+0002129434 00000 n 
+0002129655 00000 n 
+0002129851 00000 n 
+0002130054 00000 n 
+0002126332 00000 n 
+0002127036 00000 n 
+0002118415 00000 n 
+0002116769 00000 n 
+0002126506 00000 n 
+0002126565 00000 n 
+0002126624 00000 n 
+0002126683 00000 n 
+0002126742 00000 n 
+0002126800 00000 n 
+0002126859 00000 n 
+0002126918 00000 n 
+0002126977 00000 n 
+0002207857 00000 n 
+0002207975 00000 n 
+0002208093 00000 n 
+0002208211 00000 n 
+0002210582 00000 n 
+0002210700 00000 n 
+0002210818 00000 n 
+0002210936 00000 n 
+0002211054 00000 n 
+0002130257 00000 n 
+0002130477 00000 n 
+0002130672 00000 n 
+0002130874 00000 n 
+0002131076 00000 n 
+0002131263 00000 n 
+0002131484 00000 n 
+0002131672 00000 n 
+0002131893 00000 n 
+0002132079 00000 n 
+0002132300 00000 n 
+0002132519 00000 n 
+0002132707 00000 n 
+0002132928 00000 n 
+0002133116 00000 n 
+0002133335 00000 n 
+0002133522 00000 n 
+0002133743 00000 n 
+0002133930 00000 n 
+0002134148 00000 n 
+0002134335 00000 n 
+0002134556 00000 n 
+0002134742 00000 n 
+0002134961 00000 n 
+0002135157 00000 n 
+0002135376 00000 n 
+0002135572 00000 n 
+0002135793 00000 n 
+0002135988 00000 n 
+0002136209 00000 n 
+0002138982 00000 n 
+0002139201 00000 n 
+0002139396 00000 n 
+0002139615 00000 n 
+0002136405 00000 n 
+0002136638 00000 n 
+0002128984 00000 n 
+0002127162 00000 n 
+0002136579 00000 n 
+0002871118 00000 n 
+0002213716 00000 n 
+0002213838 00000 n 
+0002216435 00000 n 
+0002216556 00000 n 
+0002216674 00000 n 
+0002216792 00000 n 
+0002219302 00000 n 
+0002222466 00000 n 
+0002222703 00000 n 
+0002222822 00000 n 
+0002139810 00000 n 
+0002140030 00000 n 
+0002140223 00000 n 
+0002140444 00000 n 
+0002140638 00000 n 
+0002140856 00000 n 
+0002141050 00000 n 
+0002141271 00000 n 
+0002141467 00000 n 
+0002141685 00000 n 
+0002141880 00000 n 
+0002142101 00000 n 
+0002142297 00000 n 
+0002142516 00000 n 
+0002142704 00000 n 
+0002142922 00000 n 
+0002143110 00000 n 
+0002143326 00000 n 
+0002143520 00000 n 
+0002143739 00000 n 
+0002143935 00000 n 
+0002144154 00000 n 
+0002144340 00000 n 
+0002144505 00000 n 
+0002144724 00000 n 
+0002144916 00000 n 
+0002145080 00000 n 
+0002145299 00000 n 
+0002145487 00000 n 
+0002145708 00000 n 
+0002145896 00000 n 
+0002146114 00000 n 
+0002149936 00000 n 
+0002150156 00000 n 
+0002146301 00000 n 
+0002146534 00000 n 
+0002138514 00000 n 
+0002136764 00000 n 
+0002146475 00000 n 
+0002227932 00000 n 
+0002228050 00000 n 
+0002231269 00000 n 
+0002233979 00000 n 
+0002236660 00000 n 
+0002236781 00000 n 
+0002236902 00000 n 
+0002237023 00000 n 
+0002239808 00000 n 
+0002239928 00000 n 
+0002240048 00000 n 
+0002243035 00000 n 
+0002150343 00000 n 
+0002150562 00000 n 
+0002150748 00000 n 
+0002150967 00000 n 
+0002151155 00000 n 
+0002151332 00000 n 
+0002151551 00000 n 
+0002151739 00000 n 
+0002151959 00000 n 
+0002152146 00000 n 
+0002152324 00000 n 
+0002152545 00000 n 
+0002152731 00000 n 
+0002152927 00000 n 
+0002153106 00000 n 
+0002153327 00000 n 
+0002153513 00000 n 
+0002153709 00000 n 
+0002153888 00000 n 
+0002154109 00000 n 
+0002154295 00000 n 
+0002154499 00000 n 
+0002154695 00000 n 
+0002154872 00000 n 
+0002155093 00000 n 
+0002155279 00000 n 
+0002155483 00000 n 
+0002155875 00000 n 
+0002156051 00000 n 
+0002156272 00000 n 
+0002156468 00000 n 
+0002156672 00000 n 
+0002156867 00000 n 
+0002157043 00000 n 
+0002157264 00000 n 
+0002157460 00000 n 
+0002157664 00000 n 
+0002157860 00000 n 
+0002158036 00000 n 
+0002158257 00000 n 
+0002158442 00000 n 
+0002158638 00000 n 
+0002159029 00000 n 
+0002159216 00000 n 
+0002159437 00000 n 
+0002159623 00000 n 
+0002159819 00000 n 
+0002160211 00000 n 
+0002163313 00000 n 
+0002163531 00000 n 
+0002160397 00000 n 
+0002160747 00000 n 
+0002149315 00000 n 
+0002146660 00000 n 
+0002160571 00000 n 
+0002160630 00000 n 
+0002160688 00000 n 
+0002155679 00000 n 
+0002158834 00000 n 
+0002160015 00000 n 
+0002243277 00000 n 
+0002243398 00000 n 
+0002246910 00000 n 
+0002247031 00000 n 
+0002247151 00000 n 
+0002250762 00000 n 
+0002250883 00000 n 
+0002251003 00000 n 
+0002254671 00000 n 
+0002254792 00000 n 
+0002163719 00000 n 
+0002163887 00000 n 
+0002164106 00000 n 
+0002164325 00000 n 
+0002164513 00000 n 
+0002164677 00000 n 
+0002164898 00000 n 
+0002165086 00000 n 
+0002165282 00000 n 
+0002165451 00000 n 
+0002165615 00000 n 
+0002165835 00000 n 
+0002166022 00000 n 
+0002166217 00000 n 
+0002166387 00000 n 
+0002166551 00000 n 
+0002166769 00000 n 
+0002166956 00000 n 
+0002167117 00000 n 
+0002167335 00000 n 
+0002167523 00000 n 
+0002167744 00000 n 
+0002167932 00000 n 
+0002168127 00000 n 
+0002168297 00000 n 
+0002168458 00000 n 
+0002168679 00000 n 
+0002168865 00000 n 
+0002169061 00000 n 
+0002169231 00000 n 
+0002169391 00000 n 
+0002169610 00000 n 
+0002169814 00000 n 
+0002170033 00000 n 
+0002170236 00000 n 
+0002170455 00000 n 
+0002170641 00000 n 
+0002170812 00000 n 
+0002171030 00000 n 
+0002171222 00000 n 
+0002171440 00000 n 
+0002174489 00000 n 
+0002174708 00000 n 
+0002171643 00000 n 
+0002171994 00000 n 
+0002162782 00000 n 
+0002160928 00000 n 
+0002171817 00000 n 
+0002171876 00000 n 
+0002171935 00000 n 
+0002258283 00000 n 
+0002258404 00000 n 
+0002258525 00000 n 
+0002258646 00000 n 
+0002262516 00000 n 
+0002262637 00000 n 
+0002262758 00000 n 
+0002266543 00000 n 
+0002266664 00000 n 
+0002270565 00000 n 
+0002270686 00000 n 
+0002270807 00000 n 
+0002174899 00000 n 
+0002175118 00000 n 
 0002175304 00000 n 
-0002176249 00000 n 
-0002175473 00000 n 
-0002175642 00000 n 
-0002176369 00000 n 
-0002175831 00000 n 
-0002180170 00000 n 
-0002179114 00000 n 
-0002176627 00000 n 
-0002179631 00000 n 
-0002179691 00000 n 
-0002179810 00000 n 
-0002179930 00000 n 
-0002180050 00000 n 
-0002179270 00000 n 
-0002179453 00000 n 
-0003269288 00000 n 
-0002185192 00000 n 
-0002183369 00000 n 
-0002180309 00000 n 
-0002184834 00000 n 
-0002184894 00000 n 
-0002183570 00000 n 
-0002185013 00000 n 
-0002183753 00000 n 
-0002183931 00000 n 
-0002184106 00000 n 
-0002185132 00000 n 
-0002184301 00000 n 
-0002184482 00000 n 
-0002184656 00000 n 
-0002190126 00000 n 
-0002188087 00000 n 
-0002185368 00000 n 
-0002189766 00000 n 
-0002188297 00000 n 
-0002189886 00000 n 
-0002188492 00000 n 
-0002188672 00000 n 
-0002188847 00000 n 
-0002190006 00000 n 
-0002189041 00000 n 
-0002189222 00000 n 
-0002189394 00000 n 
-0002189588 00000 n 
-0002194632 00000 n 
-0002193130 00000 n 
-0002190290 00000 n 
-0002194214 00000 n 
-0002194274 00000 n 
-0002193313 00000 n 
-0002194393 00000 n 
-0002193504 00000 n 
-0002194513 00000 n 
-0002193694 00000 n 
-0002193867 00000 n 
-0002194036 00000 n 
-0002199485 00000 n 
-0002197464 00000 n 
-0002194808 00000 n 
-0002199006 00000 n 
-0002199066 00000 n 
-0002197665 00000 n 
-0002199185 00000 n 
-0002197838 00000 n 
-0002199305 00000 n 
-0002198080 00000 n 
-0002199425 00000 n 
-0002198321 00000 n 
-0002198495 00000 n 
-0002198663 00000 n 
-0002198828 00000 n 
-0002204047 00000 n 
-0002202453 00000 n 
-0002199637 00000 n 
-0002203628 00000 n 
-0002202636 00000 n 
-0002203748 00000 n 
-0002202876 00000 n 
-0002203065 00000 n 
-0002203867 00000 n 
-0002203987 00000 n 
-0002203255 00000 n 
-0002203450 00000 n 
-0002209963 00000 n 
-0002207751 00000 n 
-0002204186 00000 n 
-0002209586 00000 n 
-0002207961 00000 n 
-0002208156 00000 n 
-0002209712 00000 n 
-0002208350 00000 n 
-0002208592 00000 n 
-0002209838 00000 n 
-0002208811 00000 n 
-0002209001 00000 n 
-0002209190 00000 n 
-0002209408 00000 n 
-0003269414 00000 n 
-0002214273 00000 n 
-0002212597 00000 n 
-0002210114 00000 n 
-0002213362 00000 n 
-0002213422 00000 n 
-0002213481 00000 n 
-0002213600 00000 n 
-0002213726 00000 n 
-0002213850 00000 n 
-0002213975 00000 n 
-0002212762 00000 n 
-0002214153 00000 n 
-0002214213 00000 n 
-0002212952 00000 n 
-0002213184 00000 n 
-0002226957 00000 n 
-0002218189 00000 n 
-0002214454 00000 n 
-0002226538 00000 n 
-0002226598 00000 n 
-0002218660 00000 n 
-0002226658 00000 n 
-0002218892 00000 n 
-0002226718 00000 n 
-0002219124 00000 n 
-0002219357 00000 n 
-0002219590 00000 n 
-0002219823 00000 n 
-0002220031 00000 n 
-0002220239 00000 n 
-0002220439 00000 n 
-0002220672 00000 n 
-0002220871 00000 n 
-0002221079 00000 n 
-0002221310 00000 n 
-0002221508 00000 n 
-0002226778 00000 n 
-0002221714 00000 n 
-0002221947 00000 n 
-0002222156 00000 n 
-0002222364 00000 n 
-0002226838 00000 n 
-0002222564 00000 n 
-0002222796 00000 n 
-0002222995 00000 n 
-0002226897 00000 n 
-0002223195 00000 n 
-0002223428 00000 n 
-0002223628 00000 n 
-0002223828 00000 n 
-0002224061 00000 n 
-0002224256 00000 n 
-0002224464 00000 n 
-0002224697 00000 n 
-0002224893 00000 n 
-0002225100 00000 n 
-0002225333 00000 n 
-0002225519 00000 n 
-0002225727 00000 n 
-0002225958 00000 n 
-0002226154 00000 n 
-0002226360 00000 n 
-0002307232 00000 n 
-0002307352 00000 n 
-0002307472 00000 n 
-0002307598 00000 n 
-0002307718 00000 n 
-0002310632 00000 n 
-0002310752 00000 n 
-0002238805 00000 n 
-0002230611 00000 n 
-0002227126 00000 n 
-0002238326 00000 n 
-0002231055 00000 n 
-0002231288 00000 n 
-0002231479 00000 n 
-0002231686 00000 n 
-0002231919 00000 n 
-0002232104 00000 n 
-0002232294 00000 n 
-0002238386 00000 n 
-0002232502 00000 n 
-0002232710 00000 n 
-0002238445 00000 n 
-0002232943 00000 n 
-0002233151 00000 n 
-0002238505 00000 n 
-0002233384 00000 n 
-0002238565 00000 n 
-0002233617 00000 n 
-0002238625 00000 n 
-0002233850 00000 n 
-0002238685 00000 n 
-0002234083 00000 n 
-0002234316 00000 n 
-0002234549 00000 n 
-0002238745 00000 n 
-0002234748 00000 n 
-0002234981 00000 n 
-0002235214 00000 n 
-0002235403 00000 n 
-0002235636 00000 n 
-0002235836 00000 n 
-0002236067 00000 n 
-0002236265 00000 n 
-0002236498 00000 n 
-0002236698 00000 n 
-0002236906 00000 n 
-0002237114 00000 n 
-0002237346 00000 n 
-0002237545 00000 n 
-0002237752 00000 n 
-0002237959 00000 n 
-0002238148 00000 n 
-0002310871 00000 n 
-0002313823 00000 n 
-0002314003 00000 n 
-0002314123 00000 n 
-0002317250 00000 n 
-0002317370 00000 n 
-0002317490 00000 n 
-0002317610 00000 n 
-0002251025 00000 n 
-0002242790 00000 n 
-0002238959 00000 n 
-0002250725 00000 n 
-0002243243 00000 n 
-0002243476 00000 n 
-0002243676 00000 n 
-0002243884 00000 n 
-0002244092 00000 n 
-0002244325 00000 n 
-0002244525 00000 n 
-0002244733 00000 n 
-0002244941 00000 n 
-0002245130 00000 n 
-0002245361 00000 n 
-0002245561 00000 n 
-0002245794 00000 n 
-0002245994 00000 n 
-0002246227 00000 n 
-0002246425 00000 n 
-0002246658 00000 n 
-0002250785 00000 n 
-0002246858 00000 n 
+0002175508 00000 n 
+0002175725 00000 n 
+0002175916 00000 n 
+0002176101 00000 n 
+0002176322 00000 n 
+0002176541 00000 n 
+0002176729 00000 n 
+0002176948 00000 n 
+0002177167 00000 n 
+0002177386 00000 n 
+0002177607 00000 n 
+0002177828 00000 n 
+0002178031 00000 n 
+0002178249 00000 n 
+0002178453 00000 n 
+0002178672 00000 n 
+0002178893 00000 n 
+0002179097 00000 n 
+0002179318 00000 n 
+0002179506 00000 n 
+0002179726 00000 n 
+0002183066 00000 n 
+0002183287 00000 n 
+0002179947 00000 n 
+0002180829 00000 n 
+0002174111 00000 n 
+0002172133 00000 n 
+0002180121 00000 n 
+0002180180 00000 n 
+0002180239 00000 n 
+0002180298 00000 n 
+0002180357 00000 n 
+0002180416 00000 n 
+0002180475 00000 n 
+0002180534 00000 n 
+0002180593 00000 n 
+0002180652 00000 n 
+0002180711 00000 n 
+0002180770 00000 n 
+0002275351 00000 n 
+0002275477 00000 n 
+0002278700 00000 n 
+0002278824 00000 n 
+0002183507 00000 n 
+0002183726 00000 n 
+0002183930 00000 n 
+0002184134 00000 n 
+0002184353 00000 n 
+0002184541 00000 n 
+0002184745 00000 n 
+0002184964 00000 n 
+0002185159 00000 n 
+0002185378 00000 n 
+0002185574 00000 n 
+0002185767 00000 n 
+0002185986 00000 n 
+0002186180 00000 n 
+0002186398 00000 n 
+0002186592 00000 n 
+0002186784 00000 n 
+0002187003 00000 n 
+0002187182 00000 n 
+0002187368 00000 n 
+0002187572 00000 n 
+0002187758 00000 n 
+0002187978 00000 n 
+0002188166 00000 n 
+0002188387 00000 n 
+0002188575 00000 n 
+0002188796 00000 n 
+0002188984 00000 n 
+0002189172 00000 n 
+0002189393 00000 n 
+0002189581 00000 n 
+0002189769 00000 n 
+0002190297 00000 n 
+0002182625 00000 n 
+0002180996 00000 n 
+0002189943 00000 n 
+0002190002 00000 n 
+0002190061 00000 n 
+0002190120 00000 n 
+0002190179 00000 n 
+0002190238 00000 n 
+0002202682 00000 n 
+0002202800 00000 n 
+0002202918 00000 n 
+0002205080 00000 n 
+0002205198 00000 n 
+0002205316 00000 n 
+0002207680 00000 n 
+0002279006 00000 n 
+0002279127 00000 n 
+0002279252 00000 n 
+0002193193 00000 n 
+0002193379 00000 n 
+0002193542 00000 n 
+0002193732 00000 n 
+0002193925 00000 n 
+0002194248 00000 n 
+0002194540 00000 n 
+0002192995 00000 n 
+0002190450 00000 n 
+0002194422 00000 n 
+0002194481 00000 n 
+0002194086 00000 n 
+0002871244 00000 n 
+0002196956 00000 n 
+0002197189 00000 n 
+0002196812 00000 n 
+0002194716 00000 n 
+0002197130 00000 n 
+0002199531 00000 n 
+0002199764 00000 n 
+0002199387 00000 n 
+0002197363 00000 n 
+0002199705 00000 n 
+0002202390 00000 n 
+0002203040 00000 n 
+0002202246 00000 n 
+0002199938 00000 n 
+0002202564 00000 n 
+0002202623 00000 n 
+0002202741 00000 n 
+0002202859 00000 n 
+0002202981 00000 n 
+0002204847 00000 n 
+0002205434 00000 n 
+0002204703 00000 n 
+0002203241 00000 n 
+0002205021 00000 n 
+0002205139 00000 n 
+0002205257 00000 n 
+0002205375 00000 n 
+0002207447 00000 n 
+0002208269 00000 n 
+0002207303 00000 n 
+0002205547 00000 n 
+0002207621 00000 n 
+0002207739 00000 n 
+0002207798 00000 n 
+0002207916 00000 n 
+0002208034 00000 n 
+0002208152 00000 n 
+0002210290 00000 n 
+0002211117 00000 n 
+0002210146 00000 n 
+0002208408 00000 n 
+0002210464 00000 n 
+0002210523 00000 n 
+0002210641 00000 n 
+0002210759 00000 n 
+0002210877 00000 n 
+0002210995 00000 n 
+0002871370 00000 n 
+0002213424 00000 n 
+0002213961 00000 n 
+0002213280 00000 n 
+0002211243 00000 n 
+0002213598 00000 n 
+0002213657 00000 n 
+0002213780 00000 n 
+0002213902 00000 n 
+0002216202 00000 n 
+0002216856 00000 n 
+0002216058 00000 n 
+0002214087 00000 n 
+0002216376 00000 n 
+0002216497 00000 n 
+0002216615 00000 n 
+0002216733 00000 n 
+0002218528 00000 n 
+0002218699 00000 n 
+0002221505 00000 n 
+0002221676 00000 n 
+0002218893 00000 n 
+0002219538 00000 n 
+0002218366 00000 n 
+0002216982 00000 n 
+0002219067 00000 n 
+0002219126 00000 n 
+0002219244 00000 n 
+0002219361 00000 n 
+0002219479 00000 n 
+0002221870 00000 n 
+0002222040 00000 n 
+0002222232 00000 n 
+0002222881 00000 n 
+0002221324 00000 n 
+0002219664 00000 n 
+0002222406 00000 n 
+0002222524 00000 n 
+0002222643 00000 n 
+0002222762 00000 n 
+0002224575 00000 n 
+0002224747 00000 n 
+0002224942 00000 n 
+0002225481 00000 n 
+0002224407 00000 n 
+0002223007 00000 n 
+0002225117 00000 n 
+0002225178 00000 n 
+0002225299 00000 n 
+0002225420 00000 n 
+0002227329 00000 n 
+0002227501 00000 n 
+0002227696 00000 n 
+0002228292 00000 n 
+0002227160 00000 n 
+0002225608 00000 n 
+0002227871 00000 n 
+0002227991 00000 n 
+0002228110 00000 n 
+0002228231 00000 n 
+0002871497 00000 n 
+0002230179 00000 n 
+0002230351 00000 n 
+0002230546 00000 n 
+0002230718 00000 n 
+0002230913 00000 n 
+0002231390 00000 n 
+0002229990 00000 n 
+0002228419 00000 n 
+0002231088 00000 n 
+0002231209 00000 n 
+0002231329 00000 n 
+0002233255 00000 n 
+0002233427 00000 n 
+0002233622 00000 n 
+0002234221 00000 n 
+0002233086 00000 n 
+0002231517 00000 n 
+0002233797 00000 n 
+0002233918 00000 n 
+0002234039 00000 n 
+0002234160 00000 n 
+0002236057 00000 n 
+0002236229 00000 n 
+0002236424 00000 n 
+0002237082 00000 n 
+0002235888 00000 n 
+0002234348 00000 n 
+0002236599 00000 n 
+0002236720 00000 n 
+0002236841 00000 n 
+0002236962 00000 n 
+0002238995 00000 n 
+0002239159 00000 n 
+0002239324 00000 n 
+0002239511 00000 n 
+0002240229 00000 n 
+0002238816 00000 n 
+0002237209 00000 n 
+0002239686 00000 n 
+0002239747 00000 n 
+0002239868 00000 n 
+0002239988 00000 n 
+0002240108 00000 n 
+0002241826 00000 n 
+0002241998 00000 n 
+0002242193 00000 n 
+0002242365 00000 n 
+0002242560 00000 n 
+0002242738 00000 n 
+0002243457 00000 n 
+0002241627 00000 n 
+0002240356 00000 n 
+0002242913 00000 n 
+0002242974 00000 n 
+0002243095 00000 n 
+0002243216 00000 n 
+0002243337 00000 n 
+0002245897 00000 n 
+0002246077 00000 n 
+0002246256 00000 n 
+0002246436 00000 n 
+0002246613 00000 n 
+0002247272 00000 n 
+0002245708 00000 n 
+0002243584 00000 n 
+0002246788 00000 n 
+0002246849 00000 n 
+0002246970 00000 n 
 0002247091 00000 n 
-0002247292 00000 n 
-0002247525 00000 n 
-0002247717 00000 n 
-0002247918 00000 n 
-0002248151 00000 n 
-0002248342 00000 n 
-0002248543 00000 n 
-0002248776 00000 n 
-0002250845 00000 n 
-0002248968 00000 n 
-0002249176 00000 n 
-0002250905 00000 n 
-0002249409 00000 n 
-0002249617 00000 n 
-0002249850 00000 n 
-0002250965 00000 n 
-0002250083 00000 n 
-0002250316 00000 n 
-0002250547 00000 n 
-0002320834 00000 n 
-0002320960 00000 n 
-0002323991 00000 n 
-0002324117 00000 n 
-0002324237 00000 n 
-0002324356 00000 n 
-0002327068 00000 n 
-0002327188 00000 n 
-0002327308 00000 n 
-0002327428 00000 n 
-0002327548 00000 n 
-0002263348 00000 n 
-0002254721 00000 n 
-0002251165 00000 n 
-0002263228 00000 n 
-0002255201 00000 n 
-0002255433 00000 n 
-0002255623 00000 n 
-0002255855 00000 n 
-0002256046 00000 n 
-0002256278 00000 n 
-0002256468 00000 n 
-0002256701 00000 n 
-0002256901 00000 n 
-0002257134 00000 n 
-0002257334 00000 n 
-0002257566 00000 n 
-0002257766 00000 n 
-0002257998 00000 n 
-0002258190 00000 n 
-0002258423 00000 n 
-0002258615 00000 n 
-0002258848 00000 n 
-0002259039 00000 n 
-0002259272 00000 n 
-0002259472 00000 n 
-0002259705 00000 n 
-0002259905 00000 n 
-0002260138 00000 n 
-0002260338 00000 n 
-0002260571 00000 n 
-0002260760 00000 n 
-0002260928 00000 n 
-0002261160 00000 n 
-0002261355 00000 n 
-0002263288 00000 n 
-0002261523 00000 n 
-0002261756 00000 n 
-0002261989 00000 n 
-0002262189 00000 n 
-0002262422 00000 n 
-0002262622 00000 n 
-0002262853 00000 n 
-0002263050 00000 n 
-0002327674 00000 n 
-0002330715 00000 n 
-0002330955 00000 n 
-0002331075 00000 n 
-0002334235 00000 n 
-0002334355 00000 n 
-0002337425 00000 n 
-0002337545 00000 n 
-0002341737 00000 n 
-0002341857 00000 n 
-0002341977 00000 n 
-0002346510 00000 n 
-0002279718 00000 n 
-0002268694 00000 n 
-0002263488 00000 n 
-0002279658 00000 n 
-0002269291 00000 n 
-0002269524 00000 n 
-0002269724 00000 n 
-0002269916 00000 n 
-0002270148 00000 n 
-0002270338 00000 n 
-0002270538 00000 n 
-0002270721 00000 n 
-0002270953 00000 n 
-0002271142 00000 n 
-0002271341 00000 n 
-0002271523 00000 n 
-0002271756 00000 n 
-0002271946 00000 n 
-0002272154 00000 n 
-0002272354 00000 n 
-0002272535 00000 n 
-0002272767 00000 n 
-0002272956 00000 n 
-0002273164 00000 n 
-0002273364 00000 n 
-0002273564 00000 n 
-0002273744 00000 n 
-0002273977 00000 n 
-0002274177 00000 n 
-0002274385 00000 n 
-0002274585 00000 n 
-0002274766 00000 n 
-0002274998 00000 n 
-0002275197 00000 n 
-0002275405 00000 n 
-0002275605 00000 n 
-0002275786 00000 n 
-0002276019 00000 n 
-0002276209 00000 n 
-0002276409 00000 n 
-0002276609 00000 n 
-0002276809 00000 n 
-0002277000 00000 n 
-0002277232 00000 n 
-0002277421 00000 n 
-0002277620 00000 n 
-0002277820 00000 n 
-0002278020 00000 n 
-0002278211 00000 n 
-0002278444 00000 n 
-0002278644 00000 n 
-0002278817 00000 n 
-0002279049 00000 n 
-0002279281 00000 n 
-0002279480 00000 n 
-0003269540 00000 n 
-0002346630 00000 n 
-0002346750 00000 n 
-0002346870 00000 n 
-0002351088 00000 n 
-0002351208 00000 n 
-0002351328 00000 n 
-0002355892 00000 n 
-0002356012 00000 n 
-0002360691 00000 n 
-0002360810 00000 n 
-0002360929 00000 n 
-0002361055 00000 n 
-0002291705 00000 n 
-0002284040 00000 n 
-0002279928 00000 n 
-0002291225 00000 n 
-0002284466 00000 n 
-0002284642 00000 n 
-0002284875 00000 n 
-0002285075 00000 n 
-0002291285 00000 n 
-0002285252 00000 n 
-0002285452 00000 n 
-0002285685 00000 n 
-0002291345 00000 n 
-0002285885 00000 n 
-0002286084 00000 n 
-0002286316 00000 n 
-0002291405 00000 n 
-0002286515 00000 n 
-0002286748 00000 n 
-0002291465 00000 n 
-0002286948 00000 n 
-0002287181 00000 n 
-0002291525 00000 n 
-0002287389 00000 n 
-0002287622 00000 n 
-0002287830 00000 n 
-0002288063 00000 n 
-0002288261 00000 n 
-0002288494 00000 n 
-0002288689 00000 n 
-0002288922 00000 n 
-0002289130 00000 n 
-0002289363 00000 n 
-0002289595 00000 n 
-0002289784 00000 n 
-0002289991 00000 n 
-0002290224 00000 n 
-0002290420 00000 n 
-0002291585 00000 n 
-0002291645 00000 n 
-0002290610 00000 n 
-0002290816 00000 n 
-0002291047 00000 n 
-0002366131 00000 n 
-0002366257 00000 n 
-0002366377 00000 n 
-0002371150 00000 n 
-0002371270 00000 n 
-0002371390 00000 n 
-0002371516 00000 n 
-0002304029 00000 n 
-0002295684 00000 n 
-0002291874 00000 n 
-0002303669 00000 n 
-0002303729 00000 n 
-0002296155 00000 n 
-0002296387 00000 n 
-0002296580 00000 n 
-0002296813 00000 n 
-0002297006 00000 n 
-0002297199 00000 n 
-0002297397 00000 n 
-0002297592 00000 n 
-0002303789 00000 n 
-0002297823 00000 n 
-0002298055 00000 n 
-0002298252 00000 n 
-0002298452 00000 n 
-0002298649 00000 n 
-0002298846 00000 n 
-0002299032 00000 n 
-0002299232 00000 n 
-0002299418 00000 n 
-0002299651 00000 n 
-0002299837 00000 n 
-0002303849 00000 n 
-0002300023 00000 n 
-0002300256 00000 n 
-0002300442 00000 n 
-0002300642 00000 n 
-0002300828 00000 n 
-0002301061 00000 n 
-0002301261 00000 n 
-0002301494 00000 n 
-0002301694 00000 n 
-0002301894 00000 n 
-0002302094 00000 n 
-0002302327 00000 n 
-0002302522 00000 n 
-0002302722 00000 n 
-0002303909 00000 n 
-0002303969 00000 n 
-0002302916 00000 n 
-0002303110 00000 n 
-0002303306 00000 n 
-0002303491 00000 n 
-0002376294 00000 n 
-0002376414 00000 n 
-0002376533 00000 n 
-0002376653 00000 n 
-0002381803 00000 n 
-0002381923 00000 n 
-0002382043 00000 n 
-0002307778 00000 n 
-0002306579 00000 n 
-0002304181 00000 n 
-0002307113 00000 n 
-0002307173 00000 n 
-0002307292 00000 n 
-0002306735 00000 n 
-0002307412 00000 n 
-0002307538 00000 n 
-0002307658 00000 n 
-0002306935 00000 n 
-0002310930 00000 n 
-0002310188 00000 n 
-0002307904 00000 n 
-0002310513 00000 n 
-0002310573 00000 n 
-0002310692 00000 n 
-0002310811 00000 n 
-0002310335 00000 n 
-0002314243 00000 n 
-0002313379 00000 n 
-0002311056 00000 n 
-0002313704 00000 n 
-0002313764 00000 n 
-0002313883 00000 n 
-0002313943 00000 n 
-0002314063 00000 n 
-0002314183 00000 n 
-0002313526 00000 n 
-0002317675 00000 n 
-0002316865 00000 n 
-0002314382 00000 n 
-0002317190 00000 n 
-0003028405 00000 n 
-0003026239 00000 n 
-0003028236 00000 n 
-0002317310 00000 n 
-0002317430 00000 n 
-0002317550 00000 n 
-0002317012 00000 n 
-0003269666 00000 n 
-0002321086 00000 n 
-0002320390 00000 n 
-0002317853 00000 n 
-0002320715 00000 n 
-0002320775 00000 n 
-0002320900 00000 n 
-0002321026 00000 n 
-0002320537 00000 n 
-0002324414 00000 n 
-0002323606 00000 n 
-0002321225 00000 n 
-0002323931 00000 n 
-0002324057 00000 n 
-0002324177 00000 n 
-0002324297 00000 n 
-0002323753 00000 n 
-0002327733 00000 n 
-0002326624 00000 n 
-0002324566 00000 n 
-0002326949 00000 n 
-0002327009 00000 n 
-0002327128 00000 n 
-0002327248 00000 n 
-0002327368 00000 n 
-0002327488 00000 n 
-0002327614 00000 n 
-0002326771 00000 n 
-0002331134 00000 n 
-0002329880 00000 n 
-0002327872 00000 n 
-0002330596 00000 n 
-0002330656 00000 n 
-0002330775 00000 n 
-0002330895 00000 n 
-0002330045 00000 n 
-0002330220 00000 n 
-0002331015 00000 n 
-0002330418 00000 n 
-0002334534 00000 n 
-0002333283 00000 n 
-0002331273 00000 n 
-0002333997 00000 n 
-0002334057 00000 n 
-0002334175 00000 n 
-0002333448 00000 n 
-0002333621 00000 n 
-0002334295 00000 n 
-0002334415 00000 n 
-0002333819 00000 n 
-0002337784 00000 n 
-0002336590 00000 n 
-0002334673 00000 n 
-0002337306 00000 n 
-0002337366 00000 n 
-0002336755 00000 n 
-0002336930 00000 n 
-0002337485 00000 n 
-0002337605 00000 n 
-0002337724 00000 n 
-0002337128 00000 n 
-0003269792 00000 n 
-0002342222 00000 n 
-0002340406 00000 n 
-0002337923 00000 n 
-0002341677 00000 n 
-0002340598 00000 n 
-0002340773 00000 n 
-0002341797 00000 n 
-0002340971 00000 n 
-0002341917 00000 n 
-0002341140 00000 n 
-0002341309 00000 n 
-0002342037 00000 n 
-0002342162 00000 n 
-0002341499 00000 n 
-0002346990 00000 n 
-0002345151 00000 n 
-0002342361 00000 n 
-0002346450 00000 n 
-0002345343 00000 n 
-0002345517 00000 n 
-0002346570 00000 n 
-0002346690 00000 n 
-0002345715 00000 n 
-0002346810 00000 n 
-0002345907 00000 n 
-0002346930 00000 n 
-0002346090 00000 n 
-0002346272 00000 n 
-0002351387 00000 n 
-0002349915 00000 n 
-0002347129 00000 n 
-0002351028 00000 n 
-0002351148 00000 n 
-0002350098 00000 n 
-0002350279 00000 n 
-0002351268 00000 n 
-0002350474 00000 n 
-0002350655 00000 n 
-0002350850 00000 n 
-0002356131 00000 n 
-0002354464 00000 n 
-0002351563 00000 n 
-0002355773 00000 n 
-0002355833 00000 n 
-0002354656 00000 n 
-0002354836 00000 n 
-0002355952 00000 n 
-0002355029 00000 n 
-0002355210 00000 n 
-0002356072 00000 n 
-0002355404 00000 n 
-0002355595 00000 n 
-0002361181 00000 n 
-0002359559 00000 n 
-0002356307 00000 n 
-0002360631 00000 n 
-0002360750 00000 n 
-0002359742 00000 n 
-0002360870 00000 n 
-0002359932 00000 n 
-0002360105 00000 n 
-0002360995 00000 n 
-0002361121 00000 n 
-0002360277 00000 n 
-0002360453 00000 n 
-0002366503 00000 n 
-0002364625 00000 n 
-0002361370 00000 n 
-0002366071 00000 n 
-0002364826 00000 n 
-0002364984 00000 n 
-0002366197 00000 n 
-0002365143 00000 n 
-0002365319 00000 n 
-0002365519 00000 n 
-0002366317 00000 n 
-0002365717 00000 n 
-0002366443 00000 n 
-0002365893 00000 n 
-0003269918 00000 n 
-0002371642 00000 n 
-0002369466 00000 n 
-0002366655 00000 n 
-0002371090 00000 n 
-0002369667 00000 n 
-0002369857 00000 n 
-0002371210 00000 n 
-0002371330 00000 n 
-0002370047 00000 n 
-0002371456 00000 n 
-0002370272 00000 n 
-0002370505 00000 n 
+0002247211 00000 n 
+0002871630 00000 n 
+0002249599 00000 n 
+0002249790 00000 n 
+0002249968 00000 n 
+0002250158 00000 n 
+0002250335 00000 n 
+0002253628 00000 n 
+0002250526 00000 n 
+0002251062 00000 n 
+0002249400 00000 n 
+0002247449 00000 n 
+0002250701 00000 n 
+0002250822 00000 n 
+0002250943 00000 n 
+0002253806 00000 n 
+0002253998 00000 n 
+0002254186 00000 n 
+0002254374 00000 n 
+0002254913 00000 n 
+0002253439 00000 n 
+0002251239 00000 n 
+0002254549 00000 n 
+0002254610 00000 n 
+0002254731 00000 n 
+0002254852 00000 n 
+0002257042 00000 n 
+0002257212 00000 n 
+0002257376 00000 n 
+0002257544 00000 n 
+0002257714 00000 n 
+0002257878 00000 n 
+0002260723 00000 n 
+0002260894 00000 n 
+0002258047 00000 n 
+0002258706 00000 n 
+0002256833 00000 n 
+0002255090 00000 n 
+0002258222 00000 n 
+0002258343 00000 n 
+0002258464 00000 n 
+0002258585 00000 n 
+0002261058 00000 n 
+0002261227 00000 n 
+0002261389 00000 n 
+0002261558 00000 n 
+0002261729 00000 n 
+0002262050 00000 n 
+0002265304 00000 n 
+0002265475 00000 n 
+0002262219 00000 n 
+0002262817 00000 n 
+0002260484 00000 n 
+0002258846 00000 n 
+0002262394 00000 n 
+0002262455 00000 n 
+0002262576 00000 n 
+0002262697 00000 n 
+0002261891 00000 n 
+0002265635 00000 n 
+0002265804 00000 n 
+0002266025 00000 n 
+0002266246 00000 n 
+0002266783 00000 n 
+0002265105 00000 n 
+0002262957 00000 n 
+0002266421 00000 n 
+0002266482 00000 n 
+0002266603 00000 n 
+0002266724 00000 n 
+0002269369 00000 n 
+0002269542 00000 n 
+0002269764 00000 n 
+0002269950 00000 n 
+0002270137 00000 n 
+0002270329 00000 n 
+0002271049 00000 n 
+0002269170 00000 n 
+0002266985 00000 n 
+0002270504 00000 n 
+0002270625 00000 n 
+0002270746 00000 n 
+0002270867 00000 n 
+0002270988 00000 n 
+0002871763 00000 n 
+0002274160 00000 n 
+0002274351 00000 n 
+0002274571 00000 n 
+0002274743 00000 n 
+0002274929 00000 n 
+0002278293 00000 n 
+0002275115 00000 n 
+0002275601 00000 n 
+0002273961 00000 n 
+0002271238 00000 n 
+0002275290 00000 n 
+0002275416 00000 n 
+0002275541 00000 n 
+0002281980 00000 n 
+0002282200 00000 n 
+0002282420 00000 n 
+0002278464 00000 n 
+0002279497 00000 n 
+0002278134 00000 n 
+0002275753 00000 n 
+0002278639 00000 n 
+0002278763 00000 n 
+0002278884 00000 n 
+0002278945 00000 n 
+0002279066 00000 n 
+0002279192 00000 n 
+0002279317 00000 n 
+0002282606 00000 n 
+0002282826 00000 n 
+0002283046 00000 n 
+0002283232 00000 n 
+0002283449 00000 n 
+0002283667 00000 n 
+0002283886 00000 n 
+0002284103 00000 n 
+0002284322 00000 n 
+0002284542 00000 n 
+0002284762 00000 n 
+0002284982 00000 n 
+0002285169 00000 n 
+0002285389 00000 n 
+0002285608 00000 n 
+0002285827 00000 n 
+0002286012 00000 n 
+0002286231 00000 n 
+0002286451 00000 n 
+0002286656 00000 n 
+0002286874 00000 n 
+0002287079 00000 n 
+0002287297 00000 n 
+0002291008 00000 n 
+0002287515 00000 n 
+0002288664 00000 n 
+0002281571 00000 n 
+0002279663 00000 n 
+0002287690 00000 n 
+0002287751 00000 n 
+0002287812 00000 n 
+0002287873 00000 n 
+0002287933 00000 n 
+0002287994 00000 n 
+0002288055 00000 n 
+0002288116 00000 n 
+0002288177 00000 n 
+0002288238 00000 n 
+0002288299 00000 n 
+0002288360 00000 n 
+0002288421 00000 n 
+0002288482 00000 n 
+0002288543 00000 n 
+0002288604 00000 n 
+0002319824 00000 n 
+0002319946 00000 n 
+0002291226 00000 n 
+0002291445 00000 n 
+0002291665 00000 n 
+0002291885 00000 n 
+0002292105 00000 n 
+0002292325 00000 n 
+0002292545 00000 n 
+0002292764 00000 n 
+0002292983 00000 n 
+0002293203 00000 n 
+0002293423 00000 n 
+0002293643 00000 n 
+0002293863 00000 n 
+0002294083 00000 n 
+0002294303 00000 n 
+0002294523 00000 n 
+0002294743 00000 n 
+0002294963 00000 n 
+0002295182 00000 n 
+0002295400 00000 n 
+0002295620 00000 n 
+0002295840 00000 n 
+0002296060 00000 n 
+0002296277 00000 n 
+0002296496 00000 n 
+0002296715 00000 n 
+0002300447 00000 n 
+0002300634 00000 n 
+0002300852 00000 n 
+0002296931 00000 n 
+0002298020 00000 n 
+0002290589 00000 n 
+0002288817 00000 n 
+0002297106 00000 n 
+0002297167 00000 n 
+0002297228 00000 n 
+0002297289 00000 n 
+0002297350 00000 n 
+0002297411 00000 n 
+0002297472 00000 n 
+0002297532 00000 n 
+0002297593 00000 n 
+0002297654 00000 n 
+0002297715 00000 n 
+0002297776 00000 n 
+0002297837 00000 n 
+0002297898 00000 n 
+0002297959 00000 n 
+0002320134 00000 n 
+0002301038 00000 n 
+0002301256 00000 n 
+0002301443 00000 n 
+0002301661 00000 n 
+0002301848 00000 n 
+0002302066 00000 n 
+0002302252 00000 n 
+0002302472 00000 n 
+0002302658 00000 n 
+0002302876 00000 n 
+0002303062 00000 n 
+0002303280 00000 n 
+0002303499 00000 n 
+0002303719 00000 n 
+0002303939 00000 n 
+0002304158 00000 n 
+0002304378 00000 n 
+0002304597 00000 n 
+0002304817 00000 n 
+0002305037 00000 n 
+0002308783 00000 n 
+0002309003 00000 n 
+0002309223 00000 n 
+0002305257 00000 n 
+0002306164 00000 n 
+0002300068 00000 n 
+0002298160 00000 n 
+0002305432 00000 n 
+0002305493 00000 n 
+0002305554 00000 n 
+0002305615 00000 n 
+0002305676 00000 n 
+0002305737 00000 n 
+0002305798 00000 n 
+0002305859 00000 n 
+0002305920 00000 n 
+0002305981 00000 n 
+0002306042 00000 n 
+0002306103 00000 n 
+0002320256 00000 n 
+0002320382 00000 n 
+0002320509 00000 n 
+0002309409 00000 n 
+0002309627 00000 n 
+0002309846 00000 n 
+0002310065 00000 n 
+0002310283 00000 n 
+0002310469 00000 n 
+0002310655 00000 n 
+0002310874 00000 n 
+0002311060 00000 n 
+0002311246 00000 n 
+0002311466 00000 n 
+0002311653 00000 n 
+0002311873 00000 n 
+0002312060 00000 n 
+0002312247 00000 n 
+0002312561 00000 n 
+0002312746 00000 n 
+0002313348 00000 n 
+0002308434 00000 n 
+0002306304 00000 n 
+0002312921 00000 n 
+0002312982 00000 n 
+0002313043 00000 n 
+0002313104 00000 n 
+0002313165 00000 n 
+0002313226 00000 n 
+0002313287 00000 n 
+0002312404 00000 n 
+0002871896 00000 n 
+0002320631 00000 n 
+0002323545 00000 n 
+0002323733 00000 n 
+0002323855 00000 n 
+0002323976 00000 n 
+0002324098 00000 n 
+0002315462 00000 n 
+0002315698 00000 n 
+0002315313 00000 n 
+0002313502 00000 n 
+0002315637 00000 n 
+0002318681 00000 n 
+0002318868 00000 n 
+0002319088 00000 n 
+0002319527 00000 n 
+0002320696 00000 n 
+0002318492 00000 n 
+0002315811 00000 n 
+0002319702 00000 n 
+0002319763 00000 n 
+0002319885 00000 n 
+0002320012 00000 n 
+0002319308 00000 n 
+0002320073 00000 n 
+0002320195 00000 n 
+0002320321 00000 n 
+0002320448 00000 n 
+0002320570 00000 n 
+0002323248 00000 n 
+0002324399 00000 n 
+0002323099 00000 n 
+0002320849 00000 n 
+0002323423 00000 n 
+0002323484 00000 n 
+0002323611 00000 n 
+0002323672 00000 n 
+0002323794 00000 n 
+0002323915 00000 n 
+0002324037 00000 n 
+0002324159 00000 n 
+0002324339 00000 n 
+0002326403 00000 n 
+0002326629 00000 n 
+0002326857 00000 n 
+0002327084 00000 n 
+0002327289 00000 n 
+0002328191 00000 n 
+0002326214 00000 n 
+0002324539 00000 n 
+0002327464 00000 n 
+0002327644 00000 n 
+0002327705 00000 n 
+0002327766 00000 n 
+0002327827 00000 n 
+0002327888 00000 n 
+0002327949 00000 n 
+0002328010 00000 n 
+0002328071 00000 n 
+0002330054 00000 n 
+0002330274 00000 n 
+0002330495 00000 n 
+0002330694 00000 n 
+0002330913 00000 n 
+0002331118 00000 n 
+0002331322 00000 n 
+0002331542 00000 n 
+0002331746 00000 n 
+0002331966 00000 n 
+0002332169 00000 n 
+0002335847 00000 n 
+0002336051 00000 n 
+0002332388 00000 n 
+0002333289 00000 n 
+0002329795 00000 n 
+0002328358 00000 n 
+0002332563 00000 n 
+0002332683 00000 n 
+0002332744 00000 n 
+0002332805 00000 n 
+0002332866 00000 n 
+0002333045 00000 n 
+0002333106 00000 n 
+0002333167 00000 n 
+0002333228 00000 n 
+0002343638 00000 n 
+0002343821 00000 n 
+0002336271 00000 n 
+0002336489 00000 n 
+0002336709 00000 n 
+0002336896 00000 n 
+0002337100 00000 n 
+0002337319 00000 n 
+0002337506 00000 n 
+0002337726 00000 n 
+0002337912 00000 n 
+0002338132 00000 n 
+0002338351 00000 n 
+0002338537 00000 n 
+0002338756 00000 n 
+0002338942 00000 n 
+0002339128 00000 n 
+0002339315 00000 n 
+0002339502 00000 n 
+0002340285 00000 n 
+0002335518 00000 n 
+0002333442 00000 n 
+0002339677 00000 n 
+0002339738 00000 n 
+0002339799 00000 n 
+0002339858 00000 n 
+0002339919 00000 n 
+0002339980 00000 n 
+0002340041 00000 n 
+0002340102 00000 n 
+0002340163 00000 n 
+0002340224 00000 n 
+0002872029 00000 n 
+0002344004 00000 n 
+0002344126 00000 n 
+0002342298 00000 n 
+0002342518 00000 n 
+0002342737 00000 n 
+0002342969 00000 n 
+0002343155 00000 n 
+0002343342 00000 n 
+0002344489 00000 n 
+0002342099 00000 n 
+0002340450 00000 n 
+0002343517 00000 n 
+0002343578 00000 n 
+0002343699 00000 n 
+0002343760 00000 n 
+0002343882 00000 n 
+0002343943 00000 n 
+0002344065 00000 n 
+0002344187 00000 n 
+0002344367 00000 n 
+0002344428 00000 n 
+0002346725 00000 n 
+0002346950 00000 n 
+0002347175 00000 n 
+0002347362 00000 n 
+0002347585 00000 n 
+0002347770 00000 n 
+0002347955 00000 n 
+0002348159 00000 n 
+0002348385 00000 n 
+0002348611 00000 n 
+0002348797 00000 n 
+0002349023 00000 n 
+0002349249 00000 n 
+0002349453 00000 n 
+0002349679 00000 n 
+0002349883 00000 n 
+0002350109 00000 n 
+0002350335 00000 n 
+0002350559 00000 n 
+0002350785 00000 n 
+0002353896 00000 n 
+0002354101 00000 n 
+0002351011 00000 n 
+0002352158 00000 n 
+0002346376 00000 n 
+0002344642 00000 n 
+0002351186 00000 n 
+0002351247 00000 n 
+0002351427 00000 n 
+0002351488 00000 n 
+0002351549 00000 n 
+0002351610 00000 n 
+0002351671 00000 n 
+0002351732 00000 n 
+0002351792 00000 n 
+0002351853 00000 n 
+0002351914 00000 n 
+0002351975 00000 n 
+0002352036 00000 n 
+0002352097 00000 n 
+0002355478 00000 n 
+0002354327 00000 n 
+0002354520 00000 n 
+0002354745 00000 n 
+0002354937 00000 n 
+0002355783 00000 n 
+0002353697 00000 n 
+0002352312 00000 n 
+0002355112 00000 n 
+0002355173 00000 n 
+0002355234 00000 n 
+0002355295 00000 n 
+0002355356 00000 n 
+0002355417 00000 n 
+0002355539 00000 n 
+0002355600 00000 n 
+0002355661 00000 n 
+0002355722 00000 n 
+0002357469 00000 n 
+0002357621 00000 n 
+0002357773 00000 n 
+0002357925 00000 n 
+0002358076 00000 n 
+0002358228 00000 n 
+0002358379 00000 n 
+0002358532 00000 n 
+0002358685 00000 n 
+0002358838 00000 n 
+0002358991 00000 n 
+0002359143 00000 n 
+0002359295 00000 n 
+0002359447 00000 n 
+0002359600 00000 n 
+0002359752 00000 n 
+0002359904 00000 n 
+0002360055 00000 n 
+0002360208 00000 n 
+0002360361 00000 n 
+0002360513 00000 n 
+0002360665 00000 n 
+0002360817 00000 n 
+0002360969 00000 n 
+0002361122 00000 n 
+0002361275 00000 n 
+0002361427 00000 n 
+0002361578 00000 n 
+0002361729 00000 n 
+0002361881 00000 n 
+0002362033 00000 n 
+0002362186 00000 n 
+0002362339 00000 n 
+0002362490 00000 n 
+0002362643 00000 n 
+0002362795 00000 n 
+0002362948 00000 n 
+0002363100 00000 n 
+0002363253 00000 n 
+0002363404 00000 n 
+0002363557 00000 n 
+0002363709 00000 n 
+0002363861 00000 n 
+0002364014 00000 n 
+0002364167 00000 n 
+0002364319 00000 n 
+0002364471 00000 n 
+0002364623 00000 n 
+0002364776 00000 n 
+0002364928 00000 n 
+0002365081 00000 n 
+0002365232 00000 n 
+0002365385 00000 n 
+0002365538 00000 n 
+0002365691 00000 n 
+0002365844 00000 n 
+0002365997 00000 n 
+0002366150 00000 n 
+0002366303 00000 n 
+0002368693 00000 n 
+0002366577 00000 n 
+0002356740 00000 n 
+0002355923 00000 n 
+0002366455 00000 n 
+0002366516 00000 n 
+0002368845 00000 n 
+0002368998 00000 n 
+0002369151 00000 n 
+0002369302 00000 n 
+0002369453 00000 n 
+0002369605 00000 n 
+0002369757 00000 n 
+0002369910 00000 n 
+0002370061 00000 n 
+0002370212 00000 n 
+0002370365 00000 n 
+0002370516 00000 n 
+0002370668 00000 n 
+0002370819 00000 n 
+0002370972 00000 n 
+0002371125 00000 n 
+0002371278 00000 n 
+0002371430 00000 n 
 0002371582 00000 n 
-0002370724 00000 n 
-0002370912 00000 n 
-0002599626 00000 n 
-0002376713 00000 n 
-0002374800 00000 n 
-0002371793 00000 n 
-0002376174 00000 n 
-0002374992 00000 n 
-0002375181 00000 n 
-0002376234 00000 n 
-0002376354 00000 n 
-0002376473 00000 n 
-0002376593 00000 n 
-0002375400 00000 n 
-0002375600 00000 n 
-0002375799 00000 n 
-0002375996 00000 n 
-0002382460 00000 n 
-0002379853 00000 n 
-0002376864 00000 n 
-0002381684 00000 n 
-0002381744 00000 n 
-0002380063 00000 n 
-0002380263 00000 n 
-0002380462 00000 n 
-0002381863 00000 n 
-0002380647 00000 n 
-0002380844 00000 n 
-0002381983 00000 n 
-0002382102 00000 n 
-0002382280 00000 n 
-0002382340 00000 n 
-0002381041 00000 n 
-0002382400 00000 n 
-0002381274 00000 n 
-0002381506 00000 n 
-0002392602 00000 n 
-0002385348 00000 n 
-0002382614 00000 n 
-0002391943 00000 n 
-0002392003 00000 n 
-0002385747 00000 n 
-0002392063 00000 n 
-0002385980 00000 n 
-0002386214 00000 n 
-0002392123 00000 n 
-0002386415 00000 n 
-0002392183 00000 n 
-0002392243 00000 n 
-0002386648 00000 n 
-0002386849 00000 n 
-0002392303 00000 n 
-0002387083 00000 n 
-0002387284 00000 n 
-0002392363 00000 n 
-0002387518 00000 n 
-0002387719 00000 n 
-0002392423 00000 n 
-0002387953 00000 n 
-0002388154 00000 n 
-0002392483 00000 n 
-0002388388 00000 n 
-0002388589 00000 n 
-0002392543 00000 n 
-0002388823 00000 n 
-0002389057 00000 n 
-0002389256 00000 n 
-0002389457 00000 n 
-0002389691 00000 n 
-0002389892 00000 n 
-0002390093 00000 n 
-0002390294 00000 n 
-0002390528 00000 n 
-0002390727 00000 n 
-0002390928 00000 n 
-0002391129 00000 n 
-0002391363 00000 n 
-0002391564 00000 n 
-0002391765 00000 n 
-0002395488 00000 n 
-0002395608 00000 n 
-0002395728 00000 n 
-0002395848 00000 n 
-0002396207 00000 n 
-0002394470 00000 n 
-0002392744 00000 n 
-0002395248 00000 n 
-0002395308 00000 n 
-0002394635 00000 n 
-0002394869 00000 n 
-0002395368 00000 n 
-0002395428 00000 n 
-0002395548 00000 n 
-0002395668 00000 n 
-0002395788 00000 n 
-0002395908 00000 n 
-0002395968 00000 n 
-0002396028 00000 n 
-0002395070 00000 n 
-0002406009 00000 n 
-0002399117 00000 n 
-0002396346 00000 n 
-0002405290 00000 n 
-0002405350 00000 n 
-0002405410 00000 n 
-0002399498 00000 n 
-0002405470 00000 n 
-0002399731 00000 n 
-0002405530 00000 n 
-0002399963 00000 n 
-0002405589 00000 n 
-0002400196 00000 n 
-0002400430 00000 n 
-0002405649 00000 n 
-0002400631 00000 n 
-0002405709 00000 n 
-0002405769 00000 n 
-0002400863 00000 n 
-0002401064 00000 n 
-0002405829 00000 n 
-0002401298 00000 n 
-0002401499 00000 n 
-0002405889 00000 n 
-0002401733 00000 n 
-0002401967 00000 n 
-0002402167 00000 n 
-0002402368 00000 n 
-0002402602 00000 n 
-0002402803 00000 n 
-0002403004 00000 n 
-0002403205 00000 n 
-0002403439 00000 n 
-0002403640 00000 n 
-0002403841 00000 n 
-0002404042 00000 n 
-0002404276 00000 n 
-0002404477 00000 n 
-0002405949 00000 n 
-0002404678 00000 n 
-0002404912 00000 n 
-0002405112 00000 n 
-0003270044 00000 n 
-0002409569 00000 n 
-0002409689 00000 n 
-0002409809 00000 n 
-0002409929 00000 n 
-0002410048 00000 n 
-0002410407 00000 n 
-0002407999 00000 n 
-0002406164 00000 n 
-0002409390 00000 n 
-0002409450 00000 n 
-0002409509 00000 n 
-0002409629 00000 n 
-0002409749 00000 n 
-0002409869 00000 n 
-0002409989 00000 n 
-0002410108 00000 n 
-0002408191 00000 n 
-0002408386 00000 n 
-0002408583 00000 n 
-0002410287 00000 n 
-0002410347 00000 n 
-0002408779 00000 n 
-0002408987 00000 n 
-0002409212 00000 n 
-0002422651 00000 n 
-0002413713 00000 n 
-0002410546 00000 n 
-0002421752 00000 n 
-0002421812 00000 n 
-0002421872 00000 n 
-0002414175 00000 n 
-0002414382 00000 n 
-0002421932 00000 n 
-0002414606 00000 n 
-0002414814 00000 n 
-0002415039 00000 n 
-0002421992 00000 n 
-0002415232 00000 n 
-0002415432 00000 n 
-0002422052 00000 n 
-0002415656 00000 n 
-0002415856 00000 n 
-0002422112 00000 n 
-0002416080 00000 n 
-0002416279 00000 n 
-0002422172 00000 n 
-0002416503 00000 n 
-0002416701 00000 n 
-0002422232 00000 n 
-0002416925 00000 n 
-0002417125 00000 n 
-0002422292 00000 n 
-0002417350 00000 n 
-0002417550 00000 n 
-0002422352 00000 n 
-0002417775 00000 n 
-0002417979 00000 n 
+0002371735 00000 n 
+0002371887 00000 n 
+0002372039 00000 n 
+0002372191 00000 n 
+0002372344 00000 n 
+0002372497 00000 n 
+0002372650 00000 n 
+0002372801 00000 n 
+0002372953 00000 n 
+0002373106 00000 n 
+0002373259 00000 n 
+0002373412 00000 n 
+0002373564 00000 n 
+0002373717 00000 n 
+0002373868 00000 n 
+0002374020 00000 n 
+0002374173 00000 n 
+0002374326 00000 n 
+0002374479 00000 n 
+0002374631 00000 n 
+0002374784 00000 n 
+0002374935 00000 n 
+0002375088 00000 n 
+0002375240 00000 n 
+0002375393 00000 n 
+0002375546 00000 n 
+0002375698 00000 n 
+0002375851 00000 n 
+0002376003 00000 n 
+0002376156 00000 n 
+0002376309 00000 n 
+0002376461 00000 n 
+0002376613 00000 n 
+0002376765 00000 n 
+0002376918 00000 n 
+0002377067 00000 n 
+0002377219 00000 n 
+0002377372 00000 n 
+0002377525 00000 n 
+0002377678 00000 n 
+0002377829 00000 n 
+0002377980 00000 n 
+0002378131 00000 n 
+0002378281 00000 n 
+0002378517 00000 n 
+0002367914 00000 n 
+0002366664 00000 n 
+0002378456 00000 n 
+0002380594 00000 n 
+0002380747 00000 n 
+0002380900 00000 n 
+0002381051 00000 n 
+0002381204 00000 n 
+0002381357 00000 n 
+0002381508 00000 n 
+0002381660 00000 n 
+0002381813 00000 n 
+0002381966 00000 n 
+0002382119 00000 n 
+0002382271 00000 n 
+0002382424 00000 n 
+0002382575 00000 n 
+0002382728 00000 n 
+0002382880 00000 n 
+0002383032 00000 n 
+0002383184 00000 n 
+0002383336 00000 n 
+0002383488 00000 n 
+0002383639 00000 n 
+0002383790 00000 n 
+0002383941 00000 n 
+0002384093 00000 n 
+0002384246 00000 n 
+0002384399 00000 n 
+0002384552 00000 n 
+0002384703 00000 n 
+0002384855 00000 n 
+0002385006 00000 n 
+0002385159 00000 n 
+0002385312 00000 n 
+0002385463 00000 n 
+0002385615 00000 n 
+0002385768 00000 n 
+0002385921 00000 n 
+0002386074 00000 n 
+0002386225 00000 n 
+0002386378 00000 n 
+0002386531 00000 n 
+0002386684 00000 n 
+0002386835 00000 n 
+0002386987 00000 n 
+0002387139 00000 n 
+0002387292 00000 n 
+0002387445 00000 n 
+0002387598 00000 n 
+0002387750 00000 n 
+0002387903 00000 n 
+0002388055 00000 n 
+0002388208 00000 n 
+0002388361 00000 n 
+0002388514 00000 n 
+0002388667 00000 n 
+0002388820 00000 n 
+0002388973 00000 n 
+0002389123 00000 n 
+0002389275 00000 n 
+0002389428 00000 n 
+0002389581 00000 n 
+0002389734 00000 n 
+0002392233 00000 n 
+0002389887 00000 n 
+0002390123 00000 n 
+0002379835 00000 n 
+0002378617 00000 n 
+0002390062 00000 n 
+0002872162 00000 n 
+0002392386 00000 n 
+0002392539 00000 n 
+0002392692 00000 n 
+0002392845 00000 n 
+0002392997 00000 n 
+0002393149 00000 n 
+0002393300 00000 n 
+0002393452 00000 n 
+0002393605 00000 n 
+0002393758 00000 n 
+0002393911 00000 n 
+0002394063 00000 n 
+0002394216 00000 n 
+0002394369 00000 n 
+0002394522 00000 n 
+0002394674 00000 n 
+0002394825 00000 n 
+0002394978 00000 n 
+0002395130 00000 n 
+0002395282 00000 n 
+0002395434 00000 n 
+0002395586 00000 n 
+0002395738 00000 n 
+0002395891 00000 n 
+0002396043 00000 n 
+0002396194 00000 n 
+0002396347 00000 n 
+0002396500 00000 n 
+0002396652 00000 n 
+0002396804 00000 n 
+0002396957 00000 n 
+0002397109 00000 n 
+0002397262 00000 n 
+0002397412 00000 n 
+0002397564 00000 n 
+0002397717 00000 n 
+0002397870 00000 n 
+0002398023 00000 n 
+0002398176 00000 n 
+0002398327 00000 n 
+0002398476 00000 n 
+0002398628 00000 n 
+0002398781 00000 n 
+0002398934 00000 n 
+0002399084 00000 n 
+0002399237 00000 n 
+0002399387 00000 n 
+0002399540 00000 n 
+0002399693 00000 n 
+0002399846 00000 n 
+0002399998 00000 n 
+0002400151 00000 n 
+0002400304 00000 n 
+0002400457 00000 n 
+0002400610 00000 n 
+0002403153 00000 n 
+0002400763 00000 n 
+0002400999 00000 n 
+0002391524 00000 n 
+0002390223 00000 n 
+0002400938 00000 n 
+0002403306 00000 n 
+0002403457 00000 n 
+0002403610 00000 n 
+0002403763 00000 n 
+0002403916 00000 n 
+0002404069 00000 n 
+0002404220 00000 n 
+0002404373 00000 n 
+0002404526 00000 n 
+0002404679 00000 n 
+0002404832 00000 n 
+0002404985 00000 n 
+0002405135 00000 n 
+0002405288 00000 n 
+0002405441 00000 n 
+0002405594 00000 n 
+0002405747 00000 n 
+0002405899 00000 n 
+0002406051 00000 n 
+0002406203 00000 n 
+0002406356 00000 n 
+0002406509 00000 n 
+0002406661 00000 n 
+0002406812 00000 n 
+0002406963 00000 n 
+0002407116 00000 n 
+0002407268 00000 n 
+0002407420 00000 n 
+0002407573 00000 n 
+0002407726 00000 n 
+0002407879 00000 n 
+0002408032 00000 n 
+0002408185 00000 n 
+0002408338 00000 n 
+0002408491 00000 n 
+0002408644 00000 n 
+0002408797 00000 n 
+0002408949 00000 n 
+0002409101 00000 n 
+0002409253 00000 n 
+0002409405 00000 n 
+0002409557 00000 n 
+0002409709 00000 n 
+0002409861 00000 n 
+0002410013 00000 n 
+0002410165 00000 n 
+0002410318 00000 n 
+0002410471 00000 n 
+0002410624 00000 n 
+0002410777 00000 n 
+0002410927 00000 n 
+0002411077 00000 n 
+0002411229 00000 n 
+0002411381 00000 n 
+0002411534 00000 n 
+0002411687 00000 n 
+0002411840 00000 n 
+0002411993 00000 n 
+0002412146 00000 n 
+0002412299 00000 n 
+0002412452 00000 n 
+0002412605 00000 n 
+0002415089 00000 n 
+0002412756 00000 n 
+0002412992 00000 n 
+0002402374 00000 n 
+0002401099 00000 n 
+0002412931 00000 n 
+0002415242 00000 n 
+0002415394 00000 n 
+0002415547 00000 n 
+0002415700 00000 n 
+0002415853 00000 n 
+0002416005 00000 n 
+0002416156 00000 n 
+0002416309 00000 n 
+0002416462 00000 n 
+0002416615 00000 n 
+0002416767 00000 n 
+0002416919 00000 n 
+0002417071 00000 n 
+0002417223 00000 n 
+0002417376 00000 n 
+0002417527 00000 n 
+0002417679 00000 n 
+0002417831 00000 n 
+0002417982 00000 n 
+0002418135 00000 n 
+0002418288 00000 n 
+0002418441 00000 n 
+0002418594 00000 n 
+0002418746 00000 n 
+0002418899 00000 n 
+0002419052 00000 n 
+0002419205 00000 n 
+0002419358 00000 n 
+0002419510 00000 n 
+0002419663 00000 n 
+0002419816 00000 n 
+0002419969 00000 n 
+0002420121 00000 n 
+0002420274 00000 n 
+0002420427 00000 n 
+0002420579 00000 n 
+0002420732 00000 n 
+0002420884 00000 n 
+0002421037 00000 n 
+0002421190 00000 n 
+0002421343 00000 n 
+0002421495 00000 n 
+0002421648 00000 n 
+0002421800 00000 n 
+0002421952 00000 n 
+0002422105 00000 n 
+0002422258 00000 n 
 0002422411 00000 n 
-0002418204 00000 n 
-0002418408 00000 n 
-0002418633 00000 n 
-0002418834 00000 n 
-0002419059 00000 n 
-0002419251 00000 n 
-0002419452 00000 n 
-0002419677 00000 n 
-0002419868 00000 n 
-0002420069 00000 n 
-0002420294 00000 n 
-0002422471 00000 n 
-0002420486 00000 n 
-0002422531 00000 n 
-0002420711 00000 n 
-0002422591 00000 n 
-0002420936 00000 n 
-0002421161 00000 n 
-0002421384 00000 n 
-0002421574 00000 n 
-0002525195 00000 n 
-0002525315 00000 n 
-0002525435 00000 n 
-0002525553 00000 n 
-0002434335 00000 n 
-0002426315 00000 n 
-0002422792 00000 n 
-0002434095 00000 n 
-0002434155 00000 n 
-0002426768 00000 n 
-0002434215 00000 n 
-0002426993 00000 n 
-0002434275 00000 n 
-0002427217 00000 n 
-0002427442 00000 n 
-0002427667 00000 n 
-0002427856 00000 n 
-0002428078 00000 n 
-0002428275 00000 n 
-0002428499 00000 n 
-0002428698 00000 n 
-0002428923 00000 n 
-0002429123 00000 n 
-0002429331 00000 n 
-0002429539 00000 n 
-0002429764 00000 n 
-0002429964 00000 n 
-0002430172 00000 n 
-0002430380 00000 n 
-0002430571 00000 n 
-0002430796 00000 n 
-0002430996 00000 n 
-0002431204 00000 n 
-0002431412 00000 n 
-0002431637 00000 n 
-0002431837 00000 n 
-0002432045 00000 n 
-0002432253 00000 n 
-0002432443 00000 n 
-0002432668 00000 n 
-0002432860 00000 n 
-0002433085 00000 n 
-0002433277 00000 n 
-0002433501 00000 n 
-0002433726 00000 n 
-0002433917 00000 n 
-0002525673 00000 n 
-0002525793 00000 n 
-0002525913 00000 n 
-0002528849 00000 n 
-0002528970 00000 n 
-0002529096 00000 n 
-0002532096 00000 n 
-0002532225 00000 n 
-0002532353 00000 n 
-0002535150 00000 n 
-0002535273 00000 n 
-0002445766 00000 n 
-0002437912 00000 n 
-0002434462 00000 n 
-0002445706 00000 n 
-0002438365 00000 n 
-0002438590 00000 n 
-0002438781 00000 n 
-0002439006 00000 n 
-0002439196 00000 n 
-0002439418 00000 n 
-0002439605 00000 n 
-0002439829 00000 n 
-0002440021 00000 n 
-0002440246 00000 n 
-0002440437 00000 n 
-0002440662 00000 n 
-0002440862 00000 n 
-0002441086 00000 n 
-0002441286 00000 n 
-0002441510 00000 n 
-0002441710 00000 n 
-0002441934 00000 n 
-0002442134 00000 n 
-0002442359 00000 n 
-0002442558 00000 n 
-0002442783 00000 n 
-0002442982 00000 n 
-0002443207 00000 n 
-0002443406 00000 n 
-0002443631 00000 n 
-0002443830 00000 n 
-0002444055 00000 n 
-0002444255 00000 n 
-0002444480 00000 n 
-0002444680 00000 n 
-0002444905 00000 n 
-0002445105 00000 n 
-0002445329 00000 n 
-0002445528 00000 n 
-0002538824 00000 n 
-0002539070 00000 n 
-0002542278 00000 n 
-0002542401 00000 n 
-0002546139 00000 n 
-0002546262 00000 n 
-0002552926 00000 n 
-0002553172 00000 n 
-0002458908 00000 n 
-0002449903 00000 n 
-0002445893 00000 n 
-0002458728 00000 n 
-0002450410 00000 n 
-0002450635 00000 n 
-0002450827 00000 n 
-0002451051 00000 n 
-0002451242 00000 n 
-0002451467 00000 n 
-0002451667 00000 n 
-0002451892 00000 n 
+0002422564 00000 n 
+0002422717 00000 n 
+0002422866 00000 n 
+0002423015 00000 n 
+0002423168 00000 n 
+0002423321 00000 n 
+0002423474 00000 n 
+0002423627 00000 n 
+0002426291 00000 n 
+0002423779 00000 n 
+0002424015 00000 n 
+0002414370 00000 n 
+0002413092 00000 n 
+0002423954 00000 n 
+0002426444 00000 n 
+0002426597 00000 n 
+0002426749 00000 n 
+0002426901 00000 n 
+0002427053 00000 n 
+0002427205 00000 n 
+0002427357 00000 n 
+0002427510 00000 n 
+0002427662 00000 n 
+0002427815 00000 n 
+0002427968 00000 n 
+0002428121 00000 n 
+0002428273 00000 n 
+0002428423 00000 n 
+0002428576 00000 n 
+0002428729 00000 n 
+0002428882 00000 n 
+0002429035 00000 n 
+0002429187 00000 n 
+0002429339 00000 n 
+0002429491 00000 n 
+0002429642 00000 n 
+0002429795 00000 n 
+0002429948 00000 n 
+0002430100 00000 n 
+0002430253 00000 n 
+0002430406 00000 n 
+0002430559 00000 n 
+0002430711 00000 n 
+0002430863 00000 n 
+0002431015 00000 n 
+0002431165 00000 n 
+0002431318 00000 n 
+0002431471 00000 n 
+0002431624 00000 n 
+0002431777 00000 n 
+0002431930 00000 n 
+0002432082 00000 n 
+0002432234 00000 n 
+0002432385 00000 n 
+0002432538 00000 n 
+0002432691 00000 n 
+0002432844 00000 n 
+0002432994 00000 n 
+0002433147 00000 n 
+0002433300 00000 n 
+0002433453 00000 n 
+0002433606 00000 n 
+0002433758 00000 n 
+0002433910 00000 n 
+0002434062 00000 n 
+0002434214 00000 n 
+0002434364 00000 n 
+0002434517 00000 n 
+0002434670 00000 n 
+0002434823 00000 n 
+0002434975 00000 n 
+0002435127 00000 n 
+0002435280 00000 n 
+0002435432 00000 n 
+0002435585 00000 n 
+0002435737 00000 n 
+0002435890 00000 n 
+0002436043 00000 n 
+0002436196 00000 n 
+0002438637 00000 n 
+0002436348 00000 n 
+0002436584 00000 n 
+0002425482 00000 n 
+0002424115 00000 n 
+0002436523 00000 n 
+0002438790 00000 n 
+0002438943 00000 n 
+0002439096 00000 n 
+0002439248 00000 n 
+0002439401 00000 n 
+0002439553 00000 n 
+0002439705 00000 n 
+0002439858 00000 n 
+0002440011 00000 n 
+0002440163 00000 n 
+0002440315 00000 n 
+0002440468 00000 n 
+0002440621 00000 n 
+0002440774 00000 n 
+0002440927 00000 n 
+0002441080 00000 n 
+0002441232 00000 n 
+0002441385 00000 n 
+0002441538 00000 n 
+0002441691 00000 n 
+0002441844 00000 n 
+0002441996 00000 n 
+0002442149 00000 n 
+0002442301 00000 n 
+0002442454 00000 n 
+0002442607 00000 n 
+0002442760 00000 n 
+0002442913 00000 n 
+0002443066 00000 n 
+0002443218 00000 n 
+0002443371 00000 n 
+0002443523 00000 n 
+0002443676 00000 n 
+0002443828 00000 n 
+0002443981 00000 n 
+0002444133 00000 n 
+0002444285 00000 n 
+0002444437 00000 n 
+0002444589 00000 n 
+0002444741 00000 n 
+0002444893 00000 n 
+0002445045 00000 n 
+0002445198 00000 n 
+0002445351 00000 n 
+0002445503 00000 n 
+0002445655 00000 n 
+0002445808 00000 n 
+0002445961 00000 n 
+0002446114 00000 n 
+0002446267 00000 n 
+0002446419 00000 n 
+0002446572 00000 n 
+0002446725 00000 n 
+0002446878 00000 n 
+0002447031 00000 n 
+0002447184 00000 n 
+0002447336 00000 n 
+0002447488 00000 n 
+0002447641 00000 n 
+0002447793 00000 n 
+0002451023 00000 n 
+0002447943 00000 n 
+0002448179 00000 n 
+0002437878 00000 n 
+0002436697 00000 n 
+0002448118 00000 n 
+0002451176 00000 n 
+0002451329 00000 n 
+0002451481 00000 n 
+0002451633 00000 n 
+0002451786 00000 n 
+0002451939 00000 n 
 0002452092 00000 n 
-0002452315 00000 n 
-0002452502 00000 n 
-0002452671 00000 n 
-0002452896 00000 n 
-0002453092 00000 n 
-0002453258 00000 n 
-0002453482 00000 n 
-0002453673 00000 n 
-0002453898 00000 n 
-0002454090 00000 n 
-0002454315 00000 n 
-0002454507 00000 n 
-0002454732 00000 n 
-0002458788 00000 n 
-0002454924 00000 n 
-0002455149 00000 n 
-0002455341 00000 n 
-0002455566 00000 n 
-0002455758 00000 n 
-0002458848 00000 n 
-0002455939 00000 n 
-0002456164 00000 n 
-0002456355 00000 n 
-0002456580 00000 n 
-0002456772 00000 n 
-0002456955 00000 n 
-0002457179 00000 n 
-0002457369 00000 n 
-0002457569 00000 n 
-0002457752 00000 n 
-0002457977 00000 n 
-0002458167 00000 n 
-0002458367 00000 n 
-0002458550 00000 n 
-0002556314 00000 n 
-0002556436 00000 n 
-0002559376 00000 n 
-0002559499 00000 n 
-0002559622 00000 n 
-0002559745 00000 n 
-0002562758 00000 n 
-0002563003 00000 n 
-0002567154 00000 n 
-0002567276 00000 n 
-0002567398 00000 n 
-0002567521 00000 n 
-0002475788 00000 n 
-0002463853 00000 n 
-0002459035 00000 n 
-0002475608 00000 n 
-0002464495 00000 n 
-0002464720 00000 n 
-0002464910 00000 n 
-0002465118 00000 n 
-0002465318 00000 n 
-0002465497 00000 n 
-0002465718 00000 n 
-0002465904 00000 n 
-0002466109 00000 n 
-0002466306 00000 n 
-0002466506 00000 n 
-0002466687 00000 n 
-0002466912 00000 n 
-0002467112 00000 n 
-0002467320 00000 n 
-0002467520 00000 n 
-0002467701 00000 n 
-0002467925 00000 n 
-0002468124 00000 n 
-0002468332 00000 n 
-0002468532 00000 n 
-0002468711 00000 n 
-0002468935 00000 n 
-0002469124 00000 n 
-0002469323 00000 n 
-0002469522 00000 n 
-0002469722 00000 n 
-0002469913 00000 n 
-0002470137 00000 n 
-0002470326 00000 n 
-0002470525 00000 n 
-0002470725 00000 n 
-0002470925 00000 n 
-0002471116 00000 n 
-0002471341 00000 n 
-0002471533 00000 n 
-0002475668 00000 n 
-0002471706 00000 n 
-0002471931 00000 n 
-0002472156 00000 n 
-0002472348 00000 n 
-0002472516 00000 n 
-0002472741 00000 n 
-0002472933 00000 n 
-0002473133 00000 n 
-0002473306 00000 n 
-0002473473 00000 n 
-0002473698 00000 n 
-0002473890 00000 n 
-0002474090 00000 n 
-0002474264 00000 n 
-0002474431 00000 n 
-0002474656 00000 n 
-0002474848 00000 n 
-0002475728 00000 n 
-0002475013 00000 n 
-0002475238 00000 n 
-0002475430 00000 n 
-0003270170 00000 n 
-0002571797 00000 n 
-0002571920 00000 n 
-0002576663 00000 n 
-0002576785 00000 n 
-0002576908 00000 n 
-0002581103 00000 n 
-0002581226 00000 n 
-0002581349 00000 n 
-0002585880 00000 n 
-0002586002 00000 n 
-0002586125 00000 n 
-0002487664 00000 n 
-0002479840 00000 n 
-0002475984 00000 n 
-0002487424 00000 n 
-0002480293 00000 n 
-0002480517 00000 n 
-0002480708 00000 n 
-0002480907 00000 n 
-0002481079 00000 n 
-0002481243 00000 n 
-0002481468 00000 n 
-0002481660 00000 n 
-0002481860 00000 n 
-0002482034 00000 n 
-0002482198 00000 n 
-0002482423 00000 n 
-0002482631 00000 n 
-0002482856 00000 n 
-0002483064 00000 n 
-0002483289 00000 n 
-0002483477 00000 n 
-0002483652 00000 n 
-0002483877 00000 n 
-0002484072 00000 n 
-0002484297 00000 n 
-0002484505 00000 n 
-0002484730 00000 n 
-0002484925 00000 n 
-0002485149 00000 n 
-0002485338 00000 n 
-0002485545 00000 n 
-0002485770 00000 n 
-0002485966 00000 n 
-0002487484 00000 n 
-0002486156 00000 n 
-0002486381 00000 n 
-0002486606 00000 n 
-0002487544 00000 n 
-0002486798 00000 n 
-0002487604 00000 n 
-0002487022 00000 n 
-0002487246 00000 n 
-0002590791 00000 n 
-0002590914 00000 n 
-0002591037 00000 n 
-0002595404 00000 n 
-0002595527 00000 n 
-0002595650 00000 n 
-0002595773 00000 n 
-0002599749 00000 n 
-0002604541 00000 n 
-0002604669 00000 n 
-0002498338 00000 n 
-0002491027 00000 n 
-0002487818 00000 n 
-0002497620 00000 n 
-0002497680 00000 n 
-0002491426 00000 n 
-0002497739 00000 n 
-0002491651 00000 n 
-0002491876 00000 n 
-0002497799 00000 n 
-0002492100 00000 n 
-0002492308 00000 n 
-0002497859 00000 n 
-0002492533 00000 n 
-0002492739 00000 n 
-0002492962 00000 n 
-0002497919 00000 n 
-0002497979 00000 n 
-0002493187 00000 n 
-0002493395 00000 n 
-0002493620 00000 n 
-0002498039 00000 n 
-0002493812 00000 n 
-0002498099 00000 n 
-0002494036 00000 n 
-0002498158 00000 n 
-0002494261 00000 n 
-0002498218 00000 n 
-0002494485 00000 n 
-0002498278 00000 n 
-0002494709 00000 n 
-0002494934 00000 n 
-0002495142 00000 n 
-0002495350 00000 n 
-0002495575 00000 n 
-0002495767 00000 n 
-0002495975 00000 n 
-0002496199 00000 n 
-0002496398 00000 n 
-0002496623 00000 n 
-0002496823 00000 n 
-0002497020 00000 n 
-0002497244 00000 n 
-0002497442 00000 n 
-0002604798 00000 n 
-0002519394 00000 n 
-0002519514 00000 n 
-0002519634 00000 n 
-0002519758 00000 n 
-0002519878 00000 n 
-0002507665 00000 n 
-0002502135 00000 n 
-0002498480 00000 n 
-0002507426 00000 n 
-0002502498 00000 n 
-0002502723 00000 n 
-0002502922 00000 n 
-0002503119 00000 n 
-0002503344 00000 n 
-0002503529 00000 n 
-0002503719 00000 n 
-0002507486 00000 n 
-0002503927 00000 n 
-0002504119 00000 n 
-0002504342 00000 n 
-0002507546 00000 n 
-0002504534 00000 n 
-0002504759 00000 n 
-0002504951 00000 n 
-0002505176 00000 n 
-0002505368 00000 n 
-0002505560 00000 n 
-0002505785 00000 n 
-0002505977 00000 n 
-0002507605 00000 n 
-0002506169 00000 n 
-0002506360 00000 n 
-0002506527 00000 n 
-0002506720 00000 n 
-0002506917 00000 n 
-0002507084 00000 n 
-0002507248 00000 n 
-0002522627 00000 n 
-0002522747 00000 n 
-0002604982 00000 n 
-0002605105 00000 n 
-0002612519 00000 n 
-0002510309 00000 n 
-0002509924 00000 n 
-0002507858 00000 n 
-0002510249 00000 n 
-0002510071 00000 n 
-0002513547 00000 n 
-0002513162 00000 n 
-0002510459 00000 n 
-0002513487 00000 n 
-0002513309 00000 n 
-0002516713 00000 n 
-0002516328 00000 n 
-0002513721 00000 n 
-0002516653 00000 n 
+0002452245 00000 n 
+0002452397 00000 n 
+0002452550 00000 n 
+0002452701 00000 n 
+0002452854 00000 n 
+0002453007 00000 n 
+0002453160 00000 n 
+0002453313 00000 n 
+0002453465 00000 n 
+0002453618 00000 n 
+0002453771 00000 n 
+0002453924 00000 n 
+0002454076 00000 n 
+0002454228 00000 n 
+0002454381 00000 n 
+0002454533 00000 n 
+0002454685 00000 n 
+0002454837 00000 n 
+0002454989 00000 n 
+0002455141 00000 n 
+0002455292 00000 n 
+0002455444 00000 n 
+0002455595 00000 n 
+0002455746 00000 n 
+0002455896 00000 n 
+0002456046 00000 n 
+0002456198 00000 n 
+0002456350 00000 n 
+0002456502 00000 n 
+0002456654 00000 n 
+0002456806 00000 n 
+0002456957 00000 n 
+0002457109 00000 n 
+0002457260 00000 n 
+0002457412 00000 n 
+0002457563 00000 n 
+0002457716 00000 n 
+0002457869 00000 n 
+0002458020 00000 n 
+0002458172 00000 n 
+0002458323 00000 n 
+0002458474 00000 n 
+0002458627 00000 n 
+0002458778 00000 n 
+0002458931 00000 n 
+0002459083 00000 n 
+0002459235 00000 n 
+0002459388 00000 n 
+0002459541 00000 n 
+0002459693 00000 n 
+0002459846 00000 n 
+0002459997 00000 n 
+0002460149 00000 n 
+0002460301 00000 n 
+0002460453 00000 n 
+0002460606 00000 n 
+0002460758 00000 n 
+0002460910 00000 n 
+0002461063 00000 n 
+0002461216 00000 n 
+0002461368 00000 n 
+0002461520 00000 n 
+0002461671 00000 n 
+0002461823 00000 n 
+0002461974 00000 n 
+0002462126 00000 n 
+0002462279 00000 n 
+0002462431 00000 n 
+0002462583 00000 n 
+0002462736 00000 n 
+0002462888 00000 n 
+0002463039 00000 n 
+0002463191 00000 n 
+0002463344 00000 n 
+0002463496 00000 n 
+0002463648 00000 n 
+0002463799 00000 n 
+0002463949 00000 n 
+0002464097 00000 n 
+0002464248 00000 n 
+0002464400 00000 n 
+0002464553 00000 n 
+0002464705 00000 n 
+0002468078 00000 n 
+0002464855 00000 n 
+0002465091 00000 n 
+0002449964 00000 n 
+0002448305 00000 n 
+0002465030 00000 n 
+0002872295 00000 n 
+0002468230 00000 n 
+0002468382 00000 n 
+0002468535 00000 n 
+0002468687 00000 n 
+0002468839 00000 n 
+0002468990 00000 n 
+0002469142 00000 n 
+0002469295 00000 n 
+0002469447 00000 n 
+0002469600 00000 n 
+0002469752 00000 n 
+0002469905 00000 n 
+0002470057 00000 n 
+0002470209 00000 n 
+0002470362 00000 n 
+0002470515 00000 n 
+0002470667 00000 n 
+0002470819 00000 n 
+0002470972 00000 n 
+0002471125 00000 n 
+0002471278 00000 n 
+0002471431 00000 n 
+0002471583 00000 n 
+0002471735 00000 n 
+0002471888 00000 n 
+0002472040 00000 n 
+0002472191 00000 n 
+0002472344 00000 n 
+0002472497 00000 n 
+0002472650 00000 n 
+0002472803 00000 n 
+0002472956 00000 n 
+0002473109 00000 n 
+0002473261 00000 n 
+0002473414 00000 n 
+0002473566 00000 n 
+0002473719 00000 n 
+0002473872 00000 n 
+0002474024 00000 n 
+0002474177 00000 n 
+0002474330 00000 n 
+0002474482 00000 n 
+0002474635 00000 n 
+0002474787 00000 n 
+0002474940 00000 n 
+0002475092 00000 n 
+0002475243 00000 n 
+0002475396 00000 n 
+0002475549 00000 n 
+0002475702 00000 n 
+0002475855 00000 n 
+0002476007 00000 n 
+0002476160 00000 n 
+0002476312 00000 n 
+0002476463 00000 n 
+0002476615 00000 n 
+0002476768 00000 n 
+0002476921 00000 n 
+0002477073 00000 n 
+0002477226 00000 n 
+0002477378 00000 n 
+0002477531 00000 n 
+0002477683 00000 n 
+0002477836 00000 n 
+0002477987 00000 n 
+0002478139 00000 n 
+0002478292 00000 n 
+0002478444 00000 n 
+0002478596 00000 n 
+0002478748 00000 n 
+0002478901 00000 n 
+0002479054 00000 n 
+0002479206 00000 n 
+0002479359 00000 n 
+0002479512 00000 n 
+0002479665 00000 n 
+0002479818 00000 n 
+0002479971 00000 n 
+0002480124 00000 n 
+0002480277 00000 n 
+0002480430 00000 n 
+0002480583 00000 n 
+0002480736 00000 n 
+0002480889 00000 n 
+0002481042 00000 n 
+0002481194 00000 n 
+0002481347 00000 n 
+0002481500 00000 n 
+0002481653 00000 n 
+0002481806 00000 n 
+0002481958 00000 n 
+0002482111 00000 n 
+0002482263 00000 n 
+0002482416 00000 n 
+0002482569 00000 n 
+0002482721 00000 n 
+0002482874 00000 n 
+0002483027 00000 n 
+0002483179 00000 n 
+0002483332 00000 n 
+0002483484 00000 n 
+0002483637 00000 n 
+0002483789 00000 n 
+0002483942 00000 n 
+0002484095 00000 n 
+0002484248 00000 n 
+0002484400 00000 n 
+0002484553 00000 n 
+0002484704 00000 n 
+0002484856 00000 n 
+0002488078 00000 n 
+0002485007 00000 n 
+0002485243 00000 n 
+0002466819 00000 n 
+0002465204 00000 n 
+0002485182 00000 n 
+0002488231 00000 n 
+0002488384 00000 n 
+0002488537 00000 n 
+0002488690 00000 n 
+0002488843 00000 n 
+0002488995 00000 n 
+0002489148 00000 n 
+0002489300 00000 n 
+0002489452 00000 n 
+0002489604 00000 n 
+0002489757 00000 n 
+0002489909 00000 n 
+0002490060 00000 n 
+0002490212 00000 n 
+0002490364 00000 n 
+0002490517 00000 n 
+0002490668 00000 n 
+0002490821 00000 n 
+0002490973 00000 n 
+0002491125 00000 n 
+0002491278 00000 n 
+0002491431 00000 n 
+0002491583 00000 n 
+0002491736 00000 n 
+0002491889 00000 n 
+0002492041 00000 n 
+0002492194 00000 n 
+0002492347 00000 n 
+0002492500 00000 n 
+0002492653 00000 n 
+0002492806 00000 n 
+0002492959 00000 n 
+0002493110 00000 n 
+0002493262 00000 n 
+0002493415 00000 n 
+0002493566 00000 n 
+0002493718 00000 n 
+0002493871 00000 n 
+0002494022 00000 n 
+0002494175 00000 n 
+0002494328 00000 n 
+0002494480 00000 n 
+0002494632 00000 n 
+0002494783 00000 n 
+0002494935 00000 n 
+0002495088 00000 n 
+0002495241 00000 n 
+0002495394 00000 n 
+0002495547 00000 n 
+0002495700 00000 n 
+0002495851 00000 n 
+0002496001 00000 n 
+0002496154 00000 n 
+0002496306 00000 n 
+0002496459 00000 n 
+0002496612 00000 n 
+0002496764 00000 n 
+0002496917 00000 n 
+0002497068 00000 n 
+0002497220 00000 n 
+0002497373 00000 n 
+0002497524 00000 n 
+0002497677 00000 n 
+0002497830 00000 n 
+0002497982 00000 n 
+0002498134 00000 n 
+0002498287 00000 n 
+0002498438 00000 n 
+0002498591 00000 n 
+0002498744 00000 n 
+0002498896 00000 n 
+0002499049 00000 n 
+0002499200 00000 n 
+0002499352 00000 n 
+0002499505 00000 n 
+0002499658 00000 n 
+0002499811 00000 n 
+0002499964 00000 n 
+0002500116 00000 n 
+0002500269 00000 n 
+0002500422 00000 n 
+0002500575 00000 n 
+0002500728 00000 n 
+0002500881 00000 n 
+0002501034 00000 n 
+0002501186 00000 n 
+0002501339 00000 n 
+0002501492 00000 n 
+0002501644 00000 n 
+0002501797 00000 n 
+0002501949 00000 n 
+0002502100 00000 n 
+0002502252 00000 n 
+0002502404 00000 n 
+0002502557 00000 n 
+0002502707 00000 n 
+0002502860 00000 n 
+0002503012 00000 n 
+0002503165 00000 n 
+0002503318 00000 n 
+0002503471 00000 n 
+0002503623 00000 n 
+0002503776 00000 n 
+0002503929 00000 n 
+0002504081 00000 n 
+0002504234 00000 n 
+0002507632 00000 n 
+0002504386 00000 n 
+0002504622 00000 n 
+0002486859 00000 n 
+0002485356 00000 n 
+0002504561 00000 n 
+0002507785 00000 n 
+0002507937 00000 n 
+0002508090 00000 n 
+0002508243 00000 n 
+0002508396 00000 n 
+0002508547 00000 n 
+0002508700 00000 n 
+0002508852 00000 n 
+0002509005 00000 n 
+0002509158 00000 n 
+0002509309 00000 n 
+0002509462 00000 n 
+0002509615 00000 n 
+0002509768 00000 n 
+0002509920 00000 n 
+0002510073 00000 n 
+0002510226 00000 n 
+0002510379 00000 n 
+0002510532 00000 n 
+0002510685 00000 n 
+0002510838 00000 n 
+0002510991 00000 n 
+0002511144 00000 n 
+0002511297 00000 n 
+0002511450 00000 n 
+0002511603 00000 n 
+0002511756 00000 n 
+0002511908 00000 n 
+0002512061 00000 n 
+0002512213 00000 n 
+0002512365 00000 n 
+0002512518 00000 n 
+0002512671 00000 n 
+0002512824 00000 n 
+0002512976 00000 n 
+0002513129 00000 n 
+0002513281 00000 n 
+0002513434 00000 n 
+0002513586 00000 n 
+0002513737 00000 n 
+0002513890 00000 n 
+0002514043 00000 n 
+0002514194 00000 n 
+0002514347 00000 n 
+0002514495 00000 n 
+0002514646 00000 n 
+0002514799 00000 n 
+0002514951 00000 n 
+0002515104 00000 n 
+0002515257 00000 n 
+0002515410 00000 n 
+0002515562 00000 n 
+0002515715 00000 n 
+0002515867 00000 n 
+0002516018 00000 n 
+0002516171 00000 n 
+0002516323 00000 n 
 0002516475 00000 n 
-0003270296 00000 n 
-0002519937 00000 n 
-0002518950 00000 n 
-0002516900 00000 n 
-0002519275 00000 n 
-0002519335 00000 n 
-0002519454 00000 n 
-0002519574 00000 n 
-0002519698 00000 n 
-0002519818 00000 n 
-0002519097 00000 n 
-0002522867 00000 n 
-0002522183 00000 n 
-0002520050 00000 n 
-0002522508 00000 n 
-0002522568 00000 n 
-0002522687 00000 n 
-0002522807 00000 n 
-0002522330 00000 n 
-0002525972 00000 n 
-0002524751 00000 n 
-0002522993 00000 n 
-0002525076 00000 n 
-0002525136 00000 n 
-0002525255 00000 n 
-0002525375 00000 n 
-0002525495 00000 n 
-0002525613 00000 n 
-0002525733 00000 n 
-0002525853 00000 n 
-0002524898 00000 n 
-0002529161 00000 n 
-0002528402 00000 n 
-0002526098 00000 n 
-0002528729 00000 n 
-0002528789 00000 n 
-0002528909 00000 n 
-0002529035 00000 n 
-0002528550 00000 n 
-0002532412 00000 n 
-0002531643 00000 n 
-0002529287 00000 n 
-0002531973 00000 n 
-0002532035 00000 n 
-0002532163 00000 n 
-0002532291 00000 n 
-0002531794 00000 n 
-0002535524 00000 n 
-0002534696 00000 n 
-0002532539 00000 n 
-0002535027 00000 n 
-0002535089 00000 n 
-0002535211 00000 n 
-0002535340 00000 n 
-0002535462 00000 n 
-0002534848 00000 n 
-0003270423 00000 n 
-0002539314 00000 n 
-0002537642 00000 n 
-0002535651 00000 n 
-0002538762 00000 n 
-0002537834 00000 n 
-0002538010 00000 n 
-0002538885 00000 n 
+0002516628 00000 n 
+0002516781 00000 n 
+0002516934 00000 n 
+0002517086 00000 n 
+0002517239 00000 n 
+0002517391 00000 n 
+0002517544 00000 n 
+0002517697 00000 n 
+0002517849 00000 n 
+0002518002 00000 n 
+0002518154 00000 n 
+0002518307 00000 n 
+0002518459 00000 n 
+0002518612 00000 n 
+0002518765 00000 n 
+0002518918 00000 n 
+0002519070 00000 n 
+0002519223 00000 n 
+0002519376 00000 n 
+0002519529 00000 n 
+0002519682 00000 n 
+0002519835 00000 n 
+0002519988 00000 n 
+0002520141 00000 n 
+0002520294 00000 n 
+0002520447 00000 n 
+0002520599 00000 n 
+0002520751 00000 n 
+0002520904 00000 n 
+0002521056 00000 n 
+0002521207 00000 n 
+0002521359 00000 n 
+0002521512 00000 n 
+0002521665 00000 n 
+0002521816 00000 n 
+0002521968 00000 n 
+0002522120 00000 n 
+0002522272 00000 n 
+0002522425 00000 n 
+0002522578 00000 n 
+0002522731 00000 n 
+0002522883 00000 n 
+0002523036 00000 n 
+0002523189 00000 n 
+0002523341 00000 n 
+0002523492 00000 n 
+0002526963 00000 n 
+0002527115 00000 n 
+0002523643 00000 n 
+0002523879 00000 n 
+0002506433 00000 n 
+0002504735 00000 n 
+0002523818 00000 n 
+0002527268 00000 n 
+0002527420 00000 n 
+0002527573 00000 n 
+0002527725 00000 n 
+0002527878 00000 n 
+0002528029 00000 n 
+0002528182 00000 n 
+0002528333 00000 n 
+0002528486 00000 n 
+0002528638 00000 n 
+0002528791 00000 n 
+0002528944 00000 n 
+0002529096 00000 n 
+0002529249 00000 n 
+0002529402 00000 n 
+0002529555 00000 n 
+0002529707 00000 n 
+0002529859 00000 n 
+0002530012 00000 n 
+0002530165 00000 n 
+0002530317 00000 n 
+0002530470 00000 n 
+0002530622 00000 n 
+0002530775 00000 n 
+0002530927 00000 n 
+0002531080 00000 n 
+0002531233 00000 n 
+0002531386 00000 n 
+0002531539 00000 n 
+0002531691 00000 n 
+0002531844 00000 n 
+0002531997 00000 n 
+0002532149 00000 n 
+0002532302 00000 n 
+0002532455 00000 n 
+0002532607 00000 n 
+0002532758 00000 n 
+0002532911 00000 n 
+0002533063 00000 n 
+0002533216 00000 n 
+0002533368 00000 n 
+0002533521 00000 n 
+0002533673 00000 n 
+0002533826 00000 n 
+0002533979 00000 n 
+0002534131 00000 n 
+0002534282 00000 n 
+0002534435 00000 n 
+0002534587 00000 n 
+0002534740 00000 n 
+0002534893 00000 n 
+0002535046 00000 n 
+0002535199 00000 n 
+0002535352 00000 n 
+0002535505 00000 n 
+0002535657 00000 n 
+0002535808 00000 n 
+0002535961 00000 n 
+0002536113 00000 n 
+0002536266 00000 n 
+0002536417 00000 n 
+0002536569 00000 n 
+0002536721 00000 n 
+0002536874 00000 n 
+0002537026 00000 n 
+0002537178 00000 n 
+0002537331 00000 n 
+0002537482 00000 n 
+0002537634 00000 n 
+0002537787 00000 n 
+0002537940 00000 n 
+0002538093 00000 n 
+0002538245 00000 n 
+0002538398 00000 n 
+0002538551 00000 n 
+0002538702 00000 n 
+0002538855 00000 n 
 0002539008 00000 n 
-0002538209 00000 n 
-0002538385 00000 n 
-0002539131 00000 n 
-0002539254 00000 n 
-0002538583 00000 n 
-0002542645 00000 n 
-0002541490 00000 n 
-0002539441 00000 n 
-0002542216 00000 n 
-0002541662 00000 n 
-0002541838 00000 n 
-0002542339 00000 n 
-0002542462 00000 n 
-0002542583 00000 n 
-0002542037 00000 n 
-0002546322 00000 n 
-0002544833 00000 n 
-0002542772 00000 n 
-0002545954 00000 n 
-0002545025 00000 n 
-0002545201 00000 n 
-0002546077 00000 n 
-0002545400 00000 n 
-0002545576 00000 n 
-0002546200 00000 n 
-0002545775 00000 n 
-0002549570 00000 n 
-0002548475 00000 n 
-0002546449 00000 n 
-0002549201 00000 n 
-0002549263 00000 n 
-0002549385 00000 n 
-0002548647 00000 n 
-0002548823 00000 n 
-0002549508 00000 n 
-0002549022 00000 n 
-0002553233 00000 n 
-0002551743 00000 n 
-0002549697 00000 n 
-0002552864 00000 n 
-0002551935 00000 n 
-0002552111 00000 n 
-0002552987 00000 n 
-0002553110 00000 n 
-0002552310 00000 n 
-0002552486 00000 n 
-0002552685 00000 n 
-0002556496 00000 n 
-0002555343 00000 n 
-0002553360 00000 n 
-0002556068 00000 n 
-0002556130 00000 n 
-0002556252 00000 n 
-0002555515 00000 n 
-0002555690 00000 n 
-0002556374 00000 n 
-0002555889 00000 n 
-0003270556 00000 n 
-0002559867 00000 n 
-0002558563 00000 n 
-0002556623 00000 n 
-0002559253 00000 n 
-0002559315 00000 n 
-0002559437 00000 n 
-0002559560 00000 n 
-0002559683 00000 n 
-0002558735 00000 n 
-0002559805 00000 n 
-0002558905 00000 n 
-0002559074 00000 n 
-0002563249 00000 n 
-0002561769 00000 n 
-0002559994 00000 n 
-0002562696 00000 n 
-0002561951 00000 n 
-0002562819 00000 n 
-0002562942 00000 n 
-0002562142 00000 n 
-0002562318 00000 n 
-0002563064 00000 n 
-0002563187 00000 n 
-0002562517 00000 n 
-0002567581 00000 n 
-0002565786 00000 n 
-0002563376 00000 n 
-0002567092 00000 n 
-0002565988 00000 n 
-0002566164 00000 n 
-0002567215 00000 n 
-0002566363 00000 n 
-0002567336 00000 n 
-0002566545 00000 n 
-0002567459 00000 n 
-0002566729 00000 n 
-0002566913 00000 n 
-0002572042 00000 n 
-0002570559 00000 n 
-0002567708 00000 n 
-0002571674 00000 n 
-0002571736 00000 n 
-0002570751 00000 n 
-0002571858 00000 n 
-0002570935 00000 n 
-0002571117 00000 n 
-0002571981 00000 n 
-0002571313 00000 n 
-0002571495 00000 n 
-0002577031 00000 n 
-0002575070 00000 n 
-0002572219 00000 n 
-0002576601 00000 n 
-0002575282 00000 n 
-0002576724 00000 n 
-0002575478 00000 n 
-0002575659 00000 n 
-0002576846 00000 n 
-0002575854 00000 n 
-0002576036 00000 n 
-0002576969 00000 n 
-0002576231 00000 n 
-0002576422 00000 n 
-0002581472 00000 n 
-0002579964 00000 n 
-0002577208 00000 n 
-0002581041 00000 n 
-0002581164 00000 n 
-0002580156 00000 n 
-0002581287 00000 n 
-0002580347 00000 n 
-0002581410 00000 n 
-0002580521 00000 n 
-0002580690 00000 n 
-0002580862 00000 n 
-0003270689 00000 n 
-0002586248 00000 n 
-0002584035 00000 n 
-0002581649 00000 n 
-0002585818 00000 n 
-0002585940 00000 n 
-0002584267 00000 n 
-0002584442 00000 n 
-0002584610 00000 n 
-0002586063 00000 n 
-0002584784 00000 n 
-0002584958 00000 n 
-0002585126 00000 n 
-0002586186 00000 n 
-0002585300 00000 n 
-0002585466 00000 n 
-0002585639 00000 n 
-0002591160 00000 n 
-0002588904 00000 n 
-0002586388 00000 n 
-0002590729 00000 n 
-0002590852 00000 n 
-0002589136 00000 n 
-0002589311 00000 n 
-0002589477 00000 n 
-0002589640 00000 n 
-0002590975 00000 n 
-0002589813 00000 n 
-0002589988 00000 n 
-0002590153 00000 n 
-0002591098 00000 n 
-0002590327 00000 n 
-0002590550 00000 n 
-0002595833 00000 n 
-0002593951 00000 n 
-0002591300 00000 n 
-0002595342 00000 n 
-0002595465 00000 n 
-0002594153 00000 n 
-0002595588 00000 n 
-0002594379 00000 n 
-0002594556 00000 n 
-0002595711 00000 n 
-0002594781 00000 n 
-0002594972 00000 n 
-0002595163 00000 n 
-0002599878 00000 n 
-0002598761 00000 n 
+0002539160 00000 n 
+0002539313 00000 n 
+0002539466 00000 n 
+0002539619 00000 n 
+0002539772 00000 n 
+0002539925 00000 n 
+0002540077 00000 n 
+0002540230 00000 n 
+0002540382 00000 n 
+0002540534 00000 n 
+0002540687 00000 n 
+0002540839 00000 n 
+0002540990 00000 n 
+0002541143 00000 n 
+0002541296 00000 n 
+0002541449 00000 n 
+0002541602 00000 n 
+0002541754 00000 n 
+0002541907 00000 n 
+0002542059 00000 n 
+0002542212 00000 n 
+0002542364 00000 n 
+0002542517 00000 n 
+0002542669 00000 n 
+0002542821 00000 n 
+0002542974 00000 n 
+0002543127 00000 n 
+0002543280 00000 n 
+0002543432 00000 n 
+0002543585 00000 n 
+0002543738 00000 n 
+0002543891 00000 n 
+0002544043 00000 n 
+0002544196 00000 n 
+0002544349 00000 n 
+0002544502 00000 n 
+0002544655 00000 n 
+0002544806 00000 n 
+0002548152 00000 n 
+0002544957 00000 n 
+0002545193 00000 n 
+0002525634 00000 n 
+0002524005 00000 n 
+0002545132 00000 n 
+0002548305 00000 n 
+0002548458 00000 n 
+0002548611 00000 n 
+0002548764 00000 n 
+0002548917 00000 n 
+0002549069 00000 n 
+0002549222 00000 n 
+0002549373 00000 n 
+0002549526 00000 n 
+0002549679 00000 n 
+0002549831 00000 n 
+0002549980 00000 n 
+0002550130 00000 n 
+0002550283 00000 n 
+0002550435 00000 n 
+0002550587 00000 n 
+0002550740 00000 n 
+0002550891 00000 n 
+0002551044 00000 n 
+0002551197 00000 n 
+0002551350 00000 n 
+0002551503 00000 n 
+0002551656 00000 n 
+0002551809 00000 n 
+0002551962 00000 n 
+0002552115 00000 n 
+0002552268 00000 n 
+0002552421 00000 n 
+0002552574 00000 n 
+0002552725 00000 n 
+0002552878 00000 n 
+0002553030 00000 n 
+0002553183 00000 n 
+0002553336 00000 n 
+0002553489 00000 n 
+0002553642 00000 n 
+0002553795 00000 n 
+0002553948 00000 n 
+0002554100 00000 n 
+0002554253 00000 n 
+0002554404 00000 n 
+0002554557 00000 n 
+0002554709 00000 n 
+0002554862 00000 n 
+0002555015 00000 n 
+0002555168 00000 n 
+0002555321 00000 n 
+0002555474 00000 n 
+0002555626 00000 n 
+0002555779 00000 n 
+0002555931 00000 n 
+0002556084 00000 n 
+0002556237 00000 n 
+0002556390 00000 n 
+0002556543 00000 n 
+0002556695 00000 n 
+0002556848 00000 n 
+0002557001 00000 n 
+0002557152 00000 n 
+0002557303 00000 n 
+0002557455 00000 n 
+0002557608 00000 n 
+0002557760 00000 n 
+0002557912 00000 n 
+0002558065 00000 n 
+0002558217 00000 n 
+0002558369 00000 n 
+0002558521 00000 n 
+0002558673 00000 n 
+0002558826 00000 n 
+0002558977 00000 n 
+0002559130 00000 n 
+0002559283 00000 n 
+0002559436 00000 n 
+0002559588 00000 n 
+0002559741 00000 n 
+0002559892 00000 n 
+0002560045 00000 n 
+0002560196 00000 n 
+0002560349 00000 n 
+0002560502 00000 n 
+0002560655 00000 n 
+0002560808 00000 n 
+0002560961 00000 n 
+0002561114 00000 n 
+0002561267 00000 n 
+0002561420 00000 n 
+0002561573 00000 n 
+0002561726 00000 n 
+0002561879 00000 n 
+0002562032 00000 n 
+0002562185 00000 n 
+0002562338 00000 n 
+0002562491 00000 n 
+0002562644 00000 n 
+0002562795 00000 n 
+0002562947 00000 n 
+0002563100 00000 n 
+0002563252 00000 n 
+0002563405 00000 n 
+0002563557 00000 n 
+0002563709 00000 n 
+0002563862 00000 n 
+0002564014 00000 n 
+0002564167 00000 n 
+0002564318 00000 n 
+0002564471 00000 n 
+0002564624 00000 n 
+0002564777 00000 n 
+0002564930 00000 n 
+0002565083 00000 n 
+0002565236 00000 n 
+0002565389 00000 n 
+0002565541 00000 n 
+0002568775 00000 n 
+0002565692 00000 n 
+0002565928 00000 n 
+0002546853 00000 n 
+0002545306 00000 n 
+0002565867 00000 n 
+0002568928 00000 n 
+0002569081 00000 n 
+0002569234 00000 n 
+0002569386 00000 n 
+0002569539 00000 n 
+0002569690 00000 n 
+0002569843 00000 n 
+0002569995 00000 n 
+0002570148 00000 n 
+0002570300 00000 n 
+0002570453 00000 n 
+0002570606 00000 n 
+0002570758 00000 n 
+0002570911 00000 n 
+0002571064 00000 n 
+0002571216 00000 n 
+0002571369 00000 n 
+0002571522 00000 n 
+0002571675 00000 n 
+0002571827 00000 n 
+0002571980 00000 n 
+0002572132 00000 n 
+0002572285 00000 n 
+0002572438 00000 n 
+0002572591 00000 n 
+0002572744 00000 n 
+0002572896 00000 n 
+0002573049 00000 n 
+0002573202 00000 n 
+0002573355 00000 n 
+0002573508 00000 n 
+0002573661 00000 n 
+0002573813 00000 n 
+0002573966 00000 n 
+0002574115 00000 n 
+0002574266 00000 n 
+0002574418 00000 n 
+0002574570 00000 n 
+0002574721 00000 n 
+0002574874 00000 n 
+0002575026 00000 n 
+0002575179 00000 n 
+0002575331 00000 n 
+0002575483 00000 n 
+0002575636 00000 n 
+0002575788 00000 n 
+0002575941 00000 n 
+0002576094 00000 n 
+0002576247 00000 n 
+0002576400 00000 n 
+0002576552 00000 n 
+0002576705 00000 n 
+0002576858 00000 n 
+0002577009 00000 n 
+0002577160 00000 n 
+0002577312 00000 n 
+0002577465 00000 n 
+0002577618 00000 n 
+0002577771 00000 n 
+0002577924 00000 n 
+0002578075 00000 n 
+0002578228 00000 n 
+0002578380 00000 n 
+0002578532 00000 n 
+0002578684 00000 n 
+0002578837 00000 n 
+0002578990 00000 n 
+0002579142 00000 n 
+0002579295 00000 n 
+0002579448 00000 n 
+0002579601 00000 n 
+0002579754 00000 n 
+0002579907 00000 n 
+0002580060 00000 n 
+0002580211 00000 n 
+0002580363 00000 n 
+0002580516 00000 n 
+0002580669 00000 n 
+0002580822 00000 n 
+0002580974 00000 n 
+0002581126 00000 n 
+0002581278 00000 n 
+0002581431 00000 n 
+0002581581 00000 n 
+0002581733 00000 n 
+0002581884 00000 n 
+0002582036 00000 n 
+0002582188 00000 n 
+0002582340 00000 n 
+0002582490 00000 n 
+0002582642 00000 n 
+0002582794 00000 n 
+0002582946 00000 n 
+0002583097 00000 n 
+0002586009 00000 n 
+0002583247 00000 n 
+0002583483 00000 n 
+0002567676 00000 n 
+0002566041 00000 n 
+0002583422 00000 n 
+0002872428 00000 n 
+0002586160 00000 n 
+0002586310 00000 n 
+0002586462 00000 n 
+0002586614 00000 n 
+0002586766 00000 n 
+0002586916 00000 n 
+0002587068 00000 n 
+0002587219 00000 n 
+0002587370 00000 n 
+0002587521 00000 n 
+0002587673 00000 n 
+0002587824 00000 n 
+0002587975 00000 n 
+0002588126 00000 n 
+0002588278 00000 n 
+0002588429 00000 n 
+0002588581 00000 n 
+0002588733 00000 n 
+0002588885 00000 n 
+0002589037 00000 n 
+0002589189 00000 n 
+0002589341 00000 n 
+0002589493 00000 n 
+0002589644 00000 n 
+0002589795 00000 n 
+0002589946 00000 n 
+0002590098 00000 n 
+0002590248 00000 n 
+0002590400 00000 n 
+0002590551 00000 n 
+0002590703 00000 n 
+0002590854 00000 n 
+0002591006 00000 n 
+0002591158 00000 n 
+0002591310 00000 n 
+0002591460 00000 n 
+0002591612 00000 n 
+0002591763 00000 n 
+0002591915 00000 n 
+0002592066 00000 n 
+0002592218 00000 n 
+0002592370 00000 n 
+0002592521 00000 n 
+0002592673 00000 n 
+0002592825 00000 n 
+0002592977 00000 n 
+0002593129 00000 n 
+0002593280 00000 n 
+0002593432 00000 n 
+0002593584 00000 n 
+0002593734 00000 n 
+0002593884 00000 n 
+0002594034 00000 n 
+0002594187 00000 n 
+0002594339 00000 n 
+0002594492 00000 n 
+0002594645 00000 n 
+0002594798 00000 n 
+0002594951 00000 n 
+0002595104 00000 n 
+0002595257 00000 n 
+0002595410 00000 n 
+0002595563 00000 n 
+0002595716 00000 n 
+0002595869 00000 n 
 0002596022 00000 n 
-0002599503 00000 n 
-0002599565 00000 n 
-0002599687 00000 n 
-0002598933 00000 n 
-0002599129 00000 n 
-0002599816 00000 n 
-0002599324 00000 n 
-0002605172 00000 n 
-0002603141 00000 n 
-0002600030 00000 n 
-0002604479 00000 n 
-0002603343 00000 n 
-0002603568 00000 n 
+0002596175 00000 n 
+0002596328 00000 n 
+0002596481 00000 n 
+0002596634 00000 n 
+0002596785 00000 n 
+0002596937 00000 n 
+0002597089 00000 n 
+0002597242 00000 n 
+0002597395 00000 n 
+0002597547 00000 n 
+0002597699 00000 n 
+0002597852 00000 n 
+0002600345 00000 n 
+0002598003 00000 n 
+0002598239 00000 n 
+0002585070 00000 n 
+0002583596 00000 n 
+0002598178 00000 n 
+0002600498 00000 n 
+0002600651 00000 n 
+0002600803 00000 n 
+0002600955 00000 n 
+0002601105 00000 n 
+0002601258 00000 n 
+0002601411 00000 n 
+0002601564 00000 n 
+0002601717 00000 n 
+0002601869 00000 n 
+0002602021 00000 n 
+0002602172 00000 n 
+0002602325 00000 n 
+0002602478 00000 n 
+0002602631 00000 n 
+0002602783 00000 n 
+0002602935 00000 n 
+0002603087 00000 n 
+0002603238 00000 n 
+0002603391 00000 n 
+0002603544 00000 n 
+0002603696 00000 n 
+0002603848 00000 n 
+0002604000 00000 n 
+0002604152 00000 n 
+0002604303 00000 n 
+0002604454 00000 n 
 0002604607 00000 n 
-0002603744 00000 n 
-0002603935 00000 n 
-0002604125 00000 n 
-0002604736 00000 n 
-0002604859 00000 n 
-0002604920 00000 n 
-0002605043 00000 n 
-0002604300 00000 n 
-0002613327 00000 n 
-0002608194 00000 n 
-0002605324 00000 n 
-0002612396 00000 n 
-0002612458 00000 n 
-0002612586 00000 n 
-0002612769 00000 n 
-0002608516 00000 n 
-0002608739 00000 n 
-0002608963 00000 n 
-0002612831 00000 n 
-0002609154 00000 n 
-0002609378 00000 n 
-0002609602 00000 n 
-0002612893 00000 n 
-0002609793 00000 n 
-0002610017 00000 n 
-0002610239 00000 n 
-0002612955 00000 n 
-0002610462 00000 n 
-0002610686 00000 n 
-0002610910 00000 n 
-0002613017 00000 n 
-0002613079 00000 n 
-0002611133 00000 n 
-0002613141 00000 n 
-0002611356 00000 n 
-0002611580 00000 n 
-0002613203 00000 n 
-0002611769 00000 n 
-0002613265 00000 n 
-0002611993 00000 n 
-0002612217 00000 n 
-0003270822 00000 n 
-0002651941 00000 n 
-0002652065 00000 n 
-0002623081 00000 n 
-0002616806 00000 n 
-0002613494 00000 n 
-0002622213 00000 n 
-0002622275 00000 n 
-0002617178 00000 n 
-0002617401 00000 n 
-0002622337 00000 n 
-0002617592 00000 n 
-0002622399 00000 n 
-0002617816 00000 n 
-0002622461 00000 n 
-0002618039 00000 n 
-0002618248 00000 n 
-0002622523 00000 n 
-0002618472 00000 n 
-0002618681 00000 n 
-0002622585 00000 n 
-0002618905 00000 n 
-0002619129 00000 n 
-0002622647 00000 n 
-0002619351 00000 n 
-0002622709 00000 n 
-0002619575 00000 n 
-0002622771 00000 n 
-0002619799 00000 n 
-0002620023 00000 n 
-0002622833 00000 n 
-0002620245 00000 n 
-0002620469 00000 n 
-0002622895 00000 n 
-0002620692 00000 n 
-0002620915 00000 n 
-0002622957 00000 n 
-0002621139 00000 n 
-0002621362 00000 n 
-0002623019 00000 n 
-0002621586 00000 n 
-0002621810 00000 n 
-0002622034 00000 n 
-0002652257 00000 n 
-0002634394 00000 n 
-0002626655 00000 n 
-0002623222 00000 n 
-0002633528 00000 n 
-0002633590 00000 n 
-0002627097 00000 n 
-0002627321 00000 n 
-0002633651 00000 n 
-0002627545 00000 n 
-0002627769 00000 n 
-0002633713 00000 n 
-0002627993 00000 n 
-0002628217 00000 n 
-0002633775 00000 n 
-0002628441 00000 n 
-0002633837 00000 n 
-0002628665 00000 n 
-0002628888 00000 n 
-0002629110 00000 n 
-0002633899 00000 n 
-0002629333 00000 n 
-0002629557 00000 n 
-0002629781 00000 n 
-0002633961 00000 n 
-0002630005 00000 n 
-0002634022 00000 n 
-0002630228 00000 n 
-0002630419 00000 n 
-0002630642 00000 n 
-0002634084 00000 n 
-0002630833 00000 n 
-0002631057 00000 n 
-0002634146 00000 n 
-0002631248 00000 n 
-0002631472 00000 n 
-0002631663 00000 n 
-0002631885 00000 n 
+0002604759 00000 n 
+0002604912 00000 n 
+0002605065 00000 n 
+0002605217 00000 n 
+0002605370 00000 n 
+0002605523 00000 n 
+0002605673 00000 n 
+0002605824 00000 n 
+0002605977 00000 n 
+0002606130 00000 n 
+0002606281 00000 n 
+0002606434 00000 n 
+0002606587 00000 n 
+0002606739 00000 n 
+0002606892 00000 n 
+0002607045 00000 n 
+0002607198 00000 n 
+0002607350 00000 n 
+0002607503 00000 n 
+0002607654 00000 n 
+0002607804 00000 n 
+0002607954 00000 n 
+0002608103 00000 n 
+0002608252 00000 n 
+0002608401 00000 n 
+0002608551 00000 n 
+0002608704 00000 n 
+0002608857 00000 n 
+0002609010 00000 n 
+0002609161 00000 n 
+0002609312 00000 n 
+0002609465 00000 n 
+0002609617 00000 n 
+0002609766 00000 n 
+0002609917 00000 n 
+0002612497 00000 n 
+0002610068 00000 n 
+0002610304 00000 n 
+0002599556 00000 n 
+0002598339 00000 n 
+0002610243 00000 n 
+0002612650 00000 n 
+0002612803 00000 n 
+0002612956 00000 n 
+0002613108 00000 n 
+0002613260 00000 n 
+0002613412 00000 n 
+0002613565 00000 n 
+0002613718 00000 n 
+0002613871 00000 n 
+0002614023 00000 n 
+0002614176 00000 n 
+0002614328 00000 n 
+0002614479 00000 n 
+0002614632 00000 n 
+0002614785 00000 n 
+0002614938 00000 n 
+0002615091 00000 n 
+0002615243 00000 n 
+0002615396 00000 n 
+0002615548 00000 n 
+0002615701 00000 n 
+0002615854 00000 n 
+0002616007 00000 n 
+0002616160 00000 n 
+0002616313 00000 n 
+0002616465 00000 n 
+0002616617 00000 n 
+0002616770 00000 n 
+0002616923 00000 n 
+0002617076 00000 n 
+0002617229 00000 n 
+0002617382 00000 n 
+0002617535 00000 n 
+0002617688 00000 n 
+0002617840 00000 n 
+0002617993 00000 n 
+0002618146 00000 n 
+0002618299 00000 n 
+0002618451 00000 n 
+0002618604 00000 n 
+0002618756 00000 n 
+0002618909 00000 n 
+0002619062 00000 n 
+0002619215 00000 n 
+0002619367 00000 n 
+0002619519 00000 n 
+0002619670 00000 n 
+0002619822 00000 n 
+0002619975 00000 n 
+0002620127 00000 n 
+0002620280 00000 n 
+0002620433 00000 n 
+0002620586 00000 n 
+0002620739 00000 n 
+0002620889 00000 n 
+0002621041 00000 n 
+0002621193 00000 n 
+0002621346 00000 n 
+0002621499 00000 n 
+0002621652 00000 n 
+0002621805 00000 n 
+0002621957 00000 n 
+0002622110 00000 n 
+0002624291 00000 n 
+0002622263 00000 n 
+0002622499 00000 n 
+0002611708 00000 n 
+0002610404 00000 n 
+0002622438 00000 n 
+0002624442 00000 n 
+0002624594 00000 n 
+0002624746 00000 n 
+0002624896 00000 n 
+0002625049 00000 n 
+0002625202 00000 n 
+0002625355 00000 n 
+0002625508 00000 n 
+0002625660 00000 n 
+0002625812 00000 n 
+0002625963 00000 n 
+0002626114 00000 n 
+0002626267 00000 n 
+0002626420 00000 n 
+0002626573 00000 n 
+0002626726 00000 n 
+0002626878 00000 n 
+0002627030 00000 n 
+0002627182 00000 n 
+0002627334 00000 n 
+0002627486 00000 n 
+0002627638 00000 n 
+0002627790 00000 n 
+0002627942 00000 n 
+0002628094 00000 n 
+0002628246 00000 n 
+0002628398 00000 n 
+0002628550 00000 n 
+0002628701 00000 n 
+0002628852 00000 n 
+0002629001 00000 n 
+0002629151 00000 n 
+0002629301 00000 n 
+0002629451 00000 n 
+0002629601 00000 n 
+0002629751 00000 n 
+0002629901 00000 n 
+0002630053 00000 n 
+0002630205 00000 n 
+0002630355 00000 n 
+0002630505 00000 n 
+0002630655 00000 n 
+0002630805 00000 n 
+0002630957 00000 n 
+0002631110 00000 n 
+0002631262 00000 n 
+0002631415 00000 n 
+0002631567 00000 n 
+0002631803 00000 n 
+0002623662 00000 n 
+0002622599 00000 n 
+0002631742 00000 n 
+0002631903 00000 n 
+0002631946 00000 n 
 0002632074 00000 n 
-0002632298 00000 n 
-0002634208 00000 n 
-0002632489 00000 n 
-0002632713 00000 n 
-0002634270 00000 n 
-0002632901 00000 n 
-0002634332 00000 n 
-0002633125 00000 n 
-0002633349 00000 n 
-0002652381 00000 n 
-0002655901 00000 n 
-0002643007 00000 n 
-0002637546 00000 n 
-0002634535 00000 n 
-0002642388 00000 n 
-0002642450 00000 n 
-0002637898 00000 n 
-0002642512 00000 n 
-0002638122 00000 n 
-0002642574 00000 n 
-0002642636 00000 n 
-0002638346 00000 n 
-0002642698 00000 n 
-0002638569 00000 n 
-0002638793 00000 n 
-0002639017 00000 n 
-0002639241 00000 n 
-0002639465 00000 n 
-0002639689 00000 n 
-0002639913 00000 n 
-0002640137 00000 n 
-0002642759 00000 n 
-0002642821 00000 n 
-0002640328 00000 n 
-0002640552 00000 n 
-0002642883 00000 n 
-0002640776 00000 n 
-0002642945 00000 n 
-0002641000 00000 n 
-0002641224 00000 n 
-0002641414 00000 n 
-0002641603 00000 n 
-0002641827 00000 n 
-0002642018 00000 n 
-0002642209 00000 n 
-0002656031 00000 n 
-0002656153 00000 n 
-0002656283 00000 n 
-0002656474 00000 n 
-0002656598 00000 n 
-0002648089 00000 n 
-0002645961 00000 n 
-0002643162 00000 n 
-0002647903 00000 n 
-0002646193 00000 n 
-0002646416 00000 n 
-0002646605 00000 n 
-0002646829 00000 n 
-0002647020 00000 n 
-0002647965 00000 n 
-0002648027 00000 n 
-0002647211 00000 n 
-0002647373 00000 n 
-0002647533 00000 n 
-0002647724 00000 n 
-0002656722 00000 n 
-0002660040 00000 n 
-0002652448 00000 n 
-0002650587 00000 n 
-0002648229 00000 n 
-0002651818 00000 n 
-0002651880 00000 n 
-0002652003 00000 n 
-0002652133 00000 n 
-0002650779 00000 n 
-0002650968 00000 n 
-0002651192 00000 n 
-0002651416 00000 n 
-0002652195 00000 n 
-0002652319 00000 n 
-0002651639 00000 n 
-0002656783 00000 n 
-0002655447 00000 n 
-0002652587 00000 n 
-0002655778 00000 n 
-0002655840 00000 n 
-0002655969 00000 n 
-0002656093 00000 n 
-0002656221 00000 n 
-0002656350 00000 n 
-0002656412 00000 n 
-0002656536 00000 n 
-0002656660 00000 n 
-0002655599 00000 n 
-0003270955 00000 n 
-0002660653 00000 n 
-0002658862 00000 n 
-0002656923 00000 n 
-0002659917 00000 n 
-0002659979 00000 n 
-0002660101 00000 n 
-0002660284 00000 n 
-0002660467 00000 n 
-0002660529 00000 n 
-0002659044 00000 n 
-0002659276 00000 n 
-0002660591 00000 n 
-0002659507 00000 n 
-0002659738 00000 n 
-0002664212 00000 n 
-0002664764 00000 n 
-0002662947 00000 n 
-0002660820 00000 n 
-0002663965 00000 n 
-0002664027 00000 n 
-0002664088 00000 n 
-0002663129 00000 n 
-0002664150 00000 n 
-0002664274 00000 n 
-0002664457 00000 n 
-0002664519 00000 n 
-0002663338 00000 n 
-0002664581 00000 n 
-0002663562 00000 n 
-0002664643 00000 n 
-0002663786 00000 n 
-0002673010 00000 n 
-0002667417 00000 n 
-0002664917 00000 n 
-0002672209 00000 n 
-0002672330 00000 n 
-0002667769 00000 n 
-0002672392 00000 n 
-0002667972 00000 n 
-0002668196 00000 n 
-0002672454 00000 n 
-0002668405 00000 n 
-0002668614 00000 n 
-0002668837 00000 n 
-0002669044 00000 n 
-0002672516 00000 n 
-0002669266 00000 n 
-0002669475 00000 n 
-0002672577 00000 n 
-0002669699 00000 n 
-0002669908 00000 n 
-0002672639 00000 n 
-0002670132 00000 n 
-0002672701 00000 n 
-0002670355 00000 n 
-0002670579 00000 n 
-0002672763 00000 n 
-0002672825 00000 n 
-0002670770 00000 n 
-0002670979 00000 n 
-0002671203 00000 n 
-0002672887 00000 n 
-0002671393 00000 n 
-0002671615 00000 n 
-0002672949 00000 n 
-0002671806 00000 n 
-0002672030 00000 n 
-0002678363 00000 n 
-0002678549 00000 n 
-0002678673 00000 n 
-0002675847 00000 n 
-0002673164 00000 n 
-0002678115 00000 n 
-0002678177 00000 n 
-0002676089 00000 n 
-0002676313 00000 n 
-0002676504 00000 n 
-0002676727 00000 n 
-0002676917 00000 n 
-0002678239 00000 n 
-0002677107 00000 n 
-0002677297 00000 n 
-0002678301 00000 n 
-0002678425 00000 n 
-0002677488 00000 n 
-0002678487 00000 n 
-0002678611 00000 n 
-0002677712 00000 n 
-0002677936 00000 n 
-0002683250 00000 n 
-0002683374 00000 n 
-0002684109 00000 n 
-0002680828 00000 n 
-0002678838 00000 n 
-0002683127 00000 n 
-0002683189 00000 n 
-0002683312 00000 n 
-0002683435 00000 n 
-0002683617 00000 n 
-0002683679 00000 n 
-0002681070 00000 n 
-0002681306 00000 n 
-0002681497 00000 n 
-0002683741 00000 n 
-0002683923 00000 n 
-0002683985 00000 n 
-0002681688 00000 n 
-0002684047 00000 n 
-0002681918 00000 n 
-0002682147 00000 n 
-0002682337 00000 n 
-0002682567 00000 n 
-0002682758 00000 n 
-0002682948 00000 n 
-0002694280 00000 n 
-0002692485 00000 n 
-0002686925 00000 n 
-0002684249 00000 n 
-0002691619 00000 n 
-0002691681 00000 n 
-0002687267 00000 n 
-0002687476 00000 n 
-0002691742 00000 n 
-0002687706 00000 n 
-0002687936 00000 n 
-0002691804 00000 n 
-0002688125 00000 n 
-0002688355 00000 n 
-0002691865 00000 n 
-0002688585 00000 n 
-0002688794 00000 n 
-0002691927 00000 n 
-0002689024 00000 n 
-0002689233 00000 n 
-0002691989 00000 n 
-0002689463 00000 n 
-0002692051 00000 n 
-0002689692 00000 n 
-0002692113 00000 n 
-0002689921 00000 n 
-0002692175 00000 n 
-0002690150 00000 n 
-0002692237 00000 n 
-0002692299 00000 n 
-0002690378 00000 n 
-0002690587 00000 n 
-0002690817 00000 n 
-0002692361 00000 n 
-0002691013 00000 n 
-0002691243 00000 n 
-0002692423 00000 n 
-0002691440 00000 n 
-0003271088 00000 n 
-0002694464 00000 n 
-0002694588 00000 n 
-0002693826 00000 n 
-0002692641 00000 n 
-0002694157 00000 n 
-0002694219 00000 n 
-0002694342 00000 n 
-0002694404 00000 n 
-0002694526 00000 n 
-0002693978 00000 n 
-0002707489 00000 n 
-0002697400 00000 n 
-0002694715 00000 n 
-0002707365 00000 n 
-0002707427 00000 n 
-0002698132 00000 n 
-0002698288 00000 n 
-0002698443 00000 n 
-0002698600 00000 n 
-0002698757 00000 n 
-0002698912 00000 n 
-0002699069 00000 n 
-0002699226 00000 n 
-0002699383 00000 n 
-0002699540 00000 n 
-0002699697 00000 n 
-0002699854 00000 n 
-0002700010 00000 n 
-0002700165 00000 n 
-0002700322 00000 n 
-0002700479 00000 n 
-0002700635 00000 n 
-0002700791 00000 n 
-0002700948 00000 n 
-0002701105 00000 n 
-0002701262 00000 n 
-0002701419 00000 n 
-0002701576 00000 n 
-0002701732 00000 n 
-0002701888 00000 n 
-0002702045 00000 n 
-0002702202 00000 n 
-0002702358 00000 n 
-0002702514 00000 n 
-0002702671 00000 n 
-0002702828 00000 n 
-0002702985 00000 n 
-0002703142 00000 n 
-0002703299 00000 n 
-0002703455 00000 n 
-0002703610 00000 n 
-0002703767 00000 n 
-0002703924 00000 n 
-0002704080 00000 n 
-0002704235 00000 n 
-0002704392 00000 n 
-0002704549 00000 n 
-0002704706 00000 n 
-0002704863 00000 n 
-0002705020 00000 n 
-0002705177 00000 n 
-0002705333 00000 n 
-0002705488 00000 n 
-0002705645 00000 n 
-0002705802 00000 n 
-0002705958 00000 n 
-0002706115 00000 n 
-0002706271 00000 n 
-0002706427 00000 n 
-0002706582 00000 n 
-0002706738 00000 n 
-0002706895 00000 n 
-0002707051 00000 n 
-0002707208 00000 n 
-0002721711 00000 n 
-0002710845 00000 n 
-0002707576 00000 n 
-0002721649 00000 n 
-0002711627 00000 n 
-0002711784 00000 n 
-0002711940 00000 n 
-0002712097 00000 n 
-0002712253 00000 n 
-0002712410 00000 n 
-0002712565 00000 n 
-0002712721 00000 n 
-0002712878 00000 n 
-0002713035 00000 n 
-0002713191 00000 n 
-0002713348 00000 n 
-0002713505 00000 n 
-0002713661 00000 n 
-0002713817 00000 n 
-0002713974 00000 n 
-0002714131 00000 n 
-0002714288 00000 n 
-0002714443 00000 n 
-0002714599 00000 n 
-0002714756 00000 n 
-0002714913 00000 n 
-0002715068 00000 n 
-0002715225 00000 n 
-0002715382 00000 n 
-0002715537 00000 n 
-0002715693 00000 n 
-0002715850 00000 n 
-0002716007 00000 n 
-0002716163 00000 n 
-0002716319 00000 n 
-0002716476 00000 n 
-0002716633 00000 n 
-0002716789 00000 n 
-0002716946 00000 n 
-0002717102 00000 n 
-0002717258 00000 n 
-0002717414 00000 n 
-0002717570 00000 n 
-0002717725 00000 n 
-0002717882 00000 n 
-0002718037 00000 n 
-0002718193 00000 n 
-0002718350 00000 n 
-0002718507 00000 n 
-0002718664 00000 n 
-0002718821 00000 n 
-0002718977 00000 n 
-0002719132 00000 n 
-0002719289 00000 n 
-0002719444 00000 n 
-0002719599 00000 n 
-0002719756 00000 n 
-0002719912 00000 n 
-0002720068 00000 n 
-0002720224 00000 n 
-0002720380 00000 n 
-0002720537 00000 n 
-0002720694 00000 n 
-0002720850 00000 n 
-0002721005 00000 n 
-0002721160 00000 n 
-0002721315 00000 n 
-0002721470 00000 n 
-0002735456 00000 n 
-0002725075 00000 n 
-0002721811 00000 n 
-0002735394 00000 n 
-0002725827 00000 n 
-0002725982 00000 n 
-0002726138 00000 n 
-0002726295 00000 n 
-0002726452 00000 n 
-0002726608 00000 n 
-0002726765 00000 n 
-0002726922 00000 n 
-0002727079 00000 n 
-0002727236 00000 n 
-0002727393 00000 n 
-0002727549 00000 n 
-0002727705 00000 n 
-0002727862 00000 n 
-0002728019 00000 n 
-0002728175 00000 n 
-0002728330 00000 n 
-0002728487 00000 n 
-0002728644 00000 n 
-0002728801 00000 n 
-0002728958 00000 n 
-0002729114 00000 n 
-0002729269 00000 n 
-0002729426 00000 n 
-0002729583 00000 n 
-0002729740 00000 n 
-0002729897 00000 n 
-0002730054 00000 n 
-0002730210 00000 n 
-0002730367 00000 n 
-0002730523 00000 n 
-0002730679 00000 n 
-0002730834 00000 n 
-0002730990 00000 n 
-0002731146 00000 n 
-0002731303 00000 n 
-0002731459 00000 n 
-0002731613 00000 n 
-0002731770 00000 n 
-0002731927 00000 n 
-0002732084 00000 n 
-0002732241 00000 n 
-0002732398 00000 n 
-0002732555 00000 n 
-0002732711 00000 n 
-0002732868 00000 n 
-0002733025 00000 n 
-0002733182 00000 n 
-0002733338 00000 n 
-0002733495 00000 n 
-0002733651 00000 n 
-0002733808 00000 n 
-0002733965 00000 n 
-0002734122 00000 n 
-0002734278 00000 n 
-0002734433 00000 n 
-0002734590 00000 n 
-0002734747 00000 n 
-0002734902 00000 n 
-0002735058 00000 n 
-0002735215 00000 n 
-0002748807 00000 n 
-0002738915 00000 n 
-0002735556 00000 n 
-0002748745 00000 n 
-0002739637 00000 n 
-0002739793 00000 n 
-0002739950 00000 n 
-0002740107 00000 n 
-0002740264 00000 n 
-0002740420 00000 n 
-0002740576 00000 n 
-0002740732 00000 n 
-0002740889 00000 n 
-0002741046 00000 n 
-0002741203 00000 n 
-0002741360 00000 n 
-0002741517 00000 n 
-0002741674 00000 n 
-0002741831 00000 n 
-0002741988 00000 n 
-0002742144 00000 n 
-0002742299 00000 n 
-0002742456 00000 n 
-0002742613 00000 n 
-0002742770 00000 n 
-0002742927 00000 n 
-0002743084 00000 n 
-0002743241 00000 n 
-0002743398 00000 n 
-0002743554 00000 n 
-0002743711 00000 n 
-0002743868 00000 n 
-0002744025 00000 n 
-0002744181 00000 n 
-0002744337 00000 n 
-0002744493 00000 n 
-0002744650 00000 n 
-0002744807 00000 n 
-0002744963 00000 n 
-0002745118 00000 n 
-0002745275 00000 n 
-0002745432 00000 n 
-0002745589 00000 n 
-0002745746 00000 n 
-0002745903 00000 n 
-0002746059 00000 n 
-0002746216 00000 n 
-0002746373 00000 n 
-0002746530 00000 n 
-0002746686 00000 n 
-0002746842 00000 n 
-0002746999 00000 n 
-0002747156 00000 n 
-0002747313 00000 n 
-0002747470 00000 n 
-0002747627 00000 n 
-0002747783 00000 n 
-0002747940 00000 n 
-0002748096 00000 n 
-0002748253 00000 n 
-0002748410 00000 n 
-0002748566 00000 n 
-0002763203 00000 n 
-0002752310 00000 n 
-0002748907 00000 n 
-0002763141 00000 n 
-0002753092 00000 n 
-0002753249 00000 n 
-0002753406 00000 n 
-0002753563 00000 n 
-0002753720 00000 n 
-0002753875 00000 n 
-0002754032 00000 n 
-0002754189 00000 n 
-0002754346 00000 n 
-0002754502 00000 n 
-0002754658 00000 n 
-0002754815 00000 n 
-0002754971 00000 n 
-0002755127 00000 n 
-0002755284 00000 n 
-0002755440 00000 n 
-0002755597 00000 n 
-0002755753 00000 n 
-0002755910 00000 n 
-0002756067 00000 n 
-0002756223 00000 n 
-0002756380 00000 n 
-0002756536 00000 n 
-0002756692 00000 n 
-0002756848 00000 n 
-0002757005 00000 n 
-0002757162 00000 n 
-0002757319 00000 n 
-0002757476 00000 n 
-0002757633 00000 n 
-0002757790 00000 n 
-0002757947 00000 n 
-0002758104 00000 n 
-0002758261 00000 n 
-0002758417 00000 n 
-0002758574 00000 n 
-0002758731 00000 n 
-0002758888 00000 n 
-0002759045 00000 n 
-0002759202 00000 n 
-0002759359 00000 n 
-0002759516 00000 n 
-0002759673 00000 n 
-0002759830 00000 n 
-0002759986 00000 n 
-0002760143 00000 n 
-0002760300 00000 n 
-0002760457 00000 n 
-0002760614 00000 n 
-0002760771 00000 n 
-0002760927 00000 n 
-0002761083 00000 n 
-0002761240 00000 n 
-0002761397 00000 n 
-0002761554 00000 n 
-0002761711 00000 n 
-0002761868 00000 n 
-0002762024 00000 n 
-0002762181 00000 n 
-0002762336 00000 n 
-0002762493 00000 n 
-0002762650 00000 n 
-0002762807 00000 n 
-0002762962 00000 n 
-0003271221 00000 n 
-0002776600 00000 n 
-0002766550 00000 n 
-0002763303 00000 n 
-0002776538 00000 n 
-0002767282 00000 n 
-0002767439 00000 n 
-0002767595 00000 n 
-0002767752 00000 n 
-0002767909 00000 n 
-0002768065 00000 n 
-0002768222 00000 n 
-0002768379 00000 n 
-0002768536 00000 n 
-0002768693 00000 n 
-0002768850 00000 n 
-0002769007 00000 n 
-0002769162 00000 n 
-0002769319 00000 n 
-0002769476 00000 n 
-0002769633 00000 n 
-0002769789 00000 n 
-0002769945 00000 n 
-0002770102 00000 n 
-0002770259 00000 n 
-0002770415 00000 n 
-0002770571 00000 n 
-0002770728 00000 n 
+0002632101 00000 n 
+0002632206 00000 n 
+0002632664 00000 n 
+0002633295 00000 n 
+0002633704 00000 n 
+0002633852 00000 n 
+0002633891 00000 n 
+0002857431 00000 n 
+0002633930 00000 n 
+0002634407 00000 n 
+0002634760 00000 n 
+0002634787 00000 n 
+0002635424 00000 n 
+0002635526 00000 n 
+0002635806 00000 n 
+0002636499 00000 n 
+0002636528 00000 n 
+0002637127 00000 n 
+0002637287 00000 n 
+0002637542 00000 n 
+0002638025 00000 n 
+0002638696 00000 n 
+0002639268 00000 n 
+0002639454 00000 n 
+0002640352 00000 n 
+0002640999 00000 n 
+0002641392 00000 n 
+0002641968 00000 n 
+0002642661 00000 n 
+0002642700 00000 n 
+0002643362 00000 n 
+0002644262 00000 n 
+0002646108 00000 n 
+0002646341 00000 n 
+0002652356 00000 n 
+0002652954 00000 n 
+0002664151 00000 n 
+0002664546 00000 n 
+0002666363 00000 n 
+0002666600 00000 n 
+0002669154 00000 n 
+0002669384 00000 n 
+0002672162 00000 n 
+0002672394 00000 n 
+0002677674 00000 n 
+0002677946 00000 n 
+0002679762 00000 n 
+0002679998 00000 n 
+0002682787 00000 n 
+0002683062 00000 n 
+0002687105 00000 n 
+0002687355 00000 n 
+0002689267 00000 n 
+0002689491 00000 n 
+0002699430 00000 n 
+0002699838 00000 n 
+0002701972 00000 n 
+0002702209 00000 n 
+0002706407 00000 n 
+0002706668 00000 n 
+0002712877 00000 n 
+0002713199 00000 n 
+0002717709 00000 n 
+0002718006 00000 n 
+0002726487 00000 n 
+0002727116 00000 n 
+0002728551 00000 n 
+0002728800 00000 n 
+0002731350 00000 n 
+0002731625 00000 n 
+0002733739 00000 n 
+0002734027 00000 n 
+0002736047 00000 n 
+0002736295 00000 n 
+0002737906 00000 n 
+0002738158 00000 n 
+0002740131 00000 n 
+0002740360 00000 n 
+0002743391 00000 n 
+0002743625 00000 n 
+0002745505 00000 n 
+0002745745 00000 n 
+0002750126 00000 n 
+0002750370 00000 n 
+0002770247 00000 n 
 0002770885 00000 n 
-0002771042 00000 n 
-0002771199 00000 n 
-0002771355 00000 n 
-0002771511 00000 n 
-0002771668 00000 n 
-0002771825 00000 n 
-0002771980 00000 n 
-0002772136 00000 n 
-0002772293 00000 n 
-0002772448 00000 n 
-0002772605 00000 n 
-0002772762 00000 n 
-0002772918 00000 n 
-0002773075 00000 n 
-0002773232 00000 n 
-0002773389 00000 n 
-0002773545 00000 n 
-0002773702 00000 n 
-0002773859 00000 n 
-0002774016 00000 n 
-0002774172 00000 n 
-0002774328 00000 n 
-0002774484 00000 n 
-0002774641 00000 n 
-0002774797 00000 n 
-0002774954 00000 n 
-0002775110 00000 n 
-0002775265 00000 n 
-0002775422 00000 n 
-0002775579 00000 n 
-0002775733 00000 n 
-0002775890 00000 n 
-0002776047 00000 n 
-0002776204 00000 n 
-0002776359 00000 n 
-0002791620 00000 n 
-0002780239 00000 n 
-0002776700 00000 n 
-0002791558 00000 n 
-0002781051 00000 n 
-0002781207 00000 n 
-0002781364 00000 n 
-0002781520 00000 n 
-0002781677 00000 n 
-0002781833 00000 n 
-0002781990 00000 n 
-0002782146 00000 n 
-0002782303 00000 n 
-0002782460 00000 n 
-0002782616 00000 n 
-0002782772 00000 n 
-0002782929 00000 n 
-0002783086 00000 n 
-0002783243 00000 n 
-0002783400 00000 n 
-0002783557 00000 n 
-0002783713 00000 n 
-0002783868 00000 n 
-0002784023 00000 n 
-0002784180 00000 n 
-0002784337 00000 n 
-0002784494 00000 n 
-0002784651 00000 n 
-0002784807 00000 n 
-0002784963 00000 n 
-0002785120 00000 n 
-0002785276 00000 n 
-0002785432 00000 n 
-0002785588 00000 n 
-0002785744 00000 n 
-0002785901 00000 n 
-0002786058 00000 n 
-0002786215 00000 n 
-0002786370 00000 n 
-0002786525 00000 n 
-0002786681 00000 n 
-0002786837 00000 n 
-0002786994 00000 n 
-0002787151 00000 n 
-0002787308 00000 n 
-0002787465 00000 n 
-0002787621 00000 n 
-0002787778 00000 n 
-0002787934 00000 n 
-0002788090 00000 n 
-0002788247 00000 n 
-0002788404 00000 n 
-0002788561 00000 n 
-0002788717 00000 n 
-0002788874 00000 n 
-0002789030 00000 n 
-0002789187 00000 n 
-0002789344 00000 n 
-0002789501 00000 n 
-0002789658 00000 n 
-0002789815 00000 n 
-0002789969 00000 n 
-0002790125 00000 n 
-0002790282 00000 n 
-0002790438 00000 n 
-0002790595 00000 n 
-0002790752 00000 n 
-0002790909 00000 n 
-0002791065 00000 n 
-0002791222 00000 n 
-0002791379 00000 n 
-0002805435 00000 n 
-0002794891 00000 n 
-0002791733 00000 n 
-0002805373 00000 n 
-0002795653 00000 n 
-0002795809 00000 n 
-0002795966 00000 n 
-0002796123 00000 n 
-0002796280 00000 n 
-0002796437 00000 n 
-0002796592 00000 n 
-0002796748 00000 n 
-0002796905 00000 n 
-0002797061 00000 n 
-0002797217 00000 n 
-0002797374 00000 n 
-0002797530 00000 n 
-0002797685 00000 n 
-0002797841 00000 n 
-0002797998 00000 n 
-0002798153 00000 n 
-0002798310 00000 n 
-0002798466 00000 n 
-0002798623 00000 n 
-0002798778 00000 n 
-0002798935 00000 n 
-0002799092 00000 n 
-0002799249 00000 n 
-0002799406 00000 n 
-0002799563 00000 n 
-0002799717 00000 n 
-0002799874 00000 n 
-0002800030 00000 n 
-0002800187 00000 n 
-0002800343 00000 n 
-0002800499 00000 n 
-0002800656 00000 n 
-0002800813 00000 n 
-0002800968 00000 n 
-0002801125 00000 n 
-0002801282 00000 n 
-0002801439 00000 n 
-0002801595 00000 n 
-0002801752 00000 n 
-0002801909 00000 n 
-0002802066 00000 n 
-0002802223 00000 n 
-0002802380 00000 n 
-0002802536 00000 n 
-0002802693 00000 n 
-0002802850 00000 n 
-0002803007 00000 n 
-0002803164 00000 n 
-0002803319 00000 n 
-0002803476 00000 n 
-0002803633 00000 n 
-0002803790 00000 n 
-0002803945 00000 n 
-0002804101 00000 n 
-0002804258 00000 n 
-0002804414 00000 n 
-0002804570 00000 n 
-0002804726 00000 n 
-0002804883 00000 n 
-0002805039 00000 n 
-0002805194 00000 n 
-0002826851 00000 n 
-0002810866 00000 n 
-0002805561 00000 n 
-0002826789 00000 n 
-0002811958 00000 n 
-0002812115 00000 n 
-0002812271 00000 n 
-0002812427 00000 n 
-0002812583 00000 n 
-0002812740 00000 n 
-0002812897 00000 n 
-0002813053 00000 n 
-0002813210 00000 n 
-0002813366 00000 n 
-0002813522 00000 n 
-0002813679 00000 n 
-0002813835 00000 n 
-0002813990 00000 n 
-0002814147 00000 n 
-0002814304 00000 n 
-0002814461 00000 n 
-0002814618 00000 n 
-0002814774 00000 n 
-0002814931 00000 n 
-0002815087 00000 n 
-0002815242 00000 n 
-0002815398 00000 n 
-0002815554 00000 n 
-0002815710 00000 n 
-0002815866 00000 n 
-0002816022 00000 n 
-0002816174 00000 n 
-0002816330 00000 n 
-0002816486 00000 n 
-0002816642 00000 n 
-0002816798 00000 n 
-0002816953 00000 n 
-0002817106 00000 n 
-0002817260 00000 n 
-0002817415 00000 n 
-0002817569 00000 n 
-0002817725 00000 n 
-0002817880 00000 n 
-0002818036 00000 n 
-0002818192 00000 n 
-0002818348 00000 n 
-0002818502 00000 n 
-0002818658 00000 n 
-0002818815 00000 n 
-0002818970 00000 n 
-0002819126 00000 n 
-0002819282 00000 n 
-0002819438 00000 n 
-0002819594 00000 n 
-0002819751 00000 n 
-0002819908 00000 n 
-0002820064 00000 n 
-0002820219 00000 n 
-0002820375 00000 n 
-0002820532 00000 n 
-0002820688 00000 n 
-0002820845 00000 n 
-0002821000 00000 n 
-0002821156 00000 n 
-0002821312 00000 n 
-0002821468 00000 n 
-0002821622 00000 n 
-0002821779 00000 n 
-0002821935 00000 n 
-0002822092 00000 n 
-0002822249 00000 n 
-0002822406 00000 n 
-0002822560 00000 n 
-0002822716 00000 n 
-0002822872 00000 n 
-0002823029 00000 n 
-0002823186 00000 n 
-0002823343 00000 n 
-0002823500 00000 n 
-0002823655 00000 n 
-0002823812 00000 n 
-0002823967 00000 n 
-0002824122 00000 n 
-0002824277 00000 n 
-0002824432 00000 n 
-0002824589 00000 n 
-0002824745 00000 n 
-0002824899 00000 n 
-0002825053 00000 n 
-0002825208 00000 n 
-0002825364 00000 n 
-0002825520 00000 n 
-0002825676 00000 n 
-0002825832 00000 n 
-0002825988 00000 n 
-0002826145 00000 n 
-0002826300 00000 n 
-0002826455 00000 n 
-0002826610 00000 n 
-0002851367 00000 n 
-0002832499 00000 n 
-0002826964 00000 n 
-0002851305 00000 n 
-0002833761 00000 n 
-0002833918 00000 n 
-0002834073 00000 n 
-0002834229 00000 n 
-0002834385 00000 n 
-0002834540 00000 n 
-0002834697 00000 n 
-0002834852 00000 n 
-0002835009 00000 n 
-0002835166 00000 n 
-0002835323 00000 n 
-0002835479 00000 n 
-0002835635 00000 n 
-0002835792 00000 n 
-0002835949 00000 n 
-0002836106 00000 n 
-0002836263 00000 n 
-0002836420 00000 n 
-0002836576 00000 n 
-0002836733 00000 n 
-0002836890 00000 n 
-0002837047 00000 n 
-0002837204 00000 n 
-0002837360 00000 n 
-0002837515 00000 n 
-0002837671 00000 n 
-0002837828 00000 n 
-0002837984 00000 n 
-0002838140 00000 n 
-0002838297 00000 n 
-0002838454 00000 n 
-0002838609 00000 n 
-0002838766 00000 n 
-0002838923 00000 n 
-0002839080 00000 n 
-0002839237 00000 n 
-0002839393 00000 n 
-0002839550 00000 n 
-0002839705 00000 n 
-0002839862 00000 n 
-0002840019 00000 n 
-0002840176 00000 n 
-0002840333 00000 n 
-0002840490 00000 n 
-0002840646 00000 n 
-0002840799 00000 n 
-0002840956 00000 n 
-0002841112 00000 n 
-0002841268 00000 n 
-0002841424 00000 n 
-0002841581 00000 n 
-0002841737 00000 n 
-0002841894 00000 n 
-0002842051 00000 n 
-0002842206 00000 n 
-0002842361 00000 n 
-0002842518 00000 n 
-0002842674 00000 n 
-0002842831 00000 n 
-0002842988 00000 n 
-0002843145 00000 n 
-0002843301 00000 n 
-0002843458 00000 n 
-0002843613 00000 n 
-0002843770 00000 n 
-0002843926 00000 n 
-0002844083 00000 n 
-0002844240 00000 n 
-0002844396 00000 n 
-0002844552 00000 n 
-0002844708 00000 n 
-0002844865 00000 n 
-0002845022 00000 n 
-0002845179 00000 n 
-0002845336 00000 n 
-0002845493 00000 n 
-0002845649 00000 n 
-0002845806 00000 n 
-0002845963 00000 n 
-0002846120 00000 n 
-0002846277 00000 n 
-0002846434 00000 n 
-0002846588 00000 n 
-0002846745 00000 n 
-0002846900 00000 n 
-0002847057 00000 n 
-0002847213 00000 n 
-0002847370 00000 n 
-0002847525 00000 n 
-0002847682 00000 n 
-0002847839 00000 n 
-0002847996 00000 n 
-0002848153 00000 n 
-0002848310 00000 n 
-0002848467 00000 n 
-0002848622 00000 n 
-0002848779 00000 n 
-0002848936 00000 n 
-0002849093 00000 n 
-0002849250 00000 n 
-0002849407 00000 n 
-0002849561 00000 n 
-0002849717 00000 n 
-0002849874 00000 n 
-0002850031 00000 n 
-0002850188 00000 n 
-0002850345 00000 n 
-0002850501 00000 n 
-0002850658 00000 n 
-0002850815 00000 n 
-0002850971 00000 n 
-0002851126 00000 n 
-0002874521 00000 n 
-0002856487 00000 n 
-0002851480 00000 n 
+0002779109 00000 n 
+0002779403 00000 n 
+0002798763 00000 n 
+0002799322 00000 n 
+0002814709 00000 n 
+0002815092 00000 n 
+0002837157 00000 n 
+0002837864 00000 n 
+0002856851 00000 n 
+0002872551 00000 n 
+0002872673 00000 n 
+0002872800 00000 n 
+0002872928 00000 n 
+0002873056 00000 n 
+0002873184 00000 n 
+0002873312 00000 n 
+0002873440 00000 n 
+0002873568 00000 n 
+0002873696 00000 n 
+0002873824 00000 n 
+0002873952 00000 n 
+0002874085 00000 n 
+0002874189 00000 n 
+0002874324 00000 n 
 0002874459 00000 n 
-0002857699 00000 n 
-0002857855 00000 n 
-0002858010 00000 n 
-0002858167 00000 n 
-0002858323 00000 n 
-0002858480 00000 n 
-0002858637 00000 n 
-0002858794 00000 n 
-0002858948 00000 n 
-0002859104 00000 n 
-0002859261 00000 n 
-0002859418 00000 n 
-0002859575 00000 n 
-0002859732 00000 n 
-0002859887 00000 n 
-0002860044 00000 n 
-0002860201 00000 n 
-0002860358 00000 n 
-0002860515 00000 n 
-0002860671 00000 n 
-0002860827 00000 n 
-0002860984 00000 n 
-0002861141 00000 n 
-0002861298 00000 n 
-0002861453 00000 n 
-0002861609 00000 n 
-0002861766 00000 n 
-0002861923 00000 n 
-0002862080 00000 n 
-0002862237 00000 n 
-0002862391 00000 n 
-0002862548 00000 n 
-0002862705 00000 n 
-0002862862 00000 n 
-0002863019 00000 n 
-0002863176 00000 n 
-0002863333 00000 n 
-0002863490 00000 n 
-0002863644 00000 n 
-0002863801 00000 n 
-0002863957 00000 n 
-0002864114 00000 n 
-0002864271 00000 n 
-0002864425 00000 n 
-0002864581 00000 n 
-0002864737 00000 n 
-0002864893 00000 n 
-0002865050 00000 n 
-0002865205 00000 n 
-0002865362 00000 n 
-0002865519 00000 n 
-0002865675 00000 n 
-0002865831 00000 n 
-0002865987 00000 n 
-0002866144 00000 n 
-0002866301 00000 n 
-0002866458 00000 n 
-0002866614 00000 n 
-0002866771 00000 n 
-0002866926 00000 n 
-0002867083 00000 n 
-0002867239 00000 n 
-0002867396 00000 n 
-0002867553 00000 n 
-0002867709 00000 n 
-0002867866 00000 n 
-0002868022 00000 n 
-0002868179 00000 n 
-0002868336 00000 n 
-0002868493 00000 n 
-0002868650 00000 n 
-0002868807 00000 n 
-0002868963 00000 n 
-0002869119 00000 n 
-0002869276 00000 n 
-0002869433 00000 n 
-0002869590 00000 n 
-0002869747 00000 n 
-0002869902 00000 n 
-0002870056 00000 n 
-0002870213 00000 n 
-0002870370 00000 n 
-0002870527 00000 n 
-0002870684 00000 n 
-0002870839 00000 n 
-0002870994 00000 n 
-0002871151 00000 n 
-0002871307 00000 n 
-0002871464 00000 n 
-0002871621 00000 n 
-0002871778 00000 n 
-0002871933 00000 n 
-0002872090 00000 n 
-0002872246 00000 n 
-0002872403 00000 n 
-0002872560 00000 n 
-0002872717 00000 n 
-0002872872 00000 n 
-0002873029 00000 n 
-0002873185 00000 n 
-0002873342 00000 n 
-0002873498 00000 n 
-0002873655 00000 n 
-0002873811 00000 n 
-0002873968 00000 n 
-0002874125 00000 n 
-0002874280 00000 n 
-0003271354 00000 n 
-0002898335 00000 n 
-0002880125 00000 n 
-0002874634 00000 n 
-0002898273 00000 n 
-0002881347 00000 n 
-0002881504 00000 n 
-0002881659 00000 n 
-0002881816 00000 n 
-0002881973 00000 n 
-0002882130 00000 n 
-0002882287 00000 n 
-0002882442 00000 n 
-0002882599 00000 n 
-0002882756 00000 n 
-0002882913 00000 n 
-0002883070 00000 n 
-0002883226 00000 n 
-0002883381 00000 n 
-0002883538 00000 n 
-0002883694 00000 n 
-0002883851 00000 n 
-0002884008 00000 n 
-0002884165 00000 n 
-0002884321 00000 n 
-0002884478 00000 n 
-0002884634 00000 n 
-0002884791 00000 n 
-0002884948 00000 n 
-0002885105 00000 n 
-0002885262 00000 n 
-0002885419 00000 n 
-0002885575 00000 n 
-0002885732 00000 n 
-0002885889 00000 n 
-0002886046 00000 n 
-0002886203 00000 n 
-0002886360 00000 n 
-0002886515 00000 n 
-0002886672 00000 n 
-0002886829 00000 n 
-0002886986 00000 n 
-0002887143 00000 n 
-0002887299 00000 n 
-0002887456 00000 n 
-0002887612 00000 n 
-0002887768 00000 n 
-0002887925 00000 n 
-0002888081 00000 n 
-0002888238 00000 n 
-0002888395 00000 n 
-0002888551 00000 n 
-0002888708 00000 n 
-0002888865 00000 n 
-0002889021 00000 n 
-0002889178 00000 n 
-0002889335 00000 n 
-0002889491 00000 n 
-0002889647 00000 n 
-0002889804 00000 n 
-0002889960 00000 n 
-0002890115 00000 n 
-0002890272 00000 n 
-0002890427 00000 n 
-0002890584 00000 n 
-0002890741 00000 n 
-0002890898 00000 n 
-0002891055 00000 n 
-0002891210 00000 n 
-0002891367 00000 n 
-0002891524 00000 n 
-0002891681 00000 n 
-0002891838 00000 n 
-0002891995 00000 n 
-0002892150 00000 n 
-0002892307 00000 n 
-0002892464 00000 n 
-0002892621 00000 n 
-0002892778 00000 n 
-0002892933 00000 n 
-0002893090 00000 n 
-0002893246 00000 n 
-0002893403 00000 n 
-0002893559 00000 n 
-0002893716 00000 n 
-0002893873 00000 n 
-0002894030 00000 n 
-0002894187 00000 n 
-0002894344 00000 n 
-0002894499 00000 n 
-0002894656 00000 n 
-0002894813 00000 n 
-0002894970 00000 n 
-0002895127 00000 n 
-0002895284 00000 n 
-0002895437 00000 n 
-0002895594 00000 n 
-0002895751 00000 n 
-0002895908 00000 n 
-0002896062 00000 n 
-0002896219 00000 n 
-0002896376 00000 n 
-0002896533 00000 n 
-0002896689 00000 n 
-0002896846 00000 n 
-0002897002 00000 n 
-0002897157 00000 n 
-0002897313 00000 n 
-0002897470 00000 n 
-0002897627 00000 n 
-0002897783 00000 n 
-0002897939 00000 n 
-0002898094 00000 n 
-0002924041 00000 n 
-0002904169 00000 n 
-0002898461 00000 n 
-0002923979 00000 n 
-0002905491 00000 n 
-0002905648 00000 n 
-0002905804 00000 n 
-0002905961 00000 n 
-0002906118 00000 n 
-0002906275 00000 n 
-0002906432 00000 n 
-0002906589 00000 n 
-0002906744 00000 n 
-0002906901 00000 n 
-0002907057 00000 n 
-0002907213 00000 n 
-0002907370 00000 n 
-0002907526 00000 n 
-0002907683 00000 n 
-0002907839 00000 n 
-0002907995 00000 n 
-0002908151 00000 n 
-0002908308 00000 n 
-0002908465 00000 n 
-0002908622 00000 n 
-0002908779 00000 n 
-0002908934 00000 n 
-0002909091 00000 n 
-0002909247 00000 n 
-0002909404 00000 n 
-0002909561 00000 n 
-0002909717 00000 n 
-0002909873 00000 n 
-0002910030 00000 n 
-0002910187 00000 n 
-0002910344 00000 n 
-0002910501 00000 n 
-0002910658 00000 n 
-0002910813 00000 n 
-0002910970 00000 n 
-0002911127 00000 n 
-0002911284 00000 n 
-0002911441 00000 n 
-0002911598 00000 n 
-0002911753 00000 n 
-0002911910 00000 n 
-0002912065 00000 n 
-0002912222 00000 n 
-0002912379 00000 n 
-0002912535 00000 n 
-0002912692 00000 n 
-0002912848 00000 n 
-0002913005 00000 n 
-0002913162 00000 n 
-0002913319 00000 n 
-0002913476 00000 n 
-0002913633 00000 n 
-0002913789 00000 n 
-0002913946 00000 n 
-0002914103 00000 n 
-0002914259 00000 n 
-0002914414 00000 n 
-0002914571 00000 n 
-0002914727 00000 n 
-0002914884 00000 n 
-0002915040 00000 n 
-0002915195 00000 n 
-0002915352 00000 n 
-0002915509 00000 n 
-0002915665 00000 n 
-0002915822 00000 n 
-0002915979 00000 n 
-0002916133 00000 n 
-0002916290 00000 n 
-0002916447 00000 n 
-0002916604 00000 n 
-0002916761 00000 n 
-0002916918 00000 n 
-0002917075 00000 n 
-0002917231 00000 n 
-0002917386 00000 n 
-0002917543 00000 n 
-0002917700 00000 n 
-0002917857 00000 n 
-0002918014 00000 n 
-0002918171 00000 n 
-0002918327 00000 n 
-0002918484 00000 n 
-0002918641 00000 n 
-0002918798 00000 n 
-0002918955 00000 n 
-0002919109 00000 n 
-0002919266 00000 n 
-0002919420 00000 n 
-0002919577 00000 n 
-0002919734 00000 n 
-0002919891 00000 n 
-0002920045 00000 n 
-0002920202 00000 n 
-0002920358 00000 n 
-0002920515 00000 n 
-0002920672 00000 n 
-0002920829 00000 n 
-0002920985 00000 n 
-0002921142 00000 n 
-0002921299 00000 n 
-0002921456 00000 n 
-0002921613 00000 n 
-0002921770 00000 n 
-0002921923 00000 n 
-0002922080 00000 n 
-0002922236 00000 n 
-0002922393 00000 n 
-0002922550 00000 n 
-0002922706 00000 n 
-0002922863 00000 n 
-0002923020 00000 n 
-0002923176 00000 n 
-0002923333 00000 n 
-0002923489 00000 n 
-0002923645 00000 n 
-0002923800 00000 n 
-0002947851 00000 n 
-0002929486 00000 n 
-0002924154 00000 n 
-0002947789 00000 n 
-0002930718 00000 n 
-0002930875 00000 n 
-0002931031 00000 n 
-0002931187 00000 n 
-0002931343 00000 n 
-0002931500 00000 n 
-0002931657 00000 n 
-0002931814 00000 n 
-0002931971 00000 n 
-0002932126 00000 n 
-0002932283 00000 n 
-0002932440 00000 n 
-0002932597 00000 n 
-0002932753 00000 n 
-0002932910 00000 n 
-0002933066 00000 n 
-0002933222 00000 n 
-0002933379 00000 n 
-0002933536 00000 n 
-0002933692 00000 n 
-0002933848 00000 n 
-0002934004 00000 n 
-0002934161 00000 n 
-0002934316 00000 n 
-0002934473 00000 n 
-0002934630 00000 n 
-0002934787 00000 n 
-0002934942 00000 n 
-0002935099 00000 n 
-0002935256 00000 n 
-0002935413 00000 n 
-0002935570 00000 n 
-0002935727 00000 n 
-0002935882 00000 n 
-0002936039 00000 n 
-0002936194 00000 n 
-0002936350 00000 n 
-0002936506 00000 n 
-0002936663 00000 n 
+0002874543 00000 n 
+0002874630 00000 n 
+0002882264 00000 n 
+0002882435 00000 n 
+0002882777 00000 n 
+0002883507 00000 n 
+0002884237 00000 n 
+0002884967 00000 n 
+0002885697 00000 n 
+0002886427 00000 n 
+0002887157 00000 n 
+0002887887 00000 n 
+0002888617 00000 n 
+0002889347 00000 n 
+0002890077 00000 n 
+0002890807 00000 n 
+0002891537 00000 n 
+0002892267 00000 n 
+0002892997 00000 n 
+0002893727 00000 n 
+0002894457 00000 n 
+0002895187 00000 n 
+0002895917 00000 n 
+0002896643 00000 n 
+0002897354 00000 n 
+0002898036 00000 n 
+0002898718 00000 n 
+0002899400 00000 n 
+0002900082 00000 n 
+0002900764 00000 n 
+0002901446 00000 n 
+0002902128 00000 n 
+0002902810 00000 n 
+0002903492 00000 n 
+0002904174 00000 n 
+0002904856 00000 n 
+0002905538 00000 n 
+0002906220 00000 n 
+0002906902 00000 n 
+0002907584 00000 n 
+0002908266 00000 n 
+0002908948 00000 n 
+0002909583 00000 n 
+0002910345 00000 n 
+0002911107 00000 n 
+0002911869 00000 n 
+0002912581 00000 n 
+0002913359 00000 n 
+0002914137 00000 n 
+0002914915 00000 n 
+0002915693 00000 n 
+0002916471 00000 n 
+0002917249 00000 n 
+0002918027 00000 n 
+0002918805 00000 n 
+0002919583 00000 n 
+0002920361 00000 n 
+0002921139 00000 n 
+0002921917 00000 n 
+0002922695 00000 n 
+0002923473 00000 n 
+0002924251 00000 n 
+0002925029 00000 n 
+0002925807 00000 n 
+0002926527 00000 n 
+0002927265 00000 n 
+0002928003 00000 n 
+0002928741 00000 n 
+0002929470 00000 n 
+0002930244 00000 n 
+0002931198 00000 n 
+0002932095 00000 n 
+0002932897 00000 n 
+0002933699 00000 n 
+0002934501 00000 n 
+0002935303 00000 n 
+0002936081 00000 n 
 0002936819 00000 n 
-0002936976 00000 n 
-0002937133 00000 n 
-0002937290 00000 n 
-0002937447 00000 n 
-0002937604 00000 n 
-0002937761 00000 n 
-0002937915 00000 n 
-0002938072 00000 n 
-0002938228 00000 n 
-0002938385 00000 n 
-0002938542 00000 n 
-0002938699 00000 n 
-0002938855 00000 n 
-0002939012 00000 n 
-0002939168 00000 n 
-0002939323 00000 n 
-0002939478 00000 n 
-0002939634 00000 n 
-0002939791 00000 n 
-0002939947 00000 n 
-0002940104 00000 n 
-0002940260 00000 n 
-0002940417 00000 n 
-0002940574 00000 n 
-0002940731 00000 n 
-0002940886 00000 n 
-0002941043 00000 n 
-0002941200 00000 n 
-0002941357 00000 n 
-0002941514 00000 n 
-0002941671 00000 n 
-0002941827 00000 n 
-0002941983 00000 n 
-0002942140 00000 n 
-0002942297 00000 n 
-0002942453 00000 n 
-0002942608 00000 n 
-0002942764 00000 n 
-0002942921 00000 n 
-0002943078 00000 n 
-0002943234 00000 n 
-0002943388 00000 n 
-0002943545 00000 n 
-0002943701 00000 n 
-0002943858 00000 n 
-0002944015 00000 n 
-0002944172 00000 n 
-0002944327 00000 n 
-0002944484 00000 n 
-0002944640 00000 n 
-0002944797 00000 n 
-0002944953 00000 n 
-0002945110 00000 n 
-0002945265 00000 n 
-0002945422 00000 n 
-0002945579 00000 n 
-0002945736 00000 n 
-0002945893 00000 n 
-0002946047 00000 n 
-0002946204 00000 n 
-0002946361 00000 n 
-0002946517 00000 n 
-0002946674 00000 n 
-0002946830 00000 n 
-0002946986 00000 n 
-0002947142 00000 n 
-0002947299 00000 n 
-0002947455 00000 n 
-0002947610 00000 n 
-0002969831 00000 n 
-0002953149 00000 n 
-0002947964 00000 n 
-0002969769 00000 n 
-0002954281 00000 n 
-0002954438 00000 n 
-0002954594 00000 n 
-0002954750 00000 n 
-0002954906 00000 n 
-0002955063 00000 n 
-0002955220 00000 n 
-0002955377 00000 n 
-0002955532 00000 n 
-0002955689 00000 n 
-0002955845 00000 n 
-0002956002 00000 n 
-0002956159 00000 n 
-0002956315 00000 n 
-0002956472 00000 n 
-0002956629 00000 n 
-0002956785 00000 n 
-0002956942 00000 n 
-0002957099 00000 n 
-0002957255 00000 n 
-0002957412 00000 n 
-0002957569 00000 n 
-0002957724 00000 n 
-0002957880 00000 n 
-0002958037 00000 n 
-0002958193 00000 n 
-0002958350 00000 n 
-0002958507 00000 n 
-0002958664 00000 n 
-0002958819 00000 n 
-0002958974 00000 n 
-0002959130 00000 n 
-0002959287 00000 n 
-0002959444 00000 n 
-0002959601 00000 n 
-0002959758 00000 n 
-0002959913 00000 n 
-0002960070 00000 n 
-0002960226 00000 n 
-0002960383 00000 n 
-0002960540 00000 n 
-0002960696 00000 n 
-0002960853 00000 n 
-0002961008 00000 n 
-0002961165 00000 n 
-0002961322 00000 n 
-0002961479 00000 n 
-0002961636 00000 n 
-0002961789 00000 n 
-0002961946 00000 n 
-0002962103 00000 n 
-0002962260 00000 n 
-0002962417 00000 n 
-0002962574 00000 n 
-0002962730 00000 n 
-0002962887 00000 n 
-0002963044 00000 n 
-0002963199 00000 n 
-0002963354 00000 n 
-0002963511 00000 n 
-0002963667 00000 n 
-0002963824 00000 n 
-0002963979 00000 n 
-0002964136 00000 n 
-0002964292 00000 n 
-0002964448 00000 n 
-0002964603 00000 n 
-0002964760 00000 n 
-0002964917 00000 n 
-0002965074 00000 n 
-0002965230 00000 n 
-0002965386 00000 n 
-0002965543 00000 n 
-0002965700 00000 n 
-0002965857 00000 n 
-0002966013 00000 n 
-0002966169 00000 n 
-0002966325 00000 n 
-0002966482 00000 n 
-0002966638 00000 n 
-0002966795 00000 n 
-0002966952 00000 n 
-0002967108 00000 n 
-0002967263 00000 n 
-0002967416 00000 n 
-0002967572 00000 n 
-0002967727 00000 n 
-0002967883 00000 n 
-0002968038 00000 n 
-0002968194 00000 n 
-0002968348 00000 n 
-0002968504 00000 n 
-0002968659 00000 n 
-0002968815 00000 n 
-0002968971 00000 n 
-0002969127 00000 n 
-0002969282 00000 n 
-0002969436 00000 n 
-0002969590 00000 n 
-0002987431 00000 n 
-0002974281 00000 n 
-0002969944 00000 n 
-0002987369 00000 n 
-0002975203 00000 n 
-0002975359 00000 n 
-0002975514 00000 n 
-0002975670 00000 n 
-0002975825 00000 n 
-0002975981 00000 n 
-0002976137 00000 n 
-0002976291 00000 n 
-0002976443 00000 n 
-0002976597 00000 n 
-0002976752 00000 n 
-0002976908 00000 n 
-0002977064 00000 n 
-0002977220 00000 n 
-0002977374 00000 n 
-0002977529 00000 n 
-0002977683 00000 n 
-0002977839 00000 n 
-0002977995 00000 n 
-0002978149 00000 n 
-0002978304 00000 n 
-0002978460 00000 n 
-0002978616 00000 n 
-0002978772 00000 n 
-0002978928 00000 n 
-0002979083 00000 n 
-0002979238 00000 n 
-0002979392 00000 n 
-0002979546 00000 n 
-0002979702 00000 n 
-0002979858 00000 n 
-0002980013 00000 n 
-0002980168 00000 n 
-0002980324 00000 n 
-0002980479 00000 n 
-0002980635 00000 n 
-0002980791 00000 n 
-0002980945 00000 n 
-0002981100 00000 n 
-0002981255 00000 n 
-0002981411 00000 n 
-0002981567 00000 n 
-0002981722 00000 n 
-0002981877 00000 n 
-0002982033 00000 n 
-0002982189 00000 n 
-0002982345 00000 n 
-0002982501 00000 n 
-0002982656 00000 n 
-0002982812 00000 n 
-0002982969 00000 n 
-0002983124 00000 n 
-0002983281 00000 n 
-0002983437 00000 n 
-0002983594 00000 n 
-0002983751 00000 n 
-0002983907 00000 n 
-0002984064 00000 n 
-0002984221 00000 n 
-0002984378 00000 n 
-0002984534 00000 n 
-0002984691 00000 n 
-0002984848 00000 n 
-0002985005 00000 n 
-0002985161 00000 n 
-0002985318 00000 n 
-0002985474 00000 n 
-0002985631 00000 n 
-0002985788 00000 n 
-0002985944 00000 n 
-0002986101 00000 n 
-0002986256 00000 n 
-0002986413 00000 n 
-0002986568 00000 n 
-0002986724 00000 n 
-0002986881 00000 n 
-0002987036 00000 n 
-0002987190 00000 n 
-0003001560 00000 n 
-0002990863 00000 n 
-0002987531 00000 n 
-0003001498 00000 n 
-0002991635 00000 n 
-0002991790 00000 n 
-0002991947 00000 n 
-0002992104 00000 n 
-0002992261 00000 n 
-0002992416 00000 n 
-0002992572 00000 n 
-0002992729 00000 n 
-0002992885 00000 n 
-0002993041 00000 n 
-0002993198 00000 n 
-0002993355 00000 n 
-0002993512 00000 n 
-0002993669 00000 n 
-0002993826 00000 n 
-0002993982 00000 n 
-0002994139 00000 n 
-0002994294 00000 n 
-0002994449 00000 n 
-0002994606 00000 n 
-0002994762 00000 n 
-0002994919 00000 n 
-0002995075 00000 n 
-0002995231 00000 n 
-0002995386 00000 n 
-0002995542 00000 n 
-0002995698 00000 n 
-0002995855 00000 n 
-0002996012 00000 n 
-0002996169 00000 n 
-0002996325 00000 n 
-0002996482 00000 n 
-0002996639 00000 n 
-0002996796 00000 n 
-0002996952 00000 n 
-0002997108 00000 n 
-0002997264 00000 n 
-0002997421 00000 n 
-0002997578 00000 n 
-0002997735 00000 n 
-0002997892 00000 n 
-0002998049 00000 n 
-0002998206 00000 n 
-0002998361 00000 n 
-0002998516 00000 n 
-0002998672 00000 n 
-0002998827 00000 n 
-0002998982 00000 n 
-0002999138 00000 n 
-0002999293 00000 n 
-0002999447 00000 n 
-0002999603 00000 n 
-0002999760 00000 n 
-0002999917 00000 n 
-0003000072 00000 n 
-0003000227 00000 n 
-0003000383 00000 n 
-0003000540 00000 n 
-0003000695 00000 n 
-0003000850 00000 n 
-0003001007 00000 n 
-0003001164 00000 n 
-0003001319 00000 n 
-0003271487 00000 n 
-0003015917 00000 n 
-0003005205 00000 n 
-0003001660 00000 n 
-0003015855 00000 n 
-0003005977 00000 n 
-0003006133 00000 n 
-0003006290 00000 n 
-0003006447 00000 n 
-0003006602 00000 n 
-0003006759 00000 n 
-0003006916 00000 n 
-0003007072 00000 n 
-0003007229 00000 n 
-0003007385 00000 n 
-0003007542 00000 n 
-0003007699 00000 n 
-0003007856 00000 n 
-0003008013 00000 n 
-0003008170 00000 n 
-0003008325 00000 n 
-0003008482 00000 n 
-0003008639 00000 n 
-0003008794 00000 n 
-0003008950 00000 n 
-0003009107 00000 n 
-0003009264 00000 n 
-0003009421 00000 n 
-0003009578 00000 n 
-0003009735 00000 n 
-0003009892 00000 n 
-0003010045 00000 n 
-0003010202 00000 n 
-0003010359 00000 n 
-0003010516 00000 n 
-0003010673 00000 n 
-0003010829 00000 n 
-0003010984 00000 n 
-0003011140 00000 n 
-0003011296 00000 n 
-0003011453 00000 n 
-0003011608 00000 n 
-0003011765 00000 n 
-0003011922 00000 n 
-0003012078 00000 n 
-0003012235 00000 n 
-0003012392 00000 n 
-0003012549 00000 n 
-0003012706 00000 n 
-0003012863 00000 n 
-0003013020 00000 n 
-0003013175 00000 n 
-0003013332 00000 n 
-0003013489 00000 n 
-0003013646 00000 n 
-0003013803 00000 n 
-0003013960 00000 n 
-0003014116 00000 n 
-0003014270 00000 n 
-0003014425 00000 n 
-0003014582 00000 n 
-0003014739 00000 n 
-0003014895 00000 n 
-0003015051 00000 n 
-0003015208 00000 n 
-0003015364 00000 n 
-0003015520 00000 n 
-0003015676 00000 n 
-0003026139 00000 n 
-0003018445 00000 n 
-0003016017 00000 n 
-0003026077 00000 n 
-0003019037 00000 n 
-0003019193 00000 n 
-0003019349 00000 n 
-0003019506 00000 n 
-0003019663 00000 n 
-0003019820 00000 n 
-0003019975 00000 n 
-0003020131 00000 n 
-0003020288 00000 n 
-0003020444 00000 n 
-0003020600 00000 n 
-0003020757 00000 n 
-0003020914 00000 n 
-0003021071 00000 n 
-0003021227 00000 n 
-0003021382 00000 n 
-0003021537 00000 n 
-0003021693 00000 n 
-0003021848 00000 n 
-0003022003 00000 n 
-0003022159 00000 n 
-0003022314 00000 n 
-0003022469 00000 n 
-0003022625 00000 n 
-0003022780 00000 n 
-0003022935 00000 n 
-0003023091 00000 n 
-0003023246 00000 n 
-0003023401 00000 n 
-0003023557 00000 n 
-0003023711 00000 n 
-0003023867 00000 n 
-0003024023 00000 n 
-0003024179 00000 n 
-0003024335 00000 n 
-0003024491 00000 n 
-0003024648 00000 n 
-0003024805 00000 n 
-0003024961 00000 n 
-0003025117 00000 n 
-0003025273 00000 n 
-0003025429 00000 n 
-0003025585 00000 n 
-0003025742 00000 n 
-0003025898 00000 n 
-0003028647 00000 n 
-0003028613 00000 n 
-0003032001 00000 n 
-0003031932 00000 n 
-0003034446 00000 n 
-0003034420 00000 n 
-0003038044 00000 n 
-0003037966 00000 n 
-0003043052 00000 n 
-0003042849 00000 n 
-0003048533 00000 n 
-0003048259 00000 n 
-0003052245 00000 n 
-0003052077 00000 n 
-0003054554 00000 n 
-0003054484 00000 n 
-0003056935 00000 n 
-0003056903 00000 n 
-0003059296 00000 n 
-0003059264 00000 n 
-0003059405 00000 n 
-0003077254 00000 n 
-0003086340 00000 n 
-0003088902 00000 n 
-0003088876 00000 n 
-0003091057 00000 n 
-0003090834 00000 n 
-0003093520 00000 n 
-0003093465 00000 n 
-0003096706 00000 n 
-0003096589 00000 n 
-0003103932 00000 n 
-0003103626 00000 n 
-0003106805 00000 n 
-0003106775 00000 n 
-0003109686 00000 n 
-0003109461 00000 n 
-0003114442 00000 n 
-0003114348 00000 n 
-0003117250 00000 n 
-0003117143 00000 n 
-0003124313 00000 n 
-0003124071 00000 n 
-0003135518 00000 n 
-0003135172 00000 n 
-0003141969 00000 n 
-0003141726 00000 n 
-0003147106 00000 n 
-0003147010 00000 n 
-0003167084 00000 n 
-0003179839 00000 n 
-0003179495 00000 n 
-0003201061 00000 n 
-0003221589 00000 n 
-0003225345 00000 n 
-0003225070 00000 n 
-0003227978 00000 n 
-0003227944 00000 n 
-0003237712 00000 n 
-0003237369 00000 n 
-0003261461 00000 n 
-0003271590 00000 n 
-0003271712 00000 n 
-0003271840 00000 n 
-0003271968 00000 n 
-0003272096 00000 n 
-0003272224 00000 n 
-0003272352 00000 n 
-0003272480 00000 n 
-0003272608 00000 n 
-0003272736 00000 n 
-0003272864 00000 n 
-0003272992 00000 n 
-0003273126 00000 n 
-0003273230 00000 n 
-0003273365 00000 n 
-0003273500 00000 n 
-0003273584 00000 n 
-0003273671 00000 n 
-0003281305 00000 n 
-0003492609 00000 n 
-0003492652 00000 n 
-0003492694 00000 n 
-0003492832 00000 n 
+0002937557 00000 n 
+0002938262 00000 n 
+0002939000 00000 n 
+0002939738 00000 n 
+0002940476 00000 n 
+0002941214 00000 n 
+0002941952 00000 n 
+0002942750 00000 n 
+0002943704 00000 n 
+0002944544 00000 n 
+0002945346 00000 n 
+0002946148 00000 n 
+0002946950 00000 n 
+0002947728 00000 n 
+0002948466 00000 n 
+0002949332 00000 n 
+0002950070 00000 n 
+0002950823 00000 n 
+0002951558 00000 n 
+0002952304 00000 n 
+0002953050 00000 n 
+0002953796 00000 n 
+0002954449 00000 n 
+0002955203 00000 n 
+0002955957 00000 n 
+0002956639 00000 n 
+0002957369 00000 n 
+0002958099 00000 n 
+0002958957 00000 n 
+0002959687 00000 n 
+0002960424 00000 n 
+0002961304 00000 n 
+0002962212 00000 n 
+0002963006 00000 n 
+0002963800 00000 n 
+0002964594 00000 n 
+0002965356 00000 n 
+0002966086 00000 n 
+0002966816 00000 n 
+0002967497 00000 n 
+0002968187 00000 n 
+0002968877 00000 n 
+0002969567 00000 n 
+0002970257 00000 n 
+0002970947 00000 n 
+0002971637 00000 n 
+0002972327 00000 n 
+0002973017 00000 n 
+0002973707 00000 n 
+0002974397 00000 n 
+0002975087 00000 n 
+0002975777 00000 n 
+0002976467 00000 n 
+0002977202 00000 n 
+0002977953 00000 n 
+0002978795 00000 n 
+0002979669 00000 n 
+0002980447 00000 n 
+0002981225 00000 n 
+0002981982 00000 n 
+0002982976 00000 n 
+0002983913 00000 n 
+0002984755 00000 n 
+0002985597 00000 n 
+0002986439 00000 n 
+0002987281 00000 n 
+0002988123 00000 n 
+0002988901 00000 n 
+0002989679 00000 n 
+0002990391 00000 n 
+0002991081 00000 n 
+0002991771 00000 n 
+0002992461 00000 n 
+0002993151 00000 n 
+0002993841 00000 n 
+0002994569 00000 n 
+0002995297 00000 n 
+0002996019 00000 n 
+0002996741 00000 n 
+0002997490 00000 n 
+0002998292 00000 n 
+0002999094 00000 n 
+0002999896 00000 n 
+0003000698 00000 n 
+0003001500 00000 n 
+0003002302 00000 n 
+0003003104 00000 n 
+0003003849 00000 n 
+0003004667 00000 n 
+0003005421 00000 n 
+0003006175 00000 n 
+0003006929 00000 n 
+0003007683 00000 n 
+0003008565 00000 n 
+0003009319 00000 n 
+0003010054 00000 n 
+0003010832 00000 n 
+0003011610 00000 n 
+0003012347 00000 n 
+0003013093 00000 n 
+0003013879 00000 n 
+0003014665 00000 n 
+0003015451 00000 n 
+0003016237 00000 n 
+0003017023 00000 n 
+0003017809 00000 n 
+0003018595 00000 n 
+0003019381 00000 n 
+0003020167 00000 n 
+0003020953 00000 n 
+0003021739 00000 n 
+0003022525 00000 n 
+0003023311 00000 n 
+0003024097 00000 n 
+0003024883 00000 n 
+0003025669 00000 n 
+0003026454 00000 n 
+0003027328 00000 n 
+0003028202 00000 n 
+0003029076 00000 n 
+0003029950 00000 n 
+0003030824 00000 n 
+0003031698 00000 n 
+0003032572 00000 n 
+0003033446 00000 n 
+0003034320 00000 n 
+0003035194 00000 n 
+0003036068 00000 n 
+0003036942 00000 n 
+0003037816 00000 n 
+0003038690 00000 n 
+0003039564 00000 n 
+0003040438 00000 n 
+0003041233 00000 n 
+0003042035 00000 n 
+0003042837 00000 n 
+0003043639 00000 n 
+0003044441 00000 n 
+0003045243 00000 n 
+0003046045 00000 n 
+0003046847 00000 n 
+0003047649 00000 n 
+0003048451 00000 n 
+0003049253 00000 n 
+0003050055 00000 n 
+0003050857 00000 n 
+0003051659 00000 n 
+0003052461 00000 n 
+0003053263 00000 n 
+0003054036 00000 n 
+0003054846 00000 n 
+0003055656 00000 n 
+0003056433 00000 n 
+0003057243 00000 n 
+0003057975 00000 n 
+0003058713 00000 n 
+0003059451 00000 n 
+0003060189 00000 n 
+0003060927 00000 n 
+0003061665 00000 n 
+0003062403 00000 n 
+0003063141 00000 n 
+0003063879 00000 n 
+0003064617 00000 n 
+0003065355 00000 n 
+0003066093 00000 n 
+0003066831 00000 n 
+0003067569 00000 n 
+0003068307 00000 n 
+0003069045 00000 n 
+0003069783 00000 n 
+0003070521 00000 n 
+0003071259 00000 n 
+0003071957 00000 n 
+0003072685 00000 n 
+0003073413 00000 n 
+0003074141 00000 n 
+0003074869 00000 n 
+0003075597 00000 n 
+0003076325 00000 n 
+0003077053 00000 n 
+0003077730 00000 n 
+0003078460 00000 n 
+0003079121 00000 n 
+0003079849 00000 n 
+0003080579 00000 n 
+0003081355 00000 n 
+0003081952 00000 n 
+0003082298 00000 n 
+0003082644 00000 n 
+0003082990 00000 n 
+0003083336 00000 n 
+0003083682 00000 n 
+0003084090 00000 n 
+0003084692 00000 n 
+0003085294 00000 n 
+0003086028 00000 n 
+0003086894 00000 n 
+0003087760 00000 n 
+0003088626 00000 n 
+0003089492 00000 n 
+0003090358 00000 n 
+0003091224 00000 n 
+0003092090 00000 n 
+0003092463 00000 n 
+0003092676 00000 n 
+0003092902 00000 n 
+0003093108 00000 n 
+0003093309 00000 n 
+0003093512 00000 n 
+0003093776 00000 n 
+0003094022 00000 n 
+0003094286 00000 n 
+0003094619 00000 n 
+0003094982 00000 n 
+0003095238 00000 n 
+0003095580 00000 n 
+0003095855 00000 n 
+0003096192 00000 n 
+0003096543 00000 n 
+0003096819 00000 n 
+0003097018 00000 n 
+0003097344 00000 n 
+0003097576 00000 n 
+0003097809 00000 n 
+0003098076 00000 n 
+0003098294 00000 n 
+0003098738 00000 n 
+0003099096 00000 n 
+0003099382 00000 n 
+0003099658 00000 n 
+0003099970 00000 n 
+0003100370 00000 n 
+0003100676 00000 n 
+0003100985 00000 n 
+0003101280 00000 n 
+0003101561 00000 n 
+0003101841 00000 n 
+0003102137 00000 n 
+0003102665 00000 n 
+0003103324 00000 n 
+0003103982 00000 n 
+0003104640 00000 n 
+0003105298 00000 n 
+0003105956 00000 n 
+0003106614 00000 n 
+0003107094 00000 n 
+0003107277 00000 n 
+0003107460 00000 n 
+0003107646 00000 n 
+0003107830 00000 n 
+0003108016 00000 n 
+0003108200 00000 n 
+0003108386 00000 n 
+0003108570 00000 n 
+0003108756 00000 n 
+0003108940 00000 n 
+0003109126 00000 n 
+0003109309 00000 n 
+0003109492 00000 n 
+0003109678 00000 n 
+0003109862 00000 n 
+0003110048 00000 n 
+0003110232 00000 n 
+0003110418 00000 n 
+0003110599 00000 n 
+0003110785 00000 n 
+0003110969 00000 n 
+0003111155 00000 n 
+0003111339 00000 n 
+0003111525 00000 n 
+0003111708 00000 n 
+0003111891 00000 n 
+0003112077 00000 n 
+0003112261 00000 n 
+0003112447 00000 n 
+0003112631 00000 n 
+0003112817 00000 n 
+0003113001 00000 n 
+0003113187 00000 n 
+0003113371 00000 n 
+0003113557 00000 n 
+0003113740 00000 n 
+0003113921 00000 n 
+0003114104 00000 n 
+0003114287 00000 n 
+0003114473 00000 n 
+0003114657 00000 n 
+0003114843 00000 n 
+0003115027 00000 n 
+0003115213 00000 n 
+0003115397 00000 n 
+0003115583 00000 n 
+0003115767 00000 n 
+0003115953 00000 n 
+0003116137 00000 n 
+0003116321 00000 n 
+0003116507 00000 n 
+0003116692 00000 n 
+0003116878 00000 n 
+0003117063 00000 n 
+0003117249 00000 n 
+0003117435 00000 n 
+0003117627 00000 n 
+0003117817 00000 n 
+0003118009 00000 n 
+0003118199 00000 n 
+0003118391 00000 n 
+0003118580 00000 n 
+0003118769 00000 n 
+0003118961 00000 n 
+0003119142 00000 n 
+0003119317 00000 n 
+0003119492 00000 n 
+0003119670 00000 n 
+0003119846 00000 n 
+0003120024 00000 n 
+0003120200 00000 n 
+0003120378 00000 n 
+0003120554 00000 n 
+0003120732 00000 n 
+0003120944 00000 n 
+0003121210 00000 n 
+0003121477 00000 n 
+0003121745 00000 n 
+0003122019 00000 n 
+0003122292 00000 n 
+0003122566 00000 n 
+0003122839 00000 n 
+0003123113 00000 n 
+0003123386 00000 n 
+0003123660 00000 n 
+0003123932 00000 n 
+0003124204 00000 n 
+0003124476 00000 n 
+0003124743 00000 n 
+0003125009 00000 n 
+0003125283 00000 n 
+0003125563 00000 n 
+0003125843 00000 n 
+0003126125 00000 n 
+0003126399 00000 n 
+0003126673 00000 n 
+0003126947 00000 n 
+0003127221 00000 n 
+0003127497 00000 n 
+0003127771 00000 n 
+0003128046 00000 n 
+0003128328 00000 n 
+0003128602 00000 n 
+0003128880 00000 n 
+0003129156 00000 n 
+0003129433 00000 n 
+0003129715 00000 n 
+0003129996 00000 n 
+0003130278 00000 n 
+0003130559 00000 n 
+0003130841 00000 n 
+0003131121 00000 n 
+0003131401 00000 n 
+0003131683 00000 n 
+0003131964 00000 n 
+0003132246 00000 n 
+0003132524 00000 n 
+0003132798 00000 n 
+0003133072 00000 n 
+0003133346 00000 n 
+0003133620 00000 n 
+0003133894 00000 n 
+0003134168 00000 n 
+0003134447 00000 n 
+0003134729 00000 n 
+0003135009 00000 n 
+0003135285 00000 n 
+0003135559 00000 n 
+0003135837 00000 n 
+0003136111 00000 n 
+0003136387 00000 n 
+0003136664 00000 n 
+0003136938 00000 n 
+0003137213 00000 n 
+0003137489 00000 n 
+0003137771 00000 n 
+0003138052 00000 n 
+0003138334 00000 n 
+0003138615 00000 n 
+0003138897 00000 n 
+0003139178 00000 n 
+0003139460 00000 n 
+0003139740 00000 n 
+0003140016 00000 n 
+0003140292 00000 n 
+0003140569 00000 n 
+0003140845 00000 n 
+0003141122 00000 n 
+0003141404 00000 n 
+0003141685 00000 n 
+0003141967 00000 n 
+0003142248 00000 n 
+0003142530 00000 n 
+0003142810 00000 n 
+0003143086 00000 n 
+0003143360 00000 n 
+0003143634 00000 n 
+0003143913 00000 n 
+0003144195 00000 n 
+0003144475 00000 n 
+0003144755 00000 n 
+0003145037 00000 n 
+0003145318 00000 n 
+0003145600 00000 n 
+0003145881 00000 n 
+0003146158 00000 n 
+0003146432 00000 n 
+0003146705 00000 n 
+0003146973 00000 n 
+0003147242 00000 n 
+0003147516 00000 n 
+0003147789 00000 n 
+0003148063 00000 n 
+0003148336 00000 n 
+0003148610 00000 n 
+0003148882 00000 n 
+0003149154 00000 n 
+0003149428 00000 n 
+0003149697 00000 n 
+0003149963 00000 n 
+0003150233 00000 n 
+0003150507 00000 n 
+0003150781 00000 n 
+0003151059 00000 n 
+0003151341 00000 n 
+0003151627 00000 n 
+0003151915 00000 n 
+0003152200 00000 n 
+0003152485 00000 n 
+0003152773 00000 n 
+0003153059 00000 n 
+0003153347 00000 n 
+0003153633 00000 n 
+0003153921 00000 n 
+0003154201 00000 n 
+0003154481 00000 n 
+0003154761 00000 n 
+0003155041 00000 n 
+0003155317 00000 n 
+0003155586 00000 n 
+0003155852 00000 n 
+0003156124 00000 n 
+0003156396 00000 n 
+0003156670 00000 n 
+0003156943 00000 n 
+0003157217 00000 n 
+0003157490 00000 n 
+0003157761 00000 n 
+0003158027 00000 n 
+0003158293 00000 n 
+0003158559 00000 n 
+0003158825 00000 n 
+0003159088 00000 n 
+0003159346 00000 n 
+0003159604 00000 n 
+0003159828 00000 n 
+0003160046 00000 n 
+0003160263 00000 n 
+0003160481 00000 n 
+0003160697 00000 n 
+0003160913 00000 n 
+0003161131 00000 n 
+0003161348 00000 n 
+0003161566 00000 n 
+0003161783 00000 n 
+0003162001 00000 n 
+0003162218 00000 n 
+0003162440 00000 n 
+0003162662 00000 n 
+0003162886 00000 n 
+0003163104 00000 n 
+0003163312 00000 n 
+0003163520 00000 n 
+0003163730 00000 n 
+0003163939 00000 n 
+0003164149 00000 n 
+0003164358 00000 n 
+0003164568 00000 n 
+0003164777 00000 n 
+0003164987 00000 n 
+0003165196 00000 n 
+0003165406 00000 n 
+0003165614 00000 n 
+0003165822 00000 n 
+0003166032 00000 n 
+0003166234 00000 n 
+0003166419 00000 n 
+0003166844 00000 n 
+0003167569 00000 n 
+0003168038 00000 n 
+0003168265 00000 n 
+0003168487 00000 n 
+0003168726 00000 n 
+0003168970 00000 n 
+0003169213 00000 n 
+0003169457 00000 n 
+0003169700 00000 n 
+0003169944 00000 n 
+0003170186 00000 n 
+0003170428 00000 n 
+0003170659 00000 n 
+0003170906 00000 n 
+0003171182 00000 n 
+0003171458 00000 n 
+0003171728 00000 n 
+0003171998 00000 n 
+0003172269 00000 n 
+0003172545 00000 n 
+0003172816 00000 n 
+0003173084 00000 n 
+0003173352 00000 n 
+0003173620 00000 n 
+0003173894 00000 n 
+0003174164 00000 n 
+0003174439 00000 n 
+0003174721 00000 n 
+0003175011 00000 n 
+0003175301 00000 n 
+0003175591 00000 n 
+0003175879 00000 n 
+0003176167 00000 n 
+0003176457 00000 n 
+0003176747 00000 n 
+0003177037 00000 n 
+0003177325 00000 n 
+0003177615 00000 n 
+0003177905 00000 n 
+0003178195 00000 n 
+0003178483 00000 n 
+0003178769 00000 n 
+0003179061 00000 n 
+0003179357 00000 n 
+0003179653 00000 n 
+0003179942 00000 n 
+0003180224 00000 n 
+0003180506 00000 n 
+0003180749 00000 n 
+0003180943 00000 n 
+0003181204 00000 n 
+0003181465 00000 n 
+0003181720 00000 n 
+0003181969 00000 n 
+0003182218 00000 n 
+0003182477 00000 n 
+0003182748 00000 n 
+0003183021 00000 n 
+0003183294 00000 n 
+0003183570 00000 n 
+0003183849 00000 n 
+0003184120 00000 n 
+0003184410 00000 n 
+0003184700 00000 n 
+0003184996 00000 n 
+0003185259 00000 n 
+0003185528 00000 n 
+0003185797 00000 n 
+0003186053 00000 n 
+0003186304 00000 n 
+0003186566 00000 n 
+0003186847 00000 n 
+0003187128 00000 n 
+0003187390 00000 n 
+0003187655 00000 n 
+0003187934 00000 n 
+0003188207 00000 n 
+0003188507 00000 n 
+0003188779 00000 n 
+0003189054 00000 n 
+0003189340 00000 n 
+0003189637 00000 n 
+0003189934 00000 n 
+0003190222 00000 n 
+0003190501 00000 n 
+0003190780 00000 n 
+0003191060 00000 n 
+0003191332 00000 n 
+0003191595 00000 n 
+0003191858 00000 n 
+0003192119 00000 n 
+0003192379 00000 n 
+0003192558 00000 n 
+0003192755 00000 n 
+0003193017 00000 n 
+0003193231 00000 n 
+0003193386 00000 n 
+0003193556 00000 n 
+0003193706 00000 n 
+0003193859 00000 n 
+0003194005 00000 n 
+0003194210 00000 n 
+0003194393 00000 n 
+0003194518 00000 n 
+0003194643 00000 n 
+0003194768 00000 n 
+0003194892 00000 n 
+0003195017 00000 n 
+0003195142 00000 n 
+0003195267 00000 n 
+0003195391 00000 n 
+0003195516 00000 n 
+0003195641 00000 n 
+0003195765 00000 n 
+0003195888 00000 n 
+0003196023 00000 n 
+0003196170 00000 n 
+0003196318 00000 n 
+0003196466 00000 n 
+0003196614 00000 n 
+0003196763 00000 n 
+0003196912 00000 n 
+0003197060 00000 n 
+0003197207 00000 n 
+0003197354 00000 n 
+0003197502 00000 n 
+0003197651 00000 n 
+0003197800 00000 n 
+0003197949 00000 n 
+0003198098 00000 n 
+0003198246 00000 n 
+0003198393 00000 n 
+0003198540 00000 n 
+0003198688 00000 n 
+0003198837 00000 n 
+0003198984 00000 n 
+0003199130 00000 n 
+0003199276 00000 n 
+0003199415 00000 n 
+0003199548 00000 n 
+0003199681 00000 n 
+0003199812 00000 n 
+0003199943 00000 n 
+0003200116 00000 n 
+0003200304 00000 n 
+0003200444 00000 n 
+0003200587 00000 n 
+0003200734 00000 n 
+0003200883 00000 n 
+0003201034 00000 n 
+0003201184 00000 n 
+0003201334 00000 n 
+0003201431 00000 n 
+0003201619 00000 n 
+0003201883 00000 n 
+0003202161 00000 n 
+0003202436 00000 n 
+0003202710 00000 n 
+0003202987 00000 n 
+0003203256 00000 n 
+0003203474 00000 n 
+0003203617 00000 n 
+0003203742 00000 n 
+0003203866 00000 n 
+0003204002 00000 n 
+0003204151 00000 n 
+0003204299 00000 n 
+0003204439 00000 n 
+0003204576 00000 n 
+0003204722 00000 n 
+0003204831 00000 n 
+0003205034 00000 n 
+0003205248 00000 n 
+0003205396 00000 n 
+0003205503 00000 n 
+0003205545 00000 n 
+0003205749 00000 n 
 trailer
-<<
-/Size 12262
-/Root 12260 0 R
-/Info 12261 0 R
-/ID [<D12AD4A884A798BE779253BB2902C92D> <D12AD4A884A798BE779253BB2902C92D>]
->>
+<< /Size 13014
+/Root 13012 0 R
+/Info 13013 0 R
+/ID [<B157354857DB1740EFD455142322C2A8> <B157354857DB1740EFD455142322C2A8>] >>
 startxref
-3493097
+3206082
 %%EOF
diff --git a/doc/ppl-user-0.10.1pre13.ps.gz b/doc/ppl-user-0.10.1pre13.ps.gz
new file mode 100644
index 0000000..591552f
Binary files /dev/null and b/doc/ppl-user-0.10.1pre13.ps.gz differ
diff --git a/doc/ppl-user-0.10.ps.gz b/doc/ppl-user-0.10.ps.gz
deleted file mode 100644
index 1f94ef1..0000000
Binary files a/doc/ppl-user-0.10.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-c-interface-0.10-html.tar.gz b/doc/ppl-user-c-interface-0.10-html.tar.gz
deleted file mode 100644
index 9bbeb7e..0000000
Binary files a/doc/ppl-user-c-interface-0.10-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-c-interface-0.10.1pre13-html.tar.gz b/doc/ppl-user-c-interface-0.10.1pre13-html.tar.gz
new file mode 100644
index 0000000..98c9207
Binary files /dev/null and b/doc/ppl-user-c-interface-0.10.1pre13-html.tar.gz differ
diff --git a/doc/ppl-user-c-interface-0.10.1pre13.pdf b/doc/ppl-user-c-interface-0.10.1pre13.pdf
new file mode 100644
index 0000000..c6c35e0
--- /dev/null
+++ b/doc/ppl-user-c-interface-0.10.1pre13.pdf
@@ -0,0 +1,21693 @@
+%PDF-1.4
+%����
+5 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+8 0 obj
+(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
+endobj
+9 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+12 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
+13 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+16 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
+17 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+20 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+21 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+24 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000s)
+endobj
+25 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+28 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+29 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+32 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
+endobj
+33 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+36 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
+37 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+40 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
+41 0 obj
+<< /S /GoTo /D (subsection.6.2) >>
+endobj
+44 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
+45 0 obj
+<< /S /GoTo /D (subsection.6.3) >>
+endobj
+48 0 obj
+(\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\000C\000h\000e\000c\000k\000i\000n\000g)
+endobj
+49 0 obj
+<< /S /GoTo /D (subsection.6.4) >>
+endobj
+52 0 obj
+(\376\377\000E\000r\000r\000o\000r\000\040\000H\000a\000n\000d\000l\000i\000n\000g)
+endobj
+53 0 obj
+<< /S /GoTo /D (subsection.6.5) >>
+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\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
+65 0 obj
+<< /S /GoTo /D (subsection.7.2) >>
+endobj
+68 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
+69 0 obj
+<< /S /GoTo /D (subsection.7.3) >>
+endobj
+72 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
+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\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\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
+81 0 obj
+<< /S /GoTo /D (subsection.7.6) >>
+endobj
+84 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
+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\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\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
+93 0 obj
+<< /S /GoTo /D (subsection.7.9) >>
+endobj
+96 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
+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\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\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
+105 0 obj
+<< /S /GoTo /D (subsection.7.12) >>
+endobj
+108 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
+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\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\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
+117 0 obj
+<< /S /GoTo /D (subsection.7.15) >>
+endobj
+120 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
+121 0 obj
+<< /S /GoTo /D (subsection.7.16) >>
+endobj
+124 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
+125 0 obj
+<< /S /GoTo /D (subsection.7.17) >>
+endobj
+128 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
+129 0 obj
+<< /S /GoTo /D (subsection.7.18) >>
+endobj
+132 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
+133 0 obj
+<< /S /GoTo /D (subsection.7.19) >>
+endobj
+136 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
+137 0 obj
+<< /S /GoTo /D [138 0 R  /Fit ] >>
+endobj
+140 0 obj <<
+/Length 1147      
+/Filter /FlateDecode
+>>
+stream
+x��V�r�6��+xI��21X.�e4^&��)ǒs�d
I�P�B��_��$[vrK�����_����<��������ɻKI��dLf+
+B�,HsF8���!�
N:����m�d��R�m[o����u55�l�/�O�H�� �,G3g^L5�{�W��f1�R�jB蠚��}�����a�Z7�Y�ډ���"` *%����9R����Ec�@�2���Tn�%��ũMW�
�Q��2�	�g;k;`!�L� 	�)C[w�Tۢ�j�(��Y 
e�9U�Z$<H����1�8󤲜�"EIL�5UY�4������#`���XZx:�%	M�C��F{���,�2ļ5����&dqַ�P����K�4Z��F(FOq�)-��P����N,�\P��J�B͖˓�_h� �
+���c/�
XZVd����ɯ����t[?��$�G
+h���Ll�rʋ��1Ӛ��[(<��U�Õ2���i�^�Zc���� ���ʱ<T����
��v
Z/���ղҍ��y^�ѝV�\xL��.-^�����7ܧ���sq�6w��~�V��B�s�H������@�$I$F/���
%?F�"2���O`�����
+�i8Z۶WB�[�΍Z��4��E��t���ig�Bs�
��%��'��b�����>N���1qJ��v�2
o:��
��	s�gmcM[Ǘu������F՛�ڑ���<N�<��>y���
����z	s(�4���ڦj�9k�ֵ�jm�
J/E83�r?J��s]V��<G��5�]`�y�&���8
yUcq�Y�Jxu��m�i�A�
���}WZ��
�w�����=9����N{+�E�1h���y�ƾ�������u�;M�i��p9d�]��I�#e�N����]5oP {
}o��;�<��
ߝ�Y��JU��9TH�t�qy~��q;���Rƿ��j�

�t���u������>X�4����c�KM��wĶ��'�o��w�p$��
ڔ{�>�Ʊ ��~
��=��}ّuS�������=9�n/u����~��y�%���=�a{�+
E)�
�&�~�E��v4�qY�{���>%��
Q%Y=�һh��Ы���c���V���o�?��r��������W?������
+endstream
+endobj
+138 0 obj <<
+/Type /Page
+/Contents 140 0 R
+/Resources 139 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 147 0 R
+>> endobj
+141 0 obj <<
+/D [138 0 R /XYZ 90 757.935 null]
+>> endobj
+142 0 obj <<
+/D [138 0 R /XYZ 90 733.028 null]
+>> endobj
+139 0 obj <<
+/Font << /F50 143 0 R /F23 144 0 R /F37 145 0 R /F38 146 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+175 0 obj <<
+/Length 1834      
+/Filter /FlateDecode
+>>
+stream
+x��Ym��6�ί��3�'���r�KH	G�k'�dn| �cS��B}w-ɀ�rpM_�d�K+i%�>Ϯ��6׈��q9n\\�����\m<��y.5
F��T{�����N<2ޏ_i6#&�`d����7~kP����
��,G�,o�m
+�W1�����^KP�:bm���AvW��J�eב+IW%�&���h2���CE�B�1��7�azdz"��p��Y(G��	���\'�*3
G7���Yn�hM�.����E����t�^�D�`��I�q�X,�(

��a��S�x��S��^t���f��������-�<���hZ���γ0)�+TǍ�p"�d���
D��O���%к.��&Ӌ4�e:�fQ.J�v��~�Ly��H
�KvNg{mTѿ����jS�

Wl�G�>,�}10/��$�ϰ���R�gy�NM&�p�(4�FT��R�;�wG��wq�/�VX��Cp��`.�J?5��e�r�ei�Ί{4m�I�N��e�
�&f�������b��	���{z71l+f��(,a����
��U�,M�f;ř�.���džGt���F�`P]���բ�RrN>
��vu�i4m�cK4U�*��Q*��XxNTJ��7���)���F�\�WT Q
o!Ǚ%�����2�
K3�@�n�S�ZD [...]
+%-�;+���@�w ζ|�b��&a"
+?`*+ķb���v�:��P+R��%�l�m��Ox��L?@.L�E�2
T�
�B�K�d�cd�.�0�Fl{�, Udhd5�NK����
��T�Bt�d�bP�µ`�E���x�����;KZx�BZ`ÖX+�_�T�̋�@�U�(� v��["`eK�{pЋN�3l������mKJt۝��s
%�
J0�D�>§�1��M X�+�D�c�S!$�Q
�ҝ���l
?�B�ZT~�_^ߌE�V�������V��X�([��T
�e�3�c摐-Wq$`�ǘl7B" ��;��K�� ��^w�Fv����;�wF#Y�
�BK|����p�>�oz-�<��G
S�1�rM�u
W�OQ^
7�wb_Y��܉�&��S�Q�u�`mV
��4�����Y�M�l��`�xs��r0ʣ�?���{��
��
�EL�XZ���'��(�����{S
���w�Z�{�gbj���2T֬�Y���h
�(�?@���L�<3��� �PB��:T�pPm^�R6�MBu�E��ꈳ8�'�39��0ُ =���Y��tV}��̠�~vf�&?=u^[3��c9Y��Ǻ-���U��
����&�w1I`�s�6K:jּ�����z?v�5�fAʀ����Yx��>@
	�v
��?����Τ=ȕ�]z��� ����*�=W��iQS� ��
w
	�0��1H|�tV��A|tl�+��Q$�� �~�qM&]�w��&Q�q��N��1�Eɶ��
+���t�~&�ZҮ�k
 ��O>D�� �.��
sDp�#�cKGt�L
�_��#
�R��p�g3�9i~
!�lV������gH�����y�"���_��^����m;�3��xG�D0�mΏ� ģ��'��.}�?��sS�W�ra�d���P��M^���$M��6��E�=�Ȏ���v9j��lKX�����}9�șiҫ�d�dO������;z	W�u�O�����{]3�,_��:��8{�����G���<��|e�
&ku)�/�D���o�qj�wڦ�F��7��:r�9�:&s�k��/"�LD!�xL)ٿ���ۦ�A������
۪K�}���
G�
+endstream
+endobj
+174 0 obj <<
+/Type /Page
+/Contents 175 0 R
+/Resources 173 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 147 0 R
+/Annots [ 148 0 R 149 0 R 150 0 R 151 0 R 178 0 R 152 0 R 153 0 R 154 0 R 155 0 R 156 0 R 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R 167 0 R 168 0 R 169 0 R 170 0 R 172 0 R ]
+>> endobj
+148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [385.063 672.708 490.947 683.612]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 650.855 322.585 659.702]
+/Subtype /Link
+/A << /S /GoTo /D (GFDL_GFDL) >>
+>> endobj
+150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [231.464 619.218 337.877 630.122]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.112 607.263 513.996 618.167]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 597.365 169.87 606.212]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [219.806 513.098 383.194 522.996]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 445.813 151.499 456.692]
+/Subtype /Link
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 420.129 229.087 429.105]
+/Subtype /Link
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 392.542 252.131 401.518]
+/Subtype /Link
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 364.955 165.446 373.931]
+/Subtype /Link
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 347.35 163.723 356.197]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 319.743 155.484 328.72]
+/Subtype /Link
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 302.139 168.435 310.986]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 274.532 206.393 283.508]
+/Subtype /Link
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 254.87 215.06 265.774]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 237.246 279.109 248.15]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.2) >>
+>> endobj
+163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 219.622 199.967 230.526]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.3) >>
+>> endobj
+164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 201.997 189.447 212.901]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.4) >>
+>> endobj
+165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 184.373 201.063 195.277]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.5) >>
+>> endobj
+166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 158.823 196.43 167.799]
+/Subtype /Link
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 139.161 288.404 150.065]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 121.537 386.605 132.441]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.2) >>
+>> endobj
+169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 103.913 326.84 114.817]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.3) >>
+>> endobj
+170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 86.288 292.519 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.4) >>
+>> endobj
+172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+176 0 obj <<
+/D [174 0 R /XYZ 90 757.935 null]
+>> endobj
+180 0 obj <<
+/D [174 0 R /XYZ 90 466.284 null]
+>> endobj
+173 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+200 0 obj <<
+/Length 2718      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo����_!�J�"f_��rFzp.�sc�_r��Vk�TH*���;�3�YN"%�%h9�:�<3;���,'b��ɏW'O��I꧑�&W�I*&q$�P���|�Ɠ�S
+�U��Ժ8��˖�����@&��)�ŃAx�������H�^��'��ɛ��d���4���Q�I�4��˓�>ͯ���k>m(��"�� ��J�"
+���N���n6��YU6m
�o�/�֬�g(��[SgmU_�ْ4;/A����
�^���M9��v'�������i(��	Ҵ���V*8�F�8��T�~�H�A@�D@}->�!
�\��� Ku��@��8~��S��<3���)���cF���
39�^��8 ���ez0pR���;
+1
F߶[
睁<�;�
�Z���a�~iP��'����G*�|�����(�T��#��
�ᩅ
z_������7�i��*�dZ�
"�\�#�������n�c��������
�^T��6��Ʃ
+�;S��|�+3���_�d��g��P� M?O�D_�2
�/�A�i�?.��>d:��3UO��U����,$_���e*�e�S_	�=I!
{
�y�k((xtDs�L��kW�T��̊
�n���Jc�fN�EUӰm����T�]\�<M����0�vF=��IA�\p�n�jw�[��_�TE�����Y��
����y�:���#f�ܾ�!פ��̵Ŷ�YE`3|BK`dm�1����Z�X�'�_R+��MM�߄P��×�(��8v/o�虿�{ �$�n
�B���*o��~���*���T�?7M�,�Yۊ~�Ъ�导�Y ���/��������k��г�l�~f�z���3���*K�N�Ӕn��~�Y�R�YUۂ����Y�Z���hC�<��0�=�\��]�Q���fdl�r�+ �;�A��>#h���A��ȩw�2��N<�
1����B:/
+�0մ��X��i~�7���u?��
�h�Nc-��;�
0�,աUV-�tַ��%LI#�mM-g���
+�=�7��Q�v����Gi�E�'�>��*�.+>���ni�v���斶��V��o�Ff$�s�
��
�yNb
,�����

+ܜ't ��F�3^�›�<
pz����g�uv�����K?����7�^e�f��ʫ+w�MM| S"%����$���
Ä�L�Ȭe���rՒlS��R��-2(�H��"��
	�f�KHG�!�mmv��̄R�)P� 
+o �ZY�36Y�*�5w�[�Mx��N��B�[����/�
�����v�K��~�M�
h
|�nKJ����Pc���̜��lTi�F�"��.��"#��97��������˚�5@
+
��]D|Ƈ�E���||<
�8TW-�Yf/M-b�ɮ�p�� u�pH��jm��p�
+V�:�Xhg��f
��Z�4�m]Ţ!-���	TuZM��(C�`k|�OS�^���+
@�<�0��
�4���n�N���3��I���٧F���|HX�F)=
+P~�E�^��6�K`��b
9�����ef�P�)�kCY"uSRVl
��22H�"?
w�Q
+g�
�;����#�>����XO�p��-�aR��l����ж
�aI��

v*���@��w�
���.ܼ�ac�jx�D���q�ۭ��}��΍�.O�~��R ��	����� �6��YC_
����oaZcs/�Y��4�vb�4YbS�]� Cu�ޙ5+rSv��
�か�x�����
l�0sH�q�j��X��o��pr��#U��K�}d��~�'��X`��MKB:a,Ǝ�s
�N���Y��$����MQ�*�R�+�CeE����5f�D�)4�[>�MK��J ���9�����Y�o�X�^�{V���%�V���Y
�9�	s
����������:���dH3�e&;���_�+8��
ͫQN�1%�8UI2�E��w�&U���AfH�%�4��9
�|��\��Y� �
�5fX[uBT�˲GjL�K1��uE��Ҳ`P��mCr"4n�[����re��L��|�EM(n�wv� ڣ����=x��"j>���?ΨgW��
R�<2��<Py�40`m���X����ؖ�"F�~�}�Җ.|�v��cWG�V}������ww�ǰ�Ȃ3J�������Z�1xk�Ee(mw�$�����M��	�T��4��7��{r�$�e����l3ܰ�&Z�(==����SCb;3\d�œ��
eZ��>�A�
aj�a���Ŏêz,�|Jɑ�y���cL��^CG޳Ek�{9*�mU�
+��&-+&+[��=S�Ҙ
R�I
&����
+:����G�I�e�۲͋O�$�浙�=1t��cL�z:����`��j��Q�ǡ�Y���
G��	�����^
+m�@8
+h㸇�J;��00�*�����rN��'����]𻟝�ؙ�߮Л��L��R��hD���Ψ�
n���mY��ƍa�0�����
T9M�|�CA���vE[q���wb����/����ճ��~2z���C��(�Կt��i���D`RK~tF��3��}�|�E�8c���li
}��Wӗ�����6+�+p�<
+�/��R��g�4�Q�`�������+���WQ���j��_�>����g���Ī���)P���;�"
y�6$T�{܊�ϒt2�'E�
m`�:�p�c���8o�
+endstream
+endobj
+199 0 obj <<
+/Type /Page
+/Contents 200 0 R
+/Resources 198 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 147 0 R
+/Annots [ 171 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 195 0 R 196 0 R 197 0 R ]
+>> endobj
+171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 719.912 379.98 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.5) >>
+>> endobj
+183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 702.288 320.214 713.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.6) >>
+>> endobj
+184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.664 285.894 695.567]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.7) >>
+>> endobj
+185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 667.039 378.296 677.943]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.8) >>
+>> endobj
+186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 649.415 318.531 660.319]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.9) >>
+>> endobj
+187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 631.79 284.21 642.694]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.10) >>
+>> endobj
+188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 614.166 401.539 625.07]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.11) >>
+>> endobj
+189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 596.542 341.774 607.446]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.12) >>
+>> endobj
+190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 578.917 307.453 589.821]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.13) >>
+>> endobj
+191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 561.293 319.637 572.197]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.14) >>
+>> endobj
+192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 543.669 300.838 554.573]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.15) >>
+>> endobj
+193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 526.044 440.054 536.948]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.16) >>
+>> endobj
+194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 508.42 414.042 519.324]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.17) >>
+>> endobj
+195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 490.795 380.289 501.699]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.18) >>
+>> endobj
+196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 473.171 290.317 484.075]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.19) >>
+>> endobj
+197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+6 0 obj <<
+/D [199 0 R /XYZ 90 458.567 null]
+>> endobj
+201 0 obj <<
+/D [199 0 R /XYZ 90 423.898 null]
+>> endobj
+198 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F23 144 0 R /F72 202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+210 0 obj <<
+/Length 3193      
+/Filter /FlateDecode
+>>
+stream
+xڝio�6��Š�2�aDIԑ�~H�4�4�7q[,�"�G�mtLuę���=��nZ�����#�}��j�rW/ξ�9{�C���^��ٮw�R(O�n�կ�w����x�t�����u[���7�j5L�8����7/Ϟߜ�q&�*w%
j��W�My����*�˕+�$^ݙ]�*�|�-V���s�N��ܓgz�pCEϼ�~������_�}���՛��.�!����=��
+��:i��������w���}����]~�)�ӹT�6������7k$^��R$���MvGbP���n�׹�y^��6g�6�+��ap���FU_�ꦥI���n�Y
ׯh at 77�J��}�:7��O�ߔoѸ�sZ

+}m�аo�S#P+�
ڣV�H"W�X�
�n��U�s�<{��
����~]��曅�(L��~B��DV�_Ӓn`�~ex��O��I�4���uQ�wy��)2�G�7:�jzY���*�`�D)��H�8�}�uy�
���9��f�7�.�80}_����+�>Ȑ�������L
�Nn���w{�tH�.��E��2��h��2�u��?�M]���h�n�~Z7���Ɏ��]����P9E^!9�b�w�����,�d+� �j
t�zt��#��:�Z�a�@�� ��զI��z���z_�"N�扇C������+E(�#
Hׁ�
+�&L������B
�(\zp��,���P�Ѯ=p��&������`��M�#O�i�L�܆�KМ��ǹR
+(H�KZɫ��s
Җ��"t���l���D&='-�G�shjT�Oy�[Z{L�Rz�
���@O�D��)�<��o*RK�l�O�t��7�i�f\��.��V���<�(4�Dޙl��BF�˲���۴�8�@�JD�)UQ2�*�~j"|}ڙ�1yܕe92�q�H6��*�P�2��&i\�Ǡ!D`
+��
+�:�' ؒ���Q(�X��I����I��m�31��H�
{�g�}_���]��-�8ch��':��.i�5�$�ʾ�hz5���ݞ`N/��
�}��|%d<�,�E�n�$+!����1��l,����c���Zt;�H|5��c�X@
z�1��n
�G����=�����ٮ�ь�����\~�-
��C�OJx���/x�R����jNH,?
�s��oA��H:em4*r������?��5-�Ƕ�e
$�� �[�W:Y]i�`hD�+�ܒ�Dd	X�W !�
I�b�h�����&�<$���F<��B9C�$Ir�aWW��rIVI"�؟�jC9Z3\QjH>�"��V�D9$�Es��zO{t�S���y��PZ
�ˉ� V����������+L����������{6�D7�
����֤�3��i�x���X�
-[�>yH[�M�?�s�*�8e�i�08U��LVr>I<�
+�kM��9�v�ʁ�}�X�� 7u_d44٨�ݤ}� ��d���[a�*E��R�D
mp0�	�E���3�/λi0�)d���j
��,mxcQoL0E�����[�D��iGɌI�[N�� ��ͫaTi�y� ���C��
@�M�v
����m�)��7ɂ�*%�!~�_-&�F8��|m����=y?�1pZ��,���.��0�<��mݠW����A���nA�!51�.�\(5d�Uޖ�nJI�襁/:�L���N]
+�f��Dz+
ѡr���yўK����75�rzY���A&!%>�� 1�
�����y��:�E䂨�qeG?���L76-�ɫ����b��N�8��Q����ڃ�A��|c�AX�:l�E��C�>a�C�����6�U9z
@љ*�
\l�=�L��[yP��yǵ*���
��x��y�5��i�?�������`QP(�F9�hp��m}����Q��9�H#�@���0.�F�b/��<ᆲ�v���@@�� a

+�=O�or�����W��g�
�Y������i�
+���t�C��N3����v�y���X�_���Ge��a|e}1N�������)��ث�d,}I��L�`^}
Q�O�i�o	b�;�G�#�d"�kxo ���mc�k�,#����'.i>K�1u�򒸘6|O���i,.z�-� ���C�˺Yr�2�?�~���	�#š��'K-ȭG��X�v%
Z�% V�c�J���;���:Z�j���-�y�ǩPDc��:�Lp ��&�
� Q��u
+!~>.h�y Ɲ�����u�h��V�*>�.���~�]�CD�hb �4�bx�dv��S���0���{�)0�5�7�	*��|�Uy�gZ�����|�v�P̊7N��m�pټ��Բ�*��`���%���^�
�݊�����IF�r>v�i�����Ӏ��`E�џ�A�q��'���D��_�
+�P����~>�R��#8�C��}�W�
�\7Zj�\�T�c���
mE\�:ۓf�C���zۙe��Y3N
�Tj�A
+�s#�Xg0oP�g�w���'�v+�f��1�YۣD+�s��)��Dqvb۸D��L���	��i��;�Ĩo�֒��a
+}�j�-"����"�|��~ĹV�o��pG3�*%1�R�fy������"���"Bڒ��$:-o��t
�8��7���W��M�����\���\�mg�mrpk�����
%���2���S�͝�y�OM	
+}{kK3��q��� �����e聃�4SZ.��h�1��|�
+&�Mm?�lF����j�
��r~�$QK�A��P���}�
B��|�� ��5M^o�V+=��d=�G�ۏN ����M����OȾ5of
+a�R��K�'a.�hH�
+h"
&]�� F9`{JSv�y^h���,�nb+��Sm��L��
+q�\Kpͨ�e��w|
����@��/籋߁k4L��J���h�q�ک��}����GFxf`��+<
��	��f�� S�⯩Ne<#���S�
�p�kz�_��Ią�H8޳i��6.:
���GCQ��4n��~�����5���B��={ ��_;
����r�\�
��E���O�������%�"� /�KP��.8q��&��t��uq��I��|��dXF��
Ƴ�����%_�Uo=;f�S
+?}K�;4Z���6�����(?�Jxar����Ħ}��wX,D���n��=d�e��>m-NVkl��{E�=��� �
+endstream
+endobj
+209 0 obj <<
+/Type /Page
+/Contents 210 0 R
+/Resources 208 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 147 0 R
+/Annots [ 203 0 R 204 0 R 205 0 R 206 0 R 207 0 R ]
+>> endobj
+203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [197.068 422.575 240.904 433.479]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/libtool/)>>
+>> endobj
+204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [103.669 387.332 231.19 397.613]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.dwheeler.com/program-library/)>>
+>> endobj
+205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.468 345.175 387.371 356.079]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/glpk/)>>
+>> endobj
+206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [297.062 248.367 388.718 259.27]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
+>> endobj
+207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+211 0 obj <<
+/D [209 0 R /XYZ 90 757.935 null]
+>> endobj
+10 0 obj <<
+/D [209 0 R /XYZ 90 318.525 null]
+>> endobj
+212 0 obj <<
+/D [209 0 R /XYZ 90 286.596 null]
+>> endobj
+182 0 obj <<
+/D [209 0 R /XYZ 90 286.596 null]
+>> endobj
+213 0 obj <<
+/D [209 0 R /XYZ 90 180.885 null]
+>> endobj
+208 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F72 202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+217 0 obj <<
+/Length 3233      
+/Filter /FlateDecode
+>>
+stream
+xڍZY��6~�_��@�G���l&	&�Lfw:X,�<�%�&Z�

qz�~�*J�Z
��"Y�����
7�滻<޽�6	7�>O�d�x���&M�}
���r��6�=������2еnUœO�Se
+
�`
+]w�,��m������o
�~��q���-�8ݧa�)�w���mJ���x�0�6W�뼉��j���_wޜ��[��{/�����t���x{%�h�]�zfPs`С՚!]s�;�۪V���x���n[Sy�7��9˩��y�҂���!���OC��IX���V�+t%�V|���S�;s�u�MQ���{W �����`ɥ���y��
<8�]�m���������i��o�0s{Ci��5Otv�ec�\�%7qF�81���!�z��j!�8�v�gۣPqhZG�>�qn��|����N@�����:���B�]O��5C[ȸhJ��	�j

�`3���~�\=n�t�kt�H�t}���#�FPL̊ �H�*H��r���
_K%}k�֚���D�BG��تsw�S�B4FL4�u3C1��
��
Վ�����#��>	���]bi[DD��y�-�Zs<�L�x,����
�%��zRi-XP�v<>��x1*������;/���hw��RT��rF�{��.����VC?�p� [...]
+���@hU��ՋMr��Y1��ր"��[���O�AV���Ηʒ���Xam��뀅�1`al�ľn(N
Q
�g֮'M4��q��[XT2׎$!%۞����Eu
�nj�@HoYQ �A���€���h�$���N�e�Ȳc��r��E ,)'����;,�M�-db�,� {��n2!�i����xksL�i�(]	�Z��� f�H��E�њB�����
\c\���i
�l:y�t{���aR�X
~X3��������ť��p<��*I8�nAv�H	�w�~��
1����0���$x�7�����#��R�j}J��f���c8
z���5Ɖ�e)�b�c⠋��
28�v�
d�nYbrd�X;�_Ye
w ]�J��l��4�mtq�8�̴t}�t���6����)�Dɤ��i8��a�V�_�Z*�&5�F��S'Ⱦ�}��Y�鶨�j��rd�TH��]�#
\J�[#���^�բ
DRO�N��2`E�sm�),%3�~j��!����3��a:51�QT��A��� [...]
+R��!�4��J�}$
+答߱	���0X� ���q���
*
��`$��'�x����H��vr�)��SQ����Zܦn�r(�jV��1���K���*[w�c3���9�_O�E'd�0��
+ �*!�v�w��m�
š���+h�v��MAmo�|x�ݦ��3҈��
+g3s&1Hy8Z �sQcF�:����.-
�b��Q睚N`N�{.?�MN��<
a�Z�Nv�|��X0VY�9WΫ͙r	�)9T+p��IC�/
���$�^�ĥ��V'���I�9�;nd�a��]b,���p��X�}� %[��
עGs��Ӱ^���Mm���D��Y]�BRa
�&�'$
��'�R#c�y��V]�=�l���m`��蘵��~�1�(f�J��tD���S�+���Ն���Dz�:�+ճm�i�
l�m
�dI��E#}����p�K�QXE�l��Bx��L^�ݭ�:�!�eK[#G��D�<�i�5�x�ט��J���{_a��$hIa����Ix �˥2�ai�S~D!�����O��S�D��\��$FT�I�eDui��Uk
��
 �ǒfW
?���_=�+�^
=v��gd[��RP.�x��q{�(
�����
�tĦ�W���S�oJ�Kl v�����y�J��71���P����J
���ns@ɠ<��~�
+������|����y��O�x�����#��!�hF9���$y����Y��o
��~
��q�89}
t�xk��c ��ao����v�Z�e_��H�*LPZVTj�	JF�H���9*3�	�U�h��NqLB_|�-��$gA�(A�
Q�r/�>ۘ���P-��u�lȸ�}O�R��U�ܽ�1[p�o?�ы*™*�hU��k�л��j3�G�yV��K>2��J6�F�  ��o�-���֠7��,����'I�Db�7�#�J�Kw��Mm?���aj�pV/�a�u��+� ��k�?տ����P+]�
�\
���L����Ѱ���c���Cq.��9�+ե��
+�5��%�t�
��{m�3�MKwb��}i���cF�Ǭ���q�͹�A�QY�i��� Y�qcl)��q���njK$L�o'P|���]7T��i�b&�� R�����'(r��E,͢��i{���j�"���n���Z[���Ԙ����o���}5!-��eV
zwx�but�E��
��PН�п�톯^��?��!�BU��n�K>	�s���4sA<�Ƈ@�|%��}�m�i�-~B.8(
�C��f��M�#�RJ�_�i7��AW
��W,����)ģk�
	�p��Ń�e������$�Ң-����ɔ@��\� �ٷ�O�
<��R
�H�b��t���
�79
3y�ig�/���
�>�����I�6�6S�P�^#��U���Wt��|E�a6R7�o�(��Wڵ_�\���u<4�d�fYq�e���ݳ��2[,5�(�|Q�R|�c�r����2��u�]4>5�#�'y�o
3	�<�K�Ҁ�T�0�{-���j�K�)C�O�L [...]
3�
�8��q�h	>
�=K���T/']��U�O-5H\x

�ܠ�r�C
ב�A����
u�<�QՃ+sɀ_U����?4'~H�*��g~2�#��7�'��L<c.H�}��X�̝����w��u_t��6�vo�w-�nd���G�4pH�o�� a��!�7)��� �5�ٚ�+����~
+endstream
+endobj
+216 0 obj <<
+/Type /Page
+/Contents 217 0 R
+/Resources 215 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 147 0 R
+/Annots [ 214 0 R ]
+>> endobj
+214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+218 0 obj <<
+/D [216 0 R /XYZ 90 757.935 null]
+>> endobj
+219 0 obj <<
+/D [216 0 R /XYZ 90 331.491 null]
+>> endobj
+220 0 obj <<
+/D [216 0 R /XYZ 90 307.166 null]
+>> endobj
+215 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+224 0 obj <<
+/Length 3361      
+/Filter /FlateDecode
+>>
+stream
+xڍɲ��������Uzv�٪رc;JI>�l���

������
+�����L���{���]w��ۧ��?��&	w�1K�d���˼]���8�w��/���
���۟~���mgJ�
ϥ˹���m�[�N�i
~{�����?����Q�����.��~��� �~�
��{�Y�.
+B���wO�z��h��
+� <zI�h�h;�x�z ��55^�p����ێ[ík��r4o�v
tFm������ë�vu#�t��/�����kq����{����~�9�!��~�������	���cD|ͯ�N^���!�u

��t��6�
�oKs��d�k������m���d������ ����=��04��Z��`�A����ǹ:/���
5�Yܼv�\o��X�k�	����0��# �t�;��G/�
#�A� �W/�|��swF�fj�� �|���6�ܚ�@L����
��,{i����ڸ!LE�Ð��(]�%�3
��pg0��t�4
��{��$�� S�Ւ9�x�
����0+(�h�k?��xu�I�7(������N�֟ʽ��.Ed�
�c 3�0P��+e�p�֠f���F��NА4x((Y{����#\�?�(�޵���lt�y�a`��M��x�%�A\E�D���E�֋��\
W��8���W
Ȥ6b[��T;(ƓP�]���Z����
 A�i�9�Vap�31U>��ۿk�� d��7Mae�¢�� :�B���Q���a�\�9,;�
�&`�\` XY0��
t?�
������
�˽��*��3W5�����gd���n@
+x>]���m���م��22��T�A�<������F��v0'��w��
+�|7a�&=M��
2��]
;���B�:4d�֭��{D-G~`�	������|�
��ټ���?�x�}�"(n�g������
O�H`n����� ��^ZD�0Z�U��[��	 �`���`Qk:pci
�w�LU�� �4�u4W�HՖ
+a���^�����;��(��UCC���h�lZ��K�p:��F�]qZJ�B��ͽg��ܹ3�� ��K\�/�B)þ�3�
�`p�ó�� X��Ƨ��bS҈t�
+@����d�+������\/nҐ�ޠ19��K���h�P�� �AQ��Z���5�s%�c����wr� y�f����|>�	
|�94�t�`CA#P��g����߸��� �(&��g�bRp.�c9�y��)�J9������0:��b�R�'��
�S�
p5���K䒽��HW���؍�
f�3�vJ�f
A��+�	mF��� #���.˜A�|D3����0��|c ���~��d���~¤:"�3�� A��߬CeCIBF�$
[R
��
��Z5���1��D�i{�V�,�&rwQ6> mW�R�}qu�1N��.�`�bz`�
mj�-j_�bAq����͹��
��.W��vJ��
��\�㺚�����8c�*
�w#[aȢ�5�$�+� ��
��cn�n�s�Vj�g�67
0H8X̓[a�����Fk
�6c ��!Go�z`v!�)�xm��/���0|f4
+3��]h
����F�MY2lPL&�X,��-��f|9�^��0�%�2�5�eI�4<$%t����
~�$ '��D\a&����D�mF�弐�,�bpx���θ�H�oa� �z�[
�e��i�� �نc4pR
p8d�<���YCgq�#�83��ECf>Ȥ"�I(�<=E��_� �
��X>�r K�'\+�۱k'����Dy+
"���*t<!U
>1�8��YiI���tu�0�i+G
+����
+aS
+�8
�Zf��(�i��y��]{�R�
+��C&04�{��
�W>y�F�o�o�
+}[�~��d�_k0Lz���YՅz���נۉ�K
+�K]a��ɱ*Rl�0v� ȓ
+C����ᱯ
s�h���/�s �i��f8}�v��+���{m*����Ě]�L���$/���H���/%
��[�Y�1���,Xb�3�_�]�1h �;�s��Q��}��kWQ%
+�
O���X�\�
$�А�>��捻���b��BRA�AqE�Z4��R�m�L<���v�9O"��+�E�
+l�/Z}�r�
��ag��
+	{a

(=7s2��踘)~�W�qh��*8��5���t����Z{r�/��/-�����~�����H�Q p�:��M�Ų��s����s�6���ߢ�`,�
�_��D� ��'�,��ܾb��:Z�K�"�
o
�ac�\�
���`�1�I�IM��ժ��h�5(�C
p��)ܽ�,@�P&ɢP��TJ�~1(0G	�R��i)�MTD�3�'�3b��ZH9
�q�Ti�H�a�
�p48֥�������	z�֍8�̴2�+�CB8�h�Tk,�C;���
��a�"�q�.�P�H�a
+�(��"AlM
�^�Mb��3Je��������_q	�:{a�y�
�P�U�L���Ɓ+E>�������{2���e�k�$�P�)/mqխ��К���
����&�Z�vtP"���#W��W�
��}��5��`I	�`�m����#
F�*)�Pu�2��OB�ѷ��f�;���)6�O)�Ӕ�=�Q'A����a�����s�
u�Q���+��e��a�D�
�3��0��^
wcpY�q�u(qiH�z��89�Iәta�����5}�dA��㐠��Ɯ4���a�WJKC�
E�r�7���Od�*
Q
K�QD����:%�������N�[@�DE)�
�|��2�9s9\��
�RC����q
+){o�/���D�Z9�@
n2���!hK�
�U��e��$e�1'��]�v�Q��t�S8ώ��m��+�Q��R����Nl\U
��Y�I��Σ!
�KI8�B3��H/&�����p �F�q�a+ㅤbW�"Qd�Tc/�
���|V����*�<��͔��i
+K�t6��x^h�,D��I�����t�
�f7wv��)�����hF�(�=	Eh�ZN|P�/3�6�f�R�=�
t��;�
'^��%�n�\��
����T���b��@G�P�s��c��;��ȋHs�2�
���Qy�dc���˸
+v�b.;�Rr$�P�!��-h�u��OֿbING/9��?b��$�,
O��8;��:
x��0]%��ۦ��l���
��p�L�m��.w�gH��rM���zT�caLt��~-�
}�k;�X�G\k�"L�;m�@�.a�1H2��݆�����///Ǽ?B��vG7�n�����+�~tL�dJ���cc��
���SX�k�
��㚁���
�
+endstream
+endobj
+223 0 obj <<
+/Type /Page
+/Contents 224 0 R
+/Resources 222 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 147 0 R
+/Annots [ 221 0 R ]
+>> endobj
+221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+225 0 obj <<
+/D [223 0 R /XYZ 90 757.935 null]
+>> endobj
+226 0 obj <<
+/D [223 0 R /XYZ 90 618.581 null]
+>> endobj
+227 0 obj <<
+/D [223 0 R /XYZ 90 270.678 null]
+>> endobj
+222 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+231 0 obj <<
+/Length 2845      
+/Filter /FlateDecode
+>>
+stream
+xڕْ��}��o&�vg�>�'E�]rle��JI~ g@�9h`F
�>���
�Y�R��4����o����_��
L�M�i�n����di�%a�y�6���!L��O��l�5M��}�J��J�	�<��m����绿=��y�Q�&����ˢdS6w��7���^T䛋�j6q���|���?g3�o�
#�ObS�GbC��]OQ��.L�Y�@#�^u-M�����
����wm+Ki���]�l=��Fc��!
+�������=D@�I�|��x�c�7#����%�N��R�S��H���i{��VYX94_,����/��|��BC�V{Q\[�;`+)�e�
���'��xA���L3s��p/�[I�8��=���ADK_y at EPb
�!�j8�]�
U)�v#�4�m%�H
�]yr>���}�x���
ʋ�W$)Ix�O�ֵUw�����K�f��!ȡJK8˶A�{��O���{����z�j4ci)�+���so���@
}����ٻ���H�w�:�
Y؝�jT-4�ef9���jr��Ѵ4�V3o+�&�I>��k0�'�}���FV2/
ٟ?I�%���n�A�hw������o]
֜�ݣ
GZ
K� Nm���i��WZB�����W�Gk_ܲp�8�����	��n���{ Ms�f��=����K��A��:'Ij+�!;\����}�"�B/�/�?�>i�p̚pNa���d3�Iu��2e-T��f!�~�vw`
����
�dfMߦ���R�m��,`��f`-,�
[֓�|��
����<�
+�Z�5=������vI�e"�p���LZ��JW4�8��
�0[�0B&��^���GV�5�.��[�J���1笷��o�����0�ރI81���j$����]�:
pW\i�B�
8���x�#]�8x��Q�f��
ؤ�no�#��Wlj����:T�=
�Z���x�
���1 
��*�-k9	�0�#a 2��*�n05�
�J��9ݝ���5�,�̉&���A���Q6���
:��&i!�F0���-U=�LKpk�zĠ� Nx��������4R�0�&�P ��Y����2f������*�`�ֱ���4�(�Y�\y���1������Ժ�����X5vLʀ����K�9-�7�-�ru�
&���m�SII�v\jc~,8��[��|�p�;�X��X}��J��m���d�u>]�e}����p]p`�<	[�
%-L7	&�%�m�
�
^,
h-uN�T'����;��;%�@�~?�mstf�*�fe��
�s��9�Kc�)n^?o-�2<��bq��X�+�G[<��� ��2V,y���
 [...]
+{V.�"gs㱜d}��0�H7����Ɇ�sӭ �yK�����."�&��d��d��E�
`�
G,;g��t
+��}�y��_N�j�����
A�kA�B�g�2w9 �.j��^�K_�\tS.G�E8�/@'x�%�bЀ�

+���
����j�G�1�?,�`�t�nO�	f/1L�јIW�s�W��J�������%;{V��\>�8����jl�
+[okΚ�0Ϩ�A�˩�%/9��SoV̟�\9>qt�
�B�5�7�^x���k
`�1�����
+G���}�z���Y=���0�(�xR��"y��&�\&�=�L��Yj�
���k�$c���v��Aֆ���d.��o�Q�
ײ���
��yU��� [3:"�
3]ՠ�%��4LG�~ �j�ȕ��QV����f%ÂS����ӌJ�(`���l�P&wM��:
� ����Y`ҡag�b�*���]����=�U��W?R�5��ZU�c *�} �������&5��<u`�N�6�	�9`Ѧ�)�kQ!�zT�8*���
2�J"\h�O����}����Y1�1`�r���������[s��Tʜk[f�Ͳ]�p�|& ��
+m��:w�#mr�Z|P�&�'Ky��, BW
F�
-��`��zF�p�ї�!
+
�La��)��E�tn0�����f�
+��\�G�
V���-K�7X.b?ݜU͏N� ��
^��!p^�!��u��ѣ�X�;$���6��HY߉#�t�djh���}2�mjV|N+z|M_Q��Ti���K�6�/luy� �����X1o�]�L�| �_�=�K��r�I�)Z �z_LQ>����Z�]�	|v��Zp���Ǖ#�>_0�t��p-c�;-������4��{�8:����
�!��–��+�D;U>�x�%�^bEC;�aQ]�7��\�1o�TNZ����K֛�
,)���8X{R��sJ�/��ZЉ�EYR"̹eC�edªVA��Ã-���7�R2#6�k|�#N4���!f�f�M�F%{y�e�
+%ӓ�!��z,{�d��-끲)���HH�&+7{N�
�;�­Yi�R&�s at D�
�r��j/
�V��l�Eᬻ�B]p�
��̋����
�)����4��4��f���Wd�z��I�%	�j46�Oȁ�
�tO]}=�J
���^
�d�u�i�ǁ�"�����+����o��
�!��lI3����Y� ���,�d��>o�����x2.L/���p��?��x�\��xC���S�#��q��A�e�#2�5
�m��P���3����Q�ޞ��K}X
+endstream
+endobj
+230 0 obj <<
+/Type /Page
+/Contents 231 0 R
+/Resources 229 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 236 0 R
+/Annots [ 228 0 R ]
+>> endobj
+228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+232 0 obj <<
+/D [230 0 R /XYZ 90 757.935 null]
+>> endobj
+233 0 obj <<
+/D [230 0 R /XYZ 90 682.124 null]
+>> endobj
+234 0 obj <<
+/D [230 0 R /XYZ 90 536.224 null]
+>> endobj
+235 0 obj <<
+/D [230 0 R /XYZ 90 402.28 null]
+>> endobj
+229 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+240 0 obj <<
+/Length 3370      
+/Filter /FlateDecode
+>>
+stream
+xڥ˒��>_�[��.��W�e'qm��Cj���F�)R&H���O�@�g튫�F@��l4�M��������/��ާѮ�4Lwϧ]��4�0�=W�O���&������nu��|�M]���u�[�a��q�O?>���營x��
�t�yY����ç�]��v��.�8���}|���E6���ӄ�L��S�������_0ַ�}a��ڧ����|_j��?�ɾ�/�CV߽O|���{
+c/�
&��C �vF���n8��%<-*�i�^�?�+�+;��j�+�"k]���wt���r��*ͣ�ǣ��tϨ�YV
��;�"u�
+4��ʣ�G���מ�+��pV��
ā�HD��1
H��3���3#����E��`�[��kU�c#
_w}�͵k+�᝔�,G\вG,
+:"�ՆG�q�x�!I�]+{�
�r�Lt�f�"U���
R/�r���K�Q?�a���� m��O�/q4�х"����a,W
��E��
T��r쪚.v�rJ*��� �M]*�q#���FK��lF2��6
�j3�����QkHF���RN]��O���B�ew����������Y��q�U��g�%AU
�ZFR<�ƞ�'K�����r4CwQ=
�i�����>z�N$j��4����4�<��E{��~���.�KZq�Z���Պ�ъpҊ�^{(Z.�"���WW�*ޫ��
����S%�b�y�*��$����0�a`��zO`� $P�� ���b�#�H~	 �Vf`�p�f�M��b+[�BK	8Ħ#)8�7|���S�{se5�!���NVY'��z���''�#^6pM&���F��c�K���!�jI}Ƚ���,�����!� ��q0`����g�B5	DsaIL��h!7��8��
����1�i���`�c�C|�m�U�kcY[�׍����

�A#�B�;!�
���L��f�߁E�wؽ @�
���0X�0�]�"
L�����'_�v�������v�_���k�
9z3L6G�T�:�t��_ ��ݾ�^��g�ň�Ѣ*��Jh�e	
+�u?���jYb3��.c@Ф]�����#�?�
��
+=��E?oD�ܳ�����>���/����p�x�t]��k3<sMF[�]L�B愅|
+
��̕G�.Mr�M'�NTf�˫�;C���N2��!G��au#,�&�W��8�kϬD�>(}���G|�2}C�k�dAf��p�e�
�!����y at j�Bxܲ��4�P�g6�����}7J�A
z]j��j���e��V��@-K�E&�}���Bp T��=��$�<O���$!keD�Z�pN�a`�y4�GA��i;@Ġi�FHP&PiS��}�|mT)�/��
+����A�$"�,%�
M\�6���Qn�2�Jnl��1�2��k_Sij��<}�o�EFRG���_�o"�4�
a
�цr�ƞcs���SOI9).�����n�A�B�P���g�b҂s<<���G��#x]�9A
NJ3(
��F׷r��tR�,���[�T��5�f�C�	�"&�3�L1��1e_�p�
�@����Zd>Ӽ�3�g2����
�
P5������Ȋ+�0�v�A�e#A%*�9�$[�(�CL�>�ϛ�
Z�AM�NóM#��n��'R߲n����V�lPL�8�(HjZ�JH�{
V�}���<ϯ���[
��^+Q�kőQ�'�_�lwc
�V+J��ܸ7'N��[/���j�=d�3��,]-�0ΐZ^b=��
�>N�Q
��fh��btǦ��2 ��� Q
�M��/�����Kh����DЭy��I�@ЉL�O�#���4�eFۀI��.�dN��3��ȈF#��9_�'��^��R�"�h.��/���By����R	i��X
߈C�N�'�-� ���>� [...]
+�9-�l�A�3?�hp_����+�?
;ޒ"w�
9�����q�f�
�-d�G�b��JE*W.�qj�nW��f}���c��)���X�q�3M\9��[����EEA����K�x}^�F?�<�}���18wZ��i	�
��jƋŻ��
�[�z�)'�ŋV�Ж
O(�k�T
,B�rm&� ��m5�
7G[0Z.pƥ8�8��:��6�]�l@ ��؁��k��u쯠of�唸� 9�inm��[N�63�=Y�B�v�,D��D�r�F��lիnx&��)�U�Wi�׭�o<m69��+D�8k���:�(H��n<���5(д�5gl�l8���
7Z�L5V��ҵ��F$vY)g��ϗ�
EYp���� �p�`zT�c�<���7
+=D�B�R��(�f��0$�w�*2������bGr\���C�ە�K8�S���^.t��S�œ젰�Ke��Y.:�����%%̠̈́��Ņ$B��V�߳��u���b.��έop�2��IDB��L�=K��%#W�	;�+8F#��Z�3�U<�
~�
^X��c	x�-��:���^��3�1
.0��dSzs�?)%@�.�`�l-��

t�9����ȑ�n����ۼ��k�
��E�y��^�\49F�5Sx���b�Z��}`�iz�,�e�Ztn&�L���p�ڜTF߶ ���)x@�� �-�
���C��0f�a.�m��S'R|8w	%&;+u�������?��g"a�,
�Vn��s�L�$��%t)&
td�pF������qм
+�&�[�?��!NE�)W�����:���3�\��
+
-��,�T��o�Nђ7�;�! ]���1<�+�#������J����
#3R�L
+)�\�D��b��W6��P���k���R
̌�҉�me��qc����.�j�>2̩M
s��ʧ���9Qgz�`��xj��&���Q�j4+�J�������G�tQ�޴M��$���l~5�pn�:�~2%� }���̥Gb_Q$�ީ@�e:5�Ͽ�r`n*�d�9��E�a����-�Fs��PbI���#NW�#e)��D�A�P(M�#���UrT\�`
+
6���}h���󊌼$���4�
#
ӡ����ÜP`
��_��bN�
�ll���Uc=���]���l�� �X��R�o�;SBR at NO/V,�Bu�믖������~�D+%��+�(�����K�Ǟmt��<+pU2��YW�Z��&L`P3����ߒ�s�N at xi:�����
��Z(��������� �jF>����H����Ύ��_b%���4�´�%:�y�_�{��������{���zm�-d�Q�^Z"S���vRO!�
+�ȋ�S{����/��;�z
+endstream
+endobj
+239 0 obj <<
+/Type /Page
+/Contents 240 0 R
+/Resources 238 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 236 0 R
+/Annots [ 237 0 R ]
+>> endobj
+237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+241 0 obj <<
+/D [239 0 R /XYZ 90 757.935 null]
+>> endobj
+242 0 obj <<
+/D [239 0 R /XYZ 90 714.318 null]
+>> endobj
+238 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+246 0 obj <<
+/Length 3111      
+/Filter /FlateDecode
+>>
+stream
+xڭZK�ܶ�ﯘ[f���
:'�N\vdG�וJI>`I�"9Hm&�>�	r)�_v�F��ϯ�
wO�p��ݗw���'�2(�8�=�ve�+�(��h�P�����}���o~�YM��r������ou�t����
��ᗇ����p��][����Ί�H�]u�{�K�����.
��{&��.��mw?���.􏙅�c�I�S��}��ꬌ�����6��0�^=)��!ڟ���7��׾�u�Ĥ���T0����C�?
�l��[S3��Սa���v�M5h�B��hfx��TU����4.B7
�8 "��}e&����j[�k�y	�So.D`�<�9<ħ��i~
�i.MGC�}�72��BR�k{c�>�X��
��o��fEut�i3Ss��pc�
Jwֱl�I=�V�$�
~A��/��K_�a��`��7��Ǫ�n���g!�lI@zg�z�@���^FH��Q�kۼB�����C����xV�ɏM#�ݩt�u��Z��=[0�A
��ngǕ���D�W��!?�ၕ �g�"��!�/�tW�c-����'X������I6�j��7�����+�,Ke��@� [...]
��|CAf���)�p�{Ͳ� P�A���p���ٸ+O�
12lMF�
ݱ<�uu�
���������[E�
�m�����lRJ�R���<A����o8� �����S�UbTI��lӞ�
�Q�ǻ1Iu�4j������g�x�e{Y���+$�y���ϖ�"�?�e�Y�u4<��������[˙I�
�C����&7��lz+|b,��M�^%�$��E�	CO\����L�<
��|����aǼbd�g�܂
,�;Sf�e�
Y��G6����Y�-Y�e�r��Oɤ�TS�`���.�
>�,;h
����P���(0� �[��ʡ������ĖE�q7�
bA�u:]��5�$P���k�M�
ع*k�,d����Hm\��-n쮪�V����f��U�n0@�Bdp�$�R.U`� �7u�Q��x�2��XYc�`�8
���5>�qr8��8�{�ԋ�(XR&*�
+4\]�l�”к�r7]q���,-,�
����>�l��Y�j�x<�t2�eK�}����@�фq�S4E���
_�t���B������r�"��(Bf�i	 H ih�
I�ɨ
س@
D�Y,�
)�[������4��D��M6wɿv=7�$�M%9�_�G'�A`B�%aCg
@fgm�l(ИX<� g�p�3��`�u� U����D|,'�Z"t-!AR���K���a8E3
+g�2�hSF��
�=��J�~Ao7��
ˏ0�?b|CԞ��	4&3��l&E
a� G�8
p�����Ӗ'M>�d
���А��0#��d�x>�'}�F��-3b���$���		\�ed�?.�13�oл2��.%�
q9�(a������pG�2�VeN�oRw��p�oJ�ht'���$�/% 8I9����>U��P�=
0�.4�/|"q�
#d���l�0�KX��5'7:n��P=:�0�"�޺3c�t_5�>쀲��R3�@g�jɔ`���D���� s2�6���:DH�S�m�����I���'+Y C߹Ɉ\U�J�s�a8�i6��ϚI,Ax����
+��Y�"ӻ2 ��zg�5lp���>i���Q��W8��,��Og+��7��~@��)5.r���K�_d3̴��
+��Ŕ��E�8�r�"�$�=�7nU׼6		��R�@�z��E���~�O��
+#9z�a�<�V@~Ct羅 .��.�M9�܈
�0�p��
�Y����5
m�1���=����]�ir�Vٱ� Z��z��k��
��km�V�
+8/�8Ճ��l�k��Z=��`ܓ+7Wl�(�*ws����ĿR`5���:)A�\�qrKi��� �˥*E^��dq�{7m����
����X��
+�Q�dy��7�zA��Ղ�h1c�??2���-�
A4پ��i�
]?�,���b�LS�`�� ph���_6{�g����V��f
6ޮbXp�
A�b�m�:��s��T����h(�m
UNC)���~tƉ���4�
�Ak��L���cf�O�� 
2]$�I'�dB�n��xX�����՟>�;����L�$Q
���RyK�᫛�^M��
T��������;���z��o�P��>�f��R�(C]s�m������I-�~�в
�ҋp�,������/r4r�$��T�3{ q����0�r�R�嶫	�Ө�!}ӈ�}�òA~�V"��4ܢ��$��,�e� �
g�#��,���p�%쏳Qe
w�t˗D ���S'����g}��s�=���֡�a�އ�󹟪�U�a݊�!��U�"�`���P c�P��y���d�$OU at 7�G��-��
/�K�4?\��	�K�ȸ�{��-h�!6Ь���������|B�5�	)���
0`]�yŌ��3�V>;������TK��%�΀ߺ{�L�>>.V��
�p����Z0f^�{�i4�
�` 3z����UH��p��^%����S�G�������>
+��+~�pU
%�T�#��<�
+��*�j�;�L�d̛͍�|��B
��.�(�a��m�i��7U�� /�e��G��!6����Pp
E@��>@_��2 *�	r�X
�g�Y���}���;\��ҁؖ5�r�4�ڟ���i�s����
�o�
_/�d>)�<Kc��
�sz�L����*o��2�M,�t���  ��Z����$����,���߼ۺZK2�S]�-bh�e#�C�2q���M�%
Ä9I
:N���"nM�&��`��Ӟ�7.�>���3*|�R�U�
�ZZ>�oh)Xd���C�� ̏���!�A�AY@�����A���/���
n��E
2������F9
�h������T�4�'��mJ:���_A�t���߫n�
�<�$��0����4N_-~j��������y���,� 
Ct��0\�x����9�l0v�j=�����B�+EQ�[d����RR �98(`N�޹��X)�d��
+endstream
+endobj
+245 0 obj <<
+/Type /Page
+/Contents 246 0 R
+/Resources 244 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 236 0 R
+/Annots [ 243 0 R ]
+>> endobj
+243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+247 0 obj <<
+/D [245 0 R /XYZ 90 757.935 null]
+>> endobj
+248 0 obj <<
+/D [245 0 R /XYZ 90 541.181 null]
+>> endobj
+244 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+252 0 obj <<
+/Length 3076      
+/Filter /FlateDecode
+>>
+stream
+xڕɖ���_�[���5$�59M����L����MA-d�h�XQ�>����ع��B�P(��w/�p��ß�
�~��]y(�8�=�ve�˳������)���q_}��
Lkz]��鹶��n+�&E�A����ۇ/�
>=DpT���t�r���᧟�����ƒ*�ݕ��]+��w����l��
��:�Y�l~s���4�u�@�
M�
2�d��U������A��0����i[���z�a�3��g+�S��k��,�&�i�R���2��{S�}���ݎ�<tS_	Ƈ0�k3���<FѡLEèG��
GAwb\>  �<�����Ƴ�]�r�o�޹Ŏ^@��>
+���$����F[wɣ��h�^��A�k�H�=�Sd9��� ��KӇy%?dq�+����c"�y\`l��������C�^$
+
�b�Q�F
4���ϲ��}�1�h�n�S�7rƉ�i�e.���$e�_{;�F��lBoV7��~�+��|,�����Oe.(��O
d^���s���d{�!�

��~9��n��I��Y �*>D��Aq�?*��/� �j�Hv��v��A%%���>B��QaʲVa�
+ŐK�]��
�c4
Ay J�
���0�?����F�Eb�s`,�_z3
�m>���#�J��=9�= ����<	޵�綥�޻�s�BQ_-X�e x}]B��]avd9!��� D{D�M��ȶ`�j�1�4v
�I��Z���N����z�r
��ܘX�o����Am>�ih۪��l��`"�\�<rT0�=|���9�v���
��GG�׀9�,
-�}1O�x�6=��
��,���� =���j*����,�����P�<q��՚Cxw�_ъx�
+�	�L3b�Nn>�]#G�*\^k�u/Lt��=��]�R��4VM�v�B
��
��(��:>�����(�G �/�H�p0��E�*K~���k�-�i�}�H��3=
+��H�)��K�ڸ��0Y�I�UA�{���}�nA��{�՜x�5K���5�?�O�
+m=ȶ�1�A˜�>
�5��W�>ˆ�k���߇=1���V
��[
+���B�=�����T�;�7����nS,���f]�	�*�]����8��'�fy���
X;�E�8,���$��l~��������6�3��d{

���ʞC~&��gB�h�

%Vs,(��f��w?��:���1r��]�ƥ�T�KB�
u	�0�qW_�rQļp�*�?����8
*<
.Ŋ "�M�(]���3�Ɉ��Xe^�uன7��
��vJ�����
+����򢰔�/�:>���\���}�Cʶd0�B"�L
}��1�.X��,�ċE09vF����}sW��
���'la�����`�<��Jy6$OG�T�p.�,����"��&�
q(��%�Iˈ�0ٳA�N��l(""E'�#�94$.���6.4��X
�/v�{��Ӥkvڞ��l��ຕ���{;�FF�c�޺*�KcֹI���Z�UJN���lU��
��?)��GE�Ҧ���Zӝ�<�/���_J�T��d���9 "5đg(E\֕$�jv�0���`��@(�I��ݯހ�����3x`�x�}. ~�;HT̴����,X�������Ә�T���uM@�� ̮�֓�qq�j��������d�1i��a�~1 
��DZ{�1!��
T�:>At��p�̹�4����~��9"��R�U%Ԭ���E�d]?9���T�+Lry�e����b��@Ф��O�v2�Xʨ8�/��hnX�e6/�o�3�.���>���h2gi�����/G��F쉜x�=
��(
ya��HE:��<�
+3d�7�����Z�rC��N
�}U絒�~^_]-y���<ddi��ID|�)UJ&\�.Ӎ�ѹb簇�w4
Ћ��ܣ����Iξ�e ��VW�7u�\ie�;��}�?
+�_�
+�N�M��r�8�'s�c�B�v���$}I'����wL	�u	�;�}X��ԗ���U��@?-v�~���z�p%C��X s�%�~�J�}��e����R�y0L�����k���
-��E��R�R��-3\�-g瀂!z�Z���j֊�k�*]"��m�� ��ĸ��ê��ݙDO
��c�hG��
�rv ��0�
5O=
o�ɸ8a�ڎ}W�ID�<�I��-Z�_-=j���
@�l�>��He̸��aK�n��d�Y!��#+�u͟��!�Mv�L�[��F��nl��U�=��x�i�0��o�5�՟bi7L���\.
�\�w~�$��e�)p(����qh���-�72�RzE5�+�Nآ���{I
g�I�'%��
~���E�g4Y/�Cl��U��R� �;ps�r��>M�x��BtB�AX�-dˆ����#
���:9,���O����6o9�
�	~=��	Y�e�k0d�
�[piW"���u�(��������{���$�,�I��
g��#��8 ��&�O�
{_�� ��XW�B��.y1�c�x~���P��t
6�h�������5���s
���i��+���K�ҵ�l?��"kme
ɻ� ^�Qϭf”"CӅ�_Ӹ5�c*��4�
pf_"�"s�!�P8u�J�<�RT-�P\�$^ G�G��
��qn֦�|h���Y�
u$֌�E��Ȕ���]�}<
��D�8�ޱrmY�J�K���)h���YzW
����E�_�?:�AՃi>V��
:���Ƽ��g:ڹ��h�u��(M�Xa($1I<�.+U~ݠ�/XC�79�WJ�#O�eW�?T>�R�G�2L]/+
[��g.�� �A�f�1�u���~���
R
�]��#
Rq�
+�:ۑ�|�2��?+aV�����~v(sU�w��<���NO3�Ș�-Ӯ��ͱ�.�z���t�2���
���]���`z�p��n'ײAu�8�2PkD�P#����xo�H���q�F���H���Yz����r�q�������z�����K���˥~��񝈢(9�#2�����!�A�R���
�D.L�'���?�� Z�Md
+endstream
+endobj
+251 0 obj <<
+/Type /Page
+/Contents 252 0 R
+/Resources 250 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 236 0 R
+/Annots [ 249 0 R ]
+>> endobj
+249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+253 0 obj <<
+/D [251 0 R /XYZ 90 757.935 null]
+>> endobj
+254 0 obj <<
+/D [251 0 R /XYZ 90 630.537 null]
+>> endobj
+255 0 obj <<
+/D [251 0 R /XYZ 90 399.665 null]
+>> endobj
+256 0 obj <<
+/D [251 0 R /XYZ 90 283.345 null]
+>> endobj
+250 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+260 0 obj <<
+/Length 3490      
+/Filter /FlateDecode
+>>
+stream
+xڍ˒��>_����
-I�[���̦�>�l ��"e��D���
$$q
WM
�F�4�
ś�M�������(Ԧ��EZl>
7u�)�d����S��%J��i
G_���4Lg�n��qڷ������t��NUeUTo����W��~J`�x��ܕ*�
�O��o���w��6��u�d��o����_O�n3U���y�I��>����z4�8�p
�?�q0/�<��Ne5O�;n7�~MSu����6��i�
�2
�#;0��ϡ��Wg_N#c���1��_O��O�w��f`��y�ES7#�'+���m�
̣��1d�G׿8}�Qw��W�P�>�`��ƓS�\�z������iB�v߽
L#���1���$�-_zsK����������6�#�_a?��M�ȸ��
��n>X�+�l��,~�<!y3
 W�ut!	��������i�-7
��J�M���z�J�,����_b��^�Y
�[�3s�������\�s�}�PyF
#p�>��
Az�*����|�S�pwo�k���݋������,g݁��v��Ÿ�
G�	]oNQ�)X�UQ{�N�wd�Y�U8
K���i[�rǎB�A`�
nz�v=J�Xк��N���|��$���¯�Kb�շܫ@
�+�!������>��`�����ۮ�s��_�8=����X�
	�;�h���B������.�`���ʑ��J`��Mtvd�fI��}�:�x��(�x�e��$X�_08�ȣ^�<�'A�<EF��ѣ6r�~n���,�r
gH��ذ�y%��m��歉��_i2�J=r
�t$$����O
������ ��
,
��w8^x��6��aX��
�n����Ô<���ξ:ޟ(�-
�)�p�5�]L�tYڬ
��:��C (+n��Z'���T��\8摝\
{i
����|靬���=���e�Fn�dT�������~����ׅ8p<�7o=��9�U��
J'
�%
O
���[*����E;
Rr9!;UF��K�@_�U�*��C��7te �����1 h�n��П�:#\V=��"�n�s�����`_�:�L�%6H
�?��[E�@͟Yv��k���DZ���o�_8 at F �;�5�+2v�JH���h�d)��
���$m:�v}�
N�� +.j�HV��<P zˎ���q��E�����E���(��aP�g!�
+
c���n�2�lt7�H�24X���EVn֋�"�g�����BG�
��)���.���y��6����Tl�0�`a�"�X?T��)�*yV��c�w
t|�f�#�
δWVC�A�ӓ\�(��%
�x�,��V_����w�PS�O�D|!��7펊è\Ŋ5�
zĸ���k[�oeI N��; /�2w��;	
��N�m�*z1�X��,��I!`<��%�V��J`���崦C��L
9r���X?d
uf
���8o�h
3!g�� �~-���� ���IQp�)�b�P3
�����)�d�Th�
4�h��F
q'�lyy�6�H��1-���rk�dq����AI�C�rG�1D
��9��0e̗�q�:�o��x
8{�<�k'�V*��4f���2rk`��V;���f�Xf>���AW�'H�(|��
�q
��8[|�����29%��.�E�ה�g
v��T��(
,���6b��F��a=�]
��r	�"��ݭ�b<�S�3 ��=��@`'�v��C�(`���~������P�� NjbɈ�B�
#�|�B'��1��l�B�B��v#0�#@���X�fL�yÆ+��`噵s� ���kގ^-
+��fK�l�WV
�T�a���
p��55�@s�@ ��8Ց� ˜�R^╕����\��FF����;Qw
29PD���i��1%�=8�E;���
Niu�i�0q&W�웊J2vVj샜t� ,�%S+8� f�d�4�Yt���*o0| [b�y���A�b]λ��h�]�B���cW��֜�ǘ7��Q����@%�o�t��՜�̆x�g4[
`�_�L,Ղ���q�F��f�zvr�7s�G]�ot�^*���5)ҙ�H�j%��	!�߉��i[-
+Qg��k

.��T�`�
�0���N
+]�٘:
ؾ
�u!��qy,&raK�3A��g
�O�d�1f�}�\���B"��w
Le)C̹����$�xX3Tŕ����[�S���44�p
+�)Nc��������T�92�
���Ffq��(s�
�h�F��O�!��˖5������h
+
��P�Nv/X�[���s\^@[�*��"� ����bC/vZ3���k����#Q?EP=qq�L��d���'�'ËJ��bA�j9�W��҇@e���.�ѿ�	�0�:�+78	�ƪ�r)���e���&�B�~>�B��%��<�l�4�}8Ęp.׬	��J<1Z��v~�p�� �@TGA]
|A̗�[?����8
���3F��J,�	A�
㙯r�X��p7|(j�`5^�m�[�̇�l}F��Y�ԇN A�ʮ�Y�q�7ù�~��U��,o�̂eZ:�L�;O�bJ��e�Ըp���*�8=p���F��]#U�3�@�bnV|�B��R�
]�p�jh)W�Ttk	��P�PE	��D3��w0GGk�?,�T��YSy��x�j�c�7
�^�^����W<
��Ht��Y7�
��xB
+ܓ��@z{I�r,�ٳv��e1�X99˖�YeUqF"\X��x0�!4Ӂ���L��z��	
�'�ƺQ[!,��b���6��3u-[���?$�`�ݺ�����:��ahK����u�������(\��9�΄dѴ������4����{��/�-��ʃ�~!ۉ�%��)���M˴�
��i�jA���X�o��W�7��L�"6s�7$�q�~K9����
���ʙ|)��x��U�)��a���N�}��w?r���t���7�<��(��49��e5Q��?|���e���~AE�2[� z��ه� >�Pt�PJ�J_҅���p]���L�&7r�w����a�0x�(�=�̗K�Yf�Q��cc##��焧`Ǣ�1	d�pf1��C�=�W
�S/�\)d��
�DY�����N
>���
̓�p��S=�����d-
Mn��	'i���Q����(�{��Qw���V`
P�γo���e
�"�'�02W�����,V�����Ϛ���
��N���V�\פ`L��K��qM�*���;$@�D�}U^pc_�[��۶;L7��u
�,
L��]Q(�k�4�t��O_*������7UT�����Ϧ��R��Ů.U%?���]�K�7���#�W��<�|����4N�7��N,�5���
��#�!�Z��`n~���&�{1�
��*�]g5���m3F8�l�����`yp���w�)�W������___w�a7u��vv|f��
��X�$ٮL=��w����D�
vuUo�K��̾�wg�������
+endstream
+endobj
+259 0 obj <<
+/Type /Page
+/Contents 260 0 R
+/Resources 258 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 236 0 R
+/Annots [ 257 0 R ]
+>> endobj
+257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+261 0 obj <<
+/D [259 0 R /XYZ 90 757.935 null]
+>> endobj
+262 0 obj <<
+/D [259 0 R /XYZ 90 716.221 null]
+>> endobj
+263 0 obj <<
+/D [259 0 R /XYZ 90 153.741 null]
+>> endobj
+258 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+267 0 obj <<
+/Length 2856      
+/Filter /FlateDecode
+>>
+stream
+xڕY[s�F~���mE��u�Ʋ�
G�qN%y�AU�D$���o�FH:ʖ����LwOOO_��1��}�
���W��5��&�����Dx�1rLc��
~�������b#�8��(����-M�<�'�8+c��-{���������՟W�
��x#�r��կ��
��5�G�d<� ���6-������Wz�NG��iZ#�u���U��>�r��}�hQ����3?3������4�V̍�V�CC�>���d�>/X`.�C\����ֵ�������g���\�e�CN����hŬ��Q��f,�R��Et����<
+�1��đs�Y��<C��D2�]<v9�;��Q��{x˫���8��c��(�)vR��K��n�oJC��"�Q��$Ϊ���NS�	����9$��]2B�N���
YbX��6nJY��ЉaT���z��C�
H��e���H0��G�=ay�;�x�s�u��*��V@?a�9�_I����=�� /{c>x�D��H�'cR^TQP�&���`�m~|K���\�A���w}Q�(P�7Q�
�TQHh�S6~�"�lGG�l!��b:���
�1kh:,F
,���7!	IV�|��2Z���<W����V�^}��f�����+��� X��9�$.�0S]][��W�!
�Y�5��4U�"��J�X�N�g��J�r���7��d��4l���s� t���M������x��W�,O�6� ����<"
d:gS��
�V��QG&u�a�(���ǔ�9�a]s1�϶q�q<`)�y� E���5"�dq��l•T�ByW�
��J�.�����y{�
+�قga,HA���]*Ht�7i���q��ИX�C���V���
��6�P�r �
��A��<0V���H���E�AɌ��h A�<�U�$J
+�$@�Jd���	��;&�@r�e�+
+`�1F떶:S �6�4ݎ�Ȗ���M��1I��'t�!�I�J�
��� u������Ѩ&`��q�KTU�w��U���ӻr�JBF�
lX�\Vǃ	�Aoi|T)T�j�
�J��kڬԏ�Q��Q
	�x�}O(��V��1��D(<C�P�����78��h�0�`�
��%�	��o�nƥö��� ���1�h��ڦ�
Q����@�l���Fd�lDF�����4-�*2�')t��46q[�V:����Ĥ��[C�[�� ��-�O�
����‖8�d`4�
�P���ud�+Ϧ��%�T0�D�[ЇPK����o����;
/�LR�Lv�~X+`�t�}^��9&c6mL���i�1�2�.�N7��r

�be 5ٗN�m4JsV3���7_���MhOe7�=G��0`��
+>��/�u�q B|)U���w
�n�V¨�O�G��y�V`h�޵;Ō\�P!����'�Qƴ
,ډ:�� y��d��u�
�!
�\� ��� ��qӰ- �|+��n?�s9����@h+�����
�G<%��m��	^۸C�\P3�\	��2�D�	ʞ��W$��e[Θ�jrU�������٫
���V^ͥ�!_Һ��'��*�aмH��z��4�"�
+�����.J�%P/�#��n̉�=1���D
�Y�7��g k{�U�Br<�u�V7��Z�t���M�H���C��Tm�R�R~[��?�P� ���U���[��B���+M�#M�}Rn�ڬ�m��
�QQDY�9�G�W��'?�7�aj����%_��x�0�.�ߙ�
y �x�b,�����)��Ƈ��#����kY���z����NtO_^�A�q6����;,L�<'��MN@��Y3���_0u�V�� ^��,_����N��:d Y��`��D�
����0x|Z���r~>3���[��pٟ�/h�4
�34�WBd�
���L�}&�e68C|���`%=
�_���r��I;nd����}��,���]��j
������ՖB�!P�Z,f��=�M�wXTd
+L����R�Y"k�ٵ�>��"چK粡���p�
��]08a]�	K<�������ff+<��|*�M��\�#���=
�u�%�]p�~�ޗ�U
H�c��g��fʦ�
+4�P`��t1�C�3TN^'7����y���C
$6�>W� W����B҉��N��K3=E���g���sل'��j�췴P=PrD�C��|΃�?����
�7+W��c��g"\�s����K�Ζa��-_�QWpt�ɪ�G���$zK��� ��-%"��5��
�6�9�
�C��rς�}�!��ù�9�3���1�y�N-�Q�F� |�
T��m7�
��m�<�]�+�VҐެQ�������>x�"e
������]݂����
+���qqX��N���w>��h�*?�ي�	�zOe����W��F5��7��N�Ƴ�Ջ?
d� u��9KО
ya%����l�k
+�NS�T@���^�7.�Ѕ7���/��\�I�k`\�3Č'�  �7�ћ^��ar���ހ��F�%Y��������n%c/ۂ�s΃D�/ ��D`&��U��&T[)ڤru��!X��kX�k�]?a�u���Z

�D�q�0���
]�`>G�R��
�
+�p9r�q�ZR�hD�
+WQ�~FT�vNt�#�
��D�+�;�x�X~Et&#DZ���
��<�d����."��oETH�>Z����wY�_���
�
+iS�E�ڃ�s���/L��?����NElX��Vq,
a7�1P���\�q8�uF�;
�PU���~||����%�b�T��Sz��q�E�a�<S)��yǼ�'"T9\;���ƃ5�q������o���n
+endstream
+endobj
+266 0 obj <<
+/Type /Page
+/Contents 267 0 R
+/Resources 265 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 236 0 R
+/Annots [ 264 0 R ]
+>> endobj
+264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+268 0 obj <<
+/D [266 0 R /XYZ 90 757.935 null]
+>> endobj
+269 0 obj <<
+/D [266 0 R /XYZ 90 660.116 null]
+>> endobj
+270 0 obj <<
+/D [266 0 R /XYZ 90 555.752 null]
+>> endobj
+271 0 obj <<
+/D [266 0 R /XYZ 90 336.835 null]
+>> endobj
+272 0 obj <<
+/D [266 0 R /XYZ 90 196.605 null]
+>> endobj
+265 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+279 0 obj <<
+/Length 2536      
+/Filter /FlateDecode
+>>
+stream
+xڥ]��8�}~o1U��ؘ���
{����٫T�U'����k���u�[�g7�{Am��j�w
o�
x��Wo�W���p0q'q�����cߍ�\>9��Uy���gd!+����~����;�ʢ�𑄣�����߯f˫��|8���v4v�a4HwW���k��}��$

�n0
+B�����W^��Ȼ�3]/�������p�8�w4.�on	�}�{;{"���Ñ�,o���p8ӧa
�y�tA����8ӷ���b����Y@��<,�7󻹥 ��+�w'sK���
��)�g
�/T{���&#��] �{μhd5���đ�h�.���и�)N���G4�b�1x&[80�!�:R�7q�L"�8kU��P;8�,hF8 /��D�
iƜ�[r�S���\��ʕ�/+=�#�ZK�(V4�?��RQ�!x�s[5
,V�G��Ԝ"qa;�
;#7����iG���֪؂�F��h
=��xJV��%¡SIs�2áݕ�}�Դ��D�Ӵ(��H s��@L<
A;]3�準��C���v��5S-x\�:�7��V����P}�tƎa'R�Q�������tQ�q��A5��� �X�m%v �0J�}�˺��{�-�a�D]�w�:1�e�zە�P��]А�:���a�D1b�>;P%�}������H���8`Ϝݿ%

8.gON�������r�p�h]��X_�^��[���aͤP=lFxH&k��������C��
�G���{q�������hr�A8q�zOf��'[�A�fU�ZA�@sek�(��8D(���h�K5�n�����[���7��V=������*絽	b����L�b^���y�L�}Yy�4S��[sR,vu!����4�\���<S�MÞ�3�L���s��.!��B4n*�p�F^��4Ŗ'��ZV��[�1��ך���X��Y�1VQp1�g��",�au��\w� �A������F�mY��|���5��Jg����옠ngxk#*�f��d�o
�����Ϟ�&��&��C��$�N͏�'6vgƀI;��|_s�
8���7�12��kX	�6g�0B]��L�s��j��!�7��KQ7�|��F�Jm�&FgR�I
+�*.�_���9�����J^���>��
��16l��\[�����8$���� v���P�z!ۥq���O��
�ꫝ�`{Q�g!v�`�f V����<s0)٬�ֲ��Z���U�	��yr��%	�v~�"�~|�}v��sc(�=�x�d�'��N|[�ľ� /�
�%�JRdS_�pՑ_�'):!d�D����mLB�
A&�te"��ԉ�N���U;��
�δ�P2�޻]3-�lK��%A�mI
3���Pg�����=�]+�ˁ�фMA��&$�?����"�Ǐ��3s��4y���5������EƂX�Gv�\���d&���-���2S��]2]�~w�(��jV����˾
�!������yI���<;}z��/?������U^��ve�,Ӈ��du�
�a�ts
LmǪ!�ϗ��ł?��4���M����)O?>?A+8���h<���s�����9y�5�5�*�N���lb�(l�d*!���GH
���{d.r�łէ%}a�V�s>�
+{N-%ߙ��
,��'ڕ5M�����pp������:'���3�?}
��w#����/#Ӽ���zm��̮ۆ�i[w'tPP�p9H�pd~9�.��J��KQ�����n��ݟp�G�ul����_U��/��E�Q-�F��լ74�ϕ{�
`H�،�'媻����
�9MS�Ֆ�-�
�:5wO�)�ԯV��
+���>J�(
+mN��d>��d~��}h�E<s��kh~e}�I�7�����쎣��Co(m#
+�v����
�ϏOL���xyQz��D�W2�k��u�FO�T���
�L�V�����+}�/����$�Ɇ�s,58x�y��"��.^
+�kC|
^�HN��)��x�(��=�<��2���X�fz�r�yͅY�=�����I�< �qb^�L$�'����_
#��b�w��
�����=PRoUɢ%����H����sB6�`c��s<a�Ɗ����D�ކz"�25����6E��0>� ed.:)b���& ��
,�I�H�A�#��mX�6-
�v��)�<���Ɋ�>��L�N3�s|b�bǒ��B�<����s]m�3��u�}b:����$n���)��<IB�$��-*�
X���w�
�5
Rj�'��&s&v���)��$ݬ��+m���M���H���ɾ���?���K~����D�SX�C�K�T��U�Ep���K漤��C%N\/N~���?J�N�Ц��(�ܨ��mU$@���#�L����*T)�h�(�{a_��]'���ZVmT�������)���n�'υ��C4|��c�O�8].�#7�'=
+Ikw_��rUs
ӣ���'u����nф�!w�@6�
�;��w
+��4i
+endstream
+endobj
+278 0 obj <<
+/Type /Page
+/Contents 279 0 R
+/Resources 277 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 284 0 R
+/Annots [ 273 0 R 274 0 R 276 0 R ]
+>> endobj
+273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [314.956 295.063 472.963 304.17]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [152.087 86.911 321.452 97.192]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+280 0 obj <<
+/D [278 0 R /XYZ 90 757.935 null]
+>> endobj
+281 0 obj <<
+/D [278 0 R /XYZ 90 670.268 null]
+>> endobj
+282 0 obj <<
+/D [278 0 R /XYZ 90 557.938 null]
+>> endobj
+277 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F78 283 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+288 0 obj <<
+/Length 3175      
+/Filter /FlateDecode
+>>
+stream
+xڝ�r���_��K���]d��sqƉ��i��N&�DB{(R�(��wo )��t:���b�]�tg��;�������C
�R'��x�����l
{N�{��|��"X���]|��+w
��KZ��C�u]��-�AOE���c7�����凛�/7��x��;�h�h�h�
n~�՝� �a�:A��N�u��~ m9{����;>o�^��
7���/{��KS9�
Gו6�d�nS���� �u��U�2�͡�~Qe�9��v�w�;#���u��m݃��Э2g^!x��4X<nQ4����4��B���
�m�x�tSwp����'�� �#�èuf����"�F�
=�F3�k��Bo����
CĀ����� �|#�`V
� \��b
Y��ũh��K-^�F��.	GP
+Yf��^�<�,"h�
U	��㕢(� �md�D� O�iH"���VQ�Wi�*���*�z�
+�#��x�ﺖ����o���jQj�ԣ�A�h0h'h�f��#�j4R}/��(J`�vݷ�񻻻����Ω���/ʺ�����i^�f��ݱt��]خ���O\'
cK�A\�^�a�#�*��N䆳U�:�ν��\������)@���I��I�s�y����z�˽��ҋ��>l�B
+6�_�9�
�L`�8��(Sqy�����=\V
���F�{��xD�[��n���C�~0�!N?������
�ʉ�[<V�ӫ
9JyOK����X�ke�C�E��nY�F����I��ø��+4�V _��/wMx׏�ks�+9,*-�l��y��mbឪd*/����
+ at n�
�8�	n�l����YZ#��%�ئ�����ڑ��㶗�&�M�+����Ak�U*J�|
\Ǘ|����������8��!8��A#�[1�0��P<W(
5D��

��*
�:U�
+�FU�����7�FZpb�7�vU��E>
)�`

��0�ɣ�4u>�P�|7	�F�.�-.���w0J��@U�tF0�ҷv(�uASoq~����mY �A�PRgو�s�K��-}wAڇ�9T�(n�E��)�u^l�
�։Iਅz���p�&+@��(k�
����bRX-�5��\���r[
Y�5d����0����݂�H�&�,�uZ	Q��s��Z ��x��ڝn)Ci�
�M#ܴ0�յ!=L\�E�y�,;-��$C�L
;"hc�[��1f�s���Q��͙[��fpf�I��)^c&#Y��_̖'
�`r�^dn����v���d4�3�A+J^b�
�> L��Rh��rk.���/
�����phti�aB,�n�#�a�Ƌ"��F
d��$L��c˳���t����:���!
�d1DoAH�[!!R�0��{
"eH9D�k�r���t.�U;�&
�URc�'o�_˄<j�D��B�`�!}
�b�7B
���
%ɄYs��8-�tD��n��r3�
dB��љ�	NcNɨ�ذ�e��
��[��k�����%܀/,s�*h�J�<�`XI�U���#��	����ލEP�tb<q�6L�F�1��C8�(*#���~"L
 _��(�Nn!l�U��&��lr#��j�T���"8_���.�r�eCػ%���Pm �pA�
��:��
ypP�uA����
�pPb!T���y��d�@-j�0� ���@o* 6��W%Xb�{z�X�nV
%��u��p���
钽@l��2]6����[� U����Ɔ��������������OL���);>><~~|y����?I��q
	���;	�Zf�/@�+b�~�]�ryA2��A���yEBqw
5�A�UE%�+����1�X��n����6q{�/K��y�.�Y ��Q�
�ɕ� `c��"��y*
���6Ku>HF�f�,���Q�
�[���b�hZ�Y��
'�A0���L5���������Hp�j�!�Ϲ0�ygl��'�Z ��	Бd z�r���.f��}�qE0��- at G �� 
�����m��	ݳ.k�9N�^"�
��0�6�G�+�w#
+� ���la�
8I���ʃֈG��Km p�e
$��%H����U������F�|���dr~"C����\ws�O�.~Zzx�N0�L[��W�8(�ܞ풾����<MN�W%�x��}��
f4���ѿu�A��r�Xj7Ë�U��}e���lj��q$����$��|ʻx9�����T�?
�(�l�
C�9x����"r��y�WW<<�f��6��]ӎ���T���p{;��C&�
+
	���Em��4��!�#�<�ʖ�$�jש�t�y�Z
/��;��YSX��S�M"^T�6�9
!��(b;
���kr��8`+��t�3XI/ל�yX�cݤ�lFE
w
[,��zu�@�K�w�f�f_
H79`%C-�𘤎�����U#�	�)wj�/�2f�1��A�R2�M�&����F*y�!�l$c�7��G!���!K����Rb!QvM/4�	J�S@�Ւ`ClQ]/~�L�Zf�9���F
�ȿ�o���R��9�ã��GeZ�(�_�x��̥�*S��
w��]2V}��u�	��u�0}HX�����x��!�Op�opi,z�+a��E�AR<c�A�t�B&�֦�(�O��*{x\#���,���:��Bo�Ԩߒ��Z���'�{�P&��6 �w%��xb�Aq ���c]B�у!�.�{Q��]�a2���(��2t����r�͜�Tm��dڴ|njԫ�h
��L�n[��n�(q�r���:'q����o2S����$xI�����&�l?���$7���%#��Q!����'��y^gQ�|8
+"� �P%[�bN=�Ч� \��AÞt�\�Q��oaP���@;��
c"�P��zK|u�t�x
�F
+��ZE��k�B���`��zo��� �����
��Ѧ��ĵ#��vJ��ؘ��:�M|�m��� 
(/��SF@r���
���~�ء�$J�NUW�{�߯���lj�����1�~D��t
$�=J�(�<���R�dX��΍��2�і�&��
+p�
3}m��7�?I�}
l����u<�
��
�Z���?���q��q:�bLWG��
T�w�?�T</t־%ҿx��s��U�N�4Ig�5���7@<P�zu��Դ
�
+endstream
+endobj
+287 0 obj <<
+/Type /Page
+/Contents 288 0 R
+/Resources 286 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 284 0 R
+/Annots [ 275 0 R 285 0 R ]
+>> endobj
+275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.562 684.047 508.501 694.951]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
+>> endobj
+285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+289 0 obj <<
+/D [287 0 R /XYZ 90 757.935 null]
+>> endobj
+14 0 obj <<
+/D [287 0 R /XYZ 90 669.352 null]
+>> endobj
+290 0 obj <<
+/D [287 0 R /XYZ 90 637.423 null]
+>> endobj
+181 0 obj <<
+/D [287 0 R /XYZ 90 637.423 null]
+>> endobj
+286 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+294 0 obj <<
+/Length 3703      
+/Filter /FlateDecode
+>>
+stream
+xڍZY��6~�_�����fd
")�m|�Yۙ�'��&y�(h�2E*<2ѿ߯�M�S55�F�r�
w�����ճ�Q�HVI�G���"qq�B�[<��:���]�͇���^z�齬��h�6m�л<3eC���,������W
�t
�ƫ8���������*H6�'�:.�~�o��x�ӕ;�7t'���ʍB��ဥ/q�_TK/t�����2v
C����Z`i�2S�i^J�9Tu+�S�4�i�W���*�
�vB�ț��n�	"'�ٯ�lo�ř��C����d
+N�q�y�$��
���:th3�: wFe��v,�X�V���)L���p���)Lژ��rG��yE�`�M��N�����1���1=�������
�F[�|�������!���;m�g�8>�H3hlUڿ\ӟ.��y�W��^�Hb��a	��Ӳ9AJʖ0�8Yu��gAb��/� ��h0]R���!/�mm�]�-tVO4
+
���ŝ�jӀ]ᰬ�B*�}US]��P5��
�V�����\�Ϭ�G�HE)_�.�_��9y!�F[����GS�:-�s�E��}Ş�A����ty;�ړ^P����&/eBO}7-�o�4<�����ֻ�<'SOy{�?��:�H�i���b^ ��
]a
��(���x�DQ|�\���X�=-	�V৺z�ӣҳk���]��'
Ĉ`S
��.w�Pݲ7:i]kLP�d�˵�܈v�V]�
Q||]�
+�4\�:k\*�

�`B�ZS����@!��
+|FD�4�1��&-Dk��(�Mֹi�gE�첍 �uH��;5�l0������E0w�vD&m��Y���R�D�~�#����
� �����-���cZ�N��kW���C��d��g0�<��tkL)��3�l7��#��AթҲ�'o�����o:��G���
��Ġ��xF�C6M��\�pbҘ�y����)
�B!c���P��^;Q]���xte���@ikmZ�9Lٌ�L�UW��`���
+�뱠t�9XW�솖]4f��/K�¨û���دg}ҫ�����U��Fc�w�j�jw	��Q�[by�
K:�O��T��}|���4��V�R@����n8/���H�7#<�!M
C�]*�!6(m�
�E��7��	�w��/Љ/�f*qM���0�~���P�"�H*vp4�YU��Dw��&�K�u%����{x�w7һG��1��S+}�d�ܿ|-��i�ǒ�`O�ݑ�
+�.5
���{'J�j/ V{0F����Y�e��Co�t?��on�ˋ���0�w~�����@{Q�������l��y�j��/e|��xL�&7���Ԫd���b{��d]
�Oz�L� �)���r����tȳ�4%VIXx.�YD�.�7!�S���Fdf�D#+ގ��Rd�b_���@�6���q�%�$�2��
FD& ۻ.�3��"�
�`c��r�H�Z�K��k%�@���U)
+�
��Y;� �
����B��dc ������F����S| 5Sg[U����ہ�I��kۘb#�Tt���ND�,jQTt3g�l�K�Vz�1�y��xj�;������ �d��o
����
o<�[�
o|��>$� �p�y��l|]�t:��'������@��B6�];���J�
|n.I
ZM8�'3r�#&��{�ܩ|S4-C#���� � �l��Mp�^
+P��Lͺ��A鍂W�K9��
4K� 
@l+q�'�rF�l�u�\����%|��<�K\duP9�Ю/Y+�@Y�c}
��T��W��8e>��!V��lІ3|U2[
0��~��
��B�S�GA
)���ʼ 3B��$s��6����\4MN�L�u-:D�l�?��l�~��?4׳�^$�	��ƃ��Ty�;�/���Z����O�J�G�@�݉���D�{�6`<�A�@!F#��dS6�$uڌ�v��׆݅،#hb���dkt��
����L�#`]�e�K���?���Zѯ_B6%Q؆$e�#�\�f!h�7�<��+Il� F�����8H�SM����H�$L�^����A.��j�
+��A����ֹ�d
+���	�Q]=[�	�Z Z�����Qm(J
7Bq�H��UE"�,��
4��*k����[�*q��Uo�c�"�S�gF�W���ΙS�V�_"�C<�s�rT0K���ېd�7hcʚZ��>D}�
;I.��d0
�.���bo��vc�^�>m�� e��x�
���E֠ɑz�
�n��V���t���"�=��]g$k�s�����x1���2�R���pM�.��K
+ w���IZB
Qe�8�!U��Cd�bh�I�Gn�nX����X���h���@�3���k
%��@��&Z.<H�+_�'���n�@o�H�f��]�/A���3�D/|�����_ϗe��޾:/~�����!s��`��?-=��d66Ѫ`��@d69G��ֹ޻�A1/���/��B�\{�@�ͻ#l���{HXYu��d�d�Z�HY��l�g�
�s��Md�t��b4����i��
�Twd��"˥ol��b=��p`�I�rnj-k��H5�
��T���pjt��fSԠ�M^�/E
 �4��q��<���Π%ނf�t���kuΥrp�4�IU�. z���Zv�"D�+����P�4����ֆ'�5�� �~⫉O
����*ef���PL�6������@���.ӹ� �
5�U�t$
�9�֔Ƣξ�5��y"�~�1�iy)�nyM�3����s��V�,�I��'�,�� �b�~�H�ӚS+@*��X���ecm�Tفj�2��\ú�۽��:3>ljFqA��s�BMYu�5��qk߮���Dm��ξV�ES٬�F���Z��$/g�`6�����lX�0����D
�z8f���t�!�������o��w�����DZRޜ
+;d�뛎"PGa]�~�A�?�8��D�r����ço;
�
?P	D�ylڱu��*�6%��?��`�K�!��(F<
5����<���T��ƿ�du�5��nDdT�<�8Z�+��K�y�{�F�o.�e�x�������G�%F�
+��q��
9�!!�DI�B�VTM���5G�%�T�'6}
�B������
+���
+��i3Uzk#����}�	�b?r.�ݾ��F�_
�i��A�-�ܛ��~Ͻ�|�+�������\i].R��6��~^q�1��4�2�`�Ƈ��3�2:>py4�Q�מ:��D���\�$Z+�����?����"o��QTO�p��iaT��5p~����c��K%�F�
���
�� g��
�
�F
�8�Q
+ب�
�%��-��Ʈ;�c�R	��"��m��ʐ�ʢ�qm
�~y���^!�i�m�$ЇQ at A�zD���l�T woh�X���us��h��تQ%��i���E]₮�[���Fyy_�G��*���=~�si
$s�CH��3-�����or�e���}ze#[�
+�%TYj�o��њ��+ڬ�h�w�e���8��/��d�%
�.5�����}U��~���߶�'#xk�iiM�6�]��9S�ϸ�q��}Zv
�M>��B	�+�k/ ���Gc�D�>/l��s�p�9?
+W~�`Hr�=}������*kV]���U�>Cz���'G�y�U�["��	�[ҜU�I�1��/��Rj�V4����^�*
+endstream
+endobj
+293 0 obj <<
+/Type /Page
+/Contents 294 0 R
+/Resources 292 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 284 0 R
+/Annots [ 291 0 R ]
+>> endobj
+291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+295 0 obj <<
+/D [293 0 R /XYZ 90 757.935 null]
+>> endobj
+292 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+299 0 obj <<
+/Length 3244      
+/Filter /FlateDecode
+>>
+stream
+xڭ�r�F�]_��˒U
`p1o��(�coYު�$1�G����kR�v�T�LO��=}����_��������D���6	���~��Wixq�n�կk��c�族�x�n�l�5�^6���>�˦f���N�
�'���A����ǫW�W����_�G�z��W��կ����?�|Om�ՙ���(T�V��y����yC��I������v�47Z�y([]`/[�z����
��	��5���cP��[Y�on��	�uS
Dzn��
��7�{�X�~��]��I��3�*�~h���P�>
���N��JM�e���z]���;d1��:�m,�8�5n����w�5G�f��s8,0�\"���!��=�K�5�S���zг5Z��fyb�)��������γT�^F�u*��8��w@���x{�-�#my�W2�
�S����FO%r��Ȋt<D42��z8�鶬�{lZA��P�����9�q�d��
���
+��s������CY�k��.C���t�����Gl�I@�&��Jq���Sb�
��<
�1��?�("�:�Ё�
+VY󗇞\�%/a���)��?��b
�����uF�����ɺjvb8w�6Gn�%�M�%��׵nQ�t=t|Y &��q��O'��t��"(}+�M��U�KWe��Y��Ty[0pJ	b�M�욪�n����=ܱf�ŭ2�e
�H<�˄CÈ'�[\ܷZO1��Ų Ηy�dFl�X�O
��!������L
��^ͳɜX�&��ؚ��	��Z�ZP�\�:Z)���5O�kމ���;Qf����%�<N��#��Jן�
LRo?��H�8���:��n��Uv<~��0�h ��˪bx��9�K
��^�J
#�Ij����-�ݨa� w�|^@0�gx�=��V��{̌�vB_
�
�h�-(m%�[&g�� A�S�s���@�k�
��ˢE�_��h"9�>/+�v�S������E9
ƥX�*;u'&:���K�/�@C
��0X
p<\�M?"bAH�(�q��@�ޒ;|h�.~hZِhqF�&�����\o>�	2���x�%��)N���W�����ٔ��%ZF��G��2
�NO����ؠ,d@��7N$q��p*r�_�#�Dgos��Y�I�9
Vg�B�����7�o^|����ۛw�|੓�q&��h���Q�n��ێ�G��: �P���>�m��,�������H� "#1�p� �C]�eE�TD�%j�n�D�7B��)բ��9�
E��{�8U�Fĕ1�h
5Z
mƥ1!�3rb�Q���4�
Z�4Z�6�qDj��6Z,�)�')�U�j��B�m�2'�K'C��
���t��v�
gEP�?�{�C[c���{M(����
��;=j�h���:�S�u�֨ce/
+sS���e��L����1r2��Yܐ��y�0�
�.m�RfhR�U�x��V�o/�R&��0�'X3�yQ��B��[�� ��Т|�C+?����,?fw_����G���ң,
�;��&4��i^�U�4�{���
�s�x�
e���'HLg�{�r?;�#���
�Z���
/�x�.-�OII�JNbaı�
� ��#�("YHd�Һ���Ҳ���+C��#6�M�*d	� �M��P�o��
��dr��
+2$;�`r��pD��
+}�
+ƹ]~���hR�_F�2
&�
t��A6h�"[J\ ,�+*+v�
7�����uϢr'�
�Q��>]�r\�
���_���#��נ�\Rދ�d�_I؂�BA�(Ilʜ0�G
4�HVIv�_I��dv$����3{赺;
+���3^hv9�'�����L�+��ۙ�Fno��e�F��8p


+��B�Z�K[*�W��P�+>� l+��n	�S
֢<QYƅ8
#�-��rk
�5
8��u���ㆳ
v���D�	���nCcO*r&	����D3�PEi)�A�	:�k)Za����Z
�����n� H�n�ƿQ'^<�A�RQY*�9Ja�^3����b$����|�ipaM0�sf���D�+���E��m�֊��խ�t�U5;��`��
$��
����
S��(�
+�^=BP6)
+���\@�O`�B�Zۜ
 19�ޛ�
���4G��XF�
��8���Yڐ�����^

o�@X�|�^��]��qj�n�$J��#$��"���V1Rc���9�U����>CX
^@\(G��ʦz��ѩ�p�
V,Ԧ( ��"��<#�\A2"w�z�*�Xq��(���(��ɝ
�r�Dg\���&����A��t����ݶ�͢ (Ϗ�G4J):I�	��&3GI�p�l�2��QA)
�m���DXg *sP�Z�gƼ�8a���ZH/f/A�S,z�G$�r��Z䄩����P�@�+fl$�����K����$��rV��(dTO���~j%���
��������o�L�B��L��(
�	���)�/����
�`X��
�pd
���SCȋ�����"��c1
[
X^|6�w��k���`�����
N��nsٗ��[s�xN�F	Y�`7��SF4�,�P�܂)�$�,#�!F	���T �&�-���~���	��(i�ԁ��%�.q����
e���a��3����q��@��͘�j��4��Y8�y��F�%�$a*��Ԙ�4t��0L�@g
��5�@b�
+a�ɵ�y�

+j!G�e%�G��۵坸E{*��B�=smN�)o�e�Y�сp]?m��\��h�C�G�R#�И>���7o3�"�Ϧ{ƛV;pd�)��:�O^�S��B�>e���3�;���>R���k�m"������F_IiI�Ғ��G �d�W����q);=�θ����T�;�������Ǽ��DX����f)�]�҉r�A*I��o)��D�o����\��;�*�
Y��
5�X��Z5t�N���9�2���=�;� � ��,��=����f�S�Tyf2Zv�uѤ�4��I^���K�
]��͌����αկ��g��E�?\��{���O
+c�"%��'�_�%��R	���H�֋cy��5�g+�
����
�"�܄Gwm�J��B`y}?ؒ�
�vO�i��>��r�ŷym��Ŝ
��
�� (PR�r���#̆O+��	mi�&�������o�??��ޮ�<�^�??���3�<aQD^j�˽y��
,��a��Χ0'0�2f5y�t����@	
+endstream
+endobj
+298 0 obj <<
+/Type /Page
+/Contents 299 0 R
+/Resources 297 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 284 0 R
+/Annots [ 296 0 R ]
+>> endobj
+296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+300 0 obj <<
+/D [298 0 R /XYZ 90 757.935 null]
+>> endobj
+297 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+304 0 obj <<
+/Length 3227      
+/Filter /FlateDecode
+>>
+stream
+xڭZ[�ۺ
~�_�ٗ�3�Z�/�Ssm�Iv�Y����y�-z�F�
]����P�l9�L���1	� ��Gh����[��z���{����͓ Y����[���Ɓ�X�_�pyĞ���5�4K?s��ޫz��eՉN��ޫ��Z
O�0v�x��ꧫ׫��W>��-|�F��i/6��_~��Zxn�g�g͵_DA������W
���zǞ���%nf�4]/�I��A@˛y'���(�a at 3��"�����İ�Y��S7��0qD��#vR��6���:Օ����n�T�2��g�=I�W{M�F��+Y���b{}������V6�pI���$��,�K��ygmnpC�[�í�y̖j���a�J9����qo0*��t�_���6<}���sh�`H���lv�!�%gSW]����s�N���N��;�ϝ�
X��$“B	�G�RX���r'ޱ�%���37�����_��

��X�$#�bC��e� �h��:$��#
DKLh��,s��
9}%�vY�(
+�������c5�	g>�Dgk���p?�?>ƭ��Z6l|s*t�А_{>�^)qwH
3T5S�#ZU��
�h籅�����?�l?̞m���W��
j�g���RF�� ���UQ7-���%�c��	���Gj��`x͋�jS���or�����.�g�
��N�����?���;p|�܏6����F�`�-��ְ�Ȏ"
v����{U۩ꉆ+a�cIk�;�
{S�
]u������B�aU��<*��T5sEpO��\jtV�9?���L
�H_��g���e���M��J��R�=8��0u��
����	w��9.a��:�#vۖz�60�Sg�@Z�݋BMo�(��uC��p��}#�ۉ�Z_{Q*H<�#s2��
+�
�.���.h����*��E��I8�Ұ
����Ub� N�c�!G�#:"�HC��`B[
��UO��XZ[�Ea6�����2���M�v
2�J����S/��Ag��PoQo�S-��Z4�IC7uf�z�F	����&=$?Zj�
N,9�s!��\Z�Af�
@*��b��=g��e�j�����G

x6L5'}r�j���PZ5�F��/� L�������A?c�
&�-8
m��p^�z}S�aS
��O��c�(�B��u�%�(�)�ꌕ�	����#e}�_s�u�S��-��dKa9�x/��R�����S��R�Fǒoʄ��c"�%�1""���]K�
+����N�uu,e��>a������V�?֋I�'`F�ݮn��F�j�-�R�l��@qj�Է�3ߊ��(d����A��x�D�6b��N��G=l�p�y�⛢eq-˧�
�_Z�jh|�L=>]
^����8�R)d��3� =�����%
�q�w^�
�\��\�����[�!�¶�5B�
[F׳%��-�4��
A�+�):����P�G^��g���x��ax�D+��Y@��ccK��ƛ�A��5� ��,v�C��ثYB�k��iǼB�Ƌ��
+i&�4�(:B����[4� ����P��p���C�
MdQ6RG�8E��f�-k�;�t ����V���d��O�
��� "��:�
u\3��C at 1
׳��
li��
Ҍ$��� �-M��4�"�Ұ�!܍�:��w��2m{CO�a*A
�gK�I
)�ҙ�/&�1� O���5�P��<	�u�Q�ƴ����� @q�>�f��v�c2�����~
�|H�Lt �c���l�_i�$�؏W�%���'��N( !cg�XN
=
��
|�ԓ@#8jYe;R0�m%r��o��D�W�E][S
���(��C��6�
(�tLA��y"9Ʌ6� D�=pO�Q'93f`���Ëw�����[�����W�3Ϭ��.�
��w��J�%ϼ��>��y�t�$�Y0KK<�,�h��`��
+�LJ
,|�x�.�>�/33������6�
��hbm3"v����c0�#
�A{Cy����A�Hx84��e([!�T�B.���m��k�v�Շ���]w�d�F�E �Hh��Qy8.�'�����$ʰ0�q	���		Na�:x�%c$?������N0b��W���8��<�n�M+N�?i���2r�����+3��H��il�!��=@���^k|���=e0CR8���-��偖uy2�Aؾ/;u(Y8-dˍ.@w�-
���QBHyD)�Lb+���%
]k�5���p���.٤�لyH�n�h��؛�( [
b�ԕ��Rnp
���e����j�KlA
��T�绁ݽ���������6)ć��B����5>��R�����SL?t�`�;YD�+�K���R,
��+H_���F�c&
�?cl�
e{b���3�S���8���g�Jk�
�d��ʂG�$\��*�K��e��h��9�E���}ۍ������!f��z��Ŀ_/�,�,T]�d0g#�;]u2�R;��X�Q/KL�(�|f-���Uֲ
8�{�70F�
��K5/�C@�TK�`9�Y	g&�@J��%�����2�|��,m�GX�cAwSz+$c�od�7J�Rc�����<zC�mg3���ډCX¡7���@΂c��^a>�؉���:�{��P2�����_��=�?���7��L#�� ��
5��P����~՚�&c�3�ShX 45_t��1(�l
�F6���V��4z��������@��Z� QE�N�����R�ޚ	���kɪ��;�?�n��)�aKЏI��0��i>3�*�Y�?�]D��A.
=�d4��@p>��܀�
�pY֦�z��N�� �M���b�`�P�������D�*0��_J��b(ҟ�
V�
.�U�x ��S�
�	!���ŕF��{R!&
N	�Ť���` 
fR4=� ���Z\����\�xũGR�&
 [...]
+�kTĕ>��
�K_\��'�J铝���9�SGUt)�1��;qEJі+N��ym�
L�����Q��^����62�]��yf�_Qq�����D�E����Ǻ<�d��P�F_��K���׵Y�8����
��'8w�pE�
Q��/V}��3=ׇ?xl�!�8�<J�!3|Y�����8�6$��_�w]w������i]����U���Pޝ|}����#7
�-%�}�H��Y�/nS�㛀�pD� ��/��b�
+endstream
+endobj
+303 0 obj <<
+/Type /Page
+/Contents 304 0 R
+/Resources 302 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 284 0 R
+/Annots [ 301 0 R ]
+>> endobj
+301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+305 0 obj <<
+/D [303 0 R /XYZ 90 757.935 null]
+>> endobj
+302 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+310 0 obj <<
+/Length 3217      
+/Filter /FlateDecode
+>>
+stream
+xڍZIs����W�t	YeCؗ��bS���~
W*���<� �Ŋ�}zl��|fz���^�n�^
���������[$V��b�_$�"
+
+p��f��}�^���|w��7�ʉ�Jq�m��'U4i�˂I?�L5���,�p���Nj���
δ�DV���t����b���%��f����7_<\����W~]ϲÀ����kϱ�׫ X�{w�~w�J�����
���v�[�wo����n#C+X����d��&��؋�Nd����\�
+7Xf��ss{�_�{
h��FB�++����	;U�|��؇�N�T2�Q7G����X�sZ��
�;n�b��
+��q�r'����aO�gY}�_�E�j��"A
W�l�f�W�)�SX�þ2�
�MY�5�b���[\ٲ��zR;ݞ^�{EK]31K�\�dK�x�
�B�
V(%u�t-G��iqyƫ=U�pl�T���]
殺���$��bo�0���(����-*��듖A�h=�9S�����������+��*�uw\%,liϧ������XP�ztՐ��U�Z�$�����*�����|T�e�x���ӲJY��X1)
Rӂ���Wv��4�{7�w%�;�Dʰ���?1���
�<��
0��Š��%�M�1�JV
uv�	�И^{�U��$�^6�Y6豇l�Z�u���:�c�M�[���6��^�E�n�R��Z])~&$��M�2�8�x�![KX�:K�������k!�EiU���83������r�
̜y�^���#n�-����
Q��V�I�4�
io&)&�F��isjgf�ם�
F9w"_�6���:�O<��c�y���#�v��V���1Y0�*;���f�
�I�br>� ]Lf�Z��>~8O�UY�L��(����!쒼�
ث��X��z���1 �}Y�$H@�}Ե�


�Nm-6z�R1q3Ε.�>�y�3m��򱤇��x,�\��`�5&��-6��w?�0�����
+�Q�ug|����w)j

����?_t!z(��ʝ�ö��D
��%j��,��<��LF���(+�5=/��
��o
z-`�j���5�m5S�m!�
4��A�فp��
+��3ͽ-V�=�f�Srf0�����cH��nj��A��g�i�z8��
���������*���y)
	Jׯ���RDɳI�� y�d	�L���z�iuy�9�

8���d��@�@���H�!�2;�yp�p)]*��1т��.
`s�$f�"�x������ �^h��@j*{�� �(��*
T@�
A�0�$��]3��a<�.��=��
����S�h�%��ϫ1��孮�<�'��s�1�3Ҍ���D��#�Ҝ,Z�L`�c�{��{��C�k� ?
>H��Pć�ia����B�`�_=ݰ4�t�
��Ej ڻ��Ԭ4��s�
Rp�b\�ϭj
�������y�+0�
��fO�D�{3�ul $^�Ĕ�|]&�P4�,�>}?SDq�Cf�)3�t�����Ȭ��k���q�T�Fzm�";zm[�;P� �J��zy�})J<�h�~}�7����-�h;,C#�����'C�N
bљg���m��G"s�ߏ��U5�Ԝ1C��'���g�9�n�d�����R��p(���"�8WȚּ��Ab�����;

߂
+D.�9�4#W2��H�
+R�("��	�n�y�-#y,X�,���|U
�	��f���
�AG��=�u@���
D�����9L<��k�h=;49
�J�F��
�)C���,<'�ƒ{���5\����3	��@2sJ�C��(vy@'��c�6�	�FT��p�裠�Ӄ����S@*
�糘B{ �B�{6U���yq�<�U��ZH���7քU*S��u��8ٓ����cn%�7�D��rN�gs}1J K�O��T_�6�R�ĸ�Q
+�@�K2`,
ȡuKI=�uBA2�����+��x
,�� r�o�}�����t��
�׿�>��?p�Í����B������a�
9+�ٛ���N�|(�
��j�c(���G�Ŏ�h��Z�=��b���Asu
�O��ѻ��@��iE��\�C��O�}��P ��Pﱎ��ωPNX'�4a�E����
k}�9叄��x֕X֝h�:9)��� ���8��u쑱����S
��lI�
����Ty�G�����d
+I��KPɊ�6<��"�^`i
K�_��V˃�R9ab��
C���i��_]=>>Z�����p>�)W��J���D7�0��~*��#����ޮ��ߡj�C�R5��0�S/H;������ȹC�����d�@i���! 
�|_RFL�
�e��"h%璵�_�C�<�Q��HJ5p���9"���m��;�uMXlx)3��g\~#
_7��9!}
BA:�ӹ�7g�e�s�A�F|I��MR���ʀ��}�"�,�d �
M
1��
f-J�'�@�Hgn�9cLͤ-&3�(�xpWR���u
R<��t�0�����GY$�-�[cMc#�:	+I']�$���yT
�V��l�4bkx��GK�(
~�

���3�\ʞ8�
˒Cx0ȉa�8��Q�Є�
D�:�RS�O�3-I���(�H#��\w*�� �9V�@V�m
�q�m_����N
+�Z�p;����f���[��� ��apI�D��O�?a��bїax��w�@1hLPP
!�5��a_y��p5�HK<�KЈO��nԷ'|pR�sۼX*�z�ȹp��(FR�͇���:��__0�7�'����A}?�o}��p�3�>>��Zn��[yV��o @
+_��~"c�u\�����7���y���/�>��A���JA'����%&��.�C�+nJC�
�A:W��ؖD��
͎���p!��Ȏ�ֱ�j0#؇
�FlM`�z���_����c�s|����/�
�_���ۧ	�=_�%������;�
�8���_M��v�2�񬛪,��oʯ�ٍ��1�Hq��H�/2y�Zj�]���St�0Ԟ��Y�M�t��(S
���5�ز��[�Y��I�]h%��?i��\�<���J�̟�Q��8�m�VR�y#� ��I�� �	�S�*��
�I��������f[ ~��+��/熁��
��j�-�ts(mR��8�o��zoBʩ���ڋ |��"X㘔L����(���
+endstream
+endobj
+309 0 obj <<
+/Type /Page
+/Contents 310 0 R
+/Resources 308 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 284 0 R
+/Annots [ 306 0 R 307 0 R ]
+>> endobj
+306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [258.676 310.234 428.041 321.138]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
+>> endobj
+307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+311 0 obj <<
+/D [309 0 R /XYZ 90 757.935 null]
+>> endobj
+312 0 obj <<
+/D [309 0 R /XYZ 90 195.555 null]
+>> endobj
+308 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+337 0 obj <<
+/Length 1529      
+/Filter /FlateDecode
+>>
+stream
+xڵX�s�8�_���93D��o
)m	W��{��:J���s�M�������	IInʓ�����ݕL��G�������*��d1����˨�ČD�y�����#
Q�]=�Ji��j*
�N�z!

`��������"���%$	"/_>���o=J�,��z��
y �һ
�5�[�E^
+��!��8'<ɼ��XX�BϮ��bJ�+%����n)�V�E]�M�˪�gU<��h��Q`��xZe��x6z�?�
��CN��C��,��a�
�B�j
�V�(�yӐ�ZuՎ.j<hN+�o2L(�ʏ�12D55k�D��g� %W�ȥ��.�rg�]B�N�3�X���ވ1�E֙x��]�K
N��	
+�0�]LB��l��Z

����G8u>2�{YTs���Č&o.��p<���}a&�̝���s��N�ǥv�
I��v�ϼ��F�f{��q��xh�,ځ.��݆�Pۺ�K;`A�O`��_۵�^JåS-1���Ee�	�����@B��$���p���|�T7{Aծ������([�P�f�m,�쎦+Z�A[q���Vd�?!1�z�)�S���濙� Qh�����2�
Q��X�J�ĽᰲR�\��c4E�y���4������١d)E�Q�S0��{D�qR�
�3%�(K��A�:(��,X뀘/�"�����L�>�4��8\(i�JS�P�$��
C�9a�
]I�r-+����Cw
���+
1ر�j	1���,��a��`jK���ޞ�6��'��a�1��k��
z��@S2g��,�|�=K���fO��nmx#���"U�OY4�:
+ܥ,
���q�N��Rd,12/
�Q�;1ߘ�3�Jo�b{Us�g?^�Ϙ�4�Y�W��j�P�u�Mq��zpB����U�ȖG
\Aq�,
T�q�OU�o�?d�j6R/2���t�Z
f�ϲ�]*]�j
�7`\�����:���p������ï�K
Vy�
c�8ߒ��#�~jD��h��2#�dF��
b�`���n�7���
�Il?:�[�孛u�mf}��
�7<�K�U!m�Me��b���a�u�S�g��Z�w��}���t��V̷�#�A�Qh�����mĬ�6���o
��>s�x��x`���OgԞ�t�e�\u�����C���
�Ǧ�+�颭�>cC��2k,����Sg,n2|uG�5Ln��Z����,
�*h��<�M����٩n9
~�g��p��I%"��
��f�q0�A���ڔl��n}��0�ºkiF�Mk=K��Y��
��
�
��F���
m�y�P�]#
+“Q�ݚ�t������T��i 0������f���
`
�i��I����;��L�S�$K���ω2E�q�ĵ��
ji���a!�J��߻�<q�]ڐ>5R�1�"�zᝨ:Qn<B����G	<��JI���
�_�k���s�?Ϳ�G�x
x���X������z�&yC�r�R�h�!��;7�-1H�d�X3�e��sv$pcH�����k�q��(��?�c�
+endstream
+endobj
+336 0 obj <<
+/Type /Page
+/Contents 337 0 R
+/Resources 335 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 339 0 R
+/Annots [ 313 0 R 314 0 R 315 0 R 316 0 R 317 0 R 318 0 R 319 0 R 320 0 R 321 0 R 322 0 R 323 0 R 324 0 R 325 0 R 326 0 R 327 0 R 328 0 R 329 0 R 330 0 R 331 0 R 334 0 R ]
+>> endobj
+313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 448.891 513.996 457.867]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 426.973 513.996 435.949]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.2) >>
+>> endobj
+315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 405.055 513.996 414.031]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.3) >>
+>> endobj
+316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 383.257 513.996 392.114]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.4) >>
+>> endobj
+317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 361.339 513.996 370.196]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.5) >>
+>> endobj
+318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 243.862 188.187 254.741]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 245.765 513.996 254.741]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 221.945 293.88 232.824]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 211.892 513.996 220.869]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.2) >>
+>> endobj
+322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 188.072 229.144 198.951]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 189.974 513.996 198.951]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.3) >>
+>> endobj
+324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 166.154 193.727 177.033]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 168.057 513.996 177.033]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.4) >>
+>> endobj
+326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 144.236 288.351 155.115]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 134.184 513.996 143.16]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.5) >>
+>> endobj
+328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 110.363 223.614 121.242]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 112.266 513.996 121.242]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.6) >>
+>> endobj
+330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 88.445 188.197 99.324]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 90.348 513.996 99.324]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.7) >>
+>> endobj
+334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+338 0 obj <<
+/D [336 0 R /XYZ 90 757.935 null]
+>> endobj
+18 0 obj <<
+/D [336 0 R /XYZ 90 549.704 null]
+>> endobj
+22 0 obj <<
+/D [336 0 R /XYZ 90 515.718 null]
+>> endobj
+26 0 obj <<
+/D [336 0 R /XYZ 90 344.656 null]
+>> endobj
+30 0 obj <<
+/D [336 0 R /XYZ 90 312.593 null]
+>> endobj
+335 0 obj <<
+/Font << /F63 177 0 R /F65 179 0 R /F50 143 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+378 0 obj <<
+/Length 1373      
+/Filter /FlateDecode
+>>
+stream
+x��X]s�8}�W�m�}X���͖N�i��Ч��P�[��mJ�_�W_`C���if��d�s�9��L���נs�
9Jp�
�QBPR,E�	��B������L����x9�y��Y��]N�U������ΛA�k�Bl���%"
q�����'�&p�
"�'1Z��(`
�3t���C,�ݫ�WNm���BNI�i�Q�8&�0�����e��E9�y�j9�����Ym���Tcw���.O�2��{\�
+�L���_�v���*��v}&��4
7˧�
Mܞ:j,D��R�a�V]eH�ѩE��:�1�	��~��-�?���!
�`x��	n,�&7��F5���Fu6$����v�
O~5Ubs����;*!*b�x=5��je69���N�<L�ˣV������[����.�g� e��OW�R/`��t�8��mE�3}��y?�K^>��e��q���\�����E��ؓUXϝ�Lbڲ5ґe, Gg���U�������
�Mc��8A��c/8G���
*K�ו�mǧ�[�Rݸ��f�rb@��=�w�
uK;4�EOu�E:���S�B[�A�Q�`7K����"Z�{���h������F�~;
�.�^�}����c��3�2~�F��k�~k�W��u���i��{�{5zQ��	�;{�ح;��;�]w�f�n�� �"(�O���ZG��Z���X��$�3�{��'��M�)�i�oY�r+҇��:������m�@�c�
+�#�}<&x2u>S����>0K��xI	9t���&��H�Hj��sKl
Lm��u�O��Ԇ��a�ߧciB	�83�H
+��4p��}*������m*��Q������SH~]f���䮲���m��F�8Vh�x;��
f6�� dƑ#�YZȮ���Y��
�[���|�b/1����
+�Ȥ!x
/2
���
cb�߂h*~^F3���7E��"1i��=;/zC1@��. at T�����&'c�qAL�.P���^�
�.�>�-��
+��U��jz�eU��Ȏ2Ng3癑T��'�\V�@��x�`Y�Ҧ�2g
J���#��/�M��g��
+�I�k'�
	se�zY�|��!�i��_��F7�ޖ���h���b�
�PU���z[Z at lh
U�������I�;�����⥸��|9�D��}}U�_\�.�l�3k��9�JY��W��U|����̲�r7�KX��*��#M�S��]9�1	�c?+�Š]��V(�[$X�����f����d��2�%�}�/ә�P��]�
�)��	(W�ڒu#]�54|A����j�Fr,����@�P׋?/.V�
Wx�g�g�8�bw9�D�`�h��y�Q��C����#�
q���c�����<�-� ��|4�
+endstream
+endobj
+377 0 obj <<
+/Type /Page
+/Contents 378 0 R
+/Resources 376 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 339 0 R
+/Annots [ 332 0 R 333 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 ]
+>> endobj
+332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 286.677 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 709.994 513.996 718.971]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.8) >>
+>> endobj
+347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 686.174 221.941 697.053]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 688.077 513.996 697.053]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.9) >>
+>> endobj
+349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 664.256 186.524 675.135]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 666.278 513.996 675.135]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.10) >>
+>> endobj
+351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 642.338 312.141 653.217]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 632.405 513.996 641.262]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.11) >>
+>> endobj
+353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 608.465 247.405 619.344]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 610.368 513.996 619.344]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.12) >>
+>> endobj
+355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 586.547 211.988 597.426]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 588.45 513.996 597.426]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.13) >>
+>> endobj
+357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 564.63 222.897 575.509]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 566.652 513.996 575.509]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.14) >>
+>> endobj
+359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 542.712 202.952 553.591]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 544.615 513.996 553.591]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.15) >>
+>> endobj
+361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 520.794 350.557 531.673]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.478 508.839 413.122 519.718]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 510.742 513.996 519.718]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.16) >>
+>> endobj
+364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 486.921 323.439 497.8]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.069 474.966 359.713 485.845]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 476.869 513.996 485.845]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.17) >>
+>> endobj
+367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 453.048 285.821 463.927]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 442.996 513.996 451.972]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.18) >>
+>> endobj
+369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 419.175 191.146 430.054]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 421.078 513.996 430.054]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.19) >>
+>> endobj
+371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 244.269 181.496 255.173]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_g7c98bac1ccfac398657571409a3fcd9c) >>
+>> endobj
+372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 205.415 175.957 216.319]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_g4af2931282f6a5f1b3444fb8e833d6a1) >>
+>> endobj
+373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 166.56 237.396 177.464]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_g635128363efd9f4c8c63e21702f40183) >>
+>> endobj
+374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 127.706 254.542 138.61]
+/Subtype /Link
+/A << /S /GoTo /D (group__Init_gfdb2c887a3a2d1daf54a764d0d7f7f76) >>
+>> endobj
+375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+379 0 obj <<
+/D [377 0 R /XYZ 90 757.935 null]
+>> endobj
+34 0 obj <<
+/D [377 0 R /XYZ 90 404.48 null]
+>> endobj
+380 0 obj <<
+/D [377 0 R /XYZ 90 372.417 null]
+>> endobj
+38 0 obj <<
+/D [377 0 R /XYZ 90 372.417 null]
+>> endobj
+381 0 obj <<
+/D [377 0 R /XYZ 429.872 328.623 null]
+>> endobj
+42 0 obj <<
+/D [377 0 R /XYZ 90 311.896 null]
+>> endobj
+382 0 obj <<
+/D [377 0 R /XYZ 90 263.243 null]
+>> endobj
+376 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+407 0 obj <<
+/Length 1305      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�6}�Wۇ�@E��(Y��n�����8yImӱY�JT���;I]lo�t��h��
Μ93C	[��>�~����gE(
+���,�[a@u�5YX�v���C0��]��E��}ǥ�����8}�;
	Bl���er�;���������
�����l-`���ȋ�ֶZ��|׃6�nz�����z���"��;��	_(͎y1�㍐��J�S�[r��>��H�9-ӹ\Y�^���,W�8�E̒�w&�
0v�z��dKՊW�$��,���I�6�b�<I�3��\��2�</cr��dq*�l���B���!���j<�ق#eo7X��n��a3�kزy��`�]���5�J)ط�$�-��
0��@;��'��@B�Z�Q-�P"�й�j�|��0K^V|���y�9�T��dkˎ}��ϴ�9Kj��8�^ϳT
��(�w�U0�T����(��
+�!��qc.�\�L���{ik/�G �a�
v}}>=����������xz4�|{qr99 *�h��dW{������`+
�4V,�9[�'�;�(���9b9>A�v��
�G
=o����4N�Ar��0
��s��囹�
���)�?�un�.�.��|
+��U��p�K���[թs��;dM�+2���]�Mج9��d
+
I
��ԭ��j{�r=�ڂ8˟4ݲ<�s�h���2�P�ئ��
��Z)@lV�l
K��)�wt��#�5�µ?�b�*���vt4��/�iYjQL"6�29t����)QACW�tj������ڌs
#H�Dx���H^�1��*��C|��ViZu@[�Vʵx�wr�X��׮L]?j�-���%�.�G:��
+H�G��t��0���m�������̧|΋B�
����6T�]��
+��amm�ˢ֨I�0/���}�bq�.��\x?��m�D�n���PT����{�
��Lo_ʎyu<�n��� ��6BLD:\�v�X�5~Xh�������B?��i�M�N�7���])���� ������Q1t�!��REP-��u���P�ґ��"�
8��
+Q`��9�8-�j�
�
��d�>yo��GgW�CP�7�CMAж��oY�f��ÿ
���a��;���
��'w�o�
�n���\����G߉��G� �����o q�����@#D������T��s,},٣�?J�B.��;�S���SxaW�
��,�\h'u���s���p�aÓez���~c�PE���WBl>���
T��&G��Uf���)Dz�5B���kYne5u�(;�
+x+5K�T�<&9��x
+endstream
+endobj
+406 0 obj <<
+/Type /Page
+/Contents 407 0 R
+/Resources 405 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 339 0 R
+/Annots [ 399 0 R 400 0 R 401 0 R 402 0 R 404 0 R ]
+>> endobj
+399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 216.61 213.038 227.514]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_g79bd3696a302bb721ef8168fa5d650fb) >>
+>> endobj
+400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 179.071 251.782 188.999]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_ge19dfe022c51c874d905e2a7c81c18f1) >>
+>> endobj
+401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 140.555 251.225 150.483]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_g8458e58a5e857de11c35ce3076a70ab8) >>
+>> endobj
+402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 102.039 264.505 111.967]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gbadfeba0a415d210cdd6d7309365e800) >>
+>> endobj
+404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+408 0 obj <<
+/D [406 0 R /XYZ 90 757.935 null]
+>> endobj
+409 0 obj <<
+/D [406 0 R /XYZ 90 733.028 null]
+>> endobj
+410 0 obj <<
+/D [406 0 R /XYZ 90 672.244 null]
+>> endobj
+395 0 obj <<
+/D [406 0 R /XYZ 90 647.875 null]
+>> endobj
+411 0 obj <<
+/D [406 0 R /XYZ 90 647.875 null]
+>> endobj
+396 0 obj <<
+/D [406 0 R /XYZ 90 558.617 null]
+>> endobj
+412 0 obj <<
+/D [406 0 R /XYZ 90 544.199 null]
+>> endobj
+397 0 obj <<
+/D [406 0 R /XYZ 90 456.979 null]
+>> endobj
+413 0 obj <<
+/D [406 0 R /XYZ 90 442.561 null]
+>> endobj
+398 0 obj <<
+/D [406 0 R /XYZ 267.991 379.889 null]
+>> endobj
+414 0 obj <<
+/D [406 0 R /XYZ 90 363.315 null]
+>> endobj
+415 0 obj <<
+/D [406 0 R /XYZ 487.773 300.643 null]
+>> endobj
+46 0 obj <<
+/D [406 0 R /XYZ 90 284.068 null]
+>> endobj
+416 0 obj <<
+/D [406 0 R /XYZ 90 235.415 null]
+>> endobj
+417 0 obj <<
+/D [406 0 R /XYZ 90 197.019 null]
+>> endobj
+418 0 obj <<
+/D [406 0 R /XYZ 90 158.503 null]
+>> endobj
+419 0 obj <<
+/D [406 0 R /XYZ 90 119.987 null]
+>> endobj
+405 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F72 202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+431 0 obj <<
+/Length 1721      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��Wp�C���A�doy�
�q��nzH2
J�-�ɒT<��
R�L9v�IBx�~���Ի��������H	/&���;��bꅊəw>������QJ�wc�����<O����]���x"�
+�����������������~2$���l5z��zs��Q"�Ȼ��V^�|�����u���Z�%��̨"����Q�P��K+N��{?���Os��R�i7h�,����v�����W�Oώ߼�xvx>���t{;3��^o�=8
+��4*0rNT��	
�b�|��8���N���WS]b;��o�L���	�0�;��$�
+�J+
k����@�9���7���7���d�}�X��^��nq�͝<y�c��
3	�,�b��;�,)&�`bl!���"�+����MD
y��I\}��f5([�6��t�	g$b�{@
+��k��X^|2���_���@����~s���
�챮��9����*�Thoh੶����_t�_@��C��n҈��R}m���ۀݏ�=��G��c�,�A��������t�d<m���7���]�� 0�(�l�؛~pĻ1����B�Ra~8���i�f^�P;@�	�R}���Lk�"dz���J$
+�2�
%;s`[��)pB��(Λ	��E�6F�s�����Ӡ�d�Ϊ���(;%��$���_�=TL€}E��&Y��/�
I�
+��gp"��wG�Ǟ����ƶ"EX;����0��_@�J�z�ۿ�լL��E�-������v5͗鬕����v�#Ä�e��0��eR7�5-�i�����;ɹ!�YI�E�\m4�f�
+@�����ؤ�m[���eSCl�
+رG	�_V��mk&���b�I
�O�S$؀AZ�m6u����[��Qe�Z�<�mB����j`���rsV��d����!�
"h�a��IU�P�X�Ac}��-�N��|s��փ��~s�o��H����|u�ã�U���,���-o�J�e�(
bE&���2g�Ԧ-m�6}=#����%�$ڨ}���=l
�H�{m,I�qӼ^� ]O�
o$0AvH@���P�)I
F���n�L
�2J�Go�$��b� }Cֆ��A® 	0^�'�������*w`�_���
�
�6��͉�@�SU72a�E����8|RBa}.Bp����.5YC�b�ӳ�?d���c�t�;ݑM�N]ӵQWP����
�)�;��\+�|���.�1�W��
2d:��S�APC@Nl��
m-9��Mi���F�����d��i�y�xD2���4s$���
�� P�@s0`�]\I ����8b��r�:��(	
��f�!R�SĄ�|���8��$P�cX`��lLJ$c�� 
ڂ����[k9���-��M3�I�$БL�u�M<���������yE�!`d:�@�� ��������
��mnq�Ɣ
IY����ERW����r
yy��!� ��������ު bYb����Z��Z|�.�n�@�\��Q � �.uwq i��˺��U�#�;�Ѯ�e�_c
_9a�r]b�0�
����{��j�����9[A&�{��1���!Ʊlm "����v��� [...]
+endstream
+endobj
+430 0 obj <<
+/Type /Page
+/Contents 431 0 R
+/Resources 429 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 339 0 R
+/Annots [ 403 0 R 421 0 R 422 0 R 423 0 R 424 0 R 425 0 R 426 0 R 428 0 R ]
+>> endobj
+403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.731 708.792 243.105 718.719]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_g7a529f51bfebdd4b3e69c866dced9bc1) >>
+>> endobj
+421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 618.572 204.032 629.476]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gbdf8f4e9416010573d48e21cf0584762) >>
+>> endobj
+422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 581.426 204.589 592.33]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gb51f10ea37de5299e9bc840afa206d4e) >>
+>> endobj
+423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 544.281 212.639 555.185]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_ga50f472bf6d1869a2fc1500d2fdf8213) >>
+>> endobj
+424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 507.136 197.387 518.04]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_g676f27ad949159a3b79577f78870f60f) >>
+>> endobj
+425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 469.99 175.808 480.894]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_gc6abee034f6ac000f15d1206fdeb8316) >>
+>> endobj
+426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 432.845 173.736 443.749]
+/Subtype /Link
+/A << /S /GoTo /D (group__Version_g63fef7041da34ac5bb372a2535d99377) >>
+>> endobj
+428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+432 0 obj <<
+/D [430 0 R /XYZ 90 757.935 null]
+>> endobj
+433 0 obj <<
+/D [430 0 R /XYZ 90 726.054 null]
+>> endobj
+434 0 obj <<
+/D [430 0 R /XYZ 90 636.691 null]
+>> endobj
+435 0 obj <<
+/D [430 0 R /XYZ 90 636.691 null]
+>> endobj
+436 0 obj <<
+/D [430 0 R /XYZ 90 599.665 null]
+>> endobj
+437 0 obj <<
+/D [430 0 R /XYZ 90 562.52 null]
+>> endobj
+438 0 obj <<
+/D [430 0 R /XYZ 90 525.374 null]
+>> endobj
+439 0 obj <<
+/D [430 0 R /XYZ 90 488.229 null]
+>> endobj
+441 0 obj <<
+/D [430 0 R /XYZ 90 397.148 null]
+>> endobj
+442 0 obj <<
+/D [430 0 R /XYZ 90 339.217 null]
+>> endobj
+420 0 obj <<
+/D [430 0 R /XYZ 90 316.905 null]
+>> endobj
+443 0 obj <<
+/D [430 0 R /XYZ 90 316.905 null]
+>> endobj
+444 0 obj <<
+/D [430 0 R /XYZ 90 189.393 null]
+>> endobj
+445 0 obj <<
+/D [430 0 R /XYZ 90 166.105 null]
+>> endobj
+446 0 obj <<
+/D [430 0 R /XYZ 90 166.105 null]
+>> endobj
+448 0 obj <<
+/D [430 0 R /XYZ 90 89.441 null]
+>> endobj
+429 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F23 144 0 R /F84 440 0 R /F65 179 0 R /F89 447 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+463 0 obj <<
+/Length 1974      
+/Filter /FlateDecode
+>>
+stream
+xڽX�r�H}�+�R�PV�tA��5���4=�� dIm�Ĕ�f<��Y��vO�F8L������'�dK�6���9�]���I�;�12B�|J<����`�ĵ�ԶmsĹEf�������(O�Y����q�t������h���GA�mP!�
H�<#��>�n	��h؄�c'vm
�a�6���ճ;�QJB�s�f#��}�f�O�:��;.an(E��z��ʊ����n=��5
+g���_��q��;Ƈ�ʤ Sͣ
�R�b&v�~��z��)�_�E�v����2 �}��<<�-F�����t����/������tf���[G���y���y
q���e�y}7
.�go�ߏ&�׉�;"���!�+�N�Ǔ��W
��j�p7�����
+a��c�g�����||��Zp�ϣ�������
+=/��͇��W�%
Ff>�M,��4�����Oi�t�Bf^O��v=.F�ތ
����o���ѯ���hx����&��8���"U]B��p�:n�~�m'OK��*��?����Dl�D�
E��
<�y�D!�6���
̴�yNΨ�"�>
�
L�2B=&ջU��eyu��ʴR�B�L�)��=����f�%8���
ZD�O�0���N��䮖���{V ���oƕ8���b^��ū���8d�C��1϶%�;�0�
 �N�cP0Z��h�K����(�&'Q��%�S@��F
��gU��ü
ބ@nii� �Z�20;
�0�pv��L���ô���Vp���	�wj���c��⃨FyU�L�Y��y��TE�@�<�n
^Aop�RM9�%�a4�7�ѭƾc��V��[�a�z^E�ƮUBV�
��#��^����� T�s��.�E=����.l�>����U��3(�"
J0A��>�B;���E��v�u6��;\���3^��\s�n
+�,"L9�8��F��TnA��r�R[^�iY��U��i������ll���5�Ӯ���.�]w�|ѧ!q��b����f�됀BA
�C�O\�#�C���,��$��(�I%�.�V
��[���Ls�@�R$�����M~�1�����73���2KTNe�~�be���I��D��
+
�[�b�����̥�1y
v[�4S3��0n����Ӹ�s�pv�^(�u"$��4M�p.l�?����`�3xo��۔o��a�2�K�S
�c����u�A/6�0��e�`$�D�p��� �
(ߤ��>�\����_ʱ](�;\���sa
����$b��f[W�b�
{��j�pT(9-ߕ�5d�	9������MPt=wVʵ8ʛ�~` F$h��"_?��)�
�ې�*�nEb���1��#���?,�
�z)�x
��
��R|��Ǣ���6:o�r�3*��.�ìms\�O�_L�8�˯�̗.Z
�CD��v=�1fzͥ�[�s�iB}�?�ͭ� ^
�	�J�-O���'Y
)@!�m�fOb�vvME߁�ԈZ�L��q����Y��w
�8���!/N�&$�����#��|�8o�/�����Z��y`�ue��X��IE���`Ԥ >$Y�̋R0<B��v#�R�5D	��t���lG&޾�N;P2�UZ�`�Q��M�i�lp��l�
IO\�!W��A?i��̧�����z'O䓮��S��2[7D8ţL���F�0����������T�Y��*��NV��
@-�	�H���������G��>�%��
8�u��,�&�����ee��.����2�e��-Tkt,�)t�P�����8�8�A���N�~��!���~��x�G>�	O������ys0�
���X?�҄��;Y�ZD|��:Z����O"�c5�
.�M1���(׃�GQ�ˆomB�ؚ2��+�K���O�
����7��=���"[U���v�
�KR�ٖ����{��1��R(u�a�B�t��DĝA���@�}EF�q
w���*�
+endstream
+endobj
+462 0 obj <<
+/Type /Page
+/Contents 463 0 R
+/Resources 461 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 339 0 R
+/Annots [ 427 0 R 449 0 R 450 0 R 451 0 R 466 0 R 452 0 R 453 0 R 454 0 R 455 0 R 456 0 R 457 0 R 458 0 R 459 0 R 460 0 R ]
+>> endobj
+427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 672.898 228.51 683.802]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) >>
+>> endobj
+449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 657.675 263.2 667.862]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6f29a62bdfcf44dbeec14afb409035438) >>
+>> endobj
+450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.213 657.675 437.728 667.862]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6093ae02f8ceebbc40321d1eaf186f726) >>
+>> endobj
+451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [448.741 657.675 513.996 667.862]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee68c65fedb9893ebb49394a3cff2f19a49) >>
+>> endobj
+466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 645.72 194.647 655.907]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee68c65fedb9893ebb49394a3cff2f19a49) >>
+>> endobj
+452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.636 645.72 337.212 655.907]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee66aa28e72200f879cbb83a36b60644fb2) >>
+>> endobj
+453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 629.78 258.956 639.966]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6bd22c4eaabb49bcb6c654a25e402c64a) >>
+>> endobj
+454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.002 629.78 356.269 639.966]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee60860beb1b1c54c9f774b532d92404992) >>
+>> endobj
+455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.316 629.78 511.506 639.966]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee67dae659f72f654afae1c5c6f331192a3) >>
+>> endobj
+456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 617.825 346.278 628.011]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee603b444004b1031ddb1a51289b9d83106) >>
+>> endobj
+457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 601.541 278.951 612.071]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6b42a97917f263e8305d561f52cbd9c57) >>
+>> endobj
+458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 520.405 216.893 531.309]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_gd6765993c08a2ae2f0ef377f822f4d33) >>
+>> endobj
+459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.766 520.405 372.738 531.309]
+/Subtype /Link
+/A << /S /GoTo /D (group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) >>
+>> endobj
+460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+464 0 obj <<
+/D [462 0 R /XYZ 90 757.935 null]
+>> endobj
+50 0 obj <<
+/D [462 0 R /XYZ 90 733.028 null]
+>> endobj
+465 0 obj <<
+/D [462 0 R /XYZ 90 691.872 null]
+>> endobj
+467 0 obj <<
+/D [462 0 R /XYZ 90 539.378 null]
+>> endobj
+468 0 obj <<
+/D [462 0 R /XYZ 90 483.085 null]
+>> endobj
+469 0 obj <<
+/D [462 0 R /XYZ 90 424.384 null]
+>> endobj
+470 0 obj <<
+/D [462 0 R /XYZ 90 400.169 null]
+>> endobj
+471 0 obj <<
+/D [462 0 R /XYZ 90 400.169 null]
+>> endobj
+472 0 obj <<
+/D [462 0 R /XYZ 107.713 323.242 null]
+>> endobj
+473 0 obj <<
+/D [462 0 R /XYZ 107.713 295.346 null]
+>> endobj
+474 0 obj <<
+/D [462 0 R /XYZ 107.713 279.406 null]
+>> endobj
+475 0 obj <<
+/D [462 0 R /XYZ 107.713 263.466 null]
+>> endobj
+476 0 obj <<
+/D [462 0 R /XYZ 107.713 235.57 null]
+>> endobj
+477 0 obj <<
+/D [462 0 R /XYZ 107.713 195.72 null]
+>> endobj
+478 0 obj <<
+/D [462 0 R /XYZ 107.713 167.824 null]
+>> endobj
+479 0 obj <<
+/D [462 0 R /XYZ 107.713 139.929 null]
+>> endobj
+480 0 obj <<
+/D [462 0 R /XYZ 107.713 112.034 null]
+>> endobj
+461 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F23 144 0 R /F65 179 0 R /F89 447 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+508 0 obj <<
+/Length 1457      
+/Filter /FlateDecode
+>>
+stream
+x��Xێ�6}�W�2PѼ���M�E���}J�+�^5��P�nܯ�P�dY��vv�4
����9s!{+{?M~�OfW�R�F4��K/�^
�)���ʏ�c�(��P�i at 9�Z��V�Ӏ�2���������݄���#�Z<F1�^���z��
�?�0bi�ݵR/�
�������Q\�!
�W��CvՔ�.��A��f#K�g^(X1� 
������E��A�]/j�R�)I�J-nD�����_c�o��U���YyvE�I�"��_��k���:�$DiB�2���d�l�0�� GV��~4�o8��e�g7B
��4D4�`@P��IX����:S��X� ��I:�
�8��o�,�g�PO+��a�PJS ���V��%���ҩo�
45PA��T����{�S��'�<l+����_�
R>@Aq�(�#e�r��q'�Z�
+(�� ������e�u�̰�ŀ6-�/j#��򞸥�~��$a����׍X���č�ԌVŔr��L�{Q�(��ۥ(��ڈ�Tq]5�[Ev�3�
�ٝi�Y�s0F�pl�6��?��Z�ʾOբ(�gK)
�c�
�c^��TR�AU�w�uk���vv��ֲ��p.��J[�U#� � �8��Rw���܁C��J�F������:�x
+��BD(?3���Q��O�h.�n�e5ƹ
���ss��e��^�> ���Z�}js	��FG�h��X�'{<&�wI{��<�Ѕ"�F.
P��x���v=��[.�3uD�\A����7dɼ�4_��,��e�����z	@��l��(4��$vоw壁%W}r1)d
+>�RƿZ7��
+5e�/�����c�ݨ����[;�a���BLBr�)]�h��kD	8��u��#L1
+㾊6�jqk2�P��^�$�m�KW��s��j�Q�O���pwE��A����?L܇�VΊVG�ӧ�R>�-$�=���
a�^<Z5���`5SJ��u��j·��0(�#xʑ�/	ހ0��89��׭x��a凈%�����m�
9c�pz���v��s�9�����U�KJ��_2��1�^�j���V����'�� ��֗�Q���C�|��
�!/`�h��`2s
3��� �%�>��3*�b��T����Q at SD���T|�ЧjD����X$>��
������00��
\87�ԇ�?r t[_X
+��>
>`�����k>GT|I�0���qvu� )�I�Xh"t�N�
+eI�;��X�>
*c$�E�t	�` � F
9�
9�F1Ԩ3[�mk
T�PCq��q�"���E���e�6�=V�ݍ̕{<hG=q�D�j���f�Y�fe��������s��_D�tM� �TuߌLj�P��۹i�z/ew��fx�u��'mov�
����Zo������PV��,�
+z��������}
�W�M�l�3`1���T1�q�:����� ��_1
+endstream
+endobj
+507 0 obj <<
+/Type /Page
+/Contents 508 0 R
+/Resources 506 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 339 0 R
+/Annots [ 482 0 R 483 0 R 484 0 R 485 0 R 486 0 R 487 0 R 488 0 R 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 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 505 0 R ]
+>> endobj
+482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.012 511.245 255.368 522.149]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.908 472.529 351.956 483.433]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.771 472.529 439.128 483.433]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 433.812 251.792 444.716]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.762 433.812 331.243 444.716]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge50df8ccfc72a20b58ab7854ad2ccba9) >>
+>> endobj
+487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 395.095 251.792 405.999]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.283 395.095 380.777 405.999]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 356.378 283.024 367.282]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.995 356.378 393.708 367.282]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gdc58d1f680927df3786f41bdb47fa26b) >>
+>> endobj
+491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 317.662 283.024 328.565]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.516 317.662 443.242 328.565]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 278.945 249.281 289.849]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.251 278.945 326.222 289.849]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gedee0800f6e695c36ace737095ccef5b) >>
+>> endobj
+495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 240.228 249.281 251.132]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.773 240.228 375.755 251.132]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 201.511 283.602 212.415]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.572 201.511 394.863 212.415]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g84f27605574583d674403f6d71a73a24) >>
+>> endobj
+499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 162.794 283.602 173.698]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.094 162.794 444.397 173.698]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.707 124.078 343.168 134.982]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.94 124.078 513.996 134.982]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g5a7338130cf6d33d28dd40ed560a24d6) >>
+>> endobj
+505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+509 0 obj <<
+/D [507 0 R /XYZ 90 757.935 null]
+>> endobj
+510 0 obj <<
+/D [507 0 R /XYZ 90 733.028 null]
+>> endobj
+481 0 obj <<
+/D [507 0 R /XYZ 90 716.221 null]
+>> endobj
+511 0 obj <<
+/D [507 0 R /XYZ 90 716.221 null]
+>> endobj
+512 0 obj <<
+/D [507 0 R /XYZ 215.408 627.602 null]
+>> endobj
+54 0 obj <<
+/D [507 0 R /XYZ 90 612.994 null]
+>> endobj
+513 0 obj <<
+/D [507 0 R /XYZ 90 528.248 null]
+>> endobj
+514 0 obj <<
+/D [507 0 R /XYZ 90 528.248 null]
+>> endobj
+515 0 obj <<
+/D [507 0 R /XYZ 90 452.836 null]
+>> endobj
+516 0 obj <<
+/D [507 0 R /XYZ 90 414.12 null]
+>> endobj
+517 0 obj <<
+/D [507 0 R /XYZ 90 375.403 null]
+>> endobj
+518 0 obj <<
+/D [507 0 R /XYZ 90 336.686 null]
+>> endobj
+519 0 obj <<
+/D [507 0 R /XYZ 90 297.969 null]
+>> endobj
+520 0 obj <<
+/D [507 0 R /XYZ 90 259.253 null]
+>> endobj
+521 0 obj <<
+/D [507 0 R /XYZ 90 220.536 null]
+>> endobj
+522 0 obj <<
+/D [507 0 R /XYZ 90 181.819 null]
+>> endobj
+523 0 obj <<
+/D [507 0 R /XYZ 90 143.102 null]
+>> endobj
+506 0 obj <<
+/Font << /F63 177 0 R /F23 144 0 R /F89 447 0 R /F50 143 0 R /F65 179 0 R /F72 202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+560 0 obj <<
+/Length 992       
+/Filter /FlateDecode
+>>
+stream
+x��Y]s�F}�W�[Ń.���Ǥu&i3mb��d֘�HD�x��{%-)��E���3�HZ���={�v)�J^���
-���&�k�(1��⌌g�*Ҡ�1��F�,>�I~?���яI��+�
Ƃq'".�Ư?��
���U})F(2]�>P2��ׄ�p��U��Dr��[r9x;�!.���;�1�A
+K
@���|Ϲ��߶#W��g�zK��u�o�E�V���C��R�h�����R��,�bry�.�r2-K&���I��"�7+��j��.�.�\;Fb�:VJŁ ��͸�6+#���{|q������$1c�T���^�����pb1 -+�%0#�?	Nʺ�_W�獯'�*� |^?Y}�a�n���i-C�s�9h��*��#�-�jc��1|��46hc#Q
h3 �
�v�<��q���v�c�cA9T:$�5�9����b@����yi	+G��gT�؎|
��,U�[
+0oQ��;�"�1a�%�T��q�I��`�9T�-�QCgή�c	QT�R��BHhzPC茄������W
�֋��-�CjC;�7>�����(ދ
��;�i�P`�x�����\���<Uo9�;�
+?��zb6l�#}&]ne�:��q%eL>r9tub�2�gPE7.� -���
�d�,y�����u�ˌ���a�ԡls�F����������S�ʵ�euG�ʶ��A�9Vu��xPe[���>q=�'�]�/f'�i֙>����(��|��x�q�$��m|
�"��OZ���r��Bˁ����Y��@�=�(f{�R� 
+��0�*�
�2%�2	��������q���E(K��&�����Ip=d4J������*���7I�In���T�/�>_/��.DW��U�����R4��> S��l�~.Ͻ���q\���z�rS�g����
LװI�
�)5�ރ�1�E�u��2�}�{�Ar-�
LA&��E��I�/�?ב�?0���
+endstream
+endobj
+559 0 obj <<
+/Type /Page
+/Contents 560 0 R
+/Resources 558 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 582 0 R
+/Annots [ 503 0 R 504 0 R 563 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 534 0 R 535 0 R 536 0 R 570 0 R 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 576 0 R 547 0 R 548 0 R 578 0 R 549 0 R 550 0 R 551 0 R 552 0 R 553 0 R 554 0 R 557 0 R ]
+>> endobj
+503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.62 719.912 347.081 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.145 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+563 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 708.933 178.437 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 669.103 247.598 680.007]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.568 669.103 322.855 680.007]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbf20fcbeb06790546a112b72eb0811f8) >>
+>> endobj
+527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 630.249 247.598 641.152]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.089 630.249 372.389 641.152]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 591.394 281.918 602.298]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.889 591.394 391.497 602.298]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g747bcaa4d01a8065758096b1ff0eb551) >>
+>> endobj
+531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 552.54 281.918 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.41 552.54 441.03 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 513.686 341.684 524.59]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.654 513.686 511.027 524.59]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gc803b1dab9dd0072acb6fdda204efd26) >>
+>> endobj
+535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.967 474.831 346.745 485.735]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.828 474.831 513.996 485.735]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 463.852 178.437 473.78]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 424.022 255.907 434.926]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.877 424.022 339.473 434.926]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g64dda1bda497aab131fc204ed9e55894) >>
+>> endobj
+539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 385.168 255.907 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.398 385.168 389.006 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 346.313 290.227 357.217]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.198 346.313 408.114 357.217]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g5e59406ab43e2f1851ea2e066137b4bd) >>
+>> endobj
+543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 307.459 290.227 318.363]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.719 307.459 457.648 318.363]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.684 268.605 359.771 279.509]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 268.605 513.996 279.509]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 257.626 152.425 267.553]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) >>
+>> endobj
+547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.048 217.795 362.135 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 217.795 513.996 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 205.84 212.758 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 166.986 270.84 177.89]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.81 166.986 369.34 177.89]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gefc9900fe07bfdee6310e4705ea0bfec) >>
+>> endobj
+551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 128.131 270.84 139.035]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.332 128.131 418.874 139.035]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 89.277 305.161 100.181]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.131 89.277 437.982 100.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gc0d389ac714f0d4d3e6950fd692e7443) >>
+>> endobj
+557 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+561 0 obj <<
+/D [559 0 R /XYZ 90 757.935 null]
+>> endobj
+562 0 obj <<
+/D [559 0 R /XYZ 90 733.028 null]
+>> endobj
+564 0 obj <<
+/D [559 0 R /XYZ 90 688.196 null]
+>> endobj
+565 0 obj <<
+/D [559 0 R /XYZ 90 649.342 null]
+>> endobj
+566 0 obj <<
+/D [559 0 R /XYZ 90 610.488 null]
+>> endobj
+567 0 obj <<
+/D [559 0 R /XYZ 90 571.633 null]
+>> endobj
+568 0 obj <<
+/D [559 0 R /XYZ 90 532.779 null]
+>> endobj
+569 0 obj <<
+/D [559 0 R /XYZ 90 493.925 null]
+>> endobj
+571 0 obj <<
+/D [559 0 R /XYZ 90 443.115 null]
+>> endobj
+572 0 obj <<
+/D [559 0 R /XYZ 90 404.261 null]
+>> endobj
+573 0 obj <<
+/D [559 0 R /XYZ 90 365.407 null]
+>> endobj
+574 0 obj <<
+/D [559 0 R /XYZ 90 326.552 null]
+>> endobj
+575 0 obj <<
+/D [559 0 R /XYZ 90 287.698 null]
+>> endobj
+577 0 obj <<
+/D [559 0 R /XYZ 90 236.889 null]
+>> endobj
+579 0 obj <<
+/D [559 0 R /XYZ 90 186.079 null]
+>> endobj
+580 0 obj <<
+/D [559 0 R /XYZ 90 147.225 null]
+>> endobj
+581 0 obj <<
+/D [559 0 R /XYZ 90 108.37 null]
+>> endobj
+558 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+611 0 obj <<
+/Length 1014      
+/Filter /FlateDecode
+>>
+stream
+x�ݙ�r�H��y���tA����dƮ$��gL��%����D��o�#�I����xb��UZ�������!h�:�Fg�#��b
+�o�%H+�%�h<CW���RB����:	�;�$��� �[��)��c��<~;�s<�:��6A4oKj��D����3A3x�̭A���
+	��D�����U��qj�
ĩD't��A�qL�,b���n�"�u���0�)�
�C�k{t&Ɂ Cư
�
['�'�d�
t5� I��,�)zܤ�v��b���៼B
�z99O��y�I�����n���I̫=d�q���
��CL
���B�"@BxMϕ�i, at GW-
'�.��JD��,�EC*���I����������p�>>-%D#��L=�B�E��V�Uai����Rp�>�u<�a�
h�VF ��t����)���7}��Z�L�p�"����;��5Q�;ñ����n�ݞ�a�ZU�X3�
��g�������E_/���vTZ
Ҟ`�,u�i��P�t,u"��+
+3�~��� �Ɗ�f&���w��,��F�!�;��>��
K��-����d �`�9���	9��a�3�̅	�bބ�,>TۅI��/���^�`Ԕ}�
K��ԓ�:����n����}��U}��L�~�W�\t<�}
�D�r
֗�sI��B��#ږp�o$�����3�O�hL���~������2��{��g�7S��q��^Lُ$�_
JNAi�m
�o��dh��lH[�
�8�Ţ�¬�j6�޺�W��޽7���a#y#άL7�>��1s�^���¤b���g3�=,a��U
w��O��Ճpe0Q��9x~�
*BƧ�q���b)]��[�O�$��=:��c����{D�m0w��d#��)�{�q&/|	�w��>������D$�/��,�xI0��uR��8�M�x�a�*d���w�
������? �M����h����o��:��tSgTY�JQ��#��
�U��n�i����"�ϋ-"(�
+RL( �}�d,
+endstream
+endobj
+610 0 obj <<
+/Type /Page
+/Contents 611 0 R
+/Resources 609 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 582 0 R
+/Annots [ 555 0 R 556 0 R 583 0 R 584 0 R 615 0 R 585 0 R 586 0 R 617 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 624 0 R 599 0 R 600 0 R 626 0 R 601 0 R 602 0 R 628 0 R 603 0 R 604 0 R 630 0 R 605 0 R 606 0 R 632 0 R 608 0 R ]
+>> endobj
+555 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 696.002 305.161 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.653 696.002 487.516 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.757 657.148 372.777 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [388.598 657.148 513.996 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 646.169 178.437 656.096]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g56e2574a7d2f006333151867599e8fa3) >>
+>> endobj
+585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.101 606.338 365.122 617.242]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.906 606.338 513.996 617.242]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 594.383 212.758 605.287]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 555.529 264.225 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.195 555.529 356.11 566.433]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g12c368fa0bdd20b907d9ab8e92e999d2) >>
+>> endobj
+589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 516.674 264.225 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.717 516.674 405.643 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 477.82 253.705 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.675 477.82 335.069 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g97b246f11809448c53f089779c0019a1) >>
+>> endobj
+593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.906 438.966 253.705 449.87]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.197 438.966 384.603 449.87]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.398 400.112 343.168 411.015]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.63 400.112 513.996 411.015]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gdb1edf876e8c62fb7d2630a9280224f1) >>
+>> endobj
+597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.834 349.302 343.605 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.989 349.302 513.996 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 337.347 169.591 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.707 298.493 385.23 309.397]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 298.493 513.996 309.397]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 286.537 203.344 297.441]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g2f2a1aa8fbda2e53218cecba593f7427) >>
+>> endobj
+601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.486 247.683 385.009 258.587]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.87 247.683 513.996 258.587]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 235.728 256.225 246.632]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.514 196.874 404.049 207.778]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.628 196.874 513.996 207.778]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 184.918 240.983 195.822]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g576b0ae433a83ef58a3c174a86623582) >>
+>> endobj
+605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.917 146.064 415.452 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 146.064 513.996 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 134.109 319.328 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+612 0 obj <<
+/D [610 0 R /XYZ 90 757.935 null]
+>> endobj
+613 0 obj <<
+/D [610 0 R /XYZ 90 715.095 null]
+>> endobj
+614 0 obj <<
+/D [610 0 R /XYZ 90 676.241 null]
+>> endobj
+616 0 obj <<
+/D [610 0 R /XYZ 90 625.431 null]
+>> endobj
+618 0 obj <<
+/D [610 0 R /XYZ 90 574.622 null]
+>> endobj
+619 0 obj <<
+/D [610 0 R /XYZ 90 535.768 null]
+>> endobj
+620 0 obj <<
+/D [610 0 R /XYZ 90 496.913 null]
+>> endobj
+621 0 obj <<
+/D [610 0 R /XYZ 90 458.059 null]
+>> endobj
+622 0 obj <<
+/D [610 0 R /XYZ 90 419.205 null]
+>> endobj
+623 0 obj <<
+/D [610 0 R /XYZ 90 368.395 null]
+>> endobj
+625 0 obj <<
+/D [610 0 R /XYZ 90 317.586 null]
+>> endobj
+627 0 obj <<
+/D [610 0 R /XYZ 90 266.776 null]
+>> endobj
+629 0 obj <<
+/D [610 0 R /XYZ 90 215.967 null]
+>> endobj
+631 0 obj <<
+/D [610 0 R /XYZ 90 165.158 null]
+>> endobj
+609 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F50 143 0 R /F23 144 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+667 0 obj <<
+/Length 1628      
+/Filter /FlateDecode
+>>
+stream
+x�͙�s�8���W�v0S�����r��K/MRǙ�N�a��m�s��fn��l\pp�}16���߮V+3+�?ƽ���9&5��Tq�b��(c_������c�^���<j}j`���y�c�S��u�J
���]o8���# +$�eX�b�2Y�>}����)1�V�����S�P��}��vQ��iv
�Ղ'^,�4�\>:83��s�D:��>��,��L���3ʧ�3� S��'39�Q>BL;�CW�rOAm�xA��c��*�bW��o�8馣�
�0����=���
�N.������н
�޺�?O�vd�o��$�e�
�
���Ꝧc�䲳`
��F���\8�I��hx�B��p�2��{����۹���nn`�(��1M=�MG�b�P�R�[�N��^d����y�%ј��P�u+..)�2��ˬ��$�O#�* D����C�:�+C!/��&�|8���eҚ�M�ӡ�&�s>��d84b���ދ��L	m-���*�������P?
�q:�o��5�vL���׷w����nj6h{
��`*����(+n
"_]N��Ld�@$�0����pc[�&�߁^���+D�]�=�5��ж2�9T=��BU{F1�;�_1���t}� 
݂�1�ig�hr�6j��]���榱7�,x��M��
�*,T=�f�\����)q�I
��0c&����f�r��.1�S,���Q�;	�*��Bxo�ӑmUʊ5�2ieME
8/X@	��^,i*]))
��zۜ����xr�܋�����V��c��U'
�e�z?��XH���a�X����,�V��
W���'���,�W�-����x�т�ˢR���b,�8���
+\�>�G�Aʐ:�Ƶ\���zS��,{��v�
����,��%
�%6b��p%i�/WY� F��r�a�$
#
+
o��k8���yvq9,�T�U
�"�C�ҍ{�-�<m��!���0�¤�M̂.�:����Ԙ���:6G�2�Z��;G�y�
�b��樅%�m�(�I$���� ye{��I?��M:�!����Mmt�;�-W�����T̋�A� [%Q)�!��@����o��a� �<�Q�L�,zTFS^��-�Н��y��'��V�Q�F09�Չ;3�Ed�����6GV��{�0�r�*-ɘ.%S9�=ٳ~��J�j�x��M�hSܧCq�#���_
h
lu������Vy_��𚬒�����}
�`g
���
��e>�,�[�iY�`]����.
�趐���J>։����2f��r*�c�_��f�X�0;�Ĥ�D,#SW�ؚ�Y
+�ȇ(�>��y� ���$�
jh�fnD\
 ����ؙ�3��G�B�(0iym)��R��]�m:�˂0�
�`�
+Z��ؔ�qU���
a����(V�=q
���ʄȘv��S�{)�	R�x/e8����K�o�ㄅ�ϛe�8�~"�ޥ��{^4[y3���H��&�Ӌ��'�i��ʉ����jU�{*y�9���@	!C�]
�姬i��*巿zy�o&Ga�Jͪ��gY��`�^��$E�(�dȔ��gc)�oUů��b��JfA؎ҷ���A�ۑz@!���8
+endstream
+endobj
+666 0 obj <<
+/Type /Page
+/Contents 667 0 R
+/Resources 665 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 582 0 R
+/Annots [ 607 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 670 0 R 641 0 R 642 0 R 671 0 R 643 0 R 644 0 R 645 0 R 672 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 664 0 R ]
+>> endobj
+607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 697.247 251.533 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 681.681 291.912 692.211]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d681067f9cf8984d1b3febca4488a137e1) >>
+>> endobj
+634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.096 681.681 511.506 692.211]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) >>
+>> endobj
+635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 669.725 269.267 680.256]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6a166787e251ef2cbaad9213d8e9d2653) >>
+>> endobj
+636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.256 669.725 496.245 680.256]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69e4eb4979711bf6699ec8e0f335de476) >>
+>> endobj
+637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 653.785 313.491 664.316]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69029c33b6876c560bf78b5b86d0367c0) >>
+>> endobj
+638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.833 614.557 255.144 625.461]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.505 614.557 414.236 625.461]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9132c76cbee67b5bc2ac9e09af9c68c4f) >>
+>> endobj
+640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.52 614.557 513.996 625.461]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf91304ca7fa8d3e734d1677709a37d5d28) >>
+>> endobj
+670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 603.319 165.776 613.506]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf91304ca7fa8d3e734d1677709a37d5d28) >>
+>> endobj
+641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.33 603.319 327.707 613.506]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9fdbee5cd06ff135cbf9614b661c9e923) >>
+>> endobj
+642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.261 603.319 513.996 613.506]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9b32d9464a7101eb1893562646a3cdd1a) >>
+>> endobj
+671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 591.021 145.233 601.551]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9b32d9464a7101eb1893562646a3cdd1a) >>
+>> endobj
+643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.362 551.793 273.916 562.697]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1) >>
+>> endobj
+644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.335 551.793 453.397 562.697]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee159042baec996bc386154a1825ad56de0) >>
+>> endobj
+645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.21 551.793 513.996 562.697]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee1a05a8932097b094ca179e99e2d80b6ae) >>
+>> endobj
+672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 540.211 269.227 550.742]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee1a05a8932097b094ca179e99e2d80b6ae) >>
+>> endobj
+646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.216 540.211 448.922 550.742]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee13e5170687052e3962de866e2ab44d8f8) >>
+>> endobj
+647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 459.075 237.386 469.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8e2db00ec6575b865057ffd3195327b) >>
+>> endobj
+648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.202 459.075 324.558 469.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 420.221 215.259 431.125]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gdc14acd60d7235a72f88850b9a917eca) >>
+>> endobj
+650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.075 420.221 302.432 431.125]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 381.366 215 392.27]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g7593947fa164900140d09c08b56c6cd1) >>
+>> endobj
+652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.816 381.366 302.172 392.27]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 342.512 218.318 353.416]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g56026e685fb0fe336a5f346580f84ff0) >>
+>> endobj
+654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.178 342.512 365.534 353.416]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 303.658 223.299 314.562]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g13f1f84a46d70b91637cb9d6af54af6b) >>
+>> endobj
+656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.638 303.658 359.995 314.562]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 264.804 275.881 275.708]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g0764a0e607ec4de08a53e6d3b109a714) >>
+>> endobj
+658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.697 264.804 434.744 275.708]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 225.949 276.987 236.853]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gc37b94ca7dc0c8bb9797e6d91e16492e) >>
+>> endobj
+660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.803 225.949 435.85 236.853]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
+>> endobj
+661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.704 187.095 221.734 197.999]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g763a5fa98155383055703dc08cb3e11a) >>
+>> endobj
+664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+668 0 obj <<
+/D [666 0 R /XYZ 90 757.935 null]
+>> endobj
+669 0 obj <<
+/D [666 0 R /XYZ 90 716.221 null]
+>> endobj
+673 0 obj <<
+/D [666 0 R /XYZ 90 478.049 null]
+>> endobj
+674 0 obj <<
+/D [666 0 R /XYZ 90 478.049 null]
+>> endobj
+675 0 obj <<
+/D [666 0 R /XYZ 90 439.314 null]
+>> endobj
+676 0 obj <<
+/D [666 0 R /XYZ 90 400.46 null]
+>> endobj
+677 0 obj <<
+/D [666 0 R /XYZ 90 361.605 null]
+>> endobj
+678 0 obj <<
+/D [666 0 R /XYZ 90 322.751 null]
+>> endobj
+679 0 obj <<
+/D [666 0 R /XYZ 90 283.897 null]
+>> endobj
+680 0 obj <<
+/D [666 0 R /XYZ 90 245.043 null]
+>> endobj
+665 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F23 144 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+706 0 obj <<
+/Length 1847      
+/Filter /FlateDecode
+>>
+stream
+x��XY��6~���[e��ꢎ�m�N�t���E�$0h�^��
���wxɒ�M
4$
�
�Ù��,����ף����+�5"��o,7Fd�o#���21ޙ>��mY�y����㉃-�4�ٗ�
O\ۉ\����oF�����ޖa
^8@���8��`	��r��؉]��9.����>��(��"��R�?Ƒc���u
+B��ٳW��
�}乡1q
����
��&Tl�=�4�:��Q��2Ճ��Nl�no/Wӛ���ٟ������|�X��\��^��뛫�������U�!��{\T.���C��IQ�EB�8�F��VvE7�u3�I�he���"c$���ʔ�
����]���F�"���- ��o��\����"�y�p͉m���K�4��L�>�~���ns�H����L_�N]
�ŮWw���m��r��bu1_���_/����y�
Y�v�Ɣ��d��mM�
ٕ�ޖ&���f�Kɓ�]5m���(_�Vo��P
P^7�6	7��]���TV��}O~�%�˻�t���fw��t����V$��

�K����1x�J�8�1Ghp@��Z��Qr�8��8N
q���wHh�R=*Vy!,
�C�G���,��69����������bv�=�+��~���U����T5��S���'D���4ψ�s��z�������o�I��&|�I��T�=��R�g9im�eKry������2q#d�[�s�����l����
a����㊕
��GpB
+v<�z*/ǡeƒ+��G�Y'q��%�ڠ7�hJ-B���E���pT�� ��z4-�5�?�
˲*�6�(�
�`V�
��V!�w*��Y�j�z,2Jru���>׸�*ZC�����)ɧV�1^�U���)UN٥���c��ڰ�QT;G+ў�������F>������EC_|����@�Y��a_@��l�f�<��^�d��IB*��K�&��v�i��CE�L�	@���Q�~͛�3w�۫1��u�l�_ʬ�EL�b"|F��My��G�"�g�`�
�B�1wL\	�c����g��\@�-��d�,�r��$�؞��)"��?���.����|�nKs�'��	�E�u�`��i%�����L%]p�pDH�������W�rhi�c:A�ӺvR����cP^hX[Y��L�\?I
Ӻ
F
��l
���v!E:Ȏ�CntTn\�O%8�
��
!ר�S"�
�Rk�?��)ޒJ���űm��0 ��LZ�{B� yP�Ԟ�LW�X=
+x䇧U�6e۬t�Xq)�[��{�ך*�Q�a�}"�Ol��!�T���yw �n+��'�8[rT'�
+����#�W@&|u�9O
n��������d���"3kkufW���)�,��>7�����g
�
s		��ȉ<�a�@y��
��ȵ:�x0�.�
Ab
b)�C��h�YD.�.�MӉ�
d
+�B'<�1ZA.%B5�?��9/��S*
+�^.�D:��B��*�a-����\�1 �D�D�=Cq16!�`/��In�߳g��Vڰ��	���ؒd]��$'ҢTH��o��	�%e}�Їh�4����Z���C�k��h`����:m~�
x�Sm�T�E�&��/��z�
+
��Ђ�")D��E+��!�����g�>v�;�K�P�C]bMk����pc�����P�cu]��wsʿ�����s9��GQ��s9���9�V4�UF�R��j9��?U4h�[��Ϗ*���
Q)xE�繰W�%�B6� �m�'B��[P�,"���г�F­�9>d~��mӔ/��v�
�k�B'Y!֜A>{�i
����8d�.Kf��ʨ�GC������ؘ�`z����h
+endstream
+endobj
+705 0 obj <<
+/Type /Page
+/Contents 706 0 R
+/Resources 704 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 582 0 R
+/Annots [ 662 0 R 663 0 R 697 0 R 698 0 R 699 0 R 700 0 R 701 0 R 702 0 R 703 0 R ]
+>> endobj
+662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 697.247 359.547 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g1fd59c6502c8cbb9dbb802e4af34c940) >>
+>> endobj
+663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 658.393 337.311 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb9fc89c0e89d4487a1f69a26849b682a) >>
+>> endobj
+697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 619.539 316.27 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g735949470e98393af90b12f534b06cba) >>
+>> endobj
+698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 580.684 356.768 591.588]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge439fa617415f2153f4793041c41bd9f) >>
+>> endobj
+699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 541.83 410.028 552.734]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gef15021f65d2810602a9a1bd06fc878d) >>
+>> endobj
+700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 492.017 363.961 502.921]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g841003bef28b1052aa2b5297a529d4d8) >>
+>> endobj
+701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 453.163 354.566 464.067]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge311117a92fca76fc66fe3442ff6d09f) >>
+>> endobj
+702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.387 414.308 351.249 425.212]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g0aac22e2dc312e8c41418dd8d59701f8) >>
+>> endobj
+703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+707 0 obj <<
+/D [705 0 R /XYZ 90 757.935 null]
+>> endobj
+708 0 obj <<
+/D [705 0 R /XYZ 90 716.221 null]
+>> endobj
+709 0 obj <<
+/D [705 0 R /XYZ 90 716.221 null]
+>> endobj
+710 0 obj <<
+/D [705 0 R /XYZ 90 677.486 null]
+>> endobj
+711 0 obj <<
+/D [705 0 R /XYZ 90 638.632 null]
+>> endobj
+712 0 obj <<
+/D [705 0 R /XYZ 90 599.778 null]
+>> endobj
+713 0 obj <<
+/D [705 0 R /XYZ 90 560.923 null]
+>> endobj
+714 0 obj <<
+/D [705 0 R /XYZ 90 511.11 null]
+>> endobj
+715 0 obj <<
+/D [705 0 R /XYZ 90 472.256 null]
+>> endobj
+716 0 obj <<
+/D [705 0 R /XYZ 90 433.402 null]
+>> endobj
+717 0 obj <<
+/D [705 0 R /XYZ 90 376.988 null]
+>> endobj
+718 0 obj <<
+/D [705 0 R /XYZ 90 209.141 null]
+>> endobj
+524 0 obj <<
+/D [705 0 R /XYZ 90 184.927 null]
+>> endobj
+719 0 obj <<
+/D [705 0 R /XYZ 90 184.927 null]
+>> endobj
+704 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F23 144 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+723 0 obj <<
+/Length 1461      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�6}�W�P3$ŋ�h
��7�6�x
�a�]�-;�ڒK�M��
]��e;�^� �
jx����X[jX��>
���f#[P�M��5)�hӹ�I�C�1�o�G�cH9�/�؍_6^d
MBmS���<}7M��Icq��ɵ�z��3����;
#Ӷ��t�ZcԄ�+�~�a�{qQa�K\�̑����Sn�A�njH��
k8��q6 P�Cʐ��J,D�h
D�^�lVN��\�A+�b�

q��r\�Q�D��,�͔��P���r8�[�H��q���y��ǜb7�3+�F)�E
~�ٶ��L�Y���%Toj��BXv%%�B
+œf������~:9���:ӏ�s3��w���6�Ԩ G�s�WgZ�K&{�s�E��E��ńT��(1���`i�d#��@�lJ�q�c��-R
hR[�eh�X�$�
G������}0�
���>�(�����xJ�Ъ`$bX�”u���8D"=�Df!P�A�掀M٘~#�}���i��
H�A��у	��>���dtnp�OG�Ӥf$ď�4���&1�R�F�!G�X"X�o�h��q4�4Gk�S�O`򦍄4�ݏ��~W^�u�������A���W0���
ҖŌ���yW���$��A,
�,����Q�#1ps�T45R�S�H��W~��
����
�����~�
1j�U�/���!�Y�cю� {�r���Nĺ	;�L
�y�c�^���?L�@��!�DijUm�ׄ�=��D`�
El����ߣ�a���'ח�.li#f��gGv�-�|��{`�

�����:X�
!��_
�*w�ŞJ���tZ
�K�z��k	C��
j� 
j��%�W��m0۝+�:I��$9{rU�~\GR��a������T�:���8���%
���w9N7 ɣ�o>bJ�mޞ��t�	#5��D("�
�1��� �
^�!9��岁9 u����O
��	±^
�Ћd#�)�͝a�6���
	�8/ӧ*���&��,;����
+�ك7DX�h�g���
s�8�tx2��Peݚb���u����EQ
+�_'�٤ʩ�s���c�
��O�n')V
e�`��u�ε�ߋ��D�V͊�y�$���ռ|(�(r̟�
E�l:��foM]������peoW��8�(�H5u����^J!�ڷ5I�4`��,�
}�s�du����Hzr;2'��0_���Z5r�TɣA����v���!p��^=/ު���Q:�f�.�i�ȋ�e�����
��0���n
�܊m]��7/w@ !
y����B*�Ҵ�;]��Y#�qB���9�q�zy��*��C_�߹�r�.���0�T2na	��~J2ʗ�l�U�x
��L	�U�!t��3�d��sc���rF2�hŧ?�U�� ��m���x�������"�
��B~|����ڻ(�0�,AJ��C�=�E4��)
)�lH=����
�e
+endstream
+endobj
+722 0 obj <<
+/Type /Page
+/Contents 723 0 R
+/Resources 721 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 582 0 R
+/Annots [ 720 0 R ]
+>> endobj
+720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+724 0 obj <<
+/D [722 0 R /XYZ 90 757.935 null]
+>> endobj
+725 0 obj <<
+/D [722 0 R /XYZ 90 733.028 null]
+>> endobj
+681 0 obj <<
+/D [722 0 R /XYZ 90 714.318 null]
+>> endobj
+726 0 obj <<
+/D [722 0 R /XYZ 90 714.318 null]
+>> endobj
+682 0 obj <<
+/D [722 0 R /XYZ 107.713 639.496 null]
+>> endobj
+683 0 obj <<
+/D [722 0 R /XYZ 107.713 624.398 null]
+>> endobj
+684 0 obj <<
+/D [722 0 R /XYZ 107.713 609.3 null]
+>> endobj
+685 0 obj <<
+/D [722 0 R /XYZ 107.713 594.202 null]
+>> endobj
+686 0 obj <<
+/D [722 0 R /XYZ 107.713 579.104 null]
+>> endobj
+687 0 obj <<
+/D [722 0 R /XYZ 90 570.032 null]
+>> endobj
+729 0 obj <<
+/D [722 0 R /XYZ 90 555.84 null]
+>> endobj
+688 0 obj <<
+/D [722 0 R /XYZ 107.713 480.211 null]
+>> endobj
+689 0 obj <<
+/D [722 0 R /XYZ 107.713 465.113 null]
+>> endobj
+690 0 obj <<
+/D [722 0 R /XYZ 107.713 450.015 null]
+>> endobj
+691 0 obj <<
+/D [722 0 R /XYZ 107.713 434.917 null]
+>> endobj
+692 0 obj <<
+/D [722 0 R /XYZ 90 424.903 null]
+>> endobj
+730 0 obj <<
+/D [722 0 R /XYZ 90 410.712 null]
+>> endobj
+693 0 obj <<
+/D [722 0 R /XYZ 107.713 336.024 null]
+>> endobj
+694 0 obj <<
+/D [722 0 R /XYZ 107.713 320.926 null]
+>> endobj
+695 0 obj <<
+/D [722 0 R /XYZ 107.713 305.828 null]
+>> endobj
+731 0 obj <<
+/D [722 0 R /XYZ 90 289.48 null]
+>> endobj
+696 0 obj <<
+/D [722 0 R /XYZ 90 267.168 null]
+>> endobj
+732 0 obj <<
+/D [722 0 R /XYZ 90 267.168 null]
+>> endobj
+721 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F89 447 0 R /F11 727 0 R /F8 728 0 R /F23 144 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+759 0 obj <<
+/Length 1904      
+/Filter /FlateDecode
+>>
+stream
+x��Ym��6��_�~�3���bY6t:Ga�R�q�̍�V������]��%>_�9h?Y���j��}V2vv�M
�ON���	Q�S�9�;!v�O��9O�w���(��iU�i>)��J�uT�E>�13]L?����~>�gB at 4v���;�j��v��`�����Q+ǣ
���v���"
b�O�(C��^�=��:FA!�ZvfvJ++d��.N
9�1�SqQG
#�y^�r
�Ҽ�ɹ,�$pe]z
�{�SK(�C���4���ZZ
�<1��&����^���S��V�
+ٍ��E�@>��"?�y�m�!���!��f�#��?��
��_,e��-G�
���
��5r7bF<�(cΌQDB�3�E����n�V���
�Y����2����lgT�F^؏+������D��d�s��
�>�7Ꟃ����uQV����*]�
+n�>����$
y
pa�J)ߙ⼛q g
+K�nT��Fי
�VT^˥��V�x@C�j���"�`�sQvCwlPĘ��f��z(
h
�x�Cu��{Q��|����
��rʄ+UC
S7R�!���p�`���i�4�?E�F�Nl�(?�O�2ݕM�%|̤��CVuMî�]��QpJ\�|�7�O�<��L��6R;;��ǐ��ƀf̎�`�h��Z�@� �$Hz�	ɋyY�.V�/��������i��(��_�WJ����x���0E��U���C�1xU4�T���[��dnz/�v���Wo��z�]L	ve9/�Q��5��t	�
;�$<X�	�Ld��@Q]����w�K�D�Q ��Awܚ+�1��4*�6Ͻ�C��g�{o

~]�#���
���)�@����t�fcE��*c'ܝ7(
���C˲�7i�4��^hu�F:
��2�b>6�ׂm
k
�֊��6��u�(�W�&�T��эV��R�
+�'�	�~h�!^"]�� ������� 3�
��)0�Ӌ1@�h
�Q Hksz���=�ٰ4/�3���
؃���|{�A\(��0��^o���
�ܞ`?z�gгG���4	�Ue�U�
��ۓ�v�r=ٌ@��(� 
+��1�Ј��>"�WR9
q)H9
�'2��<e�W�A�y�B
RE�D-5�
��t�=�b�����{�,�Rï��N0����#�k�e�u�'in/jl_a&ō�m�e����]����5/er&�J&��ríX� �}�6�����LF��uެ�(����w�A�rO
�#�)��
��(�Z⭬���1۵$u�Q���g!��^�ڧ�u�
�L��Z"
�G�`�����={��zS��<w]Ti
���
�@IG+zL�m�
w
���O�[ir�����L4�}7E:��un��ͬ*��J�Ƥ0ύ�и����:���Q�.�kx�#���4��J,�Mm���M�*���yn1ײ\F��r�j�\��v�pT ⇷����.˩��¬�#���Wr��ǡD^N)v7ډ��
֛�-���
�1z���V��&O�vC}R*��[=��[�x
��Bq��k$�	�n�a�A{�ZD�˭����a��n�
��J���#)u�T$�v<z�t�0D;C�qg(I�3��:C��D�{��4Vv_ZIPތ���������œw~R�C%k��
(�mxj�9�j�2/��
?�C� �	�����]�}����R?@����T� ���(P'���<D��}�7��e��\�$�Ȯ�2)���e��<=�}Q��D
����p���D\�<ULe�_E9���^�%eYY^W"�4Y��0e���Ji-b���iZ/'�����P��Ȳ��NN��-�+���u���\tr� [...]
+endstream
+endobj
+758 0 obj <<
+/Type /Page
+/Contents 759 0 R
+/Resources 757 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 582 0 R
+/Annots [ 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 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 756 0 R ]
+>> endobj
+733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 543.954 223.166 554.858]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_5fa6bcd4ec3cf844646033688f2fdf0a) >>
+>> endobj
+734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.982 543.954 298.463 554.858]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 496.134 277.402 507.038]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_af38dc5a17ef89e16c45f363397afb59) >>
+>> endobj
+736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.218 496.134 352.699 507.038]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 448.313 296.52 459.217]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_fabc584f4f391708d6c0d7c47030471a) >>
+>> endobj
+738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.336 448.313 371.817 459.217]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.682 448.313 489.176 459.217]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 411.451 285.96 422.355]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_39db5035590b4bf7017a43cdcca6a49e) >>
+>> endobj
+741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.775 411.451 361.257 422.355]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.952 374.59 304.924 385.494]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_1ef606afeb25edded051be3b0c728086) >>
+>> endobj
+743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.586 374.59 380.067 385.494]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.896 374.59 494.389 385.494]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 337.728 230.608 348.632]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_cad04388edea0d80b20c40266a3c3f14) >>
+>> endobj
+746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.423 337.728 331.917 348.632]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 264.313 244.456 275.217]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_be5af687ddf08c6379bd115d210ac22f) >>
+>> endobj
+748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.271 264.313 345.765 275.217]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 227.451 221.203 238.355]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_001b2a61c18a500a446151a9024de3fe) >>
+>> endobj
+750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.019 227.451 322.512 238.355]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 179.63 252.755 190.534]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_474cce1b8348a126a8496cea7952a1f1) >>
+>> endobj
+752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 142.768 222.319 153.672]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_526a2d8ad27e00b633408a36830dc2ae) >>
+>> endobj
+753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 94.948 223.973 105.852]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_f0b12578ecdb0571ca51ee09789b2fc3) >>
+>> endobj
+756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+760 0 obj <<
+/D [758 0 R /XYZ 90 757.935 null]
+>> endobj
+58 0 obj <<
+/D [758 0 R /XYZ 90 733.028 null]
+>> endobj
+340 0 obj <<
+/D [758 0 R /XYZ 90 712.582 null]
+>> endobj
+62 0 obj <<
+/D [758 0 R /XYZ 90 712.582 null]
+>> endobj
+761 0 obj <<
+/D [758 0 R /XYZ 90 612.125 null]
+>> endobj
+762 0 obj <<
+/D [758 0 R /XYZ 90 559.033 null]
+>> endobj
+763 0 obj <<
+/D [758 0 R /XYZ 90 513.235 null]
+>> endobj
+764 0 obj <<
+/D [758 0 R /XYZ 90 465.414 null]
+>> endobj
+765 0 obj <<
+/D [758 0 R /XYZ 90 428.552 null]
+>> endobj
+766 0 obj <<
+/D [758 0 R /XYZ 90 391.69 null]
+>> endobj
+767 0 obj <<
+/D [758 0 R /XYZ 90 354.829 null]
+>> endobj
+768 0 obj <<
+/D [758 0 R /XYZ 90 279.391 null]
+>> endobj
+769 0 obj <<
+/D [758 0 R /XYZ 90 244.552 null]
+>> endobj
+770 0 obj <<
+/D [758 0 R /XYZ 90 196.731 null]
+>> endobj
+771 0 obj <<
+/D [758 0 R /XYZ 90 159.869 null]
+>> endobj
+772 0 obj <<
+/D [758 0 R /XYZ 90 112.049 null]
+>> endobj
+757 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R /F72 202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+790 0 obj <<
+/Length 1826      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ ЇR@�ރgRh�I��Mܧ$Pir%�U
V��;{Q$M_�վx.?��|s���Z�z�x~�8y�1+D�G=�|c���=�\J����d��.WclWU�>-�m��"��WM��u\M�N[^GmY��h�\Q�o
+��D1W�|��%	l�. �2���/�o/�/ȃ-"����g��O_����[
#�^��-�23���ֺLG��O� t�
�q0�0�)C�s��x��Ebz̎�P�Mڦ�BvϱSPe�`{�$�-�t�Ƹ���g�i��5H���6W���+�<+���~��K��;�5\��
M
1�JR�<���5
���L�ehx�&m�4iw<��N�w�Z\FYǟ	\K�Q@�FG�*D���(�'VC	��>�A$�y�9�8�ۊy�FTP_{s��q��F�'�\<@ 
9.�MPh�ϔ��W�O+(
��ۂj�Vs�< >(8��몆�@v0-u��B�7>c߈)�\[��}<2{��S�<�
�i��>b7�
B��)4G y��@��!��7'�6)�v�QD����3bb�U�*@<P-�DZ�恦|���K�
����O�>�0uj���€
���Q��n)�� �Q�?C�8��j��hY����
P����yd
+8���á�y ��
D�9A�
+ِD7I�U��4��@�9*�"5�Q���J��Z��]�?-d�}2:]�"1ך�i�Sa��tu�_�2���"�����@E}t;A�e9"�VE����"����o�43ҽ�M\���}3���o1�.ϗ��*�u�
+
�鳧Z����)G���%�<:�K��j��0U�0b��Ć�ul�_ե0�e�HP��
+�@�p#��jE�R ��^�4�@(�N��\df�K�`���P�����lY
+��V� bP-2OR��)P��@HF|v쳳wj2w
b?����B���U�s8 ,/����zT˪�q�^��Em
+��uc�7=�t����z;
U<�\�pe�.kEdЎf# �h��wDz�H	�i�=1���딉JR��"*�7B�[(	/&e܉[�V���;��Sn�� W����m1m�2���M	�H
+�h"��4�O�Q�x�a���\���#��zǣ��
e�N"f)�Qx5$�q�Gl�
=����f
���.eV�G�� C���q�%ZTB'!���j��i
zI��&�wo�}�0��9�so�a�
eLD�t�فH�����N�[�rû����ͨ֓��s�_���ݒ�G
+A(6�� N����F;�/M�n
�d�Cn�G����P��^p�w�~�	pw�v�3M�
�v�~{�8CܧG�ⴽo%"�q��K��E�
�{��K�ppJ�H���Ģ���qv�0���*5L0c�����-��
U���"��ا��Bu��ad�� ��E�x �
��cҒ�
�
Ҷ
+;��m���Q�1/�.�H�������ug� �0�l�%d�H
�	�t�jGE\�l��oUWj��̰�8>r�����
)����3 at si�k�S������ W�h�δ8��9�m��/j�%<�FBƿ����!
+�sD���n����K\�IRF2g
�{�#y/�‚�N��<С�
x�&�S�׼m�s� 
����x��;��C��Y�G�
�Ԙ��g��u�3�Y�]�xR���j�x�꽨�vі��Qu�g�!�AM�������Ў�V�е`�@��!L5
�4��ȹ�u
_-3�u!��
���zصm���d�ߣ�A]�V5J�����b�B ��}C��yYs݃��7PG� ���?3is����٭,
+endstream
+endobj
+789 0 obj <<
+/Type /Page
+/Contents 790 0 R
+/Resources 788 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 801 0 R
+/Annots [ 754 0 R 755 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 799 0 R 782 0 R 783 0 R 784 0 R 787 0 R ]
+>> endobj
+754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 649.574 238.369 660.478]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1816497499ee569563a6d97a4ff553a) >>
+>> endobj
+755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.184 649.574 339.678 660.478]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 612.752 241.686 623.655]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_1e3bb22af6b60660fcb8d201b09ec7ed) >>
+>> endobj
+774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.546 612.752 403.039 623.655]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 575.929 246.667 586.833]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag_249071ec2d19ecedaaf4e32ca8fc4a8d) >>
+>> endobj
+776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.007 575.929 397.5 586.833]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.672 230.668 330.933 241.572]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_9af8efc183a5a4cd4475146207f92c8a) >>
+>> endobj
+778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.314 230.668 513.996 241.572]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.18 181.89 513.996 192.794]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_38ece4277d5885940d45d6c8465ca19a) >>
+>> endobj
+780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.412 169.935 298.094 180.839]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.507 169.935 513.996 180.839]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 158.354 163.61 168.884]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.623 110.199 513.996 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_9c7ea131b285ad7aaefbc1e2cf579512) >>
+>> endobj
+783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.412 98.244 298.094 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.302 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+791 0 obj <<
+/D [789 0 R /XYZ 90 757.935 null]
+>> endobj
+792 0 obj <<
+/D [789 0 R /XYZ 90 666.546 null]
+>> endobj
+793 0 obj <<
+/D [789 0 R /XYZ 90 629.843 null]
+>> endobj
+794 0 obj <<
+/D [789 0 R /XYZ 90 593.02 null]
+>> endobj
+795 0 obj <<
+/D [789 0 R /XYZ 90 540.64 null]
+>> endobj
+341 0 obj <<
+/D [789 0 R /XYZ 90 403.864 null]
+>> endobj
+66 0 obj <<
+/D [789 0 R /XYZ 90 397.234 null]
+>> endobj
+796 0 obj <<
+/D [789 0 R /XYZ 90 298.77 null]
+>> endobj
+797 0 obj <<
+/D [789 0 R /XYZ 90 245.737 null]
+>> endobj
+798 0 obj <<
+/D [789 0 R /XYZ 90 198.981 null]
+>> endobj
+800 0 obj <<
+/D [789 0 R /XYZ 90 127.29 null]
+>> endobj
+788 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+820 0 obj <<
+/Length 1777      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ ҇J@�ޓ�[h�"��Q��@`ȕL�"������^IQ��i�xh9;�73߬��������br��g^�"���b�E�
|�%�"��N�fs�1�n���iY���,�|sS7r�l��lN��,Y��D��
��Ռ�S�$���)ó��W��ɧ	�G�"@^���}��޿�0bQ�]�U�S��{3�s���ë6&�^��\C8Fn��������EmԌ�%)�7�\�ks)�OEݘ۬Q&�iܔ�2\'����JM�M]%fM_����5M9"&B��nE
+{�H�a�[��S�y������I$Ƒ7�E��(=)�۹��gEc_�PUk�
���(ԨHe.9�r�sYw�>����BK7B�	����5��6�"a��v]6�}uT�v&��; "�
E<4�_3��Wq��q#�d.�"��HhCH��wq
�G�K9�Q
��2��7���S�[��f,���V�}�-�4+lv�w��(qB��<7wR�J�.�s�
d��\ƵLo�ޅ��2'
"��� 	
Ӟ��/��cWM�r*�V�_���O�f�X=���qz]W��!�
T��
+	�{��G�a���N��!��/����hp
�����V�n�
�K�!&!E8��0f۽p�ԭ�&����!�'���^��9�|ur�Ϊ|]e
�
t��&��A��<��{	I�A+�ʉ�Ԯ�GԦ
+�Q��՘��+� #���!ڀo����AR�>H��N������hA"*�xu���e
��h[B
�GGPW�����ࠦ,`���Q�|~(�*�Kh�1R"�#z��k��}��o��
��*E`Y�듺l��֕4O��Z�
+^�4[�5j�.���V���G�g-�?�@<DA�R
��G���BѶ��;�8�����a6�\���q>�����
+�	�0�#����!p���4�H��dG��c�)""pc<�A�l�,���<�uRe�&+����A5���L�(~�u��C�]�(	��
+�N,���-��ȭ�yjK ��DYh�p6m̾�s��z��W?�}Ղ����yp�a�m�Rs�,��+��P,T=�I�Z�^�*���)�T�_+Y
oZ�֐>31�2]�$3=Īd��&5�$��r���??��V�sQΑ A�wC�a@��� (��2�)cc��~��cB���~���e���෪�͠���</gT�t�t���_� m9
U� ��{�.��K�,�E at W��u�y&F��<+�A�
��<�x�Ժ-�t}���
�w���]ju"��R0�g�Gd(�-��z�y�'/d��ΟZ��F3�(�1�P.�2�C�E�;����e#�<�U;�[9�R�7r�AVo�[:d� �!�(|�R��%��؁Ҝ�h�֏/�_����1�-r�A16H�C8����aƷk�K��	�� ����i_p��Z��<m��
:l�n��Vcw�O�aR�M�����2G�O
��|�;?��r��Uߟ]�	��߲*�i�Y
T1FP�ٿ�*��9�U��π
�s�^5�8�E`W��<k�������
�U�E����"
�ω����
b�(�&l�
�J!Đ���̦�XO�.�K�V���CW6���wq���k���=��W-��3�N�=.���Z�^�-eU��#�&��$a
+Bh��k�F��6㆏���u���7�����ֳ�M�=?;���FI�vE��P֜A
�
6���
�#��
l��N0� �#����JV��q��B ��W��
+endstream
+endobj
+819 0 obj <<
+/Type /Page
+/Contents 820 0 R
+/Resources 818 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 801 0 R
+/Annots [ 785 0 R 786 0 R 823 0 R 802 0 R 803 0 R 825 0 R 804 0 R 805 0 R 806 0 R 827 0 R 807 0 R 808 0 R 829 0 R 809 0 R 810 0 R 811 0 R 812 0 R 813 0 R 817 0 R ]
+>> endobj
+785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.547 696.998 338.25 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_de6bd909f8bb4bcdaed4dced85c1f5f1) >>
+>> endobj
+786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.507 696.998 513.996 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.417 163.61 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.221 611.628 362.589 622.532]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_7f1fc328bf8f0d2ec92a6599ce7fe2d3) >>
+>> endobj
+803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 611.628 513.996 622.532]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 599.673 189.622 610.577]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.064 599.673 306.672 610.577]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.528 562.811 359.281 573.715]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_7ac19545b812b9ed2261c4224a6b9e9a) >>
+>> endobj
+806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 562.811 513.996 573.715]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 551.229 163.61 561.76]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.243 513.994 346.554 524.898]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_74f9a28eb09ee718502409ab43b657d4) >>
+>> endobj
+808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.507 513.994 513.996 524.898]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 502.039 163.61 512.943]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.07 502.039 369.765 512.943]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
+>> endobj
+810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 157.611 261.602 168.515]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_f6cb7e34c1083df796fb12aa463739e6) >>
+>> endobj
+811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.417 157.611 375.334 168.515]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 120.749 334.099 131.653]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ed43bafe74e2b291d7b980c6ee8f3d5f) >>
+>> endobj
+813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.915 120.749 447.832 131.653]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+821 0 obj <<
+/D [819 0 R /XYZ 90 757.935 null]
+>> endobj
+822 0 obj <<
+/D [819 0 R /XYZ 90 714.099 null]
+>> endobj
+824 0 obj <<
+/D [819 0 R /XYZ 90 626.706 null]
+>> endobj
+826 0 obj <<
+/D [819 0 R /XYZ 90 579.912 null]
+>> endobj
+828 0 obj <<
+/D [819 0 R /XYZ 90 531.095 null]
+>> endobj
+830 0 obj <<
+/D [819 0 R /XYZ 90 455.752 null]
+>> endobj
+342 0 obj <<
+/D [819 0 R /XYZ 90 330.854 null]
+>> endobj
+70 0 obj <<
+/D [819 0 R /XYZ 90 324.253 null]
+>> endobj
+831 0 obj <<
+/D [819 0 R /XYZ 90 225.781 null]
+>> endobj
+832 0 obj <<
+/D [819 0 R /XYZ 90 172.689 null]
+>> endobj
+833 0 obj <<
+/D [819 0 R /XYZ 90 137.85 null]
+>> endobj
+818 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+869 0 obj <<
+/Length 1930      
+/Filter /FlateDecode
+>>
+stream
+x��Zے�}�W������B���;���;�����5�!
�ɐ�(��4n�H����8IU�H� ��>�tV�2��~r�N� A��"�_	"A�$�ςO��ٜ`��U�~��,V�V
��q�(�yP�j6�
O�J��t!��r)����3�J���~��n����?'�b&���ɧ_q�A�wF,����	B��>N�6�n�o�=#���7"��Z�
��L��
>�9ؕ�5���+���CB�ᅜQ>ݍ8`Y��^��
	���9>9�)��{G�Ab�@��'�0���}�%1�}�E��i+E$�2�K0g!C,b���p�EY4��Puh��l%��	
bX�M�BD�
%al��f�����S���&�&/Vk��¶/:O�ߍq��
+�T��}V�}�����{�l_���{k�1F	���pa�
����w�ڎ��s%��mzJ�l�V�,��D�o
&g�|�9G q���zƢ�L��lCk8ܧ�]��vk�s`�Ab� �CB��F��� os�9�tL)E	y
�X�Bֹ�ÉXD߀|Q��o�>m,",
�M��q����k�b^t�<F
d
�[���z2��^y�%�	�`#��� F��3��
�``7S�(����gV4��O
��y�c�k
+�@�9���ؓ4y#�E�K��5‘Q�4����A0����u�1
+�瀸�M�x
	�h\�8)u�k
w&c��b�<���ԇ1"�M#��1�Ĉu��ʑqDI�
��m�G�%
\�z�ig��e򶼌1��2��H
�Z�a
򾘅x����,��ӏ�S����P6wҵh�sBڂA=�n�M�ی੟��Z):�\�$�*���9���J������k{g��Yj��}A�(�/�e���<b:v
�:�8���ɐ�_��B�e�:ϗ(*����k��������o�5�Ò���k��W�7v�y
�����C�odрe�#�X��z
gk�$���#�ٮ�A�+y��Z5�g4m��\z�9Ԝ|�����\G|L�X��V�6#,һ�N+=h�Ќ
��\(S)h�U�N°.�.cL�y��
�\)�`*�솢{
-�����^s?H���oaQ����/�.��P�8�e&&($���1�q�!�st�N�������:�ӵ1� ��ў�a�W����
wS��X� ��'��h��ʏ�LpvKt��ղ�x�Dz�2���NBR�@����k�#��PŽc��b]�V��x`����4m�鋪�x�
}��<ԱGK��(�
+��┆	���±#��
p
3vJ��(}��"Xw>G��|
+�U�����!{-rG4���B�RnJɷL�?}�?���=̈́K//�d$/C�Ѽ��{v>`E��X���I��!��t#�/���
ټj~�zN� e�6���vL�_�%W�%�Tk	U�J���=v�W�i��9��� Ǜc[���ቐK���w%맴:��+7�W
�F8S���\�h��u:YԳ�OK;o�fs7o�r���K��L>�(�nM
Wmj��5�[6W�
#���vo&6�?��7��o��l���H�;�wS�x>{̥�L`Dp]�����jaưi��
��-�T��*��N�`��
#��=W"F�M*�S�����ՙς�V"gkk��'��7���޸㚓ձ�X	���G��� D�
��ȥ\t�%���Ӱ�ʛ��Cc3�w���֤�~�/�
O*k� 
��}Qm��O[;S����N��CUC����ᅫ�z���:�ܿ���D,v���	��iǽ��Ϧ
�7�?�����j�������̵��j��d�/Z�[lA����A��
Yl�uw<񬧔u�>� ���%a�.��^��~
���C��8*���J�'�����v�
Z4h[�U�ruQ�;FT7
+��b��16e�y��C��;�SU�w�C��7���
+endstream
+endobj
+868 0 obj <<
+/Type /Page
+/Contents 869 0 R
+/Resources 867 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 801 0 R
+/Annots [ 814 0 R 815 0 R 816 0 R 872 0 R 834 0 R 835 0 R 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 0 R 844 0 R 877 0 R 845 0 R 846 0 R 847 0 R 848 0 R 849 0 R 880 0 R 850 0 R 851 0 R 852 0 R 882 0 R 853 0 R 854 0 R 855 0 R 856 0 R 857 0 R 858 0 R 859 0 R 886 0 R 860 0 R 861 0 R 866 0 R ]
+>> endobj
+814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.501 719.912 342.466 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_e5f214d520a1f232251bee39685b62a2) >>
+>> endobj
+815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [349.676 719.912 459.593 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 208.989 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.316 660.136 374.601 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_f03d1a4f7f355971ac31ec1e4cb7297d) >>
+>> endobj
+835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.627 660.136 489.544 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 648.181 261.024 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.675 600.361 382.518 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_68de3cffc4bbfa2a79c06c51adb653a8) >>
+>> endobj
+838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.903 600.361 496.82 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 588.405 261.024 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 551.544 269.043 562.448]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3) >>
+>> endobj
+841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.859 551.544 408.788 562.448]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.653 478.128 319.422 489.032]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_8cba47c10a4d9a84b170b37932dc04e5) >>
+>> endobj
+843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.785 478.128 464.714 489.032]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 478.128 513.996 489.032]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 466.173 190.738 477.077]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 429.312 270.159 440.215]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_8ce02af4c13862f7988ad3e43b5290cf) >>
+>> endobj
+846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.975 429.312 409.904 440.215]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.127 392.45 271.261 403.354]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_5a6326e465cce738cb09fdd8df1d92ba) >>
+>> endobj
+848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.098 392.45 415.027 403.354]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.852 392.45 513.996 403.354]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 380.495 223.943 391.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.915 343.633 265.449 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_2c60071e2c7adec51fc7175ddb7a3bff) >>
+>> endobj
+851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.074 343.633 411.003 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.852 343.633 513.996 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 331.678 223.943 342.582]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
+>> endobj
+853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 294.816 259.639 305.72]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_56b9fe489466e7376b72bc99b4f99126) >>
+>> endobj
+854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.455 294.816 399.384 305.72]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 210.442 264.61 221.346]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_3ce50d0fcf796935652563144194ccf7) >>
+>> endobj
+856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [268.426 210.442 378.343 221.346]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.092 173.58 324.496 184.484]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_e88c914d522014d2d181278bcfa9222f) >>
+>> endobj
+858 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.297 173.58 442.214 184.484]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 173.58 513.996 184.484]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 161.625 182.977 172.529]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+860 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 88.21 276.804 99.114]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_19d1974dd5b293a48b8f2de6fa3c2c8b) >>
+>> endobj
+861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.62 88.21 416.549 99.114]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+870 0 obj <<
+/D [868 0 R /XYZ 90 757.935 null]
+>> endobj
+871 0 obj <<
+/D [868 0 R /XYZ 90 733.028 null]
+>> endobj
+873 0 obj <<
+/D [868 0 R /XYZ 90 677.237 null]
+>> endobj
+874 0 obj <<
+/D [868 0 R /XYZ 90 617.461 null]
+>> endobj
+875 0 obj <<
+/D [868 0 R /XYZ 90 568.644 null]
+>> endobj
+876 0 obj <<
+/D [868 0 R /XYZ 90 493.207 null]
+>> endobj
+878 0 obj <<
+/D [868 0 R /XYZ 90 446.412 null]
+>> endobj
+879 0 obj <<
+/D [868 0 R /XYZ 90 409.551 null]
+>> endobj
+881 0 obj <<
+/D [868 0 R /XYZ 90 360.734 null]
+>> endobj
+883 0 obj <<
+/D [868 0 R /XYZ 90 311.917 null]
+>> endobj
+884 0 obj <<
+/D [868 0 R /XYZ 90 225.52 null]
+>> endobj
+885 0 obj <<
+/D [868 0 R /XYZ 90 190.681 null]
+>> endobj
+887 0 obj <<
+/D [868 0 R /XYZ 90 103.288 null]
+>> endobj
+867 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+909 0 obj <<
+/Length 2050      
+/Filter /FlateDecode
+>>
+stream
+x��Y]���}ׯ�*AU��|2�ķ*���$Nʱ7OvJ��H��@���ק��hY�d˹6�h�Lw�>}�`����7���	J"7� ����7��m(���8�n����\�;Ufjަ��
+
�T��^����VKUOI
�]�D"��N���y��f�����q@̓�D�� �L������
`Ē8�5�6�
�E�f���S^��1xq��Q���!
	�ʫ:/�F|�ݔ#w�n�hwx�$�(�6�Ո�Q"�
M��v�
F�I�
��<��յ�����ƌR�0��Q*<#�ۙ�\��nYG�^���6t�t2�j���
���i��Ц��;,��O/_X��4$�(f}��a��.�����CT�t���SfUٌ�pގ��#
��F� 3"�p�c��b�Ӯ]Q����� �m�
�@�I?>��!�a�]Cis&��uZ��� ��!�
 ��c�@m��0���/���^6iQT�����jaW���\M	�x��U�y���Y�]�ٔ�pm��{��L����eg�C����F'^�G|��{|>�������N�,���f�<��	8r9y�6�M�	�I|Z8��a1��)�����|�H�De���4�l�6�:�Z���@�	
�X�.��#Q
Y�K8����UT����u!\�dUr~;>W4I�ˣ����%aE 5\�
�e=�"�6c�b$et����:P�3M�"��֓��̠-�j~��4/:^}���η����`�#�k�f��n���:#�]�i
n}Y9��z��`�G�m
Pʝ�N���� �p�J���B� 0}h�;T?#@?�"�5k���s1�0F��rT[
D/&:�D���;������b�l��������*U����@�˿eM۸�{��L
��_�P�����2�h�V���!Z;�3M���
lXϙ [...]
+�n�̛�'�a��y�b���'���
v.@���fZ�ڍ�U���u��q��ᷪ�d��=����jwSV�Íڼ�t^`t�ɽ�n� �8�p�.k��q�����W�.����������6�u�%c���$�IZ�L1
�{h�$�v�
��Mb�"9G�m�cC	�1�2/UZ�_|��
+�\����v�P'[�Y�#�@
xdf	�ˮZ��i�r���8Y
tJ�g��C@���	�!d�h�7������
�b	���g�&�F�KG������"�p=�$�b��.�GlF�Lj�A�mH" b��Q�0�o�un��S���
e�
�雼u{Z�w�X8�46A�@��
d#ǁ�)�@#�"�ؖ��7�Ԇ����an�}�C�7Ce�w�>cz�k���]Z��go�>�v�{���ޛB���9CL����
��i����9x;�"�h�gOG銊ő8��N���A�ő��"�.�]ـ�j4ݤ�
e?վ�3%���}�A!� 12&�����b�IC�3H�S{!�"���h��e��%��Y��f}��.uլ����u5�Ң Fy�V�͏W8S�h�G�wI������]�f��:-���
c^� �sf�s0C�0/:�G!H"e�
�GQ.|�G�QN�PN(� 	�ꋰ(�#('�\��N}
�8\Me�WYݺ3�{�:��V����l�g�q:�a�b&�r�;��:@7�j���r�%��i~k*�\s곳8ޭtm����ӊ���!�.[�t[�/Ҕy�L��zD@�o^�:#ݑ��4I��ƶc~�Q�\�6�Z�
+1'�a���#�H9�=,�e;��O��;�0���c�`=L�p$�'�ouY������z�-a�jKs*�2(
��Ƙ;�3�*�^=Vf��$�K��z8�Y8]ŧ�*l~�
E(�*��H���{^�(����D�*��jQ�?_���v��̭��j�����"�F�_��/�L~M�^��������կ��I�0�JGpoTW�6
��/�s4hF��]��������[�5hW��������|o��ض�Zz2�Tu7
�0Nb� 	�!
��ƍyYv/��
��
+endstream
+endobj
+908 0 obj <<
+/Type /Page
+/Contents 909 0 R
+/Resources 907 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 801 0 R
+/Annots [ 862 0 R 863 0 R 864 0 R 865 0 R 888 0 R 889 0 R 890 0 R 891 0 R 892 0 R 893 0 R 894 0 R 895 0 R 918 0 R 896 0 R 897 0 R 898 0 R 899 0 R 900 0 R 901 0 R 902 0 R 906 0 R ]
+>> endobj
+862 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 697.61 280.122 708.514]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_45fb5ebe8a9c33d1e73593b09d8ab877) >>
+>> endobj
+863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.982 697.61 479.911 708.514]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 661.971 285.103 672.875]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_3b54824f0f53bf664c3114fb67557115) >>
+>> endobj
+865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.443 661.971 474.372 672.875]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 626.332 291.19 637.236]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) >>
+>> endobj
+889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.006 626.332 430.935 637.236]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 590.694 285.651 601.598]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_86691cc44e4ef41d379ec2477221f0de) >>
+>> endobj
+891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.467 590.694 399.383 601.598]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.571 274.286 226.746 285.19]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_6d24fa81c885803e34fadd9332287d2e) >>
+>> endobj
+893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.027 274.286 305.623 285.19]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.525 274.286 453.251 285.19]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 274.286 513.996 285.19]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 262.705 178.862 273.235]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 215.734 293.581 226.638]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_6871446de8be708c37b2bedbf12c9b76) >>
+>> endobj
+897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.397 215.734 372.993 226.638]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 169.136 315.678 180.04]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_08a4701b629d734ea0e11231a34514b0) >>
+>> endobj
+899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.494 169.136 395.09 180.04]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.716 122.539 304.36 133.442]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_b67c8dacaa1610fe5ea9efe67263477d) >>
+>> endobj
+901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.786 122.539 383.382 133.442]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.546 122.539 504.154 133.442]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+910 0 obj <<
+/D [908 0 R /XYZ 90 757.935 null]
+>> endobj
+911 0 obj <<
+/D [908 0 R /XYZ 90 714.405 null]
+>> endobj
+912 0 obj <<
+/D [908 0 R /XYZ 90 678.766 null]
+>> endobj
+913 0 obj <<
+/D [908 0 R /XYZ 90 643.128 null]
+>> endobj
+914 0 obj <<
+/D [908 0 R /XYZ 90 607.489 null]
+>> endobj
+915 0 obj <<
+/D [908 0 R /XYZ 90 556.559 null]
+>> endobj
+343 0 obj <<
+/D [908 0 R /XYZ 90 446.062 null]
+>> endobj
+74 0 obj <<
+/D [908 0 R /XYZ 90 438.513 null]
+>> endobj
+916 0 obj <<
+/D [908 0 R /XYZ 90 340.316 null]
+>> endobj
+917 0 obj <<
+/D [908 0 R /XYZ 90 289.059 null]
+>> endobj
+921 0 obj <<
+/D [908 0 R /XYZ 90 232.529 null]
+>> endobj
+922 0 obj <<
+/D [908 0 R /XYZ 90 185.931 null]
+>> endobj
+923 0 obj <<
+/D [908 0 R /XYZ 90 139.334 null]
+>> endobj
+907 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F11 727 0 R /F83 919 0 R /F82 920 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+954 0 obj <<
+/Length 1928      
+/Filter /FlateDecode
+>>
+stream
+x��Z�s�6�_���f" 	�L�zNs�6m��7��t44	I���v��wA��(S��H�݋I�����O;[;�Z��fq��{N�"N�s�q"�� F�s�:�� ����e���U��ZQ$b����2�+Qm�D�Ϗb#�%	]=
���y��n�_|w������!�N,@�ǜ$_|�
;)��`�E�s���
�z�̜_�,�=��g�
�{� B�C��gJYw�~��iŀAY4vX���s~�&x�h	,����Zn�}Yl*��}�k?c��R$�9
+i
�7��8"�
�Du���<tV���1#��J�d2�^�
(��8�;���
,�(���Hm��G���6���D��}A��>yJ�t��L��!D^H�9���!J�~FZ7sT8"^��A�̏B��jEB�"&���`i�h��"�xEz��(zN�����mp�m�Ȱ��X�ؽ�3�ƍ�����4��l^$eŝ��ӈ�ب�f'-�<�}I���U���
\�W��KU����Ɏ)�(���,3obI�{'����̂�V�/�D\��i��������;+�G�g��-�F�b^ܘ�7�<Rv�G�����G at r��<�3@(8TN΀�=P�%��u*sQ���E������n
�C��}ux

 �c��p"9E�{�O��0�؏���J�F2� �����!ltv=:��Q�Ý�>�G�ن�O}�3d>�axgȢGPK��,)Ӫ���#��0:
���O���9������ƕ��'�[�)��l%x}����/��=:�U){t�f���{��\
(}�Nq�����wq%���H��
+�
a�)�,NH-���hi�5
+�Ohp�|`��ة\mE!T[�!���n�{nh����4��ŶK+:�Z��;����*
�av!L�T��\S�J�
��� R�5���
�^��&�!ޅ�p"
E����?���#E�V&�f����Rղ�w�
�BGcc"��$�	h�JA >hP�m&|w��\���w%�
�n�֍YUǍ�5�
>}76T�č%,�2���č��i�L
1�h�o�``�#
�S� ��B
�@ZaŅm�^���..�TZ*�P/��{�9+8 £g7�P_��B��\ev-�r��˿k�imu�Y��]R춝�CyW�([�/���N��wE�6W?�
<�&c���-��e3�RO�/�����
.(�E|��?�u���r�&U�\;ǣ�/l�D
EP'��s��6�*����~&�*a
1B�J�Z7������"^�BF'q����v?����R����=8`�
�r93f��gM\���d��E���`5G��߼=	�n�l�htQ��}d�2����q#l��u$!�Rߟ]*�3TC�ƴ
w2��|g�`��#�a��z'��S��D�3<P}��2Dz�"�_&���D�u���Ec�����
+�'��.�d at RN`��o���r���N��/m��!K;҉#�
B�s8
8P�
�T/��"ݘd��S���ep�R ��T
+/	$CBN�����9��o7��d$mL��ϑ
+Q0���O�)�v{L!>�
���ʈ؋�7��e���7�N*Y6���D%X�ڠX��Y��}(E}P�l��+C
1��^��+b���s��eDm�Tw�$S1UvS6:�
�{�-��n�J�A�S��=�����!�Q0��
+�
;�i��6��m�l���9�9���nNVcX��Y�FA��x
J7]�f���~	7vC=�~���NX�;���*F�ɬßp0z
��k���
E
��6�E��C~�ڎ���T��ie?���*��޵
��mo��/(&

+���f���Ǹh�l9x�;����K���'e%��}�-�}�h��ӿ���<��
�
ѱ��5M������
%5j
YVH6W ��5�H�C�2 )W��`�h�6�5����I@t��?^���
+endstream
+endobj
+953 0 obj <<
+/Type /Page
+/Contents 954 0 R
+/Resources 952 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 801 0 R
+/Annots [ 903 0 R 904 0 R 905 0 R 924 0 R 925 0 R 926 0 R 927 0 R 928 0 R 929 0 R 930 0 R 931 0 R 932 0 R 960 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 949 0 R 950 0 R 951 0 R ]
+>> endobj
+903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.709 708.995 313.911 719.899]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_2845e4528b7b42c6c6527daceee21312) >>
+>> endobj
+904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.329 708.995 393.925 719.899]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.388 708.995 513.996 719.899]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 662.254 234.723 673.158]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_0399dc1a987546af5d0491e72a6a05e4) >>
+>> endobj
+925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.538 662.254 340.146 673.158]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 594.548 279.554 605.452]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_5e1c7e98053b2262c5f56c46e2f04f05) >>
+>> endobj
+927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.37 594.548 384.978 605.452]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.881 594.548 478.237 605.452]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.49 559.762 256.12 570.666]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_553952be8bff48ab2a4a8b2820efc047) >>
+>> endobj
+930 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.32 559.762 364.928 570.666]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+931 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.446 559.762 465.803 570.666]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 559.762 513.996 570.666]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 548.181 178.862 558.711]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 513.022 297.268 523.926]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_b76a7c2b32bbc5472f87b3fae17f5a0d) >>
+>> endobj
+934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.083 513.022 402.692 523.926]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.594 513.022 484.075 523.926]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 478.236 245.253 489.14]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_10d11983038c7047547f4a68f8ea2b70) >>
+>> endobj
+937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.069 478.236 350.677 489.14]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.58 478.236 432.061 489.14]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 443.45 225.318 454.354]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_caca085247f8483085877e21527a9cd6) >>
+>> endobj
+940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.134 443.45 330.742 454.354]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 364.785 242.484 375.689]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_f61686ed9ede21b05016ee29f9de882b) >>
+>> endobj
+942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.299 364.785 347.907 375.689]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 330 245.801 340.903]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_4ea3e6a8b8e929e318a5c1c450667d10) >>
+>> endobj
+944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.661 330 411.269 340.903]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 295.214 250.782 306.118]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_dd70a09fb9b3cb0b8b7ce79d8d9ec14c) >>
+>> endobj
+946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.122 295.214 405.73 306.118]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 260.428 256.869 271.332]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_29295feb65378f2ba04c202f4b9a1bb3) >>
+>> endobj
+948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.685 260.428 362.293 271.332]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 225.642 251.33 236.546]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag_f39f78c492db753013cbfd0177ffea60) >>
+>> endobj
+950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.146 225.642 330.742 236.546]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
+>> endobj
+951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+955 0 obj <<
+/D [953 0 R /XYZ 90 757.935 null]
+>> endobj
+956 0 obj <<
+/D [953 0 R /XYZ 90 725.577 null]
+>> endobj
+957 0 obj <<
+/D [953 0 R /XYZ 90 678.836 null]
+>> endobj
+958 0 obj <<
+/D [953 0 R /XYZ 90 609.108 null]
+>> endobj
+959 0 obj <<
+/D [953 0 R /XYZ 90 576.344 null]
+>> endobj
+961 0 obj <<
+/D [953 0 R /XYZ 90 529.603 null]
+>> endobj
+962 0 obj <<
+/D [953 0 R /XYZ 90 494.818 null]
+>> endobj
+963 0 obj <<
+/D [953 0 R /XYZ 90 460.032 null]
+>> endobj
+964 0 obj <<
+/D [953 0 R /XYZ 90 379.345 null]
+>> endobj
+965 0 obj <<
+/D [953 0 R /XYZ 90 346.581 null]
+>> endobj
+966 0 obj <<
+/D [953 0 R /XYZ 90 311.796 null]
+>> endobj
+967 0 obj <<
+/D [953 0 R /XYZ 90 277.01 null]
+>> endobj
+968 0 obj <<
+/D [953 0 R /XYZ 90 242.224 null]
+>> endobj
+969 0 obj <<
+/D [953 0 R /XYZ 90 192.339 null]
+>> endobj
+344 0 obj <<
+/D [953 0 R /XYZ 90 83.547 null]
+>> endobj
+952 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+991 0 obj <<
+/Length 1849      
+/Filter /FlateDecode
+>>
+stream
+x��YY��F~��P��*<;�FmR�
+R��Ȯ��#��W�,I^��>=�.[�6�B�4����u��#�,
��6z:]������3[8v|� N�3��7c�ɔ`���u:�geU�IVͯ��J���'�,�*/�U��L)��t-�H��+��ń���T��c�N��^�~��>�ȃ
���>�w����;����������Q+ǥ
��s=�{�wt!��Z���**\��cC�L����]g��wkY��a��b�EU[�׼0
������<�F\�^j�Kd {y�5��dQ�����tFr�|�+6X
���٢��
cY����C����?��� ��#ʘ3e	էF^�4��5̋�0Gm�s�W^ك�nªn��v��md��������9K��P�sG�"�� ��[
(m"@M��,�KY&�l%��j������v�ѓ0�r��=�ՕRޛ⼙r��B��VT,�']�jGuj��P>�
��j�2��
Nt�
]iע����F�[���ɻ(�b�T�90�:&z�F
s}@X�J����M�ƵKZ��	����G�OJ��;ǹ-�k���֐��%���ń�cY��ӵ"� �]mͨ�b�4i|
�� ����Q�4(���B�|Q�Ψ	�!*���q
+"�~�9U��V�:���u�/��
+^�%�B��q5R�)���3�!��30Hj�yX��f���Z��;ˇY�;ӑ/pM��ߘf��Cĭ���q�x��*3���T{�J&�$֙S+Nd��$����Z.��~	H ��#� ���\�����K㸡�Tg��i�Cm����C\>�ǕEt���|��o�
�q
��
��P��T4�`T ���)��K ֆ'HP����&��5x)�B��#������>�X�����Sx�|~
*�{oQ{C/���Ƿa��a�@����B��u"��P|rm˂�&�˯����n���=�6@��,n
+ۗ�IQ��6IS����&LS�
�ewr*�RƟ��u�
��	����綐k
:�I]�E�S��F������L*+�lPPN�����u�BM)WW��M���_��P� �L�G�N�M.F���.�У`����:��q�2�����d�vZ��倡��q>�e��]��
���
�X�@�wq�^C�c�Ɠ�� ���a�{(B��4H���C����B��C<L
+���Vh���@����2߽I�
�G�
�.
������S5��3�-��
��'�B�P>�$�wHz��$?=0����]�jS(˄Q��K�[�Ҽ�4R1��f
���q�0M�&v�,
�+P=m��R��\�@�� ���[I�����o��.R3%��T���m���k����rv]mR���~��DU��)�7�
�JU�@z�/��oD��sY�I*�;ɨH��"�q���`[G��@yo�e�7���ξ�U���m�>�
�K�v�u�k��v�B��4�����Q�2�
�b���J�bb�]<_�Y�.
��۲]�&��A�CYF���a;ڼ��^��Q��
��q��B
+�%p8oO����0��}�G�n��?�X�*a'n������:���za'�,�4���b�
�u4���x�X���d�����/�	�c����3
+�!l��/J���z(�A �
���]��R�,�{��w72.����",,�پ0[n¥������R��J־���Is����EٜFhȺ���T���
_˺R0f��ԭ�G:f��Q�C�i�MU�//.��-�J�ɒu���,~�_���/�m�H�U^ظ�X{ � ����IW�h� ����
+endstream
+endobj
+990 0 obj <<
+/Type /Page
+/Contents 991 0 R
+/Resources 989 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 801 0 R
+/Annots [ 970 0 R 971 0 R 972 0 R 973 0 R 996 0 R 974 0 R 975 0 R 976 0 R 998 0 R 977 0 R 978 0 R 979 0 R 1000 0 R 980 0 R 981 0 R 1002 0 R 982 0 R 983 0 R 984 0 R 1004 0 R 985 0 R 986 0 R 1006 0 R 987 0 R 988 0 R ]
+>> endobj
+970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 577.122 314.741 588.026]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_061420fd93cf031e877897142071c67d) >>
+>> endobj
+971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.557 577.122 481.613 588.026]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.849 541.9 483.414 552.804]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_60ac68b3806bdf2e8b4805d661c52def) >>
+>> endobj
+973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 541.9 513.996 552.804]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 529.945 270.438 540.849]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.842 529.945 484.911 540.849]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.57 483.764 487.693 494.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_dc0293455632f1e58de03ee68caa785a) >>
+>> endobj
+976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 483.764 513.996 494.668]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 471.809 270.438 482.713]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.543 471.809 476.612 482.713]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.173 436.587 338.25 447.491]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_18f6401539b34122053f5d76da0c3282) >>
+>> endobj
+979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.132 436.587 513.996 447.491]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 425.006 163.61 435.536]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.84 355.727 349.582 366.631]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_93c2b042e4c644ba6052c0a0130c74ff) >>
+>> endobj
+981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.132 355.727 513.996 366.631]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 343.772 163.61 354.675]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.051 343.772 274.034 354.675]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.277 308.55 342.404 319.454]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_bd830cdbf47ea1e5f0cb88ba4e3dddd7) >>
+>> endobj
+984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.392 308.55 513.996 319.454]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 296.968 129.857 307.499]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.869 261.373 346.554 272.277]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_9427aa22f07ee35e906d05bcd352e1e9) >>
+>> endobj
+986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.132 261.373 513.996 272.277]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+1006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 249.418 163.61 260.322]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.07 249.418 363.139 260.322]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
+>> endobj
+988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+992 0 obj <<
+/D [990 0 R /XYZ 90 757.935 null]
+>> endobj
+78 0 obj <<
+/D [990 0 R /XYZ 90 733.028 null]
+>> endobj
+993 0 obj <<
+/D [990 0 R /XYZ 90 642.422 null]
+>> endobj
+994 0 obj <<
+/D [990 0 R /XYZ 90 591.79 null]
+>> endobj
+995 0 obj <<
+/D [990 0 R /XYZ 90 558.591 null]
+>> endobj
+997 0 obj <<
+/D [990 0 R /XYZ 90 500.455 null]
+>> endobj
+999 0 obj <<
+/D [990 0 R /XYZ 90 453.278 null]
+>> endobj
+1001 0 obj <<
+/D [990 0 R /XYZ 90 370.395 null]
+>> endobj
+1003 0 obj <<
+/D [990 0 R /XYZ 90 325.241 null]
+>> endobj
+1005 0 obj <<
+/D [990 0 R /XYZ 90 278.064 null]
+>> endobj
+1007 0 obj <<
+/D [990 0 R /XYZ 90 204.73 null]
+>> endobj
+345 0 obj <<
+/D [990 0 R /XYZ 90 83.111 null]
+>> endobj
+989 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R /F72 202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1041 0 obj <<
+/Length 1864      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~��@�Cm)��
3 at RUj�n����d�>$����F�� ^���=�
cl���*O
0̜���ˀ����?/nWׂY
�������8%�Mh}:H��c<\.���4ɋ̏�b�q�r1)��hL9
�N
+�M�@��r*�q�2Q��+
1d|����������E�
��
ƭ`1��[!<ca�<�Z���M\c�����O�8���!,�9����9nY	[cj#f{z����������~��t�E���4Ӄ�D��49�;��[;Ђ�z���$�W�����Lΐ�z�/=k��Ab3A$�̥�
�{�s����j�kceLl�(c֘Q��A���4��-pԈ�1����x���E5��y�gf����B.neֱ6��H��
+*յ� �qX)��8Z

�UP�Y�T/�[�G�d!+w��}%��[�u�$
�
6!�a��ϔ�O�Oc(U�Џ5���ȇr��Qy-�#ʇ�]8wWT(��]r+:�ж�(�
�V��3ƬǷ6�\RC-�xġ�
�	���.�
�
�ƙ�ƋU�5��U.�ŦM=N�m��*ͺ�\gQQ�U_��2����kT9���a6b�P�yM�Fv*��ki�'m)H"�
�k�=8|�K<e$�1�$�&��,���b����b���K!�a
�
@����#��1h/�
��@�Jr��`KL��
+,�H�E�eAǘ��/:�A�g�t�-��n������j���nD�ǁ����M=��e2V��<%Td+�v�)�-�H��U*�7��ʢz�G�,�E���.z�)��}o�#}�&�F������ܘW��%{%@�:ui� �#�Ԁ}�
+R�G�a6����eu�S�����8�� �@�ulrG���T,[Խ	�����(H8���^4�O&P*? ���Yc0N���Y�]Q�V%�65W�	Z�2?/�(�L�M"���zo�ax����o5���׃Mh�H��C�"o��:�IV��u��ljP����+%���}���y�t8ȫ1�����~z�ߙ�\� �N'�d~�.
Oo{�:��<a^
��Z���K�'�"�N�V��ڮ�
�[u���Ძ�68�a@@�>
��5ʱ�u<DI
����E"Ű
?g�%�zy�(~���/�0�Z������;?�B�.�kߛH�������"��f��ᮘGf���uD��4��J��
�e&d-�$,�"��<K�GA��:�cӮ*��ɤX�qU{���DZ�s
F̞s
0�@��b�JKծ�O���W��xW���M�h��h��sHՃ�
'RB�
��K?���3�	y�x�r)��ʂ0���Z
;)6Ky��*t�{T=u���w�ˡF휪���G{�
 [...]
+8�w�#��,O�4˖���L�8U�Io�"��ʘF^P�Sv�Ȼ
�R
#�z��m��:Yx	n)�;�'�_��<+���c�[|b�lr��d�C��̫S�Qm�$M�E�E~\��S<oGӖ�� ������l�����(:�~>�GQPL�D~�,&����$����`��+���7�
qp�{�s[�5�vr!#�PQ
̄��{D<�^@�|�{���U�=]E�sQ�
v;����S
�J
���d�� �=�>ܭ���D�$u
yZ�CmQ�],E2H�
9�mo�e�
���3�X-wĜ��q�/�p!T���	^��AY�(������87�o*�/�-
lߧ�f.�����f~f��K��Of+&ۿ�U�K�r��<�|hx��O �6��Nm)����G��$L�� �@G!�rX��U��
��n�����=/�峫��z��
��h�����]�6(�*"�SW����E��c� �]�;���
%0q�N
+u
�?>!�N
+endstream
+endobj
+1040 0 obj <<
+/Type /Page
+/Contents 1041 0 R
+/Resources 1039 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1061 0 R
+/Annots [ 1008 0 R 1009 0 R 1010 0 R 1011 0 R 1012 0 R 1013 0 R 1014 0 R 1047 0 R 1015 0 R 1016 0 R 1017 0 R 1049 0 R 1018 0 R 1019 0 R 1020 0 R 1051 0 R 1021 0 R 1022 0 R 1023 0 R 1024 0 R 1025 0 R 1054 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1030 0 R 1031 0 R 1032 0 R 1058 0 R 1033 0 R 1034 0 R 1035 0 R 1060 0 R 1038 0 R ]
+>> endobj
+1008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 575.498 254.976 586.402]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_b1988eecd5bca9d4ad8dbd128c885b9b) >>
+>> endobj
+1009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.792 575.498 362.083 586.402]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 539.454 327.474 550.358]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) >>
+>> endobj
+1011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.289 539.454 434.581 550.358]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.057 503.41 327.771 514.314]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_6b54d1a028c5a0eff158b33ce1a6670f) >>
+>> endobj
+1013 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.538 503.41 436.829 514.314]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1014 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 503.41 513.996 514.314]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 491.829 176.352 502.359]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1015 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.102 444.452 360.136 455.356]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_984fd654d7b169e74d13f6207d48fefb) >>
+>> endobj
+1016 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.948 444.452 467.239 455.356]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1017 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 444.452 513.996 455.356]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 432.497 236.685 443.401]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.596 385.494 368.188 396.398]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_56d19de5207d94e358a433995ce9730c) >>
+>> endobj
+1019 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.494 385.494 474.785 396.398]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 385.494 513.996 396.398]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 373.539 236.685 384.443]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 337.495 262.418 348.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_0d28be41ac786db82ce3cb24e2db5543) >>
+>> endobj
+1022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.234 337.495 395.537 348.399]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.771 266.329 315.914 277.233]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_d9b9ef9435b7a3bc8d92435ccf1cc0d7) >>
+>> endobj
+1024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.395 266.329 457.699 277.233]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 266.329 513.996 277.233]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 254.374 190.738 265.278]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 218.33 263.534 229.234]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_442076de6b59703f82c552f7e70aad72) >>
+>> endobj
+1027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.35 218.33 396.653 229.234]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 182.286 327.732 193.19]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_1b4e8ec21c2f4b2b925c4e11474062b9) >>
+>> endobj
+1029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.548 182.286 460.851 193.19]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.728 146.243 261.237 157.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a975ef75ddb5359966ff21eecca491d0) >>
+>> endobj
+1031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.675 146.243 394.979 157.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.157 146.243 513.996 157.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 134.661 189.622 145.191]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.517 98.244 255.424 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb) >>
+>> endobj
+1034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.651 98.244 390.954 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.157 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1060 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.662 189.622 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
+>> endobj
+1038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1042 0 obj <<
+/D [1040 0 R /XYZ 90 757.935 null]
+>> endobj
+82 0 obj <<
+/D [1040 0 R /XYZ 90 733.028 null]
+>> endobj
+1043 0 obj <<
+/D [1040 0 R /XYZ 90 642.237 null]
+>> endobj
+1044 0 obj <<
+/D [1040 0 R /XYZ 90 590.372 null]
+>> endobj
+1045 0 obj <<
+/D [1040 0 R /XYZ 90 556.35 null]
+>> endobj
+1046 0 obj <<
+/D [1040 0 R /XYZ 90 520.307 null]
+>> endobj
+1048 0 obj <<
+/D [1040 0 R /XYZ 90 461.349 null]
+>> endobj
+1050 0 obj <<
+/D [1040 0 R /XYZ 90 402.391 null]
+>> endobj
+1052 0 obj <<
+/D [1040 0 R /XYZ 90 354.392 null]
+>> endobj
+1053 0 obj <<
+/D [1040 0 R /XYZ 90 281.203 null]
+>> endobj
+1055 0 obj <<
+/D [1040 0 R /XYZ 90 235.227 null]
+>> endobj
+1056 0 obj <<
+/D [1040 0 R /XYZ 90 199.183 null]
+>> endobj
+1057 0 obj <<
+/D [1040 0 R /XYZ 90 163.139 null]
+>> endobj
+1059 0 obj <<
+/D [1040 0 R /XYZ 90 115.14 null]
+>> endobj
+1039 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R /F72 202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1084 0 obj <<
+/Length 1777      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ ҇R��ރ�#)
+�9
+')���S
����G��
���
�dʷ] ��j�3��7��r����ϓ���9�|�;'K'�N��)qNR��`� c��6�/ˢnd��i��
ʱ{T4B.�D��Ob)䜄�(�#Jq�?�v�v��d�����C�8�g�I�ٗo�I��[#�ιޕ;
ep�8dzf؞z�������� 
F�e�ܨ�G]g��6�lJu"P�~�B� RoO��lK
I�'6�e���=w㦔�ɳ�{e�ꙹ��vo��6Ej�r�/Z�B̳��nD>q|J#�����ct"�}V=|�� 
F�3�:�Rψ�J)Iq�,8�E
�<V��+��Oz���M�Z���v���_1�{�iI�L�)qI
ɤ�;�M}�8
�P�F�O��J�"�xl.UYgMv�|F"���{�]�	�V�-�r�a�7bW;���t
��{��fcV�R�"=P���
	�o=�Ns����&�1��[)Yc�dy��(�Z�>J��Xf1x���
%>r���

̤�#X`��
��-�+!�qe�0�h#�ۺ�-�2��r�r����զ���dd:�]�=���/,>�b�ݘ
�6pS�}N���~\A [��-ꫣ�GԈ^$� S,@�ӛm�(s�Դ�m��
_�E�fˋ
n��n�;^��`�C ��Q8وX�-��(z�R�󬅜	���k�-
j���3����킦�A�vQW]�M3���īIm��o��1D�g���
� kL�4+j!�L�+
8���O��W�����c�Y,D
�P�5P�5°Ꙅ�MI<D6F䑶H��V���
+�	�� g}R� Y�|��b1Y
+��RӰ�x�s���l�8+�A��$0����E"�:�s��;m�!
��h��j�
~�6p1/��	i3+O+��t	�OP���}Z�?JM��' V
?����I�E����Q7i��*�E4��V�F
E�O<\
�\�ҕo�޿6j�!^\)�ԇ*��]#
<���O�����|
|,��#46��DȘPVP_[)M _~�b��>
!�C�c(�o	�dm��K �a6�
 ���P��� �F�
�D4�ĚC�W&
�܈��j���,<�֍����|�%*���٬o�Z�gY<٣������:P5��c��)�ޣv�q�d�i�ͫ��W�'{x�1�Խ5m�����ct��ۊ�r���
+��ԃ^��sS�,��ۿԝ l���>.�E

+��ڔq��]�u��P��
`E�+
+T
�h�����C�
+��{��q�5��B�����
+�F�n�������("<h������+��٦��W�NdVi�/��<1��N�!v/���o���x�ҍ|������ͨG�V��'me���6��Re��,c�4�T	�k� 
Q��g2�۳

���r�8�


�(�P�P!�o
�w
���6�S�Y���%%����W��O�Kyiڲ,!ok��a��fn��q�C��)ʦ
������t-��j6���1# jk]#�A��id/x�}�k�#x$|��_���lS{
B;9CA��o�@s��Ђ��F�B������#/�~�C�����0��� �c>_�������/s[�},7k�J{�>�.հ��U�Xm�zr�ϵ��*����ƛy����+���WIA�Jv�|,���1��]��i���Q�#���MS=?<<??GI��EVI�5����ӌ^
+!

+����'/�h�
|Bj
+�7���
:�Ѯ��0%Q
+endstream
+endobj
+1083 0 obj <<
+/Type /Page
+/Contents 1084 0 R
+/Resources 1082 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1061 0 R
+/Annots [ 1036 0 R 1037 0 R 1062 0 R 1063 0 R 1064 0 R 1065 0 R 1066 0 R 1089 0 R 1067 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1081 0 R ]
+>> endobj
+1036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 696.998 253.014 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_c19488a8f4e64cb797b8402ea44b456d) >>
+>> endobj
+1037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.829 696.998 386.133 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 612.624 257.985 623.528]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_f8ebe9c0ce769746c2d2d01f6fcb4c91) >>
+>> endobj
+1063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.8 612.624 365.092 623.528]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.768 575.762 315.922 586.666]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_06731c2e3b3d14dceffb5b81f1447bc8) >>
+>> endobj
+1065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.4 575.762 431.692 586.666]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 575.762 513.996 586.666]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 564.181 176.352 574.711]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 490.392 270.179 501.296]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_4316d3e1fd40ef324f4f9ac970481c9f) >>
+>> endobj
+1068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.995 490.392 403.298 501.296]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 453.53 273.496 464.434]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_7a018b29b6f334f666391ec729265c25) >>
+>> endobj
+1070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.356 453.53 466.66 464.434]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 416.669 278.478 427.572]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_3bd9634d21689bd4b0cbcb476a101e92) >>
+>> endobj
+1072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.817 416.669 461.121 427.572]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 379.807 284.565 390.711]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_5e22cd8ea46cdef0e09027e6177fc838) >>
+>> endobj
+1074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.38 379.807 417.684 390.711]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 342.945 279.026 353.849]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_c8105464b2dbee48f8646bc2c2f1f2d8) >>
+>> endobj
+1076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.841 342.945 386.133 353.849]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1085 0 obj <<
+/D [1083 0 R /XYZ 90 757.935 null]
+>> endobj
+1086 0 obj <<
+/D [1083 0 R /XYZ 90 714.099 null]
+>> endobj
+1087 0 obj <<
+/D [1083 0 R /XYZ 90 627.703 null]
+>> endobj
+1088 0 obj <<
+/D [1083 0 R /XYZ 90 592.863 null]
+>> endobj
+1090 0 obj <<
+/D [1083 0 R /XYZ 90 505.47 null]
+>> endobj
+1091 0 obj <<
+/D [1083 0 R /XYZ 90 470.631 null]
+>> endobj
+1092 0 obj <<
+/D [1083 0 R /XYZ 90 433.769 null]
+>> endobj
+1093 0 obj <<
+/D [1083 0 R /XYZ 90 396.908 null]
+>> endobj
+1094 0 obj <<
+/D [1083 0 R /XYZ 90 360.046 null]
+>> endobj
+1095 0 obj <<
+/D [1083 0 R /XYZ 90 307.617 null]
+>> endobj
+346 0 obj <<
+/D [1083 0 R /XYZ 90 194.674 null]
+>> endobj
+86 0 obj <<
+/D [1083 0 R /XYZ 90 188.074 null]
+>> endobj
+1082 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1131 0 obj <<
+/Length 2106      
+/Filter /FlateDecode
+>>
+stream
+x��ZI��6��W���Bc#	fj�O9�$
�S9xR��Y�H$[����p�Z�-yr"��[��B�[{�������͛�y�x�+/�^�S��&އi��ٜ`��E�Y�γ�Rq�U�*^����ӷY%�*^J��^���1������)
g��0��v�����#�$�g���N>�����0b��vf����s��:����2��R�^n�J&��7u��R�\�p��ǽ�7�
1
����}�s^9V���jF�t��r�,w?n��X6�Us���a���yH'
��>�ԑa�\/�\����ߔe�ζ2s�ƙ��;�,�;m�'a��pA<b�WJ��O�s�
�u�ZKj����,�80@����]í8��8��P�鞔�q?9=a6�M�"A�5���>�o�_��?������O�� �<[�����
�����i��oNB���0 |P�C��ۙ���B��VrsL!� �}0����^�
��İH�
,g�hg�$��0�4s [...]
+�/ g
*uFk����
+/O�
+sii���:�8����"`�'^-C�#�0�=��dz
N�xq��(�|��
�;������b5#��6�5\ΧPZ$�y>�\K4"�|~����;
�uV�UZ4�3 �j^A*3p9���� �Pc�pf�}�(	e��1��ӿ��
�E��5Z8�5Z�!�S��”5Z�4F
Oc�z�Q��_V�gR���s`� 
+b�P\�eZ�����z�2��fg@��ʜ����/�U��A��o}���I���ï]�{KB���ɀ�m"$����`����|��̏Y�s
�]>�}
	��
�1�1�wxHc~?01>��~�� X��}k���".m
],jU��N��+�bN����D^���u���G�Qt]�]�|{$��t�������i�lV{�
+���a�|�� ���M���SWD����㱌����V6cXh����r��6:���"&r�5P��N[��0�� :���9Ħ��r��vH��b�.�٨�b�dӶ�>��}��}C�ŻZ�� 
��TO��%-�@^c���B��.�Dnd%?:vdc*�͠�{�7i����pt�] [~=���N#�}����G]�4g��u"O���s)�,I3�mss��h�l�K7��4��AfԖ�W����72.er
!�U 9��F
+
P�
R�����ڟ�V�?�$]=8= �+u���@eR�E��^�gx���E5�
�����s*���A���ط��{�u�S1�[�
KqQ@;g��v��}��s�g:CJ �ۗs�}P
���%\�{Y�*�@C�^�;
�� /�_I?�z(�D�
+#>��2�+]�>�2�O�V�Q�>��3��Ig�y���JG�3��Mi�x \G:h�
��,{Q+�7gi�=@*c��3���:;�@�bGDOq{�}�Uj�j#���=�L���L;�@kD�c�	H/�3zY7�f��6_�L�u������������O+P���M�g�����3�+�Ғ\	WPH�(��~��������ҏ��݃��p��^�jP�%�h�@?� �Iw���cw�f�\7*�21w��4E&�G���
]ٯڋ�]>��. at q�6N��F��c2�+�[i�l��1�J�B	]�`�a/01��bКǃk�B���8P�����<m���GCD�k��)�jJ�;�c��f�o
+��J��7��O"�fOk��u[V�e��UQ���W����mV���/u��?"�S��
X_�/
+�M����>'}�	
�A2ѵ�?�t��z(]'�J�z���(��m���Y�0�Ug�����T�(gm���G����o���΄�u
�w���^&ʽ��ީX�������u
�e�:�R�)��6�W3�<\a
g�]��ƒ>R��
���J�5�L�W٤�V
�f��Ĉ�c�>��i�WU����n�C��YZ(�V7 ������B �
[=�V��Us3�)�țC�
I��iwj�޾BA��
�6
+endstream
+endobj
+1130 0 obj <<
+/Type /Page
+/Contents 1131 0 R
+/Resources 1129 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1061 0 R
+/Annots [ 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1135 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 1105 0 R 1106 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 1144 0 R 1117 0 R 1118 0 R 1119 0 R 1120 0 R 1121 0 R 1122 0 R 1123 0 R 1128 0 R ]
+>> endobj
+1077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.658 649.041 222.207 659.945]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_0ed54f6ac264a58059f51c7fe33ab787) >>
+>> endobj
+1078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [227.575 649.041 296.546 659.945]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.903 649.041 448.629 659.945]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 649.041 513.996 659.945]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+1135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 637.086 220.377 647.99]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+1096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 589.831 286.956 600.735]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_b93e22d57d1f5d94ae97ba1b9de9e3f9) >>
+>> endobj
+1097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.772 589.831 359.742 600.735]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 542.576 305.646 553.48]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_bfb19498f2647b44344c6a84fdd6cd2d) >>
+>> endobj
+1099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309.461 542.576 378.432 553.48]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 495.321 291.499 506.225]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_702543ee828ef523fb5fe5ffdaf25925) >>
+>> endobj
+1101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.315 495.321 364.285 506.225]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.151 495.321 479.133 506.225]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 459.025 300.057 469.929]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_2d4948b195e743f39601a13610fcf94f) >>
+>> endobj
+1104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.872 459.025 372.843 469.929]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.948 459.025 484.931 469.929]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 422.729 228.097 433.633]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_c21bd81d2f33da4dc915020bf16c801a) >>
+>> endobj
+1107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.913 422.729 326.896 433.633]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 350.87 272.929 361.774]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_380ed65a246cd38c5ca3893b40eb4603) >>
+>> endobj
+1109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.744 350.87 371.727 361.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.63 350.87 464.986 361.774]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 314.574 221.462 325.478]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_8c466c744746ef7249afa54667470cf5) >>
+>> endobj
+1112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.278 314.574 320.261 325.478]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.529 278.278 251.533 289.181]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_1c416a6d6a359f2f9e9d33af7dc32ea8) >>
+>> endobj
+1114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.772 278.278 355.754 289.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.86 278.278 461.216 289.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 278.278 513.996 289.181]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 266.696 178.862 277.226]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 230.026 290.642 240.93]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_adbcd3b735dae0f714d1134cf8e6b911) >>
+>> endobj
+1118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.458 230.026 389.441 240.93]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1119 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.343 230.026 470.825 240.93]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1120 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 193.73 218.693 204.634]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_414a473844efce3515611fdc6b26e4de) >>
+>> endobj
+1121 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.508 193.73 317.491 204.634]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1122 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 110.912 235.858 121.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_9a30e394a9c84bb9d2debda31433e6b4) >>
+>> endobj
+1123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.674 110.912 334.656 121.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1132 0 obj <<
+/D [1130 0 R /XYZ 90 757.935 null]
+>> endobj
+1133 0 obj <<
+/D [1130 0 R /XYZ 90 716.221 null]
+>> endobj
+1134 0 obj <<
+/D [1130 0 R /XYZ 90 663.978 null]
+>> endobj
+1136 0 obj <<
+/D [1130 0 R /XYZ 90 606.79 null]
+>> endobj
+1137 0 obj <<
+/D [1130 0 R /XYZ 90 559.535 null]
+>> endobj
+1138 0 obj <<
+/D [1130 0 R /XYZ 90 512.28 null]
+>> endobj
+1139 0 obj <<
+/D [1130 0 R /XYZ 90 475.984 null]
+>> endobj
+1140 0 obj <<
+/D [1130 0 R /XYZ 90 439.688 null]
+>> endobj
+1141 0 obj <<
+/D [1130 0 R /XYZ 90 365.807 null]
+>> endobj
+1142 0 obj <<
+/D [1130 0 R /XYZ 90 331.533 null]
+>> endobj
+1143 0 obj <<
+/D [1130 0 R /XYZ 90 295.237 null]
+>> endobj
+1145 0 obj <<
+/D [1130 0 R /XYZ 90 246.986 null]
+>> endobj
+1146 0 obj <<
+/D [1130 0 R /XYZ 90 210.69 null]
+>> endobj
+1147 0 obj <<
+/D [1130 0 R /XYZ 90 125.849 null]
+>> endobj
+1129 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F82 920 0 R /F84 440 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1168 0 obj <<
+/Length 1806      
+/Filter /FlateDecode
+>>
+stream
+x��YYo�F~ׯ ЇR@�ރ�#-
+4q\$M�4Q��@eȕD�"����ك�DY�l�/&�\����|34�V�~���O.�\f(p�k͗V�-�%�Sb�c��!:#c�(��o"eX����MU��"ʳ�^$�Y���tF9�_g��
#��KQN�o�L.�
�f�������|�mB@
lu<��Ǹm&?c+��7F,�ڵ�
��Z&M�1�M�g!
r�
�2�]���D)W�7�Yg
�L��,Kuʕ��� M�nH�Ų(a�⥴�
��Zar�'���뷯䳋+��3q��.���`���
+|�쁃D�yvZ=
�N�Ũr�A;2x�\/�<j����H%f�QD�'o��8Z�w��J�
N�S�3J�;e8Z��\C�^���k���|[�z�
7@�yCnj
$���f5�3z���
�f�"���AMX�6�:,�`�q6G�#�X�C��
1���N�/�0M�h������*�d�)�����"Od�2�3�v�$�n��Ϥ��r�<[��2k�^'���E8�|�*��y�d�"�M��G d/�a%�"�n�c�<*�>�1A8R��2�&�a�����[�! /�j��
�~�
}�DV�u�7�i9&�=���6"� ���-p��|�?b�;�S���yxz(���xO�$h*��ljo���D�l\:+N"iYN
n�1Q�{Ͻ�����0�d�����
xj�F��/E
&iS:/E�I�,?��)��h1��B�>5B��,���27�<jQS)ݥ<����̛
�>O��2�,q��bkE)KI6m�
�B��Ske\�.�A�c���4��� [...]
+E����:n�yD$��rI����|�{���K�>�8
�th���`���Eڡ���I�J��3���Z�u
������d�y��/M��� �R��ጆ��
P�~~n#Ne8�תJV�̰��C�3[�폧
9��	r��p&T���y�|2��,
�2s)"�^�]�J�;s2s
p�^w�b��-)xY_w��?ʂ.
U�S~�
殄�C9kx���
�4 h�qlt�a��
�Jk��
��.�z

+T�}h���>�ZH�8�4%�	
�cN�p��χ���VL�M{@	 ��{�Γ���3��' �v�M0��P_
��m�zE�V����o7za�]u<Ľ�3�X�&��H�M-uT��Mn��e��К�
N�:�N1�+'�
k�5�R������ ;O���
����\���"���D��#��L5�WO�mU�5ۚ���6�҄N3�
[�#�3�U�G��ye4�[>b]eF: �08�H����)p�q���E*j�4�<
&#H�G�
`��������u�&qض-DL!<
�e��A��c��A����io~��]sZ��E� ��)�E���b�r�R��%i��Tu���x�����9a%���u�q���
+�28р�Ҍiݸ�>kf�H/�
�����^}5���9��S�������� ��T��\�ӡ��h��|Z��@�1��]�ެE\��o�/eXU_��0[mÕ���9��J@;
ӳ	�aOۖ�Z
)ʪ�<�P")JA�6����B�h7|����'
+��qԅ��m�Ⱥ�����E�fIQ����
�8��:)��k���C�&/������
z\� !�`�F}�@���6o.
+endstream
+endobj
+1167 0 obj <<
+/Type /Page
+/Contents 1168 0 R
+/Resources 1166 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1061 0 R
+/Annots [ 1124 0 R 1125 0 R 1126 0 R 1127 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 1178 0 R 1156 0 R 1157 0 R 1158 0 R 1180 0 R 1159 0 R 1160 0 R 1161 0 R 1165 0 R ]
+>> endobj
+1124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 719.912 239.176 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_90e279d0af3491d3cc793595e3e1bbff) >>
+>> endobj
+1125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.035 719.912 398.018 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 683.657 244.157 694.561]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_87fc73217faaf213d5b5a810272be545) >>
+>> endobj
+1127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.496 683.657 392.479 694.561]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 647.401 250.244 658.305]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_08451f3fa991dc14b1b8874bdefd7cf2) >>
+>> endobj
+1149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.06 647.401 349.042 658.305]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 611.146 244.705 622.05]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag_94ca29d276a68f3f75aa62c8ab6109e4) >>
+>> endobj
+1151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.52 611.146 317.491 622.05]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
+>> endobj
+1152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 292.164 313.058 303.067]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c) >>
+>> endobj
+1153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.873 292.164 478.246 303.067]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.532 255.908 481.73 266.812]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_cd03b90ea728537b78a669806309a5c0) >>
+>> endobj
+1155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 255.908 513.996 266.812]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 243.953 268.754 254.857]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.717 243.953 482.102 254.857]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.254 196.739 486.009 207.643]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_e2334b2eefe8cae2ad750dfea1f7cade) >>
+>> endobj
+1158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 196.739 513.996 207.643]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 184.784 268.754 195.687]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.86 184.784 473.245 195.687]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.254 148.528 321.648 159.432]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_51dfb5223b7487379681d4cc1583917f) >>
+>> endobj
+1161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.611 148.528 513.996 159.432]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1169 0 obj <<
+/D [1167 0 R /XYZ 90 757.935 null]
+>> endobj
+1170 0 obj <<
+/D [1167 0 R /XYZ 90 733.028 null]
+>> endobj
+1171 0 obj <<
+/D [1167 0 R /XYZ 90 700.606 null]
+>> endobj
+1172 0 obj <<
+/D [1167 0 R /XYZ 90 664.351 null]
+>> endobj
+1173 0 obj <<
+/D [1167 0 R /XYZ 90 628.095 null]
+>> endobj
+1174 0 obj <<
+/D [1167 0 R /XYZ 90 576.41 null]
+>> endobj
+383 0 obj <<
+/D [1167 0 R /XYZ 90 464.679 null]
+>> endobj
+90 0 obj <<
+/D [1167 0 R /XYZ 90 457.609 null]
+>> endobj
+1175 0 obj <<
+/D [1167 0 R /XYZ 90 359.273 null]
+>> endobj
+1176 0 obj <<
+/D [1167 0 R /XYZ 90 307.09 null]
+>> endobj
+1177 0 obj <<
+/D [1167 0 R /XYZ 90 272.857 null]
+>> endobj
+1179 0 obj <<
+/D [1167 0 R /XYZ 90 213.688 null]
+>> endobj
+1181 0 obj <<
+/D [1167 0 R /XYZ 90 165.477 null]
+>> endobj
+1166 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1203 0 obj <<
+/Length 1882      
+/Filter /FlateDecode
+>>
+stream
+xڭYێ�6}�W�Cm ��*JIQ�I� �i�}J��b�^���Hr
�}�]-���~��Ԑ3<g�
�����7�ד��>�B�����^�=�$(�c��T�p6'��f�޼Q�*�*/n>��J�o�h5�S��o�J�h����TŌS��W$8��p�������ɷ	���G�|B"Ʉ�XO>}�^
��y�0�vf����5�>N��`�v��A��H���2�}a
�L�0���y���J�ʽ��)Vn]̀ ��~/�n�ʽ�U�
6���&>c��Nb&���L3��z�~��	A�p>5�W�Y�
����q�􈱙���^�.:#~�1Ř���s�
�Y���g�5.)��>ן�	
�+
+����195p�Wa@��|�
+���
�cz�	,�]֮H�$s��ń���FY�:,W��޺v%�6m-�fOu
gDLu
�ag.�c�Q9�zJb8h#6�z��h<D��l��ێ9�
+%`�R$�������d�B�Uv�� �p�
��%�1
�
A�������ٻڟ�� Qq/�
�j|$��d�C��'G������1�B�	
"
+
���@!�y�P߶QzS��`�����J��T���rܽQ�����EV��,0�J_6y	�뻲O�1j�k@@�a2�&K���Uu�����"/\j��Yl��,KT� �
�Az�d�� ��X!>
+��n����<�,���9�¥�Np��
��"��h|��@�" ډb�KSi*td�z�	��(,{�)”ת)@��W���TŖ��T�(�M���H�İ4���f�3X�~�JWD2gc��ڀ{����aS�`�'j�����4��	�Xr�6`	�ie�շfZ}ә���V���׏ξ}�y�
7E�!�=��<���y��{7�b�K�����YJ�&���L�K�I�G���l��]��`�D�:d5
+;b�Bf�MY~�M���Ϟ��o�u���I��n����₌�^_�/����@����mR
z�>ܙ����5��E�
Ԕe�������:��g�L��Lk�*䄆0�����"�ݺ4�<�K��=g�A�k�s�~�(�x�0f�A!��z��t�	�P��ݒ�
ɰA�/#��-⍰�ƴ�g�^���f�_��wR�L�Fa��/i
��M N�PW��J
�
 �t/��.��q��_U16��<���Ö�._jۅN2O����2YeF�����:hrlZ�$ɺ?H��A�6���ǔ���
��$��~
[yv�F!
�`	���$�f٫Zo��a2�I���5��{�ek{�M����ϻj���>"���Z2�
+��p��ɽ}{`>�4�����kg����S���V�C�*�I���؁E��=Hq �X�>঄�J�b�8��3h�kp�!�(��Jjxv2��Fś�ˆ�Q�#��>�I�c��
�?��5��L_�G�[1����$�hS�/�{��]���|t�}
�p+
�i��
~���=��L��!�,�@]��
�x^��,���f ��i��G��q:���#��$~9~��6��{�H`p���8��;��"��|�
�'O�b���>��l��Z֋��n�l�C6
��}��M �%b����|Q�
�%N�eg�Qle�g�[L\�uf�x�#���DY,
C
++r���f�VM�w䀺l":d'���ؓǚ�GF��HS�Ⲻgv�W�C������kJ���h��!b�m�7a)�.���t���=��|-�
��{e�m�R�v�ׇ�[��g���=�+ʶQ:kd�w=�*ʦ��HK6�"LAA{U���
�^}���ĺuN(P���mUm�]]�v;�(�6K6J�+ ��a��Z!�6��^�SLB*Bo��tMd����9�8���L�R�
+endstream
+endobj
+1202 0 obj <<
+/Type /Page
+/Contents 1203 0 R
+/Resources 1201 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1061 0 R
+/Annots [ 1162 0 R 1163 0 R 1206 0 R 1164 0 R 1182 0 R 1183 0 R 1208 0 R 1184 0 R 1185 0 R 1210 0 R 1186 0 R 1187 0 R 1188 0 R 1189 0 R 1190 0 R 1191 0 R 1215 0 R 1192 0 R 1193 0 R 1194 0 R 1217 0 R 1195 0 R 1196 0 R 1197 0 R 1219 0 R 1200 0 R ]
+>> endobj
+1162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.524 719.912 349.582 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_cb94e9072062c0827a16766cef2c1a5e) >>
+>> endobj
+1163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.816 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 163.61 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.609 707.957 272.909 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.961 671.375 342.404 682.279]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_7d4bec3e6101e95b57973dcab5880a51) >>
+>> endobj
+1183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.075 671.375 513.996 682.279]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 659.42 129.857 670.324]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.552 622.839 346.554 633.742]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) >>
+>> endobj
+1185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.816 622.839 513.996 633.742]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 610.883 163.61 621.787]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.07 610.883 361.456 621.787]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
+>> endobj
+1187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 267.624 253.293 278.528]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_33e20d1de127c9232d2d1188bee532ef) >>
+>> endobj
+1188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.108 267.624 358.716 278.528]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.114 231.043 325.461 241.947]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_7752ae55e7cd4d014f6498348ef47865) >>
+>> endobj
+1190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.285 231.043 433.893 241.947]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 231.043 513.996 241.947]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 219.088 174.668 229.992]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.159 171.547 357.827 182.451]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_b1316806c765a595ddfa4de5e8d971f6) >>
+>> endobj
+1193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.696 171.547 464.304 182.451]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 171.547 513.996 182.451]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 159.592 235.001 170.496]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.838 112.051 366.064 122.955]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_f5253fb7ef85e1875cc453d9a9998459) >>
+>> endobj
+1196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.612 112.051 472.219 122.955]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 112.051 513.996 122.955]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 100.096 235.001 111]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1204 0 obj <<
+/D [1202 0 R /XYZ 90 757.935 null]
+>> endobj
+1205 0 obj <<
+/D [1202 0 R /XYZ 90 733.028 null]
+>> endobj
+1207 0 obj <<
+/D [1202 0 R /XYZ 90 688.406 null]
+>> endobj
+1209 0 obj <<
+/D [1202 0 R /XYZ 90 639.869 null]
+>> endobj
+1211 0 obj <<
+/D [1202 0 R /XYZ 90 564.87 null]
+>> endobj
+384 0 obj <<
+/D [1202 0 R /XYZ 90 440.531 null]
+>> endobj
+94 0 obj <<
+/D [1202 0 R /XYZ 90 433.714 null]
+>> endobj
+1212 0 obj <<
+/D [1202 0 R /XYZ 90 335.305 null]
+>> endobj
+1213 0 obj <<
+/D [1202 0 R /XYZ 90 282.633 null]
+>> endobj
+1214 0 obj <<
+/D [1202 0 R /XYZ 90 248.074 null]
+>> endobj
+1216 0 obj <<
+/D [1202 0 R /XYZ 90 188.578 null]
+>> endobj
+1218 0 obj <<
+/D [1202 0 R /XYZ 90 129.082 null]
+>> endobj
+1201 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1251 0 obj <<
+/Length 1919      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~���2�^DJZ�v됭ۺ6�
�"Pd�f]&����w(��e�v���
�K(���|�"ao�a��7��뗂y���ԋ��8%���{7
P4��,w?�\V�*����Z��Nųјr<�ɕ��q"��9�Ո�C��[$
}��ч����X{�Y�(`�K���؛��=�Xz�ͨ��)���{;�m����
�8ސ�� 	�! ����Sʛ��wcb����������f�M�a"R�
ulϧ���
�,)�Z���o�Y
�����e@����R$|�	C<F�|���C�H'���1��[���|��zn�ߘ*<i&��_�1����ȍQ��Ξ��
���e5b�Pn-���_�E>Is
*{�0%n��t�0grD��A�j/+s�^n>��q-'�Wc���N 

+o
G?bF���<Q)�̉+s�]a������$���$m�l.{p�
^�|�)����~�K�ڻI�ɼ��gn
<���f�Ձ���8�X���"[qn���N�J��<�iB!�C�{���nG�>�B��dO��1����Q�k�*z<��(
ڥz�HY{���8�e1�ՃLZD5�ޑ'���޴��C$];u�Oc�֧�ЖN�D�`�1�?
��`Kf�Z��)��T�ʑEl%E��J �Դ<kx�Z1���
C�"�a�1�q� �Sũ[>�
eV�u����~�I���t���1��=

��3@�'Q
+#2���b�N�	����

�Ϟ`P#�\������{��� x�
�d���I�#�.&���t���뀟�����h���y�`�����e�:��]�Kc���<o3�
��Ůa�6�nIB}
+��9�
+�9�ͣp�哝�`����g;�E��G�
���bT�L�a��
C�x&xI�`�K�_��Dh���
6"4���
Cz#tʍ�asQ��^�]�Q6%
�M�*��+��|�"n�K_�i6���:V)Ȏ�t�w����I�r!!{T�2�c#�)�4��i�	�گ��a�8�
�m���䥬�q���+2�r�:
�mh���N�m\�y_�|>,̺9����ZN��H�:7�����Ǝ�6Ɣ�
+�-�g��@T[$�G�ğ�Յ��0���&P?W���O�Y���� �����ɮE��N��,M"�(�'`�u�Z��E�z��۪�\„O-�0
+��
,O(��D�CV�K6r���_?|�4
i!�h#���R�k�c�cғ�F#��/)�Փ3�
�
3���c��e_ZD"ǂ�fN�bk���(9�Kt��e}d"�:�V#~���K��v&�K�7y�T׿.
�Jk�|{�hZܕ��
��?�H_�M׽��e�A��=�k�H���$��]�ZM�e_*�(��3�0 ���&���4C��y����Ӂ$!l��OhA���*gW�7yt���P6������=Ȳ][���� Ă�z�
 �A��קA(��U/��w+B{`��؆���� *�
��fT� �+�q�+�2+U�
���V�U�sU7�z�����n
[Dnև4�-��QG�=2P�Z���:�H����q����d��� RY��L�;�2��N	&[	�w �K�,#5JلBi�Hn��&��+h	"T
u+�y��Aa^��"�N�_
[�"�\��<�*��
'�
<UB������W �9Q�?e�'���p{�
+Q�N�c+|����!�Ps=����@Q�B�1
+��6ſuI��H�2K鯋�j.'��|��W��h.����|��gr�c
�J�w�־�%I�5�2�������ֵ�	��J�b�No�{m����~4�_
GGt��+U~u}�����-�P���׻��zT��m[]YQI��c�;��q �W�.c���A��� �^�
+endstream
+endobj
+1250 0 obj <<
+/Type /Page
+/Contents 1251 0 R
+/Resources 1249 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1061 0 R
+/Annots [ 1198 0 R 1199 0 R 1220 0 R 1221 0 R 1222 0 R 1255 0 R 1223 0 R 1224 0 R 1225 0 R 1226 0 R 1227 0 R 1258 0 R 1228 0 R 1229 0 R 1230 0 R 1260 0 R 1231 0 R 1232 0 R 1233 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1264 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 1248 0 R ]
+>> endobj
+1198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 708.309 260.735 719.213]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_540cea530eaa9c142b16fbf01f781673) >>
+>> endobj
+1199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.55 708.309 392.17 719.213]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.432 636.83 314.892 647.734]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_eeec098f7c1e5939b144f3d42a2c65fc) >>
+>> endobj
+1221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.033 636.83 455.653 647.734]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 636.83 513.996 647.734]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 624.875 190.738 635.778]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 588.717 261.85 599.621]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_888341fcf1079aaaa4dd7b532662729c) >>
+>> endobj
+1224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.666 588.717 393.286 599.621]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.785 552.559 260.611 563.463]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a7260438cfc5fa383c7fb80b127f8315) >>
+>> endobj
+1226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.106 552.559 393.726 563.463]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 552.559 513.996 563.463]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 540.604 189.622 551.508]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.574 504.446 254.798 515.35]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_fcc12e4f52a8ff85d16ebfc424447b63) >>
+>> endobj
+1229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.081 504.446 389.702 515.35]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 504.446 513.996 515.35]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 492.491 189.622 503.395]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
+>> endobj
+1231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 456.333 251.33 467.237]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_e9bc39a46753f158644428f3c01e73a3) >>
+>> endobj
+1232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.146 456.333 382.766 467.237]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 373.895 256.301 384.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_f5911dc31286d92c979c7ff89c249bc8) >>
+>> endobj
+1234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.117 373.895 361.725 384.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.825 337.737 313.612 348.641]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_3f5244b219701d5ba5939982a1d11d97) >>
+>> endobj
+1236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.147 337.737 428.755 348.641]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 337.737 513.996 348.641]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 325.782 174.668 336.685]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 254.302 268.495 265.206]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_3d3687abfb3878a67fca687b8e4ff0b9) >>
+>> endobj
+1239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.311 254.302 399.931 265.206]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 218.144 271.813 229.048]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_e12a1e70aa5010e6617de857f51574a8) >>
+>> endobj
+1241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.673 218.144 463.293 229.048]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 181.986 276.794 192.89]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ba231f6ac03d82cbf693a6a29a5c2665) >>
+>> endobj
+1243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.134 181.986 457.754 192.89]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 145.829 282.881 156.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_067f83ba740e5b6c0c585a5175723a0b) >>
+>> endobj
+1245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.697 145.829 414.317 156.733]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+1246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 109.671 277.342 120.575]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ad90ffcd536cd0d48ee183bca02103fc) >>
+>> endobj
+1247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.158 109.671 382.766 120.575]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+1248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1252 0 obj <<
+/D [1250 0 R /XYZ 90 757.935 null]
+>> endobj
+1253 0 obj <<
+/D [1250 0 R /XYZ 90 725.234 null]
+>> endobj
+1254 0 obj <<
+/D [1250 0 R /XYZ 90 651.732 null]
+>> endobj
+1256 0 obj <<
+/D [1250 0 R /XYZ 90 605.641 null]
+>> endobj
+1257 0 obj <<
+/D [1250 0 R /XYZ 90 569.484 null]
+>> endobj
+1259 0 obj <<
+/D [1250 0 R /XYZ 90 521.371 null]
+>> endobj
+1261 0 obj <<
+/D [1250 0 R /XYZ 90 473.258 null]
+>> endobj
+1262 0 obj <<
+/D [1250 0 R /XYZ 90 388.797 null]
+>> endobj
+1263 0 obj <<
+/D [1250 0 R /XYZ 90 354.661 null]
+>> endobj
+1265 0 obj <<
+/D [1250 0 R /XYZ 90 269.205 null]
+>> endobj
+1266 0 obj <<
+/D [1250 0 R /XYZ 90 235.069 null]
+>> endobj
+1267 0 obj <<
+/D [1250 0 R /XYZ 90 198.911 null]
+>> endobj
+1268 0 obj <<
+/D [1250 0 R /XYZ 90 162.753 null]
+>> endobj
+1269 0 obj <<
+/D [1250 0 R /XYZ 90 126.596 null]
+>> endobj
+1249 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1299 0 obj <<
+/Length 2114      
+/Filter /FlateDecode
+>>
+stream
+x��Z[���~ׯ ЇJ at 4˹q�nQ ����$H�[��Z
i�P�BR�������&J޵�F�H��g��;�93Tl�0�a�����:�A��D��&��@Dq���4x?��%�p���T���)�U�lK���ۢQ�&Y+�x�6�Z`9W��2��
/~��q�������� ���@��`����=
R�1�e�`f�F(\����_��ք�0�^�a���$Y�R��U��l�de�U���aON,	C��V��B��ǽ��I�l�ZKp㛲�7[�
�X?֍��H/�Ec�"œ�;���ۇ}U.0��g����53�Y`�1j���3V��u� =G�#r��hk®śп3�N�O0�Ŀd�^R�A�p���i�>�T�$&"Cs���>i�վ
8�yS�;/By�yn��
+��k�^dzh8B�J�G�6J+��>��~�]B�Ww*I�9��ѝ�	@csN�S�^$�Dɪ��+�������KV��C����7�S$ y
 �>!

�t���ȓE2���Ѻ���Č#B)���{��y��
׭џ�ۇ�����O���iaT����MQ�wj�QU##���ב�!,��S�5h��Z�+�ۺζ�ΔQH�����j#;1E��"���G5��,]m
]ߘ	�Q�B�\�;��3�<)j
���d�##AZ
@�҉X2K�Bk��+bb�����)+TR���ϾR��)����B������
ZZ��"x�pc�*�%�l��:^� ���[3^�j���im�P��0�{�P$�3b}`ẗf��b� �4�P:O��X3����/v���k�Y!�C�֥P�i�\��7� Ʉ�bsD7Ή#��
���L��ʮj-i��o��������Rj~�覭[9������(3���'N��e����
+p��D!�8�2�kZ`�S�q��}V�4
YQ
��K'����~SrA`�ʌ� V

fP�8>�	
\+���InM
J0�r����,p=�:<�S�����>��:���G���9�AIL�}�R�v<��N������p]C"$%���F��f�~���
����C�5�*�.?暦V�ڀi�z(����N�"ꅂIa�0�B�7���M3�2�������gY��<$��Չb�w
�
�#��gNCT�
��8�[��B|�Ѡ%="�5��@�f� �ٟ_5=QU��UU��ҕ%�	��X%
$���Z
WEg����(��1�
K�]6�UV�6+�Aa�c4�-4O,[���kB�4)z:&Q(Z��)����� H��


�	@AY�[�fA2	
�����&���B�e��
>�,�p��8
��T��͟o[^�"�<X�����eG
. _%;laT_#K`�*�:r�4� c|���U
|`�����^�m�h; �k; ����~�-���O*s��(O$��r*�h���LR��6��z�
.����}.G
R� �����Tov�$�0�Hr�J����H^2�����}ۅK����m�
�)%���/�U��Y�����	���u�<Ӽ`"��[��~bc�7w���[�mI��gC��N���KӁ`h|c�R�@%C,�K��
�|�l�;��j�TTk�1<Ĵ=D:�!r��1Ň�Q� �B�
�)>����-��Ǧ�D��mV$F_�YIU���ȹ,�M��m�7��I��I�m��R:
+��wI�}5�x��~��ap�
{�K�uY9ZٗEڞɻ�Ҿ��B
�<�w���U����S�G�9WI�7���q�,<�����4�Қv=<4���Mi������4�<�,���
��zxv�2�۪�L� N��r�
�f|�9�
(�P�}*xJ�{rŧD3R<L��z�u��(C����	SD:�� x晆���S��綗
E��e'��H�F5�����xP��T�B[8�y� �$
+#�����74���`�{�q>����1�ڹ�k�?ީ�r�?e��r<�ڍ%���lU����{�kU�U�tn�9)�ٞ��^RU
�Ch��W
+S
;��y�G�u������x�3�D
��e���ٿ��zxx@�
�l_���]
3k'c��S��=ޕ��B
+H��q�z�
+��3ߤ��?�O�
+endstream
+endobj
+1298 0 obj <<
+/Type /Page
+/Contents 1299 0 R
+/Resources 1297 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1314 0 R
+/Annots [ 1270 0 R 1271 0 R 1272 0 R 1273 0 R 1304 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 1285 0 R 1286 0 R 1287 0 R 1288 0 R 1289 0 R 1290 0 R 1291 0 R 1296 0 R ]
+>> endobj
+1270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.032 456.32 220.898 467.224]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) >>
+>> endobj
+1271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.641 456.32 293.928 467.224]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.686 456.32 447.412 467.224]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 456.32 513.996 467.224]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+1304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 444.365 218.693 455.269]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
+>> endobj
+1274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.942 444.365 324.435 455.269]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 375.194 287.046 386.098]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_afa09f891353748a46868d342cc91cbc) >>
+>> endobj
+1276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.862 375.194 358.149 386.098]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 327.941 320.799 338.845]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_048cb229297e24f6d0f7ab4e4351e2c2) >>
+>> endobj
+1278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.615 327.941 391.902 338.845]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 280.688 288.132 291.592]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e) >>
+>> endobj
+1280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.948 280.688 359.235 291.592]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.658 280.688 472.957 291.592]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 244.394 296.69 255.298]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_297969dd313ebb370c9419915398aaf2) >>
+>> endobj
+1283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.505 244.394 367.792 255.298]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.898 244.394 478.197 255.298]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 208.1 226.414 219.004]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_278a22338f8428e328daf84dea4f94e7) >>
+>> endobj
+1286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [230.229 208.1 323.529 219.004]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 136.246 271.245 147.15]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_30d13726e3b27f1be7e5eb05a7814bb3) >>
+>> endobj
+1288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.061 136.246 368.36 147.15]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.821 136.246 462.177 147.15]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 99.952 219.779 110.856]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_f2fd5edcf647f4bc5b64cf0f4f712a51) >>
+>> endobj
+1291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.594 99.952 316.894 110.856]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1300 0 obj <<
+/D [1298 0 R /XYZ 90 757.935 null]
+>> endobj
+1301 0 obj <<
+/D [1298 0 R /XYZ 90 733.028 null]
+>> endobj
+385 0 obj <<
+/D [1298 0 R /XYZ 90 628.882 null]
+>> endobj
+98 0 obj <<
+/D [1298 0 R /XYZ 90 621.841 null]
+>> endobj
+1302 0 obj <<
+/D [1298 0 R /XYZ 90 523.497 null]
+>> endobj
+1303 0 obj <<
+/D [1298 0 R /XYZ 90 471.256 null]
+>> endobj
+1305 0 obj <<
+/D [1298 0 R /XYZ 90 392.153 null]
+>> endobj
+1308 0 obj <<
+/D [1298 0 R /XYZ 90 344.9 null]
+>> endobj
+1309 0 obj <<
+/D [1298 0 R /XYZ 90 297.647 null]
+>> endobj
+1310 0 obj <<
+/D [1298 0 R /XYZ 90 261.353 null]
+>> endobj
+1311 0 obj <<
+/D [1298 0 R /XYZ 90 225.059 null]
+>> endobj
+1312 0 obj <<
+/D [1298 0 R /XYZ 90 151.183 null]
+>> endobj
+1313 0 obj <<
+/D [1298 0 R /XYZ 90 116.911 null]
+>> endobj
+1297 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R /F87 1306 0 R /F34 1307 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1338 0 obj <<
+/Length 1801      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~�����@͐��K7
��%Hۭ]�>���X�MT��4�~�7�r��Ml�Ŕh��\�s�vVv�&\NNNωQ
���\:1v€ F�s�:��2���[U�������Nڲ��mZ��eѴsњ�6YMg�a����e�����/y=%��
9��>�~�|3��r�� O�!���c�"�|�����8yq�ܨU��S���8�g��<��JN���$$DP		��_(e����<c �(Z3-��W��
� �"��^)��/���_0�
���=��
�O��%�j�nȎ���Ջ�9�#��"�E#�b��V|��k�nRO}��Ao&�8�ș��bƴ�^�
+~�g	�d'�?�xrR 
��l�#zp��b?�gT�7O`�R���m��<_bCm(�aizj�kOe7@��nj�\��:�Er��c�a",
9�Dȋ�]#
+Mt5%ؕ&�� �yL� 1��ٹ�̀���jv��̨"6�(E1��R���B��Z4Z�]
��_<�ӡ�	�
+|b�j��/GLA�>d���u���=��?��l�z
+���,M�F�
+� �yH�6�zu��n�-�Q�O��(�|3vP��{Lt=��jm
�m烩ъk�'AT.���^"ƐD0����)�`b�
�2MvY�9O_ȗ��ˈ����
��]MҊFz����h*�B
+
�*�9Pq�V���Hʣbe�6�����X�ʐ���(��>b�26.R�j^��� 8O�)
�צ�
��R4�q\qJ� �a/��t��R�Z��̃�O
_v�^�����)�n����)~��c��aO��iP��H�QQg�����ړ�]
�>�+R����R�׃LM���(�U
+7�sD��
� �lF at A��zg��h�01�$�+�6-�v��G!�>1j�
�P�
.7��{����ݟZ
��K�G��>�@����>�7�N��<���҇� #�D�Υ�x\AL75]�
��@�
�z90d���L��	��ږ�;��7��=��Oޖ���6���IlN˲r1S�I�M��e!�.v�
�N�7k���|m2�I^��k�^�d� 
4>"�������a�(׋�Y1O��:f�16�'
��C�#?
��#�e�M�x|
B��Ba�~�ƶ�+=4|�<S�ٱ� �>�^��#B 1D�
n����
MY��OC�3q��GDŽ�'����
{HɎ��.��1R
+�`?,=��ح�e�cQ��|���&'F�������l�|͛E-*%�]�`����
�ra�����Mfٗ�Û�ʂF_$9Ֆ4о��E�$�&mԥL�"�C[�l��y�o�BV�peTsu��*�j�P��߳���!d!sD��B� �TֵJV�#kZ.�|�^�v-�{��l7-X+.k�ٰ`[��v����M^x3�r�$0
2�X�H�Qie��I
+Z��0Zp{��R
�
I��(<v������Z�VZ�;4�b^C\9���m�$�E֥�gB�V2����Z!
+�
�ۖ�VЋ<D}�����v���K=�)�bM��
��,3��ek
m��=
m�"�����3�����zk��~0,�u�\!�o���n!�II���a���{�C�3K��~�	"��h�/5�KL��|@qb1bl7�}Pq��M����n�<���;qU'��~ye�b�%+��������1
��J�.ɦ}���G��#V���9��M�#�_Q��9���D�r#

 C��Ӻm��''777hѠ�U�D{h=����P!`�Mo�wļ��	�!�=��Y{��� ;~*��]��:��
+endstream
+endobj
+1337 0 obj <<
+/Type /Page
+/Contents 1338 0 R
+/Resources 1336 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1314 0 R
+/Annots [ 1292 0 R 1293 0 R 1294 0 R 1295 0 R 1341 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 1324 0 R 1325 0 R 1326 0 R 1327 0 R 1328 0 R 1329 0 R 1335 0 R ]
+>> endobj
+1292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.961 707.957 250.281 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_318f5f2972203c84ea0fdb4b82bbab1c) >>
+>> endobj
+1293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.953 707.957 353.252 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.887 707.957 460.244 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.376 178.862 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 659.14 230.05 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_140a26e6f6dc525c742aca71f598ed3c) >>
+>> endobj
+1316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.866 659.14 327.165 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.626 659.14 409.107 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 622.278 217.009 633.182]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_74a772b49c2c3190ad8501ffa0337d2f) >>
+>> endobj
+1319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [220.825 622.278 314.124 633.182]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 537.904 234.175 548.808]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_5d89173a47e10f469337343cfb807218) >>
+>> endobj
+1321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.99 537.904 331.289 548.808]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 501.043 237.492 511.947]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_6d184edbb85d3c2747bb6097f7de17ad) >>
+>> endobj
+1323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.352 501.043 394.651 511.947]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 464.181 242.473 475.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_30161047ab7c47dd7a68a852e98ed83e) >>
+>> endobj
+1325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.813 464.181 389.112 475.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 427.319 248.56 438.223]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_6a901364857f84dc0f111a29330c33f9) >>
+>> endobj
+1327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.376 427.319 345.675 438.223]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 390.457 243.021 401.361]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag_d6d26ca0f256b0d9a45173e7d83ee4cc) >>
+>> endobj
+1329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.837 390.457 314.124 401.361]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+1335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1339 0 obj <<
+/D [1337 0 R /XYZ 90 757.935 null]
+>> endobj
+1340 0 obj <<
+/D [1337 0 R /XYZ 90 725.058 null]
+>> endobj
+1342 0 obj <<
+/D [1337 0 R /XYZ 90 676.241 null]
+>> endobj
+1343 0 obj <<
+/D [1337 0 R /XYZ 90 639.379 null]
+>> endobj
+1344 0 obj <<
+/D [1337 0 R /XYZ 90 552.983 null]
+>> endobj
+1345 0 obj <<
+/D [1337 0 R /XYZ 90 518.143 null]
+>> endobj
+1346 0 obj <<
+/D [1337 0 R /XYZ 90 481.282 null]
+>> endobj
+1347 0 obj <<
+/D [1337 0 R /XYZ 90 444.42 null]
+>> endobj
+1348 0 obj <<
+/D [1337 0 R /XYZ 90 407.558 null]
+>> endobj
+1349 0 obj <<
+/D [1337 0 R /XYZ 90 355.13 null]
+>> endobj
+386 0 obj <<
+/D [1337 0 R /XYZ 90 242.186 null]
+>> endobj
+102 0 obj <<
+/D [1337 0 R /XYZ 90 235.586 null]
+>> endobj
+1350 0 obj <<
+/D [1337 0 R /XYZ 90 137.113 null]
+>> endobj
+1336 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1367 0 obj <<
+/Length 1818      
+/Filter /FlateDecode
+>>
+stream
+x��YY��6~��ڇ�@��!��(�4��@�l���U,�"K�$�f�}��.[^��M�Eg��7������'W����$�
���'�'�8%�U�
D�dJ0���&��(�x�Be�������-+��U�r2�
�_f�*�\��7j��		�*ӯa8����իѳ���-�G̪\ ��7_��}�^
�_y1z7f���)�k�
�3��ܵ��%��
A��漧����y޻)ے�r��:�����
 L���LM(�
��<��j�T���* D��c��s���詞��BoJ��YU�9�z�^<�ݭea�=h=��و
��H��
�Y&�LzR[邂22|=qJ%
+5`(�~h<�&i\Z0D�>$�C��1��k#�'m�#7%���M_�rV�1u8��Z�R_㸘01VeiM�SƐa�X;�g2YB��h]���
+�$�͢I����ҳ!8[��~��C1�(>
����\�>�ÅTH��UcGE�)�	�B�q����F��!>"�
�Ǎ��1D�vb�T���֝%`��־��'�@\4�F>	`�
��q��,��k�D}�h5SV��ԩ3���*�`_T�m!P���a[�U��!
a��[�����6�fT��2�QԦ��6�6��q\��N*���t�X�pߜSXY����w�/��c	��`6	�T�i0�
ѐ�(h22h9���6�A��#%M7�2�J����A��}�˱JU�����2���8���
"��l���u�&qԔ4
t\(����:��r(�����*q��ѧ	��z�rk��
l
N7y'�+�ݻ�N��Bn�4�w&�_���Fi�8�Qu'�**U|7�Z�ڑ)��,�S�w����*���}\� s�r
*5V4��ϠfR9=�&��qf\��
��d
I������(�B[hz�]hA_I���?�̹+�s|x�#UAa�W��ޡ@ 
���RcI�t���;��9�%��K�H�+�~{�a�}i��8�M[	K�3\κ��9=E~[Vo�Cv`Ԇ��Rc�@<H�sS���
Od��{���N����F"�ςc�`,����O�
v��� u�_��0$��[BC�*> ZB�N���9`�w/Z���_�6�����}��FU�B��,4QM_6y	��Z�'�'�K
���A۝,�G��;�1
tj3m�ꥐ�}� �� B$�&��`�P���
R�NZ-�#h�}����q޷����{��!�����0Q��uV�Ё-�K
#��R�"�Es�Kq��OU%�r$~��y�l�$��,��!��U��4��4�puI��fs-��_��°�`��n����R��5]�>�u
�2�H�q��[���{
+�{� ܸ��]g%��V��j���M���6�݊���i����F�N�V��]k�����CMg�
�[����ѮNM̹�&J4w��Ai�D��m؆��e.D\^�1�ߙ�+� �(�^ �

$$u[�w�����V[8���6#]S���T��Q#T�s�d�E���9m��"M�e?��}s���G��M`��`��-�����
+��M��q"��P<�?$N���f"bo����
�U���r�tFrhh ��,��ߔ)]����

+�P�[o�v�.
+B�!ў�oQ��P �����sq�8��kC�b�*��yz�Rq�
�J>Q�H��{e�m�T������R�4����
e�7j�r|��TEٰjh�m
+E���H����[U���
����ϑq{k

8�����\^\��ܠy��Y�)PR]�~\�w�� �'���:/\�����:��
�
�M@��?�I}g
+endstream
+endobj
+1366 0 obj <<
+/Type /Page
+/Contents 1367 0 R
+/Resources 1365 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1314 0 R
+/Annots [ 1330 0 R 1331 0 R 1370 0 R 1332 0 R 1372 0 R 1333 0 R 1334 0 R 1373 0 R 1351 0 R 1375 0 R 1352 0 R 1353 0 R 1376 0 R 1354 0 R 1355 0 R 1378 0 R 1356 0 R 1357 0 R 1380 0 R 1358 0 R 1359 0 R 1360 0 R 1382 0 R 1361 0 R 1362 0 R 1384 0 R 1363 0 R 1364 0 R ]
+>> endobj
+1330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.34 719.912 347.535 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_0632eaac5ec676910e433016619b3e85) >>
+>> endobj
+1331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 163.61 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.767 671.095 513.996 681.999]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_c23bf247df0b2721e97c8eeb8945adf1) >>
+>> endobj
+1372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 659.14 155.859 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_c23bf247df0b2721e97c8eeb8945adf1) >>
+>> endobj
+1333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.876 659.14 352.491 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.906 659.14 513.996 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 647.185 223.943 658.089]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.209 599.364 513.996 610.268]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f2932a2fa90f54f604e340d0e2eac7ba) >>
+>> endobj
+1375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 587.409 155.859 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f2932a2fa90f54f604e340d0e2eac7ba) >>
+>> endobj
+1352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.041 587.409 344.656 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 587.409 513.996 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 575.828 189.622 586.358]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.62 538.592 351.256 549.496]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_1842c4ba3cd1adb1e1bccef3cfcfa57f) >>
+>> endobj
+1355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 538.592 513.996 549.496]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 526.637 189.622 537.541]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.447 453.222 379.749 464.126]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_813ac0651ebac0120830cedf1ea58395) >>
+>> endobj
+1357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.906 453.222 513.996 464.126]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 441.267 223.943 452.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.942 441.267 356.484 452.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.595 404.405 359.281 415.309]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f4cdf3fbe1977a24a90904e02efd791b) >>
+>> endobj
+1360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.585 404.405 513.996 415.309]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 392.45 163.61 403.354]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.476 355.588 376.72 366.492]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f8d741d4315fb12dff45b47979f88808) >>
+>> endobj
+1362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.906 355.588 513.996 366.492]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 343.633 223.943 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.403 343.633 445.031 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
+>> endobj
+1364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1368 0 obj <<
+/D [1366 0 R /XYZ 90 757.935 null]
+>> endobj
+1369 0 obj <<
+/D [1366 0 R /XYZ 90 733.028 null]
+>> endobj
+1371 0 obj <<
+/D [1366 0 R /XYZ 90 688.196 null]
+>> endobj
+1374 0 obj <<
+/D [1366 0 R /XYZ 90 616.465 null]
+>> endobj
+1377 0 obj <<
+/D [1366 0 R /XYZ 90 555.693 null]
+>> endobj
+1379 0 obj <<
+/D [1366 0 R /XYZ 90 468.3 null]
+>> endobj
+1381 0 obj <<
+/D [1366 0 R /XYZ 90 421.506 null]
+>> endobj
+1383 0 obj <<
+/D [1366 0 R /XYZ 90 372.689 null]
+>> endobj
+1385 0 obj <<
+/D [1366 0 R /XYZ 90 297.346 null]
+>> endobj
+387 0 obj <<
+/D [1366 0 R /XYZ 90 172.448 null]
+>> endobj
+106 0 obj <<
+/D [1366 0 R /XYZ 90 165.847 null]
+>> endobj
+1365 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1420 0 obj <<
+/Length 1936      
+/Filter /FlateDecode
+>>
+stream
+x��ZI��6��W��2
.����$� I���)zH��Ƣ=B�U����HJ�,k�ȇ =��)���{
il�-l]�^]���:���PǺZY>�\� N�uZ_�."tqF0��<��/�(���(�*+����J$�U�^�Q����J�`)��X�bA��He���m{����췫ٿ3R`�ԫr��[�d���B�oa�|��֣˦
���e��
��2�
�vp)�����&]VQ��R��
w>����}��?��OY��R��i�Rw�n���1�
l�n��Z�"�������؈������5LP�%��|�&��,�u��T/�zwo���Zo��!��"َ��J)����z���,������6�e=@�(1�����06��ʏ�f�N;�ޮhWw��v%@��0�1(�#fL�.G,�R˃�
[~wF]Pۀ�
�U��DqX#��H�j����@��V깆��ւ��T���6�{ٳ趈*a:��~�
*3��
�3
�s��@2���
E�f
5�A{;&"��ut_g�b�Q�F�C�@��E�����Ȓ�O��`&z�y@#pA�������~n-%��RUC�Z?�>">
�1#T�7�(�t
�*Kիn�: ��[���|ɫ Ja����N�3 �
��`�'�i��
 .G�3����mְ���a�l��J�W�E��n0�R��Z��R�m�ɽTkCK���!alq2�q�$4���hx$
+�>��g���|���!4e>�-�N��A�
Q
t ��5W�
Wׁzhj�� 5m�@SQ��lE��h>B
�8 VC�@�
�#��r��[�+5܃�J�ȴ߁��8�X˳G5���OP)�p
��}��}�a�d��q�k��?@?�85Ԃ:�{$�@����3N@?>B?����NA��X>�E&��<�A��U
+��\�q�cI[����{�q\ {c
мa�t�����f���2�iPTBF�L*�EC����&8������>Dޥ
��8
+�&o�]ء�<��[�._
��o�~u�ٓ�{
/�Zn���-��
+���,
��Jv�L}�4�l�8օ���
�� 6I̍�~
���8r�T��:�
 ���j�WC��u�'S7��h����]��ׯ0:Q��ao�.(�`)��J��ٟ���Ը��%�QMF#�u���h1Ðn�YR��lƵ���l��N};�������%dr�CI�%
��&�
�N,[�7V"]ƙ,|��rvğ�a���	�デ1�(~|)�Mы�9���@
B�i��=�����o�z
a�`I��9�;� ��zЎ�X# Wl�������T�S�dP�
nj��с�r��1!%��\��G΃���J�H�j��q�Uy�k#T
���5�'o�����<ۂGz���x�E�(M�T`���:P�v�[��
yR�	P�O�q����4<��trt�)G��;�t��;ʪ�]a�§D�͑��rI�M�,���LJ�,���<:q��q
�
�q߯��F-G�K�Fzݭ�
!h��"��K�|
!��W[�����2�"�;�ˆof�*�%y,�e\P�|�ޏ*
�(H�	L)���e	��J
+���S+ܻ�Eq�G��,i� #s/9�Q�Dd�қba�y��M�<4��J����re��8�Mm�u��M��KK�A�!,-?�ӗ���(��"�8ݥ�D|N2i��fҜ1��y�rs��L�΁D�>� ��o
�JQ�&8��`��4�
�q��
�i���?6�h �9ȇdX�����s]^�}��S$:�~��ݭ
��{tS���k���M��?kH]7R�,87����@�V�N.)�V%��"y!��Ҿ�0�
J
�-��0�m�n�:
��x�۪�_��o�[�,�&��E�9������,r��n㎒���2�,�R��JL��TF��k�
����M
+endstream
+endobj
+1419 0 obj <<
+/Type /Page
+/Contents 1420 0 R
+/Resources 1418 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1314 0 R
+/Annots [ 1386 0 R 1387 0 R 1388 0 R 1389 0 R 1390 0 R 1391 0 R 1392 0 R 1426 0 R 1393 0 R 1394 0 R 1395 0 R 1428 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 1433 0 R 1407 0 R 1408 0 R 1409 0 R 1435 0 R 1410 0 R 1411 0 R 1412 0 R 1413 0 R 1417 0 R ]
+>> endobj
+1386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 649.104 276.535 660.008]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_303533574d5d5d4d8f58e2d8646baa69) >>
+>> endobj
+1387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.351 649.104 405.202 660.008]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.302 612.844 377.134 623.748]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_c64c8548738734fedbc94f03519b803a) >>
+>> endobj
+1389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.146 612.844 513.996 623.748]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.895 600.889 265.437 611.792]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.028 553.669 411.181 564.573]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_95c612736a3e7524077dd5c81bf2a105) >>
+>> endobj
+1392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.919 553.669 513.996 564.573]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 541.714 164.178 552.618]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.476 541.714 339.339 552.618]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.749 494.495 415.46 505.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_d4d88d3daaa672264c63c83071c2021b) >>
+>> endobj
+1395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.919 494.495 513.996 505.399]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 482.54 164.178 493.444]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.283 482.54 332.146 493.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 446.28 283.977 457.184]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_9fc89d795c20b4270756269edf1b9604) >>
+>> endobj
+1398 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.793 446.28 438.656 457.184]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.663 374.52 334.366 385.423]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_121252cea61436e0df74e008b80c13b7) >>
+>> endobj
+1400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.738 374.52 494.601 385.423]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 362.564 208.451 373.468]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 326.304 285.093 337.208]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_3094a8093769d647b9f477e14d53a3a0) >>
+>> endobj
+1403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.909 326.304 439.772 337.208]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.998 290.044 286.066 300.948]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_e2c6fa9b0155fd9428ff3abcf1a66805) >>
+>> endobj
+1405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.774 290.044 444.637 300.948]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 290.044 513.996 300.948]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 278.089 268.754 288.993]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.786 241.829 280.253 252.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_3671e52fd03a1c456c630b7c5c632df8) >>
+>> endobj
+1408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.75 241.829 440.612 252.733]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.73 241.829 513.996 252.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 229.874 268.754 240.778]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
+>> endobj
+1410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 193.614 274.573 204.518]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_68cdbff6e2262bae3295484dbee9ee42) >>
+>> endobj
+1411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.388 193.614 429.251 204.518]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 110.894 279.544 121.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_4578b5352510727810a7c3be32208aae) >>
+>> endobj
+1413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.36 110.894 408.21 121.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1421 0 obj <<
+/D [1419 0 R /XYZ 90 757.935 null]
+>> endobj
+1422 0 obj <<
+/D [1419 0 R /XYZ 90 716.221 null]
+>> endobj
+1423 0 obj <<
+/D [1419 0 R /XYZ 90 664.032 null]
+>> endobj
+1424 0 obj <<
+/D [1419 0 R /XYZ 90 629.794 null]
+>> endobj
+1425 0 obj <<
+/D [1419 0 R /XYZ 90 570.62 null]
+>> endobj
+1427 0 obj <<
+/D [1419 0 R /XYZ 90 511.446 null]
+>> endobj
+1429 0 obj <<
+/D [1419 0 R /XYZ 90 463.23 null]
+>> endobj
+1430 0 obj <<
+/D [1419 0 R /XYZ 90 389.447 null]
+>> endobj
+1431 0 obj <<
+/D [1419 0 R /XYZ 90 343.255 null]
+>> endobj
+1432 0 obj <<
+/D [1419 0 R /XYZ 90 306.995 null]
+>> endobj
+1434 0 obj <<
+/D [1419 0 R /XYZ 90 258.779 null]
+>> endobj
+1436 0 obj <<
+/D [1419 0 R /XYZ 90 210.564 null]
+>> endobj
+1437 0 obj <<
+/D [1419 0 R /XYZ 90 125.822 null]
+>> endobj
+1418 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1458 0 obj <<
+/Length 2014      
+/Filter /FlateDecode
+>>
+stream
+xڽYY��F~ׯ ��"Z�uR����\1�xwv��i���@I",�ǿw����iy_��KYy|��e�����w��̮�̋P���Yz�d@��ĻI�/�D��c����]����T���)��&^�T`�}ިj'�>~RKU�I�\�"���b���ϳ77�?f��
1�	�$^��}�
{)���ÈE�woVm=N\7���gة��&�3�����
�@X;�Rj�o�}Y0*��Z�S��^�̂HSV~�����ZU���="!��Xࣛ�ؠ9���꘬� ���H8������ rc�:l+Д
��^��J
+� ���
�`+��
�V�;j
��^��|�w��^����
+�qws�}�؜��!�R�7�`R�.f��]2�I��
 �Ŕ� ;)����Q���#���x�mU^gEn3gy�'՜I_ŵJ��;g|�U�q�8�G��>t� =c0�z
&�`�u}�k���k�bwz�˓t����!.�H�d��O�,+n�
+VN�y
+oO'�$v����p.�)E'�.[>j��	�P�;�9P<<��I�E���u��fB��N�������-�4��
"��]>#��G&�o�xcM�}�R
"ɻ���1��Vp�t�J�۫�J�\� ��B
��KJ�q3*�ٝr����}�G �br�
�@o�E_R+h�"+��S-��V���Ih����:/s�sVy\���(B`��`���84m
+�d䯁�k��x�)���7�u_�A��|5X]��t�N��:Kt�^{�mxͮ�[�wY<�?
��_��	����T�)��8�`�qb�I�ݦ�m9,Ip鮦Uy�؄��G*��;Q]ɰV�����~�{

h	�+S�5}T��R�����-
�"y��	|w���	!A��k�a�Q(�%ʡ�O�lS�������&��G �x�,�h��	�����_��K�K�\���e5��/�S�����<���Qv��H�0�
� ��1�"��ת��M[j_�:����~
9ff���C�?�������XTSZ7�ڶa�T��&f�v��MK_�
��RU��s��j�
Ӭ���u4-*�{�J��^�0� �����D{ld�#$
+�K鈅���yC����n;�ig}��Ϗ�X�w��/+��4.
���t��]��t�~
f>
��Pt���t�۵�Sp�
^�.)�g���щd
�!��	�Q\����B٤�`�>���~�K�>��V
+�d�e�?&dI~����g�ˁ��� ������6�5gV�
+#׆>��

�S�ӅAw�M�:��PU��V���p�ܪ�"v�F'j���v����fF�.�q-駺�V�N�Qp����C!��+�YO��������Ȍ�C#��9
�\��m&zT�C����}�PV��gZ�,A��QW���
E
RN��OS
�jly��S̤�zZ�5�U��:8��%�e��/��_���Ɣ�i	� ,��5杫.���hӬ6����4��}�
�
��DЍ�:���E;\�� эs�H"ݘ�qB�@�GX`����U�v�s
4�"����Aҹ���t;x�G3l�[�L:aa às �\���X
���JO��3�ʶڳwY=y�
��E�
�Nr@t��(
+c�Yf�����=.&�t�0ړF�\�)�\��5�j6����LCK�;Bωx�lS�l[n
[?�64s�06��J�n?YUր��s�m����[�ۨa(� j.!��
�6����ʚ�
x���@!��4u�H�@�{N_��p;Ǒce ���
��S�Pt0�
+Wk,���\[s�]�]����p����ǎf�
l$�T��@�_���� <�{\��- �r�O�"BB�����9��
0},6�k�V��C���_F��+�.�W�x��
q���W��o��:��k�[O���No����0G�r��6�q�>���X7��w�̌���� HW���uӔ?^_��ߣ�F�<++�5�P,�I�^
+��"�顣�ۢr�`�z�O�oH�M
n��p�?�|��
+endstream
+endobj
+1457 0 obj <<
+/Type /Page
+/Contents 1458 0 R
+/Resources 1456 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1314 0 R
+/Annots [ 1414 0 R 1415 0 R 1416 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 1451 0 R 1452 0 R 1455 0 R ]
+>> endobj
+1414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.144 719.912 357.416 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_22e81aa8cd862935e9a0abab515cf838) >>
+>> endobj
+1415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.27 719.912 493.12 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 241.637 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 638.237 291.738 649.141]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_bc859551651eca1bcc3839f62d45dbfe) >>
+>> endobj
+1439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.554 638.237 446.416 649.141]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.098 602.719 296.048 613.623]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_f29295940b1ad0b6b48cc44e92f04060) >>
+>> endobj
+1441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.133 602.719 513.996 613.623]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.891 555.246 299.822 566.15]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_d00a2a1877537fa49a41013078ee2bb6) >>
+>> endobj
+1443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.559 555.246 503.422 566.15]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.743 507.773 310.762 518.677]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a6324c2e330df63ad428eec9182fcc4d) >>
+>> endobj
+1445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.215 507.773 470.077 518.677]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
+>> endobj
+1446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 460.3 300.585 471.204]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_af6f8270e3742973e0df7dcc9132f7ae) >>
+>> endobj
+1447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.4 460.3 429.251 471.204]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
+>> endobj
+1448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.175 144.396 245.284 155.3]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_9c2a70f5f90ec3da123f549d6ca9fe4a) >>
+>> endobj
+1449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.168 144.396 342.698 155.3]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.027 144.396 498.753 155.3]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.722 132.441 284.277 143.345]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1) >>
+>> endobj
+1452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.526 132.441 390.019 143.345]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1459 0 obj <<
+/D [1457 0 R /XYZ 90 757.935 null]
+>> endobj
+1460 0 obj <<
+/D [1457 0 R /XYZ 90 733.028 null]
+>> endobj
+1461 0 obj <<
+/D [1457 0 R /XYZ 90 652.98 null]
+>> endobj
+1462 0 obj <<
+/D [1457 0 R /XYZ 90 619.484 null]
+>> endobj
+1463 0 obj <<
+/D [1457 0 R /XYZ 90 572.011 null]
+>> endobj
+1464 0 obj <<
+/D [1457 0 R /XYZ 90 524.538 null]
+>> endobj
+1465 0 obj <<
+/D [1457 0 R /XYZ 90 477.065 null]
+>> endobj
+1466 0 obj <<
+/D [1457 0 R /XYZ 90 426.283 null]
+>> endobj
+388 0 obj <<
+/D [1457 0 R /XYZ 90 316.026 null]
+>> endobj
+110 0 obj <<
+/D [1457 0 R /XYZ 90 308.385 null]
+>> endobj
+1467 0 obj <<
+/D [1457 0 R /XYZ 90 210.215 null]
+>> endobj
+1468 0 obj <<
+/D [1457 0 R /XYZ 90 159.139 null]
+>> endobj
+1456 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1504 0 obj <<
+/Length 2117      
+/Filter /FlateDecode
+>>
+stream
+x��Zݓ�6�_��᪵F�@�t�d�6ٻ�m��
6)cd[

�L��k!����w�b
!Z��_��-�������w���w�y�$���܋�H�%�}�}�D�xB0�~Q����N��U�ʸ��i
/�*��!�U9�g�^~VsU�I��t��q�s9��������L�=�L'0��V�/�a/��=�XzOͨ��)����e�vK��ߨ$�J�H���PD0�z�J�h��>�}�PRg��6�+n���F5c�L���v��*�i�W�"߈餛���?h���wt�W4
��nY�0ff���
E!m�
X�	���c���&4�(�қ��"!��o�1
|תO�ܯ���!�ή/�m���~^����|�s�O5&~9���'`F�U:���ެ
+��F�0�Z'e�x�*��a�(
+��qh0���vPO_�� �dkO8!��J�e~lײ��$u��祽ש� �{� ����
�p�'{�9c�}�m�񸍟�~�?I����.Y��%��r�V0��[�����6��l�`�E-
\6��@���|�ӷ;��p��a<M�b�l
�f����0˳��N��
�*B6!tp��'N�R�
X?F�[�4�2I
`���M� �� �f��?9ˋg����D��p��!
+�:3kBJ�O.����ކ�i�7�r=.��g����Z�����#DbDC���QFM�[E�d���>�x� �U��1f�2Ɯ���D��E������0���k寍�*G����ݴ��I86Aـ�i� �@d0
+YT�ΰ�!�

�����Q��n`�!)~!�G �+�͍��Z
��i��E�U��R$Bނ��ḻ��:qyͶ�
1�tLY�&��
9�!��νK턯����jm�gg�Y^:Z*�,љK�]_n��B�t��VÕ�*��q�:0?��SW*9���{���0�
�8���n��jH�:�	�����{�:��'z�����.�����3�
eb�a�
�,�C��d��.�k��v��CYǁ
�v1���P��&=%�Y�@"��O� �Q %�(l5'�>۰`�
+��7͍3Zj
�G��'g"g�$�92
�H����u��I~V���vɱYvo�<s��
�[��"F�����l����g ��L���`���g�p�($�G�­�Ѭ9.͖�W� ��ow5
�Y����m^�L�+Ct�U
j�=|B_�I㰦�l
�C�c\��ap��`�	�a��TNg��Ax#
+�� }3
+K��ƣ��B�����
���qh
+P@��Nݯ>�C4˲'��YAr���._t]�[�u���HX�8?�� �f@�������_�Ia}ey^�Z?*�	J+þ�J;D
�`X�G�$YL�R�h'W*yc.��QS��r�SU\��D��_��V�h��U���aN��1��-��?����t�ҰưG/JY�{G/�A9s,Y�r{ʤ|�<�u�Æ�"2:;
+�᳝5C�	��?+5_��j�V�
���Ɖ��6+�%8[U�V��=����CV�뻟�5��I6��W���(���(a�W.��xM,~2

<҃�Cvq���
��LU'�z�h�QD/��H ��+2)�p~��}���թWb�� ��z�Tե�W'��7@T6��6vN	���2��@��aA�8W�
~e���9�-�Dy>	N��B�Ŷ�T�� �P��(n��4�g��׾�h���4{
15ۋ|Qm�={��3��/�Ym��
������S�pԳ���|#p4���e�q5�z��W��w'�=D� �D�O�����
+E�G���y[Vdm� &نA�N�!���=�j�D�<�.��lH�94o�x�9f��U���
>�8
Q4�-�yk}.�$F̼��F�G����2�l>�8���M�WC�Bl}�����d��
O�<���H�(`���
+�!����M>5�|�rT�)O��*)��G�Pƥ{Q�����b
/��'WfO�ɡT)�26��{�g�ؕ.��fJUn�1�b��"� �U<����К�w�m�4j�Q�J���Z�u�������Uh��D���߽,V6R�[�&]���K�>� �a�M �ma�3S�6X�;
��㟉
+endstream
+endobj
+1503 0 obj <<
+/Type /Page
+/Contents 1504 0 R
+/Resources 1502 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1314 0 R
+/Annots [ 1453 0 R 1454 0 R 1469 0 R 1470 0 R 1471 0 R 1508 0 R 1472 0 R 1473 0 R 1474 0 R 1510 0 R 1475 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 1491 0 R 1492 0 R 1493 0 R 1494 0 R 1495 0 R 1496 0 R 1497 0 R 1498 0 R 1499 0 R 1500 0 R 1501 0 R ]
+>> endobj
+1453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 708.95 310.289 719.854]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_6cb7351e1bb87181f7e6c946db398b5b) >>
+>> endobj
+1454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.104 708.95 404.634 719.854]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.77 663.115 338.282 674.019]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_cc700387404f10208584c1a847a6f328) >>
+>> endobj
+1470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.762 663.115 436.292 674.019]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 663.115 513.996 674.019]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 651.16 197.911 662.064]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.537 605.325 345.607 616.229]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_2a64fe7b9774c990bd9db8aecd2dacea) >>
+>> endobj
+1473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.854 605.325 442.384 616.229]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 605.325 513.996 616.229]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 593.744 197.911 604.274]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 558.494 249.656 569.398]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_9b452ce4baaf1c1644a6eb33658ae48a) >>
+>> endobj
+1476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.472 558.494 370.014 569.398]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.361 490.54 295.743 501.444]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1) >>
+>> endobj
+1478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.813 490.54 417.355 501.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 490.54 513.996 501.444]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 443.709 243.021 454.613]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_dfc86b3b2966514ba2e2292584f68c08) >>
+>> endobj
+1481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.837 443.709 363.379 454.613]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.981 408.833 270.544 419.737]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_99aac01eb1b8adc3667bbd3db68e8d34) >>
+>> endobj
+1483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.235 408.833 393.777 419.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.708 408.833 494.065 419.737]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 396.878 196.576 407.782]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 362.002 253.293 372.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) >>
+>> endobj
+1487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.108 362.002 373.65 372.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.111 362.002 455.592 372.906]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 327.126 240.252 338.03]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a8e9420c29d8c75e775c4fd609830769) >>
+>> endobj
+1490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.068 327.126 360.609 338.03]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 248.213 257.417 259.117]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_fb6f23292760d6d55c57b5722f604897) >>
+>> endobj
+1492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.233 248.213 377.775 259.117]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 213.337 260.735 224.241]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_0ca9a6d6894e381babab8f958c194f07) >>
+>> endobj
+1494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.595 213.337 441.137 224.241]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 178.461 265.716 189.365]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_3fc151fc10282a5ede395e9b8a5502e2) >>
+>> endobj
+1496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.056 178.461 435.597 189.365]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 143.585 271.803 154.489]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_c5a83c9e42e34b313e12a6cef4470a75) >>
+>> endobj
+1498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.619 143.585 392.161 154.489]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 108.709 266.264 119.613]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_190a7c46776178432e89c9525db039ab) >>
+>> endobj
+1500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.079 108.709 360.609 119.613]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
+>> endobj
+1501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1505 0 obj <<
+/D [1503 0 R /XYZ 90 757.935 null]
+>> endobj
+1506 0 obj <<
+/D [1503 0 R /XYZ 90 725.554 null]
+>> endobj
+1507 0 obj <<
+/D [1503 0 R /XYZ 90 679.72 null]
+>> endobj
+1509 0 obj <<
+/D [1503 0 R /XYZ 90 621.93 null]
+>> endobj
+1511 0 obj <<
+/D [1503 0 R /XYZ 90 575.098 null]
+>> endobj
+1512 0 obj <<
+/D [1503 0 R /XYZ 90 505.122 null]
+>> endobj
+1513 0 obj <<
+/D [1503 0 R /XYZ 90 460.313 null]
+>> endobj
+1514 0 obj <<
+/D [1503 0 R /XYZ 90 425.437 null]
+>> endobj
+1515 0 obj <<
+/D [1503 0 R /XYZ 90 378.606 null]
+>> endobj
+1516 0 obj <<
+/D [1503 0 R /XYZ 90 343.73 null]
+>> endobj
+1517 0 obj <<
+/D [1503 0 R /XYZ 90 262.795 null]
+>> endobj
+1518 0 obj <<
+/D [1503 0 R /XYZ 90 229.941 null]
+>> endobj
+1519 0 obj <<
+/D [1503 0 R /XYZ 90 195.065 null]
+>> endobj
+1520 0 obj <<
+/D [1503 0 R /XYZ 90 160.19 null]
+>> endobj
+1521 0 obj <<
+/D [1503 0 R /XYZ 90 125.314 null]
+>> endobj
+1502 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F87 1306 0 R /F34 1307 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1548 0 obj <<
+/Length 1770      
+/Filter /FlateDecode
+>>
+stream
+x��YI��6��W�6Ps�SJ��6h�m2=%��X[�,��
w����i�f��xN�IE=����
I
�
\N�]M.^ID(�TW�A�%	�WI�~��9�O��|�&+ҸZ��{[�H8Mw��,u��ͩ�ӟ�:���ej_ߦש
W�.R
N��}�z=yy5�kB@

3�PH1,7��q�@�� #������2x�����|��!,EcC���"��,O�ߋt���m
6h�.^	���9���ʹ��xz�Mw�߸pB���RKp��ee�*s#Vi�Vq]V;��т�B�r'x��U?P�}�V匈��,I�,��Lpfz|��rF��`��dg��h�	4ˆ�t6�^´�K=��C�:�8)
����<gB ������I��oҢ�M,����lw�V�]�>��U��"R/4ϭ�Y�0�c��O
(=�"g!  ��\�>P*���υ��r�N��"���O�XBP$�N�{��#������͍2���h�VV#
c0P�g�F���X����EHg�`H�
<��+o �u�wmO^Ȑ
��C��vĜp�(�1�����4o���½������=��q݀l�)W�FQ���t�)�
G �� �`F1G��� ���K����!<�B�hcX����l;a��&В�n�]�^���[�ߚf���aZ�@C����*r�ό�5��3�9jP$g#��(
+I�<�#
�*���P�j����#��j��4Li*E�~� �°�`�VE�UkV�߬cL���\߶,�P�
X��g���q���>cۙ���� 
�r�d�
=G���-�$Ogs
��:Z�
�a�r�_���ha�(o,<Z7F,��� M��YZ/EP(e'>M��
��ߣ^�9��-x�c$�����@��������E��
 ����C
嗲�;�d*4��]Vg
+q�yn2��"#��#{r*���w+Ϙ4P׏�LD
+��1����n�3-��ێ�<�o�>4��x�Tb$D�d��D������=79�
7����*����)�%eD��P]/ޟ���@TAk���1��)W(��㩫 
����Q����㬫#��<�	FE&3����=
+B��
+
+�l�6���r{c[��2a?)0��&F���S��Z�u4m�m�,�V�p�ʝ2�fuJN�ӄ��Q�9��4�aJ�' �o�S�L�@?
E���V�q+��A
8?��IA���;!�ݱny��I,��k-
'��
|cX���&#B{4#B�XF�n��g����� 
&� \����$>]}2�f�VYO9�6�3j�]O�rF�.�:��\�a�
�>�
��TF���y6ҡ.�
L:�N"ݥ?B:��=
+�(�b�X�JB�9G�s�1t�r��PN��>�A7J93F9�6���J�o
��
X�f˺�	��e]�o�:h[ց�u��e�V�Ǻ�Z�:�JY�8;1խ��?�땘�1��T ��KL)GhG	l}�Q�s�>b���d
+Z5%�
Ou��~5�,�s78G��z�{�\[���R�y��iSZJ��t��[Z�A��
}�E���+$����4�\^��:��c
�(�"q�艹.��8b8����=5�
��`c�exꭜ���$�$
{'40�w]��|Vmb�Z�7�4����SW7��닋�>^�ݻ��U����V_����_�bo;���g=eZ�4��oD ��i? {�.��uß�o�<1
i���0T6�_�������p@�
�ٶBY}�8>vo�X�T���fSV�
201
+!�
+�q��Y7�

�/Ե�L
+endstream
+endobj
+1547 0 obj <<
+/Type /Page
+/Contents 1548 0 R
+/Resources 1546 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1565 0 R
+/Annots [ 1522 0 R 1523 0 R 1524 0 R 1525 0 R 1526 0 R 1554 0 R 1527 0 R 1528 0 R 1529 0 R 1556 0 R 1530 0 R 1531 0 R 1532 0 R 1558 0 R 1533 0 R 1534 0 R 1535 0 R 1560 0 R 1536 0 R 1537 0 R 1538 0 R 1562 0 R 1539 0 R 1540 0 R 1541 0 R 1564 0 R 1545 0 R ]
+>> endobj
+1522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 454.503 254.399 465.407]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a891671c2b9414353067da44a108ac1d) >>
+>> endobj
+1523 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.214 454.503 360.928 465.407]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.099 406.682 332.581 417.586]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_512810c3e349a2f01217c6e426645260) >>
+>> endobj
+1525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.39 406.682 448.104 417.586]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 406.682 513.996 417.586]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 394.727 190.738 405.631]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.77 346.907 359.65 357.811]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_fc650c1c744fbfc4dbd15293b9827776) >>
+>> endobj
+1528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.13 346.907 466.843 357.811]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 346.907 513.996 357.811]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1556 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 334.951 236.107 345.855]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.589 287.131 327.725 298.035]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_7d65378709f5a0c73e711f5528385990) >>
+>> endobj
+1531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.024 287.131 436.738 298.035]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 287.131 513.996 298.035]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1558 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 275.549 176.352 286.08]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.985 227.355 326.438 238.259]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_9ab7b109b1acae567c915b1db83b5283) >>
+>> endobj
+1534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.133 227.355 435.847 238.259]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 227.355 513.996 238.259]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1560 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 215.4 174.668 226.304]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.03 167.579 332.792 178.483]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_1c54d4109f395752ea23822cee000d04) >>
+>> endobj
+1537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.532 167.579 440.246 178.483]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 167.579 513.996 178.483]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1562 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 155.624 182.977 166.528]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+1539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.637 107.803 350.332 118.707]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f99b9dc1c16751ce872dab5245c22fdf) >>
+>> endobj
+1540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.679 107.803 460.393 118.707]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 107.803 513.996 118.707]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1564 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 95.848 223.923 106.752]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
+>> endobj
+1545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1549 0 obj <<
+/D [1547 0 R /XYZ 90 757.935 null]
+>> endobj
+1550 0 obj <<
+/D [1547 0 R /XYZ 90 733.028 null]
+>> endobj
+389 0 obj <<
+/D [1547 0 R /XYZ 90 627.746 null]
+>> endobj
+114 0 obj <<
+/D [1547 0 R /XYZ 90 621.146 null]
+>> endobj
+1551 0 obj <<
+/D [1547 0 R /XYZ 90 522.673 null]
+>> endobj
+1552 0 obj <<
+/D [1547 0 R /XYZ 90 469.582 null]
+>> endobj
+1553 0 obj <<
+/D [1547 0 R /XYZ 90 423.783 null]
+>> endobj
+1555 0 obj <<
+/D [1547 0 R /XYZ 90 364.007 null]
+>> endobj
+1557 0 obj <<
+/D [1547 0 R /XYZ 90 304.232 null]
+>> endobj
+1559 0 obj <<
+/D [1547 0 R /XYZ 90 244.456 null]
+>> endobj
+1561 0 obj <<
+/D [1547 0 R /XYZ 90 184.68 null]
+>> endobj
+1563 0 obj <<
+/D [1547 0 R /XYZ 90 124.904 null]
+>> endobj
+1546 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F11 727 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1601 0 obj <<
+/Length 1960      
+/Filter /FlateDecode
+>>
+stream
+x��Zے�}�W�-Re�@��<�oʗM��q�a�5�!
˼($5��>
�H��4#��TMI
�@w��>
{+{��|s?�{'|/@��»_z�� �S��Gާ�D���c<]����L��÷���QS]�q�=T�j6�
O��*],���R��23Dej������'��O�3!�
+�zV.��H'�~�^��{����[�Ǩ���8��;
��F�z
+4�hDFn%�ܪ��&N�r6����B�I��
�3��FG_:
�;���1��:Ϣ8[��*�?[qdGV3�Ak�=��U^��Լ�0J	ĨT/ie_魝#_5���lΈ�n�����?�Y�h;��
��'7�i��m���
�TX��L��)(|��
��c/���FQ�-	�H
+�h���
�I��y��8��w
w�:'
��|�
+ at H-�3��'��4� �8�ܰA]�r��P�@�1
��3pf�E�C������é��Ϙ�s
�RGǂ�4*�7c���y�L��P`�tH_�YY]4��,�n2耣�BD��(`���5�^e����,�����K{��in΀l K�k�@��aIAА�
�c9���+��	D��� I�BX��ܦ�H'�� �?�A"ї"��8DH��wٌ��s��QX��
 \�:v������~���s at ZUO��������=�����m&��Ln��Xn�h�l�$ip
+��Yg�&L�G��q��RG��[�W|�tq%��/Q��6٢���k���s{�g���Q��
(�c'��e���
� C"!�
+ �'�]���ũΆ�\��X��%z$�Q`㹴]�C�[��Ѯ'�)hm���o�32C�j
czi��9�k�O��8RP{~(��
)�N5M	�O�
xj�۽��d>��&t�v(j1���y�

N� ����@�"��5��E��#
Am�%,�JFQɈ�����l�������|}y{��p-Ȯ!o�u�`�3�R�#���8;Sz��i���N��簈���B@�����YBgײ���?,J��ȇ(�>J$�'�$Ξ�4_A��o����Cᒳ[��Y�h�(����qkqCl��,�h���ˉ��A����$����8>���œ���5��\��:/�*~6^&��]��m}\�W�Ru�>�0h�I��ͻ�5���e^�:z1��-����.���a�&tt��FJ\��8��
jTV�%��X��7����Ġ4pL�Z�ބ f�8�oB`�Hf��Y��)\���y�"%��	�!�*���|��Lgx>�S>����}����ˍk�͗�,�Gv�ڏ���Xo
+�._�
H����5����P_��0�
��<	� ��l��RF�
+��?�~�
�gT���hh��b�Aj�*�w6U�f0�'�"`ʷ��=B�f�bu��	�{
�;{[�`�����b,�N��|~���ݮ
�L�RWn���ɣv��,@
����ڰL���t�6�
+�V�lxw��KH�_�Hr�Pۉ�$:��I35�ݢI��L���#�ڃ5�M��(��Py.��d���� 
/"�Wl�*��9Rs

H����H({P 0
 P~~��H�	8����/����+Q }#�9��� ^{*

n��(l�Vn
�"\T�>�2�n�9#h
s]�	w���F�J�}4ƪ�^�Հ3�I��
�qK�)��I�}���Q
+)�n�<�l�M7I��݀�
wǬ�p
#�&�c��
w��
+���
+�{g�����Ź��
�
w�r��c
����8���
+aX�n�h d
+$�h?9�%wX�o��S
�E��ʓݓ���ia��p~���l�	W��1�!,-��f��ˌ�i�t��&tͻ�賙R�c N��$�����?��f��k�~�Ԇ�+G����姪Zuw��nѢD�,^(�� �wǝ�^
+<$[~�n3�y��
+_B
+P at n�O����O��w(8�-,i
+endstream
+endobj
+1600 0 obj <<
+/Type /Page
+/Contents 1601 0 R
+/Resources 1599 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1565 0 R
+/Annots [ 1542 0 R 1543 0 R 1544 0 R 1604 0 R 1566 0 R 1567 0 R 1568 0 R 1569 0 R 1570 0 R 1607 0 R 1571 0 R 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1576 0 R 1577 0 R 1610 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 1614 0 R 1587 0 R 1588 0 R 1589 0 R 1616 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1594 0 R 1595 0 R 1619 0 R 1598 0 R ]
+>> endobj
+1542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.052 686.039 367.489 696.943]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_bbbdd7f3c4800ef97b642142cd68648d) >>
+>> endobj
+1543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.251 686.039 473.965 696.943]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 686.039 513.996 696.943]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 674.084 236.107 684.988]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 637.222 261.841 648.126]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f232ff2f43109950ac1b0f5d124cf4cc) >>
+>> endobj
+1567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.656 637.222 394.382 648.126]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.303 563.807 315.869 574.711]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_643dad56c4e24b32e2c4951aee7a6822) >>
+>> endobj
+1569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.881 563.807 457.607 574.711]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 563.807 513.996 574.711]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 551.852 190.738 562.756]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.417 514.99 281.164 525.894]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_86c148ed14d1a2781e07bea5be7fb434) >>
+>> endobj
+1572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [286.291 514.99 415.017 525.894]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 514.99 513.996 525.894]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.151 503.035 213.632 513.939]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.135 466.173 329.415 477.077]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_e7af7908bffe9b331262dcf8fd020b7f) >>
+>> endobj
+1576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.259 466.173 466.985 477.077]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 466.173 513.996 477.077]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 454.592 178.862 465.122]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 417.356 252.436 428.26]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_e861c5919e346c3966c43edc4cd47276) >>
+>> endobj
+1579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.252 417.356 384.978 428.26]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.97 332.982 311.817 343.886]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_225478fba412d40b785e2b41809cc90d) >>
+>> endobj
+1581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.497 332.982 418.211 343.886]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 332.982 513.996 343.886]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.151 321.027 239.644 331.931]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.051 273.206 336.188 284.11]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_84c2e36e2ae01775ce542ebc83739726) >>
+>> endobj
+1585 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [342.948 273.206 445.662 284.11]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1586 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 273.206 513.996 284.11]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 261.625 178.862 272.155]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1587 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.266 224.39 350.567 235.293]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_bfe9ef58fb96938e1c26b63e2b4ce0d1) >>
+>> endobj
+1588 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [359.543 224.39 462.257 235.293]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1589 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 224.39 513.996 235.293]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 212.434 236.107 223.338]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.666 175.573 379.739 186.477]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_3530a20e5985d6da8acabad37bfe0e93) >>
+>> endobj
+1591 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.115 175.573 491.828 186.477]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1592 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 163.617 253.821 174.521]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.455 126.756 338.122 137.66]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_8172cf537ccecb7826eb21837b8d7e7b) >>
+>> endobj
+1594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.288 126.756 447.001 137.66]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 126.756 513.996 137.66]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 115.174 178.862 125.704]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+1598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1602 0 obj <<
+/D [1600 0 R /XYZ 90 757.935 null]
+>> endobj
+1603 0 obj <<
+/D [1600 0 R /XYZ 90 703.14 null]
+>> endobj
+1605 0 obj <<
+/D [1600 0 R /XYZ 90 654.323 null]
+>> endobj
+1606 0 obj <<
+/D [1600 0 R /XYZ 90 578.886 null]
+>> endobj
+1608 0 obj <<
+/D [1600 0 R /XYZ 90 532.091 null]
+>> endobj
+1609 0 obj <<
+/D [1600 0 R /XYZ 90 483.274 null]
+>> endobj
+1611 0 obj <<
+/D [1600 0 R /XYZ 90 434.457 null]
+>> endobj
+1612 0 obj <<
+/D [1600 0 R /XYZ 90 348.061 null]
+>> endobj
+1613 0 obj <<
+/D [1600 0 R /XYZ 90 290.307 null]
+>> endobj
+1615 0 obj <<
+/D [1600 0 R /XYZ 90 241.49 null]
+>> endobj
+1617 0 obj <<
+/D [1600 0 R /XYZ 90 192.673 null]
+>> endobj
+1618 0 obj <<
+/D [1600 0 R /XYZ 90 143.856 null]
+>> endobj
+1599 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1637 0 obj <<
+/Length 1494      
+/Filter /FlateDecode
+>>
+stream
+x��XYo�F~ׯ ҇�@�ڃ�#(
+ı](���2P4	ZZIDy(<|��w���DYv�@r��\
�3�~���bcn`����78v��#ߡ�1�>6\� N�1��Ln�	��\.��t8
+F�E<3��E����S��aZ�|N�z�3Q���
�r���/㏽�q�k����A��q������
6�0������q[[%�M\c��G��7�s!�F�e�K�W	
�eUΫ.*��*��Q�ut���1����ѧ9���R�y����S��zX&��u�����2ʂe��I��0�(
+cӥ|�3��Q���	Ŀ�YPnsw�H�U�.5<�ڱe֔B���C�n�H�]cp�uc@�2�S
w.r(m
�l�Q�6E9ͪr�Fu��
m��y��
���>��2�����p*��'G*-��ǐÚ�>c̔Q'�
Y!��0y�� �C�>q Mwo���)ZS�эH�m����o8@ �v��1����
3(,^H��"̷R�F.��
z�G���Y�R��=�(T�$��lү�RL�(��s�`�m�z�E��i"jO��hbn.�cT�kn1�e���כ(�?u�;�oɁ��}eX¹C~>��DQ0���kT+='��&c
y
�l>���8������3jU�QY'�R]
+����0�xͶ������nSPʰ� �����o#����8
��Ǯ
�
+�p�����+
+b�v�W'��.yE�6��l^�r��f�ls�!�u��.�ivm4�}���s��M O�n=@����P�a7�z(�I
-˨Y�9���F������a�~)ZT��Y����L�|\�G�
)�-��:�_�Jm�iPʝ|DW�<��7�Tt�P��,U�f

+��m=�O�vNV�P�X+�[[ �H�v ]�
�3���.�{,���`�M����6�r���-I����s��|U�g9��
�2��uڲpka�4�K
��f
�C�O�U]����P�97�B/&���P�Uϫ<2 'vv�K�9�!��L2E�zUw��N柢tWS

!k�
T�o�/[|�춮���@��'w;^ˮ_[�׫�-�
zmB��]�xE����i�d�8��f�,²�T�,�\ߤ��3�u� �8�'$�{� ����}r���B�>?�N(ԝ�k
>�F'��h<<
���"�����Ypz~x����;������,>d�zAm��7Ix%�?�N��F �͐F_: |Y�҄R�(t�x
�^�(�a���²�y~prt\�-�������������@�]�B�Jg","P�rX�8R�4������=j�Wg�G���:��i#�?:fz�>���I��!�x�=���!?�.4�������p$�d�'�Ta���
1���It�����z,L�U8�mC�]�*D���Rt�?
�*��v�t#?)�UC��[A�L�d�Blk�y)�FF�����ޫ��*9�@s��(������M
+T��2GQ9��?xX�V^�T�n�iU�,M{	|�|���;�dF)&��u��/��$|
+endstream
+endobj
+1636 0 obj <<
+/Type /Page
+/Contents 1637 0 R
+/Resources 1635 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1565 0 R
+/Annots [ 1596 0 R 1597 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 1634 0 R ]
+>> endobj
+1596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 698.267 269.601 709.171]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_690fbcd5ef7202e646b30d92bdadcc29) >>
+>> endobj
+1597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.417 698.267 402.143 709.171]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 661.769 272.919 672.673]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_46773b226d490e5bbf6f3d587cf29dc4) >>
+>> endobj
+1621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.779 661.769 465.505 672.673]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 625.271 277.9 636.175]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_50bcfefbf053e770951fa02c2e2eb112) >>
+>> endobj
+1623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [331.24 625.271 459.966 636.175]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 588.773 283.987 599.677]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_c21bf6dd42b915ff6f157fb73fe396e0) >>
+>> endobj
+1625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.803 588.773 416.529 599.677]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 552.275 278.448 563.179]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f78187771d58e90c174eeba577a471d5) >>
+>> endobj
+1627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.264 552.275 384.978 563.179]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
+>> endobj
+1628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 233.256 346.513 243.184]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_df86eb3611cbe63b34ef195bc87a7312) >>
+>> endobj
+1629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 196.759 342.637 206.686]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_32423400858178cc05f325962afd44e2) >>
+>> endobj
+1630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 160.261 338.045 170.188]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8efd1f7de8fb2bbe6e33aff1d4184078) >>
+>> endobj
+1631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 123.763 340.247 133.69]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8ca7076566ebe098ff3bc307b4d91899) >>
+>> endobj
+1632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 87.265 330.842 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8f2ab3d77bca7257df14bda9261a1326) >>
+>> endobj
+1634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1638 0 obj <<
+/D [1636 0 R /XYZ 90 757.935 null]
+>> endobj
+1639 0 obj <<
+/D [1636 0 R /XYZ 90 713.255 null]
+>> endobj
+1640 0 obj <<
+/D [1636 0 R /XYZ 90 678.779 null]
+>> endobj
+1641 0 obj <<
+/D [1636 0 R /XYZ 90 642.281 null]
+>> endobj
+1642 0 obj <<
+/D [1636 0 R /XYZ 90 605.783 null]
+>> endobj
+1643 0 obj <<
+/D [1636 0 R /XYZ 90 569.285 null]
+>> endobj
+1644 0 obj <<
+/D [1636 0 R /XYZ 90 517.303 null]
+>> endobj
+390 0 obj <<
+/D [1636 0 R /XYZ 90 405.087 null]
+>> endobj
+118 0 obj <<
+/D [1636 0 R /XYZ 90 398.204 null]
+>> endobj
+1645 0 obj <<
+/D [1636 0 R /XYZ 90 299.814 null]
+>> endobj
+1646 0 obj <<
+/D [1636 0 R /XYZ 90 247.268 null]
+>> endobj
+1647 0 obj <<
+/D [1636 0 R /XYZ 90 212.792 null]
+>> endobj
+1648 0 obj <<
+/D [1636 0 R /XYZ 90 176.294 null]
+>> endobj
+1649 0 obj <<
+/D [1636 0 R /XYZ 90 139.796 null]
+>> endobj
+1650 0 obj <<
+/D [1636 0 R /XYZ 90 103.298 null]
+>> endobj
+1635 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1685 0 obj <<
+/Length 2047      
+/Filter /FlateDecode
+>>
+stream
+x��Zmsڸ�ί����LQ$K���OmJ;�&Mn���L�a
,�����&�쯿G/66��~�-����s�s$����և��q��C-���X��c�u�6�ơ���"�C�1�gY<����������X,'e0
m��I)�Y0��V̄j&U�e%ǃ���z�q�
���E�|�E.��t���[!��faD}�zT���)��u��o�7K�׶<X���Z�ȆGצ;\/�<
���L���T�J�2ZF��P��b�C��+~�k�2(WR���Ag�9n ;�m�0�J�ic��6o�a}
r�:JJS-1���[�@�ss���v�p�����jr~�i�_/'7�}s5�n'�����_�_|������Մ"��M
gi�bh�H�
+r�G�(� �iRꆱ� ox?X
+ ��J�E�
7��x�'�џ���O�w�ٽ(�b`����}�~{U5U���w����
ލG����x2z�a4��F�>�_�#��/�W�L�J��DQE8�?�X��q�H����
^/���
�O�ǿ`L���;�����A�'��&NR��jZ�y�ZO�(�y���+HL4y'����76
 a
�� F�#������ Sy��Dn
�gy��D�I��E�&�3��`���h$&�X��ďR`0f�I/
+�N6�X>C�G�6�2�^�X"���a(����>� ��|n�}��I����E�}	a���[�".m���*�C���D�<z����
n����9ޜ�3H`x�G����r�c׀�\{̣RTf%�\��ظX��2�HZ�a���E�e����ܞ�����U��ԎR�@����=�o��uB��D��=!ѹ�(vsY�8|�(S�Y����+��1Z�@wr����\�6����i=�e�� ����r ���k�X	�*�\��5�G��R��|h�����(K���q�g:�>�d�gz�#��.���3�}lf��&�ڼ{*�#j׺9-:�"��v9@��?1-�3�l��[�
.C�U�Xt�  ���3Zr9��� �d��9Ej6��2�o��x�e5Dˎia�^��?
�v2e#
���͖iP���b{w\ߡt��)��g�
+�*
%��ҐJ�|�0ক�уui�&:I`��XEP(u0�7�C~)�g�U}t�i�=�
+��1�\��M;� �^@	]{��	j/�g},W���D���'c�v��Tw
�PRol7k��3C��T��
����`{��
�ٮ�V������Q~cf�r��K:��!�x����E>=�����X��;����趋<^
l�"�r_�%�
܅ԩ��]c�8t���B�R좖l��ZkN�J���LC
�8
+�:��;m�#A�v�����% ��_��r���7uZ7����C�in�(K��>�Tw�V�<F�9~)�{���*�cC�{��
C2&^x#@�$@Ѻxo��*yg2�O���J�h���O�
��qU��ү=���IX+ڝ0��w��HK:�9�ɳ>��v�s�h$���EZ	����5�Э�B�'i���__D2��B�Iם��
j�O9�3]x��PQ�z[�LV�{�O���*����]�-�����
+&��k�$/�8yPJ�l��9ϡ?��z�ڴU;&�J�i�ؿ�_)r�@�|(}5�G�cg����V
��H��j�=������&��g_��p0p�_��AkR�
`,K�0
*�'�\2�(uERWE\h���u� ׿(>u
��Al�Qv��F�����b=��Ak�Z�
[�n�'c���9��i�b��Wk���E���S[��%UnrͫP������"��=sP%Z[�����z�罐�eUT�,[%��;�l&k��&p<�����3��� ��|�z��G�*�+�n���
�n��i!�ܼ^F�y��d����|�E����
��2��A�*HV����"_��`�H�
B�{�
���D��oV��H�^�
Gv۩Y�(��׳���G4-�*��
E�h��v�
��ϺuQ�`���p�A�]�c2�(��Ku)�����`�P
+endstream
+endobj
+1684 0 obj <<
+/Type /Page
+/Contents 1685 0 R
+/Resources 1683 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1565 0 R
+/Annots [ 1633 0 R 1651 0 R 1652 0 R 1653 0 R 1654 0 R 1655 0 R 1656 0 R 1692 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1694 0 R 1661 0 R 1662 0 R 1663 0 R 1664 0 R 1696 0 R 1665 0 R 1666 0 R 1667 0 R 1698 0 R 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1703 0 R 1682 0 R ]
+>> endobj
+1633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 698.308 426.413 708.236]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f63454e50c1937573c75495f3cb4c1d2) >>
+>> endobj
+1651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 662.114 451.11 672.041]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_9dfe99ee7d8e2b1d7360ab0119bd12eb) >>
+>> endobj
+1652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.287 625.919 513.996 635.847]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_34e5d32c224ab8293ff78c85d86e5f79) >>
+>> endobj
+1653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.032 577.769 511.579 587.697]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_c379f873623c0fec37d988c2c374ffe5) >>
+>> endobj
+1654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.223 505.213 342.668 516.117]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_b95e9f75dd971827c8a9a6b42faeeac7) >>
+>> endobj
+1655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.601 505.213 439.515 516.117]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 505.213 513.996 516.117]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 493.258 190.738 504.162]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.701 457.063 238.195 467.967]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f59141db49e5141da6ac594d43ead2f7) >>
+>> endobj
+1658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.606 457.063 328.52 467.967]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.304 457.063 448.66 467.967]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 457.063 513.996 467.967]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 445.108 210.673 456.012]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.451 445.108 353.177 456.012]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.625 397.954 321.906 408.858]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_70c652d969734f6a69841d30a5e9033b) >>
+>> endobj
+1663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.24 397.954 410.155 408.858]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.266 397.954 513.996 408.858]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 385.999 168.601 396.903]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.867 338.846 331.706 349.75]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8bda1b8ba9119202c16f88fdb19a535b) >>
+>> endobj
+1666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.283 338.846 421.197 349.75]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [442.266 338.846 513.996 349.75]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 327.264 168.601 337.795]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 290.696 243.041 301.6]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a1663bce444a20240c852c9443005cc0) >>
+>> endobj
+1669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.857 290.696 356.783 301.6]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.998 219.116 289.765 230.02]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_d2154705f0854002a4f44f95580df9c7) >>
+>> endobj
+1671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.473 219.116 405.4 230.02]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 219.116 513.996 230.02]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.382 170.966 375.219 181.87]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c) >>
+>> endobj
+1674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.311 170.966 491.237 181.87]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 159.011 208.451 169.915]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.636 122.817 331.776 133.72]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_4da79f8c645b945d52635733c3f63d7d) >>
+>> endobj
+1677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.122 122.817 453.049 133.72]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 122.817 513.996 133.72]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.861 190.738 121.765]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1686 0 obj <<
+/D [1684 0 R /XYZ 90 757.935 null]
+>> endobj
+1687 0 obj <<
+/D [1684 0 R /XYZ 90 714.266 null]
+>> endobj
+1688 0 obj <<
+/D [1684 0 R /XYZ 90 678.071 null]
+>> endobj
+1689 0 obj <<
+/D [1684 0 R /XYZ 90 641.877 null]
+>> endobj
+1690 0 obj <<
+/D [1684 0 R /XYZ 90 593.727 null]
+>> endobj
+1691 0 obj <<
+/D [1684 0 R /XYZ 90 520.124 null]
+>> endobj
+1693 0 obj <<
+/D [1684 0 R /XYZ 90 473.997 null]
+>> endobj
+1695 0 obj <<
+/D [1684 0 R /XYZ 90 414.888 null]
+>> endobj
+1697 0 obj <<
+/D [1684 0 R /XYZ 90 355.78 null]
+>> endobj
+1699 0 obj <<
+/D [1684 0 R /XYZ 90 307.63 null]
+>> endobj
+1700 0 obj <<
+/D [1684 0 R /XYZ 90 234.028 null]
+>> endobj
+1701 0 obj <<
+/D [1684 0 R /XYZ 90 187.9 null]
+>> endobj
+1702 0 obj <<
+/D [1684 0 R /XYZ 90 139.75 null]
+>> endobj
+1683 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F50 143 0 R /F23 144 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1741 0 obj <<
+/Length 2103      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~����l�fxEq{ڊv�
�
{h
C��D�-y��4��;��bIv���I2M


~߹�ػ���仛��ۀyɀ��ʓ�A��&�>L"|6'��v�^��ûŻ|F�iv�V�E�����i��U�T��{�Rf�J�փ��>��8ys3�{B`��H0�-7������
FL�ރ���|����'�M����Ӝ��֙( 	�Dܹ>Rʍ6�2�Ü�!��t�Z��Ω��L��oY�Z �mnU��V�e�e
���+Y/��9>(ڈ5���C�6���
)1��d��"���\O�B��7Hέ
�ǭ����-mc�H�|c-�1ӳ;���
i5g�${"т�2|�
+�|�cN�~hW��'�*,������*�P�{�	{b�=�jBy��h�Ⱦg+���5#|j/�
�
+I�$u��%�TT$p#�S>cb�f>�ށ}k�}}�(���t&"~5
�1���4�Q�UJ�!#��Y�
�Q�H�Xis}�A�^��Il��v�C8O��严�����Qf`�(�'P�F�vy27���?L
�iT�g8���"�(���}y��qS"+��np��Ƽ
>���,��
+YIJ����v�K���	h����0��_4�ӟ���S5�+��
@���9	%�,0.Gr���|ncؐ�!H���m�|
oF
�
��������e2�|�Y�W-V��R
�,�a�V�8s}Ha?'���Á�͗m�6?FC�#N�Y,\��i�s�`���BM�p���Ɋ0zX�<����
ھ��S8����"��ڋݥ~v�5�LLk���7/O����'p
�kO��T,�HT�r�9D!�[�p�P����Q����
�)�-�M�O�M��d��.Xt���
N�(�6����~��]��
�};bα�Փ-~�!�⇄>d����$�
�v��f�V��?y�a���&6
��"�N@m�<���
�C	PH�%!#ob���A��v�U�oT�j6����IQ�qe�$�]U �
+��Tu +f���� i\� iO���9ʓr�o\��x���m�L
��>��:��>ں/7�_�D�c�m�� K
+�:l7�_�
r��	0����2�n�"8��^��n�J�,���[

v����c���Uq�1
���xȥ�mB����[4jנIC��ѽdq�z�;�v�߉���6�Mas�D\��˵���"��S�Peq��J[
73r�y�9��U>���=��
+r8׷ڃ�v���=+C*�0�6�Z� r.T�qw
-a�-j�3��F����XQia�
+(���d����`Z�aj���z�
J��}� ��V��XT�\C��u6N
�P�#y�#�]�`'jA��Y��,�ze��Y8g����H€��&�jw*�Ά�3�Z�q�
ڌ�{�a6'��~z����.f�c�p�ܥ�p(���e
��4r��[����1b;�����r
L��@��uѓ2N��6窕�~��x��&���^BB~\��*�!�d��҅�O�:�1	
�Ex;C���qZ���?�=i��{T����T�ۮ�eT�s�t�.��'
��F�^������&Qe�V���r��ܪ̺�3%�����e��@�F���7�[�n�rL��̪,8����"U0$9'�ܺ��Q�����>���&�E��

�x^��|@)$�Q*	iP5#�A����^5���'����z0�]?��8@�e1&���|ԅC�ɚ	��.
�^��`
PBL���/�mg��"�B\+q
����5�Q�~z��X��n#����Mz
�8���Rg�i���������1Jq�R]J����O�
�˦K<�=���hE
�ɲ3!ԗ#%�?
����$��;��s
�jN��s���vW�K��l�;N�����_m�h|ȉ����I ) /���v ��w&T�G�w���^Ź��sr�G�#�k7�w��N��=����a�{��f�O��I���u�y��
&�	Ӏu�ʵ��b��W��41w�
�
Ѡ�����~}u���ڥ�6GIyD���@)<i�{Y���d�r?�AU(Ciָ#%��F���
��hl
+endstream
+endobj
+1740 0 obj <<
+/Type /Page
+/Contents 1741 0 R
+/Resources 1739 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1565 0 R
+/Annots [ 1679 0 R 1680 0 R 1681 0 R 1744 0 R 1704 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1709 0 R 1710 0 R 1747 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 1752 0 R 1720 0 R 1721 0 R 1722 0 R 1754 0 R 1723 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1728 0 R 1757 0 R 1729 0 R 1730 0 R 1731 0 R 1759 0 R 1732 0 R 1733 0 R 1738 0 R ]
+>> endobj
+1679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.748 707.957 310.757 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_6a8d9c1c40c886054ef76aac268f33b0) >>
+>> endobj
+1680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.215 707.957 424.141 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.002 144.243 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.64 659.14 297.22 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_4b9b7034fd7b17eff672d49a7c85ac2f) >>
+>> endobj
+1705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.57 659.14 410.497 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 659.14 513.996 670.044]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [132.846 647.185 227.828 658.089]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.445 599.364 294.901 610.268]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) >>
+>> endobj
+1709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.056 599.364 409.982 610.268]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 599.364 513.996 610.268]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 587.409 179.112 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 539.588 296.739 550.492]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_b50ac757b6cb922c40504dc69c983568) >>
+>> endobj
+1712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [300.555 539.588 410.482 550.492]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 502.727 233.637 513.631]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_c39a1aacb6aa4f54150e2b138d7b36f2) >>
+>> endobj
+1714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.452 502.727 347.379 513.631]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 418.353 238.608 429.257]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_5357e1ed14407abf82149fe878789efd) >>
+>> endobj
+1716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.423 418.353 326.338 429.257]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.867 381.491 366.786 392.395]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_44aa5cc75376dddfb9005dd74b27ff68) >>
+>> endobj
+1718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.363 381.491 459.278 392.395]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 381.491 513.996 392.395]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 369.536 190.738 380.44]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.204 332.674 362.443 343.578]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3659fef24b67be6b668955bc6865e779) >>
+>> endobj
+1721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.357 332.674 456.271 343.578]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 332.674 513.996 343.578]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 320.719 190.738 331.623]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 272.898 277.91 283.802]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_36c57e3007fcb2340dc415f8431df7aa) >>
+>> endobj
+1724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.726 272.898 365.64 283.802]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.621 272.898 481.604 283.802]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+1726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.687 236.036 288.366 246.94]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_5e359194d7a21e72a49aee51dbac25c4) >>
+>> endobj
+1727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.763 236.036 382.677 246.94]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.466 236.036 513.996 246.94]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 224.081 164.178 234.985]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.789 187.219 313.294 198.123]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f349e801a615b2014d36c30fdb56022a) >>
+>> endobj
+1730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.794 187.219 404.708 198.123]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 187.219 513.996 198.123]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 175.264 179.112 186.168]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+1732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 138.402 312.789 149.306]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_39e443628f6b73203b0f66189b8bc1c6) >>
+>> endobj
+1733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [316.604 138.402 400.519 149.306]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1742 0 obj <<
+/D [1740 0 R /XYZ 90 757.935 null]
+>> endobj
+1743 0 obj <<
+/D [1740 0 R /XYZ 90 725.058 null]
+>> endobj
+1745 0 obj <<
+/D [1740 0 R /XYZ 90 676.241 null]
+>> endobj
+1746 0 obj <<
+/D [1740 0 R /XYZ 90 616.465 null]
+>> endobj
+1748 0 obj <<
+/D [1740 0 R /XYZ 90 556.689 null]
+>> endobj
+1749 0 obj <<
+/D [1740 0 R /XYZ 90 519.828 null]
+>> endobj
+1750 0 obj <<
+/D [1740 0 R /XYZ 90 433.431 null]
+>> endobj
+1751 0 obj <<
+/D [1740 0 R /XYZ 90 398.592 null]
+>> endobj
+1753 0 obj <<
+/D [1740 0 R /XYZ 90 349.775 null]
+>> endobj
+1755 0 obj <<
+/D [1740 0 R /XYZ 90 289.999 null]
+>> endobj
+1756 0 obj <<
+/D [1740 0 R /XYZ 90 253.137 null]
+>> endobj
+1758 0 obj <<
+/D [1740 0 R /XYZ 90 204.32 null]
+>> endobj
+1760 0 obj <<
+/D [1740 0 R /XYZ 90 155.503 null]
+>> endobj
+1739 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1793 0 obj <<
+/Length 1843      
+/Filter /FlateDecode
+>>
+stream
+x��Z�r�6}�W�Ҍ�B�Ҿ5�3n���Ӈ$�a$Hf+�,	�q��
�H���T��IQ��{p�bg�`�m������cN�B�z���	��{qJ�����#�C�1�g�b���v|�H�O�.�r,��`H9��$R�h"�Ǐb&�a")a������_zo�{�̏
R��}�3�L��O_�3��8�0p
�QKǥ
�
������q]�k:�#~�S��ǵ"�)����wΧ!��D��j9�ܬ�c9@�z��V9.�E$��3�4�'�B�o>c���ZJ��I!re��e��,���^G�>u��s�֔"�%ΐ0p�Q����<)�O"}��"���8
+������2�p�&d�|�	rI S��aezPc$@, vLlfn��'�,0�__
֗T>��1.Ā�>jU|c��ۇĥ�u�!X�X�v��"]�Ւ����[��"��'�Q��������z��7u���a�
s���81l%�*�����@FrU��S�#L}p�"%��R��TX�տh����_�������*�i��-�v�vXX�j��Ú��>q� �CPh��V$"�d��Ck~u�R1S���:�E"�E%�ew¦"9��E�gMȿYk�m��x��\�F�e+�QQ��BpV^��m�d���-�8b~��N����a[�
v�n&�"��q�[]��ݠ_M��
�e#l�g�As��5��7
\l�
�d�%
ú(
�
�͏'C!�
+��qL}K-��C�L�2m��Ư�K���;�p��S�
�)��T3|Q�!<z&k�����΃8kr�:�-������?��QN:����=8'����Ѽ��淁���P'�C}�b�cݒq���|D1���A��39�� a�u x�V�G���xvrY��:�u�}?�]�?6KP���
-1����k�}hK������J+1�\���q��,�Q�ń�C2q[X��	6��NHYm�Wi"u�o��Ub�GK�~��<��!����4�
+�
��'�t1��j.]�]U���I`��
+25�@zj	Tj�3N �UU�Q{H��ѫ`�ڂ$�  o���B���N*�(�K��݁�
�Tl{fLԇ�Y�	��A���������a�{'`���18��(��
H��l�$�J�~[I��^��RS���
F�qqQ6��޹UKmKj(�5�r��7��j��@�+#D�TݣBNӕl��(��ֻ!G!�� ��{���w}��V��f��P�N�(
����Iא�/wХ@ьg�x-l�����

���M�t�PX�uZ 6Qq4n&Qފ��F+��;V3Q��@�3Dݠ����)!o^��a�?�bj�ǹJN!	��:�PGy��||�'*&>�P\lw���u
�6K<���"�j��Y�a��N*�b���j�]6?<C�4��
x�4 ��?���Ӡ�נv��/��� 3�=�����0y��\o�!���,BR�]g�qQ�4�^(k>�%����X�Ј���Xz
+w�%u,�9a;���N��2o �Sݏ�`?�v�m�>�v�JI��- D�{ ����e�ע��qf�ȶ|��isM�}?p�)���ɴy:Sl��jݾ=��PI-�����m�!_"����:�����(3+� �M#*�G���j�
|�Vqļ<Ѭ���`�
B��~m�
��cߚ�oIx(�Y`��P� �m�۲�̗&�ަ��1���w��<ʟL��<���*���� 
C�^����}c��Q���1�
��5/�����,��-�C��mXj3��ػ_{��(G=u�S�郔ُ����#�h��Y�b9n햋)� �T!���2�˅@
��wP[}�
��3
\�d�������
+endstream
+endobj
+1792 0 obj <<
+/Type /Page
+/Contents 1793 0 R
+/Resources 1791 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1565 0 R
+/Annots [ 1734 0 R 1735 0 R 1736 0 R 1737 0 R 1761 0 R 1762 0 R 1763 0 R 1796 0 R 1764 0 R 1765 0 R 1766 0 R 1767 0 R 1768 0 R 1798 0 R 1769 0 R 1770 0 R 1771 0 R 1800 0 R 1772 0 R 1773 0 R 1774 0 R 1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R ]
+>> endobj
+1734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 719.912 270.727 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_cdbb5fd3fa1ab9faed26fc5be47cc0d2) >>
+>> endobj
+1735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [274.542 719.912 384.469 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 684.636 240.132 695.54]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_43a14864f62b4528d6c87856cba4da34) >>
+>> endobj
+1737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.948 684.636 353.875 695.54]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.842 650.559 330.976 661.463]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3ff750009bec94ab2c9a01139ba22420) >>
+>> endobj
+1762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.528 650.559 444.454 661.463]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 650.559 513.996 661.463]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 638.604 174.668 649.508]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.129 638.604 256.61 649.508]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.803 638.604 351.284 649.508]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.394 604.527 277.987 615.431]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_e5845918fa5037ca4e9bdde4a4a3ecf2) >>
+>> endobj
+1767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.091 604.527 394.018 615.431]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.149 604.527 513.996 615.431]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 592.572 129.857 603.476]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.069 557.295 297.856 568.199]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_894587e76b98f15a8ae120327dc9d532) >>
+>> endobj
+1770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.635 557.295 421.562 568.199]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 557.295 513.996 568.199]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 545.34 174.668 556.244]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+1772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.837 510.064 277.739 520.968]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_2b4edec92d54747f5f1d2904407e744a) >>
+>> endobj
+1773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.286 510.064 393.212 520.968]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.089 510.064 489.57 520.968]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 498.109 196.576 509.012]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+1776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 428.26 309.441 439.164]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae) >>
+>> endobj
+1777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [313.257 428.26 423.184 439.164]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 392.984 308.336 403.887]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_396b429302ce49ea9915778c317b81d2) >>
+>> endobj
+1779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.151 392.984 396.066 403.887]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 323.928 250.802 334.832]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_7397b715c2ccf3f6fcf2f3900efe10d6) >>
+>> endobj
+1781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.618 323.928 364.544 334.832]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 288.651 254.12 299.555]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3789c297e202c735dbd829cd6cbed989) >>
+>> endobj
+1783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.979 288.651 427.906 299.555]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 253.374 259.101 264.278]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_086e697a92a664c83721e0c442d45271) >>
+>> endobj
+1785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.44 253.374 422.367 264.278]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 218.098 265.188 229.002]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8190bd5fde521e37c585c5c59b65f90d) >>
+>> endobj
+1787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.004 218.098 378.93 229.002]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
+>> endobj
+1788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 182.821 259.649 193.725]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) >>
+>> endobj
+1789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.464 182.821 347.379 193.725]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
+>> endobj
+1790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1794 0 obj <<
+/D [1792 0 R /XYZ 90 757.935 null]
+>> endobj
+1795 0 obj <<
+/D [1792 0 R /XYZ 90 733.028 null]
+>> endobj
+1797 0 obj <<
+/D [1792 0 R /XYZ 90 621.232 null]
+>> endobj
+1799 0 obj <<
+/D [1792 0 R /XYZ 90 574 null]
+>> endobj
+1801 0 obj <<
+/D [1792 0 R /XYZ 90 442.942 null]
+>> endobj
+1802 0 obj <<
+/D [1792 0 R /XYZ 90 409.688 null]
+>> endobj
+1803 0 obj <<
+/D [1792 0 R /XYZ 90 338.61 null]
+>> endobj
+1804 0 obj <<
+/D [1792 0 R /XYZ 90 305.356 null]
+>> endobj
+1805 0 obj <<
+/D [1792 0 R /XYZ 90 270.079 null]
+>> endobj
+1806 0 obj <<
+/D [1792 0 R /XYZ 90 234.802 null]
+>> endobj
+1807 0 obj <<
+/D [1792 0 R /XYZ 90 199.526 null]
+>> endobj
+1808 0 obj <<
+/D [1792 0 R /XYZ 90 149.039 null]
+>> endobj
+1791 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1818 0 obj <<
+/Length 1696      
+/Filter /FlateDecode
+>>
+stream
+x��Xms�F��_�����|wpp$��d�ډj�ә:
�N� P���w�
Ž���'��no���g������������,�E
��‰�1J��ܹuCD��`���f=
)v�$�JQ��!��Nr��,���ļ���t�ge5M*Q�U^L�x9
Q���
��L��+�����=�e������t2�c@@a�� 
Q�1g�n�`g�
���;;�+u|���ڹ
�2�K=�V�5������m6�j��J���m6��<�o'�l�����(����<?j�G�\ (�����t�!�[�tZ��oY��g̰ܦ��n��mGg<j�F9C�F���;M6zS
 Їab��%�lb�MqJ��B#�E�d��s��|F�	Q@}}�Z��\a��V�(0� P(;z�"����[����WZd!�m�%�	���HHE�L
�%�j["d6J:����
<���'��t)*+_wO���(��,��x|�
x�������z�vrs=��xv���
�zL�#Bjg&
П�Ix�HƒER�$���ri/�B���1�aӛ>W3���^c5
�`
y�ϥ5É̤�>�|<9=��� mi�ʍ𠍀���� [...]
+����S>4r
\A
�
��4��v��*I�I�|����
��
��
:M��M��"�Kt*#��@,S
'�h�.j����E�C�>�
!���)l�JC�S
�
��T�^d���\K��=�(�A\�T��\,d�ΠU��9T-R'j�M���{/ }.�>頼�d递Al�08��܃c��ѓvryѪɐ�=Z��>y����u��Xy�����;�nɃ�
��{��P�!ؒ�
G�)�T@�ԩ:{A��kV�el�ȁ�����[���\hf�E���y�Ѡ��Ȩ0�l
���}:˧C��61�JƁ�U2[='�v���ᝰ��:P��a���-�L���
qR��C`�%�L��mHk�@r���sL�
�
��lYf8�>�<��Y���<M������
p�z}E�ku�P����)�S[פ
+Q��.^lN�Gԭf
	H�H��:>�����z���xzA�/UPȣ
+
+������=;(%�n���8��#��S>L~�!AMj}f�SΧ/��Og����z
�?��^�i�
A� ڊ��ykQG����O��EE�����[�*�V�E��

�z�K�vu
 i`-ڑ� X���&� ��R��u[��l��\C�\���B3��bDz>�!�7GU!T�ƨ*jգ*/t���G@
+C_�!V_�k�6�B�!�����?���Uv\���!�.އVR~�G�v`��G�h���bikW�v
5���
�Q3�Z��ݾ/D��Ƽf�ZكUgx&k�Ǽ�ظ��.m��
r�g*�;Qt�D���pi�"��3qk
{,�+�J�+;�L�$^'5�v≨�����4�k���HS�2-���A�2Y��;\0�
P\����}��"�+��~96kq���KќҶX��O27M�]�����n���|�l
+A<	=��
v��0�h~w���z��7��yu뱪��룣�n�f%�fɦ@Iua{t��{)��%�N�4/�%U�
pA)��;�`c�㏦��F�
+endstream
+endobj
+1817 0 obj <<
+/Type /Page
+/Contents 1818 0 R
+/Resources 1816 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1825 0 R
+/Annots [ 1812 0 R 1815 0 R ]
+>> endobj
+1812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.557 167.829 500.327 178.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1819 0 obj <<
+/D [1817 0 R /XYZ 90 757.935 null]
+>> endobj
+1820 0 obj <<
+/D [1817 0 R /XYZ 90 733.028 null]
+>> endobj
+1809 0 obj <<
+/D [1817 0 R /XYZ 90 716.221 null]
+>> endobj
+1821 0 obj <<
+/D [1817 0 R /XYZ 90 716.221 null]
+>> endobj
+1810 0 obj <<
+/D [1817 0 R /XYZ 90 590.626 null]
+>> endobj
+1822 0 obj <<
+/D [1817 0 R /XYZ 90 576.166 null]
+>> endobj
+1811 0 obj <<
+/D [1817 0 R /XYZ 90 429.43 null]
+>> endobj
+1823 0 obj <<
+/D [1817 0 R /XYZ 90 414.969 null]
+>> endobj
+391 0 obj <<
+/D [1817 0 R /XYZ 90 233.717 null]
+>> endobj
+122 0 obj <<
+/D [1817 0 R /XYZ 90 226.739 null]
+>> endobj
+1824 0 obj <<
+/D [1817 0 R /XYZ 90 132.053 null]
+>> endobj
+1816 0 obj <<
+/Font << /F63 177 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1851 0 obj <<
+/Length 1868      
+/Filter /FlateDecode
+>>
+stream
+x��ZK��8��+\{	T�
�dgOyn%�[����I�u�`���f���mY��0 at R9�	[�[�����������o�����
��
+g2w|�HA���P""Fc�1
�������$��L��fD�p�R���6-�oU���7L��,��|�*
�$���b4�
���4f��^��*^Q�n�.s��
}����
�8�
R8�%��;����vBh�`�|���V�K�.����N7'�qc҄H$�
I‚����×�97ca���f�N��~]
��T�F����U����
+�
�N��C�E:��9�;�Y�=��k��\�9cB�����:0�[.\���*�|ׅG&H3ݽP�
)���
�'-��uI�;_W�@Hr
+
�/6�2�
L��%0Ks�O1s�g��<��ġ�ئ�m�
.-�4a���!`�ɡ�23U at H�2e
I�5&k:��E"�/���P�!i�rL%E���Q�����<pN�i���C��=���|�_1K!��{������¤C��a����`�O���1x,����d�?l/f���\%�
P
� ve0�{�f���0B=$|�0��	�8bB^�`Lx���E�\�Ew�dG1�����O/���
N�잱��&Z ����,�qVmG�C��P���
+ (*\�d��^L�/k=�(^���x~kAK�b��1t�8��S�4�Q��&����R!#��V70�'�>L0H^�䐮"^���h����8"��,�Xe�
+��5.IN���A:���zH��l�Ҕb�Z�\�/��A�c0{^"�|y,�0���
+���]yDk��Q��o��T�0����U�E��r�lc���г$�U�:��*�۶ļ4+�l����\3�N��&X.�M���R�
+C��`K�C��@�1T1��fj����%5�����3Ӹ�l�+�h먦�_��(��OF>��jfwJf��	P���X(95��*��/�HW�h��&��rN�?(4�ͤteϾ��;�G�?F�G
t*1�Z�P��_�M�xnc͂]��>bR��c(CWՌ��vw�>iQ���r��-�ȣ�=���{|���<|mŅ
H^�s'�=�'�C�.K|v�s'q��=w/�����$���HVL�*�y[̚�'�'�

~��P|
^$�����C�
�P큋6y*\~�ң���E����-At�%��
�x��%�V�ɩ�Q���B=��g�џa7&����Ӄ����c�Ɛ�K�΀�����Z�Tk>�ۦ�Y'��;e��qs*Q�� ٘���<,0X�j�:�h-����k}�R�}���÷
€���g�}'�y�:�l)�w�V�_Gc��&h�ΜA�m�s��9����a%-�Bx������n��1�zׇ͇���Ά����J�A�TaY�g�4Z�Q��q .�"V�b�x [...]
+endstream
+endobj
+1850 0 obj <<
+/Type /Page
+/Contents 1851 0 R
+/Resources 1849 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1825 0 R
+/Annots [ 1813 0 R 1814 0 R 1854 0 R 1826 0 R 1827 0 R 1856 0 R 1828 0 R 1857 0 R 1829 0 R 1830 0 R 1859 0 R 1831 0 R 1832 0 R 1833 0 R 1861 0 R 1834 0 R 1835 0 R 1836 0 R 1863 0 R 1837 0 R 1838 0 R 1864 0 R 1839 0 R 1840 0 R 1841 0 R 1866 0 R 1842 0 R 1843 0 R 1868 0 R 1844 0 R 1845 0 R 1870 0 R 1846 0 R 1871 0 R 1847 0 R 1848 0 R ]
+>> endobj
+1813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.291 719.912 386.001 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_bcb586fdbb2eb01ec10c0eb941f4b7f1) >>
+>> endobj
+1814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 719.912 513.996 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 240.541 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.22 672.706 473.043 683.61]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_0746b37f80c4be687b0dc5ded6190002) >>
+>> endobj
+1827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 672.706 513.996 683.61]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 660.751 330.512 671.655]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.989 660.751 513.996 671.655]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 648.795 240.541 659.699]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.278 613.544 381.627 624.448]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_8d39b1769491b0ee262118bfa31bcc67) >>
+>> endobj
+1830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 613.544 513.996 624.448]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1859 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 601.589 192.402 612.493]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.738 601.589 429.869 612.493]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.079 566.338 377.826 577.242]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_dd8c6ae913a7e3f0a7e1470a23ba04a3) >>
+>> endobj
+1833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 566.338 513.996 577.242]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1861 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 554.383 192.402 565.286]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.738 554.383 429.869 565.286]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.377 519.131 382.529 530.035]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_db6f375b8aad58a31f6a60abb7a9b1e2) >>
+>> endobj
+1836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 519.131 513.996 530.035]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 507.176 252.167 518.08]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.672 438.19 414.488 449.094]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_d69ffccc04d33132e31a91296afad78d) >>
+>> endobj
+1838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.87 438.19 513.996 449.094]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1864 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 426.235 293.422 437.139]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.44 426.235 403.847 437.139]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+1840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.545 392.171 397.746 403.075]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_70541b12c8a9b281b3aa4f9c21624b3c) >>
+>> endobj
+1841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 392.171 513.996 403.075]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 380.215 240.541 391.119]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.531 344.964 404.386 355.868]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_bc4dd4b94a80075012b0f30b13339632) >>
+>> endobj
+1843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.628 344.964 513.996 355.868]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1868 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 333.009 252.167 343.913]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
+>> endobj
+1844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.701 297.758 411.46 308.662]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_62836b9156289bd880bf9f32056a4dee) >>
+>> endobj
+1845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.87 297.758 513.996 308.662]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1870 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 285.802 293.422 296.706]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.07 285.802 513.996 296.706]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1871 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 273.847 189.622 284.751]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
+>> endobj
+1847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.557 184.005 500.327 194.908]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1852 0 obj <<
+/D [1850 0 R /XYZ 90 757.935 null]
+>> endobj
+1853 0 obj <<
+/D [1850 0 R /XYZ 90 733.028 null]
+>> endobj
+1855 0 obj <<
+/D [1850 0 R /XYZ 90 689.404 null]
+>> endobj
+1858 0 obj <<
+/D [1850 0 R /XYZ 90 630.242 null]
+>> endobj
+1860 0 obj <<
+/D [1850 0 R /XYZ 90 583.036 null]
+>> endobj
+1862 0 obj <<
+/D [1850 0 R /XYZ 90 535.829 null]
+>> endobj
+1865 0 obj <<
+/D [1850 0 R /XYZ 90 408.869 null]
+>> endobj
+1867 0 obj <<
+/D [1850 0 R /XYZ 90 361.662 null]
+>> endobj
+1869 0 obj <<
+/D [1850 0 R /XYZ 90 314.456 null]
+>> endobj
+1872 0 obj <<
+/D [1850 0 R /XYZ 90 229.131 null]
+>> endobj
+1873 0 obj <<
+/D [1850 0 R /XYZ 90 170.793 null]
+>> endobj
+1874 0 obj <<
+/D [1850 0 R /XYZ 90 148.481 null]
+>> endobj
+1875 0 obj <<
+/D [1850 0 R /XYZ 90 148.481 null]
+>> endobj
+1849 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R /F89 447 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1903 0 obj <<
+/Length 1866      
+/Filter /FlateDecode
+>>
+stream
+x��YI��F��W�E��r�o�{�
��vM̡�QC�,65 ��_�
�@H���2�����{K>p�
+p���WW��7
$�����@� ��WY�>���
�17����9�a��m�Z��
�T�7^��b��zN��*��V�i[��m��/���%lݦKe��ԭ2�U��"�P���W�;��}�Ĉ&b3,׳��� �����L��9�8e�[��~�a�&>�n"�<�i�Hĭ���G"LA"�y�ze$�H\���}���`A`K���%��I�4�Oy{��,l﴾��Y���-���
�Cq(JH
�
�̞0LKhw o,��͋�>Vs*�]�2��fo�
sn��/{���M-�W�àv��v/�j)�疩�Q��:�`,{t�t� "��Ho'��2�ӽ}��9�����ȳ�Uz��y��
!d���U���C����	S�"�9[JD�7vsWm
wj *Q"�Se�N"%³�QV�L�Վ0��e�=ؙ�1����Z5ն^*��Gj�;*5PI�Y;R�Q�YCF���N�6�
K�XY�<����,aP!&@�����U�~V-�kU��Cl� [...]
+u�
�y[�͋�cZ�a
�d	�Ahg�����
Y���@.�U���-�vᢣ���o�}���FI�;��
�7�Y4-;[�HmFα��1;�y�w�ȽW�:�ΐ:��+�~���hcxC
`I� ��:
����"Ѩ�N=F�x��5�,�U�:
���ڸʹv:���Z�oT=�!Rd y��� a�N��@�����E���!��y>�s_+�l�a�
�D�<��/g�ʼn�_���
���cf��6�Ivg��0�'A<J�ua��u;2
q�|Q���&�‘LHwf��g�
SKF��Đ`s��!�����E�Š����;����[���_�<���×��E�ܪ
]w��� ��8TM�]/%%EX
�g
T�G�?�&�?�?�@��R�c�
2
=�׺f��#���p<	�i9�‘`��v�

避.�ϹK�[
e��(f�����(���j����F4���'��������Bh�"����8a����qB�-���7&
�������M֓`�4/�L���yxB��!���4��� XǸa	J"��f6�!�;�8�{��؝/6Z_�ʾ"ٷe�E�Հ���k���F}��
�῏��Z!0ě蕙� (z��" �;���D ����*�#���)�>
�G��hߤM;²�R�K��E�����Q��K�CRZ��q�srM�~���"�ѕ;t>��e����O3������N���]�����
�ķ���b�����
�fkۇ�eU��bS����n��/-;"v�c�mfU�l�iQ�}~?x��w����
L!���_ʘU�k7R�G
 ���.��\twЃ��m囏 w�:��撂�f��?��r��(S�V���
��� ���g]||<��?Q{F7�EI�cn�ك/SK��/\�=�4vo�o��
�\"�}XNE%C�ہ��}l��E�U����G�
�m�S���\�q�D�G�����'O�
HM��؈�sb�p���(��Q>bg��-���K�Q��$	����㣩ƃ��i���T��8���8���
�Z'�2�I� ��I�|���F	�@���A�}�d
!m�
+���O ?���^��ԉ���7uZ�"����j������q�ߍ���
���mZB��>{�>p5~h�4�dS+´
�|���/�+t�
��ӿf&
+z�h$�|
t׶�W����-�-�M���|xy\�{*"����o
�V�[���1��#�%
\�	8;�/\��
+endstream
+endobj
+1902 0 obj <<
+/Type /Page
+/Contents 1903 0 R
+/Resources 1901 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1825 0 R
+/Annots [ 1876 0 R 1877 0 R 1878 0 R 1907 0 R 1879 0 R 1880 0 R 1909 0 R 1881 0 R 1882 0 R 1883 0 R 1911 0 R 1884 0 R 1885 0 R 1886 0 R 1887 0 R 1888 0 R 1889 0 R 1914 0 R 1890 0 R 1891 0 R 1915 0 R 1892 0 R 1893 0 R 1894 0 R 1917 0 R 1895 0 R 1896 0 R 1919 0 R 1900 0 R ]
+>> endobj
+1876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.035 569.601 476.806 580.505]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.297 467.279 372.995 478.183]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_7e3f8c5b2e614c5d18783c2ef7b092e1) >>
+>> endobj
+1878 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 467.279 513.996 478.183]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 455.324 214.528 466.228]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.059 419.34 407.858 430.244]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_98e7f050a579e9deeb71a75758238928) >>
+>> endobj
+1880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.628 419.34 513.996 430.244]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 407.385 226.155 418.289]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.136 407.385 470.267 418.289]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.477 371.401 375.814 382.305]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_79d1cb9751d21f7b364c4c41c4715737) >>
+>> endobj
+1883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 371.401 513.996 382.305]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 359.446 180.776 370.35]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.112 359.446 392.23 370.35]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.093 323.462 346.828 334.366]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a82f0fc73b5f98fab74070ee92a100cf) >>
+>> endobj
+1886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.63 323.462 513.996 334.366]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.933 311.507 336.051 322.411]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.57 275.523 363.709 286.427]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_acb1e10c50be6e9dd36e3aed93c7a222) >>
+>> endobj
+1889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.989 275.523 513.996 286.427]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 263.568 214.528 274.472]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.05 192.568 380.855 203.472]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_1785059acd1bf60dcf4cda0044cc94b5) >>
+>> endobj
+1891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 192.568 513.996 203.472]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 180.613 226.155 191.517]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [237.173 180.613 336.58 191.517]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+1893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.551 146.182 384.74 157.086]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_64b1a8e66388915a57bfd0b53a2e46c5) >>
+>> endobj
+1894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 146.182 513.996 157.086]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 134.227 214.528 145.131]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.724 98.244 385.567 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_35180fb6d38a29d74f5992815fbdf006) >>
+>> endobj
+1896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 86.288 214.528 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1904 0 obj <<
+/D [1902 0 R /XYZ 90 757.935 null]
+>> endobj
+393 0 obj <<
+/D [1902 0 R /XYZ 90 622.82 null]
+>> endobj
+126 0 obj <<
+/D [1902 0 R /XYZ 90 615.539 null]
+>> endobj
+1905 0 obj <<
+/D [1902 0 R /XYZ 90 533.912 null]
+>> endobj
+1906 0 obj <<
+/D [1902 0 R /XYZ 90 482.427 null]
+>> endobj
+1908 0 obj <<
+/D [1902 0 R /XYZ 90 436.221 null]
+>> endobj
+1910 0 obj <<
+/D [1902 0 R /XYZ 90 388.282 null]
+>> endobj
+1912 0 obj <<
+/D [1902 0 R /XYZ 90 340.343 null]
+>> endobj
+1913 0 obj <<
+/D [1902 0 R /XYZ 90 292.405 null]
+>> endobj
+1916 0 obj <<
+/D [1902 0 R /XYZ 90 163.064 null]
+>> endobj
+1918 0 obj <<
+/D [1902 0 R /XYZ 90 115.125 null]
+>> endobj
+1901 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F23 144 0 R /F72 202 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1932 0 obj <<
+/Length 2092      
+/Filter /FlateDecode
+>>
+stream
+xڽY[o��~ׯ �R��{%��S�4=���.��-�$���Td��w�F�e;	P����r��|3���&��w�o�W�bH$c��@� �	��y�&LI�%���}y�kDqXUת�=D�G��n��ߪ��H��M�m�%8�թf���}|����Q�^"D2�8zw������?
&��D�&��n��
rX�>���48�]��S�e���v�M?��	
Rp7��]�1��5�
�XX�_�U�$T;�j� Hb��`�Vg���2
�0�[����m��~+��{�/���>��5$""|_ԇ֮�E�סZu�뒷W�
dv�B�,)E1w�}K�		�,�lr�:�ƥ�ِpi������� �_@ʳ�nn�?����T�M�iio���]��j�
��U�=�� p��p��7��
һg��5�xĆ�Puޒ�̝����K
ʼns��M8`)3���ۢ+�+�֩��p�
*l�k��������6SotWuc���*/��{���J	����L�(Ic�!��)$F)���T�+c��Wђs��Ap��
��"��h�@Rؠ��;�*��E '�Qzgu��&�	�c�d�	Je�s(�9}���(Un+��jWM����J�m
1���
��+G:���ZSp�kH���B�C����YĽW����
�	%�Y���쳱��"��A���ԫ�PU���{�Z�Y���ʹ�Y���3�I ��>��.�� [...]
+Hb <+����6,�b�=�LS�}�m�����o�b�$ۏ>mڃ��t�X*b$8��Y[ν����G�if�$��m���øD�`c
0>�4�U���*��;t�m�
��nc֘u�TVuv�B~+K����5��C�y�KW�'�Ե�~�
[趖ن?��Hj�N�
z6Gn���M����J;g��f��ۢ�`�Mw��M�|ь͟��K�N��Lg���}�>\2
�Ò�3���)@`&>�z�)2��sb����q�����$��)�'�Ct�"��Q1���+��~�بLO]&K��Cw
4y����
��<�������O
���^G5��|�֑S� "�AV1�e,�e��
T1��{�~V9t�ΡB�� ���Q�9B9���2
B�0�JDe�(��ki@�iO_U=Kq0��^խ���P
f�1��=ęk�:PX}ht'3�G�H��Qe���t�9��	�
��
MFe_V}���c
+�d�
	�4F�����,6
L�mኰ0Wz�������Q�f9?z7�s]{r�M�TPN:�>fp��Ya�>|�}q3�
��]�dDj���d�tw�_ݗ\<,p�i��>�����S�����f�ЈO�vf~o�Gw=�L/R���-�
�M��Πv���8�
8�,���!f�v���^M]�Zt�|L̾��]VX�/6
����!fn��k�ҧ����D�(��Q��"n���ϼ�yq��fx���Bٷ�t��O� I{�2�8e��s��d�(��+
Ά�߾}�~��ɡv=�b���1�7�P�� (���q
�s��ko<�C�g�G�12� j��g�U�T��Ň3t��?��z�n�Ֆ�
�9

9?9����}~�OE��	�o��

���y�w�ٻ<�Kz�k><
+�N'����S:��a�bt���p���N���'�{�� B
sK����CH��L1��+�f���h�
,n��q'�n-�6�l��-|4��Ѫ��H��E秬:�׈u3jۏMA �����G����a�;��~X�P����@4���m��_]
�G�jѡ*�
*�+����.t�B�OX?6�`�v���
c�2�w�}^Q�Ɲ���/�0�

+endstream
+endobj
+1931 0 obj <<
+/Type /Page
+/Contents 1932 0 R
+/Resources 1930 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1825 0 R
+/Annots [ 1897 0 R 1898 0 R 1935 0 R 1899 0 R 1921 0 R 1922 0 R 1923 0 R 1941 0 R 1924 0 R 1925 0 R 1942 0 R 1929 0 R ]
+>> endobj
+1897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.079 697.271 377.826 708.175]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_be46bba93c5ddcf4cf4cafdb0d74f942) >>
+>> endobj
+1898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 697.271 513.996 708.175]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.316 226.155 696.22]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.616 685.316 459.746 696.22]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.035 594.435 476.806 605.339]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.395 159.329 363.884 170.233]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_26a124537b8995832b2cb157abc7cf07) >>
+>> endobj
+1923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.989 159.329 513.996 170.233]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 147.374 180.776 158.278]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.136 111.058 317.224 121.962]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_0bf696420bbdc5c2ef0993f61f2273b7) >>
+>> endobj
+1925 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.07 111.058 513.996 121.962]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 99.103 129.857 110.007]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1929 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1933 0 obj <<
+/D [1931 0 R /XYZ 90 757.935 null]
+>> endobj
+1934 0 obj <<
+/D [1931 0 R /XYZ 90 714.235 null]
+>> endobj
+1936 0 obj <<
+/D [1931 0 R /XYZ 90 639.562 null]
+>> endobj
+1937 0 obj <<
+/D [1931 0 R /XYZ 90 580.984 null]
+>> endobj
+1920 0 obj <<
+/D [1931 0 R /XYZ 90 558.672 null]
+>> endobj
+1938 0 obj <<
+/D [1931 0 R /XYZ 90 558.672 null]
+>> endobj
+392 0 obj <<
+/D [1931 0 R /XYZ 90 315.269 null]
+>> endobj
+130 0 obj <<
+/D [1931 0 R /XYZ 90 308.246 null]
+>> endobj
+1939 0 obj <<
+/D [1931 0 R /XYZ 90 226.544 null]
+>> endobj
+1940 0 obj <<
+/D [1931 0 R /XYZ 90 175.014 null]
+>> endobj
+1930 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F89 447 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1963 0 obj <<
+/Length 2126      
+/Filter /FlateDecode
+>>
+stream
+x��Y�s�6�_���3kF$E}����f���u��=��dh�q�ʒ*�����d[N�I���݋e� ?� xk/��q�����mĽ�����+/
�8�D0�]��G?&4Y,i~Ӕ��^������To
�;���k;U�^��]�į��^�K&�]ի�Jf�
?�+�iT�S����"^|�����g��QP1�VI�$���6g?^��y�i��4��
�g��t��Y`�w꩷-�ɶ)�I
b�
"��O�	��{���`ؾ�F�ڵ��&�!���3�
&&&��ӬU�Q}[d�,o/30���О|�����Q��H*�Qwd|����O�Nj�����v?����i�D��+�l+����bE��/����ocfJ�(�
	�9��$
����m�<J�h��/���Z���F�\��#�!��G ��T" *e��C����:#c�#%���Jz�d�a(
�����ĭ���l<��	̣�U�+:��$��
M�TK�p��0���IQ��E��m+��G��\4V�Q�aa����`���/T)���s����*��y�����c� ��#�	!8�֦�#J4�$J�f�?�/��t

�B��
0�n9�-�J��
�چ��B"A�!������ GyD(0y��!(��9�8<�`���q	�_��
��e_�s���E� a��ٌ��:'�O��7�"~�`P��+3�̠6dD$�ݡ�H�
�i�0
��R7
-�Y��
����)%q:
+�xN$�=t$/����uUTk#p6�Ô�cϳ��
q^E�x�?�f+�۽�˲ޡ2s�TBD|�y��l�S/���,L
�
�#�"�?8
$,�;
�Q�\� e}
+�v������	Z`b(e�l��ݕ���5�f�ʹk�Z�/+�I
�pU��g��9N�1�e��0:�
�j�
'q4�A�*l��d�6W���z�&$z�p�)�
��,t�z٪|��CY�՟R>�?�y�Q���rN�"��Ȓ�d��[b�s
ȶ�vס�\�4�F��9[`��~so�k��հ�?h{�
+���
�9E;
w�ug_�6
0�-W����d�
������zs�2�H���@:��������0��/Wfa[uENxa���$
+K�(
ZCǑP�s|�zY��d8겶h��\�"r

	���.��r��2�B+��� o��r���]Y����dȺx���@�
ϋ=�8��Y�*
2,pve�a��U_H]��[C��_5^pNv�iId�
�an+�0n� Q~����m�6('3�

���=KFW����k�:S
��{;�XkI��D�zc,e��Y/�ue $��Z��,�6�v��m�w&_���i5Q�ڨ�7��yW��`f[�hL0�UM�:�ESs1C�@N�_k2��"ݙņ'<�W��E��F�n0�0nꅙ����%���%�
\1.�t�m�#+0���\p
���\�Ů���E�K[���R���rU�imC\��?#�p4�r��ȶ��2.��0��-zUZӢKYճ��)8,
|ȣʙ5t�
���d!
 ���jKך�5Q��ot���/8quf�
�C����rnd
�ؖ�ņ�֊�Z�"̌z��f��5�Je��t#7E��6̈́���%�����ǝ���:h�!��b�ЙM�o�BU�]��i�A��U0xkMfs����yްN
�q� ��߫��we9 '%�=��+�b�dP*�&)��谼سjB��^���uu�ؔʕX��
��И��З�~��O�J��҅���I���ck<�y�|^R�q�ul����~�=��j��H���w!	�h�E ��f��G�u
�
���;�^.��oЇE��1l�
+9Ծ�{���k�Sx9!8R���u�͡�Œ���Q�^@^b=^岲��=
+�nw��#����VC��u���ï��%�?º��Ic��oˀs!�IY�
.��h7��_�X0��V������j��k5����8|\��S�7
�$��Y
�~�j��uH3�2��e)w%��I���1ï�����F͸9	�e�\�}����n�#YG�$nZR��MΏ�>r���1&����[e�r
D ��1�c��nt�<r�HlY
+endstream
+endobj
+1962 0 obj <<
+/Type /Page
+/Contents 1963 0 R
+/Resources 1961 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1825 0 R
+/Annots [ 1926 0 R 1966 0 R 1927 0 R 1928 0 R 1967 0 R 1944 0 R 1969 0 R 1945 0 R 1946 0 R 1970 0 R 1947 0 R 1948 0 R 1972 0 R 1949 0 R 1950 0 R 1951 0 R 1974 0 R 1952 0 R 1953 0 R 1975 0 R 1954 0 R 1955 0 R 1977 0 R 1956 0 R 1957 0 R 1978 0 R 1958 0 R 1959 0 R 1980 0 R 1960 0 R ]
+>> endobj
+1926 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.661 708.953 513.996 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_eb8456ecf06307c108046a8c665154c9) >>
+>> endobj
+1966 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.998 173.025 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_eb8456ecf06307c108046a8c665154c9) >>
+>> endobj
+1927 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.898 696.998 369.276 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1928 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 696.998 513.996 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1967 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.043 192.402 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.91 648.181 513.996 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_024a52502b35029ff2ba102323d8ae5b) >>
+>> endobj
+1969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 636.226 173.025 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_024a52502b35029ff2ba102323d8ae5b) >>
+>> endobj
+1945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.898 636.226 369.276 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.615 636.226 513.996 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 624.271 192.402 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
+>> endobj
+1947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.888 587.409 373.403 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_91f0ccf4325f53430d7347ca73182f52) >>
+>> endobj
+1948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 587.409 513.996 598.313]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 575.454 180.776 586.358]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.112 575.454 294.518 586.358]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+1950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.951 538.592 375.341 549.496]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ae5f47efa7c023e45aed9be161dce99f) >>
+>> endobj
+1951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 538.592 513.996 549.496]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 526.637 180.776 537.541]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.211 526.637 428.342 537.541]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1953 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [453.882 526.637 513.996 537.541]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 514.682 267.41 525.586]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
+>> endobj
+1954 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.013 477.82 377.278 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_1b2ee4d834f0651a41647ac5b5e0f912) >>
+>> endobj
+1955 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 477.82 513.996 488.724]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 465.865 180.776 476.769]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1956 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [207.98 465.865 431.111 476.769]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 465.865 513.996 476.769]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 453.91 304.5 464.814]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
+>> endobj
+1958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.705 417.048 380.586 427.952]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_b595ea1166752d23aba600af43417bd8) >>
+>> endobj
+1959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [401.001 417.048 513.996 427.952]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 405.093 180.776 415.997]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
+>> endobj
+1960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1964 0 obj <<
+/D [1962 0 R /XYZ 90 757.935 null]
+>> endobj
+1965 0 obj <<
+/D [1962 0 R /XYZ 90 726.054 null]
+>> endobj
+1968 0 obj <<
+/D [1962 0 R /XYZ 90 665.282 null]
+>> endobj
+1971 0 obj <<
+/D [1962 0 R /XYZ 90 604.51 null]
+>> endobj
+1973 0 obj <<
+/D [1962 0 R /XYZ 90 555.693 null]
+>> endobj
+1976 0 obj <<
+/D [1962 0 R /XYZ 90 494.921 null]
+>> endobj
+1979 0 obj <<
+/D [1962 0 R /XYZ 90 434.149 null]
+>> endobj
+1981 0 obj <<
+/D [1962 0 R /XYZ 90 358.806 null]
+>> endobj
+1982 0 obj <<
+/D [1962 0 R /XYZ 90 205.081 null]
+>> endobj
+1943 0 obj <<
+/D [1962 0 R /XYZ 90 182.769 null]
+>> endobj
+1983 0 obj <<
+/D [1962 0 R /XYZ 90 182.769 null]
+>> endobj
+1961 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F89 447 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2014 0 obj <<
+/Length 1909      
+/Filter /FlateDecode
+>>
+stream
+x��ZK��6��W�V���H�TrjM�4
�d{JC�i[�-��
g��;|�e�ڛu��eIQ�hf�}3Crq�
p�������EL�%q7� ���	�	n���P ��'c
�v���q����v���p�O�t9�D
�/�J�t���;�Pf���a��\�?ݼ�t3�sD@
�I.��<�mF>�`��h"����	XD�]�G��p[}�{�G�[�oVN��v�ߨ�J�l�ۡŶ��j����������/U���Rs'��n�兮��q��C�;�|�8Z���p�y at bĨ
`�	��~�"ޝ�a����ӎ^h������#%�G����I"R\v���:�Ơ<C�%��c��۝r�Js�}>�>/��^��&����¶�=)o޸��
��1�����3*E�k:��
�@�N��5|Q�w�ď��7�JyҪ6�t�i�:�ֽܨ�gU�|�@�,�o{�XJA
L��� �*��j[��cYf�\��}P#�{�z`�;:�'1��q?B�nX�X:f�3Xd��+Ë)��t �i
+M�
�n:�@�2�)�h���	
�Fh�3+j��b�d��[TL���D?g�[=�Ǿ�j��=<�D5!
Ic+���
44xR� �Q�]u{NDHP7fm���%�-��}��k�
�����'˘��DC3̃��
+�F��
+���x疹��QD �j�Z\��C�Uʫ�>���ke��ֶY���vJR��
��FL�[
5��EB?�'T���bP
�i-ͬ���(AznVVz�-4�t��[F@�
i"`i0��E��u�K
)���s��[���&t
-�NW�zm{�U
G�\x��!�h����뗩m�y�Eg
�(��0�
AeE(fĴ	a�+���D\i��囟_0��aJ.U ��h0��އ�%⌹��:�в[}S��0¤AKL��#���ˊ�3��ɩ}�mw���
d
�-jR
�#Q��^G��l
����K�N�TZ���CFy��p4�&��)�R����Q���������U+ �f��uWfcc��BF��� 
�QjB�1��Nð�,�g�3
�1�N��9���ck_A�)��j>�RH8}[Vjs�+�r�T%�,�%�
����
}�ҩ��j��fg�0�f�7q��8���K��
��Z�Z�<YX�/J�8f���
-V�3�'�06+��J�B�ݲ9n����O�i��h�;ă�m��
�>I��(#���~6J�&���od!�0b2r4����={�Bʹ�ngkU�`\��t�ݐB�a2�d�c,h0i� I�t߿�A�b
`�D�A=vm�>�<
�,�9H��
�u�Q��D�cg�R$@�D��v�Q
�D�L�'��"�w��
-�������yD$ �����6�ATd	���*r!Ng�e�ק�w�O��d:��<g��_̓���,q�����`���vGOq+R{�J�Gq;R�

�y��[j�e�)��#���a�EHF�
��
ب_�@�ϓ�?55�9��
�Q$��)�1�h"���~�iI�
�9���~��n���aF�����~�@�⤕��a�
;�~�����_g?b��N�\��8��8���ԙ�]�
�3q���vg��$���
0mbH�-̓�+�׏��1/�{KG%/(Oc��#Dz�=����c��chw�Ѻ$�ʯQ4 �H"جz ��C`��6���L|˷E�Ѯ�J��q��c
K�aQμ0��	�����'�sֻ'k*�b����=��>iq����4_�ӥj_"wn�/U�Ø�Э�i�O��n�c{�[���<F at j�+�D����ߛY7���/#���8�
+�(�	����ӫ���f%��ٮ@Yu0�:��l�@f�]�/�7�B��" NH�W	����Y7�
�

+
�7��q�
+endstream
+endobj
+2013 0 obj <<
+/Type /Page
+/Contents 2014 0 R
+/Resources 2012 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1825 0 R
+/Annots [ 1984 0 R 1985 0 R 1986 0 R 2018 0 R 1987 0 R 1988 0 R 1989 0 R 2020 0 R 1990 0 R 1991 0 R 1992 0 R 1993 0 R 1994 0 R 1995 0 R 2021 0 R 1996 0 R 1997 0 R 1998 0 R 2022 0 R 1999 0 R 2000 0 R 2001 0 R 2023 0 R 2002 0 R 2003 0 R 2004 0 R 2024 0 R 2005 0 R 2006 0 R 2007 0 R 2026 0 R 2011 0 R ]
+>> endobj
+1984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.801 531.725 336.353 542.629]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_da9021952b7c7ad4ca6fc4ff082ec9fe) >>
+>> endobj
+1985 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.864 531.725 415.258 542.629]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+1986 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 531.725 513.996 542.629]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2018 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 519.77 144.243 530.674]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+1987 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.223 471.95 332.716 482.853]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bedffb6a2f5b2473d2d2ac9d448c65d9) >>
+>> endobj
+1988 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.649 471.95 419.043 482.853]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+1989 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 471.95 513.996 482.853]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 459.994 180.776 470.898]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+1990 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.413 412.174 401.265 423.078]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_418a9f96c3df4cf69bc399cd807eddeb) >>
+>> endobj
+1991 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.388 412.174 483.782 423.078]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+1992 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 400.219 224.501 411.122]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+1993 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.924 354.39 346.688 365.294]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d6512d0d60c017982bd8031e9b8df336) >>
+>> endobj
+1994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.321 354.39 428.716 365.294]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+1995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 354.39 513.996 365.294]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 342.435 210.673 353.339]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+1996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [146.869 296.607 359.878 307.511]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b27e9641bc6946aef6e3254d28c6fab4) >>
+>> endobj
+1997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.457 296.607 445.851 307.511]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+1998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 296.607 513.996 307.511]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 284.652 210.673 295.556]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+1999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.365 238.824 351.754 249.728]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_703c5d92387510c5cbf8b0f1da3029b2) >>
+>> endobj
+2000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.829 238.824 432.223 249.728]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 238.824 513.996 249.728]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 226.869 217.298 237.773]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.31 181.04 364.945 191.944]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9d9b8361c659cadd31afb61152ccf06b) >>
+>> endobj
+2003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.964 181.04 449.359 191.944]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 181.04 513.996 191.944]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 169.085 217.298 179.989]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.162 123.257 341.213 134.161]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bd393bd3febd678f09a51a0364756787) >>
+>> endobj
+2006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.084 123.257 427.479 134.161]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 123.257 513.996 134.161]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 111.302 180.776 122.206]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2015 0 obj <<
+/D [2013 0 R /XYZ 90 757.935 null]
+>> endobj
+394 0 obj <<
+/D [2013 0 R /XYZ 90 688.32 null]
+>> endobj
+134 0 obj <<
+/D [2013 0 R /XYZ 90 681.72 null]
+>> endobj
+2016 0 obj <<
+/D [2013 0 R /XYZ 90 599.896 null]
+>> endobj
+2017 0 obj <<
+/D [2013 0 R /XYZ 90 546.804 null]
+>> endobj
+2019 0 obj <<
+/D [2013 0 R /XYZ 90 489.05 null]
+>> endobj
+2025 0 obj <<
+/D [2013 0 R /XYZ 90 140.358 null]
+>> endobj
+2012 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2062 0 obj <<
+/Length 2366      
+/Filter /FlateDecode
+>>
+stream
+x��Zݓ�
߿Bo�g�\~���>��M&i���>]2
�Lۚؖ"��n���%Y�v�{�N�3�b�4� ~ H��_߼����J� !��*�[	
�bDr�-�O�&,���4,�����a�}ܘe5cqX�M��͹��7��T�43��٬��c�n�EB�2��z�����n~�a�
�[Rj��
��ͧ_i���oJDG7kD\�s|���z�����0�E�� TI�Ӈb_7�!k��F^����|�ߙ}��Ռ˰�����&�6�rp�����
� �Nd"p�_8��W�Os	��aI
�2��^8?�	����o,CDžcų:XU�nQ� ��2��|��H�_��O.��6���S�
+�I���ۢT��#D$�y;�,7��cĘ�`n�s!"0� �&���6�h
K3ޡ���
�*o5hve��f����4b`WEN_h-sЛ
�|ȷKk'\���ď��5�HZSpc�
+�M�]��B�phz�,qʀM"��	h�@�X�q����M�ϼ�s�S���:�wYXOq$�;��OL�1MfsAy��j�×�L��	r
��3��n嶲Ȳ���ZCĉ�V5�!�t;��v�����7�f�=��x����P ic<�ϔ	c�|��ֽ91��`� ��1��0
[�k�z3��a�?X�H��L-L&-�	#*b�L�|L�]�pl�D�k:NI���9E��̺���0M(�
݌B:O��L��,�†E��A�>�C<>�A�g��(���}
'gE���$�$�u��F4%��*�|L�Rҹ����C��`�X�; �
8�Tl
�S ��ő�{o5�xBb��S�Q*&2�
Q�����Z
�f�+�N����o�.�7���c���0�>
?I���CM����5��C�\�>A �
�Q
�/���#1{�D��=<�@g��n�n��%r̀ƈ���]�HЩ���Gy��N�q�կ�kS���Y.<�mba�ϓf;�gp��ƭuX����
vmjm�w;�,m��I3�t6��4���6!� Ŷ�;���h9u<e�G�� �ܞ��.J6S��G ��^�����0�Cx��B���@X��
+�1ۚ��hi]�p��L_�	lppx�?�
BI�����'W����D��@!�~�Cxx�F�Zqmw�U�E0�]�,
a��O�'��d'�A�w0
p8����ιP���uu�WuO���f,DF׃�D(�$��(
n�
+&q=	���8�Dr�^f�e`��
tq�Y��i�E���S1��@�������C]
�,��q'�����͕����cP���QD���;�i�
b`� �?H]�G��AP�s�?�A�0�@�
��vA�/`�@)
���(��� ��
��;�S�� `[D_08�4f�;�u����ӳ����'A��6qi���I]eo���X=��ƛw߽]�#���h��AA���؜����>�Z��K�u�@�o���8�.�y���p�
+N����{�I��@�b%����3���`*W,r�?��J
���~U
+��c��3u�t�Zy_ �^��� �gl�����1o|��l��LG��!�6��W�1ɯ
qf��U�;%j�.��3r�>�.J��`sow��{[�����ߦ"4	k�K�M��^
���i*
��:���eaNݤU�o��2,4�A�8��a����qB`����sE�c 
��%�Y��<7Y�_+~.N#)��A��{���U�\�;Z�
+u�W�
>�>���{ijZO���7ii���E��iI�3MF�w!���,��5i�F��ݔ��
%��[H��N;��E�=^m��C�o���'���y
+�V�^]

���1�嬟����ƿ՛�ƪ����Om�ӧ��(�`�uo��
+��2������
�]|}��kЭ�S؁�m���]��$�-@g�I��ud��(/�������ړ�p�M��k	ج�\��ݑ���b?�=�鶛�R��2{k\���>�!{�k���t�U�\�K�
'o*��A���!�W=
3�u �^f����1��]��"������[
+��j���;?�6(����i|G����_G�]�}� J��yf
������)������n:�/g�K���eu�D����G
�Y��n��_�c��?a�0���}���l~����	�d��O�ܧ\`�Wi�/�dB��p�V$?����d�5`�����[\����������gk�b�O��U��O��z���th��E��]�4]�T���0�ã zM���ᷠm���I��
W���Iv�4�oo��#�jr��eE�� |{�
{*
0�;��YϮ���8
�����w|���a�.��k�PP�/?=f
+endstream
+endobj
+2061 0 obj <<
+/Type /Page
+/Contents 2062 0 R
+/Resources 2060 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2077 0 R
+/Annots [ 2008 0 R 2009 0 R 2010 0 R 2065 0 R 2032 0 R 2033 0 R 2034 0 R 2067 0 R 2035 0 R 2036 0 R 2068 0 R 2037 0 R 2038 0 R 2039 0 R 2040 0 R 2069 0 R 2041 0 R 2042 0 R 2043 0 R 2070 0 R 2044 0 R 2045 0 R 2046 0 R 2071 0 R 2047 0 R 2048 0 R 2049 0 R 2072 0 R 2050 0 R 2051 0 R 2052 0 R 2074 0 R 2053 0 R 2054 0 R 2055 0 R 2076 0 R 2059 0 R ]
+>> endobj
+2008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.356 698.319 358.294 709.223]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_52e2499c42a9be1e527642cbfb16ff8c) >>
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.36 698.319 444.754 709.223]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 698.319 513.996 709.223]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 686.364 190.738 697.268]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.453 638.976 354.718 649.88]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ebe78c4ede3d49c63765e71cfe93904e) >>
+>> endobj
+2033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.881 638.976 434.275 649.88]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 638.976 513.996 649.88]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 627.02 180.776 637.924]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.86 579.632 430.484 590.536]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_819d233e9b1442e06c806dea0523a2f9) >>
+>> endobj
+2036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.054 579.632 513.996 590.536]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 567.677 129.857 578.581]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [155.262 567.677 254.668 578.581]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.539 522.065 357.689 532.969]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_304dd0846a62cb4a9f79806ea82cee5d) >>
+>> endobj
+2039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.937 522.065 436.332 532.969]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 522.065 513.996 532.969]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 510.11 210.673 521.014]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.484 464.498 370.879 475.402]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd) >>
+>> endobj
+2042 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.073 464.498 453.467 475.402]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2043 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 464.498 513.996 475.402]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 452.543 210.673 463.447]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2044 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.965 406.931 362.74 417.835]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bf1bb44cdbf733e9ca39164f9d8e8179) >>
+>> endobj
+2045 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.415 406.931 439.809 417.835]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2046 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 406.931 513.996 417.835]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 394.976 217.298 405.88]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2047 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.925 349.364 375.946 360.268]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8948143df881c58c79da34380f847401) >>
+>> endobj
+2048 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.581 349.364 456.975 360.268]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 349.364 513.996 360.268]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 337.409 217.298 348.313]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.392 291.797 363.215 302.701]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1bd806c292d0576b94d3084b21736061) >>
+>> endobj
+2051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.317 291.797 442.711 302.701]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 291.797 513.996 302.701]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 279.842 180.776 290.746]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.838 133.893 343.717 144.797]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_879f2f2b0f967fa73cb59ea8d8b1d255) >>
+>> endobj
+2054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.265 133.893 426.659 144.797]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 133.893 513.996 144.797]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 121.938 180.776 132.842]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2063 0 obj <<
+/D [2061 0 R /XYZ 90 757.935 null]
+>> endobj
+2064 0 obj <<
+/D [2061 0 R /XYZ 90 713.289 null]
+>> endobj
+2066 0 obj <<
+/D [2061 0 R /XYZ 90 655.968 null]
+>> endobj
+2073 0 obj <<
+/D [2061 0 R /XYZ 90 308.79 null]
+>> endobj
+2075 0 obj <<
+/D [2061 0 R /XYZ 90 148.848 null]
+>> endobj
+2060 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2120 0 obj <<
+/Length 2029      
+/Filter /FlateDecode
+>>
+stream
+x��ZI������-6������ydżL?�0	����%?Y
���SܴYm��� �$��R���Z(�`�໛o�on��(T�� �A$�����$B$���x��fo�O��q���I�?T�j:�
O��+U.�������2cTn�H��D���?������7D�1[�E�����?p����X,���	B���n�{����}
�[� $BfD�!,�=��r�����q8X�W�[�S��\��
s�\M)�

�
޺��ٗe�y��N�!���b��Ԕ�ɟi��ߔa:�
s��V�͚Ug��7�m2Qhkm�Sb���FB�z�v����gL�(��`F�9�328T���
��6
�V��*N:�cE4� ��	CD"R��C�7�4[�3F�Ibw����
9���U��-9I�[�˟�&��[�n*@۹Fw��FJ�
y���
��H��Ɠ�.�WN��I�����݇u�S����	f�����0(!��/
+} �ؼp���J-��I*�hv�E���(��~m?��~��>�I��
ϗEi�����և�љ���h�@�
�ѷ�Y؝$Y,���n���?
+[0
��@��~
�Z��If,bH���D��kH�m����o�{�H*��!@%T�
����g��[
af�ʀ�p��7�{���Cq(���rn���j�8�w.A�R?�>���Ѷ��j�
N��'��E�z	
w�V���{���.�x�`�m���gv���Y'	�09O��y�#��7rǰ��b�9�����XM��܄��&4��}��r(\�ޱ�����4�:����my[�Z��h���њ"���kE�}��e�d�0�O�A�f�oծ*��ʟw�]�ф��M��4h7/�2'��[g0�+�
F�@ۅ�T�N$^���h,���j`�n��>��x�)��ER#�F���`0�M��]5�	h��:u�o��S�q���_o�yQ:Pn�|a9
ݮ����~�C�e����O*��I���A�'g*٩��0J�@\
+�bH�sx���U
+��G����p��>��b�.{'=���I����B���H7*ߥ�
�/G��K�P=n�ɀ,�!�$ oƲj@6�]���r�U1�Hޚ����� 
;
�[����j����C}>�
+��%!��$��,��y*s�<��db<>��/49_�2�����
CS����6%
+1�`S/� �dma{Zhկ�ցP! ꜹu�H�
+[�M��`�܎`��~����37�
+)�HSb/��GsHI+���,��Q�$JE��2<k�
+O?��Ss�s�3��M=惣�l!K�r�2B�$�k_�����Re��o�к�,*�f�zq3�4�B��!a>�� �
+�-�a��>Imt�Vs
�?��&�g��
�:(��Ɲ��Ю;�<�j�@�v�Hi��۬�������(�E�
zuH�^��"� �;��2q\��I^
���fHG��u��g�~N�\�" W��j}h
+D�$j5�L�\`����G/ f

�r�*
 �zv�%��k���|�`��Z-ox
LWq�{�Ujs��+������n|R�����i��t;i��㫑�8��l�l�2ne2���
��CD�[�1,u��Ŵ��k
�$����`O@U���#��׀>��4�#!��w}��"�g�#a�Z�q�J����Ӷ������s�eSL����R at b�Ӽ��qͪ)�I�t���'������\�J����TV"���1l��7�A�6D�����q��ȫ���A�K.(�.
��\2
���(�r��
�ӏh��_�F���i<����c
+b�"L_#��al�����#Ȑ�_�xln�̖���@�qlz[/1�?�ʤt7��[�OI��'+�����������T����pD�9��I�|����Tesˉ�r�-aZh:c��;�/֬>��㍡Fs8*�M��uUm���=
h�C�<ݖ(�n�Է�W��*���6\��mS���7"� 
�
w	��0pc [...]
+endstream
+endobj
+2119 0 obj <<
+/Type /Page
+/Contents 2120 0 R
+/Resources 2118 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2077 0 R
+/Annots [ 2056 0 R 2057 0 R 2058 0 R 2083 0 R 2084 0 R 2085 0 R 2123 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 2098 0 R 2099 0 R 2127 0 R 2100 0 R 2101 0 R 2102 0 R 2128 0 R 2103 0 R 2104 0 R 2105 0 R 2130 0 R 2106 0 R 2107 0 R 2108 0 R 2132 0 R 2109 0 R 2110 0 R 2111 0 R 2134 0 R 2112 0 R 2113 0 R 2114 0 R 2136 0 R 2117 0 R ]
+>> endobj
+2056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.618 719.912 410.855 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8b280d026e0c343ec0d3f5521dda6376) >>
+>> endobj
+2057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.183 719.912 488.577 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2058 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 707.957 224.501 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.838 662.129 343.717 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f29cc9becde5f28a37567093174d6855) >>
+>> endobj
+2084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.265 662.129 426.659 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2085 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 662.129 513.996 673.033]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 650.174 180.776 661.078]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2086 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.618 602.353 410.855 613.257]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_680aecc71f3b21fa0db03c7d1cbe466b) >>
+>> endobj
+2087 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.183 602.353 488.577 613.257]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2088 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 590.398 224.501 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2089 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 506.024 232.521 516.928]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_dc7cd513e31b7ecdda3a25a967d8a772) >>
+>> endobj
+2090 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.337 506.024 335.743 516.928]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 432.609 277.352 443.513]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9947be8614cba5c2e8b02771d48fc7d2) >>
+>> endobj
+2092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.168 432.609 380.575 443.513]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.017 432.609 479.373 443.513]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 395.747 277.661 406.651]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_50d5c68064e215d3f2cf3ee69896e676) >>
+>> endobj
+2095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.477 395.747 380.883 406.651]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.326 395.747 479.682 406.651]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.033 347.926 317.283 358.83]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b1d03e0aac8dda484b102c536c612a45) >>
+>> endobj
+2098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.026 347.926 429.432 358.83]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2099 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 347.926 513.996 358.83]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2127 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 336.345 176.352 346.875]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.429 301.102 315.995 312.006]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) >>
+>> endobj
+2101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.134 301.102 428.541 312.006]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 301.102 513.996 312.006]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2128 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 289.147 174.668 300.051]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2103 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.341 254.277 276.288 265.181]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_85417db0eb420d402acee4ef0d842efc) >>
+>> endobj
+2104 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.339 254.277 386.745 265.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2105 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.466 254.277 513.996 265.181]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2130 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 242.322 164.178 253.226]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2106 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.223 205.461 279.796 216.364]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_2dc649f0ee90ea5af999e3c0bae54bcb) >>
+>> endobj
+2107 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.728 205.461 387.135 216.364]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 205.461 513.996 216.364]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 193.505 164.178 204.409]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.08 156.644 323.629 167.548]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_27fdc62bc2cae150c7d710a8e312a40d) >>
+>> endobj
+2110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.419 156.644 433.826 167.548]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 156.644 513.996 167.548]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 144.688 210.673 155.592]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.521 107.827 328.695 118.731]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6d147411700f558d74d8273accfb8e04) >>
+>> endobj
+2113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.927 107.827 437.333 118.731]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 107.827 513.996 118.731]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 95.871 217.298 106.775]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2121 0 obj <<
+/D [2119 0 R /XYZ 90 757.935 null]
+>> endobj
+2122 0 obj <<
+/D [2119 0 R /XYZ 90 679.23 null]
+>> endobj
+2124 0 obj <<
+/D [2119 0 R /XYZ 90 521.102 null]
+>> endobj
+2125 0 obj <<
+/D [2119 0 R /XYZ 90 447.687 null]
+>> endobj
+2126 0 obj <<
+/D [2119 0 R /XYZ 90 412.848 null]
+>> endobj
+2129 0 obj <<
+/D [2119 0 R /XYZ 90 271.378 null]
+>> endobj
+2131 0 obj <<
+/D [2119 0 R /XYZ 90 222.561 null]
+>> endobj
+2133 0 obj <<
+/D [2119 0 R /XYZ 90 173.744 null]
+>> endobj
+2135 0 obj <<
+/D [2119 0 R /XYZ 90 124.927 null]
+>> endobj
+2118 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F23 144 0 R /F72 202 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2191 0 obj <<
+/Length 1940      
+/Filter /FlateDecode
+>>
+stream
+x��Zێ�6}�W�-2�y���� l6f'
�a20�6m
k]V�����-^�[��=��O�i��U<uxH	� ?�q?�{/Y�XR�ςJ$(	���P!Gc
��r�aHqX,�zZ
I��I��8�g��j�L���Qϴ�s�D8�$���?
~��w@`8 ֥PH1L����8�B�OF,�����2�.�_�
`?�ë
G� �p$7���[E�R��~��F�0$�I�S��P׵!dE옑i���ˉ��*B��O��N���
I>]�D�8l
+��]ꧺљ�/fy�����мZ�T�/�j�EX|I��I󹷼�������
4E
)��G�؍p�
�;
P���p]�b�����
�����@l$("`~D)R����=#��� Хy�
T����G���̢�#И�c���ӡ-��,�Qc֐��]sM��r�Hg�Y�%'�w�"����nVU^�"Iܥ,�I}�@�z�q8
B
��Y�Da�8��g
+��I�%��m��w��;��=.�D���
�Ǽhv\��5���H9��
5�<
R>�����
@� �!m���qX�v(~y��rb�걱���A���j��P��)p��M��i��W"�p̯�ʽ�
�ID��:��o�4��6��(s]��bk�Vf�͘w��`����y�(lnO�� mT���N���r{ri
+��b�N���i<Y��d�W����>o��%��!T!�W
e#lz�t!;)��W�4�'�n�4�yǦ�a�;�us�0�|b���
�B��6���-�uSYB�
+c������L�L�ujl<��`4�?����&��,hm�L�q�a�Ǥ�2	Jh����5�(��Þ��{�t
�D��K����D��3nğ�է�xV�8y(L�n�yh�<{
��c諐8R;�~Ns�TcwV^�A���e?|)+]�Bꪢ�>��GD��[-��;�c�6��Ӄ]ӷ��p
S�</�g��
�*��� �T���A���\?C
4���/�e���sl�k}�q�Z���� V�
8K����:mݻq��-�0�o��
|�R��
WRD�ջBφ�<1��:o�mիr�����7'���C��O��{��Ɖa���`
�1�k
��Vaة\egD�_�0H'gi�Q�J��:�1
B.���VLox�Qex��h�L�3^��ݼ���I�%�Gh�wl�qm�݇$|r��|ڥ�8��$�txٰ���e�v�t1w1�DL��Ÿ�em��Đ����$�wf^�9 ` ���� ��� K��
���s�I�>����5�}��9B���L%.�V��w�5rV��K����#�JP�v=�2Ş�* ���9��dj���)��9��q&S��3;�LƳ���N/0g�ˈ��=��3�
��6�X ���7$a�d���I�Zܷ��[�2�k	6�
����`ո�ͿE��i�@K��/��
+6��۬��/�IҤ�7�W��
+v'w����Z��_�����3���(N���f�O��S7Q8��‘�
�#O+
)N(
u�$1��|�[�W�3�@q
S8
+B.+P3��
+�
�F�P�c�W+
�2�#N
~�(>�p����
樼!gț
u#ԍ�[�)΢
���V6�l���ܠ�����H�פj�H�zU#ވ�ܓ��I�SDz��JG	�~
���t$lܩt�v�)
��JGɣJ�9� 4�Վҁ��J~4����1~���8�����s�!��9�_t�a��t�7a%����U�H�3fP��*���V���s�P%���η%�|����G�f1�|��[��o��h>�_�|�,��7U�'a&��
A�	�aV&����
�K����_K����nW�EӔ��ݭ�k4��*O�
+��
 �n/�)"�"��FӢŒ.+�vePP�\�<Cڅ:f-�
+�?;�
+endstream
+endobj
+2190 0 obj <<
+/Type /Page
+/Contents 2191 0 R
+/Resources 2189 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2077 0 R
+/Annots [ 2115 0 R 2116 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 2201 0 R 2157 0 R 2158 0 R 2159 0 R 2203 0 R 2160 0 R 2161 0 R 2162 0 R 2204 0 R 2163 0 R 2164 0 R 2165 0 R 2205 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 2207 0 R 2174 0 R 2175 0 R 2176 0 R 2208 0 R 2177 0 R 2178 0 R 2179 0 R 2210 0 R 2180 0 R 2181 0 R 2188 0 R ]
+>> endobj
+2115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 686.164 245.263 697.068]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_4b5f126aef2ca062b034f795f6e5cf6d) >>
+>> endobj
+2116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.079 686.164 348.485 697.068]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 649.551 253.711 660.455]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_357ddb19493a385970c56bf4847a07a1) >>
+>> endobj
+2142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.527 649.551 356.933 660.455]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2143 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 612.938 254.668 623.842]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b4f7535037080c7f5db32b2e85fdc80d) >>
+>> endobj
+2144 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.484 612.938 357.89 623.842]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2145 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 576.326 299.898 587.23]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9e5f40dfc278c52da81291b30fbe75f7) >>
+>> endobj
+2146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.713 576.326 403.12 587.23]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 539.713 303.374 550.617]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_39ee8e60c1d4d6faa40986d8fba28d5d) >>
+>> endobj
+2148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.19 539.713 406.596 550.617]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 503.1 251.34 514.004]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_141c3283de2a46f2fcb278dcdca0558f) >>
+>> endobj
+2150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.156 503.1 354.562 514.004]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 466.488 249.128 477.392]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_e1e938f0c844231dfe2098ab8fbca67b) >>
+>> endobj
+2152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.944 466.488 326.338 477.392]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.78 466.488 425.137 477.392]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.983 429.875 296.212 440.779]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b32d3b44994fefe43c44e353a47cb4a4) >>
+>> endobj
+2155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.905 429.875 405.311 440.779]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 429.875 513.996 440.779]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 417.92 179.112 428.824]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.84 381.307 296.676 392.211]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7135823ecf68cedd5236d53e2b5541f5) >>
+>> endobj
+2158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [306.226 381.307 405.633 392.211]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 381.307 513.996 392.211]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 369.352 179.112 380.256]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.607 332.739 300.683 343.643]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_93cee014592562084126f06fe47efbba) >>
+>> endobj
+2161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [309 332.739 408.407 343.643]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 332.739 513.996 343.643]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 320.784 179.112 331.688]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.11 320.784 270.591 331.688]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.197 320.784 378.678 331.688]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 320.784 513.996 331.688]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+2205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 308.829 174.668 319.733]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+2166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.327 263.125 249.243 274.029]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1dd00b705631c579994677fea3a86d63) >>
+>> endobj
+2167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.28 263.125 353.686 274.029]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.875 263.125 500.601 274.029]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 251.17 196.576 262.074]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.856 251.17 297.337 262.074]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.996 203.598 299.418 214.502]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0e494452cce5a8916f4fe97a1c79e237) >>
+>> endobj
+2172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.125 203.598 407.531 214.502]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 203.598 513.996 214.502]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 191.643 179.112 202.547]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.908 191.643 272.389 202.547]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.024 191.643 379.505 202.547]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 191.643 513.996 202.547]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+2208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 179.688 174.668 190.592]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
+>> endobj
+2177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [142.996 133.984 299.418 144.888]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ee4d567631589e83063cfb8f80c2bd6f) >>
+>> endobj
+2178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.125 133.984 407.531 144.888]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 133.984 513.996 144.888]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.029 179.112 132.933]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.784 122.029 263.265 132.933]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.776 122.029 361.257 132.933]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
+>> endobj
+2188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2192 0 obj <<
+/D [2190 0 R /XYZ 90 757.935 null]
+>> endobj
+2193 0 obj <<
+/D [2190 0 R /XYZ 90 703.202 null]
+>> endobj
+2194 0 obj <<
+/D [2190 0 R /XYZ 90 666.59 null]
+>> endobj
+2195 0 obj <<
+/D [2190 0 R /XYZ 90 629.977 null]
+>> endobj
+2196 0 obj <<
+/D [2190 0 R /XYZ 90 593.364 null]
+>> endobj
+2197 0 obj <<
+/D [2190 0 R /XYZ 90 556.752 null]
+>> endobj
+2198 0 obj <<
+/D [2190 0 R /XYZ 90 520.139 null]
+>> endobj
+2199 0 obj <<
+/D [2190 0 R /XYZ 90 483.526 null]
+>> endobj
+2200 0 obj <<
+/D [2190 0 R /XYZ 90 446.913 null]
+>> endobj
+2202 0 obj <<
+/D [2190 0 R /XYZ 90 398.346 null]
+>> endobj
+2206 0 obj <<
+/D [2190 0 R /XYZ 90 280.164 null]
+>> endobj
+2209 0 obj <<
+/D [2190 0 R /XYZ 90 151.023 null]
+>> endobj
+2189 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2255 0 obj <<
+/Length 1786      
+/Filter /FlateDecode
+>>
+stream
+x��_o�6���)�6h�")q{ںeX�b]�bm(6mk�%W����~G���G���^�`@ K
+u$��;�
�����_;?�t.���I$���
A��f������wg����
��t��A�#a7Mn�hԻ�
wK
+�
��2�o�P�mTR>"��]A{n^t~��|��H�%P�s�?����<�a��л/[M=F}��xם?;�/O��i o�GXp3����{������⤰��p��
כ������5̸�&E'�ҳu�D��{��V��L�˒�M9~�˳��
 iC"+�p��W�BP�`Z}�"���x`��F�,���F�g��q�+zT=���
�]X{�p�;���|�	b$��K�_L��!��#��Ӹ�:��^}�GsY�
��1Ɲ�ECg
��`~0���t���������Re$i��[+y�Q0	�8�pA�# 
�t��H�1�Y�/&�}��Nl��V`a�ɒ�
���л Inik�C+{o�	C$�A�_��Qv�bDV`o
+�A���%R�:6Ԋ��
�]k�����޻
f鴕��D��]��Vb�9����FɠI
+GB�6:�Z	1`Z��
+��l1V=�gg�,�px9CR�'p�D�ux�>D��;Q`�N��BQ�ONM[y�GS�&c^�!�=�����X���a�`�	
+8;��rr�
���w��ز����59AP^d~�8#��3h�ș��
+- �q"q"\���{�&s5L��<�ʻ1R=»��e=�´ͣ"��cL����I<�M�`���6�|�l>GY
%Ў��<�+����!,�p�aC�f�Hm"F�*G3K�4�X*����r�q��,�BJ(d�� ��tEu ����7A�
.��j8�����u���y���8�	�l��z��@s�����7�K��_ �M���TM�lq'�w�B��5�gv���4���ˉ�� <
�E �|�jE;�I�:4���u^�@A���d�eq�xj��|�@�Ug������5I�ݞq��
��Ú�M��ƶ^T�I�k��Z9[H����́{�a\.%A;��re���cHU��<�i�� �	"uj�)}���
e%���҃)���R*�r$u&�
ą��gU������fp��Ts]�]�r�W��<�(��&��";�W)�L�5�l�"W&�^x21*NkW�``
"��W4�}Li瘌U>���,����ZϏ��j��Og�-���
��e#�e��|���McZ䅚�v��kmXM��5���)����<��B7��ey�@g�rJ�
�ܒJ�
�d	ӡ���-D	���	�x O��i�9y��#L^캴�-\��X���� ���~�3��F.N<4\� �`.�nHFؑ@�}�ɸh�pȭgG��tbqT�5�Q/���c8]�
��#,��6[��%>E��|��b������j����#��h30`n�ȳ#�T���<�Iº
>Y/I�@��'��J*�As�ϔ4<�r ���2:6���
+�i6���l�D Z���^Q���yN
+2�
ډ������O����t/4D�v�+\�yUٙ+
�m��.�>B%�1;Of�����Y��Aٞ�7	�I����'y"D
��_�/���`>$�L���n겝�<��8֭���=��"W�|n�E�h
���W���X���*���y7wuä� L�Yw���	��L_��=��V�I�����z�)]O���i}6.�����������y�2����fM��B`�Oh�ӯi�)s��d�;�w,Xq�
�C���xl
+endstream
+endobj
+2254 0 obj <<
+/Type /Page
+/Contents 2255 0 R
+/Resources 2253 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2077 0 R
+/Annots [ 2182 0 R 2183 0 R 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2259 0 R 2213 0 R 2214 0 R 2215 0 R 2261 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 2269 0 R 2237 0 R 2238 0 R 2239 0 R 2270 0 R 2240 0 R 2241 0 R 2242 0 R 2271 0 R 2243 0 R 2244 0 R 2245 0 R 2246 0 R 2247 0 R 2248 0 R 2252 0 R ]
+>> endobj
+2182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.536 719.912 292.284 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5a6342bc4e04c1f228d210e5c363b6d4) >>
+>> endobj
+2183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.53 719.912 394.936 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.37 719.912 503.777 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.168 671.75 331.574 682.654]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bcf3ccb8e2e224496d1326e47e15fdc6) >>
+>> endobj
+2186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.452 671.75 440.859 682.654]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 671.75 513.996 682.654]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 659.795 180.776 670.699]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.166 623.587 331.582 634.491]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a309e957fa5f404b296e2e4c30e1697d) >>
+>> endobj
+2214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.458 623.587 440.864 634.491]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 623.587 513.996 634.491]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 611.632 180.776 622.536]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.543 575.425 284.541 586.329]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f777de5ca96f8d1631d3500008bf84f8) >>
+>> endobj
+2217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.794 575.425 387.201 586.329]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.649 575.425 496.056 586.329]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 540.883 223.116 551.787]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) >>
+>> endobj
+2220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.932 540.883 326.339 551.787]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 493.717 317.601 504.621]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_3e07a3e1a6e6c9f281227b4e215a3dc7) >>
+>> endobj
+2222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.417 493.717 420.823 504.621]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 457.51 303.375 468.414]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e) >>
+>> endobj
+2224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.19 457.51 406.597 468.414]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 385.894 267.39 396.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5a9b061c4408ab8d70a1dea91a6ff983) >>
+>> endobj
+2226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.206 385.894 344.6 396.798]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.042 385.894 455.025 396.798]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 349.687 274.015 360.591]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_191744753f79b939c8d61efe45778bd8) >>
+>> endobj
+2229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.831 349.687 351.225 360.591]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.667 349.687 468.276 360.591]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+2231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 313.48 271.265 324.384]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_2f80d4608b0b75948b50dd862a14df66) >>
+>> endobj
+2232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.081 313.48 348.475 324.384]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.917 313.48 493.221 324.384]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.747 277.273 279.532 288.177]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8abb894f6f4a673d549aa9bf7456b638) >>
+>> endobj
+2235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.989 277.273 358.384 288.177]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.519 277.273 513.996 288.177]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 265.691 129.857 276.221]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.909 229.11 311.644 240.014]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_89c2384471ee03156c7b414dceee8f14) >>
+>> endobj
+2238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.263 229.11 390.657 240.014]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [410.157 229.11 513.996 240.014]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 217.529 129.857 228.059]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
+>> endobj
+2240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.867 182.613 323.227 193.517]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f818756f74f766dfb937e586565db8d6) >>
+>> endobj
+2241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.804 182.613 407.198 193.517]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.852 182.613 513.996 193.517]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 170.658 164.178 181.562]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
+>> endobj
+2243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 136.116 298.383 147.02]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d024f037803a208b74cd150eeaa5649d) >>
+>> endobj
+2244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.199 136.116 375.593 147.02]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.035 136.116 486.018 147.02]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
+>> endobj
+2246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 99.909 305.009 110.813]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8ffc5459233ed9781c0ca910e88fa1f9) >>
+>> endobj
+2247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [308.824 99.909 382.219 110.813]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.661 99.909 499.269 110.813]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
+>> endobj
+2252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2256 0 obj <<
+/D [2254 0 R /XYZ 90 757.935 null]
+>> endobj
+2257 0 obj <<
+/D [2254 0 R /XYZ 90 733.028 null]
+>> endobj
+2258 0 obj <<
+/D [2254 0 R /XYZ 90 688.687 null]
+>> endobj
+2260 0 obj <<
+/D [2254 0 R /XYZ 90 640.525 null]
+>> endobj
+2262 0 obj <<
+/D [2254 0 R /XYZ 90 557.82 null]
+>> endobj
+2263 0 obj <<
+/D [2254 0 R /XYZ 90 510.654 null]
+>> endobj
+2264 0 obj <<
+/D [2254 0 R /XYZ 90 474.447 null]
+>> endobj
+2265 0 obj <<
+/D [2254 0 R /XYZ 90 400.809 null]
+>> endobj
+2266 0 obj <<
+/D [2254 0 R /XYZ 90 366.624 null]
+>> endobj
+2267 0 obj <<
+/D [2254 0 R /XYZ 90 330.417 null]
+>> endobj
+2268 0 obj <<
+/D [2254 0 R /XYZ 90 294.21 null]
+>> endobj
+2272 0 obj <<
+/D [2254 0 R /XYZ 90 153.053 null]
+>> endobj
+2273 0 obj <<
+/D [2254 0 R /XYZ 90 116.846 null]
+>> endobj
+2253 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2334 0 obj <<
+/Length 2334      
+/Filter /FlateDecode
+>>
+stream
+x��Zے��}�Л!b���J���]�׻�3�O3���n� a]��w�E�����w�)++�䩓���C�����������1�Cw�A�$(	�V���D$���x�ݮ�?O)����G�*�$��ټJ
�3*��oY���d����^�{Tf.��$d�/w?�|ww�.��!�D��`����+��C�����ܵ	8e�>��r����>ʹޙ!�`A�hd���Ra�i

>��3�*wY{W<87?�"
�@� @ 
+�c���sZ=ΗyVVEF�}����X���-W��d���{1ƈ�b���e>���a� �6
+_�Jm��K�,�]������^R0�!7��H��2��?���8 ����4B��`�ܹ}���M2�7��e�9�U�a6�S"&6��b�y��B�y��Z���0��C�;�n�=l�H��� ��"����1D�CQ�:@����2��B���.��7EW���Ն�8�b�BX�7CV�H�
�����[�T�u��U
+?��L2�2]�)m��ݰ_RC�^�"�r�G�ٟ�O�}�aaš�z�,��DHs�NH��m�#��>� A0�<�z�p��$[Y�vQ�=`S&'��ו�#�1^�p��� �⯃%��ٮ/'<,��V�E^g��,*)�Bi�������Ep�hT&�5e�h��Xگ����|�=x
!�19�q \��4���`	��.�V����	�U�����c�Q
�L��L�N�"�k^3��ż�.F:
0�ΟsI�zv��Fء&/��v�޿��ή�Z)-_�#
l�\��`B�\b"��MW[|�n����|#�<M"l5�ޗ�-��=}ExK��ٶP�*��҂��i���I�e�O=��8K^�	ɐ�bo��N�=�/0
��
��/�oo���3�n�pz���&�
n��i�>){Q�)Ǔ�Q �4:fT
+3}(���UV�/Q*��&��8
*����!����l��F0�.X�?��
�
 ?��C>@,Zy� 7�?v�c������3�	�H���8U�Qs�N���bù��9N9q�hu�g6�
s�!�e
U=+����V���� 5�Fƽ�l�P�DR�M�X���!]& �u^���By��
x�e��N�ZӁ�4g��&"�� >筛�H`z�e�lb
;l[`��Dﹹ�V�7�%�����
+2'+�n����
;La8�a��i}�W�[�7�QLOZ�'�%��|e����ĀZ�h:�>��H�cuֶ��$�$�@����d���vVj_pOK
OI��9���- x_���8ht����A�S?~(��@�]}1���ƪ��9��Ie�o5wM���JQ�u$�X�5�|��F�`��}����*|�Y@�zL*���j�	��S[�
i�����ZQ��D��o�4�wSf;�1
+��*��-)����kFcP�0XO��F��g
��ku�+C�{2ۥ��]C��L��
h��i[����o]eO�?'e�^蚧vm:Ii���:��S ���҈����HH��щi��$�&yP���E;�
�$I�x�$�#n�ҥ�{���L%���]]�a}�i�FW�s��s����[\�M`;Mϻ��YYy����>�Q�A�qq�� �D[��m��o{�'��e!d����M��6��j����i�XM� wS.���$�d� Z��BM.��d�5�|D�h3�����D�j�����Ҫ�~���rż1Q�;
�'�ЙJ�1	�G'��w4U,��&�btŒ�X/��R����6
 Q�o`�'^������{5�oq����%�Q*SE���e�f~��J�y�y�X��N��@�XJ{ 
�E c(�N���g�8(�X@F4f�d�
ӵ+o���#_�9D-�+Lbܨs�Z�w�x@�8�9u,�)w���[�5؟�BN���E����#
E͠�3(�K [...]
Ѹ�
SaN�E����k*�	N���'q�	���pԆH\`f^!x�v���a\������Sذ
K�=\.b$��A���8��5��u?LER���ݵ${�5��<��׶�-U�]<9��S������OzHUt�
+F�H8�0{��4�>���m�4��~cһ�

u�M�Ǫ�������-KTg�@iu
,xۋ�^�p�l�
T|ֻM^({  `��(f�Ԥ;��f�449{���f��
+endstream
+endobj
+2333 0 obj <<
+/Type /Page
+/Contents 2334 0 R
+/Resources 2332 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2077 0 R
+/Annots [ 2249 0 R 2250 0 R 2251 0 R 2337 0 R 2277 0 R 2278 0 R 2279 0 R 2339 0 R 2280 0 R 2281 0 R 2282 0 R 2283 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 2343 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 2348 0 R 2307 0 R 2308 0 R 2309 0 R 2310 0 R 2311 0 R 2349 0 R 2312 0 R 2313 0 R 2314 0 R 2315 0 R 2316 0 R 2350 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321  [...]
+>> endobj
+2249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.648 708.127 307.801 719.031]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0b031bedcfb70f485bab922596bce1c8) >>
+>> endobj
+2250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.159 708.127 390.553 719.031]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [418.466 708.127 513.996 719.031]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.172 164.178 707.075]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.53 659.649 311.309 670.553]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c655ac3a494c4f92bb02d0b9294bdd85) >>
+>> endobj
+2278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.549 659.649 390.943 670.553]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 659.649 513.996 670.553]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 647.694 164.178 658.598]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
+>> endobj
+2280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 611.171 285.103 622.075]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f92f3c9d758e2a155a2a6faec4235741) >>
+>> endobj
+2281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [288.919 611.171 362.313 622.075]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.774 611.171 472.18 622.075]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 574.648 291.191 585.552]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_784570f6ced5461b4d82cdfefa1cb31b) >>
+>> endobj
+2284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.006 574.648 368.401 585.552]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.861 574.648 478.268 585.552]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 539.949 278.747 550.853]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7918c3a73aed2529e1e57b8983264bad) >>
+>> endobj
+2287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [282.563 539.949 355.957 550.853]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.418 539.949 465.824 550.853]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [148.629 503.426 343.088 514.33]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9fb38e66323fe6cb24b32e32e66dba78) >>
+>> endobj
+2290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.428 503.426 430.822 514.33]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 503.426 513.996 514.33]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 491.471 180.776 502.375]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 443.99 286.209 454.893]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bc350d1ab1c6e4da0df6bb130364af7b) >>
+>> endobj
+2293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [290.024 443.99 363.419 454.893]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.88 443.99 473.286 454.893]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 407.467 317.202 418.371]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad69d01217b9ea1043883162d285505c) >>
+>> endobj
+2296 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.018 407.467 394.412 418.371]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2297 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.263 370.944 330.976 381.848]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_db06752e755290368c9bb00ad14a0984) >>
+>> endobj
+2298 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.949 370.944 410.344 381.848]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2299 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 370.944 513.996 381.848]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.351 322.467 333.94 333.37]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8402fc25b68056511cf62f1378666a88) >>
+>> endobj
+2301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [339.001 322.467 412.395 333.37]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 322.467 513.996 333.37]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.783 263.03 262.173 273.934]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9563155e281915a8bc2eea34ceff9cf0) >>
+>> endobj
+2304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.666 263.03 341.06 273.934]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.276 263.03 443.633 273.934]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 263.03 513.996 273.934]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 251.075 210.095 261.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.767 251.075 320.261 261.979]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.781 216.375 272.893 227.279]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8a9e2cf693ca3e9c464efb04071b8572) >>
+>> endobj
+2309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.384 216.375 349.778 227.279]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.635 216.375 447.991 227.279]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 216.375 513.996 227.279]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 204.42 210.095 215.324]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.767 204.42 320.261 215.324]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.681 169.72 299.364 180.624]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d015c9afd4968005d43f233359253c5a) >>
+>> endobj
+2314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [302.755 169.72 376.149 180.624]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.826 169.72 474.183 180.624]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 169.72 513.996 180.624]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 157.765 236.107 168.669]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.338 157.765 378.064 168.669]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.506 157.765 490.999 168.669]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.71 123.065 314.115 133.969]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) >>
+>> endobj
+2320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.534 123.065 392.929 133.969]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.98 123.065 495.336 133.969]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 111.11 253.821 122.014]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.693 111.11 398.419 122.014]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [416.503 111.11 513.996 122.014]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2335 0 obj <<
+/D [2333 0 R /XYZ 90 757.935 null]
+>> endobj
+2336 0 obj <<
+/D [2333 0 R /XYZ 90 725.143 null]
+>> endobj
+2338 0 obj <<
+/D [2333 0 R /XYZ 90 676.665 null]
+>> endobj
+2340 0 obj <<
+/D [2333 0 R /XYZ 90 628.187 null]
+>> endobj
+2341 0 obj <<
+/D [2333 0 R /XYZ 90 556.965 null]
+>> endobj
+2342 0 obj <<
+/D [2333 0 R /XYZ 90 520.442 null]
+>> endobj
+2344 0 obj <<
+/D [2333 0 R /XYZ 90 461.006 null]
+>> endobj
+2345 0 obj <<
+/D [2333 0 R /XYZ 90 424.483 null]
+>> endobj
+2346 0 obj <<
+/D [2333 0 R /XYZ 90 387.96 null]
+>> endobj
+2347 0 obj <<
+/D [2333 0 R /XYZ 90 339.483 null]
+>> endobj
+2332 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F34 1307 0 R /F84 440 0 R /F82 920 0 R /F38 146 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2397 0 obj <<
+/Length 2498      
+/Filter /FlateDecode
+>>
+stream
+x��ZK�۸�ϯ�-T��7��6�n*�ݪ�=���Rq$Hb"Q
+I�x���x�)H�����U����n4��}�M�h��/wz�{�A�(E��2z\D)��$HP=ΣO�B$���q�ۭ��L(���ו�����bZg��=8�kQ�r�ʹ��A/�
�
{�p&b�'������?w��#bU
+��ls��3��p��#�&ы
��8e�>�������f	|`!
+I��EKgۯ�
+��f^��^��yQ��fy�ү�
�u;�wv`�
]f���z>�*�_1����l��8c��'U
���`	�wg֨+d�otQ�F��N��<��f���ʋ�e��R!�6�b�9�KIiu�Q$���U]f����I��b3����usƆ$�V��ț��:+��ٕ�r�����ﭹ�o���n�o�k��H�q�9����|>��(�a*%�n�Q
tP��#�;X��� "�[#bP
�b)��<;~�rC��b6 �z��8p�	����񷶋���G5��x�땓WN��u�ӳ�5>�]��׉�) H�� R���p��ʬ�\��
+�:��ĝ�F*���6<O�2�l�$(Uʅ?E�0��ԍ�^
;'P�r0
+M�"���1� Q��ڱk}
m\J#��<�7���&��
�Y�)�	F�HE�:灃�)�,�����.�"~Yiwr����*pS
n2�� L����rh�\.�d����v�
�s{����5��B��:����6������Ee�
�I���RB)In`��6 ����C�`���	v!�8A�t���#�{.�:ण�K��5�F�U\`Vq�
���\@�\@�	.H ��y�� B�� n�"qH	��)20L�+yJ M}J ��EaJ �N�0%��%q�J��
0�r�v|@9������?��Y$1�<����Q��������q>H�F�B���ʃ�zUM�U5�d�F	I:R&@�#
p�����!�L����0������z�H"���
�
���&���d�Od2�~!���h��	��\�]���9�룹3�}��<A��0�ä�1
�Ku
�!!Wm�v12Dr�� ��:��}���O�h
2!-�HUt
R�,��_�c_�&�>��"ŷ&�f5gm%���ہ�0 [...]
�jw�s��/��|�:���M��}�0���O��VoKw������=l�3O�20�
�4�j]��ifa"�?���������
N�Iz�	�}$'�����
�Q�XB�Sg�c�<��"6g�($^UoH�kwa���^�wk�ǘ���`����g-��
kJ�^l��K�������˲ l.ڵ(���,+�œ�}���,��@p�R
�t�ރ��'�^ۼ2;�O���k����Y~l懚ŵq�q���s�gOd�i_�@hmA�5X���4�A
+1�	\K�M�y�	���ie��i:N�g5͊�To���86���t�
J�ڠ'3��3����
D�w�y� 
C[����H�_�Ӵ�4 �
��=�������Go� A^�Ϗ?���8�v=�9Jq2.�����1�JO����i:��w���L�7�
q�3<�ߌ}���ʿ1R�+qV(�����Q5\����׳���<�����(K�P�\��5�>Ay+U����T<S������O8~־9�p��1�d�d{n[�����|+�` i2�p;��
+d��e�
+�_2_��z�����٤FJ[	����-Q&b-��T��l��1
,
uY?�:�
��4>��j!��m�̫� �g`�c¾x��
�%sH�r��Um�0�<��*°�
�5ՠO�^������[P{�Y�h-���v�gm
�]	��ĸ��0�:�|	��(ZA��K���J��ߓ������g�c�G�f/:��x
Ni�n6�
���81>ں���V�FkV�j%!�~g�uXA���tU-�k7��M�/
?�7�L�/���ѣ�f��[y���β��W*NN���T��g7��ڔ7Ӧ
�Mum��[��-��=�n�P�u�e�p�	&�f3_w�L��!Sh�R0��iVV�y���\!_�$�N�����t
Z
�,���v�y�1x���Y��
�a�;ѵ	�
��2`���;:��`����{�,��
Y1�n�.s]�r��.�X&���ۼ�+Q�`�ܛ�"������/��r�i�	 ������Jߟ|��e�roޢ:x���w�U��t��gU��,��oښv
Xvh�	�ە�0'>�����s��塀�۝���8*��큭�z�LJ���4�о�w%�����&i'�`�jOe�4W7�R7mp@��s|p�
�����@*��
+endstream
+endobj
+2396 0 obj <<
+/Type /Page
+/Contents 2397 0 R
+/Resources 2395 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2077 0 R
+/Annots [ 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2399 0 R 2356 0 R 2357 0 R 2358 0 R 2359 0 R 2360 0 R 2361 0 R 2400 0 R 2362 0 R 2363 0 R 2364 0 R 2401 0 R 2365 0 R 2366 0 R 2402 0 R 2367 0 R 2368 0 R 2369 0 R 2403 0 R 2370 0 R 2371 0 R 2404 0 R 2372 0 R 2373 0 R 2374 0 R 2375 0 R 2376 0 R 2377 0 R 2407 0 R 2378 0 R 2379 0 R 2380 0 R 2409 0 R 2381 0 R 2382 0 R 2383 0 R 2384 0 R 2385 0 R 2386 0 R 2412 0 R 2387 0 R 2388 0 R 2389 0 R 2394 0 R ]
+>> endobj
+2325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.922 708.953 313.211 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c0e5d09ffe586f8ea5ec782570015c5b) >>
+>> endobj
+2326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.843 708.953 392.238 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.767 708.953 495.124 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.858 696.998 267.853 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [312.006 696.998 440.733 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 696.998 513.996 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2399 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.417 178.862 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.369 639.215 327.38 650.119]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_381b0e6e2e58df417ff578ed6d715520) >>
+>> endobj
+2357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [334.46 639.215 407.854 650.119]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.64 639.215 513.996 650.119]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.509 627.26 283.504 638.164]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.832 627.26 448.558 638.164]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 627.26 513.996 638.164]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2400 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 615.678 178.862 626.208]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
+>> endobj
+2362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.494 569.476 351.546 580.38]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_46fc9d1041d5548a5f8f220af2a07028) >>
+>> endobj
+2363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [361.75 569.476 435.144 580.38]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 569.476 513.996 580.38]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 557.521 210.095 568.425]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.43 557.521 386.425 568.425]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 557.521 513.996 568.425]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 545.566 179.112 556.47]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.501 499.738 361.275 510.642]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5) >>
+>> endobj
+2368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.485 499.738 441.88 510.642]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 499.738 513.996 510.642]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 487.783 210.095 498.687]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.43 487.783 386.425 498.687]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
+>> endobj
+2371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.977 487.783 513.996 498.687]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 475.828 179.112 486.732]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
+>> endobj
+2372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 391.454 285.641 402.357]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c06aed22fa4405051df0da9e7bc16138) >>
+>> endobj
+2373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.457 391.454 362.851 402.357]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.312 391.454 472.718 402.357]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.181 343.633 351.58 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_dd9c4afcd6f6bd78509219f32d57e348) >>
+>> endobj
+2376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.471 343.633 428.865 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 343.633 513.996 354.537]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 331.678 144.243 342.582]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.899 294.816 352.403 305.72]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_90544f38c2980f308cd6e0f9248fdd99) >>
+>> endobj
+2379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [356.013 294.816 429.407 305.72]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 294.816 513.996 305.72]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 282.861 144.243 293.765]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.118 245.999 315.801 256.903]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a48f8ae0f3a2647949417ec2da1c97e4) >>
+>> endobj
+2382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [319.629 245.999 393.023 256.903]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [408.494 245.999 491.85 256.903]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.424 186.223 347.542 197.127]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_402bb86dfedf35933c2a29cc07210741) >>
+>> endobj
+2385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.676 186.223 426.07 197.127]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [444.478 186.223 513.996 197.127]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 174.268 144.243 185.172]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.166 126.447 303.425 137.351]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abb79ab0a7936b6f14cd20e15cb14fa8) >>
+>> endobj
+2388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.3 126.447 380.695 137.351]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.272 126.447 479.629 137.351]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2398 0 obj <<
+/D [2396 0 R /XYZ 90 757.935 null]
+>> endobj
+2405 0 obj <<
+/D [2396 0 R /XYZ 90 406.532 null]
+>> endobj
+2406 0 obj <<
+/D [2396 0 R /XYZ 90 360.734 null]
+>> endobj
+2408 0 obj <<
+/D [2396 0 R /XYZ 90 311.917 null]
+>> endobj
+2410 0 obj <<
+/D [2396 0 R /XYZ 90 263.1 null]
+>> endobj
+2411 0 obj <<
+/D [2396 0 R /XYZ 90 203.324 null]
+>> endobj
+2395 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F82 920 0 R /F38 146 0 R /F83 919 0 R /F34 1307 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2453 0 obj <<
+/Length 2253      
+/Filter /FlateDecode
+>>
+stream
+x��ZIw�F��W�6�{a��rK4v⌓������ ��@ P���O���IT|��hVwu}_m�
�~�������d^�I�w{��S� A�w{�&
+�`:#�IQ���O���2��)�'y6���tF���ꤼ��O�3'��#™�H1�r��՛۫?�l{�,)RLx��������#����Z{�2����W���n���F-�{j��	�Pĸou�L��N�;��L��iV��z{����w;AI{���)��E��� ��q�N�*ͳ=�JM>c���]�K���
ޟ���a^?ɘ���q�{3BP �=��"��נ
�h��
>�Crc��b����]�9�J������ٌ!B)�1��eb���/� \ܜxD
+GJ�f¬^Z�v�2���^�"��!�꼴�ƺ�@�ʫ4[؅��o�,�l�*�#���bLZ��1��Uh="CC��n�6��W�Q�

�fF�
PB�"�^B�wQ}����R�	�߽�+z�c\J��
L��xA�&_��1�T��؃9��Ȣ��yl���i�6����g�iR�@�qD9P�)�)w�vʐ�����6jˇ�(
+HD��3�������(��0͒ؾN3{m���@���')�D��ْ����\7����V
&aYjn��#k�
I�Z�S�<I�!�7cv�
0NB?t�Z-@�c.N �z
���m
YQN��$�
�=_o�U�5@Ōӱ�	DNL�qMN-u�B{نU���Y��q%̚U�<�����:��N��� ��Q,�8c�p��]Vl��o�Y��&��=߳�: ��H�@|�/�
��|^�0������I����r���D��KN�N�����i�s��z 8ѓ�%iU���
��\UЁ�)1,(����!�g��sm����7V
ڇ&
��"��X�X�I
>�N�L����x  H$ūb�f-҇�I�,C�א����ra���
d�e0V�&Z��(h�X�Qs 9�wBŷ�
�HQ���qAe
�Vy43�C �]�[�:����`v���Fu�s���4ґ��MԲѲޔY#�!
��Ou�a�3K�tI�<H2
��_Ή�

VQ���ͺx��p�#R%���.�l at R�DŽ/���'h]
3s
}�w)S
��q$=����pܪ���X�b�u
\����+�i������R q����@�\g|����%��;U\�
��r��$_���U�<N�yp:�pCu�	&�?8��s
���fx?��s�5<nܹ�G��vcLc��c�j�m��
�w�=S�� ����L��ʄ	�j�X��7w�*�N71J��D�3�*��ӑ��
'��f/�5ڴD�)2�2��P�VZ�8�O��v���ǡ}�CI�g���t���]���N�lY��ìN������b�{'UT�E��/uH�8I��3��,���
�?e����dI�y9��Y�.��/p;����'%��ѾQ�y/��\9�OOW}s��9��Փ;=�b����M�2HQ��������^v!����FlRO�� �+k3˴	�j��%�����3�a k[�� }3%�b�ƶLm�Sf	/W�۰q
pS7mT%�գ}Y�l�����x�^�e�8��n:q�8��O��}��i'��
�#�S�p�ཟ�BBdp��eb���h��d#�$|I:2��K��j�P�q$t��WQC.2�5|���
���.��3���aŽ~d�BX6��vh���|B2����A�YCH�FCȞF
!��!�`�N�գ#W����
uu�s�H@�8����2��������a,��E-�T�e
� ���B#�����H�fY~GG= ؛����G=�m>鷑Q��<�a���[�8);D�k4D�����Vq�ю�f8���*�{�E��c<<
G騥]��
j���u�LUi���`�]|����.U�6��TUZ>��ɪ�
����E/]�.]�����HQBNH�u�]�*{��:�^�*���ݫ�
���j����;GH�>]�e��������.�:�� ���v�);��* �����~6%}�A��_M5_EA-���>���z&�ע)S�]��C�v1���]��v�Z6��l�	I�K0M��3�?����T�v�k�m�U��y�K&e�!F \R�	a�
�_�?&͗���5w��2�R *[P/����z�ݢ�B�,-J���`����H'��M�o
\�e����
+
��
j��ϥL\�N�5����i
+endstream
+endobj
+2452 0 obj <<
+/Type /Page
+/Contents 2453 0 R
+/Resources 2451 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2467 0 R
+/Annots [ 2390 0 R 2391 0 R 2392 0 R 2393 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 2462 0 R 2435 0 R 2436 0 R 2437 0 R 2463 0 R 2438 0 R 2439 0 R 2440 0 R 2464 0 R 2441 0 R 2442 0 R 2443 0 R 2465 0 R 2444 0 R 2445 0 R 2446 0 R 2450 0 R ]
+>> endobj
+2390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.357 709.195 314.208 720.099]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_81cc2a565346ce8ee12124224ddd8d6c) >>
+>> endobj
+2391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [321.274 709.195 394.669 720.099]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [417.426 709.195 500.782 720.099]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 697.24 208.451 708.144]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.695 661.346 304.848 672.25]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d6b383704ed3f314864c52f5b715cbbf) >>
+>> endobj
+2419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.254 661.346 384.648 672.25]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.917 661.346 489.273 672.25]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.79 649.391 244.147 660.294]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
+>> endobj
+2422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 567.677 240.282 578.581]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f8a9392f205531631b3a98c332f594b1) >>
+>> endobj
+2423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.097 567.677 343.504 578.581]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 531.783 243.599 542.686]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d20b13c4f378bdc5aa64c3e833a62cba) >>
+>> endobj
+2425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [307.459 531.783 406.866 542.686]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 495.888 248.581 506.792]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6b5c73b1f3f864c8a10c39810b4711ce) >>
+>> endobj
+2427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.92 495.888 401.327 506.792]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 459.994 254.668 470.898]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_658545ec6169d2843323bfe1ff078e6f) >>
+>> endobj
+2429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.483 459.994 357.89 470.898]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 424.1 249.128 435.003]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547) >>
+>> endobj
+2431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.944 424.1 326.338 435.003]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.32 327.442 345.4 338.346]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d9547cb6430722246dea7f5a70566c06) >>
+>> endobj
+2433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [354.43 327.442 427.824 338.346]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 327.442 513.996 338.346]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 315.487 208.989 326.391]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.265 270.142 358.591 281.046]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_3bc82e8c76e1a47ecc20c85e1003036d) >>
+>> endobj
+2436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.566 270.142 444.96 281.046]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 270.142 513.996 281.046]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+2463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 258.187 208.989 269.091]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+2438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.935 212.843 356.401 223.747]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7573064b44c45d804d398aec02e7a64a) >>
+>> endobj
+2439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.046 212.843 435.44 223.747]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 212.843 513.996 223.747]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 200.888 208.989 211.791]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.88 155.543 369.592 166.447]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0184ad10aeca27f95d249d3a7e061b46) >>
+>> endobj
+2442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.182 155.543 452.576 166.447]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 155.543 513.996 166.447]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+2465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 143.588 208.989 154.492]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+2444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.184 98.244 267.458 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6137f367c0c83a73146d84c998d37cb3) >>
+>> endobj
+2445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.352 98.244 370.758 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [386.376 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2454 0 obj <<
+/D [2452 0 R /XYZ 90 757.935 null]
+>> endobj
+2455 0 obj <<
+/D [2452 0 R /XYZ 90 726.054 null]
+>> endobj
+2456 0 obj <<
+/D [2452 0 R /XYZ 90 678.205 null]
+>> endobj
+2457 0 obj <<
+/D [2452 0 R /XYZ 90 582.513 null]
+>> endobj
+2458 0 obj <<
+/D [2452 0 R /XYZ 90 548.641 null]
+>> endobj
+2459 0 obj <<
+/D [2452 0 R /XYZ 90 512.747 null]
+>> endobj
+2460 0 obj <<
+/D [2452 0 R /XYZ 90 476.853 null]
+>> endobj
+2461 0 obj <<
+/D [2452 0 R /XYZ 90 440.958 null]
+>> endobj
+2466 0 obj <<
+/D [2452 0 R /XYZ 90 115.102 null]
+>> endobj
+2451 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F83 919 0 R /F65 179 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2514 0 obj <<
+/Length 2199      
+/Filter /FlateDecode
+>>
+stream
+x��[ێ��}�W�-����%o�E��$�ƞ @�ŀ�8�%��
O�>��n��HJɆ=��
E���U�N]H�h��������W�EIet{
)I��$��Go�
+3���x�]��:�x�Y=-��nB�x���b2��Ίdw���ur���$Yy�p&�RN~��e���чpD�%�B��h�
��
Gs8�K�3:z,�ZG�2���ތ�9�^���r;�F�#���Q8T�!,��ӿwi��N����m��p��8���
�����'�aCvcb
��;�?�E�v���
�4K�E��m�`7k���)KC�
�J��v�in��i�$�:�s��8���� LI%v�wɕ�0�A����|�J�d��3d����"C��Rѐ��
+ at Q�����n�A��3o*��")��i����N�8��	0�5}�o�~��_�.]]_�蒳]~ׯ&!��dM�`K.�� #<�~
�޽)�Z������ x\  b�O
csdtݕ�_�鬖�J �	��|ui x�$���"����W��JͰ���#�-�^<�B�\q(�J.�@8�`)�H���_��6D�O�hs���N�@ZV,��p�B�VX:�~
�A�Å�w^]ӥd<Ň1���σ

II?��/|�,0�?
��|���\pp
����I
��:�i4Ҙ]��t�s���V�f���ArX�� �1����Lh�

�Tj�B�R�v{k�
AM8"
+�M�ނ�A}%�b��/
��!i� (����r�-����]���"�4���dr=&���^n1�J̎
h�r�ǞT]�p��rj�8�h91'ˆb�
j�����C�@L?gr������g��~B��tۣ�h��O��Ф5H���i(��4uN���c'b
�DɀU
+�_^�
�6�����0�{L��!=X�w��+6��
q�߭����1/��Q�QTO��p��٭%�}�� fyΌ�؞<"0
r�n��6	k��v�� �����܉�q�����f��]9L����Cl	]3��rSgjF$�����}�
C�q�v�.��
�c���K�^���ȁ}��!r� 	�Xo����
A�1��Q�0{�
��)'�b�C�K�=:�kD�e!٦h9<s	�t}j����[��
����ke�R�����:����QU����*~�w��c��
��A�"
�.�)�j^�5�:q�M�!���7ex��2�?�t�����Ϭ}}N���$m��I�s��J��ޭ�!z'����p�v�C:D1a��k��]&��9s����U��K�<��K�v���Str�䕩�<l��n�����°��^�7���x(��҃!ĺ@�P��m��P�D��3(^�>���1�W�7!��
xw��G��15�gB��� y+Ǒ|�� �$���'��&��SA���-b{I^���_H�RuZ��T_�s�҃=�%��zN�tv�I�^��[	����+��+B��םu�e/z(��p��:�ʺ�_�D�S]3b�9{�
b�����
,� m*���i��+XO�k<�� ^W�:-�yȴ�-W>���}<v��̘
c����
=����w�V
>!����3j�s#��4
+e������M�"G�u|�8�jM����q��
+���
.8�Oʤ{��=Y�[rw2��
eH�j�������X����8voa�9�Pn�
j��W��u5�ʹ�W��Q/#��S]+�֢�k�O�����f�bn0�ն�!h 
*ø��z�
V��߇�)�:��pGp%
�c�A�)�����ְN��
�jX���c����������J���+u��j�ғ^mY����襹�*6T/3��W~�yV�P;�eX��<+����q���ou�
��k/u{Ua>�hM��&�2ӑh%�O�f�rRo������i%ZX�%ZmM�}�5����S-ӽO �"Gӂ��DkB�
jÆʤ�R.����Oδ�����[�
���LGj�!����N�5�Y���"�*|J�
�k�Z��n�߭
Y���{�~�9���l�/���Gv
��G�ʓݟ&B��g�R����d��S�
+�=� �lw	a�p-�Aޛ$�qf�=
+G�>�o�J���P�,��on
�,GY�ݡ���ߴ>i���TE���C��fjK@��&��*8.\�ȁ�}�lt
+endstream
+endobj
+2513 0 obj <<
+/Type /Page
+/Contents 2514 0 R
+/Resources 2512 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2467 0 R
+/Annots [ 2447 0 R 2448 0 R 2449 0 R 2517 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 2520 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 2524 0 R 2490 0 R 2491 0 R 2492 0 R 2526 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 2531 0 R 2506 0 R 2511 0 R ]
+>> endobj
+2447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.474 696.998 322.349 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5e7090393ee5801d9c988db6d2a06a43) >>
+>> endobj
+2448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [333.533 696.998 432.94 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 696.998 513.996 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 685.043 208.989 695.947]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 648.181 265.716 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ea399d3df97c711c758c8bf715e0c763) >>
+>> endobj
+2473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.532 648.181 342.926 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [358.368 648.181 451.668 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
+>> endobj
+2475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 611.319 269.592 622.223]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_612142029eeee3dd72bb0d37c670d6db) >>
+>> endobj
+2476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.407 611.319 346.802 622.223]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.244 611.319 489.864 622.223]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
+>> endobj
+2478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.699 574.458 310.76 585.362]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_841ceef027f12d5c99fc2e739ae340fb) >>
+>> endobj
+2479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [317.169 574.458 390.563 585.362]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.84 574.458 513.996 585.362]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+2520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 562.503 129.857 573.406]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
+>> endobj
+2481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 527.633 276.814 538.537]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad3749930a51c38886b1d5a01dbbba92) >>
+>> endobj
+2482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [280.63 527.633 354.024 538.537]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2483 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.485 527.633 463.892 538.537]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2484 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 490.772 301.442 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) >>
+>> endobj
+2485 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.258 490.772 378.652 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2486 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.113 490.772 488.519 501.675]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2487 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.632 453.91 372.328 464.814]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_69c0a9ffd5b8910a90a91943a10fe3b6) >>
+>> endobj
+2488 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.67 453.91 451.065 464.814]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2489 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 453.91 513.996 464.814]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 441.955 180.776 452.859]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2490 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [144.192 383.175 357.51 394.079]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1e5a2940765710cccea4ef4f1b7f1092) >>
+>> endobj
+2491 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.412 383.175 440.806 394.079]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2492 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 383.175 513.996 394.079]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 371.22 180.776 382.124]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.88 312.44 316.987 323.344]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d184bea5f8f38b87293d639d57ee340b) >>
+>> endobj
+2494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [320.577 312.44 393.971 323.344]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [404.026 312.44 503.432 323.344]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.106 252.664 297.836 263.568]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_88c408677f6de73fd80903738268efa3) >>
+>> endobj
+2497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.651 252.664 375.046 263.568]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.506 252.664 484.913 263.568]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.594 204.844 421.847 215.748]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_977522267df419dd5f2824ce6c0f7610) >>
+>> endobj
+2500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.151 204.844 501.545 215.748]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 192.889 224.501 203.793]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.314 192.889 363.618 203.793]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.887 134.109 400.763 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_96eaf729b170b6df69bc2d1127f8727c) >>
+>> endobj
+2504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [405.36 134.109 478.754 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.973 134.109 513.996 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 122.154 206.788 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.601 122.154 345.905 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2515 0 obj <<
+/D [2513 0 R /XYZ 90 757.935 null]
+>> endobj
+2516 0 obj <<
+/D [2513 0 R /XYZ 90 714.099 null]
+>> endobj
+2518 0 obj <<
+/D [2513 0 R /XYZ 90 665.282 null]
+>> endobj
+2519 0 obj <<
+/D [2513 0 R /XYZ 90 628.42 null]
+>> endobj
+2521 0 obj <<
+/D [2513 0 R /XYZ 90 544.734 null]
+>> endobj
+2522 0 obj <<
+/D [2513 0 R /XYZ 90 507.872 null]
+>> endobj
+2523 0 obj <<
+/D [2513 0 R /XYZ 90 471.011 null]
+>> endobj
+2525 0 obj <<
+/D [2513 0 R /XYZ 90 400.276 null]
+>> endobj
+2527 0 obj <<
+/D [2513 0 R /XYZ 90 329.541 null]
+>> endobj
+2528 0 obj <<
+/D [2513 0 R /XYZ 90 269.765 null]
+>> endobj
+2529 0 obj <<
+/D [2513 0 R /XYZ 90 221.945 null]
+>> endobj
+2530 0 obj <<
+/D [2513 0 R /XYZ 90 151.21 null]
+>> endobj
+2512 0 obj <<
+/Font << /F63 177 0 R /F72 202 0 R /F65 179 0 R /F50 143 0 R /F23 144 0 R /F84 440 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2556 0 obj <<
+/Length 2362      
+/Filter /FlateDecode
+>>
+stream
+x��[Ks�6��W�T��`jOq6;�&�d�{�I�EI�͍DjH�
��m<��!�
'����X 
v7�_ I<�����/�����V�I�RI��z5I�DI�%����C�I�3�1N�����S��r�xg�Ք�,n��v:�'���V����wfe�S�.™H���v���߮/>^0O�S)RLL��������`�R=yp�6N��'�/~����C�nZ�E�B$(B	S��R�io�|�	�g^4��ZW�3���zG'���&o�������ٍ��|j�l[��&�Y]��U �W,�A]�z���Oo�ؚ�E[�E������F\��
ܐ
+��pL�]�ǩ�5vL�����2p���Ǻ1���E
s'������*
+v�Rr�t
��d�R���߭ �4O�;��6&����b!��@��H؀s�?�#5
+�T��ڋ�)50��y���o���lm�,iJ7�ZF$խ�O�b������ćT��)#b9C��cb�e;���@�
lcH��6ೇ|i������1�Om���D��+W�RD�>n��݊e�2�:�dzbU%���- at M	Nj�hܚB >�͝o�%���Bئ�
��w�ѵ�� �Z�:b��>l��
̪)SIPYR at F`ښ5
���=�eoTԳ�a$5{nD�h��8����.3JQJ�+�4����U�a4U�+a�r
F	��
���,��5 at Jԉ�W���%P
+~
GG�w| ?E���X,bB,��@�O)�b��h$4
@*^�4��7/w��4%��kvӔ�۵4E�`R�Jl��
���� �_��7> v�u�	�B�[$�b�d�3l���~G��u�\��ݗ�� ���
��8
QE��۫!N��!Nå�i��p�-N[sZ����!��/b�
`�)��4A���0=����)�|ƫ�B
Ej b3��q�;Mx���`�0J��y��,��4?����(m�l����>H�	�y
ҝq| ��HS�9�_M�&�]*�v�cGY~;�0a�U
ޓ���Ke��Ig�xԪ�6�D�G��Hc9�F������>"Ʈ��P
����� ;y�$��B at k�
kUo�q��~�����>��:I�
�T4�L��*�	���i�4ҝ+�z!U|Ϛ�rΰ��p��sD�$���0�5�3���2�}>
���ڒK`���J�����"��l|���������d��(J`kJ�w�ꄄ̲Ftd�2�.—f�=���¦�]��
[�3`�[�VO$�a�D�5}\a�����4��|���&@
+K�{��O�e�R@�?du� }<�?�
S�_�/������y�����O�rG	|F�X�
[��Gݡ�n� 4��
�<�
"��a)z��[��[��[�p�֎r%ih]G�:��g�*���w1��n�Q�H��g�x��g�x��_*}dJ���*��'9֖cOr8��� �|@�%
���������
�
ϾL����
+Q���DA3�9�L�z��ױ+�KH5;��q>
+:����GAg�p&
+�uf���
J����
����D�w����}�oL����'�N�0��z���nMxKˆ�k�v��J�+WT��v-�
�N�r���ړ��OW�{jS���6�<i��5(s��ƹ����`�4�B�t�mc`����FL���T�˪�����a;X�k( �ց�ʢ���b�&[,L]��1{9/-�8[K�T��
���nVZ�X��]+���	W�6�K?9h��<H��0VMV� ��g�npqt��<SX��?�y��ޏ�cn�c
+��j�*���	
<
q0�G�V�~���ڮ�E޴����i�x�3E�3��K��r����hH�؏B���r��b1 X��c,qa
�v���
3
��ʑ{8����2٘��
�a
N���C�؏mu9ևx�3�]R �oKs
�py ��=�9�<T!�h��c�2�zJ
���������y��_�
+~����~ur-d*d*K��D�*=Z�G�e÷|a��� �#
+�he#�`ɢ�u
�*c\>b�vd$1��.+n���lܚ�,�3yO�h`�m�
��k���
�ɦ�߽��UV=��C���
+�^�Nd^���}+v�ۘ�҈e��_�w�]nx�
�-�`t:�
�ֹ�
��-d�|m�n��4���̏�ڏ�l��꿥���
��gG�M.� ��:��%�X�]vk��u�o��Y��/S!�P�~t
���=�V�0�!��f�������x7�>i[��p	�O�BQٱ����~uy���5���Bys	�x9��lS�������ڇ

+RRC�A�)��G,�u�O�?C�Hw
+endstream
+endobj
+2555 0 obj <<
+/Type /Page
+/Contents 2556 0 R
+/Resources 2554 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2467 0 R
+/Annots [ 2507 0 R 2508 0 R 2509 0 R 2559 0 R 2510 0 R 2533 0 R 2534 0 R 2535 0 R 2561 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 2565 0 R 2548 0 R 2549 0 R 2550 0 R 2551 0 R 2567 0 R 2552 0 R 2553 0 R ]
+>> endobj
+2507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.816 707.957 368.48 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_88a7c177ebe33a3d41609609660fd3ee) >>
+>> endobj
+2508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.007 707.957 448.401 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 707.957 513.996 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2559 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 696.002 180.776 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 696.002 319.892 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.376 648.181 353.663 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c78c1168665c72eaf8c2457b12700fba) >>
+>> endobj
+2534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.748 648.181 438.142 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 648.181 513.996 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2561 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 636.226 180.776 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 636.226 319.892 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.568 588.405 425.899 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_875b11e85fe96586152f53f498158b1f) >>
+>> endobj
+2538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.177 588.405 503.571 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 576.45 224.501 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.314 576.45 363.618 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [145.027 495.753 412.981 506.657]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) >>
+>> endobj
+2542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.718 495.753 497.112 506.657]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 483.798 224.501 494.702]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.314 483.798 363.618 494.702]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.386 403.1 373.128 414.004]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5932fd0c6867d83e3a34d5e680225807) >>
+>> endobj
+2546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [378.224 403.1 451.619 414.004]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 403.1 513.996 414.004]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2565 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 391.145 180.776 402.049]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 391.145 319.892 402.049]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.946 321.407 358.31 332.311]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d4b80df36fc02b4c47ca160420e50182) >>
+>> endobj
+2550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [367.966 321.407 441.36 332.311]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
+>> endobj
+2551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [464.961 321.407 513.996 332.311]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 309.451 180.776 320.355]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
+>> endobj
+2552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.589 309.451 319.892 320.355]
+/Subtype /Link
+/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
+>> endobj
+2553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2557 0 obj <<
+/D [2555 0 R /XYZ 90 757.935 null]
+>> endobj
+2558 0 obj <<
+/D [2555 0 R /XYZ 90 725.058 null]
+>> endobj
+2560 0 obj <<
+/D [2555 0 R /XYZ 90 665.282 null]
+>> endobj
+2562 0 obj <<
+/D [2555 0 R /XYZ 90 605.506 null]
+>> endobj
+2563 0 obj <<
+/D [2555 0 R /XYZ 90 512.854 null]
+>> endobj
+2564 0 obj <<
+/D [2555 0 R /XYZ 90 420.201 null]
+>> endobj
+2566 0 obj <<
+/D [2555 0 R /XYZ 90 338.507 null]
+>> endobj
+2568 0 obj <<
+/D [2555 0 R /XYZ 90 241.247 null]
+>> endobj
+2554 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F72 202 0 R /F65 179 0 R /F23 144 0 R /F84 440 0 R /F83 919 0 R /F87 1306 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2572 0 obj <<
+/Length 1725      
+/Filter /FlateDecode
+>>
+stream
+x��Yَ�6}�W�2s��"�>5�N�tAڸ�C
���ڲ+�q��{�h�G
�A�E�DR\./�=<W��"�ѷ����]�"�TJ�h:��DJ�$�΢7�@D�'c
o���Wc����a�g՘�xS���b<�
�ߕ���Y�]�=׶�.mI�S9~7}9�f:�cD�
�$H0
��ћw8�A��#�dt���QB<W����#����!���|D��B���3�r�ع�j�+w�2��M�j_o��Z�uf��pXuB�՟
�@Q��	�κ�ԇ��!��]a=��P���|�ޮ�E�`���[��)��n�h�
	��Z+�b�\/�z�&M�	!Hq��v��~%
qL�	��U
����O��H
���4�+a ��BƯ�g� S�n��Ǔ&	�"������됤���r�x�zr��
%)����Ji�F��+�.��8s�[��z�\�z��jSbq��7�1��m�CV�
Q%�}����w�fc$>TE���Y9[ig�|S5�iW(��������vq2�#�x� [...]
+�#�Tz�Pg�!�@��2�
ڧ�D�K)Ä[������Z��`y-?��",�~PH&mx]H
��neb�r¤@	;����r�2�[i�D��BB@�K��^܄)�$=��E�h�õݺG"�W��{��J�;n�5D�m�[_
�M0�'9�A�h��GV�ܼ]�
g��żlb^t�1/ۘ�gI9GX4
�ކm���8M��I\L �,Hº�\�QԶ�a*�V
��ʇk���W����m+[f���� �
L�lhʞ>����2�(�%�*	�����q�4?8��?�+=Df��7
'g(B����
)Bp
0���3$D�eܠ�mI�Y�� s�I��(�ܙ{t`��P�i
0	�J�掁3+ʅkrx�!
G�F��y�#DoÐLNҀ$��
I����
I��%�κnw�$̘�$�Ղ�?�$�I�:��Ib�N���6N��&<.E�i
�
�ti(d,�6�a��ͬ���ڿu��нh/3j 
	�I�f����A�–i���B)Jh+q�[g��}U>3z���[6����mc;���o�n 	۱�\g3��!�Wt
F��^��t"��$�t��/�t�jo
�i:|5as���#l��%l)Y(��)?!�
K:Ƞ�"gy[}�|
�	�9�ۂX�}~��[�h�NҙގD�l�Z�H��k�	�st�rҵ��8�H�Z�6�Y���.�kh?�t g�?]�M�.�
+�x�h*��t�A��z������,�ĕ�j:
+}�#Mw9(X^���
��;��qf'xt�
��[��{P?�t��]�P��ĸ����
I�IF��}� a���_c?�?�|��[ב��	w&n����|
+��$A(���G�d���uQ�|U�4��
+�Su��Wu��oу��w��T���Pu >�9UG�2Tun�� tVՙƾ��&fc�r'�R�*��®�����:
�u����"%��� 8H$~��W�@�j���G���P����n��mY��g
���b����u��/ƐP�
�������\̒��@�!��V�0Ü��{����s��QS�~dO��
MM ��������
ڗŶBE}w��c�v��6��@�d�&���2���at ������k�/����I��
+endstream
+endobj
+2571 0 obj <<
+/Type /Page
+/Contents 2572 0 R
+/Resources 2570 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2467 0 R
+/Annots [ 2569 0 R ]
+>> endobj
+2569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2573 0 obj <<
+/D [2571 0 R /XYZ 90 757.935 null]
+>> endobj
+2574 0 obj <<
+/D [2571 0 R /XYZ 90 733.028 null]
+>> endobj
+2027 0 obj <<
+/D [2571 0 R /XYZ 90 716.221 null]
+>> endobj
+2575 0 obj <<
+/D [2571 0 R /XYZ 90 716.221 null]
+>> endobj
+2028 0 obj <<
+/D [2571 0 R /XYZ 90 601.983 null]
+>> endobj
+2576 0 obj <<
+/D [2571 0 R /XYZ 90 587.413 null]
+>> endobj
+2029 0 obj <<
+/D [2571 0 R /XYZ 332.797 512.786 null]
+>> endobj
+2577 0 obj <<
+/D [2571 0 R /XYZ 90 496.059 null]
+>> endobj
+2030 0 obj <<
+/D [2571 0 R /XYZ 90 353.811 null]
+>> endobj
+2578 0 obj <<
+/D [2571 0 R /XYZ 90 339.241 null]
+>> endobj
+2031 0 obj <<
+/D [2571 0 R /XYZ 332.797 262.557 null]
+>> endobj
+2579 0 obj <<
+/D [2571 0 R /XYZ 90 245.83 null]
+>> endobj
+2078 0 obj <<
+/D [2571 0 R /XYZ 90 103.581 null]
+>> endobj
+2570 0 obj <<
+/Font << /F63 177 0 R /F23 144 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2583 0 obj <<
+/Length 1676      
+/Filter /FlateDecode
+>>
+stream
+x��I��6����Uj>.��4E�6H�W��L�BmY��8��w�h�����r29܆���C
G�G?M��O�
i���"�8�� NIt?���=��q\��WS����qe�Ք�x[<��r:�
�?��if|��0��)��$��BO�ݿ��x?�gB@
�$�H2
e�ɛw8���E��*:�^�(�
~������I�)CX�N}D�[ȋ4��o�0���/��mj�
�s퇼^=d�M�6���MJⷘc;��n4��4��
��w���w�5R�`7�-��wR��I�DҦOY�|��I�8n�|?��`�l[����
"S�v�ѕ0���B��Og��X ]{�w:i� *Yw
��N|�
R�]�Me�im��|O�{=gT1�
&�H�ďx����
�8-�/��p:[���z�־%o���l[N	�}m�ST2�z|����.?؈Q��k3\n���:-���+�
��R
�A��2�H�v����yev��gDq�h9��r\�4k-�\�7�zd\�i
+Ơ
a*�����<95\@!�����ܠ�U��w�)�q�G��γ���qag9��,����dz"	�f	E��F� #B\M�g6��=�~��fc�˖W��	�K.�A0q+w�1M��x��&\-7Nvrp\�]!ۍ(��� 'L#�� �҅UM�x�v�B�v�[|d�h���1kOc,zh" ���)
�8GI�B�/��=,�zQ� �q ��=ț�w�#)�Q�wl�%��y((��[�`Y,��u�i#�3T��:��u�be�P|�n��6ߘ�综9�a
+���}�"�"�2���(�=L5T���\b�O���lm�0!���B�
� 1����8ᬙP���7�zע[��E�$���C40��`ZO��[軤�W&��
,/�^���Fزe����I��I��[�$F؉F�v�0–
#�u��XP�

�%
#�x�R<"�ρ�@�����d�2�g���v��n�_S�]������Gw�����2��x�/���
6�yOMh�Ƨ�熾�uUh��S�>������m{��;�'#�B)J:oޗ^-+����L�1���~�t��o�Fwgi��{�\\	b�=t�΃1+�uH�>X'I�{skb���VDߒ�-��=���
+Zn&6�L^6C��/	�6�na
�	CW$t�j��-��C[����m
oV:�64�|ζ�� Q  t���)ל�(�����EV
.����[V�b����g���v��`}ž���'t�᐀�n����Hr;8b� 4�|��2�M~40~w�'��I��zP�o=1L�l�QBgE�
��>���
}B]��L���ңϪ=x�ޟ=��G�h
}Bvڝ@��R�'!��%tg:�O訔�����	���C��熾޺�������$t𮐗:�8WÄί:���Ya?�s*�S�ɂ
+mN���g�t�
A
+a�����>
�>�}����k���e��4�6i�O
�_��UZ���YZ,����?����[��sg�列�a����>
�n/�vISuN�!�)+C�e'�
�{mL8
GM闉�t�9*l � ^�u����p8�l��E^V(�� �w�^��B [�WO#n_
U0-�i�f���tܤ�'N
�/&>�E
+endstream
+endobj
+2582 0 obj <<
+/Type /Page
+/Contents 2583 0 R
+/Resources 2581 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2467 0 R
+/Annots [ 2580 0 R ]
+>> endobj
+2580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2584 0 obj <<
+/D [2582 0 R /XYZ 90 757.935 null]
+>> endobj
+2585 0 obj <<
+/D [2582 0 R /XYZ 90 733.028 null]
+>> endobj
+2079 0 obj <<
+/D [2582 0 R /XYZ 90 626.332 null]
+>> endobj
+2586 0 obj <<
+/D [2582 0 R /XYZ 90 611.762 null]
+>> endobj
+2080 0 obj <<
+/D [2582 0 R /XYZ 332.797 537.136 null]
+>> endobj
+2587 0 obj <<
+/D [2582 0 R /XYZ 90 520.408 null]
+>> endobj
+2081 0 obj <<
+/D [2582 0 R /XYZ 90 378.16 null]
+>> endobj
+2588 0 obj <<
+/D [2582 0 R /XYZ 90 363.59 null]
+>> endobj
+2082 0 obj <<
+/D [2582 0 R /XYZ 332.797 286.906 null]
+>> endobj
+2589 0 obj <<
+/D [2582 0 R /XYZ 90 270.179 null]
+>> endobj
+2137 0 obj <<
+/D [2582 0 R /XYZ 90 127.931 null]
+>> endobj
+2581 0 obj <<
+/Font << /F63 177 0 R /F23 144 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2593 0 obj <<
+/Length 2224      
+/Filter /FlateDecode
+>>
+stream
+x��Zm�ں����o����$K�o?%��!���]�i3I�� 7`S�\���{���a�L:���dK��9G��G:�u�
��������WN;!
+9�ɢz
�1bw&��Ǯ@8����y��v=��������<�᠛&�"Z���y�QR�lͤ)>ȅ�md���OYWx�ϓwW���?�0��u���	$(��6W?{�9Կ�x��Ag�[m:>��\w�W�]yg�'y���#�0�>�I�N�7��Om>-��fz{��}��,�l��k\|�C��'�yjؾ�
�c�Bf-i��jw�+i:�B��κ�'ϣ�Q6	�
R��nW����6���]�Y����5�DC,CVM�:�h9�H��x4��
+۴��A}A�00l1�:�jꏙ\G��6-��h�'E�’ĉoz����y�����y
�eC�&��XE�m��f��x3ٞ"u�c3	p��0���)u	��<N�Ơ���i�ۘ�~��Ҽ�p�0�ZDB�y
+F*,���
+�
�$-�V5�fR�[����|�h��]Qc�/f�=��C�y��d��,�H3�R�lM"{�u��o�8ˤZUSp�E
h
���L�y[�I�h���(�֐&��a`٧< �3P�Iw�M
��A7w� 	O�/@
��i��e$8Z8U�M��mdR�-
+X�x��=�"���j�t��*n�z'[� ^�a������������ɇ����x<����p{�~��-JC�k@�x���$Q�:�x�+ZW#Z��Ҷ�І�μ���6�O�ϛt6w��>�I�)��l>�-�{(��Bׯ
+�f�Ţ&�l7+Jd���Fo�n�h]�tV�3�C���	L!�L\]#'u�rU��S���u��@
�z
�K�P��`�M7u�M�<'l
#�_(l�{��)sJ�¦�V����.1r�)b�$n�jg$�"a�
�⧲�� �a���T��Ce��Ieî�QG�B����\1�!�R����vd�|�H!(��E�)paC��6�@3�.rj['g
	"*fj�d��?HF�ThT��q%g_�
+�l�M�I{)��6�s��LA�y� �|g����>�@PDA�عd�)驽�2:Z ���w�P�b�Vk���eI��2���Q�&�D#~ك�"V���*K��5�efz�Uo�
*}*�)�KUmdk�۪�).�qn�K�(�
�~�V��R�����S[�W
�n�I�
�k������5w�Ӈ�ͫ
TOFP��oF�ww�ۉ��\���a4���[퀱���`2V�E�K��n
�
��
�tu
�\7�

��p���E\)�s�ϲ�I^�
ZP
+Ęx!�[��(�9p
܇�K����O�q��o�._̺oe"�HK�����K���&]�d�@�������*�I�����e+����
M�o!�e��-�
� �B�
,�!
N�
?&]��rH���HW}���,���C��G��
5�&5��m�q**�U}�Q}�hu+�Q�>M��]Jje���#�||=~|?T�ؼ	l�
 ��;QX �;��`�e'}��%;q��X��Xp�L����KfڦU��c%.���2V”�Zbp#󙋀�_�M�_��U�<>aI�,�.*k�b�
+mf-�1c���'�#�X�8t�L��w�i�2��
b��&��O at Yp0Au�srJ��������u�B#c�i#w�X�X9V.]7@����8���_$+�"Y	 b����P�'�"O�ئy�2��uSW,Źk���3C,�4'���Ԍz����	h�Z��f��L�"tUXd����*�\g�|��O%�
�Z!U��Qm>C�΢�N�H����
�w��
+����d���R��R���V%�V2�m
�}:�τ���LF�U�ˊ��S&����v>����|/pH�*�e�F2��TR=���m��hsN&�����H�^U�
�pF��Q37�*���Ǿ���x��tD���t4N�#G�Z �)u�+e/�R�ͳ�?
�|��Y�p�m��$���?�:fV�u��(��'!
+������k׵�^&��p��6��C������s�8�S ����$��"�?
�84��E`!\����WKe����-��OY�����E�r-e�zc���x�e��
c]���Gɮ�ũ3�!������Ă!(�*�A at R0�X��4a��)��z�!S;G8Cp�/WkU�_����=��h���
��5����ף`��:_e�7iV�� | �� Pa3�q
7�d��1�h
+endstream
+endobj
+2592 0 obj <<
+/Type /Page
+/Contents 2593 0 R
+/Resources 2591 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2467 0 R
+/Annots [ 2590 0 R ]
+>> endobj
+2590 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2594 0 obj <<
+/D [2592 0 R /XYZ 90 757.935 null]
+>> endobj
+2595 0 obj <<
+/D [2592 0 R /XYZ 90 733.028 null]
+>> endobj
+2138 0 obj <<
+/D [2592 0 R /XYZ 90 603.233 null]
+>> endobj
+2596 0 obj <<
+/D [2592 0 R /XYZ 90 588.792 null]
+>> endobj
+2139 0 obj <<
+/D [2592 0 R /XYZ 90 453.492 null]
+>> endobj
+2597 0 obj <<
+/D [2592 0 R /XYZ 90 439.05 null]
+>> endobj
+2140 0 obj <<
+/D [2592 0 R /XYZ 330.436 340.513 null]
+>> endobj
+2598 0 obj <<
+/D [2592 0 R /XYZ 90 324.289 null]
+>> endobj
+2211 0 obj <<
+/D [2592 0 R /XYZ 450.246 249.289 null]
+>> endobj
+2599 0 obj <<
+/D [2592 0 R /XYZ 90 232.691 null]
+>> endobj
+2591 0 obj <<
+/Font << /F63 177 0 R /F23 144 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2603 0 obj <<
+/Length 2238      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�ogk�/")��z��h�=�uS��v(��Β\I�7��o��7Sv��
p���^���p�g���/���������-�*��E�R�)Y�f�K�H�Z��r��ݽ[Q��vO�*�W$^V�]�>�֔���e��m�Q��g�Uf�*�#1��d�����on�~�"�^�$�H2��W>�E�X`Ēxq4��ED����q���xhF�
� ���!,���9��2���x�-ǃY4A,�f�/���Zs�J�&(Uf��G�8SeU�e�V�}Pm'#`�Z������|��꫉>#+�V�5��̪�/�O��s�NPˀ!Y6��������m��^�M��{�o�{3�Mѯݤt�T��d�T}�����۟
+��Ǽ��g��!U^�gwU l����je�
u��U͡>}�V�#1�(I�_~�ƌ4s�H�!�J7�����V�/?��BZ$
�H���V��ۀJ1Jx��cX!*�L0;��R��I_R�S��@1�hi at pY�V�}u(3�
�t[W��J�+m��?���	8�
*=W�'�ju酤eܔIک���
h
�DZ�&d2�#6�=W
e1�W~Ø�Jb��� �ɏa��
�	���@0�I&M$2���$
O�g��.	e[
 x3�
�vr�
�
�D�Ș|��
�l^��VwǼ}�s�����9�s6Uٴ�:eU
+���Nsa�6��v��Cl1�K�m�1�Mac����*������PfF�D��$wF�X��
"�F����B��M��6(<�H�nj^n}���SP�G��\ 
- �
'���%��0Ȉ񪈒AF���1Z7���$`�ߺ�1ں�T�j]σs�� C�ę�#�[�I�����P�]ڪ�c �1����HP���� H��l�U���.2�S����e��6�N�����K�(����N���#���K�
Ep��>�[�c����Goh�.|�.��}��81�HK=>�G{�I�S]�m
A�ET�c(/uڜl�9JG7��	� ���d��D�ħ��l�bh
\���I� B �5BĎY�[-(-���f$`��AdI
b�s:܇9ꦣ wQp��2�송3 �� �|n�D<��5�m]t�g�$�&~-
��Rg
�I~b��ԇ!�fm��cո��������j�vcCDG 6 ��Q�!����xWPf8�.��������L[5�b̰
+�X�]�#4m�s��W�aU�Ι	
����7gpI�n^��ɠA��/�g�q8�����^H	�<���Y���;Dq�C�
"��	��!����u�=|���;D,�L�ȿL�ȟ�!�gv�=-�_��C���Q�~ �	�ѳ�k�DMD:�}
+5��\G v*N�D���I#�>S	� ��"�)�C��عv�>�ݐ
%��v#��#�:m7l��L�ԡH_�=;�#F��p�A WN\sF�G��tx�[~e�C��i��&�:���-�}�:�� |ܻ��j�
��6`KK.8��f}���ozE�d5���U���i�o�^��:f��du���� Jp�sӼ�h���
�7DwQ��XًQ�����y�021i�=��h

��x%��sP�fٝ=��<mv*�����=�<G �y���M �L�S�v&F8I�ny�Դ��
D�C�MX<F4I�܁� �4F���l�\��]
�L<��
cj�.�_���"����|sM%0U,������@cآ{ڛ���望>n
Sg�,��rc���¢�rM͕{kܡ_���=�]�
�m̹
��
+x�Bp%��	�
j�Hܘ�ުE\
+��ճ��> ����MꌸwG.TD��I--���pם��
��C��5�r��/��%��P��7�U?�E�Ac
��7%F,cG��4�;�����k�9Gft�
�?�9�18x
+�jR$��r��+W���@�
 ������E�R{߹
�����g��#,/���10�
0P ���!0W��٩�a�@��WbC���w
+B�C����g	`'0�b�u�swTӝ���օ#��<y��?��uZ;���=KˇC����^�Y���/����
+�,�)-�/���,U���Fh
+�߾V��,F � ����
�Z���]���#ړ�Ƕ��\_�G�iС��5��k���Ө�H��/r[�RT�?i�7 Rk	sHwvW��tL�l� ;#�
+endstream
+endobj
+2602 0 obj <<
+/Type /Page
+/Contents 2603 0 R
+/Resources 2601 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2609 0 R
+/Annots [ 2600 0 R ]
+>> endobj
+2600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2604 0 obj <<
+/D [2602 0 R /XYZ 90 757.935 null]
+>> endobj
+2212 0 obj <<
+/D [2602 0 R /XYZ 215.12 657.884 null]
+>> endobj
+2605 0 obj <<
+/D [2602 0 R /XYZ 90 642.403 null]
+>> endobj
+2274 0 obj <<
+/D [2602 0 R /XYZ 215.12 423.747 null]
+>> endobj
+2606 0 obj <<
+/D [2602 0 R /XYZ 90 408.266 null]
+>> endobj
+2275 0 obj <<
+/D [2602 0 R /XYZ 137.91 333.017 null]
+>> endobj
+2607 0 obj <<
+/D [2602 0 R /XYZ 90 318.971 null]
+>> endobj
+2276 0 obj <<
+/D [2602 0 R /XYZ 90 211.179 null]
+>> endobj
+2608 0 obj <<
+/D [2602 0 R /XYZ 90 197.233 null]
+>> endobj
+2351 0 obj <<
+/D [2602 0 R /XYZ 90 89.441 null]
+>> endobj
+2601 0 obj <<
+/Font << /F63 177 0 R /F89 447 0 R /F50 143 0 R /F65 179 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2613 0 obj <<
+/Length 1622      
+/Filter /FlateDecode
+>>
+stream
+x��Y[o�6~����,�fx��=mE;��n͞�"�m:fK�$��~�/�F���С�Qy�w�I��6��O��'W�$
bK*��U�@I�%��2x?U���`������mH�4�ܯ��I4ͳ�*�
gT���Y��U����w��v���_�31U4�x�z��z�ׄ 
�R(������8X����X
;kp��	�M~��G�S��-|D�ކ4�
:u̘�n���y�ϖ7IY�����
|�~c�ի(��`X!�)��(>�)=�
�Q3�Y8āZ�YY��g�Gy0#��}?��9�N k��#:s at FDL�
�I*���f
+��K$�'੐�v��_��~��(�
ш
��
!.�zB�9Y6(nh#��jD��uJC�jX��A�H5B�G��F2�"F�Q��W!�܀��Zk7X��$��̰ϝ�v򬞜�nT?��e���$$�r̂�!�:�f���dTݬ���Oq�ܟ@���os�g1�Ez6Rl�	G
r�Q�:�/@�+@Ɏ`���1��M��X5�5�Jzi
Re�@�x�
�L0t�n2b�-ӭ���H����1�?n2�.)Ƅ3���3�/,6��~���f:)n^~ڹZ:(#8���ֲ�#8LX���N׋\[�/R�UGt`D��%,�43��
I%��t
IV��b[w��'�]�ݣ�1��3���Av�d���H3Opu?JV!S���m�
��"�t�>�r��Y�}�3b�"M�m
�!�ae�4�`�<v ߆��
�w��=��~(#��I�aH��;:+�~H�&j�#��F&��uh�P���}
+�̳n���b�������N�A4�
bm�˄��8`��-ɣ�@�T�)�~���ʋ��.�S����1�f�
`\�,ߦ�g�
%�\�s 	L�#�%.�I��3�&�D̊KI�4kt�DH�u��y4B0�g�"
���)(��h�����o����N �~^Vi���q�7i��"�:X�|M4º4u}�F�aS/�g�#��/��S
F���F�(�z����ې��᧱	l���o�lҦ���jD���QsO[�O��Dߟ�yMH���i
N�bp�p��8wq�y���|��l� И�����V��B��UYΊP���Fĭ!,���Ehԛ���K@�t�D�� �ԷGE����7�i^ŊE+���PLY7��ו�A��8�*B?zg)��[wkio+�
+93�%
+$�V�҈�n5�	��LԩD�O�A��&�w��Ӻ�	�
+iE O�l;�(J5$ԙ�j�@Ю��c^�xM��E��,R�[9}��<h3��������FgFA4�o���vG�"�����oM��t@�Έ�@}q^�?���)�.�mr��л{n7�y2��&��OȒS&
�ο�nF=}�g6Q�|��3ˍg�aI�O��췆��)	�,�s�Mَ��-
D��^|`�[KO�6�� ��&�I�+��/�n�
'��m�E����(u�](�Է�_�l�lZg���ʚ�	
��� ̄ �3��������gP�~��=@k
����/
��=��:
hQ�}��
+�VW��z�
]�H5ٽ�C��
�wh
+2rp�`�O�43������A�
+endstream
+endobj
+2612 0 obj <<
+/Type /Page
+/Contents 2613 0 R
+/Resources 2611 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2609 0 R
+/Annots [ 2610 0 R ]
+>> endobj
+2610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2614 0 obj <<
+/D [2612 0 R /XYZ 90 757.935 null]
+>> endobj
+2615 0 obj <<
+/D [2612 0 R /XYZ 90 733.028 null]
+>> endobj
+2352 0 obj <<
+/D [2612 0 R /XYZ 509.915 675.861 null]
+>> endobj
+2616 0 obj <<
+/D [2612 0 R /XYZ 90 659.134 null]
+>> endobj
+2353 0 obj <<
+/D [2612 0 R /XYZ 90 510.446 null]
+>> endobj
+2617 0 obj <<
+/D [2612 0 R /XYZ 90 495.875 null]
+>> endobj
+2354 0 obj <<
+/D [2612 0 R /XYZ 90 347.187 null]
+>> endobj
+2618 0 obj <<
+/D [2612 0 R /XYZ 90 332.617 null]
+>> endobj
+2355 0 obj <<
+/D [2612 0 R /XYZ 90 154.754 null]
+>> endobj
+2611 0 obj <<
+/Font << /F63 177 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R /F72 202 0 R /F7 2619 0 R /F23 144 0 R /F8 728 0 R /F13 2620 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2624 0 obj <<
+/Length 1778      
+/Filter /FlateDecode
+>>
+stream
+x��[��F���~+����/�S%U�VJ��S!/�
+65�������
KhR5���ۜ��1�~};�y%Y`��T����@I�%��<x7V��pB0���v=}R<�֏�x��D��t����
+<�1���"����o�"vk���"���b��ף���?GL�q*�B��`�����9�
`Č
ܪM�)��u�v���4�2����GQ�}H�}8a�9s�
�y<�F���4�n
�M���b�

<
+���+m1F�2
�umWŚ�����%�‰b�Y8O6q�K@��>�1"�	!����q�hvq`���(����
��b�gY��ON�8ʧ/��a�9[��$�"�d)j}ף
�X�{�*Q���������Ĉ�N<_d���Y��^
�D��R��G?GFW�!e�_#�6�)-���u�����7VBB�;`�B��b�w�e�+�m����
6�u3�%�p�y�k����m^f���=¥@��
�?$�U!/�w�x��,/~W>�m��@�Tų
	�vbۊG���x^<
-l�%��kҝmB�֐��
1���HdӅ���/C�����^Ź@��@j�0�׉�%��jY�U5r��<M �F؈V&�VKC����u>���9�I�z?�C!�e��t2Ik�'�W�{�
+$$�[cU��6hn�6�v苚Q\���i��c&0F���Y+��ٌrF�s�S�N4�L(��v�xcs-ʣM
Sm���|-�ݗ4R�@��u�6
��D�B θ� �U�����k#�Ւ�������M<����e��k��6o��`�(��<6�>�PPyݭ�
?,��c]����j�H��i�@}q�q���p�U�C�P@
v�Nz؀y�,�z\��uf�}(�s�&�rȕض]��:�BaQӅ��G��9��'1��R�
���;��ŨY��d�����<N�M�>}W�t~��;�3�'欒�("B�QR�P��!�l���%G�cs$F��
�`
-�FD��=	#��$�
#�`0��8%�{5}a�+� r��P�q�B"�Q^
����G)l!]�œ J����+1lPWE������iR�A�D�>Q�zQ� �DII�Qp^r~�d�� �F��l�d %%���!
����(i�
�d�Ġ�(6W�!-SʴP
�D��M�Qx�i�X��
t�XU:�'`
T [...]
+��]��� �eM��*
od_3j���EE���S�Il��X�������kps
/�
�j��� �
�����:)�|��&G
���i�NL
�}}�/��\�̍y�\�����km��
ϓ�N��B��B��B��e\�>ft��aH�gQ`�!"�8+Fq��-���q���Ia.cD�+F��rF��g.gD�?��%|�b����`��<B
�`埑
!�@�ʳ�8:id�l����@E;'��u�H�O��@xy�Ț'�
�C'���9hdG��蠑��C�4��N��C	דƪSt�wt�NС��<�ZCL�5x�b��$
+��N�!wx(��
�Cx}�j�0&B�Suq�wx(����I|�tH���'�ït��鰲��5[B�I�ԏٮo�Su��@��
�޸I�o"���_����Q�O�_�{Q�<T��������7�c_ɿD�!Z�'��V%t�*1�nJ �Y�@ᄁ��q�iE��?�\Ǭ���~����V�����������!M�9J�7 at I7������Q=��>o�b`X��Ԁܚ(x�w�$�=���� >r
+endstream
+endobj
+2623 0 obj <<
+/Type /Page
+/Contents 2624 0 R
+/Resources 2622 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2609 0 R
+/Annots [ 2621 0 R ]
+>> endobj
+2621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2625 0 obj <<
+/D [2623 0 R /XYZ 90 757.935 null]
+>> endobj
+2626 0 obj <<
+/D [2623 0 R /XYZ 90 733.028 null]
+>> endobj
+2413 0 obj <<
+/D [2623 0 R /XYZ 90 560.67 null]
+>> endobj
+2627 0 obj <<
+/D [2623 0 R /XYZ 90 546.1 null]
+>> endobj
+2414 0 obj <<
+/D [2623 0 R /XYZ 90 357.561 null]
+>> endobj
+2628 0 obj <<
+/D [2623 0 R /XYZ 90 342.99 null]
+>> endobj
+2415 0 obj <<
+/D [2623 0 R /XYZ 90 154.451 null]
+>> endobj
+2622 0 obj <<
+/Font << /F63 177 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R /F72 202 0 R /F7 2619 0 R /F23 144 0 R /F8 728 0 R /F13 2620 0 R /F11 727 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2632 0 obj <<
+/Length 2242      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~��`�JG뽓���A$M��
��1
i%�(���:���^�^�6z� @�H�˙ٹ|���8�&8��櫻��o$KR���n�(�d� AIr�N��
�X�qz:�
����i��͂��.�r�XR����N7�r����z��]۟g"���������n�uC���Rd(c"Y
n�p��߿O0b*O�v�!��u�|���_5�2���G����RR~i3[]��W��uQn~��ֺ��V�][4��|.�_����avx�M�&f��!�20�Zuڹ5�������^Τ5si'K�s�E�,	AJ����u�?T�.�������۶�`�):��=�,���|j
+V���X�<�F����ޔ���n����c:�D��^^����!��B�H>Wk����A%sw���iR���
�U�5�k�t
A���{�U����[)�d�2�(�X
+�)w�
,�֐M�Ӵ;Fp�%�	$��
��g���
7ɂ"��˒E��\u;'���I���l��؊��DD&�-���)��+0'�ܘ��J�bݚ�5�a4
������bĉx�ӄ%���>�)�	G���W��g��4YNV��Yz�JΞ�Q�DN�&	M9K�;��jF /�Xj�l�	��_��U�@�� �4���ܧ���
������)��L�+��&P.�h�A�
�g�(�j*��䳟|0IQ6�AC�h���B0�Q���
�4�'_�Q���P�z�<j�.�ve��_6&��A���)LZz
�x��m�=7ش�oî�}��j��B����+ń�
+@����t*�F���d'�N���Xj]�m�8�$(���ɡe?�YSmw���Pꗐ�*p�`#���5�S� x�&��;ь<)o&p����L�&�}��
+�y�}�1'T] l
+͗Z<
)�k
 �����ȁz�lO@�H����
��:{�og��H
كQz�=0�;��@,{���s�A~&� ��]fP�q>���,�"SC"�v�A��=����� ��܁��
�܁�v����
Ԕ;����ɡ<�\�b]
tmt�
�țil\�5�:� ��
��.އ!
�-�C��c-�$���
<0�`�a��_ut܌����P+�s�V�3v���֟��Ӓ*ט�
L"�lW��;���mr۱q/l@ݫr�:6��z�G����<� u��Y˦�ʽ�n�X���CC���K.r�{EF����j�pe��b9�pXq�К䬑
tY{d3{�{E�h�ָ�1=��|�U˦)�@��9��]�������G�g�<	䈏�u�T�En{D@
��X� ��.'�O
g^Ǚ�Z;�X�E��!Eb)�	����*bq
d �U�tA�"|&"� >^~�_��eT^s\`�AɈ��M#|_=,�r�OuW(��+�b�YS���+_��p�1(
���֜��VI+���Zx~�'11/\���1ʞ�^�	�{���w��W>	��x�pD�A��A0��^m�;S�����%�ryMv��l�]0L���� 䧞 
kK��u�
+`��y�<��ts0BP�1�,�t�}�w��B���}�'�3�_�*��~���['���86�Ԗ�B�Ø
���Afm��j�'
�׺]5է�r�e|DZ��Ra�
Ⱦ��)j�Eה�ۓ��L�T�����1t���5����)��
,HZ��\�������)�ٸ�C�=`늏Om�N���Nmd�
���Y�� (�G-q
(B
*��?Ԙ1���Z����@��|�}c

�u�kL���	�<,ß�W��~m�d6���X��=�w��0d�7����\��M�f�-w��wE��S�G��F�c��؇,�7b�M���hC��ޒ�ehS����O�q�h�%I*��� ���_?��뵙b�[M��N�h���F�"FV��!���\���^��=�nV�=C
����H@`���W<"��e
y
%Hpڊ�`2�����Q��i��x0��
`~b�x�0e�� i��R��>�
+F<���0S��@��@�_��y�wyȍ� 
D �b��l�i��a�?T���yr��oe�}t���
ؓ�>������
!R?��X֏���nVkƄ��b�>a�c� N?j�=���Ϥ����u�9*Mq
Y��������Z�XW�U�-d���s��#�h<��@e��
�Aޘ�@>,M�S��6�L�ѣy �
�F��
+endstream
+endobj
+2631 0 obj <<
+/Type /Page
+/Contents 2632 0 R
+/Resources 2630 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2609 0 R
+/Annots [ 2629 0 R ]
+>> endobj
+2629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2633 0 obj <<
+/D [2631 0 R /XYZ 90 757.935 null]
+>> endobj
+2634 0 obj <<
+/D [2631 0 R /XYZ 90 733.028 null]
+>> endobj
+2416 0 obj <<
+/D [2631 0 R /XYZ 90 565.934 null]
+>> endobj
+2635 0 obj <<
+/D [2631 0 R /XYZ 90 551.364 null]
+>> endobj
+2417 0 obj <<
+/D [2631 0 R /XYZ 90 378.765 null]
+>> endobj
+2636 0 obj <<
+/D [2631 0 R /XYZ 90 364.194 null]
+>> endobj
+2468 0 obj <<
+/D [2631 0 R /XYZ 245.645 236.078 null]
+>> endobj
+2637 0 obj <<
+/D [2631 0 R /XYZ 90 219.47 null]
+>> endobj
+2469 0 obj <<
+/D [2631 0 R /XYZ 332.797 144.724 null]
+>> endobj
+2638 0 obj <<
+/D [2631 0 R /XYZ 90 127.997 null]
+>> endobj
+2630 0 obj <<
+/Font << /F63 177 0 R /F89 447 0 R /F65 179 0 R /F50 143 0 R /F72 202 0 R /F8 728 0 R /F13 2620 0 R /F11 727 0 R /F23 144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2642 0 obj <<
+/Length 1404      
+/Filter /FlateDecode
+>>
+stream
+x��Io�6����Uj��HJ�u�v�i;�6.zHCcѶP-�$���G�Z�8qfP�� I������z�{?{��]�$��HP�-7^�=)�x�Ļ�%"�|A0��~��>�)���SI5'�_�&���c��Q�&^+3�CmT;G�#0�K>X~�����3# �H�$�H2�����x��ÈE�wlg�^@��w;�}���s<�2�7�;�YR��#?6M���G3�1�ުTf\���p����BkJ7;e�է�Q���nU���)�Z�&�#�h %$nE��9��$@��ݔ�H�w�U�(W�
�̬(����͉��}�_v2s֕���5�ׂ����[9����ƶIR���B!ti��~�;��Dc�
d�'X����%40�;0�c`0��f���N�Y̠��\���K�\u��|t�'�#*��>1F��G�$k���� :
� 2�k.�W:�
+������B$q���,w)��1�oźi5b��y���Se߶F�/�04ϻHկ*��:����l���(�g�B)((�9����͡*���~Q�U�>��Nr�c��g�$CR
+��|4���·iS��
"qvPȊ�x�J����"�� 0D��bi�C�������
�6����wF]�����{��S at 4�ѱhL@\X�����F�YaI
啣#��>����*
cPCr:)�.��y�H'�#�0�&�#CI,U89J�|H{]�*�i
+=�	�ѹ#�K�
�L��f��
^3O
P�xS���6�ܞ��%6���Q��K�f$p�
����-bk�Zb�I�0y�k�	��x���y��z+�2 D�]B�1!P�!Lq��"A�����!1(��H��AH_@	2P��f at 1<�&�?��20`0R�*(
�<F��M�zЂ��D�~1���#�qB��)�!�n�'���x䐼�!��nG��
!t�%���n ��B(P0��:j�M�ˀ �}|
!X���E���{�蜊���]��:�:��*�����j����.c�!!,I6�ig
�
Wia�'��� #ʉk�g0
��HM
+Ñ1�̅�IROӵ+�L���%pN'T^*��!4����|�B��ԅ�
��xcū��:P}f���')��6���7S}����ޣ/��p��w�c;��p��V{��̲����]ׇCL3�z�#�mCŠc�G6��!��Yw
H�Y9r���י6�?!�"|��Ywm&���̵������޸�c;�p��_��U\����>���!ު�c�?kU}7�ܷ�-.q�ٍ�/zIU
�=
�෯afHEؿU�ZĘ�o���2k�zP�
+]��i��WW���kt(�}���
+�|�8E��`���GR^V6���4V/�N���4-`b�F �:�?�~��
+endstream
+endobj
+2641 0 obj <<
+/Type /Page
+/Contents 2642 0 R
+/Resources 2640 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2609 0 R
+/Annots [ 2639 0 R ]
+>> endobj
+2639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2643 0 obj <<
+/D [2641 0 R /XYZ 90 757.935 null]
+>> endobj
+2470 0 obj <<
+/D [2641 0 R /XYZ 90 625.864 null]
+>> endobj
+2644 0 obj <<
+/D [2641 0 R /XYZ 90 611.294 null]
+>> endobj
+2471 0 obj <<
+/D [2641 0 R /XYZ 332.797 534.61 null]
+>> endobj
+2645 0 obj <<
+/D [2641 0 R /XYZ 90 517.883 null]
+>> endobj
+2532 0 obj <<
+/D [2641 0 R /XYZ 90 375.635 null]
+>> endobj
+2646 0 obj <<
+/D [2641 0 R /XYZ 90 361.064 null]
+>> endobj
+2640 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R /F23 144 0 R /F89 447 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2712 0 obj <<
+/Length 997       
+/Filter /FlateDecode
+>>
+stream
+x��Xߓ�8~���G�:����p��"����U���Q5��w7��o��S:B��=L�L���םNwe� e� N>�
>
͎��N�ԕh��@�^�k�_
����G�#���ҧ��m��)^ JK�n�ܭ�k-� ���6^��/�f�-5�xN~ڣ*L@�/��A����֑�
�m����,�^�d#V)���
��
+c�`2�p?�Q�~�����ga|�u��xz��
�(���� �j�B�zgf
��7i�ü�N���uQ��t�����njD��F�>�!U67B>
+�Rk�����`:
Q����s�׮�hx���
vS�~�@u��0ԯw���:4�j�$
+4[W��#~Ro��"�r�]}��L��;�t��8��4
�<Sߦ�yD(aq����dQ
z��4�Pc���/��l���rK�Y�R�U�b�
Ͻ��Y��\����
+"���E����zuB7z�A��q�q�'�@��o2Pz�P�K�G� �T��������
�.
O���yt��l����
�G�c=�Y��!
�qjf�4
���;��G_&��A=�g���.}<�4��:� /4�AI6F_�h��!��{y
��^[<�+"�'��
r;�d{�?c�x!L�䏣�.���G�Z!-�ҚߥIV���6~@��K򯴹��Y�K��Ȇ_)����n�B.Gd�74������
�~k��%�,f�;�
z�
�����&o,���3
$�/Ä
�uY�x����lw-����YV���83���WV(�M
)T�E�2��i<tn
�m�D�����]WmsE�W�x�]�/�&�4�Hq��̩�Uv�s��X������Bl���*�i/��4��B5z6˾U�g2l
��fY�䠹|R6���Y�a6L�mF֠ �Y�����d�AGIgo��s�}֟�D_�
SJX��O�*�m��*��d)�l�	�'�f8��
�%��)]�-�s�����|�-7�d8����
+V�+��a;��
+xzi+���} ��
+endstream
+endobj
+2711 0 obj <<
+/Type /Page
+/Contents 2712 0 R
+/Resources 2710 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2609 0 R
+/Annots [ 2647 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 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  [...]
+>> endobj
+2647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.191 683.853 192.146 694.757]
+/Subtype /Link
+/A << /S /GoTo /D (page.18) >>
+>> endobj
+2648 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.274 650.354 279.23 660.884]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2649 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.91 626.444 197.865 636.974]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2650 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.502 602.877 173.457 613.064]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2651 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.091 578.623 179.046 589.153]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2652 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 556.396 140.809 565.243]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2653 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.165 531.146 175.121 541.333]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.649 519.191 264.605 529.377]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.294 507.236 271.25 517.422]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.95 495.28 261.905 505.467]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.979 483.325 293.934 493.512]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.252 459.415 205.208 469.602]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 436.845 140.809 445.691]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.913 422.832 236.868 433.736]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [223.23 410.877 235.185 421.781]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.472 398.922 258.428 409.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.965 386.967 278.92 397.871]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.947 375.012 203.902 385.915]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.963 341.856 268.918 352.042]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.599 329.901 264.555 340.087]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.108 317.945 273.063 328.132]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.434 305.99 287.389 316.177]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.494 294.035 263.449 304.222]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [261.207 282.08 273.162 292.267]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.958 270.125 288.913 280.311]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.178 246.214 201.133 256.401]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.185 234.259 215.14 244.446]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.89 221.587 213.845 232.491]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.89 209.632 213.845 220.536]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+2676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.577 197.677 166.533 208.58]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.953 163.804 172.909 174.707]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.492 151.848 178.447 162.752]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.538 139.893 251.493 150.797]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [222.393 127.938 234.348 138.842]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [166.193 106.02 178.149 116.924]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+2682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.239 94.065 256.195 104.969]
+/Subtype /Link
+/A << /S /GoTo /D (page.18) >>
+>> endobj
+2683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 672.615 363.368 682.802]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2684 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 647.988 382.187 658.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2685 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 612.122 382.187 623.026]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 588.212 382.187 599.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 564.302 382.187 575.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 540.391 382.187 551.295]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 517.198 363.368 527.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 493.288 363.368 503.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 469.378 363.368 479.564]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 445.467 363.368 455.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 421.557 363.368 431.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2694 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 397.647 363.368 407.833]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2695 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 361.781 363.368 371.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2696 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 337.153 382.187 348.057]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2697 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 313.243 382.187 324.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 289.333 382.187 300.237]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 265.422 382.187 276.326]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2700 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 241.512 382.187 252.416]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2701 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 217.602 382.187 228.506]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2702 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.232 193.691 382.187 204.595]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2703 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 170.498 363.368 180.685]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2704 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.827 146.588 372.782 156.775]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+2705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [389.36 133.916 401.315 144.82]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.56 121.96 499.516 132.864]
+/Subtype /Link
+/A << /S /GoTo /D (page.29) >>
+>> endobj
+2707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.795 110.005 439.751 120.909]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+2708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.474 98.05 405.43 108.954]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+2713 0 obj <<
+/D [2711 0 R /XYZ 90 757.935 null]
+>> endobj
+2714 0 obj <<
+/D [2711 0 R /XYZ 90 696.969 null]
+>> endobj
+2710 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2769 0 obj <<
+/Length 1120      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�6~�W�maf��d��f�L���
��Lvǣ� n}[Y�����l�ఙ�b��9���s$[B`���:�~�&��M
+fK`#`Q
���l
��w��|�}clBdZ��e%���Y�{�Fpz3��e0�{�X��� AӞ�M��c�T�
����C�@*1�GJ2Q�9WaK��@:��Xrߙ'-�+�`2�d��)�
�X����遇�AP�
��3��g�1�I�
���Y
{��
�����`��ۈ���JH�o��$��C��۰���c���
�����j��I�&���i��
�_�� �..�bO������}��lp�mM�/TO.�IcF8Ѱj���ln���#�
h��=�&O$̶$4l6�o�J7�r�ο��p٣ǝp-��t��`.�0pd'�H5�Q��9j0v�����n��p�D��qʻ9�Vc,��N����j�OTΤ��L*���J��>��w�f3Hbj*�o6���3�١�Ta6�L��
D#+J��cU#5�/�i1x��9�.�v�-� Ͱv� Ur�\9���>�P���_l��4m8!�hd��'5	���`?\�M�V��g�97�D�kx��J�y0�5,�)�b��&���@m)_]���
=�5>�����^�
&��L۹zƨObz�$.��pSH�wj`H�ݎ�.�[��==!
/��"
��?^5�Ke�ݰ~6TDŽj29i`'�R�m��s���@���-��@��^�����A�9
+���[-�70����m�4T��\���	�I�L��T
�ymi�_��J�#Th+��ʇ���{�<-
#ѵ
�-w��^��R�]0��W
W�;]��&<������h��v�P�L�P���H{�x�!�����>��p��S��X>
0��ͳ�X�O`�d�˟"�ش���v
j��Oq�Zy�N �ݭ�ݖ/��eN�-_b�W�qk��)�i�	��9����(��f'Wy
Vk���
T�-��<o�3��݀�~��a��y��WDP��'���A�>���T�1

Me��\�L����S��N���@C�����ORF��F���c��H at W�T(F�Ka<���3�
E��E>���
+��CKݓ�ề��d���?�Q��
+endstream
+endobj
+2768 0 obj <<
+/Type /Page
+/Contents 2769 0 R
+/Resources 2767 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2771 0 R
+/Annots [ 2709 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 2766 0 R ]
+>> endobj
+2709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.454 719.912 276.409 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+2715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.689 707.957 216.644 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.35) >>
+>> endobj
+2716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.368 696.002 182.323 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.36) >>
+>> endobj
+2717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 672.092 165.706 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.931 648.899 146.887 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.21) >>
+>> endobj
+2719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 624.271 165.706 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 600.361 165.706 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.748 577.168 139.703 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [262.77 564.495 274.725 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+2723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [203.005 552.54 214.96 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [168.684 540.585 180.639 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+2725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.56 528.63 297.515 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+2726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [226.248 516.674 238.203 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.927 504.719 203.882 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+2728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [127.748 481.526 139.703 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 456.899 165.706 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.26) >>
+>> endobj
+2730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.75 432.988 165.706 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.27) >>
+>> endobj
+2731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.111 421.033 216.066 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.47) >>
+>> endobj
+2732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.237 397.123 217.192 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.237 373.212 217.192 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.237 349.302 217.192 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.312 337.347 197.267 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.49) >>
+>> endobj
+2736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.041 314.154 178.996 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.819 301.481 261.774 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [213.944 289.526 225.899 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 253.661 206.672 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2740 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 217.795 206.672 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2741 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 193.885 206.672 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2742 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 169.975 206.672 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2743 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 134.109 206.672 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2744 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 98.244 206.672 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2745 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 696.002 423.153 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 660.136 423.153 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 624.271 423.153 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 588.405 423.153 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 552.54 423.153 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 516.674 423.153 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 480.809 423.153 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 444.943 423.153 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 409.078 423.153 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 373.212 423.153 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [422.256 325.392 434.211 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.244 301.481 408.199 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [456.537 278.288 468.492 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.244 229.75 408.199 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+2759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [362.491 205.84 374.446 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+2760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.525 182.647 442.48 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+2761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.17 158.019 513.125 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.244 146.064 493.199 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+2763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 124.211 357.291 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 98.244 423.153 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2770 0 obj <<
+/D [2768 0 R /XYZ 90 757.935 null]
+>> endobj
+2767 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2833 0 obj <<
+/Length 1114      
+/Filter /FlateDecode
+>>
+stream
+x�͚[s�8���z+�,B��l�c�l&�6�m��Τ
�cxj
W6K�_���$��@��d,�s�sѱt� ����Io�5�
jP0��bH

&S�ؿ�{w�����=c"Ӓ��?Xv6ڻ����
D �
Z&~�{���T����
��]��
�C��
��T�H~7�
���Bi
���2�,�T,��z�_r�B���
�nz�qhԷp�{�
q!u�1tH�To:u���7~Ȧ�q&�t)��
Dt #���A���
"o�4�m<t?O,�Y��>-W|*Cv9W)p��e�Qd�W^�TF4�
0�����:��n67\$�X$�b�j�'�6�.���
�t�M𮨪
]�X
��D^�&��3wD�'��ׄ����GI��� ]��2�� ��~B �>)
�T� ��K�wq7�R�lW���/�ػR��r�M�{U?�H�
Iw#W�7w����e��A�كF�:��ے�Ŋq��A�"
6Iʢ�����?�yNЖ�ub��qJ,wwW-
9.��c�*��J��!zU����g˨*Skb�S&V�F����Ī�������NcN����O��B"���!��2
y��M�C��]���̹n�E:.:�h^-��h��y��l�)���^&���Jk�ulT���I�����%�Ð(��Q{���
��S��]Sl�(��nv�jh�}�^�^�j�NG���\;����9FUKa)� ��ͨEWg��
�}��~���QT�T8�kI�ڏ�Z���+Z�h�hձ�c&�
+�zI��A�(���qM��9V#U�D:/�����Wd8�7�	oy�/����9a�˄�k��ǧ!����ڣ�0�n�tgR�4�Q�.{3�~���p��]�o?0�}&�ʲ�ئM�ܥ9�z-�Qi�'��i��5x({U�{��Ղ��d�Ԣ��|y at Mm����|z{.M�c�vy at N
�1
��+(��'"��,gmy�!x�ؔ�c
�����ꖧL��勦�+a�̀�~R\�\�߿ ���TV=� �rJcS���`hJy���)��
l�������q%А{������z��~W<�
ґ̜ю�_��1���9�
+�H֛��ƴd�m
-�L���7Fy��;�e ��f�9
+endstream
+endobj
+2832 0 obj <<
+/Type /Page
+/Contents 2833 0 R
+/Resources 2831 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2771 0 R
+/Annots [ 2765 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
+2765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 719.912 206.672 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 696.002 206.672 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 672.092 206.672 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 648.181 206.672 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 624.271 206.672 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 600.361 206.672 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 576.45 206.672 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 552.54 206.672 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 528.63 206.672 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 504.719 206.672 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 468.854 206.672 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 444.943 206.672 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 421.033 206.672 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 397.123 206.672 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 373.212 206.672 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.717 349.302 206.672 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.791 337.347 186.747 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.131 313.437 264.086 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 289.526 175.13 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 265.616 175.13 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 241.706 175.13 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.131 217.795 264.086 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.296 193.885 228.251 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 169.975 175.13 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.175 146.064 175.13 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.131 122.154 264.086 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.296 98.244 228.251 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.151 707.957 438.107 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.468 684.047 436.423 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.612 660.136 480.568 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.777 636.226 444.732 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2802 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.151 612.316 438.107 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2803 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [424.468 588.405 436.423 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2804 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 566.552 357.291 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2805 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.134 552.54 512.089 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2806 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.46 540.585 510.415 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.789 528.63 462.744 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.511 516.674 475.467 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [490.082 504.719 502.037 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 482.866 357.291 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [475.397 468.854 487.352 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [501.688 456.899 513.643 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.099 433.706 391.054 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.336 411.135 357.291 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.15 385.168 433.106 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.658 373.212 505.613 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [486.475 361.257 498.43 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.821 349.302 496.776 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.649 337.347 510.604 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [496.965 325.392 508.921 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.484 313.437 493.439 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.198 289.526 423.153 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.229 266.333 356.185 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [351.413 242.423 363.368 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.22) >>
+>> endobj
+2825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [344.229 218.512 356.185 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [360.827 194.602 372.782 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+2827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [375.213 160.012 387.168 170.916]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+2828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [395.706 148.774 407.661 158.961]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+2829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.579 136.102 393.534 147.005]
+/Subtype /Link
+/A << /S /GoTo /D (page.19) >>
+>> endobj
+2830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [354.273 57.047 469.242 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2834 0 obj <<
+/D [2832 0 R /XYZ 90 757.935 null]
+>> endobj
+2831 0 obj <<
+/Font << /F63 177 0 R /F50 143 0 R /F65 179 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2835 0 obj
+[329.4]
+endobj
+2836 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
+2837 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
+2838 0 obj
+[777.8 722.2]
+endobj
+2839 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
+2840 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
+2841 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
+2842 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]
+endobj
+2844 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
+2845 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
+2846 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
+2847 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
+2848 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
+2849 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
+2850 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
+2851 0 obj
+[472.2 472.2 472.2]
+endobj
+2852 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
+2853 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
+2854 0 obj <<
+/Length1 837
+/Length2 1516
+/Length3 0
+/Length 2088      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�k.TT�E^_��e6˘�Sj�c�
3̼���i�H)N��ʑ-K�������6#Dt��J�����:�~��羮빟�w�7Zߋfjτ�@��
+�H�����ǣ�hG�
80�D��@&[�� �
��(f

+
8�Q"�� ���	���A� *]�y�

:��
(a{.�2�l� 2�(`r 

�@(܌'w��o03:�;"|�)�p�&��d�W0A
+���ʽ�?l���%���H�ʹ�M�_<����V���h� T�	"��R?�9*��D�~f�t.�a�sA��`�ś�9|�dzq
6��s��,B̟�������{��m4�{����	�EQ �����	?jyHGl�c�x�\(?�o�?}�
1`&
+�� 
A�"�|�� & 
�	
+P(w��B�@��'�`53W��+��fKK"�
��<yv�`x ��� s�����$�Y������g���� 
ŦfD��h!7�7�H���2���
(��{��ȧ�B���=��{"�����;�?(����H��4�%_�Xc_�Xk<B��{��ޫ'�Gp�,�
�8�c�,z���c�b.�C]���{��`��:h�BSN�ż���2���j���cOc��{�$��(��?��!>r��^��1��癨�K���w&�\�|XVش<����L�ZwKd�����CUl��|Y��Y}wQ��z2���he
�G��$��6�������r��D��=1.��������\
F�J��k��\��Z`=�j�7P�9Q#����(!�:�%��W��5�*�ON�|�Nծa���h�S�3�:ach�ӌמך"����۹���Om�ݳ닭
��䶄���SVˈ���ϼ�S&�@��� g�
r�
h]_��W7�SO��8n�	���n�Tv�j��f�>�`i��K��e���a�������%�A� ����E�>ľ�a1�Y�
�2������>���"K��yϓVF
�y���(�y���
X�����em�;�tsV����<�;�ŒRr�[���+��57Y9H:Pn�k�ӈ�]�N�$�k2/��]��!�������M!�A�S-�E[
+
+Ňv��k7������u���wf�O�������\ӼU
�J�o�r��IW
+ԣW���5���.��l|�fS�:�[����7�f���ʖ��K�
��2-)U���$��J��"@��z>?�?����s<��
ܫ�Fs���?dj
�!��[�HO
d�u�z~̝�y�p":A���O.�QY�魴���,d{���O�"�^������<���W��*<��X��y}6����m;L=�z
.\���k
|<�

�p�gE\�/z�G��
%Ɏ$������e�$�v�O�6ȓtn�ةU�Dt��{����u��z�'�����?���sEr�[�d綰��c�
�3Z���+���LdE7���	�CM�59j�=���PՁ���_/�>jr
+v����ŷ/OP:��/Q��d$�:Z�&6S#ē
�m������H��
C��D��	�ôq�NS������%ӭ��\�3
+�qg�{�;
��bUSm���4
�U��
8�7���ק�&n��WF�ij�L�n�54v-�U�U���/R�"	�)[������R;[�ً�s����\�U}�Ru��	��M���S�-��
+W�X�JԾA�z���L%����D}���V�S��W��D�?#Tw
r+_t�%��{b��&\�˛dz5�;�(���dxtei��Ļݚt�p��
{Ϊ��#9����%�VG�^�:��Q�*a�MSY!��b�fݑ��iV�Z�;;ttDm��g�X׺>H۽�u���=�������O�_�������2�ۗ�kd$U9�Ckr�h�G�HY����.�q�d�>�[A7�׸�p���0a݅�؀��a��hp����F
+em���t�b�!�;�ivAb�j���SI�ɏV��?���l l�X���vŦ
�z
��J���'�+�
��ؐx��ɍ�5�
�������eO���I
S�d����S��j0
+endstream
+endobj
+2855 0 obj <<
+/Type /FontDescriptor
+/FontName /MALUHN+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)
+/FontFile 2854 0 R
+>> endobj
+2856 0 obj <<
+/Length1 889
+/Length2 2479
+/Length3 0
+/Length 3083      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�[VٲS?��23�RYY#Ҙ���1Øqmɍ���}_n$1��Y�FQ���TDY"�����}{�}?��|��|�s���V�Œ\AC���PAh�(������YY}2���I��h
+�
 ��4 *PU��H5m$"
蓼��x�K@A�M�	�z�d<MPh�%Г��& �$

��� �`��`��d_�A  ,
C\A7<�fɘ�#�?�X��ߔ/H�a��ۄ
�X��`A
fNb�2��?l��ܐJ ��=������hO<��/�ӋJ� ����_���o(��z��S�<F��F e��
+\�G
�c����x
+��C|��u����	#��>`z6&�6v�?���D�/��Lj�������������9�r�C��n�*R@��h��J� ��� Џa�B$QG F0�
�
�6U�
�[�/� `��Q F�j0����_� ��	� ��T�`�w��I q����O��/�فq��w�������U� eU$�pM$���_�/!�J&�D��_����g��@
dd��9�\
^l��w��#�Z��D��zLe~�� ��
xh����/�I�`Z�␓"պA��a�a�G\��i֬��y�
{��;[�=3�ލ
��Q\
�^��mb���!4�D>D�+z9��)��J��G
+V�M�9��Y"h7;q���)�4r�K�)m�gD�u�ǟ\�Z1�(���[�p�n��H�8<r.K��Z�M\ch����C�6��ޝ�^u��4�
�x���0���J����
�针T��5�(�#�#�2��<�%!`Oݱ�KM�G�.��i��2ѳ�2z��+��xs�\wb[�$�B*[�^����E���l�(���H�q�H%.�̋���j�R�<�*I�6�#y�O
�~�o�ʌ�[l
��+��r��=�-PV#U:qe5�D�f\��i۳{�׋9����
���ᴺ,<�k�
:�ϪU�շr_�Z0ȼv��W�ө��}\���o
E�'"�F����{m$���[_
�3-��q*���+(%a�8!�ӳ��i�z
�Y$VF	�L�Y�_;rR��u�m;G
	o�e�ݚ0�ǎ(y[��v�/�c� �F�A��ơ5��F
B���ZOV���i)rxg�E��9���]�;S�/��xu9�>Xa��K"����p1Ģ;�t�e�b"��Ȁt����
���$��w�O��Ed����
p<DM#^nS�TՈc/�Қ�=��Y^Q3ݢo
����ѿz����l���G�Am���QIW�/z��:,\/�[���,=�_F�>�p�U0~�ѧ����`x�:r��hP�Ŗ3,H|�}9Ә�IQ.��u_}�4_����
��r:t�2���0�
s9�����>t�VkB:�O�6 �[%jŹg%c��"<m�u��濾\/!xC�n���=`
z�x��/ `�2�Ё�����\M/a��'t���d�_��!����(U.�^��1�<^�4
�*�(�t���I2`+�б�:��g��kg�V��en}��,5��
��а�'��J��){�)M��BEݮ��E��<O6]L�
˿Q=|3�)��\�N_
7���R����Ò�R"5�Vz�{��Ln�X�t���~�=��<MrN�M"���ڡٖ0��~T��Ŏ��>�t�>�>O��/�@�����5�O�r�
I�1�Hʐ�aq/.��%E[�x���}���"WM��<Q [...]
��;��}�SHi�NI*�K�R}�U7�_�xttu�x�i���7�h�Ll�K!�b���ԗ���m��th�s�P��2X��f�l��C��c���̝8h]�x����v�eN;ܝ9G�SG������}]o���`�:�����$�ju�\�CE��崭��O��4��}εc�#�V�Y�i�ѽݻ�r�:�C��ªJ>�
+��^��Fx�z�4�׎�
�_�նOԾ=�G���v킖T,�r�A�g��|�[���(|`���7��<͙�B
)t��85����2�쬓�f{��
���+����w2& ���|Ay���J�ӱ{��?���W��Hi:��e�m�Zq�HrYL?���>n>m�h|((Z�5�O����k��c�*'_��}ӈ�Cg
���#
ut� X&�Ps�IE�|4a��%��N&�9Ӯ���s]�I!����#��
�	ŭ���}�Om'��[
eCn2�����(�3?
X	�4;U�.,��h:()_��d����5��K�bw�ɻ�d���L��n����̔��v���x��G�vF]��޽Y�=F8���~DDt���PU�,��qʍ��btq �b�|b:\�s)Q��K�鸐���ۯU��>N�a��WӫEU�p�/qyH��v|�:c���H�1_� �Y��a����������̃fʼn���:g�#��y��0�
�@_�K��c���
5��Ȫ��b�(��������B`k8�/c�+�qL�>�%'Q������n�o��fLdzWN[��=
�Jh+�]7
�;)$Qٙ�%��w���y��\?�<�ߨ�q���Y(�ՙ�nO�Ȼ�z�ug0z��+�о
+͖��U�kJ�49{M�����е
=�w
+^A�+x����M��	qˑ��J�|�df�sY�HB�zT�K#�,'xI�V�5ֺp�_%K.��i2RY�,4F
]u�2q��������Gٵ
P��;8n/�f싳ȣ�z]�V���ml
����=�f�@H������v�1I��kUau;��
���A�bfIK�e̿�n%Kw���𽯿S#l�ruհ�
�����1��f�g@����Ҽr+z���1��qg�E"]m3�	���j<�k���&̊�"��A��?��
+endstream
+endobj
+2857 0 obj <<
+/Type /FontDescriptor
+/FontName /BTJATV+CMMI9
+/Flags 4
+/FontBBox [-29 -250 1075 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 74
+/XHeight 431
+/CharSet (/d/e/l/less/m/r/triangleleft/triangleright/v)
+/FontFile 2856 0 R
+>> endobj
+2858 0 obj <<
+/Length1 851
+/Length2 2927
+/Length3 0
+/Length 3514      
+/Filter /FlateDecode
+>>
+stream
+xڭRy8�m�6	cO���#Y�͌}��ƾ�0�јa
Y��le'
+E�f+[([�"e��Kd�-
+}S���~����w<��
�y��}��s^������
+�6��H20Y����A�,��$*�G@#I<���V`��r�ڕ���j�
+j�rL��
އB�xx� 	�s?Eʀ�7��qC� 8�����pCbk�M��:X,`�s�B�?4J�	P7���� ?-����_e��o�M RM�l��&Qx
����L3<�44�������
�X���g��A����`)�'�{��Ih ǣ���R{�_��h���;kDBb1n:8,��U�
0h����	�#�D�:���5�_ ��&�vR��g���H6�w�)��a����0�3�/�*�>�\~;K�Gap
����$�&��"E `p(t ������$���I0�'0�
(u&���/� h_2u$W`P ���@��¨,�P���b�C*
+D�
+�
��.> HFNP?�_�BUU%���P��	4���>Rs��c�SB��nLc��n�^�uQ�!�o
�I�t=�&�U��mf�>z�-�1񕜪r�V���6O7/� @��tͲ�`=�7)��Ѽߕ���z��,8�ϙ�ח�놷WA�CS��)�:r6:��,$.�,0|�is��iˎTRv0���Fߨ��:��[
�=�"������C���Ϥ&���'���'!�r'r�5	�[�)�e�����A�	�'?ڻ+��k0O7��1���U�ȯyp�g@?�.]�� |(��2U8wY^���чЍ;��x�}p�������d�
zv&l�{2)/�qΉN���K�ǩ#+�
W �m��-�N���Ad�,��B"f��7/�s!������<����&�V<�`�����	ي����8+����صѓ�
��nS�VEe�u:�!�s�)���F�Zy�L�Q,AH�(_���r�Glf�l<�~~�5�YgK�4+{�Տ
����}��q�jjϽt*
�P��b�
� �]�������Vɬ�!APJP�%M��(U$��	�u��Bԅ�MF@�yE�Y)�4����g�'.V� +�g�
��i�¿�sYN;����C
j�N*�
�%m"���3�xs|�Ml�Z4,��R���/�(�/�?ω:t�H��D�=W�!=Qbav�e0oLUd�
H�e��{m�f.��-f�@}���1�g�o_u�Z���Q����1̣	N]cG�ힱ���i�Ʈ����t�!�W��q��_�����Y�d���K�G�R)/N�x�x/�6�t;��d��3��+ˎ�����?�%́��G�J���"
�(�l���,�V~J�-�un�>iM����a [...]
+4
|z�H��N�,;i�#�2v�Fj^I|�����:��?�!�[nכ��9�u㞔�tz9��K�?>q�Z�kk
��/��y�ˋ5(V��G�Q�3���[RW�|/=T
�a�}ޝ�\"�7sxicŐ`�C����u�SX�l
Ыf��ז�Ǻ��C� ��W��(Z�ɿ
(�T�N�
+�I+��w�]U#r�׼��_,�hM����"%"�or��r�j����f壘���;��.����I�K/o��:st��x�Y�r��KLKs�- �՞pqϴ%������;��M4^��Ô�C$G.��O�_u4	�H;���4��K|E�Q�� ]�ѽi+
+ _���Gi�
#����^��
�T80fk~�b�̑��
s��uW����2+қ5��]���
�8�h�i�
�e*t���������n�����g�m�����̻��Gl��!�#���m�ʑ� 5�~�
�#��@
��� {��ެ&�iH��N�ԥ��7��F|�f�
�ͬ�?Ե�
++8��|}�̫ry�(��?in
+t
+tĻ�,�[`
�J4�U�|x
2���M8�-��i��_�*��k�}��������p����pʌ���]�c�t�!�8���l��:��(QV����y�?����*¦��[�e�Μ���k4{�-�j
�Jȿ���U%r�.鉑Ҕձx�ȝ��8��9Ä�,�ɮ�n�D�
�![���kv����
+h��vM�~�����cm��� K�3���
_W��
��)Y�_�
�יvf����â{^ar��۠[0q҉�}[���.[Y���~΅ׯ���u;�{ŷ=䙞W�x(�����q��� lj	�W'�\��n^;����
�g�K��C��U6��O����.�Q�>���
�7�/�L7K�O5�
cO�&VE� 50k�9�Y����`6�X��խ2˵�&�Žs�^H�S�
�E���:m�ѓ��1<JE3j���0P�);s�ܝhQH�����ݹ��
Ͼ�1{l~������R�C>�!���z�2��5���ի
4��q
M3�oK.��v]�P΍	o��ܝ~�E'HJ�B�=3�I{�� Wǧ__�['��'��~�ۥ#��R����	���e3
�������V���lO�
_�5��������

n��;�բge�Z\
+�aCl�Ps�)�r�Z5�3��}r�i>"��eb���P� �Cqڳ�Z.z���ţR���qVJ��b��[�
�8��ϛ��h)k����
+���LW�©["
a��鬷
�����V>|��c��$���4�w57V�-
XL�Q<�s���oO�IЬ��l,��v)��Ð��|Қ�4�p�m�|�
�
ΗE �:�C�c~�ֹ�=�MY�Fq���0&e,-���?S�#�Y�X�b���b\c�Zi�
vűT�{ǥ�g���u�b���#��ܝ'�:z�^Ų$
+2$+⦆����g=i�f����T9x��ǫq���E�3>�� l�_��46
LX|�Jv��f7>�`:r}����7���^��ґ��-�b6,
q��h�Rd3��$
5�~�g�]��G���ȉ1#g43�#2���
+F��B5��
+��
�ōK�
�p*�Iab�q�~�=P\%n��.�l�
p�"�H7�H+`�0�}���B��7�G�*ȗn���
⭧�\ؠ
�J�|T!)mF�ww��[\s�*E�.�4�.��L�X��I�a:���ݝ�
�͘_�
�3j~���}�/�K�T��Ī��[
{�r�1_8�%rI:k���
��eX�+f �7���5X�P����
ٺf��I����GM^u��)绾A�h
+�$����e����T��b�y���2�e�z!$��H�̈́�yk�\��-X�%�$�r���ֽ~����A�}�[�Q
���
��
+endstream
+endobj
+2859 0 obj <<
+/Type /FontDescriptor
+/FontName /SWKUVX+CMR10
+/Flags 4
+/FontBBox [-251 -250 1009 969]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle 0
+/StemV 69
+/XHeight 431
+/CharSet (/a/equal/h/l/r/s/v/zero)
+/FontFile 2858 0 R
+>> endobj
+2860 0 obj <<
+/Length1 810
+/Length2 1751
+/Length3 0
+/Length 2308      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�kN
��N/�=fc_��0�R$d̼fF���PF�6�)b$�B������3�d���3*u�ʒ��
}�s�ο������z���]����r׶�R@{
+��
ׁ� 6�n \QQ���h�B�E3@ nl
��8@�
L�M`���
J#��
@�FcMdX�@�&�h
$	{`�D���!��P
��H��^�7��N�X

`	 �dt͏9�~-c��ߨ� �.4�
Mj B�X
+�
+`�@I�
+��?L}�ܞI$"Ѥ��Œ�ŢIb�y
+)�� i�3
���K=��֜A,�I��u`���G���nO�(��D:�^���Mc[� uAY; j�Os�B�	d�Gh�_M״��7fC#� �`:0\(�o7�ᄇ#c(XY� M��C!½"p�X0 C�~�:d
+C�FRh��aЀ��:��` ���?�PL��
(�/�/$�@e���8��)!���;������X��1L
$3�7M�7
H� C@
dx��1�	J�/f�����i�X�j���>|z_2�Y���7G���*������<1��S+
+�؆3�]��HjRƀ�wҟ�V���!�9��`����{��O�".}/��iG�[�g�frQ�
��/7<:v�C/�L��
�T��d3���/���MK
�f]���z>Gi`n[Γ��*���o��]�_r��~�Dģ/�
������UW��\ƆZ��qT�2����T��]�r��o�g�f�t�^�����|���
V�+�ƚ��3J7v�B��-�K�]M���b����-K,���c���D?Q�Ful���_g5P�/���Z�����N�8'�Y,��n�U*�5�KZCX�R�.�
����M@'\�|\�}\��2
{��U$\y��-�e�� ����e3�Q=q��|���[�y�٠C���=_�O
+�
���r��1J��V�r�y��Ա��/� g�>I�/�.(t.^9,�i˽S���!a��R���� ��r�s%ؤ'9J�� �`�,g�+~Z�Rcr����$�q�Aqtz�&#U�F?����Ɲkv�㸢^��8����)�R�ypy�n�L���P���#p1T���
+�m�oP>�"�FIe ��%�E�͹c�D#o+�"虋��*��Z˸DTW����
��칣��*���Z|��.�[f�ZMz�G���r|���k}z�	�ڳ�?�|�7.a,Z8�(7}r�Wa����
+
~l;a��

u1͜�sk�����Г{�Y�3�����զL�٭��(��
�9c��Y%�i��w޶n��**����FeO+���f;��Mr3�~u$�7��J��ㆼB����z�'����Dvr��
.Jf21.�덷������_*^�:�Fz��wڢ��M�� O�q��{9�D6��mIj�ˮV'��
�/�`5�j��A�4�m�P3u�
nK�[ش�S��/2#zbfw�8�򇓺�h�?�_x�~.K&�h����
+�K�}��:�.��
+j�5q8�GZ:�zK͕��{GQM6����Vϕ�:W|��+�f4d�SY��r���Imϔ��'�2�
&I)	y�،�#=
7ѕ�h�d\�I���c��܈Cn�
%�
U����	��i 6g��ot�-�K͜��
B.�J����!
�M���u
��}�b<D��%�!{w����
���tٸ��W� �8�_G)J@��Y�.�˱-�[�������$�B���(��#�A������'�Pׯi�[r��޷V
�r]7
e
�L�±����rF�D���'�	α�
�-Ԋ�]MKP���,1�.�6�������w�m^q���|y��
?�-���HG�Cx�i��q(����ƚ{���|⧼ �_��ꥥP����UC
|�����w��ۉ�d9sH4wެ����\� E+�~P�؎�U
+,qW��kl� ��X�
;��h�*+;^X��P4g)�O�����$,�?)u���r��&�`�Ҩ���#�F�.E\̾�1����M�Z�֏w��Vm; �8tU�JN0�:�vr^�4��@��UN��xdOԊU���Aݣ�-e
�&���ѹ�����g�tˤ$P�NU;�j��/�M�{�G�3��o�+h��I�G������ G�����U�f��;Ӎ��~^O}ߝgef�m��ZC�D�;��%�Dd��N橆�[:p�Ό�����qZ>��Y�ϖbo�.9�dl,�Y|�{0d������Dz�E:�>��L�
��p�E
+��)Q}N�Z��@�� ���#
+endstream
+endobj
+2861 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 2860 0 R
+>> endobj
+2862 0 obj <<
+/Length1 793
+/Length2 1596
+/Length3 0
+/Length 2144      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�kǩ���-'�dgf�X���&ٗL����јa�03��9I��Cá�d+�ت#K
"T�DZF�P����{�����<�<������������gE�A,���C�� W
��G���m� �Ѩ�	
�
@��� +��F(c�
�fhL
���鐟?д�Z4a �@��T�����3H
+�F#A ��XQ(����
� Y�Bd�� ��D�,�ਾ4 �Lf�h���1�)��Ĉd��Ƞ/���&�
��?�~
�eR(��������%B���� &�42H��l�~Gs �3��.�A�@$+���KPb�dg�A�|	�p�R�?C�c[B0����go��t�K-gDe����;tѻ�Qkq6t�
D�#�(�Q���;��V�T�
Q���� ��6L�.��G�
� �%�5��%�8�H��F�-^��	`@\,-)	��!Q��)6S��(
`�\��>��5���� zh#1
+�0F���1��t:He,=,q�?�/$N
Y 	���F2�
�T
Ϗ��j˓Җ���Hq,�}R�&��$%��>X���k&?M
>$5�6�r�^�K
v�xpJj��P��P綢�x��M��t�q���󰑤SG_3�<>���O��kΚ��߮z�*Qw0�fݕ8c�6��p�t�UW��`>�0A&{��
+� 6* A�R���
s�L�t���ʦ�s�c�o��
E>
��
%�\��yk�;�C�y�:�� Z.�VYqs�ݍ>�3��'
���#N0{�N	m�x.eS[nDpcL�c��j�Y�#���٤��
���ԍ�T�Y���[5�očn�5(w�W�`
.�n���i��d���4H�X������bdzw�#��� 9
��6/q�%i}�?�����I����^c*�>�_�F"H�������7��vܟ;nH�吇g�y����[s�2��Sj��������3]�j���[����m���� �|�q�p-���X }g�l�� ��o�\ר���&T�m�K����"9��i�eUǣ3�
rm�U�;nVa��l3���N��@���%:�i��Eqhյ�_��j�
���(��C��.R#��� ֻ:��c�]r�?��4�K}`RU����u�Q���6�
%cmXJ,X��mN=3e�AY��i��?v��`:���?�읶7j̈́���g"��
b�������N ��f�5 ����CD��1������ϴ��� [...]
+�
�.�[w����!�8Wӕ�=�Y��b����D#��r�~�[�����f��
=��,�S�/OGw��o^u�H�<�yI+0ғ�U��<�`��
D	����'�į�4���
��Ng`3w�>�!�����K���
��S�N�hpKn�t̚o��3��MD׆g�̚�+��׾�[����o��
S�j��(U⊏��u{���~�
�X
��+u@��K�1�|��
����LA�p��[�?F�MZ
+�Zwm��KeNR0��h��B�L�iQ�M1��HśL���jm�r7�<!7�s�Q���
�1�`��z;ف�
��#�
+endstream
+endobj
+2863 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 2862 0 R
+>> endobj
+2864 0 obj <<
+/Length1 949
+/Length2 3050
+/Length3 0
+/Length 3677      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�{���ed�ز=�l͒u,����6�<�
c�c�DI�E��l!��
9�^��(Y�
�2�N��������<�<�}���>�u���9
4“���d� 
+��L�
� 
+���˛P@,�@&�b���B�Q�Q�?p	�4u��:h�<`B���������&-�(�pX`����


�8�q�
��D����0�
) 
E� <G����ݏɏ
h�,��C��"@J���0�0,��$b4���2c�p��a�wq�p"��]����a��b�yrpH8� �d<H!���
+��f
�	����T,��3"�A ��D3'D�x; �a�a�:H��n���VV��nN*?��A�a	$�St�?��{`�/��
�`�p$�hd|�y�6ʌ�#�	$�9hhX
+
e�i �(�@ƒQ ����T�������
&#�{�B!� ��D04��ϯu �/�
 �͢D�/�8&��� �$�f�
+�R@�����[�y7���)�� "�_��#�ŀ����7ccrT�A54p�cWH5M at Ky��4��)
�G���o�G`\F�8�q2N7)0��t�I��'�efc��L��#�܉���e�V�ʳ�n��h��o!o�#w�������W�C3sǾ���}K�iw۠YGχ�n'.�6�n.k0��Td��t��,�)�:�㘖az����0/IS�͜FtNI�WP�q��
�HUO�����b�J<��yGej����s1g�ů��B�pm�j��a�
�o�����}��1��
)�[�sN�~�ī��k
+b���<]��,�:bU���M�.��5[��GM�'��r���UL�n�
r�K�����Z��:
M(} ��!tN
�M
�k[�ÚlZ����Ay�A	�Anq�ٱC�l䚝����$'U��;3/���9|�DQF�݃�lP.��`I]޼f5w��Eߋ;��b.�s�+5�^+7�
+�
�<to��F�
N�f����rj^G�܀�Юet!l6+��Z1ē�\�Z����aRp	����F�rАN���,�
��n��\V\��}����P��
3�6�G�.�H�!�Seڕu_��1�T��/c��Z��dSe�6�/{��q��H���������)׵��?u�l��V/
+Bn������:�t�qj{ +�e`��ˣ&�э�1�g�j�0�M����z�e��+ԕ��îZBċ�
�~���K��ui��ܒ9���0��

1q�ǺhQ�j���{�l��Q&��U�L?:(�ˀ�l��:Z�#��Y�؍�4��D�r�i2��z���܁U��*��[W���-
ѡ3�&�O��(�L���Ak�*,vgM	3��$z7�9
8(E�-�����JRmv%�rLc_���'mvZ�^�
פ��n�Ϻ�6�#����oI�
M������'��i���к�ǹ�,�/��
W>{� �q�~j9�!�:`��[��=/�x����6�p�NV�Ҹ��۰t�΢[@×����b+<��T�6߼
�\����v�u���Y�\�l�wA�czE����g�������~4�gbTtsś�l�:̂裠��}�Ç�Ί����^>��y薧�/���)�Q3|��q:�h=�7���;*[*�{���T�"��-�L��'�"+_�P۩<u�
+��)�5�
��Uw>�!IJ_�s��]c���;�͕!uL2���K�yиP���U��Mj_a~�q�5���T%���捽��l�4���G���RQb�U���|rTu<BS�-mjͯy�U�b�'�P�G��}�W7M/���+�6Yg�G/V�59�a<�M	8�a����ZV��E��ЊZ6���C��T��~�%��g���sUO�ڸu�_Ɏ�	:��(I��f�!K�����]��E�X�����n����iY8�uu�c'B�����µi�&u��I�~D��/�y�b��/�a��[��
��1^q"�G���{��6�-��Һ�9�ȁ�OXZ���ʚ�"%=�P��F���JI0ڶ�Ԋ��+���9���e���>�T����z=զ����*�@a����Y}d
��l��-A:�p>�$8szĞ
��)g�ѽ�{�J�b/{ڡ�����Χ]�z���kG���T�+���#�b�/�٢��L�lJ�m�`;����-�{�D
+�0���Kd������lK�
+�ܻ�c���Tdش	!FF��%)�;�2�k�5��5
Ywϱ��1W6
+�#��L�����K��T�$��xO�c��
+G��=�D�-�g��ˣEp���g�u��
�
t6��)x�)b[*�q�h�^�x���|�3�VB�fd�l�],g����ˎ�>ˤ0�
ӻB�1e�b^~��>������+�m��dy�=S��q�FK��GԼ���x�Gu3̍۔�}&�� ��7
|�r�!���S�x�HQ�G��d}�K��� ��S>	p١/,��o]������>�Q^�f��ՙҮ�K��ӈ��d
T�G��4d���
y_�_��&���E
+(7���ݹx��ˣ�v�=ʆ��u�!��VD�h�Y�"�
�t�O��z�~��I'��=j=��
Ϳ�_
U�`�h�G��1��s��O�雟&xx���/�s�eq#@�X�j�C�JȢ|���V2��<0g#�e�˪��v�a���k
��ۅ���o��o�[מN�:9_7�-+}�"����z`X��F
o�K�
���x��sbUa�=�ȖI�+�~��|�|
aG�j=˾���\��~���
#1���5qnL�Y�<�cW��٢�Y򟍽뷡���|�q���v>��m�2�I����m?�����h�����K<����<AP J�Hp�;�#1��BA�ي������C�Y]��0{Y��D�u�!.Җ��$�p��)0T`#� n�p�}v�	+/6�*
$��q�:E�&(.x@&����|��n2e��ij�c�r.��-�����Լ�&E�
�UE��٫
;'�)��x��\�9@��
+��Z}]�ʼn�����F-I�Nq=��4ìB%��-�Qa˅]Q�%G?I	B-)��6v��dF�<N'�W9����5ݻ��.o}�nZa�>X}�~n�Pšߛ^���<���*
O�X�AHO^�wN
�T=���q;�{��ų	�I��wR�W��޴B�aGwV� ��i�
%\yڶU���Ԙ���e�`?b(��z������Nk��υ���/��#M���.Ӿݭ,ռg�����W{��
��ȡGY���LJv���JQZ/`�{�aA3nG�Ё/��������V�݀�g�Ǵ����i=�؞�朞S�����=��oC���m6�j��I�Ï�RvL!<]�f���
��)�w�'o!��J��MH��2��i"r�Jv���/�2y
�ZE�-?
=�7���,�.��^(ko����z|�h���ǨOM`��@����;
���c���R%E�D[�S�.�p�@{�
�^��U�6�I-y~EA(Y���˔���k9��G��{p2�*�O��]��b�?^��?ѯ�| �7��$���q�ЉU�֜o�ǗyG
��Z#���ֺ`����N���\=��w��{bkI]�s�m��c��W��㋾�Q��)��
�*�o��n,~��
���ƮRd>5n�o�=#S�81�;�"ZR6o7��7�H�k��i��� 
�
+endstream
+endobj
+2865 0 obj <<
+/Type /FontDescriptor
+/FontName /KKSFXT+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/one/parenleft/parenright/r/s/v/zero)
+/FontFile 2864 0 R
+>> endobj
+2866 0 obj <<
+/Length1 802
+/Length2 1027
+/Length3 0
+/Length 1582      
+/Filter /FlateDecode
+>>
+stream
+xڭ�{\Li�	]&��M�U*��̙�F�VJ�Lj�N3�L�f��̤�$a)�b�K�V.+l-ي�"��g�%�Be����l�����<��y������z�"�������tD����
�6@�l���'	Q%F��P%t��+�UR�p���a�qy
k�I(�$&
S������x�]IL�‏*à��!Be at H�0�T3��L�NP R���b&A�)A(�b8��G�K����_�HHR4�JCN4���ej �K@�wA������[%�	Py_�~���Q9&S� �
+���O�!�,]
+?��S���JT���q�
Gę�v�~0����E�R$����y���������-����2�~q����j�o��1�-�]"�(���d�������
��
b
���$�����  ��0
+�(����	%}�֬�d��	�P��
+�"詄���yXҾ
�$\��g���,��o����AD�8r\���

� .����O�HE�W��m��X�ѶCE�F
!��9<����q^9�~�2�>��Q�bYI�L�^��
+�,U�
n>���8��d�h�OF��d��U�?�M�>�lW<��� 4VoJ�;⓽m�o��%�4����-��
��6T�?�X�S��Ic8�.0��Ҍ�xLO;x��Z��nҫ�
�U�D/o���]dLy'��Jf�v�=�!���Z�����6�3�|E�s�m�[��.
�D�N�3��sM�g|{[{��ױ��r
�+�[����Y)���,�&V�8��7���
'e79�>.1�	Tp���S=����GЈ��{,�=�^{�t֛ ���̅E�
�������ќ�Fϔ�C��I
��l�ޒ���,����5�����
7͌
)f$��ޟt�/�6m��@�O
]���Mo���u���
w�O^�\<���P��9��m
�_
�Ku۫��-��r��-W&u�i�������/S2��
�����i��:uڴ׸%�
+���<���P�s
�g�Fmk�=�Vs�S
+n�vȿт�����q�w\�N�
Jj���p�Ԕ˩���Mr�gE�2���qK�5y+�_�zb�Dҋpɞ�7`��Fs��/p����,ru��S�d�V�m�d�δ�n/Ln���}�:�‡�6�����������7��ժV����r�Z��d�(Ts�RLj�3�'�
5���ü���O�=x������bו�F������Ͳ.�^c�0"�ܫ!��2��}�V�_j8�*��$�s_�LqG��Ƽ7c>-�5��5W��eX��kJrI-dTT�޸&�U_z`������C�
N{��4��;���-Nr
+Q�@�����r����a�������w�!�X��w��s��
�����xS��u<%��t��d(-ە�;���«��]���p���Y��w���
;:b�zc
}꺂W�R�n>�U1;uݹ��
���#�ft�
+��:�%�N9R��5�@hԴ��{���r����ڴ�2������aɴK�ɛ�!B�z���7zb�����Թ��$3�z�&=�~���'z�eٜ�H���D�Cic�����
+endstream
+endobj
+2867 0 obj <<
+/Type /FontDescriptor
+/FontName /VUZELH+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 85
+/XHeight 431
+/CharSet (/asteriskmath/greaterequal/lessequal)
+/FontFile 2866 0 R
+>> endobj
+2868 0 obj <<
+/Length1 833
+/Length2 1649
+/Length3 0
+/Length 2223      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�k��*�"*�l!f��~�C��6֌��f33�9�E��FBL
+9��v"��(��'2e�,:C__�����{�y�������~�e�
T��TȜJa�"�:����U ��B��&t�$R)�X&���`D �k�#t�B���Jcщ?&8b��.�Fd�N�a)���ȼ8,	8PqD��RF$@�w0 b@�`�&�@ <�>�H�����R��7D�NCt�8�3�x�T
+��̖�;
�9���y�y�d�%��_�4�L$��#��iAL�l�x�N�Y�}�f�A�YK&�D�Q$�"4��H�7��0'�Bx{"�|�$��C��Vx�m�9�����|��g�%R��,�?�5�G�ˈN
�p58
����?�eF�Q�D
+��4�NDz��Q�(C "�(�g�F�2y-��L�҅֗�0,����ۉ�:��#� ���`��1�鿰�1 �щ����������x����a�@U�׎@�k�c����������x�}���@P(����t���U�q"��;o
+¶-��~߷�S�E�G8�rN��yo��tI
��^�W�h{���u�[U��n`.E���^9��b�l_SQ��|蜞
�FJ��>�y^�h�G٨v�
�;c���š^����d�ÒZ}�[7�g
r{V�d��丣�k�=�
+]��z-&!��Q�{"�����

>�sTS��U{���/��!;�lmq5̓�
��6�TBz�D�I�������3��l��@q�aB�.Q���攒/�]>��X����rŰw2�*�ߑ��Q�$$m�T�Z�އ��
��)vr=�p��a��)4�%�J�!)5�|
c�Dz#��4p�]�{���·�O�j]���
+;����:�t��)��k_�T��Ys���bq�+[)�����J �QSv`h����-*�!F�XH�ɐ~E���AΪ72��b���SlL6�;���3g2�_Q�ں���<���)q�;��
3��
RR7�@�T�<M��W��O&ϥ�;[�0k톙�.�w��y&�Y� o١鷲ϟ`�gDz�&l
�̟=�4��
�MJNJU
q����/
a
+��Z�
��^أ�m�/��y�⢡A˰J]�ʵۃ���z�
/�U��ľ65%��f��7�Y�<=��hz2}��s{O����L29W_�<{���X
r>y�GN���{n��ۣ��'���+X�`�=;��|���؇��եNܗ�Z�L��&��
��/�{g^���3t���n!ԧ��
����./�����m
��žn/���a�g�G,�MMnX=2�Ÿ�$T�; �q%sI�)�^4�m�?Ye�
�jX�sQ�ʧbf

��^>�P5���� kT�A�^�U����� �>��H���|���d��-z�.W��	�1Z��h�ޮ
5'P�S�ѻm�s�,fiJ��W�����̈́k
��;�u�:ybhtFX�O�˹�d�%�7�K�J^6�i7�e1�!W���쵨W�m
ב�l�0�d�%]��s��i�]��-�����h�>�fdk:��O+����x�ֱ-s�C��9��d=A|w�S{ݐ
�/��vi,rˮߞcF5�jH��:
���v
m�����k�ӆ ׭���BZ�qd�=�O��?�i���q����K��7#���J��N�^v��f_м<�����l�j٤&��uq��{��c����_�������g�åZ	�"����>��}�Kf�R�����1*dg�[ZY�����\�����ş)[f��2]m� ���9���@Cu��Ĵ`Q�U��4���l���€���
+�!�g���;�IEr��JV���nk
a;��X�
��~�c�h�sEPp4�]���$9l�pȓF�v��Y6˫���<�Z��XE����G��Ny�G�3oOe�b�fE�x2�+|�|�3�^�pl�cX눫�=⠴
I���JTG�)YUL��� �'h��,dʓy�`�A�Ws�
�nC��-r��U���dU���]m�M�������ם�P§ߛ'
ŷT��dv(	_��Z�F�P4G���zu2���π�\�To�CC\��]p���ˈb�V
+��LG]Oծx���慫R��
�����
`2A�������D͓�:�=#bʄ�	���G�m.
�3�^Z9rJ�L����1�T1h]%\�����_m�6}��6[��7Q�J
+endstream
+endobj
+2869 0 obj <<
+/Type /FontDescriptor
+/FontName /ATFWDW+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/asteriskmath/dagger/daggerdbl/prime/section)
+/FontFile 2868 0 R
+>> endobj
+2870 0 obj <<
+/Length1 746
+/Length2 603
+/Length3 0
+/Length 1117      
+/Filter /FlateDecode
+>>
+stream
+x�SU
�uL�OJu��+�5�3�Rp�
�4W0�3�RUu.JM,���sI,I�R0��4Tp,MW04U00�22�25�RUp�/�,�L�(Q�p�)2Wp�M-�LN�S�M,�H����������ZR������Q��Z�ZT����eh����\������ǥr�g^Z��9D8�� &U�ZT
t��Б�
+@'����T*���q����J���B7ܭ4'�/1d<(�0�s3s*�
+�s
JKR�|�SR��Е��B�曚�Y��.�Y����옗����kh�g`l
+��,vˬHM	�,I�PHK�)N��楠;z`���{���hCb,���WRY��`�P
�"��0*ʬP�6�300*B+�.׼���̼t#S3�Ģ��J.�QF��
+Ն
+�y)�
+�@���� �( C�V!-��
�&
+�E�@���0���_Q�
Lr����
+�F�F
+�F�(
+�K��R�J�	0~Z&0 SS+R��n^�O�nɚ��me���
�X�9�X��&���
u�3Sj�M�*��,y���־���%����
+m������Hx�֮�"&4��׻,^��5�����+�Åa3�>���_�xV����/��'x楼p�Z����k�BZA�����o�`��(&^y���@O���+{�?�x��(�@Cҳ���3���6*�
���8��"�����	
:��|��/�m��L�j�}�5�����?��뀂�{��́���x��Lp���'�X�6�1q^���&����7"
��:�L��nW��a_��T��Փ��lg�cx�'�����k�]�K���9j;��/�r�hD�;�
���U-z?�����!�f�>$�̯_�6ai�|m��
�ӻ�'�u�R�e"�V]v�~��K-r��ʋ��ο�^��1�c���Kǧ�S�9m��UZ��s�ʂ�On�ܔ┓�:'j9'<`ڷ1�����O�~~;�>�ko��U�$�
u*�<�)ᅑ�x��ђw'�.9�%��c���I~G9�}{���k��CDnof�57>�Zz�5�5ۼ���1(ysx'j��N[ +/���.�����y��B���?��
�4뼫 [...]
+endstream
+endobj
+2871 0 obj <<
+/Type /FontDescriptor
+/FontName /NSJEOL+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1252 782]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/prime)
+/FontFile 2870 0 R
+>> endobj
+2872 0 obj <<
+/Length1 792
+/Length2 1349
+/Length3 0
+/Length 1899      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
+ Yِ�6�T��
eF���iӂ�
+P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
+��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
+�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
+�s
+��Ņ�����{�M\��m���έ�r�
+M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
+endstream
+endobj
+2873 0 obj <<
+/Type /FontDescriptor
+/FontName /JRVZXP+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 89
+/XHeight 431
+/CharSet (/dagger/daggerdbl/section)
+/FontFile 2872 0 R
+>> endobj
+2874 0 obj <<
+/Length1 815
+/Length2 1151
+/Length3 0
+/Length 1723      
+/Filter /FlateDecode
+>>
+stream
+xڭRkXSW�axl
u�
DD
+y\ D8R�)/A�I�M�c��Ǎcx���`
(XE�Q�8 P��

+Eh�(�D|4Z�-�����w������{}kWgA
�c"$S�T��72&�@4�Օ�F�8�)>�@~~�h� b�����b�\S�Ԩ4k��"��5**@��@�D�Pb01��:��d z��D#D�	�i$0*Ɓ��
+}�P�B���*�R���0�&�a�2
�	��LjY���aj~��L��g�φ�;Z(Ge��0�R�#j���Z1_�
y�-�Q�|>�
e�����@�|h
o�Մ��, at qq�edG�|+DzsF��`AP�Ǜ��q!��cuJ0~���o5���I
�B⼽�̛�c0��/�/��B
�A��b2�
�F2�I��N<D2 �Ԥ٥z�PC$�j6;ɘ%�p&�"G�1/�!
���{���R���Q�V3�>�� ,SO�f �s-� _�b�
�#k�jb��o#}[KPb
���IC���㿕�+8�\�[cA_���vbȪ-�1��
1�ʏ�����ã
�픍ח���w��g���_�j:B>�Px�X§9�V�`
E�_���ɰvU�������ݪ
3�p�
2�dw/����P����%�G���r9k��j�́�����1��+P<}훈0ER�v]��Fd>'�H6������<,�
�\{у|Y�ӵ���ь{S?l�o�:,7-ō���=�%���m^��9�5�l�*�/��i�Y���s��
GFJ������j�
+y����W�R����{���7��j��u��c;.��.�g1E�q;�|<�8ʯ���V
��!
�7�h}<��Ŏc#�5
�����2ʲ@}����ݐcD�����y8^o��
O����s�4�=�;i����gF��h�\�Bb�CG��'ܙ7��A�><�/:��4�	"���t�Aw���`���j�`A]�6���@� ��
+�{ �|֖F�
�n��H��E���K��'����+�n�l�񼟨��
�=ZJ�Xn�2�����^���E����ʲ�A.���N)�?7����	Y�J�y��%��Ѡ|����6L܂�;,�.0[���
�
#�xK�Nfx���_�T�z7��T떼
�w��뿓e���~
��\5�/����%Nţ
{ 9��m��5o�M; �y���Pi��hè�+�ҿvʏg5|����":
+#�����O[��X9�<�P{.?:�����'G�
g� oj�p��`��89"j`¢zPS�u���ơ�����*��#�%������!gѳ�_���U=����P�ij��\=`��~�~�H
���
ZUoz�Rr����.%���rUs�
���ۏ�Y�8���a���
�y�����I5gɜ�T��'x�
+�%k�t�^��$w��I>E-��pR�y��ӛץg^�kO���}V�G
xN����QO������S,��
y��݋'�{�V�y�Ҟ џt�2��j�&.�;��@�=�]�Dx��mjE"�,~KOͧ�v~.�([���B�?�(�s�=���
b-�2R�VI]Y�^��w���H�&�������ष��z���|�RX��$��[��ݩ�
���_����G�������AS�u�b�}]g��#kJ}'t�a�th�O
�g�;^^�y���\I��=�{�h(�f-3��WcK7;
+endstream
+endobj
+2875 0 obj <<
+/Type /FontDescriptor
+/FontName /GCEPBM+CMSY9
+/Flags 4
+/FontBBox [-30 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 87
+/XHeight 431
+/CharSet (/asteriskmath/element/lessequal/plusminus)
+/FontFile 2874 0 R
+>> endobj
+2876 0 obj <<
+/Length1 815
+/Length2 1545
+/Length3 0
+/Length 2105      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<T��ȫ���=B�cf�� u#Q�A#�܌�=l��
���G�J��QIi$*��B�E�D�:�
F���ָ�۽���q�����o��]��w���Pdk:�#l�5�� oWo�`@
33"��a��F�CN ���!  tqNx���M�G �BV�
+

q!���p6D„ ?\X�Qٳx���Q��?B�!���!"
!��h�Ō�� .L&�7��� 
�
�0��A�0[;3�'�� ��4]��Q���<�p Z1������B�q���(� ��������&�De)����:�3�s�M&ĝ��Y�谀5��ɧ2a�
;�	���s�c!:��" �Ƀf��>_Z��Ya,эH����=��T���&���v=���[�±@0�Á
+����
+�'��MC�0;
����\.U��SP���{@ fӡX �U8�b�_�p�xőq5f~�`}gRs�
�����:��+��ZAkmk��m�-
p�����&�r!6�H{�3`�!(�i�<Eh�S"�_M+K�$��[l��5�&�T��������̒[�,��N���^6�x`M̷ռ
q��?&Ee�v��C�v׭
����L&-����e�n�OG_kYNPqK��;CEd��6���M��UM'S�	��yLJz�s<�O+7�l�mzo�V�H��QrBd�Z����H�`ŔD�X�c��A}�HF�
���6,#����ր��/�LP���(�?,
>ӛjO8�t+��r�W���7�F��n���o��9|��?
�
�y�Yc�Ĉ���k��[����r�D~ޟT��Rz.�(%�]���u	+;/�L]���;��s1F����"=�6�;k������Jo�d��w��_%��]�M���n��e�m ��T�����U�ܦ�wv�#ħ�M-�0v���
J��!���A�g�cR���;�����ђ�EY��K�V��E{D-|c@�O���;:c�Κ��a�z۳b�)x{GYE���䒈�L�
�
�Q��R��\��I�g����܋��Ԝ
+T�v~Om���C����X��A�J8���
+͝�d�������ݏ���ub�
��Qmʮܶ��*�` "����nH��8HBx�*�6����T�ʆ�3-��,iR������+Rg�=�OB9q�ͣ\*+n
+�"E�	U2�����>|��8@�foh���ή*]�k��voV_���t�:\�pd�8z����T��O�-��`��X,�I��� _,��Ĉ'�zæ.M;`��Ľ/n�J��&
I%�&��h�#�{.�,��ȰYmS�W��ݏ�*8}�������,��s.�-Okn
~�١��,R�1v�2��9p"fi[�OF�hn(5��})+^d�U=J%Jt*�hM��R�oc�/ɱ��>�����	���k��z�c7A��Yȑ��ؗ��$ûE	��v��g��o�[eλ�A�G��r��R@��K�=�
[�c=��>�"���ɡ{oӲ6W�2
�h}
	
�%�m߳�L�O':�z4�����C�����p]�Rx �e�$21�|��7��F_}8��J�dY��N����ף��ܗ�i+El��%}��!��#
���<�o������%�0&�|��-ql���ze
k@��s���6X���T㍋g
i��SV�]��ş�:���O�hڍxm^���Ȑ;���-խ����HI}t� 3��7q�����xH��(���{X.��>)�e
.�ļh�qx����aW���1
n�e�qN��R6�)J��AjAZ�#)���P�z������ň
mݽ��Oӹ>�n
:i���~��`r���=�q��'���M�/3�N|k
J�W1�	xM;�l�mV_t�궢�}���:�g[D�����;Q��"�
����{����.�
�Rp��z�-�2����`N�ZW[P�~q��`קo�9�\HC���^eg�-J�
n	�
;�|5M
+��zլ�ڥ�Wҫ2
V���r�m�w�9��?�C����^1��t)���U������vXro
�<�u�1-1��8�q���O�R���
+�����Ź!��"O�sA���S��i�j�f{y�Ն�{�
+endstream
+endobj
+2877 0 obj <<
+/Type /FontDescriptor
+/FontName /CDCNLO+MSBM10
+/Flags 4
+/FontBBox [-55 -420 2343 920]
+/Ascent 473
+/CapHeight 689
+/Descent 0
+/ItalicAngle 0
+/StemV 40
+/XHeight 463
+/CharSet (/Q/R)
+/FontFile 2876 0 R
+>> endobj
+2878 0 obj <<
+/Length1 1612
+/Length2 16918
+/Length3 0
+/Length 17756     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct�k�&�vVl;۶m۶+FŶm۶S1+֭�Ow�
������Xc|��3��w~k-2"e:A{#S1{;:&zFn����������
����+ௐ
��L�������N��Ŕ�nj1503����`� ���N��. JU%u*����c0������Ζ�v �n�6���v.!��
�MM.� 3KS�������8�R\N njg�dhPp5��4�X��9�R�� 6�q �ۙX�S�3�_,Ag�!�����򯛩����?*Z���������g��3������o\��v�6�&�$�Wnf�oBN�-l����)�;�8;Y:� �FU��<],
]���l�W
�7�kibo��OI�����պZ�9\L=\��ed
+0�tv�1���/����i�:[ڙ�g� 'SsC'Sg�0�����	�ߪ7tp������_���������=
�ߘ�.c�[��0�3(�vf� &�����:�O���ӿ
��gf��&ahbog�	015�a��w�@��2���
����B��?r�+G��%��{��+�������������a�2�v���������������_
�M�#��
Iÿ��3�K#=�-��,=LM,]�- f�6;��\���������/��6@����_t*���v����?T�v&�5��$��:�������ݩ�Z)���E���ob��Y{��u�CH���M���1�p ���db��?D���?ϲ�.N�
 �%32�[�����I�����ۛ�3+�.�v&��	�Q�:9�e������y�w�MM=L�a�W��X�ge��a�L�h�1���:�6������G�qU|Ԇ�7�p�{.�;|
IQ��a�P�^����P� o�wr�
1��g\��x�,��i�3�
�O)*�|@��t�8A�<S����>9 ��5ģw!5���_�'�>?Q
���
�ށ�����C��p�'�p����R�􎤂�h�ý��"T����##�!���yS0�߰��H����I�u�h;����]���L�����t%u��iƛ
���&
�͂l y��
p�𮳭�~�G�]
�U�*mpo�8"c��t�Bnsp&��Y��0�(ˎ��OzZR7��웷���1��u���R�?o	?C?kf/4l���	n�Ւ�� )�P���v�%�Y�����
[�����T��UfQ�9y���
��w9$[�ԏ+	.�4��h��D������L�
;��ʳ@��0�!
b���BӀkj̊|RA[��a�N򊇖g
��8��T���b��щu��_<���1za�o�0:�vltGy/���N�����֯#�^"�0�<]���������Q1��D8�pb�
�F��$�s�(+��'�#�C/
+�d$��Eq�(H$����}ؙ!I����!�>!���@ၩ�=݆�`ońL�[�Q�f�9ER����S�ܲ�֮��$n��!"u��vAؽH
q4CDl���\�����BX�>RQ�y%��y��%��#���W��R�~�Mj��Z�!�.��g�%�-
�S2z�	�PA����F3��O���>����$����s�%޺K�YO����������M��t��M��ؽ�;zT���ͱ�Q��6�
��^�����wT�
q��9��{<LTs��n��"������W*��݁��,
�0/����P=��4�|�T5K�dð�����iԼ�|���3BN_��	����V��(��7�M��"��a�c�d6fa�yɈ���*kR��5k-�.���
���Y�6�	<xB��g� F�1�n*Ŕ=�)���o�1��x8LU����t�l�~�4�qXK*n!4
���8
J
�"S
��{\��O�


+Q���fZ�
�7��
B���m�VE-�"J|&U�HM����.�
�$������F֖IT�i��6$�T�
��
 ��"�ž_<xK�#�.0�\~䝉,K�7SEY=���0�
����/?y�[`U�ϥc���e'
B�.��Exj!�d#h/c�cCW+��W��~sXu
�wL%q�%�b�+}��P�3���&حpOJj�0��.v�ca� ��
+�Ɋ��a��]�)�i�����{�4~!Ow���# �>�~e�s�Pxs�x� �x�\d�
H�
/)��DI�0�?��e�"d��"��ꑈ�^}��V~gzU�3Y\�b�2
�.��t�КT�g��xX�J�(���p���P
^�
�ra���^U"P]��!9��4����DZ�o,~:E�sE�ʔٵ[T��$3�N�3�''8�P[Y�Z_��!�2�����:
+n�u��e�z-�NjҪ�
��
M��#J���s��
e�n
��UBG�
�yO��زl\�׭7��KF<D^�c�]��eT��,��������.��5�x���p���K�́m�g���F�q(�J�;�n&�:�}>���xK�Y����,@����d[0�b����C�j2S;�GRs�Rn}�0�#fz�ٱM1p�Cwh�/nd��4E\�?�>_��R<��_د�y��&N����D5��/���@��?��~��5�s`S�E�L;���/�MWM6�����^pT� �*�vN�8
.�6� ����R
+��xdsq��d�g�%������!�������ͱ���Y�4����,o5���.U�NY��jk
���4����cp��R�)&i~f�o�{.NI��.�����?
+�*0�-
+S�dP��@�&�v@���j�Q4`$|���gB$'��ϭڇr:+�a������T|�c5���}1[wa=	{tL��o��@��A���Ԋy*	�<H�+�
�fJY�a*�D�Kܰ@)�����uyj<	��]�P�SI

R�4Nߒ�R��

h
�c{��w��оGb������[ԋe������.t�/�/�JE��j�"]jt��E\��j�@8<L�3ECyH7��u�$~M��+�A��<YmΝ~��m�.�D�xdF�A,@@
�
�w���9�$�ޠ
+u��"wVJ=�BߊQ��q�L^ٓ����b*Vu
^O�:*F�F�"�-V��~f|� �o�c,�
��B���;�Ô~���D����	n����u����rR�oq�8�5�@g�S�N��M�A�nV�q
�
^Nݠ�c��nީ��LE�V]ʙ3iJ��i6)�
�������ǰ��
�����,�AZL���Kufl���P}�0TS'(�F�p
�K�WAÍQ@��k�M&C�Z�и���~�OR

|d��L`/&�:C�9 �^+�I#�9�YVu����\�v�	.f�d���&��	u���*B;0;���KKq�3�[,k
x9�\>����[ݴ�c�^�|?�jH��n�X@�T�b�;�ƿ<��T�ϲ���re��:�L��\�HA��:}�ykl�d�ȥgPs}ޕ������#�A�Ѡq� ��K
����:D����$���XXP�L�Զ��K2�D��<�a�O�A<h��g�n�v-�}\4���ϓBO���h25��ҲIVC�,��2|���@Rb�7�O$Y�=+�F
�B%���
+�t�&	8�+S�����g3��Z��ج���3"m�#
�XlR �1�����b�)�
f�\W�(��<�yَ�
��Hl��IW���T
��C��|t���8���=�
w1{���C0��h)�.�P�
+h�峽��cD�?Hak`�*����`
e47����qnơ����r���:`�;�WBq�d��[=m���	���q83Y��_�%I������э�IVBy'�
���f�,12�
E�����	^	Vb�x��5^x&�ئ��C�5������V�6>57��y$���R��Iz�:)��&��P�0_�&ip�~-pŠ����.�
Ϙ�nպI�6��Hh
졚
v[��C��\��
���O��d�5��{��!��d$�����>Y�3�?�m$
 ��9�=sL��Z�!y�]���X80ng�
"Q.7%\3q����` �{=��Wt5��u����m�`ュe��"R��b����d䆩�*�H��Ut��l�o�E�e8�E�g�9����{7ʓ
�v%��ŝ�2+�K
+�s���-/f��s���l�U�	L�����9:�OХ�&��S��0$G��R�܈�>�x��u��%���WN�dzK��G�t����.���\�j�2��c
+�S��l ��(f�
���0�!�/� 
�k�c7�0���.~"�X���˻��}Ӎ�EeR�6 {C�L�Q�Ř9-�"����U�A�G=y�,��j�9�]�l�3
��l��՚[vK�.qթ�K�]�ӣ�8\<ЌYm�,Gl$_ @��H����,)�kO7���
����Y���x�oAE�OC”�:�(
�����2o�^����)�ntT'���8~��y��\��"��.�x�jQ�hIa��%�!�)`��'*����| �X��;��hJ�(��r��dfO�{�V��if�|%)Jt��m.�meR��u
�+�qYݩ�
M�8u�E���jD�gʹjɮz�t�	\��,_�$�� ��%I�j�����?D�]�2Jګ쭾�~H�f	?�7
̤�1�&L v~��hamD49�hܽ[��Fe3��h�o�����ߒ:g���}�`1���6^X�kg�I�c ��)���:P��O�}U������E*0�ū���O�߁j|�}��{�� [...]
�
+�}��z�-���=?���������Vq���@@�d�&~h���A���u��o���)#�jd���6�
+�yWR�(����'�I�氈�s+W
�!���n�|2U���6��`�}��t5���N��.=�3��ڡD��IIU�v��l��q���ƿ�S%�t�
O�g��1b6���g
�vV[�}���
Sҭ��9ꚑٿ�J�K-⸅8y��%�F��Vȸ��w硽{}H�(��/KI����ͺ����:}$���k**y'�kB*�,�
�ܾ�q�����i7l�p��H
�ɦt����8
+�[
Q �^Z�N�3���jQj;.��|��x�h�S�����㛈�>���I�:�kx��F��&��2���Lj-�D�d�4�xi�
diZ��-,%
�:������{h;��a�?P("2���U��
4A�tѽ�`/$��
�:�����=�1������J�QK�	U�?�üZF���U<��Y��Fz�
'��Yza���JI�y�S���s��Ld�L6�%�Y"|xj+QD���N��(��&�0�h�R���e޻�x�g)p&��?�I��q���e�|���TV��Ʒj���BV������y`Uȿ�
��B��ғ���_����x:�=L�(yZ$�+�@3H��t�f@!�VfUA
�K��w
,��βxl�+���sT���V۔I��0��.
���~x�����;Khm�Ǜ�o��
ܬ��
�R�����^[Ǎ
-�64��sd�'��_3r}�cy��}�v9M�d+{
�{�Sl���	-�0���bed�@���@X�)�b&j���Y���L.�4�1@`�&�8,
4���dE"%��ŏ��V8�0��emr�c��1s��"�V�
�a�D�fX��^l�^�Y`@�p�ߠ*$�ɖ�i��o�
�10Q��^
د8�c���"��q�A��Okq�D��D:�v5?��8k�����s'����#��=���:5�?��WaFᯑL�I\<a��FG�DU������X�+��"��́�
<���ӁK"
�!RG �A
�u��� �`���n���<�`9��je~���a��
�qP)�ND�@�΄�bs�f�R�?��p����]��x.pѼCw���6�ߘrx��]�
+Q�Ki8!\�n�gLC{,����R4�!>*'2��^�;/=�Z�7�-��T3�|%z�9OO���@<��+������>Yt|W^��̡;�K]����S��|�� \joo�����a
|SJ��
3[����(Ʊ$���P=?c��_W
��_��T���
NNJM��[þ������ù
�Z�Yyt�M�Ϫ��5���,C��t�X��0w��E_+sf�/�~N�uH�,����7<�D\�|�(x]h)�Y/M��u�h:;g�=�I"��͹�*�fVF�ez�T��u��e��G�I(2q��B�f�&0h��;�Q���к
�!�$4헨E}���@��B
+=_4�c�x�:���y�f3e
5����{z}���{t���,�_�^��;�$c�id-�z�~Q�)�l

<$���,�����)�iAL!�g�!���[����QO��b�t���A؂��>����O'=K��z[��@o�g�u�)�0~�����8��{g�5c�.!|�W�a��9��b�����"�ԪF��ͱ�+o�
9HKD��t����鄷??Uٟ���n����Dw$��݊������/D��������Qd<1 at 6�<�C��
+�����fW(����Bw4����
��+� Z�&J���;����
�]��<{�
6#��s�e��r�c&"��!�.+��4���v���������
�t�%�$��l�
(�T��~�^dwM�zڷ���ِ{�|�x�!=굪���0���K0��a���
�~�"G�f���*3bJ+��^�я-����ub�vp����d��9�L�'v�G����(U���%&P�n>�̉oG*��[�,>
�bA���u�ŋ.��<��
�U
+��	
G�2�kI�i���J�+$~JC��
���=�-����?
�6�vE�ֵF5{jJ
.�8B�{
g��j��-��<]��Q&��&xÐB`��
	��`�l�}m�D*�����4gɻ���.�ϡ��U�Hhd�}��:.�&�8w]�
���,�K6����St�Sg9�Z5`����ّ��gmd6CRЉ
8��l
�������6-�=�v�>��#���וhS�.���7�8���q��*��>"�nm�w���c����ᢖk�����H�ճ��1p�
X�4�:�װ�l3Z�c��ҧ
O̭4�P�������	n�)#�}��
q�ėR�Щ����;(��:�0
+�(�
�n;ԁP�.�Vf��m�.�'p¢��4���v^�
5��;5�����}�$O
�c�͈G�+�%6�dE$�J�X�\��*C�?
��O��O��K�(��ѣ��V���*���'�-�L5;G��.��]B��y�dWGơKo��R6k�cr��\!/�?nG�I�jcJ�:���t�3q�!o9�F��6�+
��R�u�w��Н�b��ufs�Aڭ�X�1|��?���)!��{0sx��7L��\�np�Q��o�Op�A����d+ۭc������κ�6��U<�=lcw�vݛ��Le���	g)�g���q���U��Y3s�'��:��\Hpt����x��4
S�F��ֺ6�E9��C:��� 1��RӼ�s��hE^ˍ1�0�3w�F��V�'/�&s�-��6҂Lm��F�M�jC�ʋR���)7�9��Z��
곙�
�B'n:Q������Œ�'��J�e�#�Y4�Yo�����:b
rJZ����!�	�A�
8xDx��A at W7�ܹ�`1�gnո�~ 5���
��~�x [...]
+�b瘅Y��/5�+,��`��3'dw7M�_
+V�$K3K)+Ŀ�.1�

�$r&j:�Pu���dw�og2�/�3�T���C/�y��"�$P-�����^+�`���>�����IV
tXirc~�+�]�\Z�#å�l��GK��p_y�o��q�
'�UvZK�*`�k�ծ�X�c
�WZ�2�
U�.i�O�A� �]<
k*��U�zn)\0��}���D���7�8�!�I%v
��)t
_��u
�RE��K�Wx0��H�o]�~`��T��Q�^�

����� -h�c�s��Cw
"l+��l؊4BQ��c�u�v�k�AX�PL{�Rquף~؏�?dž��'nS��:
+��M�@UsŭԻj�;���R?�]j�::���
$e��:
/:�.�I�y�"^�I�
�v]ޱ�D����U�m�@ʵ�n�
�����
�\���.�=�w] p�v;��(
�j��vҥ`̋0�.Cs��Z�1 g�x4'P���-7ڞ�Q��<i.������r�P�;�ٟ|SN9�G���
�~/�����Ĝ��f,�.
+��iQ�l�e�B�z٘��^�������aB�:�O�V��9�o at Pj5�w�XsG
��/�
WV��dD��F�\�e�;� >�,��}&��0����(�Bf�
��5̯�B����ݨ��<ˁ��XL߯Ǩ�4v���
�Ј���N�-�e�;���w��n�p�R���9̙$8��Pa\����r�i�|ق�ԢJ�nwf�&���]Guy�\!�s)�x��@Ոj�}h?��?~8J�lk�L島�b/�`
���a���H������̼��K�
I����?��%';��}�"��t�
�����x�5����
yrE�\A���%���U|őT 
+�䏁D�_(ֿ�4?=�
����71��O%�>�����Dei^>���V7�t��z�[��=�
d���e")��:x�|;�g�}
ѠL��;?(}6C��r�w44ym�x�1���><��<-�P
��b
��OqcX�sS�����t
��
��8�d9�-.���J�S;ҘÃo5� ,M!f�J�G�c��&Ɵ�-Ò�!�!m�X��	1��N�#���U��	U4üϒ��c
����l�|��>z��i�,~�j�>�$aHt�Cd�p�tL<�F�8�|�v�
��"P��U3`�C��vt��&}�S�3I�]JeY�97�q���Zث�^&�OM�2�cx`�T��ue�����dbX�<
2ʐ
���U���q�E�
94
k��Ń:P�ӓ4ϱ�#:�;�5y�%���G����dǛ�H%,�\Œ�,��Q�V���L
�4���X��HW���<�^����(B�[�[�i�C��C>i�d�d<�y�U"�C��p/��l��`A��&@ �V���X�����Q�ʪ�0(Xh}�loA��-�
 �cm����6ߥ�&Xe:�Tk�آ���"�*v�Mױmy�z^�B$^�����Y
�%�	�D[hAN[,��4�������,��x�X
�C�
���D!��X�|�>_ʃi^�.��"���Y [...]
+,�\x� ���������?:�~

$�t<���~�GG���F��ސ��8�Q�V���yT����p��K��Ť�"��T<yz%�<�f�y��v���38
�>u��R�����#i*L�����G�T
ܟ��([����;�K��f��
��X���������x>�;�6��B�>C7�<
���Z�y�eX�>k>� 3J������X~ҿ�U����S��Z���
�}���;�32&��C�
�y�9�F9HAGr�@v�
p_b��
\V���4�}yً޾�����={�#
�vJ|��_Q�SzC`���*��H�%1z��,�Ͳ�É*�2;
xK�^s�U�U1m��e�|"��* -+�t|m��A�u(*]f����!F�[��ɔ��%��!&9j�G��,ds6ж
+�p�	�6t��
��7U+,�«�V���φ��(��+���?A�Oǟ�v&9\������a��C���E�V
%����W��s$�콰q
�!��⩌09:)T~#MC�Y�R��$�&����ġ��A�ւ� 5B�"T����f����뜎)�
D��j��! ���}�N��a�Ƌ���-j{\E��ϥ���
�p��8�y�,|?��7t�()��
. ���5�A�N ����e���>����B��=ۺ�8ݦ� +�yh����{U[�!v�L\=M��q�
Hs�kl�3d2N�����f�'O|Ʊ)����W!
���̛��
1mr�&@`k�6k��d��eE�7���P�W
+�(R��r rڬN8u�v�gpO_즤\�T�fc��ܧ���k5וg�s�&�O�<I�'�_�n6^lب��1[7��x��HCt?
��p�oa��Lc]�	
F���J�BK��T�8^e
D3-�ãx�z�,Z�U�|���J^�K�d��I&���]���/S�����+��k��b�&{�
�ߓU�\UW_�G�|	>���iu�Yh�LsX��5&�C��R�w~O�	Q|�
+5	��D���C�
��&��=ߔ�.�5�7���0��
+�&Ԗ=�x9�<��Y��8棼j0��cmB���Y3�@�+X���ڎB�8Ox���2Ԯ����P�zWO�[g�@tP��EN�<�6��Iۅ,��&��6��Qu�+�ÈH�f at wM?Vе�E��>X�/ҡ��Ÿv����Ɔ�ӻ�MJ� ��Ee�M�����qZ���Za_��p-��:|�k��X]��d�QJ-I
��r��h���툂{�mu��{]�di��G��E9�q�E�n�5� ��a��`��w
��,�1WV;���1� � �¤�c��Ÿa7!S��y%z��Ň]����0ȂN�.m��r+3���!��N��~M��B�VW�`V`����;�~yv�f Y1�����\�;V���绉����[y�P���%����fvw��*���\��&����g!WB�<�{��-�o�
j�Ff
U���O1�O��ӷ�_�����F9#��s�����
+���� �Gfxٲ������{��#O)����e7ٯ�(
�_4���E�wO����v�
� ����w��A�(��O��pd׃#����t�v���K�9�8�u�����G�ڢ��[�a��_����
nS���p�1P���dI~O�
�n�e�� �q��
k�mS�]�{Ɠn���m`0f��z���L���:��'���@=D����zW��
��������6��1F�B�
n쎃L�ۂ^�vtzG�7�gZ~
+�U
�ێ�k
����kn�t�ߦv]-?1������|��|��f���K����h��U	b��
�a
R
��ij޻���صF������X���y�s[nOo���S��8F��C1�����e
9�_
6P
+?�}o�U�H��AS�2;
"�	��,�"Ļ�+�1p���3�>b�2Aͧ���rx����*�w�3�cz%aq]3�ۘ�����{�Ltȕ����}�=���dЛ���{5�⢥!�P��2����/Aކ��
i3ՠ��JU:Y<~�U��?��~R�Ҕ&7T�i�s�;ma�~Ⲑv8円���4�
&Y�e�׻�i��y�h"�
�֏�F�\�g�C-��*�V�Q�6�A��
+�1[;�Ϗ�Z˺��A"O۞
��
�o҅��2q	\
�&�D��^��#�ꊲ
��]ǫ	
�&x�T��"�����(�>��`
+�*��dY��ciܰ�oc
+���b�
�����V�S���	��*�kJCE#�Z�}��vm��B��l��4�b�]"�7&
�,C俎c�0@�#�ꇱ&��
�2��~?�a��Dyd&�������~�U��=� ���g?2r0�s�We��L#B*_?,xx�X�
+?]���i�W��K�Hw8�䜽sX��#
������K��5V@�"
{B
$��N(5_ysA��
;g2�	������{"��1~�!~!���� �$Q����/�[UND�v4E�d{3
F|w���Ș�
nna�x at 9��Z1��q �oO
�)�b1���.V[�w�t82Wo8A�m>��Ɣ|��{�lS
yX	*�_�z� Ȧ	���J2o���
��lI��m�R|� w��۷����c-8�����
�v�{�_�?kW�0���R1D%�����?Y\�����cD"������M�_�3r�@{
{�
:��ox1wC���U�B��θ\
<��b��bMۨ�"�
�uꪻ/���>��W\pC�HI��)2Y�n�e-������R�ŀ@�
 ɗ
���IR��>�(�����]��G̞	P
+ϟ�F�j�!��k�>/S�=���5�"{�ll85^fM+�qI�K�ԩA�l4+;y^7{���
��+!�]��T��-`�BcM��s��S��d����@̂W�r�'��oDOnm8E�b�wf�i%�(�"�4���Y1Ё���
q1"箑�}��.���q_'�h��I����8h��?
�O
���M���u�A������:G�*%�1�D^
��)%Y�
���r� ^l���D|GnN�<

+A
wxHvNҿ��Lm]����yN�,��N������G�+�C�`�D�Ο0U&-5����n,�r���l��h�%���7Mяr������-[;x�
�ιν�بi5U6;�G!лs�HfE
+
q�
8O�/i/��YPǘ��3�����P
�&�n�Lo�!U
^����Uly�����
�_�"��ə=�A�D��CF(��	
�2Slv����|K��&����;�YRR��ԏ1�6�#i6aƩ��'6i�c��̝a��j��u�5��l�l���VW����'�s�
�e}�M�NR��
e٦�g�^t"v�3ɪ_+�
X�Hz&d�0T;
 ��`8}!G�4)k,�G*<DT�m��y��x?
�����d�i~�Yjߔ����5
kC�L
�ЖSNM;c��3[4
-�
[����m5M��/Xz�
�����6�]�$,�ac���ۮi��]�j{D]j�J��O?P��X8:��QV\2h~�=��qk*~ѩ)>�M��1�
qoC�5:��
+�T�X���v��4�<nrh��)Z�f~-��D�Ԧ�V�$�6�
��\vi�`���R�s[��ɰBK�m�ڡ��$�ڧ�?�s�}�Q���@�5WgN�G���6���%*��.�|?�m�QBQ���F
+��(�s�p�7�aa]�}�	�
u�	���
ف�BUα��jKx��ׇn<�aW3���=�=�c��Wr}�N���B��9��.܃�U�.i$Zɍ�$��<0�!���Us)#3ym�`�^d'�`�l�y,�t;h����ֈ���n
mF��&}���B��c��m!(�qA���0�����F�u�ָ7�䒶h#��ߗgn�lp-Ч�h*'��[Tž9��L
��� ��Lܫ��
�jM�K�f,͉�kyoMlh`���11,[��^�=��f
��cWp�
 l-���s֎i���]�I�$_)!�vda<
q�K��b�92�J������\�E߉����˱�M�6�;�u
+3u���䆾�ׇВ�n��B���E��;I[����I`��� �f�GMn� ,Ȏ%NZ<D=�����\�3{sGpC
��{�ԭN44�*.a���#��P����T�����8���7�y
`x���"̔VW-O��R�b�-�J�V��҅|�z�L>�3E}�})+���#�ug'��<mC�/^��Kj>N&�!�4LS��NS�4p�dN��hk��b�u���/%
�LTw)��� e��=��/h�Ȝ�fi�u�a����(o������M4�Nsn��h.6W�.�e�䫉 H{��	�'!o�P..O�i
�S�v�e��
+��tM�efF���6f��L\T#S+.6_�<6�u��ZЋ��C�;������#0���{7�R�^��Ӕ��[k�M �/#e�"7�L��N�Q�k�i�`�H �oE��=��<����2��ͧU�֧	B�h����Q���+t�
+u�P�0Fp�K��4#�
^-����l��!����0%�JA�f@��P���� K
DgS�d��Q9Y����M5ӵ=��q;7F=uG+o�?���ڐ�q+�׼�v��WR�t���Fͼ�C3޳͛��t�+f<��SЧ/ޢ��#�">TZ�z�N�P��c��J���d���]h~Q�d���1$�l'p��c���
�U��H.R#�2���
^k?�q�a�t9_�U��A��>"�〳hm��^��d���
^�Ɖ�@�(?��]�\	��P:�����T���e�q�"*	M��� :@N�}<`3��c����G��)d�N=���/V"��
b�7E'#�*Oc��b���"$��Ȕ�q�¼d���z*�Y�%�'l�Q~�9�Ɣ�U�A��e'8T��l�.(�Xr�v0�

J�j5j]P�T���gԢR��y�R����^�'��)��Ʃ�Ou3	�A����g'
+ѝ+/�I�х��")֪����?"]B��k�z��&77uk�َ��q�:0����Hs��څS��n5�)��!|���]�K�ף�	�j�Kj,g��_
�u��n�b���	k�}�5��u��^���{�Aپ�
M���e��R[�_`J���@�ʳ���D
ʿ�M�;O��\��ܨ��~JwU�Յ�`���6��y�Q����W]'_P��k�t��
�,8����w�&�3,��

�l=,�c���'���Ü�ړ�yW1+�*���?]0��$�-���FŌH� �cX]�''k�0PA[�%�h��6�s���x7jr�9��V/�&�X$?�Q�a�K�HRU��qYGT1�'��?��*�v�O;Y�-xB*V��x�n�L���_�RH���m�U1�eZp<b0C� �
�Qr\�(U��<�WP�\���c.i�~G~����f2�O�
w����e|�y�tH��߁�'�=��g%B����B<j��8�v}��3���0wDUw7D�l
�
e�F-c
+RU�~MFh�h�����3�fv%�n�P��~�3uk���"珐;S����c at j��?ץ�1L
)/�pwŬ�Զ	g24)#���.a��
Ū
�4w���QQ]�7����Xmn�
6�
�f
�'���\��
H�
+e��Ǜ�s��&@�n�"
+����g�����b.rR������Ӝ�P'A���AV����a,||�>�Q����&u�o
j�7�p0�B�
���A	d�������N�R* ���6�]�?t�V���o����f��-��/b��C}Nh
��Z=_����
�Z� K�^ASy6/�e oF�������N#�4�ԗ�<�C��I���(D!U�S�줥��8_:������{kFt��Q a1�iA�vց���0�S�H��][Y�-o���dI� ����%�
+�6˒�*8�M�
�R���Yn"�_�rٱ�Xc��%�
��$���k! ����yU���ÿ�b������+%Ui�v����ew@�"V�Da�ǣ��uqЭ��q���j��ް�w|{�5���:gx.cS{��#�2�^��M��J�`Z
+\�?��B`���xV�wZ����
���&�:	
q���ν�p��]A����r}a󀿢�ڜ�Bo��_�?��[�y��"%S���U°(�8 �s��Q�fuA��r ~1~��Qiy`�(?�Ѯ�� ��߯$f*�ڬ����y=�Gi�;e�ΰ���O����h)p��{��h��_"+\eSXC(=�?��)fF�z�}�O&�����ʔ_ElT�)�M���rc��9F
G�@#�
V�N:�����D ����Fۧ��!�R�A�aضm�FH���l���������'�
+ -~8��
ʘ^��'V;������͊�NlaO�|v���I4:0_8%�\�P�A�%SQ���U��:.X�ݐ�
j��K�\��������UE'�k��2?�8��Hw�u�
b���#z��G� U�����3wב>!���\�~�^?��~��Џd�%�Ht�
��PtS�~�B��j y,����]�H��a�~�M7R�$��3���,�6P��wN��/�b|7���Li��Щ������_	�D��S�@p��e�:��֛F4�޸
Ӹ�wfV�	
�
��ko�P�R��ջl��|PZ
+������Ƃ�7y‘�
+���$�I�k
]��{ �Mޙ�6Z
Av��?��u�n �H��L�'2�ԟ*�-
���
?�e Me� N�
+������|�SS��P�oL��TR�[�7[�A������(g���A}ys�V���t�
��V�=5a�&��ڹ��
t��~࠱���Z��<I�8q��]��洜U�vņ��TKt�1/������1Qw�!��Y+�I��S�HZ
%��Z��d���V�������EdƎ(���=��
�0�ԟ�ց肉g!&r�;k�>��A`��j�$��&?q����U�� b��cWC��T��!r�#�
�]�
+L�᳓:��n͉��
0ǃe�V�NG4�$�5`�P��}\OO,��x�5+��$e��B��ᑶ��V����4�~�i�g
���D9����w�@�\�*��1��Vo�Ѕ�r
�K�/�۞pL ˑѢy�
+|�z�ˇ�	��le�Py�F�[~!��X�zl�w�D��0P�MO�����;O%�G5�4̪

+.R���B�:�w�+�Pd>��S��
�+�/7�.T;(It߳t3����u�	��q�����h���U0o�
,��dU�#4���z,B�nMz�>�T~73�r�=#5� (�y��z���c}�V�_�>C�K<��i��/�@��6�0�
z�I܁ޏnS�a9�Sd!2x@�z����qq$�d-q� n�=̥�iT^_�t��̥4pJ�	2���{qb���!�J����\�,ݕ�!��������v�ܠy-�ۃNR6c���_�W�#M퍇�D�4J�=e�s�D��߉
��'��;>{��q�8��%�[��(7��h��(��9�g�������˖��{��B; ��9��C���l�$�)#�G���9��)��igm���|R���pBN`%;ܝ)f^kG'�Lh
�@�11�|�r0�=x��\{Qp�F1܅�w�������
c�s�B��j�Iӟk�QG*�y�Fi�����SGH��4|x��S>hco���o�늋&�[{��d!���vkX_���0PZijQ���D�-`��1kuFA���s5�M��l���rv8�{>1�_��v�S[�i�iWP8��� 0��@���
mn^� k
O�Ky��)��?���C����:�5l�y�Ϯ���Xn��
C�G���k��{��"ï�6����𯯬�e�wN�m�*�����G@�Vʹ�K�V˄�]�}t�-JNbr*5U�[F
��i�,�
+q׼,Vd�ۡ�r+t6W�ɷ�v\��C�F7g�Rcqr3�!:2��Fa�W��RH��
��
5�`6Գ�%g�W;���K�Q��\��
+endstream
+endobj
+2879 0 obj <<
+/Type /FontDescriptor
+/FontName /RKUQFJ+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/q/quotedbl/quoteleft/quoteright/r/s/semicolon/six/slash/t/three/two/u/underscore/v/w/x/y/z/zero)
+/FontFile 2878 0 R
+>> endobj
+2880 0 obj <<
+/Length1 1630
+/Length2 7267
+/Length3 0
+/Length 8102      
+/Filter /FlateDecode
+>>
+stream
+xڭVeXܶ�AJi$��.%���f`��n��G@%����[�C@@�C��w�9����u��1��^�Z�w��

��>��=���z���K���v�MT�G��m� |y8��
�*�z�$� {�HHH� �an�p�����PϘ����_��. ;� w��#�z��
�����
w��@}��8�! �������2�]Y��
������]+@��"@
 
 ��   ��߭!x�� [ �
߅�|� ��7�
w#w�`�n
����
 �!���
��;�����y��awd:0��y ��((�U��������

�9�y�À��[����ܡ
�`(�������#� ��w������?ex"�P�U�
��
m��qGs��{:���?��us��������g
`���/ x��q��
����,�P@��/����?0/�π��
�]��0(�`r��ӂyܥ���T��ω���?"�D������\���}�;��'�e�z� =2��W� �~g �p������l]���wGc�_��7��aUۻ��A
������
F(�}@�:`���r7�?vC�=CAw���]?��0'0��[�� ��������x>5mSEy�����Թ�_7��k���y�������#* ���	��M�?4�:k�z��> s~^~~���?>�:Y��F
+����
}[��ݲ���z��w���wM���g�A ��

(᜙��QE��gH���M �'ҭ���MaH�583fY���2��vD��wz���75���6J[�K�^] 3G{!�+J�k=�Ϫ�(k�8�Jc	�L��h}eHWϪ��~%��?�a�*
!|�F
���H��������k���3���ޞ��C��o�\��{,R^XD��!�HZ3�r�X�5��u��)�DmI
��.�#(�C3���u]

�D�����b�E��6�N�)P9�r�q�~]�,��t�����\��#����?�dD03~i��R���a�����X�эZ��L�^S(M
���U��
�]�5
+��X
��8M�u��7K�uꉨ�wZd;���b����m,�V=�C�B�IG#Z�R%6�Q��̷�7Ei�Lgϡ�������!��T�/��R��՜��$󩲷�
ˢJ�4x�5�s����W�'+�_}�CxOX��G�s�Ԕ���=�# F&�U>��u��Z
���n����\��Yc�t��͡=�iǵ/���3+,M�9|}A���{3dܲT��/�&�7��
��w�_�KW�E%W��n�u��p֎
k�>O��>�G6*�K��x�pwa��.0�ۘw>��#����
�D?�{��ȑ����,�u�fT�*�l�^X;�V�[M�׷��� 
lpy8M
��@���1a��h��Fl
����p/�[H��c{E��#>��'d�uu��C�fF��L���d�ɐ��IJ�i���gR�i/ړm��a��6I��U�ܬZ_������%��7�{�,w����v�IV��r��q�a^�r�&Sz�bZo3���%�8*L5�c�X`p���i�k [...]
+'�cR���uQ!�©�J���S�ѕ��G̓�a��F
{�_?[�T/F߯S�1n$���م��196s�����-	
F•��
+�#K����f������ۤ�^tgN�>
+.i�i'J*<r�
�����_��+s��w[�0�[�~�j� "lĔk�(l7}�-��׍6�\)L�
�
q,b}���Iq�)	�Hq�7u�3�;�\
I�����y"K��:%�]KrÙ|���p��a�૬3{�ۗ�
+e���
�x��i�\t�F�G
�Ͱ��L#����+V��~!:��"m[։�}���u>O����h2r�[�
�'�õイQb��n��]\���L/'|�{����s�aʾ���4^rI�
���� ��<���¹/���V1ZO�L�]R
 )�B����n��'� 
���'�4�f���`O�m���+_d*�GO+��F����[|V�ib�4p���
*��ܼ;d<,�=Y�r{uh��Ӥ��2DM5��������G�a���'r����ϝ��MH����CS�/fZ:�Xee��#���Y�ىT��4�Om(V�},�G�޶
��
ꎑϪ��南��H�曲$v�Ҋ:�E0�ޫ6
�
+����*]8SV��V:�ox��v�2�	?„%j�{��iE{~0C���R�R� �O~������).��寅�l
(��D!�
+����pk�x[�I��b����z=Ʃ
E"�jYùִg��CjV�I�Z���,��fcJU���B��ڳy[��+�L�_�����bd�W�6�.���Q�t ���?R��2N��Ӟ��Q����1��w�َ��I�iEW,��E$����|��%Q�Y�;�3������䧂ki#N l�Ă(܇�r�a����F!��^
+
B��ϫV3��(��vY���}G�!�T���x���Fq��p풭w�jHEMV�|�
K��4� ���#�6i�!F�
�ޖ�-%e�hc���ɐC`YS[���e
�ڋH�P,�l$��\�`+��ț��v����K�g�j�	�6@�c��=J���O��� ��"��9_^W�ܺ�-��
�~t�s8��[��:��+S
�V�6n�̰�Ya
Õ�]|�g������J�P���t:9��4.v�I���#2��L����jߜs9�����}�՛x\���9��M8�w퉪K���{��)�&�|�NZX�Jv�H��y_�<~c�<����
ˤLh����F2����n�g�
ʧ��
?��Kfm&L�׹A���(ʇ]R`��  }��9�L��Aj�Y������-_PI� �[c�A��xa�^���84&�l"w3��%+3���l�#�ԭ"*{�n�/y�ɳ5�`.�P

Ǩ����
z
+�'G쉪gQP�i#��q���Ӫ���g����>�����'�W({�F�
}@B܃�H��s�ذ��2��4��5R��
L-�$-P�-�-&�!��H�&O��{S�,�
	�օ_�
p)�=��ސz��z��@Ss">`\8�QG�d����*<�Q��ךv�;�:-��f��5j>=��>o	��s�]�1��cJ?��rI�t�#�\���$���I6�c�������%m�zkf����&�T�{�,*�o_��{8I|�&��-QQ��J($Ī;�`�T5��0[��h�
+���5Y
�d,���--��/k��
��sv�L�m͉��UN!���l�O�H�D�D�.3W
�S**��F��
��ه/����p
+�?1y�2N��~��eB5�	9,���VU|	‘x
�*S���$���/� l@�p��.]򧱁��5�
�o��cD����� %����[���BO�)۸�w(���Q�qrb�ti�=9�X�
�%C1&m4�x���IkRL8�DZ!���{D�`�V�Qt����۶�X�
�(QC���Þ��JQ��G���2g>�,ސ�@k�o�����Ҋ
��CI`p��V�2��s����
�9d*��U �4z~|T���֕O��q-z�$��+���/�G�-H�@h���3���Xc��W1C{	��u~��,M{K����o���Z� ��y��4k�0`"m�^� ��b���6
�
�����/a�+W�6��t��>J>��y9�������O�V�fJ�͓Z�v��q�G9 p��=�;;"��7����O	���F���{�ũՋ��N��_ݑ� �S��_
+e7"
��=ۥ��`�+�_���ޭԸ�B��
qi��:�)�^��,3
h��P
U�0�kT%#Y�b�
.�| �T>5@�� ��䙼T�x�Q����H�j�� O��9%��"\o�}b���)�J�x�GK���e:~��X�e��~�w�tӈ棇b�.
Y�*�Wʍ��#��1]\O�8U�d5SPJ�S������B鮻Q�a�cp�/
<�<[�
\��p25��U�e�kn�E[kX�%r����+a�TdH��a%��e�d���6*
+�qQ�@{6"/Q�\��

8�`e ��ɍ�LИB��o��ex�RW�V,s�,��e�f]NV2�L�y_f�.O���L�`��+ڥx�Z�L|
��� Շ���g�
7�h��0o�Qm;�ȧ��*8����J��f�o���3>���>{���c��!�X�Jrg]�����d�Fse9g��?34����a��"��;j�SW�R�w����
g$�V�9���EC'?*�;
+LRi���&�$���@Q��Z�����r[�
���֮[�@������{���~���X�]�Fl��F�
���m*��-�}ȿ���p�f�Zu�BD�>ˠ�b�8?�wByV�L��ӵ�����y#�L�-�΢��n���P��0,��g{>��N
Z�
�
�	4�V�ȵZyZ�}R]آxtg�I�3�m6�Y�Lُ	�‡U[[Ʒ��f��Ol�m��N1���ܨ�p�����vl9��d�E��M�ӂ@�t��(�$%�o\"�`�rĘɊv�Q��YѰ�b�:�\jb�����KAz?�^�2�>iL}λ��3b
�/�~�r�ھ�2t�
��û��i Wܞ�EQ�{����R
�x!�fȤ������Ps�#r���P����\8!�E���>
V�3�8z�@�L��
�_={��d�'&��D �fҰaY��!��
+��S�k�V#]+���,�	�{SBy�_���פrN
�Z
;k��:UĞ�`�dBo	$`����xюρ�u�
D
+_θwc,
��ji2�>4cܜ��5k�r���O�?B|���X�l��B	��_�>�f��+�,=�uߠ�k��s��[@	$�/��;��ji#�Sl���%U�i��|ǀ'h�Nj8��yW�C��J
+nkz�b���W�
+�6��k�_E�!PR<�k�<��8!�^��V�"�4D"+��8؇R�ᶡUF}�-k�a�����c�8�'��D�b���HeJ�:e����W	S��Z0��2�]�A���Պɦ¸��%�������pӬ�{M�.ѝ��|��Z�-���F���~}�����bX���m������M?�x
'�*A
gi)�*�6��ӛ�%�b�&��w.����	'0�y�t��\��5_1J�)t*�B���z|��}y�g[��~���
��7E�,�\5T����~�v'�ˬD�	�&�Z#��
��;�RQ�<��r.޳ˋ,�5��Z�΅d/�Lg���t5��yK�����}
2��<�eH��C�(+�(M�{�Q=���qm�2�L�8�9C�Ye�;>+&�&J��W�r��
O�L;� �u�A8�����7�����F�r��Ԇ�Bb���dM-KxN?c[�Nbţ��GN�_���H�+|��=�Z�-�e�E��%�b
��7�C�9$]�컖��s2b~�G��5���?+
[���b�Vi���p�Gs�#EfC$��%y0p�4��M�[��ɠlI(���F����uU�Ո���%���0��A���l*W�GL��g�N��챱���sK #��BIBj�3��Hq���]����~
Z����.�<���*�1[-��ilT�
я�i�
u!G�8,g��dQ�?*SȽѨsZ2�<YIj��覤^��_F�)Ғ��������l�k���'o��@C>:z����i�E&����W'�7�_��!P6�&f6�otd�5ig�|��(
����ܤ���
,sJğ�3�;�����Qû�7��
6����3�	�
O���
+B
�x����
+f"��nH�C��Cþ���+|J��t���A�T׽�
��C�~
+	�e!�<�]�9�X��ؾz1씯Ax��M�+�5���y�
+��qu͕!9�LV��3g o4)����*:�׀�F�qU�C�����;����o�˫�M�A�*�]R�D�"X��P�6
�H�M����E���z�+
�g�8�t��|����ع�ǩ��e����k�������{��2�<�hK�ӳW#^�A6;I��D�v��P.� �pG��Rp$���"^���R�Eǀ ��I���B�-����Y�^�ߥś�?�`�w϶i�;���>R�E5
+� 1׼��ߦ�
�+R�x����dҾ�U�"i>�d�o{6�Z��&[��th>�D}F���ok
������o>G�.���$e��R��'��D1��U�U^�љ�_R�h��6>M��2[��O��3��8
]��.J��OH���|KON�q����b>�홾(R��#u�x����f���J���#���0aĞ��x!�Ѕ6CWy�(#oF
��FQ���-����NAF����b��&����~�<HG�(z�}!ca�z$����yx'��� ۜX�Q�*9��/O����NC�-E�wfD�t/
cP	�����>K�ʡ��ܣI��^p��t��-Y����K�
;eS����zVٶ-��n��\�q6�l2�u�<���[�VE��Pىi�vX=��Yt^�{�23���{��^*�
��-�
�	��B��O����C��U�.��T@��7��(�����
fZN�ʪ�$�
��9^�'���� ɢ���N��A���&{ �ހ!{
L��
���)��1M��޳����ߋ#_�����
���
+��ͷة���ĮX�Z��鄇��y�Fu\Un&�|Y�e��R����q�k����E>��i_���OG����5��uS�/|�
y�7%�C#FA�2�x�ƭX�3�n^����A@�;t��.�MRy;�p��'q�H�N}������sl2	�q6 �:ȡ�5ǽ��
3=I�f�Pk/��JZ�Ck��8� ms.�U�}m�)*
�z��l��]r@��&m���Ƈ�\��A��g鯞MFl�$�ml��s��UP�=�Tb��1��S�P;9�G��t�r���4����9RGu~�7�X/[_AK��g��a#�#�X��U�$��ۆ�	�k��_em�;��bhd����~a
A���=	��s�N|��6�K�e�oFV���m�i��\U+��Ic�雷G��&����I���7�W�r}ۆ˯�R�2c�	�>P��
�G�x��
+���������ҚԀ��s�������vp\R� \�)�lm��Q����i�˜���p#=csm�����!���o}K?�ӷ
�zI�B!�b$�����?Z࣭f'_��l؊
��
��U'+k����<L_�5rA�j"�I�˪c^U1�
\��h�ǰw
��/���|��}e�=�F���9y�CMS$�����h��ssU���'/��@Ҿ��@��IGx�pu	��A��y،�)�~
R�ʗ��媰���­��2�A�1�
|��sO�z��\
I23
J&L/���+�����G��K�~�
o��Y�
⼞��&�����5��!R�"�-z��I�Y^g�e��0=E
+V{��
��>���^J#��< "ؐxLt�t�
��?�$
�#!u&�ce��j/X	LJo�t[�BQ��?�"��
+�bʦ[Im� ~�&1|P���1����α��SʦZ<�X�ttHV�ldJzCRO���y
qy��
*͟P�T=�[ǰ��W�J��m|�7�;��e/d5�R�]��{��範��N��X�|�%Oy��*��+�B�Ζ�D�=ꁉd�Z��}���+�\2����jC�J
��D
+�eܢ��u^7:>O��NSt���t��S�0�<>ay쏆<��
�ͷ)X��NF��&�6D�g���q�R�����D64>�|e��k[%{Xg�Y�&e����&��s˕�ۛ�7�so�� ��z�̗���Y�4��aPFL�nق��X�ꍄ���Q�K@�lbb�561"P�|x(�3�{hp��^
�2���>oƠJk�
	��/t?R3�����׋�����2�M�ˈ
+�M����
�e�����^P��T��N?�%TJ���8�[��{m��NO���u�
�ט���
�J�9g�Ο-��n�`�HZ]m��c��c�w��%�E4Q���(cb�.j&���U��_�YZ�
+endstream
+endobj
+2881 0 obj <<
+/Type /FontDescriptor
+/FontName /JOTYEC+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/a/b/d/e/f/g/h/i/l/m/n/o/p/period/quoteright/r/s/t/u/v/w/y)
+/FontFile 2880 0 R
+>> endobj
+2882 0 obj <<
+/Length1 1626
+/Length2 16490
+/Length3 0
+/Length 17342     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ctf��&�b��m'�Tl۶mۨ�b۶m۶N޽���O�?}��랼��=�zH	�i��l
�Elm�h�� 2��Ύ
+��2��R���F�o9+
)������������1@�� dl`b0rrrm��
�M͜ �
+����4�%��`��?5ߞ��6 ��c+[;kc���׎��� '3c����1 at PVN]\F@!*�
5�1vз�9X���
�m
�)&� � ��6F����H�
���p�364�v3v34��GE�3v�6wt�~�;L
�m��{�d
0�1�r6������_��
l�-��u���l
�


�� �Y�D����L��܎��j��ɷ�����?%�K�
�[�on�p2vs�'��1�����J��;�w0;��pv4�1�/4 cS}#+cG��0߱����	�ߪ׷��r�����s'Gc+:F�N߹M�m`���q[ #ÿ�F�v�S�b��Q�33�� �lm��F�&0�2�N�)�w,������@�
��-���#�?9��.�������E���d���;�d�m �{ �g�8[��\�ͭ������Z���hl���S'���~�oZ��-4w1w36�3w24��[}��_re#c+s�o^��R -#����
-m�!���*c����Mտ��ˉI���S���
徇�I�����(E���
�	# `��ed� �2�0~߽o@�l
�����
+��_gi}'s7��w�
��������a�m
m��E'}��I�_�Ԇ�����W�?���ycc7cC��E[C� �Ԍ4�j���q!��nF��`��:��<�J�.�԰m�2���`��I����S��}	���nt+�d��\\obʞ<�
�6v� z�"��3�(ϫy�-0
6���qy���x�m�PWO�~�.y~�$�v�>�)��h��@����gd	�O���#C�]7�=�8�Y�Ф�.`pd�~�Y8�4��<c0B�*�Qt]��N}�N]���@vڒ�����+O��Pb��$BB�xK�F�M]ax�O�<�Sj%b���M���
+��FO�Ӌ[�;������4d�6�P,qC��nb�*�B�@�eH���YNx3�IL�

BR袧�r��A_�$����!A�|H?��8G�z
H�����O�7��� vT[����՜A�ڢ52_鰱N18����I�k
�\�Ax���*p�
+{��e=�
�Ʒ�k>!a,Qfʂ�ĴɟI�E�f�^��E0
��WR����m�GVwRM�B�:K}gfBB�
θ%&��F��}��r��
��tܜ:���^�6�A[5��	Rc%c,���>}�&�
Є���h�Z<��ЄNqI� �b"�<(�}�*v����н&ad���'W�P�W�nc�	m�3���+�
J� x�O^e:>��<���V�0ġbޭ������	��YDg�<�U����h�`����!
+�:�9A�M���D��U�?cF���e\I����r`#�
����l�1L�q��S�Z�� O�u+�%L��S�U������JJ�x��g��
�;�f�)y����j5���N��{��P�5
���K�f/^���G<nyA���TQ$w����G4���h#G)�YsnV3��MLt�h�KY�3=�
��b:]��K��2�'&�%�-�}����
��
O�>eb���C�� [,N)���
�o�\a��Tg�>�d�����ބw�
��Qn�]���mk-��-���6�0�(M�f�h�0<��&Ŭ��_����|���"76-
�r#(�!�r�)�Qt)Q�GO�:�H
dz��-Nt��Ƒ�=ȥ,N ���2BPv�`��Q��j�6c��h
�U:�U�R��l
+�֞�
��;����
+q���[�l�}2<f��
M�Wx��v��q3�s�����>]�
gP-3rq�#�
���u�cS���2U��/(�c�K؊Zq}\A�d�
BT\�&�P��=����DѠ(��<��X�5
��RzM��
�$�vU���/:���ʀ,� w%8�)�*|j�_�9/�ݮ\���
,�|=ֹk^Vj��v � k�2��#���l
e%�c���j�z6y�6w�_�U;�^R�����r�����]�K��yV��t��
+H���N��{x��
�	�4�e�X�E�4�0.m����ܛ�$_"�[ub'�
 Z��t"��[c���t�ؘ�E�����s`
��ۂ.�����G�p`�)�j�-e\*?��_�4�p��]H�HC`����0�w��*��Q|�&�5�J�����ڭT����8��a%��E�����
�,�H�U�?0Q�p>>\`��dB�!�S�.܋g�])̯l?�&2iN�0�_{P9Q�*XYA*xKL���2���cvUԷy�.��.�4��_!f!�C	���Y�C�R�*�s�8F�-/^�I�?� �P�~:՞�}�n�����9
׆�"EE��;�sW���
Xϔ�rղu�vL`����ݢl0��P�w���!@�F�[�~�;��>$f${�P�g�(���@�W�]�N2��K��˕��ū�
ע�
+�p?��_ۗ4_�{N��X��
���j�,�@r��
+$��;h��ʡ�5ƣ&m5:��*$�
h�
KN�
p�+.N�c�2ĄPR�d�o��<y���3�*�)�PSI(m
�b]�������.��28���v�!5W{'���Ř6[P<�7�X�
+A
�����H
��(����gD������	
��
��Ԃ�%[�<x3�&�V9��N,�h�,�b��T�2?[tP�0�f䎋���G��P�]�:�q!��O?�Y����6H��~j��6,��]��$k���
+��!�P���4�̉��/��{äT�7u�?�~�=�
제S�l��Q
�w1�� �O@f=ᯟ$>�v�^?D���?ф�{=�gF�f���HT#�*���Q��Q�;<��{ 
���Y�]c�
+����E�Ԅ~5��7�߱'8
a�u7j�_
���G���9/7������2
ޮ~����G6��`���3T�=6�KN�R� ���������Y5��ĘK�Vo�p��L���I^�
+�״
W�+_^b�D� 
="�'W�&���dɞ��t��@�{�UUp:� ^C�A
�׋#
v���b�j{�GC%,�n;n�e�Q�LCV��ĄF�ہ�!��S��4�&{0P�
�YK��G⣍�Y_i��,�ѝ�#�v� ����t1k�]"B��6�X4J�Ƞj�%5�0�6���-�t��bZ��\>`
�|	.���+��Gd���=����/U�}�1�Hz�`����л��	i*�6^:@x��Akaf͌֝��M��p+ ܢ{"*<u�U�:~�Ȉ���GP"+�g�	O�����ȇ����r�)�QB1
�I�����O��^�h�-�}PA{���"�`�׿$�C�h
h•����&����~�G�!�$���eD�	��ތ������k�<8+���Tt�~��h�ˌ�5�
V
�m���o�k���k�f�����	wA�抉��0`�����X D��/�Lc
��?��4%���4e �Y�4�����l�T���~�g�����BvpC
αbQ+&��+�!���`�J҅��ӑ��u}+��A�l��[̫�t�����>���\�w9����	:�՚�A�_��qVU2�e^�вQƺ�{�͙��p��>���9c�xUY�	����
+IiDS��!��-
:� A �n��<���v�E���:��~i�m�X�������
��[��p�����0"eeh��/��j.S�%a�yp�ڜ!���N^� ��y����}������Mv6��c[�ۿog
3(�/�����4]V�s2�i�c���\�@Bl� }i���+|~�f�,Y�����T�}+Xa�N"�A�]-��/���6���
+���a�!vթ`
����I�z^�W>��Z�9��>�ss�x��6k${z�j�=���lՏ��FiL�3S"���աg�1���E�u{e)�'�3�c�NZa��f��
�غ}1�|�Q�
+�b�:=�h߭����V��*?���_�Vt�E�d�c%�G ��1����	�z{��T7lx�
	��/���
���(e+�����)q�'K�1��"�%�S�
{�I9
�Y��C�?���U�Pɱl�Sef��
�� WAw{iF5E�������19���R
h���
 �2
��Z~�ûLq�j����>�!]��LAB�ـ����
 �H�x^
eV\��=wr

+b
Jy]W�	�ئU(��
�Q��º`�ۆ(�Wa&|�g��1�w_ćh8u����cD'	�̣��0E�+�©����%=]a�.[58
+�D��U
ś��2�{{��`��l���.��D�
b���w�Y�B;��0,��p�M똚���� L�p�!�@����0�Yj(>׻?�
0x�_!K������O�J��2�~)��%涓hL�)
-��8i�
��IbD�e��9��<qs�t�m �^v^Y)xNN�;�
�jB��|?P����<l�#
�!G��2��]0<��./D�T
r��>m?l�Eb�1MG/��l����Ӂ��o�_���-s
+�s^�����{gA��_�R �&�,
+F�?e�Oθ9N��#�
b	F���oX�l����~3��,�a�2(�X
��Ku��8�����v:Q��M��Q�q�Z
Ў��+ڟ�����|!��-F$�ގinz�v�P��=��

���1
	��5y�I'E
6�pf�*�,�%��s�@�y�7���� �L�L�nq��c{�g�5}���s(�*e.�]Yd���E

s���,���^�m��i�N�2�)�N�f=v��'љlypꝔ����LFt7�Eu��)%/v��Rj�{rmjA�
+b�{rD�Z��Q��r@�(N-��#�҉�s穷��Vj��]���y���q��?����7	9��0��\F>	uU
�e�d(���\���`t���zP]Fp��+G�q�q쿉���@A�Ġ�w|����yՉ��ȅ��}t$����d�_���s
+H 
�Tڸ{�w�p�!MXg�,��iμ-D7�0��ʙhҤ�
�6���=�AY���/����6?�7��
-��-�Л2:*��"�
r����a:���َ~��
x�ۧ&�>/M��}5Z����U����T��X�
��-�Gdj{�Z!MV�5�(I]f�QKd��Jd�i�J�@a�Az���8���|&�1��MwƠ� ���`�.$us����
+�>�z%��,���C u�䂻Kh�!�oG
Ы+�zLy�@��!?d��e�9�� ��U����_~��<��L j��g������w��'[��k�ބ�� g�L�]*�K��]IWGsIRn�B�1��a`Í�Cby�IswD�
Q�
f����þ�&�� �c��a�	پt0�2��%���"~x�+y�C:h5l����x,�{��miFA
�u�ޥw#����cf��`�B3�L�M"~��!�]�!�aq���,�;��Q��D�m�!���e��!��B:8�gY
���%�}k�'.V�?Y�!�-���e
�cC1���̋��LU�ͺMY6
_!�
���W%ʥ��6���=����^��!!�D�M\��AOQ\��gq\�&���v����<����}�P� �sPgC���IQc��}
�%
+
rDX5��p��覯Jz,�8§��5�-j�0q^-e�Y�����S��-�:�峅%��S
�Rg�Y^b*�v�C��`�q'������������|����
7]z�	�ǿ{Mƥ-�,h+�,���׭�ai�P�4����?z���.{F;/�x#��1ReT��se�8����S0(F�%�m�l��N(�����z�R9�
���C��ʆ���
E90yV��
M��JE�Q��>#o��~C���;ϓ��I
��-�=�³(W�Oc,愤�pK{ug{>d���@R`���"��R�-��
��0C� @1΢}\C�C`Z&�NK^-nOt\�ޱ�8���c(��2�VJM�ͱ�X9�y@;�e��P`'iGU�|V����BA"��PBE���O�o[�V�&���kk;rR@��
��6�����ު�e��"�"U����=�!���F廛�bRbw��HF��(��
+l�86�a�����N�4�L�)�Wn�PP
�cO�p_7�DŽʝ�0I-��DH�x7,
�>�Z�w�i`ѧ�	RT�S��V_h�'*ѱ2[(�U2'�`���
+��
X8����T�^�c#���gB�+2�/՟&m����&	�����ϼ�
F��Ҋ�\�u$�&�N�8=R<.����$M�8����N�F _/֝��_�b���W�
	�yh�S�n�=;M���k.r�f�i���X�R���J���i3qq���Q8�r\Ȕ
Ru��@��}�������;�p�:��ѭ���MAP��]�@���Gyd
�͡�n�r���L+���Kֆ6�".���������
�Y�W�h?�w��o�[1���?P8�x�sGН.hWo
˱7}��O�h@|�,E Sd���">=M��@W��nb��Є\���-�7�.�^OV�,����
�a|6�Xsk����(�� o�Ncf���z4�2��x
�sLd�0鬄ܛ$m��S���3�~r��ρ���~
�[zX
�ݣ�~eQ	X�����&W����C5�8�uK�Y4���'�
�N�
��}[$�K���
���M'@���֢T�_�(103���(�8�3�#ez�H\= �g��ƀ���{����#��]�빺�|
p� �F�hz4���,�5��WI�@w�)�C��,��AQo�=ɎL
�,
�?e���S�?��/����������a�ސK��E
�bp�
+&z#f�'&Nؔ�BKĨ����ӱ_�k[٥` 
]��4r�,J��Q�`�m�I0
:B�

7��(�=���y���M���X�9�.UZ�>8��g��o��×���(1�p~:.�(�7^�# ��*��ß�$��L%_�5v�_"��{�1� ��,�~��u���`�"l,hः�RRQr8R�^������~)�F&
����r��O/��9���;�04[�H!�$���Ao`�PR�X@õ�F�*{֧�$I����>B�f�m�r�0�5����I+���>
}_��5��׵
��[L�JL��Tjg�I,��J�
��j|v�21��w8��|SE��M�T=�&<J�5��C{ï~���&��M*�
���U9��x�Kn
�)��11K� ���,q	�S
�u���L�OƔ�0�Ͻ+?7}M�����/�2l
AD���e3�Q��V%
+�����%�y"��^{o�2f
g"?�]���SZơ:<�Z��?��w��CU�$nuY���X�9-PX��:�
+�ȃ|T����)Az��z�'@��m�@�f�R�(�Ckr_
�l�A_~�(��J#�կ�}9!�/�Bg��cw��
+
Nw�a#ͣ
+"�N�	�V�'�
�е1Ξ��t�q9���A�0-1�6�=�bѩH��4m�k �
���Y��ﵚ��4W��Df�3��b/D 㵸�����`�.O�@qKP_z;��p���"���DQ�
��UF=��, �>�'���ʥ�xZ�^D�8�P�g�o�&`��q̘|�M
��z�d(��_���DX�kH��EE6w��"?�Q�\�����Y
���O�"�6
q�|�W֜�3|n�|�Έs'a��\b���
���r>����$�^�|�O�
��Ѓ���2b�Ə��jCr�jG���%h�䞻�K��)I\@�C`LE]|Y��<������p)�k���Bο������<������8>��+E
j��e!͙� x��&SKm�4�e�_
զ�5����/�x�)>�H��/2�v�	2��e<S� R_�� �bj�|��[��<wc]�V�Ӡ��'	2y�ᵇqC�ϙw�)!�0���$R��6�1�[���q�,
�T�/P�E�
+n
$�ؖ3�F
�,����
�?N�$��ٿA)��4��b��9~��q�ov-R,�������_&*|�?\��
5�SR�^K����?���+c�1�6-:������*�ʯ�Q��O����
���|p�gH�;��U�iG%6Dt)�� -�B���t�d���e�Z������)�C]��٣�j�E��(�)
����)���~���k2:��$�<�@�g��n�9TW��'�ö�@GX�����ę�q��Z�hsCUcD�o� �!œ�
��C!�L�Uݦt�'蒘��&�
x^Jf��Z���O�hn��r����!ԅ�lV��k/l����GZW���"&yB�������t��'�������2hd�]cw��UF��ӭqY#Y��bT�bC�=���
a�p|��HU��s��"V�K5�i��
�NcS�Wcg`�C$L�}uZ�p0���d��˒��
'
�0��N d*��4��T���"��lc���

:�����@�φ6�r` [...]
�'!$�Ui�l����n�H�ܕ
+���?R��`�
v��@p���-ں�^��a�X$�A�*�,�$�FsJ
�`+�
3r��F��Uq퓥S�	b�Z����!8�e�q�����4�@e$�ie�l�s
ث�t?YX��1r��l.q"
Z*ou|�
���~�]�!�"�Df�
z�9
��7{�f
6=���
�/�	J5����ro�=
��7��u���b���m��oI
<�^�R�_�PEtʙ��x�Yٛ>?���O�����V���=�]}
+�o��|�c" �i�Do���Gw:�q�`yޒ�No���1
ܠ��5��O�II	
Ϫ����(��
�K��fڛ	���J]�H�x����-��P����t���
��:�9���V��;�5%�e����ܤ���-1��:��1�R���zak�N�,$�_���L„�\=�#
'��[=�N��o?�C�
�)_�u��o^�{��0m��M�C��Y���f�%�I�3Tx��K\O�
w��OJ�4��R���U��T�n����5i
=���A��u�A\����d���
���(p��؏!�~�5��r��R��X�c�la�*���U~��"/\���_XjL�*�T��(.�rQb|OD���.����h����^x|�:W��+2V�8�k�q��',���^ئ�����r���P3�:�|�|�
��&p�N͚��I�ЎM"�I�KV8�ԕ��k��?>�j�V5��|�&݊c�)�2�F:�B��)��I
)<�y��Q�`�
��g[��z��?�z�~�f�����u7FRܗ��]K��T�
+f��
���
��#�L	�r�X��j
��}I���]U��=

�4��D
�/���kDp�
����j�橥��נ�I���1'M7�
6� =�s�R��+�`��{kl:���
ߛ��E�NC��27n�8���"��T���4��ߏރI��՛3ሰ"ڃ�ڶ��u<��T>y��!���2�����%��
�љEn<d�L(�_	�CF-ϲ86c���g�Һ��S�)���
�oG�_�Kڀ�M�x"�\w�q�i=�GS�r%5B��[,�f�I{
�C�'E���bw�0i at p�ƻ�̺�hR|�b��}��㢜C~�T���w-��
e
��х��y�����K�oo*
�
�ѼG�
�
I\65R���}v��SzWy8���T��)�%|�����\52��FO�ͥ���)�#ۥR�+��ML�`��W�J�����G������hB�AZ.�
ZT@��(j�#��x?��t�]�QC
m�Y��
u��a��4.ԘCN��bʰ=Rz�����
!�DŽ���"�b�Ϥ6M�
+θ���%�9��{j�m�FIHk�l]�>�G;J�#R��=�t-�*�/Ǭݴ4)p��s�a|��]��]j�2d�o������M��gM`��*�P	~�H��J�d%d%oк0�>��If�`��A
1���
��$�z�m�?<5����h
?{,)=�G�)d5������ק���'=T~H)�3y��,R��C�����[���5H����%���e��9r�%j�
U�%�m���^��&m̟(�
���q�@�K.��NEPb����K+aV�<�
+֭�<�Q�\�mt��/aGD��n��=�3��*�q��v��7�X"r��\�-a*��'�]�
�]�3�9�����1����5���2A���3�B����<´P�Ss��
R}/�8�5x��0=
���+�oŚ�	��hce������P�?�D6�K���2����.�m���[[�흨�n�	;��\�H�Qd
K��*�B���<Zk�}�)�_�]��HrT��������oҢ�}��Q��6�R���u5�ؘd!�|hkx+�%��:����X�f	L�*@v�ˮ��RsM�Q"����)�c2�ڱ�^$^M�0�e��ZP���3\��氺�D}�v#��
+D {��W�M2��9
�A3�\��)����p�eȺ�
T�g�FW����i�a2��	�riJZ�*΍gZ2�!O�
D�=S���%��.�`�S�]��y̜�x��`1��UKۭ
������䢝r>�u�J_��^Ʊ���w"����EQ��m�-;�z_h�5������w�)�V(5o�ނ����
�I
��I.��)$�����@��!G�5x�(
�8y̦ȁ4�E
M���O#�ܨ�*��}���V
�̳S)0p�ƣy�@��,�
Q���*��n�I��]j
Y��N�k0_�O�����wy����;��h�g��&��!䡼�mE��B�K�5c�z�=$��э�6=
���P|�0��e�s&�hHR�[��+�%���
�fb�=�#D8�px����*��
Q&~�l}O�,
a�sl
��
O��9�̅��Ln�`��Wq��z�9���:�sQ6��FMa�ޑE�XE����V"��4]�����I�`4�ZF�����`Ƭ�kZ�
x�
+�<Ŭ��Y=9�)b~�7�F,ZYtf�
i����ʩ����
��W#�˷�Ԇ|e
N��U/n:��� �8�D�=����!
+��J4����o�80��!̐����5U߶�!��֔d!���p�!�:���ys*�
ra��~�:�&�	�+:x���g2�:�V;�Aק���
+a���;�QD����s��t�>N>�
X)+�-2�:~�5�ux�&�Yţ�8]������ڋ�οP�v���w����H},J����i�,e�s2��
�C)� 
+�zxdv/
�/��ٝ7�s�ތ���!�O���7�vR=\���;����*qpwX��sG2�p=
탺�[���&��zS1��*���F��	�{�;)��^�(U���o�	�N�TB8-���le���]� 2�L
�=
LOR#�ġ������5�����жo*���
�#��,�N����qdV���@��_m��Z�d�T��������
/�no����7�b�7�,%^?RA��D��+7�[]ߛ~�
Q%b5�@u�\O�o$(x@����>�j�
��ˠ�cX
�t
�d6M)��h�GB!�
��$�������U�_Sތ!FS�FXx9�t�CV9�74��i�*��m�R9*O��p+.W1��K�ֈ�BԔ�&����T���M�(�R�|S���d����A�@Gm���b��Rz�
��R��b���������krh:W��B9���?F��
6Ik����>���d-O���>�w~�3'	W<ɋg�]����U)�%���Q�K���=���
.�zx�&^d���
�( ��\� ��[�A��⍛S����O����p��Y6O2��g�ͪ-�g��>mc��Hg��H^W /&P.3յ K-����1��I{���%���@_���*�D���Y	�� [...]
����{�]���J���ޑ���7�ȃ�Rf�"gK���DY��?M��>�Ë*�U�����#g����Z��H�L�R5ë!���ܞ[��.K
+�ޓb���J(�
��_�i�ͥG�+	�.D��)����?�0��������$�+�[��wi�R��'�����
�N��������2�KԖ�RR�g~.�2Ɂv��UT��sh
#
�'
�}������Y�e�?��=�zC.������s�.:�=K[K�e�1
'��9Em�<X6��sP�����:�H2bӨ`�:��	{�h��D [S6/1�5ޣQ��S ��Ee2��

�X3Q�Ś)� '漽I�.���цUb��_5xb��_�C{n
�r�\c(
+�
+���yr��m(���t�r���Q�@�^ʒ��`�������
۽	_#�
��֙5m�}��&�_�W>��
q�
�ȧ��M
]�@�1��GMz
T���Na����K��GI&ŇH��
B���7�Ys�X;#*k�XgG|�E�
tz�1H�ΏdK<��Ab��
���f�l��<

|h��
�
+���<�u��
�e�[�p�l�P��h)/F� {��:��������;��uˀ�E<�+�,�xӑ��-\�JL��))��0�A#��h.��%�^��
�h�V�ҏ�d$���F޿�2{���
�
+n�8Ւw ��s���!5{ہ~b�F���I/��d
�s3�9𳭳�-H�y��±K��u�t�y��릫O��Ϡ+i�lkdZϦ�Y�%UtF�m ��K�; ΁��{��Z�m�f� �G>�
�R�	3��e�� &փ
�m��&�4�z3F����?*
=�o�;,#1�!e�d�d�#��<on82H��?������� ����}��Ơ��cq����-�ь���x��!H�	��)ކ_
O�w$#���L�����Hx����;��/������z+͔�˿
+@�d:�,7
�B5��s`?@Ֆ�S��F/��m�}zo6����D
�ߠ��-��=�.x\¼.
ds]�
rO��y�fd�(�;�v����F���ՓL�
2�^޴��7�D��m��ʟ{=���⸍��1���U/�9
+��h�JhA����5V_Opk�O�2 ��ڼ��e�T5Ɠ�}�M�
r���#+m���x4-?�&Os4�M��;͐� >*
~�����4wn 2�`�A��7�B���������`�~��R�
n�,=ZfA�l�
��.��<��I�lyiC�'��
���-�=�}	�3�b�j<IU=�`��x�!n$��
+^��~��|��j'�
�
0rz²�C˞
)���?[��_����L��
N%O!�|�j�ⱑ����Pݏ[z=�!��~
� K$�޴ 1-�~$bNx�HŒʶ|�e
E&��i��S)�)��d�G�z��2�c�XT鞁h:ז��	݆=t%Uȡy��r�%�d��}��76޾#5�=�xNojF
���S1��`F'���x�v���Ӽ\��†���ʐ���/�+}V��W�e�	�@�
+�8�)'�b�7�����
�=��\{3��>�7+`��>�6�Ȅ[amF�Cv?�\��+�i�s�Uf�ǿlv�H5��w"��c���97U}�*n�>�6�8�/ �J�Ϥi.�W�b	��\i����wd�4���ķ ��A���zݩ���ث�Vt���q�S�J�P�p�zzc�P�x��X�4���~���u�D��8�:!�0�
+R���|
dA���S�y'�tK�d>+&�C��W��5���fB���ol��cr뉠O�gB���+tP�M:�y��c�m�%}'G�,L�u)
�PҢ�C���,���I
�h�� ��Z��*LF�v��*��x��?�I�� ���k+��ư���4a<���e�R��
G�阑e�����ّ�\��IP �jDW�ة�?��`q�\�Wi�0o�h�w#�^p�/�v�R4d��{�e
+f�t���&�e��$L��
�,A	�Ʈ�ɚ��L�G�#��0�`��ج ê���f���
��Fo�T˟?�%Z>�JT=��Vl=��҅��D�<�}y1g���9�м�)��%*� �R�Y+�]w�6Ium�F1�I!e�=��?�;*1��)�=�f�
ۄ�)ɮ
�~
,3_ R6$z���A��gC,��o�0O%�XeL��ٶ�os�
P/�~�|�PsnB
����%n4X�:��
5O9y`j+cч	tB
�0gU
c�M}���k�b���I4q
����t�������ʒ��k�/�����߫�������L���O����R�K?o���.!B��?r���:��f�u>����:�uk-�����ܥ�Ȉ_K� �@���T��^��G��?��r��}
"�F
w��(V��hH$�S'���'�����:"E��8�"K�r�u+q2இ�����[X9,��=͊"]���
�Z��
1���0��G2���v��`I
ֈ���ɗ�C��)Jq�Ž/�6J7F�5����d@!|�_�3�ÛH��=J�y3b[�>�
+��%�wӐ�y��9�=͏'�7�Y�(��1Vd����%4����s���ԂUu���
�X��R�Rp	-��H�	]
H�@�9�]��
3���JB7�Z4}��qt�B�g;��_�^�.���G����S���ԫ�h���b#��UB�0_�z��n�Ut�fk��7�ja�T��\�hf���SD���%ծ�s�;v�V�s��)]�0�!��
+�ĺWܒ�{��G_,�>A7�
1B3��
�,�Tqw���
y_�㾭����

�f[�
�g����p���Y�X˩)��a��p
ˍ�
+��J|x�k,�.bn
�c5��
�J埰��Ǔ~�a#L��
+��N����9D��KL7a݆����a��ӂ�=B�h *����c�fS��̚�����5�
�U�N�iX-�~����0>?�ߐ�v}�,�"��?��`e�}ev�왤G3ٗ��ٜk,�Y�MFP���?\��|�}V)��Ak�����R�����θm���
#i�=)k
2�
��4t%{��wa�d�����B��Pa�]MKj{�
����da�$�-�W�W��:�D��^�Q߁�Nvh9���1�sVd`�yH�i�e�O�_~��X�
<�Xv��E~�()Fy�2
<�Az
+��cNlB
Y&L~v�ޏ�����dgP�*.ԔNEО��S.�̎
ux�<�?�Z�CǪ;< E��&�-`�爮���gHtt`�׬���e+4
+���	��3k����}
,����-��t�" G��!���s�u��d~���{ULT��=X�+��‧���T�'�_�
�_mE�T!N�C0�_%f &�F�*��}\��
c�ZV_�9��IJ�+M�pip���(����m�A�Э<�
` m�k����c� ��C���l�E�����S�[�`
��]�9����efQr�T�ƃJ~�V�s��e���&�>r��N�"��:_�Z�Yx�lf� [)�
Jd�(�uA;
4��f�i�i)	�{3�_�&�(�"xwG�uI��f�?7�_!�]
+��b`Ғ�
o�Ps5Y�,�üPLw��Z4��|��z�y�+x&Ɗ��a8$���ʵ71����	��	_!_Pu�ZK�i`'\úF���	�K)܆��x�@�wVV�UM
0_|��ŷa@|,ᦹ��rE(�v�%�q���F���摱����6l���
�U/��.�*�b��1�����
+��h������t�"��S�,kR&�Z������4^ê�pq�b�[Ypj.{U
���� ac���4ɮ�~e�j�PAҧ�f6�5a=��D07 �/i�*���)��j�+n��J��HS{��v�0��uu�Ԑz�iLe��p�'d���h��~��Μ��/VϞ�(4bJa�xe��$
'��ln)o[K�;:sɶ;&!ŕ�
��d��כ#Z�8֞�c��[_�o\��
���Vr~l�=�v�s��x9£"!k
+�pFG"g񝨒Q���Wt��,�1��y�s{R19��6�b*h���/���k�ૣ�e����ή�k_�X�r��O+,nM����P���UV��F�3���
+��ͅ��h�<(=�m�E��?-�.���4{Ϳ����Ʈ�X�le�}&h
����(x��	�ʉD�����oCo��
�wٜ��Pg�c�9�L�<����L�
%k��
+zx2��4h*P�rb�3�5��`~�ɬ�y���a�h|:���{l���=kWX��
u¾��:,��mS
����BTHU�����ҫ��.O�Ę���D������g�?��G{~�IO +�{�D��c��1�����
#Wp��8����z��J���T���9?O���6m�οɤi��$1����rKS1�-b�0�U��(eń7VI{�1/�R�����O����k;�����
m�Fq
|�0�`�����?��:�2���1�?�;�H�� ��@I�
����q�kh9Csvsj�ٟ���<
���2�,�?��Q֥\ {�rΡ��D���V��|
+64���f���U��֑DX?
[�"��뙧,�
����.��V*Zgd+B|���|��A���M3/U���&]��yԊ��+b�
@v�h\³e�T�mz�V�)Ȥ�$�i�l��8�j�;u��$���
"�
*Y�֤�3��%y�E{q��
�%wx�9ȧ˞�Ρ�)� ��g*���#���q��n�q��Y��6�EQ�—L
o,-�p �1�:��&)9��J�ވ�s��焤a�,D<;�k���"E�(�qn�]
�3
+[ջ0��
��<�2�M��	�
����X?i��
LZ>K�Ћ>dVOV��n
�-��2c�Wb! 2�gI�
zm�TǠ���s(�
+������0��'��_
�����)h^�v�S�������a,�pb�փ�
�ڌ�lRz��z}�H�߮t1~�"��e+�M�[���:�T�a��y��\�@+�a����7���uW�}6�Oj1�q
��\�bKٻJ��E�qZӾ�Փ���6�(����K�
+endstream
+endobj
+2883 0 obj <<
+/Type /FontDescriptor
+/FontName /PHKQQQ+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/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 2882 0 R
+>> endobj
+2884 0 obj <<
+/Length1 1642
+/Length2 12436
+/Length3 0
+/Length 13290     
+/Filter /FlateDecode
+>>
+stream
+xڭtUT]�-n��
������!8�������5��Kpw��\�k�����O�so�t��Zc}5�fU}�VQ�(�1���M@�`;gFf^�������*�V�#Ϡ 2��q6��c
Hb� cgK����3��2��� VV 
@
l��hin�
��Pբ������/���?��H'Ks; ���+�lo
�s~��o��@ g
���SR֑Q�PK)j �@v ��&�]Ll,� yK ��	D0;l�q  �v�������%�08ك���a w ��/�
`r��trz�X:�
�����
��ڸ��U���
�wA���w�w�L���t��w�gU��G�����v�|�`�wOS0�寖���i�QgcK;'�3����\& ��������{�w2{G˿�pq��3�W� G�����
��������W���Խ�������࿽��Kg'��#
�{N��{nsK;$���E��

`a��������+���
��kfhދ06��x LAfHL�`��� ���ʌ�{"�/H��"�����3q�]����O����t��Q4�}�����1����<�e�b
�k�X��Hc[K��*�߽�@�(Zlc���?�E����a`�`d����I��
d�l�
� �ۼ_��v
;S����
�]���=����0u
K���_Jp�ٙ�{��]>��������i�vV~�gu{��f�R ����/*QQ�;�����6Vv '��������o
����
-��̌��,���?�����F�6�k�Ԝ��Lߧ�?
�@G�w��^�������@�  ���l����\��7<)����=
b_ڨ^T�_��K��4z�
al�����xl��'K�?ڋcCՓ
+:���CF�W������n?�ɠ%�D+��bA~�
'�������A�

�t'�#��=�?�k�?���G_`ZC
vZF]��	e���
�����P�oؾ=B��8D
+>W�(�\B�/�^�D�N�O�j�
+�')�:��򒤻��U/�:Ҧ�૳�/ƅ
+�$�qi�����)�N��F0�+C�����v8ߠt��8����'Ǫѵ���,}��2�f�$���H���g���~�ދ�z�2�L񃏳�)��@��&��?��*�
�����&���2�*�Z��
,�ڰ;AKЂ�%uT
/k{K�]�Q)�O>j�zZ��ko���r�>T��!)������Ɓ��H��C�P�-�8]�)�Rm�|m0���?�ҙ�)�`v�k�2xѼl�I]��pi�J�
��H�
���!|8�=���v�T߈�Ҁn��N��@��}
N at y���υ�#��[�
��iK4փ�ӧ�~��$XS�y��7^�s`��n[H����7�DΚ~]�L`�_N�i��I�Co������"'gj�
�i�q�sΉxa�"�?����<����n�'G2,�)�s�jڵ�o��I��#�5�a�q�����IZ5�|3^��j��B��]d.7�� ���ң�s)j�L)(\~���)TQZ�����Ja� y�<^�idU�
��;�-3��� [...]
����߆l��������C	�M�{쨥��U��yĦ�w�h�
+����.�g�>#��V���
+���V�I#�� 8��B�s	J��x��^�
	�X�"�(�4���͒!�:5�
Y
�s���R����~qD��Ku���X�9��8���&BL�,��
�ZJe ;�y�0J�=��3�OE�G;���~��p�}��������,A'c�[.>�,r�X5Tݥ}�'��>ۀ������
9@�Q"�%��
+~ĩ
�}9��{̫��������'uoA(�k������.�/�`U?��_A>�/����@�,fbЎ}x���oC�)R�e؋��t?
�Rt:�rQ�
+�σ�����|�������a��aG��p��q�K0����;1�������.A�s[Ė�Ҏ�h�Gozz�
��PP�/��k�,cbJ�U�
��q]�����4,�Q��r/7DP#�|0ڔ9棂%�
xؿ�C�\�8�*k�w�$d����
/Q�b0��x
f�{L>���}��U�$;�X �3���5����$�zt1$1�;%<~���
�f �?8�A�J� U�Y�1%
+
st�X ڰ��Ht?�6�t��<�
+(��i~�6i�y9��Ou��X����ߑ�Һ�
C�6�u��gFa�,��`����l�,�\�<Ғ���R��v�n-I�Q���������}���_��)�>
��C�T�6Q�k-�37�gV<
P�Ou���	���� �4��d��
���5_�R��P����R�Q�}W�ı��o5�Yρ�{�B�3%^���B�ҽy�
+�ЋQ}�sqW�)"���z��B���
�!
ώ�f,�PK=xXQ3��2���_��;�@��R��7�J�cs�`��c�!I��TW��dsΒU~y)�"ڇ��� aP���ϥ?�,�����}a��$�}��<XwͿ5���;9<���
�)��O�-0���������{!XS`��MN��@w1�w�1 ���W�#B!�S쯃y~��[KUY�]i}Kn�(�%Ep�nSe�h�%w��5���0�

��u�NvSE|��ƶ&o�Ǭ�Z�?�~��ל��>���u�N�壯�V�ҏ��F.#�Rڽ��[(�K,�we�#Ԕ�;<�qZ��
,~
g)�
����)<ˤJ�k W�z
+�X�]�+�'���V�
|��)�}�qo��: ���4�!C<�5MQ5MX��<�Ev��?hh��
�c���g�C
+-��<K���6ĀJD���;1��*j����vbD�
޺�F:
ɫ�۽�.��TY����!�<��6����+.�$wm8�+��ϷR!���>"�̗
����VG����-�{r,��-��v�R
��� �y�zM�"�R�W����3�+D�
+~;M?OP��S�x:1��
��� ���
j�XqJ:
+ǔ�n)
��h�l��]H�r��HZ�
C�:�q�oE{>nä�ƣ�#����C"�ש�]�?�C�w�h������;zx�r���
лcwK���S��Ԍn5w�� �t��W[�'�m�2f?2�0��p�D�����>5��?��g]��s��8?8��e��5}���kbx���퉨?�K
ߦ,���[^�< �i�{�r��H�
+���8P,���|�
"�s\g�G�R*�3�WU!ay��%��U��@�R“K��X�3y���Lk`<˹v|(xэB[[�u�d}1�PUM�m&
	b�
+�>�!�[�q�m=��n�#I��ϧ\��}jg=��0�Q���:���}��hٲ��%�'�y�$�ʢ�4-
D���4��CL�~�`K���K�C�X9�H	�~L]pH�[�;�<Sq��<=�T
�Ħ�y����":¦�QU�oט�	�#��
�ɴ눷9��
+���<y�0A�x��ɓJ0�4U�?(����)�`򜮦O��q,䉁�׵��@2�a�=�O[����f����J
	�~s����xi�&�I��3���e$9���v!)Z
� T��G�-͝T��Ɂ�5Έ2N' N\A†jǟ*b
>����OXA&?E���ҡ�q!�v�+�~d���>��oc���m/OO
+�ۇ�/���r��ڷ��K�éT�Ά�+KB�]z
���f���v�:����J]����X� {�ʓ�ҥ���?����b��v�����{2:�@�y
R)l"�Էrs�-�fZG��=�J(w[^�$|譾��!=�Ē��'TR�Ƕ�Z�8>���;�։n�Q�`�����-�\F������
��S�ʊ�PZ_&��`�JK
n��p�:�]#^�AZ�a[�9���3L�/�(C��ߙHO~�R��Ə�֬}�p0Υ��=F|���Ү9�P$�sq �՗j���	l���]������d3���;%�ϒd�d���clp���2�&+s�G����k`F�s9	��-jH�[Xv]���r��kox
��t!b@��a���
s z��"(��I�Q&�=4B$L'vP�#9�".��-k�Ugs��d5�����}��Zhw�MH�p����b5Z��и���Uԫ�eY�Ds�8E�|�O����X��)h����d��}��� �?H��W�T�oXD� [...]
+�v�}��$�'wM}+�
�d��r�o��5G%n��.(��=�6�_�r�]G�꺐�hcKBf�����ӿ��.�>�
�/?�rb��0E��3ȫ�
����9
gU9�{�5�ήf��n���6S%$�`*��eU�
���,A`�=c�8����{�e��?r+o�e51�c@,�y�����_��B�0q��O��	��"�nYsoEq!��
l�Ms��=+��2ٯ��ێ�q��[ߓ�C,
�d$;��
c?=��8���־��Rf���BJ ���a^9�'�I���d/&x�ږ5���6��f+Ӄ�
_^��ׯ�d~�1�����b��᧺��(���k�֛?:j9��)�!��l�
V�3I
���3.�"Z2`FNf�R�L$��;2db���v>�='�
+vz�*��颂��&��5��eˡ�e���p�݈��=�v�aVY��P;F���}�/p�j��W/@�����ꤘU���^��\����G�`����杲���Tc�����fH5\
[����L���F[p2Kmd���Z
���B
+��������<�.�O��y��
+�oA����g�?�N<��O'�C� ��ZnC�/G4��<\i�B�
�ƃ��mB?<V�x�`����꣪���j��W�b���LT������^��D�CD��3%��/�+Jl9

�01f*�������\f��'�R�ș1��5���
+�x��3a_���:�ɴ�5�7a��މ����h���i����&k�w�
��lk�:�W"6 2'I�nO�c��^ᐒ�
�\���E��u�ɋ����s�z*
C��`	"���[lic^T�
���1
nu�L°��Ι��f%��rzz3Hw��=┒��f�]
������h�n�D�	"h�E?��ɀ#��/b~A�
�|��$ֹ��N'��߼yV/����ҷ��m�1�Cؐ�d
t��LG���Q�v�p�8^�/N�Q+M��[�Aѱ�WZ�C�3
p$��&�ٙ��#"�g`�8��3*>~bǦAo�k<yEo[�W�p����]N�/���[I�F�_�o�t�PTb�`M��
+�QS�
2y���F�W#``�����R�W�A��+�p�5$q��K*(�����̉}��;�F���:��$o�Hm��p��d��o�����&�>lo_
�p�
F����Y�	�=crxƸ<-�c/)�[�ֻ�`{�F��a�j���������Q�N,g�!�"�^|���;�O�\s�U�|A���N	QbL��yD~�l�Fq��ź��I���1o�0����h{7e�TE~����T�>T8�N
:B0�pK�À-�u���V�`.�G�\���^Vl���h4��:�O��]K�(wU�M��β»�[��knA��7]�h��w�Uu�`:�{qt����gN6m+�C̶�i�^
_8E:>��5}l�����뗵
� �g�H$ZBI��O�
 �2�]�ɖ!��+��u��%x�|�j_ȃ���t>�eQ�SHJhDE���߫~}�h��ܖW��

Nax���o<�=�K�u1
+�Q�9�,|0�T���[��}�
����“~�M96���)
��_Г���/藬�2!+��#�I0�ch��w3
[�&
��X��c�V��?�D6��ӂ��Dg����($����Ds���bg�K5�	QWg�Y���,G��u�����A�ݣ�H	�Luء���O�
��a��V
�
H��Q°� ���;������i��@�؂j6�\�R�CDO)�yY�:�Q�1�![h˟�I�H��%
�!�'��B��V}FDg����
�
��`�Ɠ��pˬoc���f���5KL�����%Xe
x��3�4��Y���_Cu�7������4
+9p�v�
h"҅X��>�bS��յ��#��ơ4�F�I���]�)���-Ff��]�hchw�Dҽ�����nP�tRf�v�;�Y
X���
�>�����C
��Nsz��
��/�-�|HZ
Mo��!������t&�K^�fpG�{�&0]ɢ��<���rY-q~�2d��r��B�\�2��R%�!��wE&$�@���k9*D�SG�v�0.��0����������e���Bւ
�v/6m�8��Y�$��+�
V�#_��9+��cK78�`�Z���ݙ���2q
��ec<����4=p�W5|�s ��^|��
Lj�T�`�w��Ħ'$�����
������
�uvd�>ɪ�!�n
�(�Bb��O�y�
iVi�_z��D
����Z��C-��aW)]?�
�ė�1ޓ�f{�J��
�!���4P�0j����
�1'�R/1�V��"q���B��������=�㍧
F
؎|kS/%Q^V
+Sr.�
?�MM,���Y���r��	TTK����7O��u!�
��N|-6��3����G��i;��&���a�i��,��ҩ���k_Rǔ�4p�`_LF�C��S"���X�y�@{�8�6�Ո��r��qJi�hAx�Mb�`�PB�F6��щ�ِ��
ju|�^'
�=�EJ�)Ć!�Xb��?�_�|J=?��L����K(��D "6�%��gC�pa�;z����y'����?pc��y�E'8S���Vw��8w|���|T�w ��
^��d����՞�{.�t�4�$�\0t��"�ʵ�	ѩ��l}Psx}Н��|���ɦ��
������eyl{�
@��{G,�������1L�f��`�ZD|�<3�s�
rU"P&"���;t
�ix�����B~ɮL`)��j
+?V�Ѥ�VX��S	^H��n_@��y��G �1>��
+����X6V%����

�}�8�:�&
J�{-
+d-�|���z�%3���O^��
H��a?�n�
M�Pd����:#U���,�E�Z/���j
y�

d~
�43�g9����
���	�1�WB��nj������
,���[���_�ZG�
[���yZP$ �8!	�G��5���=�
��M�\
O�jCoF�PP
�9�%Ѣ��|���@S;	c^�w�^Q>����I)�O�D��he�[���\[ l��%`�
}V���p�`���Y��}��5�����c� ۛ�|��"���vV����
+�`��&�G�
�F˽�}��E�*�.)�y5w��
J7[CU� >P����x�"��Mr�5嵷�P�!�_ص����Kp���)
���ˏ]���67j��K8�"
�z�>���3dո�5�������`�`4�0���'���Zx�[v������	� �&5.32��u��v*��6m�`޴3�����2�ĕ�h��U�z�Џ�X.(ӈ7^����m�'-ҰL��
(�B��-�W��U��z��;�
���>>�;���?�We3v�a7B�
D��ĸ��?Mɩ��7E �,gY#1�[mS���e�{��.��������q�],7E��Yww�����goJ<��g 4w�\�*�ʢ=��M�u�.�~�ٙՓ�<���2������]@zU�f���a5�p7�(��G����GU'�"����(Y�8�r&�UA�@��Z9�j��������n��h��#{��b5�I��G�F�V}:}�3���ܩU�н��
�9�����ZJ~��ɫHd�!����N$�
+�w� ��S�I�:�Y1~bQg��k���y��&�S��{F`���ZJ�Ҹ,V{�ZB��3~X�[]�9��Ч�I��í9���_s�3<ER��$L�_V��[뿨:
�vA�����ƴP%ʼ^��ЧA��#䆀X�}�c���'�^��
�,Y�G���"Q�:"��ڹ��̳��<5�E�
+&���
�f�y�6�z�,���j��~P}�M_,'�o^����)���S>�2�}��V=13��Ї=��V�H�
�݊\.gs��
+Kw�sl�0gR��G��N���� ,��r�?�9噜�=��|0p�r&�"��5f�6���_�h#p�
(��33[#-�Ȍ�H�qy��ʙ}�	&f�A���-e�6'�J�O�
���5�S�ŵ=VD�X
,>��P6O](�N���������Z��
��:)�/i���԰��ԡj��aG4���wHO��5Sԭ�8MMTA�.l�C�
=����
�	SѦs�!5��fDntǐJ<��܊�?v
���+lʔ���:S�0��
�v
G�u!����o��(X�u8�OPnn>��UM��l�@�$�r����D�
){vՓ���
V�3~6G� ���������&��I��w�KR�����
w�^��"���X]4?�l�ӶR��Y�nC� �J\���L��F��17��^_0Xy4
��d�?�^�C?���NϤ�M�[�f����7����ǨKR;ͦ\�����qf��� ��I$�����78�[φ��kΦ��<Ԩ���A�{�W�z
+*�J�Y*�{���{�"��t'>�����v�ތ��&���-��H�t:
_j�H]�^�U��ҥ�jԅ��Ai�;�!e)�lfZK�stx���d򖟜����փF��B9է�IItO?6��S���Mh�4��D.�_��#i�b�	_�V0�E$�0��|��I�xw����I3CS1�e�@����ܒ�V��K��_��\��=9_����T�p�x�3�O��P Q8� S�$�")
�ip0%���7����3�o��Bߜ$np�: �B���Uy��v˼�?;2ڂ�A���;��<�3A��2�C�I���c���.�
���m���u+T�´�R�5 ��8�saͱ1�J�I')�x7���׎"8����aK�������ZS��p��(M�<�8����z7�n@�?�
+�
U��~�� ��Y�hQ�%c&s�ь�-a�O���X���f\lt�
�R��ʡR�>N'ē(r,�	_��F�X�&��&R�ճ�Á @�_ �!�ꧽ���v����
�c��GD�MV������%G�&��\�M�\:V�9�h��� ]�tW�
Ոɷ�l>=�7]�!n�ʳ�i�Ɋّ��@U�l8J��2ĉ�թ۝Dz�.Gx�c�0!� {��b�p҇�ԧ
+���ك�c\��3|�'�1�Qw�O�_�	1�g,2����>�ٮ'�p�(�
&ϡ}1�1�h&
?P-Ŀ�d7�m�}5h���]�@'�M��V�9��\������K6�S?�'(a��ǵd�
S�a�
��3.	:���0�_
������d}X���u:����
��?�9A�_[���~8�F��?�5�k+��3
+ ����I���`N�D�}}�
�M�b�K��ǎ�E.c� �7/��	�ĥ9pe��}�7#��̎ȟ�1G3��^bju to
AId�L
�X�OvVTɗO�^��kQ]@l�hz�C�OP-�C,���e�^'E-
+��
���‡�d�1ݕ䏿�
���`r���7[�^
���.C� �����w'��IO�8o�?�pR���i*j�=��
}���+ˌr�/������t�H^�Ծ댲��E
�扜YG�&f��������V��Y�����"�\�>` 4ׯ

C!ط�~�C�]\�Z3q(�A�B���ի����;���(��B��„�0j*̳}���c���;FJ5��
+ie!/�dQ
Y�͑m��b;��

-��S�0p���Se?*���3�h�.H��Dz�2��0�&����w��`	���w�p�#�{!B�,�23{p!���U����@��4�۬�\�T�+L��a�Nu\s���a�n�|���S�I!^�Y�Ym���%(��d�}��u#]x�����pF�7[��
+���.c�_}��b��_�[��Ȩ�R��w�B6���;r��� �:@��4�&��$)�f��h�l/�G ��3�g��B�[k��Ԍ����[K`�5�zr�_�\3w�n�w>;����e�1�i�w�Od�
�!���'�H~�x�z��h�����k�'v�G�Ώ]	���C�ؾ�$�q^��5M��CY��'�1o>N��
r�c�m�Wy�S�t�P|�ФF5�׸
-d#ܷ<�����F���&�(v���;p�|�$G��CZ��l�8���'�����>�Z$-���U��e��#l�E1�z~{	?Zm"}��ؗ
+����/x#���i��
+�x�\�}�_%^!�e�
+
E{Z�����(_Qyv-<8��%�a�F	�/+��:���}]Vh�o�,�ﶙ?�e;iȔnЇ� ��^1
b|��DH���z�x�H{}B�j��q�"|��v
V��*�a�����`�-�(øB�H�
a���t䒬�3!��c��5b\q4�M��C�&b�ʯɽ�O�wPW���d6�ψOzH��y$9
ĩ��/+�DmJ�� p�����7�7`���g��sն;exאt�R��k�Ic���k at A��YT��T��U�[�ٮ�u0Ω�`�-��װ'
�Ü1�\���"C�٦�QN�
.�)��)bj|j����m�O�Z�^s�����OȮ�Wי<�
+�XHz���=��/�K.q?����O�L���d;�
!��P"�F[��4�k���Źr2��h���?�`�1���;�_��p�w*Q�#�#�
+��QM��I��Sp}c�׽�pN�s&z�5��,7i9��b�Zx�٦ߒ���}��4��z5�U i�μ{�)��3D
__����yV��l�Ģ�i,Qq�;
�p�B����9=�
��
@-S��e,��Y[����p�4+nk�乑�g���h;_}x�?�Q���~b���}qP��B����!/���bJ��R���(���
���:��ݓ��O����\Ж̰^FS���W8��抭�X��X]��4�c�]�u��w���R��W���᧏����{��¤s�!��<f���2����Eo��]j� �
+n�-r�Z�Տ6T�Gi�&7�f0������9����/b6ܚR>n.�D�ug(��e��o����z�p�n��fȎ�uR��}��aTX|�r{��N)9�gz"�%���fE�%��M��o�ڒ�
+K[{I��/�5�4��4�D�J�Bj�-2Dfi��^=^~����gr��O�v�����8)!Kv
+�Q�AI-��ҷ��q�X�1�
B��Jd>:�j������o�+�Qŝ��}2yvbv�C8����
�wD �X2�O-9M�#�#�!x[0M�V���r���/�����k"P���2+��B��H�pW�{_S濅%[��W��G�s\`S��%��h��~���� �9�x
bJ<z�n���вH>���H5¡��>�~ ��w|���u�cĤ
]}#�VQ�Mz0�jE6S
�������Jd�-<�5'��xޔZU�[oތ�6!1����
�2�C�%O -��Y)"#טz��G��

M��t-���z1�����n���ܛ5*�4���m�VX)c���|I�BX�iR�LS
s��ÙYe�ʋ�<�k�
E��v5��
+g~A�4K��`�
��>>��
 k�Ց�r'>�`'�
�2����p����S�}T*��LR�,5��Qi����+Q�^��X�5:r����j�,�qE/�.��7�.��
����'sIun/a�q�Z<�V�1�g���9��"	�Z
+�
~йK�eW�dk�e�[����}��
E�;���0Gjw9+绉s�!=���� L�.�v�uk�^�(
!����Ox#Ϟ]N��`V�T+dSv�ᩚ�E�z���2����}xL3�B1��`�� iA�2>p РD�lˊP͝���
bNY�W�񬜔�d�L�i��
b�x��>�
1@G���vU�+9@�x���kP�ğ@�|E��W'20�d�зrq���gG9'}�R�2��mc`Q���N��`���g�A�p��.��9)�hv�)d�u��(��pff��U�ǔ����SM��<�/DZ��
��81a�ƶ(�q蔓��U��ê(�%��W���-�
\⨆�5��פx
�F���¸�j�H�qCb</�4

z
��k��`X�^�V��u�(�`zya�V�x;���4<�+ 9�FV�=��Ǐ�[����0l�E�T
��,A�ٝ%'J	�[
+t�Ĕtxh��]�}�f`���E��&����[��9<��֘X·�G3�~�!
+n���
ò<��Ų�	sT��?t��9�"@��&^u�_5 ��(G�yv�\����V����g�
V�+PB����^�f�X�u���|�$}��0
�Hۥ<5~�s��Daj����zܹ�RV���$�!�����R+v4�eC���F7#oSc?
�jyr��(6vۿ� V߽�PtG
 �{�����������I�O[/�a�u$+��l����.m
��@NQf0�&�O�Z��C����g�_��
��x�{7�@@�G\E�A%*QJo'�o�rH����'
ݨ<���rK���93�
��I�-Z�1u�rQ���Z�3��JܽӔ�ԑ��2&��g
��P�g{��g����ʝGӉ"f���ێ����U<
�ϰ�A[��Ú�n���w�ӄ+�c��]���14
v̏<�L��"���
�?�z��[�7��Q6����N
j5p�GO����={ϐ�j�tZ�B
�d��I

vzG~
�Z�C/���r.�������I��YT_�������{z��e�Bd��d�G�y=j
��H,�b�	�2}���
�+-g���Rb�KӔ�չo���H�Zu3.R��S~'^�L�1Gj��K�r��*��KF��}kuN\Y&�\�A��n"��
˃,ߡ��h��U)�����*��|��P���)��$�f�hWΚD��}�Rr�mH\6�
"��5�$M
^��
,��[V��p��H
a.K���O3���O��VD2�?!g��7�!gr�����V�
e��%����Ѐ۰�n��vpk���&Eza��ql�vCaC���'^bKx����L
��_?�v"G�ÀZ�^
����k� �1L�
+endstream
+endobj
+2885 0 obj <<
+/Type /FontDescriptor
+/FontName /LCGFKO+NimbusRomNo9L-MediItal
+/Flags 4
+/FontBBox [-200 -324 996 964]
+/Ascent 688
+/CapHeight 688
+/Descent -209
+/ItalicAngle -15
+/StemV 120
+/XHeight 462
+/CharSet (/A/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/a/b/c/d/e/f/fi/g/h/hyphen/i/l/m/n/o/p/r/s/t/u/underscore/v/x/y/z)
+/FontFile 2884 0 R
+>> endobj
+2886 0 obj <<
+/Length1 1630
+/Length2 19973
+/Length3 0
+/Length 20820     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct�]�%
;�$�m۶�ܱ͊m�b;�b۶*����}��8_�������
sa���&#RT�2�7��۹�1�3r�-m�]���m��d锁殀�r6822'��������
��4�M �� &...82���������
�RMY�����?%�� �=�C������@���
hc�`
�s�
��\,� 3K @DAQKJ^@)!�� ���l ���6�& YK��3�
+`f����`bogj�Oi�����F g���_7��	��-��dk����`�
0w2�s��{�������?	�����+!'���u��]�M�,
\ �*���;O
#�b;[�U���Z�ڛ��Sҿta�j]�,�.@�b���6F�c�sp��W�Ζv���-�	hn�djtv�
�����g����z#�y�����`��
�1��cb����olsK;8�fE���
���o�����܀N�j�?3C�7	#S{;O�)�
�A���oH ��
���}$�7P��B�
��o��W���K��z��+�������������]2Fv��{ 
�g��9��|�l-m<�O^��Z��t�`R.F�"dg��Fz�
-��-=����.& 3#��=��\���dci����
+�cbd�/:U
Kk�H`��
+hg�_+�K׿�gP��S���,�*�
UO�����j��M���aa{�7
;'���������3���&俀���,g��d���[7#ӿ������
������?���bdg�w���������_��� �V���=�4�[]�7�	�J���R��;4!����>�PڠZT��˾�/=|����&��q����s����@��p�Æ�;x���KB�[��I��AsȠ_���L#��jAvB��Q�pwBIY��

+���	��ʟĭ�����IZ}
�o�F����3��G��������\��8X2
7D�(�
\m�J�Xtj��x�D�ۃ~#��CR�}K`a��Nm�c���XQ�v�8�ܹ��
�2��#Z�d�Qu
=��s��8�8��N�MxDO�J�r\�Xʆ�a� �+m�!��\�m3(�k�n
��[��Nr`�7���̉���}��KY��,(�Α(.^{&Ȗ+'d�:2C5�<��mzkJQBEɚ(��h,="�?^��>��
lˢ�~�4��F���V	 ��󓑆�8���x&q����l\꺔{Q�@h�
�G�&�s
开�Ą�欯��z�Yd
n��c�$�+Xd�
��]X�iq�qE�#��%��b���ʶ
7�(����"�a#c�g�X�Bn�܃�@�������H��
+�2�Ih����Fn��9�����i��Z���=5��Q[��ђ}�{�����/�l��*.s��L�h�>�f��Z&�:aXs
��"FZ�cD笞d�n—
�z���>C�֝湬��a�ď�ŕؗ���T�TY�,�P���o;K�2j�U�.���.r�_o�D�����
�9k�;g�̀u!�����_A���"fGr��\�bA"
�ڮ��\����V܂�Ƌ��ٔ��]�4�E��P7Fۅ�;�i�~�8�>hl�8��p���VHC"�Su~uǣ��+�z����X�^-���Y�d�ȧ
�d�
FtVA�O?a�*�D�����K����zI.U�'��g!D`/s�A�O�9�#�Y��Â��$�wZ�؅�|S��C��<��m��'�8�-
+>�L��K�2����/�c�2d�f.���n��8�:���Ǧ)�3dЎV=���l=Un�����Zv q��'A��
u�%Rp&+���!���5�u�����^q��M�-M�s���laW(�4��M���Qf�x���<��w�6)X�#����B�
'i�� ���P��\��W]
 ��L\X�WA����(؎��s@�g�
+�ހ\Y�WG�|�u��;���Qmo�_P��+�_��mX�;����
��;�2�(Y/<>��یp�v?G:۳_:Ջ�z"I
hX�L'�:a�K���
n
�	`��ll�5�t[B�Ǘe��Ѩ �>hֳ��(�spV�Mk���
�7-;/Y�$�����Ќ�4�X��5�XvK{C{
MXis���
�
�.!@:(u;|#A�;�#�4�
l֤g-lr���#�m�.;<����H�
���v>f	(�eL��Z2��J#$g�:��~���
��I���u�8I<m���Y3�q�:Ɣm#r'�1�
u�̣����n�k
+!�ʾSHWEF
N����6kh@���՘�(����k�<
�c����k�3���K��r]
����ԥ^X����G6�U��k�'nE�M��;�<r�MD}�>�6]s2�˞8>�/`
3
HRA�TjO�#�"Ά1�
����`狥&
1�����aj�=�8�����t
�,���>�wV=��
�m)��4�do	�,n�����[	�#V��5��u΃�E�Gވ�n�6[9����8^F�f�J@C�������5
+�FV'bI�:?����m�`�Q���#��Aa|3��I�
+���b���:��Rb�;��5O^�v���=el�'�Q��V�i�^<l|��f,V �8HF�����:�m�Ig�j?
�̺n��œ�C��/��U҃X��Z��

���n�!
x��<(ajƄI�#�S| �����8�D�E!*V��
^S��
�1�
.�~Wڭ5�&f�
���9w���R�
��R��`���pBB��7u�Q���_���`Sl���������~�JLZ��/,zs1!��7jn��
����Y��eV>��2�T��w�zgL�@-�������Ϣ~�]M W��s&NԄo��f��X۴������
�pv�~S�L%�*�(+������x&%��2�;��={����#��ZA|�7"�>z2\��^ϟQ��� +�k"�u���0s=gt��!���Sc�ah� �
T����Y[Ǽb[�?U'+p_�֐+T�1S
8��A��G}�cg��e`,�+1�g�qM
��5#��y�-�T�=�zf�r���ˑ��RtC7��Z��;1��N5j�뜐���T
\z
P�e��.Af�ɜ;EL#q�Գ
�be���Y�V�
+A �	1=0X�]j�~2u��FP��!�$J q/�t���|/��Pږ��Mj��]ˈP[��.u�1�K�"_ݖ�T�<�pR���k�D�Dn���l�$���`�T��+����q7�rG���7<d�Ӧ(	���,-��u�m5�
�Փ���0�ﮘ�R]
�	;�jz���:��#8(�&]�VX�}�0�b+�����5e�fϡ���0�,�tb
�P%�����_z����˵p 1WZ�"F��߸R�V����[nq�
2h�B�A��`5�r�9����?7�
+J/
��"_�qj�k��y��S�;f��Qjn4^��5U�����[��e�
+{l�14"�^�����Ԑ3�)���/�	L
�9�s_uO@�P� Q��^0�u�@��Sk��v��Jt�->�� ������ ���z
�	O�Y��)�y��|�s�)٩���q�����R��j�H7
�=����g�_��
Ͱ'ك�K˗,����7=X>�"�n�!
b�L%���p�e]�0��)'�Ւ
�4�2��Sw e��􊜢��# ���������ݻ<�"S�iفd
Bn���F�g�L�x4B씁 ��A*���*���weZ�ܪ}T(��dŁ5�[x?�r�E�21c7�o���*l� ʿ�
�HVĠX�?��/���Or��\H�����z�xc�i��
�eŞ�k?+2�؈�š���d�<��x�fZ���%��ב�-���2���
5��
�,4ўp*`Zs�m\,~��F����W	mB
v��{��>yZ�E���u�j���j|�
Hs�E�n�z�m&��Y�ܗ1Bt�)�ڴYSސ_��8��{����32�S�����
�jS4
LJ j�"H&����=j �
��#�灄R�h.�8�^��Wm�(L�@/�VRUۧP�v%�p�N�-�~�,b�� �
�h�E艿��ް���^���<�Bp(�u 5r��i�������V֟����Zaf��	�@H4��g:%�O&X�<N�͂Rȋ=�`���Җy��+��]y>o��mu�L* ���M���-�3�( su�<RqqR�F=��tRK���n�y��WK�Zy5h����~1͒�ac٣]��


�}�)ர��-�w��'�aa�$Ҍ]^r��ದ��V����^����,��
�e�h��n�K�?�dƱ�QT��Iq2e��~����y&��Ԓc��K��{o�ֿ��0�����*�,7�㘁<����M�-
fC�p�CRS
+���yG�
��P�>ؿ�{�K'��;f4lkk�6����r
+O���Q�b��Q7�aR%<ϟ��&����N
��k[ђ
-�e�ǣ�D��63����a����e$s�
�2����
��6BA�Lђ���SU�/iV�����qV8�w���:�]l������
��f�+����%<;�_�'�Ӄ#s��V���'o�r<�ۓ�M��

/�1���x7�9�8��m#Z�+-�^�ݥƟ��f
�6	���ud�~�2�/�]S����i���d at 1��
�j��̓�������0������!���oc��v��On��"^�O<i���
��tr���7�D�]
��J��)�e�$�%j���5���٩m:��P��|��"�J�^��xHjū`%���z��5M��[ ^��/�+v5t��)������$!��Kb
P�{?���]N�ÿ=�?C��j��� 5��.0^g�y�F�y�=gh�:e�
v
��cV��S�u�.���� �
r�
�~�
�$
��H��6z�|֊k
+t�tG����9B�zu��_)���Qi��2�U��4�]���m��f�KO�}
�#V<h�@<ie�is}V�C
���F�ek�&˱��z�P�� ۳Y�[�qڐоQ]-��2��m׊$)��P]E�Kz.ԣIގ���
�����G@�����ˀ@�' &v��bI���D�*�R[�H�bh�]g�Ȃ=#Qg��=�.�������:)�q~Kzw1.T�Ex�-1K������8��t��p���Y
�Έ�
�����"�o�1p�%.{͢c=�����-d+�|��a�*P
,�ô8]�6<��#�#���P�ܕN����LojU�/X):|�!D�o�Ͼ������`�:ڟ���BH^��!����	g4�5�"R�S�;ȇ�4�]{��ci�d
9���dh����ncr�^�M��
�&�]��%N�0��
�<����4��Y���i�bb^�^��
���v��E��S'�ՙ
"Hϰ�p|�O�����j'F��0��2���A$^[�����sqg
������-ݾ�����-
�k3e�=��_�!�8
�0��� b��XGȐD��H��0���S��D?}������c�dm
+ZWN��c
�
+X	Gl�-���=
��Dh���ev����Y��%2t�3K��x�F��wv�W0o�[�Ԍ���ܮ�=��¤
zյCԥ�Ir
���K�D ��2�[�ݾk����iqrCx���C#�֔����Y�`��@�ڥ�_�,Gs!^+�@{�&D])��9�p�wIrs ����-5��$v��9�]J���v�g҅�VkeN�N��rN���<�_'ߵ[�mpV8�,K�\�+*�06�v�UF��S��c(���Nx}���O���Dh��'��=
�?�k��N�.5Gv1�
+���t�ϙ�tR'g;i���FW䭐��݋7����+���n���;
+��-L�H3%�B���5�2��^�t�4]
`����@��!i��g��5�x<+��̳8��^v¤�qV��`*���鰿P����\ �T?�cw
���N���^ְ@�P�	�S�xD3���3������[ 
�t����AޑȲ0�'��
���פsV��
�bcc%�N�V����
x�=
�N|Y'����9[E2������of�;f���4��ֹժ�6^
]v����@t&4�`�c,/�����pYu�]�/t�䧿9F�(��d��s W�
�|��O�|`�"���ͱ)�Ab� ��S�T��0��IhU�dJ���{��#��`6
uQ{�0�m�����IT�94�K=�A:���X���ݫ��f�`~���
�>�"�x���Fn�,�4>F�n#����w�O"Q
�%H�aߔr��
�//n���%81��.�^U�MHj���G��v�d
��foa�����{G2y����H�>_5�΂��ݫ
1�_��o�h�J/n�8N!��F�N��F}Sq^���C��=���n
�@E,�n)��#t��x[�㙄���
]Ro�җ|�1I!;e�
+�8pO��{���8d	��
�=eA��*�
a1��k�P��Z���	�^�
i�!�NJGT
����?��t:��PO̓�;�<ѕE�B��O/��E|�N8�/t���7�A�kq�n[�=�w�X5\\4Ě�9�pM�ǡ�{!��!���Z�����D����*]������
,�!�pn��
��/o�՛�ƶ�S��6
E"�0�s�Ȼ���;�):	Րn�-��N��읙F2��B�g�	D���d�쵻��^�Y��;���7��D�8F�7�0黕,������tI�y$4f�Y�PP�'F
��i?�Ҽ�	
Q�3&����p`yxk�`��q�����׀�Nc���&�=�
+}�"�����,#�җW�����Ƒv�ݭ
3aL��z��ݮ:u������O��e
+B�M��+����9>=-�E�XJ�GQwc?
��`�5�o;�y�1'�����e��������q�t�2W��z�����m��k8����}
�X_�-����U�M
^i�{9!g��{^<����������������IfO.ʵf������$
+,��P�^�V�Q^���p�2��-7���W�Fތ2Jƕ�6HAx����;3���~
+�z��e�C��|�8}�$�-�ܕڕA��c'fx�LR?ay�!N�
G�L���sj��c�f�������޻k�z����E7���Bb�,#]��ME�l��Ƕ�H��%�
���������B�`BU�KILᨦ k�*�D��������;��h�+�~�$�{@�n1��R/��b�0��
k�
��}&�g�����\
����%;t���ف
�pe��Iv�u���Xe��cS%"�ZqEOs���,
,9^��_�:/�$�.�N�2
�S[�p��K�k?��}7 ��W4�b��ҕfgA�[Ps�)��t1�
ɯW�u�K��v׶2[�����)��
�q���V�(IAF�GF���ʹ	p��gcG۹�rc��٦�
tE�$p�L�?\R��Go�&����V�vc��?U.F~H<�Hw�
+�5ˆr��7�?c�7�oV��i{�� �F�(��M��/���m���p�P#y�牰f1�?>m�����̷��䧲��^�x�t6^�<��M[�L�ܼ��M����iɨȡp+� �]&����J~��-.dd�O
+�����ͭ0dj��,b���Ӱ'*�
��*�)�$�昫�e
�k+pl�5��;�ڑM��8������S��I���B��@?�U2F
Ls
+���<% ��>e�Qp<��f�cZ|��rm��p ��	�D�-�x[��	�������nv/�!O��9W�59�,��+2�
LF
�Ϻ�^+�n�n>����bB*)�- �p`��1D�ɑv�2{�p��-�`�F�緕��y*Ș�2�/^%�w�S:-�����u
+�n782:��}֯�!��h�o�:��.��
+�k�q�
�2�����:<
|Kv��!C�&�zT�~��L��-���R�$�*Wi�&�v��,�^H+1��Di�80�puz�E&e#2��\v@���vT�&3�rɲ�A��
S�P(��
+'X�5H�?�
��Ѷr�\�H�	��n�z��w��!�����wd9̴����&ȧ��VKиD���69%GL��8�mH�+-�(&�.�q�[`����eaUo����n���#��9��� j��c�[�ë�[��QQ���KOw�
T�W��v����"G�WIc��;E��>�����E��"ک9.\�XxN2��l
�-|3��N���D��rz訾^M��60�`�
Z�oq�
�+�i:�%�f�sU���5�a�������}`�R4F8�T���<��;b�z������Ѣ�V�=}I%99f�݅0L��x
6��<C<L^45�1M�Uw��n8��D�^Ʃ`%���A4!��g4���';O�(^(���팋,����o���+G��w���=�5�Va�]6��=
��Q���f����
ϧʦ
y>9W�(�m�%�fYT�������?'ٖg��
t��Sy1
A�e
 ��Ј$���}?�;�.�
L26I��Ne�Q�����蕍�R�N
�;��q�+�? [...]
+�
u٧.h��Xb!8X��Nad4
�g,�*כ {BM����̃��b��
�\�Bѱ��`�<�K��S?��DV�H
���
�V�
�D�߲��̽@�i�-�/I�y�B�M��S~��.��2q~
"+�T�������:iQ�猏��DǼ
N�k_'�B��\�-����>���y��#*���͢���ұR[�9m\D9
&�I
_�dz -�<�@_�dC�j�n�'Vg�\�gj%�te9-�خ�� ��'MD�~��	L�
�>m��?�:Ig�3�p�":��N��{�*E?9������RM�~��
m·�,yon��mit��C��=	�.E��p�KI��~�i+NÙm+,P
.�}
���ə
+Hє4̍@E���bk�������w�
�
�p#��c[݇Ţ��
gT�ÛE6
s2MN������
� G���J3Dϵ&��o��
+v�+��A)9���j��}@G.;y,�(`{돏
)��
0���6�@o~�R�O�&
��3������S��0x1
G������z��H|��;"�ʹ�G�w���ʜ�=��|�0��^�>d(S³�v�(�\I���OT�ֲ?�C'6eY1�o�k�s9�Q��<
0j)��o��C52��v�eDx�n��f�4�{e�]���kP ���1
��Pﯡ���
+��VNc�z�F4]���#�����:搷�y�x��	�
�m����c�&�$:Sp��&P
�"���*
�p-]�?�UfB�T��[��Z�����;��V]f��4�u�8�p����]��hq�p��^�M׾������m�Ud0�<c6�+hz
GP�3��s�h�C�v�%�Jҫ�T�����g���$���m�뽚q���|��$���=�y��R�N)Wآ��v
+�ݨO�[��Tk��]-y�G�8��4▓or�3�m'w�
+�o%%j���ܩ�L��� ��k
|�l�=-�C�����jGh$�r6%� eR�b�%���>��ӊ��E�s����P[~
ͳ�`$(Z�+:���T��D�f;=����ϛa�$ �\8X9(�C*
ca�!
Eo/�sFE��{��mvk�k7���.�ezYޤX��;�
^����)醞������U��
V�u3Z�?X_�
l�:[%��&��o�

+
+����]=j���i�\��)(�s�4O?5���5ݴ~���y�0�G��^srm<v�	:�,�\�d��
(��ы�8�Rims/1���m͝�|��S�n�K������7����o��/ԕ;��Չ�Νv���С�����
�Z��$����hX_�Ǎ6��hb�~�
 �a�����C�D���nr��#�wf��w)�ki�X�u$t��=����g[=������–n�� _�-ģ�S�����L��P+�l��2G"���'�y�7
n�7�9�7
|k����?�s�8X�C0r���}K�����:Bi�\�ݗ�eƙ�uí@�1n��e
B�0z��_��rjD�
u���V�XiI��r���$��Ut�
oN�ݫ��(7�}�'@�A���Rw�#3�Sٸn�����A9��Ġ�t+S,QtE�D����M�_�]0Ļ
�������mp��uf��)}d�c����a�����
1w��c�)�S�f�RZN�v
?7*��`ME�x2��4/�{�敹��S�38�E��oI��̦	O�v�o\7 �#�8~k���:
u��v#ffi��˦
+5�[j�,����J�x(}�Q
?@6A��@���1�>9�HU
)�\B����5��xz�Q8b?�s��m�\�ə�s��l����.D�sp�&[>�
��8�`}���0"l��G+�S�'��;��馧�A�n\&�ABչ��9����������T��<�"]�l��*�zBֱ�y���г����uG�z��tLaVx�1Ff��LL�Ş�O����
����|>�0b�W{�
^�{�ޏq�Iՠ"������/a&�=� L+��,N����>Cv�;:\�!b�w7�'���I�aA��斍��
��_�H�/Y�x�6#�$s�����d���bO��[�������r�%$C���L���$:3�K�܊�hZ�ė_USVOiOD�X��l�
S�����8�d��a�?&�����#
GP�ՌX�����$#
�p'
A���'���	aT��j>_#K
rQ�����Ua$x�7؛o���Qd܄y��a�T��L�n��u���h~E�g��� ;('��P�;��<G�ċ��t�+�*�F�"a/�Ч��;�f�Fޢ�ܡ��'���7a?g�S��:��
]n�H��9��Y)���ʅ���w����c9^ؕ�P6f�͂|�L
6Y
��D�Gb�OU��� ��Ar���\��
#(��/�f=���ζ��;�2���|������;ݪ�zP(�I���sB�K
�Pe	Xn��?�
3T��[!!�4�g҉�X���#>�l!+AF�ȕ8H�l 9��g_:_���H�n���\A�'���GK���n�(	���#�xcf�{@���g�#w��ހ�����g[�$n�z]��!!k��/[ڊbZ���G�4핛��
*J�y
��f��`5� �x�p:��<���->\ip���Ey_U���{c--�x߄K��$43����2�J�%N��ȹ��
X
+��?e!�T�C�[��GV�϶�Z�ӓ����,s�,�9C4q0G|
9��$���PS1���:�eI��'�-����@"��26b���谙�b�9q̼8�vZ�{��J�筄����'=���x�>Su���D�>8�|p��̝,���X6����ʺ��6�B�Z�S���
Dt�
sUW�ttʰk�
c��,.��E�rWx��}���"\����
+:�GP�V4�c���";
��}�
_2�'��7 k8�I���Л$��[�{X�xh��T�|B�`��/���piЎ�X,L��I8&	SS�p;�)pU��\5�mu���%�CE��ʢ���ڳ_��op��xZW]�kf�j��ɛE��E��P��!$a
oPt�u�
�� g�A&u����ZA����e3B�
����:��%�
f��+�W����.���G���s��
Xxh���)�!�pN!�{#놬]�9��n�+�Ϟ�m	Uf����� �a���h��V��.Y��n�'~q�o���u��+p���h��
�<�QXX�s���ܫh��`��"8ގulv�5�Z�+�Q��J�u�����������T�@)��!@�)��naD�q�|�
ؐ �>>��/T_�É4��.���_��s�V����.
0Pדmk�Ra��r�4/A.��Lu��q�QDً�nJBVAc�9m�O���Uc���#U,�m6���e����'�
:���CLt.�Iw�a'� ��{)�aM����A5O���XO���;S�-��6՗�0��%�1؍��4>+�r�?=�o�
VPj8�����$�E$�F��֐�Z�l���>��͟��'�#�w2�dzE��Q�&	2��� ӳ�D��{
;�$���T���9$�>|�
�Iᯙ�4S�z�*��kZ�՝��m�.��RX���8;A��)���6��<�&H����
��
�>����?~ٴP����y��?���'�k�>���6����I) ��O�s�:�CZzT��F`&ט�o����Q�:��7t��B�:�@R�Y0\%�H�.��6Yjs�Yd��r�(tB�^�n
l�j�)�_��:�R�ٱq1
�!�^�] �V��7
+���R��u�����eT�ߛ4��伔��:P��VA2��P[���M]����[��b�ʍ��,���8R�BO�Q��tā�}�͊?j36L^��P귟/V�(
A 8�ޜ5x�xඳ	��C�
���4��W_0N�O=��������?T/�����Z��
��_���Us�?%�~V��S^�����

*�m2|��a��p�EIG�,��l���G#�R
(�`#_�
|��.�k")�А����+
�0YM�3��f�h�h<�dW��>���N��}Ӑ/V����I?4
*h��7
�S1w�f
��z�t�
f-��D[`�R��[ jCܫX��}

+K��׏˦T��c
+_p�)%�� �X\~�P����ߣ�
*8��B{�
���
%��"s at qžJm��~��q���T����J50p0l��L
��1@ֱ�0:pD�6p�A�pW,NO�d��l�&t
HoL���嫲 �6x1i��t^m�$�{��y0�T`G�s����O�$j�m�sD�"s�mc�/�D9Y5��������m�_<Z��|��Rel��l��
�,nƎ�����@�O�
��p>�by��rĝ6U1�35�c��I��h�sB{�÷d�B�j਱�
��\������o�+��`����1�.��?\�􌜽�g�Jv��*<�ݢ�1�(>��3�8J�G"{�w@��ɭ��WK-�]%?�̏Cŀ����F�S?������z�!Y �؊(BX�K�-��:��'G6�qy���<)�$|��B�w���-���]D�
�^]�������&�,�erR�`xKk��n7k�a�a=�v�����E��i'�uV��,�i
�tWh_ъ�>̵y1�,z=�P [...]
���f!�

��);K�����j��_�
��-z�~I��ٴ��LK޺N2J��f��C2��=S�C�*B�s=�%�W�"�ƂZ�?k��Z=�2II�_
+��C&P�����v��ʄ�,5kJ�6���)o�i���4^�Y
�G֥�}���q��$-be��%̝I�� �
�HiW at m�1��-d
d�0]�P��K;
H�':9Nh�L��<JH0(a�z+
�q	�n�J�+§��~�M~2�ń�O'#I�3����p2�}e>Z�?4�H���@��WT� ���.��Χy���HU��p���r���]�C{�K
B�<Nv�xq
1^�j����Ntԣ�E��J�� !��
�L�{�`}��.[@��
�dKe�f��
#��T#^��!N����G̾��d�(�ڣ룎�\�<�}y��Q�s�X5��8�`��4�һ�&�
��C�/�!'�z���A]�r��e���
`�Q�o�F���b�N���9��.-d�T")��C;�-Þa2�ne�T�H
������
+�y��T_�
+�}��������>��xxϒJ��\�oj*���%c
�Ү%A�Z��i�̴� ��	
ǃ�
��Bll�ע�k
�0�○��^�!������i�9LFhUlw��<���;���2���;����b
獬�N���?
�'�-:|+9��Zsˡ���9�ٌh�@-j��:i	�^G�g�
a�
�����O���O���g����}u
" xӥ�N��fnq���
�Uxp��
+�� ����J�������;�gBR`�E*v��3�
�z�df����"���̣ �t�<�̵���
�G
+g@�ט���#�&
8��Sx��9N:g��s'�v���H��+�3��C�*���O��
+p���oc'�T��?){kX�"�Cr��-��P��wU���V�W#<ы� [
�NB�'�R�ǂ�f5�5�a���O�h8B��~���r
����a��C�����պ���jYׅ��@�R0����Ӄ�4���޾��Y�h<���9�j(b7�æ?�
&��H����"
�.v��i�O�c�8��y��q��3�
M���s8�gA�T|���� ��:0	�#c1��C�l�ܼ$)�n�{�D6N��?ؗ�s�XK<s�S��<��
��@�Y���hl��4�cН�J�>t�ą4 F�W�=�SC�ک:9��]f^7�
����T�*�ޱ;�hD��
����%pr�erߎU��ޤz�Y�	*�?/ܡ��
mt��ϖU�&��w)��˩b���
+S8��
T<A���f��X�3p8�W�ILۍحN�+�� ��z�\���`���݂��	]�+/d�E��كE��6*t�k�?�
k)n�}�v{L�+	5Ţ
zZ��Gl�
-�s�1{��PN���㘵%�vF�>\�����pT�.��K��x
Kt(�������N,��y��}
pQY�H��_[�&z�	a��EǛ;�fC�X"􅉅T��$�F�­������V��;�>��
����	��e��;�����X�5�?�?��
lA��㾦z�iUjc?�6��g�J�/s��C���H���,��(2 ��^S�����uJGO�P� �O�U�z��
?ْyH,���@K����8��8���Te�d
��
+���
�������m�~\c�]�d9��S�W������U��Fα
)X
�Y��j��o f�c%vͯ�O킳%̷�
����-L��RV���I�y=y��BZ
�~2���T!^X2�c�T|Z��S5E`z�f�E3G}��z ��tº��t��iItA5���߷O�f-�r�X
V;QY�)��k9�_�фQ�
��ez3����1F��1o�,��/Ua5T�� n[k�i���"
�Nj(9%�tRͰ��o�Du��L$�}H�1g,��y�g�%��n1@��!��{UV��
��9���?0,L��E����~�B�čHZ�vzD���R5NE

+c/Ɍ=S����!
�ᩭ�]����k�.$�]�d,7�$����=ü8�$o�c='˵+BׅA��[ �9r����֛_ �o���j�'ġ���ϫܽt=G*�e�
>��Ǭas�u ���u6�`�cU�>����	^�di��-�7�9�v���b�ʯ�� 
���]Ժ~��Dɪ^5������L'K�ɵ�)�V�m�0��S���j�oh�vݔ��'Ʊ�B�{I�Ъ�泫zp�v�Q��baY}b����%����u<c���A�@�n0��Qg��)?��c��{6�^|[W;fZ:B�X;�ӄ2˓��(U��h�bK�}9ln�^I+
}I0
+��G
�c
z��k�
&U�2�\&x�xzE~H���[K1���"g2�����w�y�R-���`;��E���#�g�Yz7?�/0�qpa�����|+ZPUB*�n9�^�/�h�MJ���P�g�Y��{�W�r>���QFI��=S��.v�yW"��2��7{���
wx� �B4���<�4^��:
�.�;��\���*�`�6��hB�,p)��4���}�{�h�#r�J�
�w�2��
>z����Kd��B��Yr�$��xˀC�
�wK�O�d��]�@��V/�@"���IH��y�i�E����������F8����� ��z6w�� �
���qN��h�w2R k4
��G�I�ȇl�mX�}�H_@��=W�%����k��P�
>���ߌ1U٣��
�;���o��,̹ꄞ}�� tqF�r at S�{�#�b�����h+����dz�U���-��x7X�#���x�
+���
��4�n%��{�ܾ\��o��p�[�Bn	�]�#�B�������
O
��gqkB
C��OH�W
�RQ�I��7F�
�zE
����2
}�z\�E`x����[3���}6�/J�
����m�
:C
�*©������-=).
���E7�����r
+��^���,�1
�O��4�
'�m��k��n$�
w�s�"ɛ�q7i̮��YW~�'��󏂳
���5�����ܺ���m<?7oၵ�jڹŎ�%�x�����u�������2Цh�Ȅ
��o;eQ�=�V�^���Іo��c�r2@��#~��
"���ʨ�%�D��K��Pљ*B�S����nB��9��e��sT�;�o���s��x��_ P��AL�8���)KN���#���X�A*&K Q�ށ�����b
ѓ!ƒ��*q
鄆��(�Qq?��2va؇���[�[痟�`,�������o�Z�����"S�2{C�^ѐ~��_����]�Y
{��-��,��+]˒~t\�Kv
-
i��m܇���"�-8l�܊����X��4����Cd�lp/�.L�2�կ^�)���mp�[A�����L�>�'ZHLĩ�4�~&)�,�$N��V2�y���+?-�7{Ѵk͙����F`���Ϳ
�<���f4WTqR
~}Hb�ݻ���:�em�H
�{~/��$d���L
q����k>� [...]
^���l�$�-ߺ��YK�'�o�*�|��R�,�P������\d�F��5��S�_������
'5�_�|��`�'�3z&fjB��yk�4 y��
QG�
�U�5h��������R�j:�8���nxt��/����@
,VᤴF���6
��k�)w��`w��-��y�u8
�W��w;Z��ć�����\�y�nڜu�C������Ι��*W�y2��xw'N�gDeV
KB<�L��)�
��/+?b�U�"�2���|�.�� Q���L���is��Bq����(�F	k�*��x�:@�h��:
��X�(,s�,f�&�;>��I
�X���=|c�Z�9�AN�9 ���r�
+��gq��?�v�^�s9>>d���g\w��[�;�

�HG�2�h4^���9.-�xْ��75&�Uo�˖�#'5����Yx������*���!8��bo���']&8��T��04{UIsS�l��6�1��|��q̻�LŢ�E��`|	�OCc�<�W�cc͝��T�S�a�����%s���PcraY*=B�p�X��
u�<�]�py�N�~������J��,��2WN ��FF����}��+(��������
zf^R�
������u{Z���o�v���_��=
��$/��.�� ��R�ȩ��#��K�7<Sg�ŽP���K�t�`D_խ�B�9+���2�2�W�<��ʍ��h�6�	�ت�&���F�U�O���~��e'{T�Y%�XZ�a�)�-����^���k�G�?���L�dX���(
��a
+a�^����'u�ƾ$
�A�>W�zC)l��VD��h��\Y�L�o��	5��1��l��3c��~����.s�d��S�4SN�"��OFq[��mW雠����K�[Ek�"�����UQ�K�$x�m9C��9�.���E�4���n���T�߫sZ:E���	gV\��?zx��
�M!�
��yTH�B8�}�z�$p��8�wA��7�
s���]L	���B��u���
���*0 at 2
���<a���0j�*L��^�CđD>��\�n��+
yOH�^�lRy��+ի����ڱe���m��^<~�+��l�S5��_�ǝ�q���<g����۟*��T+�X���'�oh
+
%���W$�>T���g�.=xC4��	�)
ۛ>v��,� � `��qpx�)`U��
�D7�у��t���vE�9c�7x�[M�e�5	Z��9�gr����;=��m��q��,��<�}�ay��ે�z�Q
+����AV��I�1�	�?r��[J��A	�� x���$
T=���OYƑ�P��
 ����"�d���ulʲ0��~D��Q�@m)`&��M�~[��yA��1��Ө���J�4%<�H�s)��6��
�AgX�~V��2�'F
�
+l��A
*�
++J�2C�����ROe�_����[�*9G�kjyd�U�
��v�9�[ϲ!]Nj
�̉7����)�l
-ט�Yn���d�Z��{�Wx�q
+[��{礪��U�3~1�����=�$��C�x�ї9��M�jh0X��2HY��"�K1&�,!?}�w(>� �F�U
�bQ�U}d�,��4k�Ϳ��`ѣ+�@�g��+\�i�2K&=��^v]+��ځ��&t�-" iN�>�����'V1�|�gy/a�����~�� :�����Q{��35�Q��{��
����Q��.›��
��Yޤ�bj
+֏��A��_�}�/��	6=U����2�[k�߸�5Y
8Yn�3�֜����3�E�������7�;sir$;����j^z>ӤÐ���r=O�V�'ZIx/M������"��B� LVʋ�t����
�|�X?/b$ϻ�T&c?�K��c��4nGL
�*�:
+�K$
���Z�`_Et�8]/U�L)��;^��V��TŢ+�6,�,x��_{.
��*]��V1�0����w$h�*U!
��d�:.�Mk��msD��z?S�F"�ƴR%��4~k:�d�IC����J^��~�tgdž��;>P�_±�6�{��3��h���j�EY3>�w��s��%p�cd'e S���B�sk�೾`�ʬ��q�����/:V��J����
+h/7_t?�?Ycݗ\wP-~����ig��S�Zw9��M�
�S�(":��!��Q�^ �oU��>/
��D���	J����mԲ�k�K}�Nj����c�X��#��U:��� =�I%�7A0RA��^�3����Ma5= yhc{&)?��I=�>nI��i�u{FyzNw�a��TD�.���p��N���?��bg2O�X[0�6F-#�l�C^��O���˅SB���Ϻ�B]yuO2�4q_���uϺ���,�Ev�͠,<��
+U���V'��?X�J^�z���q��d�����7�.[�u6���HE$ń�
᥃� �3�95"`� i
�f�_���7������`© Qz6~�ҫ.��?�,p�%)c�]O,H�.
�
+��JL�s�Qj8��EJ�4�mM����_B��g8�*>;��s�C�,��y�Е-lz:;�H�ddd`Jԣ݃���hh����C��N��.��9�n>
���gui�F�#�����A��N�7���Ӡf�W�
M0 <�	쨥��������� �l
�%�ߕ�,�c
�����в&��O���O w	��?�j��7�(��ÿWY�̄�7Ec꿱c�&%pZ��A֎���RE�e&��>GX+��,��l�C�O'Yn��Iގ��77��CO���&��q�������2ڱ�t�A�9Y���ςu��)g�����h�<4h�����z�զ�y2}
���v
�C�1ENuk(��D�J�_m�jS�v�0��y�8l�ض̑������a�Nur,�7�ɴ
�ht�!"gZ�V09����=S�
�r�y�6~v��
���")��"������
;�p�3j�Kj�O$�g
5޿���z�:�ݰDa�S�	G�l��r3�4.TV��-�[�9%�ҕ��՞�f�G����a�,�G�8Cd+
b�U�{R�)l"�؆�H�#Jc��p�*��$l�N��V&w�n;�j��A"N�i�{�W·x�
+��9�1%.�<�|��>���h.�i��s�wVa6��uC��?߻O���
�-���"Gߺ}|�
�x
.*FŘ��Օ�!d�kĹ`�%QdJ�V�V�_����lG��Pe����~�b
�/f�e���"��1��Z�(�|�l$��~"�X-���P�������FjF�
�1X
+Z�
q���k��L]x�2{A�W��̷_G�H�@O9YI$�܌5T&�F�Q�
?̄�1�6 y��\n�2M��.��>Nl%�O�V�I��	Q
�Y�|�{�{mo���
���q��������:������c /�����
��-�˙#��Ny��ё�E��30�m�o1�
+eB�uG�>�����(���Y�#�zi7m��l����*�8۵_�)�I���[#���,湉p�k�K������
d�\L*��n潛\��2��g;����>���B��[e�Y
��s�<p�p�
)I��̞c�

Yt&>N�a�q�?74"�.��#R2�~��L9������+��$�>ҀI�#J(��;���{쓬�W��"#ŵdT��6o�W>��;L�	����j
W�o:7�y�o�͐j
!����
� <����� L��6P5e.vH��?<�b�'����	ۊ�%DJˍ�
+endstream
+endobj
+2887 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 2886 0 R
+>> endobj
+2888 0 obj <<
+/Length1 1647
+/Length2 14693
+/Length3 0
+/Length 15548     
+/Filter /FlateDecode
+>>
+stream
+xڭwctf�n̎�/�;NǶ�1��F�vwlwl۶�m�f�}��g�{ϟsϏ9�|
OU�OU�1ɉ���m
�b�6N��
L� 9skCgG%[k9[.z%�������S�GN.� 4p2��1prԁ� �������G��sw075sP�*�S����K�	�����OOGsS ��
����h��	�?vTNf@��� ,��))'��S�m��E(8Z�d̍�6�@j�����������_�92|b	:
 �v@#�O7����/
��`m����
0w�:�8}ށ�-��������>�&�'d�`�ia���S�utr4r0�s|FU�G�NfN�v4�TlM>-�m���*�o�'̧������ts�+�!`l�hge��������4�
�mL��
�hj�`ltt������v�U'�To`gg������V�����#�ʄ���3���glSs8ƿ�E����������?u.@��/�ꯞ��L������
`
4�c��u�
	������G����+�����G�s�_���w��
Z���J������g �����k 2������௅cn��X�[��w��n��G��������1�d������bsG1s7����������������
��m��$�}��NLL��S137����
���6��^�'oW��&��,!K��lۿ�>��I����H겶��y�
JH��
�I����g�`�
��q�b�����7�βN�n -&&&f����ϿN:�#jcdk�W);���
+�R9;8|2��6����翇 t�-/��Z$��8Uae
��h�t1��֪���V�v�$�nq��V1�Mp�7��۽�J��
uaZQv&�s�H��sQ�)Z9h��u
RN�#=/�d6!��3��m�)*��BL��:�\<P���������!z%��`�!ׁ�V�
�P�
>�S�
�w^Av���f����@ PD��g��W-��F���/��M
`[!L�ڝ\��|BU���A��t���#-���'��dž}�
��>�a/+�̺?�o�/��[�1&Ԯ�J��զn�v��a˫d�j����2�3c�f',3�kp�p
~Oy?W�%��[U���!�
+���3�~�� !a�>1�zw�C�ܧ��ds�������!�Fs
������7�i;��b��j{Nl�6<{�|9A'�/!�@�J{ ��l�4��\�.k
'ߔN�\P�~�K���YF8�)_	
Y%���"�x�I��~%���,�o5���8� �e+
�Vi�e������C�<�9�0�I砵(h
��a��L�a:X���{9�J����nu�0��S+�	u
������i��Y�� �E���/Cdp.��$<��W�?>�n'I�5�w��ˋ]��r at jG���
	�<�^�L�0aG�v6�n-�!����_�4��/�HxdS�zM���j��
���	���_Ä����6Sѩb� �9��|���O���,��E����l��ȅ�
�K�����^���(���
g1��;!�e��H�m�k�v���n��-��z��a�3v��l�Wm�A��}]	�:H�%�?�W[�T83���ɨ��Y���0�b�%�~Ω}��5��n����0eٷd��
J���x����}Fm�(���j�S�4�oT��m�9L���xoF�-m,V��B#0���~�k
�Pk#�߃�|q���W<|���pz�",�z�y�TRo��#�i�1�k*�[���+Ҧ�
�Av�|���N�飉[+%Vs�

��Ap�ַ�(��L`��$�4)l�
�Z4�N@�l�HQ���پ�0��Q�Jʀ쿑�ɗ\p�i?Q<�*��
V��

�a:��
'���L#~ y{^@MJ���=#�M����w4�됪���[N�I�}!�I�J.����B2��H�I�� \gw��b&�ȁ�)Y�������� �l^�)'����W��V�gL
��R j�-*%��<��R�n�~M+8�"�K҇tV�����
1N
��d)%Uj\-f2a���G��������~>���;8�Tv�n��I8�q�(FX�/$�7�	��a�ץW���@܍��їE�S����ѣ�Qʷ��j0�V"��Y�sAfQʵ�
6�I�
�v�"W{����(]�WQ��ѫ
`�
�E��R�Ȝ!_^H�˱��\)���b���*�Gc�%o�
WxV�
��'��Ag1�@$C� <_���b*R��bC�q(gd
�����(e�m{�CQI�Y���Î�IUӘ��NAl�Hur[��������r
QqB<֥��GW�g|������q�U=Ѽ�h&?��n�)������ԭ<5Q�)/{
+��+m0�rt���5�!�G��)u�Ip%!��"�o��7[����Qm�iR���٬ �=������;�
�覆�)��S�*d��F:����h��c�������*IQ-Q,�����b��

�
���r��p��nP=3�\�^˰�ݽ'^���_��'�����٦&���a[�BMM�Nۂ�
+�
+�O����_�N����)�����77̋�tn֌��
ɸ4�yQ�'���W�{1��-��^&��1p�`*r��K����k¿`0|\��O�!m"� �"u�qNe]��t� 
��C���;����q��fE������lL���UQ�t��O���h/ي�	C���o���-�$�h��(fT�ԼX(ϲ5
���ĸ%����R��J�K
+d��Caj
�hbae�,Y�=�f�Fz˜:�?7j笷�c�&����F=�۵��g��
g��t;�b�
+_
�q,1K���$��h�~�MKt�0�'
��h���m�1���l��K:��;i?|���m��RA�t�m�م��Vf���S����'u��'�N�.ӈ�thM��]�r��������ӡ�<1X&�����x.0�"q�w�Q�jF��<
�$��Z7=�_?����Q�"si�w�hK�7�F�O����E{���|`���i�W������=n+:�����!sO�-R����~��i���gl�δ�"���P�+ �����jTr�}����`aO-��3�6`�6�¶zHʴ�4�]�P䏄�5��/���
��obƼ��76�8t�O��{�il ��
`�������c�V><�/r&�����E(��[��w��h��
+���X]�iV
itڂ<�@��BUj���$D����r3 Dd,y����)x��ׇC;�B��g�h��
'���{o�������ZH�PD?�C:�v��HN(�>n����FJ�l�.��o��ۊg���8�#�D{��Z�G�Q��v���Թ�m�)BP׬@ݏ�vvË.%-|���o}���Rd�
�k`-����o���{����JZ��O�����m-�0�n����ϤQ�#�f���u���R4)�F�߈�^��Q
��0<�Y�X��{�7ti��݄.u�D�OU��l�a|C-�9�T��&���3
uB�^�,���]�T��f-ȯ|\C�U֏����}��#���$��3��ݧq�� O•nk�ݼe�����.��k
Lx!�
� u����Ӗ���_��!�hqّ���O�`���VOڴ�Z
��Өd�
����d��Hfah�� �\iS��0� �@V]Y:�l��ۭ��Ng�_+*{�;��6�=�����<u�����
�AW(�$|�B��
�`�<YA�@_|��,X��"�@S��فS*��/��;=
:�uUg�	�J�y�����
�0X�Z�
�Wn�N�Ofك��B{(�d<�
��ȱ��u����Y@�z�V��MY����z�L�yA�uս�.-�T��+\�\����db��2j��4xy�7@�!��Ol�
�=�`�>'hT�}�Xǀ�4Z�(Y�I�/�	������%���{j��V�l�T-b絵����?
MW�7:�ٔ]���s�ݜ�胫c)��%3)��o_�s��Q#�K~��-ƛ�Pn-2�cSc��U^�\
c���SE~�f C��
RQB
]�қT�u�N}:����F�L4
NF��k�n�2w�c��`5:'~E�=F	�v})�o�G�W�K�<`c2`y
�e�uNu-�����#៕N�>�v�f�\
��=.�Z�����rv|wo��p�JL?X���{��qE��\rLf٬�v�G�P�y �\��ߎ��oC
+��ϟ8�:�b����a��w�C���޿
�:̝͚٨,b;�� �x�B�Ux���a�CHa}i)ij��w�̀�[據�QZb_���ñ<6}GF�.Q��y�gjkdӧ3��ƍ��F�����_���$J
=a����+Vr���V/����:�`K�޲���
5�IS�8;�)#�d�u�i�X���a���תB�Q��.��H.j�4_��,��c�r�m���]bbi�j��w�6
?��zM��k��
%PeI��;�T�ph@ q/�7�<���Iۜ��u�$Q���J��|L?�
��	\����u��W��
+"��=߳Ag5M��#''Z��$21m�5��������g��Ez~}d؏ O�3Pp�kK]������'��eK�#��y�	�g���Hf�\b
+$�{�Vx���
��*X!&��^ծ��x
�k"MH;c$�}e���,)��
��U�
�1UY/�Þ�N�3อH�!t�ԗ7u�\��L����$R;�^ujzh�ul:=���)g$=m+���
��6����%r�'��:w-�h>O��c�ĪJ�%Y��]���:M��bI���d��!7�Ǩ.�z��Z,��*wP�Q�� #��ظ�4�ޝz�C�#[���::��.R���P'���O��Fp�x؋��_}��#GI�Q���7�c�o�B��⛞�dE�|�ś~���<H��>�QNNN�F�)��
�.R`$5�_O��@�ۭ�*�
K�Q�䎕Z��NwE������@m����%qgIZ�(��\�i��V�KΈr�PO�
+l��BXl7g)��[II���Ї�����������l��.?�M���
+�n���0�nr��-���
x ��
Ac��-:٥�Ga��/d�fi�P�.��.���n�Q0s�`���:B�<��1t��4�}W�`�	KF�3?�̴���D�
+A��T�i���ߟ����wo at I6I2�|��I�D��ɸQJZv����"#.#�p
�-�h0ο	��m�]�?s�����
9J.�d�]r�&ձl-B*k6"��ZK�J~�dDʕ`��$4[ �e������o3j���C�/�$�

�īM����6��T�q0�
��*�����^����
܉_���� B%g���Y���[�J
��?�ʨ�k�_kQP#|.T
��B�����^*{��&�mB���nu �W���v�0A4�}T����,iN{?���#�i���[l��wl|�DGˎq
�TJ.���lk_�P����o�i�5M=�.�V݉�ݘ��؈����3<x6Q
S��?t�_d�/�Qm��섭#\�1O�}�P_�>�;�IR�Ė&
/�Aꏲ��~w���1�g�I1s��m��{bN�-�-�	6���3��#t�C'�-���z����T��
ΜUg������
��'6c�

�;�lf��
��tѪ�h0�5u_�E$�wS[�tmH�O�w�]��l-�����
;�A& ���c�Ɣ ߎi5��'UT�@�Ur�g0�Q���?
+,@{��м�o�{P���)��d��6��t.9=�Ǔ�:
+�zP�&?v'\KZ#�u��|_�&l��k=.ۑ/�Q���,�c�9��
�91���
�n�CNCl�w���9F������+o��kK���c�[6�o��@?���#����??���8t�3Ѫ<e9;���
�M��J�B7W���L�C*����Q��)�eʔ.�̍
�{I8���Q�:�rv����(�/��MA�}��B�j��c��

+��z��cc� �R2j�IbC_l;ͪ�k1
���oԣ�
�Vr�ۼ��b�j�r��Ƥ�����`Q�)b?1�ʠn/�uK��;.��M�5i��cټ�u��̔�����Q��4��re~�=�s��l���հ��
jr���-�j�t��|���8T�>?6��0�g"?�j�	����S&����Ǡ�
����
��"��ķ�
�H��7��=,:��������0"���a=�öU�ي�
�ܕ�!��X|�Ӿt���G}e�
����k��yjw�3ê|�B��G
o���j��ڍ�d�t{2�)ӾJr�����S�����T�IAi�i�7��8�>��Ԭ��e4�:
`��͙�@x򛁶�>D��
~vޕ��<;��u���P�J���#�;���
���+1�S)_9+�+��~�`^�:>h�Po0d�	6�e5�_��t5H^3
�ӕ�<7~e��%�Ƿ�R����:y��k�E�!r޶�!�2B3�v�U�0!|i5��3C����mY���8�Ѷ�y�dƗ��~�Oo����p�e�+7�O�.�������_	�{��j��s@#�ĨZ�7�����ׄj�?5ED�Ϝ��X2w���z�x��m�
†���u���]�?���n�EUb�0�U߯���}Ny�F������rC�iY*؝2�=��
+�_K7l�[��J��ᑟ�%.��_���6N�xV&=DH��=�)�U�K�49�I�$�<8�S�
�?��V@��t�'If�@���}��
=_�i&��=�^w?JA�tV���9�c2�|�OQ'�����j��d�a�Hl4>����}H��ъ� �f�ɆGT���=
�R���?�?{?B�T֔ܚlUg<�I:m��A�R��N�k���gn]�R�~��D$�Dj�uJ?Tx�҇x&Gp��`��{���苗��Y
]zx��+����2�R{�~ �;)eL�c�~0��M��`�V!�E� yp;#���&:(_qh[���n�+E�<�+n�
}.Y���s�'�/����?�}hH�_��oF}阢���;s��V܅�Υä�%]pw)4��Y �d��ѐ�']l�)��u+A��/d�msR�Ny�����
�Bun�����
Cj��|�	ț�U��0�T��G}��q�N��~��
@�
����\Ț��Q(�
+�e�0s���ц�� E~3��8۷�p�;���6E�)��
O?���Yd&E�/B�b/.-��,;��y������CB/Ŵ/
�Ca�4�j�������
-ɰ>3
+?ܢ(2��;	
���X����A18�����eۀ.���E;Ē�H�w�>}�
+6��
�����S9kKSjJ��.����y����c���
�N�Z����B
8��p�F{��L%m���g54(Ʀ���F_nGIe��=@.H�ۮ�@�i�2��N�A�Aj4�ȟ=������4��Ժ�`L���
�lU�Z���7��,;&�S�@�
�ZK at y!
����߄-HO��~�J�1�z&
�ն��%h��VYT�
F0QO���i3��}�q
j�u�L:����Mw�2N��V9��~��MF�ܘ
Ej6�c5g���YJ螒`��k�	�3v��R�
�4��(EH0�	o��(����]0��&)�32D��69F:�5���"˖W\Wæ�bd�uB_�<�22%�D��-	i&�����&�9g��(?B����
�B����oy{�`�^��}���%3Et�j���u�љ�rq�Ơ�#Ο�H��k�����
i19�ȳD�{f�>3�����Y���0TW�EH6[��Z�ê�\-4^��`}�h��˸�� F�
�z;�?nt���AsA}���&��1��ُ5=��Y-��H�?1��%�Cݟ���k�j�
��\Q8&Q
���kY]ʀ� 6M��n��B#��\Kͬ�
_b]Ȁ��}Ka��h�bM���BÔ	�b^���Ο�\M&�]�Fno�����M	Z�qv0:g*
k�u䎺LA�s7��u�U2r�K-՘��
R�t��,c�	V��H)���&4/a��l���+Nr�;O���Q�L �
���W"&.CXk'>��f��Y
���8s����x�#�z������
n�c�i�k�W%���oA�Rl�
ZJY
+,��BB������� ���p- -�Z�qJ?�g�`=����b�<�R�1��Q at JV�����֛}�T��
+��&�%��azk�g�����^E7
+�~�W�t�;s�Ĭ��C� ��}u��
,�%�W���3�X��C���"*�U�
+�E�?��x �Y:Z|�]2��/K�1��[��}����SH�
Bw�	N�Ngh�w�ľ�ĥ�����Π�^�N��
�ָ�B$R�
+�+��
��U�JziL����������?�|��eS4s
�Ո)w�,�㋌V둸�P�Qڗv�d���˜����9��!vЈKq+�	� ��
+��f���h�
��n�&�k�d�G���$׺H+F3���t�}�K5_���ڵD����|�J��܇%*�;v9:�u;7z
RުV%���4�)���Mr�����uW��D��?�+x ��pk=�٪Z^\.�jp��ђ+�s����<��v`:��+4���}c��U�v[��}��5���5�WЕ
+g��C|�w��VU����a���uӳl3
����E��O�*el�.
Pr�w��g��G3���)�KJ�����H4=ˠ�R>����"j�
<q�}��	H[�#t�t�D�L��=�i����<P����	�ڒ�,�zY���]@ĹbTK��&�1�C~
6L�xB���<b�ȨA�nZ��N��^(��F8�
+G-#�m�r�\���/�$�[��� �j�(
+o��'��,L�����]!�ec+�h�	-ʍ���C-6�X�"}%��1�ϕ�j���-p��M!����1���EO�����D�=�d�����7
�$ݍ���Ε jB<FM�
$�`
�E���@�,hV�0�,�
�ش�lUYWx�:�E
���������@
�F��@�\E���
�ȹL~���v��G�mg<���i�`��u?%��M�s��#�J�ϟ��
`�i�?]�^��@(��Yݙ�������o�u�	�w��:�k�g�4���o�w��)V��$5��Dl��5
�8�[˿�FKoi��ڡk�m
+6��TI9ȞQ�d�$u��2k&z�q̠��
+mZٸ5+��E��"�MB_�	��M1�]p[���nwf�H���.S��e �]a{Te�֐��粂��� E����^�[� ��-�Z��g�񍠅2E�K !|��qP!�۳k�)��Q�
��z�" C���$�V�� nxaV
�����O]p�x�%���ǻ{r�э��l&̨�ε>���<+�2��=j��WYD���d8
�M'߈� �j�H
�]�Q�"�d|�2g��(4	�J����
�#�(�WcsYx�S��)l,
\B��
��5)ppXI^ʼV^���Q�&���&*���n`�{_�5�dޭmҷ�)�s/;��ɦ򮇹Z�S�=u7�X�3~\+�L�(ONa<����
0��%��P.�k,���ł�C�z�UN�T�w�U�󘃢m(J
J�,�{�4�%�	�����W׍�Z�izΐ��r�w
��ʳE�#+i~���<���o~cl��Y��z;X�F���쫢o���f�pռ�
[kX|!Lqίy|�.�֑��3[��=ٵ�s
�i�a�2��sF�mj#�F.��'�Q��l̈́��z[ �$�����&� �"1��*{��~.���Vý��
C�gn���j-lY���%��d�Pc7�Xv�]>7��4-�����@�;H���4�IS?b|A~.���e���� @����{��b���7!؁�
� >A���c���w<ۭ��*�H��["�,�O�G
��RO؄ӽʵ�q�\��7�X��R
��=0���X�
�v�
�UoW�y���q���;��iC>g�	n/���?n�m�^b#�u���E"�dž���P��<�K*l�)�O�[�ߌ^���j�Q8��>�{]�
P�Z��� < +�_;��� �;
	��e�2_��k>r I����/�K%P����~W���9�8ל�U]�&�=���{�Yq�6��ϗ��&l�M�t�J7���"� �UMA[��ұk�
@d��qS"SK&�p�Ocsγ�,�fYkBa�	Eu�w$#yG1=�}~3VP
+�a��ju1[w�9�z��6Qn��E�Q�Cs�X�wW�*Ze�Ē=���%�F�Z�EYf���x�9Q��s�Q�i �!�T�l�C
EQF�5���Ʋ��@�՞����l�lWP-�f�@�HG܈�V�q�J�#����r
�#�b�2?��r2���*I�{>
+3�~�þ�����#{�3����@ &�G�7L5J���G���/��c����׵gcƫ�j2
��U�N�9��D.X�
+�V��Ws��r��"
\�Me��fʫ��K\
+���k�V��Zk	^���Ĩ��.zY���D-����� -�p�P�����s;\iTC�ѐ#
�A
�E�x�Y��vv��pfe�5|�+W�U,U�JG񂰋�o;!f�s�wW3
C�),��j�Ѭ
H�x ��n6��;ˮx9`/�U��uH?�v̄��k�� ����4ķ����WD��c��#�ۮ�q�s�&Ok�<���I��8b_w4�"D�[H�l���)��[|�֌�R��z�Wͭ�d\�p+�-��B�4��x��iuFN��8��`��9�Nw̍�$b��
�RĢ��iv��
b�s�2�SyK�Wໍ��Ћ��<�m њ2���[�$��S�;��rT&0$yx���C�C&@�]���HZ��{X�˙�
�)G����z���*	F�/��סB3�'|�'���k�5R��T��y�^�"i;�t� �����=g��
G�V�ɣIj!OT�'�u|5V� f�LtT�x}�
�x�
+C��}dTz�D��;j
�
4b��[��f�����k���"����1���%� �J��Z�O�"�f�i��Ȉ�W��@�xPc���	��=݇��򢫪b�
�tn�:�y���atX�./|��xT]��8֯S
�<'�V|[ɿ���y]
+��V�r�ѩ���a7
Mr�˚Bi
Ǿ7����BXL�� B���
6D�*����n�C���T)#�>\�]ڎ�`�+r���	N�~����Gᵳ=��á�n0�
+Ӱ�
+�Ֆ����}��**�|l���ƨ`�
i�m?!'�1�ə���줣`��JW��	�y����\�9���6���l�^4��o7���l�P��7��pm3y1{���U�Y�n3�#������G�{��
�{Kn��U�@�!G���g$+E
���h���L�J���{�k��'��F�އʳ�4���u�O�%��"�&���U�
+�Y#��!����*
�9�z��ߘ_Pf��jQQ���4{�
����ߠT�%�0�]���;�����6N蛒���.׆�Qix��PfԖ��~_�j�U
�JA��e'�i;	TT�۽_��a0�ȆIt�������R�ʣ�  Z�DS;V���$��=&Y�	���Ī}�<�$��4�2��w�(bHo@#K���7��-Ż;ZZu��J��.h3�k!�H��F���pf*��X�Z/�"vw�ȴ�:^Ւ݄��^YC���_�vρɢ�L*��o���e�n�N���Zm�*B0X���Ƽ5X�t���oVI ���D�"t��2TS]�.ZCk#�Ѷuۥz��
+�K�6+zM�е ��E/���\��(v.D�*�J�
�Hz4�WKn��� �6�>`�kȲ%��
�a��ј�+Ml+�C���k'��}�q����/��D���K3�[���	B�ޠ�
:c����Nٛc�[C�.H�/1�V%��܂ H��~�k3��m�$�I3=����|�&�+^�!�f�����s�=o(����i�N��`�L�.�J� x��KlG�s�B���6}�l�tV�J<
��p�
[��Ҍ��#��CBfIJ�����w=1��eZ['t����x�3S�nu�
��8�����{��
n��$�߳�.ׯ_�Λ��l�d`
:΅�G��
J��l�����k<Q^:H8�<N7?�7��1N#��z�&
~LJ�fz'J����a�"ϝˤr"-�
�e�-��^�wG2��<�����ϕopظJ�ȫ�;La!�#�Gj�$‰\NI �,~����":�ޟ�I�
�e͍����3��r3	�
�8�W�3�~r���:��+���
+n�:���.0����-�7�~ [c�y�~��q���|��[��e���� �^�"�J��5o���l�G
�y��Ͷc�Se!��<'�%�QGg�od�lY`�xUQ?�cB�� UT?x��>_�
~gۣ�R�t��O�;�

,���UCB���j�k��K�3��.�\X�
�73��m��/�


�/���q��
���]e�FL��N �
>i����P����D������;��i�#h+�z-�b{��j�v��o������t^�C�㨱#�7_���#ff���Dӝ��$��<k��aW;�
+2������S�7�z�2�v�].i֎�5%r��})��R�{Xij�W����*�+}�r7�c��8
+9T�H����d94�k�ZD�?�,/�
�)���}ڕ�~���a�!�#�:�%���+�P���B�M�^�#��ˉ񕊦�j��}��V�L��N���cl�[ƛ��4@���
��>	N�>΅AyiOɐ�3x��r풷V^ r��`-�E6��,��:,5�kqN ������0\Tfe`=�i� ��f`x��
V6������Mi���>r=c����
�5���EHv��\__ds���
�u���T�R�e�
�ӳ�ۮ���
��t
G_yT �t�e��4�l�v��d��	%eQK�X�O���G�z����>I��(#Fb
adOVV.>f������|�����_>
�_�F����X� <͜gUοx�k�a�Q׉��
v��s��(Z�����ڥ7�a�g+�Yp�
+.���aS�	eeB�/(��i|���0ƌYP77g�x�
�R�Ӵ
�^��
^32u��vg^;�l��gȄ
fbʼ��UE�Mz�e�Ac5�PV|"(q�[�}
e^~<��)��!>
7�)��t�4;E���\��(<�n$ƽ
+J�yg��k�ŗ��k��M�A0���
��G
��n<��ό9�s	u	N�1 �"�67��.�L�.b!�{���3�F]Z!˞�S]O��X�j��z{6��mD�CS
!��N4\�8�#��Q���U�Ib&���ݾ�Ay���
���z���
b4q\�y@L
̔8��~5��|ڕԼ�>�E�TO_�U��hG�P�t

��5�6�D����ҙ���D�� ���E#�=�x�[�u�R��ꃑ����ޭ����
kA:=���(A�fG�jiLj�9�
�k��ϕ���Y�A�5u��
�δ�w�0B���e/�:�(bg����1��|M;P��h-u]_u�
*�����#s%J
�j�x�C�����JV(
����������lA�k�k�4�]�J�7IF0=��b:�
��
z�e8�=�G��@ݯ$�7�=f钍2�P�	��:��z��[�H�>]�7æ�:��
+"
 ��HƵ��zŎ>H+?��x+��zU�
#���;
�d�
��h ��\H���*!���`�Sd�e�U��g�C���\5��x�GO�?>�
�����C�k������_o�O���yװ�NCCH|�7�#��H�
�5ܑ��� ОİC��� !�:HӢ).�͠C��?߾�x1+�u�q�F�e-�`�22^Q|U찋�@z5)P�v���z�i+J~ '�q`��	���t^��S���׀h7u�?���ں�nH��y[Š��e=a�n�
ѧ��U�OD�S�˗)*F���Z�?�+P��!T�FU&�`A�/����x�2(S�%�ƺ��0Y5���4�m�J$�A�\ct>!-�� ��%�Hj�
�
�%(
+X�1>e��@H�hH�V�9*������
E�׷�J|�S�
y��y���m����o`�-���<�2�V2/

y�X�t�A{���ʫgl�<l֥�8ɒ]:�L�٨�Gj��YF�
��F׳h��#E -��}��#��
+��NG
!�������fj�)���v�Q�}���Y=J����ᗻ�ɳ,㷲&�
�����*¼�5�M�TSǮb
N��r,��W��04��9��
k�
�Y��3
�5
+�,�z$�#�π��R���p<�׊�صn�Z�W�͞\m�^Ҧ��p�}ɳ1}A0�~�E���j��y�����4�,Œ��]��
 !��[�(_s�_/�b��1*C�1V;���� o���� �2

 ��$���l��s�X���%���O��h�kF�8�g��r؍F��wz�3-l��#`9D�=V��
Fo��9�Z��W�᯵��2p��n���}�N+�(�8|�m(�����[<Ull�s?�z�� � ɀ(��Ls�
�t���P�[0�@�g���O>�]�o3�M��Q�KHΏ
'9�QӀ��U�p��A)�K�
�hl�a2d�q�N�iso���=�
G^	=���˴�o~�Z����QI
��+	f�X]�����=�8�|���g��|�P�!)i^����s��^-pmD�"��	���Z����7���nݎN�o����f�?�h�@$�Y�oo�VF�[��4C
c�%E&��n�D�����>�f�z՝��	ۖ���X'���z����S�Q
����@W�M�&�6���
��H��x�����<����؏g
,f!�j�}"W63{��~E�Y���
fe�w���5S>��:��1u�U�u�a��D��WEM����
L/�
���~����(~#z6ջ2-�
�˳�q��eT
�(�Iz?��jg������X�vnZ@Ե�k٣2F9���<kel�u3������2X�$t�eW�P�
+;�c�B���$5֊m�T����;�y���
�
]u������H�3�$G�wZ�KM�J�u�\�:o��,��=������Ӧd��wd���q)��]��K��L�'���?*�&�
��h��cx����8i���,�MRij�pL��qv��rĶ���H�F!�۾�	 TO�H�kQ`	��7ߨ��fo�
%w�l�
�ٴ
�.�uf�����x�Ҭͼ���i4Y1G��*@�=�b:��
+g��N
-��`,3�B惁���yw@���zlU�i�6wdd�7�y!�j�^��4#[ {O%��R�}�TU�~Y�k
�2]=�0��ʧ�!J�҃�i���
���� ��
���K,�I�w� ���%�&';�sm�����
+endstream
+endobj
+2889 0 obj <<
+/Type /FontDescriptor
+/FontName /VFPSHM+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/I/L/M/N/O/P/R/S/T/U/W/a/b/c/colon/comma/d/e/f/fi/fl/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/u/underscore/v/w/x/y/z/zero)
+/FontFile 2888 0 R
+>> endobj
+2843 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
+727 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /MALUHN+CMMI10
+/FontDescriptor 2855 0 R
+/FirstChar 46
+/LastChar 101
+/Widths 2842 0 R
+>> endobj
+919 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /BTJATV+CMMI9
+/FontDescriptor 2857 0 R
+/FirstChar 46
+/LastChar 118
+/Widths 2840 0 R
+>> endobj
+728 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SWKUVX+CMR10
+/FontDescriptor 2859 0 R
+/FirstChar 48
+/LastChar 118
+/Widths 2841 0 R
+>> endobj
+1307 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OPBINH+CMR6
+/FontDescriptor 2861 0 R
+/FirstChar 48
+/LastChar 117
+/Widths 2837 0 R
+>> endobj
+2619 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UYHLKA+CMR7
+/FontDescriptor 2863 0 R
+/FirstChar 98
+/LastChar 117
+/Widths 2836 0 R
+>> endobj
+920 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KKSFXT+CMR9
+/FontDescriptor 2865 0 R
+/FirstChar 40
+/LastChar 118
+/Widths 2839 0 R
+>> endobj
+144 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VUZELH+CMSY10
+/FontDescriptor 2867 0 R
+/FirstChar 3
+/LastChar 21
+/Widths 2852 0 R
+>> endobj
+146 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ATFWDW+CMSY6
+/FontDescriptor 2869 0 R
+/FirstChar 3
+/LastChar 122
+/Widths 2850 0 R
+>> endobj
+2620 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NSJEOL+CMSY7
+/FontDescriptor 2871 0 R
+/FirstChar 48
+/LastChar 48
+/Widths 2835 0 R
+>> endobj
+145 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JRVZXP+CMSY8
+/FontDescriptor 2873 0 R
+/FirstChar 120
+/LastChar 122
+/Widths 2851 0 R
+>> endobj
+440 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GCEPBM+CMSY9
+/FontDescriptor 2875 0 R
+/FirstChar 3
+/LastChar 50
+/Widths 2845 0 R
+>> endobj
+1306 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CDCNLO+MSBM10
+/FontDescriptor 2877 0 R
+/FirstChar 81
+/LastChar 82
+/Widths 2838 0 R
+>> endobj
+179 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /RKUQFJ+NimbusMonL-Regu
+/FontDescriptor 2879 0 R
+/FirstChar 33
+/LastChar 122
+/Widths 2848 0 R
+/Encoding 2843 0 R
+>> endobj
+283 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JOTYEC+NimbusMonL-ReguObli
+/FontDescriptor 2881 0 R
+/FirstChar 39
+/LastChar 121
+/Widths 2846 0 R
+/Encoding 2843 0 R
+>> endobj
+177 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /PHKQQQ+NimbusRomNo9L-Medi
+/FontDescriptor 2883 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 2849 0 R
+/Encoding 2843 0 R
+>> endobj
+447 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LCGFKO+NimbusRomNo9L-MediItal
+/FontDescriptor 2885 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 2844 0 R
+/Encoding 2843 0 R
+>> endobj
+143 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /SAGEMV+NimbusRomNo9L-Regu
+/FontDescriptor 2887 0 R
+/FirstChar 2
+/LastChar 169
+/Widths 2853 0 R
+/Encoding 2843 0 R
+>> endobj
+202 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VFPSHM+NimbusRomNo9L-ReguItal
+/FontDescriptor 2889 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 2847 0 R
+/Encoding 2843 0 R
+>> endobj
+147 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2890 0 R
+/Kids [138 0 R 174 0 R 199 0 R 209 0 R 216 0 R 223 0 R]
+>> endobj
+236 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2890 0 R
+/Kids [230 0 R 239 0 R 245 0 R 251 0 R 259 0 R 266 0 R]
+>> endobj
+284 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2890 0 R
+/Kids [278 0 R 287 0 R 293 0 R 298 0 R 303 0 R 309 0 R]
+>> endobj
+339 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2890 0 R
+/Kids [336 0 R 377 0 R 406 0 R 430 0 R 462 0 R 507 0 R]
+>> endobj
+582 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2890 0 R
+/Kids [559 0 R 610 0 R 666 0 R 705 0 R 722 0 R 758 0 R]
+>> endobj
+801 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2890 0 R
+/Kids [789 0 R 819 0 R 868 0 R 908 0 R 953 0 R 990 0 R]
+>> endobj
+1061 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2891 0 R
+/Kids [1040 0 R 1083 0 R 1130 0 R 1167 0 R 1202 0 R 1250 0 R]
+>> endobj
+1314 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2891 0 R
+/Kids [1298 0 R 1337 0 R 1366 0 R 1419 0 R 1457 0 R 1503 0 R]
+>> endobj
+1565 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2891 0 R
+/Kids [1547 0 R 1600 0 R 1636 0 R 1684 0 R 1740 0 R 1792 0 R]
+>> endobj
+1825 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2891 0 R
+/Kids [1817 0 R 1850 0 R 1902 0 R 1931 0 R 1962 0 R 2013 0 R]
+>> endobj
+2077 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2891 0 R
+/Kids [2061 0 R 2119 0 R 2190 0 R 2254 0 R 2333 0 R 2396 0 R]
+>> endobj
+2467 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2891 0 R
+/Kids [2452 0 R 2513 0 R 2555 0 R 2571 0 R 2582 0 R 2592 0 R]
+>> endobj
+2609 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2892 0 R
+/Kids [2602 0 R 2612 0 R 2623 0 R 2631 0 R 2641 0 R 2711 0 R]
+>> endobj
+2771 0 obj <<
+/Type /Pages
+/Count 2
+/Parent 2892 0 R
+/Kids [2768 0 R 2832 0 R]
+>> endobj
+2890 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 2893 0 R
+/Kids [147 0 R 236 0 R 284 0 R 339 0 R 582 0 R 801 0 R]
+>> endobj
+2891 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 2893 0 R
+/Kids [1061 0 R 1314 0 R 1565 0 R 1825 0 R 2077 0 R 2467 0 R]
+>> endobj
+2892 0 obj <<
+/Type /Pages
+/Count 8
+/Parent 2893 0 R
+/Kids [2609 0 R 2771 0 R]
+>> endobj
+2893 0 obj <<
+/Type /Pages
+/Count 80
+/Kids [2890 0 R 2891 0 R 2892 0 R]
+>> endobj
+2894 0 obj <<
+/Type /Outlines
+/First 7 0 R
+/Last 59 0 R
+/Count 7
+>> endobj
+135 0 obj <<
+/Title 136 0 R
+/A 133 0 R
+/Parent 59 0 R
+/Prev 131 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 2894 0 R
+/Prev 35 0 R
+/First 63 0 R
+/Last 135 0 R
+/Count -19
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 35 0 R
+/Prev 51 0 R
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 35 0 R
+/Prev 47 0 R
+/Next 55 0 R
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 35 0 R
+/Prev 43 0 R
+/Next 51 0 R
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 35 0 R
+/Prev 39 0 R
+/Next 47 0 R
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 35 0 R
+/Next 43 0 R
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 2894 0 R
+/Prev 27 0 R
+/Next 59 0 R
+/First 39 0 R
+/Last 55 0 R
+/Count -5
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 27 0 R
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 2894 0 R
+/Prev 19 0 R
+/Next 35 0 R
+/First 31 0 R
+/Last 31 0 R
+/Count -1
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 19 0 R
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 2894 0 R
+/Prev 15 0 R
+/Next 27 0 R
+/First 23 0 R
+/Last 23 0 R
+/Count -1
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 2894 0 R
+/Prev 11 0 R
+/Next 19 0 R
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 2894 0 R
+/Prev 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 2894 0 R
+/Next 11 0 R
+>> endobj
+2895 0 obj <<
+/Names [(Doc-Start) 142 0 R (GFDL) 290 0 R (GFDL_GFDL) 181 0 R (GPL) 212 0 R (GPL_GPL) 182 0 R (group__Datatypes) 512 0 R]
+/Limits [(Doc-Start) (group__Datatypes)]
+>> endobj
+2896 0 obj <<
+/Names [(group__Datatypes_g0764a0e607ec4de08a53e6d3b109a714) 679 0 R (group__Datatypes_g0aac22e2dc312e8c41418dd8d59701f8) 716 0 R (group__Datatypes_g12c368fa0bdd20b907d9ab8e92e999d2) 618 0 R (group__Datatypes_g13f1f84a46d70b91637cb9d6af54af6b) 678 0 R (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) 524 0 R (group__Datatypes_g1fd59c6502c8cbb9dbb802e4af34c940) 709 0 R]
+/Limits [(group__Datatypes_g0764a0e607ec4de08a53e6d3b109a714) (group__Datatypes_g1fd59c6502c8cbb9dbb802e4af34c940)]
+>> endobj
+2897 0 obj <<
+/Names [(group__Datatypes_g25f4b655851f0f561cdddf94f667e833) 518 0 R (group__Datatypes_g2f2a1aa8fbda2e53218cecba593f7427) 625 0 R (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) 514 0 R (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) 572 0 R (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) 565 0 R (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) 520 0 R]
+/Limits [(group__Datatypes_g25f4b655851f0f561cdddf94f667e833) (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3)]
+>> endobj
+2898 0 obj <<
+/Names [(group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) 574 0 R (group__Datatypes_g56026e685fb0fe336a5f346580f84ff0) 677 0 R (group__Datatypes_g56e2574a7d2f006333151867599e8fa3) 614 0 R (group__Datatypes_g576b0ae433a83ef58a3c174a86623582) 629 0 R (group__Datatypes_g5a7338130cf6d33d28dd40ed560a24d6) 523 0 R (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1) 692 0 R]
+/Limits [(group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1)]
+>> endobj
+2899 0 obj <<
+/Names [(group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) 575 0 R (group__Datatypes_g5e59406ab43e2f1851ea2e066137b4bd) 573 0 R (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) 567 0 R (group__Datatypes_g64dda1bda497aab131fc204ed9e55894) 571 0 R (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) 627 0 R (group__Datatypes_g735949470e98393af90b12f534b06cba) 711 0 R]
+/Limits [(group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) (group__Datatypes_g735949470e98393af90b12f534b06cba)]
+>> endobj
+2900 0 obj <<
+/Names [(group__Datatypes_g747bcaa4d01a8065758096b1ff0eb551) 566 0 R (group__Datatypes_g7593947fa164900140d09c08b56c6cd1) 676 0 R (group__Datatypes_g763a5fa98155383055703dc08cb3e11a) 696 0 R (group__Datatypes_g82657533544652eb3ec1334a72da137e) 623 0 R (group__Datatypes_g841003bef28b1052aa2b5297a529d4d8) 714 0 R (group__Datatypes_g84f27605574583d674403f6d71a73a24) 521 0 R]
+/Limits [(group__Datatypes_g747bcaa4d01a8065758096b1ff0eb551) (group__Datatypes_g84f27605574583d674403f6d71a73a24)]
+>> endobj
+2901 0 obj <<
+/Names [(group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) 562 0 R (group__Datatypes_g97b246f11809448c53f089779c0019a1) 620 0 R (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) 613 0 R (group__Datatypes_gb9fc89c0e89d4487a1f69a26849b682a) 710 0 R (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) 621 0 R (group__Datatypes_gbf20fcbeb06790546a112b72eb0811f8) 564 0 R]
+/Limits [(group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) (group__Datatypes_gbf20fcbeb06790546a112b72eb0811f8)]
+>> endobj
+2902 0 obj <<
+/Names [(group__Datatypes_gc0d389ac714f0d4d3e6950fd692e7443) 581 0 R (group__Datatypes_gc37b94ca7dc0c8bb9797e6d91e16492e) 680 0 R (group__Datatypes_gc803b1dab9dd0072acb6fdda204efd26) 568 0 R (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) 522 0 R (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) 569 0 R (group__Datatypes_gdb1edf876e8c62fb7d2630a9280224f1) 622 0 R]
+/Limits [(group__Datatypes_gc0d389ac714f0d4d3e6950fd692e7443) (group__Datatypes_gdb1edf876e8c62fb7d2630a9280224f1)]
+>> endobj
+2903 0 obj <<
+/Names [(group__Datatypes_gdc14acd60d7235a72f88850b9a917eca) 675 0 R (group__Datatypes_gdc58d1f680927df3786f41bdb47fa26b) 517 0 R (group__Datatypes_ge311117a92fca76fc66fe3442ff6d09f) 715 0 R (group__Datatypes_ge439fa617415f2153f4793041c41bd9f) 712 0 R (group__Datatypes_ge50df8ccfc72a20b58ab7854ad2ccba9) 515 0 R (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) 681 0 R]
+/Limits [(group__Datatypes_gdc14acd60d7235a72f88850b9a917eca) (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6)]
+>> endobj
+2904 0 obj <<
+/Names [(group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) 577 0 R (group__Datatypes_ge8e2db00ec6575b865057ffd3195327b) 674 0 R (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) 619 0 R (group__Datatypes_gedee0800f6e695c36ace737095ccef5b) 519 0 R (group__Datatypes_gef15021f65d2810602a9a1bd06fc878d) 713 0 R (group__Datatypes_gefc9900fe07bfdee6310e4705ea0bfec) 579 0 R]
+/Limits [(group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) (group__Datatypes_gefc9900fe07bfdee6310e4705ea0bfec)]
+>> endobj
+2905 0 obj <<
+/Names [(group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) 616 0 R (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) 516 0 R (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) 631 0 R (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) 687 0 R (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) 580 0 R (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee13e5170687052e3962de866e2ab44d8f8) 695 0 R]
+/Limits [(group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee13e5170687052e3962de866e2ab44d8f8)]
+>> endobj
+2906 0 obj <<
+/Names [(group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee159042baec996bc386154a1825ad56de0) 693 0 R (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee1a05a8932097b094ca179e99e2d80b6ae) 694 0 R (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d681067f9cf8984d1b3febca4488a137e1) 682 0 R (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69029c33b6876c560bf78b5b86d0367c0) 686 0 R (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69e4eb4979711bf6699ec8e0f335de476) 685 0 R (group__Dataty [...]
+/Limits [(group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee159042baec996bc386154a1825ad56de0) (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6a166787e251ef2cbaad9213d8e9d2653)]
+>> endobj
+2907 0 obj <<
+/Names [(group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) 683 0 R (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf91304ca7fa8d3e734d1677709a37d5d28) 689 0 R (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9132c76cbee67b5bc2ac9e09af9c68c4f) 688 0 R (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9b32d9464a7101eb1893562646a3cdd1a) 691 0 R (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9fdbee5cd06ff135cbf9614b661c9e923) 690 0 R (group__Error) [...]
+/Limits [(group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) (group__Error)]
+>> endobj
+2908 0 obj <<
+/Names [(group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) 470 0 R (group__Error_gd6765993c08a2ae2f0ef377f822f4d33) 481 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee603b444004b1031ddb1a51289b9d83106) 479 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee60860beb1b1c54c9f774b532d92404992) 477 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6093ae02f8ceebbc40321d1eaf186f726) 473 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee66aa28e72200f879cbb83a36b60644fb2) 475 0 R]
+/Limits [(group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee66aa28e72200f879cbb83a36b60644fb2)]
+>> endobj
+2909 0 obj <<
+/Names [(group__Error_gg0c0ab09a97e49f85f42c966e14cfdee67dae659f72f654afae1c5c6f331192a3) 478 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee68c65fedb9893ebb49394a3cff2f19a49) 474 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6b42a97917f263e8305d561f52cbd9c57) 480 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6bd22c4eaabb49bcb6c654a25e402c64a) 476 0 R (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6f29a62bdfcf44dbeec14afb409035438) 472 0 R (group__Init) 381 0 R]
+/Limits [(group__Error_gg0c0ab09a97e49f85f42c966e14cfdee67dae659f72f654afae1c5c6f331192a3) (group__Init)]
+>> endobj
+2910 0 obj <<
+/Names [(group__Init_g4af2931282f6a5f1b3444fb8e833d6a1) 396 0 R (group__Init_g635128363efd9f4c8c63e21702f40183) 397 0 R (group__Init_g7c98bac1ccfac398657571409a3fcd9c) 395 0 R (group__Init_gfdb2c887a3a2d1daf54a764d0d7f7f76) 398 0 R (group__PPL__C__interface) 380 0 R (group__Version) 415 0 R]
+/Limits [(group__Init_g4af2931282f6a5f1b3444fb8e833d6a1) (group__Version)]
+>> endobj
+2911 0 obj <<
+/Names [(group__Version_g63fef7041da34ac5bb372a2535d99377) 445 0 R (group__Version_g676f27ad949159a3b79577f78870f60f) 438 0 R (group__Version_g79bd3696a302bb721ef8168fa5d650fb) 420 0 R (group__Version_g7a529f51bfebdd4b3e69c866dced9bc1) 433 0 R (group__Version_g8458e58a5e857de11c35ce3076a70ab8) 418 0 R (group__Version_ga50f472bf6d1869a2fc1500d2fdf8213) 437 0 R]
+/Limits [(group__Version_g63fef7041da34ac5bb372a2535d99377) (group__Version_ga50f472bf6d1869a2fc1500d2fdf8213)]
+>> endobj
+2912 0 obj <<
+/Names [(group__Version_gb51f10ea37de5299e9bc840afa206d4e) 436 0 R (group__Version_gbadfeba0a415d210cdd6d7309365e800) 419 0 R (group__Version_gbdf8f4e9416010573d48e21cf0584762) 435 0 R (group__Version_gc6abee034f6ac000f15d1206fdeb8316) 439 0 R (group__Version_ge19dfe022c51c874d905e2a7c81c18f1) 417 0 R (index) 201 0 R]
+/Limits [(group__Version_gb51f10ea37de5299e9bc840afa206d4e) (index)]
+>> endobj
+2913 0 obj <<
+/Names [(interfaceppl__Coefficient__tag) 340 0 R (interfaceppl__Coefficient__tag_001b2a61c18a500a446151a9024de3fe) 769 0 R (interfaceppl__Coefficient__tag_1e3bb22af6b60660fcb8d201b09ec7ed) 793 0 R (interfaceppl__Coefficient__tag_1ef606afeb25edded051be3b0c728086) 766 0 R (interfaceppl__Coefficient__tag_249071ec2d19ecedaaf4e32ca8fc4a8d) 794 0 R (interfaceppl__Coefficient__tag_39db5035590b4bf7017a43cdcca6a49e) 765 0 R]
+/Limits [(interfaceppl__Coefficient__tag) (interfaceppl__Coefficient__tag_39db5035590b4bf7017a43cdcca6a49e)]
+>> endobj
+2914 0 obj <<
+/Names [(interfaceppl__Coefficient__tag_474cce1b8348a126a8496cea7952a1f1) 770 0 R (interfaceppl__Coefficient__tag_526a2d8ad27e00b633408a36830dc2ae) 771 0 R (interfaceppl__Coefficient__tag_5fa6bcd4ec3cf844646033688f2fdf0a) 762 0 R (interfaceppl__Coefficient__tag_a1816497499ee569563a6d97a4ff553a) 792 0 R (interfaceppl__Coefficient__tag_af38dc5a17ef89e16c45f363397afb59) 763 0 R (interfaceppl__Coefficient__tag_be5af687ddf08c6379bd115d210ac22f) 768 0 R]
+/Limits [(interfaceppl__Coefficient__tag_474cce1b8348a126a8496cea7952a1f1) (interfaceppl__Coefficient__tag_be5af687ddf08c6379bd115d210ac22f)]
+>> endobj
+2915 0 obj <<
+/Names [(interfaceppl__Coefficient__tag_cad04388edea0d80b20c40266a3c3f14) 767 0 R (interfaceppl__Coefficient__tag_f0b12578ecdb0571ca51ee09789b2fc3) 772 0 R (interfaceppl__Coefficient__tag_fabc584f4f391708d6c0d7c47030471a) 764 0 R (interfaceppl__Congruence__System__const__iterator__tag) 341 0 R (interfaceppl__Congruence__System__const__iterator__tag_38ece4277d5885940d45d6c8465ca19a) 798 0 R (interfaceppl__Congruence__System__const__iterator__tag_74f9a28eb09ee718502409ab43b657d4) 828 0 R]
+/Limits [(interfaceppl__Coefficient__tag_cad04388edea0d80b20c40266a3c3f14) (interfaceppl__Congruence__System__const__iterator__tag_74f9a28eb09ee718502409ab43b657d4)]
+>> endobj
+2916 0 obj <<
+/Names [(interfaceppl__Congruence__System__const__iterator__tag_7ac19545b812b9ed2261c4224a6b9e9a) 826 0 R (interfaceppl__Congruence__System__const__iterator__tag_7f1fc328bf8f0d2ec92a6599ce7fe2d3) 824 0 R (interfaceppl__Congruence__System__const__iterator__tag_9af8efc183a5a4cd4475146207f92c8a) 797 0 R (interfaceppl__Congruence__System__const__iterator__tag_9c7ea131b285ad7aaefbc1e2cf579512) 800 0 R (interfaceppl__Congruence__System__const__iterator__tag_de6bd909f8bb4bcdaed4dced85c1f5f1) 82 [...]
+/Limits [(interfaceppl__Congruence__System__const__iterator__tag_7ac19545b812b9ed2261c4224a6b9e9a) (interfaceppl__Congruence__System__tag)]
+>> endobj
+2917 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_19d1974dd5b293a48b8f2de6fa3c2c8b) 887 0 R (interfaceppl__Congruence__System__tag_2c60071e2c7adec51fc7175ddb7a3bff) 881 0 R (interfaceppl__Congruence__System__tag_3b54824f0f53bf664c3114fb67557115) 912 0 R (interfaceppl__Congruence__System__tag_3ce50d0fcf796935652563144194ccf7) 884 0 R (interfaceppl__Congruence__System__tag_45fb5ebe8a9c33d1e73593b09d8ab877) 911 0 R (interfaceppl__Congruence__System__tag_56b9fe489466e7376b72bc99b4f99126) 883 0 R]
+/Limits [(interfaceppl__Congruence__System__tag_19d1974dd5b293a48b8f2de6fa3c2c8b) (interfaceppl__Congruence__System__tag_56b9fe489466e7376b72bc99b4f99126)]
+>> endobj
+2918 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_5a6326e465cce738cb09fdd8df1d92ba) 879 0 R (interfaceppl__Congruence__System__tag_68de3cffc4bbfa2a79c06c51adb653a8) 874 0 R (interfaceppl__Congruence__System__tag_86691cc44e4ef41d379ec2477221f0de) 914 0 R (interfaceppl__Congruence__System__tag_8cba47c10a4d9a84b170b37932dc04e5) 876 0 R (interfaceppl__Congruence__System__tag_8ce02af4c13862f7988ad3e43b5290cf) 878 0 R (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3) 875 0 R]
+/Limits [(interfaceppl__Congruence__System__tag_5a6326e465cce738cb09fdd8df1d92ba) (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3)]
+>> endobj
+2919 0 obj <<
+/Names [(interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) 913 0 R (interfaceppl__Congruence__System__tag_e5f214d520a1f232251bee39685b62a2) 871 0 R (interfaceppl__Congruence__System__tag_e88c914d522014d2d181278bcfa9222f) 885 0 R (interfaceppl__Congruence__System__tag_ed43bafe74e2b291d7b980c6ee8f3d5f) 833 0 R (interfaceppl__Congruence__System__tag_f03d1a4f7f355971ac31ec1e4cb7297d) 873 0 R (interfaceppl__Congruence__System__tag_f6cb7e34c1083df796fb12aa463739e6) 832 0 R]
+/Limits [(interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) (interfaceppl__Congruence__System__tag_f6cb7e34c1083df796fb12aa463739e6)]
+>> endobj
+2920 0 obj <<
+/Names [(interfaceppl__Congruence__tag) 343 0 R (interfaceppl__Congruence__tag_0399dc1a987546af5d0491e72a6a05e4) 957 0 R (interfaceppl__Congruence__tag_08a4701b629d734ea0e11231a34514b0) 922 0 R (interfaceppl__Congruence__tag_10d11983038c7047547f4a68f8ea2b70) 962 0 R (interfaceppl__Congruence__tag_2845e4528b7b42c6c6527daceee21312) 956 0 R (interfaceppl__Congruence__tag_29295feb65378f2ba04c202f4b9a1bb3) 967 0 R]
+/Limits [(interfaceppl__Congruence__tag) (interfaceppl__Congruence__tag_29295feb65378f2ba04c202f4b9a1bb3)]
+>> endobj
+2921 0 obj <<
+/Names [(interfaceppl__Congruence__tag_4ea3e6a8b8e929e318a5c1c450667d10) 965 0 R (interfaceppl__Congruence__tag_553952be8bff48ab2a4a8b2820efc047) 959 0 R (interfaceppl__Congruence__tag_5e1c7e98053b2262c5f56c46e2f04f05) 958 0 R (interfaceppl__Congruence__tag_6871446de8be708c37b2bedbf12c9b76) 921 0 R (interfaceppl__Congruence__tag_6d24fa81c885803e34fadd9332287d2e) 917 0 R (interfaceppl__Congruence__tag_b67c8dacaa1610fe5ea9efe67263477d) 923 0 R]
+/Limits [(interfaceppl__Congruence__tag_4ea3e6a8b8e929e318a5c1c450667d10) (interfaceppl__Congruence__tag_b67c8dacaa1610fe5ea9efe67263477d)]
+>> endobj
+2922 0 obj <<
+/Names [(interfaceppl__Congruence__tag_b76a7c2b32bbc5472f87b3fae17f5a0d) 961 0 R (interfaceppl__Congruence__tag_caca085247f8483085877e21527a9cd6) 963 0 R (interfaceppl__Congruence__tag_dd70a09fb9b3cb0b8b7ce79d8d9ec14c) 966 0 R (interfaceppl__Congruence__tag_f39f78c492db753013cbfd0177ffea60) 968 0 R (interfaceppl__Congruence__tag_f61686ed9ede21b05016ee29f9de882b) 964 0 R (interfaceppl__Constraint__System__const__iterator__tag) 344 0 R]
+/Limits [(interfaceppl__Congruence__tag_b76a7c2b32bbc5472f87b3fae17f5a0d) (interfaceppl__Constraint__System__const__iterator__tag)]
+>> endobj
+2923 0 obj <<
+/Names [(interfaceppl__Constraint__System__const__iterator__tag_061420fd93cf031e877897142071c67d) 994 0 R (interfaceppl__Constraint__System__const__iterator__tag_18f6401539b34122053f5d76da0c3282) 999 0 R (interfaceppl__Constraint__System__const__iterator__tag_60ac68b3806bdf2e8b4805d661c52def) 995 0 R (interfaceppl__Constraint__System__const__iterator__tag_93c2b042e4c644ba6052c0a0130c74ff) 1001 0 R (interfaceppl__Constraint__System__const__iterator__tag_9427aa22f07ee35e906d05bcd352e1e9) 1 [...]
+/Limits [(interfaceppl__Constraint__System__const__iterator__tag_061420fd93cf031e877897142071c67d) (interfaceppl__Constraint__System__const__iterator__tag_bd830cdbf47ea1e5f0cb88ba4e3dddd7)]
+>> endobj
+2924 0 obj <<
+/Names [(interfaceppl__Constraint__System__const__iterator__tag_dc0293455632f1e58de03ee68caa785a) 997 0 R (interfaceppl__Constraint__System__tag) 345 0 R (interfaceppl__Constraint__System__tag_06731c2e3b3d14dceffb5b81f1447bc8) 1088 0 R (interfaceppl__Constraint__System__tag_0d28be41ac786db82ce3cb24e2db5543) 1052 0 R (interfaceppl__Constraint__System__tag_1b4e8ec21c2f4b2b925c4e11474062b9) 1056 0 R (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb) 1059 0 R]
+/Limits [(interfaceppl__Constraint__System__const__iterator__tag_dc0293455632f1e58de03ee68caa785a) (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb)]
+>> endobj
+2925 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) 1045 0 R (interfaceppl__Constraint__System__tag_3bd9634d21689bd4b0cbcb476a101e92) 1092 0 R (interfaceppl__Constraint__System__tag_4316d3e1fd40ef324f4f9ac970481c9f) 1090 0 R (interfaceppl__Constraint__System__tag_442076de6b59703f82c552f7e70aad72) 1055 0 R (interfaceppl__Constraint__System__tag_56d19de5207d94e358a433995ce9730c) 1050 0 R (interfaceppl__Constraint__System__tag_5e22cd8ea46cdef0e09027e6177fc838) 1 [...]
+/Limits [(interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) (interfaceppl__Constraint__System__tag_5e22cd8ea46cdef0e09027e6177fc838)]
+>> endobj
+2926 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_6b54d1a028c5a0eff158b33ce1a6670f) 1046 0 R (interfaceppl__Constraint__System__tag_7a018b29b6f334f666391ec729265c25) 1091 0 R (interfaceppl__Constraint__System__tag_984fd654d7b169e74d13f6207d48fefb) 1048 0 R (interfaceppl__Constraint__System__tag_a975ef75ddb5359966ff21eecca491d0) 1057 0 R (interfaceppl__Constraint__System__tag_b1988eecd5bca9d4ad8dbd128c885b9b) 1044 0 R (interfaceppl__Constraint__System__tag_c19488a8f4e64cb797b8402ea44b456d) 1 [...]
+/Limits [(interfaceppl__Constraint__System__tag_6b54d1a028c5a0eff158b33ce1a6670f) (interfaceppl__Constraint__System__tag_c19488a8f4e64cb797b8402ea44b456d)]
+>> endobj
+2927 0 obj <<
+/Names [(interfaceppl__Constraint__System__tag_c8105464b2dbee48f8646bc2c2f1f2d8) 1094 0 R (interfaceppl__Constraint__System__tag_d9b9ef9435b7a3bc8d92435ccf1cc0d7) 1053 0 R (interfaceppl__Constraint__System__tag_f8ebe9c0ce769746c2d2d01f6fcb4c91) 1087 0 R (interfaceppl__Constraint__tag) 346 0 R (interfaceppl__Constraint__tag_08451f3fa991dc14b1b8874bdefd7cf2) 1172 0 R (interfaceppl__Constraint__tag_0ed54f6ac264a58059f51c7fe33ab787) 1134 0 R]
+/Limits [(interfaceppl__Constraint__System__tag_c8105464b2dbee48f8646bc2c2f1f2d8) (interfaceppl__Constraint__tag_0ed54f6ac264a58059f51c7fe33ab787)]
+>> endobj
+2928 0 obj <<
+/Names [(interfaceppl__Constraint__tag_1c416a6d6a359f2f9e9d33af7dc32ea8) 1143 0 R (interfaceppl__Constraint__tag_2d4948b195e743f39601a13610fcf94f) 1139 0 R (interfaceppl__Constraint__tag_380ed65a246cd38c5ca3893b40eb4603) 1141 0 R (interfaceppl__Constraint__tag_414a473844efce3515611fdc6b26e4de) 1146 0 R (interfaceppl__Constraint__tag_702543ee828ef523fb5fe5ffdaf25925) 1138 0 R (interfaceppl__Constraint__tag_87fc73217faaf213d5b5a810272be545) 1171 0 R]
+/Limits [(interfaceppl__Constraint__tag_1c416a6d6a359f2f9e9d33af7dc32ea8) (interfaceppl__Constraint__tag_87fc73217faaf213d5b5a810272be545)]
+>> endobj
+2929 0 obj <<
+/Names [(interfaceppl__Constraint__tag_8c466c744746ef7249afa54667470cf5) 1142 0 R (interfaceppl__Constraint__tag_90e279d0af3491d3cc793595e3e1bbff) 1170 0 R (interfaceppl__Constraint__tag_94ca29d276a68f3f75aa62c8ab6109e4) 1173 0 R (interfaceppl__Constraint__tag_9a30e394a9c84bb9d2debda31433e6b4) 1147 0 R (interfaceppl__Constraint__tag_adbcd3b735dae0f714d1134cf8e6b911) 1145 0 R (interfaceppl__Constraint__tag_b93e22d57d1f5d94ae97ba1b9de9e3f9) 1136 0 R]
+/Limits [(interfaceppl__Constraint__tag_8c466c744746ef7249afa54667470cf5) (interfaceppl__Constraint__tag_b93e22d57d1f5d94ae97ba1b9de9e3f9)]
+>> endobj
+2930 0 obj <<
+/Names [(interfaceppl__Constraint__tag_bfb19498f2647b44344c6a84fdd6cd2d) 1137 0 R (interfaceppl__Constraint__tag_c21bd81d2f33da4dc915020bf16c801a) 1140 0 R (interfaceppl__Generator__System__const__iterator__tag) 383 0 R (interfaceppl__Generator__System__const__iterator__tag_51dfb5223b7487379681d4cc1583917f) 1181 0 R (interfaceppl__Generator__System__const__iterator__tag_7d4bec3e6101e95b57973dcab5880a51) 1207 0 R (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640 [...]
+/Limits [(interfaceppl__Constraint__tag_bfb19498f2647b44344c6a84fdd6cd2d) (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c)]
+>> endobj
+2931 0 obj <<
+/Names [(interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) 1209 0 R (interfaceppl__Generator__System__const__iterator__tag_cb94e9072062c0827a16766cef2c1a5e) 1205 0 R (interfaceppl__Generator__System__const__iterator__tag_cd03b90ea728537b78a669806309a5c0) 1177 0 R (interfaceppl__Generator__System__const__iterator__tag_e2334b2eefe8cae2ad750dfea1f7cade) 1179 0 R (interfaceppl__Generator__System__tag) 384 0 R (interfaceppl__Generator__System__tag_067f83b [...]
+/Limits [(interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) (interfaceppl__Generator__System__tag_067f83ba740e5b6c0c585a5175723a0b)]
+>> endobj
+2932 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_33e20d1de127c9232d2d1188bee532ef) 1213 0 R (interfaceppl__Generator__System__tag_3d3687abfb3878a67fca687b8e4ff0b9) 1265 0 R (interfaceppl__Generator__System__tag_3f5244b219701d5ba5939982a1d11d97) 1263 0 R (interfaceppl__Generator__System__tag_540cea530eaa9c142b16fbf01f781673) 1253 0 R (interfaceppl__Generator__System__tag_7752ae55e7cd4d014f6498348ef47865) 1214 0 R (interfaceppl__Generator__System__tag_888341fcf1079aaaa4dd7b532662729c) 1256 0 R]
+/Limits [(interfaceppl__Generator__System__tag_33e20d1de127c9232d2d1188bee532ef) (interfaceppl__Generator__System__tag_888341fcf1079aaaa4dd7b532662729c)]
+>> endobj
+2933 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_a7260438cfc5fa383c7fb80b127f8315) 1257 0 R (interfaceppl__Generator__System__tag_ad90ffcd536cd0d48ee183bca02103fc) 1269 0 R (interfaceppl__Generator__System__tag_b1316806c765a595ddfa4de5e8d971f6) 1216 0 R (interfaceppl__Generator__System__tag_ba231f6ac03d82cbf693a6a29a5c2665) 1267 0 R (interfaceppl__Generator__System__tag_e12a1e70aa5010e6617de857f51574a8) 1266 0 R (interfaceppl__Generator__System__tag_e9bc39a46753f158644428f3c01e73a3) 1261 0 R]
+/Limits [(interfaceppl__Generator__System__tag_a7260438cfc5fa383c7fb80b127f8315) (interfaceppl__Generator__System__tag_e9bc39a46753f158644428f3c01e73a3)]
+>> endobj
+2934 0 obj <<
+/Names [(interfaceppl__Generator__System__tag_eeec098f7c1e5939b144f3d42a2c65fc) 1254 0 R (interfaceppl__Generator__System__tag_f5253fb7ef85e1875cc453d9a9998459) 1218 0 R (interfaceppl__Generator__System__tag_f5911dc31286d92c979c7ff89c249bc8) 1262 0 R (interfaceppl__Generator__System__tag_fcc12e4f52a8ff85d16ebfc424447b63) 1259 0 R (interfaceppl__Generator__tag) 385 0 R (interfaceppl__Generator__tag_048cb229297e24f6d0f7ab4e4351e2c2) 1308 0 R]
+/Limits [(interfaceppl__Generator__System__tag_eeec098f7c1e5939b144f3d42a2c65fc) (interfaceppl__Generator__tag_048cb229297e24f6d0f7ab4e4351e2c2)]
+>> endobj
+2935 0 obj <<
+/Names [(interfaceppl__Generator__tag_140a26e6f6dc525c742aca71f598ed3c) 1342 0 R (interfaceppl__Generator__tag_278a22338f8428e328daf84dea4f94e7) 1311 0 R (interfaceppl__Generator__tag_297969dd313ebb370c9419915398aaf2) 1310 0 R (interfaceppl__Generator__tag_30161047ab7c47dd7a68a852e98ed83e) 1346 0 R (interfaceppl__Generator__tag_30d13726e3b27f1be7e5eb05a7814bb3) 1312 0 R (interfaceppl__Generator__tag_318f5f2972203c84ea0fdb4b82bbab1c) 1340 0 R]
+/Limits [(interfaceppl__Generator__tag_140a26e6f6dc525c742aca71f598ed3c) (interfaceppl__Generator__tag_318f5f2972203c84ea0fdb4b82bbab1c)]
+>> endobj
+2936 0 obj <<
+/Names [(interfaceppl__Generator__tag_5d89173a47e10f469337343cfb807218) 1344 0 R (interfaceppl__Generator__tag_6a901364857f84dc0f111a29330c33f9) 1347 0 R (interfaceppl__Generator__tag_6d184edbb85d3c2747bb6097f7de17ad) 1345 0 R (interfaceppl__Generator__tag_74a772b49c2c3190ad8501ffa0337d2f) 1343 0 R (interfaceppl__Generator__tag_afa09f891353748a46868d342cc91cbc) 1305 0 R (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e) 1309 0 R]
+/Limits [(interfaceppl__Generator__tag_5d89173a47e10f469337343cfb807218) (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e)]
+>> endobj
+2937 0 obj <<
+/Names [(interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) 1303 0 R (interfaceppl__Generator__tag_d6d26ca0f256b0d9a45173e7d83ee4cc) 1348 0 R (interfaceppl__Generator__tag_f2fd5edcf647f4bc5b64cf0f4f712a51) 1313 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag) 386 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_0632eaac5ec676910e433016619b3e85) 1369 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_1842c4ba3cd1adb1e1bccef3cfcfa5 [...]
+/Limits [(interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) (interfaceppl__Grid__Generator__System__const__iterator__tag_1842c4ba3cd1adb1e1bccef3cfcfa57f)]
+>> endobj
+2938 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__const__iterator__tag_813ac0651ebac0120830cedf1ea58395) 1379 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_c23bf247df0b2721e97c8eeb8945adf1) 1371 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_f2932a2fa90f54f604e340d0e2eac7ba) 1374 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_f4cdf3fbe1977a24a90904e02efd791b) 1381 0 R (interfaceppl__Grid__Generator__System__const__iterator__tag_f8d741d [...]
+/Limits [(interfaceppl__Grid__Generator__System__const__iterator__tag_813ac0651ebac0120830cedf1ea58395) (interfaceppl__Grid__Generator__System__tag)]
+>> endobj
+2939 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_121252cea61436e0df74e008b80c13b7) 1430 0 R (interfaceppl__Grid__Generator__System__tag_22e81aa8cd862935e9a0abab515cf838) 1460 0 R (interfaceppl__Grid__Generator__System__tag_303533574d5d5d4d8f58e2d8646baa69) 1423 0 R (interfaceppl__Grid__Generator__System__tag_3094a8093769d647b9f477e14d53a3a0) 1431 0 R (interfaceppl__Grid__Generator__System__tag_3671e52fd03a1c456c630b7c5c632df8) 1434 0 R (interfaceppl__Grid__Generator__System__tag_4578b [...]
+/Limits [(interfaceppl__Grid__Generator__System__tag_121252cea61436e0df74e008b80c13b7) (interfaceppl__Grid__Generator__System__tag_4578b5352510727810a7c3be32208aae)]
+>> endobj
+2940 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_68cdbff6e2262bae3295484dbee9ee42) 1436 0 R (interfaceppl__Grid__Generator__System__tag_95c612736a3e7524077dd5c81bf2a105) 1425 0 R (interfaceppl__Grid__Generator__System__tag_9fc89d795c20b4270756269edf1b9604) 1429 0 R (interfaceppl__Grid__Generator__System__tag_a6324c2e330df63ad428eec9182fcc4d) 1464 0 R (interfaceppl__Grid__Generator__System__tag_af6f8270e3742973e0df7dcc9132f7ae) 1465 0 R (interfaceppl__Grid__Generator__System__tag_bc859 [...]
+/Limits [(interfaceppl__Grid__Generator__System__tag_68cdbff6e2262bae3295484dbee9ee42) (interfaceppl__Grid__Generator__System__tag_bc859551651eca1bcc3839f62d45dbfe)]
+>> endobj
+2941 0 obj <<
+/Names [(interfaceppl__Grid__Generator__System__tag_c64c8548738734fedbc94f03519b803a) 1424 0 R (interfaceppl__Grid__Generator__System__tag_d00a2a1877537fa49a41013078ee2bb6) 1463 0 R (interfaceppl__Grid__Generator__System__tag_d4d88d3daaa672264c63c83071c2021b) 1427 0 R (interfaceppl__Grid__Generator__System__tag_e2c6fa9b0155fd9428ff3abcf1a66805) 1432 0 R (interfaceppl__Grid__Generator__System__tag_f29295940b1ad0b6b48cc44e92f04060) 1462 0 R (interfaceppl__Grid__Generator__tag) 388 0 R]
+/Limits [(interfaceppl__Grid__Generator__System__tag_c64c8548738734fedbc94f03519b803a) (interfaceppl__Grid__Generator__tag)]
+>> endobj
+2942 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_0ca9a6d6894e381babab8f958c194f07) 1518 0 R (interfaceppl__Grid__Generator__tag_190a7c46776178432e89c9525db039ab) 1521 0 R (interfaceppl__Grid__Generator__tag_2a64fe7b9774c990bd9db8aecd2dacea) 1509 0 R (interfaceppl__Grid__Generator__tag_3fc151fc10282a5ede395e9b8a5502e2) 1519 0 R (interfaceppl__Grid__Generator__tag_6cb7351e1bb87181f7e6c946db398b5b) 1506 0 R (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1) 1512 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_0ca9a6d6894e381babab8f958c194f07) (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1)]
+>> endobj
+2943 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) 1515 0 R (interfaceppl__Grid__Generator__tag_99aac01eb1b8adc3667bbd3db68e8d34) 1514 0 R (interfaceppl__Grid__Generator__tag_9b452ce4baaf1c1644a6eb33658ae48a) 1511 0 R (interfaceppl__Grid__Generator__tag_9c2a70f5f90ec3da123f549d6ca9fe4a) 1468 0 R (interfaceppl__Grid__Generator__tag_a8e9420c29d8c75e775c4fd609830769) 1516 0 R (interfaceppl__Grid__Generator__tag_c5a83c9e42e34b313e12a6cef4470a75) 1520 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) (interfaceppl__Grid__Generator__tag_c5a83c9e42e34b313e12a6cef4470a75)]
+>> endobj
+2944 0 obj <<
+/Names [(interfaceppl__Grid__Generator__tag_cc700387404f10208584c1a847a6f328) 1507 0 R (interfaceppl__Grid__Generator__tag_dfc86b3b2966514ba2e2292584f68c08) 1513 0 R (interfaceppl__Grid__Generator__tag_fb6f23292760d6d55c57b5722f604897) 1517 0 R (interfaceppl__Linear__Expression__tag) 389 0 R (interfaceppl__Linear__Expression__tag_1c54d4109f395752ea23822cee000d04) 1561 0 R (interfaceppl__Linear__Expression__tag_225478fba412d40b785e2b41809cc90d) 1612 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_cc700387404f10208584c1a847a6f328) (interfaceppl__Linear__Expression__tag_225478fba412d40b785e2b41809cc90d)]
+>> endobj
+2945 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_3530a20e5985d6da8acabad37bfe0e93) 1617 0 R (interfaceppl__Linear__Expression__tag_46773b226d490e5bbf6f3d587cf29dc4) 1640 0 R (interfaceppl__Linear__Expression__tag_50bcfefbf053e770951fa02c2e2eb112) 1641 0 R (interfaceppl__Linear__Expression__tag_512810c3e349a2f01217c6e426645260) 1553 0 R (interfaceppl__Linear__Expression__tag_643dad56c4e24b32e2c4951aee7a6822) 1606 0 R (interfaceppl__Linear__Expression__tag_690fbcd5ef7202e646b30d92bdadcc29) 1 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_3530a20e5985d6da8acabad37bfe0e93) (interfaceppl__Linear__Expression__tag_690fbcd5ef7202e646b30d92bdadcc29)]
+>> endobj
+2946 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_7d65378709f5a0c73e711f5528385990) 1557 0 R (interfaceppl__Linear__Expression__tag_8172cf537ccecb7826eb21837b8d7e7b) 1618 0 R (interfaceppl__Linear__Expression__tag_84c2e36e2ae01775ce542ebc83739726) 1613 0 R (interfaceppl__Linear__Expression__tag_86c148ed14d1a2781e07bea5be7fb434) 1608 0 R (interfaceppl__Linear__Expression__tag_9ab7b109b1acae567c915b1db83b5283) 1559 0 R (interfaceppl__Linear__Expression__tag_a891671c2b9414353067da44a108ac1d) 1 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_7d65378709f5a0c73e711f5528385990) (interfaceppl__Linear__Expression__tag_a891671c2b9414353067da44a108ac1d)]
+>> endobj
+2947 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_bbbdd7f3c4800ef97b642142cd68648d) 1603 0 R (interfaceppl__Linear__Expression__tag_bfe9ef58fb96938e1c26b63e2b4ce0d1) 1615 0 R (interfaceppl__Linear__Expression__tag_c21bf6dd42b915ff6f157fb73fe396e0) 1642 0 R (interfaceppl__Linear__Expression__tag_e7af7908bffe9b331262dcf8fd020b7f) 1609 0 R (interfaceppl__Linear__Expression__tag_e861c5919e346c3966c43edc4cd47276) 1611 0 R (interfaceppl__Linear__Expression__tag_f232ff2f43109950ac1b0f5d124cf4cc) 1 [...]
+/Limits [(interfaceppl__Linear__Expression__tag_bbbdd7f3c4800ef97b642142cd68648d) (interfaceppl__Linear__Expression__tag_f232ff2f43109950ac1b0f5d124cf4cc)]
+>> endobj
+2948 0 obj <<
+/Names [(interfaceppl__Linear__Expression__tag_f78187771d58e90c174eeba577a471d5) 1643 0 R (interfaceppl__Linear__Expression__tag_f99b9dc1c16751ce872dab5245c22fdf) 1563 0 R (interfaceppl__Linear__Expression__tag_fc650c1c744fbfc4dbd15293b9827776) 1555 0 R (interfaceppl__MIP__Problem__tag) 390 0 R (interfaceppl__MIP__Problem__tag_086e697a92a664c83721e0c442d45271) 1805 0 R (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c) 1701 0 R]
+/Limits [(interfaceppl__Linear__Expression__tag_f78187771d58e90c174eeba577a471d5) (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c)]
+>> endobj
+2949 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) 1746 0 R (interfaceppl__MIP__Problem__tag_2b4edec92d54747f5f1d2904407e744a) 1811 0 R (interfaceppl__MIP__Problem__tag_32423400858178cc05f325962afd44e2) 1647 0 R (interfaceppl__MIP__Problem__tag_34e5d32c224ab8293ff78c85d86e5f79) 1689 0 R (interfaceppl__MIP__Problem__tag_3659fef24b67be6b668955bc6865e779) 1753 0 R (interfaceppl__MIP__Problem__tag_36c57e3007fcb2340dc415f8431df7aa) 1755 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) (interfaceppl__MIP__Problem__tag_36c57e3007fcb2340dc415f8431df7aa)]
+>> endobj
+2950 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_3789c297e202c735dbd829cd6cbed989) 1804 0 R (interfaceppl__MIP__Problem__tag_396b429302ce49ea9915778c317b81d2) 1802 0 R (interfaceppl__MIP__Problem__tag_39e443628f6b73203b0f66189b8bc1c6) 1760 0 R (interfaceppl__MIP__Problem__tag_3ff750009bec94ab2c9a01139ba22420) 1810 0 R (interfaceppl__MIP__Problem__tag_43a14864f62b4528d6c87856cba4da34) 1809 0 R (interfaceppl__MIP__Problem__tag_44aa5cc75376dddfb9005dd74b27ff68) 1751 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_3789c297e202c735dbd829cd6cbed989) (interfaceppl__MIP__Problem__tag_44aa5cc75376dddfb9005dd74b27ff68)]
+>> endobj
+2951 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_4b9b7034fd7b17eff672d49a7c85ac2f) 1745 0 R (interfaceppl__MIP__Problem__tag_4da79f8c645b945d52635733c3f63d7d) 1702 0 R (interfaceppl__MIP__Problem__tag_5357e1ed14407abf82149fe878789efd) 1750 0 R (interfaceppl__MIP__Problem__tag_5e359194d7a21e72a49aee51dbac25c4) 1756 0 R (interfaceppl__MIP__Problem__tag_6a8d9c1c40c886054ef76aac268f33b0) 1743 0 R (interfaceppl__MIP__Problem__tag_70c652d969734f6a69841d30a5e9033b) 1695 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_4b9b7034fd7b17eff672d49a7c85ac2f) (interfaceppl__MIP__Problem__tag_70c652d969734f6a69841d30a5e9033b)]
+>> endobj
+2952 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_7397b715c2ccf3f6fcf2f3900efe10d6) 1803 0 R (interfaceppl__MIP__Problem__tag_8190bd5fde521e37c585c5c59b65f90d) 1806 0 R (interfaceppl__MIP__Problem__tag_894587e76b98f15a8ae120327dc9d532) 1799 0 R (interfaceppl__MIP__Problem__tag_8bda1b8ba9119202c16f88fdb19a535b) 1697 0 R (interfaceppl__MIP__Problem__tag_8ca7076566ebe098ff3bc307b4d91899) 1649 0 R (interfaceppl__MIP__Problem__tag_8efd1f7de8fb2bbe6e33aff1d4184078) 1648 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_7397b715c2ccf3f6fcf2f3900efe10d6) (interfaceppl__MIP__Problem__tag_8efd1f7de8fb2bbe6e33aff1d4184078)]
+>> endobj
+2953 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_8f2ab3d77bca7257df14bda9261a1326) 1650 0 R (interfaceppl__MIP__Problem__tag_9dfe99ee7d8e2b1d7360ab0119bd12eb) 1688 0 R (interfaceppl__MIP__Problem__tag_a1663bce444a20240c852c9443005cc0) 1699 0 R (interfaceppl__MIP__Problem__tag_b50ac757b6cb922c40504dc69c983568) 1748 0 R (interfaceppl__MIP__Problem__tag_b95e9f75dd971827c8a9a6b42faeeac7) 1691 0 R (interfaceppl__MIP__Problem__tag_c379f873623c0fec37d988c2c374ffe5) 1690 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_8f2ab3d77bca7257df14bda9261a1326) (interfaceppl__MIP__Problem__tag_c379f873623c0fec37d988c2c374ffe5)]
+>> endobj
+2954 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_c39a1aacb6aa4f54150e2b138d7b36f2) 1749 0 R (interfaceppl__MIP__Problem__tag_cdbb5fd3fa1ab9faed26fc5be47cc0d2) 1795 0 R (interfaceppl__MIP__Problem__tag_d2154705f0854002a4f44f95580df9c7) 1700 0 R (interfaceppl__MIP__Problem__tag_df86eb3611cbe63b34ef195bc87a7312) 1646 0 R (interfaceppl__MIP__Problem__tag_e5845918fa5037ca4e9bdde4a4a3ecf2) 1797 0 R (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae) 1801 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_c39a1aacb6aa4f54150e2b138d7b36f2) (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae)]
+>> endobj
+2955 0 obj <<
+/Names [(interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) 1807 0 R (interfaceppl__MIP__Problem__tag_f349e801a615b2014d36c30fdb56022a) 1758 0 R (interfaceppl__MIP__Problem__tag_f59141db49e5141da6ac594d43ead2f7) 1693 0 R (interfaceppl__MIP__Problem__tag_f63454e50c1937573c75495f3cb4c1d2) 1687 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) 391 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_0746b37f80c4be687b0dc5ded6190 [...]
+/Limits [(interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_0746b37f80c4be687b0dc5ded6190002)]
+>> endobj
+2956 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_62836b9156289bd880bf9f32056a4dee) 1869 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_70541b12c8a9b281b3aa4f9c21624b3c) 1865 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_8d39b1769491b0ee262118bfa31bcc67) 1858 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_bc4dd4b94a80075012b0f30b13339632) 1867 0 R (interfaceppl__Pointset__Pow [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_62836b9156289bd880bf9f32056a4dee) (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_d69ffccc04d33132e31a91296afad78d)]
+>> endobj
+2957 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_db6f375b8aad58a31f6a60abb7a9b1e2) 1862 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_dd8c6ae913a7e3f0a7e1470a23ba04a3) 1860 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) 393 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_1785059acd1bf60dcf4cda0044cc94b5) 1920 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_35180fb6d38a [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_db6f375b8aad58a31f6a60abb7a9b1e2) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_64b1a8e66388915a57bfd0b53a2e46c5)]
+>> endobj
+2958 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_79d1cb9751d21f7b364c4c41c4715737) 1910 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_7e3f8c5b2e614c5d18783c2ef7b092e1) 1906 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_98e7f050a579e9deeb71a75758238928) 1908 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a82f0fc73b5f98fab74070ee92a100cf) 1912 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__iterat [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_79d1cb9751d21f7b364c4c41c4715737) (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_be46bba93c5ddcf4cf4cafdb0d74f942)]
+>> endobj
+2959 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) 392 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_024a52502b35029ff2ba102323d8ae5b) 1968 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_0bf696420bbdc5c2ef0993f61f2273b7) 1943 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_1b2ee4d834f0651a41647ac5b5e0f912) 1976 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_26a124537b8995832b2cb157abc7cf07) 1940 0 R (interfaceppl__Pointset__Powerset [...]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag) (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_91f0ccf4325f53430d7347ca73182f52)]
+>> endobj
+2960 0 obj <<
+/Names [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ae5f47efa7c023e45aed9be161dce99f) 1973 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_b595ea1166752d23aba600af43417bd8) 1979 0 R (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_eb8456ecf06307c108046a8c665154c9) 1965 0 R (interfaceppl__Polyhedron__tag) 394 0 R (interfaceppl__Polyhedron__tag_0184ad10aeca27f95d249d3a7e061b46) 2471 0 R (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e) 2264 0 R]
+/Limits [(interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ae5f47efa7c023e45aed9be161dce99f) (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e)]
+>> endobj
+2961 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) 2522 0 R (interfaceppl__Polyhedron__tag_0b031bedcfb70f485bab922596bce1c8) 2336 0 R (interfaceppl__Polyhedron__tag_0e494452cce5a8916f4fe97a1c79e237) 2212 0 R (interfaceppl__Polyhedron__tag_141c3283de2a46f2fcb278dcdca0558f) 2198 0 R (interfaceppl__Polyhedron__tag_191744753f79b939c8d61efe45778bd8) 2266 0 R (interfaceppl__Polyhedron__tag_1bd806c292d0576b94d3084b21736061) 2073 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) (interfaceppl__Polyhedron__tag_1bd806c292d0576b94d3084b21736061)]
+>> endobj
+2962 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_1dd00b705631c579994677fea3a86d63) 2206 0 R (interfaceppl__Polyhedron__tag_1e5a2940765710cccea4ef4f1b7f1092) 2525 0 R (interfaceppl__Polyhedron__tag_27fdc62bc2cae150c7d710a8e312a40d) 2133 0 R (interfaceppl__Polyhedron__tag_2dc649f0ee90ea5af999e3c0bae54bcb) 2131 0 R (interfaceppl__Polyhedron__tag_2f80d4608b0b75948b50dd862a14df66) 2267 0 R (interfaceppl__Polyhedron__tag_304dd0846a62cb4a9f79806ea82cee5d) 2079 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_1dd00b705631c579994677fea3a86d63) (interfaceppl__Polyhedron__tag_304dd0846a62cb4a9f79806ea82cee5d)]
+>> endobj
+2963 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_357ddb19493a385970c56bf4847a07a1) 2194 0 R (interfaceppl__Polyhedron__tag_381b0e6e2e58df417ff578ed6d715520) 2414 0 R (interfaceppl__Polyhedron__tag_39ee8e60c1d4d6faa40986d8fba28d5d) 2197 0 R (interfaceppl__Polyhedron__tag_3bc82e8c76e1a47ecc20c85e1003036d) 2469 0 R (interfaceppl__Polyhedron__tag_3e07a3e1a6e6c9f281227b4e215a3dc7) 2263 0 R (interfaceppl__Polyhedron__tag_402bb86dfedf35933c2a29cc07210741) 2411 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_357ddb19493a385970c56bf4847a07a1) (interfaceppl__Polyhedron__tag_402bb86dfedf35933c2a29cc07210741)]
+>> endobj
+2964 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_418a9f96c3df4cf69bc399cd807eddeb) 2027 0 R (interfaceppl__Polyhedron__tag_46fc9d1041d5548a5f8f220af2a07028) 2415 0 R (interfaceppl__Polyhedron__tag_4b5f126aef2ca062b034f795f6e5cf6d) 2193 0 R (interfaceppl__Polyhedron__tag_50d5c68064e215d3f2cf3ee69896e676) 2126 0 R (interfaceppl__Polyhedron__tag_52e2499c42a9be1e527642cbfb16ff8c) 2064 0 R (interfaceppl__Polyhedron__tag_5932fd0c6867d83e3a34d5e680225807) 2564 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_418a9f96c3df4cf69bc399cd807eddeb) (interfaceppl__Polyhedron__tag_5932fd0c6867d83e3a34d5e680225807)]
+>> endobj
+2965 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_5a6342bc4e04c1f228d210e5c363b6d4) 2257 0 R (interfaceppl__Polyhedron__tag_5a9b061c4408ab8d70a1dea91a6ff983) 2265 0 R (interfaceppl__Polyhedron__tag_5e7090393ee5801d9c988db6d2a06a43) 2516 0 R (interfaceppl__Polyhedron__tag_612142029eeee3dd72bb0d37c670d6db) 2519 0 R (interfaceppl__Polyhedron__tag_6137f367c0c83a73146d84c998d37cb3) 2466 0 R (interfaceppl__Polyhedron__tag_658545ec6169d2843323bfe1ff078e6f) 2460 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_5a6342bc4e04c1f228d210e5c363b6d4) (interfaceppl__Polyhedron__tag_658545ec6169d2843323bfe1ff078e6f)]
+>> endobj
+2966 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_680aecc71f3b21fa0db03c7d1cbe466b) 2138 0 R (interfaceppl__Polyhedron__tag_69c0a9ffd5b8910a90a91943a10fe3b6) 2523 0 R (interfaceppl__Polyhedron__tag_6b5c73b1f3f864c8a10c39810b4711ce) 2459 0 R (interfaceppl__Polyhedron__tag_6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) 2140 0 R (interfaceppl__Polyhedron__tag_6d147411700f558d74d8273accfb8e04) 2135 0 R (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5) 2416 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_680aecc71f3b21fa0db03c7d1cbe466b) (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5)]
+>> endobj
+2967 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) 2355 0 R (interfaceppl__Polyhedron__tag_703c5d92387510c5cbf8b0f1da3029b2) 2030 0 R (interfaceppl__Polyhedron__tag_7135823ecf68cedd5236d53e2b5541f5) 2202 0 R (interfaceppl__Polyhedron__tag_7573064b44c45d804d398aec02e7a64a) 2470 0 R (interfaceppl__Polyhedron__tag_784570f6ced5461b4d82cdfefa1cb31b) 2351 0 R (interfaceppl__Polyhedron__tag_7918c3a73aed2529e1e57b8983264bad) 2341 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) (interfaceppl__Polyhedron__tag_7918c3a73aed2529e1e57b8983264bad)]
+>> endobj
+2968 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_819d233e9b1442e06c806dea0523a2f9) 2078 0 R (interfaceppl__Polyhedron__tag_81cc2a565346ce8ee12124224ddd8d6c) 2455 0 R (interfaceppl__Polyhedron__tag_8402fc25b68056511cf62f1378666a88) 2347 0 R (interfaceppl__Polyhedron__tag_841ceef027f12d5c99fc2e739ae340fb) 2532 0 R (interfaceppl__Polyhedron__tag_85417db0eb420d402acee4ef0d842efc) 2129 0 R (interfaceppl__Polyhedron__tag_875b11e85fe96586152f53f498158b1f) 2562 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_819d233e9b1442e06c806dea0523a2f9) (interfaceppl__Polyhedron__tag_875b11e85fe96586152f53f498158b1f)]
+>> endobj
+2969 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_879f2f2b0f967fa73cb59ea8d8b1d255) 2075 0 R (interfaceppl__Polyhedron__tag_88a7c177ebe33a3d41609609660fd3ee) 2558 0 R (interfaceppl__Polyhedron__tag_88c408677f6de73fd80903738268efa3) 2528 0 R (interfaceppl__Polyhedron__tag_8948143df881c58c79da34380f847401) 2082 0 R (interfaceppl__Polyhedron__tag_89c2384471ee03156c7b414dceee8f14) 2275 0 R (interfaceppl__Polyhedron__tag_8a9e2cf693ca3e9c464efb04071b8572) 2353 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_879f2f2b0f967fa73cb59ea8d8b1d255) (interfaceppl__Polyhedron__tag_8a9e2cf693ca3e9c464efb04071b8572)]
+>> endobj
+2970 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_8abb894f6f4a673d549aa9bf7456b638) 2268 0 R (interfaceppl__Polyhedron__tag_8b280d026e0c343ec0d3f5521dda6376) 2137 0 R (interfaceppl__Polyhedron__tag_8ffc5459233ed9781c0ca910e88fa1f9) 2273 0 R (interfaceppl__Polyhedron__tag_90544f38c2980f308cd6e0f9248fdd99) 2408 0 R (interfaceppl__Polyhedron__tag_93cee014592562084126f06fe47efbba) 2211 0 R (interfaceppl__Polyhedron__tag_9563155e281915a8bc2eea34ceff9cf0) 2352 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_8abb894f6f4a673d549aa9bf7456b638) (interfaceppl__Polyhedron__tag_9563155e281915a8bc2eea34ceff9cf0)]
+>> endobj
+2971 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_96eaf729b170b6df69bc2d1127f8727c) 2530 0 R (interfaceppl__Polyhedron__tag_977522267df419dd5f2824ce6c0f7610) 2529 0 R (interfaceppl__Polyhedron__tag_9947be8614cba5c2e8b02771d48fc7d2) 2125 0 R (interfaceppl__Polyhedron__tag_9d9b8361c659cadd31afb61152ccf06b) 2031 0 R (interfaceppl__Polyhedron__tag_9e5f40dfc278c52da81291b30fbe75f7) 2196 0 R (interfaceppl__Polyhedron__tag_9fb38e66323fe6cb24b32e32e66dba78) 2342 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_96eaf729b170b6df69bc2d1127f8727c) (interfaceppl__Polyhedron__tag_9fb38e66323fe6cb24b32e32e66dba78)]
+>> endobj
+2972 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_a309e957fa5f404b296e2e4c30e1697d) 2260 0 R (interfaceppl__Polyhedron__tag_a48f8ae0f3a2647949417ec2da1c97e4) 2410 0 R (interfaceppl__Polyhedron__tag_abb79ab0a7936b6f14cd20e15cb14fa8) 2417 0 R (interfaceppl__Polyhedron__tag_ad3749930a51c38886b1d5a01dbbba92) 2521 0 R (interfaceppl__Polyhedron__tag_ad69d01217b9ea1043883162d285505c) 2345 0 R (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547) 2461 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_a309e957fa5f404b296e2e4c30e1697d) (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547)]
+>> endobj
+2973 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) 2563 0 R (interfaceppl__Polyhedron__tag_b1d03e0aac8dda484b102c536c612a45) 2139 0 R (interfaceppl__Polyhedron__tag_b27e9641bc6946aef6e3254d28c6fab4) 2029 0 R (interfaceppl__Polyhedron__tag_b32d3b44994fefe43c44e353a47cb4a4) 2200 0 R (interfaceppl__Polyhedron__tag_b4f7535037080c7f5db32b2e85fdc80d) 2195 0 R (interfaceppl__Polyhedron__tag_bc350d1ab1c6e4da0df6bb130364af7b) 2344 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) (interfaceppl__Polyhedron__tag_bc350d1ab1c6e4da0df6bb130364af7b)]
+>> endobj
+2974 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_bcf3ccb8e2e224496d1326e47e15fdc6) 2258 0 R (interfaceppl__Polyhedron__tag_bd393bd3febd678f09a51a0364756787) 2025 0 R (interfaceppl__Polyhedron__tag_bedffb6a2f5b2473d2d2ac9d448c65d9) 2019 0 R (interfaceppl__Polyhedron__tag_bf1bb44cdbf733e9ca39164f9d8e8179) 2081 0 R (interfaceppl__Polyhedron__tag_c06aed22fa4405051df0da9e7bc16138) 2405 0 R (interfaceppl__Polyhedron__tag_c0e5d09ffe586f8ea5ec782570015c5b) 2413 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_bcf3ccb8e2e224496d1326e47e15fdc6) (interfaceppl__Polyhedron__tag_c0e5d09ffe586f8ea5ec782570015c5b)]
+>> endobj
+2975 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_c655ac3a494c4f92bb02d0b9294bdd85) 2338 0 R (interfaceppl__Polyhedron__tag_c78c1168665c72eaf8c2457b12700fba) 2560 0 R (interfaceppl__Polyhedron__tag_d015c9afd4968005d43f233359253c5a) 2354 0 R (interfaceppl__Polyhedron__tag_d024f037803a208b74cd150eeaa5649d) 2272 0 R (interfaceppl__Polyhedron__tag_d184bea5f8f38b87293d639d57ee340b) 2527 0 R (interfaceppl__Polyhedron__tag_d20b13c4f378bdc5aa64c3e833a62cba) 2458 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_c655ac3a494c4f92bb02d0b9294bdd85) (interfaceppl__Polyhedron__tag_d20b13c4f378bdc5aa64c3e833a62cba)]
+>> endobj
+2976 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_d4b80df36fc02b4c47ca160420e50182) 2566 0 R (interfaceppl__Polyhedron__tag_d6512d0d60c017982bd8031e9b8df336) 2028 0 R (interfaceppl__Polyhedron__tag_d6b383704ed3f314864c52f5b715cbbf) 2456 0 R (interfaceppl__Polyhedron__tag_d9547cb6430722246dea7f5a70566c06) 2468 0 R (interfaceppl__Polyhedron__tag_da9021952b7c7ad4ca6fc4ff082ec9fe) 2017 0 R (interfaceppl__Polyhedron__tag_db06752e755290368c9bb00ad14a0984) 2346 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_d4b80df36fc02b4c47ca160420e50182) (interfaceppl__Polyhedron__tag_db06752e755290368c9bb00ad14a0984)]
+>> endobj
+2977 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_dc7cd513e31b7ecdda3a25a967d8a772) 2124 0 R (interfaceppl__Polyhedron__tag_dd9c4afcd6f6bd78509219f32d57e348) 2406 0 R (interfaceppl__Polyhedron__tag_e1e938f0c844231dfe2098ab8fbca67b) 2199 0 R (interfaceppl__Polyhedron__tag_ea399d3df97c711c758c8bf715e0c763) 2518 0 R (interfaceppl__Polyhedron__tag_ebe78c4ede3d49c63765e71cfe93904e) 2066 0 R (interfaceppl__Polyhedron__tag_ee4d567631589e83063cfb8f80c2bd6f) 2209 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_dc7cd513e31b7ecdda3a25a967d8a772) (interfaceppl__Polyhedron__tag_ee4d567631589e83063cfb8f80c2bd6f)]
+>> endobj
+2978 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_f29cc9becde5f28a37567093174d6855) 2122 0 R (interfaceppl__Polyhedron__tag_f777de5ca96f8d1631d3500008bf84f8) 2274 0 R (interfaceppl__Polyhedron__tag_f818756f74f766dfb937e586565db8d6) 2276 0 R (interfaceppl__Polyhedron__tag_f8a9392f205531631b3a98c332f594b1) 2457 0 R (interfaceppl__Polyhedron__tag_f92f3c9d758e2a155a2a6faec4235741) 2340 0 R (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd) 2080 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_f29cc9becde5f28a37567093174d6855) (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd)]
+>> endobj
+2979 0 obj <<
+/Names [(interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) 2262 0 R (page.1) 141 0 R (page.10) 268 0 R (page.11) 280 0 R (page.12) 289 0 R (page.13) 295 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) (page.13)]
+>> endobj
+2980 0 obj <<
+/Names [(page.14) 300 0 R (page.15) 305 0 R (page.16) 311 0 R (page.17) 338 0 R (page.18) 379 0 R (page.19) 408 0 R]
+/Limits [(page.14) (page.19)]
+>> endobj
+2981 0 obj <<
+/Names [(page.2) 211 0 R (page.20) 432 0 R (page.21) 464 0 R (page.22) 509 0 R (page.23) 561 0 R (page.24) 612 0 R]
+/Limits [(page.2) (page.24)]
+>> endobj
+2982 0 obj <<
+/Names [(page.25) 668 0 R (page.26) 707 0 R (page.27) 724 0 R (page.28) 760 0 R (page.29) 791 0 R (page.3) 218 0 R]
+/Limits [(page.25) (page.3)]
+>> endobj
+2983 0 obj <<
+/Names [(page.30) 821 0 R (page.31) 870 0 R (page.32) 910 0 R (page.33) 955 0 R (page.34) 992 0 R (page.35) 1042 0 R]
+/Limits [(page.30) (page.35)]
+>> endobj
+2984 0 obj <<
+/Names [(page.36) 1085 0 R (page.37) 1132 0 R (page.38) 1169 0 R (page.39) 1204 0 R (page.4) 225 0 R (page.40) 1252 0 R]
+/Limits [(page.36) (page.40)]
+>> endobj
+2985 0 obj <<
+/Names [(page.41) 1300 0 R (page.42) 1339 0 R (page.43) 1368 0 R (page.44) 1421 0 R (page.45) 1459 0 R (page.46) 1505 0 R]
+/Limits [(page.41) (page.46)]
+>> endobj
+2986 0 obj <<
+/Names [(page.47) 1549 0 R (page.48) 1602 0 R (page.49) 1638 0 R (page.5) 232 0 R (page.50) 1686 0 R (page.51) 1742 0 R]
+/Limits [(page.47) (page.51)]
+>> endobj
+2987 0 obj <<
+/Names [(page.52) 1794 0 R (page.53) 1819 0 R (page.54) 1852 0 R (page.55) 1904 0 R (page.56) 1933 0 R (page.57) 1964 0 R]
+/Limits [(page.52) (page.57)]
+>> endobj
+2988 0 obj <<
+/Names [(page.58) 2015 0 R (page.59) 2063 0 R (page.6) 241 0 R (page.60) 2121 0 R (page.61) 2192 0 R (page.62) 2256 0 R]
+/Limits [(page.58) (page.62)]
+>> endobj
+2989 0 obj <<
+/Names [(page.63) 2335 0 R (page.64) 2398 0 R (page.65) 2454 0 R (page.66) 2515 0 R (page.67) 2557 0 R (page.68) 2573 0 R]
+/Limits [(page.63) (page.68)]
+>> endobj
+2990 0 obj <<
+/Names [(page.69) 2584 0 R (page.7) 247 0 R (page.70) 2594 0 R (page.71) 2604 0 R (page.72) 2614 0 R (page.73) 2625 0 R]
+/Limits [(page.69) (page.73)]
+>> endobj
+2991 0 obj <<
+/Names [(page.74) 2633 0 R (page.75) 2643 0 R (page.76) 2713 0 R (page.77) 2770 0 R (page.78) 2834 0 R (page.8) 253 0 R]
+/Limits [(page.74) (page.8)]
+>> endobj
+2992 0 obj <<
+/Names [(page.9) 261 0 R (page.i) 176 0 R (paragraph.6.2.2.1) 411 0 R (paragraph.6.2.2.2) 412 0 R (paragraph.6.2.2.3) 413 0 R (paragraph.6.2.2.4) 414 0 R]
+/Limits [(page.9) (paragraph.6.2.2.4)]
+>> endobj
+2993 0 obj <<
+/Names [(paragraph.6.3.2.1) 443 0 R (paragraph.6.3.3.1) 446 0 R (paragraph.6.4.2.1) 471 0 R (paragraph.6.4.3.1) 511 0 R (paragraph.6.5.2.1) 719 0 R (paragraph.6.5.3.1) 726 0 R]
+/Limits [(paragraph.6.3.2.1) (paragraph.6.5.3.1)]
+>> endobj
+2994 0 obj <<
+/Names [(paragraph.6.5.3.2) 729 0 R (paragraph.6.5.3.3) 730 0 R (paragraph.6.5.4.1) 732 0 R (paragraph.7.15.2.1) 1821 0 R (paragraph.7.15.2.2) 1822 0 R (paragraph.7.15.2.3) 1823 0 R]
+/Limits [(paragraph.6.5.3.2) (paragraph.7.15.2.3)]
+>> endobj
+2995 0 obj <<
+/Names [(paragraph.7.16.2.1) 1875 0 R (paragraph.7.17.2.1) 1938 0 R (paragraph.7.18.2.1) 1983 0 R (paragraph.7.19.2.1) 2575 0 R (paragraph.7.19.2.10) 2589 0 R (paragraph.7.19.2.11) 2595 0 R]
+/Limits [(paragraph.7.16.2.1) (paragraph.7.19.2.11)]
+>> endobj
+2996 0 obj <<
+/Names [(paragraph.7.19.2.12) 2596 0 R (paragraph.7.19.2.13) 2597 0 R (paragraph.7.19.2.14) 2598 0 R (paragraph.7.19.2.15) 2599 0 R (paragraph.7.19.2.16) 2605 0 R (paragraph.7.19.2.17) 2606 0 R]
+/Limits [(paragraph.7.19.2.12) (paragraph.7.19.2.17)]
+>> endobj
+2997 0 obj <<
+/Names [(paragraph.7.19.2.18) 2607 0 R (paragraph.7.19.2.19) 2608 0 R (paragraph.7.19.2.2) 2576 0 R (paragraph.7.19.2.20) 2615 0 R (paragraph.7.19.2.21) 2616 0 R (paragraph.7.19.2.22) 2617 0 R]
+/Limits [(paragraph.7.19.2.18) (paragraph.7.19.2.22)]
+>> endobj
+2998 0 obj <<
+/Names [(paragraph.7.19.2.23) 2618 0 R (paragraph.7.19.2.24) 2626 0 R (paragraph.7.19.2.25) 2627 0 R (paragraph.7.19.2.26) 2628 0 R (paragraph.7.19.2.27) 2634 0 R (paragraph.7.19.2.28) 2635 0 R]
+/Limits [(paragraph.7.19.2.23) (paragraph.7.19.2.28)]
+>> endobj
+2999 0 obj <<
+/Names [(paragraph.7.19.2.29) 2636 0 R (paragraph.7.19.2.3) 2577 0 R (paragraph.7.19.2.30) 2637 0 R (paragraph.7.19.2.31) 2638 0 R (paragraph.7.19.2.32) 2644 0 R (paragraph.7.19.2.33) 2645 0 R]
+/Limits [(paragraph.7.19.2.29) (paragraph.7.19.2.33)]
+>> endobj
+3000 0 obj <<
+/Names [(paragraph.7.19.2.34) 2646 0 R (paragraph.7.19.2.4) 2578 0 R (paragraph.7.19.2.5) 2579 0 R (paragraph.7.19.2.6) 2585 0 R (paragraph.7.19.2.7) 2586 0 R (paragraph.7.19.2.8) 2587 0 R]
+/Limits [(paragraph.7.19.2.34) (paragraph.7.19.2.8)]
+>> endobj
+3001 0 obj <<
+/Names [(paragraph.7.19.2.9) 2588 0 R (section*.1) 180 0 R (section*.10) 242 0 R (section*.11) 248 0 R (section*.12) 254 0 R (section*.13) 255 0 R]
+/Limits [(paragraph.7.19.2.9) (section*.13)]
+>> endobj
+3002 0 obj <<
+/Names [(section*.14) 256 0 R (section*.15) 262 0 R (section*.16) 263 0 R (section*.17) 269 0 R (section*.18) 270 0 R (section*.19) 271 0 R]
+/Limits [(section*.14) (section*.19)]
+>> endobj
+3003 0 obj <<
+/Names [(section*.2) 213 0 R (section*.20) 272 0 R (section*.21) 281 0 R (section*.22) 282 0 R (section*.23) 312 0 R (section*.24) 382 0 R]
+/Limits [(section*.2) (section*.24)]
+>> endobj
+3004 0 obj <<
+/Names [(section*.25) 416 0 R (section*.26) 434 0 R (section*.27) 465 0 R (section*.28) 467 0 R (section*.29) 513 0 R (section*.3) 219 0 R]
+/Limits [(section*.25) (section*.3)]
+>> endobj
+3005 0 obj <<
+/Names [(section*.30) 669 0 R (section*.31) 673 0 R (section*.32) 708 0 R (section*.33) 761 0 R (section*.34) 796 0 R (section*.35) 831 0 R]
+/Limits [(section*.30) (section*.35)]
+>> endobj
+3006 0 obj <<
+/Names [(section*.36) 916 0 R (section*.37) 993 0 R (section*.38) 1043 0 R (section*.39) 1133 0 R (section*.4) 220 0 R (section*.40) 1175 0 R]
+/Limits [(section*.36) (section*.40)]
+>> endobj
+3007 0 obj <<
+/Names [(section*.41) 1212 0 R (section*.42) 1302 0 R (section*.43) 1350 0 R (section*.44) 1422 0 R (section*.45) 1467 0 R (section*.46) 1551 0 R]
+/Limits [(section*.41) (section*.46)]
+>> endobj
+3008 0 obj <<
+/Names [(section*.47) 1645 0 R (section*.48) 1824 0 R (section*.49) 1905 0 R (section*.5) 226 0 R (section*.50) 1939 0 R (section*.51) 2016 0 R]
+/Limits [(section*.47) (section*.51)]
+>> endobj
+3009 0 obj <<
+/Names [(section*.52) 2714 0 R (section*.6) 227 0 R (section*.7) 233 0 R (section*.8) 234 0 R (section*.9) 235 0 R (section.1) 6 0 R]
+/Limits [(section*.52) (section.1)]
+>> endobj
+3010 0 obj <<
+/Names [(section.2) 10 0 R (section.3) 14 0 R (section.4) 18 0 R (section.5) 26 0 R (section.6) 34 0 R (section.7) 58 0 R]
+/Limits [(section.2) (section.7)]
+>> endobj
+3011 0 obj <<
+/Names [(subsection.4.1) 22 0 R (subsection.5.1) 30 0 R (subsection.6.1) 38 0 R (subsection.6.2) 42 0 R (subsection.6.3) 46 0 R (subsection.6.4) 50 0 R]
+/Limits [(subsection.4.1) (subsection.6.4)]
+>> endobj
+3012 0 obj <<
+/Names [(subsection.6.5) 54 0 R (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]
+/Limits [(subsection.6.5) (subsection.7.13)]
+>> endobj
+3013 0 obj <<
+/Names [(subsection.7.14) 114 0 R (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]
+/Limits [(subsection.7.14) (subsection.7.19)]
+>> endobj
+3014 0 obj <<
+/Names [(subsection.7.2) 66 0 R (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]
+/Limits [(subsection.7.2) (subsection.7.7)]
+>> endobj
+3015 0 obj <<
+/Names [(subsection.7.8) 90 0 R (subsection.7.9) 94 0 R (subsubsection.6.2.1) 409 0 R (subsubsection.6.2.2) 410 0 R (subsubsection.6.3.1) 441 0 R (subsubsection.6.3.2) 442 0 R]
+/Limits [(subsection.7.8) (subsubsection.6.3.2)]
+>> endobj
+3016 0 obj <<
+/Names [(subsubsection.6.3.3) 444 0 R (subsubsection.6.4.1) 468 0 R (subsubsection.6.4.2) 469 0 R (subsubsection.6.4.3) 510 0 R (subsubsection.6.5.1) 717 0 R (subsubsection.6.5.2) 718 0 R]
+/Limits [(subsubsection.6.3.3) (subsubsection.6.5.2)]
+>> endobj
+3017 0 obj <<
+/Names [(subsubsection.6.5.3) 725 0 R (subsubsection.6.5.4) 731 0 R (subsubsection.7.1.1) 795 0 R (subsubsection.7.10.1) 1349 0 R (subsubsection.7.11.1) 1385 0 R (subsubsection.7.12.1) 1466 0 R]
+/Limits [(subsubsection.6.5.3) (subsubsection.7.12.1)]
+>> endobj
+3018 0 obj <<
+/Names [(subsubsection.7.13.1) 1550 0 R (subsubsection.7.14.1) 1644 0 R (subsubsection.7.15.1) 1808 0 R (subsubsection.7.15.2) 1820 0 R (subsubsection.7.16.1) 1872 0 R (subsubsection.7.16.2) 1873 0 R]
+/Limits [(subsubsection.7.13.1) (subsubsection.7.16.2)]
+>> endobj
+3019 0 obj <<
+/Names [(subsubsection.7.17.1) 1936 0 R (subsubsection.7.17.2) 1937 0 R (subsubsection.7.18.1) 1981 0 R (subsubsection.7.18.2) 1982 0 R (subsubsection.7.19.1) 2568 0 R (subsubsection.7.19.2) 2574 0 R]
+/Limits [(subsubsection.7.17.1) (subsubsection.7.19.2)]
+>> endobj
+3020 0 obj <<
+/Names [(subsubsection.7.2.1) 830 0 R (subsubsection.7.3.1) 915 0 R (subsubsection.7.4.1) 969 0 R (subsubsection.7.5.1) 1007 0 R (subsubsection.7.6.1) 1095 0 R (subsubsection.7.7.1) 1174 0 R]
+/Limits [(subsubsection.7.2.1) (subsubsection.7.7.1)]
+>> endobj
+3021 0 obj <<
+/Names [(subsubsection.7.8.1) 1211 0 R (subsubsection.7.9.1) 1301 0 R]
+/Limits [(subsubsection.7.8.1) (subsubsection.7.9.1)]
+>> endobj
+3022 0 obj <<
+/Kids [2895 0 R 2896 0 R 2897 0 R 2898 0 R 2899 0 R 2900 0 R]
+/Limits [(Doc-Start) (group__Datatypes_g84f27605574583d674403f6d71a73a24)]
+>> endobj
+3023 0 obj <<
+/Kids [2901 0 R 2902 0 R 2903 0 R 2904 0 R 2905 0 R 2906 0 R]
+/Limits [(group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6a166787e251ef2cbaad9213d8e9d2653)]
+>> endobj
+3024 0 obj <<
+/Kids [2907 0 R 2908 0 R 2909 0 R 2910 0 R 2911 0 R 2912 0 R]
+/Limits [(group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) (index)]
+>> endobj
+3025 0 obj <<
+/Kids [2913 0 R 2914 0 R 2915 0 R 2916 0 R 2917 0 R 2918 0 R]
+/Limits [(interfaceppl__Coefficient__tag) (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3)]
+>> endobj
+3026 0 obj <<
+/Kids [2919 0 R 2920 0 R 2921 0 R 2922 0 R 2923 0 R 2924 0 R]
+/Limits [(interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb)]
+>> endobj
+3027 0 obj <<
+/Kids [2925 0 R 2926 0 R 2927 0 R 2928 0 R 2929 0 R 2930 0 R]
+/Limits [(interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c)]
+>> endobj
+3028 0 obj <<
+/Kids [2931 0 R 2932 0 R 2933 0 R 2934 0 R 2935 0 R 2936 0 R]
+/Limits [(interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e)]
+>> endobj
+3029 0 obj <<
+/Kids [2937 0 R 2938 0 R 2939 0 R 2940 0 R 2941 0 R 2942 0 R]
+/Limits [(interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1)]
+>> endobj
+3030 0 obj <<
+/Kids [2943 0 R 2944 0 R 2945 0 R 2946 0 R 2947 0 R 2948 0 R]
+/Limits [(interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c)]
+>> endobj
+3031 0 obj <<
+/Kids [2949 0 R 2950 0 R 2951 0 R 2952 0 R 2953 0 R 2954 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae)]
+>> endobj
+3032 0 obj <<
+/Kids [2955 0 R 2956 0 R 2957 0 R 2958 0 R 2959 0 R 2960 0 R]
+/Limits [(interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e)]
+>> endobj
+3033 0 obj <<
+/Kids [2961 0 R 2962 0 R 2963 0 R 2964 0 R 2965 0 R 2966 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5)]
+>> endobj
+3034 0 obj <<
+/Kids [2967 0 R 2968 0 R 2969 0 R 2970 0 R 2971 0 R 2972 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547)]
+>> endobj
+3035 0 obj <<
+/Kids [2973 0 R 2974 0 R 2975 0 R 2976 0 R 2977 0 R 2978 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd)]
+>> endobj
+3036 0 obj <<
+/Kids [2979 0 R 2980 0 R 2981 0 R 2982 0 R 2983 0 R 2984 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) (page.40)]
+>> endobj
+3037 0 obj <<
+/Kids [2985 0 R 2986 0 R 2987 0 R 2988 0 R 2989 0 R 2990 0 R]
+/Limits [(page.41) (page.73)]
+>> endobj
+3038 0 obj <<
+/Kids [2991 0 R 2992 0 R 2993 0 R 2994 0 R 2995 0 R 2996 0 R]
+/Limits [(page.74) (paragraph.7.19.2.17)]
+>> endobj
+3039 0 obj <<
+/Kids [2997 0 R 2998 0 R 2999 0 R 3000 0 R 3001 0 R 3002 0 R]
+/Limits [(paragraph.7.19.2.18) (section*.19)]
+>> endobj
+3040 0 obj <<
+/Kids [3003 0 R 3004 0 R 3005 0 R 3006 0 R 3007 0 R 3008 0 R]
+/Limits [(section*.2) (section*.51)]
+>> endobj
+3041 0 obj <<
+/Kids [3009 0 R 3010 0 R 3011 0 R 3012 0 R 3013 0 R 3014 0 R]
+/Limits [(section*.52) (subsection.7.7)]
+>> endobj
+3042 0 obj <<
+/Kids [3015 0 R 3016 0 R 3017 0 R 3018 0 R 3019 0 R 3020 0 R]
+/Limits [(subsection.7.8) (subsubsection.7.7.1)]
+>> endobj
+3043 0 obj <<
+/Kids [3021 0 R]
+/Limits [(subsubsection.7.8.1) (subsubsection.7.9.1)]
+>> endobj
+3044 0 obj <<
+/Kids [3022 0 R 3023 0 R 3024 0 R 3025 0 R 3026 0 R 3027 0 R]
+/Limits [(Doc-Start) (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c)]
+>> endobj
+3045 0 obj <<
+/Kids [3028 0 R 3029 0 R 3030 0 R 3031 0 R 3032 0 R 3033 0 R]
+/Limits [(interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5)]
+>> endobj
+3046 0 obj <<
+/Kids [3034 0 R 3035 0 R 3036 0 R 3037 0 R 3038 0 R 3039 0 R]
+/Limits [(interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) (section*.19)]
+>> endobj
+3047 0 obj <<
+/Kids [3040 0 R 3041 0 R 3042 0 R 3043 0 R]
+/Limits [(section*.2) (subsubsection.7.9.1)]
+>> endobj
+3048 0 obj <<
+/Kids [3044 0 R 3045 0 R 3046 0 R 3047 0 R]
+/Limits [(Doc-Start) (subsubsection.7.9.1)]
+>> endobj
+3049 0 obj <<
+/Dests 3048 0 R
+>> endobj
+3050 0 obj <<
+/Type /Catalog
+/Pages 2893 0 R
+/Outlines 2894 0 R
+/Names 3049 0 R
+/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 2 << /S /D >> ] >>
+/OpenAction 137 0 R
+>> endobj
+3051 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
+/CreationDate (D:20090410214617+02'00')
+/ModDate (D:20090410214617+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
+>> endobj
+xref
+0 3052
+0000000001 65535 f 
+0000000002 00000 f 
+0000000003 00000 f 
+0000000004 00000 f 
+0000000000 00000 f 
+0000000015 00000 n 
+0000022495 00000 n 
+0000726439 00000 n 
+0000000060 00000 n 
+0000000134 00000 n 
+0000027120 00000 n 
+0000726352 00000 n 
+0000000179 00000 n 
+0000000345 00000 n 
+0000065613 00000 n 
+0000726263 00000 n 
+0000000391 00000 n 
+0000000577 00000 n 
+0000086985 00000 n 
+0000726137 00000 n 
+0000000623 00000 n 
+0000000713 00000 n 
+0000087041 00000 n 
+0000726076 00000 n 
+0000000764 00000 n 
+0000000826 00000 n 
+0000087097 00000 n 
+0000725950 00000 n 
+0000000872 00000 n 
+0000000957 00000 n 
+0000087153 00000 n 
+0000725889 00000 n 
+0000001008 00000 n 
+0000001088 00000 n 
+0000094648 00000 n 
+0000725763 00000 n 
+0000001134 00000 n 
+0000001264 00000 n 
+0000094760 00000 n 
+0000725689 00000 n 
+0000001315 00000 n 
+0000001448 00000 n 
+0000094878 00000 n 
+0000725602 00000 n 
+0000001499 00000 n 
+0000001730 00000 n 
+0000098289 00000 n 
+0000725515 00000 n 
+0000001781 00000 n 
+0000001891 00000 n 
+0000108550 00000 n 
+0000725428 00000 n 
+0000001942 00000 n 
+0000002042 00000 n 
+0000115871 00000 n 
+0000725354 00000 n 
+0000002093 00000 n 
+0000002208 00000 n 
+0000159736 00000 n 
+0000725239 00000 n 
+0000002254 00000 n 
+0000002379 00000 n 
+0000159849 00000 n 
+0000725165 00000 n 
+0000002430 00000 n 
+0000002664 00000 n 
+0000166454 00000 n 
+0000725078 00000 n 
+0000002715 00000 n 
+0000003063 00000 n 
+0000173224 00000 n 
+0000724991 00000 n 
+0000003114 00000 n 
+0000003381 00000 n 
+0000191064 00000 n 
+0000724904 00000 n 
+0000003432 00000 n 
+0000003661 00000 n 
+0000208504 00000 n 
+0000724817 00000 n 
+0000003712 00000 n 
+0000004060 00000 n 
+0000218651 00000 n 
+0000724730 00000 n 
+0000004111 00000 n 
+0000004378 00000 n 
+0000226143 00000 n 
+0000724643 00000 n 
+0000004429 00000 n 
+0000004658 00000 n 
+0000243543 00000 n 
+0000724556 00000 n 
+0000004709 00000 n 
+0000005052 00000 n 
+0000251867 00000 n 
+0000724469 00000 n 
+0000005103 00000 n 
+0000005365 00000 n 
+0000270054 00000 n 
+0000724380 00000 n 
+0000005417 00000 n 
+0000005642 00000 n 
+0000277713 00000 n 
+0000724289 00000 n 
+0000005695 00000 n 
+0000006067 00000 n 
+0000286677 00000 n 
+0000724197 00000 n 
+0000006120 00000 n 
+0000006411 00000 n 
+0000303554 00000 n 
+0000724105 00000 n 
+0000006464 00000 n 
+0000006717 00000 n 
+0000322514 00000 n 
+0000724013 00000 n 
+0000006770 00000 n 
+0000007038 00000 n 
+0000339915 00000 n 
+0000723921 00000 n 
+0000007091 00000 n 
+0000007329 00000 n 
+0000375367 00000 n 
+0000723829 00000 n 
+0000007382 00000 n 
+0000007802 00000 n 
+0000395063 00000 n 
+0000723737 00000 n 
+0000007855 00000 n 
+0000008242 00000 n 
+0000400968 00000 n 
+0000723645 00000 n 
+0000008295 00000 n 
+0000008634 00000 n 
+0000419373 00000 n 
+0000723567 00000 n 
+0000008687 00000 n 
+0000008917 00000 n 
+0000010197 00000 n 
+0000010430 00000 n 
+0000008969 00000 n 
+0000010316 00000 n 
+0000010373 00000 n 
+0000721047 00000 n 
+0000719471 00000 n 
+0000719904 00000 n 
+0000719615 00000 n 
+0000721403 00000 n 
+0000012787 00000 n 
+0000012953 00000 n 
+0000013105 00000 n 
+0000013271 00000 n 
+0000013569 00000 n 
+0000013744 00000 n 
+0000013895 00000 n 
+0000014046 00000 n 
+0000014197 00000 n 
+0000014348 00000 n 
+0000014504 00000 n 
+0000014654 00000 n 
+0000014811 00000 n 
+0000014962 00000 n 
+0000015117 00000 n 
+0000015273 00000 n 
+0000015430 00000 n 
+0000015587 00000 n 
+0000015744 00000 n 
+0000015894 00000 n 
+0000016051 00000 n 
+0000016208 00000 n 
+0000016364 00000 n 
+0000019962 00000 n 
+0000016519 00000 n 
+0000016806 00000 n 
+0000012456 00000 n 
+0000010541 00000 n 
+0000016692 00000 n 
+0000720691 00000 n 
+0000013421 00000 n 
+0000720339 00000 n 
+0000016749 00000 n 
+0000065726 00000 n 
+0000027233 00000 n 
+0000020118 00000 n 
+0000020275 00000 n 
+0000020432 00000 n 
+0000020589 00000 n 
+0000020746 00000 n 
+0000020902 00000 n 
+0000021059 00000 n 
+0000021217 00000 n 
+0000021375 00000 n 
+0000021533 00000 n 
+0000021691 00000 n 
+0000021849 00000 n 
+0000022006 00000 n 
+0000022164 00000 n 
+0000022322 00000 n 
+0000022607 00000 n 
+0000019703 00000 n 
+0000016904 00000 n 
+0000022550 00000 n 
+0000721223 00000 n 
+0000026176 00000 n 
+0000026360 00000 n 
+0000026547 00000 n 
+0000026728 00000 n 
+0000026890 00000 n 
+0000027347 00000 n 
+0000026005 00000 n 
+0000022731 00000 n 
+0000027063 00000 n 
+0000027176 00000 n 
+0000027290 00000 n 
+0000030911 00000 n 
+0000031255 00000 n 
+0000030772 00000 n 
+0000027458 00000 n 
+0000031084 00000 n 
+0000031141 00000 n 
+0000031198 00000 n 
+0000034934 00000 n 
+0000035278 00000 n 
+0000034795 00000 n 
+0000031353 00000 n 
+0000035107 00000 n 
+0000035164 00000 n 
+0000035221 00000 n 
+0000038441 00000 n 
+0000038841 00000 n 
+0000038302 00000 n 
+0000035376 00000 n 
+0000038614 00000 n 
+0000038671 00000 n 
+0000038728 00000 n 
+0000038785 00000 n 
+0000721521 00000 n 
+0000042529 00000 n 
+0000042816 00000 n 
+0000042390 00000 n 
+0000038939 00000 n 
+0000042702 00000 n 
+0000042759 00000 n 
+0000046245 00000 n 
+0000046532 00000 n 
+0000046106 00000 n 
+0000042914 00000 n 
+0000046418 00000 n 
+0000046475 00000 n 
+0000049926 00000 n 
+0000050327 00000 n 
+0000049787 00000 n 
+0000046630 00000 n 
+0000050099 00000 n 
+0000050156 00000 n 
+0000050213 00000 n 
+0000050270 00000 n 
+0000054135 00000 n 
+0000054479 00000 n 
+0000053996 00000 n 
+0000050425 00000 n 
+0000054308 00000 n 
+0000054365 00000 n 
+0000054422 00000 n 
+0000057653 00000 n 
+0000058111 00000 n 
+0000057514 00000 n 
+0000054577 00000 n 
+0000057826 00000 n 
+0000057883 00000 n 
+0000057940 00000 n 
+0000057997 00000 n 
+0000058054 00000 n 
+0000060981 00000 n 
+0000061156 00000 n 
+0000065188 00000 n 
+0000061330 00000 n 
+0000061674 00000 n 
+0000060826 00000 n 
+0000058209 00000 n 
+0000061503 00000 n 
+0000061560 00000 n 
+0000061617 00000 n 
+0000720513 00000 n 
+0000721639 00000 n 
+0000065383 00000 n 
+0000065783 00000 n 
+0000065041 00000 n 
+0000061785 00000 n 
+0000065556 00000 n 
+0000065669 00000 n 
+0000069804 00000 n 
+0000070034 00000 n 
+0000069665 00000 n 
+0000065881 00000 n 
+0000069977 00000 n 
+0000073596 00000 n 
+0000073826 00000 n 
+0000073457 00000 n 
+0000070132 00000 n 
+0000073769 00000 n 
+0000077371 00000 n 
+0000077601 00000 n 
+0000077232 00000 n 
+0000073924 00000 n 
+0000077544 00000 n 
+0000081144 00000 n 
+0000081320 00000 n 
+0000081607 00000 n 
+0000080997 00000 n 
+0000077699 00000 n 
+0000081493 00000 n 
+0000081550 00000 n 
+0000083606 00000 n 
+0000083763 00000 n 
+0000083920 00000 n 
+0000084077 00000 n 
+0000084234 00000 n 
+0000084391 00000 n 
+0000084564 00000 n 
+0000084721 00000 n 
+0000084917 00000 n 
+0000085074 00000 n 
+0000085254 00000 n 
+0000085411 00000 n 
+0000085583 00000 n 
+0000085740 00000 n 
+0000085937 00000 n 
+0000086093 00000 n 
+0000086273 00000 n 
+0000086430 00000 n 
+0000086600 00000 n 
+0000089140 00000 n 
+0000089336 00000 n 
+0000086755 00000 n 
+0000087209 00000 n 
+0000083315 00000 n 
+0000081705 00000 n 
+0000086928 00000 n 
+0000721757 00000 n 
+0000159792 00000 n 
+0000166397 00000 n 
+0000173167 00000 n 
+0000191007 00000 n 
+0000200919 00000 n 
+0000209075 00000 n 
+0000226085 00000 n 
+0000089493 00000 n 
+0000089672 00000 n 
+0000089829 00000 n 
+0000090000 00000 n 
+0000090158 00000 n 
+0000090360 00000 n 
+0000090518 00000 n 
+0000090703 00000 n 
+0000090861 00000 n 
+0000091038 00000 n 
+0000091195 00000 n 
+0000091374 00000 n 
+0000091532 00000 n 
+0000091706 00000 n 
+0000091864 00000 n 
+0000092076 00000 n 
+0000092271 00000 n 
+0000092429 00000 n 
+0000092632 00000 n 
+0000092827 00000 n 
+0000092985 00000 n 
+0000093180 00000 n 
+0000093338 00000 n 
+0000093510 00000 n 
+0000093668 00000 n 
+0000093856 00000 n 
+0000094044 00000 n 
+0000094231 00000 n 
+0000094418 00000 n 
+0000094991 00000 n 
+0000088761 00000 n 
+0000087307 00000 n 
+0000094591 00000 n 
+0000094703 00000 n 
+0000094816 00000 n 
+0000094934 00000 n 
+0000243485 00000 n 
+0000251809 00000 n 
+0000269996 00000 n 
+0000277655 00000 n 
+0000286619 00000 n 
+0000303496 00000 n 
+0000322456 00000 n 
+0000339857 00000 n 
+0000375309 00000 n 
+0000400910 00000 n 
+0000395006 00000 n 
+0000419316 00000 n 
+0000097766 00000 n 
+0000097880 00000 n 
+0000097994 00000 n 
+0000098108 00000 n 
+0000096659 00000 n 
+0000096849 00000 n 
+0000097040 00000 n 
+0000097231 00000 n 
+0000100681 00000 n 
+0000097422 00000 n 
+0000098573 00000 n 
+0000096488 00000 n 
+0000095102 00000 n 
+0000097595 00000 n 
+0000097652 00000 n 
+0000097709 00000 n 
+0000097823 00000 n 
+0000097937 00000 n 
+0000098051 00000 n 
+0000098170 00000 n 
+0000098227 00000 n 
+0000098345 00000 n 
+0000098402 00000 n 
+0000098459 00000 n 
+0000098516 00000 n 
+0000102757 00000 n 
+0000100872 00000 n 
+0000101063 00000 n 
+0000101253 00000 n 
+0000101444 00000 n 
+0000101634 00000 n 
+0000101824 00000 n 
+0000105546 00000 n 
+0000102015 00000 n 
+0000103098 00000 n 
+0000100486 00000 n 
+0000098684 00000 n 
+0000102188 00000 n 
+0000102245 00000 n 
+0000102302 00000 n 
+0000102359 00000 n 
+0000102416 00000 n 
+0000102473 00000 n 
+0000102529 00000 n 
+0000102586 00000 n 
+0000720050 00000 n 
+0000102643 00000 n 
+0000102700 00000 n 
+0000102814 00000 n 
+0000102871 00000 n 
+0000102928 00000 n 
+0000102985 00000 n 
+0000720867 00000 n 
+0000103042 00000 n 
+0000105734 00000 n 
+0000105953 00000 n 
+0000106175 00000 n 
+0000106617 00000 n 
+0000106838 00000 n 
+0000107058 00000 n 
+0000107279 00000 n 
+0000107500 00000 n 
+0000107721 00000 n 
+0000107942 00000 n 
+0000108131 00000 n 
+0000108320 00000 n 
+0000109504 00000 n 
+0000105303 00000 n 
+0000103248 00000 n 
+0000108493 00000 n 
+0000108606 00000 n 
+0000106397 00000 n 
+0000108663 00000 n 
+0000108720 00000 n 
+0000108777 00000 n 
+0000108834 00000 n 
+0000108891 00000 n 
+0000108948 00000 n 
+0000109010 00000 n 
+0000109072 00000 n 
+0000109134 00000 n 
+0000109196 00000 n 
+0000109257 00000 n 
+0000109318 00000 n 
+0000109380 00000 n 
+0000109442 00000 n 
+0000115695 00000 n 
+0000111486 00000 n 
+0000111679 00000 n 
+0000111872 00000 n 
+0000112065 00000 n 
+0000112238 00000 n 
+0000112431 00000 n 
+0000112604 00000 n 
+0000112797 00000 n 
+0000112977 00000 n 
+0000113170 00000 n 
+0000113350 00000 n 
+0000113543 00000 n 
+0000113715 00000 n 
+0000113908 00000 n 
+0000114080 00000 n 
+0000114273 00000 n 
+0000114453 00000 n 
+0000114646 00000 n 
+0000114826 00000 n 
+0000115019 00000 n 
+0000115216 00000 n 
+0000118190 00000 n 
+0000118386 00000 n 
+0000115408 00000 n 
+0000116553 00000 n 
+0000111179 00000 n 
+0000109641 00000 n 
+0000115581 00000 n 
+0000115638 00000 n 
+0000115752 00000 n 
+0000115809 00000 n 
+0000115927 00000 n 
+0000115984 00000 n 
+0000116041 00000 n 
+0000116098 00000 n 
+0000116154 00000 n 
+0000116211 00000 n 
+0000116268 00000 n 
+0000116325 00000 n 
+0000116382 00000 n 
+0000116439 00000 n 
+0000116496 00000 n 
+0000149517 00000 n 
+0000118771 00000 n 
+0000118942 00000 n 
+0000119135 00000 n 
+0000119306 00000 n 
+0000119499 00000 n 
+0000119678 00000 n 
+0000119871 00000 n 
+0000120049 00000 n 
+0000120239 00000 n 
+0000120434 00000 n 
+0000120626 00000 n 
+0000120822 00000 n 
+0000121206 00000 n 
+0000121378 00000 n 
+0000121571 00000 n 
+0000121743 00000 n 
+0000121936 00000 n 
+0000122116 00000 n 
+0000122309 00000 n 
+0000122489 00000 n 
+0000122682 00000 n 
+0000122879 00000 n 
+0000123264 00000 n 
+0000123461 00000 n 
+0000123844 00000 n 
+0000124019 00000 n 
+0000124209 00000 n 
+0000124385 00000 n 
+0000124578 00000 n 
+0000124762 00000 n 
+0000127717 00000 n 
+0000127902 00000 n 
+0000124954 00000 n 
+0000126095 00000 n 
+0000117763 00000 n 
+0000116690 00000 n 
+0000125127 00000 n 
+0000125184 00000 n 
+0000118579 00000 n 
+0000125241 00000 n 
+0000125298 00000 n 
+0000125355 00000 n 
+0000125412 00000 n 
+0000125469 00000 n 
+0000125526 00000 n 
+0000121015 00000 n 
+0000125583 00000 n 
+0000125640 00000 n 
+0000125697 00000 n 
+0000125754 00000 n 
+0000125811 00000 n 
+0000123072 00000 n 
+0000125868 00000 n 
+0000123653 00000 n 
+0000125925 00000 n 
+0000125982 00000 n 
+0000126039 00000 n 
+0000721875 00000 n 
+0000128095 00000 n 
+0000128297 00000 n 
+0000128682 00000 n 
+0000128884 00000 n 
+0000129269 00000 n 
+0000129443 00000 n 
+0000129635 00000 n 
+0000129809 00000 n 
+0000130002 00000 n 
+0000130173 00000 n 
+0000130365 00000 n 
+0000130536 00000 n 
+0000130728 00000 n 
+0000130923 00000 n 
+0000131115 00000 n 
+0000131310 00000 n 
+0000131695 00000 n 
+0000131899 00000 n 
+0000132284 00000 n 
+0000132489 00000 n 
+0000132873 00000 n 
+0000133085 00000 n 
+0000133470 00000 n 
+0000133682 00000 n 
+0000137274 00000 n 
+0000134067 00000 n 
+0000135038 00000 n 
+0000127314 00000 n 
+0000126219 00000 n 
+0000134240 00000 n 
+0000134297 00000 n 
+0000134354 00000 n 
+0000128490 00000 n 
+0000134411 00000 n 
+0000129077 00000 n 
+0000134468 00000 n 
+0000134525 00000 n 
+0000134582 00000 n 
+0000134639 00000 n 
+0000134696 00000 n 
+0000134753 00000 n 
+0000131503 00000 n 
+0000134810 00000 n 
+0000132092 00000 n 
+0000134867 00000 n 
+0000132681 00000 n 
+0000134924 00000 n 
+0000133278 00000 n 
+0000134981 00000 n 
+0000133875 00000 n 
+0000137467 00000 n 
+0000137692 00000 n 
+0000137918 00000 n 
+0000138143 00000 n 
+0000138369 00000 n 
+0000138594 00000 n 
+0000138787 00000 n 
+0000139013 00000 n 
+0000139463 00000 n 
+0000139688 00000 n 
+0000140139 00000 n 
+0000140332 00000 n 
+0000140558 00000 n 
+0000141008 00000 n 
+0000141234 00000 n 
+0000141427 00000 n 
+0000141620 00000 n 
+0000141813 00000 n 
+0000142006 00000 n 
+0000142194 00000 n 
+0000142386 00000 n 
+0000142579 00000 n 
+0000142772 00000 n 
+0000142965 00000 n 
+0000143158 00000 n 
+0000143351 00000 n 
+0000143544 00000 n 
+0000143737 00000 n 
+0000143929 00000 n 
+0000147119 00000 n 
+0000147312 00000 n 
+0000144122 00000 n 
+0000144864 00000 n 
+0000136871 00000 n 
+0000135162 00000 n 
+0000144295 00000 n 
+0000144352 00000 n 
+0000139238 00000 n 
+0000139914 00000 n 
+0000140783 00000 n 
+0000144409 00000 n 
+0000144466 00000 n 
+0000144523 00000 n 
+0000144580 00000 n 
+0000144636 00000 n 
+0000144693 00000 n 
+0000144750 00000 n 
+0000144807 00000 n 
+0000151723 00000 n 
+0000151837 00000 n 
+0000151899 00000 n 
+0000151961 00000 n 
+0000152021 00000 n 
+0000152083 00000 n 
+0000152145 00000 n 
+0000152258 00000 n 
+0000152320 00000 n 
+0000152382 00000 n 
+0000152444 00000 n 
+0000152506 00000 n 
+0000152620 00000 n 
+0000152682 00000 n 
+0000152744 00000 n 
+0000152862 00000 n 
+0000147505 00000 n 
+0000147697 00000 n 
+0000147890 00000 n 
+0000148082 00000 n 
+0000148275 00000 n 
+0000148468 00000 n 
+0000148661 00000 n 
+0000149631 00000 n 
+0000146916 00000 n 
+0000144988 00000 n 
+0000148834 00000 n 
+0000148891 00000 n 
+0000148948 00000 n 
+0000149005 00000 n 
+0000149062 00000 n 
+0000149119 00000 n 
+0000149176 00000 n 
+0000149233 00000 n 
+0000149289 00000 n 
+0000149346 00000 n 
+0000149403 00000 n 
+0000149460 00000 n 
+0000149574 00000 n 
+0000151436 00000 n 
+0000152976 00000 n 
+0000151297 00000 n 
+0000149755 00000 n 
+0000151609 00000 n 
+0000151666 00000 n 
+0000151780 00000 n 
+0000718601 00000 n 
+0000718892 00000 n 
+0000152202 00000 n 
+0000152563 00000 n 
+0000152806 00000 n 
+0000152919 00000 n 
+0000155417 00000 n 
+0000155623 00000 n 
+0000155796 00000 n 
+0000156002 00000 n 
+0000156175 00000 n 
+0000156380 00000 n 
+0000156553 00000 n 
+0000156746 00000 n 
+0000156951 00000 n 
+0000157124 00000 n 
+0000157329 00000 n 
+0000157501 00000 n 
+0000157693 00000 n 
+0000157899 00000 n 
+0000158092 00000 n 
+0000158298 00000 n 
+0000158491 00000 n 
+0000158697 00000 n 
+0000158890 00000 n 
+0000159095 00000 n 
+0000159301 00000 n 
+0000162891 00000 n 
+0000163097 00000 n 
+0000159506 00000 n 
+0000160588 00000 n 
+0000155110 00000 n 
+0000153125 00000 n 
+0000159679 00000 n 
+0000159905 00000 n 
+0000159962 00000 n 
+0000160019 00000 n 
+0000160076 00000 n 
+0000160133 00000 n 
+0000160190 00000 n 
+0000160246 00000 n 
+0000160303 00000 n 
+0000160360 00000 n 
+0000160417 00000 n 
+0000160474 00000 n 
+0000160531 00000 n 
+0000163290 00000 n 
+0000163496 00000 n 
+0000163689 00000 n 
+0000163895 00000 n 
+0000164086 00000 n 
+0000164316 00000 n 
+0000164513 00000 n 
+0000164741 00000 n 
+0000164938 00000 n 
+0000165323 00000 n 
+0000165553 00000 n 
+0000165749 00000 n 
+0000169014 00000 n 
+0000169243 00000 n 
+0000165941 00000 n 
+0000166736 00000 n 
+0000162632 00000 n 
+0000160725 00000 n 
+0000166114 00000 n 
+0000166171 00000 n 
+0000166228 00000 n 
+0000166285 00000 n 
+0000166341 00000 n 
+0000166510 00000 n 
+0000166566 00000 n 
+0000166623 00000 n 
+0000165131 00000 n 
+0000166680 00000 n 
+0000721993 00000 n 
+0000169628 00000 n 
+0000169858 00000 n 
+0000170244 00000 n 
+0000170437 00000 n 
+0000170667 00000 n 
+0000171059 00000 n 
+0000171289 00000 n 
+0000171674 00000 n 
+0000171866 00000 n 
+0000172079 00000 n 
+0000172259 00000 n 
+0000172472 00000 n 
+0000176025 00000 n 
+0000176238 00000 n 
+0000176418 00000 n 
+0000172652 00000 n 
+0000173450 00000 n 
+0000168731 00000 n 
+0000166873 00000 n 
+0000172825 00000 n 
+0000172882 00000 n 
+0000169436 00000 n 
+0000172939 00000 n 
+0000170051 00000 n 
+0000172996 00000 n 
+0000170864 00000 n 
+0000173053 00000 n 
+0000171482 00000 n 
+0000173110 00000 n 
+0000173280 00000 n 
+0000173337 00000 n 
+0000173394 00000 n 
+0000176804 00000 n 
+0000177016 00000 n 
+0000177195 00000 n 
+0000177388 00000 n 
+0000177601 00000 n 
+0000177780 00000 n 
+0000177973 00000 n 
+0000178186 00000 n 
+0000178379 00000 n 
+0000178592 00000 n 
+0000178785 00000 n 
+0000179171 00000 n 
+0000179384 00000 n 
+0000179577 00000 n 
+0000179789 00000 n 
+0000179981 00000 n 
+0000180374 00000 n 
+0000180587 00000 n 
+0000180780 00000 n 
+0000181174 00000 n 
+0000181386 00000 n 
+0000181578 00000 n 
+0000181790 00000 n 
+0000181970 00000 n 
+0000182182 00000 n 
+0000182361 00000 n 
+0000182746 00000 n 
+0000182956 00000 n 
+0000186612 00000 n 
+0000186824 00000 n 
+0000187016 00000 n 
+0000187229 00000 n 
+0000183145 00000 n 
+0000184058 00000 n 
+0000175598 00000 n 
+0000173587 00000 n 
+0000183318 00000 n 
+0000183375 00000 n 
+0000176611 00000 n 
+0000183432 00000 n 
+0000183489 00000 n 
+0000183546 00000 n 
+0000183603 00000 n 
+0000178978 00000 n 
+0000183660 00000 n 
+0000183717 00000 n 
+0000180177 00000 n 
+0000183774 00000 n 
+0000180977 00000 n 
+0000183831 00000 n 
+0000183888 00000 n 
+0000183944 00000 n 
+0000182553 00000 n 
+0000184001 00000 n 
+0000187422 00000 n 
+0000187634 00000 n 
+0000187827 00000 n 
+0000188040 00000 n 
+0000188220 00000 n 
+0000188424 00000 n 
+0000188595 00000 n 
+0000188787 00000 n 
+0000189172 00000 n 
+0000189377 00000 n 
+0000189549 00000 n 
+0000189753 00000 n 
+0000189923 00000 n 
+0000190127 00000 n 
+0000190299 00000 n 
+0000193964 00000 n 
+0000194169 00000 n 
+0000194341 00000 n 
+0000190492 00000 n 
+0000191405 00000 n 
+0000186313 00000 n 
+0000184182 00000 n 
+0000190665 00000 n 
+0000190722 00000 n 
+0000190779 00000 n 
+0000190836 00000 n 
+0000190893 00000 n 
+0000190950 00000 n 
+0000191120 00000 n 
+0000191177 00000 n 
+0000188979 00000 n 
+0000718747 00000 n 
+0000719327 00000 n 
+0000191234 00000 n 
+0000191291 00000 n 
+0000191348 00000 n 
+0000194534 00000 n 
+0000194739 00000 n 
+0000194932 00000 n 
+0000195137 00000 n 
+0000195329 00000 n 
+0000195522 00000 n 
+0000195725 00000 n 
+0000195917 00000 n 
+0000196110 00000 n 
+0000196456 00000 n 
+0000196661 00000 n 
+0000196854 00000 n 
+0000197027 00000 n 
+0000197231 00000 n 
+0000197423 00000 n 
+0000197594 00000 n 
+0000197798 00000 n 
+0000197990 00000 n 
+0000198195 00000 n 
+0000198388 00000 n 
+0000198589 00000 n 
+0000198778 00000 n 
+0000198983 00000 n 
+0000199175 00000 n 
+0000199380 00000 n 
+0000199573 00000 n 
+0000199777 00000 n 
+0000199949 00000 n 
+0000200975 00000 n 
+0000193577 00000 n 
+0000191568 00000 n 
+0000200122 00000 n 
+0000200179 00000 n 
+0000200236 00000 n 
+0000200293 00000 n 
+0000200350 00000 n 
+0000196283 00000 n 
+0000200407 00000 n 
+0000200464 00000 n 
+0000200521 00000 n 
+0000200578 00000 n 
+0000200635 00000 n 
+0000200692 00000 n 
+0000200749 00000 n 
+0000200805 00000 n 
+0000200862 00000 n 
+0000203364 00000 n 
+0000203594 00000 n 
+0000203791 00000 n 
+0000204019 00000 n 
+0000204411 00000 n 
+0000204604 00000 n 
+0000204833 00000 n 
+0000205227 00000 n 
+0000205420 00000 n 
+0000205649 00000 n 
+0000206035 00000 n 
+0000206264 00000 n 
+0000206650 00000 n 
+0000206843 00000 n 
+0000207072 00000 n 
+0000207466 00000 n 
+0000207696 00000 n 
+0000208082 00000 n 
+0000208274 00000 n 
+0000209131 00000 n 
+0000203029 00000 n 
+0000201099 00000 n 
+0000208447 00000 n 
+0000208560 00000 n 
+0000208617 00000 n 
+0000208673 00000 n 
+0000204214 00000 n 
+0000208730 00000 n 
+0000205030 00000 n 
+0000208787 00000 n 
+0000205842 00000 n 
+0000208844 00000 n 
+0000206457 00000 n 
+0000208902 00000 n 
+0000207268 00000 n 
+0000208960 00000 n 
+0000207889 00000 n 
+0000209018 00000 n 
+0000211664 00000 n 
+0000211878 00000 n 
+0000212059 00000 n 
+0000212273 00000 n 
+0000212454 00000 n 
+0000212667 00000 n 
+0000212847 00000 n 
+0000213234 00000 n 
+0000213448 00000 n 
+0000213629 00000 n 
+0000214017 00000 n 
+0000214231 00000 n 
+0000214412 00000 n 
+0000214800 00000 n 
+0000215014 00000 n 
+0000215208 00000 n 
+0000215422 00000 n 
+0000215616 00000 n 
+0000216004 00000 n 
+0000216217 00000 n 
+0000216409 00000 n 
+0000216622 00000 n 
+0000216815 00000 n 
+0000217029 00000 n 
+0000217223 00000 n 
+0000217619 00000 n 
+0000217832 00000 n 
+0000218025 00000 n 
+0000221717 00000 n 
+0000221931 00000 n 
+0000218418 00000 n 
+0000219414 00000 n 
+0000211214 00000 n 
+0000209268 00000 n 
+0000218592 00000 n 
+0000218708 00000 n 
+0000218767 00000 n 
+0000218826 00000 n 
+0000218884 00000 n 
+0000213040 00000 n 
+0000218943 00000 n 
+0000213823 00000 n 
+0000219002 00000 n 
+0000214606 00000 n 
+0000219061 00000 n 
+0000219120 00000 n 
+0000215810 00000 n 
+0000219179 00000 n 
+0000219238 00000 n 
+0000219297 00000 n 
+0000217421 00000 n 
+0000219356 00000 n 
+0000218222 00000 n 
+0000722111 00000 n 
+0000222125 00000 n 
+0000222339 00000 n 
+0000222518 00000 n 
+0000222732 00000 n 
+0000222911 00000 n 
+0000223299 00000 n 
+0000223513 00000 n 
+0000223707 00000 n 
+0000223920 00000 n 
+0000224112 00000 n 
+0000224326 00000 n 
+0000224520 00000 n 
+0000224734 00000 n 
+0000224927 00000 n 
+0000225141 00000 n 
+0000228976 00000 n 
+0000229182 00000 n 
+0000229355 00000 n 
+0000229549 00000 n 
+0000225322 00000 n 
+0000226200 00000 n 
+0000221411 00000 n 
+0000219552 00000 n 
+0000225496 00000 n 
+0000225555 00000 n 
+0000225614 00000 n 
+0000225673 00000 n 
+0000223105 00000 n 
+0000225732 00000 n 
+0000225790 00000 n 
+0000225849 00000 n 
+0000225908 00000 n 
+0000225967 00000 n 
+0000226026 00000 n 
+0000229936 00000 n 
+0000230142 00000 n 
+0000230315 00000 n 
+0000230520 00000 n 
+0000230692 00000 n 
+0000230898 00000 n 
+0000231071 00000 n 
+0000231265 00000 n 
+0000231471 00000 n 
+0000231644 00000 n 
+0000231838 00000 n 
+0000232044 00000 n 
+0000232238 00000 n 
+0000232443 00000 n 
+0000232636 00000 n 
+0000232828 00000 n 
+0000233034 00000 n 
+0000233228 00000 n 
+0000233434 00000 n 
+0000233628 00000 n 
+0000233821 00000 n 
+0000234169 00000 n 
+0000234374 00000 n 
+0000234567 00000 n 
+0000234740 00000 n 
+0000234945 00000 n 
+0000235138 00000 n 
+0000235344 00000 n 
+0000238898 00000 n 
+0000239104 00000 n 
+0000239298 00000 n 
+0000239504 00000 n 
+0000235538 00000 n 
+0000236535 00000 n 
+0000228526 00000 n 
+0000226338 00000 n 
+0000235712 00000 n 
+0000235771 00000 n 
+0000235830 00000 n 
+0000229743 00000 n 
+0000235889 00000 n 
+0000235947 00000 n 
+0000236006 00000 n 
+0000236064 00000 n 
+0000236123 00000 n 
+0000236182 00000 n 
+0000236241 00000 n 
+0000236300 00000 n 
+0000233995 00000 n 
+0000236359 00000 n 
+0000236418 00000 n 
+0000236476 00000 n 
+0000239698 00000 n 
+0000239904 00000 n 
+0000240097 00000 n 
+0000240302 00000 n 
+0000240473 00000 n 
+0000240703 00000 n 
+0000240900 00000 n 
+0000241129 00000 n 
+0000241523 00000 n 
+0000241717 00000 n 
+0000241947 00000 n 
+0000242341 00000 n 
+0000242534 00000 n 
+0000242764 00000 n 
+0000246365 00000 n 
+0000246595 00000 n 
+0000246982 00000 n 
+0000242958 00000 n 
+0000243894 00000 n 
+0000238574 00000 n 
+0000236686 00000 n 
+0000243132 00000 n 
+0000243191 00000 n 
+0000243250 00000 n 
+0000243309 00000 n 
+0000243368 00000 n 
+0000243427 00000 n 
+0000243600 00000 n 
+0000243659 00000 n 
+0000243717 00000 n 
+0000241326 00000 n 
+0000243776 00000 n 
+0000242144 00000 n 
+0000243835 00000 n 
+0000247176 00000 n 
+0000247406 00000 n 
+0000247799 00000 n 
+0000248029 00000 n 
+0000248416 00000 n 
+0000248609 00000 n 
+0000248822 00000 n 
+0000249002 00000 n 
+0000249215 00000 n 
+0000249395 00000 n 
+0000249783 00000 n 
+0000249996 00000 n 
+0000250176 00000 n 
+0000250564 00000 n 
+0000250777 00000 n 
+0000250957 00000 n 
+0000254808 00000 n 
+0000255021 00000 n 
+0000251341 00000 n 
+0000252219 00000 n 
+0000245996 00000 n 
+0000244032 00000 n 
+0000251515 00000 n 
+0000251574 00000 n 
+0000246789 00000 n 
+0000251633 00000 n 
+0000247603 00000 n 
+0000251692 00000 n 
+0000248223 00000 n 
+0000251751 00000 n 
+0000251924 00000 n 
+0000251983 00000 n 
+0000252042 00000 n 
+0000249589 00000 n 
+0000252101 00000 n 
+0000250370 00000 n 
+0000252160 00000 n 
+0000251151 00000 n 
+0000255213 00000 n 
+0000255425 00000 n 
+0000255618 00000 n 
+0000256005 00000 n 
+0000256217 00000 n 
+0000256411 00000 n 
+0000256624 00000 n 
+0000256818 00000 n 
+0000257211 00000 n 
+0000257423 00000 n 
+0000257616 00000 n 
+0000258008 00000 n 
+0000258220 00000 n 
+0000258414 00000 n 
+0000258627 00000 n 
+0000258807 00000 n 
+0000259020 00000 n 
+0000259200 00000 n 
+0000259588 00000 n 
+0000259801 00000 n 
+0000259995 00000 n 
+0000260208 00000 n 
+0000260402 00000 n 
+0000260614 00000 n 
+0000260807 00000 n 
+0000261020 00000 n 
+0000261214 00000 n 
+0000261427 00000 n 
+0000261607 00000 n 
+0000262607 00000 n 
+0000254358 00000 n 
+0000252357 00000 n 
+0000261781 00000 n 
+0000261840 00000 n 
+0000261899 00000 n 
+0000255811 00000 n 
+0000261958 00000 n 
+0000262017 00000 n 
+0000257014 00000 n 
+0000262076 00000 n 
+0000257811 00000 n 
+0000262135 00000 n 
+0000262194 00000 n 
+0000262253 00000 n 
+0000259394 00000 n 
+0000262312 00000 n 
+0000262371 00000 n 
+0000262430 00000 n 
+0000262489 00000 n 
+0000262548 00000 n 
+0000265279 00000 n 
+0000265483 00000 n 
+0000265654 00000 n 
+0000265847 00000 n 
+0000266234 00000 n 
+0000266428 00000 n 
+0000266633 00000 n 
+0000266805 00000 n 
+0000267010 00000 n 
+0000267182 00000 n 
+0000267387 00000 n 
+0000267559 00000 n 
+0000267753 00000 n 
+0000267957 00000 n 
+0000268129 00000 n 
+0000268323 00000 n 
+0000268526 00000 n 
+0000268718 00000 n 
+0000268922 00000 n 
+0000269114 00000 n 
+0000269307 00000 n 
+0000269511 00000 n 
+0000273013 00000 n 
+0000273218 00000 n 
+0000273412 00000 n 
+0000273606 00000 n 
+0000269704 00000 n 
+0000270640 00000 n 
+0000264928 00000 n 
+0000262732 00000 n 
+0000269878 00000 n 
+0000269937 00000 n 
+0000270111 00000 n 
+0000270170 00000 n 
+0000266040 00000 n 
+0000270229 00000 n 
+0000720193 00000 n 
+0000719037 00000 n 
+0000270288 00000 n 
+0000270345 00000 n 
+0000270404 00000 n 
+0000270463 00000 n 
+0000270522 00000 n 
+0000270581 00000 n 
+0000722236 00000 n 
+0000273954 00000 n 
+0000274157 00000 n 
+0000274350 00000 n 
+0000274523 00000 n 
+0000274728 00000 n 
+0000274922 00000 n 
+0000275127 00000 n 
+0000275320 00000 n 
+0000275525 00000 n 
+0000275719 00000 n 
+0000275924 00000 n 
+0000276118 00000 n 
+0000276322 00000 n 
+0000276516 00000 n 
+0000276721 00000 n 
+0000280255 00000 n 
+0000280490 00000 n 
+0000280895 00000 n 
+0000281366 00000 n 
+0000281568 00000 n 
+0000276893 00000 n 
+0000277830 00000 n 
+0000272689 00000 n 
+0000270806 00000 n 
+0000277067 00000 n 
+0000277126 00000 n 
+0000273780 00000 n 
+0000277185 00000 n 
+0000277244 00000 n 
+0000277303 00000 n 
+0000277362 00000 n 
+0000277421 00000 n 
+0000277480 00000 n 
+0000277538 00000 n 
+0000277597 00000 n 
+0000277771 00000 n 
+0000281955 00000 n 
+0000282427 00000 n 
+0000282630 00000 n 
+0000283018 00000 n 
+0000283253 00000 n 
+0000283641 00000 n 
+0000283877 00000 n 
+0000284265 00000 n 
+0000284459 00000 n 
+0000284695 00000 n 
+0000285099 00000 n 
+0000285334 00000 n 
+0000285722 00000 n 
+0000285916 00000 n 
+0000286735 00000 n 
+0000279868 00000 n 
+0000277968 00000 n 
+0000286090 00000 n 
+0000286149 00000 n 
+0000280693 00000 n 
+0000286208 00000 n 
+0000281131 00000 n 
+0000281761 00000 n 
+0000286267 00000 n 
+0000282191 00000 n 
+0000282824 00000 n 
+0000286326 00000 n 
+0000283447 00000 n 
+0000286385 00000 n 
+0000284071 00000 n 
+0000286442 00000 n 
+0000284898 00000 n 
+0000286501 00000 n 
+0000285528 00000 n 
+0000286560 00000 n 
+0000289323 00000 n 
+0000289542 00000 n 
+0000289728 00000 n 
+0000289947 00000 n 
+0000290133 00000 n 
+0000290327 00000 n 
+0000290546 00000 n 
+0000290918 00000 n 
+0000291112 00000 n 
+0000291330 00000 n 
+0000291701 00000 n 
+0000291894 00000 n 
+0000292112 00000 n 
+0000292305 00000 n 
+0000292523 00000 n 
+0000292716 00000 n 
+0000292910 00000 n 
+0000293129 00000 n 
+0000293323 00000 n 
+0000293542 00000 n 
+0000293736 00000 n 
+0000294141 00000 n 
+0000294360 00000 n 
+0000294553 00000 n 
+0000294958 00000 n 
+0000295177 00000 n 
+0000295371 00000 n 
+0000295590 00000 n 
+0000299240 00000 n 
+0000299459 00000 n 
+0000299643 00000 n 
+0000295774 00000 n 
+0000296713 00000 n 
+0000288891 00000 n 
+0000286873 00000 n 
+0000295948 00000 n 
+0000296007 00000 n 
+0000296066 00000 n 
+0000296125 00000 n 
+0000296184 00000 n 
+0000290732 00000 n 
+0000296242 00000 n 
+0000291516 00000 n 
+0000296301 00000 n 
+0000296359 00000 n 
+0000296418 00000 n 
+0000296477 00000 n 
+0000293938 00000 n 
+0000296536 00000 n 
+0000294755 00000 n 
+0000296595 00000 n 
+0000296654 00000 n 
+0000299837 00000 n 
+0000300056 00000 n 
+0000300250 00000 n 
+0000300469 00000 n 
+0000300663 00000 n 
+0000300881 00000 n 
+0000301074 00000 n 
+0000301293 00000 n 
+0000301487 00000 n 
+0000301704 00000 n 
+0000301886 00000 n 
+0000302095 00000 n 
+0000302271 00000 n 
+0000302463 00000 n 
+0000302657 00000 n 
+0000306535 00000 n 
+0000306745 00000 n 
+0000302851 00000 n 
+0000303730 00000 n 
+0000298934 00000 n 
+0000296838 00000 n 
+0000303025 00000 n 
+0000303084 00000 n 
+0000303143 00000 n 
+0000303201 00000 n 
+0000303260 00000 n 
+0000303319 00000 n 
+0000303378 00000 n 
+0000303437 00000 n 
+0000303612 00000 n 
+0000303671 00000 n 
+0000306922 00000 n 
+0000307132 00000 n 
+0000307310 00000 n 
+0000307697 00000 n 
+0000307908 00000 n 
+0000308086 00000 n 
+0000308474 00000 n 
+0000308685 00000 n 
+0000308879 00000 n 
+0000309089 00000 n 
+0000309282 00000 n 
+0000309474 00000 n 
+0000309685 00000 n 
+0000309879 00000 n 
+0000310090 00000 n 
+0000310284 00000 n 
+0000310478 00000 n 
+0000310652 00000 n 
+0000310863 00000 n 
+0000311056 00000 n 
+0000311230 00000 n 
+0000311440 00000 n 
+0000311633 00000 n 
+0000311844 00000 n 
+0000312038 00000 n 
+0000312249 00000 n 
+0000312443 00000 n 
+0000312654 00000 n 
+0000312848 00000 n 
+0000313059 00000 n 
+0000313253 00000 n 
+0000313464 00000 n 
+0000313642 00000 n 
+0000314697 00000 n 
+0000306067 00000 n 
+0000303868 00000 n 
+0000313816 00000 n 
+0000313875 00000 n 
+0000313934 00000 n 
+0000307504 00000 n 
+0000313992 00000 n 
+0000308280 00000 n 
+0000314050 00000 n 
+0000314109 00000 n 
+0000314168 00000 n 
+0000314227 00000 n 
+0000314286 00000 n 
+0000314345 00000 n 
+0000314403 00000 n 
+0000314462 00000 n 
+0000314521 00000 n 
+0000314580 00000 n 
+0000314638 00000 n 
+0000317080 00000 n 
+0000317294 00000 n 
+0000317475 00000 n 
+0000317689 00000 n 
+0000317869 00000 n 
+0000318257 00000 n 
+0000318469 00000 n 
+0000318649 00000 n 
+0000319037 00000 n 
+0000319251 00000 n 
+0000319432 00000 n 
+0000319819 00000 n 
+0000320033 00000 n 
+0000320214 00000 n 
+0000320600 00000 n 
+0000320813 00000 n 
+0000320994 00000 n 
+0000321382 00000 n 
+0000321596 00000 n 
+0000321777 00000 n 
+0000325718 00000 n 
+0000325932 00000 n 
+0000326113 00000 n 
+0000322164 00000 n 
+0000323043 00000 n 
+0000316702 00000 n 
+0000314850 00000 n 
+0000322338 00000 n 
+0000322397 00000 n 
+0000322572 00000 n 
+0000322631 00000 n 
+0000322690 00000 n 
+0000318063 00000 n 
+0000322749 00000 n 
+0000318843 00000 n 
+0000322808 00000 n 
+0000319626 00000 n 
+0000322867 00000 n 
+0000320408 00000 n 
+0000322926 00000 n 
+0000321188 00000 n 
+0000322984 00000 n 
+0000321971 00000 n 
+0000722361 00000 n 
+0000326501 00000 n 
+0000326715 00000 n 
+0000326909 00000 n 
+0000327123 00000 n 
+0000327317 00000 n 
+0000327705 00000 n 
+0000327918 00000 n 
+0000328111 00000 n 
+0000328303 00000 n 
+0000328477 00000 n 
+0000328691 00000 n 
+0000328885 00000 n 
+0000329233 00000 n 
+0000329446 00000 n 
+0000329639 00000 n 
+0000329852 00000 n 
+0000330033 00000 n 
+0000330226 00000 n 
+0000330420 00000 n 
+0000330633 00000 n 
+0000330813 00000 n 
+0000331200 00000 n 
+0000331413 00000 n 
+0000331593 00000 n 
+0000331980 00000 n 
+0000332194 00000 n 
+0000332375 00000 n 
+0000332569 00000 n 
+0000332782 00000 n 
+0000332962 00000 n 
+0000336209 00000 n 
+0000336423 00000 n 
+0000333349 00000 n 
+0000334229 00000 n 
+0000325223 00000 n 
+0000323181 00000 n 
+0000333523 00000 n 
+0000333582 00000 n 
+0000326307 00000 n 
+0000333640 00000 n 
+0000333699 00000 n 
+0000327511 00000 n 
+0000333758 00000 n 
+0000333817 00000 n 
+0000329059 00000 n 
+0000333876 00000 n 
+0000333935 00000 n 
+0000333994 00000 n 
+0000331006 00000 n 
+0000334053 00000 n 
+0000331786 00000 n 
+0000334111 00000 n 
+0000334170 00000 n 
+0000333155 00000 n 
+0000336617 00000 n 
+0000336831 00000 n 
+0000337025 00000 n 
+0000337237 00000 n 
+0000337430 00000 n 
+0000337644 00000 n 
+0000337838 00000 n 
+0000338052 00000 n 
+0000338233 00000 n 
+0000338441 00000 n 
+0000338649 00000 n 
+0000338857 00000 n 
+0000339064 00000 n 
+0000343044 00000 n 
+0000339270 00000 n 
+0000340327 00000 n 
+0000335930 00000 n 
+0000334354 00000 n 
+0000339444 00000 n 
+0000339503 00000 n 
+0000339562 00000 n 
+0000339621 00000 n 
+0000339680 00000 n 
+0000339739 00000 n 
+0000339798 00000 n 
+0000339973 00000 n 
+0000340032 00000 n 
+0000340091 00000 n 
+0000340150 00000 n 
+0000340209 00000 n 
+0000340268 00000 n 
+0000343252 00000 n 
+0000343459 00000 n 
+0000343667 00000 n 
+0000343875 00000 n 
+0000344083 00000 n 
+0000344258 00000 n 
+0000344646 00000 n 
+0000344854 00000 n 
+0000345028 00000 n 
+0000345221 00000 n 
+0000345609 00000 n 
+0000345803 00000 n 
+0000346011 00000 n 
+0000346185 00000 n 
+0000346573 00000 n 
+0000346780 00000 n 
+0000346954 00000 n 
+0000347341 00000 n 
+0000347547 00000 n 
+0000347739 00000 n 
+0000347946 00000 n 
+0000348137 00000 n 
+0000348329 00000 n 
+0000348536 00000 n 
+0000348729 00000 n 
+0000348923 00000 n 
+0000349130 00000 n 
+0000349323 00000 n 
+0000353451 00000 n 
+0000353659 00000 n 
+0000353853 00000 n 
+0000349710 00000 n 
+0000350646 00000 n 
+0000342594 00000 n 
+0000340465 00000 n 
+0000349884 00000 n 
+0000349943 00000 n 
+0000350002 00000 n 
+0000350061 00000 n 
+0000350120 00000 n 
+0000350179 00000 n 
+0000344452 00000 n 
+0000350238 00000 n 
+0000345415 00000 n 
+0000350297 00000 n 
+0000346379 00000 n 
+0000350356 00000 n 
+0000347147 00000 n 
+0000350414 00000 n 
+0000350472 00000 n 
+0000350531 00000 n 
+0000350588 00000 n 
+0000349516 00000 n 
+0000354241 00000 n 
+0000354446 00000 n 
+0000354638 00000 n 
+0000354830 00000 n 
+0000355024 00000 n 
+0000355232 00000 n 
+0000355426 00000 n 
+0000355814 00000 n 
+0000356022 00000 n 
+0000356216 00000 n 
+0000356424 00000 n 
+0000356618 00000 n 
+0000356826 00000 n 
+0000357001 00000 n 
+0000357209 00000 n 
+0000357384 00000 n 
+0000357771 00000 n 
+0000357979 00000 n 
+0000358154 00000 n 
+0000358542 00000 n 
+0000358749 00000 n 
+0000358923 00000 n 
+0000359117 00000 n 
+0000359324 00000 n 
+0000359498 00000 n 
+0000359885 00000 n 
+0000360093 00000 n 
+0000360268 00000 n 
+0000360656 00000 n 
+0000360864 00000 n 
+0000364497 00000 n 
+0000364705 00000 n 
+0000364899 00000 n 
+0000365106 00000 n 
+0000361039 00000 n 
+0000361979 00000 n 
+0000352956 00000 n 
+0000350771 00000 n 
+0000361213 00000 n 
+0000361272 00000 n 
+0000354047 00000 n 
+0000361331 00000 n 
+0000361390 00000 n 
+0000355620 00000 n 
+0000361449 00000 n 
+0000361508 00000 n 
+0000361567 00000 n 
+0000361626 00000 n 
+0000357578 00000 n 
+0000361685 00000 n 
+0000358348 00000 n 
+0000361744 00000 n 
+0000361803 00000 n 
+0000359691 00000 n 
+0000361862 00000 n 
+0000360462 00000 n 
+0000361920 00000 n 
+0000365299 00000 n 
+0000365507 00000 n 
+0000365701 00000 n 
+0000366089 00000 n 
+0000366262 00000 n 
+0000366436 00000 n 
+0000366644 00000 n 
+0000366838 00000 n 
+0000367226 00000 n 
+0000367434 00000 n 
+0000367628 00000 n 
+0000368015 00000 n 
+0000368223 00000 n 
+0000368417 00000 n 
+0000368590 00000 n 
+0000368764 00000 n 
+0000368971 00000 n 
+0000369164 00000 n 
+0000369372 00000 n 
+0000369547 00000 n 
+0000369755 00000 n 
+0000369949 00000 n 
+0000370156 00000 n 
+0000370350 00000 n 
+0000370558 00000 n 
+0000370751 00000 n 
+0000370959 00000 n 
+0000371152 00000 n 
+0000371360 00000 n 
+0000371535 00000 n 
+0000372412 00000 n 
+0000364029 00000 n 
+0000362104 00000 n 
+0000371709 00000 n 
+0000371768 00000 n 
+0000365895 00000 n 
+0000371827 00000 n 
+0000367032 00000 n 
+0000371886 00000 n 
+0000367822 00000 n 
+0000371941 00000 n 
+0000372000 00000 n 
+0000372059 00000 n 
+0000372117 00000 n 
+0000372176 00000 n 
+0000372235 00000 n 
+0000372294 00000 n 
+0000372353 00000 n 
+0000374956 00000 n 
+0000375074 00000 n 
+0000375192 00000 n 
+0000374468 00000 n 
+0000378005 00000 n 
+0000378251 00000 n 
+0000374664 00000 n 
+0000375484 00000 n 
+0000374315 00000 n 
+0000372537 00000 n 
+0000374838 00000 n 
+0000374897 00000 n 
+0000375015 00000 n 
+0000375133 00000 n 
+0000375250 00000 n 
+0000375425 00000 n 
+0000722486 00000 n 
+0000378677 00000 n 
+0000378921 00000 n 
+0000379346 00000 n 
+0000379734 00000 n 
+0000379980 00000 n 
+0000380368 00000 n 
+0000380581 00000 n 
+0000380827 00000 n 
+0000381215 00000 n 
+0000381428 00000 n 
+0000381674 00000 n 
+0000382061 00000 n 
+0000382306 00000 n 
+0000382692 00000 n 
+0000382885 00000 n 
+0000383131 00000 n 
+0000383557 00000 n 
+0000383803 00000 n 
+0000384229 00000 n 
+0000384474 00000 n 
+0000384861 00000 n 
+0000385248 00000 n 
+0000385444 00000 n 
+0000386385 00000 n 
+0000377546 00000 n 
+0000375596 00000 n 
+0000385618 00000 n 
+0000385677 00000 n 
+0000378464 00000 n 
+0000385736 00000 n 
+0000379133 00000 n 
+0000379540 00000 n 
+0000385795 00000 n 
+0000380174 00000 n 
+0000385854 00000 n 
+0000381021 00000 n 
+0000385913 00000 n 
+0000381868 00000 n 
+0000382498 00000 n 
+0000385972 00000 n 
+0000383344 00000 n 
+0000386031 00000 n 
+0000384016 00000 n 
+0000386090 00000 n 
+0000384667 00000 n 
+0000385054 00000 n 
+0000386149 00000 n 
+0000386208 00000 n 
+0000386267 00000 n 
+0000386326 00000 n 
+0000388867 00000 n 
+0000389063 00000 n 
+0000389302 00000 n 
+0000389714 00000 n 
+0000389952 00000 n 
+0000390363 00000 n 
+0000390557 00000 n 
+0000390796 00000 n 
+0000391187 00000 n 
+0000391391 00000 n 
+0000391630 00000 n 
+0000391825 00000 n 
+0000392031 00000 n 
+0000392269 00000 n 
+0000392657 00000 n 
+0000392895 00000 n 
+0000393283 00000 n 
+0000393476 00000 n 
+0000393714 00000 n 
+0000394126 00000 n 
+0000394364 00000 n 
+0000398135 00000 n 
+0000398374 00000 n 
+0000398761 00000 n 
+0000394773 00000 n 
+0000395593 00000 n 
+0000388471 00000 n 
+0000386523 00000 n 
+0000394947 00000 n 
+0000395121 00000 n 
+0000395180 00000 n 
+0000389508 00000 n 
+0000395239 00000 n 
+0000390157 00000 n 
+0000395298 00000 n 
+0000390992 00000 n 
+0000395357 00000 n 
+0000395416 00000 n 
+0000392463 00000 n 
+0000393089 00000 n 
+0000395475 00000 n 
+0000393920 00000 n 
+0000395534 00000 n 
+0000394569 00000 n 
+0000400792 00000 n 
+0000398954 00000 n 
+0000399150 00000 n 
+0000399379 00000 n 
+0000399767 00000 n 
+0000399996 00000 n 
+0000403895 00000 n 
+0000404353 00000 n 
+0000404547 00000 n 
+0000400382 00000 n 
+0000401144 00000 n 
+0000397892 00000 n 
+0000395718 00000 n 
+0000400556 00000 n 
+0000400615 00000 n 
+0000398568 00000 n 
+0000400674 00000 n 
+0000400733 00000 n 
+0000400851 00000 n 
+0000401026 00000 n 
+0000401085 00000 n 
+0000399573 00000 n 
+0000400189 00000 n 
+0000410534 00000 n 
+0000404935 00000 n 
+0000405391 00000 n 
+0000405584 00000 n 
+0000405971 00000 n 
+0000406200 00000 n 
+0000406592 00000 n 
+0000406786 00000 n 
+0000407015 00000 n 
+0000407407 00000 n 
+0000407601 00000 n 
+0000408012 00000 n 
+0000408240 00000 n 
+0000408631 00000 n 
+0000408824 00000 n 
+0000409209 00000 n 
+0000409438 00000 n 
+0000409830 00000 n 
+0000410652 00000 n 
+0000403490 00000 n 
+0000401282 00000 n 
+0000410004 00000 n 
+0000410063 00000 n 
+0000404124 00000 n 
+0000404741 00000 n 
+0000410122 00000 n 
+0000405163 00000 n 
+0000405777 00000 n 
+0000410181 00000 n 
+0000406396 00000 n 
+0000410239 00000 n 
+0000407211 00000 n 
+0000407807 00000 n 
+0000410298 00000 n 
+0000408435 00000 n 
+0000409018 00000 n 
+0000410357 00000 n 
+0000409634 00000 n 
+0000410416 00000 n 
+0000410475 00000 n 
+0000410593 00000 n 
+0000413204 00000 n 
+0000413410 00000 n 
+0000413583 00000 n 
+0000413970 00000 n 
+0000414175 00000 n 
+0000414347 00000 n 
+0000414734 00000 n 
+0000414940 00000 n 
+0000415113 00000 n 
+0000415307 00000 n 
+0000415512 00000 n 
+0000415684 00000 n 
+0000416071 00000 n 
+0000416277 00000 n 
+0000416450 00000 n 
+0000416812 00000 n 
+0000417018 00000 n 
+0000417191 00000 n 
+0000417579 00000 n 
+0000417783 00000 n 
+0000417955 00000 n 
+0000418316 00000 n 
+0000418522 00000 n 
+0000418695 00000 n 
+0000422706 00000 n 
+0000422912 00000 n 
+0000423084 00000 n 
+0000419083 00000 n 
+0000419665 00000 n 
+0000412781 00000 n 
+0000410790 00000 n 
+0000419257 00000 n 
+0000419430 00000 n 
+0000419489 00000 n 
+0000413777 00000 n 
+0000419548 00000 n 
+0000414540 00000 n 
+0000415877 00000 n 
+0000416631 00000 n 
+0000417385 00000 n 
+0000418135 00000 n 
+0000419606 00000 n 
+0000418889 00000 n 
+0000529752 00000 n 
+0000529870 00000 n 
+0000529988 00000 n 
+0000530111 00000 n 
+0000530229 00000 n 
+0000423472 00000 n 
+0000423677 00000 n 
+0000423849 00000 n 
+0000424235 00000 n 
+0000424440 00000 n 
+0000424786 00000 n 
+0000424980 00000 n 
+0000425186 00000 n 
+0000425359 00000 n 
+0000425746 00000 n 
+0000425952 00000 n 
+0000426125 00000 n 
+0000426487 00000 n 
+0000426692 00000 n 
+0000426865 00000 n 
+0000427252 00000 n 
+0000427458 00000 n 
+0000427631 00000 n 
+0000427993 00000 n 
+0000428199 00000 n 
+0000428372 00000 n 
+0000428760 00000 n 
+0000428966 00000 n 
+0000429139 00000 n 
+0000432753 00000 n 
+0000432959 00000 n 
+0000433132 00000 n 
+0000429527 00000 n 
+0000429995 00000 n 
+0000422238 00000 n 
+0000419790 00000 n 
+0000429701 00000 n 
+0000429760 00000 n 
+0000423278 00000 n 
+0000429819 00000 n 
+0000424042 00000 n 
+0000424613 00000 n 
+0000425553 00000 n 
+0000426306 00000 n 
+0000427059 00000 n 
+0000427812 00000 n 
+0000429878 00000 n 
+0000428566 00000 n 
+0000429936 00000 n 
+0000429333 00000 n 
+0000722611 00000 n 
+0000530351 00000 n 
+0000532729 00000 n 
+0000532847 00000 n 
+0000532970 00000 n 
+0000533086 00000 n 
+0000433326 00000 n 
+0000433532 00000 n 
+0000433705 00000 n 
+0000434093 00000 n 
+0000434299 00000 n 
+0000434472 00000 n 
+0000434666 00000 n 
+0000434872 00000 n 
+0000435066 00000 n 
+0000435272 00000 n 
+0000435466 00000 n 
+0000435660 00000 n 
+0000435866 00000 n 
+0000436060 00000 n 
+0000436254 00000 n 
+0000436459 00000 n 
+0000436652 00000 n 
+0000437039 00000 n 
+0000437245 00000 n 
+0000437439 00000 n 
+0000437827 00000 n 
+0000438033 00000 n 
+0000438227 00000 n 
+0000438615 00000 n 
+0000438821 00000 n 
+0000439015 00000 n 
+0000439402 00000 n 
+0000439607 00000 n 
+0000439801 00000 n 
+0000440189 00000 n 
+0000440395 00000 n 
+0000440589 00000 n 
+0000444421 00000 n 
+0000444627 00000 n 
+0000440976 00000 n 
+0000441680 00000 n 
+0000432231 00000 n 
+0000430120 00000 n 
+0000441150 00000 n 
+0000441209 00000 n 
+0000433899 00000 n 
+0000441267 00000 n 
+0000441326 00000 n 
+0000441385 00000 n 
+0000436845 00000 n 
+0000437633 00000 n 
+0000441444 00000 n 
+0000438421 00000 n 
+0000441503 00000 n 
+0000439208 00000 n 
+0000441562 00000 n 
+0000439995 00000 n 
+0000441621 00000 n 
+0000440783 00000 n 
+0000533209 00000 n 
+0000536135 00000 n 
+0000536253 00000 n 
+0000536370 00000 n 
+0000444821 00000 n 
+0000445027 00000 n 
+0000445221 00000 n 
+0000445427 00000 n 
+0000445620 00000 n 
+0000445825 00000 n 
+0000446017 00000 n 
+0000446223 00000 n 
+0000446416 00000 n 
+0000446619 00000 n 
+0000446811 00000 n 
+0000447017 00000 n 
+0000447190 00000 n 
+0000447383 00000 n 
+0000447589 00000 n 
+0000447783 00000 n 
+0000448170 00000 n 
+0000448375 00000 n 
+0000448569 00000 n 
+0000448957 00000 n 
+0000449163 00000 n 
+0000449353 00000 n 
+0000449741 00000 n 
+0000449914 00000 n 
+0000450088 00000 n 
+0000450432 00000 n 
+0000450638 00000 n 
+0000450831 00000 n 
+0000451025 00000 n 
+0000451198 00000 n 
+0000451371 00000 n 
+0000451577 00000 n 
+0000451771 00000 n 
+0000452159 00000 n 
+0000452333 00000 n 
+0000452507 00000 n 
+0000452851 00000 n 
+0000453057 00000 n 
+0000453251 00000 n 
+0000453639 00000 n 
+0000453813 00000 n 
+0000457428 00000 n 
+0000457634 00000 n 
+0000457827 00000 n 
+0000458020 00000 n 
+0000458225 00000 n 
+0000458418 00000 n 
+0000453987 00000 n 
+0000454868 00000 n 
+0000443827 00000 n 
+0000441805 00000 n 
+0000454161 00000 n 
+0000454220 00000 n 
+0000454279 00000 n 
+0000454337 00000 n 
+0000454396 00000 n 
+0000454455 00000 n 
+0000454514 00000 n 
+0000454573 00000 n 
+0000454632 00000 n 
+0000447977 00000 n 
+0000454691 00000 n 
+0000448763 00000 n 
+0000449547 00000 n 
+0000450260 00000 n 
+0000454750 00000 n 
+0000451965 00000 n 
+0000452679 00000 n 
+0000454809 00000 n 
+0000453445 00000 n 
+0000536493 00000 n 
+0000539438 00000 n 
+0000458805 00000 n 
+0000459011 00000 n 
+0000459205 00000 n 
+0000459593 00000 n 
+0000459799 00000 n 
+0000459993 00000 n 
+0000460187 00000 n 
+0000460393 00000 n 
+0000460587 00000 n 
+0000460793 00000 n 
+0000460987 00000 n 
+0000461192 00000 n 
+0000461384 00000 n 
+0000461589 00000 n 
+0000461760 00000 n 
+0000461954 00000 n 
+0000462160 00000 n 
+0000462333 00000 n 
+0000462527 00000 n 
+0000462732 00000 n 
+0000462904 00000 n 
+0000463097 00000 n 
+0000463303 00000 n 
+0000463476 00000 n 
+0000463864 00000 n 
+0000464069 00000 n 
+0000464241 00000 n 
+0000464602 00000 n 
+0000464808 00000 n 
+0000464981 00000 n 
+0000465343 00000 n 
+0000465548 00000 n 
+0000465720 00000 n 
+0000465913 00000 n 
+0000466118 00000 n 
+0000466290 00000 n 
+0000470620 00000 n 
+0000470826 00000 n 
+0000470999 00000 n 
+0000466483 00000 n 
+0000467422 00000 n 
+0000456861 00000 n 
+0000454993 00000 n 
+0000466657 00000 n 
+0000466716 00000 n 
+0000466775 00000 n 
+0000458611 00000 n 
+0000466834 00000 n 
+0000459399 00000 n 
+0000466893 00000 n 
+0000466951 00000 n 
+0000467010 00000 n 
+0000467069 00000 n 
+0000467128 00000 n 
+0000467187 00000 n 
+0000467246 00000 n 
+0000463670 00000 n 
+0000464421 00000 n 
+0000465162 00000 n 
+0000467304 00000 n 
+0000467363 00000 n 
+0000539560 00000 n 
+0000539682 00000 n 
+0000539804 00000 n 
+0000471387 00000 n 
+0000471592 00000 n 
+0000471765 00000 n 
+0000472152 00000 n 
+0000472358 00000 n 
+0000472531 00000 n 
+0000472724 00000 n 
+0000472930 00000 n 
+0000473103 00000 n 
+0000473297 00000 n 
+0000473503 00000 n 
+0000473676 00000 n 
+0000473870 00000 n 
+0000474075 00000 n 
+0000474247 00000 n 
+0000474634 00000 n 
+0000474839 00000 n 
+0000475011 00000 n 
+0000475203 00000 n 
+0000475409 00000 n 
+0000475582 00000 n 
+0000475788 00000 n 
+0000475961 00000 n 
+0000476154 00000 n 
+0000476358 00000 n 
+0000476530 00000 n 
+0000476722 00000 n 
+0000476927 00000 n 
+0000477098 00000 n 
+0000477291 00000 n 
+0000477678 00000 n 
+0000477872 00000 n 
+0000478078 00000 n 
+0000478251 00000 n 
+0000478445 00000 n 
+0000478832 00000 n 
+0000479025 00000 n 
+0000479230 00000 n 
+0000479402 00000 n 
+0000479595 00000 n 
+0000479982 00000 n 
+0000480176 00000 n 
+0000480370 00000 n 
+0000480575 00000 n 
+0000480748 00000 n 
+0000480941 00000 n 
+0000481134 00000 n 
+0000481327 00000 n 
+0000485613 00000 n 
+0000485819 00000 n 
+0000485992 00000 n 
+0000486186 00000 n 
+0000486380 00000 n 
+0000486574 00000 n 
+0000481520 00000 n 
+0000482283 00000 n 
+0000469963 00000 n 
+0000467547 00000 n 
+0000481694 00000 n 
+0000481753 00000 n 
+0000471193 00000 n 
+0000481812 00000 n 
+0000471958 00000 n 
+0000481871 00000 n 
+0000481930 00000 n 
+0000481989 00000 n 
+0000474440 00000 n 
+0000482048 00000 n 
+0000482107 00000 n 
+0000482166 00000 n 
+0000482224 00000 n 
+0000477484 00000 n 
+0000478639 00000 n 
+0000479788 00000 n 
+0000539922 00000 n 
+0000542245 00000 n 
+0000542368 00000 n 
+0000542486 00000 n 
+0000542604 00000 n 
+0000486962 00000 n 
+0000487167 00000 n 
+0000487339 00000 n 
+0000487532 00000 n 
+0000487725 00000 n 
+0000487918 00000 n 
+0000488305 00000 n 
+0000488510 00000 n 
+0000488681 00000 n 
+0000489068 00000 n 
+0000489261 00000 n 
+0000489648 00000 n 
+0000489854 00000 n 
+0000490026 00000 n 
+0000490414 00000 n 
+0000490607 00000 n 
+0000490995 00000 n 
+0000491201 00000 n 
+0000491374 00000 n 
+0000491568 00000 n 
+0000491773 00000 n 
+0000491946 00000 n 
+0000492334 00000 n 
+0000492539 00000 n 
+0000492711 00000 n 
+0000493098 00000 n 
+0000493304 00000 n 
+0000493477 00000 n 
+0000493670 00000 n 
+0000493876 00000 n 
+0000494048 00000 n 
+0000494436 00000 n 
+0000494642 00000 n 
+0000494813 00000 n 
+0000498510 00000 n 
+0000498716 00000 n 
+0000498889 00000 n 
+0000499083 00000 n 
+0000495007 00000 n 
+0000495533 00000 n 
+0000485028 00000 n 
+0000482448 00000 n 
+0000495181 00000 n 
+0000486768 00000 n 
+0000488111 00000 n 
+0000488874 00000 n 
+0000489455 00000 n 
+0000490220 00000 n 
+0000490801 00000 n 
+0000495240 00000 n 
+0000495299 00000 n 
+0000492140 00000 n 
+0000495358 00000 n 
+0000492904 00000 n 
+0000495417 00000 n 
+0000495474 00000 n 
+0000494242 00000 n 
+0000545136 00000 n 
+0000545251 00000 n 
+0000545368 00000 n 
+0000548377 00000 n 
+0000548495 00000 n 
+0000499276 00000 n 
+0000499481 00000 n 
+0000499653 00000 n 
+0000499846 00000 n 
+0000500039 00000 n 
+0000500245 00000 n 
+0000500439 00000 n 
+0000500645 00000 n 
+0000500839 00000 n 
+0000501045 00000 n 
+0000501238 00000 n 
+0000501444 00000 n 
+0000501637 00000 n 
+0000501841 00000 n 
+0000502012 00000 n 
+0000502215 00000 n 
+0000502387 00000 n 
+0000502775 00000 n 
+0000502981 00000 n 
+0000503153 00000 n 
+0000503513 00000 n 
+0000503719 00000 n 
+0000503891 00000 n 
+0000504279 00000 n 
+0000504484 00000 n 
+0000504657 00000 n 
+0000505017 00000 n 
+0000505222 00000 n 
+0000505415 00000 n 
+0000509263 00000 n 
+0000509469 00000 n 
+0000509662 00000 n 
+0000505608 00000 n 
+0000506313 00000 n 
+0000498033 00000 n 
+0000495698 00000 n 
+0000505782 00000 n 
+0000505841 00000 n 
+0000505900 00000 n 
+0000505959 00000 n 
+0000506018 00000 n 
+0000506077 00000 n 
+0000506136 00000 n 
+0000506195 00000 n 
+0000502581 00000 n 
+0000503333 00000 n 
+0000504085 00000 n 
+0000504837 00000 n 
+0000506254 00000 n 
+0000722736 00000 n 
+0000548613 00000 n 
+0000548735 00000 n 
+0000550898 00000 n 
+0000551016 00000 n 
+0000510050 00000 n 
+0000510256 00000 n 
+0000510429 00000 n 
+0000510623 00000 n 
+0000510829 00000 n 
+0000511002 00000 n 
+0000511196 00000 n 
+0000511401 00000 n 
+0000511574 00000 n 
+0000511933 00000 n 
+0000512139 00000 n 
+0000512311 00000 n 
+0000512505 00000 n 
+0000512711 00000 n 
+0000512884 00000 n 
+0000513078 00000 n 
+0000513283 00000 n 
+0000513454 00000 n 
+0000513841 00000 n 
+0000514046 00000 n 
+0000514219 00000 n 
+0000514606 00000 n 
+0000514810 00000 n 
+0000514982 00000 n 
+0000515175 00000 n 
+0000515381 00000 n 
+0000515554 00000 n 
+0000515748 00000 n 
+0000515954 00000 n 
+0000516127 00000 n 
+0000516321 00000 n 
+0000516515 00000 n 
+0000516721 00000 n 
+0000516893 00000 n 
+0000517281 00000 n 
+0000521333 00000 n 
+0000521538 00000 n 
+0000521711 00000 n 
+0000522099 00000 n 
+0000517475 00000 n 
+0000518355 00000 n 
+0000508732 00000 n 
+0000506451 00000 n 
+0000517649 00000 n 
+0000517708 00000 n 
+0000509856 00000 n 
+0000517767 00000 n 
+0000517826 00000 n 
+0000511753 00000 n 
+0000517884 00000 n 
+0000517943 00000 n 
+0000518002 00000 n 
+0000513647 00000 n 
+0000518061 00000 n 
+0000514413 00000 n 
+0000518120 00000 n 
+0000518179 00000 n 
+0000518238 00000 n 
+0000518297 00000 n 
+0000517087 00000 n 
+0000551138 00000 n 
+0000522293 00000 n 
+0000522499 00000 n 
+0000522672 00000 n 
+0000523059 00000 n 
+0000523252 00000 n 
+0000523458 00000 n 
+0000523631 00000 n 
+0000523824 00000 n 
+0000524017 00000 n 
+0000524223 00000 n 
+0000524396 00000 n 
+0000524590 00000 n 
+0000524784 00000 n 
+0000524988 00000 n 
+0000525159 00000 n 
+0000525545 00000 n 
+0000525739 00000 n 
+0000525944 00000 n 
+0000526116 00000 n 
+0000526504 00000 n 
+0000526698 00000 n 
+0000527344 00000 n 
+0000520937 00000 n 
+0000518493 00000 n 
+0000526872 00000 n 
+0000526931 00000 n 
+0000521905 00000 n 
+0000526990 00000 n 
+0000522866 00000 n 
+0000527049 00000 n 
+0000527108 00000 n 
+0000527167 00000 n 
+0000525351 00000 n 
+0000527226 00000 n 
+0000526310 00000 n 
+0000527285 00000 n 
+0000529460 00000 n 
+0000530410 00000 n 
+0000529316 00000 n 
+0000527509 00000 n 
+0000529634 00000 n 
+0000529693 00000 n 
+0000529811 00000 n 
+0000529929 00000 n 
+0000530052 00000 n 
+0000530170 00000 n 
+0000530293 00000 n 
+0000532437 00000 n 
+0000533268 00000 n 
+0000532293 00000 n 
+0000530535 00000 n 
+0000532611 00000 n 
+0000532670 00000 n 
+0000532788 00000 n 
+0000532911 00000 n 
+0000533028 00000 n 
+0000533150 00000 n 
+0000535843 00000 n 
+0000536616 00000 n 
+0000535699 00000 n 
+0000533393 00000 n 
+0000536017 00000 n 
+0000536076 00000 n 
+0000536194 00000 n 
+0000536312 00000 n 
+0000536434 00000 n 
+0000536557 00000 n 
+0000539205 00000 n 
+0000539980 00000 n 
+0000539061 00000 n 
+0000536741 00000 n 
+0000539379 00000 n 
+0000539501 00000 n 
+0000539623 00000 n 
+0000539745 00000 n 
+0000539863 00000 n 
+0000722861 00000 n 
+0000541953 00000 n 
+0000542663 00000 n 
+0000541809 00000 n 
+0000540105 00000 n 
+0000542127 00000 n 
+0000542186 00000 n 
+0000542309 00000 n 
+0000542427 00000 n 
+0000542545 00000 n 
+0000719182 00000 n 
+0000719759 00000 n 
+0000544844 00000 n 
+0000545427 00000 n 
+0000544700 00000 n 
+0000542840 00000 n 
+0000545018 00000 n 
+0000545077 00000 n 
+0000545194 00000 n 
+0000545310 00000 n 
+0000548085 00000 n 
+0000548858 00000 n 
+0000547941 00000 n 
+0000545617 00000 n 
+0000548259 00000 n 
+0000548318 00000 n 
+0000548436 00000 n 
+0000548554 00000 n 
+0000548677 00000 n 
+0000548799 00000 n 
+0000550665 00000 n 
+0000551256 00000 n 
+0000550521 00000 n 
+0000549035 00000 n 
+0000550839 00000 n 
+0000550957 00000 n 
+0000551079 00000 n 
+0000551197 00000 n 
+0000553153 00000 n 
+0000553304 00000 n 
+0000553454 00000 n 
+0000553604 00000 n 
+0000553755 00000 n 
+0000553906 00000 n 
+0000554057 00000 n 
+0000554208 00000 n 
+0000554359 00000 n 
+0000554509 00000 n 
+0000554658 00000 n 
+0000554809 00000 n 
+0000554960 00000 n 
+0000555111 00000 n 
+0000555262 00000 n 
+0000555412 00000 n 
+0000555563 00000 n 
+0000555713 00000 n 
+0000555864 00000 n 
+0000556015 00000 n 
+0000556166 00000 n 
+0000556317 00000 n 
+0000556467 00000 n 
+0000556618 00000 n 
+0000556768 00000 n 
+0000556919 00000 n 
+0000557070 00000 n 
+0000557220 00000 n 
+0000557370 00000 n 
+0000557520 00000 n 
+0000557670 00000 n 
+0000557821 00000 n 
+0000557972 00000 n 
+0000558123 00000 n 
+0000558274 00000 n 
+0000558424 00000 n 
+0000558574 00000 n 
+0000558725 00000 n 
+0000558876 00000 n 
+0000559027 00000 n 
+0000559178 00000 n 
+0000559329 00000 n 
+0000559480 00000 n 
+0000559631 00000 n 
+0000559782 00000 n 
+0000559933 00000 n 
+0000560084 00000 n 
+0000560235 00000 n 
+0000560386 00000 n 
+0000560537 00000 n 
+0000560688 00000 n 
+0000560839 00000 n 
+0000560990 00000 n 
+0000561141 00000 n 
+0000561292 00000 n 
+0000561443 00000 n 
+0000561594 00000 n 
+0000561745 00000 n 
+0000561896 00000 n 
+0000562045 00000 n 
+0000562194 00000 n 
+0000562345 00000 n 
+0000564502 00000 n 
+0000562611 00000 n 
+0000552460 00000 n 
+0000551381 00000 n 
+0000562493 00000 n 
+0000562552 00000 n 
+0000564653 00000 n 
+0000564804 00000 n 
+0000564955 00000 n 
+0000565105 00000 n 
+0000565256 00000 n 
+0000565406 00000 n 
+0000565556 00000 n 
+0000565707 00000 n 
+0000565857 00000 n 
+0000566006 00000 n 
+0000566157 00000 n 
+0000566306 00000 n 
+0000566457 00000 n 
+0000566608 00000 n 
+0000566759 00000 n 
+0000566909 00000 n 
+0000567059 00000 n 
+0000567210 00000 n 
+0000567361 00000 n 
+0000567512 00000 n 
+0000567663 00000 n 
+0000567814 00000 n 
+0000567964 00000 n 
+0000568115 00000 n 
+0000568265 00000 n 
+0000568416 00000 n 
+0000568567 00000 n 
+0000568718 00000 n 
+0000568869 00000 n 
+0000569020 00000 n 
+0000569170 00000 n 
+0000569321 00000 n 
+0000569471 00000 n 
+0000569622 00000 n 
+0000569773 00000 n 
+0000569923 00000 n 
+0000570074 00000 n 
+0000570225 00000 n 
+0000570376 00000 n 
+0000570527 00000 n 
+0000570678 00000 n 
+0000570829 00000 n 
+0000570980 00000 n 
+0000571131 00000 n 
+0000571281 00000 n 
+0000571431 00000 n 
+0000571581 00000 n 
+0000571731 00000 n 
+0000571882 00000 n 
+0000572033 00000 n 
+0000574386 00000 n 
+0000572183 00000 n 
+0000572416 00000 n 
+0000563899 00000 n 
+0000562697 00000 n 
+0000572357 00000 n 
+0000722986 00000 n 
+0000574537 00000 n 
+0000574688 00000 n 
+0000574839 00000 n 
+0000574990 00000 n 
+0000575141 00000 n 
+0000575292 00000 n 
+0000575442 00000 n 
+0000575592 00000 n 
+0000575742 00000 n 
+0000575893 00000 n 
+0000576044 00000 n 
+0000576195 00000 n 
+0000576346 00000 n 
+0000576497 00000 n 
+0000576648 00000 n 
+0000576799 00000 n 
+0000576950 00000 n 
+0000577100 00000 n 
+0000577249 00000 n 
+0000577398 00000 n 
+0000577548 00000 n 
+0000577699 00000 n 
+0000577850 00000 n 
+0000578000 00000 n 
+0000578150 00000 n 
+0000578301 00000 n 
+0000578451 00000 n 
+0000578602 00000 n 
+0000578753 00000 n 
+0000578903 00000 n 
+0000579053 00000 n 
+0000579203 00000 n 
+0000579354 00000 n 
+0000579505 00000 n 
+0000579655 00000 n 
+0000579805 00000 n 
+0000579955 00000 n 
+0000580106 00000 n 
+0000580257 00000 n 
+0000580408 00000 n 
+0000580559 00000 n 
+0000580710 00000 n 
+0000580861 00000 n 
+0000581012 00000 n 
+0000581162 00000 n 
+0000581313 00000 n 
+0000581463 00000 n 
+0000581614 00000 n 
+0000581765 00000 n 
+0000581916 00000 n 
+0000582066 00000 n 
+0000582216 00000 n 
+0000582366 00000 n 
+0000582517 00000 n 
+0000582668 00000 n 
+0000582819 00000 n 
+0000582970 00000 n 
+0000583121 00000 n 
+0000583272 00000 n 
+0000583505 00000 n 
+0000573711 00000 n 
+0000572515 00000 n 
+0000583446 00000 n 
+0000583604 00000 n 
+0000583630 00000 n 
+0000583758 00000 n 
+0000584197 00000 n 
+0000584229 00000 n 
+0000584698 00000 n 
+0000585154 00000 n 
+0000585555 00000 n 
+0000718090 00000 n 
+0000585877 00000 n 
+0000586353 00000 n 
+0000586675 00000 n 
+0000587027 00000 n 
+0000587503 00000 n 
+0000587883 00000 n 
+0000588361 00000 n 
+0000589053 00000 n 
+0000589091 00000 n 
+0000589216 00000 n 
+0000589859 00000 n 
+0000592067 00000 n 
+0000592331 00000 n 
+0000595534 00000 n 
+0000595799 00000 n 
+0000599433 00000 n 
+0000599676 00000 n 
+0000602104 00000 n 
+0000602337 00000 n 
+0000604601 00000 n 
+0000604829 00000 n 
+0000608626 00000 n 
+0000608898 00000 n 
+0000610600 00000 n 
+0000610858 00000 n 
+0000613201 00000 n 
+0000613465 00000 n 
+0000614701 00000 n 
+0000614928 00000 n 
+0000616947 00000 n 
+0000617193 00000 n 
+0000619036 00000 n 
+0000619298 00000 n 
+0000621523 00000 n 
+0000621744 00000 n 
+0000639622 00000 n 
+0000640156 00000 n 
+0000648379 00000 n 
+0000648671 00000 n 
+0000666135 00000 n 
+0000666644 00000 n 
+0000680056 00000 n 
+0000680406 00000 n 
+0000701348 00000 n 
+0000701969 00000 n 
+0000717639 00000 n 
+0000723075 00000 n 
+0000723195 00000 n 
+0000723321 00000 n 
+0000723410 00000 n 
+0000723492 00000 n 
+0000726512 00000 n 
+0000726700 00000 n 
+0000727215 00000 n 
+0000727730 00000 n 
+0000728245 00000 n 
+0000728760 00000 n 
+0000729275 00000 n 
+0000729790 00000 n 
+0000730305 00000 n 
+0000730820 00000 n 
+0000731335 00000 n 
+0000731916 00000 n 
+0000732695 00000 n 
+0000733332 00000 n 
+0000733980 00000 n 
+0000734591 00000 n 
+0000734983 00000 n 
+0000735482 00000 n 
+0000735895 00000 n 
+0000736448 00000 n 
+0000737067 00000 n 
+0000737749 00000 n 
+0000738460 00000 n 
+0000739135 00000 n 
+0000739810 00000 n 
+0000740485 00000 n 
+0000741030 00000 n 
+0000741641 00000 n 
+0000742236 00000 n 
+0000743050 00000 n 
+0000743730 00000 n 
+0000744411 00000 n 
+0000745092 00000 n 
+0000745707 00000 n 
+0000746324 00000 n 
+0000746941 00000 n 
+0000747644 00000 n 
+0000748368 00000 n 
+0000749041 00000 n 
+0000749714 00000 n 
+0000750329 00000 n 
+0000750938 00000 n 
+0000751547 00000 n 
+0000752246 00000 n 
+0000753002 00000 n 
+0000753723 00000 n 
+0000754444 00000 n 
+0000755082 00000 n 
+0000755739 00000 n 
+0000756396 00000 n 
+0000757031 00000 n 
+0000757712 00000 n 
+0000758393 00000 n 
+0000759074 00000 n 
+0000759697 00000 n 
+0000760330 00000 n 
+0000760963 00000 n 
+0000761596 00000 n 
+0000762229 00000 n 
+0000762862 00000 n 
+0000763495 00000 n 
+0000764208 00000 n 
+0000765145 00000 n 
+0000766013 00000 n 
+0000766894 00000 n 
+0000767628 00000 n 
+0000768303 00000 n 
+0000768920 00000 n 
+0000769537 00000 n 
+0000770154 00000 n 
+0000770771 00000 n 
+0000771388 00000 n 
+0000772005 00000 n 
+0000772622 00000 n 
+0000773239 00000 n 
+0000773856 00000 n 
+0000774473 00000 n 
+0000775090 00000 n 
+0000775707 00000 n 
+0000776324 00000 n 
+0000776941 00000 n 
+0000777558 00000 n 
+0000778175 00000 n 
+0000778792 00000 n 
+0000779409 00000 n 
+0000779690 00000 n 
+0000779861 00000 n 
+0000780030 00000 n 
+0000780199 00000 n 
+0000780371 00000 n 
+0000780546 00000 n 
+0000780723 00000 n 
+0000780898 00000 n 
+0000781075 00000 n 
+0000781250 00000 n 
+0000781427 00000 n 
+0000781602 00000 n 
+0000781776 00000 n 
+0000781994 00000 n 
+0000782245 00000 n 
+0000782503 00000 n 
+0000782771 00000 n 
+0000783044 00000 n 
+0000783316 00000 n 
+0000783589 00000 n 
+0000783861 00000 n 
+0000784128 00000 n 
+0000784345 00000 n 
+0000784548 00000 n 
+0000784749 00000 n 
+0000784950 00000 n 
+0000785153 00000 n 
+0000785358 00000 n 
+0000785567 00000 n 
+0000785774 00000 n 
+0000785968 00000 n 
+0000786149 00000 n 
+0000786370 00000 n 
+0000786599 00000 n 
+0000786834 00000 n 
+0000787055 00000 n 
+0000787305 00000 n 
+0000787572 00000 n 
+0000787846 00000 n 
+0000788127 00000 n 
+0000788408 00000 n 
+0000788678 00000 n 
+0000788827 00000 n 
+0000788988 00000 n 
+0000789223 00000 n 
+0000789413 00000 n 
+0000789615 00000 n 
+0000789857 00000 n 
+0000790115 00000 n 
+0000790364 00000 n 
+0000790594 00000 n 
+0000790827 00000 n 
+0000791057 00000 n 
+0000791285 00000 n 
+0000791511 00000 n 
+0000791737 00000 n 
+0000791963 00000 n 
+0000792134 00000 n 
+0000792250 00000 n 
+0000792378 00000 n 
+0000792510 00000 n 
+0000792633 00000 n 
+0000792760 00000 n 
+0000792895 00000 n 
+0000792990 00000 n 
+0000793187 00000 n 
+0000793437 00000 n 
+0000793612 00000 n 
+0000793725 00000 n 
+0000793837 00000 n 
+0000793877 00000 n 
+0000794077 00000 n 
+trailer
+<< /Size 3052
+/Root 3050 0 R
+/Info 3051 0 R
+/ID [<03A4D52CD213694D429BB510AD1E5ECC> <03A4D52CD213694D429BB510AD1E5ECC>] >>
+startxref
+794409
+%%EOF
diff --git a/doc/ppl-user-c-interface-0.10.1pre13.ps.gz b/doc/ppl-user-c-interface-0.10.1pre13.ps.gz
new file mode 100644
index 0000000..73d714f
Binary files /dev/null and b/doc/ppl-user-c-interface-0.10.1pre13.ps.gz differ
diff --git a/doc/ppl-user-c-interface-0.10.pdf b/doc/ppl-user-c-interface-0.10.pdf
deleted file mode 100644
index 4043a89..0000000
--- a/doc/ppl-user-c-interface-0.10.pdf
+++ /dev/null
@@ -1,20850 +0,0 @@
-%PDF-1.4
-5 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-8 0 obj
-(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
-endobj
-9 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-12 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
-13 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-16 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
-17 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-20 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-21 0 obj
-<< /S /GoTo /D (subsection.4.1) >>
-endobj
-24 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000s)
-endobj
-25 0 obj
-<< /S /GoTo /D (section.5) >>
-endobj
-28 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-29 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
-endobj
-32 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
-endobj
-33 0 obj
-<< /S /GoTo /D (section.6) >>
-endobj
-36 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
-37 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
-endobj
-40 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
-41 0 obj
-<< /S /GoTo /D (subsection.6.2) >>
-endobj
-44 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
-45 0 obj
-<< /S /GoTo /D (subsection.6.3) >>
-endobj
-48 0 obj
-(\376\377\000V\000e\000r\000s\000i\000o\000n\000\040\000C\000h\000e\000c\000k\000i\000n\000g)
-endobj
-49 0 obj
-<< /S /GoTo /D (subsection.6.4) >>
-endobj
-52 0 obj
-(\376\377\000E\000r\000r\000o\000r\000\040\000H\000a\000n\000d\000l\000i\000n\000g)
-endobj
-53 0 obj
-<< /S /GoTo /D (subsection.6.5) >>
-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\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
-65 0 obj
-<< /S /GoTo /D (subsection.7.2) >>
-endobj
-68 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
-69 0 obj
-<< /S /GoTo /D (subsection.7.3) >>
-endobj
-72 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
-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\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\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
-81 0 obj
-<< /S /GoTo /D (subsection.7.6) >>
-endobj
-84 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
-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\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\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
-93 0 obj
-<< /S /GoTo /D (subsection.7.9) >>
-endobj
-96 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
-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\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\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
-105 0 obj
-<< /S /GoTo /D (subsection.7.12) >>
-endobj
-108 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
-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\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\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
-117 0 obj
-<< /S /GoTo /D (subsection.7.15) >>
-endobj
-120 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
-121 0 obj
-<< /S /GoTo /D (subsection.7.16) >>
-endobj
-124 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
-125 0 obj
-<< /S /GoTo /D (subsection.7.17) >>
-endobj
-128 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
-129 0 obj
-<< /S /GoTo /D (subsection.7.18) >>
-endobj
-132 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
-133 0 obj
-<< /S /GoTo /D (subsection.7.19) >>
-endobj
-136 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
-137 0 obj
-<< /S /GoTo /D [138 0 R  /Fit ] >>
-endobj
-140 0 obj <<
-/Length 1239      
-/Filter /FlateDecode
->>
-stream
-x��VIs�6��W��)9c" H�@{��%ujg\K�i
Il�� TG��}XDI6������۾�$��@� g9I�e3����'��4���A��Nx��	�
p��&"EXd4�3N����l���E@�@8�Y0��
>����b�px�)����+�������Bm�ϳP)fAL	$�Vϙ�+��Xz�W��j
�t��lJ�c��^�#��މ��
��K��
�
#�Id���C�'Ɖ�=�
�2�s�����
�c�J�W]�
bD0
�����
��C.��

�䮛K�;'��X����&D���8'&�)J�Z�혉8�#��Dd���C���|n���R����

Lđ��qk
ጱ#k��V�(e��Z+�z
�`��C[_Gmq�(�\�$���%�cg��$4Hg7=q�17�&��ȡ�HNO�h+ဂ;��ߓO�q� <&�q<�2,
�	�,�tG�'��o�nK1t)�b�
��ٮ1$0�0��e���!9��	��*S�T��&ĝ��v�“�R���<\J�[G�7�u��|�L۟`!Dx�V&]CIk��-�h���xyu��lu���Q��e�ʕ�@u�R�#�:Ҩ�����6�;��r�Q����y�^וs�C_�Ul�@L 2�Z�Y�lddS��AS�s��›���
�$��D$���q
�ntg�
9	oU�TE�xΠI
6`0�n8�[wx:�*���M����r���	
�����b�G gFh������m�e�;�6h�zֵZuu|Yw&���z�������_q�� /��&p��"c�=�����Hq�ɢ�ڪ]:�E�v�5�:�_��p��f�,�އ�����S�^9�<4����	^�j���k��<|!wt��u�K�ÔH�~��7�
���>8�08���r3��^��!Pg�p^��
q*�Aj�K�w��!S�p�S�����
��:�b�W��1�����/���
/n�wg���,�.XK:�
-���mL�_��v
m�U�����
i0�Mbk��i�2/���
�֗YL��b^��$�n
l>��3F���&3JI��C	�ٳ�v?�$(\{�Cy���e�6m�VfV�J�+�\�I���Cr��v����9G���0�=��LQ�F�������kx�#<+x"�-�WQ-�C��m���B���د���ǵѺ�E������������N̳��P��|�)��sJ����/*�#Qendstream
-endobj
-138 0 obj <<
-/Type /Page
-/Contents 140 0 R
-/Resources 139 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 155 0 R
->> endobj
-141 0 obj <<
-/D [138 0 R /XYZ 90 757.9346 null]
->> endobj
-142 0 obj <<
-/D [138 0 R /XYZ 90 733.028 null]
->> endobj
-139 0 obj <<
-/Font << /F52 145 0 R /F25 148 0 R /F39 151 0 R /F40 154 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-158 0 obj <<
-/Length 2826      
-/Filter /FlateDecode
->>
-stream
-x��[[s۸~���[�����/u�N��qm����N��h��ҒT���P�����LF$�Ã߹���ÏLR<ID�R�����O���1�3蟹o�G���b��4��d~�j�	���|�kt��b~z1���6�i�)F�a�T_��N�~3�`1Q�?��7<Y���0b��G����)�<
q��������
����� ,0
A{Ӡ
�X0=��fJp�Tw��tF�>QA�Ř|�4���-W뛼j���MvWfUf���膿-j�-�M5"BE]�v+�Ŕ����E��^�ۇ�4�y�����t6��>��eՃ�r�z�ϗ�yqSe�����y`h�}�WE]�r:cG
-�:�UY��KuA"5Qո0F��"zMLFˢn �z�M�Ųr�z]�����}��ͽվ��R�-�yeE��p���^��]|�-o�<�&EP*���F}ִ�`��b��u�J]��?���(�ꮟ ��pՐ���O�b�5�i��jv��loVE}�l�.o�-
-m��L���M�D �ɫ��L���wD���l�5+3��i�\�o�G�tYeZުi����F=�\�n~����f��:_�B�WDF�Es߮ጥV�^KҊ���d��S���T1��Z���|�&P��M�N�m�.���Z�Ҭ�ꈣ�4�Q�Z��΀�S�{E[-c���_|
�����tƁ�Ǻ��V�b�jՎ
'+�B}���:���v	�	0�({�_���
�xѬ4�T�����DR�)%�X(���T]՝��r�����7�K��Uh[�TP,��غ��
���ij�s��@_�&�:
�(���p8oc

b�>iC
o�)1�F��L at b&!L��Zj����ʽȨ�5��EH�DH��FD���lD�&"r���Q��e^e�}*�_�8�P������Z7��
��@́@F�~��IL)b	�GYw�̽�_6_�� L/���@�X��ļ��O*+5���f��
����$��i�: P���R�s����5Z�U�r�ҍ덚��|��/M�R�$Y	a*d��]�RW-�਩�TX�����ц�VD)�
�
R�b��l(HqN��������N~���;��.H)`�N/N���M�V�k�ˏo��NL�:;9��>�"l,�LX2��BU
bX'5s�q���
[���E-�S
�(�:�@�~Z��RwjB��z�ۦ�wJ��-��j��n���o��W�Q���:����q�Ŏ/~1�S2�WW��_�)m
��̿���*�k����e<���Y:F�ȄU�>��a"�����=
8M��o�����Jߞ�/N���Ň+}r��
-���4����������xu����1�s�Ʉ�~��ҡ�ʺZ�q�I��ŭ.=UF�r�h�bU+w
��^}���a��5��E�S�0����k��_����&���
�;
-�/'1D/��>�Q*A���TJ
�1s��i��+׉)3�7��ׯ�ݎ�V��f�z���6�	�wjr#�#&�#�sR���I��81;e(I!ցM1��֌����v�hpw�	�1!)�q�sf+���eNFS��ҏcVj��a"�>��ԡPJ4uG4<u+��f�{a�����g�Nj��"� }����X$�X�
Z�P���E�VS"��/թJ���
Ծe��L��,a�`I�41�s|�i
Ѱi���[?Y/�+c�3(����=G
<��K�Fj�n�.�x�b���x���.Έ�\�@����Z�1CX[Ծ(Jh���x0Rc�Q��}�`����a��
-�X5�B���
-���
U]Tmg4�]wr���l.R��ZG�=Yeu=�
SB�q����A�3��e�}A���v_G~�}�Tk��}
S��.�w�q&e���Fj
K�Q,�>���'�whe
�
\_ۀ�
�u�K��y"�u�N@���w�
�W X ��l��W VjNg�=PD>��T at -�:ԏ]�����j-��c��Yy�Uu�	nM^ݶ���/�`�cNz8�ƱR#�(I� �����!�
4��c�
�k
�Qy��\m9D�{lp(]�z�����i�RCֽgge�٪�����/Y�ޣ(w]}'B��A���
-
���B�{��U�
��aߐ�<]���ԣ�mH�{i�qOK%�|̐��Vb�}��R�w^ O%J��4�+5s�X"�b���� ���a��}m-g� g�|1i�� �b��VJ��ҞV�}��
��*�V)��GE��Vj
O� ���>��4=��C��vp|m��@$�Ѐ/%-�P�S1��;)MZJ�?fP�?m�'Ec�0�Cqg�@�n�F uQv�w������1���%,
vp���G�L��Gv
-N�?�F�T �X2q�	�FjM��{�賏�����W;�u�\�J�鶑�����:�U�Y?aL�s�݅6����6��2���兰���wk#4���\}1*�ak)c�R��1l*_[�^�
�K�`�Q����Y)�?�ǿ��*J}�~�����b]�����5��etdR�K9q�^���i�� �t
���=4'n���ֲ&X
��B'�3둇؝�f
d��hB�\�zP��B#5����SL����Cvp�5h_[���54�K�%S�9y�j�4�x�\/˅��/���
��0�.�p��T8d�]&
�����\p�44�.DS$e��0
Ib����El,QBҽ��1J&M

�L8��}��X�"h�>�y��gS���[�A�����
�����Ȍ���܏����4e�
F��`o�9w؏�vV��~�\�C��`��p�`�<,{+�~�
q�>�s>�C!.��V��endstream
-endobj
-157 0 obj <<
-/Type /Page
-/Contents 158 0 R
-/Resources 156 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 155 0 R
-/Annots [ 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R 167 0 R 172 0 R 173 0 R 174 0 R 175 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 ]
->> endobj
-162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 672.7083 490.9468 683.6123]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4258 650.8553 322.5851 659.7019]
-/Subtype /Link
-/A << /S /GoTo /D (GFDL_GFDL) >>
->> endobj
-164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.4645 619.2185 337.8767 630.1224]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 607.2633 513.9963 618.1672]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 597.3654 169.8699 606.2121]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.8063 513.0977 383.1936 522.9955]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 445.8129 151.4991 456.692]
-/Subtype /Link
-/A << /S /GoTo /D (section.1) >>
->> endobj
-173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 420.1288 229.0868 429.105]
-/Subtype /Link
-/A << /S /GoTo /D (section.2) >>
->> endobj
-174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 392.5418 252.1306 401.518]
-/Subtype /Link
-/A << /S /GoTo /D (section.3) >>
->> endobj
-175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 364.9548 165.4464 373.931]
-/Subtype /Link
-/A << /S /GoTo /D (section.4) >>
->> endobj
-176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 347.3503 163.7232 356.197]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.4.1) >>
->> endobj
-177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 319.7434 155.4838 328.7196]
-/Subtype /Link
-/A << /S /GoTo /D (section.5) >>
->> endobj
-178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 302.139 168.4351 310.9856]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.5.1) >>
->> endobj
-179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 274.532 206.3926 283.5082]
-/Subtype /Link
-/A << /S /GoTo /D (section.6) >>
->> endobj
-180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 254.8703 215.0603 265.7742]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 237.2459 279.1088 248.1499]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.2) >>
->> endobj
-182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 219.6216 199.967 230.5255]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.3) >>
->> endobj
-183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 201.9972 189.4466 212.9011]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.4) >>
->> endobj
-184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 184.3728 201.0627 195.2768]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.5) >>
->> endobj
-185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 158.8232 196.43 167.7994]
-/Subtype /Link
-/A << /S /GoTo /D (section.7) >>
->> endobj
-186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 139.1614 288.4042 150.0654]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 121.5371 386.605 132.441]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.2) >>
->> endobj
-188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 103.9127 326.8399 114.8166]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.3) >>
->> endobj
-189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 86.2883 292.5191 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.4) >>
->> endobj
-190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-171 0 obj <<
-/D [157 0 R /XYZ 90 466.2839 null]
->> endobj
-156 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-195 0 obj <<
-/Length 3497      
-/Filter /FlateDecode
->>
-stream
-x��[[s�~���L*O".��v:��Ms��}I2
Z�-v%RKR븿��/"Mn��e3~
 �
|��tA�.4Y(�"�E�X�/��
����8���U���g���BG:f���έ�H2�כ��r�$Y~�f�o���d�ޛ���\�D�&
-V���y��u�!�#yL�vo/���,6�ח$�:��x ՚-����x}�f
?�&��%�!�Ŋ�(�a�#�C�=Ҽ�S""-����R4�����@�PYA�KX q8�n����K�M}������fm{n�ڔi]�7uz���"��;����]�̝)M�6�Z�*�t�����@�jF
��(ќ��.W��_��D,I`�ĴX
ՌX�լX�v�3zl�CU3!�<DFB�� ��N<	��Bu�h�
v�P	D�Ls&"�]��ʇ��EC4���Z]b]��
�8QQB�x]
�����Y�b	�R�:{���P�0̴�'I���3���k��j�ڴ���9��cț��l�)���^���K:�����>hLT�:Yt���H5#E{b��.kR��gM�5\�aG�bgj����Ǝd�����N����S�93(ڜS�E�����T3l7a����'��٤:��9�%� ���l�m���*2J at 9��9dS\/����F���%q�d��
��q.BNi�!'56\�jL�Q Nmx6 �
R�Կ�B � �l�˄IAH$��.�#�#Ռ(��dm�/˯��)	:X��`���
-�ʴ�΋�R�(�"��JC�XasX9/,
-)�:ۍ��@5�;1�O����;�I�[PMK>\́j��ar�s
�LXD���j�T�IP��&pB�r��f��@5�4':�J�>�{����iS�i�
Ws������l��"b�6"!�D
���ܤ���?
JSUY����'Q,�Zt���h��&��r�QlB
|M�b��C����ng�
I��
�<�
-�-��~���eY���
�
�t"�xa�ь>P��dS������M)��I�
Ws`�
'7<m
NG+>��@�h�[��,���L
�K&���W�{ܚM	��d�\�|J-�
��f��Gq���� 	�w��j���j�=9��O��\PPI�f�*��I���p��"!���P�@5#�`4b�����y�)�;�c���j$�I����
�̽R5iP�@r�ݸ��6����Ƒj�%���I�[�I�Z�L�5\��G��gró���Ι�*
�Gw���`�
KS��r2ro�T3
7��z
��.,���:ЛT�p5���2�ұ����"�"f����
-���
J�S_�pJ����Aҧe�w;�B���ZpQ�ܘ�.�05\�rc6f��wE�ɎU������˗_]j����ʓ]������=���CY��b
�V���bW}
-O�,7i��
�z�Yך�Y
-� �����HqAK��� ����)���ƺ��̺v�%�C�녁�֤S�����
j3V]��U����Qֆ��vD�Ba�)�(���mVu7���
��z�\���T�}
x�
��`Z�o�)�q�u����/�JV
�N����Vc+˥#t�+��.��l��?��7�X��� ���ֺ�䓓5�H�^V��C�[��|�;��� �N�0��J8�ݣ߹��wY�U�7c�]�
-`��A�U.<����O~�̢��%�ˁ[M����$R��2~`��xե�V�`y�P4����'T��*S�"��OZ0I�+���
�q
X�<�`S8k�V^Ԟ2 ��.arO�X
K�
-'�'d��1�Ƈ~̪��1��OZ�h�$��a9,Y�.���Y����۴n7wȷ�נ`�G�.�-��b+a��ePΥ�6��:��I�>�מ�s>�
��<�>�՝~�
�AQC=@���&A�}�!���hD�H5
-���ܦ���	ز,�����b��x���DX�\B���#���9�2��־�s~��U�n���Ta{�*lO�
-�f�K(�-F9ٮ9'ۋ���#���+�q�!��y��a�„��O|�
-��]�� �5b��.6�X���ʃ�c:��������ӛ��| ge|3Ùu��t�F����F�[��n��
V'�`��cG�zj�pj'1�8T^
G�(5o���1ɑΊgW���^N��t�c�FPZH#,Q�
-�׮LZ�`i���p*�
t�n&�y���QkS��;Sqڠ�Nx�ơ�X
��W/F��U�j"��Too�C�a���["��U
��A���u�:ɶlו�9ɶ\W5&ԁZ��%,x㩘�y�HC�D�|>"oʼn
->�[��N���9���N�4�qo|��}j�;(�u��ő��=��2Aw�*L9U��
-��OJ��$k�=II���m�L�7�o�����'{��
d��3'��� =�
�K���
��M �S��W&���r�ۣ�0�=�bu�<A�cy(*c��}Hro_(fkp$B.�c��O���p�3�q��l3k��nb����S��n� �+��ɬ�.3y���`V/��<��
o�`�
-��B􀓺\VQ���\�����-V�HS;D�t�٣�����Xվӳ�H�mlVq�-�@h���4�].0�x���\�v��T���
%<M�����?�FG���Ծ�^�J
-�l�ڬ�>��<;
wp$.��x
;��ZU]
�5�s��X&q����+���y�
�ș�m�rR���1��m�^Z
�`r�����a>*�a�Tܝ�w�C_��H�c��A�M�{�D�&�;�V�[�5�V
��(U�^
�-N���$f�S�u��=��qk�"EY
��-�˖a)�wWIr�x�cc���Q��i�b�p�w�0
���!�1�����q{��H��H�'b��n	�"�c��f.$x� ��q
-rج�ؖ�=:��� .#E�IQ��Iۈs�!>��1�7 V����m������^w�z}�p`а�����v$���}�P���
[���{�H���f`אޮ
֚ 0&s��ZS'�?S��Ys���=+{*�Q�9�,ꠕ����A���w�Ӯ�*�����3��A*�B*�W<��zd,K	`G龖��
���~�cאlF$�dq�����=�	ZziV}c��#�`������9nk��uK�����}dnEw��c��T�$���_:�F��,!�����/.�,e���w�'+Y��_�p�:)+���BtS�N&�FӰ�i/`�1�oO�Z�Fk�v7�
xԮ���6n
vt���p��_@��l�� v���v��2��k]8hK��|����o������߾�t��=��
�����X������X�$RT����H+���Y`��A�����>�G|���_5n
��"�1�7O�k�w�V���d�c�k�g��l'�D|�t}m�/�8�R�"��Eh���^/LXuf�+�V+�u�n�u}�˳gѺ���ӕQV?�z6x-�'�2�:�UC4�wBB$t����:��l
t�S�G��
p���2*endstream
-endobj
-194 0 obj <<
-/Type /Page
-/Contents 195 0 R
-/Resources 193 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 155 0 R
-/Annots [ 196 0 R 197 0 R 198 0 R 199 0 R 200 0 R 201 0 R 202 0 R 203 0 R 204 0 R 205 0 R 206 0 R 207 0 R 208 0 R 209 0 R 210 0 R 215 0 R ]
->> endobj
-196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 719.9123 379.9795 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.5) >>
->> endobj
-197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 702.2879 320.2145 713.1918]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.6) >>
->> endobj
-198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 684.6635 285.8936 695.5674]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.7) >>
->> endobj
-199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 667.0391 378.2961 677.9431]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.8) >>
->> endobj
-200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 649.4148 318.531 660.3187]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.9) >>
->> endobj
-201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 631.7904 284.2101 642.6943]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.10) >>
->> endobj
-202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 614.166 401.5387 625.07]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.11) >>
->> endobj
-203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 596.5417 341.7736 607.4456]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.12) >>
->> endobj
-204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 578.9173 307.4528 589.8212]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.13) >>
->> endobj
-205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 561.2929 319.637 572.1969]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.14) >>
->> endobj
-206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 543.6686 300.8376 554.5725]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.15) >>
->> endobj
-207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 526.0442 440.0539 536.9481]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.16) >>
->> endobj
-208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 508.4198 414.0418 519.3238]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.17) >>
->> endobj
-209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 490.7955 380.2889 501.6994]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.18) >>
->> endobj
-210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 473.1711 290.3174 484.075]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.19) >>
->> endobj
-215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-6 0 obj <<
-/D [194 0 R /XYZ 90 458.5667 null]
->> endobj
-211 0 obj <<
-/D [194 0 R /XYZ 90 423.898 null]
->> endobj
-193 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F25 148 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-218 0 obj <<
-/Length 3472      
-/Filter /FlateDecode
->>
-stream
-xڥZY��6~�_��Ve9�M����r�v|�ړ�����#Bc

-���ݠH�c'������׀�ʃ�X%�*R��� \m�
o��
��kh_����x�}�V���~��ݚB�*_����ǿ\��s����
��MZP妿+�
�_�]�*q
����Oo��yiJ�g���߼UK|q�2���
*�+��_��/m��xw��a
j0
�v��\آ�϶�K�
�4[��y����o�=�����߼��M�bB���X��I�l������D:O���>��}�_���x)��Mk�4�=��	ֽ�M�f9݈�8����usx���jRo�铷y]���;ݥT���N7-U�-}��fY޼����P��Z
-Ϲ����~S�E#林<z6l�P�o��se���8Z�q�E9�e^��Is�:��u`�s�[k	=o*�'/޼%���ף��_/p�6���	��7EQ�n��)~eK� y&7�����EQ��Վ�x��m�}��쫥�t��Ơ�L����sB��<�^wy���Bg�כ0j
m_���듮
�$B�3t����2-�:z������y�C�t��/҆��wElFK��+
�c��U�������u�"M
9���6�Uii�M��"�p;��J:o�����^��6f
@��D8�f
�����-uZ��a�Hd
@��զA�t�x���"v��
`���áx�bOv;���8�.W
���s��ȩw��n���4z �P,����E��
ˈ�a�>8zt4��}��>�|��'�
a���%�x4M������/�rPDA�\SK^u���琾�e ���To�����
�&|'-�K�945���<�-�}N�B����|W

-�)��G����"̈́�6��I7����kNMuե�e���f�EA����&r�d��0D�1I��a,KLD��T8��]ZA�_ؚJ�(R�hkQ2�Z$��>Ö"�B��<reY���c��~��w������@T��sP�
�
��
-�;��`��%3`�q
Z6
�6�]�6�!l5�n��"7��ty�2�*�l��@�Yl0�b�Lu��Z̮N����o;�A�F����m��
㿇�h�n/y(�\
���Y� h%�c�ӟ�?����A�U��*�dS(�E��<S�d9
���
&xx1���V7Σ$8f��ٕ�O���
P3���L�^݌g���*,���A!`�4Y������'�
m�e9���%L2��7��2NY��<��*��.��xM���t��
O�~a�EV�
-'�+M
�HA��[���&��
-��!
 4R|&8�n��
�0���)Gɟ�!ٟ��
�Q-pU8@3�0%�0O2WW���񒸒ĕ�M�fC����&�_�Hh�V�Q(X4���хڮ#�� W �Tџ�c�E>0�v�
a��Ȯҭ�`�T�Eԩ�E��
њ�������"Xt�x�u��ثpr&[�g��
��u�P�ˣ�
�����`��_e��`��Lt
{�%�$#H���
�y��TD��%
̻�(���"�����I��+�
*`���3k�:�$��K
��8ba��k�bi<��<qލ#zLq?�c���WeiÌE�1�����4�B\�
�"��[��� ��f�P����fS@�-� ���ޡ�ӎ	�� �aCo۷��nL^)7V'��r�t�-x�*3�>���l���i�

�½ںd�ᇑ
5U��nгKʺ%(u3dAH=�8 �Յ�
†R��D}��l�j��#fR~�;�Iؚ՛
���4
j��ϋK�ό�;�k�
��[�XNRJ$_@ Ũ7|���y�Q;��3&���� Hxۏ91j����N�l�
w��l$��ȸ��]W���2|	
�(:[ƙ
��SOC�؇�r25�z8���Z���\h�D
-�Q�:�c�M
]������*GCt&���6���o�'9QR�xu�r:N ��5�,t�iMD>�1�9S&$e2mF��#*�kc12
�0[_e��sT�'I)�H���)
QGu����=,(�4����^��
-�9	�u�ؼ`�WP�6t8y�)z�@j�6W\1.�j|���h.?�E�f:;���4����"IqbB
 �0���B��	�
�q���l�[��`�ic
V�����7s��k�@�-ofZ�5_�Դf��uiv`�z��I4�S-Q�L�> р>�}0����~��GoF��=��>I<�ʀ�	6�
���n;-�&�@��fv���n�Ÿ��PF6�e��G�ۊC[���q ����
*�-3Z.���,������f�i�ʝ抂��T�Fɐ���?Q$�1��
d7 at 6 �݁��i�V��4�H�v
J"-�!��l
/�P�YL

-��^����&�RQ�l_@��R�9��&���s�	�75��z��	?�4�`l@��,�;3$�x�
�d����|�
w���|d<�g/o~��!]��Όy��{�5ǐ��t^3�o�n壣A�ӑ����&<�D�?�
*�cJ���#7�_s��&
�c)�`�;"ӛ�ǫ�wT������/)�� Zط8�y�1��)��<�O�B��%"t�
x���/����|ϋ�.î��ϱ�w��XQ��ʸ�)}�h
�]��L(7�˴G
�<�W�
-Mf��BB3K ��U"�r�z��]�<7����G���֭�ݣ�RG��|q���R3�|	篓��{+v�O�
�U��(��!>c��l2"���AL�����H<�

xI�Йp
-�p�����Ƌ2x�B�1Z�x
�_��$��&&g^zөYiR{����5XN���q�3���V��]񐢣%%d;������d�_<�XA���
�s���5�Qǭ��ig�>����k(��Ξf-�m��iC����T�i�@�~X:[ P���t�
�� +@|I-����v�4�
-��S�
���*fT+��H�P���fu9�n�\��
-V(Me~
-	���|wdf@Mښ�x:Q,z,
��� z(�DoA��ȫ"�-������%�̼Ch�;\Y��N��H;�G;D�	�P=�D1��)U9�����
�<���i&���zP2��ʖ�12N�ی*�\v9y���qO=���2��
�Y>�N�Rr�X��}�v���T
�E|����b���AxX�K	�|�
$sK�_s�!�ɖ��O�9$l2��nu�^Ga2M��qf�V?-8(tz�
�8��kv�v:�w�n_��F��0d�
��
W;t����rC�,C�.�GG��\�o��U�*����c���n$���G�&�qc;^��q�xX��uq��I��
��]3
,�Ow�"��s�~l�W�Ҫ�!��U�?8�G//F
x�q0D�DN�s �vX�zXdr:�ٸ#`r�nZ���C��
&h3��ʇ��z`��e"� �6>���2����antu2�4����J�
���endstream
-endobj
-217 0 obj <<
-/Type /Page
-/Contents 218 0 R
-/Resources 216 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 155 0 R
-/Annots [ 220 0 R 221 0 R 222 0 R 224 0 R 226 0 R ]
->> endobj
-220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [197.0684 422.575 240.904 433.4789]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/libtool/)>>
->> endobj
-221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [103.6686 387.3321 231.1904 397.6134]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.dwheeler.com/program-library/)>>
->> endobj
-222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [361.4681 345.1748 387.371 356.0787]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/software/glpk/)>>
->> endobj
-224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 248.3665 388.7183 259.2704]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
->> endobj
-226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-219 0 obj <<
-/D [217 0 R /XYZ 90 757.9346 null]
->> endobj
-10 0 obj <<
-/D [217 0 R /XYZ 90 318.5248 null]
->> endobj
-223 0 obj <<
-/D [217 0 R /XYZ 90 286.5963 null]
->> endobj
-192 0 obj <<
-/D [217 0 R /XYZ 90 286.5963 null]
->> endobj
-225 0 obj <<
-/D [217 0 R /XYZ 90 180.8847 null]
->> endobj
-216 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-229 0 obj <<
-/Length 3272      
-/Filter /FlateDecode
->>
-stream
-xڥێ�6�}�b�j3�$J�Էn��Iv�b�h����11���R�����H]F	
-,D�!yx�z�� ���yp�O��\��}q�
���](ˏ��8���ݛ���>��i����!
wIF����M�}��`���_d`j��'���<����
L�,�6j���ǻ��n!-Qi�7�q����}	$�x�T�%�W��0ϣ��]
)7��>�����:��a��h�b�vA�(b�_'S��dsE���� �Ƞck
C���_�a�ѭy at vC ��5GӶ�~�iߌH��,����K
��mU�6�����a�
HD�
�� i`�1
wy���Si:�\�6�1��3p�#�102��~�=�n�����F���m����Iv
sԥ���>ᡡ��Es�Dg,r��
a4�#C~
�@�Bsq��6�6�r��i
��<g�-Ւ�BaW۝ e��ާ�����n�d��]3������ݎ]���6뾯�'�j���د��������&�f�bbV0���+��
�;�I��%*�[�6���'�<�6ϭ>w<em�@��
������`�e�GX��v���.�bv��6bq[�D��y�[
����3e� �
y"�H�ͨ�Z�4 at E���ؒ�¨LJ]7v�ę�D�k������3B �Uk�Ҭ*����TЂ�'A�9 u,
�R��]s7DHa�^�	��.M��'[ٞ|
�h���X��Ix�9q��O�"�)���%���Mi�7gs_��`�L�1\ub�b�
e&V�j\5��QF��<Y��?�|��� g��V�
�`�,ӕ���C4�E
���� M��޺�B
-�-X�27�$!%ۜ����Ew
�nj���>gEQ���B԰@vM6�9	��M�ϲKd�1\|9sN
�E ,1�����X�M�[Ȅ�<p�#3�=�b
Y�m�l(끍5
��+�C@˨8�  ��g% &��5�
�;��7.r��$���4rQ>y�L{���e/+��l+�,~�b�o'��j.
�(�r�M$���6��
 ?|��ct��DG�0��O����a\]o.
�d��\bv�}`wWx
^��n��O�5�d-����́Er{2��hڅv 5t�B&�l l'�+R��H�b�y�]g�z
^
;�15-}�SݛF����.�E���Q[��p
 %�k{�l�Cj�:u��oT=k|�)*����Pm�
-r@�n׽��k����b-�e�P�")��N��:`���j{�q)��৆�
b0scfO�
�8x ��c �n������S`�Z�-"#hّZԸ�}2�S�|�#@ֹ�*W
vtsݿrjP�Se\D��Jl�Kx<9+�'�%
 �@S�f���2E.���
2�s�?5�s���r��GR2Ҋo`F��+�Jʓs�覛��]��s��YMmڡ��L;�a�
��U��aˢ��+l�j��]QZ�؆�Ӵ`�Q��p$lE��L9�5�!b���E��P��3k��y]4�
duP�S>��|LAڞ�:d����^����i/%����b',,|c���� ���ʂ�@0$��'�y)W��H��vr�)��S���`z-ܦ�x��r( լ��1�T[���AWTx(����ܯ'KD�	��_�ΐ |���;z��;��m�
�5��נ%��YEM7>��k���3�1����3�A�Co �p��3�	J�~��҂��B�V�0z�������wr�S`6
G0ӭu'��	|��X0��Fs.��t懹�DN�
-
�#|��卡�Z�H�
oI]
-��:��?�Hjr�q ���V�
��+I_$��q��X���AZ�`/z\���c��V��t�Ӱ5���	�E�I]ׂ�T��.�'(
��'�%H
�
�ES��*:�n���<0:<F���z�
-N(f�J�Q:����S�+���Վ�-d.�
-&u
W�g�q��=p@�c�.i�h��3�d=^��ҸcV!E�hw
-<Rr&/R{�� ��2��ȑ�,�;�lZeM<
�kl�G���񥯰XA"�İ����Qx ֗Ke���������Q�֟��}�r�����D�7���Z��
�
 *�%+qj����뇅�s����a�-�϶d�W�X@�l���c~���K�#�i��9�G(���|O~S�^b:�+�]��w������䪖B����{I
H�GroSG�\Ż0۳�
���ϟ��7������߾;�����G0>A��(ީ8g�R��5HKͬ�ų��ŹߢH
�� c���i�-�< 5{�}���U]"e�N�H�J�PZVXj�JF�Q�������~�*�4_e�8&"_���D q�#�
� r�B|�n_(��$TB��Μ-d��7ֳ�^ֳ�����G6zQ���I�վ�V�\ ��Mz�yV��K>2��!J6y�@@T��4�
�QAk�7��,��i��Xa����SE��e���ƶ�э�ej�pַyy])&�
-�_�	 ����W��m���1���^����D�0��a/g�c��8���
�+����
-��"f+K��'�W�R�3�MKwb��Ci���cB�Ǭ�|����͹�A�aY�i�цd!�
c�4��	���)�H0������(�(M�w�P�
ӄ�L�H�L+�P�ȩ�7��4�J�3��K�&b]���>1����?i�����්{���\�2+�;<� �:�Ɗ��w�L:t�)���Z�,_��E)f�Mn�K>Q�9jz%�\���AP)_	p�
���R���p


-.6��g6�<�RJM��q7�ҁW[:XO�X��C��]�X�`,\\<�]�>�
�}a��[\�2�O-�L$Y�u	@2������d.���D�uT>�]�
-.�?˙���R�����[��2"}2p��	��G�S(�m�.���^C��J�k���7_Q��<u�f�‹�]	m>V��s
�J���YV�T�,�t?|v�XF��P������+�'�Vi��g��)�^�)
���?5�#�'��`3�<)؏�±�a0�Z���5�}��Aُ�L�"�S�����B�ďQU���
.�c��?�H�]���?��z
�$�����n%�v�0�ӑ����o:
�V�#ү۳DˏMu;��ծ�}j���]`��Yο����UQ@�t��j��7�����c4�W6���K���ا"T�L$��
�W_����<����	�c��D*��lN}��͛���+��P�K����ho�t��~*P���7��e��8�v�>��r
pi}9�3��+Kÿ�Y���@�endstream
-endobj
-228 0 obj <<
-/Type /Page
-/Contents 229 0 R
-/Resources 227 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 155 0 R
-/Annots [ 233 0 R ]
->> endobj
-233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-230 0 obj <<
-/D [228 0 R /XYZ 90 757.9346 null]
->> endobj
-231 0 obj <<
-/D [228 0 R /XYZ 90 331.4912 null]
->> endobj
-232 0 obj <<
-/D [228 0 R /XYZ 90 307.166 null]
->> endobj
-227 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-236 0 obj <<
-/Length 3421      
-/Filter /FlateDecode
->>
-stream
-xڥZI�ܶ�ϯ�[z�4-���MVŎ
�QJ�C��M��aqisѸ���6pjrHM�x�


����� ���,�O�t��(�ϫ���
���Bi~���y�o���~����>KTr�t��p�P�?���ã���w?�"[�֔\�0
K�s�G�ۺ�P9
��.z��釻�=�k
k�NB\���_
�
`�`��C|�
�`f����"�}���x��q
n�[;�C���X����>HbM[�ɶ����
6��������
�
�ζ\�/m3���yS]����m������f=]��,����ќV�]q��!�w2��������`��!�w��\}ޣ�A
�a�OT��|�{
-�i�*��A�滜pm�Kc�kin�|��>)������6�֙^��H<��
�P~nzЌFDL��^d

���u���\�˹:/��vL5�Y�v8��:�gq��k�����Ы�!Aᄌ�
K˭'k���@{��)����\�	����f! �sk���sߚ�@�{�4M���{[��/‹W�����!tEƵf��/j~I�L
:�ߘ����p�j��:cW�T�!c|,���L�e�q��ܸ��/�u������c����}�����
&~`en˝����Ϗ��f�"Q��RA'�(�����̥���,��1v�j��j��D�
,���k�a3�a���� G��m@����v��0�tݦxԘ�	p���V4
]�l� I7�
���T�
�,(��
�m���c� (�(�ؾ�
��ƶ�������ďR�UH�
-v��} ������2|��0\E{
e�OĒRU
̑K=��FP;�p�X�s�be������h �[[�T\�c��\�5�T�� Ѽ\��S�����
]�"B��?���|��g"�3�xz�x'��Q
P�_
���
�>iF
}�A�L[0���
7�a�zZ�w��i��J�!��X�|��#i92.@�L�
�����	�7��?�͛s��c�i��@qB\[ǻcS��W�&�P%e��ގA!7��H�:Z�U��6�3'>����ٮ���i�V
�2ܾsk�����σ9[�Tmy��z8Y� ��m����c�����\���ڶ[���
�{o�{�6���bv`��u�P��
[Ӻ�; ��t��e#C,�Co�`}v��&VR�� ;��
�H#j]��ڗ6�"8į4^���4�_�	HC�{C�d�ӑ�k	
�l?�P�DEF"_G�jN���?�3�
��[2��� �=8�
�20���������|qﴮpC.#P�����;ο���j*�>L�$��ä`Vl�
-�qsS������_[�)B�@7&J�%I@���3�=V^X\2��<�/�ki+6`0��r&fxvH�x��T�)��l�F��q#���%�6���o�q�l
��7h�
��)�O�h��#'�
=#@
-^��}tx�P��fe
b���T/
����FßJ���C���G�\E���ҳmmK���Յw��SGH@���I �
�65+�O_q|�P
&H͹���F֯��s'�
N��⸚����aZc��;`�v`�Jk�A�0-( WZ!
-��
�!�Ӫ*��&�_g�v�,�1-8-cX:A/A(p�=�~G3��l��7��tp؅��\���C],[^��d�3����.��]
[q��`qMY2����c1���`�����{��E���5xeI��
i	mB8���`g�;QW�I��&�z���b���fYOsh_tO���٩#�lT�.@�|�+z�2�v�Է
I�a/�Mr �L�����o���|��rZ4��*�Dƞ�	�1����y���c������Xs9���:�ב�i >ފ��?
--��D�
��^��JI\���{�	

�rN�`�P{g�SC�AKZ�G$^�4�B��}�Ӂ�%[y�V
!

-l�U*��•��3L�ݷxnlCQ[���c�[�`���_'(ϒ-T[��w����T�S^���
�!�&��%E
�0��	B���4Ba|�G�S�x1���Ɖ���
ʥ�8
9�U�jS����;�l¤C7
G}ٴF���J,�J�À:Y+Y+�ȥs�Kp9È����|*	ر�=Ԍ
�;N�T��BBaz�]00�.�I(�$��D�G�m������֎N?_H�!L"S$��;ܘ= �햡�/x5�$��;_),���jp|���..F0��<
���B�L:.��Ph9�)v�G��o@�^?�۩m*.�f7����׷0dS���׆�a�f4���所�S�R�[�w�����k)���$����+�?
`�u��x5��2|G�?�c�lj��3��bB����1���9*
��q��*�,X�@"���\l�W�>�@pJ<��upblNa��㦉�2I�Q��~�3�'�>i�$~��&J�茓ƙ0R1W�5
��q�[i�*C��ݨq�KW9Y9As'�'�5[��>e擱�ZPl�a(�S�% gi�Cσ��!&�Y�3��e�J���M�Yi7�B"��VW��lT�L�$�)��,� :��p��<{X������P�U��P�z�=�B���
^���
.@�����I��5Cyi���Z�J�=B�O�e�F�J:�'lG%��/>��YNy��@9ޖ�[�#	&���3&�6A��!�`@TI�Q��a;�v\H��Ã����g
�I1�^J�y	w��	�
-L*&��9l�@p�AW�d��}ő�LU6l�(ﴡc|nZ'�M�+tώ�1���8�Z�_���Ak�'���;�N'�/(L_�G'
�@�߃���'�I'����RJޕ��,�CA�{a���"䫸ş�Ԧ�9\�����fw��:o��O(J9n���k)�ġ/��4�}`WzW~>�N����T�����(Z_�Hy�i� I�8 ��8ϑGՈMV�E����2�B���Gz�Ř�p�
)r%[β�6���$F�(�i�[���d|Rev������IT��`#��HbI��w2 Ё��,�_�e�PV��_$w)��	�E�߮�._�"��R`AWP�����D|=�(��(���?1�R���KJ����|�Q9�.��zO�hJb-�� �t�!b]9�A�?�x�|Y�
���j�-��yqbZ[���]׿}��6���W��
�̸�xS��]��|��Q��Z�<���=��w�b����bbI��K�
-f
�.h;�R�$2R`�!��-\�Ǎ߼��>���oUpz�$N�����Oz��>
�p�s�d��� ?w�L,"�(G�V)|h�����?��0Yl�{��#��)r ��Ԙ�1E_^S0�&w�_[
-0o��z�]�
�>�3�$�~���L�<�F��ҙT^̋������o�>??��nq�ݻ���Z�]�E�>�px�
����/������f
V�@�j�_'a�F�j�f����T�G�endstream
-endobj
-235 0 obj <<
-/Type /Page
-/Contents 236 0 R
-/Resources 234 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 155 0 R
-/Annots [ 240 0 R ]
->> endobj
-240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-237 0 obj <<
-/D [235 0 R /XYZ 90 757.9346 null]
->> endobj
-238 0 obj <<
-/D [235 0 R /XYZ 90 618.5814 null]
->> endobj
-239 0 obj <<
-/D [235 0 R /XYZ 90 270.6779 null]
->> endobj
-234 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-243 0 obj <<
-/Length 3018      
-/Filter /FlateDecode
->>
-stream
-xڥْ��}�b��]5��}�O�&v�c;�x
W��[bw�VG��<�@�գ�u*�U+ q�D�!����Ȋ�J�����������x��}��|�{�U��WA��������GAG�����]���p���?�@�R��&��C�j�jُ&e���l��o������eI
!���~�5�o��܅AR���L� �����K��Nڻ����Ђٰu�,J6���7W�� ̳�\Q�'����
D��8�=��
�������$
-�ۉ��(�Iޮx������(�u�g� %r#mPG�-�x�$�?&@��G�n���=܏���g,ky�*��:�'f�m�h�e?�Ƿ�����
�_N��x��=�JBp�8
��"�~�ceծ
�Q��
��Z6|B���H��
2��Aҷ�����'
�)�=}�}�〘�����pR�`ڝ�y}��
5�w����)-���x�(
-�,��
�s�K�mkĝ�n �>�@����`�P�!\�(�=G�NgI��޽����r�jTci)�+�k��d��PA�C����;X��$��c�
��.��Qu����wf���j1��Ѵ
'�<k��&��V6�74�`��l���1pG)�<NSs����$��0� A��4��ee��˷&k��
P�����^��b��&F�--_�IkB�}P�p���b�[V�aNV( "xa��|�,p`����i��,�M��p�{$(�
�>I[�F�#��uEh͗�B$#�m�IMg�'�
�ٲ/+0��?�3�Isc��V���bpȓ/v˰Þ��p� �)Fӷ���J��9,����uU�c�r2�_ك�� ��;aLK��D��ȱ�l�e;&2�� ͤ�ݪtCC�Jw��
#dQk���vd.�a�7��٫~)ffw�1�{�`�W�H�
s ������
��C��>Bθ
�+�4�r!g
t�9�8a��v���z8i�9� h����mx$x�jO��!����@�T��z�l��1�a�bT�e녝ZS
1K��Nj��a
[$��5�sz�h%&Ik`?���g���)곥Fш����І���8����d(�v���
-���
��H)A���&�$(���L#��5�
H�z����tj
�a 	�)��1~	��
��A3�ܞ9�M�pR0&��
ad�}���7U�hp�Ec�$
,ˆ8u�i��(�Z�W��Ä��֢��̕�k��4|�`�
-^E?1ga�nMb}
P��՗�a����v �
vX#�3������Ñ�0Y�I���`Z3�8����ґ�rk�Hu1zs3��`t��7�
-���k����FX&*�i��r��q��-��˛���h33�s)��/�^���qx4����Ձ\��S���?C�G���8^%-������q`h�_2
��<�Y^G��W�m�1MEߣ6���<�w�
-�V��D�E��E�%������f_���ї��$W�
��ɍ���r)V�����7�H��<I� J��Ŗ��𼞎�<H�2]蠬~��g=�(�]_��>�7J�*��5_�K�Et�V��ɡ��EVË�:�w����Z 䜍�l�zA�ͻ�T d��ǎ��e�v�Q��n8�RS\1�e5y��ɢ}ZM�q���:_�&��Ԕ�%�))W� ��p�j¡�&�.1�/	EYڄ���o���B'��P[ӛ-�Rz�Gi�*@m��p��*�"�p�U�|@���|u��p{S�U�V�6+-;2B�wv��K`�3&�u�!%��0M'.-�pn6IY�0�M�L2.� )�^2I��th�4�W9.&�	��$W|k�
E�G��9
��K����)�4��7.s�
Jz��t
Zi�
-g�R�W~�6\Wk襣B��I��c�e7�Br
�6J.g�+,!΍L��1
k���"�ɓ2�A��""/P��	>�
-�
����ɡL��
..�
��74��,&�_[����܂d�Ü#���i)���.���4F`%N,Jxv��M
�$K�L����-�����\�Q�d��TP,dX�B�P���#v^Pƛ�;��ht��-Y�w1��^
6y����,��ɀ�����l��R���Mj;�a9��(�4c[�*+a
�� �
��后7q�,��Rtc��u�	������M�eP�T�˾�Cx�wY�O���8z��u��w�|�]q�{�b�+�w��7���%ť�iq�oG
�Ry(Gc P�I��6B�F����� �r�G ���_��VL!�G.�h9/�8\(��&!_���s
�J���`3��0��p���C|1�z�����`�J����~x��(�D�ˎf�e��X�c��d%U�_b
�M��Z�"���4�:,z޶E�_�9Ǎ{�!��{sL��
-��E�&'�H�I�Ǫfj�ӈ/
��NM���O/&��gC`�>�o3\�`
��”<�]�Zu�
�T���fz(�	�
���Ww��ӢR����u�g1֗R,J���x�Z������s#�)N��
mZ'��;�¡�;�	�v��q�8�5M@��I+��.Ot��$���RC(�)��
R�N^�$f��C
WYj|c���L��^�
�+-L�oڏ��S�Q��`�N탒+���tftQ��K�# ��+ae�q�t�@:�h$(�J
1�^�yL'�<<HN��hO�`6�Ƒ���b3W-�S��bb��Y����u;S6�kԮ�����}r�!�`
-�j�U
-���b
y����
x������p����[��\�ܜq+�gU�e���D�<����>0�A^ETE~|΃�HJ��{���A�Ǔ
�q��~h�g�ha�z⠅�E��?�����0����k�����p���g�
�![��zLp�n� ��$
��Jւ�Տ�v��E
nã�������.��<M��߼yzz
-�1�{uс�ހ���=WjZ<��W�萞�e��4-���VGq�֎
-t��K_g��3Kÿ2�8��;�endstream
-endobj
-242 0 obj <<
-/Type /Page
-/Contents 243 0 R
-/Resources 241 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 249 0 R
-/Annots [ 248 0 R ]
->> endobj
-248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-244 0 obj <<
-/D [242 0 R /XYZ 90 757.9346 null]
->> endobj
-245 0 obj <<
-/D [242 0 R /XYZ 90 682.1235 null]
->> endobj
-246 0 obj <<
-/D [242 0 R /XYZ 90 536.2244 null]
->> endobj
-247 0 obj <<
-/D [242 0 R /XYZ 90 402.2804 null]
->> endobj
-241 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-252 0 obj <<
-/Length 3573      
-/Filter /FlateDecode
->>
-stream
-xڥZI������[�����[�ʸ�$�I�}H�>@$�bL�2��;�>oRT�+����6�������̒�+�8},/��3��y�� ���OO?��c�i�>>�HBxI��OՏ�p���?HA��W
W>OǦ.��׺����q�K�??}���';�L-�� G���ǟ��
-��݃�EE�<�@����/q�J�����V7P��&A�{�F��&-1���(�w_w�>�w��CY���3/���=|�~�R3��>Lv]<\��OI�ȇ=c/�����s��n��Q���W,��F�
-
-�i�O���i��늉/8����ku�=��t9�n���	�ǥ��tϬ�YZG
��bw���]+ԘT+C'�7�]{�X]�I�g%���"a;p��+��!����
�yͼ��N���E��`w�`uPh��תR�Fڿ��^׮��x��GSJ��t!Ҭ�(h��V\�~@ ���H�Z�;wЀ����l�@������8�� /�*��@(]�(�S/��x�����z���^!���-�{��W�i�
W��'�b⨉�"l��#��P�[�e?�2A_�]U���4��h��� y�K�5� ��&#f��m�L�$)a[�KvU=�}}܇ ��B/���
.Q
�˲�\U��5=�v�F��5�� ����7�!е̤�ZM=�+�9χ�i���q�����+�i���t�=��НF�h/��nA!ʳj���Z?�<���ax
���}о5�ڷǵ�u�=Іw@ІhC
���2І
Іs���
-|�
����/X�
����
-�yȠ��/}=��e�6pa'0��-(����j�YEБ�;���I�ך��Z��0��u!)4�`&��t��y�t7\�P��8p��VV�;]�]?r�dx�[�A�����m���1�Ʊ2DQ-A���_��z�A�DU��8�b�k`�Y�"����X��uXL���w�"^:Jk��[����e�%�����Lm�l
!�0���bi��a�e
�2��l��T
 \ *0���8�
��@(񲡰Z$P
(s��2�kS�ZL�1\/
	#MP���(
-C��2r4(Fo�����ԡ�{���
Ip=��k�e�X^��=6z�h
-M��e	�#!>�]�%&XLn�.$Y����
���zt"UtC���(�fܳ��z�'%0�,��$��
�d��uHo
7���5��
�4�(���ۜ���dx&5ٕBTh�2�k��ke��(\R�ɞ+v:1�J�
�Z��L
���1�
�q76Y�&7��|
��'x��	�U���?k����ö��
�)V YY�\�Q$_�0�]


BYSk����3�|GN}�Z�+�m �^�ڙ^�R{�E�P� P�RJd-��Sp&<����V�Qr4��G캥1q�yy�wU�exCg,ۻJ�戳ּ3�Q�Ÿ�MD�z�tN��`��9>�
��n9'�@�He6c�S1��C�
������Q�HD���`�/Z\��+b6l�EaA�{'�����I�F��n%�1S�2+g2�^kK
$k�������"%�dM{�M��̲4
���5���������,rnF��մ�X�F.�	�h�R�`
-[�����'�ָE��%$��
-��ˊCP,��E�l��Y�SB����-���XBh3�E���£�3�,1��"ek�p
-

+7��n�،|�y�S�Kgt���Ј
�«ڠ��-k'�:�A��
-����M��*�CDc�F���ń�\�T�x��m<r"��uS��-?l�tys)�
!�B��Z	yN��
-�gnŰޒ��m���h'E<,��%At�XO�/�B
�7���J��<7`�8�p���3D�����D
�x�`(-�8����P�nt۾� 3��3��
mrtǦ��(�c.��~3��Ͻ6���LhҺ�Hڽ�P�'��CA;b������
��xu20�*[�4Jc"��wx.��Բ��H�
qv��k
�b\�~ �N`9
�V 
Ԛþ�;P����
.��]��
c���pW.�q at I�E���+��!�:��Yl&
-T	o
"pY���O�k�9X9c�QK�dvӌ�XP��x�O$�z5O$�����Wʍ�u�r�'��[�_E`�w:g�%9��A
6V�F���e�[��W�8&~� 
��kf�c��L0�^m�]���ݗw�B
���o������c�z΋ʛ�R����w�Y9����w���N6��0����*x��@���|�Ę	��8?�Ź���
� ��0]
�u��5^�5��xѪ�rSŕQ�ϵ\Fxπ���Q8Y�8��
 (,gZX��,q��'V:ź�/_j�}!�ySp= ��5"�:�W�۰�rn1p Y���J�nfb�
V�ɐ 
o䪠!�U$����K��0��^t������	_��n%�$�nB^��^����i� ���É[ 1[�M��45�y����/��s����56U��\
�29�f�3y�ʗz�B�8v��Aly�`
W�S��<���7�ed�L�H�o$L�
m�0$���#��i��>�߈B�<"�Σ�땯�B�1�\���PO҃l*5
�F�b���k)I��aT�t�q����V���Ι�g�b���΍mp�{��H$B�� ���.�i��脇
�
� 1��g<:

��E�\x#	c	X��]�3	3~��|Gu�����ay���YI�(�w%�3œ;_��c�.=��wJ�s�m5�{�a��-|�]{pf�v���e�����_(P��Js��pR�y�CXc"Q*�u�^����+�
ņ[C=���Mh��a������b��s
?�AM>����Tq�x*��箢M�I�J]A�`j����3�_�k
a��8��z1�g��M*�Q@�b�@K�
-G�i  '�VN��V�i�{#B�� �S���)�©��yG��g*�
-N�s$Z6h�f�r��8
-���ܠ��
	�`!�l���MB���3�4�j#q��
:�4L' ����Ȥ�L��Ģ@
�v�~L:M-��<�X.�c��Ba����db{��Z�G�
uz�������}��'p�7$����
J�x5)%���TӰ�Y�6�9�?�T����.��+��7n��J̝K���
����	����Mɜz$�*IvN"_s�M����W���,���v2�b�
I��r(}6nv+- at u��P|I�
鑧+ˉ"��ߛ��n�)�JS��E���*Y*��3��L��
�����#O��=43
$�HC�t��p����B
l����K�Z̡��(���$⺿�q��W�s&<.8([}�B�5&�ܔ�[�
H
-���f5%wS7
�
-/I�������
�$��>�Wr/
���0I�"�r�$�L7��x�ϸV&N�]�z�U���(?�
-
r�I�
�[�|7)$<�?�Q=��7�N�{J�ߕy�w�$��J���-���
�"Zn$���hJ���v88=�C��ٕ��7�q�~����ˋW����ޫǏ�k�q=�8μ ��{���f.����˳b1{(���[�ts����n���
kendstream
-endobj
-251 0 obj <<
-/Type /Page
-/Contents 252 0 R
-/Resources 250 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 249 0 R
-/Annots [ 255 0 R ]
->> endobj
-255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-253 0 obj <<
-/D [251 0 R /XYZ 90 757.9346 null]
->> endobj
-254 0 obj <<
-/D [251 0 R /XYZ 90 714.3182 null]
->> endobj
-250 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-258 0 obj <<
-/Length 3327      
-/Filter /FlateDecode
->>
-stream
-xڥ˒ܶ�_���Ti)��c�d;qɑ
�ZW*e��%9;�8$͇6��O� �\��!�*-�h�ݍ~q�[����Ʃ��(�-�7��#��	d���\�o�o��5�o3/K����H'$��Ax{_��
�wa��~��WTM��5O>N�.x�AU3T09
��.��~���_�-ma-VI������w����=�
��'��^�e���&
-���7�n�a��ڰu�8PW���C��I��z��E��+Ny�c���V�g?� \��q�N�|��}5tmS��A�ک/`Yeٮh�}���xW���d��)���Ɠ�8TŨa
M��02ƒˋ�=wy��Z����x��wA�eq
�E�7Ø�u�g�I�c۟	��I��vy���Q_�1�:W
-
ve[�R�
-(���0}��J=�_���H���-���a���Q�j�u3�՝���]kܠ�����
<�����!		ۇ�Xy�h�J��
q���@���h�A����R��sWWoP|��i���F<���J	��+�l������������KˆM�
Ʌ�a��8%Q�B׷��W]V��2@q��QD�����n�z*�X�
-M��Q7S�2'W
��k{9	d����e,˼��
6*`�$8x��|d��ݑ�)3�:z@��
�X#8r
��I��h�E�5˾ �;
�@��nEn6��[�T�
G��p�~ O']�$K�wb�NV|ü��)·Ƕ��(�Av�R��i����_
y���=�
�
���R~
���c06� 4`� �)eP�w�ݬ
�a�;«
��̏vm�f��
���^���Ư���h��T2��:��-�z�&���=��F��{��A��X|��Ջ���U QA8� �
 �z�T$�����1�[��
�C�1��r�8q
����'62�"ӆ��d6���a^x,2K)�"�����I���������
�/]'��,4�b�7j���CXP�������Kx����߰�
bg�H��]l�5��Q���w�B�D�ˇA�Bv����ʄJ�⦦ˋ/`%o
��m��^�

p�2�U6�R!dQQJ�J�S ����(@���>
�E�9c�.�a�(c�C�?��8$;x�g=
  %b`NR����ːMFj_�LW���y���h&���9�²�1G��=�t�����b��� [...]
m�!h<������<�el=�,�R
�Lk��Ð�14���lb�iff'I<�#1�]�G#�Q҄�	�.Ac
 ��Zk!(�1�8�A�:��O�x[�{�֑�T]c��B�!��k������)%�59O,13@��֛�[8�f>{C�2
��0�4P��g.J�a��8�c�ᇻ�o���43��5�f���&ΜT��#��
� �GÇ�7�7�`t��!ؓ���^��ɦ�̋#�
�tn��Iن�
-��<
-2B���cdN
-�E��tc ���z�㘐b������!mg��2uN5�0��a�5A\wMpC���B�R�|/ɁU�~
�f�����x+����
#��G#��Y(c��B�
�z=���)V4b��ح�0��;~�YF�,���hWT=~8}�W���;�)'#�4�JV
Ymz��q���>@���F���
ٴp�Z���l��5��H]�g
x7�d^cq'�!�м2D:������=�$�
��"�璂>j�����o;���B�O���W�|�?�#� H2%I
��1;��R���i����S��E 9�r�4����I�%�ME �y.P �=��!l0�w��[�O����by��r�
ѝ�|�$�t�؆�	�Fl���9�{��q��a�LC��4���f���b��^��9���a��x�:D�I��5���Ma����H�
"/�dA4����^E��3`�.�T��:�����ڶ�p
-�
TP
P�ib�8
E��
}�e)���bq	��A�D'nX�����oh0
<���۶.�5
�וx�����t�]�����/;�nAwQa�b���#y 1�Ls�&šg �-�`���l�f��
A�/���e3,�
�7�F�6aA
q�z��m
-�zu�z����ÊG
����
 *]�N������C����x�x ��
-^4
��X�W��*��x^�k�gA���ۓ~0�5����P�`Fs �ń"�̜�~�Ȫ�A�N,���[�/z�6
-��mx���	�N���X h�
�ri^K���/b
��%ǹIF��͵P����p~դb��0}٤
�k&e�^7�k
��Nך�K����9X�2��j��q���M��
�U�n��T��om� DZKz�q\Ո����A�E�����F�Qt4r��ՈK���x�}U���A��E8P��<��k౩���ˊ
��^MX��O�Uc 0��G����G*���XH��;���Vt ���c/ͮ��y����u�]!�(�*Q�7��Q*�0s;u�@/�f�U ����
-j�Q/;<���E��f����-h7�"ܻ��ө�
�U�`0'��6듡��J�u�/�=���=���6�l3u*�?&O��|���H���"_�5�4z��.�OO�eύ��{�g.�8u��
c搂��!E��93F�3�?1q�Y����.�(�
Ml$�MAe����w5��\Ub���*s�E����}�\K�R/8p�A�R(&���S?ӀLt�5��ұNY��S�a���A��S�x�ن�B8�>�bR�mJӽ
�p��!��9���[)E�ܹd�&
����}sI
�NP*���K.)Tr��y3�L��z�
E��Zv>o&��L��J���)eC���� \�J��= �#���G�e�LX`
�Bz
��M�Oh��ݒ ���GJ
-��)��3ߩ�L���ȈWA��.�R3�s,�sK&d��Aa���_� �}��,��i�R��
���b��T�4<��,J�-3�a��[.*v?��x�C�-
*r����y�Jrsesm
�V�01��X�~ؔ���9������l0�F8j�У�U�o~�����ۜ�/���*��,o#-�3/���/�|��A'�׏�(�H^d�,�T
��P�	�'��#���gif~l�˩*��d�}�Kd�N`y�8史�}:>R�R
�=��<�)ol�����X•|�i
}��TUk��zA��� y�˭�m���p���_���T����9�c��۷OOO^1xS�����ۮ�߮����
(�,�3^���wH�+�J�ϕ\9:?�Z��?�����endstream
-endobj
-257 0 obj <<
-/Type /Page
-/Contents 258 0 R
-/Resources 256 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 249 0 R
-/Annots [ 261 0 R ]
->> endobj
-261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-259 0 obj <<
-/D [257 0 R /XYZ 90 757.9346 null]
->> endobj
-260 0 obj <<
-/D [257 0 R /XYZ 90 541.1812 null]
->> endobj
-256 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-264 0 obj <<
-/Length 3138      
-/Filter /FlateDecode
->>
-stream
-xڥْ��}�b�"U�hI����I|%�ˉ�)�
-!�C
RV&_�� �}�R[�ЍF��7'}L�_�X'�eQ�j����!y|���R?�)F��������c�������H���������&�>eE�����d`z�t˓o./�mx�7ۘ~40����T������s8[X+�>œ?>|�c�x ���T]�W�$������!ϔ���>�=�a mX�a���+��3�K���+~y��b�6\p�o���+�q�(�A`<m�-���g���6M6������U�4��v:1t:Y�<�f�C�fY63�]Ɖέn���(n7
t�5�
Y��t?1x
.���$k�(4�
��)MwuQ�$�qғ�
����pd\>@ y�wG��@�I�.}>�o<p ������${��&�Ãm�d�W�]O �%Y�����a�
�cqCVc�x �n��9A>��V���l����v
-
ߚq��2��O���6ݜqd`p��H��N���A2?�^���qp�
u�mZv��v��$
��dd{�&�n퉉e0�p,��ȿ�wc�(���ȼ �K����Nju�1B�?>R
7rY�|_lH�7�xTy^��n��`���6(�^#G�sað3�w*��v�ܦhz`:*)X�*�Q�x�솳~݂�L�WP
��
{|�5�?w��x�m#�,1�92�����-
M��I�K0r:{\�	��|�I�{��4Y�{wxn�C(�%#�S6X^^�
c��⚝x�
��� �=���`Pdb �ڶe
}��ޤ�m+D&y'� ܗc����I(ˍ�E��ʵ��j�CR$�o�ˁ� *�H�&g8���E�E_
�@����X��|w�T���dih!�y���Kz�88l|1��_�l�n
w驼�X��2	**�o��z8�(O�d�V�a�>
�W�"
Z!4���bF���
��n�����.�v��pF=~�����V��U����6�����Q2<
:>�#m���4�G �/�H�pp�'�:U��2�v�„7�i�}�D��@�"�(%��J)璸Vn
&k7)���v/|;�b�=(\�Y͑��Y���`�
��v�m�b�#��1�~
K�U�(8}�
��	����E?v��ѽ��Y
-���'�{�oޛ�;�i�gw|E���ݦX���%]�	�*�]�V��8��',y���
D;��L�Z�xOu2�FxEE�}P�X��TR��&���za�	���!B�F�WA+�T�X]�[�n�qb�d;s��I����A�4&�@��,a~EMb-+E
�ʧ�0��t�Vr�L���3L|��yl"F�"�n��
�"�Sb�e-���.�xJ2�a�kx)F�*Y{�U}m�$�x���!�Ks�������
���0
OVB����Te��G�&���2%5���җ0�""`��9���q=
<X*��)ϊ���)��H��up,qF��y�!E�a4'=E�R
&{Vhި9��
-�H�K��s�
�O a{�U��Ȼ�����<�x�-{�ȅ�M�Pjp]KS�í{
u'#H����Ďr�eb���������SU�7r���2��D~�V�3
�g������?ѻ�o��R�&�T&�+R@
x�RD�n$�V�!�(8
D�J	��&u�v߽�Ɂ�^��w>�ud �\X��
�v��E�x)�v���������T����Ũ� ̡��H�
��J<"2�Z ��x1��Ȁ���
��i�hL���#U��O݊u�+s����#��bk?������U)�r��B*h#�g��B&����XэN��ryI.O�Ls��Q�R\ Mz����'�ʤ�ʲ�*KC�"�P��q/[yg�_�;�8}>��d��G���_�����92�=
�(
ya�Y�~�tT
y\��g��i9���,tLG
/Ǫΰ��~�<�]�
YZ<�g_�nJՒ�+5cz_3zW�
�8��^�=�}�T�qC3�>��y�[]!\��ԝw������㧺��Saˇ�RB.��o��X�p]{�7)�X�y"�$Dv�+!�,�q獵�������*#�(�����W��W�1t:�e%�^
-�/醢6�o�5�(kDXtQU�����/�
�'H�Ѭ�����R�R�rf�3��

P0L�����h���9�����$�¦7�c\t��;�譁��L�K�	E�G����rF��P�4‰6
��5)֭�䆖'LR��yNJNo���hiT+%
��^ 2'`KT
-����T��L��
�&0�|�^�+[�w`}���S;���N��`t�Q�֕-#��s㿨�B8m5���7�E��˻��N�����)�~�;�i�F(۽�B�`�8
m�_���F^��^QQ|g�9u�ƹO.�C�m:O�������\y��	M6
-���DUb���+�
8/s����mQld�o�
1]J�}$͆��
-k�ӽK+K��
��K�-
��v��^4��~{!���������8���g_�tr���ڱ
b�Gط�!GI���z�B�
#,%8 ���"<�}�m�� �
'�����X �����LK����m�^@%x�i�M\Kd�۟k	H����˃��a�8���l�3.\�EҟI������Mm��E)�C��0���t!j�t
�uLe��ǚ��gȇ�Ȝi3�
-.|]�r/5�V�<W;y�Q,�q�ʼ�v
-
�"�^x���4{QOb��Rd��LyI�h�ܦ���
J@��Q�;S�5���8��i0�� -��8Y�Õ'�tz��W����Ŧq`�OM�m�
��~m#@����v��<Eq
/v��W�0��$$Q������|P�W
,%�����+�/���`���V\Ҹތ�mg��Vf\�{0uk<�,�9J�W�	�\���.`������Ϡ�[�〢��Z���@"�����w��jW�u�]�~W����
�LP/\/�]�e:�o'sp�gn/[� �5ݿ^���U���>E�n4·6��������J�
���J	��r�[cnE��K�Z-���~��Y
a�S��� ���rGes����߿�^��f�]z{v;;�?����|�y�K<�/<�S@��e�By^�^�Zi��D���n�X������X��endstream
-endobj
-263 0 obj <<
-/Type /Page
-/Contents 264 0 R
-/Resources 262 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 249 0 R
-/Annots [ 269 0 R ]
->> endobj
-269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-265 0 obj <<
-/D [263 0 R /XYZ 90 757.9346 null]
->> endobj
-266 0 obj <<
-/D [263 0 R /XYZ 90 630.5366 null]
->> endobj
-267 0 obj <<
-/D [263 0 R /XYZ 90 399.6651 null]
->> endobj
-268 0 obj <<
-/D [263 0 R /XYZ 90 283.3455 null]
->> endobj
-262 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-272 0 obj <<
-/Length 3542      
-/Filter /FlateDecode
->>
-stream
-xڥَ��}�bޢvz%Qg��k��^?�8-���:ڔ�I��S)v��1
0"��"Y���<��<��c���Ze���_ ��C"�O0�"�����E�X��"-
?
�B���4I?5?G��)���~����
w>.�]{��w��
��NUeUT�~���×��ڲ�\	����ϿƏ
l�x��*|�N�O�:}��T�N����?=

�	['��g���}\䊎�$�ݓJ�8;��g3��
���C��wi�WY��Q��4U�q�m��K�h�G
�
�I��0�q��m_N3c�Ʈ1��_O��/�i����H
�5���#ϧVF�kwI䙟G��aȬ�v|���Q{��W��h?���ƓS�<gx=���2�ī�4�C;�ﳞL#���0���"�

LsM⠻���b7���.�#��`?��K��ة
���?X�/�L�+��7���7�"ѢЫ���$!2��m?�}c_[#����=6Swi
�xT
�]�����?_�K����.��w�wf`PUp�Y���t�-��T���\����!H�[%���y�os��>���ѶË��,kMc/�
�p�v���ؾ�g�]�N�B��ڙ�w½#C{�V�2�m: L�� ʝvbw��@`�� �p3�wP�Ă�
�ni
�����
Z+����&��W_s�-�.<�'�h�¾'��b���#
�n����i���g8
#0b�r$�nX �
@�
UD�ϋ=���<ɷo��������,	�u�Xg�e&�,�`YEb#	6�
�0�S+O�P:&G��4wE�
l'7��^���.�q
kHzt
-lXȼ�ur6Kds��|��t*u�qґ��ʢ˸0P�g�'���70hj�`�����֮ym���
���n�<
�1L�q
۝���q�D9oq�O���	�bZ��"�f]�=�1]AYqs��:A�&�����1�����8Jcҝ�n��he
=4�Q�_[v�id�AVAe8^n��v<�]��~[��s��/dz)_�t�!Y��`��
���1�;l��� %��Se���� �r��W)�
*-�Ը�
Y���@ېts�T
����pY��;4��-�5f�v�}��H3��� 1 ��n
5��@��8����&c
H߁�p�� �W��\�4���+!U�s�Kѕeh�D�#i3h7�|��BB���� Йtd!��C�,���@�o��_�E� �A͟�dh.
�c��K����a
-�V�ch����l8)'׫Hp�ٓ�

-W�� Ҹv���7_�э�d�/躜yTl�0�`)t��X1T�^&�(�T���w
m|
�‘�
k�
�� ��H��A��@�C&E9�/F
�y
�F����q!���G�a8�b�*
P�9b�O�G�m;���,�@� �>2@�3^d2�<)#�8H�"���%U�b
���K��
B��O����C+�`%0f��rڒ-�o
6�<8�D\l2�3���d��D4����/`��-�� f��IQp�)���P3
^�����Q��:%���=h��� �F
0�r�mv�
Hc>6I��	��2I�x)9
���fc�6��p�a�����3���͛�y����<m��Y�,Ә.X�ȟ�M^:m�hf��b��|J�]9� ��@��<\(
�<x��#d�mH��)	�wY��!��^
-�T��(
�.��6b���F��i�ݮ����SE���k;�xd��g ��{��$�N">r� O�P�mg����3
�Q�(�A�Ś
-���FL�B'��1��l�B�J��v#0( @��� �f,�9Ö"A0���Y�
 D��8=
�Z�~K�Ֆ*ْ+��m�Nä��96�
kjHe��@ �� Ց� ˜�RW╕���\�IF�nH󍨀;��(�
-|���ZseJr�vpȋv�k�7
8��%���)
�����T��� '�9H�
-pI�
-�� �i>�p �`&
`3��
�օv^�6~�X�~7W)MۮP �a����-ښ��fr6��^����U��z\��7f6�k � oep��~�/��	b�\�aJ���a�M�16�a��{]��t�^K���5)R�C$K���ㄐ����|����̀�5Og�o*x0�;L�(��B�[6���oGg�]Ⱥ��A\
�	��\�Z�L�7c���鎬9��އ���h
UY
�c`*k��'�����&���̈́�ʷ��.�}�p�QӚ\��=9�i��`[J
-G{q�)�
���ߌFfq��(��P�d#���ΐ��e˚��71�/���*�S�,X�[a_
�=p]m�pZ�h���+�
U��iU���r���9�D�Au��(�U�&$OFO�W�Q+Ă�f밮
T�.*���v1���Kȇ1V�/��$�:�58
��Q 2
-�(��E�4+
���;hdp���
i�p�1�\v��RO��� ��1��8<PBW_�����x����w̆Q���w�F���x�
*��1�
���1X��b�V"����}:K���	 �Z�50�
N�f8�c{�
-�B ��x��R�2Y�<�R)�V��Z��ynko�������[5��T�P
����
+�J�w�c�-�"�R.٩��2l5�*4�� -�f�1&��GG�,bO��3�5��?~�cT[
������:��
��q���D�������'���=�C�R�D��{��/�*^�k�v�,&�˲�rVYU\���@�*^ Lp�r�*���*���!�F�y��a֭��y��Uu�ނ�Y��-��]�I��v[e����:��ahK����u�������(\��9���dѴ���ں�4��͘���Kx
>�Vy�� !ۉ�%��)���M�4� �x��:P��CWK ���
�J�����d)a�1Gy<�
�����soy���!x���ɕB��Y!�}��"N9��+��uj<諯����6��}Rg%��!���d�KU>���"�����p�c�f��ď!�H[fk
DOq9�p
�W�.J�Z�J��@�__�˜���bgn�����	���R
� [...]
-ٽrC|Q��?�4>ЂO��xC�\x3{ۨ��	��V:�\գ*NҌ����'0��Q�Mm�t�
̸L��8�P1��Ç�
��X���ˆ�2'����V��
��Ϛ���
��A���V�\פ`L��K��qM�*��S;$@�D�]U^p�c_��2�ݷ���n��:�Y<4�,#��P�բi�
��JI��T����U^��\m�8*�M����~E�!+�}�ԉ�}p��ץ���Unx
��@����4�q�.'�X�
џ��bI���E�����M
��W��&s�k�������M	�bG��s
CcnY�T�O�Z]3�G??�ַ+?���`��
�rG��o�|��������ô_��l���
����}eY�O\�\�G����
eY����j+G��%����zҗ��v�wv;�/w>��endstream
-endobj
-271 0 obj <<
-/Type /Page
-/Contents 272 0 R
-/Resources 270 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 249 0 R
-/Annots [ 276 0 R ]
->> endobj
-276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-273 0 obj <<
-/D [271 0 R /XYZ 90 757.9346 null]
->> endobj
-274 0 obj <<
-/D [271 0 R /XYZ 90 716.2211 null]
->> endobj
-275 0 obj <<
-/D [271 0 R /XYZ 90 153.7414 null]
->> endobj
-270 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-279 0 obj <<
-/Length 2924      
-/Filter /FlateDecode
->>
-stream
-xڥY[s�F~���ۢ*[��7Y�6�,9�
�TN
��,*@�z��m`�r�֩:�t�����
ٸ��q�뗞�
}�v/7�
��
�������]]�ܻΥ?�]ӽ\�H�k

�0/W��4spm:��0[� ��"Jy�|zM�
���&��&#�
i�>�}��E��7�
�5p�?/~�]�܂�?]�C�9��0ч��
۴�$�X^�R�a-�;�cX=gt��Mk���Eg��Qv�#-��

-�� ��}�'�T97y�ƛ��ӊ|`��G�VL��
�NE��
�4غ���p���H�7�+���ɉ�����W�ښϪX6c��"+���
��
pеa
}�1��y��:���� �Lxτ]N�ieT%�N^�j�#e-��P�0ʶ�����
j���W�!�o�(�xgUR�l����~g�iJpcIVv��:IK,r��h�a
�ظ.e�{B'�Q�����n6 y�V!b at +#� �
Z��XV�I����@���KZ����h%e�gL�w��������a�G�v"	
!�IyVEA�o�d��%7��5��Oƹ�!�Hko���)P�J�W�
�TQHh�S6~�"�lKG�l!��b:���
�k`:,F
,���5�
IV�|��2Z���<W\���v��DW�����W���@���SZI6��a����b1�.Cv��k

-5$i��E����(:
ӏ�����UoX��#i��	��5@�f�n1M���T1�^Y
�MBA�I�yD8 0�tΦ<G8�h#��6L�høQ
`E	 �)�s@ú�b�m�"�x�
RT�:�"?�	jD��⪑ل+� ��6��;PÕ�uG%��f��x�Ѷ��"� ���o`�.$:ɛ�{R~
��;���oi�EL#S[�;>sT(
ڐCˁ�v��ŏ�r�TXa��"���%3b�3�%S�(V)�()h�� �*	��������1��C,�\Q 
1�X���
- 赁��v
D��
F���LI<���ǤH*VR︗G ��4��
��F5�\��m�����6��$�B%!��6,U.�����4>�*Z5Rk���5m��:�2�6�#�o	ş�Š�3�3��'H��^5���
-�t

b���A�Á�<!����f\*1l
q��	p����������6�f��vTve#
T6"[e#2j�F�ӴЫȨ�Z��Щ,���mXI�@6���
-o
�n���P��4?Vr
�+z�c-qN��hh��p����VW�Mi�M*�`ĉ43��)��
F���߾�w���рS�}Z+`�t�~���9&c6mL���i���
�uR�N�9��Y^1�2���s'�6�9���ww���׌�&�'Q����B0V`��\��g�:�8 !>��Tӻ�x�y��?a���ٟ=�A޵ڣ�w�N1#W%A~ �����M�1m
���N�2@ޝ�Yf{] ��k(� ��n7@����,c[ ��Vp��~��r�e����V
-Ai�1<*�xJ��7�l�#�(6q�޹>�dr��1e��Z�=���H�˶�1��䪄�I51�/wv���}�u?e�3!_Һ���nd
��0h^$�w�Awaw�rw�w�~P%����\jצ�i��|��,��w���.��
dmO
ԥ�
�yݯ�
`�9(ݫ�H�I��^ܾ�ӭ�M�@J_�o�v�
* P7��8�~K�\H�8�Iu�I�K�MA�U�
z��3*�(�>���;z�,���m�Z���l�ߗ�7�x��Vߙt?_� ���y���?,�OWH��>��
���U0[ɒ`��V�
OoE���y^�z2���;,�>��R�&}�<	�W�}y
fL��Ux6��p)˗�t�����Pּ,�U8{`"Y������"|x\���|z,�}f�gw7�
`�?M����b���0X
-�]7�GFx0���h8�9��
�}.�å�00~	W���J&�9��
Ͼ������
�ՂP���ϋ`�d?��\��*P
��d�������L�Ɍ���iaW�8Kd�8�V����ȅ��ҹl(��`1yE�6����.Ƅ%���
��TIc`3���z:��z�<_C���=�A^�XB�/�����R����i|L��B>B׌�TZ��"�
|�&s(z��I���p�%30��}`��z��%���.$�8h���_��)2w�}0Y�߂+��&</�맠�Հꁒ#
�ĦS
̂	��h��
��<
amL8���*\�|.��|�@�泯�x�
-�N�9Y5~4P8:M��$M�
�� �R"r��H
��!i=�R��xp�!]�X�9�}s8W0GBtF�x<,^�ש�2ʂ�h��{�
-���&�ᔱ�'�+|E�jBқ5#�^
�<x�߅�T���q�w�}
�
�SA�7���
-���qqX��V��ٷ���h�*?�ي�	�zGe���
���F5�`֛��,X���Ƴ��s0	e� u��)KО
ya)����l�k
-ˎS�T@���{^�7���
����/�圡I�k`\�3Č�N��Cw�W�t�z�����P��h:�b ���b�.�����V2��-�<�<H,��0���ظj2Y/���V�6�\]��Eg�����kW�����|�G�5�l��0��tM����Q B��F>�B=�O�\����T6���%DԸ����
���ӡh����u���ꎆ��Ϳ>�C߳F��GeD��)�y�]���%�<���s)�~-�B:��Т��������3z#�u�+�OQvR�”���#��9�B�q�u�e�C��#��ǥ�|�G�ັ����5��I/�f_U��ܼ��7��%�b�T7�czӵ˶��aA��!�׵�'[Z���p��-S�7�!�_f�_(���_�{,�� iendstream
-endobj
-278 0 obj <<
-/Type /Page
-/Contents 279 0 R
-/Resources 277 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 249 0 R
-/Annots [ 285 0 R ]
->> endobj
-285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-280 0 obj <<
-/D [278 0 R /XYZ 90 757.9346 null]
->> endobj
-281 0 obj <<
-/D [278 0 R /XYZ 90 660.1161 null]
->> endobj
-282 0 obj <<
-/D [278 0 R /XYZ 90 555.7516 null]
->> endobj
-283 0 obj <<
-/D [278 0 R /XYZ 90 336.8353 null]
->> endobj
-284 0 obj <<
-/D [278 0 R /XYZ 90 196.6054 null]
->> endobj
-277 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-288 0 obj <<
-/Length 2764      
-/Filter /FlateDecode
->>
-stream
-xڵ]��8�}~E�� 
��oo��i�fo:ӛd�Pl8�Q��������G��c;���
"��(��HJ#
~bY��
��q�Q���F@�<|
��m�������7��ȷ��b�8���la���
{|m{�������2Ψ����҄�4�y%�:nh1�c���t�,βy�/p�?�~���@�_�,ӉBot��e�(�G�+�vt'��_���Cj��=�
�ѳ{{�
��=G�q���~|��1{O����#A��M	~��ص��G��<�lc�8���gM����Ș��Y����w̅�F��a>�����4� 
¶��0#�JZ�
U�8N>M��0��H�3'�ulӊ@8W&��1�kY���h�:��"'�ŚڹLYQOx����>/��-,h���F�>3��X�Qo%��J�$��
��
-&8�0qY�y}"�Z�d�.��di�L�T���b,<�{��<1^�$%q�5�K�mұ��r^�H���*6c���F�5hg�<q��*�7�%Wu���
-HKF�rW�F�1J��NUslf%š�+�Ym�,#t��g'YB$�b���̷qMЮ�J���4�B
e�#�ŵ��k��*�C-��";�yZ�B�9���
%""�I�۶��9SyN�E�cZoi�
��e�)�
���B�g��h$�9]�AaX������;	�f`�h��>�S�S�{\��=JLIL�|�JYJ��(U��ZJ�Y?0}�
-B�� �����9�=v�p�n��=�ϛ����kZa@;�X��G�`Vh
v#\d++����fw—�� ��<�c�P��^������@n��g_�@�j4���N���خ��h���G^:
��W
s�,��R�!�y����e�c��>�_�S9��i�K��Z,Ϡ�i���6mm_{TʚO{��ߐ'ӥ5�Q)S�c��4��Z�<9$q���2]�m�t-{1>������|%����ר`6�ЋqJ*�5V�u at TT�G��c%"
�at]dY�
-�0�ꊊ��3�վ�9
D�ՄU�����d������1â���:.��r���
�d0J~�,;SY�V<��0�X��7Zq4;�X�[T���d��s�͹���7���/m���<ն8dL���������L�U��m;:
-��f[�
�~��}⠷/RUpt��������!�ڒ,�=������gZ"
F��:��Ey����ԪD
�Q��w1|	�n��WC�T�Ƿ,�)B�l7�w��2�����n
�x at iG�,�|C�P�0�`�Q%t5��������מ	�f6��&a�D�-�d4����[�4����2�(��ZM<��%BȟgɵP��B^{��oڶ�-j��
C�eDD��-*X���b$�F�Tl���
uU�@@@� ��_[�`����U�>��~55GǎԔMۊk�ԅJ�B�
}�B��P)a�v���Jv��L�"�=�Y��s�*�ׄ�Pi�˒�
v�g�g�x:�B_
�5�'U@(ZU�)d5��L�uO�gO��&�b��s�6�
֐����}�
��=m�}���fl�%�@�����a���l���iA����N
'��/o4k8�z��.�b��}�j��M��6
X�����#,0�S�7��lq?�Ϲ��c%���q1�}��0���#�p�����
)[�r`�y@�磪�|��4���"+�g��'��E��i2��
nt�U��LQ�DB��&ȴ��9f
�3�
-,���h�=7�֙�ڐ���WR�����ȎӅ]�&i��HC�8k��qݞr�N������3na[��_nn�ǣ��fQnn2�puӗ�
�0��'[Ϻ
�_�s�
�z��v†e`Z����$�t�Z��"�������ןV�7f�\���ˏ��?U�T�e��Ǹ����{]v��0�
-u�����
>����

�t���v�S]�p�-�uOQ�5����cj�4���U
������A��wy���r��8��պ`
<�@F����`
�
"�'�K���J�!�嵊/�874���
-��o�R8.8Fuc�3�0)v�ꇔ������bzǹ��a0Q5�4ǣ�Κ�'92�W�P@;
�|���Wp7�_S
-
e����E���/�%�#׊�W�z;}�¾�Wê
+6�NTY�k
���3N�N0
'�.hyh�
�"\X��
_QK��{�	��̅$]�Z/�^�e�.�H��Ӊc��|&�Z� ˩k�*ɉ
o��g< � TϢ��C�KJ;h��^�=�QS6{�ގN��5�@=O��R�5XɆ�AOu@S��iF�*��Օ;i-OT�*�JZz9B&�P���t�T%�
-���M�e|yC�(�w6D�/�*� ��5���7$�x���"?�a�H�

$v��9V�R��ɒ
-u�̿J�E�Ử��-l"�i�{��ą��&��xN���3�zl ���P�3�V�m0
I��YUq��r-a�G�h�.�S�������E�-&!�N%l�琟�C�y�u�1|�R|[���dt�����5?�]�[�sL+tFad��p�����׭	��9G�>׿[h9�e���v���ʆ�B�N����TY��^I�� h?�ӻ���Q}(�C3�h�ꛐaC����8Gb|GG����[d'�����H�,�1�1�qq�9���u�5�z�d��6�����G�_w����-Yxn�[�|�r�4/<H'
E�T��	׭ڙ�Z����2y�/ʹ��sY���)
0�
�n�.d�XȅJ*
��(���2����[�$��c��endstream
-endobj
-287 0 obj <<
-/Type /Page
-/Contents 288 0 R
-/Resources 286 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 298 0 R
-/Annots [ 295 0 R 296 0 R 297 0 R ]
->> endobj
-295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.9562 295.0628 472.9634 304.17]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.0867 86.911 321.4516 97.1923]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-289 0 obj <<
-/D [287 0 R /XYZ 90 757.9346 null]
->> endobj
-290 0 obj <<
-/D [287 0 R /XYZ 90 670.2684 null]
->> endobj
-291 0 obj <<
-/D [287 0 R /XYZ 90 557.9378 null]
->> endobj
-286 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F80 294 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-301 0 obj <<
-/Length 3289      
-/Filter /FlateDecode
->>
-stream
-xڥZK���ϯP��j��[�s�]����l2�\�	I�R�
���_�~��$�Im�h4�F?>@��\���Rw���N��,;ܹ�
����dx�1û׻��8��N���uKbω|ϟ��?/��ʏ��w��ƓYz�Bk�}[g�AW�j��b��"�U��D
�_����݇�^	�1
-bU����_�Y�~�:A�D�t\�KSv�
��vʻ����rx�&Lm5򂉽F��^��q�(����AmXIv�¶u��*���۔E��~���k�0U�L:js(�]TYm��#U;�;םFS�:Xζ��GS�V�3��Ɓn,��hV����4�<� ���z��b&*�6���
(��\�����
(~�r����̓�US�ڈ�����h�t��[�mWr�Aj��V�W6 �7������V��bD��-���T�{l%�
I#��8�K��B���i�Z
�-"i�
U	���H�A �ed�D�(uӐE�h
��S�UTM�U�#�vr��sdgҞ�Ż�e�/�뛦%��-J�Xz�0(�*�|?v�h���d�A�p���יm�0�M?c5�‰b=
-�[ɨ��m��<<�N'gWuNmv�}Q�M}ܟN��
-BdU�o嵺�
��
�+u�C�rݪx߷�PE����YW�ge�f����K��%.��s�1Ek�ϥ�AĘ���9�=�>�K/Z����Æ\
��nri9���gQ8A�csݘ�2����`P4%+�
����x6�n��-~q#�=��q�r��?��[y���
��_�m{RFzOuW�d�{&<W��G�
Q������dT��ke�S��4@Ͳ�����Mۋ��(ʸ��+��^(?�<N���wm�u%�b
�sX�s�b��ofᖪd(/����	 n�=�
-��B&`�{�fi��7��m:9�l��
eTR��T�J�W��I��_�d��K��j ~�LJ�O�>~�vb���á`�!��
-\#
�~%���(	���C�!֘���eTYbթ�^85����
-�6�lx�mWe�Z��Q

6 �sa
-�ޖܛo�Q�Si]�wc���hdФ��'����%k�PU�tF8�ҷq,�u!Soq|�A��B�L��Ah��,D�s1��-}wA·���(%7�E
- �)q��b{�2�NDH�b�5b��A�� �BU�r0R��Š��4Z�h@�2E��$�
�
{��������]��L��M���cì#�J�Í�
�k�
��;dZ��t�LZ�e�,ᢅͮ
�a��( ���)氱�b¨GN:�`oG$m�~�=V�L1���A�R{6g�R 4C:��p��Ax&�\B0�`�����	��@�[W+����^��5�3�A+Bd1
A* �&ŏ�?u���iM�\��'_�&�]#r������ÄY63�GQ�9
�)$
�:�P#�*L��sˣീ�p��b��~��;�!��.)�ck$d*D�b��Iy�
����r���|�]�b�
+y�ѓ���eBI5H��^aj�g��A>�8���!vȈ�
!����<-IElp�n��r2�+6
�ot�z�ӜS6� E6lu��'�F���8�3���/HHn 
�9���
%%Nd
�d�I��)Ƒ�ނ���`�$��2�v�O
��T�����������+*��� ���������Y$SH7"
�FD�~,`��ey����#'*�!��R��K�B�
�0�.����ȝ��e�A����R��B
�b3~�]%d%�.�v
��7�
�d���U�%���o+�͊���q��S
v��=�1��/�M�
�	+��-T�*�o��1(��k
�|���������ןX���o�����������>���ב X��C��]������
�_<@LJ_9� �� J9�܈�j�
��K
�@QmUQ��y��A?&
K��IC{#�0�&N��e�� ���%�u�s4J�P�\�66X/ X΃pױش�@�� ��M�,���Q�
�������j�hX�Y�o('� X�Sp������������Hx�j�!��p�yg���O$� �I�!` Z�pY�5�/��>�@��{4��-�G Aa���z}n�H�������Y�5b�� L�Q�P
fm��z
�r
��[=�H�� M" ?�g
�n�|�����Q�D�
\��bh}o�=��bڨ<7�Δ�f4���u7G��⧥�Zv‘e��r�m
��>��b�߳���+�nn(� 
�$ߛ[�x��y��(3T"��ߺ�`LM�R�l7ã�u�Ƚ�S�s
-�����	
��l�O��Oy�/sɴ[
�+�����1ԾQ��!IK�/"wZ��gu��cmFk��=���k:q!�%���/k���pW
)���em!�4��!�#

Teo�d�jש�5�
��/^�����Mem�=��1�D�� 6�B9
��`/�8
��
��Q���r����(�p
�ٙ���kFs
^��de���1��C�
��3�Y
"���;p�U�/�L��
���:�p�����n���F������_� f�1<�dF
�&
	��j[��U��d+[��W?*9��
�X*Ծ/�R
���5=�P&(�kLp�%Ælآ��|��0�������w��
Q~
߬�#�p9B�#���2-SƏO<@n�:��)
|�+��N�>��>J��J`
), �Ua�O���E
�����3\��N��{���F���(B9
|���)2�)ޅ��*�s��S���
��x-�����%�X�e^��;H9\�{[ �Ӓ�_Pc���@���c]��� ��!�^\HƩ�0����\���2t����帛9w� �ɴi����w��
��5�mі���ėw�+]�}��$�}vB�v�QO�V8�����!�~d�M4�l?�	� ��hi��Q�A�F�
��*��y�gY<
���T%K�cN=���A�� ��=i�^�P�QnaR����@
-;|��B��������Np���
)\�k-f�Q&�����k������|�'�_^��!�?��ܚ8v��N�;�_P
�1^ķ?x��
�׋�e�
Fzk�`��	�d�J
Q�6��b�q�gQ�D�)S��p���(�����|"N���z�_
c']I��+1$f��
�C���n]��:7�>��/��y/4�X�{� qr�̄�c�M_��I�/�Ƃ(%s�Ұ%+��^j}m� 
/J�KC��o����h��Eq�ʍܫ_���uUq4N�>
��õ^a�v� �Ox�3��rqBa�8�:�P����g �
��Oÿ,���Β�endstream
-endobj
-300 0 obj <<
-/Type /Page
-/Contents 301 0 R
-/Resources 299 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 298 0 R
-/Annots [ 303 0 R 305 0 R ]
->> endobj
-303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.5616 684.0467 508.5005 694.9507]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
->> endobj
-305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-302 0 obj <<
-/D [300 0 R /XYZ 90 757.9346 null]
->> endobj
-14 0 obj <<
-/D [300 0 R /XYZ 90 669.3519 null]
->> endobj
-304 0 obj <<
-/D [300 0 R /XYZ 90 637.4234 null]
->> endobj
-191 0 obj <<
-/D [300 0 R /XYZ 90 637.4234 null]
->> endobj
-299 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-308 0 obj <<
-/Length 3774      
-/Filter /FlateDecode
->>
-stream
-xڥZYs�6~��p�e�*[�C$ży�Lvf��8��M��� �e�Tx�ѿ߯�͙MՖ�L��h4��!��şw���q/�`]f�
���w��`�f�������(�L�I�G��;�y�������N���C�y��gi����1Fz���;��Mۼ*�!�L��x�������p��gBy
��#~���?����p�.�d
^>��.�$�/+?������O=
�	s[
�`f��?٫,�(
x��{�
x�s��Zx���3��������6WKk����M�R:;�[i
ӦIL#�j'�V�ho��rE޴f{�N9��~[We{�8ӕt�e�=N��6p at 7��L�Г}�	`U:��;#��jq�H,S�IO��SV�t8W��&m�Vz]��}�<��2��&ܵs+������}Y���dhc��+2͌BTU��P>O
���m��O˭6�3s�
�p@��46�)���.{^�e�m0��$�su��2�i�
!%eK���:�� �|�@��|0�.�B�l���6�6�:�'��`��Ύ�i@���pX�A!��.�3'f��d�o��g�\D�HED
�.��4_xN!��H[�w��S�:-�s�6E��}Ş��(��6]��v�Ԁ�a�?�&/dBO};-�o�4ط�������4'SOy��?��:�H�i�l�b^ ��
]a
�� ���p�DQ|�\�
�?Y�=-	�V�Ǻz�Ӄҳk���m��'
Ĉ`S
��.��P�ߘ���?&(x����u�E;E��L�(�?�.@�I.��5.�`�V0!��Հ�D��vm
>#�B�T��H*-D+��(�MֹiOgE�첍 �uH��;5�l0������E0��vD&m��Y���R�D�~�#����E�A����E[4����~쎤�+W���C��d��g0�ܳ�tcL)��3l7��#��^թҲ�'o�����o:��{���
��Ġ��xF�C6M��\�pbҘ�y����*
�B!c��P��N;Q]���xte���@ikmZ�9Lٌ
���+�U���k���XP:
-�쭫avC�.3Nd���Ea��]�xLq�W�>�͟��XpT��q�����H5\������h��X^fEǒ�c!1ෟ_�/M���P����]e)����pHS������_ȇ
J��h������
���t�K���G\Sq��g����_s��Y$I���&�JZ��ιӜ.ו$����4?\K�1��Ώ��Y���s��� ���J�k�E<�w2*;�,��
-��PX(1�=S 
X���ƶof���������w�>���/��JC�0�����R@"��EmB�#�w$��֧T�)
$���N$�1Y��Nlf#U�.1	��$�ɺ�1��0���A$p-R,bE3�*B+�,�i�g{iJ����\���J]�oB^�*E��4�$̈�FV�
�\d�b_���@�6���q�%�$�g2��
FD& ��.�37�"�
�`c��r�H�Z�K��k%�@���U)
-�
��Y;w/�
����B�wdc �W����Z����S| 5SgSU���Z��@��z��mL��
v,�F�M'"@�(*���t���[+�Ҙ�Tx�P�_�ξ*(����>ل>�¦ ~�*�k���&��k�&m��?�5�v^3?k_�2
�&��	�ڳt�� Ф���qW�[��9*��9�A�	��dF.��D�{o�;�o��eh䟓���b 䓍]�	N:�s� �X8��YS�+�Q�
-p)g��f�����m%�S��h���Μ��������S��}i���*'"��%ke(�~��Az�j{�����iU`3Zb՘�m8�7%����_�@z!+>ez��"(����[0#hK2�+Qh�[j��E��@��\עsAD͆]�
�s�
?M���Yd/�@|�ވ�`���
I�Z�D-MT�׈�e��S ��Dw��R���a0�� T����n~St���(i�~m��]��8�&6��
@6F��ې��/�d=��m�X
-
n���e5W�~��)���$)[�
qƤqh���y���t���6
-b��k�+���
�4jk h�TN���u�J�
��+;�V� {
�y�m��N�@jw�P�eгu������Ƭ�9��
E��F(n)��H��ep���WVem�5t�P%����
#w�T�}���(�J��9s����kdv��}NV�
-f�Vyz�
�F m�CYS���5�&gv'�Y�
fA���\_�
V�n�ҫا
3�L�O��h�49RO�����踞��r�SĹ���d�z��uW�sb!f��TF�Qjq2
���E�|Aඑ���/IK�!�l����&���u�LX

5)��m�M +�
�r랟
��Hzf64qͣ$����@˅Iv�kvdTv�
�M|i݌s���%hp7y"��3_������E at Y9����Ϋᄐ��NȜ�>L����#_Mfc��
-��
-Df�sD�q}m���>+��)4ϵw	�м;���|�����U�N�K@����Uy6�f}���p�<_GVI�q-F�8K
��8p�qMuWA[�(�\���l�(��3

��$w�زv<�T��@Ne���`���l�T
��
��h����T8����T4���[Ќ����|�ιT.��Rq�bw�(4�Բ�!�\����Z�	�fnmxrY�M��'���$����O/�Rf�/a	
-�4i�I؟h��ja�2�+	��QS]JG�!�3oMi,j��Z�
�'�1`��љ���W�>�HD�����L�
-g�Hb%<9;e)f����D��
[R	�j
% ,+[���T����B�����֙�ȩ
�E�O�
-5e�=��Hv��}����
�ySl$;�Z�Me�j�N,�
-he㓼�	P���b$o�dza��XK��u��ᘍF���(v��Q�=�M��N�8jy
+�ͱ�C����(d��:
-�x��O������"��O���|�a��a���@4��f�
[w�N�hSR`
�c8
&��Ri��b��A�
-5��3��
H�Q�k�;KVgYs:�FDFE�c��%������j���b[V����|18��x_b`T�@o��'�_ȱ�	�&J�ⷢjz>�i��]K���Ol�8�!��+1���&���
�f�6��F.H�}�����-93�����KO���M���``G�ug�xνx���3;��?t�2|)_}�^9̕���!��nBX���A���i�\&���0%{�
�\�\

��ﴧ�a%Q��8.��Jd�i��a�7��7&�QT��p��QaT��5p~����c��K%�F�
���
�� g��
�
�F
�G�������z���kc�
��u���ae�6PuGeHBe9X�6v��m��W�i�{%	�aPи�Qa�<�=ȝě�V���Fs�\�1,*�jTIo�yZyD�xV�8�k�V��=�Q^��Ѡ�J>�S���\Z�
F��_��L��l�}Fƛ�`����d�^�H���B�E	U�Z񛓟���2
�ٟu��^F��/��gp�z{�7�eX�L�`��
�L
�p-����!�]U���~�9�֧&xy�iIN�=�d��L;S�ϸ�qy�cZv
N�M���PAaK.9U�&>3=BX��&��A���m�}8�~��h��60
��3������/����Y����X/����S�V�x���o\�M�􌗳Z���u���ҿ�h���'���5f�~!8���"�endstream
-endobj
-307 0 obj <<
-/Type /Page
-/Contents 308 0 R
-/Resources 306 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 298 0 R
-/Annots [ 310 0 R ]
->> endobj
-310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-309 0 obj <<
-/D [307 0 R /XYZ 90 757.9346 null]
->> endobj
-306 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-313 0 obj <<
-/Length 3547      
-/Filter /FlateDecode
->>
-stream
-xڥ�r�6��_���JUcA�RޒI&q��g���<�"dqC�����})J���q�p4�@�ݠ�
៺݄�Y�
����Mx����(����;�뇛����vl�(�}���
-�HE���+����p��/�q�}�V���}�nO�
�P�
�TmM��|�d����?�|��!gLt���n~�3�-�?܄�����3t�@m6���&����7o����	Z�t�D酻&�쮑�4�t��
�:ڬ���Fg>��Δ��W�Y�d�ߡ��]�q�T�@��a���x(_��6�-7�^G᪭O��iO����?�0xaM�����e�&�70���=1d�oOu���i�

��z٩m����~0�I¢G� ��
-6I����A�/�Ѣ�_{4hv��ۦ���&�Ǭ �p�v85��t�C�
�4�h��9��
���=�ה�)@�d�X<�>p�Ȃ4�c�N
�$�i
��G���G�{�[E��Yr���
EG�R��Ȏt<�������h��y���l�AiL�!�\�ީ�^֋ M�ZX5��T"MB�*�'&��j��s�(��'
֠w]��G=",�k�UH,�-�O��g@��L����d���RD:\Ѓ�
T��/O]�uA���i��������k�� m�Φ��݊�A�]�
����6�K �dӡ$⨷�ݩgf�0�Ɩ�{�x:�vk��7A�ñ�]G���ۢ\b��3Oe�; SS]Ƀӛ T��{������ ,6<p�U�r��
�'��ša��w�1SȢ,��-�ٮ*� %3f˘$b|�nixD45Y��0�Ƀv{Dּ��ID�iQ�
��^�1��c��(��cO;��[�����Ȇ�eF�X��B�dN�q���V�N���	~���)pp'�� �=�V����´�� �\�5�w�P0N��$[��U��0�H2Ko�w�jD�Z���)y����g�St�*v��ܚa\�
��� 
@cnA	 [...]
�^����N��%�G�VB��VM;��E�;���
���[r���ℛ��N�]|���`�ِD�G�#��ȧ:Af7�$?�xOB�jSr�����B��>ޑ� >[ց#ܚ�2�T�L�r�։$"N�{:��/Бh�w�
�=
O���@w,�h�@:�������Zo������|䥓�q&�^+��x�8[
�g�
�=��S�u`�Lab2�8�s[Vg�
a�_��/	t�X�<xR ç�$f��T��%�~�E�7�F�S�E�{�9�Hs���T'Vĵ5�h

Z
c�1�.�gׅ{�~�l�ސ��MH�%)�
G��s�Ph�tM��f��5�Mji
-��%˜�/�Ly^7ʔ��0Q�9�^gΊF����A�y����
�.8?�t��֌�*�}l����Tg=�5�X5���76*g{3Sb��C���z��@ 5]5�&w���/��8��U�����8�U����q$�Q��q�VE�4^����N
�Rq�	�t���`��(ȢM�#�oHE
�D9
ڀ7�X�j�~@&Oң��
�P 
���I��^�xV;�����
Y=�B��le���b�Ş#���D�gCɽ���0�exۖ�(��B�PW�VÌ�#z���K�� �E���ݓ�6�l�,-wy��gy�%��B���a��^xT,�;����2rdAj��%ގ��f�A���j\�iY�@���e�)�pb�Pq�����A�UkS*ÒO���n렁�
7;��~� F�h�C�#H���Q"����\�p
���_��i�
�
��~}A�#
oD���4�)wÿ�Ӫ��Cת8�PƬ�a!1~�є�}-	<�J�Z@��Tğ6��p�z�� �)��0sg�˾:���S`�̹|G�f�ߐ�q��cmfN &|'�j���ٓ�
-��� J1��t��b� u#
͡��n�Ƣƶ:R
��
Bk6�$�/
�lp16���b`]ύc��`��X,
-H��˕	h�Hw�I��k
L��h;h+
�T͵
7R�Þ
Ͱ�e)�������*��5.��)�NA�u�/*�pEY
ث�z㨬gx��u���eU$����T
-����,g
Y��,�3�����7��ž�V���A������N�^g�t
�fH/0�C�
F׋�A�%�� ��t~�Z���d6���R|����>���p�<�.���F`
�:��a�H<�{��>�o/XŖ�_����
-G����0�����֜�
DC�����G�N(�
���O,!�,;���@�*��/��,��������
�~�x�S�ȴ0���r�_
(څ��p0%2��,w�����,?�*�	Ui*��`�^	
o 1!'��ζ@��c��s�g8��7ť��*f43�Q8�:`>.U\�@�8q�4G%�(�K�$�Z�� ����A����<	�
��%����bo��TZ�W���Q&�H�E�G�ݢ0� �p�Dc�&5f�6��(U�g>�h,d�Nd�	���q�$���cY^�ij�\�q,��g��=л��o��p�q�7c��3�FdVn9{��K���Z
�x[�E$.�arYF<�kBb�^��k=1�� '>��/�EtM�֬p
I+(�)�մ��S�ErFp�,�
�� ��i�^'�5�
9�x/���{�D�M��0_T;
璂B�3t���m��P��R����,Z؅�h��X@�4EY����JKd��}|]���(��
-��q�G:&7Z�� �
�_����6�e1���Q5��a�"�����Yt�������Y9��$��w��~�ڴ?XߥX��TQ�4,GE�R��Y�

aʱPV
-��dZ�c��
�r8�u 
�b_��a	�|��q�4^H7��f��S�ɳXfm|�"0M��ΨK+�"YĆ����WT�(���QFK9J!;�(�Hi�mW=J��N�}9X��,�R6y�].��
-�7Ͳ'PI��˦��b�
ث��*��t��]6]�?\��Bh��WfKhИ~���>����Mˎᦅ_��kj��x�O>
�$����7���d�Jc��A0�R�ٻMd�����$�Rg׶ή'����J��@[W�f�,��	�[�rawN
��
���Ā�D|T~Z��a�> ~�Dd8�|�X�d�`
���޲z�G&
�:9�����
Q�Q3{�lb�Bqrke7����7 >��r~�&d�����D*����
�������k㰵��,�� l���=ɾhge��u�|J�>% �h�|��G��8�q�
�{�fu�P�/
w��/X�Y��&H��`)T���ק�d,S0Fj3I��`��\>-��@r<�{�K�����_��]a��Ǯ�$*}'cE�tr��{��ݎ��~G��7?-��h�g�Xz>#5\)�G%|��h̜�ZǁJ��Nɳ��֏#=܂;o[�̣�پH��0
�|����9������]P
o�����\q�
-�k
�s at gg�p(�� �6����D�0�.swR�3I�O�N�?l���endstream
-endobj
-312 0 obj <<
-/Type /Page
-/Contents 313 0 R
-/Resources 311 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 298 0 R
-/Annots [ 315 0 R ]
->> endobj
-315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-314 0 obj <<
-/D [312 0 R /XYZ 90 757.9346 null]
->> endobj
-311 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-318 0 obj <<
-/Length 3422      
-/Filter /FlateDecode
->>
-stream
-xڥْ����/���5:�+y�α��96�=I�v����2��ѱ
�� Eɲ;�T?�A@\j����ʼU%n�x�=�x�' �x���=���?<޼zG���� ^=���w��V���N��"�����k�~���4��PԽ�˦&Їr[�
��^9~���񧛷��	�1
-cY�~��o�*^���0K��3L<�ϲ`u�A�'����_

ZP������p�v^�E�^
	#�(�d�{�+�T�
J�k����`W�+��ى��܉|_����sv��9��eq
-���ڏ��ه�#k��p�8]�e��ۺ/���i����ou�"�`O곻%LM��M��[����a��K[tE�;
R�~_��4�G��ج37wx!
�����,���d�쥡s�
�
-��i���`�
�ʪ�/�������}S3�b�
-���CD8ۦ��r�<g�X`U.HN��;��+��G>J� O%R�
��Sۢ�݅����Ŀh�6��6h/���G�>;w٤'�~�`�)x6驕�qJ
-Ɓ�
��k�A��-e�#8s
�,:BB�Nvi��
N�jY� ��V���lyX �ꙍz��M0��;ט����"
�ɂ���)Z6m'dy0(�l!x����!\��P7
�ʜ��lyE��M��Ϸ؝[� ��ⲱ���l��^6�+�Y�6;�Y�~\�3�����Uѣp��,ϙY���s���m�7m�
��{��0(�d
��4X��e���\�V>.�Xa ����W�
 ����g����������N?sEp�w�����X/���q�:g�^P�u�
n#���٠63ڢ����`�Ы.���~"�QNz&����lj�G<��e���r�ܔ����s���i5�

�1;�%�Gi�Q�]T��pE��E�_=q��ٹ�Ƛ����� X
�]�G
���St�-��!o�n[�� ���v��q�BZ�S�˜$���8���z�0O&O�0�aw4�����Z�*����C�;�p�i�W
�E
i�&��eO�J��݉1L��sٞ̔�.''(e��T�'����+��*�r,)�D����
Ub;�Q✚A9�
� VZ5G
�"H���=S��(&F��!`gN�Rcr)r�
����>���-`���n�n�/;�
-5�i�C���ɨ�Y�AUv=-Q
��� ��b3��֢c"����5dQ����(9�)�&�s
����O��б��j �e����5��^O'k�A��p�f	���Հ~F�L�m0�����j�����5Z��/�tG3ƞ\<L8��IaQ%����Lu��l݄��=|�lN��

0/+��g��H!8
-�ñ*�RPcC��� C1������ʗ�^j���x�\�
-
��+����n�����%{��UΔS�����Z��5\�.�m�d7�<��Ė�X���Z��n��J63(����/ٖضDȶI��:�TL��Ñ�*^�
���õ�5�o��uL���+mI����u�vU�G\:�{-�Bf)8c	B�9!��`����� �9O�9O����Z`PԹ-#k���4�gG��#:��o�	M�̧�+���\W'>�.Τ�8X��eexф+��.`@�q���E�-� [���I��Lv�K_��k�B�o��iϸ��<�
���
�|��ήK}� ����LL#�JWp�^����U[��D�1OQK��_�2wǙr`����X�
��i�aK�
xĊOg�!�Q��O���i��GZ����$%J�nL�yK-*�� H%5�T
-��E	f�{Y�������J),Qa�pPC��U��&�v���j��f��X�m1s�M�^�G�,P�9B
-Pr�>��:�R�`n���`Ȱ�Wn�;�YM��Y�̏
-3���S�Ȱ����V͡r@��k2��L%l�K�<��8P
����?�����br��9t��Dy���rw�q���-uaa঱���J?]+!��>+#��B;�d�0?� �
-��f"N
_����O�?������_>�����Pg]����}�æTn����ۊ3/�u&	ÜQ:�i�����
,u��X����Ň r����A���)wQf*T*��3p���rf��
;���x�����<C
u����DD3C�$R�9
�p��Q����rՇ����%�9��5m
@�ЖO�FE`�.�'���
�� �����"v �R:��^�KΑ|��������Mp�����g_�P.�闖�������bSq�o����{
--_�D�
�Ⱦ��B���]�'���#�<1xG��x`d=�T�b v��<VL���V5`�T��Z��2�LP��	
�r�=c
C��2�y�O�bls
�l�1�	��>��F=��ْEز( �ݷL�K��cpT���
W��

�v�c�J%�6pz����8|���Cr���+3Kl�W����6\��B�r
��C
-2��g�J&	E)�
�$��%Ic&�?�o�E{Bi��3I,l
-�3d]3vJ^�_�j�Yj�U�'KB
��W쒸�>Z�7M����!�]?�_
��}C����� +�_��^�s�.|�Y�����{�u�I;ШX�^/�u�(�|jj�l�[m-�����a4�閦���6�I��Q�p���=���o1��-,n0;عcAsC��1��¾���V�H�����*z���l�w�� ,�0�|��D�J�&��\޲�U�v�ͽ}9��M*����׏�?z J���Ie8O*�K��v�	U�	Ɔ�2�U�S��';���V���@<�Af砉�sP���
-�b
����~��
N��:����4r\Tm����No(;�a������� �u\�H�#I?:����.�N��N��i��rប��'�0�,ͨ$8;K�3�g:	��	WU�������i�`q��?�V2�ȄH�4�D|o�y�
r�I�/�\Dѐ
��6�G�Geu�!E<� ^j�XBHnzps����
�Ԉ	��p�O�8\�&YЛ�TA����H�1���횒O�Z$5hBc��գ�
���~�m�6���&.}=cډ����$!�^�W�X�W-&r�����(��>����g#hdx��s�G�\�K)w�*�����
ouR�ͬ���e��8�
}�ŏ��E�⿿y�\�8�������'r?��O@�fI��
j&�����*���i�Ӿ�[��EpӪO�8y�0Y?
��K���;���~}��o^���� ��a��*�	W��q�(�"
C��QNI��Vz��(����A_�K*gtQ6��?��ի��gw۹��
[��_
�ի9_B$���(�� ��2ѐ��&لӒ:4���S'����.q�7u#}endstream
-endobj
-317 0 obj <<
-/Type /Page
-/Contents 318 0 R
-/Resources 316 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 298 0 R
-/Annots [ 320 0 R ]
->> endobj
-320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-319 0 obj <<
-/D [317 0 R /XYZ 90 757.9346 null]
->> endobj
-316 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-323 0 obj <<
-/Length 3338      
-/Filter /FlateDecode
->>
-stream
-xڥZYs�F~ׯ`�%d��>�O�M��!{%:�T��Y� �V�﷯ �MՖ�ę�������tf6�9�ĞEAd%�βÅ=����#�W0~eN�auq}��JB7����C�X�븳������r{���37n���{��t��6mUU2�g��e���s'\����b��
/t���.~�Ӟm��/l�K�`�
�r�ĝ
.|�ӝ������><@
��8�?���Yvxt��Z\y�=�Y��������E�Ww��n_�V�uw�n�i	��W2���~z��^��q݉�����X��:
U�%���j��>熖.������a�&��>��?؇�N0�e“j��5�Y3�ɏi��rDZn���M~����7rxc�{�=��k�/JWs�$X[\ų=�M��O�8���+���p�Vu�ˇ[lT��j�+O,+�
�:
��{Es�01K�"�Ȗ2�2���
��[���K�+9��M��#^�V�}ˤ:oNE����U�uu �ľ�W�^F�1�,��g��U�Y� [...]
`[-�tA�nͭ�D��Av ��C�v���ޕ
؞U�V)93���K�1$��C�qL���c�)�z8��
�i��������k(t��9�p�9(
\�A��&s%�&yc�䍓%L2uį#�	�5�A�Tr0� 
��	�2�
�6\��(��C �Grp�p)U*��6тP�.
`s�$kf�"�x����x�Aֽ��e��T�
�A�Q'
T:���
:�va	H؛�f�!
7�x]��!{&7� =굛
�s5�ЈK�y_1b`��;�dE����cbg��1�`36G �Y(�z��x�P�2ʹ,w�j���|4&�B���[
��݋Dž�+�h�f�a�7�9�qӋ�  �w'<e�^�7K�

6H�	
�q�>�y��

�k
��G��-� h�HH4���Y�
!�j&����2��"�h��A�"@5����@RE�cZ�GfU����C�f��ީ"��ڎE
vbzm[�;P� �ZJ��zy�}-+<�	h;�~s�7����
�h;,M#��
-��gM�N5��8���g��ő�\��'p�ymbjΘ�A�����nN�[/����0�h!

-x ���4����ߌ��*"���hD�|���
�?B���ӌ
q��+�Pt$Z�)\���pޜ�E�-#y,X|�ag�*
j=ƽY~lyZژt�Ѧ!9Fg�([>�}
"p�h���8�юֳC��᬴m�ñe:e(v0���$CYxp�^����(<� �`/
-$3���<�F�b�tR��;���:�Ո�y�}��sz� �<��He��|Shb
-!�~`S���S{ /��Ǵn9_
	�rc�"�ښ�:�r#m��<N�d���
->̭d�|�H`�\]n���d�/F	d�����+�F�P��7<Ja�EE��9�9QRc�P�
~)?�J��=i��E�@N�Ol߱��o?�>?,y���w�`����x+>�ÝP~�{��\�o�"c7{[S��	�ն�RW-p
EX����ؑ���qRKR�'�:\,��>(�n��
t8z��
\Q
05�&à~��
p��A�O[i
-���=��
�9�	넘FL°��ֲa��������V˺5�B''Eԁ
�u��Y�.B�-2��G'm����+�h����U���"��E~Ѕ�Z�%�d�h��1���y��V��
r
�Y��<�u�[?���nŕ���푡��;�M�m{�������ڕ'��w��L��|�^�y��Ȳ}?�6*�w������n�C'�E�&��.��u�
��x �5�����i����|;�v��tX��@~J89⒟�ɍ(�K����ܜPL�h�����<�u>O;�!;��'0�5�/+٦˄��[G*c�K��uE
�Z	B����9�yX
-|O���o�sTE��P
k�%]�h��`!���Xr%�&m�rM
�oxh�	�	�kQ:>I:Z:S
�!�&�1Ǚ��xl��e�K1;��uH񠻩�m����g
e���8hl
��
��$�$�t���&H��b���#���y��y�	MK��
_�0l̼?�4ĐJ,�g��bTi:��X1����h�!Z�Љ�*�r~��h�n+�w�P�}@�v�=ǂ���c�q��
-��c�X��ũ/��f�}-◅��/@�������'��[����(c0=�w���u��3!
�.!P�}��7}F�it����6/�l�C��:�O=�O95`ē���\'���ԾP��%�s�;�R�.��\���+M��O_�޶�[�Oc��.�~
)����8�9�o���� g�RϽ2&��
�#�>>�㺖�I�%^�-Dj�Vh���X�
��-o
t����t�˲�O� C�7�� ]J�8?wX4Cs��2~"Fx�M��(#�>��ے��ҽޱ{�	.$
���Dl�
��b��[# ���!a�W�a��X��i)�Kd��7s�Ᏸ�~
1��EN�|7�;w��T�K�]�Mni7)ܾκ����z[}�̮�[=��ޜ�C�}��<�RK4����3&S{�/��7Z��������oV ��7	8mp�N����Y�9alEN�p5��ȋ��*��>�Â�Ĵ>�ҭ�gP�:��}]����
--�I���߲�q�[�=��>7y�����/i�����
-�p%�����|�	o(�W��n���B��^*g��r���N�:֖j�[��~d9
<�+|�M:�e�B�[q�
X��pz�t�P��=f�Mv�gK��[�Zendstream
-endobj
-322 0 obj <<
-/Type /Page
-/Contents 323 0 R
-/Resources 321 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 298 0 R
-/Annots [ 325 0 R 327 0 R ]
->> endobj
-325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.6759 310.2344 428.0408 321.1383]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
->> endobj
-327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-324 0 obj <<
-/D [322 0 R /XYZ 90 757.9346 null]
->> endobj
-326 0 obj <<
-/D [322 0 R /XYZ 90 195.5547 null]
->> endobj
-321 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-330 0 obj <<
-/Length 2092      
-/Filter /FlateDecode
->>
-stream
-x��ZIs���W����Bp�1�,N�ԼXy�$�)�b�D*$5���Ӎ�"E���kjRs0�F/>t�0��?���
eHb�^����
��`vz��wˋ�w��b<�k�!`Drƽ�귙?_pIg?��V��u�R��X���L*B��,
q���1h��"`h�ϋ����
-���G�{�%,�����p�����=fB/
-K21W�EW�c\�s��(�B>Rh�߼����"�t��Tʴ�/��N�uRgEn�n�T�zC0��w�� [�x�C�0֊��s����
>�$sNg��L����>�p9K�,�k3|�R4\}]��_E^/�
-\hV�Fn9)�������H��.I?M��J��&�2�u��cVo!�䍙�f���lb��R��C�z�Uߞ�!���(��(A�C{[�m�m���������g�2v
ʦw����n���Ҵ��^�b��˛��ߘNW���
v�ݖ}F��r��h��U�7��[7�^��l�����c'��N
�v�� ;q��.Cw���:���F�Ya�b���b��i���r{�p�X
�8�V���h��L� /��9���P3�֪D�񶲤��!�
�mʫ����"������p�,Mkes����$ӠA/�^i�g�֌���~��	�	
f�e�P&;�h����
��+`�VF�T[�T�؅ *5`��Ad�x��I�l�
-
��;@�/̈́��M��ʌj?al��'�T�� ����mM�D�C�M7f<��
-3
�l�#�U������p��MG��1�ثr{6����f��L
�l\��m�lOE�('
�h1�2n�"��h�:�Z�Gv-a������%h<6[�A��uK����f�e����i��^�}���/)�4�&0t*$
,�
paBFޢ���`�B���0�+��M�?
��;8�k�B'�J�/��]�*��/틀���W�_��}&F�Z�,"P��N�1
�W��#B�(��Ӊ��7�}��OǬ�����2���� �6S���r�<�G}��
��c���L@�M�l����Ar�ZV
�W�~�<�,�G#�9�TO��1
��m�K�("H%���C�ߖ�b6% rn�@l�8
�q��z�)Άp���@�!�) �X����c�ioJ�0�-��8�S_�Ƒ��1=�p�ժ���f
�]ҖϫmRU/�������7XDGj0?���k4���)����D]
�����.�Sq�띾p���y|<ݗ���|��������l)�~@�����6X:��������:)�m���]j�;�<��F|W'���<x�36ɢ��"�I�����TRx��3}H�{�>�͓�x1w�)m{n@{��u8㘍��ӪY8t�ƀ���E��>�/!
-
�8��
�ؑ*�CyPy��n��Z����T�w���.�!��C�"��F{!4R��C�,��vB �Ɔ@>��a����c(��
Nu�
�`��dH"�����
�Y�ß���w������f���c�_�>H��t�}�����\S�������&�႒@�qי�?_� ^J�n0gpg<��^
K�!����U����S��Fl�>CEP(���������"��s�u���9�*
�ϡ�h$}��*�w�Q�
-U�
	��/ �X�*pML�
��: �%K�m��x�Ԅo<�$�c���Ap���
���%�
q$�N��aK
�Ÿp��<W4κ��J ���l-#�����7J���$���
,u�
�S��@��R�p�/�B�q�9���R�	�
����׫���g
ǯA(�~ �~ptR�y�5�)<�Z�_sZh�|�
^O�sh���
����Ӫ9
qd
5�
��*�(�d�
^��]�'� ��&H��.
-�s������B�8��w����))w����b��Q�2q���~��
`1C�V���\ʙݲ����l���s��wY��(?
����)��P�\
H3��s��x4
��S���^�fS��o//IZ�C��K�՗p�.O��' � t�:e�����!ߏH)���ڝ�]�|N�apw��y��O����endstream
-endobj
-329 0 obj <<
-/Type /Page
-/Contents 330 0 R
-/Resources 328 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 352 0 R
-/Annots [ 332 0 R 333 0 R 334 0 R 335 0 R 336 0 R 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 ]
->> endobj
-332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 448.8908 513.9963 457.867]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 426.973 513.9963 435.9492]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.2) >>
->> endobj
-334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 405.0552 513.9963 414.0314]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.3) >>
->> endobj
-335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 383.2569 513.9963 392.1136]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.4) >>
->> endobj
-336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 361.3391 513.9963 370.1958]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.5) >>
->> endobj
-337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 243.8624 188.1873 254.7415]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 245.8847 513.9963 254.7415]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 221.9445 293.8801 232.8237]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 211.8923 513.9963 220.8685]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.2) >>
->> endobj
-341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 188.0716 229.1435 198.9507]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 189.9745 513.9963 198.9507]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.3) >>
->> endobj
-343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 166.1538 193.7267 177.0329]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 168.0567 513.9963 177.0329]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.4) >>
->> endobj
-345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 144.236 288.3508 155.1151]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 134.1837 513.9963 143.1599]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.5) >>
->> endobj
-347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 110.363 223.6142 121.2421]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 112.2659 513.9963 121.2421]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.6) >>
->> endobj
-349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 88.4452 188.1973 99.3243]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 90.3481 513.9963 99.3243]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.7) >>
->> endobj
-351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-331 0 obj <<
-/D [329 0 R /XYZ 90 757.9346 null]
->> endobj
-18 0 obj <<
-/D [329 0 R /XYZ 90 549.7041 null]
->> endobj
-22 0 obj <<
-/D [329 0 R /XYZ 90 515.7183 null]
->> endobj
-26 0 obj <<
-/D [329 0 R /XYZ 90 344.6557 null]
->> endobj
-30 0 obj <<
-/D [329 0 R /XYZ 90 312.5928 null]
->> endobj
-328 0 obj <<
-/Font << /F65 161 0 R /F67 170 0 R /F52 145 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-362 0 obj <<
-/Length 2439      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�6}����JB�
b7�t�M:ލ��v<�M;l%ʥ���
� �;�3���qqq��9�DR`�G
-�
%Ҍ��z{��;x����W�~������)
-�������=H�%����q!�+*�����aS
���]?l��[w��Y���
R.���웋�3�E0ILW����3.n �wg1]��n0"Z�b{�)s7��g�
�
/�S!qR"Uj^�G���V��Lg�D��K󨽳����Q�B
-)CX
->���n43����\~[5U��v��O���^^�}wYw�i��;�"-�%օ�g�h��FK�$fe�',��R�ŧ�j��b��
�K�xh��P��*�v�����p��A�ŝ
Ԅ�S�RJ�"H
1Pk��`?�
-0����L�BA3B0�
�h���Y��8LE���Or�B\D��$
!�4ǽ��$���F1Ҝ���$&���`��1θ�
�͌}O6sq{`Z�fn��o�'�ey�Q�~{�S�I��E�#���� �3��3��� ���
a
�r �aR�ijY3�)�9LIF�5�p<ɔT�^�)\ &d�c�3���7OY瘙g�(�~�(�Q
#P	P%Btǫ��bR�2�K
��8x�/q�����H�������i��`�� �Bgֳ�N�0��k`!d��,�Bg�f�Ԋ�%D\���)^�U�%*�&!�'�]�a�\����p)_����R*�/�%������Y�`���CD�u3��aP,i�
�gg�0fP&P�'
�"L*}/�X�%
F�0��1�]�T���?��%)�~�3]mC,���i�ڶV@�r�$�#@O�Φb���HfQ(h����~{�I�r�"4�D1�ۯ�f�F�ߞ_��y�]mN,^��7���#&���@� �s�C [...]
tI��QǙ9�/)ԩu����,	^<V�y��>�|�X�
���)й��I჊
tk���EP����s�ly~ynn��
n�y_�S(a��eX����P��h�0o��/Ʃ����R{��g#R���l�x.p*=����o0����3�qb�8����pG��V�
�V��� mZ����I:� �k��
M&�_�
�
�t�
-
͞A���)E�χ��e at 3*`S���񺡈]7��_75r�Ί,�ί�6��x��q,���8������T9
}s��.yn��W~�����~Y
3t%P ����Ye�2IŠ� mR�3�u�qA����� ��X ev79�}Y*��
pA:|?
-Y�
ZZ*t !ڨ����a�'��%V,��&���M��r�CAOe�j��jz��
F����� �Yg�sVLr6��k�,��D�,g�Y��
'�ƈ쵟��Y��h�9�!��nFe�n���������=��K���V��M�z��L�!_2'�ߞ|�?[&�L��
��� XI�Ƀt��S �����-���v�.�^l�߭�����u���u�v}]
���!v�ɀӃ�
7��K�R���q
��]���hn
i��
���ʎ�c�}t��=3�����K6����H Y��%����6uW�7�������o����u1����fTA�5�
-qJ��/C|�����8+��O/IJ�ُ`;q%{
�r�+5,Ka�0DQ�T��T
u{zft�9 �_73�n��7Q���"�g�C`��a�
S����"{35�5Su��FB�|�^a0
��nV��
��E	�$�V�
;2�FN;�uɖؗ��
W��;h��*d6�t_���~��>�����r��l���*�^��Ӗ�@��?t2��P
��科�,�[�A�?\"!���o0�3��,3���R���M�/�v��� "�N?aL�i�) -�̤�Y�����U3L�L��*�$e�9�}$8��k���Űz|"\�vNkOҟ�!��/���Όg�7�e��;L�/ӯ�_�oJa�3��u�3;�v������%̱�����cSH[:�Ie�u���?W��#%5�=)
:3��C�
K����Ek�i�g���F��k�
9
dt��y�����I�	�I�sj�
ư��l
�W AP�m��ku�r;,������Tr�9��⯔&è�ꛒ�3�K�s��f��Q�~�Ii�Αf@��I���ݮ�.��?0f�i$O���B�2Ze�Ps��
%���+R" A�%R�GJ���9"]�V�ӣ{p\p�<w������0MH�
�q�8��E�$R�g}���T��gM}r :e>��FB0��=|�� ح�����9���u�ތG6�F�j��h at H�PӖ8���df#/4c�9���pW��2����I���5���u��|����]��CS߷��^��_E?����0�f�����EX����5�(����Ggx�]O�k��n1���`�endstream
-endobj
-361 0 obj <<
-/Type /Page
-/Contents 362 0 R
-/Resources 360 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 352 0 R
-/Annots [ 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 393 0 R 394 0 R 395 0 R 396 0 R 397 0 R ]
->> endobj
-364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 720.0467 286.6771 730.9258]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 709.9944 513.9963 718.9707]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.8) >>
->> endobj
-366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 686.1737 221.9405 697.0528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 688.0766 513.9963 697.0528]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.9) >>
->> endobj
-368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 664.2559 186.5237 675.135]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 666.1588 513.9963 675.135]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.10) >>
->> endobj
-370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 642.3381 312.1413 653.2172]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 632.4053 513.9963 641.2621]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.11) >>
->> endobj
-372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 608.4651 247.4047 619.3443]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 610.368 513.9963 619.3443]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.12) >>
->> endobj
-374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 586.5473 211.9878 597.4264]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 588.5697 513.9963 597.4264]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.13) >>
->> endobj
-376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 564.6295 222.8968 575.5086]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 566.5324 513.9963 575.5086]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.14) >>
->> endobj
-378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 542.7117 202.952 553.5908]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 544.6146 513.9963 553.5908]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.15) >>
->> endobj
-380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 520.7939 350.5573 531.673]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.4784 508.8387 413.1221 519.7179]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 510.7416 513.9963 519.7179]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.16) >>
->> endobj
-383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 486.9209 323.4393 497.8]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.0691 474.9658 359.7129 485.8449]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 476.8686 513.9963 485.8449]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.17) >>
->> endobj
-386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 453.0479 285.8207 463.9271]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 442.9957 513.9963 451.9719]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.18) >>
->> endobj
-388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 419.175 191.1465 430.0541]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 421.0779 513.9963 430.0541]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.19) >>
->> endobj
-393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 244.2689 181.4958 255.1728]
-/Subtype /Link
-/A << /S /GoTo /D (group__Init_g7c98bac1ccfac398657571409a3fcd9c) >>
->> endobj
-394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 205.4146 175.9569 216.3185]
-/Subtype /Link
-/A << /S /GoTo /D (group__Init_g4af2931282f6a5f1b3444fb8e833d6a1) >>
->> endobj
-395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 166.5603 237.3963 177.4642]
-/Subtype /Link
-/A << /S /GoTo /D (group__Init_g635128363efd9f4c8c63e21702f40183) >>
->> endobj
-396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 127.706 254.5419 138.6099]
-/Subtype /Link
-/A << /S /GoTo /D (group__Init_gfdb2c887a3a2d1daf54a764d0d7f7f76) >>
->> endobj
-397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-363 0 obj <<
-/D [361 0 R /XYZ 90 757.9346 null]
->> endobj
-34 0 obj <<
-/D [361 0 R /XYZ 90 404.4801 null]
->> endobj
-390 0 obj <<
-/D [361 0 R /XYZ 90 372.4172 null]
->> endobj
-38 0 obj <<
-/D [361 0 R /XYZ 90 372.4172 null]
->> endobj
-391 0 obj <<
-/D [361 0 R /XYZ 90 326.4664 null]
->> endobj
-42 0 obj <<
-/D [361 0 R /XYZ 90 311.8961 null]
->> endobj
-392 0 obj <<
-/D [361 0 R /XYZ 90 263.2427 null]
->> endobj
-360 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-416 0 obj <<
-/Length 1743      
-/Filter /FlateDecode
->>
-stream
-x��Y]s�8}���tϬeI }�6I'�4�:i^ڎ��r��/�d��~����!�6��t:qu�t���C���a��>�Q�z|8_������<��c[����䔳a�BN��zYj�1J��z����
�	�ع��Y
��hLv�܋��8��]�}�p������2��a.'��߃O_�p~�`�>�
F$
�p=�k^V�����
��\�#�!qQa�\
EDGv,�(^����X��,�2Lgrʨ�H=�z!)՜n����a�ǜe��A��E
��"�u�c�T�J$]�gq/�`�fQ�4���M�p'�j�jU��EQ@�'�У�N�禑�o�8)�l�n�����d ���1���t!����7s)�rLڨN��]�-�o�")"���T�K��+�`�f��U�j�3f����Ƥ}��8��R�Y�!W*TVap9"̉�u�_��ӽXd��|�s$a����X�X��[os���<�Vhnl���i�I���HVׇ�Y0�I�QbҊq#4���8B [...]
�a ypxp
��
�����q�!-
���F��D!�N�ZB���
����r8>�l���0ފN#������a��-p�m�*0�
�>�g��r�� ���(��zz�Q
�R���C��Ԭ��}�O�ۼȢ�lJ�F�A���� �*�d���k���4���f��+�S�ʠT3�!�ynDg�Z9@�h[�k0,��
-��V��E�%#�����"6�mz�
&B,��41F����R2���q[��x5闛Znf���ڭ:��E�!N����>-��k�[����r ުg霅��{&��h��]����q�l�u@ʳ#}��L��f�a��ux+���\���ն�n�|"�"�ՙ�E�ӭ�Ԯh�(m�;�V��x�W
�Ny��쫁IU������d�5r�&��cΉ�Y��@�¿¨�0\+�OZ�n�M�Ei
*s���$D>wٳ
�-P֜z��
yn���H��)e�J�(�'�+�>�ăJ�y��/

iøǑO}�g\~����v������kΰ����ه�}G����Y��z�S�s�^�_A��_5��#��b�\m�	�
����0�e�:�u�^��0 ��W&��-�����d�%��*��Sh��2��b� �0/o����Hn�0���\��(}�$ �z��ÁJ������5
����@��
�q��w���G�>LL`��Iw.*�
' ]��<�;���
�-�ݗp�R�A#�.g���4�+��E�h�b�#?���CH�G#�OKa
��V4��
@���Ch��FCo�g�4�4��E%��t}�a�	�<(4|̧/"����	F�N�8�T�����#� ��N��`���`)�B�݊
-���P3~��h�ݧ�����z�]İ��V6�
?(g��pϏg�����.X*:�`�jL�F����<ĻK��Ihe!b����!]�3���_����<am' i��O'jA�۠jw�\��m�;��,�vuYv�s=�1ٯ#�
ݣ���m��u��G�۲�6u�w%<q�X ,t�T_����1
��
-��.+
�27�E�y=�<>>�y��I��P\L6��d�/�ະy
<����v���a͕�9��֏
��ZF��j��_z���endstream
-endobj
-415 0 obj <<
-/Type /Page
-/Contents 416 0 R
-/Resources 414 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 352 0 R
-/Annots [ 426 0 R 428 0 R 430 0 R 432 0 R 433 0 R ]
->> endobj
-426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 217.5866 213.038 227.5143]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g79bd3696a302bb721ef8168fa5d650fb) >>
->> endobj
-428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 179.0709 251.7824 188.9985]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_ge19dfe022c51c874d905e2a7c81c18f1) >>
->> endobj
-430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 140.5551 251.2245 150.4827]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g8458e58a5e857de11c35ce3076a70ab8) >>
->> endobj
-432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 102.0393 264.5047 111.967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_gbadfeba0a415d210cdd6d7309365e800) >>
->> endobj
-433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-417 0 obj <<
-/D [415 0 R /XYZ 90 757.9346 null]
->> endobj
-418 0 obj <<
-/D [415 0 R /XYZ 90 733.028 null]
->> endobj
-419 0 obj <<
-/D [415 0 R /XYZ 90 672.2436 null]
->> endobj
-410 0 obj <<
-/D [415 0 R /XYZ 90 647.8745 null]
->> endobj
-420 0 obj <<
-/D [415 0 R /XYZ 90 647.8745 null]
->> endobj
-411 0 obj <<
-/D [415 0 R /XYZ 90 558.617 null]
->> endobj
-421 0 obj <<
-/D [415 0 R /XYZ 90 544.199 null]
->> endobj
-412 0 obj <<
-/D [415 0 R /XYZ 90 456.9788 null]
->> endobj
-422 0 obj <<
-/D [415 0 R /XYZ 90 442.5609 null]
->> endobj
-413 0 obj <<
-/D [415 0 R /XYZ 267.991 379.8894 null]
->> endobj
-423 0 obj <<
-/D [415 0 R /XYZ 90 363.3146 null]
->> endobj
-424 0 obj <<
-/D [415 0 R /XYZ 487.7735 300.6432 null]
->> endobj
-46 0 obj <<
-/D [415 0 R /XYZ 90 284.0684 null]
->> endobj
-425 0 obj <<
-/D [415 0 R /XYZ 90 235.4149 null]
->> endobj
-427 0 obj <<
-/D [415 0 R /XYZ 90 197.0187 null]
->> endobj
-429 0 obj <<
-/D [415 0 R /XYZ 90 158.5029 null]
->> endobj
-431 0 obj <<
-/D [415 0 R /XYZ 90 119.9871 null]
->> endobj
-414 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-437 0 obj <<
-/Length 2347      
-/Filter /FlateDecode
->>
-stream
-x��Z�s�6�_��=�4�`|���4M:I����rm'CK��F&U�����oAH�+q�r�������v ��Yh�PB!͸\l�����<#����!���g�/�Xh�%���뚃$HPB��_��՚`��V�L�2ͳ՚
-�|~�l>���j͈TxI�����g/.��F�$1��<��w�؂^��0b:�{x��hMwg�2��;{�o���/�M�c�"-֌�H��=DD¬a�����
�5��P��#Lqo<A�,g0�Ɍ	�Tt
C0�E[�
O$z�)��#��l���6�
c�%'¹D�*�n�����"T��O�q�ר��/o>~xq��ջ�?~��r���YW#�)"8����TzPΑкc|�
-IRK)`��^C�s��G���dK^�j������B��	�H��URŶ�
¶�k�[920�m|���h��B���c��/��b�ۧ��ȔDK��4�پb��2�%q�4/�ٶ�'�m���.��%Ye;�,ޯ���<kc{�L��ͫ
.����<j
�QMrqHX_xy�6���	X��b�c at H0<�d
�x�r]
h�Mai�b)��dG�0�
��'|�����g�*6q|��� ��3�ٔ%<Մ"���BwV 
�yE�2O��&������c�1�1

���"�EV��j1
k���c������ �Vl���($��M�r#"������'��H�p#r
FZr�0�;#
-����H��cDhF�-�&��8b��31"F�Q���a
�:jC}kt
��k���"Rp���8
�48�c�����
GK�
p�+p·
E��Px��6��B��T��SM�C� ���>�1�b�6%�1�8�a���.������R�"��F�@=I�HM�ƑM�&`8�q�
4��Qд��͸'|�@S�0�A�4�2����CG(�H��3��AH��VB
#X�d�Xi�c�<�r0�߆�"��	|x�I|�
G�1!��%w
m�3�1��	�
|�(��T�����RA)�0%
�66���mn��;IÍ+�eS�
7�`f�-aKH�R
�~lP�`��G�-�16Gf��o�V��Zn���5{x���Z"�"�`���i	Z�aK��!hp����
����6c����o<UY��fM�gU�f��+C ��z_S6�L �����'�ñ0.ׇ�P�hh���8��B�U�eIq�~��S�wTS�D~�u��_�~6�r�)�Ո
u��C�#�G�F���0��q(�ߵ϶{�����)غ�&�B݆Hsw��4�.�Z}H�M��&�u|	��v�Oh��y�pw��ҍ7FY�Yլ�=(�Ƶ?P�ۍdWN�3�.�*�⡉�A�m `/�P�좭#�S��̨�Ys�ag�o�8:vs�Φ~՛�xC���T؎'���Fĸ����r��ȟ�L�$�G@N$���o{C���Y�


-)	����
0�.�l�,�@{ƚ��]i\�޸,�MjW�
�7�����g��]���kN�_����im��B�Q�D!��I�O����m���J
-��*{�„4Wwqeڢ.�M_keMGZ��E
�+
gݵ'y���F����m���7�F�U^�Z�^���ꨁ� }:�.�=2!�(%}��X_3l��܆5�r���p@�5����*Ws4�����+)�=L�%
�䠅��H��>��!�<cs#���f�\�9�l˛���E2�
S1ioט��+��'��au�}�
�x�г
�դn�k���ev,���5�DZ����,!i
,��Y�Y^S?HEu���C��|
-��k;E�QQgE�1q�\�TV4�Lvfr�F���/HB�ܜfMT����@�İ��-A`hX�c��5E(�#_=�*��<��0T�Z��U_}�ғiD5�+����0�����w`�ǖuBت�D�>7q��C�痎��
�W��nk��h�ټd�:��P٦
�Y���OM��
- ��K��n��.�|�$�Q��6v��lP㢀������U�'�|Z� 9?��H�+�����3
��CEY��CY{Ъ Ư̱�!ݹnˀ�"�� �FR$��
R�>/���MiGl�	
��o����mٯ`��Pؠaz�%@=����G��
�
)䣾a��D�Su���eJ��P��g��w'�z��
n�m�<�	���M_��
���W���o����I�O��
d��١�
��;'幩�MD@�c/�|��|U� �!�觅k�
k���v_����5�����������ѦD�,�(��!��w��
v`P �-�����Z!s�A�
�r�r�]�RȘ�	��4���Rendstream
-endobj
-436 0 obj <<
-/Type /Page
-/Contents 437 0 R
-/Resources 435 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 352 0 R
-/Annots [ 440 0 R 443 0 R 445 0 R 447 0 R 449 0 R 451 0 R 455 0 R 466 0 R ]
->> endobj
-440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.7309 708.7915 243.1052 718.7192]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g7a529f51bfebdd4b3e69c866dced9bc1) >>
->> endobj
-443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 618.5718 204.0315 629.4757]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_gbdf8f4e9416010573d48e21cf0584762) >>
->> endobj
-445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 581.4264 204.5895 592.3303]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_gb51f10ea37de5299e9bc840afa206d4e) >>
->> endobj
-447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 544.281 212.6392 555.1849]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_ga50f472bf6d1869a2fc1500d2fdf8213) >>
->> endobj
-449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 507.1356 197.3866 518.0395]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g676f27ad949159a3b79577f78870f60f) >>
->> endobj
-451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 469.9902 175.8077 480.8941]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_gc6abee034f6ac000f15d1206fdeb8316) >>
->> endobj
-455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 432.8448 173.7355 443.7487]
-/Subtype /Link
-/A << /S /GoTo /D (group__Version_g63fef7041da34ac5bb372a2535d99377) >>
->> endobj
-466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-438 0 obj <<
-/D [436 0 R /XYZ 90 757.9346 null]
->> endobj
-439 0 obj <<
-/D [436 0 R /XYZ 90 726.0541 null]
->> endobj
-441 0 obj <<
-/D [436 0 R /XYZ 90 636.6911 null]
->> endobj
-442 0 obj <<
-/D [436 0 R /XYZ 90 636.6911 null]
->> endobj
-444 0 obj <<
-/D [436 0 R /XYZ 90 599.6652 null]
->> endobj
-446 0 obj <<
-/D [436 0 R /XYZ 90 562.5198 null]
->> endobj
-448 0 obj <<
-/D [436 0 R /XYZ 90 525.3745 null]
->> endobj
-450 0 obj <<
-/D [436 0 R /XYZ 90 488.2291 null]
->> endobj
-456 0 obj <<
-/D [436 0 R /XYZ 90 397.1482 null]
->> endobj
-457 0 obj <<
-/D [436 0 R /XYZ 90 339.2166 null]
->> endobj
-434 0 obj <<
-/D [436 0 R /XYZ 90 316.9048 null]
->> endobj
-458 0 obj <<
-/D [436 0 R /XYZ 90 316.9048 null]
->> endobj
-459 0 obj <<
-/D [436 0 R /XYZ 90 189.3934 null]
->> endobj
-460 0 obj <<
-/D [436 0 R /XYZ 90 166.1054 null]
->> endobj
-461 0 obj <<
-/D [436 0 R /XYZ 90 166.1054 null]
->> endobj
-465 0 obj <<
-/D [436 0 R /XYZ 90 89.4414 null]
->> endobj
-435 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F25 148 0 R /F86 454 0 R /F67 170 0 R /F91 464 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-469 0 obj <<
-/Length 2775      
-/Filter /FlateDecode
->>
-stream
-xڭZ[s�6~����J�
-ƕ �捕ĭ/YG�v��xh����H���;������7�ڦ���$>�987�L0�#�'RH�&��	�<��w'��a|^�}yr�6�T@���! HPB'���� �ٜ`���<��p��9x�>Jכ$}���2�R2�u���b�W�d
�^뷓�œ5���#�B1y���Rt�=ᔹ���Ǔ�y�@�Bߞa��")!��e�
�+�KK2 :��TS,��6Σ2�Ңg�
 �Cj�*���u1��"
��<z�_(���(�kpE�[�p�p4׍a��u��r�ZW�s[g��c
:�j���N����<��V�:n�l��`X
5B�2�0�I�?
)xy`���	���5��,J��������v�����������������v��:�(���&��4
h�Og.���ΊR *
������ݞ�+���g����������OW��e�
g���Ayx�0��\���\J
k
>�v{֮<��d�G!���:B@��\�]\��;�
-V������݉C��
C���+)�BT�l,z�9����y�º\\�[�?,��D��F����
 ��_��0�X
�	���b��j��xsw3�@�������
N�?;�\�Z�X�\۵8���l��%H��
+�[�3�������̀]�KrD4B�3W�X�#�
+�[�3o��].n�g��=,A0��>"��՝m�P�h���g����Yq��X>]�pm�5��L�����
;�=�[��f�ayqs�Q$u�D��mǡFxvg�,�bz��j/
����Ĵ�����rq~�v��~@'\
~m��P#�h��I���Y"Љ�����$P��@%֕ɼ>G�G�I|^I�*��
-_���q�
�4�
S|�O���$wƅ/Jt��!Qi����\<�ӕ�B��6����Ӹ��):�m"N���l�6Go5)8D<Ⱥ�
��\�*&�R
��ꀁ���F+��_+��u��7�MҲ�,T
�Ƞ�����c:󺂩�K[/=�6�;g��@
K£F�P"J�� �ˌ�i������i�J��?��
�P3�E*$�3=[_eJC��6�����c�k�zdY�$A�1,c�a�$G�A�n���~�|EZX�z��
ip�9���
�g�';}p���A��!�&,�*�R�cȓ:��x��6��#�`�`{����^�Gu����:���/�#$�TB���Fi 
��=p5����+	eW_#��
���C����z���y\F�����U�=v�j�}|��g�dU��(-
���e���&�.3���<�ey����O����q�ť�u=��֜�q9�|���Fq��`<-#�������x*c,�v�M�П�����r>�Gb����H���@��r��OP�X��ǁ�uT�x e/sq���'�	9˿�5��һxO���.
�G=�Bz�ym֑�h��+HxwP.
ե�*
����Ii����~I�rm�
�n�m����H�$�b
-/����ς
.��]���0O�"{qǩ��y�n�=�
-�$p�
c�OѾ�Æ�*�Q< � ��:l at 7
�ߥ
G�tT�)%�YyT�U+dHHZ���NS%���W��WI�y�����a�
�9)���lBA���E��E<V�f@�R!�u�^�_�
I������A���v�Ì<�˨��	�!X6}��}Y$k�<g��6J�ك}f<n���~� $
-9&�lH���7�\�0#��2�~�dT�%p�&L�{�ƍ��H����
�J��D#��Y�"�o�f�8�U
��p�=��~O�&-�	J���hv�wq�MJ��V���""@lw�ދ	$$fc���4�`#]Q����F�f�@]B�� �
X�Й�q"�����e�v�}��E��:�ϴ#z�c���V�<���L��@�b�mw�ҥJ�«���H�TK�E��
��Fg"����Q؜3&�fl�>;��� ��͏�t�ғLQ���˲�ݮrՊ�/�n��<�_�6bZ��U���K;�/���z�>ۧ�J(���c�[dT�MsH|�jE�U?h	k�J`��a�$y$Qc�0O;�E
/!:Lã�4ZjP�XMgi'��ٜ�����]h��s�`z����}sg�v�vh$N�=��x�. ��dY���q����^���
�>�~�٫<s�y�	�~�%�|Xӏ�:ʕ3P�D����Ba8P
-:���2�|̣�aC&�`�[�x���Sa�
2�ˣ��:	��p��m�n
H�f}g-J_�W�=�u=�YQ ��
�
-���د��,�����8�׌Y꟏ԍƘU
�����	J����4�t'q,ū���iQ�>E��T}� O�?E��|��*@m7D҃:$["�
����8�	f s�XG��ܹ�ag3xTe�
��F?ʣĨ�M�E�"ajV1��!��7�|c��}:/��+�M>��97�x�\lp���8�3���ҹ���+
-T�aV
�eժ�8䠪I
-��)ԭ�����B�M?�&I��'APf0l�`��ֲ~fO��4Q�f~�IpHdK���g0b�z�x�#��\���f~���([ؠn�<�I���"��[�����)^�����@�{����Ѿ���C�@W�ѧ"�}��WQZ5,�i�WYe��(l	���=C�n�2E���7iF?O����N��7LJ֤ҙ�J�r������3Zh�&�
%��n�9��G"�@y
-�{P�KCC��(��A���?��J���m�[��_-�0�B���endstream
-endobj
-468 0 obj <<
-/Type /Page
-/Contents 469 0 R
-/Resources 467 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 352 0 R
-/Annots [ 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 484 0 R 485 0 R 499 0 R ]
->> endobj
-472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 672.8982 228.5099 683.8021]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) >>
->> endobj
-473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 657.6752 263.1998 667.8619]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6f29a62bdfcf44dbeec14afb409035438) >>
->> endobj
-474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.2126 657.6752 437.7285 667.8619]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6093ae02f8ceebbc40321d1eaf186f726) >>
->> endobj
-475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [448.7413 657.6752 513.9963 667.8619]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee68c65fedb9893ebb49394a3cff2f19a49) >>
->> endobj
-476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 645.72 194.6471 655.9067]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee68c65fedb9893ebb49394a3cff2f19a49) >>
->> endobj
-477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.6359 645.72 337.2119 655.9067]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee66aa28e72200f879cbb83a36b60644fb2) >>
->> endobj
-478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 629.7798 258.9555 639.9665]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6bd22c4eaabb49bcb6c654a25e402c64a) >>
->> endobj
-479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.0021 629.7798 356.2693 639.9665]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee60860beb1b1c54c9f774b532d92404992) >>
->> endobj
-480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.3158 629.7798 511.5056 639.9665]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee67dae659f72f654afae1c5c6f331192a3) >>
->> endobj
-481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 617.8247 346.2779 628.0113]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee603b444004b1031ddb1a51289b9d83106) >>
->> endobj
-482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 601.5407 278.9506 612.0711]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gg0c0ab09a97e49f85f42c966e14cfdee6b42a97917f263e8305d561f52cbd9c57) >>
->> endobj
-484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 520.4046 216.8931 531.3086]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_gd6765993c08a2ae2f0ef377f822f4d33) >>
->> endobj
-485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.7657 520.4046 372.7377 531.3086]
-/Subtype /Link
-/A << /S /GoTo /D (group__Error_g0c0ab09a97e49f85f42c966e14cfdee6) >>
->> endobj
-499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-470 0 obj <<
-/D [468 0 R /XYZ 90 757.9346 null]
->> endobj
-50 0 obj <<
-/D [468 0 R /XYZ 90 733.028 null]
->> endobj
-471 0 obj <<
-/D [468 0 R /XYZ 90 691.872 null]
->> endobj
-483 0 obj <<
-/D [468 0 R /XYZ 90 539.3785 null]
->> endobj
-486 0 obj <<
-/D [468 0 R /XYZ 90 483.0846 null]
->> endobj
-487 0 obj <<
-/D [468 0 R /XYZ 90 424.3839 null]
->> endobj
-488 0 obj <<
-/D [468 0 R /XYZ 90 400.1693 null]
->> endobj
-489 0 obj <<
-/D [468 0 R /XYZ 90 400.1693 null]
->> endobj
-490 0 obj <<
-/D [468 0 R /XYZ 107.7135 323.2415 null]
->> endobj
-491 0 obj <<
-/D [468 0 R /XYZ 107.7135 295.3461 null]
->> endobj
-492 0 obj <<
-/D [468 0 R /XYZ 107.7135 279.4059 null]
->> endobj
-493 0 obj <<
-/D [468 0 R /XYZ 107.7135 263.4657 null]
->> endobj
-494 0 obj <<
-/D [468 0 R /XYZ 107.7135 235.5703 null]
->> endobj
-495 0 obj <<
-/D [468 0 R /XYZ 107.7135 195.7197 null]
->> endobj
-496 0 obj <<
-/D [468 0 R /XYZ 107.7135 167.8243 null]
->> endobj
-497 0 obj <<
-/D [468 0 R /XYZ 107.7135 139.929 null]
->> endobj
-498 0 obj <<
-/D [468 0 R /XYZ 107.7135 112.0336 null]
->> endobj
-467 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F25 148 0 R /F67 170 0 R /F91 464 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-503 0 obj <<
-/Length 2490      
-/Filter /FlateDecode
->>
-stream
-xڵ[Ys��~ׯ�[Ȫp4���dc��ؕc�'�łH�BL4�Z���� C\���ڪ@4���鯻G
��da�B	�
�r�}���=|���<^��uW�/w7��J�0�H*w�I���.�v?-%�5�/��ˤ|^���˿&UR=��j�5lI�ꗻ�o����,�IbM�v��/x�L��`Č��p�1�.�n8e�����Ϳ�
��~a�%A�
�(CX
-���k����o�������)��7�86���!�Wi^��j�6�,����V��,WD/�r��CZ��?c���^��^[ͷ��.F�
��S0h���1sR=O82�me�����t�a�:8��.u��8��S}���x��pD�pE���ƵKO�2;�Z�N
�w
ql��	}�Ɛ��N@tJ�
5
 *$)wk�
8�
'���c�.�'X
���]
-.�<ݹ�!PE�.��ٛck�
-%��y��@U
KD1�^ϛ
R��R� ��j
�BDSڢ���;��	�ⲗ
����_m
ռ�gI>w
�
��K�����߫srpt��x��ګ}��b�ž�l��ù�p6V���(��˫�}q�Z-iK�n�$[g��6�B at 4�
+�}��� �SUf��}�Z%Y��ݚ�P����� ;9�2Mv�"?<�����ϫF�i�NU�o��x���ٟ�2�����y�
-C�P��㓮�Q�I��eZ�KH@���G��je
�+U�����,����Kݥ���b���ս�T�:��]
��xF����C�uwu5����G�����
ϸc¯�z۽�u��9O���i~�SJ����
sТ��م�Kٷ[9?��e�K7������ �}R��w�4�18C��m�
��	���؆`� q5)
�%�V.���RDB?�<��* C�տ�������C�?$���ae�‹YG��4�3x�������u_Z.�%��u���助ezt?N��]e�KtL������~�(D$]p���P�_�>k��
�5UW��+��&*��^,��]��d��m��g����|Q_N�𪠒
Ɲ
h3
�j �:7Z���ޖ
Y��b�^Rf��!�@G;���C3"Nr�	
���ph�T���,h30��J���sc����z�UHC(�D���"(8�0Q�G�,M;
NRRb�a�SE��U�V̏m�rS4Lp9Ԕ�&�N~&�
j�ƞK=��$b�q�4W�#k=��X
j��5��0T��v}
���7ܪ<o'.
[z\F��6�1@#�-s>�R��;��M��ǭ#C`8:^j
�W\!��j9 3Ud)����
����c�7�Quc��RG�a�����C(e���[1��?��o紻_�у��u� O6�V�� t�F��Ţl�*
�5b�ek��K�ڇ1��@#��ck0:���x����j<8A�
JD`p��#���4/�9����:��� �q,p�"I�t;��f���m0Z�k�vݽM����mu��B�p��5b��ߊ��Qb|خg|��߃1��a@#�m����iRn���X�'7�N0^C�����Rc0}��f�*S\6 �`37
^>���@8F,6)B���-�x��0Α��h܊��?3Ɛ4�V|[)lH狊+lm��l�(
�5l׳�k�El�����0���W�5�[�`.l�y}f��=7h^>�s��ߟg0�sj��1��1&`
-f�}��
cv+��
�����:ό��{�(�
-���m9߳���a��|�H�e&��,���0�a�԰I
��K�Q
��0�+���1՚�
a��/��X�T
FE�
-9#"Q a��g��R�I*#��b���THD%S�O��&1z6Rqv^ԅ�4��1�"jv1�af�P�KyH��!Vv �;�
�	R��
S+
�8�9���8R��p��E¨���)�H`ab�m�޻��(�1�$g1N�bqRw�X
��iݵ�"^�`�!v�H��??����ژ-�P��x�1����J#��2�)�H����6ō|$
c��p�7�
i�h,),އ��̘҆Dh��^Հ��H3L?��D�lo'�0[�X��]��F�l��}	[�0f�5h��ul
F���0��
��l���f��
����
�ژ�1�s{\�p��A����A��4�[k/��
�p�ay��P�0
;�����(
q>l�s�k��y
�°���r�����y���{R�T	`�"�(	�K���Hm�*$.��!O�=>3:^>�����b��ȃa�X@#�v�
����ے�w+���
m�s��������|����H�1�]�Siwt�~� ���?�C~�S�����tW6��ò��ϒ|N������=أ����Ni�{&�9��c���c��~�L˓�cp	��H�
3(����ٳ��0�C
H���E{��ni^Xw�pР:Q�O�W��O��_�~E�:�ٱDYu
l�
w4����5��Vh���B
v�6G�P�y���L����8�����/gendstream
-endobj
-502 0 obj <<
-/Type /Page
-/Contents 503 0 R
-/Resources 501 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 352 0 R
-/Annots [ 510 0 R 511 0 R 512 0 R 514 0 R 515 0 R 517 0 R 518 0 R 520 0 R 521 0 R 523 0 R 524 0 R 526 0 R 527 0 R 529 0 R 530 0 R 532 0 R 533 0 R 535 0 R 536 0 R 538 0 R 539 0 R 540 0 R ]
->> endobj
-510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.0118 511.2454 255.3684 522.1494]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.9084 472.5287 351.9556 483.4326]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.7713 472.5287 439.1279 483.4326]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 433.8119 251.7918 444.7158]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.7619 433.8119 331.243 444.7158]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge50df8ccfc72a20b58ab7854ad2ccba9) >>
->> endobj
-517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 395.0951 251.7918 405.999]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.2834 395.0951 380.7767 405.999]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 356.3783 283.0245 367.2823]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.9946 356.3783 393.7085 367.2823]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gdc58d1f680927df3786f41bdb47fa26b) >>
->> endobj
-523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 317.6615 283.0245 328.5655]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.5161 317.6615 443.2422 328.5655]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 278.9447 249.2811 289.8487]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.2513 278.9447 326.2218 289.8487]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gedee0800f6e695c36ace737095ccef5b) >>
->> endobj
-529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 240.228 249.2811 251.1319]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.7728 240.228 375.7555 251.1319]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 201.5112 283.602 212.4151]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.5721 201.5112 394.8635 212.4151]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g84f27605574583d674403f6d71a73a24) >>
->> endobj
-535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 162.7944 283.602 173.6983]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.0936 162.7944 444.3972 173.6983]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.7072 124.0776 343.1684 134.9816]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.9398 124.0776 513.9963 134.9816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5a7338130cf6d33d28dd40ed560a24d6) >>
->> endobj
-540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-504 0 obj <<
-/D [502 0 R /XYZ 90 757.9346 null]
->> endobj
-505 0 obj <<
-/D [502 0 R /XYZ 90 733.028 null]
->> endobj
-500 0 obj <<
-/D [502 0 R /XYZ 90 716.2211 null]
->> endobj
-506 0 obj <<
-/D [502 0 R /XYZ 90 716.2211 null]
->> endobj
-507 0 obj <<
-/D [502 0 R /XYZ 215.4084 627.602 null]
->> endobj
-54 0 obj <<
-/D [502 0 R /XYZ 90 612.994 null]
->> endobj
-508 0 obj <<
-/D [502 0 R /XYZ 90 528.2476 null]
->> endobj
-509 0 obj <<
-/D [502 0 R /XYZ 90 528.2476 null]
->> endobj
-513 0 obj <<
-/D [502 0 R /XYZ 90 452.8364 null]
->> endobj
-516 0 obj <<
-/D [502 0 R /XYZ 90 414.1197 null]
->> endobj
-519 0 obj <<
-/D [502 0 R /XYZ 90 375.4029 null]
->> endobj
-522 0 obj <<
-/D [502 0 R /XYZ 90 336.6861 null]
->> endobj
-525 0 obj <<
-/D [502 0 R /XYZ 90 297.9693 null]
->> endobj
-528 0 obj <<
-/D [502 0 R /XYZ 90 259.2525 null]
->> endobj
-531 0 obj <<
-/D [502 0 R /XYZ 90 220.5357 null]
->> endobj
-534 0 obj <<
-/D [502 0 R /XYZ 90 181.819 null]
->> endobj
-537 0 obj <<
-/D [502 0 R /XYZ 90 143.1022 null]
->> endobj
-501 0 obj <<
-/Font << /F65 161 0 R /F25 148 0 R /F91 464 0 R /F52 145 0 R /F67 170 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-544 0 obj <<
-/Length 2435      
-/Filter /FlateDecode
->>
-stream
-xڵ�Ms�����E>�h|�Mv+���1�iw˥�h<N�+˙���D� A�)��9�%5�_��� !J-$�S� �`����B.���.T��>_�������"�`�]\�g�J�Vzq��x�RR��_�ݮ��.W����z��y�r��,5\�r��ş�S�F
�U��o?�"IӏR@��J/�P!��Å�о�r���)���C�?^��ґ��AH�&�3�윕�€7���g��NJ�Qa�',*�(��2"Hk�u��7�.W��e�}��2

-���2�Gۻ&�_��6�T䍂����|��HR������^v��������n�]7��]_%�1!=����m��.t��EĺW��|k༧
-�+)e1:��PF���xNf����`Xi�*J[���B��A�����3�ˑ�1Ī������Ԏ�X�g�������������
V����Yx:{k�H!]�O�����^7����D���
^��.��ϧ_���݉<G��’�Z:8��=��^eF{�uZh������<a�W0u�^ѩ�zE�n�W�p�Z�dTzE�	*�����xSЄ����]IQ��.��[Ъw5x�H3�5j�
)����;`C�|�
�eL�KN
�Y����
-
�m��J��8�t� ��&�0RY��6�g3KXc�^7���=�͎�)l�y�d��J�fU������+3��2.�T�R<���۝�k
��43��54�K��c�Ag9�۰��_���Έ8#�
f�
-�)�E<OXA���"ީ{
�]gyKě��4�.T�nUj��i����]�!��ޛ0ՍϸQ�
w����E��y��1�@
��8��4��šS�NG�v1��6Q<�o�j�V�&L��GQ�k�iUM?�i�Vl��	y4r�L
䲑�Lt+��EYǦ�1����
L�0 -���N��3܊���y"F��T礛�x8��5��0��,a
�z�Dx^�(�;2�0^T�
�|ʖ��;ƫUJ�
�r�w���FJ�S�i�_�9'���*b-M�#	lK�q�%ݞ�8�۰��gCˎ ��H�qNo�]���'���m	��M�4��-LOF��&�T�}�H���Nի�H�9\W���m������Mi3����,�2�w���[�i�����0e��{:�A��{
-�y��+�����8�+4�ʗ3#��
�{E���+�uS���
3�weL��AE��������v3��G:%[RT�������M��1t�m��
��.��	E�!��^G�� (A78�4�)!mu�,Nk ��9��� -�ux
-c��V�d�dv�
CfW�2AE�#ɬ��Ff]EKfG�{��)M 
&���9�E��[�q���i�����r�
8˭�S�̳/X-L\���q���[��0��,a��z��x^�(�;2�0^T�
`���b��uwRT)�KoP�:�]��]� T ?Վ��Q��Q��ѭ<g�h���p@�
�qv҄
��Z�sª��J+�6��5KX��^7���=
-֎�)��yO���NkU����wl�k-�B3մ��,�Ṇ`��S

�D�a�u at a���)l��Y{#�
��	��O��� ߄MX���:�yX�N݄�3j
y���{2Ƒo�9AE�q�'l�������Jm��pk���4Ķ�Nv'�3�y9w�]2
�J�]�A��1T��@7#Ax���J1FhZ+ρ?��?���߆�4�k A��O�h-�
-�}���xȳ�5��u�y���0
-9����tdT o�9AE�wAn�P�mݬ�hh*�=m��|��L�qoȃ��
�xFg�wt�o{@p4\���O�
-M�1��J at K3��J�P��j��7�(	�s�)l�5��@B$�q�\9�$�&Hal��V�S�m����teL�
`yӷk�������7FխIQ��.�N
��t�K2t����i�T/R<�E�w̋�MzI�	j�^�yF�'��K
-;iZWq����t��
�m�i���i�n�4�{�
S0�
*�i͚
Ӫ�7Ls%�U� @�Ɏ�xFg����7��QNx�lݵx��y��@0�[����'e��rg�=h�Yj�6�e=KWA�^�%=/z
�

8���g
�||_h��,���7)�Pӽ'�q�
-�ތ=q����H�u3����@�֣�[a�����S;8�%�R�~(}����v:��T߁o~܍tσp�Uן��q�p��>���O_�}�|�6/;?���yo�x���k��s�
-�.�\�o��������q�rx���������%��Œ�������M:%I(Q.�6��	�\ ����ç�]��%ط9`�
q�ɻ�\)�Fo>�vϿ�������}����[q����qU>wL�
�vu�-MP��s���4HBGʧ���><mw��͇�����0���W��endstream
-endobj
-543 0 obj <<
-/Type /Page
-/Contents 544 0 R
-/Resources 542 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 599 0 R
-/Annots [ 547 0 R 548 0 R 549 0 R 551 0 R 552 0 R 554 0 R 555 0 R 557 0 R 558 0 R 560 0 R 561 0 R 563 0 R 564 0 R 566 0 R 567 0 R 568 0 R 570 0 R 571 0 R 573 0 R 574 0 R 576 0 R 577 0 R 579 0 R 580 0 R 582 0 R 583 0 R 584 0 R 586 0 R 587 0 R 588 0 R 590 0 R 591 0 R 593 0 R 594 0 R 596 0 R 597 0 R 598 0 R ]
->> endobj
-547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.6203 719.9123 347.0815 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.1447 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 708.9333 178.4375 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 669.1028 247.5977 680.0067]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.5678 669.1028 322.8548 680.0067]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbf20fcbeb06790546a112b72eb0811f8) >>
->> endobj
-554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 630.2485 247.5977 641.1524]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.0893 630.2485 372.3885 641.1524]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 591.3942 281.9185 602.2981]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.8886 591.3942 391.4965 602.2981]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g747bcaa4d01a8065758096b1ff0eb551) >>
->> endobj
-560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 552.5399 281.9185 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.4102 552.5399 441.0302 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 513.6856 341.6836 524.5895]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.6537 513.6856 511.0267 524.5895]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gc803b1dab9dd0072acb6fdda204efd26) >>
->> endobj
-566 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.9671 474.8313 346.7448 485.7352]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.8282 474.8313 513.9963 485.7352]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 463.8524 178.4375 473.7801]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 424.0218 255.9066 434.9258]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.8767 424.0218 339.4727 434.9258]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g64dda1bda497aab131fc204ed9e55894) >>
->> endobj
-573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 385.1675 255.9066 396.0715]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.3983 385.1675 389.0064 396.0715]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-576 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 346.3132 290.2275 357.2172]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.1976 346.3132 408.1144 357.2172]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5e59406ab43e2f1851ea2e066137b4bd) >>
->> endobj
-579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 307.459 290.2275 318.3629]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.7191 307.459 457.6481 318.3629]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.6842 268.6047 359.7708 279.5086]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.5192 268.6047 513.9963 279.5086]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) >>
->> endobj
-584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 257.6257 152.4253 267.5534]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5e128d772c07f54f135cac19e9a6ffbe) >>
->> endobj
-586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0483 217.7952 362.1349 228.6991]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.8401 217.7952 513.9963 228.6991]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 205.84 212.7583 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 166.9857 270.8403 177.8897]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.8104 166.9857 369.3402 177.8897]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gefc9900fe07bfdee6310e4705ea0bfec) >>
->> endobj
-593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 128.1314 270.8403 139.0354]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.332 128.1314 418.8739 139.0354]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 89.2771 305.1612 100.1811]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.1313 89.2771 437.9819 100.1811]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gc0d389ac714f0d4d3e6950fd692e7443) >>
->> endobj
-598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-545 0 obj <<
-/D [543 0 R /XYZ 90 757.9346 null]
->> endobj
-546 0 obj <<
-/D [543 0 R /XYZ 90 733.028 null]
->> endobj
-550 0 obj <<
-/D [543 0 R /XYZ 90 688.1961 null]
->> endobj
-553 0 obj <<
-/D [543 0 R /XYZ 90 649.3418 null]
->> endobj
-556 0 obj <<
-/D [543 0 R /XYZ 90 610.4875 null]
->> endobj
-559 0 obj <<
-/D [543 0 R /XYZ 90 571.6332 null]
->> endobj
-562 0 obj <<
-/D [543 0 R /XYZ 90 532.7789 null]
->> endobj
-565 0 obj <<
-/D [543 0 R /XYZ 90 493.9246 null]
->> endobj
-569 0 obj <<
-/D [543 0 R /XYZ 90 443.1152 null]
->> endobj
-572 0 obj <<
-/D [543 0 R /XYZ 90 404.2609 null]
->> endobj
-575 0 obj <<
-/D [543 0 R /XYZ 90 365.4066 null]
->> endobj
-578 0 obj <<
-/D [543 0 R /XYZ 90 326.5523 null]
->> endobj
-581 0 obj <<
-/D [543 0 R /XYZ 90 287.698 null]
->> endobj
-585 0 obj <<
-/D [543 0 R /XYZ 90 236.8885 null]
->> endobj
-589 0 obj <<
-/D [543 0 R /XYZ 90 186.079 null]
->> endobj
-592 0 obj <<
-/D [543 0 R /XYZ 90 147.2247 null]
->> endobj
-595 0 obj <<
-/D [543 0 R /XYZ 90 108.3705 null]
->> endobj
-542 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-602 0 obj <<
-/Length 2317      
-/Filter /FlateDecode
->>
-stream
-xڵ[Ms�6��W�� h|�1��T�Mev�{J�\[��Ɩ
Y^���4("	M�T�RcIO����A������2/�)�f��ŷ��D��?_6�_�.~4���0��2�L�������az������>�V�o�%h>�a�_�=��K)��9�ŧ˟g����U\�4"
����O��AN?�8����_p&���a�@�/�gg��q�_�$�5s�K��3��
�0x�x��7� �x�� 7ZEi�*
JcT���q�]aA��
W=��<n�6��n!����
�[&
V ��Ӊʚ'F�Z��)6�3�u�

�Ʊ��N5*\� :%�_-�F�T�D
*�ܘ֠aݬ�
�{��	+�{ m��m�O�M
'�t�6���W�ww7W�כ�n���>~{گ����./�N��Ym"(�F����\o7O�?Bӟ��Лa���ƹL�I�pP1R�'Hv�֒�D���rS���%%�gR[\Ra�(�G�A�F
��|��
�=�L��������A�+�l���j��S#疲z
����3{~������F�A�{f5����+<E(��w�aQ��w� ���
Q)����uX������y���c�xB�4n^�e V,�*f\�UL�Z�1y5�K��2���0�1���
,�C@jo�R2Ņ�A
{Ue7 xY`��wt faI�� �~������ߛ�
˻.�nM�F���"��}��
�r�*/XD��1�
-i��25�4B��{��:F<�3��-�uRp����s¡�(ݽ,������=
��b�A#[��"l�&Ac���gLZ;L��I#�Ȥ�
�Iĸu�h�{ʞ�McĦ� �ĭ��?}����~���
��>���Q)��ۍ���ug>z\�_
-/�X!"�"��+D���fBHMȠ�a�:�u�d{'ʺ5�UU]K`�:N�
-�
Xj�
a�As͏
�
�$��h�1h�P�d��ti4K�h�&��o�����X�j8Ų�]��NV��*
�^X���0��qD礦�\�&.��K�D�MӉ<�
g�J <
a�Ǜ3
'ƭ=����i��8A(�[����o_�7�����4w&/KD�,ڦ
��{ٙ�>�`&�l�O����!�����k W���wV�����m��� +�
n�<�9`�r��9s�0ڜ��9s�Ǎ�l�{�9[4Ƙ3O(�{�9s�4̙eq4g���3�X�"���m�଑
�����b�Rv+��*OY��M]��'��`��i�{x���
o�y<?n�xsܣ�Ae<.�����K<E(�{�8���:,����z^�#�/�� �rETʮ}�\)����i�%��/ٱ�D<�O�}�,� �Q<�Ƣ�o���t�8�Ɏ�WUk�&ΐ1g<ޖX(T���wr��Nn�8��vrkܣ���8�In:4�N.��$�۝l8NPV��"�I�]���i�Tq�j��-p��
9Vň�x&q�U�_��^��*g�7�s)AǴ�
-+g�&��J����K�,<{@��
-5qї�_{{�r�1]+M
�G�+s�"?n��q�"w@Υ����<E(�{B�Ȟ��G+��y�"*��.��c�՝���
-�[=V��'tJ�R:�31�+���Ay�������:�Pxf<(��)r�M�¡�U��"�U}B�ۊy�
?r�h�[nFz�0�}b����q�ޗ<�}����z��S���z�
�y�"���^�6����2)��
n8�
���rF<�3�;�0T�A
-���'��V<�͢`[ ��nV9�+L�P
`W楥N�#l�����;��9p�8�伂��
"�� 
X.�4�=�4
v
1|�F

&�'nJ<�)�{B��	{d�%����l+9��겢�&�/I�9
�i�\Oȕ���Uw�1�R�wY-�$!��3�3���$0j�gpEx� ,�Lj�W��?�����P��$�A��ɠ0�
�q�d�7&ܹ��2�s��p&���$ �Wiy�"� � L:�6����3
���
c8�#5�x�f��Sԭ���8t[��eO:9ᘔBBZ����exvO?ɣ='G�z�����\ä�o�-p.
���r�Zaw]^�������
�֭+N~]�[.�+VW�K\~����z��=����:�^�~���zo��}^�V��)(�e!�|u]��ߧ���x��]m�W�����%��0$.�����&^�
? ���u�Y��^�k(�<|�gQ��K�,���o
~�f�$q�6_���\\�����'���{ܱ��:�"��%"q�Z����%\Z3��wַ�|�V��a��Խ���=���Nz��
X�v�endstream
-endobj
-601 0 obj <<
-/Type /Page
-/Contents 602 0 R
-/Resources 600 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 599 0 R
-/Annots [ 605 0 R 606 0 R 608 0 R 609 0 R 610 0 R 612 0 R 613 0 R 614 0 R 616 0 R 617 0 R 619 0 R 620 0 R 622 0 R 623 0 R 625 0 R 626 0 R 628 0 R 629 0 R 631 0 R 632 0 R 633 0 R 635 0 R 636 0 R 637 0 R 639 0 R 640 0 R 641 0 R 643 0 R 644 0 R 645 0 R 647 0 R 648 0 R 649 0 R 650 0 R ]
->> endobj
-605 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 696.0019 305.1612 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-606 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.6528 696.0019 487.5156 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.7566 657.1476 372.7769 668.0516]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [388.5977 657.1476 513.9963 668.0516]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g56e2574a7d2f006333151867599e8fa3) >>
->> endobj
-610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 646.1687 178.4375 656.0964]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g56e2574a7d2f006333151867599e8fa3) >>
->> endobj
-612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.1013 606.3382 365.1216 617.2421]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.9063 606.3382 513.9963 617.2421]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 594.383 212.7583 605.2869]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 555.5287 264.2251 566.4326]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.1952 555.5287 356.1097 566.4326]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g12c368fa0bdd20b907d9ab8e92e999d2) >>
->> endobj
-619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 516.6744 264.2251 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.7168 516.6744 405.6434 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 477.8201 253.7049 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.675 477.8201 335.0693 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g97b246f11809448c53f089779c0019a1) >>
->> endobj
-625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.9059 438.9658 253.7049 449.8697]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.1965 438.9658 384.603 449.8697]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-628 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.3979 400.1115 343.1684 411.0154]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.6305 400.1115 513.9963 411.0154]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gdb1edf876e8c62fb7d2630a9280224f1) >>
->> endobj
-631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.8343 349.302 343.6048 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-632 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.9891 349.302 513.9963 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 337.3469 169.5912 348.2508]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.7068 298.4926 385.2302 309.3965]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 298.4926 513.9963 309.3965]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g2f2a1aa8fbda2e53218cecba593f7427) >>
->> endobj
-637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 286.5374 203.3441 297.4413]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g2f2a1aa8fbda2e53218cecba593f7427) >>
->> endobj
-639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.4856 247.6831 385.009 258.587]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.8702 247.6831 513.9963 258.587]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 235.7279 256.2252 246.6319]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5139 196.8736 404.0495 207.7776]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.6276 196.8736 513.9963 207.7776]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g576b0ae433a83ef58a3c174a86623582) >>
->> endobj
-645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 184.9185 240.9826 195.8224]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g576b0ae433a83ef58a3c174a86623582) >>
->> endobj
-647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.9169 146.0642 415.4524 156.9681]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 146.0642 513.9963 156.9681]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 134.109 319.3278 145.0129]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-603 0 obj <<
-/D [601 0 R /XYZ 90 757.9346 null]
->> endobj
-604 0 obj <<
-/D [601 0 R /XYZ 90 715.0952 null]
->> endobj
-607 0 obj <<
-/D [601 0 R /XYZ 90 676.2409 null]
->> endobj
-611 0 obj <<
-/D [601 0 R /XYZ 90 625.4315 null]
->> endobj
-615 0 obj <<
-/D [601 0 R /XYZ 90 574.622 null]
->> endobj
-618 0 obj <<
-/D [601 0 R /XYZ 90 535.7677 null]
->> endobj
-621 0 obj <<
-/D [601 0 R /XYZ 90 496.9134 null]
->> endobj
-624 0 obj <<
-/D [601 0 R /XYZ 90 458.0591 null]
->> endobj
-627 0 obj <<
-/D [601 0 R /XYZ 90 419.2048 null]
->> endobj
-630 0 obj <<
-/D [601 0 R /XYZ 90 368.3954 null]
->> endobj
-634 0 obj <<
-/D [601 0 R /XYZ 90 317.5859 null]
->> endobj
-638 0 obj <<
-/D [601 0 R /XYZ 90 266.7764 null]
->> endobj
-642 0 obj <<
-/D [601 0 R /XYZ 90 215.967 null]
->> endobj
-646 0 obj <<
-/D [601 0 R /XYZ 90 165.1575 null]
->> endobj
-600 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F52 145 0 R /F25 148 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-653 0 obj <<
-/Length 3031      
-/Filter /FlateDecode
->>
-stream
-xڵ[�r�8}�W�m����e߼����c{lewS�S*Ţ
�X��dgRS���	�$H����Cd鰻y�8� H����
�)��a\��'�� _�?!��C�}X�}|��=����7��[�	Jho<��/�
	Ƹ1���n�
�T����n���ζ�!#԰>�_�?����Y�`�XW����+�� ��N0bF��W�#b
�-N8e�Ǔۓ������M�$�rO�!,���h���6��|��6E�1��vK��7AK���3�v���Ґ!��*
-AE=zT�/��`)�~3���/30,���ڟ6�
�ç"����lj�brt�6��r74�C��#�Բ	c�xT"
 
a�j���ሓ�#.1I�������0����brvuy;�9=�
OƟ�G�����d���ˀ��!B�B���P��Bk6��֝2�6�t����C�Q>�n&���?8�^��`N`���xT"��Z#7�1U�{�
�L)Pm�D	�R#����V��G�jd�*�(���lxx�w�j�oF�BH<�I�
7Q�e�
�G�J䊀**��,�
b��`�j��݈^�ƊG%c60
����²���'9A��F�DB=�"��K"�$�
�6�)����{��AX}pez�m�6�϶w����K��
��g�E_P�j���͖�l���胦�w��6 �o�j�c�����/�c�n���ޛH��"�B�zK�&e���$�קl�oco�9�T���I������}��
�jiM8"\�8!
��B�m�p�
���`ӕ
�O��:	y?�
��1 �������Q ����	)0�x��Hٕ
O��[�01�!�d�Il��l��"_)�i�`�����H)�Db����8�
jX�5$s`�� i����}.9|�}`7�=�WP���Ce�x��JZknn�m.�ʉǧ�vS��]\�~����T#&lcVN�F⬖Q[+�aH��ף�eX�2qT���h�J#-��U�l#R�=,V�g�{��}���.����rV at W����;�:��Ӡ���mk�R!m;�X��b-�Z.t�X{X�X�
F�u¯+����C�jR�)�>A`�Z�7�Y��
͹���Y�DLTI�N�Tc
-+6,�1�H�ǧ�v��ܜ�}Y��8/
�,��\�,(1�ڑ�O��ۭ��*�Ug��X��j50�zs�a��U6��IpH
�U�2ۢ�eX�:�b�}�M(�9���->�>��)���
-&��qb<*q"u5����s���J%���`?�*��}_}��ku��l�qߜ��h������mӜK���!���
��:Kֺ��C�K�u�����[
-yK���m/u�
- ��J�b��d���e��|�-�@| 
L"�!'�\xT"ʠ�Ҡ��1�~aN��m����UDŽ��ɮ��3�����I�0*j�
S�Nf�o]��ф��Y S�m�Zك~T�\��'�A�{3�yqZ� �u�
zU-�r��#*��x��9_ at G��c��N�\��8/�?�?������t9{��o�Z�m
-S�^q���0�LJ�
,�O%�1}����T�է��.� ��f�r��L#��S�H��J�Aa��`���6Q
�ЮDx|*��nGy�2G�8
FQ�'�l�T��Xu�q菏R����:9�k�S��<}|ʜ�L��k�r� q�����a9�e��|��ud~d[����"��K :H#��aI]*��R¯ӥ�ߘ.U�vХD �]7
��zc2x
P[n��ϏY�:��1q6<*�U'���(4�1HhC:�����v���H�<xT"
-�NR¢�E11b� ��<F��6"�a��n�<��
�9�m� h��s�y�nT�h谉둚���:[9���f��]�
=�Ҧ�����H��Y�v�
.`([O ��8XZvJc���e��7*;�]d'
@`�$;�]tGA#Kx��JDs���a �yw~1���>��F3�5�7
Ru�Mᆔf�Lw���Sw��c�)�գQ0���6�]t�a�(aG�X�FL�
�5u����0Ί5���)X�
�+eJU�������_S�@�4ImK9TZ��b*u�E��4�qe�]$.�n�$p۬�n�<
&���`��
!F��ģ�
-Q	U
��Kc$
�
I�����)1B��3��Z�Ń��*�n7F(Ӳ�Kz=���5�]Gm��LDD̡lD�ٮ��^�����1�Z̟�*�O[�d��j��
�|��Vu��V�����SԠ[��NȖM��k.
)�(#�J薇%��l0�\	�N�*~c�Uu�A�vK3����%�1$N�%�j��&���� e�*;R���ljȶ��q�
�
-c���;�t�
�Z�l��u븘ٷ  /�R�����9X}s��ZZ�`*d���y��{�TO
�fu�1�)�4枣�vZH��q��`G�4�m4�4�x�0y��=���
�6
���㔽<�y�<F=
�1���c����nC���$��
�1R
�],
>N`�� �����ǟ&g����뫋�������y�p�ݐ��8MT{i�°�j�c�(XA�:
�0{gg�YV=|�s�kqھ�M�����ߖ��|��
�^�a2R��c�s�X��m�=�A���V�Ò��Ա����d0��q�>��~_�� �$z<��nk�ߞ��
@���PH;"@�D����:O��H�<�׫%T
��헮�@��M���A)$�kn\��Z��K<,=!Jc"��O���L�J]&D<��n�8���5$���Qj(ֈ�Z���p$8Im�;Tb*<-��Y>^�Ȑb�@�c�O�b�Ȝ��~�9�G#ELe;��;�y��ؿy���:�bQ���0]�d�M�g������i�P\n��{ˌ���6��e D��d?L�O�5�zy�.����%l�qd�
ǰ��ja.aX�����z��?Ks�]0,]�7���J`�r�e�[��͛�_���-��_o�|��=o�
`$
/2�C
-b���2�����w&�M�<|�ؿq���[YS$����endstream
-endobj
-652 0 obj <<
-/Type /Page
-/Contents 653 0 R
-/Resources 651 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 599 0 R
-/Annots [ 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 676 0 R 677 0 R 679 0 R 680 0 R 682 0 R 683 0 R 685 0 R 686 0 R 688 0 R 689 0 R 691 0 R 692 0 R 695 0 R 697 0 R 699 0 R 700 0 R ]
->> endobj
-656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 697.2473 251.5332 708.1512]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 681.6807 291.9119 692.211]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d681067f9cf8984d1b3febca4488a137e1) >>
->> endobj
-658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.0956 681.6807 511.5056 692.211]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6f8c3e04d66cd611db5efcd92a6c52425) >>
->> endobj
-659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 669.7255 269.2671 680.2558]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d6a166787e251ef2cbaad9213d8e9d2653) >>
->> endobj
-660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.2559 669.7255 496.2448 680.2558]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69e4eb4979711bf6699ec8e0f335de476) >>
->> endobj
-661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 653.7853 313.4909 664.3156]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gge5679e4f41db32b7b91dfc81574fc1d69029c33b6876c560bf78b5b86d0367c0) >>
->> endobj
-662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.8325 614.5574 255.1444 625.4613]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.5046 614.5574 414.2362 625.4613]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9132c76cbee67b5bc2ac9e09af9c68c4f) >>
->> endobj
-664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.5197 614.5574 513.9963 625.4613]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf91304ca7fa8d3e734d1677709a37d5d28) >>
->> endobj
-665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 603.3195 165.7757 613.5061]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf91304ca7fa8d3e734d1677709a37d5d28) >>
->> endobj
-666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.3301 603.3195 327.7067 613.5061]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9fdbee5cd06ff135cbf9614b661c9e923) >>
->> endobj
-667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.2611 603.3195 513.9963 613.5061]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9b32d9464a7101eb1893562646a3cdd1a) >>
->> endobj
-668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 591.0206 145.2327 601.551]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ggf449476be1ec42bab45fb86e7478bdf9b32d9464a7101eb1893562646a3cdd1a) >>
->> endobj
-669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3619 551.7927 273.9164 562.6967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1) >>
->> endobj
-670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.3353 551.7927 453.3967 562.6967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee159042baec996bc386154a1825ad56de0) >>
->> endobj
-671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.2096 551.7927 513.9963 562.6967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee1a05a8932097b094ca179e99e2d80b6ae) >>
->> endobj
-672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 540.2112 269.2272 550.7415]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee1a05a8932097b094ca179e99e2d80b6ae) >>
->> endobj
-673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.216 540.2112 448.9225 550.7415]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gg5b805182b79b6fb873d0624f7dfd2ee13e5170687052e3962de866e2ab44d8f8) >>
->> endobj
-676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 459.0751 237.3861 469.979]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8e2db00ec6575b865057ffd3195327b) >>
->> endobj
-677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.2017 459.0751 324.5584 469.979]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 420.2208 215.2593 431.1247]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gdc14acd60d7235a72f88850b9a917eca) >>
->> endobj
-680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.075 420.2208 302.4316 431.1247]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 381.3665 215.0001 392.2704]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g7593947fa164900140d09c08b56c6cd1) >>
->> endobj
-683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.8158 381.3665 302.1724 392.2704]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 342.5122 218.3177 353.4161]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g56026e685fb0fe336a5f346580f84ff0) >>
->> endobj
-686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.1775 342.5122 365.5342 353.4161]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 303.6579 275.8813 314.5618]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g0764a0e607ec4de08a53e6d3b109a714) >>
->> endobj
-689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.6969 303.6579 434.7442 314.5618]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 264.8036 276.9873 275.7075]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gc37b94ca7dc0c8bb9797e6d91e16492e) >>
->> endobj
-692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.8029 264.8036 435.8501 275.7075]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) >>
->> endobj
-695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3868 184.0411 359.5475 194.945]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g1fd59c6502c8cbb9dbb802e4af34c940) >>
->> endobj
-697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3868 145.1868 337.311 156.0907]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb9fc89c0e89d4487a1f69a26849b682a) >>
->> endobj
-699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3868 106.3325 316.2701 117.2364]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g735949470e98393af90b12f534b06cba) >>
->> endobj
-700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-654 0 obj <<
-/D [652 0 R /XYZ 90 757.9346 null]
->> endobj
-655 0 obj <<
-/D [652 0 R /XYZ 90 716.2211 null]
->> endobj
-674 0 obj <<
-/D [652 0 R /XYZ 90 478.0489 null]
->> endobj
-675 0 obj <<
-/D [652 0 R /XYZ 90 478.0489 null]
->> endobj
-678 0 obj <<
-/D [652 0 R /XYZ 90 439.3141 null]
->> endobj
-681 0 obj <<
-/D [652 0 R /XYZ 90 400.4598 null]
->> endobj
-684 0 obj <<
-/D [652 0 R /XYZ 90 361.6055 null]
->> endobj
-687 0 obj <<
-/D [652 0 R /XYZ 90 322.7512 null]
->> endobj
-690 0 obj <<
-/D [652 0 R /XYZ 90 283.8969 null]
->> endobj
-693 0 obj <<
-/D [652 0 R /XYZ 90 203.0149 null]
->> endobj
-694 0 obj <<
-/D [652 0 R /XYZ 90 203.0149 null]
->> endobj
-696 0 obj <<
-/D [652 0 R /XYZ 90 164.2801 null]
->> endobj
-698 0 obj <<
-/D [652 0 R /XYZ 90 125.4258 null]
->> endobj
-651 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F25 148 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-718 0 obj <<
-/Length 2507      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�F��W�d�r<o`R{q$&+�"+"uH�)H�"�$� ������eG�J����������{ ��d�� R���rw��0��q���~\�qv��')
-)I�`�6$A�:��~J$Fc�1
�$�<ʟGc*��**��y�1#T�!��?f.&�j3g�`������<X�M.0b*�'x��(E�
N��^L/~���fAב8(d�`�8
-%��"N
�ĝ`!��DŽ"%�x�s
$LU���9�%�,�JL�����3�**ؠ���c%un_‘�R6�=�E��+�$-[FH�X�ȉ�U��d���x�s��js��n�woF�I���o�����#B�pv
O����������٩�L$���!�X`(���OB}
H%��x��B8���T!
�pP��^���K�:D[��ER�A='�
��������y���,�sQ�:�*b�.[�e���P&ź��[��Ң�GD
#� Vw>b��	���Zjgh G�rD	�˘�/bJQ��LUbg1UW؃�3�zL5�}=��F�Sg�i�}
�����˙Ț�O'����
�� ��u
ͯo0�!B��;��L<���̎b;8����ŀ
���FQc����`�f7;b������$���Y��M��43�������H�t�=��I�~{0
-Xc*�'H)A�K~�^�<Hk
-�@ڿo���_҆�i�9-��,|׷�7W��V��U��(��S�&��H
-L�9\z��.|I�օ�7��/�I at U���'R$%g�T���S]a���������pj�
-8�1���U5ύ��`2m��
� �~�QQ�!y
X	 �CrV���V
��ۡ�\�opE�g(`��Aˋ��VMa�����U��+��0�5��7���
��'-h=�8}��
O�F*�]E�%VX�	�h���sx�b߀�h�j���n�4v8�r;��
�.������"�(�Kz1�2\H�B��_rUMG��


- 
���
D�瞫�����Ϋ�X�ɾL�S�ܓ��:���ߌf����*^;�X{_U>�ֿ&��_���<�F�7�x�-�m��QN�&���Z`����
�y��`������Z�pP3
f�����t*wQ��ް��]
�nàu��,��b��.���>���t����G!�r�:��/�ׇt�c��t�e��*u�#��Zy��$
,
a�;iy��u�v&��9��KJ�%��6�6+���M�%���n[I��=a� ��J�J�
�Y�
�d��&�g�d�k0X�el\g�]~��n�� Y
�h���=��%�r�
�
}Ó|�W�>���"+7-\�e66�k��xvD�dA��~
9f
�׵�
��1���Sbv�w���ĭ#��_�� m3F��E��=<��rSi~ل2kZm�ꢝ��h�M�Z�4�X!xP��W
E���R�ϥ�7��:(�ҽ1���<�q�y����]@�<�g�vW�y -�t���#*��=�E�q�n
�E�e\ͶL�m�N@�)�$��QD*����g��;�u<�-pD =��Gn&��ɗ���S-7Qn
����h
L�1�@��� �:��~;O���<��x�
����{�k#>a���*�
?k�q�A�t�
(v��4���Zhȷ�v�N�t[�T�}�����;Hw�y�ك��.z�wqOZ�
4��)5�

-��)O��#���X�+�'0���= ��v�܆$�9�*��>*_|t��1
�5��P�\gD��0����Z`
s�-��:l�c��
-�B���90jd�F�W1��+[��L
�M#����x��c

������1IS�d0e蜪�L�^!��4��Z�eT�'k�}�{�£�d[8����-����X�LbI�8
@�&�
�
-�=��@�y�f
�N�tBU��M���>'�MOom4߀�և�}6]C�<��)�S
xul��a��FD�6wc!�����G�_֕
&%	Q�i��E\@�,����'�S�v�pp� �#�I
-t裨�x��
-�d]Ơ�Y	\����ꫯ��Jug�\''�M/���2c��#U�����U�~��r��M�x%	HoW�z��ӷ
-)�=�wl����um��鵬��k\31�i���ˏ��������|���d~3�N���=5�*�X�~�TRm��t� 5D�Ǎ�s
N���*t��|gS�4�+���g�ῬdX
���S;��>�p����疁Tg��TO��To�>��'�j�y�7��7�/
�æB�ZV	�,k�%Q�KA_R�����;AW���	S�I���\$�K���PH����i�������9(W�,$R��Ҳ��p��h��
wݹo ��K.�\�>
�G����χ��
�C�r�_�������u�N‘�n#u�E�8n�
�Ś��o?��?���
Ƶ�C��WZz�o6e���ݻ��'�,�!M�9J�wP[޵�F�7��q%Բ�!Ρ�aJ����u�|���n�Q+�a]��f>�jendstream
-endobj
-717 0 obj <<
-/Type /Page
-/Contents 718 0 R
-/Resources 716 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 599 0 R
-/Annots [ 721 0 R 723 0 R 725 0 R 727 0 R 729 0 R 741 0 R ]
->> endobj
-721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3868 706.9608 356.768 717.8648]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge439fa617415f2153f4793041c41bd9f) >>
->> endobj
-723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3868 668.1065 410.028 679.0105]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gef15021f65d2810602a9a1bd06fc878d) >>
->> endobj
-725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3868 618.2933 363.9611 629.1973]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g841003bef28b1052aa2b5297a529d4d8) >>
->> endobj
-727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3868 579.439 354.5664 590.343]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge311117a92fca76fc66fe3442ff6d09f) >>
->> endobj
-729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3868 540.5847 351.2488 551.4887]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g0aac22e2dc312e8c41418dd8d59701f8) >>
->> endobj
-741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-719 0 obj <<
-/D [717 0 R /XYZ 90 757.9346 null]
->> endobj
-720 0 obj <<
-/D [717 0 R /XYZ 90 726.0541 null]
->> endobj
-722 0 obj <<
-/D [717 0 R /XYZ 90 687.1998 null]
->> endobj
-724 0 obj <<
-/D [717 0 R /XYZ 90 637.3866 null]
->> endobj
-726 0 obj <<
-/D [717 0 R /XYZ 90 598.5323 null]
->> endobj
-728 0 obj <<
-/D [717 0 R /XYZ 90 559.678 null]
->> endobj
-730 0 obj <<
-/D [717 0 R /XYZ 90 503.2647 null]
->> endobj
-731 0 obj <<
-/D [717 0 R /XYZ 90 335.4176 null]
->> endobj
-541 0 obj <<
-/D [717 0 R /XYZ 90 311.2029 null]
->> endobj
-732 0 obj <<
-/D [717 0 R /XYZ 90 311.2029 null]
->> endobj
-733 0 obj <<
-/D [717 0 R /XYZ 90 207.7596 null]
->> endobj
-701 0 obj <<
-/D [717 0 R /XYZ 90 183.5449 null]
->> endobj
-734 0 obj <<
-/D [717 0 R /XYZ 90 183.5449 null]
->> endobj
-702 0 obj <<
-/D [717 0 R /XYZ 107.7135 106.6172 null]
->> endobj
-703 0 obj <<
-/D [717 0 R /XYZ 107.7135 90.6769 null]
->> endobj
-716 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F25 148 0 R /F67 170 0 R /F91 464 0 R /F11 737 0 R /F8 740 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-744 0 obj <<
-/Length 2327      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�H}�W؇��U���� ^G�f�q<��0�
Fj��H���b8_�ռ�I6Քw,� �<��>U}��M2��G�P�0.��
���3R>
��q
�����[)I�`v�[�	J�`��}�Fc*��r��v���ⰱ�>ٯ��h��rH���/g���U�"�$���~���/g1���	�`D��������>�x���S<��5"N0�R���q�%��
E0E�Q
-��
a)��!��g
s2�0���������������l>��v2��:"x�i����=v����-ʣ �EE�VP�[�c�Mw�,Y�����������W��m�q���%�1K�6��k
��!�X���?���C\����Q��6+e`
�
\�X������
K��tr1b8�L����1&��T�c�0�!���v��9sT
K�gLE�]�QIJLW^92��޴JC�������NI��_7A*	�=qyTW3��

ь���&��ܑ-oJ٫�Ւ�1�I'�
�E(�#%�!:�La<��aS�����o�+��,�o��l�����v8��J�
�zcw�l���Z,,Ww#*�w6�c��e�����.(:-&Z
�VH�Ugn+и�
-[�6c�
�/&��\8��h�w9�~Ew�{XU�W��ɴ(��C�������L��#8R
-Zw��
-Cj6
a��n��kާ�Y�I�^���VE�3d�V�a1�*XepK��ok� )��G�QaT-�8���fT'��%�#)""+�@��G\
#���w�d7\��]x<&�
-cj��ĴR͘N��q
�!��ׄ��V��H�`=�]^��iz�<�w��*PYЛ`Λ��H�b��
2���3(-}t4
i�j���
���
�a5�
�!u��
�a�s���=��y�D�(�K��|�N߽yU#� bB�89
�՜�@��6�z)�0[�CK���o�Y���`�0x;Ұ��^���b4��`�0
У� �s��:f�����$K6vo37����� D���,�i;��Ζ�ojxO`
�,K�nX�5{=�M�$
1{�\5q�a
�L
#ՙJ��GU�)����G
-�S]
� RqR{��w�1��������|�,��L-���ئ�#
-L]즜�#��VW�MK2���E���j
dsi���*N�q���*]�K۱%
)����O
�`Q�A�
��a1���f�ÞfHj�����.e��鈈�EAL�:��r�o��{	�����m�����e��fR5�t[>������F`��炂��R(�7���V�JF8;O

�㺉���
&��'7��|�{X����"ދ�nu�n|c�%ͼ��JS�&:�>�4%j\����E���<�8�h��0lT��
-��J�!�
��,��T T���=��Kȴ�yo[��Cj�||��13Y�P
�ꉇ�$��V`6�~2
-z؉�x|om�%�
��N}�dT�0��
�If��m20�;�y\t�zW��Ao#
-��0};�=H
��ȴ'
TNS�b�F
��
��2��wG뜾���}6bjhA�0L]d�
��[q/��i^*.����?���`���4���=z�VM�t� ׶x��w3������� ,Fd�c,m
�'�>�����o3/<���3��-�R`�\a��QG�H}֠�q
9~u֘��rQ�#�
��\�>�,`����=BY�E���6&�
�'e�{�j�P���f�y��!JB&���Q=�Q�aY��
�	��LM%��ʍ��E�}�f2A�´�J<*
���
6��0�&�fr���R�HY~�-.��*��.�,�51�`��R-�̈́V/2��uȖ�2� ű�*��ݻ_}�iq��s&�W�o�'0������/�f
�G9�
)�%��:D�,�
�b�>*�vn��V���V�_������Nc��C���.��-nܚ���J:�˝l���_�t,��X}wI7`�
-ѣ��W�k�"z
wZ�y�gD�
��<�e�D)�_
-�&e&J��c�F#
{�fN:4�a��;I9�!����F�LB��U�AA
M9W
����i�p����2I�թLU�
��V������Lr��FD��x4�`�7�ֹ0x 
�u��`�H����7�+CR#ELc� a��t��PD���֩z�m�S������.�����K�d���E�$�?$��~z���?�����<{z���d]\�y�չ��.1�݄!aG
r�)��Gk�>@^�aM"�������(0���84Q5V����������'�ءC�z��j�v
WV2���42�9,.a7\��m���*u/'�'�A��uE�_`��endstream
-endobj
-743 0 obj <<
-/Type /Page
-/Contents 744 0 R
-/Resources 742 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 599 0 R
-/Annots [ 750 0 R 751 0 R 753 0 R 754 0 R 756 0 R 757 0 R 758 0 R 759 0 R ]
->> endobj
-750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 186.1137 223.166 197.0177]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_5fa6bcd4ec3cf844646033688f2fdf0a) >>
->> endobj
-751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.9816 186.1137 298.4628 197.0177]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 138.2931 277.4021 149.197]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_af38dc5a17ef89e16c45f363397afb59) >>
->> endobj
-754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.2178 138.2931 352.6989 149.197]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 90.4724 296.5201 101.3763]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_fabc584f4f391708d6c0d7c47030471a) >>
->> endobj
-757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.3358 90.4724 371.8169 101.3763]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.6824 90.4724 489.1757 101.3763]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-745 0 obj <<
-/D [743 0 R /XYZ 90 757.9346 null]
->> endobj
-704 0 obj <<
-/D [743 0 R /XYZ 107.7135 723.0653 null]
->> endobj
-705 0 obj <<
-/D [743 0 R /XYZ 107.7135 707.1251 null]
->> endobj
-706 0 obj <<
-/D [743 0 R /XYZ 107.7135 691.1849 null]
->> endobj
-707 0 obj <<
-/D [743 0 R /XYZ 90 680.0069 null]
->> endobj
-746 0 obj <<
-/D [743 0 R /XYZ 90 665.4366 null]
->> endobj
-708 0 obj <<
-/D [743 0 R /XYZ 107.7135 587.7018 null]
->> endobj
-709 0 obj <<
-/D [743 0 R /XYZ 107.7135 571.7616 null]
->> endobj
-710 0 obj <<
-/D [743 0 R /XYZ 107.7135 555.8214 null]
->> endobj
-711 0 obj <<
-/D [743 0 R /XYZ 107.7135 539.8812 null]
->> endobj
-712 0 obj <<
-/D [743 0 R /XYZ 90 527.7617 null]
->> endobj
-747 0 obj <<
-/D [743 0 R /XYZ 90 513.1914 null]
->> endobj
-713 0 obj <<
-/D [743 0 R /XYZ 107.7135 436.3981 null]
->> endobj
-714 0 obj <<
-/D [743 0 R /XYZ 107.7135 420.4579 null]
->> endobj
-715 0 obj <<
-/D [743 0 R /XYZ 107.7135 404.5177 null]
->> endobj
-58 0 obj <<
-/D [743 0 R /XYZ 90 386.6697 null]
->> endobj
-353 0 obj <<
-/D [743 0 R /XYZ 90 354.7412 null]
->> endobj
-62 0 obj <<
-/D [743 0 R /XYZ 90 354.7412 null]
->> endobj
-748 0 obj <<
-/D [743 0 R /XYZ 90 254.284 null]
->> endobj
-749 0 obj <<
-/D [743 0 R /XYZ 90 201.1921 null]
->> endobj
-752 0 obj <<
-/D [743 0 R /XYZ 90 155.3939 null]
->> endobj
-755 0 obj <<
-/D [743 0 R /XYZ 90 107.5732 null]
->> endobj
-742 0 obj <<
-/Font << /F65 161 0 R /F91 464 0 R /F52 145 0 R /F11 737 0 R /F8 740 0 R /F25 148 0 R /F67 170 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-762 0 obj <<
-/Length 3162      
-/Filter /FlateDecode
->>
-stream
-x�śYs�6���+�RU��
"y�]�*���\�D۬H���ƙ��m�x	���nM՘�����C ��?��x��B�q�X�n��	.}C�Ϸ��m_೻�7_I��HK*w��I���.�6�."�[�1^
��ϫ��7��,��}�?�n���o�mQ?��ž�T<��d�b�]���%�V��}{��]��9+�$Ɨ����;^l��oo0b:�8��hM�N�?���|������0��LĤ�p�Q&��)�Y�s*�fT(�����)�� x������.��	�g�r�ilhr�g
q4
-������
�c��{{T=�0B���]���?�\[��k1�3'���R�m14��7[׌�U��rW�Ŋ�������WL-��-6����o6����yJ2Ĺ`����S���ʉ�q�"� �8Y(B�x}S37��[B�����Q�B��%a�?�
�d"D!Ii�b���(s�wv�
-�v�T�.�k24[Bs��2
��Ȩ��~r"?
�������v�	�ț�|�wYQq�%��u���
���xH3z���%H%<��B\�k�a�'v5�4Eԥ�	�)&z}p�Q��I����R	W���L�N�iڏl���������&3�(f���uD�Č��v����
-3̣��`s<�ˈ	�{�o���|W8�G4�����0��8�^��7h��I�3�W����&��s���&%��H�-�%��W[®���,� �<�#��9�������6�<Im̐�J���n2,MˆQ��p�a���q��I�#�����+����Jy��1d����rc�Z�L���Px���>�jߴ���k�-M�$H%
�Z E�($M��S�k(1�1��|OG��^�D�H5<d���1�(˸�1<�ّ!

s�
 
X_$�jH��Ό9���: �S�RX�bi��ư
���7�W�F��j��X�O�M�-�"
o
-��$Dă���dٸ3�g�H���d��T/��`����b0#�'B�1��!2
-IX0���*h���
-�ٛ"��r��yu ��YO1#�P�����saH �C��Wv�]��N���^O�X�i���oʽ[�q�*{��+y)�[{�M���m���O�����"o�Mk�[I"�o@ �0��B��z:��
f�� �5�f
-&�
������ fB�S�on����t
�i�r�W���-!&�
t	�S��q_,� ��q�n�q®���l�C�i'���FJ��̚Z-��R	�(0��tz�
s8���J�]� ��`���8�
)�=�C�1�z�H��.
 ��b�F�uD(
Č�?�ν���|�4���b�盜&�TV����xS-����,hfH?x�)L,p�B�K#��0���]�����F/@\��X�y���ݴք.��"H%\��a�V����	����X��c����:ܝI�J8�(G�QHⵦ�ԬK��H��#��eJ{���X��1_
��l�w��8fV'R��!A�&)��rUR��R:�/�-��.��n��u�#��rk�j�lL�ڪ�/s�
n��rw�;3�"�ܔ[��l�]���m��,�Q
�� Ȭ�J�)�a�̂�U��ۮ:�s~8SKW;��U��;�
U�H
܉��v�W\,+kt�V at V���)
����ۦxXQ�<vm���ñ��.���6���S��
�\�$(Ē��+�P>a� [...]
-��Ui��K;/6L;ź��?��St&�@�K;�;�vFSH;8qig��������\�M�=;My3�nF���
���1���"Y��M�ڃnOy]:�AO�;��I7���!�)��ޯ)�D�I�?X�g�і\�bIT�FP���P10A��h	�c�T�NQA�VR�#��@����Z`����(*���*NHX�!!�%�
B�BHGy��O9 �T�rH!�@�0���
���:lѕ�K�O�	�@�#�
���?L���(������3
��z�C��x�z9C�[�`X_,° �dX�n`X®c��l�aC�i�%���z�����7.ؾdʼ(���R	�(8�I6���z9C$��҈���c�2C2#����C��Ѓ�($q�ü
J̫^�멈��K�ޚ3�n.���+^���x[�i7�q�	F!@�N�_SD������f�Y�������)�1'n�3�o6Ɯ��
��>��c��Ё�'u<N&��)�m ���￴}���+�]v�M��%�4
塻�E���2�a`����7�'�h�����a�0g4
� �p�C:��С�8V0���#�0/��2l�5�{�u8νY�1
�j�k��

�����^{:f����٠�i��O��狢�˭��㋢Y��[��f
6m��vI�n����C���/�?�Jp�½
wh��m�v��v��k

Ÿ�
�V7
�uk�t��T��~�����r�)�i���Pv3�	����ث����Z�iB���,�>M�m���k�älIuz7�s
-a>�

0\��C썪�㭝i0����O�X7���I>2[	�v\��������\$��]��
<�;�֋i��N��t
�~��;=�źl�=��~3��>u�B�*y���ڭyz|o
-�
-�mkH�^/�}ƿ�
閅O��u���b���w����qg������
���B�W�}�j}4Q
�U�O���ϸ{�W��3��S�/��'U����
���:��L�n��g���
-Q<O��k���3=����-g���1sA(a��؋�
����"��J�|�y�Y�FB�/�C  ۄ��C�.`2C
-�}�%�
-G�S�Ġk�5�)�wn��m�}�\ljw�}�P��ϟ�k���?�,�旦��eB������oO����S2�#aۉ��Ɵ�b:�!Rh6
�����?��?r7����Ee����m�y����
:��C���
4�I1�a\b�x��
B_-ġVȔ
��tW�aG�lgw�<�ͷR3���\�endstream
-endobj
-761 0 obj <<
-/Type /Page
-/Contents 762 0 R
-/Resources 760 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 599 0 R
-/Annots [ 765 0 R 766 0 R 768 0 R 769 0 R 770 0 R 772 0 R 773 0 R 775 0 R 776 0 R 778 0 R 779 0 R 781 0 R 783 0 R 785 0 R 787 0 R 788 0 R 790 0 R 791 0 R 793 0 R ]
->> endobj
-765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 696.9982 285.9598 707.9021]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_39db5035590b4bf7017a43cdcca6a49e) >>
->> endobj
-766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.7754 696.9982 361.2566 707.9021]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9519 660.1364 304.9239 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_1ef606afeb25edded051be3b0c728086) >>
->> endobj
-769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.5857 660.1364 380.0669 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.8956 660.1364 494.3889 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 623.2746 230.6078 634.1786]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_cad04388edea0d80b20c40266a3c3f14) >>
->> endobj
-773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.4234 623.2746 331.9168 634.1786]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 549.8595 244.4559 560.7634]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_be5af687ddf08c6379bd115d210ac22f) >>
->> endobj
-776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.2715 549.8595 345.7648 560.7634]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 512.9977 221.2034 523.9017]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_001b2a61c18a500a446151a9024de3fe) >>
->> endobj
-779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.019 512.9977 322.5124 523.9017]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 465.177 252.7549 476.081]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_474cce1b8348a126a8496cea7952a1f1) >>
->> endobj
-783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 428.3153 222.319 439.2192]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_526a2d8ad27e00b633408a36830dc2ae) >>
->> endobj
-785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 380.4946 223.9729 391.3985]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_f0b12578ecdb0571ca51ee09789b2fc3) >>
->> endobj
-787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 296.1206 238.3687 307.0245]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_a1816497499ee569563a6d97a4ff553a) >>
->> endobj
-788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.1844 296.1206 339.6777 307.0245]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 259.2588 241.6862 270.1627]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag_1e3bb22af6b60660fcb8d201b09ec7ed) >>
->> endobj
-791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.5461 259.2588 403.0394 270.1627]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-763 0 obj <<
-/D [761 0 R /XYZ 90 757.9346 null]
->> endobj
-764 0 obj <<
-/D [761 0 R /XYZ 90 714.099 null]
->> endobj
-767 0 obj <<
-/D [761 0 R /XYZ 90 677.2372 null]
->> endobj
-771 0 obj <<
-/D [761 0 R /XYZ 90 640.3754 null]
->> endobj
-774 0 obj <<
-/D [761 0 R /XYZ 90 564.9379 null]
->> endobj
-777 0 obj <<
-/D [761 0 R /XYZ 90 530.0985 null]
->> endobj
-780 0 obj <<
-/D [761 0 R /XYZ 90 482.2778 null]
->> endobj
-782 0 obj <<
-/D [761 0 R /XYZ 90 445.4161 null]
->> endobj
-784 0 obj <<
-/D [761 0 R /XYZ 90 397.5954 null]
->> endobj
-786 0 obj <<
-/D [761 0 R /XYZ 90 313.1019 null]
->> endobj
-789 0 obj <<
-/D [761 0 R /XYZ 90 276.3596 null]
->> endobj
-792 0 obj <<
-/D [761 0 R /XYZ 90 223.9312 null]
->> endobj
-354 0 obj <<
-/D [761 0 R /XYZ 90 87.0773 null]
->> endobj
-760 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-796 0 obj <<
-/Length 2833      
-/Filter /FlateDecode
->>
-stream
-xڽ[ms�6��_��}�4�x'����5inڻvz��S��1mk*�.E��@�+�s����rw� �gw��?��x��
i��bs����?.������X�۫��7R,4Ғ��Ս� 	������e��jM0�ˇ��������E�)��=
���zS���z�u�T�u�߮�T���%�t�o���mqS�+���YPH$eK�W�]�p��Up��/�$ƽ?.~�
/��
?\`Ĵ�G���hM��2��xw��a
� l<� -���
a)ؗ
����w�?
�qM�ի��˧���>�����ͱ�4;0�.�����ߕ�xU����n{}�>P�̺�
Iʹu�/�r�?n���D���L+��눮
e\eN��ms}W�ۢFw#�CRI�����œsM�@�1�X3>baE���)\dބ����ۿb����.o����~�k��������}Q�F�*ҟ̙FTJ���"�i66	8G����r�0��^�c�5K0G$��1�v�̄�������?
v��}Q6��������2�!�c��u,f=�
 �S���6;���]J�:K��R)�T"
K�cva�[�
-I�zF͝�։���;���V�
�bE��1�&}7�
��lp�T�=��4�E�,��]X~�`yn|�|҃�^�4��}4�>
���.��f#�‘V�{���1 0�TB�(�sEF� Џ+5���)
-P밞g|���۩�t8=�2�}{��B
�+S����
�A�-ݯ{0�X�ݮ�;���ZyN�n���e��p$qr�
eY�� �R��
-�=٠�s�����C�<��d�y
-�`D�*t^,
t��9����gnlv
�$��
ȩku�|��@�b��M]�2"�U?�v՟;H����$
 V�!�
���y�u���}��?
R���d��c/*Aj�Y�d�º���D-�
	�ع
� ���ӆk*�k� D& 'P:�C
`V�d���A�0�� ��x��ֱ�����
�y1c=E)
rDJ3�
J�u�PJ�)�A)���D�טD�_���޳Oe��
��o��;�`F|U0ND"� `��7+3aYY��ӳ��~sr�h=r��w�lZ�jK��
�M;��:#��-��>%(P,1�y�gb0�Y�K	1O0`K2`�p�v
�w̎1��x���i��)��
�r[}}A���%�3C'8��L
�*H�K��3�����q� �=c�����l{�6(�V�������q�|�4�v�$F�MNQFq[n
��<g1�0W�Y���,/f�j������+�	ݟ�4+��H�*��<I�����BL�d�V�hu0��T7�0]��h:}V�
-֬�)�bi�α��]?/c�
�!9�Z���X����^�Z�žh�Oo��
Q��	R	�׈(�����O��
�)UOx0����LÃS��)U��fR� vN��d�����^�c������r���C��m�о	(�R�!)�73�O��˱��R��n���翯^zk�c���vY�CUnî���j�x%�����f��E�
������"~x_�b;
�,�HQ�?}, 
��f
-�
t=������"��b&į���i	���o5m�M�?D3t��µk\��V�B���Tϟ�2E��
�$��
���(�cv���vI��L!��S�z�Nf�Em�ov��l�j �����, �����
��qn��|ҁ��
x ���.�R^� Q�BB6�`��]%/���FFX�L4X�
R��a.
- �������C���Ăaa�D,��Гn�h��~,��γ&8��xz6kF:�XӋy�5Lr�>�v}�$�@J���Dw�&�N�t�N�<(4ƶS]:^<�O��gn�P��'I�1�1ʄ��B�x��/4��i4!	�	bI��ΰL®c���Q�aHP޷:�2N>e��l��A�`S�aί`�p9� ���sLw`�8���8&�@_o*D�
sF�A3�:Qd�b3EF;�Ƞ�K�,��T̀��j+
�+����7
f���
��2��(�o*�P��:|5��f�/?6x��aĠ\��/bP�
*��y�4�E
-�@lޮ���h��
��tK�|��@�� V�����f찊�
-v>DA*�b�t�f�crf�N
����ꘐ���B�2,S`�́�3�?ed�%�G���
��)����3���Wl>>A*�����4��"�U�,��t�a�kO[6��tљ���x���~(�+@�´�nm
��fz��io�����SA�q�'d�&�XY�#��#��W>�5����D
-��<�t�F�qʂ�7�5��%�Qh��^>��95.π*B(��2�“f����4}
�)��3b
�����
���q�_M������z�`�ŦO��	ǛO��c�Wv�q�lZ���֮�-�k/��>��
g����=ԕmO�N�.��*���7S�YY��X_�S���PN�ْ�����:F^�5C]�og��Օo\�������~	
p���vw�z
�!ǖ<.M^N ���+:R~�s�m�9����d��
��{��^���Ei����=��7�~_��ga���1�/G�� �Z!�h9�&��Y��`�ðѝzE"�1�֚w���m��{�5���?���]�k���k7��oyy{�o��?:��ϡ��^	�t��1/�|��`L�!��6��̡�|W
�
r]�Y7������?�=+��:z�E�,��@���]�<���|||D�:����K��˾_�g�N�
�:
|��rA��u�+a��W�v%�xog7=�8��{�
�endstream
-endobj
-795 0 obj <<
-/Type /Page
-/Contents 796 0 R
-/Resources 794 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 831 0 R
-/Annots [ 800 0 R 801 0 R 803 0 R 804 0 R 805 0 R 806 0 R 808 0 R 809 0 R 810 0 R 812 0 R 813 0 R 814 0 R 816 0 R 817 0 R 818 0 R 819 0 R 821 0 R 822 0 R 823 0 R 825 0 R 826 0 R 827 0 R 828 0 R 830 0 R ]
->> endobj
-800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.6717 578.9221 330.9327 589.826]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_9af8efc183a5a4cd4475146207f92c8a) >>
->> endobj
-801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.3143 578.9221 513.9963 589.826]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.1803 532.6567 513.9963 543.5607]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_38ece4277d5885940d45d6c8465ca19a) >>
->> endobj
-804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.4123 520.7016 298.0942 531.6055]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 520.7016 513.9963 531.6055]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 509.12 163.6097 519.6503]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.6227 463.4773 513.9963 474.3812]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_9c7ea131b285ad7aaefbc1e2cf579512) >>
->> endobj
-809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.4123 451.5221 298.0942 462.4261]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.3021 451.5221 513.9963 462.4261]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.5472 405.2568 338.25 416.1607]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_de6bd909f8bb4bcdaed4dced85c1f5f1) >>
->> endobj
-813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 405.2568 513.9963 416.1607]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 393.6752 163.6097 404.2056]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2208 326.9033 362.5885 337.8073]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_7f1fc328bf8f0d2ec92a6599ce7fe2d3) >>
->> endobj
-817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.5192 326.9033 513.9963 337.8073]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 314.9482 189.6219 325.8521]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.0637 314.9482 306.6719 325.8521]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.5284 280.638 359.2809 291.5419]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_7ac19545b812b9ed2261c4224a6b9e9a) >>
->> endobj
-822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.5192 280.638 513.9963 291.5419]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 269.0564 163.6097 279.5868]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.2434 234.3727 346.5537 245.2766]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag_74f9a28eb09ee718502409ab43b657d4) >>
->> endobj
-826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.507 234.3727 513.9963 245.2766]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 222.4175 163.6097 233.3214]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.0705 222.4175 369.7646 233.3214]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge8610cd48952cf1dc71b525235f6f583) >>
->> endobj
-830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-797 0 obj <<
-/D [795 0 R /XYZ 90 757.9346 null]
->> endobj
-66 0 obj <<
-/D [795 0 R /XYZ 90 733.028 null]
->> endobj
-798 0 obj <<
-/D [795 0 R /XYZ 90 642.627 null]
->> endobj
-799 0 obj <<
-/D [795 0 R /XYZ 90 593.3626 null]
->> endobj
-802 0 obj <<
-/D [795 0 R /XYZ 90 549.1196 null]
->> endobj
-807 0 obj <<
-/D [795 0 R /XYZ 90 479.9402 null]
->> endobj
-811 0 obj <<
-/D [795 0 R /XYZ 90 421.7197 null]
->> endobj
-815 0 obj <<
-/D [795 0 R /XYZ 90 341.3438 null]
->> endobj
-820 0 obj <<
-/D [795 0 R /XYZ 90 297.1009 null]
->> endobj
-824 0 obj <<
-/D [795 0 R /XYZ 90 250.8356 null]
->> endobj
-829 0 obj <<
-/D [795 0 R /XYZ 90 178.6188 null]
->> endobj
-794 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F11 737 0 R /F25 148 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-834 0 obj <<
-/Length 3196      
-/Filter /FlateDecode
->>
-stream
-xڽ[ߏ�~߿�H�b
�J�ͥ)�6A�\ч$X���]!����[l��%��$���}X[�43��7
�d��,
-�PB��q���^��=
����Wp~�zw��)*$��ww�I���.ޭY*ĮWc���77ow�}�X5����χ���t����
-����������?UwU{M�Ҁ��&�,����wW}�#�
&���?W���k��+�X���	�`D��.�W�2�es���?���DA����HK��db(CX
-�#h��%�L󅇙��J����pl�y�_�Q��
�5���*אe!���D�?KBP!�\���Zs�i�i�n)��1^��ͻk�����0\]6����cs�ջ�
�۵Ç[����Gs@����QHR>$�us�y\ۘ	��!Uh
-W�"�R\k
��R:���Z:{�I?"V�
D��t�0�C6~�6eW�|�S���X�v��I�Pv�Su���~hv��ھ��I��"ӱ�
-D%
!��cC�؁��3���H��*41��9"
-��a��`�
���۵�χx�r8��Ͷj�ɸ��r���s�9dzb�Y�*��&�ZT���� ��*�סr~�D���m
i�ze�q<�Ys�����B���>��CS]S�|���4.*1��)�
���C%�]!'�0�a���0ynB<>�ԮKI�2�A1�0U���Q�Ph8y��HS-���,B @��0Gh��ش7cR2�e�84S�y\7PctX3�9MM쁍>v�‘�X
�pzte���ެ�2
���{�������TQ�ں��pr�Hs7��
����u{�Բ:
�.
�ʤ��c"���$���0�t��C���if�<@�%9f�fM�s��`yf

��-��1[�6�l#�g0[���j��n�[���u����tn3f
��xT&<bH�fF%Bt���#�����F0����
���O%ã桌���1*�4�
/8��K�.�� :���F�5��
-FX�
�6+7��yleWÝ`Z�w�/��
�@n��
ȡvPj�@ܺ�,Á
����`�3~-���8�S�gNOs���O��9��m��32�qY�tv<*�(b��(	
-�"\uf�<>���KHPh�pY���Q�P�$({���d�E���b+��v2_�I�̪�������*O+�O١�o�j/��,�+T0�� _���¡V!,R�
�d��ZEZ'@��"�l�t��F:��Yۛ��P7����5���w/ �s]Y7p�pn�l��3��x�lO��K��=-5�
C��Ⱥ��@�tq��/�^��O9
�2��f���~����(j
F�.zk at Khic���F
(#	<K��TQ�q���
�ꓗ�P�`ᗓ2�KY`0%ei�N�B�Q)È�'^Zf�9�3�/V�-
��iN�t�<*'
kX���
?����d���s3��fv_"j�+�N�G�C�ZA�Y Or�:M�#c�����e����;�S�:�2���ԤlX�֣2�PI� ��ʬs�Vt�\�_���~y�H�퉟��\�aO���6�U�Q'Spd*B�;•k��Y
#uV LL�	,[W^��� Lpn�^8J��k$A 
�f����Q�l��� [...]
-�ЦI���
�h��H��������q��
-F�Q0P���YDU�FD�²-�~��5�)g!�.b� 9T�n�1u	��B��'�u,��c��u��z`0E�i�n��nc��
����U7G�,ƫsvBa̚"%�
�ʄC�jf�p�b;��0�B�s�����v_�Z�ZFʼ&�L�Ge�P?Q�!���iaZU��8�� -3a}�\s��Pn�u�[�l:'��J����8%�lYJz���m��5�K���8�3vlm���5�q���p��l}�7�Mk��U�=�נy_�o��P�O�[�[b�{1x�HB�
�
^W�B �X�y]��L����t|�k���{��ݺ�{�d��D���qtٗ͘c
-a	
-��,���z
-���>rmqx�!0�$�������5�a_��7+�a�q*t:1
�	�Ab�db�@b�8-��gg����'V_��A��D:
���� (�C0
-(��qf:�FF����9~��t����ѐaN`"Qs��W�
�
-a��1�3
|�uΜfl�r���e��>���C3Q�;ب�V��k���DD�
�����z�������wp�Ľ���fg6Zb��!Y���m:-z�Pf�D}ꊞhq����Ah0!�VFn��i���x�Z=��7~���%��\xT&���2��� Z�ÄV at Jg���L���)`���)�L@
�v���(�LAO�5��蕞�F��<lx��{l']�=PHW���2E�}_�[Ω��lL?6
�
��~?�n�
�+��3z�]����C]n��Mz _�%zp��%e�T��>Ac&�җ��I��x��`���=,�c�����:

�F�Z��6��(k->�f�4����}��i�
k��L�GeB�J"���Q��
�}���ܤx|.��ݗ�1?��:����)F�S>(V�2�47�w^F<>��nd��
-���
-S�%�P`�D
	���-�x�t�)E7�:b
-	(>�CɡV!,� aYϙ"Gk}��.�Jw��E:�H逃ͺ��R�����}�l+���ojC����GWbY�����*����v�J�� >u�����{�F���=��j`#e�|�QU������LiGگӎ�퉖,E��k�%��s�gvep���
q
�d2<*
U�u�$�x
iS�&��6_� 9X�t2<*7$`~�9
-(��e#Ћt 3���}�^�q�ӌ\��Z8TB,
-��F�/��m�m{�O���K�)F�&a�e~�x��@�q�=��[K�?�6�պ�_�Q�o������ces�X�W��t�Z�w5�u��?�[y��l
��q������c�n	�ġkx�x�s5�����9��}�>�=����`\1��U���]�����������=�Ǧ޷�����|3���*M<��b=!�a
�_���(ow�_���mi�fb'�E�?R�b�endstream
-endobj
-833 0 obj <<
-/Type /Page
-/Contents 834 0 R
-/Resources 832 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 831 0 R
-/Annots [ 838 0 R 839 0 R 841 0 R 842 0 R 844 0 R 845 0 R 846 0 R 847 0 R 849 0 R 850 0 R 851 0 R 853 0 R 854 0 R 855 0 R 857 0 R 858 0 R 860 0 R 861 0 R 862 0 R 863 0 R 865 0 R 866 0 R 868 0 R 869 0 R 870 0 R 871 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R ]
->> endobj
-838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 541.1482 261.6017 552.0521]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_f6cb7e34c1083df796fb12aa463739e6) >>
->> endobj
-839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.4173 541.1482 375.3342 552.0521]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-841 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 504.9467 334.0992 515.8506]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_ed43bafe74e2b291d7b980c6ee8f3d5f) >>
->> endobj
-842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.9148 504.9467 447.8317 515.8506]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.5007 468.7452 342.4657 479.6492]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_e5f214d520a1f232251bee39685b62a2) >>
->> endobj
-845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [349.6763 468.7452 459.5932 479.6492]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 468.7452 513.9963 479.6492]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 456.7901 208.9895 467.694]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3156 409.6297 374.6014 420.5336]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_f03d1a4f7f355971ac31ec1e4cb7297d) >>
->> endobj
-850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6269 409.6297 489.5437 420.5336]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 397.6745 261.0238 408.5785]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.6748 350.5142 382.5182 361.4181]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_68de3cffc4bbfa2a79c06c51adb653a8) >>
->> endobj
-854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.9029 350.5142 496.8197 361.4181]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 338.559 261.0238 349.4629]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 302.3575 269.0435 313.2615]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_a8fd21a451fe377a328d750951ce36f3) >>
->> endobj
-858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.8591 302.3575 408.7882 313.2615]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.6528 230.7582 319.422 241.6622]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_8cba47c10a4d9a84b170b37932dc04e5) >>
->> endobj
-861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.7847 230.7582 464.7138 241.6622]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 230.7582 513.9963 241.6622]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 218.8031 190.7379 229.707]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 182.6016 270.1594 193.5055]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_8ce02af4c13862f7988ad3e43b5290cf) >>
->> endobj
-866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.9751 182.6016 409.9041 193.5055]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1266 146.4001 271.2615 157.3041]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_5a6326e465cce738cb09fdd8df1d92ba) >>
->> endobj
-869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.098 146.4001 415.0271 157.3041]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.8522 146.4001 513.9963 157.3041]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 134.445 223.9427 145.3489]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9152 98.2435 265.4486 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_2c60071e2c7adec51fc7175ddb7a3bff) >>
->> endobj
-874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.0737 98.2435 411.0028 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.8522 98.2435 513.9963 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 223.9427 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__const__iterator__tag) >>
->> endobj
-877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-835 0 obj <<
-/D [833 0 R /XYZ 90 757.9346 null]
->> endobj
-355 0 obj <<
-/D [833 0 R /XYZ 90 713.5987 null]
->> endobj
-70 0 obj <<
-/D [833 0 R /XYZ 90 706.4868 null]
->> endobj
-836 0 obj <<
-/D [833 0 R /XYZ 90 608.1629 null]
->> endobj
-837 0 obj <<
-/D [833 0 R /XYZ 90 556.0615 null]
->> endobj
-840 0 obj <<
-/D [833 0 R /XYZ 90 521.8824 null]
->> endobj
-843 0 obj <<
-/D [833 0 R /XYZ 90 485.6809 null]
->> endobj
-848 0 obj <<
-/D [833 0 R /XYZ 90 426.5654 null]
->> endobj
-852 0 obj <<
-/D [833 0 R /XYZ 90 367.4499 null]
->> endobj
-856 0 obj <<
-/D [833 0 R /XYZ 90 319.2933 null]
->> endobj
-859 0 obj <<
-/D [833 0 R /XYZ 90 245.6716 null]
->> endobj
-864 0 obj <<
-/D [833 0 R /XYZ 90 199.5373 null]
->> endobj
-867 0 obj <<
-/D [833 0 R /XYZ 90 163.3359 null]
->> endobj
-872 0 obj <<
-/D [833 0 R /XYZ 90 115.1792 null]
->> endobj
-832 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F11 737 0 R /F25 148 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-880 0 obj <<
-/Length 2691      
-/Filter /FlateDecode
->>
-stream
-x��Zms���_�I?T��a��$�δ�\�ks�s>%O�dN$Q!)��� �o"��n:�`R|��\,��@f����
-��l��³
���+�<����m�?o�n^K13�H*g��Z�$HPBg��_�
-��5�����w�~S
��2�����
-<���b�,Sw�>]�ł�E�OD*9gd���W��SK�����/���
-,��
-#f��=�
F�:�]q��������
��~a샙!�Ia�#-��aHr��zLaQMA��
a)x��3
���z�p���t`��(�l�/�o�ܺ<�Z�1��0V��/��a��5b���8i�|_V�2����<������!��U��|����V��H�����׽'�0��|*�t7b;��Q�z��1�1R�����@(A�q2S�"~{�1/CE�� 
F�Q��0b�TF��y���T�̚�+�b��Zo[�P�G��R��!]�0��̀<�Sj����
�ޗj��f��:
-�~��o���1GT�
-�C���J�� ��ã�{R�+��6���tUb����S�tol�%x���LRK$�d��][���5�}Z
��� $��!/�*{����!�.8�o(�p�l=B.|`(�����~�F�c�ݺ�u^����pC�<C��HT�r��T9l�T8�ԛ�dU�K�;l�]�� ����دyH�,�W�V��
��+�j�L`)���2B��`��5�D|H����$�]�{���w
��l.G�F�BD�I�A�¤�7���Xp1ϝ�=Z ����e�>n
`��*���x~�qY���X�`��i��H1�'H^ =�2P�
!��
������ �D
��mS.�V@!Q�����~i�g���I��N���|���z��^&�2i�=A%$ʵ�d�6l"�X4�M�
,���`
���4��"��ROg��6M�a2��!Ӿ��5TJ�����&1�8��\w|Ԃ���f0��|�1�)�4S=Sb
3�B�e�%c*�y��`�ܲڃ'^�����vĹ��e4��H�N�\�)�L��� >S
B3�� [�.W�����O�0	���
�����X���'8,��ᰎ�1�0
P����&1����==k�}��t0���&暀���(\+(��C2Bi�1D
S�:'�c
侀�8'j82팀���9ħ�kʲ�z�VB��\_|̀��n�r��NYQK��Yi�p�:�e�Adk Z7I�~4��ө]�Q#Ѭ��RD=
��4��B�^����2&x?��Uo���9���)�D2R�C!�)�v
��й�7�{ ���!5�a��ŕo{F������K׫$��\S���\�O
!&�m�bN/.��%� ���HI`n����c��?��
-tn$t���Jnm�Dr
�hr���[Do��:j'
-��x�
�ޗ�	+���1d�A���X�iwT� �l0��0���@w�F�
	���/^k�D �u=풀��a~`�DנO���5��4��n˘ � �V��1S�U�0
���O1�
e^E���xY���ت<�b�DW����/_Rs��"�:
g���)֙��Y��v�u:J�`�i�}�-�Y�M; ���?*b������7o�waFE������~Ř9Pw��z�9b�4�
jQ��(M�uq�G�h(��4\l��.��A
\��ӎA�	��E4֒1Ec
�yi�[�m���)�rW�
UH�9�T'j.�9p��_~�CǪa�c<�aq�k	��i����j�x���
���ޗz�5N�e�ݭ��À��c����APf#���
�Xu���l�|Ԃ�ܗӒ]�`:!1��D,��i�N�?c�k�^���d}#Q�2�kɘ";������-vCNu4�K׉
ܿ�����.bSn�$}#�ƚuh_��\$Ȍ-
�'A�7
#� ��`[�	F�6$�Q;A�]�q�h�K���6OV�f�#)x�!1��S�!D�1J�q	3�L�|̂�ܗl�C
-t�1�
eP=S��Cʮ�^@�m`ִ�p�� �4�R�[%���Q)��r�i,/�0m�'p��L4'"�Y�Wi�d۴�#{���";Ծ
�����ƭ�.4�?
���h[w ���|���]q��}���r͉�"�gZ
�Uڍ��>�i72�0�T��ߊ��jrk��\��\m�{ރN
�?ڎw�s-�׳�ׯ��q׍��������
����M�O���.���|�u�
N���=��Ө�+�O����6`$�`�8��Y�Ʉ��%�I��K����]�u�{w�&���W��/fah]�}��=
��`�����`nRռՑޞb����q��AH
)�������Y
-)�K}z�u�i�1
��=x�q
�:�\�PQ�
1�>�mg�a�s�j�O^��#H��@XR�Cb��]���=��䨠p�
���%��ݘ�����j�R�qY�Eٔ���^� �7Бi,
���A`0�H!/:o^S��\	_ڞ��t���
�{W�.v���|�t�����m���[m��X�[��
�Mڞu
>��L����]��h�c��L'�U���~����7g�>��3@D�u�{���_��޼o^�n��F]��2�k}s_U�onn
ѲD�}v(PV��̻n�C
�`�&�:��tFR���cJ��]�P���G�$5�sac��
�I�endstream
-endobj
-879 0 obj <<
-/Type /Page
-/Contents 880 0 R
-/Resources 878 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 831 0 R
-/Annots [ 883 0 R 884 0 R 886 0 R 887 0 R 889 0 R 890 0 R 891 0 R 892 0 R 894 0 R 895 0 R 897 0 R 898 0 R 900 0 R 901 0 R 903 0 R 904 0 R 907 0 R ]
->> endobj
-883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 697.2245 259.6391 708.1285]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_56b9fe489466e7376b72bc99b4f99126) >>
->> endobj
-884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.4547 697.2245 399.3838 708.1285]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 614.0955 264.6102 624.9994]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_3ce50d0fcf796935652563144194ccf7) >>
->> endobj
-887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [268.4258 614.0955 378.3427 624.9994]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.0916 577.6865 324.496 588.5904]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_e88c914d522014d2d181278bcfa9222f) >>
->> endobj
-890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.2975 577.6865 442.2143 588.5904]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 577.6865 513.9963 588.5904]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 565.7313 182.9773 576.6352]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-894 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 493.5611 276.8044 504.4651]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_19d1974dd5b293a48b8f2de6fa3c2c8b) >>
->> endobj
-895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.6201 493.5611 416.5491 504.4651]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 457.1521 280.1219 468.0561]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_45fb5ebe8a9c33d1e73593b09d8ab877) >>
->> endobj
-898 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.9818 457.1521 479.9108 468.0561]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 420.7431 291.1903 431.647]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_beb7cdeabf40c32d3aa0c33c0499bf97) >>
->> endobj
-901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.0059 420.7431 430.935 431.647]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-903 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 384.334 285.651 395.238]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag_86691cc44e4ef41d379ec2477221f0de) >>
->> endobj
-904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.4666 384.334 399.3835 395.238]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-881 0 obj <<
-/D [879 0 R /XYZ 90 757.9346 null]
->> endobj
-882 0 obj <<
-/D [879 0 R /XYZ 90 714.2121 null]
->> endobj
-885 0 obj <<
-/D [879 0 R /XYZ 90 629.0607 null]
->> endobj
-888 0 obj <<
-/D [879 0 R /XYZ 90 594.6741 null]
->> endobj
-893 0 obj <<
-/D [879 0 R /XYZ 90 508.5264 null]
->> endobj
-896 0 obj <<
-/D [879 0 R /XYZ 90 474.1397 null]
->> endobj
-899 0 obj <<
-/D [879 0 R /XYZ 90 437.7307 null]
->> endobj
-902 0 obj <<
-/D [879 0 R /XYZ 90 401.3217 null]
->> endobj
-905 0 obj <<
-/D [879 0 R /XYZ 90 349.4479 null]
->> endobj
-356 0 obj <<
-/D [879 0 R /XYZ 90 237.4097 null]
->> endobj
-74 0 obj <<
-/D [879 0 R /XYZ 90 230.4587 null]
->> endobj
-906 0 obj <<
-/D [879 0 R /XYZ 90 132.0881 null]
->> endobj
-878 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F25 148 0 R /F11 737 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-910 0 obj <<
-/Length 3946      
-/Filter /FlateDecode
->>
-stream
-xڽ\[s�~���[����%�<$i��K�4�NҌ�k�6'�P�:��A��	�Wq�����

 �wp��
-�Y�RB!ø\����
>��龾����/�]�y+�� #�\��k-H�%t�n��Z!��&��᰻��*��S^��7Mv�����)����ns����.�7D�-
->"R�5��_�}{���J�`��@~���W��B��^a�Gx�1���W�2�fw���?�
�E{��
s���R��GZ��s(�9"�QHeK�Cr�%��$�z`6E��T�o�P�6j�78��Q)�T"l��mQ6�L#!�N�7�}��テ����Z�7�����c�W��� ō��!��P��‚�ҏ��e�AC�3�&v}.�#c

��X<
5���G(�	M�I�̺
�ˑ��
���Id�y�|i�>���]��۪<67�e��7_�q��㱨�iҸ��
-n�I
�D@\pD	�Àv�$#\
-d�\�s>���0#�6H03 at S�x�H��*��C
Z��y�L�E��
%t
��|��<���8����l{jd��$�d%
h��
�Z���Q1���Ј}mT��4D%yLjJN�]�ɩ7L��ɏ�k
-�<��0n��O��}z; �7oA0z��BC�p#e�'�
8� �E�|s�A�0����
.\W�zz��q�9�
��~ƾ�l�y꘍8� 
)��0Y�u��X.p����������v�M�i��l�u	<
�/`���Bd
�����xFJ�;���ج�=t���̥ܲ�F�Ag��έM{����� W?Tw�mE�OhE:l��}qt���l�]X�
������L9�T�C_����1��-q�����8)I�- AZ1��[,Y��
Fꖄ߮n���[
�$3t�[
<�}l�|�r�߼�n�w��m���qZ�
-�+h<3����0t�Q�̕2FCy����|2���E��Y2�ijP����B�J��p��၈�Z$@)��H��MĔ�CM��
-�H�O�1k������.w��Ɔn��b]]�I;�jﰅN��
�i,�(�1��}�^��&�kC�y`k|Nc0����ظZ�CG�6s/^gl�����Ƒ>� �ʘ!�[��I����D4)>*�Ġ=���LL$xT$��
�f����z&1���&�{[]��]���u�+��	�.iJ��	�D�
څ�I���1���
fKS�&v��ЮL'��Q��|l����(
��1�}	!�l���f(YxJ��2�>:��b��2��D��
c����H������#�$L�Q��Ј�m~�8ʓ���[Y=v�f��F��R�����j�s�䧟X �����ox�r�8���gP:}�x�Y���iI�{���J�x�o�ɻ�}��PħC
-M`��bR�%���!B�1	
	����
F4$�Ӑ��3���P6�]�l�)�����}da�a��d&���JDf�
�܌ZdN=0܃�|in>���"��1-RY�i
C���,|��$��
�&*����
����%�Z$OW@%"�i�����
-���DG�6":`6�/O�nk�k�p���yhW��b
<<�f�[�C̄_��g��2
��L��
2g>,w�Gn��
����9����ݏ����\C�9T̋�*��
-D��e"�X��xXZfzc2��e����TE�`y��UZ|��Įg��x,�˗�
�Z�pOL@%cPpa�G�ͪ
1�A��45��`lw�
��ȂG�b�9
-�@d���f*!0X@���,|"���HIt
X8@��Ɂ�͎u\98��0���LDtãlP_��+�3_��ά�WC��Զ�/�~�(VC�_�7Ռ
�(�_��n3?�I��
-2�
yu�� �R��
��鞹Kǝ�>��YNxL�&�]�l����wy��#0�h��F�?��A�i%�a�g"$�^Y�� OyY]N at v���q�����À1 �
�A	�0B)f�P�F��<�F�M��x�!�[��#��r��L��~����9���h����V��~�[I�����	��]uy��mQvg���*wѭ7�X�Mζ�����)��e��y��]�
�m�������,�	�ĞS��v���� ����ˮj���
$��Y�@�fS��T�6EU�F�
A�6~�Qu���wO�������T)V��"�
`I^��
Ĝ��1��m���N�ܜ�>�:S ���7�+�c�T	�L<
��n?a�Ũ�
-&�҄xx����
�Z3�H����i���|�̑0#`������S��V�j�np�<
&C�+�('�!P� 
T\�̎��\�@?�ĔD�q���mDD-�lT���@�S/3���W5<o40l9*l�|�m1l@'Wp�k�5}�v&�ڤ�,M�=�1�����w;Gݜڅֱ�����)��3�};>�8�Q!�2:���J�D%F��QL��-�i��K����v_@�șA��E@%"a��0�Q$3��9]�?>�bw!�C5�:���JD��[��,|�}2�m�?]20=�fi:<<�تO��K�V�.8�k�W�q�8�ۇEN��
����꫋v�6bz�a.9����ޜ�q��=8!)
ZKZD�Hk��!���`��rtyżA &W��r�j�j��r���Я/�X )�JI���%�g0&�q�^2�nc�����������,ʇj_��e^��7M^�'<%���	�DL�\��10j�ٽh��2riR>���r��:�,���JD�m�;׃Hngw
-���3�)���
$�
��H��T(JkiF���=̌1!��@�FD�uu�
F�.w�.ε���@ّ9P��vD ��ܭP���E�P>BD	��$��E�;�c��y<��;�zds������;
't�9�0��	�x�K���ì�Mn�O���9�����l��*
�h(
�(��~3��\��Ks�	�c�/�h�8���@�88Bb������C+�.:U۷�g�~^����r
�[	p7
ÈU��קahh�I�� Kq�`���~=��Ƹx�tǽ������M�.�QO�%"�p��0���.F�a�4��`b�lL
���TT"�(�L�a$�]J�}2��5���y��ꧼ9�ew��=b�ׇ�X4Ň�|{����v�b�(��VP
�������>�nW�=u�Ϸ���
-�n�"�����t��'�
��u�@�Mg��v�ޮV�uք��n/�.��9~�	p��.��
z��08����8ew������̖u�������+���Q��4��=ӽ�"�
�pN���
��n���6��x}j��>l�N5�u~<���($�2�r�
v���na,��
`����Լ��������}�s���9��=���P�%(�7P�o'@�:M
P��ت�ޢ�9�F�\'�)V�C@%"�P:5N��q��bi&>���KfBH<���N8&�\��!�$��s�=�(ҏ���>}cNz��#Y'�+
�mu�;�h[i��rI�f��#��p�E�c:T�b���&��L�g�_�
�K���f�\���b�Ÿ�� ��q<�~ށ[�~��׮W
Lؚ؞oŋ�=6u��Sw�A�PK���ۙX}�:�=a�`�Dz@�08�0sdì&X
-c���E3���Oy؟KT�Cu�Pm�"�d����dL�AG��ɴ�|̙��4���)|
�K���|�/ӵ?�'�#�f�+K�}�����AB0�w��g�G;o��}wb��j��o������:��c�_u�e��)���������?�Uu����vtG#�2�`�%��e^?�[j���Χ�0�3°pm"ݷ�����Ow\��p���eeb���i��y����n��T���o&CHF�
�5�
4�e�B�
���C?�0)�Wu�V�3�v��f���F�??��endstream
-endobj
-909 0 obj <<
-/Type /Page
-/Contents 910 0 R
-/Resources 908 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 831 0 R
-/Annots [ 913 0 R 914 0 R 915 0 R 916 0 R 917 0 R 925 0 R 926 0 R 928 0 R 929 0 R 931 0 R 932 0 R 933 0 R 935 0 R 936 0 R 937 0 R 939 0 R 940 0 R 942 0 R 943 0 R 944 0 R 946 0 R 947 0 R 948 0 R 949 0 R 950 0 R 952 0 R 953 0 R 954 0 R 956 0 R 957 0 R 958 0 R 960 0 R 961 0 R 963 0 R 964 0 R 966 0 R 967 0 R 968 0 R ]
->> endobj
-913 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.5708 719.9123 226.7459 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_6d24fa81c885803e34fadd9332287d2e) >>
->> endobj
-914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.0266 719.9123 305.6226 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.5251 719.9123 453.2512 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 708.3307 178.8624 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 660.7205 293.5815 671.6245]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_6871446de8be708c37b2bedbf12c9b76) >>
->> endobj
-926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.3971 660.7205 372.9931 671.6245]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 613.484 315.6784 624.3879]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_08a4701b629d734ea0e11231a34514b0) >>
->> endobj
-929 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.494 613.484 395.09 624.3879]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.7161 566.2474 304.3602 577.1514]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_b67c8dacaa1610fe5ea9efe67263477d) >>
->> endobj
-932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.7862 566.2474 383.3822 577.1514]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.5462 566.2474 504.1544 577.1514]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.7089 507.0557 313.9106 517.9596]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_2845e4528b7b42c6c6527daceee21312) >>
->> endobj
-936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.3294 507.0557 393.9254 517.9596]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.3881 507.0557 513.9963 517.9596]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 458.8229 234.7226 469.7268]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_0399dc1a987546af5d0491e72a6a05e4) >>
->> endobj
-940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.5383 458.8229 340.1465 469.7268]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 387.014 279.5541 397.918]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_5e1c7e98053b2262c5f56c46e2f04f05) >>
->> endobj
-943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.3698 387.014 384.978 397.918]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.8808 387.014 478.2374 397.918]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.4904 350.7364 256.1196 361.6403]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_553952be8bff48ab2a4a8b2820efc047) >>
->> endobj
-947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.3199 350.7364 364.9281 361.6403]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-948 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.4464 350.7364 465.8031 361.6403]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 350.7364 513.9963 361.6403]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 339.1548 178.8624 349.6852]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 302.5036 297.2677 313.4075]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_b76a7c2b32bbc5472f87b3fae17f5a0d) >>
->> endobj
-953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.0834 302.5036 402.6916 313.4075]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.5944 302.5036 484.0755 313.4075]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 266.2259 245.2532 277.1299]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_10d11983038c7047547f4a68f8ea2b70) >>
->> endobj
-957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.0689 266.2259 350.677 277.1299]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.5798 266.2259 432.061 277.1299]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 229.9483 225.3182 240.8522]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_caca085247f8483085877e21527a9cd6) >>
->> endobj
-961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.1339 229.9483 330.7421 240.8522]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 147.1805 242.4836 158.0845]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_f61686ed9ede21b05016ee29f9de882b) >>
->> endobj
-964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.2992 147.1805 347.9074 158.0845]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-966 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 110.9029 245.8011 121.8068]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_4ea3e6a8b8e929e318a5c1c450667d10) >>
->> endobj
-967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.6609 110.9029 411.2691 121.8068]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-968 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-911 0 obj <<
-/D [909 0 R /XYZ 90 757.9346 null]
->> endobj
-912 0 obj <<
-/D [909 0 R /XYZ 90 733.028 null]
->> endobj
-924 0 obj <<
-/D [909 0 R /XYZ 90 677.6753 null]
->> endobj
-927 0 obj <<
-/D [909 0 R /XYZ 90 630.4387 null]
->> endobj
-930 0 obj <<
-/D [909 0 R /XYZ 90 583.2022 null]
->> endobj
-934 0 obj <<
-/D [909 0 R /XYZ 90 524.0105 null]
->> endobj
-938 0 obj <<
-/D [909 0 R /XYZ 90 475.7776 null]
->> endobj
-941 0 obj <<
-/D [909 0 R /XYZ 90 401.9464 null]
->> endobj
-945 0 obj <<
-/D [909 0 R /XYZ 90 367.6912 null]
->> endobj
-951 0 obj <<
-/D [909 0 R /XYZ 90 319.4583 null]
->> endobj
-955 0 obj <<
-/D [909 0 R /XYZ 90 283.1807 null]
->> endobj
-959 0 obj <<
-/D [909 0 R /XYZ 90 246.903 null]
->> endobj
-962 0 obj <<
-/D [909 0 R /XYZ 90 162.1129 null]
->> endobj
-965 0 obj <<
-/D [909 0 R /XYZ 90 127.8576 null]
->> endobj
-908 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F85 920 0 R /F84 923 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-971 0 obj <<
-/Length 2731      
-/Filter /FlateDecode
->>
-stream
-x��Z�rܸ}�WLU
v�j�~qR�ʮ�7Njc+O�-���$��m9
k��i� ^��XI�A
���h4��Hf����
-��l��³���+�
_���X�۫��R�
2����}�A$(����Os���`���������P�Y���>~9T��ni��U^fծ�����5x�n
��e��������y���%J�[�|��՛���_0I�{�^��3��`
?\a�'��1��6W�2�c}���AO�~a,

k��ԳkƑ�����
�(��2���!d�F!#D!I��1�S*�Ãa#����
-�v�T�.��5
S3��
�=��I��D>��x�z_���r�<�y��ˢ�[
7��OT�ml'#��P���?X�]�m�	;7A>��@�G�@��
��
�TRx����R]?~��Y�o߽c�߼��g
q�aŸ�a�u4sd�� �<�@��X�K�!+1�OFFC�\k�
�&���X#
�X�i�H�:9FTrښ����l;4�Ͷ�M��\05��ͿC�����9��}3l�b#v1R�c3����v��@و�;�L'x#�ETi/�N�V����=;��#
xd�H��
g2�{A,�{��	�K�u��1;�{]�i�KX�k=�{�]��
�cf:A*�
x���
�ថ�pJ�
F�Oz��;�!�Q�b:
-A*����ޔ�?0O*�Ds	��:&0/�Y��C�}M̳
�K��<��傋�n3�J#�z^�|�/�o�b���
�h�_�BW��Ϋ�X�&p��ò,�u$��e6�q@)��v����>s���K��ݿߕ��2��C

��[����+��ߧ���/w
"柋U�͝��������-��?��J�5?�(�f����?��4�0�l�ծ�
�#]��M7w�Ȫ��p���g��!��F�O�}	I�T�^�z݌�غV����W#���Xғ�V,0B%X"�4o��$P�p
l�b�J�%�Sٵ[�w�y��NM�9zt�Y�|� �ڼ�ߵ����į���a^}
-����C�s��j8�8g���r}\9W	�$��FS��ѥ��j�����O�i���9LM+qM8`
�u�)1�����M��!2�����Ǯ���1��J9x�(��v�
n�ͧ����L@
*!�p�Ċ�B�K�qH7P�x�Bz�f���'������
-��
���bL/� ��pYzݒ�����c��z:�%��i���N�u�t��D=�5�����Z�r��5
'�dP\B% e�tl�P�9F��dB��d��f��B����
��Fve�>r��$�L�&H
=�T�
 �`�O�3*����&�h���D_R��:&�� f
��X�C!�-�5�S��?u�[2��l���!�S	O�z
��-��
-'���V�H?��� �PK+
q���
-bX����)���C`TA����</�ƼH��M����
�<
6�W�VO���O��}.��������5E�n�MF1H%FI�� �7{#�%�e�
�O��k�A�v=���ǺMՖ����TĹ
&���8n��Xl��T�3��V[
-7y��
8g$�L��;����nvwvz;�Ϧ�
��t2�A*��r�c�;�%�C�)��Y"
S���bfa��d�?�%�2��NSo���T���Ks5�uáS��	�
E
T]~{珠N��Y����'-{}ߺ�7
9j\;�
w5�Fr�Y�,Qb,����kT7Z	&4Hcf�R(w0V/΃Tj��<��L���4�b�y�cv���H��v�N�N>e�ףLV�c/F��
�'���4؝�	<3����Z_��?6R%h0�O�A�z�:�0
�W0#{vO3��Oy0�{1�)����
-R	��Ұ��ڈ�;��I��PY~�D�b�߼�u��;�v<
S�C��&�6j����
-c�g0�1>ӈiB�
tWC=Q�a'I�d�	°�o0yyƀ֟2nR���Ҍ)�b�i��1b�c�!"��k�4cx����^�jW�:����1��`����{�~�B� �N�؎�0�[�� ���<Xsda�0��i�#��1@)
RF�g�����Ff�
-V i��S�C����
@/�1�zA���n��x�9[�,l��s���4���(
��X��5�|�=��d��-o�pl
-�–���ﶫp���횗�I�S�^7WuI�9�V�l�v��)�_^��!_��G�)b��=��
�%�
�,H(My�H ������
-���?�Z67��@�f��{�+���\�n�B�k�SV��'��l) ��� ���i��v
t̎n��s�ܵ:�y��S�z��_奝`���c�=b��Q�J�x�;7S<pf�Z
Hy������E��Xl�����Aw at l��r���$��)zO�o�));=

-/4�](��Zv�8�e�4�a�$}L�"M/�q�ɽ���;
�a��}sb�����ݿj�y�g����t�x\�����$|p�9
��$L˜�)�g��0
-aL�f%{�
-�q3z��!o`�ɋ>���r�)��x
Id�v�I���0E����ؖ7U?��_
�U�~�/>�Y��{w/�>
��<�t��Ͽy���tŕ5϶���#
�?[�yy_���]#��I���|H
-�+�c��<�e���	��荦QQTzml
�j������	-�-�%*�����NWЭ��u��g��ҙ!���������G
�nn��+����
endstream
-endobj
-970 0 obj <<
-/Type /Page
-/Contents 971 0 R
-/Resources 969 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 831 0 R
-/Annots [ 974 0 R 975 0 R 977 0 R 978 0 R 982 0 R 983 0 R 985 0 R 986 0 R 987 0 R 988 0 R 990 0 R 991 0 R 992 0 R 993 0 R 995 0 R 996 0 R 997 0 R 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R ]
->> endobj
-974 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 719.9123 256.8694 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_29295feb65378f2ba04c202f4b9a1bb3) >>
->> endobj
-975 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.6851 719.9123 362.2933 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 683.0505 251.3301 693.9544]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag_f39f78c492db753013cbfd0177ffea60) >>
->> endobj
-978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.1458 683.0505 330.7418 693.9544]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__tag) >>
->> endobj
-982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 361.5364 314.7413 372.4403]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_061420fd93cf031e877897142071c67d) >>
->> endobj
-983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.557 361.5364 481.6134 372.4403]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.8489 324.6746 483.4139 335.5785]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_60ac68b3806bdf2e8b4805d661c52def) >>
->> endobj
-986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 324.6746 513.9963 335.5785]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 312.7194 270.4377 323.6234]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.8422 312.7194 484.9109 323.6234]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.5701 264.8988 487.6927 275.8027]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_dc0293455632f1e58de03ee68caa785a) >>
->> endobj
-991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 264.8988 513.9963 275.8027]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 252.9436 270.4377 263.8475]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.5434 252.9436 476.612 263.8475]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.1726 216.0818 338.25 226.9858]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_18f6401539b34122053f5d76da0c3282) >>
->> endobj
-996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.1325 216.0818 513.9963 226.9858]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 204.5003 163.6097 215.0306]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.8402 130.7115 349.5824 141.6154]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_93c2b042e4c644ba6052c0a0130c74ff) >>
->> endobj
-1000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.1325 130.7115 513.9963 141.6154]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 118.7563 163.6097 129.6603]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.0515 118.7563 274.0342 129.6603]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-972 0 obj <<
-/D [970 0 R /XYZ 90 757.9346 null]
->> endobj
-973 0 obj <<
-/D [970 0 R /XYZ 90 733.028 null]
->> endobj
-976 0 obj <<
-/D [970 0 R /XYZ 90 700.1513 null]
->> endobj
-979 0 obj <<
-/D [970 0 R /XYZ 90 647.7229 null]
->> endobj
-357 0 obj <<
-/D [970 0 R /XYZ 90 534.7793 null]
->> endobj
-78 0 obj <<
-/D [970 0 R /XYZ 90 528.1791 null]
->> endobj
-980 0 obj <<
-/D [970 0 R /XYZ 90 429.7066 null]
->> endobj
-981 0 obj <<
-/D [970 0 R /XYZ 90 376.6148 null]
->> endobj
-984 0 obj <<
-/D [970 0 R /XYZ 90 341.7754 null]
->> endobj
-989 0 obj <<
-/D [970 0 R /XYZ 90 281.9996 null]
->> endobj
-994 0 obj <<
-/D [970 0 R /XYZ 90 233.1826 null]
->> endobj
-998 0 obj <<
-/D [970 0 R /XYZ 90 145.7899 null]
->> endobj
-969 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R /F11 737 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1006 0 obj <<
-/Length 2893      
-/Filter /FlateDecode
->>
-stream
-xڵ[Ys��~ׯ`9!��ٹ�u*U�:NىSή�d�TX�X�e Z���݃9�c��V���ht7zz��{"3
df�L	�
�r��]��
\���p�������R�
2����m�A$(����/s��bI0���q{�氯���웛wOuS�n��n����7eu[�Jw���-���ro/-��3����ǫ�_G��ÂIb������l
��x�3Z�
�#b
��8e�d{���?Q���>�zo�5�T�ْq�%<��"�#��Q��<�H�N���P�gQ�F�WJ���%�`�f]�c�A*g�J�
雅�Y�
QņV���˼���9�#�ցt^�앛
�D�
���~U��r�+�����E����k������
-��֗�(����^
��up��
B�f!����x�)����	b��3�
��]�İ2pZ�|�b��j�@�H*�%
�L�� )˄!�!
-8��W��̖
�W��4x%�K6���4�N� i�`j
S	�Ku
bD�5�_���k"d�ë�h����~u<�p�_��Q�ܾ\P<�����s;��|Դ��60IK)3&G�
-�A�(�E���	����3�D0	/)����y����ދ'h��C��i�:a	��t��T�E&���IB�A0���A��Y�zC�\H΅*@�cJ�1,�q<֒"I�I8�
-�t��eW,1�R@&ڙĬ��_��*
�ѷz>Â|��H�e�;��su*>Q*��
����O�P�*mJ��;:��>�Y�ޖ�C��K��p?�C�i6Jwa,
��ϡ�\2e�[w���V�)
4C|��׸:T�L��a�����c��P�g���5>&xE#���_��	%� ��<�t8�S-�|�Xr.��z'4x��
�~7���M
.��Q��Ԧ���'�R����/ p	�ËR��#ـP�
�
Lh߂|W6�f[�
�~W֫jsl6��
e/ѡӡ
1��\/ ODzv��jn�+��_��
�U���mR�S0��y;}�y���
�5��*wuߵ�?=o�]���k�u춧֮��7�w@�+;V��6ko�*����>��b�*k/k�֗�T�-dn�(��p럊�ҁ��{���O>dmh'X���
�ݥ8��zӫ�<
�~}��8gǣKl�gL�+ȧ����a
�i
�������pѦL���M=~
��c{��ߕ{;
-!
o��nP�
��Â��c̟_1���u���ku�_�
-$�K &�Oz�Vr���M[�R9��#D׷����=�!��st�aP�b6ݶ�}�v�+�W>;L���{����O��n��'�8N��!e �]��%�K!�t�Ҟ>
Ыe�����Ȁ�̶
*�����)���!�F�֣�>4�y�9P��E:����+w��jn�*=��r �A] �LV��'j�n
԰��b'c��
S;!���B���߿���n߶�����	t��DdZ���D�Ų-۴�زe����g6ղ1�8
���zڋ����`�o �1N
��AFO���d|�BڊYF љQ蠔���`D��C����DA����H��#T��R�P`�� {MX��U=�k0����]
�F�~}��ٮ#'��rwl����-��k>C>y���	��=�ܖ����� �X�}SR��	�Ѳ}
fj�K"�6�[%CM
d���Z��kQ0* !Rg�-�e���p�2v=���N [�h
�2ևZ��v���:ܬ7�����M-:A"L'Je�c��
D'�
-��B^�(��`��X���b:Qj�J�8�LQb��h�/D��aaJ��:&�.�����@v-����a徆Ҭ����a_C�T�
�x ��~c���@���\ �"�B!
-���jpN(��# a�� aGl�f���P�V'�|��Ho

m�ݹ�C at 9=
�(�q��0S"�``�`ȑ`v�]�(��`��Y`(��w�F���C
(J
cq�V���/�W���k���
-�*,�h)�V�tmH�Զ���;�8����
��V�B�C�
�څ�i���W�_�

S|ĺ|�(�+�pPo�w۲�Ki�tH��'��;n�
��:%L�"
���ۤ�D=�,r��\�$ C�LXH�fa;�HIֆ7
(�
��Xp�Y��}X:�6EzK�P���ַ	~w����cċ�� kC�ga6b�R�<�m�,Y�s�(�嵮�	^�����3{��uf`u��o�s�Gz��kg�4�
Z��d��T�O��á�O��$ :���HE��C�ϡ7�)gd:Qj�J�ޠLV��a0>��
�8��x&\#�!Z�ր��p����(��Bj
P�m&�̂Բ+�X�b@�Г�֙鶈@� ���\W��E�^[$[^�R��
yb5{�/}��v�H
-�``3{l��y�9 ��V�1R"�qwQEO�����NI�]���F��.EY�z�Oo�
E�w���%�Xj���B��D�v���%\��*��ɪ�p������M������Np��Yj
�R��
�NTR�m��E���L�)���ؤ�JQ�ͥA��9��ϡ(�>�u&
Q*���BI3ún���eq8�ϴ���/D?�ۏ9E�~:bS��ڏ>��6�`�8�/ڄ��� f�r����2�#�}�����\�p8E ���#A����P�\��k]7/�|m�鍨�(���B��^���(������*h���!1��:4�t�Z		�D�S���Q�v~>l���u�O��y_��7�Z��{(���7��P�[�՟�G>?~*��6|^"�k����m
��i���E��2�\�������,
���^�>��<�v�U'*#�66�Ms|�����#Z��a�9VhӼ�x5�-�����5L� 4�7B�k@#�s%~ܱ;��6{��k�
%� ,�����endstream
-endobj
-1005 0 obj <<
-/Type /Page
-/Contents 1006 0 R
-/Resources 1004 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 831 0 R
-/Annots [ 1009 0 R 1010 0 R 1011 0 R 1013 0 R 1014 0 R 1015 0 R 1016 0 R 1020 0 R 1021 0 R 1023 0 R 1024 0 R 1026 0 R 1027 0 R 1028 0 R 1029 0 R 1031 0 R 1032 0 R 1033 0 R 1034 0 R 1036 0 R 1037 0 R 1038 0 R 1039 0 R 1040 0 R ]
->> endobj
-1009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.2774 719.9123 342.4044 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_bd830cdbf47ea1e5f0cb88ba4e3dddd7) >>
->> endobj
-1010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.3918 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1011 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 708.3307 129.8568 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1013 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.8689 671.2724 346.5537 682.1763]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag_9427aa22f07ee35e906d05bcd352e1e9) >>
->> endobj
-1014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.1325 671.2724 513.9963 682.1763]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1015 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 659.3172 163.6097 670.2212]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1016 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.0705 659.3172 363.1391 670.2212]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g88e874dbd26b94133467d81b006f0c3f) >>
->> endobj
-1020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 315.6284 254.9762 326.5324]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_b1988eecd5bca9d4ad8dbd128c885b9b) >>
->> endobj
-1021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.7919 315.6284 362.0833 326.5324]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 278.9437 327.4737 289.8477]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_2967727ea790f1d517e1529e3f6be79e) >>
->> endobj
-1024 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.2894 278.9437 434.5807 289.8477]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.057 242.2591 327.771 253.163]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_6b54d1a028c5a0eff158b33ce1a6670f) >>
->> endobj
-1027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.538 242.2591 436.8294 253.163]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 242.2591 513.9963 253.163]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 230.6775 176.3518 241.2078]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1016 182.6603 360.1365 193.5642]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_984fd654d7b169e74d13f6207d48fefb) >>
->> endobj
-1032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.948 182.6603 467.2394 193.5642]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 182.6603 513.9963 193.5642]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 170.7051 236.6849 181.6091]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.5957 123.0616 368.1882 133.9655]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_56d19de5207d94e358a433995ce9730c) >>
->> endobj
-1037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.4938 123.0616 474.7852 133.9655]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 123.0616 513.9963 133.9655]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1039 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 111.1064 236.6849 122.0103]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1007 0 obj <<
-/D [1005 0 R /XYZ 90 757.9346 null]
->> endobj
-1008 0 obj <<
-/D [1005 0 R /XYZ 90 733.028 null]
->> endobj
-1012 0 obj <<
-/D [1005 0 R /XYZ 90 688.3289 null]
->> endobj
-1017 0 obj <<
-/D [1005 0 R /XYZ 90 613.2035 null]
->> endobj
-358 0 obj <<
-/D [1005 0 R /XYZ 90 488.6588 null]
->> endobj
-82 0 obj <<
-/D [1005 0 R /XYZ 90 481.9214 null]
->> endobj
-1018 0 obj <<
-/D [1005 0 R /XYZ 90 383.4888 null]
->> endobj
-1019 0 obj <<
-/D [1005 0 R /XYZ 90 330.6625 null]
->> endobj
-1022 0 obj <<
-/D [1005 0 R /XYZ 90 296.0003 null]
->> endobj
-1025 0 obj <<
-/D [1005 0 R /XYZ 90 259.3156 null]
->> endobj
-1030 0 obj <<
-/D [1005 0 R /XYZ 90 199.7168 null]
->> endobj
-1035 0 obj <<
-/D [1005 0 R /XYZ 90 140.1181 null]
->> endobj
-1004 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F11 737 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1043 0 obj <<
-/Length 3470      
-/Filter /FlateDecode
->>
-stream
-x��\�r�6��+Tٌ]u���#Y�L���&��f�I�x%�fE���㿟�H@�C mٕ����f8�M~���
-��b����;��_���5��:�����/�Xd$���
� A	]|X�r����&���n}��mY7UV���OOu�on����
-|�U���m��۷?�yuE�e^ڏ��J^2q�뇯/���#�L�����+��
���b�o0"����S�ެ/~����������X#M�^\3����O��(F!G�!,�94�!�J���l��G���%�`����_�J��aC�na,F^�{t������ ?��;x��Ъ�n'�*_�M>�ð(�+N��'ã�Pɐ!�
<�����͇�'#�uY�TL-�ah�p$8�gā�0�fD��Y֐25/%��1
*Wl�1aHr����eQMm���_hK�ô�Q��ѕ
���ˇl]��&�[�h�;����:�A;���fRpe���O[L�!�$��4�Eg|��vE��U�+�.���j?�w�rU�
�u�m�/-���b�n_�WD\>�e�������y��u���
-�
	i4"Z�珄 V �ى���3e�	�#csv-D��	m���a6�_��eS�\w�̚����������mW��� ��UҾ�掣kn�&�%<�E�Ò
��	<�#��)�
-))���iw����]�Xc��w��7�b��5��e��Q���M�bj0 dΨ�'lnj<>���ɜ�BT��xJ<*u�B
�jY��5�4{�8x��ЪKǵ�y�i*M 'D[,��r�<��Ѭ�)N`���4M�גC]��C��GF�"�l�
��2���пd4q���*��4
�s1�QD�Q��*�B��о�rU�"&�ϒ��JO��%|x��
�C�l�U��;_�Cݾ��Vǡ�!Y��S2��Fv���j�>?�̑���TȔ$`��2%	����`L�~�$�n#5}�i��OxZ=��f�<�Kk
-��J�£�P�L5��dI����M��'#�}AI/���S�Q����
-����E��
-��9ڈP��ٰ~̛}������i���T q�-���xG:������
-�(�@����l�F�s_vŧ�=嶼n���և�u��
J[����,,Ճ��
i[V�E}(�Os�P�F���L$�LH����	.�$��#\���qY�m���N�\��>�z����>*��MQ�C�s4�ǵ&�jL$��Q��l�Ia�
Fe��e�����	��T#�/�q�
��S�Q��8Э��b7�c�-�c7���[V>%譝�.�n�?���JΧoOsT!.�Jќ��i.0���_Gs��4���F=�Q�;�S�GvO3���P�市�9�I<#��n�2ay�7�u�DRA�03%
��`h�u4cZ�hF<*�a3��h�{��@#s3�� �vOO�����o� �=}�@�M�
��qވ�^�v_��ͩ5�P�!lbn�nfz�!���K���J�%	���$8����u]ܕѦ]��H�h�7��&��dAy��w��u�o�?�ma��7�Ļ���[
*��oa���~ܩ��|
\� �R�tǯ�
?7I���W0�
#	��|�#����G���&0 [...]
-�"�r0��Aaj(27

��`d��ҡ���4��Jdo�i1LIL:ff�(
� �v�Z:��-�2	�a��9��E�s�t�6"��a%��e��.�א
�w�~� �Ғ��1��
K���^cz���"t�U�;M�$�����kE���G�Q�P��<���T��-f���
�@*"L�xF<*�vJ���$�O8�m��a��F��
��B��W�B���	@&�O
\����O)"i):��������V�|��PqY�v���[�m at M������b��𝕢�>)6�u���&k�[m��i�TEV6��{����r�Nb#�P����6z:.���}�;q�e��ݮ�ݼ��;A3H�Io;��f�ꊋ�m�DW@����:��w`n����W_��x�ۏݾ�����,o�
l�8� �:� 
�
-�$���
��.{z��/�
����"�aI
������iX�mD��N���>�zZ�<��z"��G����D4���j��S-��u97

��`d�tB�
-&�2�&ã���!ak�^(	cP�i,�R��FD�<�U��ֲڃ#��
�;Q!w�ۖ<7�T��(�5���^9���Q��1������#<M1��%�m�ܾa����q:T�Ȏ�b<u�h,�y��
�L���I�C��mQ�y֣���lCK���j��A����G�`��K�����>��8�H�]�X<(
ǡI�Z��ڵ��<�gf��އV���;�B����
5��J f��P#-�����P�!lb
-+h�8�
vHR��Z�/9Sq$��F��=�=�n�P�v�r�{��52A�,gǞ%u~�L�
-AGE���w�
=����/�eۤ���|7�6�2��z��;�Г"���S�S()�N��Վ�n߼�~����z������R�&W	1
a5󰤜��z=K����6R��������UGZ��fWY>��L��4��JD�s
���0L��
-��`=7#
��`h��Gt0E
���ģq��
-V[?�?┍��/Σ��F��
�F�Cu����^""
���<9=Ż��y��Ym�S��"jK�Ԏ61i{"��kh��}J.UD{X�vB��I��h��6B;}�i�IxZ
h�v.��	<
-m�;��ȯ��8 �|�շ_�����O3�Z�9=�����������
�3S��+�}>�AI+%��{T" .5"��~@q
#0|�pz��6"<�a��c���x��S m�3vJI-1���
��P2�ޞ��x�":K]`0Ftq���B�1��9�Atq�C��[�^��j�ٍ��"h,E<!
������
b����ᐩ���OF0��|f�&Lڇߢ)�D@
��4��G�x� ͤ�l� ��R��
��%9�n
m����lh���v>���w�#��
��
������$O��>�:j��ʼRa�V�oσ`�a�z����<��`ܯ���m�{Ng�`���j���l|�Mi��a�xT"$�1�,P &y��V��͉�'#�}�M���B"
��;�Џ�� @Ҡ�Y�
#0�?��q}
��5��.q���V���Ԅ)���m�́Z#��
�ˏ��H��=h
�Nd{����E�����QP M�T��A1��{$a��= ����?
v~�M�Q��v�t�����������ϲ�n����O�7����u^��n���4A�����~
�˼:�����N��t�Oy>��@&�;w
�D��m�^}�{���o���*��Ȯ��}��>}����-k�/�]���=0��QA��S���0��,p�Q,���N�
�N�l+���= tXL�+�����l�Qendstream
-endobj
-1042 0 obj <<
-/Type /Page
-/Contents 1043 0 R
-/Resources 1041 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1093 0 R
-/Annots [ 1046 0 R 1047 0 R 1049 0 R 1050 0 R 1051 0 R 1052 0 R 1054 0 R 1055 0 R 1057 0 R 1058 0 R 1060 0 R 1061 0 R 1062 0 R 1063 0 R 1065 0 R 1066 0 R 1067 0 R 1068 0 R 1070 0 R 1071 0 R 1073 0 R 1074 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1081 0 R 1082 0 R 1084 0 R 1085 0 R 1087 0 R 1088 0 R 1090 0 R 1091 0 R 1092 0 R ]
->> endobj
-1046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 719.9123 262.418 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_0d28be41ac786db82ce3cb24e2db5543) >>
->> endobj
-1047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.2337 719.9123 395.5372 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7707 646.6602 315.9144 657.5641]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_d9b9ef9435b7a3bc8d92435ccf1cc0d7) >>
->> endobj
-1050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.395 646.6602 457.6986 657.5641]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 646.6602 513.9963 657.5641]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 634.705 190.7379 645.6089]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 597.9025 263.5339 608.8065]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_442076de6b59703f82c552f7e70aad72) >>
->> endobj
-1055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.3496 597.9025 396.6532 608.8065]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 561.1001 327.732 572.004]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_1b4e8ec21c2f4b2b925c4e11474062b9) >>
->> endobj
-1058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [331.5476 561.1001 460.8512 572.004]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1060 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.728 524.2976 261.2373 535.2015]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_a975ef75ddb5359966ff21eecca491d0) >>
->> endobj
-1061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.6752 524.2976 394.9787 535.2015]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.1569 524.2976 513.9963 535.2015]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 512.716 189.6219 523.2464]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.5165 475.54 255.4244 486.4439]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_27f2fdd3945057760e252740c98573eb) >>
->> endobj
-1066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.6509 475.54 390.9544 486.4439]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1067 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.1569 475.54 513.9963 486.4439]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 463.9584 189.6219 474.4887]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__const__iterator__tag) >>
->> endobj
-1070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 426.7823 253.0136 437.6863]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_c19488a8f4e64cb797b8402ea44b456d) >>
->> endobj
-1071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.8293 426.7823 386.1328 437.6863]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 342.5713 257.9847 353.4753]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_f8ebe9c0ce769746c2d2d01f6fcb4c91) >>
->> endobj
-1074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.8004 342.5713 365.0917 353.4753]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.7684 305.7689 315.9219 316.6728]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_06731c2e3b3d14dceffb5b81f1447bc8) >>
->> endobj
-1077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.4001 305.7689 431.6915 316.6728]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 305.7689 513.9963 316.6728]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 294.1873 176.3518 304.7176]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 220.5616 270.1789 231.4655]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_4316d3e1fd40ef324f4f9ac970481c9f) >>
->> endobj
-1082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.9946 220.5616 403.2981 231.4655]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 183.7591 273.4965 194.6631]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_7a018b29b6f334f666391ec729265c25) >>
->> endobj
-1085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.3563 183.7591 466.6599 194.6631]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1087 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 146.9567 284.5648 157.8606]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_5e22cd8ea46cdef0e09027e6177fc838) >>
->> endobj
-1088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.3805 146.9567 417.684 157.8606]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 110.1542 279.0255 121.0581]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag_c8105464b2dbee48f8646bc2c2f1f2d8) >>
->> endobj
-1091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.8412 110.1542 386.1326 121.0581]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1044 0 obj <<
-/D [1042 0 R /XYZ 90 757.9346 null]
->> endobj
-1045 0 obj <<
-/D [1042 0 R /XYZ 90 733.028 null]
->> endobj
-1048 0 obj <<
-/D [1042 0 R /XYZ 90 661.7238 null]
->> endobj
-1053 0 obj <<
-/D [1042 0 R /XYZ 90 614.9885 null]
->> endobj
-1056 0 obj <<
-/D [1042 0 R /XYZ 90 578.186 null]
->> endobj
-1059 0 obj <<
-/D [1042 0 R /XYZ 90 541.3836 null]
->> endobj
-1064 0 obj <<
-/D [1042 0 R /XYZ 90 492.6259 null]
->> endobj
-1069 0 obj <<
-/D [1042 0 R /XYZ 90 443.8683 null]
->> endobj
-1072 0 obj <<
-/D [1042 0 R /XYZ 90 357.6349 null]
->> endobj
-1075 0 obj <<
-/D [1042 0 R /XYZ 90 322.8548 null]
->> endobj
-1080 0 obj <<
-/D [1042 0 R /XYZ 90 235.6252 null]
->> endobj
-1083 0 obj <<
-/D [1042 0 R /XYZ 90 200.8451 null]
->> endobj
-1086 0 obj <<
-/D [1042 0 R /XYZ 90 164.0426 null]
->> endobj
-1089 0 obj <<
-/D [1042 0 R /XYZ 90 127.2402 null]
->> endobj
-1041 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1096 0 obj <<
-/Length 3083      
-/Filter /FlateDecode
->>
-stream
-xڵ[Ys�6~ׯ��}Ȩ*�>�GU�[�&���}�SZz��X��($�Z��A`x	�-��!��n4��8HV����
-��j{������
�=���M_��7�^J�2�H*Wo�[
� A	]����VH]n�x}w����X�M�es�d7�*����ɫ�l���W�u^]�����������͏߿	�t�
-&�u䏋�~ǫ
x��F�h���
��1tu�������=�A��\�aKZL�R������/�&+���5�E^o��)��mγ����@h)G�Ҫys����.�ݻY�)�>�[���}�܏m����&?��Z��	�E9w�o�`7O7�.��%��.�������Kw|7�K*���jW�P(�
�
q�5�m�uYc����5<A%��Ƚ�Z�aJ#�%�`����!/���a��ۢ~�����M^�U�������"�J�{����-�t�?��l�Ҋ=:{��|
D�`�8�<h��}K�"^���1sA(a�pd���v�o�n�l#Z�5�u�Çdh�Wmַ�nGD�ς_px�!�PC�������O��Bz��!e4��/3���<�~?�>~}�!������Ćp�(c0
�}����24;��X�_��̷YR�����~����!?�˫Q��"�TQ	��ᇀ�<���KI<?@
���զ�a��C�)���:�i�
��k��7u]ܔ!F�`މNǕW
�!�����6}���e�곶G�3%��J��R)�T"
]>0k�l�cx�GF��y�7߉������P�-��a��RBH<
A*��A��Q�a
L�jH$�F"�'=������#��%�०>��h�0��
T�(`6� �0�_ۯǮ1������@�D��z��@]�T�yV]}�߻*�Q},�Q�
�d41��T�!.�j���
��sDu:L
0@��,
�O92����j$)��5��
�[��)�s�i �Lch%Ќ„�g�����沝�+�̺R��9��P&aF�l�,�
�΢!�᭩�`OG�p��$�xD%�gS-_T�L�s�Q[.0ӕ{
�/��꽻�
ԯ�����` =�=��s'
-�5�Y� �b�d
=��U��ܿ[x�u���Ο����\��z�CN�J��=�� #C�aXv�6ث�\��v�j��n�<^�d�����X��lԦ�
-�sdCU֋��ջ�-���ÌcX�{/���\:/��6a�ɹc��~4W���Lȏ�U������툋�A,YV�Fʊ�ݮ���++�q0�F/+:�����ˊ�����
-�����������HE&H%|�Z#.��G�*
�s%a�,
N�Oy0ѻ��`BÄE�x��ԇA��$�e
��Q�TQ�` +ƒ�8��#�Al�Ju ���T�YS�v {�3<��
�w	��q��&x�E���������C�HK�'����_�?�&3�<
S�N�q	
-\>d�V���n�\�[.��Q.: ȠR�>�)*	��X�	7_
\F�z� W/�מ����zp훍����p�[k]�wǺh
-��C�<L�.�������
+D��Sf�A�A�,��'ȧ�O�.�W��C<^j��_�]<�t
���+���$x=���k'5W�}�?�S��QD�g}D��$�m��Q���(��c�S>�*@��9 ��pgW�d[�
�����}׀�`w~fy�S��h��zn���"�1!z<��o܋
�Y#t
�xT��Vχ�����C���E���&�js�Ҙ��@X��s�|B�]0�_�O0�6):qRd�x����"t�7����t�>����[4	
j�a	R	�(��al�
���D �zid�|҃��ED" ���(���B] ��G�Ӗa�D�\
� ��T�pI0.�4",1��P��1�`��~�	��aF��E����1�շ�b���b�#�y�
�=��R(��~�1��@+�x����0��>�u�
86���
�p-_�_��A}|��#� �$����$�v30!���4�$���zl��=������,
� � [...]
-A*僂R��>��fJ
�ۆs�8
-^>��D�G�G��u<A*�	�q*F�QW	�2�I��#/f�r[�R�ܤk�Ķ>L���s����ϩ��
� �}�4���̈4nCù������%B�pۋ�q��0��q�
��fc�=0� ����Z������ɣG�i�5� ���vS\��?7`0c,1��)&z�#T
v���c��0jǟ1CO��k!a��|����^�P^r����]j� G��|h`e���խ���!������C���!y[��U� �����X��1���ѽ��J�}�����9e{_���/���w8�v�U²�   �-i`,<�ˎk��1�4q^+���
��;�I^t;���h?w���(�#�ٜ
x��b�bI���
8������l��F�8��>�:SD�
�W�U�1pB�h��p��CJJN�(
����!L,�F$�'=���V0�dX�c��0�X
z2�2C!u%Y� ��?�X�'�U3sڈK(�
N
� 5�b���%���~��E�C���9"������� f��wo�d�fvb&s���-�
-��3��b�BH��<�L�ٯ6���6�	eZ� ܋���0�q�
��fc >0� ����Z�V�NR�
I�J�@)��P��"?{�V"@��A�I�z?��=��y<A*�	���:��m�S�"<	�z:b@����ͩ*ǵu�,�U���C[�g@��J��ǁ�w��R�a�$"�zҗh��
�1�c� �40�L
�a���_u��Z~=�n�]�]�T����+}���e��)���_�
�n�W�W_�ov�.�9+�iJ;�>X�yu�h��h��A��|�
-�~�#`*����=}������M�
73P��L����6���g����ѶF����P�<�Q�l��7�''~�
�n�&�
z�s��2W�����?�)J�yh?9�$���pƓ�(A	�endstream
-endobj
-1095 0 obj <<
-/Type /Page
-/Contents 1096 0 R
-/Resources 1094 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1093 0 R
-/Annots [ 1101 0 R 1102 0 R 1103 0 R 1104 0 R 1105 0 R 1107 0 R 1108 0 R 1110 0 R 1111 0 R 1113 0 R 1114 0 R 1115 0 R 1117 0 R 1118 0 R 1119 0 R 1121 0 R 1122 0 R 1124 0 R 1125 0 R 1126 0 R 1128 0 R 1129 0 R 1130 0 R ]
->> endobj
-1101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.6577 454.5031 222.2074 465.4071]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_0ed54f6ac264a58059f51c7fe33ab787) >>
->> endobj
-1102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [227.575 454.5031 296.5455 465.4071]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.9029 454.5031 448.629 465.4071]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1104 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 454.5031 513.9963 465.4071]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-1105 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 442.548 220.3767 453.4519]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-1107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 394.7273 286.956 405.6312]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_b93e22d57d1f5d94ae97ba1b9de9e3f9) >>
->> endobj
-1108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.7717 394.7273 359.7422 405.6312]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 346.9066 305.6456 357.8106]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_bfb19498f2647b44344c6a84fdd6cd2d) >>
->> endobj
-1111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.4613 346.9066 378.4318 357.8106]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 299.086 291.4989 309.9899]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_702543ee828ef523fb5fe5ffdaf25925) >>
->> endobj
-1114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.3146 299.086 364.2851 309.9899]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.1505 299.086 479.1333 309.9899]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 262.2242 300.0565 273.1281]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_2d4948b195e743f39601a13610fcf94f) >>
->> endobj
-1118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.8722 262.2242 372.8427 273.1281]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.9483 262.2242 484.9311 273.1281]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 225.3624 228.0972 236.2664]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_c21bd81d2f33da4dc915020bf16c801a) >>
->> endobj
-1122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.9128 225.3624 326.8955 236.2664]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 151.9473 272.9287 162.8512]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_380ed65a246cd38c5ca3893b40eb4603) >>
->> endobj
-1125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.7443 151.9473 371.727 162.8512]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.6298 151.9473 464.9865 162.8512]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 115.0855 221.4623 125.9894]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_8c466c744746ef7249afa54667470cf5) >>
->> endobj
-1129 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.2779 115.0855 320.2606 125.9894]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1097 0 obj <<
-/D [1095 0 R /XYZ 90 757.9346 null]
->> endobj
-1098 0 obj <<
-/D [1095 0 R /XYZ 90 733.028 null]
->> endobj
-359 0 obj <<
-/D [1095 0 R /XYZ 90 627.7461 null]
->> endobj
-86 0 obj <<
-/D [1095 0 R /XYZ 90 621.1459 null]
->> endobj
-1099 0 obj <<
-/D [1095 0 R /XYZ 90 522.6734 null]
->> endobj
-1100 0 obj <<
-/D [1095 0 R /XYZ 90 469.5816 null]
->> endobj
-1106 0 obj <<
-/D [1095 0 R /XYZ 90 411.8281 null]
->> endobj
-1109 0 obj <<
-/D [1095 0 R /XYZ 90 364.0074 null]
->> endobj
-1112 0 obj <<
-/D [1095 0 R /XYZ 90 316.1868 null]
->> endobj
-1116 0 obj <<
-/D [1095 0 R /XYZ 90 279.325 null]
->> endobj
-1120 0 obj <<
-/D [1095 0 R /XYZ 90 242.4632 null]
->> endobj
-1123 0 obj <<
-/D [1095 0 R /XYZ 90 167.0257 null]
->> endobj
-1127 0 obj <<
-/D [1095 0 R /XYZ 90 132.1863 null]
->> endobj
-1094 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F11 737 0 R /F25 148 0 R /F84 923 0 R /F86 454 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1133 0 obj <<
-/Length 2872      
-/Filter /FlateDecode
->>
-stream
-xڵ[Y��6~�_a`��
���6�9v�M:OI��e�[�J�t��oQ<Z�Iw��-�SU�X��Xd��d��B	�4�r�9���
nuC��[x~�|vw��K)iI��n�I�	J��n��R�luK0����p�U^�������>4m~��Te����ۮ��[*���n�֛�^����zE�e^�[���%S����.���Lc��n~�
/����`�t&�p�њ.�7�2q����?A�}н0��3�Q�-nG����PsD��1����	��!
-IJ�E���J�
��բ/p�ףRz�DX��ڢl'Z9��l��<���c_�ǧ�O�L��5AQ����|��b�+�tS�S� :�x��O*a���X`�'z!ȕ̮u����z��y�s��Lp�DF���!LR$
E�擉VSA����)����☗MQ���S>��K�(���ap�!˜
Z���^q����ko�k]��);�R�#n�~�(S�P8!,�
O�i��,%�
-^$_ 1����f&s|)L�z�1���C�XL2NR+D$��X�Y�Z����etV)���*�-��HKN�TY眊����Re
�,�z/r��
`���
e� �KS
[A�zb��v�����u�~w�gj��b^  gt�
���)J��pŠ@X:�

ت�t�mf
Ĕ�
 ]
�L"��|�x1��|���T
Q���e�%�e_`$_&�|9P;�/�Ff
�^N���>�:�,��:V{���ss�q��2
�$��ETS H�F�0�+���ʯvI�'-�}F�� �s��QWT��1��bh�4[r
,�&y9Ex|B�T�St$���,ቀJ��(bD-I���
c��<�
�q󀝈+��{󏝐�Q7+Y!I����`�
-
�5|�>>���
��{X��{c

����6���W0x\�X�
���;��4�\�
��
��z7S##f9�MX�k��I
�r���D"����"��0��`�/��l�T�s��QUOF��<�X�cޞ벣�	�×��)��}no��r�*��S[H���
Cy�M �$U��tZ���J�U�1�~b.�@��.�/wNsk�j�mј�c��/�V
-�:���tȏ�X&K at W�� �9]�\����M��WL-�/��L{p�4�X8waˬ�rk�8����������l��c�*O೎�f��{��S�V�bYY�%ZA����M�;, �i����V/������N��:o"����y~X
-`D"�iP �/�`�3�O3/A�iH��2�f���Cn0㣯�ӹ}������_�ˍ	�f�A���0Py"�a�`��RPB�KA��4T�NA	�c��{���T�}��IB�z�$��!��Pù�C��%" D��u�C���d>#1�N'�0�v0&x�DS��1�PȽ$�eDRP��~0����"�'=�������l�p��Ѵ�����aQ��d�+hQ������K0����'0�0q��a�jc
3Pz�ĵ���f��8�Y��0�O���`����/ltQ1h���i�
JfA��-T��)P�|}���!@0#�Z�|�{�r�A[Z!L!KG=P)K �
�VK���i
��VOF��<�ui�.������V�|����kL�A�����N �~tb���:�k
������ŕ:R��p�@c���G2gV��fS����4-^�%��>��!T�XƇ�����@X}�<�~$���3��$Q/P�
fwr���?>q��yj� [...]
�^Awq�c�	�P��S�cHaCR1OT�ʥ9�3r��*є$R^대OZ0�;�K�J�B@%lp��ѐ���gp
���w�8�'#�y
fL�"�59�Ll �k�����
�DeH)�_���2A_�֗1{>�e1J�;��q'�>��uq�]�����ũ��4t��C���-��V^~8�ͨ�
�a�sf�mky
�r���uv�焺�i]����b�����6k8b>���^�m� ��@1�H蜿�ٷ�.��м?�f�
��i��~�ڜ����>�E�����
��#����h�������l���ә3�
�A�GB���������Or.�Q�Z�Q���K��0p�@oW��?��m^��X�7��"���u�ݽk�xv;f�0�O-�?
�����m{t&���q�@?6�R���y�,%����u�{&���b9k�z����
(.�^�?��<!n	�c�xN%&{����S��.���R��U�)�a݆yⷂ�u�
r���]^��%N�D�D� ����ns�'! [...]
��a�ڴ�z�t��/�h%mr���Eg_�2"�t��>;�PJ;^�6���;?%���W�u��5<
�y����bʉp��ݺ2}�%
��T�s�L-
.D�d-�a�c�'�*�;�A�"�i��)ԋ�7��v��� z05`��\�.`*���?t�R���
�m�.�+������x����y���ɠ����a�͑
{��uy^|i(�{�2��P��'a��D�Oy>�,�� �~���Α���
�׷�}S��m�
��T�+��7m{��͛��G�iй,N5*�7@#o&,�a�Ä
�5���2!�3�)=0%�bǪ'ͩ����D� lΒ�M�hendstream
-endobj
-1132 0 obj <<
-/Type /Page
-/Contents 1133 0 R
-/Resources 1131 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1093 0 R
-/Annots [ 1136 0 R 1137 0 R 1138 0 R 1139 0 R 1140 0 R 1142 0 R 1143 0 R 1144 0 R 1146 0 R 1147 0 R 1149 0 R 1150 0 R 1152 0 R 1153 0 R 1155 0 R 1156 0 R 1158 0 R 1159 0 R 1163 0 R 1164 0 R 1165 0 R ]
->> endobj
-1136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.529 719.9123 251.5328 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_1c416a6d6a359f2f9e9d33af7dc32ea8) >>
->> endobj
-1137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.7717 719.9123 355.7544 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.8596 719.9123 461.2162 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 708.3307 178.8624 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 671.0953 290.6423 681.9993]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_adbcd3b735dae0f714d1134cf8e6b911) >>
->> endobj
-1143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.4579 671.0953 389.4406 681.9993]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.3434 671.0953 470.8246 681.9993]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 634.2335 218.6928 645.1375]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_414a473844efce3515611fdc6b26e4de) >>
->> endobj
-1147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.5084 634.2335 317.4911 645.1375]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 549.8595 235.8581 560.7634]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_9a30e394a9c84bb9d2debda31433e6b4) >>
->> endobj
-1150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.6737 549.8595 334.6564 560.7634]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 512.9977 239.1756 523.9017]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_90e279d0af3491d3cc793595e3e1bbff) >>
->> endobj
-1153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.0355 512.9977 398.0182 523.9017]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 476.136 250.244 487.0399]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_08451f3fa991dc14b1b8874bdefd7cf2) >>
->> endobj
-1156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.0596 476.136 349.0423 487.0399]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 439.2742 244.7047 450.1781]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag_94ca29d276a68f3f75aa62c8ab6109e4) >>
->> endobj
-1159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.5203 439.2742 317.4909 450.1781]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__tag) >>
->> endobj
-1163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 117.7601 313.0578 128.664]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_b823e62915ff895212640119f062252c) >>
->> endobj
-1164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.8735 117.7601 478.2465 128.664]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1134 0 obj <<
-/D [1132 0 R /XYZ 90 757.9346 null]
->> endobj
-1135 0 obj <<
-/D [1132 0 R /XYZ 90 733.028 null]
->> endobj
-1141 0 obj <<
-/D [1132 0 R /XYZ 90 688.1961 null]
->> endobj
-1145 0 obj <<
-/D [1132 0 R /XYZ 90 651.3343 null]
->> endobj
-1148 0 obj <<
-/D [1132 0 R /XYZ 90 564.9379 null]
->> endobj
-1151 0 obj <<
-/D [1132 0 R /XYZ 90 530.0985 null]
->> endobj
-1154 0 obj <<
-/D [1132 0 R /XYZ 90 493.2367 null]
->> endobj
-1157 0 obj <<
-/D [1132 0 R /XYZ 90 456.375 null]
->> endobj
-1160 0 obj <<
-/D [1132 0 R /XYZ 90 403.9466 null]
->> endobj
-398 0 obj <<
-/D [1132 0 R /XYZ 90 291.003 null]
->> endobj
-90 0 obj <<
-/D [1132 0 R /XYZ 90 284.4028 null]
->> endobj
-1161 0 obj <<
-/D [1132 0 R /XYZ 90 185.9303 null]
->> endobj
-1162 0 obj <<
-/D [1132 0 R /XYZ 90 132.8385 null]
->> endobj
-1131 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F25 148 0 R /F11 737 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1168 0 obj <<
-/Length 2740      
-/Filter /FlateDecode
->>
-stream
-xڵZY�7~�_!dV"�g�t
l��H�@֞}J�A[j�ѕV����[<�>Ԕ��0R���Xd}_Uu�	�?2�x"�D��b�����#\~{G��s�}�
-|{��BL4�-&�+�� HPB'��_� ;����p�<��vU]6����˱��M�8�S��?^���}}W��zFԴڙKD)ΧL�~��������W��w����7<Y��?�aĴ�g��њN�w���es���Q����0�l�R�P�9�Hp���
�(��2�
�c�MBD�D�j�L�~�Tt�G(Ak9I����]Z �I��z��r���V�O���y���9�=��s,vՌ��s�x,��c�n��U��愺��
-#�8
�a�ʬ�+�
-ADg��=���]�� ����¹��HI8��p9�
k��B")��B��qB�T�zLS@�#�ͮ11̌���VR�-�q�|�sM
$A����-�=�!�.R�
@�LJ�b<�Q*�
W
	]t܃���#C�Q0N&���t�C
e�<(L �(
�T��K��
-������bƯoO���8�3@�����rM�fDLm��+�S~�w��]��i�rg��-� �h�p8���"L
/�
�t�\��Ý��T�}^�]��G P�������gLN����W,�l\n���!��0$��֧r�tڎǁER�f:Ɉ�EŽ
�Cڠ�'B¾r.?�D��0V�����R�E���X��R�#������ev��
biݱ:�^>g��7�Ly<�w_��€l�
B�D�ko��]�H~�]�_��`��1���/��@~Q̸�<�*�혽LlA>�AO��&�YR&>Q*�
�
�.�ʖ{�z1NmL"���&jKt�Q[3~����ѵ(���X�|���-k��,+��-V�2
-��p�2X��)�/���hD��
�,#���%��v� 9� 
�q)rd��d�(
#�q��,R��dѲz
Y����
y��6US}.0�
v���D��w�r���]`Fa��d��'�g=��ײ��",��`
-��W��XU@}
��:F�,��~��8�~,7�ei��v�z�1г	�g��_U�p<���B��ګߖ���kǓ+}{�Y�����-�;?"����EP��l�'[��vͩ�l<(�қ7Uy���AOH8U���
;��
�W�û	'�
-vA�ֈhb6�SL�l8��	�?-;O� l_����]�Bhb4a݇���p�����d+׍R�
]	t��. �(��q��3v}����0]��X
v/�����+Y˪6�k'�]��ت�lM�ʸȄD\s�ٚ!t/0R��k��s
��^���
�J3������O
-
-Y�8p�D��
K���b
]$9k�@٫����Bv�^>bA>�AO����	#4�(�w�3��Ĭ��f㜉���83�1ƙA,��ᑕ��S�C���J�y̅��-潈H����<�ٔ%�}�,=+�6g
��cw�
�*��2'"Òƍr
C�l������'3��J�
�D�,դ
-G�&c�SM��.Z@��VG�X�����k�f
%�-�DC �
P��8ȸF��l�����$��E��=��F(P
l�Vp�[3��C� �'���g���y*6���
L �E�k�
.8@�	3S
#��\�����<u �)D�&W�e�9F
,�x���갇�:~u+�sF<��\�IB��q�8e�OD8����
G�<�%
-��l�n@��� �A��Uѱ:�f^>g����\�L�� =� �A1��x��T��X7�wf�n�2F�9�AO�-u3��n���
-�h�nN�F��(f��W�R \ ���^>_A>g���Ɖ��
.t&<Q*�
�0j�v�e
�1
�B�� 8�1�A�x��jN���3e�Y��?B���r� 5*3|rl
�J=]�܏���A�k
��ۆ��b���OԢ�T��53���y�ݔ�y��#-�E�ofs΅/ԓ��������y5.1t��S��%�i�V�^��L]L���7�S
��}1A����"�ͯ7US�7��7����z}h���@�a�P<p튚����f}qh�:�F���
-=����	�	G�!w���&����X���
X�����qf�Gk�|H�2
^��~���w_@���zoǔ륷SW�r���w
����4fV�)`�+��jc�(��<p���u$�=�d?����}�ΤV���>{�S·�Lʐ?o�j�����g
l?��Ԭ��x�2�Y� �3e��v���r�8�����7�<SNW�o|�ߎ����<D��f��o�Ń�+�tS�
x���"�������� ��	�9�]�ް�Z�R9�zA���]�nOpa󄘢'�b���f��׼�H������`$�-��
�y��y7��w	z��$4�R�0�ۀ.�$��;Ҡ���� 5cX'��򳄝&Sf�F15�c��� �#�
�)A��o�n�p��:�H{���~��N��P�!5Tp<�D�6�G���'A�,�;>�ia �?�pO�m��>3�<^t ��Ub����T��M�[l�~]�J�-��Ly
-
N�`�g
����o^��e��k��.k����k���T>Vi� �Ǫ��Ix�>�.wP����1Y�Lj��$l�
�W���}�a�A ���~�}>�3)|�
����2�JO���S�
^�z����Gtڭ5Z7� �^��W�@<
6od��Q��Kk�8��J�+y���B�
\�Z�BC��<�?�I�endstream
-endobj
-1167 0 obj <<
-/Type /Page
-/Contents 1168 0 R
-/Resources 1166 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1093 0 R
-/Annots [ 1171 0 R 1172 0 R 1173 0 R 1174 0 R 1176 0 R 1177 0 R 1178 0 R 1179 0 R 1181 0 R 1182 0 R 1184 0 R 1185 0 R 1186 0 R 1187 0 R 1189 0 R 1190 0 R 1191 0 R 1193 0 R 1194 0 R 1195 0 R 1196 0 R 1199 0 R ]
->> endobj
-1171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.5324 719.9123 481.7305 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_cd03b90ea728537b78a669806309a5c0) >>
->> endobj
-1172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 707.9571 268.7543 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.7167 707.9571 482.1019 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.2536 660.1364 486.0093 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_e2334b2eefe8cae2ad750dfea1f7cade) >>
->> endobj
-1177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 660.1364 513.9963 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 648.1812 268.7543 659.0852]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.8599 648.1812 473.2451 659.0852]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.2537 611.3195 321.6475 622.2234]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_51dfb5223b7487379681d4cc1583917f) >>
->> endobj
-1182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.6111 611.3195 513.9963 622.2234]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.5236 525.9492 349.5824 536.8531]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_cb94e9072062c0827a16766cef2c1a5e) >>
->> endobj
-1185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.816 525.9492 513.9963 536.8531]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 513.994 163.6097 524.8979]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.6095 513.994 272.9087 524.8979]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9609 477.1322 342.4044 488.0362]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_7d4bec3e6101e95b57973dcab5880a51) >>
->> endobj
-1190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.0753 477.1322 513.9963 488.0362]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 465.177 129.8568 476.081]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.5523 428.3153 346.5537 439.2192]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag_c5344d92361779d92fcb36acf2d406ae) >>
->> endobj
-1194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.816 428.3153 513.9963 439.2192]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 416.3601 163.6097 427.264]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.0705 416.3601 361.4556 427.264]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd8582d9f10213d638e87de8f0aa91a01) >>
->> endobj
-1199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1169 0 obj <<
-/D [1167 0 R /XYZ 90 757.9346 null]
->> endobj
-1170 0 obj <<
-/D [1167 0 R /XYZ 90 733.028 null]
->> endobj
-1175 0 obj <<
-/D [1167 0 R /XYZ 90 677.2372 null]
->> endobj
-1180 0 obj <<
-/D [1167 0 R /XYZ 90 628.4203 null]
->> endobj
-1183 0 obj <<
-/D [1167 0 R /XYZ 90 541.0276 null]
->> endobj
-1188 0 obj <<
-/D [1167 0 R /XYZ 90 494.233 null]
->> endobj
-1192 0 obj <<
-/D [1167 0 R /XYZ 90 445.4161 null]
->> endobj
-1197 0 obj <<
-/D [1167 0 R /XYZ 90 370.0737 null]
->> endobj
-399 0 obj <<
-/D [1167 0 R /XYZ 90 245.1748 null]
->> endobj
-94 0 obj <<
-/D [1167 0 R /XYZ 90 238.5747 null]
->> endobj
-1198 0 obj <<
-/D [1167 0 R /XYZ 90 140.1022 null]
->> endobj
-1166 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R /F11 737 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1202 0 obj <<
-/Length 3569      
-/Filter /FlateDecode
->>
-stream
-x��\]��}�_a�
 ���#yj�&H�4i�E�`�5�Blٵ4;��KI�)�"=�
�X,,{�コ�ι��L����
%2���f���77���
-��
-_��y�
���r���� 	�����K�ޮ�xy<��)��n��_����5��x�m��������\��[��Ee?"Zs�d����������W0Il8����w��B���`Č�'x�1�.�7�2�fw���?����b�ͱF�J�X1�����PsD��"����	���$�z�a6Q�Q*ƧG(A�
N�:T�/�2t[V��+3`���ڿ�
z�ϡ�
��>�j��1Q�T,�&cc
Q�-�
�ʄCGJ�Q6~�O�j��K�����v]F�w�8&�^�t&z�4
-ޯLbD	V�<`f}�B��hwJ�C
�"�1+��b��+
aHr��8:��@TS�6��_hG�vHq�]rzve����m�F�U�Z��swXw��=>�w��0�e
����imw�t*��}ؽ��?�z�j�k����ݞn�Zu�eT�� |�7�v��yJw��1h6��h$�/�8s
B��%�~�Z" Q��7��[h0�o�=�
����SD�dF^�	��s�'vsww:�ϟN�r��08���Lx��cfF�%�x�1����	��\��3
gi#u:
5�d�z�iP{1
�����ؤ@FLb�͗�g�5���9Tus�����(J�d��k��
-�sJ�7�2P�%fJ�o;�Z��ȰW at O���5��!�
JD��E���Hh���� )[6��.��]�
���T
�c�u�B �ͺ��{��C�{��p�?��Ȥ��C�!"1et�Lk�)���
�wgНp;`�
D�
-c)
�6�5 )�i���S�uSl��y��b�-џF�`�
)���cIs��`yq

��-�׉[�6*n0�P�
�&ĭ���O�P�f�z&$�
g��Q�(m5�_���I3J�
�����v_�q�]8�L.<j�P�$�L5��Gj�ΐ��t9x&[�.YN�@�)['~�tR��cP����W�0:�*�E�kL"ޖ
�rtz$1�/�d�l"�r=j0R���������t8n޷��2�.��
��EH
nM��t��x�� ��
-t�O����)�����=��,w}@C���;��F��T�I͆bx�V	�����UB�����V�Z���k���L�I3�F^�����?��he]��C��Rd��b�$yT&Hs�<
-2*U
-�V��4y|.���H|�R��\xT&�`
-k
�A$ۺ���
S�e(�l5-C��dH#���
���
y���>m�:$8C Y�!
-m$���l\n�aӬד���1����y��
s;�]�
�#m��k�&U�!b� 
-|�#`�]C��"(T���/r�O��	䘿G��l.��I�����允���B��Ȧ��L�
�
R0�Nf��ҡPI��`LR[W R�پ�0
�s?�:l]�� \H`�R�0�P���.���)�V�3��5D�H��ٰ��n9^~X����w�=/�u�84ܪ
-&Ů��"�?�8�jޗ����������cW��<o��x=
�m�p���
�/m���r��<,�~(��q�s
�wE��]����<�qB�3�`"��_�2~%��?�
�e���|����J��B�	����4��е��گ������a[�?��}�ŷo�tq�́��-��W{X���~=[g��t=p�(iĩ2#���R����؝-?��zS�m�}Q�pm'�#R!�y�L\
�"���G�0�P.����/�
>���KI�
��P��Q�xl'�+6�'�$�0�:ϸ[��I��]�|,&cZ[SΈ)���
Z�i��|F���k�9��'��Sf���DB
ʆ��`�;Z)w�_\'g�;Kf�=����x���؜����TT�����DO2Ex��$�U;'ve�Wo�pL�\��I��� 0����_'��D�>t���3��Vgu���1����BAө�L0�vׁiF� Z�K(o)�4
��`l��%<0�6&�����)#{O��gZ#bo�+�+ [...]
s+V	E�Iya*<<�}buv`��f
	U���L�8�����')|�	��Lfv�9�*�EF����I���9+�4��-��Wq|`#��6i*ǫT
Z���yd�¾7
iw�8�m�ώ�(F?���E�NXʪ򍚫[ܔ3�j���ʵ�J��y�*�Y= ������rL�Eگ�����P!!MC����->�bw�Э�S�`f(�\xT&���-��
^��b@����4
��`b�Ţ즰`�xT&
[�J�F�2��%$�d S��-
X��<�IG KI��]"
�ح҄\#
���tx���t
�녡p�\/T#�%��a��A_'
�	Cr;Y<,+���dd���1p�h�
��#�c������S���1f�y�L$��*Ma~1��i)�@�ȥ���lc�/�
�c>�����4~�lO�+bO3-����F��
l�!��+x	�"�D�" �vE��k��+�ӈ�=���>��$
�N�b�9��bY���Ѿ��gP�a�uSBR1-\��J�����U�n�s{>�z�\WM�k�z�ki��H�����?<z��X�ޯ�3˶�}�=�Y��&Q�#K�o&
�fg�[.���m�n�Y��_uq�د��;E��n)^>����A��'��E�`y4L��z�W_��K1j$X����zXr�����'[�%Z��in `*�_����S�^i��x�>�5𘗮���Y����i�!A9�́ä��X��;�{t�c�XF.̂�g܏���	_	��$xP:
�L���rd��>���j�1���*�j����?j붴$���Ӻ�
Y��Xh�
0ח��W��hj7
�'
��uP�B���
B������'� FDne���
LQXگ����&M��kr�J����؝��˪.NM�i^(6$��xT&0�ԯ�����nR�P83yif<>���
v�C-�l��L�Ge"��
6�$��8?��	`b�?�k���F�9��xN�����(�4V�*l�T�����^�b�x�aT
-S��sJ��+ at 2����n�����(�y1pY���n��M)�YF�)�z}z��eaB�
�f���� ΃����Cu���ؼ�񱁗�|������v�
���j�H�ن4?%2���ǎ\6����Ԏ�Ӿ�?
v��������^���_��������
�j?V`�w���赛�T��2�����,N������O)���<�%���Dv�cᎾ���*�FwiU���]���Ms��͛��'���cU
O�l� I���4��2�����+��2�B��2�P�|y8�M!�'��&7� ,�W���endstream
-endobj
-1201 0 obj <<
-/Type /Page
-/Contents 1202 0 R
-/Resources 1200 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1093 0 R
-/Annots [ 1205 0 R 1206 0 R 1208 0 R 1209 0 R 1210 0 R 1211 0 R 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1218 0 R 1219 0 R 1220 0 R 1221 0 R 1223 0 R 1224 0 R 1226 0 R 1227 0 R 1228 0 R 1229 0 R 1231 0 R 1232 0 R 1234 0 R 1235 0 R 1236 0 R 1237 0 R 1239 0 R 1240 0 R 1241 0 R 1242 0 R 1244 0 R 1245 0 R 1247 0 R 1248 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1254 0 R ]
->> endobj
-1205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 719.9123 253.2928 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_33e20d1de127c9232d2d1188bee532ef) >>
->> endobj
-1206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.1084 719.9123 358.7163 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.1141 683.8397 325.4611 694.7437]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_7752ae55e7cd4d014f6498348ef47865) >>
->> endobj
-1209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.2851 683.8397 433.893 694.7437]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 683.8397 513.9963 694.7437]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 671.8846 174.6683 682.7885]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.1591 624.8531 357.827 635.7571]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_b1316806c765a595ddfa4de5e8d971f6) >>
->> endobj
-1214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.696 624.8531 464.3039 635.7571]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 624.8531 513.9963 635.7571]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 612.898 235.0014 623.8019]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.838 565.8665 366.0636 576.7705]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_f5253fb7ef85e1875cc453d9a9998459) >>
->> endobj
-1219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.6115 565.8665 472.2194 576.7705]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 565.8665 513.9963 576.7705]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 553.9114 235.0014 564.8153]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 517.8389 260.7345 528.7428]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_540cea530eaa9c142b16fbf01f781673) >>
->> endobj
-1224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.5502 517.8389 392.1703 528.7428]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.4316 446.5941 314.8919 457.4981]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_eeec098f7c1e5939b144f3d42a2c65fc) >>
->> endobj
-1227 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0334 446.5941 455.6535 457.4981]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 446.5941 513.9963 457.4981]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 434.6389 190.7379 445.5429]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 398.5664 261.8505 409.4704]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_888341fcf1079aaaa4dd7b532662729c) >>
->> endobj
-1232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.6661 398.5664 393.2862 409.4704]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.785 362.4939 260.6109 373.3978]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_a7260438cfc5fa383c7fb80b127f8315) >>
->> endobj
-1235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.1058 362.4939 393.7259 373.3978]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.8403 362.4939 513.9963 373.3978]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 350.5387 189.6219 361.4427]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.5736 314.4662 254.798 325.3701]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_fcc12e4f52a8ff85d16ebfc424447b63) >>
->> endobj
-1240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262.0815 314.4662 389.7016 325.3701]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.8403 314.4662 513.9963 325.3701]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 302.511 189.6219 313.415]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__const__iterator__tag) >>
->> endobj
-1244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 266.4385 251.3301 277.3425]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_e9bc39a46753f158644428f3c01e73a3) >>
->> endobj
-1245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.1458 266.4385 382.7659 277.3425]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 184.2349 256.3012 195.1388]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_f5911dc31286d92c979c7ff89c249bc8) >>
->> endobj
-1248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.1169 184.2349 361.7248 195.1388]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.8254 148.1624 313.6119 159.0663]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_3f5244b219701d5ba5939982a1d11d97) >>
->> endobj
-1251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.1473 148.1624 428.7552 159.0663]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 148.1624 513.9963 159.0663]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 136.2072 174.6683 147.1111]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1203 0 obj <<
-/D [1201 0 R /XYZ 90 757.9346 null]
->> endobj
-1204 0 obj <<
-/D [1201 0 R /XYZ 90 733.028 null]
->> endobj
-1207 0 obj <<
-/D [1201 0 R /XYZ 90 700.7432 null]
->> endobj
-1212 0 obj <<
-/D [1201 0 R /XYZ 90 641.7566 null]
->> endobj
-1217 0 obj <<
-/D [1201 0 R /XYZ 90 582.77 null]
->> endobj
-1222 0 obj <<
-/D [1201 0 R /XYZ 90 534.7423 null]
->> endobj
-1225 0 obj <<
-/D [1201 0 R /XYZ 90 461.4752 null]
->> endobj
-1230 0 obj <<
-/D [1201 0 R /XYZ 90 415.4699 null]
->> endobj
-1233 0 obj <<
-/D [1201 0 R /XYZ 90 379.3974 null]
->> endobj
-1238 0 obj <<
-/D [1201 0 R /XYZ 90 331.3697 null]
->> endobj
-1243 0 obj <<
-/D [1201 0 R /XYZ 90 283.342 null]
->> endobj
-1246 0 obj <<
-/D [1201 0 R /XYZ 90 199.116 null]
->> endobj
-1249 0 obj <<
-/D [1201 0 R /XYZ 90 165.0658 null]
->> endobj
-1200 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1257 0 obj <<
-/Length 3198      
-/Filter /FlateDecode
->>
-stream
-x��[Y��~�_A ��V߇�e˰��� ������ �<Õ���T����\SB���������jf�
��<SB!ø�-�7x� ���!��
ܿ�
-|����+)fI����i�	J�����B�����p��W�fq�7�����
x���X5�Ų�o�u��=�v����9����7߾M�O��:���Ͽ��
-<��#f��}���1t���œ��O7�Hz�
��Ԁ9�HS�gw�#-��))�9"�QeK�Sp���$�z��l��M��P�3j�U8��Jv�Dؐ��zw
Ye�сQ{�y"o��x��P��n����p��?}l��v��
-q;w�h$��?T�1d�`�%U
1���I�%FzcH��];���h� a�"4��$��?
ĩ�}~����Ĕ�C.a�UA&aHr��x2k�@TS�UG��
-B
K�]�p����d�z��ֺ͘ȣ:�� 
a���k�D��~B�A�q�h����qB��*m�:!	�'���bqY�
%� :RK���$�"�tf@�`7�N�lt�FˠS�>�������0�D‘�
-�5ߟ@�W߿�֧=�B��� ���\@2r�ئZl�a�H��L�#��
#�}.�q	Kɔ"��
-�pɑҰ~{��QL*������ȠX��(�H��1����}�� ^��_=��Q�T/i��9�{�(��a�ĕ�{9��be��(��\�n����
���^ sy�C�q	�ߢ]����i{�&HkA��HR���5����0c�]
�$_�`��ٸy�(���$��?��!�����~��A�ל=��h�%�U���"�uA���
�\�Ǻ��r�6�Lͫ��i��qq�������%E�A �M(!�be>jK���@B��D� 0��!��0�y��fs�3z�� p�_��TO"ƅ��#I<���)ԟ�I�P��K#�K��Z�Fd\W�+ �| �T�{
�����JLI%����
�%1��kH�O	}v}s).e��斋�~;�
-�T	D�@[���*��1�W�
NI�+ª��o���T+�o�v���q�`XE at P����[��U���d��[Z
��z�~
W�?m�2j]`�j���Nu��ǫ���C��%b��^U���]�����E�€��w�Y�ij;

��"�"
V�� 
�Oq�1�݄ 8P at p�"q��?��~���w��n�»��"gy�@^�k��~��îw��
�A7՗�c�D��m��Ħ�%� o'=g�Z
OQ�s�b�*�%�}�Ȟ]�m���
-�P�9z
K^X�c��gm�gm/�����j�gV�n��U�p����c�w���*�AHGR0����?O�RHy\�0���O�i��%�$qG8`�<
p�(�7�7�收�Ҩ���|���c\Џ�c��6@v�ps[m�U� �hjsT6,Hf�"���!)��� b,�=�#wb�I̎�-Ś������j��ag�b�*��At���nj�\��e�s+���ğ
v�Ϝ L�X=O��|��Ho\����	F֦��	HRG����?Sę�T1�/
E�/z0�;�Σy��"Àv���.���F �̄��/D^jzi��x!J#����zW-��o;4���n���a�$B�C��
-�p��ࢪ�Ц`��Ө�(
��K�K�
�����$�))��}�-�}�^'��9^j��e�tðμ��Rw]��DLjh%O�\?����f,��[�.4'_�?��ϡ��jm��2�e
{�D�J�V�oH�IR����wh��+)L�Pו=]
��2����׌@+,{bl��?tpM,�w�
,{�z*K����������.�ɀ.�j�@��^����ؠ��w�h��8R��w�1`m���c�Ͽ
{�ndԿ
����2Ei��n�����
հA	*�f�>����%��4e�J���a]��-w�2����~_�~�
�vab�j�v�	���
-��$j7 8�|im1R`��%��0�V=Q~�0�=��	V[�����
G
�������l��a�1��
��P,��Z9���+/���	1_�x[�,�֜���͍}4-{2�D��u��~h��ѾJ�'�z���
-��ʧ�
;�EEڌ�N�:M���V}{pE�=\���[W/�S;v�~�P�_�h���}��-��~Ă#�x?9r�/��Q����g���LP����
-�(V.:
-s�@�n,�f3���r#�`}��lp�ߪ��Cj�{

u�a��|P�T�-�5
��dL��� �ua\�|Ƀ��
�&"� �$5v����9#� �/
-x¡,�!hV�
-�Ց�0IlDa�;(8
۲��G�Pj����_t�x�)琞��}��� <�ͅ
���مFX�XI��"�}��6U J�Z� �(�'p����&) yE��_��ġ.�O�¬_���CDx��	
��
6�)
d�&��v+uf�R0
L�sv��9����R|v�&�",��$VD��
j���͠v�h�
ևZ/@m�o�i�Ž��0N�\�*�Ǩ�x����L��-�$!��'���^���(5��݆!'�\���C7`L_�

9�b��$�{G ��?���]H���J��T~���sV%<q�
��M�X��i��w�A=�B�'A�Ѓ��v�!
�}�Nh: ܝ�a���Jy�N��'D[�B>	��Q&??���%z���@�Q�����]�9��� ��ևZ��}9���k�@<�AIR��fJ%L�$=��pf.�K�/y0�{=אɚ烐��.�1^������={���]�$_��X��"��ze�ڄ䣕�
-�p�D�
)lv��
�y�f�ё�좘���z���ɢ��
mݗ_��4j�L�����S�8"�3'C�'��¢��l�/��赛
@:҆��&S��p>]/�g���:pS=M�0�!�B^�O��	�FL�_	’$���AB0���G�ff�����c�j����]�h��
�����C������?۪����#$��;���߿�ޚ��S���Z���TU����ư4H�?�x����:O�OT'*#�66�����/>|���-z�Շ���K/�o
ݞ$�~�^��/��@im�t]I�f��_V�;��u�.�2V6��� �y�endstream
-endobj
-1256 0 obj <<
-/Type /Page
-/Contents 1257 0 R
-/Resources 1255 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1093 0 R
-/Annots [ 1260 0 R 1261 0 R 1263 0 R 1264 0 R 1266 0 R 1267 0 R 1269 0 R 1270 0 R 1274 0 R 1275 0 R 1276 0 R 1277 0 R 1278 0 R 1279 0 R 1281 0 R 1282 0 R 1290 0 R 1291 0 R 1293 0 R 1294 0 R 1295 0 R 1296 0 R ]
->> endobj
-1260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 719.9123 268.4955 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_3d3687abfb3878a67fca687b8e4ff0b9) >>
->> endobj
-1261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.3111 719.9123 399.9312 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 683.1177 271.813 694.0216]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_e12a1e70aa5010e6617de857f51574a8) >>
->> endobj
-1264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.6729 683.1177 463.2929 694.0216]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 646.3231 282.8813 657.227]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_067f83ba740e5b6c0c585a5175723a0b) >>
->> endobj
-1267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.697 646.3231 414.3171 657.227]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-1269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 609.5285 277.342 620.4324]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag_ad90ffcd536cd0d48ee183bca02103fc) >>
->> endobj
-1270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.1577 609.5285 382.7656 620.4324]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-1274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.0323 288.2948 220.8984 299.1988]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_ce16d45c8fbb00ad5b616aa4344fb798) >>
->> endobj
-1275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.6406 288.2948 293.9276 299.1988]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.6857 288.2948 447.4118 299.1988]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 288.2948 513.9963 299.1988]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-1278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 276.3397 218.6932 287.2436]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf449476be1ec42bab45fb86e7478bdf9) >>
->> endobj
-1279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.9421 276.3397 324.4355 287.2436]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 206.6684 287.046 217.5723]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_afa09f891353748a46868d342cc91cbc) >>
->> endobj
-1282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.8617 206.6684 358.1487 217.5723]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 158.9149 320.7991 169.8188]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_048cb229297e24f6d0f7ab4e4351e2c2) >>
->> endobj
-1291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.6147 158.9149 391.9018 169.8188]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 111.1614 288.132 122.0653]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_b3fe811bb3a347e553576dadff55339e) >>
->> endobj
-1294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.9476 111.1614 359.2347 122.0653]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6581 111.1614 472.9573 122.0653]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1258 0 obj <<
-/D [1256 0 R /XYZ 90 757.9346 null]
->> endobj
-1259 0 obj <<
-/D [1256 0 R /XYZ 90 733.028 null]
->> endobj
-1262 0 obj <<
-/D [1256 0 R /XYZ 90 700.2017 null]
->> endobj
-1265 0 obj <<
-/D [1256 0 R /XYZ 90 663.4071 null]
->> endobj
-1268 0 obj <<
-/D [1256 0 R /XYZ 90 626.6125 null]
->> endobj
-1271 0 obj <<
-/D [1256 0 R /XYZ 90 574.2664 null]
->> endobj
-400 0 obj <<
-/D [1256 0 R /XYZ 90 461.4571 null]
->> endobj
-98 0 obj <<
-/D [1256 0 R /XYZ 90 454.8049 null]
->> endobj
-1272 0 obj <<
-/D [1256 0 R /XYZ 90 356.3475 null]
->> endobj
-1273 0 obj <<
-/D [1256 0 R /XYZ 90 303.3564 null]
->> endobj
-1280 0 obj <<
-/D [1256 0 R /XYZ 90 223.7523 null]
->> endobj
-1289 0 obj <<
-/D [1256 0 R /XYZ 90 175.9988 null]
->> endobj
-1292 0 obj <<
-/D [1256 0 R /XYZ 90 128.2454 null]
->> endobj
-1255 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F25 148 0 R /F11 737 0 R /F89 1285 0 R /F36 1288 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1299 0 obj <<
-/Length 3260      
-/Filter /FlateDecode
->>
-stream
-x��\K���ϯ�-�*�sJ��˯رǕ��⎨�%R!��OC$ �!��VjCQ�����׍�d��Y�RB!ø\=�o��	n}C����������7_I�2�H*W�ۓI�����7��"���`�ׇ�����묭�6{�����)ۼ�f�y���|�׷D���t�hc֜��~��͗�ޔ�R�$�������j{�3Z�^�F����p�܇��/7��r�/N?�{`�5�T��
�HK��
�`��b�C�Rp�
A����T�<̺�ߔ���J�qF�B�S���K%†
�e;��
ȣ#�������
���)�c�V�
��i��2��m]����Q#�4��}�Q	��шh>
-,�X-�Θ��^���S��/�$�#%RF�]�@)�ATK54`Ӵ�M�j�����SL�:<Ve��
��Bc��G%
��@ЌǢ�! ��ܔ��t��D�9Մ!ɵ��ى���Z�'�_i�K����Qi
�`֮���M��e��y�ﻫj��m�{F}�%xm=yK��M,�m*"1�8��?yZ�ӄ���D�# ��H� z
��]i'� ~�w�cEB�"��RK&��aI�F8;�����g��9;�},�M�M���<B�T N`��N��B����
s,Ma�A�\��OY0�����P�@}u�G%
a�2

-�v<E�I*���~
-eD��ìUߔ�
�_�]��ڼ��sVnv�
whȇJ8
-z�|�;�
-������^�>��Dr���X�2��G�����
�rS�}�߫�=:!��n�]�8_�=f�]ϲ���ǻ<k�M�ˠ$��HH�H`a�*�	&�!v$��Ud���=�z��c��U��0k���U��U�jSlߏ
~�%��EJ_(��`1�v�4EG��):��Qt�6F��
(:�},uZ>6XV=l�}^60��T0{�6qoxT�

-����Q��j~�,u��'-�]��R!&���£���Z
.��<M�j(;5Y��O�������C���O�j�)�IbZz��
-R
-�@m��q@`�1��GFW8�iM at a�aa~MZ
eDҚ�Y��U�l6W�v-�
b&Y�"ܧ��&OӴ�<�UW���Iˊ��O3j��WF'+l�Қ�O^aCZ�%U��=,Iߡ�}'���=P���4}'���ά�g�(�E��0Ϣ.�\E�
]?�ٔw�B/x|҂���Ml� ?�
-�J�N�[=
-�x�-�	����D�x�GY�~��c]���S�
�����X!B�\",O0��\�KnR\�`i.	Ƹ$��qI�v�K8$:�����d��)��S:y���-6��"�G�m�ܨK<*a0
r�p(�Ebdl�,t�ǧ,��]�-ⴞqWxT��HX�

��mBf����S�'rփ��+��G%��P=
��Њ�Ym;p� �Rw8xʎ�T�;��V��1�>�������
�^��U
i�2�C݅���1bB�4kF�G��Dҫ��YD,���3�•��xs�1g�qWܗ���a
� ��du���m%����l &��E�<krۋQ�#$MLm/��'Mn�^��f�����.g�Pg��
hL��q�#��T�)�\)��7��`:��b�˂s1t�lw�.-�z��Sʇ2?��-a��xxP�F5���3��i�
�ߡ�G2��/`z{*�,�
���j6�#N�kØ]���{ة�?׍PHŖf/�{����^w3wհ�@�p��h�8�f���M�Զ�.����͡@���j�&)��8u��/ж��y;#�^�ܡ�u�.�����){��ݴkb�QX��
(a������=��=��
��`"�z&P�Q(���!��"��CC�=���|ky1y2b��`����h��4E[���M��.C� [...]
%L���g�0�4D�BGx|Ҁ���Y�C�T zT����"���hbB���&
�2"Y�ìU?�if��¤����L�H�g�vS
�߁���&Y�2a!>yo��J��t�G�=2�2,�2���
�.`����Ԁe�I���a�~�%�Y>�?��W�|�e_�]�>�Z��ߴu��k~La�e�r�k=>�DS��y�@�
����0.�Ќk�҃bzՁ�PF��
����d2���CW�LU�C�L�A�\CkX!
-��ONk�=�u�T��%i-���ޞ�j#�6T���������=k
��as����P��Ќ:£�@�!,�
�\�d׶
-V{
}��I
�r���f��a�
X�J��iQ6��??�W�4U*�~Og9�G��jԌ�:Pʈ�Y��B���d麌���CLV�~�}��i2R��Ew��*g�� �U�c�=��4��'4�����9X���1ڋ�u�����@�ڋkK�D{�*�Li�"L-Q�
�Q	S(p� Pu
`���4cd�/<>i�X��޺���;��&�mK64��Bx0
�R�5�Ȉ��YӾ�@���g�5�bi!���y�9Q��K ��

��:�*2f_x�vEA��/<#ҿ��6o�b��=Էy�X��p�?�
l�rR?D�����fԈ�_���'7{�&�w"۾�p
�p�}��N���|<��
n�s�'��اb�z�Wo?��q};H~����m�"��
-����`�a7��q?
`�p緇f���nnp�h�R
-d��n�=�o9ێ�.�|�u;[�Z߰3�K����r.�Pܷ��=*�� �a)�zO���s�m`�X��'	�f�c�@��W���� f�#��(X�u��1��NW��}矪���|S��/��Yݿ��E/+���S
��������XW���CV
��

-�_�ʼ>�G�6K������_
-�0l����?V�껰u���.�E�]*��D���s�
>����=6�X���7�sv��`�"|�A[#ĹF���?W�U�J�wv�����Y�_��endstream
-endobj
-1298 0 obj <<
-/Type /Page
-/Contents 1299 0 R
-/Resources 1297 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1342 0 R
-/Annots [ 1302 0 R 1303 0 R 1304 0 R 1306 0 R 1307 0 R 1309 0 R 1310 0 R 1311 0 R 1313 0 R 1314 0 R 1316 0 R 1317 0 R 1318 0 R 1319 0 R 1320 0 R 1322 0 R 1323 0 R 1324 0 R 1326 0 R 1327 0 R 1329 0 R 1330 0 R 1332 0 R 1333 0 R 1335 0 R 1336 0 R 1338 0 R 1339 0 R 1341 0 R ]
->> endobj
-1302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 719.9123 296.6896 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_297969dd313ebb370c9419915398aaf2) >>
->> endobj
-1303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.5052 719.9123 367.7923 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.8979 719.9123 478.1971 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 683.0505 226.4137 693.9544]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_278a22338f8428e328daf84dea4f94e7) >>
->> endobj
-1307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [230.2293 683.0505 323.5286 693.9544]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 609.6353 271.2452 620.5393]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_30d13726e3b27f1be7e5eb05a7814bb3) >>
->> endobj
-1310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.0608 609.6353 368.3601 620.5393]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.8208 609.6353 462.1775 620.5393]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 572.7736 219.7788 583.6775]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_f2fd5edcf647f4bc5b64cf0f4f712a51) >>
->> endobj
-1314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.5944 572.7736 316.8937 583.6775]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9612 535.9118 250.2814 546.8157]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_318f5f2972203c84ea0fdb4b82bbab1c) >>
->> endobj
-1317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.9525 535.9118 353.2518 546.8157]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.8872 535.9118 460.2439 546.8157]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 535.9118 513.9963 546.8157]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 524.3302 178.8624 534.8606]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 487.0949 230.0501 497.9988]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_140a26e6f6dc525c742aca71f598ed3c) >>
->> endobj
-1323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.8657 487.0949 327.165 497.9988]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.6257 487.0949 409.1069 497.9988]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 450.2331 217.0093 461.137]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_74a772b49c2c3190ad8501ffa0337d2f) >>
->> endobj
-1327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [220.8249 450.2331 314.1242 461.137]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 365.859 234.1746 376.763]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_5d89173a47e10f469337343cfb807218) >>
->> endobj
-1330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.9903 365.859 331.2895 376.763]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 328.9973 237.4921 339.9012]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_6d184edbb85d3c2747bb6097f7de17ad) >>
->> endobj
-1333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.352 328.9973 394.6512 339.9012]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 292.1355 248.5605 303.0394]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_6a901364857f84dc0f111a29330c33f9) >>
->> endobj
-1336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.3761 292.1355 345.6754 303.0394]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 255.2737 243.0212 266.1777]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag_d6d26ca0f256b0d9a45173e7d83ee4cc) >>
->> endobj
-1339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.8368 255.2737 314.1239 266.1777]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-1341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1300 0 obj <<
-/D [1298 0 R /XYZ 90 757.9346 null]
->> endobj
-1301 0 obj <<
-/D [1298 0 R /XYZ 90 733.028 null]
->> endobj
-1305 0 obj <<
-/D [1298 0 R /XYZ 90 700.1513 null]
->> endobj
-1308 0 obj <<
-/D [1298 0 R /XYZ 90 624.7137 null]
->> endobj
-1312 0 obj <<
-/D [1298 0 R /XYZ 90 589.8744 null]
->> endobj
-1315 0 obj <<
-/D [1298 0 R /XYZ 90 553.0126 null]
->> endobj
-1321 0 obj <<
-/D [1298 0 R /XYZ 90 504.1956 null]
->> endobj
-1325 0 obj <<
-/D [1298 0 R /XYZ 90 467.3339 null]
->> endobj
-1328 0 obj <<
-/D [1298 0 R /XYZ 90 380.9374 null]
->> endobj
-1331 0 obj <<
-/D [1298 0 R /XYZ 90 346.0981 null]
->> endobj
-1334 0 obj <<
-/D [1298 0 R /XYZ 90 309.2363 null]
->> endobj
-1337 0 obj <<
-/D [1298 0 R /XYZ 90 272.3745 null]
->> endobj
-1340 0 obj <<
-/D [1298 0 R /XYZ 90 219.9462 null]
->> endobj
-401 0 obj <<
-/D [1298 0 R /XYZ 90 107.0025 null]
->> endobj
-1297 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1345 0 obj <<
-/Length 2890      
-/Filter /FlateDecode
->>
-stream
-xڽ[Ys�F~ׯ`eBV���gk�6q�J����}JRZ��$V(�A���ۃ988��,ۥ�ht7z���3"
db�D	�
�r�����[�����s�?O����|-�� #��\�4$A�:�Z�:U��ٜ`������M�Z^�)7eU������.��;�^��j]���T��O�tS,Jw���)���rc/j����W?_�x��� �$��?/~�
O��.?_`�8��C'���p��xw���h

-� l8� #
��
a)����5=��qC�W3����r�.6Kwps�,�����
8���7�ݸ�[p����q~��'R�=!
-I�y��_V�����>�H
-����F��R\+/`c���+�eY��}�!�%������:'\ ����hDߖ�.����!����a������wE
�ʽ�XT�`��7����e��Hwj+���r"1EX641	8G����l`�3��*�_1�
Q�b��~�3�:,`��/����W���rSw�ի2�v_"���p9��X�ik H3��>jkƁRѳK	"ب�� ��K%��m�̮ 
]�0�ɮU{���2oS�A>g��7|�rF���,t�z
P���x��T�G&1�WN;c�HϮdHh�ύR��z���4��u>l�7�DH�c
��7Ԓ"I��rbz��Q�q��>?)`r4��a6 @
Mb�nW�n�I-��|Ź&��`ɵ>
�Njj�<�Ѹ��D�?�7��0�A�:��a�^���W�LSw�&�G汷l����Cw�z���: �6��"�w��fLM��>r��e����I�T�� ���it:��qpm��C����2<��0"��� ���D�.��
���
�E���,в:��^>g���Sp����ޟ����a��3G��) )Ԃ��H�y*6� B at R�N�+�i�߶{:�A>�AW�9�z@�  ����'J��k�(�%Z�n|΃�=�
���7x�)*�g���S�&\�P�y�҄���;3ΔRd8$|
��
8Qj���_  q��Q�u%�D
2QJ�|�:F�(��LĠr*܏�
{�r���r��^�:>�{tGۛR!
JPEB�1�)D"� `N�;P'h���
$g�o����#O�k���q�+`�/X�nFH���~������aN���!N�b'��'�,b�!�(�%�T�qf�z�l�
"N�XP�ʎ��`
�s�{zM���y�B�|"or8�'+�ț��P��`�Ä�b�y� ̤��
�M/��������ƌ�'Je�k�;�y˻�~�Cuuf|�U[ƃ��QJ�Q:Q��$B�5|�v�s��dx��y*60��NoɎڬ�j1N�
#�5}%&:�(1�Y�\�]U9vk:7��n
�jC
H�E�����C
��L��@���
��%`"f�t�d�AX��}V��q
_[�d�X�d�c$3n7�Ljv�d���
�#$��s�{z×�,�e]~Z�J��F��(Je\�M��Ќ5��
R�z��i�njD�de�/��(vNE�4$�����_�c�����͌��b�Z����g�}PҐ�*����ˡܗ#jt�,�w+����cF�4X�\��C��'߻�f�b���{h�<��kwԔ�M}(�k�����uY���i�d�"M�y�X ;�P>�>
���b��"�D�l�_�5�����EX@[��v�"F3��µ�}��f�B��S
̲��9*H�F� �e�`�n���]O-���:�8g�cu�Q��s�{z��/��rX�l����L��T�Of8���j�B'��H
;D9�z�^��AzF�Ōc�(�E1����B�Ҷ{2�Q>�AO�h:��Z��xD��7�Τ�5��ޜי
�P
����l
-Mt�Qh
�ki����
	-��i
A':bM5�El'�ӽ�ch�'r�'����!ٻА�&m�=e������C2��Ũl9D\a���j3
CH���X��R�#
���9�ev���F"��P��Y�j}� �h2�>Vh���
Q��8ˑ�Ќ�#gF�X��<���k�
}1a2����Y��
��)D�JDD>
D#�\���aJuP�*��5�Af���B
-������9�v�O?�y�$���׶�L�<��$T�
��<�%
-��m�n ��쉕p� Ah[
]	o�s�{z��o�-��� ��HQ>
� �q2f���ˮ�
�1��y���)�5����&�Ba�ɮS���:�YW>�sk@'f��X=�[�����s�U�q�f����ܮhؑmy�8N�"m�z
$:�h ��������x������{H�?��
 ��
+�vW�����tkºӚA�q���<6�v�
y�瓏�%����m�
�H����cNG�Y��n�,|:���ߛ�飏�W�>U�A-4m/l/�I��
*��4��il�3R
���	�y�p����S�UY�uy�W��V;�G8�
�kn�>n�v����tB�i�
�C��-�s �%{�X��%w/��?�Uۦ�Zz�UY,��M���g���VrΙ��
ޕ�&��;�f��:�(�Z3a�}V�?\5���W,|����M��#L���C�˗G�l/�ur]�@����l5� g����*�z���`_�h�S{2
������}+
a��= ���f�^o��wqr��1]�/�{�b!�`M�'6c�Y������v@��?����h��&�ս�E��]?ޕ�ʟ�s��**?�?�k���Pܖ�p���}Y};b�c��b�B$�k���q|��e.d���黲��d�
�ځtw����$�Rx`�<�PJ%Q�鵱������ˇ��أ�f��Ъ����S:����y���!���C�r%���m���.�7�����x<�?�u�endstream
-endobj
-1344 0 obj <<
-/Type /Page
-/Contents 1345 0 R
-/Resources 1343 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1342 0 R
-/Annots [ 1349 0 R 1350 0 R 1351 0 R 1353 0 R 1354 0 R 1355 0 R 1356 0 R 1357 0 R 1359 0 R 1360 0 R 1361 0 R 1362 0 R 1363 0 R 1365 0 R 1366 0 R 1367 0 R 1369 0 R 1370 0 R 1371 0 R 1372 0 R 1374 0 R 1375 0 R 1376 0 R 1378 0 R 1379 0 R 1380 0 R 1381 0 R 1383 0 R ]
->> endobj
-1349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.3404 578.9221 347.5352 589.826]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_0632eaac5ec676910e433016619b3e85) >>
->> endobj
-1350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.5855 578.9221 513.9963 589.826]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 566.9669 163.6097 577.8708]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.7669 532.6567 513.9963 543.5607]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_c23bf247df0b2721e97c8eeb8945adf1) >>
->> endobj
-1354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 520.7016 155.8589 531.6055]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_c23bf247df0b2721e97c8eeb8945adf1) >>
->> endobj
-1355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.8757 520.7016 352.4913 531.6055]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.9063 520.7016 513.9963 531.6055]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 508.7464 223.9427 519.6503]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.2093 463.4773 513.9963 474.3812]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f2932a2fa90f54f604e340d0e2eac7ba) >>
->> endobj
-1360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 451.5221 155.8589 462.4261]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f2932a2fa90f54f604e340d0e2eac7ba) >>
->> endobj
-1361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.0406 451.5221 344.6562 462.4261]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.5855 451.5221 513.9963 462.4261]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 439.9406 189.6219 450.4709]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.6195 405.2568 351.2561 416.1607]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_1842c4ba3cd1adb1e1bccef3cfcfa57f) >>
->> endobj
-1366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.5855 405.2568 513.9963 416.1607]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 393.3016 189.6219 404.2056]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.4475 326.9033 379.7489 337.8073]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_813ac0651ebac0120830cedf1ea58395) >>
->> endobj
-1370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.9063 326.9033 513.9963 337.8073]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 314.9482 223.9427 325.8521]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.9425 314.9482 356.4844 325.8521]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.5947 280.638 359.2809 291.5419]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f4cdf3fbe1977a24a90904e02efd791b) >>
->> endobj
-1375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.5855 280.638 513.9963 291.5419]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 268.6828 163.6097 279.5868]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.4762 234.3727 376.7202 245.2766]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag_f8d741d4315fb12dff45b47979f88808) >>
->> endobj
-1379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.9063 234.3727 513.9963 245.2766]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 222.4175 223.9427 233.3214]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.4035 222.4175 445.0313 233.3214]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf02dc1cffb4d3d79720ebafbe872be03) >>
->> endobj
-1383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1346 0 obj <<
-/D [1344 0 R /XYZ 90 757.9346 null]
->> endobj
-102 0 obj <<
-/D [1344 0 R /XYZ 90 733.028 null]
->> endobj
-1347 0 obj <<
-/D [1344 0 R /XYZ 90 642.627 null]
->> endobj
-1348 0 obj <<
-/D [1344 0 R /XYZ 90 593.3626 null]
->> endobj
-1352 0 obj <<
-/D [1344 0 R /XYZ 90 549.1196 null]
->> endobj
-1358 0 obj <<
-/D [1344 0 R /XYZ 90 479.9402 null]
->> endobj
-1364 0 obj <<
-/D [1344 0 R /XYZ 90 421.7197 null]
->> endobj
-1368 0 obj <<
-/D [1344 0 R /XYZ 90 341.3438 null]
->> endobj
-1373 0 obj <<
-/D [1344 0 R /XYZ 90 297.1009 null]
->> endobj
-1377 0 obj <<
-/D [1344 0 R /XYZ 90 250.8356 null]
->> endobj
-1382 0 obj <<
-/D [1344 0 R /XYZ 90 178.6188 null]
->> endobj
-1343 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F11 737 0 R /F25 148 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1386 0 obj <<
-/Length 3183      
-/Filter /FlateDecode
->>
-stream
-x��[[o#�~��ڇ�@������Y$i�4٢I`�Jc[�4R����=�!)�
Ejm�(����s�
��wx�a�#3�gJ(d����
-�����+�^�������7_I13�H*g�n;
� A	��[�<W�����������zu�n�C��7?=
�z{�Vw�
*��릭�ղ�?�X�ևk��uco���sv��o���.��L��~��V�7W1���>`D�������\�t��`���{ �����HKx�lv(CX
-
�#h�
�%�L�Y��
�B����l�x
��_‘�R��Y����
-�,�
��(�%&��u��w�L��n��� \�9eܐ�׻k��O���?]5�����Y��]������
�|D��c���TC�D!Iy��?����a�#$B
-������?'l)���'�'x`O3$������X.e�BP�����c���ڽ�W!�t���~׺�h��_�Gw�:��f������a�w�ȸ�*����"�@��t���mqz
�����)��Q�� �o���

����O�x�z<��mݴ��e����ms�
&���s�E
K
?۵�>Y;;�)A0�U��G��R�0�����0�� �x����Ý���w���U?
�����c�4ƱQ%���He$�
-1Q��f�0"&~5�!�إI	�R�>-g8t
�NG1Px6!5
�ƃ��"I#���,�#��p�kw���]S2��0�S����3d�w3`;M���lt�+>���]����ӓ+����*(E����ۧX����D/�	�+Nb��|
���a�-���×O����ڳ���Z
�����cЌ���
�3v�n��D0�|
��~U���=������zF�1��z
Vf��`���~=��nS���`��<�9x����E�ws{�mG_��e�6���,T!N�%Ҷ��N�	��j��
_���/E0���L(����A
��wn m
f5��L{�A�u�V�R��H����PY�jg��I��%�d�XB
�
�v0��r���&�"/т�FF
,�F��n��㺹����?���]M�n���n�u�ϻf��_U
�w7����&��X�5~�p��~��
-���4gA�"�^���m�
Z�(�1�<P7L��t	�j�چ��q
-��U�4��%�21#�ί1�@�DQ̸udž��b�9Ħ9+���]P�d^�b�y1�=#f��Ӭ�Yx������LuϡG�
�
-�B��b$
���FJh�
����
-�bc�g4mq��N]��K�[��Hy 	�̶�!��Q���>�6KEO�^$}� ���v�z�4�a���J߹�1�a�:��\@�b�6�19
�0!�]�"_$����z�@A1����<{��<NO��~��^��V���h]B4F\P/i
�H	���is���� kp}�ɜ�Å�k2߸�fo�/T���#���=���4
-1���&���̐?N� �HK�
-�`Ea�
f����	��mR�(RЏF^3���%���X�n���
�i�D>]U7H۰�r�va�N�V�`l�㤍^&mL)p�DA�bX�q���u�:�	٢�*�C��r�R �ϔ-L
��lV�c�U0u<,���`^H͋d+2�Q-��A�K��E�^oⅻ0�ɭ��s��J	��T~�
��bt(
4!��v
HI�=���C�=g�����	R൤

Vօ�`N�~�.�n3{C��=����U?lW��n�
�,`��M>!U�j0sÆHnYh�t��Җ��#�}��bY
-��g�P��8�Ð
-8�v%����"9.�0���5���f����A�.W�N)E$��~�4�Lv������V�u<�>
��v�y�;�Rw�kVݢ�����������z�q�)�[?�M�Pm����:~xSW�z��8 ��3ZB ;@ �
c���e��&Xtd"��
`6�_
�
�6Ͽt�>��
��v����(�o�N�
�LH�)��P]`��a� +2z�o`�_����J�ۑOF^3��×�O�����jY߬�ۺ9BSOk2�g	:�MN@���ʼn��FIm��k(�ե�	�bc��cw�s�OK@�07��A�֝|�:�U�qq�E��tY�
-e��7�Ӿ�0V��E�a4c���i��9jwq��Q��|���� �
�h7&���� �Q�;�7O����:�_"!w���2d`��PM�>���D`N���r���A�����΋
*:}N�5�yJ�<[�� 9��|@�?�e�R�6S���������<��E&e5�7�&���*DD��ޠĨ
��<<�ť�����g��0%PPcesP��8� �
U��)�Y9�/��c9���e�p-M�G��G,лk[��k�x��5rܩ?��
Cjw;�G<�̪�gq5
ŋ
E7

�Ǯ�?�\�(�����P���L��B
`E�
f����1���jc8yͮPw�����<y��Z�n�L�D �0ɧ%�
-a����H���Ravib�����8�wˡ2���*�F�~T�b�H�ʋ�� &v�ŭ�3�T�YJ�W�'��	���E
-|@P�4�gN��E�J����Z��u�[�Y�'Ҟ	�/a��D��=j�,��a5��t�g�����6dܟ

/_�a��R��3���}�
κi�2�+.�SH�ԼF5lϲQ�~��m���(�nXYS"�9M�����=��4
{ͮ�t�����BAܬ������T! �a2
�3j���@��Ҍxx����3�a�$���T!&΁7�����rII>�������]{�&/%*'%
v��
-ҝ����Z�ȉ���?�ɾ:�#����
^SE8�%v�UD�U&NXJ�b!���8�񨢈D�2�w�$$��YOx,/��]�l���N��!���ri�|,TA��A�S�J�����2�%�#���
�A%��&$��qf�L�AD�5�g� !��I0%�ߜ{�o��C[!�C�e�y�����
�
���~�m�����}�����:�}�/ܽ��{�����Ɩ��Jᅫ��O�Ύk�����mf�.�����%dx%l��Iz<�����@�v�z�����f���xC�=����
U���]����������#Z
�C��к}���tR�vV3
��I,��g��2�P���CX��n���Ot���k��endstream
-endobj
-1385 0 obj <<
-/Type /Page
-/Contents 1386 0 R
-/Resources 1384 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1342 0 R
-/Annots [ 1390 0 R 1391 0 R 1393 0 R 1394 0 R 1395 0 R 1397 0 R 1398 0 R 1399 0 R 1400 0 R 1402 0 R 1403 0 R 1404 0 R 1405 0 R 1407 0 R 1408 0 R 1410 0 R 1411 0 R 1412 0 R 1414 0 R 1415 0 R 1417 0 R 1418 0 R 1419 0 R 1420 0 R 1422 0 R 1423 0 R 1424 0 R 1425 0 R 1427 0 R 1428 0 R 1429 0 R ]
->> endobj
-1390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 541.1482 276.5354 552.0521]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_303533574d5d5d4d8f58e2d8646baa69) >>
->> endobj
-1391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.3511 541.1482 405.2016 552.0521]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.3017 504.9467 377.1341 515.8506]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_c64c8548738734fedbc94f03519b803a) >>
->> endobj
-1394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.1457 504.9467 513.9963 515.8506]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.8954 492.9915 265.4373 503.8955]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.0277 445.8312 411.1809 456.7351]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_95c612736a3e7524077dd5c81bf2a105) >>
->> endobj
-1398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.9185 445.8312 513.9963 456.7351]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 433.876 164.1776 444.7799]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.4764 433.876 339.3392 444.7799]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1402 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.7489 386.7156 415.4597 397.6196]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_d4d88d3daaa672264c63c83071c2021b) >>
->> endobj
-1403 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.9185 386.7156 513.9963 397.6196]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 374.7605 164.1776 385.6644]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.2833 374.7605 332.146 385.6644]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 338.559 283.9772 349.4629]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_9fc89d795c20b4270756269edf1b9604) >>
->> endobj
-1408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.7928 338.559 438.6556 349.4629]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.6628 266.9597 334.3658 277.8636]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_121252cea61436e0df74e008b80c13b7) >>
->> endobj
-1411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.7384 266.9597 494.6012 277.8636]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 255.0045 208.4514 265.9085]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 218.8031 285.0931 229.707]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_3094a8093769d647b9f477e14d53a3a0) >>
->> endobj
-1415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.9088 218.8031 439.7715 229.707]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.9978 182.6016 286.0664 193.5055]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_e2c6fa9b0155fd9428ff3abcf1a66805) >>
->> endobj
-1418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.7741 182.6016 444.6368 193.5055]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.7301 182.6016 513.9963 193.5055]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 170.6464 268.7543 181.5504]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.7864 134.445 280.2535 145.3489]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_3671e52fd03a1c456c630b7c5c632df8) >>
->> endobj
-1423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.7498 134.445 440.6125 145.3489]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.7301 134.445 513.9963 145.3489]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 122.4898 268.7543 133.3937]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__const__iterator__tag) >>
->> endobj
-1427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 86.2883 274.5728 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_68cdbff6e2262bae3295484dbee9ee42) >>
->> endobj
-1428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.3884 86.2883 429.2512 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1387 0 obj <<
-/D [1385 0 R /XYZ 90 757.9346 null]
->> endobj
-402 0 obj <<
-/D [1385 0 R /XYZ 90 713.5987 null]
->> endobj
-106 0 obj <<
-/D [1385 0 R /XYZ 90 706.4868 null]
->> endobj
-1388 0 obj <<
-/D [1385 0 R /XYZ 90 608.1629 null]
->> endobj
-1389 0 obj <<
-/D [1385 0 R /XYZ 90 556.0615 null]
->> endobj
-1392 0 obj <<
-/D [1385 0 R /XYZ 90 521.8824 null]
->> endobj
-1396 0 obj <<
-/D [1385 0 R /XYZ 90 462.7669 null]
->> endobj
-1401 0 obj <<
-/D [1385 0 R /XYZ 90 403.6513 null]
->> endobj
-1406 0 obj <<
-/D [1385 0 R /XYZ 90 355.4947 null]
->> endobj
-1409 0 obj <<
-/D [1385 0 R /XYZ 90 281.873 null]
->> endobj
-1413 0 obj <<
-/D [1385 0 R /XYZ 90 235.7388 null]
->> endobj
-1416 0 obj <<
-/D [1385 0 R /XYZ 90 199.5373 null]
->> endobj
-1421 0 obj <<
-/D [1385 0 R /XYZ 90 151.3807 null]
->> endobj
-1426 0 obj <<
-/D [1385 0 R /XYZ 90 103.2241 null]
->> endobj
-1384 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F11 737 0 R /F25 148 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1432 0 obj <<
-/Length 2543      
-/Filter /FlateDecode
->>
-stream
-xڽZms۸��_��~�4�x'p��L{��䚶i��t��0%sNU�����|`���?��.��.^�
��i<KD�4�r��_��~�銸�Kx���~su�F��FZR9��4$A�:�Y�:Oa�%�Ϗ���Oe���);deZ�m�nK*�����M����l��
�����D@�s�����o�=�\�$1�������l
f�|��J�
�#�5��8e�������
��ya꫙&�I��#%��	aHr��zJaQEADB�Rpト��Or�>�1��ә�'~��Sy��7���;U^���aD�s�߂��vA�
\�@�q
P�Ѡa�4�`����,�oE	��Ar��!���զ(����P1�Q� b��[ntZ�j���:�>aL���VJ^�_��q��C
���~�������C]}od�y�`�ܹ��K��p��J7cC�am/�Yy�
+{�Oo\�n�b�B�P䕻����R�C�I�o �s��b^X��X2����6���;��:���x~jq�\n
O%
vV�a�J�d��L�|y\
-�0�l��	�դ�*�	ODl�p$�TӼ@0G$at�a�GoN��t��.���?�GwQ���c��
�aw�R����X��~�'�[Pp�����젚���
$A���2��	ajp�IXi
�(�����tBƏT2
<�L��:ć
%YtD�@�Q=A���]��C�h��0���͡� ��
<R�8bB�g:��c�R����	����+<(l
�ȏ��-[�ZA��d
-IM�%�+#P�<��}aH��][�9m+���}1o2�
zc)t?|����e��d�	�{F��澚TY��ۋ���u���e̘Z���<wK�+@;��C�Z� ���1Z#%IBc������b��ޖںj���K(q��zZϳ[����
�t~���
<
ˠ�r�E�E
1ZO�����L�
��O��:��
徔�4E�2v�GE��� �ɾ9���8T]pa����C/;�@�:P�t1�h~3*K@��c�7iX
[P��L���l��
2R	��WF��=�X��I����Uqtm]�y�O5���O���j#�ȥ�<�	V��f!��>_ڙ@~X�)LZ�铝k��G�ʪ*-&S�G�$M���O.��� �XI���0�S}��S
��?����u�0�X���.,P�<,Z��z}a��u<�Sh��J�]{D�PjKSyq{,��i�
ѕ���v�GE���!ʨ
�T��!H�s}��Q�}�A�>[ȸ@�bv�GEL�<�lƺoԗ0�Qqq�TWF��[��꽉�j���<�-�~���$�Bw��U�.N��
F�[�p$H`̾yG�!�$B<
%��� �D�:�驝�1��Pk��v������l^D>aAI�-
1�j���� �7o��hÍv����m�}����~#��S�Y�5��!`@�s
��/��C�&����
�1�4�`1.!9̲�,֕`1��,6hY���u{��q�*�$�%I/X.�9
�T��/
p�Q.��\
��\G`���zې몝�9���@k��
>�$7<'N�U�߮O���B���;����Šh+��`<�V
(d!�uL
��J�c}$
V��}�Q�x"���7�
L���3��d#Bʓ��0�vqvd����^C �qGXMd�K;==�UgK�Nӧ&ߐ�TD�S8 �B`t�ՈC�6�|kbd�zhBb��`,N�
&�.�<1��&�}��gD�P�sXqW��q���P�}A�xT�,�)�xe�a� �.����Z0���5T�dZ$J<*bgf���3�[�:C��!�8{qK
dB=��L^„]&�0c�;��Ʉ&ݹ�m!��ք(���s��|��0��E�Ș<�� ����E�
�y��i��܊��Z���q�8v�Y�F�k;��Y(<<�M�vn�?6�Pt����F�=Aa�4���o�
�����ɍ�0
���:� [...]
ch���
���87MF4��gD%_�\��#�l�5�S���?���v�ܡ���,��M��L�J��56�h�͞<|��Ѷ�zw�~�X���i��!�=Eqo�"�B�b�����'���YZ�#h��>��ʁ��TM��,Ć��q��Γ�������������
�k�VU��`(c.��:��8�&M�`�B^t��a	�����)W�Z#z����r�6,��ǻl]��w���l�57?������n�n����*+�lR�j��
N�%=��ʬ|�:�O�f�ݱ��Y6�W
+����O��W��4��
��vГ�WFr�o���������ZU�tȏ%��kH���N��(�� /=hdKo�8�,��)�t�E�?���Lm��Z地��zO�endstream
-endobj
-1431 0 obj <<
-/Type /Page
-/Contents 1432 0 R
-/Resources 1430 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1342 0 R
-/Annots [ 1435 0 R 1436 0 R 1438 0 R 1439 0 R 1440 0 R 1442 0 R 1443 0 R 1445 0 R 1446 0 R 1448 0 R 1449 0 R 1451 0 R 1452 0 R 1455 0 R ]
->> endobj
-1435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 649.4859 279.5439 660.3898]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_4578b5352510727810a7c3be32208aae) >>
->> endobj
-1436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.3595 649.4859 408.2101 660.3898]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.1439 612.6241 357.4157 623.5281]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_22e81aa8cd862935e9a0abab515cf838) >>
->> endobj
-1439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.2695 612.6241 493.1201 623.5281]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 600.669 241.6366 611.5729]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 527.2538 291.7381 538.1577]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_bc859551651eca1bcc3839f62d45dbfe) >>
->> endobj
-1443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.5538 527.2538 446.4165 538.1577]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.0985 490.392 296.0483 501.296]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_f29295940b1ad0b6b48cc44e92f04060) >>
->> endobj
-1446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.1335 490.392 513.9963 501.296]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.7433 441.5751 310.7615 452.479]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_a6324c2e330df63ad428eec9182fcc4d) >>
->> endobj
-1449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.2147 441.5751 470.0775 452.479]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gb49861123b31a74dddcdffb4b8fd110a) >>
->> endobj
-1451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 392.7582 300.5847 403.6621]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag_af6f8270e3742973e0df7dcc9132f7ae) >>
->> endobj
-1452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.4004 392.7582 429.2509 403.6621]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__System__tag) >>
->> endobj
-1455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1433 0 obj <<
-/D [1431 0 R /XYZ 90 757.9346 null]
->> endobj
-1434 0 obj <<
-/D [1431 0 R /XYZ 90 664.5643 null]
->> endobj
-1437 0 obj <<
-/D [1431 0 R /XYZ 90 629.7249 null]
->> endobj
-1441 0 obj <<
-/D [1431 0 R /XYZ 90 542.3322 null]
->> endobj
-1444 0 obj <<
-/D [1431 0 R /XYZ 90 507.4928 null]
->> endobj
-1447 0 obj <<
-/D [1431 0 R /XYZ 90 458.6759 null]
->> endobj
-1450 0 obj <<
-/D [1431 0 R /XYZ 90 409.8589 null]
->> endobj
-1453 0 obj <<
-/D [1431 0 R /XYZ 90 357.4306 null]
->> endobj
-403 0 obj <<
-/D [1431 0 R /XYZ 90 244.487 null]
->> endobj
-110 0 obj <<
-/D [1431 0 R /XYZ 90 237.8868 null]
->> endobj
-1454 0 obj <<
-/D [1431 0 R /XYZ 90 139.4143 null]
->> endobj
-1430 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F25 148 0 R /F11 737 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1458 0 obj <<
-/Length 4086      
-/Filter /FlateDecode
->>
-stream
-x��\Ys�F~ׯ��RU�x�#yJ�����&�hk��
-!d@Ȳ��o�.΀֪�\e���������g@���
^)��a\�nwxu�� ��+��������wR�
2����]'A$(���ͯk���"��᰽y�T��7e]6E�on����
-�~[�esWܖ����]�\�.k�}l������_|{
���
-&���ϋ_ǫ
���F�h�z�7c�jw�)
o��\�3�q_t̍�c�4�zu�8�.�C�Q���(CX
-
=$h�C�($)ի�~�����%�`�V}�S���K%†
�Vu;��)����V�Us�1?��|N�D�5�E]^R�~
��.�9�Z�7"*c
�i�F�����
	����`"7�c<I�1N��D�=QS;h�2��D�=���;2�#�	Lg����i� La,tV�g�5��u�����U]�ͷMy<V�z�5nRBffSDe
�!F��m��#v\�T*L���
��a7�n#E�y`j B0�M����_03�&r�Ǭ����x��PN�_3�Nxl�x�T�&�R
-2���vE�0� t�K<�},uB���;�C��*�vf�iQh�;午���
�I�Fwh
D�2��	���� ��(&
I�5��ML�=�fu՗�Yl��*�
Mc�N�TY��i.�Z�E[
!C3�.���&@��{�)���
.�mG����;wզr�n[���e`��l�إ�k�3��a�vR���
R�^s�x$�Qȹ�}�ng�	Ĕ	���b���۾/��{��;�m�����������9�q�A1D���V@
ڸH�p
-wekU�~_(�MĦ�P
������ɔ�f�@}Rt����Hՙo`|S��@0a$y�����=�
-��
B����4�0�me�
�_ͨ��	�a�
˱�
�������\r��/�כr�m�ʙ�
k{I֥{{��g���0ܭ#��4�[�F�٠��;���cS�mY�7�u���b�qf
�s3�D��1#/�=�f}�
 �����jW�6y���l��n���i�۱,
U��C�u����%v�5!�r��$X�M��`��
-.U��~'��JHNΧW�p�rH�����ӭZ+�ˮ�+��^�B��[!0�l�*=]�xxN�Xjzyp���@|�8
�jl �P��LDelc��j6r��j��jW.uN�g-�]�Z�P�J�t�5�c�Z�X"sy�ӫ
�)]�P��F�Ϫlz2R�M�M+KR��Bn�>st
X-�8���0fO��%��U�@���:��=	5d6��ga� �Ϋq%Ԋ!�
_���6�"��>�
��
Szf.�)]��
�
��#}�Hߥ:��P��R�L* ��g�&s���a��L�y
��B��<.
G������x_`��3z=�Ԟ��(	�6Ԛ��t�����
��5�]���`^��Q�=Q
g�C4�3s|�%�
��BE|ւ���|n���<QS;�|4�
���u��R/uV�g�5�;\�_��
T�����rS�Hd���)����PW}�L�,&������F�4��9��/#��"�Z��C��@.`��\�$�U� [...]
��O�c�ao�mٖٽi���$퉈��BxL`5��{�PK͖:#���)-�C-
���L�#�2���_X���I��\1D���ᬾ�gE���mm�>�j�[J}�����
�P���_��f4q
�}��?:��o�~Wc��v������7U�������� ��nݫ���P��C��z�}W�/ޖ��n����"���;!��d6l�Vf�+aB;!�
1��Jf���-Ej�0���
�n�2�����������������4�����N�Ɠ^‘��<w�"� �wR�q���-�1bB���D���9��'*Ѯ�z�49u`/��Hz%�2VQ���Б[f+tLl�V.�K�g,��=��a�
~5iwP�N1��2�Ab�5�������ܘ�C8ܴ3�_a��[�T�����H�cɎ�.��c&�yGA�2.¬Uq���\I�I�N�nvo^�8�H�gn�jˊB,m(�NPLiD(~��&��mDX������s�6Qv�������SM���i��=ԓ�CDe,�G�����
-i��RWD|ւ��s�n
-�U�����X�$Lc5�&]t۞�4�=��z2R�`�.i�>4����bf�*8�C at 9�&�j��0�(���/��g
C�,D�b,O1=�)�I�
�W{���mr�&��
>�"��܎��N�>�X�ې�KDe좊ۮ��1��)�2��z&���I9JM����-

-f�
�2S"ک�9[ꋈ���]V"rc�k�vBD嬰��t���6*�ƶ^M窟]D��r��ï��Ĝ
��Ǥ�H( ΡI���G�,�`�L�Ӊ�q����z2R�(���D�Cjc ��ò
�a�^\
w�Dt����C�TŻ��
�y�	��>whtW��K�`�K�˖&�-�9}f�y�z�jP�h�

a�d��H��~�
�&���|=��>�z"Sn*����'M�l�"펈�d;�J��?�{�ڵz$��垙#T����@[��#��2����E[ꋈ���=#-p����
-+鉈ʘ
BX��mI�*��^<'-�e$�B�u����Q<�~�K�p4�L�	�~3x>�}��E��c谸�{��C`�G��?�C��L�8�s�N�e=����"��@�}�)B(]@�i�c�'�ǿM���Bd�Q;�]s�Fޟm�(�Yꈈ�Z0�{&�
�$a4폈�Xc�0��I�W`�fw	ɳ�'#E_6j�G4
(�X�Շ�}��
�����A��s�Cy��$U����mHv'�w��>�&�B��$
-o���]u,��h3�����pRD�Ax�;l˝��	���l�q������C��;�/�A����
��bϻ�/�e�8�ح��|�_﫣9�8���܌��=�����6x�cy��7x�Bؔ�.)^?t��>�
���1A��)��n�
��if��È߫?<��|h��Ӗ艹Z���Tԇ%RQ�eSQZoLE�>
�&R�Pi>e������7���
��pᔤ]@[lQo�6���\:� j;#�sL䞻��6�E�
���8 ��5���G���g����D:�0k�O6Vf�_s��� ?f[+'���̱���N�1���Na
-	�t�
���'չ��˳MO`�m�z��զ�f�tۤ������n����`)gDTƜ��>�	@8߽��[c�S�<�t�k�9Ƕ)�ݴ 
-�m�-�o�gF4�{����0�Yڿ���s
-snl�"P�CA�,���H�W��o�kt���p`��43MZ 8�� b�Cp��*�y�T�A��ܹ����[O\���J=��u&�m�1Omi�#�'V���n6��t7#�a-��C����!j�:v
S��X��������s�/��r<�J��
����_X̓<c������x���"!�l{�@"]7�'���?�aš��Hd�s
��������M?u]�f�۔?�ޗ�ƿ��z��?@������������veψ�"��˥]��C�E�~h^� �`U���)2{�:�/�)��C���yÆ�t���
-�����_pջ�-?U�+��7������׏�����
���}
��z�*�����
����-�;ġ���������Ѓ�m��눠�C�3��skWGendstream
-endobj
-1457 0 obj <<
-/Type /Page
-/Contents 1458 0 R
-/Resources 1456 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1342 0 R
-/Annots [ 1461 0 R 1462 0 R 1463 0 R 1464 0 R 1465 0 R 1467 0 R 1468 0 R 1470 0 R 1471 0 R 1472 0 R 1473 0 R 1475 0 R 1476 0 R 1477 0 R 1478 0 R 1480 0 R 1481 0 R 1483 0 R 1484 0 R 1485 0 R 1487 0 R 1488 0 R 1490 0 R 1491 0 R 1492 0 R 1493 0 R 1495 0 R 1496 0 R 1497 0 R 1499 0 R 1500 0 R 1502 0 R 1503 0 R 1505 0 R 1506 0 R 1508 0 R 1509 0 R 1510 0 R ]
->> endobj
-1461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.1748 719.9123 245.2836 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_9c2a70f5f90ec3da123f549d6ca9fe4a) >>
->> endobj
-1462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.1684 719.9123 342.6981 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.0269 719.9123 498.753 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.7222 707.9571 284.2768 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g5b805182b79b6fb873d0624f7dfd2ee1) >>
->> endobj
-1465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.5257 707.9571 390.0191 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 638.693 310.2887 649.5969]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_6cb7351e1bb87181f7e6c946db398b5b) >>
->> endobj
-1468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.1043 638.693 404.6341 649.5969]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.7703 591.3468 338.2819 602.2507]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_cc700387404f10208584c1a847a6f328) >>
->> endobj
-1471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.7621 591.3468 436.2918 602.2507]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 591.3468 513.9963 602.2507]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 579.3916 197.911 590.2955]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.5374 532.0453 345.6066 542.9492]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_2a64fe7b9774c990bd9db8aecd2dacea) >>
->> endobj
-1476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.8539 532.0453 442.3836 542.9492]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 532.0453 513.9963 542.9492]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 520.4637 197.911 530.9941]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 483.7028 249.6563 494.6067]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_9b452ce4baaf1c1644a6eb33658ae48a) >>
->> endobj
-1481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.472 483.7028 370.0139 494.6067]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3607 411.5923 295.7428 422.4962]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_85958538f17770d4ae66bcd179d747a1) >>
->> endobj
-1484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.8134 411.5923 417.3553 422.4962]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.6396 411.5923 513.9963 422.4962]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 363.2497 243.0215 374.1537]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_dfc86b3b2966514ba2e2292584f68c08) >>
->> endobj
-1488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.8371 363.2497 363.379 374.1537]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.9813 326.8624 270.5442 337.7663]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_99aac01eb1b8adc3667bbd3db68e8d34) >>
->> endobj
-1491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.2354 326.8624 393.7773 337.7663]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.708 326.8624 494.0647 337.7663]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 314.9072 196.5759 325.8111]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 278.5199 253.2927 289.4238]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_8b96d560404b7b7ee0ec7ea1aef80280) >>
->> endobj
-1496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.1084 278.5199 373.6503 289.4238]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.1111 278.5199 455.5922 289.4238]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 242.1325 240.2519 253.0364]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_a8e9420c29d8c75e775c4fd609830769) >>
->> endobj
-1500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.0676 242.1325 360.6095 253.0364]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 159.0631 257.4173 169.967]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_fb6f23292760d6d55c57b5722f604897) >>
->> endobj
-1503 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.2329 159.0631 377.7748 169.967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 122.6757 260.7348 133.5796]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_0ca9a6d6894e381babab8f958c194f07) >>
->> endobj
-1506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.5947 122.6757 441.1366 133.5796]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 86.2883 271.8031 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_c5a83c9e42e34b313e12a6cef4470a75) >>
->> endobj
-1509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.6188 86.2883 392.1607 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1459 0 obj <<
-/D [1457 0 R /XYZ 90 757.9346 null]
->> endobj
-1460 0 obj <<
-/D [1457 0 R /XYZ 90 733.028 null]
->> endobj
-1466 0 obj <<
-/D [1457 0 R /XYZ 90 655.6752 null]
->> endobj
-1469 0 obj <<
-/D [1457 0 R /XYZ 90 608.3289 null]
->> endobj
-1474 0 obj <<
-/D [1457 0 R /XYZ 90 549.0275 null]
->> endobj
-1479 0 obj <<
-/D [1457 0 R /XYZ 90 500.685 null]
->> endobj
-1482 0 obj <<
-/D [1457 0 R /XYZ 90 426.5521 null]
->> endobj
-1486 0 obj <<
-/D [1457 0 R /XYZ 90 380.2319 null]
->> endobj
-1489 0 obj <<
-/D [1457 0 R /XYZ 90 343.8446 null]
->> endobj
-1494 0 obj <<
-/D [1457 0 R /XYZ 90 295.502 null]
->> endobj
-1498 0 obj <<
-/D [1457 0 R /XYZ 90 259.1147 null]
->> endobj
-1501 0 obj <<
-/D [1457 0 R /XYZ 90 174.0229 null]
->> endobj
-1504 0 obj <<
-/D [1457 0 R /XYZ 90 139.6579 null]
->> endobj
-1507 0 obj <<
-/D [1457 0 R /XYZ 90 103.2705 null]
->> endobj
-1456 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R /F89 1285 0 R /F36 1288 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1513 0 obj <<
-/Length 2864      
-/Filter /FlateDecode
->>
-stream
-x��[Y��~�_A �f���Ėd�Q�D�<�Ƃ&gw�pIf��J���>9G��+�A������������`�#�'J(d��������o�H�=���.�뛫Wo��d$���;'A$(����S�����t�[߾[m�y{��î�&z�������0���Q���mM{7_4��}s�x��^"�r=�������$��ՂIb���Տ?�����
-#f��<�	F�:y��œ��WOr�
�@n��Ĥ0pđ��xE�\k8Ή L �)�P�!,O^T|����[/���N������n�=3߄��b���5S�f����0?�o����L��*�
-�����Czv($) �2B�X� ��f���(�JGΠ5E2N&�PD`�/w-��`���q�u���#��c�� *�_�NbGN�$���?Q*r�;�]�c�U�K%†�ծ6��Vf@

(�w�� y�
;�iJ�����]-o�m6M;?l�[t���|9��J�o�d�	U�0H	���
�Ua��됄�Y0�{�%�b� IX�T��I�(��[��
���~��_q���C\sV�O3�I��h�z��KN.O�,w�/�|]�̗`ִwk�3���ͥ�e����k.��ǜ(��J9����Q.�E�����ڞz�f��~�
�u��{���j�9�
((G�O�7�O?�4MA���fa%��w����
-Gq�_�`�~!x��P

.���w����鯫e����=�	\���a{M���]k! �v��JB�
��
���a�f
ُiN��`S�	�@
;�}�]<=�#;���ڟ
�7~��E�߻B:�h����z�	5��n��]
-=�9Y*v��q��Q�I�����1�jz	�=,e_�M�ۇf���b�
�j��1D��6�ݳ3ȯ �s׸�eF>i���1���A	Vy��js鬧��[m�e�
<uD
-���1��������нѵ=y���Q�����E��ޠ�3�}߬�!�6���I[G�u{�K�a~HkaSC6�p�y��i.G9�Tx
�C��5�Sf�|F7P�	�+b��SM�`vt߀]��ia_(��~��Yd;��t��l�Èd���
+T�	V���zSU]����BU�WZ��+ڇR�r�4.�v�_�����P���P{(0�6l�lU
�)�,}�C�j�Pnt������"2�Ɔ�kd(�9�j�z��[7�B�Ic_\R�uD��rk�W��
-
X���L7.�?�k��%�-!��y�K
��ض��n�Y�J �@9�n�j�� ��]>���_\m:���ߍ/�g��
�c����H�kH�P����ձ
-���ڏ��պU>1?��(/3B��b\.�\qퟖB
'=S�	���Ҟq�!��W����UF�Z��z�,%�ޘ��jsI�k�q3�z:
G|M�Hn5�>��)nG��EhPR�OBU�cܾ��j0/��̸�B�s=��U
�r_��9D7�J���PcSz��
��!d�Ӊ���#ی+��W�W�5��5


�yZi�j}� �S0��nv��@�L �P��({"jօe"�P(�);Js�y
��Uro
E�x+�F�Ť����:�y���F.���޲�-oY�.<.�=����E�3D@%FB��d��h�
-�>�Y��8���P]��W����7Σ�D�ߞ�n�~�(s^�U9�+��y���zjO4
J���Z��������9Ͼ��$
�L���P;���Ú
�'�}�N�\O%|Ղ�ܗp���\Ѳ3jlJ����ǘ}qVOr���tW����FRϡ>�t�q'*!��}M��=��FԬ
�4�
�>�L0kL�}��B?h�%<ؕQ ��f}��Z�
ʸ�I
y�
g3�2��
�7�LJ��G��b���?�L��F�W�C;X���Up�Jµ�����E"��Y�tAE���G�Gj��ݑP�4Q�4�����~�����>.���Xⴲ��i]��>��=l����|M�H�߈�3�2����
�Pmç0���ɑ�
-L�:�E	_�`(�%d+^�E�
�S$9E����8[#
��uW�W�5��>X8ʊ���61`�cT�]I4�6L(����
/�f]X&�l5��\�9V-�1
:?~�uex,��<ưr�
���
���\��op��o�����V�M�Ľj�1��ui��#�v�hld3{��̙��t�̙�e��P}cg?rj���uY����?
��v���
��K9�6K�*�uج�7�YO�	6s驯��f_�?�{&���Gc2��)�'�*�1(v4�J;Mf0�P
�롄�Z0��"2�H
���H��)#:���S[�H;g:�Hge��往�
-;�`#	ݞ{�N�<�f5��rl	JRu�f�ߗ�
�I�˺����EX��,����f���
096�ˎ������o��FF�?�Ѹ:2����hp�
,��W��f-�1�q��Ѡ�������L�
���j�auB�,ZYo$���,�a����Z
��5�#��g��S�5�Φ ��J����9����dM#A��.J��C�/b4�(7�쌄�2`4�`}ɡ3.e��
�a����r_֠���P�v��D[
� ���u@���
qETu�7��&
��xF
�D
-y��cq{/�����@Bۨ�����m�s\�>���v��Y�����v�~�'߄k��������m�m@�Ǿio7T����o����T�_�ʦ=R
	[�!�3䇦ɖ�°�#��N�џ��}`�y��S
��亏p����W�����b��6�]�V�W}����L^a�g	4��7C
�"�Lϔ�
�q7&�6p���
-
Q�%��%���U�endstream
-endobj
-1512 0 obj <<
-/Type /Page
-/Contents 1513 0 R
-/Resources 1511 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1342 0 R
-/Annots [ 1516 0 R 1517 0 R 1521 0 R 1522 0 R 1524 0 R 1525 0 R 1526 0 R 1527 0 R 1529 0 R 1530 0 R 1531 0 R 1532 0 R 1534 0 R 1535 0 R 1536 0 R 1537 0 R 1539 0 R 1540 0 R 1541 0 R 1542 0 R 1544 0 R 1545 0 R 1546 0 R 1547 0 R 1548 0 R ]
->> endobj
-1516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 697.4986 266.2639 708.4026]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag_190a7c46776178432e89c9525db039ab) >>
->> endobj
-1517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.0795 697.4986 360.6092 708.4026]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Grid__Generator__tag) >>
->> endobj
-1521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 380.1632 254.3987 391.0671]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_a891671c2b9414353067da44a108ac1d) >>
->> endobj
-1522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.2144 380.1632 360.9283 391.0671]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.0986 333.3434 332.5814 344.2473]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_512810c3e349a2f01217c6e426645260) >>
->> endobj
-1525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.39 333.3434 448.1038 344.2473]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 333.3434 513.9963 344.2473]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 321.3882 190.7379 332.2921]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.7699 274.5684 359.6498 285.4723]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_fc650c1c744fbfc4dbd15293b9827776) >>
->> endobj
-1530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.1296 274.5684 466.8434 285.4723]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 274.5684 513.9963 285.4723]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 262.6132 236.1073 273.5172]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.589 215.7934 327.7255 226.6974]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_7d65378709f5a0c73e711f5528385990) >>
->> endobj
-1535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.0244 215.7934 436.7383 226.6974]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 215.7934 513.9963 226.6974]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 204.2119 176.3518 214.7422]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.9851 157.0185 326.4381 167.9224]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_9ab7b109b1acae567c915b1db83b5283) >>
->> endobj
-1540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.1332 157.0185 435.847 167.9224]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 157.0185 513.9963 167.9224]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 145.0633 174.6683 155.9672]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.0301 98.2435 332.792 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_1c54d4109f395752ea23822cee000d04) >>
->> endobj
-1545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.532 98.2435 440.2459 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 98.2435 513.9963 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 182.9773 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-1548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1514 0 obj <<
-/D [1512 0 R /XYZ 90 757.9346 null]
->> endobj
-1515 0 obj <<
-/D [1512 0 R /XYZ 90 714.3492 null]
->> endobj
-1518 0 obj <<
-/D [1512 0 R /XYZ 90 663.1469 null]
->> endobj
-404 0 obj <<
-/D [1512 0 R /XYZ 90 552.205 null]
->> endobj
-114 0 obj <<
-/D [1512 0 R /XYZ 90 544.8292 null]
->> endobj
-1519 0 obj <<
-/D [1512 0 R /XYZ 90 446.5819 null]
->> endobj
-1520 0 obj <<
-/D [1512 0 R /XYZ 90 394.9913 null]
->> endobj
-1523 0 obj <<
-/D [1512 0 R /XYZ 90 350.1939 null]
->> endobj
-1528 0 obj <<
-/D [1512 0 R /XYZ 90 291.419 null]
->> endobj
-1533 0 obj <<
-/D [1512 0 R /XYZ 90 232.644 null]
->> endobj
-1538 0 obj <<
-/D [1512 0 R /XYZ 90 173.869 null]
->> endobj
-1543 0 obj <<
-/D [1512 0 R /XYZ 90 115.0941 null]
->> endobj
-1511 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F25 148 0 R /F11 737 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1551 0 obj <<
-/Length 3669      
-/Filter /FlateDecode
->>
-stream
-x��\M���ϯ�-������s�
���N
{]98�)�3��D*����i�$!��v��
F����M��Y`�O/�P�0.���x��_ݐ��|�
-���y�
���r���� 	������K��]��r���}����p��o��-���x���]S<ޮ��˯��<<�e�����p�=D4�z���/o�z��[V�`�ؠ�}��/x����z�3Z,��
F����p�ܛ�͏7��v��/�N���^q�%|=�"
I�5��� L �)�P�!,�YT|�!���,���.<����f�>Bj�Z��\n�|v��[��6�L����ׇ�ؾ�֛��jS����é�0�.�
-��#�0��m�
d�@L��6�X>6M9���۲;�P�!7Oe�iU����CSpє��@��}��� !0�tbd�6�����*���z�>���2ƨ;�����(��0#z
�BB	��������_�F��V�s������Km&���D$D!I�^t(�e�_��X�[���u�U���aC�n7U3��)�����O�=��}�y[m/'
0
-,$��|
����f}�UY�����X7�1I��L�L��ʌ�
x�Wh$���I��lc�.M��L.
��#ef�x�4��q��8�u3p7GF�`�~2�
(�H37_�I�Ī�֪#$��n���tTYW�f4��ɤ�"C�m�7XG��Q�6
&7$���l$�0��Y���!w���6b�a���h[��y���
�ѹ��ߒ�T��'V��7!�ݑ�[��6�V[ܼ

��a�T�32�.��	�=�
-\�S$8�6�NԀ6�"1CQ��v��L�����
-'9�^���1(Ԕ�9�s���S���$.t�8f��^�k����O�:B*`\<V�Dnrx�7Rm�	�^C�ʄ�$�,j����tNQD���(��E0�{������,�
�ʄ�P3棱�>6�5l^.^4,�l5�a4а�� �-$��*�b�
-Pc0�1Qޖ��x�O�P���\�b����9�����;�
������W�C��[���
�Gh�VW�@b����)��ԌA�G������aHH���/4h�T<C�
����`��3~{��=C� �#�I����U7���l�<�S��朥��Q�p(�s
V=��!xX�#)(����F0��22���g�e:#�	�����p�e���$
yv
u�6��a6���[����f]t�5!S���J�̄]:���>�3�!��Ӧ7�+~m+�����q��sl�
-����K����f�u|
-���jN�v��2��,��:AmBOr~���
-D„��f�D-�8����``fۜ��$ӜŷW=?z�M�꾁��/�[�������|W�7F�6P����$U�=6@��H<��H���$���B�i���C��-*(@
,ņ^{T=>�b�|Yz����z�+�h�N80�M&ƣ2�1H����.H�b� PJ�M��g#۽��9LFIHf�zT& .�k5�����	�e{���Ꜳݏ���þ��jm��P_s��6�":�
j¦�w���Q�bm���.��\�%�Q��FB=�F�O׹�+��ޏr'Q?Kj�,=ɶ�{�2��*!"��B��2SY��02[�s�����Gp��c*C�����\���N{�}F�
#N�.�L�|�8[=���u�`�0o����FH5,ۥ�ɤxP:.���5���]C=�13-
�s?�z9Ã�a��#ă�� �!M�uM�ޙ�M��̅�g����]��a�s��Ϝ� X�t���A(aY��t�0��|�Bn�t�U��M��Uw���'Ddω�V��4����� )lJ��(P
��U�Hi��٨>���Q�f1���2�6|��"��T�/<4��z_
6Ż�Ƞ3����ݨ�T�n�i���*��*��j�_�h�  J�

˫d`0%�i��B�Q���`d�4�
<�}l��Pn��zW?�UY��wMy�MW&�6�Y:1
�	���3l|=b
"fP��L��g۽\.a�`W�Ʉ8P&
[K
-
�� ��rhf:�r(�~lu�rh��U����� �K�ɡV!,2��cB�ky-aP	u]#���{]-馪��s}x��=��y;P��#��>��ϔ�
x��� 2$���,��ܟ��s��m��1t�oid�������3)A��N�GeB��E
���-��F1�sS��Y�#���2��N�8L�ã2�0�����k��f0H6��u3B)
s0�es:��P�ݟ}}�4������C��K���
d�{1�ފÓ�B�"�})��}.�f�z��r�	��٠�7�ڷ���j:�h6G+N�
�Y�4���n�-aE�M�mԞO׿���j���[��FG��V���
-��"�7��u�b_
����6M����7GG��&�7�0&���6
�9Ų��V��/:������0l���wV
N�E|�͡�� �<&8�s[�O{;
�URp�w���a���wŇ��ӡ���nZ�TB�
*+aI�^��N{
}F��
�r�2�_=<�|l��~��]S���`�#M�L�ƃ��1b�$a�$�~!��.X��ˎ��܏�^r�i���!�A�88LP�Q������e�/�{lu�
_���=�y�B�1M��=>���{|!��
� ���f�N�1�aY7
lr{Y���C9�
-�bPzuFA��W��6U���������S9�J%�dP���[�`��^
�El�O�n1'���P�in�Oj.�}�л_��y�|
-1�a.�1����#�7p
���m[���c��Q��Wޕ�}�� N�
�O^fw�o��i��6i�˲��4���;�C��Y$�:������m��Ueܦ������)
˕	����B!��1b��̳I���&�M�<�}l5[*
v;�;�–�,���ǀ�}�dxIb����͎�g#۽�X�
�#t:
�	�

㉌B�U
v�����̅����
����d��|~�~'��Ixn�3�%�;=,���(��z���BBM{PZK��`{�
1�EۜW���lw
,(	yu��¸0"#=l�~�G�E �����3�.
-��&�]->�b�?���zƃ;�i�`5�̐Ge"dv#�1�21-�	f���s��V/I ���3�Q�H����zBI=�33�ߕ�?�:���K��!�ڇ�X汝�xn���<�c�U��� ����jp%'����P�G�@4���>�[�&��
����`���~
��n�P����&�����O��z<�k�}���T0x�$��Ut�L����
ex��zn�<>���%$_��Jh*
�	���f�a#y?�콅��ܰ����uqߏ
-�4�rؤڣ2�P��
�9������_h#E�f���ά����jF��2C}*E�=�k]�%;R/OJ]G��/O���d�ۏ��@���p��OjJZ�5�e�DF�M�������
�
���*}�^�î|��z��\
-��zw(}{���XQ=���2��(���[a?
��n�X
]��:}/Ѳ�{�<�܃o��vx����r���gW`�
�Dv���p��	w^�/��ot]?deb���i���y������Tm��i� )���|@��a\���
4�ep�8THv������>�%�mo��hk[D"��
/endstream
-endobj
-1550 0 obj <<
-/Type /Page
-/Contents 1551 0 R
-/Resources 1549 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1604 0 R
-/Annots [ 1554 0 R 1555 0 R 1556 0 R 1557 0 R 1559 0 R 1560 0 R 1561 0 R 1562 0 R 1564 0 R 1565 0 R 1567 0 R 1568 0 R 1569 0 R 1570 0 R 1572 0 R 1573 0 R 1574 0 R 1575 0 R 1577 0 R 1578 0 R 1579 0 R 1580 0 R 1582 0 R 1583 0 R 1585 0 R 1586 0 R 1587 0 R 1588 0 R 1590 0 R 1591 0 R 1592 0 R 1593 0 R 1595 0 R 1596 0 R 1597 0 R 1598 0 R 1600 0 R 1601 0 R 1602 0 R 1603 0 R ]
->> endobj
-1554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.6368 686.2928 350.3325 697.1968]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f99b9dc1c16751ce872dab5245c22fdf) >>
->> endobj
-1555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.6791 686.2928 460.393 697.1968]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 686.2928 513.9963 697.1968]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 674.3377 223.9232 685.2416]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf78df97484e374abe5d4e0f8973a622d) >>
->> endobj
-1559 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.0516 627.0241 367.4891 637.9281]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_bbbdd7f3c4800ef97b642142cd68648d) >>
->> endobj
-1560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.2506 627.0241 473.9645 637.9281]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 627.0241 513.9963 637.9281]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 615.069 236.1073 625.9729]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1564 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 578.7143 261.8405 589.6182]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f232ff2f43109950ac1b0f5d124cf4cc) >>
->> endobj
-1565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.6562 578.7143 394.3822 589.6182]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.3026 506.6938 315.8689 517.5977]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_643dad56c4e24b32e2c4951aee7a6822) >>
->> endobj
-1568 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.8814 506.6938 457.6075 517.5977]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1569 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 506.6938 513.9963 517.5977]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 494.7386 190.7379 505.6425]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1572 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.417 458.384 281.164 469.2879]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_86c148ed14d1a2781e07bea5be7fb434) >>
->> endobj
-1573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [286.2909 458.384 415.017 469.2879]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1574 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.6396 458.384 513.9963 469.2879]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1575 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1508 446.4288 213.6319 457.3327]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1577 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.1347 410.0741 329.4146 420.9781]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_e7af7908bffe9b331262dcf8fd020b7f) >>
->> endobj
-1578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.2592 410.0741 466.9853 420.9781]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 410.0741 513.9963 420.9781]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1580 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 398.4926 178.8624 409.0229]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 361.7643 252.4361 372.6683]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_e861c5919e346c3966c43edc4cd47276) >>
->> endobj
-1583 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.2518 361.7643 384.9778 372.6683]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1585 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9703 278.7849 311.8169 289.6888]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_225478fba412d40b785e2b41809cc90d) >>
->> endobj
-1586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.4971 278.7849 418.211 289.6888]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.6396 278.7849 513.9963 289.6888]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.1508 266.8297 239.6441 277.7336]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.0507 219.5162 336.1875 230.4201]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_84c2e36e2ae01775ce542ebc83739726) >>
->> endobj
-1591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [342.9482 219.5162 445.662 230.4201]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 219.5162 513.9963 230.4201]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 207.9346 178.8624 218.4649]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.266 171.2063 350.5669 182.1103]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_bfe9ef58fb96938e1c26b63e2b4ce0d1) >>
->> endobj
-1596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [359.5428 171.2063 462.2566 182.1103]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 171.2063 513.9963 182.1103]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 159.2512 236.1073 170.1551]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.6661 122.8965 379.7386 133.8005]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_3530a20e5985d6da8acabad37bfe0e93) >>
->> endobj
-1601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.1145 122.8965 491.8284 133.8005]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 110.9414 253.8208 121.8453]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1603 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1552 0 obj <<
-/D [1550 0 R /XYZ 90 757.9346 null]
->> endobj
-1553 0 obj <<
-/D [1550 0 R /XYZ 90 703.2668 null]
->> endobj
-1558 0 obj <<
-/D [1550 0 R /XYZ 90 643.9981 null]
->> endobj
-1563 0 obj <<
-/D [1550 0 R /XYZ 90 595.6883 null]
->> endobj
-1566 0 obj <<
-/D [1550 0 R /XYZ 90 521.6454 null]
->> endobj
-1571 0 obj <<
-/D [1550 0 R /XYZ 90 475.358 null]
->> endobj
-1576 0 obj <<
-/D [1550 0 R /XYZ 90 427.0482 null]
->> endobj
-1581 0 obj <<
-/D [1550 0 R /XYZ 90 378.7383 null]
->> endobj
-1584 0 obj <<
-/D [1550 0 R /XYZ 90 293.7365 null]
->> endobj
-1589 0 obj <<
-/D [1550 0 R /XYZ 90 236.4902 null]
->> endobj
-1594 0 obj <<
-/D [1550 0 R /XYZ 90 188.1804 null]
->> endobj
-1599 0 obj <<
-/D [1550 0 R /XYZ 90 139.8706 null]
->> endobj
-1549 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1607 0 obj <<
-/Length 2492      
-/Filter /FlateDecode
->>
-stream
-xڵZ�n�}�W�������e�-9�F�K��.��8�!���в����Kkn�V4���𰪦���i��dd�H	�
�rt�:£{���#R}=��M�����OR�
2���͢� 	�����ױBDL�c<�l������U6!z��]ƫY
�O�T��Y���"��ˏ_�E\�ⴸ��M�'���rtz���L�G���Gs���#���b�0"����SVX
]���)�(~0��
k��ԣ)�HK���`��bRD�Rp�"A)"D!I�
9�M�o����J�F���~kT�/��v��y�+'�
��j���+̗���߳k��X�y�Y>�Γ4�����Mo��:��>�>��ń��oӻ$���
|x�T�A2�H�:���y�Q��ir�`]�u���饂sXc
���p�@(\`����P��[)�r�\8|(���:w�t�Ϧ6���R�9�'D)==���E��JH���Baרi6 at p
RD[�l)��
U����Q��a�%
I�5\F�,O�M�6��i�b^�
FTr���FuQ�\)��C��˂b�u<�x
\�05.�f��^5�c��T
-b�f�ۼ�CЈiRAn�� ��� �
��25 ��O-� B�>�j�@�ó#`���bS�^�`
�-�.�����
o�n�p0�Hg�f�_�r�����]z�Cַ��u���
؎�0�v�`�����mG��v�r;�
�����N_ލ*x�{�j-,�z�� ���v�� I���t8T  ��Ct�a`㡊��}3����v�b����a�4��8T  ��`�퀾���W�?S�
=m���i
�Q]Y�l��B�U�[���V��z��A
-�Bl��z7$��"��	+$�
��.��
���a{���������
-�N

�NàOv�~k�i���N��
���޵ڐ�ž�Ja(
�á=W}k
@w>����<���
��@�bV�ڥ��v���Y
��
��P?d�;|��v_�c�#���ءq)�1��b��	
}�m�ޠcM

s���X���O��iy�.{��
	B�\+Y��
B'�FB
�:a׷z�:

-]ӠG�~+�k��]�iX�޻V_
b��]���զ�t�B�>jP  �⚨�2
�WZ#e���Fе�z]"J�ɥA]�Q��8�e�2����j��� ���!��U�~�
1���Ԯaçv5̆v�ۖ�U�T���,'�z ��<��X%b��)֖&A�`x�&�be���"�_�xdI�CS���U�aЧ�~��
-6��T��t�{�Z
��r
������M�?!�*��wbP�˜}s��zv_���
m�&á�0-W�����B�>���M
-ذ�S�fC;�
Rm�s)��ل��z5dJ�.�L��Rd�M	n�<��
-��T
}�6V�_'q
%�x^��$��e�&w�T[��PK
D۔��D���&v�TY�����u6����+�m�
k�Pc^������8)�m����-��mv%�A߄�����*ƏŽl�u�ܐ
#�ƲZ�Nt_N�	���$Mn�6(�&U��N�|}�[���
:H�/>E��}��Y���Ȁ��h�^.��N��
�
T,�9�yb/���P�	؆�����9؋�/��p{=:T�/��R��
��!��q6b�
��#w|�(J���=s�\��
'�� 
�zGYg���|4��/Iz��ͫhi �CUF�oX�6`
��ԫn>�\���f(�����e�1%�Б�6�C�X@���g��#������u^��C�;�ok9Ȫ�t]}��W�q�I4�4����C�F�ᤦi�sR�`�鮟V��erW����nQ��d���	t�� O�\����ϣ뛽
������37݅;f�߶������������?�'����������������۷����Ly9!�2�54xS�0�X [...]
���p��k_�}��a��3 �
�;4:X��M�
.�Vln����4�������>�XmׂPr(�cEj^��D�Hؘ�
��9X��Iz^

����GYv
ᡣ,
�a��k�ߚ�M�>^����k���՚�ES�e����������fbظ������ϟN�_�}(����Z��C	���� �m��C�������Kq�M�
쵆Ťk�Ê��6仭���=+�����+:�p�0�}������t�cw��
��{�Zݟ�.�~>9=��V��?;�f�Hzrk�x��������z���y��̆AUر�`#�!�D��ԟ�C�b�)bZ�'�QLWoi� Zs���j�lU�˧�x�Uϓ�,ʪ���X݋��]t7'�����8���p�y�"JwѲ���f]���Kx$l
4����8��V�Nd��G��?������_���jd�g���!�7??>>��-ڥ�&CI~
��q��N�ôl�,�ԁz��V�s�4t��Pܨ�Z׃c���U�/�&����jz�endstream
-endobj
-1606 0 obj <<
-/Type /Page
-/Contents 1607 0 R
-/Resources 1605 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1604 0 R
-/Annots [ 1610 0 R 1611 0 R 1612 0 R 1613 0 R 1615 0 R 1616 0 R 1618 0 R 1619 0 R 1621 0 R 1622 0 R 1624 0 R 1625 0 R 1629 0 R 1631 0 R 1633 0 R 1635 0 R 1636 0 R ]
->> endobj
-1610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.4554 719.9123 338.1222 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_8172cf537ccecb7826eb21837b8d7e7b) >>
->> endobj
-1611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.2876 719.9123 447.0015 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 708.3307 178.8624 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-1615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 636.2583 269.6014 647.1622]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_690fbcd5ef7202e646b30d92bdadcc29) >>
->> endobj
-1616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.4171 636.2583 402.1431 647.1622]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 600.0206 272.919 610.9245]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_46773b226d490e5bbf6f3d587cf29dc4) >>
->> endobj
-1619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.7788 600.0206 465.5049 610.9245]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 563.783 283.9873 574.6869]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_c21bf6dd42b915ff6f157fb73fe396e0) >>
->> endobj
-1622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.803 563.783 416.529 574.6869]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 527.5453 278.448 538.4493]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag_f78187771d58e90c174eeba577a471d5) >>
->> endobj
-1625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.2637 527.5453 384.9776 538.4493]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Linear__Expression__tag) >>
->> endobj
-1629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 209.6132 346.5129 219.5409]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_df86eb3611cbe63b34ef195bc87a7312) >>
->> endobj
-1631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 173.3755 342.6374 183.3032]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_32423400858178cc05f325962afd44e2) >>
->> endobj
-1633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 137.1379 338.0448 147.0656]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8efd1f7de8fb2bbe6e33aff1d4184078) >>
->> endobj
-1635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 100.9002 340.2466 110.8279]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8ca7076566ebe098ff3bc307b4d91899) >>
->> endobj
-1636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1608 0 obj <<
-/D [1606 0 R /XYZ 90 757.9346 null]
->> endobj
-1609 0 obj <<
-/D [1606 0 R /XYZ 90 733.028 null]
->> endobj
-1614 0 obj <<
-/D [1606 0 R /XYZ 90 651.1806 null]
->> endobj
-1617 0 obj <<
-/D [1606 0 R /XYZ 90 616.9654 null]
->> endobj
-1620 0 obj <<
-/D [1606 0 R /XYZ 90 580.7277 null]
->> endobj
-1623 0 obj <<
-/D [1606 0 R /XYZ 90 544.4901 null]
->> endobj
-1626 0 obj <<
-/D [1606 0 R /XYZ 90 492.8263 null]
->> endobj
-405 0 obj <<
-/D [1606 0 R /XYZ 90 381.1309 null]
->> endobj
-118 0 obj <<
-/D [1606 0 R /XYZ 90 374.047 null]
->> endobj
-1627 0 obj <<
-/D [1606 0 R /XYZ 90 275.715 null]
->> endobj
-1628 0 obj <<
-/D [1606 0 R /XYZ 90 223.5593 null]
->> endobj
-1630 0 obj <<
-/D [1606 0 R /XYZ 90 189.344 null]
->> endobj
-1632 0 obj <<
-/D [1606 0 R /XYZ 90 153.1064 null]
->> endobj
-1634 0 obj <<
-/D [1606 0 R /XYZ 90 116.8687 null]
->> endobj
-1605 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F25 148 0 R /F11 737 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1639 0 obj <<
-/Length 3438      
-/Filter /FlateDecode
->>
-stream
-x��\Ys�6~��P�%RU��}d��pR���
+��MR*�D���$ۙ��� ��c��� ����lv��hB&
d`�@	�
�r0]�����񄸏O���&�����R

2������ 	���x��P!"F�c<�l��o�'������E��싫�)x�v�/��Ŵ�?��e+W�)lOr3�c����8��Lk�_'���3������bpc�`y�)�����9��b��
AL
-�8��
A�$��GED�Q�SB���DAsD��d�q�Ep��
'���T̺�wJE�A�:�M�}�
��K%†���W��Vf@
�(��l�
�SS���w�Z������4�x��ջ�����Ȱ��!d8��b��|��������ɨA�
���QB�5	���}���B I��u�h�DɫK�Q�� ��5�^�\Z�/����;��z��/��-g�1��~�َ������n_�ov(!�q2�Z"C��c[gb[*�!<�����Dlg��n�M�v[i>�3ڻR������������O/ߟ��>M>���{��}��Ï]�9�)��b�!��;0�":���������ֺb�ra��O�+���j_�k0����>��{.�#%
y��� 4�e��峢!0�i�>+�jSY�RzDV��w�><+\2L�g��_}��s/+��Гv�qe��d$���������͆}9�x����z��7
Z%H} ip��%"�p�[���cAs��a��oL~Z�����O5D[k2�+|NO����������b<9 [...]
M��c�@(�����,��̂:	���7Ae�)w��rv5"xX~Mf�9���=5��冑&��M���Djd��h�=��j�њL�
-��ߓ�T��û�UU�
����%���� ��<	S	���切}e���1[O�!
VӜE�[D���P��@; � �b�y����AEȲ �����7��z����֗���j�,W�A�ʭ�ޔ
���5C�a���&,�����ސ��.�[jcy����	�������Z�iU]
��4��$]n���nSL��lwk7_�z�}H� 6��	��}L0DU���}���BT
�ر

-��]��CM��ng	b2�P}#h3�������U�1�#�a�k;���w=۠ǰ��HOyx�Q=��O�V?8\
-���x��l�0��l�^�k�'p݊��@
Xgy�i�uCe��K�,�`"�,
-iMC0
	~�(kҫ��b戣p
���v^,�M��Z�	EY5U�R��#dVCZV�ZB(���|_z�V��5|�p\�_ׯs_���l�
15,w��9�A������~@�0:L����[�<����e��VT��������z:i���	\���&���s�{rt�5�2]�iWT��!�5�[a��qz�/<<��#�(�`TAK��.�-�`�"I���3X�3�Ǩ1�X/|�M}��Oij�
2Lf
�A��Hue�gM�/#��
����\m�}ŠLK��Ϻ�. �'_`Y	)�
�Z�U�!&Ձ�/t�@E��PD�o
��
�]�W���y�I)�h�Jm;��|U���ߛ-PM8�&��X&}@ik�(����Y�nE3�K�e�� �+�ԣ���T��a��iVq�}��
-���V�����U�_�Mv����04,�/8��m��r/�b7��pZ�����⪴M� h���"��� p{8�pq�)�����sy����e'�T��/ʘh
-
'�~��XaNj��@� ���{�XT���ӄ�b������eD/\���׀D��'����y�
�ihu�0�ޣ1�"r+~��vh
q�-���gM��zJr[er�W�3ʻR�K�D��(�46<� Jk2d�I�;[�C�Cay�[<��#���=�
e���Pς��b�N$~m��9�zOɑN
-�zR��k]���+bwU����~�nR���K^7�����&,�
-C~�yV���&I��>�R<���2$
`�u����^뵽鐰�d]kx7�ߩ����K}x:R�9�l
��D"(��Ka�\J�ZC�x_�
�,+kЪz�7"��g[�*ž�<�]ե:������Զ�c���ǒz�Z=?	�|�J�X���4��⡴^ODM��A�Uc
��A��������RT�
�E�&�i�T�4Ơ�J":�$�GL������������<��X�)G\t��l�Op�q
h�Mڀ�ܣ�
K7X�a���M����w�i�n��o
{
�4e$�&��]�C����qGl�ct�
�j�y���_|�^4b�3�A�b��������å�j����ٷPiVFfJ{�eK{S`��g���R��N�V��N��ޕ�y�ܗ��/�sn�n��!�s$�f������`F��D�g-���W�Ã`!�?Q4팀ʘ„�eڦ��b��������T��0k�ە������ÌP�\
�A���s����v]���d=w�ş�N
w��q�����z�: [...]
-����EY���n�*��b���
�1Fdv{�u�n�n�9�q��kw��z6���g��Y�!�-a4S���D��l�N�
%;�ו��ݸ1\v�&��
-��ߓ�93?���4i�xP� X:""(�܈X�6qi�.	��]�(�
�c��E at eL�X�E�eJt��l��Xg|΂���
��ݮIX at _wk8rC
d
��%�܅(�"$��ڦ�����_��|����S���P'��2��ߖ�&���6�7��j�X�,��6�hp�

�/"m)Ͽ�׎�������
��
-��룸����
�tGir_��T��w�����f���N֗��jX��S�w�>UACEi�M�1��
�pjߞ��ESİ���<�9
zrR�
�<'i_xP�n�X��!��b�)$��=l���&>�
u\ɧ���@t��m7p����o�%U�e�1�F2��>q�QǛ2R��Þ����ۮ�U�G��¦_�I�#f���iH�P�3��Of��gdn2`yhL�@Z�O���(	H��~[Z,��9�=�1
xP��3u�!韀����C�y�����&D��ZЕ���/�ѳ�����)\N1�6%���H_����]�O��^9?�[򰛻�Jl���zn����Ī��T*X�A/�D
-���qQ���q�Ҵ["��v���a-
�~^�lz�ts�����u9ۺ�w���b�f#�ݹbuuS\����a+}�����#!�o������&խUYn�
pI�:�ǿxxQ��|����
Y���������
��oԣ#��JOn�-l��|�����
����j�٢�����nP`f����Գ�u�8�ئeJ���r�-=���e��
�ֽK�tuu�endstream
-endobj
-1638 0 obj <<
-/Type /Page
-/Contents 1639 0 R
-/Resources 1637 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1604 0 R
-/Annots [ 1642 0 R 1644 0 R 1646 0 R 1648 0 R 1650 0 R 1652 0 R 1653 0 R 1654 0 R 1655 0 R 1657 0 R 1658 0 R 1659 0 R 1660 0 R 1661 0 R 1662 0 R 1664 0 R 1665 0 R 1666 0 R 1667 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1674 0 R 1675 0 R 1677 0 R 1678 0 R 1679 0 R 1681 0 R 1682 0 R 1683 0 R 1685 0 R 1686 0 R 1687 0 R 1688 0 R 1689 0 R ]
->> endobj
-1642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 709.2877 330.8418 719.2153]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8f2ab3d77bca7257df14bda9261a1326) >>
->> endobj
-1644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 673.1345 426.4128 683.0622]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f63454e50c1937573c75495f3cb4c1d2) >>
->> endobj
-1646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 636.9814 451.1102 646.9091]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_9dfe99ee7d8e2b1d7360ab0119bd12eb) >>
->> endobj
-1648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.2872 600.8283 513.9963 610.756]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_34e5d32c224ab8293ff78c85d86e5f79) >>
->> endobj
-1650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.0321 552.72 511.5793 562.6477]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_c379f873623c0fec37d988c2c374ffe5) >>
->> endobj
-1652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.2229 480.2774 342.6682 491.1813]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_b95e9f75dd971827c8a9a6b42faeeac7) >>
->> endobj
-1653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.601 480.2774 439.5155 491.1813]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 480.2774 513.9963 491.1813]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 468.3222 190.7379 479.2262]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.7011 432.1691 238.1947 443.073]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f59141db49e5141da6ac594d43ead2f7) >>
->> endobj
-1658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.6057 432.1691 328.5202 443.073]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.3036 432.1691 448.6602 443.073]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 432.1691 513.9963 443.073]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 420.2139 210.6727 431.1179]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.4508 420.2139 353.1769 431.1179]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.6246 373.1019 321.9057 384.0059]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_70c652d969734f6a69841d30a5e9033b) >>
->> endobj
-1665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.2402 373.1019 410.1547 384.0059]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.2659 373.1019 513.9963 384.0059]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 361.1468 168.6011 372.0507]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.8671 314.0347 331.7058 324.9387]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8bda1b8ba9119202c16f88fdb19a535b) >>
->> endobj
-1670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.2828 314.0347 421.1973 324.9387]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [442.2659 314.0347 513.9963 324.9387]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 302.4532 168.6011 312.9835]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 265.9265 243.0411 276.8304]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_a1663bce444a20240c852c9443005cc0) >>
->> endobj
-1675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.8568 265.9265 356.7835 276.8304]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.9983 194.4601 289.7652 205.364]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_d2154705f0854002a4f44f95580df9c7) >>
->> endobj
-1678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.4735 194.4601 405.4002 205.364]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.6396 194.4601 513.9963 205.364]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.3817 146.3518 375.219 157.2557]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_0d5a001977b49f77a4514de614bf3c4c) >>
->> endobj
-1682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.3106 146.3518 491.2373 157.2557]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 134.3966 208.4514 145.3006]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.636 98.2435 331.7761 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_4da79f8c645b945d52635733c3f63d7d) >>
->> endobj
-1686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.122 98.2435 453.0487 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 98.2435 513.9963 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 190.7379 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1640 0 obj <<
-/D [1638 0 R /XYZ 90 757.9346 null]
->> endobj
-1641 0 obj <<
-/D [1638 0 R /XYZ 90 725.235 null]
->> endobj
-1643 0 obj <<
-/D [1638 0 R /XYZ 90 689.0819 null]
->> endobj
-1645 0 obj <<
-/D [1638 0 R /XYZ 90 652.9288 null]
->> endobj
-1647 0 obj <<
-/D [1638 0 R /XYZ 90 616.7757 null]
->> endobj
-1649 0 obj <<
-/D [1638 0 R /XYZ 90 568.6674 null]
->> endobj
-1651 0 obj <<
-/D [1638 0 R /XYZ 90 495.1786 null]
->> endobj
-1656 0 obj <<
-/D [1638 0 R /XYZ 90 449.0927 null]
->> endobj
-1663 0 obj <<
-/D [1638 0 R /XYZ 90 390.0255 null]
->> endobj
-1668 0 obj <<
-/D [1638 0 R /XYZ 90 330.9584 null]
->> endobj
-1673 0 obj <<
-/D [1638 0 R /XYZ 90 282.8501 null]
->> endobj
-1676 0 obj <<
-/D [1638 0 R /XYZ 90 209.3613 null]
->> endobj
-1680 0 obj <<
-/D [1638 0 R /XYZ 90 163.2754 null]
->> endobj
-1684 0 obj <<
-/D [1638 0 R /XYZ 90 115.1671 null]
->> endobj
-1637 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F25 148 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1692 0 obj <<
-/Length 3921      
-/Filter /FlateDecode
->>
-stream
-x��\Ks���W�-��
,ޏ䔸�_��w]9خ)JCI�5�
��׿>
���$�v�\R:�����l ���Ɛ�?�0x��B�q���^��=����^����Wo��ba��T.>ܵ$A�����i��+�1^
���~�~w�&z��y,�릸�^Q��_��xWܖ��ʻ������7����7W_~���
-&�5�?W?�����+���b�
0"�����S�><^������}�>{mfbR��HKx<�"
I�5\�D&�D(���{�)���?ɭ�LjJN
f���cՔ5���e���ղy(�?cL�WxY7ݍþ��j��;�����(� ��u'���'���mo�3��"������
-,l�k����(h�����5.\n�m���
��\t
#f��H�^�:�
��0#z
�^1̖_ߍ�5x}hR�W\Aad��Wu�w�������Z��O��u���?�7�U�
�h_�B
�.=�
-�t^�˓Wތ��)��վ�Y��۔��w����Њ
ZQa�W��
����X���^�9"���Jj��z5<q�
-�($��
�>��R���
-��u��^*6d�b��i�8�#����}��a0�{|N�D�5�� �{�ޔ���n}
��

��
�ȰAJb�v�Ge
c�06j<
��@�"x�k<>k�X�sM넁�&����H�2�p
-�(�#C ���h�"3s]��9
&r�+|LX��`E
b-��ai�ͧC9�Ҝ!ʁ��R�2uf ;�*��&Ґ���H�o=��/�uax�>�h�\��NE��')A�6�B
e$�����)�tD��KD��F4�{����X
R at 7�[�iGv��]��G���,�
-�}��x�Բ�
�^��`�"!)�
~�϶���1�?`
h
�D�5
,���k��:�՞a
�$iM�F���ȍ�Ɖ+�E��`6`{�oc#���R�Ӯ�i�h�z�$1ހ������
�r_�@�c�v�GeL��&:����(s0;� ���
��Y0�;e�9��.�����j�)f�(y3
$
iN�	�$=~>$c��~��ixL��5ğ�I�!у�v
��R`d�/�v�a��m�	�Y�Qc #E�R#�fY4�?�L�MGDu
�
��+��b��m2�2����6T���m,���6�j�?�e��l��ժy�����T�
uȿ��~�-��/N�k?���B-�;��
9����
3���d:���,ǽ$�=�e��H�_����H#3��aY�&x;���H�1ކ~�9�݆Zχ$���ȍ������mS]S��h�d��{�����)u3d0d0I�xT�:jL�Ci)����L�8xF�D�x��$�	��X���#S�
[A�<�
��`"w��]Y
}��5eä���G��-�Oz�҈`n!�]�;3v�U�$`��l��r
�2��c��8�UH�P\(#Aq
6����\d��\���"{�]�cnm.
ۖ��k���
-
3^�eݥh�� �
��G�������6a
іYڋ
�p��W,M"0sW�M��}K
-�`D����{��h�̩�/�,F��|��E1�	��QV�3(�!3��������ё��$��紏�F���T����v��v�)�4%�"g�!����/��v8�_
-B���3L�0��Zd|�QSl~i��0��1Cڢ���ώ���TLu0k�e�t�գŬ��tw�
�!�
\d6�4G���,uq藆(���kf6~
*}q��V�ǞPg"�
4�#OZ�Hf,����I���
���{P�
-��02|�X��q�z�f����ԏ�� �0.�
�N����v0SK����\��
-#L8�$Ą2!��!�)ܮ!(��u�锽9�cmoƖˉ�]�t�8-�&@�k~.�
�U~�?n�͛k���
��}��0U�=UC
��t/�IdS��-̥����e�F�}>Ǫ�5�_�u�T�QNں[�q�%������8�_n�_['�����`��mYG='�
���d�i_"ඬo���)���y���.��M�;�ɽ)o����m�{�Irx:B��u"�C��F~Ɔ��hH��38W
_D��C;#���;b;7X#�P��	
f}�U�	x-�ƒ�O��~S�}�rfXP3����8��ɰTKД�ey*��UFo�T�	�*�sUF�Xjt7�Ѧ�� "�^�
�"�12$�Y�!N&�?OZ��`,7�)aQ�`lf:�Ge���:�Q>4"�YL
;-��r+���,�8�.�z�DwPPt�#�����X�g
r�X1Q��&S
I�)��`&!ӧARq&�t�S`�̄� �-���1CZ2=ҚX3��9���!Ul6�uO�z�x}]no��d��5
md�C
��� [...]
-��ˆ�.���c����-i/xT������5c�A��^p���T��i
O+=\"No��*Նe��R$>�
h�"��P��Z��̤]ո(�e�"��Y����D5�\�U_��+�ٵ���q��0���D�rw�9ˤ�g��Ő�Q�_0����h���<�b�<7�o���Muη-p���m�?�T���2�e˓J 0E*i��TB�QR�݌�&H����O�#�f�nsfh���8�)��y�K�1��Ԟ	9j�(�0  F������$[0*H�

�1��v��F$�e�NĒ�?��G
���,���8Xw0���j�K_-_W���>e�%��j�0���	e$����D���oN�`F
b��Y}J�Dy[��H��F{
���@�k�+�g��қ����	�2����e32y�f��8c:�4}�cb%�i�%�$
Se�K`.Js(��ᘼ�(	�������O'9����X������Z�P0�g}�}��[A����n��v��qK} [...]
-��Xbw��=9�$]��.UjqQaO(#E�f��K�n���*>o7&��a����_ć1����
9|:cϨ�5b	�};V���
-Ĕ��Mq[�L�|�:R
-�*��#��<
St���� T{&}����&�7������<#��Ь��1I�ģ2&��!�NևM��zy�L�x|ւ��y���]ަi7xT�f0AGn�&kv�X=�

��`*�,/�	���&
ep�?�
2�/�(��C� ���ʡV!,ғ!y�������Nri�닸#������dj�  p�L���&v�
�<�غaS�W�*�Ԉ
����,��4�����@m�F`���iM�H���ȍE̺l^p$�A�J�&iyT�B}�+�F-[�+m�\y|΂��yK�.!:���a�A��C��fz�t
!c�D�+
G����M��wp
!�E�u
�����I; ��H%��"
��’���e��	�K��6
��L�6�b�Y3�Q_O/�oiA�i�;L�^���\I2����B 0E
i��B��Ŧ���bSF�X�YNȕ�۟Q���W<*c#
��Ah7��\�x|ւ��y	��B���np��
S���ġ-�:�ѧ#
L���(�y	�hׁ�ź�(�Wv�������
� ��R�>>G
���
i��<�|ƙ
�+���4a0�؟����ڟn�P��]OZ���/�	褂u���:޵i�q��Ļ�㧇rs�?~W�
�c�
_�����Sq_���f�r|
ďuy�ӵ�ڕ��\u�
��$�֯l{{��F#��M�ޡud��
w�m0"����XW^�ȵ�yh�ß߾}~~F�5z�U�#���+�N3Ȯ$C�
����2h!�뛁)�bz�?��u��C�~�X�_V��endstream
-endobj
-1691 0 obj <<
-/Type /Page
-/Contents 1692 0 R
-/Resources 1690 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1604 0 R
-/Annots [ 1695 0 R 1696 0 R 1697 0 R 1698 0 R 1700 0 R 1701 0 R 1702 0 R 1703 0 R 1705 0 R 1706 0 R 1707 0 R 1708 0 R 1710 0 R 1711 0 R 1713 0 R 1714 0 R 1716 0 R 1717 0 R 1719 0 R 1720 0 R 1721 0 R 1722 0 R 1724 0 R 1725 0 R 1726 0 R 1727 0 R 1729 0 R 1730 0 R 1731 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R 1738 0 R 1739 0 R 1740 0 R 1741 0 R 1743 0 R 1744 0 R 1745 0 R ]
->> endobj
-1695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.7475 686.0393 310.7571 696.9432]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_6a8d9c1c40c886054ef76aac268f33b0) >>
->> endobj
-1696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.2145 686.0393 424.1412 696.9432]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.4776 686.0393 513.9963 696.9432]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 674.0841 144.2428 684.988]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.6401 637.2223 297.2201 648.1263]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_4b9b7034fd7b17eff672d49a7c85ac2f) >>
->> endobj
-1701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.5701 637.2223 410.4967 648.1263]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.6396 637.2223 513.9963 648.1263]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [132.8456 625.2672 227.8283 636.1711]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.4451 577.4465 294.9007 588.3504]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_19ff64e7fd60a4e08c782a4683d62167) >>
->> endobj
-1706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.0557 577.4465 409.9824 588.3504]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 577.4465 513.9963 588.3504]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 565.4913 179.1116 576.3953]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 517.6707 296.7392 528.5746]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_b50ac757b6cb922c40504dc69c983568) >>
->> endobj
-1711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [300.5549 517.6707 410.4816 528.5746]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 480.8089 233.6367 491.7128]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_c39a1aacb6aa4f54150e2b138d7b36f2) >>
->> endobj
-1714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.4524 480.8089 347.3791 491.7128]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 396.4348 238.6078 407.3388]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_5357e1ed14407abf82149fe878789efd) >>
->> endobj
-1717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.4235 396.4348 326.338 407.3388]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.8675 359.5731 366.7859 370.477]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_44aa5cc75376dddfb9005dd74b27ff68) >>
->> endobj
-1720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.3632 359.5731 459.2778 370.477]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 359.5731 513.9963 370.477]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 347.6179 190.7379 358.5218]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.2037 310.7561 362.4433 321.6601]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3659fef24b67be6b668955bc6865e779) >>
->> endobj
-1725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.3568 310.7561 456.2713 321.6601]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 310.7561 513.9963 321.6601]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 298.801 190.7379 309.7049]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 250.9803 277.9101 261.8842]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_36c57e3007fcb2340dc415f8431df7aa) >>
->> endobj
-1730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.7258 250.9803 365.6403 261.8842]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6214 250.9803 481.6041 261.8842]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-1733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.6866 214.1185 288.3664 225.0225]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_5e359194d7a21e72a49aee51dbac25c4) >>
->> endobj
-1734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.7629 214.1185 382.6774 225.0225]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.4655 214.1185 513.9963 225.0225]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 202.1634 164.1776 213.0673]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.7892 165.3016 313.2944 176.2055]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_f349e801a615b2014d36c30fdb56022a) >>
->> endobj
-1739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.7936 165.3016 404.7081 176.2055]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 165.3016 513.9963 176.2055]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 153.3464 179.1116 164.2503]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-1743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 116.4846 312.7888 127.3886]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_39e443628f6b73203b0f66189b8bc1c6) >>
->> endobj
-1744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [316.6044 116.4846 400.5189 127.3886]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1693 0 obj <<
-/D [1691 0 R /XYZ 90 757.9346 null]
->> endobj
-1694 0 obj <<
-/D [1691 0 R /XYZ 90 703.1401 null]
->> endobj
-1699 0 obj <<
-/D [1691 0 R /XYZ 90 654.3231 null]
->> endobj
-1704 0 obj <<
-/D [1691 0 R /XYZ 90 594.5473 null]
->> endobj
-1709 0 obj <<
-/D [1691 0 R /XYZ 90 534.7714 null]
->> endobj
-1712 0 obj <<
-/D [1691 0 R /XYZ 90 497.9097 null]
->> endobj
-1715 0 obj <<
-/D [1691 0 R /XYZ 90 411.5132 null]
->> endobj
-1718 0 obj <<
-/D [1691 0 R /XYZ 90 376.6739 null]
->> endobj
-1723 0 obj <<
-/D [1691 0 R /XYZ 90 327.8569 null]
->> endobj
-1728 0 obj <<
-/D [1691 0 R /XYZ 90 268.0811 null]
->> endobj
-1732 0 obj <<
-/D [1691 0 R /XYZ 90 231.2193 null]
->> endobj
-1737 0 obj <<
-/D [1691 0 R /XYZ 90 182.4024 null]
->> endobj
-1742 0 obj <<
-/D [1691 0 R /XYZ 90 133.5854 null]
->> endobj
-1690 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1748 0 obj <<
-/Length 3359      
-/Filter /FlateDecode
->>
-stream
-x��\ms���_�o�gb�/��m.M��;w�!�x����%U�|w��]�D��:�M:��Y���b��. ��(��f�Ό2�	�gw�t����`��+�������;�f�8����a/A3�8㳛�_�0uy�(�������W�o_o.���~��o����Wt�j�T���]�~|S=T{X��_���b����p��M4��W	ͼ9����7:����D8�f��%�9>{��\�Oo/~�r��/�
[
-A�rv%$���A1pW '�9z��qA�V2�>F%aF�Y�y'~�z^�z���y�y���	.���������C�
tQ0���
QW}��r���3C4�� �[�+�j��3¨3�ހ��rM�c��zٌ�
-:|Xg��A���wpL�P��~�6����v���_)�
�24�k�EU�!���
'���G~����S��>�xԂ�����r�$�����Hӏ��3"
-1EX��MLy����
L����@qR��4DKk�Ls&��<����e�̂-p�Ǎ��k���]o�f�Yn�ٻh�Y��uS�tS���t�x��
�������5�K��`W��-(5�a�0u�9	ֿ��6�����юt�m6��mu�Ԝ
����Y�N��4�@��!)��:��"
%���I!z;�J�H*U���}(5GR��Ӌ�1;�o
]vD !�p	�ȵ�?�MR¼��]�C��p���+ʾ�(���v�%(5�p�a��CM=%j
-0o�/�v\`t$����Pe
��Z¥F�HC�8�a��N�}]�S]r:�P7
c5�f�-�ĝ�ΝC?�X�P��MF?��OO`�~�z���f��+,h-�O������T�_��O�ESݮ~�Wu���eOM���ݾ�
NL�
�O�]��+TP�2
�
K	�S
-�o��"
�`(���j#eY���"�"�ʁ)0���
sJ۩Έx̂���W��[����J*�����ZV�E�ڌ�3�h��OPY ��

��>,�P�0��A�W�8�����إZ�ϱ����/}��
�
��]]-��+8�"�d��•R�G,w�#Wp
���dWD<f�H�	�
-ҟ�HTDb����g�W�r�����y;9�D�R|��F}����0�w,
:�H�a�!�z@�����#�[���4�Y�Z��E?f�A	e�� �
h	��}�B at YI���bI���@_`�@�v�@�6W@�$
���I*�1�#��B�Zlk��6�C�j��ض!Yb�
&(L�t$r
��Ё�~�O"
�`(����	B9segDb�pb(>1%��}�I%�:#�
�rSg
�y�����J�4���j�fʯ�w���PW}��J�����AZ4T�̔>q�2\?�_A�*�,���(P�y����#�w�N{��[,�:�oV	*L�>}�7V�Ok9��)!y�٣�,:�����a�ns)��)��8�B٠�D�$"��
�_|1K	�k&-�D
O"=��$R��H_m6�8���Z
I��c�GrsId�n�������Hq�X��$��uD@�;�\��8D�D�D<f�H�)-#�D��j�2b��.�
J�Ĕb�8����`$�3���KH;Ǫ��2�a�4Z��҈��F��$���4ғQJ#��i$�q�~�L"
�T���L"�#R1��3��Z�k!�D�I�
���e�Dm6�@����S��L��1�#�G3���6,MV����#E�Db�_�pZ��`d;��-�S��C�'u$P3]�E !�ȾR
���s��w'z"��rOXI��K��슈�L��]���[V���(�n�n"v�>�0W�O0hҔ����4d���,q�P߲'�`kjRCQ"�Yg}��a�=�âZ�)퇗=��d���7DH9eM�9Gqp����0�k)-�Qb%Ug���
|*,v
-*��#���6�B�~[5��P_��M{Ʃ��k4b�Y<WM��
=�$� F[4q�`��`x�,�=$β�0�j
�	R��yD�Pj.k>V�O�f�t��1J�)2��%��r�Sd2�&
2���c"
�`(��&�f�.;#�S$����(�g8I�����)2�p�0 �s��/���v�9{d<��l�	t ����17�S��F�P�{d�{�QG-��
� NRv�Q��D-
L3�)]܉́І(*�
(��z�
-WV��[_g���8��Udf�JM�6H�‰�?"�l�_^�y��A�� 
ꢉ.�pD�Pj�)�N@��"): �

��4��
��
��hJ��;��z2J�`�CTU��Dʲ ��@/�

RĮ�揣,ɉu���R�wFi)�_�a
)-#�?ѫ�z�\�}��?�Ͼ붹��~���r��
-�a(���F~E�v��-0l��XD�Pj�zu�ހ}b�
u�$�-;"�S8tC�A���[m鎿LtE<-��H=e��L%-+{"�K���v��D
-TH���
"��(i�y�^� ɭ�B��t�?d��O���ެ2"
�c���~�k2r�A�Dc��
LH.��E
�vW�H�
�3��LO`�g�z��Ֆx&Q:�g�ڇR{<�
�n:Q�DD!�ĉ�
 ��w�~��
�dsȯ�Z�)g
�ͦZ����5�L�m�#4�{R����P�}Q�)�
I�JMA�K*b�9k��/�D]�y�+��*l��u�X�n�$�r���!�5_�۠産5T����Xⶲ��m}�%nK�N඲���\O��������y=~�P�zqED!�p�
��b0�*
-b�9g�z#�Q
�rO)�����/1DXJ$�&5�Cר
!{!��q}:ٗ�:��8�8��(1\�yӾ�pۦ���8�ӳ��׫e�@O��`;Œ�p�8#��X����oA)'�_����0��C����X`>Do�|���Jq�C��
g����~\�Y�<�eWDb
�����@��$�&TOuFģ
�N[���
$T�BD!Fi����G��?{ŭ=����(�^�y�~�H����g��jj9��.�����L7&���ԧ9ܝ����O��֒u���'D�~D䛪Y�O�}�o��ݦ^�W�C}�N�tm^���t�q
�-��7Z���f�cf�IԾ_��iW���7� o�
?�E���JC���:�~c��p�����v��~G���@%Wm�_IW�)M���{$`\�>�g�u:�UJ��;,����Pt��H��i�#�x��~�|��
;|�z�����t��,6�ݵ��q�x���?�x��j�K������X�‘
���;��m���Hԓ��4O�o�j��($v�D����g᯿�_�p��F;eL�+#��7�f������ߓ�-�-�����5����+�0�
^a��"hdK2Br�
\bJ
���&��\|���(�9K�ɂ
dendstream
-endobj
-1747 0 obj <<
-/Type /Page
-/Contents 1748 0 R
-/Resources 1746 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1604 0 R
-/Annots [ 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 1762 0 R 1763 0 R 1764 0 R 1765 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 1776 0 R 1777 0 R 1779 0 R 1780 0 R 1782 0 R 1783 0 R 1785 0 R 1786 0 R 1788 0 R 1789 0 R 1791 0 R 1792 0 R 1794 0 R ]
->> endobj
-1751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 698.4424 270.7267 709.3463]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_cdbb5fd3fa1ab9faed26fc5be47cc0d2) >>
->> endobj
-1752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [274.5424 698.4424 384.4691 709.3463]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 662.1778 240.1323 673.0818]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_43a14864f62b4528d6c87856cba4da34) >>
->> endobj
-1754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.9479 662.1778 353.8746 673.0818]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.8419 627.6072 330.9758 638.5111]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3ff750009bec94ab2c9a01139ba22420) >>
->> endobj
-1756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.5276 627.6072 444.4543 638.5111]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 627.6072 513.9963 638.5111]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 615.652 174.6683 626.556]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.1291 615.652 256.6103 626.556]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.8032 615.652 351.2843 626.556]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.3945 581.0814 277.9871 591.9853]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_e5845918fa5037ca4e9bdde4a4a3ecf2) >>
->> endobj
-1763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.0915 581.0814 394.0182 591.9853]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.149 581.0814 513.9963 591.9853]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 569.1262 129.8568 580.0302]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.0692 532.8617 297.856 543.7656]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_894587e76b98f15a8ae120327dc9d532) >>
->> endobj
-1768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.6351 532.8617 421.5618 543.7656]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 532.8617 513.9963 543.7656]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 520.9065 174.6683 531.8105]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-1771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.8371 484.642 277.7386 495.5459]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_2b4edec92d54747f5f1d2904407e744a) >>
->> endobj
-1772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.2856 484.642 393.2123 495.5459]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.0889 484.642 489.5701 495.5459]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 472.6868 196.5759 483.5908]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-1776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 400.6155 309.4415 411.5194]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_e7dc964062c194e3ae8eef0a828164ae) >>
->> endobj
-1777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [313.2572 400.6155 423.1838 411.5194]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 364.3509 308.3355 375.2549]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_396b429302ce49ea9915778c317b81d2) >>
->> endobj
-1780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.1512 364.3509 396.0657 375.2549]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 292.5782 250.8021 303.4821]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_7397b715c2ccf3f6fcf2f3900efe10d6) >>
->> endobj
-1783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.6177 292.5782 364.5444 303.4821]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 256.3136 254.1196 267.2176]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_3789c297e202c735dbd829cd6cbed989) >>
->> endobj
-1786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.9795 256.3136 427.9061 267.2176]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 220.0491 265.1879 230.953]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_8190bd5fde521e37c585c5c59b65f90d) >>
->> endobj
-1789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.0036 220.0491 378.9303 230.953]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gec4f5c405067bcd0483d84591bc7c48e) >>
->> endobj
-1791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 183.7845 259.6486 194.6885]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag_ebfd121256089b1415f3bc6989c25bbb) >>
->> endobj
-1792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.4643 183.7845 347.3788 194.6885]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__MIP__Problem__tag) >>
->> endobj
-1794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1749 0 obj <<
-/D [1747 0 R /XYZ 90 757.9346 null]
->> endobj
-1750 0 obj <<
-/D [1747 0 R /XYZ 90 713.3715 null]
->> endobj
-1761 0 obj <<
-/D [1747 0 R /XYZ 90 598.0329 null]
->> endobj
-1766 0 obj <<
-/D [1747 0 R /XYZ 90 549.8132 null]
->> endobj
-1775 0 obj <<
-/D [1747 0 R /XYZ 90 415.5446 null]
->> endobj
-1778 0 obj <<
-/D [1747 0 R /XYZ 90 381.3024 null]
->> endobj
-1781 0 obj <<
-/D [1747 0 R /XYZ 90 307.5072 null]
->> endobj
-1784 0 obj <<
-/D [1747 0 R /XYZ 90 273.2651 null]
->> endobj
-1787 0 obj <<
-/D [1747 0 R /XYZ 90 237.0006 null]
->> endobj
-1790 0 obj <<
-/D [1747 0 R /XYZ 90 200.736 null]
->> endobj
-1793 0 obj <<
-/D [1747 0 R /XYZ 90 149.0393 null]
->> endobj
-1746 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1800 0 obj <<
-/Length 2104      
-/Filter /FlateDecode
->>
-stream
-xڵY[s�6~����J3�;��)��n.�X���4��-�f+�.IUM�
� D���d&�����>�d���(<�D��rr�=Ó{�錘�sx?�
-�Z��_J1QHI*'�u��$HPB'���i����	�x���Y^�(�Y^Wim
fO�i�^���ׇtU�H<-��]�W�2��2��rY'��9xz���:�K�Ǐ�:m���
�񩠳/���.nf��I������<Y�F>È�XL��Q�N�g�2��9�9��[�}�L�${
-P�!,�@	D
T�e�櫪���|e��I��<\��:+���Mq�ۦy�4C�i�cN9b\����v�vʻ���u
��&�.�b���A�,�k
�����KPs��"��uo��V� ��DF�#u��)�
}.[����v$�P�,8'���f�M�1M
������ P6	(W
-�H�7�i%��462?�+�i�+�,7���ڎ?3|��U���
&q4�,F�(^Vhޕ�X��%���D؄�Gm�6$�^�uLQ�(W��=��E���jZ����6�>~x�����f�r��f�����˛+
-�L1� qᔭ�82���+�ue�U�߼Ј�rZArT�`L�1l� &�
Ik�ɧ9��<�) @��ͫ�>^}����śP�p����
�m��v��
j�����Э.���-S�q;%/�%�

-��U욂���=:�
��nj�i����Cy^�Û��_S�EZ�͵vxm*TjF�q܃�����ջ����T
I�ӳ�S��7��
-�������6�+?Y��:�&���f�w�eLW�&��
�E�[ni��*%�嶩
M����--�0�����{��W�gd����1

EO��ҕ�4N1�*�v�?�������Ԭy�ʑ�	?�Pa���"]�ؽ�fX�����A�ۆ�C
Q���Wf�*�C˃�����Ơ{�&�6֖�
��0���駇�
A��
��1����p��۱��=jX�	������
d`����I�0��x��J
�C���lKM�he�M�>����#�p`I/	L�pb
�=�@	!P�����P�_#i
�Ur_��(j
Vi�/,}yj��x
ʈ"���芍Ah�\�yJ�J(�'�Z��R@��p��: �m�3 ���?dwߓ��lc:�mj9c3���je`yH�)�;bc([�Na�U"�~B����qf��Ȕ���3��H����s{
r ���/��� �tF`�����(��@6R���c
Q* kGuZ���^)�Hf��t~�``���煸O���2D��wv
"S��--��6��;ΰ�*�D�o8���D>�[ 9����O��!?�èg�0��HB�o�����t�v��D�Z���D_�<�`~�f0(P1#d�ft���
�9�cƾ�f�
�+K
ʼn����?Ќ��0���
��k+LE����ڑ��H��_�:]���
w����m^�$9$U@�Y|�Ku�F�tb��ԸZרjÝ�S�ܭ [...]
-$�f�}�B�D�F"��d���~S���
/[�yW~��������1m�;���34�=#�Rpêge/��	ㆫ9���
�%�8�ʰ��G�*����H�uj������n�m�y�M��iً
d	[�H!*!9��pNx#br�����N`���܇`�4�Go��r�X���X��Y����TM�oR'
(mB��	6h
�)����הGC�S
�ѵ���S�5�������[�R6l����Lʯ��k3�����>�~��zħ*-��k���wI��mJGL{�*+"l	k��p<�I�ARCy$B1���o��ߝ������������~|q~����]�vy�X��>�l?�1�4Y�c�;��-��8�R�<S\��6��
����?�,�?\�lendstream
-endobj
-1799 0 obj <<
-/Type /Page
-/Contents 1800 0 R
-/Resources 1798 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1604 0 R
-/Annots [ 1806 0 R 1808 0 R ]
->> endobj
-1806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.5567 167.8286 500.3272 178.7325]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1801 0 obj <<
-/D [1799 0 R /XYZ 90 757.9346 null]
->> endobj
-1802 0 obj <<
-/D [1799 0 R /XYZ 90 733.028 null]
->> endobj
-1795 0 obj <<
-/D [1799 0 R /XYZ 90 716.2211 null]
->> endobj
-1803 0 obj <<
-/D [1799 0 R /XYZ 90 716.2211 null]
->> endobj
-1796 0 obj <<
-/D [1799 0 R /XYZ 90 590.626 null]
->> endobj
-1804 0 obj <<
-/D [1799 0 R /XYZ 90 576.1656 null]
->> endobj
-1797 0 obj <<
-/D [1799 0 R /XYZ 90 429.4298 null]
->> endobj
-1805 0 obj <<
-/D [1799 0 R /XYZ 90 414.9693 null]
->> endobj
-406 0 obj <<
-/D [1799 0 R /XYZ 90 233.7171 null]
->> endobj
-122 0 obj <<
-/D [1799 0 R /XYZ 90 226.7385 null]
->> endobj
-1807 0 obj <<
-/D [1799 0 R /XYZ 90 132.0526 null]
->> endobj
-1798 0 obj <<
-/Font << /F65 161 0 R /F91 464 0 R /F67 170 0 R /F52 145 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1811 0 obj <<
-/Length 3160      
-/Filter /FlateDecode
->>
-stream
-x��[Ks#���W�|1Ueb�~8'�k�l'U�Z99[
--��S�L�V��>� �
@�+jS)
D{�{��5�1d���
�)��a\�n�/��.�������"�����R�
2����m�A$(����os���\����a}��%��m���M�\<jv��w����f��$z��\�l7���ݲ����
-<�q�n�7���Ms��4{Ip��]���������������oo�l��F�h1{�/c����S濬/~��G�3��ߐ��i*�l�8�n�I�Q�BL)CX
-
b*hSB���Y����b�x�D�Q�Xaj�K��R��!c�0v�U����X�?��̛ؾ���O�Z�4�4�T̟�	Si�_��M�d�L]gZ �9/,HU
����t���S�
d��,�W�z}��ja]�-���
06�A�a�
��u2(3HpGP@�O� �����1�PNf�l$����Q��Mr�B2Nf� vI�r��$�>g�
0)��XG��3
W$��,�9+9=��~}�خW����?��b���>��gd��
���j��_�z���k���֫p"��
-Д�y���*r�2��R��Ah�\f��A�#�,�'G�yP��΍�@��)��6�
bUȌ �b�A��l2�D���d:���D�ِy}���W`�+X�\�r�T�!`� )��
^H
��<9�^�f���С%�p
��,?5�ɤ`�<� ��ʯ/���Re ��C��j(��U�e-�ķ���c�L��`Ѫ7H��'.�p��#�܁�b��i<q)���2%1H�>��"
%J�bG(�f��q�����5�x
-��!	����?/i
-a��pUH8}~�� /`5��buΊ�8�l�sVl6�Yv
)����
�,/_���e�����}Vu�n�D�`cSY����4G��I�r
� ���
� _�`������б
��(���)r,� Lg�)��9/���2cn�dm����w(VH1�&f��/�W
H�>�%�� NZ�J��T�U(�$KbU��
-a�<�Xb
b	bֱo���n��b��!a�~c�o��*	+ё�g��6i��Ń
�vs�ŘX�w�i 
8���@tc�}���PA�^���<nn�}�
�T�rx�
#a�ĩ�H����3��q�u���X��b�F��u�42�e$����ql��HN�f?��|ph 
Jri�4ô
� Uq6p�x�J\tb�\T�`���E���
-Y�X��EA��Ec�'pQفT���b�\Tv5p�$V5.��
�gqQ���E^����
�^60M��G/�A�"E�xb
q;+�� Qc Ja�ymO��
),1Pٮg��l���AL12�z���|�~��CªY7]���]Fy9^A��F�T$��"�PŃ��3H��$T-$	�Y
-R6
��#-� ���2� `�I���	XFYn"Z��݈uP6�Y�~�ؼ��rݮ������zR��SK	_.j��s`���]��/��mcok�8T�&�o�;WAz�nV!�w׶�M7^�S�^;d�X���t����c�;D7���Y
�N�%�T=�
" w�"
j2
��	̏#
-�AĆl�%EXP��� b6¯]
��J��}���7��{�������MzU��	�k;��KC!���W8$��
-c�b�bU�(�
�Q��cd6�gѰ�5�X-�Y�|�~���I���)�� �t�/7�2XA��4�	n&c�k���T�
>1jA���T���
	�I����9 ;� �}
-����E�Z�b�0
�R҃�Y�n��ɩ��$��+�z��<���Z-p%A*�d�����'!cON9C�*s,�����#��t�8֋yd��s��o,o���mڨH��
�2�1�N�6g3�;�\�&�#���A�ߤ|�����<�?�3��
-���bۘ��Nݲ`$�d
-b<�LV((�U)(VX���]GA#��M
��[-lZ�|�~����B�1dS�2����C�*.�[�*��:1d�[e���g��"�n|3����w,v��
�Nخ0@G��OD*
-@ꥆ��� Evne� eϨT�����ݸ�=�����D����y
ݘ0�<�|�� �T0���͋��-RXB��]�n��l��`/o���j!�v�5���s�#��1��i9dA��2��
l6
�
��	D�>5hA���To9h
ݴ�.S]h
-�\�aL"���1�T��NA7{���~�u��͋
�b
�8�U�NO�
p�*c�)��q2� yv��Vyf�n	��y�:�E
-K0W��a.6�=A
-�2RO�N�:���D��O[��}�s�L\ڄ�� U�ٗ�CU*#��C���T崙�K���V���b��.�!�u��z�!�"@ر}���U/_���=�Lh0g�I�5�h{���Y��av|�-/���r�e��p�
-�F@(sy�:
-�ĬWo��qg��L�� ��a�o��}3|���h���.*3oo�{���(:���|[�1K!�a�����)����i��)Q	�&T���H��"X�z����s�
-
Qhp��
��!nN͐Ɉ�
9�+
�&_��D�C1�@��ۣ��������+{�����c_�CĽ�����Y�z��f�>t�v�)��k��������!
����[����]��=�aA
�fm&�D� O�V	Bi$�
%T
��E,��O`H��b��A�
:
{9�B/Uq.�jf�q�m�W	y��,�0��
�����c���|Ӭ���?��t3d{�h3ϥ�#�YA#�a~��fA��/�z�*�`5�~��Yx�F|�۩C�aD�j�MJ
-�����y��.�jc�K�:
��w��j�ˤ�Z��
x��k�#WF��x��q56�4
������
&,�4�b�l���g�.%t��� ���I�&�qȬ_��}j;�^ǣk����*㪀D
=o�+����v�
"�D��/+��mKxHEbА�l�
-�N���c�KO�{R�c�����w˝k�~�-7w�˻&~Gۮ���?����K!�T��� ���}oM‚
����4D�����&�I2[:a�8����#��7,�;bTQT�66����W������
=nڇ
j�W�Z_%������ /�P��h�8���ȕ���۝�n����=�&3M���;��endstream
-endobj
-1810 0 obj <<
-/Type /Page
-/Contents 1811 0 R
-/Resources 1809 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1861 0 R
-/Annots [ 1814 0 R 1815 0 R 1816 0 R 1818 0 R 1819 0 R 1820 0 R 1821 0 R 1822 0 R 1824 0 R 1825 0 R 1826 0 R 1827 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R 1834 0 R 1835 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1842 0 R 1843 0 R 1844 0 R 1846 0 R 1847 0 R 1848 0 R 1850 0 R 1851 0 R 1852 0 R 1853 0 R 1854 0 R 1856 0 R 1860 0 R ]
->> endobj
-1814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.2907 719.9123 386.0006 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_bcb586fdbb2eb01ec10c0eb941f4b7f1) >>
->> endobj
-1815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 707.9571 240.5406 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.2197 672.7058 473.0432 683.6097]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_0746b37f80c4be687b0dc5ded6190002) >>
->> endobj
-1819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 672.7058 513.9963 683.6097]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 660.7506 330.5122 671.6546]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.9891 660.7506 513.9963 671.6546]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 648.7955 240.5406 659.6994]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.2783 613.5442 381.6272 624.4481]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_8d39b1769491b0ee262118bfa31bcc67) >>
->> endobj
-1825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6154 613.5442 513.9963 624.4481]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 601.589 192.4019 612.4929]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.738 601.589 429.8689 612.4929]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.0791 566.3377 377.8264 577.2416]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_dd8c6ae913a7e3f0a7e1470a23ba04a3) >>
->> endobj
-1830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6154 566.3377 513.9963 577.2416]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 554.3825 192.4019 565.2865]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.738 554.3825 429.8689 565.2865]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1834 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.3769 519.1312 382.5286 530.0352]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_db6f375b8aad58a31f6a60abb7a9b1e2) >>
->> endobj
-1835 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6154 519.1312 513.9963 530.0352]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1836 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 507.1761 252.167 518.08]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1837 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.6718 438.1897 414.4885 449.0937]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_d69ffccc04d33132e31a91296afad78d) >>
->> endobj
-1838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.8702 438.1897 513.9963 449.0937]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1839 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 426.2346 293.4218 437.1385]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.4403 426.2346 403.8467 437.1385]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.545 392.1706 397.7464 403.0745]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_70541b12c8a9b281b3aa4f9c21624b3c) >>
->> endobj
-1843 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 392.1706 513.9963 403.0745]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1844 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 380.2154 240.5406 391.1193]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1846 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.5312 344.9641 404.3865 355.868]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_bc4dd4b94a80075012b0f30b13339632) >>
->> endobj
-1847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.6276 344.9641 513.9963 355.868]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1848 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 333.0089 252.167 343.9129]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag) >>
->> endobj
-1850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.7005 297.7576 411.4598 308.6616]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__const__iterator__tag_62836b9156289bd880bf9f32056a4dee) >>
->> endobj
-1851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.8702 297.7576 513.9963 308.6616]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 285.8025 293.4218 296.7064]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.0703 285.8025 513.9963 296.7064]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 273.8473 189.6219 284.7512]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf2faa73b338e8563f6c022739e5ecc6f) >>
->> endobj
-1856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.5567 184.0045 500.3272 194.9084]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1812 0 obj <<
-/D [1810 0 R /XYZ 90 757.9346 null]
->> endobj
-1813 0 obj <<
-/D [1810 0 R /XYZ 90 733.028 null]
->> endobj
-1817 0 obj <<
-/D [1810 0 R /XYZ 90 689.404 null]
->> endobj
-1823 0 obj <<
-/D [1810 0 R /XYZ 90 630.2423 null]
->> endobj
-1828 0 obj <<
-/D [1810 0 R /XYZ 90 583.0359 null]
->> endobj
-1833 0 obj <<
-/D [1810 0 R /XYZ 90 535.8294 null]
->> endobj
-1841 0 obj <<
-/D [1810 0 R /XYZ 90 408.8687 null]
->> endobj
-1845 0 obj <<
-/D [1810 0 R /XYZ 90 361.6623 null]
->> endobj
-1849 0 obj <<
-/D [1810 0 R /XYZ 90 314.4558 null]
->> endobj
-1855 0 obj <<
-/D [1810 0 R /XYZ 90 229.1311 null]
->> endobj
-1857 0 obj <<
-/D [1810 0 R /XYZ 90 170.7928 null]
->> endobj
-1858 0 obj <<
-/D [1810 0 R /XYZ 90 148.481 null]
->> endobj
-1859 0 obj <<
-/D [1810 0 R /XYZ 90 148.481 null]
->> endobj
-1809 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R /F91 464 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1864 0 obj <<
-/Length 3089      
-/Filter /FlateDecode
->>
-stream
-x��[[s��~ׯ��%䌹���o��t�&m�Ӈ8��$$#� ��"���g���]Z�ێg,�p��ٳ߷7��da�B	�
�r�����k���
�^���>�ˋ��J�0�H*�W�I���..w�,"j�&������O+��uY�M�������`o�����aE�ޔmqش��M��^�����*�u����UqUtࢲ�4r)�����/�����WL���_~ŋ
���1���
.0"�����,\�/~��{���
����
M�b-RT�Y�� �X"���l2�A3�PT""��2�ϕ�
��XVeu�b��S�����I5
A�^+�Gk6��U�zN����C�>��lپ�M��rW6��U������D�&
-��vv0���s��q�������zE��*v���w��&�[�*�A귿���j�0d��1���l�e]9�v}T#��)��AN�
�k�
�N2B��w��1c˛̓�PV+��X�}�۴��ϗe�Vk!����P�6�?�P� 6�J�!WD�D2
�F	h��w{��5HL<���Kz�P�c��]vžhmSt��v� ��J��4���h�ö��]S�7V`e�;�I�9���a*�����O�p�H�a�u����L|-��?qmxg�2��ۻ��j7�"��U}^�J�OeG>��"�wW��뢲|Օ��p�oF�^����-��c�/^�p�daC�I:��/�)��hǾ�kJŔ6�)*X�cD���
�r���A�Ю��1��4��������L� �Bcܸ��\i�|�-|�o���U�Q9���C����韫���qS�!̈X$.�gx����c^�-�����6�k߲KvLt�S�$�CrmNGqr%���͆q�3�2�M����
���&���Q���*��~�ml�D3��^c��Z�Eh�Mۭ�77��rg�ᦸy[
F���gIGK(vp��!d.I��:<O��He��t4A�W	h��S�'!��p��,�-A���c�X�_>���@a`
bNP�G���9
-QHR���NR��Fe�T�/�6d���U2W6rz�x���j�U���s�b�	o(�4K�)�2���q�@W�� ���87Q��?��c��_ ������b&o&mN	����Ј+9�h��ú7��a�J��
��
b6CJ�M+���l�Ė�d
r��3G%
I��	*����Z.9��"W
F�FJ�F�H������]��-�t�M��ſl^���#Z�?��Ç������u�P	w��L-����c�0	Ekq̚
��V
��d>���l̐�O*
��&�$9Z�q��
+zT���R��t(��s��*�b��4#x�����
���G�e-m�N�,��Qs�Ò
�i�
m�P��LZ��܏���10��
$P\f�����"t6��0<���P�>l�)Թ
hG�Gp�Il0S&
ob;�刟F9p<��ê�*�IB����™�FT&T��$����f4�t�o#!$vBI���C�M�^�E�?�м�MX����022�
�Y�a�Wa��U�)���4#;�՝����d�z���
��P19��{|����GL�c�~�
���j:"�v54�����G��&J���L�qD��?���F����Y�R�ǘ�H�3� Z�P3m�)�G����L$��X
��/��x
�|LmMR�`vO;�H�&��2�%'3�`�@�}
g�d�g#%f�SӔ�a�
�{��L#-����R3�w��D�8.ޅɋ��ŭm����b(q=�=Ƕ��Ú^�4��;�o��z�83�(Y��2s*��F�U��q
��gW�sIDnray��L�L�oP���9�aPmڌ��&�y[}

�nB\ ͈L�(�2Q2�لa�6l�ya��Jun�">����,O��0aH&�έbw�09�
̮ߚ#._7�#�
~�nV?�| c+��`�UP��%z�����H�"�� =)	����4�H�0S�����l�b�B9���$�|�rЌrP�[%yF9",�
}�	����
0p;�4&�����&��<>�b7��ۙ�v���
-ҙ��L�LQ  5n�9���
�{f�">���y�5a���)	�m@���4a�m�>lf�)lDXWtiF��!J
�O��ڷ�`��a}����.͈��Z˔�4p�a��l_�Q|$�d�4n6�ۃ �Ws�VjF���������.�����=�
Fܑ����s9E��m���8��=쎲$��t��fx�%�;��ΡE���w�m
�s;�fS��?q<#i�[�[w�
�yv�{�F�=߼����O���P�zw4�Ԟ21�
�L�a	����L��F����21p;+a.��kB&<>�b�1c�]q���
9�Q�L�"*.�
Q�G���
-

J`�rf�">���9Z��; �eP
-�m��(R��6J6�a%�
�NwH�
-�4c��wH>���8���hv�!4ˤ"���
v��V��������K*+Qз�c����}	e��@�Vo���ʪ�TIa�”"QI焔!�I8Fj�D�
�ݗ*�L�G��z���-ģ��o�5�j9
l
�,��4����{ht���	̄������<3���DX^wzS���t��vNw0����i�	�������N	�
7���?�d(�d�(��<6Pj���T
7O���v�yB
1/!L!�qn^҇%�%vƼ�P��"O���m��3�ܼd����,o�i�T���Dî�[�iNm�s,x��
�e����U�}��@I2x�
�X��zS���8��v�Ӱ
����y|�������'9��ԗ�s@�P�
(�i祪�iI�S���#�� �練z��C%-�N��
a�lv��Q"�|�/���=4R�
V�a���oî�A
~��S��|�񣹐G�C���9���KoS]�m����$�y�GS
�\	��+$?n*�ч_�������J�&������b:�d@<°a"ݷ�/§��G���u�	���zY�ص�y׶�/�?���G��U����s��������^G�$�A
q�A�� �����:������Mw�
�m\�D��+a�endstream
-endobj
-1863 0 obj <<
-/Type /Page
-/Contents 1864 0 R
-/Resources 1862 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1861 0 R
-/Annots [ 1866 0 R 1869 0 R 1870 0 R 1871 0 R 1873 0 R 1874 0 R 1875 0 R 1876 0 R 1878 0 R 1879 0 R 1880 0 R 1881 0 R 1883 0 R 1884 0 R 1885 0 R 1887 0 R 1888 0 R 1889 0 R 1890 0 R 1891 0 R 1892 0 R 1893 0 R 1895 0 R 1896 0 R 1897 0 R 1899 0 R 1900 0 R 1901 0 R 1902 0 R ]
->> endobj
-1866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.0352 569.6006 476.8057 580.5046]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.2968 467.2788 372.9946 478.1827]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_7e3f8c5b2e614c5d18783c2ef7b092e1) >>
->> endobj
-1870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 467.2788 513.9963 478.1827]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 455.3236 214.5285 466.2275]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.0592 419.3399 407.8584 430.2438]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_98e7f050a579e9deeb71a75758238928) >>
->> endobj
-1874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.6276 419.3399 513.9963 430.2438]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 407.3847 226.1548 418.2887]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.1359 407.3847 470.2668 418.2887]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.4773 371.4011 375.814 382.305]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_79d1cb9751d21f7b364c4c41c4715737) >>
->> endobj
-1879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 371.4011 513.9963 382.305]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 359.4459 180.7756 370.3498]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.1117 359.4459 392.2304 370.3498]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.0927 323.4622 346.8279 334.3661]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_a82f0fc73b5f98fab74070ee92a100cf) >>
->> endobj
-1884 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.6305 323.4622 513.9963 334.3661]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1885 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.9328 311.507 336.0514 322.411]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.5698 275.5233 363.7094 286.4273]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_acb1e10c50be6e9dd36e3aed93c7a222) >>
->> endobj
-1888 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.9891 275.5233 513.9963 286.4273]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1889 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 263.5682 214.5285 274.4721]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1890 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.0505 192.5677 380.855 203.4717]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_1785059acd1bf60dcf4cda0044cc94b5) >>
->> endobj
-1891 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6154 192.5677 513.9963 203.4717]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1892 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 180.6126 226.1548 191.5165]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1893 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [237.1733 180.6126 336.5797 191.5165]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1895 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.551 146.1824 384.7403 157.0863]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_64b1a8e66388915a57bfd0b53a2e46c5) >>
->> endobj
-1896 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 146.1824 513.9963 157.0863]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1897 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 134.2272 214.5285 145.1311]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1899 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.7241 98.2435 385.5672 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_35180fb6d38a29d74f5992815fbdf006) >>
->> endobj
-1900 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 98.2435 513.9963 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 214.5285 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1865 0 obj <<
-/D [1863 0 R /XYZ 90 757.9346 null]
->> endobj
-408 0 obj <<
-/D [1863 0 R /XYZ 90 622.8199 null]
->> endobj
-126 0 obj <<
-/D [1863 0 R /XYZ 90 615.5392 null]
->> endobj
-1867 0 obj <<
-/D [1863 0 R /XYZ 90 533.9124 null]
->> endobj
-1868 0 obj <<
-/D [1863 0 R /XYZ 90 482.4266 null]
->> endobj
-1872 0 obj <<
-/D [1863 0 R /XYZ 90 436.2212 null]
->> endobj
-1877 0 obj <<
-/D [1863 0 R /XYZ 90 388.2823 null]
->> endobj
-1882 0 obj <<
-/D [1863 0 R /XYZ 90 340.3435 null]
->> endobj
-1886 0 obj <<
-/D [1863 0 R /XYZ 90 292.4046 null]
->> endobj
-1894 0 obj <<
-/D [1863 0 R /XYZ 90 163.0636 null]
->> endobj
-1898 0 obj <<
-/D [1863 0 R /XYZ 90 115.1248 null]
->> endobj
-1862 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F25 148 0 R /F74 214 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1906 0 obj <<
-/Length 2759      
-/Filter /FlateDecode
->>
-stream
-xڽZY���~�_��K�*q4'fFyr$+�
'���<H�-,	��! �����9�����J�UK ��F_#���Yh��B"�x��
���n�����kx�n������D,4�	M�;�!!HPB�ۏK��Z�	�xy<�o~ZQ�,󢩳�_�^>d������?�g�jEԲ,n��n��/�Z4Y�K7�����2K��!�ѥ����_}w
u��$XB�ƿ^}��[���0bZ��\`D�����,\�~��g��
��,�4A,~q�x}��0�p���
���
I‰��Ē/�8��ĄcDN���]��VL.�C�5V ���k�#ɨY�<o
I�3���8GR����}ڸ_����Ѻ��<�y�
�"+"�_��T��ۼ��Tl���%���$�����xQK�!�R���sD�`_���E�
-�
-aB$J(U�Hf��R1����f8�����aM�b����I,��I5��;O�-?����5
-ج�[��he��T��
r3m��&����o��
��d������є)���=S}�d*�%!�sm�g5��
�ڔE�\��ڨ�XS
�8�᪅pH9n΁!
�B�R�'���1R��d����ZE2��㫁Tf�W��^�c���?��
;>�T\($�Ӧ�T3�r�帧�D
��h��՜M1h�(��h�!kNU��^��ϱ��&���+0k��xyg�/�Q�<��w�ErK՘+�ƾ��sܔ����Xۼ��#e��-8���Ǒ��W���&PA�P���x��c��x��՚s�t�[����f�;�y6.g� 5erVi+i
oBbCZL�DP�d�|U(�x��^	HӀ�����}��.k�|�m]-~�՛*?6yY8[v"
�<�3�`�\��O���q�!�cg�9p��w"�K0	i��\��n{�^��|؍Œ���п)��;Я�/�`���
��F�0#!4��==�0�f�r3�!�mC���B��n����<+�����}��ib�w���rs2
db�

��>ƕ�O��	�{���[����zAmao����uP�]I_(�w��}�^�f�Hz�r���
-�	^��8m-����AE�ׄ�[
��|˜�h#��+ߎh‘V�E
� YmKB�� �+�G�M� 4�H��a���o�_���$�٫�_" a�I
�����cM�~���
F�է��� (�W���ݘ��jdz��A;�
-��
�`:�
&JBG����V�u�j�J��ŀ�J�����/��͠�`j82-6R
�v��%�PY�܌�リj�,�	ػ<�ݏ��!��q��:�C�8���\e�Ά�!MC�D[nc�97�K��vޯ�M�k��İ�G6l�a�P� �!��~N��W �)�c��	�W/����5 �js���-��6ۤ�:s�S����E�nO�V��^
��h�=��l�w5�]�b�BN �r�|�M�\���"��r�jĄǝ��,�f�����'�sUy<�
��n�`�畻�p���> 3���j�m�����k
.��>��*٥D@��I˴���9�"�HY^��eοW�0
#�S�^��)����+0����(��sN���1o�8���
��tVP눜�C�ع�ذAu�����v ������5h�S����\�fe�6�
-ދ@�;�#@�I�����
u��
!6-5AD�mB;��d���>��" =_
�t�o�2��
r]@��XVYiZ6�=R�TY�"�b�1�FT�P�k���XI�� �(G1z1!C
r��o�B2���^��?�������
-O��������|q��A����O?��$��kʇ��w�Vf�똮
�
=�9�ć�&Hc�9���Ӎvnj�>�0��Ű���r��^��wYap64���<�ݕ^�����*
C�
z�
)l6�m���M` ��>�]\/bx�
-6-1R�Ʌ��1
�
�oo:�C��1Fc��Ύ �e��Ɖo	�_������5:~t������X��f2ܝ�F�z~�6%�4��<�]���Y�\	��Y��p4����A	8�(���o�v>��wPx�&���bX*��=������/�o��qEp�dP�8��3k7}��"���9h�M�
-D��S�i��T`F�?�
=Hӄ��N�
-x�9��/ؖ�ێܭ���T��䒹���JI5m�H5�-�
-��{i�d@� ��i�H?�A���6��l����{MK{5p<d��0j�����!T�Z��F�
� ��Hd��'�܄��,���f��Ē;�مta�ǀ�_��#��{�D^�-�9kO���ih�]�ږn�C���}wR�ʵ�XG4�b��{�5�����u;��ئS�iB|�xs�?=u5
%d_�<��N��܀�m���JaT�N૧��?��|��߆�JD)���T3��4�$�=���)�4�϶O��U����'�
ZaDڞ�;hu����T!�`aGv*~!�<պM6�^H& ?#��d�%1
]
3��
���Gf�VX�o� �4�|�Ad��D*���&�䣇������	��v�ӹ�}	�k�
�FT���J��	P�sM,
�!�H����)2Q0w׷0"K��Y_P�30�dOk�C����o�m�V~]���K��Sz��ǰ�(��:���b���cZ�B53@�7"u��ᓰ�E�&F?gC���Hǐ����-�/�[o�qC��2�kls�4�7�_?<<�M�NE~�P޼y=8��0�2pބ�בh�K�C�@ ��U���
�[^�̓�o
"M6����Dendstream
-endobj
-1905 0 obj <<
-/Type /Page
-/Contents 1906 0 R
-/Resources 1904 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1861 0 R
-/Annots [ 1909 0 R 1910 0 R 1911 0 R 1912 0 R 1914 0 R 1919 0 R 1920 0 R 1921 0 R 1922 0 R 1923 0 R 1924 0 R 1925 0 R ]
->> endobj
-1909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.0792 697.2712 377.8263 708.1751]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag_be46bba93c5ddcf4cf4cafdb0d74f942) >>
->> endobj
-1910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6154 697.2712 513.9963 708.1751]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 685.316 226.1548 696.22]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.6156 685.316 459.7464 696.22]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.0352 594.4353 476.8057 605.3393]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.3951 159.3294 363.884 170.2333]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_26a124537b8995832b2cb157abc7cf07) >>
->> endobj
-1920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.9891 159.3294 513.9963 170.2333]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 147.3742 180.7756 158.2781]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.1363 111.0584 317.2241 121.9624]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_0bf696420bbdc5c2ef0993f61f2273b7) >>
->> endobj
-1923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.0703 111.0584 513.9963 121.9624]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 99.1033 129.8568 110.0072]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1907 0 obj <<
-/D [1905 0 R /XYZ 90 757.9346 null]
->> endobj
-1908 0 obj <<
-/D [1905 0 R /XYZ 90 714.2355 null]
->> endobj
-1913 0 obj <<
-/D [1905 0 R /XYZ 90 639.5619 null]
->> endobj
-1915 0 obj <<
-/D [1905 0 R /XYZ 90 580.9842 null]
->> endobj
-1903 0 obj <<
-/D [1905 0 R /XYZ 90 558.6724 null]
->> endobj
-1916 0 obj <<
-/D [1905 0 R /XYZ 90 558.6724 null]
->> endobj
-407 0 obj <<
-/D [1905 0 R /XYZ 90 315.269 null]
->> endobj
-130 0 obj <<
-/D [1905 0 R /XYZ 90 308.2456 null]
->> endobj
-1917 0 obj <<
-/D [1905 0 R /XYZ 90 226.5441 null]
->> endobj
-1918 0 obj <<
-/D [1905 0 R /XYZ 90 175.0135 null]
->> endobj
-1904 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F91 464 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1929 0 obj <<
-/Length 3172      
-/Filter /FlateDecode
->>
-stream
-x��[ے��}߯�[�*q4w�8O��);��țʃ�RaI,6	� ����Ӄ�pp!��Z����p������= ��?��x��i��bs���
���
q��p}
���y��
���rq{�J�	J��v��2AD��c�<
�����xY�ESg�;X�|�*s�Kwj��m�Q˲xפ�՚
-���h��>�d��mv����0�ь.�\�|����n�����X��͏?��n����Vb����p�)���n�
��
��<�4AL
-
�8R�>�"
I�|
A�:Y���J���$�B
�!�Fq $A�R�0��(}����z=jN/�k�U
�
hM0�"a=��R�s���~���?�k
hS/�]��"J9�n�j��<dM�o�����RS,ߛ� {��ksk�5�HH	��6�ϲ��O��L	�t��{ݣ�1l�!�Ik��
�U)�{j/�������z�oʢn�q� A�T�&K�kƣf
d	C�&=
?�hU�l���'����^�!�Z�-�Xvsk�}��B.�RP�l��G�c�H|5�OCv���	����8YȄ#�~!$L �(��XFkDP�U��Vq�����X�6kNUQ[�H�cY�M��1�:[q����'�=���
-^B ̽�%�N�Ms��mYH�,Sx�X
QY�Z6-�w���
��
'�iD�@,���j�V+�,c�`��l
��1�3S���(J���%t�v�Τ e���Y���Y,p��f�::먽@gK��:Ig-~N�@�G�Y��)�_Cc��Pjȵ4&�6�Ggh,�M�X���XW�<����K�il�Ag�60�X��	��?g��?����M�|��Ψ)s�+8
J
O${�E2�8����8,w�\ಶ�؏My�T �1���
S$H�?9����,@�
��,��'�lF�����1*�)�EO�����s�r�Ae�v�n�׿��Ͱ��p,մ�j�L���g��8�\���n
-��C�sn��5�U��{��&%�f
��=��Œ�Q�6F�8�,�5�~5���U�t^�.�Sޗ���^�@
�=텀�1��!�Zג�$�ɑ�E�R,c�e�X��v[��=��(^�cʑ*
�a�[I�lst�P:>�WnO�(��o��ru�!�?��"8��ܠ`��=8Uݧ���
�
���p��i���?� ��
�;N�w�7�1姀��ӗ�Nt&��u~������܏,���
Vr��ly�`c�]�D(~�v��C��(NzZ/:��g��>{4˛�J��:��<�L(&
P3�r�Hy�Q��x�
�%�uU��Y0�;�1�T�*��D����>�R"N�
-�b�h
�Fb
Ӱ�<�-e�4�b��T�A-�1E�
f���Zq�,��G�g���0Bt
��$�RF����
-
��$�Vf���K��F4�T�h��8H�1��61�U�i
κ�wE^����kö�����I
k�I!3��4
-��͌��}�ߗ�ƚ�ARA�
��k��r�5E��O?r\i>Mw6�A�':�����
� ���/�t
?� �c;�z�BH��鴣j�P�Bt�3�B\�s
1�(�ӷ\Bp��� "�X� �"Y�X�f��s�p�i��d��0"��I/д��)�=���?aL�z����I
��tU�ϘЗ�u�o
�FJ
-�O�����B=	’��P�6�L1܆�>,�������$8g'A_�I�2&:� �w02Ou0tSXG���{�=��u�ye	�`X{I�9��>�3�|70�0hD��
�DaL
�������̼�a�?m�ve��ED|�V�sٛB�0!s��a��
	�b�i���c���-�q#��u��
~N�@�3��������*۞6ِ�5��ZM{*�f,��݉�$}_穈�'���	�
�G��s�
�.n���>�Ŕi��V/*����b`Ƭ��mnH3�G*c��"s�|R������T�M�js������>@l�������hڷ<�c3�ʝm�0|0i�����v������}�t<�����Tl�ɼӃ���DR�S�{��͗�{ni����=`3��S����k��0�_�q
�}�!��o�"��'�*k�|ߎ��
՛*?6�}I������ �v�ݮ^>
3���pB��A��Ų����nvǕ�]��%�p�~4����
���

���@sf[
�ܘ���������Õ&-�<m7�+Oڤ��hΥ��� i�Y��.f �f�|h�ytb��`�l���;%��l
�**J�P�D�r�4�w�X�y��
��R�� ��,�!���4�,lN�e��B�
�����=�*�ֶa ;��sgI��Y��1�+�1�ܖ{��F]Vٱ�j�ժ&���y��F�}w�^ؔ�Yw�[���F�q�bO��� sS��9�ב�Cj��{[w�/"���G��.�_��,�"��m�d��}���Z��۲I+��vW�JM���t�Cs���p�1s嘑�=�l��xƗE8ܖ���j�\k48dQ���مC9^Beμ[��
ǽ%I99' \M�u�p�}Sع���z�&���WWn���?��X.�q��i�8��ʼ��Z��V���
5m�%�֚���oK|Hy��WB�G~Η|}
 ��t
>��Wб�tFD��\Щ+�_WyV�G��{K�f{*8�ڹ���N��:o��0��h�>��u�{�$�
��fd� [...]
Kǫ
-)!�yW`ӝ��yy4C��F”�و���O}��#*&>���V<
!E��y�����y��a�шQӽۺc���[A��Q��<4}��
�
q.TgW
��Ýoj���
��{�	h6{��
���\�qV�l�$f�^+6�K�YG�a{�̖)K@!F�	�U�l��=��W2�4�Z���!���YF�7��3ˊ���?m�٭��f�+�i�&���ُ�ߥ�
��T��ߔ%�i�
!Ɵ6a��H!_��OR����8'�ƫr
�7"�sm��>��o
]�c��華r�I|�Υ�����N���_<��Ϊ��L
d��O���)G��*�>�-a�����h�8"�<#�
i�����M��
��61��+��7Ms������G����
-��k����7��� x^���N�8���)�eި����J�f~�1b�� j�|endstream
-endobj
-1928 0 obj <<
-/Type /Page
-/Contents 1929 0 R
-/Resources 1927 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1861 0 R
-/Annots [ 1932 0 R 1933 0 R 1934 0 R 1935 0 R 1936 0 R 1938 0 R 1939 0 R 1940 0 R 1941 0 R 1942 0 R 1944 0 R 1945 0 R 1946 0 R 1947 0 R 1949 0 R 1950 0 R 1951 0 R 1952 0 R 1953 0 R 1954 0 R 1956 0 R 1957 0 R 1958 0 R 1959 0 R 1960 0 R 1961 0 R 1963 0 R 1964 0 R 1965 0 R 1969 0 R ]
->> endobj
-1932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.661 708.9533 513.9963 719.8573]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_eb8456ecf06307c108046a8c665154c9) >>
->> endobj
-1933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 696.9982 173.0247 707.9021]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_eb8456ecf06307c108046a8c665154c9) >>
->> endobj
-1934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.8977 696.9982 369.2757 707.9021]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1935 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6154 696.9982 513.9963 707.9021]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 685.043 192.4019 695.9469]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.9104 648.1812 513.9963 659.0852]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_024a52502b35029ff2ba102323d8ae5b) >>
->> endobj
-1939 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 636.2261 173.0247 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_024a52502b35029ff2ba102323d8ae5b) >>
->> endobj
-1940 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.8977 636.2261 369.2757 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.6154 636.2261 513.9963 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 624.2709 192.4019 635.1748]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g82657533544652eb3ec1334a72da137e) >>
->> endobj
-1944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.8883 587.4091 373.4031 598.3131]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_91f0ccf4325f53430d7347ca73182f52) >>
->> endobj
-1945 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 587.4091 513.9963 598.3131]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1946 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 575.454 180.7756 586.3579]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1947 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.1117 575.454 294.5182 586.3579]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1949 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.9505 538.5922 375.3408 549.4961]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_ae5f47efa7c023e45aed9be161dce99f) >>
->> endobj
-1950 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 538.5922 513.9963 549.4961]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1951 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 526.637 180.7756 537.541]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.2107 526.637 428.3416 537.541]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [453.8824 526.637 513.9963 537.541]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1954 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 514.6819 267.4096 525.5858]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__iterator__tag) >>
->> endobj
-1956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.0129 477.8201 377.2785 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_1b2ee4d834f0651a41647ac5b5e0f912) >>
->> endobj
-1957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 477.8201 513.9963 488.724]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1958 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 465.8649 180.7756 476.7689]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.9802 465.8649 431.1111 476.7689]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 465.8649 513.9963 476.7689]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1961 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 453.9098 304.5 464.8137]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6d1de7e82c3d57a0a6229187078537d7) >>
->> endobj
-1963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.7053 417.048 380.586 427.9519]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag_b595ea1166752d23aba600af43417bd8) >>
->> endobj
-1964 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [401.0012 417.048 513.9963 427.9519]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 405.0928 180.7756 415.9968]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Pointset__Powerset__C__Polyhedron__tag) >>
->> endobj
-1969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1930 0 obj <<
-/D [1928 0 R /XYZ 90 757.9346 null]
->> endobj
-1931 0 obj <<
-/D [1928 0 R /XYZ 90 726.0541 null]
->> endobj
-1937 0 obj <<
-/D [1928 0 R /XYZ 90 665.282 null]
->> endobj
-1943 0 obj <<
-/D [1928 0 R /XYZ 90 604.5099 null]
->> endobj
-1948 0 obj <<
-/D [1928 0 R /XYZ 90 555.693 null]
->> endobj
-1955 0 obj <<
-/D [1928 0 R /XYZ 90 494.9209 null]
->> endobj
-1962 0 obj <<
-/D [1928 0 R /XYZ 90 434.1488 null]
->> endobj
-1966 0 obj <<
-/D [1928 0 R /XYZ 90 358.8064 null]
->> endobj
-1967 0 obj <<
-/D [1928 0 R /XYZ 90 205.0812 null]
->> endobj
-1926 0 obj <<
-/D [1928 0 R /XYZ 90 182.7694 null]
->> endobj
-1968 0 obj <<
-/D [1928 0 R /XYZ 90 182.7694 null]
->> endobj
-1927 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F91 464 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1972 0 obj <<
-/Length 3113      
-/Filter /FlateDecode
->>
-stream
-x��[Ks#���W�����
�}�Uqʎ���*'�KťF+|($eY��i<����r��!�*q8��h�� d��L<QB��q9Y�/��
n�����3x>K�^_��N�I�I����J�	J������B�������qu��%����塽�]=�nn���x��������}}�޵�n�-™�
-u�����6y���X�_~œ[0��
�X����`0�����,|Y]���{��
��Z.�4]�^�)CX
-f�~��[r�]<���a~Xn7���v�.˽�Z��_<�.x�����v�����K�m�AD��V�K*��ˍ�����:�4�(�nN�s
-6�`�8��(�4�����`��5FTM/��Rv�^�t��n��3ll�2��3�<c
�>o�Z�
c���xC\@\j<}yl}��7�+�6
�Al� Zϗ����}^���}��, �8��vIĴ5�~w�}��(��c*��������1Ծ��U��
�v{hC�ؔ��9�����?\����
�H?�T����B"�H�
%�	�#��F�t"b��� Q�
5�0����a��������ƌr�3CG^e�j8L�F�M�N�������0QHR���NOJ
>U�P5�T"
��Q
cs��cp�=�����cޥ��� �`���������
l�Do��0�on��y��c�	�������5Hp�3�
��^N��c
��5�=��9�K]�!�RIt��5�����8WM���e�
dkM�Hvv>|5��
 ֌�R�W�4�<��ff��C�a���H4 =@��<C�C��B�b,?�j��r�.�b at af��~'�]?
^r�Ԍh [...]
�x��tպ���}.
c?�t~
F25m���9�R$�1�HDX#<]Θ���⠿�wi�5#�B4J�=j�^�3�cf+�\��M��n�6����d��9��.�ݺ�_��$;�x^��I��|�4
:��g������&����؀����	0�
q|8�˹�x�,3s0<
�bt2�V
�_�,pa�e��J ��
-SGX��S�����L�Q�ej�(���j-0�����֙:�3�i��y'�*�1�Œ*��,MK����'���#k�0�r�
5��K֐M����d�Kd-
9�S_��Pn�����#Q��KK��D]r&�rC��@2D at z~��,�e^SD�Q�5�H͜�j���Ps*�@�֡f�m�卥f�6��p�Wype��s�u�}|qW�,��d��I��,=�t^4��q�#]��ᱫ��a��H�����*�E�U�Me���/��w)t
ן�v�L�}yb"P�P�k�`ubJ����7S�6KL
q
���Z &����}
1�</�z֏+���t�N*�f�iV�XDU,�0��J�nOeȊC`0��X�E|͂��Qdj+]�B@
m�U��м�O����T'=
>K���.Q�|E)C��A=WP�
¨����Я
�1\d*���s�*�Q`��?S�י�I
G�9T�)S3�x8��vFX��R�����㹣6KU
50��i-P����䎠*��=+o޿��zX�$"�.����L�^��j(!#J��O�W��厢%�~A������
]Z����j�^���P��Ա�*{j(�5� �2􅡒T�\L���k�5Ka#���"GiƌžLQ�
l΢�DF���CQҭs‡���
�|%3��p/Y��#	��w��^�uQ��ݴ3bM?��8��8$��>���6eLv�Ge�>
-V�&D3fZ�
o!�
�����2��/a2Jf��Nzt�Y5
����	R7�Zl=*��IC�8�ѦAJ&S�<�EX��R�Z�����Q��5e��i-К����im�.Lܿ,V�viM���"�b)S"
-f��
�Q�b�
6�W_��/w�A���x!��6t)h�`=��'R\�"���
-�R���ju�Q
A�E��T��j�Qe�����.�Q`�KY�qi(�qud5s��}����$����0;��]�
�'��̵a7�p�1�����n6�$�f�v3���V`7sm٭c�HsL�J2��a�Q/��Q�c9��x�ۨ-�����a$)�Ը��F�.Fd��X��R�Yn��l)�*-P��״������wOf��IF3+�� ��g
-&����J�d�J������}���
b�R��KN���
��M����3_{��Աd+{j(wT�F�u�*�l�Q63%���%*Om5Ka9n�H5��Cn�$�:oU1�Q"� �l��3`8)٘�z�2��dca�#ǒ��
�����}�%4b6�(Z$4
-c��N��c�v4?�k,�/=Z����fj5a^]�Vj���?`�h�j�
�Ve�T`��*z=�u�f�̌RIzZ
t��5�����*�&j��eOET�RS'I=��l�&�:�뫈�ZЗ;�R�0c��Y�BD
m�Uj��yb}/�W��tT���~H
Y���3�(���B��RX��"l���P}�d*��g�)ֈ%���X#��̽A���b�Vj�ӆ��J�8R3�*�3+�^֪4�]�4�c���K;s+iؿI;G�H��P���4�Y�4���?`�'����Z"�Dke���R�'�&�IOkqo�����
4��<^�5�
Jb�"��Q㘀��d��)�M ��
랈�ZЗ;��5�x!�*6pLF��n�����H/
믊��{ۡ9��Em�a�:��0`���nQ&)l�bg�T"�DRf�r'�����~_Fr�-�?��&�L^��,b+�s����
�'M�ʠ���)�`�Ɉ
-�
���F�sB�
-
+_��g C�@��g��u�Du|S��,�0�O��4D?��b�+�����0���w��K��?�7�O��6=��9*��}��ӥS@?�7O�U8+�;
�����$l�rӅ�m;�Q,)`��6XG�����������f�/��B�xe ����px��͛��g�أ���q���7�N�
K�^:u�T
4���C�p��4VbJ<�ކ���
�\��˃�5'�3��"l.#endstream
-endobj
-1971 0 obj <<
-/Type /Page
-/Contents 1972 0 R
-/Resources 1970 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1861 0 R
-/Annots [ 1976 0 R 1977 0 R 1978 0 R 1979 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 2005 0 R 2006 0 R 2007 0 R 2008 0 R 2009 0 R ]
->> endobj
-1976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.8012 531.7254 336.3526 542.6293]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_da9021952b7c7ad4ca6fc4ff082ec9fe) >>
->> endobj
-1977 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.8638 531.7254 415.258 542.6293]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.4776 531.7254 513.9963 542.6293]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1979 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 519.7702 144.2428 530.6741]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-1981 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.2227 471.9495 332.716 482.8535]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bedffb6a2f5b2473d2d2ac9d448c65d9) >>
->> endobj
-1982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.6485 471.9495 419.0428 482.8535]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1983 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 471.9495 513.9963 482.8535]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 459.9944 180.7756 470.8983]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.4133 412.1737 401.2646 423.0776]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_418a9f96c3df4cf69bc399cd807eddeb) >>
->> endobj
-1986 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.3878 412.1737 483.7821 423.0776]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 400.2185 224.5012 411.1225]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-1988 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.9236 354.3904 346.6877 365.2943]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d6512d0d60c017982bd8031e9b8df336) >>
->> endobj
-1989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.3213 354.3904 428.7156 365.2943]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 354.3904 513.9963 365.2943]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 342.4352 210.6727 353.3391]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-1992 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [146.8688 296.6071 359.8781 307.511]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b27e9641bc6946aef6e3254d28c6fab4) >>
->> endobj
-1993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.4569 296.6071 445.8511 307.511]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 296.6071 513.9963 307.511]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 284.6519 210.6727 295.5558]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-1996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.3647 238.8238 351.7543 249.7277]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_703c5d92387510c5cbf8b0f1da3029b2) >>
->> endobj
-1997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.8289 238.8238 432.2232 249.7277]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-1998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 238.8238 513.9963 249.7277]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-1999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 226.8686 217.2981 237.7725]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.3099 181.0404 364.9447 191.9444]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9d9b8361c659cadd31afb61152ccf06b) >>
->> endobj
-2001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.9645 181.0404 449.3587 191.9444]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 181.0404 513.9963 191.9444]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2003 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 169.0853 217.2981 179.9892]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.1618 123.2571 341.2128 134.1611]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bd393bd3febd678f09a51a0364756787) >>
->> endobj
-2006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.0845 123.2571 427.4788 134.1611]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2007 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 123.2571 513.9963 134.1611]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 111.302 180.7756 122.2059]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2009 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1973 0 obj <<
-/D [1971 0 R /XYZ 90 757.9346 null]
->> endobj
-409 0 obj <<
-/D [1971 0 R /XYZ 90 688.3202 null]
->> endobj
-134 0 obj <<
-/D [1971 0 R /XYZ 90 681.72 null]
->> endobj
-1974 0 obj <<
-/D [1971 0 R /XYZ 90 599.8956 null]
->> endobj
-1975 0 obj <<
-/D [1971 0 R /XYZ 90 546.8038 null]
->> endobj
-1980 0 obj <<
-/D [1971 0 R /XYZ 90 489.0503 null]
->> endobj
-2004 0 obj <<
-/D [1971 0 R /XYZ 90 140.3579 null]
->> endobj
-1970 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2017 0 obj <<
-/Length 3732      
-/Filter /FlateDecode
->>
-stream
-x��\Yo$�~ׯ��� ���<e7�a'q
�����QKjx.O��(�>E���kȖf��`��>���.��U�I��df�L	�
�r��^��=\���4�p����z�)fI����I�	J����ǹB�\/�x~8l��_S<�o^
���5���nY��T��7��8ޭօ?���+
�عK�31����o��|mjLLk�/W?��g�`��W1���N0�a�l{�)
'���W��r�
��؛sƐb���#-��?PrƝg@/1�A����{�`��bta֏���>>������Y�n������m�]��ﮩ�����>�8��ēNLW�/���E
���m?QHR��,k��)�� ��J+
��R*6�����Ur���G:*��}���<�3��R�v��w�m��k�����
��eu����-�ݪr�"
�45J$�Ai��43��-�
(U^D҉�������K-�9�7���0��=������}{̬ʞ�
M8H�&>|50� ��
-��2�{V9xY
-��%��~�7���P
��6Hq�f�z|hԢ
�ކ"� <F���+`�v��~�^E�ƹd�̤Hi���!ɵ>:	�j
-�l�p�*>�`��~$bD%�'U�������FM*!j�_���#60�k�;����UG�U,t�[�X�NJ4 �A�󱬋�5pwS��z�˺��_5_݂�L͋�3�A�D���AD"Œh0�z�0�s7&�"7�A��
�G��ݠ�*x�β�eo�Ћ9ER0fi��6^p�,���?�o�O�.V?4)�S�t��O����h�pЖp��l�ѧ��Q��� ��\V �C���=��?���ɦ&x^c��� $J�~�@���� "B~��#,��m�	���mX��v���3s�S��i�i�K�B��kC��D��Q��H��f#jH��RS
�9�}���c�t�54�K�L#B ��\�F��4B�~�����r���6M���
�vѣ�3�JV��a;��k��Z�a#
^q��,g�C���"8��"�n�HQt��)�Q�H��:�fTº�Y?X^�Gex̃��Ë��%6h:B��f�&1��&P)0�:�vTe"k��;[pY���� [...]
����~?����r��b0
-��TPT&�QK(XB$�=K
��g��'N��K-�%
ז�`��?����A���\�p�%�9���k�f9�
�<õ�.�70\[�(�a$ u�*M�����N�7?�#�_����1���"����$F���\4^�1d�S��Y
�r��c1+酈�Ы�
P��;��rl��N�X�QC��(��j�Ӱ���" 2P��pZ at -ڰN#P3���Y3�U��0F���X�%#�Z�a-%
'�O���g05�F��N�z��ӆR����� v�v���wmu��mc����0�����?�]pik��ʎ�vz�Hm�PGmmO���.�m�դ��U��dfoA.�]L�6��6�4�_�ڸ�^����R[[`��2zj�=S�q�IOk�xs�����
�
���l/�M1��$1;���������!$��Fc$��͗�ToE|΂��I$'(⊤�@C
�D���o���Ǽ�n�_�^H���5�f?�J#I��ڰ�E�f�B���fk�H0[�u>
-B��?����@(�0��M��0d�ݽ��?R�A�ǭ;v���m\�T�������V��z��=�w�ֱ�On��[
���#�'�?/�
k�[�ayrk	L�[Zo ���1rcֳ��'����ȝX���:���F�✤�Q#���$fz�3Z�)�u�h�覈�ZЗ;�t�H��5酈���5N����
�n=u��ҞʝT���p�~5�pW&f
�5g.�m��i���A�M`8�-O���-#�p֩ݘ���U��0��F��x{A�E��.r�]����
-���Śd�Mc�;U�UwK/�X�Y]��cfX�i�!���-?#i�{��_���Ő��-²��� ��ކ�:jG�6��]\�՚��|N�@�몶
�)�
:A�W����LT�k�Ѫ�#���ꭈ�ZЗ;�j�X��L{!��6��6
-�N�.[�9�Q�nK�i ub�6���L��9R;�R�֠�PUH��>�)�%#Ei�)�q����68�E�Ø7�E\�%
Ģ
�]��^�ߚq���y
�MFy�`��`;�E,��v_���l���w�^���16��5��>�[�e��-0Al�
�uԞY�ȴ�=��E���?�b���y˪Gy	D褃"*c �~��ݞ�#l��<��/u��(E	��ʘ��D@�k�mU�/�&��T�e,���+!��f�,hl�ήg
��:��DE�����%DՖ� ��v�=YUgٸ_��V����{���m
����c�YÐ'��r
-ަ͖�J�=U}PVa���A@%��褜�
���B�՚)
�za�[��+[<�D�6qs��P�>����m
q��q(�+' 8�ەY6Qh��Uy��^٤ `�MF��f�n���
n������Tl��׊�}
L�2�=���E_��զ��g�/X
O'+������zA@�ͭ�<xA�L��d7����E܍
���f^�ծ.��L���ۢ>�Kf֬����Sիc�Z�ގ���&���y��H+��J��En_�[
���26t��������Sp �\t���4o����]��Y������
Uע8���1�I��?-?>��r{�e�� �[�̋z�lE�
I��æX
!�b��Xc5k��x���LŠ/��U옠d��K���Ӫܬ>m������GQ_�t"�͹�$�䄨��@u�ԩ���vp�X��flP7���O.vJT��_+v��[��.�c�����&8�xeg���,��o���1n���D�~�b}̑�o��`��}�f�ү���vK�=%ٞ�+�r[4��@����໧r��(WS���w���e�~]B���h�{���~_X��n?&L!�En
-�
Kd�����zc����d�
��V�3�S�^4n7�g�����^��s��g�Q�R������<
-�ʼn����}��}�9��/D�І�r:��5�)=/�q�AH�'z�T
�=5���o2�����\E��6�l9A�7˻��o�X�e$ʁ�|��~�W��l��E��	�\�gdX�͛Es<,X���A�
���چg����ȼ\6���XX��U�`6��z���UkY���8�!&�9v
��s`���s��߉�]�R���vi����w
�M�tK�9z?�B^�N�q�)���)�QL7�E$D�e�&4��>w�6�l���� �q����k�����h���G�y�WU
gs�&���j��
KOVe���W�M��@��b���4�~
	��
���<
GmHx`�z���啁\�g����w�ѺB���pDe�b�ᔑ�.�ױk0cԀ�tZ�s�li���v,����]�Dv�c�*�K�9��endstream
-endobj
-2016 0 obj <<
-/Type /Page
-/Contents 2017 0 R
-/Resources 2015 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1861 0 R
-/Annots [ 2020 0 R 2021 0 R 2022 0 R 2023 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 2033 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 2042 0 R 2043 0 R 2044 0 R 2045 0 R 2046 0 R 2047 0 R 2048 0 R 2050 0 R 2051 0 R 2052 0 R 2053 0 R 2055 0 R 2056 0 R 2057 0 R 2058 0 R 2059 0 R ]
->> endobj
-2020 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.3563 698.3189 358.2937 709.2228]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_52e2499c42a9be1e527642cbfb16ff8c) >>
->> endobj
-2021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.36 698.3189 444.7542 709.2228]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 698.3189 513.9963 709.2228]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 686.3637 190.7379 697.2676]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.4528 638.9756 354.7181 649.8795]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ebe78c4ede3d49c63765e71cfe93904e) >>
->> endobj
-2026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.8807 638.9756 434.275 649.8795]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 638.9756 513.9963 649.8795]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 627.0204 180.7756 637.9243]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2029 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.8604 579.6323 430.4837 590.5362]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_819d233e9b1442e06c806dea0523a2f9) >>
->> endobj
-2030 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.054 579.6323 513.9963 590.5362]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2031 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 567.6771 129.8568 578.581]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2032 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [155.2615 567.6771 254.668 578.581]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2033 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.5387 522.0652 357.6888 532.9692]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_304dd0846a62cb4a9f79806ea82cee5d) >>
->> endobj
-2034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.9374 522.0652 436.3317 532.9692]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 522.0652 513.9963 532.9692]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 510.1101 210.6727 521.014]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.4839 464.4982 370.8792 475.4021]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f93c7e3e554a92e8d3eeb4cf4261debd) >>
->> endobj
-2038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.073 464.4982 453.4673 475.4021]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2039 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 464.4982 513.9963 475.4021]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 452.543 210.6727 463.447]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9649 406.9312 362.7404 417.8351]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bf1bb44cdbf733e9ca39164f9d8e8179) >>
->> endobj
-2042 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.4151 406.9312 439.8094 417.8351]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 406.9312 513.9963 417.8351]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 394.976 217.2981 405.8799]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.9249 349.3641 375.9457 360.2681]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8948143df881c58c79da34380f847401) >>
->> endobj
-2046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.5806 349.3641 456.9748 360.2681]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 349.3641 513.9963 360.2681]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 337.409 217.2981 348.3129]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.3919 291.7971 363.2148 302.701]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1bd806c292d0576b94d3084b21736061) >>
->> endobj
-2051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.3167 291.7971 442.711 302.701]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 291.7971 513.9963 302.701]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2053 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 279.8419 180.7756 290.7459]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.8377 133.8927 343.717 144.7967]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_879f2f2b0f967fa73cb59ea8d8b1d255) >>
->> endobj
-2056 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2646 133.8927 426.6589 144.7967]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 133.8927 513.9963 144.7967]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 121.9376 180.7756 132.8415]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2018 0 obj <<
-/D [2016 0 R /XYZ 90 757.9346 null]
->> endobj
-2019 0 obj <<
-/D [2016 0 R /XYZ 90 713.2891 null]
->> endobj
-2024 0 obj <<
-/D [2016 0 R /XYZ 90 655.9682 null]
->> endobj
-2049 0 obj <<
-/D [2016 0 R /XYZ 90 308.7897 null]
->> endobj
-2054 0 obj <<
-/D [2016 0 R /XYZ 90 148.8481 null]
->> endobj
-2015 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2067 0 obj <<
-/Length 3662      
-/Filter /FlateDecode
->>
-stream
-x��\]��}�_��@����-�&H�i�E�`�ؚ#��������R"iJ�Hy�[�@1�5��^]����
��i<+D�4�r�����#\���/�������7_J1�HK*g�

� A	��[�</ы%�Ϗ���
����S�>-����u��XR��_����P�����C�`�}s�p&�B/~y���_���lȂIb"���Ͽ��B��#�����
ah:��q�܇��Ow�v�4_��9�
-)*�l�8R�
C�)�,Q���gI� K�HR�f
fr�/JE��%�`]�B�C���K%št�n���+�HN{^ͿN��c���s�vM �c�����?��]��t���}��˦~�_
v�m� b���~�GϱFJ�t�
(1'���^Ka�^����|j�<>A߮�Y��A
rcB�I�C
c��������qۏiE8�o�|��K�NH��Ls}�—!>ѵ
�eiu؟�d�(ܕ��P/U�	�0�Z�^
�����Xk�t{0�'��q2�Z!"���E�
������B'm4A|� hɛ�q���a�a&�ϟ7��y�dT����m�rt
�0x{�~*k�N������]YW�B3�����w��#� JL6�v=��tƨZZ�q=>o��6ܽ
e�x8a���/O�sվ��5r
M��,���8�B����`n����`��ު�֑���
��q>z�!*������
�<���S�_o�,>
N���^�7��e�j{�i��y�_�����wR��-�|�5� �,̱� zbZX
�ƅD���{1s��Z%��R6��d������i�
P�����.��d��q�-:�g���=um7�ҏ�q
-c���A�ؘ���b��~�zbf<<�gu���KI���A� ���RJ�����*K�*�;jb�<<���ծ�.[�d0�SR�1=-i`�4„��[dT�
j�Z��H'W�&q�V7Ң
-!�">��,�����:X(�T�F��+���͐���U�n�־�������AE���C��e����F��@�|8�N�|D��Q��QVz���*�
�"��X
���P��"\ͨȕ�
�aJ�.�+W`0%]i�N�B�����uBɘ�?�{��]S2&S�K�tľd�T�d���Kɘ��o���1�_2b����$�V2
-
E� S+� >ޱ
��z��X����W�� n)���k-oѵ�FB�<��kJ���������5�k*V/��S�E�q�$��Z�Z�j1�7��G[-���j�B:����OQ,
-H�T��<�j"a�H
OQ0 �`#��� f�~c�U|��붇�;��:ק�U���`$�}0�}�.�i�s�!\
/���@�HQd&*1�p��T"���$�N
�>G�f٬�19�0��MG��j[�U�ڥ�le���{P:3���]'�Yeb,h�t
-<<�gu��1���R%��A�0���n�Z�kP&
-e�
��Hh������/8��/��u�Y�3���h�!
-qQ��b<o����ic����$�~<?�|��:�,�u+cp�^;�_Z9#/���)P��j_?�[' �VᗷUy�����B�[hY¤�x�
`�B�
/{�I���U����R�4틃%b'��
֛��^Ƈۖ��̡�2�\?��A{X���~=Eg�Z��M�t�i��3��V#U��X����fW�ϛa1!3��Q��h�3�i�f�q��ɏ�ljF<>����]h "�ҹ�L$
"����H���
u�����s
�zw��~=V�����@��E-�<J�Ʀ.���
-g��!�#��6R
-�`&��C}�hY{ءp7Q2CT�v��y��t��G���
��V����)̆�S�k+:@5�"�Q���2
�b��M%�=��R��[��_yRO9�؋�y�H0��>��R
-�ȁ��J!�0�#d�M�MI�'
w-^��J4q�
�
-��7�[��F��Q�&ݸ'�v-NgliZ�o�Cz�{l
㢐��ܷR5�)��b$���j
�
-����3"T�ǴC��
A�ѶC������
)r`�qA�d�P��[�2�Y�7м�j=�@xx>�5(�ɬ�[�S,$�艹��mF.��|��Ҭ�i�к���Ft.K/N��[z�ݳ��,s�&)�ʺjw�_B$�I�&��fE"9Ea�7�%��R`0%Mi�N�B��#
-aS�w�&IX|���nD�Nն4Ed���֐���	���Tj<*���[�$vL¬D€�����[��^��0C�DxT&nN�{�$�BLL��,D&���I�!ڭ�Kw���P�
-�0f�D�Ȭҡ�!,җ��T��b��[H�5;��3�����9X���je�V~믮���f��������=\���)�d4�ڎ���z��f�ά����s"a�#�+�V��sDg
F �0k�����B�T���"p1�Ҁ�S'���T�ˤ 4���,�U�Sig]��Y�y� �J�e�
-LLi�!�ԏaXM̊�g���^C���{���0���^^'��OJB@�I�}�W���$1·�\P�65ET둅[�Z������
f�?&9�TÌ+~
�6��a�;���l�쫖��8�Ӿ4�[
�c����O�BLi��I��fZXfX�ò�L�~Ư%���(�KĘT=�	�������?Vu;�)�y�B#�<���C�@&{�v�.TA�abjB
<�g���*����y�L L
�
�{�D��hsDsr���L C��Tsz+PB˜�=���\W��@�O��7�͝�=��P�6\�" T�c�Oܭ�i�h8���'
E`#%�ߝ(����S}H���}����D�,x�����B�SL_!-�NO��S�p-2zx����b��w7(VH����I`0�'i�NOB�Q=aPk��xM����������<�
��
-s�2���Dd�cC
��Q�œe����Fз{���~�2��L$
&ȅY
�F�T�SS�� �v�b{����
v��-T$"#*!l\T<�c��yf� ����FBT<l *��Yr� �ij63x�2M�ʡ*�m�Zl��4���c읓� ��O�.Dh`7�;��aYu	
&�%�תK��H����c�k�Zi�9��#���7���:U�0J�U�L�ƣ2�1F!7��It�
-��
ubv<>A��KV=�
-O�£2�pnbx���VSqY��0��a�c:C�^� ��7���x�2�
u澈Ȃ\�M~6'4�)[�n��FJh
�����O^̘r�c=}K�cW3�GA��f���7f��Y�q���Sz����&t;���
��zM�|@���؝�7cu��̖f�#����f�^b!zm���&&����{V����#�	�CQ��q��fZ�I0�{���Ψ� W0
SNmxe��<h�bBcjfsɢn,h4���
-������P�&k~vMB�Dw�#��k#6a&�w���h�vV~��5���z*O�Y�`ڷ���|�Ÿd3;!���?���O�,������s��<��޸�N���pK�$-�������=_��Md���f��ߺ�5_X�h)��
��<���7o^^^�ꌞ���	m�7�Y�
�
LE` S
��A,��\!3�0�t��p��#�pq��
Q��?U���endstream
-endobj
-2066 0 obj <<
-/Type /Page
-/Contents 2067 0 R
-/Resources 2065 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2120 0 R
-/Annots [ 2069 0 R 2070 0 R 2071 0 R 2073 0 R 2074 0 R 2075 0 R 2076 0 R 2077 0 R 2078 0 R 2079 0 R 2081 0 R 2082 0 R 2084 0 R 2085 0 R 2086 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 2098 0 R 2100 0 R 2101 0 R 2102 0 R 2103 0 R 2105 0 R 2106 0 R 2107 0 R 2108 0 R 2110 0 R 2111 0 R 2112 0 R 2113 0 R 2115 0 R 2116 0 R 2117 0 R 2118 0 R 2119 0 R ]
->> endobj
-2069 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.618 719.9123 410.8552 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8b280d026e0c343ec0d3f5521dda6376) >>
->> endobj
-2070 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.1831 719.9123 488.5774 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 707.9571 224.5012 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.8377 662.1289 343.717 673.0329]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f29cc9becde5f28a37567093174d6855) >>
->> endobj
-2074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.2646 662.1289 426.6589 673.0329]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2075 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 662.1289 513.9963 673.0329]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 650.1738 180.7756 661.0777]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2077 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.618 602.3531 410.8552 613.257]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_680aecc71f3b21fa0db03c7d1cbe466b) >>
->> endobj
-2078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.1831 602.3531 488.5774 613.257]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 590.3979 224.5012 601.3019]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 506.0239 232.5209 516.9278]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_dc7cd513e31b7ecdda3a25a967d8a772) >>
->> endobj
-2082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.3366 506.0239 335.743 516.9278]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2084 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 432.6087 277.3524 443.5127]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9947be8614cba5c2e8b02771d48fc7d2) >>
->> endobj
-2085 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.1681 432.6087 380.5745 443.5127]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.0166 432.6087 479.3733 443.5127]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 395.747 277.6613 406.6509]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_50d5c68064e215d3f2cf3ee69896e676) >>
->> endobj
-2089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.477 395.747 380.8834 406.6509]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.3255 395.747 479.6822 406.6509]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.033 347.9263 317.2828 358.8302]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b1d03e0aac8dda484b102c536c612a45) >>
->> endobj
-2092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.0257 347.9263 429.4322 358.8302]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2093 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 347.9263 513.9963 358.8302]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 336.3447 176.3518 346.875]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.4291 301.1019 315.9955 312.0058]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6c5a2f9b4702c1a0ddfcc9c6eb9b92bd) >>
->> endobj
-2096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.1345 301.1019 428.541 312.0058]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 301.1019 513.9963 312.0058]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 289.1467 174.6683 300.0506]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2100 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.3406 254.2775 276.2883 265.1814]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_85417db0eb420d402acee4ef0d842efc) >>
->> endobj
-2101 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.3387 254.2775 386.7452 265.1814]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.4655 254.2775 513.9963 265.1814]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 242.3223 164.1776 253.2262]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2105 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.2227 205.4605 279.7958 216.3645]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_2dc649f0ee90ea5af999e3c0bae54bcb) >>
->> endobj
-2106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.7284 205.4605 387.1349 216.3645]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2107 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.8401 205.4605 513.9963 216.3645]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 193.5054 164.1776 204.4093]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2110 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0804 156.6436 323.6289 167.5475]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_27fdc62bc2cae150c7d710a8e312a40d) >>
->> endobj
-2111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.4192 156.6436 433.8256 167.5475]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 156.6436 513.9963 167.5475]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 144.6884 210.6727 155.5924]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2115 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.5214 107.8267 328.6954 118.7306]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6d147411700f558d74d8273accfb8e04) >>
->> endobj
-2116 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.9268 107.8267 437.3332 118.7306]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2117 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 107.8267 513.9963 118.7306]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2118 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 95.8715 217.2981 106.7754]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2119 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2068 0 obj <<
-/D [2066 0 R /XYZ 90 757.9346 null]
->> endobj
-2072 0 obj <<
-/D [2066 0 R /XYZ 90 679.2297 null]
->> endobj
-2080 0 obj <<
-/D [2066 0 R /XYZ 90 521.1023 null]
->> endobj
-2083 0 obj <<
-/D [2066 0 R /XYZ 90 447.6871 null]
->> endobj
-2087 0 obj <<
-/D [2066 0 R /XYZ 90 412.8477 null]
->> endobj
-2099 0 obj <<
-/D [2066 0 R /XYZ 90 271.3783 null]
->> endobj
-2104 0 obj <<
-/D [2066 0 R /XYZ 90 222.5613 null]
->> endobj
-2109 0 obj <<
-/D [2066 0 R /XYZ 90 173.7444 null]
->> endobj
-2114 0 obj <<
-/D [2066 0 R /XYZ 90 124.9274 null]
->> endobj
-2065 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2127 0 obj <<
-/Length 3922      
-/Filter /FlateDecode
->>
-stream
-x��\�r��}�W�-T�5;�K����T9���`�TX	�X�-$�����`�`8
�V���-��Aw�g��A��f����3�
qB�����
��o�X��
�~�������Z�
q�����ƂfDq�g������
��η����ל�7�OO�����f}{�
�o�����ۏ?�u����WL
-5������^}�>�ԅ��f>�_��
��C��^Q"�U��@!
�g�+�E��������N�C�C�ȅcDh�`K�a�
�	�����3��"�r0a� T+Sh��B
-��)d��%�E�O�?w�C��<h;���{Ȣ0�z��i��0�
���G����u��/K����T�ٻ�z�yx���K�}��M�����?ԫv{���]-֋��?�}4�{���nw�R�7�.V�a�~�,?����fj��@g7VC5��Q�uM�������±�t8ާ��Rb�
2�K�3���PF�4��A�#u�f�
-j�3�JŒ�m

2�œ�Ę!��F��g�U.��ojp�7�0�\�X��b}y��S����[ -
�>��
�'��8�4��z�=|Fĥ���m9�D¥��3���F,�E��nj*"
�`d7$�Y�iJF�#�!0Q]9�D"$l��<A6��u��"�	s	Y�6
-da>����n�o
I���n����cW]`6�ג���C�i�|��
-p���Z� j�d�9nf��햧��h��Ѱ��=���搸�V��q`���s��8Nq r�1�
0���%�+�

��-q\���+{Z�s��zq����5S0I���v`w�X9%�S�p��`(�t��
15+�F0�{�A��y9�D" ɍD�Н��Zv�
M�ȮC}>\�9�	�ѫv:��!�N�7�
g��oGc	����		��퉌5��0"
0���%"+�
D��-Y��"+{Z�ه���
N
F<�c���Bb�J�3
9�,9"�sS��hC���&�	[�ED!��DX�� �E9�Xb��`��PX7G_#جϱ��
��u��4�)�y �oNo���k-Bo��[j�@o�ߎ�zn
��w���}h5Co���b��m&)(��zw��db��e����Bb0Ӆ����N�����D<���t��@ �
]�ED!�H�D39
�2�)��VJ_Bw���E��Owa�v�;����}��Y��h&6‘��S�{Y��P`6��y{f��X��l�3[b��le���R�%f�9��le�C�y�v؀��<.������r��8�T��i�($0O*V��pdi�f�����G#�=��`���h�h�C!�H��:�� ��
�Vw�%6J�`���k'�w�M���v�F�18�TΚ
�qŘ
-��`���@�QM�
Kb�`8=&K�X��1u[�Ǟ�	�X�>�������nW��� !���B��
<+�

A��N�sS��hC���
-�ǖsQH$��pI���DB��SJ��Ϯ7��Ֆ�:����*F�ܙ���X��4J
0L�9!J��5!FJ���!"~;B�-b�)N����������kN.F�eAR	�˙�($ϛ��� NR15�F0��Iǘ	��笜��Bb L�fa����B0'�h35	�0��p�X�������vT
%��Ҷ���B���,�`��Gݬڕ��R�2�.�
-��RU�����?3
u`:�2\}�X�r&A��yM��8߼����7����%w�%B�3�P{$��*�߾�8j�5a
-�<Gs��St�N�3Wv C�8�wy��8�|h5óM
}��۬n�?�+���+,[�D1+TLPЫV��w)`�Sj'�%�1���($L�b"�
�d�h�M?�q	����:9"
�>��O�w�u]�n��	}W�Z.���j�W�nw��-U�m@�0%��0BͩUP7),3�-�X���/�r���p�.�*�Q�P��jY�{A�����A��b�дS��d
�u�����ielbW[88/u����J(��jGZ+R��b���E��ra
C�k�^4x���.R1>�ˍ�/�j����b^"
-���
G��G�`�J�|rf"
�`h������\D��V�a$��11Ǻ�0��F�CN��r�Ha�+GDM�
��5m���r�6
-�#��/*�_�/���C ��"����4���\�9��k
��ƍ0�j$KU��7T��m�j at .�P�����1�#�����~m�n�}Y
�N���`-h$+�D�E�6�
F#[3`/�޴�D<���95��򥲜��B"�
�����jƴT$5�
���95��Q3��(3�f$�\�Pb��Xˠ�lqJa�������xY
��rS?x��3��nQ��<p�rҔ�QX$�7S�@�B�?oo�_d�'p�MMF�#1�힑aL[]��(,��[9N���7Z�@����c������YBW���
-!��R�m��y5^��vS�
�ȁ������a�ۗp���zW
6��j��
sȿ���S
-�Cݤ��j4͝��h�	�W����:~��j���"���7^�	���_�y'��#!��'���+h�٫�Lt���tz�/�<x��~����n�$TX��Ep�^�Z�j�9�c��9��b�Dh��ߞb��r�k��<-�8|j?�U�Λ,�+&�j��(,��Vt�*k���j�ܩl����
��|A��w�f+�H$w8��T�
A�Ї�7��Q׭_m��^8�3�"L�6k�uµ&�$7��Ep��"85X���N��fE0%�&�;<�d� �sWx�4����BB��ӴՃ!�^��3�MMFģ
�s�
�)g�� Q��]$ejE���P�R �]

`d7�zK�V��
��� $
LD8'�k�ZR�@��
�&�Vh@�!�SD(���\PX$�j�臒׵
�����Ɉx$���sd�/���r:"
-
�a�M �tx]۵�r��q�|Y[�m@��U
�[��1�������ժ���j�~Ӿs�
߹�<���dxQb���A������	�
|�m��]�|^�����
���]uX����i��io�}
-����M����GIW�לX�߼�Ʃa��h��"1X�e���R�'�kΟ��k

�?���ݫc��5�L6/'%�����A*�`,N���vjV"
�`h��֚n��PLED!�HX���)��&���ZC�}��1�I�{-��Z
-˵�$�N�"�do��K~b��\��H c���]��T�����X?d�k�P�|j2"
�al���jM9��b�J�q:�1��kֿlJNP!2�ϖ����$��Z��FV���ܷ8�\Ka��Z�Mk�1
6�E�$&
-J-��5�\m{Lg�Ք�
;���|_Mw�	j�9�Tc�᧓M������M��l��&��g6�t���O6Ԛ3�T�.֞*~�ns��h��t��
-��y7�	C�FTo���75XP���N��ܖTo��Ջ�ٽL��Uo9��z�cQR��rT�XC��P��T
Uo9��z��T��T
U/���[�^��FT�&��7!Eԩƛ��X�^O/������uM�yی-�"��P�������e/wP�
�S��X
#���^�	EfFD!�H���q:ʽ7ᅻ8����޲���!�e/�Mm��]�
�pF�.
l5]8�{�
7&H��&�����.
|8/�
���p�MۅK��Dg��#R�W<�.�ױ��L�� �	�t��W� �y����0�k2kOҶ{��rD)��]}�o�@ڭ:qJX��Ň]��
�����Z?>W�u��k/��˯���w�������j�\-�m_��!���w�&�˂�h����:�)���D���k�������M�G��o�ded����p���ݻ��r�'���vG�w�ލʫ����p�(��I��~���4K��h���y
_���0����\$��� endstream
-endobj
-2126 0 obj <<
-/Type /Page
-/Contents 2127 0 R
-/Resources 2125 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2120 0 R
-/Annots [ 2130 0 R 2131 0 R 2133 0 R 2134 0 R 2136 0 R 2137 0 R 2139 0 R 2140 0 R 2142 0 R 2143 0 R 2145 0 R 2146 0 R 2148 0 R 2149 0 R 2150 0 R 2152 0 R 2153 0 R 2154 0 R 2155 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 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 2184 0 R 2185 0 R 2186 0 R 2187 0 R 2188 0 R 2189 0 R 2190 0 R ]
->> endobj
-2130 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 686.1638 245.263 697.0677]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_4b5f126aef2ca062b034f795f6e5cf6d) >>
->> endobj
-2131 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.0787 686.1638 348.4851 697.0677]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 649.5511 253.7113 660.455]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_357ddb19493a385970c56bf4847a07a1) >>
->> endobj
-2134 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.527 649.5511 356.9335 660.455]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2136 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 612.9384 254.668 623.8423]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b4f7535037080c7f5db32b2e85fdc80d) >>
->> endobj
-2137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.4836 612.9384 357.8901 623.8423]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 576.3257 299.8977 587.2296]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9e5f40dfc278c52da81291b30fbe75f7) >>
->> endobj
-2140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.7134 576.3257 403.1198 587.2296]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 539.713 303.3744 550.6169]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_39ee8e60c1d4d6faa40986d8fba28d5d) >>
->> endobj
-2143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.19 539.713 406.5965 550.6169]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 503.1003 251.34 514.0042]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_141c3283de2a46f2fcb278dcdca0558f) >>
->> endobj
-2146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.1556 503.1003 354.5621 514.0042]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2148 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 466.4876 249.1284 477.3915]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_e1e938f0c844231dfe2098ab8fbca67b) >>
->> endobj
-2149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.9441 466.4876 326.3384 477.3915]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.7805 466.4876 425.1371 477.3915]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9831 429.8749 296.2116 440.7788]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b32d3b44994fefe43c44e353a47cb4a4) >>
->> endobj
-2153 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.9046 429.8749 405.311 440.7788]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 429.8749 513.9963 440.7788]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 417.9197 179.1116 428.8237]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2157 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.8401 381.307 296.6761 392.211]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7135823ecf68cedd5236d53e2b5541f5) >>
->> endobj
-2158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [306.2261 381.307 405.6326 392.211]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 381.307 513.9963 392.211]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 369.3519 179.1116 380.2558]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.6072 332.7392 300.683 343.6431]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_93cee014592562084126f06fe47efbba) >>
->> endobj
-2162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [309.0002 332.7392 408.4066 343.6431]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 332.7392 513.9963 343.6431]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 320.784 179.1116 331.6879]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.1098 320.784 270.5909 331.6879]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.1969 320.784 378.678 331.6879]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2167 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 320.784 513.9963 331.6879]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 308.8288 174.6683 319.7327]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3266 263.1252 249.2434 274.0291]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1dd00b705631c579994677fea3a86d63) >>
->> endobj
-2171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2798 263.1252 353.6863 274.0291]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.8752 263.1252 500.6013 274.0291]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 251.17 196.5759 262.074]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.856 251.17 297.3371 262.074]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.9964 203.5984 299.4183 214.5024]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0e494452cce5a8916f4fe97a1c79e237) >>
->> endobj
-2176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.1246 203.5984 407.531 214.5024]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 203.5984 513.9963 214.5024]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 191.6433 179.1116 202.5472]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.9081 191.6433 272.3892 202.5472]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.0238 191.6433 379.505 202.5472]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 191.6433 513.9963 202.5472]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 179.6881 174.6683 190.592]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__tag) >>
->> endobj
-2184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [142.9964 133.9845 299.4183 144.8884]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ee4d567631589e83063cfb8f80c2bd6f) >>
->> endobj
-2185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.1246 133.9845 407.531 144.8884]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 133.9845 513.9963 144.8884]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 122.0293 179.1116 132.9332]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.784 122.0293 263.2651 132.9332]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.7755 122.0293 361.2567 132.9332]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Coefficient__tag) >>
->> endobj
-2190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2128 0 obj <<
-/D [2126 0 R /XYZ 90 757.9346 null]
->> endobj
-2129 0 obj <<
-/D [2126 0 R /XYZ 90 703.2023 null]
->> endobj
-2132 0 obj <<
-/D [2126 0 R /XYZ 90 666.5896 null]
->> endobj
-2135 0 obj <<
-/D [2126 0 R /XYZ 90 629.9769 null]
->> endobj
-2138 0 obj <<
-/D [2126 0 R /XYZ 90 593.3642 null]
->> endobj
-2141 0 obj <<
-/D [2126 0 R /XYZ 90 556.7515 null]
->> endobj
-2144 0 obj <<
-/D [2126 0 R /XYZ 90 520.1388 null]
->> endobj
-2147 0 obj <<
-/D [2126 0 R /XYZ 90 483.5261 null]
->> endobj
-2151 0 obj <<
-/D [2126 0 R /XYZ 90 446.9134 null]
->> endobj
-2156 0 obj <<
-/D [2126 0 R /XYZ 90 398.3455 null]
->> endobj
-2169 0 obj <<
-/D [2126 0 R /XYZ 90 280.1637 null]
->> endobj
-2183 0 obj <<
-/D [2126 0 R /XYZ 90 151.023 null]
->> endobj
-2125 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2195 0 obj <<
-/Length 3797      
-/Filter /FlateDecode
->>
-stream
-x��\�r#�}�W�-T�����<%N��
W
��`�T\i$1�H��v-}����G�Um�J�A�
v�4�s`Čß�>sƱ���]ܝ��5|���}}ߟ��?�9y��5����v��jo�
-f���7���
��Lp������ߜJ>_�>�4��S�����nq}z&
��m�k6W���}�ms��1�j����̭8��͗'y�c�B6ʊ��'���g���'�����=��F���-Uzs{����N����+��3/���)ͼ���P�k&���%��F�,YdIǬ�~�a1W?Hi��'�`�7+
��&�WZƃ�]�v#��CF�x�_m�;̷�������� �
���!.֫�b���
�A0�]���QDT2(&�W�����Z��&L�KƓ
�@2��2;��R}�~��"��HT0н� �|6�a�Z75O�۝�	�%s�c%��H
�eǁ�z�<B��Aj�3
�
�\q,��{x]
��@_��SJ����y����ҜI�哫շ��a�ڶĹh�ݯ����]Ǧ0țS��ק�ρW��� ���L�A\��o!� "y	��pmM����}����}�[W�yɴ6��NJ/�.�����T�yy�<_O����\7
`�ޱí�a�)
��j*Ѯ S�B��,���5!�HI(�!��;���Y�m��z��
$8�|h�"��fy��}��
-Jqf���AxlJ&T?15EP:v`o'f&�	�C��IPC��J�&!��0 ���2��X�~b2�p>����Y�"6g���C0�V�X��
̹�f�J����Pg%�҇���{�5A#t`J:}�F60�H�O�i�&�b�
��u�?�
@��l}"�q� ��in)AH0Z
-��$�~�&�n�L��^	U���?�[х���r����:�ڬ�(Y�P����("�V�
��!i0*L�O�S��>W
��s�QD$�>�A�bZ&
-�����~t�0	�f�OQ�kDM��Wa�Q�dS���b���Y1���
V���V:���a�D�n�S��B�,�Zad��kO/��y�[�$���	Z+2׊vX+zn.(;�J,(��?�[ъ�
]N�����"b��0
۬���$�
�M�JƓ
�>c9	&Òk��"��HD"�
�H�
-��_m&g"�)�#����`7��DF��`Y����Hp0�o��
n��6!ȰߞDj߿�.�t1�-m����q	���E�p�	���+��
Me%Z3���#�h�(
b���M�Q��
-��\�"z��)�C����W#���		c�@F1H���T
2_��X�^OMBƓ
�>C
$L���x.2��DA$^�A 78)�DM
��cH����b��IF���W��RH�� ��V�7>�9�w�e��}s{۾�Zo����4�%kN����[�2V
h�b���r��I�'+�]��������(H��īy��,��6���=��ϮD���%M�`|��qgd�q����#ֻ�O�uo��\j/�
&&�_�
h��\���޶Tߺ]�S S>�n�\=t7'�ҍ���m�G��o��媻9}����n��s�
��wb%�
A�
�$�'c��
;B/
"t^���
�۷X+���e�lV����n�y<_���>��քe�,
	�F�D�l��mm�B��
��Ѹ��gT���N`��1h
bP¹^
7�u�|�k�:��4�����ox�.�ZL�2T�O�ɿ��a�&!�c$���HD�Ű��Y��U�v�{G\�
-�����v�>�o��S�Š�����C?��Wt;$#�{���e�q�$$Y�%#���@�S�r�2��L�y�S��
f��H3�h�,
bĉ�M�Y��ȳ�t}�އV+�[�&p'�1�“�QDX��1UD�1j

-�+<�y�x2���g0)��*��EF��Mg��	�T;����c贰��i���N?�N�W��`���ؔ�c�KX�;Ҩ`B#���
�j�u}whf���xx}�7}�y	s�m;��ߴ@�q#(�Dr5����"�SR�Ytwx�^t-���ry�8h����Q.S��C!��!���!’a���~��~;a�E������jEX��-�n����Le�ld���y�ՠj
.�
��OMH�S��ִv|��,���QD
J�>���r3^���q�'���������;Td�h�����""�@wȪ�*������	,m �a1�?^^���/����
Oqқ��h)޲`�����>�����{�;}�ƚw��>��)���^���Aɼ&wlfM�A��q���K����N�w����az��<�o�h�2Q^@����G�x1<
[�J��
�SS��dC������^@��@D�['��u�ܡ�Z妦 � FvG��u�
-��oe�F�f"��H���r�q�
Z�������	��^
�!�
-Ɍ���޿
�P7(�Z�
R���e���JQw?3�f�� �ܸ��ܥ[��{N'07�}h�,̷c
-�=9��H "�XC�q�F�7�͹���x2���iu����'��QD
J��0r�1Ԩ[� �35	O0�{�.�/ k;e`~#��3�QD@:h33h��-N�<V
�%��F�	�\�R?W�]�y^�ؒ�\�����.��z��9L�
��a$���'�v��s[�Y��0$�^���
��?�K���Zm���@D<0�j�y\�
�;%

޸��x2���i��c��@��QD
qaĈ`1T fU���"� Fv�t�%�Zj��X?��P��x�<��iw�xJ�:+a�*F0e��2l�<ȸ��py�<�6yȰ�$�@
�Ls폐��
�R�������R+��xy�WPiXE=|!�h�/
b��M�_�=���C��^Q���)�#���\��A'
-���S4=E��ԡZ�A��n�
-�C�2�&<���$1�D�{"
	E���`t�0
CA59	O0���0�$ �V��2 9S�KJ
-&	6E�cF��ޖ60H��

;��)8�[�
���+̋��?���ѩ
#�4��ᷓ����l�Ub�=f��S�Gv'����A�(�chz2���L{��R���?5AOF0�;E4�'����"b =�g}Y�Ɂ���LMB�S��r�f�m�	n\��
7���UL�=H0H����jB���Jo�:�:�dl��xGZ���5�65Ȱ�V�
�AA����_5�~�cOq�[�@-�gM��A��q���K����)��OxZ�٦�DV�����ۛ��xZ��K��||O�5�{=������'"۝T�;͠�<	E��
�
j�~
����z��`������}�ΜX�KA�""�
�f!u?����{�?�<Xic�kσ��F�2�z�j�9��m��Hn㱜A�摻��g� �
3n�AO�{�z��wL�''�ɅA��q���K�'��N�d����N>��&�d�d��p5HL��㙠X�OKMƓ
�N[�L�H
h [...]
-"��i�|Ԡ�]w�"
���ߗo7�t�������aqݔ�s��������w��̷i��*?
4̻��<
 �KⱫu'v_7Mm�/LP�D���4K���O��?8+~�
UpEVFvcnnv��߿z���{v�e����-w�`\��B���5�Y�b�P|����!E(����z�O��C��ܣ�f��E�-]oWendstream
-endobj
-2194 0 obj <<
-/Type /Page
-/Contents 2195 0 R
-/Resources 2193 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2120 0 R
-/Annots [ 2198 0 R 2199 0 R 2200 0 R 2202 0 R 2203 0 R 2204 0 R 2205 0 R 2207 0 R 2208 0 R 2209 0 R 2210 0 R 2211 0 R 2212 0 R 2213 0 R 2215 0 R 2216 0 R 2218 0 R 2219 0 R 2221 0 R 2222 0 R 2224 0 R 2225 0 R 2226 0 R 2228 0 R 2229 0 R 2230 0 R 2232 0 R 2233 0 R 2234 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 2249 0 R 2250 0 R 2251 0 R 2253 0 R 2254 0 R 2255 0 R 2256 0 R ]
->> endobj
-2198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.5356 719.9123 292.2842 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5a6342bc4e04c1f228d210e5c363b6d4) >>
->> endobj
-2199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.5296 719.9123 394.9361 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.3705 719.9123 503.7769 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.1684 671.7498 331.5739 682.6538]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bcf3ccb8e2e224496d1326e47e15fdc6) >>
->> endobj
-2203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.4523 671.7498 440.8588 682.6538]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 671.7498 513.9963 682.6538]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 659.7947 180.7756 670.6986]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.1661 623.5874 331.5817 634.4914]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a309e957fa5f404b296e2e4c30e1697d) >>
->> endobj
-2208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.4576 623.5874 440.8641 634.4914]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 623.5874 513.9963 634.4914]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 611.6323 180.7756 622.5362]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.5434 575.425 284.5412 586.329]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f777de5ca96f8d1631d3500008bf84f8) >>
->> endobj
-2212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.7944 575.425 387.2009 586.329]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.6494 575.425 496.0559 586.329]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 540.8831 223.1165 551.787]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f98013213e01ca8514b6dbd20116af4d) >>
->> endobj
-2216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.9322 540.8831 326.3386 551.787]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 493.7169 317.6012 504.6208]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_3e07a3e1a6e6c9f281227b4e215a3dc7) >>
->> endobj
-2219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.4169 493.7169 420.8233 504.6208]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 457.5097 303.3745 468.4136]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_01daecb5bf8e498e7d539d7f3ba8496e) >>
->> endobj
-2222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.1902 457.5097 406.5966 468.4136]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 385.8944 267.3899 396.7984]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5a9b061c4408ab8d70a1dea91a6ff983) >>
->> endobj
-2225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.2055 385.8944 344.5998 396.7984]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.0419 385.8944 455.0246 396.7984]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 349.6872 274.0154 360.5911]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_191744753f79b939c8d61efe45778bd8) >>
->> endobj
-2229 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.831 349.6872 351.2253 360.5911]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.6674 349.6872 468.2756 360.5911]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-2232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 313.48 271.2653 324.3839]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_2f80d4608b0b75948b50dd862a14df66) >>
->> endobj
-2233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.0809 313.48 348.4752 324.3839]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.9173 313.48 493.2208 324.3839]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.7473 277.2727 279.5322 288.1766]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8abb894f6f4a673d549aa9bf7456b638) >>
->> endobj
-2237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.9894 277.2727 358.3837 288.1766]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.5192 277.2727 513.9963 288.1766]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 265.6911 129.8568 276.2215]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.9092 229.1103 311.6437 240.0142]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_89c2384471ee03156c7b414dceee8f14) >>
->> endobj
-2241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.2628 229.1103 390.6571 240.0142]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.1569 229.1103 513.9963 240.0142]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 217.5287 129.8568 228.0591]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Constraint__System__tag) >>
->> endobj
-2244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.8668 182.6132 323.2268 193.5171]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f818756f74f766dfb937e586565db8d6) >>
->> endobj
-2245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.8035 182.6132 407.1978 193.5171]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.8522 182.6132 513.9963 193.5171]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 170.658 164.1776 181.5619]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Congruence__System__tag) >>
->> endobj
-2249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 136.116 298.3833 147.0199]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d024f037803a208b74cd150eeaa5649d) >>
->> endobj
-2250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.1989 136.116 375.5932 147.0199]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.0353 136.116 486.018 147.0199]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4384ab8e17fe9415f5146ece650cf9c3) >>
->> endobj
-2253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 99.9088 305.0087 110.8127]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8ffc5459233ed9781c0ca910e88fa1f9) >>
->> endobj
-2254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [308.8244 99.9088 382.2187 110.8127]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.6607 99.9088 499.2689 110.8127]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g3b2653e715f41511257a84f35be7fba9) >>
->> endobj
-2256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2196 0 obj <<
-/D [2194 0 R /XYZ 90 757.9346 null]
->> endobj
-2197 0 obj <<
-/D [2194 0 R /XYZ 90 733.028 null]
->> endobj
-2201 0 obj <<
-/D [2194 0 R /XYZ 90 688.687 null]
->> endobj
-2206 0 obj <<
-/D [2194 0 R /XYZ 90 640.5246 null]
->> endobj
-2214 0 obj <<
-/D [2194 0 R /XYZ 90 557.8202 null]
->> endobj
-2217 0 obj <<
-/D [2194 0 R /XYZ 90 510.654 null]
->> endobj
-2220 0 obj <<
-/D [2194 0 R /XYZ 90 474.4468 null]
->> endobj
-2223 0 obj <<
-/D [2194 0 R /XYZ 90 400.8092 null]
->> endobj
-2227 0 obj <<
-/D [2194 0 R /XYZ 90 366.6244 null]
->> endobj
-2231 0 obj <<
-/D [2194 0 R /XYZ 90 330.4171 null]
->> endobj
-2235 0 obj <<
-/D [2194 0 R /XYZ 90 294.2099 null]
->> endobj
-2248 0 obj <<
-/D [2194 0 R /XYZ 90 153.0532 null]
->> endobj
-2252 0 obj <<
-/D [2194 0 R /XYZ 90 116.8459 null]
->> endobj
-2193 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2262 0 obj <<
-/Length 4631      
-/Filter /FlateDecode
->>
-stream
-x��]�r#��}�W�m���e��vx7�kG�3�񄂒Jj��%�ޙU�. 
Y�
O?�(
f&���	TI,8����8�����+�x�_�ו��^���!�W��>��5����v����`3R�������p���������%_�޾4��kᗻ��q�x���/�{{l�뻦{�]�д�f��Jhe�V^����W���b�C6�
-���~��/�!��^q��7�o�CA.���T�����WLv�7�侹
-�)k������
J(f���sք`��X	��7�

��pJB�&]�)�F�,�cVJ�H0����4�	��
���(ʯ��1v��
g^��\h=�o�{�wC�O���� ڡ�+R��Ϝ�ms�ms�rs��
��5y�F��e�k"7	EĦ

���p�g~�g���+���dS���̮��C%�Q��a���/�.�L[�k����ݘ�v��:���ƴXɠ�rܷ�2`��߿
���<U�*&��
S�
M&�j�
fk�u�d
]�
`Ĉ�,�J����m���#�a�K����6*�
����b�I�����]?��9����0���/wU�s�	
���������}7M��YvS���f�q灂t���9w�9l�A��l:͌w����Z	
"	2�(���
-T^v�3��g�ȱ�� �,�x'�O�ְ��������j+����*�L	cit)�P��:T�%�)����
�-��"(o�x(f	
��9_����}fu���H�
\�Q�����k�)�
�
-�
Q5�
�ֻw���F��#���iz�gn� �
�ܖfn�/`9���
��3I�Fs��`���~#{���[�''N��w��O�fhj�˹Csw�����y�N��
��-���"�B.���'�"���P ��e%���v����JX[�BB1�L�tj
�O3WN1³6	O���
sx)����*�3�PD$"}gƑ����s���]�<�Q��è��ǵ�K�09�F222�O�D
���P2u<��-�,w9N�
�?���ey���
wS�0��k�����ؿ��	���o3y���)x�\�z����
�*a�"�`d,�o_Fn
E`�.����
ٽ��4�������\
؎�YZ�HB1� ,['Aek@��q�j���dS�u5�1ͩ,$����`&#W g���A�S�gv/��I'��PD$"qV�q$�`�fA���20Q� �!�rĦ9�T
r|mXo;[�
�~l�a���!W	<�*y����X?ې�
-o��v�Xp?���
fN
��5����G���%n/���>t[����
-n/{�Z͐����Z��C�oW�g�
�3ܗ��PDX�����L.FV�+fL�MK���'V����4�T
-�A�&�(�
�c�Z�f �)�3�p;��D""��CC
Jx7��`v�}v��E�%n����~n�h�Uy��O{��:�A���+�q^�Z�4�p�Ån
�_�@��3eu�xa�a�킢�3�h�
,�g�o$ϡ�ls;@|�%�^
��
O�����a���yx�i�i8}�
n�t<åJK�V���""T�`SEM�L��m<�8�+s��dS�5d�a^yiL9		EĠ5���$�9�jkX0�:	O���
�i��VP��5�=�R��^�����xNE�j�
g/Am�l�L�}��Lx6��Z������+\P���]��5á�E�s�
W/����vmqp�Mml�߭��k�:/�/�]�h)��A�Ynk��>A߇yi���}��Ɂfr�ɴ�^�������>&~��{�
6��צ�%6��5_>b�

-[�y�p�c[�z0�׸�4�jO��ʤ���e�5���ݶy~9����A�n���ǰ�ե#
@�m�]p*�Ej�)(�}<�������
s^
h � s�õ��f���d	Fj���� ��Z`䶰�;�R����\��<77����pv�ዔ3�PDL��j��IP�&�`\rW����"�٭k�;�x)g!��v_��
�\�
�#���
$<�f��&dO͐�""���\�#!
-�R��xW�lh�T�#�C�d�k|�	t�MЌ9X��
��9~k��d[$����\�U���o��7�=Ls��4�}Km�� �X$c�RQ�
��a�L
�U��߱�
�`��
7wk ����u�P(a��V���0Ũ�$�
v����
Z�%$�˾'6��CP
T�(~�){ K����|)��
-V!"��
�6
-l�`?�
+�l��
:T����������@e�9D��^}8�`�x�L"	F���`�H�=��ܞ9\)
,��^��+[<�f7�7�M'�o/���
������iE�m_�M�!"S
-{�
���X��Ԧ&�� �v��N<0��*� ��4L����dNY*�N&�&!� fvc��9��4�x� 2��ڹ:
�fǯ_q'i�/��n{��:�3�Q"���~��o[9�Ó�M!@C�kl:ݾ��&�Y�����
���3�('
-�%�vǮ�`&O{)�-Q'~]�s1[�ĐRgHŏ�-(	�V���`4�
�x��7���,�s$3�Z��
O��ٽ���G�vT����"�S�2��>��� C�2A	OF0�[��0&U𡜅�"bа0���"��%a��� fv/`�R:���!�Vw������JX�����<l����'��" C ]i�{���F�$]$Hr]��9�
Q��� Ow8u5@�T���,o_����O�r����j��/6ۈ��f���m��?��6ۼPZŦw�1���=L���]��-�=��2��
�kn�;���SC�� �o.�Du����	<��
.(�i�%�x]um&|[���[܍y�G<���nww����S�-���4�Z7^��i�Ө\��,�C��BL��if��L!v.ȉ�b!n����L�Y�����6����J
_�Y_NJBAIk`�i7��>���β:-	OF0�[�ʁdr
�Q�BB1@�Tb2$3�ﰐ�ҵIHx*��ݺ�,r]1
	ED�u{�$�~݅[��=T��t聈df��C��l����7?�{���`�U8G]&��{9]~E�j�
a�uƞ�aO�,]R�/P��n�ϡ���ٝ��$^��4�cfB���Ɣ3�PD@
-8���t_�m�!޵v�(ɶè>_�������?�m̜�=&x�v����_
o�I7Jƺ�n��u5��Mw#�v�
۹�P�B
~K�����R
-�%����Q�xcFzA)�����`I��Fe0t����P�m�x-l��x���.�
�����	DD�%���$6�,V���ȉ���aef��`j�N
@>���,$�2���NNbȉX�*!j���T 3����b
Y�ӐPDZ���&��N
��c ʑ��~�8�wNa��� VF����qP`f�
⠔��8(tÀ��@�
_Ogh� ��V

^o������@CH��s.����I�)�G���`h����>�=��sj⵨Z<�f7S�;����B��+����$��
�ғ��k�s�wp���$<��n�Hp�	�YH(*��Tx;�!#h/XU'!� fv+E��'��PNCBQh�-��
-��;��1�T
S�1Q���.I�NAt�F @I���
�ʎ�����
-X�
w��
-�۹@ !�@�LܞO0�;���[J)e$�����p��ϣ�^o3�I3�emB"�r?�z�^ҁ�
�����"��A2�7��"�,n8��
�4�Q�K�A�͒x�b�
5k�)ܣ
`C[���$��-15ߏ���f
�m�_?m��հ�f�(#�����i}L0�]��ƹ$9��c&P���)a���tX�`
-C .�x[E���j�|e��`�=~��*Y\
M�W_�jT��7�J����9��c� �P㧻��zt�Ç��GN��[�c'��2�
���Fax���+�a�q�?�N^lj�)%e��lz���g��<ì�ܝ�s�H�9X��7�����4V
�\P���� ͇w�p�(�^&��Kj��7����s���N����%�O��J�s-?<5!`�VNNB�)�:VM�I�L7gFqS�����٭;�
:NI*	Eŀ��(G1�p`�^���'�ۭ��*�+%��P��O��G��|�V���k�
��
�5�.���
��~�Q`S�
QD<��L����ĺ��� k��T 3�������7W�HBi.��93(#�5P��Ix*��݋�:
R+&�=�V9R�d�W�t�N�wi􁉂D���B�B��P%�O����e�xbj*��8䄺q�Se[G�G���P�P�o���`�B
>4�h�$��[I�㥀�U�π�O����?@�G���Ō|4�Ŭ�硫�/��
0��R^��HO�I6\a�@�|�H�Dl~�-��g=t��~�_1i�B��̉0j8����È
�A�{ q��vd�ܟO�������~��?���w���+���_oAVH7!�����
�X�������x#�ί�ٟ�4p��=ר=��}3�
-�<��4Jd��_��
�?�|���5n�����	��˿����7vw`���˞m����|�/֑��?�/�*�f�����0a]����
-ϻ}�lq˪�.��y�H��|�endstream
-endobj
-2261 0 obj <<
-/Type /Page
-/Contents 2262 0 R
-/Resources 2260 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2120 0 R
-/Annots [ 2265 0 R 2266 0 R 2267 0 R 2268 0 R 2270 0 R 2271 0 R 2272 0 R 2273 0 R 2275 0 R 2276 0 R 2277 0 R 2278 0 R 2279 0 R 2280 0 R 2282 0 R 2283 0 R 2284 0 R 2286 0 R 2287 0 R 2288 0 R 2289 0 R 2291 0 R 2292 0 R 2293 0 R 2295 0 R 2296 0 R 2298 0 R 2299 0 R 2300 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 2316 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321 0 R 2322 0 R 2323 0 R 2324 0 R 2325 0 R 2326  [...]
->> endobj
-2265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.6481 708.1267 307.801 719.0306]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0b031bedcfb70f485bab922596bce1c8) >>
->> endobj
-2266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.1589 708.1267 390.5532 719.0306]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [418.4655 708.1267 513.9963 719.0306]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 696.1715 164.1776 707.0754]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.5302 659.6489 311.3085 670.5528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c655ac3a494c4f92bb02d0b9294bdd85) >>
->> endobj
-2271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.5487 659.6489 390.9429 670.5528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.8401 659.6489 513.9963 670.5528]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 647.6937 164.1776 658.5976]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g4aa820c3f87b201ce364e854aa37dba5) >>
->> endobj
-2275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 611.1711 285.103 622.075]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f92f3c9d758e2a155a2a6faec4235741) >>
->> endobj
-2276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [288.9186 611.1711 362.3129 622.075]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.7737 611.1711 472.1801 622.075]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 574.6485 291.1908 585.5524]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_784570f6ced5461b4d82cdfefa1cb31b) >>
->> endobj
-2279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.0065 574.6485 368.4007 585.5524]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.8615 574.6485 478.268 585.5524]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 539.9488 278.7471 550.8528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7918c3a73aed2529e1e57b8983264bad) >>
->> endobj
-2283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [282.5627 539.9488 355.957 550.8528]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.4178 539.9488 465.8243 550.8528]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [148.6293 503.4262 343.0883 514.3301]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9fb38e66323fe6cb24b32e32e66dba78) >>
->> endobj
-2287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.4275 503.4262 430.8218 514.3301]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 503.4262 513.9963 514.3301]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2289 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 491.471 180.7756 502.375]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 443.9895 286.2088 454.8935]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_bc350d1ab1c6e4da0df6bb130364af7b) >>
->> endobj
-2292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [290.0245 443.9895 363.4188 454.8935]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.8795 443.9895 473.286 454.8935]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 407.4669 317.2024 418.3708]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad69d01217b9ea1043883162d285505c) >>
->> endobj
-2296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.0181 407.4669 394.4124 418.3708]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.2631 370.9443 330.9763 381.8482]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_db06752e755290368c9bb00ad14a0984) >>
->> endobj
-2299 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.9492 370.9443 410.3435 381.8482]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.6396 370.9443 513.9963 381.8482]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3512 322.4665 333.9398 333.3704]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8402fc25b68056511cf62f1378666a88) >>
->> endobj
-2303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [339.0009 322.4665 412.3952 333.3704]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.6396 322.4665 513.9963 333.3704]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.783 263.0298 262.1731 273.9337]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_9563155e281915a8bc2eea34ceff9cf0) >>
->> endobj
-2306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.6659 263.0298 341.0602 273.9337]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.276 263.0298 443.6327 273.9337]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 263.0298 513.9963 273.9337]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 251.0746 210.0952 261.9786]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.7675 251.0746 320.2608 261.9786]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.7807 216.375 272.893 227.2789]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_8a9e2cf693ca3e9c464efb04071b8572) >>
->> endobj
-2312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.3836 216.375 349.7779 227.2789]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.6348 216.375 447.9915 227.2789]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 216.375 513.9963 227.2789]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 204.4198 210.0952 215.3237]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.7675 204.4198 320.2608 215.3237]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.681 169.7201 299.3637 180.6241]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d015c9afd4968005d43f233359253c5a) >>
->> endobj
-2318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [302.7546 169.7201 376.1489 180.6241]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.8265 169.7201 474.1831 180.6241]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 169.7201 513.9963 180.6241]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 157.765 236.1073 168.6689]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.3376 157.765 378.0637 168.6689]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.5058 157.765 490.9991 168.6689]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.7097 123.0653 314.1146 133.9692]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6ffd595f3e1d85275962dde5f8401c7f) >>
->> endobj
-2325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.5343 123.0653 392.9285 133.9692]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.9796 123.0653 495.3362 133.9692]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 111.1101 253.8208 122.0141]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.6929 111.1101 398.419 122.0141]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [416.5029 111.1101 513.9963 122.0141]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2263 0 obj <<
-/D [2261 0 R /XYZ 90 757.9346 null]
->> endobj
-2264 0 obj <<
-/D [2261 0 R /XYZ 90 725.1427 null]
->> endobj
-2269 0 obj <<
-/D [2261 0 R /XYZ 90 676.6649 null]
->> endobj
-2274 0 obj <<
-/D [2261 0 R /XYZ 90 628.1871 null]
->> endobj
-2281 0 obj <<
-/D [2261 0 R /XYZ 90 556.9648 null]
->> endobj
-2285 0 obj <<
-/D [2261 0 R /XYZ 90 520.4422 null]
->> endobj
-2290 0 obj <<
-/D [2261 0 R /XYZ 90 461.0055 null]
->> endobj
-2294 0 obj <<
-/D [2261 0 R /XYZ 90 424.4829 null]
->> endobj
-2297 0 obj <<
-/D [2261 0 R /XYZ 90 387.9603 null]
->> endobj
-2301 0 obj <<
-/D [2261 0 R /XYZ 90 339.4825 null]
->> endobj
-2260 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F36 1288 0 R /F86 454 0 R /F84 923 0 R /F40 154 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2338 0 obj <<
-/Length 4306      
-/Filter /FlateDecode
->>
-stream
-x��\�r��}�W�-T�rv%����T9�M^l�
-KB�Tj��ק��2��V�<�[��堻ј�sz0[P���.�2�	��+�����|���+�~������o�Z8�4׋���͈�/�o~X����QJ������9]
v�������as��W\��_���x[������m�b�}��B-������W_��1����
#���?��B����Z<�
-a8�x��\�7��wW��v�/�Rg.
#B+�$�O�� ZZ
��&aԙd�8e]Ĩ$�yf
�Z�<+��3c�h��"�0�?r��	b�����
��_�	ul�v�?M�J8If��+~u�������bh��V0���}}�v�_��Mu{���GJ����>Tw�8T�`t�|�"��`F?]��ԭ#V857C_
`l7�������%�$T)�����t�f�V��F
>7	_`j7$a�}���s��q2���Ǎ̧!�JQ8K$��Aq at V�kI�m> ��!
~Ơ4��t����ɴR�X%!>
-UL��(L��_�HL��ݐ/���þ9
+��7�-]&2ǵ
��"e.�
-�@r���
�9ֻ��Û�L淝���/1����|��m������??
�R��$
1B�|V"���Hh
Ю�N+�`
����R ���x��Z��x��P�Z���0���a

��B[
$�Q���jՇ%�B�h#
��@1f)��B��6
-*�4/�w&�H�A!�m�QA����������
-��
��}:�����2�� ��rt���24-��cZ�����]3��ÿ�G�ۄ
]J�
Hyޞ�;s�ka�u�X�O�
�_���
s6�
\鼙
[w�)ۛ;V��`k�@u���Y�� A�(	u��R�
��(�F�1^���[b�k�ԛS=sX�3�\3Öo;,T�E
-�
ƈ�O�ɼ48:��kow&�X
��W��	P�
-��5��P����U�b;��I�	Z�G���(jgB�
-�1p
-T�
�ȸS�����ĉ
� �0�1� l'����9
�x�tj�����/p�	���]�z�æ
'��ç� f
���0�;�HD! Ɔ1H.�c^�/���$�.���*�������;�Z��3)��ke�.3J��
��V_���R�HXɲى�|�F0�$%���3��%�C�s$�����ٓ�������0���8��m�w�^�>�:Oܣ^ɝ;~?sFJ v��WRٴr7
�H/
[�&���ib����R
����=�
-� ]���⹤�9%�۹9	�B�/�� ��f:���*�##�Q>
('�g��,�
L�~)�Π�UF�d{���6C�S�S�W�����l��lg�l� �$Ϫj��Qd;�{��X�3�V���U�|G^����|�|�3J�w��α�|��F�
͝�;z��wA�4�W���_���R�-��NG�x�������	�`q�7�R�
�=?N�:��)ec�YYĻ6�ߢ�WVea�}i�����1T|�e|�`F��z�2p�T�*
U#�)��%��/^����77��f� ������*
-��Hn�(%�5'F�(����/E0�;K�
�P"�Y��B
RB��F�b���Wf&�W
-L�@�̐w�:�0����k䅵�Z�a	�
2����k��y�7>�L��7W�.�.�K�L쾴
����''�
-�'����\hp�:#�ܤD|!���dG���Z.��*7����1�VZP��Ҳ�G������T����o�X��5ڼjݺo##�#l(����nʹ-�*3����`m,|��5�X����sC�۝@�oZ�Z�x<��F�͜u/z��^E�QAO�:�k^F���y�0��
�V0�hb�X1�/(%�
))��Q)	��J��׃}{�FD%�Qe!y6�ӑY�AF�|^X�ņ.���-��|l�sփ/�H���2���*�=fZMKH���y�����Y�j��"��@��7z4L��q����c����R���@��lA9�a�a/Q��f(�B0���
��9+�|<Q9�))ǙI9+�|S�/Q�l�r�$�RSP�}�e�Qs���zE�{��i�FF9F�@9Bi��I�yA�Y&U_:���ҩ�4� ��K��|G��DO	�PB�g����V��		�
%dk.J��[NB�:eL�
-��3$#�6CA�� ��7ȹ���Ɯ��"
-�߆���
c��2�`.1�3�
Q6��a.ھ'��w�0���U)�;��"�0<�o��k�a�ou�^����_
6��O���)ܠ���l
~�/��p֧ñ���#ng/��
O�t���V�y�QM�z9=p����A���^��
^�>��Љ�q��T�����-��{�p��.���*��� ��ѕHhg�d
67)_�`bw��i�p	��Q���DH��1�<�y�
��
D|����P�d	 8�9�g"�
-�H��3n��|����Bw=W��md�L�aT��z�����C˪��1��E�%V<�Ͳj��>u/������]�18�&���*�7�Բ���_�1ʡ�X�	���)
W:pY��yc���1�+<~���݋
v�p����0 �h�
�����g�sI�l�v�
���~����7�灻��zﱕ�bt�GT�7st�К:},�lt?|��
-	>����+��E }1��׬)�>�@�؛[�JD`e"��a�o ¾�KDh��k�	_�?��(��fsӠ9o2kn���~�Po��%-��l�"����Ƥ�\SU(��sS���vg-+q��3?���*� q��bCbe	o7��&!�KL�N�
�� �ޢ��J at jS"��p(S
�?,�MO��Z�a�;�F�u
-��ީv���U�ٳ�c� k 6�&�Z&�
}ަT��Qfj�ܕ�����0b�v�^owhZ�
@F���W���r�,���O�%q��0�
@Ի[<�
�P��$���_ %����3�ᓼSO'}�I6�����e�L<��|l�%T�x<��&E�I�	�|tH$���
\�$�qP��%'�K�GV瑈%�Q�=�������ȼ�?�G����l��e��m�PpJ�чe�#����
'Й��=�62�a�y���(g�}�X����KPȊ��|��q3:"
e������Km�z�5�6 ��b7QΎ����G������O�A�Q)���B����ƌ�L��ü�
����/E0�;�a0��7w�,T)��(�8�D٧x��ٹI��B S�sF@۝M�,P)'���b�4?\��6˟�mm���o4���l�o���>�
��u7�6rl`���4�ˏ�ߊv�U�|��{�>�[
�a���񹚧�� ����3��;آ=�
�������G��-��
���u1��{�G<�攊Q[���d=ch�$�z
-��^J���LB���Lu<b�R�Ť$ o�J㦙AjP���}�M#�?�woh����aW
-	�__���0l���Z�s՜�����'?ܫ}�?��O��C'
2�L��/N�̂V4���V���
7�zn
��� 	�y�>&�ŗ�O얹�~{w_�-�J�Q�@q	P(��
�l��I��MU�#۝ו)B�(d!�
-1`��n�Ɛ��f&�ܚ���5�3�����>,ӜEX�9cZ�i���q�F��#lJ�Fy1r�M���'��
g���
F��9��ԎԢ������9��	o3Y�|zl�)@��z]7��Ӯu\uz:�=�o�A�^;=��A��k"7���TC
���dڙ7��dD��f$Vb$T�)�ʌ�3�c����H}���E���k�[D|���n��>T�e����}�i��BX���q^��C-�0��&&����j
�]1
U��r�%�g�?�ad��$|)��ݙ-��/�8si��B�#cf�0��.Q���n�Th�^���J=9V
-0�Jp.�_�$���8.���z�(t���_U�����Ц�P���i[�|���ҥj��
�D�i��4m�ё]�؜��k�
�qW4�T�!?=�UX��w}�'�)
w�ٜ�
}��4��Q�����~���v��*E|����X�������q[7$�|X��D�����үztl�X\=�I�ƭ��?7��Ʈ��65�߄�����m��X
�ʯ�g���	�l�{d.*��)�����a���s�T��Xֻf�xV
pJ�������}���a��0�ݷ�Y�W�?����
��,5��L�bn�O��߿}���L�
y�o�d{z
��m�)-�v��^E�$���:��܆M��c
��Çv�0I=^(�� m.Xendstream
-endobj
-2337 0 obj <<
-/Type /Page
-/Contents 2338 0 R
-/Resources 2336 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2120 0 R
-/Annots [ 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 2360 0 R 2361 0 R 2362 0 R 2363 0 R 2364 0 R 2365 0 R 2366 0 R 2367 0 R 2369 0 R 2370 0 R 2371 0 R 2373 0 R 2374 0 R 2375 0 R 2376 0 R 2378 0 R 2379 0 R 2380 0 R 2381 0 R 2383 0 R 2384 0 R 2385 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 ]
->> endobj
-2340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.9223 708.9533 313.211 719.8573]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c0e5d09ffe586f8ea5ec782570015c5b) >>
->> endobj
-2341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.8433 708.9533 392.2375 719.8573]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.767 708.9533 495.1236 719.8573]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.8581 696.9982 267.8535 707.9021]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [312.0065 696.9982 440.7326 707.9021]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 696.9982 513.9963 707.9021]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 685.4166 178.8624 695.9469]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.3695 639.2149 327.3804 650.1188]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_381b0e6e2e58df417ff578ed6d715520) >>
->> endobj
-2348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [334.4598 639.2149 407.8541 650.1188]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.6396 639.2149 513.9963 650.1188]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.5087 627.2597 283.504 638.1636]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.8318 627.2597 448.5578 638.1636]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 627.2597 513.9963 638.1636]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 615.6781 178.8624 626.2085]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gf1c4903edb1a626a36a7220038f963c4) >>
->> endobj
-2354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.4942 569.4764 351.5459 580.3803]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_46fc9d1041d5548a5f8f220af2a07028) >>
->> endobj
-2355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [361.7501 569.4764 435.1444 580.3803]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 569.4764 513.9963 580.3803]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 557.5212 210.0952 568.4252]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.4296 557.5212 386.425 568.4252]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 557.5212 513.9963 568.4252]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 545.5661 179.1116 556.47]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.5008 499.7379 361.2747 510.6418]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6ff56c68b449b94588ea7290d01625d5) >>
->> endobj
-2362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.4854 499.7379 441.8796 510.6418]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 499.7379 513.9963 510.6418]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 487.7827 210.0952 498.6867]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.4296 487.7827 386.425 498.6867]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_ge5679e4f41db32b7b91dfc81574fc1d6) >>
->> endobj
-2366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.977 487.7827 513.9963 498.6867]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 475.8276 179.1116 486.7315]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) >>
->> endobj
-2369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 391.4535 285.6412 402.3574]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c06aed22fa4405051df0da9e7bc16138) >>
->> endobj
-2370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.4568 391.4535 362.8511 402.3574]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.3119 391.4535 472.7183 402.3574]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1814 343.6328 351.5796 354.5368]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_dd9c4afcd6f6bd78509219f32d57e348) >>
->> endobj
-2374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.4709 343.6328 428.8652 354.5368]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.4776 343.6328 513.9963 354.5368]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 331.6777 144.2428 342.5816]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.8994 294.8159 352.4033 305.7198]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_90544f38c2980f308cd6e0f9248fdd99) >>
->> endobj
-2379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [356.0126 294.8159 429.4069 305.7198]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.4776 294.8159 513.9963 305.7198]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 282.8607 144.2428 293.7647]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1183 245.999 315.8007 256.9029]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_a48f8ae0f3a2647949417ec2da1c97e4) >>
->> endobj
-2384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [319.6289 245.999 393.0232 256.9029]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [408.4936 245.999 491.8502 256.9029]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.4238 186.2231 347.5418 197.1271]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_402bb86dfedf35933c2a29cc07210741) >>
->> endobj
-2388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.6756 186.2231 426.0698 197.1271]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [444.4776 186.2231 513.9963 197.1271]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 174.268 144.2428 185.1719]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1658 126.4473 303.4247 137.3512]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_abb79ab0a7936b6f14cd20e15cb14fa8) >>
->> endobj
-2392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.3004 126.4473 380.6947 137.3512]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2719 126.4473 479.6286 137.3512]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2339 0 obj <<
-/D [2337 0 R /XYZ 90 757.9346 null]
->> endobj
-2368 0 obj <<
-/D [2337 0 R /XYZ 90 406.5319 null]
->> endobj
-2372 0 obj <<
-/D [2337 0 R /XYZ 90 360.7336 null]
->> endobj
-2377 0 obj <<
-/D [2337 0 R /XYZ 90 311.9167 null]
->> endobj
-2382 0 obj <<
-/D [2337 0 R /XYZ 90 263.0998 null]
->> endobj
-2386 0 obj <<
-/D [2337 0 R /XYZ 90 203.3239 null]
->> endobj
-2336 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F67 170 0 R /F84 923 0 R /F40 154 0 R /F85 920 0 R /F36 1288 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2402 0 obj <<
-/Length 3760      
-/Filter /FlateDecode
->>
-stream
-x��\ms۸��_�o�gb�/��K/׻���]:�pw�Q$���"U�����.I��d�
�G|y��\ �����Y�PB!ø\�wgxq��;#��
��yv�F��AFR�x�I�	J����ץBĜ_��r������es���
Ή^6�U��9��/����p�ZW�����0U�]"����翿��������d�$�������b��p�3Z,����.vg�2r{���߃
w��B�ə!�Ia�#-��	aHr��8)� ��Z�7�$)�qD��gB!�?
���$�z`�ۿQ*�"��
�����^*6d�v[���"&�9�Z��M��9���%��ր�k��
-�TuN���~Uo��{�PW���ۦ
�ɠ�(!,*Lj��e#�����Q��\�|ɂ�܄{&��
t\Ey�

U����ݡ
_��rp���uB�
���N��}�W{�p�%ͻ!�
-V, 
����tx�
-CX��R&=�"�gi���+ą�2z� �[@1
s�&�`$�Tx�����Q*��+aQM!6�2�Q0$��.v`D%�D�Y������u�F���$(���c�0��L��{�&!�#����G�n��ԝ6���*�>U�9��.��C���渭o�"�bS���A���1`.�@=�#5	1B���KȰ�C<��b�����|G�x�+h7��K��@.y*��!=�@�V��X`�J
z�Q:P��R�~8Ԛ��
_�?�����vB��	`�4�|y�T�.���1�a{�XB+�x<�3_�`"w�j�b�Nc/xT���bdlC�E�D��ݷ��
_0`*w&���TI�wC@�����	E�Vl��BQ!����
�U� �XR�A;n�SA;u��2/�)@�0�����Ҹ����
�q5�;�9p��zdϘ�=�`�"(C+6y
-f@�
���#�UC�	�a֪���7�iuL��[T�J��.1=�Ã�
��@���بHt ��n"ο`J{f��Q�s�\7u���������3|�>Ա��m��%E�(oX�0	�"�Ձ�[�\wyC��,W��%��CB���w�s�cѓ@FM?�X�9�W��AY5n6$H3y��^i|^��zp�{����L-�c_�G��n�]�Z�+��6��@ ǔ��R�m/n�>�WǶW��NY��QdU{�u��k��o5.
ʤ:���K@�@$�
���%	�QO{D�+� �\�Fi���	�R�Y�|_���˿ݵ{�7w��M%'������I�����������O�jSIY߿�J�
^�>��c�\�`F��L��K��y?T�
-ɡRrdJ*	�D�
Ss]�E
�r�3 �
�|*�)X�D@,a�#c4Z�9K�BX��/a�HD�H=ʚ��")�0�/�>�j���B�
�v�ܵ���N?i������Nq�h�'�I0^�2
V�2��\����Q&V��2�3�L^�Xje��aZNbF���)�A>h 3o����`4�)p�fƳ6�V,${Qр����
���մf�v"K��m��h*w~��Xص��m@,��1�G�����*��,nE2r��þl�N��l?U~��%1SBSj�]^ڠy�|N����fKcN�,�� +��X`&����m�6چJˡ��},51q�:��۫��n?�m�VHЛ����-rw(�F�H�P� ���대/Z0���
-�׆ɼ/�`	K�͜�|~���X� jk�r�g����p��
�/�p��L�
0kڟ��
�Ed�ݡ+wOUo�j㵁D�k�#���'�t��(V�KE>.5������	Ct)�yX9�Es�/��G�Xm.�
�Έ|y�c��F��f��fuFi�U�zm����!�1�대/Z0�;k�usJ�^��
�*�U����b
B̳ٸ0�E1/���y
fM{
=�K�<;��s����9�f�e'U�b���X�x~��`~��DH^��
0�H�8��Y������s
-
�ס� ~ݷO�ݻ�]��N��]��͓	���K{���M�c�בN����ckg����
�·궹?W|i�6pn'�;�q_��5�����b{�Uv���uf�D�nn��j[�4���]���W���y�.��C�[�M�����8��N����Zk�[�v����>���U��ڃ������vߦ�}�1�{dcƉ
#T�
=�ȍY���J{f�u&�9bD5f��
��z$��@]ٞ}�z��}hvW�UuuX����舻��"G
s�uL �c����5R+�B@�
qb�o��~$uIr;u��E���p
g
�E�FO_��}j\BhR��P��=4�:,�.��1Ƚ�z��<�HSW��T� �2
��~t�U���a���`�
�
0k��1�0�8.�&|b�� ��Y��mo��@�n�
>N[����Gm{-�zw��bˣ���n�>]��+�&j7T�u��4�R
��w��G
�|\�����u���'�7o��ڎ*O���}pv�
��,�u��RH��K
�Z'��ɔ_��lz^J=��rs;�g���QLt�$��&���Ϥ@b�șK��V��X`��
-z{"�M2��>��Z3\��K�'r�|v�ֶ�=�o�2��M�F@�QU0��IU����R̦(�י�
-����ȍC�(!�f�PS��*!N��P��J2�r��
��?M�z7yn����Fu�+��l*Cl
5�ר�H�����22�`1�1�-؏�k���Gs{ͅ�5�֮���ܶ
!��Ȳ�7{�m������1x����1~3,�T������=��7{������9:�
-Q"Og1�
?��7b9	c�E�BF�_��
��BC����f,Ld��"X��b�I���d���f�Ǘ�O�	�ݻg�l����(룀*�h�2��4l��I�0�|���d�D�,n�r��-dY/�ԆQ񦑒l�gr���fz�T��=5��u
-8J��G�:G4�r<�as�"���	X�E2rD�a1����>�=�q��o:*��Y�&u(�챛��O�8‘�g)rBX��8��S\�,��:k-�

�J8{�(��e��K8b�X���pDs��N�<�X��b��+��n����H
n�5;
��K�'r

��"ή�B�˻*�
-�2%!
Ab5l��i
������K��Rg�� H�Ro	��	�
-"1�r�g�Q���L7�
-.黎�|G��mD�Ij�
��2�`3�����xN�:q[,#�m6���nJOē��q��:����2�^��D4G)�9J�NC!�Y���,����Q�h�R���
��s��P9��`�p�2��E
G�/���3
p	�J����
	�1\^�g�X�c�P4&#���(_�?����7U
�}
��KB�D\�wH@
�� ̰
5Dj;
-'��l�|ɂ��'l���YWxP�;)�
u�S1����0�_2`"w�2-	�#�����V#J�#�"�aa`9��"Šd��ì]�����[�OwB��=�!=��c�3U�9�n��
���
��eٗS�`��`
]@����Nh�
-g��6�ڞ����rD��
=�H!_��D��.A���
ո���ݯ.A�"�vָ
9�Q��O�6�t�o��Ã;�7��]�7w��*�I&�C�;��X
�p�MIw�?����i��'��:�~�
	�Aӿ��K5y�1�֩a�:G���Z���F���"����"�L�Z�|l��//�������������%����b��.dߨ�횬���-��\#�GbS��`�5�ʿW
-w�F8��|	K�
/���endstream
-endobj
-2401 0 obj <<
-/Type /Page
-/Contents 2402 0 R
-/Resources 2400 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2120 0 R
-/Annots [ 2405 0 R 2406 0 R 2407 0 R 2408 0 R 2410 0 R 2411 0 R 2412 0 R 2413 0 R 2415 0 R 2416 0 R 2418 0 R 2419 0 R 2421 0 R 2422 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 2443 0 R 2444 0 R 2445 0 R 2446 0 R ]
->> endobj
-2405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.3569 708.9611 314.2075 719.865]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_81cc2a565346ce8ee12124224ddd8d6c) >>
->> endobj
-2406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [321.2743 708.9611 394.6686 719.865]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [417.4258 708.9611 500.7825 719.865]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 697.0059 208.4514 707.9099]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.6954 660.1751 304.8484 671.0791]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d6b383704ed3f314864c52f5b715cbbf) >>
->> endobj
-2411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.2536 660.1751 384.6479 671.0791]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.9166 660.1751 489.2732 671.0791]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.7905 648.22 244.1471 659.1239]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g32ce20a24d131c3ec8274b907176bfec) >>
->> endobj
-2415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 563.9311 240.2818 574.835]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_f8a9392f205531631b3a98c332f594b1) >>
->> endobj
-2416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.0975 563.9311 343.5039 574.835]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 527.1003 243.5994 538.0042]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d20b13c4f378bdc5aa64c3e833a62cba) >>
->> endobj
-2419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [307.4592 527.1003 406.8657 538.0042]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 490.2695 254.6677 501.1735]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_658545ec6169d2843323bfe1ff078e6f) >>
->> endobj
-2422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.4834 490.2695 357.8898 501.1735]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 453.4387 249.1284 464.3427]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_affebaba13f6fc73438bdccde0966547) >>
->> endobj
-2425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.9441 453.4387 326.3383 464.3427]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.3198 354.2059 345.4004 365.1098]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d9547cb6430722246dea7f5a70566c06) >>
->> endobj
-2427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [354.43 354.2059 427.8243 365.1098]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 354.2059 513.9963 365.1098]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 342.2507 208.9892 353.1547]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.2649 296.4381 358.5908 307.342]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_3bc82e8c76e1a47ecc20c85e1003036d) >>
->> endobj
-2431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.5656 296.4381 444.9599 307.342]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 296.4381 513.9963 307.342]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 284.4829 208.9892 295.3869]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.9348 238.6703 356.4014 249.5742]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_7573064b44c45d804d398aec02e7a64a) >>
->> endobj
-2435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.0461 238.6703 435.4404 249.5742]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 238.6703 513.9963 249.5742]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 226.7151 208.9892 237.619]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.88 180.9024 369.5918 191.8064]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_0184ad10aeca27f95d249d3a7e061b46) >>
->> endobj
-2439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.1817 180.9024 452.576 191.8064]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 180.9024 513.9963 191.8064]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 168.9473 208.9892 179.8512]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1839 123.1346 267.4581 134.0386]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_6137f367c0c83a73146d84c998d37cb3) >>
->> endobj
-2444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.3518 123.1346 370.7583 134.0386]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [386.3762 123.1346 513.9963 134.0386]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2403 0 obj <<
-/D [2401 0 R /XYZ 90 757.9346 null]
->> endobj
-2404 0 obj <<
-/D [2401 0 R /XYZ 90 726.0541 null]
->> endobj
-2409 0 obj <<
-/D [2401 0 R /XYZ 90 677.2682 null]
->> endobj
-2414 0 obj <<
-/D [2401 0 R /XYZ 90 579.0018 null]
->> endobj
-2417 0 obj <<
-/D [2401 0 R /XYZ 90 544.1934 null]
->> endobj
-2420 0 obj <<
-/D [2401 0 R /XYZ 90 507.3626 null]
->> endobj
-2423 0 obj <<
-/D [2401 0 R /XYZ 90 470.5318 null]
->> endobj
-2442 0 obj <<
-/D [2401 0 R /XYZ 90 140.2277 null]
->> endobj
-2400 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F74 214 0 R /F85 920 0 R /F67 170 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2453 0 obj <<
-/Length 4151      
-/Filter /FlateDecode
->>
-stream
-x��]ko#���_�o������ߚ�ͣ-�&[h����ز#i����^�
i��K�b$
��|t�K��nj؂�l���(C��zqywF����gl��
-��J��>{���8�����΂fDq����[����QJ��_�s���}��\�ϙ]��.����Wt���ٿY_n���l�l:�f�}ĤPK�ο��ٟ_ǘ�����G���w������%�Y�xo(�����Lr�ܞ}{��h��C��ҕKj���.VB���%��0#8d�
B��1K�'Yb�͹]D���8�\
�0��"58�P�_�	ul�v�;N�JM��2�����
0ߤ�
�?���:��)�C\o�w���n�����m������)ࢅ⮞��BB�Θ˚�*:�
= 
���D<An7$��~w8�)�4�������B"��Ky�L7�L�jE�Ҷ5�0�;N���3�`,*0��”�K���\|�x8n���J��=��-�Z��.X��<�(�V�'k}ϡ��ͯ�8ˠ��t}��Jc^
��A��P�
-�1A��^
�P�[{j���ȅ�p��$%\K���������9�ex����y��]�E�x?�{3|n����ѥo�s���M��]��6�*���3S�'���s�M<w�piX��M�_ ��
.a}f�Yn��]�U��Wl��]M�pr���&��@'��oBJ:�*�>��6��-�7��Mb��6u�٤>K\���f�q�i4�:�Y`�O�2)ZB�QVMC�c�� ��,�^�B���1��ϭr1i蹠�돠z BJ"����r�P�-M��G8�=�:&�'��R��D&�9��zR	��?^�K?�h�);��'6j�?�|T���
��c���MV���}ZKU��C1�.�R_�X��BI�"D0u
�S��c`�Rc
-J�r����2��
����)�����`������������ӆ�^��[�*�aZ�-Q��و($
n�Vg�(Ww(�T�քD<An���ð���Y�($!-�.�B��k��5s�ٜ+�s��P����"��h���MO�i<���cJwR�OlԊ}�=��?��/h �
Y�*�����y�)B?�͞K�[�� �i 1X����@���J��)�y��$
x����
�7��w<^����#F
[�ND!�	&��&o��b��
���h��&Z��(гH
-����WY)�"1N�к5����
9��°���l]*=^P�vj�ɀ���j���[�
P�V�4�2 at PFXe(��(#�Q��S�/�
0�
f����
A�x�ž�
0�t!�
�!�P(-$�*�Pw:�B�25y�guי�B���7ooo/և��z7U�v���LDP=
cFP���/M
,��H6&#���զ�`�q��#�
�P
-��
w�����"�2�x��8ϭ>cEe8%�9��z~C��a�c��KA
c'���6jU=����
�C\�/���)g���
]�I�W~�Uj/���(�Q���U��+(��$

F�5L��J�
��������il}'��
-�����P�S��">r�P���s�su�j�末������R"���f&�����!��Z�$�&\	ۚ��G#��6�u=I�Y(,K	�
-8��P�
�:l�A�c�'v�Qݭ!j4��K=
-�DB$�	9�)��������F��؋���=R��ـ�j�x��ʲ��RAU	�%�7���ċ���>`�-�D���
-; ~v�-.��
���ke�g�c�'v
��/��7�W�` x��8���O
�+@���z�"
-	T�<AHdz*�L��ͩ�x4��n
Y�
M�aW�QH
RI�A*����5���
�b��jib�c�XH#��|h0�V)�Ы-'�<��+�V�O���v�;�f(k��G�ci���CG�r?TJjJc��JmT*�|X_��+���@��hI���H
�� �
z�����vםP���]�����$x�����OX� �����\�cU6
��ogǗ����[��a�&`n]�B�f���!/}�\�jY0	�T�=�-L95h��5�Ƨ1�v.^CU�a߁
-�`�� ���˫��Fo����Y���Il��[T�
fϡ�ʉv���`9&����(�s�HYp �����6����[����n���!����6t��Og���!ǜ�9�S��6��1�䭄��i4w���������S��+���EҾ��꺗�NfG.��5aU��U�(�aֲ�kEX
x���nA-|aܳU��~}��� Bb��z�Q��MISiK$��5K�F��m�T^^�z
-
�_J��
��T��'z��b�IO�g�)�TJ��6�����S~�B3-O�S����������	^�=�w6X�v��)���=��x=�?zʿ
�TΠ�<t���)I�ꞣ��Oz��\b8�����
]�r"
n�"YS0#2���rG�����:����4����v-����@7"Z�(�F=d�R����AK�WOZ������f���)o�S�����!Ɍ���[c1�?
-�G1�;쬘����#��2~&i^\L	�A=��� �"
S����B�bj䶸�a�5Zd^+�
�?�ۼJ5=䉖�zb"
-	̟
-�J��AJ
-ʯi(
���x,��ݦ-
�a`(�d!��`^�%��GAEQ���
D<�j�}

-0�K�뙈($���5�H�[�Cm�r�=4����	��
D�����^w� [���y��)�[���db�B�u�G�>+��#��.�uf�m�arr�ib�-��dDP="����m�ŝ}��y[>"��~b�m[��na2\��B0�(9r_�ѷڗ��kp�un�9������
DP=
	aHjƝ�N���&O�E/�Q!�;��������rB��$*�/D�R`T�3!s�S{�O����u��`h��}<�� �xPq���O5��&�j��r��L��Qa�o������,�Q�y�����1�����m���0o����������w�4-�K��VQ]�\D!�K�2��X�9%җ����.��r�-�(ƒ�U�BD!1(�Щ��N	4v3c�?C���J��P�
-#
ʛ��%� B€A�wm�8�a�=�
�'�#3�X
��\|���N;��
-�f?����D�_�e��q@�|B1�0��!D�>��T�t�0�QS+�q��{��j��v��g劑��G�Ȱ1@�������&��p���M���_9�n���̊��t9w���A
o�G��`P�� �{�-
-a��8��
��
�!��g�{j�l�S�|%��٢�.<�0{}&
<Y�e�;����o��
�!�Ꮌi�T8���)�FhMZ߸1�.���S0�[�)�h�h��`����
>+N>3�A��k���↝�����^�c�BT���;5X�߈�AŒ��,FY+d浺
��1���헦>T|
��ע���B�����fa�7����1q�F��m:c
1��z"
-���_y�gvs
#�.��
p�{n5$ 
��*Lv��A��8��3az��a/?�p@�RXAS�
{�V��P�3"�<��
�ab���\��VԓQH at B#m
ϯ"���;���N�橍�4���
���܈�27~F7��]�r.h_WP��+sg�Ĕ�6S�.U�.S��W�.(�$�'e�敹x:<դ̅�=�N
�O�����
�<�
W�i�\ k��Mܬ�%�N���̋��{����
�(�5����"
���0��
�<u;�0n�y�.�wx����/�OW�
��sb-S�D*
�
�`�B����?s� G�gV��8H I%�Y"
-	A*H�ڪr6�1Og�����~�)�D��'�ٓ�3/��+�Ul�t~@8�>��|
�,�`����G�=��B���\�{��d��g�
)eZ�~ ��q
m��$��j&�:�߶A�H_�g�|�)�����З�����_�Z�l�l��~��ޤ?|�(���?��Ε
-Ϭ��z׫cx�����f�������5�v�)�lh1Nd����_ǿ[�}a�|����deb����x|��W�޽#��v�}ؓ��t�W�"�]k�UMb���?�7
-�Mx����>(�
|xבÄ��H�8V�endstream
-endobj
-2452 0 obj <<
-/Type /Page
-/Contents 2453 0 R
-/Resources 2451 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2516 0 R
-/Annots [ 2456 0 R 2457 0 R 2458 0 R 2459 0 R 2461 0 R 2462 0 R 2463 0 R 2465 0 R 2466 0 R 2467 0 R 2468 0 R 2469 0 R 2470 0 R 2471 0 R 2473 0 R 2474 0 R 2475 0 R 2477 0 R 2478 0 R 2479 0 R 2481 0 R 2482 0 R 2483 0 R 2484 0 R 2486 0 R 2487 0 R 2488 0 R 2489 0 R 2491 0 R 2492 0 R 2493 0 R 2495 0 R 2496 0 R 2497 0 R 2499 0 R 2500 0 R 2501 0 R 2502 0 R 2504 0 R 2505 0 R 2506 0 R 2507 0 R 2508 0 R 2510 0 R 2511 0 R 2512 0 R 2513 0 R 2514 0 R 2515 0 R ]
->> endobj
-2456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.4741 719.9123 322.3492 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5e7090393ee5801d9c988db6d2a06a43) >>
->> endobj
-2457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [333.5332 719.9123 432.9397 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 707.9571 208.9892 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 672.1349 265.7164 683.0388]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ea399d3df97c711c758c8bf715e0c763) >>
->> endobj
-2462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.532 672.1349 342.9263 683.0388]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [358.3684 672.1349 451.6677 683.0388]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g429b479c97f57c41763a019c2dc5bf10) >>
->> endobj
-2465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 636.3127 269.5918 647.2166]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_612142029eeee3dd72bb0d37c670d6db) >>
->> endobj
-2466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.4074 636.3127 346.8017 647.2166]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.2438 636.3127 489.8639 647.2166]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_g6069aff3ad06a502f746df4adec1c16c) >>
->> endobj
-2468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.699 600.4905 310.7601 611.3945]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_841ceef027f12d5c99fc2e739ae340fb) >>
->> endobj
-2469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [317.1691 600.4905 390.5633 611.3945]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.8403 600.4905 513.9963 611.3945]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 588.5353 129.8568 599.4393]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Generator__System__tag) >>
->> endobj
-2473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 554.1859 276.8145 565.0898]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_ad3749930a51c38886b1d5a01dbbba92) >>
->> endobj
-2474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [280.6301 554.1859 354.0244 565.0898]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.4852 554.1859 463.8917 565.0898]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 518.3637 301.4419 529.2676]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_06c7c974043c12bcf349c119e73cc681) >>
->> endobj
-2478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.2575 518.3637 378.6518 529.2676]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.1126 518.3637 488.5191 529.2676]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.6325 482.5415 372.3281 493.4455]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_69c0a9ffd5b8910a90a91943a10fe3b6) >>
->> endobj
-2482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [377.6704 482.5415 451.0647 493.4455]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 482.5415 513.9963 493.4455]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 470.5864 180.7756 481.4903]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [144.1918 412.8464 357.5102 423.7503]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_1e5a2940765710cccea4ef4f1b7f1092) >>
->> endobj
-2487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.4119 412.8464 440.8062 423.7503]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 412.8464 513.9963 423.7503]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 400.8912 180.7756 411.7951]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.8801 343.1512 316.9872 354.0551]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d184bea5f8f38b87293d639d57ee340b) >>
->> endobj
-2492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [320.5771 343.1512 393.9714 354.0551]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [404.026 343.1512 503.4324 354.0551]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.1057 284.4149 297.8357 295.3189]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_88c408677f6de73fd80903738268efa3) >>
->> endobj
-2496 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.6513 284.4149 375.0456 295.3189]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.5064 284.4149 484.9128 295.3189]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2499 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.5942 237.6338 421.8468 248.5378]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_977522267df419dd5f2824ce6c0f7610) >>
->> endobj
-2500 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.1509 237.6338 501.5452 248.5378]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2501 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 225.6787 224.5012 236.5826]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2502 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.3145 225.6787 363.6181 236.5826]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2504 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.8871 167.9387 400.7626 178.8426]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_96eaf729b170b6df69bc2d1127f8727c) >>
->> endobj
-2505 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [405.3596 167.9387 478.7539 178.8426]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2506 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.9727 167.9387 513.9963 178.8426]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2507 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 155.9835 206.7877 166.8874]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2508 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.601 155.9835 345.9046 166.8874]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.8163 98.2435 368.4805 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_88a7c177ebe33a3d41609609660fd3ee) >>
->> endobj
-2511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.0067 98.2435 448.401 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 98.2435 513.9963 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 180.7756 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5889 86.2883 319.8924 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2454 0 obj <<
-/D [2452 0 R /XYZ 90 757.9346 null]
->> endobj
-2455 0 obj <<
-/D [2452 0 R /XYZ 90 733.028 null]
->> endobj
-2460 0 obj <<
-/D [2452 0 R /XYZ 90 688.9758 null]
->> endobj
-2464 0 obj <<
-/D [2452 0 R /XYZ 90 653.1536 null]
->> endobj
-2472 0 obj <<
-/D [2452 0 R /XYZ 90 571.0268 null]
->> endobj
-2476 0 obj <<
-/D [2452 0 R /XYZ 90 535.2046 null]
->> endobj
-2480 0 obj <<
-/D [2452 0 R /XYZ 90 499.3824 null]
->> endobj
-2485 0 obj <<
-/D [2452 0 R /XYZ 90 429.6873 null]
->> endobj
-2490 0 obj <<
-/D [2452 0 R /XYZ 90 359.9921 null]
->> endobj
-2494 0 obj <<
-/D [2452 0 R /XYZ 90 301.2558 null]
->> endobj
-2498 0 obj <<
-/D [2452 0 R /XYZ 90 254.4747 null]
->> endobj
-2503 0 obj <<
-/D [2452 0 R /XYZ 90 184.7796 null]
->> endobj
-2509 0 obj <<
-/D [2452 0 R /XYZ 90 115.0844 null]
->> endobj
-2451 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F74 214 0 R /F67 170 0 R /F86 454 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2520 0 obj <<
-/Length 3512      
-/Filter /FlateDecode
->>
-stream
-x��\Ys�6~�����U��ڗ���\�J&ޗMR.Z�mntE�������ǙJ���!���l4��$
db�D	�
�r2_]��=
��	�gp~������RL
2������ 	����⧩B�\��x��.o���x�Y>?���%�����.�/gT��W������|[ޕN�\�C�31����/�y
}
-.
&��跋�~�����F�h1y��0t���5?�?^����ԝ3C��@�#-��aHr���RA�@TSP�(CX
-
C��DC%�!$
#*9�D1ȯ� �O��7�M��0ڰ@W��
ɑ��zc��
KБT� P���f]պ\������
���v��c��M6�7p���5"12$��>�@LE�O@���b������z�P�bL��^w�<X����m��6q��˷��l�T-�u��O��1�7
-z��}	m܅����Q�X�?	�
��"=�����ؖ�ʎ�K���r^�n���T���{
���������U�� 1�d&��.@1�N�E��K���侨����ƭ�� �\���nN%#KFR3~jN�~%!� �8�(L�J�|�3���@H��u s9@'3i at L� �ᡔb���I�n�L�Hy���6Rcv�Dؐ�Y��*�ObzV��}�y۶�ȏ����#��5�ժ�d��R������zW@݁����P�
f�"iS!�(5�&�q�z�Ur`V
-�8��)ʏ:�כ�Ӡ�8�)�K�B��C_,{9����U�Ո�\>Q~��@oW�nf�)30i
PG�
�Mra"� �
�H�azp1
R�Ԭ-�HiM�M�F��m)��@�B
ҳ{|P5�c

�vu势-�7?>��r5
	#ic3'�(5��jĴ�C��*3�K at D��|�ud�W{��j
|���.�t �����H�1�5��H�-��砗��� |q	�M�%(�
-h���
�"g������ ��{1��ft
{5b�ث�0���v��6��^0�	i������D#?f�7�)n7��`/ό�¯��7��W���z?��v�<�(5�9 at 1����
K�1n3E1rj������1`�H(��Q�R#>,����v�b��a�#��g-�L��.�ȅ�ڒ�Eכ^ ��0>�16	ZN��@��'� ��8���r��.��hD��7�!BEǛ��_��v��a���U<A�Y�e�$X��[����a���6��^�j�֑n�XnT��
���B��	�M��
��t�
��U3h7�ͺ����k��&$R���1�Bm�p
-�Ao�Y��L�
�9y�LD��9�晰Ĥ
��
-���Y�W[���G��`�L��
l��@��
BH0��6ކm����xۢw���1�Fa4
����tz����n���|�+ ���q!���U��L`��J�mv+烙���H�L
�D���TMM{�PcS�먄��g�
Q�e?��BVkNN�VFogPE��X&�B��q)���d>�C͔�{�@ �A�� ��q��HF���Q�;!�e;��s�	-I&IHh�b�k m��%whJO�&�u��8R����ȫ��1,�$�ف��zS���{���
����"�E��#�PD"Ŋ���#����~�ӈ�%�rY<��ʹ
z����`�z�r]��I$4�5�
�Bw�A+uz�wE�,n��a
������~�sJ!8�����)g0Ak>�)��(�l+�p���w�
Y�ǔɞ��z���?Лᔹ��QBiw5T�lآԈ��.P)zݕ"�@Q�ƭ���z�꾑���
	A#5�B�&;.
g����k
�l�gҶ�z9��:t�Q�݈�����<1R9��@���lL�2�P$�
��f)�A�p�f�֑a�Q��H��H�
:�:|d�
�(����!BcȈ��n	�Q�
{$�(7]n	
-P
~t�8
pP�J9���.rK��=` �yQB��tw�� {(fgn�:n)^�-ɟ�\�?�dgr�� �� �
�uf����b�4cr�\F�Qr�V�!�#vJ�M�Kl
��Y͐� ?f���X0���pG6RQj�S��H`�
UrØ2�R,O�U�����$J)��,��B��[xfX��2�N��a�؈����{��0]�ck6q�X[�膱(t†���6��x0���Ʋ!9l�;7�u
�0�)�ub�k�a[G�
F��s��s��s��s��sǿ�s��W}N�ɴ@\�N0��P�!Ql�`�fƈ�@0:f��s��]������~�ӫ��(0�N�a�R#n�)Kr.{ݓ|
�f %�*ʏz��{����ng�F!J���apJ�B��!�.N���]�����م}B���h�
eQ�vѵ{��`����E6$v�w(���C#��嘩װ���
��b�gO�gO�gO�gO�gO�gO�`��\A�h�i��#�U�$�ڐ�UD�wA>/a� [...]
������o�-6+��W������ᄏ�o�]r
�
-�����8?�.��9G���kk�a:�����t�F�C��zh)S�x4~�6��;���6
��0/-�YW��l	s�T�)��r�w����ۍ�`��
X��WsH��xW��7t����+i\����7
�D�i6]��L��@�;ӿB|�>y�<SX��‰E��+Gඬ��r�_����ٹ����Y*$��3QVY>�֭���.�yU7��uQ7W<=��8
�p[X
-�
Ĺ/P

�E�0j�n��f�R��(�:�qPZ�G(�q�һ��D#����`�s{�tx
TNWe�LJ
��$<-��.V[��d3�� ;�xS��Q�4���]>�$6�q�4�*�aL!�hb�2�I�T-{aOi¤]��a�){�P�
�x�Ȧ��ǿ,�G�ޅ��*k
U6]�EP%¯�/<
$8d{÷�dc[WA�/)̗+���
-6�7���w��t��L����\|z9�DAJ��|�4����
��
�����5����t�������g/�.��s|�ڕQe���
�1���U���ߝ�
v��ˉ@t�l���
-a�vh�W~@�z����]�(����A
ث4�0��0�}����"�+�h&��岈o��T,7�m�f��Oq^}�,���LP��U�Zw��J�uۨ�=.��U�l�aW��}�+5,�Wc����>H͢X��nq�L���D�hX��{Ա�Ib_~7��$
a��D�PXR�i�v�B��}��P+�/���_7�!���4�����%�Q3DQ���D
-��o�I�1�/t��A[�D�36e�wlf�*�������ơ}@T�Bmy,���w�".����/w�bFο]��m��
�#n	�"`��Dz
,1`�N ��_'M��JQs��u������^����~�����������PU���}3\���~��
<�B_:=d�;�2
W"�]mve�
	�/]�� AXʓ�u��endstream
-endobj
-2519 0 obj <<
-/Type /Page
-/Contents 2520 0 R
-/Resources 2518 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2516 0 R
-/Annots [ 2523 0 R 2524 0 R 2525 0 R 2526 0 R 2527 0 R 2529 0 R 2530 0 R 2531 0 R 2532 0 R 2534 0 R 2535 0 R 2536 0 R 2537 0 R 2539 0 R 2540 0 R 2541 0 R 2542 0 R 2543 0 R 2545 0 R 2546 0 R 2547 0 R 2548 0 R 2549 0 R 2553 0 R ]
->> endobj
-2523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.3757 687.4282 353.6627 698.3321]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_c78c1168665c72eaf8c2457b12700fba) >>
->> endobj
-2524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.7482 687.4282 438.1425 698.3321]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 687.4282 513.9963 698.3321]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 675.473 180.7756 686.3769]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5889 675.473 319.8924 686.3769]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5682 630.4301 425.8987 641.334]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_875b11e85fe96586152f53f498158b1f) >>
->> endobj
-2530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.1768 630.4301 503.5711 641.334]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 618.4749 224.5012 629.3788]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.3145 618.4749 363.6181 629.3788]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [145.0273 540.5553 412.9806 551.4592]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_b062917f016d95800e29f87c203fd3bb) >>
->> endobj
-2535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.7178 540.5553 497.1121 551.4592]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 528.6001 224.5012 539.5041]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.3145 528.6001 363.6181 539.5041]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.3863 450.6805 373.1282 461.5844]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_5932fd0c6867d83e3a34d5e680225807) >>
->> endobj
-2540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [378.2243 450.6805 451.6186 461.5844]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 450.6805 513.9963 461.5844]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 438.7253 180.7756 449.6293]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5889 438.7253 319.8924 449.6293]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.9456 371.7646 358.3103 382.6685]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag_d4b80df36fc02b4c47ca160420e50182) >>
->> endobj
-2546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [367.9658 371.7646 441.3601 382.6685]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceppl__Polyhedron__tag) >>
->> endobj
-2547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [464.9606 371.7646 513.9963 382.6685]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 359.8094 180.7756 370.7134]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gbc52e1474c4b78458b4c13ddbfdc8e56) >>
->> endobj
-2549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.5889 359.8094 319.8924 370.7134]
-/Subtype /Link
-/A << /S /GoTo /D (group__Datatypes_gd55dee4843ce4694afab11a60f16ef40) >>
->> endobj
-2553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2521 0 obj <<
-/D [2519 0 R /XYZ 90 757.9346 null]
->> endobj
-2522 0 obj <<
-/D [2519 0 R /XYZ 90 703.8345 null]
->> endobj
-2528 0 obj <<
-/D [2519 0 R /XYZ 90 646.8364 null]
->> endobj
-2533 0 obj <<
-/D [2519 0 R /XYZ 90 556.9616 null]
->> endobj
-2538 0 obj <<
-/D [2519 0 R /XYZ 90 467.0868 null]
->> endobj
-2544 0 obj <<
-/D [2519 0 R /XYZ 90 388.1709 null]
->> endobj
-2550 0 obj <<
-/D [2519 0 R /XYZ 90 294.3135 null]
->> endobj
-2551 0 obj <<
-/D [2519 0 R /XYZ 90 141.2133 null]
->> endobj
-2010 0 obj <<
-/D [2519 0 R /XYZ 90 118.9015 null]
->> endobj
-2552 0 obj <<
-/D [2519 0 R /XYZ 90 118.9015 null]
->> endobj
-2518 0 obj <<
-/Font << /F65 161 0 R /F74 214 0 R /F67 170 0 R /F52 145 0 R /F25 148 0 R /F86 454 0 R /F85 920 0 R /F89 1285 0 R /F91 464 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2556 0 obj <<
-/Length 1955      
-/Filter /FlateDecode
->>
-stream
-x��YY�"G~�W��B2�y�on���yw���xԪ��
-�(���;"3�H(��Z�Z��Ȭ<""#�����)���ѱQ�8!�x�
��3t=b���O��x�}�����
?<�4#�3>~���
an2e��l�]=�0�4۬^ż�0�m��:�L���?˺���Y��.�
-?�(}�Be�L><|3��)���f(�F�?��
D�fD�pV�Р ����Hr�4V�w���~抉�?R�
B�^�/���|7�
-*�<<��c-�)C�^�5��2
?�l'�f/��yB��ষ+ӂp�-���naL"c�)���j�e�jY�v�������iS��E�)�	W�a��UE^�a��>�ϫb��{ʌ"\1��x^�a��ё
��U�2k�Z[b���'�
��G�:�u�RkYM�u���vSo�we�#8��m;�t�TEj�aBu����
��z
G�T�۲~	}�����(�Ѓ����*�$�]�v�L%#�jц)��P]��:�eqx��ܧ�g�x�)wu�ì�w/��X�d��L=�A2ޗLhN�5&���p
a�c�(#V�ƕ[oITd�(8�8�s�ə
")a�8a<�)�N�o����ӈ���b���l7 ��д�B�
0#�3����Շ�(�2ሰ�
��R
�
�l�P
}�ᑆ�ɞ��:��n�]<<|
`��f�1���K S%ԑRφ��T�! 1a�L����6�c:���-����JfD
&!��U���<*A�;Ώ��a�b�lOF��۞6��:,W��� ��F�L�mۜ8_B�������9���D#�t8�	.
��B����>N�>N�/�D�ⳗ٪�
-�3T 8+�/C�%�B7B�Q�+�����7��~�:�p� g����8
�|��$�����:��K��U1�t��,�CWpI�� v"P��P����
��J�p����偢�����@�I��#�������!�%#�V�2��:O����4D�O�<�QY	nx��]���`'"
s�vX8
��9˞���F S��|	�Ë�6$*ޏ��M�
�
-��h���Ǘ�`�CĴ'�f�h8�����lP��s���27a�|�ۯ���,��Q��E��L�s�|
��q�e
���j_��1e�1��x5�|��h��c�����Z�pXޔ7�I� oVX��T�az�%1��?'}�W�)��
r&}����Q
-���#+hz��>�.����J4�pրz��kYC+,�{Y�t�-n���6k�x>k�H�f
�?���Њ����'���\����1Jp�oG	�2�՗aN��`BIϕ��&��ƞ0�W`�
w��aB 8��T�J�R
]
-��>�%(��&v�

-v������w+�w&����Єa��m)��ϻR�B)ڗ�Ê �'e��dCQy
+gP�J��B8���Z
����0�2��:�19�R�qsǼ(A�1OD��crcz
[}��혭L/B�˭&��>�1�dF��
���:�̰C$����dbg�dr�����$Sdr�	H�N2w�M!o�^�g����1|��`�cm^	XN��e�Q@\�k�F~c��W.�t���&.ut��nD��T���OWC�����g��U�zr#䟖���I��pY�3��(�
��Ͳ�
ݭ
��oe� ��_���R�P�Z��Z�Jc&���%���:x/�(ijF�K�2 �����'��R�Qtm����BL+�_����HH�������a�\#D�@�ϫu
��R����c�W��>����>.�w��m:�qWT�M��"x}���<�Rĉ_qˢ�&�D��	p
-X�]Q
�PHʉԐ��/��߷�=�	�ތ�M�*'�mu�}sww8
�lG��r[�e}rw,�� ���O�A'�$'$%�6�Q��+��R
��u������nv@��W��endstream
-endobj
-2555 0 obj <<
-/Type /Page
-/Contents 2556 0 R
-/Resources 2554 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2516 0 R
-/Annots [ 2563 0 R ]
->> endobj
-2563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2557 0 obj <<
-/D [2555 0 R /XYZ 90 757.9346 null]
->> endobj
-2011 0 obj <<
-/D [2555 0 R /XYZ 90 657.5239 null]
->> endobj
-2558 0 obj <<
-/D [2555 0 R /XYZ 90 643.0987 null]
->> endobj
-2012 0 obj <<
-/D [2555 0 R /XYZ 332.7973 568.4721 null]
->> endobj
-2559 0 obj <<
-/D [2555 0 R /XYZ 90 551.89 null]
->> endobj
-2013 0 obj <<
-/D [2555 0 R /XYZ 90 411.2537 null]
->> endobj
-2560 0 obj <<
-/D [2555 0 R /XYZ 90 396.8285 null]
->> endobj
-2014 0 obj <<
-/D [2555 0 R /XYZ 332.7973 320.1446 null]
->> endobj
-2561 0 obj <<
-/D [2555 0 R /XYZ 90 303.5625 null]
->> endobj
-2060 0 obj <<
-/D [2555 0 R /XYZ 90 162.9262 null]
->> endobj
-2562 0 obj <<
-/D [2555 0 R /XYZ 90 148.501 null]
->> endobj
-2554 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F25 148 0 R /F91 464 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2566 0 obj <<
-/Length 1917      
-/Filter /FlateDecode
->>
-stream
-x��Y[��6~�W�V����������m��NՇ�j�Q!�IXv�}�c'8!���Vm5��[��s���sB�����
-��x�
��
-����=��Y<������R�
2������A$(����ۉB�Lgc<��6��O����.�)ѓ<{���tF�|�U�X&s�?ۥ��جn"�����w�ߍ��om
-&
&�����wx� ӿaČ�T0�a�x;�5�����v
�Q?0�sNaך0(�)#���@�hN�Bİ��A35VT""��=�*�����H1J��'˶�N�4Z�`�a�8�[�~
<>Ϸ���1��V��-�C��omV���
��,/�9�{�����
�X�
-

��JY�Ef�^�
ʏ�/l^�YY	<��汬��=�&�a�ϥ���ƶ1	�c

�l�
��
RH2a˜�n=�G"��X�1�Og��z+37x<c�"��!������t'��
#�s�$2,1/�Јȷf3��1�3$l;���n��.������f�������}�O7
u�&��ѓ�N��
|η����w,�|�{�:Ǡ�l"�|�;�;��)�Hp%zn�&6G��$��/p(�ʖ~��7��sc}�2/|c�����ѷ�
�\�J%FJj�
hg�S�,�-�����Q��Vw;ai�[ȯ��\7����{�T�V
��&��lm�+�R5��v)
�2m��
��
-�LF.�$8)�C%(S�
�� &
PJ:�	�&<U��;��ɛ�N�4�\�
-B�Zބu<9��jX/�����������x<�-�2�A�ktp?m.�J��'��v�"�f+�T'�+40��&���Pa�w1'
=3����h
L�r

�0�A+�9�M$�� �����D�( �,�(b�H*^󶺢��Q�u��2ԳۯS)j�#&$�y	vт�;1aX���|p��b�L��l^�Ne R�|��Pz}R
��ў�+�pv�y���?�*���#z�
�to��ΛE`�j_d�y����IY�v2�'a�mC�
1At��"$T�Ii����foo֘&&�3�h�U�w�k�CC����*���

��3i�����M
�g�����!R
�#Ek�U$"h��
�//]�?�Ԟh�y��;yC��J}�7��]ހ�[ހ����4yހ�`
9�
� �R�sE�$�!���2o����T1F
��8ݦ0�8�!�7�@
���q� �����) A���?
-LB�Qv��)�5N��O�����*L��S���g$ڋ(�단�אBq���W.�`v�

-�����{�
�c�	P��\�/������
-+qY`ƣ�
L
-
����E
��Ąa��;
-L�T$0]-����Tt|�=.Ju�����cz��	�iG`�������5��*�f�~+0=\�vt��"0	��T��
��n9�����
�^�d-��W��{���1�@	s�}'W��ם፾����Q
-Cش�3��Ţ�����l.{�n���{��r�����>���t3p�
V��Ԃ��8f"=$N�� ���vE�1�&�!��N������d���蹓��}�y
J�!�f�
-���zX��œ���"���WF��Y�������/O{�2P�陸u�٫�hB�E��N
����N���4&�������<�h��-��73��V�5!� �c�����Y��uR���r����
킗���&C���}���/C[�������.�.����gS!&!l?&�>	B�����-�l[��"�9�Do��1�
��H����)}�G��,z�s���r2��ͺ�v/�����h�����
 �]�.΁#�B�g�[:�\#�Lǔ6��ya)�� ནL�
Y�'"ŗlendstream
-endobj
-2565 0 obj <<
-/Type /Page
-/Contents 2566 0 R
-/Resources 2564 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2516 0 R
-/Annots [ 2573 0 R ]
->> endobj
-2573 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2567 0 obj <<
-/D [2565 0 R /XYZ 90 757.9346 null]
->> endobj
-2061 0 obj <<
-/D [2565 0 R /XYZ 90 695.9921 null]
->> endobj
-2568 0 obj <<
-/D [2565 0 R /XYZ 90 681.4218 null]
->> endobj
-2062 0 obj <<
-/D [2565 0 R /XYZ 332.7973 606.7952 null]
->> endobj
-2569 0 obj <<
-/D [2565 0 R /XYZ 90 590.068 null]
->> endobj
-2063 0 obj <<
-/D [2565 0 R /XYZ 90 447.8198 null]
->> endobj
-2570 0 obj <<
-/D [2565 0 R /XYZ 90 433.2495 null]
->> endobj
-2064 0 obj <<
-/D [2565 0 R /XYZ 332.7973 356.5656 null]
->> endobj
-2571 0 obj <<
-/D [2565 0 R /XYZ 90 339.8384 null]
->> endobj
-2121 0 obj <<
-/D [2565 0 R /XYZ 90 197.5902 null]
->> endobj
-2572 0 obj <<
-/D [2565 0 R /XYZ 90 183.0199 null]
->> endobj
-2564 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F25 148 0 R /F91 464 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2576 0 obj <<
-/Length 2767      
-/Filter /FlateDecode
->>
-stream
-x��Z_�۸�O����I���6�t�ٮ
�AZ���ؒ+�礟�C��E���9�@
?X����p�7$<��G�?
-Y�b��bw��0����x>i��]��3g�Ŝ��lU��1b��l��
�������o�wc�{���F,�1��<�W�z<!����J�d!��X��Fd�(�x<�2{{q5kd�"3ʱ������%����G4���7>����" ��l/�m�Q�	��v
a
-W1��N��!G!(ɏƘ�����i8
-	G�Ө��m^�_���>A!%d�^�Ƕ���e���!
-1e��$����H�-��~+Ƙy���K�#Xv"����F��;n��F��"�e�|
c��k�>&�K�Q�-��Ö
�(��������/߿������������t:�{������7j{#�h�3����cH��,�`3 >�kz]��ѐ1�(ɖV8����ۏ���N�]H������,/�Rݔ�tXa4��"B"j�����h�Q�,*u�ȳ�*�*/��&)��
�0�wi�5���s�!�׶�NpmB�����/Ga�]=�$�����3q���^���.vs��cZm�J.e��$�>�̗�Nj}���u ��io�ň�`J��Q�[D`��9��~��f��ß�i���>?/��c���ؘ����3���r5�EF�����"!����.�ƀwذ�T�mR���9O�*Q
Dqm%�A=��!�.��(8��?����k+�����j�T�t�/�o����`#'j�0�8�
5��=�Q#�w �Z+i�x�v�`|;u{��P�
/�=� [...]
�l����Fd�H� !�� �R�`H��Q�� �i�	ۍ�n䅴�QsHk'��
����@�Xv�{�wݜ�x��X����
-�
�|�v��Kpl/o�W>M�� �05
x�
��p�������zT��7u$��j'*=Q�~��E�۰�D�7W=���j��ݕD�vm���2�? �(
 �<z�}�C(�,;�"T�q
�
-,�bm�b���p�@e��K(t��
��!S ��t�� ��9�Iv���M7`�I1���W�Z��Qb�����
-�$RW$n�R���2��P*.Rq&���
��)�y�X� bN������ŠI��>!P6���>W� �����΅�
�v=���
],+d(�8�(;tlJ���~Zh���0
��ro����O�����M9j�f=�r�%�χ�
-C,j���f^�����e���	(���S#�X�X<�l)1]ެ�|��<�rc�f]{�c��;�g��b*W�W��
y�HJ�JⲲ� ,��� ޥ]�P�t>t0�81�^ո�+��p� ��9g�����B$��i���V�Se {;��"���d��զ:�ӂ8�HD��xc)G��(���-� ]��$v��t���
Xܥ�P����y��A(�6ϙ#óKa��u�'T
���e¿�U�l�84�d*m�Nr�*���C|�j��\;[�QI�͵Q���̲�&g�r�;��Wh,��M���/�=
I�
\�>���+Ryu�:Mez�+%;�h��!�q�7HC��[\�6 g�[[�	(��n��
v����u��~~>t	�9��c�<Q
�RSY9MW�~��a���ǵ�KH)���Y�\
-ٲ�~�6�(~L�-�!}�n�f�:�������d��h"�y��`��	u�՟������$\m󅩸��y^�#m���zR�-s�{zӲ
�wt�૿
��B
8��3
�N�l�t
���Z�I�Bi�0cC�g�1x
-2n3~�ŷ�%c�m^

-��|J����xn>�y�R��˴El3�0�A�OL[�/Tq�yp�j'��VvL(5y7��s�s���^��X�wVo�a�&���*��WV�-���ڎic�r�P#��c9�q�c��hk�����N�W}��FO����e;�̩
��,p֣v��G�7\&P5Bd
�Z�UfZ
B��ad����Xi/8dU~ ����/��3F�	���E��Z�
p����q f�-٪-����I�J��.�����&}(�B
p�ǒl}H֢��^]o���>���Ә1O;�$;������L�8e��%_V�j>Xh*z	.��xCmE��_G��/'}4&��z
-[Z�+u�����/^
�G�(�!K�J����EW� ����x��d�N("$=�-J��.7��f0��#f���.I�
OUX�endstream
-endobj
-2575 0 obj <<
-/Type /Page
-/Contents 2576 0 R
-/Resources 2574 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2516 0 R
-/Annots [ 2582 0 R ]
->> endobj
-2582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2577 0 obj <<
-/D [2575 0 R /XYZ 90 757.9346 null]
->> endobj
-2122 0 obj <<
-/D [2575 0 R /XYZ 90 674.8996 null]
->> endobj
-2578 0 obj <<
-/D [2575 0 R /XYZ 90 660.8365 null]
->> endobj
-2123 0 obj <<
-/D [2575 0 R /XYZ 90 529.7387 null]
->> endobj
-2579 0 obj <<
-/D [2575 0 R /XYZ 90 515.6756 null]
->> endobj
-2124 0 obj <<
-/D [2575 0 R /XYZ 330.4362 417.1387 null]
->> endobj
-2580 0 obj <<
-/D [2575 0 R /XYZ 90 401.2923 null]
->> endobj
-2191 0 obj <<
-/D [2575 0 R /XYZ 450.2459 326.2921 null]
->> endobj
-2581 0 obj <<
-/D [2575 0 R /XYZ 90 310.0722 null]
->> endobj
-2192 0 obj <<
-/D [2575 0 R /XYZ 215.1198 89.4414 null]
->> endobj
-2574 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F25 148 0 R /F91 464 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2585 0 obj <<
-/Length 2574      
-/Filter /FlateDecode
->>
-stream
-xڵZK��6�ϯ�m�*
�7A�uũd�[N<�

��#A#�J�BRk�6�"(��x'5��f��)2��G&)�$"A)�r�����������sx>������������ú� 	������4A$��	�x��ofO��q�WՌ�iY,��i6�O(]�������nit��"��i�g�~����ɩ,�$F�?�>}Ɠ���
F,Ub�
�H�dw�)�ۻ�w?w|����傰[L�
a)Xg:��Hg^4��$��#vy������s�l����

l�Y�E�D]h�r�>%=m at M$*@}��~ci�	�@aO�����Ɋ��w&s&�)`?!(���?�Ϊ�w_�6Hu�_�$5>��I��"�?U'=���J��
c��u�D�+�$f�ͼX/�{
-p��
-�U�?$�R�M�ZR�rD�(A4��D�`�צ�a�9R��s�|�RЋ��]���^�ʚ���+‚y�6	�c�Ug� �(�gA��]�*����l)A��\��"���	�����_ts��z6��=��}Y�M>�b�猈��wAIm.� 0�uT���t�#M�@��ް�	/��.�n�
�B�*"#��/�0�o�X
��^ًuU��m�-����Ш]�ؕ����K�Rí���ɗ�\f��i��.� �8MD�������-X�i�̶���9va�903�獮t�
-� �9�:Єwޭt���ڲ�
��r*,��� ����hLT2�4AT*�{O4�S�C�Jla��b[��0#F�l��<���LQ�(�*p�HG}�I�o	NPB�8q=�B 
6e,
7��:��;��,����>���*
8U�
 �x�&2��"�)$�7��k�G��a�sj�l̩��W�T�R,����\�����N�vNݶ�]��'�=}���
�/+܎����˦���!��A,��	����}<
}��0td�a��;��	�T�C+���
�6�7�m��
B�Tx/7>Z�agO[{Y��/��KA�bzͥ=�1�z�����a���{�s�g.���P�\��E	I��N�����
٘S=ٰ�
d
���fb\��:�=�* ;�HC١_k������9�-�Y�aI~ų��l[�Jg�w�ǔ�.|�N���c�К	�^
O�l,<�,(qÜW(�]��r���B��_���g�r[ևJ�^`�Pdhe�թbϜ����
ي�
-	M���ʶq4�~���ʜ"r�����W-C]��p�w���W�N�K�F���Yt�����x{��ǥ0e4e�Mcx�R�%������L�
IS�`�;����
l�-mK����#&�I��E���r	�Ӏ˩=
H��w�i��Ԟ� �	'�Y��9t�H
����3��(b����|�y�z�6��h�$�-�U���3ʡ~�k���F�����`/�ļžvh�!�>+�Ě~�}vj�(v*F6qEC�ި�H�>׎Q
8d�u��@)����F�{&��wj�����h_"�(ĥ�W��t���*��
z����o썪o1>?�����]�s���h
� ?�R��i��_eӾ#�U�D,cP���p$�
a�+�I�wO��.;Z�
�n%x�|:�ͥ4B��q'�ԝ.L�3�
��C��u�yWfog��}Y#�Բv$f�Q��]S
1�ց	C��p���+
��1\�q at Q}@�
~	P��jag���r�W��]nj��ǔ[��^���0Ԏn4�w��1�iJB�|<֍�E�s�h7�^��
-ѴK�Q �� �$��B �v��0u�s�<�
Q��Ɉ1)�<n6�
��1�p^�T�>�8�bD�ч��ЫOuy�Řz���o� �*Rf�sy�5����?S!�֗�
�
���TJ��C��]���]��Mۢ��6$�������yV�U��L�=
#����)�I�ocE5�SGr�[��C3�e
-�N+��Զ�'ZfΆG7��
Z���p��\�u��Ϩ�8VB���0$ ��J���4{	r=U�ڽ�R�fB#ԋ��*���	�[J>\��t[�`4K2����MU��~&)#_�^��c�u)(���.�Wo����6��� �@����S��2>Q

?���F58�ә
-q|��N�D���O檏O��:
����.��㓹��O಄�q|"H�n�n�Jp E��0 en��&�T+�(�$�=@Q�(*�K�t��u�h[��
�X�D�򮢹�;����
����l���b'�_�$�Ӱu���X=�ŀ�3��V�I7aq
���H	-"L���4��O������12hO�$i{��

�U�����-4���9y�[���߽�CXe3�F��"���@��n�
#i�9l�.�Mz1?
�-r<%Ǡ8!�$X^��y�,�M
'"���~y���H*��i�z����e�W"���!�vn<�]�.���r-�;w/+�ٓ����\�u�k���͠t��Ϭ8dn�d�i��s���o�i��>�:�G�D,t�}���_����y�
{�%=���5��4�������3Z��P��
-��=d��P/�G۱�� �;�3]�q���O�UY�I������ܵ�2���*��� �xBendstream
-endobj
-2584 0 obj <<
-/Type /Page
-/Contents 2585 0 R
-/Resources 2583 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2516 0 R
-/Annots [ 2592 0 R ]
->> endobj
-2592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2586 0 obj <<
-/D [2584 0 R /XYZ 90 757.9346 null]
->> endobj
-2587 0 obj <<
-/D [2584 0 R /XYZ 90 733.028 null]
->> endobj
-2257 0 obj <<
-/D [2584 0 R /XYZ 215.1198 512.2067 null]
->> endobj
-2588 0 obj <<
-/D [2584 0 R /XYZ 90 496.3532 null]
->> endobj
-2258 0 obj <<
-/D [2584 0 R /XYZ 137.9098 421.1039 null]
->> endobj
-2589 0 obj <<
-/D [2584 0 R /XYZ 90 406.685 null]
->> endobj
-2259 0 obj <<
-/D [2584 0 R /XYZ 90 294.747 null]
->> endobj
-2590 0 obj <<
-/D [2584 0 R /XYZ 90 280.4276 null]
->> endobj
-2331 0 obj <<
-/D [2584 0 R /XYZ 90 168.4896 null]
->> endobj
-2591 0 obj <<
-/D [2584 0 R /XYZ 90 154.1702 null]
->> endobj
-2332 0 obj <<
-/D [2584 0 R /XYZ 509.9151 89.4414 null]
->> endobj
-2583 0 obj <<
-/Font << /F65 161 0 R /F91 464 0 R /F25 148 0 R /F67 170 0 R /F52 145 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2595 0 obj <<
-/Length 2179      
-/Filter /FlateDecode
->>
-stream
-x��Z]o�6}ϯ������7��Ӷh�m��6}�%V����I��~/%�&%��gҦ�Ab������\Id���i<SB!͸��o�����������/}��7W��H1�HK*g7�� A	�ݬ��"z�$��n��}��x�]x*V��d�mu�䏋%x��)����>�P<-��گgb����ͷW_߸�����D����l�{�ә�=�
ah:�\q���ՏW�u�th/��\v��)CX
-榎(���Y50
�N	�?��1���r� �
��?��K:�
|J>#��7�x�Pe��
-B7��:L-��HX�/���6�U�)�}i���+"�k�(V���y
�!���^�lɴ�/S�%!H
AZ����7�ߕU�׷_���߅���
	�iO�."q�5��
��Î�m�j~_Us���	;�*B��� 9: ,�1*e�X����:o�ջ)���ԧH*��6
-I�y{����Ϋ�ö��
�<�;e�gĶ�Rc$1g�\H�U�G�̨9(�X�U�;�����b�ej�M� b��-U�v�~Wܗ�b�}��
��e~�.�pSga�[	�ytKZ��G��e��
�R�"��
�,L��7Ԝ�C~�)R��h �@
z
I�LX!�t
��";$6eL���Pc�pq�&A�&�<���M�[i���]���i�lF	U5�Q ��¼
-�R����QZ��H+���N!?S��~~*��~����v�,),,�V��փ����c�
3��l�բƬ���Q�)�:]�æ��f[w�*��
kĀyJ3�����	J�Z��I�ZԘt }0P!��lUT�MY}�h(r�-iO���'����P߾p�&�Kp����sť��S�]d_��<�B0
��%�u-
ʉ������&.p.L��̜

�C���s���M�
��5/�i��N�{�IL.2/� �pI�
:؄yIN�h^F�q����yᙄ�)9q^���@6e^Ҵμ�h��%��C̋�gImE�*>��Kika�%���ˈ5�_�?�������2�>,�����K����iܿ���_��_�<9�_jU���0����]j`�IƤ�����
��]�ʄ"�xt��p7�
(�/�;Cp�?����D�c�>F	�;�
��s��Tbij֩xNn�S	Sa�zK%ϱT�!8�e�����{W��
����
�'�8v]���s�ߚ�a
��_0�s��
l`�Q��b�C at q�r�p��;Een�Q�.�.
j��_+�'~��z���(\Z��fL�u���3IgПR*�,�K$gƄ��gxj�Ϲ�,�B�o5/݀KoĶ���q�����?�hp�q��8��<�;`6�
D�
�~!�ܖ�YOȺ,��$]���@R�p�
i�	��wO��Xc0�`�K4�P�1?��
0�q�'�%�D��6�
E>i���C�LE�����Ɵ	�ˊ���,���E�6a���?�k���/m��?���	���RYؔ�O�:�?����6a�{���00^�������u����WՄ� 
�S.�C���Q�
-M�@\r�����@Wl0P�m��[�ڳ���x�;�)�dZ������n��Y�N
��wr�z�������T
-e�L��>,%���۫4�k�F���* uZ�6�~��l��z��r
R6�V�����&��M��7i��f��Ž{�9��WSL�h�8E�p�W��W��;�j�ۦ�5i��Ӄ�ϩ[�����(69�ޮ�����^��_0O���&���ݰi�.Tv��醭0-���VF�"l�F�Z.'�����

mHh}ٓ�X 	g2�$�L
l�aKN�h�F�q���t�֖ !���K	daS
[��5l#�x����6
�I9��Ƈ�Ե���-�ꚶk�k
X_�m3�^)9�����6Ѷ�Y��y�zb?���ٶi�21�"��JHiQ�-��Z�!c�c���
��j��,z��蕟��u�2��`=4�;��^�joZ�Xo��c���+����W�wy�xp^�{Ѽ=����?��o
!��a�}^
��q��J8��3p�6k��鄁~,FϢ��uK
-�������?G=�K��h�h4���iv_\_???��=:T�Fes
����+�b�L-�ҁF�+�9X:��P
l�n��}�T�s�=|F�f^��D���r�endstream
-endobj
-2594 0 obj <<
-/Type /Page
-/Contents 2595 0 R
-/Resources 2593 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2608 0 R
-/Annots [ 2607 0 R ]
->> endobj
-2607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2596 0 obj <<
-/D [2594 0 R /XYZ 90 757.9346 null]
->> endobj
-2597 0 obj <<
-/D [2594 0 R /XYZ 90 733.028 null]
->> endobj
-2333 0 obj <<
-/D [2594 0 R /XYZ 90 600.6442 null]
->> endobj
-2598 0 obj <<
-/D [2594 0 R /XYZ 90 586.6814 null]
->> endobj
-2334 0 obj <<
-/D [2594 0 R /XYZ 90 448.7927 null]
->> endobj
-2599 0 obj <<
-/D [2594 0 R /XYZ 90 434.8299 null]
->> endobj
-2335 0 obj <<
-/D [2594 0 R /XYZ 90 269.117 null]
->> endobj
-2606 0 obj <<
-/D [2594 0 R /XYZ 90 255.1542 null]
->> endobj
-2395 0 obj <<
-/D [2594 0 R /XYZ 90 89.4414 null]
->> endobj
-2593 0 obj <<
-/Font << /F65 161 0 R /F91 464 0 R /F67 170 0 R /F52 145 0 R /F74 214 0 R /F7 2602 0 R /F25 148 0 R /F8 740 0 R /F13 2605 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2611 0 obj <<
-/Length 2406      
-/Filter /FlateDecode
->>
-stream
-x��Zێ�}���[$ ��~�<%�n��pv�O^Ch�zFBtKK����S�f�I5�-�ڈ��`���N�X�C�L0�#�'J(d����
�<���#��s��<4�����;)&I�d�X{�	J�d�z7U��ٜ`����v�vF��}Y��jF��_���ٜ
-<���\V��C�<�X>��M���"���������]��\ȂIb#��ݻ�x��п�È-&��!
C'�;NY�������O�����a�
�2��`~�"*��7��l�

"�ܗU����\-��_0��r��Oe��/X�!-+����F+	��h���&
-�`�),��gs-D
�j�+��
����&s�	"T� #��8�
�4ňKB��OE��f�jL:h.L��
L5%u�i��?���[.f�OӈDp$���]UnO/�*�I!�̡Z�
��a�/�j���&�N5)v	�k�
m���j��Z^�D�j��ڬ�7��N��M	�N�
x�H弯�
M�3��!�F�� HS���;��8����%��Y�C�	q*$)�����'�2I��ChD��$�\0��Y��e��%>�dzxL8I��Վ�7�u�*O����������n
-�PB����ӌ�]�3"��Bm^.
m�4+ֹml�'[��SS�/dT���P	���[23!���#�QL�e#��0$!�k[쬢�@J(X��A�L�� C�qHpi�}ۧsXe�H2�'R3HzU��(���T��{���e]U��8�F!���WwV�ن�2\�0`�횣RL��eU&Hba��
-��>�D�v$�ݜ�}��X�P��[?A��p�6�a;��d��/���$@�D��Bai)��b��@�@-�P��=�5��V��L�1_\ ”���PTŮ�����%>�)3�
-����G�Z���1�y�V|�N4�����U5.
��Cid1ꢝ�ۀ��>��s���Ee���ڕ�?
%*hG�7ʑ�n[�1�Y�����E��� zV��ca]�]��6+��O3
-5�������
-z��
(��/��׺��n�ba$"
-6�<ɡY�fo���q��y�֪�
��
�@z����
�0`��"0�qњ��
e�`H�<jk�G�y�fZkhg#T����8�C5�X��i�I�~��v�>��3��>F%�c�f9J[3��ŌB�c`��A[�>���ɁX�A=��r�m�_�S�hZ���4�0���PI�PI��I)�ӻƲ~�/�fd�WUz*�
ޢ�(g����W
�y�St�k at YI=�V�ʪ��*�n�UV0��u�Я�U�LG�U�U��a����!�]�ʮU)��T�I%��T��A�[M�.4��!MŘ
Q>\Qi*�>�6���iY� �6�j�NW��NW	��*;����
�z��U�򅮲nc]eQGtF�
s��b]]u����*�����)A�q��)��vY�
�C�}U�b�*�`@#
z������C�j�
�	��ay�Ru�$_���T#!�ʫ��jXUq(s�DU
-?�q�Iw
�lDTeG߉�
jZTE��[TqX��'���,4�Ԛ�I�<�W=ش��`�j�Ō�Gqb���,C�7�B`命��!�V��J��4E�M��Y���lD`�Q��ꡦV���X�	9cc�$�Y���,/��^`�@�+���
-t��_U-��ӲZ�����++{��Ը��� ��:�VXi��P��fb�u��àR��u���rR�k}�Բ'݌�V
��Z-
T�F[k����
-@�I{&�I`��1��	
-�R|��1�|�	"&��i�.�8
�d����\�٩!
�2q��8VC\{���[&�SC 0��8^\�gdzJ�!(�@χ�pw)i5$`���tfQ���,�A+
 _l�������������0�T������a��MR#@f��E��{�و����=ԴԈP?�Ԡ��Y����,GPk�91CТ%F`[�>�C� +�c�+����9b
l`?0�(
�2�y�+�B
�˅
rZ.Dȯ�
D3$ŘZ�rL8�`��e*���1[�
f_�j�"�ŗ�Z�Lv�:������W����>��N�7���m�f� z������ޕ��ޕAG �H�I����]p�O��|�Ma'�޹k_�_׾6�7���W{-���+�|ѾZwq�jQ��+�^�=Y��}_�}
o���Iy]Ծ��r��W�'���e�9
��l~o����?A��<��v�mKo�d�v�{t�=���P�K���}W�>�����u��D��SY�a&����?���‘nw�Om?+0$lK
�

�T���""
��l���I���
��y�F#���_���|>~s����
N��~s���|���wQšt�+��ϽQ/�h�8H�L�c{�;T����v�uN�2��
;���/�endstream
-endobj
-2610 0 obj <<
-/Type /Page
-/Contents 2611 0 R
-/Resources 2609 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2608 0 R
-/Annots [ 2617 0 R ]
->> endobj
-2617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2612 0 obj <<
-/D [2610 0 R /XYZ 90 757.9346 null]
->> endobj
-2613 0 obj <<
-/D [2610 0 R /XYZ 90 733.028 null]
->> endobj
-2396 0 obj <<
-/D [2610 0 R /XYZ 90 554.3552 null]
->> endobj
-2614 0 obj <<
-/D [2610 0 R /XYZ 90 540.003 null]
->> endobj
-2397 0 obj <<
-/D [2610 0 R /XYZ 90 355.8254 null]
->> endobj
-2615 0 obj <<
-/D [2610 0 R /XYZ 90 341.4731 null]
->> endobj
-2398 0 obj <<
-/D [2610 0 R /XYZ 90 172.7511 null]
->> endobj
-2616 0 obj <<
-/D [2610 0 R /XYZ 90 158.3988 null]
->> endobj
-2609 0 obj <<
-/Font << /F65 161 0 R /F91 464 0 R /F67 170 0 R /F52 145 0 R /F74 214 0 R /F8 740 0 R /F13 2605 0 R /F11 737 0 R /F7 2602 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2620 0 obj <<
-/Length 2424      
-/Filter /FlateDecode
->>
-stream
-x��ZK���ϯPN��,,ޏur�Vⲝ�6�I�ٚ�JЈ�RH���ק� (��P3�+'5Dht7��6���f�Ό2�	�g��
�=���X
^���+���ݛ?j5s�i�g��f͈�����0�X2J��x�=�_p:?잶~].����:{\,���o�ڗ�l�C���/�WL
-57b���ۻ?ܷ:E���
5����Ot�տ��D8�fg�PP����Nr�:��wi�	�c;�
vm���#�
6*e��0��1�ƍd
�T���0-lc��
F�Y��=��z;�'�����;uR�J�V�Z�:�0j�aB]fEU�۫ՙ%\���/�F��5���L�������c
�C��6�C+��2+�͡����ϚI;A��b\��<]�	�b��n[]���uc�$u���B�Xcm��B;���f�:��|
G�͂���)�E|�L��u,}U��9���6�X�ؔɠ��2YC�K����W+
ا ��^9I]�ܷ� �2>X�����y�*���a7a
-	��ݲEGl�I���H�p�� n,����
�����������g�A���qť �V��O8�)�.k�����P
!<��/p1<�6�>�>�:=�
 "8:
�v���ʌB��*�|�X*��ڵꧣ�})8l�~Á&N���@�jd
�p��:���?�z��o?��	E3����y�<�v� [...]
K����Y3n>�(?b~%�O�>��GOc� ��(��e���
-��=o��6
�jd	m�km�qқ��m��u�����1��6 ��z�̉�͙�
��Z�kpb
��p#c1i�#Y�u�(Q���$�fd
4K����#��W��ݘ
� ���k�H��
�C�	������RCL���ቈR
��a`�>bG7i�/�$��� �z8s�`+�y՜)6�S]$G�?
��@�v6��T5� xct�`	>�f��g����*�yO!��
-i
�,�K�O2CE^0����bbn���$PEw��1��h�
�>&�C������
�HjQs����&gVR8>�Yѐ�괫C��75��f`�H!W���� �%���
-SB��k��
g�U�#عD��y�
�u���<
=|�f^�jU�[��-���F�%��ޑi~�a�]�n�ɐ�p�ŧ�g��F�7 ��8gȉZ��  �K��")l@�����; :
R��]��	���׾�%���ᩪ�>�p�%�B
bu�b�>b�� 0I�2�q*\���Qt�5�Y�4j-�`:p�
-(D}��Q6� �U���͂��~	
�/�C
��mj
�W�|�Ƹd�	nx G�|�w�ѭ`��)��
-Q�*�
�
���c2�X��P�H�6%��BtRV3��k��y�.��i�ZW����S�J�v
-��J"0��/�5{�س����
M~V��H����LY%��Ⴍ;�n��no
-ȡy= ��T{���b�%Pfq��K��&`�
�p�Q�`]����DĈ�c
��VO���������b#�Qƽ#47=�p<o/�^���u�&:�_�Xb ˤe������#tޅG/*�_�&�YH><E$�%��v���9
���ɘ��ua�M0�Q?����)ׁ	��aB3���&~*Lt��ҵ2s(
ޝ�{�J=�,(H1
���5g������b�\�ŮT��6]��b�9
a�������P��ѐ�`�=�}�Ra����w�u
��Y�S
I똷c��-uB��1h�a��TXv(�7,�U�iL���*�{��ӱ���(=�9Jwo)��:^0��q��N~�aF;�ݺ	޻uc��
�?�;&�%~���a�Қ[���r���$)t?qHB9g�r	|��_�!�
�
n
o{x%��V�(�m���7�"�
-{#o&�yC\�e����
�eG�
�D�Aޠ@��e�{A�0���RtQB��@�i���x5P8��Q��>�o�WQ��MQ7������$w��7с;���+=tL_�z�3�P at u!n�-e{Y�'�� 
V�(�|��x%�5f��	0�8@�u�KGg
-�����S��i�ֿW4�:��
��~������=[�o���}�њ����s��O��.�ˊ�S���V��sE2�_+_�v��<��?g�)�>A�
-?a��Ö(�l��I���P���Lϐa�����b���e�@�M�*W�m�u}|����|&�����X��~��f����(��r��ҥ�!�s�Bn��;ޞ
J���7��i��4�Ę&�%� ?endstream
-endobj
-2619 0 obj <<
-/Type /Page
-/Contents 2620 0 R
-/Resources 2618 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2608 0 R
-/Annots [ 2627 0 R ]
->> endobj
-2627 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2621 0 obj <<
-/D [2619 0 R /XYZ 90 757.9346 null]
->> endobj
-2399 0 obj <<
-/D [2619 0 R /XYZ 90 655.459 null]
->> endobj
-2622 0 obj <<
-/D [2619 0 R /XYZ 90 641.4849 null]
->> endobj
-2447 0 obj <<
-/D [2619 0 R /XYZ 245.645 513.3684 null]
->> endobj
-2623 0 obj <<
-/D [2619 0 R /XYZ 90 497.357 null]
->> endobj
-2448 0 obj <<
-/D [2619 0 R /XYZ 332.7973 422.6109 null]
->> endobj
-2624 0 obj <<
-/D [2619 0 R /XYZ 90 406.48 null]
->> endobj
-2449 0 obj <<
-/D [2619 0 R /XYZ 90 270.8569 null]
->> endobj
-2625 0 obj <<
-/D [2619 0 R /XYZ 90 256.8828 null]
->> endobj
-2450 0 obj <<
-/D [2619 0 R /XYZ 332.7973 180.1989 null]
->> endobj
-2626 0 obj <<
-/D [2619 0 R /XYZ 90 164.068 null]
->> endobj
-2618 0 obj <<
-/Font << /F65 161 0 R /F91 464 0 R /F52 145 0 R /F67 170 0 R /F74 214 0 R /F11 737 0 R /F25 148 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2630 0 obj <<
-/Length 1006      
-/Filter /FlateDecode
->>
-stream
-x��VK��4��W��]��e�
�`��&�٩�'V~?6��Ӳl�N<˙�!��R���-Ïx{J(���._a� ��W�_a=�|�Y�����HK*�;;A$(��&y�":	��?���ǀb��.G�T����6�!���Ec�}�3n��ٛ����L��ϛ��6#�
�`�XD����� �+����w��z��S6
�����
��mX��S�:"�
A�
-�h	�I��$,��HR��Ly�JD$�:�~��c�X�EZ

n%�"�(��g�!��!:�@�B�0q=�b�
�:���-vMZvD��L�OSӯ6G��0Uܔ���/ucr�T����%n��b#&���-|��P?8�VJ��@��iOM[_�@P�(�۸���4@��.�cx1�h/��!����B8��q���n��iS�����d�A} �T�����PlT=���^�i�!����d봾��2�lG^k�����q���+*F5� G=e��r��J��*�iW�����1�8FTX�O{�r��
�J�s��<B� !8
�,h�E�
�<U&��</$���1�]6$�.	�$I��N��c�g����P���2Ч�7��K�#���uS~��a~�7F�Iv�Ĺ�>!�����	%�&��ݴ�V�7-�%��_ִ�DpmZw���h���WMkҦ�
c��w'��M�����[v����ȴ�����>w�z&jK]wBU�7��/����Π [...]
-�?�/U\]��]?�6>���n���jS}����9.�8T!�g��T�(I	۫Ai�A���R��;X�9�n�o����Ǹ!��p�OMX�;�rsl���z}>�ѮFm��*�6k�A׷�8���}#��ht�e�!���Tze,ּ��P�0�w}w+ث|��
- �endstream
-endobj
-2629 0 obj <<
-/Type /Page
-/Contents 2630 0 R
-/Resources 2628 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2608 0 R
-/Annots [ 2633 0 R ]
->> endobj
-2633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2631 0 obj <<
-/D [2629 0 R /XYZ 90 757.9346 null]
->> endobj
-2517 0 obj <<
-/D [2629 0 R /XYZ 90 684.1913 null]
->> endobj
-2632 0 obj <<
-/D [2629 0 R /XYZ 90 669.621 null]
->> endobj
-2628 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R /F91 464 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2636 0 obj <<
-/Length 3311      
-/Filter /FlateDecode
->>
-stream
-xڭ�ko����W�tX�/][I�:v*+�]���u�T at V�����Pr8
r�$.�$�{�;~�����(��f�Ό2�	�g��������7�X����,|��O.����@��A(���?�^��V3&	x����ɛ"���ǿ_��?n�3���ϯ��Nj�&�IQ�I'�g�8�uk��!���ռ�^�n���7������ç9�����`�f���
�t��j��CE}�
m��? �:�\柡�*��ъ(����zs�
����m��8���#NA�������{X-/o�V��/���_=�sI/.oȸ��jgZ	�
���oҀ������z�o@'���3dQ��2�Rђ͔�Ry�\\�c��r�ԉ�/��j_\j��#ZS���Vߤ�6��=4�6E�
��m�Ua� 3�P�^ �
�z{y7��9�U�(�X+n:u���+�
�45=ߜTЌ�N�	b��UN������hCT����BV8��j�MP"��-W(�ڣ
m� [...]
�V��1�3��HPa���T�ٕܛ��b�ٜY���\��?|X.ƚ��{�XhJ�0���P�Ж�ʛD_jHY�Z����34�V�XFf���E����-��
&Z*ӥA��oҀ��7�[F�5��>���Aa�0j5
-��J���;�c
lJ��4�4%��V��)!2����U!��
-tN�)�P*�kT]�Rh.�8�\�
-k.��IJ�%�[k.��Ve���Ҫ�
�4��������B�
�.�n�\��oҀ�A�
-:ay染	*ĵ#�tFl���x�������fK�n�ykf��"�b�P�7���]�Y+�(�}�\!�
�h!���2X��X
-K�1z�(����QV��������kD�5��]J��e��?���z�;
6��q��[z˼a�q�P'�H�}��l���T�X�Y�7��B\; L„ۈ>�7����9>
�x@��d1��,oR}�F��R60=a����
-1�`PN�,�q�}�DD0�� H��I
-Ly+P`�
ݥ��s(A��F(�Q�`������su�9�6�~ٮ���_���O�����i�>�h��k��æ5��IJӚ<om�ï���ӚV��::���F�[��px:�o
].oVoa��Z����i�|}{?��o(�$�r|&�/���T��7i at i���=�b����0�iU�kג`��t71^,�~�
���;Xzv_(���9}ȁ/N�&їW
-��5
 SV��
넓hܲ�!
��h�x�X���qy;�&��z$��J��7i@���,Ư����%ժ�
g��P��9;a�����͇w��
-��ȗ�A���M*/0�rV���V8��{�D�
-���_��@�vq�f�v�p��\�����I奲��U
��:�
�M�B<#
�
�
-�V����w�w�˹.�!���š,f�K�oҀr����K���J�B\;&VA��������������z���aO�$V3��IJU���
���es!�
#�dU��_��#���a5w���������
�)��j�~us_���3�#�8|
y�7����̲V�Q�	m2��"�Ua���tDq�������VD�t�%�H+
-�&
(��A�
-��3	����!�׎�0&���(������ca�
�jXu�.���4��!�[� :����phU�k���E߶�ÿ6��_��
-	e��)$@ߤ5i�	^!�2�2	��¤�3A�r,����z ���aǠQF�.���I
-?�A�r[`�[�*��o��
-����X��E�
�ݥo#����7_v�-\�n�I�g�RX�
�
)�4�t ��=]p��1.2���H��\C���=�m�`�v5����aZ}���yk���2��V��F
-&���(�oǧ�v������y��T-\¢�_�	�
�V�$���I��
ßHgx�|�{Ҋ�-;RX
�^����'�;HaoMa]���M�/�eY+
`�&L���V���.�C�j̹��~=l����x��X�:��q�7i@�2�y�#�o��_���*�B\=F�E�{w=7���ݳ��`89���n?*��"\�0�c���4�T0y��+X��s
��J�U!� �:"%�S���g�$�1x���I��g~�����]9;
�����aj��koQ�\@�-�֞�0=~�-�0W
-߹�lk�ULL��V��k

T;�Z�4�z��I��o �Z��R��:sϩf�)���i���$Ϫ�N��x�kan���ۅ
�D?B8���
�{��i$̠s2JN#�o0��mR�8z��#��G�F��^'7n����=r�0\���U�2��R��K�uzQ�Tv߽J1����ZI�ߘ��Ɯ@
K���JM�#Ă
-#�s�7�Ĥ JJ9�gd�m|�Us���17
s�
s���1q�� ��M>�qn�m���-	�d���۸k�&�"�
3�Ȩ^�6i1���aKF�E���_ņ�Fl�=��r¹�74����N/�4`�X�a�z�ub㮑�4�Q��
>�82���fzm�cȂ
C��#w�ȸ �q3�l�ǩ1N�0�Q�I�� è�����]#5J	�\���Uy9N�F�cxn�
���1NFG¸�_e���B�k��M���)���������?qv��볻�BV}���1��$%�j=�����q�w�dh�~ZPa�z�uh��W?4��n���Q���&C��#�Z�,��u
���qi�����K�q�
-���L�ujQ�`�W�!���D��L��,[��Ds:�FS����������M#9)���������/j|�3�^;�������э�Ep������^�Zb��^��~ZPa�z�up���a����ݵ��+��X릟I�#3�(Cfl}��
q����Hvg�n������N�n{�V:>��
��̿������I�ͳ��R+6�2O�<D�e�#
���z�s������k�����>n������P�u���oҀ�s
��/v�:���FPa���0�jk�χ���q�~���q���ѿ���
�W;Jp���E ӥ��M0|�a���q��P1'2�
NP!�

�cB��)��?�
�Aߤ����Ġl�k^��(���4�
-q�h0A���D�\10y��_#b��4�T1y�6�������TL��\#��5f�b/�}O�@,��a��4�T1y�
1��
t}��V��_V"�#��7��gN��endstream
-endobj
-2635 0 obj <<
-/Type /Page
-/Contents 2636 0 R
-/Resources 2634 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2608 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 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 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  [...]
->> endobj
-2639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.191 683.8533 192.1462 694.7573]
-/Subtype /Link
-/A << /S /GoTo /D (page.18) >>
->> endobj
-2640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.2745 650.7911 279.2297 661.3215]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.9102 626.8808 197.8654 637.4111]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.5018 603.3142 173.4569 613.5008]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.0909 579.0601 179.046 589.5905]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 556.8335 140.8095 565.6801]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1654 531.5831 175.1206 541.7698]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.6494 519.628 264.6046 529.8146]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.2944 507.6728 271.2496 517.8595]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.9496 495.7176 261.9048 505.9043]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.9793 483.7625 293.9344 493.9491]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.2524 459.8521 205.2076 470.0388]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 437.2818 140.8095 446.1285]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.9132 423.2694 236.8683 434.1733]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [223.2297 411.3142 235.1849 422.2181]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.4724 399.359 258.4275 410.263]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.965 387.4038 278.9202 398.3078]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.963 354.6853 268.9181 364.872]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.5994 342.7302 264.5546 352.9168]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.1076 330.775 273.0627 340.9617]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.4337 318.8198 287.3889 329.0065]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.4937 306.8647 263.4489 317.0513]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [261.2072 294.9095 273.1624 305.0962]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.9581 282.9543 288.9132 293.141]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.1778 259.044 201.1329 269.2306]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.185 247.0888 215.1402 257.2755]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8898 234.4164 213.845 245.3203]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.8896 222.4612 213.8447 233.3651]
-/Subtype /Link
-/A << /S /GoTo /D (page.22) >>
->> endobj
-2667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.5774 210.506 166.5325 221.41]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.9534 177.0703 172.9085 187.9742]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.4922 165.1151 178.4474 176.019]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.5383 153.1599 251.4935 164.0639]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2671 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [222.3928 141.2048 234.3479 152.1087]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [166.1935 119.7241 178.1486 130.6281]
-/Subtype /Link
-/A << /S /GoTo /D (page.22) >>
->> endobj
-2673 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.2395 107.769 256.1947 118.6729]
-/Subtype /Link
-/A << /S /GoTo /D (page.18) >>
->> endobj
-2674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 684.5706 363.3678 694.7573]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2675 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 659.943 382.1869 670.8469]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 624.0775 382.1869 634.9814]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2677 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 600.1672 382.1869 611.0711]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 576.2568 382.1869 587.1608]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2679 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 552.3465 382.1869 563.2504]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 529.1534 363.3678 539.3401]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2681 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 505.2431 363.3678 515.4297]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 481.3328 363.3678 491.5194]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 457.4224 363.3678 467.6091]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 433.5121 363.3678 443.6987]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 409.6017 363.3678 419.7884]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 373.7362 363.3678 383.9229]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 349.1086 382.1869 360.0126]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 325.1983 382.1869 336.1022]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 301.288 382.1869 312.1919]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 277.3776 382.1869 288.2816]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 253.4673 382.1869 264.3712]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 229.5569 382.1869 240.4609]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2317 205.6466 382.1869 216.5505]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 182.4536 363.3678 192.6402]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.8272 158.5432 372.7823 168.7299]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [389.3597 145.8708 401.3148 156.7747]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.5604 133.9156 499.5156 144.8195]
-/Subtype /Link
-/A << /S /GoTo /D (page.29) >>
->> endobj
-2698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.7954 121.9604 439.7505 132.8644]
-/Subtype /Link
-/A << /S /GoTo /D (page.30) >>
->> endobj
-2699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.4745 110.0053 405.4297 120.9092]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [480.935 98.0501 492.8901 108.954]
-/Subtype /Link
-/A << /S /GoTo /D (page.33) >>
->> endobj
-2637 0 obj <<
-/D [2635 0 R /XYZ 90 757.9346 null]
->> endobj
-2638 0 obj <<
-/D [2635 0 R /XYZ 90 696.9691 null]
->> endobj
-2634 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2703 0 obj <<
-/Length 2903      
-/Filter /FlateDecode
->>
-stream
-xڽ�]o����+|��~���lwi'
-�.
O�d�:v*;�M}eQ�H����`�@b�<�����!

����
%2�����^���ߟ���
-��|����.�"�� #�\\ߵ$A�����������������0����~������u�3L�?g?���p?�aČ�g�#b
]<�q��/��Og��
�h��A��	A���p�R��Z7�w���Ь�������P?,��?��@�@Rs=�o/�~��w��{��+�A|Eq\{]�G�t\��?@Ы
-��!�LS
R �"�I>��߿�W�>��(j{�Q
2*e�
�}�*���Kc���z���������n�@S
-(+�j�8^�w��� �}LJp��T
��Mc]B��� �*�k��ư$�a�˩
-���r�ƴ��5˛�m�{��1Z%R2D�%@N_�
���- �s���,�9U���x��1���mݬ )�Mdv61��2t~6y
r��d-,5�M#��lʺZXT!Ny��Y��6��A1�R����9`NV6��u��0C0�
����v�Y�7���v}��P
���BɅ.v<���	4Q\{	��
tX��?D�TW@#�A�g�xC
-uc��������49�C�V�>Zahw��o�ڣ���%
U�������TWKE*�h:M%=��c‡�N����N�Š��6�}4�9�
-�����IeFrv#��ƢoV�N^y�D��ڋ�8�Z��3:6{��-�s���p���zB����
"2��W�>�aԖ
-��
ȈV�{�NU0�\AJSU�c��ͅ(��䕯O��� Xd�@�a��� ��`jA��ߋ)�b(�26G]�Bq��o��"Q�B���i-t�Bp�����ҰJ�!�a�\�jT��D�٣�� 3���¨:��
U󮀆k[d��c�[�vA���Y�>o������tX�=mo��vyx�L�+
-C��?S�dfj���P�O�����
"{r?����Y���������Ļ�ڗ�-���o�~�0���-�z��U�x��U��2�a#���Ӈ��U��ā5�M�c.m�VH����!��q^�Y5�Pa�4R�(��™D����N_�
RHø��D<x���GP;U��b�
-I����~Xm��lf�y<B�2�ݠϡ�T%r��4����1�a@'o~��
��i��6�� C�����'��]S1)�l���a=4,�N^��D
���K�S���v��aw��)�ҀA������U�I�j\b���q�eKː�����eH5�FD)d�	ݣuH�*��
9Fb^ي{��H���� �n��U�N�qĉ���)�o�&'ə

`*'`d�W���	G���v�
���$ Dq'8��c�-@#��S\ma�$�&H۶#=/�-�v��/�ms��f�0��ؗL酽;�/=�_`-��-��ׇ�V\M^��JG #1���T�W�����uN�^���m&%T�
-s:U��S
yJ9�C|��o���M��}\%�b!�32=��� v���F<r�F�5��9NZ�C<�k�O<�bd�v at 1���`t�Ƒ�4Ƭ��H1%�f`
�ټ
E�a`+�v��>Cѩڭq6Mq�>M1k
-�Qv�73(~�X���{2s�"v�n&s_?ͼW���'���'��M-sIQޖV�yS�Xx/7��XjI�ԞNھ
�tvv��
i�*Ԉ��4鬩%M��9����ߊ4&�9?�=}��S�H��Ǥ!��ܻ3O=�`*�
������@
���PM�
%�+?����kw�#�Xzy���;����;� ��2�@;MްG=:�����I�W*��yG<<���qܶ?�I�
���><�E��J���;Y1��ϑ��kăi����3
0��+f`�F��2����9�!��'�=;ѣ�{���9օ��v��ɬ�x�tnk<���ٹ��s�p�
���(��2|=���������g�[��YL�>��;��z�Í�	���ϿB��M׹�=}���;]RF�S���=�і�|���5h�]�ٸ�9���g��~�x�s@�oE�D��K���Dxnc/��/幭āv�p�
�'^� o��~h�׍�e�x�*�?�u[7�
�����h�ـ�q��Ò�
-����`�'��� �袸��C������?|zNUp��h��Ϗ��_
-$3��f���zqn[)��޻�؞�&���K�f�a)�=�7MA/��Tl�x��a����N_�
�ŝHE	�;��C�NUp
Rs$� �ye�I���W?�S��J��4����g2ߩ�&&sd>��yK��F�Jo����$SŇ��>������� �ӖL�N��
£�����h;���c^�`�,�ao�P8���$
-Gw"9ܡ}�����9䡿�4�>{�uf�T�
-
�'	ӡ~�)O��W~��n�-�h�\؉ �"��2�S\{�D
�5կ��5��J
	��� ��Q܉4��G3��a:U���ˣ
�R0�s\"ƈ��
-u��+�A�J����aPө�*6�+�S�\���f���I��[%vkg�ݻ������5�̭�a���v�㶋-<����������@2��+���#��`g�$
1A�|�^�
I'+�
�O��z$�
��{�z�R��E��1��Em)�)�#�g�"���N�
�a(����
�`�N3���DF�)��OR
��!]�/���+�TV�ê��#�����s�j^����>[m�V�]�[�)�]|���>�Ǿn�p!�����O���js��,��4bc�^��!��/���
>�T�Q!e
@��C
����������N(�Jײ�r8<����������v�ؠ���2��)D��c3���X'��e���8�#����#��]��]o�Ç�=ߋ��
-K]�� ���-endstream
-endobj
-2702 0 obj <<
-/Type /Page
-/Contents 2703 0 R
-/Resources 2701 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2608 0 R
-/Annots [ 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 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 ]
->> endobj
-2705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6886 719.9123 216.6437 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (page.34) >>
->> endobj
-2706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.3677 707.9571 182.3229 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.7504 684.0467 165.7056 694.9507]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.9314 660.8537 146.8865 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (page.21) >>
->> endobj
-2709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.7504 636.2261 165.7056 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.7504 612.3157 165.7056 623.2197]
-/Subtype /Link
-/A << /S /GoTo /D (page.27) >>
->> endobj
-2711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [127.7482 589.1227 139.7033 599.3093]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [262.7702 576.4502 274.7253 587.3542]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [203.0051 564.4951 214.9603 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [168.6843 552.5399 180.6394 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (page.40) >>
->> endobj
-2715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.5598 540.5847 297.5149 551.4887]
-/Subtype /Link
-/A << /S /GoTo /D (page.42) >>
->> endobj
-2716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [226.2478 528.6296 238.2029 539.5335]
-/Subtype /Link
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2717 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.9269 516.6744 203.8821 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (page.44) >>
->> endobj
-2718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [127.7482 493.4813 139.7033 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2719 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.7504 468.8537 165.7056 479.7577]
-/Subtype /Link
-/A << /S /GoTo /D (page.26) >>
->> endobj
-2720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.1111 456.8986 216.0662 467.8025]
-/Subtype /Link
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2721 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.237 432.9882 217.1922 443.8922]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2722 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.237 409.0779 217.1922 419.9818]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2723 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.237 385.1675 217.1922 396.0715]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2724 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.3117 373.2124 197.2669 384.1163]
-/Subtype /Link
-/A << /S /GoTo /D (page.48) >>
->> endobj
-2725 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.0408 350.0193 178.9959 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2726 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.8193 337.3469 261.7744 348.2508]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2727 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [213.9443 325.3917 225.8995 336.2956]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2728 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 289.5262 206.6719 300.4301]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2729 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 253.6607 206.6719 264.5646]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2730 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 229.7504 206.6719 240.6543]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 205.84 206.6719 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 169.9745 206.6719 180.8785]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 134.109 206.6719 145.0129]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 98.2435 206.6719 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 696.0019 423.1532 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 660.1364 423.1532 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 624.2709 423.1532 635.1748]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 588.4054 423.1532 599.3093]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 552.5399 423.1532 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2740 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 516.6744 423.1532 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 480.8089 423.1532 491.7128]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 444.9434 423.1532 455.8473]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 409.0779 423.1532 419.9818]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [422.2562 361.2572 434.2114 372.1611]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.244 337.3469 408.1992 348.2508]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [456.5373 314.1538 468.4925 324.3405]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.244 265.6159 408.1992 276.5198]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [362.4911 241.7055 374.4463 252.6095]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.5251 218.5125 442.4803 228.6991]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [501.1696 193.8849 513.1247 204.7888]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.2443 181.9297 493.1995 192.8336]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 160.0766 357.2908 168.9233]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 134.109 423.1532 145.0129]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 110.1987 423.1532 121.1026]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 86.2883 423.1532 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2704 0 obj <<
-/D [2702 0 R /XYZ 90 757.9346 null]
->> endobj
-2701 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2759 0 obj <<
-/Length 3025      
-/Filter /FlateDecode
->>
-stream
-xڽ�[s����+xWi&
�|�e]7�4u���t&�phi-q"R
-IEq}?�
,vq�-w|��
��� �Zd��Y�PB!ø\\n���^���
ow�~
-�����ߤXd$����=H�%t�����o���?���n�	C�)=�7�����z�{�������O���\�wg1����`D������=�={w�/���c��=�7!��&(\��x����˷w��n����v��xA����m�\oV���	t@�EG2B�T������}#���RЎLOWm��]���w�.����z����
$���}�̫*� N��Un��>��>��ʎ݊.���y�
ɢ��gѕM-:%�\���������j
{O(�ڈf��� Щj '�y�ES
P�g� K����W2��2��7�:U���=ϰhjR�8婛�{X��W�g�����s7��9U��M��؊�fV��ܽ��nu���כ����+t��
�y�^U{S�,IJ)@�  ɞqy{�_�n��S*$�n�ȡ� ө�0i
��=�hja
-����|�EYp�S�;�0:U
��=��hj12����8.�#I��Z`9%���Yc�4�Y�Y�k������YM�5_CT��7����~u�/�֛~�_�m�g�s��5��
�ypNt�Ʋ�&�YlEGKMQ���ij�70>�������n�=<4�D6S
�lNe�F�<��{
\�Ԓ�a#����z�u�1������9�������M-9��2�G����L���0O�Uߓ7ٜPDi�7�
�Q�]h�GWr��0FT	]'��qu9��e�1���yƆ�<:�����g�M�
S1��z!y�p�VZ��a����
$�?��^����"t��
�W�\�0��<n�}<._�@>��6�J�?��8�.�6������"��
��_P���-���.l�W��q8��_2��13��pr���H�c$ZP�m�w���/1}�i�7�H���(#�j$`婍D�������=��G�
���� �yzrD"��l�7�_s$��%xNV�7���+{:x�P({�e���K�Q�� [...]
��`�j��뻰A�b�oz:S
-:t�?��Tב"���i����E�52�=ab
J���Eqj���eOǐe%4�
+��4!�;0�i��
6( �rm���V<=Bu�%�d�����=$���S�\
����e�ӆ+{S�lq,��<�APYX�穋��IIs]
ꢗeVW��ٺXv
R�N��� ��e FRJ�P�!&Huyv�.l�8�7t at z�
T� &�)�t��2��iX��A����
�] O�����N���
9����	8����͈.X�rM�J�1 �b
%�٭$��jɥ��
�\����d0�~��7W�8w2��UWOt��� }��$g
)�hk��+y��������)�@���:b�gA��c�tr��+���J,#�7��^�
���q
	�\����rj��9
���dF�o��r:
-km1�U�c>���
-�]A�ssv�a\��;��ԇ�Wq�����0�u���𪚫�SH��
s1�#`�"6���2����������P9�"������L�$5>�n��x8,.�I�y��dO�~�xx���έ�x�눧�{��.1a#
-���~*T��
$�D��
�s�����5ǩ*�#�00�%Ml�8X��D��W�5q����;W��3=^Uq
��=��hb.�$V�S��M�A���L���&c��XMͣy4�ʖ#�0��g~����e*lPX�&���_����e�����T�)��ۤ�
��2b��
$�L�o��h�A5���g�SU\G(a��I����M�Ԝ�Ʊ�������*:.+�,���zB�XV%�Y8�
��x�i
�
n�Y^^�IE��#m�����R4ˋ*��_!�U��kSck�M�<T�o��:��X�*�
R!���T^>��g�R8�§Ҙ���J:*�7͑3���,g����:r,$�R�ľ�#)8
{�m
}6H�
���O���zN�l:������:r	B^��dLE�X�@��r
,�5��7 cL#h^T�
��h��c��@��,�;�!�]� �d�o�@J��v�QTW�e�hkL6&ϩ��Ac���+	���4{�X�r�Ϋ*�#�B�.�]�&5��$͉<��d��~sh at Gy%��U [...]
R�i�ofom@ǡfL���4�*�
Mfy�*�/
-ۢG
wi�
->'�:�n�c�]�m�ut�C%�X�w���0�����۷�/w��z{����ޮ�M�@�B��ڦq�wa�Ԧqޯ�b�M��EZ��i
T5W�+��Y\����w����f����
��WV��#k3��*���
$.9��^�wג"�`�<���r���5��9Pn,-?/\�;�\�uH�ˆ
-#~�51ώ�������l����^��M
̏���~g��1 I��6!��uBN߅
��{
K�
�~+;��
�S�\=%(h�r���>���'�!��J��w�X-����
$.7�7IK�3�9$����� ��fẊR|�F"�iТr�N߅
W����Z$%4���1����AB�d����
��
-|���JO����m�;�}�3軰A���y����T����?ʘ
��Pe��I������P��fr��+�z���[��([�N�I� !����������Im�۬����ix����n��4|
�k�������g���~�������ҿ���OB��O����>�nO���n-��n	�]������}���]������
���{נ
Z���
-�D�Z67����_�x||D�{�]������Ӌ8סaBN�+�u
��Z&���nK�h	/���
l�N��[xqs<E���]�����=endstream
-endobj
-2758 0 obj <<
-/Type /Page
-/Contents 2759 0 R
-/Resources 2757 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2819 0 R
-/Annots [ 2761 0 R 2762 0 R 2763 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 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  [...]
->> endobj
-2761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 707.9571 206.6719 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 684.0467 206.6719 694.9507]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 660.1364 206.6719 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 636.2261 206.6719 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 612.3157 206.6719 623.2197]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 588.4054 206.6719 599.3093]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 564.4951 206.6719 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 540.5847 206.6719 551.4887]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 504.7192 206.6719 515.6232]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 480.8089 206.6719 491.7128]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 456.8986 206.6719 467.8025]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 432.9882 206.6719 443.8922]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 409.0779 206.6719 419.9818]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7168 385.1675 206.6719 396.0715]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.7915 373.2124 186.7466 384.1163]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 349.302 264.0862 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 325.3917 175.1303 336.2956]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 301.4814 175.1303 312.3853]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 277.571 175.1303 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 253.6607 264.0862 264.5646]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.2956 229.7504 228.2508 240.6543]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 205.84 175.1303 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1751 181.9297 175.1303 192.8336]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.131 158.0194 264.0862 168.9233]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.2956 134.109 228.2508 145.0129]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [209.6702 110.1987 221.6253 121.1026]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [207.9867 86.2883 219.9419 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.6123 707.9571 480.5675 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.777 684.0467 444.7321 694.9507]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.1515 660.1364 438.1067 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [424.468 636.2261 436.4232 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 614.373 357.2908 623.2197]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.1337 600.3606 512.0889 611.2645]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.4602 588.4054 510.4153 599.3093]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.7892 576.4502 462.7444 587.3542]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.5114 564.4951 475.4666 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [490.0818 552.5399 502.037 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 530.6868 357.2908 539.5335]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [475.3969 516.6744 487.3521 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [501.6878 504.7192 513.643 515.6232]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.0986 481.5262 391.0538 491.7128]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3356 458.9558 357.2908 467.8025]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1505 432.9882 433.1057 443.8922]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.658 421.033 505.6131 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [486.4749 409.0779 498.4301 419.9818]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.821 397.1227 496.7762 408.0266]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.649 385.1675 510.6041 396.0715]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [496.9655 373.2124 508.9206 384.1163]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.4842 361.2572 493.4394 372.1611]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.1981 337.3469 423.1532 348.2508]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.2295 314.1538 356.1847 324.3405]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [351.4127 290.2435 363.3678 300.4301]
-/Subtype /Link
-/A << /S /GoTo /D (page.22) >>
->> endobj
-2813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [344.2295 266.3331 356.1847 276.5198]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [360.8272 242.4228 372.7823 252.6095]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [375.2133 207.8326 387.1685 218.7365]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [395.7063 196.5947 407.6615 206.7813]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.579 183.9222 393.5342 194.8261]
-/Subtype /Link
-/A << /S /GoTo /D (page.19) >>
->> endobj
-2818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [333.163 56.1662 448.1318 66.1288]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2760 0 obj <<
-/D [2758 0 R /XYZ 90 757.9346 null]
->> endobj
-2757 0 obj <<
-/Font << /F65 161 0 R /F52 145 0 R /F67 170 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2604 0 obj <<
-/Length1 746
-/Length2 603
-/Length3 532
-/Length 1138      
-/Filter /FlateDecode
->>
-stream
-x�SU
�uL�OJu��+�5�3�Rp�
�4W0�3�RUu.JM,���sI,I�R0��4Tp,MW04U00�22�25�RUp�/�,�L�(Q�p�)2Wp�M-�LN�S�M,�H����������ZR������Q��Z�ZT����eh����\������ǥr�g^Z��9D8�� &U�ZT
t��Б�
-@'����T*���q����J���B7ܭ4'�/1d<(�0�s3s*�
-�s
JKR�|�SR��Е��B�曚�Y��.�Y����옗����kh�g`l
-��,vˬHM	�,I�PHK�)N��楠;z`��{�yG�9iCb,���WRY��`�P
�"��0*ʬP�6�300*B+�.׼���̼t#S3�Ģ��J.�QF��
-Ն
-�y)�
-�@���� �( C�V!-��
�&
-�E�@���0���_Q�
Lr����
-�F�F
-�F�(
-�K��R�J�	0~Z&0 SS+R��n^�O�nɚ��me���
�X�9�X��&���
u�3Sj�M�*��,y���־���%����
-m������Hx�֮�"&4��׻,^��5�����+�Åa3�>���_�xV����/��'x楼p�Z����k�BZA�����o�`��(&^y���@O���+{�?�x��(�@Cҳ���3���6*�
���8��"�����	
:��|��/�m��L�j�}�5�����?��뀂�{��́���x��Lp���'�X�6�1q^���&����7"
��:�L��nW��a_��T��Փ��lg�cx�'�����k�]�K���9j;��/�r�hD�;�
���U-z?�����!�f�>$�̯_�6ai�|m��
�ӻ�'�u�R�e"�V]v�~��K-r��ʋ��ο�^��1�c���Kǧ�S�9m��UZ��s�ʂ�On�ܔ┓�:'j9'<`ڷ1�����O�~~;�>�ko��U�$�
u*�<�)ᅑ�x��ђw'�.9�%��c���I~G9�}{���k��CDnof�57>�Zz�5�5ۼ���1(ysx'j��N[ +/���.�����y��B���?��
�4뼫 [...]
-endobj
-2605 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2820 0 R
-/FirstChar 48
-/LastChar 48
-/Widths 2821 0 R
-/BaseFont /JVKYVB+CMSY7
-/FontDescriptor 2603 0 R
->> endobj
-2603 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /JVKYVB+CMSY7
-/ItalicAngle -14.035
-/StemV 93
-/XHeight 431
-/FontBBox [-15 -951 1252 782]
-/Flags 4
-/CharSet (/prime)
-/FontFile 2604 0 R
->> endobj
-2821 0 obj
-[329 ]
-endobj
-2820 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 48/prime 49/.notdef]
->> endobj
-2601 0 obj <<
-/Length1 793
-/Length2 1596
-/Length3 532
-/Length 2168      
-/Filter /FlateDecode
->>
-stream
-x��Ry<��
�rҔ��D����LFq���ؗ(�Y^���
3cI����K94
K�B����� B5J�eDe���9�����}�����}����>?uU'W=K2��hT�
J���]0 J	SW���D��!0@,�25E�L? �P�؝�X4
-�Xӂ�t�ϟhZk-�0�eH�H*`O`��Ab
���H�`��
-�t"pCAzHև�P "1 "�QaK~�T_��V&3����@z���)6��-�iT
- ��0��.P��a�Gq
�Bq -ɋ3�K�Q���ӂ��
���� ��#u?�͚=H��A?v�
"YR�( ��V�Bq
$;A
�?�K����u�J�ф8�e
��.�xG���\n9 *Í
�/�%�2F�����!p��D��D��}w臫l�$����� ��6L<bdD� �JY ��5Ч��#�8�(��F�-=��	`@\*-#	��Q��'(&S��(
`�\��{+++B���Fb?(4�!���Hb�� ��<X�
�c_H�8�@��	�dp�"�m�ݞ/�-i�W��P^��zm\�iIJn�]�v��lA�<|XjX%|^1���H�V�ر�Դ���0��t�-Eωt{��`��8�NEק#I����9���g|l]u����f�sU���a7�/�c<q����e;v��Ȧ�𹆉�p�sgV	q���U:��iw��g����.zOU5�ɜ��w
=a(�Y�ğ/-��b��[�ҵ:x�[���q96ʊ[m��[�~�,� [...]
-�k�pݷ٦����J�}��&�E���\�
��/m:P��V�e��u9fD�SS���ŋ
X������D�	?��1e��}�k'
��=��E�k��f�}]����
�c�]�B1D�9���W���V��|d�1�EH~����PM7p<#壠2���{��>L
�� s��rJνzآ�~��S�i��M��*���Y^埉�1��m�;m��o��j���k!W�aݕ���F�ѫJ�ޗ�D�
-P��I���!w��v
-%8E�>���~U�J^���l�d�����{����^륬YY'���Q��]f��責72�.ޓp?�H�r�X�b��Zߵ�H>�H%�uE��@��I	5�[���l�
�VDw�B�GZ��+�&�mna��s��^7/{��!���H��Kn�w9�R��
�?{��'�@�GMW��*e�:��9pn����x�L*�>C��7+��6�u����n]3x�DK�0Y�oR^\~gc.KiWo��[�v�'�vbUÍT�k��j�{�K�c�|Tݪ1� ^������ɽ�E������Ȅ֢�����Ӌ�����<���#��X#3���aϫ��_��M���8�Bj|�у�oݝ���
y�UL�#*8Y�2iMB*b(�C�5�"|]S���v�q2��5����V���쵯57R�7r�
�J���
�s�j��HK7�y�uCg�&d��J��ڮ�Z���"緈m��J���̔r���N��*o>�Y�z�	�c1m7�G�tf�;	���"wy5s�Pڽ����|U�W� [...]
-����墎$bs��h�p!@4���E�f{
-xN�[��
-j�7�0����b�~��}���sr�	

n��
�	=���6}I躈��933e猺w����>�v-��
-=�
Q�*|�Q�7�Ϛb�3���
i�<~�L���}��؈��w_��-�n�r�����)
A{��
�u��+B
-�S,՞kx��|R�h�N
��a5Z�:�䡷F��ҕ O�
��iN-�K�c
*�`��Luz!������� ��
Z�
�jψ�endstream
-endobj
-2602 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2822 0 R
-/FirstChar 98
-/LastChar 117
-/Widths 2823 0 R
-/BaseFont /UQRUIO+CMR7
-/FontDescriptor 2600 0 R
->> endobj
-2600 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /UQRUIO+CMR7
-/ItalicAngle 0
-/StemV 79
-/XHeight 431
-/FontBBox [-27 -250 1122 750]
-/Flags 4
-/CharSet (/b/d/e/l/u)
-/FontFile 2601 0 R
->> endobj
-2823 0 obj
-[631 0 631 508 0 0 0 0 0 0 323 0 0 0 0 0 0 0 0 631 ]
-endobj
-2822 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 98/b 99/.notdef 100/d/e 102/.notdef 108/l 109/.notdef 117/u 118/.notdef]
->> endobj
-1287 0 obj <<
-/Length1 810
-/Length2 1751
-/Length3 532
-/Length 2333      
-/Filter /FlateDecode
->>
-stream
-x��Ry<�kN
��D�^
���`�Nֲ���Pc�5F�0�PF��S�M"�K$��X&Y�d댊�P�
�3�u��:~�_��{��뺯�~��u��
-(7Ms,��!�h�p-�!`���Z0���%D��d��p8`N��0 �4�10�iC�Kr`(����j�"=��R�4	pD��A��M ��<H
��	�u�p� %�jA�p ��� _�'A��~lI~d@�
��~-����*4�-b�$B(�� P'��-P��a���6t�	M\m/��U4O�W�L
��@
-�HƂҷ�#�k� O'~[���	x�9	G �
-O����X�����*�ƃ$�&���Y���
�]�j�Ms��B�I4���?��j�0�/,̆����`0�P(<_���yʚ�!c�$�: � �BA�B�{!D�4
���` ��B�Hd��
- �$
�#S �����a ��ʮB��O�� (�o@��A�����P��g
�Ӛ��F
�
t =,�߄:��hk�&
�+��
G �! 24@��d��1�Y�b1u
\U�����KF?M!�b����c�$k�4O���Բ<5��K�
?2(9�_�
>��
-���x���k��b��}v߇��s�
NQ���9�m��(U+�)��
-���m̎A�y�d]8W����*�TtQ���)��Tё�hF��j�gs�:��%�D^��������v0��ޤ��A�"�})����xVbvM��R)j��a�$g��L�ih�u�Rj�/�rg��0��������}�t��
F�K�����3�y�tQ!�	����]M���wb����-��[GF�t_�~jѲ��M}�]4�p1�7-Ԍ��hD/uV{2
��r�r�n���X��O���0r��Ψm.��f�!���s^�[�/��2{���E$\i�Moe
� w���7��1���9���woj�ɧ����w>,�v�j6�-�
0�(�-�s�N0M2N����z~�i��ᓾ�Hт˂|���CbYV�;1�����|���Kh-׏,��D���̸�p���%?��cC��Mg�l�G~Ȣ�^uZ�V�n �����l1�~Y�8->�~8��1¥S��7���y���Ew��C�N3��Pu�ײ��I���7x�y��`]��gy&�>o�P���z���w$ [...]
ޝ�ș�8�&ߟ7��;i��iE�G�]�3�
��aK��e�yӺa�g��GP��>����oC��7�V��Y'!�Q4Mj
����=��
y
Qz8�C�G�؟pQ2I�|OK�9�K'J�+V�҉O_�N���3)���<��o�#��	�/�
�&6��>J����T��z���7�M�*MN��:5��.�ty�+�ے}��-�d���ň���]����C�ݿ�q��;��
��˖I*\rx!��8��WsK�����ͪ�Ml���ΆRn���2Ϩ Í������JG
�߉'�v��詨}[�rF���gR��c7�����D,.s�pO�ut:�4WxY��4��l'��ծ1Yf��V�;8���Mq�c��;�R�=�����CH���U�As�D�B{���Q��n�.��i!	ڸI�/QY�@*��P�e�YW.�u^f��?�,��8�mh�}[��\�=�So��}
-���N�
�	[o7�7vU]׌S9���|� ��a0�Pdb6�Ѵ��M�=�W��,v`��uo�Z�u%=Q�L�Yc�)pV�l(�QQ9WĿ{�m�g��
<4�<�ğ5-
y�;OY���Gi�o�
m�
����O}%@(4���IO
�����V�L�ü=�D�d
o'�C�ʠ;��Ex�ƶ���B��6�Ƕխ�aI;��\�:hx�K����CNb
�ee�
-
-�
�̤���u
�u���&��2�5*+���;
d}
q�_>
�?�\ȱ����E��x��W�������-�vWvV�������W.�o/�;��ү'
�
�l
'�uP��fK)M�Iu��ot~sµ��
�n��Ġ~�C���j�Ջf#����,
��Zy�p��t{���}���\��7��4��-ܙj�N��zj{�<-5Nk��i
��3���I��f2
L���6u�V
i�1�=��#�5�\�
-�[�~��E�u��\_��7�`>�dE1^�	.��@j�{7s$}c�Rݥ)��Ľs�W[�c�{a����������D4�$��W�@endstream
-endobj
-1288 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2824 0 R
-/FirstChar 48
-/LastChar 117
-/Widths 2825 0 R
-/BaseFont /PSMTQY+CMR6
-/FontDescriptor 1286 0 R
->> endobj
-1286 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /PSMTQY+CMR6
-/ItalicAngle 0
-/StemV 83
-/XHeight 431
-/FontBBox [-20 -250 1193 750]
-/Flags 4
-/CharSet (/zero/b/d/e/l/u)
-/FontFile 1287 0 R
->> endobj
-2825 0 obj
-[611 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 676 0 676 546 0 0 0 0 0 0 352 0 0 0 0 0 0 0 0 676 ]
-endobj
-2824 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 48/zero 49/.notdef 98/b 99/.notdef 100/d/e 102/.notdef 108/l 109/.notdef 117/u 118/.notdef]
->> endobj
-1284 0 obj <<
-/Length1 815
-/Length2 1545
-/Length3 532
-/Length 2129      
-/Filter /FlateDecode
->>
-stream
-x��Rk<T���cJ�	ڄ�<
�s�&��Gn��=l��
���G�J��*� �D%BT(�H��P���(� t�gp��w;�{?�����^k����k/C
-�҉��B$�#��c��7����0x���
0�q����' T�
� 
��9�(��T;aL9��x���pb �"@Nl��A�

b�y� 
�"t�0r
�+��a� �b6;��oz '
���~�EA


-�0] �Ba0��u��a" q>�r��� 
_n@�͚r�
��Ʌ3QX2"�ɕ�7D}ON�Xd�-������ f��nB��
����
1`!���� d�t'N
p�)�O�c ��&��Csy���~�|]s��TO�� 7����\��
�������X�

�08
^��߾���ơ#
�X�� ��P89���
�
�
@1r�X
�[ �P'?2
j�7����lj>��~sџ
9;#1�,崖�V��&X {+\ܿ �B
��D��o1�o�b :��1B_�
q�rjy��Xrf��B��LrUӣ�K�z��J�m�4�0}6_c����5�_V��5���'�O����
F�
��_
0��-z�5�J^�p��ӈ�B��������ւ���)h�-R��
4EU7O�%��Y���K�C?�����i}��ي}��#�T�,�~D�+��*'rd�&��5}�`�, at itOb�X�)m�o��D��種ҏ�Ǐ��K�%
W���p�⋖=��cA�7�C�6�k
<Ks&�
v
�8[��1if���aD��qIm�M #l2��+�����y�
-Oe�%��s����B�O�GF�o�x��ԩw&ZW��V���N�������n��Fnz��l�˞���Z�xI�A�-"%���
@�5�!ªSp������L�����q�~c�K�
�h�]YG�0:=��At��W�2�5>?R:[�i+v��I#�?i���m���AK|y[W����h�̴���q��Y^�.��4�$|�+�c��G���D�4��BnV����%�V
�[iX�U�[�n(��G�*V��X�R�"��"S�GY/}����~���+y�~
�ۨ2mSa�TY
�;��xku��?
_������Jk��5f�D�$�"���j�
��Ȗq�/�
���^!��4�D�uB�b٤2���e�n�n�A,�h��o����j-�s��ov��4�z\�ht�e���)��RM��23��/��5[��&��N	:_�ƌ#�z����3�䏪�ޖ4e�x�fK�QF��O�Cƻ�E/��J����W�H��?
O
{��$��=YEm�i����'�6
->��T2ܔ�|'|�nU`�c�d���T��HW����\��d��6�H�����ks.$�6�������M

�8`W�ziՠq�:
�6	>T�����w�8����F'�Tsе7�L�Wީ�dG�5�(��sd���bW���]�;5�'��Eu����ש���t������x��Ұ��Y��Og���[HT�mP\H���B�m�K��E�BZ��#��fy�"^����5Lo����U�m���}zs=��ҏ�i6�rt�3%O�4;�9������~��7'L]і�ҜP�r����`����8���Ozgt���e����k�O�?�⻫�V�����#4k
�e
�Q��޴.W��)s
0�_�Uc
_ٖ����>V\'� m=����j�a2�}���0_Z%yT�J?X��~��c�6���ݎF��8���|�܌�eJ
�cC�'�{)��
$�~2B��U
�ԺҪ��`�N7� ]����u����޻i�j���1�w4�žb
�
1�I[fʛ��4�T�d����~��h�a�P|�����j�
����'�٦Ify
�
C����s����֎\�f�T��R�E��Ћ4�
��A�X����x���	͡�_�rߩ;
��ϳ�Ҽ�OSZ��
uU��!A
ʙ�5ʒ.�Ug� ��MWrM�Fv�>
��3�K��+�r���RF
;�xuKKC�A�T|��i��,�)
Ƹ"X�
�Jsr���?�J�񝕴���+K�b����|폅���'2&Eۑ��5�-���
���A�����΂@� a��
�? j�endstream
-endobj
-1285 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2826 0 R
-/FirstChar 81
-/LastChar 82
-/Widths 2827 0 R
-/BaseFont /SJPKXE+MSBM10
-/FontDescriptor 1283 0 R
->> endobj
-1283 0 obj <<
-/Ascent 473
-/CapHeight 689
-/Descent 0
-/FontName /SJPKXE+MSBM10
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/FontBBox [-55 -420 2343 920]
-/Flags 4
-/CharSet (/Q/R)
-/FontFile 1284 0 R
->> endobj
-2827 0 obj
-[778 722 ]
-endobj
-2826 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 81/Q/R 83/.notdef]
->> endobj
-922 0 obj <<
-/Length1 949
-/Length2 3050
-/Length3 532
-/Length 3704      
-/Filter /FlateDecode
->>
-stream
-x��Ri<�}۶�4�el�.D��LֱdWȾfl�̅a�0Ʈܖ"[��A�-$"d�,u+{YR!Y�$"S�T�}߽=����{���u
��?��u
�����a}
�hB"R#�HM��� ����!�P�$��jH
-	�{G RMS����J���p2�ۇ��}oR��A2
�!��O��b�
	�)�p@�@ l��l� �
��P$����'B���1%z� ��4.8�RH��d�&� �E
�Hp�TɒD�
�;��0���I0�`���.O�ѿU1�xB���$��`
-H,H8�L���	�i������R0<V��M �O
-d�q�x
-�����<H��n�>��윬��m~���d��)���~�����`�l��0 ��#Hz#�������XO�����!�1�P�^Б*��D
�at�Jp"�B?�Gr�"����TA J2H$�^�寧,�_�����5 ��L��@J$"�7V�������W�����u�_�
-���
��~�tu� }5�H�@�Y�/PP
-�ҥB~�O���yX
>�J�BY
PWE��_��`2��)?����_�
O�
��#$�V�oV���3ƅ��!��
閵[���.2Jz��j�w*���s�9��]ᠤ�(��&+1����_�B<�����T��� ɭ�E�����%UF�����̓E]y��
�e���홐`x���0'^M�لJpH8[#�,a˝
X���0ʝ��2�w�7�����%x�N![����[|x�-�ʶo�a��t�n%ps����S��xۑ�9�K6�^Ӹk���"{<_��8�"dE���Y�&��6U2㡬��Sd6V�X�($Uև�;7�gEi����|�r�Ni͒MU;O

{���?h�*���/.pX�橈�Sva���#�,���;�/zg��)��mO��
��	n���#�,�_��z���
w��/�ř� �|�ez����9��+��k�u�O������
i{�p�g�C5
�|D�o)1��T�O�o׬
:� ���P,��H��V,Ө�f]� 1�U��
}~)h@�q̕&�Za�\g����{�J���
��'y"-#��_j+A��uKF5��~�9�pK�j����[�h����Z
|O,�hIݒ�1?GA��U���N��
j)[�4�_��n=���/��l�n|�/#��o�����Pu�����Mu��D�=�]h���y�2O��� �BF[�W&�2ldM���h��0�
�0-'KSHX��J�����^5S~i���oE=݋F�zR�X���ƔBkFf=@7����y���]�ir�n�,�Ѵ�-��Uve3=T�T�籑��{��c�P]ȼB�<���'��
;";�Rv���wKxڐ�3b�
N�h�$�e����F�i���5*����6�Q���v,��[n}H�`�P�d�7����]�$����4��kn�{ф�����c?[���s��u��>�W�91��V5YZ��:����6[��R�
�>�_c��-sX|S�ؘy��J͛NJ��oQ�*Og����=�rw$إ�UKX
�&Q����.��E�xwą�7��|@g*�A�
>���ӣ5pT(Y8K��� �J�R;�s�J�(�{�xRY�막`�� �$VL���1��
��VHc���
-��{JZ����,�М0V�8������}DQ��9�푫̳����4�����
s�wSoxj�/^��,}�,v ?������H!�������'Yʩ�-�X1	���xĭ���ұ!ő�Q5�I����fq��g��||�cW��6\�(%�W�ۺ�Ro�*
�Pɥ�lx��`��*�sl�v>����jfہ�=I�e�,���"=��D��^�E��k�3�<ٴ�g-�Z[o$���G�%L�3p�DV��b��S�C,͂V������p��OL{�5���P�
��I�w.�c�L	l+_�p�DhĮ]��L�5���>Rv"�OU��{��F�M&���;�Ӷy�C;WXR�ͥ�9m
_��z�ɗ���Ma�-��e�Mrg�;�4���Y��
�x����G�FK
-�@aV:���=$tY��,:��~��p.K�x8cJȾG�S�x�����)�p�׏Z����f�&]S���oM���P�ɘ
�&Z���.9[!��
�-����a�S����c���3Ь�̋�=�
5*,��2��&���s=3e��-|J��q��d�m;	�U�*��*�ڌ�4�Y��z^J��C�dKZ�_�Bؼh�4�L
�QfGᵧ��8�xl>x}� ����Aͨ��
�UJEe�	��7�+m���D_l�iZ�MAV�
�=;c]˚<~`���݉
�F��W)�F,�K���S�vu.����r}�4�͈qsa���
��4i�}8�I�}�.y���	k���M]��,Y�:�
����3TB��ҭ=V��ڶ�tˏ�*�#.���I���Yܹ��X'����<5�5�rΖI�Fx��2��y#�"jӅH'��/,g��o�y� JM�
q��XH��t)B��yE
�d-r�|
�
&X�lS��
-����2X�<h�$�
���Ѷ�(�%�°�+
��\ʭNx�Ũ�=��l|
��|ᝲ��l�����B���@��9�i��ͳ�s���tǑ/+6AG�KSk%��"'q�����&��n^�?�m�pä�����7n��*�AA_�8�m/7�?t��,�Ξ��S��e?�@4�a��5�Ƈ�f�ۂkh2뚒ϗ���u�6���׷
+�^��rf��ƴ�2�,N�,̐�1p�ق��i��`i;��.9�p��K�5aʕ�.<t�~�f�՝�Fl�A�KS�/1�
&��xrxA
4(��(–k/�@���Ugʶ�x������0;
W`t��y2����@��T{��+����<�h~a��c����i�a'~ v�CX4M؆/�;���\���f�Ő94S�������sx�M5����9M��{X+�;F5��Dd�Ee�Y�<D���q[y�����N�&†�x�1��a-��8ոL!�t�X'���*�㘥/���m�{E4-e��-u�`ĪVS���G�-st�� [...]
3��������$���V�2G��Ƈ�O
\��6�zb����e2����5�곸�!������'r�S����+�oM��jm�ͮ�_|��
�2Z
���B	���n������<���l�բ�Ŏ
�b����ٰerb%�&<8�5�%�)���(�Q��4m��i�[�����R<Z,ɕ��c�G��%�nA8:Í�o
jE��GѺ�n��V��$T�
n@*>��4
'	�HY�Y[mIg�2O�̛n01��{�6�$��
�p_�+i�
�f�|r�x���ːG-�g�[W����{{/
�Qէ�Ċ
-^6n%v^�bG�0VG��X+*㮗�X��
_,�T�R;]�K���"�����
���3{��Dz�Hqds�h�"�׬��v|��|{f~+��G����8��*1��\��x����=�w�����)�^���?��Y�Q��콭Z-���kd>iz�.~R��y��|g�-�u�s���Y�L�
-Y�sݦ����ղ��!����E%�m��f��	����M��"����X�!SH��� "�X�endstream
-endobj
-923 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2828 0 R
-/FirstChar 40
-/LastChar 118
-/Widths 2829 0 R
-/BaseFont /SWOATR+CMR9
-/FontDescriptor 921 0 R
->> endobj
-921 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /SWOATR+CMR9
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/FontBBox [-39 -250 1036 750]
-/Flags 4
-/CharSet (/parenleft/parenright/zero/one/equal/a/d/h/l/m/o/r/s/v)
-/FontFile 922 0 R
->> endobj
-2829 0 obj
-[400 400 0 0 0 0 0 0 514 514 0 0 0 0 0 0 0 0 0 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514 0 0 571 0 0 0 571 0 0 0 285 856 0 514 0 0 402 405 0 0 542 ]
-endobj
-2828 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 40/parenleft/parenright 42/.notdef 48/zero/one 50/.notdef 61/equal 62/.notdef 97/a 98/.notdef 100/d 101/.notdef 104/h 105/.notdef 108/l/m 110/.notdef 111/o 112/.notdef 114/r/s 116/.notdef 118/v 119/.notdef]
->> endobj
-919 0 obj <<
-/Length1 889
-/Length2 2479
-/Length3 532
-/Length 3106      
-/Filter /FlateDecode
->>
-stream
-x��Ri<��
�"
�e�
��23�RY"ҘyF�,��-yc�*e_�I�%k��Q���^k*�,��r�:����O�w���}�������o9)+=,�4"��*U�`�B�h�%
��3��h*�L:���: B[[0� 5u ���T�A"!r��ӏ�w�@
�_EZ�
��1h�BS/�D�M l�<H�S����o��)> V�@ X<�
-��nx�5�		G����4Ͽ(���
(~�	�!�d���8̂�<
df�o���܈F X��_�6�o4��'��S@&zҨ @�� ���
��
b�4⯬	M�c�HnPAh��5����Fx_k��b. 84��VI�_�0��-�X_�������~��x���'���a��l�
����������r��,C��œ� 5�&��P�~8�J
� ��}З�J"S�[ fc.82�u�� �y��e��Ig�~0��Є0�����
 0�O����!��'�
��? B�Q~�L��7�����}TԴ5$�p-$���_�7!�F��$�W�
�_�g�}A
dh��9
�TVd��s��-����@��rXuv�0���ip���
_ț�ެ��!�E+����|��A�Sm��1�N�vvd�7�3"�
��R��Y�i`e�� �rD�G�.x1��1��R��g2V�u"�9�yh7=v����19�<t�C�)uE`kH�y�ǟ�)��Y�]�)G78�P_�D7��q`�L���������#�����ES�w�mX�=ӹ�x�a���7`���.�ߣ��!�:uc4A�K|K�uD�ZiZS���������\��׮�aad�/�w���q���4v݊i���	Q,o�~n���g���y�0��6��ӗBZ�����YȾ��JY ��N���>1�-��3#Jrd�>�K\��2ʑ{{/�`I�t�l����3�y�y&'lO�Z-��
-�
�<�rӛ��F�4h�4�e<�l.�v�F��=}Z^�����X�H�����G�+x6
;��3��Z�}ZIQ
-�0����#�J"� 	��_H���RQu�v>1
U�����eBy���ٕ��d
lلܲsՔ�"[�ܩ
-�{�R�UnjE�p;F�#�$
tiNh
ZS�}8/dŢ��XY��Mvm%N�,ܢX�;g K�kn{Bʽ��.�'��Kl�;�ѥ�_��[vF�m�h�VJ���	�y�ٶ�5!����֞qW��
��z}��i���-J�Bj��
��crg��K˪&�
,B����:�U컗�ś
��ԯ�b�pz1,�*�Y�G���ym�d���E��cYK=5A���=z_>���	�k g:��şo8�%�[3LX
d�+�l�U�������ܑA�.'B��HpK��P��x>��o4�g�c����c�T#�����*��S�\�И�Nj��"��F���7H�ȹ��fK}um(��mq��"G|�]��u�%	k^�q�a����ΕO
�1�p�#5,��A뼵�r'��"����,�%"�������Y{����4�άN<���!;C��VB�E�]*�;n�1��6��������](�X�����k���Ӝ��g:u{�yp���B�FN����)Q7�Z��֦�S��� [...]
-��y�,t4���`�
�x�-}���\�

��}ܟ�{�P|��I�l_b��.�{aї0ni���K�G<{�l�秱�W
[�ݥ
���8�(�O_0�d9Ȃo/밳k�}�Kx��
���q��
��������|��['<���b9�8�>0�>�:	䵾��:�
�&�a��r]s}�����dJ���N�WЛk�(���������}٢0ߒ8�猏w�M�B�J"s~C��H�E92�Wr}%����L/�E,�
_}u���A����ɱ��+BG�
�c��~!��j~�b�	^s2_�����
��gy�������7�	�w�5��q������H����x�Z����v�'�Ot��<�R������S�U5�u�Vl�^:�c�P��꘶�:u{/ZS?��g��Uq��w;�O���V���}'
g_�]�I�$Ի
-emc�-��Y�)U~_��qJ%u�U�c]�~�s�� �RfD�mTw綤�|�n�@�������""��!�

��!���m����V�ͣ�oN��r�]9�-
&����?[�F��2Pa���u� ocƕ��m�7�Cr�eZ���Ȏ�q۰?Q[
y�oqm�[YS���f�������ɘ
_�
��I�*�lKn8�

�e�m�Xr�Lt�O;���>j1i�� $V����_M ��c��c�2��=��&��r�O9 s��8��U@�,|!TӲ�(�PkS�����3�m;�Oof:���6�n���1�
��:7{�؎]
�1<�!�:��`!=;��^(Xcq �
2n~��mhB��d`b�r�6-7�+��6���Vp]�ܪ)����\?#x͵�%s�
#�qom�2���(��{��{�H96������ ɽ��p��z�q7��t���>T�ݳ��0	�B�b���Qa}��^��|��J��UׯFU��_��������}���C#�l�}�f1�R���k�*" [...]
-@Jl�8&<�,�Y���VȚ���.�GK������/O�bv
/8��������z�N�d
G��u�S����|�U���cҁ����
�[.��=�U���I��ʚ�Y�w��>�6�	�9w؎�m�G-зE�Z��YҾ��2-����(��#�y
:�����
�;�.�^��.�8f*a5^]�(�k����L�-�P�Y��X"�	�CE��s�4ϝ�S�ݐ�d��A����І��=M
'�q��Qr�
�����ӧ�����$�в~�����0D� ;�+}�|פ�,��9���]ZtbL�JEh�V�'C
�Q���y��-Y�ϸI2�����joW����
U
�G‚gO��x���2J�!�\�zm��e]Ao|YZ��a�������G
-vU��*��;��b�Ȥ+P�?� �7��0�@4�J&�)
� �.R�endstream
-endobj
-920 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2830 0 R
-/FirstChar 46
-/LastChar 118
-/Widths 2831 0 R
-/BaseFont /GBALQB+CMMI9
-/FontDescriptor 918 0 R
->> endobj
-918 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /GBALQB+CMMI9
-/ItalicAngle -14.04
-/StemV 74
-/XHeight 431
-/FontBBox [-29 -250 1075 750]
-/Flags 4
-/CharSet (/triangleright/triangleleft/less/d/e/l/m/r/v)
-/FontFile 919 0 R
->> endobj
-2831 0 obj
-[514 514 0 0 0 0 0 0 0 0 0 0 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 533 478 0 0 0 0 0 0 307 905 0 0 0 0 464 0 0 0 499 ]
-endobj
-2830 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 46/triangleright/triangleleft 48/.notdef 60/less 61/.notdef 100/d/e 102/.notdef 108/l/m 110/.notdef 114/r 115/.notdef 118/v 119/.notdef]
->> endobj
-739 0 obj <<
-/Length1 851
-/Length2 2927
-/Length3 532
-/Length 3544      
-/Filter /FlateDecode
->>
-stream
-x��RgX�%"����-
"EZz�i����$@0$��D�Ҕ�
-"U���&MA�4)n0HG���'��>g_��{����3Ϸ�w}k֬������G�0F<Y
� �
�6P U�@`�D
��%��!�M ���a�h
ڣ������*|(D��'�68��{c�X��dO�7M���C�( �8
`�c	���0D
Z�
-�Xp�x`���L��@��2��篖?�H����<�L�	x
@c�Y���04/��~7���,��?��om�7G���Ǐ�!pC��Ju���
�Ac��횐�8,J�� �?KX�6��’Q��;G���c��_MВ�i
��353��s�?{VH,�lG�����O
���C�.Z�P�v��r��[�x��{ �*� �HDRXi���T�`(�ţ1� &�f��'�i[ Z&!�;���c��� 8C$���,�B0�׏6��*�����DP�2 ���	��
�ҺĿA L�����
#�+�@ڋ�
�����(?"�'�<������Xڔ0�@
�u�
��^U
jX��1�
��4ɢ��m3���� \a����TՅ�%Y<�T�h��0�f�U�~��pߤ������YA��6���>��\_�j��ZVYM��8=��Y�\ʳ�>g7��^���ſ�-;RU�Q�>�F����ͱ
����ɀc)w�N��
���Lv�3�������ɇ�/|�ܨ&Q%�?dxm�u�=�>���{{w�^6�aK�
��6=&�sy�*r��
/
��������.�
H��N�]R�����t�!d�N�4^j�9�pH���o2K;=sm�*W29/�qƙA���K�߹#+�
o�s뮽�~(�)ݔ��~zY��!�$V�챯^�3���nl\��V
����"�f�6�D�H�����B�
���m�
7|nw�j���In�QԔ�MQ�m�~~h�\xJ`䀊��	�n^.�L{0�>�r�Z�������ߟ�X#�u��I��'8H���F�7o;����܋'��L%9)���u��k�ٞtu�5+"�t;#���	Z0�$c�jE"ʨMؠ��w�%&g6���+2�JY�K~�
�5�w�|���\ zV��͕���1�3#������Q�|�AA���z�|�LI�8�}���]�
�g[�V
�w?�_m��K3I�K�%���� ^�4����j�H����{"S�d 2d�i�[]����G�l�k���#����V	V_[�uy4jfqsE%�m4��k�P��3��E)m}��mO�=��8@���6�����n��`���RuxI��b*��qq�m��<�c�.��>�ع��谛���Ʉc9Qb�X���~^�Ԉˢp��1��6x��bX�����Z�����[Ț�s���ZR�5�Z�T�CS���K��W\��	�GEs4
-^a=Ŗ�y�_���������Uf�&�aV�Q`w�MEd
PLc?�+o�]�1���!�W
e�yG��_K�]���Ht��`���-��Ȱ�����3Ny�G�j��ī�P��
^�f{4c�juI���Vn�wl|:��Tک�J����6�2O�����z`���1)�`i.���4��~	U��4c��1�nT�k�4xF~�tb�`�Y�
ᜱ
x_�8BDo�r�Sv'�
�Y��n��r�������d����n_����Ʉ�ܶ]O� tn-��C�KI�A���
���$�ؒ���{�a�p,���,���(Q���K�(�d��?`�
L�^���	C�^]f6�”�z�J8��vRX8�����U��Š�����U9e���z7����U/��7Z�x���e�E��.{Zo^������X�0=~�v�5V����>�[�
�bVg�~����Q KF��V�y�`���R��.e晶���,����t�l��3���k��2#�Ӊ�'B�8��E���F^
��9wG����(b�����ް� �/$o2t2�u8��}�g�EC�S*.�d�|��ĝ��
s��uG����2+ޛ5��M���<��h�I�
��
e�

��*�ޤ�(w�%>��g�
o��t��������yQ�C�w�m�j���k,��FGn1 �<��A�
n��Y
������Hً%o��L?�>�=:�Y ���Vp����
-�W���E�}@����P`5�Y���&^�d��8trC �XN[zAǔ���U����F��Զ���p��٥pʌ���K�C�\�31�4���l�{�:��h	���VNy�?����*¥��[`�̜���k7{X
.�j�	
H+���
�U%~�!鉉�͑x��크8��9ㄘ,��
-֟ �/�h��)��
��"�
Z(Ep^��_��
�>�X
n�$(��,�������"�G��@��s!�
©��.lݒ�7��ag�'Z���pǝ�ߵՊ��8˲��
sν~�z6����+��!��x��`W(8\�́Ǩ�mq�xPgHı:$��2cu��ؑU�og�<�\�ڇ�p�F|�RYI�t=�v�a;rAn��r�|�t�D����ԯ��Q�
�#�f��<�lO����
]�,�^�h���=��#��_�.<��n3���T�1�F��"l8�`)��
-N;�S=�3w�C����s,
[^'.}.)����P��I�Hyz���i�������8�����%����
h=�C��6ko�L?��,+v�입�qG��`7��_^X�&���
��Է�@�$�23ǿ4J��.���W�
|mi�Ϭ��T���[I�̓���c!�uqGp��

�
�!7�H
wk.=T�լb|F�
-ON9S#�8[&������:`p����r��~���E��ge�mϷ;�5�扃E��<�[KY+�с^8�D�e��^�i
]hN�]���
V�`�yo���z�(Ď������X��8`5�I���צ%��5]h!]@��E����֥j-�����ɫ6rBbI���g8��ˆ����
T� �s���MY�F�����$e,.���;U�/�Y�X�n2��fYe�Zo�t�S�H#�k6Ϙ�����H
�Gꓹ�O��
^��eObJV�O
K����z�[�\>���r����Z��J�.�
����� ����4f�«�0?w�j.��C0�#�W2�A���o��/
j
��#+f�]C��*���
{4�Eͽ[��vWc��b�rf��Y ���ꋏ�p�C���'��h�B=���#q�r�G�<��RX9�\���gWI�?�i���)�%
�N
�#��4�BI����h
e�ҭ�scrC���kt����K#d䬘�񝦝cVW]2�K�dm�s���<'�)���ڰ�$���.ͅÃ,l�?*�4?�������P6B(l�=lS��;A9ژ/��
�(�����
�e\~)�W�D\k�#�kp�aB���=
-u�L,
�H͍Ǐ���6�S�v}���?�La���<��
!��T���� �e�Z!8��H�̈́}�-Wn��&���N�j�P�H�n��@h� ���(�Z���b���� 
-�A�o$�
-�? �$�endstream
-endobj
-740 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2832 0 R
-/FirstChar 48
-/LastChar 118
-/Widths 2833 0 R
-/BaseFont /BTTJKI+CMR10
-/FontDescriptor 738 0 R
->> endobj
-738 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /BTTJKI+CMR10
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/FontBBox [-251 -250 1009 969]
-/Flags 4
-/CharSet (/zero/equal/a/h/l/r/s/v)
-/FontFile 739 0 R
->> endobj
-2833 0 obj
-[500 0 0 0 0 0 0 0 0 0 0 0 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 0 0 0 0 0 556 0 0 0 278 0 0 0 0 0 392 394 0 0 528 ]
-endobj
-2832 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 48/zero 49/.notdef 61/equal 62/.notdef 97/a 98/.notdef 104/h 105/.notdef 108/l 109/.notdef 114/r/s 116/.notdef 118/v 119/.notdef]
->> endobj
-736 0 obj <<
-/Length1 837
-/Length2 1516
-/Length3 532
-/Length 2112      
-/Filter /FlateDecode
->>
-stream
-x��Rk8Tk.TT�
Ŷ|52Nsp3B�Ĕ�1��
3ki��L�DJ�K��T��rH�U�"
�J'#D�u 
(�b�����~}׷�?�����<�����M5u`��+
�M�fx2�D�x�q���á�h'���0�L�d O"Y�c8 �
�ɖ�dK"
-
8��B�
���N�p��N� 
-����t��t6��
�y��
�@$d���x����p0�
��3�< &
��1�ߠX��E��21�\$�8B�2Q�
��(��ߐ�cq�g�;S~֩�4.�#��s�c� P`�@?R����( �
�����8l��S����k��se
@�7�OgL���A����:��~��=�YЛƆ�>�h�}g�����$�- ���p8��(?�n!?4s��0�
E K+�� 4!J�D���6�  (�+ƚA0_��;0a53W
+ +�E��ۯ#��_�w�2�V8 �y��	���YW���rx�Z,8��
GGX 25' �K�X��5@�����
�  ğ]@���b&[>�t��L��
�]��4���~�<
OG\���>����U���C����;��H��%Y#�g�
�e�v�C�DDŦt�KԖb�Q��_oUh�m�����oH�7]c<ڵj�Il��
-�xb���~�ҎG_�'D��'U9�X�,
�{�+�{�$�l�
.��E�˃��kNI����Fu��Ii��v���8����?
�'
����JVֱz�wR
�Ya�/������V
x�!
�U[=����=|?�,�Ӡ���غi�+�5p�ƽ����4�*�l��k2ћ�>}A�[���X��d���4�Q�H��Yc�����Ư0-8�ym��@��!���{�ʺ�&�]����	
-@jO\��$u���zA���>iB	2���
v�!^����yy�!�8a��ӖްK>
����8k��U
-�Ժ���U�;
���i��,[�<��H[ì�q��O���V9��m����Ԍ[�&�{��2�ٰ�����b�gy��u�9�͟�d3|�L7eG�.�,���%-�,#U��+���<�P{���d ��;Ǎ0M��[�o�K2�'��̐@�K
W!<�IK��1��&8b�ծxsa����ѷ
��BQd����v�ˎ����:�bT�]j[�H��2q��>6i �r�z�*ۀ3v
�W�N��dJPg��p�@��s�ehF]>�|)��t�ّa(ՒP4�y�iA���=�|�/�
-���	����[��&������c4G�Gi�}���8�+�͝x���}w�wЇ<����D�[#��<�hNaR��P3Ö3�m�_�?Ώ�xo��+;'� z�@q�&��<Zj���ɢ�
?����9�h�/'�m��dNH��~��?�%
��_t�(=�(��

zV���l�3?u� _ܵU�C�r����w
-��곆����ޅ
��{o^��g��D��ɮ���%G�:d���WV��ی�H�o�/&#2_�M�չj���n;�Q5AO��_.�=lvq�$��%t,OT:��?I��d4��zj���&�S���#�j��t䊽�B���mc���µ��~��S̜�����%�m��<��
-�	�U��s�T���̨o��?�i~j�4�8a�א
B�ݰ5R���M`��<��*ll�^��f�n=P�rY
[��As��;z�S�LYW���{����>��`�֤+���,�l|����
���P��l�Ka�z�m���1
��WrF
��}KE�Z�Oد^:���B�h�T�Ip̫z��g�¬�CN�p��n
����ج<?�ˋ�ٝ���
-�~s����7^o��>�ꚁ�yU���X�ruj}{��ĉ���E����[tG��[�i����������dnX�v?}׶����v���C�
�߿6
~�02�
���� ~o*<���\�
���.
�=u%+�}B���飽�t^%��nӢ�I��#�������F
3
-c���߫�[��5ſ�ЬJ<�]zowĥ��l��ZO%��<\r�(�C
s �Cc��Ɨ�����u�u)-
-���T
=xY�1�`��뵫'��

6�����I
-W�h����s#�?�P�/�?Q��i�Ґ(�_mhOendstream
-endobj
-737 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2834 0 R
-/FirstChar 46
-/LastChar 101
-/Widths 2835 0 R
-/BaseFont /UVOYXJ+CMMI10
-/FontDescriptor 735 0 R
->> endobj
-735 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /UVOYXJ+CMMI10
-/ItalicAngle -14.04
-/StemV 72
-/XHeight 431
-/FontBBox [-32 -250 1048 750]
-/Flags 4
-/CharSet (/triangleright/triangleleft/less/greater/e)
-/FontFile 736 0 R
->> endobj
-2835 0 obj
-[500 500 0 0 0 0 0 0 0 0 0 0 0 0 778 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 466 ]
-endobj
-2834 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 46/triangleright/triangleleft 48/.notdef 60/less 61/.notdef 62/greater 63/.notdef 101/e 102/.notdef]
->> endobj
-2836 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/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/ques [...]
->> endobj
-463 0 obj <<
-/Length1 1642
-/Length2 12133
-/Length3 532
-/Length 13010     
-/Filter /FlateDecode
->>
-stream
-x��teT��-�� �������8�H���k�ww\C�@pwנ�.�w�̙u�?3���k��ާvծ�g�[4�Z,�`K�,a�`e��;[z�k��U��,*@k{���
�A���rZ@�� i
P��H� �� �����������c`bb���/��Ͽ!o����  �ۋ'�	��
A�(�ˁZ@  b��;Rj�
-�r z9U
�
t{kB�����
-�lo� 6`7��? +0������Y߸$� w���[��
-���
p�9ۻ������n ��
@� {�����_��m���~�p~������w+7{�-����?��Y@���n��6o��`+��Z�{�yC!� w �
�+�%`m���d���������2<��A�������p�v���Ѽq�u;�����pqq��;��׿�`q:ٰ�pp�崂�嶵���5/
- 0���vk��<�n_�_3��V��5���ڠ���!o)��5�Y��D���D��y�{���F��#��~��J-���j��6 ��3��Ec���2�e��
�k��[����N>�Y�z��Q�$���_��K�l��a��a�����]��h�n���X8�]��v
�5���
|��}
bg�L�����<��� �m�M���gSїWV�f�O6����o��q�w&=�������{�X8�Ja����x��/Y�����Y��f�
0bgeg� �����ϓɿ�Ȁ������d�6u�n�
��ps{��E������� �h��8�
-w����#��!m���;�Rڨ]T\�ʌ��4��`m�|i��=ry�Qd�
��w��N�}y@��[��J��Ǵ�fZ��u�������:�!/����
MӒ'҉N.7��;�`*ς`\�[�w�V
	x_1����
-��iS�n�F���/�{wH���i�<��i�]�H�
u*�>���3����nX�;N#2 �U���&&Z$�z�2��F_�FZ��R�$dp���g�
-�X�	��0�é.
���c�������}�wI����)%1���ʂ��S�	�p�|��˧��wv>\=�٬�!&8\��$`B0��"�lZ�T�Ef,<�����)��Y�-�C/�s�N��2�@eY�‹ڞR�d���,�O�Y����:�޶���*
X��W2�P�I��59��!?�(���#����^yU=�i�ҝ��pȾܽ�b��T������3}ҽm�J�E�
��I��ي�M����D"9�>��ٶ�T�H�Ҁe��M�qO��NB����	����^o�ҿOT(��X����9
�Ԏ�dOF��{��x�̓
���h*{d���;e�y�>�3q>s`�Y!7
J
-��%�V������-6zp�Y��3�#��b(<��6�6��G]۞P�bH�}�������Y{/���<f~Y`�=g�{yͬ��DC��_���<~RKQ�a����R���R
`��@qS���f�Y���Ba� u�
a�IlU���ffvR�9�(Ù�P'׶��U����q֠���kq0^G���(L;������B/z��G!�M��Z�'E}!�7�Xh�x�ϖV�sTų�?@j���`ۋ���N���v�9�襊/�_��ڦVw���`-��-�qRIp� Z�3�1
-'(�楁{4E�2�ވ%�0pǛ^ZJfWw��99�뒦(7u
����!!�6��P?�淜���岬:�
�b����we�7�Hl�t
շ]�]����tgg�`Q�K��/>
V~(��p4
1��f|0!��8]���d��a��GP��#qv'h�)
���?��*0A�㒯>���Dr<��C�r�ڦ�5��>�t>���v�[�|�c'n�D�z�	�_�1�S*�ß'�g	ؕ�`1��K�T�<�Sד�	�+�A�G]\�g����eD[%�����*�l�/��"�"zc{�Ϝ�[�J;J�a�
�5���J4�[V�"�����X�ӊ�
�~R��nDq_���1w�[��f�HN�6�vD�����o�"����uD]����`8)'ˆ����-
���V�`
-���X�(5���VS�j��)��F���� >������	����jN
�)�!Q�Q
S
]v���|\��
X�
�s������`�0'�\����{�e���x�!0�8�d���ʺ�IG�G�n

�x�����I�e�Ԛ�9!Ξ��/Ժ��t�Khs�Ǜ���
汎��W��wc����w
C��A��֌7�&����]zxt�-ϵx���䜄�����ǃc~5=Q�	lG)��_?�Tt
����މu�l���e
v�|͓9������o���(T�9U��-)t/ݙ����<1����D'�+�K.������7h��Qی��io�/iCwQ�Uܢ��r)�!�Ħ�#q�v�Sc
����~d?(�tIw�^N1�4Uc�O��%J"�\��͔�x��g���
-G�fp�!

4���������/y?�f�Y��
�Sn
-L���B_��.��L�q)����l5�	>� ��%h���
p�Nx�	j�*��+
o�m�$������
,7�n��?����� �

�v��� ��"��^gSW0�g�Y+y)eRX.�9�����8B>s���i����̣�����y�gZ�k��U
�~�}��Bs��Z{�/~k�؎����'u����\�G�t�z
�������Ҟ�3�
-�90�\Ba�����[;��\
�O\m)ZC�)z�g��i-�4�{8��-��~C#H6$�������V�a~��$�k���	���m46��)�rb���|lN�ݺ�L�=ZPe�˻��=���dнw#���4tXΛ8!_S_܄�g���,��bA��J�<\�RĘ(�@n|�����bpLԦ�qKީ}��x���	�&ה�~}�a�f��Ute�HKM��˻c�O����+�A�A���a�?Q�3��쯹�h��D�~+`J�e�����2КK�O%
�"��c��3��Y���,��hڿ@4��Z{�b���>eI��;1���������KV��9����mJ*��U���
����*;a
H�����]"er5?;��Q��.c�r�R�F$E�>�d��~P���aI{w��kj��+/�{�V��m*#b~s'c���F^wL���Nr�&m)X
-���|�OZ��;4(���2�`.X���>���+��4&1�s�{�6��:�{Q>Tp�l/�ӫ:~	�֊�Z���Q��O�N0mB�Qɳ����(syq�ۗ��RFS3MG��$"��3xz$J<���:�q8��
_�L5XH�����	��gX�ӯ~��,�řo�hX�|E��
7�
��9�]8@N��	E�Cjo
op���
�����3�߬� u.�;�j�dZ(�#��z�"��ɊSa��	��9.M��H�4
��.���"Pc�w�U/u.o�DM6�#���]:pLJ����y�5��F!_.���Z���~)
##~�
��D5s�r�[�@<�#��$&�e.�ѱp�
B�Q�CH�̠�!�Ӛk�O� �P�2�5��g0+����+��C�$RU�vl����J�Q%���)i����/L�L���}�ǂ��g+G�c�Ʌ�b9�1�0��P����~Kٯ�֏#����*>n狇����As֋EQy�ʂ
����ǡ�¡t�S���œ��Wc�3"Nq���-��A�
���n�%��GeJE�4�/ǯ&F8��_1C=��m}DBY!���a��M��&^���bCl����x�$J7�j���뼨��>�̹�h�¤T�k��Q�� �v-y�r��:�e�1b�2p5�A��J�
��t����f=�����������҂���Q|�N�Ϙ�/��z�Q�����lwO��d���l��{�4ݦ7�#'5�a�;\-�g���d`q�k�dT)o��< j�Z�hdb'�WOm�WB�쾫�N����6��q�x'|��O�?*s��-��k���xI~%�����}l���8�=ͻ��~�� [...]
-�'��!���U��1��"P���������
ậ��vr��ghk�M�5�<���ԙ;7�ΰ
����wܰ�6��V[ʜ�x<�)�e��Ϩ�	��t�X�ć�8:sf���9f���a�"R����+N��nm��Ǫ.��S�og�]�����KG-O�}3-��j3(\mJ�2u�VHɢT�
-ٞ'v��$���X2��K6�Am�c�cJ�h����Q��W:�iL���y6O��
+��njR��vs�?=޹��c
S��%`���Q�
�?9&"WϦ_z�E�3��W鎋9u��N�e[mE�yx��̈��/��o��^��
�
@��5\�zvJ
-���:m�
�IЉ����x� �4>w9�Gȓ���
6"�)k@��mޯ�KQ����G�fw辱?���Ա
=����C$�]N��1nv��u�6��%��^�9xp2������XJ-��/R7٪lt�{�;�	���$Ua#$�g�ʒj�KW�8��ߏ�`OV�z�*
�syL5���I+�f�9Z�j`X
����1�䞽��<��6�u"��8�S{3�V
��r
�Sє�
�#���Bwf�FfjŞ"��9፝��#'6����#��]�
-��7pd �=���1.
�� A�2�X������u?�AP]0�4��uj��^��9���
� X�h�9�����̩�������p� �v�Ҥ	*l�E�(����Dz�M�v�LXs����
(�{�+o�	eu~�g�<e�(x
�LX��:G�
�5�)��4;��l-{���:-MطNj;⠫Wr�; 9�뙑� �E�F 
K|��G���ҽC��&�7�`%w����<'RW�|��O~��0��4tâ|�
h���<1M\�P��'i|�
-o-R�� #m�4[�L`>�_Oh�S�M�޵�
��
Y at CP��H�o��@/\��edO��=�:?1'���4X��x��K?5FCͦ��~��~lϴ��z5|0Ǘ2
ae�T������7>W`������Şj��s��5��vl���
p0
��?<TK����~����OL��S`h`��S�8�3�ZC*H�VP�螕w%�&�ꝙO�em����/6��IY��
���M�"�س���)q��
�����@�T?#����+Ih�����H �F{Y�
揕h��Ήy���J�F
���`J�0�Z���r}b}n��_�IF�v��%�Y��+��߮���F燇����(��[�Xg�%)�.�
<D="�4�tĐk���y>Ҟφ˹pa4��(�$���I���x �e�"�?Z�
�${V�_;Xp��3Ɇ�����1��
���
�h�X������՘��i~�C���cSY�1�gh(�嵎�B���tP)飇y�֍�)���[m��:an�;—��'���
���z��pI}�!�9�}�A��
c���b���fΟbw�' [...]
-�i�^�@�,�F�$��~
�2�S��;ǔa���^�ۧ�\
�LwС�o5����<GuD�<���UƬq�ൖ
/���l��$Y��G�f�\�B�G�X�#Z�b�7��,�
��`�&
scs�O��C�*܆��ʠ:��]M�(������k��?}�yA&m���*��c�)>"�/�-� �u��f����{׏�9�h g
��<CƠ���*m��ؗ/�ŶE$H�o
��}7����
F7nB������h�nx����8ϸ� ��_�7;4 at o|�D��I�)�������(uc�O@�6��t�E�
��p��'
-��I�⣦,�Df�:9�?�n`Ν��P����R]�8�f��u��
U�k�#�,TF,V�SW�
��Fb�^��`��'BW��+�?�\���OG�f�8yX��!*n��d�|Yd焩������ݏK������}
-����t�w��?o�`����
5�$��*�Go���l�yD��x��2&]��E�@H�tx�S`43k�Y�A�(Y��+\▕���1�c�zpr��;w�?�G�T@%
��S��'��!!�J}mt��$�+�!#԰{s"Iҭ�E�ӱ>�
��
^�����2&�;��
�VYN�C04�����4V�����C*���9�튚��z�����Q�h�?ʄ��b�����i�J�R�ϫE�Aʍ��ғ��-����F<iJ"�2��w��?w��"
 �}.�tI0��3&�H��
T�w}I����
�L0�uIgP�l��>��� m�V�=�����K�F�u:����Hu��?�S#�'���:w�4���v$��d�W�4�L�C+
�� fLe�0���
Q�� |��b\�JV_��C��|���Wt���
B�f������˨�l� bN�%'����Q�[��gz~܅��P"
Y,���өB�$�x���v�A�M�[��J��[P�\!f ��d*��v���,Mn�j_��
4&n�

-,>8&�N	�
-�ځ��3k�\�0?	{i`;�N�u��
S�]�yR�c�M���v�Q��;�
��'}�38����Sz��-���!��
�4�b��b��:
\!
j(��|{�
c��$��UAa
��v+�t��粄�G$�W��?���c� ��""f�*S�]�N%�ֻ�YX:{]��
d-;��wZT�Zf�����K&c�)���� [�Rj#¿�B��3�$��=�J����\�
�)��CF?�i�lS��|��_TA
�
������w9>_ �I���Wb�&�G��������<
���4����Z���Z��HD�Z��e��x�I>
�����'��-*Ѳl ɣ��Ļ�6�zd

�@��V3N�+�
�,��8�U}g����ɭ�J�D@,g�ާhR
j�-S�P��vHk
�I�A��?$�:8a���h�͡������.��`�H�{� ��QL~Q��\��$D(S�V�^�
����p��J
-�ͥ��'3m�1Th������t����o2�x���[��_�g���`�`�2�:���Zf��
�@��F��DH ��ޟ �����0��m���Z
Oi
�*�
�cIy��Y
υ'��#�����\���{+zJ�2s��@�^�.��Qa}�1�u�e�Ϯ�ݮj>�XE�V�<5�� �8�_�
Rd����z��փSf8�V�CȂu�s$�*��=kw�o�M�_�8�
-��f�����n�m�5�EB���ٞ�����Ҕ�>t�o�w]p[���8�d7
����&2�-|Sf���X�C�=p�ǝ����(���m,l�P��k�� ���$��v�gUe�^��fke#������M=�c ����p�e�sh������S��A'�u�Ę�6����)��i6'5j�
��Ԍ*���'�hx�0W�rM}����/D%fL&FkiO��3h~Ê�
2�w�α�U�O�-�
S;�*�v�#qsq��׉�[K�/���UI�t$�0<��I�8���]��s�y�Z�y+�ە&�cm����ϴ^�j{��?��"{�=KI��5�j�K���
�ʢ����
|��#4{���%�z��I�"9�b
-�v�ş��������#_a2��
.q�4I����0g at 3��G��C!�,׌<�p
-�'ӯ�n#:K��ġ�(�>OF(`�w����
�g5�7ԡ���8�kC.[�
p��_��ˑ
:��
h�{�H��"
-͈�VW6%�4L۱}!�g���*�QO�N��?��C�Պ�抴`T��g	�%=���F<ã��P�M�4��+��Dڅ p��^�y�� �>WH����Z�c��Z�:����J��)�13�4]D�٭1�v(T�b�����+�J6�0�dl~�h&ۥ���0��I7��9=քڹ��G���
-?�Y����ۦ�*�H��{��G)L/�\�l	��!I� 킟��Ұ��֡i��uK�C��4�/���5��\�.�.����W<��sc�Ӈ�%�_�I���D�p�٠J\����&�y7���8�RyW8������LS�N~M�p��2>2P��؟؜��Yާ��3�Q?F�Q�~�
TT5A��V��zS��f���B?\��i�7���o�h��C�B~�g����&���D��2����*���N��*���T�a��l�M�R�W��톖�����g�J��ϣ^HQK~�؜�fqa������XU���lF]��k�
�_��w����p*7:뤹%�s�
wZ��8�b�&�U�����o�ݗ߼M�
-�q���a���܋a�fr%&
��{
�rBg��b�Dn���K�p.};�nF������xDp�p2E$7[��Q��,bO�Qs5�A}x�68�lF[ʮ��ђ��!�z�S6u#HIE���ƽv��J9��Υ��?Kk܉i&޶���D�V
f�/��QY����݃�mgl.��ɶ���o��~���1n�'��KJ�d���P����ƻ/@��o�6��i�fQ����b�S�a��53�'pf5]ZpSk��p�;=l>�=/"�Y�p
	c�9{5�l��*@	���ڀ1��r���
�ʚEM�sg>#�����@ۨ�\��]��g��9-^����պ�1T����n4�ԉ
E�=��4.��h�Eߘ�?1�N_���	�^S�ql�3ZC��"Ѧ���U
���u>Z�O�ŀ���ݕ R&sݧ��/�L?
n�n�
�kC+�{�Bxُy��"+�.o��&T��2V��]d>��\���!��G8�M{�_9�
,GQ�TQ)0R-�,�Q������B��S�泐Dt�}9u���Rl�w?�T��
/Hh�-8�	�s�fN��]�\��A<�sm���}F��DuY1�A(
���C)����כ���|��q��S�c�׹�4G�� �
�zz8����B���@��*PU���6C�m0�S�C^��ɦ�����XQd���䰃{���r��%��+_��\2�
-�C0���&��n���/{�ݵ+�
�㐵���T�m�H�z��o��J���������L��C�����P>���Ϧ�y�E���ZE&W�
-�UEt>��Sk����
E��bX���Q�i��=͌��pwm}C���,#44J����|��j3Cz�buDQ���
[��b�L��p
-�����b�G��m�5�q��oe(����Xu�)�� g��T������d�z~������
+d>,���!y1��|�S�"_�ǘ�wJ������{�S)ɌM�yuF�����?�����Ջ�@(�9���u�4�f����Z�
�q;�« ���u�d���
-Eh��.!�%�&mQ>�$&b����	��[��+���S��39
���8H.�x
 Ͳ	��'�
��$�
���4�O%�����
������8��:[��Ȑ�_�x���vMH
WU�~$�t��X����Bڴ1fw��R�ʖJ/Ֆ�	���i^(�C�=�⊑�t�y�H�xhb[�%]���~-�-������j��(�,de����ߊ���lb�8�a��B-�ډ�&�U.ǐ�>���T� ã8�횛=���p&{�����GzA��]	
/t�%�{i~�m����o?�h16X�������˜4�e߭�р1���M�?v���n�R��xd-�;�BD�-$��	����U�Oo#d���t/�X��r[=��̮��p�Y�)΍w��p��w�1W��
-0�,]����i6mo����2Y�9T���
Ohg��*�G	m�sj

�b��
�����s���]�X�Or�l�/U��W
���D��o%��{�T���96�q�-f/\�=��_[�#s�?��D
�k��Y��\�i��Hת�:��I��l��Ȋ�Һ��X&�h�i�jz��t�z-
)�v1��Z7�s���(
�]'�
���a&N�J�J٦)�>C�W�c��̅C~��Rj8;��	��u�R��w��U��G�IX�p��:\�R7-nu�N;t�H!e�����r���$nʌخ��y��
�
-�,�̚8��_�!�;YJ�.d����� ��9
���<v��~|\Ϻ��T���cz�k��:v��{J�LJDa�S��$+5B�XYh�e��H}~�Tw~
��?�:��\#$Y]F�_O�`�R�D���uv����ED�D�){�95���Vە��&Ҙ�}ゴ�����M�r7C{5�%m���
� ���$�qN����B���m����S�>rP¡�Z��ұu�ж�o�p��t�}�sb	���%�{ڎ�I�2�b��I+�0�a��~��鸦
j�x���e�������C��R��D�i�
-�u����n-`(+�S����if搀iY
�8��g��E
W]X]��Ԝ<�vLsJ/|wg�x�$�!�
-�#��5����l��M�ʯ7�v쏡�G��MwU�	�=;5j?���>���\L�K��CË���e�U1>��t�+��	�6n7*�󎙮m{���+.qn�~P%��"my!�
k�_^
���9+B�z4�L
�Y�V!|�|Q<9U�'h�ɀ�
��9��Kp�؞Atu��~"Gx���mm�b2}���q!
J
�1m>���ϙt�Zr�F�X�ZJݚ
����yK"�#HuK��]�����~J��e�&ͩG��OӇ�M�m�#���� 5����)倃���N�V��tn����V�$cĞah.��T#�����b��םj�o���=�қ����$����4]��7�4���ڨ� ����͢Eݗ��)

��2Χ���'+0��#�9ق�w�GM%E_�h��~PV%8p�I/8㛘U��,�P��~�v��������3*{S�����ٵ�F���
�k�1>�2fʩ��D(�O���;9��<#�X�����\'��X\�/��ʨ��i}oC�ez��LPo [...]
-���(��X\b'<�Ю������-�e�����䤓�ؼm*�S汶���XC��dMͻ��
�k�i�$uj,�j2z��M��2��gNI�+G�������m,3쯭�M��<��6r��w_�����2�"�7��0��

-����Z�1<luD>�֨Cj
QQ���0�1M�Gy|�I���
8º��^�U�&�
�G��2��R�p���h�CZ�C��3zs.� Y܇���n�
��oh�
-�����%���.~Rڅ��)E�}^
�={-��#
�c`�?�ȵ0����d�z�?%���&�GXi�u�'�,.5Z�OŃ��I�hZ�9|�	=%�%�.
�1�c��
-6>��p3x?z_�؏\��dd���Sr{�"E������7�^���O(W
-�J7�1�
���rX%��HU^5J��LAc=�=)/\Ҧ����
���{F���1.�KK�g�޴L[g3kd�.�r�֣Dk��谙�a��<2vJ�%�R>zc
�D�p���L
�a�Y
���.z{`Sc��9��fȒ��j�Ҙ�x�`-rC��
kw#k�,��x�;�����������h�q�$W|8e����b
��T�ozM���c��sP�7��lA�*
�
>V?��*�s�K��
�� �'�d�>r��-�
�Z}��F
����H]Zg$�>Bhnnp�i5l���H�^�j_a-S�wU )���ɍ�H��5L�r�Jnߜ���܏w��K�����К��
���1�^����M�W=�z��I�B��#
Yg��͏A�.�����:)ߗ�

-hxԹ�ow���I�M�[}?���jg7͘�Z�i�K���5]*t�QJA�X�V4z=�Ѳ<���+�K&��&
:J��.�BIK�Gqn^e4�LN�쳍K1N4��ҤAɧ�:�(��1z�����4l�C$��eތ�F�Rt��%�L׌�Hn�T�kuyYD�m�ʤ�Kú���f�w�\d�W�b3F�=��5
E�rJ�/U!�s�iߗ1�����~z���^���)M@z�G�jz$�*u����������8�,s{�u<(���8��A_�4ᱳ�&d��%�Wj\��/����	C���Ѯ�[&���K�4�p�tl[����
�Y��QF�
���u�M9@
�^<-��Ze�^�0Js�v�� �l\���-
-7���5X�MG�/�%����z���^UC�k�_9��S�!_D�������#��|��t5��GltP��ܐ��oL��1�p����0O�=֙�̯�#�-5������
7�.���<
{����a���?��&�� �EH/�*�y���懑�I��޽4~`}njZ�c�g_�=y��
q�J}�j�&��d%*k�D��Z�~���ԑ��l{�B6�<J��תl��D�]h�'�U��գ�Z%iH��7�N�06G>���W�ч���Rb�l7��QCQ)z�H.���_j�eM�MCpR�Ex��_���ր<���Cdp68��&�_���f�
���?��O������
v�psD�_r�?�endstream
-endobj
-464 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2836 0 R
-/FirstChar 65
-/LastChar 122
-/Widths 2837 0 R
-/BaseFont /MXHLPD+NimbusRomNo9L-MediItal
-/FontDescriptor 462 0 R
->> endobj
-462 0 obj <<
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/FontName /MXHLPD+NimbusRomNo9L-MediItal
-/ItalicAngle -15.3
-/StemV 120
-/XHeight 462
-/FontBBox [-200 -324 996 964]
-/Flags 4
-/CharSet (/A/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/underscore/a/b/c/d/e/f/g/h/i/l/m/n/o/p/r/s/t/u/v/x/y/z)
-/FontFile 463 0 R
->> endobj
-2837 0 obj
-[667 0 667 722 667 667 722 778 389 0 667 611 889 722 722 611 722 667 556 611 722 667 889 667 611 0 0 0 0 0 500 0 500 500 444 500 444 333 500 556 278 0 0 278 778 556 500 500 0 389 389 278 556 444 0 500 444 389 ]
-endobj
-453 0 obj <<
-/Length1 815
-/Length2 1151
-/Length3 532
-/Length 1746      
-/Filter /FlateDecode
->>
-stream
-x��RkXg�e�l�u�|��r  �
��r�:I&a�I&L&J��"-*��������
-�
-V�E�mԂ��F���
p�>K���ٙ?�s����`'�d�$�	�$bB\�� &����O 0�⊵0�p���Z `{r]]���4�+5*K%�*��'���
-���������(Bj���a b�
-D *�؈H�4TL"C4�L�`��o`�Z��ڈ**XE�tTD	��4@�Hi,N݅PI~�Ps��&��3�3%����(��� �+�$B�0\�����țla�U���$��b�B�!��3�n�7�
-D3�%ũ@
-c*dG��Q��f���E��;���,'�Q�Q"���xv�~���4ij�l6D	���W✻b\�*d���`��546e��� -P�� H��T�$uP��'h3Ku,XE5��Ҩ��ΐ��`)1�J�*Ԫ���l���
-IWS�{�r(�9� g�_v��ghnl�����<==u�%�	�r��ۨF��R���d b�`?.���/���NdT�T���4i�m�,G%�HN�v2������6z���!b����%$�X���?t,��lN
s ������δ��Dp[z�������B���w��gu-��|뷡���[�f�ޏ(z�R��*�!k�f�~��ӆ��N_�Ե�B��tU`��u�3�
~>FK�n�1Թ=�N9ϛ_�+�����J�i�[^�f��MZ�,�>yX�_L�=r~�"�FNӊ�M��%i+t?e�g'We
-�p˱�
.ڼ�k˫!���
���^o���^�];�2��N_����j�֑��,����2xY`���sP���F~
K^v4��ވ���F;�
�x���ƺ�p�<�.k��e�A��b�@�`��ls���3|Y�Ӧc�Ͻ9��O���`BS'��1��UB��
qu֙<��H;�0�����Ⱦ��KZ��$
ݲ��
k������>��y����G�
}=|D���N���,7t9V1�4�Fmg.Һ�h�Ka-��y��=I�:��h1=��O��'Z���e���O@�G
[+JV�٧
?;�T��0�v�=p!*+���/��D�
-�ݼ�jK��-(����<��
|V�-��W����ާ��J7�¶�1a�$(�a�@�
����~D�c帇��T�
G.�-
q�,|�0�t���Q���~l��4
�qs���VOz�M���4E���=��XS&��-�N���9��� 
|����C���
 r�p�� ���Ehx��QՀ�t�.�=�ơ�"�������-��ō�ԥ��A;ѳ���dT>��1�� �)FVJ�'����5���ѦnfeOJ�bk���畝zz�����������j���ևq�ff|�V���,ɐ{$cjB!>
�Z,4�����r��i_��F at C�IF^�(����/�9�Ҵ&%㺨N}��%2$��e
-�r�	�G���B��|���v/
W�^q�Kb[,�zҞ�6
��
��Ϭ/}y�t�~�!�
��q�%1���?�z��S�El�_�:��� ;�Snй�'\e�55�a
jߙ���ղ>��i�X����>�Sl�V.[.~ڐK��|
��,��<�;I��
�c^���ٞ�tm����įmL8�_�|�Ȕ^�
8�:
��������W�.�w��WL<�.�ĻY�	�f�ʇ���	1����a"��/&֜,endstream
-endobj
-454 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2838 0 R
-/FirstChar 3
-/LastChar 50
-/Widths 2839 0 R
-/BaseFont /HSAGDI+CMSY9
-/FontDescriptor 452 0 R
->> endobj
-452 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /HSAGDI+CMSY9
-/ItalicAngle -14.035
-/StemV 87
-/XHeight 431
-/FontBBox [-30 -958 1146 777]
-/Flags 4
-/CharSet (/asteriskmath/plusminus/lessequal/element)
-/FontFile 453 0 R
->> endobj
-2839 0 obj
-[514 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 685 ]
-endobj
-2838 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 3/asteriskmath 4/.notdef 6/plusminus 7/.notdef 20/lessequal 21/.notdef 50/element 51/.notdef]
->> endobj
-293 0 obj <<
-/Length1 1630
-/Length2 7267
-/Length3 532
-/Length 8133      
-/Filter /FlateDecode
->>
-stream
-x��vuT���6
RJ#9�tw)!���0��03tw+-=*���� ��*
�
���sλ~���}�_�����YϽ�����}��^�¤��#g�)��
<��� -���'B���9zj�A��;@��E
�� à
-�
 I�1�
� �, y��/
���`7�3�������
����]$���}x� 07W���
�<�@ 0���1U�R�+k�AP���k� AP�� � - @�
��5�
�
`
@����0�������`�� F 
�P��=��P ���wwv؟���;�;�L��@ �`7�]V
����p������0�;O{��wK�;�;��
E <@>
�sف �`����.�
�
��
O���
-�p��-�
B �h�����m�� ��a��Y��8��
��z��vC��~�*����n����
��A�g��[{�
�9��i�<�R��g*���D�H��?"��Nܿk�����<��Z�Ѳu���.��-h ~�3[8��]��	���l]���wGc�_����aUۻM��:�	�# �����P���u�
@'��-�n���
�� 8
�i�g[�����8��.��"�����/�N�?��=3031��w7�O��I�0�u�+��&�����<Ϟ�| �<� 
A!1���0@\@ ��d�C#𯵦�
�0���� ܽ������o4�P �����{�B��ퟆ�0�������k��?c����_g`@��̜,�*�W=C
-�
m�=�n�5o
-C*`���1��67����#������n?��q���QB�Z_��
-��9�
IXQb\�a|V�DY;�	��SKXf��F�+C�zVE78�#(!8��9G�Wa��37� `ƇD���h�U��wXS����u���t�
b���B&�c���"b�qG�ʘ���r�aT�3�hOy%jK갧t�
A9
�9U���jhp$Ԍ
�U�,J����Wdu��L�ʡ�;����Ze���s&?���}�])�T,��'#���K{u��4���g�O�2�n�Z�e2��Bij�5�����&芬QX,��p��i�����Yj�SODu��"�I�vC�lc�ط�	
� R�H:��*��
-�g�-�ϸ)Jkf:{��Ul��8��a���}!u����uh'�O���ظ��XU�����a�+��� ��<Y����
�{šE<B�㤦����A�
02Y����g��0�b8mlu���
]������c�3�o�IM;�}�$?�Yai����
�
�ޛ!㖥ʖ�7q��d�����z\��-*���ws�� <��v\Xk|�y�
�q�=�Q�]"6Ƴ��˸


�p�A�Ƽ��_霥����H$���+�D�|�D�f���5�*Uqe;���"����jbƐ���o��`�s���i� F���	��G��6b�P_o���{��@�o��+���1��(�?!����M�63�fj-�
'
��H��'�MR�MK<g�P?��hM{ўls����I��>���f���DD��/
X�i��d�[��׷CPL�:�������ҕ�4����z�Q���(1�Qa���������O��^#����$��'idOR8
���Ь(��
-�NUV
_ؘ�����58b��5;�7j���ق�z1�~��q#��HV�.|���ɱ�C|��\o�#H�0��mVx
Y�^��6k���E���&����;s��QpI�O;QR�30�%/�2�P^�s_޸�
-�����U�= a#�\�Da��n�M�n<���Ja�(��c�Sl
M�{MI�G�����1��ZH���$u�Y���)��Z��䳿V��U
�_e���s�ܾ�T({��\6�+�LK碃4�=�`(n���eB�X��
����
��
i۲N|x�{&'�h���)x�_�>F����rO\�O=�
�}Ӥu�����m
gz9��Cߘ��S�
���K��x�oL��1w�qo6�}ɧ���:x�e��b I��]�ps>�X��
=9��5�%{:m�/|^�"S��8zZ�W4������ZNˤـ��<eP��5���!�aiw/���B�۫C
��&-��!j��o7��G\<j
����>��#\�O��DoB*D�,
�*~1��Y��*+��E�IDFς�N� ��)rhC�Z�c�?B��e��GXPw�|Vͨ�.o��MF6ߔ%���אV��-��0�^�i at T�.ϦW�™��ŶҁÛe����N�&,Q�+��L+z؃���6�ڕ*?~���|�]Oqi�.-|�d�@YE$�
QV���D�[���
-N: �O��N��1N�(�W�ε�=3��R�rO�H������e�5�P�2ܴ⇈מ��zU]!ej���]�'l#�b��pq诌�(��ȝ��"4�q������������l���v<�O"M+�ba��("	m=А���%,�
�B�1�Q$���&�&?\�Hq�`�&D�>ԕ���E~W4
-�l�R�xR}^����F�x~��:e<�;�
����d�ǣ�4��φk�l���UC�(j�:�s�X� $�	��>��I�
1�n�����m))�EC#O?�N�
� ˚ڪe�-c��^D2�bqe#q��
-[FD��䷓��^�=�V#�H���%�Q�}<�xRݼ �t�Q����Z��M�h!uf��C��al�Z��y4%X�Z��2X�q�e���
-�����K=��?L�'7P*��羦�ə�q��Mz�>�q5f�U��T���������#����z}5��Uo��kOT]2���߃�O�7���w��2V��%@*���J�����)g%'&/�hX&eB%8m$4��
��t�>{_P>�o���_2k3a½�
���GQ>�[��#��I`�4
RS��=��Ƿh��J:�o����
�Uē+�*�����1f���t(Y��Of�1�nQ��v��kM�%�s9���8F���On��P�0=9bOT=��
-M�5�hw��ο�V��Լ�=
����_d�w�>y��B�[
0�5`��
\�@�_�cdž�W�Q��٭�~����`j�%i��l�l1�
�=E*7y�ߛ2�`�lHX�.���Ho�K!�ٌ(���#�
У
����©�:� #��U�Y�2D�ִs�q�i9�5;
�Q��Y��yKX�P�{�ڎ�=
S�ᯗK2�K
����$9�?O�
���O��0/i
�[33Vޯ59�Ҙ��fQ�|������{�I��4��m���*�TB!!V�	
���=��:}�@T��}��Z�'c	�� mqh�|YC��ؖ���f�ՔhkN��r
-Ԥd#}��@�'j'"�u��j�8�RQi�4�6���>|F�w�S�����q<��kv��(�AL�a�o7�����K����W��R�G&!}}�a���p�?�
�W�	_(}��
#��V()מ/��6z�N�Ɲ�C��,�*����K�,�ɡ���\x/�1i���c�tMZ�b™?�
���#��S�*��C�$�߶}Ģ�d0G�����W��<jF�f�9��d���D�Z
~C�&7�
�Vl�\
J�;e�•!���G]����!S9ޯѤ���Z�緮|���kѣ`&ٞ�X��e~)�8zlAB3�G��oF�p�c������H�V���
gi�sXRϯ5��Z� x��Ӹ �Y�iC�Za�#ϗ�}�a8��67~	�\����4�K�Q�Y6��I�t��ߦ�}�_�zw4S*m�Ԃ���Ōk=���-����/��W�7|J���6*,���-N�^��v�����i�J�t�R(��0,w��.
5��]��=]�n�ƽR��K�p]?��L��rn�܀e�Y@#�Z��P�)^�*�R��p������� ���&�䥺��JEl�DbT{� y�
�))���z+�{� nMaW��+>Z�V�.��C�NJ�(sd�#�����F4=�tY�RW��RnLn
�ߏ��zj���
-&��ʀR��r='�WJwݍ�K
���}��q���^�����f��.k_s�(�Z�,�#<���]	
7�"C�]+)�/sx$��&ǰQQ���ڳy�����.����+X�Mn�d��2N~
--�#��
-�b��g�7/�4�:p��qg���2suy�
ff;�^�.��ֺpe��ׯ�>\��=��AD�4�yS�j��D>5�V�I?^�V��7k~
����7���#�,<�
��
���jV�;C�g���'�4�+�9������M�
�qG�Qkߘ�������N~(�8� �ȶ����G,:�Q��Q`�Jc���6�&�$5� �����Wܖ��]�~��v��Z��Ն@�p���w���|�*��6b�`�7����$mS	?n����@�
����53֪k"*��Y��������ʳbe�����6vp�qd2�h�u��w熊&.��a�U�8��y���v���n��L���4��@���������ţ;kL��	o���e�~LX>���2��7��|bCo��7w��
X?E�F��S���^�c��H��%�,B|nr����7EI$)A�x�Y�#�LV�����Ȋ����Ru�D�L�\
-��y����Ic�s�-���`~y�{���������
�X^
޽7M���T.�r�cu�o��O�
14C&����|$���s
�cl��p�2�0,�?���	q-BG��i��ܘ������d�Gf8���CmW$�<1��%p6��
�J��8
�>W����\÷�Z���e�M��3�ʓ�„='�&�sZ ���YK�թ"��s%zK �D\ONjv|
��� Rx�rƽcY�tPK��<���l�Y
���.~�����~�]��*d��J�h}�����0ۅ^Ae���%^
�����J Y/|���I�WKq�b�-�M
-�;<A�5pRé
̻:
2�VRp[��臄 ��nX��a�]��*�
���A]����	��"���
-�x�!Y�m��>�:�
�
ݨ2�[n�X{
͍��t
Ә��>1�&�;�]F*S��)+m���J��|Ђa�A���جVL6�]/������f5ܫh��t��t�@�5���o�d�5�'��s��-�Ú���m�8f^&�o����8!W	�8KKT	�Y|�޴-A�6�x.p�{�si4|�N8���S���@W���Q�N�SA���6�����c>�*|�+t=�/�)2g�䪡�͆���c�;a]f%rNx�6q>�q���@>ޱ������s�]^d���I�z��t.${�f�8{������Q��[r/�
\�ݟ���H�q-C��
*GyX�Dhr��;����Ǐk����ez�8x����*K��Y1�7Qꤾ�藳�ox�Hd��	1�C
�yE
�
�M��W7"�f�6\7c�f'kjY�sp
-��u�+
�??r���]���@j\������:o�/�-�T,a�}��J�!�Bgߵ������S>2U��e���X��2up?�sG�J/���<��
��(2"!=,Ƀ�ӧ��l���4MeKB	
46�~�/���F
Ԍ/A,P��$
B�.fS�r=b�e<�t�e��m�6�[!i7JR���'D���o��T����b�M�t1��ОV!��j�]Oc��~tO��
9��a�8�o'���Q�B�F%��В���JR��E7%�b��2�L���4�`�\Gf+�X��?y����ѳ�d��H',2!'�t(ž:����"4x
��Y51�Y|�#�$�I;���C,?�@��?� �&}�n`��P"���`ߩ��l���տ���`�Vw���Np��oxj�DT���[�=�V0Y�wCʈ
�8�
�5��_�Sz
�#�8�
�����m��|
���SH/
q�8��
-�I��O���Ӌa�|
�K�m�\9��w�]��Tp卫k�,��g��4E�9y�Iq5g�Wё�t4��4���
�,�X�?���<
~+_^�l�8�
-�T�Z$���t����Y�ERo��P
o/�d��Cg\��>;�y��D�
E,X����=N���O/���/��\C�-����|ޣ���YE[Z���"�
��IZ
'��[��r�h�;*e��#�l%�ҍ��*/:��LJ݆�l�D|������.-޴�yC��x�M�9e���/�Q  ���l�6����X��ų��t�'���"I�!&#~۳�ԒM5���C�Y�$�C0B�8�[�h ,ŜL��9�u���%)��j<%8�,%�^'�J��ʎΔ���rG3L��iҠ��ْ
~ʧ�ٜ���J,uQRU�xB�G��[zrB��
/g�Yo��E��n��ijx��H�84��W�<m�d=�	#����
Y�.���cFy3��W5�rwGn�m�Hu
-2��
��L6!�����A:�G�s�
)�
��#I�u8���;����*�zV�a?h}y�O�Vw�m)��3� �;�{i�J��vO�Y�U�7�
Mf��[���=l���=,�o]J��)�"��,׳ʶm�$`�t��傍�yg�	�{8��d���Z�*�,��NL����!-Ϣ���k����pߋ=�R!g��n���M(�?~� ϯ
���
-w)�4w�z��UF�Ol�m0��rb�TV�'��m��=���I
u7Mv�>�_�7�x�
�k`���%�uMy��i�'���<D��^
��
v�N7�h/�W@�h��Ne]��('v����
M'<�佰�6��r3���X/�g�"X}]n�_k̴-�A]L�zw�~:��t�m�i�����sn��)�1
-���s7n�x���s��~ ]4ޡ�v�n������G�=�;E�t�[�?� Μ��c�I�����AU�9�
�_��IB7�Z{��W�jZ+o�yh�s����k�O�Si�ֳ�e�t����5i�g��7>�G����?K�l2bc%qlcݝs��"�Y�r[ǎ9Ξ���ȑ?�x����6Х���ȑ:��C���z��
-Z�T>#��C�X
���|(��$��6�O�_ӵ��(k���4C#����g�
������IX�Cw�{��\��(�}3�•�n�N+��Za�Mc~/M<�xo-4��V?O��Nָ�����6\~���Mx�rw��>����W�|Lt�v>�p��֤�Ǥ��ߨG�x�O��ۀC���jO�ek�͌ҥ
Mk]��
t�����k�,t�}A��}�[����e��K�

-�#�
E���m5;��~f�V��@��:YY�
��a����
�UqLB_]V
󪊡_����Fs��=�����}�g���E �+��y5�m��3
j�"џg-�W�G;�����u�>)x�v��}%:�L:�7��K �'´��f|L��k��T���.W���nM���Y|ҍy��K��{���m��H���P2az9�W]�>.��>��_j���xsU�"o��Dގ0�����7�?���l�3�L���:/���)R��� �������M��R�vP����c�[����������'�	�3�+�8V{�J`Rz������ݷ��A�UxS6�Jj+��4���
-���
�'v�팞R6��A�J��C�d#S��z��$D���7�Pi�������:�=}�*Vjn�C�9�0�,{!�����Z�߻��?%�Ev�v�Z�/y�S>�T1�^�ju��%�X�QL$�ֺO�e�XQ�	f�'�V�Ub�� R�/�Ս��ѱ�y-v��s(-]�;�
(�:����	
�c4�<gXl��xH���5v2�,0���� �x?ӰdU���*�g�U&����a�+��^�*��:�͢6)3 n��6��[����\��(ט{3 �8֣d��Յ��=
�2b�w���Ƣ�Po$�
���Z\�eӬ������C�h�a�C�����X��<���y3U
-X�oH������/�Ŭ ���^M|�g-�Q
h�_FtP�l20v��_`.�}�������� ��6gt"��/�R�'đ��5�k�5vzZ5=�c�䘽ƔO�W��9�Gtt�lI�t[;�D��j�[K�S
-y.���E�E�tQ3ɷm$�*O�����	��  B@�p��-��� �z��endstream
-endobj
-294 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2836 0 R
-/FirstChar 39
-/LastChar 121
-/Widths 2840 0 R
-/BaseFont /ZBTZXU+NimbusMonL-ReguObli
-/FontDescriptor 292 0 R
->> endobj
-292 0 obj <<
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/FontName /ZBTZXU+NimbusMonL-ReguObli
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/FontBBox [-61 -237 774 811]
-/Flags 4
-/CharSet (/quoteright/period/a/b/d/e/f/g/h/i/l/m/n/o/p/r/s/t/u/v/w/y)
-/FontFile 293 0 R
->> endobj
-2840 0 obj
-[600 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 600 0 600 600 600 600 600 600 0 0 600 600 600 600 600 0 600 600 600 600 600 600 0 600 ]
-endobj
-213 0 obj <<
-/Length1 1647
-/Length2 14693
-/Length3 532
-/Length 15575     
-/Filter /FlateDecode
->>
-stream
-x��wc�e�n�]�w��ru�6��]��e��lwٶm�]��[�wf�L�{�ϝ�u�c��d>��&"9��2����!P��Ɖ���� gnm��dk-g�%C�4u�t2�|blp���@'s[' 7@
h
XX �\\\p� a[;wsS3' ���:5--�?%� 
��
��t47�P|�� �l�6N��׆�@ ��
01���4%��T�r� q�
��3	gC+s#�����H
0�u X�� 0��16�+5G�O.AG���hd�it3�����掎�� sG�������
8��m�����
-�Snb�w at v��֟�'�����������ӫ���?�t23p�˷��'
�5��4�5r�+���O�O������ts�˗!`l�hge����������0�
�mL�
�hj�`ltt������v��'�?eo`gg������Z����#�ʄ���ӧ�ӧoSs8ƿ�E���������ݿc.@��/�ꯞ��
������
`
4�c��u�t	����2��\��J�?R���������5�OC�ߝ��s���3��l����1�|��
�ece� �k��o���V����j����q�+��6���gfc`����Q��
h�`�dd01������6�@+s�g����O#&��T�̍,m���? �����Y��3`TTSQ��/����
-�]��n��'uY[��8�E%$d��gf�гp0}��8r�|��?������gY's7�3���ߟ�t��F������>Rv2�1�l���9;8|V��m�����
 �
h��`k�h����T��50&����
>dWX����[a��
��U��Z�P7����>l��+E�7ԅiEٙ<���"���EY�h���g�-DH9Q���ل��Τ��=���[�
-E0��� s�@�K��Nvo��m�T�ц\�Z�w|Bw�pO�7<8��yٽ�G�K���@�k����]��3MV��tb6u�m�0�kwr�S�U�n����q^+��̮ ��s
�]6�������3��d�9� �n�ǘP��+��W���5�k�-��e��Ư���n�`Ό����̸�=���1l�m<m��\x��WoU=x'o�4*<
.��s��-����ius��N���!
��"�[��E�1���
��|�a�`�B

�辪�]8�!����E��h���M*��6�a�T^r���5�|S:!sA���/��gᰧ|%xDL`d��
~���5'5r����_��Ք�P���
4 h[��=�b��3�����
'��֢�1���;�3���`i^S��P*!6F8�a�
� ܗGTL��'�q\P>J"���!Vf2����Wv�
��eL��2���^^Q���t��$u�d�9�//vu���
e
/T$��8�{3Y„
y��h�� [...]
� V��"�M��5u[�<�z��'HV6~!
B���LE�����,?�u��?��˲�c1f�R��K �3l�/��R�Bx=�����s�����gx#}�A���:�������z���a��ɞ'��_�)��u%�� 9�H��_m�S���C'�j
f!
�.�,�qj�(�9��eܮo��溽뷓Ôe�Z��B6(�v♚
���I�h����kN�O�D�QѺ���0��[|h,�M���X�7�
������a�-B��0~
-����^��BC�驊���5�ײRH��^�ȧ)�ԯ�PoY6��H��6�/����a�K;Aj��&n��X͹z0L��AZ�&��3����Ӥ�r at j��:���#E�
-g�~���kG�[*)��F6'_r��N��D񴪜�;0X��s4
��/��n�3����yE4)�^��$6]
�^��,�C��&fo9�'���&�+� ��7Z
��_#�'A��p��-ˋ��#��d���>��[�.�f�y姜 ��._��[�1-`"bH�a����J|���K��=�5���o�Tl/I��Y��Ζ�z�85Z���T�q��Ʉe��zɃS(+�g�[����
�;��Re|�U
8�!�^'�D�a#�a1��8��'���_�^��
-�q7��F_	O]j��sG��F	(������Z�X��g���E)ײ[Z,،G$}{��	�\��c����ltY^E�
�G�nx�y2�I�6K-"s�|y!
�,dž_ra�D��ٓ��(�Q�
��/\�Yi�7h�`x��Ŕ�
Q��|�*�!�H�G�
e�Fġ��y,�G���]��ME%yg���;�&UMc�;>;�E#��m���S�o,6�uD�	�X�bHD
]��|�J'�[PRĽ�Vi�D�>���l:���\�����R���DѦ��)�گ��L��aL#x�D\��
���i&������,��>�l]r#'G�MG�I�Σf����_��3'�z��^��NO���ɶ�!�P�WX�т�YL����$E�PD�P�3���ų3�u(vH��#8��%��ុA��(sE{-�"v��x=��~�
��
Z��f��L��f�m�
-5I4�8m
Z+\*,>I��[%:E�f.ΧxJ���3��0/�ҹY3���/$��p�E}��L��]	��(��[�z�<c��
�킩ȍ�
,�Oؾï	����q}&>퇴�
��9<`��9�u���q,�u��︇��B�S��f�m����&
S�19T.�WE9
-Ѝ�?��W��8d+�&
�K4Ŀ	ܾ÷�����3��Q1S�b`�<��x�j�㖴C��K
��
-(
.)����Q�0�[�����;�d��@�e�	c�d��ܨ���N�ɛ����o�Z�V�162|����5��	*|1<DZ�,�����F�y��6-���P^�0��v�=ƨ����j�/������_�
K%�-��WdnbZ��3Na��W��)g��;]�L#��ҡ5�
-�w�{ʅ�XW�>N|nO�n��`��^:���<�ı�eF�
?���p��`.k���~���r�G�̥i�
�,5�XU?i�
���P��9�B���^���F�c����"��=ٷH�[�{��ʦ�:�ޟ�:Ӣ�rB������~C�Qɭ�E��[k���m<�,b�ۀ�� 
-��!)�f�pw�B�?&�|>�*6.�r����
-��D�����<Q�����Nv�
�
6S�_pb�y[���n�ș��.e�,+o��������*�گnl`uѧYq��i
�\A|�
U��S \��r��̀����2����MN^]��
-q����M�6�|{G�%2;P.Zrrk!!C�X�����"9��
����+
$)���b�l��)�o+��G�㰎���[Hk�-G
�U��S皶��A]�u?���
/����fF�����vK�e�/T�9����:B�9B��
-~Я+i�
N<����g��@�\��	��J?�Fe����_�M�:JѤ\�~#�{U�F5������g�c�&�EF�ХMBv�h�e>Uu��^����
�`��R�Nc��?z���0�	�{}"�@�B�v�S��� �f�q
�WYX?O��I�&�d�ꓰKT�ϸ�w�Ɖb<	W��}v�Z~$�Z�F�10}�@z����[
P�N[ZK_����eGR
.�
<5����Z=i�.ju�
N��a�z��"Jē
�#�������s�Ma
Rc��YUte����Zn�:,+;�
~����������<���;(�V��	+WH��3X]�T��3
-Q\ӗzT���d�}�!��`a/;��Mm�ffLM����$J��x�<�[�U�&�+�Q�J:<20�``mj%6�^�i:�>�e
-��
���r lN#�~�ֽr��f��9[1�7eq�_3�!2��5�U�&���S٪Ǯp�sE�7����^Ȩ�7n���
� q�d�>��g0��L�%���Q��g`
��h��d�&a�t'h,ZΖ����N�爫�[�g��S�����>���t4]���fSv�&W�wsz�����K�̤��}��ɲG��.��ڷo�B��Ȱ�M��Vy	s-��B^O�q�

�
��7HE	ut
KoRmd�]Lh:��P�;��2a�,8U^�Y�M��m"�Y�����
c�%����X�
9(_�.��EȀ�5\���9յ|�����V:}:�<�5��rq0����0k��O���9ܽ��o�E*1�`9�J�Q��9-~r�1�e��_��%C}4�4s�;"3�
)T�>�넊Ŧꞇ�3�]��Zz�v��|0w6kf����\$��p��9
-	7VW�~���!������ݞ�EB0�o�Oj�GDi�}:�����
Y�D�oW�A����M����7�
-���CZ|��O�`\(u���X�
H8��[��W
N:��$�-�_z�2nC{�'MYT��Tg �� ?�ֹ��c�j�=��_�
-eF�§��6K ����|!���k���}�I�BB"t����������t�;0�5����!2�@�%U��ZP���Ľ����Ǐ'msR�׭�D�־*A
8�1���6�&p-J��Gԝ�_E�+���|���4�C����h]&��Ĵ%�H���FF�B������a?Z�<
Z�@���-	t��o

[��Ǘ-���#�'����#e�}s�)�D��Z�Ow3��T`����;zU����q���4!팑T���^�~���V6��W)r\�dTe� {j;�π�"����S_��9rQ�2�WF�K
�H�zթ��ֱ�����������7���LŸ
�#�ȭ:����
Lܵ�]�<�J܏AJ�*)�d-�vb��4��%u��
-�e�܀
��@����k������A�F����Tnc��Ӡzw�y�l��
^��g�H
�6C��n?���e�a/f�~�%ޏ
%�G�O��ߘ���]�

�.�oz>����o�il�b� �
��D989	�C� nwdԻHi���8~=]��n�K6,�F�;Vj�#;��;�ϯ�c<6j�Dĝ%iͣ��s���>ZM.E8#�B=�*�e�
a�ݜ��zo%%M��Cj���F&v����X7��S+H�����0�A�!Ο�Lϳ{�Pr����d�ZD:
�]+����e��Bɺ����N��G��������\���
J4�D�]=�M�&
,9���3�2WwC�*�2R}��2sJ��S߽%�$��s�EH�'	���&�D)iّ��C
 ������1��ԣI�8�&��s��w���y�'��b,�(���9�w	Ƚ�TDz���وSk-+�A�e)W�a����l��:�{���ͨ]�;�Q�X� 3,��6A�R^8�tKS)��3DN�|D�Ӣ�{e��Cwp'~]n#�JN ����f���o�*146��>(���~�EA��PI80�
1��{������	=����Ձ�_�S������Q����S���9��H��Îx����zo�I�Gޱ�)
Y,;�5PR)��?6��}m�C��+�����4�X~��[u'�#^vc[�b#�:�����DyLV��A�U��F������pi�<��
C}1����&II[�x�<�?�ܒ����Ƥ��&�̡��Ylh��9A̶���&�
��,�����g���*�uB@ֺS�68sV�M&
-n:�6L�،/,d
�H��QCwK�UD�&��X�[��}����mLmҵ!�>�K��ct�Z���R�C0��� ��;��S|;�a��z�
T!8P�Və���FD��["�&�(� �y��@󪾥��AY����4��c�\4�ӹ�\��
O��d(��A���؝Lp-i�����}՛�i�:����`lG�Fe���D���F7D�Ą�#D6d�9
���
��Hu�޻#�T�?�--R��en��)j�
"^���<�+c��� 7c�Ѕ�D����IJ�rT6��*!�
-�D\�s3���:F�槈�)S�T27.��%�Ȃ�D{^�@�ٕ�.�<��R7M��R
I�aB<�y�3(���!�����Jɨ�&�
}��4�Z�!�x�Nk�Q�w\ X�!�n�Zj\��٪�ȭ���C�Z#�E	����(*����>�-�7�0_�7�֤aN�e�z�Y63S�R�/�G�
-�(�˕���`�害��KWÆfr�Ɂ^
��������s�P���؜
�����m&$�j8�O�\Xv��cx���?,xf�|�ߖv\�"9�W��dd��\����<�
�W�� ��߆���V�f+Jv`sWf�~�"`�=O�ҁ�k����7�CB���;����
��U�
�1��G�Y�nj7ғ���
��ǦL�*�N����N�[k�Re
$�����
��
�H�S�6"�Ѹ�,�q
-�7g*��o�fo��6z��}xWʛ��H"�
V��C*=Z�`|�8�
ks�󛫮�|�N�|�|B�$��ՂQx����Cm����'�`��`~a�2�� y�ptNWF����E��
�J5���A���1��y�J����XڙV�Ä\��@3
�
1v���e�:4��\Fۮ�E�_ړ�->m�`��ڷ�½�Y���>M��>/�
v_T%
���&�Y ���j1ތ6�^�_�����>s�[`��!<P&~������i 2z�G��QJ�v�����
��U����W}��J�9�ᓒ����
�e�`w�t��+T~-ݰ�o}`*黇G~�������8��Y��!5�� ��W�.���|'��T��d�OW0��,G[�v��$�e����A�w�|����b�l{��(��YuS�F樏���
~<	D���s
ȫ�"�M�m�
 ��`��B���!U��?G+��,��'bT
}P�ӓk�t|Kg
������o PYSrk�U���'����JAj�Y;��u_
\L��
�uUJ���� ���)�P�-J�
�Y��r�5#dl�/^��g5t��!�~��+c���K�-���樂1�K�������6��[� �
��}�T0J��h�|�	�m5�ӻ��|��H��I3�d	�J��%�T���ί����!��
-���c��
 <�/��͂Zq6;���t�ݥЄ'g�ē�GC��t�ͦ4[�׭�
{��-��I�;�=�
-�z<
-���>΂s
��z�& o>V%��pRy���~h�:���	��v �.�G�fr!kf;�FD�L*�����ٿ��FB��P��lߊ�9��G�������6<��k�og��9�=Z�������Bj�
�
-
�G�
	�Ӿx�]�MPo� �aB���˾[.�$��d�(�p���t*�$0h��ci?,.�?����f�W �
l��N��KnS �����$+�0�zL�?NN�-M�)I_��@*�N��Q
R2K�U�;x.,;
j�Z��
-q�lfÅ�mJ at 2����Ο�Р�
-�FF}�
%�E�� � 5o��A���ʜn:�����#��Z�O����0�S뎂19�
z�UYk�Î����HNy�z�kU,�xЧ�ZF~� =�W�!*M�<�t�W��|L0����ZEdQ�7�D=�?�3��p���q�u�Q3��w�K7��8��[��SZ8��w6}sc6��h�9ԜW2g(�{J�g��'��رWK�4@�H�?�!�8&�i*���'#w�(3o�����IW������~��,[^q]
�|��m�	}���Ȕ�16�$��
�6�j6�
�aˣ
���|�v�
-��|*����>x�����z���i�y^_@�!Fg^��-�Ž8�#!˯���rr���0"�Pd�)���>
-�f���P]Yc!�li#�j]�:s��x%?�����9;,�΃�!H3���d���9R���e.[�v�\��f?��x�f��B"��0S��u
-Z��ɛ�j�M�v,�rmD�Dq
-�eu)��4��u���rr-5��>4|�u!B&�-�����5e��.
S&��y垷;^Hs5��v��
�%�R6%h����蜩p�-ב;�28|�݄Z
0�I�W�
��.�Tc�rHM8��糌�'X=CD�#�\��м�eC��.�8��<�+�G�2�{��_^���
a���P"��gg-���
l�
dくH��e�br?2�폭�-�!^�̞��?8`��K��rTh)�e)��#T
-	mHοk
���r�õ���k	��)9���a��x.���5�J����6F)Y�G�c�Zo�9SY+P�����K��E��Һ7�
z�(���^�A��U^��e����qg{�`P��^�Jπb���*���W]*dgY����xg�`h�Ew�8K�,��4G�n���iB��N!
h2�1'8y;��e�
�&�b�&vv:��_z�:M2z
�[�"
-�H9+P�p�?2�R�VM*�i0�gd��Z�>�K�j����+�M��y�SV#�ܕ�h�/2Z�G�:\�CMXGi_ڭ�U��{/sr2O`p�$N��A#.��,&ԂL�+���n��/$2�ݛ��I�m
Y�G�\�"������a��/�|���k�E�Z�9

(�fs��0����4����Y0Hmx�Z��֚�0�
�c�6�jG���]�~y6�4��Pʛ­�8f�jyq�
����GK���:��j����fځ� �_��������W���mQ<�'����^��4_AW*��[Z�]4ޑ~[UJVr�9h�Old�Mϲ�t�ZZ,���>Q ���!�t@�)������HC��T/a(%����"��,�BK���bˋ��w�l �Q��' ma4�С҉52�_�HH�][#Kg�@I"���' jK~��d9w
t�Q-�R����H�q�0Q_�	�V&��# ��i	�;-_,{�4�ca�,+
��\��}��1r9��$��o���@�! [...]
-Nd����u&��}��t�ݞqӔϿ
B����X����`���R��p��8�n-�F-��]��j����)
�4CS%� {Fɓ����jWȬ���1���*�ie�֬�"�Ί�6	}}&�
6�\w����n]�.��ݙ�b �#�lLEv��v��Q�qZCn��
-�B�����/{�oa0(��\�BhI�^��
�7��Q .<���B�A�xnϮ�d�G�7��Ꙋ�
!N���[�;���YuT����?t�%���,F~$����G76泙0��;��X�7�0�����;�?^e��Ǔ�
xd6�|#҂$��k 50vuFɊ@��}˜��F���$�*�W
v\���(_��e��M�V���,p	��6�K֤��a%y)�Zy]F�G9��>����;��
L�%�}��
��y��I�
-�\Ͻ��'�ʻ
�j%Nm��e�c
��qQ��2i�<9��O
r��B�t�C��;�����
.~
��=W98�SQ��%W%�c���(q(e�����`�d'@7S,V�^]7j�o�a�9C�_
ȍ�1p+�Ꮼ ��qb��\�S����Q[ȏfEWP��`]�_����mv;0���U�2lE�a�m�0�9���E�ZG�sk|T�l�.�dז�q0o���e���!I���h ��~��GI
(�5���m�\�t�*�7���X�
ĸf��1f���
�rZ
���Kr
垹U"r���e�7_� n�C���c��w��lwKд�ZP�.m� Q$7{�8&M����}��S �1�6�w� MT~�?o
�������ބ`>v�����y���l��Ϊ�"�o�DC��?M 
1RtK=aN�*�Nƽ[rQ�Dc�#Ju����dkC`!�v�ۑ6$V�]��iț�I����n�
��]�'��ܾ.��q�E{��0�E+�9��
Nn�B��L/���T?�n�~3zu_�Ǫ�F�����u6@�j�w� ����W�l�x$��2��|�ʮ��$���n\��.�@�>n$��]U����\s�VuM����
:��g�fĵ��>_*����6����U*��S0�h|W4�Ql��KǮ�2 �$K4
-�M�L-�V�M>�A�9Ϣ����e�	��&a�ޑ��
��X|���XA) �}'
X�Q��lݝ���
��D�a�YtG�Ec��]!B�h�9|K��~d��FA�j�]d�������DY���F�#�p�\Re��uE��(�1�_�:
-W{&#�
 g��^�]A�4��#
q#�[YS�9*A��"2�-��\<�����S��<��$��(̠�=d���NJkz��]��*�
-��t��0�(��QO;�P�Ch_מ��b��0��W�:u砒�`U*�[_ͥ�5Ëtp6��z�)�V.q)dn^��[�k�%x)�[��"���e1�
���B‚���B�¿��p�Q
�GC�,�qX��f]2���R�]��
R�\-V�T*
�
�.nL$��T��iρ��Q\�x
aB��0��F�t ��n���C�,��倽`W�:�!���1���U���O�;���ڞ;�^)�!�H�n�JǕO��<���D��'�O�}��
��n!Q�=<��rV���o�[3�K�f�^5��Z�q�í|� B
�Ӝ
h⭢��9YH��J`������x:�17v����rH|K�.�S�٭o(z��sΑ�,N�-%^��6f
�QB/��̷��TDk�TfRn�F���N=��;�Q���X������� ywI�#i
�s:�aaH.g�v��
U�
D����n�B�$�W� �^�
-� ��
�d�:�]�H�S��i{����|�)�
~��H��T���/
�[	'�~$��<Q�d���X���IN0�Q�c��!v�

-(
O��Q��u��h�uzЈ1#o͖��Y�"�������s�w��l��Jb�X|�H+Qk�?����i�U�##�^}j,q�A��F�^&$J�t�
`ʋ����Z|pӹ��x�)�K��a
@T����1��Qu�k�lX�Nu��gZ�m%���^�u5��o[���F�^�3��x4�e/k
-�y
�޸�HZ
a1	
����ph�իpw�߻�}��S��`�pIvi;J�ٯ�]��'8��98\��B����@b����<(w�L��*$:T[BoG����׫�$�
HR���6��������'g�������Qn+]��'l�ͦ*�
r��fK��tZ�e�{�@���
��C��߈z�U�U��i���[W�g��P�d0>���v����.��-��g�WIQ�@
!Z\���q�B�+����3�+y+C�Q����_�Iz*�>��j�T?�;^������
��W1+��f����8Z.g��,��4ꙶ[|c~A���EE�nN ��/�^?~�Rі(�hvq��S�?�8�oJjw��\�G���B�Q[���}M��V1�*����(��$PQ�n�~�~$���#&�ao_k��;�KE+��� hM�Xmv����Z���ee�%�����E�T�X�Ӑ�|�މ��!�	 �L,�o��Ȫ���hi��C+�����d���#��}�Ù�4�c�j
��?����"�
-�xUKvN�!{e
��~I�=&�Rj0�l�C�ͣ����I�:�6�k�5�]�`Eҫ��lH`m�	#þY%�$����ep�PMu�f�h=
��xF��m��
-+P/�۬�5yCׂ�rC�ޛsѮ��9H�� +�.h#��
_-���n�Dڨ��E�!˖T�Fph��mG�Fcv�4�����B�����%ǽ"oW����:�.�Tn�v&]z�.D�'�
;eo��n
��L y�Ĵ[���
p
 ն�5��TηŒ�&��@:ʏ�U
��Z�xч��	|So;H4������x~��#�e�:-ڂ�2���*��A
.�
=ω
-	^�J��=���Y*�t����6l��ƏJ3�"���	]��6��~/�߽�����
�im��Y�*�K��L����z
�☛���o�m_�r�髒��\�~m:oNƳ���1�8��&6(Q�IZ�W��Dx��� M��8���ވV�8�H�"��x�
*n��<(��
χ�[�<w.�N�Y���{ g����&zU�
Ɍ�~,b[�?W��a�*I�#���0�����1�H'rI8=$�в�-vT��"���xB&
6��57�Rj�`���$
Hr��L�_�� ��Q�^"�
��0f*���
Wû��
-��l����l�E���Y�C�e^���c�Al����Wl z]�P�*U�׼��j����>
yx�yC7ێ�O��Dn��F
����q�=d�i��UE�|��	�fTQ���#�|�sl��m�
��>HaK�}6?�/th�T�3�W
	�O��}�{.��P���sa9W,�;��䋷�S�hv,0T��2gĵ�/X��w
�a1
�;P�7��UrGH�'B�^B?���������_�X��%׫�ۭN�]v^g��Ix
ᏣƎd��|�"�ڎ�����rMw�&���J���]��*�h;�:|�3OA�m�������v��Y;�֔�uZ���'K��a���_"B���+��a��L���<(�P#]����H$��je]������6���b�iWF�mFk�5�Ȏ���o�8�"��CUW3
�7�{��./'�W*�Ҫ�j���[�3~;E�N��Pno��� )�?s��:�$8%�8�=%C~���*ʵK�Zy�O����Į��b���M�9��_�o��pQ�������J �š�=�
�,X�X���_�6�ݲ������~&p��,|�!٩^s}}���Ssl�=��S1K���.pO�V|n��g�.���5
}�Q�ӵS�Mn�
���;K���&��EY,)b)?y�W^�
��1R�_8�$
[���I�u��==XY�����r����C�4�A!Z+#c��4s�U9��S����F]'�G at pص"��=��haZj�jĻkj�ވ3�ٞ�Lg�=W(��b�M�&��	9���.���&�3fA�ܜ
�.|J�L�2�{�/x��ԉVڝIx�h�u��!2��]
(�VV]6齗���hD8��BY��Yn��u�Ax��
��(·�xD�x������
��r
p5��𴺑�*(�杍�5_?�m7)��F3\'yD+��#?3��%�%8M"Ā����ܰ:��j0��Hj�Y�6θ�ui�,{�Ou=U�+
`9H����������Mat�
G;�l
p������GIB�JTE&����w�N��2���ݧ�s���q��Y0q0SF� [...]
-l��a
\H�ǫF���{�J��3���{��M�
���
#��8r
��R>W�zVg���ԩ�_�z�:�f�����6��X�L���uO
�+��P"K�5�@Y�ʣ��u}�ah7�pc�;��E�(5h�������*Y�,��~�?���+���%���TvY+u�$�
���z
4�:4襗����

_B u�f����b�K6�lB@�'�s&�΋�I�nq#��t1�H
�"���*�dp �~"U�j6�;� ��8��8 ��=T�2�8_J�xP�M2�Z����r!��F���R\�s��N�����Vᷞ�_�7�sռ���=Y��wlO:���F
���S��7Ox��>�.
-�]ê:

!��,��c#��v(�pG�F�@{���B��
� M����7�)[�|�Vd�ŬHׁ�
U�������xE�U��.z�դ@U�5���m��(Q���h�Ɓ5�'��#��yE
OM��>\���d���k�b�!I�m	+R*n���98�	4D�*6W]>-NY/_���S ku��@%c�PyU��J�
�$��;�ʠL����J/�d�����+�h	s�����l��F�"��vP38��(`�����b!	��!�Z��樈�g$^B({�_�2+�NQ2���L�����g�򾾁!�������Zɼxx�ab��e9�eX�ڂ*����Y�«R�$K^t�43	xg�Z
U�=p�g�/(�]Ϣ�N���H8�A�R+B��8
y����¾�S웩Y��
-{�}HTGA���7g�(��K��+�_�f'ϲ��ʚ
.<�~k������6RM
�J�u8�~Pʱ *^-���

�7�Q2fM�3�0���(W�h�
�<�>�/K-���^+c��=k�^a`6{r�%zI����
�%�������AE�����FX�f[ ���K�R�v1�v��  �o��|ͱ~�������
��XA�h�+�L�]��7o�T�ptP <L�^T��#������b
<~—�o���>��ʣ���⸞%{�a7-����ϴ���Z���A�E�XuS7��G���k�^���֒{�����eׯ�-"8�d�����
���;o�T������e�!��$�$�3�U{��͆O�KB�>l�0yc��6�<��v�͜6�G!�B,!9?6��8�GMB
<V��%3!��/�.P�	<�e��ɐ=���:�G�ͽ�Cs�L�z
y%�趮/Ӻ���k)k3RG%1$z_�$��btU��������u��eB=���y
zc�ϑ�nx���
�s'�Cjq��R���b�Cػu;:a�1��ƛ����	��f���[-o�N:�
q��Z���/��
�z
�� \�}D�Uw��'l[��b]��o�����n�N�Gq��'�]�7a��]���z{ct�n�"��+/�
���C`?�q�������\���af��f�
37��y�ݞ��L����Tb���W��e�a�1^5i���\,0�w����Nק�����DT�ʴ�z<.ϒ�m6�QyȣX�'�� '�E�u���Жca۹iP��d���#�^��!��]�͐/�Γ�#�`	��i�]�C+��=
-�z�~��X+n���R5���t?����.�vt�5�vZ2"-�t�
Q�ii.5�*��-s]��=f��/�(��v��O����cܑA2Bƥ0��v]g�G,�R2%�`
���D���`zT[���[��}0���⤭?����5I�R�1��������V?�#�:�@�o�n$&�P=!�#��E�%��:�|�&����J,��9��w�g�B,��,י��"^��K�6�^ڞ��d�
��� 1��7����+���g�Z8-�h�����
-�J����bf�Ui����ܑ�M�h�p��z:ӌ�m��=���J5�RU��e�g�5���t���@�*�*�(�Jz��O�s��Vʃ�b3t��/��'�]؃�
-Z
����켯ε�L����'����
-h��dkm�`	�� �>
�endstream
-endobj
-214 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2836 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 2841 0 R
-/BaseFont /QVVDRF+NimbusRomNo9L-ReguItal
-/FontDescriptor 212 0 R
->> endobj
-212 0 obj <<
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/FontName /QVVDRF+NimbusRomNo9L-ReguItal
-/ItalicAngle -15.5
-/StemV 78
-/XHeight 441
-/FontBBox [-169 -270 1010 924]
-/Flags 4
-/CharSet (/fi/fl/quotedbl/quoteright/parenleft/parenright/plus/comma/hyphen/period/slash/zero/one/colon/semicolon/A/B/C/D/E/F/G/I/L/M/N/O/P/R/S/T/U/W/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)
-/FontFile 213 0 R
->> endobj
-2841 0 obj
-[500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 420 0 0 0 0 333 333 333 0 675 250 333 250 278 500 500 0 0 0 0 0 0 0 0 333 333 0 0 0 0 0 611 611 667 722 611 611 722 0 333 0 0 556 833 667 722 611 0 611 500 556 722 0 833 0 0 0 0 0 0 0 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
-169 0 obj <<
-/Length1 1612
-/Length2 16918
-/Length3 532
-/Length 17832     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct�k�&�vVl;۶m۶+FŶm۶S1+֭�Ow�
������Xc|��3��w~k-2"e:A{#S1{;:&zFn����������
����+ௐ
��L�������N��Ŕ�nj1503����`� ���N��. JU%u*����c0������Ζ�v �n�6���v.!��
�MM.� 3KS�������8�R\N njg�dhPp5��4�X��9�R�� 6�q �ۙX�S�3�_,Ag�!�����򯛩����?*Z���������g��3������o\��v�6�&�$�Wnf�oBN�-l����)�;�8;Y:� �FU��<],
]���l�W
�7�kibo��OI�����պZ�9\L=\��ed
-0�tv�1���/����i�:[ڙ�g� 'SsC'Sg�0�����	�ߪ7tp������_���������=
�ߘ�.c�[��0�3(�vf� &�����:�O���ӿ
��gf��&ahbog�	015�a��w�@��2���
����B��?r�+G��%��{��+�������������a�2�v���������������_
�M�#��
Iÿ��3�K#=�-��,=LM,]�- f�6;��\���������/��6@����_t*���v����?T�v&�5��$��:�������ݩ�Z)���E���ob��Y{��u�CH���M���1�p ���db��?D���?ϲ�.N�
 �%32�[�����I�����ۛ�3+�.�v&��	�Q�:9�e������y�w�MM=L�a�W��X�ge��a�L�h�1���:�6������G�qU|Ԇ�7�p�{.�;|
IQ��a�P�^����P� o�wr�
1��g\��x�,��i�3�
�O)*�|@��t�8A�<S����>9 ��5ģw!5���_�'�>?Q
���
�ށ�����C��p�'�p����R�􎤂�h�ý��"T����##�!���yS0�߰��H����I�u�h;����]���L�����t%u��iƛ
���&
�͂l y��
p�𮳭�~�G�]
�U�*mpo�8"c��t�Bnsp&��Y��0�(ˎ��OzZR7��웷���1��u���R�?o	?C?kf/4l���	n�Ւ�� )�P���v�%�Y�����
[�����T��UfQ�9y���
��w9$[�ԏ+	.�4��h��D������L�
;��ʳ@��0�!
b���BӀkj̊|RA[��a�N򊇖g
��8��T���b��щu��_<���1za�o�0:�vltGy/���N�����֯#�^"�0�<]���������Q1��D8�pb�
�F��$�s�(+��'�#�C/
-�d$��Eq�(H$����}ؙ!I����!�>!���@ၩ�=݆�`ońL�[�Q�f�9ER����S�ܲ�֮��$n��!"u��vAؽH
q4CDl���\�����BX�>RQ�y%��y��%��#���W��R�~�Mj��Z�!�.��g�%�-
�S2z�	�PA����F3��O���>����$����s�%޺K�YO����������M��t��M��ؽ�;zT���ͱ�Q��6�
��^�����wT�
q��9��{<LTs��n��"������W*��݁��,
�0/����P=��4�|�T5K�dð�����iԼ�|���3BN_��	����V��(��7�M��"��a�c�d6fa�yɈ���*kR��5k-�.���
���Y�6�	<xB��g� F�1�n*Ŕ=�)���o�1��x8LU����t�l�~�4�qXK*n!4
���8
J
�"S
��{\��O�


-Q���fZ�
�7��
B���m�VE-�"J|&U�HM����.�
�$������F֖IT�i��6$�T�
��
 ��"�ž_<xK�#�.0�\~䝉,K�7SEY=���0�
����/?y�[`U�ϥc���e'
B�.��Exj!�d#h/c�cCW+��W��~sXu
�wL%q�%�b�+}��P�3���&حpOJj�0��.v�ca� ��
-�Ɋ��a��]�)�i�����{�4~!Ow���# �>�~e�s�Pxs�x� �x�\d�
H�
/)��DI�0�?��e�"d��"��ꑈ�^}��V~gzU�3Y\�b�2
�.��t�КT�g��xX�J�(���p���P
^�
�ra���^U"P]��!9��4����DZ�o,~:E�sE�ʔٵ[T��$3�N�3�''8�P[Y�Z_��!�2�����:
-n�u��e�z-�NjҪ�
��
M��#J���s��
e�n
��UBG�
�yO��زl\�׭7��KF<D^�c�]��eT��,��������.��5�x���p���K�́m�g���F�q(�J�;�n&�:�}>���xK�Y����,@����d[0�b����C�j2S;�GRs�Rn}�0�#fz�ٱM1p�Cwh�/nd��4E\�?�>_��R<��_د�y��&N����D5��/���@��?��~��5�s`S�E�L;���/�MWM6�����^pT� �*�vN�8
.�6� ����R
-��xdsq��d�g�%������!�������ͱ���Y�4����,o5���.U�NY��jk
���4����cp��R�)&i~f�o�{.NI��.�����?
-�*0�-
-S�dP��@�&�v@���j�Q4`$|���gB$'��ϭڇr:+�a������T|�c5���}1[wa=	{tL��o��@��A���Ԋy*	�<H�+�
�fJY�a*�D�Kܰ@)�����uyj<	��]�P�SI

R�4Nߒ�R��

h
�c{��w��оGb������[ԋe������.t�/�/�JE��j�"]jt��E\��j�@8<L�3ECyH7��u�$~M��+�A��<YmΝ~��m�.�D�xdF�A,@@
�
�w���9�$�ޠ
-u��"wVJ=�BߊQ��q�L^ٓ����b*Vu
^O�:*F�F�"�-V��~f|� �o�c,�
��B���;�Ô~���D����	n����u����rR�oq�8�5�@g�S�N��M�A�nV�q
�
^Nݠ�c��nީ��LE�V]ʙ3iJ��i6)�
�������ǰ��
�����,�AZL���Kufl���P}�0TS'(�F�p
�K�WAÍQ@��k�M&C�Z�и���~�OR

|d��L`/&�:C�9 �^+�I#�9�YVu����\�v�	.f�d���&��	u���*B;0;���KKq�3�[,k
x9�\>����[ݴ�c�^�|?�jH��n�X@�T�b�;�ƿ<��T�ϲ���re��:�L��\�HA��:}�ykl�d�ȥgPs}ޕ������#�A�Ѡq� ��K
����:D����$���XXP�L�Զ��K2�D��<�a�O�A<h��g�n�v-�}\4���ϓBO���h25��ҲIVC�,��2|���@Rb�7�O$Y�=+�F
�B%���
-�t�&	8�+S�����g3��Z��ج���3"m�#
�XlR �1�����b�)�
f�\W�(��<�yَ�
��Hl��IW���T
��C��|t���8���=�
w1{���C0��h)�.�P�
-h�峽��cD�?Hak`�*����`
e47����qnơ����r���:`�;�WBq�d��[=m���	���q83Y��_�%I������э�IVBy'�
���f�,12�
E�����	^	Vb�x��5^x&�ئ��C�5������V�6>57��y$���R��Iz�:)��&��P�0_�&ip�~-pŠ����.�
Ϙ�nպI�6��Hh
졚
v[��C��\��
���O��d�5��{��!��d$�����>Y�3�?�m$
 ��9�=sL��Z�!y�]���X80ng�
"Q.7%\3q����` �{=��Wt5��u����m�`ュe��"R��b����d䆩�*�H��Ut��l�o�E�e8�E�g�9����{7ʓ
�v%��ŝ�2+�K
-�s���-/f��s���l�U�	L�����9:�OХ�&��S��0$G��R�܈�>�x��u��%���WN�dzK��G�t����.���\�j�2��c
-�S��l ��(f�
���0�!�/� 
�k�c7�0���.~"�X���˻��}Ӎ�EeR�6 {C�L�Q�Ř9-�"����U�A�G=y�,��j�9�]�l�3
��l��՚[vK�.qթ�K�]�ӣ�8\<ЌYm�,Gl$_ @��H����,)�kO7���
����Y���x�oAE�OC”�:�(
�����2o�^����)�ntT'���8~��y��\��"��.�x�jQ�hIa��%�!�)`��'*����| �X��;��hJ�(��r��dfO�{�V��if�|%)Jt��m.�meR��u
�+�qYݩ�
M�8u�E���jD�gʹjɮz�t�	\��,_�$�� ��%I�j�����?D�]�2Jګ쭾�~H�f	?�7
̤�1�&L v~��hamD49�hܽ[��Fe3��h�o�����ߒ:g���}�`1���6^X�kg�I�c ��)���:P��O�}U������E*0�ū���O�߁j|�}��{�� [...]
�
-�}��z�-���=?���������Vq���@@�d�&~h���A���u��o���)#�jd���6�
+�yWR�(����'�I�氈�s+W
�!���n�|2U���6��`�}��t5���N��.=�3��ڡD��IIU�v��l��q���ƿ�S%�t�
O�g��1b6���g
�vV[�}���
Sҭ��9ꚑٿ�J�K-⸅8y��%�F��Vȸ��w硽{}H�(��/KI����ͺ����:}$���k**y'�kB*�,�
�ܾ�q�����i7l�p��H
�ɦt����8
-�[
Q �^Z�N�3���jQj;.��|��x�h�S�����㛈�>���I�:�kx��F��&��2���Lj-�D�d�4�xi�
diZ��-,%
�:������{h;��a�?P("2���U��
4A�tѽ�`/$��
�:�����=�1������J�QK�	U�?�üZF���U<��Y��Fz�
'��Yza���JI�y�S���s��Ld�L6�%�Y"|xj+QD���N��(��&�0�h�R���e޻�x�g)p&��?�I��q���e�|���TV��Ʒj���BV������y`Uȿ�
��B��ғ���_����x:�=L�(yZ$�+�@3H��t�f@!�VfUA
�K��w
,��βxl�+���sT���V۔I��0��.
���~x�����;Khm�Ǜ�o��
ܬ��
�R�����^[Ǎ
-�64��sd�'��_3r}�cy��}�v9M�d+{
�{�Sl���	-�0���bed�@���@X�)�b&j���Y���L.�4�1@`�&�8,
4���dE"%��ŏ��V8�0��emr�c��1s��"�V�
�a�D�fX��^l�^�Y`@�p�ߠ*$�ɖ�i��o�
�10Q��^
د8�c���"��q�A��Okq�D��D:�v5?��8k�����s'����#��=���:5�?��WaFᯑL�I\<a��FG�DU������X�+��"��́�
<���ӁK"
�!RG �A
�u��� �`���n���<�`9��je~���a��
�qP)�ND�@�΄�bs�f�R�?��p����]��x.pѼCw���6�ߘrx��]�
-Q�Ki8!\�n�gLC{,����R4�!>*'2��^�;/=�Z�7�-��T3�|%z�9OO���@<��+������>Yt|W^��̡;�K]����S��|�� \joo�����a
|SJ��
3[����(Ʊ$���P=?c��_W
��_��T���
NNJM��[þ������ù
�Z�Yyt�M�Ϫ��5���,C��t�X��0w��E_+sf�/�~N�uH�,����7<�D\�|�(x]h)�Y/M��u�h:;g�=�I"��͹�*�fVF�ez�T��u��e��G�I(2q��B�f�&0h��;�Q���к
�!�$4헨E}���@��B
-=_4�c�x�:���y�f3e
5����{z}���{t���,�_�^��;�$c�id-�z�~Q�)�l

<$���,�����)�iAL!�g�!���[����QO��b�t���A؂��>����O'=K��z[��@o�g�u�)�0~�����8��{g�5c�.!|�W�a��9��b�����"�ԪF��ͱ�+o�
9HKD��t����鄷??Uٟ���n����Dw$��݊������/D��������Qd<1 at 6�<�C��
-�����fW(����Bw4����
��+� Z�&J���;����
�]��<{�
6#��s�e��r�c&"��!�.+��4���v���������
�t�%�$��l�
(�T��~�^dwM�zڷ���ِ{�|�x�!=굪���0���K0��a���
�~�"G�f���*3bJ+��^�я-����ub�vp����d��9�L�'v�G����(U���%&P�n>�̉oG*��[�,>
�bA���u�ŋ.��<��
�U
-��	
G�2�kI�i���J�+$~JC��
���=�-����?
�6�vE�ֵF5{jJ
.�8B�{
g��j��-��<]��Q&��&xÐB`��
	��`�l�}m�D*�����4gɻ���.�ϡ��U�Hhd�}��:.�&�8w]�
���,�K6����St�Sg9�Z5`����ّ��gmd6CRЉ
8��l
�������6-�=�v�>��#���וhS�.���7�8���q��*��>"�nm�w���c����ᢖk�����H�ճ��1p�
X�4�:�װ�l3Z�c��ҧ
O̭4�P�������	n�)#�}��
q�ėR�Щ����;(��:�0
-�(�
�n;ԁP�.�Vf��m�.�'p¢��4���v^�
5��;5�����}�$O
�c�͈G�+�%6�dE$�J�X�\��*C�?
��O��O��K�(��ѣ��V���*���'�-�L5;G��.��]B��y�dWGơKo��R6k�cr��\!/�?nG�I�jcJ�:���t�3q�!o9�F��6�+
��R�u�w��Н�b��ufs�Aڭ�X�1|��?���)!��{0sx��7L��\�np�Q��o�Op�A����d+ۭc������κ�6��U<�=lcw�vݛ��Le���	g)�g���q���U��Y3s�'��:��\Hpt����x��4
S�F��ֺ6�E9��C:��� 1��RӼ�s��hE^ˍ1�0�3w�F��V�'/�&s�-��6҂Lm��F�M�jC�ʋR���)7�9��Z��
곙�
�B'n:Q������Œ�'��J�e�#�Y4�Yo�����:b
rJZ����!�	�A�
8xDx��A at W7�ܹ�`1�gnո�~ 5���
��~�x [...]
-�b瘅Y��/5�+,��`��3'dw7M�_
-V�$K3K)+Ŀ�.1�

�$r&j:�Pu���dw�og2�/�3�T���C/�y��"�$P-�����^+�`���>�����IV
tXirc~�+�]�\Z�#å�l��GK��p_y�o��q�
'�UvZK�*`�k�ծ�X�c
�WZ�2�
U�.i�O�A� �]<
k*��U�zn)\0��}���D���7�8�!�I%v
��)t
_��u
�RE��K�Wx0��H�o]�~`��T��Q�^�

����� -h�c�s��Cw
"l+��l؊4BQ��c�u�v�k�AX�PL{�Rquף~؏�?dž��'nS��:
-��M�@UsŭԻj�;���R?�]j�::���
$e��:
/:�.�I�y�"^�I�
�v]ޱ�D����U�m�@ʵ�n�
�����
�\���.�=�w] p�v;��(
�j��vҥ`̋0�.Cs��Z�1 g�x4'P���-7ڞ�Q��<i.������r�P�;�ٟ|SN9�G���
�~/�����Ĝ��f,�.
-��iQ�l�e�B�z٘��^�������aB�:�O�V��9�o at Pj5�w�XsG
��/�
WV��dD��F�\�e�;� >�,��}&��0����(�Bf�
��5̯�B����ݨ��<ˁ��XL߯Ǩ�4v���
�Ј���N�-�e�;���w��n�p�R���9̙$8��Pa\����r�i�|ق�ԢJ�nwf�&���]Guy�\!�s)�x��@Ոj�}h?��?~8J�lk�L島�b/�`
���a���H������̼��K�
I����?��%';��}�"��t�
�����x�5����
yrE�\A���%���U|őT 
-�䏁D�_(ֿ�4?=�
����71��O%�>�����Dei^>���V7�t��z�[��=�
d���e")��:x�|;�g�}
ѠL��;?(}6C��r�w44ym�x�1���><��<-�P
��b
��OqcX�sS�����t
��
��8�d9�-.���J�S;ҘÃo5� ,M!f�J�G�c��&Ɵ�-Ò�!�!m�X��	1��N�#���U��	U4üϒ��c
����l�|��>z��i�,~�j�>�$aHt�Cd�p�tL<�F�8�|�v�
��"P��U3`�C��vt��&}�S�3I�]JeY�97�q���Zث�^&�OM�2�cx`�T��ue�����dbX�<
2ʐ
���U���q�E�
94
k��Ń:P�ӓ4ϱ�#:�;�5y�%���G����dǛ�H%,�\Œ�,��Q�V���L
�4���X��HW���<�^����(B�[�[�i�C��C>i�d�d<�y�U"�C��p/��l��`A��&@ �V���X�����Q�ʪ�0(Xh}�loA��-�
 �cm����6ߥ�&Xe:�Tk�آ���"�*v�Mױmy�z^�B$^�����Y
�%�	�D[hAN[,��4�������,��x�X
�C�
���D!��X�|�>_ʃi^�.��"���Y [...]
-,�\x� ���������?:�~

$�t<���~�GG���F��ސ��8�Q�V���yT����p��K��Ť�"��T<yz%�<�f�y��v���38
�>u��R�����#i*L�����G�T
ܟ��([����;�K��f��
��X���������x>�;�6��B�>C7�<
���Z�y�eX�>k>� 3J������X~ҿ�U����S��Z���
�}���;�32&��C�
�y�9�F9HAGr�@v�
p_b��
\V���4�}yً޾�����={�#
�vJ|��_Q�SzC`���*��H�%1z��,�Ͳ�É*�2;
xK�^s�U�U1m��e�|"��* -+�t|m��A�u(*]f����!F�[��ɔ��%��!&9j�G��,ds6ж
-�p�	�6t��
��7U+,�«�V���φ��(��+���?A�Oǟ�v&9\������a��C���E�V
%����W��s$�콰q
�!��⩌09:)T~#MC�Y�R��$�&����ġ��A�ւ� 5B�"T����f����뜎)�
D��j��! ���}�N��a�Ƌ���-j{\E��ϥ���
�p��8�y�,|?��7t�()��
. ���5�A�N ����e���>����B��=ۺ�8ݦ� +�yh����{U[�!v�L\=M��q�
Hs�kl�3d2N�����f�'O|Ʊ)����W!
���̛��
1mr�&@`k�6k��d��eE�7���P�W
-�(R��r rڬN8u�v�gpO_즤\�T�fc��ܧ���k5וg�s�&�O�<I�'�_�n6^lب��1[7��x��HCt?
��p�oa��Lc]�	
F���J�BK��T�8^e
D3-�ãx�z�,Z�U�|���J^�K�d��I&���]���/S�����+��k��b�&{�
�ߓU�\UW_�G�|	>���iu�Yh�LsX��5&�C��R�w~O�	Q|�
-5	��D���C�
��&��=ߔ�.�5�7���0��
-�&Ԗ=�x9�<��Y��8棼j0��cmB���Y3�@�+X���ڎB�8Ox���2Ԯ����P�zWO�[g�@tP��EN�<�6��Iۅ,��&��6��Qu�+�ÈH�f at wM?Vе�E��>X�/ҡ��Ÿv����Ɔ�ӻ�MJ� ��Ee�M�����qZ���Za_��p-��:|�k��X]��d�QJ-I
��r��h���툂{�mu��{]�di��G��E9�q�E�n�5� ��a��`��w
��,�1WV;���1� � �¤�c��Ÿa7!S��y%z��Ň]����0ȂN�.m��r+3���!��N��~M��B�VW�`V`����;�~yv�f Y1�����\�;V���绉����[y�P���%����fvw��*���\��&����g!WB�<�{��-�o�
j�Ff
U���O1�O��ӷ�_�����F9#��s�����
-���� �Gfxٲ������{��#O)����e7ٯ�(
�_4���E�wO����v�
� ����w��A�(��O��pd׃#����t�v���K�9�8�u�����G�ڢ��[�a��_����
nS���p�1P���dI~O�
�n�e�� �q��
k�mS�]�{Ɠn���m`0f��z���L���:��'���@=D����zW��
��������6��1F�B�
n쎃L�ۂ^�vtzG�7�gZ~
-�U
�ێ�k
����kn�t�ߦv]-?1������|��|��f���K����h��U	b��
�a
R
��ij޻���صF������X���y�s[nOo���S��8F��C1�����e
9�_
6P
-?�}o�U�H��AS�2;
"�	��,�"Ļ�+�1p���3�>b�2Aͧ���rx����*�w�3�cz%aq]3�ۘ�����{�Ltȕ����}�=���dЛ���{5�⢥!�P��2����/Aކ��
i3ՠ��JU:Y<~�U��?��~R�Ҕ&7T�i�s�;ma�~Ⲑv8円���4�
&Y�e�׻�i��y�h"�
�֏�F�\�g�C-��*�V�Q�6�A��
-�1[;�Ϗ�Z˺��A"O۞
��
�o҅��2q	\
�&�D��^��#�ꊲ
��]ǫ	
�&x�T��"�����(�>��`
-�*��dY��ciܰ�oc
-���b�
�����V�S���	��*�kJCE#�Z�}��vm��B��l��4�b�]"�7&
�,C俎c�0@�#�ꇱ&��
�2��~?�a��Dyd&�������~�U��=� ���g?2r0�s�We��L#B*_?,xx�X�
-?]���i�W��K�Hw8�䜽sX��#
������K��5V@�"
{B
$��N(5_ysA��
;g2�	������{"��1~�!~!���� �$Q����/�[UND�v4E�d{3
F|w���Ș�
nna�x at 9��Z1��q �oO
�)�b1���.V[�w�t82Wo8A�m>��Ɣ|��{�lS
yX	*�_�z� Ȧ	���J2o���
��lI��m�R|� w��۷����c-8�����
�v�{�_�?kW�0���R1D%�����?Y\�����cD"������M�_�3r�@{
{�
:��ox1wC���U�B��θ\
<��b��bMۨ�"�
�uꪻ/���>��W\pC�HI��)2Y�n�e-������R�ŀ@�
 ɗ
���IR��>�(�����]��G̞	P
-ϟ�F�j�!��k�>/S�=���5�"{�ll85^fM+�qI�K�ԩA�l4+;y^7{���
��+!�]��T��-`�BcM��s��S��d����@̂W�r�'��oDOnm8E�b�wf�i%�(�"�4���Y1Ё���
q1"箑�}��.���q_'�h��I����8h��?
�O
���M���u�A������:G�*%�1�D^
��)%Y�
���r� ^l���D|GnN�<

-A
wxHvNҿ��Lm]����yN�,��N������G�+�C�`�D�Ο0U&-5����n,�r���l��h�%���7Mяr������-[;x�
�ιν�بi5U6;�G!лs�HfE
-
q�
8O�/i/��YPǘ��3�����P
�&�n�Lo�!U
^����Uly�����
�_�"��ə=�A�D��CF(��	
�2Slv����|K��&����;�YRR��ԏ1�6�#i6aƩ��'6i�c��̝a��j��u�5��l�l���VW����'�s�
�e}�M�NR��
e٦�g�^t"v�3ɪ_+�
X�Hz&d�0T;
 ��`8}!G�4)k,�G*<DT�m��y��x?
�����d�i~�Yjߔ����5
kC�L
�ЖSNM;c��3[4
-�
[����m5M��/Xz�
�����6�]�$,�ac���ۮi��]�j{D]j�J��O?P��X8:��QV\2h~�=��qk*~ѩ)>�M��1�
qoC�5:��
-�T�X���v��4�<nrh��)Z�f~-��D�Ԧ�V�$�6�
��\vi�`���R�s[��ɰBK�m�ڡ��$�ڧ�?�s�}�Q���@�5WgN�G���6���%*��.�|?�m�QBQ���F
-��(�s�p�7�aa]�}�	�
u�	���
ف�BUα��jKx��ׇn<�aW3���=�=�c��Wr}�N���B��9��.܃�U�.i$Zɍ�$��<0�!���Us)#3ym�`�^d'�`�l�y,�t;h����ֈ���n
mF��&}���B��c��m!(�qA���0�����F�u�ָ7�䒶h#��ߗgn�lp-Ч�h*'��[Tž9��L
��� ��Lܫ��
�jM�K�f,͉�kyoMlh`���11,[��^�=��f
��cWp�
 l-���s֎i���]�I�$_)!�vda<
q�K��b�92�J������\�E߉����˱�M�6�;�u
-3u���䆾�ׇВ�n��B���E��;I[����I`��� �f�GMn� ,Ȏ%NZ<D=�����\�3{sGpC
��{�ԭN44�*.a���#��P����T�����8���7�y
`x���"̔VW-O��R�b�-�J�V��҅|�z�L>�3E}�})+���#�ug'��<mC�/^��Kj>N&�!�4LS��NS�4p�dN��hk��b�u���/%
�LTw)��� e��=��/h�Ȝ�fi�u�a����(o������M4�Nsn��h.6W�.�e�䫉 H{��	�'!o�P..O�i
�S�v�e��
-��tM�efF���6f��L\T#S+.6_�<6�u��ZЋ��C�;������#0���{7�R�^��Ӕ��[k�M �/#e�"7�L��N�Q�k�i�`�H �oE��=��<����2��ͧU�֧	B�h����Q���+t�
-u�P�0Fp�K��4#�
^-����l��!����0%�JA�f@��P���� K
DgS�d��Q9Y����M5ӵ=��q;7F=uG+o�?���ڐ�q+�׼�v��WR�t���Fͼ�C3޳͛��t�+f<��SЧ/ޢ��#�">TZ�z�N�P��c��J���d���]h~Q�d���1$�l'p��c���
�U��H.R#�2���
^k?�q�a�t9_�U��A��>"�〳hm��^��d���
^�Ɖ�@�(?��]�\	��P:�����T���e�q�"*	M��� :@N�}<`3��c����G��)d�N=���/V"��
b�7E'#�*Oc��b���"$��Ȕ�q�¼d���z*�Y�%�'l�Q~�9�Ɣ�U�A��e'8T��l�.(�Xr�v0�

J�j5j]P�T���gԢR��y�R����^�'��)��Ʃ�Ou3	�A����g'
-ѝ+/�I�х��")֪����?"]B��k�z��&77uk�َ��q�:0����Hs��څS��n5�)��!|���]�K�ף�	�j�Kj,g��_
�u��n�b���	k�}�5��u��^���{�Aپ�
M���e��R[�_`J���@�ʳ���D
ʿ�M�;O��\��ܨ��~JwU�Յ�`���6��y�Q����W]'_P��k�t��
�,8����w�&�3,��

�l=,�c���'���Ü�ړ�yW1+�*���?]0��$�-���FŌH� �cX]�''k�0PA[�%�h��6�s���x7jr�9��V/�&�X$?�Q�a�K�HRU��qYGT1�'��?��*�v�O;Y�-xB*V��x�n�L���_�RH���m�U1�eZp<b0C� �
�Qr\�(U��<�WP�\���c.i�~G~����f2�O�
w����e|�y�tH��߁�'�=��g%B����B<j��8�v}��3���0wDUw7D�l
�
e�F-c
+RU�~MFh�h�����3�fv%�n�P��~�3uk���"珐;S����c at j��?ץ�1L
)/�pwŬ�Զ	g24)#���.a��
Ū
�4w���QQ]�7����Xmn�
6�
�f
�'���\��
H�
-e��Ǜ�s��&@�n�"
-����g�����b.rR������Ӝ�P'A���AV����a,||�>�Q����&u�o
j�7�p0�B�
���A	d�������N�R* ���6�]�?t�V���o����f��-��/b��C}Nh
��Z=_����
�Z� K�^ASy6/�e oF�������N#�4�ԗ�<�C��I���(D!U�S�줥��8_:������{kFt��Q a1�iA�vց���0�S�H��][Y�-o���dI� ����%�
-�6˒�*8�M�
�R���Yn"�_�rٱ�Xc��%�
��$���k! ����yU���ÿ�b������+%Ui�v����ew@�"V�Da�ǣ��uqЭ��q���j��ް�w|{�5���:gx.cS{��#�2�^��M��J�`Z
-\�?��B`���xV�wZ����
���&�:	
q���ν�p��]A����r}a󀿢�ڜ�Bo��_�?��[�y��"%S���U°(�8 �s��Q�fuA��r ~1~��Qiy`�(?�Ѯ�� ��߯$f*�ڬ����y=�Gi�;e�ΰ���O����h)p��{��h��_"+\eSXC(=�?��)fF�z�}�O&�����ʔ_ElT�)�M���rc��9F
G�@#�
V�N:�����D ����Fۧ��!�R�A�aضm�FH���l���������'�
- -~8��
ʘ^��'V;������͊�NlaO�|v���I4:0_8%�\�P�A�%SQ���U��:.X�ݐ�
j��K�\��������UE'�k��2?�8��Hw�u�
b���#z��G� U�����3wב>!���\�~�^?��~��Џd�%�Ht�
��PtS�~�B��j y,����]�H��a�~�M7R�$��3���,�6P��wN��/�b|7���Li��Щ������_	�D��S�@p��e�:��֛F4�޸
Ӹ�wfV�	
�
��ko�P�R��ջl��|PZ
-������Ƃ�7y‘�
+���$�I�k
]��{ �Mޙ�6Z
Av��?��u�n �H��L�'2�ԟ*�-
���
?�e Me� N�
-������|�SS��P�oL��TR�[�7[�A������(g���A}ys�V���t�
��V�=5a�&��ڹ��
t��~࠱���Z��<I�8q��]��洜U�vņ��TKt�1/������1Qw�!��Y+�I��S�HZ
%��Z��d����KJ���<�kW��c}���~�ν w�`ە����5�h�LWT+zc�����
-DŽ��Ϋt�S�/<%��Ë%�
S��Jw��7�g�b�1寲�bp�|z�y��
-�eyg;w��58ޜ:-l�����3�	w��v�ƈ���lg���☩6[_��Jj�M��
N���E��7N����[Ÿ�/]���.�?�
��R.���s̳N��

7

-˟,q��D��s�����0��xqQ�EI���UO��q��<���6�r����:ŭ��"�V�|d,�tٴ� `�����Ϧ����U��n����*.���L�ם�.�zWި��) ��ׇ��x�wk��7�b��Yrs	��y{_��q2
g�S�b��US3
��|�5� �>�ζu)�+�M>Ζ���r�J��e�o�Y��!Lu�����*��2h
��y�j��=���?��
��s��m��m�}	�?��3{`�M����{�y�G-��
NQ4�p`Y%$}�@���Bq��)����1��۞Y�r03$.�S���g��x�n�4:~�euaҗ��{����z8f��ݩ����$����ֲwT�~����d��֋��ǔ}���p�m��6�i�m�U��;e�Lع�Y}�k���
�Z\x�z)�K��5�?f�NИ/�ʲ=]l�ԕ��<�rz����ם�
�
��8ɹ��y*�4ٕ�����c��K�����ܵ%N�m�v���O$A���\ʹ�lw�]>�W
 [...]
-endobj
-170 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2836 0 R
-/FirstChar 33
-/LastChar 122
-/Widths 2842 0 R
-/BaseFont /SEAYDV+NimbusMonL-Regu
-/FontDescriptor 168 0 R
->> endobj
-168 0 obj <<
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/FontName /SEAYDV+NimbusMonL-Regu
-/ItalicAngle 0
-/StemV 41
-/XHeight 426
-/FontBBox [-12 -237 650 811]
-/Flags 4
-/CharSet (/exclam/quotedbl/numbersign/ampersand/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/five/six/colon/semicolon/less/equal/greater/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/bracketleft/bracketright/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)
-/FontFile 169 0 R
->> endobj
-2842 0 obj
-[600 600 600 0 0 600 600 600 600 0 0 600 600 600 600 600 600 600 600 0 600 600 0 0 0 600 600 600 600 600 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 600 600 600 600 600 0 600 0 600 600 600 600 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
-160 0 obj <<
-/Length1 1626
-/Length2 16490
-/Length3 532
-/Length 17398     
-/Filter /FlateDecode
->>
-stream
-xڬ�ctf��&�b��m'�Tl۶mۨ�b۶m۶N޽���O�?}��랼��=�zH	�i��l
�Elm�h�� 2��Ύ
-��2��R���F�o9+
)������������1@�� dl`b0rrrm��
�M͜ �
-����4�%��`��?5ߞ��6 ��c+[;kc���׎��� '3c����1 at PVN]\F@!*�
5�1vз�9X���
�m
�)&� � ��6F����H�
���p�364�v3v34��GE�3v�6wt�~�;L
�m��{�d
0�1�r6������_��
l�-��u���l
�


�� �Y�D����L��܎��j��ɷ�����?%�K�
�[�on�p2vs�'��1�����J��;�w0;��pv4�1�/4 cS}#+cG��0߱����	�ߪ׷��r�����s'Gc+:F�N߹M�m`���q[ #ÿ�F�v�S�b��Q�33�� �lm��F�&0�2�N�)�w,������@�
��-���#�?9��.�������E���d���;�d�m �{ �g�8[��\�ͭ������Z���hl���S'���~�oZ��-4w1w36�3w24��[}��_re#c+s�o^��R -#����
-m�!���*c����Mտ��+H��*�R���
徇�I�����(E���
�	# `��ed� �2�0~߽o@�l
�����
-��_gi}'s7��w�
��������a�m
m��E'}��I�_�Ԇ�����W�?���ycc7cC��E[C� �Ԍ4�j���q!��nF��`��:��<�J�.�԰m�2���`��I����S��}	���nt+�d��\\obʞ<�
�6v� z�"��3�(ϫy�-0
6���qy���x�m�PWO�~�.y~�$�v�>�)��h��@����gd	�O���#C�]7�=�8�Y�Ф�.`pd�~�Y8�4��<c0B�*�Qt]��N}�N]���@vڒ�����+O��Pb��$BB�xK�F�M]ax�O�<�Sj%b���M���
-��FO�Ӌ[�;������4d�6�P,qC��nb�*�B�@�eH���YNx3�IL�

BR袧�r��A_�$����!A�|H?��8G�z
H�����O�7��� vT[����՜A�ڢ52_鰱N18����I�k
�\�Ax���*p�
-{��e=�
�Ʒ�k>!a,Qfʂ�ĴɟI�E�f�^��E0
��WR����m�GVwRM�B�:K}gfBB�
θ%&��F��}��r��
��tܜ:���^�6�A[5��	Rc%c,���>}�&�
Є���h�Z<��ЄNqI� �b"�<(�}�*v����н&ad���'W�P�W�nc�	m�3���+�
J� x�O^e:>��<���V�0ġbޭ������	��YDg�<�U����h�`����!
-�:�9A�M���D��U�?cF���e\I����r`#�
����l�1L�q��S�Z�� O�u+�%L��S�U������JJ�x��g��
�;�f�)y����j5���N��{��P�5
���K�f/^���G<nyA���TQ$w����G4���h#G)�YsnV3��MLt�h�KY�3=�
��b:]��K��2�'&�%�-�}����
��
O�>eb���C�� [,N)���
�o�\a��Tg�>�d�����ބw�
��Qn�]���mk-��-���6�0�(M�f�h�0<��&Ŭ��_����|���"76-
�r#(�!�r�)�Qt)Q�GO�:�H
dz��-Nt��Ƒ�=ȥ,N ���2BPv�`��Q��j�6c��h
�U:�U�R��l
-�֞�
��;����
-q���[�l�}2<f��
M�Wx��v��q3�s�����>]�
gP-3rq�#�
���u�cS���2U��/(�c�K؊Zq}\A�d�
BT\�&�P��=����DѠ(��<��X�5
��RzM��
�$�vU���/:���ʀ,� w%8�)�*|j�_�9/�ݮ\���
,�|=ֹk^Vj��v � k�2��#���l
e%�c���j�z6y�6w�_�U;�^R�����r�����]�K��yV��t��
-H���N��{x��
�	�4�e�X�E�4�0.m����ܛ�$_"�[ub'�
 Z��t"��[c���t�ؘ�E�����s`
��ۂ.�����G�p`�)�j�-e\*?��_�4�p��]H�HC`����0�w��*��Q|�&�5�J�����ڭT����8��a%��E�����
�,�H�U�?0Q�p>>\`��dB�!�S�.܋g�])̯l?�&2iN�0�_{P9Q�*XYA*xKL���2���cvUԷy�.��.�4��_!f!�C	���Y�C�R�*�s�8F�-/^�I�?� �P�~:՞�}�n�����9
׆�"EE��;�sW���
Xϔ�rղu�vL`����ݢl0��P�w���!@�F�[�~�;��>$f${�P�g�(���@�W�]�N2��K��˕��ū�
ע�
-�p?��_ۗ4_�{N��X��
���j�,�@r��
-$��;h��ʡ�5ƣ&m5:��*$�
h�
KN�
p�+.N�c�2ĄPR�d�o��<y���3�*�)�PSI(m
�b]�������.��28���v�!5W{'���Ř6[P<�7�X�
-A
�����H
��(����gD������	
��
��Ԃ�%[�<x3�&�V9��N,�h�,�b��T�2?[tP�0�f䎋���G��P�]�:�q!��O?�Y����6H��~j��6,��]��$k���
-��!�P���4�̉��/��{äT�7u�?�~�=�
제S�l��Q
�w1�� �O@f=ᯟ$>�v�^?D���?ф�{=�gF�f���HT#�*���Q��Q�;<��{ 
���Y�]c�
-����E�Ԅ~5��7�߱'8
a�u7j�_
���G���9/7������2
ޮ~����G6��`���3T�=6�KN�R� ���������Y5��ĘK�Vo�p��L���I^�
-�״
W�+_^b�D� 
="�'W�&���dɞ��t��@�{�UUp:� ^C�A
�׋#
v���b�j{�GC%,�n;n�e�Q�LCV��ĄF�ہ�!��S��4�&{0P�
�YK��G⣍�Y_i��,�ѝ�#�v� ����t1k�]"B��6�X4J�Ƞj�%5�0�6���-�t��bZ��\>`
�|	.���+��Gd���=����/U�}�1�Hz�`����л��	i*�6^:@x��Akaf͌֝��M��p+ ܢ{"*<u�U�:~�Ȉ���GP"+�g�	O�����ȇ����r�)�QB1
�I�����O��^�h�-�}PA{���"�`�׿$�C�h
h•����&����~�G�!�$���eD�	��ތ������k�<8+���Tt�~��h�ˌ�5�
V
�m���o�k���k�f�����	wA�抉��0`�����X D��/�Lc
��?��4%���4e �Y�4�����l�T���~�g�����BvpC
αbQ+&��+�!���`�J҅��ӑ��u}+��A�l��[̫�t�����>���\�w9����	:�՚�A�_��qVU2�e^�вQƺ�{�͙��p��>���9c�xUY�	����
-IiDS��!��-
:� A �n��<���v�E���:��~i�m�X�������
��[��p�����0"eeh��/��j.S�%a�yp�ڜ!���N^� ��y����}������Mv6��c[�ۿog
3(�/�����4]V�s2�i�c���\�@Bl� }i���+|~�f�,Y�����T�}+Xa�N"�A�]-��/���6���
-���a�!vթ`
����I�z^�W>��Z�9��>�ss�x��6k${z�j�=���lՏ��FiL�3S"���աg�1���E�u{e)�'�3�c�NZa��f��
�غ}1�|�Q�
-�b�:=�h߭����V��*?���_�Vt�E�d�c%�G ��1����	�z{��T7lx�
	��/���
���(e+�����)q�'K�1��"�%�S�
{�I9
�Y��C�?���U�Pɱl�Sef��
�� WAw{iF5E�������19���R
h���
 �2
��Z~�ûLq�j����>�!]��LAB�ـ����
 �H�x^
eV\��=wr

-b
Jy]W�	�ئU(��
�Q��º`�ۆ(�Wa&|�g��1�w_ćh8u����cD'	�̣��0E�+�©����%=]a�.[58
-�D��U
ś��2�{{��`��l���.��D�
b���w�Y�B;��0,��p�M똚���� L�p�!�@����0�Yj(>׻?�
0x�_!K������O�J��2�~)��%涓hL�)
-��8i�
��IbD�e��9��<qs�t�m �^v^Y)xNN�;�
�jB��|?P����<l�#
�!G��2��]0<��./D�T
r��>m?l�Eb�1MG/��l����Ӂ��o�_���-s
-�s^�����{gA��_�R �&�,
-F�?e�Oθ9N��#�
b	F���oX�l����~3��,�a�2(�X
��Ku��8�����v:Q��M��Q�q�Z
Ў��+ڟ�����|!��-F$�ގinz�v�P��=��

���1
	��5y�I'E
6�pf�*�,�%��s�@�y�7���� �L�L�nq��c{�g�5}���s(�*e.�]Yd���E

s���,���^�m��i�N�2�)�N�f=v��'љlypꝔ����LFt7�Eu��)%/v��Rj�{rmjA�
-b�{rD�Z��Q��r@�(N-��#�҉�s穷��Vj��]���y���q��?����7	9��0��\F>	uU
�e�d(���\���`t���zP]Fp��+G�q�q쿉���@A�Ġ�w|����yՉ��ȅ��}t$����d�_���s
-H 
�Tڸ{�w�p�!MXg�,��iμ-D7�0��ʙhҤ�
�6���=�AY���/����6?�7��
-��-�Л2:*��"�
r����a:���َ~��
x�ۧ&�>/M��}5Z����U����T��X�
��-�Gdj{�Z!MV�5�(I]f�QKd��Jd�i�J�@a�Az���8���|&�1��MwƠ� ���`�.$us����
-�>�z%��,���C u�䂻Kh�!�oG
Ы+�zLy�@��!?d��e�9�� ��U����_~��<��L j��g������w��'[��k�ބ�� g�L�]*�K��]IWGsIRn�B�1��a`Í�Cby�IswD�
Q�
f����þ�&�� �c��a�	پt0�2��%���"~x�+y�C:h5l����x,�{��miFA
�u�ޥw#����cf��`�B3�L�M"~��!�]�!�aq���,�;��Q��D�m�!���e��!��B:8�gY
���%�}k�'.V�?Y�!�-���e
�cC1���̋��LU�ͺMY6
_!�
���W%ʥ��6���=����^��!!�D�M\��AOQ\��gq\�&���v����<����}�P� �sPgC���IQc��}
�%
-
rDX5��p��覯Jz,�8§��5�-j�0q^-e�Y�����S��-�:�峅%��S
�Rg�Y^b*�v�C��`�q'������������|����
7]z�	�ǿ{Mƥ-�,h+�,���׭�ai�P�4����?z���.{F;/�x#��1ReT��se�8����S0(F�%�m�l��N(�����z�R9�
���C��ʆ���
E90yV��
M��JE�Q��>#o��~C���;ϓ��I
��-�=�³(W�Oc,愤�pK{ug{>d���@R`���"��R�-��
��0C� @1΢}\C�C`Z&�NK^-nOt\�ޱ�8���c(��2�VJM�ͱ�X9�y@;�e��P`'iGU�|V����BA"��PBE���O�o[�V�&���kk;rR@��
��6�����ު�e��"�"U����=�!���F廛�bRbw��HF��(��
-l�86�a�����N�4�L�)�Wn�PP
�cO�p_7�DŽʝ�0I-��DH�x7,
�>�Z�w�i`ѧ�	RT�S��V_h�'*ѱ2[(�U2'�`���
-��
X8����T�^�c#���gB�+2�/՟&m����&	�����ϼ�
F��Ҋ�\�u$�&�N�8=R<.����$M�8����N�F _/֝��_�b���W�
	�yh�S�n�=;M���k.r�f�i���X�R���J���i3qq���Q8�r\Ȕ
Ru��@��}�������;�p�:��ѭ���MAP��]�@���Gyd
�͡�n�r���L+���Kֆ6�".���������
�Y�W�h?�w��o�[1���?P8�x�sGН.hWo
˱7}��O�h@|�,E Sd���">=M��@W��nb��Є\���-�7�.�^OV�,����
�a|6�Xsk����(�� o�Ncf���z4�2��x
�sLd�0鬄ܛ$m��S���3�~r��ρ���~
�[zX
�ݣ�~eQ	X�����&W����C5�8�uK�Y4���'�
�N�
��}[$�K���
���M'@���֢T�_�(103���(�8�3�#ez�H\= �g��ƀ���{����#��]�빺�|
p� �F�hz4���,�5��WI�@w�)�C��,��AQo�=ɎL
�,
�?e���S�?��/����������a�ސK��E
�bp�
-&z#f�'&Nؔ�BKĨ����ӱ_�k[٥` 
]��4r�,J��Q�`�m�I0
:B�

7��(�=���y���M���X�9�.UZ�>8��g��o��×���(1�p~:.�(�7^�# ��*��ß�$��L%_�5v�_"��{�1� ��,�~��u���`�"l,hः�RRQr8R�^������~)�F&
����r��O/��9���;�04[�H!�$���Ao`�PR�X@õ�F�*{֧�$I����>B�f�m�r�0�5����I+���>
}_��5��׵
��[L�JL��Tjg�I,��J�
��j|v�21��w8��|SE��M�T=�&<J�5��C{ï~���&��M*�
���U9��x�Kn
�)��11K� ���,q	�S
�u���L�OƔ�0�Ͻ+?7}M�����/�2l
AD���e3�Q��V%
-�����%�y"��^{o�2f
g"?�]���SZơ:<�Z��?��w��CU�$nuY���X�9-PX��:�
-�ȃ|T����)Az��z�'@��m�@�f�R�(�Ckr_
�l�A_~�(��J#�կ�}9!�/�Bg��cw��
-
Nw�a#ͣ
-"�N�	�V�'�
�е1Ξ��t�q9���A�0-1�6�=�bѩH��4m�k �
���Y��ﵚ��4W��Df�3��b/D 㵸�����`�.O�@qKP_z;��p���"���DQ�
��UF=��, �>�'���ʥ�xZ�^D�8�P�g�o�&`��q̘|�M
��z�d(��_���DX�kH��EE6w��"?�Q�\�����Y
���O�"�6
q�|�W֜�3|n�|�Έs'a��\b���
���r>����$�^�|�O�
��Ѓ���2b�Ə��jCr�jG���%h�䞻�K��)I\@�C`LE]|Y��<������p)�k���Bο������<������8>��+E
j��e!͙� x��&SKm�4�e�_
զ�5����/�x�)>�H��/2�v�	2��e<S� R_�� �bj�|��[��<wc]�V�Ӡ��'	2y�ᵇqC�ϙw�)!�0���$R��6�1�[���q�,
�T�/P�E�
-n
$�ؖ3�F
�,����
�?N�$��ٿA)��4��b��9~��q�ov-R,�������_&*|�?\��
5�SR�^K����?���+c�1�6-:������*�ʯ�Q��O����
���|p�gH�;��U�iG%6Dt)�� -�B���t�d���e�Z������)�C]��٣�j�E��(�)
����)���~���k2:��$�<�@�g��n�9TW��'�ö�@GX�����ę�q��Z�hsCUcD�o� �!œ�
��C!�L�Uݦt�'蒘��&�
x^Jf��Z���O�hn��r����!ԅ�lV��k/l����GZW���"&yB�������t��'�������2hd�]cw��UF��ӭqY#Y��bT�bC�=���
a�p|��HU��s��"V�K5�i��
�NcS�Wcg`�C$L�}uZ�p0���d��˒��
'
�0��N d*��4��T���"��lc���

:�����@�φ6�r` [...]
�'!$�Ui�l����n�H�ܕ
-���?R��`�
v��@p���-ں�^��a�X$�A�*�,�$�FsJ
�`+�
3r��F��Uq퓥S�	b�Z����!8�e�q�����4�@e$�ie�l�s
ث�t?YX��1r��l.q"
Z*ou|�
���~�]�!�"�Df�
z�9
��7{�f
6=���
�/�	J5����ro�=
��7��u���b���m��oI
<�^�R�_�PEtʙ��x�Yٛ>?���O�����V���=�]}
-�o��|�c" �i�Do���Gw:�q�`yޒ�No���1
ܠ��5��O�II	
Ϫ����(��
�K��fڛ	���J]�H�x����-��P����t���
��:�9���V��;�5%�e����ܤ���-1��:��1�R���zak�N�,$�_���L„�\=�#
'��[=�N��o?�C�
�)_�u��o^�{��0m��M�C��Y���f�%�I�3Tx��K\O�
w��OJ�4��R���U��T�n����5i
=���A��u�A\����d���
���(p��؏!�~�5��r��R��X�c�la�*���U~��"/\���_XjL�*�T��(.�rQb|OD���.����h����^x|�:W��+2V�8�k�q��',���^ئ�����r���P3�:�|�|�
��&p�N͚��I�ЎM"�I�KV8�ԕ��k��?>�j�V5��|�&݊c�)�2�F:�B��)��I
)<�y��Q�`�
��g[��z��?�z�~�f�����u7FRܗ��]K��T�
+f��
���
��#�L	�r�X��j
��}I���]U��=

�4��D
�/���kDp�
����j�橥��נ�I���1'M7�
6� =�s�R��+�`��{kl:���
ߛ��E�NC��27n�8���"��T���4��ߏރI��՛3ሰ"ڃ�ڶ��u<��T>y��!���2�����%��
�љEn<d�L(�_	�CF-ϲ86c���g�Һ��S�)���
�oG�_�Kڀ�M�x"�\w�q�i=�GS�r%5B��[,�f�I{
�C�'E���bw�0i at p�ƻ�̺�hR|�b��}��㢜C~�T���w-��
e
��х��y�����K�oo*
�
�ѼG�
�
I\65R���}v��SzWy8���T��)�%|�����\52��FO�ͥ���)�#ۥR�+��ML�`��W�J�����G������hB�AZ.�
ZT@��(j�#��x?��t�]�QC
m�Y��
u��a��4.ԘCN��bʰ=Rz�����
!�DŽ���"�b�Ϥ6M�
-θ���%�9��{j�m�FIHk�l]�>�G;J�#R��=�t-�*�/Ǭݴ4)p��s�a|��]��]j�2d�o������M��gM`��*�P	~�H��J�d%d%oк0�>��If�`��A
1���
��$�z�m�?<5����h
?{,)=�G�)d5������ק���'=T~H)�3y��,R��C�����[���5H����%���e��9r�%j�
U�%�m���^��&m̟(�
���q�@�K.��NEPb����K+aV�<�
-֭�<�Q�\�mt��/aGD��n��=�3��*�q��v��7�X"r��\�-a*��'�]�
�]�3�9�����1����5���2A���3�B����<´P�Ss��
R}/�8�5x��0=
���+�oŚ�	��hce������P�?�D6�K���2����.�m���[[�흨�n�	;��\�H�Qd
K��*�B���<Zk�}�)�_�]��HrT��������oҢ�}��Q��6�R���u5�ؘd!�|hkx+�%��:����X�f	L�*@v�ˮ��RsM�Q"����)�c2�ڱ�^$^M�0�e��ZP���3\��氺�D}�v#��
-D {��W�M2��9
�A3�\��)����p�eȺ�
T�g�FW����i�a2��	�riJZ�*΍gZ2�!O�
D�=S���%��.�`�S�]��y̜�x��`1��UKۭ
������䢝r>�u�J_��^Ʊ���w"����EQ��m�-;�z_h�5������w�)�V(5o�ނ����
�I
��I.��)$�����@��!G�5x�(
�8y̦ȁ4�E
M���O#�ܨ�*��}���V
�̳S)0p�ƣy�@��,�
Q���*��n�I��]j
Y��N�k0_�O�����wy����;��h�g��&��!䡼�mE��B�K�5c�z�=$��э�6=
���P|�0��e�s&�hHR�[��+�%���
�fb�=�#D8�px����*��
Q&~�l}O�,
a�sl
��
O��9�̅��Ln�`��Wq��z�9���:�sQ6��FMa�ޑE�XE����V"��4]�����I�`4�ZF�����`Ƭ�kZ�
x�
-�<Ŭ��Y=9�)b~�7�F,ZYtf�
i����ʩ����
��W#�˷�Ԇ|e
N��U/n:��� �8�D�=����!
-��J4����o�80��!̐����5U߶�!��֔d!���p�!�:���ys*�
ra��~�:�&�	�+:x���g2�:�V;�Aק���
-a���;�QD����s��t�>N>�
X)+�-2�:~�5�ux�&�Yţ�8]������ڋ�οP�v���w����H},J����i�,e�s2��
�C)� 
-�zxdv/
�/��ٝ7�s�ތ���!�O���7�vR=\���;����*qpwX��sG2�p=
탺�[���&��zS1��*���F��	�{�;)��^�(U���o�	�N�TB8-���le���]� 2�L
�=
LOR#�ġ������5�����жo*���
�#��,�N����qdV���@��_m��Z�d�T��������
/�no����7�b�7�,%^?RA��D��+7�[]ߛ~�
Q%b5�@u�\O�o$(x@����>�j�
��ˠ�cX
�t
�d6M)��h�GB!�
��$�������U�_Sތ!FS�FXx9�t�CV9�74��i�*��m�R9*O��p+.W1��K�ֈ�BԔ�&����T���M�(�R�|S���d����A�@Gm���b��Rz�
��R��b���������krh:W��B9���?F��
6Ik����>���d-O���>�w~�3'	W<ɋg�]����U)�%���Q�K���=���
.�zx�&^d���
�( ��\� ��[�A��⍛S����O����p��Y6O2��g�ͪ-�g��>mc��Hg��H^W /&P.3յ K-����1��I{���%���@_���*�D���Y	�� [...]
����{�]���J���ޑ���7�ȃ�Rf�"gK���DY��?M��>�Ë*�U�����#g����Z��H�L�R5ë!���ܞ[��.K
-�ޓb���J(�
��_�i�ͥG�+	�.D��)����?�0��������$�+�[��wi�R��'�����
�N��������2�KԖ�RR�g~.�2Ɂv��UT��sh
#
�'
�}������Y�e�?��=�zC.������s�.:�=K[K�e�1
'��9Em�<X6��sP�����:�H2bӨ`�:��	{�h��D [S6/1�5ޣQ��S ��Ee2��

�X3Q�Ś)� '漽I�.���цUb��_5xb��_�C{n
�r�\c(
-�
-���yr��m(���t�r���Q�@�^ʒ��`�������
۽	_#�
��֙5m�}��&�_�W>��
q�
�ȧ��M
]�@�1��GMz
T���Na����K��GI&ŇH��
B���7�Ys�X;#*k�XgG|�E�
tz�1H�ΏdK<��Ab��
���f�l��<

|h��
�
-���<�u��
�e�[�p�l�P��h)/F� {��:��������;��uˀ�E<�+�,�xӑ��-\�JL��))��0�A#��h.��%�^��
�h�V�ҏ�d$���F޿�2{���
�
-n�8Ւw ��s���!5{ہ~b�F���I/��d
�s3�9𳭳�-H�y��±K��u�t�y��릫O��Ϡ+i�lkdZϦ�Y�%UtF�m ��K�; ΁��{��Z�m�f� �G>�
�R�	3��e�� &փ
�m��&�4�z3F����?*
=�o�;,#1�!e�d�d�#��<on82H��?������� ����}��Ơ��cq����-�ь���x��!H�	��)ކ_
O�w$#���L�����Hx����;��/������z+͔�˿
-@�d:�,7
�B5��s`?@Ֆ�S��F/��m�}zo6����D
�ߠ��-��=�.x\¼.
ds]�
rO��y�fd�(�;�v����F���ՓL�
2�^޴��7�D��m��ʟ{=���⸍��1���U/�9
-��h�JhA����5V_Opk�O�2 ��ڼ��e�T5Ɠ�}�M�
r���#+m���x4-?�&Os4�M��;͐� >*
~�����4wn 2�`�A��7�B���������`�~��R�
n�,=ZfA�l�
��.��<��I�lyiC�'��
���-�=�}	�3�b�j<IU=�`��x�!n$��
-^��~��|��j'�
�
0rz²�C˞
)���?[��_����L��
N%O!�|�j�ⱑ����Pݏ[z=�!��~
� K$�޴ 1-�~$bNx�HŒʶ|�e
E&��i��S)�)��d�G�z��2�c�XT鞁h:ז��	݆=t%Uȡy��r�%�d��}��76޾#5�=�xNojF
���S1��`F'���x�v���Ӽ\��†���ʐ���/�+}V��W�e�	�@�
-�8�)'�b�7�����
�=��\{3��>�7+`��>�6�Ȅ[amF�Cv?�\��+�i�s�Uf�ǿlv�H5��w"��c���97U}�*n�>�6�8�/ �J�Ϥi.�W�b	��\i����wd�4���ķ ��A���zݩ���ث�Vt���q�S�J�P�p�zzc�P�x��X�4���~���u�D��8�:!�0�
-R���|
dA���S�y'�tK�d>+&�C��W��5���fB���ol��cr뉠O�gB���+tP�M:�y��c�m�%}'G�,L�u)
�PҢ�C���,���I
�h�� ��Z��*LF�v��*��x��?�I�� ���k+��ư���4a<���e�R��
G�阑e�����ّ�\��IP �jDW�ة�?��`q�\�Wi�0o�h�w#�^p�/�v�R4d��{�e
-f�t���&�e��$L��
�,A	�Ʈ�ɚ��L�G�#��0�`��ج ê���f���
��Fo�T˟?�%Z>�JT=��Vl=��҅��D�<�}y1g���9�м�)��%*� �R�Y+�]w�6Ium�F1�I!e�=��?�;*1��)�=�f�
ۄ�)ɮ
�~
,3_ R6$z���A��gC,��o�0O%�XeL��ٶ�os�
P/�~�|�PsnB
����%n4X�:��
5O9y`j+cч	tB
�0gU
c�M}���k�b���I4q
����t�������ʒ��k�/�����߫�������L���O����R�K?o���.!B��?r���:��f�u>����:�uk-�����ܥ�Ȉ_K� �@���T��^��G��?��r��}
"�F
w��(V��hH$�S'���'�����:"E��8�"K�r�u+q2இ�����[X9,��=͊"]���
�Z��
1���0��G2���v��`I
ֈ���ɗ�C��)Jq�Ž/�6J7F�5����d@!|�_�3�ÛH��=J�y3b[�>�
-��%�wӐ�y��9�=͏'�7�Y�(��1Vd����%4����s���ԂUu���
�X��R�Rp	-��H�	]
H�@�9�]��
3���JB7�Z4}��qt�B�g;��_�^�.���G����S���ԫ�h���b#��UB�0_�z��n�Ut�fk��7�ja�T��\�hf���SD���%ծ�s�;v�V�s��)]�0�!��
-�ĺWܒ�{��G_,�>A7�
1B3��
�,�Tqw���
y_�㾭����

�f[�
�g����p���Y�X˩)��a��p
ˍ�
-��J|x�k,�.bn
�c5��
�J埰��Ǔ~�a#L��
-��N����9D��KL7a݆����a��ӂ�=B�h *����c�fS��̚�����5�
�U�N�iX-�~����0>?�ߐ�v}�,�"��?��`e�}ev�왤G3ٗ��ٜk,�Y�MFP���?\��|�}V)��Ak�����R�����θm���
#i�=)k
2�
��4t%{��wa�d�����B��Pa�]MKj{�
����da�$�-�W�W��:�D��^�Q߁�Nvh9���1�sVd`�yH�i�e�O�_~��X�
<�Xv��E~�()Fy�2
<�Az
-��cNlB
Y&L~v�ޏ�����dgP�*.ԔNEО��S.�̎
ux�<�?�Z�CǪ;< E��&�-`�爮���gHtt`�׬���e+4
-���	��3k����}
,����-��t�" G��!���s�u��d~���{ULT��=X�+��‧���T�'�_�
�_mE�T!N�C0�_%f &�F�*��}\��
c�ZV_�9��IJ�+M�pip���(����m�A�Э<�
` m�k����c� ��C���l�E�����S�[�`
��]�9����efQr�T�ƃJ~�V�s��e���&�>r��N�"��:_�Z�Yx�lf� [)�
Jd�(�uA;
4��f�i�i)	�{3�_�&�(�"xwG�uI��f�?7�_!�]
-��b`Ғ�
o�Ps5Y�,�üPLw��Z4��|��z�y�+x&Ɗ��a8$���ʵ71����	��	_!_Pu�ZK�i`'\úF���	�K)܆��x�@�wVV�UM
0_|��ŷa@|,ᦹ��rE(�v�%�q���F���摱����6l���
�U/��.�*�b��1�����
-��h������t�"��S�,kR&�Z������4^ê�pq�b�[Ypj.{U
���� ac���4ɮ�~e�j�PAҧ�f6�5a=��D07 �/i�*���)��j�+n��J��HS{��v�0��uu�Ԑz�iLe��p�'d���h��~��Μ��/VϞ�(4bJa�xe��$
'��ln)o[K�;:sɶ;&!ŕ�
��d��כ#Z�8֞�c��[_�o\��
���Vr~l�=�v�s��x9£"!k
-�pFG"g񝨒Q���Wt��,�1��y�s{R19��6�b*h���/���k�ૣ�e����ή�k_�X�r��O+,nM����P���UV��F�3���
-��ͅ��h�<(=�m�E��?-�.���4{Ϳ����Ʈ�X�le�}&h
����(x��	�ʉD�����oCo��
�wٜ��Pg�c�9�L�<����L�
%k��
-zx2��4h*P�rb�3�5��`~�ɬ�y���a�h|:���{l���=kWX��
u¾��:,��mS
����BTHU�����ҫ��.O�Ę���D������g�?��G{~�IO +�{�D��c��1�����
#Wp��8����z����g����l4˽pn��%�

T
7�y{��;�p�n�+Q�e�w��k�
m1�d�~m��0��������=�Z�uӾ��er7���,3�+� ����w퟽c�:h�E|��9��
�>��
+�0�nw�|�,ɳa������3,��ˊ�Zo����
���
�^�L�4�e൥L1
-,՟��-�3ͅm������j��Lؖ�ḛ6c����b׮Mt�����R⟽A����:�e6
��R�۫0���m'�?�'�̮�}����O����;%6MP�m�Zy�kQ�vR�C����C�S��`�e���*��%�TfgN˙q[��u�e�ҽ�UV��*��OF+��ڒ��|}�T+ϹVJo�ȳK��b�����?�p��d����Z+^+7�<]��]ޞ�U"����-u
l;4�ݧ^6_GwA�!�MV���iZ�h�zw�C�q���-Kw2��0Y��e7Nx��z]��0oR��=c.�諻
�~��t�������������^~
a������d����
�v)a�aM��źu��}�j��#<I��hb��"����!�<�9�n��K�I�>޾{�`�j������Z�o�9]3#n;Sٹ��o��;���3Q�eA��k�dO�ꙟT�������ǃ��J
��+-^��=��h��ן6�[���8�x�+��1
��'��a��2�����Y¥�ݵf��
���X�!���n���]�F]޷�����~���^<k9���kԀaa at rNjbQI~nbQ6 �Pw�endstream
-endobj
-161 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2836 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 2843 0 R
-/BaseFont /RLYOTG+NimbusRomNo9L-Medi
-/FontDescriptor 159 0 R
->> endobj
-159 0 obj <<
-/Ascent 690
-/CapHeight 690
-/Descent -209
-/FontName /RLYOTG+NimbusRomNo9L-Medi
-/ItalicAngle 0
-/StemV 140
-/XHeight 461
-/FontBBox [-168 -341 1000 960]
-/Flags 4
-/CharSet (/fi/quotedbl/numbersign/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/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/bracketleft/bracketright/underscore/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)
-/FontFile 160 0 R
->> endobj
-2843 0 obj
-[556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 555 500 0 0 0 333 333 333 0 0 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 0 0 0 0 0 0 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 0 333 0 333 0 500 0 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
-153 0 obj <<
-/Length1 833
-/Length2 1649
-/Length3 532
-/Length 2249      
-/Filter /FlateDecode
->>
-stream
-x��Ry<��
VQ��R*┟l!f��^k���m�3�1f53�9�E��FBL
-9��v"��(��'�,�R�;t�to��{��������������>ߟ�������

��تH5�0��w�H5L^ބ	��$:�džt R[	�� �-
u�J&L�
�D�e�C&Jk$-`D��$<��ql_�����(���'Al�0�P f�
` �
�j0$Hx6�$
�fȂ�CZ_aB �[+b����!�I%��H��(
@�|`p:�w��0���� 
-�G]�_
�/m
�D���@�2�X�	��#����"��?v-�8
-	oD#R ���PC��_$�QR0D�#���GaA�8D#�h��޺��������׭���p$ہÀ �;y�F~��1I��
��@ �D�����Yf4<�@��:Z�L
��K��� 	H4
�`�a�����d€�	[[*
-�q,~R$��ߵ�:�q�L��!Hu�� �ڍ�	�
����;��
#xS���clLQ� ���IH��6�:��o<| �	�������ڇ��
CxXO7
�{�/�2�n��~C�u��ֻ�-����
!�
�u\����y]_��!q
�{I�Y���y���nV�^����nP{i/Ή���mUEq�⾿Sjf�k)��p�9��=d#ZE�o�]s���w)c�Jj�n�߰W��?ֵ,%�5*�
3X������m1?IE�j���`�'�`����ĕ���>���w9��%+�+)��AO)�O$�g���HZ��.m8���a
�%��*�lJ*�
���/��k
܏t(U
y+�2�*z,O�3�X<Y����~H �|�j��\�>�<lP<sr�m
-�T�OH�-��Z�h�/=�~���qo8�����؀j�YOf����=�+�;��p�b�ڕ.V5}�
x��P���g��v�
�4�J~
��
7��p��PP��C�cY2�W�x:22c�@��⅊*5ͯj���
�Uؑ5��}mݝ����2�ߐ��XV�
w\m
*�'�SF-�yO��x����������j�a��s��n��3@���Y�o����G��i��~�+q[���}sgN(�|��m�ұ�T��k<�Y��|������V�
�����δ�}�,ta�РiP��z���a�9=r�����D��/

	�
!��p�y�HMd�
O�wo���v���+�J���Μ`+����
y��/�s�Y��Bvk��I9u��D��y
��<�~��>�qe1��y���*�$��5�����s^�W��v����&����\�Gt�r��i>����Oc���.����[<6�������%���uˇ��Xg��2n��/�/*;��D�Z�{U�R���/�%Y�-�˦G�
_�s7�U���j�F����vA/���
��"��ط�
�m
�Θ�PK�=Ӥ��|�c�k��Ჸz�V�q�Ɯ,��e���g>�P���|��y8bh$^��$�N�)���`�B�s���&b/�����Ur2�
����6��m.g�F�,na�
��2���sO���خ
��
nb��N�M�G��@3��+S�Q�pJye�T��˖����34�
-�%z�	:����M�H~>p&�Cc�п��ڭq1vD�/�$:��01�u��&���;�;���jH�'�I� OF�
�8��S�V��Y��;ԹZ3��^q�m�D߫�A��>/�y�K3�\�.���L(`c�_e	���;��'ٺo�$_�=mHy:v�X�O!NXA/D��Գ�h�C0Y@
1�?�@�lm~M)�
����M�P�3�#i���+u<TA"������7
�*���ؐ����)"�;�O
?�7O���{J�
�=�P ��d���������v�2b�<��<Sy�C��9LPCf�<�NW��%�������������	
yL4�;a�=��d�OƯ���%";���M�<���
�l�wi
rѵC�H�
T�hk;)���@��C����,�^�@%=��2��r#��S� s�Zmad�'Y���pg�OZë}���{Gzu簴ЩwG�b�*���۔���l�Yڄ�%�4��Iz52�m�
�"�l�d/�"CAC
B��[A>���b�
^-�� [...]
��N�_�
��<���kDJW8n]K}���<8}I����$��9�aS	e����yx�hk���HӇ�)3��=����_�B O�pL6��c�a� ���
endstream
-endobj
-154 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2844 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 2845 0 R
-/BaseFont /YIKYDM+CMSY6
-/FontDescriptor 152 0 R
->> endobj
-152 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /YIKYDM+CMSY6
-/ItalicAngle -14.035
-/StemV 93
-/XHeight 431
-/FontBBox [-4 -948 1329 786]
-/Flags 4
-/CharSet (/asteriskmath/prime/section/dagger/daggerdbl)
-/FontFile 153 0 R
->> endobj
-2845 0 obj
-[639 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 366 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 574 574 574 ]
-endobj
-2844 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 3/asteriskmath 4/.notdef 48/prime 49/.notdef 120/section/dagger/daggerdbl 123/.notdef]
->> endobj
-150 0 obj <<
-/Length1 792
-/Length2 1349
-/Length3 532
-/Length 1924      
-/Filter /FlateDecode
->>
-stream
-x��Ri\�
e�A	.�,"V� Y�L  �K�"в
Ȧ�IH&q2Q�4�*��X�"VVe�D�U��E,H�(/"J�e���߳���~��2�s�=�̹�l�_�

D�������p�
] *�bf�F�0�	�au��#Xb.������`8AJp%ƍ&��۲)�`�Qc�8��h���`�<(`c()���V�@ *B�-(B�@@06	�P.�ShS�<q� 8|���#�%D�P�BrPFD8O�C���{��$��P����y<�?e?U�_h���$
-|��D	�- at P�\�~��"���9�I�<��¹<�@vT�-���ܱ8��Hv4��<:��8�ye{�Aha,��`w��:���N��Q@�$���O��#��t*�)����W�g{���ù���0A�
-]i�`2�6`8��4N�F��r	P6#
A�:T�A4ʞ�gS̟ h��*��1>bHo��O��
-���ҁ��rZ����������RV�q�`ʺQ4eSd��sb�ѳIE�k�ڊ�A�z{�l@�yi}m|&�H�'��p���
E��&��[
���G�Ն�>�6�Ν_Z��}j��f#�+�@�3%}֤�W��M��<�Ka��H<<�lj-{m����'�ǮayG�wjϳ
8di��AV�)W�7���;ƍ�h�<
���v����)��:�n��CpE��o�k䧒�P�%v]^�tTw�j5Nx#����V]�5/@c�^K�2�'F������������t�SG��%ы�������,<�jf�c��-�T�
/D�qy-Yf����h����ซU�
�~ܥe�����4�0��v�;`������/Z"�O�j�+���>���]�|u
]o����>A���n�E�h{���d����x��a���M�M	ɳ}�
m����9ZΦ�sn��̾-1i���DŽy��7�
�+:c���6Y�]�$�n�E_�>�a���~�]���j���g�]�|�xu'�q�*��#� [...]
-�+|F�i������Eìߥ���~VU�����e ��+Il��o^�ms��Q8�>O7���1����Eb�ʂ���	o7=m���V�Vv��������;&��
/VJ�u���$�ƶ�<mNK�~����h��
������K7>�%-����م!}a<�5�U2Â]Ӌ{QMs����B�+/_�l~�z��װԾ/�שn���������q���g6�HA�e��|Ab����xucr��U%>� #y�|O�W_k�e�b��)8�ts���Ĺ���dエ���3w!���];��<w�
Y� ]<i��9:�r~�X$�<�,x�YT\U��Pr}�&��Q�ӧ���W�u��3��έ羒?��+~b�٫�H��)��n������H�z���{�4E� �M
�2nB�_
�L������%�G�E�%
;`�1��
N����*�mG;��+��z������M�~�-�:7ė�B�~�_��
�9O��kq.R4�v��9[�$c�#�ӵ��+��dC�����	<Q?R]ZR}�ueE| [...]
-��`�'R���m��|f�^�K�jd|#+oEa�Z�۲��=���@�/���l

-����? �endstream
-endobj
-151 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2846 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 2847 0 R
-/BaseFont /ZAPYVF+CMSY8
-/FontDescriptor 149 0 R
->> endobj
-149 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /ZAPYVF+CMSY8
-/ItalicAngle -14.035
-/StemV 89
-/XHeight 431
-/FontBBox [-30 -955 1185 779]
-/Flags 4
-/CharSet (/section/dagger/daggerdbl)
-/FontFile 150 0 R
->> endobj
-2847 0 obj
-[472 472 472 ]
-endobj
-2846 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 120/section/dagger/daggerdbl 123/.notdef]
->> endobj
-147 0 obj <<
-/Length1 802
-/Length2 1027
-/Length3 532
-/Length 1606      
-/Filter /FlateDecode
->>
-stream
-x��RiTWU�,A��&�	ʒd!�k�1A�*ꐼ��d&�$H Q����\@,�RQ
U@���E�'�m8�*��E,n�ZO�g���3���}�ݹ�g;y�ș/!B�/���&���`�
&�ak�EBT��7��
 qwG _-�y

��ǰ^�RCb�0��5���|$11��
-�
-ZC�ʁ�cP�a�\��OP R���&A��@(�a8��������-Q+?@���hS`*mr�-J\�(e��}��������r!��H�
U`r�{�P�U�BI|0u|gN %�Z1�S�rL��er�W&ۅ��(_,
-Ja*q��r
-�!.l��o���8Ї���~��"�U�5J��5�S"�(���d��H��B]惋		�� ��P�D5
z��
b��`���	}��l R�d���P��
-�"詄��}�䐢�:5=���`�����O�ӓ��q�gw7�
��
���oD��$!��/:���c�0
-�MZB<cKxF���|ro}�˨���&���q0�7;p�L��~���*ӈ:��_��g̓�;W�|mRp6)������
-f��T�9)}�[G�v��uK3nm�� [�'�85��l��-y�"��E��x�CP����阁n�S����I�J7fT�?�qw��"S�7ɾN:�8����F��9>�_lxز�L�zt�Ί�Q���[o��,:�<)�2��5�����
ɇ��1*�<��nUm�na���+�Z8���%�E��0}����W�Լ6�����ȶ?
X���~�8X����q�e�^,1M���/�
��+�2֖�GL�44y��
2^�O��g{�K�vu�L۞�^�ޚ���2�<+60���
����O��ּ��>ut��7v}�f��9�'7�5<y�r�.qF)����
y�`M�n�m��_쩦��~�zeRW��޷A���o
��4%�)�՚��k�v.��K�]G�GB޳P/���z�I�
9�~��4j_+�5�y����9ک�F+�g�)N���q_61v8Q��
-��qSS.���r�6+|
���Ng�-+pm���xB<�I�.¥{�܀
:;�yA���e��fy�����x�Y�Y��:�V��(�u�3��������]fW
G�O/u]�	���Q�96$FV`�2,'�ġ�c�:G��9�e��QS
�9y�
1!����fv�K�W�4�����-h�m��Z�Ƒ��>��L�Y���i��e��l2:Or��e2-�w�
l�1���:�J}K�:�
������"Fe͞Mk��
e�8.ܶx��{�ƞ� ��
����sK�\ŸT&��zdu�\c��f��า4!�o�8�{���
NN���6���?��z�m=/��%z?�b�.+ߝ�?�EW׿�p���ݽ��/��=wv����ϯ�^uJ����6�����>���
-���fVa��h��s{���#5]A�s.E&�;*}7�[//�~{U�6�_nfq��={#;��	��s_G��.�u�EO��b_�!�™z��
U�f�^�l 0��6�F�[��)�$�;�(�r(mLw:�>���b9DI�@�ƟZfpendstream
-endobj
-148 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2848 0 R
-/FirstChar 3
-/LastChar 21
-/Widths 2849 0 R
-/BaseFont /ATQEAD+CMSY10
-/FontDescriptor 146 0 R
->> endobj
-146 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /ATQEAD+CMSY10
-/ItalicAngle -14.035
-/StemV 85
-/XHeight 431
-/FontBBox [-29 -960 1116 775]
-/Flags 4
-/CharSet (/asteriskmath/lessequal/greaterequal)
-/FontFile 147 0 R
->> endobj
-2849 0 obj
-[500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 778 778 ]
-endobj
-2848 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 3/asteriskmath 4/.notdef 20/lessequal/greaterequal 22/.notdef]
->> endobj
-144 0 obj <<
-/Length1 1630
-/Length2 19973
-/Length3 532
-/Length 20894     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct�]�%
;�$�m۶�ܱ͊m�b;�b۶*����}��8_�������
sa���&#RT�2�7��۹�1�3r�-m�]���m��d锁殀�r6822'��������
��4�M �� &...82���������
�RMY�����?%�� �=�C������@���
hc�`
�s�
��\,� 3K @DAQKJ^@)!�� ���l ���6�& YK��3�
-`f����`bogj�Oi�����F g���_7��	��-��dk����`�
0w2�s��{�������?	�����+!'���u��]�M�,
\ �*���;O
#�b;[�U���Z�ڛ��Sҿta�j]�,�.@�b���6F�c�sp��W�Ζv���-�	hn�djtv�
�����g����z#�y�����`��
�1��cb����olsK;8�fE���
���o�����܀N�j�?3C�7	#S{;O�)�
�A���oH ��
���}$�7P��B�
��o��W���K��z��+�������������]2Fv��{ 
�g��9��|�l-m<�O^��Z��t�`R.F�"dg��Fz�
-��-=����.& 3#��=��\���dci����
-�cbd�/:U
Kk�H`��
-hg�_+�K׿�gPV�V���,�*�
UO�����j��M���aa{�7
;'���������3���&俀���,g��d���[7#ӿ������
������?���bdg�w���������_��� �V���=�4�[]�7�	�J���R��;4!����>�PڠZT��˾�/=|����&��q����s����@��p�Æ�;x���KB�[��I��AsȠ_���L#��jAvB��Q�pwBIY��

-���	��ʟĭ�����IZ}
�o�F����3��G��������\��8X2
7D�(�
\m�J�Xtj��x�D�ۃ~#��CR�}K`a��Nm�c���XQ�v�8�ܹ��
�2��#Z�d�Qu
=��s��8�8��N�MxDO�J�r\�Xʆ�a� �+m�!��\�m3(�k�n
��[��Nr`�7���̉���}��KY��,(�Α(.^{&Ȗ+'d�:2C5�<��mzkJQBEɚ(��h,="�?^��>��
lˢ�~�4��F���V	 ��󓑆�8���x&q����l\꺔{Q�@h�
�G�&�s
开�Ą�欯��z�Yd
n��c�$�+Xd�
��]X�iq�qE�#��%��b���ʶ
7�(����"�a#c�g�X�Bn�܃�@�������H��
-�2�Ih����Fn��9�����i��Z���=5��Q[��ђ}�{�����/�l��*.s��L�h�>�f��Z&�:aXs
��"FZ�cD笞d�n—
�z���>C�֝湬��a�ď�ŕؗ���T�TY�,�P���o;K�2j�U�.���.r�_o�D�����
�9k�;g�̀u!�����_A���"fGr��\�bA"
�ڮ��\����V܂�Ƌ��ٔ��]�4�E��P7Fۅ�;�i�~�8�>hl�8��p���VHC"�Su~uǣ��+�z����X�^-���Y�d�ȧ
�d�
FtVA�O?a�*�D�����K����zI.U�'��g!D`/s�A�O�9�#�Y��Â��$�wZ�؅�|S��C��<��m��'�8�-
->�L��K�2����/�c�2d�f.���n��8�:���Ǧ)�3dЎV=���l=Un�����Zv q��'A��
u�%Rp&+���!���5�u�����^q��M�-M�s���laW(�4��M���Qf�x���<��w�6)X�#����B�
'i�� ���P��\��W]
 ��L\X�WA����(؎��s@�g�
-�ހ\Y�WG�|�u��;���Qmo�_P��+�_��mX�;����
��;�2�(Y/<>��یp�v?G:۳_:Ջ�z"I
hX�L'�:a�K���
n
�	`��ll�5�t[B�Ǘe��Ѩ �>hֳ��(�spV�Mk���
�7-;/Y�$�����Ќ�4�X��5�XvK{C{
MXis���
�
�.!@:(u;|#A�;�#�4�
l֤g-lr���#�m�.;<����H�
���v>f	(�eL��Z2��J#$g�:��~���
��I���u�8I<m���Y3�q�:Ɣm#r'�1�
u�̣����n�k
+!�ʾSHWEF
N����6kh@���՘�(����k�<
�c����k�3���K��r]
����ԥ^X����G6�U��k�'nE�M��;�<r�MD}�>�6]s2�˞8>�/`
3
HRA�TjO�#�"Ά1�
����`狥&
1�����aj�=�8�����t
�,���>�wV=��
�m)��4�do	�,n�����[	�#V��5��u΃�E�Gވ�n�6[9����8^F�f�J@C�������5
-�FV'bI�:?����m�`�Q���#��Aa|3��I�
-���b���:��Rb�;��5O^�v���=el�'�Q��V�i�^<l|��f,V �8HF�����:�m�Ig�j?
�̺n��œ�C��/��U҃X��Z��

���n�!
x��<(ajƄI�#�S| �����8�D�E!*V��
^S��
�1�
.�~Wڭ5�&f�
���9w���R�
��R��`���pBB��7u�Q���_���`Sl���������~�JLZ��/,zs1!��7jn��
����Y��eV>��2�T��w�zgL�@-�������Ϣ~�]M W��s&NԄo��f��X۴������
�pv�~S�L%�*�(+������x&%��2�;��={����#��ZA|�7"�>z2\��^ϟQ��� +�k"�u���0s=gt��!���Sc�ah� �
T����Y[Ǽb[�?U'+p_�֐+T�1S
8��A��G}�cg��e`,�+1�g�qM
��5#��y�-�T�=�zf�r���ˑ��RtC7��Z��;1��N5j�뜐���T
\z
P�e��.Af�ɜ;EL#q�Գ
�be���Y�V�
-A �	1=0X�]j�~2u��FP��!�$J q/�t���|/��Pږ��Mj��]ˈP[��.u�1�K�"_ݖ�T�<�pR���k�D�Dn���l�$���`�T��+����q7�rG���7<d�Ӧ(	���,-��u�m5�
�Փ���0�ﮘ�R]
�	;�jz���:��#8(�&]�VX�}�0�b+�����5e�fϡ���0�,�tb
�P%�����_z����˵p 1WZ�"F��߸R�V����[nq�
2h�B�A��`5�r�9����?7�
-J/
��"_�qj�k��y��S�;f��Qjn4^��5U�����[��e�
-{l�14"�^�����Ԑ3�)���/�	L
�9�s_uO@�P� Q��^0�u�@��Sk��v��Jt�->�� ������ ���z
�	O�Y��)�y��|�s�)٩���q�����R��j�H7
�=����g�_��
Ͱ'ك�K˗,����7=X>�"�n�!
b�L%���p�e]�0��)'�Ւ
�4�2��Sw e��􊜢��# ���������ݻ<�"S�iفd
Bn���F�g�L�x4B씁 ��A*���*���weZ�ܪ}T(��dŁ5�[x?�r�E�21c7�o���*l� ʿ�
�HVĠX�?��/���Or��\H�����z�xc�i��
�eŞ�k?+2�؈�š���d�<��x�fZ���%��ב�-���2���
5��
�,4ўp*`Zs�m\,~��F����W	mB
v��{��>yZ�E���u�j���j|�
Hs�E�n�z�m&��Y�ܗ1Bt�)�ڴYSސ_��8��{����32�S�����
�jS4
LJ j�"H&����=j �
��#�灄R�h.�8�^��Wm�(L�@/�VRUۧP�v%�p�N�-�~�,b�� �
�h�E艿��ް���^���<�Bp(�u 5r��i�������V֟����Zaf��	�@H4��g:%�O&X�<N�͂Rȋ=�`���Җy��+��]y>o��mu�L* ���M���-�3�( su�<RqqR�F=��tRK���n�y��WK�Zy5h����~1͒�ac٣]��


�}�)ர��-�w��'�aa�$Ҍ]^r��ದ��V����^����,��
�e�h��n�K�?�dƱ�QT��Iq2e��~����y&��Ԓc��K��{o�ֿ��0�����*�,7�㘁<����M�-
fC�p�CRS
-���yG�
��P�>ؿ�{�K'��;f4lkk�6����r
-O���Q�b��Q7�aR%<ϟ��&����N
��k[ђ
-�e�ǣ�D��63����a����e$s�
�2����
��6BA�Lђ���SU�/iV�����qV8�w���:�]l������
��f�+����%<;�_�'�Ӄ#s��V���'o�r<�ۓ�M��

/�1���x7�9�8��m#Z�+-�^�ݥƟ��f
�6	���ud�~�2�/�]S����i���d at 1��
�j��̓�������0������!���oc��v��On��"^�O<i���
��tr���7�D�]
��J��)�e�$�%j���5���٩m:��P��|��"�J�^��xHjū`%���z��5M��[ ^��/�+v5t��)������$!��Kb
P�{?���]N�ÿ=�?C��j��� 5��.0^g�y�F�y�=gh�:e�
v
��cV��S�u�.���� �
r�
�~�
�$
��H��6z�|֊k
-t�tG����9B�zu��_)���Qi��2�U��4�]���m��f�KO�}
�#V<h�@<ie�is}V�C
���F�ek�&˱��z�P�� ۳Y�[�qڐоQ]-��2��m׊$)��P]E�Kz.ԣIގ���
�����G@�����ˀ@�' &v��bI���D�*�R[�H�bh�]g�Ȃ=#Qg��=�.�������:)�q~Kzw1.T�Ex�-1K������8��t��p���Y
�Έ�
�����"�o�1p�%.{͢c=�����-d+�|��a�*P
,�ô8]�6<��#�#���P�ܕN����LojU�/X):|�!D�o�Ͼ������`�:ڟ���BH^��!����	g4�5�"R�S�;ȇ�4�]{��ci�d
9���dh����ncr�^�M��
�&�]��%N�0��
�<����4��Y���i�bb^�^��
���v��E��S'�ՙ
"Hϰ�p|�O�����j'F��0��2���A$^[�����sqg
������-ݾ�����-
�k3e�=��_�!�8
�0��� b��XGȐD��H��0���S��D?}������c�dm
-ZWN��c
�
-X	Gl�-���=
��Dh���ev����Y��%2t�3K��x�F��wv�W0o�[�Ԍ���ܮ�=��¤
zյCԥ�Ir
���K�D ��2�[�ݾk����iqrCx���C#�֔����Y�`��@�ڥ�_�,Gs!^+�@{�&D])��9�p�wIrs ����-5��$v��9�]J���v�g҅�VkeN�N��rN���<�_'ߵ[�mpV8�,K�\�+*�06�v�UF��S��c(���Nx}���O���Dh��'��=
�?�k��N�.5Gv1�
-���t�ϙ�tR'g;i���FW䭐��݋7����+���n���;
-��-L�H3%�B���5�2��^�t�4]
`����@��!i��g��5�x<+��̳8��^v¤�qV��`*���鰿P����\ �T?�cw
���N���^ְ@�P�	�S�xD3���3������[ 
�t����AޑȲ0�'��
���פsV��
�bcc%�N�V����
x�=
�N|Y'����9[E2������of�;f���4��ֹժ�6^
]v����@t&4�`�c,/�����pYu�]�/t�䧿9F�(��d��s W�
�|��O�|`�"���ͱ)�Ab� ��S�T��0��IhU�dJ���{��#��`6
uQ{�0�m�����IT�94�K=�A:���X���ݫ��f�`~���
�>�"�x���Fn�,�4>F�n#����w�O"Q
�%H�aߔr��
�//n���%81��.�^U�MHj���G��v�d
��foa�����{G2y����H�>_5�΂��ݫ
1�_��o�h�J/n�8N!��F�N��F}Sq^���C��=���n
�@E,�n)��#t��x[�㙄���
]Ro�җ|�1I!;e�
-�8pO��{���8d	��
�=eA��*�
a1��k�P��Z���	�^�
i�!�NJGT
����?��t:��PO̓�;�<ѕE�B��O/��E|�N8�/t���7�A�kq�n[�=�w�X5\\4Ě�9�pM�ǡ�{!��!���Z�����D����*]������
,�!�pn��
��/o�՛�ƶ�S��6
E"�0�s�Ȼ���;�):	Րn�-��N��읙F2��B�g�	D���d�쵻��^�Y��;���7��D�8F�7�0黕,������tI�y$4f�Y�PP�'F
��i?�Ҽ�	
Q�3&����p`yxk�`��q�����׀�Nc���&�=�
-}�"�����,#�җW�����Ƒv�ݭ
3aL��z��ݮ:u������O��e
-B�M��+����9>=-�E�XJ�GQwc?
��`�5�o;�y�1'�����e��������q�t�2W��z�����m��k8����}
�X_�-����U�M
^i�{9!g��{^<����������������IfO.ʵf������$
-,��P�^�V�Q^���p�2��-7���W�Fތ2Jƕ�6HAx����;3���~
-�z��e�C��|�8}�$�-�ܕڕA��c'fx�LR?ay�!N�
G�L���sj��c�f�������޻k�z����E7���Bb�,#]��ME�l��Ƕ�H��%�
���������B�`BU�KILᨦ k�*�D��������;��h�+�~�$�{@�n1��R/��b�0��
k�
��}&�g�����\
����%;t���ف
�pe��Iv�u���Xe��cS%"�ZqEOs���,
,9^��_�:/�$�.�N�2
�S[�p��K�k?��}7 ��W4�b��ҕfgA�[Ps�)��t1�
ɯW�u�K��v׶2[�����)��
�q���V�(IAF�GF���ʹ	p��gcG۹�rc��٦�
tE�$p�L�?\R��Go�&����V�vc��?U.F~H<�Hw�
-�5ˆr��7�?c�7�oV��i{�� �F�(��M��/���m���p�P#y�牰f1�?>m�����̷��䧲��^�x�t6^�<��M[�L�ܼ��M����iɨȡp+� �]&����J~��-.dd�O
-�����ͭ0dj��,b���Ӱ'*�
��*�)�$�昫�e
�k+pl�5��;�ڑM��8������S��I���B��@?�U2F
Ls
-���<% ��>e�Qp<��f�cZ|��rm��p ��	�D�-�x[��	�������nv/�!O��9W�59�,��+2�
LF
�Ϻ�^+�n�n>����bB*)�- �p`��1D�ɑv�2{�p��-�`�F�緕��y*Ș�2�/^%�w�S:-�����u
-�n782:��}֯�!��h�o�:��.��
-�k�q�
�2�����:<
|Kv��!C�&�zT�~��L��-���R�$�*Wi�&�v��,�^H+1��Di�80�puz�E&e#2��\v@���vT�&3�rɲ�A��
S�P(��
-'X�5H�?�
��Ѷr�\�H�	��n�z��w��!�����wd9̴����&ȧ��VKиD���69%GL��8�mH�+-�(&�.�q�[`����eaUo����n���#��9��� j��c�[�ë�[��QQ���KOw�
T�W��v����"G�WIc��;E��>�����E��"ک9.\�XxN2��l
�-|3��N���D��rz訾^M��60�`�
Z�oq�
�+�i:�%�f�sU���5�a�������}`�R4F8�T���<��;b�z������Ѣ�V�=}I%99f�݅0L��x
6��<C<L^45�1M�Uw��n8��D�^Ʃ`%���A4!��g4���';O�(^(���팋,����o���+G��w���=�5�Va�]6��=
��Q���f����
ϧʦ
y>9W�(�m�%�fYT�������?'ٖg��
t��Sy1
A�e
 ��Ј$���}?�;�.�
L26I��Ne�Q�����蕍�R�N
�;��q�+�? [...]
-�
u٧.h��Xb!8X��Nad4
�g,�*כ {BM����̃��b��
�\�Bѱ��`�<�K��S?��DV�H
���
�V�
�D�߲��̽@�i�-�/I�y�B�M��S~��.��2q~
"+�T�������:iQ�猏��DǼ
N�k_'�B��\�-����>���y��#*���͢���ұR[�9m\D9
&�I
_�dz -�<�@_�dC�j�n�'Vg�\�gj%�te9-�خ�� ��'MD�~��	L�
�>m��?�:Ig�3�p�":��N��{�*E?9������RM�~��
m·�,yon��mit��C��=	�.E��p�KI��~�i+NÙm+,P
.�}
���ə
-Hє4̍@E���bk�������w�
�
�p#��c[݇Ţ��
gT�ÛE6
s2MN������
� G���J3Dϵ&��o��
-v�+��A)9���j��}@G.;y,�(`{돏
)��
0���6�@o~�R�O�&
��3������S��0x1
G������z��H|��;"�ʹ�G�w���ʜ�=��|�0��^�>d(S³�v�(�\I���OT�ֲ?�C'6eY1�o�k�s9�Q��<
0j)��o��C52��v�eDx�n��f�4�{e�]���kP ���1
��Pﯡ���
-��VNc�z�F4]���#�����:搷�y�x��	�
�m����c�&�$:Sp��&P
�"���*
�p-]�?�UfB�T��[��Z�����;��V]f��4�u�8�p����]��hq�p��^�M׾������m�Ud0�<c6�+hz
GP�3��s�h�C�v�%�Jҫ�T�����g���$���m�뽚q���|��$���=�y��R�N)Wآ��v
-�ݨO�[��Tk��]-y�G�8��4▓or�3�m'w�
-�o%%j���ܩ�L��� ��k
|�l�=-�C�����jGh$�r6%� eR�b�%���>��ӊ��E�s����P[~
ͳ�`$(Z�+:���T��D�f;=����ϛa�$ �\8X9(�C*
ca�!
Eo/�sFE��{��mvk�k7���.�ezYޤX��;�
^����)醞������U��
V�u3Z�?X_�
l�:[%��&��o�

-
-����]=j���i�\��)(�s�4O?5���5ݴ~���y�0�G��^srm<v�	:�,�\�d��
(��ы�8�Rims/1���m͝�|��S�n�K������7����o��/ԕ;��Չ�Νv���С�����
�Z��$����hX_�Ǎ6��hb�~�
 �a�����C�D���nr��#�wf��w)�ki�X�u$t��=����g[=������–n�� _�-ģ�S�����L��P+�l��2G"���'�y�7
n�7�9�7
|k����?�s�8X�C0r���}K�����:Bi�\�ݗ�eƙ�uí@�1n��e
B�0z��_��rjD�
u���V�XiI��r���$��Ut�
oN�ݫ��(7�}�'@�A���Rw�#3�Sٸn�����A9��Ġ�t+S,QtE�D����M�_�]0Ļ
�������mp��uf��)}d�c����a�����
1w��c�)�S�f�RZN�v
?7*��`ME�x2��4/�{�敹��S�38�E��oI��̦	O�v�o\7 �#�8~k���:
u��v#ffi��˦
+5�[j�,����J�x(}�Q
?@6A��@���1�>9�HU
)�\B����5��xz�Q8b?�s��m�\�ə�s��l����.D�sp�&[>�
��8�`}���0"l��G+�S�'��;��馧�A�n\&�ABչ��9����������T��<�"]�l��*�zBֱ�y���г����uG�z��tLaVx�1Ff��LL�Ş�O����
����|>�0b�W{�
^�{�ޏq�Iՠ"������/a&�=� L+��,N����>Cv�;:\�!b�w7�'���I�aA��斍��
��_�H�/Y�x�6#�$s�����d���bO��[�������r�%$C���L���$:3�K�܊�hZ�ė_USVOiOD�X��l�
S�����8�d��a�?&�����#
GP�ՌX�����$#
�p'
A���'���	aT��j>_#K
rQ�����Ua$x�7؛o���Qd܄y��a�T��L�n��u���h~E�g��� ;('��P�;��<G�ċ��t�+�*�F�"a/�Ч��;�f�Fޢ�ܡ��'���7a?g�S��:��
]n�H��9��Y)���ʅ���w����c9^ؕ�P6f�͂|�L
6Y
��D�Gb�OU��� ��Ar���\��
#(��/�f=���ζ��;�2���|������;ݪ�zP(�I���sB�K
�Pe	Xn��?�
3T��[!!�4�g҉�X���#>�l!+AF�ȕ8H�l 9��g_:_���H�n���\A�'���GK���n�(	���#�xcf�{@���g�#w��ހ�����g[�$n�z]��!!k��/[ڊbZ���G�4핛��
*J�y
��f��`5� �x�p:��<���->\ip���Ey_U���{c--�x߄K��$43����2�J�%N��ȹ��
X
-��?e!�T�C�[��GV�϶�Z�ӓ����,s�,�9C4q0G|
9��$���PS1���:�eI��'�-����@"��26b���谙�b�9q̼8�vZ�{��J�筄����'=���x�>Su���D�>8�|p��̝,���X6����ʺ��6�B�Z�S���
Dt�
sUW�ttʰk�
c��,.��E�rWx��}���"\����
-:�GP�V4�c���";
��}�
_2�'��7 k8�I���Л$��[�{X�xh��T�|B�`��/���piЎ�X,L��I8&	SS�p;�)pU��\5�mu���%�CE��ʢ���ڳ_��op��xZW]�kf�j��ɛE��E��P��!$a
oPt�u�
�� g�A&u����ZA����e3B�
����:��%�
f��+�W����.���G���s��
Xxh���)�!�pN!�{#놬]�9��n�+�Ϟ�m	Uf����� �a���h��V��.Y��n�'~q�o���u��+p���h��
�<�QXX�s���ܫh��`��"8ގulv�5�Z�+�Q��J�u�����������T�@)��!@�)��naD�q�|�
ؐ �>>��/T_�É4��.���_��s�V����.
0Pדmk�Ra��r�4/A.��Lu��q�QDً�nJBVAc�9m�O���Uc���#U,�m6���e����'�
:���CLt.�Iw�a'� ��{)�aM����A5O���XO���;S�-��6՗�0��%�1؍��4>+�r�?=�o�
VPj8�����$�E$�F��֐�Z�l���>��͟��'�#�w2�dzE��Q�&	2��� ӳ�D��{
;�$���T���9$�>|�
�Iᯙ�4S�z�*��kZ�՝��m�.��RX���8;A��)���6��<�&H����
��
�>����?~ٴP����y��?���'�k�>���6����I) ��O�s�:�CZzT��F`&ט�o����Q�:��7t��B�:�@R�Y0\%�H�.��6Yjs�Yd��r�(tB�^�n
l�j�)�_��:�R�ٱq1
�!�^�] �V��7
-���R��u�����eT�ߛ4��伔��:P��VA2��P[���M]����[��b�ʍ��,���8R�BO�Q��tā�}�͊?j36L^��P귟/V�(
A 8�ޜ5x�xඳ	��C�
���4��W_0N�O=��������?T/�����Z��
��_���Us�?%�~V��S^�����

*�m2|��a��p�EIG�,��l���G#�R
(�`#_�
|��.�k")�А����+
�0YM�3��f�h�h<�dW��>���N��}Ӑ/V����I?4
*h��7
�S1w�f
��z�t�
f-��D[`�R��[ jCܫX��}

-K��׏˦T��c
-_p�)%�� �X\~�P����ߣ�
*8��B{�
���
%��"s at qžJm��~��q���T����J50p0l��L
��1@ֱ�0:pD�6p�A�pW,NO�d��l�&t
HoL���嫲 �6x1i��t^m�$�{��y0�T`G�s����O�$j�m�sD�"s�mc�/�D9Y5��������m�_<Z��|��Rel��l��
�,nƎ�����@�O�
��p>�by��rĝ6U1�35�c��I��h�sB{�÷d�B�j਱�
��\������o�+��`����1�.��?\�􌜽�g�Jv��*<�ݢ�1�(>��3�8J�G"{�w@��ɭ��WK-�]%?�̏Cŀ����F�S?������z�!Y �؊(BX�K�-��:��'G6�qy���<)�$|��B�w���-���]D�
�^]�������&�,�erR�`xKk��n7k�a�a=�v�����E��i'�uV��,�i
�tWh_ъ�>̵y1�,z=�P [...]
���f!�

��);K�����j��_�
��-z�~I��ٴ��LK޺N2J��f��C2��=S�C�*B�s=�%�W�"�ƂZ�?k��Z=�2II�_
-��C&P�����v��ʄ�,5kJ�6���)o�i���4^�Y
�G֥�}���q��$-be��%̝I�� �
�HiW at m�1��-d
d�0]�P��K;
H�':9Nh�L��<JH0(a�z+
�q	�n�J�+§��~�M~2�ń�O'#I�3����p2�}e>Z�?4�H���@��WT� ���.��Χy���HU��p���r���]�C{�K
B�<Nv�xq
1^�j����Ntԣ�E��J�� !��
�L�{�`}��.[@��
�dKe�f��
#��T#^��!N����G̾��d�(�ڣ룎�\�<�}y��Q�s�X5��8�`��4�һ�&�
��C�/�!'�z���A]�r��e���
`�Q�o�F���b�N���9��.-d�T")��C;�-Þa2�ne�T�H
������
-�y��T_�
-�}��������>��xxϒJ��\�oj*���%c
�Ү%A�Z��i�̴� ��	
ǃ�
��Bll�ע�k
�0�○��^�!������i�9LFhUlw��<���;���2���;����b
獬�N���?
�'�-:|+9��Zsˡ���9�ٌh�@-j��:i	�^G�g�
a�
�����O���O���g����}u
" xӥ�N��fnq���
�Uxp��
-�� ����J�������;�gBR`�E*v��3�
�z�df����"���̣ �t�<�̵���
�G
-g@�ט���#�&
8��Sx��9N:g��s'�v���H��+�3��C�*���O��
-p���oc'�T��?){kX�"�Cr��-��P��wU���V�W#<ы� [
�NB�'�R�ǂ�f5�5�a���O�h8B��~���r
����a��C�����պ���jYׅ��@�R0����Ӄ�4���޾��Y�h<���9�j(b7�æ?�
&��H����"
�.v��i�O�c�8��y��q��3�
M���s8�gA�T|���� ��:0	�#c1��C�l�ܼ$)�n�{�D6N��?ؗ�s�XK<s�S��<��
��@�Y���hl��4�cН�J�>t�ą4 F�W�=�SC�ک:9��]f^7�
����T�*�ޱ;�hD��
����%pr�erߎU��ޤz�Y�	*�?/ܡ��
mt��ϖU�&��w)��˩b���
-S8��
T<A���f��X�3p8�W�ILۍحN�+�� ��z�\���`���݂��	]�+/d�E��كE��6*t�k�?�
k)n�}�v{L�+	5Ţ
zZ��Gl�
-�s�1{��PN���㘵%�vF�>\�����pT�.��K��x
Kt(�������N,��y��}
pQY�H��_[�&z�	a��EǛ;�fC�X"􅉅T��$�F�­������V��;�>��
����	��e��;�����X�5�?�?��
lA��㾦z�iUjc?�6��g�J�/s��C���H���,��(2 ��^S�����uJGO�P� �O�U�z��
?ْyH,���@K����8��8���Te�d
��
-���
�������m�~\c�]�d9��S�W������U��Fα
)X
�Y��j��o f�c%vͯ�O킳%̷�
����-L��RV���I�y=y��BZ
�~2���T!^X2�c�T|Z��S5E`z�f�E3G}��z ��tº��t��iItA5���߷O�f-�r�X
V;QY�)��k9�_�фQ�
��ez3����1F��1o�,��/Ua5T�� n[k�i���"
�Nj(9%�tRͰ��o�Du��L$�}H�1g,��y�g�%��n1@��!��{UV��
��9���?0,L��E����~�B�čHZ�vzD���R5NE

-c/Ɍ=S����!
�ᩭ�]����k�.$�]�d,7�$����=ü8�$o�c='˵+BׅA��[ �9r����֛_ �o���j�'ġ���ϫܽt=G*�e�
>��Ǭas�u ���u6�`�cU�>����	^�di��-�7�9�v���b�ʯ�� 
���]Ժ~��Dɪ^5������L'K�ɵ�)�V�m�0��S���j�oh�vݔ��'Ʊ�B�{I�Ъ�泫zp�v�Q��baY}b����%����u<c���A�@�n0��Qg��)?��c��{6�^|[W;fZ:B�X;�ӄ2˓��(U��h�bK�}9ln�^I+
}I0
-��G
�c
z��k�
&U�2�\&x�xzE~H���[K1���"g2�����w�y�R-���`;��E���#�g�Yz7?�/0�qpa�����|+ZPUB*�n9�^�/�h�MJ���P�g�Y��{�W�r>���QFI��=S��.v�yW"��2��7{���
wx� �B4���<�4^��:
�.�;��\���*�`�6��hB�,p)��4���}�{�h�#r�J�
�w�2��
>z����Kd��B��Yr�$��xˀC�
�wK�O�d��]�@��V/�@"���IH��y�i�E����������F8����� ��z6w�� �
���qN��h�w2R k4
��G�I�ȇl�mX�}�H_@��=W�%����k��P�
>���ߌ1U٣��
�;���o��,̹ꄞ}�� tqF�r at S�{�#�b�����h+����dz�U���-��x7X�#���x�
-���
��4�n%��{�ܾ\��o��p�[�Bn	�]�#�B�������
O
��gqkB
C��OH�W
�RQ�I��7F�
�zE
����2
}�z\�E`x����[3���}6�/J�
����m�
:C
�*©������-=).
���E7�����r
-��^���,�1
�O��4�
'�m��k��n$�
w�s�"ɛ�q7i̮��YW~�'��󏂳
���5�����ܺ���m<?7oၵ�jڹŎ�%�x�����u�������2Цh�Ȅ
��o;eQ�=�V�^���Іo��c�r2@��#~��
"���ʨ�%�D��K��Pљ*B�S����nB��9��e��sT�;�o���s��x��_;u�ׄ(l�
 �
PJ:F�������(��t)�n��4c�Ȥ�AB����y����������G%],�������t��>qD��Y$�*�s���-Gd>Ď��c��x�
��˼
��λl��z�Yt��7w�ku�݊n'���
�E^شLA\�d�O����n���Q�|��L
o��+jĖ��C�Bo�6A�+ ���p�3�@Af��3�Ÿ��y�YAiX>�b�竁��qjt�:u���o���%@H��e��/�/�������J�6%�|S�
2�c����[I5+
�MǷ����[cn����
(
-�J�N6{���t�&�
�ۗߏ�b�S�1�����&�Fd�o5_�.}���R�b�=K4�bBÅ��8����e����O��v�M�DK�^nݘ�)�3����=��ʆ��<�M�G��[i���+�t�c��O���f����gF]��5k7�Xk���U��Ʒv�������H��e�Ŗ�/�$��p�vW��b���{����Y��
5�3Lg$\��(�Y��/�FXw�2�6�<�`��S$R�_Rc�, ���f���
I��=�e���
���CA��r���"�� |9�k��H�2�ېl���5�
 �R��

�د
����7?��K�p��Xy��:���(�ct�|d�]a�W���=�4�\֨�b��b
ø�=ݜ�#7?�[��/^dz�Ô^^ J�ģ�?�08^���
-��s��u�	D
/ȯD�z���L2��E6cQJw=P`
s|ijl��R�ϗ�I�KO����i�Y��o��by �v�OapZ���b
�i�&7�LɌ�����*n��fOFH�c�\z	��\J�{��;�� r��H�����]D����7����M}�]َ��f�,�5^�6��3��9�g��+a��D�#�Zt��#�f�єه�L�����::�毭�\o;Pe
�q���}���
-�*(�Ͱ��>c
-�)�����/�/�W�\K���.��e����٨S����c�J�޶�	�Ƶ����3�I�k[�Ef�����͗�����oʼ�c�v�M��-N�H 0�P�G�/�F�?+;Z9�7#t���]ƺ�߽L�7E����?e�jG9S{�|'#��.}�g�d��.}l�w�ܬ"9�SU�ݐx����0]o0�/޿
��w�	5��r�XX��8��X�ND
��\
z,i�+�w�;Y ��yɈ>�;�:��>���x��;9Y
�N �T�!*|0�L5����ʈԭ�~�%�H�=��}�}lc�s,�
�^��C8����ǰW���ZQ����y��!>��N���ҍ=���9ʳR�����2w�}�`jx��3��SF%+Y�R���P�V�.ue«"m��R�g)�v8~F�bfM7O|�
.�d��{1�K��q
n�Y�,�~�
2��S�"]�t�p.5L�G�9f�K�IY��
PT�N��N~�/����|��ǐ'�А%�NGï�[�h;�BЛ��
rqm��khZ�	܀X��v
f����>_=��op^�&������Jl+�)в�xn,�7dW<����w
�!�R��w�P�_��j"eQ�p��D��JJFO���!5Ɯ�
�B�gR�w�r#���"�5��`��)�X�z��6�c_G|����goJ�~�i��^U
-x;�C�}�~��-�'�`��+tΑ �|x��w�}���By G��y�ɺt�۶z�-��6���z���Z
W
�bH�6Dޔ�d�c�FkW�x�dN�MW��3�v��	�'�����z��	��B�Yݢ�?m�e�*�/`�e�A;�SEbu l�Q$�>\�;5�?O>{�G=t8���/8�Rǩh��`����6B�K���M�$��鏒�Ee�Y�8�G�A
-�Qb!�!'�ԁUZ:�
��
��w�RnS����e4��=��N?M��֖R�ȬZ�7��Hz�?� ���6�%���.@����:-G�wC�̃�|I�j�BwJ�P�����b�٧��
-Ӝ	;*��(��
��Ouz]��"��&�f��ZG���F���C/� �Fx�~Je��@�ʰ���	���{&�q>��c��,8��2�&`M}� ��V �}��
���N���G�r�dgs�G@
-�N�"c�x�D�a�i.paD����p@�<6�?�m%���}�Iby��W����'�]�7�
ģB݈
�8��>����_��IgS�����C��s$�
-�u���	
V
�VZk$��L4�P���YdT�
-��ر��.~
�kg at jF���
�\�
-e���md��'5s��<���fi<�Z�´zsW�"����?֕
pt͆��������<i˷P��
��o�M��S2㘻VH$KFϏ�%]��d
�
���g�S��J���2� ��lo�͚��L���2%A���F��P�'��
Z~��F3�3�񡙞 N�~�d]YN�e��z
}�~��ώB���ف���F� ��~j�p�:�J-����Zm��V��~����B9��/v�
s�1��[b��]���qjP1�~P�Y�_|���щ��8�2�H���cv����~}������pl�RX֬cV�PE�F�O�*,e�ح:.�X�$
?�`��/qsY=7F[��o�?%L1��e����bm��Hk���6�.���KWM�c�%юԡ �=�s<vuޒ_
$m�lU�8�X�5s$7��.��(�hq��R1R*������
�s�P`��:���r�)
%�k)TB(���PnB��!�A���G&�uBu�>M���Ec����\��V"�rIuA�o0��mڮ���l���c������6� p������d�x{v��F-0a�31H�������ތgvHт�A�67d�l��������T���F���(�}M5ξ�5����
�,�S	v{4����z�]�m�T���k�]�c�"�7��Z��Lq
����G��hc �<bY"�Fj�
��
ݥ��ߩi_�#<������vʛh�i�>~�\ˮ߰�5h�
��g"K"�(׭Y���d�� [...]
#�B�d]Ɩ��
�?-���KT=��=�f�ՐEe�D҉%P��~w/�J˛H߃1�f�D/H�9�c
��ss�XN�)�&WS]_�������

d%(kF3��k�����ZN��h��ʍS1 at c*��'F}��И������Z��
�dhc��xd�en�>�KK�C��둼�k������g!�g���̹���_TJD��<xw�U3���yb܍)6E�Tp�yiX������i���
�W�ހ
-�6���\�G^��X&0���ԭ��*oU<ms�-
xu��?��v��>���ˆ��Lr]>b�y:�?
8S\�H,cZRcB�e[��R�:�3ҐhT��ވM�
��
�	�[5�p�e1~ݞ)@��֨�Iܣ+w@�" w�*NL��LsC��`��b�4Q
ڎ�H�G�̣VNX�~͞wP��
�{ӡ9��{<���G������	�/2Ѣ\B�y�a�ېү5�B�nW�~�Af����
*�G�+�
b&.ɎW�)4V�߆-<���D�_�/���d&���S�Go��&���v�Y�٭]d���Z�����K玾����W�d�¯��Q�)��@�;�MK�k�a�0�q�D�7�Ex[�/�z?�?u&���$�� ŵ�e�9=����mҵ	^�*��c"F�v�����@�8'?H�pߨ�4,eR
��-`�d�glX{��R?
1��@�a\�[f�Z�$�L�tPD�Chv��w
e>��'ݷ{ߵ���]�w;�
�ܶ��G ���Κ���Q���<�>�9���V�EL����7-@�B ଼
��n2�����㭿݄�sd��Iy�
��$
�)��3�P�v݄|�Z7�#V
5�&V�v[�O*��^g����1�,N�ֺ�Di��5ymGX�a��u�.r�cV!E��ʅCV΄ߠ��]~�}�}"����gG
-
q�Y�����F�k�dE)q���6#�b��L䳮���D�n��Jȯ�Z�
ڼC;�r
5�i��57�[��
}('ZBʒlI�]s<��n�>�jR�;�9�[�
- u/�J
Mug~�9u�ϼ�&��<�4g�M/�C򥄳P�fW��<a?��O<���
ƅĿ\��"�����p�9;����tx�A�?Zi7,endstream
-endobj
-145 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2836 0 R
-/FirstChar 2
-/LastChar 169
-/Widths 2850 0 R
-/BaseFont /RSYBTB+NimbusRomNo9L-Regu
-/FontDescriptor 143 0 R
->> endobj
-143 0 obj <<
-/Ascent 678
-/CapHeight 651
-/Descent -216
-/FontName /RSYBTB+NimbusRomNo9L-Regu
-/ItalicAngle 0
-/StemV 85
-/XHeight 450
-/FontBBox [-168 -281 1000 924]
-/Flags 4
-/CharSet (/fi/fl/quotedbl/numbersign/percent/quoteright/parenleft/parenright/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/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/bracketright/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/braceright/quotedblleft/quotedblright/bullet/endash/copyright)
-/FontFile 144 0 R
->> endobj
-2850 0 obj
-[556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 408 500 0 833 0 333 333 333 0 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 0 0 0 0 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 0 333 0 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 0 480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 444 444 350 500 0 0 0 0 0 0 0 0 0 [...]
-endobj
-155 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2851 0 R
-/Kids [138 0 R 157 0 R 194 0 R 217 0 R 228 0 R 235 0 R]
->> endobj
-249 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2851 0 R
-/Kids [242 0 R 251 0 R 257 0 R 263 0 R 271 0 R 278 0 R]
->> endobj
-298 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2851 0 R
-/Kids [287 0 R 300 0 R 307 0 R 312 0 R 317 0 R 322 0 R]
->> endobj
-352 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2851 0 R
-/Kids [329 0 R 361 0 R 415 0 R 436 0 R 468 0 R 502 0 R]
->> endobj
-599 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2851 0 R
-/Kids [543 0 R 601 0 R 652 0 R 717 0 R 743 0 R 761 0 R]
->> endobj
-831 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2851 0 R
-/Kids [795 0 R 833 0 R 879 0 R 909 0 R 970 0 R 1005 0 R]
->> endobj
-1093 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2852 0 R
-/Kids [1042 0 R 1095 0 R 1132 0 R 1167 0 R 1201 0 R 1256 0 R]
->> endobj
-1342 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2852 0 R
-/Kids [1298 0 R 1344 0 R 1385 0 R 1431 0 R 1457 0 R 1512 0 R]
->> endobj
-1604 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2852 0 R
-/Kids [1550 0 R 1606 0 R 1638 0 R 1691 0 R 1747 0 R 1799 0 R]
->> endobj
-1861 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2852 0 R
-/Kids [1810 0 R 1863 0 R 1905 0 R 1928 0 R 1971 0 R 2016 0 R]
->> endobj
-2120 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2852 0 R
-/Kids [2066 0 R 2126 0 R 2194 0 R 2261 0 R 2337 0 R 2401 0 R]
->> endobj
-2516 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2852 0 R
-/Kids [2452 0 R 2519 0 R 2555 0 R 2565 0 R 2575 0 R 2584 0 R]
->> endobj
-2608 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2853 0 R
-/Kids [2594 0 R 2610 0 R 2619 0 R 2629 0 R 2635 0 R 2702 0 R]
->> endobj
-2819 0 obj <<
-/Type /Pages
-/Count 1
-/Parent 2853 0 R
-/Kids [2758 0 R]
->> endobj
-2851 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 2854 0 R
-/Kids [155 0 R 249 0 R 298 0 R 352 0 R 599 0 R 831 0 R]
->> endobj
-2852 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 2854 0 R
-/Kids [1093 0 R 1342 0 R 1604 0 R 1861 0 R 2120 0 R 2516 0 R]
->> endobj
-2853 0 obj <<
-/Type /Pages
-/Count 7
-/Parent 2854 0 R
-/Kids [2608 0 R 2819 0 R]
->> endobj
-2854 0 obj <<
-/Type /Pages
-/Count 79
-/Kids [2851 0 R 2852 0 R 2853 0 R]
->> endobj
-2855 0 obj <<
-/Type /Outlines
-/First 7 0 R
-/Last 59 0 R
-/Count 7
->> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 59 0 R
-/Prev 131 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 2855 0 R
-/Prev 35 0 R
-/First 63 0 R
-/Last 135 0 R
-/Count -19
->> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 35 0 R
-/Prev 51 0 R
->> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 35 0 R
-/Prev 47 0 R
-/Next 55 0 R
->> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 35 0 R
-/Prev 43 0 R
-/Next 51 0 R
->> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 35 0 R
-/Prev 39 0 R
-/Next 47 0 R
->> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 35 0 R
-/Next 43 0 R
->> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 2855 0 R
-/Prev 27 0 R
-/Next 59 0 R
-/First 39 0 R
-/Last 55 0 R
-/Count -5
->> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 27 0 R
->> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 2855 0 R
-/Prev 19 0 R
-/Next 35 0 R
-/First 31 0 R
-/Last 31 0 R
-/Count -1
->> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 19 0 R
->> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 2855 0 R
-/Prev 15 0 R
-/Next 27 0 R
-/First 23 0 R
-/Last 23 0 R
-/Count -1
->> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 2855 0 R
-/Prev 11 0 R
-/Next 19 0 R
->> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 2855 0 R
-/Prev 7 0 R
-/Next 15 0 R
->> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 2855 0 R
-/Next 11 0 R
->> endobj
-2856 0 obj <<
-/Names [(Doc-Start) 142 0 R (GFDL) 304 0 R (GFDL_GFDL) 191 0 R (GPL) 223 0 R (GPL_GPL) 192 0 R (group__Datatypes) 507 0 R (group__Datatypes_g0764a0e607ec4de08a53e6d3b109a714) 687 0 R (group__Datatypes_g0aac22e2dc312e8c41418dd8d59701f8) 728 0 R (group__Datatypes_g12c368fa0bdd20b907d9ab8e92e999d2) 615 0 R (group__Datatypes_g1822baf29ede5879f1c6ed77f0ca5984) 541 0 R (group__Datatypes_g1fd59c6502c8cbb9dbb802e4af34c940) 694 0 R (group__Datatypes_g25f4b655851f0f561cdddf94f667e833) 522 0 R (gro [...]
-/Limits [(Doc-Start) (subsubsection.7.9.1)]
->> endobj
-2857 0 obj <<
-/Kids [2856 0 R]
->> endobj
-2858 0 obj <<
-/Dests 2857 0 R
->> endobj
-2859 0 obj <<
-/Type /Catalog
-/Pages 2854 0 R
-/Outlines 2855 0 R
-/Names 2858 0 R
-/PageMode /UseOutlines 
-/OpenAction 137 0 R
->> endobj
-2860 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords()
-/CreationDate (D:20081104104202+01'00')
-/PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4)
->> endobj
-xref
-0 2861
-0000000001 65535 f 
-0000000002 00000 f 
-0000000003 00000 f 
-0000000004 00000 f 
-0000000000 00000 f 
-0000000009 00000 n 
-0000024458 00000 n 
-0000799765 00000 n 
-0000000054 00000 n 
-0000000128 00000 n 
-0000029383 00000 n 
-0000799678 00000 n 
-0000000173 00000 n 
-0000000339 00000 n 
-0000069185 00000 n 
-0000799589 00000 n 
-0000000385 00000 n 
-0000000571 00000 n 
-0000091922 00000 n 
-0000799463 00000 n 
-0000000617 00000 n 
-0000000707 00000 n 
-0000091979 00000 n 
-0000799402 00000 n 
-0000000758 00000 n 
-0000000820 00000 n 
-0000092036 00000 n 
-0000799276 00000 n 
-0000000866 00000 n 
-0000000951 00000 n 
-0000092093 00000 n 
-0000799215 00000 n 
-0000001002 00000 n 
-0000001082 00000 n 
-0000100777 00000 n 
-0000799089 00000 n 
-0000001128 00000 n 
-0000001258 00000 n 
-0000100892 00000 n 
-0000799015 00000 n 
-0000001309 00000 n 
-0000001442 00000 n 
-0000101007 00000 n 
-0000798928 00000 n 
-0000001493 00000 n 
-0000001724 00000 n 
-0000104888 00000 n 
-0000798841 00000 n 
-0000001775 00000 n 
-0000001885 00000 n 
-0000116700 00000 n 
-0000798754 00000 n 
-0000001936 00000 n 
-0000002036 00000 n 
-0000125165 00000 n 
-0000798680 00000 n 
-0000002087 00000 n 
-0000002202 00000 n 
-0000169130 00000 n 
-0000798565 00000 n 
-0000002248 00000 n 
-0000002373 00000 n 
-0000169245 00000 n 
-0000798491 00000 n 
-0000002424 00000 n 
-0000002658 00000 n 
-0000186179 00000 n 
-0000798404 00000 n 
-0000002709 00000 n 
-0000003057 00000 n 
-0000196893 00000 n 
-0000798317 00000 n 
-0000003108 00000 n 
-0000003375 00000 n 
-0000204766 00000 n 
-0000798230 00000 n 
-0000003426 00000 n 
-0000003655 00000 n 
-0000225798 00000 n 
-0000798143 00000 n 
-0000003706 00000 n 
-0000004054 00000 n 
-0000234805 00000 n 
-0000798056 00000 n 
-0000004105 00000 n 
-0000004372 00000 n 
-0000255662 00000 n 
-0000797969 00000 n 
-0000004423 00000 n 
-0000004652 00000 n 
-0000264471 00000 n 
-0000797882 00000 n 
-0000004703 00000 n 
-0000005046 00000 n 
-0000273040 00000 n 
-0000797795 00000 n 
-0000005097 00000 n 
-0000005359 00000 n 
-0000294562 00000 n 
-0000797706 00000 n 
-0000005411 00000 n 
-0000005636 00000 n 
-0000314891 00000 n 
-0000797615 00000 n 
-0000005689 00000 n 
-0000006061 00000 n 
-0000325767 00000 n 
-0000797523 00000 n 
-0000006114 00000 n 
-0000006405 00000 n 
-0000332919 00000 n 
-0000797431 00000 n 
-0000006458 00000 n 
-0000006711 00000 n 
-0000354924 00000 n 
-0000797339 00000 n 
-0000006764 00000 n 
-0000007032 00000 n 
-0000375410 00000 n 
-0000797247 00000 n 
-0000007085 00000 n 
-0000007323 00000 n 
-0000416252 00000 n 
-0000797155 00000 n 
-0000007376 00000 n 
-0000007796 00000 n 
-0000438741 00000 n 
-0000797063 00000 n 
-0000007849 00000 n 
-0000008236 00000 n 
-0000445373 00000 n 
-0000796971 00000 n 
-0000008289 00000 n 
-0000008628 00000 n 
-0000466286 00000 n 
-0000796893 00000 n 
-0000008681 00000 n 
-0000008911 00000 n 
-0000010282 00000 n 
-0000010519 00000 n 
-0000008963 00000 n 
-0000010404 00000 n 
-0000010462 00000 n 
-0000793605 00000 n 
-0000772414 00000 n 
-0000793430 00000 n 
-0000771982 00000 n 
-0000770094 00000 n 
-0000771820 00000 n 
-0000769727 00000 n 
-0000767519 00000 n 
-0000769563 00000 n 
-0000766851 00000 n 
-0000764320 00000 n 
-0000766689 00000 n 
-0000794737 00000 n 
-0000017926 00000 n 
-0000013536 00000 n 
-0000010630 00000 n 
-0000763421 00000 n 
-0000745726 00000 n 
-0000763246 00000 n 
-0000013870 00000 n 
-0000014039 00000 n 
-0000014195 00000 n 
-0000014365 00000 n 
-0000014518 00000 n 
-0000014671 00000 n 
-0000744861 00000 n 
-0000726734 00000 n 
-0000744688 00000 n 
-0000017868 00000 n 
-0000014850 00000 n 
-0000015004 00000 n 
-0000015158 00000 n 
-0000015312 00000 n 
-0000015466 00000 n 
-0000015626 00000 n 
-0000015781 00000 n 
-0000015941 00000 n 
-0000016095 00000 n 
-0000016256 00000 n 
-0000016417 00000 n 
-0000016577 00000 n 
-0000016738 00000 n 
-0000016899 00000 n 
-0000017052 00000 n 
-0000017213 00000 n 
-0000017372 00000 n 
-0000017533 00000 n 
-0000017692 00000 n 
-0000069300 00000 n 
-0000029498 00000 n 
-0000024571 00000 n 
-0000021601 00000 n 
-0000018024 00000 n 
-0000021863 00000 n 
-0000022024 00000 n 
-0000022185 00000 n 
-0000022346 00000 n 
-0000022507 00000 n 
-0000022667 00000 n 
-0000022829 00000 n 
-0000022988 00000 n 
-0000023150 00000 n 
-0000023312 00000 n 
-0000023473 00000 n 
-0000023635 00000 n 
-0000023797 00000 n 
-0000023959 00000 n 
-0000024121 00000 n 
-0000024514 00000 n 
-0000725920 00000 n 
-0000710044 00000 n 
-0000725741 00000 n 
-0000024282 00000 n 
-0000029614 00000 n 
-0000028247 00000 n 
-0000024695 00000 n 
-0000029325 00000 n 
-0000028421 00000 n 
-0000028607 00000 n 
-0000028799 00000 n 
-0000029440 00000 n 
-0000028983 00000 n 
-0000029556 00000 n 
-0000029149 00000 n 
-0000033568 00000 n 
-0000033077 00000 n 
-0000029725 00000 n 
-0000033395 00000 n 
-0000033453 00000 n 
-0000033511 00000 n 
-0000033219 00000 n 
-0000037659 00000 n 
-0000037167 00000 n 
-0000033666 00000 n 
-0000037485 00000 n 
-0000037543 00000 n 
-0000037601 00000 n 
-0000037309 00000 n 
-0000041405 00000 n 
-0000040855 00000 n 
-0000037757 00000 n 
-0000041173 00000 n 
-0000041231 00000 n 
-0000041289 00000 n 
-0000041347 00000 n 
-0000040997 00000 n 
-0000794855 00000 n 
-0000045590 00000 n 
-0000045156 00000 n 
-0000041503 00000 n 
-0000045474 00000 n 
-0000045532 00000 n 
-0000045298 00000 n 
-0000049529 00000 n 
-0000049095 00000 n 
-0000045688 00000 n 
-0000049413 00000 n 
-0000049471 00000 n 
-0000049237 00000 n 
-0000053395 00000 n 
-0000052845 00000 n 
-0000049627 00000 n 
-0000053163 00000 n 
-0000053221 00000 n 
-0000053279 00000 n 
-0000053337 00000 n 
-0000052987 00000 n 
-0000057607 00000 n 
-0000057115 00000 n 
-0000053493 00000 n 
-0000057433 00000 n 
-0000057491 00000 n 
-0000057549 00000 n 
-0000057257 00000 n 
-0000061317 00000 n 
-0000060709 00000 n 
-0000057705 00000 n 
-0000061027 00000 n 
-0000061085 00000 n 
-0000061143 00000 n 
-0000061201 00000 n 
-0000061259 00000 n 
-0000060851 00000 n 
-0000065122 00000 n 
-0000064259 00000 n 
-0000061415 00000 n 
-0000064948 00000 n 
-0000065006 00000 n 
-0000065064 00000 n 
-0000709545 00000 n 
-0000701114 00000 n 
-0000709368 00000 n 
-0000064417 00000 n 
-0000064595 00000 n 
-0000064772 00000 n 
-0000794973 00000 n 
-0000069358 00000 n 
-0000068602 00000 n 
-0000065233 00000 n 
-0000069127 00000 n 
-0000068752 00000 n 
-0000069242 00000 n 
-0000068951 00000 n 
-0000073686 00000 n 
-0000073310 00000 n 
-0000069456 00000 n 
-0000073628 00000 n 
-0000073452 00000 n 
-0000077787 00000 n 
-0000077411 00000 n 
-0000073784 00000 n 
-0000077729 00000 n 
-0000077553 00000 n 
-0000081763 00000 n 
-0000081387 00000 n 
-0000077885 00000 n 
-0000081705 00000 n 
-0000081529 00000 n 
-0000085901 00000 n 
-0000085279 00000 n 
-0000081861 00000 n 
-0000085785 00000 n 
-0000085429 00000 n 
-0000085843 00000 n 
-0000085609 00000 n 
-0000092150 00000 n 
-0000088171 00000 n 
-0000085999 00000 n 
-0000091864 00000 n 
-0000088465 00000 n 
-0000088625 00000 n 
-0000088785 00000 n 
-0000088946 00000 n 
-0000089107 00000 n 
-0000089268 00000 n 
-0000089445 00000 n 
-0000089606 00000 n 
-0000089807 00000 n 
-0000089968 00000 n 
-0000090152 00000 n 
-0000090313 00000 n 
-0000090489 00000 n 
-0000090650 00000 n 
-0000090850 00000 n 
-0000091011 00000 n 
-0000091194 00000 n 
-0000091355 00000 n 
-0000091529 00000 n 
-0000091688 00000 n 
-0000795091 00000 n 
-0000169187 00000 n 
-0000177726 00000 n 
-0000196835 00000 n 
-0000204708 00000 n 
-0000225740 00000 n 
-0000234746 00000 n 
-0000255603 00000 n 
-0000101122 00000 n 
-0000094767 00000 n 
-0000092248 00000 n 
-0000100719 00000 n 
-0000095149 00000 n 
-0000095349 00000 n 
-0000095510 00000 n 
-0000095693 00000 n 
-0000095854 00000 n 
-0000096028 00000 n 
-0000096189 00000 n 
-0000096395 00000 n 
-0000096557 00000 n 
-0000096746 00000 n 
-0000096907 00000 n 
-0000097088 00000 n 
-0000097250 00000 n 
-0000097434 00000 n 
-0000097596 00000 n 
-0000097773 00000 n 
-0000097935 00000 n 
-0000098150 00000 n 
-0000098349 00000 n 
-0000098511 00000 n 
-0000098717 00000 n 
-0000098916 00000 n 
-0000099078 00000 n 
-0000099277 00000 n 
-0000099439 00000 n 
-0000099614 00000 n 
-0000100834 00000 n 
-0000100949 00000 n 
-0000101064 00000 n 
-0000099776 00000 n 
-0000099968 00000 n 
-0000100160 00000 n 
-0000100352 00000 n 
-0000100543 00000 n 
-0000264413 00000 n 
-0000272981 00000 n 
-0000294503 00000 n 
-0000305335 00000 n 
-0000325708 00000 n 
-0000332861 00000 n 
-0000354866 00000 n 
-0000375351 00000 n 
-0000416193 00000 n 
-0000445315 00000 n 
-0000438682 00000 n 
-0000466227 00000 n 
-0000104357 00000 n 
-0000104473 00000 n 
-0000104587 00000 n 
-0000104703 00000 n 
-0000105177 00000 n 
-0000103056 00000 n 
-0000101233 00000 n 
-0000104184 00000 n 
-0000104242 00000 n 
-0000104299 00000 n 
-0000104415 00000 n 
-0000104530 00000 n 
-0000104645 00000 n 
-0000104766 00000 n 
-0000104824 00000 n 
-0000104945 00000 n 
-0000103230 00000 n 
-0000105003 00000 n 
-0000103424 00000 n 
-0000105061 00000 n 
-0000103619 00000 n 
-0000105119 00000 n 
-0000103814 00000 n 
-0000104008 00000 n 
-0000110033 00000 n 
-0000110380 00000 n 
-0000107715 00000 n 
-0000105288 00000 n 
-0000109453 00000 n 
-0000109511 00000 n 
-0000107913 00000 n 
-0000109569 00000 n 
-0000109627 00000 n 
-0000108108 00000 n 
-0000109685 00000 n 
-0000108303 00000 n 
-0000109743 00000 n 
-0000108498 00000 n 
-0000109801 00000 n 
-0000108692 00000 n 
-0000109859 00000 n 
-0000108887 00000 n 
-0000700587 00000 n 
-0000698560 00000 n 
-0000700426 00000 n 
-0000109082 00000 n 
-0000109917 00000 n 
-0000109975 00000 n 
-0000110091 00000 n 
-0000110149 00000 n 
-0000110207 00000 n 
-0000110265 00000 n 
-0000698013 00000 n 
-0000684701 00000 n 
-0000697833 00000 n 
-0000110323 00000 n 
-0000109277 00000 n 
-0000117678 00000 n 
-0000113385 00000 n 
-0000110530 00000 n 
-0000116642 00000 n 
-0000116756 00000 n 
-0000113631 00000 n 
-0000113824 00000 n 
-0000114050 00000 n 
-0000114276 00000 n 
-0000114502 00000 n 
-0000114726 00000 n 
-0000114950 00000 n 
-0000115176 00000 n 
-0000115402 00000 n 
-0000115628 00000 n 
-0000115854 00000 n 
-0000116813 00000 n 
-0000116080 00000 n 
-0000116273 00000 n 
-0000116871 00000 n 
-0000116929 00000 n 
-0000116987 00000 n 
-0000117045 00000 n 
-0000117103 00000 n 
-0000117167 00000 n 
-0000117231 00000 n 
-0000117295 00000 n 
-0000117359 00000 n 
-0000117423 00000 n 
-0000117487 00000 n 
-0000117551 00000 n 
-0000117614 00000 n 
-0000116466 00000 n 
-0000124986 00000 n 
-0000125858 00000 n 
-0000120385 00000 n 
-0000117815 00000 n 
-0000124871 00000 n 
-0000124929 00000 n 
-0000125044 00000 n 
-0000125102 00000 n 
-0000125221 00000 n 
-0000125279 00000 n 
-0000120695 00000 n 
-0000120892 00000 n 
-0000121089 00000 n 
-0000125337 00000 n 
-0000121286 00000 n 
-0000121463 00000 n 
-0000125395 00000 n 
-0000121659 00000 n 
-0000121835 00000 n 
-0000125453 00000 n 
-0000122031 00000 n 
-0000122215 00000 n 
-0000125511 00000 n 
-0000122412 00000 n 
-0000122596 00000 n 
-0000125569 00000 n 
-0000122793 00000 n 
-0000122969 00000 n 
-0000125627 00000 n 
-0000123166 00000 n 
-0000123341 00000 n 
-0000125685 00000 n 
-0000123537 00000 n 
-0000123720 00000 n 
-0000125743 00000 n 
-0000123917 00000 n 
-0000124100 00000 n 
-0000125800 00000 n 
-0000124297 00000 n 
-0000124498 00000 n 
-0000124695 00000 n 
-0000163488 00000 n 
-0000137020 00000 n 
-0000128510 00000 n 
-0000125995 00000 n 
-0000136037 00000 n 
-0000136095 00000 n 
-0000128940 00000 n 
-0000129141 00000 n 
-0000129338 00000 n 
-0000136152 00000 n 
-0000129534 00000 n 
-0000129709 00000 n 
-0000136210 00000 n 
-0000129906 00000 n 
-0000130081 00000 n 
-0000136268 00000 n 
-0000130278 00000 n 
-0000130461 00000 n 
-0000136326 00000 n 
-0000130658 00000 n 
-0000130841 00000 n 
-0000136384 00000 n 
-0000131038 00000 n 
-0000131238 00000 n 
-0000136442 00000 n 
-0000131435 00000 n 
-0000131635 00000 n 
-0000131832 00000 n 
-0000136500 00000 n 
-0000132029 00000 n 
-0000132205 00000 n 
-0000136558 00000 n 
-0000132402 00000 n 
-0000132578 00000 n 
-0000136616 00000 n 
-0000132775 00000 n 
-0000132959 00000 n 
-0000136674 00000 n 
-0000133156 00000 n 
-0000133339 00000 n 
-0000136732 00000 n 
-0000133535 00000 n 
-0000133736 00000 n 
-0000133933 00000 n 
-0000136789 00000 n 
-0000134130 00000 n 
-0000134331 00000 n 
-0000134528 00000 n 
-0000136847 00000 n 
-0000134722 00000 n 
-0000134903 00000 n 
-0000136904 00000 n 
-0000135100 00000 n 
-0000135281 00000 n 
-0000136962 00000 n 
-0000135477 00000 n 
-0000135665 00000 n 
-0000135861 00000 n 
-0000795209 00000 n 
-0000147417 00000 n 
-0000139541 00000 n 
-0000137144 00000 n 
-0000146607 00000 n 
-0000146665 00000 n 
-0000139947 00000 n 
-0000140136 00000 n 
-0000146723 00000 n 
-0000140333 00000 n 
-0000140539 00000 n 
-0000140736 00000 n 
-0000146781 00000 n 
-0000140933 00000 n 
-0000141139 00000 n 
-0000141336 00000 n 
-0000146839 00000 n 
-0000141532 00000 n 
-0000141710 00000 n 
-0000146896 00000 n 
-0000141907 00000 n 
-0000142085 00000 n 
-0000146954 00000 n 
-0000142282 00000 n 
-0000142457 00000 n 
-0000147012 00000 n 
-0000142652 00000 n 
-0000142828 00000 n 
-0000147070 00000 n 
-0000143024 00000 n 
-0000143223 00000 n 
-0000147128 00000 n 
-0000143420 00000 n 
-0000143617 00000 n 
-0000143812 00000 n 
-0000147186 00000 n 
-0000144009 00000 n 
-0000144218 00000 n 
-0000144415 00000 n 
-0000147244 00000 n 
-0000144612 00000 n 
-0000144819 00000 n 
-0000145015 00000 n 
-0000147302 00000 n 
-0000145212 00000 n 
-0000145428 00000 n 
-0000145625 00000 n 
-0000147359 00000 n 
-0000145822 00000 n 
-0000146038 00000 n 
-0000146235 00000 n 
-0000146431 00000 n 
-0000158975 00000 n 
-0000150652 00000 n 
-0000147541 00000 n 
-0000158221 00000 n 
-0000158279 00000 n 
-0000151058 00000 n 
-0000151255 00000 n 
-0000151484 00000 n 
-0000151713 00000 n 
-0000151943 00000 n 
-0000152173 00000 n 
-0000152403 00000 n 
-0000152600 00000 n 
-0000152830 00000 n 
-0000153060 00000 n 
-0000153290 00000 n 
-0000153520 00000 n 
-0000153750 00000 n 
-0000153979 00000 n 
-0000154176 00000 n 
-0000154406 00000 n 
-0000154636 00000 n 
-0000154866 00000 n 
-0000158337 00000 n 
-0000158395 00000 n 
-0000155095 00000 n 
-0000155291 00000 n 
-0000158453 00000 n 
-0000155487 00000 n 
-0000155684 00000 n 
-0000158511 00000 n 
-0000155880 00000 n 
-0000156077 00000 n 
-0000158569 00000 n 
-0000156274 00000 n 
-0000156471 00000 n 
-0000158627 00000 n 
-0000156668 00000 n 
-0000156865 00000 n 
-0000158685 00000 n 
-0000157062 00000 n 
-0000157259 00000 n 
-0000158743 00000 n 
-0000158801 00000 n 
-0000157456 00000 n 
-0000158859 00000 n 
-0000157652 00000 n 
-0000158917 00000 n 
-0000157848 00000 n 
-0000158045 00000 n 
-0000163662 00000 n 
-0000163778 00000 n 
-0000163842 00000 n 
-0000168258 00000 n 
-0000168322 00000 n 
-0000168386 00000 n 
-0000168450 00000 n 
-0000168566 00000 n 
-0000168630 00000 n 
-0000168694 00000 n 
-0000168758 00000 n 
-0000168822 00000 n 
-0000168938 00000 n 
-0000169002 00000 n 
-0000169066 00000 n 
-0000163905 00000 n 
-0000161686 00000 n 
-0000159099 00000 n 
-0000163025 00000 n 
-0000163083 00000 n 
-0000161868 00000 n 
-0000163141 00000 n 
-0000162064 00000 n 
-0000163199 00000 n 
-0000162260 00000 n 
-0000163257 00000 n 
-0000162457 00000 n 
-0000163315 00000 n 
-0000162652 00000 n 
-0000163372 00000 n 
-0000163430 00000 n 
-0000163546 00000 n 
-0000163604 00000 n 
-0000163720 00000 n 
-0000682259 00000 n 
-0000679863 00000 n 
-0000682095 00000 n 
-0000679269 00000 n 
-0000675442 00000 n 
-0000679106 00000 n 
-0000162849 00000 n 
-0000169533 00000 n 
-0000166474 00000 n 
-0000164067 00000 n 
-0000168200 00000 n 
-0000168508 00000 n 
-0000168880 00000 n 
-0000169302 00000 n 
-0000169359 00000 n 
-0000166672 00000 n 
-0000166881 00000 n 
-0000169417 00000 n 
-0000167058 00000 n 
-0000167267 00000 n 
-0000169475 00000 n 
-0000167443 00000 n 
-0000167652 00000 n 
-0000167828 00000 n 
-0000168024 00000 n 
-0000177783 00000 n 
-0000172937 00000 n 
-0000169695 00000 n 
-0000177031 00000 n 
-0000177089 00000 n 
-0000173223 00000 n 
-0000173433 00000 n 
-0000177146 00000 n 
-0000173610 00000 n 
-0000173820 00000 n 
-0000173997 00000 n 
-0000177204 00000 n 
-0000174194 00000 n 
-0000174404 00000 n 
-0000177262 00000 n 
-0000174601 00000 n 
-0000174811 00000 n 
-0000177320 00000 n 
-0000175008 00000 n 
-0000175218 00000 n 
-0000177378 00000 n 
-0000175414 00000 n 
-0000177436 00000 n 
-0000175622 00000 n 
-0000177494 00000 n 
-0000175831 00000 n 
-0000177552 00000 n 
-0000176041 00000 n 
-0000176251 00000 n 
-0000177610 00000 n 
-0000176448 00000 n 
-0000176658 00000 n 
-0000177668 00000 n 
-0000176855 00000 n 
-0000186756 00000 n 
-0000180820 00000 n 
-0000177907 00000 n 
-0000186121 00000 n 
-0000186235 00000 n 
-0000186292 00000 n 
-0000181146 00000 n 
-0000181379 00000 n 
-0000186350 00000 n 
-0000181579 00000 n 
-0000181813 00000 n 
-0000182014 00000 n 
-0000182210 00000 n 
-0000186408 00000 n 
-0000182405 00000 n 
-0000182639 00000 n 
-0000182840 00000 n 
-0000186466 00000 n 
-0000183037 00000 n 
-0000183269 00000 n 
-0000183465 00000 n 
-0000186524 00000 n 
-0000183662 00000 n 
-0000183896 00000 n 
-0000184093 00000 n 
-0000184290 00000 n 
-0000186582 00000 n 
-0000184487 00000 n 
-0000184720 00000 n 
-0000184920 00000 n 
-0000186640 00000 n 
-0000185121 00000 n 
-0000185355 00000 n 
-0000185551 00000 n 
-0000185748 00000 n 
-0000186698 00000 n 
-0000185945 00000 n 
-0000795327 00000 n 
-0000197588 00000 n 
-0000190169 00000 n 
-0000186893 00000 n 
-0000196777 00000 n 
-0000196950 00000 n 
-0000197008 00000 n 
-0000190551 00000 n 
-0000190768 00000 n 
-0000197066 00000 n 
-0000190952 00000 n 
-0000191169 00000 n 
-0000197124 00000 n 
-0000191353 00000 n 
-0000191570 00000 n 
-0000191754 00000 n 
-0000191951 00000 n 
-0000197182 00000 n 
-0000192147 00000 n 
-0000192364 00000 n 
-0000192548 00000 n 
-0000197240 00000 n 
-0000192745 00000 n 
-0000192962 00000 n 
-0000193146 00000 n 
-0000197298 00000 n 
-0000193342 00000 n 
-0000193559 00000 n 
-0000197356 00000 n 
-0000193756 00000 n 
-0000193972 00000 n 
-0000194169 00000 n 
-0000194366 00000 n 
-0000197414 00000 n 
-0000194562 00000 n 
-0000194779 00000 n 
-0000197472 00000 n 
-0000194976 00000 n 
-0000195193 00000 n 
-0000195389 00000 n 
-0000195590 00000 n 
-0000197530 00000 n 
-0000195790 00000 n 
-0000196006 00000 n 
-0000196202 00000 n 
-0000196402 00000 n 
-0000196601 00000 n 
-0000204881 00000 n 
-0000200496 00000 n 
-0000197725 00000 n 
-0000204186 00000 n 
-0000204244 00000 n 
-0000200766 00000 n 
-0000200983 00000 n 
-0000204302 00000 n 
-0000201180 00000 n 
-0000201397 00000 n 
-0000204360 00000 n 
-0000201581 00000 n 
-0000201797 00000 n 
-0000201981 00000 n 
-0000202178 00000 n 
-0000204418 00000 n 
-0000202375 00000 n 
-0000202592 00000 n 
-0000204476 00000 n 
-0000202789 00000 n 
-0000203006 00000 n 
-0000204534 00000 n 
-0000203203 00000 n 
-0000203419 00000 n 
-0000204592 00000 n 
-0000203614 00000 n 
-0000203828 00000 n 
-0000204650 00000 n 
-0000204823 00000 n 
-0000204010 00000 n 
-0000217713 00000 n 
-0000209044 00000 n 
-0000205018 00000 n 
-0000216903 00000 n 
-0000216961 00000 n 
-0000209482 00000 n 
-0000209691 00000 n 
-0000209867 00000 n 
-0000210064 00000 n 
-0000210261 00000 n 
-0000674810 00000 n 
-0000671421 00000 n 
-0000674647 00000 n 
-0000670693 00000 n 
-0000666707 00000 n 
-0000670531 00000 n 
-0000217018 00000 n 
-0000210457 00000 n 
-0000210666 00000 n 
-0000217076 00000 n 
-0000210842 00000 n 
-0000211050 00000 n 
-0000217134 00000 n 
-0000211222 00000 n 
-0000211431 00000 n 
-0000211607 00000 n 
-0000217192 00000 n 
-0000211804 00000 n 
-0000212013 00000 n 
-0000212189 00000 n 
-0000217250 00000 n 
-0000212386 00000 n 
-0000212595 00000 n 
-0000217308 00000 n 
-0000212792 00000 n 
-0000212999 00000 n 
-0000213193 00000 n 
-0000217366 00000 n 
-0000213388 00000 n 
-0000213597 00000 n 
-0000213794 00000 n 
-0000213991 00000 n 
-0000214168 00000 n 
-0000217424 00000 n 
-0000214345 00000 n 
-0000214554 00000 n 
-0000214751 00000 n 
-0000217482 00000 n 
-0000214928 00000 n 
-0000215137 00000 n 
-0000215333 00000 n 
-0000217540 00000 n 
-0000215509 00000 n 
-0000215718 00000 n 
-0000217597 00000 n 
-0000215915 00000 n 
-0000216124 00000 n 
-0000217655 00000 n 
-0000216321 00000 n 
-0000216530 00000 n 
-0000216727 00000 n 
-0000226203 00000 n 
-0000220674 00000 n 
-0000217863 00000 n 
-0000225509 00000 n 
-0000225567 00000 n 
-0000220988 00000 n 
-0000221197 00000 n 
-0000225624 00000 n 
-0000221394 00000 n 
-0000221603 00000 n 
-0000225682 00000 n 
-0000225855 00000 n 
-0000225913 00000 n 
-0000221779 00000 n 
-0000222013 00000 n 
-0000225971 00000 n 
-0000222213 00000 n 
-0000222447 00000 n 
-0000222648 00000 n 
-0000222849 00000 n 
-0000226029 00000 n 
-0000223046 00000 n 
-0000223280 00000 n 
-0000223481 00000 n 
-0000223682 00000 n 
-0000226087 00000 n 
-0000223878 00000 n 
-0000224110 00000 n 
-0000224307 00000 n 
-0000226145 00000 n 
-0000224504 00000 n 
-0000224738 00000 n 
-0000224936 00000 n 
-0000225134 00000 n 
-0000225332 00000 n 
-0000235223 00000 n 
-0000229314 00000 n 
-0000226340 00000 n 
-0000234507 00000 n 
-0000234567 00000 n 
-0000229667 00000 n 
-0000229902 00000 n 
-0000230104 00000 n 
-0000234626 00000 n 
-0000230305 00000 n 
-0000230540 00000 n 
-0000230738 00000 n 
-0000230936 00000 n 
-0000234686 00000 n 
-0000234863 00000 n 
-0000234923 00000 n 
-0000231134 00000 n 
-0000231352 00000 n 
-0000234983 00000 n 
-0000231537 00000 n 
-0000231755 00000 n 
-0000235043 00000 n 
-0000231940 00000 n 
-0000232155 00000 n 
-0000232338 00000 n 
-0000232535 00000 n 
-0000235103 00000 n 
-0000232733 00000 n 
-0000232951 00000 n 
-0000233135 00000 n 
-0000233333 00000 n 
-0000235163 00000 n 
-0000233531 00000 n 
-0000233749 00000 n 
-0000233934 00000 n 
-0000234132 00000 n 
-0000234330 00000 n 
-0000247334 00000 n 
-0000238912 00000 n 
-0000235361 00000 n 
-0000246496 00000 n 
-0000246556 00000 n 
-0000239365 00000 n 
-0000239582 00000 n 
-0000246615 00000 n 
-0000239780 00000 n 
-0000239998 00000 n 
-0000240195 00000 n 
-0000240393 00000 n 
-0000246675 00000 n 
-0000240590 00000 n 
-0000240808 00000 n 
-0000246735 00000 n 
-0000241006 00000 n 
-0000241222 00000 n 
-0000246794 00000 n 
-0000241419 00000 n 
-0000241636 00000 n 
-0000241834 00000 n 
-0000242036 00000 n 
-0000246854 00000 n 
-0000242237 00000 n 
-0000242453 00000 n 
-0000242649 00000 n 
-0000242849 00000 n 
-0000246914 00000 n 
-0000243051 00000 n 
-0000243269 00000 n 
-0000246974 00000 n 
-0000243467 00000 n 
-0000243685 00000 n 
-0000247034 00000 n 
-0000243870 00000 n 
-0000244088 00000 n 
-0000244273 00000 n 
-0000244471 00000 n 
-0000247094 00000 n 
-0000244669 00000 n 
-0000244887 00000 n 
-0000247154 00000 n 
-0000245085 00000 n 
-0000245303 00000 n 
-0000247214 00000 n 
-0000245501 00000 n 
-0000245719 00000 n 
-0000247274 00000 n 
-0000245916 00000 n 
-0000246134 00000 n 
-0000246319 00000 n 
-0000795446 00000 n 
-0000256259 00000 n 
-0000250623 00000 n 
-0000247459 00000 n 
-0000255484 00000 n 
-0000255544 00000 n 
-0000255720 00000 n 
-0000255780 00000 n 
-0000250968 00000 n 
-0000251178 00000 n 
-0000251354 00000 n 
-0000251551 00000 n 
-0000251749 00000 n 
-0000255840 00000 n 
-0000251946 00000 n 
-0000252155 00000 n 
-0000255900 00000 n 
-0000252332 00000 n 
-0000252542 00000 n 
-0000255960 00000 n 
-0000252719 00000 n 
-0000252928 00000 n 
-0000253104 00000 n 
-0000256020 00000 n 
-0000253301 00000 n 
-0000253511 00000 n 
-0000253688 00000 n 
-0000256079 00000 n 
-0000253886 00000 n 
-0000254096 00000 n 
-0000256139 00000 n 
-0000254294 00000 n 
-0000254504 00000 n 
-0000254701 00000 n 
-0000256199 00000 n 
-0000254899 00000 n 
-0000255109 00000 n 
-0000255307 00000 n 
-0000264649 00000 n 
-0000259376 00000 n 
-0000256423 00000 n 
-0000263875 00000 n 
-0000263935 00000 n 
-0000259703 00000 n 
-0000259912 00000 n 
-0000260110 00000 n 
-0000260308 00000 n 
-0000260486 00000 n 
-0000263994 00000 n 
-0000260663 00000 n 
-0000260873 00000 n 
-0000261071 00000 n 
-0000264054 00000 n 
-0000261249 00000 n 
-0000261459 00000 n 
-0000264114 00000 n 
-0000261657 00000 n 
-0000261867 00000 n 
-0000264174 00000 n 
-0000262065 00000 n 
-0000262275 00000 n 
-0000264234 00000 n 
-0000262473 00000 n 
-0000262681 00000 n 
-0000264294 00000 n 
-0000262878 00000 n 
-0000263088 00000 n 
-0000264353 00000 n 
-0000264529 00000 n 
-0000264589 00000 n 
-0000263265 00000 n 
-0000263498 00000 n 
-0000263698 00000 n 
-0000273158 00000 n 
-0000267608 00000 n 
-0000264787 00000 n 
-0000272503 00000 n 
-0000272563 00000 n 
-0000267944 00000 n 
-0000268178 00000 n 
-0000268379 00000 n 
-0000268579 00000 n 
-0000272622 00000 n 
-0000268776 00000 n 
-0000269010 00000 n 
-0000269211 00000 n 
-0000269412 00000 n 
-0000272682 00000 n 
-0000269610 00000 n 
-0000269844 00000 n 
-0000272742 00000 n 
-0000270042 00000 n 
-0000270276 00000 n 
-0000270473 00000 n 
-0000270670 00000 n 
-0000272802 00000 n 
-0000270867 00000 n 
-0000271101 00000 n 
-0000271302 00000 n 
-0000272861 00000 n 
-0000271501 00000 n 
-0000271735 00000 n 
-0000271932 00000 n 
-0000272129 00000 n 
-0000272921 00000 n 
-0000273098 00000 n 
-0000272326 00000 n 
-0000286058 00000 n 
-0000276946 00000 n 
-0000273296 00000 n 
-0000285283 00000 n 
-0000285343 00000 n 
-0000277435 00000 n 
-0000277652 00000 n 
-0000285402 00000 n 
-0000277836 00000 n 
-0000278053 00000 n 
-0000278236 00000 n 
-0000278434 00000 n 
-0000285462 00000 n 
-0000278632 00000 n 
-0000278848 00000 n 
-0000279031 00000 n 
-0000279229 00000 n 
-0000285522 00000 n 
-0000279426 00000 n 
-0000279642 00000 n 
-0000279826 00000 n 
-0000280024 00000 n 
-0000285580 00000 n 
-0000280222 00000 n 
-0000280439 00000 n 
-0000285640 00000 n 
-0000280637 00000 n 
-0000280854 00000 n 
-0000281052 00000 n 
-0000281250 00000 n 
-0000285700 00000 n 
-0000281448 00000 n 
-0000281665 00000 n 
-0000285760 00000 n 
-0000281863 00000 n 
-0000282079 00000 n 
-0000282277 00000 n 
-0000282478 00000 n 
-0000285820 00000 n 
-0000282679 00000 n 
-0000282895 00000 n 
-0000283093 00000 n 
-0000283294 00000 n 
-0000285880 00000 n 
-0000283493 00000 n 
-0000283710 00000 n 
-0000285939 00000 n 
-0000283908 00000 n 
-0000284125 00000 n 
-0000285998 00000 n 
-0000284309 00000 n 
-0000284526 00000 n 
-0000284710 00000 n 
-0000284908 00000 n 
-0000285106 00000 n 
-0000294920 00000 n 
-0000289462 00000 n 
-0000286183 00000 n 
-0000294144 00000 n 
-0000294204 00000 n 
-0000289798 00000 n 
-0000290015 00000 n 
-0000294263 00000 n 
-0000290213 00000 n 
-0000290429 00000 n 
-0000294323 00000 n 
-0000290627 00000 n 
-0000290843 00000 n 
-0000294383 00000 n 
-0000291039 00000 n 
-0000291255 00000 n 
-0000294443 00000 n 
-0000294620 00000 n 
-0000294680 00000 n 
-0000291439 00000 n 
-0000291648 00000 n 
-0000291824 00000 n 
-0000292022 00000 n 
-0000292220 00000 n 
-0000292418 00000 n 
-0000294740 00000 n 
-0000292616 00000 n 
-0000292824 00000 n 
-0000666394 00000 n 
-0000663979 00000 n 
-0000666229 00000 n 
-0000663437 00000 n 
-0000660819 00000 n 
-0000663273 00000 n 
-0000294800 00000 n 
-0000293000 00000 n 
-0000293209 00000 n 
-0000294860 00000 n 
-0000293385 00000 n 
-0000293593 00000 n 
-0000293769 00000 n 
-0000293967 00000 n 
-0000305394 00000 n 
-0000298427 00000 n 
-0000295086 00000 n 
-0000304556 00000 n 
-0000304616 00000 n 
-0000298826 00000 n 
-0000299035 00000 n 
-0000299211 00000 n 
-0000304675 00000 n 
-0000299409 00000 n 
-0000299618 00000 n 
-0000304735 00000 n 
-0000299816 00000 n 
-0000300025 00000 n 
-0000300223 00000 n 
-0000304795 00000 n 
-0000300421 00000 n 
-0000300630 00000 n 
-0000304855 00000 n 
-0000300828 00000 n 
-0000301037 00000 n 
-0000301235 00000 n 
-0000301433 00000 n 
-0000301611 00000 n 
-0000304915 00000 n 
-0000301789 00000 n 
-0000301998 00000 n 
-0000302195 00000 n 
-0000304975 00000 n 
-0000302373 00000 n 
-0000302581 00000 n 
-0000305035 00000 n 
-0000302778 00000 n 
-0000302985 00000 n 
-0000305095 00000 n 
-0000303181 00000 n 
-0000303390 00000 n 
-0000305155 00000 n 
-0000303587 00000 n 
-0000303796 00000 n 
-0000305215 00000 n 
-0000303994 00000 n 
-0000304203 00000 n 
-0000305275 00000 n 
-0000304379 00000 n 
-0000795571 00000 n 
-0000315488 00000 n 
-0000308490 00000 n 
-0000305519 00000 n 
-0000314831 00000 n 
-0000314949 00000 n 
-0000315008 00000 n 
-0000308880 00000 n 
-0000309119 00000 n 
-0000309325 00000 n 
-0000315068 00000 n 
-0000309532 00000 n 
-0000309772 00000 n 
-0000310012 00000 n 
-0000310219 00000 n 
-0000310417 00000 n 
-0000315128 00000 n 
-0000310615 00000 n 
-0000310855 00000 n 
-0000311095 00000 n 
-0000311302 00000 n 
-0000311500 00000 n 
-0000315188 00000 n 
-0000311698 00000 n 
-0000311938 00000 n 
-0000312136 00000 n 
-0000315248 00000 n 
-0000312334 00000 n 
-0000312574 00000 n 
-0000312772 00000 n 
-0000312970 00000 n 
-0000315308 00000 n 
-0000313168 00000 n 
-0000313407 00000 n 
-0000313613 00000 n 
-0000315368 00000 n 
-0000313820 00000 n 
-0000314060 00000 n 
-0000314258 00000 n 
-0000314456 00000 n 
-0000315428 00000 n 
-0000314654 00000 n 
-0000326485 00000 n 
-0000318890 00000 n 
-0000315626 00000 n 
-0000325648 00000 n 
-0000325826 00000 n 
-0000325886 00000 n 
-0000319307 00000 n 
-0000319530 00000 n 
-0000325946 00000 n 
-0000319720 00000 n 
-0000319943 00000 n 
-0000320133 00000 n 
-0000326006 00000 n 
-0000320331 00000 n 
-0000320554 00000 n 
-0000320744 00000 n 
-0000320933 00000 n 
-0000326066 00000 n 
-0000321130 00000 n 
-0000321353 00000 n 
-0000321543 00000 n 
-0000321733 00000 n 
-0000326126 00000 n 
-0000321930 00000 n 
-0000322152 00000 n 
-0000326186 00000 n 
-0000322349 00000 n 
-0000322572 00000 n 
-0000322770 00000 n 
-0000326245 00000 n 
-0000322968 00000 n 
-0000323190 00000 n 
-0000326305 00000 n 
-0000323387 00000 n 
-0000323610 00000 n 
-0000323808 00000 n 
-0000324015 00000 n 
-0000326365 00000 n 
-0000324222 00000 n 
-0000324444 00000 n 
-0000324641 00000 n 
-0000324847 00000 n 
-0000326425 00000 n 
-0000325054 00000 n 
-0000325275 00000 n 
-0000325471 00000 n 
-0000333038 00000 n 
-0000329247 00000 n 
-0000326623 00000 n 
-0000332381 00000 n 
-0000332441 00000 n 
-0000329511 00000 n 
-0000329734 00000 n 
-0000332501 00000 n 
-0000329924 00000 n 
-0000330147 00000 n 
-0000330337 00000 n 
-0000332561 00000 n 
-0000330534 00000 n 
-0000330757 00000 n 
-0000332621 00000 n 
-0000330955 00000 n 
-0000331176 00000 n 
-0000332681 00000 n 
-0000331372 00000 n 
-0000331594 00000 n 
-0000332741 00000 n 
-0000331791 00000 n 
-0000332014 00000 n 
-0000332801 00000 n 
-0000332978 00000 n 
-0000332204 00000 n 
-0000346264 00000 n 
-0000337343 00000 n 
-0000333176 00000 n 
-0000345427 00000 n 
-0000345487 00000 n 
-0000337823 00000 n 
-0000338038 00000 n 
-0000338220 00000 n 
-0000338417 00000 n 
-0000338614 00000 n 
-0000345546 00000 n 
-0000338811 00000 n 
-0000339025 00000 n 
-0000345606 00000 n 
-0000339206 00000 n 
-0000339421 00000 n 
-0000339603 00000 n 
-0000339801 00000 n 
-0000345666 00000 n 
-0000339998 00000 n 
-0000340213 00000 n 
-0000340395 00000 n 
-0000340593 00000 n 
-0000345726 00000 n 
-0000340790 00000 n 
-0000341005 00000 n 
-0000345785 00000 n 
-0000341202 00000 n 
-0000341417 00000 n 
-0000341615 00000 n 
-0000345845 00000 n 
-0000341813 00000 n 
-0000342028 00000 n 
-0000345905 00000 n 
-0000342225 00000 n 
-0000342440 00000 n 
-0000342638 00000 n 
-0000342835 00000 n 
-0000345965 00000 n 
-0000343013 00000 n 
-0000343228 00000 n 
-0000343426 00000 n 
-0000346024 00000 n 
-0000343604 00000 n 
-0000343819 00000 n 
-0000346084 00000 n 
-0000344017 00000 n 
-0000344231 00000 n 
-0000346144 00000 n 
-0000344428 00000 n 
-0000344643 00000 n 
-0000346204 00000 n 
-0000344841 00000 n 
-0000345054 00000 n 
-0000345250 00000 n 
-0000355400 00000 n 
-0000349362 00000 n 
-0000346417 00000 n 
-0000354686 00000 n 
-0000354746 00000 n 
-0000349725 00000 n 
-0000349940 00000 n 
-0000354806 00000 n 
-0000354983 00000 n 
-0000355043 00000 n 
-0000350122 00000 n 
-0000350340 00000 n 
-0000355103 00000 n 
-0000350525 00000 n 
-0000350743 00000 n 
-0000350926 00000 n 
-0000351124 00000 n 
-0000355163 00000 n 
-0000351322 00000 n 
-0000351540 00000 n 
-0000351725 00000 n 
-0000351923 00000 n 
-0000355222 00000 n 
-0000352121 00000 n 
-0000352338 00000 n 
-0000352523 00000 n 
-0000352721 00000 n 
-0000355281 00000 n 
-0000352919 00000 n 
-0000353137 00000 n 
-0000353321 00000 n 
-0000353519 00000 n 
-0000355340 00000 n 
-0000353717 00000 n 
-0000353933 00000 n 
-0000354116 00000 n 
-0000354313 00000 n 
-0000354509 00000 n 
-0000368475 00000 n 
-0000359288 00000 n 
-0000355538 00000 n 
-0000367756 00000 n 
-0000367816 00000 n 
-0000359786 00000 n 
-0000360004 00000 n 
-0000360188 00000 n 
-0000360386 00000 n 
-0000367876 00000 n 
-0000360584 00000 n 
-0000360802 00000 n 
-0000360987 00000 n 
-0000361185 00000 n 
-0000367936 00000 n 
-0000361382 00000 n 
-0000361600 00000 n 
-0000367996 00000 n 
-0000361798 00000 n 
-0000362016 00000 n 
-0000362214 00000 n 
-0000362412 00000 n 
-0000368056 00000 n 
-0000362610 00000 n 
-0000362825 00000 n 
-0000363021 00000 n 
-0000363218 00000 n 
-0000368115 00000 n 
-0000363396 00000 n 
-0000363614 00000 n 
-0000363812 00000 n 
-0000363990 00000 n 
-0000368175 00000 n 
-0000364168 00000 n 
-0000364386 00000 n 
-0000368235 00000 n 
-0000364584 00000 n 
-0000364802 00000 n 
-0000364986 00000 n 
-0000365184 00000 n 
-0000368295 00000 n 
-0000365382 00000 n 
-0000365600 00000 n 
-0000365784 00000 n 
-0000365982 00000 n 
-0000368355 00000 n 
-0000366180 00000 n 
-0000366397 00000 n 
-0000366582 00000 n 
-0000366780 00000 n 
-0000368415 00000 n 
-0000366978 00000 n 
-0000367196 00000 n 
-0000367381 00000 n 
-0000367579 00000 n 
-0000795696 00000 n 
-0000375766 00000 n 
-0000371173 00000 n 
-0000368600 00000 n 
-0000374932 00000 n 
-0000374992 00000 n 
-0000371464 00000 n 
-0000371682 00000 n 
-0000371867 00000 n 
-0000372065 00000 n 
-0000375051 00000 n 
-0000372262 00000 n 
-0000372480 00000 n 
-0000375111 00000 n 
-0000372678 00000 n 
-0000372895 00000 n 
-0000375171 00000 n 
-0000373093 00000 n 
-0000373310 00000 n 
-0000375231 00000 n 
-0000373505 00000 n 
-0000373722 00000 n 
-0000375291 00000 n 
-0000375468 00000 n 
-0000375527 00000 n 
-0000373907 00000 n 
-0000375587 00000 n 
-0000374119 00000 n 
-0000375646 00000 n 
-0000374331 00000 n 
-0000375706 00000 n 
-0000374543 00000 n 
-0000374755 00000 n 
-0000387918 00000 n 
-0000379423 00000 n 
-0000375904 00000 n 
-0000387079 00000 n 
-0000387139 00000 n 
-0000379885 00000 n 
-0000387198 00000 n 
-0000380097 00000 n 
-0000387258 00000 n 
-0000380309 00000 n 
-0000387318 00000 n 
-0000380521 00000 n 
-0000387378 00000 n 
-0000380732 00000 n 
-0000387438 00000 n 
-0000380942 00000 n 
-0000381154 00000 n 
-0000381332 00000 n 
-0000381530 00000 n 
-0000387498 00000 n 
-0000381728 00000 n 
-0000381939 00000 n 
-0000382117 00000 n 
-0000382314 00000 n 
-0000382511 00000 n 
-0000382709 00000 n 
-0000387558 00000 n 
-0000382907 00000 n 
-0000383119 00000 n 
-0000383298 00000 n 
-0000383496 00000 n 
-0000387618 00000 n 
-0000383694 00000 n 
-0000383906 00000 n 
-0000384085 00000 n 
-0000384283 00000 n 
-0000387678 00000 n 
-0000384481 00000 n 
-0000384693 00000 n 
-0000387738 00000 n 
-0000384891 00000 n 
-0000385102 00000 n 
-0000385299 00000 n 
-0000387798 00000 n 
-0000385496 00000 n 
-0000385707 00000 n 
-0000385905 00000 n 
-0000387858 00000 n 
-0000386103 00000 n 
-0000386313 00000 n 
-0000386509 00000 n 
-0000386706 00000 n 
-0000386902 00000 n 
-0000401249 00000 n 
-0000392045 00000 n 
-0000388043 00000 n 
-0000400469 00000 n 
-0000400529 00000 n 
-0000392543 00000 n 
-0000392755 00000 n 
-0000392953 00000 n 
-0000393151 00000 n 
-0000400589 00000 n 
-0000393348 00000 n 
-0000393560 00000 n 
-0000393758 00000 n 
-0000393956 00000 n 
-0000400649 00000 n 
-0000394154 00000 n 
-0000394366 00000 n 
-0000394564 00000 n 
-0000394761 00000 n 
-0000400709 00000 n 
-0000394959 00000 n 
-0000395171 00000 n 
-0000400769 00000 n 
-0000395369 00000 n 
-0000395581 00000 n 
-0000400829 00000 n 
-0000395779 00000 n 
-0000395991 00000 n 
-0000400889 00000 n 
-0000396169 00000 n 
-0000396380 00000 n 
-0000396558 00000 n 
-0000396755 00000 n 
-0000400949 00000 n 
-0000396953 00000 n 
-0000397165 00000 n 
-0000397344 00000 n 
-0000397542 00000 n 
-0000401009 00000 n 
-0000397739 00000 n 
-0000397951 00000 n 
-0000398130 00000 n 
-0000401069 00000 n 
-0000398328 00000 n 
-0000398540 00000 n 
-0000398719 00000 n 
-0000398917 00000 n 
-0000401129 00000 n 
-0000399115 00000 n 
-0000399327 00000 n 
-0000399506 00000 n 
-0000399703 00000 n 
-0000401189 00000 n 
-0000399901 00000 n 
-0000400113 00000 n 
-0000400292 00000 n 
-0000412872 00000 n 
-0000404814 00000 n 
-0000401374 00000 n 
-0000412213 00000 n 
-0000412273 00000 n 
-0000405267 00000 n 
-0000405479 00000 n 
-0000405677 00000 n 
-0000405889 00000 n 
-0000406087 00000 n 
-0000406299 00000 n 
-0000406497 00000 n 
-0000406695 00000 n 
-0000406891 00000 n 
-0000407067 00000 n 
-0000412333 00000 n 
-0000407243 00000 n 
-0000407455 00000 n 
-0000407653 00000 n 
-0000407850 00000 n 
-0000412393 00000 n 
-0000408048 00000 n 
-0000408259 00000 n 
-0000408457 00000 n 
-0000408655 00000 n 
-0000408853 00000 n 
-0000409064 00000 n 
-0000409261 00000 n 
-0000409438 00000 n 
-0000412453 00000 n 
-0000409616 00000 n 
-0000409828 00000 n 
-0000412513 00000 n 
-0000410026 00000 n 
-0000410238 00000 n 
-0000412573 00000 n 
-0000410417 00000 n 
-0000410629 00000 n 
-0000412633 00000 n 
-0000410827 00000 n 
-0000411039 00000 n 
-0000412693 00000 n 
-0000411237 00000 n 
-0000411448 00000 n 
-0000412753 00000 n 
-0000411645 00000 n 
-0000411857 00000 n 
-0000412812 00000 n 
-0000412036 00000 n 
-0000415834 00000 n 
-0000415954 00000 n 
-0000416073 00000 n 
-0000416371 00000 n 
-0000415182 00000 n 
-0000412997 00000 n 
-0000415715 00000 n 
-0000415775 00000 n 
-0000415894 00000 n 
-0000416013 00000 n 
-0000416133 00000 n 
-0000415338 00000 n 
-0000416311 00000 n 
-0000415538 00000 n 
-0000428717 00000 n 
-0000419724 00000 n 
-0000416483 00000 n 
-0000427941 00000 n 
-0000428001 00000 n 
-0000420186 00000 n 
-0000420436 00000 n 
-0000420653 00000 n 
-0000428060 00000 n 
-0000420869 00000 n 
-0000421119 00000 n 
-0000421336 00000 n 
-0000421553 00000 n 
-0000421751 00000 n 
-0000428119 00000 n 
-0000421949 00000 n 
-0000422199 00000 n 
-0000422397 00000 n 
-0000422594 00000 n 
-0000428179 00000 n 
-0000422809 00000 n 
-0000423059 00000 n 
-0000423257 00000 n 
-0000423455 00000 n 
-0000428239 00000 n 
-0000423671 00000 n 
-0000423921 00000 n 
-0000424119 00000 n 
-0000424314 00000 n 
-0000424564 00000 n 
-0000424762 00000 n 
-0000424960 00000 n 
-0000428299 00000 n 
-0000425158 00000 n 
-0000425407 00000 n 
-0000425624 00000 n 
-0000428359 00000 n 
-0000425841 00000 n 
-0000426090 00000 n 
-0000426306 00000 n 
-0000428419 00000 n 
-0000426522 00000 n 
-0000426772 00000 n 
-0000426970 00000 n 
-0000427168 00000 n 
-0000427366 00000 n 
-0000428479 00000 n 
-0000427564 00000 n 
-0000428539 00000 n 
-0000428599 00000 n 
-0000428658 00000 n 
-0000427764 00000 n 
-0000795821 00000 n 
-0000439280 00000 n 
-0000432025 00000 n 
-0000428855 00000 n 
-0000438622 00000 n 
-0000432424 00000 n 
-0000438800 00000 n 
-0000438860 00000 n 
-0000432624 00000 n 
-0000432867 00000 n 
-0000433077 00000 n 
-0000438920 00000 n 
-0000433287 00000 n 
-0000433530 00000 n 
-0000433740 00000 n 
-0000433950 00000 n 
-0000438980 00000 n 
-0000434148 00000 n 
-0000434389 00000 n 
-0000434588 00000 n 
-0000434788 00000 n 
-0000439040 00000 n 
-0000434998 00000 n 
-0000435241 00000 n 
-0000435441 00000 n 
-0000439100 00000 n 
-0000435649 00000 n 
-0000435892 00000 n 
-0000436090 00000 n 
-0000436288 00000 n 
-0000436530 00000 n 
-0000436728 00000 n 
-0000436926 00000 n 
-0000439160 00000 n 
-0000437124 00000 n 
-0000437366 00000 n 
-0000437576 00000 n 
-0000439220 00000 n 
-0000437786 00000 n 
-0000438028 00000 n 
-0000438237 00000 n 
-0000438445 00000 n 
-0000445195 00000 n 
-0000445552 00000 n 
-0000442245 00000 n 
-0000439405 00000 n 
-0000444955 00000 n 
-0000445015 00000 n 
-0000442491 00000 n 
-0000442734 00000 n 
-0000442932 00000 n 
-0000443127 00000 n 
-0000445075 00000 n 
-0000443322 00000 n 
-0000445135 00000 n 
-0000445255 00000 n 
-0000445432 00000 n 
-0000445492 00000 n 
-0000443522 00000 n 
-0000443754 00000 n 
-0000443952 00000 n 
-0000444150 00000 n 
-0000444383 00000 n 
-0000444581 00000 n 
-0000444778 00000 n 
-0000456104 00000 n 
-0000456224 00000 n 
-0000448943 00000 n 
-0000445690 00000 n 
-0000455566 00000 n 
-0000455626 00000 n 
-0000449351 00000 n 
-0000449583 00000 n 
-0000449816 00000 n 
-0000450014 00000 n 
-0000450212 00000 n 
-0000455686 00000 n 
-0000450409 00000 n 
-0000450642 00000 n 
-0000450873 00000 n 
-0000451069 00000 n 
-0000451265 00000 n 
-0000455745 00000 n 
-0000451463 00000 n 
-0000451696 00000 n 
-0000451896 00000 n 
-0000452095 00000 n 
-0000455805 00000 n 
-0000452292 00000 n 
-0000452525 00000 n 
-0000452725 00000 n 
-0000452923 00000 n 
-0000453119 00000 n 
-0000453327 00000 n 
-0000455864 00000 n 
-0000453537 00000 n 
-0000453769 00000 n 
-0000453968 00000 n 
-0000454168 00000 n 
-0000454366 00000 n 
-0000454564 00000 n 
-0000455924 00000 n 
-0000454759 00000 n 
-0000454990 00000 n 
-0000455189 00000 n 
-0000455984 00000 n 
-0000456044 00000 n 
-0000456164 00000 n 
-0000455389 00000 n 
-0000466583 00000 n 
-0000459556 00000 n 
-0000456362 00000 n 
-0000466167 00000 n 
-0000466343 00000 n 
-0000466403 00000 n 
-0000459982 00000 n 
-0000460192 00000 n 
-0000460368 00000 n 
-0000460566 00000 n 
-0000466463 00000 n 
-0000460764 00000 n 
-0000460973 00000 n 
-0000461150 00000 n 
-0000461348 00000 n 
-0000461546 00000 n 
-0000461756 00000 n 
-0000461933 00000 n 
-0000462131 00000 n 
-0000462341 00000 n 
-0000462518 00000 n 
-0000462716 00000 n 
-0000462914 00000 n 
-0000463123 00000 n 
-0000463299 00000 n 
-0000463483 00000 n 
-0000463668 00000 n 
-0000463878 00000 n 
-0000464055 00000 n 
-0000464253 00000 n 
-0000464451 00000 n 
-0000464661 00000 n 
-0000464838 00000 n 
-0000465023 00000 n 
-0000466523 00000 n 
-0000465208 00000 n 
-0000465418 00000 n 
-0000465595 00000 n 
-0000465793 00000 n 
-0000465990 00000 n 
-0000591229 00000 n 
-0000593947 00000 n 
-0000594067 00000 n 
-0000594191 00000 n 
-0000594311 00000 n 
-0000478425 00000 n 
-0000470521 00000 n 
-0000466708 00000 n 
-0000478125 00000 n 
-0000478185 00000 n 
-0000470992 00000 n 
-0000471202 00000 n 
-0000471377 00000 n 
-0000471575 00000 n 
-0000478245 00000 n 
-0000471773 00000 n 
-0000471983 00000 n 
-0000472159 00000 n 
-0000472357 00000 n 
-0000472555 00000 n 
-0000472765 00000 n 
-0000472941 00000 n 
-0000473117 00000 n 
-0000473313 00000 n 
-0000473523 00000 n 
-0000473700 00000 n 
-0000473898 00000 n 
-0000474095 00000 n 
-0000474305 00000 n 
-0000474481 00000 n 
-0000474666 00000 n 
-0000474849 00000 n 
-0000475059 00000 n 
-0000475236 00000 n 
-0000475434 00000 n 
-0000475631 00000 n 
-0000475841 00000 n 
-0000476018 00000 n 
-0000476203 00000 n 
-0000478305 00000 n 
-0000476387 00000 n 
-0000476596 00000 n 
-0000476771 00000 n 
-0000476968 00000 n 
-0000478365 00000 n 
-0000477166 00000 n 
-0000477375 00000 n 
-0000477552 00000 n 
-0000477750 00000 n 
-0000477948 00000 n 
-0000594437 00000 n 
-0000597063 00000 n 
-0000597183 00000 n 
-0000597308 00000 n 
-0000597428 00000 n 
-0000491917 00000 n 
-0000482293 00000 n 
-0000478550 00000 n 
-0000491377 00000 n 
-0000482818 00000 n 
-0000483027 00000 n 
-0000483204 00000 n 
-0000491437 00000 n 
-0000483401 00000 n 
-0000483610 00000 n 
-0000483787 00000 n 
-0000483985 00000 n 
-0000484183 00000 n 
-0000484391 00000 n 
-0000484567 00000 n 
-0000491497 00000 n 
-0000484765 00000 n 
-0000484975 00000 n 
-0000491557 00000 n 
-0000485172 00000 n 
-0000485382 00000 n 
-0000485580 00000 n 
-0000491617 00000 n 
-0000485778 00000 n 
-0000485987 00000 n 
-0000486183 00000 n 
-0000486380 00000 n 
-0000486589 00000 n 
-0000486787 00000 n 
-0000486985 00000 n 
-0000487182 00000 n 
-0000487392 00000 n 
-0000487589 00000 n 
-0000487787 00000 n 
-0000491677 00000 n 
-0000487985 00000 n 
-0000488195 00000 n 
-0000488393 00000 n 
-0000488591 00000 n 
-0000491737 00000 n 
-0000488789 00000 n 
-0000488999 00000 n 
-0000489197 00000 n 
-0000489395 00000 n 
-0000491797 00000 n 
-0000489593 00000 n 
-0000489803 00000 n 
-0000490001 00000 n 
-0000490199 00000 n 
-0000491857 00000 n 
-0000490397 00000 n 
-0000490607 00000 n 
-0000490805 00000 n 
-0000491003 00000 n 
-0000491200 00000 n 
-0000795946 00000 n 
-0000597554 00000 n 
-0000601031 00000 n 
-0000601151 00000 n 
-0000601271 00000 n 
-0000507284 00000 n 
-0000496045 00000 n 
-0000492042 00000 n 
-0000506565 00000 n 
-0000506625 00000 n 
-0000496642 00000 n 
-0000496851 00000 n 
-0000506685 00000 n 
-0000497049 00000 n 
-0000497258 00000 n 
-0000506745 00000 n 
-0000497454 00000 n 
-0000497663 00000 n 
-0000506805 00000 n 
-0000497861 00000 n 
-0000498071 00000 n 
-0000506865 00000 n 
-0000498269 00000 n 
-0000498478 00000 n 
-0000506925 00000 n 
-0000498673 00000 n 
-0000498881 00000 n 
-0000506985 00000 n 
-0000499079 00000 n 
-0000499289 00000 n 
-0000499466 00000 n 
-0000507045 00000 n 
-0000499664 00000 n 
-0000499874 00000 n 
-0000500071 00000 n 
-0000500268 00000 n 
-0000507105 00000 n 
-0000500466 00000 n 
-0000500674 00000 n 
-0000500870 00000 n 
-0000501065 00000 n 
-0000501263 00000 n 
-0000501472 00000 n 
-0000501670 00000 n 
-0000501867 00000 n 
-0000502064 00000 n 
-0000502241 00000 n 
-0000502417 00000 n 
-0000502592 00000 n 
-0000507165 00000 n 
-0000502768 00000 n 
-0000502978 00000 n 
-0000503176 00000 n 
-0000503374 00000 n 
-0000503549 00000 n 
-0000503723 00000 n 
-0000503933 00000 n 
-0000504130 00000 n 
-0000504327 00000 n 
-0000504525 00000 n 
-0000504703 00000 n 
-0000504880 00000 n 
-0000505056 00000 n 
-0000507225 00000 n 
-0000505231 00000 n 
-0000505441 00000 n 
-0000505638 00000 n 
-0000505835 00000 n 
-0000506033 00000 n 
-0000506210 00000 n 
-0000506388 00000 n 
-0000601397 00000 n 
-0000601523 00000 n 
-0000522054 00000 n 
-0000511287 00000 n 
-0000507409 00000 n 
-0000521277 00000 n 
-0000521337 00000 n 
-0000511857 00000 n 
-0000512067 00000 n 
-0000512265 00000 n 
-0000521396 00000 n 
-0000512463 00000 n 
-0000512673 00000 n 
-0000512871 00000 n 
-0000513069 00000 n 
-0000521455 00000 n 
-0000513267 00000 n 
-0000513477 00000 n 
-0000513675 00000 n 
-0000513873 00000 n 
-0000514071 00000 n 
-0000514279 00000 n 
-0000514475 00000 n 
-0000521515 00000 n 
-0000514671 00000 n 
-0000514880 00000 n 
-0000521575 00000 n 
-0000515077 00000 n 
-0000515287 00000 n 
-0000521634 00000 n 
-0000515485 00000 n 
-0000515695 00000 n 
-0000521694 00000 n 
-0000515893 00000 n 
-0000516103 00000 n 
-0000516280 00000 n 
-0000521754 00000 n 
-0000516478 00000 n 
-0000516688 00000 n 
-0000516864 00000 n 
-0000521814 00000 n 
-0000517062 00000 n 
-0000517270 00000 n 
-0000517445 00000 n 
-0000521874 00000 n 
-0000517641 00000 n 
-0000517851 00000 n 
-0000518028 00000 n 
-0000518226 00000 n 
-0000518424 00000 n 
-0000518634 00000 n 
-0000518811 00000 n 
-0000518996 00000 n 
-0000519181 00000 n 
-0000519391 00000 n 
-0000519568 00000 n 
-0000519753 00000 n 
-0000521934 00000 n 
-0000519937 00000 n 
-0000520146 00000 n 
-0000520322 00000 n 
-0000521994 00000 n 
-0000520518 00000 n 
-0000520727 00000 n 
-0000520903 00000 n 
-0000521100 00000 n 
-0000604811 00000 n 
-0000604937 00000 n 
-0000605062 00000 n 
-0000539466 00000 n 
-0000526891 00000 n 
-0000522179 00000 n 
-0000538866 00000 n 
-0000538926 00000 n 
-0000527551 00000 n 
-0000527760 00000 n 
-0000527937 00000 n 
-0000528135 00000 n 
-0000538986 00000 n 
-0000528333 00000 n 
-0000528543 00000 n 
-0000528720 00000 n 
-0000528918 00000 n 
-0000539046 00000 n 
-0000529116 00000 n 
-0000529324 00000 n 
-0000529500 00000 n 
-0000529697 00000 n 
-0000529907 00000 n 
-0000530084 00000 n 
-0000539106 00000 n 
-0000530281 00000 n 
-0000530491 00000 n 
-0000530667 00000 n 
-0000539166 00000 n 
-0000530865 00000 n 
-0000531075 00000 n 
-0000531252 00000 n 
-0000531450 00000 n 
-0000539226 00000 n 
-0000531646 00000 n 
-0000531856 00000 n 
-0000532033 00000 n 
-0000539286 00000 n 
-0000532230 00000 n 
-0000532440 00000 n 
-0000539346 00000 n 
-0000532617 00000 n 
-0000532827 00000 n 
-0000533004 00000 n 
-0000539406 00000 n 
-0000533202 00000 n 
-0000533412 00000 n 
-0000533589 00000 n 
-0000533787 00000 n 
-0000533996 00000 n 
-0000534173 00000 n 
-0000534370 00000 n 
-0000534568 00000 n 
-0000534766 00000 n 
-0000534964 00000 n 
-0000535172 00000 n 
-0000535348 00000 n 
-0000535545 00000 n 
-0000535742 00000 n 
-0000535940 00000 n 
-0000536138 00000 n 
-0000536347 00000 n 
-0000536524 00000 n 
-0000536722 00000 n 
-0000536920 00000 n 
-0000537117 00000 n 
-0000537314 00000 n 
-0000537511 00000 n 
-0000537721 00000 n 
-0000537898 00000 n 
-0000538096 00000 n 
-0000538294 00000 n 
-0000538491 00000 n 
-0000538689 00000 n 
-0000605181 00000 n 
-0000605301 00000 n 
-0000608194 00000 n 
-0000608314 00000 n 
-0000608434 00000 n 
-0000554742 00000 n 
-0000544018 00000 n 
-0000539631 00000 n 
-0000554382 00000 n 
-0000544606 00000 n 
-0000544815 00000 n 
-0000544992 00000 n 
-0000545189 00000 n 
-0000545387 00000 n 
-0000545585 00000 n 
-0000545783 00000 n 
-0000545981 00000 n 
-0000546191 00000 n 
-0000546368 00000 n 
-0000546566 00000 n 
-0000546763 00000 n 
-0000546961 00000 n 
-0000547159 00000 n 
-0000547357 00000 n 
-0000547567 00000 n 
-0000547744 00000 n 
-0000547942 00000 n 
-0000548140 00000 n 
-0000548337 00000 n 
-0000548534 00000 n 
-0000548730 00000 n 
-0000548940 00000 n 
-0000549117 00000 n 
-0000549315 00000 n 
-0000549513 00000 n 
-0000549710 00000 n 
-0000549907 00000 n 
-0000554442 00000 n 
-0000550105 00000 n 
-0000550315 00000 n 
-0000550492 00000 n 
-0000554502 00000 n 
-0000550690 00000 n 
-0000550900 00000 n 
-0000551077 00000 n 
-0000551275 00000 n 
-0000554562 00000 n 
-0000551473 00000 n 
-0000551683 00000 n 
-0000551860 00000 n 
-0000552058 00000 n 
-0000554622 00000 n 
-0000552256 00000 n 
-0000552465 00000 n 
-0000552641 00000 n 
-0000554682 00000 n 
-0000552838 00000 n 
-0000553048 00000 n 
-0000553225 00000 n 
-0000553423 00000 n 
-0000553620 00000 n 
-0000553830 00000 n 
-0000554007 00000 n 
-0000554205 00000 n 
-0000608553 00000 n 
-0000611719 00000 n 
-0000611838 00000 n 
-0000611958 00000 n 
-0000615144 00000 n 
-0000566710 00000 n 
-0000558748 00000 n 
-0000554907 00000 n 
-0000566230 00000 n 
-0000566290 00000 n 
-0000559210 00000 n 
-0000559419 00000 n 
-0000559595 00000 n 
-0000559792 00000 n 
-0000566350 00000 n 
-0000559990 00000 n 
-0000560200 00000 n 
-0000560377 00000 n 
-0000560575 00000 n 
-0000566410 00000 n 
-0000560771 00000 n 
-0000560980 00000 n 
-0000566470 00000 n 
-0000561177 00000 n 
-0000561387 00000 n 
-0000566530 00000 n 
-0000561585 00000 n 
-0000561795 00000 n 
-0000566590 00000 n 
-0000561993 00000 n 
-0000562203 00000 n 
-0000562380 00000 n 
-0000562590 00000 n 
-0000562765 00000 n 
-0000562963 00000 n 
-0000563161 00000 n 
-0000563370 00000 n 
-0000563546 00000 n 
-0000563729 00000 n 
-0000563913 00000 n 
-0000564123 00000 n 
-0000564300 00000 n 
-0000564498 00000 n 
-0000564695 00000 n 
-0000564903 00000 n 
-0000565079 00000 n 
-0000565263 00000 n 
-0000566650 00000 n 
-0000565447 00000 n 
-0000565657 00000 n 
-0000565855 00000 n 
-0000566053 00000 n 
-0000615263 00000 n 
-0000615387 00000 n 
-0000615511 00000 n 
-0000615631 00000 n 
-0000581982 00000 n 
-0000571080 00000 n 
-0000566848 00000 n 
-0000581203 00000 n 
-0000581263 00000 n 
-0000571659 00000 n 
-0000571869 00000 n 
-0000572067 00000 n 
-0000572265 00000 n 
-0000581322 00000 n 
-0000572462 00000 n 
-0000572672 00000 n 
-0000572848 00000 n 
-0000581382 00000 n 
-0000573046 00000 n 
-0000573256 00000 n 
-0000573433 00000 n 
-0000573631 00000 n 
-0000573840 00000 n 
-0000574017 00000 n 
-0000574201 00000 n 
-0000581442 00000 n 
-0000574385 00000 n 
-0000574595 00000 n 
-0000574772 00000 n 
-0000581502 00000 n 
-0000574970 00000 n 
-0000575180 00000 n 
-0000575357 00000 n 
-0000581562 00000 n 
-0000575555 00000 n 
-0000575765 00000 n 
-0000575942 00000 n 
-0000576140 00000 n 
-0000581622 00000 n 
-0000576338 00000 n 
-0000576548 00000 n 
-0000576725 00000 n 
-0000576923 00000 n 
-0000581682 00000 n 
-0000577121 00000 n 
-0000577331 00000 n 
-0000577508 00000 n 
-0000581742 00000 n 
-0000577705 00000 n 
-0000577915 00000 n 
-0000578092 00000 n 
-0000581802 00000 n 
-0000578290 00000 n 
-0000578500 00000 n 
-0000578677 00000 n 
-0000578875 00000 n 
-0000581862 00000 n 
-0000579073 00000 n 
-0000579283 00000 n 
-0000579460 00000 n 
-0000579658 00000 n 
-0000579856 00000 n 
-0000581922 00000 n 
-0000580053 00000 n 
-0000580262 00000 n 
-0000580437 00000 n 
-0000580634 00000 n 
-0000580830 00000 n 
-0000581026 00000 n 
-0000796071 00000 n 
-0000617378 00000 n 
-0000591349 00000 n 
-0000585713 00000 n 
-0000582120 00000 n 
-0000590749 00000 n 
-0000590809 00000 n 
-0000586067 00000 n 
-0000586277 00000 n 
-0000586454 00000 n 
-0000586652 00000 n 
-0000586849 00000 n 
-0000590869 00000 n 
-0000587046 00000 n 
-0000587255 00000 n 
-0000587431 00000 n 
-0000587629 00000 n 
-0000590929 00000 n 
-0000587827 00000 n 
-0000588037 00000 n 
-0000588214 00000 n 
-0000588412 00000 n 
-0000590989 00000 n 
-0000588610 00000 n 
-0000588820 00000 n 
-0000588997 00000 n 
-0000589195 00000 n 
-0000589393 00000 n 
-0000591049 00000 n 
-0000589591 00000 n 
-0000589801 00000 n 
-0000589978 00000 n 
-0000590176 00000 n 
-0000590374 00000 n 
-0000591109 00000 n 
-0000591169 00000 n 
-0000591289 00000 n 
-0000590572 00000 n 
-0000594556 00000 n 
-0000593563 00000 n 
-0000591527 00000 n 
-0000593887 00000 n 
-0000594007 00000 n 
-0000594133 00000 n 
-0000594251 00000 n 
-0000594377 00000 n 
-0000594497 00000 n 
-0000593710 00000 n 
-0000597674 00000 n 
-0000596679 00000 n 
-0000594681 00000 n 
-0000597003 00000 n 
-0000597123 00000 n 
-0000597249 00000 n 
-0000597368 00000 n 
-0000597494 00000 n 
-0000597614 00000 n 
-0000596826 00000 n 
-0000601588 00000 n 
-0000600647 00000 n 
-0000597799 00000 n 
-0000600971 00000 n 
-0000601091 00000 n 
-0000601211 00000 n 
-0000601337 00000 n 
-0000601463 00000 n 
-0000600794 00000 n 
-0000605366 00000 n 
-0000604368 00000 n 
-0000601713 00000 n 
-0000604692 00000 n 
-0000604752 00000 n 
-0000604877 00000 n 
-0000605003 00000 n 
-0000605121 00000 n 
-0000605241 00000 n 
-0000604515 00000 n 
-0000608612 00000 n 
-0000607751 00000 n 
-0000605491 00000 n 
-0000608075 00000 n 
-0000608135 00000 n 
-0000608254 00000 n 
-0000608374 00000 n 
-0000660403 00000 n 
-0000657950 00000 n 
-0000660239 00000 n 
-0000657629 00000 n 
-0000656207 00000 n 
-0000657465 00000 n 
-0000608493 00000 n 
-0000607898 00000 n 
-0000796196 00000 n 
-0000612078 00000 n 
-0000611276 00000 n 
-0000608789 00000 n 
-0000611600 00000 n 
-0000611660 00000 n 
-0000611779 00000 n 
-0000611898 00000 n 
-0000612018 00000 n 
-0000611423 00000 n 
-0000615756 00000 n 
-0000614760 00000 n 
-0000612255 00000 n 
-0000615084 00000 n 
-0000615203 00000 n 
-0000615328 00000 n 
-0000615453 00000 n 
-0000615571 00000 n 
-0000615697 00000 n 
-0000614907 00000 n 
-0000617497 00000 n 
-0000616994 00000 n 
-0000615907 00000 n 
-0000617318 00000 n 
-0000617438 00000 n 
-0000617141 00000 n 
-0000631404 00000 n 
-0000621001 00000 n 
-0000617609 00000 n 
-0000631284 00000 n 
-0000631344 00000 n 
-0000621697 00000 n 
-0000621851 00000 n 
-0000622006 00000 n 
-0000622161 00000 n 
-0000622316 00000 n 
-0000622470 00000 n 
-0000622625 00000 n 
-0000622780 00000 n 
-0000622934 00000 n 
-0000623089 00000 n 
-0000623244 00000 n 
-0000623399 00000 n 
-0000623554 00000 n 
-0000623709 00000 n 
-0000623864 00000 n 
-0000624019 00000 n 
-0000624172 00000 n 
-0000624326 00000 n 
-0000624479 00000 n 
-0000624634 00000 n 
-0000624788 00000 n 
-0000624943 00000 n 
-0000625098 00000 n 
-0000625253 00000 n 
-0000625407 00000 n 
-0000625561 00000 n 
-0000625715 00000 n 
-0000625869 00000 n 
-0000626024 00000 n 
-0000626176 00000 n 
-0000626331 00000 n 
-0000626485 00000 n 
-0000626640 00000 n 
-0000626795 00000 n 
-0000626950 00000 n 
-0000627104 00000 n 
-0000627259 00000 n 
-0000627413 00000 n 
-0000627568 00000 n 
-0000627723 00000 n 
-0000627878 00000 n 
-0000628033 00000 n 
-0000628188 00000 n 
-0000628343 00000 n 
-0000628498 00000 n 
-0000628653 00000 n 
-0000628808 00000 n 
-0000628963 00000 n 
-0000629118 00000 n 
-0000629273 00000 n 
-0000629428 00000 n 
-0000629582 00000 n 
-0000629737 00000 n 
-0000629892 00000 n 
-0000630047 00000 n 
-0000630202 00000 n 
-0000630357 00000 n 
-0000630512 00000 n 
-0000630667 00000 n 
-0000630822 00000 n 
-0000630977 00000 n 
-0000631132 00000 n 
-0000643203 00000 n 
-0000634474 00000 n 
-0000631490 00000 n 
-0000643143 00000 n 
-0000635080 00000 n 
-0000635235 00000 n 
-0000635389 00000 n 
-0000635544 00000 n 
-0000635699 00000 n 
-0000635852 00000 n 
-0000636007 00000 n 
-0000636162 00000 n 
-0000636317 00000 n 
-0000636471 00000 n 
-0000636626 00000 n 
-0000636781 00000 n 
-0000636936 00000 n 
-0000637091 00000 n 
-0000637245 00000 n 
-0000637400 00000 n 
-0000637555 00000 n 
-0000637709 00000 n 
-0000637863 00000 n 
-0000638017 00000 n 
-0000638172 00000 n 
-0000638326 00000 n 
-0000638481 00000 n 
-0000638636 00000 n 
-0000638791 00000 n 
-0000638946 00000 n 
-0000639101 00000 n 
-0000639253 00000 n 
-0000639408 00000 n 
-0000639562 00000 n 
-0000639716 00000 n 
-0000639871 00000 n 
-0000640026 00000 n 
-0000640181 00000 n 
-0000640336 00000 n 
-0000640491 00000 n 
-0000640646 00000 n 
-0000640801 00000 n 
-0000640956 00000 n 
-0000641111 00000 n 
-0000641266 00000 n 
-0000641420 00000 n 
-0000641575 00000 n 
-0000641729 00000 n 
-0000641884 00000 n 
-0000642039 00000 n 
-0000642194 00000 n 
-0000642349 00000 n 
-0000642504 00000 n 
-0000642658 00000 n 
-0000642813 00000 n 
-0000642966 00000 n 
-0000656108 00000 n 
-0000646408 00000 n 
-0000643302 00000 n 
-0000656048 00000 n 
-0000647068 00000 n 
-0000647222 00000 n 
-0000647377 00000 n 
-0000647532 00000 n 
-0000647685 00000 n 
-0000647840 00000 n 
-0000647995 00000 n 
-0000648149 00000 n 
-0000648304 00000 n 
-0000648459 00000 n 
-0000648614 00000 n 
-0000648769 00000 n 
-0000648924 00000 n 
-0000649079 00000 n 
-0000649234 00000 n 
-0000649389 00000 n 
-0000649541 00000 n 
-0000649696 00000 n 
-0000649851 00000 n 
-0000650004 00000 n 
-0000650158 00000 n 
-0000650313 00000 n 
-0000650465 00000 n 
-0000650620 00000 n 
-0000650774 00000 n 
-0000650928 00000 n 
-0000651083 00000 n 
-0000651236 00000 n 
-0000651390 00000 n 
-0000651544 00000 n 
-0000651699 00000 n 
-0000651851 00000 n 
-0000652005 00000 n 
-0000652160 00000 n 
-0000652315 00000 n 
-0000652470 00000 n 
-0000652624 00000 n 
-0000652778 00000 n 
-0000652933 00000 n 
-0000653088 00000 n 
-0000653242 00000 n 
-0000653397 00000 n 
-0000653552 00000 n 
-0000653707 00000 n 
-0000653859 00000 n 
-0000654014 00000 n 
-0000654168 00000 n 
-0000654322 00000 n 
-0000654477 00000 n 
-0000654632 00000 n 
-0000654787 00000 n 
-0000654942 00000 n 
-0000655097 00000 n 
-0000655252 00000 n 
-0000655407 00000 n 
-0000655562 00000 n 
-0000655717 00000 n 
-0000655871 00000 n 
-0000796321 00000 n 
-0000657863 00000 n 
-0000657838 00000 n 
-0000660680 00000 n 
-0000660609 00000 n 
-0000663821 00000 n 
-0000663648 00000 n 
-0000666622 00000 n 
-0000666593 00000 n 
-0000671148 00000 n 
-0000670941 00000 n 
-0000675239 00000 n 
-0000675054 00000 n 
-0000679667 00000 n 
-0000679488 00000 n 
-0000682645 00000 n 
-0000682502 00000 n 
-0000682812 00000 n 
-0000698331 00000 n 
-0000700954 00000 n 
-0000700829 00000 n 
-0000709813 00000 n 
-0000726349 00000 n 
-0000745371 00000 n 
-0000763906 00000 n 
-0000767366 00000 n 
-0000767095 00000 n 
-0000769986 00000 n 
-0000769953 00000 n 
-0000772285 00000 n 
-0000772220 00000 n 
-0000794202 00000 n 
-0000796401 00000 n 
-0000796521 00000 n 
-0000796647 00000 n 
-0000796736 00000 n 
-0000796818 00000 n 
-0000799838 00000 n 
-0000843077 00000 n 
-0000843118 00000 n 
-0000843158 00000 n 
-0000843292 00000 n 
-trailer
-<<
-/Size 2861
-/Root 2859 0 R
-/Info 2860 0 R
-/ID [<83B75A0B70468627A032171DA5159135> <83B75A0B70468627A032171DA5159135>]
->>
-startxref
-843556
-%%EOF
diff --git a/doc/ppl-user-c-interface-0.10.ps.gz b/doc/ppl-user-c-interface-0.10.ps.gz
deleted file mode 100644
index ca472b2..0000000
Binary files a/doc/ppl-user-c-interface-0.10.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-java-interface-0.10-html.tar.gz b/doc/ppl-user-java-interface-0.10-html.tar.gz
deleted file mode 100644
index bf10d20..0000000
Binary files a/doc/ppl-user-java-interface-0.10-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-java-interface-0.10.1pre13-html.tar.gz b/doc/ppl-user-java-interface-0.10.1pre13-html.tar.gz
new file mode 100644
index 0000000..453300c
Binary files /dev/null and b/doc/ppl-user-java-interface-0.10.1pre13-html.tar.gz differ
diff --git a/doc/ppl-user-java-interface-0.10.1pre13.pdf b/doc/ppl-user-java-interface-0.10.1pre13.pdf
new file mode 100644
index 0000000..2fa4a87
--- /dev/null
+++ b/doc/ppl-user-java-interface-0.10.1pre13.pdf
@@ -0,0 +1,18980 @@
+%PDF-1.4
+%����
+5 0 obj
+<< /S /GoTo /D (section.1) >>
+endobj
+8 0 obj
+(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
+endobj
+9 0 obj
+<< /S /GoTo /D (section.2) >>
+endobj
+12 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
+13 0 obj
+<< /S /GoTo /D (section.3) >>
+endobj
+16 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
+17 0 obj
+<< /S /GoTo /D (section.4) >>
+endobj
+20 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+21 0 obj
+<< /S /GoTo /D (subsection.4.1) >>
+endobj
+24 0 obj
+(\376\377\000M\000o\000d\000u\000l\000e\000s)
+endobj
+25 0 obj
+<< /S /GoTo /D (section.5) >>
+endobj
+28 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
+endobj
+29 0 obj
+<< /S /GoTo /D (subsection.5.1) >>
+endobj
+32 0 obj
+(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
+endobj
+33 0 obj
+<< /S /GoTo /D (section.6) >>
+endobj
+36 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+37 0 obj
+<< /S /GoTo /D (subsection.6.1) >>
+endobj
+40 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
+endobj
+41 0 obj
+<< /S /GoTo /D (section.7) >>
+endobj
+44 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
+endobj
+45 0 obj
+<< /S /GoTo /D (subsection.7.1) >>
+endobj
+48 0 obj
+(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
+endobj
+49 0 obj
+<< /S /GoTo /D (section.8) >>
+endobj
+52 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
+53 0 obj
+<< /S /GoTo /D (subsection.8.1) >>
+endobj
+56 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
+57 0 obj
+<< /S /GoTo /D (section.9) >>
+endobj
+60 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
+61 0 obj
+<< /S /GoTo /D (subsection.9.1) >>
+endobj
+64 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
+65 0 obj
+<< /S /GoTo /D (section.10) >>
+endobj
+68 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
+69 0 obj
+<< /S /GoTo /D (subsection.10.1) >>
+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:\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
+73 0 obj
+<< /S /GoTo /D (subsection.10.2) >>
+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:\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
+77 0 obj
+<< /S /GoTo /D (subsection.10.3) >>
+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\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
+81 0 obj
+<< /S /GoTo /D (subsection.10.4) >>
+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\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
+85 0 obj
+<< /S /GoTo /D (subsection.10.5) >>
+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\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
+89 0 obj
+<< /S /GoTo /D (subsection.10.6) >>
+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\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
+93 0 obj
+<< /S /GoTo /D (subsection.10.7) >>
+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\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
+97 0 obj
+<< /S /GoTo /D (subsection.10.8) >>
+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:\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
+101 0 obj
+<< /S /GoTo /D (subsection.10.9) >>
+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:\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
+105 0 obj
+<< /S /GoTo /D (subsection.10.10) >>
+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\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.11) >>
+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\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
+113 0 obj
+<< /S /GoTo /D (subsection.10.12) >>
+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\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.13) >>
+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:\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
+121 0 obj
+<< /S /GoTo /D (subsection.10.14) >>
+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\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.15) >>
+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:\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
+129 0 obj
+<< /S /GoTo /D (subsection.10.16) >>
+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\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
+133 0 obj
+<< /S /GoTo /D (subsection.10.17) >>
+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\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
+137 0 obj
+<< /S /GoTo /D (subsection.10.18) >>
+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\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
+141 0 obj
+<< /S /GoTo /D (subsection.10.19) >>
+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\000S\000u\000m\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.20) >>
+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\000T\000i\000m\000e\000s\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.21) >>
+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\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
+153 0 obj
+<< /S /GoTo /D (subsection.10.22) >>
+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\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
+157 0 obj
+<< /S /GoTo /D (subsection.10.23) >>
+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\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
+161 0 obj
+<< /S /GoTo /D (subsection.10.24) >>
+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:\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
+165 0 obj
+<< /S /GoTo /D (subsection.10.25) >>
+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:\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
+169 0 obj
+<< /S /GoTo /D (subsection.10.26) >>
+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:\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
+173 0 obj
+<< /S /GoTo /D (subsection.10.27) >>
+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\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
+177 0 obj
+<< /S /GoTo /D (subsection.10.28) >>
+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\000t\000i\000a\000l\000\137\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
+endobj
+181 0 obj
+<< /S /GoTo /D (subsection.10.29) >>
+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\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
+185 0 obj
+<< /S /GoTo /D (subsection.10.30) >>
+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\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
+189 0 obj
+<< /S /GoTo /D (subsection.10.31) >>
+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\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
+193 0 obj
+<< /S /GoTo /D (subsection.10.32) >>
+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\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
+197 0 obj
+<< /S /GoTo /D (subsection.10.33) >>
+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\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
+201 0 obj
+<< /S /GoTo /D (subsection.10.34) >>
+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\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.35) >>
+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:\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
+209 0 obj
+<< /S /GoTo /D [210 0 R  /Fit ] >>
+endobj
+212 0 obj <<
+/Length 1156      
+/Filter /FlateDecode
+>>
+stream
+x��V�r�6��+xI���0X.�e4^&v�c�9d2��$f�h at h<�ק��6[vrK���������<���}���d��BҀ��3�Y���4
���y0y>�����\��6b2T�V~�V�~0~{]N�2����*`I�8rFr���+q~�8�������[�l�6���P��"�4�VR�r�i�c$eء֍jV�r��.��J�{_(%Yƃ���+�E�@�C����$�	@e�%r#-�7�6]�6�G	���h&��퀁���y�0�u�N��-���捂���"
R���9U��y!|����)��
xgD�	Jbv�)�������/eU
K�_�c�h��8�$4I���1�T3�Q�[���[`B�n}?�I& p�w�FKSV��	.8����V��d�u�`	�ܥV�ʷ��>��ί
+�౗����)��`<�
��I �&���<�%)?R@;��1��!�gb�3�+P���.2�������S�]E�,\*c�5�v��5V?x��O����)]���h�|;��mgn[/.��բԍ-�</���N+S,<���
�W��3�
�	��/t��\ܮ�Ɲj<��rY�H:����a߿C���tr'1F�ʖE��#h��ߍ'�dbGD��NJ2�V��P�ִs�j�9��B�@�������r4�QhN�x�����1�x_���0s��I�C?6&Ni��N^��uguݡ�>`��m�i��Eպ�>��Qպ+w�I_!'�\��M��y�f�
����U
s����V]۔�
5g��P��+
�Pz��Ùi�}/}
�tQv>�Y8��)�
�B7��?��W6�>y��M�GP«�Ue�N��\�n���Zn�#�.8�~p�>8��)��N{+D�1h���y�ƾ��� N���>w�l���p�͔�����G�ȝ
��Zp1��y��[��{
Y����v|w�
+
d�+T�GgP!e�����e6�����J�?�Ew����������Z���k{g
i<���-��KM��'Ŧ���O0�
(����H&��	�s��}܍cAr���8�s{�/���#��\7%Ii�{r��
�u�
���~��y�%���=��
��<� ;��������mo�㲀��}}J*�:�
+��r�	�m�CVۖ��^\;�Y��q���E��������W�������i
+endstream
+endobj
+210 0 obj <<
+/Type /Page
+/Contents 212 0 R
+/Resources 211 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 219 0 R
+>> endobj
+213 0 obj <<
+/D [210 0 R /XYZ 90 757.935 null]
+>> endobj
+214 0 obj <<
+/D [210 0 R /XYZ 90 733.028 null]
+>> endobj
+211 0 obj <<
+/Font << /F50 215 0 R /F23 216 0 R /F37 217 0 R /F38 218 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+245 0 obj <<
+/Length 1730      
+/Filter /FlateDecode
+>>
+stream
+x��Ymo�6��_�o��Z!���˒�iݹ�g;��(���ʒ'�K��w�#mY��$-�-`�䑼#��H�̸1��s6�\��ّ/|c�0"f>�=����xk�_���tb���2\�l��̺+AY�7���� c�g{�
8�1[u޾g�
�
f;Qh�֣V�u�Ƥ�g�5W��J�c3�S+��g�]��,+�+<f�
��`��‡2"�8��E�S�,���"V��ǮI�۬�7Y�.,�3�.n�[eF��/\2>]&%͞��JfjsYΊ�Z��j)�2��g��J�
���R��
+�uw��F���G�X%e���u3q!X�qV�96��E�L9��=���М'eK��wSIg󓼠�*�'�;�WK�}�MT����C��
+֥狽>n�^�䢐r�)nG�O��]���z_�?Hf2+�3l��_�ܔE��綠.\8
+�
�|G�4����������:M�%�
+��j
+���E`~4t폎�
R/��M�Eu���
%�@39x��@�̰�_qPh�&�ro�
+�3
�~f�
V,-I\�
+�9C�%:#�/�<���9ZV��ߜZ3%J>Y]@��M�`�i�Vr�>��4uT�mu]��)umQU+�h�����"G��'Xf�t3��}���R�~��H����
�r.���Q�f\��ӑb���4��1���#�!0�K�Դ�rQ�q��,��`;!@1�ШY�Q���؇�**�,t,l�kց�J�H��U�sٮ�X���"N�~�\�a���-��f\��I�d��CT`R�,��E� T%���(Z$��	|B��7�F�(7��j\�PKq(�k\
�]
���'K�OP�X
+�"��;v��V
()
�B��5��Դ�� s�
��#�} pҋް7>

���٠�(�?�
'��QB�QB�!
���Ό:)L X�k�Eu`pPE��$M�v�FoJ�ؤϔ�TS������Ք���(��a��x|:���"Q#ʥ���,3;�
)��j�&D �T8����$A�|����V�8���7j at A�E:�M&�q9��)#\����9�_
NU��j<���l�1�jM�m
o�<]74���n,���tSH}���$-�X[���*/��g��Vy8�z�

����I�)�2���=����I�^���
f��1@��Ej?˪Z??9������.}'�uz�g��s�v\_���V��"r��_YU
!e�b
��
9*p�s8c�|
��pT�uJ�<���� ]=�xa@��p����
�BPs�*�7��]�G��Ѕ����jg��M��������%<'�`���h��
"tp-D}��]���V��
\�{��-�(zԄ�� Fl�����u������S �+Y���q���g���C[���o
���
�ms���D�w����p��e�}R���C���q1[Zx�lc���%�'&�'a"z&T�a�P~D������#� 	\0�o3�
L�)��4�-@^�� �oD
+'qv�����*<U��qv�&��G�!lC�50�_#>�����ӑm��ƇӇ�~3}H�ϥ֢�r!
��G����X
���
���h$��F�a5��=y��r�>���/�oG��9������,�{'?.?Ԣ�R��
���l�_����	�����[�;�GE�}y��`�
��S��#_���y�C\������]'
l��F���_��_%�v,�1-BD
+endstream
+endobj
+244 0 obj <<
+/Type /Page
+/Contents 245 0 R
+/Resources 243 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 219 0 R
+/Annots [ 220 0 R 221 0 R 222 0 R 223 0 R 248 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 242 0 R ]
+>> endobj
+220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [385.063 672.708 490.947 683.612]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.426 650.855 322.585 659.702]
+/Subtype /Link
+/A << /S /GoTo /D (GFDL_GFDL) >>
+>> endobj
+222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [231.464 619.218 337.877 630.122]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
+>> endobj
+223 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [440.112 607.263 513.996 618.167]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 597.365 169.87 606.212]
+/Subtype /Link
+/A << /S /GoTo /D (GPL_GPL) >>
+>> endobj
+224 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [219.806 511.177 383.194 521.075]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+225 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 443.46 151.499 454.339]
+/Subtype /Link
+/A << /S /GoTo /D (section.1) >>
+>> endobj
+226 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 417.776 229.087 426.752]
+/Subtype /Link
+/A << /S /GoTo /D (section.2) >>
+>> endobj
+227 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 390.189 252.131 399.165]
+/Subtype /Link
+/A << /S /GoTo /D (section.3) >>
+>> endobj
+228 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 362.602 165.446 371.578]
+/Subtype /Link
+/A << /S /GoTo /D (section.4) >>
+>> endobj
+229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 344.998 163.723 353.844]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.4.1) >>
+>> endobj
+230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 315.488 180.928 326.367]
+/Subtype /Link
+/A << /S /GoTo /D (section.5) >>
+>> endobj
+231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 297.729 192.764 308.633]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.5.1) >>
+>> endobj
+232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 272.179 155.484 281.156]
+/Subtype /Link
+/A << /S /GoTo /D (section.6) >>
+>> endobj
+233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 252.518 192.714 263.422]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.6.1) >>
+>> endobj
+234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 226.968 155.484 235.944]
+/Subtype /Link
+/A << /S /GoTo /D (section.7) >>
+>> endobj
+235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 209.244 168.435 218.21]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.7.1) >>
+>> endobj
+236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 181.757 206.393 190.733]
+/Subtype /Link
+/A << /S /GoTo /D (section.8) >>
+>> endobj
+237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 162.095 225.67 172.999]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 134.642 221.874 145.522]
+/Subtype /Link
+/A << /S /GoTo /D (section.9) >>
+>> endobj
+239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 116.884 321.39 127.788]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 91.334 196.43 100.31]
+/Subtype /Link
+/A << /S /GoTo /D (section.10) >>
+>> endobj
+242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+246 0 obj <<
+/D [244 0 R /XYZ 90 757.935 null]
+>> endobj
+250 0 obj <<
+/D [244 0 R /XYZ 90 463.931 null]
+>> endobj
+243 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+290 0 obj <<
+/Length 1247      
+/Filter /FlateDecode
+>>
+stream
+x�͚]s�8����[{f����ٙm�d�&
hoҎ�%
+�,V����`'$a#Kȕ��e����9�@�8i|�6Zǂ�Ƃн1���
�7�:8���=���߻g�a	�ͫ�2<��8�6�m`s�x�G0�
���ܘ�g AK0[<5�Ps
�N��*��|_�ˊ���q��8���	^�A
69G�8��4��w�F�� ��S}p��>�R�J����mn
c�Z�P�敲�X>��ː���:$�QT=𧭆�A:��Mb��a4�uS@#
�7�<�
&(�|r�e��&�
F��&��0��N �N8L���Q��^�B,��Rh�8���( �

z��ژ��mHx�
!��T^�#~c0~�(�����S�����|��u7#^�Oҹ�jXSD�ۢ�ag0)t���et�6�j*�ݕ�ژ�ME0�"kQpw��GC�!9�z���_=5.2��$#�N4?vl�|�r��b���䘼k'Ѽ���}D�h>"=H`
	��$
F�H�3ٌ��|��P�l'�=VL_W~��
?�9k:0��!�A:4���o$~�j�<T3��K��|��6����V\����\����?�n'�X}�a��Y�ҹ�V������
��Q�XA�"�`�Kd��1�x�t��1[(�T9�(b�z=�_8v�ۙ�L.�n��cJE���nHy�
����7[�٢�=�*�Kn
+��,�:H
on�
�CB\�}
1�A����@��6ۼoת
�l���G����� ��U
�?bI�.N�I[�L��JR�\.�0
K.w�3�<P��l:������P.��2�GH'���=��fz��P`j�B�{g�~_���2���Ҷ��XW�$���@��4qk��2�1�_�ST������e�à-���u��R���Y:H��y��%O�B���|7�R�}l����'�[R��(ˋ�*�,F+����!��k�Vm�19-\W�b�-��](�)ܛia�\�A�L���/r�UWJj�8Q~(��P�
VA�(�}���r}��� �d��S�]���
k��; �$
U�,F���E-@���#YBB$d�Yչ+���P�!�%��]ii�V������$�:KCRm
��iޟ�}��	ʗ�ҿ��e�\��4
,C
���Ǖ���
�f���)dž
5�uTՏK"���ק��7���D�XTy�]Q�Z��l{8ͳ��Y���'؟�˜��T��V�w8ҋ��&5y-�4Mz����<8\
�O�����O�
+endstream
+endobj
+289 0 obj <<
+/Type /Page
+/Contents 290 0 R
+/Resources 288 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 219 0 R
+/Annots [ 241 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 265 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 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 ]
+>> endobj
+241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 719.912 386.152 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 702.288 360.165 713.192]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 684.664 346.625 695.567]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 667.039 350.74 677.943]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 649.415 385.061 660.319]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 631.79 344.114 642.694]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 614.166 378.435 625.07]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 596.542 406.082 607.446]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 578.917 342.431 589.821]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 561.293 376.752 572.197]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 543.669 365.674 554.573]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 526.044 399.994 536.948]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 508.42 420.757 519.324]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 490.795 313.111 501.699]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 473.171 402.207 484.075]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 455.547 377.858 466.451]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 437.922 426.863 448.826]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 420.298 425.18 431.202]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 402.674 401.11 413.578]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 385.049 407.397 395.953]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 367.425 438.181 378.329]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 349.801 416.034 360.704]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 332.176 397.225 343.08]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 314.552 359.058 325.456]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 296.927 411.213 307.831]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 279.303 358.347 290.207]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 261.679 408.144 272.583]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 244.054 382.58 254.958]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 226.43 438.51 237.334]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 208.806 472.811 219.71]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 191.181 381.205 202.085]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 173.557 381.195 184.461]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 155.932 348.538 166.836]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 138.308 335.796 149.212]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.948 120.684 357.384 131.588]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+288 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+295 0 obj <<
+/Length 3098      
+/Filter /FlateDecode
+>>
+stream
+xڭ�r�6��_���v,�xm��d�m�u���i�C��Ć"���~��
 ^�t=ӝ�



�;�.�
w��������P.'	E�xxZ$�"
+='��!_|Zz����Ң�և��.ӭZ���~�{��z	�"`��W�x��r�����_9�
����o�"���
בI�8�~�
	�rq��+wB��;��!NH�
K��ߢ��m�N�.�"r��>�,	c\,�f�b7Y~���N�Mʳ�ŦI�3�e�^�<��
��A�<q*�
���U��'�&�=�
�uf���J�˯+�T�� ���!o�U�j-ð'�r�x+�8��9I��zhj<��"'� 3��vW�/����WM����ݴ]�f]QWzůn�fu��@���3�

���n7Y�z���.=�V�Y�n���0�S]��p�~ ��~=:Q�OT���c���������>�r���K`d ��<�U�j� \
l��Hg�id
+}
�SpŐ)H��!h�0p��j���0�\	ʫt�L����瓩� �j�cp�9����`
�E���oKo}A�
���&�H����E}lU���iu�\�\�:���.����?U�7<���Ƕ#&�����1�@j��ؠt
+T���ʹ=��k�x���F��t��L��TLtILt	Uϕ��ɲ�_��|`�Ec^���
+��x�a��
Ϗ
X�N68�dN��(<�3��U<gNI�P4f�iWd;���
+��_�٥-76Ji�YTm��%2�jw�
+zy�9��N Z�)�9����D���g��f��Dq2�sS�٬�EvK�
�F8t\k��ّ��͒���]����B���P�^��I���J
'ێ[���SF; hY�����g+��*��4�Zdz#3i/�ت�Nvf"���Hb����
dL~/�#�?!�1ԧu >�̀Y:׳��{y�V�e�-E�nJ�0d;]c�a`L4N��5�)���ʴm��w��q�b6��WhCDh�-��-�4��ł��Z+Hx�ɱfѡ�g���V��KZ��*]��C���V-�"���G�Im沞���7I�8�7nV>�	�`s���	��}/7l�E�'���q6��2����X���:J-�1��zm��V�KP���V]��|>I����i�`�|�/�*^�
"���*4̹>r�R�

FX  ^O��F|��F{�AW��\�'
�T�`|�����>{�森��V]�
��y`����Y����t<�.E`�=���B-�ǃ�2F4�mMV�Qߍ�G�!^9:4�h�>��-�B8��}��# ��dS{wf�h_?�X�º��
'��f��`
=c��I�N�N*���*��F�tki��
+�
+s=��τ��7���>�q����M
<�?��A��A��f�
7�m�
=��j�m���l�6x���n�k�Nt�����8��<�y��/��?pzS?�` š!o!
B�bϲ;x��
!>���W�3&��B��/�x>����]?�Z����O� PdQ�1�ޖu�龟$�7��~ p�

��l�
�
�EK
}�
�_涕�wM��ؚ�	�*p��F^X�C�&�&Y�9{���X
0�����{c(l�v?�]ڳ??�a�_9
(�*�3��0�6�yS4��<~�U���+ȗ�y�~����
!��X���!�
�s�4Z:�6k?&�q�Php$Ę/�51���I=��T�%_lAFƗXA;pf b�pE��$��

W���+�z�'lNq0ә���ۙ��w
/�}�����H
�?�O�n�>��q'���r4�NK/e�=���
��t�r�k0��i��� is!��DR����=;! �!F���BN�l
��p���}_�
��*�
+��r����#'թ���U`�-�qR~����0�oB���jD�򾨈T�,����G,���zґp���m���^����J�:Ǧp��⌽���u@
�#
l��)��
 4#�O�P�Y���0)��x�h�\��X}S
�"�
�	�:]ő����>����G�s۩=�&��k8�Nt�eNŋ�z���Bc�{��� ae��\� r�D�p�� 9Q<�
�S���e�
Q�^�T�:L
9v4)��k[C�
 Se�
?L^�JT�
��#�`�M��N��1kT�\h !nD��
��Ԧ���L�4
䠡���p�`������<Y�
Q�ZFaQ�0�̡���Q�rBNk=�g������s�-J=��YL�����օ
�W`�����Cs
X��<'�Nҧ��I��w��ݧ*�B��S�-~2�nn�f1h
+�&�:6�*

�Q�	k}$�^�o'���.���x�P�|X 'g�X)���I��2L<��|iA�9�r�HFN)��Bs��q͊t+/2>;�Y`M����J�{�6�j
z����,���@>B�����m�*�u��N߾&���]��3�o*��۶)*�
�Ah
/MХ����ܬ����%FV8ڨ�F4y}�O#
�\<�ؔ�
�7�H�h�.�P��d�\��QCm� � �

 ���k����c
r�c���Q�ެ,�ܕ~^�w*�b~Oa�k��� 
�eѝ�9�*a�Ӓ�D
|�U֗x�U@9�5� �W2Z�w�2�@�Z@��g����!,c&Ӄ�\I(����B�vA�%�
07��FM���W�ė�9��̮��#6V�C	�q��
G�TP\�sr�}z��5��'\�qu5,��g���܌OŞk�Q�������Hs? �3�&����)�,�`Q���
U�iY��
�:H���I�/G]\���vT�UL�A� �G��-]�4؅�
�~/�*�D�e�і dF�q�
<|�-�(s��|fe1� �T�q�e�
BV䏊ԑ	�c#Ƅ�"h����{�ؘ����	!�p���2�~� T���!��$	�R�����������M��E� ��a�ޏ���G8��VA�l͏3���>��5��MC�
+�<�ud�!������yaZ?]Q�ӟ��&6'�u�ớ����d�s��C�
�S7�E�
��Av)�!4!���%�
߃�8�5�y)�F
w�_Mv�
+endstream
+endobj
+294 0 obj <<
+/Type /Page
+/Contents 295 0 R
+/Resources 293 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 219 0 R
+/Annots [ 292 0 R ]
+>> endobj
+292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+296 0 obj <<
+/D [294 0 R /XYZ 90 757.935 null]
+>> endobj
+6 0 obj <<
+/D [294 0 R /XYZ 90 733.028 null]
+>> endobj
+297 0 obj <<
+/D [294 0 R /XYZ 90 709.842 null]
+>> endobj
+299 0 obj <<
+/D [294 0 R /XYZ 90 596.315 null]
+>> endobj
+293 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F11 291 0 R /F23 216 0 R /F8 300 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+305 0 obj <<
+/Length 3183      
+/Filter /FlateDecode
+>>
+stream
+xڕ�r���_�o�VqA܇�d;�J��(%:����ݝ
�1��}�\+v�J;����{��N;o�������wI���<	���q�{�4��8�w����A�9����
T������C�K
ҥj���,�2'��v�������o|8����u��i�����߼]�;�
�l�DX�]��[�����2�9��7#��7
+�]����L�A��v���!�<�f���3���Nq��E�ۆ��͉��Y����O<0�v�+
_�ǽ�9�b�N�UEϣ���`�I7�j*%[|CBTg��_��3�/K�+j���%΂��27J�����<�K�}�}Y"�Q�����.��[��r&O�|���R�g[?�U��科R�ІK����K���z��{�z�uͣb��
��,�Z���ڱ�Vd($�� GK��},��
6�!la�a�
�#�04�2��&�EE���X0P4�Ơ`�oViS<Ԃ@���R0�b8��I"�MwDu+J��E�c��[���A�
ňv
�
'
] 
�=��=�qp��%+[K�8O��Y%:������'5�߲�:U�$]@ԍ�A�d�%�<
sMUt2Y�l��tiP]�%wO���
��r�}Q�0�Ő���D"�i���?�V����I�]���!M%�����[�ڗZ��h%�Ó�χ�ߊ
�$�$�l�]�s;�Q�k��⯹�R�����9̘�|�bS�M���}ɨX9�J�Ώ�0J�󐥮��;����d|��3Q�%�YA��hĿ����-���>4r����ѢR7	"���������3*J���v%��uJv��
�'ҘN ��_��������:g��;;���J/s�8��=�������
ݶ;�-���+�tq�%N<�Ă<w�8W�]tߓ� ��%GoȜ`$Ru���;͆��N������X+ó�����1o�
�r����H����B���C4��rm�|aӊ��[T�'	�����ք��g������Q�}����*�}o���dG�AW����#Ja�\��\��/
�ϼ�1�	
Z�M�z�M%G��hQ�=wK��BIhO5������RP�ъ �00�$�s튒�:ό��
+��RF�%�I��wJ�ՊO|f�6!
X���rs���J7�P_J�
�����9�?
r��]aP3� ����
���c=�'��	�^⺤������"U�Yn��ס�Y$��!�0����l�`�{��rd����ڵ���@^���g)/
�)o&V�N]
+m�;�+Dĥ��
��e�ѽ,�t�C�G~�������}�PO�R&
GK�Ksk��1
���$<X��
�G������8��ߡ���ʘ��1	���P����M�
��X�,m��'u�V�C��z��P��A~�Ӹ�П[�uh��H	[J�P.��q�6�K���[��n�)%R���a�Q<2�+�Qm 2�!���:V$���Qu�TlbA�	���0 �����B�D|:��tf��ɧ������9���~��J[C�y�
a�)
Β:�52z���3�B�,����1`c��������F\찓���80Ꝅ
+6Q�Y]�,PK��7I1�6g̉��i2��G
����
+T��A�J�m%#:
!���'%�i���|�\3�
�
㦣g���+F11�l<��ja����fޔL�~�r��-D�s�Ǧ�m���R�vL�-a\m�xt���<}UX�o��.S&
@[A�&��Yϡ�]�U
;R^U���kl� �&����R�Ǎ5B �W�QtSH����?�2�p�s��W�0�=ki�)U���M��B����=�B���]��I��q⸕#q+W���Af����.m5�o�˾�%�s���"�Y	7y����
+$sl�8=�VLq���vw�<���Ӎ"!���غ1Cyf���Dn�jOg%Q�NX?��B��'*�[Y���̹
�Tʨg#���!��״( ��@�
d7��X��c��`	/
�Ŗ3k� Z9�
+cR��c0`
��>ϻ<���o?��)l� �B�I�P�K0�(�p��:>�� �;� *9�[S�R)�
���k�KB=.9�
���
+�Mc�sJ}��洤
֬74�3�T�W�G_%K*� $���=�|�x�
�C�#�F/cl��>���^�WW�KX
��4
 [���Y��
���q"k�
+�Z�Hg"�:`U���MG�L9�$=�������$��
3v�\�"0S_�z��G :��im�
��l��a��j�6Q2I���@ �$�78�
+G I��7�%�L��D�O��鎒^��g��R�Dc^�tp*%}n 5"{�q���S�e=����\�.�7����%}�F��
KA��/�Wb߁���u�����>�ܰ7:+/'�`�Rɶ��0��J�E�gXd����v���Dgf� ��ZY� Ԙ��E�L���
h���-c-�|YF8��hX���=7�ʗ��|
Z�Ӝ��d�����K3�m��P��+Kő�"����
�B�
,�+� Tۣ���"��#t�^��������t��

+��#�C}ӽ���V"Ľ�}>���X�c�O�{([.���:=���ٷ�S*�e-C�i�Z�i�X��E	��w,"ˬ(\� ���q�z��P��@0��?��
+m
�����,E!W�c�b�\��~�_�>JU�T⹫��)��bN����t�D�$��R���W���\g��ٮnؠ�^{|+�j�_$�t��ū�6�斑F�
7n6Sgd���� @�u.b̐Qg�x��4Ek�
c�5�
v9M� 'Yfsw_E��J3<�;I�E�a�%�K�f�l��Xr�o\ħ �.
bK���JW
b	B�*8�R@�	�}�©�"{C ə
ׂw
z�KL��{\��.����A��`)r|�9��4���uC��|"̂��36�b[$�=��H;��Fop15oI\5-J�#��c��piD��ç�i� ��p0>/�Z�h3�?�H2�K�?���/7O�L�P#��8�Vo�7z����S�g��7�>�C
���OT��O�
�z�Gv��O
lb���|�>�g���������o_�=�4p���Y޾����ҸC��������x�v���M��qJ@��ꕺ���)���}�
 ^���e�?2�~3
+endstream
+endobj
+304 0 obj <<
+/Type /Page
+/Contents 305 0 R
+/Resources 303 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 219 0 R
+/Annots [ 301 0 R 302 0 R ]
+>> endobj
+301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [297.062 555.358 388.718 566.262]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
+>> endobj
+302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+306 0 obj <<
+/D [304 0 R /XYZ 90 757.935 null]
+>> endobj
+10 0 obj <<
+/D [304 0 R /XYZ 90 625.516 null]
+>> endobj
+307 0 obj <<
+/D [304 0 R /XYZ 90 593.588 null]
+>> endobj
+252 0 obj <<
+/D [304 0 R /XYZ 90 593.588 null]
+>> endobj
+308 0 obj <<
+/D [304 0 R /XYZ 90 487.876 null]
+>> endobj
+303 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+312 0 obj <<
+/Length 3118      
+/Filter /FlateDecode
+>>
+stream
+xڍ˒��>_�[��.�H�Y;�:��&;>�>`Hh/I0|x�|}���0WM
��h����]����/�wo�zJvEP�����+�]v��4�v����}|x��p��ǟ��[ݫ�;���ڔ��`J�:y~���ï���}�x����
+w�N� K�]����k�� ��.
�"߽Ьfw��ֻ�w��
�d��
�q������0��
Ix�W����Q�׵��ʀj+nLH)6왿�=�/�(ܫލ��}�?tS�Y���M7��������dC+��x��Njr�YY�"C/f��$�L�?DQP�r4����T�t��ڨ��.
J��j�u��@;5������vX� �{�`�z�ܫ����jYШ/�!�ed}Ff�u9�ׯ
U�=��z8�������i���
ѡ�P�ƋA>sS�
~��
5
H�
+Y㏍�R����'A P�"��^��o���vZ�> �Oz��#��8/�
�
i�
+R>"Ƕ��me�l{7�!���}��V�Z�ˠJ�05�2��a\�y�l��"_��@*�8�9F�ʓc�P��?�̋�~���~������?~������c�

^(�p��FZZ>�l��ڛu��q��]9 
�<�``k�b�?m�4�~�Q��)K���7ϗ��JN�^���)�7Z�X.�>���	L���"3�0�╧�%��=�����%��K���_���~�ʋ�xѠ��5�#�Ԇy5j�2�O�.e��K��'VzE�
�(�Z<ו'���jA�H�^�
�x�$ֆ(Y	��1������
��BEU��
�9�ql<��Nx
QU��^z�U���w��<�Q׵1��3��!���o��) 6�Q�]��
�b+n�v}�ʶ S�Y�z��
e��νm�Ep�Ju�����X
��!2&�J��j_
o
��5�
�$ z�������4�jl�|p�f@�F�W��@"��X�L��D!�
m��n�F����< ��

z�q,^�@k�z�G�
�#" .�j�
L��:7��J"3�my��;(�zŢ(��ꣶq�'僗�q��6qo*��ii�r��-^X�h
ncDP˽�v�
t���ճ��u�W�|�|����Y�"�%�$1�9�rK�9'�`��+�*	-��\J~N8�

���W:���J*U,S)�
�I�6�tF
�c)�;��G�z�9��n�i�h�Zr_�&�)
,�Uk%�D-��{&�m�ԝ��>�K9�!�Ʋ
�ϸ�ۂ�-@4'����p;gy�NI^�<xc�ivDqB'W��L[�S��a�7�Ur�J�p�/a����[�7�I�`At�
o�W��s
�ZB�"��3N�Q�o�{l�]�8�@�K}�l�ʥ␉�a%�]�_�!(\�
���K��ĒB�L��t�fsj�p�d̵V��n%E�H9���
��2"\��8�(�.�(Q���K�(Fx�˃-1��{�AG����
,<�
���vz^�z5�zA��G���Z'�
�vv+\
����!Q8����&n*����3��|�%�p@��pd/el�����ZU5�m�%
Y&N�@4�tk�|�#dZ.� �<~/��]��
(i����
��?�����m��lBGT�ƴ0��
.���!xN�Ɖ� �u�|A����`�
)���W��b�hJ}<��:i^��pG�j�h#I����.���A��+C@����=«��D��}���,e�"�=1Q�B�r4�(�0���sR���d_bνq��z�dG��W��8 � ��w��\�~���i��Є
4^&� d��ط{P��ߟ

"�[KP�����y'��ø��o���FQ���E:*?ċp�

ʥw�t��x��3�f
�|�"�
���F��amD�W
+I
D�D�H��v���-��J�����!�G75 �R�%�G=�x�������tc'-htT	sz�n��3׸�N>#���I����׌Ts=���o�n[A�7��<��+��qj6�v����BVA�G�9hŐ�K
j2��
�����]Ub�����,�t�Hܢ
O�
+"*�}"� ��� ����p]�k���n!�?��G^N��P'c�O\
�F�iK������.l}q V��c,�,��j%`�lXi P��yR���j^(l�F�z[o����S5��7����ͩ�Odg�w����M�a[,�r�|
�@��y�&��#������u�!I3����Dž*�S ,[o��K\�\�kjm�$�X�|��[kA#�.�NP�7xL�8�%����
�0
+�,�.��V����S���Q�y7���~��w�oZt�@�1��Rm��j(kD �� ��%����8�r�8siL'�$�� ���h�a�RʕI�_N�y��bH��\@�V�8�sy�:V`sM�i��nK�t��ÈCm
p����ڭ��+�	o�˧Ӽ����I���/�2���V�.�s~FB�w���ܽ���;�� ��s���E��F}"�T��h���Ȝ��
��`Z-�ְ(����b�6`���P�D��.�i}�kA�E�K�p�@~�c�JN�J]ײnQ��?R`
���`K�#Sr��}��a��pq�¸�寓s��{lz�x�B }?q��$��1{�8#�Z
P�1n`�
>��J=ﺑ��ԕ�ZM|��A��jY�B
+�
ԍG��uy�W^��B�H :|���TP��s �K|�8
��@!Q��ɥ[�J��
�\&�ﭓ�E�b����V늃l!O�<�z�ƴ��59R�R�Ǥ%|��s���-
������f?q�=>@�Y�����'oA��˰��
�#�
[8<��2쎞z�v�4���y�����H�_����
�
�/�b�.%7r%�U(�<��4
�:@<0������kN����Z[�[�����o
Ny��?�S��SPdI.?1H� Mo�w?!'Dm���z�U�ܫ"
B���n_�%S��m��O;=�R
p��^/Q_=��A`�Q�Z��&��9̑/;��;��#]�3���T�`��y���o޼���L�����o��~�b�
���d�C�_�۳������Ck"grh�.�[Y�UVS�
+endstream
+endobj
+311 0 obj <<
+/Type /Page
+/Contents 312 0 R
+/Resources 310 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 219 0 R
+/Annots [ 309 0 R ]
+>> endobj
+309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+313 0 obj <<
+/D [311 0 R /XYZ 90 757.935 null]
+>> endobj
+314 0 obj <<
+/D [311 0 R /XYZ 90 640.475 null]
+>> endobj
+315 0 obj <<
+/D [311 0 R /XYZ 90 616.15 null]
+>> endobj
+316 0 obj <<
+/D [311 0 R /XYZ 90 292.774 null]
+>> endobj
+310 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+320 0 obj <<
+/Length 2906      
+/Filter /FlateDecode
+>>
+stream
+xڍَ#��}�Bo����O�&kxc;��8F`��jQ�}��^E��؇�g��`T,��bݬV�U�����7�x���([=�V�`�g�6����q��:�<Fi����_е����S(M��е�0���:��������>�pT�
+�t�o�8]��o�#�?��m�߭���Z%Q
����ÿ
�)�ip�fo�,e6�y��l}f��ӵ�D���&Ȕ�Pj^u�Z��6g�*�˯S\xBY͸��#���j��� �<�Լ�������g�w�����
���tF�1��x�	‚�>��v�ʕ��(�u�1�*KP�nN��.��	§-͓��M��LpN���jK����w��ڵM}$�q�Ǧ��3uQ�G�G
\�+��Q
+5\���!
�~�r�)��@L
���d
����3
	 �'b=��~ ����x���lA:�U4G�B��=�9Xe�?l�u�ժ2[/�?�~����,\��(T�~�\�A0��h��Z]�
��`�m�5V���Z�go,�-#8��4�x�p�1�h��@�8�N񒢩���k��p��BSug����Oܠ�^��v��U�]]���H���!X�ne�
�H��p���6���g�#���`�
6�C4	��+�
�@����"�C�΁[�`�j,�
ǒN�P}׀|�}ಓm*���
r����P|��,��,���a6y��\�<2�B7�!��{+Y�<�dӸCUK*�K�t
mý\?�x��S��'
~��s`�N�̂;��m��ȷ%��
�b��&�`ruG�	��>��:�cB����PdE�dB]��
~������p���v=�
`p�|@�
j at c����㒡����r��gsd>sD�Nu
Y��S;����u�;{��129F.	���m:�?���
bP��ʰ�6“}]�����;Q���,���8����}t�@qJ�&q.&��ھ�M�d��5�<��
+��
�anuc6�}��4� ��b6�%�GMs|*��
3�qa

+�h 1��tR���6(��گ���L�w��`�⟗���
$�\���o���j�>�=iQ'@�!�'��od�%���2�혠Ĵ��K�Z*)
+��ܚC2��3�,@�
+�^7�E�A�e�cTCW�w p��<'ly�'Oĕ�D�����q����5>I�+0��0B�
ҩ7I �(� ���:M/4���;��*NJ;ق�Yoq���(����a
+)�R�H�R��T�`6yL��Tt��EgK�
�^>q6�
�JXqL�B*M^�Qה��m�W,
�0�v�
W윧#�|�x
�H	�5X��Pϡ
R��� �k�d�"R'j(��� S+ek
�r�J۹6�/�$��X.��� @t�$�w�$�	7��DA�RX���GՄS�c����`Ƹ�D���xA�
Va��\
 ����Cvp���������O,h�_-i6V�<��<�����h4=�
��OR�dv�IH}��
�2�Y*�(GFL�;�]]�K^5!b�~�E#������D��
eI�OV
��/��C.�܋I���A��`�.�`:�GAHRe2�
� n�tA���A�?Mx[*I����{b���_=#F���%�7�ŴR4���-��^�JЁ$���60�y(Jօ�E_A}Tt?�5�K�J�7�R�G��a��(��U at y��`�Ky#Q��<
j���-�uC��+j� ]�i��[)�ÀAx�sܓ�Fv�+h��S�6d�Wjqɝ���Ov����0��/��F9����o_( ������ۺ3��
�@�z��Gu����
ս���K՗��c!�#x�ctB����u�sw$Nw�L C�9��T۞�oŰ��H�R7es�w
�*�\oe^
D�Iz�A��t�`�
�
8�%57JN90.F$q��pP��<�2�p���P�����* ����O���(Ze��nB�شd�H�Z ����Qu�'��}(	vs���P*;+��:���`S�
\g����U�<
Mƿ���A�Ϛp���MU�$�8�^�eb,�y�EIOKq:����K
 [...]
+�P��&���7�@�>1x,���E���p��$�r���,��8i�3"�@J����G>$��
��c�S"0)
�Fg�T�SC8W��T/tQ7s"v �o�J�b�gT���I�y��	����v焁W�X��|7W�X��|�M�/��W���l�t-D��%��@��o5�8v����GsF̨�P�k4�W�.�����^���Q")k,
�oC ����t �T�9���W4���P�F�
B`)� ^,p8)+)�
�|C(
B�~ 5vܢ���+��)�

=�:�4����}71ib^M_Ɋً��&uʑQHM��}�;��ĥp�
<�-6�y��
w�i6hU\<5�F��~A�7�?�#���-w ���-O�ת��ῒPI����� k6N�I��Y0�&
p ���)�`��;]�4���,��Gz�!H�nDEc'�G��Ww8�ee�/�%5Qs��{���7�'��	
�,
 Fa�R:Li���u������e�Wz�S���ͺ[wǂ������ݛĜ
����ɍ���1tЇ���sb��p;8�\\�g�B4zR��W�!�#��S�G%1z�:=݌|
��?��6��m���.	���p���ml7eq���o��}_h�!8i��0|n��j��A��ڏ��cm����N>֦�m���xBA([	OMy��U��2~��^�ɗ\�¨Ͻ:
��>Rʛf
���'U�>�
���t7�%؆��Z
�0J�����%�i���trOȔ�l�����u�_߼�^���m�ڴvk�7��of⾓V&�<�DeU���c�˷I��
s��g&~����.�S��
+endstream
+endobj
+319 0 obj <<
+/Type /Page
+/Contents 320 0 R
+/Resources 318 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 325 0 R
+/Annots [ 317 0 R ]
+>> endobj
+317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+321 0 obj <<
+/D [319 0 R /XYZ 90 757.935 null]
+>> endobj
+322 0 obj <<
+/D [319 0 R /XYZ 90 589.002 null]
+>> endobj
+323 0 obj <<
+/D [319 0 R /XYZ 90 363.8 null]
+>> endobj
+324 0 obj <<
+/D [319 0 R /XYZ 90 217.9 null]
+>> endobj
+318 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+329 0 obj <<
+/Length 3069      
+/Filter /FlateDecode
+>>
+stream
+xڭَ���}�Bo� �&��k�1�
����{ZdKbL��&����TuU7��Nv���Y]}�}P��	7?�������Dn� OD��?m�p�&Q�hs_n>m�n/�p���_x�mTM/�c]4~W��4�d�!�&�_�������
+7��:N�Tƛ�z���pS��&
d�m
,�us�����?��o^S� Lb�f
��2
+���fw�_w0֏Us���ܖ��0�����`vQ�-4��
�a�骶�����q89/���!������.��V�W�H�Ÿ
o5�c��G�}�[��
���ׁ!,����i���g��/x�,��LN�z�0϶t�ʹ�P0f���d��7Ϩ&W ��(
+��{j͕X՞��

�����Д�А6�n�Xxsz9��'\
y��*�����i�hy
Uw-��Z�VϷ��;���,�~��Tj%�Af �4�����,D<����A1��0�h�{G�D�x����ʘGOеjt�3Mۃ�0'�
d��s���Bc��������@n�M=�����ʝ]�^s�P �"�6�G�]f�.�|B;��v
1�8�Ў��v\�i��
G�{2RB6�P�,ZB(��t�r��!�C=΂C��uyT	�M
mUI
+�
�� 
U�)���< �� F�6TF_I������0��dj��F
� 
��:1}��cB4TM����3�a�a!�c�w�`eO�˼��
}��s��@'����f�Vu����pik�S��v�����hy1��m�߅���y!����?���:�|�Ӏ�r���$ޢ�C�8�{Eۇ�2�X`4�H�P�[m�[��uk�Ԯ�/��)�_Q�X��j�K�8%i-�m��u91,N�N��#��ҙ��ܹ��iU
+f���LOGd��x��\�)k`�|w�
x���(&�5�mW|Qg]b䖑c2L8&�P�>��W�NRPz|���"p
,ل#"���8�av��l���X�E�N���jm�;���=���x���lst�u���P���^��f�Eh�(<��
� ظ~t1��N���B�^A��7x!�2	1�$L_��
L)@)�KMnBCg��PN��ฐ�Rn���.����n�M� ��
���T�J�}7jcM(���wL�:��"e��9��,�l�R�Ε�%d�J���d��l���eK�!8���ˌ8D��(L
�K
+t��!��Ê�4ک)&��"�ϙ8�+[��Y}��o
��T�GL#t���V��M�R^��)
���h�{��k����hެ����6�N���s��骂w#G"�G�����F��Yu5����8(S��_B
�za��y8;�2�9-����(�n�	!��#�K��DZ��y���w /�K� q�V��9�t��PJ�W��7Z�z\:���=M[W�e�t��o
�p�3m�M����7W]V2ۊ3���K�T3f>�|��^cFC+��,�
�l��
1n����n�9�Ɣ�ý�Η�@�8���`�J-�Ϻ�V<IW�uEA�0�
��	��
+�

m�<Pt�R2�lB�_vq���M
���!��:��̀��5
.ʁ\��Pl$�1���훦���8g�?���ק�?��
�+x��Xi�B&γCD�:��\?��^ܮ�J���vQ�:���̓�����
�0k>��RQΧ&��=�o������ v�?� M�^����N�^��2P�9^9s��ă+����%�2[�È+~�
]:6���}��5=C� k�Al��aY��VT��3�5�ڒ_��j��!��l�օf��Ѫ���_������?Cj<�j�閎Ҝ���N��������;@m�b~�^�g9��3z`����Oy�e<J�,iU�u�){pX{=B1K�9q�	9�d{��e<vP�ԄN
'�nV�8��znݓ@�L6F��|���@����(��ܩg��3�89�4���� 6xHj��k9���e~o@���dj{��
D�W�sH
C(`��ԓ�
6q,.�9�?���J�gT"��«D�d.|P����9X�6���x��.Z���J`�=S�L�J��
��z��|���� 8yR�
+�Z� lE��/Fs����c��l��p;E���
p�g��xͽ��mw#5��
`0ly����[kzz99
������\A�5�AH
+� ;ϋ6�̺/Q��ܫ��;w#�f��L��Ge0+T��5W��};��P��~C'�q���ׯ\���t�K2�a*���^m
bW����J劋�1b)���;���̍C��߁I�wȽ��ˆh���BWn�{�
xd���j��m��+w��
l�N���Ѷk��B����.��Uث#jeH68%w)-_z/�����l��hQ���&%�k�q�x-�&�K��t�:r��2����?
@���
��?�W��	
�<}��gOR��+jV�]�9�1,d>,��T��rS�o9w��l�e�4��YΕT�N��
2��VW��L4�
&㐫��^��A�Ο{4�'-��s����mH5A�E�:�sur�Դ
�
�Eeg]�7u� ��e�����z�n,]�0f��X�e�I��|Y3�p6�`
��|��q�Q.9��oie�]
C�U�D8W���I4��#�yb(g���qLFh�\O�:���&��[�
+���ـ*����
4��VN̒S
)�3��&�Th�m��Op5����I��17_���0���/�;u�kM�i���Yd憽_�Y��O���,!�M��>N�(�ij.ڑ-�e�z���g�`҂�u%��CJ6|/��IP�1N�!���߭G�I�f$�7�����'Ә���㎩7Ƅ|IL5L,A2
�"�q�'q&���S
[��"ɂ0ɾ�G��1�
+��L�1E�q| ��O����\9�}h�Nj.�r?�8�>u��o"v��
d5��ʹ#N�_�'�����P��~X�����K
+��nFG͒�.�f�G�l�����xB�HE��	LY:/}���ˇ���股�n&����[�r�������m�9��v����%�}
+k"�g�Ƕ�,�
��y�
+endstream
+endobj
+328 0 obj <<
+/Type /Page
+/Contents 329 0 R
+/Resources 327 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 325 0 R
+/Annots [ 326 0 R ]
+>> endobj
+326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+330 0 obj <<
+/D [328 0 R /XYZ 90 757.935 null]
+>> endobj
+331 0 obj <<
+/D [328 0 R /XYZ 90 714.318 null]
+>> endobj
+332 0 obj <<
+/D [328 0 R /XYZ 90 375.452 null]
+>> endobj
+327 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+336 0 obj <<
+/Length 3439      
+/Filter /FlateDecode
+>>
+stream
+xڍْܶ�}�b�2S�K�>�f�b��8Q�u������ �4Aj5���^�S%-�F��h4�����������wߥѡ�4LϗC��4�08<W�_���)L�����Y�ѽ���a<צ���M�����q~�N�=������X�?D:ɼ,J�����C���ᕰn�8��[>>���_���
6� �
+?;da��i¼�5��6���ne.�09^t���G��?���{F��O����
�b��Θ�v���>\M/���;P܈x��]�����}4��g��ꉗ��N����/�U���`�}DA����+�i׷��gS!�A�2�ظ)�
�{e�U����
L�X�7I|��
����Us�=�ЅJ[	�*�ۯW��̒ٿ�~�TJi�^ۮm*������ؗ�;=EEx���z9������������
%�Bku��qm-��hi����1^��4���^�Hf�тR���
H�e,P������Ѝ�Z�/�/gnju�EG/�>	^ݺ�w�F�ʩ#q�*�c/w^�r=jl��zt���9<�^��.ܞP��5
�5�/O�:*j\d ��#�(b����ȶ�&A +BG˒�f��h`�OC�Dm�߫�ތ���p
+�_l��� �i at P7Y��gҖ1X
�H�>�XRw,���l;f���_�I,z"�/��Ƚ�m�O��z��L�)bs*Fb
Z�x�,)�vΒ"W�vO��+\� ��|�cS9+fdz�+���"U8��!c	T�$Ϙ�7���`�D-��W<�v�'ń�H�ȇ#h�`؅Ԝ�c�
��ї�
+'�K��6r����۱#1��v�7�ν��49>�JZ��R�2L3qE=��_݁�H3���L��Sob6��0�E�x	��-

�>�m5� c��્�=N?�
���	!`Վ7����p�Egd�+޴j��j�͆Π�Ú�$��
�'� �Lly
rߐ����V���{�E�b��^�'u� �sy7S��B �`؁����F7�
��`�hB
. ;7�'����q��iv�{q Ѕ�
׮�m!J�+E���[
+?ٱz�u
k�7K���^�*=��f�&"��Ǻ�+�&��b
]�;�&� �5��<\ƚ�J��I�
+���	T����m��Y�I
+9�>���rR��$ Z����zA�
���SO��?
�r����]��wK-Q��DF��D!��ˆ��%i at H�T8B��"�l���
Q�~=
+sZ��Δ��ء]��lo7:m�����Ef��ǡ�V֮�����k֔4��ƷW�E;��#ȧ�b�j�.���sg�[���P�0���#K��!+G�
+�
�F�������΂"bт$�X�s? f�
+3	����c�/�W��^�����K�@qP��Bp�R����
:v�)��KCF=�i������{&�i�����Y���I��d����
\iN-VN��%fDh0L/�úM^���׀��t;n
����P�b!�8
�
ķ�bk���#n�ɇI� v�
+'OE���V$���Y�+�
@�0ܛ�.���z�.�a98���)3s��dWܣ�.�`���
�(�@��Z9�GA�${GB��
!$���_�Y7k|�� ;����"L��„�Zo�Nњ7�/xC@,�A�c��
� 4gr�3�Yi�� q-�ܲ#�ɤ��ͩN�-�Iz�bQ �
L3�;{��
���X̖�<
��Ƌl&�\-#�GB�~�
+���)���W3L�D�!>��
+�
���j���>�R�v�Y�����
�_]�x�Z at 7U�ݻ��/q�d'�e�j�;��S �_�
����w�w1��24yd�R��$��
Ȃ�
׵pqq�b���Eɡ����=�������4x+�G��,G�
 MY��d�R�(!�i����89Sp�4
ܢ�7/�
a�j[�
:N�1��ˆ��o8�s at U��-�?P�~�_�9���t�|Ml$�}���
���.\x\pPVЕ�2m at Xc��C���LI1=ޚ�
KK���]ľO)0`i0��A��C�;@P��gc��Ȩ(v� ��X�Ԉ�J��I����
β�*��w�1$

�� �l��6^���D���$��q�!�Zi�,�  ��_�'� R]G�`�"cS	�l h�@fϚ�eMhRY�Qz�E�Pv���X�D��
+V�x��4�8�L
���!h#$����Y�c.ٲNF.�T����q����[""�L��D���2���~Bm�珨l��U|]�9�Dj�I�,r��F	 ���Of�|aH
+�+T0T����G����-��5��"��riⲇ
n�0�U
+���w���̙��V�#�
z�X6y��oN򣣴8)�p�}Ͳ/��Q{�x����-�Rd�M1�2 M3	��
�@2�|����T��t��Ǻ�MYr�ʡ�,%�4zX�w at S��2r�5��A~"K�q)�XB
��`���
�A�����\�,5QjT.�Ә5%�K���
O�5��j<Y�0z��ٴ5+�
+�kC��3��-��n��v��)�
(��o]�4e2
��7Z�o
H��	�]��I9K��7�!��d���G���8
�J/�8r��h@�ܙ<v�3�Q��j:�W��ļ �t-e��-Ǜ
p��旓
��sT[�
>�Jh��
C��
�,
���X��{��){��H4@��H5�eS�j��c��^4;e��E�~�[d���N��@K
�*���ijZN�|�n�gW�TzA!���R �7UeP����S�Y��z����Ŝ���
�<� O�_�+6��
��4Y%��.�v�%w��56eX4�d�"�����y����
�;y�D�[Yj��ŋ�b4�;ȅ!��b��KK4�
++ �BL���
+�0�+Bj�\��]-��l�8dp/��� W]	~�,
�������pmǗ+�p
�h`�5�l�z����fr�5I�Q|l��Nރ�	��	/t� `y�6���+� f�p�+�nċ�Q�T����IЋ�į�T�*��R���ј�M,�	Ћ�T
YMaOZțO^ȳB�l�n=�QZ ߶����9�~x<�}è=r�BlLj�YM�P��-��,
=�HP��1J�`�t��f�u
�.��򤉗��w�Ŏvc�S��'ly����?��12��Mm
��%�9�[(�ã����!m��e���CĎ��
+��R�JI�BN��`ޗ��?z�Ќ>�U�5k���l��Г�l4���E�FHy��ڛa��/�F�ٿ��S�l
�,#�ܫ�l��枟����u��tR�Ȣ\~M�^���$��Ȁ��C�m}��W�[���dX5/�r�����?��:ai��?�ft
��)m�G�
�_�� �
���G�E8,�O���j*Y�3�B/-R�}^����w���^i=�F��3�;0m�V��H
Ԕ���_���w�(ϼ8HO�	��R{۳���n�
+endstream
+endobj
+335 0 obj <<
+/Type /Page
+/Contents 336 0 R
+/Resources 334 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 325 0 R
+/Annots [ 333 0 R ]
+>> endobj
+333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+337 0 obj <<
+/D [335 0 R /XYZ 90 757.935 null]
+>> endobj
+338 0 obj <<
+/D [335 0 R /XYZ 90 201.692 null]
+>> endobj
+334 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+342 0 obj <<
+/Length 3031      
+/Filter /FlateDecode
+>>
+stream
+xڭ˒��>_�[��
.�H٧M9q�]N<>�v}�����)��ק_�K
g�
�F��~wCm^6��ۇ�>=���.����.�m��}��wq�%���|��c�E��?�"��k��ty�m����4Mg`R���O�?�����C
GE��Hgy��٦<=|�5�T �~���\	�QI
+�z��ÿ
��5�hq�$
�]�״

�SAi\�y���L������^tj+{�1�?���QкO��(���i����0�I��\�R6骲�m
��;ٮ���6~so������T��|Cy��q
�3��
+��[�j���6΂��qD���oxzh����<�p�w��$
�إnx�b�I6C��k�p���k��̛�/ǞA#���P
��
���W��^7�m^`O�
�D8�ƓT�Wɳ N#6-������x$f�L�0
`/i�1�xTU1m(�s/P N
+�"l0 ��aMq��[g��u�|=
_ݱ�+�:Q��oв�9b�DHw9�ks2M� ��;:�[�)�(c��+rZ�u�x��� �aV����$��X
��C�f����Z�+ $H�nzr���
Vj�����g[[F�pO4�h��k
\{��l1�
0b��){�~yg�oM%��\��I�tP�E�v{Q�y}=�Ɍ�G�BS���������f������ȱ2�y���{6�L���;��~����J����sm�`�/[�]3F���@����J̓a��}�pp�"
+'{��F�Z�I���6
k|�
���0,�KF��b�m�:�;�@
z

��	*��T�k���'�o;gH=pp�Zc�d�
�9u�WۻE��%�A'����zC��C�u>D�nTV{xM)�Ň�I at D�u�P�^�^ys����^��8�d
vϩ�Y����Da�?VX5F��c(��~�nȇg*Z8��ԝ��,�e�OKPM��
"��c_�
�f.�Wx���.���f�7���٧���_0��RJ��KSQ6EL�+C���Z�"�<a� >I+����=
�~
�p�|�|$� 	��H�5ˤ-��
�PK�T©�O
�N)���~'��)�4)F}N��q4��08�n*a����zly aj��J
q:OѼ�q&���Td�L�y(��E( �
�J�MfH� Š�t�_<q�u�ӹ_�f��lf��u���g
n�ffA�P̭ES����vf
��
)�LoHA��r �	�W�h�<h�\ �N�5�c��}���w5Վ�X�BPh�G)p�����1,�ڀ|,�p�	���Jj��
�:=\�x$��\���b(��bs�c
�=-� ��_�|
ׄ/�D
q�	�i�݁L0O0�A
91��<|��Q�f�s�PK����}c5�g�z���$p9E�
w�f���
`�Vv�LK��_k���*8�'UpM@��9 _I�3  *�r�1�e�LD`(q��:$�u ������PTR��� ��
�
r[^��_auo
+�\�'
o����1@�@����
�s���؊�Ah܇�ERng�#p���,c� �Ă�ԟ�����S�v��e��fC}ȳi
Uk68TYbf;�'�Jٖe&�A�0񒗜7t���
�����yz"�V�/@�)|�)uٕ�%�LK��~MK��9Y[,�Ib%
s<�&��9&���6�6b�& �˲u
�=-V�+�̷m(�$/q�t=#У�,3Q_v�(P(WI:�=Q9�]{q�``tzM�u|O�H�\> � �
"�d�Q���M�[��I	@�[䬤�#`2���aeKa�
+�c�d�%���qd
���X��A��\���n��bƔp�v�I/���F��l�V�6��
D*��'҅H��I3KJ1V�i
+�|��
d�H����پ7����fE �-�c'-
������E5���A���N��nx&�Չ���c
��e	��
+wL�0��


���i�O}C%��=�FT��j�;���4�$�F��B���|c?�
+��� �0͟;�F�ѷe�������0w�m8z&�D� %I�T��w���}�s%u�Ւ�)�X<g�
c
�*�`�(TB*lm���a�j�,TTA��d���Z��'��/�
CGcߑ���ӂ��

�16e}���>VXؾ�y���;���۷?v�Lx���T���q��J<�I
cK��6�Ѣ�_����y���(�)��
u]��o���.m'���E�I�(�
+&�1�
�`~�H�J�U,Emy���K�_`�/�k�&z;�T=�v6aV�<~�t�hM����cP�}���f���-�Ԟ{B�-_�aM�F��Z�AƷߏ�(#�Q"Mo�r.�k�9�ѕo���A���%:@M7�
�|��
xU���������B[w���/�>rHs�O�v�]L
�ϲ�?Tӷ�>�i9;�S��}eI�9�u
�;�)A�c8^:��3Ӱ)��qd
	c5��G3ũME3[��R�*�ѫc=�u�ӫh�-F<H�:��Gx�	P?��@�$:J#y%�
+o���3G�#���a���+��d� �v3�ٶ�z^���,.2�Y
��V��"K.�b&S+��
+�b�ݩ�霽D~z*�
p1�Jq!������ŝ��_�v�L\2���
v]��d�����\�
�i��l�ٻX+9 �s��'Ks���P���
^A����Ȑ �o��D�j��`"�Q.E
aNRo�[L2b.M
@ɽ<
z����7�<�7��>�L�R%]�����!����3VCѣԤ���1�a�g�����l(
"E/����/ ��E�/�țŏ�U��G?_t�{BB�-T\�ʔ�]~��N��ڏ�f^�D��ex�O�"�vŗ�ρ�_�]���B�� ۇY�m���'dP�0e�ַ�����G<;�D8ߋƒ����^7/�"���J�qZ,�Kg�_�������(��f����(A�Pp�)j�@�l��%�i�G����&|&y��;X">�}�������]xi�م�
��ۙ�Ҋc�'2h�Y�_[�"U��<�'����mޘS���
�r�
+endstream
+endobj
+341 0 obj <<
+/Type /Page
+/Contents 342 0 R
+/Resources 340 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 325 0 R
+/Annots [ 339 0 R ]
+>> endobj
+339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+343 0 obj <<
+/D [341 0 R /XYZ 90 757.935 null]
+>> endobj
+344 0 obj <<
+/D [341 0 R /XYZ 90 285.07 null]
+>> endobj
+340 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+348 0 obj <<
+/Length 3284      
+/Filter /FlateDecode
+>>
+stream
+xڍ˒��>_�[��
-�"s�$~;�Mv|H�>pHh�,E� Y���
 ��]5U���oM�{م��
������<ٕ�2����iW��c

�8�=5���x�ga��?�@��T
O��ϝ�y���U?*�EZ����o�xz��!���]D����d�����/�������JX�]'��v
��~��qr�Y
��I��Z]�����a���կ�6��TÐ�>΂����
+g���
��>\����/��;9�=��!IK>�?��
f8>I��(
�A��"�йx&Φ��+���Z=�ȉQt���4ʬwU+M��GY�,�
8�r��ᲇ��ċS+�ޛ��Tg_�����]W�2��Fѡ�D�3\��}T�
�,fzYD���
�F|-f�W<0s���4.�C���戁0~�=&m=��<��‰��q
iL��������D���+A��O���'7v�#�"_5�9�4�y��A��B�i#�g_D at -g�}o�D"-k �Q�"G8�ڪg��.[,���$
7Pǭ�S��$�#R�8��wU�BV����Ӎ�p>���[^�3b�wF^�0xj].FuG�M�'|~9ʊ��vbl}�%d��\���wa���Q���V:t�
/c�i0
+E�F�󍱘CzR0� �U��J�
��f
�Yօ:�
�u���
+3 Ư|7+������l�����������w
�O�<$PH�CT�L!
+���Öy����u;�G���?��ڏ���l]i��;���	��EU�p��M�ю�!�A`��b}�^���7�͞��0G���JHX���
켳�quV�|/`��p�K[�(��!�m��
��q
���t�
�y���brgw��j�5���x
������5K^�]ϣ��2�2��Zj��5��N1
+�Ŗ-�
j��p�tz	�dB���6R/��4�D�\��:�q�$
�q�C
���CW
��9�xF=��@�ș������sX�x��x�N�@]����"	n�3�pz�^�N�
%�p���#�E� #�2�j�DȦ�ݓ��ŵB�z
+�nD�%]��7��l���m��2��'y�͉���ߴM.X1�k�kK��h��ms+f�F,W��wL#��P�y
�|���X�A�l
�
����a�)[t��O*�Cj
:����t�hn��E��b8�Ժ�E!VZ�r`��.�Y��>��x��
�q��	‚�'x�qbh[5<`4L��N@/�� s�Y$^̝l�=̛�	7� ���� ���߄,aP��8d�
` [�yWZ��K9�k����
�>@X�ey������9fa-.�qm0c���
�>Y�$�lEm%>KKaj��0xQ�c�xFU��W�aq��� w*1����UD
��۪����
����%b���f3�\�c����B�~���
ec���%yW���B�2K.`bWeT���a��]�:����`���K����7� Ơ�L�T҄$��H��j�G�uN�p��D
%1����g�@�
��m�.ԒX_l-�TD�XImh��[
���P�a�[i�J&!�� yo�|�@�
�XC�4=�'��sz�,�}��T T�6`��uW�3��
�
�����lu��:�z��"�L0��$
ʼn�oZ[
+pnp�^�|wb�DW4<}�]��#@QNq����`T]��
leʸ[���$+R+�ꐡ�~��˕�x����O��YO����8�s����$�?�R��
KJy%5�+`�w
�Gq��@���}��бJ�2TB��2��)���:.~����~��Du]�����
��
+ѷ�J^V���N��꺽sԫ�y�s5�F��d1��	̂,��Y��B���aw�a�6��
����n�X�|�<.Q
��2N`�,���N������� �R
��f*܁�U\�[��
,����D�qWn[l�FJ�*0Su	��Lj�
+�.�X�W����7�0�Q&��)L�=��T��q8
¹�{�eA���8�!�ۧ�I^zN��wb��H�
�
#�g≞��+�A��0BDx�|�r����\�T��u���+/=ym���+����s+��V
�WYyߊ+�Wz�G�U.��k��`M�-��',b�hYr�\f��~t$?�bG��K`�$���g�C'5��'!�.��
��
%��/�r^�f����6�'��T�TT��(A=ڽ������$�Yq[ϋ-PNg~�%��J�~a��v�>)��9��^-A�Jn
k�\uð��g=��RLɅ�$Y4��x��h����
��_��x9����0q)���in�8 &h�2t�o��6q N��
(���pa[>x���ث���������G�g3�|��I	���	�=��T�Fo�CW�Q[+���p�%g0�w��9�H �\
+�X�{�A�5�
 ڊ���dꔍ��;#\Nm7Z�a�Q�p�=ܫ�&���XjS*¨��X����1w
g���= }{�)1 �w�gXu��IT�b��3Gѓ�^39��U�����^3��+�L���f�!dK�
%�y:%Gi�/@��܀���k
��?��g!{�ɏ/�

��UE�~�� C�Cz^_ta��f\�Q4���i���r��;�������q�����P
n�͉+����o�k���}ݵN��\pk{gw���P���T]�
�ōzu���L�^�
��,\�~��$���'!�e��#����8���`��CW�
�,P 
�Ӥ��	\�!����X�
��Z6a���/@��96�[3�/��@����(��K��6�P��ɗ�&e���c!d��  �~5���G�Ѷ�aN��w�I{�����L�>�����~ą7N�J4��D
q�XlY}�1�H�,e�J�R���
�4 ��3�H^�h6�b�?�ğ��{�K�l)�UO�۴��y�
#����K����4�9S��o��U�竟�♙�D����'H� I�������<"�=�Բ����]*\��5�z��-c
�C*
�X
�%���F����H8N�գ[-��>
�[�)�#?%1 ��]N$֊�ȳ�L	�������y���H^
¼���+B�#���CyL
+���<d��q�x�ת�YB������1�ͩ�
�M���@�A
��EH}���uol��܂�'�g����eP��,���!�?H,���0����%�qgG����d
��1>�eK�g;M���}{�^�x�{}1=��\��+q�I+���1�DN6��nj��!�����D���g*��o�Y#�
+endstream
+endobj
+347 0 obj <<
+/Type /Page
+/Contents 348 0 R
+/Resources 346 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 325 0 R
+/Annots [ 345 0 R ]
+>> endobj
+345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+349 0 obj <<
+/D [347 0 R /XYZ 90 757.935 null]
+>> endobj
+350 0 obj <<
+/D [347 0 R /XYZ 90 714.318 null]
+>> endobj
+351 0 obj <<
+/D [347 0 R /XYZ 90 597.999 null]
+>> endobj
+352 0 obj <<
+/D [347 0 R /XYZ 90 376.602 null]
+>> endobj
+346 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+356 0 obj <<
+/Length 3240      
+/Filter /FlateDecode
+>>
+stream
+xڕێ��}��o�����@$M�Ӟ�E�Z�m���PR6��wn�(��8+rfDr�3���e�}��ǧw�d�<�Y��>�we�˳�F��c��e
��4����2h�ƨ�'��S�+
�����qR����������S{���N�c
���{��`W��]p��b�BT�.�bx��O�x
+�s���9��d)���/�w匿���a�?
�`?O8I���X�����'
�||y�>�B\
�!	�
�t�࿻�/��[��$���r��`>�L��T��������{ّ�x;���7
�␦���3H�
+By�c�
+�Ù�.G*��#�#r$ U<}8R	��֖�l�w��~����2�`�k8��5"ujƢ
��wfM�7'�t��!yl1|U�Z�
+ٟi�8�<�~��V7�(]*#�?�Z]��1���3�!.��m6��N�,��� �q���
�o�I=�_�te�b��Ci h2��Gͫ�̥�@V�;Y����EUxF{��n�r �&��t_�/c怮�
Yr
l���
+J0-�#"�e��B"kY�����bXp�(��!��!$X �C����0Wܔ�t3�ܣѤ[a�	7l�/�+_(���:���
�c�RI����J�J��k}�3!9D�l)����
���bp5��Hv���N]n��.b�`^��p�w/
�#��
�0
�	A6C�&]���3���֪�$���uG�^�
+1��5C �;��q�ϓ��������_�u.R�#O
+�@��kŵ
+�;ݫi0w�$Bsf=�
y�����놡(FD�;GP��9��F��.daq�Fw�'�
+_���5+�߭4ic�p��i�T��h���(�I�`b���VS��[��W��..��#q�}��A�B<=A/.!��I��m(~��=s��Wb)/lrĸ��})�1U��< U�`�Gs
+V�~�Q z6
+�h��M��e

Z�-9	bzKꢽ,MI�PL	|�M��Af	#�>{�ix�ud�fR
<��'��N���q8O�&0���[a�媫+�kt���~��]��S
�a�h��n�Uې�By.�L<'^�ȖN ��ʩ�Eoi�7�9}/��*(
+��[�D��9� �t
��������;[�����^K҃��r
d��f8]��:�p��;�Ќqv6C�#�"��$��
�u$d�Bc?���_�4P�/�)G�د�6X�O1 ݈W
s�(m�(�2F���z-���O�t%��B�ö��e?�	a�LiI�C*�ý]�;1�8��Ȕѭl���F�fۊSv�8[����hU/ %$�z�(��N�j�n�U���t
�OJ��,U��Q�����|���( �@/l(T��
�ݩ��K[���f�O�u}��h�j���U@�n!�4*��we�K�fM�����k!��FKWC�v������l��5QX����Zp��A�H ����Jm�����p�F�usF�l�o�[��Iu�5'CT�����O�M�
[$0(n�<���FE|��ڕ:2��=
����
Gǰ���&p����݇٘CX�e7[Q������7L��C'۬n
`�(9�Ii{<�%O�:�l�rGhd���Ԭ剴d0@��6��� ���f��`����\Hs�b��em���y"���A�X�jb�7�
�
N,1'&���.9����ꁟ\��@lx�����+he�}�֠�
r�w�5+����\�*�� �~2�jGC?��l
䍑���G��Y�u7���a
[�qA�ϩ�H�h�zB8��?����臥�
m3�e}��'o��
��^���v�^��b,��
�)�@�x���}n�{G�h��;
��
��O���m��n��o��B��<��FNE�p�.{���@x6���Uޯ�8�wm�
/��@�6��X�03P��Z�'
���3�"G�͛)zK��qI�n�
/A��l���+@��
��:�N���}{��N%i'г�.��'�ar(��$])1k���(�r�+r��'��T��9����'m�V�U�ӛ���U�\�H>'Ē~v5�T��
�����|n(��wK��
+�q�� I<˼t�-�8�b�
�rˤ��2+�,��o��
+W�@!���)���?���T�47�ý.��n��-�x��{��-�H�$�*�rZ �L�m�u��
+TV��ANY0q�*�O
+���2g����Tq
+�x޼
�r���;�"N�o�d�����+FHb
�zh�Y���d�sC��}���c�n���$}����]AN��}}���Z�7
�m�n}��X���h&˛�~��`b �@D��z������
����
�m{��7��̆�/�"�9ӳ>��;{�΁�
��j
Zz������Ձԯ�u��]W���emۍ�su�_�L��0�x��F"�����&ץ�X����
+�2�R��Q���]��29x�0�0����J�
5����� �w~��'�
#�@02�@��
����m� �;6�.y'����F��@,���
+�39 ���({8 �E�0:ɂPB�cxB��7m�*��eǫ�q����L�-�u=o��$
jm�b�S�@��n�P{�^׆{q�e�
5�P95ݸn��G����k����|
�@�,</޵����T�W��z3�
+��Z���0�b����!W�R�@J��K�f�d���� �
_b,�og��QQq"�� k���FD[kD�R��
+P��xm;NZ�T
�x��'$ƶ�J�~��_&�-b�u Ҹ�7�T�P]��
Pd


{1	�̦�Ħ�$X5l�h�3�DZ�Jr99~����^\
+���, ��zW��]�t_��T�iX�c �F 
+27D�*ęN��
�勀|��"{��ևFj�jB�;p�[�5�+B7x�����g��0�x�l���,�\U�ߗn*�����/X��L_�s�9j�ä�<83b�A�獄>W�yg\EE
���e9[� �<O3�,�y"_���� �(&��H
+?Ӹ��<�Z%+�AV|�U�T�c�Dž�H%-�i�x��:d@�NJ��C{
es��(#��޻�����.��wX�Iq���c2�7#t
�϶�+�Wv
C��D�x�$�ʇ�
+�%�igG�
�
��
�2�8c�ny�����X�ǹ�7s��;��V�~�V5R
�E�6���D4��ȏI��sx'tW����u�_<b��
+endstream
+endobj
+355 0 obj <<
+/Type /Page
+/Contents 356 0 R
+/Resources 354 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 325 0 R
+/Annots [ 353 0 R ]
+>> endobj
+353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+357 0 obj <<
+/D [355 0 R /XYZ 90 757.935 null]
+>> endobj
+358 0 obj <<
+/D [355 0 R /XYZ 90 451.826 null]
+>> endobj
+359 0 obj <<
+/D [355 0 R /XYZ 90 323.551 null]
+>> endobj
+360 0 obj <<
+/D [355 0 R /XYZ 90 219.187 null]
+>> endobj
+354 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+364 0 obj <<
+/Length 2784      
+/Filter /FlateDecode
+>>
+stream
+xڍY[w��~ϯ�[�Z	����88aױS�;����8f�
��ϯ?3��{���ь4����s�
�n
����c���1�A������m�h=�]1�w��)O�i�VqN���G�%Dϳ$-�:#�)�>�#�r�E7�谖6Ѕn�U]�
$�����k�h�9

�b�n`&�� ���F��ikv��96ٙ�,m8�GJ�N׷@���l㆘������ж��r@�Mܤ�����8I�}Iz���U�
궒Vu6ԕ� �>�vq���=4۲�����@DSR�l��.����:�ycl<x�]I,�MY�lSHU~V�Nm��cX�h����m��qWmM�]|"�36��d8���:k`�H藬z�~��MZ�/���j��
+���<�8昞����`�tW)����
�J�k��+���n
]SGz
��:qG�p���!�s���-�}[���q�-5UZr
&�Z�ԅ1͊O�Q)��������ӏ��E�†MC�Ǽa���`�cV'y��i����UU\4���)��WM�ӰT�����
�ᝥ�R�XR�6�
M��d�k�
��iD���S0y�E��DC}�,/�y�E�"�)^��G��H��=y}��w�=�<�A�����d8�}�
}i��6�^#��={
�.�*�����0�Me2�u] ��9o���'b
+ˑ�._���9�A������̜,
��?&��y}�}E�'�����$�
!p_�G���.�DDZ$�f�p��~
��7?z^�"���&̙Q;Y��,w��_���-��Q<��F����
C�,��@�<9�_L�G�����)�Y��3�!�Re	�ag���y��+�BKwľ,(�/�>�@D������ƄF��h{!.�1�I�
�t5���u�.CO�
Zy�0�kKȄ
~�
R.E	8��Gۄ���G�	�*f��(�� _&��G=]��^�H����y�0b�^�8�\��b���DO�����1��̛F�W���u&a�z�zZu�
(9��M�a�9
o
+A����U3!GXS�.D���X����N�A��-?����<�e�8`�8:��,�~DA
w,��pG��U�
�V��H;����H�P"��a��� �G
��x
+<�<nS
�H
Z

|}�pY��bv	�n�#V���]HC~�fX��󒈗�?EJi��W��)�~v;�x�v�<prޒ���v��y������V�,  ���
_ȹ^ȺZTc
��擷��
縖�zS�{6j PgH����+�r. z�ؾ4��N S�T ��M��
W��S}`
�a�ghDV����1��E@�M���W�u�z蜡~�u��b���AX6�f8���g:�{�xUlB�)�aD�- �E�@������U ��R�I�j��OA:L�Q���37z����տO|Ǥh8�������W��@���`\����g at T���P��+`�
+�����"��^=Ѿ��(����j�La�K�vր�2�Y���<R
�+b�է�
��k��Q��o3�F\;&�m���#'��'�_�79^_*�pz�TӤ��t[�3�⁧��?)6�)�q�y��|ʣ��G4F~�
�X��S�;%oO-х
0�.���)O�?�×<
w�l��`^�*X�e��2�J�q3cN�w���zKK��Z�����nd�{lV1
n��-[E��L4�vV7�����6�sb����v��<F
�����@�ʚ�$��"M�PGU����RV�ւۏ��Mz
�)<Y�J{g�.��ta"2�q�#�<�,
+�.��fKJ �����=RE��5Ib���4������۟���]c���>.�����~m\>K�ż����P]�d��M�^}���sX|�ͨ�����H
��>~��m��

Y얪�\��\����
}���4�E�i�;��05���7�Ez�G���

S>�@�;�#9�XHc��|D0EYs
���ci�Ȕ�!^c��5\n%�œ��q3���Y�X<m_�u���� \������ě��r?H���1�k$�'�,�=�t���م�w�S���̦J�S���+�9�m�l��>A�ʂ�{�HS@��>�p����|���Of
����9��@���
�M��X�Z�&���s�>�&&������� � ��D�#ț�7������7�����7����&�ٱ²���&�X�H����5TBr�5��8R
�[�`S�;�FD�
ϳ<s˄8v�I�C�����E���Ȥ+���>3
6��Y��<�<bc��g#�C�<����|��= ���+^ȳ�2���eV��2��۴J/ us����_�rQ�\��.����
F A��d8�h<
rT{�o��
Mc;�BS������-�b?��-�

��A�G�A�	��,�sG��q�.�Z~��
��l�
�?5�'���[����)~����~G��G�	1���k}���ni�_wb�$���b$��!�
3	�����3uh#! ���t}.�ǣ�]��6gT�G�f|�E��ì��V&~�B������t��G#���m���8�\x�G���3��B�G���]��d�Uۖ��~s`��Վ
��O`R�ǜ�*��|��U�#� �X⺸l��B[�i��G��K\
�_1L����T����R����F���
�ȟI�B9vާ��c���m����?
�jR��"�Wj���G�}����uKu
����ڕ�5\�]�ҝ��
s8�����B���� 1��
+endstream
+endobj
+363 0 obj <<
+/Type /Page
+/Contents 364 0 R
+/Resources 362 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 361 0 R ]
+>> endobj
+361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+365 0 obj <<
+/D [363 0 R /XYZ 90 757.935 null]
+>> endobj
+366 0 obj <<
+/D [363 0 R /XYZ 90 640.589 null]
+>> endobj
+367 0 obj <<
+/D [363 0 R /XYZ 90 500.359 null]
+>> endobj
+368 0 obj <<
+/D [363 0 R /XYZ 90 348.174 null]
+>> endobj
+369 0 obj <<
+/D [363 0 R /XYZ 90 235.743 null]
+>> endobj
+362 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F76 370 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+378 0 obj <<
+/Length 2617      
+/Filter /FlateDecode
+>>
+stream
+xڝYKs�8��W�r�Te�$��9�Y;�c{ly�R��Z��$�)BÇ5��ۍnP��d\{��h4��5�Vw���rvvq
���I"
f�A�&�����oC4�;�t�L��r��C���/�6UԲ�tA��,UE���CO���}>����u�����3{�g⇃ts��Ow� ����I<ؙY�A |�惧���܎�� y� ��<�K�;.���5��(��֓^�;YZ�n����*�5%�_UY��`ǧ�^ҷ������S��c�u�0!1�pCW�4c�f���/�yԗŞ��ODp�������cw����VmK�*�:��Ȫ���M�<P�
e��ʒ��wY�Sk�s�J-���P	��������u�w_�:}|��;�bY�kmW�Wu*V������E�oo�g�/W��
��7�7����Ѝ����s�Ȳ��a�8���|;e������ӕ3{mG��l=���O�P�d�=4�<K;�B���i��=.T-�����f���ZU��rV�Z�2�R�*{����I�v�K~��=G��.V����O,�*��.t͎S)�g���2���
�Ѫu]o?\\�v;gU4�.W9IT]t�
^\��QH

+c1q�xB�O�JS���5�nfs��w�G"
�S�TC�Kk���J�1��W�*�K]�
+�&o��[trln�ʝV�'Ɇj�AW��ֱ��.��x\�����^V@$��&� 6xy 
�����6ܖ�C*�W�����x=�*�vkt�c�U-˺�r�jY�ȅJ|
y��`I
X��^���q=��">�B�$]��
+2���A�!&3�#�A���
u0@4��,�l�N�L�½�pk^�G�BnTוd����|�����2?�שި�ԓ��O��ϳ�[�fw�����(
G�
�6��.xǼ�;}~|�~�m�8u��|�hSSl۩
���k�)�M.="@F��/U%����)Zu��OΕ��Wś�
�
�f=
+����O@�n�����W4��!����%'��'�)��x�S�3j��܂Ql�L֊�mɱp
��hrx�H���Y
�!�I8�G.�NԔ��8dt"&�����d�3۳CoC�M��f�-�,KU�K���
p��ϧ��l���L���Y;���`ncp$2)�����
ab��(AoH�:�
g.<\�%%h�TM
�F
`�2�MІ1
ٲ�G
�|a���ݨ�0�4�ҵ� �ƾ
-[8,��(
+�<brN�VE�7j R����ڱ�":;�_��
 ����MD�1�m027�, at - LT�,�4`A��
�Q<Zo1
rj��ȣ��/!�LNgUC�?�s�&z +`P�u<}ݛC�*����9�~0L�>��*��MoF
'�ŋ&�?�
Y�X����
��Q~OX�c�T
���H����E(��Hu��%\b3�Vf�J_�-���rO+x
�O04!I���Q� l�
+/1)���U3/�I�B9��%[^���S7rOs �W���aMT66#X"�5�b���g�
)��;:���Ax�
�$�,�T,D̎"�c�1��F9<%�e��3���dB_�d#��+EU�>�<��~1Pn��F�؆~q03�-�aVVT��
�˾�`e��8�����+ʪ6�Y�J�;�~�oy>��0��sm�Y�+�]�/v��,{������7���
B��Q��̛�8~	��p��
�
0��i�s���m�{H�0��lA�C���w\�9�#ҝ��I at x3�� �����@ʓZ��t��{?޹aO�ԛ�Dn��+Z��P����=ْ�:[Z�z�k]2�RWu��˔�q�e�� "S�����^��r�
�E����ۆŜ�r�E�� ���-��fT{�=��v����_�����'�t-�Ufkc��bY��m��s�S��՞�T�O]tL
�W�/��W�F�]z��A�
�"��:~���#W�5H�jH�IK,����Th��s�_�d�~�Q
7Y6�)MM�BN&�	�'Q�*�z�y�����"B� �� �$�
��e�70L�8@�UՔ<S

+R��OŠ�[�
�����0���m�3�Cf*p������b=�j�l�������Q�ziѺ*�
,kO(�"�B�AN` #�Y���6+Ǒ��ɱ��
+AA"u�x
�Iy0�P��
)f��V�rT'0�6( :F���aR�ڬ�ț��iV
� ~Nr9Eш�8l��/lA�Zw8�Is�����0��
��/�Bu߀��W����"2��
����E�iQ<� ��k���v��e�:����m�4�%��9�pH6b��'
ŭު�^t�Q�1��i*�
6�ʭ1�kDr!='` C�E�a���<��P� $��Q0Y 
�y�Y�y)-ŽC8��H��*	'eM�v��J���<y
�S
+�0��yd"�}/1%�Ucƥ���
Ŏ�o����?r���5a���A��	�wu�_�E)-�! k:�%�%�

������9.׉�
�߾@����F �!��}\�q���p"{����pN1N�D=�1���ȶ�����{*��0k/��H��x�`
Hn��T�>
+w��?T@�
+endstream
+endobj
+377 0 obj <<
+/Type /Page
+/Contents 378 0 R
+/Resources 376 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 372 0 R 373 0 R 374 0 R 375 0 R ]
+>> endobj
+372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [314.956 612.712 472.963 621.82]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [152.087 402.893 321.452 413.174]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
+>> endobj
+374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [225.562 348.78 508.501 359.684]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
+>> endobj
+375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+379 0 obj <<
+/D [377 0 R /XYZ 90 757.935 null]
+>> endobj
+14 0 obj <<
+/D [377 0 R /XYZ 90 334.085 null]
+>> endobj
+380 0 obj <<
+/D [377 0 R /XYZ 90 302.157 null]
+>> endobj
+251 0 obj <<
+/D [377 0 R /XYZ 90 302.157 null]
+>> endobj
+376 0 obj <<
+/Font << /F63 247 0 R /F65 249 0 R /F50 215 0 R /F76 370 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+384 0 obj <<
+/Length 3715      
+/Filter /FlateDecode
+>>
+stream
+xڍ�r���_��K�[ˋH���ow7�Xi�&y�H�B�"���Q�����63
888 �
�g�3��������$���4	��v?K��:	�q̶��/Z܄��}��#7�7�`�iͽ�U�u٩�T%�>�L�-�'~{A��m�������U k���ֈ��uϲ��/���
�g�2J7�'�:�Va�b�p��+��o�_�7��~�~����
�
mb�����b
�uk
K�s�;��[æ�cJ�VM�����8
��`
U٫����-�j�=-�S��^ܬ����L
�1�wp� X�����:�u��N
+�^.�<���`�$��%^�T��:2�=T}�s;���[O�;0�x& �Ld��&7�#���Li�Q��Jyul-�ꦎ@QX��z�R8�n�0`���a|O��
�pYu
(��tx�4�zi	9�_��,�)����Rt�`�I����Z<J�T���#7����ay�[�\P��o������;G�u$y� ߧ��I��*u�+L{ ��[���Ɣ�
�U�W�oT�� ,�
hY�O
	�f�VEqb
|���[{:T��꾩��
�o�vM��6��i�^7���׿�T���2	e7�H������7���>�mf2�_ފ�z�������/L�̔X�+&�e
Dk�:DO�ua���]�� ����t}��˃�QLn�8ek��M
�"��*0��-��� ��?Յ�覡�Z�l��U5n�Ԙ����;TY<��V�H�~�" �Ye5pqf�V���x})D6��+ͱeJ��� ���=�ف�jPo:��v�]{6,�,�S>�
�m��0Ut^Ut�6 [...]
+
������AZJ���
;�|��<��N

Y/\�
�φ(c i��]a�����0�Mܛ���$1&e�������ȟ(�~^��^0�L�
����(w
����N�`�毼c��������\�/Vp��(e3Πr��֛ujʔ�~��

�
h^�)�9��A��
�9�����4��~H\�������u�bi�<4xd+]�;jEr
+��s
<�Yb{����+��U�X�����<�
Y�i�e�D6�kv����s��a

Bؐ)�v���W������l�J1����W�������(H���FW͉�����#����O	aS.���k��^�z8��`�� ���-��Zh�1h�lg��V�9��&�.Y�OZ�֠Aa�sG�����U
l40�@�	\=���t�#�fN�
a������'f9�����,b���ŧ,�0�
�&N�����T{:��d���q9����X<�ap��
��kl���mB��cW�XS^N~~t�|�~J��
���ɾ�^���P�9������j:�(���E
 1�):=h�g2\9
+�v�+���0�(M(�a���-��	
�Ȓ�?�	�l���A���z�	���E"��/D"]՘��s�����9"�ib�~2��8^	�o�aIb�o�׸��-c�P\[ �y��PLQ�|�Ɂ��1�uU@�1�!�6��=KH\�}��)����]�X��
q�Q$Q ��n�ܥl+��&�M�w�H��8s�'i6;������;���
fl��nЏ
4�<�{h۝�%�D-��6�d�+kP
+Ark-l��(
� �dhEq
����<�2��q{w{�*YRs�h�:��עd�@�'M�4�α-
�5"�"
!e��{aLD��5�K���p�θ�
i�&E���5����f0M����`�AlľHx�������ĵ#��v
+�7�kĖ`=:[$#�KЀ��8d�1Fzi�h���H9�a#A����*���M���o\����b틱�H9�*�Q91' w�q�Vm
��dC�/dl�
r��Y;�(�{�{�^��Μ��U��b������]��W����1�k$�{�)+��W���"Gs�7d�ѐ�Fn&
�t����〻}^���v�.\٨�j����y{=�N��O���;@��t^{�fx���0�y��l��a`��5�!����~�T�1�T
Q%��� d�7�V���VG���\
i����p�eÄ�X�:*Y���T4\��I ���v/L0��s��S����R&bx��K��Ù2��:�2�$Bv
��FR\XK0���ܴ찓d���B��!���fJ�3�xs�@B1K���0yõ��8�s�q�
J @
?yc 4G6!���Ɨ
���5$7�O�x:\�K���R�zv
gA�eN�����/��
+�-{c`���Z�.A��C�
�f���5���{] �M�pY�ָT��0�1%:�>O
G
+�$U
�T/# ��j��-�Zߣ��m���m8�]�,{�&��\��q�許��pG�4i�P&��͕R�F�d(\��N�������B���<��k_S�K9
��k���ăK�9+��48�R
l��P�hX�u�4/b�r�������[��A�+�TF��0	<�i,�T�_�Ŀ�z�U�:F?����ϟ��3(L�w������P<Z�
$$�N�X��|d�:Vpl����e#
�j���3�D\<Hp
+[���P+`�|2Nz��:֜W��u�ĕ�/vq�1
G�%��̊�$
���v��>����&ZڊT
+PF�
�
�r_Y��J�;���O�	}ب���EK���?1�$V�Oг/������d���%��n�R�K%@(�*�7���/�:[���Ip�}��
^��5��!�x��u�TR�w��=��[�x���e`皅a=�~�wD�?e[:( 
X�I���=Y
c���p�a
z�_>H��7�m�4籏��
b�d� j��5�mʻ��ZM	�e(����э�&R��ӘmO��X7���{0�鶭��a�
+g�U�,V�[���ЃN��		C�*�H��o�^�*ZA�(�4|�$Y�q��s�ŋ�B�Ihˈ�H2�� Ēd�g2n�`�e ����̝l�j9,dl8�tѕ#,�
��˩���=����16�XK��=��9w)���deo�X�?ã1�Ъ��
�n$[��@�ڵ��K��.��V�XТ���3�<e�����:L
�}��7Ky��ڙ�6�'=���[6)���8r S `~���6NjT�W��&�z�Ь�u�f导�
�㻯��9�Q���d���I��Ӌ�����a? �� qv��MP��
��±
�~y�C���d���A�DA��wH
T��0a�9�
�~,5A[m4������@9>F
1ȀS���8e:�
�� G�����E8՟�5灁{T�Ï<���_KzX mmN���!���'�i/��BF���|���
!ta?��
/i�+F`��d �ƃf��ϔ�F�l�Z�I�%���tƗ5��}��/wj
��-w�|��a�?1K6K?���_��_�%�t
m�eq��c�ȆB�z�+ݪ8
4f��
�]#n��>:�H��ܻ���P&�[ݸR�Y�籍|����T�/���"̃�(��0G��l�o����9g��I�����u�w�^===-�v	2Z7Kӽ�����/���:�Dv��Gl7�f�\��f
s�Dž�dH���]��w�
+endstream
+endobj
+383 0 obj <<
+/Type /Page
+/Contents 384 0 R
+/Resources 382 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 381 0 R ]
+>> endobj
+381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+385 0 obj <<
+/D [383 0 R /XYZ 90 757.935 null]
+>> endobj
+382 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+389 0 obj <<
+/Length 3634      
+/Filter /FlateDecode
+>>
+stream
+xڝZY���~�_�ڗ�U"���$˲ױ%9^9Ql?
�!���8��ߧ�����J�0��z���AguZ9�o�^=�=���ny����;�8rw��
��/k��Bg����xSo�d�5��6iw�e��ܔL�>Ou�`����
6�=~w�����w.��\Z#�w�����/�9�
�߭���OVW⺬χg�����;g��Й���wN�~,�$��i���x���T�/��������qװ}��S�0/\_7Q�~�}�n���#U�\�/�O%�:;i�As/���u��$�%������M�2�m]w�e��l���6oZS��w�:���F~�~�$��`?L��֍�?o�p�yH{���D�����ws�'� [JV
�r=ki�LNj\L�o���m��E���
J�y�t�Z_T�̨ �Í�
���mg�������45u��'~m�<Ϲ̖i��2ǹv���.�^��̺8ڽ��W7&�eZt�f�?QΪ�U�J��I
�_t�0��(���4���a!�4- ���M�@�Z�Xv��$���UU9p���h�ؕ%��`;�����,�2;N<?��ZxS��<�5�A���
�_�$��Sk}�!e�3�`>P�T��xκ#�	צ,n�R�U̍�>m�Rg
�e��$\7�="���f���%���
��f~���j~�+.�Hj��Tj�9�P{tVx"k���VM?c��E�U)����R[ѩ
�6����CVכ���
D�d	3�>�
�d����x�����>\?>���|���LJ���4�k��#ܸ0	�
�dU~�6Ux17&�y�
��ֹܻ�Nv/�9r/@FU��.������O
<o�s�Y�J�n'�UQ���Ҕ�Nr�
wW�����'�5R�K�
�^����4]���u~:��̾�f�t�Ws��-
���:u�;&n^;
9 [�<��S/
m$X'd��F���Y��y�$�
E�
8RN��ɦ�MlZ
-pD&}����6�D�W2�� )C�HW��15�m����]�4�G
+`Dʛ�����
 L���=q�{E˔���V��<A!�Z5]M҄7�&0�(k��X�'|�y��2]%Pk�$J������,
��1p
�9N�‡��6,`��N��L*ϩU�,�8Y��d"e�o3�dF_� N
�VW-�`*�u�@!�pe
~�Y�'����7,�?
��Y�as?0��"�y�.Mw:���.���Y1a�EN�k����z4�EvS�*
+j,>����/b���᪤o�E
m=}oK�ҕ�=G���A�† ;��{)��g�hr{���;��)�
�^��^ן
+_�
	4��-?Du����������?��/
�cs��:/��қ �
;�i3:)&<12(n��"��Ep�̢��j�d놱7���N+��;]
#��l�1�h�W��K����L�8�\�X,7@�m e4�9��x�/��ֿw9�-x�j�f~���d�F�d%����@
�[a�~�莼�e��Lb�'AZ)@��͢�`�Zդ�0�O\���P�y)�t
fa��|�;9�
.ojp��?cf������p�����
�9��Q�֯T�i�*�g�"�}j 
+����tQPt��_�
L2'_&����8��F�' 
��Gy��0
+�].�%�ZF֮$�� ��!
Dn�YRE�țΤ�r
hU��Zζ�6����{
�De{)+0�5x�;���p& 3"h�� !A�!�T\�V�9o@�kc���؆T�&X�����[p<��T!q,v��m,����4w��`#@��"����"`* w�h�
����s�Fc�9��W����8��VM��y嶰I�{�7��}���裁k:�z��ߥ
��C���Z�簨�-��!��
� �\��8Bh#$ ׇM8b��Y��<O
+&��+{��G���
��`{f8�3t��np2Yt���kl'?������K�E��l�"�vյ���<u#3�R�2`�,Ib	
��d�>iK�n�ĨS*����TW�mG=t���� ,��N����3i[<R�T*� �H�g�9A*}������OSZ`|W��;��X�r��22�23 ���2v at 6�Hc���]��
i�B�"���v<�}��
�m��
\��*"֪l*P=��z�B|4���8���4{��@QA����e.25�v�����V@A?0����f��n%&`�u!�6}
x!*]�%5;l�-�I��&�
��Lۮ��2#mnSU�v9U��$��-�$�,�ʖ�b���snALe�ꌉӓ WmZ����W�<}�1�i&<�U��4��-P`c@�� �x���rBH�ٲ�0�c�M�1
m�H&
��RC��ږ�,d�^ͳɘ���`P�{T'�΄{���ļC���+�:7��<��,�ub̨

��3�dP�0
e��D�x
��ڽ�G�|
��r�
`�W��

���5'�
&R\�St2�^�F
=�Hl�جr	"��%.�m�+! i���n�M��v��-u�{���F� ��t�xR
 ��}��g, ���ApM�B(�_�������뗭&��V�E��M+�J�f�1�
��	�2:�	\�K��Dp��	,4C��ܡ T��Q1�[qm(w}
+~**�����Բ �e�0B^�vդQ.��#�����&�����
dV��r���T��|�U�b�L�ClS=
6*��� DBQ',�Tـ-��os����ͿP%	�J�û�o
��j���?�AE�i)�9,߸=���V
��Ut��LF�=�@��v�C
2�U�`\vG�-M�UѴ 5�B*dB�f���n^��y�ݷ%fl�]�7��u�����>;.P�y|�
:�M�����֨����+��X2Y?�	��Mde
+�ڐg�8�N�FQ���O�.�s=	VDe�ü�t�̣��Z����D�K����<�ߓ%�������(n
6��b0�E�cϾX��g���1����;9�������`�V�r�]�'+`#���y�if��.���A�/w
f�z���Y>�'�H>�X���G{��G����Q�ş^".8��ǕY��2���D\�T2
�������=GP���x�w;�N\
��z���Ǹ'��������d��A9��3r�
����Wt`��
+�

��ֵL}�Vv��O�c�CG��:�L
> �́�����ƚ
`�QQȗ�Q� ����0�+��P&��BOf�
+
;&�
	t��cL�����3����a�[-�e�Ip
Gg��Jח�i�?/sڲql����ӫ/�8_��}Ni/��%?%_s'�֠Hcc�,�
!6"j�@֗���}C
����Q7�L[N�]��B����]�����U�y%㏽��a�j�-i�鳤��Ėh�3�
c�Fߜ�*t��d��������<|&�k/κ_��$�+�n���q�tl�����_��d�D�_����W�����_�~�����6�5�	;�Mq;�V���Z����/A^h����<u�BևR�#��ĢMp�u�Q��*��z�'���\��ݺ�8�v?i+
�ȧ�m�

"
�Ӌ�]�H��ܶՋ�ϯ��.mv]�W�.o�WU�|fVi�n ~�Nr��i7)��Ļ��V�Ƹ�\��>�l���@�ܼ
+endstream
+endobj
+388 0 obj <<
+/Type /Page
+/Contents 389 0 R
+/Resources 387 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 386 0 R ]
+>> endobj
+386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+390 0 obj <<
+/D [388 0 R /XYZ 90 757.935 null]
+>> endobj
+387 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+394 0 obj <<
+/Length 3105      
+/Filter /FlateDecode
+>>
+stream
+xڭ]���}�g_*Ϝ���>%ٻ�.��:�i���A��z���G��/@�%˗Nng<# I�E;��������Ǜ�7��I�$���I�M�v ��c����;8ַ?�L�7�֍-)�w_g�IV}�uE��LV
�C�
,7��������ͧ�t6�Z#���
6���ߜM�w���x�N_x�-77�qL~���u};q�M$<�	bZ���y·~u'-K���}G��-��hRƧC����|a#5}�)�:ȭ�g�R�?��^���}����]5�g
U)�N�KD����R�(1��Wh듦.:"H`�v�.[�i(Z������6�����AN��"�Q-��8D���p)ja���I
��Y
���T�q
'_�%w��I.(���fؗEwDѮ���y�R�9���u]גm*��@xJW�
k),�ء�}���±V%���C+;ْb0���3F��ٺ�un��cϢ�{�R�ihU_ٔ�����Ol���
���I���
�B���Ҧik�P��Xn@�
j��ַ:��fʤt<��4S�{}M�H �{Җ��Zp
�-e�	�/8�7�yWޱEi��UV�D�C�8�d�"*���(��C�؏���� 
끚%�R���
)h��BY��zZ̬�BF�F�����v$�vf��Ϭ͠VZ���"��E$�P�jg�(��	��MH������(@R�b,�ˉZݱV�).(A5e�L��%�o��������U o�Wn~,���E��d:�ظ$�Vs 
e.m��
�J� z[m}��2�
��
+�d���UN
v
9}S#g�^K��ȱ����^�5JQU�'�K�62Eu�B�m/��i���{�c��
�<���l���JK�Q�]�E\�ߢ��;�׵�
}�o��O��[�)ϏI����бY��
=qN���@u��|�QI$Vf���gR�<�Hsn�!�%Tt��JO!O�	F�h��,e2�vzR �����M��ǥ!P�i���݊�/�36@��(���Vz�(�
���� �s����םf3
�~@bz��.�y{X
��i)z��
+�&P:@ ����3�x�<�阙`�p(��Y+�?FT]I"����Q�0̔9�-fs'|�ɬ����[��m�����#ZEi ]X����fD	x-�W췎�(�T
��t!�첶سG
��LUX9��W3�K��6V�i%9�z��qY���{w5�t�y�y��^hT�F#W� 湦�
��CP���H�y*k'ʘ�� ������X�!6t
�&�2ʍ�\��G
|�V]�ݍ
+�mvR���6{��×��y?ܐM���##�Rtr6L,�����bw)
 Օ��G���LYVt�]s�c�
_�Q��=d�j/1\ �=>x�ǣ��D�)=rπ���:�	+�2����@�M��UX�R��JU��#�>_�:= �2[1
Z��8�������Ǒ��=#X�����&��</�4
�����3K���E����BQ�Z
cj��
֎�2Y�Xيp��ʃlu[��T/FM��K۔�OA�O at b���2@'��b��Q�_e+
+���j�-Q�n�!=⛅a��e �"�� �����y�v��0;&���5���>�����1�
������
�B���q�^9^lQ��[2͎&Ę$��

Z��WR��V��s��]�
+�O��ԡ�a��������W(v��aL��!h�d5^�Y
)o�2
|�=b��#��&g:�F5�Lf��iTHPʄ����aT�l��~���T��9�n�$Ã�E;%F:	��"�����ҙ�ܾ�qx�z��-���^�RՀ|Ǵ
��
`
� ���U&�
Hh=
��4+(ǃ
����hA�]�{�%)��2��1�W���
?^KN���}�.�fW�ʞ3
�BE!�������1L�r�<�v�FF�~~&v��92D�iyE�/�����?�Y�W�4�Z���AG/��?�q
`�0;�,t����RB�3��2-N�
l
+��=`SDvG�O��n�v	f��&�"�@
+Vێzc���C
nawJ{U,���h_��M�FV9U�iu����iHK�_\ܗ�d
+|]�i{
�4�wA	(��SJz��"��p��&i
+2X?f��b�0�"��݃&9���k�Ъm��抧�� ���'n��
tm=d�V�HxeS�Q##��8A
�k)���yDm��6���A����#�c����
3i=����<BQ ����Y)/��ĘgV�S������ -rt�0�j����랱�2<C�I/�.��C)��	�X3r
�s
hP�	�L���6�4m�
.� ���E���q/�:�Q�q${
+
ƨ#�Y	B���ꊆ͊M��,6d��>uU5@ ��Bv`�BN}��驡b�Ku��!�_9q��<Fg�c�
�G&�Z�SD��gOdSJf8mv�)OkԒ9Zٟ��Z=!?m�ZW��x:�x���S���)pձ-
+�*��:J��
�|�[��n��u��teS(݂~�v�z�D��)>�6ԧ꧷x�%
��y��u<?u�(S���#ެ��Ɇ��9�5X�� �,�{�dC��l:"]�k�0.y�<���.�@CV�)#C�
[�׋%��c�T��i����<:��"�T�g^���R
�l�0�`�A�R�˨�8�wUx�sp�$�h,@��<�Q����g�m=<
������t�ԃ����)[l�Q�c����� �\��s4�
��([��g�Lq�B�'[<#	ӌ`�
+<����� .S�Y�dV+yu�g��l~���7��߈�5d5SM��[iQ)(-@�Ұ��\S��n���1-
S5�؟�R�(J[�H��1�T��oL���A

��+������0�u��?i�W�k��4���=x��?S�^T��N�����;�H��0��0�� ���I���G� �����G�=
�'v��|�y���}�"a�KQ��
�3��fy[A�{P�H-��!�0:ߧՐ�<�Z_��
ۅH����r�� %
�$�q�[�c����é,w���ww���v��CU4�]�wMS�-R����oTј
t��ERJp����p��`���z�A>����,��
�
+endstream
+endobj
+393 0 obj <<
+/Type /Page
+/Contents 394 0 R
+/Resources 392 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 391 0 R ]
+>> endobj
+391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+395 0 obj <<
+/D [393 0 R /XYZ 90 757.935 null]
+>> endobj
+392 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+399 0 obj <<
+/Length 3143      
+/Filter /FlateDecode
+>>
+stream
+xڥ�r�6�]_1��p��1�c�ɱdE�-e�qR[I
�!G�5�1AfV���R�㪭R�@��h�渫Ǖ��>�q{��]
��M��j�_e�*��M�{�m���	�~�:׷�i�[{�S�4�lwC]6}ދ�!��+��c7�
/^��}v�=�z�����S{D�&	�ծ>��OwU ����Y�:)�z�<���ٿ�\��ȝ��7����Am�;����7r%���9yS����P	y(����	��d�	iV��lڞ�
�����u~�yk?r�Z{���eW
)I\��%�A��R):�%�K�⃳_x�&�����#a�c�D�DS�OE
���e�O߉�X�)�N�|N���Yg��m!�p]�,h����<���0dsfJ�t������6��s��w�����f�{�������(L��)��
o,tc�Α/7qvm� ����8X����o��a�(�p��*s�N/���x�\@a徂�e����2rQ�� ��B�����|'�}'$X�Тص� Hi��\BHJ�
+B�9v�\� wyO�'�
D����$"�u
+
�Hs��TU���1A�i֡
l��睸X:k�Z�����J��D�Ӵ- �F@'
����0��
��@�<�\
q��{C�&o{2S�
����-��
���F#��qX��`P�� �#0}���)��p�ԥ
�+��M Al<
+aS���o�^t
��}�R�]��,dcX����e�g��u�5����
+I
�����P9��'����#�R
��X=T�8VL���MT�`�"[!1�J�� 
����]y��r���#<MrzH�<V�mNG�$�4�L�R�X�
���lɢ lY��p�p�ud �=�3zX��3�K6W�=n�v(hJ%�8��/x��f�p ������w���t\��Ј��Z�S�X^ 2
��MJ2�q
�3W�I
sd� VM��$J��i%z�X���f��	��������>f�~��iQ��Fq�je%y�G��N3��O�L�GK�:A��� Y�g����u�慮ͪKZ��c0)��y|ɇ <�
t���)Y��
���y���Z ib��wq�K1.���v��X��	�<
 W�NA��?�0��霦ꌩ�! h���$�eT�g%��:�&'c�ab)
+�7���?q����F��0*I�1�7�����7#�f�m`�������br�J<91�8��/���zε�U��
F�R�<Q}���X�����W���&?|�z�����'Jw����2	���
c�D�	|�ڪ2�U�F�N�
+L�㸎�E*�Τ\�&�
MB�
���1�4�itQ����b��h�����DSНD9��|'0����B�
+s�A0��Eo�?�n��S��QN�hyc.p%Ee��Ի�"�t�	4p-ͨ:8{Vg��t
��
Wy
Q�6s�AX
��O�
12!

� �5Ot at e
�<)�"�����l�b�q*mG0����aײq�E(�C0n`��}��zz��Ck	��h��bߵ5�P���S
�~�֎$�E:��LI؂w�Z��/��ؽj���~�m?
9��@4|�
ɍ��.TC�x�w
+C��֫d
j�'r��i1�p����]�7�a
�r�/�܅�jUk�#7�ktD]��3k�,mY�4��
�>�w����o�湾�tu�f
^���o#7۟�������
+��n�E�}��;��T���
E��L>�̏X%0�-��N[�$ �7c0`�Vc��E�Ƨ (K(T�`{VQ�<B�k��vS��x�Z.Ts���<����K[
�6��5t|��D�XNIL
Mh�5d�ư�%*�".X*�*��x�?>Z�ԗ��5EGw�(�=��&�"��T)Q�H�
��L��F�<��eA\�ҳ��L`#�AS�Д��ۆ���k�yH�]�,<(�Om����A�m1l-v;tf��t�?N3j��o]�`�
ʆ�L3�Mf�W�,HP^�74�kL�Щ1����h��È�
������\d��`KW�9W�� �~����fm-�j�IUG�䴋l<��\����MD��u��Vۭ#�v��:��+���^)Z&3v�`�C�ZF2�����Pм�d�.�l����1������>��\��hP^pY�
#%A �7S�
�jϠ�F*	�m��і�΍4n`v���;�/���e,U���V�n�2�;��b��s:3di���Y,PL����7�D3�Z�0�b��Wb�ӵ���

e4��lB!)�����~�E�Tȗ�j��
�瀚��
��I��<�o}�
���7�F�
�����g<O����mG<
����R���)�����ˌ����\���4y&t)��.]� �P�Ri�:_D� *
]�s��6�2.�-�p��ri
�g5/���9݃+K�V8̨
^4o

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

08�n��n�¦
��WD
�h`�ʯ�ėm�8m7���]T��Q�����%%�Q6�Tf�o6�;)'.�p�ز�
3�A:i�dl{�;��9Ӟ�A��N}�E�՞?�����,����O�'�'Tu0��|�n���nr���5����ٗ
\9~�P+�߹h���#��Jy(�F���Ȑ�̂���,$z@�J#�2�PwJp4vTӮ��2����l5#�	����sA�w�<�r�R˗?
�
����C��O��G���d���jgO{�!��{�O6f	���s?}�1ǎn叇E��K�Ō;g���]�cW��YT/���K��VW��Ȯ�T��&_��r������Y��M��
S"���k�p��]�.�C����j�
��
�<��h�T�䩿�ϩy#�Q���?��_0�\<@��h��]a�ZgJ^��|�tEp����-&�IU`~ [...]
+s���3�H��yc$�jyf��ƃ?�r/@%���˒�C��ң��g@�uN?�7q�+u�C������t���fhıۈ�5�j^O�=��煛��D̯S�#���dz��"�5��f�nU�������M
+endstream
+endobj
+398 0 obj <<
+/Type /Page
+/Contents 399 0 R
+/Resources 397 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 371 0 R
+/Annots [ 396 0 R ]
+>> endobj
+396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+400 0 obj <<
+/D [398 0 R /XYZ 90 757.935 null]
+>> endobj
+397 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+406 0 obj <<
+/Length 2433      
+/Filter /FlateDecode
+>>
+stream
+xڕYYs�8~ϯP�e媎�Ò�٧�ޤ۽�cg��z恖h[;�VG���
��Qf{_, A ?��m

�x�����>�Ȋ70v#��0p,�u�]b|3׫׷�Oe�e���"��W��>kdzl/Qj�"��nw��+���(y~h��o��շ�m#�Gö�hc�ը�X�
|3���_W�X7ߞ��Š�O���r
�,;P+t�\\��E�%.�
���|�����$=
��l�}�Ʋh$�(k���M[���k�]+Ir{���Gw�,x
�r|�{,����fL�j�4مHU]"�%MdB�-�
��Vf��DZ"��ٞR�پ�@�Z��5h��@Qdf	��4J���Q��%g��hj
�9؂�5ɘ�y��
L�d�40_pp�&��(���,[ڣ��2m�
M����:O
��#�Rv51��xj���h<�	Z��oc~(W�o�%����`��V{ބf%�6�<�|*�q�?���j�t��8�*LfQ��H[
�hc
�2��Fm������݀#���"HS�h�LY
������6%ѳ�8E�M���ɵ�EZ,m
�
+�R�G{�U��"�����
+\���F�m�?��H���/ۧ��O��rO�݇-S
���>?ݑ�	<h�k�S��	��Z�V`>�����@Ԛ�&,�{eA�H�Y�yhND-T �5t�
F�C�(��x��$54�<���??ϕ��� �ݿ`s� d���V�)+�A�{���'r'е��	�J��
Z{ؤy���:��H��:mIH��g �
�;��<�d� 6� ?��A�VJd+�E�P�B�$AT�ΰ=� ��3�3Ka��Kɺh8����&(L@��Ȯ�(�� ����)�Զ�O�����:�U��[��K&�-���5�M'-o�N�q�y�e���cq'�o�z�*"`8yk
�@�q;
+��{
�TAq����AP�x�)�|
�}��ƏBs{ F���AvS�8�Ͷ]��q���X���S�J�iD������8"��d1�φ�� ��?	��`����?m�0/� �7ʪ
�tL�,���h�E
+��Q^h��t&�!S���#�oz�F#�'Ě91��

=��Vց����D�昆H{)��Q� ����m����溎
+<�&�8�0����B\2	
�5�hś@4�$�T1�j���L�W*�B��H��p��5����$@�	�7�>G�Ř����kF7�ǧ�����#&6G�4QCF���i�'x}A��i����	����Hӎ��v�^L�k9gX��@����k[ʷG�

�Y���鸗�����-GN�

=L.�����7����ìXPS;�wO�bИUU at 9C�k��bk�S�u�����j�SQ�4�sE���[�]�3=`��L����&��
%8RCU��#�8hdc�CA�
��у
+�oځi��|�8ʟ&�m�s�.7�`�n��p�|X>��
�GV+�	&b�WDž��wou���#
���ӝ������X�6ttp :
��Z����"~13��&_a���`�[
Bl�=������7
Zp�NX"�:61
+&<U�a�#�fU�@��/!��X�
z�`�ٱ�2�?���/3�H(�U�
�����
,����E�p`g?�X%�7�Q�uY�7����N~o� ���?��
����jq�

��+��0�
>؉���4�
���\$K�\�_���p�?A��oB�Kَ�����X�/�/�
+�H
9�ӆWo:���*���B]�a
�M�����9�@-�LĒ$pr��k
˲&3�kbfi�xӡ�ҙ���u,�����c���+A�gC*PU~�>�8>?�m�v������T�BD,G��J��_P|t�������3
-7
+8	F�<	k!��<�
���eǬY� �O�b�S�R�dA
+�b!1.�=�[P��]:ҕM��
8d,*�i��<��r��L��Ef����P5�b���v����i���	�z���(ǫ#@�T
�>Ыi�TdD#��ʔ2�C���\�%��
\|�R�j	6��Q�L��*���`��k�:A�75�e�釪@��!��4�DUz�@g�oM�����_�ֺ�/N!�p��r�D�{Y�Z�_�
%1
&���`D��k�SZ�j���TF��T
J`K���5pdA�߿�;���9�U��s]8���Z�d�Խd�U�P��ӥ�r��n~��I��:��a�N�)��
V�#���3�/� �c'����(
�i|O������+��|
�k/�1�� �Xv��ѿ
�_��ކ�*�#��'o���W��:�M|-�
TE��S��E}��GB���-+��Lznd�7|9a�|E'�
X�No~@�-HNUK��G���}��kQ��<7VW�Um��mUe
�S��><N
��,/���#��	���8%``>@�ؗ��� �
+endstream
+endobj
+405 0 obj <<
+/Type /Page
+/Contents 406 0 R
+/Resources 404 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 409 0 R
+/Annots [ 401 0 R 402 0 R 403 0 R ]
+>> endobj
+401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [258.676 612.933 428.041 623.836]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
+>> endobj
+402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 103.07 513.996 112.046]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.8.1) >>
+>> endobj
+403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+407 0 obj <<
+/D [405 0 R /XYZ 90 757.935 null]
+>> endobj
+408 0 obj <<
+/D [405 0 R /XYZ 90 497.744 null]
+>> endobj
+18 0 obj <<
+/D [405 0 R /XYZ 90 203.883 null]
+>> endobj
+22 0 obj <<
+/D [405 0 R /XYZ 90 169.897 null]
+>> endobj
+404 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+437 0 obj <<
+/Length 1061      
+/Filter /FlateDecode
+>>
+stream
+xڵX�r�6}�W��L
�N���L��N\�Mc�/NFK��	E2 eG�%x���d:#?$�{�
.�]�@]�^�G�*��(��x��"E�d�g�&��	�$�[�LY�in�e3�=�2�D�rLx��t�OG��ѷ��Q�RF8�MW��/���%"�'1���VH0�]��
�-zT`.��1�T��G	�O���8���t� Z���vpe˪���<�yM&i���ηes��%���(��/Ҵ���ze��̚��n=��jٌn�5��̔Sg���Yy�%�4�q��v�V��_D�� m�/�[�I�����9=I��n� �x��$�e�W��2�bf2�
i���ܼ�����
����m€Dy�h��#�9p҅��ބ����:�e��$P}<0~k
H�8�.� 7Og�x�e�͖��Jg�?�R�O���t*��~���`ݚdy;��"5�y4U��Rߚ�N!�6����S����f��̍���y
(}�/R8!��~�50�`&�	�
>Ly���=���eܻe��&2�K�c%�:7�τ���պ?e�	8;�M�f
��tއ;n��0�h0��zSVfu`u&"f���ZVNۧ�Dql�'Ce�k,��&_����U���������#"��\�
��*w���	�:NZ���f�����ɐh)#�P�^H�I��〿�BA�8
�z��UƠL��9��
���te�E�|��q
z�$����5n�
�ey�J�'��u:�d0xt��E�8�ѵ��;�*
�q�I.��CkR1�!^���
[��.�D
��S	:�����{��a^��z��鮝շ��RB��>��[MCs�4}�	5=ԯ�1�
�L0�]Mߵ<�Ӂ���.Į]l��)�u�~WwE�k�-�}
�ηG~����O�q��p޷��{��u�wL�F7�o/�!�PQ����
+�'
�]�N�F����U���A�,bX%����UU�������i�י-
��iQ��[��#�(lV������V��D��#,�B'ش�lW�ި�#��-���P�
+endstream
+endobj
+436 0 obj <<
+/Type /Page
+/Contents 437 0 R
+/Resources 435 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 409 0 R
+/Annots [ 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 434 0 R ]
+>> endobj
+410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 643.852 216.421 654.731]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
+>> endobj
+411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 645.754 513.996 654.731]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.9.1) >>
+>> endobj
+412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 530.266 513.996 539.243]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 508.348 513.996 517.325]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 486.431 513.996 495.407]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 464.513 513.996 473.489]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 442.595 513.996 451.571]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 420.677 513.996 429.653]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 398.759 513.996 407.736]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 376.842 513.996 385.818]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 354.924 513.996 363.9]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 333.006 513.996 341.982]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 311.088 513.996 320.064]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 289.17 513.996 298.147]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 267.253 513.996 276.229]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 245.454 513.996 254.311]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 223.536 513.996 232.393]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 201.619 513.996 210.475]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 179.581 513.996 188.558]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 157.783 513.996 166.64]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 135.865 513.996 144.722]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 113.828 513.996 122.804]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 91.91 513.996 100.886]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+438 0 obj <<
+/D [436 0 R /XYZ 90 757.935 null]
+>> endobj
+26 0 obj <<
+/D [436 0 R /XYZ 90 733.028 null]
+>> endobj
+30 0 obj <<
+/D [436 0 R /XYZ 90 709.842 null]
+>> endobj
+34 0 obj <<
+/D [436 0 R /XYZ 90 629.157 null]
+>> endobj
+38 0 obj <<
+/D [436 0 R /XYZ 90 597.094 null]
+>> endobj
+435 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+480 0 obj <<
+/Length 1302      
+/Filter /FlateDecode
+>>
+stream
+xڵX�s�8~�_��ᙚ��P��f�\�k����\_Ҏ�`�a�+p��]!pl�ܳ_l!V���VB��A�e��m��SGz���N
�
���vn�Ν+�{��yn�ӱz���r|L=Dh*E�4����ޏ
�I��R
��̉f��������<*穔�9>��87�z�rm�����
����:1�,
ͳd���:
%�����:����\�>�L�Ο#5/�,-����i���˞s7�b��y%��/��I,Z
��q8Z�����m����nf��?�1r������i� pF���a��Xm'���r����߭�V�=BW��ق��C!��y-�������E�6C
@{��Bn^���hL ��� ]�a2�X�Qs�	����
ʶ
�E��*
+eA*m&�6ShSYR!���7��l�P:,2���R"�2q��%�������e�J�C��T{��5ޥ*%��Z����f~��$p��80��8��%�-�pl4X���n��u���FM�ex�p�Y%�91�u��J�H������* W+ǡS��q��׋�㼰kZk�f)xR���VV<��C5��.�W�J^�ET�O�j�2�c;����l���^>�Ń
��XM�p��H��Q�������i�����}:Qe��4R��[�=�X�y�!���%�cLl�k%��
ע�C�S�
�٢���X�jS`���
x�J�8�ڙ٢(7A)i�`X(��>��)n
�Y:x7�
�dp�
ؐ���|
�gH0�4��
+M�K��VSm߻�W�*�
�f
�ug���3>r-|�s�M�
�S�����ca�^s��	�SŐ����u�l}Qؗ��Rr<�T/�� !�S�U~�E] P±K��!�n�y��Fy
In��q6�F�w�$�t�0n�������jH��[��|3.�(�����e���)S�V��ce��l�4|��@#���0��\.l�#½_ڹq�ՎU���o��  �C
<z�롩,+���e�1�]�����j��žj�dZRˀGQ~t��^��ZE�R��+��hxt<
u���_�T�3�q3�/��S�@�u�"�
�A�{��
x4�DA��j���Wt�f��>f��F�XG�&��~�|�
+
�y�XP���"������i;�o��o���ShëؠGc
���� �&�k�����P�w��s�F�?�
}2L���$�x\��
�b~zr����E��s����|��l�ݍha�~bŝ'u�g�V���@�wTk���8�Y�y�m(�\�W���
+endstream
+endobj
+479 0 obj <<
+/Type /Page
+/Contents 480 0 R
+/Resources 478 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 409 0 R
+/Annots [ 433 0 R 440 0 R 441 0 R 442 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 456 0 R 457 0 R 458 0 R 459 0 R 460 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 477 0 R ]
+>> endobj
+433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 700.151 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 678.114 513.996 687.09]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 656.196 513.996 665.172]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 634.278 513.996 643.255]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 612.361 513.996 621.337]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 590.443 513.996 599.419]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 568.525 513.996 577.501]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 546.607 513.996 555.583]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 524.689 513.996 533.666]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 502.772 513.996 511.748]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 480.854 513.996 489.83]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 458.936 513.996 467.912]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 437.018 513.996 445.994]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 319.627 310.042 330.506]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 309.575 513.996 318.551]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.1) >>
+>> endobj
+455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 285.754 284.117 296.633]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 287.657 513.996 296.633]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.2) >>
+>> endobj
+457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 263.836 268.984 274.715]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 265.739 513.996 274.715]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.3) >>
+>> endobj
+459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 241.918 274.523 252.798]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 243.821 513.996 252.798]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.4) >>
+>> endobj
+461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 220.001 309.94 230.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 221.904 513.996 230.88]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.5) >>
+>> endobj
+463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 198.083 268.994 208.962]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 199.986 513.996 208.962]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.6) >>
+>> endobj
+465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 176.165 304.41 187.044]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 178.068 513.996 187.044]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.7) >>
+>> endobj
+467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 154.247 334.119 165.126]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+468 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 156.15 513.996 165.126]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.8) >>
+>> endobj
+469 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 132.329 267.32 143.209]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+470 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 134.232 513.996 143.209]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.9) >>
+>> endobj
+471 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 110.412 302.737 121.291]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 112.314 513.996 121.291]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.10) >>
+>> endobj
+473 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 88.494 292.784 99.373]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+474 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 90.397 513.996 99.373]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.11) >>
+>> endobj
+477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+481 0 obj <<
+/D [479 0 R /XYZ 90 757.935 null]
+>> endobj
+42 0 obj <<
+/D [479 0 R /XYZ 90 420.42 null]
+>> endobj
+46 0 obj <<
+/D [479 0 R /XYZ 90 388.357 null]
+>> endobj
+478 0 obj <<
+/Font << /F63 247 0 R /F11 291 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+542 0 obj <<
+/Length 1626      
+/Filter /FlateDecode
+>>
+stream
+x��YYs�6~ׯ�[ə�H�G�ә�M<v�č��$
DA2Z�dyDv}iI�,ʉ�<\,�oO��X�8�1
�^��ّ���xnD�|l���
ll
1B�<KhYZC� �5/+�����k#7 Y��A�:x1
�;�@D�I`.1����gd̀~i ۍBc%�����L���_��}
+y�B
~���y6\#p�`>Q��i���<K�o٬���O
Z�?{v^��䜥��UVLn�ˊ-�
+͞�G��'D�s�{���8�����Q#L#
��}x�(4�hc��Z�s�`;���.R�C�
#�&���B
������]��g鶾n�H}[PE�bZ�l&�؜�+��Aia��9��=;�<c���W�U���v�4��cq��١�������gI�⊧
�~1z��:�5h�폝 �OP�q��F�Y��n'/
+0|h���5:�
�X]�Ë/�.�U��є/��ց���G%��)8��Ԭ<."�����{s�~ �QM.Qbe��-OH�5f�
��
n����h49���BN�!�:A��F?�~b�,lށ��
��٩� ��I�^��Ӗ��H�zF�q�c3���i ���s�i�:�CƷ��n���&�dC<���L1�`™�{1[?�����!���{�JV�z����<
j�r�9���jc1�K�r[�{�����{ڦ٬�+K�
+
ē��F{Ab�
��Mh�{ڔ��B
<ڽ�	�}��;y���䊧u��K�� �����T"�th
U�mP�oP

S���+M�Ӥ�����Sb�@�n<(�*A[K���!����	\Ur}�cq�O�[��q������
+ڬ����(kdi��g�	
VC 
+K���d��6�����zr�N6�m'j; '4����
+�"�؂VˢbO�&iZꢠ˥�A@��U��D ,/8U�,gF��h�i*ٺ���
Y�t
�";[蚶�Y}ZGp3���x-��B��%��7k׷�5���bٺ|ێ�r��U)�a�0DZ=�7��o��е
<����om?q�k��ҕ�)��`�:6���BHnOTЋ�k��[�׊��{aЂ����W�P��R�P���"��'j^�X����)�&9u����8M&/�����‡�	Y�]��� �Z&	ͳ̩����4pi�r�t�c�YJ�\Eȩr�r�V%����t�
+A8�p�Y�_xn/{0���+
+����o�˕�����;�rg:��E���u�ўBVގ��>9��T
�CL�~w�5��/�����#7
��z�Q�|�&	N{MhN:9�߱��l�<g�Z�R]�f��SV�K�4U�|5%J��|��EZV��� �wqe@��,h�_ď+�N`=��u]�\��IE�^CP-Z���
ð��Vș��oޜ�D�O�_�ٝbPG�_�A�o���?����_#��XeG��H$�	�Ԯ헞k	�C�66i�*�NG�\Ra�/�f����.�(q�(���&�/Y�E��s�MkY�u��E����#�K�
�B��>��ܪ"����Mɚ�N��~����U�?�V��
�v��y5��d���n����Ak�y)ˬ���.X�����2d�
�`����H
+endstream
+endobj
+541 0 obj <<
+/Type /Page
+/Contents 542 0 R
+/Resources 540 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 409 0 R
+/Annots [ 475 0 R 476 0 R 493 0 R 494 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 534 0 R 535 0 R 536 0 R 539 0 R ]
+>> endobj
+475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 328.201 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.12) >>
+>> endobj
+493 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 698.129 349.212 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+494 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 688.077 513.996 697.053]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.13) >>
+>> endobj
+495 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 664.256 234.683 675.135]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+496 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 666.159 513.996 675.135]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.14) >>
+>> endobj
+497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 642.338 330.801 653.217]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 632.405 513.996 641.262]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.15) >>
+>> endobj
+499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 608.465 303.693 619.344]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 610.488 513.996 619.344]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.16) >>
+>> endobj
+501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 586.547 354.602 597.426]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 576.615 513.996 585.471]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.17) >>
+>> endobj
+503 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 552.674 352.748 563.553]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+504 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 542.622 513.996 551.598]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.18) >>
+>> endobj
+505 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 518.801 328.051 529.681]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+506 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 520.824 513.996 529.681]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.19) >>
+>> endobj
+507 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 496.884 334.507 507.763]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+508 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 486.951 513.996 495.808]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.20) >>
+>> endobj
+509 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 463.011 367.902 473.89]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+510 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 452.958 513.996 461.935]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.21) >>
+>> endobj
+511 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 429.138 344.838 440.017]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+512 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 419.085 513.996 428.062]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.22) >>
+>> endobj
+513 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 395.265 324.156 406.144]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 385.212 513.996 394.189]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.23) >>
+>> endobj
+515 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 361.392 283.748 372.271]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+516 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 363.414 513.996 372.271]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.24) >>
+>> endobj
+517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 339.474 339.449 350.353]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 341.377 513.996 350.353]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.25) >>
+>> endobj
+519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 317.556 281.622 328.435]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 319.459 513.996 328.435]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.26) >>
+>> endobj
+521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 295.638 338.981 306.517]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+522 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 285.586 513.996 294.562]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.27) >>
+>> endobj
+523 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 261.765 295.464 272.644]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+524 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 263.668 513.996 272.644]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.28) >>
+>> endobj
+525 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 239.847 366.617 250.727]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+526 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [435.501 239.847 498.554 250.727]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+527 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 229.795 513.996 238.771]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.29) >>
+>> endobj
+528 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 205.974 405.341 216.854]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+529 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [192.84 194.019 338.393 204.898]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+530 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 195.922 513.996 204.898]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.30) >>
+>> endobj
+531 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 172.102 305.327 182.981]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+532 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 162.049 513.996 171.025]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.31) >>
+>> endobj
+533 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 138.229 305.327 149.108]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+534 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 128.176 513.996 137.152]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.32) >>
+>> endobj
+535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 104.356 271.943 115.235]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 94.303 513.996 103.28]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.33) >>
+>> endobj
+539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+543 0 obj <<
+/D [541 0 R /XYZ 90 757.935 null]
+>> endobj
+540 0 obj <<
+/Font << /F63 247 0 R /F11 291 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+587 0 obj <<
+/Length 1167      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�8}�W�P�$u
�iZ4��ƻ/Ia�6�+K*%%����f[N�HR S�gΜ�
����������}
8�b;���a'�	�(qF3��M=�F��\ͺ����i��e�ڼ*=?��K��mt:8
~
`c�(�(AI9����vf����(�R�F�Z:!
�Y8烿��u�)��� ��r�CD��Ih�p
i�k&�l\W����D0�::��˨�D�&���.�\('/q��hg9x�(_尚�g{e���v����
75��
+1��:Y�7Ž��
�>%(#�/�،�y���ߙG#�
C]�h�%�+<�����{����~��3~˛�8�8�u^E��(c*C�
R?��µ"	��$	�	X�"�$9���` bPN=�[�k�O�\tla�?�-sT��Q��g��`M��Nc)|FQlezIi����J��s(��i�߮�_��
^Z�	�6#ne�*��3��bDC;atD��$���+�����,�C
�
��XE8
Mdߘ
���ە
h
+���u�e��r��,�V%��r��U���3eE�OV��ĕ������
0�lj�ZH�@�\�+>���ĘNsp�Wص6���L��}2�� ��

(
�BtV������	K��i2�-��WM˗��C��z����P�д��ϖ
�b�?:��tl)�	�}t�;�e�(�R�k3e�UK�n|"D%�'�S^ۦ�)���[R���z31���������H
+	���̧3����l+|���k�EMX����-�y
�T�/_�U�h���gr�b�V��n(

f>���W��m�TRH�\�2�ΨZKp/WR��a&�Y%7�i�ݹ�B^�úl��[瘽6�^
+ӶI��UM����PS�!z��l�����<��/o����y���_�gy�+��~�a�
֑����&��GD�0k�^>S06
�$�
긨V��
+�M�Z
��t���5��z��g��x�-i?\�w����8}�U���Zc�%Aj��
E�n�=S6Gfh�2W�-S����r/�sӡ.B��?
��dL�~f%tě~-W�}e}?���Zp�Z�<? �sn�p���
��/y�m�I�Mۋ������Û�4mPW�@y;��bx��e�B �	� �gY	e��i�B;~���%L\�[�~l!��7+L�
+endstream
+endobj
+586 0 obj <<
+/Type /Page
+/Contents 587 0 R
+/Resources 585 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 409 0 R
+/Annots [ 537 0 R 538 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 584 0 R ]
+>> endobj
+537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 720.047 259.22 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 721.95 513.996 730.926]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.34) >>
+>> endobj
+566 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [103.177 698.129 281.357 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+567 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [502.041 700.032 513.996 709.008]
+/Subtype /Link
+/A << /S /GoTo /D (subsection.10.35) >>
+>> endobj
+568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 581.759 328.111 592.663]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+569 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 542.905 288.583 553.809]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+570 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 504.051 292.698 514.954]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+571 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 465.196 327.019 476.1]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 426.342 286.073 437.246]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 387.488 320.393 398.392]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 348.633 348.04 359.537]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 309.779 290.496 320.683]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 270.925 302.123 281.829]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 232.07 380.468 242.974]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.55 217.45 232.722 227.355]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 193.216 414.769 204.12]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.94 178.595 389.318 188.501]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 154.362 284.389 165.266]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 115.508 318.71 126.411]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+588 0 obj <<
+/D [586 0 R /XYZ 90 757.935 null]
+>> endobj
+50 0 obj <<
+/D [586 0 R /XYZ 90 683.434 null]
+>> endobj
+589 0 obj <<
+/D [586 0 R /XYZ 90 651.371 null]
+>> endobj
+54 0 obj <<
+/D [586 0 R /XYZ 90 651.371 null]
+>> endobj
+590 0 obj <<
+/D [586 0 R /XYZ 90 600.733 null]
+>> endobj
+585 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+613 0 obj <<
+/Length 1094      
+/Filter /FlateDecode
+>>
+stream
+x�ݘ�n�6������4I���@�&ANH�x�&Y�L+Du��z��C�rbo���n��$�"}���t2�m<
��p�3�g("(�)�E�)��BL�!%�Xg6�,n3�z�)��!�u����O�y#���c軑Ř�i|68�P�� �M�8p<g��OM��
�D!�w�2�2�)��9 F.y.�#�dS�c�	Q�
L|Ok�c���C�C�$Ny]�JP�eu]ԏ�����,�Ń�V|����W����JN''"o�je����8 (���$2�}��!uq�9Z�Ɩ���.��Pt�{
�L W�TT�ߔ���RVh
{- at +dokr����Y��Lf�LQM��S+��^B:�m��O�c�x
���J�L����s,�F��Ԗ�P��ZX�
}�Z�R�����H�SxW;2'-B�i*�F�	j�+}3k�C��(.D�4���W��n���)
+� 
���2���1�Q�b
n4��A��
+YY����çX�M�6#L��IO��6��b�{!f*4��b	q`G��m8ƜT{+�Ƹ_e��U���{g}/���	�?d�u&*�C��%����h��
�<�;d3/6�_��7m�3tu��Ьƶ�Y2�Έ��!�mܬ���8ϧ?�?����R�m�����
G���,i}�w��N>ڔR�5%�Oś콛o/��,8F�%��w��rX�����
�J��Ǫ��A�/�C
�Q��Iwn!��-/O�'�U
�����ܧɪ(�9rw&5FyG<���n�֜T�Ĝ���)�[%q/^=*�~�8�Jm�on�
�G#a����%��n�eWL
S����9�0F�f�EwY�|a�D}�sS8���`�˰����,ǐ�
�ዖ^*�+��>�%S�Ҭ�����E�
��zy�|y�_�h��F�A���/���+���*�b⇛Y������	M-؋��U^��b
{6�"l ug\m����z���'�G���~�=��W.y���)j�8�
>@!������
:0ލ�s	M�o�ߝ�����?Y 
��g<4My0��s
׸�eYaٌ�2
��^�Eay�2��YQuB��	�R
�Ɣ�e
�.��j-����

+endstream
+endobj
+612 0 obj <<
+/Type /Page
+/Contents 613 0 R
+/Resources 611 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 409 0 R
+/Annots [ 583 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 604 0 R 605 0 R 606 0 R 607 0 R 608 0 R 610 0 R ]
+>> endobj
+583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 719.912 307.632 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+593 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 681.239 341.953 692.143]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+594 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 642.566 362.715 653.47]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+595 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 603.893 255.069 614.797]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+596 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 565.22 344.165 576.124]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+597 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 526.546 319.816 537.45]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+598 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 487.873 368.822 498.777]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+599 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 449.2 367.138 460.104]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 410.527 343.069 421.431]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 371.854 349.355 382.758]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 333.181 380.139 344.085]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 294.508 357.992 305.411]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 255.834 339.183 266.738]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 217.161 301.017 228.065]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 178.488 353.171 189.392]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 139.815 300.305 150.719]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 101.142 350.102 112.046]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+614 0 obj <<
+/D [612 0 R /XYZ 90 757.935 null]
+>> endobj
+611 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F11 291 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+650 0 obj <<
+/Length 1336      
+/Filter /FlateDecode
+>>
+stream
+x��X[S�H~ϯ�7�jC��4�[T�pra��u�(LZ��@H\�����
��@���������s�' �U��m�.�L��2�#0!�1�4w
�CBbA�ki�/ʚ0�oMY�BǏ�f��Wv�������US��{ݰ���
D!!@
B�%]��hҸ�	���_()�^��	Pe�>C0l�ـ��UOn���@K�b 
A	!5��,k\��wྩQ��57�j�`�&O��~�8����M������
���O^OO
�$
�л�E�,����g�R���
+c�),�Ve�D�d���m��db��c)���g:�}N_���D��D��I�tYq^�TFV$��n�i����w
Gހ��!
�>NHDEJ�|�d/�����J��-<�G�3�8J�����
n<���!J��ɁH�F��1f���d���2�����g-�4S�h���4%��¥�+�/u~��_�V�Ϩ���OFD���/עB)4��[��'�#Q��/��'�gOw�V4�����`%Tf�/���y
O�!�� �7~��
��۞�~��

+w�~�nw�&�C#�b��I�V�v��:
��v���?���Q5���"�Éε���/�ڽ�j,N�+X�BZJV�+��uD�^�4
Xᢊ�Qj��G�"��Ri~�!W�%q��^{z�<�PցTU��X-�3����ժ�-
���<��ڮ��!�P4,��dQ��|7\4	��|�A��ժ�h�P�5ZE
g1c����*bV���e9�����+˻��Y�ns]�]n14叵X�nۢJ/��q�‡x�u���ߎ�"�,jqˆ`sO����`�Wȫk5���װ'��J<�ZE�l
D����pӳ�[���iV,��
��
�b|�_kIkLX��
&"yT��+�C�J��|��.���-�z�ͽ�
'��h�:��N��Ԧ�Z�
��_�?J�à&�҉��u
��s�*���9��7���5�.z�5R��*c���C�4�&������=!v�Წʺ�u<Bkd{��Z�5��v~pD�P��5_��RpM�J��$��z���f��[
+�m��ʯ
�R����C��cy\�+}���s]��J�Y��wa]p��IeO�:��
����� �n��Y6�7�
S�<Ћ
����ѕ����\��bC�����
�b����k��iC������tg11.F,�X�g_�s6U�(��Y�u���DԴ����Ѭ�����3t��Ϯ�Ć�ӄ ��IbS��̢�G~����hKv�*.a�q;��lz�j���H�T�E�4���5����a˻D#�˥�E�<��h*�.���NSd� �'|���� �~
�
+endstream
+endobj
+649 0 obj <<
+/Type /Page
+/Contents 650 0 R
+/Resources 648 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 661 0 R
+/Annots [ 609 0 R 615 0 R 616 0 R 617 0 R 618 0 R 619 0 R 654 0 R 620 0 R 621 0 R 655 0 R 622 0 R 623 0 R 624 0 R 625 0 R 656 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 657 0 R 636 0 R 637 0 R 638 0 R 658 0 R 639 0 R 640 0 R 641 0 R 659 0 R 642 0 R 660 0 R 643 0 R 647 0 R ]
+>> endobj
+609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.15 706.961 326.212 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+615 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 668.107 323.163 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+616 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 629.252 277.754 640.156]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+617 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.107 548.49 263.359 559.394]
+/Subtype /Link
+/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
+>> endobj
+618 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.697 467.727 321.961 478.631]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+619 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.05 467.727 513.996 478.631]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
+>> endobj
+654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 455.772 180.102 466.676]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
+>> endobj
+620 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.749 455.772 417.34 466.676]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) >>
+>> endobj
+621 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 455.772 513.996 466.676]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
+>> endobj
+655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 443.817 238.761 454.721]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
+>> endobj
+622 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.477 404.963 353.705 415.867]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
+>> endobj
+623 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.355 404.963 513.996 415.867]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg9006be5f6c0f7616400b3554738e732fe64f42c3dc2245c0a2dfdfdf81804916) >>
+>> endobj
+624 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.08 354.153 350.202 365.057]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
+>> endobj
+625 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.056 354.153 513.996 365.057]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
+>> endobj
+656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 342.198 230.124 353.102]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
+>> endobj
+626 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.5 342.198 511.506 353.102]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
+>> endobj
+627 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 330.243 321.211 341.147]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de8166354806b7252847b0cb5c2ca71e1ab43b3) >>
+>> endobj
+628 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.526 291.388 335.713 302.292]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+629 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.46 291.388 511.506 302.292]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d634c41f8889b9f0e04d597dfeaa1d356b) >>
+>> endobj
+630 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 279.433 256.464 290.337]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d6985226363a0c8f82ffd9eccd025e9d79) >>
+>> endobj
+631 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.685 240.579 331.964 251.483]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.03 240.579 511.506 251.483]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
+>> endobj
+633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 228.624 242.686 239.528]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a4f9ea739b8717fe026aba79a67be5cc6) >>
+>> endobj
+634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.276 228.624 407.397 239.528]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
+>> endobj
+635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 228.624 513.996 239.528]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
+>> endobj
+657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 216.669 227.703 227.573]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
+>> endobj
+636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.916 177.814 335.438 188.718]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ge444adc8164dfda0378177ddab117095) >>
+>> endobj
+637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.965 177.814 475.441 188.718]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
+>> endobj
+638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 177.814 513.996 188.718]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
+>> endobj
+658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 165.859 252.24 176.763]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
+>> endobj
+639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.229 165.859 393.35 176.763]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
+>> endobj
+640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.568 127.005 364.156 137.909]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 127.005 513.996 137.909]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
+>> endobj
+659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 115.05 283.214 125.954]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
+>> endobj
+642 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [311.129 115.05 513.996 125.954]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
+>> endobj
+660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 103.095 162.558 113.999]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
+>> endobj
+643 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.546 103.095 402.346 113.999]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a6ceb40deeaaaf0f057da97c1aaac0a3c) >>
+>> endobj
+647 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+651 0 obj <<
+/D [649 0 R /XYZ 90 757.935 null]
+>> endobj
+652 0 obj <<
+/D [649 0 R /XYZ 90 565.561 null]
+>> endobj
+653 0 obj <<
+/D [649 0 R /XYZ 90 486.701 null]
+>> endobj
+648 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+696 0 obj <<
+/Length 1354      
+/Filter /FlateDecode
+>>
+stream
+xڭWYs�H~ׯ�-P�g��o�M�rt8ٵ�I��4��pP
����m�
,�G\�*������_�`�V��I��;�hꊃ
���w�8X�L�%��T�T�O0��F��k��?5��OVG~|��o�X
�g7��\ڦ��оy�=����P�R�`�t�,���7�,a�T�Hwl�:)��*���
���zVn0���&2t[�F�—���ʜ�;���3
�"�_ڗ�JCϫ:ө��Y���$\��e����:����4-�(��/�$���%�*�ω��
����
�Q�� �1�B�w<�
�ÿ!D���IG��~��2R;
.�
+�����Y?>Z�vLӨb` b�`��
C��L����yp
ʔI6 ;����
4��ݧ����
B~'�{�9��l
]'�6dvF�&0��;Ռ��l��1xIL��8=�������X
�^$ܖ�Eb�vRn��ZM{�?9weZ��w?/-e[��{uPg����J�
9�!�� l+}CG�
I74}�
?�RH>��"
�J��
@A
����ɚ<��
���
I�"�X$��+��
+Ҵ�|w�͗^Us�z�B*�I2�RԪO��`�0��
&�
	Z`�:E����J
\(s�m��i���S��8Y��q����`�
Q
�g�OΣ$JC�+(������p
������K�AF�%�n`�8&̀�d�j���pG
�dC��
aF�=ӑ�[��d:
F���l�^
�ˎ%�Fk�� m
U���E��ҳ�8�?lR��ӵf2��k��~�B��d�ٰ��VR1\�&aP�Đ�T��Z�]�	�*ĢX���C�_���,��
@��'
�Vn��`r�L
1۪]
ĥ�뽈w��Yn��g�f!ЗB\d��$��U՞��ҟO��tY��$�$7�9
�I�Y��j�@U6	=�/
�V�s><NN�Eǀ~`�ut�M�`ķb��­,�7
�ma��",jU�p�/6le	����w������mb�vt'�6�y�{�μ�{|��?���<QZ���+�:�����@
:�T�,oD�[�r��%����uu�7�_1��D�:M�W��
/������Cڶ�/�RWaG�
� �Z-���{1(i��I�� T���v[�7 �
��Q�(�7e�@t 3w��'ܭ
l���]Ͻ [...]
?)�tʼ+�������
-r���4CAq�����>H��?��*m*J2.JJ�-d 
��I�p0�F�G��)'i�
+endstream
+endobj
+695 0 obj <<
+/Type /Page
+/Contents 696 0 R
+/Resources 694 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 661 0 R
+/Annots [ 644 0 R 645 0 R 698 0 R 646 0 R 686 0 R 687 0 R 688 0 R 689 0 R 699 0 R 690 0 R 691 0 R 692 0 R 693 0 R ]
+>> endobj
+644 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.232 706.961 360.829 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+645 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 706.961 513.996 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
+>> endobj
+698 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 695.006 218.826 705.91]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
+>> endobj
+646 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.815 695.006 405.305 705.91]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97713b313393fbe3b2f84daa5d5e440d5fc9) >>
+>> endobj
+686 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 656.151 317.076 667.055]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+687 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 640.211 278.601 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8d1443a727b974ff807ec5bc5cd1dece) >>
+>> endobj
+688 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.155 640.211 473.255 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b671181c4f0b106836b2bfa9c51d75464) >>
+>> endobj
+689 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 640.211 513.996 651.115]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
+>> endobj
+699 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 628.256 226.079 639.16]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
+>> endobj
+690 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.068 628.256 439.746 639.16]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b468e42a8760cc57fdc62aef53af8908e) >>
+>> endobj
+691 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 612.316 300.18 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8b42d305e53e64514a7f004b4e55f862) >>
+>> endobj
+692 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.767 145.258 474.784 156.251]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+693 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+697 0 obj <<
+/D [695 0 R /XYZ 90 757.935 null]
+>> endobj
+700 0 obj <<
+/D [695 0 R /XYZ 90 574.996 null]
+>> endobj
+701 0 obj <<
+/D [695 0 R /XYZ 90 516.295 null]
+>> endobj
+662 0 obj <<
+/D [695 0 R /XYZ 90 492.08 null]
+>> endobj
+702 0 obj <<
+/D [695 0 R /XYZ 90 492.08 null]
+>> endobj
+663 0 obj <<
+/D [695 0 R /XYZ 107.713 415.153 null]
+>> endobj
+664 0 obj <<
+/D [695 0 R /XYZ 107.713 399.212 null]
+>> endobj
+665 0 obj <<
+/D [695 0 R /XYZ 107.713 383.272 null]
+>> endobj
+666 0 obj <<
+/D [695 0 R /XYZ 90 371.153 null]
+>> endobj
+704 0 obj <<
+/D [695 0 R /XYZ 90 356.582 null]
+>> endobj
+667 0 obj <<
+/D [695 0 R /XYZ 107.713 279.789 null]
+>> endobj
+668 0 obj <<
+/D [695 0 R /XYZ 90 267.67 null]
+>> endobj
+705 0 obj <<
+/D [695 0 R /XYZ 90 253.099 null]
+>> endobj
+669 0 obj <<
+/D [695 0 R /XYZ 107.713 176.306 null]
+>> endobj
+670 0 obj <<
+/D [695 0 R /XYZ 107.713 148.411 null]
+>> endobj
+671 0 obj <<
+/D [695 0 R /XYZ 107.713 132.47 null]
+>> endobj
+672 0 obj <<
+/D [695 0 R /XYZ 90 120.351 null]
+>> endobj
+694 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F81 703 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+719 0 obj <<
+/Length 1099      
+/Filter /FlateDecode
+>>
+stream
+x��W�n�6}�W�PӤ$�7�Qg���r�6]��8B���i��;)�����
����33g8
�l��������2��n)���bŶ�:Q���:�h}�1V�5BU��T��
��N����m��\�FQ��g�.��e��N�O�}��{�{��
+���6�
�����'�l������:�k�U���ϝ��}��N����E�t��LI�GE(�%,
�*�wo/|���.xJY�vuu÷<�)�����GyIxpKqc��,��|�M&p�g����;5�xǞ�<e�\̸@�P�ڢ�9}�\�R`��<0�D�ӫ��� 
Ҁ��@�A��`9���^k�
!
-
^��_�	EȀS��?0�g1
Gr���^_�
��k�/�Y�h;����$�'��ԡ7���wY`�ݠ��<L�si7>�x���a��7uD��
=_twB'q��5�T�~Zt{���bI
VGM�a4�ԓ+��zjqdɳdD'�!a�2�|��X픆nA��
ɤ�M����G"7�̦�����ع�MQ~�7��嗇�b9�V'99r
�BN�]�)olˏ`aSf���낌I���ߥ
 �	��8	$�֙�Pu8�=ߛwq�l�\�)
9\
4z*�$��̦v�)(��ǎw�|��G��,Ո��OPsV���EvZ��8˂��p�E��C޺h��J���J�[y��������y�����Y����X<���D�m�G�c9�����������5�S����LL�~�Dz�"z�rd��jЦޖ���rr��\�΢�\vOqm��4��In:�G���3`L�nr/�N�H�-Ƀ��Z3E
�����2α�q�O�i�_�+�Y��M��N�fK@�	��m�G�2H�2���t�Yv1��^�� j�Pk&�
��4#ᚒ;�

r�ݳa_Ʀ��Y��9�ūZ;�c!�6
��QQ�.䳪
�i-&ُ
+E��=��e�Ӯv��f���2��O����cu
��)�[��W@��KRN
�� 
j,V�>��G�R�чR��a�n�M�ݗ՗<O����W��4`I��|�$����}C!�D����\�0N+"P�
��Ӗ�?��Ð�s�˯�{�
+endstream
+endobj
+718 0 obj <<
+/Type /Page
+/Contents 719 0 R
+/Resources 717 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 661 0 R
+/Annots [ 715 0 R 716 0 R ]
+>> endobj
+715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.841 297.174 249.291 307.101]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+720 0 obj <<
+/D [718 0 R /XYZ 90 757.935 null]
+>> endobj
+721 0 obj <<
+/D [718 0 R /XYZ 90 733.028 null]
+>> endobj
+673 0 obj <<
+/D [718 0 R /XYZ 107.713 661.74 null]
+>> endobj
+674 0 obj <<
+/D [718 0 R /XYZ 107.713 645.799 null]
+>> endobj
+675 0 obj <<
+/D [718 0 R /XYZ 90 633.68 null]
+>> endobj
+722 0 obj <<
+/D [718 0 R /XYZ 90 619.11 null]
+>> endobj
+676 0 obj <<
+/D [718 0 R /XYZ 107.713 542.316 null]
+>> endobj
+677 0 obj <<
+/D [718 0 R /XYZ 107.713 526.376 null]
+>> endobj
+678 0 obj <<
+/D [718 0 R /XYZ 107.713 510.436 null]
+>> endobj
+679 0 obj <<
+/D [718 0 R /XYZ 107.713 494.496 null]
+>> endobj
+680 0 obj <<
+/D [718 0 R /XYZ 90 482.376 null]
+>> endobj
+723 0 obj <<
+/D [718 0 R /XYZ 90 467.806 null]
+>> endobj
+681 0 obj <<
+/D [718 0 R /XYZ 107.713 375.072 null]
+>> endobj
+682 0 obj <<
+/D [718 0 R /XYZ 90 347.013 null]
+>> endobj
+724 0 obj <<
+/D [718 0 R /XYZ 90 332.442 null]
+>> endobj
+683 0 obj <<
+/D [718 0 R /XYZ 107.713 256.625 null]
+>> endobj
+684 0 obj <<
+/D [718 0 R /XYZ 107.713 240.685 null]
+>> endobj
+685 0 obj <<
+/D [718 0 R /XYZ 107.713 224.745 null]
+>> endobj
+706 0 obj <<
+/D [718 0 R /XYZ 90 212.625 null]
+>> endobj
+725 0 obj <<
+/D [718 0 R /XYZ 90 198.055 null]
+>> endobj
+707 0 obj <<
+/D [718 0 R /XYZ 107.713 121.262 null]
+>> endobj
+708 0 obj <<
+/D [718 0 R /XYZ 107.713 105.322 null]
+>> endobj
+709 0 obj <<
+/D [718 0 R /XYZ 90 93.202 null]
+>> endobj
+717 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F81 703 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+742 0 obj <<
+/Length 1182      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�V�@ 	><��8���q]GVNvFɐ̆�����.�zVN�ju"	���~�X [s
[��w�^�C�Y1�X��c+
b�X�G�ގ
�2l��LT%�
+����.2�׼N�
�b
R�Η�Uo0�}��-҈c!
+=fM���l=�����Gֲ��Y>��Zw�O=|���!�(�cl�|�ip%��E��$
%��Dr�rv6ix|��M�T��`xM�\���ZC�@˭�Uj�lanat1���r��XK 2!y]ȳ��+YA�*�!̨p=���~?��Ҽ=�P���BT�]?�|�:W/t	CA����x��!�����>�>�;��p�U��
+���ۂ��gq����ք-���+5
�R�����Ø=
�+�`���Eq)��<�gZ��Y�U� �wvp!��k�#��V���\/F$
���$����I#(f��<���� �����[��b�I�C{��*L��̺��k�r�
��g�2��$O�T|;-��+���S6x��Xq���AJ���Ӕ"�2�@)�Xcݻ
\1U��UJ����a3Ea{�2n��r Y'J"��6ο�q�zq;c�Oba�ٿ�_+[C
�� �u{�or�G1�ܰ~Q'iR��jKu �2�:I>�#٢�����%/rw�ϔ��;yq��vC
�T~!�F����
+N�C	���
�btQ��b��t��e?��ʆ
�X<U
+ 
:��6��E��#��&�ವ�~�H���j�
��J
��l���
&�c�\Ւ'Gc�zh�ݯ+��qv������.Eq��:���
0�Rr<�>e�����NP���E%La�
+<6�
9�T��6����4&o�A׍\9
��4 ^��Mq���f�bk'����a�Q�����n��!�Ish|<����2XW(Z��t
E��K��V��B帨�7�KX
+�>�W��R�uWo^����u_m[�ș�-��uj� ��,�U~��9�����/��?�c��s��
�F�������n�����{���n�������L����)M%��!��0����ROe%r\�݉�
�
�j�o�[����8h;.����r��Z�I)QR��2��3VR �:��~d�l����>	,7�5��I��̶� �Ga�
+endstream
+endobj
+741 0 obj <<
+/Type /Page
+/Contents 742 0 R
+/Resources 740 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 661 0 R
+/Annots [ 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 739 0 R ]
+>> endobj
+726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 448.45 221.312 459.354]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
+>> endobj
+727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 411.913 181.785 420.76]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 371.262 185.9 382.166]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 332.668 220.22 343.572]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 296.131 179.274 304.977]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 255.479 213.595 266.383]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 216.885 241.242 227.789]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
+>> endobj
+733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 178.291 183.698 189.195]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 139.696 195.324 150.6]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 101.102 273.669 112.006]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.55 86.612 232.722 96.517]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+743 0 obj <<
+/D [741 0 R /XYZ 90 757.935 null]
+>> endobj
+744 0 obj <<
+/D [741 0 R /XYZ 90 733.028 null]
+>> endobj
+710 0 obj <<
+/D [741 0 R /XYZ 107.713 662.39 null]
+>> endobj
+711 0 obj <<
+/D [741 0 R /XYZ 107.713 646.71 null]
+>> endobj
+712 0 obj <<
+/D [741 0 R /XYZ 107.713 631.03 null]
+>> endobj
+713 0 obj <<
+/D [741 0 R /XYZ 107.713 615.349 null]
+>> endobj
+714 0 obj <<
+/D [741 0 R /XYZ 107.713 599.669 null]
+>> endobj
+58 0 obj <<
+/D [741 0 R /XYZ 90 582.88 null]
+>> endobj
+439 0 obj <<
+/D [741 0 R /XYZ 90 547.27 null]
+>> endobj
+62 0 obj <<
+/D [741 0 R /XYZ 90 547.27 null]
+>> endobj
+745 0 obj <<
+/D [741 0 R /XYZ 90 467.294 null]
+>> endobj
+740 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F81 703 0 R /F11 291 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+766 0 obj <<
+/Length 1040      
+/Filter /FlateDecode
+>>
+stream
+x�ݘKs�6������� �o���NF��(������D�%A$����xQ�4�؉8��	v?�.v�@x7z�M�F>��i�E`�S����`���bw�BNMDIҺ*
��R��`���w�������IFM�#]Q��ġ\u�$}Nj�/����b�����z�0����
]A`)����4k=����g�FFȊ�_O�R��T�(����#����u�y���\�C�eV�����"��~�C�r��m:�\/t�T���4h*��Z*H[������1�3
+�����c
�)�R��'k���s�
#�~]�}�ſd�
�Z;�Z�'yF/7�c{�tc��E��Ow
� t*�Ё�軳-�^aχIr𮼣| �V�8U��l����}O�PY��M��N�~�Э1'A%�zhZZ�1��XW�h��6��,��
�L�
G�\N������5/�r�
�x��P��C9�,���b���Ȍ�r�U'���J�YyWRަgg�n�^����Ld�qF��Z&���dF%���:�Q����@1c��ʪ��Y�xnڳ�{{��SK�:�����]z&���jmU�f�Z�I���'�4��
�
{D��m��l
��L�zȑ
�T/rR�o*�RQ�!/c�E�
k��c��=V&+��:��O���|���W���A��[<��ZiUz(f��F���]W/�|Zޕ^u�`����? Y�~�0Yq�6^��v�fz�c�������{z�x7
F��4&'��Wq<-@�]��L��-�@�P��K��G-'.��e��J�ӹҲ�} [...]
?���3��w�n�
+ѽZ��G�GP]�I�þ���;��|W��:C�Oп��n-�-=�X��4����wm[�2���k�5������.&;��hai���O��V++�c?�a�#0��?��K
�vMK��� +�
+endstream
+endobj
+765 0 obj <<
+/Type /Page
+/Contents 766 0 R
+/Resources 764 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 661 0 R
+/Annots [ 737 0 R 738 0 R 746 0 R 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 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 763 0 R ]
+>> endobj
+737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 706.991 307.97 717.895]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.94 692.4 389.318 702.306]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+746 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 670.254 177.591 679.101]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+747 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 629.403 211.912 640.307]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+748 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 591.586 200.833 601.513]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+749 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 551.815 235.154 562.719]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+750 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 513.021 255.917 523.925]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+751 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 476.285 148.271 485.131]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO) >>
+>> endobj
+752 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 435.434 237.366 446.338]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+753 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 396.64 213.018 407.544]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+754 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 357.846 262.023 368.75]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+755 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 319.052 260.34 329.956]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+756 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 280.258 236.27 291.162]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+757 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 241.464 242.556 252.368]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+758 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 202.67 273.341 213.574]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+759 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 163.876 251.194 174.78]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 125.082 232.385 135.986]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
+>> endobj
+761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 87.265 194.218 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+767 0 obj <<
+/D [765 0 R /XYZ 90 757.935 null]
+>> endobj
+764 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+804 0 obj <<
+/Length 1375      
+/Filter /FlateDecode
+>>
+stream
+x��X�o�8�=�
�ű8�N�:ZeͷK�Ԫ����w8C�V���gcC���6UN�db��{���Am�A��!h��
K�瘎�j
���DZ0ծu �� �zF؜�Y��SF�8�a��MC�O�4�Ȅʿ#zK��\�&b
�6�t�5��~������PC�u�
��&���7�M��'
�s�Uyj�٦��X7�l@���Z�҆��Eql!
+2= ]�mZ :X�s"��Ewt*;IA
�3A�3]n~��QB	�OH�
�ac=�f\6���<Jf�e&_��tJ)w��:�p
�i�6�jOA��4�
��&1�s�B`�f
+�QyD�1X
+�(�Z�ab}���,��&4+�4�	s V�!x�-��	�R��B��H�Z�T,��
e
&���hX*.b�T�
���l��	�;~�'6xA�vu�⽔���L\�V'���&��q�@WV�	�%ȷr]�xA�ͽ�>S*��
I���%�W�(�E ց���+-S�$���i
�IQ;��X���fL�Ӓ����"��V�f��8�n��(�+ ��3�؁��$�M����u-�O�9M��D�L�	=��r�	O�$
ј
�໒�V[���;7�XQ������2�%[�E*�K�BW�q�M�uN ��fp�ěP�X!�BǍR_J�O��-_��u�G���� �㘮�B
�iq $�"KE���XY�r���]
}�aB�nWڪd�VY�5m
 \U/�bN���:��L� �r%�U�
J�i�FҲ�~��3�o��5�kJ�m�?�'3
t��@��?�uN���7�����j����yB�N��K	��I�*l�#\��q-#�a��N���ݡ�����mm� [...]
+�ơ�ܼ��>M�S��I�
uN;�������٦�:�G�K�k!O��u�ly�`o[�?�6���n�xE�M����sD��p
�������Ϻ��<t	��
~R�Y�|�,�a�2��D����ܳf1a�_��7v�����YO��;!M�7)���2<�DB
+��y�/p����4��Ԡ��"^>��<_ny�tm�Q�[J�䦪Y'*S��1�r.���0F(��5�����ƈ�;��վn8���u���`�y�O}�:�K���Ü�u5��̢ix,-
��2�����������f
�(n{�� :�NY�i*׼�6/��`{ �m�':F�q�c
���>$�DD��s��5If
2��؇�
�9e�D��BY�$�j|!��j���WA��/cYbt
����ieS�����B�
xMN�͕��s��E���j�V+0��"�2���eq�q�@qն͊H�$�)+�͉�6r�f���(J��yٝl���?�?�x
+endstream
+endobj
+803 0 obj <<
+/Type /Page
+/Contents 804 0 R
+/Resources 802 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 661 0 R
+/Annots [ 762 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 807 0 R 779 0 R 780 0 R 781 0 R 782 0 R 783 0 R 808 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 794 0 R 795 0 R 796 0 R 801 0 R ]
+>> endobj
+762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 696.002 246.373 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
+>> endobj
+768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 657.865 193.507 668.052]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
+>> endobj
+769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 618.293 243.304 629.197]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
+>> endobj
+770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.15 580.415 219.413 590.343]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 540.585 216.365 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 501.73 216.355 512.634]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 464.933 170.956 473.78]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [135.768 424.998 192.544 434.926]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.448 343.259 214.914 354.163]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.506 343.259 360.535 354.163]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
+>> endobj
+777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.434 343.259 478.227 354.163]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) >>
+>> endobj
+778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [482.126 343.259 513.996 354.163]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
+>> endobj
+807 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 331.678 180.102 342.208]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
+>> endobj
+779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 292.823 244.968 303.354]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
+>> endobj
+780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [252.738 292.823 294.581 303.354]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg9006be5f6c0f7616400b3554738e732fe64f42c3dc2245c0a2dfdfdf81804916) >>
+>> endobj
+781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [150.585 253.969 255.909 264.5]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
+>> endobj
+782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [287.774 253.969 448.819 264.5]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
+>> endobj
+783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [463.855 253.969 513.996 264.5]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
+>> endobj
+808 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 242.014 232.286 252.544]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
+>> endobj
+784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [235.275 242.014 335.777 252.544]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de8166354806b7252847b0cb5c2ca71e1ab43b3) >>
+>> endobj
+785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 202.786 223.927 213.69]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.698 202.786 282.945 213.69]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d634c41f8889b9f0e04d597dfeaa1d356b) >>
+>> endobj
+787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.934 202.786 321.69 213.69]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d6985226363a0c8f82ffd9eccd025e9d79) >>
+>> endobj
+788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 163.932 205.018 174.836]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a) >>
+>> endobj
+789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.789 163.932 237.466 174.836]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
+>> endobj
+790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.455 163.932 262.433 174.836]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a4f9ea739b8717fe026aba79a67be5cc6) >>
+>> endobj
+791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.421 163.932 296.744 174.836]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
+>> endobj
+792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [299.732 163.932 381.426 174.836]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
+>> endobj
+793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 125.078 228.261 135.981]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ge444adc8164dfda0378177ddab117095) >>
+>> endobj
+794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.032 125.078 260.709 135.981]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
+>> endobj
+795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [263.698 125.078 325.107 135.981]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
+>> endobj
+796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [328.096 125.078 359.418 135.981]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
+>> endobj
+801 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+805 0 obj <<
+/D [803 0 R /XYZ 90 757.935 null]
+>> endobj
+806 0 obj <<
+/D [803 0 R /XYZ 90 362.233 null]
+>> endobj
+802 0 obj <<
+/Font << /F63 247 0 R /F70 298 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+825 0 obj <<
+/Length 1309      
+/Filter /FlateDecode
+>>
+stream
+x��Xio�6��_�o��5CRwPpg��N���.
Yfuu������C>���h� "i�q����(X�װ��s6�\8��#ߡ�6��|��A6%�l���]jc��8(K9<��:aiTQ�]����7��.;�Y�[� 6ֈ��]䚶&��/X[������{ړؕh5�k�ΧVv�m�l�e��LOs���cK#?Sj��s�m��Xgi��unOq�
��
ķ��`<�"f�|
+
�e���~���ߛΆ����֯a:j����]�\���ߌ�!��.!ȷ9���`4��(���?;������ �;�%b`!�p��|˒��
�YYF@��IVWa�0%��N>���dްl]�/�,~d�A��^K6�K)r,
+O��=��V\�U�D
}�Gْ�c��a��������W���8������G���H��|�+	8^��Q��XF`�JY��4��
.+C���t>����@�sדy��A�~�ߞ���9�q�W"�O�nVdH.v0�p�T�N��"z��U|�����u-۔h>"�]�A4�
+��-U
beXD��
+�[b���L�gM���rp���@�DiŊ;�n��y~
�0^p�"�*7{q
�LWyid��Y-�R�Rn��	ի���$\�I���06�
vI ��Y�z`�BM�Ѣ����
��mG��Di�K�lv6�F��ǭڱ��ٴ
��pQ��4
+"H�v
+k
qA�A!d�k0֡ι���{
K�OO�V�	��E��2	
��,�lD
�V؟�]M(��z�l
��oP~9����
[�҃6�P�R�W�R/M]EqT��$ܠFI���{���*X'q�3�Y���%
⸻Xu
n7iҝWƤU$�E
��Z�d���E��<���R�O�m�(	϶i{�
�M��ڹ�3��L��_,��R�q��'�ֲxVG�l��Ɨc0'�˚�7�_hogCM�k5rhL�f��;8�m����J�1�p�KJ�#�Y�<\gJV
az�
j��z�W��������,����Ӊ����Ä�?O�{����.Ҳ�MK2���*
,V{��Mdzk�6��}1|�0���
���[�Dz
+�""m�UU-�"늽?��,��#28��*+
���ͼT�a����
�]��~7��] D~��>��j77[]�nu
��]w
{۟a����8
~l�nJV�dض�(i
��ZՏ�vV����9��#&W<��+��	��.��5��;B�?�
��F�U����<==��Du����<�O~��@
]ڀ�eE�}SC��y.���u]8�^�(���h\vc
���H$#
+endstream
+endobj
+824 0 obj <<
+/Type /Page
+/Contents 825 0 R
+/Resources 823 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 835 0 R
+/Annots [ 797 0 R 798 0 R 799 0 R 800 0 R 809 0 R 810 0 R 811 0 R 812 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 ]
+>> endobj
+797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.99 720.286 225.779 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.454 720.286 369.659 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
+>> endobj
+799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [372.099 720.286 511.506 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
+>> endobj
+800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 708.331 243.912 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a6ceb40deeaaaf0f057da97c1aaac0a3c) >>
+>> endobj
+809 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 669.103 221.336 680.007]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+810 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.107 669.103 301.924 680.007]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
+>> endobj
+811 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [304.912 669.103 381.604 680.007]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97713b313393fbe3b2f84daa5d5e440d5fc9) >>
+>> endobj
+812 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [138.538 630.249 210.278 641.152]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+813 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 614.682 171.803 625.212]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8d1443a727b974ff807ec5bc5cd1dece) >>
+>> endobj
+814 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.792 614.682 257.093 625.212]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b671181c4f0b106836b2bfa9c51d75464) >>
+>> endobj
+815 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.082 614.682 295.329 625.212]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
+>> endobj
+816 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [298.318 614.682 402.198 625.212]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b468e42a8760cc57fdc62aef53af8908e) >>
+>> endobj
+817 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 598.742 193.382 609.272]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8b42d305e53e64514a7f004b4e55f862) >>
+>> endobj
+818 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 337.912 172.889 348.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_b4470b84b8b57bae591239910d220c70) >>
+>> endobj
+819 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.915 299.058 146.976 309.961]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_133f3756e88145e6ff5bf3d1b41838d9) >>
+>> endobj
+820 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [122.488 260.203 136.655 271.107]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a3a5f10fed94188b162073ef8efff393) >>
+>> endobj
+821 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [122.488 179.441 137.213 190.345]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_d35d7381bcd3c4cf029d4b76bb6545b8) >>
+>> endobj
+822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+826 0 obj <<
+/D [824 0 R /XYZ 90 757.935 null]
+>> endobj
+827 0 obj <<
+/D [824 0 R /XYZ 90 561.048 null]
+>> endobj
+66 0 obj <<
+/D [824 0 R /XYZ 90 471.647 null]
+>> endobj
+482 0 obj <<
+/D [824 0 R /XYZ 90 439.719 null]
+>> endobj
+70 0 obj <<
+/D [824 0 R /XYZ 90 439.719 null]
+>> endobj
+829 0 obj <<
+/D [824 0 R /XYZ 90 356.886 null]
+>> endobj
+830 0 obj <<
+/D [824 0 R /XYZ 90 356.886 null]
+>> endobj
+831 0 obj <<
+/D [824 0 R /XYZ 90 318.151 null]
+>> endobj
+832 0 obj <<
+/D [824 0 R /XYZ 90 279.297 null]
+>> endobj
+833 0 obj <<
+/D [824 0 R /XYZ 90 196.512 null]
+>> endobj
+834 0 obj <<
+/D [824 0 R /XYZ 90 196.512 null]
+>> endobj
+823 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F21 828 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+859 0 obj <<
+/Length 1843      
+/Filter /FlateDecode
+>>
+stream
+x��YQs�8~�����Z���K�tڻ�rI��x0�m�(����+	��$m��r���L
B�v�ow�+��p��wz�]��3&c�����S'��973�}�Q�CF)�Q��&E�n�rVF�4��Q�=99�\8���l0���Ҩ��啜K�Lf��n�xߥ��7oz/oz�{
4�S���p�U��G��`��C�;����r<��o�\����{��.����0Œ=粎�Tδ~粊ˤ��
t]�'�:C��k9���u�&�V��;c�U�ʕ��$[�պ����7Qf��l�zGi:�n�%��HT�g񹧗�Y��<^�2�R[
��R_�ˤ:Rl3`���Y�L�Q� 0/�U�l��i>ࢿ��|����D�� �0�xn�0��V��=��P ��ɕ���=���4��cd,G܇�d�#T<�O~�u�N������Uc

yh}�����F�<���u��eRW2��raB�J����e凌~�y�X\[��
 5�]��ik5���T�Xg1zVՒ�c�#,p#N3v]�sG���
ޭ�u\�eu��o�IK��%���>�N�����BŸ��i�8����П+2������%�S��@6�DmtP'}
�|��+pR�ߧ�$�5x�D��T�5�u�|n�I@���2�n�$���D ڨ�fzJK+A ��s�i�
|�K
���,���N������Yq��4+�2�����Z�:(�0�a`�c
+a�
+[���C_��g9�*���;���CVܚ�LyL}�
�F
�Ų�`
�:������jW����\o�Z�:٫�����;,�*�i+�����T
4rߵ�6��v���=��A�s�(�X;����AD��4;:)�2���R����'�}(�:HĚ����9�R�eS^*�oU����O��Rʻ8~̾x%SU�a)M�E9p���򵺈��(��Y࿦d�n�2 �G-9
0���Q��[Z�z׉%uSƷ�j��
;��� ����
\�2�Z��u} ���E�\F�T�dӢ��f�*+���Q`�HZ�=$Mq*�d�৮���.��
+U�iR�����T��fx
+ehޭ,lBT,��=�?\:
+q��F����켐Zv��QZ�z:�������vT�uԆ��ժ�a�q�|%���5�j���Ҹ	���q�=� �۽9ʶ
,`o��.�����e��*���p����������F�L��g

8 #��m����Ч{��-A@�d��
�1[���*�����zr�*>O�a�}���q���
{}Y�_ ��(�A�)������1]�0�O\P[c`�W�Ϲ^ �l<���� }5|%�>���d�'L�_=����]�3ob�s�Z��=�6oY���΁���h��ne��O�D��
rj<�7��
v&<�Y�K��	i��i��o�RfΝ�qw��&�QT�ɊU�
V4�#+󤑧Ju�/�8
ǚ��а
+��֤ȃ�;X�n�(����8AeGr��>h}�@�7��)�fr����|���q~l���]k֓���n]��>S<���N��v'�z
,���*p�8���ӴƮ�1�θ�ҟ����W�|��W�2/��?A�����p�j��n�Ԣz�i���&?$�o�ܤ>3�3�d
����LbL�8�<s��ЕA���������͛�!�q�-��ˆz�ղ���7�����/�;��Fٺ	#��"�5
��W�����rA޵m
5"���귞�ag'�U��e]'��f�!qE�YR�$�GE����͝
u`�:��j���Ԫ!�͠V
�
�IW�;W�[����9�
+endstream
+endobj
+858 0 obj <<
+/Type /Page
+/Contents 859 0 R
+/Resources 857 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 835 0 R
+/Annots [ 836 0 R 837 0 R 838 0 R 839 0 R 840 0 R 841 0 R 842 0 R 843 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 856 0 R ]
+>> endobj
+836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 576.922 276.658 587.826]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 500.884 184.651 511.788]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_1c91471f55b22735023d37417f0bef70) >>
+>> endobj
+838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.633 500.884 304.022 511.788]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
+>> endobj
+839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 466.316 184.651 477.22]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_509185b3d326e5d4496fbe8953b82f88) >>
+>> endobj
+840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 466.316 248.023 477.22]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 430.057 184.651 440.961]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_5491f9cbaf4f0215196fc05ce17eaec9) >>
+>> endobj
+842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 430.057 248.023 440.961]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.836 430.057 333.302 440.961]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 395.49 184.651 406.394]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_d008d79cb35b51e7dfbee0dcc3741dc3) >>
+>> endobj
+845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 395.49 266.294 406.394]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 360.922 184.651 371.826]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_bf571357a5156e495293957a44145a9b) >>
+>> endobj
+847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 360.922 272.919 371.826]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 326.728 189.015 337.258]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_173c08eeeb4a96b0060d5f023e4ba4a6) >>
+>> endobj
+849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 180.874 184.651 191.778]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_558341813be1d1bf607bf1c50e6e1ba3) >>
+>> endobj
+850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 144.616 184.651 155.52]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a37dcee4fa14c58b76c8d3c4227849e8) >>
+>> endobj
+851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.222 144.616 347.688 155.52]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
+>> endobj
+852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 110.048 184.651 120.952]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_e79d42cfe6b21bcf264fd9ea84e78fb2) >>
+>> endobj
+853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.467 110.048 264.61 120.952]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+860 0 obj <<
+/D [858 0 R /XYZ 90 757.935 null]
+>> endobj
+861 0 obj <<
+/D [858 0 R /XYZ 90 733.028 null]
+>> endobj
+483 0 obj <<
+/D [858 0 R /XYZ 90 646.577 null]
+>> endobj
+74 0 obj <<
+/D [858 0 R /XYZ 90 639.509 null]
+>> endobj
+862 0 obj <<
+/D [858 0 R /XYZ 90 541.172 null]
+>> endobj
+863 0 obj <<
+/D [858 0 R /XYZ 90 483.266 null]
+>> endobj
+864 0 obj <<
+/D [858 0 R /XYZ 90 343.304 null]
+>> endobj
+865 0 obj <<
+/D [858 0 R /XYZ 90 195.787 null]
+>> endobj
+857 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+880 0 obj <<
+/Length 1739      
+/Filter /FlateDecode
+>>
+stream
+x��X[��F~����R��;�V��MR%�����J"��c
8���{���x/�F}��̜�w���,
��2yq=9{-��PR�\/�;�$HP�\ϝ.��N=�1v��\G�"Ow+5/�Y�ܔQ�{��|v9�ص/�$p�l�Q���4�*s�^-T�Ne���'�ed��������vB�"���#�	'^O>|��
��u0ba�l�Uk�S��s5�c��7��c�����)CX
+����
+,k��P�*�W�Q�����`�
ǣ��7>R*z[����eQ�L�p�L�p��p�穊2�\�[.��zѦ(T9��7�|L��,Y̔�5��.��#��P2d��gc�w���^������k�)E��#����,�
܅0�
f�7��e��
+ !�@^ �0M��z�TfQ_)G2$�

"IڭٍH	�����4p��6�'�yܾ6�Wփ:Q
�����.7�^A������7%�����X���6�Ԉ&��P�C1�14�QZ��
�=�1�*�	��J��C�9
g�f�]�P"��x��I��
��ik��&��$��J�8
�3�S[קʲ�J9��JT?���QR�Xr���x�X�x���QD����g`@(��<��JհR۶U��y�n�u`
%!�E��c\�d**g���D�|>
��:��_:
�FrH	�N)��w*�����b��b�L�Cn�x9
���]�T
�d#u;R)>0ml�zuX*U�t��F���&b��/�;�=��O�_����S3�k�Gw�o^occ�KC���	��1͢4�[�y��[�f��ὂI\)�Т4�+�4q�~
eє`w�ڸ���9�����F�`��t�x�N���
��$m�{���L���9Đ>���������eC at v�Q��U+2Q
��Ԅ�</��D6$�������-�<�����������y�Y�L7o���#�
ţ��)�B��,ͳ��+8l���Ӯ)�G\���H�-U�ʨV�W���ĭG�CЀm��D?'٘"0�����09��*��fe��b���
�_���cY�0��
]�?O������a��@�� @=�
+}�W�:�0g}3�,F �����G���
+�̨���|uqy�ט�Ap�K �a��†L
	��*j��~w:}�Mt��W7�,W��w�������4+=���.����6�A��0T:V�
�8� -="D���V�ASB���1�a��@������Ϧ�A
���R�?���H�פ���I�X�f�{�
w��r(
~o�A��PX��Ta�*��!�o��B��]W�#��_�3�b5b��ՠ���!��ڻ^�V��P��u��QM6�Mw�
�����#�=���kI��0���ծ��z������Cq5b2��0�/�,�(d�I:���-l�+�@�ǝc��2�̐�g��r���}$w@��?4�t��
zQD�N��Xb��d�ua��(PxJ�1.��7���Y�� ^ �W
C
���,�$�B�����p�YG��	Œ��ϛ�†��(�'z��	����q��M	^���|�]�S|8o��"DB
�b�Z x�m�`s�����yi�~�Al_G�r-��7Y�ʅ
0]���T��T�B�"�6Q�GzK=�`b�E�R��4��jOr&"����� [...]
+endstream
+endobj
+879 0 obj <<
+/Type /Page
+/Contents 880 0 R
+/Resources 878 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 835 0 R
+/Annots [ 854 0 R 855 0 R 872 0 R 873 0 R 874 0 R 883 0 R 875 0 R 876 0 R 877 0 R ]
+>> endobj
+854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 697.994 306.942 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_3665335e295bd7c05eeca13be606616f) >>
+>> endobj
+855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.757 697.994 370.313 708.898]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+872 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.905 608.266 255.461 619.17]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+873 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.859 608.266 491.28 619.17]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ef6bc45c4726c7fb386547c6ec104cf5) >>
+>> endobj
+874 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 608.266 513.996 619.17]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 596.31 161.84 607.214]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+875 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.301 596.31 231.857 607.214]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+876 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 515.921 191.678 526.452]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_1f026c17289bb2174eaec0d61a4a2e67) >>
+>> endobj
+877 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+881 0 obj <<
+/D [879 0 R /XYZ 90 757.935 null]
+>> endobj
+882 0 obj <<
+/D [879 0 R /XYZ 90 627.239 null]
+>> endobj
+884 0 obj <<
+/D [879 0 R /XYZ 90 534.522 null]
+>> endobj
+885 0 obj <<
+/D [879 0 R /XYZ 90 534.522 null]
+>> endobj
+886 0 obj <<
+/D [879 0 R /XYZ 90 478.228 null]
+>> endobj
+887 0 obj <<
+/D [879 0 R /XYZ 90 419.527 null]
+>> endobj
+866 0 obj <<
+/D [879 0 R /XYZ 90 397.215 null]
+>> endobj
+888 0 obj <<
+/D [879 0 R /XYZ 90 397.215 null]
+>> endobj
+867 0 obj <<
+/D [879 0 R /XYZ 90 320.551 null]
+>> endobj
+889 0 obj <<
+/D [879 0 R /XYZ 90 305.981 null]
+>> endobj
+868 0 obj <<
+/D [879 0 R /XYZ 240.245 241.153 null]
+>> endobj
+890 0 obj <<
+/D [879 0 R /XYZ 90 224.426 null]
+>> endobj
+869 0 obj <<
+/D [879 0 R /XYZ 332.797 173.709 null]
+>> endobj
+891 0 obj <<
+/D [879 0 R /XYZ 90 156.982 null]
+>> endobj
+870 0 obj <<
+/D [879 0 R /XYZ 338.775 106.266 null]
+>> endobj
+878 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F11 291 0 R /F81 703 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+901 0 obj <<
+/Length 2004      
+/Filter /FlateDecode
+>>
+stream
+xڵYێ۶}���۱��CR$%�hӦH��f���Ʀm���Hr���n�$S���A�ƒL������h
��כ��on_�8�P&���WQ��D�)����	�(���x�˛m>����F.�|^M�<>�����E!�n:�
O^�yۚ�?�J6S�Nd����1��t�����/�7�o��#���	Jb
-�7�?�h	�_G A�F�j1�g����_T��
ޫA�_Ue~7�xb�PR�U�)(Ǩ�|�
��{p(x�2%GR1"NȬ�z4K<�2
+��Ԃh�(F
gь�q�ыz�+�ע{�c�
�d�q�-�B�2D斂R�,��hь�IE��"A�2���}Q.��s�}��쫍��&��(���z7%���[.�E
;��b��v}Y��F�Y�89�h̏��Y�����
eI� ㊘3���Z���ޝlL<%|��lT�pX�}l8�uU7r��ܵ�O�U����U�5�EW7��&oM�z[����?r:}�I��5F@"��J69>��vr@k���1�n�(
|v�q�QJ}@Z�)��EĮ�z;�Ik����vڵ�Q��ⴑ^��6�}�QJ����C͓~,��(-�j#����
֖ �-ܛ�Q@��j0�݌�	�$
��e��r� -�_�E���s����G�<X��6�؍*X����2!&u]ʼ27���n'��C���s�Z��y��K
�V�cnV�bJ���f�s�O����J��q�v��Z�K���
�<�X�ԝ�m��ϩ ���%�
O7���ҋ4�"��
47�P������_H�AW�b��� �ʫ91���u�Lj�Ds(Z2x�D�|���
r[ 'ԇ�K(�8
}}q4C��L@�P�&v�_�.�NEV��{u�T�Y���ڟjS�$E�.P�A�WՔA�e���ؘ8�O
+�3��j6`�~�Ԛ�,'!�2�A����'�}H�g�+z��͘Pg��!
=��
!��X

A1!
�Q�d����t�%��Գ;u��ٟxN�)�Y�P��m֫b,(N���MQu���2u�A6����I��L�Q���H�`��C�3[{)�$��d
+/�J��
v�
+�W at 1�-T
c�_q�ջ Wg)��M8�<q{�)b�۟�m?�� �LS�1�0��
}
��Y�N1�3R��aXW���'�ћ�PtGO�N�Z6���x>��Ւ�@��8��x#�PLs�$��~L?�>_����0�_��h:��q_֭����_��T��Z��\�Ԥ�C�j�I����혘��8Ai���n(�*�q��� РUѴ]@
+�o�8���q�
+l����
�R%�>N|w�z��ad%"S�C�C�?FEk'�0���.�[��L����ε�C���=@g_��TI���e,�(]����~RDo�*���=5�(I�k��3c,8�LX;�g���ql
�lh7�KwfD�
�+�uD
����0���#2S�j몋^�����d,}��U=��m]���bfl1"8���
1~<����Y�;��㗸�۪h+�$� �f�$��
�߾y�sOk}^>�z�4L�>_��ʐ.I��
�|�Yw�u��nƢKH;u�g���]$��_.��
VuY�ҵ��n(�i)�r[��_�Z
��:O��KA3����믏 �����:4�+	�jfy���!���3�
�kg�#4o�ݽqs+�R"�\[���n�P�
+Y� �#�[
gq:��O,~��X��;v���Y��-��$rB&33$�*�J19;��s�<]���)�m3�.��5+����R��
+t�AS��p�*c�(�w3fY� *O�9�AA� ��'��@)h;�~��<���l���n�sqbnߘ`17��#�|�W�}��[�Re�J������?Sh
�����ލv�L&h��
�GH��tU�NJk
c��#w��)F=ix�z`l�n����p8�E� ��Tt��]y{M�.К
C
G�[Hͮ���@�O�
�ꢂ�[M�h�� ����
+endstream
+endobj
+900 0 obj <<
+/Type /Page
+/Contents 901 0 R
+/Resources 899 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 835 0 R
+/Annots [ 894 0 R 895 0 R 896 0 R 898 0 R ]
+>> endobj
+894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 464.739 230.651 475.608]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 125.229 159.927 135.76]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_ac1766c4ad4a4697f6f9d4a92b200cb2) >>
+>> endobj
+896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 86.288 159.927 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_ffb4611ad564f09455819718964b6e80) >>
+>> endobj
+898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+902 0 obj <<
+/D [900 0 R /XYZ 90 757.935 null]
+>> endobj
+903 0 obj <<
+/D [900 0 R /XYZ 90 733.028 null]
+>> endobj
+871 0 obj <<
+/D [900 0 R /XYZ 461.214 675.861 null]
+>> endobj
+904 0 obj <<
+/D [900 0 R /XYZ 90 659.263 null]
+>> endobj
+905 0 obj <<
+/D [900 0 R /XYZ 90 591.949 null]
+>> endobj
+892 0 obj <<
+/D [900 0 R /XYZ 90 569.637 null]
+>> endobj
+906 0 obj <<
+/D [900 0 R /XYZ 90 569.637 null]
+>> endobj
+893 0 obj <<
+/D [900 0 R /XYZ 90 456.365 null]
+>> endobj
+907 0 obj <<
+/D [900 0 R /XYZ 90 441.924 null]
+>> endobj
+484 0 obj <<
+/D [900 0 R /XYZ 90 231.45 null]
+>> endobj
+78 0 obj <<
+/D [900 0 R /XYZ 90 224.405 null]
+>> endobj
+908 0 obj <<
+/D [900 0 R /XYZ 90 143.686 null]
+>> endobj
+909 0 obj <<
+/D [900 0 R /XYZ 90 143.686 null]
+>> endobj
+910 0 obj <<
+/D [900 0 R /XYZ 90 105.238 null]
+>> endobj
+899 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F11 291 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+927 0 obj <<
+/Length 1492      
+/Filter /FlateDecode
+>>
+stream
+xڽX�r�F��+pJ�*s4
��r�e�/�b+'٥��!	
3 $��ӳ  P�
1'l�F�{��z�����7�����s�9�|�;�+'�N��)q.��՜`�
�1�oc����2�߈�����F�����,ֲE"��x~��UeN?���.	��)����s�\������3#�v��.P���䳫/�Y���F,
+�;�*w<��9�fΰ�a|�1�	!&�S1!
:e�����I��u26��+��g�i���6�o�K�1@�{f#N���`fV
>�
��HǼ��s�{,,�P2g>?��gJ�ȈBN�-��̜���T$��"��T\�1�/��oE-\��k�I߿I�	��v
���(8�!�h�ޤ�BV�"� ���#���i�6�V��+�z|^����j\�$���\H�s�5�
+^��,̳�� � �x-��t�я�A!�9���ɰ��9�D���m��Y����Lj]�'��W�����z�>u
kQO.��A�YT���mĜnD��=�~��0����z�N%3�#Od�H2�3Ӭ=�"L;�d�X�|%�8̈́��nu�i
a`�C̋��_�;�{���X�z�ȧ�y돛�"�+F��2}��b?�����A���0��JE�-����L�#)s�K�a��69��Ej���}� ���$i����1�������-[tHq�5[)�
+��^��U-cp�����q]ʶJ
�SU�*-�M'6��w<��Z���G��?u�n�*�&ﺰ��Ͼ����##�Xu��.ݱ(�XBҋz�?��p
+w�ۖ�����=�]�J
�ї�
_0
!�JF'�R7HH+uOȜP�^�$B�7����
E��n;n���#���r;A���]���n2���(� �r�k|�,.���&���
 +!���ȯA�c���1\nd�0�k�YM ��톰)\B��
.�RX⊲�
+
�^1�Ӗ|�|�3���NԀ�#Fm -��1�і���Ƒ�v��%�K5���+O�Ԫ�2U7˩D�ĐI� �����qY}�b��إ-4]�F��X�
d��Gؗ
*Bm˵�Z�4Nj�&K���R؜�7E�K���mх�
���
�=
���^��֊Ȕ	A^<>

f�>a�I5��*��*�	�᮱�	!�o  
�&�_&�D(�Ag�N� u"=���R�h�����v7���<h��C%�����
f����
�\��[5�X�w"�?�*I��e�o�>h�mW��z,HO�8�d'�Cv���
�����L���Q����#�ag�����
� �?#��y~�0L��ӿ�3_�)��
�A��7R�
E��;{ي�k;�V>s�/��1LPM����nU��@�
+�_��?���-��i�Z�h�BV
����)��ڍ@��Vk
";�ٻ�fb'
�福�7u�==9���CI��"�J��'�mv�P!wVdK@[#���R�1��FM|g�;v.M
S�����_�dn�
+endstream
+endobj
+926 0 obj <<
+/Type /Page
+/Contents 927 0 R
+/Resources 925 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 835 0 R
+/Annots [ 897 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 924 0 R ]
+>> endobj
+897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.282 159.927 707.186]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_4445a4d60c39e32b6f6d3e2dcb901e55) >>
+>> endobj
+911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 657.987 159.927 668.891]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_7c968f7ba606e8b99863ae8cdef3c686) >>
+>> endobj
+912 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 620.065 159.927 630.596]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_2ae111e41ccba8a228746939bb1c595f) >>
+>> endobj
+913 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.743 620.065 209.76 630.596]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+914 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.861 581.397 215.488 592.301]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_aff569442866d78436e19428b4cb8e75) >>
+>> endobj
+915 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [154.225 481.857 200.241 492.761]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+916 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 188.502 164.042 199.406]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3e) >>
+>> endobj
+917 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.858 188.502 245.107 199.406]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+918 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.991 188.502 337.241 199.406]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+919 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [352.125 188.502 398.142 199.406]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+920 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 150.207 215.13 161.111]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_6bcbe60c7d20f1fee7847e262993b626) >>
+>> endobj
+921 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 111.912 201.302 122.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_1a974f4ed60693790cec91f324a85b05) >>
+>> endobj
+924 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+928 0 obj <<
+/D [926 0 R /XYZ 90 757.935 null]
+>> endobj
+929 0 obj <<
+/D [926 0 R /XYZ 90 715.095 null]
+>> endobj
+930 0 obj <<
+/D [926 0 R /XYZ 90 638.505 null]
+>> endobj
+931 0 obj <<
+/D [926 0 R /XYZ 90 600.21 null]
+>> endobj
+932 0 obj <<
+/D [926 0 R /XYZ 90 544.608 null]
+>> endobj
+933 0 obj <<
+/D [926 0 R /XYZ 90 456.579 null]
+>> endobj
+934 0 obj <<
+/D [926 0 R /XYZ 90 434.268 null]
+>> endobj
+935 0 obj <<
+/D [926 0 R /XYZ 90 434.268 null]
+>> endobj
+485 0 obj <<
+/D [926 0 R /XYZ 90 295.259 null]
+>> endobj
+82 0 obj <<
+/D [926 0 R /XYZ 90 287.792 null]
+>> endobj
+936 0 obj <<
+/D [926 0 R /XYZ 90 207.196 null]
+>> endobj
+937 0 obj <<
+/D [926 0 R /XYZ 90 207.196 null]
+>> endobj
+940 0 obj <<
+/D [926 0 R /XYZ 90 169.02 null]
+>> endobj
+941 0 obj <<
+/D [926 0 R /XYZ 90 130.725 null]
+>> endobj
+925 0 obj <<
+/Font << /F63 247 0 R /F70 298 0 R /F65 249 0 R /F50 215 0 R /F81 703 0 R /F88 938 0 R /F82 939 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+955 0 obj <<
+/Length 1650      
+/Filter /FlateDecode
+>>
+stream
+xڽXI��F��W���۽��L��
+!U&'��d�m
����0�>�ɒ,�������|oo�l
켚�y5[^�̉P�S߹�8v� N�s�v>�#>_����e
_���v'�2��ҕ��������F��~[�"�/(���,�*s�Nl����UD���]��?]�����}�P;D��
+w�|��v������B�FS�G\3���������1�֠�ER����Y]�t5e�ZTZ�����
3�#��΂R�
?R����������� ��Rl攻1�I*���ߔzy�n����� ;!��{JO��G��P�yFϫ����rc�u�5��8'�E�RG/X�0��1D8�0�	v��K��
���~�}/EU�eq
�����-�q�Lljs��
U�>�� /��"$B�
@
-�ޥ��j�ҵ�A��2�{A|�
�
E� ���L��F�r 3<q�
�8SH�#B�+^W]=Dl}}!�8����BT�L���u�9
.��"��
1�q6k��$@>�����g���*���ƺ�<��
+�kjkM<!M
+6�N��%+~1d�UpQt�:,/�
L!���O��Q������ �BF� ym��!Ž�� Ī�^H|P ��bg}CX�
��V(T|l#�G�#
+�-	�-��8� E��4]z��&]�>��H�2��,EQhc%����0����b����}�d���	V}���
����]k��I���:���A�����<@�㼄W��������??f
��Pv��HA(� Bl at ZCnvB�	�r���TFG�Q���a��Ld�w�i.
+]b�{������j'�ɔ�A9?���
��������'���
�0��/��ԣ�������2�W���� �tO�ݡ�!l-�N>ۀ
��'�sd{Z�ʅ.�
恞��BNGܷAWnE!J5�1
)d��Wu�c�Bh>A4����D���W�o��/v�ܐn�<���<���`P��1Oi�y�/��
+�V�8�	�BY�+�ܠ�
l�����6��M����y�
:հ�C� �U,�\��Z at p
�紀��@�i�Y-���~�L�_v)����a
j��z�戚����?�
����^J�ѫ8��
�)X����0T=ǩ�2��\Wb0��e�'I� C��{�d7��ˤ�^U�zrկ6�lmj5Hg7z_��(ʸ��7��Gpl�,+U��G�_������3�s�UӚ�~�
]�!M�7|
�a�p�$���U�Y;�\V�Έ#F����"�*K��?"_���l�D9�A�EƠL,j�kg��Y_�M�duMU�&�Ky}BϜL��z���|�Zǹ��s�*޵r[x
+H"��T�����*��\��*I��u���w�nd1BK���=��.���!�8�[ߜAcޛK5��yD4�_���t3;�Cz�.T��F�OB@����
 ���!°�yī�vy� <B����[�U��c[���S����~�7��b�t����ݘ�L��J���
�-[,�i�Z9���:t1��@`:%L9���^�g%�/N{��L{�7��福�wu��X.onnPR��H���r�ϖ�5�7�B��&�u�4�*t�#<5����
H
��`���G��#
+endstream
+endobj
+954 0 obj <<
+/Type /Page
+/Contents 955 0 R
+/Resources 953 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 835 0 R
+/Annots [ 922 0 R 923 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 952 0 R ]
+>> endobj
+922 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 699.305 159.927 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+923 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 699.305 196.739 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) >>
+>> endobj
+942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 616.485 191.16 627.389]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 616.485 205.277 627.389]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_637fe9105c9bc0b2722544d16453e87c) >>
+>> endobj
+944 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 577.63 191.16 588.534]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+945 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 577.63 205.825 588.534]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_240b9d144edd0d6dca5cb42904f9b279) >>
+>> endobj
+946 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 477.559 227.951 488.463]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+947 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 245.845 198.363 256.749]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_392557cee71bc7b2eb23f07a9d788062) >>
+>> endobj
+948 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 206.991 215.13 217.895]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_2da6d6ce1ce4057b0332826381042d4d) >>
+>> endobj
+949 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 168.137 201.302 179.041]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_6b7400f7e25b1bb473b2fc16c0c90b32) >>
+>> endobj
+952 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+956 0 obj <<
+/D [954 0 R /XYZ 90 757.935 null]
+>> endobj
+957 0 obj <<
+/D [954 0 R /XYZ 90 716.221 null]
+>> endobj
+958 0 obj <<
+/D [954 0 R /XYZ 90 716.221 null]
+>> endobj
+959 0 obj <<
+/D [954 0 R /XYZ 90 633.556 null]
+>> endobj
+960 0 obj <<
+/D [954 0 R /XYZ 90 633.556 null]
+>> endobj
+961 0 obj <<
+/D [954 0 R /XYZ 90 596.724 null]
+>> endobj
+962 0 obj <<
+/D [954 0 R /XYZ 90 540.31 null]
+>> endobj
+486 0 obj <<
+/D [954 0 R /XYZ 90 352.267 null]
+>> endobj
+86 0 obj <<
+/D [954 0 R /XYZ 90 345.667 null]
+>> endobj
+967 0 obj <<
+/D [954 0 R /XYZ 90 264.819 null]
+>> endobj
+968 0 obj <<
+/D [954 0 R /XYZ 90 264.819 null]
+>> endobj
+969 0 obj <<
+/D [954 0 R /XYZ 90 226.084 null]
+>> endobj
+970 0 obj <<
+/D [954 0 R /XYZ 90 187.23 null]
+>> endobj
+953 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F8 300 0 R /F1 963 0 R /F10 964 0 R /F13 965 0 R /F7 966 0 R /F11 291 0 R /F23 216 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+987 0 obj <<
+/Length 1234      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vr&�� H�=%N���̤�zr2��$$|( ��� В,ɲ
�=��}|��b�Л{�{?x3

/b� �q�g^
+�$F�b䍧ލ� ��A�%��,��n���Mrq+��;;;�ʺ�L�Mb
+��յY^����̸�C1�>�������x�}��
�C�^���P/+7_�7U�/=H:�Vݮ‹0Q�ܻ
�5�}����>P��oy�DΧƾ��ΤX6�*�M�

+�A/� Qj�6g껺�YW3�̪r.[�d
� }% Ƒ=Z!!دn���y6
nY����`"�����Fm!�y�grm�0�
�&���c���]׹f�+��_ �e�h�F�|�Zb=���F ��G
���剿���8�X�s�*k
^6�
]�jVI�h��/�g�*@�g�ǜ�\�Ʊ`&��
�NX�W��J�s��3�8�g�v�Dd�xBMm�?cL��B!|<��?�
f���lĚ��O"�F�	R�X�����˿�,͝M�Vmp�cj����J2� �6����\d��G^�r+�-3
�z�-+{�1�]�?�}'�l$
<[q2��p/k�
�w�,%�k[8�E�
�:L�+�w�UT(n�|���I}W<"�H{��
+m��M�7R�ƑFV#aE���e�V�S��W<a�s{��dQ�ϥU��;���Ԁ$�1��h
+�%τ�9���L���u
���
ބ�=uA�詼9����|�L��Nj1��(�� ]�ʾ�i�f��[̴��29Jׄ#H BX���v��۵i��P�6=- (J N����
+����N񓃐��S��i��48T��F�P��:���C��>�G�B�1���p���ֺt�H݋
�
X�	1�����P3�k����
+��m���,Y�
W�7[���H qrˆ`��6<z��0$M����<7ڞ��B៑[�_�F$j

+#����V�'Nf�jR�G��;���y}y9n�9�c�	�����
l��o��~*1=J`Y�����`]�=�{T�G�x\�}��]����A��4h��`
�n"�G ƣc��t_FT�� M�U��M���}��xU��O7Pv��J��r�V�7+�-�[Q�?���쫿k.
(�-�Yٺ[AW at SQe��U�j���!Q�k�
"�<��s�{?q��e�
+�h���p�Z�@V��K	D3\.����^
+R�6�[�PE%�׎����
u�^�4��rl��_*ڧ
+endstream
+endobj
+986 0 obj <<
+/Type /Page
+/Contents 987 0 R
+/Resources 985 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 998 0 R
+/Annots [ 950 0 R 951 0 R 971 0 R 972 0 R 973 0 R 974 0 R 975 0 R 976 0 R 977 0 R 978 0 R 979 0 R 980 0 R 981 0 R 982 0 R 983 0 R 984 0 R ]
+>> endobj
+950 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [181.91 677.939 266.363 688.843]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+951 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [110.861 665.984 160.993 676.888]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 509.369 157.417 520.273]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) >>
+>> endobj
+972 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [161.232 509.369 238.482 520.273]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+973 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.135 509.369 327.876 520.273]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+974 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [365.454 509.369 442.704 520.273]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+975 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 470.515 191.16 481.418]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+976 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 470.515 252.31 481.418]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_e62d06b1c82e9d9f4f12bbb3c6f4bcae) >>
+>> endobj
+977 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 431.66 191.16 442.564]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+978 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 431.66 257.849 442.564]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_148544cb9ef5bf6b9a60ee56655bff26) >>
+>> endobj
+979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 392.806 185.651 403.71]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [186.149 392.806 205.855 403.71]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_dc27929d7731cdc3beeba475147e3127) >>
+>> endobj
+981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 353.952 215.13 364.856]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_1112ff3331d87019a2df0fb9a83cfeb8) >>
+>> endobj
+982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 315.097 201.302 326.001]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_4738abd11cb0fdcb233ed4f18c874d56) >>
+>> endobj
+983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 215.026 221.326 225.93]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+984 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+988 0 obj <<
+/D [986 0 R /XYZ 90 757.935 null]
+>> endobj
+989 0 obj <<
+/D [986 0 R /XYZ 90 733.028 null]
+>> endobj
+487 0 obj <<
+/D [986 0 R /XYZ 90 615.791 null]
+>> endobj
+90 0 obj <<
+/D [986 0 R /XYZ 90 609.191 null]
+>> endobj
+990 0 obj <<
+/D [986 0 R /XYZ 90 528.343 null]
+>> endobj
+991 0 obj <<
+/D [986 0 R /XYZ 90 528.343 null]
+>> endobj
+992 0 obj <<
+/D [986 0 R /XYZ 90 489.608 null]
+>> endobj
+993 0 obj <<
+/D [986 0 R /XYZ 90 450.754 null]
+>> endobj
+994 0 obj <<
+/D [986 0 R /XYZ 90 411.899 null]
+>> endobj
+995 0 obj <<
+/D [986 0 R /XYZ 90 373.045 null]
+>> endobj
+996 0 obj <<
+/D [986 0 R /XYZ 90 334.191 null]
+>> endobj
+997 0 obj <<
+/D [986 0 R /XYZ 90 277.777 null]
+>> endobj
+488 0 obj <<
+/D [986 0 R /XYZ 90 91.418 null]
+>> endobj
+985 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1010 0 obj <<
+/Length 1079      
+/Filter /FlateDecode
+>>
+stream
+x��W[s�&~�����
+�$t��6�iڝ���S���2��խ��_$@��u�&�i<�
��s>l7����u�Ɓ�������`��F0�
��*�s����ckN�Y��f�����i!��C-Xn;.A�EF�ZM�؆qG+&�� $��_�����	�� �;�$��G@�O� ���o�^
�}�+���1���4rc�_\����/҃�5Ap\z~��~T�ꁰr�Ƥ�UC%�$R��B
�J��f���:���+iD7�n�D�RT���cd��E�2��%'gT�V���f�
"�z
�������?<i�	��9�ߚӚ���>�}��%��&Ch�D�|f;
F��v�դ�Z��jdy%�alcb
q~d��
c�L��3�i�
+*R�%ַVS�炧�V����u���u�W��

/F�u*�tS�:���RB�xA3��Z�RC�
+A�<��UK�C/�q�r�Kk���NI/86��eD<"�)�!y����d�;�C����J�%��_ ��4�#�qp��P
+v|���G�Xs�%4�L�\�:�iՙ�#I�=�C�ڄ�-���W�=ߨQ옚$
]�����<��Mi��Q5��t���~��2�Mcs.����ld��~�
-&�=�09�2r�:�Po_�t5�ˤ�O�L��t��"r���6n�C-��`��ܱ�en�2#,�ʶ�}�? �flvjg;��6�ݹ�~7���W÷V��A��q��
=�
\��Գ���u_����	��X��)��iS
W�V���8/��M�ϛ�#Z'H�!�����0�űS�1�/d7/�(z�mя�7�v�u��B%O������?W�7�K˛;�,-�}+Ӄ
K���%Zuiq�|Y7�
�?M��'��$z��{�H����!1$d�'��FW��%��MA���8��i�m�V���m7]%��5�?لX�O�hL��ִj�x��(�2p��
{m�C�����(D�f���n�~����80��N�j6���{�԰)Ҋ�TL�*�>浣,�"�۟�p�w��T�B�� 8�<��ʴP�q���X��q�w
+endstream
+endobj
+1009 0 obj <<
+/Type /Page
+/Contents 1010 0 R
+/Resources 1008 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 998 0 R
+/Annots [ 999 0 R 1000 0 R 1001 0 R 1002 0 R 1003 0 R 1004 0 R 1007 0 R ]
+>> endobj
+999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 640.704 191.737 651.607]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_8be9b5793c5bcbd09cbe45d5def529d0) >>
+>> endobj
+1000 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 601.849 215.13 612.753]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_ad362521f7fba585112f1a2a5aea3d96) >>
+>> endobj
+1001 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 562.995 201.302 573.899]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_f2e1b75d9c8484321bfc25bb122970b7) >>
+>> endobj
+1002 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.363 462.924 257.19 473.828]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1003 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 453.026 132.51 461.873]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1004 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 294.354 219.384 305.258]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception_3d2371e510d8b88b2660a631d6857953) >>
+>> endobj
+1007 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1011 0 obj <<
+/D [1009 0 R /XYZ 90 757.935 null]
+>> endobj
+94 0 obj <<
+/D [1009 0 R /XYZ 90 733.028 null]
+>> endobj
+1012 0 obj <<
+/D [1009 0 R /XYZ 90 659.677 null]
+>> endobj
+1013 0 obj <<
+/D [1009 0 R /XYZ 90 659.677 null]
+>> endobj
+1014 0 obj <<
+/D [1009 0 R /XYZ 90 620.943 null]
+>> endobj
+1015 0 obj <<
+/D [1009 0 R /XYZ 90 582.088 null]
+>> endobj
+1016 0 obj <<
+/D [1009 0 R /XYZ 90 525.675 null]
+>> endobj
+489 0 obj <<
+/D [1009 0 R /XYZ 90 400.776 null]
+>> endobj
+98 0 obj <<
+/D [1009 0 R /XYZ 90 394.176 null]
+>> endobj
+1017 0 obj <<
+/D [1009 0 R /XYZ 90 313.328 null]
+>> endobj
+1018 0 obj <<
+/D [1009 0 R /XYZ 90 313.328 null]
+>> endobj
+1019 0 obj <<
+/D [1009 0 R /XYZ 90 257.034 null]
+>> endobj
+490 0 obj <<
+/D [1009 0 R /XYZ 90 161.715 null]
+>> endobj
+102 0 obj <<
+/D [1009 0 R /XYZ 90 155.114 null]
+>> endobj
+1008 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1040 0 obj <<
+/Length 1349      
+/Filter /FlateDecode
+>>
+stream
+x��XMs�6��W�VrƄ ��zJ�7�Im�d{<4�l)R�8ί� (R�dŶ��ACR ��o�֝����o���$��
��܊�1J��̺�	F�����L�"�Y���=���&�nE"
'�S^p�ԥp\ʰ�>O�J���9�l^�
�0/�l/t��g����7�E�iY�B�Y�bty���fa#�������ܺ�1�;�@=����eu�g�r�3_�r��ɪH�,��
co|�p�	��E�K)
+��+JYo�Z��Ӌ9?
Y�.�ޗ|�Pf_aLӌ��äg�L��U iw�n��
Ïl3��؊�����K�}j��G��+�?��H@�u:�
4
���R]��<�0�2
c����D=�eKm^�~K���J8^h�N�#����W�Ц�Z��2!�F���>��� k\�=&[§�U$���!̸wQ���ӽ�D+��,����C�
HR8�)�뼄��k>Ӑ5E�w]�G�K$�ud�X at b�� |� $6�~, �c�.�A#R��^��zTj�B@�� �

tI	K}��a����i5<�2�@VjҝA[�"{i�R~��fK���h�
+����oK��JFh�?���ny7���@gw���d=�1
��|C>@�����
v���l�C@�i�	h�K@�
�p ���߸k�Do��
M�����ƻ����y1�ӂw����D foO���=���s�NV��i�������(݅,~���x��8|]�?�'|�B]Ox�""�����I��Z��R�-�.�h�!�>��X�y�7s
�E�>�z��%@��Y��L$�uQ��T_�^}
;[�<���e�ќ��Mmng��y^J�x�Zqҷ��RP���H�@��o��|)�� ��e|����Wy�%~Oh���("1밎j�
����e�Z�5��F�u�N�_-6.aa؉�������Lte&o<de�[��.�E�����
��$��ت��$"
 ��f�5\*��� yc� z�ӆU�@(̘t�Q�t0���M�, at P��
/�B�q�bz=� .
{�,T��
%����E8�6���
!?���
\<��_� x
�������\�+�;0�;���F����E�D(ı�.���|U�ق
Q����f�D�Isz/�
�d��0�H�
�
�F�sQ�1ټ�
�&B{^�5�|0m ���K>C�雵hj|ivKHT�i�U}~R)�>��b����4'��*�Ӧ>ʫ��C�d���ϊ�_
�l���I�2w-2��E��Z��@�@<�:�q=�w��yC!�e�~5���IC(�6�u����(�ЪȖe�x���O#��B��X_����(E�hk"���]�e��[��<�� ya�
+endstream
+endobj
+1039 0 obj <<
+/Type /Page
+/Contents 1040 0 R
+/Resources 1038 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 998 0 R
+/Annots [ 1005 0 R 1006 0 R 1020 0 R 1021 0 R 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 ]
+>> endobj
+1005 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.621 159.927 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1006 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 697.621 189.845 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_cdcf46a226e15d398fe41d10873779ca) >>
+>> endobj
+1020 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 658.393 215.13 669.297]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_d96733e3e3c9087e06a052e5af198ba6) >>
+>> endobj
+1021 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 619.539 201.302 630.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ce05db6f6b402898007ea5bf6ea4a831) >>
+>> endobj
+1022 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 538.776 179.254 549.68]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 538.776 235.981 549.68]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_0673eda2d88204107796ffacffe269c0) >>
+>> endobj
+1024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.797 538.776 317.046 549.68]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.949 538.776 372.966 549.68]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 499.922 179.254 510.826]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 499.922 196.689 510.826]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_80f1c0111cb5ffc8bfc06f7d4ad88b06) >>
+>> endobj
+1028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.504 499.922 277.754 510.826]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1029 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 461.068 179.254 471.972]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1030 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 461.068 202.228 471.972]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_2a43c640dcbae8922c616491ad95e906) >>
+>> endobj
+1031 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.044 461.068 283.293 471.972]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1032 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [295.966 461.068 341.982 471.972]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1033 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 422.213 179.254 433.117]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1034 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.752 422.213 194.467 433.117]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_01ffce41500b158f8a1272d73418822e) >>
+>> endobj
+1035 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [198.283 422.213 275.532 433.117]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1036 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 322.142 219.642 333.046]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1037 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1041 0 obj <<
+/D [1039 0 R /XYZ 90 757.935 null]
+>> endobj
+1042 0 obj <<
+/D [1039 0 R /XYZ 90 716.221 null]
+>> endobj
+1043 0 obj <<
+/D [1039 0 R /XYZ 90 677.486 null]
+>> endobj
+1044 0 obj <<
+/D [1039 0 R /XYZ 90 638.632 null]
+>> endobj
+1045 0 obj <<
+/D [1039 0 R /XYZ 90 557.75 null]
+>> endobj
+1046 0 obj <<
+/D [1039 0 R /XYZ 90 384.893 null]
+>> endobj
+1047 0 obj <<
+/D [1039 0 R /XYZ 90 223.198 null]
+>> endobj
+1048 0 obj <<
+/D [1039 0 R /XYZ 90 200.886 null]
+>> endobj
+1049 0 obj <<
+/D [1039 0 R /XYZ 90 200.886 null]
+>> endobj
+1050 0 obj <<
+/D [1039 0 R /XYZ 90 96.202 null]
+>> endobj
+1038 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F81 703 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1060 0 obj <<
+/Length 1321      
+/Filter /FlateDecode
+>>
+stream
+x��X�s�F~�_�[�L8�o at o�kg�&3��>�
�N-��8�_�=�@B���i��<�����߷{��������nG�+ɼŒJ�v���
%A��v���#�����D���M����\'�Y���2��U��IU�Ǜ��R�q@�/��,��Z(=&���k�q�h�p�~ty;�sD�
�f{��	o�
�=`o��{�8�Yk�S�̻�:�GC�
a)�PbDuєUR��q���`���N�4Wfv��c�?�(я�_66̲L�܄7��ȎO�P�cp��(SvJ�����3�6qs�Μ��Ɉz %��
�.͍WoƁ��{���Y�aY�$�vٵ�j��LU+eol|�X��<�jVuq�
"�#�^��M��nj2ߦn��P���^ ٓ<�K.�����^N{��Fz@��8[���:�ҵ�ԺН�=Oz>,�D���Jc*��|
0���^̘���XK�HQ��
��w � j#I�1� ͬc�V�J�Weoc���e�['�����c"|�
����!AX�;�&�)4@ǀP�""���؞�(�I�
�4&���6E�Wv�k��b�(a'��� mp���"�Xp�Dz��Z�cLg) =��D�w9���Q
�
+��"�M:W���z��9�m�ۤp �(���P/B\v��
���=
���1�

9H>�&%o�L�d
�`G�0HvE?u���t1(82�pPq|Oq1��3�s��N^�d����&��[EXħzWx&�!8
�[&�wӻ�zW�S�pJ�(v˽-�g(h}
��Ӳit��(�oϰD|
���`}o��H�n��m��VPU�Q0��~�Q)��N�E�3ˊ�ֻ=��خ�Ҫl�fHfa�V��
+8��kR��W���q��	@V
+$&HB�
+h�D�����bV���I|�h�Zn�uƻO�g���
���j�V�b�WbE�Y��|�* �L�����پ.b��{JE�] @��Ff��{2��0�G�i۶
jK�3�8d/��>W�刵��Ѯ*w���g�nU�'�à2Ů�����

?��SK��:o�Wy��-����� h�����k�������W�]��9����>x�M���0wi�Y-�:s4�A8��Me�B��=�t�i6wIH
m�zS�
A���xo:EC
�h������AF�Q��?͟�^© �D���{"���,tÖ�v������ݾN�e�,��wy�����=��T�#��$��lۍl��eW �6�6L��#���(������w���������ָ+{���L'���g4+Q����j��d�C�n��aw.�Һ��V6���+'�5�?T���uS����\�ڒ��
+endstream
+endobj
+1059 0 obj <<
+/Type /Page
+/Contents 1060 0 R
+/Resources 1058 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 998 0 R
+/Annots [ 1054 0 R 1057 0 R ]
+>> endobj
+1054 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 116.175 190.054 127.079]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_b1265553cab293b2c77d31f57682ae2b) >>
+>> endobj
+1057 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1061 0 obj <<
+/D [1059 0 R /XYZ 90 757.935 null]
+>> endobj
+1062 0 obj <<
+/D [1059 0 R /XYZ 90 733.028 null]
+>> endobj
+1052 0 obj <<
+/D [1059 0 R /XYZ 90 625.809 null]
+>> endobj
+1063 0 obj <<
+/D [1059 0 R /XYZ 90 611.239 null]
+>> endobj
+1053 0 obj <<
+/D [1059 0 R /XYZ 90 508.593 null]
+>> endobj
+1064 0 obj <<
+/D [1059 0 R /XYZ 90 494.022 null]
+>> endobj
+1051 0 obj <<
+/D [1059 0 R /XYZ 90 379.172 null]
+>> endobj
+1065 0 obj <<
+/D [1059 0 R /XYZ 90 364.602 null]
+>> endobj
+491 0 obj <<
+/D [1059 0 R /XYZ 90 222.597 null]
+>> endobj
+106 0 obj <<
+/D [1059 0 R /XYZ 90 215.997 null]
+>> endobj
+1066 0 obj <<
+/D [1059 0 R /XYZ 90 135.149 null]
+>> endobj
+1067 0 obj <<
+/D [1059 0 R /XYZ 90 135.149 null]
+>> endobj
+1058 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F65 249 0 R /F50 215 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1087 0 obj <<
+/Length 1231      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�F}�W�[I Z�W�)Mb�n���dM�d��.����w�F��,��h �hv���̙�D��~��&�G)N#�����!�h:GW
%�RL	!�:��l��˻[1�٬,nd&�NN�d1���JȬ��?f!�ޕYӘ�
�ҧ�'�\�.�����2=}��~Q C՛�1�y�����
Asx��i��Zj���Z����#b
!��d� J"
�Ōc�ƪk�B��[���!XXem���ݧ�'
��V��J+�ri�^�uJ&k��7��P������i�7w���% 7
+\�p04�N�����FV�0���min5��m��<U+d���I�<���\Q�`bmu�
	" �C at S�y8�y{[4F��b��N4mgb�#c�C�D����Gں'���0�����#���,x‘��'>H�1M8�A�8�
�`���g���h��t��^4�,��F��
���Q�֚~״bՙ��KG��V�G�Bx�N#M����[{K9 jo�y�ky�� �q��Ҁzd�ƨ��šU[i��n��
�@�W`��-s�V��-��u��y��D(NC�H;�| `ˢ
+����ݮkH����n6R�K�x��n<��r�:߬���pd�#Ҫ�h}�SEC=��8Z�z�
+��,k���.Q�	a�8�L
_� ��8;
���f>#@�Mf�#s��d���L���j�SSg	J͝r�si&�� �)%��ڣ�3��	g��ֵ�77e��5����i<�T�rr�;�a�tn �V6����l�
_�ȟT7/ �N�Xj5fӣNPS���(6�)�y��n�}�U��}�c-E��Na�B�X�tD��u��K��W�BdL�{q :B
�xV:RNp�'��kyqW*^ɋo�c~W���U��R�����C�V��+�O�	ahΎńꎨ蚪��S
�ǁ���-�����4x&� �$�W�Ls�n:�oa�m6��=���c���B�
���y�gԽ��D~�/8������D�ָ�p/�;<6
�o+�&�zXMO*Ǧ�Gjw��K��=�ᗯ(�$J����}�p
��.L�"���fJhu�m��G3ߘ�������U�M���~T-�B�}�}�K#�w~z�T?e���ЊL*���3�
(73)L�Л
+׈�����F:cvv��7�\Nܶ��d2�n�8o�*��d�.'�{��
+�w��
��Zj 0H%1h��1���[Tff c���D
+endstream
+endobj
+1086 0 obj <<
+/Type /Page
+/Contents 1087 0 R
+/Resources 1085 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 998 0 R
+/Annots [ 1055 0 R 1056 0 R 1068 0 R 1069 0 R 1070 0 R 1071 0 R 1072 0 R 1073 0 R 1074 0 R 1075 0 R 1076 0 R 1077 0 R 1078 0 R 1079 0 R 1080 0 R 1081 0 R 1082 0 R 1083 0 R 1084 0 R ]
+>> endobj
+1055 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 719.912 215.13 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_7695c9f42b5164da2b71e7a2b1382d06) >>
+>> endobj
+1056 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 681.058 201.302 691.962]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_58d5c27c8e3d638fc7d25ee54d04b08c) >>
+>> endobj
+1068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.27 580.987 256.414 591.891]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+1069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 569.032 130.826 579.936]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1070 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 412.417 215.13 423.321]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_a32ef5503c68b0c2ccbd8d69251ecfd7) >>
+>> endobj
+1071 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 373.563 201.302 384.467]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_e846d01ef7cc5222216fcac8f2d255c9) >>
+>> endobj
+1072 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 292.8 202.497 303.704]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1073 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 292.8 240.962 303.704]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_27971df55a7b8e685f759f3001b0aef8) >>
+>> endobj
+1074 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.778 292.8 322.028 303.704]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1075 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 253.946 202.497 264.85]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1076 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 253.946 244.818 264.85]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_3043f8c7edfaa1e5c98955234589301c) >>
+>> endobj
+1077 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [248.633 253.946 325.883 264.85]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [335.786 253.946 381.803 264.85]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 215.092 202.497 225.996]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [202.995 215.092 246.502 225.996]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_5dcfc9bdd9d995b7be67da9f47e731ca) >>
+>> endobj
+1081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [250.317 215.092 327.567 225.996]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.47 215.092 383.487 225.996]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1083 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.82 115.021 242.885 125.924]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1084 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1088 0 obj <<
+/D [1086 0 R /XYZ 90 757.935 null]
+>> endobj
+1089 0 obj <<
+/D [1086 0 R /XYZ 90 733.028 null]
+>> endobj
+1090 0 obj <<
+/D [1086 0 R /XYZ 90 700.151 null]
+>> endobj
+1091 0 obj <<
+/D [1086 0 R /XYZ 90 643.738 null]
+>> endobj
+492 0 obj <<
+/D [1086 0 R /XYZ 90 518.839 null]
+>> endobj
+110 0 obj <<
+/D [1086 0 R /XYZ 90 512.239 null]
+>> endobj
+1092 0 obj <<
+/D [1086 0 R /XYZ 90 431.391 null]
+>> endobj
+1093 0 obj <<
+/D [1086 0 R /XYZ 90 431.391 null]
+>> endobj
+1094 0 obj <<
+/D [1086 0 R /XYZ 90 392.656 null]
+>> endobj
+1095 0 obj <<
+/D [1086 0 R /XYZ 90 311.774 null]
+>> endobj
+1096 0 obj <<
+/D [1086 0 R /XYZ 90 177.771 null]
+>> endobj
+1085 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1105 0 obj <<
+/Length 1411      
+/Filter /FlateDecode
+>>
+stream
+x��Xێ�6}�W�Ѽ���>5W4M�t�}�
�L�ju+%��|}�"%[^e� �C� $��p�̙�
v�v^-�^/�/sb
*��c'qJ��s���|�1v�D�m]��;�V�m�ݩDݯV�T��}%K���R���V�O9v��IӘ�+���#�+�Tz~F�`����ŋ�ş
.a��.���;i�����5�v0bq���Q�P��y��u�m8�8,���"X��ENH‚��>P�����C����M
+�J��tv|�PDY�jl�*+[�G�����(���4��Vw�[o�eW�mV����J�B�m�w�q�
�;�XK�
�z>
bw�2�]��ժ�)�Jil}�
��V�n��
�8�֏�&�Mc
]���
+A���~���)@
�|Ď��9&(�dt����'�/��?��&��G��q���|%�N����N��~�6�ΔL�1�wD���&Ss�� 4���PH$ �
�l�5����YM>>��L"��Ƈ�\ue��R�͝xrRH
��^_�T�Q�L�n�1�
3&����j
̩���$k��8��H��1�b$
(Y+�@4����ʶYi��6'~�w!s�|�W(�8a��˜n�$��E˴
���D<-ڱl�b��Zm�_^n���Q񝭳�&���
�v��=����4� ����(
�I�}�x�W/��]R�//aH4�12F(c�I�6F�쳜���q�\�g
B ����c�P�0m�V�nfP
+
��
h�g" �#S�_0�F��2��$�u�B���_��'�/v�Y�wg����#�Tvyk:>i1I�N6�}�l����T�&}O$3M;��L�F��V�
�>1P� �	�5�kM��������&c��oPd��,�yE�T��T6���>��#Zg��4�󛘐�����

+b8'��W�?�=�wE�E��_�vƃ��U�q��1��(�
n�
�X���C�@���b�_�#y�!�
S�*ZONa}צRC�
���9x߳�6�Fդ�8lTU�T��sdVnM�Ny.��;�IR�����D}9$��ģ�2r,C:=� ��_�
x�#{�
b3�Ov�udl����a�m���U
�C���w�]�/O|���<J�{�x$� ���P[{�q��t
�����*�|���

8Ike�HZDa�)�K��ƪ�f$�ԪN�Vp*N�i
+tY��9I,�eQ������в�S
��TXN�zD�0�!��
7;�
 �\X�q
�����m�4�7����������v�֚���S����v��H��.

�ۤ����f��jFI�J�;a:�� �^J
�A�gx�eѫ�!NBB+ٮm��r���Qڠ��j��vY���!QV�D8n*F�**%�ֱ(DԷǐ��f%
,z}{�˿qg6�
+endstream
+endobj
+1104 0 obj <<
+/Type /Page
+/Contents 1105 0 R
+/Resources 1103 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 998 0 R
+/Annots [ 1100 0 R 1102 0 R ]
+>> endobj
+1100 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 101.154 213.297 112.058]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_84738aa470464f9f3192817554d26d30) >>
+>> endobj
+1102 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1106 0 obj <<
+/D [1104 0 R /XYZ 90 757.935 null]
+>> endobj
+1107 0 obj <<
+/D [1104 0 R /XYZ 90 686.641 null]
+>> endobj
+1097 0 obj <<
+/D [1104 0 R /XYZ 90 664.329 null]
+>> endobj
+1108 0 obj <<
+/D [1104 0 R /XYZ 90 664.329 null]
+>> endobj
+1098 0 obj <<
+/D [1104 0 R /XYZ 90 550.355 null]
+>> endobj
+1109 0 obj <<
+/D [1104 0 R /XYZ 90 535.856 null]
+>> endobj
+1099 0 obj <<
+/D [1104 0 R /XYZ 90 404.417 null]
+>> endobj
+1110 0 obj <<
+/D [1104 0 R /XYZ 90 389.918 null]
+>> endobj
+544 0 obj <<
+/D [1104 0 R /XYZ 90 207.67 null]
+>> endobj
+114 0 obj <<
+/D [1104 0 R /XYZ 90 200.826 null]
+>> endobj
+1111 0 obj <<
+/D [1104 0 R /XYZ 90 120.049 null]
+>> endobj
+1112 0 obj <<
+/D [1104 0 R /XYZ 90 120.049 null]
+>> endobj
+1103 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F81 703 0 R /F65 249 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1121 0 obj <<
+/Length 1191      
+/Filter /FlateDecode
+>>
+stream
+x��W�r�6}�W��L$x��
��4��';��)HfJQ,F��wq�DI���;�{ R���={� AKD����`|�D(�y&h�@9AiBq
R4����L��B����5���^�%�U������
2|
R��Υ�.�����ݷB4�\��Q��M���N��B��,u!��$I������������Q�)NqŨX
n>4����Q���Y�B,�`��d�ǀ��
M�1ً���(C��2�m��߇nF1$��
���8�
f�dY/�j�Z.
�k�O��mQ��y�j��_oIL��~���"%(�	�p�',D#�p�
�k�:Y��r�n��Nk�O)1��e���ye��0J�ء�����BC�B��М�(I�q���֮��R��_�O��
���(�b��LOpN_���zE>��Zo�2���<|:���,�)
1p���CL���
+�����[����6z������й
��Ub�
όKY:�KQ
��Z���AS��̹�K�/�Pn���� �´����%��pv�}�&�!���l�Mn�-x�g��
��m���_�A�6������Tي
tN�}�#�8�ϲ+�碃%���
+N&v���ׅ��{E
�NL��0Ӎi�m�>_
�^��������f+�[B�J��qRۇa��g��I6�>
��|q�����.L�;�4����ܳz��9�]�{���E�c����qb�X


E i�֏�]Uv����.����~0=O���K���d�j���M&��L>ҕ'{]�����T�+�Z(�/l�Q�Iv�,��, ��/��OK�e�����c�j������Q^
H��m������+�)��M4�Nů�hGG�2�
��K�={�}ɛY{���M�
]/������T�^������C��˂Fj����t��V���U�^�k�d�%����w������@��i�o7�TY���� ��6R�7Ͷ<��I�i����u�M=}�>�U%&I��K��4%8O�N�e1�q
6��9�=z5��߬����}�ڟy���ҙ�ҷ���?�{���a
.x��k�.[�����
�&�4{x8���D�,��?���:0�]�p:�I��C��R��x��lp��.�K5n�j|����V�)���ZKT�����R��.<em�m�����)�
�
+endstream
+endobj
+1120 0 obj <<
+/Type /Page
+/Contents 1121 0 R
+/Resources 1119 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1130 0 R
+/Annots [ 1101 0 R 1113 0 R 1114 0 R 1115 0 R 1116 0 R 1117 0 R 1118 0 R ]
+>> endobj
+1101 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 706.961 215.13 717.865]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_183f982bd3198d2c455e51e7cedd4e33) >>
+>> endobj
+1113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 668.107 201.302 679.01]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) >>
+>> endobj
+1114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.907 568.036 278.294 578.939]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
+>> endobj
+1115 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.526 557.057 190.592 566.984]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
+>> endobj
+1116 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 399.466 234.059 410.369]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception_df699afd1b4f9dbc15fd31424e9d15e7) >>
+>> endobj
+1117 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [196.627 160.404 246.21 171.308]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1IO_2080ebe48063615d891b98ef65f2ca71) >>
+>> endobj
+1118 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1122 0 obj <<
+/D [1120 0 R /XYZ 90 757.935 null]
+>> endobj
+1123 0 obj <<
+/D [1120 0 R /XYZ 90 726.054 null]
+>> endobj
+1124 0 obj <<
+/D [1120 0 R /XYZ 90 687.2 null]
+>> endobj
+1125 0 obj <<
+/D [1120 0 R /XYZ 90 630.786 null]
+>> endobj
+545 0 obj <<
+/D [1120 0 R /XYZ 90 505.888 null]
+>> endobj
+118 0 obj <<
+/D [1120 0 R /XYZ 90 499.287 null]
+>> endobj
+1126 0 obj <<
+/D [1120 0 R /XYZ 90 418.439 null]
+>> endobj
+1127 0 obj <<
+/D [1120 0 R /XYZ 90 418.439 null]
+>> endobj
+1128 0 obj <<
+/D [1120 0 R /XYZ 90 362.145 null]
+>> endobj
+546 0 obj <<
+/D [1120 0 R /XYZ 90 266.826 null]
+>> endobj
+122 0 obj <<
+/D [1120 0 R /XYZ 90 260.226 null]
+>> endobj
+1129 0 obj <<
+/D [1120 0 R /XYZ 90 179.378 null]
+>> endobj
+1119 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1145 0 obj <<
+/Length 1374      
+/Filter /FlateDecode
+>>
+stream
+x��X[��6~���0S˒@\�-ͥ�iv�f��l2
�e��+ ������
o&�Lgv�–�9�w�[
[�N~�Of�|׊P�Sߚ��[�O�Ě���`D�3%c{�]���㖯D��ҥ������o���	�B,^~I��J�ܙR���Y\�z�������;ӐQ����i�z�r>�{B�.le
P�2+�M
>ak߿�0r��:�];ˣ.|f����	�������CĠz��8��J�����H��`���
IؚR�^�=�g�#���2�Ti��Ϸ��z���D
+-��3ĺa�<j̻�%0���2B��ER�x^ō�C�i)�&p8r�
���g����<���p����o���
D�_���1��B�:�1�
�SF���TF�-?;S�v�W#Ҥ#��ٚ�+``1U�n"?��)!(b��+���JJ���N��		��ֽ�kŚ|���1e�|��D� }�]�-�vYK!��Ip
+1�X�R�lz�A�i$ا4P���a�C�fi��j�T�0��\/d���\(��Sb(�_U�!��R��h3y�n�Q�9�hs�Ijb�x�Ey�;~ӣ��(�2FB���
�Α
�!���7�ʢI�n���"[�-
�Uq�g�g��h���D��o����
�!<1Z���nSr.[�%)#�r�,�U�NL�B�@C�t&���#��EԀ^cI�ߋwS�!�}�8�·�ҡخ�K��_�B\D�g2�t������(���Y�t�x*�p:�.�P3�J�(Ԑ��U�s

��'m����<lx�E\5jע�
�YC.
��C�������Z�G�*^��|���w=�Z}��Kg|�����VC5�F�
�����9���R�l�[>6��ԣe����L�F5��W�/��e��
6>��íq	E�3.�#�ؘY�}�#�=����N,:x�n9�>l�`��5c�'+�����>P���
+��b�3��i�FR�”ۙ�؏�L�
�K-j��	�]N��X��$����P�c�j��,@~?;v���;t
�`�q����T3�=*CB34�W���
+�,bK���tP P�(I��r;���{^��u�Dg��A�"U��Ɇ�+���W�U����ӤF�(��T�
��鎗OQ
��S`}�ᇁ���ߥy=�ZO2��c~�	�J�4^f'
���F�W�|o��@��(
+ ���7)6�r�dbI汁��h,��u����|S�#�6����2�����'�1���8���i��g�
.9mр�@qe�B4al��-��_V��m�n�G�4�W��f�����lv8
PR�:O���l��f�
�(�@'
��Q[�w��ͭ<@
��[ gHs���;�.N|����

+endstream
+endobj
+1144 0 obj <<
+/Type /Page
+/Contents 1145 0 R
+/Resources 1143 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1130 0 R
+/Annots [ 1132 0 R 1133 0 R 1134 0 R 1153 0 R 1135 0 R 1136 0 R 1154 0 R 1137 0 R 1155 0 R 1138 0 R 1142 0 R ]
+>> endobj
+1132 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 320.85 215.509 331.754]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception_5b5e4c1fe8b8af4696ac7cc839fb3b40) >>
+>> endobj
+1133 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [175.625 122.154 408.678 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.987 122.154 513.996 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1153 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 110.199 245.674 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [258.591 110.199 465.892 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+1136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 110.199 513.996 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+1154 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 98.244 272.713 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+1137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.772 98.244 513.996 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1155 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 86.288 116.46 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1138 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.326 86.288 358.55 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1142 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1146 0 obj <<
+/D [1144 0 R /XYZ 90 757.935 null]
+>> endobj
+1147 0 obj <<
+/D [1144 0 R /XYZ 90 733.028 null]
+>> endobj
+1148 0 obj <<
+/D [1144 0 R /XYZ 90 682.403 null]
+>> endobj
+1131 0 obj <<
+/D [1144 0 R /XYZ 90 660.092 null]
+>> endobj
+1149 0 obj <<
+/D [1144 0 R /XYZ 90 660.092 null]
+>> endobj
+547 0 obj <<
+/D [1144 0 R /XYZ 90 427.824 null]
+>> endobj
+126 0 obj <<
+/D [1144 0 R /XYZ 90 419.797 null]
+>> endobj
+1150 0 obj <<
+/D [1144 0 R /XYZ 90 339.363 null]
+>> endobj
+1151 0 obj <<
+/D [1144 0 R /XYZ 90 339.363 null]
+>> endobj
+1152 0 obj <<
+/D [1144 0 R /XYZ 90 284.404 null]
+>> endobj
+548 0 obj <<
+/D [1144 0 R /XYZ 90 192.768 null]
+>> endobj
+130 0 obj <<
+/D [1144 0 R /XYZ 90 184.741 null]
+>> endobj
+1143 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F81 703 0 R /F65 249 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1186 0 obj <<
+/Length 1347      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�8}�W�m%`M��HIyk��hwtw_� e�VW�������P���x�@�H�4
�3sf�ؚX���y���n�k�(�[��b��1J���z�	F�w�cl�E>�y�<M�(�$
�"���3N����s��,�8K�29~ĘF�LK�K��%�(��
K�vI�ˉ�۞�|���w��p[�v���w��:_�5��,��0��[3ˣ.�O���_
ܺ9�"̙���j�đ��VΆ�P}}S�Q	[(jw��z7
�#
yn`u)A>���#�l���|b6s��c=t`�����gʳ��m�h
?b������eL<�
���r�>��7�Ծ)EܣV�x{�;YVyj�-��i��/��2
d�5;<D��a��B9�
���b.�K�/�t��a���;O{�0D����=
�K\�|B�eB^��a�������mT���e�Ґ�:�2��0~
+�'O��g2��i��̗�Lϧ]I�C����=&���p�{��٨����h�>+�
�L�ؒF3��f��"1�8}%ƫJ�`��A�_��T:
�'B�6�
+��D�n��
9��?�d`1,�U� �g�%�ri��e��Mf��}}-
�m�S)I���<t��Ƴ7�XP
+��!�6�ܗy�N��EǃQ5�_
<����r�AGZ�r�o㴔y*}�q[��x,�IH���
�;�
���e))���.
ͅ^�L�	B�0��o��]@A�]�"��V�
G��3ײq�
�kYDy</�dlQ��3
��Л}�
+45�S;��"��0�QH�P0��d]1C� �i�����3
�
���N.կ@A��|�rȶ\֯�SQG�qw(�OC�GU����y6�W�$w�
$��@����o�b�<�d[���/�;�
��DϷx�3{=��^
���Sh�����5�ֻ�������Q�{���4�YT�6svY�b���j�_8Dɱ���T��b
�m�%I�v�h�B��ȫM?�&�0
�Erg��Pa�]�#�ถ��je0�]z��U�9����g뙸�u�`l�&�F
?�S��e�
`���W�t�m�2��B�
��w38i��ك�[�}���7��>7�w���&�����
�؍=��aP�zd;�ЅzQ�;��sp����tR+��[�]���O+�~ڀ�b	����z���}\�ö}
��yp�qt}

�s�t!#�14
c�V����^���]J�c
+}�����z��?�tR��1�QMB�</��2��a�6�܊�Z�J
+h=f�"%��\�*��
�\R���Z^�ѩEb�O�'as~0-��U��X,PT�*��9���|��vU~e� �~�4MC2����'��<­�ߘ3�8գ�NJ ����*�
+endstream
+endobj
+1185 0 obj <<
+/Type /Page
+/Contents 1186 0 R
+/Resources 1184 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1130 0 R
+/Annots [ 1139 0 R 1140 0 R 1141 0 R 1156 0 R 1157 0 R 1158 0 R 1159 0 R 1160 0 R 1161 0 R 1162 0 R 1163 0 R 1164 0 R 1165 0 R 1166 0 R 1167 0 R 1168 0 R 1169 0 R 1197 0 R 1170 0 R 1171 0 R 1172 0 R 1198 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 1183 0 R ]
+>> endobj
+1139 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 698.146 191.16 709.05]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1140 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 698.146 210.258 709.05]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_d3d011ec5cd66a3e9bf71053d6b818b5) >>
+>> endobj
+1141 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.074 698.146 291.323 709.05]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1156 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 661.09 191.16 671.993]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1157 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 661.09 225.192 671.993]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_3866453e844ec10e038e9ae2b336159d) >>
+>> endobj
+1158 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.007 661.09 306.257 671.993]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1159 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 624.033 191.16 634.937]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1160 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 624.033 215.239 634.937]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_af751a048f4895ec1ca6eb753a196908) >>
+>> endobj
+1161 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [219.055 624.033 265.072 634.937]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1162 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 586.976 191.16 597.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1163 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 586.976 245.675 597.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_2a76c9ab182bf0cbd015cea16a24c635) >>
+>> endobj
+1164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.384 549.92 224.634 560.824]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1165 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.132 549.92 248.703 560.824]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_f5d9b1e4dec7faf038dd87f36773252b) >>
+>> endobj
+1166 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 512.863 215.13 523.767]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_0c0b91260da0f4729a335faa3747c397) >>
+>> endobj
+1167 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.2 475.806 201.302 486.71]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_491b55e596bb0dc1e707355a1b2169b5) >>
+>> endobj
+1168 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [180.08 377.443 257.33 388.347]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1169 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 377.443 513.996 388.347]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 365.488 173.446 376.392]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1170 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.861 365.488 309.116 376.392]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1171 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [318.531 365.488 419.033 376.392]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+1172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [428.448 365.488 513.996 376.392]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 353.533 133.337 364.437]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.326 353.533 273.899 364.437]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 238.558 305.978 249.461]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 185.406 240.166 196.31]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_b531066aa6dba222c8c61a8c3978257d) >>
+>> endobj
+1176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [243.981 185.406 289.998 196.31]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 148.349 159.927 159.253]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 148.349 199.867 159.253]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_24d3c42f7ed7c7a99a8a2bb5369eed4d) >>
+>> endobj
+1179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 111.292 240.166 122.196]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.664 111.292 264.235 122.196]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_edf10f9d2de45d7e8de1809d4417741b) >>
+>> endobj
+1183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1187 0 obj <<
+/D [1185 0 R /XYZ 90 757.935 null]
+>> endobj
+1188 0 obj <<
+/D [1185 0 R /XYZ 90 716.221 null]
+>> endobj
+1189 0 obj <<
+/D [1185 0 R /XYZ 90 716.221 null]
+>> endobj
+1190 0 obj <<
+/D [1185 0 R /XYZ 90 679.284 null]
+>> endobj
+1191 0 obj <<
+/D [1185 0 R /XYZ 90 642.227 null]
+>> endobj
+1192 0 obj <<
+/D [1185 0 R /XYZ 90 605.171 null]
+>> endobj
+1193 0 obj <<
+/D [1185 0 R /XYZ 90 568.114 null]
+>> endobj
+1194 0 obj <<
+/D [1185 0 R /XYZ 90 531.057 null]
+>> endobj
+1195 0 obj <<
+/D [1185 0 R /XYZ 90 494.001 null]
+>> endobj
+1196 0 obj <<
+/D [1185 0 R /XYZ 90 440.194 null]
+>> endobj
+549 0 obj <<
+/D [1185 0 R /XYZ 90 310.531 null]
+>> endobj
+134 0 obj <<
+/D [1185 0 R /XYZ 90 301.144 null]
+>> endobj
+1199 0 obj <<
+/D [1185 0 R /XYZ 90 203.481 null]
+>> endobj
+1200 0 obj <<
+/D [1185 0 R /XYZ 90 203.481 null]
+>> endobj
+1201 0 obj <<
+/D [1185 0 R /XYZ 90 166.543 null]
+>> endobj
+1202 0 obj <<
+/D [1185 0 R /XYZ 90 129.487 null]
+>> endobj
+1184 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1220 0 obj <<
+/Length 1122      
+/Filter /FlateDecode
+>>
+stream
+x��X]s�8}������Z��#om�t���dS�S��,l�����8`;q����x,���9�^I4C}�
F��B
z�C���
ŜQ4���L{H	!�2��h�,��\Le4��[�����i."9y��6
,Q�i�O��$�!��=d�Xﲨ,���<�
�X�k
_ޏ�( $�ֈ��}��x1��J��/�N�u�k�\��5C��
ȣ�c&
׳����+1հ�T�LomF�U%�Not�Ƀ`�î�!c�����1�yG�A��d�?
�͐��
+�،[_aq*�����ؼ��w��
�� �z�B
+=��!u1�
���HRG�@�fi;�%��RBs���y3�e��B1v�tW��{�
���e8 [���ӝ�*J�F�sQ�2]V_��)B@
;F�7�PR�Pj��Mk�ffމ,�.�;����ScJ��=:�E�Z@��jGH
+�0����<X��2f"2j͸Ӓ�YV(<�V�,g
���t1U��u����5���N�-R<ݩ�HSBR�C�Y�d3������
��}yR�>Bn��Ḗ�x�6�^|��B�US1��1$svu�pKzg�Łg \�n�4֐?�ŭ0�/Vy��x|5
~���:�Kt�uڶ�
d�z��:�����}T�
 ��Փe�-T���dd��
J��ѡ�Z�2[Y
�|����s[����
	0��G4�{ݥ3�W�t���(�c/�M�͞ 
�O�s��2Ա�������u^��V�L$�d�����_�kQ�dޗS�������FЈ��{�`J[���b��3>O����Ή%��l�[����c���>2+�"D� >�W�R�����ަ=8U	����]���ա��9v�!��?���n�
����D�ו�G)g
�
^���
l����T���	����<Du���	�
�����>�
���Q� �<
��U倍���镒@
@���b��r}�.bՏ�|��f&�Ǽ2�Io
�o)�6�Q�S����n�;5��ۃ7�~�uԂ�m8��h�%�����kP'�v�̇�
�&G�U�<���5�K��ӥ�i5Z.���B!�����6[�KP�c�zh��;�X�C�EmO���;O��f
+endstream
+endobj
+1219 0 obj <<
+/Type /Page
+/Contents 1220 0 R
+/Resources 1218 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1130 0 R
+/Annots [ 1181 0 R 1182 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 1213 0 R 1214 0 R 1215 0 R 1216 0 R 1217 0 R ]
+>> endobj
+1181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 699.672 159.927 708.518]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.425 699.672 182.632 708.518]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab30b6ef6e87a1df35c14d15237af04c) >>
+>> endobj
+1203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 498.285 305.978 509.189]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 444.123 238.482 455.027]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_d6e4fdbf5475e6d24aaffaceb4a4abf9) >>
+>> endobj
+1205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.298 444.123 319.547 455.027]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [330.008 444.123 407.258 455.027]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 406.003 191.16 416.906]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 406.003 252.31 416.906]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_d213660ecdcc0e4142a2fd7536489781) >>
+>> endobj
+1209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 367.883 191.16 378.786]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 367.883 257.849 378.786]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_f0e7fc37eefdbd145c4e9203cfd5e5e7) >>
+>> endobj
+1211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 329.762 238.482 340.666]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
+>> endobj
+1212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.98 329.762 262.551 340.666]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_6e2a52ee587e255b6172f976f5a823d1) >>
+>> endobj
+1213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 250.065 191.16 260.969]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 250.065 205.277 260.969]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_87e8e31d3cf9dbe3c2e1041ea8ccf873) >>
+>> endobj
+1215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 211.945 191.16 222.849]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 211.945 205.825 222.849]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_2b2271e2f858709aef3d3705ac8c075d) >>
+>> endobj
+1217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1221 0 obj <<
+/D [1219 0 R /XYZ 90 757.935 null]
+>> endobj
+1222 0 obj <<
+/D [1219 0 R /XYZ 90 716.221 null]
+>> endobj
+1223 0 obj <<
+/D [1219 0 R /XYZ 90 716.221 null]
+>> endobj
+1224 0 obj <<
+/D [1219 0 R /XYZ 90 660.992 null]
+>> endobj
+550 0 obj <<
+/D [1219 0 R /XYZ 90 568.61 null]
+>> endobj
+138 0 obj <<
+/D [1219 0 R /XYZ 90 560.871 null]
+>> endobj
+1225 0 obj <<
+/D [1219 0 R /XYZ 90 462.729 null]
+>> endobj
+1226 0 obj <<
+/D [1219 0 R /XYZ 90 462.729 null]
+>> endobj
+1227 0 obj <<
+/D [1219 0 R /XYZ 90 424.729 null]
+>> endobj
+1228 0 obj <<
+/D [1219 0 R /XYZ 90 386.609 null]
+>> endobj
+1229 0 obj <<
+/D [1219 0 R /XYZ 90 348.489 null]
+>> endobj
+1230 0 obj <<
+/D [1219 0 R /XYZ 90 268.671 null]
+>> endobj
+1231 0 obj <<
+/D [1219 0 R /XYZ 90 268.671 null]
+>> endobj
+1232 0 obj <<
+/D [1219 0 R /XYZ 90 230.671 null]
+>> endobj
+1233 0 obj <<
+/D [1219 0 R /XYZ 90 175.322 null]
+>> endobj
+551 0 obj <<
+/D [1219 0 R /XYZ 90 82.94 null]
+>> endobj
+1218 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1259 0 obj <<
+/Length 1135      
+/Filter /FlateDecode
+>>
+stream
+x��X�n�8}�W�m%`M�"꒷�%E�[��x���`d�VW�����I)�j�i��LI�p朙3���t��a�f:��̉Q
���.�;a@�ęΝK�`DboL0�n)�Z��"ۮ�\�Y�^)��''��j���T
�\YUi��.��7�
�o3QUfx.���鍣S��������t�߈�[�!�

��q'Y�.�bg��
�X
9=k�����\��
�AH���s��D��� ��)�w �Θ����Y}��潪�U,���\��L�o��#�G�ji͒�7f?�+�Һ�X�Ңy�a�\jK	׬b�P�>2��$
��(`iq��\eib\�$�WҺ��I�:�cs�	��"����#�
�|睽qq���5S�!h_�`�B�
CA����~�dd
��Al
.!v"�%�[\Z<|
+\�(�-�o�4����M��o2�m"��
)���,�_%��f
L��IR��������b���K7fʎ�mv�n�����pĤ���c�#�
+�
��@BAсA
�b��u�5]�rQ�V�J��P�
+��nT>�]׌��-���0�"�'�^��
�)4?�
А�,*]�^���Os#
���3D�o9 O/��H�"�w�o�XYZ�
+
Xa���P �LJj��v2�ϋUZ"��k�^y�M-_��=PwVՑ�8
+k�1�Y#t���
����8}d�
����^��R���	TeX+$
+�����~��~'k�f]ټ�U�Ҳ����ָ7;/�f
� ��ѷ���
�%�[{���K�K%zAX�b=�jQdY�Q�n�|�Y��4�'�2�+�R��}�]�k�~c~��3�`>"Q��D���=�v��e�d��R�۰v4�cw{��@�墅�;I���4�B���'��Ǹ��y�Iّs��!k��$�yNjw(}��U��ec'}pZjѨ~��a�y�m׳�>��^�� z����P
B~�.
z>��綖����]�y�ܬ+�\��8�X��F,���y-�B�sbo�SI��ǹk�$�Fd^�u��T�2m
~�0a-$�3�w!;�
"�:��ϑq�H������<�L6�
J*��i�PZO�2��X׷V�l�o}���.�v$
+�Og
�;6��
&�u#CC.�0
�
+endstream
+endobj
+1258 0 obj <<
+/Type /Page
+/Contents 1259 0 R
+/Resources 1257 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1130 0 R
+/Annots [ 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 1248 0 R 1249 0 R 1250 0 R 1251 0 R 1252 0 R 1253 0 R 1256 0 R ]
+>> endobj
+1234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 677.939 305.978 688.843]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 623.079 214.413 633.983]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_ef62be6cb1c9f4c4f3aff2c5f456c374) >>
+>> endobj
+1236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.228 623.079 295.478 633.983]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [305.939 623.079 383.188 633.983]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 584.225 191.16 595.129]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 584.225 252.31 595.129]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_8bacbf073ef0e1064e8c53ede4ad59bd) >>
+>> endobj
+1240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 545.371 191.16 556.274]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 545.371 257.849 556.274]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_e42dcbc09bb42d181a19512206d15f70) >>
+>> endobj
+1242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 506.516 214.413 517.42]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
+>> endobj
+1243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.911 506.516 238.482 517.42]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_26114c4deaf17e8a12123a0a8f760d5d) >>
+>> endobj
+1244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 425.754 191.16 436.658]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 425.754 205.277 436.658]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_8d44f98f79421126eba1448fb80331b4) >>
+>> endobj
+1246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 386.899 191.16 397.803]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 386.899 205.825 397.803]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_e1191ef860c3201d40fa4e20fd02ba2d) >>
+>> endobj
+1248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 185.073 305.978 195.977]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 130.214 220.699 141.118]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_6dec5edff0aa73961373ed7e1b9e0729) >>
+>> endobj
+1250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.514 130.214 301.764 141.118]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [310.013 130.214 356.03 141.118]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 91.359 191.16 102.263]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 91.359 252.31 102.263]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_015f6e2febd260a93299564dfde659e5) >>
+>> endobj
+1256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1260 0 obj <<
+/D [1258 0 R /XYZ 90 757.935 null]
+>> endobj
+142 0 obj <<
+/D [1258 0 R /XYZ 90 733.028 null]
+>> endobj
+1261 0 obj <<
+/D [1258 0 R /XYZ 90 642.053 null]
+>> endobj
+1262 0 obj <<
+/D [1258 0 R /XYZ 90 642.053 null]
+>> endobj
+1263 0 obj <<
+/D [1258 0 R /XYZ 90 603.318 null]
+>> endobj
+1264 0 obj <<
+/D [1258 0 R /XYZ 90 564.464 null]
+>> endobj
+1265 0 obj <<
+/D [1258 0 R /XYZ 90 525.61 null]
+>> endobj
+1266 0 obj <<
+/D [1258 0 R /XYZ 90 444.728 null]
+>> endobj
+1267 0 obj <<
+/D [1258 0 R /XYZ 90 444.728 null]
+>> endobj
+1268 0 obj <<
+/D [1258 0 R /XYZ 90 405.993 null]
+>> endobj
+1269 0 obj <<
+/D [1258 0 R /XYZ 90 349.579 null]
+>> endobj
+552 0 obj <<
+/D [1258 0 R /XYZ 90 254.26 null]
+>> endobj
+146 0 obj <<
+/D [1258 0 R /XYZ 90 247.66 null]
+>> endobj
+1270 0 obj <<
+/D [1258 0 R /XYZ 90 149.187 null]
+>> endobj
+1271 0 obj <<
+/D [1258 0 R /XYZ 90 149.187 null]
+>> endobj
+1272 0 obj <<
+/D [1258 0 R /XYZ 90 110.453 null]
+>> endobj
+1257 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1291 0 obj <<
+/Length 1160      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�8~������.�K޶�t�mg����v<�6]
,�8��=H�v��8�>��L2[H:���s>C��a�f2�
�8X�&s
F�d�.
J0��G	!N�ԫdZ���R��d�gWuRߞ�|�
+����7U��ȑM����k_N?gE۸
�y�'�
^ȹ4s�T������}r6z?�;�p<��>�q�JW������3D0�#�ֳV�g
�9�2�{Dlhë5$(�P�
�����c�Tm]�C��4�\Ε-�bfFM6�ߖ��܀��]�pL)����j�5f֝#0@���$��?��T�
�<ꇘ�
yp�Pf�o���*
����y�a�.=d�pf�z��.�:[,մ�a��}�N�F��7�! 
>��aLŁ���$ �1M�L�/F�t�r�d+�
GG��ū����� 1���n7`[r���NU�N5χT�6��u��J�JZ:�T�ή\F�V
 O�sX�.(}>�oK9w� �K3Y���ϗ�r9
�9���u��r�3�����#�Ϟ�� Ob���w���>��ԡ�P�m�۶
���N�$��,z'���*eA
G�1sGU��6Uw���k��X�T8[�̴
�M�d���ۚ�8`�`�Y��+���͊�ޖ���=�]
+{ٛ�,d�ljȼ.W6�e���y�Y�pmy$,�'w+禨���~A?\�񏤫`�݆�
+y�X �&u�>�Ǥ��|���g���Y<t<� �p�u+�q�ۜ��N�~n�1`��*X�ᖳ�E�W
���3է���?�=��O�An�8ä����U���ğ��J�ӟ�Eڅy|Gb��H��
���r
BC/q�$��
��_��}Q���de.
d��؁�|��=B�L���~�eృ8���͞z+0p���8�!�~sKtb/t9|Q[�+k��	5o���(�Q�Po��O��*�G
b���ԇ2�S����Q�����m�1�O�#�Z'�Gky��"�0	�c_]�W�H��x0oc�J1tL�]?�Z�������d���9�u#��X���.��P��kC�ڏ�6���±R��m�����v������?��.=0�X��� ��G�4%�8Y�v+�R��d<^��8mp[dU�35��||_��Uh'����X�UY�t�&�>Xh/�g�p�&�t���-p�����
+endstream
+endobj
+1290 0 obj <<
+/Type /Page
+/Contents 1291 0 R
+/Resources 1289 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1130 0 R
+/Annots [ 1254 0 R 1255 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 1285 0 R 1286 0 R 1287 0 R 1288 0 R ]
+>> endobj
+1254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 696.156 191.16 707.06]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 696.156 257.849 707.06]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_ffc79b9a795454f61542224d1b0dea1a) >>
+>> endobj
+1273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 657.609 220.699 668.513]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
+>> endobj
+1274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.197 657.609 244.768 668.513]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_7f106ecc8b4f062f0b2b53cd3098e50c) >>
+>> endobj
+1275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 577.292 240.166 588.196]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
+>> endobj
+1276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [240.664 577.292 254.282 588.196]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) >>
+>> endobj
+1277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 538.745 191.16 549.649]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 538.745 205.825 549.649]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_4b0fc20a0d733d684c6a4e7e8f49c174) >>
+>> endobj
+1279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 324.016 305.978 334.92]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 269.448 251.483 280.352]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a51b2de39e7e3568d5c9322de4b0454b) >>
+>> endobj
+1281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [255.299 269.448 332.549 280.352]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 230.901 191.16 241.805]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 230.901 231.1 241.805]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_ab53a108e173a6657e2af82a66ea3737) >>
+>> endobj
+1284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 192.354 251.483 203.258]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
+>> endobj
+1285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.981 192.354 275.553 203.258]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2834d46309af2717b28dc79843e1331d) >>
+>> endobj
+1286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 112.038 191.16 122.941]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.658 112.038 206.194 122.941]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2f88b2137b58031e4838f19daff12f4a) >>
+>> endobj
+1288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1292 0 obj <<
+/D [1290 0 R /XYZ 90 757.935 null]
+>> endobj
+1293 0 obj <<
+/D [1290 0 R /XYZ 90 715.095 null]
+>> endobj
+1294 0 obj <<
+/D [1290 0 R /XYZ 90 676.548 null]
+>> endobj
+1295 0 obj <<
+/D [1290 0 R /XYZ 90 596.112 null]
+>> endobj
+1296 0 obj <<
+/D [1290 0 R /XYZ 90 596.112 null]
+>> endobj
+1297 0 obj <<
+/D [1290 0 R /XYZ 90 557.685 null]
+>> endobj
+1298 0 obj <<
+/D [1290 0 R /XYZ 90 501.717 null]
+>> endobj
+553 0 obj <<
+/D [1290 0 R /XYZ 90 407.627 null]
+>> endobj
+150 0 obj <<
+/D [1290 0 R /XYZ 90 400.55 null]
+>> endobj
+1299 0 obj <<
+/D [1290 0 R /XYZ 90 288.268 null]
+>> endobj
+1300 0 obj <<
+/D [1290 0 R /XYZ 90 288.268 null]
+>> endobj
+1301 0 obj <<
+/D [1290 0 R /XYZ 90 249.841 null]
+>> endobj
+1302 0 obj <<
+/D [1290 0 R /XYZ 90 211.294 null]
+>> endobj
+1303 0 obj <<
+/D [1290 0 R /XYZ 90 130.858 null]
+>> endobj
+1304 0 obj <<
+/D [1290 0 R /XYZ 90 130.858 null]
+>> endobj
+1289 0 obj <<
+/Font << /F63 247 0 R /F70 298 0 R /F65 249 0 R /F50 215 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1316 0 obj <<
+/Length 1151      
+/Filter /FlateDecode
+>>
+stream
+x��W[s�8~���maf-K��[/�N��L6q��v<2�mu1Pq��{��Y��4�� �s��w��Y:��k�v2����8��3Y81v�� F�3�;�.��RoH0�n�՚O�<�_����T�W�''e&���~/�GƮ(K�g�O^L]�$���R��w)/Ks{%�l�x�A�}��N'�o�a��xX�"�9�zp�;sX?w0�㱳ѻ�N@}������in�G8d��"6����2s�{Q&J$�5:cx�v�4@~C��M0
a��c.�'�b�0Wn.����퀚A
5��$B!
z��yR�EV�X^��N���d
��#��>,E&���*_�GEk,Ms�2w#��Y��1Mʼn�J
�CB�c �GA� ?S��w�`�C
K��
3��Y]��ܣؽk|r2��3F���+�G
�NB>X�7Ӭ͚
k�V}�-L�&��������Ui�mZB-mo\i�3�†�_%u����ЄpY�R��x/�z&l�gu�4\,�l�`��B��#l9��a�|�!]{�3�e�(X����<��&ag
��A�$���P��[����U>�*[`[��mVyos���j�ʰ
��AӑF봿;�e/.� n�

L�H��dL�VLw��O��qh�Җ�[jY;V�g���+Q�*��nO��G�(̥�@:���794��v{�ڏ�
�y?�����y&^����܍*t�Þ
+
�����Ll��w�����S��
۞8��m	��w����Ti}țQl�{���
���Z�+�P*W����,�Ch0��5<�U����+�-�{P
Q��Ju*E�AN���
+x��旺����_�����<
��h�
q�{X^�{s3��ض���g�U� I��3{�t?
���TVv]k-,����b��<�(�)��ɳ˛6��ig	N�tt/�t6�Z٬EYt_4-r E6�x���}T�����f8����c�5�?&0.Dq�i�1Y����eC�F��c�y��>�p�+��5ϖ5_ZS�J��F#�K7�Px���
��<���6�U���4]'~������h�

"�:����%�͓FРq�~i���8�6�
JJTg�PHV��HG����z��HW�u�t ��%t���_u2��k�ԯ���Y�
+endstream
+endobj
+1315 0 obj <<
+/Type /Page
+/Contents 1316 0 R
+/Resources 1314 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1327 0 R
+/Annots [ 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 ]
+>> endobj
+1305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [121.93 578.79 305.978 589.694]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 524.942 229.336 535.846]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_642f2ab97bf846e69686a874001a9930) >>
+>> endobj
+1307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [233.152 524.942 268.34 535.846]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 487.151 149.098 498.055]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [149.596 487.151 189.038 498.055]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_5c54fa6c29a576ab9de69361d15f8b17) >>
+>> endobj
+1310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 449.361 229.336 460.265]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
+>> endobj
+1311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.834 449.361 253.406 460.265]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_e2482d18059a20a1cea2423a8b3d1043) >>
+>> endobj
+1312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 214.928 210.527 225.832]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception_11bc5303b1d7a594017971538e60858f) >>
+>> endobj
+1313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1317 0 obj <<
+/D [1315 0 R /XYZ 90 757.935 null]
+>> endobj
+1318 0 obj <<
+/D [1315 0 R /XYZ 90 733.028 null]
+>> endobj
+554 0 obj <<
+/D [1315 0 R /XYZ 90 649.627 null]
+>> endobj
+154 0 obj <<
+/D [1315 0 R /XYZ 90 641.377 null]
+>> endobj
+1319 0 obj <<
+/D [1315 0 R /XYZ 90 543.383 null]
+>> endobj
+1320 0 obj <<
+/D [1315 0 R /XYZ 90 543.383 null]
+>> endobj
+1321 0 obj <<
+/D [1315 0 R /XYZ 90 505.713 null]
+>> endobj
+1322 0 obj <<
+/D [1315 0 R /XYZ 90 467.922 null]
+>> endobj
+1323 0 obj <<
+/D [1315 0 R /XYZ 90 413.052 null]
+>> endobj
+555 0 obj <<
+/D [1315 0 R /XYZ 90 321.989 null]
+>> endobj
+158 0 obj <<
+/D [1315 0 R /XYZ 90 313.739 null]
+>> endobj
+1324 0 obj <<
+/D [1315 0 R /XYZ 90 233.37 null]
+>> endobj
+1325 0 obj <<
+/D [1315 0 R /XYZ 90 233.37 null]
+>> endobj
+1326 0 obj <<
+/D [1315 0 R /XYZ 90 178.619 null]
+>> endobj
+1314 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1353 0 obj <<
+/Length 1450      
+/Filter /FlateDecode
+>>
+stream
+x��XYs�6~ׯ�[șx3o��q'j����h 
+���PAJ���  J�E9�2��xL��߷������GϯFg�#�JQy�u5�Rl�A�G���um���q	��^QQ�ɪʷK6t��b�����x2I�j���q��/rZ���6g�gVf
6� ����x�f��j�6�"��0F�ZY1�������0��ĺmgV���̭�џ#�-���x�"�#��{>�Q�̺�o�Y�n&��<����Ww[5�*�'�x��8^hS��Ō���'E�D�p� �$>r��q�r� �A�d��V]�;��6����a�}[�78�9/�����/j`%Z���*�E^�䜗K&x��
�n<~;y?�IJu��t�=DRMɋ���ΚJ�}i�
x�̗
g���$x
�yV~&��>t�+&
�
���2��x�"���hc+��@j%�	<�/@i��{�����
��Ns����p����ၰ(\#|>%?��{P�7�⩞u`�(�4�����r[7�7�ꣻ�m��+�����.���#ʼ��.�g*�zrQ�X�Q
+d���p+`җ�
$�� ;����3���
�j`I7*aV��2]�a@���j��p_h
��Ȕ�ʃ�jR_����9s%V�l�L	�Z�d��l��uG�=�i�p
�
���P��05S��
c#�%
2�����̚��>&(	b 1:���Æ�Igh�B�=��H�ɿ'+	 �Df�nR?��B�ΰ�
MD(�
��yj0
[���I-�V[
�� �Tȸ�j{ ���6��y�<jDKp
+Y�7m�T�nd���l8��Ys��	���3Z3f�˂p��fu�nd�{AK�l/�?S��C�‹Q�=�h�������(QW=-X�t�ot�z��沕�O�� �_61������������W4`D�Es	����>"�6c���<ӭ
++���|�3x}p�8��g�%ʁ�T��K�J�*= ��Ϸf��^�|�;�Q�p��$�z�i���SлI[�'�b��>��ij�b�3�rNj�>?��A5�Z�Q�A�ٵ$�Ϩ�k	�5��@6F�3%�)�8%
�1������sD��m8
E�o�bS�)�TO.Y�xc���)�~
�'�@W
�J��(�a�
+��ڎ����a%tzP"�L��5�&��
+7e��� r����
?q
.˺e�ϋ���C�5`<~�
\��5;)����ϩ�g+٨j~
\����q�_V<8���IN�?��]6�?V�h�q>�����s�6��/J��
+�\��c-
��%r����W�q���zln


n�zy��>�r��
���s�w%����'Nښ�
Z�͍�4[)vE#�ė� ��a���L���2���}��N/>��`�4�ggg���(�Ѻ�+�xs�Z�g;��.�k��0
&ZE,�O��'��ưF}x	
�0���� l��
+endstream
+endobj
+1352 0 obj <<
+/Type /Page
+/Contents 1353 0 R
+/Resources 1351 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1327 0 R
+/Annots [ 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 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 1350 0 R ]
+>> endobj
+1328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 588.892 172.361 599.796]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4dfc6347addaec85187c46bff12def97) >>
+>> endobj
+1329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 550.038 172.361 560.942]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ee14b86bac3475fb14914092715b5916) >>
+>> endobj
+1330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.298 550.038 306.125 560.942]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [327.82 550.038 405.07 560.942]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [431.198 550.038 513.996 560.942]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+1333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 488.269 172.361 499.173]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_64a91a5f142efd873b50d2cb7d27e660) >>
+>> endobj
+1334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.176 488.269 234.626 499.173]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 449.789 177.83 460.319]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_c2cab9caa4fff25fd03b1012a0c8cf5b) >>
+>> endobj
+1336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 410.934 191.678 421.465]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4cdcdb051551e8a23b6ff80a3294c5de) >>
+>> endobj
+1337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 307.88 264.491 318.784]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
+>> endobj
+1338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [292.672 294.256 345.558 304.161]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 271.019 242.354 281.923]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_49981873be6474f7f399f1f54bc8861d) >>
+>> endobj
+1340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 234.157 208.312 245.061]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.81 234.157 315.797 245.061]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_23fb2ed36793d2fa8974d9b6c3f93705) >>
+>> endobj
+1342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 197.295 229.362 208.199]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 197.295 275.021 208.199]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_1a896ee4273234f7c7181d76bdd9260f) >>
+>> endobj
+1344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 160.433 228.785 171.337]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.283 160.433 305.586 171.337]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_caffbc7bc53bf538c9d8a75cb4a7e872) >>
+>> endobj
+1346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 123.572 234.334 134.475]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+1347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.832 123.572 314.313 134.475]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e1db1d48c605e6f79aa78ea2a4a9cda7) >>
+>> endobj
+1348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 86.71 226.314 97.614]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_7fa63d4674ffff39446dd46ed0c26e6f) >>
+>> endobj
+1350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1354 0 obj <<
+/D [1352 0 R /XYZ 90 757.935 null]
+>> endobj
+556 0 obj <<
+/D [1352 0 R /XYZ 90 712.938 null]
+>> endobj
+162 0 obj <<
+/D [1352 0 R /XYZ 90 706.338 null]
+>> endobj
+1355 0 obj <<
+/D [1352 0 R /XYZ 90 607.866 null]
+>> endobj
+1356 0 obj <<
+/D [1352 0 R /XYZ 90 507.363 null]
+>> endobj
+1357 0 obj <<
+/D [1352 0 R /XYZ 90 468.508 null]
+>> endobj
+1358 0 obj <<
+/D [1352 0 R /XYZ 90 429.654 null]
+>> endobj
+1359 0 obj <<
+/D [1352 0 R /XYZ 90 348.772 null]
+>> endobj
+1360 0 obj <<
+/D [1352 0 R /XYZ 90 322.959 null]
+>> endobj
+1361 0 obj <<
+/D [1352 0 R /XYZ 90 288.119 null]
+>> endobj
+1362 0 obj <<
+/D [1352 0 R /XYZ 90 251.258 null]
+>> endobj
+1363 0 obj <<
+/D [1352 0 R /XYZ 90 214.396 null]
+>> endobj
+1364 0 obj <<
+/D [1352 0 R /XYZ 90 177.534 null]
+>> endobj
+1365 0 obj <<
+/D [1352 0 R /XYZ 90 140.672 null]
+>> endobj
+1366 0 obj <<
+/D [1352 0 R /XYZ 90 103.811 null]
+>> endobj
+1351 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1400 0 obj <<
+/Length 1804      
+/Filter /FlateDecode
+>>
+stream
+x��Y[s�8~���m�i�HBBз�L��%�l�ݗ��#'l1�;u�
] �`7N����0��9�;W	{W
�^���
�
+|/BQ@�b�E�A��"�>�	F�M��x�H�y/�|}-�*���J����o��jB�qy����r<>����I�YS	�|ʢ1�&_.ގ^^���p�=bv�	�{�������[#?
+�3k�1��3��G�����4�	� Y��d��(0�G8�V���^V�c3)�SM��g%�\�2��YQ˪Hr�VM|1�
�P���:+
�r����M"��@ �f��:SvV�Q
+�'Q3	-m����
Q�v	�0�L)�P�>
q�� ~'��W����}^WYq�fkH�+��G�Nϩ�ά����s
?2�u_P�F<�$X0�}(��up��sDC�tN��y^�\�u��s9/�u��庖�I�?���c�l��~������ �]h9v���"k<�rݛ�,RY���g�ܺ�����
�hE�,s	�`'(�
��k9�P<��t�9�&y�� ��x�TYRԍ�X�pX�d�3�T���w�^'
��1ψ���W�b�]��������AzZ�٬o?El��C���7�?v+��2Kw�7|�'Ï���ƃ���@ �
���!0����Jg�N2�mٸa���E�l�5_A�v q�q���
H@<�Ԁ��P $i�E2�q��e��Y�I��r~)�m�pi��c��3Maˆ�@0 I���fB!��7��,vx+PS[��gD��2O�#�
����+�e��|�r��ů��.c]H�W��c�p�Jx��2ց��sY����9�ԃ��j�\�}�V�����Tm�N���w9�D�e�_�pEocf�;�=`�>3����a�
I�jB��
V�g~%��A
�X��\]% ��vq�s��f`��f�:-�nd�27
��:�~�%���v3�>2���f�¨
�c|�Vu�|h�T�ų�{X�:���a�C��!A�
�X
d�b�-�7�3W-�����
+-~�}QI����
�6�;	V�e�)�0Ơ^�v@`� ���%c����-�l��0-u</!y�
ۇM�[Hhҏ鑆���w�n�7�B֞�4�>�\`[E
��Q'�|���n���̗����Fݫ�T�6��:DC�o�76��^w�~B�A.��Ͱ��0�|�#9�@��)���Au�N�[S0f��I�T=��9z�w�?)X���z�4�
�<�=aX�#
+2
�d�L�	�2��
)Mo�;6����ݧ
,��
�!^�P_<��0
 �ș^�
b�ɻ����X�� s���,\�"��=Hߴ����Hf¿���@���
"
�U�m��=� � ��
`��ta>��l�L���Hc�4D�x>
+��ֽʠ
#�'@����
���#n8�W�ꢻ#�P���W�"�0i�J��=!�9i�
���e^�wb����4���z�6
+#�z[
+��o"~{�"[ʱ5�#�`
��0�Xd����
+�VP,�>} 
v��g2QĽ���
�ޝ4���k�nn�2&��4çN�ϻgٙ��
�d�V���"�1�RWt�����ns�;j��e�½��
�X�V7�y�k" @���Cw-������M]qf��j����������}y�h�m�u���j�\9Ro���L���c�(Y�1�|��+��=�׸Z��T[�c��@�J|�9��jz٘���W���n�L j��u]/^
��ܠ�B�"[T(�����n�K�@���͚��yYIzC�8Α�5�в�^v�0]l�����D
+endstream
+endobj
+1399 0 obj <<
+/Type /Page
+/Contents 1400 0 R
+/Resources 1398 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1327 0 R
+/Annots [ 1349 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 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 1407 0 R 1390 0 R 1391 0 R 1392 0 R 1393 0 R 1397 0 R ]
+>> endobj
+1349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 697.2 212.486 708.104]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_5b935844aeba5303d77ca82130998245) >>
+>> endobj
+1369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 660.743 268.376 671.647]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_52edb70858467236238aaec3b1884d37) >>
+>> endobj
+1370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 624.66 201.946 635.19]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_2d9c6ed1390e4148c2fccb3491c7b4a7) >>
+>> endobj
+1371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 552.357 192.89 562.888]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_f27bf62f81d315063d66dc394ef9559c) >>
+>> endobj
+1372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 517.317 316.306 528.221]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4c0dddb2c112aeef626eef4d7e539d2d) >>
+>> endobj
+1373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 482.65 310.627 493.554]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_7c8c10d940074e8ec96a4d319b88e490) >>
+>> endobj
+1374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [314.443 482.65 371.219 493.554]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 448.356 232.192 458.887]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_f66f20c1209205a55c53e42c83761b82) >>
+>> endobj
+1376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.008 448.356 279.514 458.887]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 413.316 236.068 424.22]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_203692374bea9a641aba897049f2ae03) >>
+>> endobj
+1378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.883 413.316 317.71 424.22]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 378.649 263.893 389.553]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_cf903011430930b9c3afca546ecb07db) >>
+>> endobj
+1380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.709 378.649 344.958 389.553]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 343.982 267.071 354.886]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_d202d113166e7f68344ee82ba6e7b0fd) >>
+>> endobj
+1382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.886 343.982 353.685 354.886]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
+>> endobj
+1383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 272.053 239.036 282.583]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ab8f9339a589d7ecd8eba424cd8c8d3f) >>
+>> endobj
+1384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 237.386 239.325 247.916]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
+>> endobj
+1385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.823 237.386 262.697 247.916]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_31c3eb3b5ccbe373dc04fe4d86234b87) >>
+>> endobj
+1386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.663 202.346 288.644 213.249]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_81cb4962caaa75c19cdf6c8a5af4e46b) >>
+>> endobj
+1387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.021 202.346 335.844 213.249]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.306 202.346 457.323 213.249]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [484.029 202.346 513.996 213.249]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 190.764 146.454 201.294]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 144.764 193.358 155.668]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.856 144.764 252.296 155.668]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_fa2c94e0b2f7b773f7d2daf6d53f9874) >>
+>> endobj
+1392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 110.098 193.358 121.001]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.856 110.098 264.491 121.001]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_75aa539f287d460bc26a347512e51760) >>
+>> endobj
+1397 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1401 0 obj <<
+/D [1399 0 R /XYZ 90 757.935 null]
+>> endobj
+1402 0 obj <<
+/D [1399 0 R /XYZ 90 714.2 null]
+>> endobj
+1403 0 obj <<
+/D [1399 0 R /XYZ 90 677.743 null]
+>> endobj
+1404 0 obj <<
+/D [1399 0 R /XYZ 90 641.286 null]
+>> endobj
+1405 0 obj <<
+/D [1399 0 R /XYZ 90 360.982 null]
+>> endobj
+1398 0 obj <<
+/Font << /F63 247 0 R /F70 298 0 R /F65 249 0 R /F50 215 0 R /F84 1406 0 R /F36 1408 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1432 0 obj <<
+/Length 2376      
+/Filter /FlateDecode
+>>
+stream
+xڵYKs�8��W�CUE0 >@zO���d7[�Ļ�$��)HƆ">lg�4� ER��djN�F����
��ޣ�?.�__\��/%i�c�z��1#g�����3Jx�Z3J�_g�!��U��Vn�lS��&k�]]�����]�b�_��Z��/��mq�^�Y�e.�Y��ԏ������W�_/HC=fN�A�凋������7
%A�x����<����p���7��Ett#��a���q����yd�w�����Xf�Z�ȿ[�ȗ(�݊S�R[K��l�V��f����N
�bs��gE/��5�'jo���Qɝ���R�+YvK,����qI��f+K�M����kA��Z���8dޚq�Y��� �V��D#R�8���!Q�fŽ%$H��������)w4 �w�����:$b/"�
0@��X���� �F�`�����P�A�(�
�M�
"R�	*HBţW��Z:r�S���a[}�����l٠O�?;���*��ɢ�O�>	k1���[!I� [...]
+<
�>�.�N@
��V
dٞ�N�yWY;�u�˿OYj�����ɬU��jP� ³�]2s�Љ�9�P^���W�M��B8�_��P�e�K��U�n�F�v+��w�r h�\6|�eY�mcdih�sv1���KY�r_�
+�Fe���gv{��{�Q`l���p����F�pd���a��u�r�ߐD���1
+���)N�bL��Ȭh����vl~1��'9cחyw��ĥ���d����l^=ԍl[�F�� �����1�I�1+�Ì��
��aEkc�z��6�b��C�
X:���z���j:���c��H�7h�T�7�C��̾���_&Ž��(�g�(�?n�V[��(�p �f֞r[��)4 ��o5\
������Vv���
�a:�2�]������j'��R}�e
;�C�>�8�Egy�,�h�X����h>T�D(�z�.l�.���9�8��H��-��Mf�
��&
XG�`��Ua(C�	IQ��_nK�x8nD3A��.Ʌ�<��$v��p kq��ʌ'"�N����H�]�OY��X
�E���]��(p�f��@
����:�涳ċW��GS���4w
������l��]�P>~�}e��tݤS��6l�@z���B����v�
��B�?�<N@��7�
HXx�p�?���e wHm� �ꪵ���p��}k����p���ɫC�w��N�{ݟV͗%�ed��M�mUjUQ������XM���J>�^�W2�܏N��a�y+�Wk���Mz��GZU��Smk6㨢%���	��v��a� a
5
5^�����+�[G��|C~�5l _J�☜�I���Ւ�
˜��F����w
�q��m���\�?ְژ���*�1�1o��X�CW��G�3��������|���}���&�+�:,\Z?cѡ]w]���O�$��GU����Bۦs
+a@�A�V7�{Ul�I�
U3�a"M��n{$:�M6��n��P/p��|�U�K���_[
I;{kK������Uy

�tA�p@�%0��x2m���yȭ���-��#g’�
N ��|��!YQ\�87��W?Ԟ�&�#+W�W��$�=�M(I��<��6�����3�
0C�,(V�����瞓8%a8�_��f���e^T�r�6�c���k�)$x at R���2�B�Ls�
ri�L��5f^W����ꪐ徻�Ȧ���T("�E|Ta3�
�=��1;	:'��e��ȥܶg���  ���Co��6�euP<y`�?<s�|��#��O�P'O�O���ݠ��բ�D���h�6*�sY`e�J�
+��M��6�ܰː��l/��a��8���Z����"�:�۬��%�-���@	d']
�4A�t�'j��F�D�
��R������������-�KU7Du�u]\���ȅ���!���j0ӯ�D��赀=��JU�!;�G`�? �܀|
+endstream
+endobj
+1431 0 obj <<
+/Type /Page
+/Contents 1432 0 R
+/Resources 1430 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1327 0 R
+/Annots [ 1394 0 R 1395 0 R 1396 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 ]
+>> endobj
+1394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 719.912 230.289 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_053b3ad9ab9c0920ee835d51589cb703) >>
+>> endobj
+1395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.105 719.912 280.122 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.315 719.912 349.332 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 653.116 256.859 664.02]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
+>> endobj
+1421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.357 653.116 349.541 664.02]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_54d7ba808dcfc372e231fe597f5daf1f) >>
+>> endobj
+1422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [353.356 653.116 459.786 664.02]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
+>> endobj
+1423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 619.196 262.618 630.1]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_caf3268d04168d4d22ebe73d9578d7d5) >>
+>> endobj
+1424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.433 619.196 371.757 630.1]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
+>> endobj
+1425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.411 422.06 342.66 432.964]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [264.006 333.133 322.456 344.037]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.912 303.553 329.362 314.457]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
+>> endobj
+1428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 94.73 406.173 125.575]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
+>> endobj
+1429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1433 0 obj <<
+/D [1431 0 R /XYZ 90 757.935 null]
+>> endobj
+1434 0 obj <<
+/D [1431 0 R /XYZ 90 667.459 null]
+>> endobj
+1435 0 obj <<
+/D [1431 0 R /XYZ 90 635.562 null]
+>> endobj
+1436 0 obj <<
+/D [1431 0 R /XYZ 90 586.737 null]
+>> endobj
+1437 0 obj <<
+/D [1431 0 R /XYZ 90 266.731 null]
+>> endobj
+1367 0 obj <<
+/D [1431 0 R /XYZ 90 244.419 null]
+>> endobj
+1438 0 obj <<
+/D [1431 0 R /XYZ 90 244.419 null]
+>> endobj
+1368 0 obj <<
+/D [1431 0 R /XYZ 90 89.441 null]
+>> endobj
+1430 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F36 1408 0 R /F81 703 0 R /F8 300 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1445 0 obj <<
+/Length 1938      
+/Filter /FlateDecode
+>>
+stream
+x��X]s�6}���[��
+@� �O��d�i3Mc�/iFC���]�TA*���{�E%;�vfg<I���8���h��?W��]]�N�H ��4��FG<%�Q�ч��&��/����CS==�B�몼W�z��y����;�$٢���~��
/�U�mk/�˭4ò�HX,��X0��x�������W��1�3�x̢����G
��M�Q,�����G	�᷊n�~��=�1�)y�(�_�͜{D,~�
/ɢj����uFF��D µ�f���I���!�����r��5u۩�����S�����8NPʓhE�9�ig��b��,k��������-�zf�^n��;��l��?
�r_��w���mSȹ��̿����S�H��$�8q����2�[�+p��8j4!(�D���&���eUh�R��k�
	���|���C��x񩄄����k4�Kȯ��(��	�Rr���4�-��[ո-����G�5�}j|=:�
1GI�c��"���fH���Zn�r	����-��t{�7ݼ��H�,�BD���:k+����’D3�}2B�x/��8MO�n#�
��T1Б@� �)C�,�-	^�*��N��&xX' 4��\Œ�
�r�!Qw&����&�������ɦk���@�K تiK�I!.8\i�������,D����m�
&1�9q8@�v��
��
cZ۪Ga+��wJ�� h�mv�Mv(=k3�#���<W#�*W#�Xa�
[�q|+
"N͘��ˀO0f����<�5^�u
D1�z�77��w��Z*ؼ�
g��tpF5:��΃r;�ބ֞���D�_���C��xo3�"�Q6��}�ym*k�ף���
��
D�Q��
+@Ր�1L �z�@��UY�s�;�ݥ]��
+:�

O�kJG_��M��zsc
���:"��M�T�q�@����unLs��^����h��
����5�t(�
з����M�B�4'P�gՓ��)���E�3h�Y|�P�bGhF�h�<I�����T��P}+��ޚ׾��7���we�j��LD�"n�f���I��	D�t]��xS��
1�� 8T[�e+�v&�4-
?כR�
��k�����i@��5D@~
J?�J<�x�B�%H����&\;��z
)�^o��7�q��3.������VJ
b�0��L�	&|�is��T�E1��v
�m�����k1 ��		"�E�V�GP����Pӧ���	�gQ�B,b��
��2 ��O�����w9���RQU�����v�z�{;�Bd����R̒P��/w��1����8P���i�|�Ȟq��$�C
S���tK��ާ��y�)x�\F��8A ,��AS=C��� 
�7��u3-��"@R����Fr�R!�PS�\�~��Jt�g��`�H�Om
����36�.f�wV?�N=�UeG�}�=4��<>��!?P�
d�٧e]�Й�v����� ����,A�l9�c��s�Z�e]�k�^!�b�_�Yiы�E at E:��P��Qt�Ԛ�I�=�$�,����RPp��a�v}+���AH�h����\�}�����皇>����q�����?9��G
�� 6S2d�ֻ39�c$��'05�P��s�G��
��Ю.�+dh�t���^��43>�h6�f3�f/ݓ>�v����Т.E�gȢ1	�E릳�n�
�i�0`������Ґ,u�"�O�y�V(R��j���Sh� l^�I�|J��R$x��O�L ƒI{������z���?Z��7o,��Br�y�;�;��� a�5B�#��V�o�������u/�5]؞�'2�;(Ib]�xֻ�������"��mW��t*�2{�������#ڴ�X�����p��O�;��) [...]
+endstream
+endobj
+1444 0 obj <<
+/Type /Page
+/Contents 1445 0 R
+/Resources 1443 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1327 0 R
+/Annots [ 1440 0 R 1441 0 R 1442 0 R ]
+>> endobj
+1440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.651 541.376 406.173 572.22]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
+>> endobj
+1441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.639 261.173 300.161 271.455]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
+>> endobj
+1442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1446 0 obj <<
+/D [1444 0 R /XYZ 90 757.935 null]
+>> endobj
+1447 0 obj <<
+/D [1444 0 R /XYZ 90 733.028 null]
+>> endobj
+1448 0 obj <<
+/D [1444 0 R /XYZ 90 499.782 null]
+>> endobj
+1409 0 obj <<
+/D [1444 0 R /XYZ 90 477.47 null]
+>> endobj
+1449 0 obj <<
+/D [1444 0 R /XYZ 90 477.47 null]
+>> endobj
+1410 0 obj <<
+/D [1444 0 R /XYZ 227.842 424.716 null]
+>> endobj
+1450 0 obj <<
+/D [1444 0 R /XYZ 90 407.989 null]
+>> endobj
+1411 0 obj <<
+/D [1444 0 R /XYZ 184.963 224.162 null]
+>> endobj
+1451 0 obj <<
+/D [1444 0 R /XYZ 90 207.434 null]
+>> endobj
+1412 0 obj <<
+/D [1444 0 R /XYZ 90 94.711 null]
+>> endobj
+1443 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F65 249 0 R /F50 215 0 R /F8 300 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1455 0 obj <<
+/Length 1686      
+/Filter /FlateDecode
+>>
+stream
+xڵX�r�6}�W��L  zK=I&i:Ic�)�h`	��H��K
�뻸P�����}�H\��s� ��#
���v99{%�H!%��.7��Q"�D���Ӕ`D�lN0�ӽ.vz�Ϸw7f]��6�*tq�X�����C1#r�_m�n6�
OϷ�,��G�1��V�Ŕ�)��ϗo'//'_'��q��%1�V�ɧ�8Z����X�����E���.&N��Hh���HP��h2]�3������<]���ƻX��z�ʳ�*t�U��1����z�J�����k���ο��ҋ�!�� ���qgΜa+��$A�2?��z
���o��mlw�.�4�}� ��0���zkKĄl&T�7Z�4� d�pB.�M���	a���`ʛ|�}e�U
+^.z�6z����
���Z/i6c�]�M�K]\�;�#��ť8R�����g�Oo��<�b�n�?�qځP����
+�vX--�Q���
+
g�k
1Tw�>/���L7�
+��{�
+�S��EX \ ��@�q
|-��6��uat�
i�� �a{�Y$�	C���ˍwe�pV�^h�s'�'P�"�e�����J:�J�4�Ko�O������x^ܕ��)TX˭r$L��R�� J�O����^dv �2���er�r�
�0c��I <UH��D= jL(aN쿏��io+�e�
+���?�)>,
�+�[z�@HX�.,��:�U
+��*E�S'v�g���ET�`@�4�s��&�ZP�V>�G�cHI�)9�$�Y���$I_I�%��Q�8�?�$�����?f�5��ԙ�:��V[�Au1�+/��}CU:0��
S(��
V
��P�
l/��kڋF�L#�$7A/�٪
�>�&ߠ#$ �Ƅ��ς������س)���C>�F9�*p٥
+L�Qc�����bDZq�+��-��Q���2��Яy�
*��
��C���BR�'3WA'O�8q�-�U�oM#Q��mZ.K�V�Q
Cm��7�Ϙ���Ҩgk(
}L
!JI��B�H����>>��.,���d �D���RQ�1�b��R����W�5�K�y��lN�<��c���֎<Q;��X^T���-�2�v�>��ރ~��M���
+CS%
�۾���
`�*@Ӈ��JV_�9i�NW kvퟹ 샼�V���Q۞�A������F�#]A;����ů�6F�)��+
u6�m^�u�6M���%�o��6%��I?{�#�C���n�(cS����d�h�;�a���&3�� ����'�����$�o푶
�P�0
���yn6�r�Ԍ~��
D��e�n�
�H�O��6٘]�G�
js�`H�	�w�r}�ȶ
��b�������3 �-�珛)��QC0�RI,��J���
)����F��^�#�	"����
ڍ����>���$J�D
�
���@�hαXt:|h~�0e����;�:�~��
�4�w��N�i��
h)ƈcq��͜`G6��wLa㕏����]d�W�s�t�A�?� �t��F?��;/"�歞Q
�
�uv]��`�M-���Js>��4�/3��)l-:�sd�Qy���ų�%"��+�<{�p<"_���w�/t�6�@�Cn�j�8;���E��Y�/PZ���۳�;S���-� [...]
+endstream
+endobj
+1454 0 obj <<
+/Type /Page
+/Contents 1455 0 R
+/Resources 1453 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1327 0 R
+/Annots [ 1452 0 R ]
+>> endobj
+1452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1456 0 obj <<
+/D [1454 0 R /XYZ 90 757.935 null]
+>> endobj
+1457 0 obj <<
+/D [1454 0 R /XYZ 90 733.028 null]
+>> endobj
+1413 0 obj <<
+/D [1454 0 R /XYZ 90 635.762 null]
+>> endobj
+1458 0 obj <<
+/D [1454 0 R /XYZ 90 621.192 null]
+>> endobj
+1414 0 obj <<
+/D [1454 0 R /XYZ 90 506.466 null]
+>> endobj
+1459 0 obj <<
+/D [1454 0 R /XYZ 90 491.895 null]
+>> endobj
+1415 0 obj <<
+/D [1454 0 R /XYZ 90 379.172 null]
+>> endobj
+1460 0 obj <<
+/D [1454 0 R /XYZ 90 364.602 null]
+>> endobj
+1416 0 obj <<
+/D [1454 0 R /XYZ 90 273.686 null]
+>> endobj
+1461 0 obj <<
+/D [1454 0 R /XYZ 90 259.116 null]
+>> endobj
+1417 0 obj <<
+/D [1454 0 R /XYZ 90 158.248 null]
+>> endobj
+1462 0 obj <<
+/D [1454 0 R /XYZ 90 143.678 null]
+>> endobj
+1453 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F23 216 0 R /F10 964 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1467 0 obj <<
+/Length 1638      
+/Filter /FlateDecode
+>>
+stream
+x��XY��F~���rU<�C��X
+�
l��r���������s�l�ņJ��Jst���=����������ϜE>����a'�	�8[�K0�|� c��<^���Ale��ҍ������_s�]!?b�J5<�_H9'�[���/�8�iY��c�yW��;�g�"�E����l����������C�M<@�N��>|����v0bQ�����(�ߙ�~��
[��U?�a�9��=��2=�q.j!��6d���.$�mH�
9
��95ۈ����i��Ң
쳼㸷>�	��z��Ad�:=lp;��`�u3��|I��)w!ܵ�w�"� ?�YfF�^��6Tl��ā�
k�p���XZ��[nQ�BҺ��h����خ�,�8-F��B�u)�����
/��扸픵p��V��"0��w9G�yZ<�[V/X�|H���F��m>���s�EUoW+p�C�,ݮc�����v���ڲT.�"Q�;���
C
�K�CZ�ICn�(
�Iq��؈�ya3g*!Ƕn���Ja�ܦ�d�-�")�#l��� [...]
+��Kk}p���YKX� �rZ���qOD�=o��	"h�a�C�)��"��=�4U�h�����u�
q�"�yu��7  �W���+�ݺ'm1��C&<� g�|j)�N�'YT��
/s׀L�N�/�m�U��b �:9�F@��v�O��&ލXU���v��@�AD y�?m�n�
h-�4�\��P��h2Q{��L��Zȥ���6&a� eäIF� ��IH�
� k��ݥ�w���7���4
*
�?�bJU��
�
+g�o��m)��
+xm66l��!�S�5I�D��ݎ湎��< n��CjЇ�&
``�@-h�@yR�� � �)
+�S�)OŶ)�
�2,��Nl�x����R���2U'��c3&��z�j?�v*e��b��MR��g<(2~[�m�8rxҨ#��Σ�f[��~�y�=�vr��@�=�� �)�P�ا6����E]M%3\"�K�
���Ln�+��	.��ܧ5�*U�-;>�)
�dX���у�}p�"���(r��
߼]���h.X�B58�@S ^�QH��+u�g�c|�´E�*�Sw��h�m�����ߐB
+�SYI9�O�
�O+���R8�]<H��IZQL�%�V����\«��7�Kx��%�\��μ6�uF.ՂV.���\2�8�Ô�\v�
���V�-}i��f��3���Y�^5��sv��G�ܕYf�i�ѽ��K�I�
+2��
*�|8�Âc�m�"n�QQ7�V�
b���n� ��G��l�Ti�q��x�,p�U�RΰΚ����ʫj�*�)�G���&K۫�|#l���W���
�	
��7
#�roU�]���+�B���k�r�j*ӄ�	�X��
+��"�SI�!?�:YT�<%�;&��hr����3�"
5�_~e�E��� l�#�/2�^��g�lh�������Or�:.��xo�zU�B�tb&���朻�Wo���4�
+\���0\���Q
+��h�P�� �ӌ~�i���� ���C]W���|FI�NEz�(���c��$[�dB�浕���ªY@W�Jݔ�ٴ�����al!�� 8�
+endstream
+endobj
+1466 0 obj <<
+/Type /Page
+/Contents 1467 0 R
+/Resources 1465 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1474 0 R
+/Annots [ 1463 0 R 1464 0 R ]
+>> endobj
+1463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 111.925 224.515 122.829]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception_6c67cb8304bf0e784ad1aa328e82e20e) >>
+>> endobj
+1464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1468 0 obj <<
+/D [1466 0 R /XYZ 90 757.935 null]
+>> endobj
+1418 0 obj <<
+/D [1466 0 R /XYZ 90 612.307 null]
+>> endobj
+1469 0 obj <<
+/D [1466 0 R /XYZ 90 597.977 null]
+>> endobj
+1419 0 obj <<
+/D [1466 0 R /XYZ 90 509.827 null]
+>> endobj
+1470 0 obj <<
+/D [1466 0 R /XYZ 90 495.497 null]
+>> endobj
+1439 0 obj <<
+/D [1466 0 R /XYZ 90 397.449 null]
+>> endobj
+1471 0 obj <<
+/D [1466 0 R /XYZ 90 383.119 null]
+>> endobj
+557 0 obj <<
+/D [1466 0 R /XYZ 90 218.667 null]
+>> endobj
+166 0 obj <<
+/D [1466 0 R /XYZ 90 211.24 null]
+>> endobj
+1472 0 obj <<
+/D [1466 0 R /XYZ 90 130.632 null]
+>> endobj
+1473 0 obj <<
+/D [1466 0 R /XYZ 90 130.632 null]
+>> endobj
+1465 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F23 216 0 R /F10 964 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1485 0 obj <<
+/Length 1207      
+/Filter /FlateDecode
+>>
+stream
+x��W[o�6~����d`�yu	�]�
KZ�K����!˴�T�<J����
��,;��
m����D
�����
bg�`���/����gN�"���x�D�	|�8%�x�ܺ#��c�c��'�"�_���'Y:���?;�	v�T�?�/��t�?D

�Z��'-�cR���Տ���}@��#�J�����Y\�Z۵�
�'�+�D at 4���=��w>���#�;�	�(`�IV�ۏؙ�����Bg�H�
�2xf�M�
>	%e�|
%GĀ�FTq���v�(�����uX
w4ag@=ļH+:���F�D7��~�
+�,����՟�0fE�rw�焔�,���� � Y�w���Njq�
�%q�_�F��By|m���WK#`D,��.ׂ��9�G��J��Y[GҼj|Y��i/
+1WᨅI*������|цFP�
�Ӣ�g�2�[��[ 
�ER�@w�lH34/�y�ܓm�m�`>"2����,Vv��ʲLo��R�d�II�Spz���f���i'?P�w�n
��>9W{=i��i��dܞ

Uy6����0�� ��QJ1E���
Б!�
�=u>
+��!	
�v�
�3b�D��q{��U|�x��S�բ�
���f���#�g6"B#
`.�Dn�@�
��,M�wb5��E�'�Hv3`/�6k(�䑬�2����°�u3�S��HeY�/��1����֥ ;!��{��}�B�y(�Li�U--��G��މ�:
+(:h�kh8��i$�?�č š�W�����;�5`
T#�w��רF��x�S��&�yYd���7�r&���[���J�w�(�T%Q�p�>�hؤP�<�j�ɑ2�
+�m���}81;�&�dO
��d�	�������)�6�r�6א��{�;
"3�M�Z�.����M��K�|2
�Q�g�㠈 �?��e��
^��1h�NS�i8��U|WȯB�2�5y��9�z�Ey�Fn4zk��
��A��B�G/�h��(����Q��yZ���2��>
�}�X��1�B#�dl���~���7���
a�(
+���7���5X�3(4��V��Sn.��NO����F�op��p%f��R�T�4;�.��8�aw�уAy$k)S������!
8�O�}�R�
��I��ȷ7�eU�φ��f���y��(���u6|X)�Z��@�U�6%�B6�@�
�A�8`��T�
WM3�����*��
+endstream
+endobj
+1484 0 obj <<
+/Type /Page
+/Contents 1485 0 R
+/Resources 1483 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1474 0 R
+/Annots [ 1475 0 R 1476 0 R 1477 0 R 1478 0 R 1479 0 R 1480 0 R 1482 0 R ]
+>> endobj
+1475 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 510.407 156.032 521.311]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_5c1e588b7f6a9f94b053a5cec723dfe6) >>
+>> endobj
+1476 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [123.594 471.858 167.091 482.762]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_637f0b668a07b52f0fc9454c13f4d16e) >>
+>> endobj
+1477 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 195.041 247.464 205.945]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_51207bdf0804635cce036bd6b6459abf) >>
+>> endobj
+1478 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 159.164 248.022 169.694]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_952c4e092ec518368be278c13c689acd) >>
+>> endobj
+1479 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 122.913 256.072 133.443]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_9f9880633bb81d02f27e6fb22dc83bdc) >>
+>> endobj
+1480 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.068 86.662 240.819 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_0f295b8b6083b12c373b48417ae8a466) >>
+>> endobj
+1482 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1486 0 obj <<
+/D [1484 0 R /XYZ 90 757.935 null]
+>> endobj
+1487 0 obj <<
+/D [1484 0 R /XYZ 90 733.028 null]
+>> endobj
+558 0 obj <<
+/D [1484 0 R /XYZ 90 617.013 null]
+>> endobj
+170 0 obj <<
+/D [1484 0 R /XYZ 90 609.939 null]
+>> endobj
+1488 0 obj <<
+/D [1484 0 R /XYZ 90 529.228 null]
+>> endobj
+1489 0 obj <<
+/D [1484 0 R /XYZ 90 529.228 null]
+>> endobj
+1490 0 obj <<
+/D [1484 0 R /XYZ 90 490.799 null]
+>> endobj
+1491 0 obj <<
+/D [1484 0 R /XYZ 90 434.828 null]
+>> endobj
+559 0 obj <<
+/D [1484 0 R /XYZ 90 323.106 null]
+>> endobj
+174 0 obj <<
+/D [1484 0 R /XYZ 90 316.033 null]
+>> endobj
+1492 0 obj <<
+/D [1484 0 R /XYZ 90 235.322 null]
+>> endobj
+1493 0 obj <<
+/D [1484 0 R /XYZ 90 209.967 null]
+>> endobj
+1494 0 obj <<
+/D [1484 0 R /XYZ 90 175.738 null]
+>> endobj
+1495 0 obj <<
+/D [1484 0 R /XYZ 90 139.487 null]
+>> endobj
+1496 0 obj <<
+/D [1484 0 R /XYZ 90 103.236 null]
+>> endobj
+1483 0 obj <<
+/Font << /F63 247 0 R /F11 291 0 R /F50 215 0 R /F21 828 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1505 0 obj <<
+/Length 1630      
+/Filter /FlateDecode
+>>
+stream
+x��X[s�F~ׯ�hֻ���[�ԝ�Ɍ�(ONF�B+���X������ ]�q���A�a�߹|�
��;{�N~�O.����P���7_{�҄ o��n}�Q�N�1��Ln�b+ʧ{��lQK�������`�L^OC�w
>�� ��[����
_s9%3�W9�i��O��������	p�#
MQQ/�Ln�bo��=��l��̪��<K���	v���F�{3P4���$�@L��Zmo�jd�P�{n�%W�JU�Yr#��h���+<j�_�BF�S�.�(��>C���<3[H_�n
+ΨSE�`�8
��8%�wh>)YTwn�6��sV�1g�f��@�W��/�b���:���B'���5�k
�ȹ�+���l�%�*��RF�4|)#:l�����)!��3���gLP�F3k%�T�
Ƒ`�=؊�Rv�P^4ժ[�+>�4r$�SL���8�17>��T��;��j!
��Zȅ6�K���U0�4"�u���?[ANc���
�v�R-�j735�o
��� њ�\s�=KV����w�}w�Ң�t�|v`'䃕r!�)�:�
��ʬZr�>�U�4��&g�3gK^+!�b
?�^������[b�
��Q��*
�v���Cxs�U�
+V3���5
+��`�yj�cG�и�
 ⺁wP�R��>�
�sYl�+%#�B��1�b%o\��w�(K�N�Z%�{��S릲a��E�pQ"��>��!�����ʝ�Ћ���J���;�S��?�f6����X;C������ۦ�K��͉����Pi��N�[
��q?�%a�µ��zw��27�𴚄$�Rh>+^�٢�P޴q
l)eE{'l�w�H�ky�G�v
���yU��D�,�K
%��>��N�'$�ԓ��A~�E/�����)ٳ��$����^i!�m�@
i��w����_jw7E���6�	���v�\�����VH�?讶3�rv��nW)ă�t�0S�F��d�'xǐ	�lGl I8;�
��E�c������98�~s�Xk���}��G��fC���$O�V(t6��H麆�
L�"���]��T��dۦ�~���^��o�Մ��ߖ�R����mav3�s˥�
 ��(��%ge�䆔�1(C�*6��A��oa���i�
��e�����6Q���s�

+��(�W���U��}����p���h�������չB�����=_����b�ek�
c�C�$=�
��g�3È&��Pǭ�a�
tC� ���9�и.�Y+����ődm��p/h�͠��ڮ�Q܄	�W<�um��������3�

�7r2l��� 7u�{_�`���;����:�2��� ���
��6�%a5� G�4oݸto�I��u
��m��Cg�T
l-�f&khN�����7,���$Aq�!��f���pm���
|.�i�O�	��oe���d	�d�����w0�f����~4C����t�-J�:������N��aw��*����<wC�k.�m�s�GV5��'���)3��P9�D:�]�}���Z��k��'&W��
S�S�%m��Wj{yq���P^��*��b�-/�G�O!$Fi�
�E�F�N��N�(&�������V}_�ͤ

+endstream
+endobj
+1504 0 obj <<
+/Type /Page
+/Contents 1505 0 R
+/Resources 1503 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1474 0 R
+/Annots [ 1481 0 R 1497 0 R 1498 0 R 1499 0 R 1500 0 R 1514 0 R 1501 0 R 1502 0 R ]
+>> endobj
+1481 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.906 696.998 233.078 707.902]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_8219b76f7582cc02ef563bf70b045ae6) >>
+>> endobj
+1497 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.906 660.136 231.006 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_4254863fcee52d3a2ee594e14999fc21) >>
+>> endobj
+1498 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 586.721 287.823 597.625]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_3d5082778a4123e14fc66912860bb420) >>
+>> endobj
+1499 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [195.062 540.893 304.969 551.797]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
+>> endobj
+1500 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.893 253.382 513.996 264.286]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
+>> endobj
+1514 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [89.004 241.427 155.753 252.331]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
+>> endobj
+1501 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [325.473 162.029 424.869 172.933]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_3d5082778a4123e14fc66912860bb420) >>
+>> endobj
+1502 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1506 0 obj <<
+/D [1504 0 R /XYZ 90 757.935 null]
+>> endobj
+1507 0 obj <<
+/D [1504 0 R /XYZ 90 714.099 null]
+>> endobj
+1508 0 obj <<
+/D [1504 0 R /XYZ 90 505.566 null]
+>> endobj
+1509 0 obj <<
+/D [1504 0 R /XYZ 90 446.865 null]
+>> endobj
+1510 0 obj <<
+/D [1504 0 R /XYZ 90 424.553 null]
+>> endobj
+1511 0 obj <<
+/D [1504 0 R /XYZ 90 424.553 null]
+>> endobj
+1512 0 obj <<
+/D [1504 0 R /XYZ 90 335.934 null]
+>> endobj
+1513 0 obj <<
+/D [1504 0 R /XYZ 90 321.364 null]
+>> endobj
+1515 0 obj <<
+/D [1504 0 R /XYZ 267.991 244.58 null]
+>> endobj
+1516 0 obj <<
+/D [1504 0 R /XYZ 90 227.853 null]
+>> endobj
+560 0 obj <<
+/D [1504 0 R /XYZ 90 99.881 null]
+>> endobj
+1503 0 obj <<
+/Font << /F63 247 0 R /F70 298 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1524 0 obj <<
+/Length 1663      
+/Filter /FlateDecode
+>>
+stream
+x��Xmo�6��_�o���&%R/A1`EסY:d��)-
Ŧ�z�$�����Me9M��ڈ"���û�;;�^-g�7a�$(	��Yn�;QH��87.�ȏ�
��u�骮��=�4�*�n��9\\\�	vӦ��|�fW���*�ϰ���x�M�\���[��I��RLLC�p�iy9�}9�wF at -���P0g]�n>ag�FA;{��p��3w>����I���1��������,�0<@;�OQ@u�o�Z�V/[K�y�u�&+x��;�r��y��i���i��HB�i׻�<[�����4�ccQ+�7؍4'!�A
��(4�}�}f}��x
p̫�Nϋ�k��E��;đE�u���u���4+�BĖ��a�O���rvbP.�B9��
�P�Pm�{���I
+��5xppV�
+���;n6���r����}�k�ng;Z��I4i��=c
8iB��@�VU���[X��9���M)7z���+��G%n �� �R�儏���fÕv��0N����뷤|~�#x$�ٮ�w�6�
.
�a��a��Px����#�̴3��A��
�c
"��}�~��9f(�S6�4CA��
�
jO��,M
���@Ӆ$����'�x��ާ�uw�!lq�x���c����	���!S���{���l~�w�
 ˍ
��0L�t?�焹H�q��,32�}z��
8�G���ofO��GIj��䉈N��y�f9�6����ji�O�B>ѫ}
{X@ݪو�'�"�ų��:�
�
s﫹�ܽY�G�aT���]�Q�[�x��f��xw_mZ%�L
X7
v�" N�id����+O��uO�1j�@�StY���g�#�۵&�3$|E�s�ٙ��s2Y�(2�h�������!�U
�x�0ba�
xbQ�Iw��"@H�t鯩PM�B%a0�7UN"Wשݚ��N��
g��Xb!�����(v;�vzRG�'�
+ۗ���]\��B�hK���
���3l��*?Qr�tSe�`�� ��ܰpE����zN�a��
aұ1�=-�c��P���j⋋	�Vr��8�7�J:��ic�c�
�T�hLOY��
r��}���{	�c��x�q�44ť�_
k���gy�fO�c3bm����ܶj�2&+5C�Z��v��9qm���$r߁�J�����(�,EB�CB���[��P�4j�o����
M�P �ķ]��wRV%?S��ǔ��
x�0�nB߼��&��>��h�1{n0��_~�����xX�T8dTQZ*���dBp
�}���ZE~�c��r��(a�gľ�s-��@�e�,�[�i;¾2>���D4�y�j &{���bD��|!��sM������	tBwC���	����/��H
 �HECx�F'[��,;���3�ِkO�6bCz>��zB�&�E/`1
+�%GLm�Y+S+���rLӍ|��w��M�˶MU���Vy����t����c+ǀ1��ܵ�ӒG��
+G���{!�~'O�uO��XC��~�G=ȁ���QkU����z�R�^.���崼�����S���:��9c�F�]Z�׉X���ء �¿��$P��
@��58
+�/��9�nw��J
������b����hݢ]��
ʺE]�ӊ�(�@�
U�һX!�r�8B� F�
1�.l,��߳�.�x���
+endstream
+endobj
+1523 0 obj <<
+/Type /Page
+/Contents 1524 0 R
+/Resources 1522 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1474 0 R
+/Annots [ 1517 0 R 1518 0 R 1519 0 R 1521 0 R ]
+>> endobj
+1517 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.114 640.704 210.268 651.607]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_c89f45a1ba3b8814dbd6be95e571cdfa) >>
+>> endobj
+1518 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.942 601.849 170.966 612.753]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_e268ac659921ee5731b202d530b9d35d) >>
+>> endobj
+1519 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.942 521.087 237.376 531.991]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_b3b4fbf99544ba087c9b1bb423043849) >>
+>> endobj
+1521 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1525 0 obj <<
+/D [1523 0 R /XYZ 90 757.935 null]
+>> endobj
+178 0 obj <<
+/D [1523 0 R /XYZ 90 733.028 null]
+>> endobj
+1526 0 obj <<
+/D [1523 0 R /XYZ 90 659.677 null]
+>> endobj
+1527 0 obj <<
+/D [1523 0 R /XYZ 90 659.677 null]
+>> endobj
+1528 0 obj <<
+/D [1523 0 R /XYZ 90 538.158 null]
+>> endobj
+1529 0 obj <<
+/D [1523 0 R /XYZ 90 483.767 null]
+>> endobj
+1530 0 obj <<
+/D [1523 0 R /XYZ 90 340.453 null]
+>> endobj
+1531 0 obj <<
+/D [1523 0 R /XYZ 90 317.518 null]
+>> endobj
+1532 0 obj <<
+/D [1523 0 R /XYZ 90 317.518 null]
+>> endobj
+1533 0 obj <<
+/D [1523 0 R /XYZ 312.673 240.854 null]
+>> endobj
+1534 0 obj <<
+/D [1523 0 R /XYZ 90 226.184 null]
+>> endobj
+561 0 obj <<
+/D [1523 0 R /XYZ 90 108.11 null]
+>> endobj
+1522 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F11 291 0 R /F65 249 0 R /F81 703 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1557 0 obj <<
+/Length 1940      
+/Filter /FlateDecode
+>>
+stream
+x��Y�w�6���m��"� 	~dOi�t����xOI�
DB2[�dIʊ����E��m���=�p0����9+�s~�|w5�x�NB������I<'
+)�:W��٥
a�tF=�skѬż��ݵ�1/�E#��˗�S�U^v���8�R���FM�6S�ٔ�nUNg�{��B�->~�K���2��Y�����������W�?&��
����|���篞���{�#~;[M�v���|��:��J)I8gv��'^ȟy�A�ͪGܬ�3�AǏI�gF}���� //�ro�<3K��	ҾB�Քq#�TK�@�\�2*��������_AAH�D]����7�v-�Rz `DBft����M��
����/�
��
�<}F<?@���E����'�^�����M�vyU�!{ai at h�N	b��W~��*=䡇K����?iR$ɪ��8�
�/� %~l��1~�X�*E�+n���W�A!��&��R}��rW��m&����q~tTao#ωA�0Pr��€j��ĸ��f�~jЖO}w�õnw-q��l�_�4�M�fy��R��6/���ޚ4����պ�E��`�q�X"Q��,�eU���[��,�Z�_��%n[YyE��ԇ��@e&�N
��Mx� D窫�
+L��C!_�Zt 	��Q%��j��]�10)�ru"m��?�D�ZZʏ��4���C�����h�G����$
+
��EUR������A]�� ��<���Ȥi�)�(G��{�w~_Xݝ�lh��>�{��a�S�F���O �["
eQ�pY�ŮG��%�ײ�>�
,�R���td��{c\kd�($	��F��g��G
T�3:a��@
B�(���s@,71�Դ�MԪFVL(T�υ�  <<i'�u?,��:وj���G.����y>��S�
+6�C�iԂjq�����
Er�C���&
8��eOc�OOs[�����*� ,RF���PuJ�!ç	�;��k�!���
�h���>�����G�	��

+�����Ú�es���g��rO�0�ʲ�D�f	���Q�A؂�ލ�|d����[�xF�δ1
Te�?���:��|n1̕�>{�'����s�^��n���Nң{E�D��z`��l
�f�Y4��U�Ł��7k�x�u����x7�
�x��q�`���(�m���jg9(���}̌�k��e�xB7�X,G�!X�����}F0��_<�5m�┐ёE�/&A�!��#j���T at r{�+ٓ�c���N���?$��d�� ��X,�:����
�;�ZBh�K4Z�F{�W��7(�H�oi�ɤ�V�=d��x-�f���9N�
4~��\�[��z>�Z����Cf�l�ba�J7���7���T���{��-ֹ���
�ԘY��U��z�x<
��Uk>�@Xk��g�j�+A�y{��k���G$`t)��IW��ұ���2Q\5��bS�UI��ap�
� 
t7
(�{�����7�ya��٦M^���� �y`���q,
�U3��
�MU�S�
Co:Qv���f��
�v�w

5'Z�oHD+�����r�
��iw3l[�V��],cd��~W{��V� �!�Z=� ��?�lf�k�j
�߽AC�UډUU"Z��^�Z��xQ����U�g-�&-�	�7a)��ˇ6ٖU��md��V���1�B��^u�T�E%��Z�0�>3VQL
RpZi-���[զ^�I Խ�[oLg����&ik�J�
+T04[h�v�oØx��xy�/
��d����;C�;�G?�!��Y�v���~��0
���*��ע\m�ʰzWB9�TO�6�߭l�1U�1�c������vn�V=Q����oA�>I�GP#�;��lj����‡�I�꯻�~yq��nI��wuC����wb�\(T$Q_)/m/��y�B/���1�Oy	�kэ��7�

+endstream
+endobj
+1556 0 obj <<
+/Type /Page
+/Contents 1557 0 R
+/Resources 1555 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1474 0 R
+/Annots [ 1520 0 R 1535 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 1568 0 R 1552 0 R 1553 0 R 1554 0 R ]
+>> endobj
+1520 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.683 681.615 207.239 692.519]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1535 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 588.085 231.425 598.989]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_307f552cb6559fb3316979350f0698e4) >>
+>> endobj
+1536 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 540.976 189.224 551.88]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_d3ecaaf79c9a60ab4848342458e261d7) >>
+>> endobj
+1537 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 506.463 273.029 517.367]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_cb627ec2ad25203404db2046bd1b415c) >>
+>> endobj
+1538 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.844 506.463 414.746 517.367]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+1539 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 470.313 272.779 481.217]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_91754711e181bd642b50021a3750ba1b) >>
+>> endobj
+1540 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [276.595 470.313 414.496 481.217]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+1541 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 434.162 323.738 445.066]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+1542 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.236 434.162 381.969 445.066]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_6a0c0235057e5bd924816e77fbe24f13) >>
+>> endobj
+1543 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 398.012 323.738 408.916]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+1544 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [324.236 398.012 374.367 408.916]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_b86276be6b184ca176f526bdce7db8cb) >>
+>> endobj
+1545 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 361.862 224.451 372.766]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_43f91b349368a1f43667546d2d844941) >>
+>> endobj
+1546 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.267 361.862 287.823 372.766]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1547 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 325.712 228.327 336.616]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_25fcf44b7620128ac3646cf9cb7ec333) >>
+>> endobj
+1548 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.142 325.712 404.345 336.616]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+1549 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.974 278.603 232.636 289.507]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_0ae5c861cdc8a2fed1057cb873c928fc) >>
+>> endobj
+1550 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.669 278.603 408.872 289.507]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+1551 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.341 278.603 513.996 289.507]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+1568 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 266.648 218.952 277.552]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+1552 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 230.497 238.817 241.401]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_1deba0aacc90a96b069e32f8c3d4559e) >>
+>> endobj
+1553 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.683 139.778 207.239 150.682]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1554 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1558 0 obj <<
+/D [1556 0 R /XYZ 90 757.935 null]
+>> endobj
+182 0 obj <<
+/D [1556 0 R /XYZ 90 733.028 null]
+>> endobj
+1559 0 obj <<
+/D [1556 0 R /XYZ 90 628.265 null]
+>> endobj
+1560 0 obj <<
+/D [1556 0 R /XYZ 90 603.728 null]
+>> endobj
+1561 0 obj <<
+/D [1556 0 R /XYZ 90 523.386 null]
+>> endobj
+1562 0 obj <<
+/D [1556 0 R /XYZ 90 487.236 null]
+>> endobj
+1563 0 obj <<
+/D [1556 0 R /XYZ 90 451.085 null]
+>> endobj
+1564 0 obj <<
+/D [1556 0 R /XYZ 90 414.935 null]
+>> endobj
+1565 0 obj <<
+/D [1556 0 R /XYZ 90 378.785 null]
+>> endobj
+1566 0 obj <<
+/D [1556 0 R /XYZ 90 342.635 null]
+>> endobj
+1567 0 obj <<
+/D [1556 0 R /XYZ 90 295.526 null]
+>> endobj
+1569 0 obj <<
+/D [1556 0 R /XYZ 90 247.42 null]
+>> endobj
+1570 0 obj <<
+/D [1556 0 R /XYZ 90 184.905 null]
+>> endobj
+1555 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1587 0 obj <<
+/Length 1515      
+/Filter /FlateDecode
+>>
+stream
+x��XIs�6��W�Vj&����[�4
���M�S���"$3!$����@�Z���s��"��}o����������U
z�� ���^��$&�Ļν>�(����5S�ײ���\�yY�(�6��W� ��m�۹L	��\�v�
��ԗb~�r�Z����b�Eɚ�|��K�o�b�5�(�i:�t�z����넀��#��4AIH�E5��	{9̿�@�,����ʋ�~K����	�U��=�������y/��[n$�x{+�a���)�δ�wӀ��(�M��z!�rY���WL��ŒV\ae���
U�m!���S����%��EWq�2�Ŝ)�N![m'PrFʨ�F񚳖�)&�-W
H�gzY�`��Zr��	�S�z�a�����`K�;k�X�O��Y���
;�З
3�D�Y����
n��J����r~�u��nj`{DI��Q��d�<k@�k����;�c"��2Q� �vI.�,dY��ᆼh>wbтZ �^8��a�HF�h
+2�x���
�r��$�/G [u��Q6"��%���!w��Y�K)V����yS�mh�Ԯd�
E�F'Aqq��S�ٳ�����@�����o�<���mՃ��B���;�C�Y�K�
iY�
�ؿP턉
-��c�V�k'�����rYl��Z�����
�ˎ�R�j�"K�ܸp�}�8(�y� ]�H��0���fVȏA@ǻ>�(��+m��w�y�h� �������睴58���@#9s���4�IUA��(��,J
㓅��g��n���R��� v�8�
;*��ֵH�lQz�[]/_
���U��U؄�V�q���
���������|��t_��r�ݔ��
KA�H�=���ؕ��;j�߷��v]�%��f,�Ke;j8$�K�q�M�U��)��6}�e�8ϰ��ތ]F;]�V����M3�$p�)n̎g���v

�jP*�b�A0r���P�m����L����k��OG�h�c�s���#���x�:~�(t�nS���,�(���!�p�

]C��B�>$D(����:B���@[:j&�
��T��Jb}��.ug�C~�O	Ӹ����1�_ʼ���?D$ B�����Z��ט�/X�w}���ȷv\w
J���-zbL��2����6H�+���������]��+H�N�� �x�?p�3���
�&̛ͱ�M
����'���?V�8E	��8r���18T�7��md�,��P��:o���)�I� sa����]�@�C'�
5���ЛE�4����)���:y���H�
&X�/�O��a'���`:ɭ�K�� [...]
W�L)ue⒉���W���
��8��Ij����{?����}�1���$�z64��m[�����k�hP'�Z��=�����շT��6���m%U/��#'d��8c�^!`c�?q��,��E�+
+endstream
+endobj
+1586 0 obj <<
+/Type /Page
+/Contents 1587 0 R
+/Resources 1585 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1474 0 R
+/Annots [ 1572 0 R 1573 0 R 1574 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 1584 0 R ]
+>> endobj
+1572 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.181 488.507 379.083 499.41]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+1573 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 416.023 286.113 426.926]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_041438b5dfc0a27bb1ef8944ccef9b20) >>
+>> endobj
+1574 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [289.928 416.023 462.131 426.926]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+1575 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.383 377.168 201.83 388.072]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_d6b10e19a21f12cc1e19304c400cbcc9) >>
+>> endobj
+1576 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [205.646 377.168 377.848 388.072]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
+>> endobj
+1577 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 338.688 179.355 349.218]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_8f633594965f90e853f0a0b7d9667e7a) >>
+>> endobj
+1578 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 299.46 179.803 310.364]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_1063791d47e047aeeb186ba499482460) >>
+>> endobj
+1579 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [140.351 260.605 199.907 271.509]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1580 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [200.405 260.605 251.105 271.509]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_5204a6f9136985b1cf438bea23fd9489) >>
+>> endobj
+1581 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 222.125 177.83 232.655]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_3e689b13a25dfaf0b6f22b21127bf4f9) >>
+>> endobj
+1582 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [160.356 141.362 191.678 151.892]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_4b29f6a5bfc34297ed8cad2fc85141ef) >>
+>> endobj
+1584 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1588 0 obj <<
+/D [1586 0 R /XYZ 90 757.935 null]
+>> endobj
+1589 0 obj <<
+/D [1586 0 R /XYZ 90 682.428 null]
+>> endobj
+1571 0 obj <<
+/D [1586 0 R /XYZ 90 660.116 null]
+>> endobj
+1590 0 obj <<
+/D [1586 0 R /XYZ 90 660.116 null]
+>> endobj
+562 0 obj <<
+/D [1586 0 R /XYZ 90 554.017 null]
+>> endobj
+186 0 obj <<
+/D [1586 0 R /XYZ 90 547.417 null]
+>> endobj
+1591 0 obj <<
+/D [1586 0 R /XYZ 90 434.996 null]
+>> endobj
+1592 0 obj <<
+/D [1586 0 R /XYZ 90 434.996 null]
+>> endobj
+1593 0 obj <<
+/D [1586 0 R /XYZ 90 396.262 null]
+>> endobj
+1594 0 obj <<
+/D [1586 0 R /XYZ 90 357.407 null]
+>> endobj
+1595 0 obj <<
+/D [1586 0 R /XYZ 90 318.553 null]
+>> endobj
+1596 0 obj <<
+/D [1586 0 R /XYZ 90 240.844 null]
+>> endobj
+1597 0 obj <<
+/D [1586 0 R /XYZ 90 159.962 null]
+>> endobj
+1598 0 obj <<
+/D [1586 0 R /XYZ 90 159.962 null]
+>> endobj
+1585 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1617 0 obj <<
+/Length 1626      
+/Filter /FlateDecode
+>>
+stream
+x��XKs�6��W�Vj&���C�֮;I����C��@$$!�H����w�$ZR2���
l ����}��[z��m�����6�
eq{
/�^D�=�[�`��`��
k�l���݊
��bްf7�ލ���캮f��dR��xP�_��m��=_�fLR�W9���O����W�_F���=�u�	JB�������+`���d��ի�^��[zoF��E{������Yt�%%/��7����ʃRW�H��$�PeF���@!y�dݘQ�7w��䊛�B��*�vA�0�L#`Lo����F�[����l������[ި�5

F�
P
�p �C�"�
�X^���[mo��=}7uޭy%�e��#Z��1��'���h샮�A������&_�(g�
(�{�	�M�z���Z�_Zv��%�s��a�Ꮬ�$("#�ˮ��3t�Q��[y�u��β@�0C$N@��+W�=q:�kF�t���	�#��8�����qL}�P��r:�ptIQ�3��A��	��$|�
�X~�S��
>	�	 6&��LM��zc+EY�G��BQ� ��]=l��,��x.��	a��yg�,zWV;sf� ���
}ƪ ��!
��
iޮ��L�j
)������,�q8�_�
��z��?�7X�B���O��Ч��֞�Ye�dm��N�z�I6/�yͪ�̷��+�#�bc^U+�X�P���04�Q�
��{,a�U���@E�PiL
��]�s;�*{�	,(9k�tx��V~�R��F�ax8�_��W�
+h�,�_.Nq�p`yg"���ŋ�Qk�S�j_��F���S�m%jUl��N`�oW"_�G
��̮*\v��J6uy\ zݺ�Qjb^�����Q��|���q���G���a���R��Y�h��@�E]�y:a�����#1���
PX�
& 
+��V9��K�Lw3�yvSށB�SY�DP_�
���v� ��ݠ|��h�ι�r^
9�f��tU
��he��ᾢv�u�R�f���^���.��(=C��
��{��eWWEe��CWg�p�%�KA�8ҥ/@q �"�MX�����9��
����UB]j粈|be��:y��&N	�7f�e���5d��r
'֛R��
Xg7
޻�nb�X囦��,��+�M��xf
H�cDI�Z�a���E(�'Z�c�B��� ��� E$�n��$���O�N�{�E)�&Q�"bqy��
��8�L�9�
ׁK.qvT��J�g\�[�σ�Hy�O�r�lh��ƮS�Yc�a��D��ɓB�
�tCg�a��k�iH:���29Хh��z��L�ѥ�O�p[��E�]-���D.a���3���N�)}�*D���'�v�s��t�}����Ps��eW�Z��G
�ޞ�Nk{	�'%��
=&;u�h�{j|"f:���6v��2��8��O��&��,���|¤�4 q�Ձϸ'M_{��s�1�W�7+�Uˎ-���*a-�1�SC-�I5��׬�X��rf?b�}���bd�p�kz��p��� ��sO��to��3H��,v��J����j�ݢ�E]%6
�j�)�
�[{)�&�[��J���g���؛$��^"E
��Տ�.��)�
+endstream
+endobj
+1616 0 obj <<
+/Type /Page
+/Contents 1617 0 R
+/Resources 1615 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1631 0 R
+/Annots [ 1583 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 ]
+>> endobj
+1583 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.181 695.563 379.083 706.467]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
+>> endobj
+1600 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.072 568.659 218.628 599.627]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1601 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 375.862 194.507 386.766]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_5703e74effb8a5b4090be08699d6b808) >>
+>> endobj
+1602 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.942 338.643 179.274 349.547]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_86ef4d8f3963d0e41bd32e5745b2b161) >>
+>> endobj
+1603 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 338.643 263.687 349.547]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+1604 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 260.251 218.029 271.155]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+1605 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 260.251 250.965 271.155]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_0b8fd6b1ed827658839d73fcb11d4755) >>
+>> endobj
+1606 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 223.032 218.029 233.936]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+1607 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 223.032 262.043 233.936]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_d487a3b3a0d3590dd3678cf333549f47) >>
+>> endobj
+1608 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 185.812 218.029 196.716]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+1609 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 185.812 290.804 196.716]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_103c1a923368f15f9846bb63c5fc8bcd) >>
+>> endobj
+1610 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 148.593 218.029 159.497]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+1611 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 148.593 266.456 159.497]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_0ce79e66e5f99bf6dae5077d3eeb15a8) >>
+>> endobj
+1612 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 111.374 218.029 122.278]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+1613 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.527 111.374 255.378 122.278]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_981388a9978a768d9859bc6a05b59612) >>
+>> endobj
+1614 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1618 0 obj <<
+/D [1616 0 R /XYZ 90 757.935 null]
+>> endobj
+1619 0 obj <<
+/D [1616 0 R /XYZ 90 733.028 null]
+>> endobj
+1620 0 obj <<
+/D [1616 0 R /XYZ 90 682.725 null]
+>> endobj
+1599 0 obj <<
+/D [1616 0 R /XYZ 90 660.413 null]
+>> endobj
+1621 0 obj <<
+/D [1616 0 R /XYZ 90 660.413 null]
+>> endobj
+563 0 obj <<
+/D [1616 0 R /XYZ 90 483.265 null]
+>> endobj
+190 0 obj <<
+/D [1616 0 R /XYZ 90 474.131 null]
+>> endobj
+1622 0 obj <<
+/D [1616 0 R /XYZ 90 394.018 null]
+>> endobj
+1623 0 obj <<
+/D [1616 0 R /XYZ 90 394.018 null]
+>> endobj
+1624 0 obj <<
+/D [1616 0 R /XYZ 90 356.919 null]
+>> endobj
+1625 0 obj <<
+/D [1616 0 R /XYZ 90 278.407 null]
+>> endobj
+1626 0 obj <<
+/D [1616 0 R /XYZ 90 278.407 null]
+>> endobj
+1627 0 obj <<
+/D [1616 0 R /XYZ 90 241.307 null]
+>> endobj
+1628 0 obj <<
+/D [1616 0 R /XYZ 90 204.088 null]
+>> endobj
+1629 0 obj <<
+/D [1616 0 R /XYZ 90 166.869 null]
+>> endobj
+1630 0 obj <<
+/D [1616 0 R /XYZ 90 129.65 null]
+>> endobj
+1615 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R /F84 1406 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1644 0 obj <<
+/Length 1110      
+/Filter /FlateDecode
+>>
+stream
+x��WMw�6��+�+^ $��GvS��3ifJf���F$N�Me;��'K2؄
N��LW`Y~���>D�#"�����`|
x(�q�h�B1Aa at 1s)�-�Ð�ΈB�.�|�)�ݓXJ>�҅�rwu5u\2������Dƫ�ȝ���p�����JH�FC�'LRyÀ8�f7�_f�?0D
,ġ�P�
<|#h	�7���6���w=������y�<��I��硘��O3�� ߋ2����׌
X"h����cmh�$�W�sޅ��B��,cvϗ��I����i^a�Wy�!\�zJ
�ɞ�t���Z�U��x��D1+��8)K!�
���`=��ER+��V��p^9�֡� ��Q�B��Fk%�u�$�"�
+�e�m�?ꥯ����jDfU�h�}/�x2�b��W�e�]#�*]O����3WrQ~��	(�R
3�*���y��4
+/�G��PM d�
q{��k��46��֋,M��z!L��[�
�;F$6{���
�|4������jq0�ՠt at 3X�=^HP�_�S�|����7�4yP'6)W�����Ԑ���Jۖ���¡��#�'(YP�b���E�	nix�5[URQ������ѽ�
ngJs�6ZNW=�y�k_5Œ��A�u���Ϩ�
l�q at B���G͞.4C�����r#L}f��^��0�ۼ�'X�$ԕ�C#�Ô^�U559v�|3b*��7��$N~��<T��.	�JضD�?��%ߙԵ0.��d��%���4�[.��ڶ^]�r՘��V��o�:[������<�\ҳc[PS8���‹1��YѴ�l�;���I�3���
;c�;̶>�y�{��a��'��C�:ּG���Pa�
��ϓ�HXͩ��Een3��Օ
u���?	�Zݞ&bz;�m�,�ׯ?ƊU�b�v�<�f2���ݍ}���/�A���ܻhs�08A��b�X?C�M��N[����V?�[(�54�>�P)WM [...]
+�&lG�V��B6@ �"�h�F!|cZl��ƵN�~,�#�\�
+endstream
+endobj
+1643 0 obj <<
+/Type /Page
+/Contents 1644 0 R
+/Resources 1642 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1631 0 R
+/Annots [ 1632 0 R 1633 0 R 1634 0 R 1635 0 R 1636 0 R 1637 0 R 1638 0 R 1639 0 R 1641 0 R ]
+>> endobj
+1632 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 521.324 194.497 532.228]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_a542fab30058371e9f17fca3eb84724b) >>
+>> endobj
+1633 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.942 482.47 179.274 493.374]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_ba48365387e24282c5facb79d544df54) >>
+>> endobj
+1634 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.09 482.47 263.677 493.374]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+1635 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 401.707 218.019 412.611]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+1636 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 401.707 250.955 412.611]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_52e2da847dc03a6a0bd03eb718bbc2c5) >>
+>> endobj
+1637 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [137.432 362.853 218.019 373.757]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+1638 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.517 362.853 259.253 373.757]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_c9b4e9cbc50b16d0b8eae819ba758bb1) >>
+>> endobj
+1639 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [139.912 125.778 306.267 136.682]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1641 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1645 0 obj <<
+/D [1643 0 R /XYZ 90 757.935 null]
+>> endobj
+1646 0 obj <<
+/D [1643 0 R /XYZ 90 733.028 null]
+>> endobj
+564 0 obj <<
+/D [1643 0 R /XYZ 90 627.746 null]
+>> endobj
+194 0 obj <<
+/D [1643 0 R /XYZ 90 621.146 null]
+>> endobj
+1647 0 obj <<
+/D [1643 0 R /XYZ 90 540.298 null]
+>> endobj
+1648 0 obj <<
+/D [1643 0 R /XYZ 90 540.298 null]
+>> endobj
+1649 0 obj <<
+/D [1643 0 R /XYZ 90 501.563 null]
+>> endobj
+1650 0 obj <<
+/D [1643 0 R /XYZ 90 420.681 null]
+>> endobj
+1651 0 obj <<
+/D [1643 0 R /XYZ 90 420.681 null]
+>> endobj
+1652 0 obj <<
+/D [1643 0 R /XYZ 90 381.946 null]
+>> endobj
+1653 0 obj <<
+/D [1643 0 R /XYZ 90 325.533 null]
+>> endobj
+565 0 obj <<
+/D [1643 0 R /XYZ 90 212.589 null]
+>> endobj
+198 0 obj <<
+/D [1643 0 R /XYZ 90 205.989 null]
+>> endobj
+1642 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F84 1406 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1686 0 obj <<
+/Length 1673      
+/Filter /FlateDecode
+>>
+stream
+x��Zێ�6}�W�6sy))-��4)�&E�l��	
ڦm��8���~}�ٲW^��q�	؅)�
ϜG����ޯ�g�����y���̋��8%��Ի��
	Ƹ��E*G�<Y/Դ��$
�X?}�v at q�}= a?�C�q�y"��6ߩ�2��l�@��3�/����ދ�ާ
��G�<@��$�]}����
Q�L���)���{����o]
e
n�
'��*�F�c�ȴ_�٤��4�4�O����R�x�[Q���c���m����?r�ś|��M7e
�ոx�qkM�!��.� ��|���
�
��*
P޿
�w�%y6w}5�����Ό�=ʥ���4NUV�{��.0��O:�x`/}���ЄO�!�
��U����b
�Sm;�y�g{�_�I�;ȍ��	�J�2�����$
Q ���[-����U�N���\�k
)�(��!G��sD����+��@�Vo�a��w��#���x�e�

3	h%H�)vTQ�Z����(Vq�7� [...]
+�
+��^�Q�DOvS��yQ�m�TPݰ�*C��Q�j�����wC9; )�
���b��r�\��s�c�!�롸Fgq������$.t��ja[Y���:�ʬ��M�׎a���q�h�e��":
��;�w4~��x�Nr4C�@a@�
����Ʌ�d�4Z�롞Mۚ B����m���T��[1$��[��Pvf!
+!1?�Zz��B
"��m�6�y�dv;��rd��gv;��fv��x:�"��8��,Yߒ��
+��W�'�V�g���s��d'������]
Yg��E�
mڲ�� ��uI �_}C�
�!�>tߠ
2ߎ-�q9)T��-cL�9ZiH��
���L��HW�
}��'-L:�:�\"o��W=.Uu�����
J�
L��sU��9<=��j����YP-�7�����h�4n����=T<�

��{@��"��s��*��d�P����Z
3�ɉ�7���9��q�1� p���;yQ*��;B��E&q)G�"OGr���;��H������e��Cez���w�,K�󾴓$�lz�
+Tz���·����CA�}Ƿ�+�m�`{!���5��rMþ:³(<c\gv?�1���	�O�gS����Oni�
�t���M"����[�I�nfeZ^Y/Gٗ4}20��G�"_�@l�"�b�Ta.$��2��
6
�i���&
#�):>��cO�HD�|@�D,c�:���C
+[�	bz�a}�Ӡ���au�:,#t:,��?��
��Zp��Ih�����ڑv01r,(tN�	
+z�mP0sm7 ��
�'�ՙϴ4#u��'�o�D��ĕ�]�3�MIl[#���T�pG3���V����e]��n,ڿ^#B���x��ܪ�
+:3�jx�x��_n�脱H���msO�>������+�����,�y-�N�op
+)f��k
���a�߀��42�e�}IٔZ7�
+`k�?�_�i_B ?�{��hh��kZ������m{�O/.V������e���b�L.n���J!�G���f�a:�
��'�0�4�H�c*�����$,1�
+endstream
+endobj
+1685 0 obj <<
+/Type /Page
+/Contents 1686 0 R
+/Resources 1684 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1631 0 R
+/Annots [ 1640 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 1668 0 R 1669 0 R 1670 0 R 1671 0 R 1672 0 R 1673 0 R 1674 0 R 1675 0 R 1676 0 R 1677 0 R 1678 0 R 1683 0 R ]
+>> endobj
+1640 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 675.65 242.354 686.554]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_8b521c98491fa559861dae11ad3ec3f3) >>
+>> endobj
+1654 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 639.109 242.663 650.013]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_84625e35d755ced248ffe55750614f09) >>
+>> endobj
+1655 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 602.568 229.362 613.472]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1656 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 602.568 275.021 613.472]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_56bf9c6096c448f27d61416f27a05db1) >>
+>> endobj
+1657 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 566.027 235.988 576.931]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+1658 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.486 566.027 288.271 576.931]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_dd544c3d22008bb22d0b6fa536c651dd) >>
+>> endobj
+1659 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 529.487 229.362 540.39]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1660 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.861 529.487 322.621 540.39]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d0f0c9ad050583abd703aaedb6e5cca1) >>
+>> endobj
+1661 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 492.946 235.988 503.85]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+1662 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.486 492.946 335.872 503.85]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_81c4315daec6710e58a0617d92839e81) >>
+>> endobj
+1663 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 445.446 224.093 456.35]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890) >>
+>> endobj
+1664 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 409.278 232.541 419.809]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad130af7dc19af625d583e25020026e1) >>
+>> endobj
+1665 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 372.737 233.497 383.268]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_1d1b69611f06c6e9aa03fd1b951573f8) >>
+>> endobj
+1666 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 336.197 230.169 346.727]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_951904ccc728d261cf367a0bc613478d) >>
+>> endobj
+1667 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 299.282 282.204 310.186]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) >>
+>> endobj
+1668 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 262.741 278.727 273.645]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_50926d4c45d6e451ccec518c8051733c) >>
+>> endobj
+1669 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 226.574 227.958 237.104]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b7c4fb00dc7b0fff7edbe9d80ad15ae6) >>
+>> endobj
+1670 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.774 226.574 266.961 237.104]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1671 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 191.491 269.164 202.395]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4949285de47134b38f894d92823a931b) >>
+>> endobj
+1672 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.979 191.491 350.229 202.395]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1673 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 156.782 269.771 167.686]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c72ffc5f5715e6a10e6d5e63a43b6e9e) >>
+>> endobj
+1674 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.587 156.782 350.836 167.686]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1675 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.81 122.074 229.095 132.978]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c4f92e1418a46d38b818059a3dadab69) >>
+>> endobj
+1676 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.031 122.074 311.281 132.978]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1677 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.439 122.074 382.456 132.978]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1678 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.259 122.074 460.276 132.978]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1683 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1687 0 obj <<
+/D [1685 0 R /XYZ 90 757.935 null]
+>> endobj
+1688 0 obj <<
+/D [1685 0 R /XYZ 90 716.221 null]
+>> endobj
+1689 0 obj <<
+/D [1685 0 R /XYZ 90 690.649 null]
+>> endobj
+1690 0 obj <<
+/D [1685 0 R /XYZ 90 656.13 null]
+>> endobj
+1691 0 obj <<
+/D [1685 0 R /XYZ 90 619.589 null]
+>> endobj
+1692 0 obj <<
+/D [1685 0 R /XYZ 90 583.048 null]
+>> endobj
+1693 0 obj <<
+/D [1685 0 R /XYZ 90 546.507 null]
+>> endobj
+1694 0 obj <<
+/D [1685 0 R /XYZ 90 509.966 null]
+>> endobj
+1695 0 obj <<
+/D [1685 0 R /XYZ 90 462.466 null]
+>> endobj
+1696 0 obj <<
+/D [1685 0 R /XYZ 90 425.925 null]
+>> endobj
+1697 0 obj <<
+/D [1685 0 R /XYZ 90 389.384 null]
+>> endobj
+1698 0 obj <<
+/D [1685 0 R /XYZ 90 352.844 null]
+>> endobj
+1699 0 obj <<
+/D [1685 0 R /XYZ 90 316.303 null]
+>> endobj
+1700 0 obj <<
+/D [1685 0 R /XYZ 90 279.762 null]
+>> endobj
+1684 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F82 939 0 R /F11 291 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1742 0 obj <<
+/Length 1718      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�o����(�>4h�u��٧�0����ŕ�ޯ�Q����v��]�0 �"�xw�=<�������ދ���+�9!
+}�;�c'Ď�	�8�#�K0b����;��4��d9U�"$�U���/<�]��G7ϼ>�=O��4�o�X��T6T �s�]�z/��^^�>�
;�
��H2�
�������o
G8��U�p��8�z��5f׵6R�
#	��	�PDd`,�@�����s��X�EU�Q�^{D�0tΤ{�牊2�\����;r�i��i��j
�>`�w�v�3��_f�*�8�n��a(0
h�q�>�3����k>`L��G Uר�l<���b-Y{��yu��A_�q�����B��ר�
�^�$��`��g�b;�Q�4x�IK�E��C���S��2�����l	}����"�͢(��y��F�/63�d(MU1��oI�
qJ�F���3��(�ɕ,�_��
+�_k���a
���Ѡ�Y�\k���g(\uW�;tж��|����d
�n��W*�ְ�Ci�#��!�4u5m ��S-�����C�3��}�|D���� ���2�Je��ڛ8�PD���(�7o,�
�t6��u�e��-��)E>'p%(���8���01��i����{r�Kb!9�Z^9��%�;	��;|s�c6O��A���TUy�6_�������
��^r{�{������/���DM_0�Y5��݆��
-��r� C��,F�-H��[,���� Y
��`fV]DVG��1�Y
CZշ��2�:l!"D��Cnd*ʦ��%��*�����*�d#�8Z}*�~���Q2�S]��ԅG�)A8���NI(aB�G���$�ȓ��<�oU�Z<��[a[q5�����

+˪���V�趹ݔ�un��������}7͓Q�M�Õ�Je�^�K�]�'!GT
�#���B�JͰ��V�v>K
�F��C��
g��
Y�0�Ip"d�]d�4~4`Mt�
Rc�:��-`��|4醖
��̽�{b�	���zp}ˤ�጖
+Ia�NEX!„YPɻ�,j�
ZYX�*`���(�������}���κ�0�PݺQ]�nI�n�떮��KP�N���a{�`
]`�� !��85@`Ǝ���Rƙލ�k��B$�!�
;]Q(�(��N\Fq�I�E�VWO�97��_�w#�>��cǵ���Y�;R�$�3yb���(y<�P��`�uP�E
6���� ����ڽ��h?�hwq�z�dG�Q9=�GjW�jab�Ѵ�f�
�1�;ז�D��\�V�,w�-ԑX��y7�ÚԪ� *UdQ2HU��A�
���*��
9�:6҇

vƨ`g�jm�i�,�� f/`�t�ʋ @8�O.
+��?>��ʫ�3N����,�xo�(���)c%0�qx|��AM8Z[�N K]�Ѷ��bOcK�Uv
� O������yCHO��
��`4Og_i��t�]Э��&�����k�����kr�+�����W�>����#��#G �d���V�Bp������zS�H�3�"�>�n��4o"�a絎{�:�&�hbE����4�
�_����µQ�#��
3�h��ʻP��oV(�4��g �j�
+����^
���T0���1�����b��%�g�@qu6�%g[�oy���*�tYa�1/�=����C���vk>ΠaZCe;��� �B{
+endstream
+endobj
+1741 0 obj <<
+/Type /Page
+/Contents 1742 0 R
+/Resources 1740 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1631 0 R
+/Annots [ 1679 0 R 1680 0 R 1681 0 R 1682 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 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 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 1735 0 R 1736 0 R 1737 0 R 1739 0 R ]
+>> endobj
+1679 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.286 709.025 228.916 719.928]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8a9da2a38c61eb14ed1922e970552ba) >>
+>> endobj
+1680 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.591 709.025 311.841 719.928]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1681 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.658 709.025 384.675 719.928]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1682 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.369 709.025 461.385 719.928]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1705 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.81 651.384 229.095 662.287]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_e4e82dc62f09b889cc2c699b6a8abda1) >>
+>> endobj
+1706 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.031 651.384 311.281 662.287]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1707 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [336.439 651.384 382.456 662.287]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1708 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [414.259 651.384 460.276 662.287]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1709 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.037 639.428 308.86 650.332]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1710 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.286 593.743 228.916 604.646]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f212c66bfb25b5b1949ee91f0e4b48ab) >>
+>> endobj
+1711 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.591 593.743 311.841 604.646]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1712 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [338.658 593.743 384.675 604.646]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1713 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [415.369 593.743 461.385 604.646]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1714 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [265.383 581.787 307.206 592.691]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1715 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 536.102 232.132 547.005]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+1716 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.63 536.102 287.753 547.005]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3dec267cc9fa523feea43a8c0acdbe00) >>
+>> endobj
+1717 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.569 536.102 335.075 547.005]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1718 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 501.375 232.122 512.279]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
+>> endobj
+1719 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.621 501.375 287.743 512.279]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0debe61d4b261fe21a4109f8920557e0) >>
+>> endobj
+1720 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.559 501.375 333.381 512.279]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1721 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 466.648 232.132 477.552]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
+>> endobj
+1722 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [232.63 466.648 287.753 477.552]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_7817a26193f804a89ffeb2dbf18fc702) >>
+>> endobj
+1723 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [291.569 466.648 341.7 477.552]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+1724 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 431.921 220.765 442.825]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_bc5704127ba61d2413c9bff4fd30f323) >>
+>> endobj
+1725 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [224.581 431.921 272.511 442.825]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1726 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 397.194 253.422 408.098]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) >>
+>> endobj
+1727 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.238 397.194 305.168 408.098]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1728 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 362.467 253.432 373.371]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c302814cfa610b65b7e92426d20b7efd) >>
+>> endobj
+1729 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.248 362.467 305.178 373.371]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1730 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 327.74 213.014 338.644]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4ee0954f71183611c9b29ad07ad9fba2) >>
+>> endobj
+1731 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [216.83 327.74 264.76 338.644]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1732 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [159.127 291.163 186.574 302.067]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b8b346098cc00bd96852efadc70e42d3) >>
+>> endobj
+1733 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [164.546 254.959 205.831 265.49]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_45dd7fcc9b518abdc94c454b66ba1d5b) >>
+>> endobj
+1734 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 219.859 282.603 230.763]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3eced5e4c9a959bf44ba28393466ed15) >>
+>> endobj
+1735 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.739 183.282 268.376 194.186]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_101725c81694df74ced9b4f2cca1fbad) >>
+>> endobj
+1736 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 146.705 212.486 157.609]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4b3c940e8c7c8981b9b2124a75e011c1) >>
+>> endobj
+1737 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.384 110.128 226.314 121.031]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5d5942488536d6a9095fc4bdebb9f7ed) >>
+>> endobj
+1739 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1743 0 obj <<
+/D [1741 0 R /XYZ 90 757.935 null]
+>> endobj
+1744 0 obj <<
+/D [1741 0 R /XYZ 90 344.77 null]
+>> endobj
+1745 0 obj <<
+/D [1741 0 R /XYZ 90 308.193 null]
+>> endobj
+1746 0 obj <<
+/D [1741 0 R /XYZ 90 236.889 null]
+>> endobj
+1747 0 obj <<
+/D [1741 0 R /XYZ 90 200.311 null]
+>> endobj
+1748 0 obj <<
+/D [1741 0 R /XYZ 90 163.734 null]
+>> endobj
+1740 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1803 0 obj <<
+/Length 1937      
+/Filter /FlateDecode
+>>
+stream
+x��ZKs�8��W�R�ƃ ��f3��dfj��g.ɔ�� �5�cIʎ��o� )J�$ӎ
Ue.�$
��?t7������G��
]��
Q(��^�=)�x�s�Ә`��dJ0��"*�hV�ͭ���l�ܔQ�y�����}=!�8�&S����*�*��A-T�Me���|��c�&]���
�gD@ �F .�d܋�ѧ��7���<�#
���U�������8�������8�-���!,�Y�gJy3}���4��,��	��	�ce����2�\�Y.�����ѿ~�N���9�?����z+�����rR��O�)a(������z���L�7Z��C}k�L����wQ�DYm[G��v����1Us��x;ؘ2�p�1�����"���?%�ʪ�5�{c�J�
�J��y��Jo�]��v��5�ڥD�mm�C>O���:��_ξ��7��$n��f�d~���|>�a!u%Y}��>�7
� �Bn]����E�����j4_�o��zѭ`z�7dhflF�M�����u
�|�bզ�UzlҪ��pv����I吀�Ȩ�}�Է��B*M�$M��ᰓ͸H�^�Z��=cZ�_ ��Bײ\7��t
�/������
+㢃��aY�`���r��(9	��H�6���S��d�HqdI�ƚUi�~��z�郬�XSY���fGy��:�9��00�#�/Ku�s�n���
�Փ@Iw at Id�W"ZP‹����?�x�C�5ɜ���޴Vw�
��x�a;��aO� �JD
C��!"��
N��r�V<��B��:
���e�z
C��
+�(�k����E�nA�O���~�� ���%=��
��\)��=E{
]�aDaQ�3�8Ĉ�2b�6
t*9"A���C���΋�R�H;S3�{��Q��R

�ݍ�
�2���
���J)�G�E�p����.@���p�@'�ᷢ��
�
�.ur�pB�A��NOƈ?h7�]@�iA"_�).-�yJz��A�PI.OF7,�<��X��� �b��TS1�EU�,���xo#���w󬈷���"Oz��8��fm*�VG�EB��&��.Hr$����1
+8n13e ��ú�]��L���ud��֖ZH��[�:U�}X
+��F�(T9������c���h p�#��7 �=#F��9$��q��fs�$���i���
v����tW=.KD��;���>�C$C~�x�NR5S����+ ;ͻM�b]<>$���N
j�5:���k{��{�2w�'��$�0C���:.ɗI
�f�*���)|>�t�
0K�n<�
�5˱k�dN�A7�LpDmJ�!��t�J�b�,6�u��S���K}�D��A
r��Fl�ʑ���rg�T�zZ��v�� ���4.��ߑ��9�Nl�X<J�Ώu�mD��V@�qD#�G��
�?��y�Cg�{,���)<�r��/k�.35�z֜ie�jΈ�٫��H��]Z�E�����2u����l�$I��j�N Gc}Q�f��~��������[��������\%n5�_<f�׹�'�]�,��(���HL����cث�)_�m+��]tՕ�
��!� ��<����ì
	!_��kπ���^D2��QQ4���nw=��{/.tq�t���ݙA$�х9)��~�Ar��������f��\��8rQw�
(�ȯ&�����Đ��A���Zy at +�w4D�"x���J� W����3`pn�����>����*�����7s����.��5:���
˥
���-�.�]Q��蝭j�f�6�Զ5�)�~��
#fnC4y�G՚�h�o�}�u�x�v�T��[�ū����{Wh�%E����(VW�0nG!��o9d���S����D �O�7����{�Aô��о-��ڳ�
+endstream
+endobj
+1802 0 obj <<
+/Type /Page
+/Contents 1803 0 R
+/Resources 1801 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1631 0 R
+/Annots [ 1738 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 1775 0 R 1776 0 R 1777 0 R 1778 0 R 1779 0 R 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R 1791 0 R 1792 0 R 1793 0 R 1794 0 R 1800 0 R ]
+>> endobj
+1738 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 720.286 201.946 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c5dfab82eea6ba1f83cbebca0237b084) >>
+>> endobj
+1760 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 646.871 232.192 657.401]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af462d898fecd8d545ce48f6a0632c3e) >>
+>> endobj
+1761 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [236.008 646.871 279.514 657.401]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1762 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 611.628 238.818 622.532]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_db6d91da0ca1b3f0f9b755297ab69722) >>
+>> endobj
+1763 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [242.633 611.628 292.765 622.532]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+1764 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 576.759 236.068 587.663]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f31626a3fd875ced253836666b29990b) >>
+>> endobj
+1765 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [239.883 576.759 317.71 587.663]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1766 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 541.889 242.693 552.793]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0db3ec1fb2ff3022b06cd0760dbc9b11) >>
+>> endobj
+1767 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.509 541.889 330.961 552.793]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+1768 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 496.435 263.186 506.965]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2a7c7870e8a2d07650293ccce8893174) >>
+>> endobj
+1769 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.001 496.435 310.507 506.965]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
+>> endobj
+1770 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 461.192 269.811 472.096]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3e3093f0cebb7f7d4b1ac1f1dda4df5b) >>
+>> endobj
+1771 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [273.627 461.192 323.758 472.096]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
+>> endobj
+1772 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 426.323 267.061 437.227]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5b00da433f9d9473b1fbd2cdf6c5976e) >>
+>> endobj
+1773 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.877 426.323 348.704 437.227]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1774 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 391.454 273.686 402.357]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d453d2930f64cc40ad0b5dbe4ac50c07) >>
+>> endobj
+1775 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.502 391.454 361.955 402.357]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
+>> endobj
+1776 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 356.584 249.905 367.488]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ea3d6d51b260b5aa832a1a3a68ac98a0) >>
+>> endobj
+1777 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [253.721 356.584 301.651 367.488]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1778 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 321.715 255.993 332.619]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0f157e4c644b4ca57dc6d0ffe0509ae2) >>
+>> endobj
+1779 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [259.809 321.715 307.739 332.619]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1780 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 286.846 243.549 297.75]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_be395df0f967ad2074e87c95cab973ee) >>
+>> endobj
+1781 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.365 286.846 295.295 297.75]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1782 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 251.977 251.011 262.881]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6e6eb647853269db9de88ed234a16656) >>
+>> endobj
+1783 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.827 251.977 302.757 262.881]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1784 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 217.107 282.005 228.011]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5b12ca4fb2557b59516d1bbb2e30fa43) >>
+>> endobj
+1785 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [185.568 180.246 311.394 191.149]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0c39fad28012b1e32b3bb3f51aa395e9) >>
+>> endobj
+1786 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [315.21 180.246 363.14 191.149]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1787 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 134.417 225.298 145.321]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6e67cd103e4b330d46ded91f0ed0ec2b) >>
+>> endobj
+1788 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [229.114 134.417 264.301 145.321]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1789 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.856 134.417 359.105 145.321]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1790 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [381.74 134.417 427.757 145.321]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1791 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 88.589 238.02 99.493]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a7225f4984a8ca7b4701b78e9aa545b3) >>
+>> endobj
+1792 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.836 88.589 277.024 99.493]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1793 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [294.578 88.589 371.827 99.493]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1794 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.462 88.589 440.479 99.493]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1800 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1804 0 obj <<
+/D [1802 0 R /XYZ 90 757.935 null]
+>> endobj
+1805 0 obj <<
+/D [1802 0 R /XYZ 90 733.028 null]
+>> endobj
+1806 0 obj <<
+/D [1802 0 R /XYZ 90 234.208 null]
+>> endobj
+1801 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1860 0 obj <<
+/Length 2733      
+/Filter /FlateDecode
+>>
+stream
+x��[[�۸}�_���@��TP�����ifڗdah,͌Z[veO\���#E]MY�=�d
���>���C���S��?�|{s��dA�BIep��8P� AIp'#Ʀ3�1�l�|�7���9��h�L�(?�}�~J��ݞ=Yg�x��2�n���cb��d��q��D��/��n�����
�����bu��
�p�] �u���V�
>����_o��L��NN�@��$7�#
#
+��2��(f��v�>e0L��d�6#���c�3ó�w��h�2M9�Z֍���hu�Ph�m�D�S*&�0�YRt�ɓt=%
�"�a����3J�!�g��%�!&ż��
_��.54�V�f�N�${*���4zX&��	S���6���OBDp�u�sp	d�s	<
�5O� �",�KL��{�O��$�2ݶ�d�������p�
T��$Ɗ�M
AT��b�|�a�&N��*͢�:�G�(]�E6�����L]�3��#E������'JE�J�q&�Ba �ɪ�S"�M3b�6řƮ��������i��6�ϛY9���ُi�	
�ko��)!�:U��6}@�p<ysjX��4K�|�=��E�cn�0ŌM0O�d��qi�
�-�����-譓ʇ�4�vGC�F�|_oF
�$��Q�`�q��X��bð@ ��e
B��O���y��ѳ�ا��¢�b(�
�СE;
/����2㲶x�
��T�,�������J<�@|�Ȋ��ը�fS���=v 5.�p�f4�(b�R*�U~Dk*�i
#�i�l��Z�ն(�,�͛��H	3Ŝ9�������`��?O��� �tc
���`Hc7 ���S
+ ^���mMiƄDv�	ˊ��B#��P,��XN W)��*�)�0����R6�*�Q�
��@J=�	L+/i25z��3W��>P��17�&gVp4�����@�[��z�A#��n3�kst�K��)=�ꬮ
E at _m��.,E�Y�)B"�c��:�NQ�y
��C
���5@n��3�l?�
��!Ru��
+n{mz���
��P���k��	�!��فr1f����)ɒ<Z���V�⪵B1�1k.'\)������ؘ���a5`��(�_9 �����a9��� `�
�p˿:�(
ɘ>:���_�>{�_#���4R�x����~
��h'A`�k���N�6ܡ)Qdr�*��#
r�5�Z��ƃ�_E�-��Tg��7n�F�B"��=��sR��
����
i8��#�
�)u�E>�r!��Y�8`��l��O�
J�`�el�Q�
+�����
p��B	O�	�zA����R͔_�ዑ���d��Xq�عN�m�M;�-��ٍ6 2��
z�f�~�.`n^�I��>���M_-�6]춳�b�RHժ����6vs'�����⵰�l���
j#Jw�����5��_Alr%x�2����Ɠ8�����i6�/�t��jH؅��l��fg�i6$��w����y{
+�
�l��;�t��} �X�n�
������]�
��į�tL��~�b[��(>��/�¯~
�կ�B���!e|�	BF(_�V�=�;ЬZ��>_A�Y�b���Ø5c at v�H��j���u��$@����E&
%2�%"_�_������x�<`5��W`�т��c��lOTG��=[�\�nنT�Օ�.ޅ.��?iğ�C?�.0s�ׯ]�c4t��qgb��v���.���R��
+av�.�u������f�]
��|���<NWI�W��la���Xd 7KN����z�y�%攒�{5.0]�g�)�e�Ź=�h�K�p
+Թ�'���G
"��
�v����:��ly�(�҂

,���fiqȏ��ij/9�5G�t��j��`��뛻91wY�s�I�`�o�����.�����d��9�/*�-��$0�2��0��O� ����:	k��
+�
6��7[!Z����M�_�s�W
�V;R�q)���f}>s�
$�*%�.�5�ᙃ_0�حJ�PJQIE�}�`-!]D.%���_���i��
g�_5��	Y?�
�R����0��e�YY�+B�DD�v��B�����_����|Jr�9��*�à��flϨ�Hڻ2��*w��쾕�d��'�����c�5¼���*��A��G�6�C��'�����~Ι̘�߈��Uǫu�{ƨBT�UD�;��s�z0焍�~pǃ+m9?�

��:N
��c�ﭠTB��x\�~�,�5��MI#v.ܟ]�۽Y$E�W��kx�nm|L@����i“�L����W�I�#=>�f��
���X�O�AA�U���\�=��hu�f
 K�~�
A&<�R��B�ksP�G�m���t�.aou��8��
FDU�g��*P�u�<�oUN+
ZLЋ���Zw-�^��̵�ҬӺ��������m�g�{���a���S����F�|��r"^'�l�k������ [...]
+���{��6ooo��=Zl�K�nr��n7���1��V�^�<��Z����AZ���L�Ge�
��B�(��x�b

+endstream
+endobj
+1859 0 obj <<
+/Type /Page
+/Contents 1860 0 R
+/Resources 1858 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1631 0 R
+/Annots [ 1795 0 R 1796 0 R 1797 0 R 1798 0 R 1799 0 R 1822 0 R 1823 0 R 1824 0 R 1825 0 R 1863 0 R 1826 0 R 1827 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 1865 0 R 1836 0 R 1837 0 R 1838 0 R 1839 0 R 1840 0 R 1866 0 R 1841 0 R 1842 0 R 1843 0 R 1844 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 1853 0 R 1854 0 R 1857 0 R ]
+>> endobj
+1795 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.335 687.036 265.386 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2c5d0c7fb2c1bbaa9359ed0b497152cf) >>
+>> endobj
+1796 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [269.599 687.036 304.787 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1797 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [323.235 687.036 400.485 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1798 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 687.036 513.996 697.939]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1799 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.176 675.08 208.193 685.984]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1822 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.864 628.049 285.637 638.953]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_52cb475c174028850d7ddd0998e089bf) >>
+>> endobj
+1823 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [293.615 628.049 328.802 638.953]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1824 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [355.721 628.049 432.971 638.953]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1825 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 628.049 513.996 638.953]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1863 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 616.094 171.361 626.998]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1826 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [208.94 616.094 254.957 626.998]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1827 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.436 569.063 276.092 579.967]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac326b042c380a004289377eca7d2342) >>
+>> endobj
+1828 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.856 569.063 315.043 579.967]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1829 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [332.503 569.063 404.243 579.967]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+1830 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [436.747 569.063 513.996 579.967]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1831 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.232 557.108 193.249 568.012]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1832 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.977 511.28 296.356 522.184]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_79d4ff349ca7b314602b79a2d74fe976) >>
+>> endobj
+1833 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.89 511.28 339.078 522.184]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1834 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [364.999 511.28 436.739 522.184]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+1835 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 511.28 513.996 522.184]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1865 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 499.325 171.361 510.229]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1836 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.996 499.325 240.013 510.229]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
+>> endobj
+1837 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.237 453.497 275.893 464.401]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_94e51c5141f6c2a46e4c8d8aaea539b4) >>
+>> endobj
+1838 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.557 453.497 356.806 464.401]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1839 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [373.639 453.497 445.379 464.401]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+1840 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.703 453.497 513.996 464.401]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1866 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 441.541 171.361 452.445]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1841 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.922 395.713 296.3 406.617]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_9a21e654ffec08b0a79e6aa5ec29d72d) >>
+>> endobj
+1842 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [303.807 395.713 381.056 406.617]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1843 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.466 395.713 478.206 406.617]
+/Subtype /Link
+/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
+>> endobj
+1844 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [125.095 383.758 202.344 394.662]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
+>> endobj
+1845 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 337.93 293.621 348.834]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5e9ac1ca10b983f0dee8146e6e95370b) >>
+>> endobj
+1846 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [297.437 337.93 332.624 348.834]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1847 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 292.102 297.497 303.006]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f3ff44da0089b15593e3ce719e37e677) >>
+>> endobj
+1848 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [301.312 292.102 358.089 303.006]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1849 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 246.274 240.501 257.178]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_faf7844389329a23b58abf355ae79ded) >>
+>> endobj
+1850 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [244.317 246.274 292.247 257.178]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1851 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 172.859 193.906 183.762]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5f7cb393111807edd0542e1e4367f249) >>
+>> endobj
+1852 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.722 172.859 245.652 183.762]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1853 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 137.989 316.306 148.893]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_250dcd46824fa3fcc48f2dd92a8293ea) >>
+>> endobj
+1854 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 103.12 317.412 114.024]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_40f85671a746d80dd6a5a14292f6df72) >>
+>> endobj
+1857 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1861 0 obj <<
+/D [1859 0 R /XYZ 90 757.935 null]
+>> endobj
+1858 0 obj <<
+/Font << /F63 247 0 R /F70 298 0 R /F65 249 0 R /F50 215 0 R /F34 1862 0 R /F84 1406 0 R /F82 939 0 R /F38 218 0 R /F83 1864 0 R /F11 291 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1914 0 obj <<
+/Length 2068      
+/Filter /FlateDecode
+>>
+stream
+x��ZYs�F~��[��p4N��V٪�
'�r,e�N�F��BW P\�ק��E�2)�^�	�
}|���
�����v��fvq�1+D�G=�fe���=�\J����d��/��.y��eY��;W|�&��v�^}�Sl��s�E>_Pۗ)�k}�Q���&�H�x��
�s�ݼ���f�nj�@�"J �G>s�(�}�
[1�o�
a`mU��r(�kj]�~�a�̡�R��%	�#��"�=��gJ�8m?����s�$s���s��Bks�Nb�^�]��UO�**�7K0D���Ǘ�>c
��`�ZL��Ag2��^/�|l���H�)E�C�(
�Ƶ��H�?M!�0��^,@�é��]R�6���n���8ϴ�͒h��Ft)�N7b��,D��'	��xb
�"/��즄A��{c*���` �~L�U���j�|;�x'�F����4B�b�.\	
+Ip.dV"+d'�sY�<�8�D^�O��a��*�~��zy-��1�by+�����@��
+���<M[o�ԥ���S�5��;�]d{��EԀ#�`)퉾4S_�%�;Q
�Ҵ��z�\���}����ڮ�F˧����ƭ�v��-�v���BOԛ�I�b{
���
=��ߋ=!&��0hj�r10�D����}�8
,!E��,
+��+!�#�1?��^��!�p�:{�eOB�v��^�E��p
Q���
ل���O��L��!��=vFycn��`�,�8i��\G�O��v"݃M

+E<DX�4�P'P(���υ�U���x��S�����:�����3X&Ҹ>"uG
&��C����jN��a�8ɧ��	�	/F�蹓S�˯��r^^5	O�W�<j$�r����r
�x�Q
�
+M\����a*џ&5�u�ӹ���B3Pz�ͺCauzK�
+��9>PT�\�O�
�zWD���|K�$"Z���.;���?�|�\�
��$��E���� �j�iY���rJ�a�ԍ�|�d
2W�/�"-�s�Q��Y�\6��b��J����}�n�\�s�1.2��

(O\�yј�Ր��~1^:TA
J*� ����X7&j_Rx��MbL�VUH���j_���TV{w�f�xCO���"|/�w`�l`z��^���0e �
�fS����o�ڠ��� ��(�����q�ߖ͒<ɒ?E�<����ccC�Isg���t�ě<�
��*��^:a=����/do�~�y
�,��d��}�O�00��mìm�3�'�k3E�|���I�A��k��`��I��"�头�� s
�x�I�e�3`6�YZ��_n�(�����Q�vx�
7�ߦ�4��
��S�a�F8
���p �cr
�!0u�}�nȦq#�p8�Y8
P���wɌ�w�4}1{�pͳ�h�d�)KQ-o
XZ��/q	QF�E�W��\�E�78d^)3	��
+���/��o�}�/f�md
b�\�{n��f�T'b-���"d��
ٰ�X��*��Ljv��y�v�֢��a�]������My,
R+�1���LK{+�8DEVn��
+��l��nb��E��)��n��{+��Sk#�s�o~
uZ(1��:�;?|I����4�K��c��H��I�t��H�?F@��
��{��'��Ħ�G�#�;
�@�n�&}n�T
�:7?Zr�����ք�a�Bl_y
�$ys�b�BD��gA(t���(����c��`���寀��:�v��J�A؟M�d���7'����:h"�(����Q�,����g�����vg���.��"_���hPz�h�5�pU��-��
���qD1&�p%<�
�8�W�����С

������������<�R��?B
�&��a� ?܏����E�C��I��� ��&��W��ٸ��m��ǟ�Y��=��F}��<_o��
%C�ZI�v��֢�n��˿y�i�dZ�y��OA1o������#��E���-����8S~���>0��[H|uq��nQT�M��J���L/
ng��Ho���V�BVT€+���S}�C�
vh����|��8�D
+endstream
+endobj
+1913 0 obj <<
+/Type /Page
+/Contents 1914 0 R
+/Resources 1912 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1920 0 R
+/Annots [ 1855 0 R 1856 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 1911 0 R ]
+>> endobj
+1855 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 708.953 250.443 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b492b453a39228bad565e4964c7ad257) >>
+>> endobj
+1856 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [254.259 708.953 302.189 719.857]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1879 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 674.084 280.59 684.988]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_88d0ec91f9e05922238463630dccc296) >>
+>> endobj
+1880 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [284.406 674.084 341.182 684.988]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1881 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 639.215 311.026 650.119]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_95849529fc06d893870e1b39fe009db8) >>
+>> endobj
+1882 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 593.387 275.759 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_178d863fdd91da50df37aac742b5f89b) >>
+>> endobj
+1883 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.574 593.387 314.762 604.291]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1884 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 558.517 267.061 569.421]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_e44edf9029d653931c7a450481127e14) >>
+>> endobj
+1885 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.877 558.517 327.653 569.421]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
+>> endobj
+1886 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [385.705 558.517 420.892 569.421]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+1887 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 523.648 268.167 534.552]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_beedcb4af89476e04d9b358ae522dab0) >>
+>> endobj
+1888 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [271.983 523.648 340.246 534.552]
+/Subtype /Link
+/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
+>> endobj
+1889 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 424.33 227.679 435.234]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+1890 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.177 424.33 271.664 435.234]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f15807720fca193200fa6ea8627ef10b) >>
+>> endobj
+1891 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [151.535 387.468 227.679 398.372]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+1892 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [228.177 387.468 319.264 398.372]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_dd26476af2dfda6abbb7508ef88cae2d) >>
+>> endobj
+1893 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 350.607 230.519 361.511]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0c70e4b9986758a2c5cfabd0968c80a2) >>
+>> endobj
+1894 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [234.334 350.607 276.157 361.511]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
+>> endobj
+1895 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 315.737 234.394 326.641]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d8155c4d2baca71b59e67eb7396bb18c) >>
+>> endobj
+1896 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [238.21 315.737 314.353 326.641]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
+>> endobj
+1897 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 280.868 241.617 291.772]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2d8112f8870851653e56b12e910f7e45) >>
+>> endobj
+1898 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [245.432 280.868 293.362 291.772]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1899 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 244.006 266.244 254.91]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6661b721ae109cee00992746554acf53) >>
+>> endobj
+1900 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [270.06 244.006 317.99 254.91]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1901 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 207.145 282.015 218.049]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_894ed94e4bfdc07cd6ef5d45e5c464b7) >>
+>> endobj
+1902 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [285.831 207.145 333.761 218.049]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1903 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.54 172.275 262.638 183.179]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9a506db5b2ca3606ffdc72bae993831) >>
+>> endobj
+1904 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.454 172.275 314.384 183.179]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1905 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.765 137.406 332.797 148.31]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5c870a4502b7d88bf273472936bf4fb8) >>
+>> endobj
+1906 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [337.725 137.406 385.655 148.31]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1907 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.971 137.406 475.798 148.31]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1911 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1915 0 obj <<
+/D [1913 0 R /XYZ 90 757.935 null]
+>> endobj
+1916 0 obj <<
+/D [1913 0 R /XYZ 90 439.394 null]
+>> endobj
+1917 0 obj <<
+/D [1913 0 R /XYZ 90 404.569 null]
+>> endobj
+1918 0 obj <<
+/D [1913 0 R /XYZ 90 297.969 null]
+>> endobj
+1919 0 obj <<
+/D [1913 0 R /XYZ 90 261.107 null]
+>> endobj
+1912 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F11 291 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1946 0 obj <<
+/Length 2225      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o��~ׯ�[) ύC�(
+l�Iw�d�M�>4Y5���%);��=s�U�l��
P�XCj����Ό�������^�ή^
�(T8�'Ď/�(qn��'�`��|A0��>*�h�/��N��h�&�2*���������n�����MU�~����y,A
猻B��}3{u;�uF� �m��#�yN��>���5��
a���Y��)����8�y��3�{N�#+|����3��V߬s>-<�2��dN=�nN<L��X9���|eg���+լ4ɒZ��?��R��_�2�p��"_B(�m>֨�}�
>+�}o[L�=΅�8o�O�{S�U='n%y��x�j�MɊ�s���q�P� q8
BP�ٰ�D�$„�ׄ���!I~ "�̿��L`Dy3�Ǽ�a�Be�
+cy�����a,lf�{�#��|^��1�
+�պ���
B�n����{n1'ؽ��lC��I3(��weuHk�\l�	�e���!�7�A9,̓|k���8"�6��"�j]1F��h>��*�H�B�+�֊����*٥
+�ʶu#ɍb��N1	@���j�8&`m�w�u?2��E�`����'�:	��
+|�>cL�� �q�#������X�u�R�a�v��%S�R�-�NB���UĠ�
!?�� !���!
�#��]�|
������ �|-H���
�B	��f?#�FFl3� �	x�A�Ι 	��m|S���'�2
�D�/P�`��
+xc�6�`
O�^��
+�8	.cE��0�����!<4 ���7�
+x�}�O�00Q�A�0��
+�zFē���a���CuN�i���Y��h
� E�DKੰ�X?���m��L�	��I'��	!c
�ޗSe���z
��){¡�s����	lh�1����Q��z7!J�FK���T��oK��	� f>n���	�^4�dx��
�)�1��߀�(L��*J��c(�caKiOiz���3��!>��|`x�Ҕ
���ϔ���~㦗�
)��mX��O8�4
���^��1�a��N��3ۦ�f��1
+c*��
�b�p�E�
��ȧ�%�{��<�1�4ʅ��S
F1�a 	���}��`n�
O�.�w��
S��� ��.B�3Z����n��Ȩ���b�w/�����^�Q�6^|/��L�NN�D��E����7���;E��
FT����
K��
(����ʭ�~��pl�v͢�Q16���g�{e����}{p�h���~��K�?�/
���2"���p���ʊ�6�4,�`�I�ܵ] ��i��5uѳT^�5to���C��ae����֠����xTm��a
��աvկ�]qH�
u2���
+��*�U��V�
�e���f�uP�@�wE)Md��R�[5��wo���
m�{.���0��q��A^�f���sSJ�!7=�G؋��wQ���k�s�s�����8i���k>Ma�E��Q~�R�c!n콮�|��N౔�
�RN9
+��E��C&[��5�v�l���b�Ā5�f�d{��U*�6ܷ
�4 ��;���U��Zl����Q
 �Kt+L���
P��"�����k��븹V�:���<���L"������)�LKKwQ9
�Q �
��&p|`�@���Aև2�Z
�i����AN�q�jN6#
,�&��fB4~���ַ�`��f���S��{�]�V at wN��PCaw�2d����7s���W_b����>s&��(�Dq��K��
_Di�^~W�ͳl5����� rҶ#�������ʺs����qB
H���nb�v��0�j�`1���3
�i��'��(��@
75=��=.�M�
������Zn̋l���p���B�F�=U���՗��wXU�mʠBxyi�#��	�!j�?-t�]RQ5H��l3V�ռ��x �#L�\s��A�����

���86
�@��?���r�&�$��#�t��/���������J���3��g �]�@G_U�  ��
Q ����

+���I"�E���4?
��*��5�™��.
��4 	��;������4y���m�hkE���r�ϤM��O8��e�y�-�w��֝�q��0�#�R��>RgP�~���D�?N3��L��‘Ct�6���������
�:�ɾDI}�ߧW�}0��>�[joJ��l�Lq ����H$�b7ӧ��\��:,�
+endstream
+endobj
+1945 0 obj <<
+/Type /Page
+/Contents 1946 0 R
+/Resources 1944 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1920 0 R
+/Annots [ 1908 0 R 1909 0 R 1910 0 R 1932 0 R 1933 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 1942 0 R 1943 0 R ]
+>> endobj
+1908 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.932 719.912 318.587 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0d6e2bbaaefe11efb5429fe1a61e3d22) >>
+>> endobj
+1909 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [326.098 719.912 374.028 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1910 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [392.157 719.912 469.985 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1932 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.144 663.543 337.254 674.447]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_27c32393002b42d894f964a5d60af964) >>
+>> endobj
+1933 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [341.371 663.543 389.301 674.447]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1934 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [399.794 663.543 477.621 674.447]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1935 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.311 596.215 323.044 607.119]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d078549415d6b45298d374eb3b6f5c7d) >>
+>> endobj
+1936 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [329.745 596.215 377.675 607.119]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1937 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [393.981 596.215 471.808 607.119]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
+>> endobj
+1938 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.806 465.607 195.736 476.511]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
+>> endobj
+1939 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.44 465.607 513.996 476.511]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+1940 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 314.265 230.651 325.134]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1941 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 204.631 230.651 215.5]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1942 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 94.997 230.651 105.866]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1943 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1947 0 obj <<
+/D [1945 0 R /XYZ 90 757.935 null]
+>> endobj
+1949 0 obj <<
+/D [1945 0 R /XYZ 90 528.358 null]
+>> endobj
+1950 0 obj <<
+/D [1945 0 R /XYZ 90 416.804 null]
+>> endobj
+1701 0 obj <<
+/D [1945 0 R /XYZ 90 394.492 null]
+>> endobj
+1951 0 obj <<
+/D [1945 0 R /XYZ 90 394.492 null]
+>> endobj
+1702 0 obj <<
+/D [1945 0 R /XYZ 90 308.71 null]
+>> endobj
+1952 0 obj <<
+/D [1945 0 R /XYZ 90 294.776 null]
+>> endobj
+1703 0 obj <<
+/D [1945 0 R /XYZ 90 199.076 null]
+>> endobj
+1953 0 obj <<
+/D [1945 0 R /XYZ 90 185.142 null]
+>> endobj
+1704 0 obj <<
+/D [1945 0 R /XYZ 90 89.441 null]
+>> endobj
+1944 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F70 298 0 R /F65 249 0 R /F84 1406 0 R /F83 1864 0 R /F87 1948 0 R /F81 703 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1963 0 obj <<
+/Length 1763      
+/Filter /FlateDecode
+>>
+stream
+x��[o�6���+�6��IeÀ��u
е�S[�M��lɓ�ٯߡH]-���C��$�P�F�s>���m���FϯF?J�(�TW� ā�	J��y�~L0bl2%��&����&]�/�<��W�Me���o&���	��4�L����h�u�o���L23 �s��RM>^����5"`Ha�PH1�֣�q0���#��]1j
p���*x7�m�:C�R4�Aq�P����'�����o�te��s<��\G��u����
�:NL�]���q�o�1�\��Q���8��B��4v|1��
шJ�bг�T�
/R���1��&�{D
�tX>��m��
ɔ���Hn����f"�~~�^�s�)]JīǾ�F�U#��Y��$҄���q�J��bw�
��f+���7H�Ơ)�
I
+��wcߚ|�%[/S4�c�e�D��L�L
+� �
/lB�q�������w��־
+�
��͗���������Sa֛��V��Dj$�*6��=A�M�K�����ҵ�s�N���)lfڛqң�`�p(���`�7a�ĉ�[Ƴ��4����4J�g�̗�3X왱��8�4�b
�v�f�+�,]ov����ƕE�����`=<��"���(��&7����t-���5R8c5‚�'��L7$�WSvU��*J�;66� �׭�Z���7~|Y��edn�0���3a���&�ێ-ߧ�
D��^��w
+ݠ�!�E��}�[�,�S�t�
92�G
t���͏����ys���8�
+���}�*�\��y�	,N(]��K.K�J�n
8R�T�ڦ����m�']H�$��u/?��&�e>�qN�[O)o�s0�
��Ʉ�Q�*�_�����J��J�@f�H �!m�i�Z�*l��)b5'
(����Wu�S��:��r���-�8��H�f���]"�l�SHh僵�-�H�Uj��(D7
ǴlZ�0��#���^�Ec����^u��
��׳>�`�pQ����<С�j�
+�(�4d	ս������u_��\
�;`f�A`+0��ڢ��L�(VW�jY���7�]�������n��ǧ�"v�_
ѿ
�'������>E���E?�C���Rɽ�Ȭ�>�ג�I�����?S�Su����6�s�[(�
+���(q��7Ul�<G�����������N����A��{٬\�s7�_r.�;q�����R��5�'6)

�a�	����
�_���❁���t|
��Fת�
z��������)�x���������Z�_�A��H7R����!����C��8n'ޣ�?��/�������	�Oی�N�MN�z
��F�b<��u:������_�[4��|��=�w�ʳп�Z_
�y����/�C�r�����_��CD듾���S�_á>H�՟D��B����t��?�x�I</��?�
���BM��Np�R���P��m&�vS&eS�'m&�S6T�;?)7艛	�̈́=%������6*Z�ܿM'�
+�-Mf���핝G ����z̊�����:C4ϲ�����e��e�q/C���Qby�͌��z`h'�v��� X
�������&���. K��Dw���;yYHp���Qr��n���H�E�3���ɾ�1�9�k�좕;�@�JWV�]��ić0�>�d�@�;c|p\D�
ʣ_�+\�'U�Cu-_��������Ͷh�ě
���f��؟�Z
+!
՟~�T�Ӭ�}Z��S�E*�L!��-u��e�}
+endstream
+endobj
+1962 0 obj <<
+/Type /Page
+/Contents 1963 0 R
+/Resources 1961 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1920 0 R
+/Annots [ 1957 0 R 1958 0 R 1960 0 R ]
+>> endobj
+1957 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 541.376 230.651 552.245]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1958 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 290.978 230.651 301.847]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1960 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1964 0 obj <<
+/D [1962 0 R /XYZ 90 757.935 null]
+>> endobj
+1965 0 obj <<
+/D [1962 0 R /XYZ 90 733.028 null]
+>> endobj
+1749 0 obj <<
+/D [1962 0 R /XYZ 211.842 504.862 null]
+>> endobj
+1966 0 obj <<
+/D [1962 0 R /XYZ 90 490.137 null]
+>> endobj
+1750 0 obj <<
+/D [1962 0 R /XYZ 211.842 254.464 null]
+>> endobj
+1967 0 obj <<
+/D [1962 0 R /XYZ 90 239.74 null]
+>> endobj
+1961 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F11 291 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1974 0 obj <<
+/Length 1923      
+/Filter /FlateDecode
+>>
+stream
+x��Ym�����B�j1��"�E��!9�%��-�!	Z���ʒ+��m}�"�BY~��"h��%g�3��#�h���ݛǻ�o$�4Ғ��q
i
Œ AI�~���/�x�O�]�/���Y��S�>�I����qN��Oω��|A��͒�r�Ofm�{&_��9�3��?=~�����w�i1������~��
+�?D��Vѱyjq��?�����
���Q�
�"Ŕ!,��l�|Nw�]�A��!�DK��,�˃�O�#��!*Ǥ}(];{�|�E���Q{��7���X�m�$��у���ſ�T�C����ɋ�"��hA��t�mF+;숵f�mk�j��N��ԩ=U���˥1��+�$dvL���x6n	
z�����:+`z_�y�E��-��:��};ܚ��:8�&�;�y_N��ҝ)�I�[S�=Һ�
����?i�C"<���h
#ÄYp�$GS���N�ן�fo=V=k���������#
+�X�v���}>�U����?������S���>#���g
�eam<�]����S�$���A��?D�T�K�mZ]T�X�`lV.�|Y���ϙ;�x�d,a#�=n���E!M�u
��]:۸�zfv���
�r�K��}4!8/j7x.���
ex�.���N��9��c��r+ 4�]J�>�P�QDb:޽4��l2��k�ܠณ)�OY��R�o��H1���b:m>�`
+\�a����	i
+q�N�23�ڍy]
 eVȋ��q*�P9�������
BzN,��ȗ҆D��$w�(��4�������.�MR\�]�*�#�����XLx�=(@!P���f�#�t9'��iB��H�>
+�uK�t
+~�q ���/�&Cѫ)���(=���)lO�ud(=��N��\BP"o�ɝ
+b�9�y�����l<؏A��}���L���BÑ�Q�9Ҫ3b�L���$���H��=����j�`3�
}��bJ
W����`j�@	�&���p���s��{x��N��k�u�gJ��
�
�{`�ѳ�\�uO��0a�D-�lcHsыkv9n���M-W �$C
+�k���Q-�m��vA��6qmS'�7m�+�?���oڬF~�xm
p�=ڞm� *�Fhߙ1'���פLv�6���\/�,4�\�gB���j+F��nllI1
�]��;����8�j	���Ͳ�$����4��
!�����1T:ub~=��'G�Ƅ�\�]Q�mv��ꢆ@�br����8����
t
`�Y
+�� ��4
�r��z]_�@	�:��(��M���J0P-Z
+7l��%j��͖_�L�?�㟣���'
��?c@�S�i�'��|�?��֍0����2��	(%�Py��9<K@�����i
+
+��Nf}�b��N��,�{ˋ�_��
_���MІ��
�E8�,&��T�T�����YK.��9��̃0g�u��q+��̞�i�ub,9�&�pؓVu���l�a�.���l�S~��0���C
�C2��+��E�J�Mۭ�Gc�ъ�3�TgO��	V����w[,A����-b�
�(/��c�r�a�����[N����
j��N��!��ЗA
	�-��$�F�@͡�0��-���|�܆Ć�
�6s�}�t�E�/��Zj���my
��-~s��	_儙M �.�
+����������
ƥ3��O�/�n/��3{�=T*�Aԍ�C�ϟ�	(Cms�t�J�Gd��}a3�_���.�s9�.>$6�
!�|sH6^���6�y���S�L��� �����$sc

�Fٿ���6��KC�Mjd?/����x�8��#jG�:���Ic�d��n�z�p<
ѲB�<ݗ(���������R�շn_슲}}�b�	 n
kH�L�H�'g����P
+endstream
+endobj
+1973 0 obj <<
+/Type /Page
+/Contents 1974 0 R
+/Resources 1972 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1920 0 R
+/Annots [ 1959 0 R 1968 0 R 1969 0 R 1970 0 R 1971 0 R ]
+>> endobj
+1959 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 647.077 230.651 657.946]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1968 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 360.728 230.651 371.597]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1969 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 214.648 230.651 225.517]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1970 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 98.147 230.651 109.016]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1971 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1975 0 obj <<
+/D [1973 0 R /XYZ 90 757.935 null]
+>> endobj
+1751 0 obj <<
+/D [1973 0 R /XYZ 192.853 610.949 null]
+>> endobj
+1976 0 obj <<
+/D [1973 0 R /XYZ 90 594.914 null]
+>> endobj
+1752 0 obj <<
+/D [1973 0 R /XYZ 192.853 324.6 null]
+>> endobj
+1977 0 obj <<
+/D [1973 0 R /XYZ 90 308.565 null]
+>> endobj
+1753 0 obj <<
+/D [1973 0 R /XYZ 90 205.942 null]
+>> endobj
+1978 0 obj <<
+/D [1973 0 R /XYZ 90 191.441 null]
+>> endobj
+1754 0 obj <<
+/D [1973 0 R /XYZ 90 89.441 null]
+>> endobj
+1972 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F65 249 0 R /F50 215 0 R /F11 291 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+1986 0 obj <<
+/Length 1348      
+/Filter /FlateDecode
+>>
+stream
+x��X�o�F~��[A����]�{h��*i+]�t=!pklj�#��;�
!��F���^����}3�������z?�{�O�yiI�7�{{�$HP�gޗ>����O0��u����:���f���8z���y4�<��_=
�O��O���a����fn�w&���9�}�_�w�����=a��� Lx�U��W�����~h�m�Q+�S��{����g��
a)��A\E��E4 ��������:��M�L�M
C�x��&����}>�F�ҙ�

�}9������[d�2=�j�I��H�D�s_����X9r9)�$čxo��1�2�I$)wc�M�ɒ
+�bi܏��z�L�Y�,�ͣ)��$_�i�d9���̔HȺ��+�Q����cR
+����4i��5E ?�>HQ˼@:h\@%�j�
$�gT#Ψ�"	V�O>>MͺLʨ���j	�-*&�[�-�B֐~���6p `G���b�2I1if�� ,i�;���,
P��V E�dq��$���,
+R ��9�A!�*hg�C�~�L�����At�� A�͠d��MNI�7McVy�J�sF���;j^�l�5�<��-��[�$���-�c \5F
 �"���2��4���HpD���@M;
�iy��#�/�.Q
M޻v9�� 	~Q�
+iM��{lB�28�uhNX��j�*R�M�xniսJ3w��lt>%�0����HwI�L#�j�J����ɞ�1�N�y�E�������%�	T@�/I�r�t��
H#��)�:�M�8U �m(I/�6oJb@۲ �����ӿx
��S���������Y���F ��=]9��n	P��`�D*8˼S�D�̅��k�{ [�0��h��~��-��PѨ��߷a���P�}e�o�G����R�������2̗7�����'D��5���<��^l�
��8��
��%"��'�4i5>p��t���]\ѰN���ڛ�5�L��>,���v��i�K ��w횇�eB����@���4^?!
��"Ҡ۞�c@�(�m�C��kw3P}TՇGO�
w`�T�\E�0�F�d�Y�_L`~����՚����ĮJ� ~�B
�o���h��

+a}pf�J5)�>��+�&����|����y���,��n�u����C� ���z�dy�nC-�Թ�G][�W����V�5������
���l���a�؄���mR�ln�N�G��컁�
+�_�d�;N8���� a�/h�3��`L�
������Ͻ�]�4��[�eQ�G��v�E�
m�h�������e��EGA�Zm�[��q�3 N���
�{
\�,;��:rС
+endstream
+endobj
+1985 0 obj <<
+/Type /Page
+/Contents 1986 0 R
+/Resources 1984 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1920 0 R
+/Annots [ 1979 0 R 1980 0 R 1981 0 R 1982 0 R 1983 0 R ]
+>> endobj
+1979 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 644.853 230.651 655.722]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1980 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 539.467 230.651 550.336]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1981 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 410.171 230.651 421.04]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1982 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 280.874 230.651 291.744]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1983 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+1987 0 obj <<
+/D [1985 0 R /XYZ 90 757.935 null]
+>> endobj
+1988 0 obj <<
+/D [1985 0 R /XYZ 90 733.028 null]
+>> endobj
+1755 0 obj <<
+/D [1985 0 R /XYZ 90 635.762 null]
+>> endobj
+1989 0 obj <<
+/D [1985 0 R /XYZ 90 621.192 null]
+>> endobj
+1756 0 obj <<
+/D [1985 0 R /XYZ 90 518.421 null]
+>> endobj
+1990 0 obj <<
+/D [1985 0 R /XYZ 90 503.851 null]
+>> endobj
+1757 0 obj <<
+/D [1985 0 R /XYZ 90 389.125 null]
+>> endobj
+1991 0 obj <<
+/D [1985 0 R /XYZ 90 374.554 null]
+>> endobj
+1758 0 obj <<
+/D [1985 0 R /XYZ 90 259.828 null]
+>> endobj
+1992 0 obj <<
+/D [1985 0 R /XYZ 90 245.258 null]
+>> endobj
+1759 0 obj <<
+/D [1985 0 R /XYZ 431.18 194.542 null]
+>> endobj
+1993 0 obj <<
+/D [1985 0 R /XYZ 90 178.437 null]
+>> endobj
+1807 0 obj <<
+/D [1985 0 R /XYZ 218.507 127.098 null]
+>> endobj
+1984 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2002 0 obj <<
+/Length 1579      
+/Filter /FlateDecode
+>>
+stream
+x��XM��F��Wp�T���0{s\v�NR������b+Q�@dY���a��H��޸r�`�t��~�V~����\��,�HK*��}�q�$A��`�
>L	F���c<�E�6����:Y��&�+��x}}3�x�g$���lN���Dei/�%�I�,���q��T�����ɫ���	�p at j�B�� �N>|������C�kp��{���>���
a):� ��teQ���~2�����ӥ�{B����ry�YYQ�U���X���{�:$
'�f����>�v�G�� ��#pgϜi����($)��_,�.�����h���f�w k-̑���wx��
�
Un�Vk�hy,�d{����`�hJ#'��
8�J�1���i���.�4K��4[��*�r��
��.æ�z�ϩ�HsI��17Ũ��I��g�5�%��Ha
�	�f�^`�M\���~�U��]
���^ݹ�P��+�o�* ���!MNi�
1���Y�]���
'�*��ѵtQ�
o�;�7,	g�M6����&]޾(V�m�U����d�
�@���"�Q1= �O�N�C��~%� �H���e�:����Q*.5'!H�S"�"�V�
X-_
�i��
0��&�A�1c*#�����	�e
+�����C4@[@IHB��9P�P=Vg8�c��`s�o8xU��1
7k9��W���x5��F>Fœ�R�N#>��=}"�
0M��y�1�e����
QN
Ӹ͞�s� ;3$�~�Oq����̈�~��jsl8y�
M����у�)�<�L($�~�>e���:�<�5ˣB�(�M���u&%D^N� AE=:1f�iʇQ�ƈI�B
�e0����x��R��vE���o,;&�i�ve�~�%����D� gR4m��E��3 �e�dR h	�S`x�aRt(PC5|�
-�=_����`�	i
{o%��F�������j=N������נrѥGX��V�n�_��B�
r��ܯ �=�
+��9��G
'�a·Njs�`Ub\�2.��+��)�.�V�Z�P�o�\IO����+Lz�^��
+�*{����BVs(��y8�c��Aǒ�:th�p&�L
�0WchpO�tDD/����ސ1n�Ѭ�af���!7rL�c�9_�\���K�B��Q����K�
m����j���V=�ېܼZ]�fX��;�mM'��M��Nh��0os
�
���r
ǔ���IQk�RK����pP'ُ@X=k�ܹ
��5;<=[�<6���I�F�S?������
侺����
��h��2�G�#
+���3���@�@�T�3
+bp�@A�����z�I�T
����t*C;>���]+��w��O�J�
+{e��Ͱ
�l�
S:�3�m��Y˟R�A-�Wd�����{iӔ6
�{i��3�uЍ�،
w��
{��

��md&�'Sr��([�3�(���٠��2)~��Tr@�e�hӾ��dN�H���� 0¬ք?zx�>I
8�����I��6N���[^W�����p8��D�,�(��v���C�i���\�oҶ͋�V#
��u�j�p
6n��\�3^�
+endstream
+endobj
+2001 0 obj <<
+/Type /Page
+/Contents 2002 0 R
+/Resources 2000 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 1920 0 R
+/Annots [ 1994 0 R 1995 0 R 1996 0 R 1997 0 R 1999 0 R ]
+>> endobj
+1994 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 613.107 230.651 623.976]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1995 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 483.81 230.651 494.68]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1996 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 310.813 230.651 321.682]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1997 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 125.86 230.651 136.729]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+1999 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2003 0 obj <<
+/D [2001 0 R /XYZ 90 757.935 null]
+>> endobj
+2004 0 obj <<
+/D [2001 0 R /XYZ 90 733.028 null]
+>> endobj
+1808 0 obj <<
+/D [2001 0 R /XYZ 90 592.061 null]
+>> endobj
+2005 0 obj <<
+/D [2001 0 R /XYZ 90 577.49 null]
+>> endobj
+1809 0 obj <<
+/D [2001 0 R /XYZ 90 462.764 null]
+>> endobj
+2006 0 obj <<
+/D [2001 0 R /XYZ 90 448.194 null]
+>> endobj
+1810 0 obj <<
+/D [2001 0 R /XYZ 90 289.767 null]
+>> endobj
+2007 0 obj <<
+/D [2001 0 R /XYZ 90 275.196 null]
+>> endobj
+1811 0 obj <<
+/D [2001 0 R /XYZ 90 104.814 null]
+>> endobj
+2000 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2015 0 obj <<
+/Length 1303      
+/Filter /FlateDecode
+>>
+stream
+x��XK��6��+�+,z[b�f�Nnۙ4���
�
<��&���
!��`��&әl0������s$��=����y�����HK*������%A�o4�>v	F���c�]�*���nN�`���� �
��{w�t��n��T���e�e��p�߅�$y�3��I����f���C@!쑽�G>�d���{S��@���~����s�=v����P��� �(v�A
��~1?����O���[l
���0�q8�F�b<I�,O�(�OX���
X?x�ȁ�����pO쒚U
Y��
@ �k>Xӷ���G�r���,t��c����;;Jf�l]=p^%�`����'
�V�K],�+4u^i��D�Q� ��	)�}�q?r�L�����&�����I��#�mX�\=M�s����Z`�B>� ]W�y�8$O����W�|�
+�|\~��;Gv*���9Z�I����(�58�S�$��0�8.���
+���W�6HC+t��X܏�I�Z���!jH�>U�EB~b�}}K�KN�,9aw��<�X*2�
,a�o�.Q(�����X�������q	�
Cb��B�0�	��T
+XO?�	.�+X��� +y��o����J��7�Yh���T����Q�^E�;�Ѭ�OQB렪�wY
� �|DdU����Z_��H� +n�l����m��&3�e��|�׀�:
S,�p�:���4X�y����
+aA
nE$�aIp� 9�3���M:�����3�i��
e�SC㈸G3
+<��`�:K6�E"U��
+�<�9��JZX���"
_Y�
��ŜcE���5ERW�8o����h�`��O�3/�F��E�9ѹ�0���=x�E��|	^��'F(c�ڙ���o���9?�;2#�N+��oc�+ �,j�D�P#o�FF�E3��!� I���a
dY4��C�
WS�
�	t���w�r��/^�@�He!����W{��W
1�����H<��
�|P��=�v
RLPt!2=,�$�,s��sI����X�9�'�y��*�N/
(�9gR��	A�6B���R(��R(5�aΆz	,T��Zy�L��WIj�c��(�a����	��n:��P����:x

��o}��5� @
+^��e�b�5L����o�s��!0<�ń�x
�s'���l_�'n
+��]���&X�������xK�b����Ӑ0C0<�a�c=�W����ie'�M'W���<_��v�&���:EQ>X����ޡ�B�io
!3�=��4��dp�6�@}��"��p��?��~�.

+endstream
+endobj
+2014 0 obj <<
+/Type /Page
+/Contents 2015 0 R
+/Resources 2013 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2022 0 R
+/Annots [ 1998 0 R 2008 0 R 2009 0 R 2010 0 R 2011 0 R 2012 0 R ]
+>> endobj
+1998 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 646.614 230.651 657.483]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2008 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 533.112 230.651 543.981]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2009 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 377.67 230.651 388.539]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2010 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 222.228 230.651 233.097]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2011 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 108.726 230.651 119.595]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2012 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2016 0 obj <<
+/D [2014 0 R /XYZ 90 757.935 null]
+>> endobj
+2017 0 obj <<
+/D [2014 0 R /XYZ 90 733.028 null]
+>> endobj
+1812 0 obj <<
+/D [2014 0 R /XYZ 90 639.284 null]
+>> endobj
+2018 0 obj <<
+/D [2014 0 R /XYZ 90 625.031 null]
+>> endobj
+1813 0 obj <<
+/D [2014 0 R /XYZ 90 525.783 null]
+>> endobj
+2019 0 obj <<
+/D [2014 0 R /XYZ 90 511.529 null]
+>> endobj
+1814 0 obj <<
+/D [2014 0 R /XYZ 90 370.341 null]
+>> endobj
+2020 0 obj <<
+/D [2014 0 R /XYZ 90 356.087 null]
+>> endobj
+1815 0 obj <<
+/D [2014 0 R /XYZ 90 214.898 null]
+>> endobj
+2021 0 obj <<
+/D [2014 0 R /XYZ 90 200.645 null]
+>> endobj
+1816 0 obj <<
+/D [2014 0 R /XYZ 90 89.441 null]
+>> endobj
+2013 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2031 0 obj <<
+/Length 1642      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~�W�� �{�j��S%U�TJ�Ӿ$�
��/��!��w��
s�$Q*Ey�Y��|3�͌����ޯ�_nG7/�E(
+h��.�{a@��Ļ]x��#�&>��3��j����Z/r5ۘ�\����̈́�q}{B�8M&>x�l���]��K]����y�3>��������?#
+a�T
+��Lx�x��#�p��zD��U�b�S����~��ā1�"*j�U�	��{�jq���,�J>���t�e:�ݥ�d1��*q"?`�0�o^Hr�0�|BP$j}�nK�&����L�
���n�OBP�>��Q��dq(�#*[����i�8&�&�V����|w�.�	%�4|�1
+�
+"�a+h? E�(��T�Z,G��$�� ̨@L�'���4iRL{�v�6`�U
�o�Ԟ;�D!���Χ/�	��S��=�W�X'�=i�#��u1p���	�
���5C��	N.�D������C cѢ�r��*SH�t��M2O�
�nS����{a �P�Xp�����������Y�F ��(�3yO1>�{�8��Nfy�nm�[9W�>�
1L������@�T|����=�s��z��x��"�p*;��
4�
2�1����
>�ظm�.��vS�kS������V�*)�^�h;Z��Mbb�^<�GK��}W|Ģ#B
+�#‐��Q�T��3�QYѱ�r=�}9�I�	�-:���������IV���ą#$Eט ���p�p.t���;]�N,a��e_��a@�2�A.�9��sSN@��n�J��Q�R�8ۘ�~�- �f��ݧ��k��s5�h
"~�s�%�"���ǜ#�YΉ���!m�P
�H�:c�K?sMO��{G@�����t��D8�{�@.
�*�Q���)�N��L�-QJ:�td�^���K�X�_.��
�V�RmI�Q`�=S4���<ы'��*�vQ�3"���
+ʼ �L�.�i�t���I .P$v�A��9AFgZ���@�<v TK�܉��X�����DP0ʚ;4ж�W��Mto}���#Q�8�M�Uᔹٴ(� �J��zQ���J�iw�/ �g��,���!F��:Ia�Qe:$_P$�p;���6i!9G�P�Α{��h(Epy����\U͵���t�
��
��$���KSnģG�M��7k���d�M��U��̕X�[��a_�{C�a_���==:
�����������:�gH���E�׶:U%����C5
+�S������$T��*
+��b�~%yc�C�*ֶHMϰ�p� ��s����K���E���7�����	��8򣭟�����z@���H��)~��#�d��s�P�<�N�I�`敗z����?�h}�S�
F�9}�5!?�������ݳ�$�Z����(�5�;]�W���"���]
l��	IJm?����	 �y�?2�?1�t&�
��h˅�G������Z/��ꖯ]�u�W�Z�z��JV۪���K��9C���?���i"ĸ���U�m ����![\1�%�5a����;�kp
"{��o��F:;iHa�iyd]����f�ۡy����rdʛ,�ܜFO'�@�	��]6�����S��`��!M+�j�8��G�{
+endstream
+endobj
+2030 0 obj <<
+/Type /Page
+/Contents 2031 0 R
+/Resources 2029 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2022 0 R
+/Annots [ 2023 0 R 2024 0 R 2025 0 R 2026 0 R 2028 0 R ]
+>> endobj
+2023 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 645.122 230.651 655.992]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2024 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 528.369 230.651 539.238]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2025 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 399.66 230.651 410.529]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2026 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 258.996 230.651 269.865]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2028 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2032 0 obj <<
+/D [2030 0 R /XYZ 90 757.935 null]
+>> endobj
+2033 0 obj <<
+/D [2030 0 R /XYZ 90 733.028 null]
+>> endobj
+1817 0 obj <<
+/D [2030 0 R /XYZ 90 624.346 null]
+>> endobj
+2034 0 obj <<
+/D [2030 0 R /XYZ 90 609.824 null]
+>> endobj
+1818 0 obj <<
+/D [2030 0 R /XYZ 90 507.592 null]
+>> endobj
+2035 0 obj <<
+/D [2030 0 R /XYZ 90 493.07 null]
+>> endobj
+1819 0 obj <<
+/D [2030 0 R /XYZ 90 378.883 null]
+>> endobj
+2036 0 obj <<
+/D [2030 0 R /XYZ 90 364.361 null]
+>> endobj
+1820 0 obj <<
+/D [2030 0 R /XYZ 90 238.219 null]
+>> endobj
+2037 0 obj <<
+/D [2030 0 R /XYZ 90 223.697 null]
+>> endobj
+2029 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2044 0 obj <<
+/Length 1992      
+/Filter /FlateDecode
+>>
+stream
+x��ZIo�F��W�V	�Ƴ�� 	��@���$�AK�DT�X������Y�
Mj��(r1
�2o���q�
p�r�����dA�"Iep�"
(I��$���#�&S�1
�q�������*���:�)������	�c�zB��6�L���g�x����Eb~K�Y�8g|����������#��B��`�}���9�
�
QܙU��S�u�~��;g�Sa�0恢ɭc�?ϒ�L����ѕb�)�άw/AhHZBI���)�WBX���	���x�ί���&���ZS��������q��Z�	�;�QI�q��B�=����-��'�$�n�,.��]��WaJ���Ί�'5�>�J��I����M>�}
+FDEբ8��ȡI��5�
+�8*�H�`�A
�w���<����O�l���q�ެ�y�#}����(�ڔ۸�%0�7!I]Fg��������SY��,��
�
�� ���ĴS{�CL�`�	�mU-��aW���@j�?`����oӹ}:��//��G�i�\綦�M�tR?b���D"��:�f�r8V���ަ{��[4��<���	ajN�^��ޤYPeΖ�ΕZGk���~��ZCD%m�Nl޳mb���P�=��@a4X~�|A��j��W�'�S�#*~*$�kXO��e��B1.�}} Z�T�2
+z+g�" �5!	��n(�B�
��[ǔ��N��ͩ���lgxPD9��}6�Ibwae
���>��k^o�<O��}�����E� �đ@����{_;l�p�E��~�J&D�!�\�����R�e2�/n��	�=�xappL7^l�N�R �4i�
�n��


+�
+�C��[�qo�2)�l�L�i",���y�
�4��u`/�捎��ޭ��ʽ�V{4o�bU5���fW��L�?wL�:ۦD��o�h���{�d %
+�j����aC�Rk��M�!{�	�������,���4����w��[h�"���J����~]��`�w�n��3YI;�O�o�� E�)�����!E�A�d )�P������
�x���z~]#F���"��wT4��TT����Y�\ Cȱ(��D�~X	���k��$�-���'B�Edz�� m�i��`L����(��ɶSA
��(���
xcb ��Ѧ?�ܵtP0�� x
�u�U -Y��$%���DG��*�j��u��E����
�x(���?2�z~���P*Bp�܄�Vb�N�QI[[-
+ 
j �(�g
+�D��d�X��D��>n8�D�qŪ���!� NVH�(U@ C[��m�ڑH���T�*��8�(<u8
+A$�tY� Ԓ�O�7�g5���!8
r�BX@�:�J�nظ���t�NO���|
�-Rt
<�O@�
����CV3�C�lP���,q��vbx�����sd�#1~�#�<'�5
?:�vp�F�A��6��
7xס"zѢ�)��Z��_h(j�;��m�Y������5�l󩃣�tz�|Gb�DR��滞��p �s
+�O6B�p
+�A�%6TYb3�'B�1�Ëݎ� 9���'}ЖP��ЗH �.x�U����������B�
��2���Ӵ#<�8�G!N��t�9i&	����1'`6-�OcN�Y���&P���N�*�m��Y��?H�IU���UG��C���������!<J���(r���z�C
+�O���
�r��k?����T��S�G8�Z��T⁜J
�T�+i-�IHƩ�(��>�:̩ QՀ^
�Tp�<�T�aR��QK��養RE��0T��I��PdzH��A������'�
1t����d��� J\�q魶A�~�X���Ƃ ��:�H�F��
g˽����*�D�\�BB�⧉c�~��}�)4@���!�j���
[B��
�ҼO�9vG�
+��_Gfn4~RE��궳*��������vh��y���"������I�#Ug�
+�f[�����Љ�09�;�N3X�1I�����7.�
+endstream
+endobj
+2043 0 obj <<
+/Type /Page
+/Contents 2044 0 R
+/Resources 2042 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2022 0 R
+/Annots [ 2027 0 R 2038 0 R 2039 0 R 2041 0 R ]
+>> endobj
+2027 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 703.18 230.651 714.049]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2038 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 488.591 230.651 499.46]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2039 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 243.289 230.651 254.159]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2041 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2045 0 obj <<
+/D [2043 0 R /XYZ 90 757.935 null]
+>> endobj
+1821 0 obj <<
+/D [2043 0 R /XYZ 90 682.698 null]
+>> endobj
+2046 0 obj <<
+/D [2043 0 R /XYZ 90 668.229 null]
+>> endobj
+1867 0 obj <<
+/D [2043 0 R /XYZ 90 468.109 null]
+>> endobj
+2047 0 obj <<
+/D [2043 0 R /XYZ 90 453.64 null]
+>> endobj
+1868 0 obj <<
+/D [2043 0 R /XYZ 90 222.807 null]
+>> endobj
+2048 0 obj <<
+/D [2043 0 R /XYZ 90 208.339 null]
+>> endobj
+2042 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R /F7 966 0 R /F23 216 0 R /F8 300 0 R /F13 965 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2056 0 obj <<
+/Length 1901      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�6~����l�fx�=uE;�ۀ�����b˶0Y�d9i��wxх��H�"@Q�yxyx��K��M���'?]O.�HD(�T�� �A(	�׫��`��lN0��}\��ž��ɪ�YzS�����Ռ�{=#jZ�9x�*��|���-ɗ	���i�g���M^_O��p�8 B2,w���p�����#R���
8e�̂��'���A)�	�`0HXR��6���"��/��ԋ7w�1�B.��p�Ml,�q��qU��[������}�)��*�7��gTL�˜�nh2#b
+^$�CZ�?���;o�D��[�VI^�����@
��"�^
�pD�e��9��~�=�fкnT����Q�%���+�ޅ��m�f����}h�)�s
+��%(��*gn+M2m�$�ʾ�K��m���L/{�ܧ[�~�
ݦ
.�m�w
�
#I� �#�#�����d�}8\zsۧ��r����	8@
ALQ��|���8KW����gѬ4�N�p	�(2���ni�G�A���Z��Dg��A3��E=�R!��Nz�V�$�ʜ���܂�u"�Zײ�����
�f��Ȍ=z1`��Ma=�8n� Ż&��+�t���)|��H��R�b?]6�cR�K�b�R��<����*��ܷ�n
�a
1�j���Pp#N�3�e�p�
��a/��4k`e(�R�s�2�&^��xw���
+d��#��`��[z��ӈ)�.ҕ�_7���$����_��"^�Z�Hw�ƙ�I��,�pDi���8�]O�'E��^t�hN��l.�ƶ,ַu��~wSd��N;�L���n�8$7!}뿦y�P�?M�
X#�HDQ=����
+QIz+�*�c�T�S�B �
Ͼ���_�^����|NB(��^B`�Ѵ*���Ƅ�\��+�J�A�
+�9���#x�ۍp�E]��eոn�[�da�D�T6�bc�?��H��^; ��d�3N]��3�����ۙ��:�� B�L���=
I��
�Q���� |;�Ќ�pz�"�49
+8�����:.����I� ��eo蝡s�Kq�
a /*� hQ��7h���
+���owۤL6J��Q[�:�2$w��չa�e}��Hےa� @�Jg�a���� ���P!�+�X)�*=Ju(�Eǣ:W�?��.��r��J�:�\t1�'�:K�ȶ�[�mJWI�˹">̿;X0ƻ�Cx�q;�����Q� �w�С�a��Lw�sb��r��b�L7���i���d� O�,�x�D���gU�p�
H�l@������wV�Ԃ����~c�u�
���I"����*B$�F�AD��DHH�@�nM�f�
+�-�
��pj	Y(N��k1"aS܇��l��G��H�H1>Ҍ�Ή���1�@o;p?��m�{����
Ƕ�T�~�Q	ƃ��$³$
@�
b!Á@� -
z��:��ee?ۃ�&�W���
�8�*^9���m�kJ����`X�G^��5�׊�*�e5��r� �����
+{r���)�yGN���� �Jk�]Ue7�'�F��$�~���J�+-��7S��DOiQ.G�7���>XK�,� � �u�@o��H��z�y�-m�[�{�
[�ՃbKO�ŖY�ؒ(d_'�����[�ؒ�+iĖx��b���b�AȄ~���-�,����Pl��Dm=��'�-�,���%��ֳ�[�;��A���R=�O
m�Z�&D���=��2�����r�v���v��Z��J�>���h�5����l-����!)�	1u[�[��ߘ�*{�W��l���0["�/�?$��
�#u뗉9���i�$m�jyqqww��t��}���b��.N�C�	Gas{�5|��F�� ��8�Ns�3�zr��k�~
+endstream
+endobj
+2055 0 obj <<
+/Type /Page
+/Contents 2056 0 R
+/Resources 2054 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2022 0 R
+/Annots [ 2040 0 R 2049 0 R 2050 0 R 2059 0 R 2051 0 R 2052 0 R 2061 0 R 2053 0 R ]
+>> endobj
+2040 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 646.537 230.651 657.406]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2049 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 402.182 230.651 413.051]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2050 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 390.102 513.996 401.006]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2059 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 378.147 176.565 389.051]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2051 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 145.872 230.651 156.741]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2052 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [497.06 133.792 513.996 144.696]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2061 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.635 121.837 176.565 132.741]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2053 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2057 0 obj <<
+/D [2055 0 R /XYZ 90 757.935 null]
+>> endobj
+1869 0 obj <<
+/D [2055 0 R /XYZ 90 625.491 null]
+>> endobj
+2058 0 obj <<
+/D [2055 0 R /XYZ 90 610.921 null]
+>> endobj
+1870 0 obj <<
+/D [2055 0 R /XYZ 90 369.181 null]
+>> endobj
+2060 0 obj <<
+/D [2055 0 R /XYZ 90 354.61 null]
+>> endobj
+1871 0 obj <<
+/D [2055 0 R /XYZ 90 112.871 null]
+>> endobj
+2054 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R /F8 300 0 R /F13 965 0 R /F11 291 0 R /F7 966 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2072 0 obj <<
+/Length 1757      
+/Filter /FlateDecode
+>>
+stream
+x��YMs�6��W�Vj&��
�=������q��$��%H┢T�����.H�)ىә���	.�o�>P8X8�q�����dA�"Iep�"
(I��$���C�c�	���8_���&�_�y
O��&����˫1š�=&:�d�	8|��E�.ߚ����lf�
猇J�?^���
�9"�H�PH1�֣�q0��o�#�����8e�?
ލ~
ᓛ�
a)�A1�w��e2&8���-J�v�M2��G���ri2��i�O���if��:^�SpsB������$3q>}�i��S	�&_�Ҥ�-�,To����i�PD4��y6�l#��.7�����f����Q�-7iq��N"Dw�?��#E�5�݇�
�@l��#pc΄�&��H�$�n�sXv�Y�q�o[4��
QJ���UR��1U�1ΞK_u�Y�Q�(ӻ�\9��)�fV

w�W�YPM
J 
�YV��lM��ν
/l

��c�B��fбDJ
��@�H1�E
8�{�b?��c�����1
��T�EϪau��V� 
L��(��nerӳ4#�M��m�H��~��xL ;�z�8]����}�Q᪨�.�̫�����FȾ�j����^QŊ{Z�ɄH0�8S�8�pe���ڔ&/.[jC��$)
�=��`��7^iG�v�z��,Jw��3�"��� H*j@ڰY�a8����b�ɉ_rB B\v�8�("<r�/���̴�> ����+'��D�4
�)�݂��O3��{
��k����ܷ���x��9�J ���y��]���
V�\;<��Qչ}|���R”�E?qkNϱ+�Ne
�x8O�E�I���B�oR�֪(��^!�f����(�:����{�
Zjt���
�,��PC���V0*��u�wRmz�L'�����_��w��4Ы<���A�'�r�DQ�R \*���n�uG��uG�
uW
�\�y��M�}5�'�"O�A���S��U
��
=-���� Zأ�{��k��+�gwѯ�hUyZ���
�f�)=�",���ғ�锞<��TM��z�z�XԮ�Ӓ/b]�yu�WFO,�4�$O"�Ww���N���N|���5�|����
���Dᑯ#���D��;�M�=��SC��*��wT���[@Q��I6-���LRv��#
+̜�xNJ܏��]�("}N�=>��@��46ܔh	�> yv�&�<O,�*���d� ��C+$BPu^��
/kD��Ap����l���4��8��.1��4
+�J:&ٲU� xs���f�����٭2T�;M�
HA`�5��ǩ�%��>�pY��+��W�.I�$��S�b�盗��7/����e���4")F��.;f��M����A(B��C�ن�Q~`
��~��CL�5m2�
>���b�Δ=|+9"�>n�7f�kO���{����4vw�X�h����3�
G�p ��4�DH?� Ve���������W��O`a���д��Y��D1CR�v�'�;��|V���Ɍ�
�U��g�^\�>�y.�7{�
B���sy�gJ	�+�C��~����6��w(��:�C1�ᾢ��gWVn�&��ugij�8Ζ��3�^g�QU{ٓ�o�ɿ
z
�%�ncO�����І􃡢��
+a�6�X���
�?���O�*��>���S�,�����
+t�%�
%��v�^
��Ƈ	@|��VN[�����"LA���DU
Ǒm�U�
��o��M
+endstream
+endobj
+2071 0 obj <<
+/Type /Page
+/Contents 2072 0 R
+/Resources 2070 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2022 0 R
+/Annots [ 2062 0 R 2063 0 R 2064 0 R 2065 0 R 2066 0 R 2069 0 R ]
+>> endobj
+2062 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 557.974 230.651 568.844]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2063 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.086 545.895 230.642 556.799]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2064 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 342.077 230.651 352.946]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2065 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [171.086 329.997 230.642 340.901]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
+>> endobj
+2066 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 169.827 230.651 180.696]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2069 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2073 0 obj <<
+/D [2071 0 R /XYZ 90 757.935 null]
+>> endobj
+2074 0 obj <<
+/D [2071 0 R /XYZ 90 733.028 null]
+>> endobj
+1872 0 obj <<
+/D [2071 0 R /XYZ 90 537.164 null]
+>> endobj
+2075 0 obj <<
+/D [2071 0 R /XYZ 90 522.636 null]
+>> endobj
+1873 0 obj <<
+/D [2071 0 R /XYZ 90 321.266 null]
+>> endobj
+2076 0 obj <<
+/D [2071 0 R /XYZ 90 306.738 null]
+>> endobj
+1874 0 obj <<
+/D [2071 0 R /XYZ 90 160.972 null]
+>> endobj
+2077 0 obj <<
+/D [2071 0 R /XYZ 90 146.444 null]
+>> endobj
+2070 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R /F8 300 0 R /F13 965 0 R /F11 291 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2085 0 obj <<
+/Length 1750      
+/Filter /FlateDecode
+>>
+stream
+x��Y�n�F}�W�P��N�-
+$E�&M�4q��%�%6����}g/����6A�����Ι�3g��[{��i��fr�\2/D��һ��B��� A�w{�#�fs�1��b-vyzܨ��i�,��x}�zF��=��`�g�9x�c���|�n�y���{�3>������ɳ���	�a���Lx����{�������`Fm=N�����o��'�
+B�1�|*��:�zF�4*���TQ^��
-]=H�
	��Co�XPk��K��g�<+�"J2�L]=�
/8}xc&�l�E�T���o݃]�r��d��2�1�6�{H��^-���2�`
=D����`
��.�٧��U�p� k�7��G�}��8��Ei/��=8S-�/�������&��"�Q1=  
b��j#����
	�S�MR�A=ô	�6���	@��EU�L�}wH����3�HGK�VG�� �

 �?f�FEis]�,_ Y	!iQ˗�U�j�Z��2�I6�p@	H���Bm�;���}�ʍF�^?A�а���e�w� Q(EG	 �
�N�T$a�:Ob{�Ҹ�>$�ʒl� �H֙��'x�a̚{�ljD8��[��8�m&}�h1&m;xz\�)��"��	`�ƾ��Ey=�EV�5�o �~3�ϴ!֦�n�[Q�� ##a�pէT'
�Թ��`�r��Ǫ�#�s�$�m��V�r��M�־�8ה���{e�C� [...]
+a]p��tR��2���<�2{��t-����S5�'e�6���{��K`��Ԉ���H��@�0Tk��kr��tc��] �ȍʜ��.=�
��)�c;���åH��P7U�T�n��:���U ��4
�4:�Yj�ɒ�{�9�f]��{U���qR��H�9�0�g�	�Z�q�&�Q�첪
�?_�G��
��J$�=)�	�8��gw���`!�세������Ҋ
CU��!��i+
+&�5
z��8�wdn����w�

��ʑB�9~\�m
�C�#�
+���-�p5bc�m�����͢VQ�����vt����)Ŵ�QJ��6��
�Dǿ8:�MlCa�Q:��K�St at N�a"��a����l�M��
�`a�
�9MA��[�H�Z��B/8���T�K
+�`�O�x�*`�K����{W�4���F@���0~��<�J>���b�
F���S���f�|��4�)��2�^�����F�u�3C�
��ga�c�1���g$��W*[W�ų�ȋGrl�p��{��2��:<m�e���	��u<9a�s?9�Vv�	�{�+�9�}�d�*�����M�Zךt{\�H��rP�z
@T�z{�6�
G��}҉&�%N �}�
���H�x1�"�������U��:	���
9�o-;���
�ohnȃ
}ƹrs���0����3���
]�<p��#tsd�@=�,p�!���^�N&w[g��}e��޼�la��([3�Ċ[C�5̿���f&��A�k��M+
Dў�c�@v�"̊=�Vߪ���"����~���h��>E2lRrSU�뫫��V%�gɮ@Iu���͢�B��&�n�8m�BY�a�B�Ƈ9��$��m���^,���x�
+endstream
+endobj
+2084 0 obj <<
+/Type /Page
+/Contents 2085 0 R
+/Resources 2083 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2022 0 R
+/Annots [ 2067 0 R 2068 0 R 2078 0 R 2079 0 R 2080 0 R 2082 0 R ]
+>> endobj
+2067 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 659.479 230.651 670.348]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2068 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 659.354 513.996 690.323]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2078 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 458.586 230.651 469.455]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2079 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 341.244 230.651 352.114]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2080 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 182.224 212.778 193.093]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2082 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2086 0 obj <<
+/D [2084 0 R /XYZ 90 757.935 null]
+>> endobj
+1875 0 obj <<
+/D [2084 0 R /XYZ 90 638.433 null]
+>> endobj
+2087 0 obj <<
+/D [2084 0 R /XYZ 90 623.862 null]
+>> endobj
+1876 0 obj <<
+/D [2084 0 R /XYZ 90 437.54 null]
+>> endobj
+2088 0 obj <<
+/D [2084 0 R /XYZ 90 422.969 null]
+>> endobj
+1877 0 obj <<
+/D [2084 0 R /XYZ 90 332.154 null]
+>> endobj
+2089 0 obj <<
+/D [2084 0 R /XYZ 90 317.583 null]
+>> endobj
+1878 0 obj <<
+/D [2084 0 R /XYZ 90 161.801 null]
+>> endobj
+2090 0 obj <<
+/D [2084 0 R /XYZ 90 147.231 null]
+>> endobj
+2083 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F11 291 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2101 0 obj <<
+/Length 1689      
+/Filter /FlateDecode
+>>
+stream
+x��Y�o�6~�_������7��+ڡ]tm֗�0���ڒ'�q���(R��HN�6��Z���ww��)8ZE8�m�����d�FZR]�DGJ$(�����`��lN0��]Rn�Ů�ܭMZ&�Mv]&������S�xF�i���T���M�߻�w���k&_��9�S�f��^O^\M��PG�V@(��������8J�����qt�wm#N�n���?'��G��5˜G�JD$w���<M�dk*S�/kE��.^Ƥ#��Ha
��
��l��/�
�`�U��z�6����0������w��/�������=tU�~�4E��V�A��hN9�r/}�uiv�6l��\y�ߍ
��tBߘ|U�/ʲ(�F 
��
+qB�,fTL�6^��f
&��Y����D�9� 2�n�oݎ�1b����Z�� 
��a�hc�8lR��L{�V��?r;#bj�UQ��I���i-� T©`�9@Ȥ=�Y�!Lik]�uQ�eў���d�nB$m

����LC�C�p�4�G�&���,
��?0�a⮋,uw����e�/�ʀT� 6�V�B�֖ި����h-���#�����
"X�6=4J���j�N�v�)�#�«u���19m2n�
+<đ�mh�`ic!�(b�O�,q_3���4K�tH�D�R=�Cm�>m�٣�|�#�s}�k=
��)����E�������|.��g
�:�d��Y�:@VU��/�SS6�_�!7q��$���b�e�
+)M֐���n���b������3�8���	4C��
0�� ʑ�}&K��C��G���.e�{O��ҖT�����y��
��
+FC*'n&���7��N�q��X�síx
u�~m[����CTp��~�i
+�%j��{S
���M�bqme���ܦ`@s*U��[T�ɜ($�W�] ܳT��4�e�V�,�OP���l�,��3A{дs�y�f��z?�'
�r,
�q��^���5=�;�'��c��aFi�
��o(��l<zˢ,�~W�u�t�
<�
_�����1���H�/5�����x�#hK�-�VV
qP!��1�����#;��_��
���8��@{0��ы��J��I�l�xc�HL�S�mC
��JՎ:ǴD�z�
fZ1´�
�h9��˳�l�6�7��hƥ 2!̱ҧi��,�cJ�C�Lj� � � ~t�Sg���%���Ms���FpR�N�
6����4�
�����:��;�=e�J�f���η�J����yfH�8�Q�
�r�nA�'
៶�t��8

�!��%t�KWV�4�
������
�h��'��+�c�C��h�<҄��	$�džl9� D���H1_w03��‰�c<�c�ۤ
0��qg`�� G0��L&���]#
+�rT�|^;?��vΊ��G�b�5=`��l�q�{�4A��l�B���!�}3PA`��?�ad�v����^xkӽ	��j��:��&�s_�K�]�s�K�������:
�y)�O����=���Ra���6��n߸|t7�}m����$_
���*����j��koʟ���$�!�MYW��<��]i�	�\��4��C�K�\�>�C�d'UI�����]^\
�G�ܣC��J�U����~0��%�
��f�����fgN`���V��Y�������l?�
+endstream
+endobj
+2100 0 obj <<
+/Type /Page
+/Contents 2101 0 R
+/Resources 2099 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2081 0 R 2091 0 R 2092 0 R 2093 0 R 2094 0 R 2095 0 R 2096 0 R 2098 0 R ]
+>> endobj
+2081 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 660.541 212.778 671.41]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2091 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 533.56 230.651 544.429]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2092 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 518.045 212.778 528.914]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2093 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.708 392.842 250.895 421.908]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2094 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 348.424 230.651 359.294]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2095 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [478.809 348.3 513.996 379.269]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2096 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 211.491 230.651 222.36]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2098 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2102 0 obj <<
+/D [2100 0 R /XYZ 90 757.935 null]
+>> endobj
+1921 0 obj <<
+/D [2100 0 R /XYZ 90 641.18 null]
+>> endobj
+2103 0 obj <<
+/D [2100 0 R /XYZ 90 626.8 null]
+>> endobj
+1922 0 obj <<
+/D [2100 0 R /XYZ 90 498.683 null]
+>> endobj
+2104 0 obj <<
+/D [2100 0 R /XYZ 90 484.304 null]
+>> endobj
+1923 0 obj <<
+/D [2100 0 R /XYZ 90 328.441 null]
+>> endobj
+2105 0 obj <<
+/D [2100 0 R /XYZ 90 314.061 null]
+>> endobj
+1924 0 obj <<
+/D [2100 0 R /XYZ 90 193.509 null]
+>> endobj
+2106 0 obj <<
+/D [2100 0 R /XYZ 90 179.13 null]
+>> endobj
+2099 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2117 0 obj <<
+/Length 1886      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��4~ϯ��
��j[�Sa�fJ��R��6Q���6�����9��
{�;Pf��l�v�s�w>98�8x���fq�*b�D2�Qp�
$� AIp�
>�#Ɩ+�1
U
պ�wz[��!�-U�p}�vIq�
/I��rE�9����wz��w:�h��s��8Y�z�f��f�ǂ��p@�
��L���ï8���7�C&�}��p��z�/~\`g

���QÄ�1eG�Zvl�n]�x8���Mכ;m��N�[0�i�;{-uqH7��Y��z�FlJ�j�E��<�W� �i Pĥ]�姍.�4Ϫkol5h�{ۻ�gF'(�2Xx$���fK�Ï�n�/��騳zݭ4��0�t�L�/���1
ӝ���1
̣�
�Q���?��e���溲fym��,uU����7@�U��6[�4w�h�cz5����%���yi�Bm4Y|�I�0��@�ۭ~��}}�~Y�y�L(�DXL"�"�$\E���4�O�C�2�?N`
+�����nf��7���;�*��~I �O��}�Q�J�7Kx�a9�-2^�} @����A���f
 ��67z�MX�ƴ�N}Z7���1�`��L�䑠
4�M�
e�r�SDD2 ;D�
�e�N

��Ą��&O����x}�3N�۱5U��2&���4Te�n�Z�׵5Ƌˈ#����:_������a
X�[/��]�\	�u���"<B��gI��K ���2��!y��4PD]�2��mY�%�6������SaC(A��#,8x{� ������F�x�"�]`/�èp�dO!�0�>ۿ5�R�:�Z�3�?��	����
�@��B���J�]}��Ǭ|h���$�
�[�u�o�p���۰�W*���qY�.�jd�����!Y;��2r�hD}H����m
�'������\�\���W��.��}��=uU��ul_j
ٰ���-
+o
]6�/�
 �������@;=5�wi5��0o�+�x9�
�4�����N�<�O�I��vr�(FI/g�B	�536s癶�l����7���`�>��
��s�t�r��l�Vifʯ��&P&���(�Lz�[�X�/UnW��c8��^$�{�E8e�9��D��Y9��r�>܏Y*���B2�ٌ�Hf�r�'�ݳ��Q�J���hWT�T
��#���m�N��
�(�R���p�J0�T�A��q��a��j?f����u�_1�H���(��؋&�	�é����A��aB)O,�2��<E�s�
�R�г�>m��Qo��C�^瑦
�|�h����ړ�
+�K�$
%��S����K8=��:3U�����G�������	S8 z)��(;���m%�juQa������34��
�����G
+ˬ���Ǚ���;�|@
+�	��{��M��ONV
�,=����ӡ6h^H-�n!��T3ѿ�f"LB��pR�Hĸ�����N7�2�E"�x�D
���1աs�*��g�C��^!�H�X�}{r�t�+�["�HL�J3���t��23�͜�(��
+���1Go�X�.�Z�h���6�(�d���X���Z�gw�ár�
NP�i6x�
!��
�m�7��rz�8��[Θ`K
+�E̾��
�%��$��R<�,;�،�% <���,<�\��
+���X��!��tr�uI���/��2������
 ��~L��D%
��E/��i18�=#��+��sF��,e�� ��M��<�G���e&��mK��{���2d`?d��*۟��M�mno�ub�J�_,�
V?��ԪG�V��U'"���_Qj�l���^�S���A��n� ��Ic������uq}uu�6:eiQ���*���y����޸Sg���
�R��_#N�`7_Eܷ?�x�����
��3
+endstream
+endobj
+2116 0 obj <<
+/Type /Page
+/Contents 2117 0 R
+/Resources 2115 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2097 0 R 2108 0 R 2109 0 R 2110 0 R 2111 0 R 2112 0 R 2114 0 R ]
+>> endobj
+2097 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 674.432 230.651 685.302]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2108 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 658.492 212.778 669.361]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
+>> endobj
+2109 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [206.502 530.974 241.69 560.04]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2110 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 469.554 230.651 480.423]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2111 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.849 457.475 179.037 468.379]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2112 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 224.82 230.651 235.689]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2114 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2118 0 obj <<
+/D [2116 0 R /XYZ 90 757.935 null]
+>> endobj
+1925 0 obj <<
+/D [2116 0 R /XYZ 90 638.069 null]
+>> endobj
+2119 0 obj <<
+/D [2116 0 R /XYZ 90 623.499 null]
+>> endobj
+1926 0 obj <<
+/D [2116 0 R /XYZ 90 437.4 null]
+>> endobj
+2120 0 obj <<
+/D [2116 0 R /XYZ 90 422.83 null]
+>> endobj
+1927 0 obj <<
+/D [2116 0 R /XYZ 90 321.115 null]
+>> endobj
+2121 0 obj <<
+/D [2116 0 R /XYZ 90 306.545 null]
+>> endobj
+1928 0 obj <<
+/D [2116 0 R /XYZ 90 203.774 null]
+>> endobj
+2122 0 obj <<
+/D [2116 0 R /XYZ 90 189.203 null]
+>> endobj
+2115 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2129 0 obj <<
+/Length 1735      
+/Filter /FlateDecode
+>>
+stream
+x��Y[��F~�W�� �ٹ۳�*%Q�m�4پ4���Y�6�M��g.� %)�`{<s�\��1��,���ޓ���s����2��
BI��$����#�C�1��|�V�b;��<
-�q
����7��~x@�~��T���E\�������N'�q�x?T��7�{�nz�{��
+��L�e��G
La�u z�(��YˀS�E��w{c�Q�"�0�AH%"�;Þ}��U�diqm�ؗ��g^��/@hDZBI�B��!�!!��W����x�LG���z��rT�Թ��s��RAGe��o�y6����r&�ɭ��.�a���'���#�F�r^M��i� c��̺��h�j)�vj�dE6��t�-Wq���U���4g��
)�a�#����
�,r��-�$9gy�xX[S@
��rUn�h�
;Vε�)�E���mv��f:�y\fy��9��f�i�	$���#�J��SH��7|l�j]�Y�p��̻/b�E�{҉\eIZȫ�.�!SH2�1�Z��((��;���O,�}�L͓�����|�/f�M2�i��F��,ub?`��5.!�n&��Ě�Sz�"��ʓ��9�M=2{����h��2�,%�u�~�
>�u*�JK=y�r�������#��[���� E���0ґSC"b�Ր�HR�m���=�Ydp�cv�p��U]�	�u�^�������]�e���{7�) 
�����ǰʏ��z��.7Z�
�0�d$/2��I��y�#E �L@;�~Pr��Z�A:$���SNq
/u��#��X����ڱ��PQ����*٪3���Pȑ����(�<Ioz�XW��q��{L�%�$=(���랥;������@>=h��
܂���$�4�c&Զ37
��y��z��1�А�<�m�3#t [...]
�9ɢPf�,�ښ��
+%�~κp
+ ��ԋ[�*�T�D��d9R��&�u����W�Q�v�HB׫qn��֯ғy�|^k�[�� �� �;u��3N�fg!�Eγ3��t�–'�	��E��ΌZGؙyeؕ�
�3�0��(;��e�#,�d�eP�/c/Cզ�w,�j����b�|���+IB�(���( N�	��;�	���DtG>A�d�}�}�߃O�K���|��[(��B�3����R���߃R�#��+�spq!�X$ˤ�ӑ?��_�<���	��:�0yzg��
��S�����Oy�ΝR
JV�UK�
�#�7uOt�a!��g���F�{�#��+�2"L���6Gk���?��3hO��q���N4"R��q
�Wn����/�̍��6�'D�Y�ݛI��{��"!�PsB:9r.���V�<rl�^�`Ҽ ��ӪC�=NNjE�"<YpJzz�C�ܩ�ߍ+��<���p���h�ċ�NWe�?l�e���6������"��9[�Ւ&gL���?��<���w��QE��?(�P]Tȏ:�@Wl�a��kt�>�P/�ts��]��Gc��h^�h���1B�3GR���?*K�p������
�@xB��B!!�
z�1�cإ�(�{���L��U��u����̋2l)��]j��)t��@������t
/��//���`���rM�+K
�i��<�)����٘6vҐ"����ru}u��lФ@�4Y�()� '����B �ͧ�[S�n���E�E!���R&.-
:���e:�
+endstream
+endobj
+2128 0 obj <<
+/Type /Page
+/Contents 2129 0 R
+/Resources 2127 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2113 0 R 2123 0 R 2124 0 R 2125 0 R 2126 0 R ]
+>> endobj
+2113 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 703.18 230.651 714.049]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2123 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 505.028 230.651 515.898]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2124 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 318.832 230.651 329.701]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2125 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 106.382 230.651 117.251]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2126 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2130 0 obj <<
+/D [2128 0 R /XYZ 90 757.935 null]
+>> endobj
+1929 0 obj <<
+/D [2128 0 R /XYZ 90 674.284 null]
+>> endobj
+2131 0 obj <<
+/D [2128 0 R /XYZ 90 660.453 null]
+>> endobj
+1930 0 obj <<
+/D [2128 0 R /XYZ 90 488.088 null]
+>> endobj
+2132 0 obj <<
+/D [2128 0 R /XYZ 90 474.256 null]
+>> endobj
+1931 0 obj <<
+/D [2128 0 R /XYZ 90 301.891 null]
+>> endobj
+2133 0 obj <<
+/D [2128 0 R /XYZ 90 288.06 null]
+>> endobj
+1954 0 obj <<
+/D [2128 0 R /XYZ 90 89.441 null]
+>> endobj
+2127 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F11 291 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2140 0 obj <<
+/Length 1903      
+/Filter /FlateDecode
+>>
+stream
+x��ZYo�F~ׯ��J�����
d�d�ILf��
h���H�BR��ߧ��)ʒ7�]$�I6������������3y}3��R�� #��n�"�#%	�D7��)���ٜ`�����Ƌ]�9�'�"^l��".��ogO���i���T��相,���.q�l��<��j<����䋛�o
+�8�B��h����
�V0�&=��
ܬm�)��&z?�~�5�2����(<X��U:#x���j1��}����l��ޤ۴JV���Y$�"�u�C�-��:�ւ�sB�A����#���W_j�1Fp$���n����ˑw���j6`��yV�"iV-��*َH61���rD�F�����蟪[F���D���>
�
'By=��J� �X�Wͼ��`�f�j7��J�z���9w�̩��Pg��ռb�]�ψ��� ͨ�V���)�r���}~׾t��i���N��*��l=���d3y�ow����oq{��xS��.���bi�
�2��l`�O� 4�
)���"����F��>�Dž38�3C�d����.Ƙ&+����o6��y���r���o
kIEL�V�tLO�{C��F.�ԙb �9a
+<
*S��\�֦����I��uo}+��A�
6 N#,h'N;
z: C���j�}
�s���1�GF7�ݗ՘�	���`�BH�Ob	�!&�\���Ҟk��0D 
s���]|�r�L�xS���I�FGmP
n;�/k�<ُ��\
�K�8c�ӯk��:'�P�X�����	ԗDʄW���?�3[6�f0���
+�d�n?RVy���-���~{
i�
:Y���x�P忺җ�~��F��aN�&�}�O� n��
�.�
"Z�ݫ<|�]j�n��$�p�}}t�j�Ѓ,-�±J6q�'U�������M�g�
h��э�/>,��M�'"�s�b
�ʻ�9����:�qp~�IW�ϊ�~�@5nv:�YرU��� `��|��a�4
K�
N�'��1*8���Q ��d
g���
�U���
+G��<��8˪
�1_�if�T]x���J��%8��qN�$�CD���7��E�DsN!M�]��"�=�H�ya����
+������b>FG��\B^L
���C��;.�E�`�T[*N�G3~}T�|���#��Rŕ�Ȟ���
��RS��AB������i�#
:�H�I��@h��<j
c�J!M�8��]n�(�X$��e�N�"�M�E|�Eu��
����X�
^�-w����"gd�I;�X0\
�dL��HM$��8���&�""�/�d���భ���'�w�]���!�h�P�8� 
˱�@�u܇11��#��)@FH+�M�У���N6 ���sN!��BF��P��@
�v��X4$m�(�S=�#�Bش�!�0�f��c��5�U���.����s�9
����瀿��r��9��谗F��yit�*�N
�/��߬ӑ�����!Rt:
x��]�s�i|���
���

&`��Bn>�򖻜�D.���T�_��?�r9��\I�
�
+�Qo�7
sT��rHv-{������Ʀ����
xȾq%��ةƆKĸ����g�s}
A ���Z*��5��'�5��?
hs6G�ꁷO�5P��
�0��g�mζ3�W
mA�H���I��ǁ���s�8� Mɳ�8/����8��&�>�ɑ�ə���sB҅��ϑ�>g��	�*��?q?
��PL���������0�d7<֌�?~�i�x�9��:���x
DY�Vܹl�
C?�I�Ӏ���loZ��A^�i�D0&GvEB�����>I�s�G~��o&.�vR��4I���v�WWhY�}��
+�VW ���h�bKZ-��5)��6oh�V�@��5�����
��$�2"
+endstream
+endobj
+2139 0 obj <<
+/Type /Page
+/Contents 2140 0 R
+/Resources 2138 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2134 0 R 2135 0 R 2137 0 R ]
+>> endobj
+2134 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 545.361 230.651 556.23]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2135 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 292.662 230.651 303.531]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2137 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2141 0 obj <<
+/D [2139 0 R /XYZ 90 757.935 null]
+>> endobj
+2142 0 obj <<
+/D [2139 0 R /XYZ 90 733.028 null]
+>> endobj
+1955 0 obj <<
+/D [2139 0 R /XYZ 90 524.315 null]
+>> endobj
+2143 0 obj <<
+/D [2139 0 R /XYZ 90 509.744 null]
+>> endobj
+1956 0 obj <<
+/D [2139 0 R /XYZ 90 271.616 null]
+>> endobj
+2145 0 obj <<
+/D [2139 0 R /XYZ 90 257.046 null]
+>> endobj
+2138 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F11 291 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R /F23 216 0 R /F31 2144 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2155 0 obj <<
+/Length 1713      
+/Filter /FlateDecode
+>>
+stream
+x��XKo�8��W贕�5CR�(��6I����^�"�e�Q+K.%籿~�=-'i��,`�Eg�o^$v�v��^-fGg���(i�,��;<$�Q�,V΅K0�oN0��6���r[���b%��<[�D��b�&2K����a�u�T�y<WBz$rE��W�8!nD�/�w�������*�!zk����nf_����whGέ��q���|��5��
|М(F�!"a`L:�KŶ�ʢ:�J��m�ڪu��F�'�D��ؙb�}[xvo�<[]����F�e���>Gg
�����6N
\\�ң̽- Ƙ�ٕ�ޚ�G��͒�:�̤�`꣘�f��b
+�v��	�8o&$�jB�Fa3'�R�(�1R��\�\�ϳ"-7ۤΌ��R��UxV �\�u�(q����rd��1
+}���6�Z]���)�
�+�!<h(�S�y�G��ؗ�(�Lj��+e�i��FX�
+�bm�>cLs1t;��(�#P�GAh��L)κ�3�3�07���:�.A�˓��
B_���Mˑ���b`�������ׄ�>�X3����ſ!ռ�W#�n��"�N�m�bGA�}�8�~�a�̳Ԭy/6Kaן�T�� ر�6dPD�Cd�gK�'�@rk`�g
�ᬨ�B����c�8T9
"��0��^�b�]���1d��RJ�箨�e�j��.G�^'�U�X"����J�b%�cݵq�����쒙�@�wt �Nr1�!�,���984�fx�
m��#���sQ�d1&�ClڷB1U�Y�W��}�I�Q���?��8����ϠpF?	y���Xx@q���"
����B��G�5�_!T5_Ce�vdg�z��
'��1NĂ��E؍Ue�*�W����bb��|L7��ֵ���7f�
(8lTL
����.ɫ�� �4x��۲��XhB�Ts�����E0$#2�2ݒa�v�
�>{��Grߨ��	�0hm�U
�J4"�H��:�� [...]
+�����������.��b�
+��
����u�R"U �g��t?�՝�dЇ]>�UIJ���:�^W������������
udW��]
�nz���U�	Oh at M�R���Z�`��������8b�Ǯۦ�'��S�{ӄjC'[�|��
l��;	6ew|$(�m޿�
+�_&�Ӝr8�E�0�Lw�gm�۟��j��͠��
���
��@~�uRa�Oq�ī�'\<�� �6�T�RN�7�O8�!��{���=E~�
]�B�G�C�l�k��CY��
�����>��?�����򣨟{Pg�f��0��Y��� }�v�&��QZ��XWA[���a�g���?}�������d1b,��}o���<���Aм���c>'�z�����P������]	�ƒ�ja~��w�ָ��.8����MM���ݏ��|
"ߜ�鏙��Nʡ;�ې���������-J+�+��DY}���G����B�
��D�Ƒ�/��Y���(�5��f��
{\�
Y�,
+endstream
+endobj
+2154 0 obj <<
+/Type /Page
+/Contents 2155 0 R
+/Resources 2153 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2136 0 R 2146 0 R 2147 0 R 2148 0 R 2149 0 R 2150 0 R 2152 0 R ]
+>> endobj
+2136 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [106.717 703.18 230.651 714.049]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
+>> endobj
+2146 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 531.187 149.098 541.718]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_293bf4ae6670add8afd68cbca2edd0e5) >>
+>> endobj
+2147 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 493.399 136.665 503.93]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a) >>
+>> endobj
+2148 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [126.921 455.238 173.486 466.142]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_a771ef39be258755e151cd5edb617e94) >>
+>> endobj
+2149 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.302 455.238 212.49 466.142]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2150 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.141 345.221 219.329 356.125]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
+>> endobj
+2152 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2156 0 obj <<
+/D [2154 0 R /XYZ 90 757.935 null]
+>> endobj
+591 0 obj <<
+/D [2154 0 R /XYZ 90 637.876 null]
+>> endobj
+202 0 obj <<
+/D [2154 0 R /XYZ 90 629.623 null]
+>> endobj
+2157 0 obj <<
+/D [2154 0 R /XYZ 90 549.255 null]
+>> endobj
+2158 0 obj <<
+/D [2154 0 R /XYZ 90 511.586 null]
+>> endobj
+2159 0 obj <<
+/D [2154 0 R /XYZ 90 473.798 null]
+>> endobj
+2160 0 obj <<
+/D [2154 0 R /XYZ 90 407.972 null]
+>> endobj
+2161 0 obj <<
+/D [2154 0 R /XYZ 90 296.635 null]
+>> endobj
+2162 0 obj <<
+/D [2154 0 R /XYZ 90 273.949 null]
+>> endobj
+2163 0 obj <<
+/D [2154 0 R /XYZ 90 273.949 null]
+>> endobj
+592 0 obj <<
+/D [2154 0 R /XYZ 90 139.504 null]
+>> endobj
+206 0 obj <<
+/D [2154 0 R /XYZ 90 131.251 null]
+>> endobj
+2153 0 obj <<
+/Font << /F63 247 0 R /F81 703 0 R /F50 215 0 R /F65 249 0 R /F70 298 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2167 0 obj <<
+/Length 689       
+/Filter /FlateDecode
+>>
+stream
+xڍTMS�0��W�u�"ɖ?r+�0�e��
0�b+���Q�&��+[rp���!�V��߾}�l�i�,�C$(	i�
H0�B�% ���K0����m�*�cS��'�+�(����u���	u�*�Z��q%:�Q��ϒ��Yވ�P�Į�2��� Nܘ‡����:
��`@��E>Y��=`���K�i$1؍�JP_?%X9?
��\��p�L.��Z�!t%ʵf4���*늺jG:���	Q������=����Amm27���B%��ӧ"��a�#G���X�	����#��#J���9�
�[Ż'a�l�W�l����|��LTT���/�EP8�����$���g~A�:�Lt��"7�g��T�
R�Gc�m�� 1@�̝_|`�
)s9�B���UB��%3
���R"�}�lZ×H�Bj��NJ�u֗����p���j����fo��A�]n�����ݔ�F��Q%6���@rWT[h+���C3��K������\��+Ǎƺ7����t�B�D���/� Ƃ#
���Ya�i`��&��s5�y����B}�:�6�̙���
+us��W�깄�z
K��}
1Ҧ$���
A��x+!�8F��`Z}|�fy�H�Z�Wc�O]�,��n���U�(Tt������
��N���7VY����8B	��;v��>X��Dǵ�
�p
+endstream
+endobj
+2166 0 obj <<
+/Type /Page
+/Contents 2167 0 R
+/Resources 2165 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2107 0 R
+/Annots [ 2151 0 R 2164 0 R ]
+>> endobj
+2151 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [113.91 697.621 170.687 708.151]
+/Subtype /Link
+/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set_961dfccd93ec291961f9938db0c86b2d) >>
+>> endobj
+2164 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2168 0 obj <<
+/D [2166 0 R /XYZ 90 757.935 null]
+>> endobj
+2169 0 obj <<
+/D [2166 0 R /XYZ 90 716.221 null]
+>> endobj
+2170 0 obj <<
+/D [2166 0 R /XYZ 90 716.221 null]
+>> endobj
+2171 0 obj <<
+/D [2166 0 R /XYZ 90 659.927 null]
+>> endobj
+2165 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F70 298 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2225 0 obj <<
+/Length 963       
+/Filter /FlateDecode
+>>
+stream
+x�͙]��0���Wp�3�&  ��Z�k�ݥ[�i��d"D�
 L���_�D��htD{�����9'�ɉ@�h@�� +׷Ë��mS��ٶ
m8�\�9�i�-�-�
�~
�ߍ���F��[@s[�mزКh��v�<�x§$��l�A�aiM[�e�%�G%,��"�(�#�������ů�Q�5.���.���a�v��D��Y�I��4����47}y��B����2(F��6����Mk�0�<��;xBb�q�x���8�`�
0��hJ�I�Ј�)q�p
 �Hp��p��[���8���G�gu��R�OƐX��-}B��)���q�0,� FL����@���Nj�2�ty�
u�n�A�k������n@���s��q]�}��V�W�S��i�ԙy�2�!���|���
@!�������|��^��A�lW����t[

.����L�L�x�p��I\gd�$����`�N��Cɪ�}�©s��-6Eb`�	e=�w�=0�
��c�K�)s!<b��I��ZjX��+�F$d2
��U��.z�o�r�-4�	us%}?�
���@0�s��U���u��-�1�6~H0_�⺷$+�tw�>���w׿
V�ԐjWR��tʅ䱥�R�*W��
,��bF*�Sr�Z��
%�(	sa��
uC!i5��Tq�}��X����>���
+Z��i�$��k�$����࣮��,D�>GD��s�ukԗ�P����h��(
�jBPO���_��:ב1����
*DU@%�M?�T��ջ�������(;��h�rP��ސ�C杇S�l$er?���h<�}����j8Ŭ`�,�gG+'4���h�R1�Cw!{J%ߏYl9IJOs�b�\C�gG}|:S�d�t르}�R�T�!�*
+��K4lt�>KΙ�'$��>J)9���_�E��L/�;	����7�ϔ����Z������n
+endstream
+endobj
+2224 0 obj <<
+/Type /Page
+/Contents 2225 0 R
+/Resources 2223 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2228 0 R
+/Annots [ 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 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 2207 0 R 2208 0 R 2209 0 R 2210 0 R 2211 0 R 2212 0 R 2213 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 ]
+>> endobj
+2172 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 671.898 278.601 682.802]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2173 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 647.988 278.601 658.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2174 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 624.078 289.122 634.981]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2175 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 612.122 278.601 623.026]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2176 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 588.212 289.122 599.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2177 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 576.257 278.601 587.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2178 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 552.347 278.601 563.25]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2179 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 528.436 278.601 539.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2180 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 504.526 289.122 515.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2181 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 492.571 278.601 503.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2182 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 468.66 278.601 479.564]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2183 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 444.75 289.122 455.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2184 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 420.84 278.601 431.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2185 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 396.929 278.601 407.833]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2186 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 373.736 204.998 383.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2187 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 349.109 278.601 360.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2188 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 303.28 175.668 314.184]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2189 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 279.37 278.601 290.274]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+2190 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 255.46 278.601 266.364]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2191 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 231.549 278.601 242.453]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2192 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 207.639 278.601 218.543]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+2193 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 183.729 278.601 194.633]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+2194 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 159.818 278.601 170.722]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2195 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 135.908 278.601 146.812]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2196 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.069 102.035 295.024 112.939]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+2197 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 92.137 140.809 100.984]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+2198 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 671.898 505.603 682.802]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2199 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 648.705 421.479 658.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2200 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.02 624.078 488.975 634.981]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2201 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [481.214 600.167 493.17 611.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+2202 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 576.974 421.479 587.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+2203 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 552.347 495.083 563.25]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2204 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 528.436 495.083 539.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2205 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 504.526 495.083 515.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2206 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 481.333 421.479 491.519]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2207 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 457.422 421.479 467.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2208 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 423.549 421.479 433.736]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2209 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 398.922 495.083 409.826]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2210 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.02 375.012 488.975 385.915]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2211 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 341.856 421.479 352.042]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2212 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 317.945 421.479 328.132]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2213 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 293.318 505.603 304.222]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2214 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 269.408 495.083 280.311]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2215 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 235.535 505.603 246.438]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+2216 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 211.624 495.083 222.528]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2217 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 177.751 495.083 188.655]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2218 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 153.841 495.083 164.745]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2219 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.071 153.841 510.027 164.745]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2220 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 130.648 421.479 140.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2221 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.436 94.065 495.392 104.969]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2226 0 obj <<
+/D [2224 0 R /XYZ 90 757.935 null]
+>> endobj
+2227 0 obj <<
+/D [2224 0 R /XYZ 90 696.969 null]
+>> endobj
+2223 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2298 0 obj <<
+/Length 1365      
+/Filter /FlateDecode
+>>
+stream
+x��Z[o�8~�W�m��u�\��Z�D۴CZ�2�h:#�C�K.ㄶ̯_�SR�8��$�9���
������q|�u�ְ2+T,���!e0R���s���cp�HP�ľ�m�O���C��l�iK7��߸���x~�@�;���C���T�m|n��@LX�	����]�ݖ�j�>�����`�j�f��Db�f*G�,v�z
rEU
6U�lR�	��t+
�?�#����8D����
i&ljf�>�((�ᰂk�u��X�7"�,`�&!'Ն�y�^#»@dH ����^�ޔJD�OIN�lĩX|�)����
���Ȃ�BqȏB����s�d9����
&�Ʊ7	��� �eK��Ƅ�Q2'�p������!�ģSr1
�����2^�l�
]w�m�WH���ۖ��İ�������%f�)�D(�D/&#/�7�r2桿G<�]��K<1M��;���n��
��P��+ �HBg/��m��`2���j׉�%��UV
��V"W�C�
�稩�{	��O�oP',��	�B��@nd׀��iy���;�kwO�4�D�QZ�͡�$�I�&�T1�5rF�u��D�F$���E�Y
P�>mYFJS|�L�kd�n�k���V��훏
M>}^���3e�p�5�6`	���u��c|/X
+q�t�E�10��`]X3v&V\W�k��ź,<~
�j1�zX�mB�Y����:�9Y9�0J<_����t��IJ��N��M����g��Jg��
F�Xz���s�
���}7�
�����\>i�Yj����&�S
��귺���ؔK�K}&����
��X�4 (��tN�l�8
���
_ �b ��,�X���ʗ����r�`

���X��
+��傪s���!�eSt�BO+�j�e֩a��T.4��E�v�fQ�8�g��hk�7.Z
:L6��e=�,d�ԯ����cA%7�
�̶�yT+*�����R�b�o椿��y�T�-�Ģ����el�@� F��lpI\�CN������p��,��w���fW�p�3���]�y.	o�
��ŵ��5�h;
+;8
��f	��%
���p�v��,�^j�&�[���,+�=VJe)�
 ���t�H�0����ҿh��W�ݜ�|��v�
�����שቧ㮄������;,�$;
��Ԓ\'���爳8��m�Y�9�6�ؖ�8_\�c�X�]\��0�b�2x(�3�9�_\v,����G~��G����ї��?T�l���.
ft��M��rg<S��5 !:����G��w��\"�)�o���P0_�S�4�
�h
�$:9>~zz��/��K��hz�"���2��-��C���C���t�j�=hq�'�ِ���|��
+endstream
+endobj
+2297 0 obj <<
+/Type /Page
+/Contents 2298 0 R
+/Resources 2296 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2228 0 R
+/Annots [ 2222 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 2242 0 R 2243 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 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 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  [...]
+>> endobj
+2222 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 708.674 204.998 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2229 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 684.764 204.998 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2230 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 660.854 204.998 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2231 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.782 636.226 295.737 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2232 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [283.782 612.316 295.737 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2233 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 578.841 278.601 589.745]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+2234 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 545.033 140.809 553.88]
+/Subtype /Link
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+2235 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 519.065 278.601 529.969]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2236 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 485.591 278.601 496.495]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2237 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 461.681 278.601 472.585]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2238 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [277.166 437.77 289.122 448.674]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2239 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [190.801 416.251 202.756 427.155]
+/Subtype /Link
+/A << /S /GoTo /D (page.20) >>
+>> endobj
+2240 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 383.494 204.998 393.68]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2241 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 359.583 204.998 369.77]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2242 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 334.956 278.601 345.86]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+2243 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 311.046 278.601 321.949]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+2244 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 287.852 204.998 298.039]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2245 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.539 263.225 272.494 274.129]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2246 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [278.272 239.315 290.228 250.218]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+2247 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 205.84 278.601 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2248 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 172.032 140.809 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+2249 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 146.781 204.998 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2250 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 122.154 278.601 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2251 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [281.59 122.154 293.545 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+2252 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 98.961 204.998 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2253 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 719.912 495.083 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+2254 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [498.071 719.912 510.027 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+2255 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 696.002 505.603 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.49) >>
+>> endobj
+2256 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 672.809 421.479 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2257 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 638.219 505.603 649.123]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+2258 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 615.026 421.479 625.212]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2259 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 591.115 421.479 601.302]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2260 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 566.488 505.603 577.392]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+2261 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 533.332 421.479 543.519]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2262 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.263 508.704 512.218 519.608]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2263 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.726 496.749 423.681 507.653]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2264 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [500.816 484.794 512.772 495.698]
+/Subtype /Link
+/A << /S /GoTo /D (page.28) >>
+>> endobj
+2265 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.829 472.839 486.784 483.743]
+/Subtype /Link
+/A << /S /GoTo /D (page.29) >>
+>> endobj
+2266 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [387.955 460.884 399.911 471.788]
+/Subtype /Link
+/A << /S /GoTo /D (page.30) >>
+>> endobj
+2267 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [402.899 460.884 414.855 471.788]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+2268 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [391.82 448.928 403.776 459.832]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+2269 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.773 436.973 461.728 447.877]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+2270 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [461.289 425.018 473.244 435.922]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+2271 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [374.416 413.78 386.371 423.967]
+/Subtype /Link
+/A << /S /GoTo /D (page.32) >>
+>> endobj
+2272 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [465.404 401.108 477.359 412.012]
+/Subtype /Link
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+2273 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [499.725 389.153 511.68 400.057]
+/Subtype /Link
+/A << /S /GoTo /D (page.33) >>
+>> endobj
+2274 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [458.778 377.197 470.734 388.101]
+/Subtype /Link
+/A << /S /GoTo /D (page.34) >>
+>> endobj
+2275 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.099 365.242 505.054 376.146]
+/Subtype /Link
+/A << /S /GoTo /D (page.35) >>
+>> endobj
+2276 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.715 341.332 402.67 352.236]
+/Subtype /Link
+/A << /S /GoTo /D (page.35) >>
+>> endobj
+2277 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [457.095 329.377 469.05 340.281]
+/Subtype /Link
+/A << /S /GoTo /D (page.36) >>
+>> endobj
+2278 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.628 317.422 396.583 328.326]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2279 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [357.818 306.184 369.774 316.37]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2280 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [345.335 294.229 357.29 304.415]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2281 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.875 281.556 362.83 292.46]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2282 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [343.114 269.601 355.069 280.505]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2283 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [491.416 257.646 503.371 268.55]
+/Subtype /Link
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+2284 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [480.338 245.691 492.293 256.595]
+/Subtype /Link
+/A << /S /GoTo /D (page.38) >>
+>> endobj
+2285 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [366.366 233.735 378.321 244.639]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2286 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [371.906 221.78 383.861 232.684]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2287 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.222 209.825 382.177 220.729]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2288 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [379.656 185.915 391.612 196.819]
+/Subtype /Link
+/A << /S /GoTo /D (page.39) >>
+>> endobj
+2289 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.715 162.004 402.67 172.908]
+/Subtype /Link
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+2290 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [427.775 150.049 439.73 160.953]
+/Subtype /Link
+/A << /S /GoTo /D (page.40) >>
+>> endobj
+2291 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [377.983 138.094 389.938 148.998]
+/Subtype /Link
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+2292 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [390.715 114.184 402.67 125.088]
+/Subtype /Link
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+2293 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [492.522 102.229 504.477 113.133]
+/Subtype /Link
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+2295 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2299 0 obj <<
+/D [2297 0 R /XYZ 90 757.935 null]
+>> endobj
+2296 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2399 0 obj <<
+/Length 1586      
+/Filter /FlateDecode
+>>
+stream
+x��Zmo�6��_�o��Z%S��a����Ӥ��h�-�6;���禿~�${��T���z{����x�e,
˸�=���^��᛾k��la�����60f��?y��������Ǵ
O<W\Cy�w1����e��a虞� �}�l�8eX�㏍MqWl�lG|G�]�OZ5"����R^�Y�Q�F�+2�":g��?}zM����1�9M4,�:�9��`��9O�b`��'˲J��I�Dɞ-+5�\���CZ��]]/Y�c�'a�����$ *Z��� w�X�e�L48�Oc��7��&�tC����Y#�n  �cF�<R��ۉU���`,����ك�Aw�3��)K��J�� flx(�!
+҄�
Se\��!�Մ��
������
���9�
�$D$���;�<E�$ �_���n�H8n7"��?���8'(�!AN�ӂ5A�u4:_��+A
�9�$|M��F,��9�2�hLD�
��t��V*�h�#�5'�eG��dy
+�q�����iTⵄ
�
+W�nKL���J
6Ux|8���q۵
�S�
S&1�^ �Wg�6]�ߖu���
�b�2mgwǫ'��ѻ#`6���;;�%���J�s���m�l���8�]|x ���ZS���
B�q�e�5Ny���X$>��5b�:	�D{$���"��pL�qx,y�� �"�М�P��W�����"͆i,�lKК]b��-� ã����
�Ƀ�:n�j{�.��7e��~���� ��a��bX�t)Ć��Φ�w�8�G��a
�
7N�f9�D_Ns	�(G��|�jz���Y�ש�+,~0�2�
++s�2_�ؒ$Z���x;���H�9ۆ�8�k�N�&��Q쌥�8숾��$�Zx�rN��d�i7�(E�:�
��g/��i9hCC��|�9�K����1�x !joF�=nGs֠+s
ݯbʊX�SM���c����O-a_
�,���R�֊ƅڰs�ɻ���X�'r������+C,��+�Ai��A�VSA��pH��d���n�[�Qض��H-eZ�D5���<[7���K�y�$��i���[���Ӑt
�Y'��Ed�T�*Y0�����E4�y�p�'�K�
�V���:��l����J/v��@L-�n[�́��j�nh��_
+(\�!T~bX�偯h�
G�L�rs	�u��B��r�~@��j2N
�i�Etq��\i��pp��,�yt�NS:�� X}�u[���vH�@�OS}���k�-?F��
��L�iQ��$���
�j�ٟ
[G:-�~W��
4=�
ݑ����է��׳�=x��lz_�mU{�&%[3H�F쑎����^�j /5�4�N�rz{-4��^��L~�F�7����هd���f	 ��ܱi�cݷ�o����9���V}�ي��M����p;,�a�wS
�3�.�d���hr�Lq�-'��}^
��d����'
Zն��\�I��O�K�#�s0t�
����_���+������䮛��[�y���l�٘7�	͘I�,���]� #ӳ� �����D��3����g�v� n��¬��
��
+endstream
+endobj
+2398 0 obj <<
+/Type /Page
+/Contents 2399 0 R
+/Resources 2397 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2228 0 R
+/Annots [ 2294 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 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 2324 0 R 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2331 0 R 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  [...]
+>> endobj
+2294 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [177.86 708.674 189.815 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.42) >>
+>> endobj
+2300 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.176 684.764 188.131 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.43) >>
+>> endobj
+2301 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [152.107 660.854 164.062 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+2302 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [158.393 636.943 170.348 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.44) >>
+>> endobj
+2303 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [189.178 612.316 201.133 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.45) >>
+>> endobj
+2304 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [167.031 589.123 178.986 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2305 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [128.854 566.552 140.809 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.46) >>
+>> endobj
+2306 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [257.241 552.54 269.196 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.47) >>
+>> endobj
+2307 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 541.302 184.525 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2308 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 529.347 188.4 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2309 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.684 516.674 268.639 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2310 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.005 504.719 262.96 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2311 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.267 493.481 145.223 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.50) >>
+>> endobj
+2312 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.899 480.809 237.854 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2313 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.358 468.854 182.313 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+2314 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [165.386 457.616 177.341 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2315 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.368 445.661 182.323 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.49) >>
+>> endobj
+2316 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.667 432.988 182.622 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+2317 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [182.552 421.033 194.507 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+2318 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.27 409.078 216.226 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2319 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.792 397.84 146.747 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2320 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.234 373.212 186.189 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.52) >>
+>> endobj
+2321 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [256.53 361.257 268.485 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2322 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.713 337.347 175.668 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.53) >>
+>> endobj
+2323 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [141.018 326.109 152.974 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2324 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [221.825 313.437 233.78 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2325 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.679 301.481 216.634 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2326 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [267.054 289.526 279.009 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+2327 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.352 277.571 213.307 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+2328 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [134.941 265.616 146.896 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.55) >>
+>> endobj
+2329 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.773 241.706 191.728 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.56) >>
+>> endobj
+2330 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [129.402 230.468 141.357 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2331 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [214.074 205.84 226.029 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2332 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [162.617 193.885 174.572 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2333 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.388 181.93 291.343 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.58) >>
+>> endobj
+2334 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [279.378 169.975 291.333 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2335 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [246.721 158.019 258.676 168.923]
+/Subtype /Link
+/A << /S /GoTo /D (page.59) >>
+>> endobj
+2336 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [179.195 146.064 191.15 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2337 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.071 134.109 195.026 145.013]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2338 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [172.57 122.871 184.525 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2339 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [176.445 110.916 188.4 121.103]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2340 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [170.896 98.244 182.851 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2341 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [174.772 86.288 186.727 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2342 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [473.165 719.912 485.12 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2343 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.271 707.957 486.226 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2344 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.157 696.002 394.112 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2345 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [394.879 684.047 406.834 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2346 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [376.329 672.092 388.284 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2347 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [438.874 660.136 450.829 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+2348 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [421.45 648.181 433.405 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2349 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [434.172 636.226 446.127 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.72) >>
+>> endobj
+2350 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.509 624.271 505.464 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+2351 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [474.132 612.316 486.087 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.79) >>
+>> endobj
+2352 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [411.995 601.078 423.951 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2353 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.603 589.123 424.558 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2354 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.302 576.45 419.257 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2355 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [370.79 565.212 382.745 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2356 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.597 553.257 375.552 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2357 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [400.408 540.585 412.363 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2358 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [432.617 528.63 444.573 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2359 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 516.674 435.875 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2360 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [433.056 504.719 445.011 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2361 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [445.778 492.764 457.733 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.73) >>
+>> endobj
+2362 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [460.722 492.764 472.677 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2363 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [419.497 480.809 431.452 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+2364 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 469.571 381.639 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2365 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [406.764 456.899 418.719 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2366 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.264 444.943 408.219 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2367 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [487.431 432.988 499.386 443.892]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+2368 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [468.054 421.033 480.009 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.78) >>
+>> endobj
+2369 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [425.026 409.078 436.981 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.77) >>
+>> endobj
+2370 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [369.684 397.84 381.639 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.65) >>
+>> endobj
+2371 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [384.628 397.84 396.583 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+2372 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [368.03 385.885 379.985 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.66) >>
+>> endobj
+2373 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [382.974 385.885 394.929 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+2374 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [426.67 373.212 438.625 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2375 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [430.545 361.257 442.5 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2376 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [420.044 350.019 432 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2377 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [423.92 338.064 435.875 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2378 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [383.522 326.109 395.477 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+2379 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [467.885 313.437 479.84 324.34]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2380 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [437.449 301.481 449.404 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2381 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.226 289.526 466.181 300.43]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2382 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [396.254 277.571 408.209 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2383 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [350.765 265.616 362.72 276.52]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2384 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [407.87 253.661 419.825 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2385 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.48 241.706 462.435 252.609]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2386 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [454.355 229.75 466.311 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2387 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [412.852 217.795 424.807 228.699]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2388 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [397.36 205.84 409.315 216.744]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2389 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [450.46 193.885 462.415 204.789]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+2390 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [363.587 182.647 375.542 192.834]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+2391 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [472.048 169.975 484.004 180.878]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+2392 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 146.781 421.479 156.968]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2393 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [477.02 122.154 488.975 133.058]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2394 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 98.961 421.479 109.147]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+2396 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2400 0 obj <<
+/D [2398 0 R /XYZ 90 757.935 null]
+>> endobj
+2397 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F11 291 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2470 0 obj <<
+/Length 1327      
+/Filter /FlateDecode
+>>
+stream
+x��Y�s�8
��_�����&`@��Z��aw���d�F��\���/���nU,�v�Hȓ'������7v��N�W$Ab�)� F� ��������;gZP�(�qYG[J[����i#``6ɼ,"f�h<}̄��3��6�ʞZ0-A��
c5>7�6��@@����VB����#���W4����A>u4+8
{
�) �
+��?���4!�T`u��5��4��]
J�ͪl��
�k��?�B��j����:���-�m��Tc�W-�.�ې50�j5��M��,ĥ	�ڠ�B��i�p�-�5��T��M_ի�49E`;Î�R�&���4�Ԯ �80t��?!r��q�ZW�*��A�e���Z6Vo{*V:�*��]�t��op"b
����>�7��ڐr��C--�omz

n��5;�hp�v,�Մ+mp�/��:5n5a�hw�k���	���	�u��'$��a���
xkX7X�
� b�u�5�zN
W�A7�(𰙂:�� �
�����M�/�k8ޒT��L3��IV=� ~R�q/G
"lsm���E��
�t<�c+q�e\
�w��p7�
LH5�/��֋��;l�SvC�^�8�I����L���KГ��a���@g���xAeE�z��-

�zN&��=�9r����K�8�@��0 _|�Wn2����EK�H7{i�ES��%�v��W|1b�'�C
㌼$��xg�
� J|
Ȍ$B�~�+B�`F�_rR���J0�6LR���C�M�r)2� -a��?��ٜ�GqH׊'.-fb�4�+��'�����{�1�����O,������+�Ri��������|ؑ%��IAT�6�Y^BPɡb����/2N���
AO��85���U
�KH8���*��*����K���L�G,�L�K�n�t��q*M��|'�`��sg�c�
K�A���i�v�_�f��tE��..��%t
^�5�w�$rlj��TK��9��.��Uf��9��̻
���`�}Ø\�Է�}�t�����M!�:ӞS���}�Z|1nG��]P��W�g�PJgaH+��4y�u:�K�?3���9�'��;!��e�B�v2r
�NQ;Ï�i�|V��i�p~��7w����6�vٳ�͙��+��.���#��y�s�eӿ���f%�mQ�7�NSt;�l��
+(m�=z�4�I������/
/��
+�ˇ(
�Y#�!��]i?书H�,B
+!����\}J���:Y�%E�
�ϓ$���Z�V�8旾F��\��w�#�W҂�����V�9���d���2߂�d:��ֻ>}p�mt�
p���  1
+endstream
+endobj
+2469 0 obj <<
+/Type /Page
+/Contents 2470 0 R
+/Resources 2468 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2228 0 R
+/Annots [ 2395 0 R 2401 0 R 2402 0 R 2403 0 R 2404 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 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 2450 0 R 2451 0 R 2452 0 R 2453  [...]
+>> endobj
+2395 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [204.669 720.63 216.625 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2401 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.611 708.674 205.566 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2402 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.673 696.719 159.629 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2403 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [147.166 684.42 159.121 694.951]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2404 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [215.798 672.465 227.753 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2405 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [191.389 660.854 203.345 671.04]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2406 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.219 648.555 206.174 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2407 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [169.81 636.943 181.766 647.13]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2408 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [136.595 624.988 148.55 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2409 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [188.61 613.033 200.565 623.22]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2410 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [184.734 601.078 196.689 611.265]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2411 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [241.919 589.123 253.875 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2412 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [173.327 577.168 185.282 587.354]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2413 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [143.24 565.212 155.195 575.399]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2414 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [247.947 553.257 259.902 563.444]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+2415 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [153.761 541.302 165.716 551.489]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2416 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [275.125 529.347 287.08 539.534]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2417 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [272.963 517.392 284.918 527.578]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2418 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [212.42 505.437 224.375 515.623]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2419 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [133.895 493.481 145.85 503.668]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2420 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [225.71 481.526 237.665 491.713]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+2421 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [251.324 469.571 263.279 479.758]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2422 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [249.122 457.616 261.078 467.803]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2423 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [163.165 445.661 175.12 455.847]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2424 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [187.384 421.033 199.339 431.937]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+2425 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [218.348 409.795 230.303 419.982]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2426 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [217.242 397.84 229.197 408.027]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2427 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [197.307 385.168 209.262 396.071]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2428 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [178.398 373.212 190.353 384.116]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2429 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [201.641 361.257 213.596 372.161]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2430 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [199.708 350.019 211.663 360.206]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2431 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [194.716 337.347 206.671 348.251]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2432 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [183.658 325.392 195.613 336.296]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2433 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 302.199 204.998 312.385]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2434 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 278.288 204.998 288.475]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2435 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 254.378 204.998 264.565]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2436 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 230.468 204.998 240.654]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2437 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [193.043 196.595 204.998 206.781]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2438 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [260.539 171.967 272.494 182.871]
+/Subtype /Link
+/A << /S /GoTo /D (page.37) >>
+>> endobj
+2439 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 148.057 278.601 158.961]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2440 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 124.146 278.601 135.05]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2441 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [266.646 100.236 278.601 111.14]
+/Subtype /Link
+/A << /S /GoTo /D (page.69) >>
+>> endobj
+2442 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 719.912 495.083 730.816]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2443 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 696.719 421.479 706.906]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2444 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 672.092 495.083 682.996]
+/Subtype /Link
+/A << /S /GoTo /D (page.67) >>
+>> endobj
+2445 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 648.181 495.083 659.085]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2446 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 624.271 495.083 635.175]
+/Subtype /Link
+/A << /S /GoTo /D (page.76) >>
+>> endobj
+2447 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.195 588.405 392.15 599.309]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2448 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 554.931 505.603 565.835]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2449 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [380.195 519.065 392.15 529.969]
+/Subtype /Link
+/A << /S /GoTo /D (page.54) >>
+>> endobj
+2450 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 495.872 421.479 506.059]
+/Subtype /Link
+/A << /S /GoTo /D (page.23) >>
+>> endobj
+2451 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 471.245 495.083 482.149]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2452 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [449.136 435.379 461.091 446.283]
+/Subtype /Link
+/A << /S /GoTo /D (page.57) >>
+>> endobj
+2453 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [493.648 411.469 505.603 422.373]
+/Subtype /Link
+/A << /S /GoTo /D (page.51) >>
+>> endobj
+2454 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 387.559 495.083 398.463]
+/Subtype /Link
+/A << /S /GoTo /D (page.68) >>
+>> endobj
+2455 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 363.648 495.083 374.552]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2456 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 330.174 495.083 341.078]
+/Subtype /Link
+/A << /S /GoTo /D (page.71) >>
+>> endobj
+2457 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 297.417 421.479 307.603]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2458 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 272.789 495.083 283.693]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2459 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 248.879 495.083 259.783]
+/Subtype /Link
+/A << /S /GoTo /D (page.74) >>
+>> endobj
+2460 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 225.686 421.479 235.872]
+/Subtype /Link
+/A << /S /GoTo /D (page.25) >>
+>> endobj
+2461 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [409.524 201.775 421.479 211.962]
+/Subtype /Link
+/A << /S /GoTo /D (page.24) >>
+>> endobj
+2462 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 177.148 495.083 188.052]
+/Subtype /Link
+/A << /S /GoTo /D (page.70) >>
+>> endobj
+2463 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [494.754 153.237 506.709 164.141]
+/Subtype /Link
+/A << /S /GoTo /D (page.31) >>
+>> endobj
+2464 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [470.385 119.763 482.34 130.667]
+/Subtype /Link
+/A << /S /GoTo /D (page.80) >>
+>> endobj
+2465 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [483.127 86.288 495.083 97.192]
+/Subtype /Link
+/A << /S /GoTo /D (page.75) >>
+>> endobj
+2467 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2471 0 obj <<
+/D [2469 0 R /XYZ 90 757.935 null]
+>> endobj
+2468 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2475 0 obj <<
+/Length 416       
+/Filter /FlateDecode
+>>
+stream
+xڍ�[k�0���+���0�:X��˲�$;�.
���q�lǓ����)�
m�PH��y%(��
��Q�Yr�p&��|%)�B��u�����w��� �
�l�H�ً�s�Q�$@�b����
Z?�Y�
+�Y
+��@¸�k�C�y	"���p�F��M?��-'
jS���R�	��i��Mw�����M]=m��叏��4�罽A��� AB}�ἵ_���L�+v)q�x�E�

�8��P��ϐ��,ƛ�"g~u����!#�S�l��<�ҷZ�Ca�!%��z�}_��A��o�=�ڝ�A���
�W��9	�vu����)#n����4w#a>}9�*�B'S
�L��0
�"��q��
�ڪ3�⮫�W�pq[�&X����h
]s4D<U8�"ek��Z��������۷�

��
+endstream
+endobj
+2474 0 obj <<
+/Type /Page
+/Contents 2475 0 R
+/Resources 2473 0 R
+/MediaBox [0 0 595.276 841.89]
+/Parent 2228 0 R
+/Annots [ 2466 0 R 2472 0 R ]
+>> endobj
+2466 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[1 0 0]
+/Rect [231.219 707.957 243.174 718.861]
+/Subtype /Link
+/A << /S /GoTo /D (page.41) >>
+>> endobj
+2472 0 obj <<
+/Type /Annot
+/Border[0 0 0]/H/I/C[0 1 1]
+/Rect [361.7 57.047 476.669 65.278]
+/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
+>> endobj
+2476 0 obj <<
+/D [2474 0 R /XYZ 90 757.935 null]
+>> endobj
+2473 0 obj <<
+/Font << /F63 247 0 R /F50 215 0 R /F65 249 0 R >>
+/ProcSet [ /PDF /Text ]
+>> endobj
+2477 0 obj
+[777.8]
+endobj
+2478 0 obj
+[777.8]
+endobj
+2479 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
+2480 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
+2481 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
+2482 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
+2483 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
+2484 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
+2485 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
+2486 0 obj
+[1055.6]
+endobj
+2487 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
+2488 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
+2489 0 obj
+[761.6 489.6 761.6]
+endobj
+2491 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
+2492 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
+2493 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
+2494 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
+2495 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
+2496 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]
+endobj
+2497 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
+2498 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
+2499 0 obj
+[472.2 472.2 472.2]
+endobj
+2500 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
+2501 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
+2502 0 obj <<
+/Length1 754
+/Length2 1067
+/Length3 0
+/Length 1597      
+/Filter /FlateDecode
+>>
+stream
+xڭ�{<Ti��RL7%�A�"vR�3F.�6�qc�0��4sƜ�9g̜ш%�K[HZ�-*E4�P��K�dS�(�Ɉ�t��*E�=T��տ�9���y~��|���X�s�m�l
��P���\�g #
� ȎB!YYy�`
�`��]��B~
+1�: *�J��ҜIV��FːȞ�GDN�.�e��� 
.�%D>O
�1>��v�.���r�aY,�#A |
��#�d?��
+1��9-PH���`�������``�8`!ɞ��`���ۜ���<�H�Q����$�8���H8,� ��c���g� X�($c��8O���h���)D�D�����|��rx4����s��,�P��_�t���!(�<Z�O��h
���%��B������3���1�F ��"���x�$b{���@ A��J����p� L�	1i�E�)�^��HF�
���H���}<<0e�-�l�.��4Gpr���%_!��(>�.�-_c!B��J�O���_��>�Lrq
���D�F�#�"�]^w�ܤĶ����&�H�������S�u��6�7�o��]���I��T�~�Z۝��7���܀�GR����Ӫ��~��Q;�f�����C��^z~�C�Z�xb��V}xԩ�_�9�1s�+R��Y;��"�Si)����Y�5��֧�V.�ׇU+f
����q��ʦKE5�[,�
M�tܦ�H�c"62�n�U_�
X�?����(+~��M�p [...]
���A���Cw��x�eZ���T�E��d��l�n�c�?��
xw�rau�է}CѴ��g5��+Cɾ�
�N��w����Nk�wYǘ�����!����-M��~��BA�h^TXT�WY�\b����y��IF9�%������mgb
,y�^���2g�6L�5!�q�-"(�w�NbT[�Yn��=�JHRB'פ�F�!��A��6O˨R�<��T��MM�J%r��r�>>��y���c{u�[9�@�ZN?�+�&�u���Y�������C��8��T�6�+�����oy�o���ݫy����uqv�tҚi}��/��Lp���.�N�t
+�.��i\R������9�ԁ
��U�9{�]m,Ye$P�n�ܷ�NM>?���{��Ǘ/�?m�>�����B�gի��5S�<yɾ���1.E�7���½�]�ȉ=R*��at	
*��K��r
۬��k��ˍ��s��x��M�){��u^�� ������q-b��{��܋�
�n�ܱ|'�N���t��%�BM���F����1%ͯ�U�c
s
���hS\
��վ�R��\��ko��wC�(�F�[L�-����++�Q�
�2z�;*�����A���m����+R����vh��[kv"O�ԧ��;�
1C��e]7
��.
>S�8�x�V;k��&�[�I�K]���`_F�U�W}����΁�Sz]�zXYB�)=�6��\����ӷT�A�hoA{��X��	�o�E�8�O�`m�����c�{�D�C����'
#]���gW}(��3��8�v�Y;ϋ���qV�,:on�~㌸�4��ȭE����<�0�T�7��b
+endstream
+endobj
+2503 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 2502 0 R
+>> endobj
+2504 0 obj <<
+/Length1 925
+/Length2 2998
+/Length3 0
+/Length 3616      
+/Filter /FlateDecode
+>>
+stream
+xڭVi<�m���4��zKj�13��]�,�!똹��,C�l��Z��,ɒ�Jh�$-��#�W�?R��N�>o����w��s9��:��í���
7#�}A+:�	G���s
��8g$��b� �L2�f�g�� JOO�
� � RG���ց� ���0�ϟ	��U� fT�A&�i ���
�8�	d���Q(�ӏ� �	
! Q
�BD2�	��~d�C�-�Dt~������B at FG �)S�$�i�0�� �Ct�m G����?ɭ�)�Cx���N�O
O%S��]A�3A��A��R
�K
$���fm�x
+�`F� 
�����'Y�CA��I�HxJ�3҈*���S�0�������L:��4&6,���b�o�1�Aܑ�H$�S���9y�q�%�@'�i~�Z�3�0g�8
D� 2��`(G1B�FgrZ �3� �΀��+g4���/�
 |���5 �ߏ5��O
��4�.A
+�_y= A�
9�F��
j��dZ
.�C�?���$����įE���0�'�_�
��F�55 ��cRK�A##�O!!�� i̟���?�D�LCA��K'��x/�<ʲ���O5H.�4��������
ĺ��XP�o�Ӣ���E�f�@I��=���Έ����B��9���	�
^�ϯ<k����R��U�P^
y�w�~
+�S�=�[�׻��z�%p��<����>t�4��juƚ^Lg�<���Y�`A��:����]���d}ߎT
%����rY������崻]
+�.#�lW�����9��z�Jق���"�lp�G��V��e)F�%�-`U��'TcZc�D��)���
�
���L'���߻�y�x�����y�d���%}����kS�VmCB���Z�����?2�Ll�
��{F}c2z�~����H�%)�4 S�l�ł���j��Z3<,C��ܞ�
G�>?}r.W�������Cl���ʚ�b
��D^��:+���u����RJ��r;E�<&��
+��34m���I1�*[���v~�w����#������Q|�q�)�3�}�s<�V��u�V�i}!��"{�x1�z���jآ���
+��O��G_��ZHWi�-����}��T�_V.2E�
֊|�n&�4����������
~�ƥNWK"R������xC�F�������YQ��_���D-���Y���C/F�z�q���+���c�z�al���!J�F )njg����단�*D����~0�t+F����4��>�\�S�����,D�D��]m%��J�>�y��=�>.�!ޕ�,�eFl~��NMA
+�d������U�ᷫ�1�/gϾ~�@C�l�;g�H��S����� >N��
#_e�-��9r�ʎ����4�[�u�v:S|������4+���-�m_��zO�u����J�bi�⸾���
����]�g�d��/�j}��;�%�nЙ,
Ɇ������
v�žGN¦w��K��$J�O'�
��]�fE��]}�m!P�E'[fe����"�cV��ȫo0R�I��Kn�7*�o�w�h�/
+>�U)=� @��D��<��@q���H�X�B��b��S�X鵍��
���p���g�x�~���v��(�qs�
�_ıWhy�|�]T��d
�3�o�\����{��N����
����߷��5��K�Q�o����fDJ
w�b;<(aH�n�jc�vy�D��
Ga�f�Fkg!6��ZD>#}wqӫ�
+���ז��V^
�e�
��<�#w��W���9����V���R
�]T5;ו+���X�"ҿ.��I���q��ꔿ��g`l����*�^����Tt��~
is�ܼ
�4��Q�;��5������U�;$l�
+�e�N QME�+�j��V��oM����(Q��a�5;��R{�^�j����������W�w����m:'~�0O���6�Y ;�r�饘��QH7���ۻw/��څ��z�V.b�#�+E��fd���w��1�H[���_#��^ߊ$뀷�c
+��_T�H�p��] ;�����9�Mڷ~�X�U�]qD�K{&*=
GJ�
�T��v9�wi��/u���olC�G
,��?�cȅ��85��vYK�&��F�
.�I��ϣz�%┵|�����4+��X3_/q��Ӹ��wz���\z
!�2]v�9�dݧT��LLd|�����M3���·v���^�p��J_p&Vi��E)�*m1NUH{�]�Ym+���w��)h>w����z*�
T���_��N
�<�|�7���8�E�`Ŷ{�0�������_wQ����� ���7Y��\���@~�V(�\@xe�Ce�|v�D�`���cgռ����a�c.��Ԍ?g2�����p��kG��h�C/^DY��
+��VB
���6��6��C���N
���o�K
Y�~lV`a�`LjX�t��ò�g}�2J���o�؉���d<tԿ�!=��m�$�w������Ot7ʚ������%%g$�t��c�!̺{�ʫYb���02=����w�>��ċ�!�^}��IeC�U
+�e�r�S	�P����K�Ʌm$nl�5��wa}2�h��d�L�,�G
�
�*�)�ܦ��&nݐ~�<�p��L)�B/#�%p�H��H)ޘM��*�oEI��͔��޽�)[�5���L��YG�_Zw������ٙ��?��r������\`[���#�mH��4�eX
1Ɖ���0o�{�9�g�}��Ļ4}S
+�-Z!	�����I�'���(��Ϗ.ׄ�C�Tc{xB-�o��-V]/��Cp
x��ŕ�=ј�h$V���:ʷ
�kW��p��Aߺ�b�'�o��h�����^(�gԔ��-�f���ےe�Z�;����wO��R�������*^�`��QM#���\'�z<�Z���KZ�󑬯2t��PD�P*o�&;Ԏ.P�~m���o��
��=~�j���nxi��ݝ���)cm�//pǻtc�h/���I)�
��[xQ��0o-$=�`�P�/+a�od�-̙�����!�a�}?��Q��S��"�)|d绱��k5D@��K��U(�oR�pz3��

Y
O��H�M{�Ǡ��l{�����xK�Z�e��I�v/
�.�߆�6��ڛ�����'���eo6a
~�mf2{�l�����tU��$�
S���+��Y����R(æM�e��p��D��[��Q9J����q�r�M�[���控�ɦ�OC��E�c�a�|:
Z���0�ә'w<�q��8�\���V���+WG�?
�3�Z��0�?숶���xga!��������SA�r�S�W-b��p�u�π�uI� �\°�����~Iq���i��ҧ]�aK��Ba������!�<�B��$)Fõ���ÑD٪�p��"�D��6�r-�yb�N.9���'�}&]�<%�{�=��Q0=��C�c^���*/Y�^���Xh�K���7�bu
6�ѱ|Y��i8��B
�^�����p�g`[i�ǹ�G�9;���f�J�����%�ܥ�n�8R<�iF�23�o�'B$-D�5]��r���?<1�=`Xi��N8�{��n����dӶ
CƎ�}��u��
+endstream
+endobj
+2505 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 2504 0 R
+>> endobj
+2506 0 obj <<
+/Length1 771
+/Length2 1151
+/Length3 0
+/Length 1696      
+/Filter /FlateDecode
+>>
+stream
+xڭRkTS���2ȳ"����U*�!%H1��T�hxHE.!g�&�`0�@�](
+�C

�PA[
+"�*��UQ��X�b�F�{���J��5��{����3��a|7��� 
S����l������h$
+%@
+�
+�too/�U�0X��9��b3�$
+�U2T�� K�N�X�#�2T(� O�H�R��P |\�B��
p$�v�
��r(K��;�N*T�x(F1u�S0&��=�$%~���LN�K�l.�I�$*�@��� ���akz�$�$T �l?��?x����T���$�
�@6]ߛ�AM�Ng�	*�`b	ntOw��{
��J���
+a	$r8�C
���o��k.7t͗����Sd� ��Dh��j�_5�
U��4w�N��a�aڰ��GPL
L/ ��*�h�`2A*
�� *	�Tw
WG �L�2��z1 U<�Ո��=FT	�˧�^��W��yЀ�I��1� �IK��P�$�AL1�}��>�"��B%��]��g����
�+KoT�Z*w,�v��Fmm����/>��e��á�s��F����U�Q�>�����ʧj��d1oiI��p0&vF{q[���H�c�K_b�g#w��Mn�U2 at g
%�6���7�o�\��7/@?:H�P|6$F��fw�
�⥸���>���G��-�:7,
+���fv
{��[�7���U�c(��~�6�ԉ<�Ս�����V��>���Ζk�R��tC��˽�3����
�,�M�ת<`hըf�f�_ݨ/�k�[�/�S�Q���[�t��m~=a�T�|��q4����Y���.����Ő���T��f|�S{t�� ����&���ھ��)Li��gI9��QUP���hW�~�nAIMY.3�է���
/���ώ���u<��`���Q��,��M�!�!)c�G�


��/<�w��*)�%
�O�:�ȩZ����i���On9�ɢ�Ԛf}������W]㪗���.��a^��$�}�N�ӧ~͸G�E�]m��zm��60��͓g
�F��#�\�:s�W:xfXe��r��iyv�H>e_$k�
J
7�����[�=�s��

u
�J��y1h�m��u)x{�팜�n����A��/�������3IpI�N��ՙ����}���k��3�5
*�~m���$�^d����i
E�'C4��Ʋd;�ji}TaՎ��u��|�brmٍ�9�2
Q5 [...]
q���
����2�k��b"ۆbj���d@���|��^ק5�+�����'��c/t���b�ƻ���)��b�B�	?����E�I�ܸ��G8���s�=}
+ճ,
.�
�
��y᪪�Cu�
��'e�
+M�w���|p9��+�|�ɶ>C|�2���N!����[����o2�Ù�q'
+t�zT�]^�.�t�]�>ͯ�f���5���N�OV�+2�Ϭ�zS�w�`�s�jeq�'
�m�z�d
�N�9�]H�5^��=
�9���2��~^��vM�� �b=�
+endstream
+endobj
+2507 0 obj <<
+/Type /FontDescriptor
+/FontName /ZGGNQH+CMMI12
+/Flags 4
+/FontBBox [-30 -250 1026 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 65
+/XHeight 431
+/CharSet (/greater/less)
+/FontFile 2506 0 R
+>> endobj
+2508 0 obj <<
+/Length1 805
+/Length2 2096
+/Length3 0
+/Length 2657      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�k�OQ���Gf�0dKvٲ/M3�0��
������}�H��J�=:�d_B�^1�%$������v�}?�?��~�u��}�JY�*�a��Ac"����#4

35��TV����@G$�(�&���P����S�����)MU�,`@�p�^ j ;0�z� 	�F 
�
�e�@��-�)48���6;Ȁ
HI A  
M.��8D� Ɍ�%�����Z �̀��0a C$�i �B�,���@�������x�%��`�AP�j�|qxڟ���?$D
H"�hu ��Y����]3
+
+�C�<� ��@•���8�1�
+b�p��E���:H��Hˆ���
�
��_췞
+G����@@�o�7��[3""ᨀ�2\Y�02��Vn?�eD@18�'����H$
�����
+! 
R�� V����L�%� �ʸC@	sP�S" %�RP��["f�?�:���M������� ƳRTQe� ���r�����$H�|{a���X
#w��h�P?��}��P����#0�DjQ��ߣ��j��cZ|���N;��*o�7��'e��\	�U� Z��d�5���) �I�eYB�]��f�n��͸53$9�W��4,�1
������\х��%��k�>a����cd>�@ܲ��'�����۾̛�C�®i�{C�
��>�9S5��,����]L*���%ͨ�����7l�
�U#T�
+�h�p�^��҈'�Ū�"�B��}3nx8��W�
����q�Ԅ�e��
V�� �����;�M��,a�Ԥ����4��5KťB�Gc��}�+��~�D�6/����f���7	�O-'�Z�y
�����{:���&�
�a��"�|۬ΫL�<WHg�������bV�!B<e��k\X.Y��'5��5��q�
��!��9�ٲj�_)�_^Zl�n$��\z��Ԯ*?|FPk���
C�ZL(/3��Ǣ����o�;
+��j�]�e|��\��c���z77" ��1��<���9��k}�6?S��N{7��"|��vD����0��_C�;�ܳ���
^��^
������J��I��Y�I���w
��aYa2*{��-	���n�I�7���h��x<Ӻ8 �^XT���U�M�Iȑ��+r
�:.��Yw�ʩ5	gk�e�E��s�#��r2oaЈ�>T�q7�p��b}���e�?ö٩�
�����1�<�+�˧X%�DC�c9%֌ՙ�m�$fq�p�uj�&[ϗ�64n��y}v����z
r~�1�M����.w��T��jm�N�vӂܸ�/�6��}��,���������ݚ��
+�P����'�'�����ᨖ/�h���l;��m�O.EY�ݬ�A��4�5�ެsm��>P�:���s�ZgX[#E�g���vU쐽=B�^��F'�+%���t����_�L�~�w�a����L4a����4^��gzˉl�|;��LS��ә��>���ʲ9�:7�:��?~��W6>���'�ƣ�{��fE8k#�
�����%Ӑ1m��z��N�iɻ�$(S'<v�#�gS[�|
��;����Qq��
<�ˤw�Q��#Z��
:�*�ש�-Sw#�C^�a�,5U>�>C��

O��9^^���3
����F����$sU�Wy�{�����#z��
Zsz{x�x?���<����b4�����
�6���ިW
]שe?��X׼�W�i��ߣu��bs����?-�w��9qh��l,d�E0�49�����M�X�
[Ŭ�P�1���sQK�{O9�j{�G�
�$K�}�ٓ4���;��A'f��x��ad3zP`�`=������E�����
�:�q���
��|���
rY��k(�i�fK3�I�O/M5oX
v]>1j
~�
+{H��g����y�ԩ>ֲG�\����.S�.��"�S��{i�]g�$�9�az˥ڛO�</ϪLvj�M����ۺ���6M�
+plz�!�94�����]W�s���T���y
�
�.6��|)���W�)���NwDGb�G�����6��x���S�z�B���f6���OL�d��5<l�z5K;�b=����Yr�
�L�J���^Oᰩ�v��<&��
n�o���r�ӯ�c�����'��nL
b��s2���1s&G��A{�C�)T�;lE��E��J�|�݅M`��n+؆P}��rϓD=0��øM?��0?��l���ȗ�n�y1=���eO6�q3Z�Tp�A��;���w��b-�M�:*�;L%�g��?L`R�= 8��`�,�
b�OZO$��'J�/\
h󯽷����H[�<:,]�z�5*�q񹧩�\:�|3S����aiz9Xg��
���ҵ����+�Nij��_�=a3��7b��������L��pL��T�ĕ�r]=�B�D�
s�-�"E�ޗ�جgc���~s����D�N{�$�\sU�~Kv3G�j�>a�f	�WU�S�g5=�Dαt\Ҡr
�?ɬE��縒�
5nN���s�\� [...]
+
!.6��0۷d�r=Ђm�J�
)��^[9
hw]f򽑂���b6b3l�M�!ɗ[ܤ[3��ə�3��UM����k��\5n�r��:_���#��~�Ew��إ>��}G��
�ڕ����d�$E�@w�8կ$����F�fb��k�0���d�
+endstream
+endobj
+2509 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 2508 0 R
+>> endobj
+2510 0 obj <<
+/Length1 819
+/Length2 2291
+/Length3 0
+/Length 2854      
+/Filter /FlateDecode
+>>
+stream
+xڭRy8�k�^�,�$�����`NKֱ�E�1�F�0#K��儌��Be
�81��)K�"[��%%[��:�:����]���{?��<�}�ϫt��I
��x�'(d�\
���і�����L� �F��M14P���� VAD at C�!�59WP	0���R	>�4@��MB (H%`1d ����$N,�8Q�����D�q�"pAj0�S��
K�AY�-ɒ�� �a\��_�`���|�	8"q21��xA�-�3
�h������ "�C�n�mԿ���'�B���T M��T��T7�64�#�~�Z�0DE�!��\K
��#N<A��8{
�
�1�@�{
$�~V±���������������4�P��M���c�ET
8S���
"�����i�K��>�����R1��0N+
mm 
�8��t�`�:�B� 
c" <�*��U�(n;�'�P�P��� (�o�Ԓ� 4�;��
��z
P�Іm� B�?4l�
+�i���ҿ0����A��� ���ˮ�/�4+�-�
ȹ��W��T�CJ���{�����q�~�2�+��P
^{B��
��{%�."	���$����<��Q��,J��45t����
�
+���L�J�8��|2o����/�g�?�b�&�z<��]��ӻ�?�S
+)C�
Ҟ��{6�d�G_�
��K)@�
���(T�ϯ$T;��>��^N6xX_���
h[��Xء�R"����j֮,
����N&����C�%�n�C:�y^KL/u�n�u�w86��T�]ۭ5�8�;�Iw at G��]˖Ce`%�,�щ�ё��7�6�{�yf
�Yzȹ�����h[77߭���ө�4��Ţ����k��/+�_B�y.�4�+
n��<d��|{�� ��^�����_��W�gf�U40��P����``إ:K����C
Ҥ�-�$۟Ka��œ
�aWu=��V����	}���o����Vئٛq�c�cr�ɯ�>��igد^2/7i���cڽi�������L��B�ŭ("t�ޜ��z�{�7����9����X��w�4Vq|>,�Jp����
�Ù>ǰ���3�4F��ac*d�;a�A��)�ԝ
����:�Ǧ�l��
'g��)�}�ɤ{�Y�p����%�2�(���
�ʮ�W��wD�MkŦ 6�����7��N�GƏ�R��u��x [...]
���)*�).�k�X�I/�H>i��+�$���V	H���4R"��&4�bjbv��æMY+E��ۄ��\(=y.�f)�UZ{]C�o|�Ր}�
(�26�
Y۸6-Z�t-
�Uy$��+{t-��9�<y8>NE��y��`�m���~��7�{�P�
~�
���+���".����%��ȧ��6녲�ߌװ�M̶�V.�S~1�xSQ";�H-&�D]��U���K֍��oH*\�3�ƎQ��V>��9bs�W�)W-f���k8�ˌ8lשM{
+I�N���4�$�2�_�uV}_��tswU�
1|�.����	�q��4v#�eڵ.�PN���O}R��AI��.Oۮ,���^��d}�خ��j�
	u��;
��ݿ
�~���Wp��c4��d���ѯ����\{�T��߄L#K+|�J���m�-X������oG�_�P�x�"�궴īX)
���{L��ѥ�I�V2F���7��v�Q�{�F�:�4�
J0ٳYS-�|
�t� Z��|J��,�Z8ٌ`�N�Ď0��_���a��]��x17�
&��c��2U1��W�oZ����1WSޱij��?<�2�f�{G)�Y�l�X�R��q����0�
�B�R�C����j���>>WY
������o�����W�}�:��I�t�u26C�/�z�q9��.���~��>np\m��?��e�3s(zg��d���O{G���_�(����	9 (�M�	�E߄K4����dM؇f��T���Cq���S�fJ�d-�č��/Ab�߄]D�ۘ�����^e%�\"E�uLf橬�rbe��T����K�I{V���0��:o���5�,Tm�q�D���;v(�V��O�"w�u�G,o�V"-��c!���}K�/�r�ui�
��-�h��I��m�{����
+>��'N�3��1�&� ܒM_L�	ذr�#����)n�-
d
ɮ���҄�:��i�[I1"#'PU������v+��#,���F!Dj2n<��f�h.^7Z��z�|�hm(�����gtE�Z��ר��)�.����L�}�{�
.9n��6��=��#�e�
�K�?�s�.��r�`�MQ#����x�X��z�#���:
�D��Ð�P����M��s���̯i�n>�5�Ž��w�̖����m��z�� �W]q�;���(D��G�Un��
X�щ��mq�/�{��p��q��u���i
Dx�H�i���N����$W$�TF�^�
�r^(�8XZ]m�6��
;��>������M�K7T��\��q�y�n��f��<�LM6q��3J�u����
�Èe%�.���y��A��C�uu���
��ά`���>'�E�
+u�Ah�?��\�ĆD�L��/�O���_j��
+�iƨٙD3y��c�bJ�9������r����<
�
��.?��ߥjva�
%q^����}�1|PĞ���Ճ4���]Z�b(s��^?&#�%�
û���ɊH�ϒKp�Z�m�(f�2�K��Mc
��
� ��ѝ��e;�#bfw�w}���CV\iO��>Na:]7`Kse"�K��&��sf酻i2Q��s
+endstream
+endobj
+2511 0 obj <<
+/Type /FontDescriptor
+/FontName /NNLWPH+CMMI7
+/Flags 4
+/FontBBox [0 -250 1171 750]
+/Ascent 694
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 81
+/XHeight 431
+/CharSet (/d/e/i/m/n/u)
+/FontFile 2510 0 R
+>> endobj
+2512 0 obj <<
+/Length1 829
+/Length2 1697
+/Length3 0
+/Length 2268      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<�k�Q��-�^O�2�Y0��d/i��!T��3L�
�ط��H&["
JL�ԄȖ�d)˴�H'�tbޒ�
��>o�����s_�����
�
N.�$�hG��
Pp�)`���c���hk[3@�B��X�)��b1�A604�&�h#S4�
X��_? ��[
2,@�H�8�
z	T��N���08`I�Ϋ7��3�� 	A� ��|@_
+
�XE����ɷ6�
�]
+L! [����$:��@2��
_�,������T*��j�ԿdB ���z@ �2 
�2h?�����p ���Y�g��%͗
+(c8��[�´���$'
+���	T&��i��I��q l�r���[��D��X�a� ��1�V�~�ˆ�P�	G"Q�A���t짷liD:�B�
���`� H��!
D� 
+��`���Y�+�0�(�Lg at V��A*�d�v�(�1�`�S� !
a5
*Hf�0?�o����P��V�;++zh��!00D
9�&h�����A"�� i��?O���L�CA"�?D'��>�u;�4��J��
zL����6����gF�6?a�z]�m���OR��.�:p$2z\�edG�
"~D�CZQ�r���
q��XgA{�l@~�k���@���S�`,�qCši�I��l���ᡯ���1=�|�l��ȱ��C
𗩱����_��;��r
+�|���ϥs�g
p�s�~�Dꅒ�聠�����/a��nT�
	�O�:�vq'��_���ڽk�#���NX�}��lϙ�4�V�	r�g��G9Їj�[6�PH��k�
�5k�k��)C)�;b���"RQ���b���*�C��}�S��5� ��f��7埠
+
ގ�9�R ��7y��I�V��za��\�����t��g~��G�j!�Z�5^�5�ޤfU��^���r��yc&1f!�]��sj��͑â3[?�IE+���
y�����|�&hۛ�:
�yE[���C��dp� �i��&���ET���
�[�?����K�Į��
W}�RGVK�K�|'���42<��]��K~4U��Tre�랣�$e�	5gO��}Цe�Sſx�`4��N)�y��=p�Gv5����=��<���l/��1���� �ײ��E�p#V_*����j�II�H��>W�995oo>
��r�� 1.F���|(_
+��u�JvX��������+V�r�'�n�����Zb��W�,�xlc�ҢZ�5�bR%K�cڞ���*�D�5���۫�=�n)�d�e��
���Ey
?����WY�
�u-{�qN�E

�k9��4�b_/�g�4��HbkB�1z�����
s4ѽ�_Czzԇc������R��s�}�|�Hۊ̦��
Y��<?a�O��{�����1YR:�
0�ٯ�K�j��s��3�Vرot����q��!aԐ-V��d^��b��N��
���⑎��%�����;T

��u�
J�L�ΩkV
�䶿4C[�NT
Z��S�K��ҥ��Oc���n�d�8�F��������7�f�pg
g��RF`�qp���wa�
N�^��D�7<������h
�|�k��D
	ϬU�G���^#(_Qh5��J�g�&yEb	B�V��{�mU�!X<Egp �`
�^���
�B5X)-lN=���Ѱ����o�� �<����|�Em���2�~}�`��-62d^>�bWj

�s �\HP��$�������`R�<OjV�NG?P
B���i�vr�(�=�\�}�W
�rC��H�6Bk��R�LC�ӆbc�p�WUM��g�
�?5�̀:�r���9�:��W���Hy�
�/;3��̼�0<�%� ƪ����`�V�[̶@�?�٥%2��t�a�cW��X��T4���
L�v{P�~��=�u�^'�k�D!�-jco����Z����'<BļڳI|�����y�~QQ�n��4��PK������]�>K�j2��wq��K����d4Yn�j;T�~��}�����}i�:q��/�E^�����3��1*��ĩ�5WGw6�WKJu��~y
+ݠ���Ke��n��k���?�
#�w�MoO;V���i��f��Q1�ֶ�m�sZ4eGN�ŏ��x�N�I�~]q
�[y����C#�ٖ6�Ǐ�A������=/��^pn���?k4=�6
�n
���z�q��.��nP��XW�,��!+�V�\�g����Rh����.Y�7`��s����
�HaKʵ3�_���Hd��]P��"���y���|
h7��1�7�1OA
+endstream
+endobj
+2513 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 2512 0 R
+>> endobj
+2514 0 obj <<
+/Length1 1003
+/Length2 4417
+/Length3 0
+/Length 5068      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y8�����l�e�[�}�Bv��]v5�`3�ƚ-[�5dW��("��D!;��H$���<���<�����纯�}��s>��3<��f"jN(G�6
+����	h�M%�	QqquJ


4
�����
�& �� 	h�
���M�2��<���
wq� ��Mr��

�B� �q�y�k@!�
��0~����>�
�¼ah��(����b G�

I)�I���
;a=��򁡽�P �� 
�	�D�N0gJ1C�6�����ŵ��!��w�ߍ�?i�
�������0�	�F��j	��

s�c=����@p����
����8��1
u�!o�q������� �a�
���s��!p$���󯪿�h��5�;h8�ǷWo�?�����]ZH(�	�t$ed
��o^�  
��0

XL��� ���(4���g"�
�S) bп���8 ��� �`^X���6Hb.��Ҁ��?�< �O3�����mb���4>�B�����=!hs��
��O�ϵ�+���D`��Q
O���������}��a�?Y�� ��Q� I	 ���@AV!�9�X4�
+�������p���`8�rjU�p�l�,
�*
)'$Twy�d���*|2��_�Kp���"�
+�*�*��)�;�5�dH{'�+�����Ͻ�l�f�Տl�ߊ�_�[�������}�(K�.y���{�И_�|�|������ygN����v6�"�A=��)�#��h�9_�������nQ/�fvQ�X��b���s�_L���V)�%AF�5���%Qt�u]�5�9��X%��0��
ϻY��Ϧuw�;�V4�gG��Պ�G�~�闻RBw]K�&��O)FU��
Q��o�
+E�����CviS1��w�lH9/7�q1ۼ��a��l��Ly�S%�" ��m��ԛ�Lw�.pl�HE�խd��ǜ�x�@�˔-v=Au��z��h͢����8Sz���9Q`;�
=�:�j��ʬI�(8�Kh.bX��ˤR�G)I
 ���W^�&+�1Ԣa&��Y}�\0����Vm���y��7��s��֮<���N��i����;�9�M�7k"�T���Ѳ	��9�~ٚD�v'H�=�-��)���0ޫ�Av�7��''0��E,�N�'���b—ծ��2VBw�uMl�$�E�gōX�ƵL��N.����C�\��3���-��w��{3tS�1�5y‚6��Z�DY20R�&��_[>z�]��A�E��ʴ�I�%n�w��}�Ž~u)ݫ��!d;϶�R�0��L4�d�M��9O�k��%����z�G��z�2�� ^��z��G%�TB�Y���E�B+r&%���0p���؊iA���Z��ԋ�R�u?�r "E��I�	dźe���� _� [...]
Ʃ�03��nUhR.�Z��A��Z���9�#�όܨN�-hc����e�@�4A���K��3�[6*�v6�~�
+n�]W
����ښ���2�������@�A��ރ|!��j�d?�u]&�.�[g(6�
\�
+�o�L}��݈t�LQ�tLES�V~�}0�Jb�`Y,|���F�
+O�P������2svԯ"@�q��
+�Ӵ�Ӫ"Rǀ�.��=b�F�/>ɘlK}
.#|+��*~}[X[���Q!,�h�MW��ڃ�Dz�+���B\׏�﹚�כ�(�p�IX�Ni\���RCU�9����P2�;W��K�$�-(��_aP1�_�~���:���y�.��DӖ������P�C�i�zTo
+���\�30b
�:X�����v��l����r�13�t9?X�h���8%�����O̜/�d���3p�{�����L�[��Z���/��|s
+�����6lh��l8�1��a,� ױ�k6-�+�F�+iοD�_��?r>d#j��=��q+����6�[2���
2�P]����
�3��v[�7ى�zI��NfhI�{_
+p�&q�H�
c
t\����ͮ��n��
+䅇ܗ��^�a�3d���i��2���;R�r�2���_����Ph@�C;�βO{�/4��|�$ư!�!�Uیw^o|�C�6�
,��o���}��̺�������gBf2�&�E@�9�Z��9�p�l�7�^��f��g ץ
+���/_a��Q�A�q0t�-
@)�ް�(ߣ�&�΍-Τ���v�bJX�BD�\J�~'��`6
=�>H
��
	?eC$��n�e'~Wm/�t��%OS~2`��6�����p�ұ6�S��Q�
y��X�1IV]Y��6�]�.�7
+��m�NWj�JѺY���&/�|CZ.٣��)��7����:�-���
(�rW�c
��hK�>��`f/��=eµ�v��+L�]�d�bu
���	��G�VB��/�?�a��W�^�@���y��� ���/}*58ˢ�L�{T����8M)�[Z��
J��*��[ė�|�?��5��x��,q� �b����A��������N�u��K��"���e�#pf�O"�Q&�?f���=x@�ϼБa����> P_z�}W���^ؽ6a
[��}�.�zPԯ����~۲�
�n�~a��
dK�̞���������
��^�3I)�b�I�ҿ��o�=�q���ّ���*Oh�����Pi_��O�G���V�h.0)mtL
����B�T�ǥqL�u���n�%
�s8�>e���VA�$4Y���qK�5^J��=�|%н(�3�جDT)lfʭ���2�
<��w�O���w5�z�,C�4��Y�ܫE:HWG�l�'Wށ�
Q��c��}3�v�G���-�
��T�9�ĎG �� h!U�soE���aD����+Mj�eyF)�t�USO��[���5X�|��p����/ys��ň>��LAm���p3|pD�E#�%(ʼ�
+O�Kž��aE�#2��I�5'>����Y
+�jO�VkF���8�yG:��9�<�S��1K�
+��(��/bᵿV�s�D�ѷ�!��g4��O�K;�Eͨ&B�`)u���ݧ	��
��q�l���..}TuW
���ra-�:���INF�/�
+u@��
���0�(f뼡w�K�Z��ΰ��TH�烕|�2J��t�{����h����8�D���L�~���>�Z�D�F��l��m�D����vx<_B����,�4����MOHZAy��ʯ}��[��鬛���	����2bجn=A)<�uj��o��T[Rl��gu#�#=U�y��r͟
1��?�ziR�����m�x3��$�����d�{9��(=]G$�h�#�Ks�"�Ϳ��
��9
N�
>��3�1CB�{X�݀MI�k�4��~��;��J-
يg��EDC
�]վ�I>��w���.�
-�Y1�,eWomV��#�8��$����`�t��.1}�p6T��
B ���|[��ת���B�O�]-q��:�fr
�+׊	��k��j }|���$��Nm��j�����:�f<җ�˓�F�i;����7}������;'��y
G=�x��ӥ����2z�bKSa��9I֝ѩ7�oFc��Y:D��Ap���IS�G������
I��[��z��7��� [...]
+
H��JЏ��L���ɠC���w<���FͯSd2����M$
�t�uo���V�
+*
!_b®��:=8��a�r_=q7���1J�E��:��<���Ko*x*���F/
{q$_b8���6�۽�3��-	ks���ٮ�
+(�z~B��2l�O�Y�n��u�]s�>D���xTt'Xy���D��W�Xb*���*�e%��m�R���FFK2yxD��m6N�Q����J�]uw�ig�,x�v�5_:��Х�Нo^J�(���7��^2a�p���{|D�������kN� �
�T'0�-c997}�[��������R�r�N;O/l�z��,<ZP
�0���́�߻_���&��Sk<�ڼQ��Mj�k��G�YNW�,��}��=te�� J��ݷAFY�u�I��z�2��1�Zs��:YZ�}dwS)Ɉ$ ��!�:T7Z��l���'�-]��� ��\7��
��aѻAh�O>�d�

.8�����U�R��GwIH+��f�����O
�¾��h�-��`��|7��B�)�_����
+4��o#w$�
�Uָz����k�-��>u
_Q%Z���Ү�
V���m�Bv��~,M���~\@qt��~�_�s!Y*yo�����H���Aa��(2�f���N��8v
zǐdx����6:���T�
-
����
�3I���-0Z�z\������m	��`V™�j�"�A��
'�j�^ﭴ��{
Z_���o�j�]�X�H~,+��� �L��X�Q�_є���Œ$S�k�+�-����0��q�
��C�;���w*:6=��:Pjӫsk�*?�(�bzt�IJ��Uy�U�&̶q�y��F�[p��{��a�䩲���l`���FhIW��v(��S�Q{�]�}2�f"xC���T��}�&�
/�q���|q=�^�ǰ~��X��� �
a�
1�O���'b�мT!v��Y�D��NKɌ�P܄���5'�*
+W`��g�h���*���r?ֳ��䱩�3V/�H�K��\�>+����R
�6YL��.����ʞ>�̘\z����P��z�zm�>3��M�<]Y��&�l�_O
�E�?��,I�ҵR���9�h��ݽv�� ����K���!n����&�Қ�4wu
*
Ɠ.�ÔQ��?!��.ɴot�0[jtW�)�@X˸���E�3�:A��e�#lJ�s
��?S�r��[�G�?X}�
+���h�iHB�c�D�sͺF
+endstream
+endobj
+2515 0 obj <<
+/Type /FontDescriptor
+/FontName /CZIMXX+CMR10
+/Flags 4
+/FontBBox [-251 -250 1009 969]
+/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 2514 0 R
+>> endobj
+2516 0 obj <<
+/Length1 927
+/Length2 3031
+/Length3 0
+/Length 3638      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<����)$�����
3c_Bָ
cw����
3cg�I!Dv
+!$[4�d�LdK��$Y�o=S�s��������s��9�����9_1a����4��H�9�:�gb�
@��lbbz$�����a$�: QS� :�h@

@������lb�
�ӟ�A�� I=��E*������p�	���k�a�%
�A��� 
ww���
"`�$"	>H�
 0p�Dcpl��~�q(<��W���w�I �M�t�R �"�s�H�O
Iw��a������0����
�W�q���<��ӛ�$ &x���w�-�/k&H����Yc�
���ݑ ���h��C"��@�܉�_q$�o��� ��16�0��5�_)(
�#Y�{�G�g�/�����0~�=X
��
���'�=e���
}
��� �g�����@��!�~ ҏ�$�Ó�W zK����s��`?C�* r�A�` ��
! �* �oH���� �B����t)�o(�<CE D�
��7�[�������
tu�~���
+Yy%zW j
+��8��½	$��k����Q�ܑH?$�mh ׈Ħ�D�

t3K3�k�M+�z�#>$0�t\�
}j�S��s|�y��� �B
2�2\
+�O�?��q�M
��[M3��ٌX�|^ӷ�U����hgQҟ[2�[r���VsG��^��T�L�TV�3Ls��y㩸��W�WQ���_���L#�"�؛��d>����;Xs
���_�?�ѯ숣��x���n��(��yp'��~o�4�ݭP#
�����H�)<���1�T�I�
�љ��c�I��;2m��Em{[�H��"��}�V�S׫���ۖ���[��E���8�i�5��9=!��t��܋�l�D�koFT�.�O(_�L0��,���t��ɫ�u�ș�ֻ'͠���]_'�6'�V
̸��=

��%��9c�(���E��̀��!ׇ;���+W5��W�(I�>
��N�p�9@�?j��.$]ք�h��t�9gh��%�U
I2]&
�Ve
)�0�x��l͜��Y
Yx�#��⒝(�U��;�u�힧����3��)��5,�KI�[/�bC=jLߠ��"R�K��j�W��[v^
-�_ٓ,N���1�u���������������E3l �P*x [...]
+�*��@4�{g���{��I�塳y��c�Y՘
+�\��4z��[�=uB�)���M/
1�H��=�D����}�頿�P,9sa��R�?�� 1����m
�M��
��I.fO2�H)��rx��`a	��5���20i?�p��t
k^4o�z�G��>�j[B�r��ݍ
��ڃ��l?��c��k�z<^��z��8�n�x
�؇R���H��rz����ӧ��lZ �)������}���R܆�����J�Q�2FE&w�$x\��$4���3�ܵ_��Qt�
��l
�%��S�P��<n��z�i�?4O-O]��JW?7�	��z�j���7��:�S\�yh��R"�u)/�*�ǘ�<�-�Tk��=,lR��Ų�p���z�^��C��-��!ϛ��<c��$��\�k>r=����M3���”������ϒ�϶F�W5fBzxk�<�բޖɃD
����3�5:8\1�筐�MEk��ݛ0�[I��OՃ��}���MY;��ߕ%`����ޡ������t�E�*x\�r����"W� ��i
+N�&����*~�5c
i�3s
����S�G[�ֲ<A�y�݆f��ב�;�w��j��O�
콫Ӊ����x�,�r���SI������rv)F-NeS� b��d�`%�+�=$mqG\d�Fp����ęg��M,
UG�j�2'�
@BƓ.0��Ͳd�;:ٴ\�U�p�\�Wl�!N�Hr�
+�Y�K��j/�
��ҋ��#�	\�L��B$^��,[��?���%�5#y�/|(}k% �=�S
�ZE
3�
dC�?�h�	�v���b9B+{V�'[���ZWSע�r/m��Bf
�̣*C3��5������4*�<� ��p<��\��Ts���M��H�Xlk	E
'��%#|MF�G�-KW�)�TKN*TP��B�9�hډB\Ӿr���0)R6�@��t��00��ސJC�&{=��H�j���m��
g}?ru�2w�C�Z2ž,�b"*��˩�U��
?��s5����U{U�/�;�>lrV~�aI�`S+Q�lm�t��m��C_��Èm�
+TT� �����n�
Z�T����R�tj�+�p&�z�l
�����Ŭ��:'E�'�,�Z3Ǫ�

�rr�Ժ�f�t���`8�7��Ӫ5�1s���<
\�Xg>
�N��
-
M�z,�%���S���!x�t��#ܾ��Qr2��{���M��gtz
+
t��E�_M�2_���N�^\�dQ�-�WR�f�1��0�}�
[&3�Z����a���W�G7��.�E%�R�ҒÍs-z�s�7C��(�DG^Ⴋ�j3]�7�<'����L2R8���y��Ǡ�^+5{�6��71��&��Eo�x�/b!��{���9MO
��n�#m�x����	13
y� Ť�A�a ��͝2܁�綏c��U9�گ��'

+��
�#��__9�ފ|Ӊ
+���;�Z���z�/>QW�
q�cMq�=�+,�*4�~ pr�ǵJXђ��Kp& ���tY'���Ekm��U�C�O
+��i��}5���^��ȓ=���SA�%�$����Bg�+V�Km�BT�A���uC[�Hw�?�������G��D�
��]���;�[��\���&�@��
2�v��B�)�IU�uRyhxFB�n��ɭf�Vv�9�s�Raթ�ǔO��D���k��5?�(�E������M0���a
+�c2���~8m�۶k[b��)���-���}͗:��W��c�i��
�$g
�\���Ԟ��E1*A��q��@�ȱ��kQ���[ѓa�~�c��ݡn6�qؾ��ߞ
�Q��`��2+ZI ��+O����t�>�3ieT`T���^۾���!}k�Jb��
3gD]I��皽�a�.��ϛ
���VQ1F�O5dn�.Of�
;A�>����)iՠu�*����6�36W�MXgm�������V��XOQ2���Q7��}�{}���1��BO�>rfK�%ݕ�
+�ɒ�:����\v
ϯT�AM�!BQ�J;K��{o���O���&����0ZUN�c�L��o;�y��/g�3��HDg�%���^��N:?�l|�	DZ0�h��5��q������°�e��g�4�
���zsg�3�r��C6�A�{�-��,!��뚁�^b~*ⶾ�������$iN�1��l9f��`8Y�Z8�Nhs���?8�myB5�f�(�Jr�61U�PM��V�
N�;j���'��
����Y��#�+n��\f
+'��.�@o��v\z0D$���}�(e,�����5u����!̹�����a�M��>�J;�}���)��:���	�I��(�����R��	γ@�z�C]���� &
o
+endstream
+endobj
+2517 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 2516 0 R
+>> endobj
+2518 0 obj <<
+/Length1 978
+/Length2 3406
+/Length3 0
+/Length 4041      
+/Filter /FlateDecode
+>>
+stream
+xڭ�y<����)Z�2�o�/Ř�/B��֐ef0�f�
ٲ�Ȗ�${��,Y�d�E�,EB2�d�M�߽�����}|��<�9��y}�y�����!���:!���T�h��PI)���&�H at a1W
	H% ��Խ] � �S�VT�AAB�&���rq% ��b?��u$w� ��W�Y����QH��$��F�?���H<�DH��P �� '�

+���q���ޞ�|�8<� J6)�-"��?�@:� FXr/$����Կŵ��h#G�����W������<��ӛ���X��w�%�Ok�H����Y]�#WǸ���ԟ!^�D\C஀�#��Gb�6A
�/

Kkk]�
���+u��!��{�-���C�a�lp(?�FJRJ
+J.$?������E�0�� +8�p�� � �,P�@���B$1X��<� ���\&y#ǟ�?I�8�MP)) ��
� �7��$/o���)� �ߐ��{V�x��P�8�7$�a�Fr-��-
 ���
 ���r �����$_��?�dWHܟ��{mX�@	�< ������J�G!��Cb�ny��3�|T�H?$
41��+G��?�,
�z0RF-N����Qm�����$JtQ����l��~y&����>���ɠ�F��݌�GK>K�ϸ�H���=�w�W�MO�l��R���/M�.���ڽZpM����i>�v����9y+�L�y��ai>S�
��h��_��d����`��3
�6��ތ����;����הw�~��R	#ɬ:
-�VW
�j$i�
��ٮ�����
�����R�rV=i`*�Q�~��P�s�{\=~FKG�hR�s��ft��F�����/G�
K�}v^��0�ҾwR̨~5�$QRe����/�xu����dQ ��:B$��K
+:��V-&�=
��q�H�3�ZD�!�
BD0�����TΠ�o {����V��=_��_n��'��z#�-_��~�q*�[�X�q�8t���P�l^�ݶ��M"_���^�m9m�D��f
ޝ��� ���
D*!~ d�Vw^~���L�br؂[��
��T�H
���tru���fH�F���s�
�j�-��!y�b2Q�Z7j�_յh�\�TH���fF�![����/�d2�=fӅ��b8�����	1����v���&�_>8.�n
��>���1�I�q�ys�L`^(�<�|�l�M\�7��6
+�
Ӑ�q��-/TvZ�T�D�[(]+��L��R$�8D����f��l�
+Y�H=���T(���4�Y��
	�r�`��B/�
8����Dy��6�=2�����{�2ߋ��3��7s�?-�v��^
��0�.�����Rz���;E��z?�.�P��4�[��9	8���
�K��6��u�Q5���Mg�&�&?A���]�X/Q�Ӫ9p��'���J�
�;�7��S3���2�{���'[��Gy���'8_�r?|a
+؁�-_��[������j�:]������&��&+�V�vծ��\C�i��T
�H8��,�d��^�(���b�k��Uj�_8���rg�P�}�_� _��^HC���n0Z���5
�~���#����w*i��E�P�T�Q摏2��L��>b/�����7��q��u�
}�9�K��RM�lG����u
�$��҇!������z3e�Ջ����ec.t%�]�i)��C�
Fb�v�
�NU
7m���5�coi�̐���P|��D�2��߄�=��x��Jk%r�B�&���C���nr���B�u��{��Ǟq��\
I�cS����cs�x�v����ѱ&�'����`
<F�b�Jj���_�ޑ
+���{�z
%("����<���t��5'�9`
�����~hw+��`CO���=l3w�r�!��ס�46�1����O���u�%����\"����j[U�jxϓ����L
G���)KPhh;w0oJ��1kO��~�uN��A��ȖW���<���U��ͪgQ}'\$@�gnJ��SB���Nv=��y�t7��1W�ÃY��b~7�̦�4
+ͽ���2�V�wV��-�]L��f) r)
v�Umq�#U"�5S`4{��f���\�cL�庹r��'�Η����7*�W��iT�Air�ɹ1Ch��b�R�����g�g�Zg��pK4����Bz�iDl`�35#��Z�z�
�E����8��'��.��"�;^�R�C���X&�(����\����qt�p��B��"G�l�[}�ռ�x�����\���&0�%����hzl;���6N���v�M���U�{�&����\q.g괠����9]��X$*���Z?��)��Xӄ<G[�
���U�g��7�*�v��?�
�x�D���gvHH�����A��=<��ɢ˹~�E[���4�
��Q�
��^'p��M=�_��
�QR�R{b�dn_�.�^)�enf%��ʭ��J�ΠV��a5�흰؁㕭��hw}
-�O�
z�ς&"���X�	�9�
9�w
bA���T�7x6�d�g��J�
+6�HѸܧ���r�SV��}[��SӼ�
qo�%(h���f��� �a��׿��yn^
+fq})c���9~�����
��
�L�q��mXu
^��Q�J��y��I�5�xw]A(!%���Þe�>@�SӤ�U3SYhꌹە��T������Eׯ�{�r�A+�(��4K�߳����qI��|ʽkSp��r��:dg���4W��]o9�C	��Ve'
� �L��S��c�Q���KB�Hp��}=��~������w��D(A��B�Z�8�
O{��
�J
+�{�ɻ����\�"Z{�':T�K;Z³���#%׀������,Qg���+x��"hRyi:�Q�*���$�	g�4
��Sy���
S��b=sҤw�!�ܥM��q��}�|)B�o\�H9�4uit�R�t=���\����A
��,��999�۽>=OR���E��t�	�C�
�{���+�V���0a
C#����X0�j6�[��B}��+���	@��m��\��
�k�e���

��KQ��}�r�Uh��;�q=����1o$%S=�'�w]��"zt}�H
�L��c�>ÌB��h����F�
)���Gݳ��#�[���
+5���ّʩw�
j�
mԏ�����U���i�N0��v�@���]�w0��t<9���t������i�<v?OZٝc�h�P������S�6_l���9��FfU�3��|%�ϛ�#F�<����p����Ydq�Q+q���.�l"�fe�5��ۯ�K�ېz���*�'����X�gt���
+>����+�p=\Խ�TM��>ְ.�+�y���lT�D�>˷Z�:$^8t��1�X�
�.�S���n�᫁&�	�{���B��G�p/�S��;ێ�"nY�c�7���D�~�j[���V��3o}t�Z����E�o�
[/S�ٳJ畤um�
AGe�	%�s�{|�X������3*EMN�
����1q
ف�x�[��&�eF����ه�Ϥ�
���*�U�
�_�%qH�kc��Cq���݋�Wx�l%��`���&�&�>���-z8�
�K$8���=z�Mg���
wˀT����
�u�xP[hqFT�@�E��벱+���݁��Lul��w��=�
��������6})��G�r;׽S�b�+JK�'M:���$j��ƥ�z�A��
�����fu��RA^H��+RF4ǜ�eA	�vpK
+G'邢��I@��ߠ���k��&�� ��Mc�%�;#�:��O�u
>Iގ��l��%�x�:�Ώ#��W_�D24��y�X�
/-g% �&�M(�2�;��3�z{Ԥ�n��İ6?�w�NE2
��gK��La�Y�g����ɮM��9=�w''ݴiYT���U%sy�X3�2R緰90��Dk���ԅ���*�RK��&�שqw����}�#�n��(L�M3��R;j��'zR
�$��8�e�VO ��
�����
+endstream
+endobj
+2519 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 2518 0 R
+>> endobj
+2520 0 obj <<
+/Length1 933
+/Length2 2943
+/Length3 0
+/Length 3560      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�{�&d+�XFģ"���VG�D�d_c�<�
c�C��^a,)�-
d
�V��BB��d����=������y�y�����}}��75��B�]@=<�(�����fj L^�CBB� "�<NI���
��s B
�����!h�I��;��>�]�hy�

+���DwЋ����x$��-,0���0}A�?���� 4E\@7
��ݏ���,������A�/� E7y�[D�qX�]9�&x�,�����������X�����
����`I���^�~D� �� ����i�Dc��~g
�H,��sÂ����W �M1D�;����?� ��	��~X�ꞵ4ӳ�������-H��4����a�0}7L `� �� �
�������š�h
�~� I  I
�#e `ph0  �~��8<����$p�8��IO��^��`
+
+ �D� (��G��@	���
���j ����T���F@
t%����[�y'������� }���
t~���$Ξ���� 9Ee�n�@EY!��Q~��#���7v���� ��z�҈�H��V���_�"�x֭6Ѥ���&��$F,���Gz��f����,ˬ��
aߘ�+{�V�|ӆ�f��g)���6�(Ƥ��G���j�,)3^x1�St�6�#��d񮩔��
�8C���������
kY)	7�I�)�V�zs��f2���(�:��U|��V.[Nʞ�:�!T��lZ��lNs�0/����[{g��
�͜ ̲���u�g�q�<+�� M�n����l}�����q���	.��w~$_����/�!��<�}����K���Ζ��N~�%XvMؔOe!��
35z�4�
��! &('q�Wĭ�SX|bH��_�Y���|dD������
ww�&V�N�H�WGo"3���
�#\��p[����k*���s�J߭��S���r [...]
Eٞ��ւc=g�w�q��.�M��*[�w0n��,�R�
�ƾ��"��G�h	
��nS�
+��O�J�!ӆ�ݐ=�X����s0e�͡ ��s)��T��&��jq��v�a�����:�3�d��*UL�U���%�s�VJ�
��ޘ5���\~�j�6˻��V6�O\%֢�zl�'��G���vb�Z�\�=S��M���"�N�	��=Ӱ��,�?�UNx
�2�a]ېA���W��p
Im	���HU�?�P����|P�)�4�`⹢��K �:��Q&�����ئ��'o��l,v)�
��tM��@ތI�s�A�cDY:'\��5��q�#�䜺O9#�)v�?������2E�j��a/U
3?!'�ڡ
z���F��Z��f�a���R8o��M�]?�N޹��6}��D�#djB����y�겤�L%�:Ոrp��I�>}�4�˗Bv�M
$�g
;˞6^Z0�jLFD��X
+<)Y;�2��^����}A��-/�J99�l��NV��3����g(+H���<�W2��t7�(m4�;��8�?'J���al��<�RQ
�@�&���.�=���
+9��m�Sx5$��Ls�df�m
�a�{\��(�kG���S{k�z$!X�?:,ź�CD{���
��,#LԾ.�u����K�\�}ڪ����A��;S�ߋX�tA�z��$J�M�o\3 �����5����� �p��K�p��ȓ�:���ex�J-��^u2��M��_���@a������ �h0�$"~���SR�������@�Z���`���G��v�Fg����W�X�=A����#
I�ԆmA��ؾY�|*|W4���@��D���+��K���q����p�x�{��o���V��TԺ�l�SA��#�k?Z�"��].Uh�e�+�*��]�m��qk�ɀPn�U�j�c�s}�2[����^k���E���U��i��;���C�US
�F
��w��-%���R�9
7�
+D�"��6pD�Y��
+��߆�V��XlIF��$*ސ
+�9pIx|��ȴk��:q�h
���tT��^��L�u��skz�v̜)�ؕϘ�y�zu����9�5��O��N��8:>�<����r�Aϫ*/��0��O
D��%�~\lNnzD
�,#[�=��M�m8�4a+�^r�J ��x��atqȓu��O�3�gw�����������n�K]b�J�ժ=,e�����u��DL�SH���Ȥ���@
,��n*0�"x�M,�ٷgQ�aU���KO��+�e!OAD��w�gu��s�FQ��];.J%����3�M+l�Ď2PC<�!��N
d���mL��͖���R�
��*s�()�����oHcgC+i�I�1u�L.�~ț�2�5˩��'�s��KR�I�a�����"T�K�Y)SL�d�ʢ��LU�6c�nƞ��
����}ϼ��p2��RDnj�U$E=M3Tb�^�g.�4g�1�xo�$��Y��?&;����mg��ե�e�2�a�
.��0�cw���Y4��sא�E(�~Zw
+<�o�됧Z���p����,��\�ڵQ]�^�-�β6�:�mL�[9u%�lHǯ"(��m�<7�ml���~��兓wj�'�M�7y��ފE'\!��ޫ�x8�8�Q�&�]
i�H:v��׹Q,cWX���J�
�˳�ry����"���
E���E�.ȉW�˚�Ե�T���͙�
wQ-諣
�}��k92�<�<��V2I��\Z����."�h�aZ�l(�Y%kf����-��%
+�8c������Pnd[�Ɵj�E�끧�
+�[�U�o,#=m��|�Ze�k�
+�Hg�n�z*!�M�M��e�h}CG�n-:������RUqq�o|���Yz�
���p
<�����g
ެ�GT.\��B�穾&�s�dZ=�%ᥭ_��9��D|��?W����%��kl=�/�P��07�d�z�^u�_Bt�s�$���.�^c��N�W�>Q�X�1h�0����̺
]�|��R���q��0��U "��1
Zv��#謥��������i�J�)�1�
�c�:^+���
��D8F�rϽ����m8��&�W"c�#bI��dl:)�[ْ`��FR��]�l?
Fj��N=zBM1��SR�8.Q��^K��6|޳�
��Ýɵ�͔*�gh^q�~��;]�1�&J���;S���$+���@곭�)
޺��X�w"�qЬ�HSG{�u�G�ml7t�r���r|�m��*0�펹�zI+P/î��ʥ�ccLW7�f�gŇ�}Ŧ2Ż���	%+H/��!u�E�R�t.a�9�#؝G���M'��TP�OX��W��DJ�#���~I�<���\����r���
���(i}���L�����f&�
-��̆�YULI›�6"�o�t�[j�<�6��(���u���E�=''��Վ�f�t�H;ӄ>����z��+OFd��9���1�k�
��t��q��L���g��s�he��(9�Q,��7�c�*Ki�9�C�Mz��~Zϱ��B�w�&3!
������81����
+endstream
+endobj
+2521 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 2520 0 R
+>> endobj
+2522 0 obj <<
+/Length1 861
+/Length2 1309
+/Length3 0
+/Length 1905      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�kn�Ҍ��Qɓ8��"c�$IYg���i杙����
�
-j
+��	��t�
�,'K��ʯt����]#Y��^:}��ο���罯�z��z��6[�M�rb
+�@�|�G��
��D �33gD���F��D
+���l@$�Κ`G"c̀�@(�l��;�����
:x�%
���`й�&`��D�N\.�N�*$�D��!fH�
�
�1�iGn|� ���L��+�Ĉ)`��\	�L�+L���{
+�� �������7I�\O:o��LJ���<�+�G!�	�H<LH��^�}1�1a)�{�MB��
'>�
+�
����ś`��%
`ѹbh���� �����:o�m��g�3�7
�K�Ʌ |S���o5����@�@ "B�����e.|��	����d
�"]�A6�H �`>�H�8���	r �D�@��
�j�����`q(2�49�� q!
ė��F0.$CaRdx_Q��|���Q��C��s��oMm^ȕ�����ۆ
Y��5XQl�w���L&E���!�_3�����f��� H10�
����sw]W��?�Rǣ'��{�5K�af4��Ⳍ-�қږ�P�Z���aFWt{q����4�_󔗯
�!��hz��ʳڟ,W����O:�fhW"j����U����UcS��v���4h�hA=iab at n����HO���/��}��1��<ww��oR��e9h���v`�Xᵵ�>�Neu�m�̩y^�Je�F�M���=�]��(�Q���z��ŧ���BcJ�6T�|Z~��
��Zl侤�}5gҠ����6�e�����ŏB:|�I��ܭi���JM�{�hcdXfѺ1_��h��;緫��k5-$�:�5;'N\B{>�PZ{H�F��s��zol
7<u��
Û�]���'�.&ދ��F|ٛ��Bk���z��~�ns�����[L�do[;SZp�B�}=7?���Xj:�#�>�Rm|ٕ��
:Z���^vQ�.�y�
ʢ܇��sE&&b��W�hP_�q�2�ԉV9
�U��G7S�_&��;������1_P��$�:eO�5��v�2���	�^0Ҵ����Jԓ�b���i'���e�Z�ge
�4�\�r؝i����Teg�&ŢJ\>
�b
�v��˛XS�������
L�Z��Z���y����嚳L�ޑ�7 ��S�gb^�,ԭ�V�<aݪ(4;Q�=`-��d�wp�����
�Q|p*�p���	��������b;�_��Y�b���z��h>��&C�Ƌ��A�N-��t�:�M'��h�����I��@jP-
���8=�:
�-�kiОo�|w#��KR�MUF������r��-8��i�y%��IZPwiP�E���m]������L�l<�l�fEM�E*z7
k��T�YyX�@[�n$�ê�[�e�Ĕ��ώ��
Zb�;e���.ԙg�"�"3����/eO�umn"������
���1
�K=����V�Sk�����Ek/�_;t�v\�tL�(G#�������?���3�w�7�z5xH�|'rUj�
N΅D����|oB]��o����1^
��oc�s�o�ZPb��F5�8;x��U%��u��Њ���E5OQ����Ƴ���A$X��"左�.��!��&�M�־��*J�?!9�ޢZ��1'�|�H���Uu���
���+�����Q�
�[�5����
~��k�[ݱY9?u��ȿ�kr���w���+�/m>�Vcty�BV�
Κ'���=��ş���O�j]E���6��O�e�����Z�Pٕ�J���txY�e����勤����b�[���?��#,9A����]כ��
F�Wa?i���2'\[-��55.Ձ�
Q�.=?��	��6^�}�?1���
+endstream
+endobj
+2523 0 obj <<
+/Type /FontDescriptor
+/FontName /UUCYST+CMSY10
+/Flags 4
+/FontBBox [-29 -960 1116 775]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 85
+/XHeight 431
+/CharSet (/asteriskmath/element/lessequal/minus/negationslash/plusminus)
+/FontFile 2522 0 R
+>> endobj
+2524 0 obj <<
+/Length1 833
+/Length2 1649
+/Length3 0
+/Length 2223      
+/Filter /FlateDecode
+>>
+stream
+xڭRy<�k��*�"*�l!f��~�C��6֌��f33�9�E��FBL
+9��v"��(��'2e�,:C__�����{�y�������~�e�
T��TȜJa�"�:����U ��B��&t�$R)�X&���`D �k�#t�B���Jcщ?&8b��.�Fd�N�a)���ȼ8,	8PqD��RF$@�w0 b@�`�&�@ <�>�H�����R��7D�NCt�8�3�x�T
+��̖�;
�9���y�y�d�%��_�4�L$��#��iAL�l�x�N�Y�}�f�A�YK&�D�Q$�"4��H�7��0'�Bx{"�|�$��C��Vx�m�9�����|��g�%R��,�?�5�G�ˈN
�p58
����?�eF�Q�D
+��4�NDz��Q�(C "�(�g�F�2y-��L�҅֗�0,����ۉ�:��#� ���`��1�鿰�1 �щ����������x����a�@U�׎@�k�c����������x�}���@P(����t���U�q"��;o
+¶-��~߷�S�E�G8�rN��yo��tI
��^�W�h{���u�[U��n`.E���^9��b�l_SQ��|蜞
�FJ��>�y^�h�G٨v�
�;c���š^����d�ÒZ}�[7�g
r{V�d��丣�k�=�
+]��z-&!��Q�{"�����

>�sTS��U{���/��!;�lmq5̓�
��6�TBz�D�I�������3��l��@q�aB�.Q���攒/�]>��X����rŰw2�*�ߑ��Q�$$m�T�Z�އ��
��)vr=�p��a��)4�%�J�!)5�|
c�Dz#��4p�]�{���·�O�j]���
+;����:�t��)��k_�T��Ys���bq�+[)�����J �QSv`h����-*�!F�XH�ɐ~E���AΪ72��b���SlL6�;���3g2�_Q�ں���<���)q�;��
3��
RR7�@�T�<M��W��O&ϥ�;[�0k톙�.�w��y&�Y� o١鷲ϟ`�gDz�&l
�̟=�4��
�MJNJU
q����/
a
+��Z�
��^أ�m�/��y�⢡A˰J]�ʵۃ���z�
/�U��ľ65%��f��7�Y�<=��hz2}��s{O����L29W_�<{���X
r>y�GN���{n��ۣ��'���+X�`�=;��|���؇��եNܗ�Z�L��&��
��/�{g^���3t���n!ԧ��
����./�����m
��žn/���a�g�G,�MMnX=2�Ÿ�$T�; �q%sI�)�^4�m�?Ye�
�jX�sQ�ʧbf

��^>�P5���� kT�A�^�U����� �>��H���|���d��-z�.W��	�1Z��h�ޮ
5'P�S�ѻm�s�,fiJ��W�����̈́k
��;�u�:ybhtFX�O�˹�d�%�7�K�J^6�i7�e1�!W���쵨W�m
ב�l�0�d�%]��s��i�]��-�����h�>�fdk:��O+����x�ֱ-s�C��9��d=A|w�S{ݐ
�/��vi,rˮߞcF5�jH��:
���v
m�����k�ӆ ׭���BZ�qd�=�O��?�i���q����K��7#���J��N�^v��f_м<�����l�j٤&��uq��{��c����_�������g�åZ	�"����>��}�Kf�R�����1*dg�[ZY�����\�����ş)[f��2]m� ���9���@Cu��Ĵ`Q�U��4���l���€���
+�!�g���;�IEr��JV���nk
a;��X�
��~�c�h�sEPp4�]���$9l�pȓF�v��Y6˫���<�Z��XE����G��Ny�G�3oOe�b�fE�x2�+|�|�3�^�pl�cX눫�=⠴
I���JTG�)YUL��� �'h��,dʓy�`�A�Ws�
�nC��-r��U���dU���]m�M�������ם�P§ߛ'
ŷT��dv(	_��Z�F�P4G���zu2���π�\�To�CC\��]p���ˈb�V
+��LG]Oծx���慫R��
�����
`2A�������D͓�:�=#bʄ�	���G�m.
�3�^Z9rJ�L����1�T1h]%\�����_m�6}��6[��7Q�J
+endstream
+endobj
+2525 0 obj <<
+/Type /FontDescriptor
+/FontName /ATFWDW+CMSY6
+/Flags 4
+/FontBBox [-4 -948 1329 786]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/asteriskmath/dagger/daggerdbl/prime/section)
+/FontFile 2524 0 R
+>> endobj
+2526 0 obj <<
+/Length1 763
+/Length2 673
+/Length3 0
+/Length 1198      
+/Filter /FlateDecode
+>>
+stream
+xڭ�}PTU�CJa�
�t���q7p�eŁm�%�
��g��w�]���v�@%5RC
CE0���DH�b���4i�00Q �&����6���>�s��;�9!A�,���`
+E2<��I�,=��X�񅜐
U
��d% [�R�`b ���0�X�	2Jo��6�a�p�)Hu�Fj	�UL>Ա3�*dQj
H	d:W@&4@�q>� ��
ȃZDrN�TRC��97��[&HX(�B��H�p����dI����S�!W��!=�V�a��@��F� ��!M.�n�sl�GF��n*�"�ZJj	xX4_��x��
)�
qb��@�"
pV�$��MoD�1#-;I
9w��=�
+�L�E��y�ƞ�lF42�\!_(�X#�����`�դ���"q
PѴ����Db1�b �84hf�|�b�%�M�h(��T!�i48�Y!:�4b����JJ��V
�y+��Db���Ǩ6�4$�ٗæ3_k�(�f���ݤ����;�eYC�꺞S/	ܟ8G��|�s��S�f��di��cdžZ>��n��N
_�C���-ߥ���9�RQs"��bq�V����b�ҿ#C�R��V�Z!頇ٸQ}�ܭ�#����u�������<��~I��k������
�a�ѡ����F}�j座#q�N4s˺�"�7��~7���xwv.�]��Y�0�/��]�/O�~"��W��<<\3��_�#�j�H��ᨎ��Y
-;Mi�g��W���+gpLJ�S
���vU��_���v=4/���5��b�����e�10����ƨo�Xgܹ�]^�){�c�'��NT_]Ե�Q��M�
+�^#���6}Vt4r��Z�M겊����}R��އ����G{l�V,-R_痕6T7�4>
�p����r�G�
���[�;�~W8�m��M:a���
��>T*#�՜R�Atm�bU�-��
�ع.��\��p����pG�l�r|[���?,���ך�B���1�Oޖ��8��l���4ojzD[I2X�X
���`_���E�:�gpf�ҖO
��
\t��q��|_�X��?�R
�8x[IKܨ��'��j+o�K��N�~}qh$ȴ�Ԑ����EnM	���}��k�Q��5�	X�wP�m%�i-�
4u����q;����M븉��s�c�� ��n��������^���?s�=�
+endstream
+endobj
+2527 0 obj <<
+/Type /FontDescriptor
+/FontName /ZQLTBN+CMSY7
+/Flags 4
+/FontBBox [-15 -951 1252 782]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 93
+/XHeight 431
+/CharSet (/minus/prime)
+/FontFile 2526 0 R
+>> endobj
+2528 0 obj <<
+/Length1 792
+/Length2 1349
+/Length3 0
+/Length 1899      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�i-��䐴y�03�0�X�&�:��Ҙ���2ޙf�)�i�-
_QZi��9�
*�ՆVZ2j�7�(ہ
rh���~����=�<�u]�}_��<�z^�fT�
�8�1�
"@6���7p
�$%CC'.B�Q6�

Gl dm
*�	 
+ Yِ�6�T��
eF���iӂ�
+P�.J�a���G ��
t
���(�
��b��<���>&(A�Q:�&�)
�b
6���|�gj��IMc��M at jfc,��у-��H��?L-m��g�<h�
�B�M�FY���hG���
#\l�4 ���
�Q~�R���P:c�`YH�O�sFc�
���Ac�E
��V��-!�����2���
��H�k��Z���$�I���y�d�v�ΆQ�	�K@�ri%���B�@1�H��0���q� MFl��£Bda�)
KJ���?cp8�` ��—\�yiGGvL��9	�YK�C�
+��������r
_�V��>�
T7�� t%Q�n�y��HI�����/���w*�E
+�w��e������
G�$���ZQ�׺�mO���h�x$�
�_S^��{a׉xJ
��WKp()c���#��{�<wX�c��}v6��T4n�����
Ǡ���'=�j�}�6믳+��ij	�Cݳ:z����}�^�|@'45.)7Xuĩ�x�Vl�{&���,2P^Ϣ��겣:t�ߋE]���7͍��Hz����
䶹)K�|}�����w������*[��;��;;��;Ӎ]8��3}Z��ӻ�oy�͘�
�0
�~~}*\�zk[X8ggR{
���k�s������<�e��=5�{�8�m{���e��;˕��N��ҫ�lk iL��5�kЏ5L�	�������h;���
��f���N
3)��|:�/B[F�"*���*��
r�;�D�N�p�z�a������o
9�W0��_�X�n�d&�M����O���O�vN
�[�q��i�m=�7��[��N��N.z��Ko�\��w�^|

��>�g��`*���J�}[����"s��Ɠc��YhȃW4-��
^���^)�O} [...]
-�7
��~��
���c���e��#s�M��[�k~��y7��,�Л,��M.s�uc��^�^?A�C�����e�*�F;��p<&�����;�XW��e�M��
�[��ÇOn\�g8%9<K�<h}�u�
!��\�/O���5C]�:f�s�y$�Gu��jKO�x:�cJ��Q�e�̡�C�F�a�o~I%
wz}mT��M�U� nj�D��*ir
����Q��OB���Z���ު5M�8:�TR����2�[� 	�/ʋ�&�h{��ִ$v�
e��2g���!�
Fn���	{��/�
N��]�=�<Nm����5ٍw)�k]e���+��浏dMSm�Z��o�o��[G�J�+d���l��9�s�N�o���U�.kť�m;�|-~>�Q��Da@����w�Y���������]b��W*�D~b��!f��!�bD�;j���]���
+��
�QΚ֙v�dy����w���.@�
+�s
+��Ņ�����{�M\��m���έ�r�
+M��J��+�0������Qy���%3B,3���1A���S�1|�'k��j�WU�UP��ګ���0����j>:�Uꚤ�7�TOQU�W%
����I*�N5g�&e�����Ip� ���-��x
]7���Il�
��˃'��L�?v(	M��>m\�Ferb����g$�]��ݰ��ڇѼ���s��:�k���܎x����萕�l���
�I�3��K�G�3��B,E#�������\�O��qE�����銻�������'=�1
+endstream
+endobj
+2529 0 obj <<
+/Type /FontDescriptor
+/FontName /JRVZXP+CMSY8
+/Flags 4
+/FontBBox [-30 -955 1185 779]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 89
+/XHeight 431
+/CharSet (/dagger/daggerdbl/section)
+/FontFile 2528 0 R
+>> endobj
+2530 0 obj <<
+/Length1 815
+/Length2 1151
+/Length3 0
+/Length 1723      
+/Filter /FlateDecode
+>>
+stream
+xڭRkXSW�axl
u�
DD
+y\ D8R�)/A�I�M�c��Ǎcx���`
(XE�Q�8 P��

+Eh�(�D|4Z�-�����w������{}kWgA
�c"$S�T��72&�@4�Օ�F�8�)>�@~~�h� b�����b�\S�Ԩ4k��"��5**@��@�D�Pb01��:��d z��D#D�	�i$0*Ɓ��
+}�P�B���*�R���0�&�a�2
�	��LjY���aj~��L��g�φ�;Z(Ge��0�R�#j���Z1_�
y�-�Q�|>�
e�����@�|h
o�Մ��, at qq�edG�|+DzsF��`AP�Ǜ��q!��cuJ0~���o5���I
�B⼽�̛�c0��/�/��B
�A��b2�
�F2�I��N<D2 �Ԥ٥z�PC$�j6;ɘ%�p&�"G�1/�!
���{���R���Q�V3�>�� ,SO�f �s-� _�b�
�#k�jb��o#}[KPb
���IC���㿕�+8�\�[cA_���vbȪ-�1��
1�ʏ�����ã
�픍ח���w��g���_�j:B>�Px�X§9�V�`
E�_���ɰvU�������ݪ
3�p�
2�dw/����P����%�G���r9k��j�́�����1��+P<}훈0ER�v]��Fd>'�H6������<,�
�\{у|Y�ӵ���ь{S?l�o�:,7-ō���=�%���m^��9�5�l�*�/��i�Y���s��
GFJ������j�
+y����W�R����{���7��j��u��c;.��.�g1E�q;�|<�8ʯ���V
��!
�7�h}<��Ŏc#�5
�����2ʲ@}����ݐcD�����y8^o��
O����s�4�=�;i����gF��h�\�Bb�CG��'ܙ7��A�><�/:��4�	"���t�Aw���`���j�`A]�6���@� ��
+�{ �|֖F�
�n��H��E���K��'����+�n�l�񼟨��
�=ZJ�Xn�2�����^���E����ʲ�A.���N)�?7����	Y�J�y��%��Ѡ|����6L܂�;,�.0[���
�
#�xK�Nfx���_�T�z7��T떼
�w��뿓e���~
��\5�/����%Nţ
{ 9��m��5o�M; �y���Pi��hè�+�ҿvʏg5|����":
+#�����O[��X9�<�P{.?:�����'G�
g� oj�p��`��89"j`¢zPS�u���ơ�����*��#�%������!gѳ�_���U=����P�ij��\=`��~�~�H
���
ZUoz�Rr����.%���rUs�
���ۏ�Y�8���a���
�y�����I5gɜ�T��'x�
+�%k�t�^��$w��I>E-��pR�y��ӛץg^�kO���}V�G
xN����QO������S,��
y��݋'�{�V�y�Ҟ џt�2��j�&.�;��@�=�]�Dx��mjE"�,~KOͧ�v~.�([���B�?�(�s�=���
b-�2R�VI]Y�^��w���H�&�������ष��z���|�RX��$��[��ݩ�
���_����G�������AS�u�b�}]g��#kJ}'t�a�th�O
�g�;^^�y���\I��=�{�h(�f-3��WcK7;
+endstream
+endobj
+2531 0 obj <<
+/Type /FontDescriptor
+/FontName /GCEPBM+CMSY9
+/Flags 4
+/FontBBox [-30 -958 1146 777]
+/Ascent 750
+/CapHeight 683
+/Descent -194
+/ItalicAngle -14
+/StemV 87
+/XHeight 431
+/CharSet (/asteriskmath/element/lessequal/plusminus)
+/FontFile 2530 0 R
+>> endobj
+2532 0 obj <<
+/Length1 781
+/Length2 1493
+/Length3 0
+/Length 2036      
+/Filter /FlateDecode
+>>
+stream
+xڭR{<�Y֛٩��J.
�)3c.FL���b"�%�e����ߏ13L.]f
��%ū��TV��Z"]DlR�Fm���mߡm�������y���<�9��bM}�Nld'��Bɚ� \����dm��b]S�E`W�r ${{pq ��hT����$J"�r"���7G�N|H�e1a�`
+# �J���?�Ņ�k���߹1���b�m�!� �����
c�s�6����Tf��>�РFe
+X�L��"�y���1ĭ��.H���a�Kq7���ɟ��
�m&�˓�I@�Q"!$ 
�
	�/���'o
����n2y\���A��S��ƍ��>\!+"h�
��/=�b�w@�����i��;�{>L.,�D�%:G�Ǥ��*
7|kcmcCRU��n�wm�Y�
�����S�Q
�
+قx��l(@q*�Dk�� U$� 
`�~��R%Bs�?�= ���TB�۶6�(�E��?�����h�@�P�-�
h�����	,��%Ul�q8W�1�A,LO7¢�v
���&m:�^��/p��fn���yEC���^�-�h��ʠ�3�KP�b�
c�.'l���v_tf~��8l�`�Eà���?��tX�R���m�9�O6�6��t��~l�������f�V�
HI�\M1�]�]�JMy�,'K��=iҮ�EuV�c�e���E�ٳ�jY_��';=���kCJ�G��cEsP�>? ��Y���!֝l{�/��@��~��٥��p�F����%BȔ��P$'����vlu^�;K��a[r���`\p�{�pva��-�Qܡ\Y4�c�#g����
K�&Q
+=�%�MzG��)�ʹ��~��J;ni\?3 շ����{[�M
���-�g�b3���Gn5����b"Z6�?�~t�ޏ
+vIכ��>�1��޹�e
�Q�_�ՓD����`�J=:O?D{�����J
�j��E���Q~�Fo�҄	>�hĤ�@x�ǵ�ƜV2)oٔː��L
p:��5F :�:I�<��
+
�
��+��r�[JC��Ր�ʱ
�r�&���
���qO���r�L3�K�>4��̶����p�Ju{(4������^�
�e>yͲ�^B
b�|�Pc0T��>ӽ�@���c`o�1㤡ۇ=�������'�E
+/�V�ju^�<><9��D���Q�_��z�:y]����;��L�H\��/��8~�xR�
�
+y"w㣢�4�hԒ��f�0�*^�)(2W�	�9����i%�y�Eٱ|��J���A��V�
i쥠��S�.���0D��_��ؙ�6�i�z�*"�����g8�N�c�����"�
6�+Q�b;5`��n���l!��*���o^
W
���hʁb��)�
ۜF�9F����oj
+�����lp?�w�a}�3�}?����M?
+!j���{�!���+�&��u�V�	�r� ~�7X��_e\M=6�V_Dl��M�0#<�x=������d���f7D�Q��;��}c��E��Z��mD�_�)��^|aw�}
_^����m�iDy_��)���E7��
+��9}���K��	,�s�
�j������
uS�M�[;~�r;�yBJ|0e�S���w�ן���kn��V���
��g�f���O����NC�G����z=�x�ؕ��W����z��l���N�ك�/=�i�Y���k4�x����)�e�YeI5

+%��|�x⏑	(�����Y�y��5�]�<��.��j����vm?'��5N�K��R�x"�
�l^|=�]���[ǃ��d՚�dkئsbf(�G]����;O�P����~n"�oʎ����
�:|���7Zn�z��Ʌ�:�ȣ��ha�2�1]��-�􂇳xGl,�^���M.:�&e
+��v��Ҁ������E��@�]�6�tV
Y�^j�e�D��N_�x�]� [�x��1[H-C]��k
��M�7KO�I5VǖY��;���V_��PT=��)
s��,YX�L�Y�
ɐ��82XQ�0>�s��И
+endstream
+endobj
+2533 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 2532 0 R
+>> endobj
+2534 0 obj <<
+/Length1 801
+/Length2 1229
+/Length3 0
+/Length 1780      
+/Filter /FlateDecode
+>>
+stream
+xڭR<T��_1�%nVK9��0��c0��1(���Vn�̙q43g��a���k[IJ��r�EZ*�lWr������rU�U�qn�~���������}��}��y�K�c�8�yH
䏈eN 	� �!>L�8�@
��@!�
Fľ
����T �  
 A��A�� �#�B��8D�1
)�
�����@
�8% �� �Ba.G���D/�#B.
ɔ$���H�(,���
�1����B!��!�!)�&A<
̕q� ��
��|�-�yr��R�J1s�=f�����P�
�ǑY�a��
C-'��
�,��_��o�
,T.!��B]���FbB<X.Z^
�q�0�.!��������a7
�s�Rh1�y˥�u-
+��軘�,��a����bY�R���b
�7ƶ��
+ �B�P@
�}_1����\������AQ�G���]]�  �y����d��a-�D.KŎ
�-�ƭ @޽���փ��8�9�8c�Lu��Δ��r�(
+�e�g�m�ċ��A���4� �/��4
�L�S�\6p\�#�������
���Š�]��#W#窊,>
7�M�`-=ڜ����tFbn��v<)v�h�u�ȗEL�?$����M
��']W��ܭ̏*k/�g��R��o��ʿ��F'յ��r�E�	�r��n���$V
v�N6�����*-!Ǩ��pi��ϩ�.���m�l*���/��Y
�96�,Z� �2��^�z
<el�N�(��,�v��ջ��5�m�t򖾌��ic\�WњUa>��b<��.!��V~J}*Iy-�������	�d�5jmU�:j��P;��~U�7�3=��
��4��1	��Կ��r�:JE[���ό��;6|{�xm�v�������gV�,?EU�я�P���DI��ׇ��(�S��
	��C{���/��6:^����z�[ �M�=a�_\��e0�u�
���kO3�۷�q"!�Ŕ��;|d���aO��Ṋ\2��;�>(�#�*k�(o�5��
+<
�%�HT��]DEF�֕A���N��6N~�]m�L���I��.3lc�qkaԏ]bQ�&��'ˆ�Y�K;�
�� Qo�9���ں����
8�L�n���(5mԮb�f�
�0�0���<�ۓQ�7|>?*JX��ƫ���
+�u��(kV*
��"��7+���~��Lj���@�9} �{}�?Pg	��:���d����NiWN�e��9�����*����:�gϽ���� ?gb�Nv�D?~*�jL����QB�tj�YYKn6s�v"�G��_|�U~��@u��H2A�횫��������3��+,�~1�S�u`�Ĉ@cK����m5�}�{t�
���� ��?�nyw�֭���'z��w�(��;�{90�:�t�\��٭s��娲���.�
<��an}�g�n��Ł-
+�>�_]0)��:]S�
���2x󡱤o(�|�W�z-,v4�p{������w=��9!_�5�u��O�PEa��/O��1
�BMJ~�n�Uil	'OIf���l(d�l-�3-r��߉J��8���3���-�_9v#�:�J�A]�٭�F�u�6�vw��j
��
�y;�;L.����:�(nOPG�����h�
��>�5��se��vVY
����A
��t��B-���.��_�_U7���
+{����{a��v�����
��f�y��an>3�qS4=��q�[<#z'_�j�O鈋�tC��i��/�3��k�v&����W�_���.\�
+endstream
+endobj
+2535 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 2534 0 R
+>> endobj
+2536 0 obj <<
+/Length1 1612
+/Length2 15120
+/Length3 0
+/Length 15951     
+/Filter /FlateDecode
+>>
+stream
+xڭ�eT�_�%�kp�����	��qm�������%�w'H @���y�Νu�y������T�ٵ�v�iJRe5FQ3����
#+
@����������*����ȉ@I)�X9�K� � Z at 3����`���E��;8z��,,] 4�Z���
�i�'`����7��,�T?܀��v@{����Հ@��%`ne
�+)��*Jh�5 �@{ ����jbke
+P�2�;i� �� S{3�Jsf��%�
08;M��^z�
�q1 
� ;+g�� +g�����o\
 V����f��k7w�!G�������`��.Φ +G�߬�R���bi��Ong��n����H3S�J���/�_�����3����O. ��������o�`� ��pu����O
 ��df
tv�
�����g����zcGG[��v�W���`��
�5gB`e�����on
+{�E������o�����܀�5�柙��K������`4G`Vtp��@��2����
����"�����U��m��_���BK���*��
�?0��/�@��ck
����Y�z�.��@-�I���Ⱥ�m����_AX�X�m�r��� �)[��Z̍m�v�_v
{3 ���
�W�5�����_|�V�6������.���%�W�Qg���Ԗ���o꿢��j�������,嫃��:��!&���f����l�� ��	yXY}��������. +��ߒYX�U�����I���Hڛ:��3+j.��f���q���@U����-�?��t �h����`�b����Ҁ�?6-�74�
+9�Xެ^RP�����[m�V��2����r��~$Gw<1�mKݟ�.$�%�
,Bۦ��?b6(GʼԊ�YV؅��b�<ޟVQ5({�!��f��<���`R<:"���7�c�����7_\R%�==R�L������
<"�ϋ���w�B��p�#�ը�����l�B���D��۠���"�N�E٢pþK�-:�KX �+H��F�vq6Z at 4y�w!�sӕR�G��p&x�nކ"x.��x��f�9»����e9i|N���ɽ
戒�q<ҵY��љ���1yK�[En�}|��㲖�`���M���Y�>�!W��-�
뼕�ظ����Xp뭮�w��K�n��h�!��J�G�hm=�ڌ��-�=�
+K�O)}��(��+!��~��_"(ȑ�M�r���>/�O�<v��3�����\G��旊���t8U���v�%���TU�mO���q|�i����N��S�ȳ9����1a�/(ߚ�9��
+�,���F�m^��l�ǐ!��%,bz���=�b��HT�b\�H�ǿH]/֛��G����B��8���4_ߝg&w�E��Q�I�K�'\{�7G�Q7���@}!yD�4K�#�Rg|��
��ۊ	�ֲ$����ES��/���� �����"E4
|�I�GO����hClj]�i¤0k{W?�
	�I
�fK��H��{�
\z��*���M]B����Z���]�0h��5ҕ;X���%|R���$��+��0n廗<�t�x�g���2\O ���QI����ܣ�/iŲ��^�Ӌ�p�^Am>%g��R��:*⥨hľ�;ҩ7
���dř
�k@?����ֹ�D1/������%�7�x�~��!S�`�H {ɜ.쁞�4�W'������
>
ȉCЛ#
�!�֜�#:.|S��/�_G�f�ec����:h��jom~����#*�w�؁��14��/�]�s��wJ
F��D�qT��y�i�'-b�dž4eB��z:]�t�[W)Lo�ϡ�*��{����B�r�Lwsf
b<psTB!E�u@��G�R��n�F_JX�:Ϗo��8
B���a�Ed�N�Btj{Y�j���u0/hb�#�.�0�+5�<r>����0�>���[�E��1�Q�D�r4�T�we��
�8<�eWOy�
��XsH9ZLɞ.�
c���xNi#[:��;
+Ֆ��`�MS+
) �lŇS&����f*�h�M�׆�)�En���*��
�Z�<�͕��ɑP��:���d�I?�eL�
���䦲�������-k��%S�#g�n��Lۃ��g[���L�+M���ԕש[���U�%#(�ť��v�#(0��a����Y'�~�����;�F��H����n�Z:��T��iI���68�QR���߮x�8�=��ʭv��*���3�耷�E����	י�&�t��P�B�].��	KO#��Ө�J_�B��l��֔����MJ����T��d;��G�A�v����=
�;
�S$�v�N�<(z�$�Ts�$�J��>�H=�l�$kg!���%��r��񓀶�l켩�_��7l
Sk
+�'޺�F`>�Q
�ć �:��@��XU�
}�SW�{M���3&=��� �3K��e�
QZu
��k��y�)��k�G��h����z�׵%Km�c�J�Ym�%����~cpݣ�q�[�^����u�/M<��Wo�0H
?���}�h�I�������c�g�N�R���
D;U�9�wF��t����[�
�T�N��N[�b&�P(L�S�(��.�2�y�/0r�jW��9�L��6%�0)�]8y�VK
s2���H�o��?�D
+� T���9��h(R���D���g�7�o��?�M������%o�w�IřS��)�Pҙ�آ�ޜd��#�'������
$
�M�H�w�������`:l~C���w�S�{J#j����2+7`�H��7��A�v3K�*�O��Dv�b
�V�/��|��
��7mk���K%�����p�amZ�y�Ӓ8 ����*����w_����޶o"3	��|�p�R�Mv2S�{�PX�Cf�V_���^
��l��΢�����u����P_'%�:����Q�R��ɇѕT9S�P/\[U�at�Ȭ��9����~�t�=�`���䡹�#���[^\	ނ/�=���\Yb���J�d@sB^F+��k��4^��)������ŗ$h^���QG�p{���yk��X���W��[�+��v�;���Y_�b/�#��l^���\�G��%�U�n�ic��m�B*cOl�
^��~��.�z���G�Ӧ^�<��X
b��r���<Lo�_��+U�S
+^�K�

+5W�=�΄c䫑 ����%��������@�f��d�{
�=^!�+�&�|.m�9�C �q��5H*BgT�Zگ'��K����*��͡�g�����Q沮Sj��k�����Xւ
�x���$�
+hC��|��m��(��p	p�t)y��T�;�D5�5�-�5W�Ǝ�|
	�x�gW�M`��대���N���d1����O�:}�:� �-׈����x�O�B���B�^C�c۸*��{����*�$��f5�2ĂW�T�����E7�	�'���5c�Y:���kw�A�d4^A���و�U4)8���nOq��2�P�<�zX=��!$�ȸ:��v�2<�2�”SFh�H������P�$8X�Ն�v�*j־
�҇�פ�R^���7�r����)G�ȗO���\ج!�\4�Уi�$��=��C�1�f�R�d�n���D�|
+v�
	���vmvvPftKE
|
��U�d� {���&YJc�A`�Oj:� �")�v��az�0��9���&]
+e��p�l����ˁ��
�/X$vW���*�����u�P�.[�_MӖ>�)�+E�_e�t� �+?I�����)	�}ϳ����B�
��{t���>���s��f�����
���8L�2L�-/I�N�q�Ƨ��S$�*��6U5������y}!�ӞH?�1��4��^$���߉h������M��a��p�tʑ$�1@ш�=��6�$�G
+�-����/�W�^�����cP����K�t��E���c��t��c��N;���
b�`䈬���a+���� ��z)�!bH�	�e�73o���*��Fؚ�Q�����k��
+2��*XGx4�H*e��~���V���Y���Nm���
,;�%���|
�;����|tӕ���r	f?RV=�l!w
�.�3�������H!����me�V��
�>T��)
vH�D/��kz�(�:]���=� �O�xr�e{d�k��7���J�V
��z@�[
L�Œ�5
�I����]��b�>���a� �G��v�wo	�}�G��s2Sҕ�=���hFpC
���"n5D�)R�i�dV��M�"�:��g�i�7^�n��Ԅ&Y�v�n�I]��7Z
�M�{����[�/ƪ�׬�%4-��k�9�"�}\��E��z��ʋieD���6�_$�U����
$b�]���xŗ���f����h"��?��כ��n�\ʠ�
+���^?q6ɾĺs:�]@��u���AeX|�ćkA�k=�
z�[Î�;�lc¶ԋ�*|��3��C��xl��K���c4���w��ؙsѺ2���T��B��@s�[��w.�
-���pTW�i�}He~�h��
,3x&�t��s��jF�Zr�z�|Bc$I���
��=����Q�jRH�ZZxL�\��%
Q-���
m/���?�W\B
�[�a��uahN����b���Q����
?�w���
+�,��S+�(�X
+�����H1R�[����H��zC
��:܂i��z���
+a��O���j��\��yz����$����k.�Q3�q�v�l��!�2��D�\�F�_Q
]g�p���+
ֹƘ�v�B��zU+b]�����
 +�x�ׂ�i��D�#�Z��,sU+��j<o}��Z߸�ES�����)�z�ؒ�V�0J��9�x����\h
��
q\���ˮE<7(�ؑ�]�Ύ�U2�<�聢5II��|P�R^�Μ���+�Ń�{���
��ab�v�`�Qu������bC�xe��Ϻ��`<,ot���n��M�#~���I���#�
��h���(�l*f�X%aִ_���L��ޛ0�ࠫ�3�I�^�
��;/�-$��9��j��
kV{"ޤ'|A�:�)�V.�cr��F at vb\�Y�
�jz��+�F���'�)Y��DVp~�&�L��
�A�7�`�m◞��u��H[�%�$'�������/9�a`X�x
L�Ԏ��a
+�+r�Kq������*��/�13:
���ϱbN�����s�Pr��*`��I��&��P!��
��߿*��d��gi��TZ���k��k��
+�m�9��X�N��J�E��ڼ�Q��<
B�&;/�.����x��B�k�M�������t�C��}Y���NO�[�?M(֬��#$:6u��0{:�U��b ~�5�*
	zR��YH� �A
��Ԭ=㣂�, ��+x�uC�l�� ���e�>ޣ�&���'^��`�^��X=r׎6�h�c�3@�^E�#����g[�����(�Xl�+� �+������T ���iɨ��FL��]�&�[<_��qV*� ��Ϊm��e�'V���C�O�W�/%6:Qg���5Rx�Ra��e�i�̆_�/~	�}ԭ
��?�3\G<��s��,^�UÌs4$�g�z�!�>h
��t�u����"L���z�M't��SZpO	tծ
�d8O��3�a1�,M��1)�P6y�
�
�(�ROxk
j�*�f��2�	� ��e�{�����u9c�+�vj�j8o�-����Jn�$e� Ϊ|/6郶,�q��?1�vQ�5f��
�CM�hi�D�IA��Z������S􄑓G�O��ەNn�:)%
��`�p^�֡����1-&ɹ��2�1�/���WKq��?��ɏ>��"��)�N��O��'0�q#��9}�ex����d$�s��fNCE(�׼9��^�
"�����4�7��IhB�r���˥XŒ�`s�;\�Ϋ����
,�o ��� {��py��di��u�����)]�L�
+c�!�wႎI�T3��W���؁�Z{��}���%gj��P��ؔD���J�+�k�r���,���ݿf �6�{ F�{0Z'z/yzF
$i��A�X�;fì%X�Ƽcgl�|�W9�s	F�(6�
j�ur�!t�4����Cy��p����j�B:�7�ߗ�xQ�bI���:��v�p�&s�U�6�-p?S��$�ˢi�@6���t�C�3�Dn$}y6#qW���B�
"��ʍњ���}j��m_֒�
u(�	MMϢ%Ch��y�"�M�GS"�c��S�\��aa��%�0A��x[�	�%"�Ț�%uz��!  �6��N�*&����
(�Z: �}Ty��fV�XŬ�JJ at Q<�W}1�B�M�*n�5+QN��
��uԱ\�
~���|r���#�	P�^L�{���J�]�Z-+�g�Se�B��๨
�W�m�
C����ۆ�,�
o~+�4���|%q`��S��Vu����z���
����J�{[C{O�#E��b���@"^�����4�tEZ
<���P�k;�hk�
�O��
�A�µ�&��I�
+��z��cT�j����|�-X91/�%o��~��9&�H|G�+�Z at Jr�[3:�6
��d9�)�~��ٽ�T���8���ݎJ�D��ۥ
�±���$��$�
���
�t� z�	����V�3&��*��$w��T
�Z���h��
J�5B��}k0�	]�)o��B
G�#�m��s
E�{�3d�lY�\�C��^�՛=
U^��h� e;$�^/�6Z��qu*���P5���1μR숯��X9�-1_��}�~�e�T�;�t+���ѨQL�6�	�;68�
��Ԛ��ks�
7�[F�����-��
���H�oc<�����X&C
�_�؛��,�ts�+Z%�
:�WE+r�NOuG(K�=��y��Q�flt���^hQY�_Q�>^�!���)0"
+Ã����\����_�K�����B��zSB�V;��1,�WRC�-��;�v�{ߍ:ծ���E�I�+� 鋜9�=��/���_���L>�"����l��9���(
*{/�����	�`�
��x�0CF�黸
�7�Zͻ �bSj6ahvH�&g��h�;O��6�}�ˈ8�
+0SGG/����!�=慜��{��59-��'��`O���qD�˗Q�k��2m��i]0}��	��1�9u�m�d�J�Cn5t�s��W�%)v�,M!|�o�~c��1�-[v~	̇�4d	�H�����5]�y����y��K���C58J�W	O�$=W��X��‰?�m���jk'��Xʺ��~��?�)�o�Q�)��۠�vI�����]�s���W���Z~;���.F؀����P�
+�'��
����G���?���y6��Dȯ�Z���ʯEu�b���$�`$�nPm��Lt����%�h�0�z���G>����9�}���=7H����t���	�ϗg�rר��v'g(_
+M69Y�A�Co^��I�
��>na��7��{�E��OD�
�
�ބ�
�$�jm�4�,��
m���D�������d�WU͑�ñ�
+yI�r5I
+;l�1
+�
~|�����XJ�,���v��]�9�F��‡�����1��,��I�Ҫ�>*�P:��r�~�X�Y��˦Z4�k7�FX��T����T�6��ON�������nD
X:&
L��ֺ	G+�WO�8l%~#p��‘���Kaף��;�,H��C
+ G+�V:BB�G��F�a�&BcV+�ެ�`!��pT�:��~��c���qG4
W�`s�
�Ao<�P]����_����s;�C*��o@�o";�g�h��۬��$B�W�3R��1��d{
�ӌ�������G?	�V-x[��N���pyNש���4/Z��JG��2�w�o�a�@�U'ik�S�|��
Ӌ�z+��V���N�+�W\g�
3�>[��ȶ�zgܣ�1��e���ߑ��$(��Ǩe�f1�i.���s��>��d�/~�z�x[�S���b��#�|�{�@�
0�xY��e �+�\9i(s�w�Ax�H���yf��Y�Φ���Br��`/�ؕf������9�r�Cf���P����f1��aD�%�xM�T�P�g��wj�x�-6<3<[�AU:Oa�b�ָKT�-�
�R�
�����I��W�{^/�/E1M�/�d?r��D���KMQ\2
i�s�����e���#�V)�
��)x��y݆^�j,��k)�*}�<T
H�R({���]�Km�@@
�ZL&J�q7�'�����������]
��>����e��oV[��;M����ت�,�Mci�қ�y��;�����ۛ�»���ϴ+:���)r0���
B-�|���V
a<�>��D��
_.��wq�L
+QL�:A
s����
0��ٜm\�3\Q�!��2�H��w��G�N�7�.#&��`~�Bq��O���v�4�G�/�'T
+؝���
~I�m�R�>��1�͝ĺ�/�NG盞�
+gč��&tLt7�/cXc�2�N"�%b�E'�J~ �.�{��N.�qx�y���z}c�	�ٕK`%
�E� }���{�bm$�8&�m�[T)p1Zx���L���<�"�6ԪVwƀ���h�hU���A�m�y]�n¶&� Z��
����#�����T(��4��.�i����c"4���@�bt��i䏻"��4I��u�ۘ��Ų
n��;_�$(0�øv��<��Nj�B���''���p�fg��ेFL�-?�-~k�_w�� \�~vJ��B�9�뺏G���Œ���I"<?����LQ�
?/��Y��W�w����v��=�v"Hfr�4��q�#ш��zo�ř_/C��]�Q,]�
76;���i�i��y��n��9�0J�.j�4
Wf�]�w�e8���j�L��� Y��ŕNc��m<
O
�hCd��8̎,
��A
�c8�bsB�5b��
�{��[O���
�
s9�"�g�*���
���e�כN
�`�mW䴪N�
�O�  �Xe
"Y�
5�E{JHy�MT�ۄ�6K.�Ht%��>x��I{&-�W����V k��B�@f��!z��RM�
�"�[J��EMZ3�D�qO��B�L�(D�/p�v���NsA���]_c�$d��98���z�� 
A��S��1�޸Ŀ���v9;�xo�Rc��b�:������&���
�`\d,�9},q
�eX�MUh\��ןrk.�
Eٔ�y+��>�_�
�긽d8����߅�m�0��>t��#��^�_����֋��gW~m�$V�x#B�L����q��5#{����븾0UCUۯZK�É��H��>��b&�2cP���)
LX�UFV!j#&1�| ����%CoDA��7���nIE
=���WgԮ,H��RBT�D:7����%37`
��a����T�L�`�<
+�`N�Tw5nt4�t�ͽP&C��v�;��6(�`�
8y������r��O��[�![Je zE��.~��$v�(My�[��GOK��7��e����
�V��zj��U}��1��M�u��Ae��V"OK�j;`��e
J�'23���"� ��ơ
�
�~U
����xC�ǣ�Y|x�����I����#-K1�G���Ќ<�ߑ�G�E�&Bp�T�����Cj쌓a�KA��o �Ϛ���Q[x�(N�s�
+��g'�K%��T����u���Dhf
u�
e�p$�U���٣3����U��>�`�k\��@�֥��v&7
ME�D}�+o]8�r��; ���
������T�Ҍ
+P�㩌�ݐ�5�_ጓ��A�'��
`>��1#�����}b�o�{�VG�"I�St��
@��Pa���sMT�rb+�������_��ȗO�Y!W4˙g��d6���z��Z�zŒ�t�
+*8��d+Aj�:=�
�j�n��6j�=R�����Jc_��e�/��2.;
BG/̼Ń���Iv�V"p���q��ܺ&A�w�Vλ��p] \�%5� b��n��9#�_R<p|�p�[W�+6r)�����׽��n�y^��߆����LHƂ
�
�+�P��~W��.}*�����H�?s��"���A,���{Ğ
+��
�'��8��9�Ч���'Q'�L1�R*���3"�����Ǘٛ�S����3߇y�*n��
+-�a����x���=s�;�����N����]w�ĵn�z�û�o����#����{��R
��)x�u���QT���͑���ԶugO ӓ��-;ns��InEm.��5c
����-�!��%��`���M��
B�K�
�
�>MJs���v�p˔r��1�d�#}w,Z�뻛�����:�� �N	�x�ZV�����m����]������s�†~��U-iLs�	�F
��	��@ɍV�ǜM��Ԕ挎Q�����u�+��T�3��
�w���A �X�
i?��q��Q��S��(6ւO6�����Uhb���(�(�7d.3����{�)5��?�ͣd�0�U�
�s}�'�+mD�(mrgڟ;{��b<�`���u8�]��Wt?
�ډ=��Y��V�����x�0�
W������kt�`�l�ϳ9�QVY�E��ؐS��r<ڣ
5{J�	a)���P:}P�,k����z���Wӧ����i�[�~�uiRNP�K��`�D�^�.
T*�ϊ��
[^�3�n�ke]&|�*�+���
?��
�6Ma��ږ >��p5�
h�;���;K�	�CA�a����Y��g�w
.�AJ����6W 
�Q�ǚ[�ӷ~�ԮDkm(��<��浗�|j�����v�6����7
��
����q�txV/������G�������B$�x)A�쵸4
.���n�XXA���&�߅
��DM����l6���
���<3��D�
�,�`��"�%�_ha$�q��B�ׅ���_�TJZmҖ�vDEpID
�vA����*E�4�삷��~Ϗ�\����MS0��'�jه����X>L��ڂ�m ���l�
���_%(D�����\����U�K yf���Lv�E>Ì�i'X��f�>7�񀅨��Ȝ�8���$�0�f�?�m����v���BHyn:#�{�(+�ĕ��r�lJ^�|��Y"v�^�f����p����F�kpzG]On �P`��Hm=�� m[hG��J���i��ǰ�2�v<E�o��6t��mڄ���
5r�1����o���
,C��������k�o���?��+�;��G=�� � �IR��5�>G)���1���z�h��K�'6��t�=�KP�	�)(31�?cS+��\�C���TqMOv��2�~�j�������S�������r�ŧq����o��f`�o�
�	��_�ǻ���8Dk����� [...]
��0ͦ�������3����tW��hv�h(~^N��
������;�U����9��CR�#�[� �L��P�y_
+L���Xeߪ���?xe,xB�J
uM�N1�&��	/~�|˄�G��_L
��~DpО�IWѯ=}�4�>� �w� �%%�%r����>��U�dRj��y�4�<L
~&�E��ԉO�k�
�v��}Z����h4�=�nW�m���w�.�uY�`���
��VQ�cG��Y���f?�����l���/T9��5�bѸG �q Kˌ��e7Ck�qnA��ū�k
� �,T�;q)�NP�Ũ�c� �9N��Y
"&T^�����`=��Z���
��*?�`e�{
6H���{'�
��o��g�"�߀��a�`�2�Q�_� �K�=1�۲:E�$Sɬw
mP�=1>��	���W�F=���y�.q�W�!YBHT�H�s�E���\��`Bȿ
M��gӯ�ň;U��V���?�g��
ˊ�>���h�`>�l~�d��Ԕ��E
gO������d|0�69
QF���n�H	S�u?LD���
�Z��c$q
,��l��H��uM��v�Qb��p؊�p/����}1���Cg�3
.�=7N��jޗm�4�}��NZ�{BuqJr�_
C�)d���5l�Wb)�jG]L��0Չ�:$o�o�����*����W�u�F>�?�Pq9h.�|�7�t"�) vZ��@ �{>]��Q
{c�T�^�nR������	$ ��x0����&a�F�$RV�_\���ş'�؆���M�̩
o11���D��\H���g3][�z���}g��]]
��ﴘNN����ī�:5�i�3>ו*϶�r+;��
�F��K"P�E���������]m\2�?T

nm�����u��8f�+�T����I;!��j�i׸{5��'o�����f�:��kE�܊�g�M

+�'��^�g�!�l��n'R=+�@Nj3�z�^����cYCS��+���&ư�A�r�d�-�Ҧ���n��r��l�� ������ NM^B�hz�֤�	��3x�x8E��,쌓~�l��.py5�f٦|;(���:�iY7z�	z�ܵ�#i�٫%
�ﯷ��[��=-E
�1�D�J�	�
�3�r��ﶛ�"c>�m�?�z��x����'�˯B O7_
�A��#r���q�cP���\*[��R4
�V=���9�
�w����d���(5��d�/��s
X
#�����te:L�n�茥��ۅ�̝�x�o�?�xO�.A�#�e1_E��|�-��������g�H�+A;���
���&PiL9"��@���X��mO�
]���
y�
�@�W��Z�fT5~�9��ݞ
�
+���p�8Tg��5��i#��F�M(���E�N
]�jQ�
�F�1 0��Phb6�Z�&�<���j��U7Y��m
ŝ�[���­ߕz�s|����A	Q���O����o
F}�n�:> bm����b�1v[�Im�ޱ@��Jg�XP`�ެ���'��}qe/���D�� mk�w5V븫�Ba=���;"�<���
J�h�i�Se�/���
�?j����c^�/?`�L�os���%0;��>R�Z�Lj
6Y
0fߪ�
+�Y��B�ϓğ��R菸Td�� 7m����I�iQ��#
� 3�q�_��wz�Wo��zrI�B1�q��6Oh�;6

�V]�
[�a8�eC�֭��(9����s���G�ʣ]�l���"����x4{�c��|8�����%
sx�����w.��5�l��|���}5�>g��:��l7{��g�^<�A��[~h��)��s���B�J)�]pX�C�쑍�n�Ƙ�N���{Z^J
ë��9S���Xkҁ
fA,�V�s~+��
�ɏ�(��N���|��?
m��@�u�����8�|�#�Sn��O�[(F���f��č�a�ƕ��#�Kb�`������7�T٘[�@��s_��)y�<>���֟4�t�T]��6ex"�@s<ja:�,��?��	"�zw7�w !
+_,pէ}~����-z�C�;N9F�\���D���Ж/�F聲�v�D�s��ƭ����$9�!/y���E&L!�w����{���/	W���Qm����O���|͘�>Ǜ�����
�*��)��orV˖�3����'��S��F\�ln�J�e��Yçj���AU儃�1�0�� �&�J���p�-�O/�����x͎��#֦
+��Ȅ����C����D�lw#���	�@�we]���o!�d��KD�)T�ޕ�PWup�!De
���w��ȥAy�rx�Z�Չ1
��q��y3�)�Lj�6��Q���)CwC3�-��l쾱
.�\aڢ}�;���aH���ڼ��N
"k&#
\u �z�V��5��
+qTw��
+�"Ӭ�輕C0Ӓх����
������6*G�G�o
��*����H�>�mm��Ma� �L��<|���c�ډ��-vW��އr�xy
��QL��{0�i
�E}��
O�@Öf+��G�R��f7� �ɭ##d>��
j�&a���U�]q��X��n�tGzl
ai5����i
,�*
:?Vn%��;v���&6��9*i#p+��J`i�&�-`BUḃ^�z�W=�@y��ג(
�
˂.����0BSi�ʣ���O;ѡI�
;�b���blQV'�U
�{(~UX��BI�a..���G^�W���ݹ�c
M5w��J�
�\�vp�a���Wm&A'z`pj�e� +xJ�L��3?���^
�{�^�y��aߋ
�jʖ��o�n���H-���������n.�@��ɡ�lQmɈN
G��Ӎ}��dO/]�u��L�z)���/?��y�bF��1q��R����,2'$�VC��{_�t��%�&e�
�
+�?gE"��-V
����������G!�\��af�-O�bB��c�}�������Fe��֫���{ʷ�
�4���b_Gq�(�b
+{�]W��FE��	�c��0MX�S-E{�2����[���4)
��P��r
+�ȵ��N�2�H!7N�B-���ʌ.�u#��峥�Ahܾx������v\��F�5 at d���#u��>�6��:Y&����W&�U�ʏ��GGu�f��?r��͊%O|W� �(�V4!)S�p}�s�ڳFE�!<��vN��a�<�2�\����;�^rѴ@���Nw�$�%h�
+��
��
R��w�����VLd)��8E�\h0<loӭ�Nl{��>�[��*5��mv>gR��
�\���Ǻ��P�=h.$mWiT)��0��'�R٧�3'���Ӧwx�M��#��2����	
[��?v7��&��+PpX����T[�=��
� �xk��"�2	��y
	Kѓ���Ytq���bf�O-��HN�
�:�B�����$�e�����4� O��+<�h?"y��IN�
��"
�r����14t��7=�	�������D�$�"�9���D�q��
C?ͺ"�meSL
ic�����#9+C^z�9U������t݈.2���@�8

+��rA�
�W'ߕ'>�H��f�y�d~�����fu�A
+(���VV
��"�]�-�z�q�/U��

�b���i ާK�ź	
+^��^
+�
�D�^~Wro�?]�V�4F�Ӄ�€����S��'�v�b����u�����|�#A�u�ǧc��
�~s��x�ZU<\ ��]�����`�,8Y{���s���U�DV�q~��mv�"���Z�m�s.pIJ
+6��S��>���_jk��[�"jY���M(
Nho�E����XqBC~W`�7�S����ל�h�����N��1���
+�.A�,x>n�(>������׎D�W�V��c�'x�
۲��
��B� 
��V ��^�����`I�(�u���
��\��(zX(�~�g[��<���
+
+�
ɤUg�A(ů�'=�;�@�r��̟����5�]%��{��4@��6�ݚ�g�Yi�`��.�g�"ܢp�U>��.�2�HTNm=�0��)Ӹ�D�V�Zy�qv�/� P��I�bx!���>���C/8う��	9u��V�1�
yA2�d�,�����
FT��Gch���͇@T�K
�R�7�[,EI�q�%yY�3�`�N������[Z����s=}���{E-=�C��
~��a(-E�9��
s1�z$#+�ܰ�D��AO����G1�æ�1Ժ�@
6���]CM�&A-�=�`idjW̐��
r�
�m
+�z�mEq8������5͒$���������˂�΋��k�,Ψ��x�B�Bm�7��q�Ȳ=�֯8N��
�˘��yJ�2���%��5�k���n����qY�og�(��IX��\�cW��?��*H1��P%ZJ=��w
tk\��NvHЪ4.b
���EzR,�l:�!����
V��Bpw�K�Ǡ�xj�i
+endstream
+endobj
+2537 0 obj <<
+/Type /FontDescriptor
+/FontName /FAEEXD+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/L/M/N/O/P/R/S/T/U/V/W/Y/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/q/quotedbl/quoteleft/quoteright/r/s/semicolon/slash/t/three/two/u/underscore/v/w/x/y/zero)
+/FontFile 2536 0 R
+>> endobj
+2538 0 obj <<
+/Length1 1630
+/Length2 7267
+/Length3 0
+/Length 8102      
+/Filter /FlateDecode
+>>
+stream
+xڭVeXܶ�AJi$��.%���f`��n��G@%����[�C@@�C��w�9����u��1��^�Z�w��

��>��=���z���K���v�MT�G��m� |y8��
�*�z�$� {�HHH� �an�p�����PϘ����_��. ;� w��#�z��
�����
w��@}��8�! �������2�]Y��
������]+@��"@
 
 ��   ��߭!x�� [ �
߅�|� ��7�
w#w�`�n
����
 �!���
��;�����y��awd:0��y ��((�U��������

�9�y�À��[����ܡ
�`(�������#� ��w������?ex"�P�U�
��
m��qGs��{:���?��us��������g
`���/ x��q��
����,�P@��/����?0/�π��
�]��0(�`r��ӂyܥ���T��ω���?"�D������\���}�;��'�e�z� =2��W� �~g �p������l]���wGc�_��7��aUۻ��A
������
F(�}@�:`���r7�?vC�=CAw���]?��0'0��[�� ��������x>5mSEy�����Թ�_7��k���y�������#* ���	��M�?4�:k�z��> s~^~~���?>�:Y��F
+����
}[��ݲ���z��w���wM���g�A ��

(᜙��QE��gH���M �'ҭ���MaH�583fY���2��vD��wz���75���6J[�K�^] 3G{!�+J�k=�Ϫ�(k�8�Jc	�L��h}eHWϪ��~%��?�a�*
!|�F
���H��������k���3���ޞ��C��o�\��{,R^XD��!�HZ3�r�X�5��u��)�DmI
��.�#(�C3���u]

�D�����b�E��6�N�)P9�r�q�~]�,��t�����\��#����?�dD03~i��R���a�����X�эZ��L�^S(M
���U��
�]�5
+��X
��8M�u��7K�uꉨ�wZd;���b����m,�V=�C�B�IG#Z�R%6�Q��̷�7Ei�Lgϡ�������!��T�/��R��՜��$󩲷�
ˢJ�4x�5�s����W�'+�_}�CxOX��G�s�Ԕ���=�# F&�U>��u��Z
���n����\��Yc�t��͡=�iǵ/���3+,M�9|}A���{3dܲT��/�&�7��
��w�_�KW�E%W��n�u��p֎
k�>O��>�G6*�K��x�pwa��.0�ۘw>��#����
�D?�{��ȑ����,�u�fT�*�l�^X;�V�[M�׷��� 
lpy8M
��@���1a��h��Fl
����p/�[H��c{E��#>��'d�uu��C�fF��L���d�ɐ��IJ�i���gR�i/ړm��a��6I��U�ܬZ_������%��7�{�,w����v�IV��r��q�a^�r�&Sz�bZo3���%�8*L5�c�X`p���i�k [...]
+'�cR���uQ!�©�J���S�ѕ��G̓�a��F
{�_?[�T/F߯S�1n$���م��196s�����-	
F•��
+�#K����f������ۤ�^tgN�>
+.i�i'J*<r�
�����_��+s��w[�0�[�~�j� "lĔk�(l7}�-��׍6�\)L�
�
q,b}���Iq�)	�Hq�7u�3�;�\
I�����y"K��:%�]KrÙ|���p��a�૬3{�ۗ�
+e���
�x��i�\t�F�G
�Ͱ��L#����+V��~!:��"m[։�}���u>O����h2r�[�
�'�õイQb��n��]\���L/'|�{����s�aʾ���4^rI�
���� ��<���¹/���V1ZO�L�]R
 )�B����n��'� 
���'�4�f���`O�m���+_d*�GO+��F����[|V�ib�4p���
*��ܼ;d<,�=Y�r{uh��Ӥ��2DM5��������G�a���'r����ϝ��MH����CS�/fZ:�Xee��#���Y�ىT��4�Om(V�},�G�޶
��
ꎑϪ��南��H�曲$v�Ҋ:�E0�ޫ6
�
+����*]8SV��V:�ox��v�2�	?„%j�{��iE{~0C���R�R� �O~������).��寅�l
(��D!�
+����pk�x[�I��b����z=Ʃ
E"�jYùִg��CjV�I�Z���,��fcJU���B��ڳy[��+�L�_�����bd�W�6�.���Q�t ���?R��2N��Ӟ��Q����1��w�َ��I�iEW,��E$����|��%Q�Y�;�3������䧂ki#N l�Ă(܇�r�a����F!��^
+
B��ϫV3��(��vY���}G�!�T���x���Fq��p풭w�jHEMV�|�
K��4� ���#�6i�!F�
�ޖ�-%e�hc���ɐC`YS[���e
�ڋH�P,�l$��\�`+��ț��v����K�g�j�	�6@�c��=J���O��� ��"��9_^W�ܺ�-��
�~t�s8��[��:��+S
�V�6n�̰�Ya
Õ�]|�g������J�P���t:9��4.v�I���#2��L����jߜs9�����}�՛x\���9��M8�w퉪K���{��)�&�|�NZX�Jv�H��y_�<~c�<����
ˤLh����F2����n�g�
ʧ��
?��Kfm&L�׹A���(ʇ]R`��  }��9�L��Aj�Y������-_PI� �[c�A��xa�^���84&�l"w3��%+3���l�#�ԭ"*{�n�/y�ɳ5�`.�P

Ǩ����
z
+�'G쉪gQP�i#��q���Ӫ���g����>�����'�W({�F�
}@B܃�H��s�ذ��2��4��5R��
L-�$-P�-�-&�!��H�&O��{S�,�
	�օ_�
p)�=��ސz��z��@Ss">`\8�QG�d����*<�Q��ךv�;�:-��f��5j>=��>o	��s�]�1��cJ?��rI�t�#�\���$���I6�c�������%m�zkf����&�T�{�,*�o_��{8I|�&��-QQ��J($Ī;�`�T5��0[��h�
+���5Y
�d,���--��/k��
��sv�L�m͉��UN!���l�O�H�D�D�.3W
�S**��F��
��ه/����p
+�?1y�2N��~��eB5�	9,���VU|	‘x
�*S���$���/� l@�p��.]򧱁��5�
�o��cD����� %����[���BO�)۸�w(���Q�qrb�ti�=9�X�
�%C1&m4�x���IkRL8�DZ!���{D�`�V�Qt����۶�X�
�(QC���Þ��JQ��G���2g>�,ސ�@k�o�����Ҋ
��CI`p��V�2��s����
�9d*��U �4z~|T���֕O��q-z�$��+���/�G�-H�@h���3���Xc��W1C{	��u~��,M{K����o���Z� ��y��4k�0`"m�^� ��b���6
�
�����/a�+W�6��t��>J>��y9�������O�V�fJ�͓Z�v��q�G9 p��=�;;"��7����O	���F���{�ũՋ��N��_ݑ� �S��_
+e7"
��=ۥ��`�+�_���ޭԸ�B��
qi��:�)�^��,3
h��P
U�0�kT%#Y�b�
.�| �T>5@�� ��䙼T�x�Q����H�j�� O��9%��"\o�}b���)�J�x�GK���e:~��X�e��~�w�tӈ棇b�.
Y�*�Wʍ��#��1]\O�8U�d5SPJ�S������B鮻Q�a�cp�/
<�<[�
\��p25��U�e�kn�E[kX�%r����+a�TdH��a%��e�d���6*
+�qQ�@{6"/Q�\��

8�`e ��ɍ�LИB��o��ex�RW�V,s�,��e�f]NV2�L�y_f�.O���L�`��+ڥx�Z�L|
��� Շ���g�
7�h��0o�Qm;�ȧ��*8����J��f�o���3>���>{���c��!�X�Jrg]�����d�Fse9g��?34����a��"��;j�SW�R�w����
g$�V�9���EC'?*�;
+LRi���&�$���@Q��Z�����r[�
���֮[�@������{���~���X�]�Fl��F�
���m*��-�}ȿ���p�f�Zu�BD�>ˠ�b�8?�wByV�L��ӵ�����y#�L�-�΢��n���P��0,��g{>��N
Z�
�
�	4�V�ȵZyZ�}R]آxtg�I�3�m6�Y�Lُ	�‡U[[Ʒ��f��Ol�m��N1���ܨ�p�����vl9��d�E��M�ӂ@�t��(�$%�o\"�`�rĘɊv�Q��YѰ�b�:�\jb�����KAz?�^�2�>iL}λ��3b
�/�~�r�ھ�2t�
��û��i Wܞ�EQ�{����R
�x!�fȤ������Ps�#r���P����\8!�E���>
V�3�8z�@�L��
�_={��d�'&��D �fҰaY��!��
+��S�k�V#]+���,�	�{SBy�_���פrN
�Z
;k��:UĞ�`�dBo	$`����xюρ�u�
D
+_θwc,
��ji2�>4cܜ��5k�r���O�?B|���X�l��B	��_�>�f��+�,=�uߠ�k��s��[@	$�/��;��ji#�Sl���%U�i��|ǀ'h�Nj8��yW�C��J
+nkz�b���W�
+�6��k�_E�!PR<�k�<��8!�^��V�"�4D"+��8؇R�ᶡUF}�-k�a�����c�8�'��D�b���HeJ�:e����W	S��Z0��2�]�A���Պɦ¸��%�������pӬ�{M�.ѝ��|��Z�-���F���~}�����bX���m������M?�x
'�*A
gi)�*�6��ӛ�%�b�&��w.����	'0�y�t��\��5_1J�)t*�B���z|��}y�g[��~���
��7E�,�\5T����~�v'�ˬD�	�&�Z#��
��;�RQ�<��r.޳ˋ,�5��Z�΅d/�Lg���t5��yK�����}
2��<�eH��C�(+�(M�{�Q=���qm�2�L�8�9C�Ye�;>+&�&J��W�r��
O�L;� �u�A8�����7�����F�r��Ԇ�Bb���dM-KxN?c[�Nbţ��GN�_���H�+|��=�Z�-�e�E��%�b
��7�C�9$]�컖��s2b~�G��5���?+
[���b�Vi���p�Gs�#EfC$��%y0p�4��M�[��ɠlI(���F����uU�Ո���%���0��A���l*W�GL��g�N��챱���sK #��BIBj�3��Hq���]����~
Z����.�<���*�1[-��ilT�
я�i�
u!G�8,g��dQ�?*SȽѨsZ2�<YIj��覤^��_F�)Ғ��������l�k���'o��@C>:z����i�E&����W'�7�_��!P6�&f6�otd�5ig�|��(
����ܤ���
,sJğ�3�;�����Qû�7��
6����3�	�
O���
+B
�x����
+f"��nH�C��Cþ���+|J��t���A�T׽�
��C�~
+	�e!�<�]�9�X��ؾz1씯Ax��M�+�5���y�
+��qu͕!9�LV��3g o4)����*:�׀�F�qU�C�����;����o�˫�M�A�*�]R�D�"X��P�6
�H�M����E���z�+
�g�8�t��|����ع�ǩ��e����k�������{��2�<�hK�ӳW#^�A6;I��D�v��P.� �pG��Rp$���"^���R�Eǀ ��I���B�-����Y�^�ߥś�?�`�w϶i�;���>R�E5
+� 1׼��ߦ�
�+R�x����dҾ�U�"i>�d�o{6�Z��&[��th>�D}F���ok
������o>G�.���$e��R��'��D1��U�U^�љ�_R�h��6>M��2[��O��3��8
]��.J��OH���|KON�q����b>�홾(R��#u�x����f���J���#���0aĞ��x!�Ѕ6CWy�(#oF
��FQ���-����NAF����b��&����~�<HG�(z�}!ca�z$����yx'��� ۜX�Q�*9��/O����NC�-E�wfD�t/
cP	�����>K�ʡ��ܣI��^p��t��-Y����K�
;eS����zVٶ-��n��\�q6�l2�u�<���[�VE��Pىi�vX=��Yt^�{�23���{��^*�
��-�
�	��B��O����C��U�.��T@��7��(�����
fZN�ʪ�$�
��9^�'���� ɢ���N��A���&{ �ހ!{
L��
���)��1M��޳����ߋ#_�����
���
+��ͷة���ĮX�Z��鄇��y�Fu\Un&�|Y�e��R����q�k����E>��i_���OG����5��uS�/|�
y�7%�C#FA�2�x�ƭX�3�n^����A@�;t��.�MRy;�p��'q�H�N}������sl2	�q6 �:ȡ�5ǽ��
3=I�f�Pk/��JZ�Ck��8� ms.�U�}m�)*
�z��l��]r@��&m���Ƈ�\��A��g鯞MFl�$�ml��s��UP�=�Tb��1��S�P;9�G��t�r���4����9RGu~�7�X/[_AK��g��a#�#�X��U�$��ۆ�	�k��_em�;��bhd����~a
A���=	��s�N|��6�K�e�oFV���m�i��\U+��Ic�雷G��&����I���7�W�r}ۆ˯�R�2c�	�>P��
�G�x��
+���������ҚԀ��s�������vp\R� \�)�lm��Q����i�˜���p#=csm�����!���o}K?�ӷ
�zI�B!�b$�����?Z࣭f'_��l؊
��
��U'+k����<L_�5rA�j"�I�˪c^U1�
\��h�ǰw
��/���|��}e�=�F���9y�CMS$�����h��ssU���'/��@Ҿ��@��IGx�pu	��A��y،�)�~
R�ʗ��媰���­��2�A�1�
|��sO�z��\
I23
J&L/���+�����G��K�~�
o��Y�
⼞��&�����5��!R�"�-z��I�Y^g�e��0=E
+V{��
��>���^J#��< "ؐxLt�t�
��?�$
�#!u&�ce��j/X	LJo�t[�BQ��?�"��
+�bʦ[Im� ~�&1|P���1����α��SʦZ<�X�ttHV�ldJzCRO���y
qy��
*͟P�T=�[ǰ��W�J��m|�7�;��e/d5�R�]��{��範��N��X�|�%Oy��*��+�B�Ζ�D�=ꁉd�Z��}���+�\2����jC�J
��D
+�eܢ��u^7:>O��NSt���t��S�0�<>ay쏆<��
�ͷ)X��NF��&�6D�g���q�R�����D64>�|e��k[%{Xg�Y�&e����&��s˕�ۛ�7�so�� ��z�̗���Y�4��aPFL�nق��X�ꍄ���Q�K@�lbb�561"P�|x(�3�{hp��^
�2���>oƠJk�
	��/t?R3�����׋�����2�M�ˈ
+�M����
�e�����^P��T��N?�%TJ���8�[��{m��NO���u�
�ט���
�J�9g�Ο-��n�`�HZ]m��c��c�w��%�E4Q���(cb�.j&���U��_�YZ�
+endstream
+endobj
+2539 0 obj <<
+/Type /FontDescriptor
+/FontName /JOTYEC+NimbusMonL-ReguObli
+/Flags 4
+/FontBBox [-61 -237 774 811]
+/Ascent 625
+/CapHeight 557
+/Descent -147
+/ItalicAngle -12
+/StemV 43
+/XHeight 426
+/CharSet (/a/b/d/e/f/g/h/i/l/m/n/o/p/period/quoteright/r/s/t/u/v/w/y)
+/FontFile 2538 0 R
+>> endobj
+2540 0 obj <<
+/Length1 1626
+/Length2 16978
+/Length3 0
+/Length 17822     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct���&�v�ض��mOl�cul�v:�ѱ�ӱ����=3�}�|��~�׺ū�*
+%U3����+
#3/@�����E��N��G�A
hf�+瀣�u�Z9؋�y�@3����
+`��ၣ �:8z9[YX���U4i����K�	���j�z�XY�(���m

���C�_;�� WK ���UTҖV�PK*�$��@gc[������)@��h���;8l�� �:؛Y�S�
��X". c��#���������
�t��rq���rX8ۻ�큫������� �����������o0%WSg+GW�߬Jb���ji��On��j���_K3S�J���o��ZWc+{�+����\&@�����������9:[�
������!�8-���l�..����Ow��N��V�����׿�
�e��0X�� m��XX��4u�����
��Y��7w �0�[n���?u�@�5������
������
`4�cRpp��@��2���
����B��?r����m�������p��U0��; ��1��G��
��� � �
7������������Zk��������]���D���/-̌��Z�HXy͔�\M-�ƶ��/�������
���������:5K+S����
+ho����R�/�L��ꊒjt����/C��C������(E���=�	�훃'����������w����d��?��W ��z��:[yt���������_/��#no�`��ب�ۛ����%�Gm������-�ߪ���_3zM�֖
L�B�ӳ2\��F~�����:�5��:������2z�
el���l�Z���q(C{4ևeK՛
+�, �%��/Dݢ��;
+b2(C�8ӌ��Z�ہ��d�8����bP�E8���
s�D@�^�A���g���م�
�V_��2���#�����p�
d�!>]n
,�;"eT�S.���z�O,v8k
��)���?�"
�`{���'���jO!@��h�d��F+Ŏ&�-<��N|��ebߐ�,���F��E�
bf2�������?¡M�m�-�T+<��a[�g��Ц0��ٿ�$D+�&���%g�����21�ǃ�a-]Rʁ�쑣�<���:�9G�{
Δ��U&���!mS�E梵2%O�;���`f��mo�fr~'O�Oeh���V�Er�����4#
�R��v*(5�Sxm�jJ
+(Se���ʺ-�
M
���i����K<�

Y*�EA��9��ۗ��һ��ܓ��r@������h�Ч������4� ��h�d@�S}�A
�d
+�(���*4��,�L}�[���J�Y
�2(���YRMf^ǹo�Y����w���%�jH��}�z��
g~���O�[���+�M/����?}�2� �/��#
����Ҕ�-}�$��Kz�#�^G��L�XҍA
U��?O�6mr_�G�fj�JV]_͙4{�ծ�Mi�JU�/�jC���=`��$�]6S
ڍ���NU��S&M
)���������JI�y�b�C�G�
��ԕ��Gэx�

ou�"O
��vn�
E�
`�p���`��QH��4��">���L����
5b�t�`��^�F���ܲa�����j�j��1zov����b��[�F5�}�PJ�%W�W����q��~ЊoI挹��J"�$�Q,�T�Z� {3zi��PI�����\O
�1�t�������_�
��IA�c���CG#��-'���.��$}1�v/�d�8�����f����{��^I�'��}$��Ψ[5:�
���$ɣ��#w6���믖��\
�4��*p.�P���=
 �#v���׉E�Z�LNB����?�׍A~�k,���+�e�T٠�S������5,��84�:9��fv�k�T�(�ݷ�3
|��}yē�[1�l�ZӻИ>���T�0��;�ӳ���<F?��	&����� M$/�A��
�'hF�lq�G}ᶽ�l��!��n�-�z>t6.�F����2��1ܾ�
�OZ4���n?�
����畟����Q���w&���0��ɟ�[��C�i[ݼ��TyS;����d�(�\�
=������f��U�j�����?�OBS��Q�ŵ�ҁ�-�����Ъ,�_k�z̢RP�3<��趒����ء�>��>�Ԧ�ތ�~ΘL��.SkH��ϙ�^G���Y���Un��v�h
��9�"<V[6���l��A� ����� ����=�$B�f�F�9ϴg���1�E�,H�>dx�k؋$�����-�U�Nk�� a�b��
+���+���T�%~9((�,wR8=�7#5A�p=
Ӈ#
}�g��k�_�ay�"N��尟=j<训��2G"p��f����)��o�<$�� �N at gX��E����d��P�V�$�..�0G
��H�
T�XT
�
�4�������b��}�O:
d����..��Qt[�cؚ���I��S&���v
���"�9b��[�/N�0�
�œ	K���-�\{|'���6cyު[\ _�%��ʯ�xw
����؅�oZ$땝0s��:���]��3�
��U�t7����P�t�,�@�D
�k��u
�3�ы��qƿ�G���.;�4��|+��G1�Б�M�;�{��_�G��5�y`y<6�0$b�儶�T(^\�cG���
��#VT�~.nn�&UD�=�g�lU��`���
�aW�fz����ȭ��0���:�TS�&-9��1*"��
+���7v
��,�`�8 ��
���^
+��֚���86p�P
�P�^j$�h^��l��
z�l�C��oB=H`�*�~��L4f���#-�3n
�����
?Bjd�DؿQ����9�j��%
�]��y����d���m�ȩ~+:��)5��V Z�'����u��q��t̙
+
���1��v����j��)2kV���]��h
+�
tO����� h%�
��ƌt
�V���e/����2��F�8쀪������HA���[�,$�>UѾ~=j��$��͚_�TBl65�렦P�R&���$sr'���3�Z��GM��#�9������a��5��'��Ÿ.�3�/r=��0�X-
�ıkqH[y�_
+�C�>���eL��:
�6?%4����%&���}i]{�å�:Q�u����?�v�~,�G�~�j�}����X������@:^|C6]I��E�;�-�Z�"�?q"���ay�,�J��.bB����[?�ZS���}z ��=n�U�n�մu�^��N��M�켢(��2��h�
,ޔ�L[u�������]��mX�'}�ޗ���-<���$��J'�3,�p���y��z�E̾��� r�,r�`B����m�Ӓԇ`�Q�g���H���=��!���zz 

�hyL<�u�l���4��X�T�}����w��3��
����[SA�R��UzI!��(
+Ë
ѱ�K^y��#�c�\ a�38y���H���wk��r���ZH�z%��z��G\ToR�Ӻ�|���c:�X��*GYH'�K
F��_�-��
;��q�M��|��2́�Ffc[�i�i�W�0뀸�(9xU�B*���RĻ��k��b�����3+����fk����З�OiȮz���!��ܮ�؊�
+�85\��.]a0��Ci�A���
�5z�
���Mݥ�5�

;�xM	��z�������5��2
;���u��A��R���M\�'�P�I�� �hӢ�UJ;WU�;���-�������H�'�X8���5h8�D�(
��wt��'M��f��n1�xO!�E��k�/,v¼
^1��Ua�@���<]�s�8�:�S(�n���`��%������
��X5�կ�b�Vp��

+{���!��3��{Lv����iYs^Lze���A%s���
�&�v)>��؅~
��k��/�����W
���^�xw�*�$#�����`�]A��3
�0��#�y�
\ϗ��a
+;Ђ�s9w�?p
~��Qz  ��~6gBo*$
��y��4�S�����)Ё��80���OU�qE�Bռ/�Ho�e&Ȏ);/�*m�H\1Q���
Zo�f�9`��X���sR(�k�z

?5�=���r
�ȥ�X��Z��Rݙ?]��w��7�
��⮠	��[u��0�)a&��
+�-�(s��@�ug6hn�ӌ�/���k~�6��'�v�8@�T�J��ť����
�1xo��χS��\f���3PB�J�)���[�)�
��K
����k����`�*0J��E�C>(;��r��ӌ:��]�lڿ���$����T at c;�ʢ��1��Q.S�����8��h~T�V�Y@��B�����!ft?�1ƺCqZ{�ڴ�do��EcT
��U�d
����;��)̴�m�

�o�3硡߆��) g�H��p.�l1�jGV@�r������+鯿�<ʶ�=����Ш��Q$|a������R�4�;'�}�
�g)+�A�Tx��%۲P��FI�$9�g�!eۖ^u r*����<�e
��1���54!-���~��q}�E�w� ���@��̉AE'�}�*�����ل��
�'�Nm���m�n+���֢�z�}��qI3��
܇-$ѵ���r�F� �qɩX8@�M}�Ӂ�2����"�q�r9O^���=ު��C��A\
��
ZD�	�A��$){������� [...]
ީrX2�2����5i��d�
�Ⱦ+�A�-��z�p�q�˘�}��
�1��k
<@��U�|ϻ��o�'dϷ�h}��$�"bѥ϶�^�G�X>����ht�+�Y�J�ڙa��|	: %��}0
��*�쓃������:נ���
���3��$�:����;��R^�n gd,�/���,��:�W��z瓼s�G����矈�Xد,�q^i6%�ё?
O|��
�����}s\�ׁ�{���T�
5����^��A\��`fB�ܼ����-Y��{�k�uf�#�e<iPn&����kL�cq&G]��F[�R����1\-[!�1j.�a�|b,��*�7�����
4���lQu����`Txz
kC3hl+W����U��t��N��ž����i�˫��h�^�:�C�7(��J�4��UʼB���9]�ϭ�䏁4�UƠ=ە +�
�?=�
[��(�'!Z�	�7Ϋ���F,�k'$�H�ǵ��Y��dK�[�Nj�
+���� n<��Xt*��0�(�l��
�>� [...]
+�O��e�4�;S�R�1�
z'l��IA;�O<��~�>�������8w_$���p���k�7y�,>|�Y����E��w�'�4�#>-\�.�	%
�_�:��ˌ��ĸE��/�լ9NoC�;7�#�귛��.7���rm���*Hv��]�Jg�9�<�~N�ˉ6
u�@�+p0�"�IZ�V*\n�,n�
�Vg�ۃ��(���О���)����G����+G�ARG�R�kQ�jK|�bG��;�f�>te��aO+N֞C�]�g��L
:$��D	�`0=��EB��B�@q��ڬ��]z��(����(P�����L��r�U�X�<��g��C�%��dԡ
^Ρu\����ɺ��X�j��4
�Z��1�<
6w��0v)�ל�1���=�֫���&��'�'�`�/b	�>�]�X��KQ� <�q�,Y��/t��F�z��Rͅ�NC�9aM�����~��
+7�x��_�e
�*X��
��= jxt�G]�
w�R�g�NР�����W�=�X(=h�:�-�%)�^����P!��,,+����{U�~��򛺦��~��*ҫs��
�
��E�9^�2
+�W�P�킝�t4g\�|6B�+�",���y������ŷ@̢�1���!$3D�͉�U/��=$�_
x&�f� �X��9�X#�I������^N
+�$��k�k�}�pno�!_���t
�
q��)��V��U�o�W������͟!�
G�/�_M�)m��N�c�����<��Ug����f��1��J�Fv좧��I�N�vx��E�
+3!�e�2h
\r�B����@}]�8�^U���`�f�ځ��L�
�tc03��7�ߔY��O��38��������R�.c?�'�]Z���U�����TԺ!:%�PY])�'�
+Gʶ"逋�\��oDaVc�Ԍ�uٳO���g�
��݇\׈zn]	/��}��Ej}9up�9�"8��-`~�9����ղCb�	G�)�fՎ�A��t
yt?+�k="0�V�'��zG�[ͅ�'M����j�O}b���1� �c���$>�#�p���&�1����L��;h�=r�$�:�uz��k0��z>��m�����t2��4�r
p}��C�� U5�B�Vx���d�!�nx��!F׹�]�2TÞ΢eӪ*zù[��t��yBDh1G=�9�
�L�>'�C�ف�QOS0�{�o����ZG��,�(8�
}�.lG?f:`�LY���ė��~�o[�S)�y��Cp����ٟ�.��}�)�6�"���]vo�O��9���nf2������"�� �-�����}��:c[}�:
��g��q�2"\�"qô�ă㲷���F��u
V�'%2���v�0'�K�x2
+g�]��٫xs�x�� wNێS,A-���ݗg
ɱO?��݋�*�e}���
+4L�uP�d��#���+F*A>�вiHM^�</��[c��$=���~aA�F�<���4]���;����8j�7���~�x�XD'Y����M��t<-�J���^���~L.����C���߱�̺��ta��.(��<�ױ:H̷� �U�Ǘ�`���$�;���?�_�/���n�
����I�>U�T:s2eL.3[q���f�
��ec-�mFs
OM��SD�(O��z׽����o�	�r�Ea���ٚ�wBʼ�jz�
[���1#FR�K[�	
��B�|���ʀ�.�83l��W�6b ��
6�������,*<7��_5W�ڛ�	����l�R
+���B.t6�y�j�3:����}�H-o�b*Ӷ��'�Pm4�1��v�j:�
�|I��囹�ȃb�EH��	�`��t�|r���>$G�h��,A4��DS	�
�E n�(���~�e�YF\�]�L�
+%{�
�"��Y!�9�u��8���²'hGh-�����^�==�D�E�mȞ~3��l�1Y[�Z�o4&z�r�
7"U.��?,��H���7��xR�a��(\��/�R
~
��4�Ԏ쩢4�R�{ї���m[ޗo(�z�>�-H5�f���Lu>���Z����
�����'�m�h�רx�m���[
ylHI�.@��`�b��O��l���ڭQ��腻
L]�%�7gA�8Ɠ������Y�
����v�K��u�R��W�V�xZM�`�o�_�zz��\���~�]�ɣw�-_*����p���T�RV��*f��V�VE�l~r�!h��@/�I���^By~��A�;P�7$ś<rigoA�䨜J�R-��
]���p��+�'�a�FS;g��A��^͇vYP���=U��۲UcV�6@���g��/)��*��z�s?s�e<F]f�r�����v�|���^����l��վ6�$��l�
�h�#�0\�
��XI3�Y;
��´�
P!3)(�sB�)&�&��.몪����Xi|#Ō��
?P����
]"s0Y(C���5�
��-{��	��h���TO�]�}��.4[=���K
ܶs�
T^����.>����6�l���F٫��	V��ֱ`���dͽ��<-am�C�)Ð���aY���D-�Sߔo�5"hpta|�P�����x��X�B��̼�mP%x��-��
+r�
<
ܘ@c
0�t3���$> *�S�''�@ �<�<~|�!5\jLgz�d�-��9��S�6�c���oc��?��u;,�~�� ���YM�~���L���"DЗXI���
aST�2���nd[��r:��r�x
��|�U�
+������
`�Gp��ǩnz�+��I�^����`�D�
ٷU���n at U9v.JS���
]��n�p�
�5[�f�g�c�(D|e)[=Z� j���+b�q̕���_KVI
+��
+���d��N;�uA����ͱ�Q� ���|9����+����U��F��x.��
����Mm�^UA��
kqm3a�.���!:���
+c��b�^�H�9��L�y��� Ht�d�')��˦�V��J��x�p��z�E$I%tg��cڅ���tnp��ᦃ�X���2{�-Y�366r"�z�we��O<��V|~|�W&�G��s�Ng��W�}�½X��
pA�r��
^� }�VF�G*MDE�$ɮ�^
M�ʝ�YM�8�?�[�	?p����>تb4����.,(N���ET�0.�E�	��%�%�-����Y�%a�1�����Ă)�^
mu
+�]`$���$
��3��k���ī�)¼7������Ym�R����{4H�S��;�[e:&�xW�\Z����AhK
u>���y�e��]Q�!
d�k��K 5V�$G|'�h���?��]���}C�:��qs�>��X*C�����(o,�g��u���+���|A���cy�Qx[;/�6D[��/@�����5�l}w��a�>��?��x�nR�
�2�a�5��$�^��W|�'V��
+ۛ�D���x�q><���;�d�E�/���w87)DA3��40gK2���U!D4
i>�y����-Fc"'��rڠ#v�cQO���B|Ȭ\xM���<Mˢ,�I�	��VE�l�`�x�9���ԙ��5
@|�n+��&%�
+O��������nl}�.���BjG��R%
+����yh8���Ζ�2�PE�[������`�W~�6���65�D����d|n��Ɨ������?�?�/�eW`
�x��#Z�C�ږ=���r�H�񏰢
+X�4�Z�/s�Z��"�c�f�&.!�MY�N��

)=R�4U�9�M.z��;��e��b}o��-�
|�v�Z]Q��35UGO�D;p�3s�,�M����1�TxV�+�1�߳�0�DZl?�HX��s���P�Wz�Ur��#F+�fV:��`$#<~��Kޡ�ò�ʖ\̾m��`5��
�c��;X�� P�
���)w�K6 hd�b��{��:Zd���Q�j�l2�4�9M6�hª+9
y!�Ç�s��Z�U������Ǘ1���_E�z��Qu��䅬��mʢN��e}��k���}ĝ�՛eE��k�.]Z��H���
+@�"Y��Ύⱳ1;B��l�jF��-G&pؾ��Օ�Ҽ������9k}@%@�z��0�J\�VH�����"����‡'���\Y�
�O' 5
��/0��MS��6��Y���
�A�eOx؅�
�v�^qfJU��8�%��ȁ 6����HQ���Q<��¡��TbߞƱmB�Cm�mA0jSKs1X�
�)"J� �
+�DG�X���O�)r
�<�����rk��mEL�beuĠSS��G
+;
�{�.�;������&�!E p��;�<�șE�t7�އ����V,Pyq�pڽ�Hf�P��
+���
P���N
�����(���Z
 RT�9�w�^�?A���kh�6�K">��)���q����W�C����j‹�G&�D�05a<є�~u������S�m�̏?����:�f�;nm15&��i����S�-ym���ް�m�s�*q��_B��;�>fS5F0�u��-Pݓ�yY�4����
%Pu
�!��� `%�ís�]w�v�Σ�nc��a!C�A��?�P�"����X_�2-%*3��n���(��@��'~��x0��x]��X1K��/��Rh��a#=-YшH�LA��i����A�`C����\��;�6�HjG��p�؄���~�\��wK�����eH���\o�0�
��9��*�����ؘo�ڝC��ܠ����� +���m(dAゾl_��a��XIT�4
2I�T��f��������P;��+�P:�8��yt�=�e�q��oQ�
+/TШh�|Go<Vi2����
;ZÙx�͎�?���]k�r;	��EƐ�Kb�8���+����!�Y���XdS8+�t��P?
�3�5B%�����	3iW�!��W��Ϧ������*.{�R�
+�Q�-��?��>�q��W4��!���'���MN���'�;�+^���%�4��J��2G�T�
v-���]
������_�y�b�|t�Mw"��yl��
I&4��
��p#h����fp�N��v�ޮ��)�ϰ�?ᩜ�U��$�2��e��p��d�̍��E[���ҍ�c�}f����'���A��C
x���^����
l&��t~D7\r����@��F��?��C���v����Y��o�
xS�ְ0���9��0��
WYS�7�qn��л�����(G�]E�M�\�� vv�ҫ��e
H�AW�X��O53|� ����B>�\$�%�� ���ׁU�4�^<v�͖�����q��
OY��1u+n�!^+�0�d�e�����숆�7�ŋ^��	�g���XO��	iqu��!7BDE�+	���n7+!�
s��E ��~[��q�͝:��\~�jW��WS巌���HR��;vFz���P���}E���q����$��˖/�[�T"o�o��k����OR��z����s!�pፖv�U�xl
a �J�Ͱ ��q_�PW�8��c�c?�2�RksP��s�}5�<
|�"���!���D��k[���s)�P��xMA$ŲcMm�L]'��p'��\��-��D��ԀƗ�I}�v�.�X�r	y�8�ui�����1�&"	��d�M{]yK�;F���ӻ�o���B�kR)i�!��ẹX�;f��q��EB%����/�(��%aDKS�~��J��@MqC|
+?�����4r�{�Ÿ���K����J�~@�P�����Oo��w�7�#e-Q���)%�	p��
+ܵ��dTg��(٢�J$ƾ�
�H�A�,�ґ�*֭���zAO�*K�ǃ�k�bY�/��X���0zF3��0��>
�O~��0v����qB��:[Jb��?|����cs�IpgugB
�#P��+k���<*<���~���\��)/[C}~+�i�{�|�ɫ�X���mG��2�GP�5�s(�
����q�^���d&��	�v�Y���ئY��X}��t�*���$GX
� Ħm+w�d�*���� ����8��%��qc}�ZD�,�oK+%rD��wo�O�G޷;1V��w�N��>��<!���BF[�uD"�XSI{�P���!��G9 [
+��U��H��H 
�h�~v�ZQ'�ב�����;c�zv�n�d&�[�
S������#����ʈ?lX�
�I
�_��CN�X�P��K�/e��Tʯ�i6R���;�u��^ED�(
�4
��y^��z��2�V�8��-�?fט�ϞV����1�uW!�_*r�1��c�ɵ���?E�yϾ>o��=
V�n�p���␨��x%P�!RP�[4�?�a��ҸC|T�8?
ow�
h/�-\rV*r\T6�}�È4X���lM�9RYM.�

�7U�z2b��4�4ͩ�3�

�9
+Cp�	���Ó7M����M�4�3�K9�e��=���~����K�}
'+��hO
VKEi8���m
�,������_�%��
����gv
��[\�
6���(��MKE�����F�Kƪj+d���^ʅ
+�ID1@�
#	�W��� ��>�� �u��
�D�S�P}�i��hR�KmV���
帗�|��~�
��������I<k��<Ҏ�	��
��s��w�&ߒ\U���^	Fs	�Q(��2ED{��2�"�D��<m��c^)j��z�,[�N!tO`_~��i at 5vD�[a6e1G�c� ���B-�<XUNC �9"F��y �}�"�X���
��9�d����4JM�]�� �2?��;�O�NA
5�������r�OP��UHnj7v�+�i
"����ϩ�;�E����|4k/�����	f\uAI���b�0���[ ʛ����:s1��sd}�*��o�D����HY<�L�*Krv�X�D�74ז
�u#,��^ʾ�vV�S>;R�5W!`��m��m O��Ѣ���o���&k���9����5ym!sW��
�f�p�\(�GD[���	q/ 93��z���G��x�j��y��79�i��>)�4;��H��3c�;��5��{;P�����ӜW/�������2
'��3�x�R�C?���4+�tLq�>b��!K�� [...]
+��2
l��"�X�x���*iS
����.�AZ�x�J
�|Ş�Q5�A	G��Ї%}�Z+W%uT�{��ɾb�BLe�H�l����pR�VuBMzp
��,".*MÓW��+��
�jLA�qtɤT]�I��(z>��9ޓm�X����ട���u���~؇�
�;๽L���
�Ã�����H��L�Y��E�e(�dgK�cb�Лr�F�K���
Rc�"/���d�q�7��aAmP/�N�_%�Q�4LvD�|�?N��(��>/F�[����X�ζ
x��"�s�#)��8@ذ'��9�;�=�����2�ՠl������dY	"<m�GE�#5i����G%���
��Y��90>
�6"{���
Qʻ���t�[��
����~!8K�2��Ӛ
߮oF4.��rg�r�e��6=7_s���Ga
 ��{�P��o��B$�ٝ?y�E
��1����?H��!�6R�f���b,c~���K:$�PR��V���Rr�v8�e��<@����c	%��ᑠ�5�ZY�m�Bb���e���`i��8��.j��u+������V�ي��|
/
)Ӱ�� eY�#6-t�
x
�%�W�yω���
g�v(]�8�P\������d:~�a%�ijf�C
�w�?�����/���]�B6���/��4��i��R#]O.��eK��@�
��l��I4h��,�8���j	
+����CG��koL�+lMU��0����$o�x�on[C����ERk{��2���t�.����h8iۅ�@�'^(�#�U�&�x�H����I�mSC�}	�6S�ؓ�-E��U���,��pPwW�%��*|*/�k��-0k�J��t�L��DŽr�æ0�� ���y�5�L����rй���d�/��ElqZW
-s��Ե<�4{(�kZ��&�D��u�I�
�w����c��H�dgHmm���`�������?g,�(���SU)Y�3�/� �Z��[��Q�k��Gq��2ћ�(��*�:��MY}����.o���l�(#�3�c��$oF߲��ڸ���
X�<M���.(Yo'�
�Vt�?�=�W�o�4�\����j�D�OQ7��u��N7k�pF��5�¹�4����j��[%$��!�
��s���W"M_y-��H�a7R��0���##�J�b
;In���і�.'̂�灔	��b��W�������^JS�%?tu�pitx�y�g��J�7 eo�,�
+�'���2�������A��/0���|�D��Vpyw���,^�
�pzuV�هXzCЃ��͸�;7^���

$95�
��w�hR]�q( -	e�5[�L����+�
��R�F��,ѥ�	6�x
����J']Y��nZyZg��b�)D�$D,�TίY���`��h,L�c��.���V��\�+���uͣќY.
0p�Ӊg��Q^��uةh�
�g���
)����c}�C��X�*��x���E6���M%�l~�\I�m��~Vqc� �� ���qb��z�!񶯗تθ�6���BKm��f��ơ��s
o
��R��M�ҿA-,���
|�*�_�p���&��d�'��:�f����ǍI���m� ��oEE�� ���۳2|�K��ɻ�!O��@��嶹��XE��G�S�
o�[.��u��e
��bT0���nA���TLZ�FG��zO��4=I����݊M����bDJ�����$>��
[n���]��˙�lC%ݖ��b\��͂Q^F%�|2-��L����������~��?{��Y��6 ��qO[�
[=���;�r�c��#��6>5c��f
꾣���
�:�,���x��5�#�>S�@j�ppi�d��pb�JTy��!| h�J�QR�Q �����R�`���̭c�Գ�
~�Rlڔ�13RDT?ce�d�Z_�o� ����p�����P6��t"�P` I�
�����w<���=�9�%������p�8
�
�-�iI4d\��Gu
�E�=�������!u�A�sRB����������F[�n%
孌g���~ϐ?���;q�mW�3��(iu�e�38P�ܴ���e���
�E'�����

��z�lO�
k5��`���
�V�-� �R�Q��v�	
�gH���T����>e�w�N!N/J��$On�>���щb���s���_�g�P�͙�� y��W�'���
�i��(���z��%p
¤xv�;�7VBF���b`o�����|-V�s(���oܩ!E���mt�
0R?p.��y�;�Θp�	�GG�u�d��|h�u1�/��0��ܻ
��΍"��SD�Aգj�p�i���	�ؽ3F�@lJ���y Zj�Ʊ�rK��Ӧ�힂XA���cy̝)�Kܴ)����٫%~�D��*����7�(dd����s?� 4%�*ː�t�	��L��&�me���.�㼰BR_���������M���L�FϛPc)�ZH��p��lZ�H���ܙ��q��'�$4W�{Z�)�^��Z�OD��w��+�&`|���K��D��Byς�������^�$
���Ѱ��BR�b������	RU�G��J �7S�2��$����
�-+�&
�6��3 f֕���I4�;T'�>q7�PJ��c��f�
hE_��`���?�
�gI?^T����O9�s<��~,�����mw��"Z7[��v��_H̰��$��{��]'0��Kso�2��
)q�K ���Kz*�?'���NO��|,�&p/��;��pDx�.E��eW���ֶ�xo[
�K
7f��:���z��>��fm��z����%�@��`Z8�ߘ9�EЅ�b S�mW�
����r��m
1��Pg��/n�}��X"���^m�h=åY��5=�Y��</�c�vI{B˯�

�
��x^���N���\k�JS���IJ�F�`��+�8t��

\z�r�HSs��ߔ���f^�)�`
I_���}�F��]���=c�0�Պ��>U�#
���^k�;b{9�|�g�
*�l��KJ��\5p\�X�FЛ �<*��c�^A�up�BKͫ+� ���f�o]i�͆Tyf�(��f�1�R@)
mp���VhsyF;v�Yv��B>��L��Ε��۝�vh�H�<�:aeg7n�z7����x���#�X9�@�����"���%�x�rYm��FR�f|�Q��G��i�
"g4�	�P�W���
���2������a��Ġ�_s���
J�
+���q�۫�܊�(	�8�1�YG��8�,�����q�}�ybAvh���>n�t��y{Ԣ�� �n��<���\�Ӯ4��Ǣ��z��5_ia'T:HR�݁
i�|��N}nW8 5�qʓ?�ey"�
/�-o�6;!)��ፉK2�W �
��T�`�n�P�c����"��[��ϒ�m�"�&8�18�E
0l�
����-w��<�9L
�Q� �Gw�T�Y8��W|z� �V�0VMI��B��Fo���(�$|DX�]9�n��
C!�K�
n����>gv�J��M���y#���2	��(�Kp��5P�}UN���/<-M�7�$��y��e�c!���y��w|;�K��
+b�a��'���R���D�ό���n�����%�A�筟
�:<�,��	L�[�"܊i�
����mlV�yc�7

1B�]{��vM'�/+4�"JZ�
��W����R�Y
%���N�0�G8��=R��e��Zz�~�<�ǰ��9���҅(�R��J
�2'�Nx��[OfPR钩Y�V`��o|n(��'�b��L9��;��� �B��d��I3�|>]���
+5�{V�2
�'݌�Q`Ɖ�*jxC]&�H�o�k�ص`,��vX�����.�����@�<�I�)(����&^��T�s�����V?x0
Z�矹�|c�T��E���y !��_��:� �%�ƺ|��v%�QQ,�������F5?�P���)�j��Q)��>V@��
��U�h�a3��V!@�S
+( �/�UL��}
����`�z��`~$�u
KN|�[ra\�Ӄ����bjm���YWѶ
+��󡼳
�D�<��Eĉ4$�G��E2{bj�<�W�~���*�0�Gۜ�4��
�#�눨�T9�: ���
ƢlK��Q
"Y7�^�?vר��ڞ6Rի���k��*�����v_�u��A��	�'<(�帯�u�l��hH�x�h�("/!o���{����9
��P 
+qQEU����P�Th������P�!�U����P�
+�D���i��?��SLQ=��4�U,���D�|�
a���O/

��3��a����+w��A�̙Ѝ�^
���n%^�׊R�Ҭ��,Ӡb at X��
�b/ߒ� ���$������ʙ9O+sn:�.��]��
��$)���
'8i̧�����n��F�jMK��%�S�[SQl�O

a��H
'	(\
�
��	Ӌ�H<�'�T�l��*c�Y��'"����n��
iy6
�4^R�i/�S���<U��@��vT�/>d��r�2d��u�C����7
F3����1�q
+�G�Y��8�oR3��%gf̸r��
�͕���m!�
\{�t�	x�^�����A���"�����k�|_�^
{j�rb4�/��O�4J�t]��F�o�h¥%	��L
3p�@m�ɉoI���b�Xi��Aol�B
�:G��M>�MK�Fm,�}A4k5�y�<N����S�b]:�"����)+�*�:l�\���ܡ��Wu�l�����5J��qp����?�ܾ�%��t��%�q�}��{&�a��lѵi����,�*�aҞz.aN~����
=�k�����W��wt���ܱ�A�z�ek/�6l�a�?���o�Fϐ���>f��s0&�:��JdSIz��n �6�S�VG��s 9%8ã�NZ�W���#���P��7����X������up
���.s��g�\_J�yYȎ�(�
+endstream
+endobj
+2541 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 2540 0 R
+>> endobj
+2542 0 obj <<
+/Length1 1642
+/Length2 13793
+/Length3 0
+/Length 14651     
+/Filter /FlateDecode
+>>
+stream
+xڭ�cx�m�-t��m�F���c��L2�۶mv�qǶ�m����;k�}�s���׏9��Q5��
��CI���(l
+2��l�Y�XxI�6�Ύ� y�,�
�(�ddM�ㄣ�q 9A��FN ^
�)�(�����������Dd�� 4�p"�QS֠��g�/�?.$������t�ےP�}pX��l �N)��U  '
 ��@"���%%/AB#!�F"�8�mB���hB"
4�:hI�@$��>���lM������KؑĈ��`�p3��1��
l����I��$�F�N��	D�5�v6����v3п
+�s ������%S9:9�8 �H�fU�w�NFN��v��I at f=MA&����/�/�_��h�H�ps�'�1���hgm��7�_2;��pvښ�W
$ s#Sk���_�������I�todgg���hп�����#�ڌ	���oN���́�p��̋�������vSg���\ �� �f��oF� [kwS�
�<��oJ��3����D���D��y������//�����ߩŝ���l����
��EcdK�wאȒ��l�mH��7@��O��
����߽5 �.����c���5��#+'���@Gq��T�dbAbfd����eW�58Xm����
ba�o������%8�
lM�{5�W��jrZ�b����M�/gſ��n �3iȁL���Տ 7OF���0��q���p��pqx��d���匜
�n$:,L,,�$����_'��F#fk2�g�T��lM�N���M�

����E���8�k� 7�	��"Ȅ/�2-3ݩ;wp\T���r0خ�^����
+����Sa�V
��0����pb��'M�?܍eMݕ��'�&��)@]�j�F���_��~��y9/��E��E}{\IY��4�d����GZ?r�?
�;$�ԺX�v�0��“S�ģ��������k��=|��XXJ>�/�T�~�9���j�1�z�
/s*�u˽�ɸZ�T��d�x�+x�o�Z�����m�B9uҳ�T}ʧ
&�5�d^�9�/���z^B��X
:B\OE
�BvI1*�M!"‹y
�Ft&��Ig��?%{��2W������n�%�6�}ab-�J�I�!��M�C�̟�����\N[r�
��t ����?���9
!�� ��ZʅW��%�	.��T��g��H�P
��-�s2�&\�O��p�t��~ʬ>��4��x2��!����\��K�)�2>��D����(
+�譨�o�7�[vR�)�I���H�
+�D��	�?�|%��=�@i>l���n�C5KS�r~����#���S̀f�TakM�q
�T�J���Y�M��`��(s=.��oT91lc�����|��h#�M���lqKi�S���S�DP�d�QP07G�
���u�u�xc���ןμ�0��
+đ!
&�7�9\1m_�:q���f�px�_y��8�EH*�_l��i+�̷�F�p�
RX|��Z��6U�	���)n��Tn�(�=Y.L�h��i=�����1a�J�EɈ�d���kc�5���v�`��
��a��D�ŅڡXp��A�?^�
�B� Lb�����eߤ5�x at Cn��e�;*����"^$"��
G����Ԣ��W�S��p#�r
xs��Ël���mʒh��Qz&d�
��B�|,}�ůk��A��P�
h7�Կ]1ȩy��x����9#5XLk�d
+�Jяջ�eɔi荷�Z�>�E$[)vx��뛇�/��
�C�S�ďe3�1Bn'�Qc;��E&�J�xujfD�&Qġ��KS����::24E�7�z�'qȴ�eu-��R	�5j� k�p���C�7�HA%%G`i���C����D5c��e��	Hx�Y�$�m�#����
�ǥm����Q0���(mZ�1�
�X4M+8D:[��ò뻃
�xi�m��K��_������roQ����g�Q�����f k>)�V��!<��
_MY�C�	�<�[�A|S��X�
_�L�mV���=ס;�+ԐF�+�'���(� a�46ŵ�W�ck�x��7�
+i��rv���g�1]b�ij�=�)�f:��M����/l
��5���70�F����>�2�@Ƅ1�o�&����w�e��LE�, b���y(�u���l�����5�&�K���S�v-�"��
��T��.�U����(4N4���q9o��\/�`�x�zخ�����s�2��R���6��dI�
�
��]�m�
����e�ᛨ�������'�
7�"��
eChbhԏ���_H��>������PI��̧��I�n������
ҷ�Q&�
��m�ş����3��m�~"����DІ}?��r��PY�I�+�e���;D����N���b��bu���Ӈ�A��Z���4S� �z�T���}$��s��Ȭªk�Z��]�j*D_�Б$���ǁV�j�*\�5��`�nҴ�#q�ǒ�^����"u׬�ɦB�&;��qynU��!��_�������Q���G	b^\[�iHnj�}���K�K��
���!��
�j�[�h�f*�ʜ�!���w{�+ [...]
+YwQb���M�q�6����T�w�Co�E��U�[��\R2�x��A
�0�ݠ�#�����W��} G��� ��j�Y�S+�[7�6���|5�E�����U�[v�x�
��D�Y��V4Ҷ

<A
��C�q�;_�E)� ��]/"��O��wo�Q�|bo��	����
6$;6�g}�f����fOn�u�ϯn�X�|��/�
{R�q�}�d�`��7��0Q�/�,P>$�	�f|��5���P?F0��-�dSFǡ����;n��x@ޣ�/m�
��'�����т��ܟ��Z�t���5>o��(	���E9z�'9
�f�޿���Eµu�>O1I������R�ַ�Ay�Lj�{r�q�fK�ϥ>:էQ�d�	�Ki�3i}BBԓ�Carc�{�H��4��߼���c1!,0 ��^�԰�KY͌�q[�&I˞�(��ܴJDԿ��3�Q��sa������ay��*��I:	�1�j��Q(��S㙟a�;#��x���bt�h,��ps<{SC��Q�WJ
��7��vԈ�_�g�'��6����ε�U���'֔�
+)dzU���f�!Ns1�>�&�pBTjS��B5u5]b��YY�<h�Ų���*�a������01�T��Ӫ�~B"�����x�����i�(�(�^mu����4��}gkx.��	�.���_�����
[
Jp��J�Sqq����
F�p��;����6y���ݬ�����b�5�
���kN���
����e���ux���o4\;����3L����8���(_at��v� ���G����,V#/��"aa� �4-�r��D6r��`��� 0�q�(4��9�Z[�;��2$�]'�!�w3�����7��h%�nA�I�͍����d3�U�J�)K3{�08s���2x�汲��ܩ�QJ
�
��
�4�A��DD&�Pk��U_�`W�i@���,Q7m���-���݅�,���H)b�a��2
U����Em�s���^̐��ei5N'�Ż6\��4�ܨ@h���Ԫ;��:���̀�xDaTeV*|�WNpLT!��f�g!|'�c
��;(�6k��t�3~�aȕ��!B���4���t
��=i�$�uƖQWGcqz#�v��ǧY���}�&K��6���S��
��ɣc�}�bm��ʡoW��7W_Q��<{ՙ�J'M��%��v��h{<5O(uK�}��V4
��Hn��k�(CJ�
I�%JU������.y��*@^m�v�_P�m��M������nJ��$���}X������
�}�0'���-�HA�նļ
����/�k�]Gm��{�w�W�5b	G��X�!C�k����p
+��E��A��MZMb�Q��7E�g?��:� ���p����J��]hBՎ|4N�WPE<��j���bo?���a�e
�S�O�� h�1'�!Cu�{�b$upj����$8�*%������k�.�
��|M$t],F#Ќ��156�
����3I2�?���wY�����2��
5饝ɒAҥ�h*#+
E

G�+k�)��'a���������j�3����:��'t6¿K���"B^V
筡�C>Xo�FU^�bm���}4���+�?gMB�����S^������*�2��F��C:"�ם�؝ݷ�̙>�[m�T"�*��.c�V
+T�=b���c���ƝjU�p��aY��w/�j�Rd��Gf�5�H��������юLòB���b��q�_
+{���i	
�)�Wɪ�I�M��/kb+�
+
5B����
|w��<��ӌ�N�n�%��1
���a#���Hq\�L����-�~�86�˜��m����rW܀�U�̃]u�
�H����8!�3��?v��N�
+�q��
+���X�X��m��^ᠤ�粎4�~!QN$R��m��!ga嘕��lR&[۵u��h�~�x�
�(�H(t���Q^&��a�&� ��t.Sn�E�7���i�oȡ�C;ї/+,
��&~���
+��b�(C��y��G|�A
���Lo�I
u��ĵ�.s��ӮA+��9�[�{d�O��|�E�e�����n w���
���C$�HY����t�KSM��
�Ӻ�~@0!��P��NN�k��e/��+�D�t�e�4Ɵ(�B
�I$�3�~g
ꝯ��xOT�.���� �)����\3�H��!�H�M4�
+{Π����k� �`P���i&�K�ܱ7�⦐»<�w�T�E�8�h8��!�Wb
+���v �yv�o�r%E�]��a�E >�0��ܡf��T��YbmoOF��"�����
��{��m�D��%E�a���I�7[�H���TR ����3
OH1�UR�6�h�i�Ÿcbɕֽ�SUԾ_ϫ�[��HF`��;0m�K(`�/�0q֒8޴�~Ǵԭ��*-�%�+2S��U��>��Q%���Mb�{� ��E�i!J2H�O�O�f
+F����,0_�@�r�����,F�2�*a��b�!y�]0x�|y��N�\1כ�מ�d3/�#�����BQ�dv3f"m��5'���Sew�`�5��A�픰@_�n�n�Y�z�24�P�bz��h�Z��9B
+_�,���G-�l{����Q
����@PP�	pD�A��-�Hf_
o�"�ҹ�v�����.�/�Z,�Ș���^���=��d��t/�W���"b�oh����I?��{�4�u��yb()Pb�~�;
+�s��'���pt�O�|9��mm�x��3�0]N�"Y
�
�GFzi3J�m�j�v�z� u'ʈ�s�م�*��P��0\SM��
�.ՀもJ�o�>[�9�$�=*�
+;Wy�o��N���Z���<��:���մ<�c,J�'
�٤&l�9iL�z�
�1
��睙Й:�N�;��OA�*LR�;$�ߒ~E�r3w��$K�Ψ`
�R��kZ����a���K���ol%~�R)7I�vE߲�Mu�����>���_�vC
�po
���^��n���GX�1غ�;^m�D����P����:���oV�ȷ�x�+x�8&�J3?BQ�{����kX<~#��U,��DT�
~��۔y�Qf6�
ͼAjh��=�[�2
�RQ�q!D8��b�
�Q��д�.?�<T��[ȟJ*�5`ן�	e��N�����9��H�ʤ6�qAʲ6�t�a��_v�:0��������
pIu=PUxi�5sh��z�_6�����3�Ͼ�}3e:qV�(�9�����/f�|���F��ϜGD��,?D��T��q[�u���j��}�(s
�|�31��w)�8q��E�ast_s�DǸ���s�|�M�Dm�U��}<���x�Uu
y���:T'��ͫ���p�=p�hO�֮D@���T��Ŧ}k���Ǧ�1H
H?/s��P�0�
+�A�%ɸS@(ۻ�]���Fj��v�i��\;u�(�.~J6��� OF�� Q�(��Q�^�hO���	p�7��9��1I;-!���e�>+�d�f	��y ���M?y2�Ň���г�v��\�űNC��
��
+rG���>
+�zU?e�ߦo�s�f�K��
BB�G����r���!)���H�/7�:�
�
 �G���� f?6
�Z�s`D�-���۹�9�
'��ITw2��Ҟ��P�{S���,�;�'
�9����/��le���+�	g[H>�ʾ�_�g%��"C�V8��yT���mI
���r(�e���cY�)�5��� *�!�7#7 ����T�H�L�p
��7��ޕw�@Yd}�пP �����@�����
��L	.͂�5Ȃ��S.�N4D����}����3�$���AW�� 2�4�LsX��q�p�ð,^ׅ�/
�4WH���X��.Wv�[-ګ��f����b̲wh��U
�'[��U�o��	�&�
mR�vl3�D���<j�CpJ���M��}F�g9����[`�˚IJ��2���(x����o\bx�t����B|���0�Q�K8��^V�
(���% ,NF���p��𼬽}�n�_.�ӛ
+��
�\��F���F6��%��ܧ٪�z6^�eAK���U��
+cq��>��e}^&܇XIL�+j�wBs&�%"���!��<���(J]B���.�vt����T��:�3ɉ]�_��j�8_r��>%^�u�[
$��
%Q�#�_h��¦
5Q0�
]1p ���h�` ����ZR���a��
��ʋe�+����.
+�+�T��]{�0�o�s�q�|� �Ҕ|&F�� ��
+
+��S�
c�����o��|������yC�g���!6a��"жav��V����́���0I�}��͑���OIH�9�~��P�	m��8w��75䨣�\���}�
+���E���l��VݾrR��4%ď���/0�a���N�_��
ҰQ'�
��x�E�<VT���w_!�l�,.
$-
(�[V���X�!�/K�+�-�a!ŢZ���d
؏�
UP����g�"���C]���Nf`eձ�o����~����6���41��12�ʊ�����f������4���>I�z�G��d�b�5�QN�H�,�.
����U'"3+�����IX�D�,Y�B��h޼\E[��/�)�^�c
u�m�N���
~�
�QDrW��'��1�����򴧋'�
�X��b}��k"R�X��mc��u	f�ϫ��e7M;
k�/CO
]��e�0����n��άKp��z����dF�M��_���(�p�*@C��\k�y��B��+�8��2*!K1qӸ�煱HOf	
�B
+��R�"�ވ�5�T}/+Xa����
�=fT:E��	Ԏ��"�R��wU��B�v�TD5���,�%g��F���J���5�E�J-鶒}3�Y�-,���Zmz�AdJ�q��dD�i3�;0�3YdC��{��2{���d0�frH�
�<)�(�p�{?֋�SᭆWɕ"�TF����d2o c�
�\%��
�
 �^B�=J�UYL&c�������r������I̵� � wX�5k ��m�p��-�v�z(��<u'w0��zW��3j������#8K�=�}*i2P�6SPy�\���+�M�����i=��д�]>�|u]�Z�
��"+P�"�O�|܏�u}"t����^-1k����zgw�ҋ<�\�P�gڹ�M�Al|�Lw����c~U�!>�Bh3/��a-���/�	�	��l���$C{�E)�uH8�5bb��,����ܥ$���M��Ft�!����i5�Wwa
z*����i�mև��>|��p�Vot��-� ��Cf�4�@q�a�P��KN�'�&
�@��"��~yvP	Q��фI�~=s��Y�s1/�ə`R%v_*d�֕ч�r�'g�Z��Rϥ�Y�{�C��*�ߦ:
���[�-��I(�+Q���|�����͋�;̆t���һ!k=-�������}|@�ӫH1
�.�*���'�����r��������@`�*��8 [...]
XzF��bs
[jA<+vI!�ʐ�s�~�8�]СD
�Pu����/N{M����n��M�

��++�F��%�Ԕ6}%1���k��Nݨ�
ͽ��;�>)UоTZ�
+m�J�p|&�߇�A&g���b���_||W)Ԩ��H�U�Ѻ�)�l�,�$6Mo<r����9vM m&��)���x�M��K��P��=�`��9[����~�����H�DZ=���2�|��)&
�����_+&����/B?��k�/#�|��BU��r
=����"̴�V�`C�A�����PV�����ɇ<�~>_u��Q��E�҂q�b���Q*�ix��d��'�<U�F�%D
+
��v��7�ߌ�)��
�n�
+�/�Q>��֋խ��)��W���]��W�SU!���"�U�1M�߹~���}�b΍��u��x�oe|�i)�ɳ�]R9<?�j)#�/b|�-��
ԛ�=�ƃe$��|%��⻐Gwd�0���P�"�D�Y�����vڠ|�MV��&ƀE�8���m��iz �L' }���5���K/nk�f^I�z!�D{)[$A�ř�iq �ZB+ֺ>R`�ϝ�
�y_,�G�k�w��}�I
�'*V��7d3����z��^�r2�#0)�V��f8�@��:���^
+P���%
&�D
7���rua�ub �
��y	ܷ�a���RR��D;Hg��r�	���+q�? �?1b�
�����M�\
�H���LE�f#:=���]���W������"�G��Oq@!��ٷ8;(�l^�1�/5Ɖ�谳F��/�<8�����/��+YE
��A��4�H�L��V�| �1���ۖ`�7��\O�>c�-(����?sd�L f�%XN�b
�t�l!��	�u��&*nz�'?+�G�G��iz#��ߝ2�aj������y�`�oa�k���״O��`�-���t���O
S{������j��-�k���P�g	�cxئ[
�VL�?y�v�B����\��ao\J8� =4NNz&�E�&rm�.�>�
&ޞ�B�`�l��3d���!�h����O�t:���)��j��+
M��Z*��)�&.�P��F����7L����>H^É%��(Y�CGHs	]�s�ϥ^
v��z��ޑ�5ώ��ࡩ�^���x��
��!���u �k�
Ǖ�3�.6���Nc�N���2�E��)�x��
Zу){>�3�����`�5
�C�1
/�7JI:��jy���Q�ӝ�e���h|�:�X��`��<�f%0Y�u|��؞�L�)��s~��*��
&��˻�f�D\��k[ݜ\C���L߷�R7�� ��o6�]C�vך �����;�I�￘��xť3tY��v�h*�
�,�&Ej�3b���X�ݤ�������.
���:6�����DH�
xN7x�#~2AY(¦ɉ��gے��F
�|�yy~��
��.�>�"�����9�^��Ԡt����v�J�� E�[֮�h�Q�:6�;�����v_
��"����ȇ�C���M?
�\�Wľ��꧞�
�H�j�^�[
����WE>�Q���Q��H�+�O
20^�f~o�i�Gď�����.b�%^����4��M��v�{Hv�7�%�c�πo�z
x�=y!8����;��]J
��?�m4�o���Qe3��w��>�D��Q+�
i�qn~cA��j֕L�e,%H�>�|)`$:��T.���Vq�w	�
W푠(�Ϥ�#�Jqh��B������
���,N�p�R50ۼ���xBD_k*ϐ��F�M{G18[��G��vlaQG$3��[7!��bk�%?0r��
�&ob�1���J�1��ׅV��Z���qy)S�ʝ�l��)8-D �`������A�u�>^Z�&�Ik*�0�g,��k���$w6o0cz��|^6���C������0ڪ
0C���Z�����k.��r�GQ�k�cg�zuTI'b�`���[�w�ZK�&��eO��@~���
+SvI�,���c���cY#Դu�� 1��˯�
�0><���1�����{�G쾰�����
��+=E���@u�6��Xz�=d��i�|���
~K��x���Ɇ�^q����%�������5��S
ܪ$�z��t����Vz^��h�[�aͥ��%���{
_n��
d��=љ>�0��)����!,G�k�/|�jM�ܞ��4վF?��ɪȂm��JOl��)�9�n����F</_�)���&v�E�g�yȐW��~�W�|p�Js2\��3�ߦaw\�kاdՒ�P��
+ɸwd?4Ʒsys;��JBݢ��\�f�k���$��Y�~,/���{%�
+H�$
+��3ibS�l:
�Y��t4���9%c���
w���&9��6(V�D�3,�%YOs^%�(���\��vő|�ɤS�	ҡ�P�E?@���֗7
E��!B�!�6An�R����bK)�8�2*�����_�3SG"����ķ��,i���z��9
�I�Ɍ!v��
�&1��U��Vx)2l�	�����
��o����ع`�fOQoܓ�'�Z{e�Oh�`jY����?��R^�j�n�b�5p#���mP��OȒ����|�r��͖����g��n3j�瑶��फ़� (܍��	F~T
�wTl�Џڑ�pRlS���O O���s�<���&Q���,�0y=?w�_�ء��EM�5�Q	 ������B��ֵV�vr`q6?�j�eM�\�}�˃
�n}���Ѝ�5�Eэ�C�+I6��7��~���Q��he44��.�h8�(
+�*m�t��Jd�_��G��������Z�
*�~f�o�Y�sף�����§4k����s�l�a����
`R���
�i��
�)��1�)�Zb]���cb�ď� �"�|��$S;s����ig����=�[��+4�ߧ�J�SV��\.t �;/���.����gv�v�O\i�T�^0�^�KK��3V�绚�<=�g��Y8(�vT��)�iQ�W�ZrZ���*ޝs���>G7溩�����(pdY1��h=��L��[ �mԣ�sSÁY�ԙ��v�p��+J�VR�3��R(}��}G�hB��=���F
��NZ�54�^�u�X����k�p:
�{�X��!���ԁ�����
�5�
�ݨ��]�'�����5^.��d������NBF
+.[��[���i
��,
藽�^�L���{?�5�ؘF�����L�G�f��?좣�� 98��H�\��U�Jh��pIE����|����=?kwy6���
�
�������xI���k}⠑m_��,

���"#�t"�:�T�{]���?<QP���sVOY"�^�;���/���0��nͥ�C��
��6���IW�QV�7�z,rn
.��8��a�ц���3�i�:���_���*
ug��a��B
E�� (Q�̝�� ��>
']x$��SV�]��
}ma�mX.�}�,f:�&�m�E@g�j$��X�K:%���7p�a5T���"j!=r�����Q���D;�*
ғ
�y��F��
��U�8·Q0#fu3㟓
:}
��t��
+kt����^��jiXqQEȞ��RQ��{�>�Qn܌_t��[�1�p);���<�����0֜�:� �j��a%�������,�J��#��Q$+7
�ĠDIV�H�]��a�Km ����S!���I��ѝ��k@�%@���I���{'��-ʐà9b�G/2�ehX3f���:��*4��R��L<�f+%kĎH�0���R� ��h͂<]p"x�7�3���D!�Od�+\�e���Ɲq"t:���`_�ޤ�ؓ-�j�9��W�
\�9�g�C8�
+���
��
��8<g��]aDLb�y��AUV<�
+7�d�m����ٓ��0ʕ�o
�mkO�+QI��lQ�

��ج���_�I;��w��9��"��!��\��j�*�bh�6�:��b�;q��)��}����Vh�-DO�c�,g�=�1!/F�t(��%\����]ə҉
�;u�)~��o�����n�S�#�1f^o)���4�j-��Nw�pe�q��v�&��L�g~v��F��S*u��U
�?H�V����A�	{A0�q�e���J>��
�'^�l
Ű?��\~n����g�[p��j���-/�����&�#�����y	�$PnI� (!�
;��ӑ|\�q��e�Š5�{
_Xz :v�?�1
�}�|��}Rm3�i-�%E��L&�5:p|��(5�E�	�zv��-u-��7
+$�/�"	&�R�X��hW�o��3ʝ�Q!o�}Aȉ
D�P�1�"��iNg��o�#Ѻ�(��
��cHg���䐹����&sw[�ij>�W�{�Jm�S\�m�zWw�0�u��q�y�
N}1��,3ҏ$a�,*��� �
#����l� M�wb�- �=��k�M�u����~rRRVW��֩d>�R5Ie�ޔ��m�|�s�5e��%��A^��8b��0�By
��p <�ή�袏��ʏ[n*$���+�羀���������uP�7�ُ�t{����?m�`���ё�L
GR�T�P���zr(륝�V%E�6ȧpWɍ�x�c_$s
�/75�;�%�����=D,��bo��çIKn)�]����e%
�z�8�x�z��
�mK+y����$͎�b�B#]���+D�-V7f��f��>\䀷��t��$荠�L�f)o^u4�q�5��5��YLQ@�cC���W���dR��p��/ߕ��ר���Bљ��NyX���k����
�
��9
.��d�����(#
��}MR��yf<,>��5<n$Չp�_�ٖڒ4/O�Ʉ'Y����9ɽ��2i
L?�u@gf��eMl�H��޽4s�W4�=bx󡗩���7��icY����9ݞ%tE(WV�L�@|����k�{�hlXbLR������pкUw5Ot��Z0�	�*>�s"�P�C��|Q�c������
���%t=�V2��4Yz�I�=��c����O]�z��p��ָu�~|
��'���p�m�-�G�Z}0������o�^L�_��n���O�;f�<f
+M�z��ڡ�O���F4{�G,5��]����(����>s��gw�ǩ����:;B����$��f��?<�-�W��Rxʖ��F��1��{6/���7:J�tF��i��Jڈ9	�}O���
2�Y����
�xQK{��#6�!�Ճ�4D
� �D�Th��ޓ5��惡���	�]���\���Vw�)��_ڕd

r��UͽNش%y ��0��5kn��
�������&���g�3�W�i=<.e�B<V���
�:Z��f����nm[YI�p�5%ѱ�|Ƽ'�i�Rߤ9{��;3�r�R�բ��K���w���j����6�j#D�0=��sj� ��y��� �뺷<fM�	�d��e	ذ�u��+�h�<j�K��YX[�Ɇ���>ļ�� I�c7����޼�w�e�Q0/~f?o���
I+�v�p7tO ,
xǗ�:?<�2VUQ�S�����ݫ14C�B�/�s�	
��8�Cr��v�a IgF{�����? Na�鞦E:a+ �{��{U/Xt�_t=��ʢ ;��S�ȷ���]j�穟>��V�X"�)I�:г[��y�O|_��C=�B�q@��'�I߭���6wCir߃��Tǂ����b�cEͱ�- ���p���s���^�
�+��^y�"�;觙A�VO���+����u���5�n=/Z�Aꗭ팼%u�j]oc5,x�8�H�������i��1m�
��[�
N :�k�og)��3D�u�L{j�

m
;	 �eJ���
L���;�y�� �tV�Ms ���-9���w�9��"�{�����]M:�)���+?9���Z�kf�_._W�Ͻ�g�"���3�in��h�j�,�)귤��hX=�h�T��Z�fٕ������ �u*n
81H���t:??�*2G����*��~ˬL�>���J���-^C���D��LE���-7�M��G�?#�����cr�[��2���4�
sn<O��[�^n�o���y��dn����]�G ��i$���-8�[N�:����%���UU٩�\���8
��{b>����B��9Q`��}T����h�����	k+�O���(��6	!������n�
+���0՞�C�1�fl�S}��j�tt_L�>\�b���O7qGA�Ԅ�?
r��R+���~�J�=8s?*D��.˪�ɸ�5:bZH�s�P����ڄV�L�X��޷V
+
+۫;�=�ihX蟠����+կ�T;B�36ԏ�����lPJ<TUֆ]�O�
bN7<���f�[�� 
g�[�~��8;٢����z��� (�`
+endstream
+endobj
+2543 0 obj <<
+/Type /FontDescriptor
+/FontName /UMYVEH+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/X/Y/Z/a/b/c/colon/d/e/f/fi/g/h/hyphen/i/j/k/l/m/n/o/p/period/q/r/s/t/u/underscore/v/w/x/y)
+/FontFile 2542 0 R
+>> endobj
+2544 0 obj <<
+/Length1 1630
+/Length2 19951
+/Length3 0
+/Length 20796     
+/Filter /FlateDecode
+>>
+stream
+xڬ�ct�]�%��b'�m۶Uq��VŶm�6*۶�����ӧ����t���^�
s�56��
+����P��֙���� oac��lg#o�%K�
4s�������8
�-�lE
��� 
�	@h
`f0qqq��D��=
-�̝�j�T44��)��`�����Nf� �?�@k;{���_��kG �l�ZX"
+�ZR� J	y5���hh
Pt1��0�Zm��T S;G��� c;[�Js���%�08��-��ݍ����h�@G
'��� 
'�������
8�,l��]L�I����_	�;�������
�h���d�ha�
�UQT��y:�:����`g������埒���
�W�lha�p�;��0�p��6���/���ſ�pq��5��
h�@3CGk���_����t�?��/���[{����_V�3
g'��)=,�ߘ��c�Y��2�3+R��v &��M\��C�
+t�W�(����I���Z{ L���
�v�C(��X���#�������[��#��r�\�����_��]���
m���w
��1���3 Y�?�������chca��������� �r6��![���0�3�[h�$n�4Q�p66�Z��ٿ�j�&@Gk
[�_n��V 
#�ѩ�[[��CۿU@[��Z�_���?��������f���P�� 8�z����T#gg�?��
۹���9t̜L��߄��Y�oB�
��?�r�Ύ� ��u32�������I�����ۙ�3:*Ά�&��
+�Q�8:�%�_
�o��q�����@c��%;c� ˴�t�:����:}L�~ۗ6���������pU���7Mq�{,��
HS��aXS� ���~�P��l�wr�
0�"��kDy]/�n�k�3��N()땼C�Ou�8B_?S������>�#��6Ģw!7������'�<?Q�
�=�{
��K�
C��
+�@
�球+��V��N-x'� uw0h��r(�Bj�o,
wǩk}*<Q�@
+���?g��0Tܰ�VfT|B
�,6���� �~)�g�u�I�K�KUX��Kް9l"u�
4 ��u�6�t��^�ư)�	�c8�!� �5w1'Ġ2�
.e]����;E�8{�#[`���5�������l�]S�*J�D��Fc�1�yG`V�$N�W�)����In���`��� ���󓑆���ř��8>H�]5-�\ɽ��L���šx7���r^���ú8*#��n�Z
���%	�`
��F�v�AgZ�}��|�J_���.)VN�`��m�q�#�
w�� 7nd
{o�HTȍ\��h�_xX*Ԩ�-���v�oYh�&\]˘i\m����u��>P#�
�g�/�žG}]�������2����b) �l�
�c�և1�Q�*b�!8A�q���@&�U |�#�ך(
0 at i�i���
�H�(>^\�y���H�OQ���R
ѫ
A*�Y�%��_��a�,'����q�&��v�笭�ߴ օ�WRkW��EL5���O�4���E8�i���qI<���Zr
�-zeS��� i�h#�n�vIw:ѼՐ؃>jl�:v at s���THC �Su�ơ
�+�z����Z�\/����[g��'�d���
V��M?c�*�D�֎��%Au�b<%����w�ų�ñ��u��'��]�a�a��`�Q�
Ӻ-n
l�X�-��0Os<A)��I+Nc��4S�j�,R[N:�� O1-��i�RO��m�����,�������' 
h��]�d�񨲰�ħ`�o7�����	�\樛��2YA�~a�6)
�Q�Z�t�M��gh�t���Լ`nl8�v��H��ڤ?,
eF�s�\/���[@~�yd���=�=�-�,D�q�6�������)�,�����r-��ҡ�i�ąs
TS6@�vI�Z=KVH����Z
=B�sh���
��S�h
�[P��+�[��Ѹ
+{��-9 _\eHQ�^xr&x���v�x�g�t�5�L��߸*�Fby�pO��2���گ�"�T3�|WBy�e��ɰ �.pƣ��0�shV�Mk���I��S�#������.$##�+
�x�9������JZ�ҫp>���
+����
+��
�m#^�;��4�=L֤G-LR¯����p
ښn -��Z(�ۍ��%��W�%�kI�6>
���
+N�
tڭf���d"{@V&���Hq�8ڈ_
W�-0'��SB�M��`FL{�Y3O&�?:]ZY	!W�
�{*2Zq*��?�YC�+H
$ƨƬDζ�d]��x
���F�n4���3�H��h�զ�,����e��?�.�L-X��q+�������n������Zڑɜ���j���x ��R)}�$��9F|3��o��jЂݯ�t�@��t�Ô�szZq~
{bӷ�h|Y�)=b��<��{Jw�R*�i���
+44nYܴ�-�Eշ��6i��G?�L���y�l��>�qO����-���P�z33���B��n��Hu~���׻Hd��}�P�wO�':��¸n��,��4�G\u�	���w�Ym�����+S�ʘl��T2S��/�N�8���q�,�q���Ç��u��<����A�u{�v�91�&��U҃o��:��

���^��p�y���Ԍ�ߎ����<�������.
Q�����
�p�('`q�����Y�ibf�Q�*^p���)�9Sy/�
3
5}�O��BHh{��N9���^�lG
+6�F�v�0;�_m�{�Ĥ��ʢ;
��{����(͝���]f�3�Ą)]i��y��1��xp�ׇM�E��6� �<�
t��1�*#\���IC7`����;���bæ"%�J�U
4AV������\JB�2
�+��={�����#��� .��
�K=�6�q��h?^hD��R����d�}` �L�	�~�7K��ѷa(u�
T�Ȑ�Y��b�����/+�����)�K
�������s��2�#
�J���å!\c��‹�Tb�����*�
�}���=d����t�?B6��L�1�4j��
�o��;�9
��HɊu0\��r�9u&��D��g=�>��VU����b�@
b�c�X9�F�3����S����$H r/�v��Y�/��Tږv�Ml��]�W[��*u�1�K�"_ݖ�V�<sRz��k��G&Gl
�x4{��U0�B��ϋC�Z�o���f�
��iS����"-K���:۶��m��K �NY
��VL�� [...]
+]<��
�A��q+,�U����H������r��ЄK|�kY8�
��M�ipE�-=�I}��ۓ�)�^#�5���U�D.��Yn	~�<`�B�N��`9���=����77�
+J/
k�
,_�~f�c��q��S�;f��Qjf8^��5U�����%���p
�=��
٠ML��_j����_:���ݍ
鱈��' H(������ �udUx"�"����$�
��5p�Og�G����b�CpU���{��ф�,���<�{>���T�w{��X�I'�$����*ҍ'v�˲Ƣ��?���ؓ�ۥ�K��ڞ�6��Y>����n�c�L$���p�d]��0~A&QN>��%�i*�
d~{Iف����-r�|��(��J�j>�������T؏�LI�f�]�
�J��B�{1��=��S�
	�U�oT@��ݗi��r���S�����e���n᥻�ʋ�eb�l\�
+WU�䁗#�
�HVD�X�?��/�
�OsCǜI�c�|�,x��i�/
+�eŞ��>+2�و�C�����e =��{x�g�������I\�JDX�L�FcX�h�8�m9����]y����ރUB��C�k!Ğ���
V�����l���i�H��R�kH���\���nk(d�=hʤ4o֖7�W >���ka��
�K��z\����CM�6G��w~8 g)e�S�o�;"�=a�6]wƦH(���2����x֥^�Bw�ӮAb�"V�
+%oWb
w�$����"�
+bْ�&����Y�#�+k����ɣ(��[P#�ϛ�O~�(�ncMF�X�
+5m@�G!�\Lxg�閤?�`	t?C7
L&/v �Ƃ�L]��7ʯ�_,w�����љ��e\.g�w��o���E���瑊��R7�{8�I))gx��
����
+X-	m�ՠ�&�a�%I�ƲC�6�=8
���U�]a��`֓<�T��
�@3vu�A���eE15t�&��;�
1y�Yv�=Bˠ�"�����<Ɍc#(��^�
��h��c
�K�F����B=�%�ڀ�v����upiaa�{�
���EYn��!yr5M�v[>,Ԛn�8������%���+�Ϳ
+}hp�k�S'��;z4tkk�.����b
+O���I�|���G&��JX���m
���N-�����%g&Z ˜�{�8a]f&mE��Tcm��H�o s ʈ��w�f��Ek<�NU���i��3��y��	K�vʸW��>�f�;Z�w���Z�~���|~�t��G�Dc��	�a:o�r
�볮u��
,/�	��ݰx/��8��m#�~O���v�s�K�5�:�s]"���w韑���(H�d7M]ғ�杺��_��$��3��d��,���pL�Q5��; T��D�'Ӿ�]F�:�f�>����y?����owt���%Gߨ�sv5�
+*!��0���
��i��$��f��	�:EB��[��eӊ�+]�=�� ����@Tx��d��T4	~���?j\���б"�d�3�f�xK��u at 9
�}a����8���h�
~�]��
�����c��x�1�u
�����
☭.�y0�Y����;f��l��惣�g�����K@�/���N�d�m3�'����� J74Ѻ��M=�cĭ?��+�
^�`8*
��_f~�
+�g���?�
�
Q]-y鉶o�rĊ�Lc#��'-�� �o
�Jyh�P���l��B���d9��C��]����m6���i�6 �kRW
�L�mߵ$I�&6PW��р��
qo���F���ke���P桾 ��'HDnjVR,i���
+�Ԗ#�0���3ahΉ�������
Ih[����f�NJ�m�ߚ�[�
i
�jC���⡀a�:�=2ݢ(�f�~

s4�
�!���Wd��
[ q�o���ȯ\l.[��˻1*�����8T��y`�
�<
*
�~
�M��\���N�����'�(�]�9R��m�
f��ݹ�()�D�
1
+"�nqH�pF#��&Y*7*y{��䖵��<��n��sOwM�v����g��dnN�j��5�^Qbe>�J�p�C����L�/oޙEY=�f(�!�U��
�^�P��]�;s�X��#��

Ç��Mƚ�,�vdԇ,Ŝ,�׭�
B�q�k^Q�w±���
�
��1�ْ2ߺ�cvc��G�_c���@
s�'6��q�N0:e��.� �Z�yx��૧
2_B8~☤MA��)�{�C^#���Q��U
� �
���u9�ݺD���܂� ��I~���4��-Ej�TR�an�َ
+�YDaR���>�J�4)�{W�9S�Bs_����vߥ��{ô8�
ʏ��CC�䩝��Y�`��A!�+9�JY��B�6�_

����0?/H
g}�$7C��o�o��$��
̹�RRu��~�Ij^�U�98�:
�9�
����q�]�Mm�g�C!բ��%밢��c�|�2N��JvC!H�,w��K�!�h�8��)N���JX���鋐���;��RKDCÐ`)*Ooܜ!0NI'er���{J�"o��$�^�7C?�
��І��6iX��ଟ�IU�RM�P�#~U��X�A�}�,��q�r�k�7萴J4���X
+<
���Y��~/;eR�8oPc0
+FX�v�]*JZQC,|�T��ew���N���^ղ@S�
+R���G1
����Ng��-��p�
��!�L`Y�<���
��t��օWlj�D�)}�jR�]����� K�W֍j�gw�VQ��8!d;� ���ŌwϬ@��j]�6�Z5�Ϋ�]�$~7 �	�)���d*"9\V]g�
�[���
#J��o���
��
+eK�N�k�k�"�k���Q?!���c�_dث0��qHU�dr��%�[����`6
uQG�0�]�����id��s�~���X���?��[�����K{� �z4�,�
�7��ɳ�S��z
��*߹>�D�	��X ��&�c<
+�khyr�~�(��&��vf��l�GT#&'?�\�E%�hl+5}
�yu�|�w,�G[jf�������I�?�w�#:&����Z�Օ�1x}���4�|��P
+��2�Y�I�s1׭�!�(���
�|�t��Qc/K8<�B���+�mP��/6&)b D�
b�.��]��n,���8��sQ�xU���	g��X�ȇ���T�:�lg�u��jnps-�V
�b����A���9D�zJ
��E��Y4,xo���<Q^�?�񧃅.0
q��(t�P�kwz��!��X��c�.��8t��d�>��>�>h����R.����A�4a��
�cKO���4¹Wh>߼�?^�6��<wq(������^�W^�Q��tkl�G:�F���I�jK
�A��`�eGr�I��k���v�L��`�o���jq�T/�a�wKY.!��-�钌�0(��D
�.��O�8b��n��eG��wgL@!������
�޲��tg�ٷ����
[M�{r ��U4#\-�YFN#x �h �)��(N�#팻[j�O��^��]u�J9k)�1�����E���+����=>=-�I�XJ?@� 
{k7
�����

�o3�q�1'��c ���;(���.�~���\�^��Y>�
���)[�����o�
4BCy�dB���l�J��
���
؆�yq�~Ϗ�H9��
HI"�M2{p�Q���?��n�$R`�Ɔ`�K���z����u����6��<XT_;z1�(�2��F
�˘�ڙ����@��J_������g`�ġ���R�2Хi��/�I*
���
��a��g�}�d
ɱ�j�����a���G�ה+�jI����n���IF
�DIE�|��Ϧ�H���5�
�������O��s�����
+����qmA��uʩREy�U�kV�w*�ߠ-�$�%����w�ѵ�����`�pXۃ�p�n31��e^�mbPM����(�![<��/�\��+k�ϲ�
��}`�'*��B(�Ԋ+��S'_o�`a`IqB
��/|�y�%��1�
+����B��t�_��n��a}༢��W.4;
rH�-�&��Ō{$5�1�<�:\��l��
a��.%��b���FJ
+2�?1zt�(���6���
o�ȍ��e����@W�Jk����,��6zK5!�lɷr�mj��r9�#�"�i"p�-ʱF�T�������Y����84SA��QF�$�_�����%ᖡF�2�n�bzxz��A�}���z�UYG�e�{zh
<oh�W�-A&rj��@�%�~^2,�
���"|�It�4��_-n�

Y�eie�nw-
��(8_�g�6�
)î�
+{�1��9������
+�bM����vl��=�-m�fH�����n�p�c�s�� �E2Z
Ls
+�<) ��>c�Vp8��f�eZ|��tm��'��	���VW�/��P���������A�>C"�6>s��gr
+�EP�&"�
LF
�Ϫ�N+�n�~>����rB*1��?�����B�`�g�i� �߅
Wo�C���H+7���T�1�e$v_=Kn��tZ%~�I,z�+<�����KX��

G��6�#~6��н����(���K;��Ӊ��d~'o��̘]�*�ת܆I ��u�eQ�D]�:5���!� 
�'�J4��Q�<t�%�D�n�F�qو
w�
�-���իٔ�\��fȸ}��D&R���a
��h�
�:�FN���1>i��]W
�>e3���a{�>�,��V�'��1��(����.ё�<�&���"'҆d��"�b�ْ
'�9��H}�ylV�������]M,���aE��P�T

�<N�μ5��"uPz����W�\L'�
\
q�|�4?�cx�s�^�`��^8~
�����5���$�j��A��qw��&Zu��cg��j2,���3��/�V��`�r���]r$��U���3�����F�s_�_#����O�҄-��Ľ���3x~w
���u��p�iK*II���΄9`��0@��С���a�i�i����e�4��&�.zǂ���j�����(Pw�-Npv��Q�T�gY>(�/�.���k��w���=�5�Va�]6�.�>���H���iSZytB�3e��<}�_��(���%ҦYT���0��l˳Ğ�:��)� P���jhD��@�x��N�K[�G�M�E�3�0���rq<ze��d�ӧ��=~@F,|�
+nz
y��XbGY�s�����(��%wUM_�
(��,J��XO2�e݋k�lYew4^��q�JB��J�^b��6zuF��˷n���=��guI��V�u�!qQ�kE�Y'�%K�?B&�����#�
8����)8e`�fǖ�������m�K
#��R�Ɍ�&���\�d`ϨI���y�ׂB��]�I�+���� 6��
ݴ�9�MMdU�T�JX[`5߯�H�;6[�W�2��%�%)1���x?]�7���*c�?�de��<����?��N[��8�b�� �1����:։���1�hK|9f��
��d^�x舊�6b�(��t���sNQ��j�_���,H�;�6�%Z�Zt��՛����X
+2][LK�3��kh>B�
��?�17��u 6��W���$�,x�q��VD���)�
~�G�I�O�|Ģ�#R*B�	?,��! �����%�,�\�-#
o޽�6�'� 
Q��7���ɘ�oq��ũ8���aA�]'Qi
+��)�dMIӡ�pTx_)�-��Y�[����o��Ô!�oe��l��Xt���a�
+xx��Fc�&I���4�iG0��D�l�R
�s�l
��=�\`K�ɠ�
_nl5��>�#
��>p���
�E����uns�Q���O�ɧm���X�#A���%+
]��=��d����*����wD�i���:
���9�{P�|�0��^�>�`S���v�(�\I���Od�ֲ�c76e'Y1N����\�E$f7�;�Z2*��06��Z�7ۗ2"�A�BSa���2�
�B��̌�H��_���
^-��B���&�-
�dua
iz�
V�G>ы�`t� �
+���s�:v��w9��m������&R%��q�.&P
c#��L+
�p-\�>�Tf���U��[�Z����Z��W�g�}5n~\s�"�)#?ȟw�"��µR�Sl���s$HÛ��S����ـ���O����.���@�

+҃��*I��sO�ב�,�m�q2��M�˃��`���|��$���
�E��R�1N)W���v2��w�k��T[*��Ϯ��<��f��W*q�)�\��P��}�B�[	|����w
+&�<1:Ȯ��"�r_��o
��#�i����FI��MI2@���w��{D�7���'i���
+胀2�ocˬ
	������	U6�ӝ�6��/��$ 
.
�
�wƏ�*
c�n0��Eo�Cs�E�i{�1�k�k��7��e�Y^�X��{�>^����)�ƾ��W����*�Nˎ��!�W�G�{��6I=����;�q���鵅�Fr�:�o�4U�I�d���3��tM�b8MW-���T�
��غN���n5� G��K�,P�eb�<zQ�3�q
+�M��2ⴍ����O��dF��M�r	�r�~��Ɓa���ץ�rg��:qS��u=:d�1�8}T�W[��Tϲ
럗q�M=�G�<���DX
ggc8�t�ݞ�fWiM0�'f(z�����c�s����H^_���vN�&�4��F�bn!
�t�sc��
�H̩�m
�ms�8
	
���$�H��Vojsto�V6M�UG�sC8�G����[/�?K����];Ch���ܖ�eƙ��Y��c�����a�
e�R��Ԋ��t���T�XjI��q���$��U�8oN�=��(7�}��C�A�Kj��;���lܴ�qZ�€�제Tb�i��)�(��Z ����$<�w��]������C��6���:7_Ɣ>���S����K�
Pk	��V�LW�
������ύ�<8XSQ#�̴5	���
��ymf~�
���<X�gI��̦	O�v���^@Bg�I�ָm�:
u��vffi���5+5�[J�,����J�x}�q=?@6^�U_���1��!)�HU
1�BB����3��xv�^8b��������3�����5��m�����m�|�'Tqh����ax
�D�O�[� '��;��񶯠Q�P76�H?��BL�
+��{�����\w0��P�H��lސ*�Bֱ�y��S������u�\�Y{:�PK���h�
��	&
�4�b�'�����\�
+�I>U(��;�V
g^����Zq�I��"o���n�ݘ�P㋾0 �%r�X-���[��v�p[:\��IJ�:��I�XÂֆ�-��}%��5A�a�Y�x��#�$s�~��
dv�wVb����[)���O��r%$�����l�L����$:3�Kz܊���hZ��W_US�����D�X��1l
�S�����X�$�S�a�#��e/��cH�j�K����Gi��KQ�S�@�8�Sef������K﯉�%w����f��P<�[�ͷ����H2n¼\P��w�`�`/��muT��
�
����-�#Ij��{��<���Ӄt�k�*�&�"aO����{��&ޢ.���S�e������Ôl���T�%G|���aVʥ A��r!K1�
�q���?Ŗ�J�(���㦁�T&��|["�#�-g�������� �p�̏~��0��
����6Ӿ��l'��urq�o����F
�;��0��(����sB�K��e�X�	)>�O�_�m�X�z��i���/A��h6� #{�J�8H��!8��g_���h
��T��'͹��O.*
;��,7�10�eQ��&C��㍞E�A[��]��k0|�f.��O�o	��g������QK�ni+�iE��
��tTn"$t�(��5B���(���x�������2�ICo�o��J�U�n)���ڏ0��k}l��C.��7��̠��ʬ/��8l�"熩w�c)���(B,�
ąx�qٍ�@�o��ʧ%�"'Z�"��sk�`������
jFDM
�|Wo'贒%�W\��2Of.��H{��؈�?҇�a3��vu�y����I�����[	
t(%
N��<�Z���±È��q&��`�$��Y�(���Õ��v�f���YWoi�Ch!O
<!	�C���4������)�:��<,��JU0��6���]��E�v
;w��:�*�

Ai_ј�Q���m��������k�	/=�
p�ZNfRj66��F	7涖>��_<4�X�~�!���qVWBL��4hǾ,��PA$
��)�R����*b��,]4��mt^��$�CD��ʢ��;�������P�	���	�����Ñ���������KB?ݢ�(�	5x!��c��+v
?h�>��)
+���0��V
���ஃ���4� _i �~�4q��H9n
�����'`ᡡ�z���(�9o���m)��͞*E�Kc
��70�s^�C��#
+@��t��L5v���V_m*
�S2�;M��Ӈ��(Z§`őg�����7��I�)�we,���Q�y����Ks$
�w�.�Q/��d�&:ySG�,�-��ǭ�DA�\��r�
G�l��;�C��g������!����������W � &f�CO���ނ����]�9����2w:{��ڊ�=t��ޑ(Ѳ���dN�h@׊
3�[����.˶?.���z2����k-
���z���vA�q8�(3h
ZZ8�
CQD���QpV��@�v��ʎ��r�z��j�P�3�Q�K�ٶ�~��YPLu
��}�
nfZ\Y
?�EBkE�L
+�ᄾ�iɱRAƇ/���9���l�"�0\�j�J�����[�,^�B��
iuamc�p�I����4y�PY���S<U��虴��G�dB��!�a{�ΤQ�9��-�/)��˭m�xh��4�IX�:=e87{�wh���B�+hEgv)�	�n��v�	Ϝ⓿!'xM<=T8�
�R� =�i��]��re��bǐֽ��d���nY �S%}�W�Y3(�ᆱ�
$�Gb��4R<2�]4�;5�qb9R%21�(8��xpjO���+�S��I�E)�I��@�
+f�Y���
}-�'�re�(��*�>
��m�:"��O��u��R���S\"�̽`�	��j9.I��xA�ɰ7�@S��:�1��֊.�.���ݙq�r���q�G3���!��t^n�3�S��o�f����9�j
� ����
�UM2�gwg���J�K�&b�ii�a�l��S"����6i?bh\R���-�>5�:��X�
�*d6�/�T�R�Z���]�5��o/��ɝ�E�f�i��� �r�u1V|��c2��ۀ�e*ψ����
ħ�����3�xvi�.a	�ӧaos�#5*�
���t� �s��E�C]ZԈ�r��%
@
;�@s��^�����P������㖙���{\�~V��+
�&�qPu��<t-���}��z��I�y�d�1>=c�o���පn�fD��H�+
i�Ns�U�Y�a式y���P_�Q�A�:��Z���l�H�qT�P>x�o?q�W��:T��7߱�W&�:�f�!�ˤ'�<o��7�K�Lé�	m���d�A�~|]�z��*H�T�{C�Y�
+���qB}��!Ga�FB$�t�Ht�:[߅�
�w
YC�9�Tgp�
-��
��^+y"m�˃#{
o,[���Eg�=b�j��
�G
(���P`��u���[����2��m�s��)��'>93�[Z��>�KE撳 �j:j#d��1���p�5��a��Wٳ��4Nx��u֗+Ą�|7�u*�Q}0>�JtƜ������s�!AL[�x��zZ��F�eHh���'�F7/��}�
'4Ch�#
��*Qܐx�3��s�2���pJ>j�瞟�{�,�����G�ȑ�VZ
��k����PTF��zk��<�d�+��X"�AIp��9M���H
��U�T,cP�L���)�X
f�����*�V-
k>b�8���9Q��.�n$���˚J
p�6��
�,\Q��8���U,��
6��k�۰��f�q�T�a�s��ҩ��[� ��h(rC�|�а
�6	�TlJ����
W��"�]�^��-HT
�ĺj5�p`a�ኲ��G��~79�n0
	KF���eR��Iq�>�b���C.x�]7��F�#�ٗ�#�p+�V7 at px�ޮ�	{f�Ԡ����J�E��]����B�+|�P�#(����N̊�򋍞���ѷ���Ш
'�?O�x\��������ٶ�0P_�C	��<��n��L?�d6����m���e���+��j:��A:�i"zGd��@X�b��)���v�[
]��o���f9���2���{?v+5do|� Yrdm,$���9#��D����7�j�c�3<�
�X�tp5�cC]a����*Ev�?�~�ަ
m��毩�1����4�6��
�x�„`P��5��/::Ǐ��iM�P����EKp��@�RD	��
%w�e��;�RK�����2W�����6�5�l
 [...]
+u��E�j�Q��x��
wyWQ�
�m�Q2��H
�3���{����m��ri��
��
�~`��/mq���r�=�FO����NŮ�7��e��3�W�%����&r(�Hb���(`JZh�c��ܣ8cµ+lS#�&G��(��(�Sh`�\%�A���Q��*-Th+ʃ�~��h�n�Z��<4<���O���� %�Ra��i!���,�,�Ļ�
�
��z2	�k�H�G�@q�+��p��Ӝ��b嶖�2�PΞ�p�ln
��t���$��=�l�?#�'�f��'21�̞��ܶ�-�i��B�$��c�Av���E��ƨ){iZ�v�k�{�8���F��<���jm5~OOޏ�xj"��z5*"�T
+��������
FM�$��.��0�0�D{JR�yL���@��0�֘�\	�D��m��E�S��[�����#��V
�4�i|r��Z3�p��ϑ֭`1S����ݿq:�|�����<�1�
WS�Ғ�2���ȁ���
�͕��-���-�x{��R�z�#[�R���N�v<

��x2��G��MWү�T,��
j���\���?]0!������ ���J"o
������\���ctw!��9�
+K�q[����1���
;����̶܇G�{��v�#\��!U8d�H��|��lsaH~�V�ß9J�qDzE��#_Z	^�������h[�P�Q�F2ڴ��K��q at G��+*s�"�A3M�8��������5���Ȗ��%�[/r\�df|�1Cf�L<�5�ݘsg
+U�Qĉ�3�,�G�/�0��'"����'y�k�5:nZe����,
+����l�rFW���WH(�4X���g�3mo� �@��@��l���va�}��&1��A�]JK��8�P������
��B�ɱ�t�
+d�k��H�����|���:m�ěj�9~q���??C
�n�K��D�
�Md�.F�ۖ
�
��KHe��^{�,9����cU�h�B����9q�(�׻bNA
Z=�ݟ?<�y
+*q)�<��-]o����r���~�U�&��HF	�k�#�j�ԃQ�:�b�3_^?i
c-1�)IErn��A�:��o���v�5N܏$:��rF�5�x�v��:�	f�3�Eʪ��W&��wP.�����
"��M��Y������)�Cx���R��7�}l�>'M.2-u�i�Om$)�	|8~�y���z��0�X��=�5B����J�R
��i�(�{��OqoP*^Թ����6#q�
��S��=1 �
�>F���e�>��4@�I�O����l��ӍTmW/�L=	<[è��f=vT�QI�")�fdM>�F�r���"�-
�@ ʸ�n��v��?dN|�b�vA�Om#>�.��o��#���r�I�
+���v$R�
ȷ���
V�m0&~�*�Lj�WZ:�! ��b��)2�R����0ҘilN��^�!G��

O˭:�1Qj�'֪MAk�`���+�qr�
3.�
M��ef�_NJ�`2���kmּD���XiCm4(�ݯP��U��b`5����=�lj�b�T�O�Tl ��?i�K���Ձ����i8�g����,/ۼ���6��J�m)�3U]���2z7
]��m5Ǻ�C�b��������	�8bp�1� ��G�8��w)lR���,
+%�k*
0�-�����!�r|�1��
?E�hk�>qx����`r��֜��=� ORW�C����`�F� ������\��16�Jd'㥐� $�D�8Y��ʊ@P����0�bq<��$�w'PUM��ν,��!�09��� ;�<���UQ&����[˴ʻir8ї��Jg��.:x�N#7{��/��t,��[K��T*�FϷ�@� J%�_�_�
�aP�
�7j�}Z�K2f��B-���ǎ�H!��q
�3W"�#���
[��s
j}�;+ 
ӵ�];��
$?L' }|cL���	�����G��a��AA��ǘb�&�O�r�+�۲D�@��2����]:�@��S1�B}��2�#�(�;����K�r���G��kb��%I���Bߛ2��TN%2����f<7��b����c���q��æ�
>.��U���y4�lQ�1�|z.W8� ��c�yQ
)�eۣ�"ېц;�G,�M �&8#J3��AK����Q��)h5>���@
+�㬭O~���R;
+�M��Ǐ[�R
�7�?Q�_�	�!�8eپФCƇ�F!s�ͺ���S�����Tb*��=-8��]�*b�?��.��*�˭���	>o�.����ݖtsd�+f&�G=����V秎$�h�����i耿/�=�B����#O<+
_�i>mʔ3]���Ĥ^>�t�{�D�q�
7�"g�D��`B̢m)�j�{���)��y�o!����� H
[J
�
�n{
=Y� �
�ݖ��1ŋfq�I��"𳔕HPȬr�p��ׇN�̮��4��kG��!�����=���X�],���;�2^

��:���2���{[���/#��E�?D
�G�2�
o�0�k�Z�i�¼<>����L��
��&�k��.�DSE�/��T4�����ݼv
~�<np6��dh���%t<�Q
W��.]�Ҝ�~�6�ՔU����dW�.GҎ�p�V_�w�Xu����c�P���$����`_<9��?�
+d���z�+v0 ��e�g��W�|>Ҩ��Uc-�rN V]�v�ǘ*���L	��'��}�͹�3xt�3��_�Ə��\n!B��WQK�gN��/}�]m�9
9A��cl�A��~/Zj[bp��ܲs9�,mƸڗ���cVf�V�0(��f�������~����j���ƙ��;W�V� �����/�'�D���"No�@l�� �W����g�:��@���W�}��;R�����<�r#G��I�"Do��H.��c�3p����)	�%�#@]d��
+C�/�E�f��g����lI��
kt�RHp�Jy�B�Q����(e{ިU8}��$�[���1�d�����/=�b��`1�[u��
���M�����q6s4=w_-EQ
�����a�/�D��n�W;����v�
s�]CT�u~eYi	�f�&I� ��,��#�
J*d>���3�f���/��� ��|�8M��
p�6��O�_��\�<���Qf��
�
m}S{��(�k�!�L���W����~J(��(��
����#u�����:�{��#�	|��t�
�J˞nI�|*�lNJU��{�G+��v>1�UJ�h.��
+x������a��]cc��l�����[
z��Ls5PK�p)_Į��0���U�~T�T5�F��Ļ
0h���\
}��B,�'^ȶ[�ƆԌ��J�����}��Pt=�h�����L�!.���	-I��Yۦ+G���X��I�2Y���3R#���;h��ǙP#*���:Q
�0K�7`� ~u�����"��:��
��
��=��Dg�-
H��i��Y@!�G�*��)���`P◬U1$r�e�~�3T��հ�XT�1�P
��8q��)��:?�
!�F	vy+�w�{�o�C��
U�+��V�R�셁V!�>%u �!
����%8�辍�v��^��ο/L���l�	��.6�j��)�6�6a�^w�#(��GW�^yo�3oD���aOؿ�ٗ�	g�|a~S2�k��
r!-�`����.6$�����z�Q�;x�(��
#�r��zx|@��ޓ��G ����Ȓ�UI�3XB��?ã~72�Ƴ���.Ӵ6[R��l���$�[������9��S^6�?�o+cPw2J�
]!SQ�d���%2T�l�pe�q\q�
�
!3��t|%1
�'
+"����
,��
���J
<�=�FI��$��8��1�6
�.g�����X�_<
wPT��a)�ލy+�l��+��S5��2,kc&#Q�����
�Z
�
=��[2覿� aG����6�UY���[K䪰Z$h���6��A�"�ܑ���������i�Y>�k
+�d�F˸�������&��
��U�
F��#��5���M�
9t�YN�5$F�rV���u��?Y�݁x�� Jo{�(X��%�<�K�Z�1du��1�Uۍ���2Aq�g0��E�l��^�����
+f�0�3!Hf�{+���K�-p��^�:s߄�͓����XpMty� ,�
+��
N�HJ����{�@��h��
+�!O��N���H��
#q��LA��?vt�2^Q~�]��
)�R—�&��?x	���2�`vU��t�vuw
�W���Ќ4k�(��)
9J�p��D�}�=`v��7O�fh
tmk9�X^ܬ���p�3�ٌR�i�� �JSE�\�\����/���*�C�8v����z�� ��VU���N6ppQ� � w��^��Zr�{#�ch�����;H�lIH����$zuu�p���y
w��"�J�Hw;Ί�[
�z\R�Z���$K͕tyJCn�
L�Ne�ݫ�G#�
����	�H�̦�/����i
�V��%�H��@�
V���D̝�2��7��?P,a�m�6Di�
�W,D�l
���G�4�/o�r� �ޱ�$�b#ķ#ǯEW
z�J��H���6�z]��׳c��\�ڏ(�0fWz؆$��Q]#Q�ݫ�k�h�{�y6�,�Nkqf�i�t�N[U
�Cn��<�h�w���\i%J��_���J{
Һ�J@�C
���c�l��T��
<�x�
-,�R�H��l�_g�X�h݇^2.�(�
+�7���6tH��їT_��W���G��m?'��s��j#a%�>�D��g��%Z���h�R��+{�1Ҿ����7�m"d��{��ھ�q�w��Hx�Q���$
�ƴ�K(g�չ�UE�lh����L+)J����cB��۰K&���̄�j�7�zl�m�ic�m�(f�<�c_���l�X����q�f\�U �+��9��-�:�-M�$����[�~�uF,
��j��Ə�SJD�zqk�S
�
�c�? ��Md
N�����RI�\5��bK��+��hf�Y?,[�X0�RŬl�O�'p�B�P��Rl�1c$N>�I����2Һ�W��|��k��W��-�	MDz8;z9���aQm��M<
��}Ou-�
д10�Xv����
+��O�6�Y8�
E
�U�}�����U�r�be�9��@��I6|��S��F7��(�$K7b�p�?���xƇ�S��6U��rM$.��ڐ�K����'�a��%ޯ3
+�$+�m���(���~�[y:u�{h�
C�f��q�K���9�����{ݭ����}�2�Y��X���Nu�d
ST2r�[�T��J�b"j?(0�U�.I�kԌ���'��}�@����YA��������b��:`s�h1	��L�����K̵�y���X�b%��JaTo
/�n�"v.��1Ų����T�<�ݎ��f�U�"ۢ�O
���Q(j�ur�P���o��f�����
+IX˙�)
+��;�{—��Y1�a�<�ЛV�:�����ܡ1O�� fޗ�����]?��@9$��XҎgm�=��z��B�ۯͺ����z��m��[��,�}���GE�.�jh�}��2�
c�Δ5�!���N�U�J	|��UY������y���_XsSW=�䠠5�$~��I[��x�r��^?,��?�~�ptR��vbaPR,�ߥ����N���"=�g�`1�\�3�;�
w�_�<���A�%���ʁ�x����"R�����Kӈr�tn6�e�:�1)�	��0�j�C	��������O�6
����3��+�X��N�J绳�<�cv�
��ܾ�����>
$-��_l����M���Fnxl]��V��<;K�Ȟ2:
� �Pf� ~^�yu{�\w�p̦����(
�
`|�����
A�
q/},�����
	��JH����Mu|n
�&�u˧cKU�&��7RS�EX�y�^�D
U
�,�N�PYS!�(�����h
�x�@z��'����; [...]
+��j�Eb^��R΅���
�o��_UF[�
�S�@R��(H�@�)��cT��ÊoK�ć<EM��N���B��%iX0���jὍa]�m7�v-U9�ۀ
+����F��0N��{02�X†���F�#�+f�'�>�?���x�/��}��fuY[�w��9#,ʹ@�D�2���زu�6
��Zʵ���9Gg4"�[��n�k�����A�r�Hl	�pesl�ސO�zD�֫<;�)-ێ��9

�m	x��*l��q�Ss�
�
�3:f���� ��Lg���~
+�k>~T�?�)������Y� 
�У�m����E�e9�3h�e5��`�­�^z�7�|"c��,^�$�0S�|)`�Z�=8�:B�Q2��Y��uR��7oD�u
�uI�M1]�n�)���e��	ʖ1���R�k�@(�8�z�t~Ņ�eP�
+endstream
+endobj
+2545 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 2544 0 R
+>> endobj
+2546 0 obj <<
+/Length1 1647
+/Length2 15172
+/Length3 0
+/Length 16027     
+/Filter /FlateDecode
+>>
+stream
+xڭ�c�$\�%\��,۶mەU]�m۶]��e۶�lt����Ν;�~����?2W��'vD�
+ɉ�T���M��v.��
L< K[Wg{[{n9z������
�/�KN.�4v���3v� 4�f 1�)������
K�w�t�����RWѤ����O�?W &�����t���P�����w�ڹ����vT.߁ sK @TQI[ZA@%��������jbci
+��4�9���N � ��vf������K�`
pv �Z�uz�
��� @'[Kg翿�� 
'c;��o�b��3�q5�'��vs�%��d����_�/����������
�oT%1��������Ζa���ߛf������/�/�_�������p�'�	`f��`c��7�_2'����lig�����Nf6 at g�4��y����Uo��`��/o���_9X�8m�`�Y��4u������~��3�03��n������_D�O�P�M������`4�eT�w�@��2����
����"�����U��m��_���RK���(��m����Ecl��k r�������ci��q5�����?9��ۚ�g�?9�+���v�gfg`����Y��h�d�b�
`nl����eW�3:�X�����������_0��v����ohg�_k��ۿ*`��Q���?l�]V��.j�@����)oo���P���{ ��9��,�L���8r����������]�,= �L
LL̀�����ϓ���3�7���T]�������2���:9�U�_��o��q�� �
@Sصe{S����L����I1��^f��P��f����:�
���]�j���P��<�m�Kg24����6�=i��B|_R�"�-�N�� F�r��s���E�

&�ýIe��w(��V'��'� R�� t�GD?��x�N� �
�g��'O���c#�C=��}x�y�0�n��yx�:���qh�r?������A3��2�_�.A�*
�v!�wVϊ;xe�����K�0��0 �WM
5����Gm)e��>�"]��zlv?�i7	�v}�֨vZ��o��A_�1��`}��w�°��SdtW�[�߸W�⛹ժ�z���".
+�N�P��I{bP�yn�a	YFT
���1��"f����3�<�#`�Z&�ɹR��M��څ
ю�0L �0�\�-�h^���[����UH2`m���_

;�xZ2�̍����#b#��
R�m�h�;��4'�4RIB�@XwpҀ��V���{Jhq9�;�(^CNr]�;*B'aڝv�.���d�,@��"@�D�9a
�P��=�b�ƾ�N�
+P��yZ��|���v
5w�h�
.g�-������
�y߿��<������vm��'EH�,�\~�&�[̩7���)����Nۧ
5��&��)�8B�X���G6�j��gk�A���U���*]�O)"�n��-��N����8�6�<�E�k]�u��=�����
+
@��2�CgHBZpU����ũCHxSw�7>x�^�u����p��UbxMX4Ɍ��}.�ǦG9"�d ���s�d_�v��
+g���[��I>�P�
+��V�j�k�`���vL�ǧQ9tM��Y�/���
<
KѩA�Ni-��?�4r�g5ghb>�h=;
���%�����>L��;Yl[�Dơ%C�O�17�C�6�uBCpDb�ֽ�E��p����̄yumCՆ���֢Kh*1���4���
�����6!{��z�Re�i�7��5\G"h�d��r+n0S�!zȼ��; �eVLmSѸ�835�`p�
'�,غ�=�H���
�2�
�c
�+���<�a�>�q��H|�b}�4�ǐ�Weq���
����,|��'T���~
+J/
+���L�
+�L��V�E��]��°=}�k+y����dI������n#�a�k/�@,�o��>;�^1����I������*�K�{���GM
���T�o�_�C�yf�ֲ��8M�3ՔTY�͘�5�F�_#�(돗��G%<^Կ=��dj�p
��}ϣ��"�A1"���>ȧ����,�WߍB�lCp�g��n*Dgo��<�c�P�kwy���0oףW��X��@Pju
VW�vRI?�
~��l�3q�«���6P���f�	
@��׈Λ'_[��)��W�\���E�c�%V��1ʓ��F)�������
�Xp"�!j^m��C1�V��겣LЈ9�22O&Y�huWst~(��e�ޤ���
ݔ���ؗR��خ���f};�m8��>��xf at q $"��K��
+;٠��-�(�>�כ��|�kg�ZL�|����k at g��Xi��T]��R�f&��6�Q<�l%��D�vOV��.ŝ��� Yq{k�Ͷꏂ�

�6�&�A��:���h�ؒ�����qo�_)��2���~�!��@ WT�Ŋ�YB����"C�\A�\Y���w���{�m4iTV�+,�ŭ������i޺�f�U��#�V,
(��#>)�7�?��{�d�8�4� ��
�����9{�f�jQ�2��������F��Sm����zv�&6�D��~]�R_�㇑u����FTa*�o2�M�����uEɋ!�%�{�MQ�
_w��s�H;�����cG�
y�9�C} �r��hO��o��"H8�dڼ��||����LNu�k[
��Bt�/G��hoN��I��]R-�)B��p�A$�h��(ߩ���0��Q^凛�p���q�:*!<�dNRp�g ���v��8�����oA�
L�w�Ě1�(�&
����mV�)~�>P���M�;"E���rh�/���
7ɋ]�
�
V$��-TFj�m+~���2YƐ!�d���xI�Y\`��!������G>��
,ߪ��
`�Az��@���&���p/Nᥒ<b�+�̙J���Wg��Cf������r(�u�g����Rە�/�[��6;|��ȭ�6J��`��†^���\���ʻ���)���ۍu�q|��� ��;�ء�Ֆ�
ω�jW����Q��E	ݷ_�Iy;W6C�_�I������\
�:��%t�&,���cMv0O&�V�*Mb`
�˓
���|�I�z+z�cm��:�x�u� Z�v�"r�'x��:��>K9�-K��h?L��
�rB�h�p���PP�=��_��#��Vu5՗�
z܈�U]��v?�� f����N��[i
P�����4�X�<x��ы���+-��)	��-ӌ1}�-�/0h?:�]!!�˥����1&Ĝ0V>~��~���Pq(7�ٙwiWI�v�
u� ���
g�R����ೳ�zZ�!c�f��Ii�f�
٣�~

����3ן�c<�;0sώB\�	ޫҏ�þ
ԟkRt@�M!_�V	R�f�YE�j��;0�e:��nƦ$�:�#�M�@�dF�Ch��v?S%�K���F��4���%�YpQ�痩�y�	��oh?39�s���:ﰎ��ް��A�t�۱�r4�dm���0	sK1�Kj
S°Jg+���
��t{�;��R��HV�=n�J{��>�F���~f�;�AV��}$S��G��0�

���5���������8��
}�x��!������Eı��hSPq�D�S�	��E��k������]#�y_L!�aϷ6�1ۦ\t�f�çAdB�P�O1�Ͳh������gr8չ;���b�vV ��F��&O���\'ͮ��V[�7��]&
An
ʐ/��bS�h�t�e/�[�$m����&���ff۝P�$*��s`2����p�=��pg\�M���M��7�F=�
U��+'
d&����u����hd�,�:�1�"��'���Ǐ32<
��6J&�<��˃�%��iRi��Ȁ���XTa�AT4�ȻJu�*�O)�b�����^�
>����aU��v��a|7D��'�Gی>g~:���O��-�D��4����\5�5��(

-���bP c����Ċ
��g��nQ
�A���Ϟ�
�u{��)��3�SC��bX�W���Nt��o&��դ�BVD �J��H:�~BJ}%�� ��$���꺄Y!�/����n��ο�tkN�C�`Y�xSÂR�Re�s]�� Qi���0�����b�4*d��j��K�.'��\m"S�ch�bYp�����)��!�'���ޅgwS��4��{��HY  �>Ѭ�N�'�
+�8ӊ}���dž�ʑ���;����<Cw�����/�����`(�x�'�R�M��/N1\C�c��^I�e��_�
cں.�‹�`�“�C�5����$9Y��{ZH	�u �`��~fF�?��z��CЏ�����ø`�E�8#'D��~9��o����
T��i�S�b�9¾���sو>Y9��¯�΁>:;e7Gq (��l�7�A]F�����7�,��2b�<�C�}]�[m�mW��S��DϠup,���Q�i��qjg�����X%�l5���6�wr�� �	�U<�m�4� c�U�͈
��B��
⴪�46�)�k�� ]���[��i�ЄY%�
2��
��Ke퉋u�N,`�Ӯ�[��G^�q��M;���� �fZp���a,�h��
!�L�K�X�����k�
gK���9��́S�t�tҾt�wl������n�b�����j��6�qod�LV�^�������������Ac#Ϊ�
������0Z�� ��9�� ��E_n����r� [...]
j�ݚ���oŞ˘c�`����ieD�{�w*�@�x$�<�]�~���T�B��}J>�c֙��,I���`�#j�n��t����}�:�����v4RX���yQ<��t'|ҝ~�ܾ��ja����-�]
sf2ۭ[7j�.f��	
�wDI�)��s��Oڀy[�Z���2��	�6��
J���+�7���T`�&��p�W��S�W���H���
.֞:<��0��~
�2�P��b�҉Ҏ�r��}C��
W��w1�W��Kvz�x�9�.��(�%�e	�v��؍���q1uF�2JG�cQ���
2_�R�1�g�)O1-�
�5iVbk�|<Y,��[��"+}�3q��4����_9
]V�c��y�[�
�f�2*~Q�!9�ӻNI��
w6���
q�JI
�'�.z��8fZ���/�A�+�fz
+*����57�T��]Ɲ>2q���i�e�[�~���B��/����(���s��
}���E����O
+
�.(F@Ĵ�F�-�����n��N�
��2,L%�;�9$�aҐ�u�x^��J�����%(�Q�	*�rE�uQ\\�vt)��A�W�n϶ȑTڤ��b��
>�G��l�kv���YX�ajh�F#���mjӵ*� �f�5���CH�
+=4X�\�u+�������"��5Ow,n�aD�AN�,�s���'HNR�퍧Uk��n\t>����2ȕ-�"%�v��=��/��Xp����K'֧��W��m
�]nk�a,�]�
���B܈�n�y�{&PԷZfǬ�c�̆%��M���pR� �*7��aͰ���T�'��ۢ^�NH���
�eDmr����7H�ld�q=JxG�	r��y~B�����>5�����ݓr4�0�n���
G���GV޾zƶ9Y� �-�g�O������~ݒ�e"�N�@	^��ަv��*�괕0�%N��uC��+�����
s�����
���/�
�K���F��'s {�xN%@}2ۄ5�i��7���� ����ʞ�
7��c����>��F��-�qF�C�sE�r�N����l���SV�E!H�h"B��f�L}j]v�߀�7%�!���
��b�>���ps��"ɏ�٤R[�O��)?F%�ua'+X]���e@̞
+�I������^D8p��
2�zG�_��xSFf�k�/�vpL��^�)�׏�|tNf��@k�y�p��H{�Ǯp	2˕i����� p��aZ")��>V���n*&'Bb����NMH(��N�)����LvI�#��C�3�J��ݚwu�j���`�����H/���vG4
+�]���ˀﵶ$�����X�^��N�?[@'�Ԉ^O�7ɀ��,8��`����ݓ�5xޠ�?��Q���B
��Bz
<�h餶�
+"�a� 
R��iƜ@C�
��Η��V���@����kLC*�3&�zd�_�;���@��}<b-�?u��1�j���K�!��,�$�Ŧ�K?��K�"��ZJmE�@�6�v���E�
�}���b�DH:E���r��Y,MV��u��\V
�k�"1R�sXgg��g(�z'�*��0�����	���Պ��<�-͝�Mq��j8��Y��h��K�
Ss4
+�g��_.�13���?����y��$��?�'�9�z.h�	�q�L����!`����+����s�SU	�2�߇97�|�.{fm�ñXSK�-�B���&��nMw�M}�!��6A��X� 5�� o�^x�d#�s����*��aG��"b4;��j_�{�v��>�-�������s�,�(�2�U�������A�q��h�?1/n�6)U.�+�%�"�r�B0���D��3��k�m�m
o
��Ӡ�������vP��<�;k��"��|-��>l4<5��
�XY���U=�xG���mڒ�y�Ŏ�gca
+|�g������
������N|�Ep;��<輏44���.
�=Evv㐭���
T��۩��$*I˺0�
+
+э�'��P��-�8�;ރ�Q�|�vZp�0���K
(,<i�9RL�~J��gấE ��}���
�)�>i���
J�΂O\I
�x����p��g�+q��Ǐ��=�?�M��5��g����
�9Ў�U��M��V���
^��#�RX'��\d����\�]q{�j�w�fšl�+~{l�%�l�-Bxjs|p?�yr�ԙ���s��j�O���;G�
��wb.p�}�IG��V��Y%�-}�|Q��O�Á�o��54���s�F)�l	�@
4R��k$0���l�hx�5��cg �X�J%݋���EB��c��/
+��X�
u7!��a
+M��L����n�3�^��qzwZ�.)A�%�LS6^�����ͨ@�@l���<��ڌk�F~��2�A�ѭ�Э�4ӛ�/��޻��
+��x9���H� kO�=�ڴ��0�+��R^j����n����3����$�������^$y{X�/�
z��ЃПKN��G�D��ƴ��
��B|7����$��C��[hQT�5�͹�Ή_mu�+_MD՝�Vh���
+K��W���,�"��V-99���{���c�WQ��#�,P�վk5�*�|
ʄB�B��U琳���DQҮG؝l����hܻ�/O�j��
#��3
�
/�8
�c��"���}�A��?V"�=�ЧC�e��*��?sև
�/�7�F��,�<��eɟڑ`4�uuv�S��l'Q9�G!�́0f��sZwL*
+�1�Dx�ݑ�d�tx�̚��+���%�9�{�:Դ�
H{�ƣL&�<+�Q��4��
�[�[��&vp�c��pf�f"�&��w
J�N��6��)m����h��3��e<��/ʡ8?Nn�-4 PU�;^T����N,F�Ƿ�����'S�����Y�-��O5)����؆�@�����涥��{�D�g��Xٲ
1�>I��S^���f)�C8�Bb�/s�K��20	�R��#�0���Q�~�0�`��1�@(P=�����\��I��,����m9d��tz�@�����w�ܷ��L.N}=~����qv���:�iYC&�2�{�"��mI
,~��;Ge���V�/79ύy#�]�+o|PN굗��<�Z_x!p1��Q��ic��x}q�zj��RZ�f�.��҉ߧ�r�UP�R
J�W{_��i���Go�
d�9�e���ȋ���0��R�
��QݯiU�*��m��&?��<`��VK�Ԃ@�@}F��
�����|G"�"=���Ca�vbʡ��	��Gf�{��~d�x)	��Z-��c
�vs%ie�� �k��K6`����rst���\�޼W-;φ���p*��nKL�+O1��;��l6C���C[��-(�a{[߄5�(�����)�3�HD�vV��,D��W�g�'׷�'a�]��9
�5�h�D�9�b�3���iϲΌ
�z0�X]�����5aj��
ؐ�_<g$	�K/B��B�}P
+ib�S��d�-��U��3�0�
OCwR�-n
+���&
��
�G�2~6�?[�]]�
:����17#1#m�
{/�+�Z���>!8�*jW��^Q���k�ET�X����uRk�α��H��V꒟�'&�Y�+d�U�Z���oY��wȎ\/��/0���
�7��*B'�N�P��ވ��)�(W��
$="� ���!��#���=ɦ���m�y�0�C�2|
`�z+/�t'�6�Q�X���ҹ�ˋU��m�	��r3u�p��(^���U�*�,_m%
A���F�
h��E����Y���[��垹��sJ�Ȱ?rREN
,�
+��x���g��7�Y�C=(�tI��3+��I
�k����eG�zn%��SesG+��z���r�»�?�\��2�U�t���i(���ڮ9�(��,1�R��?��#O��S�ܹ�	定���?�f$��4���\h�:,�)n�R�fZ1-o�Ƃچ/42������dN"'G/�'�â]��?/����Z������@U):~��`�{��E���\�
�PxvH5�� �ie(4^�6ĬW�+��#�"�
l��i�}�|��	a͎���1U��!	{)jtgn�*a�[�ĵ	u������-���ɖ��I����ӷ�,/D�DC�T��Gm"�6�
~�CC��ʀ@e�9v1o�x~Hi��L�>^��,嘭����
��i�g2݃���r�9�'�#=w7Qv�2t�
����oeH�
irV�
+;Y�څ��kj�%��2 ���2q�N��J��2�k�; B��`!��4���^؊k�0C��׾V�F$��jɁ

+_�
u
�=5R��n����Yꇹ�6!���@���g����4Y���)1|�%�Vb�K&Va���4��ʬi��WMM�c+���
)��B�x

�����W�G��D�G	#��~j��U�LǙ�ۊ�3J���8�H�W]&0��=!W�S����5G����l��MW!^K h��sBxj{��p�N�P(�؇w9|�T �G
�`tN���}p�IO�Ll�����G���*���
)���ز&�II|�������͵
ĥ�W9�d����OaO���#h:�30b'v}����&�Ȟp�	ˤ���Ŵ-�P���NB�ޙ��~�GP�g�a��$��!F٢�A�\�&u�
+�����ҴC1
�	��>�Y��	�l���X�҂s�ݠށ�FgƐ�;��u��d��K��K���-�y��h�}J�Z+��Cպ��Qi	��S!� �X��j'�^�ġ�WŒ�G�
A"X�����7Rz�	&�cL��jO��ہҚDם!p
���Eӵ��
+�9o���u�%�o�܅V�l
W�������:=�'�)�����S�Ϻ
0�����w�
oe��$�K=�6< <k~n�
k��x��w�%^�}PQB�L!�T q:6�m5�h�H�j�A�ˤ{p�xU-���k��-"ن
JC�W�
�J[=�
+��k��#�qE]�@K��

���v���L�7<Y��#����Cr�i����9$�d˶�/��J�U�-f�Kڍ!l�3$���/�}����Ԑ�Դ�±S}�EFӿ��Q�� ��6�vA�J�ы���.��0�y
�H��]�eRGtٷ�0��Q^�᝿��������0";s
!5�c
+'�|����N���4�x���0ʟ�t(�����P��ӧy���tNP_I�Z�(�/�W�Ԯi�`~	
�W�JQ��	?c�7ڀ�"�?�f�Q�HB
���_
?.M˰󀒆z*%�.i��o�_�8�7�r�,c��B��i2��z%]0�ʱ����9�i~2�_OzSHQ�X`,E�����T�
�Pn��U�?�3Ч1
+�Z�
��B��UĈ�E���U�):�;We��{�.��vRO�Pю���|;�#�υ|��9s3�W�cK� ����j��s������0J#"���Yȥ�A@
C�"�cݯ-��޳R�~'�IE�;$���1�!��ؑw��
��#�^$`Ŭ@Z1/�
���
����d$|;��U�ƽ+��My� � ����<27R��3{%xdc��w��K/4�H�#rC
��ok����*�9D�=bJ��T�a3|~D%�>)�ц�w�����l.i�����[�~A��=���8*'���(U��,�iT(T��b��m���!��k>�H��
kAMV����,�FjL
Wk�<��
QTl��Я�f�����$�-��D�!Uҙ)I��C���$���P����o�A�p����i�BM���u�q,tN
���&
�������p��Y�ٺ��C����6d�`Ntn��$��f���>O��m�
��1��-�շt�hO.	�
�k��'��
�����
�C9%=��:W/

l���@:��оFءH��y���??�C���ɒ!�y�PV�]:���!`�6gԀ����?Q��+5�qT�'$��N���Ӡ�,����$�9ZøSYi�(�~���n�<L;p.1׈��'��5ɔ<�e��8�W�:
�
��p
�rB
�S��T#��I:'�;<ǥ 7i��ɬޏ�m�9�E�f^��#
��_��&
�qx�coWP���⨑�F�^(�e�W˻t(�
n�=�C�|G����r*�0�A���#���
\}=#�-��f���~Sj;䗘QF���/"�.��
�	�VP��!������ 	�W��Ok(�˗��4-��o��6�iS�oY���>��zX�? �{���\v@�EE��TS���:��zW
+�{��BX�"		鄁j�kB^����� �l��Ѡ�9�v��S
�3+t_:�^��UL���y�O�h9�ح�b0��gz-ٶ��}�̾���7G���F��DAL�O�U��&]�����ե�_��.�#g�T0�-"6���rK]�d�J�jt�i�6G���a�����ʲ`s��
Y�U���DҊM�u�G��e�Uw���Z�{�

�Z)F�*
Q��J{�)�����0N�
;H#y|�s�'>��B~U�P���`��4�y
o�2��C^��i��
�S��Vb�t�s�iv.�z�>z|

�H+��We:�t��d��d�1���6����^`;~�}���}q��_N����3�⹞�-�?��`>���%�1*tU��J<d2���Ḳp���w�i�~R
�V^C��[�D�nDnZ����}&�Nhԫ+�\"%d!�289�
������!�,�y%7���`O��͞�
�=�
+�C���&-v��2p$�����*�o4d�ܚ�u�Hp^_�
+��<�֭�D�1�8�n�)g&�۴
x�Xpݳ�w�
:����v��
�d<��q]6��'�+��F��X<l{nN��:,rڻ�9��
�`���u��Y
������Ƶ@�h�bOs���*u�Ys|ɗ
+(
�'����0�*�-Ё�郎1.'��
=�;��D+�����cN�H[��B����49�ʔ��wޓ�����2�e���#��j����-L
���z2 ���[k�9
+YJ`ꔌ�Nj���ע���3�s
�k���:�;}%��n�2
�OY���,��Օzʼn�u�O����5�%&jF+�Zfa��N��X'L̈���qY�D:u����tQ�����Mv��a��G���[��f0���4E�3~�TΘ�Ď�n{���Y�
�Ω?eZ
rN?d[޿���p�(�Ҁsl��y�ݴt��y�>��n-x0D����U���{JO@"2�'�ǡ��;0=��:X� ӓ{I�#�eƒ��'���$G �Q��^
+��KY�mn�o�М2�5 `��6��	���v�'�,��V/�)4C~ҩ$�//���-E�g��A迷j�֦��
�<�w�M���aBug��|u�<
�G�`��ɳdƘW����Qp�Y�G���ʵ��{��'�����Os�Y�P�^�j�.ôOv��gO_K�c@�'�oV��b8����m���_�kga���^1�]k�"W_K�v�xER at iުG����02=��e���~
�rKj-�=4Pb����Mş�Iw�Z��G�;���/�ʁ,)��3U�
3�1� WM����f��}��
d60D��w��!�s�B������XuK�UL�J��G^J��
(0�J�Uk�"OrF�{���#&4K��M�K�J��(7%�`�M=0ĠL
+�!��t-�>�h
�wN���
���S.�	A�gD˷�~V��T�������#�$A@��
+�ǮU�z��P�b#
��\�G���̊|wzE��P7x�b8ZFu�h�`����5|f�|�h`��L�OK����|��@���D�z�%���W���0���<l7�����W�Df at R��E�-
<��i�-��6$���)'ٗ��M}��6�7S
��]���wB�[>��G�ʲ�mQ!a�����;g���H������<
+�2ͫIǒ˛=d4"LQ��G<M`J�yDɳ:�^���US#^]���t�
�d�@�Bw�sp�8<À��V~�Tc
o��u����G��0Lc
+����'m�_��
��5
���*��5�S�6
�3�EF5i��5��p/@
+���nVR�a�ׄ���H$�KSUm�g�ى�IP
�]堏��h`^�7+�(VZ��Q/ �q
�(�����.Bcԡ�e4���l�T	6lZȥ��2=ڒNN��
��lR�
�\�J�.lD��C�3���/�Y��6(Jgۛ{?)�-��AsY·]�y���*"�t:�s� 8%��fk���x!�R�*
+�	R���؏T���O�M���/!K���*:�2a��
�[�(�s���p�˙h;�D_�s-��
+۔ZU�fO�}��z�	UA:&�z FV��:����!}�d�y��
�Y�V�0�с�)��yf#�
)���_
	\�a�aB
dzCCC
�G�p)B�~D�l�
������A���!T��_�յ�����d�`�^�������("V$�%�rX����+��?�(R�
�Z)��V��hrbG�]1��Bݡ��$�/��1�AI
14N�6�¤�>�[�?4���Dq�\�J)
�2E�u
�'�䜊kv�ʘgA��NojqY+�81��-B�>!� +sR_W�ܩ�w�	�RQ������@:QHZ�
�)���5�ng�v�7�n�G{�'B��u^}�[ESx�|�Τ�1�1mI��n��"3�z�R�X�b�+�"�o7�+ݕ�q�>� ���:Y���A=���������Y��
��~���D���[��.�Ҹwu��mA�š�ܗ�C�Q���!�3�Ѫ�
J�2.V�%��H���)@Y�К_��(�_\.Ե2��l5�ـ+L��|�
+�\%�{,�2

W$0d�"x�
F��`���
]�����u��Rk�
<�~��Vw�5ee޾W�E�e#Gr�S�H(&����`~�
"�Fv��f	I¶�P �'����O����o:��_��Q:Ӽ
�Q��1$�+Q���>�S����ʪHMa�8��y��m*t�S�so��m���f��
%�b��'UM������
+���
�n�+
����݆fD�-ihI�#�x�v�
�� ��0�^y�W:x��F�,����w
m���RN���j����p��w]A���%���ls���Ӻ�
!�QmX��V�~�&B�����k��_�e�=֠H���|�3/c`=��Ԇ
������[��"��t�o�ٞ��.�X�+0 ^ɵ;��k�?n�
�/�A��k��H,XO�B��/�T
+�A���ɣVbU��R4I
�
+5�ml��M{�+G����J�l��;�ʞS��R��p�[=� ��O\s}
�~�ݩ�d!U^���N&�{��Q~d/�9q�3G�
u�N^,4�M| ע��lŦ%Q<9�ӳ{o!'����BR���a��D]�4x<m2Ͷ�=�Fi�n��to0]
�y\!�`6<Fݴi��ø�߫Y�0ڄ�����)��05�(-�@��A��k^z�U���+��
+h��*D8�4)
���
F0�
�|w
��2� OG��bg}���v����,�0k0�dZ	%^�p��=�W�M�[��s"RA(��
��n[Y�
�ǖ�
��W,u����Mɟ�:W�8��d���ڊ��f�9�}�GP_��L�=�Ȍ<r<�F)*��rYʲx�T�Z�a[N�7���B?BCɚ+����"�hVݴ\�7O�4-��g�x���.��_�P%F�Cs����J�lr���`,g$��ӑ�Щ��(�����'i�|
پE�+���,׀
�2�[O���G�r��
��x����nRq�GJ�
a�pV��|)��@5�*-�(�2���`o�
r~�P2����<녫�d�&�O$�N(̏m\�<'ߝP��I�,[�W�0�z�@+�l�;�+��@�m�P�q��+%�K
��ŭ��rա����9i�;�|y&��w�wd�
�>p�ɧ�7((Y��\{l���~�Zƫ���>�pꅅ�"f��Jm�-Ε\@&gG�Nn��&8*�	2
Nen� ���q�P�E,y V������w�$�v�L�X.�
mm�
a!��<a�1C��si~�^d�3���E�z�N鑭uv1�����8��$5t��#���J+�"�6�R��͒Ac���S���(�#�3�L�b�lm �¸W)�eP(Dc_�=��
x�ƥ�m��(c�͇�9.�E["���O�iy'��
wwSڨ	{�ν�P��<��
D-�
�"_�69�l�b�)��xGF���^�
��}�&�
�[��D��[^1�
��ϖC�W��h�G��y�O�I�1�0�(���+
(7��-Bt?vD��tM'_2D���e
�F�, at C	z5��Xu�
�y	J{wD=��<�Bj��B��-q��
+=�1�'�|/V`���e�<F
=��m&��0�}�U�
e�D�7F��w�ѥ<��qt��{��ں�Rmc��D'�*D�v(w�2,V�b���Xd�0���p/�
r�
?X���;�M�t�� Z���l�T]�}����2��e��kՋ�|,�k��Y�v.�v�*
�$�j>죒���<  �K�]�5_����D�6�U�����dD�Ǖ�eɚU
+dxv��+rƛM��je
��X�6��"+�7{�
���\�6��`'d�~{f����qqd��|"m��B��E����������$��pQOS���8O�I���jel.���6*܈ҁ׈l�]]C�q8�����6��;�1��Y
���OTK���D)yQ]ҥ��-5?�+2�h#���w+
�"sԽ�	���K���v3 5��k��ƯbV.[|YF��$Dʕ�XU��圶*�E��m�=���$*
�g�U�`��C���,��71�p=6�U�C��	��1���}
"9�cMӯ�k�{�+h�F
sV����"5�R��H��5
I�Ue�
�W�G�I��Z�E��x��R_8�,}��/��g�뽺� ?��H#����'�jJ�jA
�s��_����-	�LR?����|�[�p4��(7
Y���L#j���)|��ca�6p�Ln��˿���].[�p[�9���ޜ��G��j��ķZ���O=���p	���~n�.�"�I^T��V-��k|Wh̓����5�OA�5H��,=r��
W�Z=��rF�
+Ϡ�� �n
t}���C-q�R�Kf��f� �
q
+endstream
+endobj
+2547 0 obj <<
+/Type /FontDescriptor
+/FontName /CLJUIE+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/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 2546 0 R
+>> endobj
+2490 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
+963 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /LBWBDW+CMEX10
+/FontDescriptor 2503 0 R
+/FirstChar 80
+/LastChar 80
+/Widths 2486 0 R
+>> endobj
+291 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OTQMQX+CMMI10
+/FontDescriptor 2505 0 R
+/FirstChar 46
+/LastChar 120
+/Widths 2495 0 R
+>> endobj
+828 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZGGNQH+CMMI12
+/FontDescriptor 2507 0 R
+/FirstChar 60
+/LastChar 62
+/Widths 2489 0 R
+>> endobj
+1408 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OMWOOP+CMMI6
+/FontDescriptor 2509 0 R
+/FirstChar 100
+/LastChar 117
+/Widths 2481 0 R
+>> endobj
+964 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /NNLWPH+CMMI7
+/FontDescriptor 2511 0 R
+/FirstChar 100
+/LastChar 117
+/Widths 2485 0 R
+>> endobj
+1864 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /DGLWIM+CMMI9
+/FontDescriptor 2513 0 R
+/FirstChar 46
+/LastChar 120
+/Widths 2479 0 R
+>> endobj
+300 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CZIMXX+CMR10
+/FontDescriptor 2515 0 R
+/FirstChar 40
+/LastChar 118
+/Widths 2493 0 R
+>> endobj
+1862 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UVIORO+CMR6
+/FontDescriptor 2517 0 R
+/FirstChar 97
+/LastChar 120
+/Widths 2480 0 R
+>> endobj
+966 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /VWYYIV+CMR7
+/FontDescriptor 2519 0 R
+/FirstChar 48
+/LastChar 120
+/Widths 2483 0 R
+>> endobj
+939 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /EBURFX+CMR9
+/FontDescriptor 2521 0 R
+/FirstChar 40
+/LastChar 118
+/Widths 2487 0 R
+>> endobj
+216 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UUCYST+CMSY10
+/FontDescriptor 2523 0 R
+/FirstChar 0
+/LastChar 54
+/Widths 2500 0 R
+>> endobj
+218 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ATFWDW+CMSY6
+/FontDescriptor 2525 0 R
+/FirstChar 3
+/LastChar 122
+/Widths 2498 0 R
+>> endobj
+965 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /ZQLTBN+CMSY7
+/FontDescriptor 2527 0 R
+/FirstChar 0
+/LastChar 48
+/Widths 2484 0 R
+>> endobj
+217 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JRVZXP+CMSY8
+/FontDescriptor 2529 0 R
+/FirstChar 120
+/LastChar 122
+/Widths 2499 0 R
+>> endobj
+1406 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /GCEPBM+CMSY9
+/FontDescriptor 2531 0 R
+/FirstChar 3
+/LastChar 50
+/Widths 2482 0 R
+>> endobj
+938 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YGAXLK+CMTT9
+/FontDescriptor 2533 0 R
+/FirstChar 49
+/LastChar 109
+/Widths 2488 0 R
+>> endobj
+2144 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OAKMXN+MSBM10
+/FontDescriptor 2535 0 R
+/FirstChar 81
+/LastChar 81
+/Widths 2477 0 R
+>> endobj
+1948 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /OAKMXN+MSBM10
+/FontDescriptor 2535 0 R
+/FirstChar 81
+/LastChar 81
+/Widths 2478 0 R
+>> endobj
+249 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /FAEEXD+NimbusMonL-Regu
+/FontDescriptor 2537 0 R
+/FirstChar 34
+/LastChar 121
+/Widths 2496 0 R
+/Encoding 2490 0 R
+>> endobj
+370 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /JOTYEC+NimbusMonL-ReguObli
+/FontDescriptor 2539 0 R
+/FirstChar 39
+/LastChar 121
+/Widths 2492 0 R
+/Encoding 2490 0 R
+>> endobj
+247 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /KMUOGT+NimbusRomNo9L-Medi
+/FontDescriptor 2541 0 R
+/FirstChar 2
+/LastChar 150
+/Widths 2497 0 R
+/Encoding 2490 0 R
+>> endobj
+703 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /UMYVEH+NimbusRomNo9L-MediItal
+/FontDescriptor 2543 0 R
+/FirstChar 2
+/LastChar 121
+/Widths 2491 0 R
+/Encoding 2490 0 R
+>> endobj
+215 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /YKOZLO+NimbusRomNo9L-Regu
+/FontDescriptor 2545 0 R
+/FirstChar 2
+/LastChar 169
+/Widths 2501 0 R
+/Encoding 2490 0 R
+>> endobj
+298 0 obj <<
+/Type /Font
+/Subtype /Type1
+/BaseFont /CLJUIE+NimbusRomNo9L-ReguItal
+/FontDescriptor 2547 0 R
+/FirstChar 2
+/LastChar 122
+/Widths 2494 0 R
+/Encoding 2490 0 R
+>> endobj
+219 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2548 0 R
+/Kids [210 0 R 244 0 R 289 0 R 294 0 R 304 0 R 311 0 R]
+>> endobj
+325 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2548 0 R
+/Kids [319 0 R 328 0 R 335 0 R 341 0 R 347 0 R 355 0 R]
+>> endobj
+371 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2548 0 R
+/Kids [363 0 R 377 0 R 383 0 R 388 0 R 393 0 R 398 0 R]
+>> endobj
+409 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2548 0 R
+/Kids [405 0 R 436 0 R 479 0 R 541 0 R 586 0 R 612 0 R]
+>> endobj
+661 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2548 0 R
+/Kids [649 0 R 695 0 R 718 0 R 741 0 R 765 0 R 803 0 R]
+>> endobj
+835 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2548 0 R
+/Kids [824 0 R 858 0 R 879 0 R 900 0 R 926 0 R 954 0 R]
+>> endobj
+998 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2549 0 R
+/Kids [986 0 R 1009 0 R 1039 0 R 1059 0 R 1086 0 R 1104 0 R]
+>> endobj
+1130 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2549 0 R
+/Kids [1120 0 R 1144 0 R 1185 0 R 1219 0 R 1258 0 R 1290 0 R]
+>> endobj
+1327 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2549 0 R
+/Kids [1315 0 R 1352 0 R 1399 0 R 1431 0 R 1444 0 R 1454 0 R]
+>> endobj
+1474 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2549 0 R
+/Kids [1466 0 R 1484 0 R 1504 0 R 1523 0 R 1556 0 R 1586 0 R]
+>> endobj
+1631 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2549 0 R
+/Kids [1616 0 R 1643 0 R 1685 0 R 1741 0 R 1802 0 R 1859 0 R]
+>> endobj
+1920 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2549 0 R
+/Kids [1913 0 R 1945 0 R 1962 0 R 1973 0 R 1985 0 R 2001 0 R]
+>> endobj
+2022 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2550 0 R
+/Kids [2014 0 R 2030 0 R 2043 0 R 2055 0 R 2071 0 R 2084 0 R]
+>> endobj
+2107 0 obj <<
+/Type /Pages
+/Count 6
+/Parent 2550 0 R
+/Kids [2100 0 R 2116 0 R 2128 0 R 2139 0 R 2154 0 R 2166 0 R]
+>> endobj
+2228 0 obj <<
+/Type /Pages
+/Count 5
+/Parent 2550 0 R
+/Kids [2224 0 R 2297 0 R 2398 0 R 2469 0 R 2474 0 R]
+>> endobj
+2548 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 2551 0 R
+/Kids [219 0 R 325 0 R 371 0 R 409 0 R 661 0 R 835 0 R]
+>> endobj
+2549 0 obj <<
+/Type /Pages
+/Count 36
+/Parent 2551 0 R
+/Kids [998 0 R 1130 0 R 1327 0 R 1474 0 R 1631 0 R 1920 0 R]
+>> endobj
+2550 0 obj <<
+/Type /Pages
+/Count 17
+/Parent 2551 0 R
+/Kids [2022 0 R 2107 0 R 2228 0 R]
+>> endobj
+2551 0 obj <<
+/Type /Pages
+/Count 89
+/Kids [2548 0 R 2549 0 R 2550 0 R]
+>> endobj
+2552 0 obj <<
+/Type /Outlines
+/First 7 0 R
+/Last 67 0 R
+/Count 10
+>> endobj
+207 0 obj <<
+/Title 208 0 R
+/A 205 0 R
+/Parent 67 0 R
+/Prev 203 0 R
+>> endobj
+203 0 obj <<
+/Title 204 0 R
+/A 201 0 R
+/Parent 67 0 R
+/Prev 199 0 R
+/Next 207 0 R
+>> endobj
+199 0 obj <<
+/Title 200 0 R
+/A 197 0 R
+/Parent 67 0 R
+/Prev 195 0 R
+/Next 203 0 R
+>> endobj
+195 0 obj <<
+/Title 196 0 R
+/A 193 0 R
+/Parent 67 0 R
+/Prev 191 0 R
+/Next 199 0 R
+>> endobj
+191 0 obj <<
+/Title 192 0 R
+/A 189 0 R
+/Parent 67 0 R
+/Prev 187 0 R
+/Next 195 0 R
+>> endobj
+187 0 obj <<
+/Title 188 0 R
+/A 185 0 R
+/Parent 67 0 R
+/Prev 183 0 R
+/Next 191 0 R
+>> endobj
+183 0 obj <<
+/Title 184 0 R
+/A 181 0 R
+/Parent 67 0 R
+/Prev 179 0 R
+/Next 187 0 R
+>> endobj
+179 0 obj <<
+/Title 180 0 R
+/A 177 0 R
+/Parent 67 0 R
+/Prev 175 0 R
+/Next 183 0 R
+>> endobj
+175 0 obj <<
+/Title 176 0 R
+/A 173 0 R
+/Parent 67 0 R
+/Prev 171 0 R
+/Next 179 0 R
+>> endobj
+171 0 obj <<
+/Title 172 0 R
+/A 169 0 R
+/Parent 67 0 R
+/Prev 167 0 R
+/Next 175 0 R
+>> endobj
+167 0 obj <<
+/Title 168 0 R
+/A 165 0 R
+/Parent 67 0 R
+/Prev 163 0 R
+/Next 171 0 R
+>> endobj
+163 0 obj <<
+/Title 164 0 R
+/A 161 0 R
+/Parent 67 0 R
+/Prev 159 0 R
+/Next 167 0 R
+>> endobj
+159 0 obj <<
+/Title 160 0 R
+/A 157 0 R
+/Parent 67 0 R
+/Prev 155 0 R
+/Next 163 0 R
+>> endobj
+155 0 obj <<
+/Title 156 0 R
+/A 153 0 R
+/Parent 67 0 R
+/Prev 151 0 R
+/Next 159 0 R
+>> endobj
+151 0 obj <<
+/Title 152 0 R
+/A 149 0 R
+/Parent 67 0 R
+/Prev 147 0 R
+/Next 155 0 R
+>> endobj
+147 0 obj <<
+/Title 148 0 R
+/A 145 0 R
+/Parent 67 0 R
+/Prev 143 0 R
+/Next 151 0 R
+>> endobj
+143 0 obj <<
+/Title 144 0 R
+/A 141 0 R
+/Parent 67 0 R
+/Prev 139 0 R
+/Next 147 0 R
+>> endobj
+139 0 obj <<
+/Title 140 0 R
+/A 137 0 R
+/Parent 67 0 R
+/Prev 135 0 R
+/Next 143 0 R
+>> endobj
+135 0 obj <<
+/Title 136 0 R
+/A 133 0 R
+/Parent 67 0 R
+/Prev 131 0 R
+/Next 139 0 R
+>> endobj
+131 0 obj <<
+/Title 132 0 R
+/A 129 0 R
+/Parent 67 0 R
+/Prev 127 0 R
+/Next 135 0 R
+>> endobj
+127 0 obj <<
+/Title 128 0 R
+/A 125 0 R
+/Parent 67 0 R
+/Prev 123 0 R
+/Next 131 0 R
+>> endobj
+123 0 obj <<
+/Title 124 0 R
+/A 121 0 R
+/Parent 67 0 R
+/Prev 119 0 R
+/Next 127 0 R
+>> endobj
+119 0 obj <<
+/Title 120 0 R
+/A 117 0 R
+/Parent 67 0 R
+/Prev 115 0 R
+/Next 123 0 R
+>> endobj
+115 0 obj <<
+/Title 116 0 R
+/A 113 0 R
+/Parent 67 0 R
+/Prev 111 0 R
+/Next 119 0 R
+>> endobj
+111 0 obj <<
+/Title 112 0 R
+/A 109 0 R
+/Parent 67 0 R
+/Prev 107 0 R
+/Next 115 0 R
+>> endobj
+107 0 obj <<
+/Title 108 0 R
+/A 105 0 R
+/Parent 67 0 R
+/Prev 103 0 R
+/Next 111 0 R
+>> endobj
+103 0 obj <<
+/Title 104 0 R
+/A 101 0 R
+/Parent 67 0 R
+/Prev 99 0 R
+/Next 107 0 R
+>> endobj
+99 0 obj <<
+/Title 100 0 R
+/A 97 0 R
+/Parent 67 0 R
+/Prev 95 0 R
+/Next 103 0 R
+>> endobj
+95 0 obj <<
+/Title 96 0 R
+/A 93 0 R
+/Parent 67 0 R
+/Prev 91 0 R
+/Next 99 0 R
+>> endobj
+91 0 obj <<
+/Title 92 0 R
+/A 89 0 R
+/Parent 67 0 R
+/Prev 87 0 R
+/Next 95 0 R
+>> endobj
+87 0 obj <<
+/Title 88 0 R
+/A 85 0 R
+/Parent 67 0 R
+/Prev 83 0 R
+/Next 91 0 R
+>> endobj
+83 0 obj <<
+/Title 84 0 R
+/A 81 0 R
+/Parent 67 0 R
+/Prev 79 0 R
+/Next 87 0 R
+>> endobj
+79 0 obj <<
+/Title 80 0 R
+/A 77 0 R
+/Parent 67 0 R
+/Prev 75 0 R
+/Next 83 0 R
+>> endobj
+75 0 obj <<
+/Title 76 0 R
+/A 73 0 R
+/Parent 67 0 R
+/Prev 71 0 R
+/Next 79 0 R
+>> endobj
+71 0 obj <<
+/Title 72 0 R
+/A 69 0 R
+/Parent 67 0 R
+/Next 75 0 R
+>> endobj
+67 0 obj <<
+/Title 68 0 R
+/A 65 0 R
+/Parent 2552 0 R
+/Prev 59 0 R
+/First 71 0 R
+/Last 207 0 R
+/Count -35
+>> endobj
+63 0 obj <<
+/Title 64 0 R
+/A 61 0 R
+/Parent 59 0 R
+>> endobj
+59 0 obj <<
+/Title 60 0 R
+/A 57 0 R
+/Parent 2552 0 R
+/Prev 51 0 R
+/Next 67 0 R
+/First 63 0 R
+/Last 63 0 R
+/Count -1
+>> endobj
+55 0 obj <<
+/Title 56 0 R
+/A 53 0 R
+/Parent 51 0 R
+>> endobj
+51 0 obj <<
+/Title 52 0 R
+/A 49 0 R
+/Parent 2552 0 R
+/Prev 43 0 R
+/Next 59 0 R
+/First 55 0 R
+/Last 55 0 R
+/Count -1
+>> endobj
+47 0 obj <<
+/Title 48 0 R
+/A 45 0 R
+/Parent 43 0 R
+>> endobj
+43 0 obj <<
+/Title 44 0 R
+/A 41 0 R
+/Parent 2552 0 R
+/Prev 35 0 R
+/Next 51 0 R
+/First 47 0 R
+/Last 47 0 R
+/Count -1
+>> endobj
+39 0 obj <<
+/Title 40 0 R
+/A 37 0 R
+/Parent 35 0 R
+>> endobj
+35 0 obj <<
+/Title 36 0 R
+/A 33 0 R
+/Parent 2552 0 R
+/Prev 27 0 R
+/Next 43 0 R
+/First 39 0 R
+/Last 39 0 R
+/Count -1
+>> endobj
+31 0 obj <<
+/Title 32 0 R
+/A 29 0 R
+/Parent 27 0 R
+>> endobj
+27 0 obj <<
+/Title 28 0 R
+/A 25 0 R
+/Parent 2552 0 R
+/Prev 19 0 R
+/Next 35 0 R
+/First 31 0 R
+/Last 31 0 R
+/Count -1
+>> endobj
+23 0 obj <<
+/Title 24 0 R
+/A 21 0 R
+/Parent 19 0 R
+>> endobj
+19 0 obj <<
+/Title 20 0 R
+/A 17 0 R
+/Parent 2552 0 R
+/Prev 15 0 R
+/Next 27 0 R
+/First 23 0 R
+/Last 23 0 R
+/Count -1
+>> endobj
+15 0 obj <<
+/Title 16 0 R
+/A 13 0 R
+/Parent 2552 0 R
+/Prev 11 0 R
+/Next 19 0 R
+>> endobj
+11 0 obj <<
+/Title 12 0 R
+/A 9 0 R
+/Parent 2552 0 R
+/Prev 7 0 R
+/Next 15 0 R
+>> endobj
+7 0 obj <<
+/Title 8 0 R
+/A 5 0 R
+/Parent 2552 0 R
+/Next 11 0 R
+>> endobj
+2553 0 obj <<
+/Names [(Doc-Start) 214 0 R (GFDL) 380 0 R (GFDL_GFDL) 251 0 R (GPL) 307 0 R (GPL_GPL) 252 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) 482 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4)]
+>> endobj
+2554 0 obj <<
+/Names [(classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_133f3756e88145e6ff5bf3d1b41838d9) 831 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a3a5f10fed94188b162073ef8efff393) 832 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_b4470b84b8b57bae591239910d220c70) 830 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_d35d7381bcd3c4cf029d4b76bb6545b8) 834 0 R (classparma__polyhedra__library_1_1C__Polyhedron) 483 0 R (classparma__polyh [...]
+/Limits [(classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_133f3756e88145e6ff5bf3d1b41838d9) (classparma__polyhedra__library_1_1C__Polyhedron_173c08eeeb4a96b0060d5f023e4ba4a6)]
+>> endobj
+2555 0 obj <<
+/Names [(classparma__polyhedra__library_1_1C__Polyhedron_1c91471f55b22735023d37417f0bef70) 866 0 R (classparma__polyhedra__library_1_1C__Polyhedron_1f026c17289bb2174eaec0d61a4a2e67) 885 0 R (classparma__polyhedra__library_1_1C__Polyhedron_3665335e295bd7c05eeca13be606616f) 892 0 R (classparma__polyhedra__library_1_1C__Polyhedron_509185b3d326e5d4496fbe8953b82f88) 863 0 R (classparma__polyhedra__library_1_1C__Polyhedron_5491f9cbaf4f0215196fc05ce17eaec9) 867 0 R (classparma__polyhedra__libra [...]
+/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_1c91471f55b22735023d37417f0bef70) (classparma__polyhedra__library_1_1C__Polyhedron_558341813be1d1bf607bf1c50e6e1ba3)]
+>> endobj
+2556 0 obj <<
+/Names [(classparma__polyhedra__library_1_1C__Polyhedron_a37dcee4fa14c58b76c8d3c4227849e8) 870 0 R (classparma__polyhedra__library_1_1C__Polyhedron_bf571357a5156e495293957a44145a9b) 869 0 R (classparma__polyhedra__library_1_1C__Polyhedron_d008d79cb35b51e7dfbee0dcc3741dc3) 868 0 R (classparma__polyhedra__library_1_1C__Polyhedron_e79d42cfe6b21bcf264fd9ea84e78fb2) 871 0 R (classparma__polyhedra__library_1_1C__Polyhedron_ef6bc45c4726c7fb386547c6ec104cf5) 893 0 R (classparma__polyhedra__libra [...]
+/Limits [(classparma__polyhedra__library_1_1C__Polyhedron_a37dcee4fa14c58b76c8d3c4227849e8) (classparma__polyhedra__library_1_1Coefficient)]
+>> endobj
+2557 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Coefficient_2ae111e41ccba8a228746939bb1c595f) 930 0 R (classparma__polyhedra__library_1_1Coefficient_4445a4d60c39e32b6f6d3e2dcb901e55) 929 0 R (classparma__polyhedra__library_1_1Coefficient_7c968f7ba606e8b99863ae8cdef3c686) 934 0 R (classparma__polyhedra__library_1_1Coefficient_ac1766c4ad4a4697f6f9d4a92b200cb2) 909 0 R (classparma__polyhedra__library_1_1Coefficient_aff569442866d78436e19428b4cb8e75) 931 0 R (classparma__polyhedra__library_1_1Coef [...]
+/Limits [(classparma__polyhedra__library_1_1Coefficient_2ae111e41ccba8a228746939bb1c595f) (classparma__polyhedra__library_1_1Coefficient_ffb4611ad564f09455819718964b6e80)]
+>> endobj
+2558 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Congruence) 485 0 R (classparma__polyhedra__library_1_1Congruence_1a974f4ed60693790cec91f324a85b05) 941 0 R (classparma__polyhedra__library_1_1Congruence_240b9d144edd0d6dca5cb42904f9b279) 961 0 R (classparma__polyhedra__library_1_1Congruence_637fe9105c9bc0b2722544d16453e87c) 960 0 R (classparma__polyhedra__library_1_1Congruence_6bcbe60c7d20f1fee7847e262993b626) 940 0 R (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3 [...]
+/Limits [(classparma__polyhedra__library_1_1Congruence) (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3e)]
+>> endobj
+2559 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) 958 0 R (classparma__polyhedra__library_1_1Congruence__System) 486 0 R (classparma__polyhedra__library_1_1Congruence__System_2da6d6ce1ce4057b0332826381042d4d) 969 0 R (classparma__polyhedra__library_1_1Congruence__System_392557cee71bc7b2eb23f07a9d788062) 968 0 R (classparma__polyhedra__library_1_1Congruence__System_6b7400f7e25b1bb473b2fc16c0c90b32) 970 0 R (classparma__polyhedra__library_1_1Constraint [...]
+/Limits [(classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) (classparma__polyhedra__library_1_1Constraint)]
+>> endobj
+2560 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Constraint_0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) 991 0 R (classparma__polyhedra__library_1_1Constraint_1112ff3331d87019a2df0fb9a83cfeb8) 995 0 R (classparma__polyhedra__library_1_1Constraint_148544cb9ef5bf6b9a60ee56655bff26) 993 0 R (classparma__polyhedra__library_1_1Constraint_4738abd11cb0fdcb233ed4f18c874d56) 996 0 R (classparma__polyhedra__library_1_1Constraint__System) 488 0 R (classparma__polyhedra__library_1_1Constraint__System_8be9b5793c5bcbd [...]
+/Limits [(classparma__polyhedra__library_1_1Constraint_0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) (classparma__polyhedra__library_1_1Constraint__System_8be9b5793c5bcbd09cbe45d5def529d0)]
+>> endobj
+2561 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Constraint__System_ad362521f7fba585112f1a2a5aea3d96) 1014 0 R (classparma__polyhedra__library_1_1Constraint__System_f2e1b75d9c8484321bfc25bb122970b7) 1015 0 R (classparma__polyhedra__library_1_1Constraint_dc27929d7731cdc3beeba475147e3127) 994 0 R (classparma__polyhedra__library_1_1Constraint_e62d06b1c82e9d9f4f12bbb3c6f4bcae) 992 0 R (classparma__polyhedra__library_1_1Domain__Error__Exception) 489 0 R (classparma__polyhedra__library_1_1Domain__Er [...]
+/Limits [(classparma__polyhedra__library_1_1Constraint__System_ad362521f7fba585112f1a2a5aea3d96) (classparma__polyhedra__library_1_1Domain__Error__Exception_3d2371e510d8b88b2660a631d6857953)]
+>> endobj
+2562 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Generator) 490 0 R (classparma__polyhedra__library_1_1Generator_01ffce41500b158f8a1272d73418822e) 1053 0 R (classparma__polyhedra__library_1_1Generator_0673eda2d88204107796ffacffe269c0) 1048 0 R (classparma__polyhedra__library_1_1Generator_2a43c640dcbae8922c616491ad95e906) 1052 0 R (classparma__polyhedra__library_1_1Generator_80f1c0111cb5ffc8bfc06f7d4ad88b06) 1050 0 R (classparma__polyhedra__library_1_1Generator__System) 491 0 R]
+/Limits [(classparma__polyhedra__library_1_1Generator) (classparma__polyhedra__library_1_1Generator__System)]
+>> endobj
+2563 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Generator__System_58d5c27c8e3d638fc7d25ee54d04b08c) 1090 0 R (classparma__polyhedra__library_1_1Generator__System_7695c9f42b5164da2b71e7a2b1382d06) 1089 0 R (classparma__polyhedra__library_1_1Generator__System_b1265553cab293b2c77d31f57682ae2b) 1067 0 R (classparma__polyhedra__library_1_1Generator_cdcf46a226e15d398fe41d10873779ca) 1051 0 R (classparma__polyhedra__library_1_1Generator_ce05db6f6b402898007ea5bf6ea4a831) 1044 0 R (classparma__polyhed [...]
+/Limits [(classparma__polyhedra__library_1_1Generator__System_58d5c27c8e3d638fc7d25ee54d04b08c) (classparma__polyhedra__library_1_1Generator_d96733e3e3c9087e06a052e5af198ba6)]
+>> endobj
+2564 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Grid__Generator) 492 0 R (classparma__polyhedra__library_1_1Grid__Generator_27971df55a7b8e685f759f3001b0aef8) 1097 0 R (classparma__polyhedra__library_1_1Grid__Generator_3043f8c7edfaa1e5c98955234589301c) 1098 0 R (classparma__polyhedra__library_1_1Grid__Generator_5dcfc9bdd9d995b7be67da9f47e731ca) 1099 0 R (classparma__polyhedra__library_1_1Grid__Generator__System) 544 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_183f982bd3198d2 [...]
+/Limits [(classparma__polyhedra__library_1_1Grid__Generator) (classparma__polyhedra__library_1_1Grid__Generator__System_183f982bd3198d2c455e51e7cedd4e33)]
+>> endobj
+2565 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) 1124 0 R (classparma__polyhedra__library_1_1Grid__Generator__System_84738aa470464f9f3192817554d26d30) 1112 0 R (classparma__polyhedra__library_1_1Grid__Generator_a32ef5503c68b0c2ccbd8d69251ecfd7) 1093 0 R (classparma__polyhedra__library_1_1Grid__Generator_e846d01ef7cc5222216fcac8f2d255c9) 1094 0 R (classparma__polyhedra__library_1_1IO) 546 0 R (classparma__polyhedra__library_1_1IO_2080ebe [...]
+/Limits [(classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) (classparma__polyhedra__library_1_1IO_2080ebe48063615d891b98ef65f2ca71)]
+>> endobj
+2566 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Invalid__Argument__Exception) 545 0 R (classparma__polyhedra__library_1_1Invalid__Argument__Exception_df699afd1b4f9dbc15fd31424e9d15e7) 1127 0 R (classparma__polyhedra__library_1_1Length__Error__Exception) 547 0 R (classparma__polyhedra__library_1_1Length__Error__Exception_5b5e4c1fe8b8af4696ac7cc839fb3b40) 1151 0 R (classparma__polyhedra__library_1_1Linear__Expression) 548 0 R (classparma__polyhedra__library_1_1Linear__Expression_0c0b91260da0f47 [...]
+/Limits [(classparma__polyhedra__library_1_1Invalid__Argument__Exception) (classparma__polyhedra__library_1_1Linear__Expression_0c0b91260da0f4729a335faa3747c397)]
+>> endobj
+2567 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression_2a76c9ab182bf0cbd015cea16a24c635) 1192 0 R (classparma__polyhedra__library_1_1Linear__Expression_3866453e844ec10e038e9ae2b336159d) 1190 0 R (classparma__polyhedra__library_1_1Linear__Expression_491b55e596bb0dc1e707355a1b2169b5) 1195 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) 549 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_24d3c42f7ed7c7a99a8a2bb5369eed4d) 1201 0 R (classp [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression_2a76c9ab182bf0cbd015cea16a24c635) (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab30b6ef6e87a1df35c14d15237af04c)]
+>> endobj
+2568 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_b531066aa6dba222c8c61a8c3978257d) 1200 0 R (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_edf10f9d2de45d7e8de1809d4417741b) 1202 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference) 550 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_2b2271e2f858709aef3d3705ac8c075d) 1232 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_6e2a52ee587e25 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Coefficient_b531066aa6dba222c8c61a8c3978257d) (classparma__polyhedra__library_1_1Linear__Expression__Difference_87e8e31d3cf9dbe3c2e1041ea8ccf873)]
+>> endobj
+2569 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Difference_d213660ecdcc0e4142a2fd7536489781) 1227 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_d6e4fdbf5475e6d24aaffaceb4a4abf9) 1226 0 R (classparma__polyhedra__library_1_1Linear__Expression__Difference_f0e7fc37eefdbd145c4e9203cfd5e5e7) 1228 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum) 551 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_26114c4deaf17e8a12123a0a8f760d [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Difference_d213660ecdcc0e4142a2fd7536489781) (classparma__polyhedra__library_1_1Linear__Expression__Sum_8bacbf073ef0e1064e8c53ede4ad59bd)]
+>> endobj
+2570 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Sum_8d44f98f79421126eba1448fb80331b4) 1267 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_e1191ef860c3201d40fa4e20fd02ba2d) 1268 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_e42dcbc09bb42d181a19512206d15f70) 1264 0 R (classparma__polyhedra__library_1_1Linear__Expression__Sum_ef62be6cb1c9f4c4f3aff2c5f456c374) 1262 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times) 552 0 R (class [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Sum_8d44f98f79421126eba1448fb80331b4) (classparma__polyhedra__library_1_1Linear__Expression__Times_015f6e2febd260a93299564dfde659e5)]
+>> endobj
+2571 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) 1296 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_4b0fc20a0d733d684c6a4e7e8f49c174) 1297 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_6dec5edff0aa73961373ed7e1b9e0729) 1271 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_7f106ecc8b4f062f0b2b53cd3098e50c) 1294 0 R (classparma__polyhedra__library_1_1Linear__Expression__Times_ffc79b9 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus)]
+>> endobj
+2572 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2834d46309af2717b28dc79843e1331d) 1302 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2f88b2137b58031e4838f19daff12f4a) 1304 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a51b2de39e7e3568d5c9322de4b0454b) 1300 0 R (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_ab53a108e173a6657e2af82a66ea3737) 1301 0 R (classparma__polyhedra__library_1_1Linea [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2834d46309af2717b28dc79843e1331d) (classparma__polyhedra__library_1_1Linear__Expression__Variable_5c54fa6c29a576ab9de69361d15f8b17)]
+>> endobj
+2573 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Linear__Expression__Variable_642f2ab97bf846e69686a874001a9930) 1320 0 R (classparma__polyhedra__library_1_1Linear__Expression__Variable_e2482d18059a20a1cea2423a8b3d1043) 1322 0 R (classparma__polyhedra__library_1_1Linear__Expression_af751a048f4895ec1ca6eb753a196908) 1191 0 R (classparma__polyhedra__library_1_1Linear__Expression_d3d011ec5cd66a3e9bf71053d6b818b5) 1189 0 R (classparma__polyhedra__library_1_1Linear__Expression_f5d9b1e4dec7faf038dd87 [...]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Variable_642f2ab97bf846e69686a874001a9930) (classparma__polyhedra__library_1_1Logic__Error__Exception)]
+>> endobj
+2574 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Logic__Error__Exception_11bc5303b1d7a594017971538e60858f) 1325 0 R (classparma__polyhedra__library_1_1MIP__Problem) 556 0 R (classparma__polyhedra__library_1_1MIP__Problem_053b3ad9ab9c0920ee835d51589cb703) 1439 0 R (classparma__polyhedra__library_1_1MIP__Problem_1a896ee4273234f7c7181d76bdd9260f) 1363 0 R (classparma__polyhedra__library_1_1MIP__Problem_203692374bea9a641aba897049f2ae03) 1413 0 R (classparma__polyhedra__library_1_1MIP__Problem_23fb [...]
+/Limits [(classparma__polyhedra__library_1_1Logic__Error__Exception_11bc5303b1d7a594017971538e60858f) (classparma__polyhedra__library_1_1MIP__Problem_23fb2ed36793d2fa8974d9b6c3f93705)]
+>> endobj
+2575 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_2d9c6ed1390e4148c2fccb3491c7b4a7) 1404 0 R (classparma__polyhedra__library_1_1MIP__Problem_31c3eb3b5ccbe373dc04fe4d86234b87) 1416 0 R (classparma__polyhedra__library_1_1MIP__Problem_49981873be6474f7f399f1f54bc8861d) 1361 0 R (classparma__polyhedra__library_1_1MIP__Problem_4c0dddb2c112aeef626eef4d7e539d2d) 1410 0 R (classparma__polyhedra__library_1_1MIP__Problem_4cdcdb051551e8a23b6ff80a3294c5de) 1358 0 R (classparma__polyhedra__libra [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_2d9c6ed1390e4148c2fccb3491c7b4a7) (classparma__polyhedra__library_1_1MIP__Problem_4dfc6347addaec85187c46bff12def97)]
+>> endobj
+2576 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_52edb70858467236238aaec3b1884d37) 1403 0 R (classparma__polyhedra__library_1_1MIP__Problem_54d7ba808dcfc372e231fe597f5daf1f) 1434 0 R (classparma__polyhedra__library_1_1MIP__Problem_5b935844aeba5303d77ca82130998245) 1402 0 R (classparma__polyhedra__library_1_1MIP__Problem_64a91a5f142efd873b50d2cb7d27e660) 1356 0 R (classparma__polyhedra__library_1_1MIP__Problem_75aa539f287d460bc26a347512e51760) 1419 0 R (classparma__polyhedra__libra [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_52edb70858467236238aaec3b1884d37) (classparma__polyhedra__library_1_1MIP__Problem_7c8c10d940074e8ec96a4d319b88e490)]
+>> endobj
+2577 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_7fa63d4674ffff39446dd46ed0c26e6f) 1366 0 R (classparma__polyhedra__library_1_1MIP__Problem_81cb4962caaa75c19cdf6c8a5af4e46b) 1417 0 R (classparma__polyhedra__library_1_1MIP__Problem_ab8f9339a589d7ecd8eba424cd8c8d3f) 1415 0 R (classparma__polyhedra__library_1_1MIP__Problem_c2cab9caa4fff25fd03b1012a0c8cf5b) 1357 0 R (classparma__polyhedra__library_1_1MIP__Problem_caf3268d04168d4d22ebe73d9578d7d5) 1435 0 R (classparma__polyhedra__libra [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_7fa63d4674ffff39446dd46ed0c26e6f) (classparma__polyhedra__library_1_1MIP__Problem_caffbc7bc53bf538c9d8a75cb4a7e872)]
+>> endobj
+2578 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_cf903011430930b9c3afca546ecb07db) 1414 0 R (classparma__polyhedra__library_1_1MIP__Problem_d202d113166e7f68344ee82ba6e7b0fd) 1405 0 R (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) 1360 0 R (classparma__polyhedra__library_1_1MIP__Problem_e1db1d48c605e6f79aa78ea2a4a9cda7) 1365 0 R (classparma__polyhedra__library_1_1MIP__Problem_ee14b86bac3475fb14914092715b5916) 1368 0 R (classparma__polyhedra__libra [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_cf903011430930b9c3afca546ecb07db) (classparma__polyhedra__library_1_1MIP__Problem_f27bf62f81d315063d66dc394ef9559c)]
+>> endobj
+2579 0 obj <<
+/Names [(classparma__polyhedra__library_1_1MIP__Problem_f66f20c1209205a55c53e42c83761b82) 1412 0 R (classparma__polyhedra__library_1_1MIP__Problem_fa2c94e0b2f7b773f7d2daf6d53f9874) 1418 0 R (classparma__polyhedra__library_1_1Overflow__Error__Exception) 557 0 R (classparma__polyhedra__library_1_1Overflow__Error__Exception_6c67cb8304bf0e784ad1aa328e82e20e) 1473 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) 558 0 R (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_5 [...]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_f66f20c1209205a55c53e42c83761b82) (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_5c1e588b7f6a9f94b053a5cec723dfe6)]
+>> endobj
+2580 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_637f0b668a07b52f0fc9454c13f4d16e) 1490 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) 559 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_0f295b8b6083b12c373b48417ae8a466) 1496 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_3d5082778a4123e14fc66912860bb420) 1512 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_4254863fcee52d3a2ee594e14999fc21) 1510 0 R ( [...]
+/Limits [(classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_637f0b668a07b52f0fc9454c13f4d16e) (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_51207bdf0804635cce036bd6b6459abf)]
+>> endobj
+2581 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_8219b76f7582cc02ef563bf70b045ae6) 1507 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) 1515 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_952c4e092ec518368be278c13c689acd) 1494 0 R (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_9f9880633bb81d02f27e6fb22dc83bdc) 1495 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron [...]
+/Limits [(classparma__polyhedra__library_1_1Parma__Polyhedra__Library_8219b76f7582cc02ef563bf70b045ae6) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_0ae5c861cdc8a2fed1057cb873c928fc)]
+>> endobj
+2582 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_1deba0aacc90a96b069e32f8c3d4559e) 1569 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_25fcf44b7620128ac3646cf9cb7ec333) 1566 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_307f552cb6559fb3316979350f0698e4) 1560 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_43f91b349368a1f43667546d2d844941) 1565 0 R (classparma__polyhedra__library_1_1P [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_1deba0aacc90a96b069e32f8c3d4559e) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_91754711e181bd642b50021a3750ba1b)]
+>> endobj
+2583 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) 562 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_041438b5dfc0a27bb1ef8944ccef9b20) 1592 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_1063791d47e047aeeb186ba499482460) 1595 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_3e689b13a25dfaf0b6f22b21127bf4f9) 1596 0 R (classparma__polyhedra__librar [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_5204a6f9136985b1cf438bea23fd9489)]
+>> endobj
+2584 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_8f633594965f90e853f0a0b7d9667e7a) 1594 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_d6b10e19a21f12cc1e19304c400cbcc9) 1593 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_b86276be6b184ca176f526bdce7db8cb) 1564 0 R (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_cb627ec2ad25203404db2046bd1b415c) 1561 0 R (classparma__pol [...]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_8f633594965f90e853f0a0b7d9667e7a) (classparma__polyhedra__library_1_1Poly__Con__Relation)]
+>> endobj
+2585 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Poly__Con__Relation_0b8fd6b1ed827658839d73fcb11d4755) 1626 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_0ce79e66e5f99bf6dae5077d3eeb15a8) 1629 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_103c1a923368f15f9846bb63c5fc8bcd) 1628 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_5703e74effb8a5b4090be08699d6b808) 1623 0 R (classparma__polyhedra__library_1_1Poly__Con__Relation_86ef4d8f3963d0e41bd32e5745b2b161) 162 [...]
+/Limits [(classparma__polyhedra__library_1_1Poly__Con__Relation_0b8fd6b1ed827658839d73fcb11d4755) (classparma__polyhedra__library_1_1Poly__Con__Relation_981388a9978a768d9859bc6a05b59612)]
+>> endobj
+2586 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Poly__Con__Relation_d487a3b3a0d3590dd3678cf333549f47) 1627 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation) 564 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_52e2da847dc03a6a0bd03eb718bbc2c5) 1651 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_a542fab30058371e9f17fca3eb84724b) 1648 0 R (classparma__polyhedra__library_1_1Poly__Gen__Relation_ba48365387e24282c5facb79d544df54) 1649 0 R (classparma__polyhedra__libr [...]
+/Limits [(classparma__polyhedra__library_1_1Poly__Con__Relation_d487a3b3a0d3590dd3678cf333549f47) (classparma__polyhedra__library_1_1Poly__Gen__Relation_c9b4e9cbc50b16d0b8eae819ba758bb1)]
+>> endobj
+2587 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron) 565 0 R (classparma__polyhedra__library_1_1Polyhedron_0c39fad28012b1e32b3bb3f51aa395e9) 1819 0 R (classparma__polyhedra__library_1_1Polyhedron_0c70e4b9986758a2c5cfabd0968c80a2) 1927 0 R (classparma__polyhedra__library_1_1Polyhedron_0d6e2bbaaefe11efb5429fe1a61e3d22) 1954 0 R (classparma__polyhedra__library_1_1Polyhedron_0db3ec1fb2ff3022b06cd0760dbc9b11) 1810 0 R (classparma__polyhedra__library_1_1Polyhedron_0debe61d4b261fe21a4109f8920 [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron) (classparma__polyhedra__library_1_1Polyhedron_0debe61d4b261fe21a4109f8920557e0)]
+>> endobj
+2588 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_0f157e4c644b4ca57dc6d0ffe0509ae2) 1816 0 R (classparma__polyhedra__library_1_1Polyhedron_101725c81694df74ced9b4f2cca1fbad) 1747 0 R (classparma__polyhedra__library_1_1Polyhedron_178d863fdd91da50df37aac742b5f89b) 1924 0 R (classparma__polyhedra__library_1_1Polyhedron_1d1b69611f06c6e9aa03fd1b951573f8) 1697 0 R (classparma__polyhedra__library_1_1Polyhedron_250dcd46824fa3fcc48f2dd92a8293ea) 1877 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_0f157e4c644b4ca57dc6d0ffe0509ae2) (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890)]
+>> endobj
+2589 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) 1756 0 R (classparma__polyhedra__library_1_1Polyhedron_27c32393002b42d894f964a5d60af964) 1955 0 R (classparma__polyhedra__library_1_1Polyhedron_2a7c7870e8a2d07650293ccce8893174) 1811 0 R (classparma__polyhedra__library_1_1Polyhedron_2c5d0c7fb2c1bbaa9359ed0b497152cf) 1867 0 R (classparma__polyhedra__library_1_1Polyhedron_2d8112f8870851653e56b12e910f7e45) 1918 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) (classparma__polyhedra__library_1_1Polyhedron_3dec267cc9fa523feea43a8c0acdbe00)]
+>> endobj
+2590 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_3e3093f0cebb7f7d4b1ac1f1dda4df5b) 1812 0 R (classparma__polyhedra__library_1_1Polyhedron_3eced5e4c9a959bf44ba28393466ed15) 1746 0 R (classparma__polyhedra__library_1_1Polyhedron_40f85671a746d80dd6a5a14292f6df72) 1878 0 R (classparma__polyhedra__library_1_1Polyhedron_45dd7fcc9b518abdc94c454b66ba1d5b) 1758 0 R (classparma__polyhedra__library_1_1Polyhedron_4949285de47134b38f894d92823a931b) 1702 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_3e3093f0cebb7f7d4b1ac1f1dda4df5b) (classparma__polyhedra__library_1_1Polyhedron_4b3c940e8c7c8981b9b2124a75e011c1)]
+>> endobj
+2591 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_4ee0954f71183611c9b29ad07ad9fba2) 1744 0 R (classparma__polyhedra__library_1_1Polyhedron_50926d4c45d6e451ccec518c8051733c) 1700 0 R (classparma__polyhedra__library_1_1Polyhedron_52cb475c174028850d7ddd0998e089bf) 1868 0 R (classparma__polyhedra__library_1_1Polyhedron_56bf9c6096c448f27d61416f27a05db1) 1691 0 R (classparma__polyhedra__library_1_1Polyhedron_5b00da433f9d9473b1fbd2cdf6c5976e) 1813 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_4ee0954f71183611c9b29ad07ad9fba2) (classparma__polyhedra__library_1_1Polyhedron_5b12ca4fb2557b59516d1bbb2e30fa43)]
+>> endobj
+2592 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_5c870a4502b7d88bf273472936bf4fb8) 1931 0 R (classparma__polyhedra__library_1_1Polyhedron_5d5942488536d6a9095fc4bdebb9f7ed) 1759 0 R (classparma__polyhedra__library_1_1Polyhedron_5e9ac1ca10b983f0dee8146e6e95370b) 1873 0 R (classparma__polyhedra__library_1_1Polyhedron_5f7cb393111807edd0542e1e4367f249) 1876 0 R (classparma__polyhedra__library_1_1Polyhedron_6661b721ae109cee00992746554acf53) 1919 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_5c870a4502b7d88bf273472936bf4fb8) (classparma__polyhedra__library_1_1Polyhedron_6e67cd103e4b330d46ded91f0ed0ec2b)]
+>> endobj
+2593 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_6e6eb647853269db9de88ed234a16656) 1818 0 R (classparma__polyhedra__library_1_1Polyhedron_7817a26193f804a89ffeb2dbf18fc702) 1754 0 R (classparma__polyhedra__library_1_1Polyhedron_79d4ff349ca7b314602b79a2d74fe976) 1870 0 R (classparma__polyhedra__library_1_1Polyhedron_81c4315daec6710e58a0617d92839e81) 1694 0 R (classparma__polyhedra__library_1_1Polyhedron_84625e35d755ced248ffe55750614f09) 1690 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_6e6eb647853269db9de88ed234a16656) (classparma__polyhedra__library_1_1Polyhedron_88d0ec91f9e05922238463630dccc296)]
+>> endobj
+2594 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_894ed94e4bfdc07cd6ef5d45e5c464b7) 1929 0 R (classparma__polyhedra__library_1_1Polyhedron_8b521c98491fa559861dae11ad3ec3f3) 1689 0 R (classparma__polyhedra__library_1_1Polyhedron_94e51c5141f6c2a46e4c8d8aaea539b4) 1871 0 R (classparma__polyhedra__library_1_1Polyhedron_951904ccc728d261cf367a0bc613478d) 1698 0 R (classparma__polyhedra__library_1_1Polyhedron_95849529fc06d893870e1b39fe009db8) 1923 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_894ed94e4bfdc07cd6ef5d45e5c464b7) (classparma__polyhedra__library_1_1Polyhedron_9a21e654ffec08b0a79e6aa5ec29d72d)]
+>> endobj
+2595 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) 1699 0 R (classparma__polyhedra__library_1_1Polyhedron_a7225f4984a8ca7b4701b78e9aa545b3) 1821 0 R (classparma__polyhedra__library_1_1Polyhedron_a8a9da2a38c61eb14ed1922e970552ba) 1749 0 R (classparma__polyhedra__library_1_1Polyhedron_a9a506db5b2ca3606ffdc72bae993831) 1930 0 R (classparma__polyhedra__library_1_1Polyhedron_ac326b042c380a004289377eca7d2342) 1869 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) (classparma__polyhedra__library_1_1Polyhedron_ad130af7dc19af625d583e25020026e1)]
+>> endobj
+2596 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_af462d898fecd8d545ce48f6a0632c3e) 1807 0 R (classparma__polyhedra__library_1_1Polyhedron_b492b453a39228bad565e4964c7ad257) 1921 0 R (classparma__polyhedra__library_1_1Polyhedron_b7c4fb00dc7b0fff7edbe9d80ad15ae6) 1701 0 R (classparma__polyhedra__library_1_1Polyhedron_b8b346098cc00bd96852efadc70e42d3) 1745 0 R (classparma__polyhedra__library_1_1Polyhedron_bc5704127ba61d2413c9bff4fd30f323) 1755 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_af462d898fecd8d545ce48f6a0632c3e) (classparma__polyhedra__library_1_1Polyhedron_be395df0f967ad2074e87c95cab973ee)]
+>> endobj
+2597 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_beedcb4af89476e04d9b358ae522dab0) 1926 0 R (classparma__polyhedra__library_1_1Polyhedron_c302814cfa610b65b7e92426d20b7efd) 1757 0 R (classparma__polyhedra__library_1_1Polyhedron_c4f92e1418a46d38b818059a3dadab69) 1704 0 R (classparma__polyhedra__library_1_1Polyhedron_c5dfab82eea6ba1f83cbebca0237b084) 1805 0 R (classparma__polyhedra__library_1_1Polyhedron_c72ffc5f5715e6a10e6d5e63a43b6e9e) 1703 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_beedcb4af89476e04d9b358ae522dab0) (classparma__polyhedra__library_1_1Polyhedron_d078549415d6b45298d374eb3b6f5c7d)]
+>> endobj
+2598 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_d0f0c9ad050583abd703aaedb6e5cca1) 1693 0 R (classparma__polyhedra__library_1_1Polyhedron_d453d2930f64cc40ad0b5dbe4ac50c07) 1814 0 R (classparma__polyhedra__library_1_1Polyhedron_d8155c4d2baca71b59e67eb7396bb18c) 1928 0 R (classparma__polyhedra__library_1_1Polyhedron_db6d91da0ca1b3f0f9b755297ab69722) 1808 0 R (classparma__polyhedra__library_1_1Polyhedron_dd26476af2dfda6abbb7508ef88cae2d) 1917 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_d0f0c9ad050583abd703aaedb6e5cca1) (classparma__polyhedra__library_1_1Polyhedron_dd544c3d22008bb22d0b6fa536c651dd)]
+>> endobj
+2599 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_e44edf9029d653931c7a450481127e14) 1925 0 R (classparma__polyhedra__library_1_1Polyhedron_e4e82dc62f09b889cc2c699b6a8abda1) 1750 0 R (classparma__polyhedra__library_1_1Polyhedron_ea3d6d51b260b5aa832a1a3a68ac98a0) 1815 0 R (classparma__polyhedra__library_1_1Polyhedron_f15807720fca193200fa6ea8627ef10b) 1916 0 R (classparma__polyhedra__library_1_1Polyhedron_f212c66bfb25b5b1949ee91f0e4b48ab) 1751 0 R (classparma__polyhedra__library_1_1Poly [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_e44edf9029d653931c7a450481127e14) (classparma__polyhedra__library_1_1Polyhedron_f31626a3fd875ced253836666b29990b)]
+>> endobj
+2600 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Polyhedron_f3ff44da0089b15593e3ce719e37e677) 1874 0 R (classparma__polyhedra__library_1_1Polyhedron_faf7844389329a23b58abf355ae79ded) 1875 0 R (classparma__polyhedra__library_1_1Variable) 591 0 R (classparma__polyhedra__library_1_1Variable_293bf4ae6670add8afd68cbca2edd0e5) 2162 0 R (classparma__polyhedra__library_1_1Variable_a771ef39be258755e151cd5edb617e94) 2159 0 R (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a) 2 [...]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_f3ff44da0089b15593e3ce719e37e677) (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a)]
+>> endobj
+2601 0 obj <<
+/Names [(classparma__polyhedra__library_1_1Variables__Set) 592 0 R (classparma__polyhedra__library_1_1Variables__Set_961dfccd93ec291961f9938db0c86b2d) 2170 0 R (group__PPL__Java__interface) 589 0 R (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) 662 0 R (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) 672 0 R (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a) 675 0 R]
+/Limits [(classparma__polyhedra__library_1_1Variables__Set) (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a)]
+>> endobj
+2602 0 obj <<
+/Names [(group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) 666 0 R (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) 706 0 R (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) 709 0 R (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) 682 0 R (group__PPL__Java__interface_ge444adc8164dfda0378177ddab117095) 680 0 R (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) 668 0 R]
+/Limits [(group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663)]
+>> endobj
+2603 0 obj <<
+/Names [(group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) 664 0 R (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) 663 0 R (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) 665 0 R (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d634c41f8889b9f0e04d597dfeaa1d356b) 673 0 R (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d69 [...]
+/Limits [(group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a4f9ea739b8717fe026aba79a67be5cc6)]
+>> endobj
+2604 0 obj <<
+/Names [(group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) 679 0 R (group__PPL__Java__interface_gg9006be5f6c0f7616400b3554738e732fe64f42c3dc2245c0a2dfdfdf81804916) 667 0 R (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97713b313393fbe3b2f84daa5d5e440d5fc9) 708 0 R (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) 707 0 R (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b4 [...]
+/Limits [(group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b671181c4f0b106836b2bfa9c51d75464)]
+>> endobj
+2605 0 obj <<
+/Names [(group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) 712 0 R (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8b42d305e53e64514a7f004b4e55f862) 714 0 R (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8d1443a727b974ff807ec5bc5cd1dece) 710 0 R (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) 684 0 R (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a6 [...]
+/Limits [(group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729)]
+>> endobj
+2606 0 obj <<
+/Names [(group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) 678 0 R (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) 681 0 R (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) 676 0 R (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) 669 0 R (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816635 [...]
+/Limits [(group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21)]
+>> endobj
+2607 0 obj <<
+/Names [(index) 297 0 R (interfaceparma__polyhedra__library_1_1Partial__Function) 560 0 R (interfaceparma__polyhedra__library_1_1Partial__Function_b3b4fbf99544ba087c9b1bb423043849) 1531 0 R (interfaceparma__polyhedra__library_1_1Partial__Function_c89f45a1ba3b8814dbd6be95e571cdfa) 1527 0 R (interfaceparma__polyhedra__library_1_1Partial__Function_e268ac659921ee5731b202d530b9d35d) 1533 0 R (namespaceparma__polyhedra__library) 439 0 R]
+/Limits [(index) (namespaceparma__polyhedra__library)]
+>> endobj
+2608 0 obj <<
+/Names [(page.1) 213 0 R (page.10) 357 0 R (page.11) 365 0 R (page.12) 379 0 R (page.13) 385 0 R (page.14) 390 0 R]
+/Limits [(page.1) (page.14)]
+>> endobj
+2609 0 obj <<
+/Names [(page.15) 395 0 R (page.16) 400 0 R (page.17) 407 0 R (page.18) 438 0 R (page.19) 481 0 R (page.2) 296 0 R]
+/Limits [(page.15) (page.2)]
+>> endobj
+2610 0 obj <<
+/Names [(page.20) 543 0 R (page.21) 588 0 R (page.22) 614 0 R (page.23) 651 0 R (page.24) 697 0 R (page.25) 720 0 R]
+/Limits [(page.20) (page.25)]
+>> endobj
+2611 0 obj <<
+/Names [(page.26) 743 0 R (page.27) 767 0 R (page.28) 805 0 R (page.29) 826 0 R (page.3) 306 0 R (page.30) 860 0 R]
+/Limits [(page.26) (page.30)]
+>> endobj
+2612 0 obj <<
+/Names [(page.31) 881 0 R (page.32) 902 0 R (page.33) 928 0 R (page.34) 956 0 R (page.35) 988 0 R (page.36) 1011 0 R]
+/Limits [(page.31) (page.36)]
+>> endobj
+2613 0 obj <<
+/Names [(page.37) 1041 0 R (page.38) 1061 0 R (page.39) 1088 0 R (page.4) 313 0 R (page.40) 1106 0 R (page.41) 1122 0 R]
+/Limits [(page.37) (page.41)]
+>> endobj
+2614 0 obj <<
+/Names [(page.42) 1146 0 R (page.43) 1187 0 R (page.44) 1221 0 R (page.45) 1260 0 R (page.46) 1292 0 R (page.47) 1317 0 R]
+/Limits [(page.42) (page.47)]
+>> endobj
+2615 0 obj <<
+/Names [(page.48) 1354 0 R (page.49) 1401 0 R (page.5) 321 0 R (page.50) 1433 0 R (page.51) 1446 0 R (page.52) 1456 0 R]
+/Limits [(page.48) (page.52)]
+>> endobj
+2616 0 obj <<
+/Names [(page.53) 1468 0 R (page.54) 1486 0 R (page.55) 1506 0 R (page.56) 1525 0 R (page.57) 1558 0 R (page.58) 1588 0 R]
+/Limits [(page.53) (page.58)]
+>> endobj
+2617 0 obj <<
+/Names [(page.59) 1618 0 R (page.6) 330 0 R (page.60) 1645 0 R (page.61) 1687 0 R (page.62) 1743 0 R (page.63) 1804 0 R]
+/Limits [(page.59) (page.63)]
+>> endobj
+2618 0 obj <<
+/Names [(page.64) 1861 0 R (page.65) 1915 0 R (page.66) 1947 0 R (page.67) 1964 0 R (page.68) 1975 0 R (page.69) 1987 0 R]
+/Limits [(page.64) (page.69)]
+>> endobj
+2619 0 obj <<
+/Names [(page.7) 337 0 R (page.70) 2003 0 R (page.71) 2016 0 R (page.72) 2032 0 R (page.73) 2045 0 R (page.74) 2057 0 R]
+/Limits [(page.7) (page.74)]
+>> endobj
+2620 0 obj <<
+/Names [(page.75) 2073 0 R (page.76) 2086 0 R (page.77) 2102 0 R (page.78) 2118 0 R (page.79) 2130 0 R (page.8) 343 0 R]
+/Limits [(page.75) (page.8)]
+>> endobj
+2621 0 obj <<
+/Names [(page.80) 2141 0 R (page.81) 2156 0 R (page.82) 2168 0 R (page.83) 2226 0 R (page.84) 2299 0 R (page.85) 2400 0 R]
+/Limits [(page.80) (page.85)]
+>> endobj
+2622 0 obj <<
+/Names [(page.86) 2471 0 R (page.87) 2476 0 R (page.9) 349 0 R (page.i) 246 0 R (paragraph.10.11.2.1) 1108 0 R (paragraph.10.11.2.2) 1109 0 R]
+/Limits [(page.86) (paragraph.10.11.2.2)]
+>> endobj
+2623 0 obj <<
+/Names [(paragraph.10.11.2.3) 1110 0 R (paragraph.10.14.2.1) 1149 0 R (paragraph.10.2.2.1) 888 0 R (paragraph.10.2.2.2) 889 0 R (paragraph.10.2.2.3) 890 0 R (paragraph.10.2.2.4) 891 0 R]
+/Limits [(paragraph.10.11.2.3) (paragraph.10.2.2.4)]
+>> endobj
+2624 0 obj <<
+/Names [(paragraph.10.2.2.5) 903 0 R (paragraph.10.2.2.6) 904 0 R (paragraph.10.2.3.1) 906 0 R (paragraph.10.2.3.2) 907 0 R (paragraph.10.24.2.1) 1438 0 R (paragraph.10.24.2.2) 1447 0 R]
+/Limits [(paragraph.10.2.2.5) (paragraph.10.24.2.2)]
+>> endobj
+2625 0 obj <<
+/Names [(paragraph.10.24.3.1) 1449 0 R (paragraph.10.24.3.10) 1469 0 R (paragraph.10.24.3.11) 1470 0 R (paragraph.10.24.3.12) 1471 0 R (paragraph.10.24.3.2) 1450 0 R (paragraph.10.24.3.3) 1451 0 R]
+/Limits [(paragraph.10.24.3.1) (paragraph.10.24.3.3)]
+>> endobj
+2626 0 obj <<
+/Names [(paragraph.10.24.3.4) 1457 0 R (paragraph.10.24.3.5) 1458 0 R (paragraph.10.24.3.6) 1459 0 R (paragraph.10.24.3.7) 1460 0 R (paragraph.10.24.3.8) 1461 0 R (paragraph.10.24.3.9) 1462 0 R]
+/Limits [(paragraph.10.24.3.4) (paragraph.10.24.3.9)]
+>> endobj
+2627 0 obj <<
+/Names [(paragraph.10.27.2.1) 1511 0 R (paragraph.10.27.2.2) 1513 0 R (paragraph.10.27.2.3) 1516 0 R (paragraph.10.28.2.1) 1532 0 R (paragraph.10.28.2.2) 1534 0 R (paragraph.10.29.2.1) 1590 0 R]
+/Limits [(paragraph.10.27.2.1) (paragraph.10.29.2.1)]
+>> endobj
+2628 0 obj <<
+/Names [(paragraph.10.3.2.1) 935 0 R (paragraph.10.30.2.1) 1621 0 R (paragraph.10.33.2.1) 1951 0 R (paragraph.10.33.2.10) 1988 0 R (paragraph.10.33.2.11) 1989 0 R (paragraph.10.33.2.12) 1990 0 R]
+/Limits [(paragraph.10.3.2.1) (paragraph.10.33.2.12)]
+>> endobj
+2629 0 obj <<
+/Names [(paragraph.10.33.2.13) 1991 0 R (paragraph.10.33.2.14) 1992 0 R (paragraph.10.33.2.15) 1993 0 R (paragraph.10.33.2.16) 2004 0 R (paragraph.10.33.2.17) 2005 0 R (paragraph.10.33.2.18) 2006 0 R]
+/Limits [(paragraph.10.33.2.13) (paragraph.10.33.2.18)]
+>> endobj
+2630 0 obj <<
+/Names [(paragraph.10.33.2.19) 2007 0 R (paragraph.10.33.2.2) 1952 0 R (paragraph.10.33.2.20) 2017 0 R (paragraph.10.33.2.21) 2018 0 R (paragraph.10.33.2.22) 2019 0 R (paragraph.10.33.2.23) 2020 0 R]
+/Limits [(paragraph.10.33.2.19) (paragraph.10.33.2.23)]
+>> endobj
+2631 0 obj <<
+/Names [(paragraph.10.33.2.24) 2021 0 R (paragraph.10.33.2.25) 2033 0 R (paragraph.10.33.2.26) 2034 0 R (paragraph.10.33.2.27) 2035 0 R (paragraph.10.33.2.28) 2036 0 R (paragraph.10.33.2.29) 2037 0 R]
+/Limits [(paragraph.10.33.2.24) (paragraph.10.33.2.29)]
+>> endobj
+2632 0 obj <<
+/Names [(paragraph.10.33.2.3) 1953 0 R (paragraph.10.33.2.30) 2046 0 R (paragraph.10.33.2.31) 2047 0 R (paragraph.10.33.2.32) 2048 0 R (paragraph.10.33.2.33) 2058 0 R (paragraph.10.33.2.34) 2060 0 R]
+/Limits [(paragraph.10.33.2.3) (paragraph.10.33.2.34)]
+>> endobj
+2633 0 obj <<
+/Names [(paragraph.10.33.2.35) 2074 0 R (paragraph.10.33.2.36) 2075 0 R (paragraph.10.33.2.37) 2076 0 R (paragraph.10.33.2.38) 2077 0 R (paragraph.10.33.2.39) 2087 0 R (paragraph.10.33.2.4) 1965 0 R]
+/Limits [(paragraph.10.33.2.35) (paragraph.10.33.2.4)]
+>> endobj
+2634 0 obj <<
+/Names [(paragraph.10.33.2.40) 2088 0 R (paragraph.10.33.2.41) 2089 0 R (paragraph.10.33.2.42) 2090 0 R (paragraph.10.33.2.43) 2103 0 R (paragraph.10.33.2.44) 2104 0 R (paragraph.10.33.2.45) 2105 0 R]
+/Limits [(paragraph.10.33.2.40) (paragraph.10.33.2.45)]
+>> endobj
+2635 0 obj <<
+/Names [(paragraph.10.33.2.46) 2106 0 R (paragraph.10.33.2.47) 2119 0 R (paragraph.10.33.2.48) 2120 0 R (paragraph.10.33.2.49) 2121 0 R (paragraph.10.33.2.5) 1966 0 R (paragraph.10.33.2.50) 2122 0 R]
+/Limits [(paragraph.10.33.2.46) (paragraph.10.33.2.50)]
+>> endobj
+2636 0 obj <<
+/Names [(paragraph.10.33.2.51) 2131 0 R (paragraph.10.33.2.52) 2132 0 R (paragraph.10.33.2.53) 2133 0 R (paragraph.10.33.2.54) 2142 0 R (paragraph.10.33.2.55) 2143 0 R (paragraph.10.33.2.56) 2145 0 R]
+/Limits [(paragraph.10.33.2.51) (paragraph.10.33.2.56)]
+>> endobj
+2637 0 obj <<
+/Names [(paragraph.10.33.2.6) 1967 0 R (paragraph.10.33.2.7) 1976 0 R (paragraph.10.33.2.8) 1977 0 R (paragraph.10.33.2.9) 1978 0 R (paragraph.10.34.2.1) 2163 0 R (paragraph.10.9.2.1) 1049 0 R]
+/Limits [(paragraph.10.33.2.6) (paragraph.10.9.2.1)]
+>> endobj
+2638 0 obj <<
+/Names [(paragraph.10.9.2.2) 1062 0 R (paragraph.10.9.2.3) 1063 0 R (paragraph.10.9.2.4) 1064 0 R (paragraph.10.9.2.5) 1065 0 R (paragraph.8.1.2.1) 702 0 R (paragraph.8.1.2.2) 704 0 R]
+/Limits [(paragraph.10.9.2.2) (paragraph.8.1.2.2)]
+>> endobj
+2639 0 obj <<
+/Names [(paragraph.8.1.2.3) 705 0 R (paragraph.8.1.2.4) 721 0 R (paragraph.8.1.2.5) 722 0 R (paragraph.8.1.2.6) 723 0 R (paragraph.8.1.2.7) 724 0 R (paragraph.8.1.2.8) 725 0 R]
+/Limits [(paragraph.8.1.2.3) (paragraph.8.1.2.8)]
+>> endobj
+2640 0 obj <<
+/Names [(paragraph.8.1.2.9) 744 0 R (section*.1) 250 0 R (section*.10) 331 0 R (section*.11) 332 0 R (section*.12) 338 0 R (section*.13) 344 0 R]
+/Limits [(paragraph.8.1.2.9) (section*.13)]
+>> endobj
+2641 0 obj <<
+/Names [(section*.14) 350 0 R (section*.15) 351 0 R (section*.16) 352 0 R (section*.17) 358 0 R (section*.18) 359 0 R (section*.19) 360 0 R]
+/Limits [(section*.14) (section*.19)]
+>> endobj
+2642 0 obj <<
+/Names [(section*.2) 299 0 R (section*.20) 366 0 R (section*.21) 367 0 R (section*.22) 368 0 R (section*.23) 369 0 R (section*.24) 408 0 R]
+/Limits [(section*.2) (section*.24)]
+>> endobj
+2643 0 obj <<
+/Names [(section*.25) 590 0 R (section*.26) 652 0 R (section*.27) 653 0 R (section*.28) 745 0 R (section*.29) 806 0 R (section*.3) 308 0 R]
+/Limits [(section*.25) (section*.3)]
+>> endobj
+2644 0 obj <<
+/Names [(section*.30) 829 0 R (section*.31) 833 0 R (section*.32) 862 0 R (section*.33) 882 0 R (section*.34) 884 0 R (section*.35) 908 0 R]
+/Limits [(section*.30) (section*.35)]
+>> endobj
+2645 0 obj <<
+/Names [(section*.36) 936 0 R (section*.37) 957 0 R (section*.38) 959 0 R (section*.39) 967 0 R (section*.4) 314 0 R (section*.40) 990 0 R]
+/Limits [(section*.36) (section*.40)]
+>> endobj
+2646 0 obj <<
+/Names [(section*.41) 1012 0 R (section*.42) 1017 0 R (section*.43) 1042 0 R (section*.44) 1045 0 R (section*.45) 1066 0 R (section*.46) 1092 0 R]
+/Limits [(section*.41) (section*.46)]
+>> endobj
+2647 0 obj <<
+/Names [(section*.47) 1095 0 R (section*.48) 1111 0 R (section*.49) 1126 0 R (section*.5) 315 0 R (section*.50) 1129 0 R (section*.51) 1150 0 R]
+/Limits [(section*.47) (section*.51)]
+>> endobj
+2648 0 obj <<
+/Names [(section*.52) 1188 0 R (section*.53) 1199 0 R (section*.54) 1222 0 R (section*.55) 1225 0 R (section*.56) 1230 0 R (section*.57) 1261 0 R]
+/Limits [(section*.52) (section*.57)]
+>> endobj
+2649 0 obj <<
+/Names [(section*.58) 1266 0 R (section*.59) 1270 0 R (section*.6) 316 0 R (section*.60) 1295 0 R (section*.61) 1299 0 R (section*.62) 1303 0 R]
+/Limits [(section*.58) (section*.62)]
+>> endobj
+2650 0 obj <<
+/Names [(section*.63) 1319 0 R (section*.64) 1324 0 R (section*.65) 1355 0 R (section*.66) 1359 0 R (section*.67) 1472 0 R (section*.68) 1488 0 R]
+/Limits [(section*.63) (section*.68)]
+>> endobj
+2651 0 obj <<
+/Names [(section*.69) 1492 0 R (section*.7) 322 0 R (section*.70) 1526 0 R (section*.71) 1528 0 R (section*.72) 1559 0 R (section*.73) 1591 0 R]
+/Limits [(section*.69) (section*.73)]
+>> endobj
+2652 0 obj <<
+/Names [(section*.74) 1597 0 R (section*.75) 1622 0 R (section*.76) 1625 0 R (section*.77) 1647 0 R (section*.78) 1650 0 R (section*.79) 1688 0 R]
+/Limits [(section*.74) (section*.79)]
+>> endobj
+2653 0 obj <<
+/Names [(section*.8) 323 0 R (section*.80) 2157 0 R (section*.81) 2169 0 R (section*.82) 2227 0 R (section*.9) 324 0 R (section.1) 6 0 R]
+/Limits [(section*.8) (section.1)]
+>> endobj
+2654 0 obj <<
+/Names [(section.10) 66 0 R (section.2) 10 0 R (section.3) 14 0 R (section.4) 18 0 R (section.5) 26 0 R (section.6) 34 0 R]
+/Limits [(section.10) (section.6)]
+>> endobj
+2655 0 obj <<
+/Names [(section.7) 42 0 R (section.8) 50 0 R (section.9) 58 0 R (subsection.10.1) 70 0 R (subsection.10.10) 106 0 R (subsection.10.11) 110 0 R]
+/Limits [(section.7) (subsection.10.11)]
+>> endobj
+2656 0 obj <<
+/Names [(subsection.10.12) 114 0 R (subsection.10.13) 118 0 R (subsection.10.14) 122 0 R (subsection.10.15) 126 0 R (subsection.10.16) 130 0 R (subsection.10.17) 134 0 R]
+/Limits [(subsection.10.12) (subsection.10.17)]
+>> endobj
+2657 0 obj <<
+/Names [(subsection.10.18) 138 0 R (subsection.10.19) 142 0 R (subsection.10.2) 74 0 R (subsection.10.20) 146 0 R (subsection.10.21) 150 0 R (subsection.10.22) 154 0 R]
+/Limits [(subsection.10.18) (subsection.10.22)]
+>> endobj
+2658 0 obj <<
+/Names [(subsection.10.23) 158 0 R (subsection.10.24) 162 0 R (subsection.10.25) 166 0 R (subsection.10.26) 170 0 R (subsection.10.27) 174 0 R (subsection.10.28) 178 0 R]
+/Limits [(subsection.10.23) (subsection.10.28)]
+>> endobj
+2659 0 obj <<
+/Names [(subsection.10.29) 182 0 R (subsection.10.3) 78 0 R (subsection.10.30) 186 0 R (subsection.10.31) 190 0 R (subsection.10.32) 194 0 R (subsection.10.33) 198 0 R]
+/Limits [(subsection.10.29) (subsection.10.33)]
+>> endobj
+2660 0 obj <<
+/Names [(subsection.10.34) 202 0 R (subsection.10.35) 206 0 R (subsection.10.4) 82 0 R (subsection.10.5) 86 0 R (subsection.10.6) 90 0 R (subsection.10.7) 94 0 R]
+/Limits [(subsection.10.34) (subsection.10.7)]
+>> endobj
+2661 0 obj <<
+/Names [(subsection.10.8) 98 0 R (subsection.10.9) 102 0 R (subsection.4.1) 22 0 R (subsection.5.1) 30 0 R (subsection.6.1) 38 0 R (subsection.7.1) 46 0 R]
+/Limits [(subsection.10.8) (subsection.7.1)]
+>> endobj
+2662 0 obj <<
+/Names [(subsection.8.1) 54 0 R (subsection.9.1) 62 0 R (subsubsection.10.1.1) 861 0 R (subsubsection.10.10.1) 1091 0 R (subsubsection.10.11.1) 1096 0 R (subsubsection.10.11.2) 1107 0 R]
+/Limits [(subsection.8.1) (subsubsection.10.11.2)]
+>> endobj
+2663 0 obj <<
+/Names [(subsubsection.10.12.1) 1125 0 R (subsubsection.10.13.1) 1128 0 R (subsubsection.10.14.1) 1147 0 R (subsubsection.10.14.2) 1148 0 R (subsubsection.10.15.1) 1152 0 R (subsubsection.10.16.1) 1196 0 R]
+/Limits [(subsubsection.10.12.1) (subsubsection.10.16.1)]
+>> endobj
+2664 0 obj <<
+/Names [(subsubsection.10.17.1) 1224 0 R (subsubsection.10.18.1) 1233 0 R (subsubsection.10.19.1) 1269 0 R (subsubsection.10.2.1) 886 0 R (subsubsection.10.2.2) 887 0 R (subsubsection.10.2.3) 905 0 R]
+/Limits [(subsubsection.10.17.1) (subsubsection.10.2.3)]
+>> endobj
+2665 0 obj <<
+/Names [(subsubsection.10.20.1) 1298 0 R (subsubsection.10.21.1) 1318 0 R (subsubsection.10.22.1) 1323 0 R (subsubsection.10.23.1) 1326 0 R (subsubsection.10.24.1) 1436 0 R (subsubsection.10.24.2) 1437 0 R]
+/Limits [(subsubsection.10.20.1) (subsubsection.10.24.2)]
+>> endobj
+2666 0 obj <<
+/Names [(subsubsection.10.24.3) 1448 0 R (subsubsection.10.25.1) 1487 0 R (subsubsection.10.26.1) 1491 0 R (subsubsection.10.27.1) 1508 0 R (subsubsection.10.27.2) 1509 0 R (subsubsection.10.28.1) 1529 0 R]
+/Limits [(subsubsection.10.24.3) (subsubsection.10.28.1)]
+>> endobj
+2667 0 obj <<
+/Names [(subsubsection.10.28.2) 1530 0 R (subsubsection.10.29.1) 1570 0 R (subsubsection.10.29.2) 1589 0 R (subsubsection.10.3.1) 932 0 R (subsubsection.10.3.2) 933 0 R (subsubsection.10.30.1) 1619 0 R]
+/Limits [(subsubsection.10.28.2) (subsubsection.10.30.1)]
+>> endobj
+2668 0 obj <<
+/Names [(subsubsection.10.30.2) 1620 0 R (subsubsection.10.31.1) 1646 0 R (subsubsection.10.32.1) 1653 0 R (subsubsection.10.33.1) 1949 0 R (subsubsection.10.33.2) 1950 0 R (subsubsection.10.34.1) 2160 0 R]
+/Limits [(subsubsection.10.30.2) (subsubsection.10.34.1)]
+>> endobj
+2669 0 obj <<
+/Names [(subsubsection.10.34.2) 2161 0 R (subsubsection.10.35.1) 2171 0 R (subsubsection.10.4.1) 962 0 R (subsubsection.10.5.1) 989 0 R (subsubsection.10.6.1) 997 0 R (subsubsection.10.7.1) 1016 0 R]
+/Limits [(subsubsection.10.34.2) (subsubsection.10.7.1)]
+>> endobj
+2670 0 obj <<
+/Names [(subsubsection.10.8.1) 1019 0 R (subsubsection.10.9.1) 1046 0 R (subsubsection.10.9.2) 1047 0 R (subsubsection.8.1.1) 700 0 R (subsubsection.8.1.2) 701 0 R (subsubsection.9.1.1) 827 0 R]
+/Limits [(subsubsection.10.8.1) (subsubsection.9.1.1)]
+>> endobj
+2671 0 obj <<
+/Kids [2553 0 R 2554 0 R 2555 0 R 2556 0 R 2557 0 R 2558 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3e)]
+>> endobj
+2672 0 obj <<
+/Kids [2559 0 R 2560 0 R 2561 0 R 2562 0 R 2563 0 R 2564 0 R]
+/Limits [(classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) (classparma__polyhedra__library_1_1Grid__Generator__System_183f982bd3198d2c455e51e7cedd4e33)]
+>> endobj
+2673 0 obj <<
+/Kids [2565 0 R 2566 0 R 2567 0 R 2568 0 R 2569 0 R 2570 0 R]
+/Limits [(classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) (classparma__polyhedra__library_1_1Linear__Expression__Times_015f6e2febd260a93299564dfde659e5)]
+>> endobj
+2674 0 obj <<
+/Kids [2571 0 R 2572 0 R 2573 0 R 2574 0 R 2575 0 R 2576 0 R]
+/Limits [(classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) (classparma__polyhedra__library_1_1MIP__Problem_7c8c10d940074e8ec96a4d319b88e490)]
+>> endobj
+2675 0 obj <<
+/Kids [2577 0 R 2578 0 R 2579 0 R 2580 0 R 2581 0 R 2582 0 R]
+/Limits [(classparma__polyhedra__library_1_1MIP__Problem_7fa63d4674ffff39446dd46ed0c26e6f) (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_91754711e181bd642b50021a3750ba1b)]
+>> endobj
+2676 0 obj <<
+/Kids [2583 0 R 2584 0 R 2585 0 R 2586 0 R 2587 0 R 2588 0 R]
+/Limits [(classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890)]
+>> endobj
+2677 0 obj <<
+/Kids [2589 0 R 2590 0 R 2591 0 R 2592 0 R 2593 0 R 2594 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) (classparma__polyhedra__library_1_1Polyhedron_9a21e654ffec08b0a79e6aa5ec29d72d)]
+>> endobj
+2678 0 obj <<
+/Kids [2595 0 R 2596 0 R 2597 0 R 2598 0 R 2599 0 R 2600 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a)]
+>> endobj
+2679 0 obj <<
+/Kids [2601 0 R 2602 0 R 2603 0 R 2604 0 R 2605 0 R 2606 0 R]
+/Limits [(classparma__polyhedra__library_1_1Variables__Set) (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21)]
+>> endobj
+2680 0 obj <<
+/Kids [2607 0 R 2608 0 R 2609 0 R 2610 0 R 2611 0 R 2612 0 R]
+/Limits [(index) (page.36)]
+>> endobj
+2681 0 obj <<
+/Kids [2613 0 R 2614 0 R 2615 0 R 2616 0 R 2617 0 R 2618 0 R]
+/Limits [(page.37) (page.69)]
+>> endobj
+2682 0 obj <<
+/Kids [2619 0 R 2620 0 R 2621 0 R 2622 0 R 2623 0 R 2624 0 R]
+/Limits [(page.7) (paragraph.10.24.2.2)]
+>> endobj
+2683 0 obj <<
+/Kids [2625 0 R 2626 0 R 2627 0 R 2628 0 R 2629 0 R 2630 0 R]
+/Limits [(paragraph.10.24.3.1) (paragraph.10.33.2.23)]
+>> endobj
+2684 0 obj <<
+/Kids [2631 0 R 2632 0 R 2633 0 R 2634 0 R 2635 0 R 2636 0 R]
+/Limits [(paragraph.10.33.2.24) (paragraph.10.33.2.56)]
+>> endobj
+2685 0 obj <<
+/Kids [2637 0 R 2638 0 R 2639 0 R 2640 0 R 2641 0 R 2642 0 R]
+/Limits [(paragraph.10.33.2.6) (section*.24)]
+>> endobj
+2686 0 obj <<
+/Kids [2643 0 R 2644 0 R 2645 0 R 2646 0 R 2647 0 R 2648 0 R]
+/Limits [(section*.25) (section*.57)]
+>> endobj
+2687 0 obj <<
+/Kids [2649 0 R 2650 0 R 2651 0 R 2652 0 R 2653 0 R 2654 0 R]
+/Limits [(section*.58) (section.6)]
+>> endobj
+2688 0 obj <<
+/Kids [2655 0 R 2656 0 R 2657 0 R 2658 0 R 2659 0 R 2660 0 R]
+/Limits [(section.7) (subsection.10.7)]
+>> endobj
+2689 0 obj <<
+/Kids [2661 0 R 2662 0 R 2663 0 R 2664 0 R 2665 0 R 2666 0 R]
+/Limits [(subsection.10.8) (subsubsection.10.28.1)]
+>> endobj
+2690 0 obj <<
+/Kids [2667 0 R 2668 0 R 2669 0 R 2670 0 R]
+/Limits [(subsubsection.10.28.2) (subsubsection.9.1.1)]
+>> endobj
+2691 0 obj <<
+/Kids [2671 0 R 2672 0 R 2673 0 R 2674 0 R 2675 0 R 2676 0 R]
+/Limits [(Doc-Start) (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890)]
+>> endobj
+2692 0 obj <<
+/Kids [2677 0 R 2678 0 R 2679 0 R 2680 0 R 2681 0 R 2682 0 R]
+/Limits [(classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) (paragraph.10.24.2.2)]
+>> endobj
+2693 0 obj <<
+/Kids [2683 0 R 2684 0 R 2685 0 R 2686 0 R 2687 0 R 2688 0 R]
+/Limits [(paragraph.10.24.3.1) (subsection.10.7)]
+>> endobj
+2694 0 obj <<
+/Kids [2689 0 R 2690 0 R]
+/Limits [(subsection.10.8) (subsubsection.9.1.1)]
+>> endobj
+2695 0 obj <<
+/Kids [2691 0 R 2692 0 R 2693 0 R 2694 0 R]
+/Limits [(Doc-Start) (subsubsection.9.1.1)]
+>> endobj
+2696 0 obj <<
+/Dests 2695 0 R
+>> endobj
+2697 0 obj <<
+/Type /Catalog
+/Pages 2551 0 R
+/Outlines 2552 0 R
+/Names 2696 0 R
+/PageMode/UseOutlines/PageLabels << /Nums [0 << /S /D >> 1 << /S /r >> 2 << /S /D >> ] >>
+/OpenAction 209 0 R
+>> endobj
+2698 0 obj <<
+/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfTeX-1.40.3)/Keywords()
+/CreationDate (D:20090410214622+02'00')
+/ModDate (D:20090410214622+02'00')
+/Trapped /False
+/PTEX.Fullbanner (This is pdfTeX using libpoppler, Version 3.141592-1.40.3-2.2 (Web2C 7.5.6) kpathsea version 3.5.6)
+>> endobj
+xref
+0 2699
+0000000001 65535 f 
+0000000002 00000 f 
+0000000003 00000 f 
+0000000004 00000 f 
+0000000000 00000 f 
+0000000015 00000 n 
+0000035205 00000 n 
+0000671060 00000 n 
+0000000060 00000 n 
+0000000134 00000 n 
+0000039325 00000 n 
+0000670973 00000 n 
+0000000179 00000 n 
+0000000345 00000 n 
+0000073670 00000 n 
+0000670884 00000 n 
+0000000391 00000 n 
+0000000577 00000 n 
+0000093018 00000 n 
+0000670758 00000 n 
+0000000623 00000 n 
+0000000713 00000 n 
+0000093074 00000 n 
+0000670697 00000 n 
+0000000764 00000 n 
+0000000826 00000 n 
+0000098580 00000 n 
+0000670571 00000 n 
+0000000872 00000 n 
+0000000977 00000 n 
+0000098636 00000 n 
+0000670510 00000 n 
+0000001028 00000 n 
+0000001128 00000 n 
+0000098692 00000 n 
+0000670384 00000 n 
+0000001174 00000 n 
+0000001259 00000 n 
+0000098748 00000 n 
+0000670323 00000 n 
+0000001310 00000 n 
+0000001415 00000 n 
+0000107021 00000 n 
+0000670197 00000 n 
+0000001461 00000 n 
+0000001546 00000 n 
+0000107076 00000 n 
+0000670136 00000 n 
+0000001597 00000 n 
+0000001677 00000 n 
+0000123491 00000 n 
+0000670010 00000 n 
+0000001723 00000 n 
+0000001853 00000 n 
+0000123604 00000 n 
+0000669949 00000 n 
+0000001904 00000 n 
+0000002052 00000 n 
+0000152713 00000 n 
+0000669823 00000 n 
+0000002098 00000 n 
+0000002243 00000 n 
+0000152824 00000 n 
+0000669762 00000 n 
+0000002294 00000 n 
+0000002548 00000 n 
+0000173574 00000 n 
+0000669647 00000 n 
+0000002595 00000 n 
+0000002720 00000 n 
+0000173687 00000 n 
+0000669573 00000 n 
+0000002772 00000 n 
+0000003110 00000 n 
+0000180519 00000 n 
+0000669486 00000 n 
+0000003162 00000 n 
+0000003469 00000 n 
+0000189360 00000 n 
+0000669399 00000 n 
+0000003521 00000 n 
+0000003820 00000 n 
+0000194703 00000 n 
+0000669312 00000 n 
+0000003872 00000 n 
+0000004166 00000 n 
+0000199807 00000 n 
+0000669225 00000 n 
+0000004218 00000 n 
+0000004550 00000 n 
+0000205263 00000 n 
+0000669138 00000 n 
+0000004602 00000 n 
+0000004896 00000 n 
+0000208825 00000 n 
+0000669051 00000 n 
+0000004948 00000 n 
+0000005280 00000 n 
+0000209235 00000 n 
+0000668962 00000 n 
+0000005332 00000 n 
+0000005693 00000 n 
+0000209527 00000 n 
+0000668871 00000 n 
+0000005746 00000 n 
+0000006036 00000 n 
+0000218626 00000 n 
+0000668779 00000 n 
+0000006090 00000 n 
+0000006418 00000 n 
+0000224693 00000 n 
+0000668687 00000 n 
+0000006472 00000 n 
+0000006790 00000 n 
+0000227737 00000 n 
+0000668595 00000 n 
+0000006844 00000 n 
+0000007200 00000 n 
+0000231279 00000 n 
+0000668503 00000 n 
+0000007254 00000 n 
+0000007635 00000 n 
+0000231572 00000 n 
+0000668411 00000 n 
+0000007689 00000 n 
+0000007944 00000 n 
+0000236096 00000 n 
+0000668319 00000 n 
+0000007998 00000 n 
+0000008359 00000 n 
+0000236389 00000 n 
+0000668227 00000 n 
+0000008413 00000 n 
+0000008746 00000 n 
+0000245518 00000 n 
+0000668135 00000 n 
+0000008800 00000 n 
+0000009196 00000 n 
+0000251324 00000 n 
+0000668043 00000 n 
+0000009250 00000 n 
+0000009641 00000 n 
+0000258057 00000 n 
+0000667951 00000 n 
+0000009695 00000 n 
+0000010051 00000 n 
+0000258702 00000 n 
+0000667859 00000 n 
+0000010105 00000 n 
+0000010471 00000 n 
+0000264926 00000 n 
+0000667767 00000 n 
+0000010525 00000 n 
+0000010924 00000 n 
+0000268964 00000 n 
+0000667675 00000 n 
+0000010978 00000 n 
+0000011359 00000 n 
+0000269375 00000 n 
+0000667583 00000 n 
+0000011413 00000 n 
+0000011769 00000 n 
+0000276305 00000 n 
+0000667491 00000 n 
+0000011823 00000 n 
+0000012126 00000 n 
+0000300853 00000 n 
+0000667399 00000 n 
+0000012180 00000 n 
+0000012551 00000 n 
+0000304422 00000 n 
+0000667307 00000 n 
+0000012605 00000 n 
+0000012919 00000 n 
+0000304774 00000 n 
+0000667215 00000 n 
+0000012973 00000 n 
+0000013339 00000 n 
+0000312612 00000 n 
+0000667123 00000 n 
+0000013393 00000 n 
+0000013741 00000 n 
+0000320743 00000 n 
+0000667031 00000 n 
+0000013795 00000 n 
+0000014199 00000 n 
+0000326484 00000 n 
+0000666939 00000 n 
+0000014253 00000 n 
+0000014705 00000 n 
+0000332830 00000 n 
+0000666847 00000 n 
+0000014759 00000 n 
+0000015095 00000 n 
+0000336998 00000 n 
+0000666755 00000 n 
+0000015149 00000 n 
+0000015485 00000 n 
+0000337527 00000 n 
+0000666663 00000 n 
+0000015539 00000 n 
+0000015834 00000 n 
+0000450337 00000 n 
+0000666571 00000 n 
+0000015888 00000 n 
+0000016173 00000 n 
+0000450866 00000 n 
+0000666493 00000 n 
+0000016227 00000 n 
+0000016540 00000 n 
+0000017829 00000 n 
+0000018062 00000 n 
+0000016592 00000 n 
+0000017948 00000 n 
+0000018005 00000 n 
+0000663813 00000 n 
+0000661947 00000 n 
+0000662378 00000 n 
+0000662091 00000 n 
+0000664169 00000 n 
+0000020299 00000 n 
+0000020465 00000 n 
+0000020617 00000 n 
+0000020783 00000 n 
+0000021081 00000 n 
+0000021256 00000 n 
+0000021406 00000 n 
+0000021557 00000 n 
+0000021708 00000 n 
+0000021859 00000 n 
+0000022016 00000 n 
+0000022167 00000 n 
+0000022324 00000 n 
+0000022475 00000 n 
+0000022632 00000 n 
+0000022783 00000 n 
+0000022939 00000 n 
+0000023090 00000 n 
+0000023246 00000 n 
+0000023397 00000 n 
+0000023553 00000 n 
+0000025832 00000 n 
+0000023702 00000 n 
+0000023987 00000 n 
+0000019984 00000 n 
+0000018173 00000 n 
+0000023873 00000 n 
+0000663457 00000 n 
+0000020933 00000 n 
+0000663105 00000 n 
+0000023930 00000 n 
+0000073783 00000 n 
+0000039438 00000 n 
+0000025990 00000 n 
+0000026148 00000 n 
+0000026306 00000 n 
+0000026463 00000 n 
+0000026621 00000 n 
+0000026778 00000 n 
+0000026935 00000 n 
+0000027093 00000 n 
+0000027251 00000 n 
+0000027410 00000 n 
+0000027569 00000 n 
+0000027728 00000 n 
+0000027886 00000 n 
+0000028045 00000 n 
+0000028204 00000 n 
+0000028363 00000 n 
+0000028522 00000 n 
+0000028680 00000 n 
+0000028838 00000 n 
+0000028997 00000 n 
+0000029156 00000 n 
+0000029315 00000 n 
+0000029473 00000 n 
+0000029632 00000 n 
+0000029791 00000 n 
+0000029950 00000 n 
+0000030109 00000 n 
+0000030267 00000 n 
+0000030424 00000 n 
+0000030582 00000 n 
+0000030741 00000 n 
+0000030900 00000 n 
+0000031059 00000 n 
+0000031218 00000 n 
+0000031377 00000 n 
+0000031548 00000 n 
+0000025413 00000 n 
+0000024085 00000 n 
+0000660639 00000 n 
+0000034977 00000 n 
+0000035374 00000 n 
+0000034838 00000 n 
+0000031659 00000 n 
+0000035148 00000 n 
+0000035260 00000 n 
+0000663989 00000 n 
+0000035317 00000 n 
+0000661369 00000 n 
+0000038934 00000 n 
+0000039097 00000 n 
+0000039552 00000 n 
+0000038787 00000 n 
+0000035523 00000 n 
+0000039268 00000 n 
+0000039381 00000 n 
+0000039495 00000 n 
+0000042988 00000 n 
+0000043386 00000 n 
+0000042849 00000 n 
+0000039650 00000 n 
+0000043159 00000 n 
+0000043216 00000 n 
+0000043273 00000 n 
+0000043329 00000 n 
+0000046610 00000 n 
+0000047005 00000 n 
+0000046471 00000 n 
+0000043484 00000 n 
+0000046781 00000 n 
+0000046838 00000 n 
+0000046895 00000 n 
+0000046950 00000 n 
+0000664287 00000 n 
+0000050392 00000 n 
+0000050734 00000 n 
+0000050253 00000 n 
+0000047103 00000 n 
+0000050563 00000 n 
+0000050620 00000 n 
+0000050677 00000 n 
+0000054491 00000 n 
+0000054776 00000 n 
+0000054352 00000 n 
+0000050832 00000 n 
+0000054662 00000 n 
+0000054719 00000 n 
+0000058125 00000 n 
+0000058409 00000 n 
+0000057986 00000 n 
+0000054874 00000 n 
+0000058296 00000 n 
+0000058353 00000 n 
+0000062011 00000 n 
+0000062410 00000 n 
+0000061872 00000 n 
+0000058507 00000 n 
+0000062182 00000 n 
+0000062239 00000 n 
+0000062296 00000 n 
+0000062353 00000 n 
+0000065968 00000 n 
+0000066367 00000 n 
+0000065829 00000 n 
+0000062508 00000 n 
+0000066139 00000 n 
+0000066196 00000 n 
+0000066253 00000 n 
+0000066310 00000 n 
+0000069469 00000 n 
+0000069925 00000 n 
+0000069330 00000 n 
+0000066465 00000 n 
+0000069640 00000 n 
+0000069697 00000 n 
+0000069754 00000 n 
+0000069811 00000 n 
+0000069868 00000 n 
+0000663279 00000 n 
+0000664405 00000 n 
+0000072897 00000 n 
+0000073072 00000 n 
+0000073248 00000 n 
+0000073442 00000 n 
+0000073840 00000 n 
+0000072734 00000 n 
+0000070036 00000 n 
+0000073613 00000 n 
+0000073726 00000 n 
+0000077886 00000 n 
+0000078114 00000 n 
+0000077747 00000 n 
+0000073951 00000 n 
+0000078057 00000 n 
+0000082066 00000 n 
+0000082294 00000 n 
+0000081927 00000 n 
+0000078212 00000 n 
+0000082237 00000 n 
+0000085717 00000 n 
+0000085945 00000 n 
+0000085578 00000 n 
+0000082392 00000 n 
+0000085888 00000 n 
+0000089406 00000 n 
+0000089634 00000 n 
+0000089267 00000 n 
+0000086043 00000 n 
+0000089577 00000 n 
+0000092401 00000 n 
+0000092577 00000 n 
+0000092733 00000 n 
+0000093130 00000 n 
+0000092246 00000 n 
+0000089732 00000 n 
+0000092904 00000 n 
+0000092961 00000 n 
+0000664523 00000 n 
+0000094693 00000 n 
+0000094870 00000 n 
+0000095027 00000 n 
+0000095185 00000 n 
+0000095343 00000 n 
+0000095501 00000 n 
+0000095659 00000 n 
+0000095817 00000 n 
+0000095975 00000 n 
+0000096133 00000 n 
+0000096291 00000 n 
+0000096448 00000 n 
+0000096607 00000 n 
+0000096766 00000 n 
+0000096924 00000 n 
+0000097083 00000 n 
+0000097242 00000 n 
+0000097401 00000 n 
+0000097560 00000 n 
+0000097719 00000 n 
+0000097877 00000 n 
+0000098036 00000 n 
+0000098195 00000 n 
+0000100725 00000 n 
+0000098352 00000 n 
+0000098804 00000 n 
+0000094370 00000 n 
+0000093228 00000 n 
+0000098523 00000 n 
+0000152768 00000 n 
+0000100883 00000 n 
+0000101042 00000 n 
+0000101200 00000 n 
+0000101359 00000 n 
+0000101518 00000 n 
+0000101677 00000 n 
+0000101836 00000 n 
+0000101995 00000 n 
+0000102154 00000 n 
+0000102313 00000 n 
+0000102472 00000 n 
+0000102629 00000 n 
+0000102788 00000 n 
+0000102947 00000 n 
+0000103148 00000 n 
+0000103306 00000 n 
+0000103496 00000 n 
+0000103654 00000 n 
+0000103842 00000 n 
+0000104000 00000 n 
+0000104187 00000 n 
+0000104345 00000 n 
+0000104538 00000 n 
+0000104695 00000 n 
+0000104882 00000 n 
+0000105040 00000 n 
+0000105234 00000 n 
+0000105392 00000 n 
+0000105593 00000 n 
+0000105750 00000 n 
+0000105935 00000 n 
+0000106093 00000 n 
+0000106287 00000 n 
+0000106446 00000 n 
+0000106636 00000 n 
+0000109457 00000 n 
+0000109657 00000 n 
+0000106793 00000 n 
+0000107132 00000 n 
+0000100298 00000 n 
+0000098915 00000 n 
+0000106964 00000 n 
+0000173630 00000 n 
+0000180462 00000 n 
+0000189304 00000 n 
+0000194646 00000 n 
+0000199750 00000 n 
+0000205206 00000 n 
+0000205775 00000 n 
+0000209177 00000 n 
+0000209469 00000 n 
+0000218568 00000 n 
+0000224635 00000 n 
+0000109815 00000 n 
+0000110020 00000 n 
+0000110179 00000 n 
+0000110358 00000 n 
+0000110517 00000 n 
+0000110718 00000 n 
+0000110877 00000 n 
+0000111072 00000 n 
+0000111231 00000 n 
+0000111439 00000 n 
+0000111598 00000 n 
+0000111805 00000 n 
+0000111964 00000 n 
+0000112164 00000 n 
+0000112323 00000 n 
+0000112525 00000 n 
+0000112684 00000 n 
+0000112892 00000 n 
+0000113051 00000 n 
+0000113256 00000 n 
+0000113415 00000 n 
+0000113615 00000 n 
+0000113774 00000 n 
+0000113963 00000 n 
+0000114122 00000 n 
+0000114325 00000 n 
+0000114484 00000 n 
+0000114683 00000 n 
+0000114842 00000 n 
+0000115044 00000 n 
+0000115203 00000 n 
+0000115401 00000 n 
+0000115560 00000 n 
+0000115770 00000 n 
+0000115960 00000 n 
+0000116119 00000 n 
+0000116339 00000 n 
+0000116548 00000 n 
+0000116707 00000 n 
+0000116903 00000 n 
+0000117062 00000 n 
+0000117258 00000 n 
+0000117417 00000 n 
+0000117604 00000 n 
+0000119639 00000 n 
+0000119823 00000 n 
+0000117761 00000 n 
+0000117989 00000 n 
+0000108950 00000 n 
+0000107243 00000 n 
+0000117932 00000 n 
+0000227680 00000 n 
+0000231221 00000 n 
+0000231514 00000 n 
+0000236038 00000 n 
+0000236331 00000 n 
+0000245460 00000 n 
+0000251267 00000 n 
+0000251913 00000 n 
+0000258645 00000 n 
+0000264868 00000 n 
+0000268906 00000 n 
+0000269317 00000 n 
+0000276247 00000 n 
+0000300795 00000 n 
+0000304364 00000 n 
+0000304716 00000 n 
+0000309600 00000 n 
+0000313206 00000 n 
+0000326426 00000 n 
+0000332772 00000 n 
+0000336940 00000 n 
+0000337469 00000 n 
+0000119981 00000 n 
+0000120172 00000 n 
+0000120331 00000 n 
+0000120532 00000 n 
+0000120720 00000 n 
+0000120907 00000 n 
+0000121100 00000 n 
+0000121287 00000 n 
+0000121482 00000 n 
+0000121682 00000 n 
+0000121869 00000 n 
+0000122059 00000 n 
+0000122268 00000 n 
+0000122456 00000 n 
+0000122675 00000 n 
+0000122884 00000 n 
+0000123070 00000 n 
+0000125291 00000 n 
+0000123263 00000 n 
+0000123717 00000 n 
+0000119348 00000 n 
+0000118100 00000 n 
+0000123434 00000 n 
+0000123547 00000 n 
+0000123660 00000 n 
+0000450279 00000 n 
+0000450808 00000 n 
+0000125483 00000 n 
+0000125683 00000 n 
+0000125887 00000 n 
+0000126066 00000 n 
+0000126266 00000 n 
+0000126460 00000 n 
+0000126668 00000 n 
+0000126873 00000 n 
+0000127073 00000 n 
+0000127275 00000 n 
+0000127484 00000 n 
+0000127689 00000 n 
+0000127889 00000 n 
+0000128078 00000 n 
+0000128281 00000 n 
+0000128480 00000 n 
+0000130886 00000 n 
+0000128682 00000 n 
+0000128910 00000 n 
+0000125016 00000 n 
+0000123841 00000 n 
+0000128853 00000 n 
+0000131083 00000 n 
+0000131278 00000 n 
+0000131463 00000 n 
+0000131639 00000 n 
+0000131843 00000 n 
+0000132315 00000 n 
+0000132551 00000 n 
+0000133024 00000 n 
+0000133228 00000 n 
+0000133465 00000 n 
+0000133668 00000 n 
+0000134141 00000 n 
+0000134376 00000 n 
+0000134612 00000 n 
+0000134816 00000 n 
+0000135052 00000 n 
+0000135288 00000 n 
+0000135492 00000 n 
+0000135728 00000 n 
+0000135964 00000 n 
+0000136201 00000 n 
+0000136674 00000 n 
+0000136878 00000 n 
+0000137115 00000 n 
+0000137587 00000 n 
+0000137823 00000 n 
+0000138027 00000 n 
+0000138499 00000 n 
+0000138971 00000 n 
+0000141331 00000 n 
+0000141535 00000 n 
+0000142007 00000 n 
+0000139208 00000 n 
+0000139550 00000 n 
+0000130451 00000 n 
+0000129034 00000 n 
+0000139379 00000 n 
+0000139436 00000 n 
+0000139493 00000 n 
+0000132079 00000 n 
+0000132788 00000 n 
+0000133905 00000 n 
+0000136438 00000 n 
+0000137352 00000 n 
+0000138264 00000 n 
+0000138735 00000 n 
+0000664641 00000 n 
+0000144392 00000 n 
+0000144504 00000 n 
+0000144566 00000 n 
+0000144628 00000 n 
+0000144690 00000 n 
+0000144804 00000 n 
+0000144866 00000 n 
+0000144979 00000 n 
+0000145041 00000 n 
+0000145103 00000 n 
+0000145164 00000 n 
+0000147146 00000 n 
+0000147207 00000 n 
+0000147269 00000 n 
+0000147381 00000 n 
+0000147443 00000 n 
+0000147505 00000 n 
+0000147567 00000 n 
+0000147629 00000 n 
+0000147743 00000 n 
+0000147805 00000 n 
+0000147919 00000 n 
+0000147981 00000 n 
+0000148043 00000 n 
+0000142243 00000 n 
+0000142447 00000 n 
+0000142683 00000 n 
+0000142920 00000 n 
+0000143392 00000 n 
+0000143628 00000 n 
+0000143862 00000 n 
+0000144050 00000 n 
+0000145221 00000 n 
+0000141096 00000 n 
+0000139661 00000 n 
+0000144221 00000 n 
+0000141772 00000 n 
+0000143157 00000 n 
+0000144278 00000 n 
+0000144335 00000 n 
+0000144448 00000 n 
+0000663633 00000 n 
+0000144747 00000 n 
+0000144922 00000 n 
+0000148105 00000 n 
+0000148219 00000 n 
+0000148281 00000 n 
+0000148343 00000 n 
+0000152406 00000 n 
+0000152467 00000 n 
+0000152528 00000 n 
+0000152589 00000 n 
+0000152651 00000 n 
+0000146672 00000 n 
+0000146861 00000 n 
+0000148399 00000 n 
+0000146525 00000 n 
+0000145345 00000 n 
+0000147032 00000 n 
+0000147089 00000 n 
+0000147325 00000 n 
+0000147686 00000 n 
+0000147862 00000 n 
+0000148162 00000 n 
+0000150000 00000 n 
+0000150200 00000 n 
+0000150387 00000 n 
+0000150572 00000 n 
+0000150766 00000 n 
+0000150953 00000 n 
+0000151148 00000 n 
+0000151349 00000 n 
+0000151536 00000 n 
+0000151724 00000 n 
+0000151934 00000 n 
+0000154477 00000 n 
+0000154696 00000 n 
+0000152121 00000 n 
+0000152936 00000 n 
+0000149773 00000 n 
+0000148510 00000 n 
+0000152292 00000 n 
+0000152349 00000 n 
+0000152879 00000 n 
+0000154903 00000 n 
+0000155089 00000 n 
+0000155283 00000 n 
+0000155475 00000 n 
+0000155675 00000 n 
+0000155880 00000 n 
+0000156059 00000 n 
+0000156260 00000 n 
+0000156454 00000 n 
+0000156661 00000 n 
+0000156867 00000 n 
+0000157066 00000 n 
+0000157268 00000 n 
+0000157476 00000 n 
+0000157680 00000 n 
+0000157880 00000 n 
+0000160257 00000 n 
+0000158067 00000 n 
+0000158295 00000 n 
+0000154194 00000 n 
+0000153073 00000 n 
+0000158238 00000 n 
+0000160460 00000 n 
+0000160659 00000 n 
+0000160861 00000 n 
+0000161058 00000 n 
+0000161254 00000 n 
+0000161449 00000 n 
+0000161633 00000 n 
+0000161824 00000 n 
+0000162028 00000 n 
+0000162265 00000 n 
+0000162502 00000 n 
+0000162975 00000 n 
+0000163179 00000 n 
+0000163416 00000 n 
+0000163618 00000 n 
+0000163853 00000 n 
+0000164324 00000 n 
+0000164561 00000 n 
+0000164764 00000 n 
+0000165000 00000 n 
+0000165235 00000 n 
+0000165439 00000 n 
+0000165676 00000 n 
+0000165913 00000 n 
+0000166150 00000 n 
+0000166387 00000 n 
+0000166591 00000 n 
+0000166828 00000 n 
+0000167065 00000 n 
+0000169376 00000 n 
+0000169579 00000 n 
+0000169816 00000 n 
+0000170053 00000 n 
+0000167302 00000 n 
+0000167587 00000 n 
+0000159862 00000 n 
+0000158406 00000 n 
+0000167473 00000 n 
+0000167530 00000 n 
+0000162739 00000 n 
+0000164088 00000 n 
+0000170289 00000 n 
+0000170493 00000 n 
+0000170730 00000 n 
+0000170967 00000 n 
+0000171171 00000 n 
+0000171407 00000 n 
+0000171644 00000 n 
+0000171881 00000 n 
+0000172118 00000 n 
+0000172354 00000 n 
+0000172587 00000 n 
+0000172821 00000 n 
+0000173055 00000 n 
+0000173289 00000 n 
+0000174085 00000 n 
+0000169101 00000 n 
+0000167711 00000 n 
+0000173460 00000 n 
+0000173517 00000 n 
+0000660785 00000 n 
+0000173743 00000 n 
+0000173800 00000 n 
+0000173857 00000 n 
+0000173914 00000 n 
+0000173971 00000 n 
+0000174028 00000 n 
+0000664759 00000 n 
+0000176416 00000 n 
+0000176602 00000 n 
+0000176825 00000 n 
+0000177029 00000 n 
+0000177251 00000 n 
+0000177440 00000 n 
+0000177663 00000 n 
+0000177853 00000 n 
+0000178057 00000 n 
+0000178279 00000 n 
+0000178473 00000 n 
+0000178696 00000 n 
+0000178891 00000 n 
+0000179113 00000 n 
+0000179336 00000 n 
+0000179558 00000 n 
+0000179761 00000 n 
+0000179984 00000 n 
+0000182937 00000 n 
+0000183160 00000 n 
+0000180177 00000 n 
+0000180803 00000 n 
+0000176133 00000 n 
+0000174209 00000 n 
+0000180348 00000 n 
+0000180405 00000 n 
+0000180575 00000 n 
+0000180632 00000 n 
+0000180689 00000 n 
+0000180746 00000 n 
+0000185060 00000 n 
+0000185174 00000 n 
+0000185288 00000 n 
+0000185407 00000 n 
+0000185526 00000 n 
+0000188900 00000 n 
+0000183350 00000 n 
+0000183539 00000 n 
+0000183760 00000 n 
+0000184135 00000 n 
+0000184324 00000 n 
+0000184547 00000 n 
+0000185588 00000 n 
+0000182734 00000 n 
+0000180914 00000 n 
+0000184718 00000 n 
+0000184775 00000 n 
+0000183948 00000 n 
+0000184832 00000 n 
+0000184889 00000 n 
+0000184946 00000 n 
+0000185003 00000 n 
+0000185117 00000 n 
+0000185231 00000 n 
+0000185350 00000 n 
+0000185469 00000 n 
+0000189076 00000 n 
+0000189190 00000 n 
+0000187973 00000 n 
+0000188178 00000 n 
+0000188397 00000 n 
+0000191532 00000 n 
+0000188615 00000 n 
+0000189587 00000 n 
+0000187810 00000 n 
+0000185725 00000 n 
+0000188786 00000 n 
+0000188843 00000 n 
+0000188962 00000 n 
+0000189019 00000 n 
+0000189133 00000 n 
+0000189247 00000 n 
+0000189416 00000 n 
+0000189473 00000 n 
+0000189530 00000 n 
+0000191752 00000 n 
+0000191972 00000 n 
+0000192192 00000 n 
+0000192379 00000 n 
+0000192600 00000 n 
+0000192788 00000 n 
+0000193007 00000 n 
+0000193202 00000 n 
+0000193397 00000 n 
+0000193585 00000 n 
+0000193802 00000 n 
+0000197086 00000 n 
+0000197273 00000 n 
+0000194020 00000 n 
+0000194986 00000 n 
+0000191297 00000 n 
+0000189724 00000 n 
+0000194191 00000 n 
+0000194248 00000 n 
+0000194305 00000 n 
+0000194362 00000 n 
+0000194418 00000 n 
+0000194475 00000 n 
+0000194532 00000 n 
+0000194589 00000 n 
+0000194759 00000 n 
+0000194816 00000 n 
+0000662668 00000 n 
+0000661803 00000 n 
+0000194873 00000 n 
+0000194929 00000 n 
+0000197493 00000 n 
+0000197686 00000 n 
+0000197906 00000 n 
+0000198098 00000 n 
+0000198317 00000 n 
+0000198503 00000 n 
+0000198730 00000 n 
+0000198955 00000 n 
+0000201863 00000 n 
+0000202057 00000 n 
+0000199181 00000 n 
+0000200090 00000 n 
+0000196867 00000 n 
+0000195136 00000 n 
+0000199352 00000 n 
+0000199409 00000 n 
+0000199466 00000 n 
+0000199523 00000 n 
+0000199580 00000 n 
+0000199637 00000 n 
+0000199694 00000 n 
+0000660494 00000 n 
+0000661077 00000 n 
+0000662235 00000 n 
+0000661659 00000 n 
+0000199863 00000 n 
+0000199920 00000 n 
+0000199977 00000 n 
+0000200034 00000 n 
+0000202244 00000 n 
+0000202463 00000 n 
+0000202658 00000 n 
+0000202862 00000 n 
+0000203057 00000 n 
+0000203250 00000 n 
+0000203469 00000 n 
+0000203661 00000 n 
+0000203880 00000 n 
+0000204082 00000 n 
+0000204301 00000 n 
+0000204518 00000 n 
+0000204736 00000 n 
+0000204921 00000 n 
+0000205831 00000 n 
+0000201604 00000 n 
+0000200289 00000 n 
+0000205092 00000 n 
+0000205149 00000 n 
+0000205319 00000 n 
+0000205376 00000 n 
+0000205433 00000 n 
+0000205490 00000 n 
+0000205547 00000 n 
+0000205604 00000 n 
+0000205661 00000 n 
+0000205718 00000 n 
+0000664877 00000 n 
+0000207299 00000 n 
+0000207526 00000 n 
+0000207752 00000 n 
+0000207979 00000 n 
+0000208174 00000 n 
+0000208360 00000 n 
+0000211442 00000 n 
+0000211630 00000 n 
+0000208594 00000 n 
+0000209585 00000 n 
+0000207103 00000 n 
+0000205942 00000 n 
+0000208766 00000 n 
+0000208882 00000 n 
+0000208941 00000 n 
+0000209000 00000 n 
+0000209059 00000 n 
+0000209118 00000 n 
+0000209292 00000 n 
+0000209351 00000 n 
+0000209410 00000 n 
+0000211850 00000 n 
+0000212067 00000 n 
+0000212285 00000 n 
+0000212471 00000 n 
+0000212690 00000 n 
+0000212885 00000 n 
+0000213073 00000 n 
+0000213260 00000 n 
+0000213480 00000 n 
+0000213676 00000 n 
+0000213863 00000 n 
+0000214083 00000 n 
+0000214279 00000 n 
+0000214468 00000 n 
+0000214655 00000 n 
+0000214875 00000 n 
+0000215071 00000 n 
+0000215257 00000 n 
+0000216017 00000 n 
+0000211128 00000 n 
+0000209697 00000 n 
+0000215429 00000 n 
+0000215488 00000 n 
+0000215547 00000 n 
+0000215606 00000 n 
+0000215665 00000 n 
+0000215723 00000 n 
+0000215782 00000 n 
+0000215841 00000 n 
+0000215900 00000 n 
+0000215959 00000 n 
+0000218450 00000 n 
+0000218214 00000 n 
+0000218332 00000 n 
+0000217697 00000 n 
+0000220545 00000 n 
+0000220770 00000 n 
+0000217924 00000 n 
+0000218802 00000 n 
+0000217545 00000 n 
+0000216142 00000 n 
+0000218096 00000 n 
+0000218155 00000 n 
+0000218273 00000 n 
+0000218391 00000 n 
+0000218509 00000 n 
+0000218684 00000 n 
+0000218743 00000 n 
+0000220996 00000 n 
+0000221190 00000 n 
+0000221376 00000 n 
+0000221599 00000 n 
+0000221823 00000 n 
+0000222014 00000 n 
+0000222238 00000 n 
+0000222432 00000 n 
+0000222624 00000 n 
+0000222849 00000 n 
+0000223044 00000 n 
+0000223232 00000 n 
+0000223425 00000 n 
+0000223651 00000 n 
+0000223847 00000 n 
+0000224035 00000 n 
+0000224227 00000 n 
+0000225046 00000 n 
+0000220240 00000 n 
+0000218927 00000 n 
+0000224399 00000 n 
+0000224458 00000 n 
+0000224517 00000 n 
+0000224576 00000 n 
+0000224751 00000 n 
+0000224810 00000 n 
+0000224869 00000 n 
+0000224928 00000 n 
+0000224987 00000 n 
+0000227326 00000 n 
+0000227444 00000 n 
+0000227562 00000 n 
+0000226803 00000 n 
+0000229509 00000 n 
+0000227036 00000 n 
+0000227913 00000 n 
+0000226651 00000 n 
+0000225158 00000 n 
+0000227208 00000 n 
+0000227267 00000 n 
+0000227385 00000 n 
+0000227503 00000 n 
+0000227621 00000 n 
+0000227795 00000 n 
+0000227854 00000 n 
+0000229740 00000 n 
+0000229971 00000 n 
+0000230172 00000 n 
+0000230365 00000 n 
+0000230603 00000 n 
+0000230815 00000 n 
+0000231689 00000 n 
+0000229311 00000 n 
+0000228038 00000 n 
+0000230987 00000 n 
+0000231046 00000 n 
+0000231105 00000 n 
+0000231162 00000 n 
+0000231337 00000 n 
+0000231396 00000 n 
+0000231455 00000 n 
+0000231630 00000 n 
+0000665000 00000 n 
+0000235920 00000 n 
+0000233491 00000 n 
+0000233724 00000 n 
+0000233933 00000 n 
+0000234348 00000 n 
+0000234549 00000 n 
+0000234953 00000 n 
+0000235368 00000 n 
+0000238415 00000 n 
+0000238608 00000 n 
+0000238836 00000 n 
+0000235571 00000 n 
+0000236447 00000 n 
+0000233257 00000 n 
+0000231801 00000 n 
+0000235743 00000 n 
+0000235802 00000 n 
+0000235861 00000 n 
+0000235979 00000 n 
+0000236154 00000 n 
+0000236213 00000 n 
+0000236272 00000 n 
+0000234141 00000 n 
+0000234752 00000 n 
+0000235162 00000 n 
+0000239031 00000 n 
+0000239224 00000 n 
+0000239452 00000 n 
+0000239647 00000 n 
+0000239841 00000 n 
+0000240070 00000 n 
+0000240259 00000 n 
+0000240452 00000 n 
+0000240680 00000 n 
+0000240875 00000 n 
+0000241103 00000 n 
+0000241329 00000 n 
+0000241555 00000 n 
+0000241749 00000 n 
+0000242160 00000 n 
+0000242369 00000 n 
+0000242570 00000 n 
+0000242985 00000 n 
+0000243195 00000 n 
+0000243390 00000 n 
+0000243630 00000 n 
+0000243818 00000 n 
+0000244006 00000 n 
+0000244248 00000 n 
+0000244456 00000 n 
+0000247416 00000 n 
+0000247604 00000 n 
+0000244698 00000 n 
+0000245812 00000 n 
+0000238001 00000 n 
+0000236572 00000 n 
+0000244870 00000 n 
+0000244929 00000 n 
+0000244988 00000 n 
+0000245047 00000 n 
+0000245106 00000 n 
+0000245165 00000 n 
+0000245224 00000 n 
+0000245283 00000 n 
+0000245342 00000 n 
+0000245401 00000 n 
+0000241955 00000 n 
+0000242778 00000 n 
+0000245576 00000 n 
+0000245635 00000 n 
+0000245694 00000 n 
+0000245753 00000 n 
+0000247846 00000 n 
+0000248041 00000 n 
+0000248281 00000 n 
+0000248477 00000 n 
+0000248673 00000 n 
+0000248867 00000 n 
+0000249107 00000 n 
+0000249301 00000 n 
+0000249542 00000 n 
+0000249749 00000 n 
+0000249989 00000 n 
+0000250183 00000 n 
+0000250424 00000 n 
+0000250618 00000 n 
+0000250859 00000 n 
+0000251969 00000 n 
+0000247128 00000 n 
+0000245924 00000 n 
+0000251031 00000 n 
+0000251090 00000 n 
+0000251149 00000 n 
+0000251208 00000 n 
+0000251382 00000 n 
+0000251441 00000 n 
+0000251500 00000 n 
+0000251559 00000 n 
+0000251618 00000 n 
+0000251677 00000 n 
+0000251736 00000 n 
+0000251795 00000 n 
+0000251854 00000 n 
+0000253622 00000 n 
+0000253817 00000 n 
+0000254050 00000 n 
+0000254246 00000 n 
+0000254442 00000 n 
+0000254636 00000 n 
+0000254869 00000 n 
+0000255063 00000 n 
+0000255297 00000 n 
+0000255496 00000 n 
+0000255729 00000 n 
+0000255923 00000 n 
+0000256157 00000 n 
+0000256351 00000 n 
+0000256585 00000 n 
+0000256780 00000 n 
+0000257015 00000 n 
+0000257211 00000 n 
+0000257399 00000 n 
+0000257592 00000 n 
+0000260587 00000 n 
+0000260780 00000 n 
+0000257826 00000 n 
+0000258936 00000 n 
+0000253298 00000 n 
+0000252081 00000 n 
+0000257998 00000 n 
+0000258115 00000 n 
+0000258174 00000 n 
+0000258233 00000 n 
+0000258292 00000 n 
+0000258351 00000 n 
+0000258409 00000 n 
+0000258468 00000 n 
+0000258527 00000 n 
+0000258586 00000 n 
+0000258759 00000 n 
+0000258818 00000 n 
+0000258877 00000 n 
+0000261015 00000 n 
+0000261217 00000 n 
+0000261453 00000 n 
+0000261661 00000 n 
+0000261897 00000 n 
+0000262091 00000 n 
+0000262327 00000 n 
+0000262521 00000 n 
+0000262763 00000 n 
+0000262959 00000 n 
+0000263153 00000 n 
+0000263394 00000 n 
+0000263603 00000 n 
+0000263846 00000 n 
+0000264040 00000 n 
+0000264283 00000 n 
+0000265337 00000 n 
+0000260290 00000 n 
+0000259048 00000 n 
+0000264455 00000 n 
+0000264514 00000 n 
+0000264573 00000 n 
+0000264632 00000 n 
+0000264691 00000 n 
+0000264750 00000 n 
+0000264809 00000 n 
+0000264983 00000 n 
+0000265042 00000 n 
+0000265101 00000 n 
+0000265160 00000 n 
+0000265219 00000 n 
+0000265278 00000 n 
+0000266898 00000 n 
+0000267092 00000 n 
+0000267330 00000 n 
+0000267515 00000 n 
+0000267700 00000 n 
+0000267939 00000 n 
+0000268144 00000 n 
+0000268383 00000 n 
+0000268616 00000 n 
+0000269608 00000 n 
+0000266682 00000 n 
+0000265449 00000 n 
+0000268788 00000 n 
+0000268847 00000 n 
+0000269022 00000 n 
+0000269081 00000 n 
+0000269140 00000 n 
+0000269199 00000 n 
+0000269258 00000 n 
+0000269433 00000 n 
+0000269491 00000 n 
+0000269549 00000 n 
+0000665125 00000 n 
+0000271585 00000 n 
+0000271807 00000 n 
+0000272029 00000 n 
+0000272225 00000 n 
+0000272419 00000 n 
+0000272624 00000 n 
+0000272846 00000 n 
+0000273036 00000 n 
+0000273258 00000 n 
+0000273481 00000 n 
+0000273703 00000 n 
+0000273893 00000 n 
+0000274116 00000 n 
+0000274308 00000 n 
+0000274530 00000 n 
+0000274726 00000 n 
+0000274949 00000 n 
+0000275145 00000 n 
+0000275368 00000 n 
+0000275573 00000 n 
+0000275796 00000 n 
+0000279456 00000 n 
+0000276016 00000 n 
+0000277071 00000 n 
+0000271252 00000 n 
+0000269720 00000 n 
+0000276188 00000 n 
+0000276363 00000 n 
+0000276422 00000 n 
+0000276481 00000 n 
+0000276540 00000 n 
+0000276599 00000 n 
+0000276658 00000 n 
+0000276717 00000 n 
+0000276776 00000 n 
+0000276835 00000 n 
+0000276894 00000 n 
+0000276953 00000 n 
+0000277012 00000 n 
+0000291324 00000 n 
+0000291442 00000 n 
+0000279677 00000 n 
+0000279900 00000 n 
+0000280121 00000 n 
+0000280342 00000 n 
+0000280564 00000 n 
+0000280785 00000 n 
+0000280976 00000 n 
+0000281198 00000 n 
+0000281386 00000 n 
+0000281607 00000 n 
+0000281801 00000 n 
+0000282023 00000 n 
+0000282219 00000 n 
+0000282441 00000 n 
+0000282646 00000 n 
+0000282869 00000 n 
+0000283074 00000 n 
+0000283297 00000 n 
+0000283520 00000 n 
+0000283707 00000 n 
+0000283896 00000 n 
+0000284274 00000 n 
+0000284461 00000 n 
+0000284684 00000 n 
+0000284871 00000 n 
+0000288409 00000 n 
+0000288631 00000 n 
+0000288820 00000 n 
+0000285094 00000 n 
+0000285559 00000 n 
+0000279069 00000 n 
+0000277183 00000 n 
+0000285266 00000 n 
+0000285325 00000 n 
+0000285382 00000 n 
+0000285441 00000 n 
+0000285500 00000 n 
+0000662524 00000 n 
+0000284085 00000 n 
+0000660930 00000 n 
+0000294627 00000 n 
+0000294743 00000 n 
+0000294866 00000 n 
+0000294989 00000 n 
+0000297373 00000 n 
+0000297491 00000 n 
+0000297609 00000 n 
+0000297727 00000 n 
+0000297845 00000 n 
+0000300441 00000 n 
+0000300559 00000 n 
+0000289009 00000 n 
+0000289213 00000 n 
+0000289435 00000 n 
+0000289639 00000 n 
+0000289859 00000 n 
+0000290062 00000 n 
+0000290256 00000 n 
+0000290446 00000 n 
+0000290636 00000 n 
+0000290857 00000 n 
+0000291500 00000 n 
+0000288157 00000 n 
+0000285699 00000 n 
+0000291029 00000 n 
+0000291088 00000 n 
+0000291147 00000 n 
+0000291206 00000 n 
+0000291265 00000 n 
+0000291383 00000 n 
+0000300677 00000 n 
+0000293833 00000 n 
+0000294055 00000 n 
+0000294278 00000 n 
+0000295047 00000 n 
+0000293671 00000 n 
+0000291651 00000 n 
+0000294450 00000 n 
+0000294509 00000 n 
+0000294568 00000 n 
+0000294685 00000 n 
+0000294807 00000 n 
+0000294930 00000 n 
+0000297083 00000 n 
+0000297963 00000 n 
+0000296939 00000 n 
+0000295171 00000 n 
+0000297255 00000 n 
+0000297314 00000 n 
+0000297432 00000 n 
+0000297550 00000 n 
+0000297668 00000 n 
+0000297786 00000 n 
+0000297904 00000 n 
+0000299974 00000 n 
+0000300210 00000 n 
+0000301028 00000 n 
+0000299821 00000 n 
+0000298101 00000 n 
+0000300382 00000 n 
+0000300500 00000 n 
+0000300618 00000 n 
+0000300736 00000 n 
+0000300910 00000 n 
+0000300969 00000 n 
+0000665250 00000 n 
+0000302666 00000 n 
+0000302899 00000 n 
+0000303132 00000 n 
+0000303368 00000 n 
+0000303604 00000 n 
+0000303840 00000 n 
+0000307184 00000 n 
+0000304074 00000 n 
+0000305127 00000 n 
+0000302468 00000 n 
+0000301179 00000 n 
+0000304246 00000 n 
+0000304305 00000 n 
+0000304480 00000 n 
+0000304539 00000 n 
+0000304598 00000 n 
+0000304657 00000 n 
+0000304832 00000 n 
+0000304891 00000 n 
+0000304950 00000 n 
+0000305009 00000 n 
+0000305068 00000 n 
+0000307420 00000 n 
+0000307655 00000 n 
+0000307891 00000 n 
+0000308127 00000 n 
+0000308598 00000 n 
+0000308834 00000 n 
+0000309657 00000 n 
+0000306977 00000 n 
+0000305265 00000 n 
+0000309006 00000 n 
+0000309065 00000 n 
+0000309124 00000 n 
+0000309183 00000 n 
+0000309242 00000 n 
+0000309301 00000 n 
+0000309360 00000 n 
+0000309419 00000 n 
+0000308363 00000 n 
+0000309478 00000 n 
+0000309541 00000 n 
+0000311685 00000 n 
+0000311917 00000 n 
+0000312149 00000 n 
+0000315756 00000 n 
+0000312381 00000 n 
+0000313263 00000 n 
+0000311514 00000 n 
+0000309769 00000 n 
+0000312553 00000 n 
+0000312670 00000 n 
+0000312729 00000 n 
+0000312788 00000 n 
+0000312847 00000 n 
+0000312906 00000 n 
+0000312965 00000 n 
+0000313024 00000 n 
+0000313083 00000 n 
+0000313147 00000 n 
+0000315947 00000 n 
+0000316190 00000 n 
+0000316433 00000 n 
+0000316677 00000 n 
+0000316888 00000 n 
+0000317132 00000 n 
+0000317343 00000 n 
+0000317564 00000 n 
+0000317808 00000 n 
+0000318029 00000 n 
+0000318273 00000 n 
+0000318516 00000 n 
+0000318707 00000 n 
+0000318950 00000 n 
+0000319171 00000 n 
+0000319415 00000 n 
+0000319636 00000 n 
+0000320078 00000 n 
+0000320321 00000 n 
+0000320512 00000 n 
+0000321449 00000 n 
+0000315423 00000 n 
+0000313401 00000 n 
+0000320684 00000 n 
+0000320801 00000 n 
+0000320860 00000 n 
+0000320919 00000 n 
+0000320978 00000 n 
+0000321037 00000 n 
+0000321096 00000 n 
+0000321155 00000 n 
+0000321214 00000 n 
+0000321273 00000 n 
+0000319857 00000 n 
+0000321332 00000 n 
+0000321390 00000 n 
+0000326308 00000 n 
+0000323401 00000 n 
+0000323611 00000 n 
+0000323864 00000 n 
+0000324085 00000 n 
+0000324338 00000 n 
+0000324559 00000 n 
+0000324813 00000 n 
+0000325066 00000 n 
+0000325257 00000 n 
+0000325511 00000 n 
+0000325764 00000 n 
+0000329113 00000 n 
+0000326018 00000 n 
+0000327014 00000 n 
+0000323158 00000 n 
+0000321561 00000 n 
+0000326190 00000 n 
+0000326249 00000 n 
+0000326367 00000 n 
+0000326542 00000 n 
+0000326601 00000 n 
+0000326660 00000 n 
+0000326719 00000 n 
+0000326778 00000 n 
+0000326837 00000 n 
+0000326896 00000 n 
+0000326955 00000 n 
+0000332654 00000 n 
+0000329324 00000 n 
+0000329515 00000 n 
+0000329744 00000 n 
+0000329974 00000 n 
+0000330170 00000 n 
+0000330367 00000 n 
+0000330597 00000 n 
+0000330794 00000 n 
+0000331024 00000 n 
+0000331221 00000 n 
+0000331451 00000 n 
+0000331648 00000 n 
+0000331878 00000 n 
+0000332075 00000 n 
+0000332305 00000 n 
+0000333418 00000 n 
+0000328834 00000 n 
+0000327126 00000 n 
+0000332477 00000 n 
+0000332536 00000 n 
+0000332595 00000 n 
+0000332713 00000 n 
+0000332888 00000 n 
+0000332947 00000 n 
+0000333006 00000 n 
+0000333065 00000 n 
+0000333124 00000 n 
+0000333183 00000 n 
+0000333242 00000 n 
+0000333301 00000 n 
+0000333360 00000 n 
+0000665375 00000 n 
+0000334952 00000 n 
+0000335181 00000 n 
+0000335410 00000 n 
+0000335605 00000 n 
+0000335802 00000 n 
+0000336032 00000 n 
+0000336229 00000 n 
+0000336459 00000 n 
+0000339844 00000 n 
+0000336650 00000 n 
+0000337585 00000 n 
+0000334736 00000 n 
+0000333544 00000 n 
+0000336822 00000 n 
+0000336881 00000 n 
+0000337056 00000 n 
+0000337115 00000 n 
+0000337174 00000 n 
+0000337233 00000 n 
+0000337292 00000 n 
+0000337351 00000 n 
+0000337410 00000 n 
+0000340064 00000 n 
+0000340285 00000 n 
+0000340481 00000 n 
+0000340702 00000 n 
+0000340898 00000 n 
+0000341119 00000 n 
+0000341314 00000 n 
+0000341534 00000 n 
+0000341729 00000 n 
+0000341949 00000 n 
+0000342169 00000 n 
+0000342390 00000 n 
+0000342611 00000 n 
+0000342832 00000 n 
+0000343053 00000 n 
+0000343274 00000 n 
+0000343495 00000 n 
+0000343681 00000 n 
+0000343902 00000 n 
+0000344098 00000 n 
+0000344319 00000 n 
+0000344515 00000 n 
+0000344735 00000 n 
+0000344931 00000 n 
+0000345120 00000 n 
+0000348721 00000 n 
+0000348942 00000 n 
+0000349138 00000 n 
+0000349327 00000 n 
+0000345309 00000 n 
+0000346306 00000 n 
+0000339466 00000 n 
+0000337711 00000 n 
+0000345481 00000 n 
+0000345540 00000 n 
+0000345599 00000 n 
+0000345658 00000 n 
+0000345716 00000 n 
+0000345775 00000 n 
+0000345834 00000 n 
+0000345893 00000 n 
+0000345952 00000 n 
+0000346011 00000 n 
+0000346070 00000 n 
+0000346129 00000 n 
+0000346188 00000 n 
+0000346247 00000 n 
+0000394441 00000 n 
+0000394559 00000 n 
+0000394676 00000 n 
+0000394794 00000 n 
+0000349516 00000 n 
+0000349736 00000 n 
+0000349932 00000 n 
+0000350121 00000 n 
+0000350310 00000 n 
+0000350496 00000 n 
+0000350717 00000 n 
+0000350913 00000 n 
+0000351102 00000 n 
+0000351291 00000 n 
+0000351478 00000 n 
+0000351675 00000 n 
+0000351895 00000 n 
+0000352083 00000 n 
+0000352280 00000 n 
+0000352501 00000 n 
+0000352688 00000 n 
+0000352885 00000 n 
+0000353105 00000 n 
+0000353291 00000 n 
+0000353512 00000 n 
+0000353700 00000 n 
+0000353921 00000 n 
+0000354109 00000 n 
+0000354330 00000 n 
+0000354518 00000 n 
+0000354738 00000 n 
+0000354923 00000 n 
+0000355144 00000 n 
+0000355364 00000 n 
+0000355585 00000 n 
+0000355806 00000 n 
+0000356027 00000 n 
+0000359385 00000 n 
+0000356248 00000 n 
+0000356773 00000 n 
+0000348244 00000 n 
+0000346444 00000 n 
+0000356420 00000 n 
+0000356479 00000 n 
+0000356537 00000 n 
+0000356596 00000 n 
+0000356655 00000 n 
+0000356714 00000 n 
+0000397741 00000 n 
+0000397864 00000 n 
+0000401350 00000 n 
+0000401473 00000 n 
+0000401594 00000 n 
+0000401712 00000 n 
+0000404618 00000 n 
+0000404736 00000 n 
+0000404854 00000 n 
+0000404972 00000 n 
+0000405090 00000 n 
+0000359606 00000 n 
+0000359826 00000 n 
+0000360014 00000 n 
+0000360234 00000 n 
+0000360422 00000 n 
+0000360642 00000 n 
+0000360837 00000 n 
+0000361057 00000 n 
+0000361253 00000 n 
+0000361473 00000 n 
+0000361661 00000 n 
+0000361881 00000 n 
+0000362069 00000 n 
+0000362289 00000 n 
+0000362485 00000 n 
+0000362705 00000 n 
+0000362901 00000 n 
+0000363121 00000 n 
+0000363309 00000 n 
+0000363529 00000 n 
+0000363717 00000 n 
+0000363936 00000 n 
+0000364123 00000 n 
+0000364343 00000 n 
+0000364531 00000 n 
+0000364751 00000 n 
+0000364972 00000 n 
+0000365158 00000 n 
+0000365378 00000 n 
+0000365564 00000 n 
+0000365760 00000 n 
+0000365948 00000 n 
+0000366165 00000 n 
+0000366349 00000 n 
+0000366543 00000 n 
+0000370519 00000 n 
+0000370740 00000 n 
+0000370926 00000 n 
+0000371122 00000 n 
+0000371318 00000 n 
+0000366730 00000 n 
+0000367079 00000 n 
+0000358917 00000 n 
+0000356898 00000 n 
+0000366902 00000 n 
+0000366961 00000 n 
+0000367020 00000 n 
+0000405212 00000 n 
+0000408340 00000 n 
+0000408457 00000 n 
+0000408575 00000 n 
+0000408693 00000 n 
+0000411757 00000 n 
+0000411875 00000 n 
+0000411993 00000 n 
+0000412111 00000 n 
+0000412229 00000 n 
+0000415416 00000 n 
+0000415534 00000 n 
+0000415651 00000 n 
+0000415769 00000 n 
+0000419104 00000 n 
+0000371506 00000 n 
+0000371727 00000 n 
+0000371913 00000 n 
+0000372109 00000 n 
+0000372501 00000 n 
+0000372689 00000 n 
+0000372910 00000 n 
+0000373096 00000 n 
+0000373301 00000 n 
+0000373497 00000 n 
+0000373686 00000 n 
+0000373906 00000 n 
+0000374090 00000 n 
+0000374294 00000 n 
+0000374685 00000 n 
+0000374874 00000 n 
+0000375095 00000 n 
+0000375291 00000 n 
+0000375496 00000 n 
+0000375888 00000 n 
+0000376107 00000 n 
+0000376303 00000 n 
+0000376508 00000 n 
+0000376704 00000 n 
+0000376923 00000 n 
+0000377108 00000 n 
+0000377328 00000 n 
+0000377520 00000 n 
+0000377740 00000 n 
+0000377928 00000 n 
+0000378148 00000 n 
+0000378336 00000 n 
+0000378556 00000 n 
+0000381772 00000 n 
+0000381992 00000 n 
+0000378775 00000 n 
+0000379006 00000 n 
+0000370006 00000 n 
+0000367191 00000 n 
+0000378947 00000 n 
+0000661514 00000 n 
+0000372305 00000 n 
+0000661223 00000 n 
+0000374489 00000 n 
+0000375692 00000 n 
+0000419222 00000 n 
+0000419339 00000 n 
+0000423433 00000 n 
+0000423551 00000 n 
+0000423668 00000 n 
+0000427220 00000 n 
+0000427338 00000 n 
+0000427456 00000 n 
+0000430995 00000 n 
+0000431113 00000 n 
+0000431230 00000 n 
+0000431348 00000 n 
+0000382180 00000 n 
+0000382399 00000 n 
+0000382591 00000 n 
+0000382811 00000 n 
+0000383031 00000 n 
+0000383217 00000 n 
+0000383437 00000 n 
+0000383629 00000 n 
+0000383815 00000 n 
+0000384035 00000 n 
+0000384234 00000 n 
+0000384428 00000 n 
+0000384648 00000 n 
+0000384843 00000 n 
+0000385064 00000 n 
+0000385284 00000 n 
+0000385471 00000 n 
+0000385691 00000 n 
+0000385885 00000 n 
+0000386105 00000 n 
+0000386293 00000 n 
+0000386512 00000 n 
+0000386697 00000 n 
+0000386917 00000 n 
+0000387105 00000 n 
+0000387325 00000 n 
+0000387513 00000 n 
+0000387733 00000 n 
+0000387920 00000 n 
+0000391284 00000 n 
+0000391505 00000 n 
+0000391693 00000 n 
+0000388115 00000 n 
+0000388582 00000 n 
+0000381349 00000 n 
+0000379199 00000 n 
+0000388287 00000 n 
+0000388346 00000 n 
+0000388405 00000 n 
+0000388464 00000 n 
+0000388523 00000 n 
+0000665500 00000 n 
+0000435202 00000 n 
+0000435317 00000 n 
+0000435435 00000 n 
+0000435553 00000 n 
+0000439381 00000 n 
+0000439499 00000 n 
+0000439614 00000 n 
+0000439732 00000 n 
+0000443026 00000 n 
+0000443144 00000 n 
+0000443262 00000 n 
+0000391889 00000 n 
+0000392110 00000 n 
+0000392298 00000 n 
+0000392494 00000 n 
+0000392715 00000 n 
+0000392903 00000 n 
+0000393099 00000 n 
+0000393287 00000 n 
+0000393477 00000 n 
+0000393683 00000 n 
+0000393887 00000 n 
+0000394092 00000 n 
+0000394852 00000 n 
+0000391014 00000 n 
+0000388707 00000 n 
+0000394264 00000 n 
+0000662959 00000 n 
+0000394323 00000 n 
+0000394382 00000 n 
+0000394500 00000 n 
+0000394617 00000 n 
+0000394735 00000 n 
+0000443379 00000 n 
+0000446423 00000 n 
+0000446541 00000 n 
+0000397039 00000 n 
+0000397245 00000 n 
+0000400296 00000 n 
+0000397451 00000 n 
+0000397986 00000 n 
+0000396877 00000 n 
+0000395032 00000 n 
+0000397623 00000 n 
+0000397682 00000 n 
+0000397805 00000 n 
+0000397928 00000 n 
+0000400502 00000 n 
+0000400708 00000 n 
+0000400914 00000 n 
+0000401119 00000 n 
+0000401770 00000 n 
+0000400116 00000 n 
+0000398111 00000 n 
+0000401291 00000 n 
+0000401414 00000 n 
+0000401535 00000 n 
+0000401653 00000 n 
+0000403505 00000 n 
+0000403711 00000 n 
+0000403917 00000 n 
+0000404122 00000 n 
+0000404328 00000 n 
+0000405276 00000 n 
+0000403325 00000 n 
+0000401895 00000 n 
+0000404500 00000 n 
+0000404559 00000 n 
+0000404677 00000 n 
+0000404795 00000 n 
+0000404913 00000 n 
+0000405031 00000 n 
+0000405153 00000 n 
+0000407229 00000 n 
+0000407435 00000 n 
+0000407639 00000 n 
+0000407845 00000 n 
+0000410438 00000 n 
+0000408050 00000 n 
+0000408752 00000 n 
+0000407049 00000 n 
+0000405388 00000 n 
+0000408222 00000 n 
+0000408281 00000 n 
+0000408399 00000 n 
+0000408516 00000 n 
+0000408634 00000 n 
+0000410644 00000 n 
+0000410850 00000 n 
+0000411055 00000 n 
+0000411261 00000 n 
+0000411467 00000 n 
+0000412287 00000 n 
+0000410249 00000 n 
+0000408864 00000 n 
+0000411639 00000 n 
+0000411698 00000 n 
+0000411816 00000 n 
+0000411934 00000 n 
+0000412052 00000 n 
+0000412170 00000 n 
+0000665625 00000 n 
+0000414303 00000 n 
+0000414509 00000 n 
+0000414715 00000 n 
+0000414920 00000 n 
+0000418257 00000 n 
+0000415126 00000 n 
+0000415887 00000 n 
+0000414123 00000 n 
+0000412399 00000 n 
+0000415298 00000 n 
+0000415357 00000 n 
+0000415475 00000 n 
+0000415593 00000 n 
+0000415710 00000 n 
+0000415828 00000 n 
+0000418462 00000 n 
+0000418667 00000 n 
+0000421822 00000 n 
+0000418873 00000 n 
+0000419457 00000 n 
+0000418086 00000 n 
+0000416012 00000 n 
+0000419045 00000 n 
+0000419163 00000 n 
+0000419281 00000 n 
+0000419398 00000 n 
+0000422028 00000 n 
+0000422234 00000 n 
+0000422615 00000 n 
+0000422821 00000 n 
+0000423202 00000 n 
+0000423727 00000 n 
+0000421615 00000 n 
+0000419632 00000 n 
+0000423374 00000 n 
+0000423492 00000 n 
+0000422424 00000 n 
+0000423610 00000 n 
+0000423011 00000 n 
+0000425930 00000 n 
+0000426136 00000 n 
+0000426327 00000 n 
+0000426533 00000 n 
+0000426724 00000 n 
+0000429758 00000 n 
+0000429964 00000 n 
+0000426930 00000 n 
+0000427574 00000 n 
+0000425741 00000 n 
+0000423902 00000 n 
+0000427102 00000 n 
+0000427161 00000 n 
+0000427279 00000 n 
+0000427397 00000 n 
+0000427515 00000 n 
+0000430150 00000 n 
+0000430356 00000 n 
+0000430562 00000 n 
+0000433582 00000 n 
+0000430764 00000 n 
+0000431466 00000 n 
+0000429569 00000 n 
+0000427737 00000 n 
+0000430936 00000 n 
+0000431054 00000 n 
+0000431171 00000 n 
+0000431289 00000 n 
+0000431407 00000 n 
+0000433783 00000 n 
+0000433988 00000 n 
+0000434190 00000 n 
+0000434376 00000 n 
+0000434582 00000 n 
+0000434766 00000 n 
+0000437961 00000 n 
+0000434971 00000 n 
+0000435670 00000 n 
+0000433375 00000 n 
+0000431604 00000 n 
+0000435143 00000 n 
+0000435260 00000 n 
+0000435376 00000 n 
+0000435494 00000 n 
+0000435612 00000 n 
+0000665750 00000 n 
+0000438167 00000 n 
+0000438369 00000 n 
+0000438553 00000 n 
+0000438759 00000 n 
+0000438945 00000 n 
+0000441972 00000 n 
+0000439150 00000 n 
+0000439850 00000 n 
+0000437763 00000 n 
+0000435795 00000 n 
+0000439322 00000 n 
+0000439440 00000 n 
+0000439556 00000 n 
+0000439673 00000 n 
+0000439791 00000 n 
+0000442177 00000 n 
+0000442383 00000 n 
+0000442589 00000 n 
+0000442795 00000 n 
+0000443437 00000 n 
+0000441792 00000 n 
+0000439975 00000 n 
+0000442967 00000 n 
+0000443085 00000 n 
+0000443203 00000 n 
+0000443321 00000 n 
+0000445722 00000 n 
+0000445927 00000 n 
+0000448817 00000 n 
+0000446133 00000 n 
+0000446659 00000 n 
+0000445560 00000 n 
+0000443575 00000 n 
+0000446305 00000 n 
+0000446364 00000 n 
+0000446482 00000 n 
+0000662813 00000 n 
+0000446600 00000 n 
+0000449022 00000 n 
+0000449240 00000 n 
+0000449458 00000 n 
+0000449677 00000 n 
+0000449862 00000 n 
+0000451973 00000 n 
+0000450048 00000 n 
+0000450924 00000 n 
+0000448619 00000 n 
+0000446824 00000 n 
+0000450220 00000 n 
+0000450395 00000 n 
+0000450454 00000 n 
+0000450513 00000 n 
+0000450572 00000 n 
+0000450631 00000 n 
+0000450690 00000 n 
+0000450749 00000 n 
+0000452197 00000 n 
+0000452605 00000 n 
+0000451820 00000 n 
+0000451049 00000 n 
+0000452369 00000 n 
+0000452428 00000 n 
+0000452487 00000 n 
+0000452546 00000 n 
+0000454347 00000 n 
+0000454498 00000 n 
+0000454649 00000 n 
+0000454800 00000 n 
+0000454951 00000 n 
+0000455102 00000 n 
+0000455253 00000 n 
+0000455403 00000 n 
+0000455553 00000 n 
+0000455703 00000 n 
+0000455854 00000 n 
+0000456004 00000 n 
+0000456154 00000 n 
+0000456304 00000 n 
+0000456455 00000 n 
+0000456606 00000 n 
+0000456757 00000 n 
+0000456907 00000 n 
+0000457057 00000 n 
+0000457207 00000 n 
+0000457358 00000 n 
+0000457509 00000 n 
+0000457660 00000 n 
+0000457811 00000 n 
+0000457962 00000 n 
+0000458113 00000 n 
+0000458263 00000 n 
+0000458414 00000 n 
+0000458565 00000 n 
+0000458715 00000 n 
+0000458865 00000 n 
+0000459016 00000 n 
+0000459166 00000 n 
+0000459316 00000 n 
+0000459466 00000 n 
+0000459617 00000 n 
+0000459768 00000 n 
+0000459919 00000 n 
+0000460070 00000 n 
+0000460220 00000 n 
+0000460371 00000 n 
+0000460522 00000 n 
+0000460673 00000 n 
+0000460824 00000 n 
+0000460975 00000 n 
+0000461126 00000 n 
+0000461277 00000 n 
+0000461428 00000 n 
+0000461579 00000 n 
+0000461730 00000 n 
+0000464269 00000 n 
+0000461998 00000 n 
+0000453762 00000 n 
+0000452717 00000 n 
+0000461880 00000 n 
+0000461939 00000 n 
+0000665875 00000 n 
+0000464420 00000 n 
+0000464571 00000 n 
+0000464721 00000 n 
+0000464871 00000 n 
+0000465021 00000 n 
+0000465172 00000 n 
+0000465322 00000 n 
+0000465473 00000 n 
+0000465624 00000 n 
+0000465775 00000 n 
+0000465925 00000 n 
+0000466076 00000 n 
+0000466226 00000 n 
+0000466376 00000 n 
+0000466526 00000 n 
+0000466677 00000 n 
+0000466828 00000 n 
+0000466979 00000 n 
+0000467130 00000 n 
+0000467280 00000 n 
+0000467431 00000 n 
+0000467582 00000 n 
+0000467733 00000 n 
+0000467883 00000 n 
+0000468033 00000 n 
+0000468184 00000 n 
+0000468335 00000 n 
+0000468486 00000 n 
+0000468637 00000 n 
+0000468788 00000 n 
+0000468939 00000 n 
+0000469090 00000 n 
+0000469241 00000 n 
+0000469392 00000 n 
+0000469543 00000 n 
+0000469694 00000 n 
+0000469845 00000 n 
+0000469996 00000 n 
+0000470147 00000 n 
+0000470298 00000 n 
+0000470448 00000 n 
+0000470599 00000 n 
+0000470750 00000 n 
+0000470900 00000 n 
+0000471051 00000 n 
+0000471201 00000 n 
+0000471352 00000 n 
+0000471503 00000 n 
+0000471653 00000 n 
+0000471803 00000 n 
+0000471954 00000 n 
+0000472104 00000 n 
+0000472254 00000 n 
+0000472403 00000 n 
+0000472554 00000 n 
+0000472704 00000 n 
+0000472855 00000 n 
+0000473006 00000 n 
+0000473156 00000 n 
+0000473307 00000 n 
+0000473458 00000 n 
+0000473608 00000 n 
+0000473758 00000 n 
+0000473909 00000 n 
+0000474059 00000 n 
+0000477229 00000 n 
+0000474210 00000 n 
+0000474441 00000 n 
+0000463531 00000 n 
+0000462084 00000 n 
+0000474382 00000 n 
+0000477379 00000 n 
+0000477530 00000 n 
+0000477680 00000 n 
+0000477830 00000 n 
+0000477980 00000 n 
+0000478131 00000 n 
+0000478282 00000 n 
+0000478432 00000 n 
+0000478582 00000 n 
+0000478731 00000 n 
+0000478882 00000 n 
+0000479032 00000 n 
+0000479183 00000 n 
+0000479334 00000 n 
+0000479485 00000 n 
+0000479636 00000 n 
+0000479787 00000 n 
+0000479938 00000 n 
+0000480089 00000 n 
+0000480239 00000 n 
+0000480389 00000 n 
+0000480540 00000 n 
+0000480690 00000 n 
+0000480841 00000 n 
+0000480992 00000 n 
+0000481141 00000 n 
+0000481292 00000 n 
+0000481442 00000 n 
+0000481593 00000 n 
+0000481743 00000 n 
+0000481894 00000 n 
+0000482045 00000 n 
+0000482195 00000 n 
+0000482346 00000 n 
+0000482496 00000 n 
+0000482647 00000 n 
+0000482798 00000 n 
+0000482948 00000 n 
+0000483099 00000 n 
+0000483249 00000 n 
+0000483398 00000 n 
+0000483548 00000 n 
+0000483697 00000 n 
+0000483847 00000 n 
+0000483998 00000 n 
+0000484149 00000 n 
+0000484300 00000 n 
+0000484451 00000 n 
+0000484601 00000 n 
+0000484751 00000 n 
+0000484901 00000 n 
+0000485052 00000 n 
+0000485202 00000 n 
+0000485353 00000 n 
+0000485504 00000 n 
+0000485654 00000 n 
+0000485804 00000 n 
+0000485955 00000 n 
+0000486106 00000 n 
+0000486256 00000 n 
+0000486406 00000 n 
+0000486557 00000 n 
+0000486708 00000 n 
+0000486859 00000 n 
+0000487010 00000 n 
+0000487161 00000 n 
+0000487312 00000 n 
+0000487463 00000 n 
+0000487614 00000 n 
+0000487765 00000 n 
+0000487916 00000 n 
+0000488066 00000 n 
+0000488216 00000 n 
+0000488366 00000 n 
+0000488517 00000 n 
+0000488667 00000 n 
+0000488816 00000 n 
+0000488963 00000 n 
+0000489113 00000 n 
+0000489264 00000 n 
+0000489413 00000 n 
+0000489564 00000 n 
+0000489714 00000 n 
+0000489865 00000 n 
+0000490014 00000 n 
+0000490164 00000 n 
+0000490314 00000 n 
+0000490464 00000 n 
+0000490615 00000 n 
+0000490764 00000 n 
+0000490914 00000 n 
+0000491065 00000 n 
+0000491216 00000 n 
+0000491367 00000 n 
+0000491517 00000 n 
+0000494157 00000 n 
+0000491667 00000 n 
+0000491898 00000 n 
+0000476221 00000 n 
+0000474553 00000 n 
+0000491839 00000 n 
+0000494307 00000 n 
+0000494458 00000 n 
+0000494609 00000 n 
+0000494759 00000 n 
+0000494910 00000 n 
+0000495060 00000 n 
+0000495211 00000 n 
+0000495360 00000 n 
+0000495510 00000 n 
+0000495659 00000 n 
+0000495810 00000 n 
+0000495961 00000 n 
+0000496112 00000 n 
+0000496262 00000 n 
+0000496413 00000 n 
+0000496564 00000 n 
+0000496714 00000 n 
+0000496865 00000 n 
+0000497015 00000 n 
+0000497165 00000 n 
+0000497315 00000 n 
+0000497466 00000 n 
+0000497617 00000 n 
+0000497767 00000 n 
+0000497918 00000 n 
+0000498069 00000 n 
+0000498219 00000 n 
+0000498370 00000 n 
+0000498521 00000 n 
+0000498672 00000 n 
+0000498823 00000 n 
+0000498974 00000 n 
+0000499125 00000 n 
+0000499276 00000 n 
+0000499427 00000 n 
+0000499578 00000 n 
+0000499729 00000 n 
+0000499880 00000 n 
+0000500031 00000 n 
+0000500182 00000 n 
+0000500332 00000 n 
+0000500482 00000 n 
+0000500633 00000 n 
+0000500784 00000 n 
+0000500935 00000 n 
+0000501086 00000 n 
+0000501237 00000 n 
+0000501387 00000 n 
+0000501538 00000 n 
+0000501688 00000 n 
+0000501839 00000 n 
+0000501990 00000 n 
+0000502141 00000 n 
+0000502292 00000 n 
+0000502443 00000 n 
+0000502594 00000 n 
+0000502745 00000 n 
+0000502896 00000 n 
+0000503047 00000 n 
+0000503198 00000 n 
+0000503349 00000 n 
+0000503500 00000 n 
+0000503651 00000 n 
+0000503802 00000 n 
+0000503952 00000 n 
+0000505082 00000 n 
+0000504101 00000 n 
+0000504332 00000 n 
+0000493419 00000 n 
+0000492010 00000 n 
+0000504273 00000 n 
+0000505233 00000 n 
+0000505464 00000 n 
+0000504929 00000 n 
+0000504431 00000 n 
+0000505405 00000 n 
+0000505563 00000 n 
+0000505589 00000 n 
+0000505615 00000 n 
+0000506083 00000 n 
+0000506244 00000 n 
+0000506371 00000 n 
+0000506693 00000 n 
+0000507129 00000 n 
+0000507456 00000 n 
+0000507583 00000 n 
+0000507610 00000 n 
+0000508079 00000 n 
+0000508343 00000 n 
+0000660005 00000 n 
+0000508381 00000 n 
+0000508853 00000 n 
+0000509205 00000 n 
+0000509650 00000 n 
+0000510126 00000 n 
+0000510558 00000 n 
+0000510930 00000 n 
+0000511505 00000 n 
+0000512197 00000 n 
+0000512235 00000 n 
+0000512553 00000 n 
+0000513196 00000 n 
+0000514913 00000 n 
+0000515145 00000 n 
+0000518881 00000 n 
+0000519157 00000 n 
+0000520973 00000 n 
+0000521208 00000 n 
+0000523985 00000 n 
+0000524215 00000 n 
+0000527189 00000 n 
+0000527420 00000 n 
+0000529808 00000 n 
+0000530065 00000 n 
+0000535254 00000 n 
+0000535537 00000 n 
+0000539295 00000 n 
+0000539541 00000 n 
+0000543702 00000 n 
+0000543963 00000 n 
+0000547643 00000 n 
+0000547911 00000 n 
+0000549936 00000 n 
+0000550219 00000 n 
+0000552562 00000 n 
+0000552826 00000 n 
+0000554143 00000 n 
+0000554376 00000 n 
+0000556395 00000 n 
+0000556641 00000 n 
+0000558484 00000 n 
+0000558746 00000 n 
+0000560902 00000 n 
+0000561131 00000 n 
+0000563031 00000 n 
+0000563250 00000 n 
+0000579323 00000 n 
+0000579804 00000 n 
+0000588027 00000 n 
+0000588319 00000 n 
+0000606263 00000 n 
+0000606749 00000 n 
+0000621522 00000 n 
+0000621893 00000 n 
+0000642811 00000 n 
+0000643405 00000 n 
+0000659554 00000 n 
+0000665991 00000 n 
+0000666111 00000 n 
+0000666236 00000 n 
+0000666335 00000 n 
+0000666417 00000 n 
+0000671133 00000 n 
+0000671405 00000 n 
+0000672182 00000 n 
+0000672937 00000 n 
+0000673622 00000 n 
+0000674361 00000 n 
+0000675026 00000 n 
+0000675690 00000 n 
+0000676413 00000 n 
+0000677180 00000 n 
+0000677791 00000 n 
+0000678552 00000 n 
+0000679252 00000 n 
+0000679980 00000 n 
+0000680688 00000 n 
+0000681507 00000 n 
+0000682373 00000 n 
+0000683208 00000 n 
+0000684021 00000 n 
+0000684825 00000 n 
+0000685692 00000 n 
+0000686466 00000 n 
+0000687207 00000 n 
+0000687960 00000 n 
+0000688713 00000 n 
+0000689466 00000 n 
+0000690219 00000 n 
+0000690962 00000 n 
+0000691779 00000 n 
+0000692626 00000 n 
+0000693547 00000 n 
+0000694481 00000 n 
+0000695337 00000 n 
+0000696146 00000 n 
+0000696921 00000 n 
+0000697591 00000 n 
+0000698328 00000 n 
+0000699065 00000 n 
+0000699802 00000 n 
+0000700539 00000 n 
+0000701276 00000 n 
+0000702013 00000 n 
+0000702750 00000 n 
+0000703487 00000 n 
+0000704224 00000 n 
+0000704961 00000 n 
+0000705698 00000 n 
+0000706435 00000 n 
+0000707128 00000 n 
+0000707692 00000 n 
+0000708295 00000 n 
+0000709162 00000 n 
+0000710029 00000 n 
+0000710896 00000 n 
+0000711763 00000 n 
+0000712278 00000 n 
+0000712447 00000 n 
+0000712616 00000 n 
+0000712787 00000 n 
+0000712957 00000 n 
+0000713129 00000 n 
+0000713304 00000 n 
+0000713481 00000 n 
+0000713656 00000 n 
+0000713833 00000 n 
+0000714008 00000 n 
+0000714185 00000 n 
+0000714359 00000 n 
+0000714533 00000 n 
+0000714710 00000 n 
+0000714919 00000 n 
+0000715183 00000 n 
+0000715447 00000 n 
+0000715723 00000 n 
+0000715996 00000 n 
+0000716269 00000 n 
+0000716543 00000 n 
+0000716824 00000 n 
+0000717104 00000 n 
+0000717385 00000 n 
+0000717664 00000 n 
+0000717943 00000 n 
+0000718224 00000 n 
+0000718504 00000 n 
+0000718785 00000 n 
+0000719056 00000 n 
+0000719316 00000 n 
+0000719567 00000 n 
+0000719781 00000 n 
+0000719984 00000 n 
+0000720185 00000 n 
+0000720386 00000 n 
+0000720589 00000 n 
+0000720791 00000 n 
+0000721000 00000 n 
+0000721207 00000 n 
+0000721416 00000 n 
+0000721623 00000 n 
+0000721832 00000 n 
+0000722039 00000 n 
+0000722248 00000 n 
+0000722445 00000 n 
+0000722628 00000 n 
+0000722838 00000 n 
+0000723081 00000 n 
+0000723322 00000 n 
+0000723565 00000 n 
+0000723806 00000 n 
+0000724040 00000 n 
+0000724265 00000 n 
+0000724527 00000 n 
+0000724816 00000 n 
+0000725098 00000 n 
+0000725387 00000 n 
+0000725676 00000 n 
+0000725961 00000 n 
+0000726250 00000 n 
+0000726531 00000 n 
+0000726805 00000 n 
+0000726993 00000 n 
+0000727262 00000 n 
+0000727546 00000 n 
+0000727819 00000 n 
+0000728100 00000 n 
+0000728356 00000 n 
+0000728612 00000 n 
+0000728866 00000 n 
+0000729110 00000 n 
+0000729224 00000 n 
+0000729340 00000 n 
+0000729467 00000 n 
+0000729608 00000 n 
+0000729750 00000 n 
+0000729882 00000 n 
+0000730006 00000 n 
+0000730128 00000 n 
+0000730254 00000 n 
+0000730392 00000 n 
+0000730516 00000 n 
+0000730704 00000 n 
+0000730902 00000 n 
+0000731038 00000 n 
+0000731138 00000 n 
+0000731250 00000 n 
+0000731290 00000 n 
+0000731490 00000 n 
+trailer
+<< /Size 2699
+/Root 2697 0 R
+/Info 2698 0 R
+/ID [<0DF5A7CAE82333C6C329C3F2DB02D4BA> <0DF5A7CAE82333C6C329C3F2DB02D4BA>] >>
+startxref
+731822
+%%EOF
diff --git a/doc/ppl-user-java-interface-0.10.1pre13.ps.gz b/doc/ppl-user-java-interface-0.10.1pre13.ps.gz
new file mode 100644
index 0000000..03056a6
Binary files /dev/null and b/doc/ppl-user-java-interface-0.10.1pre13.ps.gz differ
diff --git a/doc/ppl-user-java-interface-0.10.pdf b/doc/ppl-user-java-interface-0.10.pdf
deleted file mode 100644
index f178277..0000000
--- a/doc/ppl-user-java-interface-0.10.pdf
+++ /dev/null
@@ -1,18242 +0,0 @@
-%PDF-1.4
-5 0 obj
-<< /S /GoTo /D (section.1) >>
-endobj
-8 0 obj
-(\376\377\000M\000a\000i\000n\000\040\000P\000a\000g\000e)
-endobj
-9 0 obj
-<< /S /GoTo /D (section.2) >>
-endobj
-12 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
-13 0 obj
-<< /S /GoTo /D (section.3) >>
-endobj
-16 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
-17 0 obj
-<< /S /GoTo /D (section.4) >>
-endobj
-20 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-21 0 obj
-<< /S /GoTo /D (subsection.4.1) >>
-endobj
-24 0 obj
-(\376\377\000M\000o\000d\000u\000l\000e\000s)
-endobj
-25 0 obj
-<< /S /GoTo /D (section.5) >>
-endobj
-28 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000I\000n\000d\000e\000x)
-endobj
-29 0 obj
-<< /S /GoTo /D (subsection.5.1) >>
-endobj
-32 0 obj
-(\376\377\000N\000a\000m\000e\000s\000p\000a\000c\000e\000\040\000L\000i\000s\000t)
-endobj
-33 0 obj
-<< /S /GoTo /D (section.6) >>
-endobj
-36 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-37 0 obj
-<< /S /GoTo /D (subsection.6.1) >>
-endobj
-40 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000H\000i\000e\000r\000a\000r\000c\000h\000y)
-endobj
-41 0 obj
-<< /S /GoTo /D (section.7) >>
-endobj
-44 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000I\000n\000d\000e\000x)
-endobj
-45 0 obj
-<< /S /GoTo /D (subsection.7.1) >>
-endobj
-48 0 obj
-(\376\377\000C\000l\000a\000s\000s\000\040\000L\000i\000s\000t)
-endobj
-49 0 obj
-<< /S /GoTo /D (section.8) >>
-endobj
-52 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
-53 0 obj
-<< /S /GoTo /D (subsection.8.1) >>
-endobj
-56 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
-57 0 obj
-<< /S /GoTo /D (section.9) >>
-endobj
-60 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
-61 0 obj
-<< /S /GoTo /D (subsection.9.1) >>
-endobj
-64 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
-65 0 obj
-<< /S /GoTo /D (section.10) >>
-endobj
-68 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
-69 0 obj
-<< /S /GoTo /D (subsection.10.1) >>
-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:\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
-73 0 obj
-<< /S /GoTo /D (subsection.10.2) >>
-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:\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
-77 0 obj
-<< /S /GoTo /D (subsection.10.3) >>
-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\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
-81 0 obj
-<< /S /GoTo /D (subsection.10.4) >>
-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\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
-85 0 obj
-<< /S /GoTo /D (subsection.10.5) >>
-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\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
-89 0 obj
-<< /S /GoTo /D (subsection.10.6) >>
-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\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
-93 0 obj
-<< /S /GoTo /D (subsection.10.7) >>
-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\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
-97 0 obj
-<< /S /GoTo /D (subsection.10.8) >>
-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:\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
-101 0 obj
-<< /S /GoTo /D (subsection.10.9) >>
-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:\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
-105 0 obj
-<< /S /GoTo /D (subsection.10.10) >>
-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\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.11) >>
-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\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
-113 0 obj
-<< /S /GoTo /D (subsection.10.12) >>
-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\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.13) >>
-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:\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
-121 0 obj
-<< /S /GoTo /D (subsection.10.14) >>
-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:\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
-125 0 obj
-<< /S /GoTo /D (subsection.10.15) >>
-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:\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
-129 0 obj
-<< /S /GoTo /D (subsection.10.16) >>
-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\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
-133 0 obj
-<< /S /GoTo /D (subsection.10.17) >>
-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\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
-137 0 obj
-<< /S /GoTo /D (subsection.10.18) >>
-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\000S\000u\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.19) >>
-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\000T\000i\000m\000e\000s\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.20) >>
-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\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
-149 0 obj
-<< /S /GoTo /D (subsection.10.21) >>
-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\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
-153 0 obj
-<< /S /GoTo /D (subsection.10.22) >>
-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\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
-157 0 obj
-<< /S /GoTo /D (subsection.10.23) >>
-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:\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
-161 0 obj
-<< /S /GoTo /D (subsection.10.24) >>
-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:\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
-165 0 obj
-<< /S /GoTo /D (subsection.10.25) >>
-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:\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
-169 0 obj
-<< /S /GoTo /D (subsection.10.26) >>
-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:\000P\000a\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
-173 0 obj
-<< /S /GoTo /D (subsection.10.27) >>
-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\000r\000t\000i\000a\000l\000\137\000F\000u\000n\000c\000t\000i\000o\000n\000\040\000I\000n\000t\000e\000r\000f\000a\000c\000e\000\040\000R\000e\000f\000e\000r\000e\000n\000c\000e)
-endobj
-177 0 obj
-<< /S /GoTo /D (subsection.10.28) >>
-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\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
-181 0 obj
-<< /S /GoTo /D (subsection.10.29) >>
-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\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
-185 0 obj
-<< /S /GoTo /D (subsection.10.30) >>
-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\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
-189 0 obj
-<< /S /GoTo /D (subsection.10.31) >>
-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\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
-193 0 obj
-<< /S /GoTo /D (subsection.10.32) >>
-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\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
-197 0 obj
-<< /S /GoTo /D (subsection.10.33) >>
-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:\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
-201 0 obj
-<< /S /GoTo /D (subsection.10.34) >>
-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\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
-205 0 obj
-<< /S /GoTo /D [206 0 R  /Fit ] >>
-endobj
-208 0 obj <<
-/Length 1249      
-/Filter /FlateDecode
->>
-stream
-x��VIs�6��W��)9c" H@{��%�kg\K�i
Il(R�8���"j1������۾�$��@�3�d�fA�
�`��#�S��� N�@'"�y�8�=��D�ˌq&�Ա����\2�(ai0�DJ�9gA�7y�N*�)��]DX��e�M�Y�G�7�T�z}�\�
�IĔ I��z����kDA����:�{�Wu��,"8�
e�$	�X
�yh��9b,l��m^���𿹤, �� ���1��A�h�
��1N
�!�X
-�a��-�Hƈ�f��A�t[6�3��p at vjv&9J���$)b�V�}3U�k��|^�2+�H�
#
-!ORJ�%	`6��!1���r"3��R��(}lo���VVՀ5&2ݷ�<l�!�����E�����ɧ�Z��j�`��}[�m	�(T_l��2����撰�@:���S��Q5����]E8E"��]�
-�`�_F?��x�G�	<�2,%
�#�IX�tK�F����K1t�6ٷT��y�-AL%	�&L1}Y��8A|��;���^iʜ��Ʉ�џ�n�{�T)S�T��\w��Q��j��N=z��/��2|�K����;���ܿ����xyu��������hժ\
�n�QE�L�(���g�'�4�f��Z+��k���jU��i}�-b;b�I���(�Rf#��yW-hJ���Xx�p?����֓����7�"���u�X9CN�;��u�t<gФ0�^7
Ӎ;<���Ν��M��V��|����G͉Ŋ@N��f�
?
Ǜ�S���A3Գ��tSŗUcr�䨧u^m�r��sl88 y>�6��Ȍ;��mG���ۦ.빓�5z��r���&2��f9��\e�C.��j��[8�"4����	^Ywn�fy�B��v]ue���D�@�vK�)�U
Fw���68��9��Vy-F�@����y	ж4ĩ��:�P�mZ�3���2���bl��
��� �	%Ӷ�׎��,l9/w�Dxq7�?{�
d�p�Z� [...]
-endobj
-206 0 obj <<
-/Type /Page
-/Contents 208 0 R
-/Resources 207 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 223 0 R
->> endobj
-209 0 obj <<
-/D [206 0 R /XYZ 90 757.9346 null]
->> endobj
-210 0 obj <<
-/D [206 0 R /XYZ 90 733.028 null]
->> endobj
-207 0 obj <<
-/Font << /F52 213 0 R /F25 216 0 R /F39 219 0 R /F40 222 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-226 0 obj <<
-/Length 2567      
-/Filter /FlateDecode
->>
-stream
-x��Z]s�8}ϯ�mqUC�
̾l:��7��&�nu�LM�$�8�x3��{/��
;�O[���ttutuϕP���z	�"�	ʛ���	�?�PS
@}�>�NN/��0QLy��Ƃ��d�y��O��כ����n���'	'�a]��'�־�^rE���'?�B���|BB���{��$a�ˉ`��,O�N����M��QH��!Yg��DI���ZO(����鹞L�g&����?3�����CV�+}�1}*�25��$��o�*����H�y
U4l�^�Q��НϞ�J�^�曗�0
Y5/��T�ϙ�3�P���r�Z�=g
��:(��mKg:�
�Z4]O��%��|ULΈ�D��T�E�-��8P,�'M��?@��E^�@q��:Ӱ�X��J��e�������Z��o�EVZ��Q/^=��Q��ͽ.�,��

)uL�ݘO�f\
��ϳ��>���5���YY��4d�
-�cAZ�����2�3S�,v[�7˼zF_��i�l;��c�pOE2�:xu�o����m �-�I?����
�{2w����.-M�%c��>�01ؖ��]�
�����֐�_�H���s3�O�9=���(�8򯊉 �}�����D��.�� *��D���rU���
-Gif
+�?�D�ϰ�I �=��na�j�5�1��ַ�6�*�b�LW�
-i
a�b�.�Y�(�7���Z̗���@$�EG��
����륎<�W�w'��,�QOI�J��H�*�
�֙��
�Sڷ�la"y�/Eb��S�U%���N̵��֐ �H�40n
��p��4ș�O�����
��į
1A���j�Q��ʬ��X��m�N�t�mF��j��fDa2� �:��OVde��
%=�)�9�
k� n��V��MdP�$2(
Hd���+y���GT
Ldm��mҟ��e'��N"�㉌s�1
�ݠ�����l"��A"��u	(��N�&�.K	�k�⢝�
-�U�����!Vk
7���b�na\�u
�
J��"�1ea�6e�]Zpա�&l�`i#�ڔ�@0I9m�6I��6I!v(I	ACJbX�(	U�@�j��``���m��tqsq{vmim�Ν���:7i�����aU
��<����+
������ڳ�I[����ZL$:k1�
-v���T�RG!<�֙-j�A�.y͗K����7U��Y~0�ڴ�����ǯ�3
;��fJ'0g��g7�o��5�z�_٦.�:F���e���^�:G	ߤܫ���0���=�:�$����f�
���˫���ݝ��z�����i��N�gW���g�zz;�zw�>�2�ɤ����.�6+�ݺ���R��<�'�ef u�/����N|eg���a��U i���t��Õ]��̹����޺@a����0"Q�j��	&1@���1}�Y}2�ܵ��Z�鹮�?�������8G���zy�ߟ38lFb���'7�:ң"�3'3GL	H<B�#&����8
H�"���x��ӹ

<�� �J�v'9m$��[ө$�$,�p��1�:�C�8$4��l�N!�%�;��[ v��ЏWa7��!!�C��u���#�$�
�	
9�xąz�`g���rBc��[u��%�C���:@S

�]�t�5
-G��\�@�]c؛�:Y-6K�+؄��_�AѠ���roPhl�Q�W��>�6���
<p������a�3��E�� 
#����
���$l�,�f���Kg��Q56C-��
��
�(>t
��,�SwD�0�II��/`
@>��&}ɪu:�pv8��
�l@xl��Q0�MJ���
-v�#
-�����;�@���HE�C��
�:�'�`���%�]��+vl
Ŏ�B�ڈb�:t{�`Y�C�H�W�- �(#��eZUcb����z���}�A
`Ѻf��~�2)C��X����rmQ�#Z�:��1��j9�ࣜ!��(��,�q���!�]�GKvt��
������
����K����� ��[���1Ɏ�غ��B���Ň}2GK���H֢G
Ivpu�ݭ�q�!��+�!.�ULw�|���(߱�q�;:3}k�1��w�������{���N<p��=�w��D�<Q�s���-� ��G;�٧c�d���+�߯b
j�ъ�s����e��x��C2���|l�����(#�v��
�8M��Lvx~�	��nu:�ߞ��D����N��(T��ר�G.��)v\���;���t4�4Ng� ��{%
-V	WG?�r�#"���#�J��b�׵}'���}
�q�m���Y1�� ?�C����A
`�A֔��]����s���Qw�
�O����'���B$�?W��͒L�'�}ۨ�h"ak�#��d�e@�TZ���X<�[&��|���S����瓍�`����S��$����Kb���}o߷�6E�UV�?�4S�%-6��
~�����0:�?m
8��������>
���6��e��A=��|�(��#10F�:hA=.;�%�
-9�l�r�}���qPDЖP�Y�Z8
� ���?�]endstream
-endobj
-225 0 obj <<
-/Type /Page
-/Contents 226 0 R
-/Resources 224 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 223 0 R
-/Annots [ 230 0 R 231 0 R 232 0 R 233 0 R 234 0 R 235 0 R 240 0 R 241 0 R 242 0 R 243 0 R 244 0 R 245 0 R 246 0 R 247 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 ]
->> endobj
-230 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [385.063 672.7083 490.9468 683.6123]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.4258 650.8553 322.5851 659.7019]
-/Subtype /Link
-/A << /S /GoTo /D (GFDL_GFDL) >>
->> endobj
-232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [231.4645 619.2185 337.8767 630.1224]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.fsf.org)>>
->> endobj
-233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [440.112 607.2633 513.9963 618.1672]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 597.3654 169.8699 606.2121]
-/Subtype /Link
-/A << /S /GoTo /D (GPL_GPL) >>
->> endobj
-235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [219.8063 511.1772 383.1936 521.075]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 443.4603 151.4991 454.3394]
-/Subtype /Link
-/A << /S /GoTo /D (section.1) >>
->> endobj
-241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 417.7762 229.0868 426.7524]
-/Subtype /Link
-/A << /S /GoTo /D (section.2) >>
->> endobj
-242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 390.1892 252.1306 399.1654]
-/Subtype /Link
-/A << /S /GoTo /D (section.3) >>
->> endobj
-243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 362.6022 165.4464 371.5784]
-/Subtype /Link
-/A << /S /GoTo /D (section.4) >>
->> endobj
-244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 344.9977 163.7232 353.8444]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.4.1) >>
->> endobj
-245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 315.4879 180.9283 326.367]
-/Subtype /Link
-/A << /S /GoTo /D (section.5) >>
->> endobj
-246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 297.7291 192.7638 308.633]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.5.1) >>
->> endobj
-247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 272.1794 155.4838 281.1556]
-/Subtype /Link
-/A << /S /GoTo /D (section.6) >>
->> endobj
-248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 252.5177 192.714 263.4216]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.6.1) >>
->> endobj
-249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 226.968 155.4838 235.9443]
-/Subtype /Link
-/A << /S /GoTo /D (section.7) >>
->> endobj
-250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 209.244 168.4351 218.2103]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.7.1) >>
->> endobj
-251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 181.7567 206.3926 190.7329]
-/Subtype /Link
-/A << /S /GoTo /D (section.8) >>
->> endobj
-252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 162.0949 225.6704 172.9989]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 134.6424 221.8745 145.5215]
-/Subtype /Link
-/A << /S /GoTo /D (section.9) >>
->> endobj
-254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 116.8836 321.3904 127.7875]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 91.3339 196.43 100.3101]
-/Subtype /Link
-/A << /S /GoTo /D (section.10) >>
->> endobj
-256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-239 0 obj <<
-/D [225 0 R /XYZ 90 463.9313 null]
->> endobj
-224 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-261 0 obj <<
-/Length 2728      
-/Filter /FlateDecode
->>
-stream
-x�͜[o�8���)�1�fx��v:m�N;�m2�2
�TI�u��L��~I����=���>4��9<�^�D�
-��2�RB!ø�.��pue����S{}
~8?:y)Ee��TV�mI���V�?~����/~>?��q���D#L����5�~x�⼋�L��G�����6�7G1�Eug���C��#NY�fytv��.��B�
9
�4����#-�o�"w������`�
��9eK�;�F΃�S�m~����f�\�g7���O��f>[.�l���g�~�<{__�M���]���$$�%�FS�g��I�hQf�W�g�h$��^��b����f3�R�v/��^1-�Vq�$]ݩ
-��
ALr��=d��{��
?ۆ�b��NU�Fs~�NZ%�;V�B�r~0�X �IU/����g����Վ��@�Y��rDp�Lj���g~��
@��;�0��rc�� ���Fj�4��SypX	�u}9�����bQ�����к�3K�	��&8®_z

��F"��~$�-�ќeFsD�
�FJ�9��RA��E�VW�mK� �
R��*N)ÒW2�,�~�O�%[ޏM��4Z�˲5�K�`�EB*S`)�<K�`�fg�7��z R�B ����2� �*�VA=�3�@~���Fx�
=�0�^���"˼l��|1l
c����Sʌ=^U��n��.��~�=��� �y4���h-R<���h���SXYw*��:��C�R�3Sʼn�`yQ!}�҆�~����\E�h+��B#��@
����1v�5
M����4?��-1�M�nf/�wQ�lCvf�n ��v��2������Ƣo�� S����F�:��7�MV�PY�T�S��U����v�
���
'���2ӔW囹^�Oz�b��(�y�%Jf��
M����>>�B���9��s�@J��f�Vf��"8�n����u
�i��=%�ZZT���ѰؿSMI���Ju��.���l�d
J�����4�%�^�OgU
���M��Z���f���Qcw��
-�@
B��Q��[�
��٥ U��1�e��CMJ��hR
��ZJ��e��є�����M�
-�0��׫	����|i��W3!��������1�bb��n!���AP\q�����m�!P�!`�i4�,�YB��I7�~�
��/\8L��zu���-%�(�l�p޳WMc�Wշ�@�
�`?���h_Ǥ�e#1Q�
��IPLD�Ū�;@n�z�D�MiIDg�Y�zU�@���9x�Mhk?����h 6P������M�
ө6r 6�ox�ɩ��(ZŹ�
TK����tx@�Fx�ɦ�Z<H�w����݈����T5�-
��lpD4�U�h�
�*�ٳ��J6�q�d�h-٧�p�r��K�A��C�8��
�.q�pw
��2���`b�.�]<ԺrQ:H���d�7�l���L�*PT�3���	Nj�z3��,	Q�y�^U���{^�
(�0�4 	�W� aZ#�i�Vҩ��yx($���ٻ��v&L�Q��*�2�
T3�3$���
$���I��K��$d�%��1rRa
-�-ta9D�2���&���y����
�� �����,3U/��pj�Ƃ����fJx�Nb�dd��3v��
-�N�(�S߮�� �Hۄ���2�ԝ�`�]�U�=<l�
��!��4@
-��hT��eS(�t��J�������Y�cH��nʰ���sʼ��U�ԙ$�+%��?���@�E��4ZKQ�q1�������|�
-ꮿ�5!�n>`��n�{�
5�v�S��G^Upԭ_{��(��0�4�K]d�$p_�
q�~���Y	��J��z�P�/��(�v?���#P?�}�o�`v%��w>
-%b�*�̸�U�܏{q>��d@��*
�FkYΖu�DzL5E\�BY�S��!,����ŷ��C6�v����:�1cܫ
-V����<0�����F�:$��	��v�J
-U
��o��A�l������b?
�^m��rB��<���	�������2� B�̣��@?:��4Z�Nv�68
�Ū�H�St
-e���b���[;�����qߌ;��J9־��T��VUp
->=G�(�0�4Z�Cv�w�X
�q��(�`������w��$%�� �}q;�`�h�X��
G�j8�����
-�9�fb���P��T�,-.�����s{S������vedSʼne�����~��B/��܈��"b@[i���웸`�c7��p�/
�*@C��U=bL'��Ɖ
-�w���Lh at W{h`[i���۷`�cG����B��Shh���`gM����2�G���yw\���S=8Z��a�i4�%���,	�{�;�*�T�'�|e�R�2FTqV)NAUH�1{U:8���q�\PDp�
�Fs
��/��
�����1I
-+:U���k3;����1�i����yU�AW��Yxz0A^#�@�i4 &�A�i]S�G0Xe_����
�݉��	�~t�TH��nA"����\f��)?��ǩ���
������'4�D�竫��U���ί����D�c���v��}�
쟠��Fv���bo2�����N�,坝�OwW�S��~��la����T�AI\�M��ۛg''www�b�nW��-�'77˓dOigs�����%
A��һY��Aڱ���e��^���W�)1��*��xW:\���]���$���D!}endstream
-endobj
-260 0 obj <<
-/Type /Page
-/Contents 261 0 R
-/Resources 259 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 223 0 R
-/Annots [ 262 0 R 266 0 R 267 0 R 268 0 R 269 0 R 270 0 R 271 0 R 272 0 R 273 0 R 274 0 R 275 0 R 276 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 ]
->> endobj
-262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 719.9123 386.1525 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 702.2879 360.1645 713.1918]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 684.6635 346.6251 695.5674]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 667.0391 350.7399 677.9431]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 649.4148 385.0608 660.3187]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 631.7904 344.1144 642.6943]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 614.166 378.4353 625.07]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 596.5417 406.0819 607.4456]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 578.9173 342.431 589.8212]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 561.2929 376.7518 572.1969]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 543.6686 365.6736 554.5725]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 526.0442 399.9945 536.9481]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 508.4198 420.7568 519.3238]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 490.7955 402.2065 501.6994]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 473.1711 377.8578 484.075]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 455.5467 426.8634 466.4507]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 437.9224 425.1798 448.8263]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 420.298 401.1104 431.2019]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 402.6736 407.3966 413.5775]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 385.0492 438.1811 395.9532]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 367.4249 416.0342 378.3288]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 349.8005 397.2252 360.7044]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 332.1761 359.0584 343.0801]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 314.5518 411.2128 325.4557]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-289 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 296.9274 358.3471 307.8313]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 279.303 408.1441 290.207]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 261.6787 382.58 272.5826]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 244.0543 438.5097 254.9582]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 226.4299 472.8106 237.3339]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 208.8056 381.2052 219.7095]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 191.1812 381.1952 202.0851]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 173.5568 348.5382 184.4608]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 155.9324 335.7958 166.8364]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.9477 138.3081 357.3845 149.212]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-299 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-259 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F11 265 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-302 0 obj <<
-/Length 3531      
-/Filter /FlateDecode
->>
-stream
-xڥ]s��ݿ�o�;
�H&Oɥ�^zu����$�)�b�"u$u��뻋@����t4#�c��
�K?~���X�AF�2�]��gh���5�}���/n�+y�����IϠx ����V�j-$[�3+k*}��l�=W��t�$`<�av�x�{�ЬG��#�/���.7���.X���|�
-
x����E$B[�.�.���=`n[�����Q -�nL�S2�㌝���{)<� ��.�
{�-`�Jp�\e�.�j���To�b�f���|l�����fWt�^|9��}������R{VSKY�E��W�DOMK}�E�Sv%��땀PW�]�U�
�Z
��K��u�԰��c�x��c΃TJb�}��V����4���L�o�WcH�U}�m�g��}��6����͈ߙdyS_E�����W��[*^úY���j�پ�Lc���sS[
����@ '
I�*w��
UŮ�m�)�"\=��W���ӧ�T��)*���"Y}G
�E]�� 
l��A�(�kg�#|���#��eK�m�o���G�zȶ!�f~(ЊY|��t5{X�!?ֽ����������D���2����Ca����#�0�L$FM��]��们> a�%/fA&v$
@G���A�b��9t�&p:�<W�������S�5�)fݾ��ζg�inM?v��3&r�XP0&1&�=�>ԓa
(����
�xB�D�S�
���ʄI����&��V+Xj
��+���N�
-�B1�cR�l�|K�&�B�4T�YG�Ǣ0����>�*�Ҡ��ݿ�׫��-�$
-��v�7���٠PAĸ�iڹyX'����|��dı�|��!0��o-�}h#�E�����	T���e�r�@ ߥDCbPMC�����<ѷn���K %�Z����w�h���9�|-s��v�3;t��뙰�F1b�c+J'`�O9^���#�p'&��E�r��3$�@/�s at g���O�R#�������`�:f�:�_mTe���UV�cU�V�̚
h�������5�᫼ʺ�0�`;�"؃g
+�P� N���
��91J�Es��i�F�A
����]_Ϫ� ��E�o^H
�t�1�
-fQ�m�X�>f��Ld6����x�4Hdĝ2�������CƁ�1�{��CC��d��I�Sɂ$������	P<"a�� ��}>�FP�(��**5u�6`;
AkF���t4�O�et�x�Q���9P�.��3� {5T���0�i��9�Y��<ޖV({�L�qf>��������ơ�K�
;$�J��y��8G�e*zV7X��v
�p�-���0�QI�/�-�B~��:�;�)�Q4�{o��T,�S׊�-�9^��+N4<�
3 at kjf],'�)�"e�-�z�R� �Ag,��@gP���d$�\�ݎCؿhK9�(Nc���݃
Ŏl�����i�*�(
-ϑ�[��
-�;�
]��]F�(k��[Wd�Q	�j[TZ�
-�)��'�
􄊦'� {����ډ���
���/[r��xK����Y=s䣘`ɴ��ԕ�u�yȷY��b���6m�|S����+>x����mx]�
�"Lqy�!<�%� [��9�XD:0�2R�
�>6�Z̀��ŖS
`;�
6~�������R]���%�C1�W�W��t�g�{�t�1����T7�	�}�d��Cs c�|�#�[g����#
�bD��
��Iv`
��0:�
�;���Ȅ���a���H
;X0D�$�Ƕ��&�)�V�)��L�;k���:S|�w���:S�oЁ/W�Ms�$
`L��2
x��f�Łw����_���ų�
��%Z��^B:Pz���=�.�S֌*�S�;�l���p�e[�@s�p�pG�k��e�vԧ'2Y1�z3B����0�

�?G�N�O�aƅ���Ð���T@�,D��lH��q����u�����V��4 ���"q(��&��6X�7����
)!I��n�ӥ���PӤ�twG��|s���#��ƙ��7�a���!u9)u2.4`�C8�ٍI9J�☄�%�ǎ��{�
Xd�r/���,�G*����n���? s�x�!r���(�$��dG`�

�Yv\�8����
GxI����,�LnV�	��J�_B��
���t�G��&U��[
���v.�)�[*
G�ܛ�|����r�>�D�!�-�xuWֹYT�-;���:�U
���BJ9�\d�l������v&/����X(��t�J�_��jw�
-@v�g�
� ��y�<5Aa:6�&C�y��o�Z�W�lF���R�> 8�ZXhr�ؒQ���_o>���Z���/v��W=毱՜
���
P��;:0Z*N����jN�SYm���K/�KE䩉�lu
���ޔ`����0!툧����x�}�5.�<�ge=������$�켬/a�d}��u���SSI��+��lG�<39Ƽ-2J�)
�(*��������BPyIKe�
0b�7�X4	D
-����ڡM{0s�'�ڶ��M���(����'<F<c΂����{ Kgl�Ο�F�3��G���I��CF
-�İl�OP��ts�M	V���Wr�DY�yN��4���H14^
�]n�������@#m��d�l�ٰhbԶ��G*KUif,��a�2��] e�%
!ՠo8�uX#ܥ�ٜ��8�I4܉1F0��F-����
-B�r�?�
�kH�P���%�)sڼI3��(p�y�����]��EW�7a���z<�L�0CG\�X��G��I�ە�-�m��o"{
%0�e]P�N
-{�T5v��Ӌ��t���.�H3h\�
�?���41n�ѳ��ĭ��MF,F˅*8#x;�k�B��N������Ao ��
�B;F�u�r�Ba��6��L>DYU��¼r�w"Z��=�Pj�5
�
�XVe�F��$
-o4z�<ЬW߻"�.��[a
ĒY��8��0^
���
�`�w&S]��y��OW	x�De�0h�C��aN��Q���n�1;:M?	�ۧ�E�ķsf #t�dz�
F�B��K����Z �w
��$��
-�A�]l
7�,Aw`̓��g
z
}�M�3s�

i�ߨ��>�b��}{���z���0��
��������BZ�
X�T����^���}�U��{[˔����������\�E�W=����
�����#T0�݋�4��@C�Ҽ��>=�^�V�B� +xج�$��<��tI�pM+�}*x���	�� =R��pl�Ċ��M;zP�"F�ɒ ᱜ^��<�R��Y{v�!����=��^�JFY7�J���v����bQ�/� Տ�;��g"����/$u���"4�
-�˕���>�Ϻܣ �ӶsWɰ;F��2`�bJ�0�LT4�)�~���
�q��ʅ�
���E2m�~������K�w��.�mP���L��(��[
g�v at Gk
V�2�Gk!��;Fv&�d��1=ܢw���=|;���ѫ��endstream
-endobj
-301 0 obj <<
-/Type /Page
-/Contents 302 0 R
-/Resources 300 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 223 0 R
-/Annots [ 312 0 R ]
->> endobj
-312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-303 0 obj <<
-/D [301 0 R /XYZ 90 757.9346 null]
->> endobj
-6 0 obj <<
-/D [301 0 R /XYZ 90 733.028 null]
->> endobj
-304 0 obj <<
-/D [301 0 R /XYZ 90 709.8418 null]
->> endobj
-308 0 obj <<
-/D [301 0 R /XYZ 90 596.3149 null]
->> endobj
-300 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R /F11 265 0 R /F25 216 0 R /F8 311 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-315 0 obj <<
-/Length 3336      
-/Filter /FlateDecode
->>
-stream
-xڥ]�۶��~��,͜h~�OI{캭;�4�I��#!	=�T�W���b H��f:����b��o,.���/��&K2���tS������������E������4�^�����)����A�y�ن�}���w���}��ǧ��?�J�J�G���6��������7��Di�;�~��o��?��^T���>|/(�ps����|4w���a�Є^�vB��G�����E���IlE���?��(�7
�k&�3>�
-�h����b}k� �
-?M��~��d{�f���\@�� �� ��푆�I��ӧ�4P�nlj�˧]�oE��0�ʁF]�\g�­l�ւI|AFD�`�_��W�_�K
�ؗ�a���0�A�IB�%vabh�	�J�ފݤE�y\��O�+��h���Ww����}�>g��|��"ci��
-���%v��$�??ZY‡T�[���z��w��/�r��g�44*ǡ;��Te���A(F;t��
�l�G*�y� �X�YQ�r��CP$0�ru��g
�[4��m�R47�����2�
#�����T
--)

�j��dž4�8��L�����a1�%�u@(+�'���V��}��ð�L��!zf����
�-��E���i;�Jђ�uBP, �t*mߣ�#��3;�! +U����~ܪ��]f%3̋`��˞'��"ɽ>�>(|B:W�p� ��)������ eߗ�Q�	��#(��� ��A�u at HR1uV����5�O�C4
���5.�xQO
;�?���w��\QPzaj�#���H�Vha���ET�p�����v�H F��EވD�7�`.1MW�
)�@��T
"��<�,� ^XD&}��G��� @X!�
I�I�s�Z��oX0�cˇ}?�^�yiSR����毽<�BEm��)Ŭԣ��`j����-�g�[
Y�b%C���mu�E�"��$�6I�{	
�";M?m��/S��+��*�\S���<
�����u���z�N���0X��H4떅�� &���y����z�
���F����,�A[,����I
���
�n�^�7L�I?��τ��P4K�c�ٱ�e!��,�Ag���|`
NI��A�Z.�Z�i;6�
z�3�S�.ԂA�ѺO�.ȷ�<cY7t�t�`\��	����`�l�F΍8�w�
���I'0� @0֓lkު㨤u���ּ��FfWE_�-
Ν.`�`  � 

i���e��
����
-��J
[�����T�"2��x%Xf
Xw��ruz��$F6(Ac��A�
-=|�����v�K�����OX�8����zO�RR=\8�f�{
KH��`d>!L���zm
�y��N�;'D�.�`�T� �8rJ#�y�c_���M
q�r�[�� g/H/Υ4��qn%8�M	�2�ȁ�Aqߣ�� ����a��5�qՖs���<��e؏�7�YKB+O����(�Vy������� ATK�����=2�I���S�n&V�U٨n^#��V7�ic��ՋF���'Y&G��G�%I#�q8uZ���
�5��j�*9g#�v�7�K���{��-�J�^i2���c	T>���l ��)�]G�8�8���-{G�U�`�҃
�y���f>s=6s<�|��_��t;u�VL�u
%N���<ݢaDu!
N\��7:�8v�C�&�̦֘�[9�7�Ӎ��.������ۓojf�y�Ȓo�t�
�}uŠ
ŝ�N��b��C��
������UW�H�[G�Ԥ���_��h��l�KԆD��1�kG��A�X�V�%�5u�.<�
��26o3�����
��;{%0��ml=�cL�+t��RHƝ!�c�M�����_��j�5�2
���6^Ղ�9jb�?�'�ͶL�Y)���f �����% [...]
�8��v.�S�q��Ըj@�T{���T�/�0�͐��l�v�;w�����X��
-v�{:��Ip���#���zf�6�J��%f%ߞG�j�kĭ��  ���(�Qv;��n�R1̊�*όŲTg_΍�hkLFE�&_�f6�-�|ۍu)��- M\wi��Y/�,�G�J���)
-# �8�VX;��Z_Pj�u�w&r����㒓�t>��Tp�Tf��2��g
�`Nr�a�z�D�����P@ҙ��/�N�M���;��':�GG�0c�1
�Ȉ��E���+�ڀ����ʞiV�����8��,�^��pc$�#�V ��)�v��pv=��p�u����kuN]�
PS[DŽ�
`�Դ�}Ju��v
�V��)��餭�h8
c_��
-�2� q����X����3G���l[A��r��.
�hb[�TKq�
@-랕�8&�UfD��^�V���=�lL��c��
b��&��1_e}��>�%
-
x��
 t\����u
�mL�
�l�
-&��*�u5f��
����_?��q������B�E��X��{ ��Vt�27{�"��S�)_$, �{�U[���@_D��$�E�%c1�b܆�iS T+��U��Td�#ӿ&�jѶ[̴
� eTӝ�
�YaK[�Z���Φ(m at l���
1*�
�!?@F�_(GU��;�
�^ɱ��N�\�����~�!�Sl-�T��R����V�b}$v�C1
~�- 6Š��b
�s���Oe�

Ck�n^�)d`T��*^�U�H�(�끻-�V������ZV���T��
��lt��k0�|O���$5S�����+�=��X_�|���VĘ���!���2�s��G��Z�$h��^�Ůgd1��9�b���Z 8\��
u��wX�qۑ���0�}:�0#a������Q`�#�*{iV���i�
��т�4k��Nw���M�)L�
���(�+A��„�6	N����H���Ȝ@�'�%�
Ɓ*��a�D���(D�i���	T2
-�A�/�!'��_���[�i�V���(g
pŶZbn	�_�
d	R�O��n�ju5zQ�{a�FM�i�H᠟�d��$p��������D��7
-I�%I��7)�&�� ���?{��sȼ<�#�(��,��+31{�p�� ?��.�Ţ���7ǏH��(�����A?��_�P���WH"����u�� ����}��i�8^���\�_y��
��
-�R7	膮�P����U��=9��\��G�8�������E��e��8I��O�/��|��>Jo��Z��Q��yֽ�$����/W�Sendstream
-endobj
-314 0 obj <<
-/Type /Page
-/Contents 315 0 R
-/Resources 313 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 223 0 R
-/Annots [ 318 0 R 320 0 R ]
->> endobj
-318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [297.062 555.358 388.7183 566.262]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://fsf.org/)>>
->> endobj
-320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-316 0 obj <<
-/D [314 0 R /XYZ 90 757.9346 null]
->> endobj
-10 0 obj <<
-/D [314 0 R /XYZ 90 625.5163 null]
->> endobj
-317 0 obj <<
-/D [314 0 R /XYZ 90 593.5878 null]
->> endobj
-258 0 obj <<
-/D [314 0 R /XYZ 90 593.5878 null]
->> endobj
-319 0 obj <<
-/D [314 0 R /XYZ 90 487.8763 null]
->> endobj
-313 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-323 0 obj <<
-/Length 3179      
-/Filter /FlateDecode
->>
-stream
-xڥْܶ�}�b�2S�C�>�H�#G��h�d�Kbv`qH��ד�O_ �YZqUj��@h4�n`�����wY�yE���r�� ��] �G?.'�������dWxE���aH/	�p�P���0���~�Q�ѽ���qz�M�����͠���q��??|w�̓�[HK�4�����gW����^T���:�E����ad;�ݧ�9<<@
�N������a��i�{=��)��1��}�a���${]��E72����퉿C{���W�
i����:vSߵvY�^�i��p���?
��$�Z��dz�?�����%�2�l��Lj����cxE�t4�����x�xƵA�:]�$B+�<�d?�vj��
V]Wm����ׂ��ۧ^]\�S-
.�
rHf�@���']�f���C��F���
�d�
@�����iևeU����Pj���� ���E�?���	�o���q��N�����GA Pɢ���n*��j�
�4msD6y���K�8&��% � [...]
-�߿�HK�G��WV{��sF ە�`l�q[ˈ��i#������:�MY"eoD�y:�LU��{Uh7i��h�D`��{����V+��Yf�a""��+O!KP
��
�b�J����/����B>���T����}1�\S9�Jm��E
_��G
Y �`���^D-D�$
-���u�	+��ZY��W3�+^2��!JVh9��C���(<�b��58�PQU`��4 at Nl
wm'<��*Bd/=�*�

�ь;�^d�pQ׵1��3��!�ػo��	 6�Q�]��
��!��F�>]e[�)�,�	=�?l��֊�{���p�*�|��FAY�˱ <f/CdL����ž�D�(jg6I ��������4�jl�\�Ф���5HB�\k�	1Ѐ(ĸ�M���NҨ��+������'C��0Z3գô8"�H
p�T
�`��x��١�W�1m��
�V=�bQ���
�Q[����r���t~��7����l�r��.^X�h
ncDP˽�f�
t���ճ��u�W�l:/k>Q�G��C�ٍO���h�%����Q0T��	���y.%?'
���I�+���A%�*����$[p:#��
�i)���ɣ�W��

�a���';�4'4A-�/L����󪵉H�Z�=�̶U�Nfp�ԥ�ؐhcَ�g��n�	��,������9�+�tJ�ʐ����N��
-�\N3MYOf�QTܤWQ��^��~⋨�g�[�7�I�`Ap��ڜ�"��<
4���Ef3g�����$#�0�m�ũ�m��ζ�l*��
V�}�u����
���ۄ�
A,�g��K��@kI~6��L��\k���VRT+q��Cڏ�L6#�U����B�Ž|����ԋb�A����R��u��9�(���փ�ǂ�������֣N͹^У���-��ʽ���
-�ǪuA fHv�誉A��m���x&?��d�����
��t����P����Ƽ��#��i��n͐���M� @*�߳�aW2r�GJZf��fCF�����
fj[��Q�.��Y5�p��`��sj5N���#c��7wL�i�v$�OLH^8T��H���)"��~�
�yZ���L�vN�K$1�v�T:6^BE3�4M��Yo�E$l��#�H�d)7
_�ɺ����Eن�t�ޓ���&����
��R����y�*�p!�� ���V�"����<���
4b#
�I7 ق�8��
T|��w'K����� �A~j/0B�	#��� �k̾	��EQ��G:*Aēp��
ʦx�t��8�4��:,��E$
-=������
����
�8�SR�}j'��J��M[�?q���>����QJ���⌠Ǘ/!�8\�: ��nh����aN���[$���5.���
-`�u"a�j�kF*��&����
�Ŀ8�:A�Kt��rl�[��f����!rCVA�F�yhŐwK
j2��
�����^Wb�����,l馑�E��VDT|E��WA�H
�'(�u5�=n1��B�l+}9C���?�q
��E,���Y%]ں	 ��5XD�N9�J�rya�@���I=iKT�y��f��
�v91��Kksԛ�sw�fU�%����
WK�v��7	\=��?���<�
-�X{ב��C�R��ΐ���K	��c'[Un��Dlz\�;jm�"wX�|���ւF�[p��(ro0��p������
?Ѐ	��= �
#Vs�t�����
�8����/���
$�-ze .��#D�T�
�}�J�W=�{I�u�7δ�-�l�ĉG�a2+�gx�m(�ʤԁ/g�<J1$�g6�d+G���9
���-+��&.�[���\�Zjaġ����?�ӵ?�
�S��7O鼁��w�H�f�s
���f����9�!!�y�<%?�(��VP�Cιd�ߢC+�r>�G�\b3Hpd��d�+��w.ڇuڀ	
-�>�jك��\�����3��6��Iy
��
��V������_�L
�٥��Gץ�r/��`;#�̉��'Dwq]�_+�0����C��w �~��*�XCv#aF
2���_ܠ�/x�j*��놊�T��2M�q�)�d�ղ���ŕ�O_Sc3���mE�<�@�3t������E}�KD��
��;@!q��ɥ��J��n��".�VG����l�ō���B
*
-y�
����n 
�k��}8IK�.-�2�[���%)�+�$~��z�سb���a�O^���W`7kRG"9�p\�i��
=�2��2i�ۚ�]�U��"yt�[�"�s
��
钔�{X�E֞.�1\��9@�;0�e ��e �k���ٝ��m=l�*!)�$�6M��r/
-�������"ͼ<ͣ�R�Ȣ\~�`�X=D*��m��YW��o�xxIп[�	���{�	@?B�u�M0"6�}�D~�\
-��QMmi��-7�8�<��<��/;������X�?J�
z��t
�^=??{��M��zό���~uKW��^���Wd}t�^вV��^����
-i{v��(�y�
���x
�P�["�+��>�:endstream
-endobj
-322 0 obj <<
-/Type /Page
-/Contents 323 0 R
-/Resources 321 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 223 0 R
-/Annots [ 328 0 R ]
->> endobj
-328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-324 0 obj <<
-/D [322 0 R /XYZ 90 757.9346 null]
->> endobj
-325 0 obj <<
-/D [322 0 R /XYZ 90 640.4753 null]
->> endobj
-326 0 obj <<
-/D [322 0 R /XYZ 90 616.1501 null]
->> endobj
-327 0 obj <<
-/D [322 0 R /XYZ 90 292.7737 null]
->> endobj
-321 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-331 0 obj <<
-/Length 2981      
-/Filter /FlateDecode
->>
-stream
-xڥZY��~�_�7�@H�L�AFO�V
g�c��3M���<�����s����@����������+�����J�dwPa�J�'ou��O�
oa|;����ӛ�q�:�q�^N�C���V/ٯ�`�
"o��O?KÔ��9w��cnSn�hSS�:�}�_G��_><��e8[X�T���<����ʀ�O�N
���
-
o���x
-�:��ǧ�� -X�a䫅+F�����H��f�U^�>���v������&����17<��i�Munt����Ŧ
ЍaZߚ�I}YT����G�%ϩMs��–g�w���t�Y<���c��U��>
w����E>]�8]V
7j�P+XW'�t�s��
��6M�����Lp�`翺�s�'�$�wUӘ��ʌX�I��Ie3[�y�!����z��v2�R(�JU�
a?w+t�V��
�iv/F��v ���׭;����X�c�4����Z�2�M�f{�U&�a���5�=6���a��V�¦�
�X~�s�¶?xY�XwѨ�Á�R�7��d�2��MJ8rg��۞K���*�6��6�6�p>�4�����}Б���d΄Lw���UQ�%\����$*��ʙ��
-�z]��tWcJvolNEB�&4*B�Mĭ
pi
�`�;5��Aҩ/$G��
`�� �|�C�*�
-6���%�����j_t�c`�M��T��h�dؗtr��
-����NMUp�/���/]��
-�ė���e��e�fȣ&����b.���y�c�0�+t�����L� \~�p�A��ӭ�1���
8˶@���̹�&A�Sၱ�m��*���	m�\ّaB�/3�4A�2c
f�ag:_独h�
��+�E�ߴ��7:\�ʻU�l�b�P��Z��{�]J��)�)&!�>ی�L�A�:�9b�@�nyLNKօ�P��0cep"�DB
a�v�p�	D�Ԑ)ô`��2����c
w�>a�Z�Q���A	���.���
U"r�wu��"62�†%C
Ți)�
-�v�06����|��*r�8(��(�j��3�rZr�|5�
� ��#>�T�%�*�|�)�L赝��������ȫ��x/D�˗u#׸I��dW����uBk�#d�Ŀ
�� ���R�Z&�
�@����"	Q���h
-ɜ��ܲ��k�{݀-��l|�A�^�����q�
-yH'Kę�D������Q�8�I��9.H�)0)�� q�)7�'Q�A�Lu�^���+�le��⠴G�-`����#�d������B[�ZI^�(��h����Tt0�E��%��~/��]�RVZޘ\*
^�ѶʥU�M]��,��
-��
g�
��|�8
KO
	�5`"T��k���Nl��5
2o�5&�n��	J�������r΁m�R�閃sB*'HK�� I�G��*� I���䆠-�s�j�!��&3�Y��~!
8��jA��Va��X

L%K�DX����6�?�6� [~�D�ergb����R�N"hzrh۟$����ē  P�%
�2�����-#��[a�ۊ���"�\ҬxW���\t~"��$L&32H�Sy;A��0q���nx�o2��
��
m��h%ؒhNH'�e㾠~� �Oޖ�������@cAߵ�%�����И��
��֒72v��-��^&��	��p�P���6i_@�T�t?��KK�7"rI��ac6� ��V��v�����L� ��"TCC[L�4�%�b
Z�e���e����9����VV�5�i���0���+Iǟ�
�����
s?�;����S�\� ���L��›s��
���X,G���M⭿"����t�1� qL��x�P�<�͌)�d���h�(�_C��ɸr
C��@
��ʫ3��T����
Bd7	�ة1����]� �S�S�#����pB"�+���L��I'���e͉9�B������\�f5Fw7�.�jB0nGe  
��PT
�����
-�=�����S ��,as=�J����]c'hc[�yČ{#s���Ϛh��_.�2
	�J��3
-k
~HkԴ���a/��9^T0�ɹT���y��nx'IƟ��n�SH��d�89�`�M�E�+,$��/|fp_����bO�1���H��%��[��R�J����7xRb�J-pL@�!$��Y|S��$�����O���6͵-
tPEs"vw �qy����Ϩ��'Y��&�N
�^�c)rr]Sb��R-�Z ��^��~����lB�,Y(�nݸ����J2$�po�a��j�^#�_�]b�.:��V�Z̊iu(1k�
 ������XO:�J
-W ��+���$
-���D�Xr!H'c*^�]�+
-ECQh��ƪ[0T�y)��:��cjf^���JJxH�&�}!3f���
Ձ/G>"j��U�rb$&�c����`A�� ?����a�������H֗���@@�:�a��*g=��!�Z}�1�>����n��I��0rOyjY�0�&��'��)h�r�]�0�q^N�3z�a���HJӪ�<!�'��a'��5��^s�����oq�a"
�P���Q��ӽ�5ej����'�`��&�J=%�U���Z��������AbΎ]��2F
ʒ+g��b��%�/����
8��^4e�g�J4Z���W�#��#D����aI@��������A����T4Z�t��K¢�,ܴ}]WM7eq��%,��uӧ��W���w_{��.���WZo��)?��_��cv����^M?�ƻC����11�
-��M!�?W��b�F����O�&_��Ӥ<��,[�p��S
C�����e�b�o^�I(hy��<�%X}4�^�*�w�>�2��O+���(�a�v��?�'=�b�t]��7o���.mw}i�fg�7�i���F�.���]o�I�̔F�Ny�?�e�ZQ5\۪X�mX���L��O�Y=@�G��
D�endstream
-endobj
-330 0 obj <<
-/Type /Page
-/Contents 331 0 R
-/Resources 329 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 337 0 R
-/Annots [ 336 0 R ]
->> endobj
-336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-332 0 obj <<
-/D [330 0 R /XYZ 90 757.9346 null]
->> endobj
-333 0 obj <<
-/D [330 0 R /XYZ 90 589.0019 null]
->> endobj
-334 0 obj <<
-/D [330 0 R /XYZ 90 363.7996 null]
->> endobj
-335 0 obj <<
-/D [330 0 R /XYZ 90 217.9004 null]
->> endobj
-329 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-340 0 obj <<
-/Length 3373      
-/Filter /FlateDecode
->>
-stream
-xڥ]o��ݿbߺ
�u���)
���KpE�E��$盛�6�8���3����u�€E�
��=�`��_���]%^��xW\���	���<|��.��
��G���b�

�
-q�E*P���:ܫ�����ܨڪ��|��M]P�c]T�PA'M�t~{�����6o-�q�����7W����=����	:�d��]�B�����t�O�
�	['��g����Ǒ6G��ý��7]{������=��~���W�WUI����?龨��/��	�Pw����)�
ܹ
-=
f�!��C �	f�=]�gj�z����s�$�'�U�&�1�v�	��w<W���w�>����~5|�����ю�\���
-ƬG�>���&���

^E$B�]���
�;���]ɭ�-���DUV��wN��
}a�xg_�R�4��Z�殡�7CG�KU�k����n�-ksK_mHs
e^����3ndp!�{�NC�
-^ԯJEkB��H�-r�
�A�e~
/���Q@�}�[w�
/k������_�jy��F���0�l��l��Ҩzd.�-CN�A!7e��>}�Tf ��B�����b��<��u9�X$ho��E�I��Z.�t��&���&�f�Ll��	���kل�-�p�؄�Z����N����4�P���#�a"B��؆I�5
X���$�͔� �5
�	X�P�p�z H_�>�}u!!|+W�@VV��,֚BH0c
�
�֟�/��[g��1/�V�/�["e�Z�*�.�
��ho��M��H�AWDrA�`ˑd�OK�� x3b�
-l nPd-@���9a>���2C�
���@�� ���k+�
-!ݥ��=^��~��C5
$i@���,t�}?�h�r�k�K�q��j#t��_���ژ��x��3���ό�J$�w3�"?6��,��IxBIz�Ƒ�75�6�ˊq�	�56c���å(;���'`4j\�~$)�
��t [ݗ
\'����0�O3)>*��W�\�9?U%�h:�K����))�b�a)ĎPK��9�
������>ط4l�����rx��xC �<gf
t:d���[�&��xP܌4l�*�Qv��F��	 ѷ55z5�2Lř0d���-����
)sDɱ�n�š�s[�o�.�xq�ܰ]�-�%hoۮ[
�u���].ݒm�J���T��V
~�lL��(�,�s_�1
����h � �_�}��)��8���kc" }/}�kb8�~���!�ɭ�W�Eq�y#=Jλׄ�s:lp�
������{$Y��
-0��bd�`�Y

˃�|0�*��dO=aZ
l�w[����`D����!<'
e'	��h��a ��41�}��K���Z79�Ԑm~�(�q�a�}S�,�2k�q.�0�:Nj�<�wv���I���܄�q]�jd�A���25�i�q�70s��`�(�Ҝ�@J�ra����pԱ�:�8�����(foZ����#Ĝ�j�D�B�d�b�/$_�}�5�8��&�>�����;7�1��:�
%����ma�L�	
w��a�zp4<��y�k��6N�Te=a�}��9�-�J��s��N�
+�
iF���R�J 1*nyA���W��p��a?%}}:�"����R����ԗ�i+8�(�]�\A@��U�� ��錎t��@P
-��Ŝs��E�����‍���f+~!#f��3�r2�$P����#gY����D�
��
��R�� ���l�Qr�8��bx����
��:*��dκUQD�
*�[/
-����ȵ�E-
�j�Y���R؏]{�.}�| ��]�R��sT�Ҧ�r�٪�)	�[�W/
�&�������df�),A�
PВ
B�5LJL�m��%&���!m�Fd
{��9�RT��`K(����>������
-Щ3����K
-�q��ſbm�w�J�K��%G�H;i��o
��H���$O�a'Tæw�w�F���ӑ�^�]�1�E{3f�Iq�ߠ+1ギT���|�U��b���,��fA�V��������cW��7b��'E���y���!*���F�Fr���і�~l������8�(�p�-m���
Z
; V��c"�8���?l^ ��4���[N='��Y��h?4X@��] �l���JvoKH��8���l�LL[����Y7Tq�EA�_Z��Z�7��&�Yhߠ+B��{�U�m0 ��*+��H��Q�+�j
�@j%|�+����`=O�B�U����V
-7���z�@�u�w=J�T��PH�`�1� �Z�H���W\�y�r�e$��b%%+\�R���#�N�9o�^�~�� CS�?4;
%U������#u
��T��\��
^��s ��v�(�A��k�V7`ɬ�#�TmxC��پ�9��G	Xja�����
r�ٟ6Ett\�iVFle
t����2ߒN���(�7[[�',<r�υK�:^WiE�Q�e��l��T
,#@\ ��b
�*�C��
��!�TA6��`�y�����@\/\�DM0)�0+
-C�J�
���R�������qJ#!3M_/�D�)~Ud=�EiR,M����l�Dَ����Z��9�2ކ�H秪���h��H������=K��哂Dy)��o�$g��G�7
�-r�?�MTܑKT�
��o��H�xRӣ�~&�Yh�^+�^+�R
�r�|͸���*�c�Qkq3Δ��
�{HQ:^�Mb���`����}��P�6_���'���_I3��ᗁ�(��T�B^�ڮ���ͨ<8$�|g��q� ���]-��Ra��U��@ul��kS֥6��'�˗k
����nj��<_E��ϻ�tF��V�[
��Mת�K���:Лz�p��h���
=2��rJ
"�
l����/��>�TRUD�M^�hYO=,��z^�v�ٰq��� ��`z��T���
?�Fsy
-ڤ�ќz�-5����B.:�C~�<��x�M���|f;��v���8��h�
\+%�)��0��M��t*o��)j0�-F}�7�S�7��,!x]*p�"l�#6�J�7~�C�{V��H�G|��|)��@S^]�Ϙ�51Y��R`X���u�b3�y�^:v�tb*N[��^�͟��;���0��~�F�5I�	���-��D���4�޵�
�'<i�_8���5���s��ݱ���8��[��$���D%m�}p�q�3ܥ-����v�_��r�=����|�a.�TU���a�Ei
.�F?����j�{g�d/q.�źxM�q�~����ӓW
����ޫ���k�~��0��-�
^�[�{Y0+�bO�и{����&
3�}s��)0�5��N
������e��endstream
-endobj
-339 0 obj <<
-/Type /Page
-/Contents 340 0 R
-/Resources 338 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 337 0 R
-/Annots [ 344 0 R ]
->> endobj
-344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-341 0 obj <<
-/D [339 0 R /XYZ 90 757.9346 null]
->> endobj
-342 0 obj <<
-/D [339 0 R /XYZ 90 714.3182 null]
->> endobj
-343 0 obj <<
-/D [339 0 R /XYZ 90 375.4522 null]
->> endobj
-338 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-347 0 obj <<
-/Length 3527      
-/Filter /FlateDecode
->>
-stream
-xڥ˒��>_�[��.ߏ��T�Z'N6�u�`� �ЈY��	r��ק_ ñ��
�F��h�

->�
�Ȓ�+�8=����
�o~��%�ן
�}�&��+�0=|��4�0������)L����Q�Ճj��a:7u��ץn��N���1;��黇�~rk
kI���?��*`�ߋ�<9�@������8�l�y���/G�h��� ��b.��W�iz�����$���5�k�G�ݪ����xуnG
1z�r
-��
�g?�
�2�!�;c޻I�
-�b�x�A��0ށB`G��f��n
��S�||�?�q��]
-��n��]U�M=��<�)�`���+�$���C���+�7(R�7U�#��^�h5p��]�u��I�6ro<�N�W͍���!��J�F1��~��Pe�����ö�P�K7
��][��ՆXG?v�Pj�������b�F`��
~3X�
��1Ƶ3$m���^��x�G��X}#�!F���g}@z
c��`�;[�Ͻ�_cU&����F�QӋS)�k:��j]Y�$P��X��]�Wm�܀
-� �2���M��
�߱*K��+�^
��L7�s&۵f�p'wE��G�ګ�ZW�}+28���|Q����E�̩1Y�:�h���i잨��՚[m
\Е�/6���� v��q�dAXz�I�໲�8����h[F�ڊ�49M���:r/hG��3��A�g-�i�Ɗ�X�4�������
-�j�o��m����	r�κ9��5�f:�C�O+R��B>g �%yFt��E�+� ���ݶ�=)&$E��>��3�aR�r���f�C���TY�\�����
��?�x7��Y�{
�p?���q����ĎX�V��+��|��Γ0�輬L��U�1�yiGN�y�<����A���US90f 	
����)�L��9{a!���f����(���ʃ7�Z��Z{��3���fM@p����	`L&�s
�s��
���νɠ`�Ev9�G
oh��n�q!�qSp=@��5B���
��l�P4!���A,�'��6�sk9�ӌ�{� Ѕ�����(�"Q��x����
��4�&��$-���ң
nu��D���Xs�Ԅ�Y�a�`�w��"H`�n:����R�px���!�9�����c���z�rR}
��j���I@���5G�Ë8�ߜ���*�`
W�S�<���Ƞ��9&2�
���	/
�KҀ���p�P�E�9�A_�oD!G
Q��:ؽ�u��
�|��v���	�

^d&8T6ʘ���b���kMI3!3�qzkp%�P$��I>��
 7KvIݗg�[۰@��<畈�*�IAH+�.p��Qt�Æ��h�!SKF��Gg�
�h�

�t,���R���Y@�1�W�+�a/
����%E�8(I!8^)�����
kv�)�
ʚ�
z���&3��=��k�
��g���&�ۓA��p�9�Y9����m`��D�,��y-�7\
!w+�ۀ5z߂�F,d�`1z#���Xl-6�
�5��
`��y*��׮"��t�J]A�`j���Ϩ���-�e�C�
��g�3ui@�=
-�R
h���2
D�ɨ�Өy$M��$�~�
BO9N������g*�
-��9,-��,L�P��V��y���7Ģ
�`��@
@s�	>�+M�$���[f�8�R�9�l:�0I m,
- �#c�N��Ξ.SKq03�%�/O��j��"��3�A��#!C��Cm�O��

9Qg��`� �@0�-p��.%�ϺT��pV��=�����Me�Z
�*�{7���%��섶
W-��� ���ܥ
�sF�	��@���J�ē��7 ^@6�4����%ZPR�%���f�t�c���K�୐
q���(2 4e�n�!�J�� ��J����La�:�4���ǡ~�n�@
V����rH���\6T~4�v��
P�`
�oX��b ���|Ml%�C�ǩ
�K�]��ࠬ�+��
�a�I:%�^���bz�5/��B}#��}�R`��`�!΃�T#��
mH
-q6�	A6���bG
p�%J�H��tJ�
�^�p��T	ξWmM���;��v6��'8���������j�Ų
��
-C��H�=]"��s$����=k:�^�I�WF4�=�E�{Z��XUE��
-V�x��4�8hM
���!h+$����Y�c�+�NF6�T�����]�x�-�l&��f"Hx�\ջ��j�?�Ge۵�����%R�L�e��6J (��~2��
CR��l����ִ>�mNvRJ�<��5t�=
pKǹ�R�%�н���
gքg�d�r
�s��b��bߜ�GKiqR4�.��e@�ڣ�S��͛��4s1�2 M3	�\�D b�S�w��;�  ]��n~U�
ŧr()K	>�
��
�Tw���y�fa����o�9�G�'����mP6�� 5�;KM��
�����u���
�
�[���Ɠ��c�_�a�Y�Sca��~�7veטM�Ӯ��K5J�
:�5�Lf����8�(g�䑓r� �o8C7
�,�ޏ���q:��A�q�-�рb��<v�3��N�	?~�[��ļ �t#%��+��
p��旓
��sT[�
>�Jh��
C���
�,
���X��;z0�\q;
Щ�R͵نK�l
X2b�?�m����֏��
r�qS۫�3hɣ]EU�N<��{�$u�<,æ��
����Z
-@���j�e�ө�Fތ�X=��T��"p��)���S
�����bs*O��(�H�UZ��_r[�_cS�E�j�,޼S6�9��~f�@[�t/O�{+K�Z�x�T"C�&
�0�Sl�xi�&Va�b%DX��I�:^��@R`EHMq�뼾��������n<�UW��wUv
����h��x��+�p
�h`�5�l�z����fr��$�(>�[�G+�Q„tᄗ
Ze ���ײ���ҕt�Q8��o7�E�(@�Ke���$�EB����
-)��dc4&�D
{��!�)�I
y��
y�@?��ڮg7J
����;��9�~x<�}è=��Bl85���&Y(��G���
~� (����u0��)���삫�K�u<����G�w���M�F�G�DD��*"(�X���
,7�-Z���$v���&�L
F�t��;"��*cb~[
������WG���(��$ ����f�9���蠘*��X������@#��NDVsa�4�/C=��E|ʈ5;7bW��gڂ<
�n��o��K�h��C�!�� ���_(��!2/O�h����+�(�YY&�Yd\A�"ݮ�_u5��s/u�[�2���I�G��T��	3�?��
���U;Y�������G؝�� ��Zo�Ł��i��)�~>���fѸ	O��+�l!�WtQL�q������ˋW"�~���
��w[��$�
~笟
�+^V�'��i��ŅF��'Q*xO��_U�_������� 0�ωendstream
-endobj
-346 0 obj <<
-/Type /Page
-/Contents 347 0 R
-/Resources 345 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 337 0 R
-/Annots [ 350 0 R ]
->> endobj
-350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-348 0 obj <<
-/D [346 0 R /XYZ 90 757.9346 null]
->> endobj
-349 0 obj <<
-/D [346 0 R /XYZ 90 201.6924 null]
->> endobj
-345 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-353 0 obj <<
-/Length 3247      
-/Filter /FlateDecode
->>
-stream
-xڥMs���_�[��g>~�"��^'m��%�6Ρ�� S��	E*$����/� Eˇ�gL`�X ����U
�j����v�ڮ��C�z���
?��c��ק����]�ۦ��Ӂ(l�(O�t���y�n
�<^��O�0��t͝.ϵ����V��
t�R��r��ӷ{�k���l��ʿ?��k����}��lW�+t�(�����A����?>������t�<�����#�Yo�h��V�+�
�;ٺҽ�~=���ڽ=�2p8��$��~�~��d����?�a�<�W�<׺�Iz���mb)�Mw�}Y�m���tV��[�<�g��W�5
�1I�]�'t*�+fh���S��$_���LG$ ��������VGnzzG�Ic!��]�/v��}>w��?��3���ٗ�����?PmS��@߷���~���6/0�خaEX�;-��R�kX��i���
�;
m�-QY<t�ʡ�8�=>7.��3mb(�s�P �
ڞ� 4 at Gb{�
-�-N_�c���:�<��
�o����{��"����e؝�!��|���4Ì8 �n��~n� �`�
�T��/
-n
5����J5�A�����|�$�Y)���=�{�&*����t]-�����U��� $n�u���K�	�k�x��϶��T�����
@o���kO��R�7ɺ�
�M58?Q��\
C��v�Nb\p"�/�-/�1M�]f��r
��ѡ�/�{+r����c������b;�N�N���E����f������/q��a�ugt���6� _�/�]3F��ܞ��K*�o��a�@��]��I�,�l8�҂�p�63k�4w��g{�ѭ�=Ơ�=Ħ׹�qެw��@)|�e�{ʓ� ��i��w�ǣ��<wW
��u��L֭F���k���7J���9�<A��CN�rQ!��:���
���$�{��A�m��C62*��E.�`
^����{�P��A��P�N
�zM_�C��vh�K�s���][���	�r��*��QC"��J�Tʡ��R�V
T���^��u�cT�<��Gr}^v�ě�u�sۛY�n�i��׷>Sr�n¾�*�]�dp�⎍����!X�� [...]
-��u�b��t5\
q����y�Ϗ'�*��q
F�ʞ-���N|]�p���J��3�q�T�
Rt��9g��tB�'�� ��=N�G����c*J�Y���>�T�cm	~�m
�V��mR���/Ɗ
-�:����v/��v�&�
.ݸd�Cg9��A�P!�¹g�{2Z�T!��P<.1_r�"Y'q�Wd�o
`�E��
x�C)��W*�En�3�jI���d�X�������䒲������1���%NY� ��2�%�����)h�"(hS������J�E> �#�l`Lģ���ԃDH��nRw
@h�`��pQR��� ��
�
Ud[]��_����
���O6�a��1 at j=��
��~��иum
E#Ng�#p�x��ق`b
b�UK&Q�7�x���K��R�{�UK:8T�`�=� ,�In��\ù�<t
�%"�K���=��"�b������@

*�o]*��p ����Ɣ~"��-ݒ�o�H�P�(�KF%r��na�V(�D(�I

�����a��%�g���
dn���8]���U���+�d(�'�
,�)g�᾽t�``�9��*���ݒ�� ������%��
-��g�S8޺A�M �]�~�F$�K���/�C�m��!�]A}̔2���:��g�
�D,ؖ�!nzQ>MBY˜��m�4�% (J��?��nQ�F�nC��g�CJ3�K	&�0��.\�
L$.C���a02�v��ν�_6(_�4��
'
_�j"�<��dp�s������%(Ɗ����f�����c�F�NqV[b�	O�]�FF6����IZ
S��
�u||��\�k�؁ ��4]��Bȟ����4n��F�F��c2�g,���Z_���O�'b�(q8�
-���vN�A�'\7U��]-������b��5GŜW ���I���ݣƪTRG�Z�
%�-����"��Iv ���_2Bە��ś��4��e�����/{���$
/`=w�"J/zH5��o�����h����i�?��⋹�$XU�<_f��E#����;
6�U��TC��yLeto�����m틴��]����AQ8Lf3b� �`�t�8Q�Q�Fmu�u'���� ��S�Dª��Y�w�
B�#v'OP�`��$!��J\n�(���N�$$����do4,�EwA�|��H�B�(%�tJ)���3�*�\��
��]�c��t��|.���J�S������} Wh�^���ŘG	m����c���PQ��,�MJ�S.�=���@Νu����nc�3�{��pc8Hqt����]ۙ�m�%�]˜P*A�8��x��؟�S�#?�{�,�Nt@�Z
V(0�=��:��h/h	��� H�DLY,�$q�Tx7��ń_"���8B�ACI}� X���-I��~�����l#�wj
�-]�,������V�"�H.?]���[r����bE y1�l�1�dD}�\��ع�
f]:�(Ic�m���|�xI��*/
-Kyp�<�qY��\4��
�lc�[���"w��cd�Gzun� AG
-�B��
�o�*hA����da�]�ac�#�"�U�E��LIm���`[B�XK�X+��(�=�.�2L�,�9@�
ED��8��>��r@�&^aA����
-d�����/�f�
x��d
-eץL�?px}���,�Qi�47���7�(ϳ�_
ū2�U�_?J�G�"*����g튬�
�M�-������ �����;�
��;�	S�I���-�gݼ\�����#j%��z��e�����N7�J�Tps�@8]��

?3�f��(/�j�S
�m�Z�
Y�'<3��gE���Ȧ�0�����z�FU]{�";|����|_*WQ���
Y?z���L���m���d���'�|c�mﱀ�q"?'�Bu�
-�M����??%uoendstream
-endobj
-352 0 obj <<
-/Type /Page
-/Contents 353 0 R
-/Resources 351 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 337 0 R
-/Annots [ 356 0 R ]
->> endobj
-356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-354 0 obj <<
-/D [352 0 R /XYZ 90 757.9346 null]
->> endobj
-355 0 obj <<
-/D [352 0 R /XYZ 90 285.0702 null]
->> endobj
-351 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-359 0 obj <<
-/Length 3352      
-/Filter /FlateDecode
->>
-stream
-xڥ˒��>_1�p�VZ>@��m���6��!e����!�)�d��ק_ A
�٪�
4@w�ߚ�>��侊��a_e��o�w��3���Kdy��/�wo�,��j_iq�x��d��Iz�x�)Jvi
G_��
t�m�����ԙ��ߛF���IY�2�
~y���G���gE�7�z��/��H��.�gU�߿�$�'U�ޟ�T��Iw����
^�
[
�I�9,��>.�X���,��wM�/S�7�9�a�x�O��l�CRF�Ȑ�C�G����5��c�g��u�=�Q o����f�~������_	\;�p}�E��8H�
�E��{�N�M/�D��Z3�ȋQL���
�]ﶺц�}H�H;<�p���7��(�
-։�V���ó�� �</�w}c���Wd
YM�}��F;\��<�'3�%y���	]�f@��,f�/x�`?2��4��$h\
�NwW9dd�?
����1i���o�hNG�i�ј'[��ٌ��D��� �C����
����3��/�Lp��
y��A��r��FT�2��
� ��iT
�A�
-iY� 80�Z�gS[�|&�
�k0<b?���q����2Iӄ�)M��]5��U��<
���c���W��8�
[Mĥ��1#�����/W91[��N�mN��l��(����6�

E:Y�C�H�է�j�J��+c1�,�d�
�:�U��y�:�s���L9 ��h+� l����f���P���7ѻ��(�q?��pB���U:!���|�-�4��������������'���ٹ�ƀwu�
��Eݴp��͜ю1�A`��b}�^���7�́�U��#d먒#
�uG�v�X�����0Ov8
�����47���v|��%�ip:��
)�ѿ$Q�����Q���k�����ӿu#k��
0ZԽHaT�]T�]TB��x�4O�f0�-�t
�׌f8_:�DW�"���X����N��"L^��z�q�c��u�}�*����[�?�i/i&�
�sv"���8�Ś�N��]�P��
O(��v�s %������P���/0��NFT
- at 0�S�QO�ٚ��{�=�xW�pޑ��
E��C��E,��uiF�[7��h�Y}s�+oC8mkFy��`m	�8홻mn�rT�r��G��o��-2p*�
`
ǡ
�e[Xod�K+8F�بU�>J��lZ%ab�{��Sgnx�M6�ߕ�"HE)VZ*����
�b����l����q
�\J�c�w'��������	�y�#d�9�D����0ü��@\
�ť%?��L.'f!�6p��!�%p��˾T%���RJ�-� V|\� ����5��V)�w�!�Zb��`ƈ�ް/2'�ġ��A@[��2RG���
5�����X����8�59Y�k*9��J�ua-�F����% 1:�`�<��&��N-W	��'k\ƅ��_%�)���Xq㎼�
R~Y9��K.cR_k����q�ڳ[s:���Lf3Xs�?��p'2e5��Y�$YȔ�G��V�<2�vT�Q,�
b)���
��"��.
�� �ok���5ak�)Y�$����[
-���PbZ8i�Jf`T��J��3�8��7-6�8Y/��Ʉ.�^$�M�t�� ��i,���jsf� ��@��+�
޹���E�2�f����0��$$��xpZ[��o@|/پ�1�X"���<}�]��#@QNi�5 ��h�]��
le�z*N�d�5�a	u�R��YM��J��v
K��
�Km������ߣ��d>'�~�]E��5�	�`�z-�Hi��@���m��бJ�2�TB�����)���[B>~����~�A���rfޅ7
,�+E����7��Kk���Q�
ĥ�O���"�G��.x�,��)��#�\p0ٍ|]�ƥ
�������.�0�<
�(�XJI'0VU�vh'����sJ�i�y)^c�)܇�U\B�=)� �hz�%Ql��͋�7��T����Hx�ʤ�
1���y}��Az�mW�����I�7�x��5gA8�}�{-x$5C&�hx���݄��'M�;1�{$:�D��3��Lr�+�A`�0r� �2����5*����f��[TN^E�kÉ����5�ܐ��!�%V^�6�Ji�UA��s��)A�ۄ"0X�pK�� �X�[�� ���b����~�L#)I�*	�u褌< �$D�%�~�ڃd��PΫά<Rݥ�t"#�<գ1JЌno)���x�i'�57����y5�_R��z�,�f�5��JiV��4�e*�s����
v���j�'�p�eK��O2-^�)�p�7��ŴL�KJ�)��V�.+1��.�
j��F*C�;�N
`�@ᄁ�����2H�
����j�����Qځ�x����W��ԈoP;)�<8���p������p��?jn)
-�G[�V syW���s�
�ȥPI���TY�� 8[�v�L���3xg�˭�F�|CrG�g�]GjŊ�L�6�"�ZZ��5���s�q&�Q����P� �_y�U_��D5)v,��*z2��PW�Ր�
VǙ�$%�
ȗ&;�tʊT��P�
1
-� ٿ��c
�Ϳ��g92
,7��
^�79�:�
i�<���(�F���W	���˽	�FN~[�����'�,����r�R��~��lZg�U����ٺ�
��c�
����	;����>8r�A�+,��̹O
�vV`��p��)���a:��\�!�s��I�q�[�q_�\$Ǿ�zY����I�
"��H�A|Sz�aG^p
�ر	��)���~	��
-�5l
�v���-�B����(��K��6�P}�)�%m���c!供  L{
���o>�k�Ü
iLI{�����L=>8Ew"W�	W�8mj���	č>`����

9��zl��+!P<SR�1
�T�X�Yp$�7g
�Ů]-�?
�֊�R+>��is=�<�����K�\\�*\��r�}�����|���A\2�	0��:#�{*��tQ�����
T�UܦtJ�T�'���І�rx)$��UGǣ\���"pڈ10�G�����zD��
�SI�ỵ�b<�S3 ��=��$�ZQyv�@$�)S���~�n��K�j���������
�X���	��LqؗE��-�)��!+�_K
(n�Hx����,����][}��KŸ,��M�
�G�A}��Y��[m'j����#��������ݿ�2i
���G�8����43���Pk����{7�n�߰
v���
�:��N���o߾���q?��b�fz{�too�R���������y�W��
K��
�_����r��`�)B-,x���5 0�T��o���Aڠ�oG3�endstream
-endobj
-358 0 obj <<
-/Type /Page
-/Contents 359 0 R
-/Resources 357 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 337 0 R
-/Annots [ 364 0 R ]
->> endobj
-364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-360 0 obj <<
-/D [358 0 R /XYZ 90 757.9346 null]
->> endobj
-361 0 obj <<
-/D [358 0 R /XYZ 90 714.3182 null]
->> endobj
-362 0 obj <<
-/D [358 0 R /XYZ 90 597.9986 null]
->> endobj
-363 0 obj <<
-/D [358 0 R /XYZ 90 376.6021 null]
->> endobj
-357 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-367 0 obj <<
-/Length 3323      
-/Filter /FlateDecode
->>
-stream
-xڥَ��}��o����j�[
-$A�4��)P$y�%�&���2q��g#Ey4A�b�y�y6��r�
�/��.K�c�tWuO��௟BA?��'��ǧw_�ɮ8i��>�i�4<&Q�>�?��s�����QMߘ������������&y��}
~���ӗ���[�!n���O��x��)8�E��^`
â�vݓ�b;i�><�í�zaK�$�7dL����IL26��N��t-��q��O�(��N��<K ��rj���-�./އY���?�`��!L�
�����
�u�Lb���/�0���t��Ҿ1����dO;f{�ܲ�i*}���g�$ُ
��:`P�s
�$	I��L6�r��R�b)�����KE$�s[[����;�Co���#]��� ��S+0V�Ȥ�3[j�9��C��B}�f���hZ�
-��i�q�y<
�<5�nQ�",�
~CL����vȎi�������6�q.�Ob�.
�9��s���'}SMz����+cJ��;��&S�c�Q�j at k si:��N��6xpD1�h����V^ �$[��[�t�lȓ�`k�p�� ��="r]�}�,$��eI���/���Ҟ9�6� �
�q�
�S�*�[i&݌<���h��������,��P����`��lt�:F�/t�P�@��L�����;ҁ(Ԗ�_2z����CR1�nȒ]�,�Ӂ.�b
`�o�
���p�w/	�#��
b0
�	A7CWN�*���(�wX�&N�4�8J�UH ���г
-��?��-_>��}ݞ=m
�/�;-đ�D���9��Z��ѝ��i0w�(�93��x^����}��u�P�#"�
�#[�
�z#Vz)/�aq�Nw�'�
-�ru6
�[i�.�*<�Q&�	 2mZ����'����S[B��o-j_R��$�ĭf��JA@
-���
	q�T"��a���� *_I�,�%��b���!�
�T]y��
-�g4�`��G��@���л݄�Y���%��!ALoI]���)i�)A.Soڮ�V�0"
೷��\AjF!!���|2Z�$�~ 
��Db�0�: �U6`_���򐥆AW~Bz�e��P����

ECO
>���Of��}&��,YdK'�`j�����4�圿����� ��-t*X^��X s6�GZJT�����"�ګ#
:Ks҃��r
d��f8]��:�p��;�Ѝqv6C�#�"�
Q��:2l	��B���A��/�)G�د�6,,n�`@���8�Q،�oe�b�1�
�Z�ӝ���
-�B�ö]Y�~�fa�LiIQB*�ý]�;��8���J�[���
�ٷℏl���H��j`���B=WMK\����nK\`d:	��R�¬U��Q���w ��}ˑP�@x
�^��Y��z at v���/m)[�G��>	��	�ѫQ�ZVE��d�(���KC�AA�m����/��N`�t�1�lW.o ~j�N!��Vo���!
-� ���P
Gir�%����A�R[:���20�ȰnΈ�
A�
��-[紺蚓!��|�V�'�&q��-87r��]�h�"�r���ve�}�����pe���1,��G��8��{���l�!��Ͳ��(@���x�S5���6�[�&R�X��x�K��:�l�pGXd���ԬeJZ2��6l�� ���f��`�a�I�
-�\y1�؃Ѳ�5���L���=�k]ML�F�XK��%��$���%�
-8?��!�
��e,
ćg
-�^y ��Vܟ�̚BN����fU���f���D�����p�

���q�7F~N2!L�gYn���Ne�
��
-�
�8 yN�>@2?@���")`��i]F�-�mh�a/��O�Ve�@��zR�3���'c�m� MВ���_熺wH���Àk����Z�}����d�RQ(0�G	!����eO�u
r��t�]��bsObzצl��"X�mSM�-f�˖��\����
g����M���M����{�e��� 
7����
-�7������ձ
}{���R&�N���
���W������-I�Rb�ͭQ��2W亵Ov�PMs6\+`��O�4�ԫ��7����lf���
K��� R%zw�F����?���?�
�-
p�b�$�4��u�$㔊1
-Cz��-�+M���ċ�Qf(<\e!��N��Rdx���$���r魯_1����*��F�����=���#5��V��[� ����{
`����XXU��A8c��+�?G BjʌO<`G��|��SP�󖔨����W��="N�o�����H�T��$����S�`���2w
�b��
2O(�%��������
-�VT�5���íHj{�P�@h��p�@�Vj�"�I��7�� #��@������
f��=[0+k#�Y&��0��p1��.����
-���
x�
��V�@a��r�-=�f�{���@�������+��ڶ�����,c��ij6)�忀�@Nи.m�k���E^1��
����:Gp����@�
-�oh���P��O�]��y��){B�0�
#CP
$�,K�4�N�h����c��w"8?�h��
��Aa�a� p�`�
"ZL��,e t;�'��xӆ��(]v��7
-\���ۂZ��;M����A��X�T7С�����`�ký8���a���n\7�rF�������:�#�JYx^�k%Aa�
������*�fk�~�N d�]�s�\�K9D)	x�.9�ђQ��# �0|������֬(Q��{H�7��z#��7"b���_�]S^ێ�*U�4ަ�� ��-&��5}�K��E̺@��p�O���
�8CI<�3p4T�b�MGʦ<�6D4Z�%ч��
FNτ_g|%W`ދK!l���
�~W��]�t_��0*�4,�1

�uL� 9�"]��
'����E@�AP��TBk����������VuM��
����߫����:
�^4�<ځ>˹�*���n"�����/X��L^�s?bw)
U�iW=
f�Z����>W�~g\EE��Jײ�-e |���8S�c W��g�� ��0q���L��
��8&I��˔`��P��׏_�<iv��<�ܒ
�,���-�	�ҩ�A�K�I)�~h�`[S��dJ#&�ֻ�t	����R�`�t&�W�N˸ߚ��i?�

-��^�H�}�T6�WڌUxL�T�u��O;;�ۢ�³���)��j]�M�4�������˱�s�o樧w}�=�uL�~�[?;�W������i���l�/}
ţ�^�3x7�7�@�-'�g�����6endstream
-endobj
-366 0 obj <<
-/Type /Page
-/Contents 367 0 R
-/Resources 365 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 337 0 R
-/Annots [ 372 0 R ]
->> endobj
-372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-368 0 obj <<
-/D [366 0 R /XYZ 90 757.9346 null]
->> endobj
-369 0 obj <<
-/D [366 0 R /XYZ 90 451.8258 null]
->> endobj
-370 0 obj <<
-/D [366 0 R /XYZ 90 323.551 null]
->> endobj
-371 0 obj <<
-/D [366 0 R /XYZ 90 219.1865 null]
->> endobj
-365 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-375 0 obj <<
-/Length 2909      
-/Filter /FlateDecode
->>
-stream
-xڥYKs�H��Wpa�z�'
��n

�vL�Aa#$VM��~�%!a�lGlp��̬��||�*�?�3�:=��L��vWZ�
�W��o�S�[\��;vg�
��,6���U�Ѝ�b��bto
[S
�K�I�1�oq���$Z�I
 oZ}E׻->]��jq��6

���՟i�5���JS�A��
a���``tvW�a���ʿ����
�жE[7[�h{4LUsl���
-0�p����C
���k�J�
-&���鷮m+���C?/�"܅�Ȧn��*�A�
-/����]�V�,����&Lۇ�.H at S|�C�M��?�,{J�)RnW�4ǃ��7��l[�����j%Z�4�N�
%�Y��;�R�S
òH�v���U��A]m��]p��{�5l`a6
X�z
0��Ʃ�^�68mf�K��C���P�2�)�)�
��Y�����S��'�@�޻�dm�]��A&��v{���� I`��
((" �*�wa�S�o���4^��ri��������R�4J�%Fi�8�7T��f�)��
6
(*�
ܰn�GM�y
�8�v��Ҡ��˲ )Nݞ���F5�N�RMk�N\<�s�{c����NgܾtuCS���p�xe��l�
�Ɲ�9�r�0>]#�T]���.�ܯ
w��)���[,�1�D���y�ݴ��hx7=��W&�� �90����u�>/����N�:C�po /�/��Ew`*î��
-�DO�̽�7}`"Y�����u�=<.X�q6�s�-���-��X8�O�g4x8�:@�\_��.�7v���L�
˜o�av����@����-
g˅
�q#s�
N_�,��M�׸?Gq=��_��ﳟ
e&d�	���h�
��d|�EE��`�~��ă���8Kd�8�Rݖ�]�
-ݡ}YPBO�|�
��7�8a
�	K�{�)셩���ff#<��d(����y�*����A^{XB&lh������(����6a��]3dSi��\�0�i8
�̡��eN꽋� ��3�)�]$�j��>��3zR��i�4zz#=Ef�޻���Ž�,ƒ��/�܆V
�J�H�	�L�3uG���E܇<�cm�8���.�ʛ�x&�h6��i��?�h�q�
�D�������(x���@�-E1zBN��W�/vHZN'�v؟�
xH�1
"�!��O`�%̑��0
s�'��B�҂
-�h��[�
-���:�ᐱ��*�"l�!
���u/�3�<���=)k`\��_�Wa|((�f3�
A<hk�i�?�$9��}�r;��@���~��8�  �c*�'v�닮
-�Ăv�|p��|8�9=K�ݑ'#5 �
$MX���|�Dfۗ���0��@�ع�)?��%
x�l!?L�
�H�\�J�!�?�p�i�V�
-��P�3���_,4�a1�e�m�g���Gu#[�&D�s
$��r�JF�m�5-����T�6���/�����kXg���]<z�q[>�����p
4��]��7Y���{�s�pQ
-f-�Q�
�;B��?��UK*k"M�>DT�n=Ѿ�g��=��r��=���ʶ�
/��fQ	#๬��b����
�"k��Q�ū2�%ڎ	�
a��~~�$��I�%�M�ח
=
��
-~�*��#�.�r��S�����k
~^�k���HE�Ɣ��D��pJ\;��S��Ԣ!\��v�=Z�21xc�\�P��IZp�Mh��`"K�+���*!2�f&�P����Z�ٚ�F��w#��Q&$�1��\l�#j�լܴ��g�� ��
��t톮X�q�
E9ߩ��Ks�b�.�D
ud�h��\�&Ҿ�i|(¶]qx�����4{

�Q�D$�X&�a=F %"�&	gӏQ�e'
-t侏���WI
�9s���4F�
-���۟���ucZ�
-��I6/�嵹Y��r1O��sq�._2D�&
[�0\�
�O�{np���
�<8H�
~��U�WQ�b�T���=�h��yGbx$�p�m��Nc���	�����
ˍ#p���_��,Y 
׵�\L܀yIX>"�T֒�e�X�(2K�� ��ti&�9�S1�C��,�"(d�4ϣ�Xx�
-J��W��YM̩�o���ĞS[�.
V�(l<?QFE���"��o�Y>�ȣ�&
����B�A(�m��r��
-uJ�'E�T �"�޺p���ob�j$�B<$�[Qq�����g�^fp
����5�Tt�%Z�Lv"p��G
����VT��/����
<���`*��<�pTjS�뚨f'
-ӊ"S� m�6�
+{s(�U+J~�4#�S� ��2
��^;7j8�X�^he�V:t��XŇ\�>C�>�~��9/
�{u{�mz�Eb`���"`��8
���
|�i<
�;L���(�L �}%�#`���m��p�9��xϑoV�&�$T/_�����utKS-����?����7uiz���;}�/�B����? ��p�T?���N�����=�^R�ґ��-�a�Aޡ7oY�A]�xb*�#
�ēv��y��׫�|c��ه�i�>�<J��/��[�?�y~c�}Mu=��Oa ���p~�-/����B3ԁn����4���kBWm}`���X֜,
"c#��!��! �N�~u7C�n����.]G�3���[J
:6��ӴG�XQ���
-�?Vد��"c��@�
%��N-c�ն�ֿ�4�[���.����}�o���rTȞ���U��*?�q�l'���'�J��PoY�ɇ�'�( ʒ
G�!(O#��lK�X�aV�� 9�b���	v�a-ȝ��Ko�d_2��S���){�Ϯ�&��f�Y}v���mQ���=
��*WI��Ԩ�����K�,�Rm����X�TBli˲
��
�aK�պK3>��:-r7=���w]���.gp��l�₩�h�endstream
-endobj
-374 0 obj <<
-/Type /Page
-/Contents 375 0 R
-/Resources 373 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 385 0 R
-/Annots [ 384 0 R ]
->> endobj
-384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-376 0 obj <<
-/D [374 0 R /XYZ 90 757.9346 null]
->> endobj
-377 0 obj <<
-/D [374 0 R /XYZ 90 640.5888 null]
->> endobj
-378 0 obj <<
-/D [374 0 R /XYZ 90 500.3589 null]
->> endobj
-379 0 obj <<
-/D [374 0 R /XYZ 90 348.1737 null]
->> endobj
-380 0 obj <<
-/D [374 0 R /XYZ 90 235.7431 null]
->> endobj
-373 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F78 383 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-388 0 obj <<
-/Length 2865      
-/Filter /FlateDecode
->>
-stream
-xڥYQo�8~��e�q-�r�٧v���\���
�
��(�Q���N���G���$ng�j��(��ȏ����'z�����aԛ.O��3���

����p1>9��T/�HF���J��������~0J����>Q�
���5��f��.��LA��l��
-�#?P}!���\�%XGDU���?��
t�z�{A��:�'�D��'�
\'?y<�G#�섮�*t�uԋa�Q�{6*��7���G*�;��|��V5�
ͼޤ���u1�;>%��`NI�W]V��	�c��m$��x�)�D��P�^��Ī���&��Y�x��uaLP?-�����@����|�z4�P��َ�瘇m�wLذ���EV�.��<��:�8˪��&�Z�x�80�¬�#9#d��dyN�	�+=_�]V�E��_��_���9���������_��za�
���ʖ�<sJ�C�iQo�3�X�����_a�������ɏ�Ƿ���ܹ{`��s�0���ts��������Ko0=R�n

����_t�˔
v����t��3w:-����,���"y~˟��{^��p�͚T��Pr��"}eK=�٫;��>S�ھq�~�$
�LsS<�ĉ>psw:׼vaj��և�
��2�E��cؽ�$
��\��;k63��)��
��@ʝd�¢�W���6���\�=S>�����P�p$@�H
�vp�
��9���X�:�R��}�A�DJH1���2�\�ٌY.�l�
�]��T�
uj�65���5u��Vؘl�s=�KS��E
-^d��0�bs	w�k
c�E2
�nx�"��f�h"
�sft��\fz
�����釰��@�.<^���j��>pJ��{��Jy֞O�����X[fU�e]9=hvZ
�F|
���8��������
-���\\h1[��{a!��$�H\���:Ͼ�ŞR2���3D�2{^p4�t���M;qo����d�ĭN��E
D�"]��h��!C�
�E�W$�~�x#N�RW��������i|y�y���3I5��#4Ǣ�˘�ٰ�^W0�)���T
uN
��5�).Alt����
ʻ�ޤ� A9�2�%�p�)f^��w�5��m�ΐ"9��#�o+^��@��+���N�+<�%l�"\���n>җ�p�Oy�%-d�����
-�bUfi��oE7���Z�j����Yk�j���
�(HT���b�Ѻ�xSƊѤ
%�'?��8��CoI��p�,��^���$!l�s@��>_����Ɠ9�t�Z��6Hg#��
(��9�K���l�6%����JF��� ��R&�ֳ����H��tgP����0�A#�7|� ���X�>lѥ.	�#Ͱ�j�0`�0�
��(�
D��#6i!{�\��F
 ��Rd�8�~�<�P0Z����;S�#{"1��UU���<(�E�
-գ�
��&�D���8
1�t�(q;5�*��p�-7�Q����Qn�}љ�������)�:��PP��A/�U㏁��0l�p�fZ����0+��*
hv�,�cu�"ݱ�fA�
���MjIؐmp�T����
�!\#	�i� ��Y15�ʔ���eS�Z�
@��4d���-�`>����w��+�X)�א�R�ZOJ�
Y���g���
�F��
��tK<����&)+�&*� ��
-\�N�ZF5�
H˳�
@�������s�]~m3 j�0>�2��+����}k
f�x��nl��c�E$�x\0�*.�H�A�q(�^����"Hl��9�ej
��++�Z�31�G�tV����†z�QؗeU[��-r��thD�)	%�R���A�������
_�c�o���"�MeV���f�
��ϫ�[���P]�*���@���,�u��^8�֪�"������(��ă&�{�������z�s%����BZ�+��c8Ux�����<C�r�.�2C��"H~��hs����n�`���
-�ĩՏJ��~,�.����I�*��%wx��= \esW'\�ƔL�0U݈�v��� T$�"S�
�;W�|���z�
� �<�9p�{\iʂC��&�ۦ�Ye�(:�ݽθ5��{Ԍ݌7ּ�Mi񜹗�"�D�\d��s�ѳ�����|�5
�.Ͽ]�\v;�QƔ!�5d��;����ea܊�!㐓D���}쥎X�S���S�U�����$
��K�͸�|]�7�Q�EPa�/��v���,�>t�
t9���* ��hR5�:qf����h;@M�j]2�޽
�c���\<�?1�e���./�j���
H���YBfsH䜉���u/�
�gi���R��ꃄ�Q��"]N3p�-U+��)L�7�9����b6-��q�<d��[�iȬd
o�*2
0�
�@�A����b�C�Ǹd��:ִ#W��Y�U�hV�fC�sJP|�@Пk�w�&T
t�3Z ��B��MjVA�cz���x�ޚҙ�������eCF� >�_��
-Ft٢��lF��@��\-����u�^�
�[��B�(��$��d?��OGqc�j-:�h�ny��X.0,+�;�8q,�H��r�1
�/R�plT��
-�*�U!���5�����ū�y����@<�8��
�߯9#!SƲR�k���'��A�4V���^�E�{���
&V�ɥ�:~UT	�����@�} �������z��8��*��KFA�8�)����=�c
-�2wM�]�Y�: Ep�v���ȟxR�:}fQ��"=A�h�p���&j#t�h��]�;�
'�ǎ�&B9�ўM��i�M�f8��3Б�=��u��J/�Ϡ<:�]B������Y�#]�+T����ӥq;[���9��oXv�d���p���s�~�>
�endstream
-endobj
-387 0 obj <<
-/Type /Page
-/Contents 388 0 R
-/Resources 386 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 385 0 R
-/Annots [ 390 0 R 391 0 R 392 0 R 394 0 R ]
->> endobj
-390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [314.9562 612.7123 472.9634 621.8196]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [152.0867 402.8929 321.4516 413.1741]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/licenses/)>>
->> endobj
-392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [225.5616 348.7803 508.5005 359.6842]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/philosophy/why-not-lgpl.html)>>
->> endobj
-394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-389 0 obj <<
-/D [387 0 R /XYZ 90 757.9346 null]
->> endobj
-14 0 obj <<
-/D [387 0 R /XYZ 90 334.0855 null]
->> endobj
-393 0 obj <<
-/D [387 0 R /XYZ 90 302.157 null]
->> endobj
-257 0 obj <<
-/D [387 0 R /XYZ 90 302.157 null]
->> endobj
-386 0 obj <<
-/Font << /F65 229 0 R /F67 238 0 R /F52 213 0 R /F78 383 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-397 0 obj <<
-/Length 3791      
-/Filter /FlateDecode
->>
-stream
-xڥ�r���_��K�KˋH��w7��vw�
;m�$	Y�R$�K
��{n !�n;��	


 ��>�ש����4�$���ʿ~���@�W0�r^?\�z����:M����@�`
�Ax����E�U����?p�]�
v���{[e�I���LU2��t��x�G�D�_>\}�0lB�GI�[����_��
����_G�.�~����4�>]m��v�����tx�&�
5������a���8���}��=�y����Z����2�-$׭y,uν�hZn
Ǝ)�[5�n��o?�t�=T�qRe��v=4Z&�ա{Z��}�\m����L
�1����U��8脥�9�&vR��r��e��=~K$���xuS=6����X�E��:in=����� 
3����ܔ�
�2�U'��+�թ��;?
$MDA;;�*ܤpݮa6�^�
����:���P����riR��r�?
Y$S"�{!W#��:(��gY at c�h�(�R5_o����2�}�n�CpAՁ�m����:�Tב�!�|���&
#�F����0��o]�JFSvvl_U_��	
`P 7 H�D3�e9>#�H73�*�gf��'�	���ce�:�@��m���h,�Ft��L�q�����l�I���n���/_>޽�}}����'&s�����o��}�{����=<3%�̃h�X�h空.���
�
1X�x���ry0<��*�S�6$tn��`�NV��n�
���1�.TF7
��Be�����q#ύy<�
-�cU��C�n�3�9��U {��.������x;�/��N�t�9�
C�w� �^���>;2\
�M�Cخ�kφ��E��S�'���
S��Ϋ��y�1�`3hq���ц�B���}CV�vbZ L�|Cز���-+Ep�s��Z��xy��ѦFl��Oϝha���F�Y�2�a�$�F��b�n��1^l��
��$�ᨿ�����̓>����%��l�2����F�+�9ڌt�<o�HcR�h�]<W����O� w�
F���6���.�c�}�S�X���T�����d��{.����%Jٌ3��\��M�:5s�5�i�� Z���TO��)����@ͱ\��������C�b
x�
��K{��#[���I+�S�}�c�yH��
�%
V]q�����7��Qm�b�.�'��]��<ݜ�c�†LY�#W����
X��5$d�U��f����z�/�<
-oq�Q�U��}�v�m�J�W񧄰)H]��5`/f=
�
0x5D i�xK��p
#����k��ɱKV�V�5hP�����m1?#k�A
L3rW��f �䈵��G�'��#�c���Y�� �za�O�"f�A�)K%�h�A�ŏ��z���	
�z2�x
x���RFFG,
�88K��D�56d	hO�6!�ꈱf�)��/�N����Oi�Ǿ��A�o��w��/�#<�>�_��c�b��n1^�3��ӣ�&Õ�`k��������$�R�������������3'z`#��
B�n���^��X-B	
|!��dȧ�
���<��Ok��1^��J�x�
K�|����gd�ӄ��: ̛�
��h����
0Hd��	��"�
��-�YB��Ӭ}#fG�0,���-o�3�"��\w��.e[�4�n:�cFDę�=I�ٙ���'��WJ�C�sv��qJ�C?6И2��fn�ж;�KڈZ��
l�1�7֠���"Z�0�Q8�A�Њ�쉟�ye���(��
U����`��ߊ�Aݞ4y_�P{Ƕ0(׈X�t ��
��1A0B�L�c��(�q#9�fK�ȋ�k�	B��f0M����`�A�ľHx������̵#��v
-�w�kĖ`=:[$#�KЀ��8d�1Fzi�h����H9�a#A����*��G��&�؋7��`��r닱�H9�*�Q91' w�q�Vm
��dC�/dl�	9��Q���
E/�mgN��*�:�2� \��x|��g䤏��^#��s�Lٸ�����9���!ˍ�L6r3Y��[Ξ����,�0��ye��V|�����:��?�N�Ov����y�r�p��L�r��xX�
��"
LZ�&1�^\
9��
-8���!jR�8�
B&�j��վж:r��%��jH#��� ��-;&�Ŋ�I�2�~��ZgN�Uq�{��3*9F�oG(�L��b�Q��q�3e��m`e0I�mo�����)07-;�$����|�i0a��R��!ޜ-�P�&�=L��p�:��t
��� �O� ͉�Eȥd���~`h
�
�6�� ��c�T���]�Yr���``�C��*��k�2P!��ޘ��M�d<>4���N��]�����P�$�uo�KŘcS�C���p� IREa�P�L�"���6��¯�=�{f��6�-ǽ��e��d��k�:�

5�Y��v�&-ʤz��R*���
�k �����>�p�\h���'�|�k��|)g�-��x0�<���^S�-��f
9P
���e<Q��I�!� �h@	��A��/��x^��g6*׆I�McyH�B��o$��K�i6��D@2�?�
�A�c2�{$��������:g !�uR����#[ձ�cK��-�XWc��w�'��A�S�����Z��9̷�S�y�/^�O\����j�bw�a8J�(�4eV�$�=$�[�����
7��V�R�2J_�nؔ��RD��
�!�
@��x���F��6.Z�ݿ���� ��~���}	6�5�xa.���-�y�Tr�R�B��
W����L�SﻇO�4?�p�
��Yc���J���}ǀ���,� >�'z� عfaX��
Q8�Oٖ
- V{R~�c��X<�F9\z�ޗ��t��w�d��؇/��
b�d� jZ���6�]�VS�fJ���c�6�1�، U%��4fۓn&���q�3ݶ��2�X�L����
-
y:z�Ic[=!�a�P�
���M��TE+h�����]�DVt�pw)�x1Q(<	m1
I&� �X�LB�L&����L �������-P B-���
��/�r�徣��� b|9����t^cÉ��AB��.�7��
lK�gx4�ZU}��֍dk�_�V�t�E��j� ZT[
�{�ق��z�[������f)�rR;3�¦ ��'�|�z
�&���
G���o
- ̯4Z��x����q���A�2�5��6��{��:��*؞��qHOfN��&���N'?k�!�?��~ .@��֧���#>@q�c;>�$�0'xp�<��#�d�0��m+�8�(
-�a2�2s.^�
��Xj���hP�����@9>F
1ȀS��/
�q�
�j�X����ے�E8՟����{T�Ï<���_KzX mmN���!���'�i/��BF���|���
!ta?��l��y�,2�R�
`�x�lt��By�qi���VA�e��^">��Ag|Y#�w\�r��*`��r�����,-N�q
���̿ޭ�`���~�F?�K��]���_�%�t��iv�1�b���nU<5f��˦}#���>8
L��Cܻ���R&�Zݸ��I����������
��1q�?��z�M�,��.ٜ�G�^��_F�
V�
�y��a�]dӱ��o^�zzzZg�T�n֦{U�ū�6�f
�ov��]�����]��k�d���
��T�O� C����l�L��"��&�3��7��[endstream
-endobj
-396 0 obj <<
-/Type /Page
-/Contents 397 0 R
-/Resources 395 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 385 0 R
-/Annots [ 399 0 R ]
->> endobj
-399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-398 0 obj <<
-/D [396 0 R /XYZ 90 757.9346 null]
->> endobj
-395 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-402 0 obj <<
-/Length 3763      
-/Filter /FlateDecode
->>
-stream
-xڥ�r�F�]_��˒U&
`p�ov
'�&��Q��M�0�"� ��V�}
0 !%U[Rgzz���{�_{��_��$J�;����ʻ��7W�
o`|�"���z�.��w�]
��wZ!��Q��w��+���������x׬�te
���Y2U�����}������S��׿�}w���p9c�b���կ�{�9���+o�vit� 
o��v���*
��W?]�8��4a���W
�F���@m�8RD��C��=�����L�&�S�Җ�V����a��
ٛ�^��a
G� �%��ώ<S��u�:�\1^i�{��ko��ɋ��)�tu�u��M; ?�č�owQ����f�Q��m�vu�x��͋��&V��n�z��a���iM�e�G+�S��4��p]EW����e
-��`�������c��&�:/��խ�p�dt�Z
-�����ؘ�.�K��x#��tx윻����Aβ�ɋꞻ]-��BV�
�rU�Z�a�daH{�
Y���xz�����>7
�'�Y7��:~[�Y���iZT�_Y�{�#Tu����cA���
e����0n1%��ҭ��\�� '�e�˖�H�� 	�`ZPf�$sr E7�����i�o�f/��'�?2�1�Re�Lf� "T�X��:�V=IN����[��*�����k�4y�c���$kߒ�z��B^�LY�F5�,N��L[ɏ��q
��r
'\C J�AG�Y�D�b��B�[W�8j�D����t��VAD�<ҺA
P��� �&M�y�A/�P(.��_��Ǜ��V�׻huw���Շ��n���L
�L�>�}X���G�*�& Mg��G����B��� �t�
�Q�x��K at 9�e�O`S� X�Bn������,�����&�d����Ըї�e<����Z�_�
�
V
0@��b
�����12ۂV���i]Ír�x�?h�#�1a�މc  l
����f�b8��"�xl4h��
��>q
ʒ@RA�W�S�&:-�8#�1c��:��hWr�������
`��6(�+��\�
�V�H�@E�tk��oBp��0�@L�N!k�� ҙ�X�%(��o���#nR�a�3���@O�ԥ�CW	��h�R�Z
�����X>F�ø�e�|�^Y�
���ϸ�a0�8�N�
-x%��[O&\��6�@VT�qi���1�
l�� $!��/;��^q�������}$rn������
�Tu#ٟ��N��Y6a��"#ٷb?uيe=ԥ��U���IQ-(j1�p�
w%y�lZk�]�N_喎�-�
���FFz�V�.��̛<^�����Ȕ���K;d��G�D*q�%������#���k�X^�������`�C�(�@h�ۣt��"b�3� �!�H�fpL�EϠ�)�O'�+�p�v9۴
{#�>�ee�5��n�e��<�8��+��+����B�8�\��Xn
����(����M$N|	���/�lA�+���|�N��v���B�Gc%��oe��|�
�5�����c<&NZ�P�6�
-�UVݐ(�T�
�J�}��
��8��)}!��jaB�+�/��ћ9?��
��� 
p�P0Y���-cǨ���}���ٮb��LAcs�5�� -*X�7�SC]�
g�eb���dN`{J����b���1�
����%�Z��}I4�1��G�
*�E�l�*2�u�$�bv��bhQ�ȣq�ڎRVPK���|�N@�۸ ����Q!����U�%_�8��6�<7N�KEl
-�0s��*���
�Jr�z6�.�6���I���w;�'��q��B�y1{,!wbo�$�QV��\�Q�c8X�dՠe!8��s�'u�ɺr[�$��9y���}�pM���
Ni
$�bL2�0�_����у��mN�Gt"4'���&�x���]
е�L�!w��;�'��	6���L'pg�l]s��ɲɬ���/VC:��`Z��]�l�u_��>����N��Jued�y�$�D�^�Ӑ��
�G#6궮4����b�����=�L�4�����z3[�kȤm�H��љ� D�����T�����F*|�˔?�����1X�r��2":�����
; ���A�Ω�f����c���)��0=�ʎ`�6���e
�"b���
�Gl�|'��%�@���3��] ��O&��>�G0�[�"U��г�.țSm ���I
�H�7��L'>ݬ�w=ԁ �҉[R��&��ޛ�4d�ꬴ�[�, s��m���I �j[^��[�圄Te�󥫲kB�� [...]
-l���&.
c����"��m9�&�E6C	%�"���}]�V��3^͋ɜh��`ҐT'�ƄG�M��zC
ݙ3�]�Թqʰ�^ld�݉2�t,�鉖t�(q��T�F����ڃ�Ƕ|�@���F���Z\�K40J]
���B�(��]��%X�
-Vj�M���f�
w7�F����v�H� �+�&0��
�
!��>�=ڰ�f
���tи(P��c�S�e ������f])�zص���h��W�8�zp�.�!��VX��
á��=¸	�̝H�
��K���z'��
�#�ǂx�R�D�"i8�o]�����L�|h��u#-.�yA���D�E
8m�ͧ:Af�$?�
-��U�S&�c�j`�iR
��63�iN�vV'�8a�圏��
s��
/{�4��$�TI~������WRM����?��8U�0�'I�фn=m� ���� �P���I4�X��
"2�U��-�#ؖ�Bk*�xZ�r��
-�@��)բ���W*�Wޕ-1c����A�c�4&�BF.@,=
-��Ɋ֐�P�5��r��p
����
�Kd��qBAoY��Ė��hj��1��ɐ�u���l:
p!hX��Y����Ѓ1��˽&�A���
Q����=ibݶ��:���QNJN液Q9�؋'k��hl��@ 7fu�A{'�Aߥ���
~�
�_]��_"�^�
U�� �~
�h����� R��8`]�;1D�nw^
O�}�]0<~�M�]
-�#����?
�y��w?�%�{�Q�g�(���q�EA�x�#NCj�
�8{�
��ya��܋�W'�=�-#W_p3<J��R;�L^1H�W� L�B�P�VÈ�#Z�A���> pM�Հ��M#K?Hk ކ�i O�јT'���[� �����zIC9�
�*�m�!Bx�ԩ���a��q��q.?F��r���C��<eL
*��m���M�6�RX0rj�Rbl��Ʌ�v1gӜ�����5��j?�]���[�?���vt4|������	
T�
���� ���JN�OT
�V�I��j C��#Ac��$��+
-h�[~�u����q����t�ߘ�y�@^�]��Y�&b�ż��vk����V�@j�X����	��<���}�
�F@�d��W�&A�N<ڰ%4�
-|��Of�3�1{�HF�_��gb�Q�?��ӭ������D=N�i�*W���.Q�|Ug1~C��bҜĵ��ǣ�m?>�7�G�����
���}�mZp[A�x��wlD�
�Ё�j( �ٽ0 @�'�
C���7U�o�4�<���׶���5Ä�3�U2qt�.}��u�W/_><<l�v�WŹ����|9?W��u����
Hg�\V~
�?9��&����N*�Ms=_*��y�ݒ���/��?�OX=endstream
-endobj
-401 0 obj <<
-/Type /Page
-/Contents 402 0 R
-/Resources 400 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 385 0 R
-/Annots [ 404 0 R ]
->> endobj
-404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-403 0 obj <<
-/D [401 0 R /XYZ 90 757.9346 null]
->> endobj
-400 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-407 0 obj <<
-/Length 3503      
-/Filter /FlateDecode
->>
-stream
-xڥK�۸���
-O.�gbE���iw�l�}v�m;��=��Y�,y%����
�Dɔ|��`� 	
- �"��?�y�$J�,�����m^`��'��;��L����޼��M�f��7�G�B컑�����	�;yη?�B����O
)���9\ϲ��lj��<ȺCx���G�ߟ?>�{
6�{����-�����ަ��~|�� K���x��ebs~
-E�;�ӧ��
�@M�}j��o�����ǛD�G��b�M�] B�7/��Ns����qi��P^r����Դ�k��)l�?�<�(�"r�Ȗ��)�51O ��[?r$���R�s�+�u]"�F�VV2Gvc��\�Bۜ5v١�);�w�(��W��k�J�P�"�8�]?
�E-2,��b7
�p\i�&ĝ6�
���U��=݉����F}�|����TH�|f�֊�|V��-�q�Wܽ�/r�Q�g=�8]����N(k+���(Q철�߷��;���@��!T��5�ȱJ/�]e�6�DX��F{,�5����t�g�}��c� �s�,��[�ɖN�
��q���=�֖/��E��`���h[`er�
�e&kL�h���F�`���M��쇚�_����p�˥m� �����0Dܥ��ii"X���ά��?:^��W~P�{}C�H$0��t�l��U^��^�/��@X��F{,�5����t�e�}fb�Txpt-����-I;��,
X�C$��{��$c�؜� c��U"'��jp�-�R*V�/����:��E���(l ���No��!WEF�)ffSL�&�\�B}�9
>��Z�gt���Ł
~� Vճ���gju�F�oƸÄ�"����{Y�6��(� �J��������C�\�8��
]�^N�~kUI��B���TS��FF�J
#�j3 �ǫ��
-��p
�Pa�C�
=����9(eK �I
����.���PAH�4�3�^K���sT��M�u\aլ����-���'���vƯ

�UQ�č�T,+����(��Q4eNwAQL�]�ɒ@���bgΌ��y�X�K�X��w�M�+;��M�XqM�5vj���\�h�sNw��&�6vfnx���aJ:����v�]�c�[��_�t5��&"���B�4�0�Q��B@^�4�r�€Z��w��$�
D�
������g���
ɼE�ݚ2.�3�4 �6��z����"� ����u���
�2�f$���!�p�����q��
_�*|��H�`-�?�
h!�d$�I4X$��C+UD�����<�F���a��p4��ǖԓ
/h��%��D�xh��8�U�35��.b�L� ����c���	J5U�W"UđBv���s3�*0��"�Y b�o�Cm���¥�45W�.k�'8�I�l�L��5�=4]�G�uG�n�&t?.�w
4������Шe��@�~�p�
e ��U�IT�
-'�1d~R��'�{f=(�,:�U
T�te�p���&�y�]�|���0W}�Dw��^
{��?���c�`0^��qٺ���ib�&�o��
�sf�PY/��
1��
y�:M,! �jG�pz���;e�`����i=�$}I�������L�'�V��db�<vr[_/,��JU�Ƶ�𙶖*	€�6ˁ�LĴ�9"�P%I��=p<|6k;X�Ԟ����W^�,O�K�&�ʒ���ќu�:�������lN�^	q���
կ
ɲi��J+��Օ���M
cИZ

D�"XN�
���c��Vn��a�fDl�A�`7���
��$�N2�v���
A��:|�)���U��^�^��[H���c'�l��|j��0��
�#�w���De8�RVa�酜�iՃ��q ���|݃۬<}X�W�	�(�

�N�ȰHִ��������- �-���?�|Ӱ�#'��y��,��
ĩdQ���&Š:h�y���wt�=����J�^�=v����AF�L=�3#SG$� �Y��R3'D���^���읷QO0�	&�>��z��hħAe1[������z2G,,����Ud�1$l�d_�uWc^
�B�`q;���ݹ���+78&š�i��ڶF�ж9�m3��`նЅ���oe%U%:�L����a?���]]@��v�E;��ʒ�2�T��

��L��rE�{%���<m���/fV�z�a�,TaM��P�(B��]�I�ǥP����ۆc����V��4Cg3v�C^
�;����;Udȋ���H�1\��ǂ�93�S
-"
�C?�9�=})��twڒ�ϚH�V��3��&HD�dŃ��k���_#7�~N�.z��O�����PC���($V=��-�C��g8<l��t-Mq�n�&�r��~ƮfU�ϒY��|�;�
�$�
[-v�W�(8�
›����E��3u����5�0+9��1@�����Хe�
-r at ig�Se!R�!
��IЭJ�\Jr1���
ï�(���ȍ���
-Z�E;�K&�K��*6gn�c��l�NMQ��Β0vF���"�
����`*�gԆ�p��p��ߑqa��US9NFm05�J�@L���tr��qtk�3��S����Qڮ ��t.<:~j��
��=C
� �[
Ւ��!}��S���1!
\#g:g�Ux�A��3+�fV=o�!Q�K���h�f&�:�Q�q"�
�#�Ui���$��
��s�p^΅������Ui08+e�3�
-H��'?_�"�S-{ؐǏ�p��<GM��4b1�L�$7� �ӯ�p�R���Κ·ƕǗ���Z�QϺ^�X/�k<�{|B��
�c��#dh]��u�%P4j�#�
-�V���t
�����


S<��Q��
C0{HE0.�
/����}�L������J6�W�\cK\��������oCU�m%r��א���I��)d2�l	
Y&�
Y7l�ޑ��w�8���P�
M����.������1�Z�qK����vax�dW4��O}W��#�[�g]�kG���e�
�w�
����rb\
B^ƃ��RO�7|z�c88�\*f�
�e��0�W��7Ј��
�7�Z�7�q���av�-L3�=*X�$B���lw��rG�lR�:�
���!
-�4��߬�>2/X�^Ԩ��d|A�{K�*5J�`��jl
z��I�r��S^
yL�D�p�J!�(�K}7���)����?�
��驚n�l+U�zfB���O
���C��B ]G�<��8�ˣYՖ��h�YLK۱?Pq�(�f��&u?L�����"�M�t�V.v�$H�Q��r�Y����3�����v�E���}�"h�|�Qn��
Zw
�r~�!N>�����/����4~��k�O
-�
ܕ���<<�
�}�r�M0y���ᔧ��ѭ�F�
v�
ʲ�Aw�"�N}��7_�|q�{��K���˥z3�W�n�y؊�w��^&�
-�؅dٟ��kcg����,f�]s=����;�ܚ��n�����dendstream
-endobj
-406 0 obj <<
-/Type /Page
-/Contents 407 0 R
-/Resources 405 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 385 0 R
-/Annots [ 409 0 R ]
->> endobj
-409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-408 0 obj <<
-/D [406 0 R /XYZ 90 757.9346 null]
->> endobj
-405 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-412 0 obj <<
-/Length 3216      
-/Filter /FlateDecode
->>
-stream
-xڥks�6���_J��
-�"�>����M�^�\��Z�,\�P	�>���@�����x���b�/,�|�
V���&�M
��j�\��{ ��d�
-Ư\��v/�O�U���0]�D!
6I��]���������~����:ȼ����nn�v(յ
z��U�q<���
���/�w�	�1�� Y������U	��x�o�<KV��7A����"#ө/>^��������$���������O����;ۡW��c���'���hK
=��j���!�#����ʎ�m70��#����rdx�j
&ޟ� �ީ��5�'v�y֕�T�^V)�J��AWA�ɓ$�M
�����W�#w-�|�:|
��~����T˼�-�^W�O�9ȼY�w]�~���*���u^��f6��L
���&
㘘N6�(�W��}ws{s�F����O�ow���pg�
og��^S _���w͝j+���A�98�yPÑ�
`��,E3N_�U�iw0xnK�'�
(r��B�2A1���
-rY��Z �p�
-�?
-#OW{��(
��a�]�b7j� :Yl4�!�F�3��Vީ��d��+n=���}}.+&b��]`�EZ΀��fTԌ	�M��}`����t��
-<�(����Y���I��`���=�Q3�
�3�A��0D��3��K�a��

-S�����%�/mN�Ol�a���HŠQ[� 
p"���X�P���Yy_��Z/�ظ�fo�_�
�=�C
�����P
��ƲN����m��z�
��V޵�/�)�C����R9��G�+�-�x2㊁Xs�u��(m
b�3���!�
��_��ػ���W��ؓ-@�A�ѽs��V�}-�vi���ơw�*��*��U���=��4
-��F�EgEG��s����u�{�ai��:�`�=vDG"��ݦ�������	j���.>�b�>ۖqJ�9��3M
-9��(K����"���+%$O2~�f~Y
^��&��ښUR�7`��=��7
c��s���L=%ß�e��g��V�ZV.q�K����IHe��s�o�̡s^���z㯉�2�wY�����XL�|n_�! �J�
�'�jJ�b.{����~��dF ��
4(�<���_��dn����[
��떄S2�� ����.�13: #���(�9g9	k��T�`�u
-�7���߱���EGP��+i�1�7v�[�Ռ7#�rot`�����o��bdv�;=Q�8�._W%xe��D�I� C�
Z%�Q�<P}�������_���M%߾�~��y��)���H*�yR��%���8�-�	�컺��K�VÙ�ؘ'~
N�TZI%���nc7��I0�0�at�<af��&�q��	��T[�D�gTr
�x�Й`��	J�
{�A0ڏCof?����9�a��	����
8��2���j��.�-'����wN����I��$87Ip&\�l1LE������`�I��)�X�0����߁�4�'� ��%_��b τ?W9
m���4!E<� ��ut
���a
�
,�g���#�)a�
5f
��
N̤xza���#	0�^I:S1���I�eY�c�� ���OO�-a���o�f
Gn����R
;Wx�O�86V
O�f�3b"w�����
�,F%�՟]Gx��E��p��
�9x��~��h�2��
�
m��qs�0�����V<�K�y޼�p����]��Fnv?H�q����k�w�3����O_q��GO����M�*�3
9h8�z]o�L3 �I*1��*#RckS �$�� K�>��N��Z�p�Ԯ>ޣ��ra~D��~��?�\��L�_���0&�}5%114e6��
��`K��p���K$񲸿w�i�.�di���h?�,
�N�Etk�:�kdƄ�hv�0B6_��ƙ� N��[�Fɠ���o�bJ3�ɸl<.�6�~���������
�|�ZY��
�]��b��D�0����nΕ?���t�c�2Xhf�
-CO�,*������
:3.&sbb�
�;�D�@��E@�����EN�q7�tu�s%����>ߞ�^a�6��G��<�9�]d�ɽ��Ξ�D�No2h�rjn=�v�o�=C�ꏳ�P��NȌe<�D�![�YƐ;�ղ
-Z��2I�K�r�z�-qD�YG9�
�8*T�G�V��h�p�-�����cQt0H�,�
ڒ��������`t�ug�E4W��E�	��ɲ�t��N�ݻ�
��И!Js&?�|1���VF0�v��ha!�x����Z��>(ʨ��]�]R4�{���v��ϥ�T�wවF��{4�e.�H~����6�Ӫ0�)=B�c�iOx�dSI���p��g\�W���b����Ƿc��7��:J��h��3��~5���
�8�SC���ZpZ�ۂ��D
�A��<��w�#ɦ/�54�� F^�t
�,}����i�™�k ے׆H�[=tb�
��@�A�� �R�2I�2ebR"D�2�c���騢*=V�0�a1C
)���m`����"�=Pؾ)��j(a�.��
"��X����u�N��
��1�����"��ED:�O*�����
X%p�x��Œ]n�A���I&�K�Q-����\
:͵!Ny~|)���g��X'
�R'�<X�m�)�A�j7P��ڭr��%g�/4s���ː'bl� *j�Ph�2	ӑ!{2
���;��hq�
H�bS)��X��]i��<eM��9���œP,�G�����i_���X�XTP� 'l_{S���CE��[`����<Q9��i
~"$>|�1GHn�^��c�9�L)�,ڃT�QD��
!e�&��#���MC���Ϝ����^��y��'O͒�ԩq���,��&�U��p��
ܮ��
�L?lp_
b������E�RI�Ӽ�O�#�Q���	����
-�CI
 ۼ�Ň����H^_��&#������$+��P%�7I-���_ep�����AN��di��QI7�6��7*����ŏ�/���nW?
��/̏p ��E�?�MVYq���o<�
-
0���
�I���Ek%����B`w>��H�cUͥ��&��x*S
��2��F��	W�
������(��0��������f�7�V���^�e�Ŝ�8�7	�����"=�erXq�n"?
&���4]���*J�j
s}S����
y3g̴����B!endstream
-endobj
-411 0 obj <<
-/Type /Page
-/Contents 412 0 R
-/Resources 410 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 385 0 R
-/Annots [ 414 0 R ]
->> endobj
-414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-413 0 obj <<
-/D [411 0 R /XYZ 90 757.9346 null]
->> endobj
-410 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-417 0 obj <<
-/Length 2627      
-/Filter /FlateDecode
->>
-stream
-xڥْ�8��/+W�jIu�>e����α��TM��mѶvtxu��_� uY���VW�I\ )w������E�C;f~���7�� �w7�F� �����{�Elǁ,6{%!pm��b��f�˕�
�c�����H���
�e��B�#�"��~�-���,pq�������H@�7���/�0ql7��E~�{�L����ur���]6�/�M�偶gJ�_���Xe
[
-]+
xVQ6ٕ�%\��^!(��2I�= ��v��;Y�RS�1'i�T�v�9V�H��
%!�Q��\z
�t��m'O
��z?U���
�NU���4�	A���g��J�
�v̹���
S�
n=���r僦�
uAT`��[ET�id�� �)	8�s�-쳷�ɘ�q���M�`�4����L��(���,�BT�M��&݉
M��jd���P
�غ�mE�*=
���d4�'3��7S�"�}��u���-
���
��ITM*5��X��(P���*��i/"!:�*0kQe5�3��+��}U�0��vp�
 �v����P6S`�l ��#^�j1ڇ5�vfL[����@���ݑp�Q\�\��\`T%�}��h�����؁�a���=���)�86F�c�����xO
�Y?�?z����y�֐����OO�$~�
&�7갺����jXO�9�1���	K��^Y%@��<�G�*��&ux

��!��i�^GW
�jb*�����w��N�2�� ��?cs
A
�Ls�G��,!
b�3�YO�N��aL���/m��:��LT4Q^F�)�҆�t+
5&9ʇ��h*�Z:w��
H?��^NVJd#��4�օ I�Y�&��`	v��\�TnUq	!Y��')�U��
�����v"�k/��\��?���q��,T��AX^KƝ
�������|�Ek�����%���n����|�ۤ�vT����ɵ4�G��Ŋ1#dx�����k	��|S Х.���
��A�,�AkKZ
Z8g)&��E�6�B�pj�x
Z�=!�UUd�'�Kw
OֆN44s�J�]�B
�:�g��X
 �=���5�oK-Ft&���J୦<A�4U��E(mtaQ�b�,)�<5C�f�ξ�2*��Б1_��DM0*� �3��
�	D�T��#�G�]��BM�S7��u`b�3�h��Wh+e1�G���`��
���*�`�Tb� �K�텰d P��Ѹj(ܨj`L��Iϸ�6�j�R�F�F�f��H���g"U�(̜�K�wmC��f����	�cYRW���D���;����HЙqB�/�g`Z�n��T, �k�F�����г=��ᇊ�=��k��m�o=�R�4Xؿ�fM���I�g��a=�ox�
�H��,#8zX�b�"�Z:6l���B]�P:�o�t�0�4z 9Cn�*��
%s���
��Z}5SQ�4�SE`�Jn����
*���{�
�	�Ʌj.��`]��8dC�C�T;��mm��*%�ߌ���`O� �Vʈێ�
�g6�y8,�W���Ԧ~G���G7��g{a�Bq�o�X�e�
�������׏f���#}z������A*
-��=zM�	1f��P�B5�8�h�_l^�P_�ԥ
�`�;�c
��
�
��ν3Z�1h��0�i�S�,�<�h��"��I8��$���7��ف(���8��y�?HI8�^&
-�z�<�ҷ�w��s럡�a�M�.�E���'�Su�՘�mU��M�l���o�!R�?��Y����3:(V[G����/��;O��ѹ!1�	OM��	�
�V2������[{&Ub�Vgh�'��Q��u�y޴�Ժ���3&� 
� 	ë�S��n�

�
-�

`
jo ���}
�@%O��I���;�n1Pl�
qط���b��Qp�b�bc�:1�k	lH=�� �]�vd�(�"�0קK�̮<�~�����m��<�?�h
�����2��� �(>8K?6����48�8Е8��J
���Dpo6dCm�V�&ᆠ�ps�$��R��A�~�C�̷��C�Z��b�^�xفc�E���F֡C��lXRfn��[\�o�qGU�i3)�uڴ}��?ưޜp5�W<


���$UF���*Z=��F"?eJ�������27���
>�)�J��`��(*�IQS�B7(ՈL��1�j����"�$*�3x�y�D t��NT�	�=�����ޡ�.��7h߼ątiA��.B��BVB��E���a$Jy
(N�b��åդQ�^�Het�@�w��
<ӈǶ�����q^��@�Fj��8z��\a�#��{����\G�0��i'�Tp�ʜ�_��ط=�
P$���c���r㹗��2
a��e\�Qؐy�R���B�n#�8��ЙN�
K�Dy9l�=����y
~u1�?P�Z.��9W�컆[�W h�퀹�
����~�}jR�ȂЎ��
�;Y�?%�����[1��2~�k�)�
�qB��Du��]<�=)�4�k-���3�ҏ�h�G�A��� ��9x�x����YP��v~�l�1�
�i�
t%w�h���HO��6w�Sv�f�}�c���!��e�,�6sw���\��R�
�X��V!�:�#P�}e�F�~��{��endstream
-endobj
-416 0 obj <<
-/Type /Page
-/Contents 417 0 R
-/Resources 415 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 423 0 R
-/Annots [ 419 0 R 421 0 R 422 0 R ]
->> endobj
-419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [258.6759 612.9325 428.0408 623.8364]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.gnu.org/copyleft/)>>
->> endobj
-421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 103.0696 513.9963 112.0458]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.8.1) >>
->> endobj
-422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-418 0 obj <<
-/D [416 0 R /XYZ 90 757.9346 null]
->> endobj
-420 0 obj <<
-/D [416 0 R /XYZ 90 497.7436 null]
->> endobj
-18 0 obj <<
-/D [416 0 R /XYZ 90 203.8829 null]
->> endobj
-22 0 obj <<
-/D [416 0 R /XYZ 90 169.8971 null]
->> endobj
-415 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-426 0 obj <<
-/Length 1688      
-/Filter /FlateDecode
->>
-stream
-xڵ�[��6���)x�=Sku�t:�\�K�N�u��d<���Llp���߾qY�@��a�a�
����p@"�?�(��E�q���l��WR\���y���br���BJR�,�I���:��穘ͩ�ӿ�}�
�U����������[��0s9��̉��:y��4���$S�o��+v���	FLy¹���R��O8e��nr3���_�
�z&k��~�e�(�++�F0��\ޞ %�n�(��^��v����vh��Y0��毃��������e��Q|W\���u�:�����.<܇�m~t��A�z
��$<
�8J���pD	��y.�mpI�i`��塚����dS\�X3#�#�2���R�
X�Uf������!ޝ��:��6��eo(�S{o�QO ���D��
�
x�-��û���H��3R%2�D%w�my��o��C.�X���ie���o�*
}���t��i5�Lb�w��edQ#�w~�>��dU`�Ư� 2?#�t�ͨ�m���Yl�
-
�m��G?*s�Pk�I'Uy%�i�ݝgRL-�jF��T4���`���4L��a���p�{�,<�b�� t„iypa����RN����ˏ�]��%
���CW"���ߪ<�%e�|%,Z|�,r�0���l����U��V���9��)�=G���z?�9���7u��5w����
�t���iMrTk���,FF[�6����=x�T�ʬ�k�INe5�B��
�j���6�M�Q�J�$�d��l ���9=�n�5�al�q�~-lң��
�{}lK�>��1�C�S��7
�5@ӯ��[�6�G�
->\���V��ޮ���ڂ4�j�����T�R0�}�����E��˗�
q����U��*������6�v3nJ�
-مɇp�^`��� �1�1N����1��g��Le+ӆ�L���T���2ƴ�yPW
����W�u[�6�GE�����WefG����{��9
�5Hӯ�:?hJ�
-�PD!�}`K�G��qk���Zc5�j���oCzL�T�\�˗&-|+3+�7ь�bh��H�Í^��b��2�=x�o<�m��ң�
b���UfV��hs�>j�P������!=*d.X�A.���(�3��|U(M�|k���Zc5�Z�6�/�bS9fX�J��]|)��l�r$u;�B*Y6#��
�w9d1��0�6���i�V�
�Qic�$��J[8��h��.=�q�"����W�n];kJ���xI�
ܕ�pߜ�������5�jƭ�=M�Q
x�w/MT�K�'0^d��>H�IׂF����B�!=*i&
lD���	�?Epq�>�Nֵ0����m�լ[�ۚң������c]�=���3E�~�����t=�a����~5����t����O9sAQ�71,���M�z�(�;5�A���^��6t/�R=�Gܥ�����G��S�P��BA�f�:P!.���B!!�(�=�{��@qZ���2��g�w��W���v��mN�ށ7z_��f�߱?�A��L�i�����]�� �ԃD����;��A at 3����M`��	��ew4���7�<��M�`^k��ۭ2�f����������
�Rt��C����᰻���
xf�N#�˛�42bi$�
	�.���c�����>N4�,��.��� "��r�g��Z?w�����z�endstream
-endobj
-425 0 obj <<
-/Type /Page
-/Contents 426 0 R
-/Resources 424 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 423 0 R
-/Annots [ 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 438 0 R 439 0 R 440 0 R 441 0 R 442 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 ]
->> endobj
-428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 643.8516 216.4213 654.7307]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
->> endobj
-429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 645.7545 513.9963 654.7307]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.9.1) >>
->> endobj
-430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 530.2663 513.9963 539.2425]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 508.3485 513.9963 517.3247]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 486.4307 513.9963 495.4069]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 464.5129 513.9963 473.4891]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 442.595 513.9963 451.5713]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 420.6772 513.9963 429.6535]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 398.7594 513.9963 407.7357]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 376.8416 513.9963 385.8178]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 354.9238 513.9963 363.9]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 333.006 513.9963 341.9822]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 311.0882 513.9963 320.0644]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 289.1704 513.9963 298.1466]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 267.2526 513.9963 276.2288]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 245.3348 513.9963 254.311]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 223.5364 513.9963 232.3932]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 201.6186 513.9963 210.4754]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 179.5813 513.9963 188.5576]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 157.6635 513.9963 166.6398]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 135.8652 513.9963 144.722]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 113.8279 513.9963 122.8041]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 91.9101 513.9963 100.8863]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-427 0 obj <<
-/D [425 0 R /XYZ 90 757.9346 null]
->> endobj
-26 0 obj <<
-/D [425 0 R /XYZ 90 733.028 null]
->> endobj
-30 0 obj <<
-/D [425 0 R /XYZ 90 709.8418 null]
->> endobj
-34 0 obj <<
-/D [425 0 R /XYZ 90 629.1567 null]
->> endobj
-38 0 obj <<
-/D [425 0 R /XYZ 90 597.0938 null]
->> endobj
-424 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F11 265 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-455 0 obj <<
-/Length 2231      
-/Filter /FlateDecode
->>
-stream
-x��[]s�6}����Z3�o����l�I6i:�m�}i:Z�
�J�KQq����0`� �V��
M
�{ppt�Ő�?��8IE�r�e�ޞ��n�;#��%<_����.�J��(�T&W�:�$HPB���_��Œ
-|�zS������������C�	C��
b+(��ݳ7Wc���`��l����Nn�և3�X�������9M�g����٧���q����Vq��4�y�d
e^�@h#g2!
&r��B�����
���d����ͶX��6�_ʛ�Xm��h
_������Y��|w�)�����L�=j�z���`��U,�t��,�������ٟRDx*C�0����� ��l>c�v��a���nVo��������\���w�*�L
-n�>��2��y|�y�T"U��t�3��L�u���,�,*ŏ�u�䗉`�"ND�#�>ۃf�zЯ�W� ��A;�Q{�'#4ԁ=*�������#�c����B��>�NT��fޣj�
-��D
`1*�U�Y�=�ko23�i������Iu��G�&	P�XH��WY���}��>ֵ�lԍז��X���'��!n\-���J}L�ES9�M�<⏰�X����l�v����I0��-r��^���ة��
2G��4�
,�6��נ����3u��^�n\�o:��������0 ��
`q��+c�5R��������f��Z���/(�"4B��(}#J��7N\/Q7�G\+�sqa/iW�*�ψK3�p޳ϲtn|�~���HF�W���f�8y�Tݸ�*�'�Rӻ<�2��#�+�/����*`1?+��1JV?E7�ޖ���N}TY%F����GX���է����H����ף����0
-0�
��/�w�8�(�
v���[kݻ�MB�w1t�Ꙭ�Q���/��m�.���F��"�w��_eSv�b�h��k�����}�
���ס�a��T�7����V/y�e��j�tW�MU�v�7�~�TzKf���%�,�9���R�6

��b���L������G�'ܖ�ܖ����!Ia4�¿A"%6H�&b�0[M�ܾ
&s�Wq9�
-0�=p���g,�?j�Q��
�jS������_m�7嶬۪���l���������$�(�D��搡���'��d��,�������10"3��3�$�"�.�l�0[,��z|��>ة��B�r�+)
?���,J"f�ff�
#*@�fI}l�ڏ}
���]���8T�ݾ�
�r|�������#�d�$�O�6�q��K^O�'�A���#��]y�c���n8F�)��T�L�i@��#
-Y�
]^~

cr
-��fa?O7�"�&wJ�œ�
R�L��z|��Q�5�a\���2$ Hb�s�1��(
ј(�MZ�56U]�XORְ��X�Kԍ���&��S�$ր�D���V�������u�W�PΙH̴��
`�&E�qb�3
��H����s��c�b񌱊���c�D'��:�&y��`���뙢�_r���oz|ɵ�^Zz|��ܦ5SE��E?�V�i�E�}�o�t�a��ݸ�0�GH^�Nbu��IhQ7�"
3[[��kK�
-�cX��g6�pm�9F��g�U��ݸ�*�^^�Na��d,�}5¼V��n
}��	cj�L���gT�&Sg���(2i*ό�/��U�[
-���*+4=�Ѭ�{�@��{}ds��n�yye;��D���/lF��G��z��T���f��&��
`Ee�2™������5��B���s5����J-�ݦ����jJ����r�jM
�zU<����Mԣ�<4;j�r,#�ĠՃ��0��
�Y`Ⱥ�ŌX����:Q�A&O�}ڜ��{�C���0�C��f5_jr��
Ze�tK̀
-P�jk?̈́MͰ�
�q�P/�e[6v�y�F��
1�ƍ�-4���
R���8h��P(������-4�O��
�
�0�
-���
�m�c�����/��>����K�d&7rp�!F�z��?���5 ��̞ֆ�&��7��/�:�b�F��pjx� BX��9f8��>/�|(Թ�����E}w(�����8O�n�w_6Ss���~*jX
�=����e���-|h
V]�j���S��2bg���њvO��
W?6
^Xotݝ9q�L_��������Z�ѡ��T�����缸Pgm`
��s3
 ���Y\�dKbq�
J�vה�1
�=n�»�� �j at n��Oh��9���V�@endstream
-endobj
-454 0 obj <<
-/Type /Page
-/Contents 455 0 R
-/Resources 453 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 423 0 R
-/Annots [ 457 0 R 458 0 R 459 0 R 460 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 489 0 R 490 0 R 491 0 R 492 0 R 493 0 R 494 0 R ]
->> endobj
-457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 721.9496 513.9963 730.9258]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 700.0318 513.9963 709.008]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 678.114 513.9963 687.0902]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 656.1962 513.9963 665.1724]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 634.2784 513.9963 643.2546]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 612.3606 513.9963 621.3368]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 590.4427 513.9963 599.419]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 568.5249 513.9963 577.5012]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 546.6071 513.9963 555.5834]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 524.6893 513.9963 533.6655]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 502.7715 513.9963 511.7477]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 480.8537 513.9963 489.8299]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 458.9359 513.9963 467.9121]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-470 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 341.5448 310.0419 352.4239]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-471 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 331.4925 513.9963 340.4688]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.1) >>
->> endobj
-472 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 307.6718 284.117 318.551]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 309.5747 513.9963 318.551]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.2) >>
->> endobj
-474 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 285.754 268.9836 296.6332]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 287.6569 513.9963 296.6332]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.3) >>
->> endobj
-476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 263.8362 274.5229 274.7153]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-477 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 265.7391 513.9963 274.7153]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.4) >>
->> endobj
-478 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 241.9184 309.9397 252.7975]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-479 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 243.8213 513.9963 252.7975]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.5) >>
->> endobj
-480 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 220.0006 268.9935 230.8797]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-481 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 221.9035 513.9963 230.8797]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.6) >>
->> endobj
-482 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 198.0828 304.4104 208.9619]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-483 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 199.9857 513.9963 208.9619]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.7) >>
->> endobj
-484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 176.165 334.1189 187.0441]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-485 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 178.0679 513.9963 187.0441]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.8) >>
->> endobj
-486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 154.2472 267.3199 165.1263]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-487 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 156.1501 513.9963 165.1263]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.9) >>
->> endobj
-488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 132.3294 302.7368 143.2085]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-489 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 134.2323 513.9963 143.2085]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.10) >>
->> endobj
-490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 110.4116 292.7841 121.2907]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-491 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 112.3145 513.9963 121.2907]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.11) >>
->> endobj
-492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 88.4938 328.2009 99.3729]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 90.3967 513.9963 99.3729]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.12) >>
->> endobj
-494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-456 0 obj <<
-/D [454 0 R /XYZ 90 757.9346 null]
->> endobj
-42 0 obj <<
-/D [454 0 R /XYZ 90 442.3382 null]
->> endobj
-46 0 obj <<
-/D [454 0 R /XYZ 90 410.2752 null]
->> endobj
-453 0 obj <<
-/Font << /F65 229 0 R /F11 265 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-509 0 obj <<
-/Length 2888      
-/Filter /FlateDecode
->>
-stream
-x�͛]sܶ���+xj�
�@�ә�M2��ԍ��$
�K�LW��]nd���  (`I�'�4�	
 �  ��H�qQ�
-i�e��;��-${F��
x�
�~yv��FZRY\��$A�Z\�~.+D�c\�Xׇ���
-\~�
��_/_�0�YštcL�I=��r��$�$����~�+��
#��(��#�5-��8e�f}���_C9��0�'
-UJ�b�8R�OX�
-(g�iLT��I����~��T�B;R�]
->ݎ��`fhW����v��}���W��z_�?~����9������]]}�7��ǻf�]}�a��v�9m]��D�"�2�l��Hf�"L1�%��
��g����xhV�������
�DR��sV�
�ʂ2�4f�	�B8���=XP9uR`�Ȃl�`�yC��"�0vw\���G
rZ���Q�T�� �T�	��7�%�����vﯾ�t����Q���"�
����d
�J�2O�g�@��1���,���'��=d�&<�lm=�8��i
h=��fx��e�|��
	������~�	��Y�Y�v����%�9
���I-�"�z̜��(dX �`Ɗ�r$��&w���f�I�CJR��)��yRC
�#ś}:)W/���/�e
SȈ����O(d̍���eB")�����0\7�t��StL��9��]w�V�7n��sk?IB�������
��!�f��'pdHq��,�d�è�g����Y��p0�
����4.a�l� T	T1
bo�̠�sH$؀x�
&7V�rˁ4Rnoܳ���|[���:��0�i1
-�E��Ι3��+6��0C����H���~Jc����>��wǻq�V!l^_X�D��[eT��Np�c�v��h��5�`-=���)�aNIo��Z��$N��{�8CsU�p�f��ӥ�n� :>�
-f?A�.Bc��UF+c
-Z�X� ��w���3	��e
���ce��Q
i^�F���6����AW��:�
-�����c�!��7K�U�
pİړ<��7�

��ë7��8RJ���E(c
��ʨ���O�X���1�x�u�B:�ݴ�-G�v�Pu8���.͞ԣ�
⸮�=��0C����ǧ���~��J �I����3���\Ӳ޷��z
��`�8%E�cb׭���5�s�2���z�8y5^��4����G�R
��/,`�XJO!���}���J�ʞMa�!E�7��I
-�����"B��Q���no��
8�`�V>�Y��B�i�Y��t��+Z������?L�^go�n�����t� ��pl5�
?��;T'����c�ω9�����
)��Y����4(5y?o����˷Wo�ˀ�`������i�9��e�Q%��	���
8��7���K�*_n��ٻtc��BˈM�5��뻻vs�w�#��4S�Os�J�7.�2%'�J5�S0ŔY�+�aj0K2�O���ma�ƅY�,	��
-C-
��*#ٜ0h�X,�t�3�
�좵_�Z�#��k0�e�ؑ��]�k\�{q�6|�`�f5�̛%{kc�vo<��F��$&�J���u&'�!ʴ?�~��&�(�R#To�������*B�&F��*�T��M`�Ap>�3
G�,�gY����]���~��W�?��6�f�I���Zl'7�
�$�B�ġ�
��l���[��9��a��EL
��UF��U��㥪r��d�ܮ�Ͳs�2'
V�Itg�
7���lE���n�>�0K����R�y�uQ�ρ:$�Y��
꺶^_}okj����š�#����Z��s

����b���>r�Uy��� �$�ڻf�o���v�j�v�s�a�ș9H%��k���9I��S �U�T��
Rf�j7ݡ�����H��$���7.��=��Na4
-uMl��V�Lj���|D+H�
��*O$q�
��艤G�v�ψ�k��i$��&D�Ӎ4X��11�dtT
��t�n���~� =d�ۛ�
����K���ЛE
-��\o�fro�z�5����G�@͌
R��-�2~@��XU�n�^e?k�e�e����ypsNE��,a�+�:�
���=�f����>��h������H�b9�E�a�m��5���!3f�K��N�o�*��1���z)R����)�I�rm����H��$
��
֛���W/�+�Ь���
��)š'�]sF}&���>��pZʩ�O�R ���Mw�4��vi��X�Ȭ
�����(
�.�O
��w���uF
-36��?�
-3���f�j���g 
1��0xf����m��"����)�ы�O�#'�m��L�<hK�Y�|��
	�3K��"/��9�'�Xg��f��{|����p���
/!�UF
�ք迊�=|tм2{�	4�6�K���9
�3 ч#����]�m1��������X7�����
-sM�ot���d��k�0�S�?�� C�Po� 4��9J �a2K�7K�:��"P�I�8f�[e�Q�QEx

6j�
�pW�}�Xu�!��udى��a'�Ǹ\��/=�N�គ
-'�#��h67��wM7���$̔UN��[��.sN��� �߂�

�v�.�+�ϯ�Q6���
�¥��U�aցz��
�Rn���8E�4?�[0����\(Ĉ�z�Kh)+�D=l��-����)4�_�
_����
 ��z���"���yU����.��zs{�o������ƾ<��<4�/΅(�7���
���{��S;�<�!����"XnCAO��{��
ۦ��
�:�j�ϰr��]
4*�4����}yqq��tܴ�=j���n}1ڡ��Sp"]�0x����eq!ðr���Q�n�o�|m��v�
-�b��i7`yg�V4���X�\PTendstream
-endobj
-508 0 obj <<
-/Type /Page
-/Contents 509 0 R
-/Resources 507 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 423 0 R
-/Annots [ 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 534 0 R 535 0 R 536 0 R 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 556 0 R 557 0 R ]
->> endobj
-511 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 720.0467 349.2121 730.9258]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 709.9944 513.9963 718.9707]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.13) >>
->> endobj
-513 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 686.1737 330.8013 697.0528]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-514 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 676.1215 513.9963 685.0977]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.14) >>
->> endobj
-515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 652.3007 303.693 663.1799]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 654.2036 513.9963 663.1799]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.15) >>
->> endobj
-517 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 630.3829 354.6016 641.2621]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 620.4502 513.9963 629.3069]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.16) >>
->> endobj
-519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 596.51 352.7485 607.3891]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-520 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 586.5772 513.9963 595.4339]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.17) >>
->> endobj
-521 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 562.637 328.0515 573.5161]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-522 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 564.5399 513.9963 573.5161]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.18) >>
->> endobj
-523 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 540.7192 334.5071 551.5983]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-524 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 530.6669 513.9963 539.6431]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.19) >>
->> endobj
-525 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 506.8462 367.9017 517.7253]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-526 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 496.9134 513.9963 505.7702]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.20) >>
->> endobj
-527 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 472.9732 344.8383 483.8523]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-528 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 462.921 513.9963 471.8972]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.21) >>
->> endobj
-529 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 439.1002 324.1563 449.9794]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 429.048 513.9963 438.0242]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.22) >>
->> endobj
-531 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 405.2273 283.7483 416.1064]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-532 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 407.1302 513.9963 416.1064]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.23) >>
->> endobj
-533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 383.3095 339.4489 394.1886]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 385.2124 513.9963 394.1886]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.24) >>
->> endobj
-535 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 361.3917 281.622 372.2708]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 363.2946 513.9963 372.2708]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.25) >>
->> endobj
-537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 339.4738 338.9808 350.353]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-538 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 329.4216 513.9963 338.3978]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.26) >>
->> endobj
-539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 305.6009 295.4641 316.48]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 307.5038 513.9963 316.48]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.27) >>
->> endobj
-541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 283.6831 366.6169 294.5622]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-542 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [435.5009 283.6831 498.5541 294.5622]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-543 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 273.6308 513.9963 282.607]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.28) >>
->> endobj
-544 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 249.8101 405.3413 260.6892]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-545 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [192.8398 237.8549 338.393 248.734]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-546 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 239.7578 513.9963 248.734]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.29) >>
->> endobj
-547 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 215.9371 305.3272 226.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 205.8848 513.9963 214.8611]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.30) >>
->> endobj
-549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 182.0641 305.3271 192.9433]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-550 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 172.0119 513.9963 180.9881]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.31) >>
->> endobj
-551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 148.1912 271.9427 159.0703]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 138.1389 513.9963 147.1151]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.32) >>
->> endobj
-553 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 114.3182 259.2204 125.1973]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 116.2211 513.9963 125.1973]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.33) >>
->> endobj
-555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [103.1769 92.4004 281.3571 103.2795]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-556 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [502.0411 94.3033 513.9963 103.2795]
-/Subtype /Link
-/A << /S /GoTo /D (subsection.10.34) >>
->> endobj
-557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-510 0 obj <<
-/D [508 0 R /XYZ 90 757.9346 null]
->> endobj
-507 0 obj <<
-/Font << /F65 229 0 R /F11 265 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-582 0 obj <<
-/Length 2207      
-/Filter /FlateDecode
->>
-stream
-xڵ�Yo�F���+���>��d6�s`6�}�-�
%�BQ��ߧ�d���ԥl$���X����>H6���F���2�	�G��
=���^����OR���n������
�=64#�3>�{��ڎ'\����E�~�f=�-�U]���j<n��l����ջ�h��E	ͼ�?�~���
���+J��j�
_(a����Jr�,�>\�7�i/47

-I1q8&&	��CP\��A1JsQA,�F�R�H
�<q�%��N�혩�b����1����C�z�O���VuY=���
_S�{_
k�}��y�譖�����˧�
-���UQ��_f�e�m?���M��~{�ן�OŪ�?o<i
�u�
�U���o!

-�p�Ytᐘ�^ ���I��vQl��ΐ̈́O�<�f*Ќc/Q�j"\�b��G�վ-F�H�hg-F)�.���}�3�����h��
�K�S'�s�B��\��.l<
�M c�h�x������cY��@
c�6-����6j�< %��
';��J,Q��N������2��>>�)��������1�ҡ�7L���Y��@��G��l�ڥ��Q�n�Ů�/�u(�f`�bYn��
-��S��rW��g���V�դweV,���I5�ڏD�ߏ�4�
-ɂV��%�+��� B�������<H�TXC+,U��0�n����|��
�Pa�
��
-{�.}{�H)�́�}?����j�$�R"�tg) 
�
+� �@7���!L$��a
gU:�
�.�*
	t���pV�9V�v#��]�՞�SXͻ0Ћ��z�va.�A�1�Y$3V�2.�R�7�b����|UU�4��m�0�	Ex9H�3�(�(�B�*�@��
����!�>Rą��!�~x���r���09r�Og�XM�9X��Csf
-a5�%�n�����}f�G����xA`��X۸s�1
�Daؼ�lj�g�`�.
�b�n몘�������س��9H��(m8Fj;�Ua�X���î��*�k%�5����vA�����
b8���
�y���.�n��)��]�=�c��gx>A
Ƌ
p�
SI`5�0���k!�� �<�o�����dV�
-�R�f��l�0�,b70۳�g�o�fz��~�^�PN�Uպ���sVn�A]\i���ą#ֲ�,hA�X��!�F1dtN
v�pbw�u߇&ޮ/W�X*ߐ�~
f%�u�\�f� am���
�p��9��v#ͩ]���Shλ0Л�9
�	��E)C2kN!,;
�
j�#8���o�z�����ؖ�C�x���*�v��짟���,v�ןK��g�[H^�ˏ��Ry�FNHbG�A
-�U]���ш}b�>�z
-�Y��Z��q�e�q-�Y���i`�
�sk	��넒�F���־
?��o<1^���e�7��Q�9��c�C����A(�b(Ʃ�
Lj� r�n���PF\�E��_V�50�O�����"n
�ݽ�g���ԝ���KG�S�<�%�o�Q��(븰�	Xa)��5��� �96��<T��[p#-���)10�}�k�V�
�l��{�����e�\X����dsE�U�<��
-N�*8o7Vpj���S*8��@�?���wuY5�^�"�
6���|�
�fT���%R2��fK�m��]<�a
vhm�?̷��V yC]
�M7��Q�[f�<�P��-�0b͗�5=�9��gf���A
R��Cm�ˣ}�9h��_��.��(���Q
�
��L_@솾г��
}�'�ą��l_��\
�zn�[$1F��N�r��
#��n�;����E��m ���a��׽s^��ݵ/*$2Ǚ֔h�6�����
�= �b8Ӊ�
�y����.�t��)L�]�=��ǽ�&L>?��)�{�������Q
9�}�� �D�=(c
րF\�0��Xα��Q
G7Q�C7o7���E��>ݼ
�yt����hOn�XB)$;~�5�,+1'�5;9R	�O���
�7�.K�P�u��{�b M9�Iq0n
-�	&�?z��}-���'��.#l�rmp��}}u��顷g{��o[V���Y�N��X���9�go
���+��G����F2�P�,���<
-#��i{��Q��}�
�&�
���&I�@�Oӧ�޼��y~~&�-٭曊���fq3�n(I����XO�����`I�	
��7�u�d�?���&��^��@rټ =@ѿ�}��� ʫM�endstream
-endobj
-581 0 obj <<
-/Type /Page
-/Contents 582 0 R
-/Resources 580 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 423 0 R
-/Annots [ 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 ]
->> endobj
-586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 610.7753 328.1106 621.6792]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 571.921 288.5832 582.8249]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 533.0667 292.6981 543.9706]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-589 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 494.2124 327.0189 505.1163]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 455.3581 286.0726 466.262]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-591 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 416.5038 320.3934 427.4077]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-592 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 377.6495 348.04 388.5534]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 338.7952 290.4963 349.6991]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-594 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 299.9409 302.1227 310.8448]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 261.0866 380.4678 271.9905]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-596 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.55 246.4659 232.7223 256.3711]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-597 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 222.2323 414.7687 233.1363]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-598 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.9398 207.6116 389.318 217.5168]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 183.378 284.3891 194.282]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 144.5237 318.71 155.4277]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-601 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 105.6694 307.6318 116.5734]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-602 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-583 0 obj <<
-/D [581 0 R /XYZ 90 757.9346 null]
->> endobj
-50 0 obj <<
-/D [581 0 R /XYZ 90 733.028 null]
->> endobj
-584 0 obj <<
-/D [581 0 R /XYZ 90 712.582 null]
->> endobj
-54 0 obj <<
-/D [581 0 R /XYZ 90 712.582 null]
->> endobj
-585 0 obj <<
-/D [581 0 R /XYZ 90 629.7491 null]
->> endobj
-580 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F11 265 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-605 0 obj <<
-/Length 2320      
-/Filter /FlateDecode
->>
-stream
-xڵ�Y�����W�-6�y� �f33�
���������j�[vd�{{}�:��e�ꌍ~h
��b�+�H�$��G�%2��d����
-.��!��ܟ�����}#Eb��T&��I���&��_'��`�'�DL�)��)�p4�O>��ꐮ���]Qe�C���Zr3�t�������·�E�$�
�����p�W��`Č��`D����S֝�o>����in��j)�i���HKx���h=>�
�V��Pd(a�J�AΉ
��^@	��3�'f���Rq
��)*X�+
XtR1��#����]���~`�I�$�G��r�������\�.��r��w���lY��u��L��W�ޖ�r�6+�2�������6Ǿ2�����DC�p�Bp���'��i�
3�HE
�'l#�AX�81���|�7m�����4�=�yd�[g�ٞ�ѐ
�����
QE�w�LϢ,AL`AىEQ�P���P��
��7<�
�A��S�a���2]�?@����Ɋj���E���m1`^E�
-G�
-����2l
ۥ�����l�����Ez�g-�_���y ���BZN�j#@�
ĕ�D�Q>C��#�)
!
����F�
�x؅�� ��bU}��.K��#�t���õD�

�D!h��!݉�E��n�
��9X�!������~�t\R3yE�����<B����+
�
���ݳ��ox�z�t�E�Z�we�ߟ�h��Q� QB��2c�P`�kۉyuȺnNs�M)�@��xܴ�,��AZC#�W<
x�;@D�����z
-C���:`}�`{�� va��e���f� ��1]���
�лѐQ����]a�ޱ�Q�15
�vd����jN�)�m[�օ

c.,�����I?�!����X�~Oa���]G�o7B����.
���5�Y��l�>h�D��E��̅FoL䒊�߉���k
�e^3
���/YNY=m�d��҄�&���	���i,#�;�(�� ��
�=�a���G�
qa����>�X&����2�5����%E\J
܉� �6�&Z$��5�f	-U��N,N��0Dtخ#ڷ!�gx
�az_H����I���C�5b:'*�	"F��pM���םX��]S�,���w:��I���Y�p ��
���
Ցpb��R b�K���p
-�
�H��
�/L��
�1���a(�K$VTd4�H
-@"�b�I����B�*�
�/ʀ�h3� L��6�|��&�v'g�Sb;lױ�ۍ��3<��
�/d��)!d��y�u=��t���hQn�f�Y0d\"���݉]aR��ł��y�@��k~�d�"�y�N,���0�|خC޷A�gx
�az��oW�"�6%
ъ��DA�
-7���B
P����ة���!��[��������$��i�`����K���9_�S#c�]�u��$�վ����
�
6�q�
c޳:���c�A�?���ߕ[���O��Y
	��H
}��'�q�b`�b�o��߻O=v�J]����q�
���4����ت�z���ŪW��������5��
I���wbq�=�!��v
���=�c(�0���_���3�}̶vM�):�
jU8b�
�	���"�f�=*Nl��^��ض���`�o�����SOjwxQ۫���|{
-C|��:�}��{���
va�7��]=~�u��

֞&(L���[kD��(3����׆�_N(�����ߏ�Aa.�0T��^�w��\$g��	6��/N�{g�l�z��������ͨG+90��|�O`�o��6"��Ml��f��0�=�]��솳�oxD�D\�
�=�杻���9\�4��]����Eb�CD�v�81�&��r�z�-*W�ئ7�~>.�Ţ
-���2+�5���aH�
N,N��0Dvخ#۷�������Ï�u�pɏ
8Ox'se�w
�U���o�
�M��`�lQ��̲<!
1Jb[	�Xo�[�g�
����]�p�^7Y��rN^,�E`�J0ELRuEµA��ئ�N*ʷ�.�w�hG�o4<l�����������K�����l���2DB�

-
�(��
X��$��d�����C�3i�{�,�IA5?�	�Z��w�rjO�P�?�h_S����.S6;�������K?��/S!�5�Oiq��N��yӟ���v��3�>gõ_x=-�kN
�����胟3�3��W-�
�@�
ӷ�ڽ��}zzB�=:��Dyu�ۭo���vϵe����ON:��/���BB�+Iϗ�m[On�e
����<�I�� �M
�`����bA�zendstream
-endobj
-604 0 obj <<
-/Type /Page
-/Contents 605 0 R
-/Resources 603 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 423 0 R
-/Annots [ 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 ]
->> endobj
-607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 706.991 341.9526 717.8949]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-608 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 668.1971 362.7149 679.101]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 629.4032 344.1647 640.3071]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 590.6093 319.8159 601.5132]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-611 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 551.8153 368.8216 562.7193]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-612 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 513.0214 367.138 523.9254]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 474.2275 343.0686 485.1314]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 435.4336 349.3548 446.3375]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-615 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 396.6397 380.1393 407.5436]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 357.8458 357.9923 368.7497]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 319.0518 339.1834 329.9558]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-618 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 280.2579 301.0166 291.1619]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 241.464 353.171 252.3679]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 202.6701 300.3052 213.574]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-621 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 163.8762 350.1022 174.7801]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.1502 125.0823 326.2118 135.9862]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 86.2883 323.1633 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-624 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-606 0 obj <<
-/D [604 0 R /XYZ 90 757.9346 null]
->> endobj
-603 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F11 265 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-627 0 obj <<
-/Length 2927      
-/Filter /FlateDecode
->>
-stream
-xڵ[�r�8}�W�-R�
-���7'QR������dg�T��$���#��f��߷!0H���+U�$
v7��s H:����
%2�����w���oOHy���!�����):Ieg�yoA$(����o]�H�O0��w="��
݇
��O�MW_�_fŷ�j7�|��دZrӥ������`�c(CL�_'���;����Ѣ�
�`D����	��}Y�\����)�Oh�R��Lw��#-�����z�h�P��5�W�!,�S��!c�یjVFw<��m��Lɦ�Tw�����U�˧���lV~)�x�^|�:����:�tu[�ܬW��f�
�'�`���
E("Ǐ_1s
� �uIc��C�`�oę�
�����R
'Q�:���.8P�)��`)+No��6��$R�ӪW{d�\��
<�n����n�Ӊ����b�i3�|���
!�;�̧��z�T�)�T:-� a��Op�3�����e/�����l���z����sC�av�[o���;�
-0v[ǭT
Q��.%���m���*���t9�ǵm )I4�
MA HU���� �1���__�ߕ���9p=��Ԝ�����ˆ�&
-"� I�4�!�_J 3�p�
-ÏFgŇw=��P��<�B��ӛ
��?�V<����� 
E\y�e�6�AH��)�g��_�6{�j�����
'j�e+!���
]
gp}�G��4�T<�~�N���L*����n����O^5)��
�J��$Cc02$�*
���
�6�K~XN<:�f3������~��<��M�6�N����>hODџ��<�
>
��{�@>1觠I�u�xr�~k���5���S����^U��)�Ϲ��&Sx=�geҞ

�8�dǣ2����á�4�
�
�Ϲ��6e�
G�T���:�|�N/>&�Fa�B��;�0��4�ͣ�!,��UPa���P��&	�h��5<FB	��0Ш����n�[݋YI[�g@[�ٶUŸVH�����V������Y��xXV}B�	���u
-T�۬Aq�S��P��� ��Q��n�^LF�	�Fh_&�E�BP�0L����L�L(K�f�J�����9��ݴ6]
_
/�֣��Mg�
1��h�3d��-ۣ6B)2p0?i�N�·���-�/�&��g~�bW��p}p���_�
N��(Ɗ=%y�\ar��`y�
��#����o#y0{� P��X�(�"�?A
�2��>�n`��L�Ge���E�iR
6���(�������v���r���n�z<����������٥�Y���9�Z(SB��~���$�a
-Id����
f�:����\z|�}d��\V�5�p��Ф�c��H`�ҩ�L����)�/f��N
�+Q��'�H��J�x�a����Y&%�e�4ӂ2�1j�ߖwZ��1mWr�QK
����yXs_�`ɪT��n�Iޞ��=^��0��J
������f<,+q����e���[���s$(��M��<�n5Y<��K4_f+�@6�
`�V�x��,&;�
yT&BTH��ݙU�[�90?
�s�Mf����������r�9y��tP��4����O���Ԡu�dN磆!���b�˵Ce"��a�кQ;���c�g,���:�
���6i��Y
--�W��0w%
O?��7��YQq	"�
x�ѧ$R|\�#R�i`0E�i�~L�~�T$5�5��U��"�ɪx[��z3[��~��]̆
4� �ʄ�C["
ËyT�)Ё������n2;gË���ph2��Z�C�Ѡ���5<!1^=,��+��`эi�$M-�:��L at uK��
�����lx|�yd7�hdx�j�e
;�H&ã2���K�&�q)?�>���K���.��_
&�Y�T�
f�TK$T�n�ꇰ�i�Q�ƒ2L
9��12
�HȰ�U
Y�d��tv��S���HJ-�Pe)W�
+�QY˪lh0�����B�m+r�PY�\���sDv�*���N�Z��9��,yT&F�U��K-̽�$��y|�}d����.�s.��p�L8��f"Ui�����������d8��
ic'!}6�N�������`<��'40��ѡL ��@��A� �4���jc!T��zl�b���Y�q%���vS%S�A�p����9��Ӯ(��-�����h"�'%�*'@6G
-
��<��v�Ra񰬰�’�넥�QX�U����vaq�\����?�&��~tr������J�!��t�<*
�����߭���y�G��c�?ߏ��x38�
�<L�Y��+ ���<b8M%�hp/Zv at zT?�50[d��V�}�A��9m�e�ϸ��fV_^��x=x�OR�Y����\f�e�D�T!�@��1�e7�C�CX�v֪��9���߮�W�&vӖ�����d/G����_eI☀a�N�Ge�䘁ba]��U����);j�nh#!Z
���g}��YG��6������r?�z�`U��vQ#�ya��S� 	g$'j���`J��~���~�E
��*S���� ������|9��~���|}۰�	�F3��Lt���T���vXrMK�������/,ה{�������cN(ȀV�[=<���,��<C��Fk�i���s�#��^��C:9
s���xT&:�t��a���	�R��Q
�H���pP~�/K����=ЊQ}
�ڷ�X���)v��ˉ�
B0T��<Ʉ����
��`��I�
T��%��T�ۖ�
3��&S������xs���{	��v�y��m]8���宅߱���l��N\
���S����a+�F�n�//g����
���&�'�3��ST��ȮM��������߾}C7[t���m�|���n�<*-��e�¨�U�,�b��,.$�$�X����z3s
*%���\\��|��~l��}�
���4Mendstream
-endobj
-626 0 obj <<
-/Type /Page
-/Contents 627 0 R
-/Resources 625 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 671 0 R
-/Annots [ 629 0 R 631 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 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 ]
->> endobj
-629 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 696.0019 277.7539 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.1066 615.2394 263.3585 626.1433]
-/Subtype /Link
-/A << /S /GoTo /D (namespaceparma__polyhedra__library) >>
->> endobj
-633 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.6969 534.4769 321.9613 545.3808]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-634 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.0501 534.4769 513.9963 545.3808]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
->> endobj
-635 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 522.5217 180.1017 533.4257]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
->> endobj
-636 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [196.7488 522.5217 417.3397 533.4257]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) >>
->> endobj
-637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.9869 522.5217 513.9963 533.4257]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
->> endobj
-638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 510.5666 238.7611 521.4705]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
->> endobj
-639 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.4773 471.7123 353.7055 482.6162]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-640 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.3551 471.7123 513.9963 482.6162]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg9006be5f6c0f7616400b3554738e732fe64f42c3dc2245c0a2dfdfdf81804916) >>
->> endobj
-641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.0796 420.9028 350.202 431.8067]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
->> endobj
-642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.0563 420.9028 513.9963 431.8067]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
->> endobj
-643 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 408.9476 230.1241 419.8516]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
->> endobj
-644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.5 408.9476 511.5056 419.8516]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
->> endobj
-645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 396.9925 321.2113 407.8964]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de8166354806b7252847b0cb5c2ca71e1ab43b3) >>
->> endobj
-646 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.5257 358.1382 335.7131 369.0421]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.4597 358.1382 511.5056 369.0421]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d634c41f8889b9f0e04d597dfeaa1d356b) >>
->> endobj
-648 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 346.183 256.4644 357.0869]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d6985226363a0c8f82ffd9eccd025e9d79) >>
->> endobj
-649 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.6854 307.3287 331.964 318.2326]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.0298 307.3287 511.5056 318.2326]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
->> endobj
-651 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 295.3735 242.6863 306.2775]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a4f9ea739b8717fe026aba79a67be5cc6) >>
->> endobj
-652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.2762 295.3735 407.3969 306.2775]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
->> endobj
-653 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.9869 295.3735 513.9963 306.2775]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
->> endobj
-654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 283.4184 227.7026 294.3223]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
->> endobj
-655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.9164 244.5641 335.4377 255.468]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge444adc8164dfda0378177ddab117095) >>
->> endobj
-656 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.9655 244.5641 475.4412 255.468]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
->> endobj
-657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.8085 244.5641 513.9963 255.468]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
->> endobj
-658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 232.6089 252.2404 243.5128]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
->> endobj
-659 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.2292 232.6089 393.3499 243.5128]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
->> endobj
-660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.5679 193.7546 364.156 204.6585]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.9869 193.7546 513.9963 204.6585]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
->> endobj
-662 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 181.7994 283.214 192.7034]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
->> endobj
-663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [311.1287 181.7994 513.9963 192.7034]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
->> endobj
-664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 169.8443 162.5576 180.7482]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
->> endobj
-665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.5464 169.8443 402.3464 180.7482]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a6ceb40deeaaaf0f057da97c1aaac0a3c) >>
->> endobj
-666 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2316 130.99 360.8285 141.8939]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-667 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.9869 130.99 513.9963 141.8939]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
->> endobj
-668 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 119.0348 218.8258 129.9387]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
->> endobj
-669 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.8146 119.0348 405.3049 129.9387]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97713b313393fbe3b2f84daa5d5e440d5fc9) >>
->> endobj
-670 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-628 0 obj <<
-/D [626 0 R /XYZ 90 757.9346 null]
->> endobj
-630 0 obj <<
-/D [626 0 R /XYZ 90 632.3103 null]
->> endobj
-632 0 obj <<
-/D [626 0 R /XYZ 90 553.4507 null]
->> endobj
-625 0 obj <<
-/Font << /F65 229 0 R /F72 307 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-701 0 obj <<
-/Length 2048      
-/Filter /FlateDecode
->>
-stream
-xڭY�r�}�W�-R��B��9�2�X�ܙJR*Z�mV(�CRqT����$�(K���x�}x��n����G,[w��lamvl=��&�|<���:������-��
-k��[qJ����2����c<�8#|��(��1#���鵷>x�~qw�����ۨ[)lwJ��o����Js()r&�b�m��o��Տ��+��
-7ץ�nbSV݄���'m�x��zS�x�l$�앂2����֤ X �I��0%ȯ���;
�(gVݠ�Q����X��_�~�
Bڤ�W=J�K�C�A�c`�U
b/�y�8
-�/�6��a�x����?� گ���c�Y2"��
��Q#���;X6��אF��!�8c�T�y}���T�Ai���z���m�u
$0'-~-Q4j��iM�zg8�
N���h��{��(w��O*�|��xz~��j;Q�Vߐ@5�д�)��Hb[�*�Ə�o�}h�H@�
HV��*��y�~;�T
��"p*\��ךF�밎y5�u�ð��r�V~̽aw0�><,�g���j�0
^L"�v�P5�Դ�)�N
B›��99)�
$%
;]���予H��M��(�P#�&H8�
v�3������
��Y��F�
��]`�
��!��m��R!a�rQaG�VS��*Vt2i^�R�˒�H��˚��NLP�$LTՉ�^��ϼ ��K?�$A���-�����v
3���W���9�򶊓��+����D;?-.�o� �+ϯA�R\y�nA��
�t�%�EV��m$�6��
�6/��� ҧô��aM��Ԧm5s��1.�\Fx�ϼJ���-�j�b�{��E��C�� ;�/B/M��&P��]$��(M�ǰdT�Wʃ��7�
*)&ұl�a�3��h^G�$!�1s,
*��T�E�{3�)r%��;��m����''�(�kVsY�g̙~����:�^_���_/�\����HR���(�L��pI�E�?3��Q�f󍗖3�&�/�k�m�3���_?!�g�e{C
�V���U�ҐZP��l����+0
-�T��+T��=,�B/���W�ۣZ����Ɏq��°|��[a��"K�>��ڜ"�arL�lH�
-�������X��3�(�ASn�n:.a-{%�q0[�
چ��
�q�8����_�u�,�9���}��o�Cz_����̧PeՈ���7W���$���K��^
\E�&T��ώ
*gO�}K�5Pndjc��n�����z ��
�c�B��������� �߆_]�
��v�C��6�� N�M�.n�C�Y��V:‹����̥S/<���

L[�G;�S%�{�G9G̥t8����C�]��)���| �
��a� \/W���b�Z/.?,�?\��)%ܪ�0Ch0��(�V�4�\6i-3ߏ�����ߪ#Gu�V��ԽD�wp#�����#���8�>5��q���]8��ű�
/��C���"J%�c����
-�?)�/�\tL,G�F(i�I�5! 
-V�[��6!��`�ܕA􄨛bB�q،9��������ʆU��"�T��h�� ����!G:lX6��`XS$‡0S��§
-�
-V��������OF�H�
:�Aerh�
dhMH�l�p�*f�Q�{o�t�4���Qt�ӋΥ���U���
�e
�՘�6~
-��V��ߣ2U��,�6�z(���ufcK�.#uT��
��.�gp�8
S4>�^��xX.
�!��^b��5���ld�Mߺ�9��s�BE�3S� ��]�x��%z�(��MV5i�m��%��ƣ+��гB�zson?�ym��^+���d3�5�j!�]�
OU�N�
u|����s��[�*�-�ѧ��۞�fC4;`Qn���$�y���)�q�9��z�y�����B�@էY�v�h9�

-}���fĥ���O���O��lՀymD�Y��@�]%�K�����^__�&E����Y
�gF%��W�50�s
2�4&��1,H��n�wQ�W_PJ�܁��8�
�����F(r�"w��?�5�endstream
-endobj
-700 0 obj <<
-/Type /Page
-/Contents 701 0 R
-/Resources 699 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 671 0 R
-/Annots [ 703 0 R 704 0 R 705 0 R 706 0 R 707 0 R 708 0 R 709 0 R 718 0 R 720 0 R ]
->> endobj
-703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 719.9123 317.0764 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 704.4025 278.6014 715.3064]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8d1443a727b974ff807ec5bc5cd1dece) >>
->> endobj
-705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.1552 704.4025 473.2547 715.3064]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b671181c4f0b106836b2bfa9c51d75464) >>
->> endobj
-706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.8085 704.4025 513.9963 715.3064]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
->> endobj
-707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 692.4473 226.0789 703.3513]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
->> endobj
-708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.0676 692.4473 439.7461 703.3513]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b468e42a8760cc57fdc62aef53af8908e) >>
->> endobj
-709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 676.9376 300.1804 687.8415]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8b42d305e53e64514a7f004b4e55f862) >>
->> endobj
-718 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.7667 225.2047 474.7836 236.1983]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-720 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-702 0 obj <<
-/D [700 0 R /XYZ 90 757.9346 null]
->> endobj
-710 0 obj <<
-/D [700 0 R /XYZ 90 640.4354 null]
->> endobj
-711 0 obj <<
-/D [700 0 R /XYZ 90 582.1223 null]
->> endobj
-672 0 obj <<
-/D [700 0 R /XYZ 90 557.9076 null]
->> endobj
-712 0 obj <<
-/D [700 0 R /XYZ 90 557.9076 null]
->> endobj
-673 0 obj <<
-/D [700 0 R /XYZ 107.7135 483.1323 null]
->> endobj
-674 0 obj <<
-/D [700 0 R /XYZ 107.7135 468.053 null]
->> endobj
-675 0 obj <<
-/D [700 0 R /XYZ 107.7135 452.9738 null]
->> endobj
-676 0 obj <<
-/D [700 0 R /XYZ 90 443.0067 null]
->> endobj
-716 0 obj <<
-/D [700 0 R /XYZ 90 428.8238 null]
->> endobj
-677 0 obj <<
-/D [700 0 R /XYZ 107.7135 354.183 null]
->> endobj
-678 0 obj <<
-/D [700 0 R /XYZ 90 344.2159 null]
->> endobj
-717 0 obj <<
-/D [700 0 R /XYZ 90 330.0331 null]
->> endobj
-679 0 obj <<
-/D [700 0 R /XYZ 107.7135 255.3922 null]
->> endobj
-680 0 obj <<
-/D [700 0 R /XYZ 107.7135 228.3578 null]
->> endobj
-681 0 obj <<
-/D [700 0 R /XYZ 107.7135 213.2785 null]
->> endobj
-682 0 obj <<
-/D [700 0 R /XYZ 90 203.3115 null]
->> endobj
-719 0 obj <<
-/D [700 0 R /XYZ 90 189.1286 null]
->> endobj
-683 0 obj <<
-/D [700 0 R /XYZ 107.7135 114.4877 null]
->> endobj
-684 0 obj <<
-/D [700 0 R /XYZ 107.7135 99.4085 null]
->> endobj
-685 0 obj <<
-/D [700 0 R /XYZ 90 89.4414 null]
->> endobj
-699 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F83 715 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-729 0 obj <<
-/Length 1730      
-/Filter /FlateDecode
->>
-stream
-xڭY]s�6}�W�Vx@ѷ���]vK��,����
�I��)`�����5�
�2�3�����X�ܣ{�$�t1�#]����f\v��
�}��?wH~{ �6�üs�I��FZRٝ?
G�	Jhw���Ƹw�'������

����p�t���j��G�cx�^*�u�����Eg4/8��$e����> ՋFL+�}�
��ִ��p��Ū3�|)��n
��T�&U����TE"O7�
�YR�0Y��m�z}�
�p�Z�%a�z~�9�DI���ż���6J�=�$�'��gA�ϹTO���rO��VJ LTЕ�#L��Ԁ6��Vi�1��E8�S
A���jl�)
-%��
�e��ł�(�֨)����ȉ�$�xz�/Pn��,N�,�=5�]�^��Ɲ�7}�B���{�ł�t1���t�p�wW�X e�mPn�4 !B�C��&	_�R�<�0�4oRǂ��1����d|=ws�â!�A��+e�@�*n��6^n�
e�ͩhRƂ��1���ϗ���t��WHC�D��\e�4�
-ǼL��B��xwH��\�1���TYv-�a���a�>Ϯ�7��~�#��wouڽS�+
�v��jsX�W[ktoo�o��ĭw�R��Ž�,�І�t1��?���
�ë�|4u04�
�s��,O M���ۺT����m}��q�a���j�Ɇyt*`�>�\�����K����Uc���/i˗���t5�Y�$}�z��*Z/f�p�5o%o��n	Od�LJ�}��r��cnLϑ��)&u�ÚF��K/��<�ii%�������:nJ2K�X��I�6(e"�).P
�![(��~�~���mܗi���N�Z��:m�ЀH〶���sXԷXKi�^
g����qB�}�{��r&EPĸ�~I
-�˦2)b
��%6E�m��(u�a����>�F

OQE�Ȇ��2�L���돣�m�R��~2�%�(��e2MJ�Ň�C��JBxL�'6�'����&7�����Bq&
4�)P.���sy�L�Pϡq�Mn���r
��
��~o���2S��T�}�\��qW�C��f�֭�_�0�Q8߂�5�*�Q������o�du�=U簨����'�i�
S;��'��1�~r�������	��_n*�a�1�����׍�kD�f
�h�|�ؑ��]�	8�ˡ�
��Y�B�w+i��]6XM����6�VY��^�w����
�:�W$�^HN�}e�N��
-)"��U]pO�8,�맀
q��l1�e��Ԉ��z(Pn��Q�#ش�J�h�3��ps���eAS��0_�V�?�.F_җ۷}G�Kw�̲7�~"��4�BSQ!R�"_�	��Y���G&8%7�Y�a>�
�X�^y`	�M�3��,
T�҄W��LN�RA�5�o�|�X���t�9�h�X,���R���˦��$�-�I�0=���j�eN
-�t��P
�
��U���y�a��
�!Pi%	K4���oQB#!Xm��B�p��>S
?�I���%�A���&Q���
���j�_�%/�{��Eا��#�6��,w�jw��t���������*���'8?5���p�����@��y��8AB��V�4��W����4��l�
,��qS����������
�ߡ�f�M�r�ݮΪ���H����Ar��&�
	�{A�ˣ�u�
UI�09n � g{����8s�$��5��4��endstream
-endobj
-728 0 obj <<
-/Type /Page
-/Contents 729 0 R
-/Resources 727 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 671 0 R
-/Annots [ 734 0 R 737 0 R ]
->> endobj
-734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.8406 431.1197 249.2909 441.0474]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-737 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-730 0 obj <<
-/D [728 0 R /XYZ 90 757.9346 null]
->> endobj
-731 0 obj <<
-/D [728 0 R /XYZ 90 733.028 null]
->> endobj
-686 0 obj <<
-/D [728 0 R /XYZ 107.7135 664.0231 null]
->> endobj
-687 0 obj <<
-/D [728 0 R /XYZ 107.7135 648.9962 null]
->> endobj
-688 0 obj <<
-/D [728 0 R /XYZ 107.7135 633.9694 null]
->> endobj
-689 0 obj <<
-/D [728 0 R /XYZ 107.7135 618.9425 null]
->> endobj
-690 0 obj <<
-/D [728 0 R /XYZ 90 609.1066 null]
->> endobj
-732 0 obj <<
-/D [728 0 R /XYZ 90 594.9473 null]
->> endobj
-691 0 obj <<
-/D [728 0 R /XYZ 107.7135 505.4106 null]
->> endobj
-692 0 obj <<
-/D [728 0 R /XYZ 90 480.5478 null]
->> endobj
-733 0 obj <<
-/D [728 0 R /XYZ 90 466.3885 null]
->> endobj
-693 0 obj <<
-/D [728 0 R /XYZ 107.7135 392.8549 null]
->> endobj
-694 0 obj <<
-/D [728 0 R /XYZ 107.7135 377.8281 null]
->> endobj
-695 0 obj <<
-/D [728 0 R /XYZ 107.7135 362.8012 null]
->> endobj
-696 0 obj <<
-/D [728 0 R /XYZ 90 352.9652 null]
->> endobj
-735 0 obj <<
-/D [728 0 R /XYZ 90 338.806 null]
->> endobj
-697 0 obj <<
-/D [728 0 R /XYZ 107.7135 264.2961 null]
->> endobj
-698 0 obj <<
-/D [728 0 R /XYZ 107.7135 249.2693 null]
->> endobj
-721 0 obj <<
-/D [728 0 R /XYZ 90 239.4333 null]
->> endobj
-736 0 obj <<
-/D [728 0 R /XYZ 90 225.274 null]
->> endobj
-722 0 obj <<
-/D [728 0 R /XYZ 107.7135 150.7642 null]
->> endobj
-723 0 obj <<
-/D [728 0 R /XYZ 107.7135 135.7373 null]
->> endobj
-724 0 obj <<
-/D [728 0 R /XYZ 107.7135 120.7105 null]
->> endobj
-725 0 obj <<
-/D [728 0 R /XYZ 107.7135 105.6837 null]
->> endobj
-726 0 obj <<
-/D [728 0 R /XYZ 107.7135 90.6568 null]
->> endobj
-727 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F83 715 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-740 0 obj <<
-/Length 2155      
-/Filter /FlateDecode
->>
-stream
-xڵ�ݓ�6���+x;�
-}�RWu�쥲�����=eS���$`�1;���Z���0H\
�<
�Mw���VK6c�#c��J(d���f��K����gp
-|?���c���r|��j�	J����׉�Ψ��Ŧ��E�}�a�8lʪ)�ն�K+:�r������{o�wG0I��?G���Ǐ�ֻF�h1~�/c�x3┹/�ѧѿ���F��S���
��P7.����q�3��tz2B�z ��Eu
DzE�����v��|���z�P�����R>����IY���
-h�kĺnHk��K����w�S�'_�TL��ʪj��iJ��[{��aD�Hs�x�.��rb�$av��,M�@�h K���b��gJű-�mTar��T�.̼�R�vv��L"%9=2lo��^��'�sa�׺��˼��׉'$��� �`�
-w
�e���'th$�r*�~<\J!��̄n������!�)��i�/��:FÐ�k����

�VF���u�U�Y�WM�B��u�ov��f�ZvW6��xX���c���V��΢X�g/�z�Ԥ�A��N4DR!�Ch�0�sQ 
-9�EB	�'�,�b�,
-&�(c�eQd7�E��
�(��@o[��哭}�1���0pGc�4D>��W�\���0�a��Z̏��Ž
-?��DrXw��7$O	��!҉�
��L��D�v3DF�/!2��@oGd�����(Z�O@)�^��R��:��
P\����
�~D��H����En5"��ˢ*L����P��Q�
_�bƅ������}Sn- 1�R��L
��x_I�)┈
�^, at r�
���}:Fs�K��6N7�R@�E�*��҉�
��L��\�v3\F�/�2��@o�復�Չ�Zi(Eʤ J�0W�3$��9
�ؙY�y(^�m�vb��HN0�5�%���Rt�9��(L���
�f �
_hڅ��г��"ب�\
�Uꫀ�9�>��@ub��	#��
����
CJ��ɠAט�
�^,�f�0�fƮC3��F36|�z�
?l70c�u���o�Z�;w>��1�\�L0CPw��k�
�B�
�^̎Ż�w��þ�w�}-}l��Wٺ�ra�+��3+8�ƨ[B�	�+�)h�X
�@a
-ڴ]mh7md�h�.
�Z>�g�CP	4z
-� l��	��T!�9�q�ĢS�wS�k��P����ԓ[�?c��

C}��._��
O��� �����T[������UCi0��\'���U]��Qw`4�vh���������<���Q�
��*��5�e�U�P�4[@nk��re�D���W�$��
WgA�V
C�
A���cp�!ՋeQ
&X��u�FvӴƆ/�5��@oW�m�W6��=6}.k�%�1U�;Q�f�z�_��� j������w�����7�'N��}�I���
��+�T�a�
B�R0k�CG�qB/(�tF*{�}��\$�|�4bv�r�D�1-rK��'j�0��i�>QC��D�
_��iz/K��OMY
�G�2���O:�2iB�U2�`�9�=��b᣽USv�N�:�S�T�Z�����C,���b�S����C����3��mg��q7c��B4��0X��F8��8ۜT�ˡ6����,pMo�\�h	=<�=��b��&�?cץd7����
�?��@�u�Dz:��D���"=~	���U�gE��*�<Ӌ
���
���ڥy{��[��ptfj;�C�4>�9O��H�WpnH.W� ���O/�'7P�"7mד�͐��ܴ
��g�N12${�Ȯ�̉0��݉evb��ӥE�үZ��(Xb�R얏E	�HS�{,���
-S���zBC�B#×�va��%�^=��X�1E�A0vS$��<��ҹ���
-�\�8N�]ѱ�)mo���ߜ����0Hvr�<c������eA���m��t���s"~�
U����\+�}�f9|-�}Q-ŲW���%�����ovq�[�աX�
�}�֡
��s��0:l���t�@ѧr�Ƈ=�f2�iw�����s���f�/�wXU��^�/M�������-��P�v5Z5w�����/.86Gs=�B_���B"�q��߷o�u�����)�m��Ӫ�M��� E�.�	��
0��endstream
-endobj
-739 0 obj <<
-/Type /Page
-/Contents 740 0 R
-/Resources 738 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 671 0 R
-/Annots [ 743 0 R 744 0 R 745 0 R 746 0 R 747 0 R 748 0 R 749 0 R 750 0 R 751 0 R 752 0 R 753 0 R 754 0 R 755 0 R 756 0 R 757 0 R 758 0 R 759 0 R ]
->> endobj
-743 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 610.7753 221.3122 621.6792]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) >>
->> endobj
-744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 573.9783 181.7848 582.8249]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-745 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 533.0667 185.8997 543.9706]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 494.2124 220.2205 505.1163]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-747 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 457.4154 179.2742 466.262]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 416.5038 213.595 427.4077]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 377.6495 241.2416 388.5534]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception) >>
->> endobj
-750 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 338.7952 183.6979 349.6991]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 299.9409 195.3243 310.8448]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 261.0866 273.6694 271.9905]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.55 246.4659 232.7223 256.3711]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 222.2323 307.9704 233.1363]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.9398 207.6116 389.318 217.5168]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 185.4353 177.5907 194.282]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 144.5237 211.9116 155.4277]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 106.6457 200.8334 116.5734]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-741 0 obj <<
-/D [739 0 R /XYZ 90 757.9346 null]
->> endobj
-58 0 obj <<
-/D [739 0 R /XYZ 90 733.028 null]
->> endobj
-452 0 obj <<
-/D [739 0 R /XYZ 90 709.8418 null]
->> endobj
-62 0 obj <<
-/D [739 0 R /XYZ 90 709.8418 null]
->> endobj
-742 0 obj <<
-/D [739 0 R /XYZ 90 629.7491 null]
->> endobj
-738 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F11 265 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-762 0 obj <<
-/Length 2303      
-/Filter /FlateDecode
->>
-stream
-xڵ�Y������W�f�0�u�#�뙉����}�� 4�f�to��;KW�Tj=��H�2���Je
��?6rtd�!NH=��o�h	��ܰ��)|?
�~s�Z��#Ns=�(5hFg|t��u��L�t�M�u2�nV���E��V��")�'S����d���<�.?�i1av����R�17����ݼ�o���UB3��n~������J��j��0��h}#�h.V7�o��ꩾ(8�jI�Ž�B���BLCP �x�z�SƉ�L�.�dmp�˨&RX9j�|��p��#�(<ŕ�
-{[)�.��Q��v�d���-��a�U��e>�.4�
=�ޅ7E���I�H��b��y�O��.q�>S	�t>@St��cƛN�N.�h[b��BK�,[�
���Q+�[�C��jA�y�P�_B#�OFǾ��ƾ��zG��o�|��$�0�ݼ�jÈP�#��b(�����݆׎�8�]�xE\���.��'��'
�o��P&��a���٫���v�m�
�
-��)
i�QV\a�{NK
�F�7��W�:O��&�k��* ��Ս��SG B�TD��I��D)-0�1��@a��ݖ��.Br����.��z>��r�m��( �'�	�ĩ�
��pUa�6bC��o6��lY}X���e��K`��F����+'���Dn�P�C���
�
�q�������[��i����nw
-^8��(
-A�"�*c��V#��bA�*�S}N'���]>�Vm;˥҆X��kZ�__P�`\6b8����q�-��]�ˎ�!\�]��=����M��K�/��y/�
�0�\;$2J��E�ː*)�J��Vbf8�u����j_]>�ƛ�0N�D���S��{w��ׄ
�0#y#�C
(�A
��B
�E �
y܅��Ӑ�#+�y9����)��(N�e�Ŕ���o�|�����"+����Y�h�t��͐�p����A��b=7�j�V
E:TA�� ݱG�kx ҈
=����|8�s~#

n	c�2�ZjN����p�;�/
�bD��k�+,QV
�F
7P7n�7����1<ܸ
=�����5��i�1.��4eHD�����2�rA��÷�໭��a��b�
/E�|��
@���p��-Bz+��
*����mH�؍��5<�tą��Ӥ��'���c���%��HL����_f���X���HuH�S���L�-���

#��#�&�� n�p��1��v[�C��
�C ����{�_&P,��"K��NT�~��$*R*��
�Rj�8nĮ07|l����<�P�1����'8'�J��F
g;Pc;n�e;����1<��
=�%ۛe6����� � 
9�-�滈b�c
#�;���8��br�wQ�[���#�8�<M+z�Uu�>�a������D.��4��H��P7R(Ё��q�
Ρ�8�
�`��?���|{7�+6��z�@��	ӻX�-$G�.3���
�o-�ِ����l����U�Q�B�I�
U�J��U��*T�زڪ^��|�)�}\�S\
��KI43(ƍ�q�0r�nKrhA�cx�qzz�
�|���B'S���tOh�������<�C�q�dCv���K��?����1f�)�9��h���V
�8P�8n��8��`�1<�
=�ޅ�2e����5d��.SV��_+��h.��%���b��8#V�Z�o��ωbT�cma�����A�O
v��
���G�3��6��V����y�hs���@�����
��a;Z1t��
-#C��
�����
0Dzz_��?�y�
��P��xN���HD�,K�ˬ��;<La<Z���*���j���mM⏢V�~>���|]�f���5Ov�� .��ފ�
-c���v3���bL��xe�H-�
8�r#������ϒ��uݏ�C
P���$
�W�2+ڌ	"8ö�[�N6.[�E�N�����"[��˺I�/�yd��(
g��A��HɰM�F
-�8P�8n��84O�
��p����\ȼ�7��S�JNS
Ձ�&
^
M)kO2K�<�������I`b��j�C��U�rD)�����˦�l�8������W
���N��!Y�/�ӗ�S��y��(�,�|L�C3x����Ӽ�h
��X2�
-P�9�%0�7���msʘV��{�|z���i�D��	��ׇ��~����������!϶��������/�$Q
��_ǿch�z�t:
���Z׬��æ.כ���_������N� �.��%U�����?}���endstream
-endobj
-761 0 obj <<
-/Type /Page
-/Contents 762 0 R
-/Resources 760 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 671 0 R
-/Annots [ 764 0 R 765 0 R 766 0 R 767 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 ]
->> endobj
-764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 706.991 235.1542 717.8949]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-765 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 668.1971 255.9165 679.101]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-766 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 629.4032 237.3663 640.3071]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-767 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 590.6093 213.0175 601.5132]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-768 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 551.8153 262.0232 562.7193]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-769 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 513.0214 260.3396 523.9254]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-770 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 474.2275 236.2702 485.1314]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-771 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 435.4336 242.5564 446.3375]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-772 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 396.6397 273.3409 407.5436]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-773 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 357.8458 251.1939 368.7497]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-774 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 319.0518 232.385 329.9558]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception) >>
->> endobj
-775 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 281.2342 194.2182 291.1619]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-776 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 241.464 246.3726 252.3679]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception) >>
->> endobj
-777 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 203.3874 193.5068 213.574]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4) >>
->> endobj
-778 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 163.8762 243.3039 174.7801]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library) >>
->> endobj
-779 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.1502 126.0585 219.4134 135.9862]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 86.2883 216.3649 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-763 0 obj <<
-/D [761 0 R /XYZ 90 757.9346 null]
->> endobj
-760 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F11 265 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-784 0 obj <<
-/Length 3156      
-/Filter /FlateDecode
->>
-stream
-xڵ\[w�6~���[�sV� ��IԬZ�j+=�=:�ͤ��ŕe�ٜ��; 	�$H
��O
I��
�
 �lD�etd�!��zt�9�����#V}=��'u���ыo�e$�\��
-
���o>�O���n��,w�������r�^��/�������r���-o���U�!ߏ�=η�#f��܎�w4�*w���y���Ͽ��-���%"�j�	�P²��6G�
�f}t}�C�S~Q��kԒ*b�
M�$Vï;@LCP ���Pg~b� T+�g��B�t�c<#�dv`.��ߪ����
���a�ۖ�����z�,_|��R
{�r{�������:^���,��0�G�q������,d���t���R!
�ײ	��V�<ʅ��U�0��+1�����!�L��j� �Y/��#V��ђ7Y�7������۪㿄��x�oW���|�L��A"`!������|J&k+	g
Id�z�<�8fD"/S���WƎ{�YA8hӓ�Y��%��`	�axF�
�R:�r�΋$u�xHV�]��:~,.�r�Z�_�+~�2$����t�H,�=̍�����&�އ��}(_>�������J۟��o"3�9�3"��X�z��5��DM�D��" [...]
-���\�+�(�:� ��꿖�K�pX��|�T%ǹR#w�h�)߯������?����U�� ����mtv�J
"�͊1M��|_Ԓ��QIJ�Y�<�� ��y�d�:^?�9�5���R�x����c
Dv��v��u�]����&&g�d̲t$
-�3C̭�_"R�\��ax�>�[�c��y���/�f'��Wg���w��Om���`�}Y2�x[s��-"�
-��ʡ�x�>���g��A��
��^gy�El�3�
-���x�>�[H��O��s�E�Bϫ��3���\	�G���)��[b��i�<jR�u�[
e(�q�9���
-6LCc�}�`�l$JQ�3hl���߯\�W��JZ\�Y
V�C9�\e��
Aq!�HlYZ�4G�.
-uX�(4x;��p:!Y�7�Ux̃�nY���n��,Va��&?����ӉTZ��&��(�.�:@B4��+����
�E�c��"��f�f�o"'2A��2p�¨3
S
-��A�;ǥ���IMY�Fb��s���k��g��ju_��a�o|y�Ҩ�t]a�庾�'��������ϩ	��)�4������&�`)M��vj �e��ۯ	
�y��ׄj�~��A�8W����P'�>��`�D�,����#�5iX\ϧ����|1}�f����b,,�\d�Q#
�:��a	(į�Zw�%�jp�x8F޶Z��o�d���ҷN%��黓��v!��p�D�TϮ�$�&5T�l��
�p�R��؟>
�q���5�������>j�Anjm���:J; �q����j�3{�����D��T����ѩJUm>����r�˞����@;
�Ϲ�,)����
`xɩL��4o(9u�t��
҆�=��:^��q��/�p���!�(�e���E@!����;�ąFp�3X*
D�c�]G��|����z�;Ui-2t�¸#k�i�\�|��=
�o�-v�.;�`8uQB�?�b�a޷g]�:
-���<E
�6�`�W��V�}�;�k
�U�|�σo�]༜>��'���Y�(�f�;�0T�����z�k�&���;@�"�΃7�����������&�B�9��q(�
�\3���K�v���ˁAx�>���Og�Ӯ6
���A���e�[�$�����yd��_�ʁ��H�8���H��
Y�
���0���Q���r~v
�2E�4
-�Gađ��
w�V}C�
�}l�X[�^\���.:�/,��$�����v��������1���ͺ�T��ƭ%�
!�1��ԁ���)����AK�(gX1�0���
��Y�7�:o��5x����ݢ��W����RUK�F@!�pH.�l�tt�
-$t>#�}d���)p�q�
ۣ0��Z��Kh���QWp��m�\�g�����l:�^��$�Q�
|@!���n�w������(}�noeʂfsd����m���}��ëR�I�<u)]�����
<M�ݙ����ݻ��[A�4Q� C�n0���W�o������E����:�����r_��-���C|	w{����P��kh��izѡ�<7����#��>ͷӓ����颈Ǖ[�_�۳��K��HF�Ml�[��Wrh0
����xy�����5
�((V��"�gbk���:�
�r�567<~R�Ajrz�������f��c�%Hsi�p+:O�P�3\BLA����`NI������DQ������f�5�{oK�	 �M���c��/�b�)��=��vp���
�׌��T�H󆴬�&WM��ă�n11����?�ݞ���m�z�!)K�!�'�)��6���0*��<F�-K����xvq޵�q��B@!N��zv@d��Cc�(}�n� [...]
-�8[���a�:&����#��Anr��$B��/=~��
��u�?ˈ`R

�ǣ�m����մ�n�+4��!�m�$�P�C���J�kS�/��?Hi��E��Ԇ�aa��t��

�99a
�ۆ�5�IxU�~Jͯ�H�� ��jIST����l�=�Q��F�Er�&o!��
�/M��F7�1�θD,������j;�Ս�����K��ʷ���6���=e�8��?G|��~|X~�LͶ�|��ͷ�	����o��r��l�}XV���B}t������s�/O�Σ�
-}�,\]?�"���
��}_��&�_�șZ�"�.L�
w��ӧO��<lWw{�:���[���DI��4h����|i\,	�EP�0J͗pw�f���#3nb�ս��- 7E~�xHt��?���endstream
-endobj
-783 0 obj <<
-/Type /Page
-/Contents 784 0 R
-/Resources 782 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 671 0 R
-/Annots [ 786 0 R 787 0 R 788 0 R 790 0 R 791 0 R 792 0 R 793 0 R 794 0 R 795 0 R 796 0 R 797 0 R 798 0 R 799 0 R 800 0 R 801 0 R 802 0 R 803 0 R 804 0 R 805 0 R 806 0 R 807 0 R 808 0 R 809 0 R 810 0 R 811 0 R 812 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 ]
->> endobj
-786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 696.0019 216.355 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 659.2049 170.9555 668.0516]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [135.768 619.2696 192.5442 629.1973]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.4482 537.5308 214.9143 548.4347]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.5059 537.5308 360.535 548.4347]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3d48fce92c56bf2ff6ee0ffeeba90de18) >>
->> endobj
-792 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.4342 537.5308 478.2267 548.4347]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd372e00beade5e3123d604866d4318562c) >>
->> endobj
-793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [482.1259 537.5308 513.9963 548.4347]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
->> endobj
-794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 525.9492 180.1017 536.4796]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg0cd3c405aa537a001f59e642f2acddd3e0c67618b9d2e22a193c392f031ddbc1) >>
->> endobj
-795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 487.0949 244.9676 497.6253]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [252.7384 487.0949 294.5811 497.6253]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg9006be5f6c0f7616400b3554738e732fe64f42c3dc2245c0a2dfdfdf81804916) >>
->> endobj
-797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [150.5849 448.2407 255.9088 458.771]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
->> endobj
-798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [287.7736 448.2407 448.8189 458.771]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de816632ac9e83af49bbfe366e6d82f2f3cde52) >>
->> endobj
-799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [463.8547 448.2407 513.9963 458.771]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
->> endobj
-800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 436.2855 232.286 446.8158]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de81663829fa1b449ab43dfd7a5fbd21bfbbd21) >>
->> endobj
-801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [235.2748 436.2855 335.7773 446.8158]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge574051d412d3ee587c872f48de8166354806b7252847b0cb5c2ca71e1ab43b3) >>
->> endobj
-802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 397.0576 223.9268 407.9615]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.6976 397.0576 282.9451 407.9615]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d634c41f8889b9f0e04d597dfeaa1d356b) >>
->> endobj
-804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.9339 397.0576 321.6896 407.9615]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg16616f4113ae69d86cdaf2b7b10cc0d6985226363a0c8f82ffd9eccd025e9d79) >>
->> endobj
-805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 358.2033 205.0181 369.1072]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g464c2bc94f19f4509ffedb8b7b60439a) >>
->> endobj
-806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.7889 358.2033 237.4663 369.1072]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
->> endobj
-807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.4551 358.2033 262.4326 369.1072]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a4f9ea739b8717fe026aba79a67be5cc6) >>
->> endobj
-808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.4214 358.2033 296.7437 369.1072]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
->> endobj
-809 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [299.7325 358.2033 381.4257 369.1072]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gg464c2bc94f19f4509ffedb8b7b60439a8e71cc2282a035560ecc13c306e79a99) >>
->> endobj
-810 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 319.349 228.2608 330.2529]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge444adc8164dfda0378177ddab117095) >>
->> endobj
-811 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.0316 319.349 260.7089 330.2529]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095d72cf0b414b10649e6ad6f776273beff) >>
->> endobj
-812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [263.6977 319.349 325.1071 330.2529]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab1170956c4381dbaddfd9e2c92dc85a43dbec0f) >>
->> endobj
-813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [328.0959 319.349 359.4182 330.2529]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gge444adc8164dfda0378177ddab117095569a186f6e30ceae8ad51ca3bf7a8ccc) >>
->> endobj
-814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.9897 280.8683 225.7794 291.3986]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.454 280.8683 369.6585 291.3986]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936af8a08f4943e38d19a2d06ad647e37729) >>
->> endobj
-816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [372.0992 280.8683 511.5056 291.3986]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a50069f21f8a038aa6bda4255c9e1e79c) >>
->> endobj
-817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 268.9131 243.912 279.4435]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggd7cbdacd9a5e2c068c25c12f47f8936a6ceb40deeaaaf0f057da97c1aaac0a3c) >>
->> endobj
-818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 229.6852 221.3364 240.5892]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.1072 229.6852 301.9236 240.5892]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97716123d48765236f5a4dc9b6589f3009a9) >>
->> endobj
-820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [304.9124 229.6852 381.6042 240.5892]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggb884929ad9e98d94cac675f7fe3e97713b313393fbe3b2f84daa5d5e440d5fc9) >>
->> endobj
-821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [138.5378 190.8309 210.278 201.7349]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 175.2643 171.803 185.7946]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8d1443a727b974ff807ec5bc5cd1dece) >>
->> endobj
-823 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.7918 175.2643 257.0929 185.7946]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b671181c4f0b106836b2bfa9c51d75464) >>
->> endobj
-824 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.0817 175.2643 295.3295 185.7946]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b7efe7873dcfccf876422dfa5f1fdc5a8) >>
->> endobj
-825 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [298.3183 175.2643 402.1983 185.7946]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b468e42a8760cc57fdc62aef53af8908e) >>
->> endobj
-826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 159.3241 193.382 169.8544]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ggccd1fa9f287c6fe48bd8dfd920a5397b8b42d305e53e64514a7f004b4e55f862) >>
->> endobj
-827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-785 0 obj <<
-/D [783 0 R /XYZ 90 757.9346 null]
->> endobj
-789 0 obj <<
-/D [783 0 R /XYZ 90 556.5046 null]
->> endobj
-782 0 obj <<
-/Font << /F65 229 0 R /F72 307 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-830 0 obj <<
-/Length 1851      
-/Filter /FlateDecode
->>
-stream
-xڽYmo�6��_�o�����b�u밮�����b+�VY�$yY���")S/��f
-4z9�=w��xG�%�d��2Ҍ�����{x�ジ�x�	��.�^K��HK*�ۻF�$HPB������
x�*���^~_�N�$��:-���B�����7���1�E0I��?~��=`z���i%��p�њ.
N������z��1�a��eK��4"��7cp&��4K�ε�ڕ�q
ܹz-h��G9b\�F��!�_]_��o�5ū��T�b�$�뤼[��wN��>��	2�J!I9oT��2b�jgT_�
�i��D��L���tp��$�����
���	��k��Cl�_��C�/�����'{�s>�;b��"�w�i�콤��V��i!l�B���"&���3�0W�M�f�.f_��1�uPX3�|�k}4��
��7�u�ŋ�n�%wI�&&��_��.PK�@D���ߌ�&äَ́�8�Nʉ|{Y
w"��#;���
-�B(�����~~��,�����6=
�Ą4���é�o3��6��"/�M��.β��Ӧ4�
��vHÌo�r��t��;��/��
j�_��Y�j��@1B\Ju���
�;a!X"�?�1@>R*��6�Ub�"GZA����yR޻W�\�Zc)g�y�:��~�;(#���|:.�Ԝ�RE1ҋxkW���#��7�d�^�a�"C���PG��1DDB����2��	u4p#�T WrK��VgSM�Ni��|����5�1>V'��&�m�F�V�CĴ�wٸk�;$GBD���R0�H1��}0�������!"����o�f�>T8\!/5g�'t��_fC)���6��	=ۗi���P
�UR @]�&����Rsf�B<������4E.�k�,�*&��
��I}�8M*t�i�9��-oL�H�K�H����
)�=G
/6O�@�q���	�nF����g�2c�����^c�~�1L )����K͙e
-�Y/���I�0h�""�E�@�W����.�Oe�v�� 6�ˇ$s����_43���g|��3
� ���hcZ�:F'�"Da>�͛��M�n}|Y�ezkJ��N�Z7�WR]��B�	*�b�T��x��]OŎ��T��
*�u�uHE	��
��d���v1��_RY�	�%�!M+��0uQ�a"L������g0
�$)��7�1��`������q4�?�\�c��db�=�1��үBZ
�=6
w7�I���@�|Y���YV���u�#�4K^���1RX\,���J�f
���s
�6��@h4
���A��,o��N��!ͩ?�@t�L���u�2�f��+�/Nڴ�g!/}S����$S��E��y��q��Ub���
\9,E�K:�G��?$eZW�"I!��Pj�R�l�t��"��kO�.��E�H#�T$�=��"�f`
���x��l��*�		������#�V���=��|/�ZC�n\
T
�%�
:!Fϖlu�r�.y^��<��W�bԽr�)Vn���Rc�59	D�R
�YP�)��{�C%l7d��
-��/�%�R
-����fl+	]�ݨ@���p�
�F�~�.F���2�j�|�����`w�> ��ЍNF������.[v��S����s�axe��	��˚/����ed�8"�>'b�5+
D���\����p{>����m�ߟ�~�����UI��Z����/q~�3��
l���j
�ݐ�i��'�L�a�Q�
vbj�~Z������}�	���)
-4�k��P��WW���hW�S�
K��W�cv���G¤��ZoZ���bq!ð;�X���P�MT� ��6|�m��� yh��Asl~���6�eqendstream
-endobj
-829 0 obj <<
-/Type /Page
-/Contents 830 0 R
-/Resources 828 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 852 0 R
-/Annots [ 838 0 R 840 0 R 842 0 R 845 0 R 847 0 R 849 0 R 850 0 R 851 0 R ]
->> endobj
-838 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 518.3137 172.8887 529.2176]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_b4470b84b8b57bae591239910d220c70) >>
->> endobj
-840 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.9153 480.0023 146.976 490.9063]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_133f3756e88145e6ff5bf3d1b41838d9) >>
->> endobj
-842 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.4882 441.691 136.6549 452.5949]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a3a5f10fed94188b162073ef8efff393) >>
->> endobj
-845 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [122.4882 361.7158 137.2129 372.6197]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_d35d7381bcd3c4cf029d4b76bb6545b8) >>
->> endobj
-847 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 161.7356 276.6582 172.6395]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-849 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 86.2883 184.6511 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_1c91471f55b22735023d37417f0bef70) >>
->> endobj
-850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.6335 86.2883 304.0224 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g16616f4113ae69d86cdaf2b7b10cc0d6) >>
->> endobj
-851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-831 0 obj <<
-/D [829 0 R /XYZ 90 757.9346 null]
->> endobj
-832 0 obj <<
-/D [829 0 R /XYZ 90 733.028 null]
->> endobj
-66 0 obj <<
-/D [829 0 R /XYZ 90 651.5331 null]
->> endobj
-495 0 obj <<
-/D [829 0 R /XYZ 90 619.6046 null]
->> endobj
-70 0 obj <<
-/D [829 0 R /XYZ 90 619.6046 null]
->> endobj
-836 0 obj <<
-/D [829 0 R /XYZ 90 537.0161 null]
->> endobj
-837 0 obj <<
-/D [829 0 R /XYZ 90 537.0161 null]
->> endobj
-839 0 obj <<
-/D [829 0 R /XYZ 90 498.8242 null]
->> endobj
-841 0 obj <<
-/D [829 0 R /XYZ 90 460.5128 null]
->> endobj
-843 0 obj <<
-/D [829 0 R /XYZ 90 378.5152 null]
->> endobj
-844 0 obj <<
-/D [829 0 R /XYZ 90 378.5152 null]
->> endobj
-846 0 obj <<
-/D [829 0 R /XYZ 90 324.9115 null]
->> endobj
-496 0 obj <<
-/D [829 0 R /XYZ 90 231.764 null]
->> endobj
-74 0 obj <<
-/D [829 0 R /XYZ 90 224.3222 null]
->> endobj
-848 0 obj <<
-/D [829 0 R /XYZ 90 126.0941 null]
->> endobj
-828 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F23 835 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-856 0 obj <<
-/Length 3282      
-/Filter /FlateDecode
->>
-stream
-x��[Y��~�_��HU+,n�N*��]qb{�<�.G�̰�k)j&�_�q
/�0��CjkG�������8Df��Y�gJ(�1.g��
�=��on�{���˶��ۛ�_K1�P&����7$A�:���4'�Œ`��Ǽ���a��Xl�|�-謁z����
�������a�XR�����d/,��Y�_��)B�
/~����Ϸ�k�`���n~��6Вoo0b��g���2:��p�����Ǜ�=�A�˜#XF�"�+����G�C�k
�c*�j
-*eK��G�i��ƣ��
%�� f���\n7�5���
"���s��{{�Ep���~n�]�?�p|ݨ:F�B���Ɗtp	�T�9��B	���t" ��
���)�T�l܋�#�/b�4'�q)h+.	�Q�gA����R1����Vط�Q�	��͝��=����J�3���:� +\��
�`��9�u�2H��k���,��n��d=����ē�{ZSͧ���D�T�<�D��h?�� SM�)i��I� 61��Ǽ�W�S�>
_%�p���嘺��:�RiĀP'Q���&(@J��:AA,Im�S) Ήu�]E1�-
-H����M��f�����z5D��Jq�:�_R��
,
�4����@�Oa�m|p�
�M����_V� �!b�"�%��"H%p0�hT&{i���s��g�O�Ɩ�7z��:7�WR$��6� ��#	̥D&�
�9T�ٗ������� �&ɖ��$�I���:��`l�d�| Ɏob$�1{I&���Z�؟�*/����˩.v���T�q�jHAk��>��R���4Ij�1��������Ca/N�ŝyԺ�����i�&(������ a�ٗ�	
�`���	/�扖��<�y���:��`l�D�|��ob<�1{O$���:�x��f��O(�2��.�B	@
����q�Z���),�R!	/��r���(?�RF�燇Q���bO�P
-���	&d�JĒ�V8��Rv]�w���\P12
��Ys,78���=8���˧�
�d�UQ
YA�w��J��`�u��`�x2
-�*&ecKG,
���c�-�S�3r��Ղ�yq:�������������Sl�ͻ��R�*�1�
��c9�d�zA2���ƃ8
:(��.�n��&���!�.r�xm>��5�`$}93������'ft��C�6��
-vAC�!��q�,o�l|�?P@{-D���P��yW<�M�g��	�.�IA�kU�����XTy��wͫU
��ť��S�i� 3ǽ��m��`bP�$�%���^?��������B�	}�e�'���z��8���e~c�ɣ3n���*��5O<�f�i *�qhA�{'�"�bi<Ѵ
^!l�!��rm�r��]QW� ZW屶 �Ʃ�+��-
[6I:=
û��D��e�#
�3?
j�Mk��\\��l:<4߄��B�\y{�T�Ƽ�~e=�d��fY�z�4b�Rϔ*������X���!߇�2A�]C����������i���U1sЧ0�+�◌ϋz��
h����@���e!��!��X�5N�Pq��E'JFŽq�삟q�������w��~-���
t�m@�[�$���oz��aC�vo��0���0��pH�b,����@���~y~���q��Ӈse������vV
C�K����?
'x�ߨ�
jB����]�����Y7��6�f�_�{m��ړqH��[�e��r�/�iOe�
R�?ץ���7{�����x妧�byh�ߟ��'u��J&���X��
b��/f�s��	pN����a�7az�0劉]� �|�}E�u�V�
�j�>T[G�J
bfM��W���� ���(�>�����
�����8�!��ZM���Tg���H"�X�!mm��\K�\[�ԔK�sb
lW�\
c+��}�u}s)���}�ݦ�"�����؆z����Ɍ����T�P��~�|ƾ�q�'��:"\���E�NPf�/�_�a�8V)2�bi2j)�LFqp���خ#��6��2��&�<�5�^
N��im�U��N�/�"A�'q�*���.���0L	 
��/-
1~�b��
-����S���$��`�h�Ô�$���Χ,6!�)kM��2�xb�)����V
�o���a��Pΰ"��L[,�gA,�gq�a5;a�QU���j���-��PY2�C�'��5�k���ǢZ�
���
-��a�*�W�z����~�e�qW�$�5�Ld�.�Usn%���)A>�`�75�0�!fv��
�R)����d��j�4ᓶ��:"��
����%ᖶ�`6v�&����M��L&V�9T�8
+���=��iSW\��4��}{S0Pv9�t����m��F~�ZPF
7�(<�rE�vE]���
������_,9v)��<#� �
�n��Lh;;�Ϸ�Q��99�Z6_wB���cRs.�����u��F�R�T+
��un������_W���0��y��K��
P`(&�������b	ĥ����c
vCj�b�J�%PVc)�vO����@c�}�]*�넴M)P�z��{��]��"/�j�@o���f���~
R	�Cmnm�gr��`�5�1�|.*��0t%�&�����p
-S�+]��-h5���ȫ��l!��Й<~�,�� ���q�����(�3�`�K����O"������`�Gx&.�7��
f8�s�
q�/l�{�e[l$�a��`v�9x�fx����|�g5r��ɧ��&s�A�$�Q����}ʠ����O�%̓ � 2
Fb�.���=�7^�s�*c���c���ř ք�B�|�%��D�^
&�.�?�
�f�A���siv�Z�������P�9TJ���(y�Im&jl��Z:F�c�\!�8������
׎�fH�_
����8�%G��ב8a׏�
��uhI�
J{x.绗O!�t��>ߖ�
]�����_�T�:$9�{��q�蒏X�
5L�ؖ�X�{����K�٬�q�?�7̻ڮ���#<�p=闷M�JÁ�������`b�����_V��i�s�t~Lr_�fnl�|��Dz2�����s��T�e_ս�|�n��TT�3G\~���~/���M��a&h
v�:(�8<��
$4�oN�S��י��k��
���QU�A��M�u}������g�>��<V���
�۷��
-�ar���_�y��Ngq!�ώ�X���w����x��R��ؖU�
$w���AD
OF��� �endstream
-endobj
-855 0 obj <<
-/Type /Page
-/Contents 856 0 R
-/Resources 854 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 852 0 R
-/Annots [ 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 869 0 R 871 0 R 872 0 R 873 0 R 874 0 R 875 0 R 876 0 R 877 0 R 879 0 R 880 0 R 881 0 R 882 0 R 883 0 R 886 0 R 887 0 R ]
->> endobj
-859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 698.6885 184.6511 709.5924]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_509185b3d326e5d4496fbe8953b82f88) >>
->> endobj
-860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.4667 698.6885 248.023 709.5924]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 664.6027 184.6511 675.5067]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_5491f9cbaf4f0215196fc05ce17eaec9) >>
->> endobj
-862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.4667 664.6027 248.023 675.5067]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.8363 664.6027 333.3024 675.5067]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 631.1215 184.6511 642.0254]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_d008d79cb35b51e7dfbee0dcc3741dc3) >>
->> endobj
-865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.4667 631.1215 266.2938 642.0254]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 597.6403 184.6511 608.5442]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_bf571357a5156e495293957a44145a9b) >>
->> endobj
-867 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.4667 597.6403 272.9193 608.5442]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 564.5327 189.0146 575.063]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_173c08eeeb4a96b0060d5f023e4ba4a6) >>
->> endobj
-871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 424.6545 184.6511 435.5584]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_558341813be1d1bf607bf1c50e6e1ba3) >>
->> endobj
-872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 390.5688 184.6511 401.4727]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_a37dcee4fa14c58b76c8d3c4227849e8) >>
->> endobj
-873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.2223 390.5688 347.6884 401.4727]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g0cd3c405aa537a001f59e642f2acddd3) >>
->> endobj
-874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 357.0876 184.6511 367.9915]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_e79d42cfe6b21bcf264fd9ea84e78fb2) >>
->> endobj
-875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.4667 357.0876 264.6103 367.9915]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 289.9185 306.9415 300.8225]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_3665335e295bd7c05eeca13be606616f) >>
->> endobj
-877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.7572 289.9185 370.3135 300.8225]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.9047 202.2023 255.461 213.1062]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [427.8587 202.2023 491.28 213.1062]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_ef6bc45c4726c7fb386547c6ec104cf5) >>
->> endobj
-881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0599 202.2023 513.9963 213.1062]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-882 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 190.2471 161.8403 201.151]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-883 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.3011 190.2471 231.8574 201.151]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-886 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3559 111.8708 191.678 122.4011]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron_1f026c17289bb2174eaec0d61a4a2e67) >>
->> endobj
-887 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-857 0 obj <<
-/D [855 0 R /XYZ 90 757.9346 null]
->> endobj
-858 0 obj <<
-/D [855 0 R /XYZ 90 715.0952 null]
->> endobj
-868 0 obj <<
-/D [855 0 R /XYZ 90 580.5659 null]
->> endobj
-870 0 obj <<
-/D [855 0 R /XYZ 90 439.0239 null]
->> endobj
-878 0 obj <<
-/D [855 0 R /XYZ 90 220.4821 null]
->> endobj
-884 0 obj <<
-/D [855 0 R /XYZ 90 129.777 null]
->> endobj
-885 0 obj <<
-/D [855 0 R /XYZ 90 129.777 null]
->> endobj
-854 0 obj <<
-/Font << /F65 229 0 R /F72 307 0 R /F67 238 0 R /F52 213 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-897 0 obj <<
-/Length 1774      
-/Filter /FlateDecode
->>
-stream
-x��YYo�F~ׯ�SK�zo��Sn$m�4Q�4hj%�H�����w�˥HjmٰS(
��g�����b�#�O��q9M�<]��W�.����	��'/��F(�TN竆�$HPB���'�`Dg>�{���Ƌ]�
6jYƋ,�*��py�l�~F��.�H��̧{ϲ�����R͚�
Y@��������ż��@0I���L>}��%h�f��B1���H��v�)����䏎�Yh>pBvKP����"�-��:N3�4�=WUR��:�A�������)G�G����|S`�b�&q�
̫$+*�2V
{_gDxJ��f�[�92[
d��A\2~ٺ�Y�Wu�O�4�~��~^$����تsT���v��,n
���78+��+d=�	�A�h	��9�B�[�_f~(	��V��x��k�x�)�������
G�	BP$��ԗ4w��� �c����龥�I�$��!O�i�l"6�\ͨ��x;�<+s]��@աL}���X
�h �@QȖ�����"̙��z��!DB
-k�m[P�B�Ö(��la������_.>
-����N �7�ܴ6�qC"�%��.�Z�v��:�2sw�
����ï`Q¼x��i�`
���ֆf���җ}��M\��o�Jl
ʈO}0#��}�0"<l�ȹ|
-|N 4����V�IY�3�b$z�b�³b��Է�>,L�?�.��[�I��k_����-6��e��z��.
~���ޡ
FG�b�YK�6i����F��0
��\#�l�m��m'#U��u�����(���� ��c�	>-A�����i^/>
�Zm]	=�dA��!2$�(
� ��j84
���UYl-ZTF�AN:]��2�
}�P��P�\"F�
-ƒ�|�` ����c5vq��E�f8S��T2rO
�y�� Q�wt%�'�˽n1o�^�TK��d�a����s<J��;�Z���a�ǚ
����N7�=�
@��U��A�%4D.�G��A߻w�Ӻ{#�\j�P�
��G�}�n ��
-8ơ%Q4���Ι	��@
+��*�/mĤ���N�*N�~
�
�6qu�5/�ig�� Rxw����ѯT�dEy[{ U]�Bc�=�<�
���b�_�k���;�(`b��]��鏗�׏�
�g�ҷj{�Z|���I�	vː���tC�
ub�����\J�(2�����v�\\�|���
�HW
��g+M?G��H��P��]K�M�tϔq�Z#����pӨan]̭�����V�z���N����?��'�AD��d�P��q�����
ԛk�l��Z
�±q$�/珮dau���T��1�������pB
-m��R�
@N(�͖�
�Y!-�3�)�>9���5#�4~��tL
-�C�&8B
ZH3����f
Z]�w&X'@ر�X�n����7�]���� Dϰƒ"�#�TMH�1k���œҔ�E'�XxJ#$`���
�XC��yQ�l_���,������
2���Y at sL��9�J�
y�b\����
-t�c�2�
#}A�Ŝ�x
����A���
����V������[!��N+:���� ���M0ob���j���8_��u��u^�r�
LWN��T��L��Ƿq��}��	v���5�딎�,{�[��O��mjV�L��oG�t��/L
=���f���������%���Di}��ec��n�5\n����2p�<1�D_���t��)�-�l�|8�T�4�m��@Q����_���_endstream
-endobj
-896 0 obj <<
-/Type /Page
-/Contents 897 0 R
-/Resources 895 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 852 0 R
-/Annots [ 909 0 R 910 0 R ]
->> endobj
-909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 86.4128 230.651 97.282]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-910 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-898 0 obj <<
-/D [896 0 R /XYZ 90 757.9346 null]
->> endobj
-899 0 obj <<
-/D [896 0 R /XYZ 90 733.028 null]
->> endobj
-900 0 obj <<
-/D [896 0 R /XYZ 90 682.7203 null]
->> endobj
-853 0 obj <<
-/D [896 0 R /XYZ 90 660.4085 null]
->> endobj
-901 0 obj <<
-/D [896 0 R /XYZ 90 660.4085 null]
->> endobj
-888 0 obj <<
-/D [896 0 R /XYZ 90 583.7446 null]
->> endobj
-902 0 obj <<
-/D [896 0 R /XYZ 90 569.9055 null]
->> endobj
-889 0 obj <<
-/D [896 0 R /XYZ 240.2453 505.0772 null]
->> endobj
-903 0 obj <<
-/D [896 0 R /XYZ 90 489.0813 null]
->> endobj
-890 0 obj <<
-/D [896 0 R /XYZ 332.7973 438.365 null]
->> endobj
-904 0 obj <<
-/D [896 0 R /XYZ 90 422.3691 null]
->> endobj
-891 0 obj <<
-/D [896 0 R /XYZ 338.7749 371.6528 null]
->> endobj
-905 0 obj <<
-/D [896 0 R /XYZ 90 355.6569 null]
->> endobj
-892 0 obj <<
-/D [896 0 R /XYZ 461.2144 292.9855 null]
->> endobj
-906 0 obj <<
-/D [896 0 R /XYZ 90 276.9896 null]
->> endobj
-907 0 obj <<
-/D [896 0 R /XYZ 90 210.2774 null]
->> endobj
-893 0 obj <<
-/D [896 0 R /XYZ 90 187.9656 null]
->> endobj
-908 0 obj <<
-/D [896 0 R /XYZ 90 187.9656 null]
->> endobj
-895 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F83 715 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-913 0 obj <<
-/Length 2339      
-/Filter /FlateDecode
->>
-stream
-xڵZms۸��_�o�f"� �Ng���4�����)���2e3G�:�����
�@�u~�����}���b�`�G&O�PH3.'���������
���o���?H1�HK*'W�V�$HPB'W�_�#6���t�V��zS���m�^�M�V���l�+�t�g�f6�O�i]����2�f$�f�E�ed�����dz^u�
t�$1�~?��
On�>����|��hM'�3N��P�}9�o��~�>0�A�).�
a)�wE
Q熺I�|1�kE�k��<�a���Ks��y����	M�L ��oV�g\!œ�	����Q<u
7>,�o ƌ�&_7u�81c�!�̍_~zv e����� �8��IX̍�d���Rt���X��
���(�u�Vנ�ɛ
�W��_����',�ưB�%ʃ�ϑN�GޣJ���	��'�
-�����r�dT 3�D#�P��ds뫥�7���=y
-n���V8%��K���!s���iLN�!o�mvVY��.k�r at 5Tµ�{��Z ��g�� D"���aS�S�
X )�U�B|��
R"Q��:�7�{��5�����
n_�;��v���>k��ڕ��=j2��*o��
"���퓻:ѓ��.\�������A9!$9Z�C�����
�����R�R�o�`x�B9�Z���#E g��}�Z�U�
8�s��n�k�(����)��OR��&Y/�:4/�Hq<h�@,h^l<h1�A���
	Zh�B��һ��lb�|��mS���j
��|*
-��=��
-
�oU�˸��v�n���Y
�@�����@T�Hu���)Qڰ�cQ
"Q��F�����]՞�6F��)ts�PB��iaon�m����D��#A�e�x^
`���%�hm`.:
;
�
-1�ЊtV�� 
-}���gT��ML����rDp�#��� ��
���Ha�"忧*�w^�͖�uR+�o"�lk8x'������WG�#��WB�yji3��_�GB ,*�Юc���r�]��-��g���ݼ�.Ⱦ\�e�J��6H�~
Y�EQ�>��;{��"Ev1���pN��i��ԋ��i�b��q�]��v?�M�o��q�\��������6�=5
�㚴�[;�@SJ�R`"�z�yo����l���O]^~rL �sg 
4ݠ�	o���MaF2�����&s���ڶz�
-
�QSr�
-�@�
-��(b�)���ܩ��W�C�x"���r=t��]{ U$0��o���@bB[=ir?.�ݥ�&i����m�fRxw�za3��C
-B��Rr[�4�
-��N� |�͋�~o�R���i�
֌�b-�eWǭD�4d��t�LK�	���{��t/?Jr����GH��N�:ɗ y�,B�
��I
C�#�O򾃀�E�W�"�r&D(��ay�#��N�	,�
b9����eOg�0�k�
&HJ�
#�;a��$_�䁲�Ct��<�4 y
BG򞃀�o���m��;���D�:6R��g�=��{��
�uh���r��f��Z�&�1$��KG��V�q��|��b�ѝN�Ҁ�q
�{�i�nΨcL�#N8{�C
�wb���j���`����*u�0Ռ�)L�퟽)3_d	
�0�w�u�����4,^s]��b>�#^j4Eu�ΐ84/B;9?"0w��ﳣ�H���#���������i=��)N��LD߿�#�iQ�S"XD�� H<k��i�U+t�l
��vZ$FTu
����1�xxz|�̥
-InW�X�z���
F�iF�vy��k��R�D(���x�x�1,z��ά�á�
-\SwH'5��p'0r��"�+}��zV�:b���
���^�
������
-�y�8� 2c��*n�6S�B��Fs���pz�
��r R#!(�6�q[�&�
���>�U�iW����?��O{hjv�	m�����q�
�@�b
1TH(?ID�������e_�i���!���>���x�S�6���@�'^���D��Li��i��أw��I�>ë����}�v�i?���~��V��m
��m�K
{�j�c���
��/@������O�u�T���ʛ��~Y�{'v�;�/�h�
��Y<1��<y֯��	�B���Nf��Z�7
D���Dc���K�mn?~�{����pg�~����Se�s�l�A������L��s���z�{tSO�VUw�9�
�g4�/�d��8��D�O�M��O���
�O��❃��M��8?xx@�m���Bys������9N2	���:��
&mIzX��UY��5���
-�Ŗ��$W��s at E�3�|�O���endstream
-endobj
-912 0 obj <<
-/Type /Page
-/Contents 913 0 R
-/Resources 911 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 852 0 R
-/Annots [ 918 0 R 920 0 R 922 0 R 923 0 R 925 0 R 926 0 R 928 0 R 930 0 R 931 0 R ]
->> endobj
-918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 419.1416 159.9272 429.672]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_ac1766c4ad4a4697f6f9d4a92b200cb2) >>
->> endobj
-920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 379.9137 159.9272 390.8177]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_ffb4611ad564f09455819718964b6e80) >>
->> endobj
-922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 341.0595 159.9272 351.9634]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_4445a4d60c39e32b6f6d3e2dcb901e55) >>
->> endobj
-923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 302.2052 159.9272 313.1091]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_7c968f7ba606e8b99863ae8cdef3c686) >>
->> endobj
-925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 263.7245 159.9272 274.2548]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_2ae111e41ccba8a228746939bb1c595f) >>
->> endobj
-926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.7429 263.7245 209.7597 274.2548]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.8614 224.4966 215.4885 235.4005]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient_aff569442866d78436e19428b4cb8e75) >>
->> endobj
-930 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [154.2246 124.4255 200.2415 135.3295]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-931 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-914 0 obj <<
-/D [912 0 R /XYZ 90 757.9346 null]
->> endobj
-894 0 obj <<
-/D [912 0 R /XYZ 90 733.028 null]
->> endobj
-915 0 obj <<
-/D [912 0 R /XYZ 90 733.028 null]
->> endobj
-497 0 obj <<
-/D [912 0 R /XYZ 90 525.1902 null]
->> endobj
-78 0 obj <<
-/D [912 0 R /XYZ 90 518.59 null]
->> endobj
-916 0 obj <<
-/D [912 0 R /XYZ 90 437.7419 null]
->> endobj
-917 0 obj <<
-/D [912 0 R /XYZ 90 437.7419 null]
->> endobj
-919 0 obj <<
-/D [912 0 R /XYZ 90 399.0071 null]
->> endobj
-921 0 obj <<
-/D [912 0 R /XYZ 90 360.1528 null]
->> endobj
-924 0 obj <<
-/D [912 0 R /XYZ 90 282.4442 null]
->> endobj
-927 0 obj <<
-/D [912 0 R /XYZ 90 243.5899 null]
->> endobj
-929 0 obj <<
-/D [912 0 R /XYZ 90 187.1765 null]
->> endobj
-911 0 obj <<
-/Font << /F65 229 0 R /F11 265 0 R /F83 715 0 R /F67 238 0 R /F52 213 0 R /F72 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-935 0 obj <<
-/Length 2207      
-/Filter /FlateDecode
->>
-stream
-xڵZKs�F��W�%+�h�U�����:�Rl��q� ���-�ߧ3�E�T̖"�F�7��u�̘�0�#3�gJ(d��������_�x	ϗm��n/.���d$���M�A$(�����9��/�c<L�m��q�������s�ݕI�����]q_
�b�.�T���<������&-D��S¥s��n�]��m�y܂Iba����'<[�w1���	�`D�����,|�/>\���q�Ɩ/{��)CX
-���
����v�[�w�ϛ�����M�*��]a�
-旔#�
iiE$��t��t����Wg�,�̊{k��Z��b�aHhX���Hg�
iKu��xՒ!iJ���Y�gE��	
-�\2l�
�L������Y��	��?+Xɂ�yo5�r�u���L�t�m��})��2�7��ˊȔ�9gݕw�
-d��^ �3R
��V3��Z��)-�R�a�@� )NUm��U�hW����&�"�(5> �HQt��`�a�����|MP�����.-�
-�w��U��
-��b�7��V'
Th$��]X�����S�f$Ȝ"&����F\j�ֻ�'a��BB*eE'5�Z�I����W'
�rMn��0��B�vj���P'���#Z
K�ӂ ��>-�2���I~lvy�\ek��	����H�\�]�
mm�a���3͏z�A��0�)0m����%
,e���~
A_�
lj
T/#@��O��Y2�����7��^��޲%4)�,���H����
-�]b�
��l�^�5��u��Ū.'#a C�鰷&�ވE�>eb�����3�Ky��o'Gz
]��k��QB{�Pp&��HŬKa���
t�]���=����ţ�{Z��_�������V���!�	�vA� �\"���BH��C�z�����g��1�`��<h�" �Ѕ��H��

�"���y��� 
���
��BE��b �A��
�m�+��TJ:��H�0b�H����u��PV�
��m
5(�����k�P����GS���:�ž�MW��qy
��H+�1�~�H��
u�e
���A��%)��\��1
0�̏39�� ���G���Btз
Q�a
S�	��"�M`��,܄�CM��^
*"E(4c"N7"�Pv#�(��QK����۴���F:˭�
"�>�[�~�'�z��f����1\�W�GA1�:���>i�"���v��Kl�N���R�Ydo�"{����{�$7�/���l_���/wǭGی��0�9�ԃ��V� �
��
-C��,�
U��i0e�`��4n�quW��fc�o����P�c#$̯��N2�-0��F,��)�/
!#�\]�wغF&�R�As
�$�SG�:H���!?
�F�@�S9
<���ĥu��3���z��"�l�:專@�����I*1�%3��U�t���eח��z���3�O�I%
-U[0�OR�-0A�F,J�)�/�R]�렋��`�S�Pk.�8TC���1�A�5�'GTc�
d �g��yd�΄�:£F�ã�I~HO�(O7���!)|��g�t����-��?��(�SeΞ �i�w��"F� 'OK���Fא���䙀�r�LCm�ӆZ��GS-'�Y�H)��
-Ũ��'�=�<ev��b�P���9�Q�`��b�,�t�67��P�9m.�ޤU��a`|��We���:��<�o�+#7�
-����RO��!l�YJ#M��#-agK� �l�0����nj�J{�Lz8��� �n���qd�z�=HF��*�f���
?vA@����>(n=�(�A*Z[��
7�}�z�d�m��

�/��H�63��?���Bx�PL�� !������
>ϡ���6�9[�ؓ�%"�8\3�[�
`�F��
-㙗
p{��O��%�^��ۏ�!�vSA2bP  d


���f#�`&��(�mT�4̌)ӝ�V�T[��#�'�»��ps��#DX�9^,9��C2
�:�9��;$��*>8#�ߝ�
$�(��
#\��j~I�`��l���n��4��%�7W�k��r_qwX�˻�
�{���f��Jˍ������O�-���b�kR
�}���;�*�́	��>B�%E�Amd����w}��9
�~nO��e�
׾��nz��ǫ�˧�'�ڣC�=�(�.��>..86%&b�l�X:��B���6���w�+Sw{̤���W��<+6�
|�dn����e���;�endstream
-endobj
-934 0 obj <<
-/Type /Page
-/Contents 935 0 R
-/Resources 933 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 852 0 R
-/Annots [ 941 0 R 942 0 R 943 0 R 944 0 R 952 0 R 955 0 R 956 0 R 959 0 R 960 0 R 962 0 R 963 0 R 965 0 R 978 0 R ]
->> endobj
-941 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 465.757 164.0421 476.661]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_71cf9ab9ae4f184bf520137a8209ff3e) >>
->> endobj
-942 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.8577 465.757 245.1073 476.661]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-943 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.9914 465.757 337.241 476.661]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-944 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [352.1251 465.757 398.142 476.661]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-952 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 426.9027 201.3017 437.8067]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_1a974f4ed60693790cec91f324a85b05) >>
->> endobj
-955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 348.1975 159.9272 357.0442]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-956 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.4254 348.1975 196.7389 357.0442]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_7622929270f419e884d16cec2fc172b5) >>
->> endobj
-959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 265.3777 191.16 276.2816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 265.3777 205.2768 276.2816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_637fe9105c9bc0b2722544d16453e87c) >>
->> endobj
-962 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 226.5234 191.16 237.4274]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-963 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 226.5234 205.8248 237.4274]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence_240b9d144edd0d6dca5cb42904f9b279) >>
->> endobj
-965 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 126.4524 227.9514 137.3563]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-936 0 obj <<
-/D [934 0 R /XYZ 90 757.9346 null]
->> endobj
-937 0 obj <<
-/D [934 0 R /XYZ 90 733.028 null]
->> endobj
-932 0 obj <<
-/D [934 0 R /XYZ 90 716.2211 null]
->> endobj
-938 0 obj <<
-/D [934 0 R /XYZ 90 716.2211 null]
->> endobj
-498 0 obj <<
-/D [934 0 R /XYZ 90 572.1791 null]
->> endobj
-82 0 obj <<
-/D [934 0 R /XYZ 90 565.579 null]
->> endobj
-939 0 obj <<
-/D [934 0 R /XYZ 90 484.7309 null]
->> endobj
-940 0 obj <<
-/D [934 0 R /XYZ 90 484.7309 null]
->> endobj
-951 0 obj <<
-/D [934 0 R /XYZ 90 445.996 null]
->> endobj
-953 0 obj <<
-/D [934 0 R /XYZ 90 365.1141 null]
->> endobj
-954 0 obj <<
-/D [934 0 R /XYZ 90 365.1141 null]
->> endobj
-957 0 obj <<
-/D [934 0 R /XYZ 90 282.4486 null]
->> endobj
-958 0 obj <<
-/D [934 0 R /XYZ 90 282.4486 null]
->> endobj
-961 0 obj <<
-/D [934 0 R /XYZ 90 245.6167 null]
->> endobj
-964 0 obj <<
-/D [934 0 R /XYZ 90 189.2033 null]
->> endobj
-933 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F67 238 0 R /F52 213 0 R /F72 307 0 R /F90 947 0 R /F84 950 0 R /F8 311 0 R /F1 968 0 R /F10 971 0 R /F13 974 0 R /F7 977 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-981 0 obj <<
-/Length 2457      
-/Filter /FlateDecode
->>
-stream
-x��Z[s�6~����J��;��m��Ͷ3����v<�D�l)R%�:��{@�xaW��N&c�<<�p���Y`�G/"!͸\l�Wx� ��yE��5<_���^]��b���T.nw�I���.n�?/	Fb�&��!.��ݡȞ�m�e�}��77��CyL�Mr�鹪��jM^~��Ue/?&��\�4B������~�}��m���L��ŋ-l��FL+�x���b�)k?dW�������� �0��3P���1��cR&��;B<9!�@�����
�(�N k0&��cb.�r�J���/v��{.��!�$o&�%T��<r�c'��)#"�`�5A\snן (��-|�!�4���pa�dS$��_0��4�k+g���Y\��}6e2�E:�'�K�t:C���=�)SI�9o]t?�<H"r�E�ͧ�c�6jk�)���i!,c��C�'��h��̤ܛ�h��	|J���[~?��P�=�����O����
���
� [...]
-�C*�Xs�#��!g�
�� y��r�I�#M�`��w6�<�(��6��R&X,)i�z/�}E)�ZE��I&X��H+���3AO[C'���u��- ��������U����L̽ ��:���6��7��LF>D���ԯ�
A:j�1(�@�
�+
��핽�����P����
E�)�%���ӭ[����r��s(���}Ȧ4�(��BkCm�w�"��#��:���en튲�V
as*�O+
�&/�q�8|���,�+��0��)��-Sd��f�U�B@Ҟ�t|�q�'X"�?�iHM��E0�E��]��
-�
��X����

-���;�UԺ
:��˜��@B�"�^�6�9ܬθ���[s�2��C�B�.z��tTkr��>K7�͟��}�����Z5��)
���/0��N,����'��l�<3w���%��C�Z�
���Pu��*F���B �FJDl`",0�'c3E��PIV�i�iB^�f��¦k_�:\��(I�m��GZ��2��&����]�Uuy��Ey�d�{êc�m]��.�%���%^Ǔ;�mIvz��Y�aH�
-��X�В)�C�܊�c�S8���vQꯛCy0��Oӗ����.MJ��
-r��`�y���!\#�W]L���E,��M:���S�IB��0D��K8���L'fp}L�c�W���Fj�����`�T��_�
�
4�k������>j�,��vgy�#���('��

f8��j("���M�8��f�mRm����~�,�זE�m����ms@���oɦv�;��
��5XC�)j�(�
�A.��k��	.��Q)L��8CR�R-#HH=vZ�&p͟�޾�<{��T�e��.�{{�i�
�m=P�]�4�$r�z���c@��\0M�:
-�N~�0�|�z����j�cH�V*��H[Ge�[
��S�
-q�����
�T�N,XygW<U���m��;b�_&�
�	�q��_h���<�]��x����@{_��W+(���|@�3щbn�W�t�\���Q΀�P<�q�I�V�20
�F㾐"J�~����
�|�H�A�cxw?|6����Z�"ĕ��V� (��ڛ
�,!oF�
-��^j�N>�`����Y��!u��l�Q�T���:� �( (��zޏ� 
�˗���a�}Q4pNP��@4tR�s{�=�:7.P�d��_�̸ЉX���?h�I�T
-v劋eW����o���v���\lk}Z?�ǑC�IM�n+�}'󺇪	سc�DK8���9̚�D,%�
�_��%!����
� $��@�9�q��0TM���61���A͒]}��ۻ*�&�
J#��N*� |�
"M�DD������1C�Nl4�w���2Fs
2����a�"�җL�44Փ#���k�
-
c���؊���)�����:>��^������<Ԏ�>�2}x�%$t��[�  
-C(���_DGn�R��+�:��؊��cc�W��k���)t�@ƿ&	
�*�EL+f�I��d���qу蓉��(
�0J
2-a e+��=�?7�ts`�g��sn'4�(��i&���B̃:"���x's�sR3�;�EαΜc̾� u�H�
H�'��0�a���~Eg�C�����~O?1_�j$���8P�]��=<��'H��{�|�>��c��T�+��rל�mܭ�VI���K�ҟ��g�9���k���
k��~�)�$ÚP�v;�M����տ}'����
�7<#��L�u}���~zzB�
-
��P���>
��Ѩ)8�p=\�I�a�9�CIeX�
���u_��d�Lō��}R��]���!�(���)'��d��Kendstream
-endobj
-980 0 obj <<
-/Type /Page
-/Contents 981 0 R
-/Resources 979 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 852 0 R
-/Annots [ 985 0 R 987 0 R 989 0 R 990 0 R 993 0 R 994 0 R 995 0 R 996 0 R 998 0 R 999 0 R 1001 0 R 1002 0 R 1004 0 R 1005 0 R 1006 0 R ]
->> endobj
-985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 539.3871 198.3629 550.291]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_392557cee71bc7b2eb23f07a9d788062) >>
->> endobj
-987 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 500.5328 201.3017 511.4367]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System_6b7400f7e25b1bb473b2fc16c0c90b32) >>
->> endobj
-989 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [181.9103 400.4618 266.3628 411.3657]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-990 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [110.8613 388.5066 160.993 399.4106]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 231.8918 157.4166 242.7957]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_0b1d26f53dd99cfe4e2f8a4fc3e8b5d3) >>
->> endobj
-994 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [161.2322 231.8918 238.4818 242.7957]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-995 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.1355 231.8918 327.8756 242.7957]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-996 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [365.4543 231.8918 442.7039 242.7957]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-998 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 193.0375 191.16 203.9414]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 193.0375 252.31 203.9414]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_e62d06b1c82e9d9f4f12bbb3c6f4bcae) >>
->> endobj
-1001 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 154.1832 191.16 165.0871]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1002 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 154.1832 257.8493 165.0871]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_148544cb9ef5bf6b9a60ee56655bff26) >>
->> endobj
-1004 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 115.3289 185.6505 126.2328]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1005 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [186.1487 115.3289 205.8547 126.2328]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_dc27929d7731cdc3beeba475147e3127) >>
->> endobj
-1006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-982 0 obj <<
-/D [980 0 R /XYZ 90 757.9346 null]
->> endobj
-499 0 obj <<
-/D [980 0 R /XYZ 90 645.8092 null]
->> endobj
-86 0 obj <<
-/D [980 0 R /XYZ 90 639.209 null]
->> endobj
-983 0 obj <<
-/D [980 0 R /XYZ 90 558.3609 null]
->> endobj
-984 0 obj <<
-/D [980 0 R /XYZ 90 558.3609 null]
->> endobj
-986 0 obj <<
-/D [980 0 R /XYZ 90 519.6261 null]
->> endobj
-988 0 obj <<
-/D [980 0 R /XYZ 90 463.2127 null]
->> endobj
-500 0 obj <<
-/D [980 0 R /XYZ 90 338.3139 null]
->> endobj
-90 0 obj <<
-/D [980 0 R /XYZ 90 331.7137 null]
->> endobj
-991 0 obj <<
-/D [980 0 R /XYZ 90 250.8656 null]
->> endobj
-992 0 obj <<
-/D [980 0 R /XYZ 90 250.8656 null]
->> endobj
-997 0 obj <<
-/D [980 0 R /XYZ 90 212.1308 null]
->> endobj
-1000 0 obj <<
-/D [980 0 R /XYZ 90 173.2765 null]
->> endobj
-1003 0 obj <<
-/D [980 0 R /XYZ 90 134.4222 null]
->> endobj
-979 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F11 265 0 R /F10 971 0 R /F8 311 0 R /F1 968 0 R /F13 974 0 R /F7 977 0 R /F25 216 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1009 0 obj <<
-/Length 1701      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�6~����l`fx)*{ښvX�]�=�E�8t�N�<I^��CQ��{��@Q���\�sW����B�<@!�;��w�]����o]�_�Vgo�B
-*��}�A�)�����5�(�l	�x}��Ct}̒�{u�G�I|�G�����,-�<�����(�a��
�_%QQ��j��
�k���#"�k�7��ޮ^_5���s&������ػ3ޮ0b����`Dz��O��IV��?>�Eu`
�z�|$����2���8u`"X �I�k�4X�(
�D0���y.ÁĆjI.�Q����M�2�P��wC�Z�/�<N��	�	��F���j��^�~I�_�W��kA1xs
��jA6�a�O�c�O���z��g�B$d
w�֡�uyTjԓ���+H(�
Bي�z}P�)O봈�Oa@���

��h~
-����,5ﲽ�6�aT
-@�
-���0T
e(�4	YM��P�DX�������/B ��/���\�2�uk̽P�.�����E
�C��H懦N�l�$q���\�NQ��5x�S ��7Hh^$@����x�|Q�����-����Uխ�c �$<�
-|�����o�#�5��l�� �(������O0K� �R�$Ŭ+=��XŀI~>R�$��1���.�L�m�k�Ķ�.ȵ5�#7���Fl���M���R->'��{^�5�Z[�f�VW)�
.
-mB�� �.�@N��!aɖ����`1/�Õ���y$�Ң�T�h
%.L0]�*r��N�n���JU�r��T�}���S�ʣ��}�
zUj�%I�G����|˜&j,_��s����
�9_Y�e_�It|5/��+�-��K���#�!�;(�S(���>b
1
�o6�>��3�yv��5Vt1���M��?�$�Μ|�7��7�t�c��O(���M��%��C���9��I�
7�[����v����Ё}UC82NC��D�eD� Z�U���h��Y��13�6dZ�
��NI��iWf��!���Fg�)Nn�4[0u8ڡk:�������2 ��3�f�h
2
��
&sB�![�g��L=[�k#�#�;^W�'�x
z
�>iǛŤ���e�
�능�a2��'��c.o,����1�aM���Pqx��xP��h:��v<�ͱ]��v���]������a	.�W:	�V��J)Y�&K�u�dӀ���.�,��O+K���>!�]%����O��������I���Bե���;�B��6
(��OT�N"D� �.�.��b���M��'�d�s�R-�
rk�T
5�+���#@��	F��=�%��
�bO��������v������\Z.��~�W�@�_��o���K��34�l$D�º���Ɛ�^�gy���j��@��NWw	f�![��9�_�C,hg�:ڵ��x�_��#�H+�j�4џ�
D�ΠQ�MG����Eӑ�cf:j�ڤ��
!dzP�!�}�`��R�������Eg21$��,|�]�d�nx�8���75�}��@��om�0���an޺%ɼ�һStW��--U��J��~�W��6����.JOQbK;�f�ȋ���u�$��fw�T�)L�(	~��T���{��w�	���s�̊�Ѐ���,��gghW�Ss�g�cr����>�:):z���g��t������':W���
�\�v�DM�
�l�}8N��P��AD�ED��
Ƥendstream
-endobj
-1008 0 obj <<
-/Type /Page
-/Contents 1009 0 R
-/Resources 1007 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1027 0 R
-/Annots [ 1012 0 R 1014 0 R 1017 0 R 1019 0 R 1021 0 R 1022 0 R 1025 0 R 1026 0 R ]
->> endobj
-1012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 719.9123 201.3017 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint_4738abd11cb0fdcb233ed4f18c874d56) >>
->> endobj
-1014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 621.5932 221.3259 632.4971]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1017 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 408.8982 191.7375 419.8022]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_8be9b5793c5bcbd09cbe45d5def529d0) >>
->> endobj
-1019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 371.8881 201.3017 382.792]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System_f2e1b75d9c8484321bfc25bb122970b7) >>
->> endobj
-1021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.363 273.569 257.1901 284.4729]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1022 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 263.6711 132.51 272.5178]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 111.2691 219.384 122.1731]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Domain__Error__Exception_3d2371e510d8b88b2660a631d6857953) >>
->> endobj
-1026 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1010 0 obj <<
-/D [1008 0 R /XYZ 90 757.9346 null]
->> endobj
-1011 0 obj <<
-/D [1008 0 R /XYZ 90 733.028 null]
->> endobj
-1013 0 obj <<
-/D [1008 0 R /XYZ 90 684.3441 null]
->> endobj
-501 0 obj <<
-/D [1008 0 R /XYZ 90 516.4269 null]
->> endobj
-94 0 obj <<
-/D [1008 0 R /XYZ 90 506.9682 null]
->> endobj
-1015 0 obj <<
-/D [1008 0 R /XYZ 90 426.95 null]
->> endobj
-1016 0 obj <<
-/D [1008 0 R /XYZ 90 426.95 null]
->> endobj
-1018 0 obj <<
-/D [1008 0 R /XYZ 90 390.0593 null]
->> endobj
-1020 0 obj <<
-/D [1008 0 R /XYZ 90 336.32 null]
->> endobj
-502 0 obj <<
-/D [1008 0 R /XYZ 90 218.7978 null]
->> endobj
-98 0 obj <<
-/D [1008 0 R /XYZ 90 209.3391 null]
->> endobj
-1023 0 obj <<
-/D [1008 0 R /XYZ 90 129.3209 null]
->> endobj
-1024 0 obj <<
-/D [1008 0 R /XYZ 90 129.3209 null]
->> endobj
-1007 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1030 0 obj <<
-/Length 2139      
-/Filter /FlateDecode
->>
-stream
-xڵZY��D~���v���O@� U!Y�jKkk7_�v����H�����R���O�_wO#
�b�G�O�P�0.���O��&����������S���rz�PI�	J��v�aF02����Y�������|Ufw�����/~ȷy�
w�|A�}������!/�D���21�=cr���ɫ[ϫ�-�$��_����
-这`���|��C��	��}YO�O~�r�
�
C�
�ƘO�R0g�F�q�����|U��2?,�b,v[k��kAA�h��Tr^���+h�ev:8A�����n���s^���`+�($)畨�O��/O�|{�*
-�O.�O��t��Ӝ�Y�|y���H<����5w���ݜ��S�}���1]�/�'�@�(~qم���-w,g���XS?R*����(�'�ѣRz	GK�������+�;:�G6�x�ٺ$�Ck�d�a6╰�h��gPr�}[ߵ.�����2{�K1k��w��Xtʖ���T��u�k�ar��J�����X����o��F���vY/��
`ry�������i�Pi���f)�K�
�H��õ�}���r�y�, W{T��jD�L),L,�L�lsJ�L
��tUX���,�.G����3ΡR�
A��	#��~("�N��B
�u"���X�0/Hl;�"�Q��K�+^� ��>���~|hrAP��N\]��l�h	��$�
ȕ⼀��$Jv1�0-�L���tI]�~<�����ê�cH������
]2�M�I(��X.c�(W$�����@`��'��,
�n��V�N����ci�^���i�X��Dr���x��V�k7̂br��q�xTB7�)�qI*9d;Ì\����H>z���.\�M�
j'����
���n(�	�*PR�|���ր.�W
-Z1�Wy%�18�r.�0K�5�����'s
-�EGv
! ��
����s
'�<n�=���jf��2
͗s��S
zr-��$ץ�4�B���V�ҭ^c� /�
�E�����ӭ-�F\���Q	�)ĕ�(.=�
�66H��ߕj��
�qf��}���-�� W��{��$�3����ͻa�0<�S�|�O���
5�2�iT��"�8�wH,������U�4�k/�k/~#<<�5=�8�T0�
�I�/�b7�0>Հ�
���Հ���hI�HUG���
�
I�Љ�a�
-����^�"Zz-��yD�Hp��
�"b�����p-���A��H���q��^�f��,�:�M&����x|�A_��@�DJ(w�G�H(Cw7;�y�82�,H-�5�1�)�
v�8VK����������Nu�HPC#�qdmv'���Y�8�a��~
*]���b�-��׵@i���j�T�(��ԑ5��_^Ң�|E
�
ϺP(��
�ŵR�=+J;ka��)��O��H
W�4E�$�o0	�.j�^����Ka
1���;xB{W�)6F���\xP��
6:��`��Pc5�W=A	eĪ��]�⩉V1D��]=���Z�Ri�o�<�/�X@%�g�X�w�t���~\�/���T�oi
S��
zrG������)��R�o�z�MY�NJ)��
-P'6C���!�#��I]�#�Yn_�Ӹ<*A�*�BTv�G|��
-�R�:ʈ�A�\K�
- {�ҁ#m��z���v1��{�/�Ϗ)WHS~~9}����w>w��Bߺ���@ ځ	�����Ga`8H
�L5�_�7
�ZOn�RhX���htS̡�)%�����ܽa�u�bÇ9�pغI���b�tEKvŨ�sWL�u]��7;/�o�l�1��e[@�VK�����m
�f>�M���c�.� b�:X�Ԙ��Ը^oj�7|i>h,�Ɨ'�3�����4���zcC�Y�Lv��$|���
1��U'��#\�8�n=ɂ���n:�#�:�����1�;�T��>Uy���/g��S�؈�q{�ˇ�۲��C^~5b��_��)[��jׯ�˃	
�U/��|�@��<�o
	��W˧��?���Oᾢ�a�Q�^8�'׺���qs���t��Ǜ�~}���
av�Db��
�V����a�Ն\���ͮ��b6���{q��,���T/�{K�
�
��ZQNendstream
-endobj
-1029 0 obj <<
-/Type /Page
-/Contents 1030 0 R
-/Resources 1028 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1027 0 R
-/Annots [ 1034 0 R 1035 0 R 1037 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 1054 0 R 1055 0 R ]
->> endobj
-1034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 539.3219 159.9272 549.8523]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1035 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.4254 539.3219 189.8447 549.8523]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_cdcf46a226e15d398fe41d10873779ca) >>
->> endobj
-1037 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 500.094 201.3017 510.998]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_ce05db6f6b402898007ea5bf6ea4a831) >>
->> endobj
-1039 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 419.3315 179.2544 430.2354]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7525 419.3315 235.9811 430.2354]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_0673eda2d88204107796ffacffe269c0) >>
->> endobj
-1041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.7967 419.3315 317.0463 430.2354]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1042 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.9491 419.3315 372.966 430.2354]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1043 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 380.4772 179.2544 391.3812]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1044 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7525 380.4772 196.6887 391.3812]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_80f1c0111cb5ffc8bfc06f7d4ad88b06) >>
->> endobj
-1045 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.5044 380.4772 277.754 391.3812]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1046 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 341.6229 179.2544 352.5269]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1047 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7525 341.6229 202.228 352.5269]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_2a43c640dcbae8922c616491ad95e906) >>
->> endobj
-1048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.0437 341.6229 283.2932 352.5269]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1049 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [295.9656 341.6229 341.9824 352.5269]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 302.7686 179.2544 313.6726]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1051 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7525 302.7686 194.4672 313.6726]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator_01ffce41500b158f8a1272d73418822e) >>
->> endobj
-1052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [198.2829 302.7686 275.5325 313.6726]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1054 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 202.6976 219.6424 213.6015]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1055 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1031 0 obj <<
-/D [1029 0 R /XYZ 90 757.9346 null]
->> endobj
-1032 0 obj <<
-/D [1029 0 R /XYZ 90 733.028 null]
->> endobj
-503 0 obj <<
-/D [1029 0 R /XYZ 90 645.3704 null]
->> endobj
-102 0 obj <<
-/D [1029 0 R /XYZ 90 638.7702 null]
->> endobj
-1033 0 obj <<
-/D [1029 0 R /XYZ 90 557.9222 null]
->> endobj
-1036 0 obj <<
-/D [1029 0 R /XYZ 90 519.1873 null]
->> endobj
-1038 0 obj <<
-/D [1029 0 R /XYZ 90 438.3053 null]
->> endobj
-1053 0 obj <<
-/D [1029 0 R /XYZ 90 265.4486 null]
->> endobj
-1028 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1063 0 obj <<
-/Length 1566      
-/Filter /FlateDecode
->>
-stream
-x��YM��6��W�V����ǦI�4�d{J�@��]���Jr���P�d�������aEs8
>�{3R�
�?2�x��i��|����-��bF�t��������s)�iI��f�z�	J��f�~A0�˄`����e�����YW٧m��ʪ���/La��)�eB^<�fu�
ߚ���D-L�2�F0�,]~�y5{v����L����|
ῚaK��
��|7�u������ޏ�h�N/����!,돏���}6���Ū��~(W��)���	N&�#�5�A�{�������|0V�|}�ږ��!
���,��/��~�&�>%](� -���g��º��^=Wl�׈IH���Y(qHso�d�8���l>`LW9��*RJ+�hu�+��x�t`Q�o�>/�pR�@��~t���U	�iJ9<�HR�.��iU�S��3��A����>fM4

-ɢxV��B\*�
�">�w��=M�7@��Qa�ҹ����h�wF��j��J#���̲Q��Y��M���to�)J%��GA���(�T!8E)a�赽�C��;�ʪ�4 
-K5�t��j
H <� R�����%�{O�|�TN�DXO�j����?MU�7 oJ)l��g���
-=���
^"*�K�:А�r q�����#��z��	'"��+�(���|�����ܸ��2��?�	�9�
-�	r_FM��-r��C���)(Xa�^L����
E�fo�xjN�q��(�85�@��d2��l��	 z��+w�-d|y��
�qOe��D`$�i1
"��e��qe���������o��QnN&�,�X@Ym����P�z��LT
���67m`'�@i�
v8��'����BX�}`�!J�X��\2h(\��p��6%�hLwL" Q��{�mhE�?�mh ����8�_(���
��݅8'a,ՈHL�%lh���1
V�oG�KXl�		E�����6��Q�F��%,���]��X
�/�.��5����=�� -���ނ�ۺ�BMsh�01��S�b^�����(�8/{���r�#/G��y�ka���Axa_�]]�@��f�ŗ��>
Yax��
K�	�a)�V��4������R�z��
���o�+@'�&�}�٨�������/Cɛ�S
�f!
&>�
IM�4�V�H�������Eg~o�x�O�qd�(�8�@�FE~L.��T��&�M4AR@�N���ک��\_(۟6��6Z��t{oə���c�Y��U�;)~�r�u(��mGgL��:�"R�Oԃ��%�o�x�-���q�j+�lr���̦������&����lIA�,Y��B#!X4?1tk�p�M߾[�d��
� ���ɰ��O�DX���N���Sn7x5<��Ί�Cv�]�,Sm��Y��~�M��ȧқ�8dۣ�U�}Z���*�����wƜ��8\��� S7�ۼ{��M� �pj� ��0�5�������
�jt(�}���j��^���G�&��]'��(�ಸ�*	b��++�XE��% q���
�ܵT��� ���.\Wendstream
-endobj
-1062 0 obj <<
-/Type /Page
-/Contents 1063 0 R
-/Resources 1061 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1027 0 R
-/Annots [ 1071 0 R ]
->> endobj
-1071 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1064 0 obj <<
-/D [1062 0 R /XYZ 90 757.9346 null]
->> endobj
-1065 0 obj <<
-/D [1062 0 R /XYZ 90 733.028 null]
->> endobj
-1057 0 obj <<
-/D [1062 0 R /XYZ 90 716.2211 null]
->> endobj
-1066 0 obj <<
-/D [1062 0 R /XYZ 90 716.2211 null]
->> endobj
-1058 0 obj <<
-/D [1062 0 R /XYZ 90 611.6354 null]
->> endobj
-1067 0 obj <<
-/D [1062 0 R /XYZ 90 597.074 null]
->> endobj
-1059 0 obj <<
-/D [1062 0 R /XYZ 90 484.3239 null]
->> endobj
-1068 0 obj <<
-/D [1062 0 R /XYZ 90 469.7625 null]
->> endobj
-1060 0 obj <<
-/D [1062 0 R /XYZ 90 367.2141 null]
->> endobj
-1069 0 obj <<
-/D [1062 0 R /XYZ 90 352.6527 null]
->> endobj
-1056 0 obj <<
-/D [1062 0 R /XYZ 90 237.9002 null]
->> endobj
-1070 0 obj <<
-/D [1062 0 R /XYZ 90 223.3387 null]
->> endobj
-504 0 obj <<
-/D [1062 0 R /XYZ 90 81.5105 null]
->> endobj
-1061 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F67 238 0 R /F52 213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1074 0 obj <<
-/Length 2077      
-/Filter /FlateDecode
->>
-stream
-xڵZ[s�~���[��
-Ɲ���l6�m2�]�OI�CK���n%�8��A@�	���x<���|887�"3
d��,Ҍ��j{�gOp��+�>^��e�����R�4Ғ���c#A$(�����s���%��y������W�.��M�P�����fgʼޗ��/Um��%x��&�*w��<�rA���V��ٜ�ůw����
�Z��Ib�����_�l
��t��J̞�
0ҚζW�2�esu{�� �=hLYA6mB��z;P����f�ԝ��C9b\�F��ܨ�#l��>���
-99�U9��ex���||�+7�'�} ����nU�]5��3��<�G]@c��L��3�Or,�_(C]�(
-f�i�H+X5��;�S��K�! � "���z�F�7d�4�"��	�
a�G��?[)CDҙ�
-iB'U	

~��y�gaˮ��WFgpGJ���?�����`
��v~�����
-Lu�X2��
���b�n
=߹O�=�//^�Xk�sky��y���	Ĭ`��'���		���j,Ɛ?^�ai��
��G������u��b����q���b�4b#dk�
��q��)^#��W��fA1$e,x�&��M1E�
�$>BcN��>]��	0�닩�����(,�����̮�m.�z��a�B���_��az�)$с�F�Ȁ���]v�Șl$I��AME�-�L��v��`�UY
����Eю��!)�n�5�����ofU��0����q7VM�
e~������d�x��;`"~Fr/�CT�	T�>�a
yT�ʵJ=E�̑�omk���p�d��"@�2���~�JFQ���O��^� �M\C��\g1�M�]�x�]Y=s�V
BY1L�GѢj	td�b�Wn֦�k�&)�/��/vu��m��6��X�.��;��Kު�����ޯ��~�yܷ�`�NZ
�]}��8�z��c���o�P�m6{[��m�on��ycn���k=8=[���H%�d%�j<U�^_�{z��~�mC�5F
�����f4רBgBTv�l��&�,��'��s�O �]Yg������~������}��c�>����. ���Ɠ$�z���}C��gsA���5�{Q��ɩS����Z)��N�׻:���H�`�:���m]�
�쒾���6�k!.Ի����ɾ�f
-��b��N��ݷımC�V�l
w�8�d
G5��8���qOo�1���4���c��S
Fr�Z�����G�XE�@��%OS(fHk�,'x\��-����(2;T��BTJ9�<\H5p�.#�\�,���e
-�$��\��G�y^��ǡ4U��l�tl���ݎ�!�$dAi���%X�1��������H�
�Q�
�c�(��ܺp9vu���*TA�V�L$U��U�ȩhJ-�7<U� '�\�r���s\G`,����
�՛�q=͗�8����丈^��<O9����!�r
C�_��J)��8�=��q��Tg�.S�'
�^��8RJ�WjP	�f��`
`�2�
-}fv����?�k��7����[�U
ሎ�Ha�F�	�,Ā�*��!^��]��##��=�|���iN��;�KS>�0w�#)ߞ{@�:@85����	y� �B�^O���E��
�lj��5�dR��C,YC�#5$��א��D
�k���$8�侢�Ĭ���p=�M�ܜ�L5��+P)�<탅��!‚0y�2|��H�5D"�a�B@%H0���D��T
�����SڇR/, �#&"6�R
�}���- �4��=�+#R@,R@�Xq�3�DVϠ@�L^Z$�'Dp�1�
���;

��[ΰBUа��5S 
|q��7�Tƽ�G��wz�2P۾��H&�o>7U�ܶgd��I����;�v_>uO���|�t̟ZQ��A+�ؼlX���]��/
!�������ƿT؝��U8{��ݛ��	�ft��8�|�����=���_����eg�;1�:ɵf�Zׇ�����g���qW
JT�ׇ��zȋ
��
�
��CЈKo�����
��g�/�{Q�d�[BQȰ{P� �m�3G.m35���"	��endstream
-endobj
-1073 0 obj <<
-/Type /Page
-/Contents 1074 0 R
-/Resources 1072 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1027 0 R
-/Annots [ 1078 0 R 1080 0 R 1082 0 R 1083 0 R 1086 0 R 1088 0 R 1089 0 R 1090 0 R 1091 0 R 1092 0 R 1093 0 R 1094 0 R 1095 0 R 1096 0 R 1097 0 R 1098 0 R 1099 0 R ]
->> endobj
-1078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 640.7035 190.054 651.6074]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_b1265553cab293b2c77d31f57682ae2b) >>
->> endobj
-1080 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 601.8492 201.3017 612.7531]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System_58d5c27c8e3d638fc7d25ee54d04b08c) >>
->> endobj
-1082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.2703 501.7782 256.4139 512.6821]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1083 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 489.823 130.8265 500.7269]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1086 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 333.2082 201.3017 344.1121]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_e846d01ef7cc5222216fcac8f2d255c9) >>
->> endobj
-1088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 252.4457 202.497 263.3496]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1089 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.9952 252.4457 240.9624 263.3496]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_27971df55a7b8e685f759f3001b0aef8) >>
->> endobj
-1090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.778 252.4457 322.0276 263.3496]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1091 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 213.5914 202.497 224.4953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.9952 213.5914 244.8178 224.4953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_3043f8c7edfaa1e5c98955234589301c) >>
->> endobj
-1093 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [248.6334 213.5914 325.883 224.4953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [335.7858 213.5914 381.8027 224.4953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 174.7371 202.497 185.641]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1096 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [202.9952 174.7371 246.5016 185.641]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator_5dcfc9bdd9d995b7be67da9f47e731ca) >>
->> endobj
-1097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [250.3173 174.7371 327.5669 185.641]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1098 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.4697 174.7371 383.4865 185.641]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1099 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1075 0 obj <<
-/D [1073 0 R /XYZ 90 757.9346 null]
->> endobj
-106 0 obj <<
-/D [1073 0 R /XYZ 90 733.028 null]
->> endobj
-1076 0 obj <<
-/D [1073 0 R /XYZ 90 659.6773 null]
->> endobj
-1077 0 obj <<
-/D [1073 0 R /XYZ 90 659.6773 null]
->> endobj
-1079 0 obj <<
-/D [1073 0 R /XYZ 90 620.9425 null]
->> endobj
-1081 0 obj <<
-/D [1073 0 R /XYZ 90 564.5291 null]
->> endobj
-505 0 obj <<
-/D [1073 0 R /XYZ 90 439.6303 null]
->> endobj
-110 0 obj <<
-/D [1073 0 R /XYZ 90 433.0301 null]
->> endobj
-1084 0 obj <<
-/D [1073 0 R /XYZ 90 352.182 null]
->> endobj
-1085 0 obj <<
-/D [1073 0 R /XYZ 90 352.182 null]
->> endobj
-1087 0 obj <<
-/D [1073 0 R /XYZ 90 271.4195 null]
->> endobj
-1072 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1105 0 obj <<
-/Length 1714      
-/Filter /FlateDecode
->>
-stream
-x��YK��6��W�V�i�E��扦	�&�S,��*�%W�����EJփ��Z��Ê�p
g���d��LC<
D�B��4�O�t
�_N��^���-��f�|!�4D��rz��4H�%tz�~?#:_���������
��:�nwɧ<�V��y��}�S�Ge�߾{(J��/������(��[������Nc=_�@3�?޼�<�i|t!&������x��P^M0b��{�WaH��	��
�&�&�7z�D���� �((CX
-�@Aq`<�e������Lq�
�$KM@���4�#�CR)�ٮ�j�i���G�G{]P�0����,IKd��$@�rnզnͧ�:.����-�}����aN��T*�pHB
��ʷN�m
�F~�^P!؉{����͖�/����Ko��

 6���z����R}�M��es*f�I�]yrTB�0N��2k
x��q��I����b�7VQH�Q���%���Kٵ������O���B�����[c�b�
��
-x�np�n�+6o�$�#����uR��
1�
-v�hk�h{oO�ѣ:CO��#(0�r"���������^
Ӹ�:K~Y|�봌j���S�pgaD���l �Ե�f�j2����~
�(�]4
IP(�mf��>�T
Q+�n�C�ĵ)���p' ���	:��%�	�OR��	���I@�"���uH��.�yZ��Ɇ�f�u����~z�pD&ݰ:�
-�@:�OR%&* x(���K�ZhіvU"�!7��ncb]5�b5,�F�׸�R��Ћ�F
��0q�Z�}L�d���y�7.
,
���h4RCG�
-`P!@�q��.��*��`�l��*����l�m��cag�dJ��I��$���x"�(u�>亀�.:�A{�l��:�mz�_�D� 
mW7
���Vaq�b�e!f|03x�L�y�
yP
-��gx^O�Ö�,Zdr�7�=��Z� .��Lo>`L���h�8a��紲k�H>���d�Pk6b#l�?�^CI��DJ1��
-q��|�Rw�-��ڣ�q�����˵G!1�}��$g���wY�IV�y�P�0
-��$���'r	,ߤ����܀L�,��(ڙ��&�U�-̧
�
-NW�k��<����.�b�$�
uaǭ��9�Z}�yfR��"k��
�M�M���������(8@�d��@����Yl�a�0��|�apH�J\h0m��
��_�`|�G��
�i�
�`F�85��#��q��`LY%����#��d4U[5ZU�L��;	
-�
��Ά�
��=x��:�~'�o"�
-��1*=
(�����c�� ���dZu@]�t1Nj����n
�P9N�m���
ٌ����3>B�/��݈=��G�8Q��?uw
�O��M�T���ڸ��u��ݙ�5o������}��n��
]ߞn�l?vg_�
�i�e
�����n
�\�4bokF-��k.ح�k:v{-O@�}��;&h�DS���ش������
��(8]dok��l���{ى!w
���+� )ӗZ�#��0��k':���aC�֘��k
�
�j���1�:U����d�>v��(t���t���(=V��* �-�ESu]E�>�A�;��h2�OA[�`jg���O���i,Z+,[-�z
LweyX-����(.�1M9J���[������E#4�Y\Hİ$
_B�g���Ƥ�[ ئk���b�A*��y���Ǧ�endstream
-endobj
-1104 0 obj <<
-/Type /Page
-/Contents 1105 0 R
-/Resources 1103 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1027 0 R
-/Annots [ 1108 0 R 1113 0 R ]
->> endobj
-1108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.8197 677.9388 242.8851 688.8427]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1106 0 obj <<
-/D [1104 0 R /XYZ 90 757.9346 null]
->> endobj
-1107 0 obj <<
-/D [1104 0 R /XYZ 90 733.028 null]
->> endobj
-1109 0 obj <<
-/D [1104 0 R /XYZ 90 603.025 null]
->> endobj
-1100 0 obj <<
-/D [1104 0 R /XYZ 90 580.7132 null]
->> endobj
-1110 0 obj <<
-/D [1104 0 R /XYZ 90 580.7132 null]
->> endobj
-1101 0 obj <<
-/D [1104 0 R /XYZ 90 470.5651 null]
->> endobj
-1111 0 obj <<
-/D [1104 0 R /XYZ 90 456.4099 null]
->> endobj
-1102 0 obj <<
-/D [1104 0 R /XYZ 90 328.7968 null]
->> endobj
-1112 0 obj <<
-/D [1104 0 R /XYZ 90 314.6416 null]
->> endobj
-506 0 obj <<
-/D [1104 0 R /XYZ 90 139.2808 null]
->> endobj
-114 0 obj <<
-/D [1104 0 R /XYZ 90 131.2506 null]
->> endobj
-1103 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F83 715 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1116 0 obj <<
-/Length 1581      
-/Filter /FlateDecode
->>
-stream
-x��Y[s�F~ׯ�h�Z�}�oin�4�Ic�)�x���IR�u}ϲ��N3�LF\g����;``�G�J(3.��f��5\~=#���/��\��^I�(�T��ڃ$HPB�˛O!�����`��]Rl���6���7Er���ERܟ����
����I��\=+��z��yu���U�6�/����,)K{�Q�4XF�Ηz��RE!��/�og//�nO�Ib �9��7���3�X
��N f
�`3���lv1���co�
Q#{7�!,������ҥ��{�����ǯ���l�
�
-ƈc�O��ePC��`�8�����R�_�`x�ұ9�#�7��̕b�n}l�"
����]��R��u�T���⾬��
1��(A��
- at TLz,a��?9fJ!"i #����+	yɀa�6��h��a)D 
�~h�����R�
�J�Yesg	iS�%0u>_0(��9��>�n\�$���fW����RZoW�w
��#S���9�	�9/�IG<V��40�D)�t�K�a���
o�&s���8:�jj]���u�J�T��&Bm���4_���
�`����S���\�v��gX�qN���)�PH=J&
�K$1%O*����B�f�G]�ܗ��)�L�zgJУ� EP*�h��:��
	pj�o���t��@��F�+�	$9�O��cP�$f�s0�jMqz�BWI�i�^�rY�V��-u
U	k2
[*�=����n���A��۾��Ьh������;6Nb����ǁ>�
-�a&iǕ��$o�h?0PIG~�OJ!+ރ�/+o5�Fa,z@��r�؟�|���F=��!�gsA�)Ҩ>��n at U�Rw���(��&r
;@�������w
o8JTœH�
�z�������t��8JGX"0���w����[M!8���9�����K���vY���6�ں���&->�ûzj.;�KvUl7�Q�e���ѝ������L�
���arR�[�Gd�[M���r
_�kp{��E_3}3\$������U����
-s	�ԏ~��챍#�ɾ�v�]ꐘMf��&�"�m�=Y���@�տ~Oa1�pX�Ν��H�4f��3���S&�y��7]��G�Q�
3o�T�3�XM � �B0��
.7�YY
��hP,ɓ������13 ��\愐�c�
-��>i,j�
�}��a,b�c,��%۟���
-B�g���_��#m�1�l�+
Tdb]_�uV�O>%,�t��n�^�ʠe?TL���]H]��Y���Ñ������P���j�$Tc6�Pc+>ZW&�y��C�;?� �aԤ|���j	%�?2���1:BX��x�ڦ�>Ft�1{��
-�ñz‡*!f
-x�PFx�o��k�B��X;P�N��I���䋮
-|�?�Aq�����w��ؓ��~eo'�z����7y��U-Kw��R?ͅ]�x���$�b ���U�Mc��՟|��&y�u?*�$"��Nͩ��G�~m�=�h=a�\�:�kh���������
Z�h������n���qqc��������N��0/%�t�4��ھ"2����ʽŤ9XnjU?Ji�LJ|� ���>endstream
-endobj
-1115 0 obj <<
-/Type /Page
-/Contents 1116 0 R
-/Resources 1114 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1027 0 R
-/Annots [ 1120 0 R 1122 0 R 1124 0 R 1125 0 R 1128 0 R 1132 0 R 1133 0 R ]
->> endobj
-1120 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.2473 213.2966 708.1512]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_84738aa470464f9f3192817554d26d30) >>
->> endobj
-1122 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 658.393 201.3017 669.2969]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System_4f9d506f39d5a65a2c2cec090a1578f0) >>
->> endobj
-1124 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.9073 558.322 278.2936 569.2259]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator__System) >>
->> endobj
-1125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.5262 547.343 190.5916 557.2707]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Grid__Generator) >>
->> endobj
-1128 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 389.752 234.0589 400.6559]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception_df699afd1b4f9dbc15fd31424e9d15e7) >>
->> endobj
-1132 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 150.6905 215.5087 161.5944]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception_5b5e4c1fe8b8af4696ac7cc839fb3b40) >>
->> endobj
-1133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1117 0 obj <<
-/D [1115 0 R /XYZ 90 757.9346 null]
->> endobj
-1118 0 obj <<
-/D [1115 0 R /XYZ 90 716.2211 null]
->> endobj
-1119 0 obj <<
-/D [1115 0 R /XYZ 90 716.2211 null]
->> endobj
-1121 0 obj <<
-/D [1115 0 R /XYZ 90 677.4863 null]
->> endobj
-1123 0 obj <<
-/D [1115 0 R /XYZ 90 621.0729 null]
->> endobj
-558 0 obj <<
-/D [1115 0 R /XYZ 90 496.1741 null]
->> endobj
-118 0 obj <<
-/D [1115 0 R /XYZ 90 489.5739 null]
->> endobj
-1126 0 obj <<
-/D [1115 0 R /XYZ 90 408.7258 null]
->> endobj
-1127 0 obj <<
-/D [1115 0 R /XYZ 90 408.7258 null]
->> endobj
-1129 0 obj <<
-/D [1115 0 R /XYZ 90 352.4319 null]
->> endobj
-559 0 obj <<
-/D [1115 0 R /XYZ 90 257.1126 null]
->> endobj
-122 0 obj <<
-/D [1115 0 R /XYZ 90 250.5124 null]
->> endobj
-1130 0 obj <<
-/D [1115 0 R /XYZ 90 169.6643 null]
->> endobj
-1131 0 obj <<
-/D [1115 0 R /XYZ 90 169.6643 null]
->> endobj
-1114 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1136 0 obj <<
-/Length 2487      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�R�ƛ�ܲ�����Teg��$�)Z�me�ZJ����� 	$ @�=U[>X�>v7�� �`�#�'�(�f\N�+<y���"���^����\]��b���TNn�[	� A	����<%1+�x���U�u�Y>?�wM�u��m���͛��u]5_���mfDM��n�Y�
-*���e��u?��u��z^�HBy9�d��͇�w7����Ę����œ;x�W1���	��YZ���Sf�,��\����~ho��Bv�/(CX
-�|����W�e}�=��z7o۽ypx����z���#�5i��c^���3�갳�n����ͦ��x�>,�����z��o�]�}FŴZ
�
2:�R"I9o��<���������j��r�iz5�
k�1RO3��U��^�M����7�����–ˍ��i��m�c���Db+�@\��d~��6&O,g��G��R1�E0�E!tI���
��XʡޏmH��k��I�>��jFmx�l��"i2A�I�VX� �T��K-����	���>�3"���Sͯ֏u��sj2w
�R
��(5bL�]�O�C�����
��H0�ƞs|�=���7����I��Jcl9�����q����4c�_��
Z1r��
>�>�sW��2�
-u	
�/�.ZWB��d�	��R�nY"�H��
��aᓄҢ��B#��F�JO:��s���ݗ�*��H���r�����x�A"(�չr���@��A6�����Y޻�11]��]� �
-C�TƩޡ
-�r -�d��R�z��t�Y|N} ��$�i
?XwSl�����X/�$���%4��Ӣ
-[0��:/��K��
�3�J��O���#�{�;�5#�L�fQ�.zc�S<�2
�X�2�"�?
���@F���
��x�].�?իۺ_�����
�1����f�$�1�6c)�fၮ
�"o[��u7�.p`��>L�2i*�
�yS����~)g��
L݅�?R	�D2r�QK�JA�(~X�@/T3
��4�u���̳�C!:
:� �ʙ ~W�TC#��$��҂�ǐ�et�&�I(U
gNh��G
_FkL 
-�2\�@5�E��*c��zh���F/�"��}O�'IB0���Q�
���[J�{P��#A)���:�sD�@̘���u�����r�1�;Ba#��G�5�t�r�����e���X��c��]�X	S/g�����|Sw��}S̓q�B�-d��¡2�)��OI6
-b��F35�{��,>gA ��@1,���J���2F0(�R g
�H��$,{yy2R�ea���&G���8ce�V�$��
B����s(S��!�
|���E�Tf��Be�����]@e	S/������|S��A��r@��+
*��B����|�1
-|# i�zO���,�
�o�`(�"<���!%R����x�i��_Bc���Y�i�63.����z��KQD��s	8E	�@�^l����)h�1&ߐ�XI��X�ys�� 0_X��֝O`)S/&���70�оZ����QU��¡2�)7	��(�@c����E5��H�����u=�x�����X at O�eL� �e�KD8t4߰�3�r[i��?O`b+-��U�����EG�b
-ˑ��Ec�9+�� ��f�N����6s
�e!g��
L�/7��v
��$�H9TN�0;�eH���Bp'Qe{2R�maAeW���f���yX���N��ng;�
w<�O����wz������v+s�l
,[���D�f�ڲ
�]e�^�w�_�{�˾1��H9

Zs��->gW ���M�
-�1���}�P���
�$W���jI^R��D}8ر>�/;/
/vu`��Xj6x��UC
-A�,�B�l�x2��y(�f.���q���
���B��p�[�NZv׺8���H��e�@p��@Ȉ��(����T�X�y����1�e\L���l��r������6[�T�����9�z��}:��K�uw��P�a��w���L�?�3�$WHj��t���3��9�m�;I힭=4vޖ$�.�s
-`�d��P��
�K�n�e^�A�
�&�����r�y�?��0�$��ʘJ�z���ن:�+�Sȍ{%v�:&̤J���2�����M`=✟��ϩ���`�9��Y���%¨Y�K(h	D|�p�‡�#��ū�;�0ҙ;
-�W>�wVw|$zB�hLy���'��Z�.�V����VB��aZ�l�}@��w�lC��xl�3zmC?�$Dp�u���L�`�yC#�`�~�9��Pp��T���
-K����1H�Mg`��_�i������O���������P=�~X����!�K�Ӯn�2b�'էj}��6W�&��x>���
�
�
��:<Mġ[VЄ
|��������o(�;�޷�
�5nz��o������|��ŶA���v���[p$L�$b]8P`� X�t�F�W��MS�d-{\Q½�h�Xr�}0J����y �endstream
-endobj
-1135 0 obj <<
-/Type /Page
-/Contents 1136 0 R
-/Resources 1134 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1179 0 R
-/Annots [ 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 1150 0 R 1151 0 R 1152 0 R 1154 0 R 1155 0 R 1156 0 R 1158 0 R 1159 0 R 1160 0 R 1162 0 R 1163 0 R 1165 0 R 1166 0 R 1168 0 R 1170 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 ]
->> endobj
-1139 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [175.6245 576.1836 408.6782 587.0875]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1140 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.9869 576.1836 513.9963 587.0875]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1141 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 564.2284 245.6744 575.1324]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1142 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [258.5912 564.2284 465.8918 575.1324]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1143 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.8085 564.2284 513.9963 575.1324]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1144 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 552.2733 272.7129 563.1772]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1145 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.7716 552.2733 513.9963 563.1772]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1146 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 540.3181 116.4604 551.222]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.3259 540.3181 358.5502 551.222]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1150 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 485.4584 191.16 496.3624]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 485.4584 210.2581 496.3624]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_d3d011ec5cd66a3e9bf71053d6b818b5) >>
->> endobj
-1152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.0738 485.4584 291.3234 496.3624]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1154 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 446.6041 191.16 457.5081]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1155 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 446.6041 225.1918 457.5081]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_3866453e844ec10e038e9ae2b336159d) >>
->> endobj
-1156 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.0075 446.6041 306.2571 457.5081]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1158 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 407.7499 191.16 418.6538]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 407.7499 215.2392 418.6538]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_af751a048f4895ec1ca6eb753a196908) >>
->> endobj
-1160 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [219.0548 407.7499 265.0717 418.6538]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 368.8956 191.16 379.7995]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1163 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 368.8956 245.6751 379.7995]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_2a76c9ab182bf0cbd015cea16a24c635) >>
->> endobj
-1165 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.3843 330.0413 224.6339 340.9452]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1166 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.132 330.0413 248.7034 340.9452]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_f5d9b1e4dec7faf038dd87f36773252b) >>
->> endobj
-1168 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.2 291.187 201.3017 302.0909]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression_491b55e596bb0dc1e707355a1b2169b5) >>
->> endobj
-1170 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [180.0801 191.1159 257.3297 202.0199]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 191.1159 513.9963 202.0199]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1172 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 179.1608 173.4462 190.0647]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1173 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.8609 179.1608 309.1161 190.0647]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1174 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [318.5309 179.1608 419.0331 190.0647]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1175 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [428.4478 179.1608 513.9963 190.0647]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1176 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 167.2056 133.337 178.1095]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.3258 167.2056 273.8987 178.1095]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1137 0 obj <<
-/D [1135 0 R /XYZ 90 757.9346 null]
->> endobj
-1138 0 obj <<
-/D [1135 0 R /XYZ 90 733.028 null]
->> endobj
-560 0 obj <<
-/D [1135 0 R /XYZ 90 645.3704 null]
->> endobj
-126 0 obj <<
-/D [1135 0 R /XYZ 90 638.7702 null]
->> endobj
-1148 0 obj <<
-/D [1135 0 R /XYZ 90 504.4323 null]
->> endobj
-1149 0 obj <<
-/D [1135 0 R /XYZ 90 504.4323 null]
->> endobj
-1153 0 obj <<
-/D [1135 0 R /XYZ 90 465.6975 null]
->> endobj
-1157 0 obj <<
-/D [1135 0 R /XYZ 90 426.8432 null]
->> endobj
-1161 0 obj <<
-/D [1135 0 R /XYZ 90 387.9889 null]
->> endobj
-1164 0 obj <<
-/D [1135 0 R /XYZ 90 349.1346 null]
->> endobj
-1167 0 obj <<
-/D [1135 0 R /XYZ 90 310.2803 null]
->> endobj
-1169 0 obj <<
-/D [1135 0 R /XYZ 90 253.8669 null]
->> endobj
-561 0 obj <<
-/D [1135 0 R /XYZ 90 117.0129 null]
->> endobj
-1134 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1182 0 obj <<
-/Length 2035      
-/Filter /FlateDecode
->>
-stream
-x��Z]s۶}ׯ�[���7���Ms�i;���>5
-Q6{eJ��:��wA�!@��;�<Dww�,���
�?2�x��B�q9_=���~�׌t������gW落k�%���McA$(�����
��˄`���z�n����}����mq[e��7�e�U7?~�WK�.�áؕ7?���'����z�P�?l�á��1��-�\��D��.��~?���1�
H0I
߿f����kx��3��N��	� G���a�)�_���f�vv�
�
Sq�M����62�!,�Fr�
S9�
1�I����m���/�X���]�����c���m��C�)k�[�%
�
��QHR�g?��yUԇa��HSH�L	š�6��Ru�a>zw�Ŀ��z�Y�v
�s��=��'�
锈�A98T��ؚa�ڜ�d�PbM2�8բ�~x���6���y��w����	=H�Pʕ:)p0Q,g)?�1D>Q*F9�p�jyl�
-�˷y|,e����؍��(�W�C�i���O
*B�r���>a�G^9�WJ
��
��G��� �aL�H,*FBC�BA�I� d\:
-�J��Ց�L�%�-�O�"��i׉o�!��<R��
�+�
]R�C�[w�����?�Um�]U-a���]�.ʻ����sw�f`�i�У{��+�J$�
���T
������8&È)R���02EB���lBc$5��
���
���
#L��|jQa)`$D�B�c�)M;'Q���̚U���a��NQ��QL
(�b�`%�����PI��%��m��`��Ǽ~���)�5?���w
-������o�`������qRiB
-$9�+��V�`Hp/('�faq�y/[��S����9D���������#����|DM2DY��������Rf���gL|
Υ�H|����,l�n���pZ at 4E<��i��ܳ1yB�Z!,�6��.��am��-���*�O�O��rv���"u��HC
_,�;��;{M
1}�ajq=��$�1�S�dB�ӧ8�
-�%����9$\눆
�п>�E�ʋf�q�f�31�<�"%�<N@�f o�:+�V�o�ê*�uw��0\~ֻU���j�a���=�3z
�<-	����e^e��
ɸ,nv����yr6̶�����GB��dG����`ю��P1�������!@f&��370��m�@�n�4��4R�n�������
ݎET��*��f�B��.V܇�Mڨ�f��Ξ��7&m��&m}�''mavckgO���'m���
Oi�4�`QM�<�x�agq=vc���h�`�&T8V�dNZ�a�&m���L��
>�`dw2*�b�eQ��E(0J�d���ߎ|Byc�ٹ!p����ݳB��ڡ}�k8q�	�a���8<��L֎�
9.���6�=
��񤱾�Nm��J���
-d"�'ǝ%��&�4

q7N�<1o4

���\OX!IMH�y~�Вb

�ʯ8�$i�RLbS�&���!�D����o�]TfD�M7�jBT�
�M��߈Q��
�m��on�z�0���L
*� rW�
bSGA�UzIK�mZ���F��C
ī�d��~j"g5>!E���Y'��P2�#�R�#T
R<�_S��N��`q=z/�c��ӣ��z
P}�
�T�
}�Uqw�Di$��EP��(�?�Yr�]���e�o#$G
�ˑJ80�wz��y�E��x4w��Ԝ=j�>�h����
K´
̧}�Ԉ���%�*�
���<Ƥ{3~��=�FH��e�/��m�E��X���e�0�κ^��f���(8!��a�S,���@�`�?K�`�Bf��}�S���/����ޟ������1��L�T�y�i���C^}�b���׬|̶v.)���{^
ǭ�tM�%
]��|TnjC�����ib�^���~��OBwC�������]���޿��zzzB�z,�}���j��^�΢fi���5<�ZЈK/Y
�D�%�qqs�]�D
Mv�D���]z��̀yT��o'��ŒVLendstream
-endobj
-1181 0 obj <<
-/Type /Page
-/Contents 1182 0 R
-/Resources 1180 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1179 0 R
-/Annots [ 1184 0 R 1187 0 R 1188 0 R 1190 0 R 1191 0 R 1193 0 R 1194 0 R 1197 0 R 1198 0 R 1200 0 R 1203 0 R 1204 0 R 1205 0 R 1207 0 R 1208 0 R 1210 0 R 1211 0 R 1213 0 R 1214 0 R 1215 0 R ]
->> endobj
-1184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 677.9388 305.9778 688.8427]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 624.6946 240.1656 635.5986]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_b531066aa6dba222c8c61a8c3978257d) >>
->> endobj
-1188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [243.9812 624.6946 289.9981 635.5986]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 587.5409 159.9272 598.4449]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.4254 587.5409 199.8671 598.4449]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_24d3c42f7ed7c7a99a8a2bb5369eed4d) >>
->> endobj
-1193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 550.3872 240.1656 561.2911]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.6637 550.3872 264.2351 561.2911]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_edf10f9d2de45d7e8de1809d4417741b) >>
->> endobj
-1197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 474.1478 159.9272 482.9944]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.4254 474.1478 182.6319 482.9944]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient_ab30b6ef6e87a1df35c14d15237af04c) >>
->> endobj
-1200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 276.0462 305.9778 286.9502]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 222.8021 238.482 233.706]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_d6e4fdbf5475e6d24aaffaceb4a4abf9) >>
->> endobj
-1204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.2976 222.8021 319.5472 233.706]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [330.008 222.8021 407.2576 233.706]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 185.6484 191.16 196.5523]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 185.6484 252.31 196.5523]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_d213660ecdcc0e4142a2fd7536489781) >>
->> endobj
-1210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 148.4946 191.16 159.3986]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 148.4946 257.8493 159.3986]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_f0e7fc37eefdbd145c4e9203cfd5e5e7) >>
->> endobj
-1213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 111.3409 238.482 122.2449]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference) >>
->> endobj
-1214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.9801 111.3409 262.5515 122.2449]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_6e2a52ee587e255b6172f976f5a823d1) >>
->> endobj
-1215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1183 0 obj <<
-/D [1181 0 R /XYZ 90 757.9346 null]
->> endobj
-130 0 obj <<
-/D [1181 0 R /XYZ 90 733.028 null]
->> endobj
-1185 0 obj <<
-/D [1181 0 R /XYZ 90 642.8182 null]
->> endobj
-1186 0 obj <<
-/D [1181 0 R /XYZ 90 642.8182 null]
->> endobj
-1189 0 obj <<
-/D [1181 0 R /XYZ 90 605.7839 null]
->> endobj
-1192 0 obj <<
-/D [1181 0 R /XYZ 90 568.6302 null]
->> endobj
-1195 0 obj <<
-/D [1181 0 R /XYZ 90 490.214 null]
->> endobj
-1196 0 obj <<
-/D [1181 0 R /XYZ 90 490.214 null]
->> endobj
-1199 0 obj <<
-/D [1181 0 R /XYZ 90 436.386 null]
->> endobj
-562 0 obj <<
-/D [1181 0 R /XYZ 90 347.869 null]
->> endobj
-134 0 obj <<
-/D [1181 0 R /XYZ 90 338.6329 null]
->> endobj
-1201 0 obj <<
-/D [1181 0 R /XYZ 90 240.9256 null]
->> endobj
-1202 0 obj <<
-/D [1181 0 R /XYZ 90 240.9256 null]
->> endobj
-1206 0 obj <<
-/D [1181 0 R /XYZ 90 203.8914 null]
->> endobj
-1209 0 obj <<
-/D [1181 0 R /XYZ 90 166.7377 null]
->> endobj
-1212 0 obj <<
-/D [1181 0 R /XYZ 90 129.5839 null]
->> endobj
-1180 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1218 0 obj <<
-/Length 1836      
-/Filter /FlateDecode
->>
-stream
-x��ZM��6��W�V����[�$E�H��)	Z[^+�eW���ߡ$j�eR^;�
"YOçἙ!�d����x�	����r;��;���	�
/���	x~=�z%��G��rz�.,H�%tz��4#5_��l���f��6�*
n��6
҇g��FI�7/���9Q�0ˢ]r��/����� ����:,1�2�/��t���������g��I�Y�;��OW�9o&1_��=� 3ߧ��Sfn����_���A�7ac�A�R��
�
�<\������<�n��y�
}
-ƈc̏�HPP�A�`�8S�ю&�R�
�`x�Sۈ
�
-����/�]��C�! �R:�\�]# �`�Q�a�$�T)�>��T}����I��ZT�Mo�(�*,
3�!B ��|C$��
4@(GX��B*�����=:U�~Ѽ����i
Ӽ�7a߂�P]�����y�뼼�I�Y�z�×C�{�ш��4i=L�����D!E�U ԏDp��S�q�CO��
f|C(�9.
��/�E<5�)������`gp-v��c�z�x
T
�E5
��JZ�i�H)/#
.�Ĕ��c`�œFw���C�NEƨ�:����ѳ�Ӱ1X�$f�s��jcW��E�Ql�܋0[��>���D�q���U��S1��_V������TUD}y
Ή����# 7Iy'��v��6L�`V��ޥf.���X>� ŨAus&a��|�0X��x���>J�ʟ>cL���@��nhj�w_M�%]�0g���X�\�D����n^�f}
t��M�Tb`
6X�:$�<�(�h)�Gffl]$
_'�0��^:$��,ȅ�<�Q]����f�gW�����pQ�D�g�*��]�Z��:hA�1�(���+���m
-K��
��a5��R�|����@�?��&����Ԟmē[;�k��+T+�[�	dx���Q"��������a}D)�a�z��;	t�j����"���r���z��I|��/+]��?�	5�1~��('0�5F|�j����H*ډ�r��a
-^�QvFKӴai�j�&��ū�`U����
-�xS��*�3o���2�+�N?Я��r����3L�4�m����PX� �sX�~�'��|0"���h.�o�����ag�S���N�5��i̒n[�Ư�lTO^�9�\��^���e�M�b�&CA#���` s��2�5��
-�:�g-n&l��BiR���&��I`�D�	��B�q�ȏ�"���\b,a#�
5�"bl�����1Z��.F;�Z�M��N�M�)�K� @��f��ѣ��C��%Ɔ
�
�
���q�}�.�m�0A�+��H�B��\{����X#/�Ǧ1�
[�N[���ԤY�8�X��2�%}
2����5�5.�k"�=�%R�!&�Y;�M%ְ^�<����iGEC%E���,�
����}�ɇq�z|�:.��&Ls
�2��´����d7�Pڨ�\(
T
�E�vg���a
��	BMM��wȧ��4�qD$�r�0����t�nW0�O���x��,�i�/
Փ��jp-���8��aܙ⁵��@�x
��9�#�"�{J�\�G1�s9(@
�)�ۓ�ޥ<����Ք�J��
-
!�h{��>�Їխ9A(oߖ��͛�O�8H��]e�u���8c3~ga��\�Y�`�
�C��4�����4���rXwIh�
-<��z5�a�L���§�������$T/,o�=��pPϮv�&��Ϯ�����2C�$ڧ(ʯ����ˋ
���i�W' jP�Kk�8,���ť>�����+��L�[x�..Ϲ����P�������qJendstream
-endobj
-1217 0 obj <<
-/Type /Page
-/Contents 1218 0 R
-/Resources 1216 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1179 0 R
-/Annots [ 1222 0 R 1223 0 R 1225 0 R 1226 0 R 1228 0 R 1231 0 R 1232 0 R 1233 0 R 1235 0 R 1236 0 R 1238 0 R 1239 0 R 1241 0 R 1242 0 R 1245 0 R 1246 0 R 1248 0 R 1249 0 R 1250 0 R ]
->> endobj
-1222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.2473 191.16 708.1512]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 697.2473 205.2768 708.1512]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_87e8e31d3cf9dbe3c2e1041ea8ccf873) >>
->> endobj
-1225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 658.393 191.16 669.2969]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 658.393 205.8248 669.2969]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Difference_2b2271e2f858709aef3d3705ac8c075d) >>
->> endobj
-1228 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 456.5668 305.9778 467.4707]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 401.7071 214.4126 412.6111]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_ef62be6cb1c9f4c4f3aff2c5f456c374) >>
->> endobj
-1232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.2282 401.7071 295.4778 412.6111]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [305.9386 401.7071 383.1882 412.6111]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 362.8528 191.16 373.7568]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 362.8528 252.31 373.7568]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_8bacbf073ef0e1064e8c53ede4ad59bd) >>
->> endobj
-1238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 323.9986 191.16 334.9025]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 323.9986 257.8493 334.9025]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_e42dcbc09bb42d181a19512206d15f70) >>
->> endobj
-1241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 285.1443 214.4126 296.0482]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum) >>
->> endobj
-1242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.9107 285.1443 238.4821 296.0482]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_26114c4deaf17e8a12123a0a8f760d5d) >>
->> endobj
-1245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 204.3817 191.16 215.2857]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 204.3817 205.2768 215.2857]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_8d44f98f79421126eba1448fb80331b4) >>
->> endobj
-1248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 165.5275 191.16 176.4314]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 165.5275 205.8248 176.4314]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Sum_e1191ef860c3201d40fa4e20fd02ba2d) >>
->> endobj
-1250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1219 0 obj <<
-/D [1217 0 R /XYZ 90 757.9346 null]
->> endobj
-1220 0 obj <<
-/D [1217 0 R /XYZ 90 716.2211 null]
->> endobj
-1221 0 obj <<
-/D [1217 0 R /XYZ 90 716.2211 null]
->> endobj
-1224 0 obj <<
-/D [1217 0 R /XYZ 90 677.4863 null]
->> endobj
-1227 0 obj <<
-/D [1217 0 R /XYZ 90 621.0729 null]
->> endobj
-563 0 obj <<
-/D [1217 0 R /XYZ 90 525.7536 null]
->> endobj
-138 0 obj <<
-/D [1217 0 R /XYZ 90 519.1534 null]
->> endobj
-1229 0 obj <<
-/D [1217 0 R /XYZ 90 420.681 null]
->> endobj
-1230 0 obj <<
-/D [1217 0 R /XYZ 90 420.681 null]
->> endobj
-1234 0 obj <<
-/D [1217 0 R /XYZ 90 381.9462 null]
->> endobj
-1237 0 obj <<
-/D [1217 0 R /XYZ 90 343.0919 null]
->> endobj
-1240 0 obj <<
-/D [1217 0 R /XYZ 90 304.2376 null]
->> endobj
-1243 0 obj <<
-/D [1217 0 R /XYZ 90 223.3556 null]
->> endobj
-1244 0 obj <<
-/D [1217 0 R /XYZ 90 223.3556 null]
->> endobj
-1247 0 obj <<
-/D [1217 0 R /XYZ 90 184.6208 null]
->> endobj
-1216 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1253 0 obj <<
-/Length 1837      
-/Filter /FlateDecode
->>
-stream
-x��Zߓ�6~�_��3E��BykҦӴ�I���p6g�b�b�k��� q�`�'�N
�c�iw��
-
�b�G�O�PH3.���O�����>��y��/&7/��j�%���}mA$(�������yD0Ƴ}Rn���.��IWer�gweR~z�췬H������ij�p�v���\g��0����yrh/ߦ�i�,��<���3���&?-:��d��p�g��<]��^M0b:��1�4�n'�2{�O�M~��4��|"��)�!,�#Һ�ǴJ�<]5s�1=,�l_�̄n^
-�X�S�פ6�ؤ�[�㶹��7�Wsw�M^���N�D��э��
b��$�ov�[
�iQ%5����]k��dm8����GMڛuZ�eRٙݗ��}5���|7�b����?1�y�l$�RĈ
--�f�
���s
�q�G;f�R*N�"ޢ+�
*4.�Hc)��:)ߦ������)�}4
I��C
�� �`���1���[i̓���2�r�:.�~6&�<laŪ�_��{�
��
��$[5�Rl�2��0R
-�"E1k�h
����
��G�
#
�5,.q|;��
CP����<I�`7�fء.�
�%�$���X�7ǻ<[6x�n��6`/��Ҕ�È4Ո(z~�p
iv��4}#ֳ��
��f�����
��3�h�4%)L��M
*@�B�
��;

<�
-$V'�uH�28�;�a�c����n�P
3���9�?�'ƚ]�`׌��b
��0c2��
-�0�
�'���d C�(D$ M6��#�	M
�<��A�Ǧ
�\5)E�1�����a��ǡ
���,_
l�o����R�T,�]�5]���c
����ٺ�G��etz�Z��P��
��J���2h��ԚjY
�2��յ,���z��%Z
ɔ�*E\CQR�I�f�������}u��F�����A�1�u� �
��)Si}�J!>��T_�	��,ʐz�VDz8���8���t�U�6ۜ5M�r��~t8@�ح����@�_0�Ə�Ũ+$h!V�k�QpD��!1ZXX������g׉�e�1z�>]�~��]�e��x�(Q
pidA�q�͆;鋴�����*1:6|j���r���d=�}M�K�Ȃz4d	���
���n$�G

��1x�
��:=��>�����P�]� ��z�M75�#gH)�eYPhX.! ���
��ُP�X��
�
-l�|�o
�O'��@[g�à
_���6F?2anU�g�����*��������'�c����SHkvV��s�8-*�M�pO������Ԇ�
�(i"��������x� �u��
�3il��>�#f�W��eWi�Q9
j�����}L�cz*�+:N(��+�EV8듊?G��p�PQ!YXXE���e�g���ewy����3@��zT��`�b���\�Q
-�
~�z`0H���`�@=����*�V�9DZ1���
����=	������2� �4�g�
�Ա�c�O���
-��Ӄ?��,��G�睙�/����8B���Ԍc{j��,�3�Ű��f�
i��v�@-���y]�	���,����
M���Y��_|n��=�f��N�z$�
�y�
l�VIs���L녡�2���Ԡ9�V(�q���ګ`��PK��
oL��3�[�����ƭ��+W0��X�ukꗢJ���4-۟�����V�N�c��$�G3zZ>VR�]�D�0�.
lF��"�������S{��۠�/D��
-�

�7m�j������-�Xd�e��~�ߜ�2ߗ��
O��4��
�BsR�p閄��S�-.��_�F�Y�m-�A*��9����(endstream
-endobj
-1252 0 obj <<
-/Type /Page
-/Contents 1253 0 R
-/Resources 1251 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1179 0 R
-/Annots [ 1256 0 R 1259 0 R 1260 0 R 1261 0 R 1263 0 R 1264 0 R 1266 0 R 1267 0 R 1269 0 R 1270 0 R 1273 0 R 1274 0 R 1276 0 R 1277 0 R 1279 0 R 1280 0 R ]
->> endobj
-1256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 579.5672 305.9778 590.4711]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 526.0195 220.6988 536.9235]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_6dec5edff0aa73961373ed7e1b9e0729) >>
->> endobj
-1260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.5144 526.0195 301.764 536.9235]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [310.013 526.0195 356.0298 536.9235]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 488.5463 191.16 499.4502]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 488.5463 252.31 499.4502]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_015f6e2febd260a93299564dfde659e5) >>
->> endobj
-1266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 451.0731 191.16 461.977]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 451.0731 257.8493 461.977]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_ffc79b9a795454f61542224d1b0dea1a) >>
->> endobj
-1269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 413.5998 220.6988 424.5038]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times) >>
->> endobj
-1270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.1969 413.5998 244.7683 424.5038]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_7f106ecc8b4f062f0b2b53cd3098e50c) >>
->> endobj
-1273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 334.8399 240.1656 345.7438]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Coefficient) >>
->> endobj
-1274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [240.6637 334.8399 254.2824 345.7438]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_121be923ed152a60238e69a8296bf966) >>
->> endobj
-1276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 297.3666 191.16 308.2706]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 297.3666 205.8248 308.2706]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Times_4b0fc20a0d733d684c6a4e7e8f49c174) >>
->> endobj
-1279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 86.2883 305.9778 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1254 0 obj <<
-/D [1252 0 R /XYZ 90 757.9346 null]
->> endobj
-1255 0 obj <<
-/D [1252 0 R /XYZ 90 733.028 null]
->> endobj
-564 0 obj <<
-/D [1252 0 R /XYZ 90 650.8947 null]
->> endobj
-142 0 obj <<
-/D [1252 0 R /XYZ 90 642.1538 null]
->> endobj
-1257 0 obj <<
-/D [1252 0 R /XYZ 90 544.3028 null]
->> endobj
-1258 0 obj <<
-/D [1252 0 R /XYZ 90 544.3028 null]
->> endobj
-1262 0 obj <<
-/D [1252 0 R /XYZ 90 506.9491 null]
->> endobj
-1265 0 obj <<
-/D [1252 0 R /XYZ 90 469.4759 null]
->> endobj
-1268 0 obj <<
-/D [1252 0 R /XYZ 90 432.0026 null]
->> endobj
-1271 0 obj <<
-/D [1252 0 R /XYZ 90 353.1232 null]
->> endobj
-1272 0 obj <<
-/D [1252 0 R /XYZ 90 353.1232 null]
->> endobj
-1275 0 obj <<
-/D [1252 0 R /XYZ 90 315.7694 null]
->> endobj
-1278 0 obj <<
-/D [1252 0 R /XYZ 90 261.3586 null]
->> endobj
-565 0 obj <<
-/D [1252 0 R /XYZ 90 171.5635 null]
->> endobj
-146 0 obj <<
-/D [1252 0 R /XYZ 90 162.8227 null]
->> endobj
-1251 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1283 0 obj <<
-/Length 1868      
-/Filter /FlateDecode
->>
-stream
-x��Z�r�8��+t� ;ߒI2�LR�I�\����i���P����4@�"����)������
d2��G�O�PH3.�˛	����?&�����
��lr�J��FZR9=��-H�%tzv�eF0�d� ��&.n���:�y�\�y�^q����m�'qq��Ǧ��h�l��:?�<�ti|�%�x�{o����UҀ�%\U���ogo&/�,�v?�IR��g���^¾�L0b:�;��њNo&�2�!�|��e�4���"��_(CX
-V����"K��^�%7�����]�,a�۱�`��T��q 5A

-K�Y��v*"_)
��`��Sߊ
����k�7Ū����E ��Av�a�DF�r��wi����x��~2� 
*(�J������U%�n�.{�!dз;�>
�@}����¢$�s��$~��0h"�Ne$ABX��K$Ht�GI
-�U[�6jR�N# %y
*T#�t�_�"�|�f�mv���u}�=Y����:n�s�fɦy�&y�5�6��ɜ��*�����A����� s�P��!�%��S���U� :�D%e$z���!�HD�
LRR$y0YXX0Y��Nv�a��
-x�)/U�xRA�L΃T
�C5�k�jw�7H(
Xb&�,X�2��Y�AB"�G 1,��c�'b�x}H�]���xg��Q�PwA$��+�����*�u
�"O��e��Z�_)C𗠊�dh`a:���������Q5������%;���:���"��NB�C��[XTha���BHvfH�ՃGJѱᓢ�
�S�z�0=�
�a
M��\�]�������:��K(��e��YY�Ŝ���>�UCnFՇ
�Q���[��
-
�3���J�� U��Pm
�@�X@�X��AeaU�
^Jz�)
D���9���,�"v�&\��.`�h"�>J���Q	B�F�<�j��iG�I����d�,�M�F\/ @j�&�t��$B@�F�63euD7�k�
��5�m��]޵}�^�=�c�j]�s[����ws��VI��M5W���׹\��l=�bv��櫯�,9
�D���3�
�d"

f"�Z��κ�. }���|[y&n� �T0
6�Hh�c(2��<��l�Y(��fe?:ژmv�P�EisF�:�N��
-B���f}. k
���poy����8��Q������w�`7�f'�^JZPbMI��#7���V�AI� �$-,(Iߊn�
��n(��s���x���F�
L���� �j��t]��
���ExD{�
�
>Ƞo�b�w���3p�A�H
.�r�!p���McpD�wmx�
���gn�a��t_!���1�)�î�@[�눯}���4*������ ]�MJ�򀁅�c��<�gg����D0�e>��� �4FBWg��ס�;I#
 �H/˅E�և�H�����I~�6
>m��$�m��I�7t�
hh~�m�GwM���~�� dXp�c�x���Y���
]x=��)A[v����%>~t&`m����¢B
��c����3�=
��Gjϱ�Ӟ�=���4�
C�11:�5��'�����l���c::���랜eP���[n?��5��]4���{�DO�џ�0h�A�p�c4��(�캻a(�s�D'X�W�Xͳ�G3�6�6�m�፻��r��v�5�:/�⪎�e�էmR�6b�׻8�ř��o�Փb����*�9
�x�1dQ�����is��y��[?��
���㠁��M�e�9=9���C�-���@iy��d'}^
�B��4��yX\Hİ$
.V�7��
-lM����{q�o�
�7��ɴ���~�6�A�endstream
-endobj
-1282 0 obj <<
-/Type /Page
-/Contents 1283 0 R
-/Resources 1281 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1179 0 R
-/Annots [ 1287 0 R 1288 0 R 1290 0 R 1291 0 R 1293 0 R 1294 0 R 1297 0 R 1298 0 R 1300 0 R 1303 0 R 1304 0 R 1306 0 R 1307 0 R 1309 0 R 1310 0 R 1312 0 R ]
->> endobj
-1287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.6144 251.4833 708.5183]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_a51b2de39e7e3568d5c9322de4b0454b) >>
->> endobj
-1288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [255.2989 697.6144 332.5485 708.5183]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 659.4944 191.16 670.3983]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 659.4944 231.0999 670.3983]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_ab53a108e173a6657e2af82a66ea3737) >>
->> endobj
-1293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 621.3743 251.4833 632.2783]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus) >>
->> endobj
-1294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.9814 621.3743 275.5528 632.2783]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2834d46309af2717b28dc79843e1331d) >>
->> endobj
-1297 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 541.6765 191.16 552.5804]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1298 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.6581 541.6765 206.1935 552.5804]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Unary__Minus_2f88b2137b58031e4838f19daff12f4a) >>
->> endobj
-1300 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [121.9298 342.3468 305.9778 353.2507]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 288.1847 229.3363 299.0886]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_642f2ab97bf846e69686a874001a9930) >>
->> endobj
-1304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [233.152 288.1847 268.3396 299.0886]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 250.0646 149.0979 260.9686]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [149.5961 250.0646 189.0379 260.9686]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_5c54fa6c29a576ab9de69361d15f8b17) >>
->> endobj
-1309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 211.9446 229.3363 222.8485]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable) >>
->> endobj
-1310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.8345 211.9446 253.4058 222.8485]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression__Variable_e2482d18059a20a1cea2423a8b3d1043) >>
->> endobj
-1312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1284 0 obj <<
-/D [1282 0 R /XYZ 90 757.9346 null]
->> endobj
-1285 0 obj <<
-/D [1282 0 R /XYZ 90 716.2211 null]
->> endobj
-1286 0 obj <<
-/D [1282 0 R /XYZ 90 716.2211 null]
->> endobj
-1289 0 obj <<
-/D [1282 0 R /XYZ 90 678.2206 null]
->> endobj
-1292 0 obj <<
-/D [1282 0 R /XYZ 90 640.1005 null]
->> endobj
-1295 0 obj <<
-/D [1282 0 R /XYZ 90 560.2832 null]
->> endobj
-1296 0 obj <<
-/D [1282 0 R /XYZ 90 560.2832 null]
->> endobj
-1299 0 obj <<
-/D [1282 0 R /XYZ 90 505.054 null]
->> endobj
-566 0 obj <<
-/D [1282 0 R /XYZ 90 412.6717 null]
->> endobj
-150 0 obj <<
-/D [1282 0 R /XYZ 90 404.9334 null]
->> endobj
-1301 0 obj <<
-/D [1282 0 R /XYZ 90 306.7914 null]
->> endobj
-1302 0 obj <<
-/D [1282 0 R /XYZ 90 306.7914 null]
->> endobj
-1305 0 obj <<
-/D [1282 0 R /XYZ 90 268.7908 null]
->> endobj
-1308 0 obj <<
-/D [1282 0 R /XYZ 90 230.6708 null]
->> endobj
-1311 0 obj <<
-/D [1282 0 R /XYZ 90 175.3221 null]
->> endobj
-567 0 obj <<
-/D [1282 0 R /XYZ 90 82.9398 null]
->> endobj
-1281 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1315 0 obj <<
-/Length 2038      
-/Filter /FlateDecode
->>
-stream
-x��Yߏ�6~߿�o����")���&E��%ۧ�X�2�V*K�$����o(��dɒ{np� Y��|��o���
�?2
�Lr�B�Y��ó

�pG���_��}��+�,D��b��TkqJ��a��G0�t� co��q��ǭZ�c����8�~�!�$�㛢���ˋ�7�j_%y6_P���Ҩ,��O�I�R*��|��y��������C��.�3A4�?�~�
�ְ��w�0�x���!���|��Cz���ߍ
�0�
Nذ;A!����2�g_����`����CR[o���2?���UE��ebͥ��r�e�*��yN��R��U��ӝL ӌ�W}Y�^
Vi�i�n���oYl��(|�..�b[�v~g�
��?��@~����"fQјE�D
�wz���W�Z�A
*��9��&���� �3B�
�HM �"LIp�&���H���S	��7���3A:���d
I =�&آ��)�
F��ko�a'S�w�7Uq��
H@��.$�R��M [:
8�<<�
���U%�ZW~�ʸH���)���������V�Z=�ғ��9�y�EG�cU�qo�2UD�Z��g����0	�&��d�Wv^���,Z%iR����
�qP���>���d`{�����6�S�='`�-����w/I���V�^�U�s�l�$�.__���}
v*��S-6��J��
B|*�/s���>4��3�|�*�,��kP��1M������ű-0R
���8j������^��`�C_Lt�G��ô��&�)��G$��-�j��-����R������6��Ϛk6�ﲪ���5;]T!�UT�մ
[���v�&����4��ﲭ*�ʂ�������O�/�񣝹WD��(;U*W^�	��
J��l
�$`#6��c�vw�@��:�L֘�9)	b�A���HM����3����]����XKf>E—���1Ғ1
��C��]
��V$�Id��Х����)��A���"�[lnBN��IJ$���ԉM'iK��I:��I�6���td;I��K��d��i�T`���Uo�
-�CC�����F~O_塚EIV=~>�U�)
s�LƝ�HM��
7",�]q����l@��
����޺��]z�
�B�������&R��� �C�=
E���s�oZѵ^p�S�ϵj�?��b��U��
?�v�
�>Џ.�>�_�I(
2 ��7�c�
L�T붎�j݈u��`���_�VhhUh3����.��}�o`�0p\ees��mVr�	
 ���F��-@
be��Yk�l��`\�Xo�4��˲!��P�4uV�r�(և5aE�)EHg��T��S�l��-ŀ)�
�P_2��^4�>�R4+m�Yy+3O��c��K;�$�1B	�<�V�bs�Bw���Z)="����bW
@��������:��Z'���_�7�Y�f!���3�����'��X?e
	�����	�	�8�?��P__c�7�A�u��P'va����%�� �
P%ᖟ�s�W��$�aw��_��P��
-l��F�#\#9~��#g�n��t�e���/�d��#����3<�i�䧐���T���0
'<⤦��1���H@��
f at r�n�LK�e����I�**�#M�&�Lz����ؽ�EY���6�?w��:m6�D>&�%N}%7�
_9e�A�����I�.-ͳC��1�����EނqD�0��!��|�S����g�Fr��m��v��W��⹂��zz
{0͢4����#����~qRS�CM
z
�	��#Fn�v-#�uR�oĽL/� ���@/�H�٠s1 b�n��l>^J���Z�>���I!���'�e} *v�-�ݯy�`.������y
e�C�Q�����Bۡ�KU|3�ܳ�ewq�Ґ�(�c
-���R4�c1�>��
�!j�-���y������
;aњa��ɖ�zz���U�}����
�d_�������޽��
��:��pB=,�`��I��>�`i�
���
-,MX�����|:H2���G?4t!1��?>��yendstream
-endobj
-1314 0 obj <<
-/Type /Page
-/Contents 1315 0 R
-/Resources 1313 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1179 0 R
-/Annots [ 1319 0 R 1322 0 R 1323 0 R 1324 0 R 1325 0 R 1326 0 R 1328 0 R 1329 0 R 1331 0 R 1333 0 R 1334 0 R ]
->> endobj
-1319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 640.7035 210.5274 651.6074]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Logic__Error__Exception_11bc5303b1d7a594017971538e60858f) >>
->> endobj
-1322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 354.4381 172.3606 365.342]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4dfc6347addaec85187c46bff12def97) >>
->> endobj
-1323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 315.5838 172.3606 326.4878]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ee14b86bac3475fb14914092715b5916) >>
->> endobj
-1324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.2983 315.5838 306.1254 326.4878]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [327.82 315.5838 405.0696 326.4878]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [431.1977 315.5838 513.9963 326.4878]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 253.8154 172.3606 264.7194]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_64a91a5f142efd873b50d2cb7d27e660) >>
->> endobj
-1329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.1762 253.8154 234.6264 264.7194]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3559 215.3348 177.8302 225.8651]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_c2cab9caa4fff25fd03b1012a0c8cf5b) >>
->> endobj
-1333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3559 176.4805 191.678 187.0108]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4cdcdb051551e8a23b6ff80a3294c5de) >>
->> endobj
-1334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1316 0 obj <<
-/D [1314 0 R /XYZ 90 757.9346 null]
->> endobj
-154 0 obj <<
-/D [1314 0 R /XYZ 90 733.028 null]
->> endobj
-1317 0 obj <<
-/D [1314 0 R /XYZ 90 659.6773 null]
->> endobj
-1318 0 obj <<
-/D [1314 0 R /XYZ 90 659.6773 null]
->> endobj
-1320 0 obj <<
-/D [1314 0 R /XYZ 90 603.3834 null]
->> endobj
-568 0 obj <<
-/D [1314 0 R /XYZ 90 478.4846 null]
->> endobj
-158 0 obj <<
-/D [1314 0 R /XYZ 90 471.8844 null]
->> endobj
-1321 0 obj <<
-/D [1314 0 R /XYZ 90 373.4119 null]
->> endobj
-1327 0 obj <<
-/D [1314 0 R /XYZ 90 272.9088 null]
->> endobj
-1330 0 obj <<
-/D [1314 0 R /XYZ 90 234.0545 null]
->> endobj
-1332 0 obj <<
-/D [1314 0 R /XYZ 90 195.2002 null]
->> endobj
-1313 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1339 0 obj <<
-/Length 3082      
-/Filter /FlateDecode
->>
-stream
-xڵ\�r��}�W��R�4;����N��&�&/������7����ק���@�U.ג�a�AϜ��`H6���9:3�'��-�tv��k_�����O��j��\�>��4#�3>����Q���5��^����ﶫ��r�/��f_쟾���w��W�^noV���+z���8
��?��e}��,J&�t��\�����o>Ez-{%4��~���:[�Y|A�pV�>�J�s|���\�7�����q��Ɗ���R.�J�U��p���ɼ/�7p6��o6�c��
��b
�Z뙡�HI��8$��C��Ԙ�I�!SF%aF��L��3����86���m�������}
-���co<{'sjc���'w
A�	��xʟ�9�1���3�j��3¨3x� �$�P�:97ű�����˶���n��pb��]
�������2
-�
�~TOi]�>?�E9_V�rs���Z�B�A8��t��3U�gcá����9:�����gBn9��$D���VZ֕��@�M at yV?�LJ���n�
�U�Z��
׼|�^��V�Smu�dN�i���Q=�VZR�KKHI�f+�u���݈���~Q�E�/6�U��:9=�J�{�؊ Cƈ5J�
B20c�g,"��
��L�\"M�r��P��8�A\�*���h�.���%L
iEo<�F�-�����"��YE��������
^
��g�"������sE�r��PaDN4�M
�7�&M�M�����1�#pZ*��2�����1vY���0�X
j��������0��/ԁC?��q
���X[�]��7��S0	�kG�1�2|L�X��4�
X�v�
��1�G�@�E��mq�ͱ�6�ts|��)�1L�/���fY^qz�{y�!ǽ
-T.ۏ���M>�%��]\��e�W%���Ui
P���C$��������h����я�|]3
�q���p
�gP-�t�c���
�������"�
� 7�P�B�cA��F�d7w�������|s�u�"ߑ�=��C����0�<��FX^�I at L�x� �4�TmvL'Ne�s�xo����n_
F�\n����
�ɍ�9�ס���_�H+7�m�d�m���#�b2L�-��޼������<�&10��iɶ�{l߆�!��gM�����)�����mm&o+�Nډ��� �
�A\��_�c���(�(��o�:\"��h=&�V���4C5�:T�)��U
-N��CQp���Q�)�ӫ�
������^#
�kR�v�]W��8ݷo��D6��b[T^���0��I�\��cKJ��jlQ��
��YSj�N����q;N�C�u-F�9
��p�����W?Ϛ�16��ɻ˦:����0����P���1]M�y�-�I.���Y]���Р���
�o'Z"'0PM{�+ d4<��	=X^PI at LQx� �4틗i�T&,�fH
�6�:���\o�O�j3�y:��;8m�0��Չ�
�

��XgT�"������sd����`�/2u�Z�U��v��.���mS���b����M����fY�WOQ�_�eڑ���p��י7��	��]����/
��/���_'��n��U9|�Ƭ����>�k��F��R⤳x5"*��S����(��&
[��z�4"����˅_���Pu{j��&ۅҸ�R4W�V�0䇟)��ъ�6�+:?��iፏ��*��ϯ��l��0tC����O�H!'Tj�s��9@��
 ��� x�� i�1x�Sm[-�.�J��tЋp��ĭO���
-,�	��H@�;	
���ȹ �St|�v�	$!��{(���&��M��"ӣ
-b4u�{"R�������5}_=V���
�rkA����
F3�7n
�*�LPY�%���I[��9_%��	J�Y��zZ�r9xh9/6˹�?�
.�("�sh�"��^ZJ�t���;��1ą�A�R���$&� �
��\�*.�F%�Gd�g"�-`S/�|>��!\�7m/\�`ag�<��n
?���]�v��@���
���ۋZr"��=���������A�i��)�Cg��qb��A����E���f
�WDeh�++Զ?N �1g�‰����,�~�i�K��s��C@�X��&L�E5���p��(��Y>���|.�<����pj
F�����P�،ѹ�
th
-�_hSஎ���,P���(NՉ6&n�b`�{�X{c�(g�v���Q�/�[����=�Ü
M�-��:_K�L�5�U?j0����Tp�f0V����g^��ҏ���d�>�s�{Q��_�{J`�2c�3�Lj� �U��
ԥ�ݔ���-�i
ĥ",vc��b�{�.4v7�����tk,�\�6�Kzٍ��y���.��c�͵P���4 b4����tҾ�j�t&xM�� ��m��`�R��㵉�
�x�a`�c2�8�k��Z���1ĝ��N0
��ī@
-�9©4]
-
�Gb
-}V�����'�&��ϭڌ5DP�s��4�
�YQ�E�ϱ$�e���꘰ ~�r�`yKJb���
���}�%u�L�$�� n�5��8��s�kP�әRET������F��h̡�%�J7�&�eЏ;iӡ�B0��!�2$����⽁�A�M�/��󾅗��L*�N�ȝ��W�G<���K�$0fJ�0�Tv3cz{á¯Eʜ�X�p�����y��i_g8
:S
'6�
'��k8'#5^����*W��
�1�1
��t
3>�9����I
-���Z�
�!!��o[���G��:"%;�g����)��v���!V�p���˶\9:S~k�
�@�5ϕ_���O4h�mg����P���		O�S(ɇ��ۯ�v�C�����?��jh�|_x�7K���bs�Pܵ���
���_�k\�9��/���<��ޛ�lϋ�����(��꧝�
-���'��j[(|����_g���5���u��	�I
-4���t<�z�����dq �j�'���n�z��%���2A��:�\:�%�ui��r
�����*pj��]�,e��� �.F������
��endstream
-endobj
-1338 0 obj <<
-/Type /Page
-/Contents 1339 0 R
-/Resources 1337 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1379 0 R
-/Annots [ 1343 0 R 1344 0 R 1346 0 R 1348 0 R 1349 0 R 1351 0 R 1352 0 R 1354 0 R 1355 0 R 1357 0 R 1358 0 R 1360 0 R 1362 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 1376 0 R 1377 0 R 1378 0 R ]
->> endobj
-1343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.7395 675.4889 264.4907 686.3928]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
->> endobj
-1344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [292.6723 661.9441 345.5577 671.8494]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.7395 638.7866 242.3539 649.6905]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_49981873be6474f7f399f1f54bc8861d) >>
->> endobj
-1348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 602.0842 208.3117 612.9882]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.8098 602.0842 315.7974 612.9882]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_23fb2ed36793d2fa8974d9b6c3f93705) >>
->> endobj
-1351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 565.3819 229.3625 576.2858]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.8606 565.3819 275.0205 576.2858]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_1a896ee4273234f7c7181d76bdd9260f) >>
->> endobj
-1354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 528.6795 228.785 539.5835]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.2831 528.6795 305.5862 539.5835]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_caffbc7bc53bf538c9d8a75cb4a7e872) >>
->> endobj
-1357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 491.9772 234.3339 502.8811]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.832 491.9772 314.3131 502.8811]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e1db1d48c605e6f79aa78ea2a4a9cda7) >>
->> endobj
-1360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.3844 455.2749 212.486 466.1788]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_5b935844aeba5303d77ca82130998245) >>
->> endobj
-1362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.7395 418.5725 268.376 429.4765]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_52edb70858467236238aaec3b1884d37) >>
->> endobj
-1364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 382.2438 201.946 392.7741]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_2d9c6ed1390e4148c2fccb3491c7b4a7) >>
->> endobj
-1365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 309.2671 192.8899 319.7974]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_f27bf62f81d315063d66dc394ef9559c) >>
->> endobj
-1366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 274.1039 316.3062 285.0079]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_4c0dddb2c112aeef626eef4d7e539d2d) >>
->> endobj
-1367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 239.3144 310.6274 250.2184]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_7c8c10d940074e8ec96a4d319b88e490) >>
->> endobj
-1368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [314.443 239.3144 371.2193 250.2184]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 204.8985 232.1922 215.4288]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_f66f20c1209205a55c53e42c83761b82) >>
->> endobj
-1370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.0078 204.8985 279.5141 215.4288]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 169.7354 236.0676 180.6393]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_203692374bea9a641aba897049f2ae03) >>
->> endobj
-1372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.8832 169.7354 317.7103 180.6393]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 134.9458 263.893 145.8498]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_cf903011430930b9c3afca546ecb07db) >>
->> endobj
-1374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.7086 134.9458 344.9582 145.8498]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 100.1563 267.0708 111.0603]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_d202d113166e7f68344ee82ba6e7b0fd) >>
->> endobj
-1377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.8865 100.1563 353.685 111.0603]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gb884929ad9e98d94cac675f7fe3e9771) >>
->> endobj
-1378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1340 0 obj <<
-/D [1338 0 R /XYZ 90 757.9346 null]
->> endobj
-1341 0 obj <<
-/D [1338 0 R /XYZ 90 716.2211 null]
->> endobj
-1342 0 obj <<
-/D [1338 0 R /XYZ 90 690.5275 null]
->> endobj
-1345 0 obj <<
-/D [1338 0 R /XYZ 90 655.8475 null]
->> endobj
-1347 0 obj <<
-/D [1338 0 R /XYZ 90 619.1452 null]
->> endobj
-1350 0 obj <<
-/D [1338 0 R /XYZ 90 582.4428 null]
->> endobj
-1353 0 obj <<
-/D [1338 0 R /XYZ 90 545.7405 null]
->> endobj
-1356 0 obj <<
-/D [1338 0 R /XYZ 90 509.0381 null]
->> endobj
-1359 0 obj <<
-/D [1338 0 R /XYZ 90 472.3358 null]
->> endobj
-1361 0 obj <<
-/D [1338 0 R /XYZ 90 435.6335 null]
->> endobj
-1363 0 obj <<
-/D [1338 0 R /XYZ 90 398.9311 null]
->> endobj
-1375 0 obj <<
-/D [1338 0 R /XYZ 90 117.2172 null]
->> endobj
-1337 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1388 0 obj <<
-/Length 3302      
-/Filter /FlateDecode
->>
-stream
-xڵ[Y��~�_���TY\��'�W�q��w��5��pfK�LR{�קq
-<hg�r��$���� ����J�U��BQ&V��Z=��o��^��:&��۫W��R�D��>�`�z{��5F�7k��>Tݮ�=�������6w]�}���|���uw����n[�nք��/�U��˟��
��f�0u��ͯo����m���s*����Ͽ��=|��W��J��{�AV��vW�P��zs�c�c�
KJ�
-TpW��^_�´LJ�^b�E����5WH.r �N�pP
-�c� �(Xy�
�����6ʗ���84�U��Tۋ7�-<޷�n�0��i�������ůZ�uLf�s#�e!�'n�/��\�
�T���rr�$H�ض�¯��`~�q��o몝��`RA��
�

�O1.O��5㫁5�m��_"e��PY ��i��
�xb� ��^���
T	A �>�O0��DO�V��`�� 0"9�2�����t��
#���m3|
�
���F�����	@a�QK$ʈ����t4�S�[�2�NJ:�⼎8E��:�~^C�U\���QUY���y���E
S^���.;�) N`2b1p��<}ʌ��bc��{�o�j8�K�F��I���)TzK�Ū
Mb�sX�k��.���w��M�r����̔l, C�.A?;D<R���i`�:
ͮ�_��s��8t7��Ė�R̋�,ɟ�p%��9/�dy/���4-�{i,v�*����)y���9ﳞ>l�W#�-,�_�=VC}���o����>
ۍ�x��"Kmʹ�<Q
�z [...]
�n
-�꺖��I�2�)�E��H�jQh
�v�l
-�aRPD��:	�Xs��2�4(]%l��
fp�t�D��nU��>��Gn���$���˗������Nհ�P��\�b
���nQG��q�W\h�(^:�j
�-�6�~����M
���d��%p�8��<�H�@�q���~�T��
��ד`�RkC�ji��~�� >�;P�Y>����@�!���C�
U�64HH��@%%�1�Q`�o��Z%_������ٵ�����J���-�:p\G,����)0����Ʃ�.����h��;��^ۋ�u��
�W?�u6x�#��%�5޹ې2,�v�JR���5��[�LHB�/թ
�t& .�BP��!�^�QT���	�D�g�O��M"v��$-�U&��
ۇ��
��4�)�d��Ѡ@U)
��Ad;� |s����<Y��
-��0G��1$J��f
-Di�Ӣ�
�hn�z��T�(�G<R�ܓi`?�ñk]�P�?^W�i0
-�ּ�u�th,���@
�gVh����u����D� B*+��(<����q"b�
-i�>R�b/
# �Ċ4��
�EB�
.�C��!�m3
���:��-�2��z at N d�S� �ї��G"h�y��K�Za��|���BT��SV_@��Y��Ā �bA���
�,b�������H�҂��E
��BL�$5
}،o�j{�{��"���"�
O��@�¥���&KK�4ar�}���Em:��
ä�h�S�@@�"���Xjөv]�/Ղ'�ȟq�H�Ih�xf&�
�
-I��ȵ�L r�_���HEaO�j�E!� �6�J��m8/�Ź6<��p��܆C�ӳ<ӆS��QPU�}�g��y.4�TB�. :
l�͒�8��:i�G��}z��Չ��y���}��|YpY�`?������L���c�}�j�L�Ӷ���v���px}����]=�]v��!ZH�Y.Gd�l����8)����r}6��^X��\P�g���ڰ
V�oo_k,�����/�c���eR;��
-r)�fu�F���v��<���ic�
ʱ��'�\*(�����6
�YS��m�O�;_'�J�#Pe���I$�ٽ��I�J`A�ֲc
�$�f�L����,�m3�L|�-N�Ն96͟

����3�N@΃<��K����ДA�P���,2c������B�H��1�
�
�_S	]��!=uZC�*ĜU����0K]
0�����Y S��I%�DE)�J+%Pe0ђBۏ'�	me:"A��J�^�"
����BY���#uĕ~W���3�Z�ޗ�/Z\�X,
��zQ���m��Aگ�j������~�5�abf��ڠ1r{g_�c/�
����l�=����
ۦ����[~v�G���P�
�S=����lR���'A��<s�z�M)��e�l�_}Y���}�n*K�;��O��~0E��
b��I@���~kv��9��^�����>|L����M��l����Af簹q�/�G�
(Ta~�4uL�A�(����lJA�=IJ
T9��
-A�
�
%�}����|�f��F�a�n�Pm�.��
}'9��� �
O�WOJb���ܠ�Xn���
Qg�,h����Օ/��+�}����{�zS�)�x?V���z��\��v�]�q��#B�0\�G�Kv�V
-|���%&H�%�e풔x�KF���H��
V��?�]bŌ.�37Ȯ��o�^'���
���k���W���j
W̌��`,�AG� rW�a��
�ͦ�-����B|C�bWW�^G�E3sU��y3G)3{���S#3��3�rO�G�S~�+ݹ
��&k�M#z5/	�#� �@O���>�s��#~0�}���CW����D(>�ꢤ&UĜ��8U�*J��G� 5U<Y~��$FS%-7L�Xnb�qEȩ��f��0���
j�0�]�D��2�����
j�J�UTEh�׃��p�w��ћ��HRZ�n���Pmm�c�
˪���[�{���OBͣo�^{�y���!
if���B
�����B���̄���|7<�ݠIT��H��;o��5<_��~t�7Om����|c�9�}�Oq!w�KSG�'E� |�6چs(
�3_��o�E�q>�����+K���#�
-i�w�}�
wz��F�J[���-0�������p?"��������E
�E4�i;�U�eΗ� �u(�K%��}��wh��*�*�t�&�[���j���������{@{�}�W+�DtÐ ��c}jY��"�q�����_n8$z��T��o�k�q�T���!�0�t��R��zÑN��o+��q�5/��7lWF
-���jz���^�����űm]�
�����$+��q	[��
��X�2x��!�}W�C��ѭKxYWiZ�ܙ�8�9t�
��!s3endstream
-endobj
-1387 0 obj <<
-/Type /Page
-/Contents 1388 0 R
-/Resources 1386 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1379 0 R
-/Annots [ 1390 0 R 1394 0 R 1395 0 R 1396 0 R 1397 0 R 1398 0 R 1399 0 R 1400 0 R 1404 0 R 1405 0 R 1406 0 R 1407 0 R 1408 0 R 1409 0 R 1410 0 R 1412 0 R 1413 0 R 1414 0 R 1416 0 R 1417 0 R 1419 0 R 1420 0 R ]
->> endobj
-1390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 671.7773 239.036 682.3076]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_ab8f9339a589d7ecd8eba424cd8c8d3f) >>
->> endobj
-1394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 636.9081 239.3251 647.4384]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gd7cbdacd9a5e2c068c25c12f47f8936a) >>
->> endobj
-1395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.8232 636.9081 262.6973 647.4384]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_31c3eb3b5ccbe373dc04fe4d86234b87) >>
->> endobj
-1396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.6628 601.6652 288.6442 612.5692]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_81cb4962caaa75c19cdf6c8a5af4e46b) >>
->> endobj
-1397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.0212 601.6652 335.8439 612.5692]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.3063 601.6652 457.3231 612.5692]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1399 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [484.0289 601.6652 513.9963 612.5692]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1400 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 590.0836 146.4543 600.614]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 543.8819 193.3581 554.7858]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.8563 543.8819 252.2964 554.7858]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_fa2c94e0b2f7b773f7d2daf6d53f9874) >>
->> endobj
-1406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 509.0127 193.3581 519.9166]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.8563 509.0127 264.4906 519.9166]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_75aa539f287d460bc26a347512e51760) >>
->> endobj
-1408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 474.1434 230.2893 485.0474]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_053b3ad9ab9c0920ee835d51589cb703) >>
->> endobj
-1409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.1049 474.1434 280.1218 485.0474]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.3147 474.1434 349.3315 485.0474]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 400.7283 256.8593 411.6322]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
->> endobj
-1413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.3574 400.7283 349.5407 411.6322]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_54d7ba808dcfc372e231fe597f5daf1f) >>
->> endobj
-1414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [353.3564 400.7283 459.7862 411.6322]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_g9006be5f6c0f7616400b3554738e732f) >>
->> endobj
-1416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 363.8665 262.6176 374.7704]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_caf3268d04168d4d22ebe73d9578d7d5) >>
->> endobj
-1417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.4333 363.8665 371.7572 374.7704]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_ge574051d412d3ee587c872f48de81663) >>
->> endobj
-1419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.4109 156.5074 342.6604 167.4113]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1389 0 obj <<
-/D [1387 0 R /XYZ 90 757.9346 null]
->> endobj
-1411 0 obj <<
-/D [1387 0 R /XYZ 90 415.8067 null]
->> endobj
-1415 0 obj <<
-/D [1387 0 R /XYZ 90 380.9673 null]
->> endobj
-1418 0 obj <<
-/D [1387 0 R /XYZ 90 328.539 null]
->> endobj
-1386 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F86 1393 0 R /F67 238 0 R /F38 1403 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1429 0 obj <<
-/Length 2468      
-/Filter /FlateDecode
->>
-stream
-x��Zݏ۸߿�O=���)j�zw���
�&{O����\[=Yr$y7ۿ�C��D��7�E �ǐ3����%

��"����(a�Xl�7x����;���������۟_$(T,��
A����}Z�([�	�xyJ�c�9���A�t�gUZ��ݽ����}�"rY>��ZS��?�i]�����iUll�h�,�d����͛�N<+=g�h��|��;8���X"��:�$���MD���7o���c&�!%p�Z�t����Z8U���j
�)�p*�rk�(�e}>�ʪ��D�
O�%zTi�=dyּ��FՎ�7�q��3t�,J3\����+m�� b�S��Y�i���H/Պ��צJ�z����Z᠃5!(᜴Gky��1���R���F�\i!�ȩ̊�΂V4��l�vfD�12*
aL�E
\	���DOU{K�a`��~=\05�t_}�D�‘ ��D�����ž<���>��w|hApE��5˚2���H�(jw�
@�Hd
{�ˬɊ�
c��z2+��:���v�Eڜ+e����XG]����
\2�K�1��C�O��Ne�
-hזf�R��A0hL�0��-��sӢ�	�"���w�Fii^�t����,��p�|>�Œi��C��ӊ�'TYZ�N�-�a&5�}�)�	�	c`�%Y	A�aq
��~=\@�d߫h��	.G�L�h�������i�O��sU6���ܔ1Zy �2_����
��>�AϺ�Ʃ�iF��.�KclL��)�_7w�����"���,�	/�%�1�6��CZ��6��ˇ*�y�������{���4�[P�n<pe�
�
˝j}v�:���(�3'�6w��
�m����'���,���.-?+��2��oL���Ly	�՞G�!�H�b�Dq�
84�c",M�'
Q<$"HR�6��yV�φ���E1" �Q<g�Ά��f���:s�
N�e%���QۍL
�
�P9Z
f14�b�I�'��3p
��4��������; ���
-�#F�GN�-��	sTZ&8 �s5�:;U�fa�
x���"*9���*9��t�v�������� �ݤ'
��
�.%������ ��ã�/8���$��
�zH5-ie��� HR�x{��:!�UzT���1H�(�Z (�D��z*��Q�(& AG6p,��vq����;�)[FN�l�����ƅz>/�̅��ch��y}s�� �uE��1Dq�q!�y

�.� �@E�	�o�n�ICp!�3�H�@G�Ũ���]��}sب�U���%H/�&:��>"$EI��/��
-z�_�	�c�����E�.)�F��`��1��V�]=-�$�x��r��L
{��x_-D�M
�My��\�
-a�.3��ꊺ��u`abn�%�x
3/��? ��$}(�.�}S���[��"�
�e6_�F
��m#B"�F�g[�@�N�����CZm�|=����+��'�
,��C��.�1����ۼ�Z/�9G1
�.<vD��
Ȅ��J#Ę�~EӕF�VT�_[͈a5×�tE!�����2@@��"A��^t����*-O[
�A�a$����Ax�$sZۆr��Mg6�p�*X��Q!��H�k�q1�af&����kB�Y���:��]ˊ�A��S�lV
R]Ί�s��M�QH���8�$�;�k������h�6\
yl�/����@�`,��^��9�;��=�D �(���QM��ԏ�s����^8�i�o��D��M���Um�]3zB��	#�8 �S�#��D".��uTS�#
rIPTxl;
��!�_F.�Bh`�&Wt2$��IG6
{�R$���<_G5��+�
Ɉ���J���
-��mQ
I1h�T�-@���~����c,�{8�o�~�j��~L�_?<!����T��~LM
�~x��O�������6�M(���2����9�9�hY�?<<�y�ۤվ}��H$�ya
�T�"
ڞ0C�1�h����C4��G�]�s
�Ԧ�7��Œ5U��K���rN��?��eB���ڷ�8�_��_�^�C����S�����s�x�h����+�6�r����q�H�z,�c�g�b
i<E0xdw�ߩ��������{V/�R�O�����e���
|���D�t��7��VM
P(��
Sq�p(��l��50pu�F�5Z9B�+���<B	f¿�v�uP�p�T��u2L
�	�)���<�� �\�"%x��y�r�1����
ڿ�O��j[�
{i���	���5
�u2�_
�L筹��=�tZ����n�s��^ל��U�݊�
�Z0-�����oo8
6��'��jR��� .�
�P�f���k�m���-XV�D�+h��VӡiNw�����h[�s��*�5��S~;ɓ\��
fl��&�xƂJ1,�'ˣ��
��Fg&,��V�M��
-�<���Z秀|����endstream
-endobj
-1428 0 obj <<
-/Type /Page
-/Contents 1429 0 R
-/Resources 1427 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1379 0 R
-/Annots [ 1431 0 R 1432 0 R 1435 0 R 1437 0 R 1440 0 R ]
->> endobj
-1431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [264.0056 707.9571 322.4559 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.9118 678.3775 329.3621 689.2815]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem) >>
->> endobj
-1435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.6509 461.5383 406.1727 492.3826]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
->> endobj
-1437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.6509 240.72 406.1727 271.5642]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
->> endobj
-1440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1430 0 obj <<
-/D [1428 0 R /XYZ 90 757.9346 null]
->> endobj
-1433 0 obj <<
-/D [1428 0 R /XYZ 90 640.8932 null]
->> endobj
-1335 0 obj <<
-/D [1428 0 R /XYZ 90 618.5814 null]
->> endobj
-1434 0 obj <<
-/D [1428 0 R /XYZ 90 618.5814 null]
->> endobj
-1336 0 obj <<
-/D [1428 0 R /XYZ 90 452.572 null]
->> endobj
-1436 0 obj <<
-/D [1428 0 R /XYZ 90 438.0017 null]
->> endobj
-1438 0 obj <<
-/D [1428 0 R /XYZ 90 199.1261 null]
->> endobj
-1380 0 obj <<
-/D [1428 0 R /XYZ 90 176.8143 null]
->> endobj
-1439 0 obj <<
-/D [1428 0 R /XYZ 90 176.8143 null]
->> endobj
-1381 0 obj <<
-/D [1428 0 R /XYZ 227.8415 124.0607 null]
->> endobj
-1427 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F83 715 0 R /F67 238 0 R /F8 311 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1443 0 obj <<
-/Length 2149      
-/Filter /FlateDecode
->>
-stream
-xڭYKs�6��W��A0����I*�l�dƛK�R�,qW"�
���6��=�-WY$�l|�n|�M�%�?��x)�D��d�;/�� �?-�����f(�ϻ�͏�Xj��,�

	A������"Q����꒖�t{)N�G�/��)�/�����_?�~(�D����9�7T�������G�`�i��
(c������/��u�<z�b�����/���.�/0bZ���`D����S�ޜ��uz�D�@����X�2��z+ ���D��ٚ��g����n�l�o_k���t��V�tg���l�*+�j�����Z@oAZ�`1�{�wv�
|*���Q��GRsx�>rv�%�+/ ���t �I(�+  QB9o����+�P��@52\2P�O��YS�zriv�.{�{���h��룗.N~��..� �|$�
-+���r���R	���K�D��јj�6C�i\)�0f�KD�֍%>ظI��ljSV���	�H2J� &@:�)� >�  L�Z;��N�l~���t�  ňs����u�y{_�p�
��uO8�\�<5���)�
���3�ڂ��Rd�9/�Q\�R+faT����d�C}ܚ���
��
- at +5o�Nj
-"�HkLBwDzhΒ=bI��
�/8&k)�I�����\L���� �A@$V²�c�0�K+/�=\�<�ք�+�f��
)�#N��z�����g(a
�	šigp;U
�����^~3|�E��fS����/�|a3AK�C`TkD �C\�@h��`�LtY,�ًb��r�e��̈́�}�o�oLJ��SO���f���E兏�g���S�Dv8��v�Y�w�l|^9	��G@M갣>u|��p��t<���4a2v��Y���ӳc��|���4ˍ����
�+	�ɰ�`W�
-Ju2�+��k늺�fym��!��mc̲6�~_k
-��RPVm?�:Re�%�=���sZV�mCTh�
�k�aDM�r��^��8���k���'(.�B���	K������a�DE6`e
-1�m�MJ��u��`ʙ��j��P�é���k(u=q�	yu��->��&(��������'�S�ߦ���RO at iH	�\��H'5��d
-�� �)��$Q��������
­��FRڞ�}ф'(͋�-�+��T���za�	-�M�OH*	�/�`Ćd�,\�('�
�cC
-����
�
$'�x vE����k�&���JB����~l�Q
Җ�m_��lĦ��0�FN
s�$f�^������簊ݍ ���Z����Ωe��ǽ�Uba�@�'�<�
��
�F*_M,��g�e�"N,��ۈe�"=�L�ĉ% 3$�
��J�!�KA�6%�LPh�ow�S9��[g��/����
����e�PV�g��lH.N��e�J�
Vn��:�&���W�q

˅�i�ed�0�ي2	��vOW*�+q��=|��h�f��������ا�6��A'ַH�X���J�DfQ�����sd�5_ZE�
��
B�a���k����1؇�P8
����)�__8���	�8�ubo�Y���6� LP8�
-'�,�FVA���j�a�P��f�
!���D��ŕS
��f�|����\�` �a>+�8�����)��:�>����G��ɚE��k�,b<���ΎZ `7/�+�E��
��_��Ѐm�����P��Zh;�jR(�|�+82-�\����}Z��Zxt��
3�n�m
V�l�4����6
�W����p�WOn�m�u9�\�$�+�ʼ���Ⴊ�3c\H����s�P�:
-R\�Wsal�.���sa'�6.��Hυ0q.
��\�<��
Uw�a�}�v$^�0n󦜍����Y�g%�޳LyVj�<��r�6��5�
�z����d�6��X㥀�V�hQ����p�M�D*�@�9AZ2�? � �O�y��o[�s��:�s7�����U��N��cz�~��+ͷ�6+��2�?ֶ|��O�C���\�&e��~�V�}2flM��P	m�f��l�~�M�=�<Ѿ��
4�k�t���������U�1�.%����t3����
�_o:�	��Y\$��X
گz�¿�ݰ��m�B%nߐ��9��6	E�|��X�jendstream
-endobj
-1442 0 obj <<
-/Type /Page
-/Contents 1443 0 R
-/Resources 1441 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1379 0 R
-/Annots [ 1446 0 R 1451 0 R ]
->> endobj
-1446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.6395 598.5635 300.1613 608.8447]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1MIP__Problem_e0371bb311150040a06e7839efb57a83) >>
->> endobj
-1451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1444 0 obj <<
-/D [1442 0 R /XYZ 90 757.9346 null]
->> endobj
-1445 0 obj <<
-/D [1442 0 R /XYZ 90 733.028 null]
->> endobj
-1382 0 obj <<
-/D [1442 0 R /XYZ 184.9626 564.975 null]
->> endobj
-1447 0 obj <<
-/D [1442 0 R /XYZ 90 548.864 null]
->> endobj
-1383 0 obj <<
-/D [1442 0 R /XYZ 90 442.987 null]
->> endobj
-1448 0 obj <<
-/D [1442 0 R /XYZ 90 429.0329 null]
->> endobj
-1384 0 obj <<
-/D [1442 0 R /XYZ 90 331.1062 null]
->> endobj
-1449 0 obj <<
-/D [1442 0 R /XYZ 90 317.152 null]
->> endobj
-1385 0 obj <<
-/D [1442 0 R /XYZ 90 209.2726 null]
->> endobj
-1450 0 obj <<
-/D [1442 0 R /XYZ 90 195.3185 null]
->> endobj
-1421 0 obj <<
-/D [1442 0 R /XYZ 90 89.4414 null]
->> endobj
-1441 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F25 216 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1454 0 obj <<
-/Length 1929      
-/Filter /FlateDecode
->>
-stream
-xڽY�s�4�_�7����V���<q77Q�#۹r���,ɱ
�M9`n�������*�c�G�
-�� Ÿ���3<���̈_^���O�����k)�
-)I��~�r�	J��~��`D�͒`����g�CY|��M�����ʪ�ww?|�f���!�|(��fI^�*��v�?�n��Yk`�(W
An�߿�}uߩ�L���_���N�z�S��?�
FD):��8eᥘ�����q
�1aנ@�R�
-���#a�&�!x�����eY�̸�k�����U
��w�
>�������kA{��	I�$�N�W;�����c�y��}-��
�N�PJd
-�,��
�LzD
��r4�.�G�\����MS�0I���J�w�@��S�[%U�^�B�"i+�g�
O�0��P8��Q2-���G��%������`��c�Qɷ���x���',5;oyp�BU/��s
y��1Zr��
(""��7��߁g��6Ys�_��uY�^�ǼU��C���t�

=L�Q!Ŵ���.{�H$b8}��MJ?yؙ����:2+�
�)
+o��8��6x�GG��M��G���h�c�.��}���~t���6�^X�4zh܋���luV� �s��8��E��#AJW0
ʣ�����퍻�Li
cԇ��aԇ�&
S�R�����o�5p�;+�Y�W��ozݗ��
ͺ(:5�	T�o��U����#��w$�NH����
-+�n�iF0��V�� p�W����_�:l����J�M�aLR�RE>��F�1�P-8S]E
�%�
�s�[��#�t����Y �t46����\��d����Gm$�p<�H%,m��8�pFJ��\n�?��#��d�!��B�k�7�\�77ˎ�ϳM&��D�
F�
J"TM

p�'p
΄K:m�	)���W�>��h�m��ڠ����B�d`ڭw�丙�Q����NFLt%��]�r�Lp0�H��&�D��r��
|���V�6yT�^7���c
-LT�3M���*FGv	�Hp
E���:�a�=�
-V#
�Cw����~���ݠΏ�
-|ݘ������]�0�H=�%�O6x ��H,t��æi���\l�1�3d�H�&� ���7C�֥i��
�e}�
-�A�~��
���3����
�=�	|U/k��R$mk0)3�Ɍ��6�S��g؂��>7�&�!'1�=�d:q��.'.�Џ$΋��s�6�&�֘�)��`�@���fӰ�� FV�UV=���d/m�
�'�Ε~(ϑ2����y�V�
�F�chG1U���P�:ݟ$�A-A����P�J;
79�U�
���^� <�}���Զ_�TP�����l}�[�H[	�ϴ�Cm	
�A֔>��^�
(���\��hO
�
��0�z���I��M

/p<+�ۀqt;C�|JPy��
��z������C�j>��M}1�PMi�L��]�=0�B�����3"z"�
u�<��K<�r�|���$�$�H)L'A��44K	t�$� �6/��b���!奏�/�����
�I�dz
-Yq9��K��u�K��V��g��zD�#� ��H=)C
�#%P�,R�@8E�P��H�kE��T�ᄘ�g�Hh ڔ�6�Y�m
cS��n(>�$2u>+'�v�Z�I�"G��Թ,�`��vC��$���m3J`
-�*�ьޫMD��+F3�F
��)b����7��OK2A�7���t�S"��Xhm6�!����]^q/��-l��3�x�
=�o
���v_�O�Ժ��F��O ?d���AΰUݍ�p:�.&�
��z�&�0���ǘ������4݆eoG���	�3��]�
�no���кFG�*�7��Cq;ԋC+�wO�z����
{yE���6�ݾ���V&=���OU��}{�|抶#��o+���endstream
-endobj
-1453 0 obj <<
-/Type /Page
-/Contents 1454 0 R
-/Resources 1452 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1379 0 R
-/Annots [ 1461 0 R ]
->> endobj
-1461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1455 0 obj <<
-/D [1453 0 R /XYZ 90 757.9346 null]
->> endobj
-1456 0 obj <<
-/D [1453 0 R /XYZ 90 733.028 null]
->> endobj
-1422 0 obj <<
-/D [1453 0 R /XYZ 90 649.6201 null]
->> endobj
-1457 0 obj <<
-/D [1453 0 R /XYZ 90 635.0498 null]
->> endobj
-1423 0 obj <<
-/D [1453 0 R /XYZ 90 534.1819 null]
->> endobj
-1458 0 obj <<
-/D [1453 0 R /XYZ 90 519.6116 null]
->> endobj
-1424 0 obj <<
-/D [1453 0 R /XYZ 90 330.0474 null]
->> endobj
-1459 0 obj <<
-/D [1453 0 R /XYZ 90 315.4771 null]
->> endobj
-1425 0 obj <<
-/D [1453 0 R /XYZ 90 224.6615 null]
->> endobj
-1460 0 obj <<
-/D [1453 0 R /XYZ 90 210.0912 null]
->> endobj
-1426 0 obj <<
-/D [1453 0 R /XYZ 90 109.3776 null]
->> endobj
-1452 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F25 216 0 R /F67 238 0 R /F83 715 0 R /F10 971 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1464 0 obj <<
-/Length 1862      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�F~ׯ�[% �}8B��n�,�4��}i
��F2��%����
)�D�5�X�ACΙs��eh2��G�ϕPH3.��
�����3�W��j��~v�F��FZR9��9� A	��o\�(_��xq��c�p����6��c
����.	^��'�Yf����|I�E�?��mcNe���x��!.
-��hv�Q�tc�+%E�t�������Z�`�`�X��;��g<߂mog1
��3<`D����SV=
fw��j>~�
r� �s|C�R��7
1DhpP��5߻���_g��>��.|���íw���
��
|v��||8v?a����\M7�IK뮛7k��1A2�
�j��'jC"QM�+K1_q���<A�B�9)/B�(
XmM:$�#�Yh�
-�m�$�S���sG|g�"pTM�a
uml�k �<���v��D��7
�G���o�o<�H+0��9��!M�q�
 dq�"�h����\j��=��}�z㫚���A��$�R�+5F )6b= �K�� ΄p�IQ���E�
Η
�v�m����Br�
�Q�'�@�X�p�$��`�VD�&U?_#@f�KJ$D�4��Q��S�%��{:��}%Z�A�B�0q��0Tn��mv�����y����(�rx�5U_�N��)�Q��)ϖT,�mL]$;}�t"�B����$�䎠~z��))��H"JT�h��"��ֻ�
O3� ��xI]	���V�����$����,I�Wv-	2�Z���G���x���^I�!�vLj�j��{��1;�[�
 �����
�\آG�91�$�m�B�xz��f���g#vW�1��\��+��aoR��e��.ώ��e��������
�z����@NKzuHh
�	K���qؠT�s
-NQ藣k�)���`)�r}���� 
�C\w�:��ah�b
AV��CN?-�ӉqM:�)��
�[�������T�1�{��h���F�cp�����!��C���� �9�/��.#����&�fj�ǏI�+�۳o�}���DV��)�*��vz~�!o���;��P��4ꭚjB+����Ϡ_ߕy��E5M������Χ�y��f <�� KlǏU��S�&%%w�����q�gƴ(��GY��
-r��T�E
-6x
���BJQu�vDB�m�89T��kSl��ߓ��os��QXN
{�)�m\?��c �
��ԙ O�O&��� �P���S\T�=�^l�����9��8
��\)���w��j�kN}1(*��[tV�5�j����� ��4�pe�
`�`� �d�pT�iNȭJ[K�ti{A/S��օ)�üɚl)
��H�

��-����{�C�� ;����n��if�uT<
!m������u
򮄫|ѹ&}:<��?��,���5t�?µV_�s�`�5�$�G%^�<!��sKP�и+���P�O������|��E��B�U�ޚ�M���d��`�ö]���@"�x$^44y�� 5���)�y��R�=�b6���:'Ŭ�aN`�pY�_ǻ�H(���^�M��p
��rk�7��p
�-����q�=��wƆmO
	#��S�WTS�a���˧���ñ~�<��^��U�7
-��)�]��
0�4��O�,b�G/���G*Ɉ5cx��h?7h$���� v@�Ք���GVxxۜD�v����>����|�f�Mx�}a�/�B,B<���9>T#��a�)��s�BK����ΘnP' F@@e����ϼZ�k!
X5N���j8��׺�,O뛛��g�)�9MN9Jʛ��p�Ջ
�P�0-�:���z���ŅD
K�ҥ
��Yn§.�V��"��O�����=D��
��x7�endstream
-endobj
-1463 0 obj <<
-/Type /Page
-/Contents 1464 0 R
-/Resources 1462 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1379 0 R
-/Annots [ 1469 0 R 1473 0 R 1475 0 R 1476 0 R ]
->> endobj
-1469 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 464.9171 224.515 475.821]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Overflow__Error__Exception_6c67cb8304bf0e784ad1aa328e82e20e) >>
->> endobj
-1473 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 196.2761 156.0318 207.18]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_5c1e588b7f6a9f94b053a5cec723dfe6) >>
->> endobj
-1475 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [123.594 157.4218 167.0906 168.3257]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pair_3_01K_00_01V_01_4_637f0b668a07b52f0fc9454c13f4d16e) >>
->> endobj
-1476 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1465 0 obj <<
-/D [1463 0 R /XYZ 90 757.9346 null]
->> endobj
-1466 0 obj <<
-/D [1463 0 R /XYZ 90 733.028 null]
->> endobj
-569 0 obj <<
-/D [1463 0 R /XYZ 90 571.3392 null]
->> endobj
-162 0 obj <<
-/D [1463 0 R /XYZ 90 564.739 null]
->> endobj
-1467 0 obj <<
-/D [1463 0 R /XYZ 90 483.8909 null]
->> endobj
-1468 0 obj <<
-/D [1463 0 R /XYZ 90 483.8909 null]
->> endobj
-1470 0 obj <<
-/D [1463 0 R /XYZ 90 427.597 null]
->> endobj
-570 0 obj <<
-/D [1463 0 R /XYZ 90 302.6982 null]
->> endobj
-166 0 obj <<
-/D [1463 0 R /XYZ 90 296.098 null]
->> endobj
-1471 0 obj <<
-/D [1463 0 R /XYZ 90 215.2499 null]
->> endobj
-1472 0 obj <<
-/D [1463 0 R /XYZ 90 215.2499 null]
->> endobj
-1474 0 obj <<
-/D [1463 0 R /XYZ 90 176.5151 null]
->> endobj
-1462 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F10 971 0 R /F25 216 0 R /F72 307 0 R /F23 835 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1479 0 obj <<
-/Length 1989      
-/Filter /FlateDecode
->>
-stream
-xڽZKs�6��W�� o�s�$;[;I��g/I�EI���T(j\�_�B|H�y�\.�d��Cw��
��'x��B	�r�����n�gF��<_u���ݼ�b��DR9�{h4H�%t~��uA0�r�"��>�v���̿<�m���ٺJ�/o��.	^4o�/���N`��/�����5ߛS-�^�bc�+��X�������w��`�X��~�
ϷЩw3�X���.0"IB�����gf?=�A��9��^�����D�[�7u��f����9l�l_gea;t�VЎ&�?��4����٧Y�Z�����b��Gs�߯��k��~����ߒ�d��Mk�($)��Jᕬ?�M=P��y�S|��|{h�{�jk���_
�s�ݓg[n�;S�i����CYM n�_<��Ti݂~��]��i��yi�?gţ���47o��d
-i�.��ɠ^�	��3̓���(CC�K�l�\�%
%XʞQ�*D
-�'�}L-_]�\�B���@�M�FÊqD���Մ�2��
�;D�#Y��v���}܏�Ʀ��N�
1
-u�����}���q����nm|.�m�
����O t�Թ`J|>�@B�R'
��D0DG1�X�@0����;�=��'�Qε�c���z>�Ԫ+v.�,��>i��� He��J��R�0dG�����Tp���
��	Tz�
P�Gգ�y�������Z�L��]��� �P9�&�N
-R�k �V��`�ៜ
�d
�P��$�� J���B&����� �j`��w�-*��LY`�M}��àl;?��
O,<
i^���G?:�ʂ���r䭠�����	�*'�ЇK�d�D�>A,J���	�D�z���^C�>��'�o�wD��8G�0h��Q+�@y��j�(yA�'�*�ttL��� O�W' P	N�&Ol��T#̈́�������p�<�v[�t�^E�
���g�H�<��%e�n�qH�a�4� �B�NJ6�Q�E0���:�TLq�K]�P�d
-�H��^�M���0!_�M,1Œ��X�M]�l���l꙽�M}T/`S�H�MkS�#�i�ȴ��T�1�� 611��HG��QW����e"5nzm�0	��<�r~]�@�#`6F�V,N���)�L�m��5#χ�:�.��FH0�>��.�'�G ���3�EXS:� 3�8��ǩ�! �_��꘢N+6��������{u����҆�q,�ק
�P�mZ�8m:
-�h3m��M�쵴�{	m&!��Z��(�x����i���e`��X
�e
��O��sR1�/�:t�
%�,.Ӆ&v3��)��D#0�]Q��k���H	F"��A�
�{�j��r��uw�����^�K;���]����]�5��6"��N�Y�t�&
-A��i��D��B�3+��-�l;���2�� ��h+9�۠4�}��t�PV�6���AK�_J=� �Aa&̈� �
-�oa�ŮZ�uuL�� ���
-#�c�m����5�%�$�wl��֡�_jkEZ�o��m�k�2�ي?
-h�Ӄ=�M�N��'��kO4��`;V��e�ɵ6eesl�˰��u%ϭG7u��9Թ�v{l$���ib�P0Z�&�A,J��	bG�zb��^M�>�;r��	�9�ee���	H>D�쾁�l�aA*���3K�q�q�hۃ�{D/�vW���؉۽�����n0?E�oe~�{no��=knvz�CVgi���9�>�T��?�d����uu��P�p;K���?Tx������H���
-C�����?�ټBZ�� &��NkA�>p'���O"o�#lw�;�~�=Gw����>zU�-jS=4'�뗃�������8�y;
��
nnB��!; �y����BIz>uO?����J��Ju
4�k��T��777���hs@�"�W(�o���f��
Xpۼ���*����a�
����BvP%�rŤ�[)x�,�
-��5�
���
�
�� �%YUendstream
-endobj
-1478 0 obj <<
-/Type /Page
-/Contents 1479 0 R
-/Resources 1477 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1498 0 R
-/Annots [ 1484 0 R 1486 0 R 1488 0 R 1490 0 R 1492 0 R 1493 0 R 1494 0 R 1495 0 R 1497 0 R ]
->> endobj
-1484 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.0676 499.4061 247.4643 510.3101]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_51207bdf0804635cce036bd6b6459abf) >>
->> endobj
-1486 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.0676 462.918 248.0223 473.4483]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_952c4e092ec518368be278c13c689acd) >>
->> endobj
-1488 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.0676 426.0562 256.0719 436.5865]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_9f9880633bb81d02f27e6fb22dc83bdc) >>
->> endobj
-1490 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.0676 389.1944 240.8193 399.7248]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_0f295b8b6083b12c373b48417ae8a466) >>
->> endobj
-1492 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9056 351.9591 233.0785 362.863]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_8219b76f7582cc02ef563bf70b045ae6) >>
->> endobj
-1493 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.9056 315.0973 231.0063 326.0012]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_4254863fcee52d3a2ee594e14999fc21) >>
->> endobj
-1494 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0615 241.6821 287.823 252.5861]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_3d5082778a4123e14fc66912860bb420) >>
->> endobj
-1495 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [195.0615 195.854 304.9686 206.7579]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1497 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1480 0 obj <<
-/D [1478 0 R /XYZ 90 757.9346 null]
->> endobj
-1481 0 obj <<
-/D [1478 0 R /XYZ 90 733.028 null]
->> endobj
-571 0 obj <<
-/D [1478 0 R /XYZ 90 627.7461 null]
->> endobj
-170 0 obj <<
-/D [1478 0 R /XYZ 90 621.1459 null]
->> endobj
-1482 0 obj <<
-/D [1478 0 R /XYZ 90 540.2978 null]
->> endobj
-1483 0 obj <<
-/D [1478 0 R /XYZ 90 514.4845 null]
->> endobj
-1485 0 obj <<
-/D [1478 0 R /XYZ 90 479.6452 null]
->> endobj
-1487 0 obj <<
-/D [1478 0 R /XYZ 90 442.7834 null]
->> endobj
-1489 0 obj <<
-/D [1478 0 R /XYZ 90 405.9216 null]
->> endobj
-1491 0 obj <<
-/D [1478 0 R /XYZ 90 369.0599 null]
->> endobj
-1496 0 obj <<
-/D [1478 0 R /XYZ 90 160.5265 null]
->> endobj
-1477 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1504 0 obj <<
-/Length 2157      
-/Filter /FlateDecode
->>
-stream
-xڵYY��8~�_ᷕ1���`1�\Yl6�&=OI`�m���,yutO���%S��
;:��bU���X2Ya�GV)^�"F)��j{�«{�����!��>�ϷWׯ"�JQ�hu��
"�%tu�{�h�	�88f�!�
������٦���~~��fMp��m��W]�m�\�T��e+�}�������zM�@�j�`
�@�����W���z�c����ī

��F,M��	^0"iJW�+N�{)��]���c�9k¾�
�!
	֛#B��wy����
��k���l3=��!������E�]�"N��ʢ��?i�޵u^��8Y�,ެ)z�7��.+K����

Di���S����T�r
%L)cQn��V�]]6��y4Vs5�V`�����O60nnޘ��P� 9�\
��qt0�����D��N6f5/����&���k��ȄmF&�<�ݲn����I

	�|+��
.Рȶ���[�b�l���'�l���ӧ�m*����[s
������<��Ԁ��Ǽ��鮑;3j+�~���兛6
X`#c
�@
�
PC���̃Z
����7f%+-�~�wU�`F`j���j�l��\�l��a�p�O�A:�Q:��&�|��ؼT���|{N4�݄sn�@Uu�ܿ�+�U���
�&�8~
�:�A��m3J�W7�Am�1o�jg	�����s���A*f��l&�`��Ƭ}��c���c�)��[u�W���뺖۶Бv&qs�r�>�P B��>][�p�fE�l�Z���Ui����)l�D�A���VU�؎�����Rʝ�V�NH�W.R�$i�<A3n��Z��-�[����Aג���|u�ɦ�j�9Ÿ	ÐE����Ǎs�|��Dp�(YA�D�'t���T�O6U�@i�<�'nJ�O��
)mЀ���k�]!$�5r7��adن
�_
-��G 6B �� Ps��Woߞ��:�|����� �HD�~8�A�|
8�䭗�'�A�Y�aZY�O�c���~ڷ�D{���.	a�KBx�ڨgc� ���k��/�V6��U�UW�{
�
�G�J�%
��r~��a�S�꠪<�}0�\��}%1k6J��jA�Ȏ�:��8]ӛ�t��y��H��0���S��{\ǁ{p
Oq
�D�Z�q��6��j=e.:b��"k��ؿ�pc�Z�ؾ��`�WEQ)${�r�B���P8&(=�h�3�!�X�O|�Q?P*&��a��ĞjI.�(�Q4�{�����"uI��)�|T��zH�j�{�5dp�K⿾y��E��'���u�{6�^�b�lz�
�
p��֔/��7�]�ʕ�5�63D��gPBE�Op!�z���(�A
r]
���X.����E�~I�	_��!�s���m���˱2�G!0/��-( 

��
��ܭ
����bL�J&J�w
6V�1B���
�M@��k���z��lҕ�`�����Ǭ�丅��ʩn_5���y��0�w�i"���p%�j�0gB�?�L<E�
-��L�l9�<�����>�|�wUU�l���%�H��|r�KJL��|:NP�DjW-
�Q-ɍ)ܸ0
��M�
-p��<~��pB��� ��^��>S
T1b)�o,\����LP�X��|����<��/�w�ǥ|wd}��z�8BQ�^䳡�Sw.�6Ix#��r��Y����00,�Pd��]�9�s"�L�N����#u
;0ڳT|�/<
���	D!�r�T`��Cv/��$JP��,z�Ы'[D��O� ס�@�z
Ez-(1�k?Sl���>��@w�L.���ZЂ��:<�b�J@C1I��	K������+�4�Fp��
ԝ��9H�8�mOH�w���˿�K���lh�AR�,���k�k��){�chޥ�5�N��,FN�X�qI�8��
�c���{�F�(DL���]�
B"EB01���ξ�6̼�NO���[=����]c�+3�f��hd�7���5��Y�9+_y?��I8
6���I9��á�'m�8ڦf�a�F��`7���ұg�	_�m{|y}���
���X���>
����a��J��^�/<�h���Y������8��<�{��
c؋M{;�}�WR��9��� }�W�endstream
-endobj
-1503 0 obj <<
-/Type /Page
-/Contents 1504 0 R
-/Resources 1502 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1498 0 R
-/Annots [ 1509 0 R 1510 0 R 1512 0 R 1515 0 R 1516 0 R 1518 0 R 1519 0 R ]
->> endobj
-1509 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.8935 545.0503 513.9963 555.9542]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1510 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [89.0037 533.0951 155.753 543.9991]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_868e2f5d243f0fa2bbc4abef8f68fc74) >>
->> endobj
-1512 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [325.4728 453.6966 424.8693 464.6005]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Parma__Polyhedra__Library_3d5082778a4123e14fc66912860bb420) >>
->> endobj
-1515 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.1145 285.1266 210.2683 296.0305]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_c89f45a1ba3b8814dbd6be95e571cdfa) >>
->> endobj
-1516 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.9425 246.2723 170.9659 257.1762]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_e268ac659921ee5731b202d530b9d35d) >>
->> endobj
-1518 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.9425 165.5098 237.3764 176.4137]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function_b3b4fbf99544ba087c9b1bb423043849) >>
->> endobj
-1519 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1505 0 obj <<
-/D [1503 0 R /XYZ 90 757.9346 null]
->> endobj
-1506 0 obj <<
-/D [1503 0 R /XYZ 90 733.028 null]
->> endobj
-1499 0 obj <<
-/D [1503 0 R /XYZ 90 716.2211 null]
->> endobj
-1507 0 obj <<
-/D [1503 0 R /XYZ 90 716.2211 null]
->> endobj
-1500 0 obj <<
-/D [1503 0 R /XYZ 90 627.602 null]
->> endobj
-1508 0 obj <<
-/D [1503 0 R /XYZ 90 613.0317 null]
->> endobj
-1501 0 obj <<
-/D [1503 0 R /XYZ 267.991 536.2482 null]
->> endobj
-1511 0 obj <<
-/D [1503 0 R /XYZ 90 519.5211 null]
->> endobj
-572 0 obj <<
-/D [1503 0 R /XYZ 90 391.5487 null]
->> endobj
-174 0 obj <<
-/D [1503 0 R /XYZ 90 384.9485 null]
->> endobj
-1513 0 obj <<
-/D [1503 0 R /XYZ 90 304.1004 null]
->> endobj
-1514 0 obj <<
-/D [1503 0 R /XYZ 90 304.1004 null]
->> endobj
-1517 0 obj <<
-/D [1503 0 R /XYZ 90 182.5807 null]
->> endobj
-1502 0 obj <<
-/Font << /F65 229 0 R /F67 238 0 R /F52 213 0 R /F72 307 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1524 0 obj <<
-/Length 2525      
-/Filter /FlateDecode
->>
-stream
-xڽZ�s�������
-΄�{��t���6�ݪ����p �� �Vؿ�{/�� Ǔ����������
I���‹X�H1.��^<��_7���UH�����k)
-)I��ng8H�%tq���h�\�qtL�C�>���c����>����|ss��8*󢩳fm�GOY�_��^�eK�De�\Q���i]���l�����d�W�DB,?ݽ���]��?�$���z��^la�o�0b*�'x��(E�+N��_}��w��N�cf���N�!,k�#�,�*k�|�m��^e��ʏM��
]�4�.�
1��a�W�l����>�N�Ƭ6O��>��Tz��YQ�y��7Y��4͟�HR�
��F0
��
n�Mi?�c��wg� ��rIE��g�(=lE�n�<�v|�h���w��aI��y,��}.��s�80�S.%��Vk#}�2�Y��+B��Z-�jha�P
��q��ڨyt�;��Ơn+Ƅ��>����ko�&�v:�A)��D L�x!�@"����V!�0��0f��3p����,��/�`�bFɴؖj(�c.�c&.�L\B�IU�-��~K�}ܛr�,0Zj���nR?��
v�غq^���!����[3J�&���g�)H

��`��|S_�I��ךE}}׷6�֯]:��@0/4�HQ��9��kV
s$Y,`D�qԁ���p�C�u'�_����L.I-АQ�'�e�ϴ
)ct
-�uXv7ys����pl��M�-i������dʨ6�>B��>d���+ė�Ys�|v3�!�x�6�)3�D
G�יּ�b�ovY��e�^��=�i�a��E�I$Gr������uU3F>�wș�"�jSZ�]�$P[:������`pP�U�����;���6��V�nWV��>�,aT��
��
�
`��`+���
�,ub���(�Ԧ
Ci�$ ô3RI̼7��+ ��;��q���z�	8����(
���s��>*�W;��33��ݴ5�Xr�ѤnӺ�E���ME�f�]�C�mY<X�	
mˡgam�h8.���3��$����6Qf
!���"&p��y
�8�
-h�:�zѴÏ�)����h�1�)>���F�@� A�K�M�Y33ʦJ�;��eB}薽���۞t�HhqH'��(9
�/�ڠ7�tDu�%����n/�T
˰4�ʡ�
{�07٘ճ�0�@��㳇�H�
���qHZ��W��1�H�}g�)�V���l
-
�'7��Y�6~k��<��+�{�q�j.�t�s3r��qA�g�x!�X�^dP�[2�{��ac	�(
q&%�Tsr	G
-C�ޑ{��aؙ�#�uw
-"�L�dX�G�?�c�\rX�C��,�완%(\�C�ǶQ�@p�<�ء�F�ѤE��Kx�d
�ɠ���-�.�SՃ�y:�ӯ�#��Պ�9�)l�j��
-І�4�GK5#Z8�0Օ_��6�;�BIr4
����6 o�h�������
�ɢo���t��7��X_��+D%�#e	�FO`ĥ	
�[��"�����TH��A�w�d�!�?�M_Q
/:�<nMf@���p�-J��G�
-���@{f[�gq�(���Tsr��aE�b
@xm$� ��Fj;P)���;�<���~N�_��0<,
�U�=Y`�"��j�/-Ռ2"������d\�7G	U�0 �(y�<��A�	Ka�0���5%%� /9��Ҋ���
-��aP\��A?q[`��:��d�������6�?�Lqk�m,B�1Jd�R��o�:�i8��vR}��
�|��1�C�[~H�Lf�Jj��aaT�^ᴱ���
M��۴h
B��L�AYLl<�O���6�}'V�7����3�X������y�+4&d�$LgP�%�E���*��u��;�
-{w�#B
�dO�ID0�sJ
�j���� I�(����1<՜\�QL�>�E �!p"�oB���x��Ω�R�K��'�6�'� �
�[� 2�����(A����ͧA�p*
���4Ŏ���ġDB����������Պ=dP
�*׷9�~3��4/r	3ʧ��R��Cc�e=�@�
�B��X�� -��}��qm���,��j�9u̡��4KK5�'����hu��
BÄl<�`Ó�]U_虾�rpҭ�`�Ջ.C�"tSA%�i*:"
ta��a��_\��3���;����m�3������?�CH�<p�82z�Y`
�M��P���߃�
U^ ��J��!��t?��	#��i����@
E�u�3@(�/�AK>'��������NZ�%�VIߡ+i�4
-�
-�/��`�)�!C�H�|�O
�}��'����&�9��
^��է��;���_��Ƿ�^�>�	���tZ<�����������R�ȵm�����u��*�^�����
�G�A

�D�ֱ���e�G?������%
4����4Ǜ�맧'��ѩȏʛ��q=�-����	_�Z��.
gq!��A�uio���A{�-
�*�����Ɓ�`�� ��2��� W��endstream
-endobj
-1523 0 obj <<
-/Type /Page
-/Contents 1524 0 R
-/Resources 1522 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1498 0 R
-/Annots [ 1530 0 R 1533 0 R 1534 0 R 1536 0 R 1537 0 R 1539 0 R 1540 0 R 1541 0 R ]
->> endobj
-1530 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.6832 299.839 207.2395 310.743]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1533 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 205.5697 231.4254 216.4736]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_307f552cb6559fb3316979350f0698e4) >>
->> endobj
-1534 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.7395 157.8571 189.2236 168.7611]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_d3ecaaf79c9a60ab4848342458e261d7) >>
->> endobj
-1536 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 123.042 273.0286 133.9459]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_cb627ec2ad25203404db2046bd1b415c) >>
->> endobj
-1537 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.8443 123.042 414.7458 133.9459]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-1539 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 86.2883 272.7793 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_91754711e181bd642b50021a3750ba1b) >>
->> endobj
-1540 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [276.595 86.2883 414.4965 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-1541 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1525 0 obj <<
-/D [1523 0 R /XYZ 90 757.9346 null]
->> endobj
-1526 0 obj <<
-/D [1523 0 R /XYZ 90 733.028 null]
->> endobj
-1527 0 obj <<
-/D [1523 0 R /XYZ 90 597.5352 null]
->> endobj
-1521 0 obj <<
-/D [1523 0 R /XYZ 90 574.6007 null]
->> endobj
-1528 0 obj <<
-/D [1523 0 R /XYZ 90 574.6007 null]
->> endobj
-1520 0 obj <<
-/D [1523 0 R /XYZ 312.6726 497.9368 null]
->> endobj
-1529 0 obj <<
-/D [1523 0 R /XYZ 90 483.2913 null]
->> endobj
-573 0 obj <<
-/D [1523 0 R /XYZ 90 365.433 null]
->> endobj
-178 0 obj <<
-/D [1523 0 R /XYZ 90 358.749 null]
->> endobj
-1531 0 obj <<
-/D [1523 0 R /XYZ 90 246.3532 null]
->> endobj
-1532 0 obj <<
-/D [1523 0 R /XYZ 90 221.3633 null]
->> endobj
-1535 0 obj <<
-/D [1523 0 R /XYZ 90 140.1157 null]
->> endobj
-1538 0 obj <<
-/D [1523 0 R /XYZ 90 103.3621 null]
->> endobj
-1522 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R /F83 715 0 R /F11 265 0 R /F72 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1545 0 obj <<
-/Length 2935      
-/Filter /FlateDecode
->>
-stream
-xڽZ�s�6�_���f"� sOMr�I�is���xh	��H�JRq|�-��"�8��d,����ⷻ ��?�H�B	�R��b����[x��
��0��	^^^<�Q�E�RI���� 	������%����5�/Y�Ϯ���No��j�_WY�������2/�Z7Wv�"xy�+��{d_[�dYWo]eMY��T��]V���}�["]l���R���o/�qV�*�$f
]��^la�o/0bi"�0���)]�/8e~�����߁��h_�K	bR��D��#T�!ɓ~�� L �P`�(CX
-

��"�Kn
O8XZr�d��ts���,
�"z�aB�C�TGm�:L���8uD��5qVl폲�=�_05�J�$^�]^ϋp^�5���^7U��v^�����Ϧ
��ƒp��aD�@L��#@�� � �8Y(B+~���S�#���F��(F��#)�>4�L�($)M��h�;�bL�Vl�p(�S�ɥ�t�Y���X~Z����DdO3U�:��*�~N�_��� �Q�$b��)�(E�1i)�x�����E0
-{�-"�uq��%o��*?�k�Q�贮�@5�E������X`�O�n�(D铐+b1\�*�-�7d��by��j��� ~����;m��96f.Myӣ�Xl����y���4ux<D
� QHv� ��lv��`
F�7�Z(!ju<�,�D�&0gZ���X�#�#��3�G�뷂�	}1�L� ��+���<�(I��I7��
IT7vf!F@���$��xL��'�6(s�ꦇ%:TG�e0��Ǡ
�G0'���(CA7��
�x�y��Nʹ\�4��
Դ��d���@
e Bʞ:����)6�k4˶�+"}M(�\2m�@5#,�R.T�!�y�rS���c-�g5��5�8;�$��c�D�'������[�v�� �	�$�xL!�'3Z����}�ZO�%�Wf�m���8>���r[覶_�nI�
�$�ވ$R]/�3��f)f8�H3r
"u�~"u�y"�(6����*��c�[LZ&P�(` !1GI]��A3�z�	���O, [...]
-yBx�m8���
��̉�$pokI�۫%;��Z��Z�����
��H�nW�j���]H��f�~����
Z;
t8�k��c�
-)��\"˛�^O6���)읖�7;�^E'�7U8�3��-��b�쭇 >�L�&P�h@
�ٮKF��g��i�@?�A���W�DbL(Pͨ�a����iU7����
����(��)1�{�Fk
!�x咵7�����M�
�|&8
?,T�l,�c
���(���z:{�k)�O:��yLe/O��^����
Ӕ}Q�����
z�ī1��&����"X��J�~?A�:���ì����ϛ�q��ni"�`p��Y�9�@S�<e3�&��暘�D����rMG�W��]u
Q��(6�k4;dyu�������F��>��Ӧ�D3
-P�o
����ܹ!Or�� �1��(�������U��S��+W�k�r'�]�-7��|��Oz��ڠ%��v��֎I������rO[Ip�–�
�-}�E�ߕ�{��ce�o}]
ۃLx�;�fE��s���&P>r
-�G�
�� fy�O?�5
KW,�Ϻv�X�eq
3 Q�]�$�X��X�"n2���� ��,��M��|1�Zכ*?4�=��E1�x7%S��h�q���#��by��J(�����ӯ�F6�����P0�Ӥ��=Ռ|
-��Aoё_^��!��kh��Y����ŅKh���̓m��r�i1�ؘV�<�v�0�dE�g�qZ;�`I��c�o̳�v
IVkKd����`�
�����hǶ�{#gc߻������Z�[c��A��������
-���g�$ܓyf�r��%p�|Yn��,�6��.;��_�V׺���ʷ��Ѡ'[��4�;��Ec���JDt}�Y��to4*�҇J���M�"
���ut�)w +;g��S���E�}l���A�2��g��+� �2e��W�D-z�$�!�h�
-L0�6P�D�/u�o�[i(� ��mx�5����ZC �d�;�J�>@�OfFQ����	��$c�0ܖ���i�
�
��rԍ�:m�
��+�*}0��
�Izr?�f��ttUi���H����_�ak^�� p!���Y�)g�7��!���]V�/�]��2?����`�sߗ`]� WU��|��wF���>/"˅+O�� *���� ��p
�Ї\� ��J�T
-%!��;���N��]�y��8�-�&!3
-��-7�	?S2X&�����7�^����:q!7̙vC���`��xZ��5��rX�̎~��+7+�ykS�۬pI�!�}��v�:x�X4�h�rT�e�݆�/�4�ms��xo�髦[]�X��n*���i�0��M���#7
�J�X������9K����vɴwڻI��jN.�(�Еt��؞�~l�����y��z]~~ ��?#p
�,���vs�L�P�C�J�?�TM��%��e�d��r��\
n�u`Щ2�k
�+
Qd
nx����~-�7��ce��&s�z�~
�0����>�Xoxq%A8�����抣��j�-|�4���e
-H������y���/m�Fv�H�l��
���A
��+���Іˤ�}K�;q
�W�b�ۭ�rC�2;��.�����Ng��1�u�� vV7-���/��u���)\��]V�˽&a�:� 
-�þtF������H$�<1�������ņa
�a[Dh�ט�i/�?���G�A{�P�<?
v�g��#a�l���@4Х�,.$bX��.a���ʵ�L:��2�,X�P�ۤ4EAؘ~��G�endstream
-endobj
-1544 0 obj <<
-/Type /Page
-/Contents 1545 0 R
-/Resources 1543 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1498 0 R
-/Annots [ 1548 0 R 1549 0 R 1551 0 R 1552 0 R 1554 0 R 1555 0 R 1557 0 R 1558 0 R 1560 0 R 1561 0 R 1562 0 R 1563 0 R 1565 0 R 1567 0 R 1570 0 R 1571 0 R ]
->> endobj
-1548 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 697.5074 323.7378 708.4113]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1549 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.2359 697.5074 381.9688 708.4113]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_6a0c0235057e5bd924816e77fbe24f13) >>
->> endobj
-1551 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 661.6639 323.7378 672.5679]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1552 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [324.2359 661.6639 374.3673 672.5679]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_b86276be6b184ca176f526bdce7db8cb) >>
->> endobj
-1554 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 625.8205 224.4513 636.7245]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_43f91b349368a1f43667546d2d844941) >>
->> endobj
-1555 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.267 625.8205 287.8233 636.7245]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1557 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 589.9771 228.3268 600.881]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_25fcf44b7620128ac3646cf9cb7ec333) >>
->> endobj
-1558 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.1425 589.9771 404.3449 600.881]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1560 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.9745 543.1748 232.6364 554.0787]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_0ae5c861cdc8a2fed1057cb873c928fc) >>
->> endobj
-1561 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.6691 543.1748 408.8715 554.0787]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1562 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.341 543.1748 513.9963 554.0787]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1563 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 531.2196 218.952 542.1236]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1565 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 495.3762 238.8173 506.2801]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron_1deba0aacc90a96b069e32f8c3d4559e) >>
->> endobj
-1567 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.6832 404.9561 207.2395 415.86]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1570 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.1811 103.9127 379.0826 114.8166]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-1571 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1546 0 obj <<
-/D [1544 0 R /XYZ 90 757.9346 null]
->> endobj
-1547 0 obj <<
-/D [1544 0 R /XYZ 90 714.3536 null]
->> endobj
-1550 0 obj <<
-/D [1544 0 R /XYZ 90 678.5101 null]
->> endobj
-1553 0 obj <<
-/D [1544 0 R /XYZ 90 642.6667 null]
->> endobj
-1556 0 obj <<
-/D [1544 0 R /XYZ 90 606.8233 null]
->> endobj
-1559 0 obj <<
-/D [1544 0 R /XYZ 90 560.021 null]
->> endobj
-1564 0 obj <<
-/D [1544 0 R /XYZ 90 512.2224 null]
->> endobj
-1566 0 obj <<
-/D [1544 0 R /XYZ 90 450.0827 null]
->> endobj
-1568 0 obj <<
-/D [1544 0 R /XYZ 90 296.5866 null]
->> endobj
-1542 0 obj <<
-/D [1544 0 R /XYZ 90 274.2748 null]
->> endobj
-1569 0 obj <<
-/D [1544 0 R /XYZ 90 274.2748 null]
->> endobj
-574 0 obj <<
-/D [1544 0 R /XYZ 90 170.2121 null]
->> endobj
-182 0 obj <<
-/D [1544 0 R /XYZ 90 162.8227 null]
->> endobj
-1543 0 obj <<
-/Font << /F65 229 0 R /F72 307 0 R /F67 238 0 R /F52 213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1574 0 obj <<
-/Length 2474      
-/Filter /FlateDecode
->>
-stream
-x��Zmo�8��_�og5�w�����
ڻb{�
���"Pl%QW����4��o(�2�b1�[� ����pf��C�d��,4^(��f\.6�
����\w{
�ס��W/_K��HK*W��I���.���-	FT��c�|H�]z�PO�ٶN����N����+��U^6����+���Ym~rC��I�Uy���괩�՚
-���H�{��Cv��BY�ɌaΗB���z{���n&n��Ib����o��&��#��x�
���t������○wz����x	ž0����{�)�˻lw��)�>��&����T0F
c~:g�@날�
K�Yz�#�S*����(x:g�#�����gF�;w�C�! ���z��z޽�ʥZQ��+��D���@�@f��IEܣ�B+:
xdWc
W�'���<�=3@
 L������%C��A�� Bd\^
-Ibυ��K$�	҂'�"�#lиu�NA�p
-FLQQ����єq��C^l
���cS=<�oխ���/b�#xV��D#�4w�iZ��m���l��(��V��c�|EZ�Ӭ 
Qsˀ3�ЉEY!T8N�����x��-�&7u�Ʉ>�����"Kˑ;��0�s���|̱�^�X��!-F�L����|H:��e�b��A*�8�&9I�;�N>��P�
ÔD� j>@�T�=H
bf-7�,�p���,�	ṯ�3n}ȚCm��w0�1������M�4
Jb�r�Ji�u4U�����W(��x��>j¨
+"I
M
����C�o+�WLy趨9�}
�sF�'�Qj�Ob�����(��y�
��v���m��#  LP:��4�y��g#��g�q�s3�`ȼHbQ�R1�	�$׃d �͢>W�Y�t̡ۋ��U��w�i6	p�%�Kз�l›���
���xjw;x麖��vu�B��
����fqyBK��DG�A�aѳ��
�:�(�B�3ȋ������*���y�"����
��:6���7�S�k�b��w�و@OHЮ�8z���ub���{p

�Χ�:�
���oAn��v}����C0P8�y�
C�=� 9�{pt^>��H��%�lG�h(#BfCAaG�U�d�be���;��������h{ ���aj'�%^*f_P$�
�I�
���Lӳ�!�1G^,���5���,7��o��`pGhA#���Yl�2'�}O��	�K�
�X
��9����@���u���s��y�Fz�g�u6&!�KeLG"�bv�^��ADb�� b��3`ꘁU'faUd�>ۇ �W����w�Sw?k�Vh�
$e_�D�Eם֕��8eSI'��a�A�<+xG����'@F�
���M�i<�<���S����q

-����|����
�=�_��?��yij�^�7L˴��;F��H&�����KŬk�K
�#�v����P�
ڽ���*z���LM�|g�E�R��c�M�R�5���G�c�L*De�
_r"�^s�ʚ4/�|_e�M�?8�)��x�
(�U�Cy|�p|��9�ݼ�c�f�K��Z?N��_0���V�&�˯�&�����
��������Tī���d�\ӤS	3�\)�.�S���[m��lR��aJ���:Z�#��
(Vk-�r�
�����+�w���m�����eo���-d�q���y'���ڬ��Mu@�
p$�
A����SD��I��/�Q���k/���PO�1]
�����u%�9φE��˻�1Q�������0X�R��3>�
��Iz{�7/V�mI���	� X���,�N>��Hol�LM�0����IE�SX�~�g�Xt&:P>�I��&7����T�2d�
[��j��C�X�Ш]�ւ�eM���ێ
��M��p�q�0�c�U��>�
-�@���iʼi{w�>���\�O�",�m�dV o��|�����=wj��ڈ�02܁�p2��F��n�m�a��k��MzSd����a|_
�m�[�;����V��������M��
-b
-����Rwa((7k�����m/ZA��N���=q���~��x�F�\�L×0��:
��=���z��v�8�
���ٳm�}1K6{�����B���F�=�}tkz[N��}��w_s���:��/S��l��w�o�=�	�#j��e�5UH$v����[�mH�5)6���.+�
-�gz[W��/�UQ��[ �+�Ev9���
rr�
-�l:���g��q���?=���ߑ��v��oخ!�ׯ��O6�15����D(�FBL���f�k&g��;'U(�	
g-�b�냽��y��
:w��{�/��؋��
��;�wN՛�۶�6n�?P�3��*�]Z
��ز8��w�jN3
�(�e|��8l-�e�bj������������{PA�FzM���������G�٣C�?�(o^></G��
	SB3�^wB#_z��B"�%���yK��؄Z���g��)E	���F������!�endstream
-endobj
-1573 0 obj <<
-/Type /Page
-/Contents 1574 0 R
-/Resources 1572 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1498 0 R
-/Annots [ 1578 0 R 1579 0 R 1581 0 R 1582 0 R 1584 0 R 1586 0 R 1587 0 R 1588 0 R 1590 0 R 1593 0 R 1595 0 R 1599 0 R 1600 0 R ]
->> endobj
-1578 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 697.2473 286.1128 708.1512]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_041438b5dfc0a27bb1ef8944ccef9b20) >>
->> endobj
-1579 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [289.9284 697.2473 462.1308 708.1512]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1581 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.3831 658.393 201.8299 669.2969]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_d6b10e19a21f12cc1e19304c400cbcc9) >>
->> endobj
-1582 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [205.6455 658.393 377.8479 669.2969]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator) >>
->> endobj
-1584 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3559 619.9123 179.3546 630.4426]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_8f633594965f90e853f0a0b7d9667e7a) >>
->> endobj
-1586 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3559 580.6844 179.8029 591.5883]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_1063791d47e047aeeb186ba499482460) >>
->> endobj
-1587 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [140.351 541.8301 199.9073 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1588 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [200.4054 541.8301 251.1046 552.734]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_5204a6f9136985b1cf438bea23fd9489) >>
->> endobj
-1590 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3559 503.3494 177.8302 513.8797]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_3e689b13a25dfaf0b6f22b21127bf4f9) >>
->> endobj
-1593 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [160.3559 422.5869 191.678 433.1172]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron__Iterator_4b29f6a5bfc34297ed8cad2fc85141ef) >>
->> endobj
-1595 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.1811 339.7666 379.0826 350.6706]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Pointset__Powerset__C__Polyhedron) >>
->> endobj
-1599 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.0718 208.039 218.6281 239.0077]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1600 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1575 0 obj <<
-/D [1573 0 R /XYZ 90 757.9346 null]
->> endobj
-1576 0 obj <<
-/D [1573 0 R /XYZ 90 716.2211 null]
->> endobj
-1577 0 obj <<
-/D [1573 0 R /XYZ 90 716.2211 null]
->> endobj
-1580 0 obj <<
-/D [1573 0 R /XYZ 90 677.4863 null]
->> endobj
-1583 0 obj <<
-/D [1573 0 R /XYZ 90 638.632 null]
->> endobj
-1585 0 obj <<
-/D [1573 0 R /XYZ 90 599.7777 null]
->> endobj
-1589 0 obj <<
-/D [1573 0 R /XYZ 90 522.0691 null]
->> endobj
-1591 0 obj <<
-/D [1573 0 R /XYZ 90 441.1871 null]
->> endobj
-1592 0 obj <<
-/D [1573 0 R /XYZ 90 441.1871 null]
->> endobj
-1594 0 obj <<
-/D [1573 0 R /XYZ 90 384.8932 null]
->> endobj
-1596 0 obj <<
-/D [1573 0 R /XYZ 90 326.1926 null]
->> endobj
-1597 0 obj <<
-/D [1573 0 R /XYZ 90 303.8808 null]
->> endobj
-1598 0 obj <<
-/D [1573 0 R /XYZ 90 303.8808 null]
->> endobj
-575 0 obj <<
-/D [1573 0 R /XYZ 90 112.0182 null]
->> endobj
-1572 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1603 0 obj <<
-/Length 1948      
-/Filter /FlateDecode
->>
-stream
-x��ZKs�6��W�R���1�L2���T93�)I�h��9�$/E���>
��@R�Q����������_w�b�#S��J(d���z������ݾ��W��w���RL
2����� 	�����������Ϟ�j��=m˗�|Yeweq_e�˻w7s�g�������S^fu��̯����e�۵?嫼�=�7�
T��L���'?�z����B������t	k�8,F��3\`D�����S�.�����^O{�y�+a�}A2BP�
�����3����!(��4�o������>��������6����v�����Ԩ�ۋ?�ea%uc�f_������=`n>�o��H�$�`p٩

��VN�D�i~�c��F��"�� �ȑ�j�޳�TݭO.B@K�D��z�nF�
B5
	BH�9^*�H�1Qa�!�m���e%|G�nS�H:�� j�Q(D/ 1�q�����*���Tt���
N����S��&����ª�s1ۮ{Y
-
��
�
��\�}��}>'b�N��h��築�%�4��t�bA�&��N,���±��Tʮ�����v[��89Ĉi=0}�
N>b�ׂ(�Oe��*QQ�ib�N*eZcEk`�RbdWC��d�^��O"�}Ue��"i����K%@P)�D�A��ʀ0TsIuDʀkZ�\�Y���Z�t��|�>�e�SJ[)
 i�Y��T đ�Ju2�c�kez࠿+��� W��F��N��"��]c+p�@	e���2o:�Np�+����s
y׵�oi�BJ�n�ۑb�	%Ka�֡F-�2Xܵ�dq�L���"���:_W �B����)���
C���=�!'@�l���0n��2/�)`����
-Kv؆��
TĊR'��aNϫÜ]?f�\��^���y-6�pc���8�5TB�d��^,��Pa��	���=�	&�-���	
#���1�sG��z@��ݲ�}�ڑ~43�9�N4V^*e]2{�r$�O�R��K�0ԋ�(��s����n�vyG���=�92��n�bY��}G����UV͙�u.2��/�<*�[2��Ⴄ�����Ƙ���M1�g�5̏c�=��G���(R�����bQX�\�r��<��
��:
�Ja0^εdJ���A+��"�:b�wbI�7�;����R��n�����;u��

�E�_�Kw��O
JQ��e��v"�*U4�X�h
-cE#n���n�h�,��h�1��Y4"�8�hD����q���h\����K��K��֞^�$�3
f
#/)��H��b�r���/-
'9�4L_�7�<Sv�4�y/��|�0���]�������_������8s��#ub}ge������*
1Md<R^*e[H���x��B�4��E�t����.��[^���znϥ�Eg/���ۀ

-��
�.�N/���(����w��xr���:����Y�r�Yr�Z
N�m��}4@��{ً���q����
`}W-����
�[m+��*���u�&�4_��2wV�W�ږ�֞�=���
cZ��l�R��T���@�_x�d��Z<�]�/zvG�}��pޞ���P�&s{�k�4z�W����_
�w��%�M�S���O�	���'�M�����b��Y<�t?�����݌B~�tw��J�0��
��y���8�u�PG��z��>��qN.9��Z���o��������BZ��Y�SL��9�lg�43���U���?m	j/>����m
��C��_vd�t�E��/�
-�a�B����>+]�����W;_~`u�t��W
}��aP'�����������}�w��vpQ��Fz��
��������3Z��~S<U�������!.S��T��$�a����˰$=,�s��U�X�����Xᶰ�\�Mi�����?����endstream
-endobj
-1602 0 obj <<
-/Type /Page
-/Contents 1603 0 R
-/Resources 1601 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1498 0 R
-/Annots [ 1607 0 R 1609 0 R 1610 0 R 1613 0 R 1614 0 R 1616 0 R 1617 0 R 1619 0 R 1620 0 R 1622 0 R 1623 0 R 1625 0 R 1626 0 R 1630 0 R 1631 0 R ]
->> endobj
-1607 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 640.9522 194.5074 651.8562]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_5703e74effb8a5b4090be08699d6b808) >>
->> endobj
-1609 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.9425 602.3598 179.2744 613.2637]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_86ef4d8f3963d0e41bd32e5745b2b161) >>
->> endobj
-1610 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0901 602.3598 263.6871 613.2637]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1613 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 521.9769 218.0286 532.8809]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1614 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 521.9769 250.9649 532.8809]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_0b8fd6b1ed827658839d73fcb11d4755) >>
->> endobj
-1616 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 483.3845 218.0286 494.2884]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1617 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 483.3845 262.0428 494.2884]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_d487a3b3a0d3590dd3678cf333549f47) >>
->> endobj
-1619 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 444.792 218.0286 455.696]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1620 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 444.792 290.8043 455.696]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_103c1a923368f15f9846bb63c5fc8bcd) >>
->> endobj
-1622 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 406.1996 218.0286 417.1035]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1623 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 406.1996 266.4564 417.1035]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_0ce79e66e5f99bf6dae5077d3eeb15a8) >>
->> endobj
-1625 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 367.6071 218.0286 378.511]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1626 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5267 367.6071 255.3779 378.511]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation_981388a9978a768d9859bc6a05b59612) >>
->> endobj
-1630 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 112.0603 194.4974 122.9642]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_a542fab30058371e9f17fca3eb84724b) >>
->> endobj
-1631 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1604 0 obj <<
-/D [1602 0 R /XYZ 90 757.9346 null]
->> endobj
-186 0 obj <<
-/D [1602 0 R /XYZ 90 733.028 null]
->> endobj
-1605 0 obj <<
-/D [1602 0 R /XYZ 90 659.7951 null]
->> endobj
-1606 0 obj <<
-/D [1602 0 R /XYZ 90 659.7951 null]
->> endobj
-1608 0 obj <<
-/D [1602 0 R /XYZ 90 621.3222 null]
->> endobj
-1611 0 obj <<
-/D [1602 0 R /XYZ 90 540.8198 null]
->> endobj
-1612 0 obj <<
-/D [1602 0 R /XYZ 90 540.8198 null]
->> endobj
-1615 0 obj <<
-/D [1602 0 R /XYZ 90 502.3469 null]
->> endobj
-1618 0 obj <<
-/D [1602 0 R /XYZ 90 463.7544 null]
->> endobj
-1621 0 obj <<
-/D [1602 0 R /XYZ 90 425.162 null]
->> endobj
-1624 0 obj <<
-/D [1602 0 R /XYZ 90 386.5695 null]
->> endobj
-1627 0 obj <<
-/D [1602 0 R /XYZ 90 330.5358 null]
->> endobj
-576 0 obj <<
-/D [1602 0 R /XYZ 90 218.6395 null]
->> endobj
-190 0 obj <<
-/D [1602 0 R /XYZ 90 211.6335 null]
->> endobj
-1628 0 obj <<
-/D [1602 0 R /XYZ 90 130.9032 null]
->> endobj
-1629 0 obj <<
-/D [1602 0 R /XYZ 90 130.9032 null]
->> endobj
-1601 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F86 1393 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1634 0 obj <<
-/Length 2538      
-/Filter /FlateDecode
->>
-stream
-xڽZ]s۸}���[��
-�7��M��M����O�;
Z�l�奨x�_�
��/@
e;;����{.�9� Df�#�ϔP(a\Ζ�+<{�?�pE��<_����y/�,A��rv��=H�%tv����`��|A0���i�M�w��S�*��M�P���͛�9����s��w�|A�~�I�����l��ϲb��?����׻W�k�&�����Ͽ��
-��
-�$Z�^�
F$I�l{�)s_6W_����i
�/���<^0���7'E�R�6Q�z�"X"�4��f&]�P*�c"ޢ��|����U,.�(�Rv�>�v�,-����ֺ�<*��g�����5 ���&��J#�4���Y�Bk����
<��9�Z�����~
�[������s�I�|7�
*)��pZ�*"��.�#�
�O!"!�X#&b��	�	B���ˆ
�����3()y�� �}
-e@�ͅ�.Y#���Z���bsl��Zz>�D���4�Yc$�gđ�JY��)�76
p�'%�s��j�Ոpa͎#�bf���ʶL菢�d��1*����k(_*��e������}��m@{������~Dx%�(�lz��
�ؚE1�$���N;q�M2���F���yZ�}
���y�@”�`"(�0<W+�P)I�(�l9��b�)
�8�'�
�Sk�,`$<�6�
-IͲ��E4�|D�5�E���t0YYO^��zJ���>=��ƥ���
�T32.��q07
B�" U���
�D�=�Y����=�q[z�qc��D>��a
���g ��giK�N���v�XQ+����Z�BKh�x?I1~
-� �q	?}~�f�_W+C9�I�U� �
��h����E�ewجZ�6���)-�Wz~�g��'���t�X^4v���/8x��#���ػ�J�Mf��.�/���rov�j�xB��V�گ�=d�K��/i7Φm���G��:���	ԑ�s,�J�<mM�m��r�v�׶9i�uO��ߋ�t��`��v˃��E\�B���b*,�w�9[��mo0��f��Sq���74�t��iٸ�-�FlrM�
kBk]�OkB$�[:qz����`��Fj;u/C����)��ς1�(��X�Ϩ>�"�}6(��h�¾��O?��E�1c΍GP����{���т��x��ܱk:�����5[V=/������8<a�0�X0� B��
�zq2;]��4@&����D�
8�tt������+g����n�z�
�|뎘.�
�v;�D%6�(,��_K��%&�	����
-C`�'��S$�w
c�~������O�U�>��l�im�h ��S���Z�fc�bʗꓷIM����DE�:�X\*aI'ݰ���:!��p�E��L�
�i
9���ߺ�|N���*�el?��r�� 5
極�@ %A�k֛����-#l�a�
-�!ɵ��0PS�|��H_	*Ca/z
-e�}ΪCy�u�跹�t&��o��N���6a����vg�;f"Z#%cgVv	�<kj�������s�
�*�"�=s8/�$�=g��0Ľp\�=?��ׁr� ~
�tm0����PP����� �� ��NK���lR��������O��,�{�
#p--
�a:��
+w�G`�K�W
[Uȶ���/V	@ʗ
�;h�m�r��u_F\��#�h�����͘�ݍ�:��w��	�����+�g��aH_�q���a{�� (��
�iUq�1(��[hϪ2͋���q_eہ�P���4���(Kŏ���d$���@]�P��Y
-T��<���Z��+ss�{�㪇5"�~���|�TϙM7
�f6;]G�����dq��$Q����㻲�h��4���,�Z�a��������g��
�
�F�
�Z�>�s�0�Z�Qb��P>�=�f
-����!
���@]�P���Pe
-|'�����	��"�K���٢\^BZ�E���j@�t��}��!��ձs�Ӧ�^(U��4 �Ӗ~�{P4�}v"	
\i��D�i�e�$™�%�s��p\'~�s%��
�C�}��
�ǫ�0�֮u��6�o��,��
$<}�U�P^D��&*L"F�H-<!�pf-�vc�WO���j��*-��W̧
-g�b��2�i�e���,�|�a��Ḏ�~�s��p��P~_�
���� ��
�P;̟j�����$<}�U  {�W6Q�c�8��"�{>B�wf=��[!��^X���NA�;���t� ��N �b"[��Vh�PhFP��+s��mQ_&�;4B�Ql~$Ԝ<
/������fm.	ƏA�m��i�FZszQSd.�!c��
:cp���,����BZj��D�2��kD�V�V�rk�Lw�e�~lnæ. ?���!}��~,��\׷������������ӧ��"<u�� ��Y���LCsX���l��@7$4$�����f��?��9��ͅ��4�k��TU�onn^^^�r�E�\���y~���qq��0*��Ek4�ҙ,.`uǠV>��bw�+���T��B���X�嶹��4?��?����endstream
-endobj
-1633 0 obj <<
-/Type /Page
-/Contents 1634 0 R
-/Resources 1632 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1666 0 R
-/Annots [ 1637 0 R 1638 0 R 1641 0 R 1642 0 R 1644 0 R 1645 0 R 1647 0 R 1650 0 R 1652 0 R 1654 0 R 1655 0 R 1657 0 R 1658 0 R 1660 0 R 1661 0 R 1663 0 R 1664 0 R 1665 0 R ]
->> endobj
-1637 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.9425 719.9123 179.2744 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_ba48365387e24282c5facb79d544df54) >>
->> endobj
-1638 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0901 719.9123 263.6771 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-1641 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 639.8305 218.0186 650.7344]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-1642 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5168 639.8305 250.9549 650.7344]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_52e2da847dc03a6a0bd03eb718bbc2c5) >>
->> endobj
-1644 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [137.4316 601.4456 218.0186 612.3496]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-1645 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.5168 601.4456 259.2535 612.3496]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation_c9b4e9cbc50b16d0b8eae819ba758bb1) >>
->> endobj
-1647 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [139.9124 365.9669 306.2671 376.8708]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1650 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.7395 290.3396 242.3539 301.2436]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_8b521c98491fa559861dae11ad3ec3f3) >>
->> endobj
-1652 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.7395 254.4168 242.6628 265.3207]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_84625e35d755ced248ffe55750614f09) >>
->> endobj
-1654 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 218.494 229.3625 229.3979]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1655 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.8606 218.494 275.0205 229.3979]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_56bf9c6096c448f27d61416f27a05db1) >>
->> endobj
-1657 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 182.5711 235.9879 193.4751]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1658 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.4861 182.5711 288.2715 193.4751]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_dd544c3d22008bb22d0b6fa536c651dd) >>
->> endobj
-1660 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 146.6483 229.3625 157.5522]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1661 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.8606 146.6483 322.6214 157.5522]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d0f0c9ad050583abd703aaedb6e5cca1) >>
->> endobj
-1663 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 110.7255 235.9879 121.6294]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1664 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.4861 110.7255 335.8723 121.6294]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_81c4315daec6710e58a0617d92839e81) >>
->> endobj
-1665 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1635 0 obj <<
-/D [1633 0 R /XYZ 90 757.9346 null]
->> endobj
-1636 0 obj <<
-/D [1633 0 R /XYZ 90 733.028 null]
->> endobj
-1639 0 obj <<
-/D [1633 0 R /XYZ 90 658.5696 null]
->> endobj
-1640 0 obj <<
-/D [1633 0 R /XYZ 90 658.5696 null]
->> endobj
-1643 0 obj <<
-/D [1633 0 R /XYZ 90 620.3042 null]
->> endobj
-1646 0 obj <<
-/D [1633 0 R /XYZ 90 564.5716 null]
->> endobj
-577 0 obj <<
-/D [1633 0 R /XYZ 90 453.5058 null]
->> endobj
-194 0 obj <<
-/D [1633 0 R /XYZ 90 446.1779 null]
->> endobj
-1648 0 obj <<
-/D [1633 0 R /XYZ 90 330.2923 null]
->> endobj
-1649 0 obj <<
-/D [1633 0 R /XYZ 90 305.1833 null]
->> endobj
-1651 0 obj <<
-/D [1633 0 R /XYZ 90 271.2829 null]
->> endobj
-1653 0 obj <<
-/D [1633 0 R /XYZ 90 235.36 null]
->> endobj
-1656 0 obj <<
-/D [1633 0 R /XYZ 90 199.4372 null]
->> endobj
-1659 0 obj <<
-/D [1633 0 R /XYZ 90 163.5144 null]
->> endobj
-1662 0 obj <<
-/D [1633 0 R /XYZ 90 127.5915 null]
->> endobj
-1632 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F86 1393 0 R /F67 238 0 R /F84 950 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1669 0 obj <<
-/Length 3570      
-/Filter /FlateDecode
->>
-stream
-x��\�n#�}�W�-`�����`�1�8�f�ɋm�4��P�BR++_�j�t�碪!��k�0�k��Tw�>]s��I�g

J����	�����;��g��Yi����7�fX��N>\�<X��r��ꧩ�L��3�9����w�����鶺Z����l����Sɧ͟O�����g���7��fS|_]W�ߪ�e��Vzj��/�?��CF؜�QVD|�=��>�����o&��3��ܝh�җ�ɏ'��~�v
�A��5>i�-
>`%��{�<�B0����	���!#�5NI�:�)e�Y7�Ⱥ�Y)�$����,��&H�&n�7YQq�e<�v��l;?�f��T�iU��j��f�
o���w�ğ�7���W��p��F`��yuw�}ꢐR�YX��$[�!��x�
-n8�/���*-&6�
-��HB&���X���rr��ջ�hΤ�r*{_m��M���
-{���� �n�~�j��Sȉ�<4F��z�g˫��j�x�?�O��1/�H!n�:�&����t�1˩6�=�j�
ր�֬#j�:͂t���lF�l��Y"nS�����l͈�%p��65��,��7U�|aX��	MO�"`H`t��:��B�/,z�3���-|`���>��������u>�TV��thg^���gF�
4V�Ɍ���!V�x�T�eأ���fL�z~�*�X=,���~�Jf8�E4+ي�
�7:�A��̅c�RQ���x��P�iH�[H�W޾�b�\F{�n�]��C�n�n˰G�m
͘��q��6u{5�\��mՕ�N4��lE�����*t��*\�=S��ɴ/��R���s.��`�*7�
-s��25�1-�{�25�0�)^�ٌ,��!R�DܦL[a�)�6�eJ���m�t�^��/g�����b�Xk}��HQ�"�H� x��d�`����l�+�d�����F�܌q��f�w�7�j��i no�y���ܮ֍���*-�Y�����!��V��]�{wX�AS�1���ʘ�GAu�FT���v6_n��˚�o����
-��*��)��'��@���¶��,za�q�L���
X�'�ϱ�ӈ6��b�i�Iu�lf�n�5�A��j�48�)j�:+����A2� �:��e]:DꚈ�v+�1��F3��	\=��T�l׻��S��DV�=*tm��T��V��ƞ����F�>BLg���b��|��V"Ɋ`=� Ƞ�c��5�kؐk�_�k��ײ�o��>��D�,	��2�����:ɖ�r �00H8w
-fDP���m`ܛ����kC��LjN��lF�^��=<n�2�Q��B3��p\=�خ��9�^���g����� τuOR�"�HǙ5^vg���]�qcӑ�I]��P(�����ޯ��f�ꍎҠÔ�x�B���+���� �Bm�3�GS��Ƅ��o�+H��]]�uz]7M���m��
-�GX��'�F����
��FH�	NSܘ�hn,
b܈�M�X�=��p#���ˍ�bA>񢋴��'0�Ps�u�e�53
zd"�=���w4+�Hh�Bɔ�"n�NJP
΄��b���d��c��)��>	/� S�s�꼨<�3���+���X:Dx����b+l��U���Y�A��bcO������f������F��,��s���������)��##�>ۓ�~Ǒ!�D��Ӑ�*^�
�"�a�I}��
�񞚑�������Uu
��Ϝ��y������T�d+
-��Aq¶Al
�ϗ�Dh�n���lO`��
�8=&]�x"��J�B�q��i�ev����Y�G���;����h]W��
�;���Ιr>�)�-�� �W����=1u<A�`����ӎ]
��e^Y�s+^�̗>�e>��˼�Z�A��,�y%u��+��X���S�ep�7�i<�涣l�(�ն����c��� �+�	9�
�:A���ޯ�d��؅�o��񰪰L�`Qq�k���>��/#;��>h��������,� �/�A����a�5�f���-�-����mu�(-a'���+�W���5��J�p�)<nR2eخ�ѐ��L�ˢ�
4�+�dO����q�|���q
�=��Ɔ���Җ��T��N�=�lO"��
�b��
-OB�"@(X1�bC�b�F�������ߑ*�ו3{X�4VX�y���1_^��`]ٞ���;N�X��JD��@��� �DD��j����g�b"�P*�[f�~�C(�L�$3RŸ`�#ܰ�QM�b��?'al^�1	#ܰ�Q{	�	�C!a"aT���TwD0��k�j

)�2_�r}�p��(�ޚW.�ʋל�S8��¥t�"n#\Za�i��ьh��z~G�`М�[0x�܂i�ւy��
�����
��}
�[0-�Z0#�o�Pz~k����-Dj��@-���ط`p
}���`�D�[0�Ԃ�%�h�|5t���P��F�-J�?+�#��7���ZV�Y���;��c�*Ձѝ�Ɋ
Y@ݎ}�
-7���e0�>���h?���O�Jସ���x[��
���<&�
se0
X�lV�Cը�ylք+)�cB������+꩖�l��ɐ�{+DO1�郵��h�ᠺ^G4��\�
4��Z��:`��y� #�w�
���N��B��W�`\�k\&��/
G��a�/4��#Hm�����}�
��zX�
K���#H
�n
-��~׀d���H#@�J��g���!���KHFH6��'+"��>>�'��q�(l�уx�D3f�?�}��f��2Q0�<��O)�
�8�_]&
-u+
��T6#ub��D�F)��v�b���(��</�=��7by�Z<��Z��� �/�b�P�w�a����\HD�����#5۵������m��l˜)~ ��� �߈�;�eH�Ȫ5c+�S�^k)�<�֗q�EK�s6[�#Y�����
-�
�޿����&�rl�hMQ�li~�]-��˛t��������گ]�Ҡ�t�
�j��
����vh�s cUڳ_�0Q
y��[_�#��?�%`�^Ske3�{
���q��a�ro
��š��f�Y�so����!�+vԇB�v-�4���g�W� �W9ә.�q�1c+�S�^�͇��3�g+"v�h�`k�
-NP/l �~��c�#���3�����eUSo3�]����7/ ^
[q����R�ZP�%+�v
w��A�-c���V�����z=L�"�8X�8�Y�s���Fk/t��I綦"sǍQV�x��F�ެR��g�kthβ
YiŀT�Id��'6�F
^�@
J��8��ػ7��x=ӫ�e��
-�_�@D����1�����Ko���P�����,��~C��ly�0�i\�m���ב!���v�צZ��Ԙi����-f��s�"�%���q8�ݫk�il�O��P0�J[9���$}�{9��g����]���ߘ������7����r�
���5�o���/���
�0an c}��zXZ��Ml
��X�����V�i	������\�^�
-�3�~ou1B
��?BA��endstream
-endobj
-1668 0 obj <<
-/Type /Page
-/Contents 1669 0 R
-/Resources 1667 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1666 0 R
-/Annots [ 1672 0 R 1674 0 R 1676 0 R 1678 0 R 1680 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 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 1708 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 ]
->> endobj
-1672 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 708.1835 224.0926 719.0874]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_25143e2f87da1099e3cb5c065a2e0890) >>
->> endobj
-1674 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 672.1482 232.5409 682.6785]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ad130af7dc19af625d583e25020026e1) >>
->> endobj
-1676 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 635.7393 233.4975 646.2696]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_1d1b69611f06c6e9aa03fd1b951573f8) >>
->> endobj
-1678 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 599.3303 230.1695 609.8607]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_951904ccc728d261cf367a0bc613478d) >>
->> endobj
-1680 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 562.5478 282.2039 573.4518]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_9f7d55f53c6ca0b56163de733c0bca5d) >>
->> endobj
-1682 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 526.1389 278.7272 537.0428]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_50926d4c45d6e451ccec518c8051733c) >>
->> endobj
-1683 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 490.1036 227.958 500.6339]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b7c4fb00dc7b0fff7edbe9d80ad15ae6) >>
->> endobj
-1684 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [231.7736 490.1036 266.9612 500.6339]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1685 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 455.0872 269.1638 465.9911]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4949285de47134b38f894d92823a931b) >>
->> endobj
-1686 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.9795 455.0872 350.229 465.9911]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1687 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 420.4443 269.7713 431.3483]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c72ffc5f5715e6a10e6d5e63a43b6e9e) >>
->> endobj
-1688 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.5869 420.4443 350.8365 431.3483]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1689 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.81 385.8015 229.0946 396.7055]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c4f92e1418a46d38b818059a3dadab69) >>
->> endobj
-1690 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.0315 385.8015 311.2811 396.7055]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1691 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4391 385.8015 382.4559 396.7055]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1692 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.2588 385.8015 460.2757 396.7055]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1693 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.2855 328.2446 228.9163 339.1486]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a8a9da2a38c61eb14ed1922e970552ba) >>
->> endobj
-1694 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.5909 328.2446 311.8405 339.1486]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1695 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.6585 328.2446 384.6753 339.1486]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1696 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.3685 328.2446 461.3854 339.1486]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1697 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.81 270.6878 229.0946 281.5917]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_e4e82dc62f09b889cc2c699b6a8abda1) >>
->> endobj
-1698 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.0315 270.6878 311.2811 281.5917]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1699 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [336.4391 270.6878 382.4559 281.5917]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1700 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [414.2588 270.6878 460.2757 281.5917]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1701 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.0368 258.7326 308.8596 269.6365]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1702 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.2855 213.1309 228.9163 224.0348]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f212c66bfb25b5b1949ee91f0e4b48ab) >>
->> endobj
-1703 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.5909 213.1309 311.8405 224.0348]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1704 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [338.6585 213.1309 384.6753 224.0348]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1705 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [415.3685 213.1309 461.3854 224.0348]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1706 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [265.383 201.1757 307.2057 212.0796]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1707 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 155.574 232.1324 166.4779]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1708 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.6305 155.574 287.753 166.4779]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3dec267cc9fa523feea43a8c0acdbe00) >>
->> endobj
-1709 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.5687 155.574 335.0749 166.4779]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1710 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 120.9312 232.1224 131.8351]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Gen__Relation) >>
->> endobj
-1711 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.6205 120.9312 287.7431 131.8351]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0debe61d4b261fe21a4109f8920557e0) >>
->> endobj
-1712 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.5587 120.9312 333.3815 131.8351]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1713 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 86.2883 232.1324 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Poly__Con__Relation) >>
->> endobj
-1714 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [232.6305 86.2883 287.753 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_7817a26193f804a89ffeb2dbf18fc702) >>
->> endobj
-1715 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [291.5687 86.2883 341.7004 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-1716 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1670 0 obj <<
-/D [1668 0 R /XYZ 90 757.9346 null]
->> endobj
-1671 0 obj <<
-/D [1668 0 R /XYZ 90 725.1711 null]
->> endobj
-1673 0 obj <<
-/D [1668 0 R /XYZ 90 688.7622 null]
->> endobj
-1675 0 obj <<
-/D [1668 0 R /XYZ 90 652.3532 null]
->> endobj
-1677 0 obj <<
-/D [1668 0 R /XYZ 90 615.9443 null]
->> endobj
-1679 0 obj <<
-/D [1668 0 R /XYZ 90 579.5354 null]
->> endobj
-1681 0 obj <<
-/D [1668 0 R /XYZ 90 543.1265 null]
->> endobj
-1667 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1729 0 obj <<
-/Length 3377      
-/Filter /FlateDecode
->>
-stream
-x��\�r�}�W�-`U8��Eo��bGe�R�lk,Iظ� (������
go=K@|p�KU�=���s��`3
-���љQ�8!�l����[��_��|ׯR��?^��J��#Ns=�xSYЌ(�����9�D��+F)���Mq}�[?ݕ�}q�^}����o���t�||��|�����߭�á~�}ySV���{R
-9���__��c���%4���z��Ot����qV�
�
%�9>�\H.›�Ň��F;���
Cy����W�X
_@1A��^�`Bn9�0\���	5|f!�Z��2I	ג�"̧������6�9ޕ����0�r]
W�p�n�^�����O��,��o����g
2
-mj��$�p�{�ǻաF�����e��b���?T��wa8qʆ//�+"��
�t۝qF��lf'
���
��
�
%V:7�jTf�V��p��i�xB�
ќ�Y����\
E^�M
��T�/ׄ:�v��q����%S�5>�v������(-l'i�`�O�
-�\\=�U;��b�=t���A_��IDe|s��S������rE�1So>���;V�����zM�
�'�*s��sn$�Tuz��=��H&���"j��Z_
��P:�HV�V7uG�B�ۮ��Wp��Bb�f/Ѹ��v�@+���z��!R)��z��&�&�а�EXV�R���e�6z�r{������g��zv}`��~�8���G�Mq"��$'�2Ap%�cНڍ2$l�.������Fе�k������GTƻ�pU��)�`q��=����A�u-t�X�������TNrb�d��r�w*�FT.��*��T�T.u{�ʵ���rx\=�U<\/W��w����f��
��P�MDeb�D�CA�n�1��rj<�cu��Y&񛏨��J�
���AY��gi\b� �#��7=0�UD;�I�-����ud���QK����uN9C�
���%��Ý6��<E�Z�LP8<��UU��C�
��rB�ES0�S�=DQk��4V�j>�#<�c53
�U!����k(�@�E�5�f�
-�<��*���f�����*�K�20�eR�#e�aXN�4(�1Y-
���%15��9Kݎi`�{i{
����г;._�V�P2s���l-���t��o?�\.�u�:9�ƜE��F� ���S�-4Ԧ֞Ml�#6�D*�[A��<���q��ةۡB
-�>с>�#A���s1������ݻݲ�ؐa+�� �x�j�:�=�qrC�.|�
-rj#w���Ŋf
�V2�M�������8&u��~���쒆��hE_�VZG,������(5��(㷡Q���ֻ�m/�-�_h�2Σ��ճ[
�>�ߎ�~[��7�f��^m�?=
��,��ަ�����í�$�N���rk�Y3��®�t>�~���L�����M]�y]l�KF��O�
_
�|�a��BM���9e��W/]�Dis�
�<5�5q����ۗS��j�A��V
�;N�6�*3�����5P� ۭ��p�q;���
��6��*o��s�X<ܯP^r���V~!^rK����y�4qұ
/,��� �K�o�e�v�����3
��N03|.��ݚ��Qph�,���������z2��"KF*gN�E��F� +?u���Y���r{l�
�UN0�eX%
�P�zuVA'!��\!aYV�Ve�6�j�=�U�`&�*V�n5O?,V�����~�h�`��I���w�
ԛVu#�+c��g�q�	�U5�T��t|_����j]���������q$
��~���Qib8�Mn!�0<��
ay"&1"�~S��� �������g���7�e� �g#�2^9�R���n�,'̯�C���� 󁽻+���/���Y�m��T�PeJ:�\�W��X�.?
��?R��%�ߩ�8auHF�~��ӓ
ځ+1b�9�
�����IÆO�G�E�Oԇ�b���?V�r{�
-�]}|���C��^�/7����W�Erx�xW4k�(�[�n�:98?�Ml
�@��	Ia��DXVBp�QB2~	i�
���UBVˡ٫�
:{���zv��|��'a�*��Wu�
����D���s�N������ZM�A�g#�ڭ�c����q����Tλe�
*���*���^1����"����r�.g�������6�G��uJWmi䁉��q�]�{:
�
��F�Z���K��|W|\
�v��m�f۬~�:�y���>��#�tĪ�҃
W��ha��01�i!�7ha��4-l�3E
��zv-L� �j���MMDe"��:y�4ɐJ�(�M�A�g#��m�p��
�e��?�r���Z�ɶ��-.�П��g�ǧ601
��b8��TkBE)Z��Oi�,)
�B83�%;E���z	u.S�4.��6��=i+�Oa��ɺl����|�x2h4*��'�* G�3�������3u{�z�™��x`=��J��
�z���ʄ�eVi� ��dP>����&!�s��K��u��={�4񏍠Y�L戀0�TCa���9��@44�
e�R�������'uu�<��|��~ �c��!Md
�.�XUe��ƙ~�2�H0cU�!Lŧ���L9Vf����͓J�9<*M d�M�J�)
//�K�
�4C��2²z�D�2��˖ۓ�
���ֳۯ6�z)�U��xn"*��a�
�m2���(*��$D|6���v�9��ܛPx(�_-�Ju�aq�L�����ݩ
L0,L]�M:��):u����l�2,�\�X,���iR�
�C5/���u����
�h�u���bSw�M=Vl�ج�ay�*���W�V�~��hj	ʄ$N�ן�3�Y��A��Kjb�T�o����i��
-g���������_�ߖ�~tŖ55�}B�I��L,@]��M3���猚��������5u�,���GTƻ����Z��EM���<г�ަ60I
0���X��*�&���Y�T�=����^J��(1
-7���뵎H�r�)*+Y�9D�p��`�>OҫV,�
-��kuP���ݴ%�I��'��@�/��+�6�*#}㹉y����U|�Qp����;� ܵ�ڇ�No
^nt��h�Rbpԧ@H�ꓙ'�tW�#e �V��^�&���FY�G��y�K�~�Xx&�y������7_���]?\.���mc��P3�o�Fo�����R��!l�n�!M�Mj
-�7���h=)��e�a��,X+���_f��7I��/\%ߨ��M�����q�����7���dq ������o���o�qI%��i����j,	u����b��oԛH�}Yע 5�
-FlC�5�����OO�C��بG�endstream
-endobj
-1728 0 obj <<
-/Type /Page
-/Contents 1729 0 R
-/Resources 1727 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1666 0 R
-/Annots [ 1731 0 R 1732 0 R 1733 0 R 1734 0 R 1735 0 R 1736 0 R 1738 0 R 1739 0 R 1741 0 R 1742 0 R 1744 0 R 1746 0 R 1748 0 R 1749 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 1763 0 R 1764 0 R ]
->> endobj
-1731 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 698.1035 220.7651 709.0074]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_bc5704127ba61d2413c9bff4fd30f323) >>
->> endobj
-1732 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [224.5807 698.1035 272.5107 709.0074]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1733 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 663.4523 253.422 674.3562]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_269b05089d9f1a4c329d5f5f1fe87dec) >>
->> endobj
-1734 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.2376 663.4523 305.1676 674.3562]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1735 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 628.8011 253.4321 639.705]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c302814cfa610b65b7e92426d20b7efd) >>
->> endobj
-1736 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.2477 628.8011 305.1777 639.705]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1738 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 594.1499 213.0143 605.0538]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4ee0954f71183611c9b29ad07ad9fba2) >>
->> endobj
-1739 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [216.8299 594.1499 264.7599 605.0538]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1741 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [159.1269 557.7242 186.5736 568.6281]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b8b346098cc00bd96852efadc70e42d3) >>
->> endobj
-1742 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [164.5464 521.6721 205.8312 532.2025]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_45dd7fcc9b518abdc94c454b66ba1d5b) >>
->> endobj
-1744 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.7395 486.6473 282.6027 497.5513]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3eced5e4c9a959bf44ba28393466ed15) >>
->> endobj
-1746 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.7395 450.2217 268.376 461.1256]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_101725c81694df74ced9b4f2cca1fbad) >>
->> endobj
-1748 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.3844 413.796 212.486 424.6999]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_4b3c940e8c7c8981b9b2124a75e011c1) >>
->> endobj
-1749 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.3844 377.3703 226.3141 388.2742]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5d5942488536d6a9095fc4bdebb9f7ed) >>
->> endobj
-1751 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 343.0927 201.946 353.6231]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_c5dfab82eea6ba1f83cbebca0237b084) >>
->> endobj
-1752 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 270.8768 232.1922 281.4072]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_af462d898fecd8d545ce48f6a0632c3e) >>
->> endobj
-1753 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [236.0078 270.8768 279.5141 281.4072]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1754 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 235.852 238.8177 246.756]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_db6d91da0ca1b3f0f9b755297ab69722) >>
->> endobj
-1755 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [242.6333 235.852 292.765 246.756]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-1756 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 201.2008 236.0676 212.1048]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f31626a3fd875ced253836666b29990b) >>
->> endobj
-1757 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [239.8832 201.2008 317.7103 212.1048]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1758 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 166.5496 242.693 177.4536]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0db3ec1fb2ff3022b06cd0760dbc9b11) >>
->> endobj
-1759 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.5087 166.5496 330.9612 177.4536]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1760 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 121.3131 263.1856 131.8435]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2a7c7870e8a2d07650293ccce8893174) >>
->> endobj
-1761 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.0012 121.3131 310.5074 131.8435]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint) >>
->> endobj
-1762 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 86.2883 269.811 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_3e3093f0cebb7f7d4b1ac1f1dda4df5b) >>
->> endobj
-1763 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [273.6267 86.2883 323.7584 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence) >>
->> endobj
-1764 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1730 0 obj <<
-/D [1728 0 R /XYZ 90 757.9346 null]
->> endobj
-1737 0 obj <<
-/D [1728 0 R /XYZ 90 611.1416 null]
->> endobj
-1740 0 obj <<
-/D [1728 0 R /XYZ 90 574.716 null]
->> endobj
-1743 0 obj <<
-/D [1728 0 R /XYZ 90 503.6391 null]
->> endobj
-1745 0 obj <<
-/D [1728 0 R /XYZ 90 467.2134 null]
->> endobj
-1747 0 obj <<
-/D [1728 0 R /XYZ 90 430.7878 null]
->> endobj
-1750 0 obj <<
-/D [1728 0 R /XYZ 90 359.7109 null]
->> endobj
-1727 0 obj <<
-/Font << /F65 229 0 R /F72 307 0 R /F67 238 0 R /F52 213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1778 0 obj <<
-/Length 4647      
-/Filter /FlateDecode
->>
-stream
-x��][o#��~���ۑ���˾%Ad��ٝ�K����-�<�>�>U�M�}�m��
�vl���c������3��Y�3g

J�����
���_���|��
~����﬙�����+��B�>��e.8S�z!8����Y��w��O��ay�^�
���o���Z�y������z!
��f�<
��
���j{W�?���[y����]��cB�6�(+�?���7>���|w@�7�/�
g"9�\i��/���/�i��/˃
-�)k����p���P�j���1B&�N*ƭ�)�N�<$�jL�МI��,�aZ:Vmb��?w��s���!~�}<<��$A7��k��e 
-z�{lL��!
�^lLN����Z�y�W��v̯�����}Z
G<K0A�F�߇��J���	h��
0��Y0>�� �L8%�8�k�2��̆��Y)�,�!�JiƐ�qs�øъ�+-�At�n��յ4����̫�O>��gu?��$�ۃ�_

[�r`ў6�����:}���w<
����؇%-��j"KɊ #�g���
n� �̻���H���_D𛔀����jӇ��c�;]NC�"@(�<��pw�<����z�4L�V��}�+�M$�ӧ*��{3��W��"0aE��v�Er�u�I��s���#�W�%3��r�N#⶜�	�&N�™�i���QNkW�!���6pQ�R�"�Hg���;���`01
ɞD���rZ��s�f뱩�iHVe�:t1�=�f(N."��G�Ԣ�H-
��I�@�&�6Jh�)/�[M}%B���>{��A�Y4��,sX�r��gyط�Y�>+�Ed��V�cuwZ�7��Z=n��a
�PNO4"@Hۤ���,��yj�=���|��5w��+��l��Ɋ���1ڴ���_0��W���+�Q�h��~U�����HFh�������<$�*�	��|��D��0@��[�0���Xl7>�x1L�� v
���#�D�O�Sۄ67�]���Ӳ�ж�>%����u�YmW���W���Z��
j�J�`�dF2h���DܖA;a�Ġ]8� 6�Ȟ���ps�{�ޟ#P���/�'Y(�����u������LMC4����R�i��Ҕ�����,���(�'�Jf�ח�g��������
v-���+��3�o�ϳ]��
޿�g,Dt���%3��2�%�+Ǎ
��}�u�La�2��_Dv�z@`ա��S�p�Q���dE ��0�U�g�H���BMME�'���yN�d�h����9t7:�s�؉pQ�.�Q�h��<Wۘ^�N`
����F���
�$m3��f� aMN���K�
���+�x�sAU
�;�����F��þ�};p��o��o=
W��Z/�dz�k8�B�rz��B@���u���0/��4Ds2~�+�/fSn|�"�+�҈�� x����b�Ļ����e��^n"o�O����9���a��Iq�^4#x$���Ly[��T�v�Fi��jU �T,�̿e�}%�� XP�*t&3�Fs�%�4�	�&�™@���ߦra���[�o�ֻ���,�z�8����dE���%����i�T�s,x}Ѧ5�Q �d�n��:%��	X��;�e��7j��Qs~�i����	}`��&
,A�qJ�$3z�eK�
7N�<�؄�����r0����X�{h�ϷhO��E`��f�^=<�<
a��;���{>��vJ�ǫʹ�F$%�����.�0JX&9,U���I}�����	�,��hEE����F/�
[s!�E2&�Qb�h�e
��2�YG2��.n
�#�F�K����N���:V�ύ���͘Ż�w������U�BR��v��tx\<L�@he׾�;2bj��_���z����{ʸXF ���H��w1y�c��t�V���G�`�6�)�)^D΄�?q�[m���kS\
$
&.��
K�ZJj1�f�b�9,-�q1�þM}u�LQ_e`��|��4�љ�f�X
T����a�ӓ���4�n��*\45
�5��c���c�<����a㭂fA4>ZQᭁƛޘ��=�<\k>�f(ya�4�ONC���
�"�?����p�۟������x�ޗӑ�x�Ȅ�
�ُ�Cn��ɑ�)(��!�*M��U�=��h
�(���HV-�
=��v�Y��E�����%2!�Q�	ɬ#@Y�/�p�Y!c|��0�PUf�}*"d��DO�կd`Y5��4�ܽ
-���
��խ��xxڶ�&��Y����Q0�?g
�_�e6踈�����͎�u"C2��$�����E\�y
x�,��V�
�:����Y��}�<v��
-EL���k�峑>&���t�G9�%��]}�'
��j?ɌT�Â� ���M�
g�� �
��,:�DauA�r��D��@��^ό���5R
OLE��
��2f
�0��)�V �6��E
l���D�����i�q�
1�� x�))zc�,@ �6�O�E���
�N 0�5��dE��Z�"�z��,@
g=]"@2%ͺD��Dq�2�!G���
d:�� =����	pe
"@�e� ��O-�L�(�i���A
z&4H����#��

���W����h��[Ň�xP��2Ňf�����+���>��>2�%�Q��G
v�>BI} !�x��)��֞6�[����y��̈́��A�-�)Yh�uL:���g�p�l��|${
-��/)A�
\�S�� x��:�됒Q�|�1SS��)$��dH���Ɋ ���M�퍈��MQ�h<.�aٜ��dO����#T9h0�A8���Y�<P+��H�� ��|�ۏ@�{�$�$w����3E�"0H
����0U�� a�u�
�}�X2��7
-��T��I��"�����\ߦ���G>��)�@!
-���͞�{7{ D}�/�;Uc�.6J�vYi.�jDtu���=,eg4�k��?Z�Da�Ƿ
�`����^c�fđd��~}�K
@8�e�O�:\���@zn_��k7W�;l���p,��E�
4
l/�=
ne{��z!�Q���C5���2
;�����������|m�<�Y�3 x��*`9�yCq|$,أ�Z�X�D�
�.7�� |��e����{�.�=ؙ�f1���ol�L�e��\.r���{	�`�9
��^�+ �sy�&�1޾�����
G��dF���aAFq�E��/����e���[އS8P��S�~����<ؾY�}9SɊ $�`2(��1%
�>�ԌDs2~�+-��"����dE�WJ7U�����r��MLD���
�NҌZa�I�r:�B+x�����
-�S��)4�YJ�}#�Ix9 �6��%`㦬��\`���;���"7/�{
�̦�m�AY��p~.E{���4�m at .YN�$YQ `
k#z &Kn�SP=��(I�h֕���Q-�}T
ԙ�Hnp�V���[�q�m�F�{U�Vy��1+Q+olո�0��(o�����UIy+|I���(o��
��ǁ���Pޭ�E�sLy���Rn�*oȊrf����tv�Pޚ�Rk�K��'V��
-��gIx� �N�{o�Ͱ3��.�E��p
!��)�s��M�m�w'�~�M��9�ZM�湞���W��Xm��r�N)`;-3���dE ½��S����ݸc�{�3��)����}"R�� x�\{�KAQy��y35ɞB2�H~h׺��7���`�
-�Չr2�Acy�d,��������<�T�	�����$�U뉼ၷL���r�Z�
�>��`�h��/A2�;IC� �4��]8}�V�����
b���M$�F�	��((�h��N��YK�wuԛ�\@�þr���k֖��ݔ����cW97̀�*g�O��V���zF�
�ܕ}�c�.�����R�\��k���Øb��c�2�>*��B��O8˜i�g\(���E�sDt���n�z�nk�7m� v���vU|�T���
3
-C���Z�N6;1a
-�t ">��{�
́�fmi�
����7�� �e
���0�BI|�d [#�U
���	Jo�8��I2��j�$V�q㢓�
T��*�Հ��lNA�����ߢ^=[)w�D��
-�3`,tu���
<�~�
��Ĵ${A�/-YnY�.� YQ 4�����(Y-�X�~r*�=�d�w�d�k�HF�" �G
�Y��s�5Vr'��BL���+�bj�X���3���f�
-q2��m���I�p�V�=e�wZy���G�"@H�(���v at L���i�\tB6�Q�Ѭ�n�<���-���(��at8^
6�)�/
5L�	��\G�b����(r�V��\[J�
��uE.�+�\�Q���T.
��~�ʭ�E;�������
��â �׬Of.
�I�%��o/O~�hȢ��L�t���)z�
��
g����y�9z� %���O��T�:�m�=���o�����m�%�A����h�M��������?5]���%��F��_/��O������? �,�ڏ~:V������.����)��%^��/'͡u�[^���X
�=��؜:�ͷ�ş�������EvE�G�\���_Lӧ�i��_�|awG��]�lu��߯?
����.�vq
Dk4���,m,N#���k_^��
�)~��-
\�����rSO
6VS��O�䞈endstream
-endobj
-1777 0 obj <<
-/Type /Page
-/Contents 1778 0 R
-/Resources 1776 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1666 0 R
-/Annots [ 1780 0 R 1781 0 R 1782 0 R 1783 0 R 1784 0 R 1785 0 R 1786 0 R 1787 0 R 1788 0 R 1789 0 R 1790 0 R 1791 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 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 1826 0 R 1827 0 R 1828 0 R 1829 0 R 1830 0 R 1831 0 R 1832 0 R ]
->> endobj
-1780 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 697.9944 267.0609 708.8984]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5b00da433f9d9473b1fbd2cdf6c5976e) >>
->> endobj
-1781 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.8766 697.9944 348.7037 708.8984]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1782 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 663.1252 273.6864 674.0291]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d453d2930f64cc40ad0b5dbe4ac50c07) >>
->> endobj
-1783 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.502 663.1252 361.9546 674.0291]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Congruence__System) >>
->> endobj
-1784 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 628.256 249.9053 639.1599]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ea3d6d51b260b5aa832a1a3a68ac98a0) >>
->> endobj
-1785 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [253.7209 628.256 301.6509 639.1599]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1786 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 593.3867 255.9931 604.2907]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0f157e4c644b4ca57dc6d0ffe0509ae2) >>
->> endobj
-1787 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [259.8088 593.3867 307.7387 604.2907]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1788 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 558.5175 243.5494 569.4214]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_be395df0f967ad2074e87c95cab973ee) >>
->> endobj
-1789 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.365 558.5175 295.295 569.4214]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1790 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 523.6482 251.0111 534.5522]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6e6eb647853269db9de88ed234a16656) >>
->> endobj
-1791 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.8268 523.6482 302.7568 534.5522]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1793 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 488.779 282.0047 499.6829]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5b12ca4fb2557b59516d1bbb2e30fa43) >>
->> endobj
-1794 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [185.5675 451.9172 311.3943 462.8212]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0c39fad28012b1e32b3bb3f51aa395e9) >>
->> endobj
-1795 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [315.2099 451.9172 363.1399 462.8212]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1796 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 406.0891 225.2981 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6e67cd103e4b330d46ded91f0ed0ec2b) >>
->> endobj
-1797 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [229.1138 406.0891 264.3014 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1798 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.8555 406.0891 359.1051 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1799 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [381.7403 406.0891 427.7572 416.993]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1800 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 360.2609 238.0203 371.1649]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a7225f4984a8ca7b4701b78e9aa545b3) >>
->> endobj
-1801 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.836 360.2609 277.0236 371.1649]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1802 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [294.5777 360.2609 371.8273 371.1649]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1803 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.4625 360.2609 440.4794 371.1649]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1804 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.3354 314.4328 265.3858 325.3367]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2c5d0c7fb2c1bbaa9359ed0b497152cf) >>
->> endobj
-1805 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [269.599 314.4328 304.7866 325.3367]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1806 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [323.2352 314.4328 400.4848 325.3367]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1807 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 314.4328 513.9963 325.3367]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1808 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.1758 302.4776 208.1926 313.3816]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1812 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.8644 255.4466 285.6371 266.3506]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_52cb475c174028850d7ddd0998e089bf) >>
->> endobj
-1813 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [293.6148 255.4466 328.8023 266.3506]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1814 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [355.7211 255.4466 432.9707 266.3506]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1815 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 255.4466 513.9963 266.3506]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1816 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 243.4915 171.3608 254.3954]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1817 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [208.94 243.4915 254.9568 254.3954]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1818 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.4358 196.4605 276.0922 207.3644]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_ac326b042c380a004289377eca7d2342) >>
->> endobj
-1819 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.8556 196.4605 315.0432 207.3644]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1820 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [332.5032 196.4605 404.2434 207.3644]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1821 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [436.7467 196.4605 513.9963 207.3644]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1822 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.2318 184.5053 193.2487 195.4092]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1826 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.9773 138.6772 296.356 149.5811]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_79d4ff349ca7b314602b79a2d74fe976) >>
->> endobj
-1827 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.8901 138.6772 339.0777 149.5811]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1828 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [364.9985 138.6772 436.7387 149.5811]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1829 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 138.6772 513.9963 149.5811]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1830 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 126.722 171.3608 137.6259]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1831 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.996 126.722 240.0129 137.6259]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Coefficient) >>
->> endobj
-1832 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1779 0 obj <<
-/D [1777 0 R /XYZ 90 757.9346 null]
->> endobj
-1792 0 obj <<
-/D [1777 0 R /XYZ 90 505.8798 null]
->> endobj
-1776 0 obj <<
-/Font << /F65 229 0 R /F72 307 0 R /F67 238 0 R /F52 213 0 R /F36 1811 0 R /F86 1393 0 R /F84 950 0 R /F40 222 0 R /F85 1825 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1848 0 obj <<
-/Length 4119      
-/Filter /FlateDecode
->>
-stream
-x��\[o�ʑ~����J@�����b��I�f�&A���$�@[���n+i�q~}�Hv����i�8Kb���ꮯ�/$�Q��f�Ό2�	�gw�:{����u��p}
���ͧ��9�4׳/��͈�Ͼ��8g��X2J��X�v��x�>?��S��nnO��������t���`v~�/�\�����|n?�T��͵zW�>)��k���o~�% ���f���o��g:[CC~� Ϊ�|��9�g�Ʌ����|��AO{��a��Zb������j�}L�QI�
|��Z��3�#�1f���΂z�O��~�g�Qgf�¡]/U��5���f��e��j�m��
<�~��٬p
'\��8x�������%`����קj��[�^U���O��}��쪇�����
�
-RD�@�T��������T�x���V4��;�N�_��x���
DM
 &��=���
e	���#���/6��Z��c"ȗ
�"���-���~��yw{���H)��\�]�
-��� �%N�����AK��n��|	�@o4����M
�b�8�Z*�>N���@���W��K-c���h4�5nz<C��1F�ne3hQ(u�4D��㸄"�rhm���e��.-\��%1���
<�o���_�R����8
����qsn����K��V!Pӂ�����t��#KY�9e�z�\
[���0��|��.���ǺU�b5BYKө�X��)��Nd�.+#]N!$��VFҙ"Θ.��z�k�h�IE��-��|�"
f��ӈU,*4��:=�9�q"�c��/�%n��X���-�����x�x	8	UZ`���-�MW�t]O�^�<��rn9��
e�aݺ��o�G��
*�TK3#x�Jc]�}5���(r��/�	�9�J
�����J�K
�H]����ʜ�f���P�\�r@�)�L��J0�tf�����OPɲN
-By@�2"��Ӟ�o@D���
/]2��V�@ID5ͷ> XM�di�ǪI
��ˉ��y��SJ�HY��A�`�
-������&D����ܕ¡_���R�� �A
%aL?�T��{�5)�b�"a��|W����-^,�[����R��5�6O�Pxl�W�|�W�\���S]�"�������/����9(_d[�,��z���?K���
-�
7���Q��U0Ke�v¤���R�>��?��
і��0ԕ*�ԔJ/V�a"��"&o�3dlv�X�hv�F	�{p��5�|	�@/"�
-�c����~u>Vw�j����Qw0[�q�u�*��j�1�3�N�@)�� _D�׋�w��W�Mu�
�q 
m�z H ��� ��ä:eS�r8
5�=�,֑IeA
�}�
�^j  a��W�H�m�w8ޟ�����A���槉ALLF��FsR�����@�$�
�&��Ah�6c���
�I2b�$��:�%
���K"��Ϋ&�o�/^�}ݾ �]r+�e�8Q\k;T
,���p�N;��3L���
-�
Ċ�
+��s�n�ω�7�s
-g?�
���<�JV
-󳬣�T��;j|�	��	� C��>�>ח�j��
�7�
-�p�ϥ(.��m��:�^�)[Ap��Lّ�
e{����ůQ���U�WS6V��g)��l]([ԚP6�M(�A����P��\wW�xs�#s�)��>.c�1�3uۙ~M
�MM�4O:z�
|!��1�)�[�o.�1�U�oJ3���ϡ$Wo)^Y��ץ�� V��Ha���v=��f�F�	�)��6�ۆ���a�jЀ�����O`y%{}2V�K�k$�iN�E}����1��i#�Y��~/U��1�76�Z�(���9�МghB������
���_�F}ܬ x�������P�F�	
2�)�ߊ�.�|ҡ��5w�J:��\��b��:z}�K9[^���Q�U7�O$�{פ��n��j*���o�[�h�p�;����T�cS�f�'�k�R��cYI���y
&x�:�K�\k���N<�p�b���a�W�A� k-���*3~�(�
/���]����h��ȷ�&ww]Yu}����pXo�{��Wa�
�p
JG��A=q��|nꅾ:�Тtf(�� V�yy�!��v9/1����™��
-�z��	���� ��$nŨKZ��]
-����%:$a�e�[���z
�N�<])�o}�*X��&!����"�&�9���$� ��>?UDZ�
h�)�^C������
��k<���W�/T�4��~�N`���+)�
(����]Ց�m�a
���1C��&�?���$p���~��A2��v�ğ^�̟��
��z��;�?8S�3l��<��`yh#j�Yu�M�[��
-RD��6̚t���૱]�g(�H��]<���k
-��z�f(
M�ջR��pz����%�$�2�ݓ�>�o�
��Q�j~��{҉�oQI�����mS#K��o�	�s0]ڠ
b�Ȏf"�`�����";�3!�
�z��}<
������ĝ����T�`0�)T
i'�"��ƪg�x�۱�Ll�|l�'9� 
��@ �C�ݷ?\"N���A�
1J~���:�SQZ
b堏�>o�}l�mA����y`�Mw��U� ��V���n�=A���C%��w��*���TJN�C�/"���O��
$L�l��A�`]P+Tj=?9��{��EkAC��Z�]W��A`��i�e8^�
-��p�{t+���%��n�R��97(��i�C����G���(b��}<�b(ZZU�������24�}�&p��h
�@o{�mw at P-����qD9��
-RH�Z���G�pi���N	�E}�7Ё{��?�
-!9�F�E��vP~
]PJ4��Z��u�8׋��#\~
���
-3ܤn6�}	�/��:p׻�5
��i>~I�8u��$Ċ�+̐O�nG>��7�O
-g��
�����>9H@Q�l�eA��L0@Ʃ�uU2}�Y���S6
-��x �]��c
�(
b�(�t��C���s
w�
��aq���Ï/�;M�
/ۍ���Ƨ͂͑$շ��c����ђ}���g��d�����U
)�ҪN+�C�0Gy��
b�o#��r��Ed
�����8�S�FBU�e�MA���y>^����>o�d�����k���.R �����@w�z!��3L]��x
-K�w�Ǝu�ы5G�Zf��t��:��'���u���q�����غ�?sq������ً��;N
�y��*�
r�����JA*X�s+�]�0�vy���b�oc�����Ed���<��g���

-R \[<K%{=3Ft�|�a�'�x�~_�ĩt��e���T� `���N��O��� V��� _�2�[�}�
���}�
- $�D��! S
�a��w�ݎud>�!���U�/x���簲5�䌃�[�
wn����r��f?N���N���˙�:���_Sc��5� V��Xa��
v;.O̾��S8�� l��)%��*7�r��
-R

�@ZCՓv�(�s�S=�Kz��	��t�Tە?�8|d�.!��R
-�H�S
�{0�g0|*���
�t�̋u�v<ȕ�W����pU�]v���V��:��4�������2Ƕ��帨���
-��,?��$'�(��C��
�lP������v_���ow��m����1Ⱦ;$������f�5_�V��/p�Z�o@�_���s��&����|��S���o��������fRF
|o:â�]+��o�
n����aWm�g��p���مo�7+8xs���Np�3 M��7v������a>���_6���3
v���Z�����x���
;Sb��0^kC��oNl�	
l�1��P10ol_�A��k;��]�}
��|�m����ˏբ}a�������+�#����C��>���\��e����|������f���
ZGۣ��y���p� ��a!���W�2��+���nXFw�f"
�
/��w�>===��3���
Ods�t<n?
-\%�	���e`I:K*|E�˽���Tw���Nn�O\w�1�=H����PT�xG��
t�>endstream
-endobj
-1847 0 obj <<
-/Type /Page
-/Contents 1848 0 R
-/Resources 1846 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1666 0 R
-/Annots [ 1850 0 R 1851 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 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 ]
->> endobj
-1850 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.2365 719.9123 275.893 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_94e51c5141f6c2a46e4c8d8aaea539b4) >>
->> endobj
-1851 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.5567 719.9123 356.8063 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1852 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [373.6386 719.9123 445.3787 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1853 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.7027 719.9123 513.9963 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1854 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 707.9571 171.3608 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1855 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.9218 662.9449 296.3004 673.8489]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_9a21e654ffec08b0a79e6aa5ec29d72d) >>
->> endobj
-1856 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [303.8068 662.9449 381.0564 673.8489]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1857 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.4661 662.9449 478.2063 673.8489]
-/Subtype /Link
-/A << /S /GoTo /D (group__PPL__Java__interface_gccd1fa9f287c6fe48bd8dfd920a5397b) >>
->> endobj
-1858 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [125.0948 650.9898 202.3443 661.8937]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Linear__Expression) >>
->> endobj
-1859 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 605.9776 293.6212 616.8815]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5e9ac1ca10b983f0dee8146e6e95370b) >>
->> endobj
-1860 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [297.4369 605.9776 332.6245 616.8815]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1861 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 560.9654 297.4966 571.8694]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f3ff44da0089b15593e3ce719e37e677) >>
->> endobj
-1862 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [301.3122 560.9654 358.0885 571.8694]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1863 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 515.9533 240.501 526.8572]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_faf7844389329a23b58abf355ae79ded) >>
->> endobj
-1864 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [244.3166 515.9533 292.2466 526.8572]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1865 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 446.2101 193.9062 457.114]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5f7cb393111807edd0542e1e4367f249) >>
->> endobj
-1866 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.7219 446.2101 245.6519 457.114]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1867 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 412.1568 316.3062 423.0608]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_250dcd46824fa3fcc48f2dd92a8293ea) >>
->> endobj
-1868 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 378.1036 317.4119 389.0075]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_40f85671a746d80dd6a5a14292f6df72) >>
->> endobj
-1869 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 344.0503 250.4435 354.9542]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_b492b453a39228bad565e4964c7ad257) >>
->> endobj
-1870 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [254.2591 344.0503 302.1891 354.9542]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1871 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 309.9971 280.5904 320.901]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_88d0ec91f9e05922238463630dccc296) >>
->> endobj
-1872 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [284.406 309.9971 341.1823 320.901]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1873 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 275.9438 311.0261 286.8477]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_95849529fc06d893870e1b39fe009db8) >>
->> endobj
-1874 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 230.9316 275.7587 241.8356]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_178d863fdd91da50df37aac742b5f89b) >>
->> endobj
-1875 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.5743 230.9316 314.7619 241.8356]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1876 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 196.8784 267.0611 207.7823]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_e44edf9029d653931c7a450481127e14) >>
->> endobj
-1877 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.8767 196.8784 327.653 207.7823]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set) >>
->> endobj
-1878 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [385.7049 196.8784 420.8925 207.7823]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-1879 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 162.8251 268.1669 173.7291]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_beedcb4af89476e04d9b358ae522dab0) >>
->> endobj
-1880 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [271.9825 162.8251 340.2458 173.7291]
-/Subtype /Link
-/A << /S /GoTo /D (interfaceparma__polyhedra__library_1_1Partial__Function) >>
->> endobj
-1881 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1849 0 obj <<
-/D [1847 0 R /XYZ 90 757.9346 null]
->> endobj
-1846 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R /F84 950 0 R /F40 222 0 R /F85 1825 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1898 0 obj <<
-/Length 3808      
-/Filter /FlateDecode
->>
-stream
-x��\�o#���B�*1��ǡ(�\ڤi\�_��ZZ�B��J:���;�%i�C��:�!rZ�g~
r~3|���db�D	�
�r2__��-�����Ǘ��2���ū�J11�H*'nj
� A	�|X�4%1:�$�鮨���n�z�+Uq�Z^WE������Sw{F�t��]R��oV�~�\�+o��Y�����sƧ��~����_>���Ib����_�d
���-&��#b
��/8e�����ŏAO���!?p���RO.GZŸI�Q���(CX
-
|&h�3B���I����R�m
�l�$Vط�rv�Dؐ��MqXΨ�~�1-{ ��`U�N�]
�����Z,_���*������P��h(4 at j�vE�`�i���Y<�4ȵ��z��
F������,H�+���,0�O�F�d
:ą�C�	C�k���
JL ��\����
�$���cD%���,�w��Xm\���b��e}��i>ogO��~����d����<�E��UDdWj��f&�A,���D�f��m�
�m #7���I��rǓ7�4ȵ�����z��rqu:��0�5Iw^���`#%tw��b�Q%�91
�H�p�1�E��~y�k�6�泚15-�͢�
Nj d�`I#J�8
�2LE��X�"�)H��,��@�֏uy�\��(�Rv��/���k��(���`�f�<� �@E���kl���Bl0�G� �gt��h�_$D$֙�{��qR��n�M�
������K�#E/^̢��bḥh>���C�W�0�P�rC�|��Mm$Z�m���g�Y�� X!�`f��-�@�rS�q���Gǁ.!-7�
�
_���)-�H`�"
�u���WYV�byV��X1m׳bl�y�؂3���zz{�؟<0�P�Ӯ	R���[y�Ki� �G���g�w��)�Y&2��
e 0�J����̈�w�y��H1��������1#�
C�����$U���f�� :��s��E�Q
Sfl3Pf(��eJ`C���)
僔	�[���zʜ�i�5A?⌝Ϛ&ÚB�E�sKAA,˚��kf�:�l�}k��`�
��^�̮!^�
W��b�_�nz�%)i��
����t�or�8�j��|AW�E��-�n���
N���{��uÑ�3(��	�3i�a�XG�5��E��X��Z�R�ە���&�n�$X@(���N�����q�r��
�.E I�>�#��
�˘�O��j
��X�Xh7ee�N����ĕI:(��P	�=�m(���B�����]���gP��d��A(m����q��?��B����T�{����h;N�R�q�$8�b��΋� �jX�c/���Ha��v=�f��-8c� 
���"��w����~�(7P��"�[�@i�tQ�� ��QlD�k�����R5�^<k��5��B��E��A*c�� p�e�a&�ԭ�~�pUo���u-OH�@J�x`�R��F������j�o�Ci��mY
hc	����SV�a�$.n$t-f�W�#A\A������/�o&JL�=fi����Q{�k�]�J��_������M�]�xZg#����uy�/ˡ(����<�A�f14�H�>
h�����ϵ@���
g\q��1�2�0�����[f���m8#�?���"�F�,�K;]!��

�ZD�~�}�97f�#�|AWo�
-d�i���R����
�φ�aE�#�HG������C��X_p��9�|����
6K��~��,	byΏ�8?m�s~l���L��HB:p���s�zz-��r�<��+W�����*v�`�nN�f���ςT���9f��Wy�A�*:�7^<k��5�4GRh�i������
�m�.
t-�:
���{�
��^���v�����
Nl$ټ��G�A*�+
��w
1��]��s� ����=�D��m�jN՜N���)M�G%P/��<��"�&�T�����q1���徳�Js���F�� �>aB�H�)kRg�6����I��o���f[C�G;R�}�w��8���`�&��4E
��O��12jq�HBsV�'#t�8^4�rG
���1�墹q��]�U���n렞<�@�=��2�� A
�&ef'UҤ���J��^\�&�Xa")g캤�2�Mʒ�DReȼ
'���|XOo���ltF�
-�e�aA*��ْQ�Pkw�PF�
-\��X��,���LRV
aFi��^*g
��ݱ~*)��L�����a��
��%Ѓ�,� ���9�MD���qR�a{���Hʖ�1ggm��:i9�������a:�O㦟�T^f��0e��7��z0)��&���᪛�kMR��~R��TR�R�dRfvp�9�㲯�Pgr�mq���9��
����$x�y��es2�'gUns<��sr�0���v}N���Gujq�&

8����s�zz�%{��9e��P"� ������
�
�en�(9�9A>���77Wֈ�f��r�
�1�T��pZ���`:�A>���w�\Yڕ:�vD�ʁ���C^n���2պ5Wf�A��\Ҳe`��z�.֑J�^����KL���f�Q�>��
���"�f�>1]V�$a���������?e��@[
-��n�i�*Zl�%e8d�����(�T�s
P�!�ȣ�����^�|Y
C�[ m�6!s�$�0�"@�G5���e�Jv
��\뫮��}s�5f���8S'`ZNS�yR�q XK��,ܶ��-�0�‘��������ퟗ.!� A.ɔ�A,[B�
-%dƮ+![f�%����
�
'QB:�
��޸�|Ҳ�09�z+� ��eU8eݎ�h�q�!I��L��!���-�@A4�~/��	

�6~jU�C(2�^>��wd����8K�!He@�2�he� ��ȺU>b�0����طX��g����D��~_�y�U
�\L]J��6g�)���^t5HE�d䨎�,T�`ę��f�l���ԩʑ�5����
J����B�D���T&
GaO�=�n�Zغ�j9\7���ޯ����d��݆�(M��
Me�n�)W�"���}�uH��{3R1��U�� �6�߯B����W�X��S�*��j��	���ؾޅ���*��
�ma뻏��s��_{�l���W���
[�q��8�?��N
�4�fV��u	i+5�3joZ<u��^�j�`��Uc��y���h�.�L��^�2��9�ZӅ�:F�i����ʘ6��|���Z�}�̴o\�(�U�{ܝ�?�����Cs�&H�S#\�K�>�[� �k]g.+��<\�|̅@�I:��A<�Оֺv�:�e�n���yڤ���Ul��$��F3[�M�
��qCC
�Lho
�Pcշ�w����)V�(������q� [...]
-tYV�bs[.^۵޼����r�
�[�6����u��"p�9+�k
�c�o�9����a�Z��>.���⏌.�����
�e�u�sץ����.�

��B�\�J4�|�@e<|�
-C`@g�\_�Ä@�M<2]*mF��b�u�S�
��:�~�9H��A'
�[��N��zh�ݭ� ��L��!�ם���n����u�yQ
�"��/��^	dJ
I�����&����f�����/�ħ"��Z7�
�ׯ^��ߣ�

7�]���W���U��8�}}�zXZ�Ņ=+n�v������V�ܖN�R���f(/�`]S7b�|�4��gendstream
-endobj
-1897 0 obj <<
-/Type /Page
-/Contents 1898 0 R
-/Resources 1896 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1666 0 R
-/Annots [ 1901 0 R 1902 0 R 1904 0 R 1905 0 R 1906 0 R 1907 0 R 1908 0 R 1909 0 R 1911 0 R 1912 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 1932 0 R 1933 0 R 1934 0 R 1936 0 R 1937 0 R 1938 0 R ]
->> endobj
-1901 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 719.9123 227.679 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1902 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.1771 719.9123 271.6636 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_f15807720fca193200fa6ea8627ef10b) >>
->> endobj
-1904 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [151.5354 683.7309 227.679 694.6348]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1905 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [228.1771 683.7309 319.2644 694.6348]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_dd26476af2dfda6abbb7508ef88cae2d) >>
->> endobj
-1906 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 647.5495 230.5187 658.4534]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0c70e4b9986758a2c5cfabd0968c80a2) >>
->> endobj
-1907 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [234.3343 647.5495 276.1571 658.4534]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator) >>
->> endobj
-1908 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 613.0204 234.394 623.9243]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d8155c4d2baca71b59e67eb7396bb18c) >>
->> endobj
-1909 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [238.2097 613.0204 314.3533 623.9243]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Generator__System) >>
->> endobj
-1911 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 578.4913 241.6168 589.3953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_2d8112f8870851653e56b12e910f7e45) >>
->> endobj
-1912 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [245.4324 578.4913 293.3624 589.3953]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1914 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 542.31 266.2442 553.2139]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_6661b721ae109cee00992746554acf53) >>
->> endobj
-1915 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [270.0598 542.31 317.9898 553.2139]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1916 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 506.1285 282.0151 517.0325]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_894ed94e4bfdc07cd6ef5d45e5c464b7) >>
->> endobj
-1917 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [285.8308 506.1285 333.7608 517.0325]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1918 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.5403 471.5995 262.638 482.5034]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_a9a506db5b2ca3606ffdc72bae993831) >>
->> endobj
-1919 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.4536 471.5995 314.3836 482.5034]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1920 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.7649 437.0704 332.7968 447.9744]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_5c870a4502b7d88bf273472936bf4fb8) >>
->> endobj
-1921 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [337.7247 437.0704 385.6547 447.9744]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1922 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.9707 437.0704 475.7977 447.9744]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1923 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.9321 379.6273 318.5869 390.5312]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_0d6e2bbaaefe11efb5429fe1a61e3d22) >>
->> endobj
-1924 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [326.0984 379.6273 374.0284 390.5312]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1925 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [392.1575 379.6273 469.9846 390.5312]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1926 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.1441 322.1842 337.2538 333.0881]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_27c32393002b42d894f964a5d60af964) >>
->> endobj
-1927 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [341.3714 322.1842 389.3014 333.0881]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1928 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [399.794 322.1842 477.6211 333.0881]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1932 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.3114 253.7821 323.0439 264.6861]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron_d078549415d6b45298d374eb3b6f5c7d) >>
->> endobj
-1933 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [329.7451 253.7821 377.6751 264.6861]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1934 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [393.9808 253.7821 471.8079 264.6861]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Constraint__System) >>
->> endobj
-1936 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.8062 122.1538 195.7362 133.0578]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Polyhedron) >>
->> endobj
-1937 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.4399 122.1538 513.9963 133.0578]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-1938 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1899 0 obj <<
-/D [1897 0 R /XYZ 90 757.9346 null]
->> endobj
-1900 0 obj <<
-/D [1897 0 R /XYZ 90 733.028 null]
->> endobj
-1903 0 obj <<
-/D [1897 0 R /XYZ 90 700.6616 null]
->> endobj
-1910 0 obj <<
-/D [1897 0 R /XYZ 90 595.422 null]
->> endobj
-1913 0 obj <<
-/D [1897 0 R /XYZ 90 559.2406 null]
->> endobj
-1935 0 obj <<
-/D [1897 0 R /XYZ 90 184.9048 null]
->> endobj
-1896 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R /F11 265 0 R /F86 1393 0 R /F85 1825 0 R /F89 1931 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1949 0 obj <<
-/Length 1918      
-/Filter /FlateDecode
->>
-stream
-x��Z�n�F}�W���N�[hڦh� i��%	Z�,�"��T
��;KrW��(9�C�"@������왙���?2Ux�
)��t�L��
�2!�k�{m�ӛ��3)�
-)I��f]I�	J��f�vF0bt���l�I��eۇM����6�������՜�Y�xN�Y��=*���mX���h
U�t�<��I1�|�󍵰Y�`�h����}��+X��	�1����Rt�L8e�f;y3��ʩ_T��� �
GP����d\�2Jna=�Ҟ��e�5��-�I��a��=�㊴!҈J9'x�A��Bn�l���G���z��E��q���
�Ϲ��0���m�-�z��J�O���)\��!�kP�
�!4�Ij��-���(A
񑤜W��Q����Z��V�x#����C(��c�`�u��0]�Y�}����P��2I�
�*���X7n�n�Mq�/}�+��
-6q�R��"�5 ���@ L*� o��}k@^5��@!����ԯ4��q�t2�}�S�3J���Fp���Ta���y��e*��„��N�Y��icM�
�B��W��j'-�
-��S��<8�~Ϣ���Ƒ�Ա�f�gs*f��H�q����.��&���.\6d���
�%�̥� �� BF*�v*�2�c�L8�.��;�g��Y��g�Gq�m�OW�b]?H�m��i���0_x�T	AJ�$���.E��I/ݸ��p�
#
w�\��$��IMn��BY
�)3�x�p�<K���B�_���?H%��?
�	p>ᒏ�_u��&�l�s)��������.�s�o���27�u,��;'u�;2K"��Sl֑���ҋ�e�쀩��qr
I_�dױ�\��\G/��h[��}-�
�9���\�{��'8.�GV�q�Q�a��6�8�q�#|���
�R~1�
lus��]�q���⸁en��X���8~��

'	{
�%��8��m�(�${���,�z�	K�1���0����!F� P&l�~�H
�aPWD�KE�ܢ��Sv#��â{2R�
!�!R@�
���
�h۰�M܆�d
!&�w��+���>qh�����<�;��{D�G9'K�U��!��bk=^C�T�7]KEQ�k&42��]�pP�8�T��d�!�JZ���JE�
9�ȕ`��VOw����M��ԏ�aQE ")�9���Yn>���#�)��M��voF{����e�:Z
��'D�W�6�xu�� �\k;_iV
�0��(��.�X��w�v2t�S��5k�5��	.a"$IW�	նb��:��5t\=+3��?
��L�o�����:RP�p-�c��o��D����YN�
Bт����:%��ʢ�*8�ؠ��{� �#�t�X����a���`�v�m5�-�ˌ�S�j�Ƽe`�����!���P��[Љ��b�U�fI�~V����S�j���e`���Q
�eЅ��6����^�������k̭���m���f�]��{�q�?N�-�q�'
-�qJ�
�/
�����Ġ.��0�5��r�Am���)�=�P	�p��9F�(�𡨑�լqLM#�1�e���$�6v���%��5�\��u?��:���� �����5lV%@�
(�2��A���c-�D��V�5Muצ`0�m4
r�C�?��F�t�B�
�ӡv&��LM��KlNm�u����2�/7�~U�PH�,wx F`�]����P/}Ƞs�!�����<m��T�W:%��ܚ���}Q�����P��5O7���n�5�~M�]^W����G��̅�5E�e�����Ks�������a=
���@Л(�{��bH��i��啕����
^�7Lm<8h W�iS��뫫��{�,�>�w9�˫�n{շ�Cm:YFb�Y���N�`'"���z˖��c�,�cV��|\׳8dR�9� ��18��;B+�endstream
-endobj
-1948 0 obj <<
-/Type /Page
-/Contents 1949 0 R
-/Resources 1947 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1961 0 R
-/Annots [ 1953 0 R 1955 0 R 1957 0 R 1959 0 R 1960 0 R ]
->> endobj
-1953 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 632.459 230.651 643.3281]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1955 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 515.1178 230.651 525.987]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1957 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 397.7767 230.651 408.6458]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1959 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 176.9584 230.651 187.8275]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1960 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1950 0 obj <<
-/D [1948 0 R /XYZ 90 757.9346 null]
->> endobj
-1951 0 obj <<
-/D [1948 0 R /XYZ 90 733.028 null]
->> endobj
-1717 0 obj <<
-/D [1948 0 R /XYZ 90 716.2211 null]
->> endobj
-1952 0 obj <<
-/D [1948 0 R /XYZ 90 716.2211 null]
->> endobj
-1718 0 obj <<
-/D [1948 0 R /XYZ 90 623.3681 null]
->> endobj
-1954 0 obj <<
-/D [1948 0 R /XYZ 90 608.7978 null]
->> endobj
-1719 0 obj <<
-/D [1948 0 R /XYZ 90 506.027 null]
->> endobj
-1956 0 obj <<
-/D [1948 0 R /XYZ 90 491.4567 null]
->> endobj
-1720 0 obj <<
-/D [1948 0 R /XYZ 90 388.6858 null]
->> endobj
-1958 0 obj <<
-/D [1948 0 R /XYZ 90 374.1155 null]
->> endobj
-1721 0 obj <<
-/D [1948 0 R /XYZ 211.8424 140.4448 null]
->> endobj
-1947 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1964 0 obj <<
-/Length 2435      
-/Filter /FlateDecode
->>
-stream
-x��Zmo�6��_�ogg��"sE��b[�^�nS܇�[NtgK>Y�l���P"eQ�$;YhQ,�����pH�<�Hd���i<�D�4�r��]��
wE��%�_���^]+�L#-���n*
� A	�ݮ��],	�x���]|�ϷϏɺ���}�77���y�-�T��7��p�/?&����d��q��\�ů����6
�	&���W?��gk���+pD+1{���lw�)s?�W?^���oT�� ;'�!,;Q$l0��L�?�?0#)��>ϷI��?.����.��]�?��,��i�������:l�C
-a�p]�X�OXQB��Tn&F���fC��p�6B],L�<���1]�IVT
����>�f��,��RD��^�Z�T�C�a#*�|�o����T=GH�9)ט��
-�#ʴ���n}ML"E��r_f�k���
Xd)��V��B�����E���(����W���Xd�5jke�K崖�1	h�1%�`o�Dr5����а������
�H����a�D�U��,/k�n_>����H�D����&
��5r��ub�)�
N�����S}#�V	���C�`vڅV_e��1]=�C��PEVQ2��p'�Z�I�
-�̜
�K���������ڄ��w�c��Q7E*�0Q�L28ӰAB���,[B��4˜�&!����&��E�Kʤ8�t�LQ�(	������
�E���{�3N�W�so�zF�U%
��H��uk���o}�,���76Wce^�o�]�^�?��'���
l=
���蒭���ŀ$̥��9�BKll������0�
OvR}Ý��Hq�1ܬEv�%E\�v9�
��y	�Hj(��j���ˉy��.���vR}ýpQŤo�	�:�r؎_4`B�a�d"^-��p9�N���r����q�N�g�?h0��׶;\(9&�:	�뤉c]'M '"�rx�=�
I7c?�I^p�%Y�-5��H*)�ٽ��J�%䳑2�u�#���]ɘ������m��}_v�3ξ�
�o���ߋ�Yy�̠�?�s$�s�_6�}�:��#ih����cQ�����\�)b�Ips�{a�D �F2�Db-=�K
-)�̔�e�d��~[o;�	l�"�z��6AĄ$
 ����`��A@��</B0����(���Fm�h
��J�-0'�
�v볁SJ ���t�zQA��*� �
���(vP,U�?�(,�¢ϙF�
;�*d�P=����
1�TwSm���8Ǭ̏�G�V;�g�
_�n��M�!6Mx�Mv!��?;6
z^Ħ�El:�?Iy��
�v���iH�D�ת^�U���U�æ\F|�M��
L
a�R���iOS��A6�M��).�%������M�!��T26��9�
-�(�18�"��
~�5���H���pip
��@��tUh�8��j~&
?�f��\j��KX�ȉ��!�ύ����O�OR�
��؀�3�R�DV��j���Ð��#�� I�CT$C
���q��>O3�	�
�"	M��Xִ�ECJ�P2����;�`@)
�q�ؖ��L�����!90�
z���a#6�$
��Kгnxv_�'���>�
)ė� ~E��)"�[
-'�4�0yI��0���;kI��>�O0p�G��%"P�D�Zbc�rb^��F
GDOvR}ýha��3|A���x�Ya���x������:H�oh�
�0���;9J)Q�7��{~X�Zv�g�� C%x�p��������%��)5a�I���[ռ�$���11YTk�5��/6A\��d}�J�T�t��oT�
�!	?T�̌�1�aW����{so���¿oƇ*9��'RLc!��r���
A �B�V���c7X�)@[.�D��-5\�id^?��[D!�n�|
��F�-�s�o��z��[D�g�n[$�Oz at 4��L���R
nA
�0����5ӡ��Fvl�=6na`rRL5�(D�a����IT�
-3,U�!O��@�I�FzD
)Ҡ�V'��V��ƣ���
-R� �鱨��)}
-�S�e6{i�	=�\��L��
%�d/H_a�
�m�ת
�hC���h3Ex>�h3ɨ��b��q����Z���h��e��HS6'답�䟟���?!�|�W� )��ZL 9�z9���qS�/i0̏�aP�&�Kcs?5��Fý�����'(��'
Ro
%
8�zշ��W�2�L��/"$��S���s�
�6S��OW���׵���>6�>��v�=
���]{qSm̕
��Y1���qv����5�,N+��&�#CZ���$�F�0B�$�cZ����]����e�	��8��ׄ�,�7��OOOhu@�,�(-����u�/�_�
1���F�狷X
���Ez˗��B��ɞVn���' �#��4�����G����*ћendstream
-endobj
-1963 0 obj <<
-/Type /Page
-/Contents 1964 0 R
-/Resources 1962 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1961 0 R
-/Annots [ 1967 0 R 1969 0 R 1971 0 R ]
->> endobj
-1967 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 542.7028 230.651 553.572]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1969 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 254.4368 230.651 265.306]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1971 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1965 0 obj <<
-/D [1963 0 R /XYZ 90 757.9346 null]
->> endobj
-1966 0 obj <<
-/D [1963 0 R /XYZ 90 733.028 null]
->> endobj
-1722 0 obj <<
-/D [1963 0 R /XYZ 211.8424 506.604 null]
->> endobj
-1968 0 obj <<
-/D [1963 0 R /XYZ 90 491.954 null]
->> endobj
-1723 0 obj <<
-/D [1963 0 R /XYZ 192.8535 218.338 null]
->> endobj
-1970 0 obj <<
-/D [1963 0 R /XYZ 90 202.3082 null]
->> endobj
-1962 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F11 265 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1974 0 obj <<
-/Length 1931      
-/Filter /FlateDecode
->>
-stream
-x�ՙێ�D����#�6=}>
W��
H0
�bE���X8vp
���TLJ��d6��Vډ�rW����n`�G�%2��`���`������
�ϛ_>N"0�H*���yI�����S���9�O�a�
�4~��U.��)
����fO��3��i2�S��_���P�|�k{�f����8g|*��������u��������ï8X�D�O �Ep���14�M8e�A<�i�c=Nq�|�OӢR�`�8�n�YL�b��f�!,�5Ӭ��
-)�DP�9�d�H��#Ԁ?L��}ǕU߱�M�.zN:����<9�l�iV
���o^]�����qW
�1�b�G�y/�B�fJ� cr��fcrUf�\+�\
�Z�;����{rQ�d�q-��&�.J�Q��!�hn.�4�6sqC��
�����າ껖��ZP$$���:ώ����K%�ع8�g)^��J5�����QɌ0>�
�j�W����K�7�����7=��"i��ല�;m'+QH��N�Z`+��P"�+̣�|FL������

1=Eq\\x��- �h��UyT\ܧQ�g\޻��8=
3ۻ~�ڬ\�V�0�0$t����}���8�hi��p���b�(?�
�1�ʠ�L�AK4�;�]-&Z��8���2�7���P�1�����R�
��?�v�?����y7��&
~�mܙlS^zh%h�x�X�2s��Kf
�
-�h��"�@1H�E=�n� 
-D_����G�^t@�tż��6K�"�����1�ͅ�j"ǡ�?�H+8S����pq���hv ��Q�Lw{x؞�"�@!��H.�u�|���D#C�
@����H������&����h$�2qQ#�v�NҼ�)=&+wv���򴍋5���t�
�K]��Z����(�:�3��3��/��A�]���v�;;h�����
-p"�7�Y

��
�Q{;�̙�B)�i#���x��M�뼌�:/~
�<=HW�
��0�@�C͞�E0\�t�"]v���D3�
-���Ĵj�_�����e��L��%�����㳇)�r2M�����b��X`�1??R���!�BW{�k�a�
�c�:G�P��]*�s/��B�=?�3���;�R���6�WQ�)�l~�6��Q)�&���������
-JUU{XB8M�Z
�U�-Qkt��R��5XJ��L�D��Ҧ�p)�J�RWWR��+i/T%��n����ߨ�������'T�W%�h�	
�>�c~|���
�4F*-���f�A�7�B���8�d
�eW���G�6��Z
��]Be��.���g��ؤ�P�\�
-����ń@\c5N���0���AR����s~3�z���U�݀�k�o���]���mt����F
����5�Ri�>.��E� ��4C���&t9n���z�Mv<���\gԭ=��K���\P[��?�Q7�\�ihL�
'W�j�\�46������fr�b���6��\��� W/2?�Z��M�p�I����R��nj��
��
��=�i۰��U��I��g��c�gWɃ%
:�;ϟ�.�%RB�
z�yB��Ao�
�)Q
QV��&j=�
-$�Pm�>�L2@	v�LM�a2������L>�7����L��
d�&��z���Ԋ�I&A�Ȥ��_�,��!l�˪�H3�U�Z`�E�E.�<(�����Kn��}�U���P�%5ݝ��:{�¸=�> N2��M���
u��v�m�����r?�
-����Ì���cyXA�8�� eq�>t ,v=��a�9��r�wIn���p�,O�|��g3!�%N��c�����f��ک��a�F4�3�'k�j2N�В�5-��T��}���a޸��a|�7��i�������鄖tL�}���n���qq �p�6���ڨKk�8�0
U3�u�
�K�ݯ��Yvs��z;��t襢�'���9�
�endstream
-endobj
-1973 0 obj <<
-/Type /Page
-/Contents 1974 0 R
-/Resources 1972 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1961 0 R
-/Annots [ 1976 0 R 1978 0 R 1980 0 R 1982 0 R 1984 0 R 1985 0 R ]
->> endobj
-1976 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 616.7139 230.651 627.583]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1978 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 469.7932 230.651 480.6624]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1980 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 352.4521 230.651 363.3212]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1982 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 235.111 230.651 245.9801]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1984 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 129.725 230.651 140.5942]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1985 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1975 0 obj <<
-/D [1973 0 R /XYZ 90 757.9346 null]
->> endobj
-1724 0 obj <<
-/D [1973 0 R /XYZ 192.8535 580.2003 null]
->> endobj
-1977 0 obj <<
-/D [1973 0 R /XYZ 90 564.0959 null]
->> endobj
-1725 0 obj <<
-/D [1973 0 R /XYZ 90 460.7024 null]
->> endobj
-1979 0 obj <<
-/D [1973 0 R /XYZ 90 446.1321 null]
->> endobj
-1726 0 obj <<
-/D [1973 0 R /XYZ 90 343.3612 null]
->> endobj
-1981 0 obj <<
-/D [1973 0 R /XYZ 90 328.7909 null]
->> endobj
-1765 0 obj <<
-/D [1973 0 R /XYZ 90 226.0201 null]
->> endobj
-1983 0 obj <<
-/D [1973 0 R /XYZ 90 211.4498 null]
->> endobj
-1766 0 obj <<
-/D [1973 0 R /XYZ 90 108.679 null]
->> endobj
-1972 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-1988 0 obj <<
-/Length 1945      
-/Filter /FlateDecode
->>
-stream
-x��Y�n�F}�W���~1��4H��-�&�S�DKl)R%����w�KR�����ca�"���ٙ�gfWd�Ꮜ

+��a\��
���G�z<�糶��w����d$�㻇҃$HPB�w�/����O�A�	��4ޯ�e���>
�����)œ��)ѓ4�Ψ���q����S����d�?��H=�z�a��AXM at 0I,�F_���&�a@��G���CǛ����G�G�7~܃�_
a��2��`�@ �H
�$(�)��o�L�b2�O�8
��1�&\��y�E�"��iRQ�;�b�=х����Y
.'Qa�
-ڽ3�̈#�
-�
�1q6��lf�$5�5H(#J�Oa�� �s�Z/0�����.�8�q\#�

!�d�.�$޻+x�@pD����(?7B
J紉gߵHKb�!���(%+tLV-&Z�%�7��S�6����t�a���4H+���=-�m�I~{<6�)F�w�c
Ml�J�M��
}jA%X!E��`�p��k�,��ɔ�j�h9��v�0)��
��S��\_��X��uy�8�V;:���Y:�b�
S��qP
N��id
h�3��;��!�'XE����V��V���,J�f
�rW���}.#�j�Y�BA����d�p��~y�`� ��J \(֎��!�:
1�	\�ϗQ�W+
ܷ����^��'A;�<A=
�Ԭ�<
�N̠�	
-¨�
-׶V8��=7+�o�+\�_��(�%�[
-�C�W����)&XZAy͎'�01���Q�n�kދ%��4 o���7�ٓ7,c�|Wy�C�fWgR����m
����a�l at y��&
-I�yGq�V��n\j��~"�DB(rF4�A��

`�d@��kp��8c���eJA���:�J�X��ݢ
-E�
-?�5o���t&!��_�O�8�6|����y��x댪��	���mN��v��x��2��ƫ���<J�"HSM��'��:�d�
�"����f�=8��`T�ws_��N�f� �	s�0v��p��9HkP����>nR����� �	B`�V�y���k�����l�Z
B�˶i
��ၴ�i+��h���-�v���{{���G1�`Y�zE.��(v��b��̲K�7�e�
�tk�o2Y����#�ch�p#S��R��ϋp34b~�T�^F_ы�x?F�:�U	� �7ѿ
_X��]\�pvZ�`w�1�i���;-
-�1B��|�I�`av����i��H�}Tc��38���OϾ��z��R�M����I8^.eq)�
��Z���-,��Z�ߑcT��+M/.~��6�#)s�0-�����]ܙ��~qgރ:������%�[�y��3� �=h�0�d�=~��г[@�oe��m�>��VJ2��jPU%�)W'D�l%��
L(3x0�˃	WP%F�@��t�~��=���
�V��wϩ�+�җ���AU=��|�Q��
-�Xy�c�<4���B^Y?;�E
� ��:���5�x.���0���k��W'N9`_(�9��1	����M|
-g�M�X������i2(�6T\�3��m5,�:?�*�_����_��=�~�l�^����o�g�_?;����
8�f�z�!��d6粥xZ�'��=6��$g�#�Yj�fZ�~��ۿ�+���T
G��)jPuł��"���m���õ=��h�o%!�}�vEY�R��<I�#�J��,���
���'@���R�a�� O^�_�
�T��ַh&�QLW��� :m�G+.�xT�uq���2�n>��|����j�*W�A����߮c
[�쇩�*���.��5���f�
��n� t��}
G�q����S���q}��!4�
��N�T+@=�6L�����<>>�E�vI��PT�l���1..8��'r=k�zX:��А2����4[�M��n!1Y��`ǣ*���^*��=��Je�~endstream
-endobj
-1987 0 obj <<
-/Type /Page
-/Contents 1988 0 R
-/Resources 1986 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1961 0 R
-/Annots [ 1991 0 R 1993 0 R 1997 0 R 1999 0 R 2000 0 R ]
->> endobj
-1991 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 646.8889 230.651 657.7581]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1993 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 522.0311 230.651 532.9003]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1997 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 233.3093 230.651 244.1784]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-1999 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 108.4515 230.651 119.3206]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2000 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-1989 0 obj <<
-/D [1987 0 R /XYZ 90 757.9346 null]
->> endobj
-1990 0 obj <<
-/D [1987 0 R /XYZ 90 733.028 null]
->> endobj
-1767 0 obj <<
-/D [1987 0 R /XYZ 90 627.8789 null]
->> endobj
-1992 0 obj <<
-/D [1987 0 R /XYZ 90 613.6751 null]
->> endobj
-1768 0 obj <<
-/D [1987 0 R /XYZ 90 503.0211 null]
->> endobj
-1994 0 obj <<
-/D [1987 0 R /XYZ 90 488.8173 null]
->> endobj
-1769 0 obj <<
-/D [1987 0 R /XYZ 431.1796 438.101 null]
->> endobj
-1995 0 obj <<
-/D [1987 0 R /XYZ 90 422.363 null]
->> endobj
-1770 0 obj <<
-/D [1987 0 R /XYZ 218.5072 371.0241 null]
->> endobj
-1996 0 obj <<
-/D [1987 0 R /XYZ 90 354.6634 null]
->> endobj
-1771 0 obj <<
-/D [1987 0 R /XYZ 90 214.2992 null]
->> endobj
-1998 0 obj <<
-/D [1987 0 R /XYZ 90 200.0954 null]
->> endobj
-1772 0 obj <<
-/D [1987 0 R /XYZ 90 89.4414 null]
->> endobj
-1986 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2003 0 obj <<
-/Length 1838      
-/Filter /FlateDecode
->>
-stream
-x��Yߏ�F~�� �{�ۻ��FIմ�����D'��*�Ԙ\�_�Y�ڬ������0�����vl2��5
�"F�q9��Gx��˿��[�`=�
~�ݼ�b���T��
k� A	
��?NF�N#�1�l�r��o��~����~�=�I���}7�x�.O���4�O^����~|�>��Z��R��9�����ގ^ߵ]�Ib��3������ �J���
FDk:^�8e͗�����֏]��� �BP���PDQ�yReS�'_�����~.���&�S���d>����*�,����',���}d�D� -��}�o�tmVn�(�e p�{c6�Z�N�
-Q�bg���Գ�8A�r
Qc$)������,����Y�1������^�����I�\�r�'�b�R�0w���
��:sa�dk���P����!�0k���CC8��,�Jĸ���᧬Z��F]gy�����E�e�ݭ*Sd��z%&��k+�p�g�ȷ:�[��
|�)�����$e�N������LQ�(	8�Z#���1�	��=�D'2��t���q�n{P���G�����wdd�>t��^I*��)[��g
wh:wfE�Q�w��`�Q͡�=�t
i��3n 
�&gȳ:�@��c��_g�� �����VĤQۘ+��-�ﴘk�c�-֘���S�������r�[���m}��j$W�Z�cd�
�H� �[����	�31�B
���y|���9'�(��!:SP
��R��R
�&ejaU�V��GY>+����[*J�w�AU�PN�I5����j��{П�A5�c�*����—Z!�Mj��
F�֟�Zw�/��YR�i-aP�sR
���O at j�Fj���\4tc��\d����JXj9GXH���m3��Xу��`k�,�z�`W�G�71D�e �@JInW
�E:%b�5�U���(�
,�膢k�}S��?ገbNd�?��)�AJ咃�y�R}�aJ�"��z�&� ���#$a�lͼ��od�d���q؞(
s�Rݰw�
���׎�o�pB�8�E�Չ-F"��U/�j�;�:�����w	~O����U���W=*���Q$�<��=��^
��9^R2_�
�������,*{���f���V��,�JH��IhW:�ms
-
�1$�)��@�Xېhb�m�b�u�6rG�e6[��.x�f����͖�Z�
gWtm�5
e����RP�d�����%7=(9��yJn�(|˜��ü�:�N���I�,���>(���)�M��mChm�!98(�FbL��@l���E�vZ��\2�@	�%���M
�S�3�g4̼
kGI.f�@諉��4̻���{x�u��¤���p�����$�g9�c�8߳Bn}q�Z��a�
�
U@�T
�
�N��7����7-��1"8AԆ�$D	�Z�?���]��
�18�c.����LB,�g�
���9΅�x��	%<ID��0
V0�^JD��W3��0�fWp�%�=2:Bf��@G��+L�����������"$:x ��'��;
��!
-�S|��bD$eW�>�p�K�}�q!%
?�
x{@��ϼ<��
��Xh$
���PFF�=�y�U��3O���f�n���љ�ߙ��4���t����m=��mb����$_쒅s�k^��c�X�A`�˟�BLܾ����=W7���DOKs�ً�
��H"�>�i����ɻ5����O�
J�� �~a�?�
-t�הiYU�ۛ���'4ۢ]�mJ�U7��ꦏ�
C%4ĉ��Z�#,���B"���<63ٺ(S;k2��~����`�N�I�i^|����T�endstream
-endobj
-2002 0 obj <<
-/Type /Page
-/Contents 2003 0 R
-/Resources 2001 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1961 0 R
-/Annots [ 2006 0 R 2008 0 R 2010 0 R 2012 0 R 2014 0 R ]
->> endobj
-2006 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 601.1515 230.651 612.0207]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2008 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 416.1987 230.651 427.0678]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2010 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 286.9024 230.651 297.7715]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2012 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 169.5613 230.651 180.4304]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2014 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2004 0 obj <<
-/D [2002 0 R /XYZ 90 757.9346 null]
->> endobj
-2005 0 obj <<
-/D [2002 0 R /XYZ 90 733.028 null]
->> endobj
-1773 0 obj <<
-/D [2002 0 R /XYZ 90 580.1055 null]
->> endobj
-2007 0 obj <<
-/D [2002 0 R /XYZ 90 565.5352 null]
->> endobj
-1774 0 obj <<
-/D [2002 0 R /XYZ 90 395.1527 null]
->> endobj
-2009 0 obj <<
-/D [2002 0 R /XYZ 90 380.5824 null]
->> endobj
-1775 0 obj <<
-/D [2002 0 R /XYZ 90 277.8115 null]
->> endobj
-2011 0 obj <<
-/D [2002 0 R /XYZ 90 263.2412 null]
->> endobj
-1833 0 obj <<
-/D [2002 0 R /XYZ 90 160.4704 null]
->> endobj
-2013 0 obj <<
-/D [2002 0 R /XYZ 90 145.9001 null]
->> endobj
-2001 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2017 0 obj <<
-/Length 1641      
-/Filter /FlateDecode
->>
-stream
-x��K��6�����>��7)�� -��@�lNI`hm�W�-���[��w(QZJ����8�X ������7M���8�c%
-���v��kx������\�oG7?I1P �
�ޗ=H�%t|��0!1:���df�p�K7��h���M|���a>3�xbO����tF��܄y^]��-J���9����n_�^�6
-��Ib��5��	�W���	�?�
F$�x;��7�ѻ�M?UC��/�B
4ap M�Zi�0�
-B�5"��t�0fj��DD2]��͔�I��ۨ��|���`��t�v]
�	i��J4s���"L<�j�,���D�g�?�Z[�G�
�b�Q_�IƉ���!�.�i�4�e�G+k�V�g�G�iu��ym���~�7h _a��#�J��R
�2ʊ�8��ZnP��k#ԍY�
RR$�b�3Ƶ��)��r�W/�]�G����+�W��+�$[ۦ��������ϩ�̈�%�r<y
7�j�"[�QR,��)
�\���X��u&�#i@�Rv���S*&O�A�/#8EL��DB@�`bm�d��V�V�;
��:8�\躛�f�*����Y�,��.,�M��n��(�HQ,
��?���tN�
�G��Wݤ���^@����u�Oq�����१�@B�R�G,���d�Z��G��
-(��u�ֹ�k����Od�m�
͈B������#
�����D��F�K�Ʃ*c�L3
9���v�`���L�g�^�@���
0�S`\!
}
�c4�%!"���
-�g�#u��Ï��ʉxk��
s�1��)b&� :��5��1ߢ�)� |_(U0���Չ\q��$
+؁�YÈwpo
�԰�ց��ͮ�a��wjXO�����}�v�>��	
�פ.b�]��@cD85��]T�`Q�����|����Ŕ*�WK�Vq"A
ƒ�7��f�V�A�݃T��*�6�/JIy��,s���_0�
l\珐E���Σ��CX%8�D`H��&f��V��H���=T p���;��6N�m�O�D
�
j�Ǒ�Z
#�c����l���y=�~�5fW �
��z���k)s�'����Z
�=a�s5 �6�._�¾
-\�YE
-�Iׇ�4���b�G�QBaC��s���dMV�P�x)x	�qx�Ʌ[��ne��t��\�.��%n{������ƞ}}X��[���S#L���
@
iz�DµF�j���'�;��h�i���1�m��w��S�G[K��h�mr�<c�8����|�;'�
�L?�o1C
ӓ�Av�n&�!G�_�o���II�����ǸmB�TuH��Z��Ӝey�ӨtsLr-
�)8�ﳛ$L!�%=�\�j������
����=�~�6fW �
�r{���m)��#�󛚀oN��?��F�@������aQ*��n�F	k�� v&Ȯ�7S�7
��5̫��*�W7�C��G3�us��Z^ۮ~1߻��q��>z�G�S!&���>�T׆��ft�Hn���;l�my�.���d� �%oǴj�s\_��
�慙�F���ׯ	�CQ��77OOOh��}�27��榫�ÖC�t;2׳ƨ��5Y\H�s�T��r����6͢*��v3�bbs,��A@/�$��pn^rendstream
-endobj
-2016 0 obj <<
-/Type /Page
-/Contents 2017 0 R
-/Resources 2015 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 1961 0 R
-/Annots [ 2019 0 R 2021 0 R 2023 0 R 2025 0 R 2027 0 R 2028 0 R ]
->> endobj
-2019 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 659.4786 230.651 670.3478]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2021 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 498.4361 230.651 509.3053]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2023 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 381.095 230.651 391.9641]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2025 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 251.7987 230.651 262.6678]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2027 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 134.4576 230.651 145.3267]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2028 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2018 0 obj <<
-/D [2016 0 R /XYZ 90 757.9346 null]
->> endobj
-1834 0 obj <<
-/D [2016 0 R /XYZ 90 650.3878 null]
->> endobj
-2020 0 obj <<
-/D [2016 0 R /XYZ 90 635.8175 null]
->> endobj
-1835 0 obj <<
-/D [2016 0 R /XYZ 90 489.3453 null]
->> endobj
-2022 0 obj <<
-/D [2016 0 R /XYZ 90 474.775 null]
->> endobj
-1836 0 obj <<
-/D [2016 0 R /XYZ 90 360.049 null]
->> endobj
-2024 0 obj <<
-/D [2016 0 R /XYZ 90 345.4787 null]
->> endobj
-1837 0 obj <<
-/D [2016 0 R /XYZ 90 230.7527 null]
->> endobj
-2026 0 obj <<
-/D [2016 0 R /XYZ 90 216.1824 null]
->> endobj
-1838 0 obj <<
-/D [2016 0 R /XYZ 90 113.4115 null]
->> endobj
-2015 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F72 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2031 0 obj <<
-/Length 2237      
-/Filter /FlateDecode
->>
-stream
-x��Z]o��}���[% Z�����IqoS�6q��-�l����
��w�KR\qI��i��l.9ܙ=��3�&�a�!3�gJ(d�����
��oHsy	ח}�?���~'�� #���o�$A�:���4'1�X�����du�w�OvS$�]�P$���ݧ�����y�-�T��7��,��vk�k6[[��s��,~��x��}a� �$q����_�l
�x�-f/0��Cg�NY;���x�n
��!�� � (CX
-v��j�Ȓ*]<v�`I���?z^wwU��+�K�]j�c�'�

�p��N�^��D�qkt�z�`M
.�1�����g��� ���-�ABQ[]��<�*o&W��9����zJ���T"�Igc�|�-����[�w���*�
�`[O���l�R��K�a�7׈��>����,�&`�B�a!I���C$�
-��#�D ��l
��^�a��L
-�(%&�ɭѲo5�fm�
�R�H���_��P�yVޝ�&�"�(�:?�#��{�;S<6�~�J�B�0�5H�ή3s�~�
6[�K7������fժ[�y�rW
-����Y#
:�H��Dv�T�
*�/�c��t�
P�8��;42J�dVĥ4YE�
-_3Ka}XU�(|]���[P�
vͥ��7���\�iB� Rώ #�O���(Re�
�d��2�(*��z�~ª�y��I�o*�e�?�����XB�X�󬲿Vm%u���*�������RYeʪ0��THR�Ϫ�f�U8�\,F��6��H�T�2ӆ���Z
�Ss[���Y����3�t����<�(�y.Z8�X�̄p�_���� \p�kG��!�*�/�K����6^�1�wc�MvQހ�U���I�6��Xdv�
M�O>͖
�
-�1oӍ�\�Bb%�0m���aU�?T�
)ƙ@@�PA�4�ƙ@0��J]�1��f�A�q&�������c�Adq&"��a�YL C&0#L ]��҄�M{��%[W�2�J��c;�+��X
-8��[p���|�
haN�Ȣk,���p���p_���if�2��OY�Q��
�j�Zg
�
- �.k�� ���+]��b�%�֦͐���}
-`�1�"a(��b�5�
-�1�
�1�;�
�!�驃H�ϑ���?�:d����ቻ�y��}�&��ᆿ%�c�u���D�=fm���>9
<����� 
� @��7vi )�O��g�*d��$$�-�=�8CP�H��
/9
����'
^cl
UHh3���SKr,W��@JtRs�.
��$��e�j�.9�mϴ��eWR${�|�2c
鬇��ɰ3�%G�
R�al�����Y���)�q�����	R�}9P�}yJ�O'�^�e�kz��,
�o���� +�
h|�'\OVS�6V�4am��r�
���2 _H8�0͠�)��ވ\��^
�/�u��«��l�����@���[���6��TC����������\��׽d�k�	�w�Mr{�R{��ՠ{��w���x �J�Kt��K%�g5^�c�AzuGs��~�H��f��诉���"�w�Ad��
�ߑ�
�dWQ��>���n�[pS�ܕlD:H� n�4�Bi!J�I����\h��&*l�6(‘���=	�PT���ُi�e�vq��齹n�!˛-��
K�nkANW	b��ԅF����A�1P9�1LR�9
��
�YO��牜F^4Z���E���
��C#RG�ᥤ�*ȩ�V:��)U:�y����%9�<F�[BnO
�S
�	
w�<npI��d���5� %�	��{��M���;{c�딎��~#��~K�C4A��
/�V�m1@�Ƙ7)�X 
� �x�Й]R:��?)��۸�	��.J�<>�UZ
�)�C�B�3y�{�Maۚ]�;�~;�3�W<���A����q	���j�ٵ�g�}'{��'p�?-|\�E�P*V�j�b�N�a}��9���:�A��;��5���� ���	"�"|����9�RK$��6<��,q������Հ.4��]h���GZmAE�䪛SͰUT~���U~�1q��׮�r�=
k-�F��k}�k1�{i�?,��7��Ivl+�����;�K�S��a_
A+���֞��8ABK
b��s�
��Mwòw�/���`^�SU
�no_^^кD�,=(�n���y\\p$\BL<�eg4�%xX\H`;�?�^,�v���n���n��^�~t�����A*���"���x�endstream
-endobj
-2030 0 obj <<
-/Type /Page
-/Contents 2031 0 R
-/Resources 2029 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2042 0 R
-/Annots [ 2034 0 R 2036 0 R 2038 0 R 2040 0 R 2041 0 R ]
->> endobj
-2034 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 648.1933 230.651 659.0625]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2036 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 514.224 230.651 525.0931]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2038 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 310.6855 230.651 321.5546]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2040 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 107.1471 230.651 118.0162]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2041 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2032 0 obj <<
-/D [2030 0 R /XYZ 90 757.9346 null]
->> endobj
-2033 0 obj <<
-/D [2030 0 R /XYZ 90 733.028 null]
->> endobj
-1839 0 obj <<
-/D [2030 0 R /XYZ 90 630.4877 null]
->> endobj
-2035 0 obj <<
-/D [2030 0 R /XYZ 90 616.5187 null]
->> endobj
-1840 0 obj <<
-/D [2030 0 R /XYZ 90 496.5184 null]
->> endobj
-2037 0 obj <<
-/D [2030 0 R /XYZ 90 482.5493 null]
->> endobj
-1841 0 obj <<
-/D [2030 0 R /XYZ 90 292.9799 null]
->> endobj
-2039 0 obj <<
-/D [2030 0 R /XYZ 90 279.0109 null]
->> endobj
-1842 0 obj <<
-/D [2030 0 R /XYZ 90 89.4414 null]
->> endobj
-2029 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F72 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2045 0 obj <<
-/Length 2640      
-/Filter /FlateDecode
->>
-stream
-x��[Ks�F��W�d�1��C{ʦ��x�*���K�RA"$���$e���ۃ�g�HZ�}X��Llt�|�ӏ�0�`�C&O�P�0.'w�
<y��� ��~/b��]_\� �� #��\߷$A�:���2%1:+�x�.7��f�Z||���fQ�n��ǫ��3������骙T����r�u_�U�U�[��U��sƧ��~�~s�����/@0I�����7<��B�\�#F��3\`D�����,\,.�_����~h�� ;����@1��h�]=#x���KZ��zn��9x]]ݮ��y5�)�Ř6�M�,��_����:-7uy��,j�?h�
K2B�����	%k"
Q
�V���U�T7U��y�����v[������1�?�����}
#���Ӱ��d45���j����f�Q.���мjV��p�3 (8B���8!A#��I�Q
�WHR�[��`u
�=cb�[y�*z�
d4
�{���T!*�*��Gcr����
i��9���ݣS�����n�ԃ�n	�>�T�BD����=P��MvQ�TmfLM�
���j"�Q���J��&��
q�A\�vn�%�BHo򦯈!�eXz�8�@V�^��4)
:%�0$5��<St*�Xg�Nb�"��ifIBFi�&S�4FPSl�� �"�r����= fBNC�|ΐ��I"
�8cV!¤�(ߋ���k+8��Vp�
-�Tq�Oof5Ҹs�Sv�� AjX����4����uv�D���8�}�a�p"�!����ei�0�`�	���E+�T�pi�0f�K���k�-L�\V�j��:�O0E�Q�u��H'��$ɸ�`+Š�JSb���1��N�o6�P�\�f�m��ȇ]!m�<����f/{q��}�<�3x �3{g�S�_�a$�0��#�/�/�
���4�HauIJ�NlO
��� l��զ-��%������\����P7ChV3"��"��`�9
=Ŏa��a�:��4'�+)��R}��Ją2��Q}Z�?7�P 
A� �� ډeګļ�$�����R}�)�R at O
5#1ߢ�i;��r�j�&��ķV�>|مǢ�O������`��7��H6���n�v��j]XH��
-�������Wʅ�ٶ[~�������Z5�m^ݷ)�i������� ��
�3�Y��H�����
�
�@�l���]��k�19�Np萉mZ{g��z�����AĬ�?63���z~����|ӭ��J
���S�/:�gi+�8TiIRϮ7.� ��ε���lh�I�H�ǡ᯷N�X)�2�6�
�10�v�V2�
6:�����'Ы�J@`�&�A/UI�4C�08:�v�І%g�
Ӿ-"���;��f
���5��=�E�@YC������P�y�u�xj#
x�)����.��v]�
�ӕ��e�m�{l�d�
be&�)���f��M���C,��1
W/cA<c���!.��0�3$ 7�G?����r��
-�
�K��� ?�DSy��J�ȅX�Pp}�ث���A��Q���{��{�>�	��DpH��R���{�"�͑J�F��Q$�.�%c��s;|�ī,b��$X�—�E�hhY����E�!ȅ>�"Q�q$l�#�A�m�#��8�8Π�J�99�X� G¡B`N�,��[���5��]9�ކ��8��#�Sϓ|gډ
�HF׿�Hzf�
Ib��r$LA
V�G����N�H�-��g8ϑ$��6G�`j�\�Hb�1L��)
ɸ�#��s$��ɑ@v�.]
�Hb�1D�ة
ɸ��#��s$��o
�8GB�{��K
� �4's$9�/�Hz�惴{Gr��G��,ϑ$�}�H��H�7��
s$l�#!FG
	1�<��j�
-.�?2o�X��-B�cC���������j�Ѭ��S�n?.3�!�	Q��U�
-�hD�
��_�&��^!f�)�<��:�@���|
zE�dr�n��hܿ"�\w�y����6�����6z����X=.$
�5
L��o9��Q�G�	���fD��e�n3�IH�,�b	&��BE%6R_N��E��O��-�~���\!ᐄ��M�3��M�Ա8�K��iS
-�Ps�ٻV>̏>��t�:w(3�h�U���"<�B�
̒j�;L�� v�|����A]6Z�E8�
�Ez��ۼN��0��=��3�'
��d���}Il�v��� 
������av>��Ȱ��
�� L	8u�u�q�A�o9Ř�����ؑ��X"�({�1$��P��ǘ� �3z �-o�ѓ�M��8���#@'���������A�T
a�|�#���y��|��mb��ް���]���گ]�͡k����;)����>�p ���W�S{ �(�ץO!
���`Y�O4b����޾�/���!�H��I`�m�*�"�e%��On�poJ;T�%��������\��@9r����_�j�S_�.�������`�C
�
�;[��}U
��`d�����_�3	�����{���p�6��C����n}uy�����詩�T�.���e�{��X؀�����l�}�#��>$���5P��r��g��ɺ�e��{�h��Bƿ�N��pendstream
-endobj
-2044 0 obj <<
-/Type /Page
-/Contents 2045 0 R
-/Resources 2043 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2042 0 R
-/Annots [ 2048 0 R 2050 0 R 2052 0 R ]
->> endobj
-2048 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 528.9221 230.651 539.7912]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2050 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 284.6331 230.651 295.5023]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2052 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2046 0 obj <<
-/D [2044 0 R /XYZ 90 757.9346 null]
->> endobj
-2047 0 obj <<
-/D [2044 0 R /XYZ 90 733.028 null]
->> endobj
-1843 0 obj <<
-/D [2044 0 R /XYZ 90 508.6711 null]
->> endobj
-2049 0 obj <<
-/D [2044 0 R /XYZ 90 494.2439 null]
->> endobj
-1844 0 obj <<
-/D [2044 0 R /XYZ 90 264.3822 null]
->> endobj
-2051 0 obj <<
-/D [2044 0 R /XYZ 90 249.955 null]
->> endobj
-2043 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F72 307 0 R /F7 977 0 R /F25 216 0 R /F8 311 0 R /F13 974 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2055 0 obj <<
-/Length 2585      
-/Filter /FlateDecode
->>
-stream
-x��Z[o��~���[%�
���>����6�Y�/I`p-�"*Q*%������
�qH�k'@�d����9g��|#�a�G2�3%2���~s��x��+�_��>	�z{u�7)2���2�]�+H�%4�]�0#1:�	�x�+�Mq�ۮ�W�)��է�h�on>�)���s�g�z�S�g���~�.�/�e����KX�s�g���}��m/�߀`�X��{��O8[�F�_� F��	n0"��ls�)�n�W��ٯ�^����)�@�� E�IRi�0�
-T�%���*�a�T��DD2������ݡ�����=L�b�f�
�S!��;��y�D%X!E�HȪY kOדYa���
�>�jq�U��)��]��S�)5H
-�/�?漢�	HFGҚ=��v�l�T̞��$5�ji���S��x�g?Y��vS��a�8ڈ��S�=m�w��R��
->�%�iF�!�M�q��.Ł�C*��"��V'��
V �م���d9S���Ԅ #���EFۃ���nvš���@㜴{�|dO�r��-<��EjO�B�"К]��
�
�����=����9�-�>��QgY���e|��0&'�(N=
l���4��#*�8}=}
~0���V�ww���Ԉ��Ŗ���0�HH�3�)�=��z�<$
-��~\m��DZ��g�r�ޤ<�-d�n[
-
-�gh������6ո7ϛO�5�|�T
uB�@��9D�Q�X��(��
-���Hi��/�z[-��
j���CY�
d�_��]��cZ�w;WΪM��9�����P��ʙǦ,lH����2d��4 ���v�w�<������c��ĺ�A��	#EKC)$`�x�o��,�~���/',
F�6Ȉ��QIX��ݶl5y_A�I�,�ژ��
1� �p�`�pF/�
{HR�
�+��Cm]���a�*/ܚǜ�,A��=Q��5���]2
J��Q-��SuX��r�+�(rһ�+�e*�|jNo�62jۓ��sm�q��w>�y̙�u�
u�,;��
X�	l.A�%j]X@bH�T�=	M	��r0֑
͉T�k��`EP
-אM����F�\����
"(B�E�%��Lw�y�d
����P�#gl�M�#_�\՚��R%�N+C at _�	�#�-
��tQnyZ�M�P((IC���t�����$W;G
������
���L"i�:0^. ���'v��q!��0�L��!�x�.G�
�*����)6�l&��� ò�Q%Iw�=YP"�`vH�bz�=Րmln*�M�-���v�^�K_�W�pF���gےC�k�Y�2[�/A��Ui?��J�RQ4��H�Y���C�)wd�F�a�
F�i�
Րs�cf�Eǜo�BjB`0bF&�@ٔ.:���y�I�
Ր�&�+m'��5Q��ٴ�=�LM���pǡk�����\�2�Tl �9�ԀlJ�
Y�c��C#�`8þ���u
E�jib��n�Q�
��]���Qx��K�]{�k�b��'�v�3��n[��X����с	�k[�P�6�>�~�͉�kX�\�Y?z��؍V.�۵
�dU�ƫW@���!I�I$�� �Ț����H�%�H�@�4�I��Fr�H�eH�|���
��A�V��9�*�`�	�M�9�3.�
́�aF��S`��d��ӓ���9b
̡J�h��}=����hc+ۥp��v���z�O�!���9=L�[�9MZ|�D���(����,d
kQ�X
%�<�b�E�z�E�s� ���+w �
-A�A5�|dQ�E]��zǚC�Na,�IF�ED�
�@��,"�a�{�8r>���R
�R�(&�솫�0	I������ͧQ��
P�#$oT0
JQ\M��!�xK
-]&�i^ T�� c�@�t�ٓ9.bO�E4���{�!���a8
�^T|�dH�?>�,$�PYOv�0͹�
���C��
�j[muvJɦtё5&F
�uyv�mG5d;Ĺ4xM�������Ї��
ӡR��>�D�TO�)毞F��X�#{�4z���4:�,=�F���(Sb
�l��G�W�g�hqx�e;c�S�s�e��)��"�����Y����c�+�=Zs�2�z�qF *�>��cm��Ia0����撟�Ŏ>?H�>���l|�j}ɞĒ�<�R��O���A���ً���e4l���^rd��<$�٫�}��?F�_g�'#��#����y�'C,
w��n	e��,�'1X�8�i�mw��� �S�&'1��d�珻2X�Mbrt����<;�)z�=�哘ᣓX�
834��~���>qNΜD�
��97L�h�J���O�H7W
չ�kj�ǹ�gz�
-y�ZS���0H�?��E�T?)�5?n�,xN���c�BD{�Ц
(q���s��[W�����V<wl�_�ãK�p�M
>�N�������Os!f>��+��‡�-{�-wp�>�`w�
�A�dz�ey�M]hh;"����ɺ�
U��_�p�2Xתiu8�n�������
=�ծA��z�[_�x�-�$�l��DY"cA��ʁ,�� y��X���!m+�[U��S��! �'����@Qendstream
-endobj
-2054 0 obj <<
-/Type /Page
-/Contents 2055 0 R
-/Resources 2053 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2042 0 R
-/Annots [ 2057 0 R 2058 0 R 2059 0 R 2061 0 R 2062 0 R 2063 0 R 2065 0 R 2066 0 R 2068 0 R ]
->> endobj
-2057 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 703.18 230.651 714.0492]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2058 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0599 691.1004 513.9963 702.0043]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2059 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 679.1452 176.565 690.0491]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2061 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 450.0613 230.651 460.9304]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2062 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [497.0599 437.9817 513.9963 448.8856]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2063 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.635 426.0265 176.565 436.9304]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2065 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 224.1729 230.651 235.0421]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2066 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0855 212.0933 230.6419 222.9972]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2068 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2056 0 obj <<
-/D [2054 0 R /XYZ 90 757.9346 null]
->> endobj
-1845 0 obj <<
-/D [2054 0 R /XYZ 90 670.9075 null]
->> endobj
-2060 0 obj <<
-/D [2054 0 R /XYZ 90 656.4683 null]
->> endobj
-1882 0 obj <<
-/D [2054 0 R /XYZ 90 417.7888 null]
->> endobj
-2064 0 obj <<
-/D [2054 0 R /XYZ 90 403.3496 null]
->> endobj
-1883 0 obj <<
-/D [2054 0 R /XYZ 90 203.8556 null]
->> endobj
-2067 0 obj <<
-/D [2054 0 R /XYZ 90 189.4164 null]
->> endobj
-2053 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F72 307 0 R /F8 311 0 R /F13 974 0 R /F11 265 0 R /F7 977 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2071 0 obj <<
-/Length 2402      
-/Filter /FlateDecode
->>
-stream
-xڵZ[o��~���[%����6��Ͷ�Y7/I �-��H�����rH͐CJ�S��r8�̹}���0�GfϔP�0.g��
�m����{���K_�ǻ��J13�H*g���
-� A	�=n~��],	�x~L�C�:��]�)��>{*�������{� z^�%x�q��N����sZ�K�u
-�q��\��Ϗ��}�,tLk߯w?��g�ȧ;0�h1{���1tv�㔵7��/w���i^����a[T*=[2����cRS���3���w>����
-)�Ĭ��+������ �
-8�_r���j���
҄�4?����`BRem4���b���E�.�L�6`-2�
��Ŧ|ъվ؝j)A3vEm+5T:�
-d4W�ڋ#��j.wI�q��6�u�b��4wO��ߎez:��P�x-&Z�d]*XGmo���԰ⴱ;��4A\���o[�G���h�b��6pp
-�pY��'�ֽ�>�
���xp;1k�w�����d�mV�����ժ�A�~J
�D�7ٿ줇��P0�6����]Y�Ⱦ@0%�ق̟�A�}͡�8���~U�S#�PHrœ���|��`�6G�Y�.G���}ڨ{ɪ]Daq,�[i��j#HJȊF�(c�P��1N��m�I?,���M2•јC$l�x��Ki��
-�԰��	)Ե\l�����k�����ph$�=Kbg���E�$
�����DZ�6
-`�-�4bV�{��VU���񾎜^��,�Q�Ic��]0
QĔ�
V[�a�?��T���6��z
�?<��r�8���阬�UW'�LءK��d���aa�<)�ĖO����pW���פ�l�0D۪�%I��Ka�B:�r��̏P��*��
����/��`�U��u��2���N�>�S&"�t��8� g_�<2ʹ{��Jm(��1�s��yU4kw7����C#.��;�Wc�;�?�U�
(]�ͳ|{�Vm Xs�W�aQibZ�+{e��v�Q���!-�4��R��
Y��2M�Y���!��r}cL���%q\�ļ���	#c|�8irRC�CҤ \�
ij3	./�T�V��u��l�o����W��f4~\kH|F���KM�C*+�nfN1��fN[������n��cN���)��gN6�Y�6�Hl&[�"�b��iyQ��6�j�	mS��L�>>2�&\��
�G����������- yZ}I�JJ�c�ۈT��)]q���:���D@ ���� [...]
퀳���X__�R�ÿ��N�(
S�&���
-ݿ��d0�!MȬ#�	6��k`-= �5�p݌�i��}`�g�w`� ����K�7p�
"��	c�'�w`H�;wb��.�I�;:��!
pHψ
�U����̈ ,�Jt=���2��ƷlĔ����$@+�x��~����9�,8� c�̐Z]�-��ƚ�T���S
�]�WE�
ٔ��: �¡�5��шu�W�2\���Â�O��)���ĶW�6f�^/nC��_��m����Y4�)6}i`�@Q����
-�)"c[��X�3Bd$a
��wo�1/�&�@�j �Y�r����^�
��F��-wd
��@ʁQ
-lXH��y]��0ԋ��ƶ��1�9v~ t���0~�W�6-#+1�oO���Z�Ru�(����r�u�f%�e]MX?��>M =��u�r~e-Ԭk�0�!�#*�2�f��+�l�#�
���l-|J��4�U
-���¼a'SGp�d
-�Y�;�EFS�(5����82R,�
���J|bL��%q���:��I}֩�w�I
��=r�MB���:^�o/\f�l� ݶ���T���6�˱���d0����r�w5{RM
���j��T�Z�Kg	C%�Ʈhm��Z{pS�=
��P1	�n�s.e�9���I�ܟsۥj73{�
t���ɩ*ʦ�؏w�i~><Aӭ���/�&����@U�R�X�	����5��ɜO�@�vi�
<
���Xf��B(��� h�����9�]��]��m�80q
�o��t������.�~=��[��}�r��K�� �C3pDq39�)79�:����;��-�{�|`Y�����\��s�'�Z9�~r
6 R١n
� ����cR��YU��ؾ�(�}e'��p/jr���
��=��A@�,J��L#F�~��z��"��ƋL6�i�G-��L����o	��mYos�φ�67��&�^'���l�R�-��5��S�Ni���s������č�W}��뻹
v��ʯ��/�`�a�@�m
-|ڼ�e�^����E������M��:>�߿����	���X�����y?����n�^vB[�`� ���|[�mJZ
�2u'j��-|���E�<��(6�E��^��Fendstream
-endobj
-2070 0 obj <<
-/Type /Page
-/Contents 2071 0 R
-/Resources 2069 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2042 0 R
-/Annots [ 2073 0 R 2074 0 R 2076 0 R 2078 0 R 2079 0 R 2081 0 R 2082 0 R ]
->> endobj
-2073 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 658.4922 230.651 669.3614]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2074 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [171.0855 646.4126 230.6419 657.3165]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1C__Polyhedron) >>
->> endobj
-2076 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 485.4946 230.651 496.3637]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2078 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 312.4969 230.651 323.366]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2079 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.8087 312.3724 513.9963 343.3411]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2081 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 111.6038 230.651 122.4729]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2082 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2072 0 obj <<
-/D [2070 0 R /XYZ 90 757.9346 null]
->> endobj
-1884 0 obj <<
-/D [2070 0 R /XYZ 90 637.4462 null]
->> endobj
-2075 0 obj <<
-/D [2070 0 R /XYZ 90 622.8759 null]
->> endobj
-1885 0 obj <<
-/D [2070 0 R /XYZ 90 476.4037 null]
->> endobj
-2077 0 obj <<
-/D [2070 0 R /XYZ 90 461.8334 null]
->> endobj
-1886 0 obj <<
-/D [2070 0 R /XYZ 90 291.4508 null]
->> endobj
-2080 0 obj <<
-/D [2070 0 R /XYZ 90 276.8805 null]
->> endobj
-1887 0 obj <<
-/D [2070 0 R /XYZ 90 90.5578 null]
->> endobj
-2069 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F72 307 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2085 0 obj <<
-/Length 1814      
-/Filter /FlateDecode
->>
-stream
-x��Y]o�6}����l`b�M*o���:�m�����X��Ֆ<I���K��E�r���0H-�����CRd����x��B!�r��L�t���8��A�����
)�!
-%����ڃ$HPB�������y at 0ƳmTl��6_?�%q-��M��o����9ѳ<�T����,���ۤ~�d��q��L����W���
B�`�|M���y5 ��
\`DN7NY{��\M�v~��
�<�NIeK���@ql��EU:'x���I�(��y7Wg����E��X`OF!S/4�Ad�!���
‡�ĉ�#���46��l��J�i@��7_�L0Ѷ�nU��!�Z��]Zz�R	F-�]Z�٬ذڐ
�R#� ���U�P)i
�<`�ɘǙF:�l�2�b�"!;pg
dC�6��v��m�8�$Y��Y�f�|����Y'�T
����R�H3�׽�Qзv��
|������/�d[���pl�)R
��7�!�BMLc�6�N��������"Lx�:���uf��l�aRE�4^<+V���j�Ep���I��I���z��mƑ4t� ��+�9���uz�i
N�8�}����*���
&Z�zp��C�	�4�I `"�ߑ��j�=�#�y����F�d�͐rIX%��B!!J67I�'�u��<�(8�z�wO��f�GQR$�i�>>�c/2#��
r�>YR�MH
�IX�4�P���7�;k����6}�
X:�A��,YVy��� �
-�qP�j����
�L�7���&���� 
�t�C$~��̺z9�傒���ꔞ���\Hw��8�P\[����Un"��+��
��J���T
- +E��j���j1�:R��̀}�d��n�(��J �(����Z�!
W#���d���h�F#�a*����P��u7��Q*a�����J���A�^���5e��et_&͓�%�C
}o��a� �BaX/��l^�T��܍�
�C���{7їC�7�>BɄ
-�ِu�>�����
�߇�m����l?�f�t�x��q$$��?����:]:�N��<��dyՓ@�o���9���%���ٷgOĕ�g��� �scgv\�F�׹��~�s=�s'4�1�c����x�zVG��!e���x����x�#Um��W�S`�o�ǯx���R<6�x
������n�g˨J�k���2]e�	=�܊�P>�܊��k
-���Pa��~VC�S�g_�՝�S�L��&�)GR���t��
\i2݊y�;0��)
~����
�G���S� ��dj��1���QV&�����lD�V�L	�4�:}#��ɴ<�����	�V���
[
����
d���ꛝ��pr�/��Hh AOϝ_c�n��Wa�q
�񫰃�_d&fB5�gn�LU��)fm�(��V_1͵UL��,،m_��8m�@�V�0�
-�l2	���'�����cx���/<X�������N�Fߎ�D��<�0C��B��J*���6��n1U勛dQ�õ˝ؓ
I�T�="�&�J+��!�9�ۓ���`oVn�e�c:X3�Wn�|s��i[�OH�`�c:lV���)_�o���ԛ��6TL�/�-g��Ƅ`��^�M�\�n:��x�v�lfm�8�V��ʺz����N����ˤ������oQv��G
-M�z��7!:�|s���]%�a6�帖��i��Ӵ���>5�
A�F�U/A�&MwU������vhY��,�(�.����!..�t�Z�� �S,ؤ"�A�Xn�.��E�0��.P�.(��K3��Դ9hE�Iك�o㜟�endstream
-endobj
-2084 0 obj <<
-/Type /Page
-/Contents 2085 0 R
-/Resources 2083 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2042 0 R
-/Annots [ 2088 0 R 2090 0 R 2092 0 R 2094 0 R 2095 0 R 2097 0 R ]
->> endobj
-2088 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 656.8081 230.651 667.6772]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2090 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 497.788 212.7783 508.6571]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2092 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 324.7903 212.7783 335.6594]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2094 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 195.494 230.651 206.3631]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2095 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 179.5538 212.7783 190.4229]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2097 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2086 0 obj <<
-/D [2084 0 R /XYZ 90 757.9346 null]
->> endobj
-2087 0 obj <<
-/D [2084 0 R /XYZ 90 733.028 null]
->> endobj
-1888 0 obj <<
-/D [2084 0 R /XYZ 90 647.7172 null]
->> endobj
-2089 0 obj <<
-/D [2084 0 R /XYZ 90 633.1469 null]
->> endobj
-1889 0 obj <<
-/D [2084 0 R /XYZ 90 477.3646 null]
->> endobj
-2091 0 obj <<
-/D [2084 0 R /XYZ 90 462.7943 null]
->> endobj
-1890 0 obj <<
-/D [2084 0 R /XYZ 90 304.3669 null]
->> endobj
-2093 0 obj <<
-/D [2084 0 R /XYZ 90 289.7966 null]
->> endobj
-1891 0 obj <<
-/D [2084 0 R /XYZ 90 159.1304 null]
->> endobj
-2096 0 obj <<
-/D [2084 0 R /XYZ 90 144.5601 null]
->> endobj
-2083 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R /F72 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2100 0 obj <<
-/Length 2364      
-/Filter /FlateDecode
->>
-stream
-xڵZ[o�6~ϯ��������>��t��.0�I���b+���䕕d���P�dR�$g�m��d
~<<��!

����
%2����x�O��?nH3���/�����R,
2����c�A$(����oK���5�/OIyL6����>ݕ��=�I���ݧ������"_��������
?��i=����q��R���o>�w�&���������
,��
 1Z,^�#b
]
o8e������ϝ
7P� fN��0x2HSF�RZ L��a�!"n2m�L-��H�k�}Z�L��Viy�믓`��t�n
�t�C$�yHVH&.Z-���<��2=+"�/��t7 $
���(�
�VjDP��)0k �~�:g8��{(
�8(�HaރaGʧF����3�j����Gأ,y8�
�1��6G+47���i��鋇?�mՄǶ(��|*�]�?������vJ���.;��9+�s(�Ќ�6�W�z��	�ش��R��/5E\R^/���mz�,�1�'��� �
S��n�9�k<@:1
��|���%9d�ͷ��3ض�t+x5H
-��¿�Ba
I��d���XQ�|��� �du��(隆!!`����}vvB�~�
���H���u�o��)�2
��kV��S�7_A�֟�%{V�
-Bsӳ��u�3v�
]y}ұ��̴�n��낷FB6��,�TZ�fydk $�ƭ�/���%�ޤ
-�C�rҨ����J
�f�l	CD4樋4��M��a#mz����q&�s���|K-��s�ۦ�V�f�=��rS礍�� 3�_�
��F�;�P at Z���#�+Ӯ8O_/�"��
Q�y#
jIĈk�5
-
�(����AB�;q����
R+�[��2�p�b[�h�2
��VqR�~���P��n%�I����}�O���
��o1à�P�o]�ݍ4����+0�`H���b�BP���t�\�R��B@ڢ�]_.b���\
���E'��rq
~�\
���E��/�ӑr�k��X��@j1�^ᰚ��4���̺{3�swxh�F/~W�1L��
A�ea��e
��T��P9�#iR��Ib��&�yc�L���|�ωN�M���
��V��p�/IY�������Z
X�Xn�<��};FT�o
�g�)0\*�?����z�ϱ�LWv�u�����	l�S���^`��N��!bRܴp:��zh�;���>f����ϗ�}�XV�
�"��II<�ub����)��
F��Vj8m�V	d��v}�M^m���/k�N�l
���f��@8

9?���M����!����f&m�������B��v�͟�u��b�1�H���|�{dP��3ݣ/5
L �SB\Mb���
���j+�:p
~�
���@�,��������)Ҹ��dvE��Aa^T�����$�L܇��Z{���]
J
�uD��'1���vo�rO�Ԗ�b�?��S��|(ˢ��j��
-J]
�p��!��A���	6Z��ѵɮN��MW	��d�f6��$��>�w�^	Z��;=vnx�<��k�'ٔp{�h�* \0�?S���Tk������./���d���0
[�5��2��=��K5B/�&>��_�D0�6���m��8ϛ/i��U��3���a�
S�v�Ԅ$t��r�"���,3����R��Bh-ZF�l��� |���4z`]3҆���%��Y��'oY
'��/
eWpP5�A���A�d����
.��`s�[8h
�I ���Nl�Ë
-���l���Chx) ��
1\uQ蹽_
-q��T��3��z����H&�M�I��
L�i��y[��k��ې�\�J�My[+6��LO�u<�i�
O0�s0F�
�ۂPm/��od��IjU���G�Nj.?��\e�$9Yڜlzv�Ia���x6r�9�9
�Ƴ��b�)���������#
Ԋ���_�ߣ�dq� 
X�a��G����#�Xph���5�]
��+<�;ċ!D��eo5Q���u��]_Gٯ\R�lc
S�?<
$J�9�\@퀂��\���מ|$��Zg6Qr�!�~�i�ff�a��ٻlͰ�/��k���!M���9��
-#
YYs%��
���_�w�X��Np;%���(*�+�+W#��s�.�i/F���<t����\�� �B�h����"�,��K��ov�BZ���
Iٿ5y�A���Ķ�h^�
ý��
��y�ŨN���Q�c���d]Q�圖[	�l�����99�g�z�F��
����
�;�/� ,��TK
�ԍ�{�>��b��k���(�@��L��:��޾����=�٩DYu{:
nwۂ#a
bb�ם� K�Y\HQA,�Es.w,ʴqU�ȭ�5PM��� y�We{�
��_���endstream
-endobj
-2099 0 obj <<
-/Type /Page
-/Contents 2100 0 R
-/Resources 2098 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2042 0 R
-/Annots [ 2102 0 R 2103 0 R 2104 0 R 2106 0 R 2108 0 R 2109 0 R 2111 0 R 2112 0 R 2113 0 R 2114 0 R ]
->> endobj
-2102 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7077 704.9584 250.8953 734.0242]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2103 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 659.4786 230.651 670.3478]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2104 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [478.8087 659.3542 513.9963 690.3229]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2106 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 520.2296 230.651 531.0988]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2108 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 331.2917 230.651 342.1609]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2109 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 315.3515 212.7783 326.2206]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Length__Error__Exception) >>
->> endobj
-2111 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [206.5022 187.8336 241.6898 216.8994]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2112 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 126.4136 230.651 137.2827]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2113 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.8491 114.3339 179.0367 125.2379]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2114 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2101 0 obj <<
-/D [2099 0 R /XYZ 90 757.9346 null]
->> endobj
-1892 0 obj <<
-/D [2099 0 R /XYZ 90 638.4326 null]
->> endobj
-2105 0 obj <<
-/D [2099 0 R /XYZ 90 623.8623 null]
->> endobj
-1893 0 obj <<
-/D [2099 0 R /XYZ 90 501.186 null]
->> endobj
-2107 0 obj <<
-/D [2099 0 R /XYZ 90 486.6157 null]
->> endobj
-1894 0 obj <<
-/D [2099 0 R /XYZ 90 294.9281 null]
->> endobj
-2110 0 obj <<
-/D [2099 0 R /XYZ 90 280.3578 null]
->> endobj
-1895 0 obj <<
-/D [2099 0 R /XYZ 90 94.2592 null]
->> endobj
-2098 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2117 0 obj <<
-/Length 2195      
-/Filter /FlateDecode
->>
-stream
-x��Y[o�~ϯ�[
`��~I�3���N[`:��t�0[���%�$o���
��,J�� oE�X�#���;��H��?�0x��B�q��
o�b��!��
-ޯ�n�>I�0�H*OM
� A	]<l^��]����d}*/�t[&�C�X&�����[����-��"�]Q�����r�_ӧ�y�����R��<|�����@0I�����
^la �o����n0"����S��
n����kǽh>��A��@P���D�>yRg�/��`H�w]d[w��x���Ӻ:%�t�͎i^eE^�f���bN�:K�
�cE2B�ƽO�|S�7���'�z#�I��kwzCg
��1�
-�$�HО�Jr�еB�r�M�w?��>u�A���i` ��tS��o��.�ͦ(�Y�����H��m�����'"g��$������_�!
-�@�@�$7Hif
C�Ѫo5Ƒ6cmI�4����OgrL봬��L�b�D
9�Y�=	p@�B�0qi5 D� 
- |> �Ѹ� քI�
dQ��C����yH������\iUg��K��4��Gpꠈ"�_q�
�"B
��L$�G�Ov?��'{�ݮwi��I���?v��Y� HJ���X82�m>���H	��
���Vm�5?��d�7��.t�܇���*t0�\#.u�`��ݬV/U�
':��H�g
-
�d��>�"�S�hL.���Y�/εk����1��keZ����$MΧKMG}�i�@�
�_���٤'�3�|�D
���}R�����x��'���:�S~�!)�C�](wgH�zݍ`�?�I����_u�c��9f�"���=��▊�3�d�b rb
��<�
҆o��[��\ZH�F�d�-�CfR��Ѻ 2)v/�,����yE��#����+��:�
>���g�,�GQ�ߐFYK�������2aK�6X�.	���^!
:�0/ꀮNE��Q~gX#���
<A��f���p��A�o0 ���s��ͱ`� Pd�l��"���
-�� N�
-�=����NJC^����@Њ��!�AQr���j�肞&�5�o5]8�����1f��ȓ8�wf�	
z'	����;�q�!6��`}3���"��,�� ��'~�������c�M���������K�)�A9 *���`� 2���O�j>��¼ZR�:���Xg�I��{�b�Y\R��%�焤�su�'=E�2
�1j�F%�Z����nMh��*�{�
^S #3�EX�R�i� *>tBI�k�W��%���M7�>k��^��i����z��
H$1.�a��c��~4���
�b��h���vV��rVy��펄į�'U\� ��'dB�,{�D`�6u��/_����9ۦ9ԷuRU�.wͺ�&�Mt�����)�����*�S�"�;�%^~|Y���g��u�]��v
�ibFau�-~��t�������ϑ1�-էHg at W�+R�HX�t��nb]u�'B

���E��IX�l��@ƌw�6V=�Y� �j�_)X,���1���4�A�H-�3��Ĥ�!��F2J�k��B��t�����K+�K�oQf1f��ȓx��̺��
ȅI=?��j��`Ū!���~�/�!6ƛ�
-��
:��:
(�ڐc-��J�����P��k�X�g��1�
�&
��D]����[]�%�'�]X��v���
�gl�V2��N�@���(�6:�=n��p�-E5f�΀�I�,iă}RA�u|b?����������
x��B�����צ�54f��N<z�s�
 ��Os����%���B3�)�
g�ot�
��UB�o)��-�K�mm�C��u����o�tvYH��%
��Uط�&��
-+�j]��ݺ~�k
���;t�k�����gq]x����Lm*$8�W��1�n�DI3��]�}��
b�E_�[�&t�}ee��
�z�j����\�{9�bâp�
���]�͉�=���y�Pʙ�簭���{�c%��mu�������s����$ߝ��o�J�����?���íK/��������r�;�,���� ��+
}K�a4'Hh�Ø���.ګ�^B�}��}��@�4j���u}���{~~F�
-���T�������G��mf�W��ȗ`��������|yj7��E�:02��V
-��-����I]�I{`�����:endstream
-endobj
-2116 0 obj <<
-/Type /Page
-/Contents 2117 0 R
-/Resources 2115 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2127 0 R
-/Annots [ 2121 0 R 2123 0 R 2125 0 R 2126 0 R ]
->> endobj
-2121 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 541.3699 230.651 552.239]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2123 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 368.3722 230.651 379.2413]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2125 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 155.5239 230.651 166.3931]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2126 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2118 0 obj <<
-/D [2116 0 R /XYZ 90 757.9346 null]
->> endobj
-2119 0 obj <<
-/D [2116 0 R /XYZ 90 733.028 null]
->> endobj
-1939 0 obj <<
-/D [2116 0 R /XYZ 90 637.665 null]
->> endobj
-2120 0 obj <<
-/D [2116 0 R /XYZ 90 623.0947 null]
->> endobj
-1940 0 obj <<
-/D [2116 0 R /XYZ 90 520.3238 null]
->> endobj
-2122 0 obj <<
-/D [2116 0 R /XYZ 90 505.7535 null]
->> endobj
-1941 0 obj <<
-/D [2116 0 R /XYZ 90 335.371 null]
->> endobj
-2124 0 obj <<
-/D [2116 0 R /XYZ 90 320.8007 null]
->> endobj
-1942 0 obj <<
-/D [2116 0 R /XYZ 90 134.4779 null]
->> endobj
-2115 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R /F11 265 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2130 0 obj <<
-/Length 2120      
-/Filter /FlateDecode
->>
-stream
-x��Z[��F~�W����_zW+�D�M6�d�󒋐�`
�����r�ƅˆN'��h�Rc�O�9u�\��@�����
-��x�
��
-�����
����Fw_J16�H*�O�
-� A	
?,�����x���m4��6�u�̢�&y̢�t�vJ��=٥�x��&�sw�.~��gq��a=��(=����苇��j�Ib��m��/x�����!F��n0"���v�)�o6����u܃rB���[
A�R��#�T�H�"�<�`����6�z�,��<�_��_+3?&�8M��ܺ�L�U��

�1���K�ZF��������D�}q�� i�1�	�����?�r!�iR"n0���+�08�2S��MZ�+X��c�+^����.���}@�BJ`]I�{���%3#p`�(
-W
-I�y)�*���UX�jq�vGT7>*�I
X��C�ح���aS��ݓ�\��C�Z�\W�U�۳AZ�zK
�:ʅ�� �8�Ǹ8�q�	Hj����(]�!i#�
V�E�(%+t��Z L�Kn��p����fm�nbj�0f��TH30�j|k/ʢm\�Y~��`��$h@ǐF�k�E�B&Ϋ6�����
�}#�U�9�@,���������XGE �GF�V�imy
-
��6���:��"J�x�n�P�I��~_�:�
�u����Ġ^�.i�i�j�
�T-v�,�Q	�%gW��R]��QQ�8��j��I�Pp]3�L�BTG��?��J�n��S* ���q����e�����j4=l���e����m
n�ds^���Z6�����1����!w��q
������4����-T�r�9
-UN7u��p�cR�����

-��z�e��Nլx�N�����%H(	՝��Ԗ�/A�H۩Li��/�}��ҁ�R~i��Mb󢔱#٪z��
�*����C�s�y�!*�M����V�m��f��S86)����Y#ݵ�p$-��,{Xg;�G�7A�<�:4 at DN�uh��!l��A#��
46n,t�j�,vf;����i����,3�>�e�s��Wsp�˖@j�����=�Ό�7�ū
�Ph���Qn�hT�g��M�M�x9���1�ǿYS#
s��'~T�*��7�U��P ����c`O!����6��!���,���Q��D��o����X�PyH���
r�(bC#`��f����A�L�Xx�|Լ��
�!�� ���X
@.c�i{<9m�&߹�8}�e��U83vy�,�`�ݳ $�(C7�\���sÚ���
�P$��6�s0<�cZc�ǪE�͹V�̙Y��@9�
-%ρN���3	�V��Nז��t\���?
l�
�p
K�}�ۃ�?���0���~�`�b5F^��-��s����染��N�U�B
�
�m̅ʇ:�r�".(y�h؁
-�7��~q��䲶�S΁0�Y
	'���ږؐok�+4fXkCc:Z�4��������1
 07Д�{[���3	R��iLH��iL��p�7b/�1��ߢ1
��4Ƴ�Mc�!=4�!�
��v��v��46t��h���DHfq�m~����Y��,��]&��	s���EL��0!�u�	ٻ?Ą��y�U�'��n�?����������jk��� �����\4��K�S=
��8���6#H~@EI~�"?p�&?�
����O~`���hpR��}���8#�إ,3��3?��T�����e�˸��2���[��T{�T"�,��> �:f�;_#6L|�~&>
�a��)�x���X�+�-6pR���3��!?
�a��i�?�?ľ╊]�oKlȿ���3���?
�a��i��-����@mB
-+=\��R���0@�l����t���tL��Z����[�cY��x�}b?/g??�	������E��*fR!�W8+��_D�Fx
���RU�5�r��q��ݼi���q��ѪZ�r��DY�j�<�>�
-1�Z�wQz�6��\��F#�;�jG�u��8��&�	-��S���q}���5̈́Yk�+(��κ�M�����
�G���!M�J�;��w�vٗ�†��Y���-�aA�B
�/W[�<�!	>��\/+�����~��ے�tB��t.`��M�Hendstream
-endobj
-2129 0 obj <<
-/Type /Page
-/Contents 2130 0 R
-/Resources 2128 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2127 0 R
-/Annots [ 2133 0 R 2135 0 R 2137 0 R 2138 0 R ]
->> endobj
-2133 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 573.2561 230.651 584.1253]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2135 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 344.4677 230.651 355.3368]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2137 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 115.6792 230.651 126.5483]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2138 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2131 0 obj <<
-/D [2129 0 R /XYZ 90 757.9346 null]
->> endobj
-2132 0 obj <<
-/D [2129 0 R /XYZ 90 733.028 null]
->> endobj
-1943 0 obj <<
-/D [2129 0 R /XYZ 90 552.2101 null]
->> endobj
-2134 0 obj <<
-/D [2129 0 R /XYZ 90 537.6398 null]
->> endobj
-1944 0 obj <<
-/D [2129 0 R /XYZ 90 323.4216 null]
->> endobj
-2136 0 obj <<
-/D [2129 0 R /XYZ 90 308.8513 null]
->> endobj
-1945 0 obj <<
-/D [2129 0 R /XYZ 90 94.6332 null]
->> endobj
-2128 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F11 265 0 R /F52 213 0 R /F67 238 0 R /F72 307 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2141 0 obj <<
-/Length 2572      
-/Filter /FlateDecode
->>
-stream
-x��Zmo����_�o��h��/nQ ��\�r��C�@�%Zf#�
-I����,w��ˊ���
����pfvvf�y(��df�L	�
�r��_����zE���]�7�W�o��d$����F�$HPBg���#�K�1��r�����!ݔ�j�ݕI�|s����yRf��.],���vIU���}Z.����f�P�̕Y�t������w]0I�g�\���m`	�����n0"�����S���>^}��Xa/	eK�B(�H�<����_��$F�v7E�in��X�_P�s�6*E~ssW
�M�Y����?1[-ml��%!�A/ҧ�L@�.�D7�拥dr�/,�X��q�V��ˆ�H+eca5>;���9��q/���K>���+0�����sU���n�$�􏮫�r���j����!�s�t�Sa����L8�k/�m^�[�8��bD/���:z��CĘBJ`�% ���ڑYrb��T̖� ��t��e� �f���P!
��~�I�S��qW���ލ��F���pC�hN�.q���&ͳ|qH)�I��u�?
�&����gg-�U�I���\[eލ�J�� [...]
�W
�F�qI��6�ӱZv��'�6chȒA��G
-�����>�Ӳ��'�"�(�:0r$H�=
;�����p����<gP⓫Rc���	O�&}�_���Na�YCn����hݶ����c[
-�@�l��������&V��J��`^�1<�c� \R�Ѡ���M�T;

���ӞPz�j+5���*��1C��m�Uδ�׆�Է���jC]>��c|P��)�>rJ���j�0;X;��Mŷ;�~|��.Xm��VG��\ȾU[
- LK��
�L���p���cn1l(�uAE�C�HUe�?���h~���k��-��Ģ_� ۝���
B�+'f�r�ĝ��
��i�
<
v��@bp�8��9hxOk�
���Ԁ̧R�-r�J `�U�Iw�?<�t��g�
S
;϶xxqu��w��7x�A�q����BƉ�
1=t�6>b�N#cGʭ����{��#OϤ��r`�!!�]�Y}Yn���Kp�<�
���
�_�[��ʑ�T����t
H�G�g�̳�a��� �';7
(d���P�gz\TP
q]w(D�0��#m�9>!t�����Wl��Yn�`!W�0U���&�]�`;\�-)���ڠ�Nϣ�q�����-Ԁ��3�
��a�p+?���̪�̣佥붆_L�5P��+غ�����4X��pu��T]J�;L��:F������
ꆓ)���t���
T�ٳ(lPV��9�N��np�:\7��Oƨ�NA�n3��%,
-G�������_�����
O��>��3<]C�B	����h�s�L]�2C�
-9��n�)�(�R�)M;(�Rg(�Eڜ�׵�%��s�]��
���4����9��%b<@�O����y��������(%T�K��x�O
�Qiz��`s��&�`�a�T ��Ɣ�H`��$1�&x�b�^$<� ^$��t
�2��5�z�1e�`�`�+u
�1���*�*�
s`���<��� 6M�'W��#�q��3����L nc�\��]���j�.��i�������z��]g
�ȾY�ߎ�T|[�
t}�j��#�q�޳�{�����ù	)#�t��JM�x̐4X���nj6c�O� ���%�wH�ȳ8k�y������Cԩ��r�
vS��
�L��7���|g_�>*xlЋ��B�.�����e����b�s{jۂ�]z�
�.I�3/��]�H����`� �`nJŸ�)
-xd�b��d6�`�=�o푗��j��XAdW)��!l�ߝ^
�s�I ��+��z��m>
-'(n,7
��B��!@�fw���6u�C���6�
���.H�w�l��.�\�=��F��`as�g��+0�%A�b�LYlZ4�ܢ�
��]+���!$l��M��DM&H]r@ q3�
�� ��Gu���~� �KЄ�?IG| (jX�΢B�a��в���r躔�)8p���P��1�m�aN�J`]�傩yZ
�|s�&�੯��N�,�<eU?�|���}
-��9js�m�Y�<'����
���	��?
a�È����VS R!-u����(��GX����}�Ϡ��۶�ۿ���n�u{��N��1�zU��cy�
$k?�*-��b��]���齭k0���w͗0�Q]X�-4ĽS7����)4�e�	��T'@#�6Lu}���~||D�
-
��P����|=�
������^��/��F���vt|	���	��[�cq���;������Z/�� ��ϑendstream
-endobj
-2140 0 obj <<
-/Type /Page
-/Contents 2141 0 R
-/Resources 2139 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2127 0 R
-/Annots [ 2147 0 R 2149 0 R 2151 0 R 2152 0 R ]
->> endobj
-2147 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 521.4504 230.651 532.3196]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2149 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [106.7172 280.7068 230.651 291.5759]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Invalid__Argument__Exception) >>
->> endobj
-2151 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 102.4233 149.0979 112.9536]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_293bf4ae6670add8afd68cbca2edd0e5) >>
->> endobj
-2152 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2142 0 obj <<
-/D [2140 0 R /XYZ 90 757.9346 null]
->> endobj
-2143 0 obj <<
-/D [2140 0 R /XYZ 90 733.028 null]
->> endobj
-1946 0 obj <<
-/D [2140 0 R /XYZ 90 500.4044 null]
->> endobj
-2148 0 obj <<
-/D [2140 0 R /XYZ 90 485.8341 null]
->> endobj
-578 0 obj <<
-/D [2140 0 R /XYZ 90 208.4718 null]
->> endobj
-198 0 obj <<
-/D [2140 0 R /XYZ 90 201.8716 null]
->> endobj
-2150 0 obj <<
-/D [2140 0 R /XYZ 90 121.0235 null]
->> endobj
-2139 0 obj <<
-/Font << /F65 229 0 R /F83 715 0 R /F11 265 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R /F25 216 0 R /F33 2146 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2156 0 obj <<
-/Length 2043      
-/Filter /FlateDecode
->>
-stream
-x��Y[���~ϯ�$�黻�
���
�`w�eY�<IgƐ��vff��T_|w�	�V�����U_UyH���4�b#͸�6��na��	�k�_w	��^\��"�HK*��� 	���z�aI0b|�&��1)ɧc��|g�E�i��I��ŋ�W�.�"Mn�����T�5x�r���|gv�X�4�� ;ƕ^*��x�v���Q0�/�$V��>�h
v�]�
Z��^0"Z����/���ŏ
��L��c�Sњq�$�� "����
� ��ׄ"-�8�mp !L7���m�%�L�!�>��R1�
�p�
-u�$6Tsr	GKٗ�f�H,�`!�
��[�m�y�U���S`��)�
�gI�uФ�5՜T��
܍��d��I#�"�_�B� i98�b)�Ir�	�p�U-�j��T�"
�S���f[��x��_��`�eRT�L�̿&�i� Y�oҤ2�p"��B��]=4F��V{�Bu�
UO[
-�@ a<:�2�%��y��敌	�B˙�j�f���B^�ȭ�'�R^��>!�f�
-l�`��^)��*1E\c:ずjN�<��x
Rl,W!��w4゚~V�!_���+BH]���@��q�_vAC5� %
\�I_���#$bD�g�L��%���z@ØZ&�'3+���I�ޛ�r:�@�v��n
-;\zp=�

	�E ��4A�/Sh��Bu 6}	À	��������|�$���,����
\$��+V��Oɾ��E�8aO�c^�g�^�5�	�c
X �J_4��Xbݿ[
z��+��uxd���q�X �3
�g��dS+1E���e�������t_�W���J�`s/���LƵg�?�M&+���|�"bi6U^���l��eHb$)g�!�`q��o~��󿎝}ظ�z�M��FBbD���ദ_wL����T��P���(����9�4YUz�$��s����l
k���i`�g��;��e�<�-�
B�T\C��Bб��!��2ry*m���ү�$e��K7�|�[XN3��[�T��v��t��ˇ�3��õ���~k�f&)��_�޳~֒�������߯�hn֫P6���#�Y�,�%$^�|������l�9i�+�X���OK�l_�-4c����7�f����xp
p���[��o��
�lۜ�^
��M�ݰ-Is�A^Y���ض� [...]
( ���<�
��|_��h��*ߜ ���F��H�mgO���o5�

Zի7�uSPZ��뢗N�J��4U�nu\��v�HQR}H3�'PvM�����
�;��r���p�+�(�g���;
�A� Cb�wG��t
]�������#����ӳ�&Zw�ƵMAӂ�r���%���ƸV�W]�*Fɤ��'P���E���1��-W�^� ��uQ�E�ҨZ`;�@p�
�X�A�M�����"�wEn��!�w�}j�r�X�MݪB\�z�
��Y�k�t2uɈ��� b
	U�����wK�\;�����`��Z�[���
�wE~��.��C���0�E��q���Y�Kpao�fg��Y|Fn=�����2�5�%��Mj
��
�:
��$��M�fWet��=�^1U�42j
�Bc�����\��3����mL���E��S�q32�) /~>d�B�!�
�K�	7��t�u��iW����w{�‡�J�����w�9-b�#E.���Ia���tb=u����!;[���X}�(t{���v�4 ~��,�:<&�Hk[�T
���/d�p��ong\��h�%��
�,Z\����5��q`Te�
��`�BY�p��?����HI��H���ٵ�(����-pᵮr��;_���ۮ�~;�nO�m`�?����
�MX��4ŗ+�8CT}�d�d��"�}*��*`]��`h���f��q� Qϧ~���~���
���s§~�qЈ�u�]U
_\]=<<�M�NYz,PZ]
����^\@3j���]���.����.���K���#��0�
tk�c
��
(.�GH*�FN��'���endstream
-endobj
-2155 0 obj <<
-/Type /Page
-/Contents 2156 0 R
-/Resources 2154 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2127 0 R
-/Annots [ 2159 0 R 2161 0 R 2162 0 R 2164 0 R 2169 0 R 2171 0 R ]
->> endobj
-2159 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 707.3344 136.6647 717.8648]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_df4acacc53bd647f2c4ccaac0aa7643a) >>
->> endobj
-2161 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [126.9214 668.1065 173.4864 679.0105]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable_a771ef39be258755e151cd5edb617e94) >>
->> endobj
-2162 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [177.3021 668.1065 212.4897 679.0105]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2164 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.1414 557.0766 219.329 567.9805]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variable) >>
->> endobj
-2169 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [113.9104 235.2348 170.6866 245.7651]
-/Subtype /Link
-/A << /S /GoTo /D (classparma__polyhedra__library_1_1Variables__Set_961dfccd93ec291961f9938db0c86b2d) >>
->> endobj
-2171 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2157 0 obj <<
-/D [2155 0 R /XYZ 90 757.9346 null]
->> endobj
-2158 0 obj <<
-/D [2155 0 R /XYZ 90 726.0541 null]
->> endobj
-2160 0 obj <<
-/D [2155 0 R /XYZ 90 687.1998 null]
->> endobj
-2163 0 obj <<
-/D [2155 0 R /XYZ 90 619.8275 null]
->> endobj
-2165 0 obj <<
-/D [2155 0 R /XYZ 90 508.0107 null]
->> endobj
-2153 0 obj <<
-/D [2155 0 R /XYZ 90 485.3253 null]
->> endobj
-2166 0 obj <<
-/D [2155 0 R /XYZ 90 485.3253 null]
->> endobj
-579 0 obj <<
-/D [2155 0 R /XYZ 90 341.2833 null]
->> endobj
-202 0 obj <<
-/D [2155 0 R /XYZ 90 334.6831 null]
->> endobj
-2167 0 obj <<
-/D [2155 0 R /XYZ 90 253.835 null]
->> endobj
-2168 0 obj <<
-/D [2155 0 R /XYZ 90 253.835 null]
->> endobj
-2170 0 obj <<
-/D [2155 0 R /XYZ 90 197.5411 null]
->> endobj
-2154 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F72 307 0 R /F67 238 0 R /F83 715 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2174 0 obj <<
-/Length 2543      
-/Filter /FlateDecode
->>
-stream
-xڽ�Ys�6���S�ѮZaqyK��ĩ9����f�b��UJ���'�|�(D��Q���W���'�h�L��C&O�P�0.'��<y����r��Sf|0u�L)G�Aϩ
y�C�j��wo��W)&�#�E'O�6V�
�'�_ݭ��o��}��������,-4:�N
2�ʃ��
-a,�2�|^�6����Z�*�7!֚
-�B� #���{)�UY�l���W��X.
����7���ڬ�t��T*$�}�‚
��}T?l>O��C�
��'��������H����Qu���$䶗B'"
�|t���5C�с�
3�h�Ct�]].ֻȽ��/����Z��)���jb�"ʰ
C��OC�t�q�#r����νJ����Q%� F���
!Վ�
R�R�J��H?
R��
)���
���R1%
A�{vL�@Ly3��'c*�O���cJ(�lҚ?
S~�ܘ
-
������b�dL��6��tK0W>���uU��M=Q�
�@��.p���f�	�L�����@U�3$8�}p�Z#HhC����l�\��&�:r�d�+*�/�*�U��.�V��yQ�
���f5[xJ�M��8@�Zk6�R���Y
T��7)��1?Rn��@�EO�x2�b�d���6ĸfHI-�{�7�T�݅ҕ+�4a�UG� �l��XF�i���c)
�u,�,w��V
�5W�U�C{º����ۍ*f��H� �7��X?������2\���隊��`L�U�X�ϗڑ�
;2�~AfP4�fM4�t4F��hU
=BfJ����Eb���_�΁�5k �4�H?
T� Y�jO���?7�ݿ������ir��o��k��>9�e3�O�_���A#��/�L�����c)ۚOC����xT�d�?bk��<R?&�Z��:b�#J�!a��Ţ���^.gLPD%�O���3o6�Y���q�:j
#�ٞ�c����)��*�|x�?��W��{�~@گPa[�3,gll����@H��m������-�(=�?��FT-]js�+��5����0+~]̫�b�\����y}����"AY�.$t �ӛ5�`:>c�d|ª���HH������z^͋��
S��$4�� t�(�f#�I����:�\")�JS���3
'P�2��'���l
d��	�:��"��@
�)��եeT�l�}�
')C� �ik� Mm��i���EJ�F��8�P�k�$Z"�I~�� Oo6�3�O�U
O�<����O�fU��G���R�ݪ!�H~���֬)�һ�X?
TuA���=���r��_/���\�0p� �fc #�4 at P�$
-~8��)�W?�[��'��A
-��X ��(��~:
��랑���n�C���1��ј��XN�_%Sw҃��0D��I�7��5�����VT��kb
�H<~]"	�Z��ev��(=4
$&Sm�$�n�l�_�-��>��3�߀��7Z�}o��3,a7���� �x��Zx;��퇿����p���l'	�.�µ<3�x��}���N�}W�
-h�F4;n�Հ�r�}�m��9�f��m۩�Ni�Ԉ�{�~�C����^�ۜ2�B��x�Վ^�u��T~�1[T'��'i7��ܔ]~�dk?

H��mH���AQ�
��l�FT=ɨ�Y�,���b���Yښ��i��6��n`��mҘ����4�5;|a�|�Y��]������^n�B���{��Nv�f7!��/�%����jD�cv��u�3wлw����^v���cu�v�j�.�[v�K��k����u��S�
�0ȁ��\Ԏ����Ͳ8
5����d�{�3���N�/�;�������UL,���`�b؇
���kB�U�|�ο���t6��B����|%�١d��x��/��zS�Uŭ�M�u�� �@F
�0p� �f# #�$@P�H\k�s�hʹ��v��/r���/�)Š�ϋ�0/z�ᶺ��b���z��`D������vS_f[š<[: �o��*�-����X�c'$�\��ݾ�?c;ݧ�
QC��HYo�l,�JYX���(b�p�r�7��?]s|����/�v/��&�S]� qk�n"�-�Or5;nX#N�.U��
��[-6��F�>s�����u=s=�
�gQc�K��˴�Y�}�<�[
��'U�z�<
�h�ɬ �s��V���<��v���*������XJ����.�O.%�j�R`�س|���†�ɇ\Y��4�Z��H
�Hl��H$�H��ӑ�v�D�Q���YγnY�#m!��b�A8 at Aؚ
�1�0�O!��1Cm�m���r��W���ߛh�
��<C��7kx�$�X?�V�xJm�)��</s�{u[h��v�Ѓ��P<��<
k�Ǎ�*�������Ѩ����f�v
-~]oKv�����o��k��>�\���_?�,�Z
��ϛ��r,���`�
%6Nu;���J���Uv'�[��S���.BU;��M^��R�:�J�Q51
-Q�IF�6���~8A�Q�ux����1t|0�{:$e���H���endstream
-endobj
-2173 0 obj <<
-/Type /Page
-/Contents 2174 0 R
-/Resources 2172 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2127 0 R
-/Annots [ 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 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 2207 0 R 2208 0 R 2209 0 R 2210 0 R 2211 0 R 2212 0 R 2213 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 ]
->> endobj
-2177 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 671.8982 278.6013 682.8021]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2178 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 647.9878 278.6013 658.8918]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2179 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.1664 624.0775 289.1216 634.9814]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2180 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 612.1223 278.6013 623.0263]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2181 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.1664 588.212 289.1216 599.1159]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2182 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 576.2568 278.6013 587.1608]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2183 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 552.3465 278.6013 563.2504]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2184 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 528.4362 278.6013 539.3401]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2185 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.1664 504.5258 289.1216 515.4297]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2186 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 492.5706 278.6013 503.4746]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2187 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 468.6603 278.6013 479.5642]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2188 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.1664 444.75 289.1216 455.6539]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2189 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 420.8396 278.6013 431.7436]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2190 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 396.9293 278.6013 407.8332]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2191 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 373.7362 204.9979 383.9229]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2192 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 349.1086 278.6013 360.0126]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2193 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.7133 303.2805 175.6685 314.1844]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2194 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 279.3701 278.6013 290.2741]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2195 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 255.4598 278.6013 266.3637]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2196 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 231.5495 278.6013 242.4534]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2197 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 207.6391 278.6013 218.5431]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2198 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 183.7288 278.6013 194.6327]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2199 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 159.8185 278.6013 170.7224]
-/Subtype /Link
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2200 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 135.9081 278.6013 146.8121]
-/Subtype /Link
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2201 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.0691 102.0352 295.0243 112.9391]
-/Subtype /Link
-/A << /S /GoTo /D (page.30) >>
->> endobj
-2202 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 92.1373 140.8095 100.9839]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2203 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.6477 671.8982 505.6029 682.8021]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2204 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 648.7051 421.4792 658.8918]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2205 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.0203 624.0775 488.9754 634.9814]
-/Subtype /Link
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2206 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [481.2144 600.1672 493.1695 611.0711]
-/Subtype /Link
-/A << /S /GoTo /D (page.32) >>
->> endobj
-2207 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 576.9741 421.4792 587.1608]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2208 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 552.3465 495.0827 563.2504]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2209 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 528.4362 495.0827 539.3401]
-/Subtype /Link
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2210 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 504.5258 495.0827 515.4297]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2211 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 481.3328 421.4792 491.5194]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2212 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 457.4224 421.4792 467.6091]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2213 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 423.5494 421.4792 433.7361]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2214 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 398.9218 495.0827 409.8258]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2215 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.0203 375.0115 488.9754 385.9154]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2216 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 341.8558 421.4792 352.0425]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2217 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 317.9455 421.4792 328.1321]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2218 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.6477 293.3178 505.6029 304.2218]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2219 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 269.4075 495.0827 280.3114]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2220 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.6477 235.5345 505.6029 246.4385]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2221 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 211.6242 495.0827 222.5281]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2222 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 177.7512 495.0827 188.6552]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2223 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 153.8409 495.0827 164.7448]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2224 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.0715 153.8409 510.0266 164.7448]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2225 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 130.6478 421.4792 140.8345]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2226 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.4364 94.065 495.3916 104.969]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2175 0 obj <<
-/D [2173 0 R /XYZ 90 757.9346 null]
->> endobj
-2176 0 obj <<
-/D [2173 0 R /XYZ 90 696.9691 null]
->> endobj
-2172 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2229 0 obj <<
-/Length 3761      
-/Filter /FlateDecode
->>
-stream
-xڽ\�r�6}�W��JUK�Kjk��DI��lGV�R���D����\�3��|�6H� AK֖,iN�!�n
2���
�)��a\ήWGxv
��
������^|+�� #��]��=H�%tvu�����oN>���'
a�8x�hj�ztz�yw�Ib}�������.�#���b�~��Cg�#NY���ѻ�;?��Aj
��� 
A�j�`��~wy��r|uz9s9?����N8>~y^��1tA2B�����������<��x1_��e���.�˿��'��@f��!�6Wo?�n
��G
/||<�ȫ�2*Br���
��:T��� "D����/_�4�O�LjeCAO���k֡2���5'��)�(��Z�̿+�e��o��Չ�����K'�ڈ��y��ZT-
���>,�(��N�o�뭕�n�.���vQ������CyS- �G��
���/{��
)�`�� �Ln�v��7����W�t��*�E�
-ע2�V8�����vq3
eO�ĥ�Ӆ�
Ƅka�pfX�
��p�� �0
�"�{e��7�z���/v�����uڬc��B��'����<'_�/|��|�_{�JE�
-p&O�?��EeX�|
-�D�(�a������a~��٬�G�wB �U���n����z�L�H�AZ`9\")%��Z|�$�^��^�����	��c�ʰZ
GD1������M�\�G)�D�����^
�W(Gb��?
{��V3��4.��UrW���S�k
Ʌ����#�u�Z>3(_�P�qV��+��v!���o���Ec��ڬ�K;ɑf擵�
ƴka����k7�j�i�B
��-���o��w�)W.����V0^��)���3�1�d�5���AB��o��p������ע2�V<Іc�~�{RP�������m��v��~	R���g��u��7Hտ�ߺ �������Q�PVІ���M�s~��ݤF�I���9�s��ÝC��4]}���a��
-���S���P���3I&�M�Ï�բrb�؇�%�b	�ڤ���j�/o毾���yi�O�jij���)c�7p��;���Ȋ��2�p�pEg��R���=Im?��֓@!i����g0�g
�����s��ꉡ��nQ:?{}�ŧ25��5y*���ܡ2;&}���<N
-:�U�1�N��c���v�n3��R"f��\X9|���*�[��2+������QX9T���%8��N�E5��n���GH��|lR*���|��".UvR���7HUn��Z=Wn����G��CeX�zJ;�{���w[�a�9����=SR�X#c���7Ij
�Njr0�����8+�G����E;�{D��y�#�"B��w��
F�G:Xf��?�?2�j���A���x�����/�a�ٛ/_�s.j����׆�)���k�8��)���p�U�_ϵ��bXN��|��)���ΞN�>��ͰF�,kb�"���A��
}�
t
(p�d��@N&�!&H�&^���ϭ'���af��~�Ǐ̭��[=��5J
-����9i��j�O����
aD� 
���c���C��LZ����Ыt��oE�/|��
-c�������8���t�
k�-9i�1�R�����z�Q1!0��
�CeXaB#kg�@�����4?�	iE��w�r�5�ƒ�o���^
ױn��aߣ�ds�q�N�ޑ o��w���~���	N0�Ù��p-��
�E~��&�����}�p�9P�� ������i��/WP�6r�ݗ�x
�"jr�y���kQuK�c��>
|�����D6��
-�����}����#
-�:§�g0|-,��v�ף
�Q΃vX h@A޼�����7�:�.���W�_^C{N�&��z�[Ը�=�!�F	;��}a�7w����=.2e�
-i�<y����ۡ2S��>8u�I�q���~oO
=~y�������B�	�le19�<���ka�kF�~0�F9�A5��i�i�*A�/�K@!M��3޴P����
� 
H�7}>�~L)�R}���CeX;�l�i0
���@�6Vƹ8j��O�Q�u(wQ$5�{F�!=��q��`��z�_��˪\_׫�o	�[FɐҜ�#��h ��#�L{��*�D#��v�&\@���u�d��|�݀�aZ�
��Ҟ����T�*%x�<�5h��pg�x4��'�[�r}��_�����ֺ��/�\��S�
�-*�����4	f���0�!B�ؙ�
��
� q)��:{E��
�,�7+ZT�5�n�1,
FL
t����~�OI�
Z�̠;Tn��]aMD�IS|�
���e�|�/|��=���!�+��P��c�D�*���~�-������{>_�w����80���p�%-��
��
�D�р>�ā2��4I5"��
+n���V�Gʮ��:!���j��[�qZ|�$ĉ����8W���:��q�
�!\�D�4{�y	�_�Fhg��2-���	���o$1�M�<̔-(C��#T���Y�V���ID�UӃ�\T8|���"�[��⨐�I[�����p�
k���b

5U�����>ё�Êrp�+�
��
RuW�7-���Rj����r�
�A
�Xd����2�L���%^�)�i
��
R�6�[����|+�Ra�?J��a=�"5bF�
�M���yp��ɨ�o0��緖G��2��4�O�eԨ
�A
?p�Y���_䘟Vզ�u�κ��.���r;P�@'A,!���/m
����&�֎CK$md��QY�`2��n�"A�y�*.4�v�Qn�9|��f[�7}��Cx`a�������P�n�fCO�����*�}ſ�OI��6�>��
� ��~�
-���e��9�c��I��%�Y�����.
�&6/�����7H\I�
tZ�&�
���
k;~j$�ҽ�i[�x�
V~F<hf�-��
��
����4�ޢr����ۋؽ�4� 
�6w�
��
R�<�;tˉ}�E��-w�
k7r��[���C�s�x�t���v��çnw�u`�VDEU�<����l�?�
�q/���pMAm�A�r5���A�������3����QM�Pփ:
2g�I���ɞi6o��)_���)�����
J
j�����)�a=�&�֮R�^n���T�;��9��
� q
����
�g�{��iQ9�n�#���'�z�
&�`�k�
��
R}}�7��i���"�:{�ʱv�'@�4�? K��ؗ^���x��Sc�
� ��
أ�;T���	P^c�>'%�5	���R@
'�>���5���A��
��g G`���G5�C�X[��3Bh&�����w�|Y�}|{�*��}Z�F�@D��]�o0Ҷu���
����C�[��S0D��x^�o��:^2Y<�+:]<�`L���G?(�8g'
5��ev
Λ
���U�ۥ����
-Ѥ�{
���'�F`���O
=4Ny��R��g*36/'l~Cs�D<���
���o�
-��o�d⁑=U�i��;�P��`�+
-�i��O����K͠�Ѳ����ʾ���	���s���a�^�Y����dz�����k~���՛?��+���q�k~�X��w�Ͽa����ee��#����z��]+��Z�&��ִ��?����]�3(<��Kߔ'P��.��~�Ջ?~D�;t�^n+�ܿ�n�^��Z
	F��
-�N
���w�8��0�H�Z�o�F�զj�IB��p�[L�w� rU��D�<K]�� i���endstream
-endobj
-2228 0 obj <<
-/Type /Page
-/Contents 2229 0 R
-/Resources 2227 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2127 0 R
-/Annots [ 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 2249 0 R 2250 0 R 2251 0 R 2252 0 R 2253 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 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  [...]
->> endobj
-2231 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 708.6744 204.9979 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2232 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 684.764 204.9979 694.9507]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2233 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 660.8537 204.9979 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2234 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.7816 636.2261 295.7368 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2235 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [283.7816 612.3157 295.7368 623.2197]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2236 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 578.8413 278.6013 589.7452]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2237 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 545.033 140.8095 553.8797]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2238 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 519.0654 278.6013 529.9694]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2239 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 485.591 278.6013 496.4949]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2240 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 461.6806 278.6013 472.5846]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2241 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [277.1664 437.7703 289.1216 448.6742]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2242 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [190.8012 416.251 202.7563 427.1549]
-/Subtype /Link
-/A << /S /GoTo /D (page.20) >>
->> endobj
-2243 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 383.4938 204.9979 393.6805]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2244 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 359.5835 204.9979 369.7701]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2245 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 334.9558 278.6013 345.8598]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2246 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 311.0455 278.6013 321.9494]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2247 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 287.8525 204.9979 298.0391]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2248 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.539 263.2248 272.4941 274.1288]
-/Subtype /Link
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2249 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [278.2725 239.3145 290.2277 250.2184]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2250 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 205.84 278.6013 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2251 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 172.0318 140.8095 180.8785]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2252 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 146.7815 204.9979 156.9681]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2253 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 122.1538 278.6013 133.0578]
-/Subtype /Link
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2254 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [281.5901 122.1538 293.5453 133.0578]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2255 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 98.9608 204.9979 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2256 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 719.9123 495.0827 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2257 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [498.0715 719.9123 510.0266 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2258 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.6477 696.0019 505.6029 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (page.48) >>
->> endobj
-2259 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 672.8089 421.4792 682.9955]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2260 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.6477 638.2186 505.6029 649.1225]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2261 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 615.0255 421.4792 625.2122]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2262 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 591.1152 421.4792 601.3019]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2263 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.6477 566.4876 505.6029 577.3915]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2264 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 533.3319 421.4792 543.5186]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2265 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.2629 508.7043 512.2181 519.6082]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2266 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.7257 496.7491 423.6809 507.653]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2267 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [500.8165 484.7939 512.7717 495.6979]
-/Subtype /Link
-/A << /S /GoTo /D (page.28) >>
->> endobj
-2268 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.8285 472.8388 486.7837 483.7427]
-/Subtype /Link
-/A << /S /GoTo /D (page.29) >>
->> endobj
-2269 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [387.9554 460.8836 399.9106 471.7875]
-/Subtype /Link
-/A << /S /GoTo /D (page.30) >>
->> endobj
-2270 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [402.8994 460.8836 414.8546 471.7875]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2271 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [391.8204 448.9284 403.7755 459.8324]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2272 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.7731 436.9733 461.7283 447.8772]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2273 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [461.2891 425.0181 473.2443 435.922]
-/Subtype /Link
-/A << /S /GoTo /D (page.32) >>
->> endobj
-2274 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [374.416 413.7802 386.3711 423.9669]
-/Subtype /Link
-/A << /S /GoTo /D (page.32) >>
->> endobj
-2275 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [465.4039 401.1078 477.3591 412.0117]
-/Subtype /Link
-/A << /S /GoTo /D (page.33) >>
->> endobj
-2276 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [499.7248 389.1526 511.68 400.0565]
-/Subtype /Link
-/A << /S /GoTo /D (page.33) >>
->> endobj
-2277 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [458.7785 377.1974 470.7336 388.1014]
-/Subtype /Link
-/A << /S /GoTo /D (page.34) >>
->> endobj
-2278 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.0993 365.2423 505.0545 376.1462]
-/Subtype /Link
-/A << /S /GoTo /D (page.35) >>
->> endobj
-2279 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.7151 341.3319 402.6703 352.2359]
-/Subtype /Link
-/A << /S /GoTo /D (page.35) >>
->> endobj
-2280 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [457.095 329.3768 469.0502 340.2807]
-/Subtype /Link
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2281 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.6277 317.4216 396.5828 328.3255]
-/Subtype /Link
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2282 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [357.8184 306.1837 369.7736 316.3704]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2283 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [345.3353 294.2285 357.2905 304.4152]
-/Subtype /Link
-/A << /S /GoTo /D (page.36) >>
->> endobj
-2284 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.8746 281.5561 362.8298 292.46]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2285 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [343.1138 269.6009 355.069 280.5049]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2286 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [491.4158 257.6458 503.371 268.5497]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2287 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [480.3376 245.6906 492.2928 256.5945]
-/Subtype /Link
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2288 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [366.3663 233.7354 378.3215 244.6393]
-/Subtype /Link
-/A << /S /GoTo /D (page.38) >>
->> endobj
-2289 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [371.9056 221.7802 383.8608 232.6842]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2290 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.2217 209.8251 382.1769 220.729]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2291 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [379.6565 185.9147 391.6116 196.8187]
-/Subtype /Link
-/A << /S /GoTo /D (page.39) >>
->> endobj
-2292 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.7151 162.0044 402.6703 172.9083]
-/Subtype /Link
-/A << /S /GoTo /D (page.40) >>
->> endobj
-2293 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [390.7151 138.0941 402.6703 148.998]
-/Subtype /Link
-/A << /S /GoTo /D (page.40) >>
->> endobj
-2294 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [492.5218 126.1389 504.477 137.0428]
-/Subtype /Link
-/A << /S /GoTo /D (page.40) >>
->> endobj
-2295 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.3413 102.9458 406.2964 113.1325]
-/Subtype /Link
-/A << /S /GoTo /D (page.41) >>
->> endobj
-2296 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2230 0 obj <<
-/D [2228 0 R /XYZ 90 757.9346 null]
->> endobj
-2227 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F11 265 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2299 0 obj <<
-/Length 5095      
-/Filter /FlateDecode
->>
-stream
-xڵ]k�ܶ���_��v�J����ڪD�
9�5kɩx�TWk�3���c�{V��^�$��Ke�J9��>��8�{A�
�"�?�j�JK]7\����Y=���{F��+��
-����ŷJ���QL�>ܻ�֒Q��p�׫�?���_��������&\
�d?0���٫>zO.��6��<�����.��g�捑����iӰ��`|�����g���t��>H�3��,���U��k=nN���xx��;m֏ۏ����7߼����i���=�����r}�Mm$Q��Һ���(��_3yuߞ��m�<�>պ�. at C#J	��~tz�1?���*l�v&�k/F��� �C�)��G!� �j��J��(�]���]*��5%������1�l�
-ddK�:ْQK�(&�eP��M˚	�C�>\sy�ݵ�zM�M#V
-.��F����*l�S/�[Rp�rJ��ׁN���5��|j�C�����)�^���JAS��
�U� �^ש'b~F �a���G�y�j�c�L��C��הҫ�i������	S�Q*k�
���*l�0����9�1�����7�V+ �5,0��{x�ޮ_�N+�m{����8�T6��J�>��
-d�I�ı7��
8��P+�#uS�@��������t��N�L���
‡���㫰Azqi\'�J�a\��<~�
��� ��J�J��Y��ݭo�����/�ƖRc,?��U�ϥQT��&� �L̞d=
-#����V
�t��M�d���9x����$��Irّ bʝɍ,!�}��\���qsۮ�`���i��������c{�y@^3��
��Bx�!����n,��r'OA�B8G18��aڋq9�a��T^=��D��"�&�	Ӥ�Wa��*qܒ.��)n"�D�
����P�^�����GXx�炋�)Xs<y0|6�\C�05�0������](�
kk+�����y|�\����?��˶�5��v}���ͮ��ZC�(Lj���U� 32�����q�IC#�xd
(���#Y7P�9��vs�’	
j~逼X
-66���
_�
r�g
�I@��p��E���٣0V/,7�KG�=�ϛ���7BX!�TP�@���j��*��2�(ja�� �rB��=����vjR�L=�6�ۤD�b���*lP����n�0��o��)����
a��W�&�*�z�$z�y\�D�U*ȱ.��W!>��$j�	P��F�	

-#�(t%G	��n��i��gˆ�"������I�DhluD#�X�
�qz	`�6������UK���)=A��_�
2KC��4@=�X#"�xiP�(	55���8
;2������%=�
-��8naR���D�I�УV(0eP�����]��	
-~���s_���b��v�'����X
�
-�)e�4�Ț6�@N���G!��
7�_��廱�m�'{9/���4�X`P�@�����{��(�����5����ϙ`��t��G&���0�d
$	@�)�B��*��K�ITwkX�F.nʞ��

-!���f
-�K�n����83��t�2���5L�+X�kA	Zh�*l�K��y���ҌE�I�ԣ0�aR�PȉaW��f�o3���ă
-3����*l���$��z�
.��h-"���
-c�]���Ω=_'(࿛�7���i	C�hbP��ٵ�*�
\yt�\�D�
�8��j΀6)�z�
��uf 5�gC���0�ٜ@i�ƦxN��U� �L�$��^AI�gr�BX��AU-�����㲅
��b�d��%cLD�_�
2�$q�6�

8H��4=�
����.��is^�������pw�m����A����!6 at z|6�
�8nA�r8��|ʟ
�
��zX���7 at w��9�/6\���_�
���4n��6l�&_t(��
fH��@�٩�Kۓ�����:�����r��a;��h	�ë �����NA�{a�9�r'�W�A���ʾ��'��2Ý�`#6=�
-�M
�uZ��p
-
-�)2lz�j��67U��a�~}iOX����	sKeC8:�
�*l��}��y5
gM��>
-a
�#u#L��?�Pw��?�2�<w�BQ
4���
_�
r�i
�	����l"�$=�Q�
N��M��Y����%����M~q�9��ƀ���U� 32��yaL
\(��#c@!� 
m�=1�,�FC|��X|6(3��1Ya8tyʟƢV+
��0�
SX�������H�"�
-dI���uc"�X����I�>t�i�N~8=��{x����;|6ȯ�Ӹ�b�ɞ
��F���ء0V/������H�I茨��sh�i�㫰AN�8nI�ٍ�)�A��X�����5�*|���*B|�P��J�.
���U ���\�L1�u�*|���*�3�*&W����)}�d����>
�
-<��B>e��h4��_
9|6ȿ�ƵעU�Ő�[8S�̋!��X���\R�*p��ak�����v�*l��Ǟ�-I 8Ndğ��v(��K@(�J�?�����ׄ�����eiQ<_3�.�����b��>�b^���`_�e��i#�����s�*���M��1v��Oɧz�-AI�ˀ��D4RI�8S0Ӏ��ƝܷG
��z��<���Y�J��}�y�<�
-d.(��dJ^��p
-�),���X�
�i`"����hdm�K�

�X
-ҸN��Ř ���<
-c
��
���v��{�
��ú���
�� �|�*�����:Ɍ�S�x

 ��w<4@���?����ۻvow�7���!-0��߰�	
]
��#Ҹn
$BȔ���uex�:Jz3>�7	��z�� �9ǚD� �
�
-d�H�
	� 12��P�(Gh���Q�$��=��w2�
H� � 'z�v�Q�(G�>��w��H¡Pw��'�
	Y���ë�&��I�qID-��?&챃n@!��0��e揺�
-U`@B���i���%��F�
�� N�BXGa���弾?
v��ǃU�pn�
siHw���
-�)�n�����p�'�h�r�!��B|l���P��.�y<b�I�t�%>!��!�BXG%B��K���K15�VW��a�Wa��
I\�`��6 NQ��2
(���0�&��s&۲��a\��xĭ��͏H mq"�=R
����6$��%�y�z��8�MJ�RM
0)ռʣ0R��Іt7qL�j7��Rc��#&�4n��Ԟ��t��Q�D�G��ɣ�ѣ�=�X��Xf�K���MKI��l �[/5o��y�Q�Аtx���@��hC]j��xĮ����h	.�L1f�$�Q�DhA�6�
��.,A���M���(�G�Ji\'	K���G��?ʣ�Q�ЛT��\�Uۓt
�S
�0%Q
�H��YIF�D�
�
-t��ka�{8F
Gu=�iOke������ 4`ٺݞ`����BK��#�4na{�{nS�[�<
-a�:L\X�6�O/w��9M��|���[V��IE��u3o�(��w>4��/����lI	�jE�B?��ϛ���N�&� ���
l����=X۳;@c� �B*�I�ku�RK��#�4n~X�cj��Q�!ta=nw��?�c
Ԭz�S���V�0;4�~yJ3��(�u�&4g
�|�.�j�1]��?��+�[jB��7�y�:
-��v���RՄ������������C#Լị�Q�Ь���b����c�c�G#έ8f��&�+�Y��Ga�I�l��
T(�7�;<�Q�8��̽K�Fa�
P��ׁQn��n�}*��
�m/��*������k�j�	y��Ѓ�8V�V�*����p�;�꺫roon�|s�
@��ˡ������������8X�j��
Z�i�x�a��-�F
p�ޭ9_�G!�^��e�$Ff��2T
-*�	=
1��q
j�A筄
���j���D��a9�hM '�cC��Wa��Ј��ϊYш�C��'C�G!����$Fq�i�Mr�#~�$j�)q{Gz�$�Q�(E�O<�����RԒZ��2���#��4niʄ
�]�Y��Ga�^��+�
�­?m>-�""�Lm�B�ϙ����WX��f�9�!sd��M1��{0A.5Qz<bgL�6��=�@�M�
��������vw|��Y?��V�}M�WR��I�/r`t�}��+c��BI��
y�?�Q�J�W��r{{y��.���[P�.�Oz<�dL��l=P&���
��*L̋��ה\m2��$���|����7c7��ۍZ&�-���]}��ְr
ϳ/��\acC����Wa��K�i��;�1�D�������2�˧�O
�Wvp�VK-�
>��L����^
(D�,�f�p�!�c�q�N��
�]h�xĴ��-�8*��Uԣ�Q��0�t<B����a���֡!~��᫰A�l�4n!�d���1;�Ϝmq(�u�!t�b�h��ޔ�.��z<�8M��'J;�p
-���գ0V�K�ֽ�oMvO���2��#^�4����NN�9�G!�����
-�3*p��u�#��$j���L
�4�s�(�t�ܮ]���m�J�
�ia��]=
1��q
�� �h1ow�(�u�'��޼{��g����ej��y��~s�H����dO�.'�myQ(��K��
��2Ӹ��Ⱦ�6|�
-:��Q��{�0��:����[V�\��x�ŘƵ��,�躱'lg��
�����nśwo`Ȑ��x����ެ_�{{���_^��_0����7kL㺡NjCo�}8�Y�Q���7/HY����s x�RA��K=z
�8�Ҹ�g�{J=���(��/����w�����Mv�s��1r�)����oI�ҌE�+g6gʫ8�A���&���͠����O��?L�4�,C��o����4��}���S�}���μ��a
-�~�"��!
��Ǜ�����z2�ݯ~:���������v��<v�����*J[
u��������@��6�>�V��G,��8M�O�{5��O�]TA��7�@�$�;Ct�
�y�������~�o��z{yq<>�H�R�w� �\Wr��%�2�Y�(L&tr-��S���p�
��z\���l��@���u��[�������"^5endstream
-endobj
-2298 0 obj <<
-/Type /Page
-/Contents 2299 0 R
-/Resources 2297 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2399 0 R
-/Annots [ 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 2316 0 R 2317 0 R 2318 0 R 2319 0 R 2320 0 R 2321 0 R 2322 0 R 2323 0 R 2324 0 R 2325 0 R 2326 0 R 2327 0 R 2328 0 R 2329 0 R 2330 0 R 2331 0 R 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  [...]
->> endobj
-2301 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.1763 708.6744 188.1315 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.42) >>
->> endobj
-2302 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [152.1069 684.764 164.0621 694.9507]
-/Subtype /Link
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2303 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [158.3931 660.8537 170.3483 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (page.43) >>
->> endobj
-2304 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [189.1776 636.2261 201.1328 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.44) >>
->> endobj
-2305 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [167.0307 613.033 178.9858 623.2197]
-/Subtype /Link
-/A << /S /GoTo /D (page.45) >>
->> endobj
-2306 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [128.8543 590.4627 140.8095 599.3093]
-/Subtype /Link
-/A << /S /GoTo /D (page.45) >>
->> endobj
-2307 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.2411 576.4502 269.1963 587.3542]
-/Subtype /Link
-/A << /S /GoTo /D (page.46) >>
->> endobj
-2308 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.5697 565.2123 184.5249 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2309 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4451 553.2572 188.4002 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2310 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.6837 540.5847 268.6389 551.4887]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2311 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.0049 528.6296 262.9601 539.5335]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2312 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.2674 517.3917 145.2226 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (page.49) >>
->> endobj
-2313 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.8992 504.7192 237.8544 515.6232]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2314 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.3579 492.7641 182.3131 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2315 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [165.3863 481.5262 177.3415 491.7128]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2316 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.368 469.571 182.3232 479.7577]
-/Subtype /Link
-/A << /S /GoTo /D (page.48) >>
->> endobj
-2317 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.6668 456.8986 182.6219 467.8025]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2318 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [182.5521 444.9434 194.5073 455.8473]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2319 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.2705 432.9882 216.2257 443.8922]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2320 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.7918 421.7503 146.747 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2321 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.2338 397.1227 186.1889 408.0266]
-/Subtype /Link
-/A << /S /GoTo /D (page.51) >>
->> endobj
-2322 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.5298 385.1675 268.4849 396.0715]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2323 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.7133 361.2572 175.6685 372.1611]
-/Subtype /Link
-/A << /S /GoTo /D (page.52) >>
->> endobj
-2324 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [141.0185 350.0193 152.9737 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2325 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [221.8248 337.3469 233.78 348.2508]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2326 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [204.6793 325.3917 216.6345 336.2956]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2327 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [267.0541 313.4365 279.0093 324.3405]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2328 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.3517 301.4814 213.3068 312.3853]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2329 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [134.9412 289.5262 146.8964 300.4301]
-/Subtype /Link
-/A << /S /GoTo /D (page.54) >>
->> endobj
-2330 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.7731 265.6159 191.7282 276.5198]
-/Subtype /Link
-/A << /S /GoTo /D (page.55) >>
->> endobj
-2331 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [129.4019 254.378 141.3571 264.5646]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2332 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [214.074 229.7504 226.0291 240.6543]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2333 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [162.617 217.7952 174.5722 228.6991]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2334 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.3879 205.84 291.3431 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.57) >>
->> endobj
-2335 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [279.3779 193.8849 291.3331 204.7888]
-/Subtype /Link
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2336 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [246.7209 181.9297 258.6761 192.8336]
-/Subtype /Link
-/A << /S /GoTo /D (page.58) >>
->> endobj
-2337 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [179.1952 169.9745 191.1503 180.8785]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2338 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.0705 158.0194 195.0257 168.9233]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2339 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [172.5697 146.7815 184.5249 156.9681]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2340 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [176.4451 134.8263 188.4002 145.0129]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2341 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [170.8962 122.1538 182.8514 133.0578]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2342 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [174.7716 110.1987 186.7267 121.1026]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2343 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [256.6837 98.2435 268.6389 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2344 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [257.7894 86.2883 269.7446 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2345 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.157 719.9123 394.1121 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2346 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [394.8792 707.9571 406.8343 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2347 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [376.3288 696.0019 388.284 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2348 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [438.874 684.0467 450.8291 694.9507]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2349 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.4496 672.0916 433.4047 682.9955]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2350 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [434.1718 660.1364 446.1269 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (page.71) >>
->> endobj
-2351 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.5088 648.1812 505.4639 659.0852]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2352 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [474.1316 636.2261 486.0868 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.78) >>
->> endobj
-2353 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [411.9954 624.9882 423.9506 635.1748]
-/Subtype /Link
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2354 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.6029 613.033 424.558 623.2197]
-/Subtype /Link
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2355 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.3023 600.3606 419.2575 611.2645]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2356 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [370.7896 589.1227 382.7447 599.3093]
-/Subtype /Link
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2357 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.5967 577.1675 375.5519 587.3542]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2358 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [400.4082 564.4951 412.3634 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2359 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [432.6175 552.5399 444.5727 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2360 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.9199 540.5847 435.8751 551.4887]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2361 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [433.0555 528.6296 445.0107 539.5335]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2362 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [445.7777 516.6744 457.7329 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (page.72) >>
->> endobj
-2363 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [460.7217 516.6744 472.6769 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2364 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [419.4968 504.7192 431.452 515.6232]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2365 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.684 493.4813 381.6392 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2366 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [406.7641 480.8089 418.7193 491.7128]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2367 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2637 468.8537 408.2188 479.7577]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2368 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [487.431 456.8986 499.3862 467.8025]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2369 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [468.0538 444.9434 480.009 455.8473]
-/Subtype /Link
-/A << /S /GoTo /D (page.77) >>
->> endobj
-2370 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [425.0257 432.9882 436.9809 443.8922]
-/Subtype /Link
-/A << /S /GoTo /D (page.76) >>
->> endobj
-2371 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [369.6837 421.7503 381.6389 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.64) >>
->> endobj
-2372 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [384.6277 421.7503 396.5828 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2373 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [368.0298 409.7952 379.985 419.9818]
-/Subtype /Link
-/A << /S /GoTo /D (page.65) >>
->> endobj
-2374 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [382.9738 409.7952 394.929 419.9818]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2375 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [426.6699 397.1227 438.625 408.0266]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2376 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [430.5452 385.1675 442.5004 396.0715]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2377 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [420.0444 373.9297 431.9996 384.1163]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2378 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [423.9197 361.9745 435.8749 372.1611]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2379 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [383.5217 350.0193 395.4768 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2380 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [467.8849 337.3469 479.84 348.2508]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2381 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [437.4492 325.3917 449.4044 336.2956]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2382 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.2259 313.4365 466.181 324.3405]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2383 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [396.2536 301.4814 408.2087 312.3853]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2384 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [350.7651 289.5262 362.7202 300.4301]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2385 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [407.8699 277.571 419.8251 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2386 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.4801 265.6159 462.4352 276.5198]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2387 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [454.3554 253.6607 466.3106 264.5646]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2388 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [412.8519 241.7055 424.8071 252.6095]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2389 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [397.3598 229.7504 409.315 240.6543]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2390 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [450.4598 217.7952 462.415 228.6991]
-/Subtype /Link
-/A << /S /GoTo /D (page.79) >>
->> endobj
-2391 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [363.5867 206.5573 375.5419 216.744]
-/Subtype /Link
-/A << /S /GoTo /D (page.79) >>
->> endobj
-2392 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [472.0485 193.8849 484.0037 204.7888]
-/Subtype /Link
-/A << /S /GoTo /D (page.79) >>
->> endobj
-2393 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 170.6918 421.4792 180.8785]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2394 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [477.0203 146.0642 488.9754 156.9681]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2395 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 122.8711 421.4792 133.0578]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2396 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [421.1508 98.9608 433.106 109.1474]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2397 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [410.0923 87.0056 422.0474 97.1923]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2398 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2300 0 obj <<
-/D [2298 0 R /XYZ 90 757.9346 null]
->> endobj
-2297 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F11 265 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2402 0 obj <<
-/Length 3735      
-/Filter /FlateDecode
->>
-stream
-xڵ\ms�6��_�ogτ�I��9��V[��v8��8��%�$����[� 	 ���鴵�g�
-� d2���(<�E��rrs�'����ļ����
x3;x�����r2�R{�	J�d���Ó�wӏG�~�p�f9O�����
Lg�wC.�$��~�O>� ~:���BL
�FD):�?��/��~��4o��9��Ԛ��3l�S���g��__��&�@R���֤��ͭ�\Y�
>c���1PO5" �(w��Iw�k7sB!���?|�����ӠD�ۤ��mV`�V@� �
�?�@�J��
-H��&}5=>"�
ΦW��U��r�I�"�G�,�?0�kX
J&d1$w��@q�^�"�+��Ř���܏E+D��%"��g�A`<��
0�x�
~W��b�T����5����:

-D�	��M)a�mR��;��@$�
��S R���!Z(�+��
�˼�'f��3� 0��Hf(0ʥ���ZT���� �1�d�ӓ�?q��"��&&��3� 0��Ȧ�'t��oQ)�n�L!��&�
<9;��I'���PHb�z��
-->�
����|��� �I��U�E�X;h�8l��'�I��YJ�,|H��I�Ȑ�������@\M򽸜i��ʳ����J���7��3W�)��wk��[|f�E��H*y�
~7��k�fJ�&_
)zx|u|6��1�9b���&�
>B���;�
-�
��!��
*��* 		�H�$�ˋ��Y�D�L�
�*
>B%��w�H�z�'�W"T���y�cf�P	��_�/�N�O˷g��ӏ'���Be�8���Aj)|f���뷖��KpX��
*���!s$yѤ�˫��'��_�>����ЉPh�m��w$$���C~7ZT�������=��z6�^N�g����i9�x���[u�\Bk
s�$
-<��`p������p�Ԑ�
�����
����������f�
h�r���3� ���wL�Qh>���.�`�a���̦go..�h$�D��,�I|f�ZI���5ѐ�k&
*�ڋ@T��� �8

�0�
-EdO�������;VCNp��{5�A�X���

-
�,��z����U���j
1��3� �ߑ��I}E
~7ZT����CѩH�d��o.>��ۧ���A���'�h�mP��;RDJ
-��C~W��`���yD�b�8=�>���F�@��ڧ�0��‡�p��I�aO lH�)a at q�^��"�ea�8�ezu
h�aw&�pO�����ax~GR����M
-*���k�����i������?��8�����|��L�>K'F������ޮ��w���]�ʷw��6Ў�jE�d2����65���p:!
-p��גT����?�f�X�6���Rk1���+Я<��vXh�96���k�m�a]�c;,�0Lo����`��z���㗺��=�D)��*z/)Mxf�C�8^�,��SĠ��"R2kH�Ջ�ZV���*�w�}�ܽ
-�*�MS'�
:��sۡ�
0�N�|H�
�P��S c�9�o&�ڔ��>���i
t��a���3� tZ��
;� ��`@�
V4�g+�i��&Ѿ�,>�{(�H��Ɖ�`�����H,��+���
-*A�
�!��)R]glV�`!�׻��a� C�˷3L�`�mR��;&�R�ߓ����
��s���|��-��w�ղ<[}���sr>:�������9C��sdn�{�qN�J�v*@���2⪺k�~����{:E����R��g�A��p���i�H��{�A%X��b
#a7���Q��
-
C�`�P�$���g6>,�ױM`j�!�+� �:�D��>g\�/!�S2.����G$lQ)	��FIAB� ���c��س�H��N�ɾ:��q
;TB�!���qR��,�#��)��K&$�v��k�#����d�qɢ�Z���K�ܞ_*J��x�,|D���j�>.U�TKU�*D��f�4�r���y�^�=}�>o�����f�y�ᇮ��
)};����4֏p�T��l�@!���d��NW�r�]�ZT��"E�pn�m��1�˪|\쾖7����Z�O-h\�K��2��~&C9���
j��l����_=B�|
s}�8����`�J��93�p�R
-�t򎖥�eӰ��4
�ke�2���2,�v��C������4GT)����AL�VkX�k8��0ʪ5$1�YT�
D�+�7,f� &b
K�\�(+�� u2
�\j�!gO
-�8'��9
}��,�OͨD\?���Ɲ
�E$(f�^g��ž�pw�)F�Nf�6s
Jp2
���
ě�3�a����
}�ϊ=/�v��-\�k
��#��R!y��o�Sv�
.�n���>9�S��*�.n�V�r��8*?/��d�>o��'��ZK��UV߯
a.�U�]��d�����W
]��9bt������K��ߔ������Q�^P�*��B�]�k�W���a�y���
%��&��e�f6�紱�Tgd �վ�;|���W�Bx��lJڃ����bmU��vuo�]����f���	�/��m�Cz�T�U(�$��J�Txf�1�z���.���<�Չ��=�� �Ŕ
-�qީنm�e��q���K�
_��{�|��
"����;�
�k�8c(ύ��]�g;
�A	J�x�K�

)�
(�����l�b*��K�������~}���T>lu�B��k����v��]�P-�U� j��l������
�n]C�ѭ+��I�
��C����;,э���\�X}�6���	�o 1�H�0�Ɉm�m��[/w����a$�!�+t�J��B
}�����]�C����YSM
w��ߘ:Tbc��nLq�^7h,I^��i�Y�����>_�Xy
-m.����C��5���.*_���5
e�%�QY4E����(�/�
�ˆF�V�6�(�����G��*g�c�@
�cͺ�����}��";�3D@��7hh�4la�
f�?�a��אq�̷�F/�>��(EB��<�A���`�3�!�X���5�WK�5���=
u��Z�THB��w<��x�`u<��x
��c���R�$�$O��R{
�9ʹ�o�
bj�����q5����P���K����Ͽ��E�����mY�
,����c�;�ً�PQ����H)���A%����Y1�ZX�	y�؀~T�(g�T>*7��u�)?���ݘa��Ѻm[�-,���_���e�4$� ,ͱ��a��R6
��f�
�ƛ<}�P��/�"��[|f�z�o}���J}�1w��fŠ���"G��I�%��b��w8���	b$^��PG�l�mP��[�'~PD?�u�ݘ4�g���6�~����R���j�b�6����hX���~�]ӂ����Z�����U�_ג9*t�h�
�q�[���PHӽξVGz;�Ny���ch^�C�慽k����ۇ��qu2��Q���j�#!�����a~���;�9G���o�K�
�7:ʠj>��*�<�$��{��tjM�w�=i��u��d�E���rK ϯ���n�������Gt�E��z������k��
%
F�q�т��
>,��*2˗զ��~�iRƤ�e��O�c��}��y��~����76�endstream
-endobj
-2401 0 obj <<
-/Type /Page
-/Contents 2402 0 R
-/Resources 2400 0 R
-/MediaBox [0 0 595.2756 841.8898]
-/Parent 2399 0 R
-/Annots [ 2404 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 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 2450 0 R 2451 0 R 2452 0 R 2453 0 R 2454 0 R 2455 0 R 2456 0 R 2457  [...]
->> endobj
-2404 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.6735 720.6295 159.6287 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2405 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [147.1656 708.3307 159.1208 718.861]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2406 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [215.7979 696.3755 227.753 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2407 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [191.3894 684.764 203.3446 694.9507]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2408 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.2189 672.4652 206.1741 682.9955]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2409 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [169.8104 660.8537 181.7656 671.0403]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2410 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [136.5952 648.8985 148.5503 659.0852]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2411 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [188.6097 636.9434 200.5649 647.13]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2412 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [184.7342 624.9882 196.6894 635.1748]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2413 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [241.9194 613.033 253.8746 623.2197]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2414 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [173.3272 601.0779 185.2823 611.2645]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2415 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [143.2402 589.1227 155.1953 599.3093]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2416 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [247.9469 577.1675 259.902 587.3542]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2417 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [153.7605 565.2123 165.7157 575.399]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2418 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [275.125 553.2572 287.0801 563.4438]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2419 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [272.963 541.302 284.9182 551.4887]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2420 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [212.4203 529.3468 224.3755 539.5335]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2421 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [133.8953 517.3917 145.8505 527.5783]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2422 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [225.7103 505.4365 237.6655 515.6232]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2423 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [251.3242 493.4813 263.2794 503.668]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2424 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [249.1224 481.5262 261.0776 491.7128]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2425 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [163.1653 469.571 175.1205 479.7577]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2426 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [187.3839 444.9434 199.339 455.8473]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2427 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [218.3476 433.7055 230.3028 443.8922]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2428 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [217.2417 421.7503 229.1969 431.937]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2429 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [197.3068 409.0779 209.2619 419.9818]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2430 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [178.3981 397.1227 190.3533 408.0266]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2431 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [201.6407 385.1675 213.5959 396.0715]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2432 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [199.7075 373.9297 211.6627 384.1163]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2433 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [194.7163 361.2572 206.6715 372.1611]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2434 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [183.658 349.302 195.6131 360.206]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2435 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 326.109 204.9979 336.2956]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2436 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 302.1986 204.9979 312.3853]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2437 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 278.2883 204.9979 288.475]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2438 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 254.378 204.9979 264.5646]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2439 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [193.0427 220.505 204.9979 230.6917]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2440 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [260.539 195.8774 272.4941 206.7813]
-/Subtype /Link
-/A << /S /GoTo /D (page.37) >>
->> endobj
-2441 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 171.967 278.6013 182.871]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2442 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 148.0567 278.6013 158.9606]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2443 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 124.1464 278.6013 135.0503]
-/Subtype /Link
-/A << /S /GoTo /D (page.68) >>
->> endobj
-2444 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [266.6462 100.236 278.6013 111.14]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2445 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 720.6295 421.4792 730.8162]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2446 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 696.0019 495.0827 706.9059]
-/Subtype /Link
-/A << /S /GoTo /D (page.66) >>
->> endobj
-2447 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 672.0916 495.0827 682.9955]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2448 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 648.1812 495.0827 659.0852]
-/Subtype /Link
-/A << /S /GoTo /D (page.75) >>
->> endobj
-2449 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.1946 612.3157 392.1498 623.2197]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2450 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.6477 578.4428 505.6029 589.3467]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2451 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [380.1946 542.5773 392.1498 553.4812]
-/Subtype /Link
-/A << /S /GoTo /D (page.53) >>
->> endobj
-2452 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 519.3842 421.4792 529.5709]
-/Subtype /Link
-/A << /S /GoTo /D (page.23) >>
->> endobj
-2453 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 494.7566 495.0827 505.6605]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2454 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [449.1355 458.8911 461.0907 469.795]
-/Subtype /Link
-/A << /S /GoTo /D (page.56) >>
->> endobj
-2455 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [493.6477 434.9807 505.6029 445.8847]
-/Subtype /Link
-/A << /S /GoTo /D (page.50) >>
->> endobj
-2456 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 411.0704 495.0827 421.9743]
-/Subtype /Link
-/A << /S /GoTo /D (page.67) >>
->> endobj
-2457 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 387.1601 495.0827 398.064]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2458 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 353.2871 495.0827 364.191]
-/Subtype /Link
-/A << /S /GoTo /D (page.70) >>
->> endobj
-2459 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 320.1314 421.4792 330.3181]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2460 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 295.5038 495.0827 306.4077]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2461 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 271.5934 495.0827 282.4974]
-/Subtype /Link
-/A << /S /GoTo /D (page.73) >>
->> endobj
-2462 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 248.4004 421.4792 258.587]
-/Subtype /Link
-/A << /S /GoTo /D (page.25) >>
->> endobj
-2463 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [409.5241 224.4901 421.4792 234.6767]
-/Subtype /Link
-/A << /S /GoTo /D (page.24) >>
->> endobj
-2464 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 199.8624 495.0827 210.7664]
-/Subtype /Link
-/A << /S /GoTo /D (page.69) >>
->> endobj
-2465 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [494.7538 175.9521 506.709 186.856]
-/Subtype /Link
-/A << /S /GoTo /D (page.31) >>
->> endobj
-2466 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [470.3851 142.0791 482.3403 152.9831]
-/Subtype /Link
-/A << /S /GoTo /D (page.79) >>
->> endobj
-2467 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[1 0 0]
-/Rect [483.1275 108.2062 495.0827 119.1101]
-/Subtype /Link
-/A << /S /GoTo /D (page.74) >>
->> endobj
-2468 0 obj <<
-/Type /Annot
-/Border[0 0 0]/H/I/C[0 1 1]
-/Rect [340.5901 57.0475 455.5589 65.278]
-/Subtype/Link/A<</Type/Action/S/URI/URI(http://www.cs.unipr.it/ppl/)>>
->> endobj
-2403 0 obj <<
-/D [2401 0 R /XYZ 90 757.9346 null]
->> endobj
-2400 0 obj <<
-/Font << /F65 229 0 R /F52 213 0 R /F67 238 0 R >>
-/ProcSet [ /PDF /Text ]
->> endobj
-2145 0 obj <<
-/Length1 801
-/Length2 1229
-/Length3 532
-/Length 1803      
-/Filter /FlateDecode
->>
-stream
-x��R}<T{���Kl�.�gj
-3���E1(7��]�9f�p43g��a���v��n(�z)!{�H�
-]n+Y�ej�M�^ȪTW}�{��~��c���k?{�?�y����>��<
v���A|0����\ +ȓс�-D�P�8KPL�K 9;ۃ D � ��b� Q 
�ā � �
�#I� ."Fc��ȁ$
G9�p�^�AE$r[�����8'�L�y1ƿ�
|>���@D��זA��r$ �E�$ڼ3_!��4W*�XJDp1aXf� a��	�rbp
��Z1�c���>R>����U
�|�"�[�G�0dq$�E���U_	�G9
�X>�)T��.�p� 拑�<"�.�&ֵ L
�	��E��=,�0*��E���G/��?cb+8*�t[:
"����+j�����qQa,�st0��r���st�!�
-��
 2bb���-@$��G����f�vΧH�������D6v�5�;�g;zʿ 9R
G���� 6�1���D�pHʟ0���V�z��\Ҳ^�{5����{��C'��+:w$X�\	��*4�t\k�<齩�Hs�λ>��	9�������}�L�_����(��75�t\�7r�2/����o
�Jؖ^���d���X�z&Ӊ�S��κ���"� ?��C�p�A^������:��3X��p�T��I����Φ���25�����k���;B��_��Nꚬ�=�)�&ˇ��g4n)z�5G�2l��/"�X��V��xU����\�|�.b�V^r}���j]q'��ƾ�d+KUUA��p���
��j���=b*ˡ�I�m����'>}f����+�R�|���ӱE�s�=���W�cf<5�xh�)���|�˵-'�� fY-��
M	�զx}�3T�1
-?���
-oo�%|w���XDcj�1���ڤL��8��y�v_{�@�����񩯌�tb�CG6�6��1]WЊ'�y6���\�а������o������	�}Jgz
.�
������6�e�68�֢6L�l�~�8�+��.M�� ��
-�:��x���$�kL��ŝe��u@��Μc�CKm]���q�p˸ی��7��1jQ���C=ꢽn�Y�1+t6�'�&w�\yT�J݉[-.
)8ڵ��g��Y.�Z
���^/g�7���g�7��M�vi�mW�@�1�6�T7K0�~&<���]>����G�So>��XPsKe%�=���s+�����ّ�k�y)�&cB���G(	��e-9Y�!��ܞ�D���}��������G�	ZN�\͌	���T��A�
~�����Z�K�f
]"V��Դ�e�V�.�8��-�ږ� ��푛7�_��W��VN���d:��%��c��%[��$��N�,.E���0�y>��!��)sk{X�[wR7�,�k�1�=f�+�'�
�6W%;�3�
�xp,�k�3O���^#�mMA���
-� y���7]ה�D�k�F�5M��	,+�?|��q�84��d�^�ϑͽ
-�9��I����u�<[s�'E,��}���#��3V�����%upS�.�nL�PgR�6�.8���Ȱ�����N�4-m壶��6w뻇he; ׁ�eE����\-��z��O��s��P��տ�&
}�K��y�_��"
��4�I��Z�����C<M^U� 9�-��Jۄ��`����~?���+�Y��^�*���cJ'�o��.�E���=����K���${�9L7�<�=�;��=v�C�U��$̀wv����
�?|H�'�� ���`�K�����endstream
-endobj
-2146 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2469 0 R
-/FirstChar 81
-/LastChar 81
-/Widths 2470 0 R
-/BaseFont /VFWYVZ+MSBM10
-/FontDescriptor 2144 0 R
->> endobj
-2144 0 obj <<
-/Ascent 464
-/CapHeight 689
-/Descent 0
-/FontName /VFWYVZ+MSBM10
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/FontBBox [-55 -420 2343 920]
-/Flags 4
-/CharSet (/Q)
-/FontFile 2145 0 R
->> endobj
-2470 0 obj
-[778 ]
-endobj
-2469 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 81/Q 82/.notdef]
->> endobj
-1930 0 obj <<
-/Length1 801
-/Length2 1229
-/Length3 532
-/Length 1803      
-/Filter /FlateDecode
->>
-stream
-x��R}<T����7����)Lf�x�X�x+�a�n��9��̜qf��B�۶�6��J��i�в]�E,�ror�\�j�gڃ۽�k����k?����<���}��y�� [&�A|0���B.�������
-��dO
�%(&�%�
����A"@�
Dw�g�ȀK�@�\�����$G ��B�
b�@� � �Q,\�#���A�A��J�xb"9���I������� &��;� #x"¥� pQ�� ���D�w�+�a����JEJ�.&�+¬5 �r1!_N
�#��1B
!&�5�ZJ�#���aA���_�aʗ/"��|_
-CGb!\T*XZ���|����@_L�bT�p٨�x0_�,�!w�4��aZ�/ӏL��=,�0*��E���G/�пcb+8*�t*�@����D�[����0�9:�a9�NP�9:�}@�\D11�*�$D
I%)đ��߸���)�/=xx`�}����
q����َ��@���d�,�M|�y(�7�!
�Џ���S�*R����l�y�^������5=���e��
	6#���*
�>
�7Ozg*>ܔ���tzBN~�j<1z�p�U���,��E��O���^N:.
�
�]�Q�V���%l+����Pk�L�m9����)�dg]�`oh��Pq�!{8� /Ws�ϊ��l����Ij8��9wB�k�����]<�T�d����{;�O�
-�
�m�/�B'tM��
�B�e�YN��7=���������߯�Iq+\u�2���Q�q��0sr
/�.�*��FW�Nn����2�CJUe��U�@�j�����!w�fLE49��
����ا��b�zyk��Ot:}��}}�huN���fޡ�����OL&
�+j"��rm���N�YՅFK�-CSu��^�wa�?�Yos��'�
-���BW,�15��ex~mR��X���<`
��-�?�Pcϊ���ԗFS:��#������d��+hœ�<��{��shXoE�!�u��zqS~G}�U�	ʙn��@ǿey��@�-~ɸΫ��	�
5D?{���
[���R�]�H�RX������5�~}��҇���!�]gαڡ��6���|8�e�e����d�Z��7{_��h��xZw����N��
>d9*�_��ĭ+C
-�tn��(m�˵VGc%�W���M}��2���&M��~��틾�Zc�M��.�`$�tx��Uz�|����N��d�|U@�M��t��[�O���'vmgG^�N�����	�
&'��VП�6�d��r�������8���J��&h9�s�3&t�����e�Ϧ�kT�,��=���)�>������7c�ZU���on�ִ�Y�o߸q����=��2�m}�J�c{]�K<��-�*U'�mt��`q1���эs����H�[���غ��ie�_��ӟ9k�2R�
���(9�^��y��c�_ѝyz/��mk
�t_R�z�;׍�]��:�?L4��s����a����Cמ��F՟�+�)��G1dN>~B4s+/{]+�jn�e��70�VD�Ќ��o=�|Nؔ�M&��5�PP���fdX�������4-������6w�Jw@�/��)�ˊ���o]-�Cu�S��D����"�}�#M�F��������A�
Ui���s5�S����<M^e�e�[�ەԄ�s�a���g��|7����%���U/`k㩱!'�o��.g�D���=����K���${��

��S
Ş���.;c�����$̀�u+���
�|H�'�Mp��K0��!�
1���endstream
-endobj
-1931 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2471 0 R
-/FirstChar 81
-/LastChar 81
-/Widths 2472 0 R
-/BaseFont /WIALAT+MSBM10
-/FontDescriptor 1929 0 R
->> endobj
-1929 0 obj <<
-/Ascent 473
-/CapHeight 689
-/Descent 0
-/FontName /WIALAT+MSBM10
-/ItalicAngle 0
-/StemV 40
-/XHeight 463
-/FontBBox [-55 -420 2343 920]
-/Flags 4
-/CharSet (/Q)
-/FontFile 1930 0 R
->> endobj
-2472 0 obj
-[778 ]
-endobj
-2471 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 81/Q 82/.notdef]
->> endobj
-1824 0 obj <<
-/Length1 829
-/Length2 1697
-/Length3 532
-/Length 2291      
-/Filter /FlateDecode
->>
-stream
-x��Rk<T�F��-Q�r
�\0��-�VҌk�\b̬a2f��[n[!�-5��H��B	�[n�������9%�
�N���xΧ�;k}�������Yϻ4w�;�aItКNc�!aHc���� �#�Դ`��N�$�@c �����l*�o  ��Q�(D���1(�~, j��J2� �B$� 
��4�*�D'R at V
�R����
&�2AF0H�A�H�D!� ЗB��W-���t�h�Mb~��AS`
-����&It5
 �d
OL^��~�fS�xB���jP�	j�?	�@6
d 8:	d�~�����p ����a�"��K=�!
a�ާ0�)� ɞ�"�d�	��A�G'���|���];
�]_�fO��X�a� ��N^���kAD
J(��!HQ�~;y�0ˊF��(4_@�
!
�H�P�I$@���P 
��ht��
- & ��խ��`a�c�&����$� N��5�HC ��^�
�k��c17������ z�(�O�
-0B!"��Hd3 ����	��V�)�}�`(H���D��'���FY]﹵Q���y�tGm\y�	lz�d�3FE�3�sN6N��h˥[.�DF�*��F��t��=�m��׹��$>K��8.Қ�� ��8��5
X�;�B�?\�����(Oi�h�����(���Q�DI��%�gN����H���ү�y��
-
Y|�e�Rë>�!�L̹
܆�̟�lF脒� /���^�
v2ޤ�
�{��e�q�w�.~q�pm[pK����_�0���$5��6~K�����a�z��򶍯�R�^��.\i��W{y�4���9�A�PIN͇+��OK7��=賜T?�*��ի�پ-��.��m��)0!	��={�e�>h�O��mZ1�e~8XF�8��=�R9��}V��l�iIe�X��Ԋ�̶;j���]U
>'�X
u����H"(J��Ɍ�/�2%
/D��V�ɍ����1U_z�������uKv���
.�dؠ꧐���#	�/���m��tօ�&��7ԼV,ɶW��E#�‹��s����c�
-���g�fMt
s��%*��);���
P�[v:����Z5�n�t��l�N����&T��[b?�B�)ۃ@&�
6�(8���4
(m��݄ѕ�!�����B�}�7s2����l�����SÕ抗½c���ڮ
>Z�����{�
#R�p�'�n�˲ب�rB�כ{�gn;�Y��F]�����ͅ��MwR��Ҋ�z
�)�w7�����/O�ْq���o�e��|��g�'�2�����g��~�$�>�װ���o�����.�o4�
c��j3��z`�"����nLM���4֞��ƶ�;�
5^HjZ��\8�@���C��K���-?0���ߊN�в��:�|��(L��C^��v-�eȭ�c�j�=�M�<
-�]ܠ&C�T^�4oC���=��0��ţ-�{
-t�z}�-q��u�����
s�6�6A�Ɍ���ȓ�:���
����5{IGwk�^d+��Dd�����h�
�3}�l!�`
cT�P�C���-
B�&h�d�3ي�Y��p��m�����m
v^�$<�R1��$���h~�\����ؤF����ŗ ě�5���ߡ: ��h��E.����h7�����6�5����0���4�+�\5E���+�Bu�E0��R��KNSLDȼ�E��ɱP���!�
�!^�JR�۲O�
-��8b9�X���z"/��n�w�
}(�=9$�>_Q�t[��8��9�Qx�M=)N����	��a�{3���nK�S#/��c
I���
Co��V�
-R��!���2�3	�̫�1�C�b5"�*���v���L�!dx��^
�a̧5KۚtD��&��l��`Z�˓b�{��׵}��<QlVs;%ܪ�<:F�q4�

�f���
�u��E�:��������)�/�����ۣ�=_4��h4��srj�I,��J��a�n�(o>��,���r�@ʨV�f�MWc#�T���h�����
�J��|����7��Ԋ*'&;�k�6�����S����v��s�D��ٹ'��UM�J��K���h�de8�Q2m״�j��_4fGL)ǍI{O��W�"� ��í<ӽ��VT?���Zf?^����/%�i('�uɱ��-z�`j:�]��(
����0:�R�u��}�"勇NQVc#�R�
\u� 	m� $����'�6�-��0��~��/l'��ܶ��g��(
�O{�[tI>Rg����E�����u_FZ_�?| ��� RA�E 0�!���Mendstream
-endobj
-1825 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2473 0 R
-/FirstChar 46
-/LastChar 120
-/Widths 2474 0 R
-/BaseFont /LNWJQU+CMMI9
-/FontDescriptor 1823 0 R
->> endobj
-1823 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /LNWJQU+CMMI9
-/ItalicAngle -14.04
-/StemV 74
-/XHeight 431
-/FontBBox [-29 -250 1075 750]
-/Flags 4
-/CharSet (/triangleright/triangleleft/less/r/x)
-/FontFile 1824 0 R
->> endobj
-2474 0 obj
-[514 514 0 0 0 0 0 0 0 0 0 0 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 464 0 0 0 0 0 583 ]
-endobj
-2473 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 46/triangleright/triangleleft 48/.notdef 60/less 61/.notdef 114/r 115/.notdef 120/x 121/.notdef]
->> endobj
-1810 0 obj <<
-/Length1 927
-/Length2 3031
-/Length3 532
-/Length 3662      
-/Filter /FlateDecode
->>
-stream
-x��i<�}��)$���NdϘ�/!��U�+Ę�
f���$�";��-R�D&���k�,�i���纯������<����
����
���Y�� 	�((O��� ꀞ��2 �����(8K����(u ��t�0�<�(�+������ =���q!�zR?�T 
w���c8��N�@�� 
�"�� 
77��G	0G�PDo�� H,�
8�0X<��?Fx4P�+����;�"�� I�I)�nI���H�M΄@?
Ew�a�wq����	���<}F����c���+Op��"���1�"�/�A�e���z���5"�ݰ
<�
��
-aIP�/
-	Ò. �FB������M���ӂ�!􊾎���m�L��X<����ߢ?j2��φ���� 0B/��9�v�
A at b��려
��D��^�I	� X<�
�|�~�@x���G�	D�ˤoD�#��r��&
�!A ��� 9�/H�u�� 9�B����t)�/(�y����
�T�ȿ ݲ�?H�
�|��@W�� K���W�O�� �(���[!‹HD��?�7}�3K�;
-�B�
���ڨ�`�{=%�Ҍ������F��w��n���<��
��
�c�;�/@���uC��<�hs�Ns����k��~�
"[��Ok��?+1��
�*N��~k�J�b
LR�r�Ј0�s;�����*��t7���
�+�s�yG+^��J��4�&"w���̇Uŋ{�
kn�~}�����x���ˠ��
�f�����{�2��w�2�{j������Ipe�'��:'����A�#�׺����8�}L��V��
(�+��}�յ������`~ݺ��r;�k�gt<^q�iݳm�� D��A���䧽|�ը���i��
��z[%}�
�ryU�.[p֑��)S��N��I��I�U{S���������;n�$�#xx��23`i~����y�j���e�醵OJR��w�F�>�Bߝ�iȎ-:9E䋚�]��r�L�Tפ��C�#�&+��;���śf���R�����*"������_��,3t#�̷��P�~�� �`3��ef9�l�Yb�a\�{� [...]
a�Q�
\7�z9���E/O�T� 4�n��������R����k]�6y0*R���.�iHͣ�y
�U1���?�Ė��LXe��&� 팂��w�R����q=���w�*<�Jʮ
����;���T8�2P���g�����c�|m�z�@��F��ޱGJTO{����₳�|,�!Z���Y���p�����Y�%��F��Z.^
**E_����<H�'�ޟ7>Y˚
L�m=���<�jSJ�r��݋���KX�h7��k��U=� }U=`s�g/z"W�
S���P��bf��ٓ'�ꇭ[!&�G�����{���RҎ�����J��`d
��o?Mt�|13Ph6+7wΩ�[U�oV�q8gX��m��X�O�G׭�~�Ӧ��L\:�2}{#C�̨&x6��-؊���}J��{�J��D9�B~<�%�˘�2�%�D[��

|J��٢:��5Z�Q�>N�����F�X`����ܑ��/�������~n���}�
h�ؓ���m�
�MY�^�Z�b������r"����E;���/|㭔�K�h��ݙ�z�m����K�KӃ��~���K]?�3Н-�o��Y��ѩ����׬
�u
<�
s�?X�T� ��aA�"����"~�%s
e�;{����W�{�pK[�΢"Q�e�Új��ۙ�7��j��w�5ܝ�3IS6����,�1 �������^
�8:1y��r�Z�ʖX!��lxo5�
�#$}iW\d�ZP������'�ߚY���4aN~9���O$�c��m=��{x�y��FѢ�(�5��lS<&"�U+twMK,�V���SB�j����GES��g"y��G�V�����
6O��Y�c~�۫��!(�:��*0b��������o�H����/����r�Z��FO�����!���U��N�f�{��Z̩�PSś�k&���N1hXT~E,�Q^7�h���O
ifF�%[ޒ-��q�~��Q
��)���1
u�S�$]��|]-%�HA�|Gcf �H��k'	q���j��
�R�
f��m˙��`���1���N�y C��5֕�;�m�N����
c�,��d�=X��DTB�VPfbT!s�|)O�$
sT�W=?�T�1L|��Y�Ef�%m�M�T�ע���
��U�"
����6�*<0Q��J���F��7�2��k\��y�҉��Ϝ�Y15S�
���7��<�9ct�3L���p�)�c��ǷJm�hF�T{
.V���B�>�Y�
�Z�WF����͆`��)����ec���>��x�c
-�9���13gD�����K����
�1�.���Z�T�;�M$��t
�_M�D��5M�R��J�_�ys�#�4�wN���e�B�8���0����j1�ؖY��E���d
-_zJ�!r�UOw~�z(wv�
�A�W��r��lwݵu�I�����S��{�o�r���1���F�ٿ	6�I
-�
�m���	��X
 �ި9GuJ��7�Y�J8��$�~�hL��F�8*c�e�qߟo��n�1�f�����X��t��3��1{��n5�H���q7"_u��8�q��i�%&Ţ��K��U�F�}YS�x�E��	�քf�iLJ߹_��/�K<g����n�d��}�h��gP�l��1��O�g�?��5�>���z�,]v�O�,�*r��d^��T�f/BW���O�n at m��b���ط3���K
���Sw-��(&�n
�nt�smɎA�����ɼ������&eX�N�I������M
Ƿ[�Z9�f|O�ʄU��
�|�d>'Œ�Z�d���Ƙ�{
�.�T�lj&�)l������� �9o��M��Z���7�
.�\��XZ���=r`�/
��uhDPs��KS{�ͨ��Ou ��G���H
�G-��lGOI��'��NR�u�z�����~�VGN<V-j{���۴x5uD���j�<�N:�W,҉��Τ�C�ĪL|{|e�V#g�d��j����̜���/�j�}�[8'�?m�~�;]MY�v<֐���2��r�@Dp��!.F�ɫ�F-+����
�G\���
���Rg�����U�|e���d�3���]���veo�MR��'�<���Z�/���+厗^��)��;�=�Z�3i
E)��cb:X���y��X�|ZԀvp[E��!��j�d'f\ �x�!ރ�1�Y>V":+>%̬윬�U��	'���x��A���Φ�gg�ZZ�#>5�J�t��s)��-]�O\+\�X [...]
-ǵr��^ _݄�P�H�\��=�L����K���'.iƧ>c�t�7$���nI�XU�R�<�F�Mp=5a}'��8�IڦDQ�g�B�Ot�r6b��C
������O �Pp"��'���
kv+endstream
-endobj
-1811 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2475 0 R
-/FirstChar 97
-/LastChar 120
-/Widths 2476 0 R
-/BaseFont /HFZDAD+CMR6
-/FontDescriptor 1809 0 R
->> endobj
-1809 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /HFZDAD+CMR6
-/ItalicAngle 0
-/StemV 83
-/XHeight 431
-/FontBBox [-20 -250 1193 750]
-/Flags 4
-/CharSet (/a/b/d/e/i/l/m/n/o/p/r/t/u/x)
-/FontFile 1810 0 R
->> endobj
-2476 0 obj
-[611 676 0 676 546 0 0 0 352 0 0 352 1000 676 611 676 0 481 0 481 676 0 0 644 ]
-endobj
-2475 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 97/a/b 99/.notdef 100/d/e 102/.notdef 105/i 106/.notdef 108/l/m/n/o/p 113/.notdef 114/r 115/.notdef 116/t/u 118/.notdef 120/x 121/.notdef]
->> endobj
-1402 0 obj <<
-/Length1 805
-/Length2 2096
-/Length3 532
-/Length 2681      
-/Filter /FlateDecode
->>
-stream
-x��RWXS�
B�U9� 	hH �41tD)ҋ19�@�I��.�XA��q�]p�"�Hq�tDT�F
���<��t�{��^������)vދ%@�@+��؋F�
s{{[=��E�`jj�4� AT

4�z��P2����
uu
u�aj�9̢�� �
�`) ���Q{
# �p4�82�
�I ���d2���
p� -
$ ah4@ ��1ПD�i}�dK%B���2!4�[+
��9� ���c� Q�,� aZ�6���a�{q�P2�G�,�9��q��'��2@`@�{��՛=H �R���2pd
K�'��^4��|���V$&H8Lb� "�L��A*�{'�����r���r�j~
��a
��pa� �/���
s"����
-�B�9D������.K*
"������
���p,�#���
D�� 2��1���B
��L@�h��S���"|��	р�7h hQ��h��7�h�~���33��yV{�u9~�1h at _�o<|(�R_^'�o�H���L��F���|5ڲ���AW�*��[��,#${�H��v��ܵ$� H�&��֮R�@�})w�
ᬕ0 �,$�(�v�dz�}���?��䞙
T�
-��9?��:�Oա�~��۳�W��6���b�^
-\"��ʄ��W� ]_���~xc
C�WZd��W%6��G��^e$��s��/xYWe�ï6�_\j�\u:�m�܌
����`�1���A�zL�6�����1��	�?I�
-_�QKnb��,`�����e�
�����Δ7F��
6��E
p�:Zjzct;��{1	��f�@u�v�#l�������y�rs��Eu���7�1�8�/"�ʂ����:���*��h������Oeg�V��B:�E~I�)"b
��+���x5�#:A�!��GZ9���OZJ�qW\z�Y�r�$vZʌ����y
�aֹh1nػWeoeO�Ɣ_
)��`-����E��pQ�c�������z�Dc���\��?w���<i���F^C���l\���Sm������DfH�S
-�l�{������\͐��9���[��]p�� �cT�7o�;P
���)VΩ_R�6�j��ct�_c���gZ���­(�����5/Ӛ�
�*��S<�Pc��f�
-
�=/�;!�q���\�..�b�A�ʖ��c����W�&ȴyr�Vd��O4�r���0����$[>Ov�y��Eܙ���U�dR�x�������
-�xV2k�Ř)$OC��d?R-9���h��,ǎjIc����Ʒ�c�?�9�)�K��^���p����#
>y/2��+�YD�Ds�8^:����h��T��>��T$�@�?�	0�0Q:!�ݓ�5)+����Tn}6�h?_K�\ɴĨˆ�
��[�cu��r��]%=)�e��z
-'�U�H�����n
-Q���0
~T�H$��N����`��Y�fi�!��1�uٍa���{�x6$y���ݼ)�{m����
;�7%l�H��nWMV����D������j@
�}J�ip�d!�`\���,}'��h������Md�#����
�{����\6�TN�о�W�=�*�!�6GW���]�fǿ��*������dg���L�qrp҄m�ۯ<�}/�[W��f���X����[
-{�ń�^���ُqE��
4-/ [�ﳫ�t\�Ӌ^1��-~�ԮEL�c�#ԯe��~m���Tb߮�s;�7�m���hT�T�>zauW���*I�y��q�ʣF�eO�&���m���
���X^��R�H�h�D.ou�߾	���N��^G�m��u��|�
-�Z2m�s>Jך��/G�24�$٪�`d~8�������I,��K�,���HO���q#��:!Q�3��451�;�*1gN��]�Q'l� W�5I�$�.���k��^}�y�KqJp
��\�0^���}x@{��8{�vk���{�笝\FB�{�e�\�����t�ĕ��ڲ�s��0X��U�¹'I9)m򓤁�����U)
2�ʚtŵ���u��(y��r�Dw ��Em��
�F^c����xo��x��&b@��+�������Ӊ%e������NU�Τ�ˑt�Ξ�6�*�����s��^�\+YJeBb�lؔQ�>�Z��n�z�h<b��--��{N�j2>��I�
��Wz�1��s��S��.�G�ed!b��B֚��G{X��+�<|+���;��j%�k�
-R����
_����h�\&����6��&�Z��T.�����3����}T����	��
��4E��G�[Ck.���?5��ߍ
�����N�p���o4�?��U�0�PL6���ɿ����[�։�j�R۪枍���[�-u-{�O�ԥ=z���c�|�sS,!�B�P1���
�_�F}`�u��Z�L"�h:��̹�?�sN/V��T����9
l�״�\�$����WF�IQ�ѽ��3�~�yۏ0�v�o�ՠ�����7�K�&���� �G���_�yDGAs��ܮ͹—�kYʏ�J������T�xa�i��wgy'�i~x��٠���"�3�S+yS�OTt��ʹ���z
�j�t��I8T�q�/��u�AW����^�[���n5������s2��{�]e
-��a�~�N��7^?ъ�G�����x2��1 
-���v~�endstream
-endobj
-1403 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2477 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 2478 0 R
-/BaseFont /RGHFNA+CMMI6
-/FontDescriptor 1401 0 R
->> endobj
-1401 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /RGHFNA+CMMI6
-/ItalicAngle -14.04
-/StemV 85
-/XHeight 431
-/FontBBox [11 -250 1241 750]
-/Flags 4
-/CharSet (/d/e/m/n/u)
-/FontFile 1402 0 R
->> endobj
-2478 0 obj
-[642 589 0 0 0 0 0 0 0 1094 770 0 0 0 0 0 0 737 ]
-endobj
-2477 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 100/d/e 102/.notdef 109/m/n 111/.notdef 117/u 118/.notdef]
->> endobj
-1392 0 obj <<
-/Length1 815
-/Length2 1151
-/Length3 532
-/Length 1746      
-/Filter /FlateDecode
->>
-stream
-x��RkXg�e�l�u�|��r  �
��r�:I&a�I&L&J��"-*��������
-�
-V�E�mԂ��F���
p�>K���ٙ?�s����`'�d�$�	�$bB\�� &����O 0�⊵0�p���Z `{r]]���4�+5*K%�*��'���
-���������(Bj���a b�
-D *�؈H�4TL"C4�L�`��o`�Z��ڈ**XE�tTD	��4@�Hi,N݅PI~�Ps��&��3�3%����(��� �+�$B�0\�����țla�U���$��b�B�!��3�n�7�
-D3�%ũ@
-c*dG��Q��f���E��;���,'�Q�Q"���xv�~���4ij�l6D	���W✻b\�*d���`��546e��� -P�� H��T�$uP��'h3Ku,XE5��Ҩ��ΐ��`)1�J�*Ԫ���l���
-IWS�{�r(�9� g�_v��ghnl�����<==u�%�	�r��ۨF��R���d b�`?.���/���NdT�T���4i�m�,G%�HN�v2������6z���!b����%$�X���?t,��lN
s ������δ��Dp[z�������B���w��gu-��|뷡���[�f�ޏ(z�R��*�!k�f�~��ӆ��N_�Ե�B��tU`��u�3�
~>FK�n�1Թ=�N9ϛ_�+�����J�i�[^�f��MZ�,�>yX�_L�=r~�"�FNӊ�M��%i+t?e�g'We
-�p˱�
.ڼ�k˫!���
���^o���^�];�2��N_����j�֑��,����2xY`���sP���F~
K^v4��ވ���F;�
�x���ƺ�p�<�.k��e�A��b�@�`��ls���3|Y�Ӧc�Ͻ9��O���`BS'��1��UB��
qu֙<��H;�0�����Ⱦ��KZ��$
ݲ��
k������>��y����G�
}=|D���N���,7t9V1�4�Fmg.Һ�h�Ka-��y��=I�:��h1=��O��'Z���e���O@�G
[+JV�٧
?;�T��0�v�=p!*+���/��D�
-�ݼ�jK��-(����<��
|V�-��W����ާ��J7�¶�1a�$(�a�@�
����~D�c帇��T�
G.�-
q�,|�0�t���Q���~l��4
�qs���VOz�M���4E���=��XS&��-�N���9��� 
|����C���
 r�p�� ���Ehx��QՀ�t�.�=�ơ�"�������-��ō�ԥ��A;ѳ���dT>��1�� �)FVJ�'����5���ѦnfeOJ�bk���畝zz�����������j���ևq�ff|�V���,ɐ{$cjB!>
�Z,4�����r��i_��F at C�IF^�(����/�9�Ҵ&%㺨N}��%2$��e
-�r�	�G���B��|���v/
W�^q�Kb[,�zҞ�6
��
��Ϭ/}y�t�~�!�
��q�%1���?�z��S�El�_�:��� ;�Snй�'\e�55�a
jߙ���ղ>��i�X����>�Sl�V.[.~ڐK��|
��,��<�;I��
�c^���ٞ�tm����įmL8�_�|�Ȕ^�
8�:
��������W�.�w��WL<�.�ĻY�	�f�ʇ���	1����a"��/&֜,endstream
-endobj
-1393 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2479 0 R
-/FirstChar 3
-/LastChar 50
-/Widths 2480 0 R
-/BaseFont /HSAGDI+CMSY9
-/FontDescriptor 1391 0 R
->> endobj
-1391 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /HSAGDI+CMSY9
-/ItalicAngle -14.035
-/StemV 87
-/XHeight 431
-/FontBBox [-30 -958 1146 777]
-/Flags 4
-/CharSet (/asteriskmath/plusminus/lessequal/element)
-/FontFile 1392 0 R
->> endobj
-2480 0 obj
-[514 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 685 ]
-endobj
-2479 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 3/asteriskmath 4/.notdef 6/plusminus 7/.notdef 20/lessequal 21/.notdef 50/element 51/.notdef]
->> endobj
-976 0 obj <<
-/Length1 978
-/Length2 3406
-/Length3 532
-/Length 4066      
-/Filter /FlateDecode
->>
-stream
-x��i<�}��U��ed��D�b�!�
�5*cf0���ؗlYC�do�=YK�,Y��"{�"!B��S�s�W�u�|�W��9�7��X~���?�����?d�PG�
O����T
cs% &
����2���� �U��
-
��t�P ��*��
-��� 
��/��B$u�~)Z84�D�c���i X��&��ZX,`�����Ih�%
�� I
��<�ӏ>މ (�Fy����BI4S�$ͤ@��"౾ 
-���h��4'���)��Ś p?�ig�Y����<��IFc
-M������5c4
-��gV���b�Zxg,���0>h�e
�8!�$�8���	ڱ�� ���{���̯m�J]F`�d
_�������v6D�`��Ba�B��������#	(
�v
������ ����> ڇ�"�'�i- �H'�s��� �M$���P <�߬ hOڎ��ЖA�M4�

- ���g�o� @0�!���F��FM
-�Ҥ�!
����� ��*�oH���7��
��/�ϵik|�e�J�
\�s

PR���B�'��Ɠ�����N�UA�}�H��0��z�IDQ���b�C��Oo�T5�nd
I<���6����)Igg�g����'�4��魆x�N{�?��0����߆�n���]d+l	\���Ʋ�!�WS=Eɶy�Y_;��_��`�plB���Ϋ�%#\Q�F/
ky�R\N؜5ͣ(J>rқ59�~r ,�5�x��5B�'�΃�w���v���b_�-����K��s�)������7{��;�KoXX
�7G��
-��X6���;
���>�m[�
ъ�Խ(E1��<U��
�7�*����ꢵ���D^(WQ�;��OeUT�Z��s�����
��


Hr��
���Ys�I�]}�"��4
�����rx��
�5rx�!m7��)|�C�@��7g�۬	u~e�%|	@ދ���
-�~yB�U�n���~>j��qJ��ˊ�
-9݂��7#^�K|��}{i���<���iXG΢���U}!�����I&������usI���~Ʒ83R��J�㢱�u��:����('r�Nʶ�kV5j��tH�G�^���}Uݨ�|��r��E�
[�&����+��Le:��cn}�0�w�Ɛ������S�~�_#׌���
��@��s�^����x/����(��r�#�j�����9Ӻ�C�C��򕎥L%yj�Kc*�ve���V���g�R�"U��E!���A��bV��G�`��R5���:W["K
9Iq �[�灕��� 

-	� �D�^?���ޣ����֤�Y�����O

C�ע-^���J��}N~�ɳ�=¾m�rR]���rm��
E�Uƚ�#rż��.J������7
-rOd��	r%��%
<��"�c��х1i:��ߍ��r�h{^�KI����E
i�Ǟ
ܡ��{U���1�o���p�gzQ�{����2Q�y��D��ֆ��� �] �J�j�jeѮ@��R�ď�j��x�@qf��u(E
�_�a���Qd��\�"�OdD�O�[H_0$�I�
�
��5Y�.�6�}�)����R�[e�
����z�HˈGi��{zG����
-Wk��X�J_;��:{
{�)�]��|e�Bk�Ž��{ո&�AV��`����
q�;�=�ӷk�Ȇoߏ�ps�2"�
L�(	�u�&R	Wgf{Y4�
�Y����}bnho�̚���\p��Lق��Ϩ�
��8��bSz�T. S�ǫ�zb+)Yc�|����{����Ce���3������ZSK�8��A�{3�Q1f}�wws
�5᳂&�R���
nW^Hނ׬�p9�<-!�������(l��)+�9`�����w�F<���

���е��yV?�.�|�\�0���7^���W�篶��gS�6�t�����5�:��4o��k#�
-�ƭA!!-ABY1sԔy
E����IE��t��
e�r
�F���6h��t�s�
��
��oa�C�ms���?��~�h+��1�Ã)��R>���y���^uQhJ��!�W�<�j-*q.~�Isn�5E&�+]t(s�5�t�^6ہ/��|��
E����6� X���K�Tz��TŠ�l���/�g`K�C�FF�qŏ��l3N�&��t�
���4(�;ė�/`�x%�*�Uː�����'��v��*�#N�Z�C����v�p��֓�l��,�[���H��<��|�>С��jFL:�
S��R��LM=���S�T_
���J3��C����������g3;-�Gs�fj�\�V�ǫua{�jLr��
9e��e�*��k�k�R�܇��)��42�2W��v��S<z>o��{�����m�GN�J_[��"r�',�ٜ��
�9{퍨T#�,�8�M���V-z��M
���, �Q��\ux�ǧo���;
��P��Q�E!��ڔm�,e*��*SV[��1����O�n�V8]�O���G#8�-8a��Y�ڬ�[	�C7����VW]�NOٲ�ܔ��RВ��OS�;�m��>�6g��ai�V�1��i�Tns�p�x)��x�%��3P�Օ��M�چ���V�.�&�_�
-��RҙGlN5��$�G-��{���j':U���O��ɑ
�q�9��I��p餫���t��=�>A�������$��4��|W��NQ�{N?g��P~Y��OٷM���nqpA��\�l������r1\c�S�q�SF�M�ᇓ )ݱ�hSҰ�CL��S��@�",wG�@���'z����c��@�b:��y3��yL���H
�~�.������P�,Yu�3*D�]/Jƽ��q�59ۈ������8���W�r�YИ��Dʣ�%d��1��
-98�d��6�M �:��u��Y�
-kT�s�*o�H{ˆ�|���x�
z q�$���e��5�
-G�7*
��B�[ff�Z����������=<�ʾǺ�ﱯ2����\�{�(r�m�`ac}
"�A����gj�]^��T�eu�
-6��3�_��Y�,8�����ޔ+� R�o�f��3�����c;������ʦ��G
�\��;��-��q!����,^lb����S|��t�&���H��
�
S��}�[���ž�RM������x7���
��z�I+��w���?�
-8�=e[8M��B�����c>2
f�����ݵ돨�� Z!cvr���x�)����ߛ?p�l<�b��.�O$���dbQ�?i�%\h��>� |�����և{�M�O�
���
sQ�^�ogMգ+��=}�=4��k%iob�;�:�L
�>����O.�⨮߿
-� %ݪ����a[�m�B��"N�Tm��<9��Y�Ͳ�
�̞��U����t�w�/|��
��t\�7�zH���S�
l0'2�M|���"-��|`~�F�P�Zk���.���Z�$r���n.��GG��2�
Qo�~�Еb��m��B�L.�����
n��0^S� �7�yh�a_�=�M5rlT
���
K[)�>%� �{������oe�>|�{&G�E<"w��o�r}y��
��#���WNk't�
� k/��[^so3�7#wk�.i4 ��q��"1M�-Q�o�JOld9�qZ��\/H�ɢ_�5��E6�VYE.�.
��;4��A����^�=�+j�]$�?�R����Oso�Χ3��5/���9�.�����v̬���`KePﭛ�$E�� ���*B	t�����+�#�%�,��Z�/�W��C�̲��R�xt���5�	���
-��a at J�<FMv��-�����C����X�^沦��*��������c�o��4k}�U�F�������xT�ӤE�Q�!��e�V
kW��܏����h���w�Q�詖CY=�w?>S�m�8����{�}��m���ݑ1W=F�Ӝ�-d���E��ei1���[�4��|���ay_��r�=u��)���c�+
�[zQ5^��7~H��NPH�����o��%���G'}�?�e��@4j�:�?|@�/�B �E#�dAt�
h�8�endstream
-endobj
-977 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2481 0 R
-/FirstChar 48
-/LastChar 120
-/Widths 2482 0 R
-/BaseFont /DIEPLK+CMR7
-/FontDescriptor 975 0 R
->> endobj
-975 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /DIEPLK+CMR7
-/ItalicAngle 0
-/StemV 79
-/XHeight 431
-/FontBBox [-27 -250 1122 750]
-/Flags 4
-/CharSet (/zero/one/equal/a/b/d/e/i/l/m/n/o/p/r/t/u/x)
-/FontFile 976 0 R
->> endobj
-2482 0 obj
-[569 569 0 0 0 0 0 0 0 0 0 0 0 877 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 569 631 0 631 508 0 0 0 323 0 0 323 939 631 569 631 0 446 0 446 631 0 0 600 ]
-endobj
-2481 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 48/zero/one 50/.notdef 61/equal 62/.notdef 97/a/b 99/.notdef 100/d/e 102/.notdef 105/i 106/.notdef 108/l/m/n/o/p 113/.notdef 114/r 115/.notdef 116/t/u 118/.notdef 120/x 121/.notdef]
->> endobj
-973 0 obj <<
-/Length1 763
-/Length2 673
-/Length3 532
-/Length 1221      
-/Filter /FlateDecode
->>
-stream
-x��}Pe
�CʗEs�
-�x�@��v/N����F��$����'�vϽ���KAQ�P#5�1TS|A"51ҳ��qT&M�
y1_ɲ�lr�����i����~���|��<�:�TMsK��c)!#T@��32
����Ǧ�T")� j�	J�'��J��"���8yd*@�f�O� �f�#�dA)@��A�
�s��S�
�VX�h��
�2�  �(,�&�brPk�@�H��Y��쐷�P Z��DD�c'���gs�^P$�7�F�km
�M�}�����f�8�pf�M�<��hȳ��
�[���<z�!�
�Ԭ��@J���ה#d�"�uH�
-��d�p�Yz4���0�<W����Ŏ���LG"V�qZ ����k�i-f�#X��p�������Q{�f)�F�	(�3���E+�R	\@,

 :D`���q	�Y�
��r3bmV_w���
�����9\R�J�� JHHT������<d��#��6"1Q
��:.sT�w�~V����
^�Ox����E^�ʏ�B��9?�$���}�}O�ҋ��TrE0t���
����C�ʪ��}P�l�]ч8��*'�5��Y���jm�4U+߳�-���z'���ն��u9 (f���S:��u�����>?#��߰����F~�%zJFy���ē{%%m�cku�e5��>��
:sf��\�IwbC#�+��mƋ��>�Wt�,]��{n6]���`�ݿz��O/U��krF�!�ij�w��=��B�6oSUTjaͬ��b�q�Ũ%�����>��
ʂ�?ޯO�7ea}ܗ)�\�&Hr�^�+�5󂧓]^s��옶»9;�/
��	��.5%�㕻b���
�Z�@��
D~���u���ȋ���	���"��Z*C���ݵǎ=�)GZ������RU���^z+h�nj0�9�3��j[g0��U0�k�\׉��@^�x����O��,	o��
�y�����usO};�kf��d��
�z|��r�Z�c�������qC�1ͫ������1V��ͬ;&ʛ���\��W����
m(ݒ6���^*
0}��c����=�?R}��ʖT��ۊ���o���X�fFa�Rꢼ[����q�xucJQ�>��Rg�RՐ��q� 
�~햴�4���3%�W�G��ذ�}��OK��ۧuo����o�0�H�g&��؟1��endstream
-endobj
-974 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2483 0 R
-/FirstChar 0
-/LastChar 48
-/Widths 2484 0 R
-/BaseFont /VFSTFX+CMSY7
-/FontDescriptor 972 0 R
->> endobj
-972 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /VFSTFX+CMSY7
-/ItalicAngle -14.035
-/StemV 93
-/XHeight 431
-/FontBBox [-15 -951 1252 782]
-/Flags 4
-/CharSet (/minus/prime)
-/FontFile 973 0 R
->> endobj
-2484 0 obj
-[893 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 329 ]
-endobj
-2483 0 obj <<
-/Type /Encoding
-/Differences [ 0 /minus 1/.notdef 48/prime 49/.notdef]
->> endobj
-970 0 obj <<
-/Length1 819
-/Length2 2291
-/Length3 532
-/Length 2878      
-/Filter /FlateDecode
->>
-stream
-x��RgTS����""z�A!	-�Ez�
-:!��`
-� A�H��H(�(��F��TQ��YMD�>/�̚y���~���?�}�>��k�+��Q�%{�'�$�2B�Y[�#����Q at 4O&�������,	�� G�h��?�<`D�
��}���t��PD��ǠI�5���4p$c� 5D@���D � �� �A  ,
C�@o<	۶dN‘��26���VH	`��لl�X2�`A
fCf����7l�(~"�@�A�巃�GM�B� ��~�T�X�� ��#�������?vͩh
�"y@@��W�^����@�
���phB ����?:a������nkw��b����x�)����a�_�
ON�U�p��~�<y�p�		C��Iހ��&��P�!8[JUCE x� �m�B"S�# ;�p G�@����! �n��� �
j 0�ߠ6 #��Y�� �~����АL
�ʪ�m"@j�����	�P@���Ǝ�O�ó� �4
 ctc|�j�#L
-zJx��o�<c�Vg�̎�2)�����
"�"��R�+s��0,Nc\����}%�&(����7���8�ٞ��$D��89x�����C�KcA
�
-�i��\w�ˁ�/g�?�ce'�@<�Xe�.Sci��L����v	���=���M#/�
fk'�[s�
�
U-
��ɫ�Wُ��?��RF�{XW.��hS�V$`�@.�G�rs4iT��V�^�[&�s�����]����<�%���T5�<�3�Pf����R�I�����[G��]͒F�cD=�D�H#�#�oVnu�r��1�ug��W
P�n��|��{�S��U	G.qjsր�_����dq]ҬW�4
q�\Y��t�^�9ӽDAA^=�\Gώό^h�(2� >�(%}G~��sU�H��O�:�Q9>��I��쾙s�;:B�j���4�������:,�Pn����U�'�����ľ�kK��~�gح\2+3j�
��cܵi�����ް
�����Hl�ެ��~>Z�[�Wk)1�s��s1b��|�*�>4lHD	oiǡ��m�n5"�)xg�i����vT�RW�n��֝/�u(;�W�	�5ŎM����O$LGY4��{Q��~�(T�;i�ɉ����>Q� [...]
Ԧ�i��}�;�6p�"q�Mo�V��%ٴ_k�/��kn_�yQ$1�)a�l����ҷF��
� Ȋc��B��Q�P&q��+�D�j��Qh��䔮h��UH�Ŕ��������Rr
9����9��s��L�G*�����_y쪠��?�W�o�練ri\����4X
���Ol
S���׳�u<y�p\�����ˁ��,��}�W�]��=C��	v�]st6�®������d��#�gZ-�K�1��bT�@�
�����
9Ѭ�B�h���G��B/�7Ҳ¿�R֚���h�J/�c��#V��Es��'��Z��Z��ö
ԧд�Ě�MS.h�s��^'��{�7wW��ƅ�j�����F(I`6š�\j��!֩�\c)Oj���+t��jݕI\_���9�_�����w]y�=�ⷳ@����ۀa����}��9DqN��j��YC}�$��3����&xJ���{��DV������{��k�}����
9�'3\�vK]��ɗ<�sQ����0
UҔ�n9}䊍N���@���Gn�
ZG�f�CA�<�Ԕ��Fq���`�!K��
-H|+MHf˸Q�0�R��Eџ�3��O��	˺��0j�
󒬌2�|��%��{�9*:s�
��}a�7�;�3L�fJG��Õ��k�ߗ�{m e{��rF��V>X�+��}�9��a>��v�5�Y}j��kV�)���I�
U+i5h�҄���=����2��W\��z��f��CO�z\Ӈ�v�񊥫\+��sp;ڶK��Y0��@1
�U���M�h�.�Jʈuhf�B���*.k��&5yo��U��V�`��"4��M�E�0+#R�@��$��s��=����\ŕS��L7�
-�ـ}���
ѩϊ�\�G\�Z����܁�(/>m�T���ފ|��)E�N���İ�͖
-]��=+Ch��o,o���
B
��y�‹��o���w��x��s��w����vt�'���q(��x�ڼ�3>+fNY8ki�,�)�e�[K�mG�ؿ4"��>}��Vb���	T�\Y` u���]��*N��� ���H������(��j
�
��2�:
<Z�#�;��M������5�n��3r�c	��r��c��mV�]1�RB��Z�%��t{��Nf_�
���I�=�5�k����3�1m��<��=�Yњ@s��;�p
�iu֮����
-j�^��lI
<�MlxM.-�v�c\��x�k������)^�t�f��t��
�p3�&A��އ��w
-�OY�,��B�u
׸gޚ�j�yaͱ�҅����>�aǷ������GUYz��йC��+���?�s(l����
��F�1Z��^.�
�g(�A!Q��
fr
�\�=�aG�f�™I��K�2�.�k�08IWjYY?󹿛��#3H����IK!�,_m�/Pj���}��W:0���S=:��ӡLܗ�,��X�!jf:�DF��X��<~�s6X�%���gdw�*�/����#k�W��]�&1�g���"	4
�'^�Z57^� a�n��*���
c��ǍJ��F
-h��Cqnocw2�S�2��ŗ7�ZD����/�Ӻ$x�RY� ��P��<��!�t�\^x��n���_B�Ir�m)����
�
cz,	�
��G�����Qr�n�d$�?| ����@4�J&�)g!��	�
-endstream
-endobj
-971 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2485 0 R
-/FirstChar 100
-/LastChar 117
-/Widths 2486 0 R
-/BaseFont /JATYOP+CMMI7
-/FontDescriptor 969 0 R
->> endobj
-969 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /JATYOP+CMMI7
-/ItalicAngle -14.04
-/StemV 81
-/XHeight 431
-/FontBBox [0 -250 1171 750]
-/Flags 4
-/CharSet (/d/e/i/m/n/u)
-/FontFile 970 0 R
->> endobj
-2486 0 obj
-[595 542 0 0 0 404 0 0 0 1014 706 0 0 0 0 0 0 675 ]
-endobj
-2485 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 100/d/e 102/.notdef 105/i 106/.notdef 109/m/n 111/.notdef 117/u 118/.notdef]
->> endobj
-967 0 obj <<
-/Length1 754
-/Length2 1067
-/Length3 532
-/Length 1623      
-/Filter /FlateDecode
->>
-stream
-x��RiTg�
-
-cU�� �2!ȢP$l!DP E�c2!��LH&���XDj��TAA0��UQ�H�b�J��Ul��f]p�ڞҟ��������s�goÏpb��u(��I'��~��h�`g:
���S���?B�^ ��d�`�0\�b0��
�=�#�	
-,VB�߂1�;`�P&Dp��TFi)� �J&8�T
-��N(A8�D���a „$X��b8�2f)��u[�����Q��2hc. ʣ���	@��!
A
C)+�����
�T�Cdc��9�
Gd�4�
���U$� ��U��Q�ks��S�&�A$"ń,<V�����`jT��H���
h�	*�q
.��!+"���q��`8�"A���{�����|��Щ|a�H�o�VO�ƅ��c�m1@
-$�����@"
0\����
�8�I
T(1���nԃ\�*�l|�HTM������חP':1���Ṙ�tcww��a
-U
-����B��cT�(�F����%��
j3*��%
������uy��3WOOM��T_Z���S
=z��tz�a�����m
I��9�qy���k�
7}e=\�p[n�8�ތS��
�w���益|A��{���ǧ���3��F�9&�x��ݣ9�ҕ�[�
\m�M4qY�L�F�����i��3���"T�FK��~�r�o�m��Ot��ߞ��c��I�b>l�ߑ�=g7�6+e�>K]�Δ� ���C7[sC���d�t.�o{���Ld�`��>�t�#}��X������nٙ���
;:}��
N�]`ћ]���6^���_��
�1�1����އ��~��DP�m�
��(��(2���YxhF����*����얔I
-��?�4�����֛\�-�K���e�U���vk���D:X�ı{�����6���1r��Y�S6\��N�4k>�C�4L��8)�
-)�sb.F���
-,�\�.8����#z��Z�a<��x^V��$��K�|���[�s�svx��Lu�5�#�b}��I��O4�^��-�
?5�H��l|�f�a
��y�́
I@��V�H��ݺ�ک��o�O�h��Ӕ�>/z�R����s�c����s�f[T��j��zg[�
-��g,MP��^j�\m.Rs�B>[ve�>;;�]?����6
�ź�EQs��XI�GӦ���w�8�gR��x~Wg�� �*�]�t�JyM��1���ϝ�1���Y�`�:��+�2�����GqV��E��#4&G��th���sf�pY�S�|��]��vO���S�W�[��A�
������>���!�txY����"�9���ـ�y�}=5T���t�)t�^G��2�ӯ�z
�P���V5]��	;u���~���.7�a�{wt�N�97�ޫ4Y-RqLXǮ?k����4q/[�LӖE�V-�:2��ف`y˃W�n���\K�iώ�K��.�����7�
0&�K0�cUi�����5~��_�0h����%ݭ����&�=��_�Q3Ŗ��n�.�.7��JnF�|�I�}��ű����
�;�N�rA�-G�M
O:�}=��xM��6��7�J����y���������V������O�(� 	�� ��TgVendstream
-endobj
-968 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2487 0 R
-/FirstChar 80
-/LastChar 80
-/Widths 2488 0 R
-/BaseFont /BHKUGV+CMEX10
-/FontDescriptor 966 0 R
->> endobj
-966 0 obj <<
-/Ascent 40
-/CapHeight 0
-/Descent -600
-/FontName /BHKUGV+CMEX10
-/ItalicAngle 0
-/StemV 47
-/XHeight 431
-/FontBBox [-24 -2960 1454 772]
-/Flags 4
-/CharSet (/summationtext)
-/FontFile 967 0 R
->> endobj
-2488 0 obj
-[1056 ]
-endobj
-2487 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 80/summationtext 81/.notdef]
->> endobj
-949 0 obj <<
-/Length1 933
-/Length2 2943
-/Length3 532
-/Length 3586      
-/Filter /FlateDecode
->>
-stream
-x��Ri<�}�&d+䶌�KE���V�d�,ɾƘ�0�Ɛ!����XR[��-$[Y
-	�RȒ�b�w�羟ޞ���������:�����:�SB��\N
�w��8�
L
�h��0y(���6D1x���055���(BB
�����!h�I��;��>��I��	#��]���x$��-,0�~�0}A�?���� 4E\@7
�C��+
P�I����.��_�)@�n�$@����$ 
�r(���w�t'��~���bM�^���3��*�
�%������#���	��[���֌A4������Š�pnX���0�z� m�!��W$����8��&�c�aA��H����̏4�L�
�����oL�
 �C�P��������U�8
����A 	$���t�
� 

 ` ݯ�<O��#	\���a*Ao$�aAW���O�/�gx�Ъ�B H��C �}��=��z�
-�
J�G�� �_ ]�
T��
髨����~�ʀ��/�.���gg�����j���2}6P8PQ���F�����KN��o슡�� ���0
��Zs�(D7���E��[m�I��M��#I�Xj����D��V	��Y�Y��;¾1�W.�ꭄ�$�
���;�R�m>Q�Io��/r7�
~YRf��b���m^G���]S)
�9�qq�{�-=
-�2*�R.nƓ�S���2��d�7}�!
Qlu2c��F?ޭ\���=�u��C�F1�ٴ4�ٜ�Ra^wŷ���3��9�ee3�6���ZyV�a]���s�hc���F�]	����\��=��H>����/�!��<�}����K���Ζ��N~�%XvMؔOe!��
35z�4�
��! &('q�Wĭ�SX|bH��_�Y���|dD������
ww�&V�N�H�WGo"3���
�#\��p[����k*���s�J߭��S���rd��^�B�7�Cm�
Eٞ��ւc=g�w�q��.�M��*[�w0n��,�R�
�ƾ��"��G�h	
��nS�
-��O�J�!ӆ�ݐ=�X����s0e�͡ ��s)��T(~L��J���`��0�}��Lq
�A��HMq�*��*�Oj���9O+%�hMco̚FZx���W5|��]�d+�'�kQX=�ޓ|u�#_pJ_;1E�z�Þ)�s���F�y�V��zޞiXzi���*'��sͰ�mȠ[|ëb�R8���t�
�f��
	ßi�A�K�V{>(ߔ^d0�\QIt�% Y�q�(Rck�
lSr�f
O6�t
��tM��@ތI�s�A�cDY:'\��5��q�#�䜺O9#�)v�?������2E�j��a/U
3?!'�ڡ
z���F��Z��f�a���R8o��M�]?�N޹��6}��D�#djB����y�겤�L%�:Ոrp��I�>}�4�˗Bv�M
$�g
;˞6^Z0�jLFD��X
-<)Y;�2��^����}A��-/�J99�l��NV��3����g(+H���<�W2��t7�(m4�;��8�?'J���al��<�RQ
�@�&���.�=���
+9��m�Sx5$��Ls�df�m
�a�{\��(�kG���S{k�z$!X�?:,ź�CD{���
��,#LԾ.�u����K�\�}ڪ����A��;S�ߋX�tA�z��$J�M�o\3 �����5����� �p��K�p��ȓ�:���ex�J-��^u2��M��_���@a������ �h0�$"~���SR�������@�Z���`���G��v�Fg����W�X�=A����#
I�ԆmA��ؾY�|*|W4���@��D���+��K���q����p�x�{��o���V��TԺ[A�2���QG��~�
E�ͻ\
-m�e�+�*��]�m��qk�ɀPn�U�j�c�s}�2[����^k���E���U��i��;���C�US
�F
��w��-%���R�9
7�
-D�"��6pD�Y��
-��߆�V��XlIF��$*ސ
-�9pIx|��ȴk��:q�h
���tT��
�U&��ꉹ5�a;f΋[��gL�<b�:{���
���ŧ�y��|	

��x
�}��H����U��OSѧ"��tE?.6'7="�U��-�
y�&�6
q��r/��%��C<Z�0�8��:_��љM���BL�+몬�gl���RׇX���/E�jK�<���C];7S��-.2���-��5���
-
�^
~��Y�oX�`��ғl��`Y�S�~���Y]��\�QT�f׎�RɵD�c�
�C�
-$�����|����GY��}�Cr���_$��T{E�����4J��h���������J�An�vL�<����&��s�r���I����Tv�|�-�J�b*�%ì�)�W2XeQNx��e�1Y7cO�L���N¾g�^{8�Gr)�c��*����*1l/�3~��јa�7T���у���N���3�����u�҉���x�ڱ����,��ϹkHs�"�f?�;�
-
ȷ�u�S�kpc�A�~\�|e�c�ڇ���V��XgYB��6�٭���]6���
�׶	N
���66��B?����I�;5��ئۛ<kfoŢ��b{��{<�a
t�(H���d$
;M���(��+,qke�p��Yf����\s�c���O�"����"�?�ī�eMx�Zk��II����������ؾ��5�
�c
j��{+��	}.-T~�G�w4�0-u6¬�5�������N��yb}�MW(7��x�O��"���S|���-��*�
-���·
����Ub>l�����PD��3^�\=�Ϧ�&������#]��
�Uni��p)����8��7����,=�[���&\D�r�=����7���
W��
-��T_
-���e2�������/j�ۜEY">�⟈+���Ē��5�����
�wd�
n2�N=|�:�w@�/!Ia�s�$���.�^c��N�W�>Q�X�1h�0����̺�����6ҥ$i��|
:��U "��1
Zv��#謥��������i�J�)�1�
�c�:^+���
��D8F�rϽ����m8��&�W"c�#bI��dl:)�[ْ`��FR��]�p�~<��
�z�$��>b,;��4q\��ٽ�
��m.��gM+:X��;�ko�)Ur���x�w�>c6M�
-�a�w�w�IVL#��g[�S�u����7�D�5�Y��>����뤏.���n��|������8/U`��
s���V�^�]K��K��Ƙ�$�n"4�
ϊ5��Me�w12\��J�J/��!u�E�R�t.a�9�#؝G���M'��TP�OX��W��DJ�#���~I�<���\����r���
���(i}���L�����f&�
-��̆�YULI›�6"�o�t�[j�<�6��(���u���E�=''��Վ�f�t�H;ӄ>����z��+OFd��9���1�k�
��t��q��L���g�
-�$��GQr �XAo@��U�
Ҕs�����m���c����FMfBz
S�|�qb&3
�?|8�_��� 
-
"	D�����_K)W�endstream
-endobj
-950 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2489 0 R
-/FirstChar 40
-/LastChar 118
-/Widths 2490 0 R
-/BaseFont /TLHYGW+CMR9
-/FontDescriptor 948 0 R
->> endobj
-948 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /TLHYGW+CMR9
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/FontBBox [-39 -250 1036 750]
-/Flags 4
-/CharSet (/parenleft/parenright/zero/equal/a/d/h/l/m/o/r/s/v)
-/FontFile 949 0 R
->> endobj
-2490 0 obj
-[400 400 0 0 0 0 0 0 514 0 0 0 0 0 0 0 0 0 0 0 0 799 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 514 0 0 571 0 0 0 571 0 0 0 285 856 0 514 0 0 402 405 0 0 542 ]
-endobj
-2489 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 40/parenleft/parenright 42/.notdef 48/zero 49/.notdef 61/equal 62/.notdef 97/a 98/.notdef 100/d 101/.notdef 104/h 105/.notdef 108/l/m 110/.notdef 111/o 112/.notdef 114/r/s 116/.notdef 118/v 119/.notdef]
->> endobj
-946 0 obj <<
-/Length1 781
-/Length2 1493
-/Length3 532
-/Length 2061      
-/Filter /FlateDecode
->>
-stream
-x��Ri\Swő4PdY|,Q
Y	Btd�E� � �BL
!&yB�,.	�d���8�RDEт .BET�@
-X��N��3c?N?�7�}y���?���h3_�
����G�!: .� {�hC@��.�!���+C: D{{"�$b$@�:P�$
-
-
��Q�
)�\0�$;��
-8L��H���`2x�?��B�
���~�'b ?0�A�
�HX
���9
-?o����Oe�(�sK

-bT� +�I
��Ȃ!�`�(�VX5
T9�#L})�&��2����!����sx�`~�H
- :�� �7:���_v=�

���y @�T�ĸq�@�/GȌ��P!֗
T�-8�{n��qv��t�
=_H�~�'/`⿱*
'��`C UD���k��6CL�ŁT�`KC�R-�
-��D���8 �S���@�PuPE�D���mR�<
���lK ��X�7LTMŃ�U|���/;;�q�8*�#�ɀ-�P��'��)@H��K��>��*c����
�I��ί��%m>�Q��.rf�en���uES���"^�-�h�Ӫ�3�z���cg�b�.'l���vtfA�ܠ8|�p�E��B�d ���tD�R���"�Χ�e9;N6���
��r
x�|l����騌j�V�
LI�ZC6�[^]�JIy�<'K��=i���z�q��Hw�FI�\��G�W�H�����ޘR�3���\�
�����,����O�?0ՏNH at -� M��2{l��G���x�.tZ�q��-,4�
_�W���}C��\;V�3��7�]��cKBh�t*WO�X��z��s�Ң�d�*�w�4Ӿ1��Jws������ӎ[�4
�
�
�
6���zSK{p~K��Y��ܹo�[�wFG�G�&
f�=���B\��'�~�-pL��v-}��W�5�{�(7wV_i@���l�|�|�!L��T����l�~��,*���c]�0iȧ���
���۔�F"�-�v6���Ng<b��iD��$�[�n߸�Qݰ9�
-[ G��4�
{��
�W��kc���=��y�jٟ�f�I�]�����\U���s�+Wj:��	E��_�^���g�-���K��	y�u�#͡0�NDB�l�j^P U�����}�&�Fn:�e�j�z���8�^��
-���u|dj���8����6�~�]�����
-���;ă�N�H\�

���$~�DR�
�Jy"Oӣ��4�X�Ҍ��P�j^�%1��+�9C���i�?{�G�1}��N��";~.��x+h�㔯˥�3tј%�'c>z6Ң�rF�A��ൾnEc�鎈��!�����|�N�N�}��A	�n��-m-_�5�����ͅ����7қs�FvJKc�6�1d�qC�{ě�ڢ<s�_1S����7��/t�u
�v�ܽ�O�E-�4G�l8L1�{��"U�.Y�f5i*W��_B}�
էT��P��'��/"���%h����u�����m�]wU��Dڑ��;��}c
�I��V^�c��_�.��V|aO���l?^����m�YdE��)�V�e��J��9���e|�&�9y�b�j)XwD�`����"孛�8D�
�2)�
=���>
}���
����Ң���[k�HCӆ
-���{N�&
J�N��G�:o뼟}<k�����&�r�nV��JFl��ܡ�C�����5�lґ�����&���Ju�DVyR��B�~':��nµ�%�/�kWh���h�sW*�������^���]7��}z�]���
-��R@'���¼Z�\��a����P�&sY�V��0 "tM��Za(k1� h׉���;�M�a��O�Q���}bRG�����*
���t=�p_W�=���f0:*�q՝k�zK?d$�w�`Y���^azё:%�P G�u;}�rV\
?�
����nE�h�Yy�$��(2:�0��.�V�:��Q�j���c��Z��A���AB��e�駱(Bb�m�
~Xg��V$��i
Ӓ�;�P�,�V���jXgH��

�,\
��5H����L
�a>C�E��-5�endstream
-endobj
-947 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2491 0 R
-/FirstChar 49
-/LastChar 109
-/Widths 2492 0 R
-/BaseFont /IVIOBB+CMTT9
-/FontDescriptor 945 0 R
->> endobj
-945 0 obj <<
-/Ascent 611
-/CapHeight 611
-/Descent -222
-/FontName /IVIOBB+CMTT9
-/ItalicAngle 0
-/StemV 74
-/XHeight 431
-/FontBBox [-6 -233 542 698]
-/Flags 4
-/CharSet (/one/two/e/m)
-/FontFile 946 0 R
->> endobj
-2492 0 obj
-[525 525 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 525 0 0 0 0 0 0 0 525 ]
-endobj
-2491 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 49/one/two 51/.notdef 101/e 102/.notdef 109/m 110/.notdef]
->> endobj
-834 0 obj <<
-/Length1 771
-/Length2 1151
-/Length3 532
-/Length 1720      
-/Filter /FlateDecode
->>
-stream
-x��RkTSW�q�9"��8ꤣT�d0�P*4<dD��{�&��M��P**�P��2PA�D� �VE�Fb��#�cH��uu����5k��s���}�9���|7.�'�@
��1�
���L`���$
-ş�9�c9� ���'�2Y�l@���bsX,��IJ'��2��S$6�J!�
-�	�Pj�
-$��
Q(WRW"�N��:(�D
-D�$ �P��H�)O���0���	��X6ms90�DpL��h��q4z�oؚ)
�,��
-�S��I��/���/
\��,���$���h��
"h�tf7X.��B.&�@����=>�,U@$
�
�H ��i
b�L'���}о�	
Y��엫�n�
PL
�L���+{�f�ZC"P�@���
#Ѹ>�6�������	!P��F)&�T
�bT �0:�Q1\n<�ɤN���Փh(�M� &���ޞ1�)�����+Tn�t��dGљ��͢���(L&�ɧ��1���5f
-�
-I�n\�cSa�Ϊ���7��,�9��ZSV]�7u�Go�;DÍ���&�fz���Țoh����\�U_V�iY?�\�X����?wT87�����Jz4��Υ?���{K_��4�ц
2���#{̪z�'
�3�?Й!K"m,=R ��r;�
�帮��>���֑[�wm�[{�-���>�|C��`tYU��W_tI�j]��y������XϯN�}tW�+��aJ=T�z�W�fe�yowԲ�e�⠾-C9;@3�@X�F�Ү�n��Os�$6O�m�ۣ6���d��SUʵ�'мg�V��2
�'5���/��^YN��h��Ǹu��i���ؼޯ��Q�
[:���;���c/k[=nĸ:4��j+�YQ�~���ox�w?y~����Oy
&g��|�G�u]R,�I
7<�d^dZ��|���#4eY�n�h�j�����W�_Π�-�2��O�L�j[ti�[k.\s��Y�z[��ܶ���������~���}2=j~�Ea�����Ҭ��O�y�妎4s��ʿP��i��+ŏ��L�Q����Q�ճvn,{��6��n_�
�`��k��ؘ�T�l��!�
���{I�;�mg�5�yȌB�>	2�Bo8���x�D�T����:��<@���[go�����pi���Z�9 ���"��_Ks/q>��',��5�� [...]
-endobj
-835 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2493 0 R
-/FirstChar 60
-/LastChar 62
-/Widths 2494 0 R
-/BaseFont /HYOLQM+CMMI12
-/FontDescriptor 833 0 R
->> endobj
-833 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /HYOLQM+CMMI12
-/ItalicAngle -14.04
-/StemV 65
-/XHeight 431
-/FontBBox [-30 -250 1026 750]
-/Flags 4
-/CharSet (/less/greater)
-/FontFile 834 0 R
->> endobj
-2494 0 obj
-[762 0 762 ]
-endobj
-2493 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 60/less 61/.notdef 62/greater 63/.notdef]
->> endobj
-2495 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 1/dotaccent/fi/fl/fraction/hungarumlaut/Lslash/lslash/ogonek/ring 10/.notdef 11/breve/minus 13/.notdef 14/Zcaron/zcaron/caron/dotlessi/dotlessj/ff/ffi/ffl/notequal/infinity/lessequal/greaterequal/partialdiff/summation/product/pi/grave/quotesingle/space/exclam/quotedbl/numbersign/dollar/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/ques [...]
->> endobj
-714 0 obj <<
-/Length1 1642
-/Length2 13490
-/Length3 532
-/Length 14373     
-/Filter /FlateDecode
->>
-stream
-x��veT��-����
4�Kpwh���q
��݂��
�����{ �|߹3gֹw��̯�n�ս��]�����V7-����%�
 vpe�d��Pڛ�����U�J�� K�����ƋDK+�
0s�
��\�: K
-)���� -�$���hm�J���������O�_.�^����tZ;P���� �
��(�ˁ  ��
��
-PH~RՓW��`�UѢ�8 ��4��fZP(- . F
-+�3�
-
��%��\��p��P�Q�8,�� � ǿ 
-G��=����w
-�
������;pS 
, at n���n�� Gg��?�2U�����3�ѕ�OVU)���jc��Wn��l���l��WKch���f@
-W���_���@G��ן��
�����t��g,� k3gK�����n�}R����

A^G�������. �'ן��r[
����y+0'�?�n������� ��f��Of�`��%�
-�]��'%�Me��9��$��D�������x�����R˸�@*f��{��Ϣ1s���k(�(�Z6n�����ify�g����G�`��b��w���+'/�?�@�'�R�jaCae�sq۵
,� ����� ��4m�v)���`��
�������������M���Ꟊp��rP��L:�`�?�E%!�������Vn.

->
->
��Kֿy8�yV6suzRp�qppR�����?OF�B#�`��k�4\�
,�Lݿ��-ܜ�����"������� �`����
-�M��p���
��2���

-u,m�,*������4}�
ek����x������?ҋ��I\��R3~/�ܠ�����n\��q���rAi
F��C{�焚�q�+
�T�3��#c �{A ̓#��EZC
n'FV]��)]��������`�5��=b�8DZ!wT�� �
bQ}��ϱ�F.,/��
+}�)�z�tJ2T�D��DU��zr�(��0}�Bemʳ�4
cڧ�l��)�.�,�0*+��F>b�x]Pb:|OE]1b�ɱ̭a��Ky,UfL���3j��>u���t���gY���8ۻ�}
-q�@t˄0!���O�y3����DO�*@�KeZ�ǡ��K� 
hi&����z�Umo�R��:
���!+�6����C{������S%��*qx�:�_
 =p6���&,
��&�O�m�V6���&�$�a�����
S���U��c�N��6��T�>���8�Q�a
r����.��æ�F��L�tM:�'�=�{p���Y��MD�z���C�B!M�R������v� m���~�&/�C�O;c�3��&��˼%`W�r��t�|v*�$f��������/�;�"�����"����K(C�/��@E�!q�
��U��E#�+3��T�,���+_��W�9����x#}����vS��
~R����?�*E�.�|Q�(n
-S�So�(�;Y)L
�i�'�vY��I`��އ�5��c��BT��{���&��s�g���}��N
��-,)>�Æ/�.��|���`+$���V�UAWH <�	%7Y��^�&�C!9��r���XV@/��}=�I�4z��M4�4��u��с�<��|�����#�<������	���u�t\���o�&9uO�8���g�&K���@�1y��Fw�,�r
���>����G���b��[��D	dyb׍0��� ����H�sT��9M
��WR�k����RuI�νN>��-�?6���h�|i��Q��f�/k���KQA������5�fl�D��\�e���xO�G1TY�Z��O�K'`�v]h�$��w%�d�|\01!c��=s�N��DM�K
P���g�
��h�Qt�r�2<Tm�c�;�-Y��	��tɐ�w~q:Z���Mm���B�YV�:
&(�R`�	��X�(WQ�W�Q�B8��
2^ȶ�fU�-̪be*b)*y�9c�:�o^�ν!|�<�r�xY߿pQe
�lYƥz8J���'_�n�Ԡ,G�^�n��0@�<fJꗅzq��͠���� �W�
�
�

վ�C��0����c�;�&�[}ؗűX�AU����,�d+����4N.�Blp�,~�rJ
-L�yX�.[�&ul�
\c�R�#�p���y���G�s��o>A��r�N��rqdž�'P���J�'5D.Gu���Zj�����ٞ�������Ks�/�]����}{�&�q��8���+������wuS8wor8�߯�3��h�l�Ŏ��]{*�0)U��g
!��=����	��6�aP�����vK�p���\n@�C��i��E��,����o��
��[V�[�C�[�
�
�8=No��ռ?&v�Z�
2c
-l�C,f�
�a��&�5Є����G�>�yT���~B�ҡ���&k�D>?~�Ŭ!4X���L_:��~,���
e�,����j-�ku��P��4�fJ����X��Ɛ2:0��y�$�׃�7}�q�b�OF
����r��$c��<g�z�oɌG�����P�����1U(%�
�&j�
pa��s~=!�=I��b�
Z
���i$���um���
��{���ҵ2v���Cl��i�!TP�a�g at OX��kU����5�i?��Eo�$�~�Vktj�
9y��!ԗ��%�����½Qc���X-PcZ-��I��������3��{jx ���L�-���E�������
-&�_܍#7){��<��ɦ\�f̜_�,=���Ó����e����OZ������i��$��7-Tʇl
�Is�Բ>��5�o��>F1��m_�/g��N�0�H8����ϘE��-��p�`I����#j+��~�G��ή_���9���H���(���$gQ݊ѷY
.A� B���t	��n�CY8=fc'�O�
��g
�01>�l9����!��T3:�LO1ly�
-6�wh�F*�X|S~���C�rV��M��7o�{A�x��(�,�k�_�Z�?���f���m�%+(����[�|��l|���U��P��WIE�9�ye����6�d���s���>����-g��ܬ�2��׶K1�Rq
�#m	ܭMm�zG�>�y���:1#�3�O�)��D��t�/��U2�}����JeTs��de
�:��7g��$+F'R�5��k�메6
���,�u]��Z\���1�E���躦����"�
�@�:~`2
��ާ�m��f������B�s��t�Q���
�����RJx�\��FH/|i�2*�WjX�e祁����՗#��f���$C��H���ߓ[w���u��V�88�����m �ês��ڥ�)���W#Ԥ�
�G��J����Z�,�(�?�8��ZY��6�C(;_NӃ	.W��,��KKD3�g� ��Geܣ�0��9�
@w�S�h6��\�؋^V��+4n>kc��{�'�6���W�xSD��� ��
m܅�B��5�k��}[����
-G��X� *nb�pBg-+
Iů��z�Ԝƺ' Ǫ-�O��
3vx�
-;��I�)�����Gx�/#�5i]A�0Z�#L��Ҧ���k�)��F–�fb�t=�v����p���&
ǣ��4��s!��sBc�
��з�`>����~>6`��r�B��{̰9��^��2Lj2�n���!�^�� �����m���R��B�3Z���U�'��}�Gʋ�0>z�������G+�"��`��$�7�C�����
�Rx�ByN���U����8�����p&NDZ�%a�m��%��a	|�;��'��f�6�Eٔ�_��Ļ�)	"4u�{�� 
-�{�t�WÞvj�rJ˦U�{��S at G6G�q2^��;[�E�NC���P�QBk
����7��_��cz�:T��oh
���.7q��`�p�k�����%w�!ʨ-IF]{r�1��WU���_
<!�l	�\����Zv�H4��xp~�+x�ך4�U��yS.�	��eR�D�����My8������iC��UL���!t��n����|s
��X����ұ:�V�.�iqq0
͉6grT�?��+�xYC�{9/�.��f�u�ȅ(�%`i���y�

��?|N�]�=���{Q�N�Ɵ���}x{x�0P�;a�o.�V	�
{Y}\ �����9pZ
�x1��F�3�D��Z�-��+�2�F�H}Y��6������wN����2����pV�x:|��=h��)�n�
-\��qg�Z�I�
�=}�p�?�Z��Npt��9�*�{�W�@��[��MԺc!?�
|�h:���C?*
�����`�e9����־=lh���^#�� 
�>U^������&2��!8�-��#V� �H7^?���Zegsb�5<䫽$�z�q�:U�.�<,�-���v֔����ğ�w�M�x��5����E���t扱݉Ḿ�af�;����U>Ln��E�i~�ݲ$F�Cr��W
��
�r�ТF6
��y
������3�:�A�L%1��M]��;��
�>�b��mfL�q�	��0��9-bf�Y�-1�*�eΨ�|@Oމ�|Y��*�U�����'�͉1l���^$4�U��iy�OY=�

���<�̽�ȸ�I���N��k�$�G%
%.Z�[o�&H�k8�`Y'Tj���.�9>�z]w�t�t���x���
�Q(ud������j'�� �>�84r�3>�x�q�$9�(^2ђ�Ɲm�7�b0��=Y!��ׇ���V�
-k��"�~�P|2�W�P;�$�rڻ~LD��,�!c�;��
j�����Bߊ��e�/���c��C��t����
U�:<dz�ώ

9����8�u��H ��Q&aΝ��j-�k��e���U�+3����߀���=��(��]J
��n^����t@�^���x�1ϔ��xR�휬�nO��]�J��9N!�rY�5]e�/R���|м�i$nsÁe[@b�qY�S���������a�tVY9"i|��&l�*��1�D�>j�ٝ�
C�nf4e��_���B�Db�?R�Rq���G���(&JU����T�p�V�4Ik�T���
�����+�O
ƫ֪��T�{.rm��.D;۸~���R��p��l�A�Xھ�٪zsE#�Q�R
��E��
+
;�� �����C���)N�
�Fo[�<�ry
1��8O=�bg�4�գ<���m��@����+4�ɛQ�_
-�ʩٴ]��{��� 
�3BIX�[�*k�A�F����1l6P�[�
-b�QqR拤ɾ�)&Z��;�D�P�m�\֕A����H����0��2g��y���8�4�r�X��xA at 0�<�ɐ*W
��CQam+Z��'ݦ�*��3@�N������C�wb���H]
�jF
�Rt�;&}�C��\��"����|Cԅ��K�R6f��v���
��v�ʌ�x�����6�z�/[Hm��r��3��
�'�7vR7��;��
�P~���Ʌ^Ь�bX���j�=��Yl��8����	�%(z$c
�!������)�6���	+�R�{��ow����li�
u�n��c�S�DV�:�dT!��p�
�LP{z���}=�[��7t���P"��6v���
<7�5�~��A��"��\%J#�H�U{���D��x�c�X����_�Xv��t�/>�-�Wq�m6i
���+���@�ïb� �Q.
�#J���-^ɗY5�H]�ᘊs�C
�8
����)��rn�Y�p�ƙt��
�}G64)�ә���
�hY 3[�
.Q�7�+^c����K�#����KӬ�C'T�
��HB���INM�[�3Is�Eynad�w�����+`܁
-F=a�
$2��aj�-�����z�+���5+���G�[8���y��
�K�ɳ�M<J�H�ː��
6&֝M��g��ᨒ����q|�GY��j�#��"P
J�j�ul<}:K�œ.���G{Z���"�'�LOer������%������`a!A�z�p�/��`��$�K�y��X�oכN;'�	��*�όߔ�k��)c��ĩ� ��	���9I�dQ��A���jў
K�+��%~V�����㌬('���2�ɺ-|���; %<�m�ɓe
1,Č�o#�Oa����>P:Z���/T�ϵG!ӿ�Oٙ2������2��(d���bm���1���(w��د��>�
ޚx G�
7�f?�

-�����/K
np;�ǻ�
���+��v��2��|���=��,tˈN����P:]�L8(�=�Ur�ε�xo(G����J)G�
��.Th4�$�;P<\�0���+�gM'�q�Ј:���
6�CU�C�J,��7�4��ukT�f�~u	�������Uq�����Lc|�R�zS��D���K�
��L
)݆�[�
�ӻr��T���	��}��d�z$�m��J�o,�LkD��	���/Y�
��0]4c
Wh����x��
n�[=ƫ��6�b��78ڍ5�{W؜5���k���P�;L��
�f�ye�
hI
#�5g;Y�%��)������{�#���Jgەgڽ-��f��0߸�
-�t!ii3B�{�x��h�%
E���fO
(�U���P���?�I<�Gy^��y�m1P!^�K���{�A�
~n�[�_�{����q���f�v6
Y
��'Ӏ��K��t���4��
�۾���G�&������-��{�ϔ�x�AR{
�!1XF��d'6���p:�h֍����k@�f��PJ��!5A�Rm�[4��

5)�#�j��@pi뢍�ㆩ�
8��Aj,z0�s��^N���a��
��·cG�Ώ���k��xݱ��U��Y�\fE4�9H�,5�
��$=����g��v�/� ��۬���ٕ}�1o��
�J�;�%�<R�i�]��ݩi!c�r�G�C4B����xs �<�W�`M�c9�k��w1�~�A
=��%6f&oߴ�ĝ��|=e	
���%[���a%MD���/�0�_H>��*��X�қ��cN��.���i��=y�����M~������x��t�*c[3Z�jK����"?�)h��-
�Χ����}<����u<ö��iT�ڲ~w�1�����t��/һ]=>?{ے�y�2��d��V��
5���y~+�`�i�3�{��(���~���ݢ#zP��.�UQ[8a70
��MFeU� ?I痸j�RU����Pٶu�����_�SP�$��ۤ�N��y��SDqW�%$����=���'��iϐHv�
kQS��2�z2J��\��cs����c~V��;��n���݀�F*����3�1W�dL��NvC��
�s�N7;a
-�$��r�Վ�H���]�������}14���g�>f�T)2��:���6)
�C0�`>-:���[�KM���U�񉝟>
��ǎY�NщK��q<>d�j*�
�b�����%����ȯr���,�4#�Q�x�
?B��%���r���7���?�E�{<j-o~�YR��EF㡙1��Oe�
N�Ŏ#_�3�	�?�p��AA%!a���kY
� f� O*&�m<���'č��%k�5r�pձ
$�=Y,���{E�׈�-��'|�Q^/c�
%1j,�Pqe�K>tA���&���Â&�[|@LwVD:,��3�Էd9��~;J?�p���;����vWZ�7v��������'4��-�s:y*X�!ST}������M�����e#����'�|H�چ
d��m$
x�%N��E؏� �x��mc2l��X��>=i�e�fN���Z�E��
!K��g���-�!
|b�L/o����񀚙0�	1����/�Uߦ^���{�D���(����R���ꤥ�cD8�DQ���("��;�[͘�&�Z������&�-i�0cצv����Ē�D�|�a������U��H�eDF��q�/yݞ�[q���:K���!�d��G�Qƍ�}�gE<nłtg��
���i��`Dz8T?>���p�"ե�{��O$�
o%(���@��/8����	lbQ���Ize�%*	"���/�^�
-�3ew� #=��f����C��	���*Jڀ�G�Ʈ�A��s�$� z��B����s� 0�m��� ��@Ot
��
��s�Աt���I��6݄gd]� =ߵ�"��
���0�������	#rp��K��r`i�gzw�x��6f����9�G���X$fy
-F]Y+I�U������*�88�MB�!�)����RM8�oLA�g���x<Tʖ��ڭ�7\�����Z�RI�x��,GI���H�J�0��
lv��_�)X)e�*b�\0��Q�'9��d.Ž?�;{g�6���	�8���zB2[6����z�v!N�������v!�.���B�"i p�Wz��Z��X�&Rh���Ar|pn��7�PS�!�3����p^�q�M��C
�Ҁ���{��I�dY���w1�����
��m�{Ɠ3\
�&G
�2�'��NʌW�����<�9l��h0n�~��΋��ŏ��Wm_5{����Ft�k"â�t%sk�c[?�GL�a�W��F���*@�j���X�^*��g
l��s~~>��SG
X��(X�7d4� G��J����
��1���)�,b�k��E!��s].BW�ÌIŠ��T7C�	
��
p�
�
��/�� �AB�(5�/h]�
�Q��t;�A�F��|�S�`���
�fi
�\��H�8�7B�M�k��b�s츾�u�:�_��Tf�ruQ�{S)s�<X�i���s���0
-�JRf��aE 
�
l��Ǐ�,_���N��#�n���_'�:���"}x
�XY+�48Kr�vCahU�Lb��]��� ������A
��m�
- F�Dg+
t[��y5E

'��|2n7�>��<J
�� 
-H)
�>�;�j�f
*���9�'��`#�ɚ	��\
0#WE6`�V��C�C��+��~$[<�%���
B9�ک�@v,#�lAy�d��
-�
�Р�E�'�(Y �Ji�\����1s�龥
&F5�oYhx9��T�7��D9[���sߝ� �����ϱ����o��<!��'�����3?�������-Cfe�6mן#۠��l��sg��X�x;d�
�WNC>}���;[�!��b�߼�u)z뜜|�T��̵��(�4�|}�	ׂϳwr���wG
�ΐ���|jd�
�X�O�|֊[Y]l���J���K��j��pwX�
d�Ki7�}�Ū�!���6�\�x�V��:t���5;�}_����.o$��Y�����
:<��o��������v"�T�B�Hv��X9�p9�t�w����&��L�%�v�0J
L;�
���Dz4e��Ϯ�
���(���1��Ԫ<发��̬������6���=���E�Q�A�A(�@YTȑV�{���xv���V���	�k����pa�_޼��d��U=:�Ő��ō�?d�y{R���~����p���`��θ�ͿS�"�O�nx�cQ1�[����Ї���'��v�
��#0NgL\�ܭ��
N�x�˩*�_��+�B��MU4��L1���`���B�n��r]��1ޔ^0�{*�-����$�2ͣ��C-¨�����Ѽ�`�"��O�t�
���)�
�I��3��v�i�?	o
0\y>�P�[���BN�{Ծ�i
����I�Ε0
�>��{>�#��$3D��t� �>:���2����h
�����ё��$�9:�֦�~%=ⱺ������3S������w���-+4����|k�IM��
�}WHϟU.bQ
D�6IfJ�ԮJ+�ߟ��}Q0񠀖MNB�(fJj��
��V�+pC!�c�L�N�^q�8��䋥b�8U
w+:�"�ub�����t��
�<n���[����ٺL�����dۘ�z���.߯6O=�y]�%Ѥ{�R;
pv0_��ː8�ڊ(䥻&!�g����o¡*9q��L,3M�B�G
�(%��Q�MM 4Y1� 7�Wt��
Y�m��1��>QC�:�5'��z���}���:3���9��6D�`F�o�%�@�@�
Xb�s�
O7F7�z��
u�m���#�ʊ�NZ��+���0�,t?
+Y�- �o�_�_iz�[�6G�[mL�4G����#s��p
-R��
��q)ž�#te�>nv��#�ҳ�l����4Zo��W��
�5	��6�������g2Z+
}(H@;�4��ш ��mCܶ:*�� �Q��o�қ���qD,t6�aӁշ
zn	af�r8� :9��Sh�f�ߺ��ÏE�
�~�IW���t����T�����df:
�}��?��;ZŖ�ʌ?��-n����w��_'�0l)6�D�'-�t����Y���g��*��Ǘ��v�V��]�b�1���F��zp�Զ������D����._
-o2����W��哘����KH�4�KJ��q[
��Ҫt
8�Om�M�``��k0F�
oP}���a�MC2<fƶ�.0�g�J���e,r#V��Y��NT"�B�ѝ����n �MI�!A�Q�O���[�Qt�
��x�Q��7��;����Ў[���2B�%�z�i@_%4�X�I����s�lKB0]�ٻ{
�C�����4;2'bf� �ǎ������6m����i
v�S����f���B�_X�>1�z_
;�jF�ʧ5�&�_��*`B+��xM�|U��Z'��1#7�a��j	\�R���"�;��s
�����
��P��0}`�MG�֘&'_�#�غ��o��n�7v2_�-����S��#8iW�me�������9�/0�r��}���d2�Ɖ%��>��U�&�Eˤ���C�U\�2x�@VY�툒���D��]x*y*+��
�=o�M����<c�
���]k`v>�a+_
��Mt�~��8Q1#�.��CH B��,��Nz�>b�m�?�3@���	zangh�W/�\!A,Ç�hhJ�#ƶ���5$����s�g�R��'J>;��
-e��
f<�	e�iR����W)��%��|
1[;��#U�

�~ːK�wQQ��i9:�F��-�	���
-�'��wYRٳ������r�	y�
Lu:u���~D����>p�$������j��>�X��-��kE�Sff/�4
-o��o#��.%f[X���$:�|M�^\
!Ӌ���U8�/T"o>��4������~���d?m���+嵍��l��������r 
-��I
a���G=����q�K�L��x��
,���.S2�[r�ge��?Q/i��
4���s��:9j�p�
�e�!I�|h��G/w���Y&�p�ʩ�==ô�up���
�}�^� �ޚ��.��V��Kh.��(Y�e�d�:"R�+cܱ��v{w������D�T�@"�J ��
?����.U����el�ǏVs/|<a��~o�@)s��k�XBZ.Y��I�cVʂ��V�U�
���0k~�ū!r�����L���+�R��.���F��'��A
8x��q'�V��\d|�"jI,2���#>�큁���P7p�Ƹ~��?�8���T�c����]a��8>!ۑ�B�h���:��~⤟
����*�rؖ?m��xm�4w�C���XzO� 
G9N�Eˣ.�i��G]�"њ�)��R�4���%RG�*��ͷ�F����S�n�.�%����c���
�T����)��6��5K���Bb'u

-;�����8h��&ÂM��
�)�|��dl���|I
���Z�Ͷ�=�Q`@�Mf���
&t>p�M�Xo�/�<g��,�$C��ںA汮)6�>i*�_�P�_B��/��$
�|�
*�p�~�_y:�f���9G���� ���'��]�{�����RF�{>�5\�o�E7x2џ���m�%����4*��
���Z|ѱ��'� �x�WO�e���Tv���P�W�$��=[Vn�aS52L
��y�u ��w�
-]@�Ĭ����Q���.Ơ���H���`�uq������Ѭ�t!���F��^�`u���Z�u��<Pc
	
�1SQN��D�󵰒�Ů�2� �\���e�����F��w�yE:�"B
8�N3گ���Tڄ'*���vb�+Hi��V�{K���3���""���?e$ ���̈���a_ɠ���̋�v�F�\G��W8�mgu,�6��x��H^]�Ŵ��h�͍�Ɵk?��r��L��c`L����
4��x����&�i(�ͺOfo��FϜ-���+�0�}=7���%�m2Fl�nC{���>T�\!��ڊVW��c�֕h��n\5R�`|��
-/KT�m̏b���Z`<&�py�,�
��R\��>�{����ӛ��}k��}ȸf��e�7 C��W�
U�F�Wǣ齏� �6�
-u�֟��Nq�ƶw�=
��g�1����Z&a��~i���Ɓ���@vs
��q���:�i�>��Y���B��80<TjR�}�}Ce���9�TN�<�[:�$Zz�ï��jq6���"�N���iܫ:
i��?��搄��A��d�KBK�G�:�9�+͙�R���L����ѐ�C���hh%�q^�i��KS��e���F�w0!�O$_���Up.!�e���~:�f��`V�%��.^Ф��F���[��b�C�Ծ�ry���ms�7�թcX~0���W�����gZ�ؽo�'�1C at u齮���F���	0GCiǁ��Ъ�P���L�߸UrA����I��R�ʑw ���mmA붰9xZ
_���e˱�`�@�D�TON�'rvp:�� ��H���j����[��q6�ǵַ�m:+vZJt�_�Dtc1�ܣ�1�ֽ�f'
����X[╓I%����(t9�%�'%�&�6��a�|mi��9�*s���|�	El�
t�s�*EC�� ��p��X��?&�}5 [...]
-�D�8
�}T��u�ܯ�W/����
Ln7\yz��� ��
-r���
S
۪kp� ��0xf�Y�p���PY��+/o�WH����Vz�J�q(4�>n|Q���w�������闄^��4~C�墠
��]wN���B��1����r����P5 #
Z����$���}ۖ^O1�z�R
�B��+����2d�O<ƚ��F�8A��5�~�f��e�y�l}G�.�q�\jJc���Z��G��JH"�F��!~��]4�k��w
 ���^�4���X����(<�Hˤ��Q�����/�����+�sTl�
��h
4
������E�o�����?��!c�Q�l����Ж��� ��
�_w`qF���s�����z$po4ȍ[Z�5)�WX
k?�q�y�����C@�	V�{�R
-�D �������g�F����`�B]�])�c��n�g����!�� ,al	1<���Gm��(�{�R�XYQI�X6���>�&�޸��a��3�����w�ʑ�vD�&T��v~�����#�<P��7�Ko�O�ZQ�;=�����:צL�y�隷J󔰄�>|�i�x���/W���m>�p��_�k�7�}�1�*+Cx�ԪOX
�G
-��PI>���q��#���F	9Ā�~M[��?>�z ��I�*�=�q�������w
�����
׀�3Ǯ���`��a�8s�ڦ�#C��'�Vv�n��Ѿ'��4�_o�RY˗�CY�@*��J�x,�
-�t
C;�]�i5m	%�/�o��J<�<E�����Y��Oe����܁l
��ak��KO��mGKa�"	=��f��@Au�?�j�"���Ȑ��!���8��'d@�Of��V�`��X�}�
v��t*� GӸ�M�	�z�BS�����ۮ�i����

�_!.c��R�ҏ�_�`�謲�

L����
�
�&IĻ?/$uH�U{�OH�W�/<Q�� 8���l����y����
}��әI�r?��&(�nI�=u?W�Ǟ�1YLJ
X��x����|!���',@ 3gW����
��F��Dendstream
-endobj
-715 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2495 0 R
-/FirstChar 46
-/LastChar 121
-/Widths 2496 0 R
-/BaseFont /RYHZME+NimbusRomNo9L-MediItal
-/FontDescriptor 713 0 R
->> endobj
-713 0 obj <<
-/Ascent 688
-/CapHeight 688
-/Descent -209
-/FontName /RYHZME+NimbusRomNo9L-MediItal
-/ItalicAngle -15.3
-/StemV 120
-/XHeight 462
-/FontBBox [-200 -324 996 964]
-/Flags 4
-/CharSet (/period/colon/A/B/C/D/E/F/G/H/I/K/L/M/N/O/P/Q/R/S/T/U/V/X/Y/Z/underscore/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)
-/FontFile 714 0 R
->> endobj
-2496 0 obj
-[250 0 0 0 0 0 0 0 0 0 0 0 333 0 0 0 0 0 0 667 667 667 722 667 667 722 778 389 0 667 611 889 722 722 611 722 667 556 611 722 667 0 667 611 611 0 0 0 0 500 0 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
-382 0 obj <<
-/Length1 1630
-/Length2 7267
-/Length3 532
-/Length 8133      
-/Filter /FlateDecode
->>
-stream
-x��vuT���6
RJ#9�tw)!���0��03tw+-=*���� ��*
�
���sλ~���}�_�����YϽ�����}��^�¤��#g�)��
<��� -���'B���9zj�A��;@��E
�� à
-�
 I�1�
� �, y��/
���`7�3�������
����]$���}x� 07W���
�<�@ 0���1U�R�+k�AP���k� AP�� � - @�
��5�
�
`
@����0�������`�� F 
�P��=��P ���wwv؟���;�;�L��@ �`7�]V
����p������0�;O{��wK�;�;��
E <@>
�sف �`����.�
�
��
O���
-�p��-�
B �h�����m�� ��a��Y��8��
��z��vC��~�*����n����
��A�g��[{�
�9��i�<�R��g*���D�H��?"��Nܿk�����<��Z�Ѳu���.��-h ~�3[8��]��	���l]���wGc�_����aUۻM��:�	�# �����P���u�
@'��-�n���
�� 8
�i�g[�����8��.��"�����/�N�?��=3031��w7�O��I�0�u�+��&�����<Ϟ�| �<� 
A!1���0@\@ ��d�C#𯵦�
�0���� ܽ������o4�P �����{�B��ퟆ�0�������k��?c����_g`@��̜,�*�W=C
-�
m�=�n�5o
-C*`���1��67����#������n?��q���QB�Z_��
-��9�
IXQb\�a|V�DY;�	��SKXf��F�+C�zVE78�#(!8��9G�Wa��37� `ƇD���h�U��wXS����u���t�
b���B&�c���"b�qG�ʘ���r�aT�3�hOy%jK갧t�
A9
�9U���jhp$Ԍ
�U�,J����Wdu��L�ʡ�;����Ze���s&?���}�])�T,��'#���K{u��4���g�O�2�n�Z�e2��Bij�5�����&芬QX,��p��i�����Yj�SODu��"�I�vC�lc�ط�	
� R�H:��*��
-�g�-�ϸ)Jkf:{��Ul��8��a���}!u����uh'�O���ظ��XU�����a�+��� ��<Y����
�{šE<B�㤦����A�
02Y����g��0�b8mlu���
]������c�3�o�IM;�}�$?�Yai����
�
�ޛ!㖥ʖ�7q��d�����z\��-*���ws�� <��v\Xk|�y�
�q�=�Q�]"6Ƴ��˸


�p�A�Ƽ��_霥����H$���+�D�|�D�f���5�*Uqe;���"����jbƐ���o��`�s���i� F���	��G��6b�P_o���{��@�o��+���1��(�?!����M�63�fj-�
'
��H��'�MR�MK<g�P?��hM{ўls����I��>���f���DD��/
X�i��d�[��׷CPL�:�������ҕ�4����z�Q���(1�Qa���������O��^#����$��'idOR8
���Ь(��
-�NUV
_ؘ�����58b��5;�7j���ق�z1�~��q#��HV�.|���ɱ�C|��\o�#H�0��mVx
Y�^��6k���E���&����;s��QpI�O;QR�30�%/�2�P^�s_޸�
-�����U�= a#�\�Da��n�M�n<���Ja�(��c�Sl
M�{MI�G�����1��ZH���$u�Y���)��Z��䳿V��U
�_e���s�ܾ�T({��\6�+�LK碃4�=�`(n���eB�X��
����
��
i۲N|x�{&'�h���)x�_�>F����rO\�O=�
�}Ӥu�����m
gz9��Cߘ��S�
���K��x�oL��1w�qo6�}ɧ���:x�e��b I��]�ps>�X��
=9��5�%{:m�/|^�"S��8zZ�W4������ZNˤـ��<eP��5���!�aiw/���B�۫C
��&-��!j��o7��G\<j
����>��#\�O��DoB*D�,
�*~1��Y��*+��E�IDFς�N� ��)rhC�Z�c�?B��e��GXPw�|Vͨ�.o��MF6ߔ%���אV��-��0�^�i at T�.ϦW�™��ŶҁÛe����N�&,Q�+��L+z؃���6�ڕ*?~���|�]Oqi�.-|�d�@YE$�
QV���D�[���
-N: �O��N��1N�(�W�ε�=3��R�rO�H������e�5�P�2ܴ⇈מ��zU]!ej���]�'l#�b��pq诌�(��ȝ��"4�q������������l���v<�O"M+�ba��("	m=А���%,�
�B�1�Q$���&�&?\�Hq�`�&D�>ԕ���E~W4
-�l�R�xR}^����F�x~��:e<�;�
����d�ǣ�4��φk�l���UC�(j�:�s�X� $�	��>��I�
1�n�����m))�EC#O?�N�
� ˚ڪe�-c��^D2�bqe#q��
-[FD��䷓��^�=�V#�H���%�Q�}<�xRݼ �t�Q����Z��M�h!uf��C��al�Z��y4%X�Z��2X�q�e���
-�����K=��?L�'7P*��羦�ə�q��Mz�>�q5f�U��T���������#����z}5��Uo��kOT]2���߃�O�7���w��2V��%@*���J�����)g%'&/�hX&eB%8m$4��
��t�>{_P>�o���_2k3a½�
���GQ>�[��#��I`�4
RS��=��Ƿh��J:�o����
�Uē+�*�����1f���t(Y��Of�1�nQ��v��kM�%�s9���8F���On��P�0=9bOT=��
-M�5�hw��ο�V��Լ�=
����_d�w�>y��B�[
0�5`��
\�@�_�cdž�W�Q��٭�~����`j�%i��l�l1�
�=E*7y�ߛ2�`�lHX�.���Ho�K!�ٌ(���#�
У
����©�:� #��U�Y�2D�ִs�q�i9�5;
�Q��Y��yKX�P�{�ڎ�=
S�ᯗK2�K
����$9�?O�
���O��0/i
�[33Vޯ59�Ҙ��fQ�|������{�I��4��m���*�TB!!V�	
���=��:}�@T��}��Z�'c	�� mqh�|YC��ؖ���f�ՔhkN��r
-Ԥd#}��@�'j'"�u��j�8�RQi�4�6���>|F�w�S�����q<��kv��(�AL�a�o7�����K����W��R�G&!}}�a���p�?�
�W�	_(}��
#��V()מ/��6z�N�Ɲ�C��,�*����K�,�ɡ���\x/�1i���c�tMZ�b™?�
���#��S�*��C�$�߶}Ģ�d0G�����W��<jF�f�9��d���D�Z
~C�&7�
�Vl�\
J�;e�•!���G]����!S9ޯѤ���Z�緮|���kѣ`&ٞ�X��e~)�8zlAB3�G��oF�p�c������H�V���
gi�sXRϯ5��Z� x��Ӹ �Y�iC�Za�#ϗ�}�a8��67~	�\����4�K�Q�Y6��I�t��ߦ�}�_�zw4S*m�Ԃ���Ōk=���-����/��W�7|J���6*,���-N�^��v�����i�J�t�R(��0,w��.
5��]��=]�n�ƽR��K�p]?��L��rn�܀e�Y@#�Z��P�)^�*�R��p������� ���&�䥺��JEl�DbT{� y�
�))���z+�{� nMaW��+>Z�V�.��C�NJ�(sd�#�����F4=�tY�RW��RnLn
�ߏ��zj���
-&��ʀR��r='�WJwݍ�K
���}��q���^�����f��.k_s�(�Z�,�#<���]	
7�"C�]+)�/sx$��&ǰQQ���ڳy�����.����+X�Mn�d��2N~
--�#��
-�b��g�7/�4�:p��qg���2suy�
ff;�^�.��ֺpe��ׯ�>\��=��AD�4�yS�j��D>5�V�I?^�V��7k~
����7���#�,<�
��
���jV�;C�g���'�4�+�9������M�
�qG�Qkߘ�������N~(�8� �ȶ����G,:�Q��Q`�Jc���6�&�$5� �����Wܖ��]�~��v��Z��Ն@�p���w���|�*��6b�`�7����$mS	?n����@�
����53֪k"*��Y��������ʳbe�����6vp�qd2�h�u��w熊&.��a�U�8��y���v���n��L���4��@���������ţ;kL��	o���e�~LX>���2��7��|bCo��7w��
X?E�F��S���^�c��H��%�,B|nr����7EI$)A�x�Y�#�LV�����Ȋ����Ru�D�L�\
-��y����Ic�s�-���`~y�{���������
�X^
޽7M���T.�r�cu�o��O�
14C&����|$���s
�cl��p�2�0,�?���	q-BG��i��ܘ������d�Gf8���CmW$�<1��%p6��
�J��8
�>W����\÷�Z���e�M��3�ʓ�„='�&�sZ ���YK�թ"��s%zK �D\ONjv|
��� Rx�rƽcY�tPK��<���l�Y
���.~�����~�]��*d��J�h}�����0ۅ^Ae���%^
�����J Y/|���I�WKq�b�-�M
-�;<A�5pRé
̻:
2�VRp[��臄 ��nX��a�]��*�
���A]����	��"���
-�x�!Y�m��>�:�
�
ݨ2�[n�X{
͍��t
Ә��>1�&�;�]F*S��)+m���J��|Ђa�A���جVL6�]/������f5ܫh��t��t�@�5���o�d�5�'��s��-�Ú���m�8f^&�o����8!W	�8KKT	�Y|�޴-A�6�x.p�{�si4|�N8���S���@W���Q�N�SA���6�����c>�*|�+t=�/�)2g�䪡�͆���c�;a]f%rNx�6q>�q���@>ޱ������s�]^d���I�z��t.${�f�8{������Q��[r/�
\�ݟ���H�q-C��
*GyX�Dhr��;����Ǐk����ez�8x����*K��Y1�7Qꤾ�藳�ox�Hd��	1�C
�yE
�
�M��W7"�f�6\7c�f'kjY�sp
-��u�+
�??r���]���@j\������:o�/�-�T,a�}��J�!�Bgߵ������S>2U��e���X��2up?�sG�J/���<��
��(2"!=,Ƀ�ӧ��l���4MeKB	
46�~�/���F
Ԍ/A,P��$
B�.fS�r=b�e<�t�e��m�6�[!i7JR���'D���o��T����b�M�t1��ОV!��j�]Oc��~tO��
9��a�8�o'���Q�B�F%��В���JR��E7%�b��2�L���4�`�\Gf+�X��?y����ѳ�d��H',2!'�t(ž:����"4x
��Y51�Y|�#�$�I;���C,?�@��?� �&}�n`��P"���`ߩ��l���տ���`�Vw���Np��oxj�DT���[�=�V0Y�wCʈ
�8�
�5��_�Sz
�#�8�
�����m��|
���SH/
q�8��
-�I��O���Ӌa�|
�K�m�\9��w�]��Tp卫k�,��g��4E�9y�Iq5g�Wё�t4��4���
�,�X�?���<
~+_^�l�8�
-�T�Z$���t����Y�ERo��P
o/�d��Cg\��>;�y��D�
E,X����=N���O/���/��\C�-����|ޣ���YE[Z���"�
��IZ
'��[��r�h�;*e��#�l%�ҍ��*/:��LJ݆�l�D|������.-޴�yC��x�M�9e���/�Q  ���l�6����X��ų��t�'���"I�!&#~۳�ԒM5���C�Y�$�C0B�8�[�h ,ŜL��9�u���%)��j<%8�,%�^'�J��ʎΔ���rG3L��iҠ��ْ
~ʧ�ٜ���J,uQRU�xB�G��[zrB��
/g�Yo��E��n��ijx��H�84��W�<m�d=�	#����
Y�.���cFy3��W5�rwGn�m�Hu
-2��
��L6!�����A:�G�s�
)�
��#I�u8���;����*�zV�a?h}y�O�Vw�m)��3� �;�{i�J��vO�Y�U�7�
Mf��[���=l���=,�o]J��)�"��,׳ʶm�$`�t��傍�yg�	�{8��d���Z�*�,��NL����!-Ϣ���k����pߋ=�R!g��n���M(�?~� ϯ
���
-w)�4w�z��UF�Ol�m0��rb�TV�'��m��=���I
u7Mv�>�_�7�x�
�k`���%�uMy��i�'���<D��^
��
v�N7�h/�W@�h��Ne]��('v����
M'<�佰�6��r3���X/�g�"X}]n�_k̴-�A]L�zw�~:��t�m�i�����sn��)�1
-���s7n�x���s��~ ]4ޡ�v�n������G�=�;E�t�[�?� Μ��c�I�����AU�9�
�_��IB7�Z{��W�jZ+o�yh�s����k�O�Si�ֳ�e�t����5i�g��7>�G����?K�l2bc%qlcݝs��"�Y�r[ǎ9Ξ���ȑ?�x����6Х���ȑ:��C���z��
-Z�T>#��C�X
���|(��$��6�O�_ӵ��(k���4C#����g�
������IX�Cw�{��\��(�}3�•�n�N+��Za�Mc~/M<�xo-4��V?O��Nָ�����6\~���Mx�rw��>����W�|Lt�v>�p��֤�Ǥ��ߨG�x�O��ۀC���jO�ek�͌ҥ
Mk]��
t�����k�,t�}A��}�[����e��K�

-�#�
E���m5;��~f�V��@��:YY�
��a����
�UqLB_]V
󪊡_����Fs��=�����}�g���E �+��y5�m��3
j�"џg-�W�G;�����u�>)x�v��}%:�L:�7��K �'´��f|L��k��T���.W���nM���Y|ҍy��K��{���m��H���P2az9�W]�>.��>��_j���xsU�"o��Dގ0�����7�?���l�3�L���:/���)R��� �������M��R�vP����c�[����������'�	�3�+�8V{�J`Rz������ݷ��A�UxS6�Jj+��4���
-���
�'v�팞R6��A�J��C�d#S��z��$D���7�Pi�������:�=}�*Vjn�C�9�0�,{!�����Z�߻��?%�Ev�v�Z�/y�S>�T1�^�ju��%�X�QL$�ֺO�e�XQ�	f�'�V�Ub�� R�/�Ս��ѱ�y-v��s(-]�;�
(�:����	
�c4�<gXl��xH���5v2�,0���� �x?ӰdU���*�g�U&����a�+��^�*��:�͢6)3 n��6��[����\��(ט{3 �8֣d��Յ��=
�2b�w���Ƣ�Po$�
���Z\�eӬ������C�h�a�C�����X��<���y3U
-X�oH������/�Ŭ ���^M|�g-�Q
h�_FtP�l20v��_`.�}�������� ��6gt"��/�R�'đ��5�k�5vzZ5=�c�䘽ƔO�W��9�Gtt�lI�t[;�D��j�[K�S
-y.���E�E�tQ3ɷm$�*O�����	��  B@�p��-��� �z��endstream
-endobj
-383 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2495 0 R
-/FirstChar 39
-/LastChar 121
-/Widths 2497 0 R
-/BaseFont /ZBTZXU+NimbusMonL-ReguObli
-/FontDescriptor 381 0 R
->> endobj
-381 0 obj <<
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/FontName /ZBTZXU+NimbusMonL-ReguObli
-/ItalicAngle -12
-/StemV 43
-/XHeight 426
-/FontBBox [-61 -237 774 811]
-/Flags 4
-/CharSet (/quoteright/period/a/b/d/e/f/g/h/i/l/m/n/o/p/r/s/t/u/v/w/y)
-/FontFile 382 0 R
->> endobj
-2497 0 obj
-[600 0 0 0 0 0 0 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 600 0 600 600 600 600 600 600 0 0 600 600 600 600 600 0 600 600 600 600 600 600 0 600 ]
-endobj
-310 0 obj <<
-/Length1 1003
-/Length2 4417
-/Length3 532
-/Length 5092      
-/Filter /FlateDecode
->>
-stream
-x��Sw8\{��	��(#�E�щޣK�
c�1èѢE�AtI�B��NH�]���I�w�s�������ܽ�����k���>k���nd*��t�j"h!1a�������( &,*�J�ť����0$B
�������M���ܔ��)%N��!=|Q0g4����+IPq��`0��]��8
�"!0(�WP���_'� ��
u&
a4� u�!�E~Y�F8!�?hG�ǟ!o(�
g
-��m���tD"ྀ#ԉ\� ���y�߰�OqM

n v�%��Q�����J@�{`�P��t���L����M�ø�3���a�3

-��A��4aX��

q��p/�o
�p��	\�~[17��и#��Lnj�0����ߪ��c��0�;(�ŵW
�������G-
�C8�R� ������ 1 �p�b(gXD�D� ��NH���J�"
`�:���`����1��8�����D��(�_�
 �D@���qBPO
n�2�%��p��#1Q�ǿA\=�AI@��oW
�7��r�
�Y�7�;���D��qR޿�RU���p/�_
� 9i����	��p�B��Op��'v��
-�B!��H�|�kFcDi�F�p1?���D�����aI��}���su���YW�V�W�|NA^1-ƃ�;!�����W��d�5�,�g��.{���I��qtK
-���\i�U�o]�F��f��3�x
6��;�åe,5����%�Mh
y�FIF��Ф&;
r�${)0��l��
�姜��dH����I�,�ӛ�*m�G�P�^t�T+gΦ(`�x�̤O;,�JDu���ݑo�CQ��;�M-��g\�vsO�ܕ��R�3�D�[r�"����|H?�+l�M�Ϲ�@��.��c�gM�~�ɕ���]V�0����cs� �
J���,;���^�%�cWU�� C
-��.��\�܆�z��&�(���ʻ�U�}��l��>ƚ��~�7#h㢛�EA�M�U�6��|	IņI9���
-r��#(������+U$%TT�$��+���gqV�ܪ����?/1�*7p�nfS�ҙk5Ñ�<'�
>���s�"��q�fu8�RW(/J:^^=K�']� �� �u�8E��u?��y<��J�����j����Ѫ�<�*�Y�BK�H&}9d��^�x�C$^(zVԀ��mX��/�� �g�<=d��|9��fԼ�x�)��{ ];~ �!
#M�4p���t��?=�m/�ե���LQu�j��
-
�x_b!Q{��ۗ�miW�<�냷smj�&t
b�JEQL�[wO�su�D^�H����pt˱g5��
��ΩS�wT�S)ĉ9�rNx�>�<{B<��

�����f���Ej����/�ّ�c���S�49�0� f�k�J�=6��A�FE�
���k��lڳ�L���(��%-����"ژҥ	��NT�+�O���y#S���.�bv#�A3���G{7����Q��M�'Y}^L��R |S�W'zMOrO@�
�!h/�ڶ���h�ϣVp7&E�
��`����
-kڵ��:������
-����4$G��~]I8�u
IQ��ջ�)��>i��:���|��)~E�2$1~�G�G/�P���L����,��
�gzNd�&�!A���!�yAO�$^���K���E��JN�֏~`��n�^W
���Ҋ���,�����N�A��ރ<���*�${_6�5m=�N�[gH�
l�33�w�T]���d�ta�dtyc�f^�}%}�����H�$����U��
&3]=#5�fd�^��Ąc�~%2
-���W���$���^��E
�^|�2ޖ�8T��V:;E����$��G��\hnᶫ�ƛ��	��WVw8���s1�s�3Q���o_
??��0o�{��"}Rq�;�xVW���
��	 �_|m�\�||������u�[9s��	|&͹!k�͊ ��DzS�uȞtF�r��G@�(ve�;�C�>٨�~A�Lejl�|~���
erLH랓��>���p]&���sw�q���[�.���_��xf���
�>��[S�u�Yw�e@!B���c��,*'�
:WR�~
��d-{�t�Bк�}\���VDo��)u�x,�x����;�O�i�g,�m?6;m��9m�LS=�����9�L쐞"�1�<�0O[C��Ua���
��

�/���/j��K!n}U?��W�k{���DaPΡ� ;j6T�"S�d�tx�e�v]�u��hȉ�b���_
(���Z�ڋ<-hL
�_dJۤ����k�y7.�q��ט�4x4rUx?cl�H
}��&��E�'���������OG�I�7n�]����������`��[&�\P�~#A�[�M�+K�q�!t��6=��Й�ȩ���N��y�h0r:u/��
v�O$����J��ܖ��leC�����ؾ�_)]���x�eer�NY��5�H�D|����|eu��xM�w�+��j��,P���q�6�.<UVb醤L�{��Eb��or�O�� "�M)P8��.��hNo���}�݁�
X_[�Ka�l�g��Ɖ���f�%c������

�O�o��H�~�����L���d��a
DM1W�Tb`6�I~�r���-a7p�\ ��
���ů�Sȓ�t�;��9�-��4a/?�b����A
-��������V�u��K1�B��i���0F�OBdda����g���>x@��8ߞn����< �W]|�}g
���N�VA-�o�g/Q��խ�0�iݴ��j�za2�hC�Ě�����������^�
3H�scΉӾ��m�ܓ�va�Y���JO�y�3G�L���[���QÑ�R*������'�G�C�9f
-��X���:bN׮���Y�p�"�fo=3�^"�$������*79rkO+O��t/�=��'&� 
Y��75�T�E�s�

��;�J�ɺ�q�|�.�%I�g �j���
#��Ʌ���BX�u�X�ߔ�
���#�~S�B�-�uV(���?�ɼ�R@���K��!h���h�B��aQ�^�>�dY��
/����oH�/J�u~8WE���'��)�P�|X��o:�&Zna�	60��uˤ��f�G��٦`�Y�
1���^�
D���_[Up-nّ�֘R�f6΢��c~�?O�P{=O���OU�\�>��O#�)g<��k��H�3����S%�e	¦�pc��r}	U���ݧ�il.��,nm�%�ν�W
h{ur���ZNn䉎��/�U
-�@ܯ��r1�gi��u�I2�'�L��q�����+x���P�h��2Z��Q{��	5��r�n��}N	�ډL����
-��J�h�w��8��^��;�N���C
���������ŷΏӘ7v������־�G�X�z��{��� �Ϻ���|�'��(Z�[r��p��:�71l��8o��҄����m�X�Y_A�������	Q�RR�Qj��@"�KD�:j/PI��w��5Zgc(�@5l��G�3B��z��.�~�V���,�^9�H�sʟݕ���J�	�x��|[
0#`��a�U�1Rؽl<�Qª��$G��g~iN�����8Ul���l�`[1O@!����˭ʱ`����b:�c��Le������?j�/Ҩ�Y���s�Ip�e��p)�@�mu��5:�rX�
���`�v
IG3w�"�����w�X�1W�f�:����������$��D'C+���:ңRn�
-ތD�j2�
%�`P��Ƣ��(��x�ն��Ž+o��c���ы{K��'X�M*���Ԗ���R��]��%�Y������c<�Y�LWA�i���~��W��ե�U�
z�|>G=cq�Gx�*�
BQ}� I@
���}��,�_Q �
z-��������
����	{��T�H��JO�Ǥ��yh^�JM�~[
/�W�U�)a:r�Ѓ%��FkKZ������1��pQP�����fm�On��Bw�n]u�w�
-t{�]����+�u) �wVF#�;A��]$���>"Eb�9MO��.+�?
ou���n�5�[�����\m�����Dd͗��z��N9Yd²���x� �8/���xq��F�lq��X���{J��e�X�e���$�y�����R�9�@Z �T
G{5�fg��!m.�R-+-sMv�V9��<�����k����h^9�͌-3�O���EeAԝ�A��ju/b3��{β;�������*��>T���N�
4�ܭ�H��A[�*���y՘!��HzQ��û
-��D�A���!�Q�4$�$�\�i��&���ϵӟ�Q������IF����`��
�]$/�{3�w�𺩷
�������'�C���ߴHb��sU�. �d��G�P'G5���6b�_\� Hi����k
�z�Ҍ�S��ee���k�m�M��~I���$W
iGS
�������A���}\�%���
-��
��|$j���$qo��=��L��e�uN�5��h��m/L��PҐ�/ۡZ�^|#�.�ua
�a�̍���`/�tF���VO�
��
�~b�R
���R���h3�z�f���������=��I�����.�N:o��k�OO4�6^�ln��Ox�Pm�
kAg_�?6(��+H{��}�=R���
�2�2�J����|
�NSE(��X��V	kT2Fo�
�%x���O�{�<��8U�41�	��P
)��1�
�zȿ0l�%�k�OBZ�D ��y��"1�o���̸_o�-�e
6�����;ʳ�ڧ7���#�ŏ�&d!�A׻�D���"�*�5�����i.���
�P$��HVI���L�s��{���̗�,��iLJ����K�B�2)�����6���{�
&��>�=�ҧ?�'�\��-d��o���\��ȻzS)W[����.���{VaՏAi;��m4-�:Z�;J�w�
fЁȼ�x�pS��Z��r��"5f�M���rq��PE�����[�s�-���� E�MF�"6��O�Ŵ��A �ziO�0K���l����-<$ms��;��L��
�\�o��@�x�����	

-F���`��dAendstream
-endobj
-311 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2498 0 R
-/FirstChar 40
-/LastChar 118
-/Widths 2499 0 R
-/BaseFont /UQZEEV+CMR10
-/FontDescriptor 309 0 R
->> endobj
-309 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /UQZEEV+CMR10
-/ItalicAngle 0
-/StemV 69
-/XHeight 431
-/FontBBox [-251 -250 1009 969]
-/Flags 4
-/CharSet (/parenleft/parenright/plus/zero/one/equal/a/c/d/g/h/l/m/o/r/s/v)
-/FontFile 310 0 R
->> endobj
-2499 0 obj
-[389 389 0 778 0 0 0 0 500 500 0 0 0 0 0 0 0 0 0 0 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 444 556 0 0 500 556 0 0 0 278 833 0 500 0 0 392 394 0 0 528 ]
-endobj
-2498 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 40/parenleft/parenright 42/.notdef 43/plus 44/.notdef 48/zero/one 50/.notdef 61/equal 62/.notdef 97/a 98/.notdef 99/c/d 101/.notdef 103/g/h 105/.notdef 108/l/m 110/.notdef 111/o 112/.notdef 114/r/s 116/.notdef 118/v 119/.notdef]
->> endobj
-306 0 obj <<
-/Length1 1647
-/Length2 15172
-/Length3 532
-/Length 16055     
-/Filter /FlateDecode
->>
-stream
-x��ep\ݲ%(��K�����X*�bf��e133�333[�`1��{���x3�g����Q'�NX��WfFQ���3��;���
�]Y�X� JVvfn.jvJ�
-�j K7YWS[�_
'<%��3�����^�����$@@ ����� ����le��@���MKO��L f^�����bei�����up�ٻ����\�� V� �������4�FZI 
�9�-B����
-P���]@� 
g�� �����?��0��u�\
A@��n O ����lg����`��t6�w�{� +{����?	��[8�+!Gg��vu�T
\\]��V����QU$�����WS�b�X�U
,�Z�; ��)�_��0���V�. W���?��@ s+G[S�����9:[�+
7+{��̀�
�4u6�����������g����zSGG[�y;����`����`�ge���7���=<�?�"ko� `e������?t� �]�?=C�7	Ss{[/�9��Y���oH ��;����H�o������z�����
�/C�:��Z���V���o�{� �.S{��]P ��llM��,
+�����������_��A���`�W��C��[�e�������b+)+O����+�+�������K�ior����%�_��׉���4�Zm��a���*�����/o���YULULB���m�e��+\5�
A��I[���
��s��0�r�ٸY���q�e����/ ��<+��:[y�Y�XXX����ϓ����:���Gꮦ��[�
-�Qݜ��2��m���8�k@ O~u��b����Z��74!����
-9�X֤Q\��֡; =b����.����G������
��H�-uw*貀Џ���m����� �٨
)�L;��jAaJ��E�`wBUͨ�
�h�������{�7L�Gd`Z�w��`��E�gTIǏ���C��7н����(�ݡ����9��iV��a(*�����
�\#���M/{n� �)7�܁"�^9-j�W�7$A��,��}(F��5\6rU���=�
�&���/�N�ujy�p���� �e��\��n�мN�C{a�������)
-�^���^�)�CE`�q�N�[`�nD������v��0XL�&EHJ���Q�s�]�t)IQt�n�K��J�����o����r��.*

ZW�����aB��g���M �:' ��|�,��R�{#�Ќa�Bh�a����ENܹP%	
E
�O���t�U��i-�)A��[�Ч4�0�M;7
�NU�u����Ӝs�2�%�8���<t��y��B�q6L^��5�F����q�7q(��:�~�3�$>�5	��e���Z�/WQ�7�	f��
-�r9i__��X�z=��z��]jV�{���@�.�OeW2�E��ȹl��.����0#��r�b	�tȵ!��(3��-�v&ZDO��e�)�u͈đbb�&y[���4�{(n�s
SM��tP=6U���߷�u[8�Cx	��¿1j�
�#�1��_�]�-�~r�_�^�
܅���F����|��u�,6�"�
�d�M�9S��0�
�;4�Q�ͽB��|��I�7G��%
]�8U�pvY�G�R=�-s �ns����ä��:�Κ"����p7����� �CM����R�l��i��wz���(Si�O�U�w�l[��rs���t�1d ��R���^h�7<���5� 1

���h��~sQ�}�P��̻���b�
-l��Z�U�ڬY�Qa�
�����
������*R-���H%:$gy���k�V�n
-��v�!�e�]
-O'w�

���D�%GW�g&9j�V>�Pz�a��TŬ���(L��%
�r
E ^¨׍N��*��|��+'�ӈ��_`<�������_I�Y�c)�E�F)����Z�0�j��,TU���mu9r�Hђ"QZ;��a��}��+\Q�9������G;�
�5l�wr z�:5���"��J�Q�ac;$�;2
�kڧ�`^�����1)^#��t5MfRv:q5���g��
������a1�7�o/H�j!�z&<�pJ��(��1p���	(<�S��"�Vo+o&��v!�[3
q���3�{�^���h�5;|����7k�˷l��`�h5��+˥�����O��Cc���Xx�Ձ�5�ԅ�{�?F�X�C�Q���s�(W��@�aJ���`W at 5�M�„�b
fEJȖ�(��1��]B���>L6Knd
-d
��M��0L��j���h�t�5̬�6x:]U\F
�Jh�7o�F7fj�,�&�g ��d�z�����N$�z�i�"�Q�H(�j�s>Î��C�� j����u�g��9�����w�RMM-�̵k�-T
�>"�j[���]�t��-���^�
Ij�_ex�P�*omN��U�QR��e ѥ��7��_�{n
YQv�<��7�.	��@2R'��8
�!�
	��4[3�J���6_5��h�ʩ�*
-
��p��r�$��
y�E=�v9?��Ҽ �l�X'�?�n�ҁ3�=�3~����KK!�7 at 7ƹT��&���u o����@�y#9C�e%-�zNi�0��kQ½{�qb�DL��ׅ�eaE���+0��
-W�q�>g��
-�-LZ�*Nٽ'l�B�b�����
D�F���1<>br�;Wt�90t-Ux�tWm���(�F�M����U. ���.N���\K��Y�"�0��|�P���l����2�)�<��.r���DƎ�Ɋ����V 
'�Eq��_7�����+H�8�m��g'����鞱i<�&�������Xsf1���ꘀ֍*ՃϞ{j���='�h�.��őE!�FE�
bAa���$Щ���p�R�]�/���rT��c�moYw�s,�R���4R��н�G������PSC�|�Qh��nش1�����aޅI��lM��Y�t	�bU�D
t�1��)��:��i{�f֚�I�
-�}1ႃ��|��9Q�š[�Ԉ�G	|�B�m��p��k(���j���XW>���tȊ���m�_��Y�܄0��������0԰�{5
�7��s1����PR����GǦ
�<�È���Jj���P��QH�ְ˒�����+�%�vе\�Ɗ�}_����L>\)E�0��D�^��]�
_`�����P2�ʓo¯:�
�.�=-�~�� 9�������
�V^N�&~�
3�`�T}>��˨�'�[�8��A}�UYh�ౌu���\,s���"�y��
-�'}Hþ|�0gN��<G 
ڋ��T��v���?'a�	� ��F�>��0q�w�$�;�����4r�G���7���t�G�����=�rR�)g�a��Mm�a�٭�q
����7ۗ�k:��?}ljFZ�٣և�á<�gB�_�U)O�FZ�v�IM�z��'0�u*��~ڶ8�&�+�Uu_�lZ�K���f/C-�S�
�F��<���)�] pU����y��7�o;5;�u���>�l����Z���E�p1ض�q2�`
m��i7
sO6�KlS��N��Q�y�v�=,'Qۙ�HW�>l��zv��aF����̰pb��\#x7J�y^	�� c�?�Ǐѧhij�뮾1N� @�v�'m8�
-�B%aB
�!����
)֥��J���Je����V'���H��p���s>�ԋ;�R/�j�|�Q�5��
-��M�8�:(0æm�l+�]���\�1�r��7V���Q�ld��a
L��#ûJ�Y����\k���H<��
��\�H��U�]�
�Z��K\���I�E|�ʱ3�YNPyN��f
)��	z"��O�{Ao��yר&��BL��������f�F�
��#���1(���
�j�c������?��
��{��#M�xI�
�JC�>զѽ���[���b�*��St��W>�T���ۙ���5�o��ͮjy�F�'��v���Oʏ�iC�4�����%��	\q�x�E)9x���QXZ:R1K�E� �=�E�}�1�eW.'��M���8�s�p�Q�����k�;�Ne��'ƞ�E��/X�
��C_�0���CE
�I��T�ؓ)u ��ET�z��������N`=4��3CF�S\TQݫ�\~��W#�(D������IW����%��aA���RhU(���WI�4Q�?^Lx
��F&�������u��v�:P�:@�L��C�1Ͽ����Ah�rv�(��A|��i�O��s��-|y��
�VW �l�t�
[~��X�u�S�O[N�@�Rb�QLb�Z�*�;m[�d��j��;���FHG˿3��Ŷ�\XA��zA$>��kr_M>Nt�����m�e��̈ʻ'��\كb
u��}�s�V��pD���h�r&3�$�-��3�Is�Ơ4�
-w�{9�����	c�jp
�í#ctV�N�r?HW�ؠ������'
�_`i:�E2�rd:���ǚ���ǎl;.�y��Q��h0!__�a�;8���H�-̕�)�$J��z
���?���:��@	��|ۜaj	���j�
+<T�	g� �kQkh�W5>�6�C9Oe���#�
-�
�N�
`��;PG�
-�ܕ���ǒ�_s��{
?��g�;��`?��:���al�X3
�!�,�K8��/
���H�H���̼����
+X
�~
��
�9��3��[�؊�c�KRq����,����'=
-KDmˆw')�wA��N��
��0�0[�Š�8�����E_l�)��p�
���
��p�C�>tgo,($�6c��,pmq��%t�#=�:���`�<�B
W/C?����~��E�?�$
̲ꍇt�c�ŜG� �4u�u~���y]c��BD\ZG�]=
.(s2`�8/���y?�O�dn^��up���
�s�^ω��3X��lt����D4ۣd�_ùL��&l!|��mZ�sX��/Mn���*�K
�<��X?E�b���
��r���a�{�
��t'���M ����Ǵ!~�n
��#<`�_0h��U:���\�!$����&9?��oM�yR��Pرf�����]
-��]���LҐ�ؔ�~���U%Wc��;��d`؂�;'̋��L��&��X���v��e���OTF1�1����*f`KK�
еv�_�ba[�h#��e�ҳ�=kԔ8�q�Sj؆�P)Ԥar��矉0̣�:�lCy,�_�tS�0Qm�(�n9A%
or
��	ȓ�M���X��g]ruc

��U��đLV�R���6ۇ��lƵRaQu�0"�d�;���wnv�5�1�T��*p<�-�Q-��$sSז3���.��
I�9���-
���#�ߛ��~�D�to���H�O���-�5��
<D��Y��5e��)
-��(3q

���r�e[��S� �0��>��DiQ�����A�]>��d �T�k[��~D�es/#i	*w�dk�%��9Fq��nk8�\-��u�ap�{k���C�hV+~��>��^X��A(�A"^<.�9� �
�l��oo�t_�
c#��br�v�E�r�m��5����1?b�
�b5.�Hi��?aD�AkS�NX	k���NdEsq�P�%���d�?[JҪ�Q"jq��<�V�߳���([�u��'�!d�o���8��߮����yW��y(ʢ�{d�͋Wl���6��JsZ��_�~�0�0���
�{�݄
,��y�MJWʯ��;)�
h�X��
f�O���:k0�+O?��s8�׆aB
��q@�&���P�[�Z�ą�3��5����j��+�Wo
�>Dg�QJ�6�pc	�

>P3��4����C�r�?s
��N�V�l��2R��E"I5i#C���g�M~�\tp^��5�# �����������r�q�(��ڦ�Z
NX
�>D%ht�&)Y_��A��C͜AH�TLjB�ȟG8�

-3��Dp�3�y�RGf�i+.}̴s����� ֍%�wLdK
��*xNs�U�z���.��*����s*V#�	`[!�����?T��l� &&�Cb�x^O�ȨI��NH��DLTZ�L;d�U!o�(%����M;�Q���]�p:�M
-��8�
;�LZ6�s?� w[���Zls-���D�;��cKkE/I&����#�j�u�3}�q�����
<gT]�h�X.��ɋd);[�x\St	��4D��	-II�2mA$���	V����W#Jܼ�w�_��9�%��
K;�((�yZ��u ��
�/��-��ځ�pK
NCz�Œ�AV6Z2�"����ʯ������2��ϰ�����q�ѱ��G�@,�i���B
;n=��ʼn�5n_TK�������
}j�Mx�e�n���7
��|:? 0�9:q���%9�v�΂ӟ����+��|��ak�D����"D7d���F�;�?M�
3|��AiA����
��S.[��� �s}�H�
��r���%㱲~��T�݂�1e�3�&��H�1��i�
f>�p�@�Rl������^��y��`�l���sB����� �o��^��X���E%mސ�g�B!)�=yF�֝`�W_�fp � *���l���S��gޝk�^����f���
��
��;�Ĉۜ�lQ�?�L`u�[[��C�ot�=��`��T�l�.���-H�z��a#������e�����f�{���>Qg��vE����cc�8�B_�X���F*�f���|�&�Jx�
Er?���︋66
��-
-
�=Auq璯ԑ��
T�ȁخ��&)N�<7�

я�#��Ӻ�.��P:݁���}�wX�
����I�+�?j�:QM��ʐ��e⻧F a@|
�Ti
�)��:n���
���DLXN�z���_wE�c�-v��
-'���{8boN��^K8g�?��'<|�R�=����l_���g���Ű,S��jKg>P1�(����0��j���07¶��V�3M7H�)M߃�p,�
-I'O5�l�\�^v�;|�0�?޸"��|�ʑ�@j�aO8�f�0��
˫Xn�䑉w�~p�_s|	
W���
�-0�J~@�� �a���]�@0�feqE#*��U�>�� G��*�u�ޙ,�$}}��0�y�$��h��)V��Z�k��w��P�Xj��u�F�u\��5f��워�8َ���ۙ��᛬N[�ǯ�H.��g��X�ܨM����q��)!�/#{���x�e�
-�w;��N��q���/ef�O
-j��
q�^�<��_�1�eV�Q��6I
 )���g�22����\t�;� ɚ2�'z���܋\��)�Eh�Q�
"�nbDѠWѮk5��:#}��G�x1�taYa�Dm)-����_ʚ^�-�	}�O\�����;�QA]��[AK�ԱD����X���y 
-�=jP�M�^��gEM�a��l1ǧu灧�4٢��(���*��q���8X��j

4�؅*�{�@1x$cL�b�"�Q��{�
7e\�nb�BD[B���T<�'�jJ�0�負�����L����Ҩ�v�I��8(���>v[F�]��m"s<b��3L ZP��G�����@۲�[��=-u��iѶZf��o��Z�
-'�T��#<��S�U3�T�5��P�6��P�1
lYˬ6��@ 7�!���k�8�����H�Pe-�XaŒz0j�m�����UL]����V�Ȣ,�� �	��t�V�^�o�
�������1�������[�#�s�^?5���C�E#����{3V`�e�A��h�B!��F�W�*�@R&R,�FRH��GVts��KVz)?X���p,�
r�Om�1������1����-dh �:�00��u^��@-+�d̢:\��SH2Vx�+
��#�qz���S�b���>g"د/r�D�M�����k�]�()��3��0e��L��P���V���������|)�d��I�BI%L�
�h�
-���'m��T��t��W+&
-��R"�3+FԅPN�Oa�ݴV�d��و��:W��>�V at n���1I.�QK�9Nf^(��.��v��ӝJj�=�d��
rV����C7!���k�
��'��5�k_ ��w)!9�
�#-�6
YUƭ �+�>z��lDrX�):�wY�TO�W}�1Xa8
�=�I?��䥗��-��>.��\sځ����&�ߐ��_��d���\��$�a$�m��aJ&2���
�W�ӹ
�㫛�㰅N#jƃ�z�oՌ�$�I��#y�O�.��6p~R8�/���e�a�>i\�����|�d����"D�
"�U�0J�w�،�̀���|s�0�n/cr�M^*ȓ7f\5\������m_~6O����w<�X�b
oDbG�V��_
�+�\ 
|C�h�4.Q��f�K�
-��hw��ʬ���b۠hAwXkJ�
��f�,S8	�Wf�L�~�d� �Eu�y>9��3��Gm^�٨E�
�C;��,]� /8�'�]^�{͓u��4�㻇EDz�&+w�7_c�4��
8K	�@a�-�<�
|[
*$a���s�p�gZbl��
�vf�KM��Ce���~z�m��5tD�kZ����T��e�g7nn����g�SΨ�"��(��;���)A��$��ߝV��\#f~
v�iҤ�ҚO��"'���˯���xU�NT-��
�F*��l�d2w�\��ZXaA�^�V��*Ayb��B��2���m��
��1�u*m���փC$g�������؋�p�;}�C���i�B
̰fY�h��
�o`��Λ���.̚HI�Y
�G�Ǹ
��{ZjK��
�6�C3��S�������6*=���&av��M��.� �z
����z&�Y�V��
���'��������'!R�33�
b:���M�\���6��_Y�濘�oꂃ�ޗ㗿=��#�7�*�Y~�_�yn�>>��2P��Oc<�>�q�KK��҈Hm�)v!w�tnPe���B��̗�Q;�g�/M���)�'
-�����
-O�{�u����Q���r
��n�r��_KQ��R���� �sCG�W���
�S-T at N9�E�J:�|'��U
϶Ϸ��e�<?`"Y��5ϴq
����=�p�HD1��}{4�,:�8�;Z�>K����Ӕw
}]b����J�W9��o��@�M�1ʊR'9�9� �Y}�~
-�\mXl�Y]��Ђ��)O9F�����
��\�}ڋ����fki���	�W�o^k�,G][���U��s��0�P,.;�����B.�'O&��k�\��
��~W�^�u/�"�v�Κ0h����4`����Lv�
Έ�����O��Y,
�5������eP]Ej�]m\�܁�e��fn㉉�N���SE�M5�%�ȗ�ٔ/�এa����[W�z��p����X.��R�fs�^K�K���vG�E�͘�0)�
�"�>�	�K�0
�7a+'dI�^!P&Y�
���$�ڲ%H��dƒ�,�`
�C���/~&�S��:1�ٺ
������#w�7��ɩ)t�v�H��9k�bf�b��1H�`>Izd�����
-C�P�N�z�t�"��(@'��Ʊ�7!i��֥(���XW�N�����k��x3��~���ǀ��@Ym����y7Y�©�;%��WM�ڭb���kM�KUD��Xc^�n�c!�d��7��ɵ'}&8�:; �Э:�k)��"Vw��9ߪ�{F��
3�꟡m�Y_t�P	 �@'�����i�V�5�}��N������x����A�X7@���.�EYGk��R��z�=~�1-���o��������&�,<���J ��{x�( u
�iP�.��$�&�
�b�N�9�He���y�
���r�qO:
A�������%�
��b���K8n��	��H�B�8j�"�+�rQWd�9�����Bq�v��7	T�_U�&
���Q��B��������Z�n�XO
"rq3F�R�va��Ϧ.��E��nO�����DО
&w��u+Wr�6�U�}��
-���*�D�g�ʟ����	�#p���,���	2g�`��.�
�j7��Ԋ��R@
=��
-��5��h�`�P3�8�����a��t
� �4�j)�
�����b�X���
e�-�+��'+�Մ�
��%�b$���Xy��fIkU��c*+�(���P�\~ ��my�A�I)'G���˞�Ke:��b�I�K�T6
��G���0�
�g�Sw#A
j��u�D라����hOJa�� ��,2�	aA��Bj)��D �&6��꼭�
;��W�������:
>�M�mEGۚp_I"_�"v��~�e�Қ���N��
��_�&�7c�������{��m>�������
�ó�ey|3�‡�V)�W���"Ӡ��^w��
Q��f���R�L�C�����Cg�4Bo"�X��l˙�O�
o;ћ�E���aڢl|����S;HMR��N�YFDB�����9&xi��S�l���H$
-8p�5�
iHp��NS�dF%�uF�"�a:��%������My8��b]�}W�A4�2�
Ҕ�to�ˏRK����x\��:��W,l
*^fɴ�����XG"g�0��~���1�~��z
L�8e�-+y�D:N��
�v�$g@\Q��W{���9��,/���)mX1���ÀJiPoB��!�u�M����N�,�	�џ��:Y�`c,VG��t��U�v�@ҥ�}�ŀ����%�VL�Oc�z𚜲)�͑ �v�#F�5���G_j؍�;?���u���=3�}f�-' M�X�
�*�$��
7�[�a¸��	9&��?�l�&���M�>k5`�nvEs��P����,'�T�Ҹq��.��x�K���f
~�nI�J,(6��
� ���Z��1����ww����,Hm�Db@:&�5������z�{�Џ7�s�_�'�J��`\��sZJ�!5��C��
�'|
�6d�B~I��Ǔ�
��"����F
wj�
�m;~�$����~������x��Nu�k [...]
-��9Ԡ��A:�\'�Ώ3��pV��
ǙK����_pO���BߚO"v�e�L� 
ދv��~7q����2��s�y<R�R
RuVmr��-;2kwv��z��H�<v���͢f�����}���
YgFY�˖��}���iu;��$�Ը�[
rE��%��|rM�A�hIt�C'x�F�N
m]Ot�F��I�RK\/��v�%q1�.��:��
�D��
�Q�3�@P��
\�k��� ��\�WX9\�A�7/�T�O�Ifek�	-�����T{�l_��y ʲ[�e�^��;C������C���d�m�6%�7Ķ�cZ/x�roܾ�ŧs����<�h��n��E�"�o��~q[�C�
-�
-_9�
u(y8��G
7��-k������������&�0���;����~�b�ٝ3�ʲ�X1E��
^v
Ӟ�
��
c��>$vn����
�c�t�WB�����A�'�f�{R�?�xһw]ow�����Z���Ms��dx//����k�bM
X0�
<7o�����[u
�.��=�
-��q
;x��öO�_�w�t]�]7���&~x(�<��I���y�u_��ζ[f�u�r��/�ו	����!J ȴ��逅�iĞ��
�V�!1�g�Q.�SݓN����bݖKZb����b\�K��7x.u �w:�+�
�����
瓵Q���L��nt��!m��!����%li8h�5$��09�@������C+"r�R���=��h�����s���!
����p
ۇ�� rg��4��,)3�y�{�B�Քm���`�]D3�/����]0�ok��T���	��{��N6ފk�8!=��uM��+�9 ��U��
�.�)�Ut� Q6��~����>���d���
-��h����[�nx�OC��uL�)�iWp�!�����T�g[��k�$�
⺹�&���)
=0psޓ):�,0o�<ů�Kv
��( 1-3�̑���Ѧ���[Z�<�L3
-�:)��M��9_S��
���&�z�9�K

-�tv�˭�1~�P[b�"�Pb�|�J;�'�Z���<
��
��H\u�R��k�.xMZ�hJ��S�bG�ƛ�'6LWfx�g'�SPxd7�s@�"[F�E9�x^.רe���\}�VL
��^4�x��o�b�S����5�t��A:)�pm�]���YSW�}XЄI�U���N�p�<i]�>n
���۞��eTN|ә<�1�ѧ�5]6�R��n�>�'�n�6�N˳�i��4�IXK�Ԝ�O�|
���(�jG
��t�߲���Q�Þ�/&�Ӫ�?S�h�T
���}T&�M�d�	p�P~�
�J3�-��tw�����)k���M4Z�\t���������`��y��Y9ϕ���
d�%��	͔�r7�T��=<L�ON!ڂ����

1*�A?A����2��"�̊����ܻ�t�!]� 	u������͈ѓk�pR�_}@� ��e���c���)&�����F� 9��Y�+*��ؕV�0�Y���^�]�W8�P��
-1�\�}$0�F�ѷ��H^w���R(qm��P��TP���L|Nk}�
�
��
��]$��-1�Ѳ�
A�l!�
��v�M�i*Fb[�f������
��c�3A�V�~�ї��Hni��
:4<D�,3-fnj�b.�ȢO���gAX�E�hRY���Q
��a�ˌ��O�2�c򹁦��Q�7-���L��mg�o�3�8l�w?��
�jN��
-
���ho
AhO�T�o"�_0�e
�jr��~��BD�5�rbuے�%U��,���v�
�x��M���aFZ�~�ό���P,�S[]c�o�ə�EX��Cm�����N�7;�Nj��a �a��$�ޏ��6Bkı �u$���|��
+�ZsH�mŠ TqF(H1�V
-Y�nm N`6
&vr�%
��g��nb��<�ʻ'
����
�?�
����մ��<���
��|%��=�Y�{�bp}��)���h\5%�x�Ȝ��
�c]�Ǎ�:J���o�	���3�y��M�q�8s`����X�$�X�;�D_~�!����-�.�ɚp�0
x�>��v!N��D��hVwyO��hE���" � kN���6�
у�+t�{� �
.��sX
	\�e�eFdzMGG�
B��B�����
�k�E��>�~��]�D_�t�sE
A
���d�Y�����
��0"V,�	-�bH����3��/�$R��F%��N��pb|[�C9��\ӱ��4�/ߢQ!�kai<	
n�V��ĵ^��?t
B�X�
-H��
ׄ�x�U��
��
�j�$���(8Uow��΀�8�\�೗pcCԩZ��~@�AU妽��U+�2ɡ��X
BG�4�v��2�I
bP
-�#h��
��2��
\o��
�K�>��|W������N5`ieٔA� �JM#Fe��ѧ
-��dǥT*A]�j�3U�-���y�C�C��v�>>����?	���!I�
��~#�T+��LI3�1�9Y����
-52߄ف7��'{������Mg<�S�1��i���O�G ���
˷ cS�Moq���v�1_��̇��t�k
�4�8����u�b�tOwt^�’���F���'mlsr�93����[L��y@�"�i�S��ۘ�q�Vyq���KH=,��xF�nVЏ��0���rf�H÷�P�b$Ò�-Hb��
����+�n/�nZ�j���җ*�KC�
�.�xaggW����n�}�8��1:ŭǽ�n�@�]�Lↈh�_񓦺��S�`�@�����
�~'��P�n�~];"�<�����Z2M�i�ND�df�
Ӡ���3
��zaO�R
��G^ꒉ�+�.��@	��q~����ڏ
���Π<�2���;��~,�7�)�����(�V
m�9kV�o~f"u#
D��
�N���+�B6�(�V��3.b��4��:�@9��/�mDb�c;o
'�
Y^��8I�p ~��[��T?����e�2ë���,ُ�C��-�U���
�V�(�W�T��S5��4
ήoprLyB�F�����K
����9�ȟQ1�Q��jZ?
V#�k���r��2��j�e�T����J"�}�V}
�,�>v޵@�
u�MZ(0�O��ԡ��h��'S>>�5�k�$)����DQ����eb�B_�0z8i4ɲ�?�Bk�����.��=���X��o���`���V/��l��
wH0xU���YH�T滉�!!�z�ߴ/�%�C�8�[V�t1���"\BU���"�ς�ɾ������C�����p�?I�D��8�	�QZI�6c4����,���K��+���+��5
�$��p�o��(ƅ �Ht��(�8W�B�
�Ü��xMp�0��To�M԰���:�#l�ZJa�zhN9�S���Ng�$cU4W
.� �_����� �]Qc�L�%�b���
�{�d2�	���/K���8�����}�Et�a������>�b�`!��΢C8�i)��4TLVw*RѦ	�O?'�/т���KՐB���6�mxkQ�<��q��>-t��54�s��m"8��U��h�JafD0�;*�!�����`���܁���,�ad�jtO�jo�n�g��-�Js��xOI��4��!K�Vw�b,�?0�}!����rK�{Εl]$�J�gF�~��b=_�^��shO���.]�����
���"��}h
K��7�
��wDh^���?��
ןx�`-Kq��Z�J�$�~�P��头�o�
������0CB`�_�g*�$��
-+R���pZx�=A��y={"y(�o��1񈰔�\y�њ&3辰�M�
��
r�z�!Y������9=��p���x��t������jgz�a�yc�v�aŤ5X����p��	s
��J�S�&��~~̻��"(�!]��ԁ���b�B��R��9��ݝ���5
�Yy�'˔���ع��>j��cw)�=$=�Y�Id���ϬU4���p{(d>֞��i�[=˂#��؎��:h �Zg3�o�[J��
h��2�U�t^�ޥ{�S�XZ�t�=�WN.*`���ݮaX��̟�&,M��ُq#i�R�;P_��W�<<ZՈ:�d�oQ��֕UG��G6ױ���>�ؤmSR���@b�2׃ة=|Q?��̈�d���1v�n]5M
7��6��Nxd1�teZ���~����D�T{&����
ƃ��ݶȲ��,�&��)!�6�[y�r�	ތ��
 �Al[7#*��2�9Y�j�4
\���
->z�|v���w��:���ۊWg�⒦UσPq��5�
`�y��9�q�Y�
-߂��v�9����~�4�*^�N���WpCM�
�R��F�_


�¥7Sfg�� �m�Ր��v�?���o�LA1>s��^
�,s��͞����H�B��_5��r���냖�b�)�0]�Zg�?IֲV�M-��T�_GD��	P����ch�fw
��\4���f��:;j��T�HjH��V
��ϫ�;
Q�d�FE=���\��m��g�x<ޛ�r������f�@��~�^�UĮ�cG(�,���L����]���Z	:�T�K�c8[�F�C�䎾��}�/$A������"n�a�"z`�U8�v8�j=�G� }�
�\��ÿ$�Ukв`'�hN#Ѡ)QX���^�R��]Qխ�B�$yA~@��
�ZPb�M at O/�w��6�+H�|�9q�y�֣O]��_�� "@��"|�^��$��4'e��
�aآp���:q�����+WSx�j�!�]�Qc͋H�[w
���'�hb=̕T�`T��Œ�[?O�������q�f4'�����+8�l����'�?R��_���l ���(
��_���!�Ě��������Q�v�Rp�H��{{��U�W�䲝�� 2�*1�kځܞ#���H�����>>��c�?|����O  mA�ήv��6������endstream
-endobj
-307 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2495 0 R
-/FirstChar 2
-/LastChar 122
-/Widths 2500 0 R
-/BaseFont /QBQBDA+NimbusRomNo9L-ReguItal
-/FontDescriptor 305 0 R
->> endobj
-305 0 obj <<
-/Ascent 669
-/CapHeight 669
-/Descent -193
-/FontName /QBQBDA+NimbusRomNo9L-ReguItal
-/ItalicAngle -15.5
-/StemV 78
-/XHeight 441
-/FontBBox [-169 -270 1010 924]
-/Flags 4
-/CharSet (/fi/fl/quoteright/parenleft/parenright/plus/comma/hyphen/period/slash/zero/three/seven/nine/colon/semicolon/A/B/C/D/E/F/H/I/J/K/L/M/N/O/P/R/S/T/U/V/Z/underscore/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)
-/FontFile 306 0 R
->> endobj
-2500 0 obj
-[500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 333 333 333 0 675 250 333 250 278 500 0 0 500 0 0 0 500 0 500 333 333 0 0 0 0 0 611 611 667 722 611 611 0 722 333 444 667 556 833 667 722 611 0 611 500 556 722 611 0 0 0 556 0 0 0 0 500 0 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
-264 0 obj <<
-/Length1 925
-/Length2 2998
-/Length3 532
-/Length 3642      
-/Filter /FlateDecode
->>
-stream
-x��Vy<��ږ�e�5����Hcfh�D�f�2���g�̢1d_"�~����%YRQ	�lI�"[Fd/�g��T��v�Ο��������{���������GY��
nL�{�ft�RC�&�%
-	p�H$DYل�d:��	�(

M�ʟ�k H-]��.Z
�
��}�d/o& 3Q���SA���<��rj���N �� 5��B�~���@?� � (@$��'�E�A?4Y�Ht@�W����7 2�8� �O�* G$�N�D�A
�s��
-���,n�O�
�S���Կ�x*���
:�ן	2 
�2h���_�0 ��O���d�)d�1͋p�~5��_q��9$ڐ�o�����?� ����?u �
�
w�T��h�6x2��
�����sLb�g���$r޿O�43��D2�
PGkx�,��@��@ 
�(F���L���L@�3 ?�_@pz�|�q�_��o��~�H A��~��׏u��w�3r�7����PH��/P@PC�Sڿ�� �w]�:�
�	����!p
u ��昀ܯ
h��a�+���`�4�����oL"s�
�� ���bN\y[n��Z̧�'�V���̃4=���z�
��,(�U��	�-�ԩ÷Dz ��8�)�
q�[�IP\%'�~�
a�ō�����BԬs�Y
-#��3=J��O��Z���r�S�y��w�͇�D�`�_%*��B\�?�N
���^�L������.�b�,h}_�O�`�΅���4��ې*���7T���񚎕��VY���4�K�@1�Ѱ��0fz��;�a�4�6��a�8�cK2�9��"��y>tXZ��jH�;;Rj{Zԧ�U��2ʷ"E�΃���uW<�����o�53�E.�;�8U�0�	�f$��=�I�	�}�3����G~�
ϩo
�V-c G��H��8%�:d\�M���s\�^e�E�@.
�g4����/�j.d����8�x�}�����6�X�Y^צJ3��]�[���%
�d�v��`�V][`Ҥwu�(z�-wKW3���hK걦��M�p��h��I���i���K<�Z�K�7���s��
��^�Ut�(�4��-�X�tœ
Z�`\�H��H��G,�Uy����d�)�d����p:𤦞Ơ��a��?9��s�Zo3,����13�~��9w�.�`����485|#f��ܟ_Ĵ�ٙE�\���r��3
]}C�_����n���ڡe#[��	��8���4��L�ʥ��+�G^
�{�XRM��)ZS��X3��͵�y���n���L��\]��nˇ��\�}���R#����v
�����
��K9+��V�#�^M������p�O�$�',
��6�e#>��!_�L/;�r�
-O���דQ��-�;�w���䔞+���]�-
fK��{lh1�2�(��h���	�
���=�E^�̻�Yќ�K��:�
�t��x�06������ӗwW�	��'&q�rV�c2���)��,45dW�ʫ-��R�Zi��=�
ח	.;��]�^��B���;m[/~�y�Q`�)&��`{���c��
v�����J=�����QC��1�
-�F[Nc�V���������m�;�2馭�y�ӥ��"�'M�.L{�ͪ[�ev�m�S�f����}��r�N���v�8���c
,#`���g|ߤ"[OP�=#%J1������;!	���
--p��>����	��
5giו�m��D�����&Nha��ɻ��_�+�߻9�'%���`{��5����l�r�O���
-4;�P����蠢Ѷ�Tbޫ���"yi1YV�w���f���'H<=C��gzDV���
*_ID�	�6�66M�X����~��:����հ��|��w���b���) �>�z�~G�wl����h*ώ�
�Z�Rm/����Tع�j�8��샎�t�l{a%0fbA���m�
-�D�.oAA���c��N=�Q7� �}���_j���j��9�}XK�H}���L�6�sz!I�Uݫd#_؛�ad-�od�ۭ+��gG솅�ї�6|݀���k:}��-`�7W����h����#�
-�9�-��%�
�x]�m�7�H��{
�뚑1ᇳ���u�saz7�O�~�W�X�����<�K����s)�q�8n.�m�d>�=�L�=���E\��&k�-�Ꚙ�y_$��N��:?n��P�r,�a Sx�#�w���bN���P�����������K�O�+�U(n2L�Oz�Y�Qf)���s�qhw��v��:K��YZoͻ�
=�rZ�gzQ�a��Ɍm�v�Gm��Ssy�����M?I
�e[H.�M�
~�FFz�'���
��l�kK*[��(�G� �J��;���p_p)�y9r�F̅C�|���
-���lB�d�m<u2����"LD_��"��k�qn�~T4�}�_ ��aja�z�Է�e���C��V����cKO
-_��컘�:g�}�>��4V�EKm�-��`TW���=�S�=�ɔ���HG�������P/ګHBbR��Uu
� aV>,NTZI]+�ֈ���Q�DM�GU1�_~�r���KXz"�.
��/������R�%�0\�5���@��q��c��k���!�V>��?�v"���O��}�<���ym�e�h�1��P��^CL�����a�������r�d�	!I]{������5��g
fxi�o�ZԳ���5de�S��
w��G�C8FC�e��:���� ������f�F"��������A&�������b	�.��P���R�
n�?����by�7t^%��'���mQ���k��!�	N� ������
DK���U�v�x�J�6:�4�;ǝ����͸IM���"r�r��ԧ�;DȬZ;��6o���n2��Ahp�꽟�[����S�=��*I��a����[��O�U
-�^�II�U�x*A뎄D&��l�����-7{�9���׊����Gnd��htKXݿ��J,a��bZ����1
�뚳A�<����'b�g_���Θ
J����=�K���������Ԏ�ѳ����#
�B3.B�w�65��s��<���aM�H�I�W]��Y���vo��Ry�c�����c
�v�Zo˶��w
n�UͿf�1*�⦮�N���Nhfy��ݷކ�T�&���]�v&���b2��ϒ�
?�L[
IVQ����h�0p
�6e�7YY eX4�8�9
���J�p�5�<2(B��{��>�^l��x��X����D
���	萜���\�9L�O�u��s̋df��ji�/�3��e�\�$Ǟ]�10�0v4S�F�S�@V�-ڪ������ٴ�W��ΜN��N?]9�pm�/����}�o�H���&��UW5���I�y���M*�<�i��
R�o�c���f����I2jo�mJ�<F�)��8�a����o�*U�Ff�d���
���
�4�H�ɗ����ይ�3���\�]f��*r��ɮ.�!u]r~wj
��t���c����Z�/ ��

�ۜ�[�w\=l�
l.hw�PP�1���
�;nt,�i?���7ɘ��&��]�]d����f
-�K9����}�
�����j��W�(��瞯�ܶ���0٨y]��=n/= �| �-�Q�@�
&��g�@��oW�endstream
-endobj
-265 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2501 0 R
-/FirstChar 46
-/LastChar 120
-/Widths 2502 0 R
-/BaseFont /SXUZVI+CMMI10
-/FontDescriptor 263 0 R
->> endobj
-263 0 obj <<
-/Ascent 694
-/CapHeight 683
-/Descent -194
-/FontName /SXUZVI+CMMI10
-/ItalicAngle -14.04
-/StemV 72
-/XHeight 431
-/FontBBox [-32 -250 1048 750]
-/Flags 4
-/CharSet (/triangleright/triangleleft/less/greater/a/b/k/m/n/r/x)
-/FontFile 264 0 R
->> endobj
-2502 0 obj
-[500 500 0 0 0 0 0 0 0 0 0 0 0 0 778 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 529 429 0 0 0 0 0 0 0 0 521 0 878 600 0 0 0 451 0 0 0 0 0 572 ]
-endobj
-2501 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 46/triangleright/triangleleft 48/.notdef 60/less 61/.notdef 62/greater 63/.notdef 97/a/b 99/.notdef 107/k 108/.notdef 109/m/n 111/.notdef 114/r 115/.notdef 120/x 121/.notdef]
->> endobj
-237 0 obj <<
-/Length1 1612
-/Length2 15120
-/Length3 532
-/Length 15978     
-/Filter /FlateDecode
->>
-stream
-x��uePeݒ%���_��ݝ¹�^�ݽpwwww
-���)���§��u��x��g�M̉8gg�^�2W�}(I��E�
L�R�.��L,| E+;W���
-��@
W�#'%�8h�b�`/a��h� @S ����� ���	���t�h�j���3���W����=v:[Y���|�m

��. ��7�� K ���WR֑U��H+j ���@��-@������`e
-�w��
@ �, ��fV����K�`
pv�Z���0:��b 8AvV���V� 
���˟
�8 ��Mm]��"��n��7!G�ß�?�?`��.Φ +G����R���bi��Wng�?n����H3S׿J�����������p�+�	`f��hk��'�0G���4\���-�ɀ Z��l���`�`�՝�	�O�;:�z�������`��
�5gB`e�����On
+{�E�����������܀��D�����!al�`o�	0�#0+:��I	���S��N����G����'�j���<�+�������ݟ���s�8  �1�Ơ�-��������Z���?�Ⱥ�i����AX�X�a�r��� �)[��Z̍m�t�o���dke�����0�����O��������s���7�W�D��:��������ީG)���E����+峃�,��s� x3�9��l�� �?	yXY}��lð�s���d�� [...]
��B��:�5��:���G��V�օ25��wx.�;�
��
��c�R���
-}�i
-Ѷ���鏂�
ʐ2.�b���v�t�X4���TT
J_a�f��Ap׏��n����~�i��Xݨ�`��E�TI����c�#}?�	�s��)�ݠ����r	�u5��#ia2Z>��~'���6ȧ�����SxV�(X��TxM���H�
�i?��ƾY��M�����p��t�h!�
�����͂m$
����t�𮷫�{
@�[
�U�.kto�9�da
�t�Fowt����]L��Z�a�2���e"��?oSw�`�����Uf:o
?�:k�*2n�)14�0�r���M���Bų��*�m��"���5Z[�&�ss�Fw�¢�c�xoIJ�%�rH�$�oҧ�rdl����p���L�m{��@��0�al2���"`�3
Ne����v�sU�]�6{]
_E*il]������Lv�@�`<v�AX�3
-—&{N����ߋd��h��I��QdH/d	
�X��L�;���&D'��W+R��ORW
u&E���s=�+�l�Σ'!ME�'�I
~Q<��e��R�	W_��Qeԍ95�Q�I
�:�R����oB�G�6cB��,Ii0r0AQE��{�t�o8�f��Ej��HMl��Гv�r��Z�v�0)����
�dA�j�B��R� ��r_4�6
G��qSQ� ���/dlW�
��f
�t��Wsau	���A2_a���7�܋�M:��Գ�~O.�' q�xs�$J��	�d�P��bY^H/���X8`/�
-7
�2�j(�I
�U4b_Ҝ���O�C2���5��~�F�\���F@
�{`��
G<�X;r�Ґ)K�i ��`N�@OY�ꭕ�����g��!�ɖ�K�ikJ�
�.Z�^��%Y��1^��~��E��:7 ��a��ܻit_���v流ˎ����;�#Pd<�8*Kϼ�Ό���c]	�2��BU=�.W:��'�����Z�w�-tX��{��0
-�yy��9�1
�9*����: B�=p1Ig���/%,�=������@
!˥�B2o'_!:��L�w5s��Z�g�q���~���zE�J
���D��sR
OI�,آ_�f�`�|9�E*�:3��Wm�
�G��&�XŁ��٤
ͦd�؎����`<'�����i�j�Ga0���)�~����b�	�r�o�⫃��"�J����p�͈��?��otgK(IB���i2zŤ��0&�[�IrS���~е�㖶�̐)֒3I7E���B��-yVp&��&��^�e����-�Y�Ϫ̒
��RN3���N�Q��~��E�
�π��
M#�z��v�S�� -
}K��ܸ���t�� )�r�oW�J�ܖI
\�V;�C���r����[֠y�o	���L�
-�_8x��s��.@ӄ���C�i�h�-Q�{i6�
kkJ�J���~M����T��d;��G�F�v����5�;
�S$�t�L��+z�$fWq�$�J��>�H=�l�$ig"���&��p��񓀶>�o���]��7lUk
�'޼�B`>�Q
��� �<�QO��PY�
}�S[�sE���#&�ke�A�}f�������
�
��:��zc09�x�dI1�&4��ye��sS��:�J����.S5 at WC��
�K�t�R�E����_�xL��`a�2�/(7���r�B3;9/�۪�(R��kK"�v�Rs������9�����](����B�w��ԅTL��P����
-M]�%��Ÿ`��Ԯ(����JxaR�;p�:-
�:�db�/��_ �B�|���sڛ�P$+����~!�)J��ߨ�{�����bK^��d	��3�t�ES���1Y�E
ݿ:�"liG菻1��)��8H&��0��rok)�m����*'���&��bɖ��s���F&����eV���
lF��O΅N�b��^��������8��_D�Ly=t�<�[W;jz�GP_����g�Z�Fr�$q�6Cu�@
ڭ_o������m_E�|a�&��8�d&�vu���� �>O�Y=���^�	P�A���7�Km�A������������ℂ���T>���ҙ*�z�ʪ�=��Ef�E��F�ÇC��:��'�%�-�D����r�&|��QW���"
�pxETR@z��ZI�\�l��6NI���O��v.�$As��t
�82�[��^�
�Z�]�ʘF�j^1��k�i�ϺZ{�l!�$�|6F��b=�L��jv��n�c�R�b[��Ϝ@��_�Q'�c<�����Ι6���x��j�%@+�P,gaz;���@\��R�"f�P��Z�~�5&
#_��6x'_iy���h���y�U�FSޣ�r^�T��ؤ3i������[��AR:����>=��^"
�וi�l5�#\�|�2�
�P�\�� ���f\���y%�@+�_��GM[n{i7�K��
�S��`t����9Ҩ��^n���j&v���P��{,��(�xu
c�Og$��<0��y[/�	L�o{D���9pl�F$������|�R�+B��
��U^�����WQ& �����	 �|��{��,�y0O�>鵵����atm\�;ڤ ��2�
U�z����	�9��4{���U���"�є����t!�ƕ��
����q��RBcD
-�=�
Wt�� ����67sVQ3��0>�?'��r;�V����l
N�M�8�D>��;7��f�
AE�1�
N�}�9�Uo9 
U�n,Lv涐$MT��i�`7� X��mIk�fgeD7'P��7y\�I�
�g��k�%7�F���c
-B *��jV���s\��
>lҤP��vO'
�̼
h{�0��a at b�EK���?Lp�\g��T��4m�Ӽ���TN?‰��J����T�-~�{��l6�8£P���
b�Ozl���Yg��9��#+"S�Sf�K��Siܦ�a��I�
-�EUf����joe^W@��+�sD�9Ū�I�-�W"�)�C?�~c�[ؕ?�'�r$	n
P4b}�����+�}���[P��%/BBy��o1
�~�M}ś:�c"nau�DV������nl'퉂E?�D�`0�EVrzw����b��t
��1$A��2E7��I�����l�H��_p�N`�
�Cf�#<�%���{>���v��X¬L�B��d����	���I�\>���w\~V>���CCi� �.�v����t��[��_v�}����T��<D��bn���;�	G���5�[���&��
Yŋ�
�Ч^�9��=
2�5��
��D�T+�E�I=����b���׏$�FI�6�`!
-F������ A �=zz+����Ş����)��3��.Fpt\4#�!X�B!�"�$��o�uU��h3O-^ғ��T�k/\�^jB�L�<;
r������Z
W�ʻ��}���ƪGW���$4-�9�"�|\��E��7�ʊheD���n�E?K�0b+�[��;H��*����/�
��M�k���D��B�;��5�U^๔B��_��C�|�l�}�u�t�;���Q�Bk��J��‰׌��*z|3�6z��
��O�ʄm��U�(	gb��0���0�ŗ����h*��n��=�ui(MU�
������� \vZ{~�*��D�8!z�������=Pj�Df��9�
yل��������H���38*J�{Zk9ӭ�٨���8��$��
�zH5;�v�������ϸ�:��4�œQ���k�М�%�����?�0gV��m+)^�Y��T�R�$��=�Βb���D;!���ڿ�u����
y�l3��
���ZɾZi��
#��N2}�
�\£f�����^o�C�i?���d�<������̥�W0�s�1��|�L!�VȺ����- V����z�A�&[,ȵ��I�
�F�!V�x����a/�~����1�y�C��!�93~�Na �8�c��Z���86T�+�b���]�xNP|�#'�.�
Njd27x��=E�W%5dz�
yuk8s�}� [...]
��Pt����u��#�"�)�!b�h���XS~�7O�՟L�z��P��.KN�'�{��	�n��6�PĊ�g�b�$G�5�Y�Y�x�>���zM¶�p�
���4 ��N��xU�����uo�~��}Kd�wo�~�40����^P{U
��"~�96_OM��U�Wr���������9� 

���	�ڑ�7;L�PyN�B	�.��i9{��fz���} �V�1�\!}�7w�mJ�%l�0�S�D;
*$�o/aT�{��p
̢Q�,-�J�~Ux�`m�x�\a���>%�
�©qYɺ�Q�W9���AH>�dE�݆���

M�[��	]ߦ��r��n}��'�>
��nx�W�	Św�t�DGæ�ZfM�
-�œ����Z�"AO(��6	I@dދ��������Ӝ�@wO���/�)q�G�C�
����{p��_����D�
h�K��a �C�����
�q�����W��x?��Z�i��2B?��ʸ%኿+�s�1��gZ<⮿
��q۰��ϓ,}؀Հ� �g��jݣ�EY�����Ŭ�n�����S��Nԩlhp�^�@�T�t|)�p �᧼�«��&����
W���$B�
�jU0��
�I�7�~Ȭ����xϝjF
A~��F�"�D��i�3޻S	�!��Vܓ�5k���N��a�
aX�ۋ��!qL�% �
^x0)J��c�jF���r�i<�
y*�����o^�ݫ�<j��y�/
Z�)ΛvKu�p��,�A�݈3*ߊLz�-�d���鏏���o�Zm>��P�ϛ� �2ARs�ք�e>|����a��Qe=�v%�?�K���0܃��th�gm`L�H��q8�L�O���7��Pܥ��x�~��zʱSd��!�	�`\K"zN
cY ^>��?�@��ܡ�SP�iկ0%�<�ǩ�d!M�EM�p���\d�C�rɖ0���\e� W��J����0
�k�†F(Ȟ��S\�Z�L�Zp�'ݠ�7?zJW4���Xq��
��#R4Ռ��(�<v�?W�ip����rșZ�ʕ'�-6$���?�*�����o� K�(w����
�����։�M���� I�k�S"���0k	�1o��5]h�UL�\�����L*�z��t� ���fA�/�df����������$1�դXRy��L���G�_����g��r
�M�,
-��h\&���,���y��#���I_�NKܖ�%������pc���w}��z|ݓ�d�G
�rBSӳhN�Z���h�/Ks@���KEş��>���9�=vFXح{�%��j7��zA�i�-��J��p���zd����QLT��k-��>��S
-1+j�dVY�%�(��>H��&a��+�����y�:�X.R=�d<�AU��(x/$Ҋ=�up��l���3���d"�q�ׂ���ѶJ��n�|�lC��7�~�t
-�C��8�HƩh{�:����ZZ=��V����G%U����=��ڑ�od�D�!�b}��d�\:#����H���
��5x��'fvF!P��r�~L'̅
�f}�g�>�q��_p�a������͒�7rw7^V�
�y ��a��y�'%9̩
�G�
y�`���^;���Z�X�;��c�y�~�nG%{,���Ҋ]���G`�Q
�[�hpZ�m��=�gkc�����o�gt�3���\�Eڿ7�k&�������.��5��P�����Y�9����>��s6/q.��X���͜�*��F4u��
�I��C)�노<��uԸ��T��c^.r�W�f,�
���'C�>n��<k*ŝH����h� 
-������

��ZVj��祩H��-�h��c�RL��z}�tb��/c<�jٮ��i�zX&C
����oE,�/t�'�Z���:����r[N���(����K��Q�f�lt��}^hQ���Q^�_�!�r3�)0"
-ƒ��^s]��v1~�$�~&W,ΆT��$�ܮt(�c�["��/���[x	
u�	l�����]����2�XWH�8!�q�̟'
�?	�5�X@�`kel���X�Ϥ���9�KM�wz�'
��zp�<p�e��
���ַ\c�h5��L�ل��!��!����o=y/Z��<�-#����L
E
��&&��v�����C
���8�t�

�=�b�F��/�GX���3J����t���afƅ*G}gա���x*�
��P�X���^��`�ح25��
�h����0k�
5o��%0�Ӑ%� ]��
�[�Uwv�}`@^���+/��)VC�(q�S\&D<��t_��c��
'~�ŗ`���`��b)����u`��𪌾YJ����n���%������wyש�
_�Wk��
O�m�a=:;ۗ�Kh��'s��;��ʒj��b��Y4^� �Rj%6+�f���b�����<��~�R��f��/�IC��
Og�
y����g|����w� ��Z�I�F�'>_�M�)\��������<)
4٤$�
�w�9Mo'u6춻��e�_�2�1���>5��z���hl8�5�S(��r����5���o�֒ݟU5�ߎe|
G�+�~5������������g@���%�$ϲa�l������m�!*_!|��m �S]K��ܜ�4�J��%�#7,�^��Dz՞��v� �l�E�~��vCI��y�t��h�v9�KC��ĸ
�Q�M��zľ�cB���`��p��q�dn��V�1w
-�

����v
�K��̼T���P>pX�m�=$diX��ad0�h<4f�
��*R{G��#��g28F��X
wD�1�w6�_1����
Um�����J99�P9��K��~�&��~D����(~�J7�{J�28JT�d��r���:�8�p-��'�բo�^�a4�.��:����Y����B鰠E5�v﵇ 
���$m-�l��'u�mz�Koٷ��w���u��k�T�a|��g3���C�{D;f�t�j��5�e��(�L�
F8 �Œ4x�_��G���������eo�:��@�P��@�2��o�O 
h٠~F/˗�t$t��K'
en<��Yo�l��51O���+�Y4���H���;S
w�SS�6�QxȬ��#H�b4�9]/Dr<���D�
����wO

θņ��f�<�J�(lT
��v�
-�D�B�˰C���;�4�jzϩ�e�Ţ(�j���E�Ҙ#X{�.��F�!�x�Bۇ�3C>��?�x �j%%�F�1/�5�]��P����y%�P����j�\e����x�A�-�FSk��@�$0�b���$��NU-�������Q���#Q���N�O1���C��j3Ct�q�Gv
[���q4�Yz5��j�=�vKk#�@x���
�vY'^��*Y��j�C������b!����_��s��%0�&ΔA!��2L'�a�Z�7�
���!����[�+�1$rj�P���ֶ2���q
���b�x��OS!���	<܎�&�(�y�����R��<�O)9͟jۆ0�#ƶ���n�
��������q����	

��9��ǘ/O�Q�u��bщ2���Kc����x�
���|�p�^_XmBav�X��Gq:H�d�^%[I?��v�VH��
��"S@~�>
�H�
��ѝ6�{�<\-\ц#��e�u^S���͇��I1��r�K�=�,��c�wr=�{v#!�
q
-������0�_�
4x������ #�W�Z�-Lף�"�v7Æ�OF�	��a\;H�ߟ\���O�~|A����b�g�������C#���
���ӯ9�d �T=9%M_"sO�u�ţ@w�M�Xa�v��|%<۟���HV�
;+���_�S�w����v��=�z,Hbr�4��v�%ш��|k�ř[+E����Q,]�
36;
��i�i+ס�y���n��1R?B�&j�4W
-f�M�W˖e8�ݭj�L��f?Y����NC��M<
O5�h}d��̶,
��~3�c8�BSB�5bқ�%
�{��[O��
��s
9�"�{�2���
���y �ǛN
6�mG䤲N��O�  �He
"I�
5�E[rHY�uT�븒6K�Ht9��>x��I{:5�W����F k��B�@f��!���RE�
�"�SB��IMZ=�D�qG��L�L�(D�	/p�v���NsN���UWm�$d��10���z
�v
A��C��1�޸ؿ���v)+�h��Bc�
-�b�*������&5���
�.Ld4�)m4q�eH�UUh\����2k.��sE���9+�^��s���=d8
OOm߄�l��1;
�u��"�Оw�'����
-��f�n��'
T�x#B�L����v��1#{����k�:7UCU۫\M�É��H��޳�`&�2cP���*��[�UDV"j#~eFG(�[��K�^��콯�ש�ܾztO�A\�RP�� ��K	Q9��_;�ԯ����X�u�o�e
�
�U12��E��7�9�R�Ѹ��ӝ3�@�Uӛ����<�S���~���e#^���*�E�6�#n��<l	���G���j���4��/�Z������
-���� r�28Zy��
��ŷC�X�V1�����\-�ʭ�eR��9(��|̜�K
H���.6TD�{��p��:C���
�����
B�^PB\�UoC��,a��
y��B���~�>�
��՚��Rm>�7�)��N���!5����?��_Dm�!�8M�(�q�
�-�~Q�R$j�d��/?H<
��q��f4��̑�Zy�g�Ψ���G�V�O���ɮq�
[�l&
؞�x0Y��.�q����j����4h��7��C!�J3*@���"^w]F�Lnl�3NJR�O�x
6��p
nj�o�_P�����k-y�$
N�:�. =��]�Ev��Qi󱭠Rb���k~��C_>�&�
�Lg�=�����#&�ok9�mKj
��
(���V�����d��V��~�
�ڨ
�Hq�K�>+�=�����3��ȸT�,�=0s�B�/�YZ���
�,�3���_=Z�o��µpu� ��UJ��[��^|9H������.]����%��&g�Ÿw��,�dx
R"̵���3!
z�1�,7Ai��]ք��G�
-�� 	�ȮŠأ
-��X�{*��x�
��l$f��@�|���@
_4�pH�`���O��|�5
[bo�J���GS�|�գP�I**��;��Zj���u�g��i��Dד��
��7ݥb��a��2�_�@~�K�~wJ
0����-LT�
P�O7G���^Rۖ�]�
O>�׬����G�e��d���M
ғ�j��\X
��0� V�5��V��2�N�6�[,�)�q��1�
S�ͻǠo�����h
��N��/��l����&8%��5kYI��f���'��zF��VX���$��I�����V5��0M�&����>&t�4��Z��65V�����:F�~�{~��;שϰ�RQXO�>.X��N �{I �B�{���~�)G�^w��N��h3>
�H=�ŧ��i�A��„
Pܠ��`�cx*ӯ!����}�n
�#�-�
k�>��ò���S��Yc��cI���n�©`o+�>���i@Ԍ�r�3���3��HLdm�]������T�E��^�33d�|�΢����,XTĆ��m���
f��SB�
K4F���aY�ut.�B~���>6?�O>cO	���	�I��r������I$�E�r�@���,{��>��6:#�V�V��e��Һ2X!�n����� P l�4�n
-��
V́Ƹs🚼3u��=t�(�.�T�|�ő���'���nq�P�y����9}�cK�L�ֆ����h�b^s�ͧ�����l�aS��~�1�6N
�E�g��)�
�Lpn$�A
�Y���H/D��t�^��A3��"@
����F��d��/@�0nb�M��1S�t���Nj��Fӡ��I���G1�
Jt��!͒	���
��W�s-��� ��Ȳ�0<_����
-Ik�M�����.#��!�~�NH�Q����&�
���m�oy�
;
�
-f�v��N,{��8
^ˆ��V�1�M$�6�
�b���+��12�/�U����w��j
�a	 OͰߗ��:ɇa��0���������&a������PV�
-�O��
fD�ܷƨ���47R��N��Z;��+v�2�3���3�b��
�ת
jj�&��+=�����Vד�G"X�$�D[˴�O��V�����}� f�6����K�۳t��]�u�6�b�E
_x�oD�l�Y>�6Kצ�ϧf�2�Z��?e�Ϥ��
ꊿ��Q�l @�O�s���r
���Q�<{8�g��n��u$���#ZC�ۮ�(�����Ԍ�����c.��yX�B���;+�a�_�m�k�M�c
{��i�ZDz�Tj
W9�ӳ��
-��|��`3����y���O�c]�|X�
�5J��co�s�|�`�X~�㐫��4ڒ4^������QJ
F�
��2[��?��gk�fQ��ft|�Z�
�MVX�-us4;W4�?+#��	���{����{]��
W��!���ۍ�i s*�F��'&YY]��g��E��<<�C����X��S����j�i�խ]�/��Zd?,
�oKx�Ϡ+�Ӟ:^�Gᅦ�;P�ؔ����S�F���\<!5��<y�m
&?���E���O�k�
�v׽}j����H4�
�ng�M���7�N�iuY�`���l�̺Q��#G���ժ&?����l����T�I�3��bѸ� �1 K���EC>k'�QN~�����k.� �
T�;~!�NP	�Ũ�e�9N��Y
 &T��T_��`=X���
��(?�`e�{
�K
��{#�
��o��g�"�[���a�`�2�Q�]� �I�>2�۲:E�$SȬ�
mP�<1ޕ�	���V�F<���yW/p���!YBHT�H�q�F���\�|gBȻM
��cկ�Ɉ;Y��V���7�g��ˊ�>���h
y.�l��d��Ԕ��E
g O� [...]
-��ީ���ݤJ};���H B��`��!��)L�X��KI$��=�&1�?1N(%�
~�
7QP3�Nt���
�\�bs!I����pm��]F̮��)�WUU|�Ǟ�B
89u+8�*<�j��(�i
��lg�P<�ˍ�$s[L+�o7,�@�
�
P�d�V�Z�C�f�aќ�@u �
�A��֡�C���DSQ�&'�x���]��հž�!�'Z0�N�y㤦�
s#�+�A6%(ğ4{�Ջ��I����H��`
/�h�ra���7�eM	�YX�;d*��R���E�&?J���=�i��	ol�^�
��z��8%iT��-Z��+����Q���R��=F"���A�*��Š�e��u��NT��T�e���;�rǎ��Ug��,�o���nx�oyCS�]�?��m`2�:�[��dD�e���Nv���\��
�p�IZ��r��/�
-�<�\U "]���ih��oǩ�u��3�,����
-�p4Z� ꧈O����W�QP/?�����?�͖�cy
��s{ӕ�0�ۺa��3�d�ll0w��u���P0�=f� ���|�����n�n��}G m$���6�Ės�@�Q�`X�3���#���]M�3ti={�]�{�<�_9/j�Q�؍����6{.\+p^ :��DPu���7V2���v+�6�T�f�ZutCV��S�j͆ �TZB���$jI�D�Ҡ��=�W�Dq��5w�/q?

-6U��򑢒%�G
�>�
-B�+�G�q�
�Vj�f������o�]�ع}JjF,"�mh|��v(�RbA��bx�v�S��ƕ�?穧�Ã�����X��.�
-��К
nI��
rEV/�)9����O��?A��s&�K���n�B�y��x��2��!vn ���HX�{O�lI%2T�`�ǘ�y��?b�/j
;�*��h�Lȥʀ ���n�b���� ���6̀
0#
���N�}��v�z�O�'�U"��w(�p��md�f
�=�ª��~38
��t�κe
%[5�geV����Vy��-��[D[9�fWs�[��0�a��aob��~��%�"���
����i?�����4�\'��z�.�4G‹�?h�n�/ �>'>kV9/MV@)ق���e�=��­�SЩ�]wW
�K��ch��,{R�

kU:��,�%��
-t�o�[O��1�~�5֡�۟Ǔ�{�5�ȸf��S|
G��}�~�m�����W3�=�ϝL��12����cs$si@�o�f}��얢㦐Js�f(^|^%�[��'�ܺ�&��v�ʋ6��tO�jh�-L'��1���ZA����v$���y��ԏ����;�z�zG�G���+��w甈Q����]�Pv�Αqn�ָ��V��$�����U�A����I��¼�t/�7s���u/2��T��C}o)5���s�fy�7~}ƣQE>�p�M�l�Tq�v�4�$�z,Z�ˆk���X��h���>��P��4�l�
w�2�����
`�[a{��
�����9���
���y��d>T.�p�'�;���X
���N�)#8A-�පsE���5����s�H6�
-޻B
�.>����ן���
-�$(wOW
�2>��
<�^0g��/Ł��@-�jv5�1~8ih�nh�)y���;���#L[��x�;�>��sW�{4�ˉAd�d}؃��
]�֢\��RO!��\._h�����lfZ<2�7�/�NqQ�6��J���@�e�\2Ze/��)�g�����1�<`��<%`�g��qWq�S;�6���,�3�}W.+�e��4�)q&9ţ���o0��h��d%t��Yb���&�<�yh��Ǒ�lA��(lu9�b�c".���x�nO��#,�BY�8Ʌ�S%��B��ʩ�u{��0����
�'G%m n��X	,�m�D���J��ЋW���CB�/'���Z�!}ta�ׅpP�Bh,�Uy��R�a':8��n�U�4�[�-��D��Ctů
-kX 	7���~�����p��3�v��I����ђL�푃�n1䐝���$�D
N	�h`O�)��g����k�~Kӫ8�>�}��YI޴�-މ�1��|{E�d�V?՗/��%(521X�%�-с�htv��՜��饋�F0��P�"E`2��i��
8Oo�p�&�Zro�R��EƸ��J�;{ϋ�.<�dԄ���TAb�njHDe��Š���0W_WԐ���+���4��q�~L(�|LPpF��uè��zei]�>~W�&�����M�N��n#QLA���6݈h�u,
�	kt��h� ]�{�{��g�F�}_
�=]N�a����q��j)䆩��6����.��<�T<��W/0������Wh��
�U���0�'_f{cV&J%����JEC��j]�qY~�._q�E���Y���@����%e���N�OY�W��ׅ�����M�'T�
2���t�ڊ�������N�>m\�T���V�A��?�n8Pي�,��'ˠ�	
����n�5Ӊm���G�p�b�^����e����L��ս�]��|�P7� ��͆��(�(��
D���^,�pp�$�����`�p��	�pd|R�X���q6na�����z��s`J �
k���jӻ;�}m�
 �om7R�V*ap<ǂ#a)z<\{;‚.J��Z���!`�����Pg�bGh�XE����w�w�[y
-8�'�S���W��<@�$'Y�o�i���s
�w���:�⛖�»��bgs"o�r����V����ʎ��fM�Ͷ�+SL
iC��0��*�9+CnZ%�9U����6��T�.2���@�

-��r~�,�Wߥ'>�H��f'�Y�d^��=u��FU�A2(���FV
��<�M�-�z�a�/E��

�|���ާS�ź
-^��^
-�
�X�N~Grw�?M�V�$F�Ã�€����S���f�b����u�픎�l�#A�e�
-ǧ}��
�nc��x�JU<\ ��]����Vo�$8^}���}���U�DV�q
~��ev�,���Z�m�s.pAJ
-6��]��6���Wbk3��[�"jY���M(
Nho�I����P~LC~�o�7�]��۔�`�����F��1����&A�,x6f�(
:������׎D�W�R��m�'x�ݴ��
��B� 
�㕚��^�����`I�(�y�
����L��(zP �v�g[��,���
-
-�
ɤEg�^(ٯ�'-�;�@�����̟����9�])��{���O��ڿՒ�k�Qa�`��.�g�"ܬp�Y6��.�<�HTNm=�0��)Ӱ����d������_>A�4���K�p?B�=�}L�c5��^p&�
'),r<�v���}�)�d���L���c�OQm��n���/P��Q�.�<��_�o�%I�4�e�O���:��҆�l��OwNL�u�u�o�5h���c.�������
Z��E�k���P�C
-� �z=�BfŠw�ΆP�^uظG�\v
5)��\������
1C�Rlȝ70�I�a�eš�o?�m�,`���i%��|
L|���\�5t�=
_��cqF����x�hs��BԎAF��R�|�Iw�G�hZ��K�U
-��?(΀ �>[M�Wv+Y�{��=%`Di�F��o�d�:������EA���H�*�\�Iݐ��[�ʎv�M�V�q
��--ҝlQi�~�
1(px��lD���]��]<}��� ���' Lm�� ;c�
��i�endstream
-endobj
-238 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2495 0 R
-/FirstChar 34
-/LastChar 121
-/Widths 2503 0 R
-/BaseFont /IKZNSO+NimbusMonL-Regu
-/FontDescriptor 236 0 R
->> endobj
-236 0 obj <<
-/Ascent 625
-/CapHeight 557
-/Descent -147
-/FontName /IKZNSO+NimbusMonL-Regu
-/ItalicAngle 0
-/StemV 41
-/XHeight 426
-/FontBBox [-12 -237 650 811]
-/Flags 4
-/CharSet (/quotedbl/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/five/colon/semicolon/equal/A/B/C/D/E/F/G/H/I/J/L/M/N/O/P/R/S/T/U/V/W/Y/bracketleft/bracketright/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)
-/FontFile 237 0 R
->> endobj
-2503 0 obj
-[600 0 0 0 0 600 600 600 0 0 600 600 600 600 600 600 600 600 0 600 0 0 0 0 600 600 0 600 0 0 0 600 600 600 600 600 600 600 600 600 600 0 600 600 600 600 600 0 600 600 600 600 600 600 0 600 0 600 0 600 0 600 600 600 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
-228 0 obj <<
-/Length1 1626
-/Length2 16978
-/Length3 532
-/Length 17903     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct���&�v�ض��mOl�cul�v:�ѱ�ӱ����=3�}�|��~�׺ū�*
-%U3����+
#3/@�����E��N��G�A
hf�+瀣�u�Z9؋�y�@3����
-`��ၣ �:8z9[YX���U4i����K�	���j�z�XY�(���m

���C�_;�� WK ���UTҖV�PK*�$��@gc[������)@��h���;8l�� �:؛Y�S�
��X". c��#���������
�t��rq���rX8ۻ�큫������� �����������o0%WSg+GW�߬Jb���ji��On��j���_K3S�J���o��ZWc+{�+����\&@�����������9:[�
������!�8-���l�..����Ow��N��V�����׿�
�e��0X�� m��XX��4u�����
��Y��7w �0�[n���?u�@�5������
������
`4�cRpp��@��2���
����B��?r����m�������p��U0��; ��1��G��
��� � �
7������������Zk��������]���D���/-̌��Z�HXy͔�\M-�ƶ��/�������
���������:5K+S����
-ho����R�/�L:�Jښ:t����/C��C������(E���=�	�훃'����������w����d��?��W ��z��:[yt���������_/��#no�`��ب�ۛ����%�Gm������-�ߪ���_3zM�֖
L�B�ӳ2\��F~�����:�5��:������2z�
el���l�Z���q(C{4ևeK՛
-�, �%��/Dݢ��;
-b2(C�8ӌ��Z�ہ��d�8����bP�E8���
s�D@�^�A���g���م�
�V_��2���#�����p�
d�!>]n
,�;"eT�S.���z�O,v8k
��)���?�"
�`{���'���jO!@��h�d��F+Ŏ&�-<��N|��ebߐ�,���F��E�
bf2�������?¡M�m�-�T+<��a[�g��Ц0��ٿ�$D+�&���%g�����21�ǃ�a-]Rʁ�쑣�<���:�9G�{
Δ��U&���!mS�E梵2%O�;���`f��mo�fr~'O�Oeh���V�Er�����4#
�R��v*(5�Sxm�jJ
-(Se���ʺ-�
M
���i����K<�

Y*�EA��9��ۗ��һ��ܓ��r@������h�Ч������4� ��h�d@�S}�A
�d
-�(���*4��,�L}�[���J�Y
�2(���YRMf^ǹo�Y����w���%�jH��}�z��
g~���O�[���+�M/����?}�2� �/��#
����Ҕ�-}�$��Kz�#�^G��L�XҍA
U��?O�6mr_�G�fj�JV]_͙4{�ծ�Mi�JU�/�jC���=`��$�]6S
ڍ���NU��S&M
)���������JI�y�b�C�G�
��ԕ��Gэx�

ou�"O
��vn�
E�
`�p���`��QH��4��">���L����
5b�t�`��^�F���ܲa�����j�j��1zov����b��[�F5�}�PJ�%W�W����q��~ЊoI挹��J"�$�Q,�T�Z� {3zi��PI�����\O
�1�t�������_�
��IA�c���CG#��-'���.��$}1�v/�d�8�����f����{��^I�'��}$��Ψ[5:�
���$ɣ��#w6���믖��\
�4��*p.�P���=
 �#v���׉E�Z�LNB����?�׍A~�k,���+�e�T٠�S������5,��84�:9��fv�k�T�(�ݷ�3
|��}yē�[1�l�ZӻИ>���T�0��;�ӳ���<F?��	&����� M$/�A��
�'hF�lq�G}ᶽ�l��!��n�-�z>t6.�F����2��1ܾ�
�OZ4���n?�
����畟����Q���w&���0��ɟ�[��C�i[ݼ��TyS;����d�(�\�
=������f��U�j�����?�OBS��Q�ŵ�ҁ�-�����Ъ,�_k�z̢RP�3<��趒����ء�>��>�Ԧ�ތ�~ΘL��.SkH��ϙ�^G���Y���Un��v�h
��9�"<V[6���l��A� ����� ����=�$B�f�F�9ϴg���1�E�,H�>dx�k؋$�����-�U�Nk�� a�b��
-���+���T�%~9((�,wR8=�7#5A�p=
Ӈ#
}�g��k�_�ay�"N��尟=j<训��2G"p��f����)��o�<$�� �N at gX��E����d��P�V�$�..�0G
��H�
T�XT
�
�4�������b��}�O:
d����..��Qt[�cؚ���I��S&���v
���"�9b��[�/N�0�
�œ	K���-�\{|'���6cyު[\ _�%��ʯ�xw
����؅�oZ$땝0s��:���]��3�
��U�t7����P�t�,�@�D
�k��u
�3�ы��qƿ�G���.;�4��|+��G1�Б�M�;�{��_�G��5�y`y<6�0$b�儶�T(^\�cG���
��#VT�~.nn�&UD�=�g�lU��`���
�aW�fz����ȭ��0���:�TS�&-9��1*"��
-���7v
��,�`�8 ��
���^
-��֚���86p�P
�P�^j$�h^��l��
z�l�C��oB=H`�*�~��L4f���#-�3n
�����
?Bjd�DؿQ����9�j��%
�]��y����d���m�ȩ~+:��)5��V Z�'����u��q��t̙
-
���1��v����j��)2kV���]��h
-�
tO����� h%�
��ƌt
�V���e/����2��F�8쀪������HA���[�,$�>UѾ~=j��$��͚_�TBl65�렦P�R&���$sr'���3�Z��GM��#�9������a��5��'��Ÿ.�3�/r=��0�X-
�ıkqH[y�_
-�C�>���eL��:
�6?%4����%&���}i]{�å�:Q�u����?�v�~,�G�~�j�}����X������@:^|C6]I��E�;�-�Z�"�?q"���ay�,�J��.bB����[?�ZS���}z ��=n�U�n�մu�^��N��M�켢(��2��h�
,ޔ�L[u�������]��mX�'}�ޗ���-<���$��J'�3,�p���y��z�E̾��� r�,r�`B����m�Ӓԇ`�Q�g���H���=��!���zz 

�hyL<�u�l���4��X�T�}����w��3��
����[SA�R��UzI!��(
-Ë
ѱ�K^y��#�c�\ a�38y���H���wk��r���ZH�z%��z��G\ToR�Ӻ�|���c:�X��*GYH'�K
F��_�-��
;��q�M��|��2́�Ffc[�i�i�W�0뀸�(9xU�B*���RĻ��k��b�����3+����fk����З�OiȮz���!��ܮ�؊�
-�85\��.]a0��Ci�A���
�5z�
���Mݥ�5�

;�xM	��z�������5��2
;���u��A��R���M\�'�P�I�� �hӢ�UJ;WU�;���-�������H�'�X8���5h8�D�(
��wt��'M��f��n1�xO!�E��k�/,v¼
^1��Ua�@���<]�s�8�:�S(�n���`��%������
��X5�կ�b�Vp��

-{���!��3��{Lv����iYs^Lze���A%s���
�&�v)>��؅~
��k��/�����W
���^�xw�*�$#�����`�]A��3
�0��#�y�
\ϗ��a
-;Ђ�s9w�?p
~��Qz  ��~6gBo*$
��y��4�S�����)Ё��80���OU�qE�Bռ/�Ho�e&Ȏ);/�*m�H\1Q���
Zo�f�9`��X���sR(�k�z

?5�=���r
�ȥ�X��Z��Rݙ?]��w��7�
��⮠	��[u��0�)a&��
-�-�(s��@�ug6hn�ӌ�/���k~�6��'�v�8@�T�J��ť����
�1xo��χS��\f���3PB�J�)���[�)�
��K
����k����`�*0J��E�C>(;��r��ӌ:��]�lڿ���$����T at c;�ʢ��1��Q.S�����8��h~T�V�Y@��B�����!ft?�1ƺCqZ{�ڴ�do��EcT
��U�d
����;��)̴�m�

�o�3硡߆��) g�H��p.�l1�jGV@�r������+鯿�<ʶ�=����Ш��Q$|a������R�4�;'�}�
�g)+�A�Tx��%۲P��FI�$9�g�!eۖ^u r*����<�e
��1���54!-���~��q}�E�w� ���@��̉AE'�}�*�����ل��
�'�Nm���m�n+���֢�z�}��qI3��
܇-$ѵ���r�F� �qɩX8@�M}�Ӂ�2����"�q�r9O^���=ު��C��A\
��
ZD�	�A��$){������� [...]
ީrX2�2����5i��d�
�Ⱦ+�A�-��z�p�q�˘�}��
�1��k
<@��U�|ϻ��o�'dϷ�h}��$�"bѥ϶�^�G�X>����ht�+�Y�J�ڙa��|	: %��}0
��*�쓃������:נ���
���3��$�:����;��R^�n gd,�/���,��:�W��z瓼s�G����矈�Xد,�q^i6%�ё?
O|��
�����}s\�ׁ�{���T�
5����^��A\��`fB�ܼ����-Y��{�k�uf�#�e<iPn&����kL�cq&G]��F[�R����1\-[!�1j.�a�|b,��*�7�����
4���lQu����`Txz
kC3hl+W����U��t��N��ž����i�˫��h�^�:�C�7(��J�4��UʼB���9]�ϭ�䏁4�UƠ=ە +�
�?=�
[��(�'!Z�	�7Ϋ���F,�k'$�H�ǵ��Y��dK�[�Nj�
+���� n<��Xt*��0�(�l��
�>� [...]
-�O��e�4�;S�R�1�
z'l��IA;�O<��~�>�������8w_$���p���k�7y�,>|�Y����E��w�'�4�#>-\�.�	%
�_�:��ˌ��ĸE��/�լ9NoC�;7�#�귛��.7���rm���*Hv��]�Jg�9�<�~N�ˉ6
u�@�+p0�"�IZ�V*\n�,n�
�Vg�ۃ��(���О���)����G����+G�ARG�R�kQ�jK|�bG��;�f�>te��aO+N֞C�]�g��L
:$��D	�`0=��EB��B�@q��ڬ��]z��(����(P�����L��r�U�X�<��g��C�%��dԡ
^Ρu\����ɺ��X�j��4
�Z��1�<
6w��0v)�ל�1���=�֫���&��'�'�`�/b	�>�]�X��KQ� <�q�,Y��/t��F�z��Rͅ�NC�9aM�����~��
-7�x��_�e
�*X��
��= jxt�G]�
w�R�g�NР�����W�=�X(=h�:�-�%)�^����P!��,,+����{U�~��򛺦��~��*ҫs��
�
��E�9^�2
-�W�P�킝�t4g\�|6B�+�",���y������ŷ@̢�1���!$3D�͉�U/��=$�_
x&�f� �X��9�X#�I������^N
-�$��k�k�}�pno�!_���t
�
q��)��V��U�o�W������͟!�
G�/�_M�)m��N�c�����<��Ug����f��1��J�Fv좧��I�N�vx��E�
-3!�e�2h
\r�B����@}]�8�^U���`�f�ځ��L�
�tc03��7�ߔY��O��38��������R�.c?�'�]Z���U�����TԺ!:%�PY])�'�
-Gʶ"逋�\��oDaVc�Ԍ�uٳO���g�
��݇\׈zn]	/��}��Ej}9up�9�"8��-`~�9����ղCb�	G�)�fՎ�A��t
yt?+�k="0�V�'��zG�[ͅ�'M����j�O}b���1� �c���$>�#�p���&�1����L��;h�=r�$�:�uz��k0��z>��m�����t2��4�r
p}��C�� U5�B�Vx���d�!�nx��!F׹�]�2TÞ΢eӪ*zù[��t��yBDh1G=�9�
�L�>'�C�ف�QOS0�{�o����ZG��,�(8�
}�.lG?f:`�LY���ė��~�o[�S)�y��Cp����ٟ�.��}�)�6�"���]vo�O��9���nf2������"�� �-�����}��:c[}�:
��g��q�2"\�"qô�ă㲷���F��u
V�'%2���v�0'�K�x2
-g�]��٫xs�x�� wNێS,A-���ݗg
ɱO?��݋�*�e}���
-4L�uP�d��#���+F*A>�вiHM^�</��[c��$=���~aA�F�<���4]���;����8j�7���~�x�XD'Y����M��t<-�J���^���~L.����C���߱�̺��ta��.(��<�ױ:H̷� �U�Ǘ�`���$�;���?�_�/���n�
����I�>U�T:s2eL.3[q���f�
��ec-�mFs
OM��SD�(O��z׽����o�	�r�Ea���ٚ�wBʼ�jz�
[���1#FR�K[�	
��B�|���ʀ�.�83l��W�6b ��
6�������,*<7��_5W�ڛ�	����l�R
-���B.t6�y�j�3:����}�H-o�b*Ӷ��'�Pm4�1��v�j:�
�|I��囹�ȃb�EH��	�`��t�|r���>$G�h��,A4��DS	�
�E n�(���~�e�YF\�]�L�
-%{�
�"��Y!�9�u��8���²'hGh-�����^�==�D�E�mȞ~3��l�1Y[�Z�o4&z�r�
7"U.��?,��H���7��xR�a��(\��/�R
~
��4�Ԏ쩢4�R�{ї���m[ޗo(�z�>�-H5�f���Lu>���Z����
�����'�m�h�רx�m���[
ylHI�.@��`�b��O��l���ڭQ��腻
L]�%�7gA�8Ɠ������Y�
����v�K��u�R��W�V�xZM�`�o�_�zz��\���~�]�ɣw�-_*����p���T�RV��*f��V�VE�l~r�!h��@/�I���^By~��A�;P�7$ś<rigoA�䨜J�R-��
]���p��+�'�a�FS;g��A��^͇vYP���=U��۲UcV�6@���g��/)��*��z�s?s�e<F]f�r�����v�|���^����l��վ6�$��l�
�h�#�0\�
��XI3�Y;
��´�
P!3)(�sB�)&�&��.몪����Xi|#Ō��
?P����
]"s0Y(C���5�
��-{��	��h���TO�]�}��.4[=���K
ܶs�
T^����.>����6�l���F٫��	V��ֱ`���dͽ��<-am�C�)Ð���aY���D-�Sߔo�5"hpta|�P�����x��X�B��̼�mP%x��-��
-r�
<
ܘ@c
0�t3���$> *�S�''�@ �<�<~|�!5\jLgz�d�-��9��S�6�c���oc��?��u;,�~�� ���YM�~���L���"DЗXI���
aST�2���nd[��r:��r�x
��|�U�
-������
`�Gp��ǩnz�+��I�^����`�D�
ٷU���n at U9v.JS���
]��n�p�
�5[�f�g�c�(D|e)[=Z� j���+b�q̕���_KVI
-��
-���d��N;�uA����ͱ�Q� ���|9����+����U��F��x.��
����Mm�^UA��
kqm3a�.���!:���
-c��b�^�H�9��L�y��� Ht�d�')��˦�V��J��x�p��z�E$I%tg��cڅ���tnp��ᦃ�X���2{�-Y�366r"�z�we��O<��V|~|�W&�G��s�Ng��W�}�½X��
pA�r��
^� }�VF�G*MDE�$ɮ�^
M�ʝ�YM�8�?�[�	?p����>تb4����.,(N���ET�0.�E�	��%�%�-����Y�%a�1�����Ă)�^
mu
-�]`$���$
��3��k���ī�)¼7������Ym�R����{4H�S��;�[e:&�xW�\Z����AhK
u>���y�e��]Q�!
d�k��K 5V�$G|'�h���?��]���}C�:��qs�>��X*C�����(o,�g��u���+���|A���cy�Qx[;/�6D[��/@�����5�l}w��a�>��?��x�nR�
�2�a�5��$�^��W|�'V��
-ۛ�D���x�q><���;�d�E�/���w87)DA3��40gK2���U!D4
i>�y����-Fc"'��rڠ#v�cQO���B|Ȭ\xM���<Mˢ,�I�	��VE�l�`�x�9���ԙ��5
@|�n+��&%�
-O��������nl}�.���BjG��R%
-����yh8���Ζ�2�PE�[������`�W~�6���65�D����d|n��Ɨ������?�?�/�eW`
�x��#Z�C�ږ=���r�H�񏰢
-X�4�Z�/s�Z��"�c�f�&.!�MY�N��

)=R�4U�9�M.z��;��e��b}o��-�
|�v�Z]Q��35UGO�D;p�3s�,�M����1�TxV�+�1�߳�0�DZl?�HX��s���P�Wz�Ur��#F+�fV:��`$#<~��Kޡ�ò�ʖ\̾m��`5��
�c��;X�� P�
���)w�K6 hd�b��{��:Zd���Q�j�l2�4�9M6�hª+9
y!�Ç�s��Z�U������Ǘ1���_E�z��Qu��䅬��mʢN��e}��k���}ĝ�՛eE��k�.]Z��H���
-@�"Y��Ύⱳ1;B��l�jF��-G&pؾ��Օ�Ҽ������9k}@%@�z��0�J\�VH�����"����‡'���\Y�
�O' 5
��/0��MS��6��Y���
�A�eOx؅�
�v�^qfJU��8�%��ȁ 6����HQ���Q<��¡��TbߞƱmB�Cm�mA0jSKs1X�
�)"J� �
-�DG�X���O�)r
�<�����rk��mEL�beuĠSS��G
-;
�{�.�;������&�!E p��;�<�șE�t7�އ����V,Pyq�pڽ�Hf�P��
-���
P���N
�����(���Z
 RT�9�w�^�?A���kh�6�K">��)���q����W�C����j‹�G&�D�05a<є�~u������S�m�̏?����:�f�;nm15&��i����S�-ym���ް�m�s�*q��_B��;�>fS5F0�u��-Pݓ�yY�4����
%Pu
�!��� `%�ís�]w�v�Σ�nc��a!C�A��?�P�"����X_�2-%*3��n���(��@��'~��x0��x]��X1K��/��Rh��a#=-YшH�LA��i����A�`C����\��;�6�HjG��p�؄���~�\��wK�����eH���\o�0�
��9��*�����ؘo�ڝC��ܠ����� +���m(dAゾl_��a��XIT�4
2I�T��f��������P;��+�P:�8��yt�=�e�q��oQ�
-/TШh�|Go<Vi2����
;ZÙx�͎�?���]k�r;	��EƐ�Kb�8���+����!�Y���XdS8+�t��P?
�3�5B%�����	3iW�!��W��Ϧ������*.{�R�
-�Q�-��?��>�q��W4��!���'���MN���'�;�+^���%�4��J��2G�T�
v-���]
������_�y�b�|t�Mw"��yl��
I&4��
��p#h����fp�N��v�ޮ��)�ϰ�?ᩜ�U��$�2��e��p��d�̍��E[���ҍ�c�}f����'���A��C
x���^����
l&��t~D7\r����@��F��?��C���v����Y��o�
xS�ְ0���9��0��
WYS�7�qn��л�����(G�]E�M�\�� vv�ҫ��e
H�AW�X��O53|� ����B>�\$�%�� ���ׁU�4�^<v�͖�����q��
OY��1u+n�!^+�0�d�e�����숆�7�ŋ^��	�g���XO��	iqu��!7BDE�+	���n7+!�
s��E ��~[��q�͝:��\~�jW��WS巌���HR��;vFz���P���}E���q����$��˖/�[�T"o�o��k����OR��z����s!�pፖv�U�xl
a �J�Ͱ ��q_�PW�8��c�c?�2�RksP��s�}5�<
|�"���!���D��k[���s)�P��xMA$ŲcMm�L]'��p'��\��-��D��ԀƗ�I}�v�.�X�r	y�8�ui�����1�&"	��d�M{]yK�;F���ӻ�o���B�kR)i�!��ẹX�;f��q��EB%����/�(��%aDKS�~��J��@MqC|
-?�����4r�{�Ÿ���K����J�~@�P�����Oo��w�7�#e-Q���)%�	p��
-ܵ��dTg��(٢�J$ƾ�
�H�A�,�ґ�*֭���zAO�*K�ǃ�k�bY�/��X���0zF3��0��>
�O~��0v����qB��:[Jb��?|����cs�IpgugB
�#P��+k���<*<���~���\��)/[C}~+�i�{�|�ɫ�X���mG��2�GP�5�s(�
����q�^���d&��	�v�Y���ئY��X}��t�*���$GX
� Ħm+w�d�*���� ����8��%��qc}�ZD�,�oK+%rD��wo�O�G޷;1V��w�N��>��<!���BF[�uD"�XSI{�P���!��G9 [
-��U��H��H 
�h�~v�ZQ'�ב�����;c�zv�n�d&�[�
S������#����ʈ?lX�
�I
�_��CN�X�P��K�/e��Tʯ�i6R���;�u��^ED�(
�4
��y^��z��2�V�8��-�?fט�ϞV����1�uW!�_*r�1��c�ɵ���?E�yϾ>o��=
V�n�p���␨��x%P�!RP�[4�?�a��ҸC|T�8?
ow�
h/�-\rV*r\T6�}�È4X���lM�9RYM.�

�7U�z2b��4�4ͩ�3�

�9
-Cp�	���Ó7M����M�4�3�K9�e��=���~����K�}
'+��hO
VKEi8���m
�,������_�%��
����gv
��[\�
6���(��MKE�����F�Kƪj+d���^ʅ
-�ID1@�
#	�W��� ��>�� �u��
�D�S�P}�i��hR�KmV���
帗�|��~�
��������I<k��<Ҏ�	��
��s��w�&ߒ\U���^	Fs	�Q(��2ED{��2�"�D��<m��c^)j��z�,[�N!tO`_~��i at 5vD�[a6e1G�c� ���B-�<XUNC �9"F��y �}�"�X���
��9�d����4JM�]�� �2?��;�O�NA
5�������r�OP��UHnj7v�+�i
"����ϩ�;�E����|4k/�����	f\uAI���b�0���[ ʛ����:s1��sd}�*��o�D����HY<�L�*Krv�X�D�74ז
�u#,��^ʾ�vV�S>;R�5W!`��m��m O��Ѣ���o���&k���9����5ym!sW��
�f�p�\(�GD[���	q/ 93��z���G��x�j��y��79�i��>)�4;��H��3c�;��5��{;P�����ӜW/�������2
'��3�x�R�C?���4+�tLq�>b��!K�� [...]
-��2
l��"�X�x���*iS
����.�AZ�x�J
�|Ş�Q5�A	G��Ї%}�Z+W%uT�{��ɾb�BLe�H�l����pR�VuBMzp
��,".*MÓW��+��
�jLA�qtɤT]�I��(z>��9ޓm�X����ട���u���~؇�
�;๽L���
�Ã�����H��L�Y��E�e(�dgK�cb�Лr�F�K���
Rc�"/���d�q�7��aAmP/�N�_%�Q�4LvD�|�?N��(��>/F�[����X�ζ
x��"�s�#)��8@ذ'��9�;�=�����2�ՠl������dY	"<m�GE�#5i����G%���
��Y��90>
�6"{���
Qʻ���t�[��
����~!8K�2��Ӛ
߮oF4.��rg�r�e��6=7_s���Ga
 ��{�P��o��B$�ٝ?y�E
��1����?H��!�6R�f���b,c~���K:$�PR��V���Rr�v8�e��<@����c	%��ᑠ�5�ZY�m�Bb���e���`i��8��.j��u+������V�ي��|
/
)Ӱ�� eY�#6-t�
x
�%�W�yω���
g�v(]�8�P\������d:~�a%�ijf�C
�w�?�����/���]�B6���/��4��i��R#]O.��eK��@�
��l��I4h��,�8���j	
-����CG��koL�+lMU��0����$o�x�on[C����ERk{��2���t�.����h8iۅ�@�'^(�#�U�&�x�H����I�mSC�}	�6S�ؓ�-E��U���,��pPwW�%��*|*/�k��-0k�J��t�L��DŽr�æ0�� ���y�5�L����rй���d�/��ElqZW
-s��Ե<�4{(�kZ��&�D��u�I�
�w����c��H�dgHmm���`�������?g,�(���SU)Y�3�/� �Z��[��Q�k��Gq��2ћ�(��*�:��MY}����.o���l�(#�3�c��$oF߲��ڸ���
X�<M���.(Yo'�
�Vt�?�=�W�o�4�\����j�D�OQ7��u��N7k�pF��5�¹�4����j��[%$��!�
��s���W"M_y-��H�a7R��0���##�J�b
;In���і�.'̂�灔	��b��W�������^JS�%?tu�pitx�y�g��J�7 eo�,�
-�'���2�������A��/0���|�D��Vpyw���,^�
�pzuV�هXzCЃ��͸�;7^���

$95�
��w�hR]�q( -	e�5[�L����+�
��R�F��,ѥ�	6�x
����J']Y��nZyZg��b�)D�$D,�TίY���`��h,L�c��.���V��\�+���uͣќY.
0p�Ӊg��Q^��uةh�
�g���
)����c}�C��X�*��x���E6���M%�l~�\I�m��~Vqc� �� ���qb��z�!񶯗تθ�6���BKm��f��ơ��s
o
��R��M�ҿA-,���
|�*�_�p���&��d�'��:�f����ǍI���m� ��oEE�� ���۳2|�K��ɻ�!O��@��嶹��XE��G�S�
o�[.��u��e
��bT0���nA���TLZ�FG��zO��4=I����݊M����bDJ�����$>��
[n���]��˙�lC%ݖ��b\��͂Q^F%�|2-��L����������~��?{��Y��6 ��qO[�
[=���;�r�c��#��6>5c��f
꾣���
�:�,���x��5�#�>S�@j�ppi�d��pb�JTy��!| h�J�QR�Q �����R�`���̭c�Գ�
~�Rlڔ�13RDT?ce�d�Z_�o� ����p�����P6��t"�P` I�
�����w<���=�9�%������p�8
�
�-�iI4d\��Gu
�E�=�������!u�A�sRB����������F[�n%
孌g���~ϐ?���;q�mW�3��(iu�e�38P�ܴ���e���
�E'�����

��z�lO�
k5��`���
�V�-� �R�Q��v�	
�gH���T����>e�w�N!N/J��$On�>���щb���s���_�g�P�͙�� y��W�'���
�i��(���z��%p
¤xv�;�7VBF���b`o�����|-V�s(���oܩ!E���mt�
0R?p.��y�;�Θp�	�GG�u�d��|h�u1�/��0��ܻ
��΍"��SD�Aգj�p�i���	�ؽ3F�@lJ���y Zj�Ʊ�rK��Ӧ�힂XA���cy̝)�Kܴ)����٫%~�D��*����7�(dd����s?� 4%�*ː�t�	��L��&�me���.�㼰BR_���������M���L�FϛPc)�ZH��p��lZ�H���ܙ��q��'�$4W�{Z�)�^��Z�OD��w��+�&`|���K��D��Byς�������^�$
���Ѱ��BR�b������	RU�G��J �7S�2��$����
�-+�&
�6��3 f֕���I4�;T'�>q7�PJ��c��f�
hE_��`���?�
�gI?^T����O9�s<��~,�����mw��"Z7[��v��_H̰��$��{��]'0��Kso�2��
)q�K ���Kz*�?'���NO��|,�&p/��;��pDx�.E��eW���ֶ�xo[
�K
7f��:���z��>��fm��z����%�@��`Z8�ߘ9�EЅ�b S�mW�
����r��m
1��Pg��/n�}��X"���^m�h=åY��5=�Y��</�c�vI{B˯�

�
��x^���N���\k�JS���IJ�F�`��+�8t��

\z�r�HSs��ߔ���f^�)�`
I_���}�F��]���=c�0�Պ��>U�#
���^k�;b{9�|�g�
*�l��KJ��\5p\�X�FЛ �<*��c�^A�up�BKͫ+� ���f�o]i�͆Tyf�(��f�1�R@)
mp���VhsyF;v�Yv��B>��L��Ε��۝�vh�H�<�:aeg7n�z7����x���#�X9�@�����"���%�x�rYm��FR�f|�Q��G��i�
"g4�	�P�W���
���2������a��Ġ�_s���
J�
-���q�۫�܊�(	�8�1�YG��8�,�����q�}�ybAvh���>n�t��y{Ԣ�� �n��<���\�Ӯ4��Ǣ��z��5_ia'T:HR�݁
i�|��N}nW8 5�qʓ?�ey"�
/�-o�6;!)��ፉK2�W �
��T�`�n�P�c����"��[��ϒ�m�"�&8�18�E
0l�
����-w��<�9L
�Q� �Gw�T�Y8��W|z� �V�0VMI��B��Fo���(�$|DX�]9�n��
C!�K�
n����>gv�J��M���y#���2	��(�Kp��5P�}UN���/<-M�7�$��y��e�c!���y��w|;�K��
-b�a��'���R���D�ό���n�����%�A�筟
�:<�,��	L�[�"܊i�
����mlV�yc�7

1B�]{��vM'�/+4�"JZ�
��W����R�Y
%���N�0�G8��=R��e��Zz�~�<�ǰ��9���҅(�R��J
�2'�Nx��[OfPR钩Y�V`��o|n(�����g 8N�����Y�y�c.�얗ʻ0�Z�-6�׼����T[�H^���]�fQl�B��$��:�f�Ew���v�}����|�t��i�_�M���8Z���w
6�,��g�w ���As� 3��7A�/P���r�ش��&U�������HK�xj��A�굠��S%���nnV���[�7�̮��
-���T9�Y��Z�������u&�К����z=]���,�X�'F��ټWY��Th
-e�X��G٪���:��k�g��c�(s�*�!ȩX��D���bm��eA�N�h���g�D�7o��12��̘���l<���哵r:�*��[�-�bu�r�}{C��L���u=Yu[#����K�KW!ܘ�6��r(�;�	I

�վ���i��u����?�_
!?��
�^�
�E��o`
��\a/�
�B�`r
SG��߳�+�T������y?\}��Q,��
-���J�x�L�ڨ)�Lur��7i
-���%�}1�4���fH
�dl?���i
H�~��	(���vҘ_W@�c�dx�Od�x�����%@Z�����V��6�:J��-�3�N�YY<ulG�
S7� ����m�y
�-9�+
,��@�������Q������jKA�)dW�S�
N6My�?WU�&�xa�`Po㮎�����`R<�j�,
��4
���{cs�J����HL_m�6���/��cO*y��@)h��h�&�w_����
l�f2X��^�)	n̻#�Lw�E���Ls�k�Fb�Le#�{

�/��
�������M�
��
�]��̅9D�V;E=�
�)i�
����ڼ�_6 n���9�߆\=��%qnhO����m�8�������1�41���K��|��
�jS"�7dE��b42cɉ8x
Գ�� �9W�
���2�����}
US͑yCl.�;�M�=@�9�8y�f�n�v�3����Z­U�u�a��W�k���%g8��0]��)ܵ<����
G�2��U�i~�ĢA�
S�ʸ�ܷ�)_����9[O���	�InR�tk;�M�ل
-��s�A�	����r3M���<�9����	�A�Oء�
+���uM����j
��;�7����‹ɝ뜉�r�
�Y<lΎ��*��A��T�R��u����ùE�>���;B0��V��(��WP���BS���I
-��#�5�}�N�
�]?t`V$���pXQι���3�<��^�0�ޞ��.������"�<I�ݷ��e����p�p��L��&��2E�endstream
-endobj
-229 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2495 0 R
-/FirstChar 2
-/LastChar 150
-/Widths 2504 0 R
-/BaseFont /ZIPYWZ+NimbusRomNo9L-Medi
-/FontDescriptor 227 0 R
->> endobj
-227 0 obj <<
-/Ascent 690
-/CapHeight 690
-/Descent -209
-/FontName /ZIPYWZ+NimbusRomNo9L-Medi
-/ItalicAngle 0
-/StemV 140
-/XHeight 461
-/FontBBox [-168 -341 1000 960]
-/Flags 4
-/CharSet (/fi/fl/ampersand/quoteright/parenleft/parenright/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/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/underscore/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/endash)
-/FontFile 228 0 R
->> endobj
-2504 0 obj
-[556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 833 333 333 333 0 0 250 333 250 278 500 500 500 500 500 500 500 500 500 500 333 0 0 0 0 0 0 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 0 0 0 0 500 0 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 ]
-endobj
-221 0 obj <<
-/Length1 833
-/Length2 1649
-/Length3 532
-/Length 2249      
-/Filter /FlateDecode
->>
-stream
-x��Ry<��
VQ��R*┟l!f��^k���m�3�1f53�9�E��FBL
-9��v"��(��'�,�R�;t�to��{��������������>ߟ�������

��تH5�0��w�H5L^ބ	��$:�džt R[	�� �-
u�J&L�
�D�e�C&Jk$-`D��$<��ql_�����(���'Al�0�P f�
` �
�j0$Hx6�$
�fȂ�CZ_aB �[+b����!�I%��H��(
@�|`p:�w��0���� 
-�G]�_
�/m
�D���@�2�X�	��#����"��?v-�8
-	oD#R ���PC��_$�QR0D�#���GaA�8D#�h��޺��������׭���p$ہÀ �;y�F~��1I��
��@ �D�����Yf4<�@��:Z�L
��K��� 	H4
�`�a�����d€�	[[*
-�q,~R$��ߵ�:�q�L��!Hu�� �ڍ�	�
����;��
#xS���clLQ� ���IH��6�:��o<| �	�������ڇ��
CxXO7
�{�/�2�n��~C�u��ֻ�-����
!�
�u\����y]_��!q
�{I�Y���y���nV�^����nP{i/Ή���mUEq�⾿Sjf�k)��p�9��=d#ZE�o�]s���w)c�Jj�n�߰W��?ֵ,%�5*�
3X������m1?IE�j���`�'�`����ĕ���>���w9��%+�+)��AO)�O$�g���HZ��.m8���a
�%��*�lJ*�
���/��k
܏t(U
y+�2�*z,O�3�X<Y����~H �|�j��\�>�<lP<sr�m
-�T�OH�-��Z�h�/=�~���qo8�����؀j�YOf����=�+�;��p�b�ڕ.V5}�
x��P���g��v�
�4�J~
��
7��p��PP��C�cY2�W�x:22c�@��⅊*5ͯj���
�Uؑ5��}mݝ����2�ߐ��XV�
w\m
*�'�SF-�yO��x����������j�a��s��n��3@���Y�o����G��i��~�+q[���}sgN(�|��m�ұ�T��k<�Y��|������V�
�����δ�}�,ta�РiP��z���a�9=r�����D��/

	�
!��p�y�HMd�
O�wo���v���+�J���Μ`+����
y��/�s�Y��Bvk��I9u��D��y
��<�~��>�qe1��y���*�$��5�����s^�W��v����&����\�Gt�r��i>����Oc���.����[<6�������%���uˇ��Xg��2n��/�/*;��D�Z�{U�R���/�%Y�-�˦G�
_�s7�U���j�F����vA/���
��"��ط�
�m
�Θ�PK�=Ӥ��|�c�k��Ჸz�V�q�Ɯ,��e���g>�P���|��y8bh$^��$�N�)���`�B�s���&b/�����Ur2�
����6��m.g�F�,na�
��2���sO���خ
��
nb��N�M�G��@3��+S�Q�pJye�T��˖����34�
-�%z�	:����M�H~>p&�Cc�п��ڭq1vD�/�$:��01�u��&���;�;���jH�'�I� OF�
�8��S�V��Y��;ԹZ3��^q�m�D߫�A��>/�y�K3�\�.���L(`c�_e	���;��'ٺo�$_�=mHy:v�X�O!NXA/D��Գ�h�C0Y@
1�?�@�lm~M)�
����M�P�3�#i���+u<TA"������7
�*���ؐ����)"�;�O
?�7O���{J�
�=�P ��d���������v�2b�<��<Sy�C��9LPCf�<�NW��%�������������	
yL4�;a�=��d�OƯ���%";���M�<���
�l�wi
rѵC�H�
T�hk;)���@��C����,�^�@%=��2��r#��S� s�Zmad�'Y���pg�OZë}���{Gzu簴ЩwG�b�*���۔���l�Yڄ�%�4��Iz52�m�
�"�l�d/�"CAC
B��[A>���b�
^-�� [...]
��N�_�
��<���kDJW8n]K}���<8}I����$��9�aS	e����yx�hk���HӇ�)3��=����_�B O�pL6��c�a� ���
endstream
-endobj
-222 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2505 0 R
-/FirstChar 3
-/LastChar 122
-/Widths 2506 0 R
-/BaseFont /YIKYDM+CMSY6
-/FontDescriptor 220 0 R
->> endobj
-220 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /YIKYDM+CMSY6
-/ItalicAngle -14.035
-/StemV 93
-/XHeight 431
-/FontBBox [-4 -948 1329 786]
-/Flags 4
-/CharSet (/asteriskmath/prime/section/dagger/daggerdbl)
-/FontFile 221 0 R
->> endobj
-2506 0 obj
-[639 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 366 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 574 574 574 ]
-endobj
-2505 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 3/asteriskmath 4/.notdef 48/prime 49/.notdef 120/section/dagger/daggerdbl 123/.notdef]
->> endobj
-218 0 obj <<
-/Length1 792
-/Length2 1349
-/Length3 532
-/Length 1924      
-/Filter /FlateDecode
->>
-stream
-x��Ri\�
e�A	.�,"V� Y�L  �K�"в
Ȧ�IH&q2Q�4�*��X�"VVe�D�U��E,H�(/"J�e���߳���~��2�s�=�̹�l�_�

D�������p�
] *�bf�F�0�	�au��#Xb.������`8AJp%ƍ&��۲)�`�Qc�8��h���`�<(`c()���V�@ *B�-(B�@@06	�P.�ShS�<q� 8|���#�%D�P�BrPFD8O�C���{��$��P����y<�?e?U�_h���$
-|��D	�- at P�\�~��"���9�I�<��¹<�@vT�-���ܱ8��Hv4��<:��8�ye{�Aha,��`w��:���N��Q@�$���O��#��t*�)����W�g{���ù���0A�
-]i�`2�6`8��4N�F��r	P6#
A�:T�A4ʞ�gS̟ h��*��1>bHo��O��
-���ҁ��rZ����������RV�q�`ʺQ4eSd��sb�ѳIE�k�ڊ�A�z{�l@�yi}m|&�H�'��p���
E��&��[
���G�Ն�>�6�Ν_Z��}j��f#�+�@�3%}֤�W��M��<�Ka��H<<�lj-{m����'�ǮayG�wjϳ
8di��AV�)W�7���;ƍ�h�<
���v����)��:�n��CpE��o�k䧒�P�%v]^�tTw�j5Nx#����V]�5/@c�^K�2�'F������������t�SG��%ы�������,<�jf�c��-�T�
/D�qy-Yf����h����ซU�
�~ܥe�����4�0��v�;`������/Z"�O�j�+���>���]�|u
]o����>A���n�E�h{���d����x��a���M�M	ɳ}�
m����9ZΦ�sn��̾-1i���DŽy��7�
�+:c���6Y�]�$�n�E_�>�a���~�]���j���g�]�|�xu'�q�*��#� [...]
-�+|F�i������Eìߥ���~VU�����e ��+Il��o^�ms��Q8�>O7���1����Eb�ʂ���	o7=m���V�Vv��������;&��
/VJ�u���$�ƶ�<mNK�~����h��
������K7>�%-����م!}a<�5�U2Â]Ӌ{QMs����B�+/_�l~�z��װԾ/�שn���������q���g6�HA�e��|Ab����xucr��U%>� #y�|O�W_k�e�b��)8�ts���Ĺ���dエ���3w!���];��<w�
Y� ]<i��9:�r~�X$�<�,x�YT\U��Pr}�&��Q�ӧ���W�u��3��έ羒?��+~b�٫�H��)��n������H�z���{�4E� �M
�2nB�_
�L������%�G�E�%
;`�1��
N����*�mG;��+��z������M�~�-�:7ė�B�~�_��
�9O��kq.R4�v��9[�$c�#�ӵ��+��dC�����	<Q?R]ZR}�ueE| [...]
-��`�'R���m��|f�^�K�jd|#+oEa�Z�۲��=���@�/���l

-����? �endstream
-endobj
-219 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2507 0 R
-/FirstChar 120
-/LastChar 122
-/Widths 2508 0 R
-/BaseFont /ZAPYVF+CMSY8
-/FontDescriptor 217 0 R
->> endobj
-217 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /ZAPYVF+CMSY8
-/ItalicAngle -14.035
-/StemV 89
-/XHeight 431
-/FontBBox [-30 -955 1185 779]
-/Flags 4
-/CharSet (/section/dagger/daggerdbl)
-/FontFile 218 0 R
->> endobj
-2508 0 obj
-[472 472 472 ]
-endobj
-2507 0 obj <<
-/Type /Encoding
-/Differences [ 0 /.notdef 120/section/dagger/daggerdbl 123/.notdef]
->> endobj
-215 0 obj <<
-/Length1 861
-/Length2 1309
-/Length3 532
-/Length 1928      
-/Filter /FlateDecode
->>
-stream
-x��R{<Tyn�m�l�������	ErK��\6�c��8���0�\V�ƭ�e�rKim����\����"��K�(��C��g����~�����>�������[��ilC��\�И�'Y [��ID@�qzz�|"\�
$�- �ܜlDL@""�„hA���-�'�#�`!0�];K� 6�Gh�@�`��j� ���X(�
Pg'�
-
`~L��H$@GhB3�0�ȉ���g�.�}i��|j
-�&��"��aI 
f��\�,u��05_�A�b�B�Y����և�K�'��扄0�p�0�3��6��{~�I��
�ɂ�1�O\O��@���#BZ0`@,<��
�|+h|sF.�|]wl7�s�sMw�wHx0 ~e�դ�5�?"�H$�D����?�0{�KG8L`B6�Ip�
B+2� �C�� ��	xW�� 4�H���q�k%���
�
 �
"A��_�
x,��dt�
p�]����0
f�
�W�80s�F
X����s۲�+�061��f��Hf�B!G��H������D��R3tc0,�i��V.����S7�.G�g=ȓ%`'��_��W�G�E葞�t��La�@FOaJ�jH��6��	���ɮIo3U~*�^��{8�\�o�T�엞\��H��:���=���Y��vMt�R:��ά�w]���R��S�/�wbV�J:_��=V
}�n�U�cg'wU��T��a������3š��<��T5����ѧ��%U���4t��^��(
�FiD<�˓W}�0��1��
����R����@]!5Ʊ\�yU}���)�z#ד˘Į�

������뗫��O���9Q�/B!犎k�
�
�-���K59�����G�˪[˖�T���mS'�c]�&.�‰���)��gæ
�
�{c�
�V����/�%�A咫�u%��L�:'[(�����]Td�u�
�_u?O�“J͢_^��)�����5�2�V�����>e����b/؏�(��a�ưڃ1t
C!�c�nץ�Q�.�ɞj{��*���
p�n7��|���$���(2����*���J�Ӗ��ck���^^6����ͷ�kEWȞ{�;<S�_�j0�0��� ��s��3yV��z�>3X�
u&%Q	Sa?�?:���ۧ�4X8��l������pi.�g��L���AΛ��5�
ty�{?mQ�_�鞈y�O�q\� +�ϸ^S�w�$�D�;Y���چ�5-<�Yp0�7!��툇]w
�����B�'�s�\���,k�����2�
��E=:�
��!��*K���<v(Ƕ&X{���
���7� �5�{Ӈ�y�]���j>|D5v6Y�S��C7~����߂�J�>�0(1�!D��9����(?�l&��
/{���,��KZ=|����,�ĚnӕyX
Z:�S�-�k�a]����K [...]
���~g�l���~/>
��N��\��Cř%�%��b���ڬ���h�����u�7���I5�ۿ��*�b4�=��Pړ��
�O�N-��LJ�c
-3'��Z��^	I{Z`[+��FG=;��`��׺ۿ����JG��m���z�l.:�3���zѓ�ڤ�Po�Ț��E�����k���uF�BX_�]�j����߮&_5(aT��>���H��Y)��w}�_�o�Zz&�uF������q2�1��,g�o��k�����Q埰>܏�2/�*�NmE.S���+�U�S�1���*���
:k`�3jqSb�
YK
/��k�4�k�"�O	~G�]u���J����J��&��)}T�Ÿ�N:vR����Zcn�|��2�
-V{��D������G�X0�r�?��d�endstream
-endobj
-216 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2509 0 R
-/FirstChar 0
-/LastChar 54
-/Widths 2510 0 R
-/BaseFont /MJXNTK+CMSY10
-/FontDescriptor 214 0 R
->> endobj
-214 0 obj <<
-/Ascent 750
-/CapHeight 683
-/Descent -194
-/FontName /MJXNTK+CMSY10
-/ItalicAngle -14.035
-/StemV 85
-/XHeight 431
-/FontBBox [-29 -960 1116 775]
-/Flags 4
-/CharSet (/minus/asteriskmath/plusminus/lessequal/element/negationslash)
-/FontFile 215 0 R
->> endobj
-2510 0 obj
-[778 0 0 500 0 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 778 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 667 0 0 0 0 ]
-endobj
-2509 0 obj <<
-/Type /Encoding
-/Differences [ 0 /minus 1/.notdef 3/asteriskmath 4/.notdef 6/plusminus 7/.notdef 20/lessequal 21/.notdef 50/element 51/.notdef 54/negationslash 55/.notdef]
->> endobj
-212 0 obj <<
-/Length1 1630
-/Length2 19951
-/Length3 532
-/Length 20864     
-/Filter /FlateDecode
->>
-stream
-xڬ�ct�]�%��b'�m۶Uq��VŶm�6*۶�����ӧ����t���^�
s�56��
-����P��֙���� oac��lg#o�%K�
4s�������8
�-�lE
��� 
�	@h
`f0qqq��D��=
-�̝�j�T44��)��`�����Nf� �?�@k;{���_��kG �l�ZX"
-�ZR� J	y5���hh
Pt1��0�Zm��T S;G��� c;[�Js���%�08��-��ݍ����h�@G
'��� 
'�������
8�,l��]L�I����_	�;�������
�h���d�ha�
�UQT��y:�:����`g������埒���
�W�lha�p�;��0�p��6���/���ſ�pq��5��
h�@3CGk���_����t�?��/���[{����_V�3
g'��)=,�ߘ��c�Y��2�3+R��v &��M\��C�
-t�W�(����I���Z{ L���
�v�C(��X���#�������[��#��r�\�����_��]���
m���w
��1���3 Y�?�������chca��������� �r6��![���0�3�[h�$n�4Q�p66�Z��ٿ�j�&@Gk
[�_n��V 
#�ѩ�[[��CۿU@[��Z�_���?��������f���P�� 8�z����T#gg�?��
۹���9t̜L��߄��Y�oB�
��?�r�Ύ� ��u32�������I�����ۙ�3:*Ά�&��
-�Q�8:�%�_
�o��q�����@c��%;c� ˴�t�:����:}L�~ۗ6���������pU���7Mq�{,��
HS��aXS� ���~�P��l�wr�
0�"��kDy]/�n�k�3��N()땼C�Ou�8B_?S������>�#��6Ģw!7������'�<?Q�
�=�{
��K�
C��
-�@
�球+��V��N-x'� uw0h��r(�Bj�o,
wǩk}*<Q�@
+���?g��0Tܰ�VfT|B
�,6���� �~)�g�u�I�K�KUX��Kް9l"u�
4 ��u�6�t��^�ư)�	�c8�!� �5w1'Ġ2�
.e]����;E�8{�#[`���5�������l�]S�*J�D��Fc�1�yG`V�$N�W�)����In���`��� ���󓑆���ř��8>H�]5-�\ɽ��L���šx7���r^���ú8*#��n�Z
���%	�`
��F�v�AgZ�}��|�J_���.)VN�`��m�q�#�
w�� 7nd
{o�HTȍ\��h�_xX*Ԩ�-���v�oYh�&\]˘i\m����u��>P#�
�g�/�žG}]�������2����b) �l�
�c�և1�Q�*b�!8A�q���@&�U |�#�ך(
0 at i�i���
�H�(>^\�y���H�OQ���R
ѫ
A*�Y�%��_��a�,'����q�&��v�笭�ߴ օ�WRkW��EL5���O�4���E8�i���qI<���Zr
�-zeS��� i�h#�n�vIw:ѼՐ؃>jl�:v at s���THC �Su�ơ
�+�z����Z�\/����[g��'�d���
V��M?c�*�D�֎��%Au�b<%����w�ų�ñ��u��'��]�a�a��`�Q�
Ӻ-n
l�X�-��0Os<A)��I+Nc��4S�j�,R[N:�� O1-��i�RO��m�����,�������' 
h��]�d�񨲰�ħ`�o7�����	�\樛��2YA�~a�6)
�Q�Z�t�M��gh�t���Լ`nl8�v��H��ڤ?,
eF�s�\/���[@~�yd���=�=�-�,D�q�6�������)�,�����r-��ҡ�i�ąs
TS6@�vI�Z=KVH����Z
=B�sh���
��S�h
�[P��+�[��Ѹ
-{��-9 _\eHQ�^xr&x���v�x�g�t�5�L��߸*�Fby�pO��2���گ�"�T3�|WBy�e��ɰ �.pƣ��0�shV�Mk���I��S�#������.$##�+
�x�9������JZ�ҫp>���
-����
-��
�m#^�;��4�=L֤G-LR¯����p
ښn -��Z(�ۍ��%��W�%�kI�6>
���
-N�
tڭf���d"{@V&���Hq�8ڈ_
W�-0'��SB�M��`FL{�Y3O&�?:]ZY	!W�
�{*2Zq*��?�YC�+H
$ƨƬDζ�d]��x
���F�n4���3�H��h�զ�,����e��?�.�L-X��q+�������n������Zڑɜ���j���x ��R)}�$��9F|3��o��jЂݯ�t�@��t�Ô�szZq~
{bӷ�h|Y�)=b��<��{Jw�R*�i���
-44nYܴ�-�Eշ��6i��G?�L���y�l��>�qO����-���P�z33���B��n��Hu~���׻Hd��}�P�wO�':��¸n��,��4�G\u�	���w�Ym�����+S�ʘl��T2S��/�N�8���q�,�q���Ç��u��<����A�u{�v�91�&��U҃o��:��

���^��p�y���Ԍ�ߎ����<�������.
Q�����
�p�('`q�����Y�ibf�Q�*^p���)�9Sy/�
3
5}�O��BHh{��N9���^�lG
-6�F�v�0;�_m�{�Ĥ��ʢ;
��{����(͝���]f�3�Ą)]i��y��1��xp�ׇM�E��6� �<�
t��1�*#\���IC7`����;���bæ"%�J�U
4AV������\JB�2
�+��={�����#��� .��
�K=�6�q��h?^hD��R����d�}` �L�	�~�7K��ѷa(u�
T�Ȑ�Y��b�����/+�����)�K
�������s��2�#
�J���å!\c��‹�Tb�����*�
�}���=d����t�?B6��L�1�4j��
�o��;�9
��HɊu0\��r�9u&��D��g=�>��VU����b�@
b�c�X9�F�3����S����$H r/�v��Y�/��Tږv�Ml��]�W[��*u�1�K�"_ݖ�V�<sRz��k��G&Gl
�x4{��U0�B��ϋC�Z�o���f�
��iS����"-K���:۶��m��K �NY
��VL�� [...]
-]<��
�A��q+,�U����H������r��ЄK|�kY8�
��M�ipE�-=�I}��ۓ�)�^#�5���U�D.��Yn	~�<`�B�N��`9���=����77�
-J/
k�
,_�~f�c��q��S�;f��Qjf8^��5U�����%���p
�=��
٠ML��_j����_:���ݍ
鱈��' H(������ �udUx"�"����$�
��5p�Og�G����b�CpU���{��ф�,���<�{>���T�w{��X�I'�$����*ҍ'v�˲Ƣ��?���ؓ�ۥ�K��ڞ�6��Y>����n�c�L$���p�d]��0~A&QN>��%�i*�
d~{Iف����-r�|��(��J�j>�������T؏�LI�f�]�
�J��B�{1��=��S�
	�U�oT@��ݗi��r���S�����e���n᥻�ʋ�eb�l\�
-WU�䁗#�
�HVD�X�?��/�
�OsCǜI�c�|�,x��i�/
-�eŞ��>+2�و�C�����e =��{x�g�������I\�JDX�L�FcX�h�8�m9����]y����ރUB��C�k!Ğ���
V�����l���i�H��R�kH���\���nk(d�=hʤ4o֖7�W >���ka��
�K��z\����CM�6G��w~8 g)e�S�o�;"�=a�6]wƦH(���2����x֥^�Bw�ӮAb�"V�
-%oWb
w�$����"�
-bْ�&����Y�#�+k����ɣ(��[P#�ϛ�O~�(�ncMF�X�
-5m@�G!�\Lxg�閤?�`	t?C7
L&/v �Ƃ�L]��7ʯ�_,w�����љ��e\.g�w��o���E���瑊��R7�{8�I))gx��
����
-X-	m�ՠ�&�a�%I�ƲC�6�=8
���U�]a��`֓<�T��
�@3vu�A���eE15t�&��;�
1y�Yv�=Bˠ�"�����<Ɍc#(��^�
��h��c
�K�F����B=�%�ڀ�v����upiaa�{�
���EYn��!yr5M�v[>,Ԛn�8������%���+�Ϳ
-}hp�k�S'��;z4tkk�.����b
-O���I�|���G&��JX���m
���N-�����%g&Z ˜�{�8a]f&mE��Tcm��H�o s ʈ��w�f��Ek<�NU���i��3��y��	K�vʸW��>�f�;Z�w���Z�~���|~�t��G�Dc��	�a:o�r
�볮u��
,/�	��ݰx/��8��m#�~O���v�s�K�5�:�s]"���w韑���(H�d7M]ғ�杺��_��$��3��d��,���pL�Q5��; T��D�'Ӿ�]F�:�f�>����y?����owt���%Gߨ�sv5�
-*!��0���
��i��$��f��	�:EB��[��eӊ�+]�=�� ����@Tx��d��T4	~���?j\���б"�d�3�f�xK��u at 9
�}a����8���h�
~�]��
�����c��x�1�u
�����
☭.�y0�Y����;f��l��惣�g�����K@�/���N�d�m3�'����� J74Ѻ��M=�cĭ?��+�
^�`8*
��_f~�
-�g���?�
�
Q]-y鉶o�rĊ�Lc#��'-�� �o
�Jyh�P���l��B���d9��C��]����m6���i�6 �kRW
�L�mߵ$I�&6PW��р��
qo���F���ke���P桾 ��'HDnjVR,i���
-�Ԗ#�0���3ahΉ�������
Ih[����f�NJ�m�ߚ�[�
i
�jC���⡀a�:�=2ݢ(�f�~

s4�
�!���Wd��
[ q�o���ȯ\l.[��˻1*�����8T��y`�
�<
*
�~
�M��\���N�����'�(�]�9R��m�
f��ݹ�()�D�
1
-"�nqH�pF#��&Y*7*y{��䖵��<��n��sOwM�v����g��dnN�j��5�^Qbe>�J�p�C����L�/oޙEY=�f(�!�U��
�^�P��]�;s�X��#��

Ç��Mƚ�,�vdԇ,Ŝ,�׭�
B�q�k^Q�w±���
�
��1�ْ2ߺ�cvc��G�_c���@
s�'6��q�N0:e��.� �Z�yx��૧
2_B8~☤MA��)�{�C^#���Q��U
� �
���u9�ݺD���܂� ��I~���4��-Ej�TR�an�َ
-�YDaR���>�J�4)�{W�9S�Bs_����vߥ��{ô8�
ʏ��CC�䩝��Y�`��A!�+9�JY��B�6�_

����0?/H
g}�$7C��o�o��$��
̹�RRu��~�Ij^�U�98�:
�9�
����q�]�Mm�g�C!բ��%밢��c�|�2N��JvC!H�,w��K�!�h�8��)N���JX���鋐���;��RKDCÐ`)*Ooܜ!0NI'er���{J�"o��$�^�7C?�
��І��6iX��ଟ�IU�RM�P�#~U��X�A�}�,��q�r�k�7萴J4���X
-<
���Y��~/;eR�8oPc0
-FX�v�]*JZQC,|�T��ew���N���^ղ@S�
-R���G1
����Ng��-��p�
��!�L`Y�<���
��t��օWlj�D�)}�jR�]����� K�W֍j�gw�VQ��8!d;� ���ŌwϬ@��j]�6�Z5�Ϋ�]�$~7 �	�)���d*"9\V]g�
�[���
#J��o���
��
-eK�N�k�k�"�k���Q?!���c�_dث0��qHU�dr��%�[����`6
uQG�0�]�����id��s�~���X���?��[�����K{� �z4�,�
�7��ɳ�S��z
��*߹>�D�	��X ��&�c<
-�khyr�~�(��&��vf��l�GT#&'?�\�E%�hl+5}
�yu�|�w,�G[jf�������I�?�w�#:&����Z�Օ�1x}���4�|��P
-��2�Y�I�s1׭�!�(���
�|�t��Qc/K8<�B���+�mP��/6&)b D�
b�.��]��n,���8��sQ�xU���	g��X�ȇ���T�:�lg�u��jnps-�V
�b����A���9D�zJ
��E��Y4,xo���<Q^�?�񧃅.0
q��(t�P�kwz��!��X��c�.��8t��d�>��>�>h����R.����A�4a��
�cKO���4¹Wh>߼�?^�6��<wq(������^�W^�Q��tkl�G:�F���I�jK
�A��`�eGr�I��k���v�L��`�o���jq�T/�a�wKY.!��-�钌�0(��D
�.��O�8b��n��eG��wgL@!������
�޲��tg�ٷ����
[M�{r ��U4#\-�YFN#x �h �)��(N�#팻[j�O��^��]u�J9k)�1�����E���+����=>=-�I�XJ?@� 
{k7
�����

�o3�q�1'��c ���;(���.�~���\�^��Y>�
���)[�����o�
4BCy�dB���l�J��
���
؆�yq�~Ϗ�H9��
HI"�M2{p�Q���?��n�$R`�Ɔ`�K���z����u����6��<XT_;z1�(�2��F
�˘�ڙ����@��J_������g`�ġ���R�2Хi��/�I*
���
��a��g�}�d
ɱ�j�����a���G�ה+�jI����n���IF
�DIE�|��Ϧ�H���5�
�������O��s�����
-����qmA��uʩREy�U�kV�w*�ߠ-�$�%����w�ѵ�����`�pXۃ�p�n31��e^�mbPM����(�![<��/�\��+k�ϲ�
��}`�'*��B(�Ԋ+��S'_o�`a`IqB
��/|�y�%��1�
-����B��t�_��n��a}༢��W.4;
rH�-�&��Ō{$5�1�<�:\��l��
a��.%��b���FJ
-2�?1zt�(���6���
o�ȍ��e����@W�Jk����,��6zK5!�lɷr�mj��r9�#�"�i"p�-ʱF�T�������Y����84SA��QF�$�_�����%ᖡF�2�n�bzxz��A�}���z�UYG�e�{zh
<oh�W�-A&rj��@�%�~^2,�
���"|�It�4��_-n�

Y�eie�nw-
��(8_�g�6�
)î�
-{�1��9������
-�bM����vl��=�-m�fH�����n�p�c�s�� �E2Z
Ls
-�<) ��>c�Vp8��f�eZ|��tm��'��	���VW�/��P���������A�>C"�6>s��gr
-�EP�&"�
LF
�Ϫ�N+�n�~>����rB*1��?�����B�`�g�i� �߅
Wo�C���H+7���T�1�e$v_=Kn��tZ%~�I,z�+<�����KX��

G��6�#~6��н����(���K;��Ӊ��d~'o��̘]�*�ת܆I ��u�eQ�D]�:5���!� 
�'�J4��Q�<t�%�D�n�F�qو
w�
�-���իٔ�\��fȸ}��D&R���a
��h�
�:�FN���1>i��]W
�>e3���a{�>�,��V�'��1��(����.ё�<�&���"'҆d��"�b�ْ
'�9��H}�ylV�������]M,���aE��P�T

�<N�μ5��"uPz����W�\L'�
\
q�|�4?�cx�s�^�`��^8~
�����5���$�j��A��qw��&Zu��cg��j2,���3��/�V��`�r���]r$��U���3�����F�s_�_#����O�҄-��Ľ���3x~w
���u��p�iK*II���΄9`��0@��С���a�i�i����e�4��&�.zǂ���j�����(Pw�-Npv��Q�T�gY>(�/�.���k��w���=�5�Va�]6�.�>���H���iSZytB�3e��<}�_��(���%ҦYT���0��l˳Ğ�:��)� P���jhD��@�x��N�K[�G�M�E�3�0���rq<ze��d�ӧ��=~@F,|�
-nz
y��XbGY�s�����(��%wUM_�
(��,J��XO2�e݋k�lYew4^��q�JB��J�^b��6zuF��˷n���=��guI��V�u�!qQ�kE�Y'�%K�?B&�����#�
8����)8e`�fǖ�������m�K
#��R�Ɍ�&���\�d`ϨI���y�ׂB��]�I�+���� 6��
ݴ�9�MMdU�T�JX[`5߯�H�;6[�W�2��%�%)1���x?]�7���*c�?�de��<����?��N[��8�b�� �1����:։���1�hK|9f��
��d^�x舊�6b�(��t���sNQ��j�_���,H�;�6�%Z�Zt��՛����X
-2][LK�3��kh>B�
��?�17��u 6��W���$�,x�q��VD���)�
~�G�I�O�|Ģ�#R*B�	?,��! �����%�,�\�-#
o޽�6�'� 
Q��7���ɘ�oq��ũ8���aA�]'Qi
-��)�dMIӡ�pTx_)�-��Y�[����o��Ô!�oe��l��Xt���a�
-xx��Fc�&I���4�iG0��D�l�R
�s�l
��=�\`K�ɠ�
_nl5��>�#
��>p���
�E����uns�Q���O�ɧm���X�#A���%+
]��=��d����*����wD�i���:
���9�{P�|�0��^�>�`S���v�(�\I���Od�ֲ�c76e'Y1N����\�E$f7�;�Z2*��06��Z�7ۗ2"�A�BSa���2�
�B��̌�H��_���
^-��B���&�-
�dua
iz�
V�G>ы�`t� �
-���s�:v��w9��m������&R%��q�.&P
c#��L+
�p-\�>�Tf���U��[�Z����Z��W�g�}5n~\s�"�)#?ȟw�"��µR�Sl���s$HÛ��S����ـ���O����.���@�

-҃��*I��sO�ב�,�m�q2��M�˃��`���|��$���
�E��R�1N)W���v2��w�k��T[*��Ϯ��<��f��W*q�)�\��P��}�B�[	|����w
-&�<1:Ȯ��"�r_��o
��#�i����FI��MI2@���w��{D�7���'i���
+胀2�ocˬ
	������	U6�ӝ�6��/��$ 
.
�
�wƏ�*
c�n0��Eo�Cs�E�i{�1�k�k��7��e�Y^�X��{�>^����)�ƾ��W����*�Nˎ��!�W�G�{��6I=����;�q���鵅�Fr�:�o�4U�I�d���3��tM�b8MW-���T�
��غN���n5� G��K�,P�eb�<zQ�3�q
-�M��2ⴍ����O��dF��M�r	�r�~��Ɓa���ץ�rg��:qS��u=:d�1�8}T�W[��Tϲ
럗q�M=�G�<���DX
ggc8�t�ݞ�fWiM0�'f(z�����c�s����H^_���vN�&�4��F�bn!
�t�sc��
�H̩�m
�ms�8
	
���$�H��Vojsto�V6M�UG�sC8�G����[/�?K����];Ch���ܖ�eƙ��Y��c�����a�
e�R��Ԋ��t���T�XjI��q���$��U�8oN�=��(7�}��C�A�Kj��;���lܴ�qZ�€�제Tb�i��)�(��Z ����$<�w��]������C��6���:7_Ɣ>���S����K�
Pk	��V�LW�
������ύ�<8XSQ#�̴5	���
��ymf~�
���<X�gI��̦	O�v���^@Bg�I�ָm�:
u��vffi���5+5�[J�,����J�x}�q=?@6^�U_���1��!)�HU
1�BB����3��xv�^8b��������3�����5��m�����m�|�'Tqh����ax
�D�O�[� '��;��񶯠Q�P76�H?��BL�
-��{�����\w0��P�H��lސ*�Bֱ�y��S������u�\�Y{:�PK���h�
��	&
�4�b�'�����\�
-�I>U(��;�V
g^����Zq�I��"o���n�ݘ�P㋾0 �%r�X-���[��v�p[:\��IJ�:��I�XÂֆ�-��}%��5A�a�Y�x��#�$s�~��
dv�wVb����[)���O��r%$�����l�L����$:3�Kz܊���hZ��W_US�����D�X��1l
�S�����X�$�S�a�#��e/��cH�j�K����Gi��KQ�S�@�8�Sef������K﯉�%w����f��P<�[�ͷ����H2n¼\P��w�`�`/��muT��
�
����-�#Ij��{��<���Ӄt�k�*�&�"aO����{��&ޢ.���S�e������Ôl���T�%G|���aVʥ A��r!K1�
�q���?Ŗ�J�(���㦁�T&��|["�#�-g�������� �p�̏~��0��
����6Ӿ��l'��urq�o����F
�;��0��(����sB�K��e�X�	)>�O�_�m�X�z��i���/A��h6� #{�J�8H��!8��g_���h
��T��'͹��O.*
;��,7�10�eQ��&C��㍞E�A[��]��k0|�f.��O�o	��g������QK�ni+�iE��
��tTn"$t�(��5B���(���x�������2�ICo�o��J�U�n)���ڏ0��k}l��C.��7��̠��ʬ/��8l�"熩w�c)���(B,�
ąx�qٍ�@�o��ʧ%�"'Z�"��sk�`������
jFDM
�|Wo'贒%�W\��2Of.��H{��؈�?҇�a3��vu�y����I�����[	
t(%
N��<�Z���±È��q&��`�$��Y�(���Õ��v�f���YWoi�Ch!O
<!	�C���4������)�:��<,��JU0��6���]��E�v
;w��:�*�

Ai_ј�Q���m��������k�	/=�
p�ZNfRj66��F	7涖>��_<4�X�~�!���qVWBL��4hǾ,��PA$
��)�R����*b��,]4��mt^��$�CD��ʢ��;�������P�	���	�����Ñ���������KB?ݢ�(�	5x!��c��+v
?h�>��)
-���0��V
���ஃ���4� _i �~�4q��H9n
�����'`ᡡ�z���(�9o���m)��͞*E�Kc
��70�s^�C��#
-@��t��L5v���V_m*
�S2�;M��Ӈ��(Z§`őg�����7��I�)�we,���Q�y����Ks$
�w�.�Q/��d�&:ySG�,�-��ǭ�DA�\��r�
G�l��;�C��g������!����������W � &f�CO���ނ����]�9����2w:{��ڊ�=t��ޑ(Ѳ���dN�h@׊
3�[����.˶?.���z2����k-
���z���vA�q8�(3h
ZZ8�
CQD���QpV��@�v��ʎ��r�z��j�P�3�Q�K�ٶ�~��YPLu
��}�
nfZ\Y
?�EBkE�L
-�ᄾ�iɱRAƇ/���9���l�"�0\�j�J�����[�,^�B��
iuamc�p�I����4y�PY���S<U��虴��G�dB��!�a{�ΤQ�9��-�/)��˭m�xh��4�IX�:=e87{�wh���B�+hEgv)�	�n��v�	Ϝ⓿!'xM<=T8�
�R� =�i��]��re��bǐֽ��d���nY �S%}�W�Y3(�ᆱ�
$�Gb��4R<2�]4�;5�qb9R%21�(8��xpjO���+�S��I�E)�I��@�
-f�Y���
}-�'�re�(��*�>
��m�:"��O��u��R���S\"�̽`�	��j9.I��xA�ɰ7�@S��:�1��֊.�.���ݙq�r���q�G3���!��t^n�3�S��o�f����9�j
� ����
�UM2�gwg���J�K�&b�ii�a�l��S"����6i?bh\R���-�>5�:��X�
�*d6�/�T�R�Z���]�5��o/��ɝ�E�f�i��� �r�u1V|��c2��ۀ�e*ψ����
ħ�����3�xvi�.a	�ӧaos�#5*�
���t� �s��E�C]ZԈ�r��%
@
;�@s��^�����P������㖙���{\�~V��+
�&�qPu��<t-���}��z��I�y�d�1>=c�o���පn�fD��H�+
i�Ns�U�Y�a式y���P_�Q�A�:��Z���l�H�qT�P>x�o?q�W��:T��7߱�W&�:�f�!�ˤ'�<o��7�K�Lé�	m���d�A�~|]�z��*H�T�{C�Y�
-���qB}��!Ga�FB$�t�Ht�:[߅�
�w
YC�9�Tgp�
-��
��^+y"m�˃#{
o,[���Eg�=b�j��
�G
(���P`��u���[����2��m�s��)��'>93�[Z��>�KE撳 �j:j#d��1���p�5��a��Wٳ��4Nx��u֗+Ą�|7�u*�Q}0>�JtƜ������s�!AL[�x��zZ��F�eHh���'�F7/��}�
'4Ch�#
��*Qܐx�3��s�2���pJ>j�瞟�{�,�����G�ȑ�VZ
��k����PTF��zk��<�d�+��X"�AIp��9M���H
��U�T,cP�L���)�X
f�����*�V-
k>b�8���9Q��.�n$���˚J
p�6��
�,\Q��8���U,��
6��k�۰��f�q�T�a�s��ҩ��[� ��h(rC�|�а
�6	�TlJ����
W��"�]�^��-HT
�ĺj5�p`a�ኲ��G��~79�n0
	KF���eR��Iq�>�b���C.x�]7��F�#�ٗ�#�p+�V7 at px�ޮ�	{f�Ԡ����J�E��]����B�+|�P�#(����N̊�򋍞���ѷ���Ш
'�?O�x\��������ٶ�0P_�C	��<��n��L?�d6����m���e���+��j:��A:�i"zGd��@X�b��)���v�[
]��o���f9���2���{?v+5do|� Yrdm,$���9#��D����7�j�c�3<�
�X�tp5�cC]a����*Ev�?�~�ަ
m��毩�1����4�6��
�x�„`P��5��/::Ǐ��iM�P����EKp��@�RD	��
%w�e��;�RK�����2W�����6�5�l
 [...]
-u��E�j�Q��x��
wyWQ�
�m�Q2��H
�3���{����m��ri��
��
�~`��/mq���r�=�FO����NŮ�7��e��3�W�%����&r(�Hb���(`JZh�c��ܣ8cµ+lS#�&G��(��(�Sh`�\%�A���Q��*-Th+ʃ�~��h�n�Z��<4<���O���� %�Ra��i!���,�,�Ļ�
�
��z2	�k�H�G�@q�+��p��Ӝ��b嶖�2�PΞ�p�ln
��t���$��=�l�?#�'�f��'21�̞��ܶ�-�i��B�$��c�Av���E��ƨ){iZ�v�k�{�8���F��<���jm5~OOޏ�xj"��z5*"�T
+��������
FM�$��.��0�0�D{JR�yL���@��0�֘�\	�D��m��E�S��[�����#��V
�4�i|r��Z3�p��ϑ֭`1S����ݿq:�|�����<�1�
WS�Ғ�2���ȁ���
�͕��-���-�x{��R�z�#[�R���N�v<

��x2��G��MWү�T,��
j���\���?]0!������ ���J"o
������\���ctw!��9�
-K�q[����1���
;����̶܇G�{��v�#\��!U8d�H��|��lsaH~�V�ß9J�qDzE��#_Z	^�������h[�P�Q�F2ڴ��K��q at G��+*s�"�A3M�8��������5���Ȗ��%�[/r\�df|�1Cf�L<�5�ݘsg
-U�Qĉ�3�,�G�/�0��'"����'y�k�5:nZe����,
-����l�rFW���WH(�4X���g�3mo� �@��@��l���va�}��&1��A�]JK��8�P������
��B�ɱ�t�
-d�k��H�����|���:m�ěj�9~q���??C
�n�K��D�
�Md�.F�ۖ
�
��KHe��^{�,9����cU�h�B����9q�(�׻bNA
Z=�ݟ?<�y
-*q)�<��-]o����r���~�U�&��HF	�k�#�j�ԃQ�:�b�3_^?i
c-1�)IErn��A�:��o���v�5N܏$:��rF�5�x�v��:�	f�3�Eʪ��W&��wP.�����
"��M��Y������)�Cx���R��7�}l�>'M.2-u�i�Om$)�	|8~�y���z��0�X��=�5B����J�R
��i�(�{��OqoP*^Թ����6#q�
��S��=1 �
�>F���e�>��4@�I�O����l��ӍTmW/�L=	<[è��f=vT�QI�")�fdM>�F�r���"�-
�@ ʸ�n��v��?dN|�b�vA�Om#>�.��o��#���r�I�
-���v$R�
ȷ���
V�m0&~�*�Lj�WZ:�! ��b��)2�R����0ҘilN��^�!G��

O˭:�1Qj�'֪MAk�`���+�qr�
3.�
M��ef�_NJ�`2���kmּD���XiCm4(�ݯP��U��b`5����=�lj�b�T�O�Tl ��?i�K���Ձ����i8�g����,/ۼ���6��J�m)�3U]���2z7
]��m5Ǻ�C�b��������	�8bp�1� ��G�8��w)lR���,
-%�k*
0�-�����!�r|�1��
?E�hk�>qx����`r��֜��=� ORW�C����`�F� ������\��16�Jd'㥐� $�D�8Y��ʊ@P����0�bq<��$�w'PUM��ν,��!�09��� ;�<���UQ&����[˴ʻir8ї��Jg��.:x�N#7{��/��t,��[K��T*�FϷ�@� J%�_�_�
�aP�
�7j�}Z�K2f��B-���ǎ�H!��q
�3W"�#���
[��s
j}�;+ 
ӵ�];��
$?L' }|cL���	�����G��a��AA��ǘb�&�O�r�+�۲D�@��2����]:�@��S1�B}��2�#�(�;����K�r���G��kb��%I���Bߛ2��TN%2����f<7��b����c���q��æ�
>.��U���y4�lQ�1�|z.W8� ��c�yQ
)�eۣ�"ېц;�G,�M �&8#J3��AK����Q��)h5>���@
-�㬭O~���R;
-�M��Ǐ[�R
�7�?Q�_�	�!�8eپФCƇ�F!s�ͺ���S�����Tb*��=-8��]�*b�?��.��*�˭���	>o�.����ݖtsd�+f&�G=����V秎$�h�����i耿/�=�B����#O<+
_�i>mʔ3]���Ĥ^>�t�{�D�q�
7�"g�D��`B̢m)�j�{���)��y�o!����� H
[J
�
�n{
=Y� �
�ݖ��1ŋfq�I��"𳔕HPȬr�p��ׇN�̮��4��kG��!�����=���X�],���;�2^

����\��� 
 fb��9�i�;Ӷ��qbz�����qb�N3�k����81��tʹ��x{?��<g9�K���f��u" ��_��
-J�����ln�
�d�	��[-�c?n���_2$g\�R5{�I�O^�;7

-G+<S���bh6���!>kb�݋8(C�
;�l�xD
���'{��b|F�%LIa���

j�Ϧ�3K��l���Ui1�_a�FV7��&�䎴HJ������~��JVj�1Ga��6���B�K
u�`��4l|�/�)���
>AFA�b�=�9�,J�6��_NSD�Oh���S��\
��$��Y.�|iU0���d�����泱�F����y�] ���8C�D�M��~sr$������h��T� ��`�"�fx�bdϾfD�"ʷ�sh�
�r�	��
�I�u��R:��?O�aT�Q<Ę2|+Rɻ�����ƥ�V����2��Z8wؖ
{P
��2�
lܕ�O��ݛ��� �੆��Ss)���	��B�$`�w��!��Q< E
�
�=�c���M�

�/)��ˡ����
Vg�5}5ZX����h��_Sh>;��R0��@��w�YkC�v��^��mJ��\ч�qk�83��#���M-�����9w��伭���H�h��SmND�R�o\k�eN�ۿ{ų~��xgx�

Dag��0�>�����g��:��$@+襭|�)~���s����1������u��Z��`���M
-�$2���N��x;z�k�Tl�,.���ѧ|{)�͔�ŚOu�ƈ�I�� ��6}7�(KF*z 'h��
�?�\�
x^��S�Fs]�^FC�A��F�!U�#:���X
��Q�h�ȇ�b�������4a�y�r�I���Sn���x��镮F>�ߪ�z�V�v�
\d�n��Ku���*�X�{h�X�7�V���r��,�q0j��*�r�N�y)�b@��S���c&���H���]xj�
MA(��4i�T,�Z��h���#�g:=�(�H�^�qL������)���ET�DҺ+���|z>��UD�"]�O���RU$�3���%DO��<�z�T�3G��e�(�M)�ZwY	��8�#��
Z�0<�����61l+��e�@�vy�O�{OZC�I^A�B��+������v�.��
|.P�g��@?�02ԈsD��5�I<��f�u����^g®W̼eE�D��&M��	�0��y#^����[�
��
-h3k��

�/Z���H�1)e5����we/ C
�l�
ij�����zp
-�X��������q���}~Wz�2>m|��ĀA
���;@q�f55�*�mM�n�pJ	X�O��m,J�$)~0X?=D�/<� 4�Ϣ{ƒ��`6���;��t��H�X�j�� �ޔ�l6
N��/��<���U�]����%i#	����'M �k;/W|c�R��-��;
�X�]�ZE}�����:<B,H|-�@[{6�sfa%��kx�h�����+���%�Iy\�o�*틸�3�@o�v������=	A��� ���^qm������p�l��,4��*�y���Y��{��a�����X��^s���S�Bg�C[��h����Q����a�e�Y�h�"�JE%`r���ق���g���=�+n�
Fq���'Ӟ�P��&*��?��dq��K�Fw�}��-��4�Xx)a�*_���&��h�f��:4y�ʲ!,��z
���h�3��=�_ ��4���&Û'o������O�@E����<}
91D{����j����3���ᓎs�D��:���Ej'7� ����o�W+xyƉ[��EY
n�g��"q�_��*�Vtbp�筽��&<S�����ƈ�ӊI���I|}�lR̠<؏d���89k/
ı�N��#������r�2�e
�,1����o�X���2P~2�5���]aO��y��.��W{j̠�����0#�.]��6{�7ɑ���k���#�������)�v
UW��Lً����?�ί�|Y�s��A5o���c3�N?s���ELٛ��_<}A�\X5S��RV*�U�ğ�\�g������TDm�\�|d90�E_�t�U�(ư
,�*�儉��I��*�
-�̹ �J�����AY�P1
�x�;�͉�}��j^�-�� �o& 
}W6f�C���Z;ʁ[~�]U��!�'態I|������~�Q��H=
���JE�s�#u��/�I�|H��ݾ�c��m30+��;�J��#=C���‘�G
PO�UOJ"�ɟ
��
RLzG�py ����f��f���	>�cg��@����
6�Lj
W��,ř���ƈ>KF�w�=���L!
��*�W���/����+���~��tz�ᩐoS�A:D��OAm:���`�
�o�a:K�����.
\�_���!�;�ݯ��#��|��q��I�6�$k��9����+?ˁ:���a,���G���Bަ�\��x7M�4Q�T#�'�:�Bv�r��g"��*��v��L�͹��؛�9��z�Nn�2����v"��"��Ǚ��&��UY�����

@J�~d���l}��d��6
��-���r�J_=��U����}��rG�
SA�\�
��J�a��/,�-v�.b]:$�֖?V/��"�i�4
��Lp^1N!��{-�'����F�����,kUY�\��t�AL���+�/>�<���N���>Ve�xpk��%����QH��n\�&Z񒚬[
0�j}�B!����ȭ!�a�R����3
�b@�>�-���c�<��������%���D�D��w	�g��E.�����k�A�f���q�T�w-�����5	�R9%9�k�+Uq��Kt����妨*\�صmx�-����G�ٱaR#�����(�_p��z��
�s�o0�UR�bwxw�雟O�;L�O>�J�X��p#l��y��:�1ָ�N��t?aRF��g�Ȇ�Ѝ�X������K�<Il�.�!��a���J"��~|εT�
I�C��V������4��ҥ��q�V[e�����I�n2�A�G��'j˔A��"�tG�b6��M�YF�Ҍ#�׹��������t�;9�W�'7-�
-�����!M0�.!r��C~�o/��������������= 30}��k¡N�m�is�լ�a��4j�WhNJ���q�o�!a@�ش�����Ʒ.���䓁�\�V~>ݫ+���Pu���0��IK��3$��*�
��I�?�
���FW_�p���d�L;�m�Knʁ}�Zl�ӼY-3�J��`u��,��y���M7=����7�~d�E�͢�t��z��+a����g8�!
i=wyG��M��U>ƞD��3
-$Ɉ�������a�����n[� �l��,����E�s�t!��-�QbEI m�%�B.h�ǧ���0 at -J�de4·sť��
Q���ϰ�,�|����y��+��⪲�~>�;V�|�U%�~#ۛ<w�@�����b�o4) ��Ȉ�~-x�+[ًs�h	D�����@R���I���7%0K�`����)�'���>q���v��T��6ś<TX�]��7̶��>퇚\F?>@�� Ѷ$#�|>6�
�b�5B������/D���?�
K&X}�%�V���I7��s{X�E
�����ܙ��'�T���T��ҿ�NG�8���ƪ�;�����-�x�8����5 �V��T�pEQ���8Z���#h�ű���C|_�K��
�ir�F<�*�����)��)�r���o���N��D��N]�,wcF�'"�K��{��(ӭ�*f�$C��{|j)�����ô��87
n���Vωv}��ې
��T&�8�+�tN�;�l,�\$׻���L��R�K!�D�ǵ}�B�PQ�uQ�q��(�́
-u3�L�~�wB~O�=+�gD���40*�
nj�D���!
��ج/
Ժ4_o�T�i�l:~�KJ��?�2��x���Ĥ_o0
OjP�T��'��j�N#��R�\���i<��R"#.z=B���-݅�gb�%��;΄��hV�������;����ٻ)aA��D���A��
-(���/[�Lw���M���]RKj����K��%
��_U�[SO�V�Y��JfpAVg-�Q�Ţ3�ֽ���^GJ�-��6���ǃ���J�)!���pu�d-1��G��5��U‘�b�	q���Ɋ|1���=���"���/��"�@�l<<�\l<����G}endstream
-endobj
-213 0 obj <<
-/Type /Font
-/Subtype /Type1
-/Encoding 2495 0 R
-/FirstChar 2
-/LastChar 169
-/Widths 2511 0 R
-/BaseFont /KCPPDE+NimbusRomNo9L-Regu
-/FontDescriptor 211 0 R
->> endobj
-211 0 obj <<
-/Ascent 678
-/CapHeight 651
-/Descent -216
-/FontName /KCPPDE+NimbusRomNo9L-Regu
-/ItalicAngle 0
-/StemV 85
-/XHeight 450
-/FontBBox [-168 -281 1000 924]
-/Flags 4
-/CharSet (/fi/fl/quotedbl/percent/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon/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/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/braceright/quotedblleft/quotedblright/bullet/endash/copyright)
-/FontFile 212 0 R
->> endobj
-2511 0 obj
-[556 556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 408 0 0 833 0 333 333 333 500 564 250 333 250 278 500 500 500 500 500 500 500 500 500 500 278 278 0 0 0 0 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 0 0 0 0 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 0 480 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 444 444 350 500 0 0 0 0 0 0 0 0 0 0 0 [...]
-endobj
-223 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2512 0 R
-/Kids [206 0 R 225 0 R 260 0 R 301 0 R 314 0 R 322 0 R]
->> endobj
-337 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2512 0 R
-/Kids [330 0 R 339 0 R 346 0 R 352 0 R 358 0 R 366 0 R]
->> endobj
-385 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2512 0 R
-/Kids [374 0 R 387 0 R 396 0 R 401 0 R 406 0 R 411 0 R]
->> endobj
-423 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2512 0 R
-/Kids [416 0 R 425 0 R 454 0 R 508 0 R 581 0 R 604 0 R]
->> endobj
-671 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2512 0 R
-/Kids [626 0 R 700 0 R 728 0 R 739 0 R 761 0 R 783 0 R]
->> endobj
-852 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2512 0 R
-/Kids [829 0 R 855 0 R 896 0 R 912 0 R 934 0 R 980 0 R]
->> endobj
-1027 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2513 0 R
-/Kids [1008 0 R 1029 0 R 1062 0 R 1073 0 R 1104 0 R 1115 0 R]
->> endobj
-1179 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2513 0 R
-/Kids [1135 0 R 1181 0 R 1217 0 R 1252 0 R 1282 0 R 1314 0 R]
->> endobj
-1379 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2513 0 R
-/Kids [1338 0 R 1387 0 R 1428 0 R 1442 0 R 1453 0 R 1463 0 R]
->> endobj
-1498 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2513 0 R
-/Kids [1478 0 R 1503 0 R 1523 0 R 1544 0 R 1573 0 R 1602 0 R]
->> endobj
-1666 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2513 0 R
-/Kids [1633 0 R 1668 0 R 1728 0 R 1777 0 R 1847 0 R 1897 0 R]
->> endobj
-1961 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2513 0 R
-/Kids [1948 0 R 1963 0 R 1973 0 R 1987 0 R 2002 0 R 2016 0 R]
->> endobj
-2042 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2514 0 R
-/Kids [2030 0 R 2044 0 R 2054 0 R 2070 0 R 2084 0 R 2099 0 R]
->> endobj
-2127 0 obj <<
-/Type /Pages
-/Count 6
-/Parent 2514 0 R
-/Kids [2116 0 R 2129 0 R 2140 0 R 2155 0 R 2173 0 R 2228 0 R]
->> endobj
-2399 0 obj <<
-/Type /Pages
-/Count 2
-/Parent 2514 0 R
-/Kids [2298 0 R 2401 0 R]
->> endobj
-2512 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 2515 0 R
-/Kids [223 0 R 337 0 R 385 0 R 423 0 R 671 0 R 852 0 R]
->> endobj
-2513 0 obj <<
-/Type /Pages
-/Count 36
-/Parent 2515 0 R
-/Kids [1027 0 R 1179 0 R 1379 0 R 1498 0 R 1666 0 R 1961 0 R]
->> endobj
-2514 0 obj <<
-/Type /Pages
-/Count 14
-/Parent 2515 0 R
-/Kids [2042 0 R 2127 0 R 2399 0 R]
->> endobj
-2515 0 obj <<
-/Type /Pages
-/Count 86
-/Kids [2512 0 R 2513 0 R 2514 0 R]
->> endobj
-2516 0 obj <<
-/Type /Outlines
-/First 7 0 R
-/Last 67 0 R
-/Count 10
->> endobj
-203 0 obj <<
-/Title 204 0 R
-/A 201 0 R
-/Parent 67 0 R
-/Prev 199 0 R
->> endobj
-199 0 obj <<
-/Title 200 0 R
-/A 197 0 R
-/Parent 67 0 R
-/Prev 195 0 R
-/Next 203 0 R
->> endobj
-195 0 obj <<
-/Title 196 0 R
-/A 193 0 R
-/Parent 67 0 R
-/Prev 191 0 R
-/Next 199 0 R
->> endobj
-191 0 obj <<
-/Title 192 0 R
-/A 189 0 R
-/Parent 67 0 R
-/Prev 187 0 R
-/Next 195 0 R
->> endobj
-187 0 obj <<
-/Title 188 0 R
-/A 185 0 R
-/Parent 67 0 R
-/Prev 183 0 R
-/Next 191 0 R
->> endobj
-183 0 obj <<
-/Title 184 0 R
-/A 181 0 R
-/Parent 67 0 R
-/Prev 179 0 R
-/Next 187 0 R
->> endobj
-179 0 obj <<
-/Title 180 0 R
-/A 177 0 R
-/Parent 67 0 R
-/Prev 175 0 R
-/Next 183 0 R
->> endobj
-175 0 obj <<
-/Title 176 0 R
-/A 173 0 R
-/Parent 67 0 R
-/Prev 171 0 R
-/Next 179 0 R
->> endobj
-171 0 obj <<
-/Title 172 0 R
-/A 169 0 R
-/Parent 67 0 R
-/Prev 167 0 R
-/Next 175 0 R
->> endobj
-167 0 obj <<
-/Title 168 0 R
-/A 165 0 R
-/Parent 67 0 R
-/Prev 163 0 R
-/Next 171 0 R
->> endobj
-163 0 obj <<
-/Title 164 0 R
-/A 161 0 R
-/Parent 67 0 R
-/Prev 159 0 R
-/Next 167 0 R
->> endobj
-159 0 obj <<
-/Title 160 0 R
-/A 157 0 R
-/Parent 67 0 R
-/Prev 155 0 R
-/Next 163 0 R
->> endobj
-155 0 obj <<
-/Title 156 0 R
-/A 153 0 R
-/Parent 67 0 R
-/Prev 151 0 R
-/Next 159 0 R
->> endobj
-151 0 obj <<
-/Title 152 0 R
-/A 149 0 R
-/Parent 67 0 R
-/Prev 147 0 R
-/Next 155 0 R
->> endobj
-147 0 obj <<
-/Title 148 0 R
-/A 145 0 R
-/Parent 67 0 R
-/Prev 143 0 R
-/Next 151 0 R
->> endobj
-143 0 obj <<
-/Title 144 0 R
-/A 141 0 R
-/Parent 67 0 R
-/Prev 139 0 R
-/Next 147 0 R
->> endobj
-139 0 obj <<
-/Title 140 0 R
-/A 137 0 R
-/Parent 67 0 R
-/Prev 135 0 R
-/Next 143 0 R
->> endobj
-135 0 obj <<
-/Title 136 0 R
-/A 133 0 R
-/Parent 67 0 R
-/Prev 131 0 R
-/Next 139 0 R
->> endobj
-131 0 obj <<
-/Title 132 0 R
-/A 129 0 R
-/Parent 67 0 R
-/Prev 127 0 R
-/Next 135 0 R
->> endobj
-127 0 obj <<
-/Title 128 0 R
-/A 125 0 R
-/Parent 67 0 R
-/Prev 123 0 R
-/Next 131 0 R
->> endobj
-123 0 obj <<
-/Title 124 0 R
-/A 121 0 R
-/Parent 67 0 R
-/Prev 119 0 R
-/Next 127 0 R
->> endobj
-119 0 obj <<
-/Title 120 0 R
-/A 117 0 R
-/Parent 67 0 R
-/Prev 115 0 R
-/Next 123 0 R
->> endobj
-115 0 obj <<
-/Title 116 0 R
-/A 113 0 R
-/Parent 67 0 R
-/Prev 111 0 R
-/Next 119 0 R
->> endobj
-111 0 obj <<
-/Title 112 0 R
-/A 109 0 R
-/Parent 67 0 R
-/Prev 107 0 R
-/Next 115 0 R
->> endobj
-107 0 obj <<
-/Title 108 0 R
-/A 105 0 R
-/Parent 67 0 R
-/Prev 103 0 R
-/Next 111 0 R
->> endobj
-103 0 obj <<
-/Title 104 0 R
-/A 101 0 R
-/Parent 67 0 R
-/Prev 99 0 R
-/Next 107 0 R
->> endobj
-99 0 obj <<
-/Title 100 0 R
-/A 97 0 R
-/Parent 67 0 R
-/Prev 95 0 R
-/Next 103 0 R
->> endobj
-95 0 obj <<
-/Title 96 0 R
-/A 93 0 R
-/Parent 67 0 R
-/Prev 91 0 R
-/Next 99 0 R
->> endobj
-91 0 obj <<
-/Title 92 0 R
-/A 89 0 R
-/Parent 67 0 R
-/Prev 87 0 R
-/Next 95 0 R
->> endobj
-87 0 obj <<
-/Title 88 0 R
-/A 85 0 R
-/Parent 67 0 R
-/Prev 83 0 R
-/Next 91 0 R
->> endobj
-83 0 obj <<
-/Title 84 0 R
-/A 81 0 R
-/Parent 67 0 R
-/Prev 79 0 R
-/Next 87 0 R
->> endobj
-79 0 obj <<
-/Title 80 0 R
-/A 77 0 R
-/Parent 67 0 R
-/Prev 75 0 R
-/Next 83 0 R
->> endobj
-75 0 obj <<
-/Title 76 0 R
-/A 73 0 R
-/Parent 67 0 R
-/Prev 71 0 R
-/Next 79 0 R
->> endobj
-71 0 obj <<
-/Title 72 0 R
-/A 69 0 R
-/Parent 67 0 R
-/Next 75 0 R
->> endobj
-67 0 obj <<
-/Title 68 0 R
-/A 65 0 R
-/Parent 2516 0 R
-/Prev 59 0 R
-/First 71 0 R
-/Last 203 0 R
-/Count -34
->> endobj
-63 0 obj <<
-/Title 64 0 R
-/A 61 0 R
-/Parent 59 0 R
->> endobj
-59 0 obj <<
-/Title 60 0 R
-/A 57 0 R
-/Parent 2516 0 R
-/Prev 51 0 R
-/Next 67 0 R
-/First 63 0 R
-/Last 63 0 R
-/Count -1
->> endobj
-55 0 obj <<
-/Title 56 0 R
-/A 53 0 R
-/Parent 51 0 R
->> endobj
-51 0 obj <<
-/Title 52 0 R
-/A 49 0 R
-/Parent 2516 0 R
-/Prev 43 0 R
-/Next 59 0 R
-/First 55 0 R
-/Last 55 0 R
-/Count -1
->> endobj
-47 0 obj <<
-/Title 48 0 R
-/A 45 0 R
-/Parent 43 0 R
->> endobj
-43 0 obj <<
-/Title 44 0 R
-/A 41 0 R
-/Parent 2516 0 R
-/Prev 35 0 R
-/Next 51 0 R
-/First 47 0 R
-/Last 47 0 R
-/Count -1
->> endobj
-39 0 obj <<
-/Title 40 0 R
-/A 37 0 R
-/Parent 35 0 R
->> endobj
-35 0 obj <<
-/Title 36 0 R
-/A 33 0 R
-/Parent 2516 0 R
-/Prev 27 0 R
-/Next 43 0 R
-/First 39 0 R
-/Last 39 0 R
-/Count -1
->> endobj
-31 0 obj <<
-/Title 32 0 R
-/A 29 0 R
-/Parent 27 0 R
->> endobj
-27 0 obj <<
-/Title 28 0 R
-/A 25 0 R
-/Parent 2516 0 R
-/Prev 19 0 R
-/Next 35 0 R
-/First 31 0 R
-/Last 31 0 R
-/Count -1
->> endobj
-23 0 obj <<
-/Title 24 0 R
-/A 21 0 R
-/Parent 19 0 R
->> endobj
-19 0 obj <<
-/Title 20 0 R
-/A 17 0 R
-/Parent 2516 0 R
-/Prev 15 0 R
-/Next 27 0 R
-/First 23 0 R
-/Last 23 0 R
-/Count -1
->> endobj
-15 0 obj <<
-/Title 16 0 R
-/A 13 0 R
-/Parent 2516 0 R
-/Prev 11 0 R
-/Next 19 0 R
->> endobj
-11 0 obj <<
-/Title 12 0 R
-/A 9 0 R
-/Parent 2516 0 R
-/Prev 7 0 R
-/Next 15 0 R
->> endobj
-7 0 obj <<
-/Title 8 0 R
-/A 5 0 R
-/Parent 2516 0 R
-/Next 11 0 R
->> endobj
-2517 0 obj <<
-/Names [(Doc-Start) 210 0 R (GFDL) 393 0 R (GFDL_GFDL) 257 0 R (GPL) 317 0 R (GPL_GPL) 258 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4) 495 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_133f3756e88145e6ff5bf3d1b41838d9) 839 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_a3a5f10fed94188b162073ef8efff393) 841 0 R (classparma__polyhedra__library_1_1By__Reference_3_01T_01_4_b4470b84b8b57bae591239910d220c70) 837 0 R (classparma__polyhedra [...]
-/Limits [(Doc-Start) (subsubsection.9.1.1)]
->> endobj
-2518 0 obj <<
-/Kids [2517 0 R]
->> endobj
-2519 0 obj <<
-/Dests 2518 0 R
->> endobj
-2520 0 obj <<
-/Type /Catalog
-/Pages 2515 0 R
-/Outlines 2516 0 R
-/Names 2519 0 R
-/PageMode /UseOutlines 
-/OpenAction 205 0 R
->> endobj
-2521 0 obj <<
-/Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords()
-/CreationDate (D:20081104104208+01'00')
-/PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4)
->> endobj
-xref
-0 2522
-0000000001 65535 f 
-0000000002 00000 f 
-0000000003 00000 f 
-0000000004 00000 f 
-0000000000 00000 f 
-0000000009 00000 n 
-0000037757 00000 n 
-0000735538 00000 n 
-0000000054 00000 n 
-0000000128 00000 n 
-0000042041 00000 n 
-0000735451 00000 n 
-0000000173 00000 n 
-0000000339 00000 n 
-0000077769 00000 n 
-0000735362 00000 n 
-0000000385 00000 n 
-0000000571 00000 n 
-0000098038 00000 n 
-0000735236 00000 n 
-0000000617 00000 n 
-0000000707 00000 n 
-0000098095 00000 n 
-0000735175 00000 n 
-0000000758 00000 n 
-0000000820 00000 n 
-0000104327 00000 n 
-0000735049 00000 n 
-0000000866 00000 n 
-0000000971 00000 n 
-0000104383 00000 n 
-0000734988 00000 n 
-0000001022 00000 n 
-0000001122 00000 n 
-0000104440 00000 n 
-0000734862 00000 n 
-0000001168 00000 n 
-0000001253 00000 n 
-0000104497 00000 n 
-0000734801 00000 n 
-0000001304 00000 n 
-0000001409 00000 n 
-0000114065 00000 n 
-0000734675 00000 n 
-0000001455 00000 n 
-0000001540 00000 n 
-0000114122 00000 n 
-0000734614 00000 n 
-0000001591 00000 n 
-0000001671 00000 n 
-0000132548 00000 n 
-0000734488 00000 n 
-0000001717 00000 n 
-0000001847 00000 n 
-0000132661 00000 n 
-0000734427 00000 n 
-0000001898 00000 n 
-0000002046 00000 n 
-0000167967 00000 n 
-0000734301 00000 n 
-0000002092 00000 n 
-0000002237 00000 n 
-0000168081 00000 n 
-0000734240 00000 n 
-0000002288 00000 n 
-0000002542 00000 n 
-0000192082 00000 n 
-0000734125 00000 n 
-0000002589 00000 n 
-0000002714 00000 n 
-0000192197 00000 n 
-0000734051 00000 n 
-0000002766 00000 n 
-0000003104 00000 n 
-0000192717 00000 n 
-0000733964 00000 n 
-0000003156 00000 n 
-0000003463 00000 n 
-0000210532 00000 n 
-0000733877 00000 n 
-0000003515 00000 n 
-0000003814 00000 n 
-0000216594 00000 n 
-0000733790 00000 n 
-0000003866 00000 n 
-0000004160 00000 n 
-0000223440 00000 n 
-0000733703 00000 n 
-0000004212 00000 n 
-0000004544 00000 n 
-0000223786 00000 n 
-0000733616 00000 n 
-0000004596 00000 n 
-0000004890 00000 n 
-0000228242 00000 n 
-0000733529 00000 n 
-0000004942 00000 n 
-0000005274 00000 n 
-0000228593 00000 n 
-0000733440 00000 n 
-0000005326 00000 n 
-0000005687 00000 n 
-0000235437 00000 n 
-0000733349 00000 n 
-0000005740 00000 n 
-0000006030 00000 n 
-0000244726 00000 n 
-0000733257 00000 n 
-0000006084 00000 n 
-0000006412 00000 n 
-0000245083 00000 n 
-0000733165 00000 n 
-0000006466 00000 n 
-0000006784 00000 n 
-0000248354 00000 n 
-0000733073 00000 n 
-0000006838 00000 n 
-0000007194 00000 n 
-0000252277 00000 n 
-0000732981 00000 n 
-0000007248 00000 n 
-0000007629 00000 n 
-0000252575 00000 n 
-0000732889 00000 n 
-0000007683 00000 n 
-0000008044 00000 n 
-0000262755 00000 n 
-0000732797 00000 n 
-0000008098 00000 n 
-0000008431 00000 n 
-0000270292 00000 n 
-0000732705 00000 n 
-0000008485 00000 n 
-0000008881 00000 n 
-0000270825 00000 n 
-0000732613 00000 n 
-0000008935 00000 n 
-0000009326 00000 n 
-0000277965 00000 n 
-0000732521 00000 n 
-0000009380 00000 n 
-0000009736 00000 n 
-0000284408 00000 n 
-0000732429 00000 n 
-0000009790 00000 n 
-0000010156 00000 n 
-0000285066 00000 n 
-0000732337 00000 n 
-0000010210 00000 n 
-0000010609 00000 n 
-0000291499 00000 n 
-0000732245 00000 n 
-0000010663 00000 n 
-0000011044 00000 n 
-0000296793 00000 n 
-0000732153 00000 n 
-0000011098 00000 n 
-0000011454 00000 n 
-0000297090 00000 n 
-0000732061 00000 n 
-0000011508 00000 n 
-0000011811 00000 n 
-0000330701 00000 n 
-0000731969 00000 n 
-0000011865 00000 n 
-0000012236 00000 n 
-0000330997 00000 n 
-0000731877 00000 n 
-0000012290 00000 n 
-0000012604 00000 n 
-0000335959 00000 n 
-0000731785 00000 n 
-0000012658 00000 n 
-0000013024 00000 n 
-0000341134 00000 n 
-0000731693 00000 n 
-0000013078 00000 n 
-0000013426 00000 n 
-0000346582 00000 n 
-0000731601 00000 n 
-0000013480 00000 n 
-0000013884 00000 n 
-0000354647 00000 n 
-0000731509 00000 n 
-0000013938 00000 n 
-0000014390 00000 n 
-0000367220 00000 n 
-0000731417 00000 n 
-0000014444 00000 n 
-0000014780 00000 n 
-0000367936 00000 n 
-0000731325 00000 n 
-0000014834 00000 n 
-0000015170 00000 n 
-0000375403 00000 n 
-0000731233 00000 n 
-0000015224 00000 n 
-0000015519 00000 n 
-0000499683 00000 n 
-0000731141 00000 n 
-0000015573 00000 n 
-0000015858 00000 n 
-0000503993 00000 n 
-0000731063 00000 n 
-0000015912 00000 n 
-0000016225 00000 n 
-0000017606 00000 n 
-0000017843 00000 n 
-0000016277 00000 n 
-0000017728 00000 n 
-0000017786 00000 n 
-0000727662 00000 n 
-0000706501 00000 n 
-0000727487 00000 n 
-0000705901 00000 n 
-0000703691 00000 n 
-0000705739 00000 n 
-0000703324 00000 n 
-0000701116 00000 n 
-0000703160 00000 n 
-0000700448 00000 n 
-0000697917 00000 n 
-0000700286 00000 n 
-0000728763 00000 n 
-0000024641 00000 n 
-0000020601 00000 n 
-0000017954 00000 n 
-0000696985 00000 n 
-0000678785 00000 n 
-0000696810 00000 n 
-0000020919 00000 n 
-0000021088 00000 n 
-0000021244 00000 n 
-0000021414 00000 n 
-0000021567 00000 n 
-0000021720 00000 n 
-0000677997 00000 n 
-0000661724 00000 n 
-0000677824 00000 n 
-0000024583 00000 n 
-0000021898 00000 n 
-0000022053 00000 n 
-0000022208 00000 n 
-0000022363 00000 n 
-0000022518 00000 n 
-0000022679 00000 n 
-0000022833 00000 n 
-0000022993 00000 n 
-0000023148 00000 n 
-0000023308 00000 n 
-0000023462 00000 n 
-0000023622 00000 n 
-0000023777 00000 n 
-0000023938 00000 n 
-0000024093 00000 n 
-0000024254 00000 n 
-0000024407 00000 n 
-0000077883 00000 n 
-0000042156 00000 n 
-0000033659 00000 n 
-0000027547 00000 n 
-0000024739 00000 n 
-0000027961 00000 n 
-0000661035 00000 n 
-0000657109 00000 n 
-0000660871 00000 n 
-0000028123 00000 n 
-0000028285 00000 n 
-0000028447 00000 n 
-0000028609 00000 n 
-0000028771 00000 n 
-0000028933 00000 n 
-0000029092 00000 n 
-0000029254 00000 n 
-0000029415 00000 n 
-0000029578 00000 n 
-0000029741 00000 n 
-0000029904 00000 n 
-0000030067 00000 n 
-0000030230 00000 n 
-0000030392 00000 n 
-0000030555 00000 n 
-0000030718 00000 n 
-0000030880 00000 n 
-0000031043 00000 n 
-0000031206 00000 n 
-0000031369 00000 n 
-0000031532 00000 n 
-0000031695 00000 n 
-0000031858 00000 n 
-0000032021 00000 n 
-0000032182 00000 n 
-0000032343 00000 n 
-0000032506 00000 n 
-0000032669 00000 n 
-0000032832 00000 n 
-0000032995 00000 n 
-0000033158 00000 n 
-0000033321 00000 n 
-0000033483 00000 n 
-0000037928 00000 n 
-0000037381 00000 n 
-0000033770 00000 n 
-0000037699 00000 n 
-0000037812 00000 n 
-0000656289 00000 n 
-0000639933 00000 n 
-0000656110 00000 n 
-0000037870 00000 n 
-0000639166 00000 n 
-0000633790 00000 n 
-0000639003 00000 n 
-0000037523 00000 n 
-0000042272 00000 n 
-0000041493 00000 n 
-0000038077 00000 n 
-0000041983 00000 n 
-0000042098 00000 n 
-0000041643 00000 n 
-0000042214 00000 n 
-0000041807 00000 n 
-0000046179 00000 n 
-0000045629 00000 n 
-0000042370 00000 n 
-0000045947 00000 n 
-0000046005 00000 n 
-0000046063 00000 n 
-0000046121 00000 n 
-0000045771 00000 n 
-0000049888 00000 n 
-0000049338 00000 n 
-0000046277 00000 n 
-0000049656 00000 n 
-0000049714 00000 n 
-0000049772 00000 n 
-0000049830 00000 n 
-0000049480 00000 n 
-0000728881 00000 n 
-0000053931 00000 n 
-0000053439 00000 n 
-0000049986 00000 n 
-0000053757 00000 n 
-0000053815 00000 n 
-0000053873 00000 n 
-0000053581 00000 n 
-0000058070 00000 n 
-0000057636 00000 n 
-0000054029 00000 n 
-0000057954 00000 n 
-0000058012 00000 n 
-0000057778 00000 n 
-0000061929 00000 n 
-0000061495 00000 n 
-0000058168 00000 n 
-0000061813 00000 n 
-0000061871 00000 n 
-0000061637 00000 n 
-0000066009 00000 n 
-0000065459 00000 n 
-0000062027 00000 n 
-0000065777 00000 n 
-0000065835 00000 n 
-0000065893 00000 n 
-0000065951 00000 n 
-0000065601 00000 n 
-0000070059 00000 n 
-0000069510 00000 n 
-0000066107 00000 n 
-0000069828 00000 n 
-0000069886 00000 n 
-0000069944 00000 n 
-0000070001 00000 n 
-0000069652 00000 n 
-0000073754 00000 n 
-0000073146 00000 n 
-0000070157 00000 n 
-0000073464 00000 n 
-0000073522 00000 n 
-0000073580 00000 n 
-0000073638 00000 n 
-0000073696 00000 n 
-0000633291 00000 n 
-0000624860 00000 n 
-0000633114 00000 n 
-0000073288 00000 n 
-0000728999 00000 n 
-0000077940 00000 n 
-0000076810 00000 n 
-0000073865 00000 n 
-0000077711 00000 n 
-0000076976 00000 n 
-0000077156 00000 n 
-0000077336 00000 n 
-0000077826 00000 n 
-0000077535 00000 n 
-0000082298 00000 n 
-0000081922 00000 n 
-0000078051 00000 n 
-0000082240 00000 n 
-0000082064 00000 n 
-0000086615 00000 n 
-0000086239 00000 n 
-0000082396 00000 n 
-0000086557 00000 n 
-0000086381 00000 n 
-0000090672 00000 n 
-0000090296 00000 n 
-0000086713 00000 n 
-0000090614 00000 n 
-0000090438 00000 n 
-0000094442 00000 n 
-0000094066 00000 n 
-0000090770 00000 n 
-0000094384 00000 n 
-0000094208 00000 n 
-0000098152 00000 n 
-0000097247 00000 n 
-0000094540 00000 n 
-0000097922 00000 n 
-0000097405 00000 n 
-0000097980 00000 n 
-0000097585 00000 n 
-0000097746 00000 n 
-0000729117 00000 n 
-0000104554 00000 n 
-0000100018 00000 n 
-0000098250 00000 n 
-0000104269 00000 n 
-0000100344 00000 n 
-0000100525 00000 n 
-0000100686 00000 n 
-0000100848 00000 n 
-0000101010 00000 n 
-0000101172 00000 n 
-0000101334 00000 n 
-0000101495 00000 n 
-0000101657 00000 n 
-0000101819 00000 n 
-0000101981 00000 n 
-0000102141 00000 n 
-0000102303 00000 n 
-0000102466 00000 n 
-0000102629 00000 n 
-0000102792 00000 n 
-0000102954 00000 n 
-0000103117 00000 n 
-0000103280 00000 n 
-0000103443 00000 n 
-0000103606 00000 n 
-0000103768 00000 n 
-0000103931 00000 n 
-0000104093 00000 n 
-0000168023 00000 n 
-0000114179 00000 n 
-0000106976 00000 n 
-0000104665 00000 n 
-0000114007 00000 n 
-0000107414 00000 n 
-0000107577 00000 n 
-0000107739 00000 n 
-0000107901 00000 n 
-0000108064 00000 n 
-0000108227 00000 n 
-0000108390 00000 n 
-0000108552 00000 n 
-0000108715 00000 n 
-0000108878 00000 n 
-0000109041 00000 n 
-0000109203 00000 n 
-0000109366 00000 n 
-0000109529 00000 n 
-0000109734 00000 n 
-0000109896 00000 n 
-0000110088 00000 n 
-0000110249 00000 n 
-0000110440 00000 n 
-0000110602 00000 n 
-0000110793 00000 n 
-0000110955 00000 n 
-0000111154 00000 n 
-0000111316 00000 n 
-0000111507 00000 n 
-0000111669 00000 n 
-0000111868 00000 n 
-0000112030 00000 n 
-0000112234 00000 n 
-0000112396 00000 n 
-0000112586 00000 n 
-0000112748 00000 n 
-0000112946 00000 n 
-0000113109 00000 n 
-0000113305 00000 n 
-0000113468 00000 n 
-0000113670 00000 n 
-0000113831 00000 n 
-0000192139 00000 n 
-0000192660 00000 n 
-0000210474 00000 n 
-0000216536 00000 n 
-0000223382 00000 n 
-0000223728 00000 n 
-0000228183 00000 n 
-0000228534 00000 n 
-0000235378 00000 n 
-0000238537 00000 n 
-0000245024 00000 n 
-0000248295 00000 n 
-0000126474 00000 n 
-0000117258 00000 n 
-0000114290 00000 n 
-0000126416 00000 n 
-0000117768 00000 n 
-0000117977 00000 n 
-0000118140 00000 n 
-0000118345 00000 n 
-0000118508 00000 n 
-0000118706 00000 n 
-0000118869 00000 n 
-0000119081 00000 n 
-0000119244 00000 n 
-0000119453 00000 n 
-0000119616 00000 n 
-0000119819 00000 n 
-0000119982 00000 n 
-0000120188 00000 n 
-0000120351 00000 n 
-0000120564 00000 n 
-0000120727 00000 n 
-0000120936 00000 n 
-0000121098 00000 n 
-0000121302 00000 n 
-0000121464 00000 n 
-0000121657 00000 n 
-0000121820 00000 n 
-0000122027 00000 n 
-0000122190 00000 n 
-0000122392 00000 n 
-0000122555 00000 n 
-0000122760 00000 n 
-0000122923 00000 n 
-0000123123 00000 n 
-0000123284 00000 n 
-0000123498 00000 n 
-0000123692 00000 n 
-0000123854 00000 n 
-0000124078 00000 n 
-0000124290 00000 n 
-0000124452 00000 n 
-0000124652 00000 n 
-0000124815 00000 n 
-0000125015 00000 n 
-0000125178 00000 n 
-0000125369 00000 n 
-0000125532 00000 n 
-0000125721 00000 n 
-0000125884 00000 n 
-0000126078 00000 n 
-0000126240 00000 n 
-0000252218 00000 n 
-0000252516 00000 n 
-0000262696 00000 n 
-0000263294 00000 n 
-0000270767 00000 n 
-0000277906 00000 n 
-0000284349 00000 n 
-0000285007 00000 n 
-0000291440 00000 n 
-0000291858 00000 n 
-0000297031 00000 n 
-0000330642 00000 n 
-0000330938 00000 n 
-0000335900 00000 n 
-0000341075 00000 n 
-0000346524 00000 n 
-0000354588 00000 n 
-0000361438 00000 n 
-0000367877 00000 n 
-0000375344 00000 n 
-0000499624 00000 n 
-0000503934 00000 n 
-0000132775 00000 n 
-0000128872 00000 n 
-0000126585 00000 n 
-0000132490 00000 n 
-0000132604 00000 n 
-0000132717 00000 n 
-0000129142 00000 n 
-0000129346 00000 n 
-0000129536 00000 n 
-0000129726 00000 n 
-0000129924 00000 n 
-0000130113 00000 n 
-0000130311 00000 n 
-0000130513 00000 n 
-0000130703 00000 n 
-0000130896 00000 n 
-0000131109 00000 n 
-0000131301 00000 n 
-0000131524 00000 n 
-0000131737 00000 n 
-0000131924 00000 n 
-0000132119 00000 n 
-0000132314 00000 n 
-0000139274 00000 n 
-0000135299 00000 n 
-0000132899 00000 n 
-0000139216 00000 n 
-0000135577 00000 n 
-0000135779 00000 n 
-0000135986 00000 n 
-0000136190 00000 n 
-0000136388 00000 n 
-0000136599 00000 n 
-0000136808 00000 n 
-0000137011 00000 n 
-0000137216 00000 n 
-0000137428 00000 n 
-0000137636 00000 n 
-0000137839 00000 n 
-0000138031 00000 n 
-0000138235 00000 n 
-0000138436 00000 n 
-0000138641 00000 n 
-0000138843 00000 n 
-0000139040 00000 n 
-0000152216 00000 n 
-0000142405 00000 n 
-0000139398 00000 n 
-0000152042 00000 n 
-0000142859 00000 n 
-0000152100 00000 n 
-0000143047 00000 n 
-0000152158 00000 n 
-0000143228 00000 n 
-0000143436 00000 n 
-0000143677 00000 n 
-0000143918 00000 n 
-0000144159 00000 n 
-0000144400 00000 n 
-0000144641 00000 n 
-0000144849 00000 n 
-0000145090 00000 n 
-0000145297 00000 n 
-0000145538 00000 n 
-0000145779 00000 n 
-0000146017 00000 n 
-0000146258 00000 n 
-0000146466 00000 n 
-0000146707 00000 n 
-0000146947 00000 n 
-0000147154 00000 n 
-0000147395 00000 n 
-0000147636 00000 n 
-0000147877 00000 n 
-0000148118 00000 n 
-0000148359 00000 n 
-0000148566 00000 n 
-0000148806 00000 n 
-0000149046 00000 n 
-0000149287 00000 n 
-0000149528 00000 n 
-0000149735 00000 n 
-0000149976 00000 n 
-0000150216 00000 n 
-0000150457 00000 n 
-0000150698 00000 n 
-0000150939 00000 n 
-0000151145 00000 n 
-0000151384 00000 n 
-0000151625 00000 n 
-0000151866 00000 n 
-0000729235 00000 n 
-0000156857 00000 n 
-0000156973 00000 n 
-0000157037 00000 n 
-0000157100 00000 n 
-0000157164 00000 n 
-0000157280 00000 n 
-0000157343 00000 n 
-0000157459 00000 n 
-0000157523 00000 n 
-0000157587 00000 n 
-0000157651 00000 n 
-0000157767 00000 n 
-0000157831 00000 n 
-0000157894 00000 n 
-0000160519 00000 n 
-0000160583 00000 n 
-0000160647 00000 n 
-0000160711 00000 n 
-0000160775 00000 n 
-0000160891 00000 n 
-0000160955 00000 n 
-0000161071 00000 n 
-0000161135 00000 n 
-0000161199 00000 n 
-0000161263 00000 n 
-0000161378 00000 n 
-0000161442 00000 n 
-0000157951 00000 n 
-0000154455 00000 n 
-0000152327 00000 n 
-0000156683 00000 n 
-0000154661 00000 n 
-0000154869 00000 n 
-0000155110 00000 n 
-0000155351 00000 n 
-0000155592 00000 n 
-0000155833 00000 n 
-0000156074 00000 n 
-0000156741 00000 n 
-0000156799 00000 n 
-0000156915 00000 n 
-0000624244 00000 n 
-0000609569 00000 n 
-0000624064 00000 n 
-0000157222 00000 n 
-0000157401 00000 n 
-0000156315 00000 n 
-0000157709 00000 n 
-0000156507 00000 n 
-0000161506 00000 n 
-0000161621 00000 n 
-0000161685 00000 n 
-0000161749 00000 n 
-0000161813 00000 n 
-0000161877 00000 n 
-0000161940 00000 n 
-0000159885 00000 n 
-0000158075 00000 n 
-0000160404 00000 n 
-0000160462 00000 n 
-0000160833 00000 n 
-0000161013 00000 n 
-0000160035 00000 n 
-0000161321 00000 n 
-0000161564 00000 n 
-0000160228 00000 n 
-0000168196 00000 n 
-0000164286 00000 n 
-0000162051 00000 n 
-0000167909 00000 n 
-0000168138 00000 n 
-0000164556 00000 n 
-0000164760 00000 n 
-0000164951 00000 n 
-0000165141 00000 n 
-0000165339 00000 n 
-0000165528 00000 n 
-0000165725 00000 n 
-0000165929 00000 n 
-0000166119 00000 n 
-0000166312 00000 n 
-0000166525 00000 n 
-0000166717 00000 n 
-0000166940 00000 n 
-0000167153 00000 n 
-0000167341 00000 n 
-0000167538 00000 n 
-0000167733 00000 n 
-0000174679 00000 n 
-0000170703 00000 n 
-0000168320 00000 n 
-0000174621 00000 n 
-0000170981 00000 n 
-0000171183 00000 n 
-0000171390 00000 n 
-0000171594 00000 n 
-0000171792 00000 n 
-0000172003 00000 n 
-0000172213 00000 n 
-0000172416 00000 n 
-0000172621 00000 n 
-0000172833 00000 n 
-0000173041 00000 n 
-0000173243 00000 n 
-0000173435 00000 n 
-0000173640 00000 n 
-0000173841 00000 n 
-0000174046 00000 n 
-0000174248 00000 n 
-0000174445 00000 n 
-0000187979 00000 n 
-0000178039 00000 n 
-0000174803 00000 n 
-0000187863 00000 n 
-0000178501 00000 n 
-0000178699 00000 n 
-0000178887 00000 n 
-0000187921 00000 n 
-0000179081 00000 n 
-0000179289 00000 n 
-0000179529 00000 n 
-0000179770 00000 n 
-0000180011 00000 n 
-0000180252 00000 n 
-0000180460 00000 n 
-0000180701 00000 n 
-0000180908 00000 n 
-0000181148 00000 n 
-0000181388 00000 n 
-0000181628 00000 n 
-0000181869 00000 n 
-0000182077 00000 n 
-0000182318 00000 n 
-0000182559 00000 n 
-0000182767 00000 n 
-0000183008 00000 n 
-0000183249 00000 n 
-0000183490 00000 n 
-0000183731 00000 n 
-0000183938 00000 n 
-0000184178 00000 n 
-0000184418 00000 n 
-0000184658 00000 n 
-0000184866 00000 n 
-0000185106 00000 n 
-0000185347 00000 n 
-0000185587 00000 n 
-0000185795 00000 n 
-0000186036 00000 n 
-0000186277 00000 n 
-0000186484 00000 n 
-0000186724 00000 n 
-0000186965 00000 n 
-0000187206 00000 n 
-0000187447 00000 n 
-0000187687 00000 n 
-0000192832 00000 n 
-0000190021 00000 n 
-0000188090 00000 n 
-0000191967 00000 n 
-0000192025 00000 n 
-0000607327 00000 n 
-0000605324 00000 n 
-0000607164 00000 n 
-0000192254 00000 n 
-0000192312 00000 n 
-0000190219 00000 n 
-0000192370 00000 n 
-0000190457 00000 n 
-0000192428 00000 n 
-0000190694 00000 n 
-0000192486 00000 n 
-0000192544 00000 n 
-0000190931 00000 n 
-0000192602 00000 n 
-0000191169 00000 n 
-0000192774 00000 n 
-0000191360 00000 n 
-0000191585 00000 n 
-0000191791 00000 n 
-0000729353 00000 n 
-0000204764 00000 n 
-0000202082 00000 n 
-0000196318 00000 n 
-0000192956 00000 n 
-0000201678 00000 n 
-0000201736 00000 n 
-0000196644 00000 n 
-0000196871 00000 n 
-0000197064 00000 n 
-0000197291 00000 n 
-0000197484 00000 n 
-0000197692 00000 n 
-0000197919 00000 n 
-0000198118 00000 n 
-0000198345 00000 n 
-0000201794 00000 n 
-0000198544 00000 n 
-0000201852 00000 n 
-0000198770 00000 n 
-0000198997 00000 n 
-0000199224 00000 n 
-0000199432 00000 n 
-0000199659 00000 n 
-0000199857 00000 n 
-0000200084 00000 n 
-0000201910 00000 n 
-0000200278 00000 n 
-0000200471 00000 n 
-0000200696 00000 n 
-0000200890 00000 n 
-0000201083 00000 n 
-0000201968 00000 n 
-0000202025 00000 n 
-0000201276 00000 n 
-0000201502 00000 n 
-0000204880 00000 n 
-0000204996 00000 n 
-0000205118 00000 n 
-0000205239 00000 n 
-0000205361 00000 n 
-0000205541 00000 n 
-0000210360 00000 n 
-0000205657 00000 n 
-0000204060 00000 n 
-0000202206 00000 n 
-0000204591 00000 n 
-0000204649 00000 n 
-0000204706 00000 n 
-0000204822 00000 n 
-0000204938 00000 n 
-0000205060 00000 n 
-0000205181 00000 n 
-0000205303 00000 n 
-0000205425 00000 n 
-0000205483 00000 n 
-0000205599 00000 n 
-0000204210 00000 n 
-0000204415 00000 n 
-0000210993 00000 n 
-0000208187 00000 n 
-0000205768 00000 n 
-0000210302 00000 n 
-0000210417 00000 n 
-0000210587 00000 n 
-0000210645 00000 n 
-0000208393 00000 n 
-0000210703 00000 n 
-0000208617 00000 n 
-0000210761 00000 n 
-0000208842 00000 n 
-0000209067 00000 n 
-0000210819 00000 n 
-0000209292 00000 n 
-0000209517 00000 n 
-0000210877 00000 n 
-0000209709 00000 n 
-0000210935 00000 n 
-0000209934 00000 n 
-0000210126 00000 n 
-0000216420 00000 n 
-0000217171 00000 n 
-0000213417 00000 n 
-0000211130 00000 n 
-0000216305 00000 n 
-0000216363 00000 n 
-0000216478 00000 n 
-0000216650 00000 n 
-0000216708 00000 n 
-0000213655 00000 n 
-0000213877 00000 n 
-0000214074 00000 n 
-0000214270 00000 n 
-0000604843 00000 n 
-0000602499 00000 n 
-0000604680 00000 n 
-0000601781 00000 n 
-0000597913 00000 n 
-0000601619 00000 n 
-0000216766 00000 n 
-0000214459 00000 n 
-0000216823 00000 n 
-0000216881 00000 n 
-0000214680 00000 n 
-0000214872 00000 n 
-0000216939 00000 n 
-0000216997 00000 n 
-0000215096 00000 n 
-0000215293 00000 n 
-0000217055 00000 n 
-0000215517 00000 n 
-0000215714 00000 n 
-0000217113 00000 n 
-0000215938 00000 n 
-0000597584 00000 n 
-0000595678 00000 n 
-0000597421 00000 n 
-0000595255 00000 n 
-0000592093 00000 n 
-0000595091 00000 n 
-0000591662 00000 n 
-0000590161 00000 n 
-0000591501 00000 n 
-0000589475 00000 n 
-0000585127 00000 n 
-0000589313 00000 n 
-0000216129 00000 n 
-0000224135 00000 n 
-0000219933 00000 n 
-0000217396 00000 n 
-0000223324 00000 n 
-0000223496 00000 n 
-0000223554 00000 n 
-0000220192 00000 n 
-0000223612 00000 n 
-0000220423 00000 n 
-0000223670 00000 n 
-0000220652 00000 n 
-0000220851 00000 n 
-0000223843 00000 n 
-0000223901 00000 n 
-0000221041 00000 n 
-0000221265 00000 n 
-0000221464 00000 n 
-0000221672 00000 n 
-0000223959 00000 n 
-0000221871 00000 n 
-0000222068 00000 n 
-0000224017 00000 n 
-0000222290 00000 n 
-0000222488 00000 n 
-0000224076 00000 n 
-0000222713 00000 n 
-0000222922 00000 n 
-0000223147 00000 n 
-0000228771 00000 n 
-0000226116 00000 n 
-0000224334 00000 n 
-0000228004 00000 n 
-0000228064 00000 n 
-0000226326 00000 n 
-0000228123 00000 n 
-0000226548 00000 n 
-0000228300 00000 n 
-0000228358 00000 n 
-0000226740 00000 n 
-0000228416 00000 n 
-0000226973 00000 n 
-0000228476 00000 n 
-0000227202 00000 n 
-0000227400 00000 n 
-0000228651 00000 n 
-0000228711 00000 n 
-0000227589 00000 n 
-0000227827 00000 n 
-0000729471 00000 n 
-0000235736 00000 n 
-0000231103 00000 n 
-0000228883 00000 n 
-0000235259 00000 n 
-0000235319 00000 n 
-0000235496 00000 n 
-0000231412 00000 n 
-0000231605 00000 n 
-0000235556 00000 n 
-0000231829 00000 n 
-0000235616 00000 n 
-0000232048 00000 n 
-0000232239 00000 n 
-0000232463 00000 n 
-0000232663 00000 n 
-0000232855 00000 n 
-0000233046 00000 n 
-0000233270 00000 n 
-0000233469 00000 n 
-0000233660 00000 n 
-0000233883 00000 n 
-0000234083 00000 n 
-0000234276 00000 n 
-0000234467 00000 n 
-0000234691 00000 n 
-0000235676 00000 n 
-0000234891 00000 n 
-0000235082 00000 n 
-0000238417 00000 n 
-0000237938 00000 n 
-0000238058 00000 n 
-0000238177 00000 n 
-0000238297 00000 n 
-0000238595 00000 n 
-0000237495 00000 n 
-0000235848 00000 n 
-0000237819 00000 n 
-0000237879 00000 n 
-0000237998 00000 n 
-0000238118 00000 n 
-0000238237 00000 n 
-0000238357 00000 n 
-0000238477 00000 n 
-0000237642 00000 n 
-0000245320 00000 n 
-0000240865 00000 n 
-0000238707 00000 n 
-0000244666 00000 n 
-0000244784 00000 n 
-0000244844 00000 n 
-0000241156 00000 n 
-0000244904 00000 n 
-0000241387 00000 n 
-0000244964 00000 n 
-0000241616 00000 n 
-0000241815 00000 n 
-0000245142 00000 n 
-0000245201 00000 n 
-0000242004 00000 n 
-0000245260 00000 n 
-0000242231 00000 n 
-0000242427 00000 n 
-0000242657 00000 n 
-0000242856 00000 n 
-0000243052 00000 n 
-0000243282 00000 n 
-0000243481 00000 n 
-0000243674 00000 n 
-0000243869 00000 n 
-0000244098 00000 n 
-0000244297 00000 n 
-0000244489 00000 n 
-0000247935 00000 n 
-0000248055 00000 n 
-0000248175 00000 n 
-0000248413 00000 n 
-0000247227 00000 n 
-0000245432 00000 n 
-0000247757 00000 n 
-0000247817 00000 n 
-0000247383 00000 n 
-0000247876 00000 n 
-0000247995 00000 n 
-0000248115 00000 n 
-0000248235 00000 n 
-0000247580 00000 n 
-0000252754 00000 n 
-0000250187 00000 n 
-0000248525 00000 n 
-0000251918 00000 n 
-0000251978 00000 n 
-0000252038 00000 n 
-0000250388 00000 n 
-0000252098 00000 n 
-0000250626 00000 n 
-0000252158 00000 n 
-0000250860 00000 n 
-0000251064 00000 n 
-0000252336 00000 n 
-0000252396 00000 n 
-0000251260 00000 n 
-0000252456 00000 n 
-0000252634 00000 n 
-0000252694 00000 n 
-0000251502 00000 n 
-0000251741 00000 n 
-0000263353 00000 n 
-0000255434 00000 n 
-0000252866 00000 n 
-0000262577 00000 n 
-0000262637 00000 n 
-0000255860 00000 n 
-0000256073 00000 n 
-0000256285 00000 n 
-0000256496 00000 n 
-0000256701 00000 n 
-0000256908 00000 n 
-0000257114 00000 n 
-0000257328 00000 n 
-0000257540 00000 n 
-0000262814 00000 n 
-0000262874 00000 n 
-0000257749 00000 n 
-0000257947 00000 n 
-0000258180 00000 n 
-0000262934 00000 n 
-0000258380 00000 n 
-0000258578 00000 n 
-0000258811 00000 n 
-0000262994 00000 n 
-0000259011 00000 n 
-0000259209 00000 n 
-0000259442 00000 n 
-0000263054 00000 n 
-0000259635 00000 n 
-0000259833 00000 n 
-0000263114 00000 n 
-0000260066 00000 n 
-0000260266 00000 n 
-0000263174 00000 n 
-0000260498 00000 n 
-0000263234 00000 n 
-0000260727 00000 n 
-0000260927 00000 n 
-0000261137 00000 n 
-0000261346 00000 n 
-0000261559 00000 n 
-0000261764 00000 n 
-0000261976 00000 n 
-0000262186 00000 n 
-0000262400 00000 n 
-0000729596 00000 n 
-0000271184 00000 n 
-0000265581 00000 n 
-0000263465 00000 n 
-0000270232 00000 n 
-0000265899 00000 n 
-0000270350 00000 n 
-0000270410 00000 n 
-0000266099 00000 n 
-0000266345 00000 n 
-0000270470 00000 n 
-0000266538 00000 n 
-0000266731 00000 n 
-0000270530 00000 n 
-0000266977 00000 n 
-0000267190 00000 n 
-0000270590 00000 n 
-0000270649 00000 n 
-0000267436 00000 n 
-0000267629 00000 n 
-0000270708 00000 n 
-0000267875 00000 n 
-0000270884 00000 n 
-0000270944 00000 n 
-0000268075 00000 n 
-0000268318 00000 n 
-0000268517 00000 n 
-0000271004 00000 n 
-0000268715 00000 n 
-0000268913 00000 n 
-0000271064 00000 n 
-0000269156 00000 n 
-0000269354 00000 n 
-0000271124 00000 n 
-0000269599 00000 n 
-0000269810 00000 n 
-0000270055 00000 n 
-0000278502 00000 n 
-0000273213 00000 n 
-0000271296 00000 n 
-0000277606 00000 n 
-0000277666 00000 n 
-0000277726 00000 n 
-0000273522 00000 n 
-0000273720 00000 n 
-0000277786 00000 n 
-0000273965 00000 n 
-0000274162 00000 n 
-0000277846 00000 n 
-0000274406 00000 n 
-0000278024 00000 n 
-0000278083 00000 n 
-0000274606 00000 n 
-0000274844 00000 n 
-0000275044 00000 n 
-0000278142 00000 n 
-0000275244 00000 n 
-0000275442 00000 n 
-0000278202 00000 n 
-0000275678 00000 n 
-0000275876 00000 n 
-0000278262 00000 n 
-0000276114 00000 n 
-0000276319 00000 n 
-0000278322 00000 n 
-0000278382 00000 n 
-0000276557 00000 n 
-0000276755 00000 n 
-0000278442 00000 n 
-0000276993 00000 n 
-0000277191 00000 n 
-0000277429 00000 n 
-0000285125 00000 n 
-0000280532 00000 n 
-0000278614 00000 n 
-0000284230 00000 n 
-0000284290 00000 n 
-0000280814 00000 n 
-0000284467 00000 n 
-0000284527 00000 n 
-0000281014 00000 n 
-0000281254 00000 n 
-0000281453 00000 n 
-0000284587 00000 n 
-0000281645 00000 n 
-0000281843 00000 n 
-0000284647 00000 n 
-0000282081 00000 n 
-0000282278 00000 n 
-0000284707 00000 n 
-0000282517 00000 n 
-0000282724 00000 n 
-0000284767 00000 n 
-0000284827 00000 n 
-0000282964 00000 n 
-0000283177 00000 n 
-0000284887 00000 n 
-0000283417 00000 n 
-0000283615 00000 n 
-0000284947 00000 n 
-0000283855 00000 n 
-0000284053 00000 n 
-0000291916 00000 n 
-0000287186 00000 n 
-0000285237 00000 n 
-0000290961 00000 n 
-0000291021 00000 n 
-0000291081 00000 n 
-0000287468 00000 n 
-0000287715 00000 n 
-0000291141 00000 n 
-0000287915 00000 n 
-0000288113 00000 n 
-0000291201 00000 n 
-0000288360 00000 n 
-0000288574 00000 n 
-0000291261 00000 n 
-0000291321 00000 n 
-0000288821 00000 n 
-0000289019 00000 n 
-0000291381 00000 n 
-0000289266 00000 n 
-0000291558 00000 n 
-0000291618 00000 n 
-0000289466 00000 n 
-0000289709 00000 n 
-0000291678 00000 n 
-0000289898 00000 n 
-0000290088 00000 n 
-0000291738 00000 n 
-0000290331 00000 n 
-0000290541 00000 n 
-0000291798 00000 n 
-0000290784 00000 n 
-0000297389 00000 n 
-0000294147 00000 n 
-0000292028 00000 n 
-0000296733 00000 n 
-0000296851 00000 n 
-0000296911 00000 n 
-0000294384 00000 n 
-0000296971 00000 n 
-0000297149 00000 n 
-0000294622 00000 n 
-0000294848 00000 n 
-0000295075 00000 n 
-0000295275 00000 n 
-0000295473 00000 n 
-0000297209 00000 n 
-0000295682 00000 n 
-0000295909 00000 n 
-0000297269 00000 n 
-0000296103 00000 n 
-0000297329 00000 n 
-0000296330 00000 n 
-0000296556 00000 n 
-0000320205 00000 n 
-0000320325 00000 n 
-0000307562 00000 n 
-0000300664 00000 n 
-0000297501 00000 n 
-0000306842 00000 n 
-0000306902 00000 n 
-0000306962 00000 n 
-0000301045 00000 n 
-0000301272 00000 n 
-0000307022 00000 n 
-0000301466 00000 n 
-0000307082 00000 n 
-0000301693 00000 n 
-0000301889 00000 n 
-0000307142 00000 n 
-0000302116 00000 n 
-0000302316 00000 n 
-0000307202 00000 n 
-0000302543 00000 n 
-0000302742 00000 n 
-0000307262 00000 n 
-0000302969 00000 n 
-0000303178 00000 n 
-0000307322 00000 n 
-0000303404 00000 n 
-0000307382 00000 n 
-0000303630 00000 n 
-0000307442 00000 n 
-0000303856 00000 n 
-0000304082 00000 n 
-0000304309 00000 n 
-0000304536 00000 n 
-0000304763 00000 n 
-0000304958 00000 n 
-0000305185 00000 n 
-0000305377 00000 n 
-0000305604 00000 n 
-0000305804 00000 n 
-0000306030 00000 n 
-0000307502 00000 n 
-0000306230 00000 n 
-0000306457 00000 n 
-0000306665 00000 n 
-0000729721 00000 n 
-0000320504 00000 n 
-0000320624 00000 n 
-0000323723 00000 n 
-0000323847 00000 n 
-0000323966 00000 n 
-0000324085 00000 n 
-0000316197 00000 n 
-0000311057 00000 n 
-0000307674 00000 n 
-0000315958 00000 n 
-0000311393 00000 n 
-0000584598 00000 n 
-0000582568 00000 n 
-0000584435 00000 n 
-0000311619 00000 n 
-0000311828 00000 n 
-0000312055 00000 n 
-0000312282 00000 n 
-0000312473 00000 n 
-0000312666 00000 n 
-0000312859 00000 n 
-0000582164 00000 n 
-0000579196 00000 n 
-0000581998 00000 n 
-0000313051 00000 n 
-0000313242 00000 n 
-0000313469 00000 n 
-0000313660 00000 n 
-0000313887 00000 n 
-0000314114 00000 n 
-0000314307 00000 n 
-0000316018 00000 n 
-0000314500 00000 n 
-0000314709 00000 n 
-0000314936 00000 n 
-0000316078 00000 n 
-0000315145 00000 n 
-0000315372 00000 n 
-0000316138 00000 n 
-0000315581 00000 n 
-0000315781 00000 n 
-0000324205 00000 n 
-0000326842 00000 n 
-0000326962 00000 n 
-0000327082 00000 n 
-0000327202 00000 n 
-0000327322 00000 n 
-0000320690 00000 n 
-0000318886 00000 n 
-0000316337 00000 n 
-0000320085 00000 n 
-0000319069 00000 n 
-0000319262 00000 n 
-0000320145 00000 n 
-0000320265 00000 n 
-0000319456 00000 n 
-0000320384 00000 n 
-0000319683 00000 n 
-0000320444 00000 n 
-0000320564 00000 n 
-0000319908 00000 n 
-0000324264 00000 n 
-0000323044 00000 n 
-0000320814 00000 n 
-0000323604 00000 n 
-0000323664 00000 n 
-0000323200 00000 n 
-0000323788 00000 n 
-0000323906 00000 n 
-0000324026 00000 n 
-0000324145 00000 n 
-0000323427 00000 n 
-0000327382 00000 n 
-0000326399 00000 n 
-0000324389 00000 n 
-0000326723 00000 n 
-0000326783 00000 n 
-0000326902 00000 n 
-0000327022 00000 n 
-0000327142 00000 n 
-0000327262 00000 n 
-0000326546 00000 n 
-0000331235 00000 n 
-0000329463 00000 n 
-0000327520 00000 n 
-0000330523 00000 n 
-0000330583 00000 n 
-0000330759 00000 n 
-0000330819 00000 n 
-0000329637 00000 n 
-0000330879 00000 n 
-0000331055 00000 n 
-0000331115 00000 n 
-0000329876 00000 n 
-0000331175 00000 n 
-0000330110 00000 n 
-0000330346 00000 n 
-0000336438 00000 n 
-0000333469 00000 n 
-0000331399 00000 n 
-0000335781 00000 n 
-0000335841 00000 n 
-0000336018 00000 n 
-0000336078 00000 n 
-0000333688 00000 n 
-0000336138 00000 n 
-0000333928 00000 n 
-0000336198 00000 n 
-0000334167 00000 n 
-0000336258 00000 n 
-0000334407 00000 n 
-0000336318 00000 n 
-0000334647 00000 n 
-0000334886 00000 n 
-0000335126 00000 n 
-0000335365 00000 n 
-0000336378 00000 n 
-0000335604 00000 n 
-0000729846 00000 n 
-0000340711 00000 n 
-0000340831 00000 n 
-0000340950 00000 n 
-0000341373 00000 n 
-0000338788 00000 n 
-0000336550 00000 n 
-0000340592 00000 n 
-0000340652 00000 n 
-0000340771 00000 n 
-0000340890 00000 n 
-0000338989 00000 n 
-0000339229 00000 n 
-0000341015 00000 n 
-0000339467 00000 n 
-0000341193 00000 n 
-0000341253 00000 n 
-0000339707 00000 n 
-0000339943 00000 n 
-0000341313 00000 n 
-0000340179 00000 n 
-0000340415 00000 n 
-0000346398 00000 n 
-0000346278 00000 n 
-0000346880 00000 n 
-0000344104 00000 n 
-0000341498 00000 n 
-0000346099 00000 n 
-0000346159 00000 n 
-0000346218 00000 n 
-0000346338 00000 n 
-0000346464 00000 n 
-0000344314 00000 n 
-0000346640 00000 n 
-0000346700 00000 n 
-0000344507 00000 n 
-0000344755 00000 n 
-0000346760 00000 n 
-0000345003 00000 n 
-0000345250 00000 n 
-0000346820 00000 n 
-0000345464 00000 n 
-0000345710 00000 n 
-0000345922 00000 n 
-0000354468 00000 n 
-0000354706 00000 n 
-0000350034 00000 n 
-0000347018 00000 n 
-0000353929 00000 n 
-0000353989 00000 n 
-0000350316 00000 n 
-0000350541 00000 n 
-0000354049 00000 n 
-0000350789 00000 n 
-0000351014 00000 n 
-0000354109 00000 n 
-0000351262 00000 n 
-0000351510 00000 n 
-0000354169 00000 n 
-0000351704 00000 n 
-0000351951 00000 n 
-0000354229 00000 n 
-0000352175 00000 n 
-0000352423 00000 n 
-0000352648 00000 n 
-0000352872 00000 n 
-0000354288 00000 n 
-0000353096 00000 n 
-0000354348 00000 n 
-0000353344 00000 n 
-0000354408 00000 n 
-0000354528 00000 n 
-0000353537 00000 n 
-0000353752 00000 n 
-0000361497 00000 n 
-0000357373 00000 n 
-0000354818 00000 n 
-0000360659 00000 n 
-0000360719 00000 n 
-0000360779 00000 n 
-0000357628 00000 n 
-0000357886 00000 n 
-0000360839 00000 n 
-0000358111 00000 n 
-0000358368 00000 n 
-0000360899 00000 n 
-0000358592 00000 n 
-0000360958 00000 n 
-0000358850 00000 n 
-0000359108 00000 n 
-0000359301 00000 n 
-0000361018 00000 n 
-0000359558 00000 n 
-0000361078 00000 n 
-0000361138 00000 n 
-0000359816 00000 n 
-0000361198 00000 n 
-0000360073 00000 n 
-0000361258 00000 n 
-0000361318 00000 n 
-0000361378 00000 n 
-0000360288 00000 n 
-0000360482 00000 n 
-0000368115 00000 n 
-0000363638 00000 n 
-0000361609 00000 n 
-0000367160 00000 n 
-0000367278 00000 n 
-0000367338 00000 n 
-0000363911 00000 n 
-0000367398 00000 n 
-0000364145 00000 n 
-0000364379 00000 n 
-0000367458 00000 n 
-0000367518 00000 n 
-0000364580 00000 n 
-0000364781 00000 n 
-0000367578 00000 n 
-0000365015 00000 n 
-0000365216 00000 n 
-0000367638 00000 n 
-0000365450 00000 n 
-0000365649 00000 n 
-0000367698 00000 n 
-0000365881 00000 n 
-0000366082 00000 n 
-0000367757 00000 n 
-0000366316 00000 n 
-0000366516 00000 n 
-0000367817 00000 n 
-0000367995 00000 n 
-0000368055 00000 n 
-0000366749 00000 n 
-0000366983 00000 n 
-0000375880 00000 n 
-0000370860 00000 n 
-0000368241 00000 n 
-0000374985 00000 n 
-0000375045 00000 n 
-0000371160 00000 n 
-0000371394 00000 n 
-0000375104 00000 n 
-0000375164 00000 n 
-0000371595 00000 n 
-0000371796 00000 n 
-0000375224 00000 n 
-0000372030 00000 n 
-0000372231 00000 n 
-0000375284 00000 n 
-0000372465 00000 n 
-0000375462 00000 n 
-0000375522 00000 n 
-0000372660 00000 n 
-0000375582 00000 n 
-0000372885 00000 n 
-0000375642 00000 n 
-0000373110 00000 n 
-0000373309 00000 n 
-0000375700 00000 n 
-0000373533 00000 n 
-0000373733 00000 n 
-0000375760 00000 n 
-0000373958 00000 n 
-0000374158 00000 n 
-0000375820 00000 n 
-0000374383 00000 n 
-0000374583 00000 n 
-0000374808 00000 n 
-0000729971 00000 n 
-0000388841 00000 n 
-0000379670 00000 n 
-0000376019 00000 n 
-0000388421 00000 n 
-0000388481 00000 n 
-0000380168 00000 n 
-0000388541 00000 n 
-0000380393 00000 n 
-0000388601 00000 n 
-0000380618 00000 n 
-0000388661 00000 n 
-0000380843 00000 n 
-0000388721 00000 n 
-0000381068 00000 n 
-0000388781 00000 n 
-0000381293 00000 n 
-0000381518 00000 n 
-0000381742 00000 n 
-0000381932 00000 n 
-0000382157 00000 n 
-0000382356 00000 n 
-0000382581 00000 n 
-0000382781 00000 n 
-0000383004 00000 n 
-0000383204 00000 n 
-0000383397 00000 n 
-0000383590 00000 n 
-0000383815 00000 n 
-0000384015 00000 n 
-0000384208 00000 n 
-0000384401 00000 n 
-0000384624 00000 n 
-0000384824 00000 n 
-0000385017 00000 n 
-0000385210 00000 n 
-0000385401 00000 n 
-0000385626 00000 n 
-0000385826 00000 n 
-0000386019 00000 n 
-0000386212 00000 n 
-0000386402 00000 n 
-0000386602 00000 n 
-0000386825 00000 n 
-0000387016 00000 n 
-0000387217 00000 n 
-0000387442 00000 n 
-0000387633 00000 n 
-0000387832 00000 n 
-0000388054 00000 n 
-0000388244 00000 n 
-0000440276 00000 n 
-0000440396 00000 n 
-0000440516 00000 n 
-0000440635 00000 n 
-0000440755 00000 n 
-0000444339 00000 n 
-0000444463 00000 n 
-0000448196 00000 n 
-0000448322 00000 n 
-0000448442 00000 n 
-0000399153 00000 n 
-0000392424 00000 n 
-0000388966 00000 n 
-0000398734 00000 n 
-0000392814 00000 n 
-0000393039 00000 n 
-0000393231 00000 n 
-0000393455 00000 n 
-0000393647 00000 n 
-0000393871 00000 n 
-0000398794 00000 n 
-0000394062 00000 n 
-0000394287 00000 n 
-0000398854 00000 n 
-0000394479 00000 n 
-0000394704 00000 n 
-0000398913 00000 n 
-0000394929 00000 n 
-0000398973 00000 n 
-0000395154 00000 n 
-0000399033 00000 n 
-0000395378 00000 n 
-0000395601 00000 n 
-0000399093 00000 n 
-0000395826 00000 n 
-0000396050 00000 n 
-0000396275 00000 n 
-0000396467 00000 n 
-0000396690 00000 n 
-0000396879 00000 n 
-0000397104 00000 n 
-0000397304 00000 n 
-0000397528 00000 n 
-0000397728 00000 n 
-0000397953 00000 n 
-0000398145 00000 n 
-0000398367 00000 n 
-0000398557 00000 n 
-0000448562 00000 n 
-0000448682 00000 n 
-0000452194 00000 n 
-0000452314 00000 n 
-0000452434 00000 n 
-0000452558 00000 n 
-0000452684 00000 n 
-0000452804 00000 n 
-0000456209 00000 n 
-0000456329 00000 n 
-0000456449 00000 n 
-0000414050 00000 n 
-0000403993 00000 n 
-0000399265 00000 n 
-0000413930 00000 n 
-0000404545 00000 n 
-0000404770 00000 n 
-0000404970 00000 n 
-0000405195 00000 n 
-0000405394 00000 n 
-0000405618 00000 n 
-0000405809 00000 n 
-0000406034 00000 n 
-0000406226 00000 n 
-0000406451 00000 n 
-0000406641 00000 n 
-0000406866 00000 n 
-0000413990 00000 n 
-0000407058 00000 n 
-0000407282 00000 n 
-0000407507 00000 n 
-0000407699 00000 n 
-0000407923 00000 n 
-0000408112 00000 n 
-0000408311 00000 n 
-0000408503 00000 n 
-0000408728 00000 n 
-0000408917 00000 n 
-0000409117 00000 n 
-0000409310 00000 n 
-0000409535 00000 n 
-0000409724 00000 n 
-0000409924 00000 n 
-0000410124 00000 n 
-0000578669 00000 n 
-0000574722 00000 n 
-0000578505 00000 n 
-0000410317 00000 n 
-0000410542 00000 n 
-0000410732 00000 n 
-0000410932 00000 n 
-0000411132 00000 n 
-0000411332 00000 n 
-0000411523 00000 n 
-0000411748 00000 n 
-0000411938 00000 n 
-0000412147 00000 n 
-0000412347 00000 n 
-0000574140 00000 n 
-0000571563 00000 n 
-0000573975 00000 n 
-0000412540 00000 n 
-0000412764 00000 n 
-0000412954 00000 n 
-0000413163 00000 n 
-0000413363 00000 n 
-0000413562 00000 n 
-0000413753 00000 n 
-0000456569 00000 n 
-0000459996 00000 n 
-0000460116 00000 n 
-0000460235 00000 n 
-0000460354 00000 n 
-0000460474 00000 n 
-0000464291 00000 n 
-0000464411 00000 n 
-0000464531 00000 n 
-0000464651 00000 n 
-0000468435 00000 n 
-0000468555 00000 n 
-0000473580 00000 n 
-0000425589 00000 n 
-0000418430 00000 n 
-0000414230 00000 n 
-0000425529 00000 n 
-0000418856 00000 n 
-0000419080 00000 n 
-0000419280 00000 n 
-0000419489 00000 n 
-0000419689 00000 n 
-0000419888 00000 n 
-0000420113 00000 n 
-0000420313 00000 n 
-0000420522 00000 n 
-0000420722 00000 n 
-0000420947 00000 n 
-0000421137 00000 n 
-0000421362 00000 n 
-0000421558 00000 n 
-0000421782 00000 n 
-0000421974 00000 n 
-0000422198 00000 n 
-0000422389 00000 n 
-0000422614 00000 n 
-0000422839 00000 n 
-0000423064 00000 n 
-0000423256 00000 n 
-0000423480 00000 n 
-0000423674 00000 n 
-0000423899 00000 n 
-0000424124 00000 n 
-0000424314 00000 n 
-0000424539 00000 n 
-0000424734 00000 n 
-0000424924 00000 n 
-0000425149 00000 n 
-0000425352 00000 n 
-0000473700 00000 n 
-0000473820 00000 n 
-0000478256 00000 n 
-0000478376 00000 n 
-0000478496 00000 n 
-0000478616 00000 n 
-0000482230 00000 n 
-0000482350 00000 n 
-0000482470 00000 n 
-0000482590 00000 n 
-0000487547 00000 n 
-0000487667 00000 n 
-0000487786 00000 n 
-0000487906 00000 n 
-0000436797 00000 n 
-0000429643 00000 n 
-0000425754 00000 n 
-0000436439 00000 n 
-0000436499 00000 n 
-0000430060 00000 n 
-0000430258 00000 n 
-0000436558 00000 n 
-0000430483 00000 n 
-0000430681 00000 n 
-0000430906 00000 n 
-0000431131 00000 n 
-0000431322 00000 n 
-0000431546 00000 n 
-0000436618 00000 n 
-0000431745 00000 n 
-0000431970 00000 n 
-0000436677 00000 n 
-0000432162 00000 n 
-0000432385 00000 n 
-0000432575 00000 n 
-0000432800 00000 n 
-0000432992 00000 n 
-0000433216 00000 n 
-0000433408 00000 n 
-0000433633 00000 n 
-0000433825 00000 n 
-0000434025 00000 n 
-0000434250 00000 n 
-0000434442 00000 n 
-0000434642 00000 n 
-0000434867 00000 n 
-0000435059 00000 n 
-0000571258 00000 n 
-0000569169 00000 n 
-0000571093 00000 n 
-0000435258 00000 n 
-0000435483 00000 n 
-0000435675 00000 n 
-0000436737 00000 n 
-0000435875 00000 n 
-0000436067 00000 n 
-0000436262 00000 n 
-0000491449 00000 n 
-0000491568 00000 n 
-0000491688 00000 n 
-0000491807 00000 n 
-0000495303 00000 n 
-0000495423 00000 n 
-0000495543 00000 n 
-0000499504 00000 n 
-0000440821 00000 n 
-0000438963 00000 n 
-0000436964 00000 n 
-0000440157 00000 n 
-0000440217 00000 n 
-0000440336 00000 n 
-0000439146 00000 n 
-0000440456 00000 n 
-0000439354 00000 n 
-0000440575 00000 n 
-0000439562 00000 n 
-0000440695 00000 n 
-0000439771 00000 n 
-0000439980 00000 n 
-0000730096 00000 n 
-0000444588 00000 n 
-0000443462 00000 n 
-0000440946 00000 n 
-0000444220 00000 n 
-0000444280 00000 n 
-0000443627 00000 n 
-0000444404 00000 n 
-0000443835 00000 n 
-0000444528 00000 n 
-0000444043 00000 n 
-0000448741 00000 n 
-0000446725 00000 n 
-0000444713 00000 n 
-0000448136 00000 n 
-0000446917 00000 n 
-0000448262 00000 n 
-0000447125 00000 n 
-0000448382 00000 n 
-0000447334 00000 n 
-0000448502 00000 n 
-0000447543 00000 n 
-0000448622 00000 n 
-0000447751 00000 n 
-0000447959 00000 n 
-0000452863 00000 n 
-0000450879 00000 n 
-0000448853 00000 n 
-0000452075 00000 n 
-0000452135 00000 n 
-0000451062 00000 n 
-0000452254 00000 n 
-0000451271 00000 n 
-0000452374 00000 n 
-0000452499 00000 n 
-0000452624 00000 n 
-0000451480 00000 n 
-0000452744 00000 n 
-0000451689 00000 n 
-0000451898 00000 n 
-0000456689 00000 n 
-0000454894 00000 n 
-0000452975 00000 n 
-0000456090 00000 n 
-0000456150 00000 n 
-0000455077 00000 n 
-0000456269 00000 n 
-0000455286 00000 n 
-0000456389 00000 n 
-0000455495 00000 n 
-0000456509 00000 n 
-0000455704 00000 n 
-0000456629 00000 n 
-0000455913 00000 n 
-0000460534 00000 n 
-0000458523 00000 n 
-0000456801 00000 n 
-0000459936 00000 n 
-0000458715 00000 n 
-0000460056 00000 n 
-0000458924 00000 n 
-0000460176 00000 n 
-0000459133 00000 n 
-0000460294 00000 n 
-0000459341 00000 n 
-0000460414 00000 n 
-0000459550 00000 n 
-0000459759 00000 n 
-0000464710 00000 n 
-0000462977 00000 n 
-0000460659 00000 n 
-0000464172 00000 n 
-0000464232 00000 n 
-0000463160 00000 n 
-0000464351 00000 n 
-0000463369 00000 n 
-0000464471 00000 n 
-0000463577 00000 n 
-0000464591 00000 n 
-0000463786 00000 n 
-0000463995 00000 n 
-0000730221 00000 n 
-0000468674 00000 n 
-0000467556 00000 n 
-0000464835 00000 n 
-0000468316 00000 n 
-0000468376 00000 n 
-0000467721 00000 n 
-0000468495 00000 n 
-0000467930 00000 n 
-0000468615 00000 n 
-0000468139 00000 n 
-0000473940 00000 n 
-0000471528 00000 n 
-0000468862 00000 n 
-0000473520 00000 n 
-0000471747 00000 n 
-0000471954 00000 n 
-0000472149 00000 n 
-0000473640 00000 n 
-0000472342 00000 n 
-0000472551 00000 n 
-0000472746 00000 n 
-0000473760 00000 n 
-0000472939 00000 n 
-0000473148 00000 n 
-0000473880 00000 n 
-0000473343 00000 n 
-0000478675 00000 n 
-0000476598 00000 n 
-0000474115 00000 n 
-0000478196 00000 n 
-0000476799 00000 n 
-0000477008 00000 n 
-0000478316 00000 n 
-0000477203 00000 n 
-0000478436 00000 n 
-0000477412 00000 n 
-0000477620 00000 n 
-0000478556 00000 n 
-0000477810 00000 n 
-0000478019 00000 n 
-0000482710 00000 n 
-0000480708 00000 n 
-0000478813 00000 n 
-0000482111 00000 n 
-0000482171 00000 n 
-0000480900 00000 n 
-0000482290 00000 n 
-0000481109 00000 n 
-0000482410 00000 n 
-0000481314 00000 n 
-0000482530 00000 n 
-0000481520 00000 n 
-0000481728 00000 n 
-0000482650 00000 n 
-0000481934 00000 n 
-0000487965 00000 n 
-0000485280 00000 n 
-0000482835 00000 n 
-0000487487 00000 n 
-0000485508 00000 n 
-0000485698 00000 n 
-0000485907 00000 n 
-0000487607 00000 n 
-0000486097 00000 n 
-0000487726 00000 n 
-0000486306 00000 n 
-0000486515 00000 n 
-0000487846 00000 n 
-0000486721 00000 n 
-0000486911 00000 n 
-0000487120 00000 n 
-0000487310 00000 n 
-0000491867 00000 n 
-0000490353 00000 n 
-0000488077 00000 n 
-0000491330 00000 n 
-0000491390 00000 n 
-0000491508 00000 n 
-0000490527 00000 n 
-0000491628 00000 n 
-0000490735 00000 n 
-0000491747 00000 n 
-0000490944 00000 n 
-0000491153 00000 n 
-0000730346 00000 n 
-0000495602 00000 n 
-0000494206 00000 n 
-0000492005 00000 n 
-0000495184 00000 n 
-0000495244 00000 n 
-0000494380 00000 n 
-0000495363 00000 n 
-0000494589 00000 n 
-0000495483 00000 n 
-0000494798 00000 n 
-0000495007 00000 n 
-0000499802 00000 n 
-0000498393 00000 n 
-0000495740 00000 n 
-0000499385 00000 n 
-0000499445 00000 n 
-0000568864 00000 n 
-0000566775 00000 n 
-0000568699 00000 n 
-0000498567 00000 n 
-0000499564 00000 n 
-0000498776 00000 n 
-0000499742 00000 n 
-0000498985 00000 n 
-0000499208 00000 n 
-0000503814 00000 n 
-0000504230 00000 n 
-0000502091 00000 n 
-0000499967 00000 n 
-0000503514 00000 n 
-0000503574 00000 n 
-0000502283 00000 n 
-0000503634 00000 n 
-0000502506 00000 n 
-0000502729 00000 n 
-0000503694 00000 n 
-0000502919 00000 n 
-0000503754 00000 n 
-0000503874 00000 n 
-0000504052 00000 n 
-0000504111 00000 n 
-0000503108 00000 n 
-0000504170 00000 n 
-0000503337 00000 n 
-0000515430 00000 n 
-0000506979 00000 n 
-0000504355 00000 n 
-0000515310 00000 n 
-0000515370 00000 n 
-0000507567 00000 n 
-0000507722 00000 n 
-0000507877 00000 n 
-0000508032 00000 n 
-0000508187 00000 n 
-0000508341 00000 n 
-0000508496 00000 n 
-0000508651 00000 n 
-0000508806 00000 n 
-0000508961 00000 n 
-0000509116 00000 n 
-0000509271 00000 n 
-0000509424 00000 n 
-0000509579 00000 n 
-0000509734 00000 n 
-0000509889 00000 n 
-0000510044 00000 n 
-0000510199 00000 n 
-0000510354 00000 n 
-0000510509 00000 n 
-0000510664 00000 n 
-0000510819 00000 n 
-0000510974 00000 n 
-0000511129 00000 n 
-0000511284 00000 n 
-0000511439 00000 n 
-0000511593 00000 n 
-0000511748 00000 n 
-0000511903 00000 n 
-0000512058 00000 n 
-0000512213 00000 n 
-0000512368 00000 n 
-0000512523 00000 n 
-0000512678 00000 n 
-0000512833 00000 n 
-0000512988 00000 n 
-0000513143 00000 n 
-0000513298 00000 n 
-0000513453 00000 n 
-0000513608 00000 n 
-0000513763 00000 n 
-0000513918 00000 n 
-0000514073 00000 n 
-0000514228 00000 n 
-0000514383 00000 n 
-0000514538 00000 n 
-0000514693 00000 n 
-0000514848 00000 n 
-0000515003 00000 n 
-0000515158 00000 n 
-0000530377 00000 n 
-0000519358 00000 n 
-0000515516 00000 n 
-0000530317 00000 n 
-0000520090 00000 n 
-0000520244 00000 n 
-0000520398 00000 n 
-0000520553 00000 n 
-0000520706 00000 n 
-0000520861 00000 n 
-0000521016 00000 n 
-0000521170 00000 n 
-0000521325 00000 n 
-0000521479 00000 n 
-0000521634 00000 n 
-0000521789 00000 n 
-0000521943 00000 n 
-0000522098 00000 n 
-0000522253 00000 n 
-0000522408 00000 n 
-0000522563 00000 n 
-0000522718 00000 n 
-0000522872 00000 n 
-0000523027 00000 n 
-0000523179 00000 n 
-0000523334 00000 n 
-0000523489 00000 n 
-0000523644 00000 n 
-0000523799 00000 n 
-0000523953 00000 n 
-0000524108 00000 n 
-0000524263 00000 n 
-0000524418 00000 n 
-0000524573 00000 n 
-0000524728 00000 n 
-0000524883 00000 n 
-0000525038 00000 n 
-0000525193 00000 n 
-0000525348 00000 n 
-0000525503 00000 n 
-0000525657 00000 n 
-0000525812 00000 n 
-0000525967 00000 n 
-0000526122 00000 n 
-0000526277 00000 n 
-0000526432 00000 n 
-0000526587 00000 n 
-0000526741 00000 n 
-0000526895 00000 n 
-0000527050 00000 n 
-0000527203 00000 n 
-0000527358 00000 n 
-0000527513 00000 n 
-0000527668 00000 n 
-0000527822 00000 n 
-0000527977 00000 n 
-0000528132 00000 n 
-0000528287 00000 n 
-0000528440 00000 n 
-0000528594 00000 n 
-0000528748 00000 n 
-0000528903 00000 n 
-0000529058 00000 n 
-0000529213 00000 n 
-0000529367 00000 n 
-0000529522 00000 n 
-0000529677 00000 n 
-0000529831 00000 n 
-0000529985 00000 n 
-0000530140 00000 n 
-0000551902 00000 n 
-0000535665 00000 n 
-0000530489 00000 n 
-0000551842 00000 n 
-0000536685 00000 n 
-0000536839 00000 n 
-0000536993 00000 n 
-0000537148 00000 n 
-0000537301 00000 n 
-0000537455 00000 n 
-0000537610 00000 n 
-0000537765 00000 n 
-0000537919 00000 n 
-0000538074 00000 n 
-0000538229 00000 n 
-0000538384 00000 n 
-0000538539 00000 n 
-0000538694 00000 n 
-0000538848 00000 n 
-0000539003 00000 n 
-0000539156 00000 n 
-0000539311 00000 n 
-0000539466 00000 n 
-0000539621 00000 n 
-0000539774 00000 n 
-0000539929 00000 n 
-0000540084 00000 n 
-0000540239 00000 n 
-0000540393 00000 n 
-0000540546 00000 n 
-0000540701 00000 n 
-0000540856 00000 n 
-0000541011 00000 n 
-0000541166 00000 n 
-0000541321 00000 n 
-0000541475 00000 n 
-0000541629 00000 n 
-0000541783 00000 n 
-0000541935 00000 n 
-0000542090 00000 n 
-0000542245 00000 n 
-0000542400 00000 n 
-0000542555 00000 n 
-0000542710 00000 n 
-0000542865 00000 n 
-0000543020 00000 n 
-0000543175 00000 n 
-0000543329 00000 n 
-0000543482 00000 n 
-0000543636 00000 n 
-0000543790 00000 n 
-0000543944 00000 n 
-0000544098 00000 n 
-0000544253 00000 n 
-0000544408 00000 n 
-0000544563 00000 n 
-0000544716 00000 n 
-0000544871 00000 n 
-0000545024 00000 n 
-0000545179 00000 n 
-0000545334 00000 n 
-0000545489 00000 n 
-0000545643 00000 n 
-0000545798 00000 n 
-0000545953 00000 n 
-0000546108 00000 n 
-0000546263 00000 n 
-0000546418 00000 n 
-0000546572 00000 n 
-0000546725 00000 n 
-0000546880 00000 n 
-0000547035 00000 n 
-0000547189 00000 n 
-0000547343 00000 n 
-0000547498 00000 n 
-0000547652 00000 n 
-0000547806 00000 n 
-0000547960 00000 n 
-0000548114 00000 n 
-0000548268 00000 n 
-0000548423 00000 n 
-0000548578 00000 n 
-0000548733 00000 n 
-0000548887 00000 n 
-0000549040 00000 n 
-0000549195 00000 n 
-0000549349 00000 n 
-0000549504 00000 n 
-0000549659 00000 n 
-0000549812 00000 n 
-0000549967 00000 n 
-0000550122 00000 n 
-0000550277 00000 n 
-0000550431 00000 n 
-0000550585 00000 n 
-0000550739 00000 n 
-0000550894 00000 n 
-0000551049 00000 n 
-0000551204 00000 n 
-0000551359 00000 n 
-0000551512 00000 n 
-0000551665 00000 n 
-0000730471 00000 n 
-0000566676 00000 n 
-0000555830 00000 n 
-0000552014 00000 n 
-0000566616 00000 n 
-0000556553 00000 n 
-0000556708 00000 n 
-0000556862 00000 n 
-0000557016 00000 n 
-0000557170 00000 n 
-0000557325 00000 n 
-0000557480 00000 n 
-0000557635 00000 n 
-0000557788 00000 n 
-0000557943 00000 n 
-0000558097 00000 n 
-0000558252 00000 n 
-0000558407 00000 n 
-0000558561 00000 n 
-0000558715 00000 n 
-0000558869 00000 n 
-0000559022 00000 n 
-0000559177 00000 n 
-0000559332 00000 n 
-0000559487 00000 n 
-0000559641 00000 n 
-0000559796 00000 n 
-0000559950 00000 n 
-0000560104 00000 n 
-0000560259 00000 n 
-0000560413 00000 n 
-0000560568 00000 n 
-0000560723 00000 n 
-0000560878 00000 n 
-0000561033 00000 n 
-0000561188 00000 n 
-0000561340 00000 n 
-0000561494 00000 n 
-0000561649 00000 n 
-0000561803 00000 n 
-0000561957 00000 n 
-0000562111 00000 n 
-0000562265 00000 n 
-0000562418 00000 n 
-0000562573 00000 n 
-0000562728 00000 n 
-0000562880 00000 n 
-0000563035 00000 n 
-0000563190 00000 n 
-0000563345 00000 n 
-0000563500 00000 n 
-0000563655 00000 n 
-0000563810 00000 n 
-0000563965 00000 n 
-0000564120 00000 n 
-0000564275 00000 n 
-0000564429 00000 n 
-0000564584 00000 n 
-0000564739 00000 n 
-0000564893 00000 n 
-0000565047 00000 n 
-0000565202 00000 n 
-0000565357 00000 n 
-0000565512 00000 n 
-0000565666 00000 n 
-0000565821 00000 n 
-0000565976 00000 n 
-0000566129 00000 n 
-0000566284 00000 n 
-0000566439 00000 n 
-0000569086 00000 n 
-0000569061 00000 n 
-0000571480 00000 n 
-0000571455 00000 n 
-0000574559 00000 n 
-0000574378 00000 n 
-0000578991 00000 n 
-0000578893 00000 n 
-0000582443 00000 n 
-0000582375 00000 n 
-0000584967 00000 n 
-0000584842 00000 n 
-0000589913 00000 n 
-0000589712 00000 n 
-0000591998 00000 n 
-0000591875 00000 n 
-0000595535 00000 n 
-0000595465 00000 n 
-0000597818 00000 n 
-0000597792 00000 n 
-0000602230 00000 n 
-0000602025 00000 n 
-0000605199 00000 n 
-0000605048 00000 n 
-0000607572 00000 n 
-0000607541 00000 n 
-0000607680 00000 n 
-0000624583 00000 n 
-0000633559 00000 n 
-0000639638 00000 n 
-0000639425 00000 n 
-0000656718 00000 n 
-0000661483 00000 n 
-0000661290 00000 n 
-0000678454 00000 n 
-0000697447 00000 n 
-0000700963 00000 n 
-0000700692 00000 n 
-0000703583 00000 n 
-0000703550 00000 n 
-0000706305 00000 n 
-0000706164 00000 n 
-0000728232 00000 n 
-0000730560 00000 n 
-0000730680 00000 n 
-0000730806 00000 n 
-0000730905 00000 n 
-0000730987 00000 n 
-0000735611 00000 n 
-0000773934 00000 n 
-0000773975 00000 n 
-0000774015 00000 n 
-0000774149 00000 n 
-trailer
-<<
-/Size 2522
-/Root 2520 0 R
-/Info 2521 0 R
-/ID [<ECDEED8C47382E9CF5986E7FF4732DA2> <ECDEED8C47382E9CF5986E7FF4732DA2>]
->>
-startxref
-774413
-%%EOF
diff --git a/doc/ppl-user-java-interface-0.10.ps.gz b/doc/ppl-user-java-interface-0.10.ps.gz
deleted file mode 100644
index c5895e2..0000000
Binary files a/doc/ppl-user-java-interface-0.10.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-0.10-html.tar.gz b/doc/ppl-user-ocaml-interface-0.10-html.tar.gz
deleted file mode 100644
index 217b49c..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.10-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-0.10.1pre13-html.tar.gz b/doc/ppl-user-ocaml-interface-0.10.1pre13-html.tar.gz
new file mode 100644
index 0000000..b36b340
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-0.10.1pre13-html.tar.gz differ
diff --git a/doc/ppl-user-ocaml-interface-0.10.1pre13.pdf b/doc/ppl-user-ocaml-interface-0.10.1pre13.pdf
new file mode 100644
index 0000000..fc18d07
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-0.10.1pre13.pdf differ
diff --git a/doc/ppl-user-ocaml-interface-0.10.1pre13.ps.gz b/doc/ppl-user-ocaml-interface-0.10.1pre13.ps.gz
new file mode 100644
index 0000000..bb33093
Binary files /dev/null and b/doc/ppl-user-ocaml-interface-0.10.1pre13.ps.gz differ
diff --git a/doc/ppl-user-ocaml-interface-0.10.pdf b/doc/ppl-user-ocaml-interface-0.10.pdf
deleted file mode 100644
index db9cfc5..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.10.pdf and /dev/null differ
diff --git a/doc/ppl-user-ocaml-interface-0.10.ps.gz b/doc/ppl-user-ocaml-interface-0.10.ps.gz
deleted file mode 100644
index 1c9457d..0000000
Binary files a/doc/ppl-user-ocaml-interface-0.10.ps.gz and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-0.10-html.tar.gz b/doc/ppl-user-prolog-interface-0.10-html.tar.gz
deleted file mode 100644
index 17642e1..0000000
Binary files a/doc/ppl-user-prolog-interface-0.10-html.tar.gz and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-0.10.1pre13-html.tar.gz b/doc/ppl-user-prolog-interface-0.10.1pre13-html.tar.gz
new file mode 100644
index 0000000..eb1aa01
Binary files /dev/null and b/doc/ppl-user-prolog-interface-0.10.1pre13-html.tar.gz differ
diff --git a/doc/ppl-user-prolog-interface-0.10.1pre13.pdf b/doc/ppl-user-prolog-interface-0.10.1pre13.pdf
new file mode 100644
index 0000000..1d40d21
Binary files /dev/null and b/doc/ppl-user-prolog-interface-0.10.1pre13.pdf differ
diff --git a/doc/ppl-user-prolog-interface-0.10.1pre13.ps.gz b/doc/ppl-user-prolog-interface-0.10.1pre13.ps.gz
new file mode 100644
index 0000000..aa68028
Binary files /dev/null and b/doc/ppl-user-prolog-interface-0.10.1pre13.ps.gz differ
diff --git a/doc/ppl-user-prolog-interface-0.10.pdf b/doc/ppl-user-prolog-interface-0.10.pdf
deleted file mode 100644
index ba068cd..0000000
Binary files a/doc/ppl-user-prolog-interface-0.10.pdf and /dev/null differ
diff --git a/doc/ppl-user-prolog-interface-0.10.ps.gz b/doc/ppl-user-prolog-interface-0.10.ps.gz
deleted file mode 100644
index 7e0eab8..0000000
Binary files a/doc/ppl-user-prolog-interface-0.10.ps.gz and /dev/null differ
diff --git a/doc/ppl.sty b/doc/ppl.sty
index 34148eb..7282dc7 100644
--- a/doc/ppl.sty
+++ b/doc/ppl.sty
@@ -1,5 +1,5 @@
 %% LaTeX package providing macros for typesetting the PPL manuals.
-%% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+%% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %%
 %% This file is part of the Parma Polyhedra Library (PPL).
 %%
diff --git a/doc/user-language-interface.doxyconf b/doc/user-language-interface.doxyconf
deleted file mode 100644
index 2f92d7e..0000000
--- a/doc/user-language-interface.doxyconf
+++ /dev/null
@@ -1,259 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = "PPL <PPL_SED_LANGUAGE_NAME> Language Interface"
-PROJECT_NUMBER         = 0.10
-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                = <PPL_SED_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       = <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            = 
-#---------------------------------------------------------------------------
-# 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                  = <PPL_SED_INPUT>
-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          = <PPL_SED_GENERATE_HTML>
-HTML_OUTPUT            = ppl-user-<PPL_SED_INTERFACE_NAME>-0.10-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         = <PPL_SED_GENERATE_LATEX>
-LATEX_OUTPUT           = user-<PPL_SED_INTERFACE_NAME>.latex-dir
-LATEX_CMD_NAME         = latex
-MAKEINDEX_CMD_NAME     = makeindex
-COMPACT_LATEX          = YES
-PAPER_TYPE             = a4wide
-EXTRA_PACKAGES         = ppl
-LATEX_HEADER           = user-<PPL_SED_INTERFACE_NAME>.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             = PPL_PROTO(protos):=protos
-EXPAND_AS_DEFINED      = PPL_TYPE_DECLARATION \
-                         PPL_DECLARE_PRINT_FUNCTIONS \
-                         PPL_DECLARE_ASCII_DUMP_LOAD_FUNCTIONS \
-                         PPL_DECLARE_IO_FUNCTIONS \
-                         PPL_DECLARE_AND_DOCUMENT_PRINT_FUNCTIONS \
-                         PPL_DECLARE_AND_DOCUMENT_ASCII_DUMP_LOAD_FUNCTIONS \
-                         PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = <PPL_SED_TAGFILES>
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/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/doc/user-language-interface.tex b/doc/user-language-interface.tex
index 6d5788e..0c78019 100644
--- a/doc/user-language-interface.tex
+++ b/doc/user-language-interface.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001--2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -100,7 +100,7 @@ Enea Zaffanella\thanks{zaffanella at cs.unipr.it,
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2008 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/doc/user.doxyconf-html b/doc/user.doxyconf-html
deleted file mode 100644
index 78027db..0000000
--- a/doc/user.doxyconf-html
+++ /dev/null
@@ -1,256 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PPL
-PROJECT_NUMBER         = 0.10
-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                  = ./definitions.dox \
-                         ../src/ppl.hh \
-                         ./gpl.dox \
-                         ./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            = ppl-user-0.10-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         = ppl
-LATEX_HEADER           = ./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      = PPL_OUTPUT_DECLARATIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = ppl-user-0.10-html.tag
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/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/doc/user.doxyconf-latex b/doc/user.doxyconf-latex
deleted file mode 100644
index 1d17237..0000000
--- a/doc/user.doxyconf-latex
+++ /dev/null
@@ -1,256 +0,0 @@
-# Doxyfile 1.5.7.1
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-DOXYFILE_ENCODING      = UTF-8
-PROJECT_NAME           = PPL
-PROJECT_NUMBER         = 0.10
-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                  = ./definitions.dox \
-                         ../src/ppl.hh \
-                         ./gpl.dox \
-                         ./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            = ppl-user-0.10-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         = ppl
-LATEX_HEADER           = ./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      = PPL_OUTPUT_DECLARATIONS
-SKIP_FUNCTION_MACROS   = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references   
-#---------------------------------------------------------------------------
-TAGFILES               = 
-GENERATE_TAGFILE       = 
-ALLEXTERNALS           = NO
-EXTERNAL_GROUPS        = YES
-PERL_PATH              = /usr/bin/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/doc/user.tex b/doc/user.tex
index c8542dd..b5d248a 100644
--- a/doc/user.tex
+++ b/doc/user.tex
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This document describes the Parma Polyhedra Library (PPL).
 %
@@ -109,7 +109,7 @@ Tatiana Zolo
 \maketitle
 
 \newpage
-Copyright \copyright\ 2001--2008 Roberto Bagnara (bagnara at cs.unipr.it).
+Copyright \copyright\ 2001--2009 Roberto Bagnara (bagnara at cs.unipr.it).
 
 This document describes the Parma Polyhedra Library (PPL).
 
diff --git a/instchk.hh b/instchk.hh
index a135446..af1f251 100644
--- a/instchk.hh
+++ b/instchk.hh
@@ -1,6 +1,6 @@
 /* Fake declarations to test the validity of the arguments of the
    --enabled-instantiations option defined in configure.ac.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -98,7 +98,7 @@ public:
   }
 };
 
-#if SUPPORTED_FLOAT
+#if PPL_SUPPORTED_FLOAT
 class Float_Box {
 public:
   static bool valid_instantiation() {
@@ -111,9 +111,9 @@ public:
     return true;
   }
 };
-#endif // SUPPORTED_FLOAT
+#endif // PPL_SUPPORTED_FLOAT
 
-#if SUPPORTED_DOUBLE
+#if PPL_SUPPORTED_DOUBLE
 class Double_Box {
 public:
   static bool valid_instantiation() {
@@ -126,9 +126,9 @@ public:
     return true;
   }
 };
-#endif // SUPPORTED_DOUBLE
+#endif // PPL_SUPPORTED_DOUBLE
 
-#if SUPPORTED_LONG_DOUBLE
+#if PPL_SUPPORTED_LONG_DOUBLE
 class Long_Double_Box {
 public:
   static bool valid_instantiation() {
@@ -141,7 +141,7 @@ public:
     return true;
   }
 };
-#endif // SUPPORTED_LONG_DOUBLE
+#endif // PPL_SUPPORTED_LONG_DOUBLE
 
 class Int8_Box {
 public:
@@ -289,29 +289,29 @@ valid_BD_Shape_argument<long long>() {
   return true;
 }
 
-#if SUPPORTED_FLOAT
+#if PPL_SUPPORTED_FLOAT
 template <>
 bool
 valid_BD_Shape_argument<float>() {
   return true;
 }
-#endif // SUPPORTED_FLOAT
+#endif // PPL_SUPPORTED_FLOAT
 
-#if SUPPORTED_DOUBLE
+#if PPL_SUPPORTED_DOUBLE
 template <>
 bool
 valid_BD_Shape_argument<double>() {
   return true;
 }
-#endif // SUPPORTED_DOUBLE
+#endif // PPL_SUPPORTED_DOUBLE
 
-#if SUPPORTED_LONG_DOUBLE
+#if PPL_SUPPORTED_LONG_DOUBLE
 template <>
 bool
 valid_BD_Shape_argument<long double>() {
   return true;
 }
-#endif // SUPPORTED_LONG_DOUBLE
+#endif // PPL_SUPPORTED_LONG_DOUBLE
 
 template <>
 bool
diff --git a/interfaces/C/C_interface.dox b/interfaces/C/C_interface.dox
index 1e369b7..4789230 100644
--- a/interfaces/C/C_interface.dox
+++ b/interfaces/C/C_interface.dox
@@ -1,5 +1,5 @@
 /* Doxumentation for the C language interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -44,7 +44,7 @@ typedef struct ppl_Polyhedron_tag* ppl_Polyhedron_t;
 /*! \brief Opaque pointer to const object \ingroup Datatypes */
 typedef struct ppl_Polyhedron_tag const* ppl_const_Polyhedron_t;
 
-/*! \name Constructors and Assignment for C_Polyhedron */
+/*! \brief \name Constructors and Assignment for C_Polyhedron */
 /*@{*/
 
 /*! \relates ppl_Polyhedron_tag \brief
@@ -135,7 +135,7 @@ ppl_assign_C_Polyhedron_from_C_Polyhedron
 
 /*@}*/ /* Constructors and Assignment for C_Polyhedron */
 
-/*! \name Constructors and Assignment for NNC_Polyhedron */
+/*! \brief \name Constructors and Assignment for NNC_Polyhedron */
 /*@{*/
 
 /*! \relates ppl_Polyhedron_tag \brief
@@ -291,7 +291,7 @@ ppl_new_NNC_Polyhedron_from_C_Polyhedron_with_complexity
 
 /*@}*/ /* Constructors Behaving as Conversion Operators */
 
-/*! \name Destructor for (C or NNC) Polyhedra */
+/*! \brief \name Destructor for (C or NNC) Polyhedra */
 /*@{*/
 
 /*! \relates ppl_Polyhedron_tag \brief
@@ -303,7 +303,7 @@ ppl_delete_Polyhedron(ppl_const_Polyhedron_t ph);
 
 /*@}*/ /* Destructor for (C or NNC) Polyhedra */
 
-/*! \name Functions that Do Not Modify the Polyhedron */
+/*! \brief \name Functions that Do Not Modify the Polyhedron */
 /*@{*/
 
 /*! \relates ppl_Polyhedron_tag \brief
@@ -612,7 +612,7 @@ ppl_Polyhedron_total_memory_in_bytes
 /*@}*/ /* Functions that Do Not Modify the Polyhedron */
 
 
-/*! \name Space Dimension Preserving Functions that May Modify the Polyhedron */
+/*! \brief \name Space Dimension Preserving Functions that May Modify the Polyhedron */
 /*@{*/
 
 /*! \relates ppl_Polyhedron_tag \brief
@@ -981,7 +981,7 @@ ppl_Polyhedron_generalized_affine_preimage_lhs_rhs
 /*@}*/ /* Space Dimension Preserving Functions that May Modify [...] */
 
 
-/*! \name Functions that May Modify the Dimension of the Vector Space */
+/*! \brief \name Functions that May Modify the Dimension of the Vector Space */
 /*@{*/
 
 /*! \relates ppl_Polyhedron_tag \brief
@@ -1069,7 +1069,7 @@ ppl_Polyhedron_fold_space_dimensions
 
 /*@}*/ /* Functions that May Modify the Dimension of the Vector Space */
 
-/*! \name Input/Output Functions */
+/*! \brief \name Input/Output Functions */
 /*@{*/
 
 /*! \relates ppl_Polyhedron_tag
@@ -1084,6 +1084,13 @@ ppl_io_print_Polyhedron(ppl_const_Polyhedron_t x);
 int
 ppl_io_fprint_Polyhedron(FILE* stream, ppl_const_Polyhedron_t x);
 
+/*! \relates ppl_Polyhedron_tag \brief
+  Prints \p x to a malloc-allocated string, a pointer to which
+  is returned via \p strp.
+*/
+int
+ppl_io_asprint_Polyhedron(char** strp, ppl_const_Polyhedron_t x);
+
 /*! \relates ppl_Polyhedron_tag
   \brief Dumps an ascii representation of \p x on \p stream.
 */
@@ -1428,7 +1435,7 @@ typedef struct ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag*
 typedef struct ppl_Pointset_Powerset_C_Polyhedron_const_iterator_tag const*
         ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t;
 
-/*! \name Construction, Initialization and Destruction */
+/*! \brief \name Construction, Initialization and Destruction */
 /*@{*/
 
 /*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag \brief
@@ -1515,9 +1522,9 @@ int
 ppl_delete_Pointset_Powerset_C_Polyhedron_const_iterator
 (ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t it);
 
-/*@}*/ /* \name Construction, Initialization and Destruction */
+/*@}*/ /* Construction, Initialization and Destruction */
 
-/*! \name Dereferencing, Increment, Decrement and Equality Testing */
+/*! \brief \name Dereferencing, Increment, Decrement and Equality Testing */
 /*@{*/
 
 /*! \relates ppl_Pointset_Powerset_C_Polyhedron_iterator_tag \brief
@@ -1603,10 +1610,10 @@ ppl_Pointset_Powerset_C_Polyhedron_const_iterator_equal_test
 (ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t x,
  ppl_const_Pointset_Powerset_C_Polyhedron_const_iterator_t y);
 
-/*@}*/ /* \name Dereferencing, Increment, Decrement and Equality Testing */
+/*@}*/ /* Dereferencing, Increment, Decrement and Equality Testing */
 
 
-/*! \name Ad Hoc Functions for Pointset_Powerset domains */
+/*! \brief \name Ad Hoc Functions for Pointset_Powerset domains */
 /*@{*/
 
 /*! \relates ppl_Pointset_Powerset_C_Polyhedron_tag \brief
@@ -1679,4 +1686,4 @@ int
 ppl_Pointset_Powerset_C_Polyhedron_pairwise_reduce
 (ppl_Pointset_Powerset_C_Polyhedron_t ps);
 
-/*@}*/ /* \name Ad Hoc Functions for Pointset_Powerset domains */
+/*@}*/ /* Ad Hoc Functions for Pointset_Powerset domains */
diff --git a/interfaces/C/Makefile.am b/interfaces/C/Makefile.am
index 7b60a4c..ecc9f37 100644
--- a/interfaces/C/Makefile.am
+++ b/interfaces/C/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -75,7 +75,7 @@ LIBPPL_C_LT_AGE =      0
 
 ppl_c.h: ppl_c_header.h ppl_c_version.h ppl_c_domains.h Makefile $(top_builddir)/utils/build_header
 	$(top_builddir)/utils/build_header \
-		-I $(top_builddir)/interfaces/C \
+		-I $(top_builddir)/interfaces/C -I $(top_srcdir)/src \
 		$(top_srcdir)/interfaces/C/ppl_c_header.h >$@
 
 BUILT_SOURCES = \
@@ -92,11 +92,11 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 $(interface_generator_files)
 
 ppl_c_domains.h: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_h.m4 > $@
 
 ppl_c_implementation_domains.cc.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_cc_files.m4 \
                 > ppl_c_cc_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_c_cc_blob
@@ -105,7 +105,7 @@ ppl_c_implementation_domains.cc.stamp: $(interface_generator_dependencies)
 	echo timestamp >$@
 
 ppl_c_implementation_domains.hh: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_hh_files.m4 \
                 > ppl_c_hh_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_c_hh_blob
diff --git a/interfaces/C/Makefile.in b/interfaces/C/Makefile.in
index 572c6e9..4e2ab55 100644
--- a/interfaces/C/Makefile.in
+++ b/interfaces/C/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -81,12 +81,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -204,6 +203,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -212,6 +213,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -286,6 +288,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -987,15 +990,15 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-nodist_includeHEADERS
 
 ppl_c.h: ppl_c_header.h ppl_c_version.h ppl_c_domains.h Makefile $(top_builddir)/utils/build_header
 	$(top_builddir)/utils/build_header \
-		-I $(top_builddir)/interfaces/C \
+		-I $(top_builddir)/interfaces/C -I $(top_srcdir)/src \
 		$(top_srcdir)/interfaces/C/ppl_c_header.h >$@
 
 ppl_c_domains.h: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_h.m4 > $@
 
 ppl_c_implementation_domains.cc.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_cc_files.m4 \
                 > ppl_c_cc_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_c_cc_blob
@@ -1004,7 +1007,7 @@ ppl_c_implementation_domains.cc.stamp: $(interface_generator_dependencies)
 	echo timestamp >$@
 
 ppl_c_implementation_domains.hh: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_c_hh_files.m4 \
                 > ppl_c_hh_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_c_hh_blob
diff --git a/interfaces/C/ppl_c_header.h b/interfaces/C/ppl_c_header.h
index 7119182..5394555 100644
--- a/interfaces/C/ppl_c_header.h
+++ b/interfaces/C/ppl_c_header.h
@@ -1,5 +1,5 @@
 /* This is the header file of the C interface of the Parma Polyhedra Library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 /*!
   \defgroup PPL_C_interface C Language Interface
-  \brief
+
   The Parma Polyhedra Library comes equipped with an interface
   for the C language.
 */
@@ -354,15 +354,26 @@ ppl_max_space_dimension PPL_PROTO((ppl_dimension_type* m));
 int
 ppl_not_a_dimension PPL_PROTO((ppl_dimension_type* m));
 
-/*! \brief Pretty-prints \p var to <CODE>stdout</CODE>. */
+/*! \brief
+  Pretty-prints \p var to <CODE>stdout</CODE>.
+*/
 int
 ppl_io_print_variable PPL_PROTO((ppl_dimension_type var));
 
-/*! \brief Pretty-prints \p var to the given output \p stream. */
+/*! \brief
+  Pretty-prints \p var to the given output \p stream.
+*/
 int
 ppl_io_fprint_variable PPL_PROTO((FILE* stream, ppl_dimension_type var));
 
 /*! \brief
+  Pretty-prints \p var to a malloc-allocated string, a pointer to which
+  is returned via \p strp.
+*/
+int
+ppl_io_asprint_variable PPL_PROTO((char** strp, ppl_dimension_type var));
+
+/*! \brief
   The type of output functions used for printing variables.
 
   An output function for variables must write a textual representation
@@ -387,6 +398,29 @@ ppl_io_set_variable_output_function(ppl_io_variable_output_function_type* p);
 int
 ppl_io_get_variable_output_function(ppl_io_variable_output_function_type** pp);
 
+/*! \brief Utility function for the wrapping of lines of text.
+
+  \param src
+  The source string holding the text to wrap.
+
+  \param indent_depth
+  The indentation depth.
+
+  \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.
+
+  \return
+  The wrapped string in a malloc-allocated buffer.
+*/
+char*
+ppl_io_wrap_string(const char* src,
+		   unsigned indent_depth,
+		   unsigned preferred_first_line_length,
+		   unsigned preferred_line_length);
+
 /*@}*/ /* Datatypes */
 
 #undef PPL_TYPE_DECLARATION
@@ -562,7 +596,10 @@ int                                                                     \
 ppl_io_print_##Type PPL_PROTO((ppl_const_##Type##_t x));                \
 /*! \relates ppl_##Type##_tag */                                        \
 int                                                                     \
-ppl_io_fprint_##Type PPL_PROTO((FILE* stream, ppl_const_##Type##_t x));
+ppl_io_fprint_##Type PPL_PROTO((FILE* stream, ppl_const_##Type##_t x)); \
+/*! \relates ppl_##Type##_tag */                                        \
+int                                                                     \
+ppl_io_asprint_##Type PPL_PROTO((char** strp, ppl_const_##Type##_t x));
 
 #define PPL_DECLARE_ASCII_DUMP_LOAD_FUNCTIONS(Type) \
 /*! \relates ppl_##Type##_tag */                    \
@@ -584,7 +621,10 @@ int                                                                     \
 ppl_io_print_##Type PPL_PROTO((ppl_const_##Type##_t x));                \
 /*! \relates ppl_##Type##_tag \brief Prints \p x to the given output \p stream. */ \
 int                                                                     \
-ppl_io_fprint_##Type PPL_PROTO((FILE* stream, ppl_const_##Type##_t x));
+ppl_io_fprint_##Type PPL_PROTO((FILE* stream, ppl_const_##Type##_t x)); \
+/*! \relates ppl_##Type##_tag \brief Prints \p x to a malloc-allocated string, a pointer to which is returned via \p strp. */ \
+int                                                                     \
+ppl_io_asprint_##Type PPL_PROTO((char** strp, ppl_const_##Type##_t x));
 
 
 #define PPL_DECLARE_AND_DOCUMENT_ASCII_DUMP_LOAD_FUNCTIONS(Type) \
@@ -598,14 +638,14 @@ ppl_##Type##_ascii_load                                          \
 PPL_PROTO((ppl_##Type##_t x, FILE* stream));
 
 #define PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Type)      \
-/*! \name Input/Output Functions */                      \
+/*! \brief \name Input/Output Functions */               \
 /*@{*/                                                   \
 PPL_DECLARE_AND_DOCUMENT_PRINT_FUNCTIONS(Type)           \
 PPL_DECLARE_AND_DOCUMENT_ASCII_DUMP_LOAD_FUNCTIONS(Type) \
 /*@}*/ /* Input/Output Functions */
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Coefficient_tag \brief
@@ -651,9 +691,9 @@ PPL_PROTO((ppl_Coefficient_t dst, ppl_const_Coefficient_t src));
 int
 ppl_delete_Coefficient PPL_PROTO((ppl_const_Coefficient_t c));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Read-Only Accessor Functions */
+/*! \brief \name Read-Only Accessor Functions */
 /*@{*/
 
 /*! \relates ppl_Coefficient_tag \brief
@@ -691,16 +731,16 @@ ppl_Coefficient_min PPL_PROTO((mpz_t min));
 int
 ppl_Coefficient_max PPL_PROTO((mpz_t max));
 
-/*@}*/ /* \name Read-Only Accessor Functions */
+/*@}*/ /* Read-Only Accessor Functions */
 
 /* No ascii dump for Coefficient */
-/*! \name I/O Functions */
+/*! \brief \name I/O Functions */
 /*@{*/
 PPL_DECLARE_AND_DOCUMENT_PRINT_FUNCTIONS(Coefficient)
 /*@}*/ /* I/O Functions */
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Linear_Expression_tag \brief
@@ -774,9 +814,9 @@ PPL_PROTO((ppl_Linear_Expression_t dst, ppl_const_Linear_Expression_t src));
 int
 ppl_delete_Linear_Expression PPL_PROTO((ppl_const_Linear_Expression_t le));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Linear Expression */
+/*! \brief \name Functions that Do Not Modify the Linear Expression */
 /*@{*/
 
 /*! \relates ppl_Linear_Expression_tag \brief
@@ -812,7 +852,7 @@ ppl_Linear_Expression_OK PPL_PROTO((ppl_const_Linear_Expression_t le));
 
 /*@}*/ /* Functions that Do Not Modify the Linear Expression */
 
-/*! \name Functions that May Modify the Linear Expression */
+/*! \brief \name Functions that May Modify the Linear Expression */
 /*@{*/
 
 /*! \relates ppl_Linear_Expression_tag \brief
@@ -854,7 +894,7 @@ int
 ppl_multiply_Linear_Expression_by_Coefficient
 PPL_PROTO((ppl_Linear_Expression_t le, ppl_const_Coefficient_t n));
 
-/*@}*/ /* \name Functions that May Modify the Linear Expression */
+/*@}*/ /* Functions that May Modify the Linear Expression */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Linear_Expression)
 
@@ -874,7 +914,7 @@ enum ppl_enum_Constraint_Type {
   PPL_CONSTRAINT_TYPE_GREATER_THAN
 };
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Constraint_tag \brief
@@ -924,9 +964,9 @@ ppl_assign_Constraint_from_Constraint PPL_PROTO((ppl_Constraint_t dst,
 int
 ppl_delete_Constraint PPL_PROTO((ppl_const_Constraint_t c));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Constraint */
+/*! \brief \name Functions that Do Not Modify the Constraint */
 /*@{*/
 
 /*! \relates ppl_Constraint_tag \brief
@@ -966,12 +1006,12 @@ ppl_Constraint_inhomogeneous_term PPL_PROTO((ppl_const_Constraint_t c,
 int
 ppl_Constraint_OK PPL_PROTO((ppl_const_Constraint_t c));
 
-/*@}*/ /* \name Functions that Do Not Modify the Constraint */
+/*@}*/ /* Functions that Do Not Modify the Constraint */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Constraint)
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Constraint_System_tag \brief
@@ -1020,9 +1060,9 @@ PPL_PROTO((ppl_Constraint_System_t dst, ppl_const_Constraint_System_t src));
 int
 ppl_delete_Constraint_System PPL_PROTO((ppl_const_Constraint_System_t cs));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Constraint System */
+/*! \brief \name Functions that Do Not Modify the Constraint System */
 /*@{*/
 
 /*! \relates ppl_Constraint_System_tag \brief
@@ -1076,7 +1116,7 @@ ppl_Constraint_System_OK PPL_PROTO((ppl_const_Constraint_System_t cs));
 
 /*@}*/ /* Functions that Do Not Modify the Constraint System */
 
-/*! \name Functions that May Modify the Constraint System */
+/*! \brief \name Functions that May Modify the Constraint System */
 /*@{*/
 
 /*! \relates ppl_Constraint_System_tag \brief
@@ -1094,12 +1134,12 @@ int
 ppl_Constraint_System_insert_Constraint PPL_PROTO((ppl_Constraint_System_t cs,
 						   ppl_const_Constraint_t c));
 
-/*@}*/ /* \name Functions that May Modify the Constraint System */
+/*@}*/ /* Functions that May Modify the Constraint System */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Constraint_System)
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Constraint_System_const_iterator_tag \brief
@@ -1135,9 +1175,9 @@ int
 ppl_delete_Constraint_System_const_iterator
 PPL_PROTO((ppl_const_Constraint_System_const_iterator_t cit));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Dereferencing, Incrementing and Equality Testing */
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
 /*@{*/
 
 /*! \relates ppl_Constraint_System_const_iterator_tag \brief
@@ -1165,7 +1205,7 @@ ppl_Constraint_System_const_iterator_equal_test
 PPL_PROTO((ppl_const_Constraint_System_const_iterator_t x,
 	   ppl_const_Constraint_System_const_iterator_t y));
 
-/*@}*/ /* \name Dereferencing, Incrementing and Equality Testing */
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
 
 
 /*! \brief \ingroup Datatypes
@@ -1182,7 +1222,7 @@ enum ppl_enum_Generator_Type {
   PPL_GENERATOR_TYPE_CLOSURE_POINT
 };
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Generator_tag \brief
@@ -1237,9 +1277,9 @@ ppl_assign_Generator_from_Generator PPL_PROTO((ppl_Generator_t dst,
 int
 ppl_delete_Generator PPL_PROTO((ppl_const_Generator_t g));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Generator */
+/*! \brief \name Functions that Do Not Modify the Generator */
 /*@{*/
 
 /*! \relates ppl_Generator_tag \brief
@@ -1278,12 +1318,12 @@ ppl_Generator_divisor PPL_PROTO((ppl_const_Generator_t g,
 int
 ppl_Generator_OK PPL_PROTO((ppl_const_Generator_t g));
 
-/*@}*/ /* \name Functions that Do Not Modify the Generator */
+/*@}*/ /* Functions that Do Not Modify the Generator */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Generator)
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Generator_System_tag \brief
@@ -1333,9 +1373,9 @@ PPL_PROTO((ppl_Generator_System_t dst, ppl_const_Generator_System_t src));
 int
 ppl_delete_Generator_System PPL_PROTO((ppl_const_Generator_System_t gs));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Generator System */
+/*! \brief \name Functions that Do Not Modify the Generator System */
 /*@{*/
 
 /*! \relates ppl_Generator_System_tag \brief
@@ -1381,7 +1421,7 @@ ppl_Generator_System_OK PPL_PROTO((ppl_const_Generator_System_t gs));
 
 /*@}*/ /* Functions that Do Not Modify the Generator System */
 
-/*! \name Functions that May Modify the Generator System */
+/*! \brief \name Functions that May Modify the Generator System */
 /*@{*/
 
 /*! \relates ppl_Generator_System_tag \brief
@@ -1399,12 +1439,12 @@ int
 ppl_Generator_System_insert_Generator PPL_PROTO((ppl_Generator_System_t gs,
 						 ppl_const_Generator_t g));
 
-/*@}*/ /* \name Functions that May Modify the Generator System */
+/*@}*/ /* Functions that May Modify the Generator System */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Generator_System)
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Generator_System_const_iterator_tag \brief
@@ -1440,9 +1480,9 @@ int
 ppl_delete_Generator_System_const_iterator
 PPL_PROTO((ppl_const_Generator_System_const_iterator_t git));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Dereferencing, Incrementing and Equality Testing */
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
 /*@{*/
 
 /*! \relates ppl_Generator_System_const_iterator_tag \brief
@@ -1470,10 +1510,10 @@ ppl_Generator_System_const_iterator_equal_test
 PPL_PROTO((ppl_const_Generator_System_const_iterator_t x,
 	   ppl_const_Generator_System_const_iterator_t y));
 
-/*@}*/ /* \name Dereferencing, Incrementing and Equality Testing */
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Congruence_tag \brief
@@ -1523,9 +1563,9 @@ ppl_assign_Congruence_from_Congruence PPL_PROTO((ppl_Congruence_t dst,
 int
 ppl_delete_Congruence PPL_PROTO((ppl_const_Congruence_t c));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Congruence */
+/*! \brief \name Functions that Do Not Modify the Congruence */
 /*@{*/
 
 /*! \relates ppl_Congruence_tag \brief
@@ -1566,12 +1606,12 @@ ppl_Congruence_modulus PPL_PROTO((ppl_const_Congruence_t c,
 int
 ppl_Congruence_OK PPL_PROTO((ppl_const_Congruence_t c));
 
-/*@}*/ /* \name Functions that Do Not Modify the Congruence */
+/*@}*/ /* Functions that Do Not Modify the Congruence */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Congruence)
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Congruence_System_tag \brief
@@ -1620,9 +1660,9 @@ PPL_PROTO((ppl_Congruence_System_t dst, ppl_const_Congruence_System_t src));
 int
 ppl_delete_Congruence_System PPL_PROTO((ppl_const_Congruence_System_t cs));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Congruence System */
+/*! \brief \name Functions that Do Not Modify the Congruence System */
 /*@{*/
 
 /*! \relates ppl_Congruence_System_tag \brief
@@ -1668,7 +1708,7 @@ ppl_Congruence_System_OK PPL_PROTO((ppl_const_Congruence_System_t cs));
 
 /*@}*/ /* Functions that Do Not Modify the Congruence System */
 
-/*! \name Functions that May Modify the Congruence System */
+/*! \brief \name Functions that May Modify the Congruence System */
 /*@{*/
 
 /*! \relates ppl_Congruence_System_tag \brief
@@ -1686,12 +1726,12 @@ int
 ppl_Congruence_System_insert_Congruence PPL_PROTO((ppl_Congruence_System_t cs,
 						   ppl_const_Congruence_t c));
 
-/*@}*/ /* \name Functions that May Modify the Congruence System */
+/*@}*/ /* Functions that May Modify the Congruence System */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Congruence_System)
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Congruence_System_const_iterator_tag \brief
@@ -1727,9 +1767,9 @@ int
 ppl_delete_Congruence_System_const_iterator
 PPL_PROTO((ppl_const_Congruence_System_const_iterator_t cit));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Dereferencing, Incrementing and Equality Testing */
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
 /*@{*/
 
 /*! \relates ppl_Congruence_System_const_iterator_tag \brief
@@ -1757,7 +1797,7 @@ ppl_Congruence_System_const_iterator_equal_test
 PPL_PROTO((ppl_const_Congruence_System_const_iterator_t x,
 	   ppl_const_Congruence_System_const_iterator_t y));
 
-/*@}*/ /* \name Dereferencing, Incrementing and Equality Testing */
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
 
 
 /*! \brief \ingroup Datatypes
@@ -1772,7 +1812,7 @@ enum ppl_enum_Grid_Generator_Type {
   PPL_GRID_GENERATOR_TYPE_POINT
 };
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Grid_Generator_tag \brief
@@ -1820,9 +1860,9 @@ PPL_PROTO((ppl_Grid_Generator_t dst,
 int
 ppl_delete_Grid_Generator PPL_PROTO((ppl_const_Grid_Generator_t g));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Grid Generator */
+/*! \brief \name Functions that Do Not Modify the Grid Generator */
 /*@{*/
 
 /*! \relates ppl_Grid_Generator_tag \brief
@@ -1862,12 +1902,12 @@ ppl_Grid_Generator_divisor PPL_PROTO((ppl_const_Grid_Generator_t g,
 int
 ppl_Grid_Generator_OK PPL_PROTO((ppl_const_Grid_Generator_t g));
 
-/*@}*/ /* \name Functions that Do Not Modify the Generator */
+/*@}*/ /* Functions that Do Not Modify the Generator */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Grid_Generator)
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Grid_Generator_System_tag \brief
@@ -1921,9 +1961,9 @@ int
 ppl_delete_Grid_Generator_System
 PPL_PROTO((ppl_const_Grid_Generator_System_t gs));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Functions that Do Not Modify the Grid Generator System */
+/*! \brief \name Functions that Do Not Modify the Grid Generator System */
 /*@{*/
 
 /*! \relates ppl_Grid_Generator_System_tag \brief
@@ -1969,7 +2009,7 @@ ppl_Grid_Generator_System_OK PPL_PROTO((ppl_const_Grid_Generator_System_t gs));
 
 /*@}*/ /* Functions that Do Not Modify the Grid Generator System */
 
-/*! \name Functions that May Modify the Grid Generator System */
+/*! \brief \name Functions that May Modify the Grid Generator System */
 /*@{*/
 
 /*! \relates ppl_Grid_Generator_System_tag \brief
@@ -1988,12 +2028,12 @@ ppl_Grid_Generator_System_insert_Grid_Generator
 PPL_PROTO((ppl_Grid_Generator_System_t gs,
 	   ppl_const_Grid_Generator_t g));
 
-/*@}*/ /* \name Functions that May Modify the Grid Generator System */
+/*@}*/ /* Functions that May Modify the Grid Generator System */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(Grid_Generator_System)
 
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
@@ -2029,9 +2069,9 @@ int
 ppl_delete_Grid_Generator_System_const_iterator
 PPL_PROTO((ppl_const_Grid_Generator_System_const_iterator_t git));
 
-/*@}*/ /* \name Constructors, Assignment and Destructor */
+/*@}*/ /* Constructors, Assignment and Destructor */
 
-/*! \name Dereferencing, Incrementing and Equality Testing */
+/*! \brief \name Dereferencing, Incrementing and Equality Testing */
 /*@{*/
 
 /*! \relates ppl_Grid_Generator_System_const_iterator_tag \brief
@@ -2059,7 +2099,7 @@ ppl_Grid_Generator_System_const_iterator_equal_test
 PPL_PROTO((ppl_const_Grid_Generator_System_const_iterator_t x,
 	   ppl_const_Grid_Generator_System_const_iterator_t y));
 
-/*@}*/ /* \name Dereferencing, Incrementing and Equality Testing */
+/*@}*/ /* Dereferencing, Incrementing and Equality Testing */
 
 
 /*! \brief \ingroup Datatypes
@@ -2109,7 +2149,7 @@ extern unsigned int PPL_POLY_CON_RELATION_SATURATES;
 extern unsigned int PPL_POLY_GEN_RELATION_SUBSUMES;
 
 
-/*! \name Symbolic Constants */
+/*! \brief \name Symbolic Constants */
 /*@{*/
 
 /*! \relates ppl_MIP_Problem_tag \brief
@@ -2157,9 +2197,9 @@ extern int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_EXACT;
 */
 extern int PPL_MIP_PROBLEM_CONTROL_PARAMETER_PRICING_STEEPEST_EDGE_FLOAT;
 
-/*@}*/ /* \name Symbolic Constants */
+/*@}*/ /* Symbolic Constants */
 
-/*! \name Constructors, Assignment and Destructor */
+/*! \brief \name Constructors, Assignment and Destructor */
 /*@{*/
 
 /*! \relates ppl_MIP_Problem_tag \brief
@@ -2206,7 +2246,7 @@ ppl_delete_MIP_Problem PPL_PROTO((ppl_const_MIP_Problem_t mip));
 
 /*@}*/ /* Constructors, Assignment and Destructor for MIP_Problem */
 
-/*! \name Functions that Do Not Modify the MIP_Problem */
+/*! \brief \name Functions that Do Not Modify the MIP_Problem */
 /*@{*/
 
 /*! \relates ppl_MIP_Problem_tag \brief
@@ -2271,9 +2311,9 @@ ppl_MIP_Problem_optimization_mode PPL_PROTO((ppl_const_MIP_Problem_t mip));
 int
 ppl_MIP_Problem_OK PPL_PROTO((ppl_const_MIP_Problem_t mip));
 
-/*@}*/ /* \name Functions that Do Not Modify the MIP_Problem */
+/*@}*/ /* Functions that Do Not Modify the MIP_Problem */
 
-/*! \name Functions that May Modify the MIP_Problem */
+/*! \brief \name Functions that May Modify the MIP_Problem */
 /*@{*/
 
 /*! \relates ppl_MIP_Problem_tag \brief
@@ -2329,9 +2369,9 @@ int
 ppl_MIP_Problem_set_optimization_mode PPL_PROTO((ppl_MIP_Problem_t mip,
 						 int mode));
 
-/*@}*/ /* \name Functions that May Modify the MIP_Problem */
+/*@}*/ /* Functions that May Modify the MIP_Problem */
 
-/*! \name Computing the Solution of the MIP_Problem */
+/*! \brief \name Computing the Solution of the MIP_Problem */
 /*@{*/
 
 /*! \relates ppl_MIP_Problem_tag \brief
@@ -2408,9 +2448,9 @@ ppl_MIP_Problem_optimal_value
 PPL_PROTO((ppl_const_MIP_Problem_t mip,
 	   ppl_Coefficient_t num, ppl_Coefficient_t den));
 
-/*@}*/ /* \name Computing the Solution of the MIP_Problem */
+/*@}*/ /* Computing the Solution of the MIP_Problem */
 
-/*! \name Querying/Setting Control Parameters */
+/*! \brief \name Querying/Setting Control Parameters */
 /*@{*/
 
 /*! \relates ppl_MIP_Problem_tag \brief
@@ -2427,7 +2467,7 @@ int
 ppl_MIP_Problem_set_control_parameter
 PPL_PROTO((ppl_MIP_Problem_t mip, int value));
 
-/*@}*/ /* \name Querying/Setting Control Parameters */
+/*@}*/ /* Querying/Setting Control Parameters */
 
 PPL_DECLARE_AND_DOCUMENT_IO_FUNCTIONS(MIP_Problem)
 
diff --git a/interfaces/C/ppl_c_implementation_common.cc b/interfaces/C/ppl_c_implementation_common.cc
index f4839ec..c02c118 100644
--- a/interfaces/C/ppl_c_implementation_common.cc
+++ b/interfaces/C/ppl_c_implementation_common.cc
@@ -1,5 +1,5 @@
 /* Implementation of the C interface: variables and non-inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -1991,6 +1991,18 @@ ppl_io_fprint_variable(FILE* stream, ppl_dimension_type var) try {
 }
 CATCH_ALL
 
+int
+ppl_io_asprint_variable(char** strp, ppl_dimension_type var) try {
+  const char* b = c_variable_output_function(var);
+  if (b == 0)
+    return PPL_STDIO_ERROR;
+  *strp = strdup(b);
+  if (*strp == 0)
+    return PPL_ERROR_OUT_OF_MEMORY;
+  return 0;
+}
+CATCH_ALL
+
 /* No ascii dump for Coefficient. */
 DEFINE_PRINT_FUNCTIONS(Coefficient)
 
@@ -2014,6 +2026,17 @@ DEFINE_OUTPUT_FUNCTIONS(Grid_Generator_System)
 
 DEFINE_OUTPUT_FUNCTIONS(MIP_Problem)
 
+char*
+ppl_io_wrap_string(const char* src,
+		   unsigned indent_depth,
+		   unsigned preferred_first_line_length,
+		   unsigned preferred_line_length) {
+  using namespace IO_Operators;
+  return strdup(wrap_string(src, indent_depth,
+			    preferred_first_line_length,
+			    preferred_line_length).c_str());
+}
+
 int
 ppl_io_set_variable_output_function(ppl_io_variable_output_function_type* p)
 try {
diff --git a/interfaces/C/ppl_c_implementation_common.defs.hh b/interfaces/C/ppl_c_implementation_common.defs.hh
index 08f24ba..b85c443 100644
--- a/interfaces/C/ppl_c_implementation_common.defs.hh
+++ b/interfaces/C/ppl_c_implementation_common.defs.hh
@@ -1,5 +1,5 @@
 /* Implementation of the C interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -164,6 +164,20 @@ catch (...) {						     \
       return PPL_STDIO_ERROR;                                           \
     return 0;                                                           \
   }                                                                     \
+  CATCH_ALL                                                             \
+                                                                        \
+  int                                                                   \
+  ppl_io_asprint_##Type(char** strp, ppl_const_##Type##_t x) try {      \
+    using namespace IO_Operators;                                       \
+    std::ostringstream os;                                              \
+    os << *to_const(x);                                                 \
+    if (!os)                                                            \
+      return PPL_STDIO_ERROR;                                           \
+    *strp = strdup(os.str().c_str());                                   \
+    if (*strp == 0)                                                     \
+      return PPL_ERROR_OUT_OF_MEMORY;                                   \
+    return 0;                                                           \
+  }                                                                     \
   CATCH_ALL
 
 #define DEFINE_ASCII_DUMP_FUNCTIONS(Type)                               \
diff --git a/interfaces/C/ppl_c_implementation_common.inlines.hh b/interfaces/C/ppl_c_implementation_common.inlines.hh
index d76de82..0a3217e 100644
--- a/interfaces/C/ppl_c_implementation_common.inlines.hh
+++ b/interfaces/C/ppl_c_implementation_common.inlines.hh
@@ -1,5 +1,5 @@
 /* Implementation of the C interface: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/C/ppl_c_version.h.in b/interfaces/C/ppl_c_version.h.in
index aebb868..106be62 100644
--- a/interfaces/C/ppl_c_version.h.in
+++ b/interfaces/C/ppl_c_version.h.in
@@ -1,5 +1,5 @@
 /* Header file providing version information for the C interface.  -*- C -*-
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/C/ppl_interface_generator_c_cc_code.m4 b/interfaces/C/ppl_interface_generator_c_cc_code.m4
index 3a27529..0c24cba 100644
--- a/interfaces/C/ppl_interface_generator_c_cc_code.m4
+++ b/interfaces/C/ppl_interface_generator_c_cc_code.m4
@@ -5,7 +5,7 @@ This m4 file contains the program implementation code for generating the
 files ppl_c_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -51,9 +51,9 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
 `int
 ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@
 (ppl_ at CLASS@_t* pph,
- ppl_const_ at ALT_FRIEND@_t ph) try {
-  const @CPPX_FRIEND@& phh
-    = *static_cast<const @CPPX_FRIEND@*>(to_const(ph));
+ ppl_const_ at A_FRIEND@_t ph) try {
+  const @B_FRIEND@& phh
+    = *static_cast<const @B_FRIEND@*>(to_const(ph));
   *pph = to_nonconst(new @TOPOLOGY@@CPP_CLASS@(phh));
   return 0;
 }
@@ -65,10 +65,10 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
 `int
 ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity
 (ppl_ at CLASS@_t* pph,
- ppl_const_ at ALT_FRIEND@_t ph,
+ ppl_const_ at A_FRIEND@_t ph,
  int complexity) try {
-  const @CPPX_FRIEND@& phh
-    = *static_cast<const @CPPX_FRIEND@*>(to_const(ph));
+  const @B_FRIEND@& phh
+    = *static_cast<const @B_FRIEND@*>(to_const(ph));
   switch (complexity) {
   case 0:
     *pph = to_nonconst(new @TOPOLOGY@@CPP_CLASS@(phh, POLYNOMIAL_COMPLEXITY));
@@ -88,9 +88,9 @@ CATCH_ALL
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 `int
-ppl_new_ at TOPOLOGY@@CLASS at _from_@UBUILD_REPRESENT at _System
-(ppl_ at CLASS@_t* pph, ppl_const_ at UBUILD_REPRESENT@_System_t cs) try {
-  const @UBUILD_REPRESENT at _System& ccs = *to_const(cs);
+ppl_new_ at TOPOLOGY@@CLASS at _from_@!BUILD_REPRESENT at _System
+(ppl_ at CLASS@_t* pph, ppl_const_@!BUILD_REPRESENT at _System_t cs) try {
+  const @!BUILD_REPRESENT at _System& ccs = *to_const(cs);
   *pph = to_nonconst(new @TOPOLOGY@@CPP_CLASS@(ccs));
   return 0;
 }
@@ -100,9 +100,9 @@ CATCH_ALL
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _recycle_@BUILD_REPRESENT at s_code',
 `int
-ppl_new_ at TOPOLOGY@@CLASS at _recycle_@UBUILD_REPRESENT at _System
-(ppl_ at CLASS@_t* pph, ppl_ at UBUILD_REPRESENT@_System_t cs) try {
-  @UBUILD_REPRESENT at _System& ccs = *to_nonconst(cs);
+ppl_new_ at TOPOLOGY@@CLASS at _recycle_@!BUILD_REPRESENT at _System
+(ppl_ at CLASS@_t* pph, ppl_@!BUILD_REPRESENT at _System_t cs) try {
+  @!BUILD_REPRESENT at _System& ccs = *to_nonconst(cs);
   *pph = to_nonconst(new @TOPOLOGY@@CPP_CLASS@(ccs at RECYCLE@));
   return 0;
 }
@@ -148,13 +148,13 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `int
-ppl_ at CLASS@_get_ at GET_REPRESENT@s
+ppl_ at CLASS@_get_ at CLASS_REPRESENT@s
 (ppl_const_ at CLASS@_t ph,
- ppl_const_ at UGET_REPRESENT@_System_t* pcs) try {
+ ppl_const_@!CLASS_REPRESENT at _System_t* pcs) try {
   const @CPP_CLASS@& pph = *to_const(ph);
-  const @UGET_REPRESENT at _System& cs = pph. at GET_REPRESENT@s();
+  const @!CLASS_REPRESENT at _System& cs = pph. at CLASS_REPRESENT@s();
   *pcs = to_const(&cs);
   return 0;
 }
@@ -162,13 +162,13 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `int
-ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s
+ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s
 (ppl_const_ at CLASS@_t ph,
- ppl_const_ at UGET_REPRESENT@_System_t* pcs) try {
+ ppl_const_@!CLASS_REPRESENT at _System_t* pcs) try {
   const @CPP_CLASS@& pph = *to_const(ph);
-  const @UGET_REPRESENT at _System& cs = pph.minimized_ at GET_REPRESENT@s();
+  const @!CLASS_REPRESENT at _System& cs = pph.minimized_ at CLASS_REPRESENT@s();
   *pcs = to_const(&cs);
   return 0;
 }
@@ -178,11 +178,11 @@ CATCH_ALL
 
 m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 `int
-ppl_ at CLASS@_relation_with_ at URELATION_REPRESENT@
+ppl_ at CLASS@_relation_with_@!RELATION_REPRESENT@
 (ppl_const_ at CLASS@_t ph,
- ppl_const_ at URELATION_REPRESENT@_t c) try {
+ ppl_const_@!RELATION_REPRESENT at _t c) try {
   const @CPP_CLASS@& pph = *to_const(ph);
-  const @URELATION_REPRESENT@& cc = *to_const(c);
+  const @!RELATION_REPRESENT@& cc = *to_const(c);
   return pph.relation_with(cc).get_flags();
 }
 CATCH_ALL
@@ -420,14 +420,14 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `int
-ppl_ at CLASS@_add_ at ADD_REPRESENT@
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@
 (ppl_ at CLASS@_t ph,
- ppl_const_ at UADD_REPRESENT@_t c) try {
+ ppl_const_@!CLASS_REPRESENT at _t c) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  const @UADD_REPRESENT@& cc = *to_const(c);
-  pph.add_ at ADD_REPRESENT@(cc);
+  const @!CLASS_REPRESENT@& cc = *to_const(c);
+  pph.add_ at CLASS_REPRESENT@(cc);
   return 0;
 }
 CATCH_ALL
@@ -438,9 +438,9 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 `int
 ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@
 (ppl_ at CLASS@_t ph,
- ppl_const_ at UREFINE_REPRESENT@_t c) try {
+ ppl_const_@!REFINE_REPRESENT at _t c) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  const @UREFINE_REPRESENT@& cc = *to_const(c);
+  const @!REFINE_REPRESENT@& cc = *to_const(c);
   pph.refine_with_ at REFINE_REPRESENT@(cc);
   return 0;
 }
@@ -448,27 +448,27 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
 `int
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize
 (ppl_ at CLASS@_t ph,
- ppl_const_ at UADD_REPRESENT@_t c) try {
+ ppl_const_@!CLASS_REPRESENT at _t c) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  const @UADD_REPRESENT@& cc = *to_const(c);
-  return pph.add_ at ADD_REPRESENT@_and_minimize(cc) ? 1 : 0;
+  const @!CLASS_REPRESENT@& cc = *to_const(c);
+  return pph.add_ at CLASS_REPRESENT@_and_minimize(cc) ? 1 : 0;
 }
 CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `int
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s
 (ppl_ at CLASS@_t ph,
- ppl_const_ at UADD_REPRESENT@_System_t cs) try {
+ ppl_const_@!CLASS_REPRESENT at _System_t cs) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  const @UADD_REPRESENT at _System& ccs = *to_const(cs);
-  pph.add_ at ADD_REPRESENT@s(ccs);
+  const @!CLASS_REPRESENT at _System& ccs = *to_const(cs);
+  pph.add_ at CLASS_REPRESENT@s(ccs);
   return 0;
 }
 CATCH_ALL
@@ -479,9 +479,9 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 `int
 ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s
 (ppl_ at CLASS@_t ph,
- ppl_const_ at UREFINE_REPRESENT@_System_t cs) try {
+ ppl_const_@!REFINE_REPRESENT at _System_t cs) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  const @UREFINE_REPRESENT at _System& ccs = *to_const(cs);
+  const @!REFINE_REPRESENT at _System& ccs = *to_const(cs);
   pph.refine_with_ at REFINE_REPRESENT@s(ccs);
   return 0;
 }
@@ -489,27 +489,27 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
 `int
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize
 (ppl_ at CLASS@_t ph,
- ppl_const_ at UADD_REPRESENT@_System_t cs) try {
+ ppl_const_@!CLASS_REPRESENT at _System_t cs) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  const @UADD_REPRESENT at _System& ccs = *to_const(cs);
-  return pph.add_ at ADD_REPRESENT@s_and_minimize(ccs) ? 1 : 0;
+  const @!CLASS_REPRESENT at _System& ccs = *to_const(cs);
+  return pph.add_ at CLASS_REPRESENT@s_and_minimize(ccs) ? 1 : 0;
 }
 CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_recycled_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s_code',
 `int
-ppl_ at CLASS@_add_recycled_ at ADD_REPRESENT@s
+ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s
 (ppl_ at CLASS@_t ph,
- ppl_ at UADD_REPRESENT@_System_t cs) try {
+ ppl_@!CLASS_REPRESENT at _System_t cs) try {
   @CPP_CLASS@& pph = *to_nonconst(ph);
-  @UADD_REPRESENT at _System& ccs = *to_nonconst(cs);
-  pph.add_recycled_ at ADD_REPRESENT@s(ccs);
+  @!CLASS_REPRESENT at _System& ccs = *to_nonconst(cs);
+  pph.add_recycled_ at CLASS_REPRESENT@s(ccs);
   return 0;
 }
 CATCH_ALL
@@ -685,11 +685,11 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_to
 ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens
 (ppl_ at CLASS@_t x,
  ppl_const_ at CLASS@_t y,
- ppl_const_ at UCONSTRAINER@_System_t cs,
+ ppl_const_@!CONSTRAINER at _System_t cs,
  unsigned* tp) try {
   @CPP_CLASS@& xx = *to_nonconst(x);
   const @CPP_CLASS@& yy = *to_const(y);
-  const @UCONSTRAINER at _System& ccs = *to_const(cs);
+  const @!CONSTRAINER at _System& ccs = *to_const(cs);
   xx. at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign(yy, ccs, tp);
   return 0;
 }
@@ -702,7 +702,7 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign
 (ppl_ at CLASS@_t x,
  ppl_const_ at CLASS@_t y,
- ppl_const_ at UCONSTRAINER@_System_t cs) try {
+ ppl_const_@!CONSTRAINER at _System_t cs) try {
   return
     ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens
       (x, y, cs, 0);
@@ -753,17 +753,17 @@ CATCH_ALL
 
 ')
 
-  m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+  m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `dnl
 int
-ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign
+ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign
 (ppl_ at CLASS@_t x,
  ppl_const_ at CLASS@_t y) try {
   @CPP_CLASS@& xx = *to_nonconst(x);
   const @CPP_CLASS@& yy = *to_const(y);
-  xx.BHZ03_widening_assign<@ALT_DISJUNCT_WIDEN at _Certificate>(yy,
+  xx.BHZ03_widening_assign<@A_DISJUNCT_WIDEN at _Certificate>(yy,
        widen_fun_ref(
-         &@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign));
+         &@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign));
   return 0;
 }
 CATCH_ALL
@@ -779,7 +779,7 @@ ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign
    @CPP_CLASS@& xx = *to_nonconst(x);
    const @CPP_CLASS@& yy = *to_const(y);
    xx.BGP99_extrapolation_assign(yy,
-       widen_fun_ref(&@CLASSTOPOLOGY@@CPP_DISJUNCT@::
+       widen_fun_ref(&@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::
            @DISJUNCT_WIDEN at _widening_assign),
        disjuncts);
    return 0;
@@ -1021,7 +1021,7 @@ ppl_ at CLASS@_iterator_ at INCDEC@
 (ppl_ at CLASS@_iterator_t it)
   try {
     @CPP_CLASS@::iterator& iit = *to_nonconst(it);
-    @CPPX_INCDEC at iit;
+    @B_INCDEC at iit;
     return 0;
 }
 CATCH_ALL
@@ -1031,7 +1031,7 @@ ppl_ at CLASS@_const_iterator_ at INCDEC@
 (ppl_ at CLASS@_const_iterator_t it)
   try {
     @CPP_CLASS@::const_iterator& iit = *to_nonconst(it);
-    @CPPX_INCDEC at iit;
+    @B_INCDEC at iit;
     return 0;
 }
 CATCH_ALL
@@ -1079,8 +1079,8 @@ ppl_ at CLASS@_add_disjunct
 (ppl_ at CLASS@_t ps,
  ppl_const_ at DISJUNCT@_t d) try {
   @CPP_CLASS@& pps = *to_nonconst(ps);
-  const @CLASSTOPOLOGY@@CPP_DISJUNCT@& dd
-     = *static_cast<const @CLASSTOPOLOGY@@CPP_DISJUNCT@*>(to_const(d));
+  const @DISJUNCT_TOPOLOGY@@A_DISJUNCT@& dd
+     = *static_cast<const @DISJUNCT_TOPOLOGY@@A_DISJUNCT@*>(to_const(d));
   pps.add_disjunct(dd);
   return 0;
 }
@@ -1095,7 +1095,7 @@ ppl_ at CLASS@_iterator_dereference
 (ppl_const_ at CLASS@_iterator_t psit,
  ppl_const_ at DISJUNCT@_t* cd) try {
    const @CPP_CLASS@::iterator& cpsit = *to_const(psit);
-   const @CLASSTOPOLOGY@@CPP_DISJUNCT@& d = cpsit->element();
+   const @DISJUNCT_TOPOLOGY@@A_DISJUNCT@& d = cpsit->element();
    *cd = to_const(&d);
    return 0;
 }
@@ -1106,7 +1106,7 @@ ppl_ at CLASS@_const_iterator_dereference
 (ppl_const_ at CLASS@_const_iterator_t psit,
  ppl_const_ at DISJUNCT@_t* cd) try {
    const @CPP_CLASS@::const_iterator& cpsit = *to_const(psit);
-   const @CLASSTOPOLOGY@@CPP_DISJUNCT@& d = cpsit->element();
+   const @DISJUNCT_TOPOLOGY@@A_DISJUNCT@& d = cpsit->element();
    *cd = to_const(&d);
    return 0;
 }
@@ -1137,7 +1137,7 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
       = static_cast<const C_ at CPP_CLASS@&>(*to_const(x));
     const C_ at CPP_CLASS@& yy
       = static_cast<const C_ at CPP_CLASS@&>(*to_const(y));
-    std::pair<C_ at CPP_CLASS@@COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+    std::pair<C_ at CPP_CLASS@|COMMA| Pointset_Powerset<NNC_Polyhedron> >
       r = linear_partition(xx, yy);
     *p_inters = to_nonconst(&r.first);
     *p_rest = to_nonconst(&r.second);
@@ -1147,7 +1147,7 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
       = static_cast<const C_ at CPP_CLASS@&>(*to_const(x));
     const C_ at CPP_CLASS@& yy
       = static_cast<const C_ at CPP_CLASS@&>(*to_const(y));
-    std::pair<C_ at CPP_CLASS@@COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+    std::pair<C_ at CPP_CLASS@|COMMA| Pointset_Powerset<NNC_Polyhedron> >
       r = linear_partition(xx, yy);
     *p_inters = to_nonconst(&r.first);
     *p_rest = to_nonconst(&r.second);
@@ -1162,7 +1162,7 @@ m4_define(`m4_linear_partition_for_non_polyhedron_domains',
       = static_cast<const @CPP_CLASS@&>(*to_const(x));
     const @CPP_CLASS@& yy
       = static_cast<const @CPP_CLASS@&>(*to_const(y));
-    std::pair<@CPP_CLASS@@COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+    std::pair<@CPP_CLASS@|COMMA| Pointset_Powerset<NNC_Polyhedron> >
       r = linear_partition(xx, yy);
     *p_inters = to_nonconst(&r.first);
     *p_rest = to_nonconst(&r.second);
@@ -1184,7 +1184,7 @@ ppl_ at CLASS@_approximate_ at PARTITION@
     const @CPP_CLASS@& yy
       = static_cast<const @CPP_CLASS@&>(*to_const(y));
     bool finite;
-    std::pair<@CPP_CLASS@@COMMA@ Pointset_Powerset<Grid> >
+    std::pair<@CPP_CLASS@|COMMA| Pointset_Powerset<Grid> >
       r = approximate_partition(xx, yy, finite);
     *p_inters = to_nonconst(&r.first);
     *p_rest = to_nonconst(&r.second);
diff --git a/interfaces/C/ppl_interface_generator_c_cc_files.m4 b/interfaces/C/ppl_interface_generator_c_cc_files.m4
index 85a0605..fdfef11 100644
--- a/interfaces/C/ppl_interface_generator_c_cc_files.m4
+++ b/interfaces/C/ppl_interface_generator_c_cc_files.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -28,6 +28,7 @@ dnl site: http://www.cs.unipr.it/ppl/ .
 dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_c_cc_code.m4')
 m4_include(`ppl_interface_generator_c_procedure_generators.m4')
+m4_define(`m4_pattern_extensions', `, A_, B_')
 
 dnl Ensure any schematic procedure macro that is not defined
 dnl in the code file outputs a warning message.
diff --git a/interfaces/C/ppl_interface_generator_c_h.m4 b/interfaces/C/ppl_interface_generator_c_h.m4
index 98632ec..0c71423 100644
--- a/interfaces/C/ppl_interface_generator_c_h.m4
+++ b/interfaces/C/ppl_interface_generator_c_h.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/C/ppl_interface_generator_c_h_code.m4 b/interfaces/C/ppl_interface_generator_c_h_code.m4
index 5c6dfb4..322534c 100644
--- a/interfaces/C/ppl_interface_generator_c_h_code.m4
+++ b/interfaces/C/ppl_interface_generator_c_h_code.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 This m4 file contains the program header code for generating the
 files ppl_c_domains.h.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -73,7 +73,7 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
 /*! \relates ppl_ at CLASS@_tag */
 int
 ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@
-PPL_PROTO((ppl_ at CLASS@_t* pph, ppl_const_ at ALT_FRIEND@_t ph));
+PPL_PROTO((ppl_ at CLASS@_t* pph, ppl_const_ at A_FRIEND@_t ph));
 
 ')
 
@@ -82,15 +82,15 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
 /*! \relates ppl_ at CLASS@_tag */
 int
 ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity
-PPL_PROTO((ppl_ at CLASS@_t* pph, ppl_const_ at ALT_FRIEND@_t ph, int complexity));
+PPL_PROTO((ppl_ at CLASS@_t* pph, ppl_const_ at A_FRIEND@_t ph, int complexity));
 
 ')
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_new_ at TOPOLOGY@@CLASS at _from_@UBUILD_REPRESENT at _System
-PPL_PROTO((ppl_ at CLASS@_t* pph, ppl_const_ at UBUILD_REPRESENT@_System_t cs));
+ppl_new_ at TOPOLOGY@@CLASS at _from_@!BUILD_REPRESENT at _System
+PPL_PROTO((ppl_ at CLASS@_t* pph, ppl_const_@!BUILD_REPRESENT at _System_t cs));
 
 ')
 
@@ -98,15 +98,16 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _recycle_@BUILD_REPRESENT at s_code',
 `dnl
 /*! \relates ppl_ at CLASS@_tag */
 int
-ppl_new_ at TOPOLOGY@@CLASS at _recycle_@UBUILD_REPRESENT at _System
-PPL_PROTO((ppl_ at CLASS@_t* pph, ppl_ at UBUILD_REPRESENT@_System_t cs));
+ppl_new_ at TOPOLOGY@@CLASS at _recycle_@!BUILD_REPRESENT at _System
+PPL_PROTO((ppl_ at CLASS@_t* pph, ppl_@!BUILD_REPRESENT at _System_t cs));
 
 ')
 
 m4_define(`ppl_delete_ at CLASS@_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_delete_ at CLASS@ PPL_PROTO((ppl_const_ at CLASS@_t ph));
+ppl_delete_ at CLASS@
+PPL_PROTO((ppl_const_ at CLASS@_t ph));
 
 ')
 
@@ -126,37 +127,38 @@ PPL_PROTO((ppl_const_ at CLASS@_t ph, ppl_dimension_type* m));
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_get_ at GET_REPRESENT@s
+ppl_ at CLASS@_get_ at CLASS_REPRESENT@s
 PPL_PROTO((ppl_const_ at CLASS@_t ph,
-           ppl_const_ at UGET_REPRESENT@_System_t* pcs));
+           ppl_const_@!CLASS_REPRESENT at _System_t* pcs));
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s
+ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s
 PPL_PROTO((ppl_const_ at CLASS@_t ph,
-           ppl_const_ at UGET_REPRESENT@_System_t* pcs));
+           ppl_const_@!CLASS_REPRESENT at _System_t* pcs));
 
 ')
 
 m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_relation_with_ at URELATION_REPRESENT@
+ppl_ at CLASS@_relation_with_@!RELATION_REPRESENT@
 PPL_PROTO((ppl_const_ at CLASS@_t ph,
-           ppl_const_ at URELATION_REPRESENT@_t c));
+           ppl_const_@!RELATION_REPRESENT at _t c));
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_ at HAS_PROPERTY@ PPL_PROTO((ppl_const_ at CLASS@_t ph));
+ppl_ at CLASS@_ at HAS_PROPERTY@
+PPL_PROTO((ppl_const_ at CLASS@_t ph));
 
 ')
 
@@ -215,14 +217,16 @@ PPL_PROTO((ppl_const_ at CLASS@_t x,
 m4_define(`ppl_ at CLASS@_OK_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_OK PPL_PROTO((ppl_const_ at CLASS@_t ph));
+ppl_ at CLASS@_OK
+PPL_PROTO((ppl_const_ at CLASS@_t ph));
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_ at SIMPLIFY@ PPL_PROTO((ppl_ at CLASS@_t ph));
+ppl_ at CLASS@_ at SIMPLIFY@
+PPL_PROTO((ppl_ at CLASS@_t ph));
 
 ')
 
@@ -290,12 +294,12 @@ PPL_PROTO((ppl_ at CLASS@_t x,
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_add_ at ADD_REPRESENT@
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@
 PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_const_ at UADD_REPRESENT@_t c));
+           ppl_const_@!CLASS_REPRESENT at _t c));
 
 ')
 
@@ -304,25 +308,25 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 int
 ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@
 PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_const_ at UREFINE_REPRESENT@_t c));
+           ppl_const_@!REFINE_REPRESENT at _t c));
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize
 PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_const_ at UADD_REPRESENT@_t c));
+           ppl_const_@!CLASS_REPRESENT at _t c));
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s
 PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_const_ at UADD_REPRESENT@_System_t cs));
+           ppl_const_@!CLASS_REPRESENT at _System_t cs));
 
 ')
 
@@ -331,25 +335,25 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 int
 ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s
 PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_const_ at UREFINE_REPRESENT@_System_t cs));
+           ppl_const_@!REFINE_REPRESENT at _System_t cs));
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize
 PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_const_ at UADD_REPRESENT@_System_t cs));
+           ppl_const_@!CLASS_REPRESENT at _System_t cs));
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_recycled_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_add_recycled_ at ADD_REPRESENT@s
+ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s
 PPL_PROTO((ppl_ at CLASS@_t ph,
-           ppl_ at UADD_REPRESENT@_System_t cs));
+           ppl_@!CLASS_REPRESENT at _System_t cs));
 
 ')
 
@@ -468,7 +472,7 @@ int
 ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens
 PPL_PROTO((ppl_ at CLASS@_t x,
            ppl_const_ at CLASS@_t y,
-           ppl_const_ at UCONSTRAINER@_System_t cs,
+           ppl_const_@!CONSTRAINER at _System_t cs,
            unsigned* tp));
 
 ')
@@ -479,7 +483,7 @@ int
 ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign
 PPL_PROTO((ppl_ at CLASS@_t x,
            ppl_const_ at CLASS@_t y,
-           ppl_const_ at UCONSTRAINER@_System_t cs));
+           ppl_const_@!CONSTRAINER at _System_t cs));
 
 ')
 
@@ -502,10 +506,10 @@ PPL_PROTO((ppl_ at CLASS@_t x,
 
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `/*! \relates ppl_ at CLASS@_tag */
 int
-ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign
+ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign
 PPL_PROTO((ppl_ at CLASS@_t x,
            ppl_const_ at CLASS@_t y));
 
diff --git a/interfaces/C/ppl_interface_generator_c_hh_files.m4 b/interfaces/C/ppl_interface_generator_c_hh_files.m4
index c15aec2..29f503a 100644
--- a/interfaces/C/ppl_interface_generator_c_hh_files.m4
+++ b/interfaces/C/ppl_interface_generator_c_hh_files.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -38,9 +38,14 @@ m4_divert(-1)
 
 m4_define(`m4_declaration_code', `dnl
 m4_ifelse(m4_class_group$1, product,
-            `typedef @CPP_CLASS@ @CPPDEF_CLASS@;')
-
-DECLARE_CONVERSIONS(m4_interface_class`'$1, @CPPDEF_CLASS@)
+            typedef Domain_Product<`'m4_class_body_1st$1|COMMA|`'m4_class_body_2nd$1 >::`'m4_class_kind$1 m4_interface_class`'$1;
+)
+m4_ifelse(m4_class_group$1, box,
+   DECLARE_CONVERSIONS(m4_interface_class`'$1, m4_interface_class`'$1),
+   m4_class_group$1, product,
+   DECLARE_CONVERSIONS(m4_interface_class`'$1, m4_interface_class`'$1),
+   DECLARE_CONVERSIONS(m4_interface_class`'$1, m4_cplusplus_class`'$1)`'dnl
+)`'dnl
 ')
 
 m4_pushdef(`m4_one_class_code', `dnl
@@ -58,9 +63,7 @@ namespace Interfaces {
 
 namespace C {
 
-m4_replace_all_patterns_in_string($1,
-                                  `m4_declaration_code($1)',
-                                  m4_pattern_list)
+m4_declaration_code($1)
 
 } // namespace C
 
diff --git a/interfaces/C/ppl_interface_generator_c_procedure_generators.m4 b/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
index 1c3bab4..08ee6c8 100644
--- a/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
+++ b/interfaces/C/ppl_interface_generator_c_procedure_generators.m4
@@ -4,7 +4,7 @@ dnl This m4 file defines the list of procedures
 dnl for the C interface; this includes:
 dnl - the list in the imported file and any C specific procedures.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -42,9 +42,9 @@ m4_define(`m4_procedure_list',
 `m4_common_procedure_list',
 ppl_new_ at TOPOLOGY@@CLASS at _recycle_@BUILD_REPRESENT at s +simple,
 ppl_assign_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@ +simple,
-ppl_ at CLASS@_add_recycled_ at ADD_REPRESENT@s +simple,
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize/2 +polyhedron,
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize/2 +polyhedron,
+ppl_ at CLASS@_add_recycled_ at CLASS_REPRESENT@s +simple,
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize/2 +polyhedron,
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize/2 +polyhedron,
 ppl_ at CLASS@_ at BINMINOP@/2 +polyhedron,
 )
 ')
diff --git a/interfaces/C/tests/Makefile.am b/interfaces/C/tests/Makefile.am
index ef432db..0aba602 100644
--- a/interfaces/C/tests/Makefile.am
+++ b/interfaces/C/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -27,14 +27,22 @@ TESTS_ENVIRONMENT = $(CHECKER)
 
 AM_CPPFLAGS = \
 -I$(top_builddir)/interfaces/C \
--I$(top_builddir)/src \
 @extra_includes@ \
 @debug_flag@
 
 if GCC
 
+if HOST_OS_MINGW
+
+# MinGW's <stdlib.h> cannot be compiled in c89 mode.
+AM_CFLAGS = -pedantic -std=gnu89 -Werror
+
+else !HOST_OS_MINGW
+
 AM_CFLAGS = -pedantic -std=c89 -Werror
 
+endif !HOST_OS_MINGW
+
 endif GCC
 
 check_LIBRARIES = libppl_c_tests.a
@@ -42,20 +50,35 @@ check_LIBRARIES = libppl_c_tests.a
 libppl_c_tests_a_SOURCES = \
 ppl_c_test.cc
 
+# Dummy C++ source to cause C++ linking.
+nodist_EXTRA_libppl_c_tests_a_SOURCES = \
+dummy.cc
+
+libppl_c_tests_a_CPPFLAGS = \
+-I$(top_builddir)/interfaces/C \
+ at extra_includes@
+
 LDADD = \
-$(top_builddir)/src/libppl.la \
-$(top_builddir)/interfaces/C/libppl_c.la \
 libppl_c_tests.a \
+$(top_builddir)/interfaces/C/libppl_c.la \
 @extra_libraries@
 
 NORMAL_TESTS = \
-cxxoutput
+formatted_output
 
 #
 # Sources for the tests
 #
 
-cxxoutput_SOURCES = cxxoutput.c print_to_buffer.h print_to_buffer.cc
+formatted_output_SOURCES = \
+formatted_output.c \
+print_to_buffer.h \
+print_to_buffer.c
+
+# Dummy C++ source to cause C++ linking.
+# FIXME: why isn't enough to do this for libppl_c_tests.a?
+nodist_EXTRA_formatted_output_SOURCES = \
+dummy.cc
 
 #watchdog1_SRCS = watchdog1.cc
 
diff --git a/interfaces/C/tests/Makefile.in b/interfaces/C/tests/Makefile.in
index 3035394..21280b2 100644
--- a/interfaces/C/tests/Makefile.in
+++ b/interfaces/C/tests/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -83,12 +83,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -98,16 +97,17 @@ CONFIG_CLEAN_FILES =
 ARFLAGS = cru
 libppl_c_tests_a_AR = $(AR) $(ARFLAGS)
 libppl_c_tests_a_LIBADD =
-am_libppl_c_tests_a_OBJECTS = ppl_c_test.$(OBJEXT)
+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 = cxxoutput$(EXEEXT)
+am__EXEEXT_1 = formatted_output$(EXEEXT)
 am__EXEEXT_2 =
 am__EXEEXT_3 = $(am__EXEEXT_1) $(am__EXEEXT_2)
-am_cxxoutput_OBJECTS = cxxoutput.$(OBJEXT) print_to_buffer.$(OBJEXT)
-cxxoutput_OBJECTS = $(am_cxxoutput_OBJECTS)
-cxxoutput_LDADD = $(LDADD)
-cxxoutput_DEPENDENCIES = $(top_builddir)/src/libppl.la \
-	$(top_builddir)/interfaces/C/libppl_c.la libppl_c_tests.a
+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
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
@@ -129,8 +129,11 @@ CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(libppl_c_tests_a_SOURCES) $(cxxoutput_SOURCES)
-DIST_SOURCES = $(libppl_c_tests_a_SOURCES) $(cxxoutput_SOURCES)
+SOURCES = $(libppl_c_tests_a_SOURCES) \
+	$(nodist_EXTRA_libppl_c_tests_a_SOURCES) \
+	$(formatted_output_SOURCES) \
+	$(nodist_EXTRA_formatted_output_SOURCES)
+DIST_SOURCES = $(libppl_c_tests_a_SOURCES) $(formatted_output_SOURCES)
 HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -191,6 +194,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -199,6 +204,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -273,6 +279,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -315,29 +322,49 @@ CHECKER =
 TESTS_ENVIRONMENT = $(CHECKER)
 AM_CPPFLAGS = \
 -I$(top_builddir)/interfaces/C \
--I$(top_builddir)/src \
 @extra_includes@ \
 @debug_flag@
 
- at GCC_TRUE@AM_CFLAGS = -pedantic -std=c89 -Werror
+ at GCC_TRUE@@HOST_OS_MINGW_FALSE at AM_CFLAGS = -pedantic -std=c89 -Werror
+
+# MinGW's <stdlib.h> cannot be compiled in c89 mode.
+ at GCC_TRUE@@HOST_OS_MINGW_TRUE at AM_CFLAGS = -pedantic -std=gnu89 -Werror
 check_LIBRARIES = libppl_c_tests.a
 libppl_c_tests_a_SOURCES = \
 ppl_c_test.cc
 
+
+# Dummy C++ source to cause C++ linking.
+nodist_EXTRA_libppl_c_tests_a_SOURCES = \
+dummy.cc
+
+libppl_c_tests_a_CPPFLAGS = \
+-I$(top_builddir)/interfaces/C \
+ at extra_includes@
+
 LDADD = \
-$(top_builddir)/src/libppl.la \
-$(top_builddir)/interfaces/C/libppl_c.la \
 libppl_c_tests.a \
+$(top_builddir)/interfaces/C/libppl_c.la \
 @extra_libraries@
 
 NORMAL_TESTS = \
-cxxoutput
+formatted_output
 
 
 #
 # Sources for the tests
 #
-cxxoutput_SOURCES = cxxoutput.c print_to_buffer.h print_to_buffer.cc
+formatted_output_SOURCES = \
+formatted_output.c \
+print_to_buffer.h \
+print_to_buffer.c
+
+
+# Dummy C++ source to cause C++ linking.
+# FIXME: why isn't enough to do this for libppl_c_tests.a?
+nodist_EXTRA_formatted_output_SOURCES = \
+dummy.cc
+
 
 #watchdog1_SRCS = watchdog1.cc
 noinst_HEADERS = \
@@ -393,9 +420,9 @@ clean-checkPROGRAMS:
 	  echo " rm -f $$p $$f"; \
 	  rm -f $$p $$f ; \
 	done
-cxxoutput$(EXEEXT): $(cxxoutput_OBJECTS) $(cxxoutput_DEPENDENCIES) 
-	@rm -f cxxoutput$(EXEEXT)
-	$(CXXLINK) $(cxxoutput_OBJECTS) $(cxxoutput_LDADD) $(LIBS)
+formatted_output$(EXEEXT): $(formatted_output_OBJECTS) $(formatted_output_DEPENDENCIES) 
+	@rm -f formatted_output$(EXEEXT)
+	$(CXXLINK) $(formatted_output_OBJECTS) $(formatted_output_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -403,8 +430,10 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/cxxoutput.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ppl_c_test.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/dummy.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/formatted_output.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/libppl_c_tests_a-dummy.Po at am__quote@
+ at 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)/print_to_buffer.Po at am__quote@
 
 .c.o:
@@ -449,6 +478,34 @@ distclean-compile:
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<
 
+libppl_c_tests_a-ppl_c_test.o: ppl_c_test.cc
+ at am__fastdepCXX_TRUE@	$(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
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po
+ 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@	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
+
+libppl_c_tests_a-ppl_c_test.obj: ppl_c_test.cc
+ at am__fastdepCXX_TRUE@	$(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`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Tpo $(DEPDIR)/libppl_c_tests_a-ppl_c_test.Po
+ 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@	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`
+
+libppl_c_tests_a-dummy.o: dummy.cc
+ at am__fastdepCXX_TRUE@	$(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
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libppl_c_tests_a-dummy.Tpo $(DEPDIR)/libppl_c_tests_a-dummy.Po
+ 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@	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
+
+libppl_c_tests_a-dummy.obj: dummy.cc
+ at am__fastdepCXX_TRUE@	$(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`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/libppl_c_tests_a-dummy.Tpo $(DEPDIR)/libppl_c_tests_a-dummy.Po
+ 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`
+
 mostlyclean-libtool:
 	-rm -f *.lo
 
diff --git a/interfaces/C/tests/cxxoutput.c b/interfaces/C/tests/formatted_output.c
similarity index 87%
rename from interfaces/C/tests/cxxoutput.c
rename to interfaces/C/tests/formatted_output.c
index a0b851a..1381adc 100644
--- a/interfaces/C/tests/cxxoutput.c
+++ b/interfaces/C/tests/formatted_output.c
@@ -1,5 +1,5 @@
 /* Test the use of C++ output facilities from C code.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,12 +20,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/ . */
 
-#include "ppl_c.h"
 #include "ppl_c_test.h"
+
 #include "print_to_buffer.h"
 #include <stdio.h>
 
-#define DIMENSION 1000
+#define DIMENSION 100
 
 int
 main() {
@@ -38,6 +38,7 @@ main() {
   char* p;
 
   mpz_init_set_si(z, 1);
+  ppl_initialize();
   ppl_new_Coefficient(&coeff);
   ppl_assign_Coefficient_from_mpz_t(coeff, z);
   ppl_new_Constraint_System(&cs);
@@ -49,13 +50,14 @@ main() {
     ppl_delete_Constraint(c);
     ppl_delete_Linear_Expression(le);
   }
-  p = print_ppl_Constraint_System_t_to_buffer(cs, 4, 64, 64);
+  p = print_ppl_Constraint_System_to_buffer(cs, 4, 64, 64);
   if (check_noisy()) {
     if (p == 0)
-      printf("print_ppl_Constraint_System_t_to_buffer() returned NULL!\n");
+      printf("print_ppl_Constraint_System_to_buffer() returned NULL!\n");
     else
       printf("    %s\n", p);
   }
   ppl_delete_Constraint_System(cs);
+  ppl_finalize();
   return 0;
 }
diff --git a/interfaces/C/tests/ppl_c_test.cc b/interfaces/C/tests/ppl_c_test.cc
index 18d789d..2333191 100644
--- a/interfaces/C/tests/ppl_c_test.cc
+++ b/interfaces/C/tests/ppl_c_test.cc
@@ -1,6 +1,6 @@
 /* Implementation of utility functions used in test programs
    of the C interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,18 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl-config.h"
+
+// The following inclusion of <cstdio> prior to "ppl_c_test.h" is to
+// work around a bug whereby some versions of <stdio.h> do not obey
+// clause D.5.2 of the C++ standard: "Each C header, whose name has
+// the form name.h, behaves as if each name placed in the Standard
+// library namespace by the corresponding cname header is also placed
+// within the namespace scope of the namespace std and is followed by
+// an explicit using-declaration (7.3.3)."  By including <cstdio>
+// prior to "ppl_c_test.h" we ensure std::FILE is defined at the time
+// when "ppl_c.h" will include <gmp.h>.
+#include <cstdio>
+
 #include "ppl_c_test.h"
 #include <cstdlib>
 
diff --git a/interfaces/C/tests/ppl_c_test.h b/interfaces/C/tests/ppl_c_test.h
index a2deda1..ad729d0 100644
--- a/interfaces/C/tests/ppl_c_test.h
+++ b/interfaces/C/tests/ppl_c_test.h
@@ -1,5 +1,5 @@
 /* Header file for C test programs.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,6 +23,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_ppl_c_test_h
 #define PPL_ppl_c_test_h 1
 
+#include "ppl_c.h"
+
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/interfaces/C/tests/print_to_buffer.c b/interfaces/C/tests/print_to_buffer.c
new file mode 100644
index 0000000..bac2557
--- /dev/null
+++ b/interfaces/C/tests/print_to_buffer.c
@@ -0,0 +1,65 @@
+/* Definitions of print_ppl_*_to_buffer() functions.
+   Copyright (C) 2001-2009 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_c.h"
+#include "print_to_buffer.h"
+#include <stdlib.h>
+#include <string.h>
+
+#define DEFINE_PRINT_TO_BUFFER(Type)                                    \
+char*                                                                   \
+ print_ppl_##Type##_to_buffer(ppl_const_##Type##_t p,			\
+			      unsigned indent_depth,			\
+			      unsigned preferred_first_line_length,	\
+			      unsigned preferred_line_length) {		\
+  char *buf, *ret;							\
+  int r = ppl_io_asprint_##Type(&buf, p);				\
+  if (r != 0)								\
+    return 0;								\
+  ret = ppl_io_wrap_string(buf, indent_depth,				\
+			   preferred_first_line_length,			\
+			   preferred_line_length);			\
+  free(buf);								\
+  return ret;								\
+}
+
+DEFINE_PRINT_TO_BUFFER(Coefficient)
+
+DEFINE_PRINT_TO_BUFFER(Linear_Expression)
+
+DEFINE_PRINT_TO_BUFFER(Constraint)
+
+DEFINE_PRINT_TO_BUFFER(Constraint_System)
+
+DEFINE_PRINT_TO_BUFFER(Generator)
+
+DEFINE_PRINT_TO_BUFFER(Generator_System)
+
+DEFINE_PRINT_TO_BUFFER(Congruence)
+
+DEFINE_PRINT_TO_BUFFER(Congruence_System)
+
+DEFINE_PRINT_TO_BUFFER(Grid_Generator)
+
+DEFINE_PRINT_TO_BUFFER(Grid_Generator_System)
+
+DEFINE_PRINT_TO_BUFFER(MIP_Problem)
diff --git a/interfaces/C/tests/print_to_buffer.cc b/interfaces/C/tests/print_to_buffer.cc
deleted file mode 100644
index ad052d8..0000000
--- a/interfaces/C/tests/print_to_buffer.cc
+++ /dev/null
@@ -1,172 +0,0 @@
-/* Declarations of print_ppl_*_t_to_buffer() functions.
-   Copyright (C) 2001-2008 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.hh"
-#include "ppl_c.h"
-#include "print_to_buffer.h"
-#include <sstream>
-#include <cassert>
-#include <iostream>
-#include <cstring>
-#include <cctype>
-
-#define DEFINE_PRINT_TO_BUFFER(Type)                                    \
-char*                                                                   \
-print_ppl_##Type##_t_to_buffer(ppl_##Type##_t p,                        \
-                               unsigned indent_depth,                   \
-                               unsigned preferred_first_line_length,    \
-                               unsigned preferred_line_length) {        \
-  using namespace Parma_Polyhedra_Library;                              \
-  return print_to_buffer(*reinterpret_cast<const Type*>(p),             \
-                         indent_depth,                                  \
-                         preferred_first_line_length,                   \
-                         preferred_line_length);                        \
-}
-
-namespace {
-
-size_t
-wrap_to_buffer(char *buf,
-               size_t buf_size,
-               const char* src,
-               unsigned indent_depth,
-               unsigned preferred_first_line_length,
-               unsigned preferred_line_length) {
-  char* dst = buf;
-  size_t len = 0;
-  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;
-	break;
-      }
-      if (src[i] == ',' && i < linelen)
-	last_comma = i;
-      if (isspace(src[i]) && (i == 0 || !isspace(src[i-1])))
-	last_space = i;
-    }
-    if (split_pos < 0) {
-      if (last_comma >= 0)
-	split_pos = last_comma + 1;
-      else if (last_space >= 0)
-	split_pos = last_space;
-      else {
-	for ( ; src[i]; ++i) {
-	  if (src[i] == ',') {
-	    ++i;
-	    break;
-	  }
-	  if (isspace(src[i]))
-	    break;
-	}
-	split_pos = i;
-      }
-    }
-    if (split_pos > 0 && line > 0) {
-      i = buf_size - len;
-      if (i >= 0) {
-	if (i > (int) indent_depth)
-	  i = indent_depth;
-	memset(dst, ' ', i);
-	dst += i;
-      }
-      len += indent_depth;
-    }
-    i = buf_size - len;
-    if (i >= 0) {
-      if (i > split_pos)
-	i = split_pos;
-      memcpy(dst, src, i);
-      dst += i;
-    }
-    src += split_pos;
-    len += split_pos;
-    if (isspace(*src))
-      ++src;
-    while (*src == ' ')
-      ++src;
-    if (*src == '\0')
-      break;
-    if (len < buf_size)
-      *dst++ = '\n';
-    ++len;
-  }
-  if (len < buf_size)
-    *dst++ = '\0';
-  ++len;
-  return len;
-}
-
-template <typename T>
-char*
-print_to_buffer(const T& o,
-                unsigned indent_depth,
-                unsigned preferred_first_line_length,
-                unsigned preferred_line_length) {
-  using namespace Parma_Polyhedra_Library::IO_Operators;
-  std::ostringstream s;
-  s << o;
-  std::string str = s.str();
-  const char* c_str = str.c_str();
-  size_t buf_size = wrap_to_buffer(0, 0, c_str,
-                                   indent_depth,
-                                   preferred_first_line_length,
-                                   preferred_line_length);
-  char* buf = (char*) malloc(buf_size);
-  if (buf != 0)
-    wrap_to_buffer(buf, buf_size, c_str,
-                   indent_depth,
-                   preferred_first_line_length,
-                   preferred_line_length);
-  return buf;
-}
-
-} // namespace
-
-DEFINE_PRINT_TO_BUFFER(Coefficient)
-
-DEFINE_PRINT_TO_BUFFER(Linear_Expression)
-
-DEFINE_PRINT_TO_BUFFER(Constraint)
-
-DEFINE_PRINT_TO_BUFFER(Constraint_System)
-
-DEFINE_PRINT_TO_BUFFER(Generator)
-
-DEFINE_PRINT_TO_BUFFER(Generator_System)
-
-DEFINE_PRINT_TO_BUFFER(Congruence)
-
-DEFINE_PRINT_TO_BUFFER(Congruence_System)
-
-DEFINE_PRINT_TO_BUFFER(Grid_Generator)
-
-DEFINE_PRINT_TO_BUFFER(Grid_Generator_System)
-
-DEFINE_PRINT_TO_BUFFER(MIP_Problem)
diff --git a/interfaces/C/tests/print_to_buffer.h b/interfaces/C/tests/print_to_buffer.h
index 0dbc436..e1ed2b2 100644
--- a/interfaces/C/tests/print_to_buffer.h
+++ b/interfaces/C/tests/print_to_buffer.h
@@ -1,5 +1,5 @@
-/* Declarations of print_ppl_*_t_to_buffer() functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Declarations of print_ppl_*_to_buffer() functions.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,11 +33,12 @@ site: http://www.cs.unipr.it/ppl/ . */
   `preferred_first_line_length' and `preferred_line_length',
   respectively.
 */
-#define DECLARE_PRINT_TO_BUFFER(Type)                                   \
-char* print_ppl_##Type##_t_to_buffer(ppl_##Type##_t p,                  \
-                                     unsigned indent_depth,             \
-                                     unsigned preferred_first_line_length, \
-                                     unsigned preferred_line_length);
+#define DECLARE_PRINT_TO_BUFFER(Type)					\
+char*                                                                   \
+print_ppl_##Type##_to_buffer(ppl_const_##Type##_t p,			\
+			     unsigned indent_depth,			\
+			     unsigned preferred_first_line_length,	\
+			     unsigned preferred_line_length);
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/interfaces/Java/Makefile.am b/interfaces/Java/Makefile.am
index 98ae76b..9a97a6b 100644
--- a/interfaces/Java/Makefile.am
+++ b/interfaces/Java/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/interfaces/Java/Makefile.in b/interfaces/Java/Makefile.in
index f960077..8a26272 100644
--- a/interfaces/Java/Makefile.in
+++ b/interfaces/Java/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -79,12 +79,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -171,6 +170,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -179,6 +180,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -253,6 +255,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
diff --git a/interfaces/Java/jni/Makefile.am b/interfaces/Java/jni/Makefile.am
index 81849cb..3035467 100644
--- a/interfaces/Java/jni/Makefile.am
+++ b/interfaces/Java/jni/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -62,9 +62,8 @@ if HOST_OS_DARWIN
 
 libppl_java_la_LDFLAGS = \
 $(NO_UNDEFINED_FLAG) \
--module \
 -avoid-version \
-"-shrext .jnilib"
+-shrext .jnilib
 
 else !HOST_OS_DARWIN
 
@@ -163,7 +162,7 @@ libppl_java_la_DEPENDENCIES = \
 @required_instantiations_java_cxx_objects@
 
 ppl_java_implementation_domains.cc.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_classes_cc_files.m4 \
                 > ppl_java_cc_blob
diff --git a/interfaces/Java/jni/Makefile.in b/interfaces/Java/jni/Makefile.in
index 4ba592b..b1cf372 100644
--- a/interfaces/Java/jni/Makefile.in
+++ b/interfaces/Java/jni/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -79,12 +79,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -188,6 +187,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -196,6 +197,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -270,6 +272,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -345,9 +348,8 @@ AM_LIBTOOLFLAGS = --tag=disable-static
 
 @HOST_OS_DARWIN_TRUE at libppl_java_la_LDFLAGS = \
 @HOST_OS_DARWIN_TRUE@$(NO_UNDEFINED_FLAG) \
- at HOST_OS_DARWIN_TRUE@-module \
 @HOST_OS_DARWIN_TRUE at -avoid-version \
- at HOST_OS_DARWIN_TRUE@"-shrext .jnilib"
+ at HOST_OS_DARWIN_TRUE@-shrext .jnilib
 
 libppl_java_la_SOURCES = \
 ppl_java_common.defs.hh \
@@ -796,7 +798,7 @@ uninstall-am: uninstall-pkglibLTLIBRARIES
 
 
 ppl_java_implementation_domains.cc.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_classes_cc_files.m4 \
                 > ppl_java_cc_blob
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 67ef6f9..9871f86 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
@@ -1,9 +1,9 @@
-dnl  -*- C++ -*-
+m4_dnl  -*- C++ -*-
+m4_define(`dnl', `m4_dnl')
 m4_divert(-1)
-
 This m4 file contains the code for generating ppl_java_<CLASS_NAME>.cc
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -42,13 +42,14 @@ m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_code',
 
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_1Iterator_build_1cpp_1object
-(JNIEnv* env, jobject j_this, jobject j_y) {
+(JNIEnv* env, jobject j_this, jobject j_y) try {
   @CPP_CLASS@::iterator* y_ptr
     = reinterpret_cast<@CPP_CLASS@::iterator*>(get_ptr(env, j_y));
   @CPP_CLASS@::iterator* this_ptr
     = new @CPP_CLASS@::iterator(*y_ptr);
   set_ptr(env, j_this, this_ptr);
 }
+CATCH_ALL
 
 ')
 
@@ -57,11 +58,15 @@ m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
 JNIEXPORT jboolean JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_1Iterator_equals
 (JNIEnv* env, jobject j_this, jobject j_y) {
-  @CPP_CLASS@::iterator* this_ptr
-    = reinterpret_cast<@CPP_CLASS@::iterator*>(get_ptr(env, j_this));
-  @CPP_CLASS@::iterator* y_ptr
-    = reinterpret_cast<@CPP_CLASS@::iterator*>(get_ptr(env, j_y));
-  return *this_ptr == *y_ptr;
+  try {
+    @CPP_CLASS@::iterator* this_ptr
+      = reinterpret_cast<@CPP_CLASS@::iterator*>(get_ptr(env, j_this));
+    @CPP_CLASS@::iterator* y_ptr
+      = reinterpret_cast<@CPP_CLASS@::iterator*>(get_ptr(env, j_y));
+    return *this_ptr == *y_ptr;
+  }
+  CATCH_ALL;
+  return false;
 }
 
 ')
@@ -71,15 +76,21 @@ m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_code',
 JNIEXPORT jobject JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _@BEGINEND at _1iterator
 (JNIEnv* env, jobject j_this) {
-  @CPP_CLASS@* this_ptr
-    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-  jclass j_it_class = env->FindClass("parma_polyhedra_library/@TOPOLOGY@@CLASS at _Iterator");
-  jmethodID j_it_ctr_id = env->GetMethodID(j_it_class, "<init>", "()V");
-  jobject j_it = env->NewObject(j_it_class, j_it_ctr_id);
-  @TOPOLOGY@@CPP_CLASS@::iterator* ppl_it
-    = new @TOPOLOGY@@CPP_CLASS@::iterator(this_ptr->@BEGINEND@());
-  set_ptr(env, j_it, ppl_it);
-  return j_it;
+  try {
+    @CPP_CLASS@* this_ptr
+      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+    jclass j_it_class
+      = env->FindClass("parma_polyhedra_library/@TOPOLOGY@@CLASS at _Iterator");
+    jmethodID j_it_ctr_id = env->GetMethodID(j_it_class, "<init>", "()V");
+    jobject j_it = env->NewObject(j_it_class, j_it_ctr_id);
+    @TOPOLOGY@@CPP_CLASS@::iterator* ppl_it
+      = new @TOPOLOGY@@CPP_CLASS@::iterator(this_ptr->@BEGINEND@());
+    set_ptr(env, j_it, ppl_it);
+    return j_it;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
 }
 
 ')
@@ -88,7 +99,7 @@ m4_define(`ppl_delete_ at CLASS@_iterator_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_1Iterator_free
-(JNIEnv* env, jobject j_this) {
+(JNIEnv* env, jobject j_this) try {
   if (!is_java_marked(env, j_this)) {
     @CPP_CLASS@::iterator* this_ptr
       = reinterpret_cast<@CPP_CLASS@::iterator*>(get_ptr(env, j_this));
@@ -97,46 +108,54 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_1Iterator_free
     set_ptr(env, j_this, null_ptr);
   }
 }
+CATCH_ALL
 
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_1Iterator_finalize
-(JNIEnv* env, jobject j_this) {
+(JNIEnv* env, jobject j_this) try {
   if (!is_java_marked(env, j_this)) {
     @CPP_CLASS@::iterator* this_ptr
       = reinterpret_cast<@CPP_CLASS@::iterator*>(get_ptr(env, j_this));
     delete this_ptr;
   }
 }
+CATCH_ALL
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
 `dnl
 JNIEXPORT void JNICALL
-Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _1Iterator_@ALT_INCDEC@
-(JNIEnv* env, jobject j_this) {
+Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _1Iterator_@A_INCDEC@
+(JNIEnv* env, jobject j_this) try {
   @TOPOLOGY@@CPP_CLASS@::iterator* this_ptr
     = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@::iterator*>(get_ptr(env, j_this));
-  @CPPX_INCDEC@(*this_ptr);
+  m4_ at INCDEC@_cpp_name()(*this_ptr);
 }
+CATCH_ALL
 
 ')
 
-m4_define(`m4_increment_extra_op_name', `next')
-m4_define(`m4_decrement_extra_op_name', `prev')
+m4_define(`m4_increment_cpp_name', `++')
+m4_define(`m4_decrement_cpp_name', `--')
 
 m4_define(`ppl_ at CLASS@_get_disjunct_code',
 `dnl
 JNIEXPORT jobject JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _1Iterator_get_1disjunct
 (JNIEnv* env, jobject j_this) {
-  @TOPOLOGY@@CPP_CLASS@::iterator* this_ptr
-    = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@::iterator*>(get_ptr(env, j_this));
-  jclass j_class = env->FindClass("parma_polyhedra_library/@CLASSTOPOLOGY@@DISJUNCT@");
-  jmethodID j_ctr_id = env->GetMethodID(j_class, "<init>", "()V");
-  jobject j_obj = env->NewObject(j_class, j_ctr_id);
-  set_ptr(env, j_obj,  &((*this_ptr)->element()), true);
-  return j_obj;
+  try {
+    @TOPOLOGY@@CPP_CLASS@::iterator* this_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@::iterator*>(get_ptr(env, j_this));
+    jclass j_class = env->FindClass("parma_polyhedra_library/@DISJUNCT_TOPOLOGY@@DISJUNCT@");
+    jmethodID j_ctr_id = env->GetMethodID(j_class, "<init>", "()V");
+    jobject j_obj = env->NewObject(j_class, j_ctr_id);
+    set_ptr(env, j_obj,  &((*this_ptr)->element()), true);
+    return j_obj;
+  }
+  CATCH_ALL;
+  jobject null = 0;
+  return null;
 }
 
 ')
@@ -145,13 +164,14 @@ m4_define(`ppl_ at CLASS@_drop_disjunct_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _drop_1disjunct
-(JNIEnv* env, jobject j_this, jobject j_it) {
-  @TOPOLOGY@@CPP_CLASS@::iterator* itr_ptr
-    = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@::iterator*>(get_ptr(env, j_it));
+(JNIEnv* env, jobject j_this, jobject j_it) try {
   @TOPOLOGY@@CPP_CLASS@* this_ptr
     = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_this));
-  this_ptr->drop_disjunct(*itr_ptr);
+  @TOPOLOGY@@CPP_CLASS@::iterator& itr
+    = *(reinterpret_cast<@TOPOLOGY@@CPP_CLASS@::iterator*>(get_ptr(env, j_it)));
+  itr = this_ptr->drop_disjunct(itr);
 }
+CATCH_ALL
 
 ')
 
@@ -159,7 +179,7 @@ m4_define(`ppl_ at CLASS@_drop_disjuncts_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _drop_1disjuncts
-(JNIEnv* env, jobject j_this, jobject j_first, jobject j_last) {
+(JNIEnv* env, jobject j_this, jobject j_first, jobject j_last) try {
   @TOPOLOGY@@CPP_CLASS@::iterator* first_ptr
     = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@::iterator*>(get_ptr(env, j_first));
   @TOPOLOGY@@CPP_CLASS@::iterator* last_ptr
@@ -168,6 +188,7 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _drop_1disjuncts
     = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_this));
   this_ptr->drop_disjuncts(*first_ptr, *last_ptr);
 }
+CATCH_ALL
 
 ')
 
@@ -175,13 +196,14 @@ m4_define(`ppl_ at CLASS@_add_disjunct_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _add_1disjunct
-(JNIEnv* env, jobject j_this, jobject j_d) {
+(JNIEnv* env, jobject j_this, jobject j_d) try {
   @TOPOLOGY@@CPP_CLASS@* this_ptr
     = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_this));
-  @CLASSTOPOLOGY@@CPP_DISJUNCT@* d_ptr
-    = reinterpret_cast<@CLASSTOPOLOGY@@CPP_DISJUNCT@*>(get_ptr(env, j_d));
+  @DISJUNCT_TOPOLOGY@@A_DISJUNCT@* d_ptr
+    = reinterpret_cast<@DISJUNCT_TOPOLOGY@@A_DISJUNCT@*>(get_ptr(env, j_d));
   this_ptr->add_disjunct(*d_ptr);
 }
+CATCH_ALL
 
 ')
 
@@ -189,7 +211,7 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__JLparma_1polyhedra_1library_Degenerate_1Element_2
-(JNIEnv* env, jobject j_this, jlong j_dim, jobject j_degenerate_element) {
+(JNIEnv* env, jobject j_this, jlong j_dim, jobject j_degenerate_element) try {
   dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(j_dim);
   jclass degenerate_element_class
     = env->FindClass("parma_polyhedra_library/Degenerate_Element");
@@ -210,6 +232,7 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__JLparma_1
   }
   set_ptr(env, j_this, this_ptr);
 }
+CATCH_ALL
 
 ')
 
@@ -217,12 +240,13 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__Lparma_1polyhedra_1library_@1FRIEND at _2
-(JNIEnv* env, jobject  j_this, jobject j_y) {
-  @CPPX_FRIEND@* y_ptr
-    = reinterpret_cast<@CPPX_FRIEND@*>(get_ptr(env, j_y));
+(JNIEnv* env, jobject  j_this, jobject j_y) try {
+  @B_FRIEND@* y_ptr
+    = reinterpret_cast<@B_FRIEND@*>(get_ptr(env, j_y));
   @TOPOLOGY@@CPP_CLASS@* this_ptr = new @TOPOLOGY@@CPP_CLASS@(*y_ptr);
   set_ptr(env, j_this, this_ptr);
 }
+CATCH_ALL
 
 ')
 
@@ -230,9 +254,9 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__Lparma_1polyhedra_1library_@1FRIEND at _2Lparma_1polyhedra_1library_Complexity_1Class_2
-(JNIEnv* env, jobject j_this, jobject j_y, jobject j_complexity) {
-  @CPPX_FRIEND@* y_ptr
-    = reinterpret_cast<@CPPX_FRIEND@*>(get_ptr(env, j_y));
+(JNIEnv* env, jobject j_this, jobject j_y, jobject j_complexity) try {
+  @B_FRIEND@* y_ptr
+    = reinterpret_cast<@B_FRIEND@*>(get_ptr(env, j_y));
   jclass complexity_class
     = env->FindClass("parma_polyhedra_library/Complexity_Class");
   jmethodID complexity_ordinal_id
@@ -255,19 +279,21 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__Lparma_1p
   }
   set_ptr(env, j_this, this_ptr);
 }
+CATCH_ALL
 
 ')
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 `dnl
 JNIEXPORT void JNICALL
-Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__Lparma_1polyhedra_1library_@1UBUILD_REPRESENT at _1System_2
-(JNIEnv* env, jobject j_this, jobject j_iterable) {
-  @UBUILD_REPRESENT at _System cs
+Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _build_1cpp_1object__Lparma_1polyhedra_1library_@1!BUILD_REPRESENT at _1System_2
+(JNIEnv* env, jobject j_this, jobject j_iterable) try {
+  @!BUILD_REPRESENT at _System cs
     = build_cxx_ at BUILD_REPRESENT@_system(env, j_iterable);
   @TOPOLOGY@@CPP_CLASS@* this_ptr = new @TOPOLOGY@@CPP_CLASS@(cs at RECYCLE@);
   set_ptr(env, j_this, this_ptr);
 }
+CATCH_ALL
 
 ')
 
@@ -276,11 +302,15 @@ m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
 JNIEXPORT jboolean JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _@1UB_EXACT@
 (JNIEnv* env, jobject j_this, jobject j_y) {
-  @TOPOLOGY@@CPP_CLASS@* this_ptr
-    = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_this));
-  @TOPOLOGY@@CPP_CLASS@* y_ptr
-    = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_y));
-  return this_ptr->@UB_EXACT@(*y_ptr);
+  try {
+    @TOPOLOGY@@CPP_CLASS@* this_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_this));
+    @TOPOLOGY@@CPP_CLASS@* y_ptr
+      = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_y));
+    return this_ptr->@UB_EXACT@(*y_ptr);
+  }
+  CATCH_ALL;
+  return false;
 }
 
 ')
@@ -289,13 +319,14 @@ m4_define(`ppl_delete_ at CLASS@_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _finalize
-(JNIEnv* env, jobject j_this) {
+(JNIEnv* env, jobject j_this) try {
   if (!is_java_marked(env, j_this)) {
     @TOPOLOGY@@CPP_CLASS@* this_ptr
       = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_this));
     delete this_ptr;
   }
 }
+CATCH_ALL
 
 ')
 
@@ -303,7 +334,7 @@ m4_define(`ppl_free_ at CLASS@_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _free
-(JNIEnv* env, jobject j_this) {
+(JNIEnv* env, jobject j_this) try {
   if (!is_java_marked(env, j_this)) {
     @TOPOLOGY@@CPP_CLASS@* this_ptr
       = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_this));
@@ -312,6 +343,7 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _free
     set_ptr(env, j_this, null_ptr);
   }
 }
+CATCH_ALL
 
 ')
 
@@ -319,16 +351,14 @@ m4_define(`ppl_ at CLASS@_swap_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_swap
-(JNIEnv* env, jobject j_this, jobject j_y) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = 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);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_y) try {
+  @CPP_CLASS@* this_ptr
+    = 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);
 }
+CATCH_ALL
 
 ')
 
@@ -348,15 +378,15 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1DIMENSION@
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
 JNIEXPORT jobject JNICALL
-Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1GET_REPRESENT@s
+Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1CLASS_REPRESENT@s
 (JNIEnv* env, jobject j_this) {
   try {
     @CPP_CLASS@* this_ptr
       = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    return build_java_ at GET_REPRESENT@_system(env, this_ptr->@GET_REPRESENT at s());
+    return build_java_ at CLASS_REPRESENT@_system(env, this_ptr->@CLASS_REPRESENT at s());
   }
   CATCH_ALL;
   jobject null = 0;
@@ -365,16 +395,16 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1GET_REPRESENT@s
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `dnl
 JNIEXPORT jobject JNICALL
-Java_parma_1polyhedra_1library_ at 1CLASS@_minimized_1 at 1GET_REPRESENT@s
+Java_parma_1polyhedra_1library_ at 1CLASS@_minimized_1 at 1CLASS_REPRESENT@s
 (JNIEnv* env, jobject j_this) {
   try {
     @CPP_CLASS@* this_ptr
       = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    return build_java_ at GET_REPRESENT@_system(env,
-             this_ptr->minimized_ at GET_REPRESENT@s());
+    return build_java_ at CLASS_REPRESENT@_system(env,
+             this_ptr->minimized_ at CLASS_REPRESENT@s());
   }
   CATCH_ALL;
   jobject null = 0;
@@ -386,14 +416,14 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_minimized_1 at 1GET_REPRESENT@s
 m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 `dnl
 JNIEXPORT jobject JNICALL
-Java_parma_1polyhedra_1library_ at 1CLASS@_relation_1with__Lparma_1polyhedra_1library_ at 1URELATION_REPRESENT@_2
+Java_parma_1polyhedra_1library_ at 1CLASS@_relation_1with__Lparma_1polyhedra_1library_ at 1!RELATION_REPRESENT at _2
 (JNIEnv* env, jobject j_this, jobject j_c) {
   try {
     @CPP_CLASS@* this_ptr
       = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @URELATION_REPRESENT@ c = build_cxx_ at RELATION_REPRESENT@(env, j_c);
-    Poly_ at UALT_RELATION_REPRESENT@_Relation pcr = this_ptr->relation_with(c);
-    return build_java_poly_ at ALT_RELATION_REPRESENT@_relation(env, pcr);
+    @!RELATION_REPRESENT@ c = build_cxx_ at RELATION_REPRESENT@(env, j_c);
+    Poly_@!A_RELATION_REPRESENT at _Relation pcr = this_ptr->relation_with(c);
+    return build_java_poly_ at A_RELATION_REPRESENT@_relation(env, pcr);
   }
   CATCH_ALL;
   jobject null = 0;
@@ -422,14 +452,12 @@ m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1SIMPLIFY@
-(JNIEnv* env, jobject j_this) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    this_ptr->@SIMPLIFY@();
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  this_ptr->@SIMPLIFY@();
 }
+CATCH_ALL
 
 ')
 
@@ -437,15 +465,13 @@ m4_define(`ppl_ at CLASS@_unconstrain_space_dimension_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_unconstrain_1space_1dimension
-(JNIEnv* env, jobject j_this, jobject j_var) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variable v = build_cxx_variable(env, j_var);
-    this_ptr->unconstrain(v);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_var) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variable v = build_cxx_variable(env, j_var);
+  this_ptr->unconstrain(v);
 }
+CATCH_ALL
 
 ')
 
@@ -453,15 +479,13 @@ m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_unconstrain_1space_1dimensions
-(JNIEnv* env, jobject j_this, jobject j_v_set) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variables_Set v_set = build_cxx_variables_set(env, j_v_set);
-    this_ptr->unconstrain(v_set);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_v_set) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variables_Set v_set = build_cxx_variables_set(env, j_v_set);
+  this_ptr->unconstrain(v_set);
 }
+CATCH_ALL
 
 ')
 
@@ -491,8 +515,8 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1MAXMIN@__Lparma_1polyhedra_1library_Li
   try {
     @CPP_CLASS@* this_ptr
       = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    PPL_DIRTY_TEMP_COEFFICIENT(num);
+    PPL_DIRTY_TEMP_COEFFICIENT(den);
     num = build_cxx_coeff(env, j_num);
     den = build_cxx_coeff(env, j_den);
     Linear_Expression le = build_cxx_linear_expression(env, j_le);
@@ -523,8 +547,8 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1MAXMIN@__Lparma_1polyhedra_1library_Li
   try {
     @CPP_CLASS@* this_ptr
       = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    PPL_DIRTY_TEMP_COEFFICIENT(num);
+    PPL_DIRTY_TEMP_COEFFICIENT(den);
     num = build_cxx_coeff(env, j_num);
     den = build_cxx_coeff(env, j_den);
     Linear_Expression le = build_cxx_linear_expression(env, j_le);
@@ -618,19 +642,17 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_OK
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `dnl
 JNIEXPORT void JNICALL
-Java_parma_1polyhedra_1library_ at 1CLASS@_add_1 at 1ADD_REPRESENT@
-(JNIEnv* env, jobject j_this, jobject j_c) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @UADD_REPRESENT@ c = build_cxx_ at ADD_REPRESENT@(env, j_c);
-    this_ptr->add_ at ADD_REPRESENT@(c);
-  }
-  CATCH_ALL;
+Java_parma_1polyhedra_1library_ at 1CLASS@_add_1 at 1CLASS_REPRESENT@
+(JNIEnv* env, jobject j_this, jobject j_c) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @!CLASS_REPRESENT@ c = build_cxx_ at CLASS_REPRESENT@(env, j_c);
+  this_ptr->add_ at CLASS_REPRESENT@(c);
 }
+CATCH_ALL
 
 ')
 
@@ -638,31 +660,27 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_refine_1with_1 at 1REFINE_REPRESENT@
-(JNIEnv* env, jobject j_this, jobject j_c) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @UREFINE_REPRESENT@ c = build_cxx_ at REFINE_REPRESENT@(env, j_c);
-    this_ptr->refine_with_ at REFINE_REPRESENT@(c);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_c) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @!REFINE_REPRESENT@ c = build_cxx_ at REFINE_REPRESENT@(env, j_c);
+  this_ptr->refine_with_ at REFINE_REPRESENT@(c);
 }
+CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `dnl
 JNIEXPORT void JNICALL
-Java_parma_1polyhedra_1library_ at 1CLASS@_add_1 at 1ADD_REPRESENT@s
-(JNIEnv* env, jobject j_this, jobject j_cs) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @UADD_REPRESENT at _System cs = build_cxx_ at ADD_REPRESENT@_system(env, j_cs);
-    this_ptr->add_ at ADD_REPRESENT@s(cs);
-  }
-  CATCH_ALL;
+Java_parma_1polyhedra_1library_ at 1CLASS@_add_1 at 1CLASS_REPRESENT@s
+(JNIEnv* env, jobject j_this, jobject j_cs) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @!CLASS_REPRESENT at _System cs = build_cxx_ at CLASS_REPRESENT@_system(env, j_cs);
+  this_ptr->add_ at CLASS_REPRESENT@s(cs);
 }
+CATCH_ALL
 
 ')
 
@@ -670,16 +688,14 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_refine_1with_1 at 1REFINE_REPRESENT@s
-(JNIEnv* env, jobject j_this, jobject j_cs) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @UREFINE_REPRESENT at _System cs
-      = build_cxx_ at REFINE_REPRESENT@_system(env, j_cs);
-    this_ptr->refine_with_ at REFINE_REPRESENT@s(cs);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_cs) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @!REFINE_REPRESENT at _System cs
+    = build_cxx_ at REFINE_REPRESENT@_system(env, j_cs);
+  this_ptr->refine_with_ at REFINE_REPRESENT@s(cs);
 }
+CATCH_ALL
 
 ')
 
@@ -687,16 +703,14 @@ m4_define(`ppl_ at CLASS@_ at BINOP@_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1BINOP@
-(JNIEnv* env, jobject j_this, jobject j_y) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @CPP_CLASS@* y_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-    this_ptr->@BINOP@(*y_ptr);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_y) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @CPP_CLASS@* y_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
+  this_ptr->@BINOP@(*y_ptr);
 }
+CATCH_ALL
 
 ')
 
@@ -722,18 +736,16 @@ m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1AFFIMAGE@
-(JNIEnv* env, jobject j_this, jobject j_v, jobject j_le, jobject j_c) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variable v = build_cxx_variable(env, j_v);
-    Linear_Expression le = build_cxx_linear_expression(env, j_le);
-    TEMP_INTEGER(c);
-    c = build_cxx_coeff(env, j_c);
-    this_ptr->@AFFIMAGE@(v, le, c);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_v, jobject j_le, jobject j_c) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variable v = build_cxx_variable(env, j_v);
+  Linear_Expression le = build_cxx_linear_expression(env, j_le);
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
+  c = build_cxx_coeff(env, j_c);
+  this_ptr->@AFFIMAGE@(v, le, c);
 }
+CATCH_ALL
 
 ')
 
@@ -742,17 +754,15 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_code',
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_generalized_1 at 1AFFIMAGE@__Lparma_1polyhedra_1library_Linear_1Expression_2Lparma_1polyhedra_1library_Relation_1Symbol_2Lparma_1polyhedra_1library_Linear_1Expression_2
 (JNIEnv* env, jobject j_this,
- jobject j_lhs, jobject j_relsym, jobject j_rhs) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Linear_Expression lhs = build_cxx_linear_expression(env, j_lhs);
-    Linear_Expression rhs = build_cxx_linear_expression(env, j_rhs);
-    Relation_Symbol relsym = build_cxx_relsym(env, j_relsym);
-    this_ptr->generalized_ at AFFIMAGE@(lhs, relsym, rhs);
-  }
-  CATCH_ALL;
+ jobject j_lhs, jobject j_relsym, jobject j_rhs) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Linear_Expression lhs = build_cxx_linear_expression(env, j_lhs);
+  Linear_Expression rhs = build_cxx_linear_expression(env, j_rhs);
+  Relation_Symbol relsym = build_cxx_relsym(env, j_relsym);
+  this_ptr->generalized_ at AFFIMAGE@(lhs, relsym, rhs);
 }
+CATCH_ALL
 
 ')
 
@@ -761,19 +771,17 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_code',
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_generalized_1 at 1AFFIMAGE@__Lparma_1polyhedra_1library_Variable_2Lparma_1polyhedra_1library_Relation_1Symbol_2Lparma_1polyhedra_1library_Linear_1Expression_2Lparma_1polyhedra_1library_Coefficient_2
 (JNIEnv* env, jobject j_this,
- jobject j_v, jobject j_relsym, jobject j_le, jobject j_c) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variable v = build_cxx_variable(env, j_v);
-    Relation_Symbol relsym = build_cxx_relsym(env, j_relsym);
-    Linear_Expression le = build_cxx_linear_expression(env, j_le);
-    TEMP_INTEGER(c);
-    c = build_cxx_coeff(env, j_c);
-    this_ptr->generalized_ at AFFIMAGE@(v, relsym, le, c);
-  }
-  CATCH_ALL;
+ jobject j_v, jobject j_relsym, jobject j_le, jobject j_c) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variable v = build_cxx_variable(env, j_v);
+  Relation_Symbol relsym = build_cxx_relsym(env, j_relsym);
+  Linear_Expression le = build_cxx_linear_expression(env, j_le);
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
+  c = build_cxx_coeff(env, j_c);
+  this_ptr->generalized_ at AFFIMAGE@(v, relsym, le, c);
 }
+CATCH_ALL
 
 ')
 
@@ -782,19 +790,17 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_code',
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_generalized_1 at 1AFFIMAGE@_1lhs_1rhs_1with_1congruence
 (JNIEnv* env, jobject j_this,
- jobject j_lhs, jobject j_relsym, jobject j_rhs, jobject j_modulus) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Linear_Expression lhs = build_cxx_linear_expression(env, j_lhs);
-    Linear_Expression rhs = build_cxx_linear_expression(env, j_rhs);
-    Relation_Symbol relsym = build_cxx_relsym(env, j_relsym);
-    TEMP_INTEGER(modulus);
-    modulus = build_cxx_coeff(env, j_modulus);
-    this_ptr->generalized_ at AFFIMAGE@(lhs, relsym, rhs, modulus);
-  }
-  CATCH_ALL;
+ jobject j_lhs, jobject j_relsym, jobject j_rhs, jobject j_modulus) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Linear_Expression lhs = build_cxx_linear_expression(env, j_lhs);
+  Linear_Expression rhs = build_cxx_linear_expression(env, j_rhs);
+  Relation_Symbol relsym = build_cxx_relsym(env, j_relsym);
+  PPL_DIRTY_TEMP_COEFFICIENT(modulus);
+  modulus = build_cxx_coeff(env, j_modulus);
+  this_ptr->generalized_ at AFFIMAGE@(lhs, relsym, rhs, modulus);
 }
+CATCH_ALL
 
 ')
 
@@ -803,21 +809,20 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_code',
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at CLASS@_generalized_1 at 1AFFIMAGE@_1with_1congruence
 (JNIEnv* env, jobject j_this,
- jobject j_v, jobject j_relsym, jobject j_le, jobject j_c, jobject j_modulus) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variable v = build_cxx_variable(env, j_v);
-    Relation_Symbol relsym = build_cxx_relsym(env, j_relsym);
-    Linear_Expression le = build_cxx_linear_expression(env, j_le);
-    TEMP_INTEGER(c);
-    TEMP_INTEGER(modulus);
-    c = build_cxx_coeff(env, j_c);
-    modulus = build_cxx_coeff(env, j_modulus);
-    this_ptr->generalized_ at AFFIMAGE@(v, relsym, le, c, modulus);
-  }
-  CATCH_ALL;
+ jobject j_v, jobject j_relsym, jobject j_le, jobject j_c,
+ jobject j_modulus) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variable v = build_cxx_variable(env, j_v);
+  Relation_Symbol relsym = build_cxx_relsym(env, j_relsym);
+  Linear_Expression le = build_cxx_linear_expression(env, j_le);
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
+  PPL_DIRTY_TEMP_COEFFICIENT(modulus);
+  c = build_cxx_coeff(env, j_c);
+  modulus = build_cxx_coeff(env, j_modulus);
+  this_ptr->generalized_ at AFFIMAGE@(v, relsym, le, c, modulus);
 }
+CATCH_ALL
 
 ')
 
@@ -826,19 +831,17 @@ m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_bounded_1 at 1AFFIMAGE@
 (JNIEnv* env, jobject j_this,
- jobject j_v, jobject j_lhs, jobject j_rhs, jobject j_c) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variable v = build_cxx_variable(env, j_v);
-    Linear_Expression lhs = build_cxx_linear_expression(env, j_lhs);
-    Linear_Expression rhs = build_cxx_linear_expression(env, j_rhs);
-    TEMP_INTEGER(c);
-    c = build_cxx_coeff(env, j_c);
-    this_ptr->bounded_ at AFFIMAGE@(v, lhs, rhs, c);
-  }
-  CATCH_ALL;
+ jobject j_v, jobject j_lhs, jobject j_rhs, jobject j_c) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variable v = build_cxx_variable(env, j_v);
+  Linear_Expression lhs = build_cxx_linear_expression(env, j_lhs);
+  Linear_Expression rhs = build_cxx_linear_expression(env, j_rhs);
+  PPL_DIRTY_TEMP_COEFFICIENT(c);
+  c = build_cxx_coeff(env, j_c);
+  this_ptr->bounded_ at AFFIMAGE@(v, lhs, rhs, c);
 }
+CATCH_ALL
 
 ')
 
@@ -846,25 +849,23 @@ m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1WIDEN@_1widening_1assign
-(JNIEnv* env, jobject j_this, jobject j_y, jobject j_by_ref_int) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @CPP_CLASS@* y_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-    if (is_null(env, j_by_ref_int))
-      this_ptr->@WIDEN at _widening_assign(*y_ptr);
-    else {
-      jobject j_integer = get_by_reference(env, j_by_ref_int);
-      unsigned int tokens =
-        jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_integer));
-      this_ptr->@WIDEN at _widening_assign(*y_ptr, &tokens);
-      j_integer = j_int_to_j_integer(env, tokens);
-      set_by_reference(env, j_by_ref_int, j_integer);
-    }
+(JNIEnv* env, jobject j_this, jobject j_y, jobject j_by_ref_int) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @CPP_CLASS@* y_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
+  if (is_null(env, j_by_ref_int))
+    this_ptr->@WIDEN at _widening_assign(*y_ptr);
+  else {
+    jobject j_integer = get_by_reference(env, j_by_ref_int);
+    unsigned int tokens =
+      jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_integer));
+    this_ptr->@WIDEN at _widening_assign(*y_ptr, &tokens);
+    j_integer = j_int_to_j_integer(env, tokens);
+    set_by_reference(env, j_by_ref_int, j_integer);
   }
-  CATCH_ALL;
 }
+CATCH_ALL
 
 ')
 
@@ -872,25 +873,23 @@ m4_define(`ppl_ at CLASS@_widening_assign_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_widening_1assign
-(JNIEnv* env, jobject j_this, jobject j_y, jobject j_by_ref_int) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @CPP_CLASS@* y_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-    if (is_null(env, j_by_ref_int))
-      this_ptr->widening_assign(*y_ptr);
-    else {
-      jobject j_integer = get_by_reference(env, j_by_ref_int);
-      unsigned int tokens =
-        jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_integer));
-      this_ptr->widening_assign(*y_ptr, &tokens);
-      j_integer = j_int_to_j_integer(env, tokens);
-      set_by_reference(env, j_by_ref_int, j_integer);
-    }
+(JNIEnv* env, jobject j_this, jobject j_y, jobject j_by_ref_int) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @CPP_CLASS@* y_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
+  if (is_null(env, j_by_ref_int))
+    this_ptr->widening_assign(*y_ptr);
+  else {
+    jobject j_integer = get_by_reference(env, j_by_ref_int);
+    unsigned int tokens =
+      jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_integer));
+    this_ptr->widening_assign(*y_ptr, &tokens);
+    j_integer = j_int_to_j_integer(env, tokens);
+    set_by_reference(env, j_by_ref_int, j_integer);
   }
-  CATCH_ALL;
 }
+CATCH_ALL
 
 ')
 
@@ -898,25 +897,23 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1EXTRAPOLATION@_1extrapolation_1assign
-(JNIEnv* env, jobject j_this, jobject j_y, jobject j_by_ref_int) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @CPP_CLASS@* y_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-    if (is_null(env, j_by_ref_int))
-      this_ptr->@EXTRAPOLATION at _extrapolation_assign(*y_ptr);
-    else {
-      jobject j_integer = get_by_reference(env, j_by_ref_int);
-      unsigned int tokens =
-        jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_integer));
-      this_ptr->@EXTRAPOLATION at _extrapolation_assign(*y_ptr, &tokens);
-      j_integer = j_int_to_j_integer(env, tokens);
-      set_by_reference(env, j_by_ref_int, j_integer);
-    }
+(JNIEnv* env, jobject j_this, jobject j_y, jobject j_by_ref_int) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @CPP_CLASS@* y_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
+  if (is_null(env, j_by_ref_int))
+    this_ptr->@EXTRAPOLATION at _extrapolation_assign(*y_ptr);
+  else {
+    jobject j_integer = get_by_reference(env, j_by_ref_int);
+    unsigned int tokens =
+      jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_integer));
+    this_ptr->@EXTRAPOLATION at _extrapolation_assign(*y_ptr, &tokens);
+    j_integer = j_int_to_j_integer(env, tokens);
+    set_by_reference(env, j_by_ref_int, j_integer);
   }
-  CATCH_ALL;
 }
+CATCH_ALL
 
 ')
 
@@ -924,16 +921,14 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1EXTRAPOLATION@_1narrowing_1assign
-(JNIEnv* env, jobject j_this, jobject j_y) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @CPP_CLASS@* y_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-    this_ptr->@EXTRAPOLATION at _narrowing_assign(*y_ptr);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_y) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @CPP_CLASS@* y_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
+  this_ptr->@EXTRAPOLATION at _narrowing_assign(*y_ptr);
 }
+CATCH_ALL
 
 ')
 
@@ -942,27 +937,25 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1LIMITEDBOUNDED@_1 at 1WIDENEXPN@_1extrapolation_1assign
 (JNIEnv* env, jobject j_this, jobject j_y,
- jobject j_cs, jobject j_by_ref_int) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @CPP_CLASS@* y_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-    @UCONSTRAINER at _System cs = build_cxx_ at CONSTRAINER@_system(env, j_cs);
-    if (is_null(env, j_by_ref_int))
-      this_ptr->@LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign(*y_ptr, cs);
-    else {
-      jobject j_integer = get_by_reference(env, j_by_ref_int);
-      unsigned int tokens =
-        jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_integer));
-      this_ptr->@LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign
-        (*y_ptr, cs, &tokens);
-      j_integer = j_int_to_j_integer(env, tokens);
-      set_by_reference(env, j_by_ref_int, j_integer);
-    }
+ jobject j_cs, jobject j_by_ref_int) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @CPP_CLASS@* y_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
+  @!CONSTRAINER at _System cs = build_cxx_ at CONSTRAINER@_system(env, j_cs);
+  if (is_null(env, j_by_ref_int))
+    this_ptr->@LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign(*y_ptr, cs);
+  else {
+    jobject j_integer = get_by_reference(env, j_by_ref_int);
+    unsigned int tokens =
+      jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_integer));
+    this_ptr->@LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign
+      (*y_ptr, cs, &tokens);
+    j_integer = j_int_to_j_integer(env, tokens);
+    set_by_reference(env, j_by_ref_int, j_integer);
   }
-  CATCH_ALL;
 }
+CATCH_ALL
 
 ')
 
@@ -970,41 +963,37 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_BGP99_1 at 1DISJUNCT_WIDEN@_1extrapolation_1assign
-(JNIEnv* env, jobject j_this, jobject j_y, jobject j_disjuncts) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @CPP_CLASS@* y_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-    unsigned int disjuncts =
-      jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_disjuncts));
-    this_ptr->BGP99_extrapolation_assign
-      (*y_ptr,
-       widen_fun_ref(&@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign),
-       disjuncts);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_y, jobject j_disjuncts) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @CPP_CLASS@* y_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
+  unsigned int disjuncts =
+    jtype_to_unsigned<unsigned int>(j_integer_to_j_int(env, j_disjuncts));
+  this_ptr->BGP99_extrapolation_assign
+    (*y_ptr,
+     widen_fun_ref(&@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign),
+     disjuncts);
 }
+CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `dnl
 JNIEXPORT void JNICALL
-Java_parma_1polyhedra_1library_ at 1CLASS@_BHZ03_1 at 1ALT_DISJUNCT_WIDEN@_1 at 1DISJUNCT_WIDEN@_1widening_1assign
-(JNIEnv* env, jobject j_this, jobject j_y) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    @CPP_CLASS@* y_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
-    this_ptr->BHZ03_widening_assign<@ALT_DISJUNCT_WIDEN at _Certificate>
-      (*y_ptr,
-       widen_fun_ref(
-         &@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign));
-  }
-  CATCH_ALL;
+Java_parma_1polyhedra_1library_ at 1CLASS@_BHZ03_1 at 1A_DISJUNCT_WIDEN@_1 at 1DISJUNCT_WIDEN@_1widening_1assign
+(JNIEnv* env, jobject j_this, jobject j_y) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  @CPP_CLASS@* y_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_y));
+  this_ptr->BHZ03_widening_assign<@A_DISJUNCT_WIDEN at _Certificate>
+    (*y_ptr,
+     widen_fun_ref(
+       &@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign));
 }
+CATCH_ALL
 
 ')
 
@@ -1013,15 +1002,13 @@ m4_define(`ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_add_1space_1dimensions_1 at 1EMBEDPROJECT@
-(JNIEnv* env, jobject j_this, jlong dim) {
-  try {
-    dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(dim);
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    this_ptr->add_space_dimensions_ at EMBEDPROJECT@(ppl_dim);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jlong dim) try {
+  dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(dim);
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  this_ptr->add_space_dimensions_ at EMBEDPROJECT@(ppl_dim);
 }
+CATCH_ALL
 
 ')
 
@@ -1029,15 +1016,13 @@ m4_define(`ppl_ at CLASS@_remove_space_dimensions_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_remove_1space_1dimensions
-(JNIEnv* env, jobject j_this, jobject j_v_set) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variables_Set v_set = build_cxx_variables_set(env, j_v_set);
-    this_ptr->remove_space_dimensions(v_set);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_v_set) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variables_Set v_set = build_cxx_variables_set(env, j_v_set);
+  this_ptr->remove_space_dimensions(v_set);
 }
+CATCH_ALL
 
 ')
 
@@ -1045,15 +1030,13 @@ m4_define(`ppl_ at CLASS@_remove_higher_space_dimensions_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_remove_1higher_1space_1dimensions
-(JNIEnv* env, jobject j_this, jlong dim) {
-  try {
-    dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(dim);
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    this_ptr->remove_higher_space_dimensions(ppl_dim);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jlong dim) try {
+  dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(dim);
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  this_ptr->remove_higher_space_dimensions(ppl_dim);
 }
+CATCH_ALL
 
 ')
 
@@ -1061,32 +1044,28 @@ m4_define(`ppl_ at CLASS@_expand_space_dimension_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_expand_1space_1dimension
-(JNIEnv* env, jobject j_this, jobject j_variable, jlong dim) {
-  try {
-    dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(dim);
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variable v = build_cxx_variable(env, j_variable);
-    this_ptr->expand_space_dimension(v, ppl_dim);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_variable, jlong dim) try {
+  dimension_type ppl_dim = jtype_to_unsigned<dimension_type>(dim);
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variable v = build_cxx_variable(env, j_variable);
+  this_ptr->expand_space_dimension(v, ppl_dim);
 }
+CATCH_ALL
 
 ')
 
 m4_define(`ppl_ at CLASS@_fold_space_dimensions_code',
 `dnl
 JNIEXPORT void JNICALL Java_parma_1polyhedra_1library_ at 1CLASS@_fold_1space_1dimensions
-(JNIEnv* env, jobject j_this, jobject j_v_set, jobject j_var) {
-  try {
-    Variables_Set v_set = build_cxx_variables_set(env, j_v_set);
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Variable v = build_cxx_variable(env, j_var);
-    this_ptr->fold_space_dimensions(v_set, v);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_v_set, jobject j_var) try {
+  Variables_Set v_set = build_cxx_variables_set(env, j_v_set);
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Variable v = build_cxx_variable(env, j_var);
+  this_ptr->fold_space_dimensions(v_set, v);
 }
+CATCH_ALL
 
 ')
 
@@ -1094,15 +1073,13 @@ m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
 `dnl
 JNIEXPORT void JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_map_1space_1dimensions
-(JNIEnv* env, jobject j_this, jobject j_p_func) {
-  try {
-    @CPP_CLASS@* this_ptr
-      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-    Partial_Function ppl_pfunc(j_p_func, env);
-    this_ptr->map_space_dimensions(ppl_pfunc);
-  }
-  CATCH_ALL;
+(JNIEnv* env, jobject j_this, jobject j_p_func) try {
+  @CPP_CLASS@* this_ptr
+    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+  Partial_Function ppl_pfunc(j_p_func, env);
+  this_ptr->map_space_dimensions(ppl_pfunc);
 }
+CATCH_ALL
 
 ')
 
@@ -1131,9 +1108,13 @@ m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
 JNIEXPORT jlong JNICALL
 Java_parma_1polyhedra_1library_ at 1CLASS@_ at 1MEMBYTES@
 (JNIEnv* env, jobject j_this) {
-  @CPP_CLASS@* this_ptr
-    = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
-  return this_ptr->@MEMBYTES@();
+  try {
+    @CPP_CLASS@* this_ptr
+      = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_this));
+    return this_ptr->@MEMBYTES@();
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 ')
@@ -1185,7 +1166,7 @@ Java_parma_1polyhedra_1library_ at 1TOPOLOGY@@1CLASS at _linear_1@PARTITION@
       = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_p));
     @TOPOLOGY@@CPP_CLASS@* q_ptr
       = reinterpret_cast<@TOPOLOGY@@CPP_CLASS@*>(get_ptr(env, j_q));
-    std::pair<@TOPOLOGY@@CPP_CLASS@@COMMA@
+    std::pair<@TOPOLOGY@@CPP_CLASS@|COMMA|
               Pointset_Powerset<NNC_Polyhedron> >
       r = linear_partition(*p_ptr, *q_ptr);
 
@@ -1230,7 +1211,7 @@ Java_parma_1polyhedra_1library_ at 1CLASS@_approximate_1 at PARTITION@
     @CPP_CLASS@* q_ptr
       = reinterpret_cast<@CPP_CLASS@*>(get_ptr(env, j_q));
     bool b_finite_val;
-    std::pair<@CPP_CLASS@@COMMA@ Pointset_Powerset<Grid> >
+    std::pair<@CPP_CLASS@|COMMA| Pointset_Powerset<Grid> >
       r = approximate_partition(*p_ptr, *q_ptr, b_finite_val);
 
     @CPP_CLASS@* r1 = new @CPP_CLASS@(0, EMPTY);
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 0d48cf8..e05f25b 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
@@ -4,7 +4,7 @@ m4_divert(-1)
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -29,6 +29,12 @@ dnl Include files defining macros that generate the non-fixed part.
 m4_include(`ppl_interface_generator_java_classes_cc_code.m4')
 m4_include(`ppl_interface_generator_java_procedure_generators.m4')
 
+dnl The macro m4_java_prefix_one_annotation is defined in
+dnl ppl_interfaces_generatos_common.m4 and will expand to the
+dnl extra pattern annotations for "1" and "1!";
+dnl that will insert a "1" after the "_" in the replacements.
+m4_java_prefix_one_annotation
+
 dnl -----------------------------------------------------------------
 dnl Macros needed for the class-dependent code.
 dnl -----------------------------------------------------------------
diff --git a/interfaces/Java/jni/ppl_java_common.cc b/interfaces/Java/jni/ppl_java_common.cc
index 83ed2ad..2bfa970 100644
--- a/interfaces/Java/jni/ppl_java_common.cc
+++ b/interfaces/Java/jni/ppl_java_common.cc
@@ -1,5 +1,5 @@
 /* PPL Java interface common routines implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,6 +34,7 @@ handle_exception(JNIEnv* env, const std::overflow_error& e) {
     = env->FindClass("parma_polyhedra_library/Overflow_Error_Exception");
   env->ThrowNew(newExcCls, e.what());
 }
+
 void
 handle_exception(JNIEnv* env, const std::invalid_argument& e) {
   jclass newExcCls
@@ -141,7 +142,7 @@ build_cxx_congruence(JNIEnv* env, const jobject& j_congruence) {
                       "modulus",
                       "Lparma_polyhedra_library/Coefficient;");
   jobject j_modulus = env->GetObjectField(j_congruence, modulus_field_id);
-  TEMP_INTEGER(ppl_modulus);
+  PPL_DIRTY_TEMP_COEFFICIENT(ppl_modulus);
   ppl_modulus = build_cxx_coeff(env, j_modulus);
   jfieldID lhs_field_id
     = env->GetFieldID(congruence_class,
@@ -479,7 +480,7 @@ build_cxx_coeff(JNIEnv* env, const jobject& j_coeff) {
 					    "()Ljava/lang/String;");
   jstring bi_string = (jstring) env->CallObjectMethod(bi, bi_to_string);
   const char *nativeString = env->GetStringUTFChars(bi_string, 0);
-  TEMP_INTEGER(ppl_coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(ppl_coeff);
   ppl_coeff = Coefficient(nativeString);
   env->ReleaseStringUTFChars(bi_string, nativeString);
   return ppl_coeff;
diff --git a/interfaces/Java/jni/ppl_java_common.defs.hh b/interfaces/Java/jni/ppl_java_common.defs.hh
index 886a0f5..f88fe7e 100644
--- a/interfaces/Java/jni/ppl_java_common.defs.hh
+++ b/interfaces/Java/jni/ppl_java_common.defs.hh
@@ -1,5 +1,5 @@
 /* Domain-independent part of the Java interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -52,7 +52,7 @@ site: http://www.cs.unipr.it/ppl/ . */
   } \
   catch (...) { \
     handle_exception(env); \
-  };
+  }
 
 namespace Parma_Polyhedra_Library {
 
diff --git a/interfaces/Java/jni/ppl_java_common.inlines.hh b/interfaces/Java/jni/ppl_java_common.inlines.hh
index e7ea6d3..ae1194c 100644
--- a/interfaces/Java/jni/ppl_java_common.inlines.hh
+++ b/interfaces/Java/jni/ppl_java_common.inlines.hh
@@ -1,5 +1,5 @@
 /* Domain-independent part of the Java interface: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -68,7 +68,7 @@ build_linear_expression(JNIEnv* env, const R& r) {
     = env->FindClass("parma_polyhedra_library/Linear_Expression_Variable");
   jclass j_variable_class
     = env->FindClass("parma_polyhedra_library/Variable");
-  TEMP_INTEGER(coefficient);
+  PPL_DIRTY_TEMP_COEFFICIENT(coefficient);
   dimension_type varid = 0;
   dimension_type space_dimension = r.space_dimension();
   jobject j_le_term;
diff --git a/interfaces/Java/jni/ppl_java_globals.cc b/interfaces/Java/jni/ppl_java_globals.cc
index a8c3418..f7295f9 100644
--- a/interfaces/Java/jni/ppl_java_globals.cc
+++ b/interfaces/Java/jni/ppl_java_globals.cc
@@ -1,5 +1,5 @@
 /* PPL Java interface: domain-independent functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,6 +32,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "parma_polyhedra_library_Generator_System.h"
 #include "parma_polyhedra_library_Grid_Generator.h"
 #include "parma_polyhedra_library_Grid_Generator_System.h"
+#include "parma_polyhedra_library_IO.h"
 
 using namespace Parma_Polyhedra_Library;
 using namespace Parma_Polyhedra_Library::Interfaces::Java;
@@ -146,7 +147,7 @@ Java_parma_1polyhedra_1library_MIP_1Problem_objective_1function
 
     MIP_Problem* mip
       = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
-    TEMP_INTEGER(inhomogeneous_term);
+    PPL_DIRTY_TEMP_COEFFICIENT(inhomogeneous_term);
     inhomogeneous_term = mip->objective_function().inhomogeneous_term();
     jobject j_coeff_inhomogeneous_term
       = build_java_coeff(env, inhomogeneous_term);
@@ -346,8 +347,8 @@ Java_parma_1polyhedra_1library_MIP_1Problem_evaluate_1objective_1function
     MIP_Problem* mip
       = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
     Generator g = build_cxx_generator(env, j_gen);
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    PPL_DIRTY_TEMP_COEFFICIENT(num);
+    PPL_DIRTY_TEMP_COEFFICIENT(den);
     num = build_cxx_coeff(env, j_coeff_num);
     den = build_cxx_coeff(env, j_coeff_den);
     mip->evaluate_objective_function(g, num, den);
@@ -390,8 +391,8 @@ Java_parma_1polyhedra_1library_MIP_1Problem_optimal_1value
 (JNIEnv* env, jobject j_this_mip_problem, jobject j_coeff_num,
  jobject j_coeff_den) {
   try {
-    TEMP_INTEGER(coeff_num);
-    TEMP_INTEGER(coeff_den);
+    PPL_DIRTY_TEMP_COEFFICIENT(coeff_num);
+    PPL_DIRTY_TEMP_COEFFICIENT(coeff_den);
 
     MIP_Problem* mip
       = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
@@ -470,27 +471,64 @@ Java_parma_1polyhedra_1library_MIP_1Problem_finalize
     delete mip;
 }
 
+JNIEXPORT jlong JNICALL
+Java_parma_1polyhedra_1library_MIP_1Problem_total_1memory_1in_1bytes
+(JNIEnv* env , jobject j_this_mip_problem) {
+  try {
+    MIP_Problem* mip
+      = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
+    return mip->total_memory_in_bytes();
+  }
+  CATCH_ALL;
+  return 0;
+}
+
 JNIEXPORT jstring JNICALL
 Java_parma_1polyhedra_1library_MIP_1Problem_toString
-(JNIEnv* env, jobject j_this_mip_problem) {
+(JNIEnv* env, jobject j_this) {
+  MIP_Problem* this_ptr
+    = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this));
   using namespace Parma_Polyhedra_Library::IO_Operators;
   std::ostringstream s;
-  MIP_Problem* mip
-    = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
-  s << *mip;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  s << *this_ptr;
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_MIP_1Problem_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    MIP_Problem* this_ptr
+      = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this));
+    std::ostringstream s;
+    this_ptr->ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
 Java_parma_1polyhedra_1library_Linear_1Expression_toString
-(JNIEnv* env, jobject le) {
+(JNIEnv* env, jobject j_this) {
   using namespace Parma_Polyhedra_Library::IO_Operators;
+  Linear_Expression ppl_le = build_cxx_linear_expression(env, j_this);
   std::ostringstream s;
-  Linear_Expression ppl_le = build_cxx_linear_expression(env, le);
   s << ppl_le;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Linear_1Expression_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    Linear_Expression le = build_cxx_linear_expression(env, j_this);
+    le.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
@@ -500,8 +538,20 @@ Java_parma_1polyhedra_1library_Generator_toString
   std::ostringstream s;
   Generator ppl_g = build_cxx_generator(env, g);
   s << ppl_g;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Generator_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    Generator g = build_cxx_generator(env, j_this);
+    g.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
@@ -511,8 +561,20 @@ Java_parma_1polyhedra_1library_Constraint_toString
   std::ostringstream s;
   Constraint ppl_c = build_cxx_constraint(env, c);
   s << ppl_c;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Constraint_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    Constraint c = build_cxx_constraint(env, j_this);
+    c.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
@@ -522,8 +584,20 @@ Java_parma_1polyhedra_1library_Grid_1Generator_toString
   std::ostringstream s;
   Grid_Generator ppl_g = build_cxx_grid_generator(env, g);
   s << ppl_g;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Grid_1Generator_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    Grid_Generator g = build_cxx_grid_generator(env, j_this);
+    g.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
@@ -533,8 +607,20 @@ Java_parma_1polyhedra_1library_Congruence_toString
   std::ostringstream s;
   Congruence ppl_g = build_cxx_congruence(env, g);
   s << ppl_g;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Congruence_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    Congruence c = build_cxx_congruence(env, j_this);
+    c.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
@@ -544,8 +630,20 @@ Java_parma_1polyhedra_1library_Grid_1Generator_1System_toString
   std::ostringstream s;
   Grid_Generator_System ppl_ggs = build_cxx_grid_generator_system(env, ggs);
   s << ppl_ggs;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Grid_1Generator_1System_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    Grid_Generator_System gs = build_cxx_grid_generator_system(env, j_this);
+    gs.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
@@ -555,8 +653,20 @@ Java_parma_1polyhedra_1library_Generator_1System_toString
   std::ostringstream s;
   Generator_System ppl_gs = build_cxx_generator_system(env, gs);
   s << ppl_gs;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Generator_1System_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    Generator_System gs = build_cxx_generator_system(env, j_this);
+    gs.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
@@ -566,8 +676,21 @@ Java_parma_1polyhedra_1library_Constraint_1System_toString
   std::ostringstream s;
   Constraint_System ppl_cs = build_cxx_constraint_system(env, cs);
   s << ppl_cs;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
+}
+
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Constraint_1System_ascii_1dump
+(JNIEnv* env, jobject j_this) {
+  try {
+    std::ostringstream s;
+    Constraint_System cs = build_cxx_constraint_system(env, j_this);
+    cs.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
 }
 
 JNIEXPORT jstring JNICALL
@@ -577,17 +700,37 @@ Java_parma_1polyhedra_1library_Congruence_1System_toString
   std::ostringstream s;
   Congruence_System ppl_cgs = build_cxx_congruence_system(env, cgs);
   s << ppl_cgs;
-  std::string str = s.str();
-  return env->NewStringUTF(str.c_str());
+  return env->NewStringUTF(s.str().c_str());
 }
 
-JNIEXPORT jlong JNICALL
-Java_parma_1polyhedra_1library_MIP_1Problem_total_1memory_1in_1bytes
-(JNIEnv* env , jobject j_this_mip_problem) {
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_Congruence_1System_ascii_1dump
+(JNIEnv* env, jobject j_this) {
   try {
-    MIP_Problem* mip
-      = reinterpret_cast<MIP_Problem*>(get_ptr(env, j_this_mip_problem));
-    return mip->total_memory_in_bytes();
+    std::ostringstream s;
+    Congruence_System cs = build_cxx_congruence_system(env, j_this);
+    cs.ascii_dump(s);
+    return env->NewStringUTF(s.str().c_str());
+  }
+  CATCH_ALL;
+  return 0;
+}
+
+JNIEXPORT jstring JNICALL
+Java_parma_1polyhedra_1library_IO_wrap_1string
+(JNIEnv* env, jclass, jstring str, jint indent_depth,
+ jint preferred_first_line_length, jint preferred_line_length) {
+  try {
+    unsigned ind = jtype_to_unsigned<unsigned int>(indent_depth);
+    unsigned pfll = jtype_to_unsigned<unsigned int>(preferred_first_line_length);
+    unsigned pll = jtype_to_unsigned<unsigned int>(preferred_line_length);
+    const char* chars = env->GetStringUTFChars(str, 0);
+    if (!chars)
+      return 0;
+    using namespace Parma_Polyhedra_Library::IO_Operators;
+    std::string s = wrap_string(chars, ind, pfll, pll);
+    env->ReleaseStringUTFChars(str, chars);
+    return env->NewStringUTF(s.c_str());
   }
   CATCH_ALL;
   return 0;
diff --git a/interfaces/Java/parma_polyhedra_library/By_Reference.java b/interfaces/Java/parma_polyhedra_library/By_Reference.java
index 3b5bf77..dda3f27 100644
--- a/interfaces/Java/parma_polyhedra_library/By_Reference.java
+++ b/interfaces/Java/parma_polyhedra_library/By_Reference.java
@@ -1,5 +1,5 @@
 /* By_Reference Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Coefficient.java b/interfaces/Java/parma_polyhedra_library/Coefficient.java
index 137a1b2..e64c8a9 100644
--- a/interfaces/Java/parma_polyhedra_library/Coefficient.java
+++ b/interfaces/Java/parma_polyhedra_library/Coefficient.java
@@ -1,5 +1,5 @@
 /* Coefficient Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Complexity_Class.java b/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
index 7047c3e..3351a66 100644
--- a/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
+++ b/interfaces/Java/parma_polyhedra_library/Complexity_Class.java
@@ -1,5 +1,5 @@
 /* Complexity_Class enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Congruence.java b/interfaces/Java/parma_polyhedra_library/Congruence.java
index edb4605..96dea90 100644
--- a/interfaces/Java/parma_polyhedra_library/Congruence.java
+++ b/interfaces/Java/parma_polyhedra_library/Congruence.java
@@ -1,5 +1,5 @@
 /* Congruence Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A linear congruence.
 /*! \ingroup PPL_Java_interface
   An object of the class Congruence is an object represeting a congruence:
@@ -57,6 +60,9 @@ public class Congruence {
 	rhs = e2.clone();
     }
 
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
     //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Congruence_System.java b/interfaces/Java/parma_polyhedra_library/Congruence_System.java
index a72de8c..2ec1d71 100644
--- a/interfaces/Java/parma_polyhedra_library/Congruence_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Congruence_System.java
@@ -1,5 +1,5 @@
 /* Congruence_System Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A system of congruences.
 /*! \ingroup PPL_Java_interface
     An object of the class Congruence_System is a system of congruences,
@@ -32,6 +35,9 @@ public class Congruence_System extends java.util.Vector<Congruence> {
     public Congruence_System() {
     }
 
-    //! Returns a string representation of \p this
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
+    //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Constraint.java b/interfaces/Java/parma_polyhedra_library/Constraint.java
index b6e6c0c..f803506 100644
--- a/interfaces/Java/parma_polyhedra_library/Constraint.java
+++ b/interfaces/Java/parma_polyhedra_library/Constraint.java
@@ -1,5 +1,5 @@
 /* Constraint Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A linear equality or inequality.
 /*! \ingroup PPL_Java_interface
   An object of the class Constraint is either:
@@ -66,6 +69,9 @@ public class Constraint {
 	return kind;
     }
 
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
     //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Constraint_System.java b/interfaces/Java/parma_polyhedra_library/Constraint_System.java
index 1cc11ec..f053754 100644
--- a/interfaces/Java/parma_polyhedra_library/Constraint_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Constraint_System.java
@@ -1,5 +1,5 @@
 /* Constraint_System Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A system of constraints.
 /*! \ingroup PPL_Java_interface
     An object of the class Constraint_System is a system of constraints,
@@ -33,6 +36,9 @@ public class Constraint_System extends java.util.Vector<Constraint> {
     public Constraint_System() {
     }
 
-    //! Returns a string representation of \p this
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
+    //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
index 7558c34..d953de8 100644
--- a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
+++ b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Name.java
@@ -1,5 +1,5 @@
 /* MIP_Problem Control_Parameter_Name enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
index 3baac5b..222fc95 100644
--- a/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
+++ b/interfaces/Java/parma_polyhedra_library/Control_Parameter_Value.java
@@ -1,5 +1,5 @@
 /* MIP_Problem's Control_Parameter_Value enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java b/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
index be932c5..6915321 100644
--- a/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
+++ b/interfaces/Java/parma_polyhedra_library/Degenerate_Element.java
@@ -1,5 +1,5 @@
 /* Degenerate_Element enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
index 7e9b996..62a33a3 100644
--- a/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Domain_Error_Exception.java
@@ -1,5 +1,5 @@
 /* Domain_Error_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
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 aac8db8..6abf7ef 100644
--- a/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
+++ b/interfaces/Java/parma_polyhedra_library/Fake_Class_for_Doxygen.java
@@ -1,5 +1,5 @@
 /* Doxumentation for the Java interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -1134,7 +1134,7 @@ public class C_Polyhedron extends Polyhedron {
 
     //@} // Constructors Behaving as Conversion Operators
 
-    //! \name Other Methods.
+    //! \name Other Methods
     //@{
 
     /*! \brief
@@ -1185,7 +1185,7 @@ public class C_Polyhedron extends Polyhedron {
 */
 public class Pointset_Powerset_C_Polyhedron extends PPL_Object {
 
-    /*! \name Ad Hoc Functions for Pointset_Powerset domains */
+    //! \name Ad Hoc Functions for Pointset_Powerset domains
     /*@{*/
 
     /*! \brief
@@ -1247,7 +1247,7 @@ public class Pointset_Powerset_C_Polyhedron extends PPL_Object {
     */
     public native void pairwise_reduce();
 
-    /*@}*/ /* \name Ad Hoc Functions for Pointset_Powerset domains */
+    /*@}*/ /* Ad Hoc Functions for Pointset_Powerset domains */
 
 } // class Pointset_Powerset_C_Polyhedron
 
diff --git a/interfaces/Java/parma_polyhedra_library/Generator.java b/interfaces/Java/parma_polyhedra_library/Generator.java
index 43ebf9f..19189ba 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator.java
@@ -1,5 +1,5 @@
 /* Generator Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 import java.util.*;
 import javax.management.RuntimeErrorException;
 
@@ -130,6 +133,9 @@ public class Generator {
         this.gt = g.gt;
     }
 
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
     //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Generator_System.java b/interfaces/Java/parma_polyhedra_library/Generator_System.java
index 833ccb8..f3c292e 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator_System.java
@@ -1,5 +1,5 @@
 /* Generator_System Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A system of generators.
 /*! \ingroup PPL_Java_interface
     An object of the class Generator_System is a system of generators,
@@ -34,6 +37,9 @@ public class Generator_System extends java.util.Vector<Generator> {
     public Generator_System() {
     }
 
-    //! Returns a representation of \p this
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
+    //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Generator_Type.java b/interfaces/Java/parma_polyhedra_library/Generator_Type.java
index 11b62c8..0b16691 100644
--- a/interfaces/Java/parma_polyhedra_library/Generator_Type.java
+++ b/interfaces/Java/parma_polyhedra_library/Generator_Type.java
@@ -1,5 +1,5 @@
 /* Generator_Type enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
index e88f1f0..404f4b8 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator.java
@@ -1,5 +1,5 @@
 /* Grid Generator Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,6 +24,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 package parma_polyhedra_library;
 
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A grid line, parameter or grid point.
 /*! \ingroup PPL_Java_interface
   An object of the class Grid_Generator is one of the following:
@@ -31,7 +34,6 @@ package parma_polyhedra_library;
   - a parameter;
   - a grid_point.
 */
-
 public class Grid_Generator {
 
     //! The linear expression.
@@ -90,6 +92,9 @@ public class Grid_Generator {
 	return new Grid_Generator(e, c, Grid_Generator_Type.POINT);
     }
 
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
     //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
index d9184d3..c219be6 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator_System.java
@@ -1,5 +1,5 @@
 /* Grid Generator_System Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,6 +23,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A system of grid generators.
 /*! \ingroup PPL_Java_interface
     An object of the class Grid_Generator_System is a system of grid
@@ -34,6 +37,9 @@ public class Grid_Generator_System extends java.util.Vector<Grid_Generator> {
     public Grid_Generator_System() {
     }
 
-    //! Returns a representation of \p this
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
+    //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java b/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
index c024198..4ccae86 100644
--- a/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
+++ b/interfaces/Java/parma_polyhedra_library/Grid_Generator_Type.java
@@ -1,5 +1,5 @@
 /* Grid_Generator_Type enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java b/interfaces/Java/parma_polyhedra_library/IO.java
similarity index 55%
copy from interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
copy to interfaces/Java/parma_polyhedra_library/IO.java
index beafc30..1b83922 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
+++ b/interfaces/Java/parma_polyhedra_library/IO.java
@@ -1,5 +1,5 @@
-/* Linear_Expression_Variable class definition and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* IO Java class declaration and implementation.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,26 +22,26 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
-//! A linear expression built from a variable.
+//! A class collecting I/O functions.
 /*! \ingroup PPL_Java_interface */
-public class Linear_Expression_Variable
-extends Linear_Expression {
-
-    protected Variable arg;
-
-    //! Builds the object associated to the copy of \p v.
-    public Linear_Expression_Variable(Variable v) {
-	arg = new Variable(v.id());
-    }
-
-    //! Returns the variable representing the linear expression.
-    public Variable argument() {
-        return arg;
-    }
-
-    //! Builds a copy of this.
-    public Linear_Expression_Variable clone() {
-	return new Linear_Expression_Variable(new Variable(arg.id()));
-    }
+public class IO {
+    //! Utility function for the wrapping of lines of text.
+    /*!
+      \param str
+      The source string holding the lines to wrap.
+
+      \param indent_depth
+      The indentation depth.
+
+      \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.
+
+      \return
+      The wrapped string.
+    */
+    public static native String wrap_string(String str, int indent_depth,
+					    int preferred_first_line_length, int preferred_line_length);
 }
-
diff --git a/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java b/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
index 4eb98a9..b11d557 100644
--- a/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Invalid_Argument_Exception.java
@@ -1,5 +1,5 @@
 /* Invalid_Argument_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
index 95b62ee..982dc43 100644
--- a/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Length_Error_Exception.java
@@ -1,5 +1,5 @@
 /* Length_Error_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
index 1a8a26f..4d0e158 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression.java
@@ -1,5 +1,5 @@
 /* Linear_Expression Java declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A linear expression.
 /*! \ingroup PPL_Java_interface
   An object of the class Linear_Expression represents a linear expression
@@ -54,6 +57,9 @@ public abstract class Linear_Expression implements Cloneable {
     //! Returns a copy of the linear expression.
     public abstract Linear_Expression clone();
 
-    //! Return the string the represents \p this.
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
+    //! Returns a string representation of \p this.
     public native String toString();
 }
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
index 778212d..17f7707 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Coefficient.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Coefficient class definition and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
index 3b42e18..8127e88 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Difference.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Difference class definition and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
index 01e00d7..9741d9c 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Sum.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Sum class definition and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
index 5d7bfad..81e4467 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Times.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Times class definition and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
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 891dd8a..e384265 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Unary_Minus.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Unary_Minus class definition and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
index beafc30..63c1d1b 100644
--- a/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
+++ b/interfaces/Java/parma_polyhedra_library/Linear_Expression_Variable.java
@@ -1,5 +1,5 @@
 /* Linear_Expression_Variable class definition and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
index d4efe98..b2dcece 100644
--- a/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Logic_Error_Exception.java
@@ -1,5 +1,5 @@
 /* Logic_Error_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/MIP_Problem.java b/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
index 8b177e6..80e6dcc 100644
--- a/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
+++ b/interfaces/Java/parma_polyhedra_library/MIP_Problem.java
@@ -1,5 +1,5 @@
 /* MIP_Problem Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,6 +23,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 //! A Mixed Integer (linear) Programming problem.
 /*! \ingroup PPL_Java_interface
   An object of this class encodes a mixed integer (linear) programming problem.
@@ -52,7 +55,7 @@ package parma_polyhedra_library;
 */
 public class MIP_Problem extends PPL_Object {
 
-    /*! \name Constructors and Destructor */
+    //! \name Constructors and Destructor
     /*@{*/
 
     //! Builds a trivial MIP problem.
@@ -117,7 +120,7 @@ public class MIP_Problem extends PPL_Object {
 
     /*@}*/ /* Constructors and Destructor */
 
-    /*! \name Functions that Do Not Modify the MIP_Problem */
+    //! \name Functions that Do Not Modify the MIP_Problem
     /*@{*/
 
     //! Returns the maximum space dimension an MIP_Problem can handle.
@@ -141,6 +144,9 @@ public class MIP_Problem extends PPL_Object {
     //! Returns the optimization mode.
     public native Optimization_Mode optimization_mode();
 
+    //! Returns an ascii formatted internal representation of \p this.
+    public native String ascii_dump();
+
     //! Returns a string representation of \p this.
     public native String toString();
 
@@ -153,9 +159,9 @@ public class MIP_Problem extends PPL_Object {
     //! Checks if all the invariants are satisfied.
     public native boolean OK();
 
-    /*@}*/ /* \name Functions that Do Not Modify the MIP_Problem */
+    /*@}*/ /* Functions that Do Not Modify the MIP_Problem */
 
-    /*! \name Functions that May Modify the MIP_Problem */
+    //! \name Functions that May Modify the MIP_Problem
     /*@{*/
 
     //! Resets \p this to be equal to the trivial MIP problem.
@@ -220,9 +226,9 @@ public class MIP_Problem extends PPL_Object {
     //! Sets the optimization mode to \p mode.
     public native void set_optimization_mode(Optimization_Mode mode);
 
-    /*@}*/ /* \name Functions that May Modify the MIP_Problem */
+    /*@}*/ /* Functions that May Modify the MIP_Problem */
 
-    /*! \name Computing the Solution of the MIP_Problem */
+    //! \name Computing the Solution of the MIP_Problem
     /*@{*/
 
     //! Checks satisfiability of \p *this.
@@ -286,9 +292,9 @@ public class MIP_Problem extends PPL_Object {
     */
     public native void optimal_value(Coefficient num, Coefficient den);
 
-    /*@}*/ /* \name Computing the Solution of the MIP_Problem */
+    /*@}*/ /* Computing the Solution of the MIP_Problem */
 
-    /*! \name Querying/Setting Control Parameters */
+    //! \name Querying/Setting Control Parameters
     /*@{*/
 
     /*! \brief
@@ -302,7 +308,7 @@ public class MIP_Problem extends PPL_Object {
     */
     public native void set_control_parameter(Control_Parameter_Value value);
 
-    /*@}*/ /* \name Querying/Setting Control Parameters */
+    /*@}*/ /* Querying/Setting Control Parameters */
 
     //! Builds the underlying C++ object.
     private native void build_cpp_object(long dim);
diff --git a/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java b/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
index 7a7cbc4..59bf138 100644
--- a/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
+++ b/interfaces/Java/parma_polyhedra_library/MIP_Problem_Status.java
@@ -1,5 +1,5 @@
 /* MIP_Problem_Status enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Makefile.am b/interfaces/Java/parma_polyhedra_library/Makefile.am
index 1e48484..9505cb7 100644
--- a/interfaces/Java/parma_polyhedra_library/Makefile.am
+++ b/interfaces/Java/parma_polyhedra_library/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -41,6 +41,7 @@ parma_polyhedra_library.Generator \
 parma_polyhedra_library.Generator_System \
 parma_polyhedra_library.Grid_Generator \
 parma_polyhedra_library.Grid_Generator_System \
+parma_polyhedra_library.IO \
 parma_polyhedra_library.Linear_Expression \
 parma_polyhedra_library.MIP_Problem \
 parma_polyhedra_library.Parma_Polyhedra_Library
@@ -54,6 +55,7 @@ parma_polyhedra_library_Generator.h \
 parma_polyhedra_library_Generator_System.h \
 parma_polyhedra_library_Grid_Generator.h \
 parma_polyhedra_library_Grid_Generator_System.h \
+parma_polyhedra_library_IO.h \
 parma_polyhedra_library_Linear_Expression.h \
 parma_polyhedra_library_MIP_Problem.h \
 parma_polyhedra_library_Parma_Polyhedra_Library.h
@@ -78,6 +80,7 @@ $(srcdir)/Grid_Generator.java \
 $(srcdir)/Grid_Generator_System.java \
 $(srcdir)/Grid_Generator_Type.java \
 $(srcdir)/Invalid_Argument_Exception.java \
+$(srcdir)/IO.java \
 $(srcdir)/Length_Error_Exception.java \
 $(srcdir)/Linear_Expression.java \
 $(srcdir)/Linear_Expression_Coefficient.java \
@@ -138,7 +141,7 @@ java_cxx_headers.stamp: java_classes.stamp
 	echo timestamp >$@
 
 source_generation.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_classes_java.m4 \
 			> java_blob
@@ -176,6 +179,7 @@ Grid_Generator.class \
 Grid_Generator_System.class \
 Grid_Generator_Type.class \
 Invalid_Argument_Exception.class \
+IO.class \
 Length_Error_Exception.class \
 Linear_Expression.class \
 Linear_Expression_Coefficient.class \
diff --git a/interfaces/Java/parma_polyhedra_library/Makefile.in b/interfaces/Java/parma_polyhedra_library/Makefile.in
index 79b1b23..eb38d51 100644
--- a/interfaces/Java/parma_polyhedra_library/Makefile.in
+++ b/interfaces/Java/parma_polyhedra_library/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -78,12 +78,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -149,6 +148,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -157,6 +158,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -231,6 +233,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -286,6 +289,7 @@ parma_polyhedra_library.Generator \
 parma_polyhedra_library.Generator_System \
 parma_polyhedra_library.Grid_Generator \
 parma_polyhedra_library.Grid_Generator_System \
+parma_polyhedra_library.IO \
 parma_polyhedra_library.Linear_Expression \
 parma_polyhedra_library.MIP_Problem \
 parma_polyhedra_library.Parma_Polyhedra_Library
@@ -299,6 +303,7 @@ parma_polyhedra_library_Generator.h \
 parma_polyhedra_library_Generator_System.h \
 parma_polyhedra_library_Grid_Generator.h \
 parma_polyhedra_library_Grid_Generator_System.h \
+parma_polyhedra_library_IO.h \
 parma_polyhedra_library_Linear_Expression.h \
 parma_polyhedra_library_MIP_Problem.h \
 parma_polyhedra_library_Parma_Polyhedra_Library.h
@@ -324,6 +329,7 @@ $(srcdir)/Grid_Generator.java \
 $(srcdir)/Grid_Generator_System.java \
 $(srcdir)/Grid_Generator_Type.java \
 $(srcdir)/Invalid_Argument_Exception.java \
+$(srcdir)/IO.java \
 $(srcdir)/Length_Error_Exception.java \
 $(srcdir)/Linear_Expression.java \
 $(srcdir)/Linear_Expression_Coefficient.java \
@@ -400,6 +406,7 @@ Grid_Generator.class \
 Grid_Generator_System.class \
 Grid_Generator_Type.class \
 Invalid_Argument_Exception.class \
+IO.class \
 Length_Error_Exception.class \
 Linear_Expression.class \
 Linear_Expression_Coefficient.class \
@@ -608,7 +615,7 @@ java_cxx_headers.stamp: java_classes.stamp
 	echo timestamp >$@
 
 source_generation.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_classes_java.m4 \
 			> java_blob
diff --git a/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java b/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
index fd3439e..9c58eea 100644
--- a/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
+++ b/interfaces/Java/parma_polyhedra_library/Optimization_Mode.java
@@ -1,5 +1,5 @@
 /* Optimization_Mode enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java b/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
index cc2f6d6..0e5cde3 100644
--- a/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
+++ b/interfaces/Java/parma_polyhedra_library/Overflow_Error_Exception.java
@@ -1,5 +1,5 @@
 /* Overflow_Error_Exception Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/PPL_Object.java b/interfaces/Java/parma_polyhedra_library/PPL_Object.java
index bb9f149..93c3932 100644
--- a/interfaces/Java/parma_polyhedra_library/PPL_Object.java
+++ b/interfaces/Java/parma_polyhedra_library/PPL_Object.java
@@ -1,5 +1,5 @@
 /* PPL_Object Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Pair.java b/interfaces/Java/parma_polyhedra_library/Pair.java
index 694deda..649d3f9 100644
--- a/interfaces/Java/parma_polyhedra_library/Pair.java
+++ b/interfaces/Java/parma_polyhedra_library/Pair.java
@@ -1,5 +1,5 @@
 /* Pair Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java b/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
index f405d79..7dc0bcf 100644
--- a/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
+++ b/interfaces/Java/parma_polyhedra_library/Parma_Polyhedra_Library.java
@@ -1,5 +1,5 @@
 /* Parma_Polyhedra_Library Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,7 +22,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 /*!
   \defgroup PPL_Java_interface Java Language Interface
-  \brief
+
   The Parma Polyhedra Library comes equipped with an interface for the
   Java language.
 */
diff --git a/interfaces/Java/parma_polyhedra_library/Partial_Function.java b/interfaces/Java/parma_polyhedra_library/Partial_Function.java
index 821b7bc..76ce2ba 100644
--- a/interfaces/Java/parma_polyhedra_library/Partial_Function.java
+++ b/interfaces/Java/parma_polyhedra_library/Partial_Function.java
@@ -1,5 +1,5 @@
 /* Partial_Function Java interface declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java b/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
index 3948d16..3a4dbd7 100644
--- a/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
+++ b/interfaces/Java/parma_polyhedra_library/Poly_Con_Relation.java
@@ -1,5 +1,5 @@
 /* Poly_Con_Relation Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java b/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
index 09261ea..5225b36 100644
--- a/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
+++ b/interfaces/Java/parma_polyhedra_library/Poly_Gen_Relation.java
@@ -1,5 +1,5 @@
 /* Poly_Gen_Relation Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java b/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
index d3162f0..f5aa187 100644
--- a/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
+++ b/interfaces/Java/parma_polyhedra_library/Relation_Symbol.java
@@ -1,5 +1,5 @@
 /* Relation_Symbol enum declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Variable.java b/interfaces/Java/parma_polyhedra_library/Variable.java
index 86a841b..c73cddb 100644
--- a/interfaces/Java/parma_polyhedra_library/Variable.java
+++ b/interfaces/Java/parma_polyhedra_library/Variable.java
@@ -1,5 +1,5 @@
 /* Variable Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/parma_polyhedra_library/Variables_Set.java b/interfaces/Java/parma_polyhedra_library/Variables_Set.java
index 473b3c1..8360bb7 100644
--- a/interfaces/Java/parma_polyhedra_library/Variables_Set.java
+++ b/interfaces/Java/parma_polyhedra_library/Variables_Set.java
@@ -1,5 +1,5 @@
 /* Variables_Set Java class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
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 954e22a..9590a14 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
@@ -4,7 +4,7 @@ m4_divert(-1)
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -47,6 +47,9 @@ m4_include(`ppl_interface_generator_copyright')`'dnl
 
 package parma_polyhedra_library;
 
+import java.io.Writer;
+import java.io.IOException;
+
 /*! \brief
   Java class interfacing C++ m4_this_cplusplus_class
   \ingroup PPL_java_interface
@@ -66,7 +69,6 @@ package parma_polyhedra_library;
   \ingroup PPL_java_interface
 */
 public class C_Polyhedron extends Polyhedron {
-
 %<--%<--%<-- NNC_Polyhedron.java
 /* PPL Java interface: NNC_Polyhedron definition.
 m4_include(`ppl_interface_generator_copyright')`'dnl
@@ -109,22 +111,15 @@ m4_divert(-1)
 dnl m4_post_extra_class_code(Class, CPP_Class, Class_Kind)
 dnl Postfix extra code for each class.
 m4_define(`m4_post_extra_class_code', `dnl
-m4_replace_all_patterns_in_string($1,
-  m4_class_build_cpp_object1_code,
-  m4_pattern_list)`'dnl
-m4_replace_all_patterns_in_string($1,
-  m4_class_build_cpp_object2_code,
-  m4_pattern_list)`'dnl
-m4_replace_all_patterns_in_string($1,
-  m4_class_build_cpp_object3_code,
-  m4_pattern_list)`'dnl
+m4_replace_all_patterns($1, m4_class_build_cpp_object1_code)`'dnl
+m4_replace_all_patterns($1, m4_class_build_cpp_object2_code)`'dnl
+m4_replace_all_patterns($1, m4_class_build_cpp_object3_code)`'dnl
 m4_define(`m4_this_class', `m4_interface_class$1')`'dnl
 m4_define(`m4_this_class_kind', `m4_class_kind$1')
 %<--%<--%<-- m4_this_class`'.java
 }`'dnl
 m4_ifelse(m4_this_class, Polyhedron,
   `
-
 %<--%<--%<-- C_Polyhedron.java
 }
 
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 55393f9..f7bcea1 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
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 This m4 file contains the code for generating files <CLASS_NAME>.java
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -39,7 +39,7 @@ the definition is not yet implemented.
 m4_define(`m4_class_build_cpp_object1_code',
 `dnl
 %<--%<--%<-- @TOPOLOGY@@CLASS at .java
-    private native void build_cpp_object(@UBUILD_REPRESENT at _System cs);
+    private native void build_cpp_object(@!BUILD_REPRESENT at _System cs);
 
 ')
 
@@ -96,7 +96,7 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 `dnl
 %<--%<--%<-- @TOPOLOGY@@CLASS at .java
-    public @TOPOLOGY@@CLASS@(@UBUILD_REPRESENT at _System cs) {
+    public @TOPOLOGY@@CLASS@(@!BUILD_REPRESENT at _System cs) {
 	build_cpp_object(cs);
     }
 
@@ -137,24 +137,24 @@ m4_define(`ppl_ at CLASS@_ at DIMENSION@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-    public native @UGET_REPRESENT at _System @GET_REPRESENT at s();
+    public native @!CLASS_REPRESENT at _System @CLASS_REPRESENT at s();
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-    public native @UGET_REPRESENT at _System minimized_ at GET_REPRESENT@s();
+    public native @!CLASS_REPRESENT at _System minimized_ at CLASS_REPRESENT@s();
 
 ')
 
 m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-    public native Poly_ at UALT_RELATION_REPRESENT@_Relation relation_with(@URELATION_REPRESENT@ c);
+    public native Poly_@!A_RELATION_REPRESENT at _Relation relation_with(@!RELATION_REPRESENT@ c);
 
 ')
 
@@ -183,7 +183,7 @@ m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
     public native void
-      unconstrain_space_dimensions(Variables_Set to_be_constrained);
+      unconstrain_space_dimensions(Variables_Set to_be_unconstrained);
 
 ')
 
@@ -249,31 +249,31 @@ m4_define(`ppl_ at CLASS@_OK_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-    public native void add_ at ADD_REPRESENT@(@UADD_REPRESENT@ c);
+    public native void add_ at CLASS_REPRESENT@(@!CLASS_REPRESENT@ c);
 
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-    public native void refine_with_ at REFINE_REPRESENT@(@UREFINE_REPRESENT@ c);
+    public native void refine_with_ at REFINE_REPRESENT@(@!REFINE_REPRESENT@ c);
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-    public native void add_ at ADD_REPRESENT@s(@UADD_REPRESENT at _System c);
+    public native void add_ at CLASS_REPRESENT@s(@!CLASS_REPRESENT at _System c);
 
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-    public native void refine_with_ at REFINE_REPRESENT@s(@UREFINE_REPRESENT at _System c);
+    public native void refine_with_ at REFINE_REPRESENT@s(@!REFINE_REPRESENT at _System c);
 
 ')
 
@@ -389,7 +389,7 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 %<--%<--%<-- @CLASS at .java
     public native
 	void @LIMITEDBOUNDED at _@WIDENEXPN at _extrapolation_assign(@CLASS@ y,
-						 @UCONSTRAINER at _System cs,
+						 @!CONSTRAINER at _System cs,
 						 By_Reference<Integer> tp);
 
 ')
@@ -403,11 +403,11 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
     public native void
-    BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(@CLASS@ y);
+    BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(@CLASS@ y);
 
 ')
 
@@ -493,7 +493,7 @@ m4_define(`ppl_delete_ at CLASS@_iterator_code',
 m4_define(`ppl_ at CLASS@_get_disjunct_code',
 `dnl
 %<--%<--%<-- @CLASS at _Iterator.java
-  public native @CLASSTOPOLOGY@@DISJUNCT@ get_disjunct();
+  public native @DISJUNCT_TOPOLOGY@@DISJUNCT@ get_disjunct();
 
 ')
 
@@ -514,7 +514,7 @@ m4_define(`ppl_ at CLASS@_drop_disjuncts_code',
 m4_define(`ppl_ at CLASS@_add_disjunct_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-  public native void add_disjunct(@CLASSTOPOLOGY@@DISJUNCT@ j_disj);
+  public native void add_disjunct(@DISJUNCT_TOPOLOGY@@DISJUNCT@ j_disj);
 
 ')
 
@@ -528,7 +528,7 @@ m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
 m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
 `dnl
 %<--%<--%<-- @CLASS at _Iterator.java
-  public native void @ALT_INCDEC@();
+  public native void @A_INCDEC@();
 
 ')
 
@@ -549,7 +549,7 @@ m4_define(`ppl_ at CLASS@_constrains_code',
 m4_define(`ppl_ at CLASS@_ascii_dump_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
-  public native String ascii_dump();
+    public native String ascii_dump();
 
 ')
 
@@ -558,7 +558,7 @@ m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
 %<--%<--%<-- @TOPOLOGY@@CLASS at .java
 
   public static native
-    Pair <@TOPOLOGY@@CLASS@@COMMA@ Pointset_Powerset_NNC_Polyhedron >
+    Pair <@TOPOLOGY@@CLASS@|COMMA| Pointset_Powerset_NNC_Polyhedron >
       linear_ at PARTITION@(@TOPOLOGY@@CLASS@ p, @TOPOLOGY@@CLASS@ q);
 ')
 
@@ -566,7 +566,7 @@ m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code',
 `dnl
 %<--%<--%<-- @CLASS at .java
 
-  public static native Pair <@CLASS@@COMMA@ Pointset_Powerset_Grid >
+  public static native Pair <@CLASS@|COMMA| Pointset_Powerset_Grid >
       approximate_ at PARTITION@(@CLASS@ p,
                             @CLASS@ q,
                             By_Reference<Boolean> finite);
diff --git a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4 b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
index 8860fc7..560183c 100644
--- a/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
+++ b/interfaces/Java/ppl_interface_generator_java_procedure_generators.m4
@@ -4,7 +4,7 @@ dnl This m4 file defines the list of methods
 dnl for the Java interface; this includes:
 dnl - the list in the imported file and any Java specific methods.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Java/tests/C_Polyhedron_test1.java b/interfaces/Java/tests/C_Polyhedron_test1.java
index 0d2c2bc..76885fd 100644
--- a/interfaces/Java/tests/C_Polyhedron_test1.java
+++ b/interfaces/Java/tests/C_Polyhedron_test1.java
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron Java test class of the Parma Polyhedra Library Java
    interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/tests/MIP_Problem_test1.java b/interfaces/Java/tests/MIP_Problem_test1.java
index f7e738d..9ff3baf 100644
--- a/interfaces/Java/tests/MIP_Problem_test1.java
+++ b/interfaces/Java/tests/MIP_Problem_test1.java
@@ -1,6 +1,6 @@
 /* Test MIP_Problem Java test class of the Parma Polyhedra Library Java
    interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -233,8 +233,8 @@ static {
         expected_ov_ph.add_constraint(c_a_geq_1);
         ok = (ov_ph.equals(expected_ov_ph));
 
-        PPL_Test.println_if_noisy("Testing toString(): ");
-        PPL_Test.println_if_noisy(mip1.toString());
+        PPL_Test.println_if_noisy("Testing toString() and wrap_string(): ");
+        PPL_Test.println_if_noisy(IO.wrap_string(mip1.toString(), 4, 64, 60));
         PPL_Test.println_if_noisy();
 
         PPL_Test.print_if_noisy("Testing max_space_dimension(): ");
diff --git a/interfaces/Java/tests/Makefile.am b/interfaces/Java/tests/Makefile.am
index 1f50364..f9aeddc 100644
--- a/interfaces/Java/tests/Makefile.am
+++ b/interfaces/Java/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -77,7 +77,7 @@ check-local: ppl_java_generated_tests.java
 	$(java_test_environment) Parma_Polyhedra_Library_test1
 
 ppl_java_generated_tests.java: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_test_java.m4 \
 			> $@
diff --git a/interfaces/Java/tests/Makefile.in b/interfaces/Java/tests/Makefile.in
index 53ff509..e97e2db 100644
--- a/interfaces/Java/tests/Makefile.in
+++ b/interfaces/Java/tests/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -78,12 +78,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -150,6 +149,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -158,6 +159,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -232,6 +234,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -513,7 +516,7 @@ check-local: ppl_java_generated_tests.java
 	$(java_test_environment) Parma_Polyhedra_Library_test1
 
 ppl_java_generated_tests.java: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_java_test_java.m4 \
 			> $@
diff --git a/interfaces/Java/tests/NNC_Polyhedron_test1.java b/interfaces/Java/tests/NNC_Polyhedron_test1.java
index 6e570d1..cfde6bd 100644
--- a/interfaces/Java/tests/NNC_Polyhedron_test1.java
+++ b/interfaces/Java/tests/NNC_Polyhedron_test1.java
@@ -1,6 +1,6 @@
 /* Test NNC_Polyhedron Java test class of the Parma Polyhedra Library Java
    interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/tests/PPL_Test.java b/interfaces/Java/tests/PPL_Test.java
index 7ef918a..0e1d173 100644
--- a/interfaces/Java/tests/PPL_Test.java
+++ b/interfaces/Java/tests/PPL_Test.java
@@ -1,5 +1,5 @@
 /* Test helper class of the Parma Polyhedra Library Java interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java b/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
index e835abb..ebc1e69 100644
--- a/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
+++ b/interfaces/Java/tests/Parma_Polyhedra_Library_test1.java
@@ -1,6 +1,6 @@
 /* Parma_Polyhedra_Library Java test class of the
    Parma Polyhedra Library Java interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/tests/Test_Executor.java b/interfaces/Java/tests/Test_Executor.java
index 9c78c50..1050df7 100644
--- a/interfaces/Java/tests/Test_Executor.java
+++ b/interfaces/Java/tests/Test_Executor.java
@@ -1,5 +1,5 @@
 /* Test helper class of the Parma Polyhedra Library Java interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Java/tests/Test_Partial_Function.java b/interfaces/Java/tests/Test_Partial_Function.java
index 45a19da..b78de7f 100644
--- a/interfaces/Java/tests/Test_Partial_Function.java
+++ b/interfaces/Java/tests/Test_Partial_Function.java
@@ -1,6 +1,6 @@
 /* Test_Partial_Function Java class of the Parma Polyhedra Library Java
    interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
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 16687cd..2ab7060 100644
--- a/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
+++ b/interfaces/Java/tests/ppl_interface_generator_java_test_java.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -67,10 +67,8 @@ m4_divert(-1)
 dnl ==================================================================
 dnl Define a test statement for each domain, for m4_divert(1)
 dnl ==================================================================
-m4_pushdef(`m4_one_class_code', `dnl
-m4_replace_all_patterns_in_string($1,
-  m4_run_class_code,
-  m4_pattern_list)`'dnl
+m4_pushdef(`m4_one_class_code', `
+    test1.run_`'m4_interface_class$1`'_test();
 ')
 
 m4_divert`'dnl
@@ -83,10 +81,10 @@ dnl ==================================================================
 dnl Define code for all tests to check all methods, for m4_divert(2)
 dnl ==================================================================
 dnl Prefix extra code for each domain.
-m4_pushdef(`m4_pre_extra_class_code', `dnl
-m4_replace_all_patterns_in_string($1,
-  m4_run_class_test_code,
-  m4_pattern_list)`'dnl
+m4_pushdef(`m4_pre_extra_class_code', `
+    public boolean run_`'m4_interface_class$1`'_test() {
+    try {
+
 ')
 dnl Postfix extra code for each domain.
 m4_pushdef(`m4_post_extra_class_code', `dnl
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 13f5ec5..bb16730 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
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 This m4 file contains the code for generating ppl_java_generated_tests.java
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,18 +38,6 @@ Define here as empty any known schematic method macros for which
 the definition is not yet implemented.
 m4_define(`ppl_delete_ at CLASS@_iterator_code', `')
 
-m4_define(`m4_run_class_code',
-`dnl
-    test1.run_ at CLASS@_test();
-')
-
-m4_define(`m4_run_class_test_code',
-`dnl
-    public boolean run_ at CLASS@_test() {
-    try {
-
-')
-
     m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
 `dnl
 {
@@ -230,12 +218,12 @@ m4_define(`ppl_ at CLASS@_simplify_using_context_assign_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
     `dnl
 {
-    PPL_Test.print_if_noisy("Testing get_ at GET_REPRESENT@s: ");
+    PPL_Test.print_if_noisy("Testing get_ at CLASS_REPRESENT@s: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    @UGET_REPRESENT at _System gd_ at GET_REPRESENT@ = gd. at GET_REPRESENT@s();
+    @!CLASS_REPRESENT at _System gd_ at CLASS_REPRESENT@ = gd. at CLASS_REPRESENT@s();
     if (gd.OK())
         PPL_Test.println_if_noisy("Success");
     else
@@ -244,12 +232,12 @@ m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
     `dnl
 {
-    PPL_Test.print_if_noisy("Testing get_minimized_ at GET_REPRESENT@s: ");
+    PPL_Test.print_if_noisy("Testing get_minimized_ at CLASS_REPRESENT@s: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    @UGET_REPRESENT at _System gr = gd.minimized_ at GET_REPRESENT@s();
+    @!CLASS_REPRESENT at _System gr = gd.minimized_ at CLASS_REPRESENT@s();
     if (gd.OK())
         PPL_Test.println_if_noisy("Success");
     else
@@ -293,7 +281,7 @@ m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 {
     PPL_Test.print_if_noisy("Testing relation_with_ at RELATION_REPRESENT@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    Poly_ at UALT_RELATION_REPRESENT@_Relation
+    Poly_@!A_RELATION_REPRESENT at _Relation
         poly_relation = gd.relation_with(@RELATION_REPRESENT at 1);
     if (gd.OK())
         PPL_Test.println_if_noisy("Success");
@@ -303,12 +291,12 @@ m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
     `dnl
 {
-    PPL_Test.print_if_noisy("Testing add_ at ADD_REPRESENT@: ");
+    PPL_Test.print_if_noisy("Testing add_@!CLASS_REPRESENT@: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    gd.add_ at ADD_REPRESENT@(@ADD_REPRESENT at 1);
+    gd.add_ at CLASS_REPRESENT@(@CLASS_REPRESENT at 1);
     if (gd.OK())
         PPL_Test.println_if_noisy("Success");
     else
@@ -331,12 +319,12 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 
 ')
 
- m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+ m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
     `dnl
 {
-    PPL_Test.print_if_noisy("Testing add_ at ADD_REPRESENT@s: ");
+    PPL_Test.print_if_noisy("Testing add_ at CLASS_REPRESENT@s: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    gd.add_ at ADD_REPRESENT@s(@ADD_REPRESENT at s1);
+    gd.add_ at CLASS_REPRESENT@s(@CLASS_REPRESENT at s1);
     if (gd.OK())
         PPL_Test.println_if_noisy("Success");
     else
@@ -766,13 +754,13 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
     `dnl
 {
-    PPL_Test.print_if_noisy("Testing BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign: ");
+    PPL_Test.print_if_noisy("Testing BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign: ");
     @TOPOLOGY@@CLASS@ gd1 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     @TOPOLOGY@@CLASS@ gd2 = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    gd1.BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(gd2);
+    gd1.BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(gd2);
     if (gd1.OK())
         PPL_Test.println_if_noisy("Success");
     else
@@ -799,7 +787,7 @@ m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
 {
     PPL_Test.print_if_noisy("Testing @MEMBYTES@(): ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    PPL_Test.println_if_noisy("@UMEMBYTES@ of gd: ");
+    PPL_Test.println_if_noisy("@MEMBYTES@ of gd: ");
     PPL_Test.println_if_noisy(gd. at MEMBYTES@());
     if (gd.OK())
         PPL_Test.println_if_noisy("Success");
@@ -891,11 +879,11 @@ m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
     if ("@INCDEC@" == "increment") {
       @TOPOLOGY@@CLASS at _Iterator it_gd = gd.begin_iterator();
-      it_gd. at ALT_INCDEC@();
+      it_gd. at A_INCDEC@();
     }
     else {
       @TOPOLOGY@@CLASS at _Iterator it_gd = gd.end_iterator();
-      it_gd. at ALT_INCDEC@();
+      it_gd. at A_INCDEC@();
     }
     if (gd.OK())
         PPL_Test.println_if_noisy("Success");
@@ -970,8 +958,8 @@ m4_define(`ppl_ at CLASS@_add_disjunct_code',
 {
     PPL_Test.print_if_noisy("Testing add_disjunct: ");
     @TOPOLOGY@@CLASS@ gd = new @TOPOLOGY@@CLASS@(@CONSTRAINER at s1);
-    @CLASSTOPOLOGY@@DISJUNCT@ gd_disjunct
-        = new @CLASSTOPOLOGY@@DISJUNCT@(@CONSTRAINER at s1);
+    @DISJUNCT_TOPOLOGY@@DISJUNCT@ gd_disjunct
+        = new @DISJUNCT_TOPOLOGY@@DISJUNCT@(@CONSTRAINER at s1);
     gd.add_disjunct(gd_disjunct);
     if (gd.OK())
         PPL_Test.println_if_noisy("Success");
diff --git a/interfaces/Java/tests/ppl_java_tests_common b/interfaces/Java/tests/ppl_java_tests_common
index bba925b..3d15d7f 100644
--- a/interfaces/Java/tests/ppl_java_tests_common
+++ b/interfaces/Java/tests/ppl_java_tests_common
@@ -1,5 +1,5 @@
 /* Common code for the PPL Java interface tests.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Makefile.am b/interfaces/Makefile.am
index 48e7037..d345f54 100644
--- a/interfaces/Makefile.am
+++ b/interfaces/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/interfaces/Makefile.in b/interfaces/Makefile.in
index 3b33449..ae6bf21 100644
--- a/interfaces/Makefile.in
+++ b/interfaces/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,12 +80,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -164,6 +163,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -172,6 +173,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -246,6 +248,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
diff --git a/interfaces/OCaml/Makefile.am b/interfaces/OCaml/Makefile.am
index 11b4f94..26fce87 100644
--- a/interfaces/OCaml/Makefile.am
+++ b/interfaces/OCaml/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -45,18 +45,30 @@ README.ocaml
 
 ocamldir = $(pkglibdir)
 
+if HAVE_OCAMLC
+
+PPL_OCAMLC_LIBRARY = ppl_ocaml.cma
+
+endif HAVE_OCAMLC
+
+if HAVE_OCAMLOPT
+
+PPL_OCAMLOPT_LIBRARY = ppl_ocaml.cmxa ppl_ocaml.a
+
+endif HAVE_OCAMLOPT
+
 ocaml_DATA = \
-libppl_ocaml.a \
-ppl_ocaml.cma \
 ppl_ocaml.cmi \
 ppl_ocaml.mli \
-ppl_ocaml_globals.cmi
+ppl_ocaml_globals.cmi \
+$(PPL_OCAMLC_LIBRARY) \
+$(PPL_OCAMLOPT_LIBRARY)
 
 BUILT_SOURCES = \
 ppl_ocaml_domains.hh \
 ppl_ocaml_domains_cc_files.stamp
 
-noinst_LIBRARIES = libppl_ocaml.a
+pkglib_LIBRARIES = libppl_ocaml.a
 
 libppl_ocaml_a_SOURCES = \
 ppl_ocaml_common.defs.hh \
@@ -136,27 +148,41 @@ 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@
+ at required_instantiations_ocaml_cxx_objects@ \
+$(WATCHDOG_LIBRARY)
 
 libppl_ocaml_a_DEPENDENCIES = \
 @required_instantiations_ocaml_cxx_objects@
 
+
 OCAMLC_ENV = OCAMLRUNPARAM='l=1M'
 
 OCAMLC_COMPILE_FLAGS = \
--I +gmp -I .. -ccopt -g
+-I @mlgmp_dir@ -I .. -ccopt -g
 
 OCAMLC_LINK_FLAGS = \
 `echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
 
 OCAMLC_ROOT = @ocamlc_root@
 
+OCAMLOPT_ENV = $(OCAMLC_ENV)
+OCAMLOPT_COMPILE_FLAGS = $(OCAMLC_COMPILE_FLAGS)
+OCAMLOPT_LINK_FLAGS = $(OCAMLC_LINK_FLAGS)
+
 AM_CPPFLAGS = \
 -I$(OCAMLC_ROOT) \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/src \
 -I$(top_builddir)/src \
+$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 interface_generator_dependencies = \
@@ -172,29 +198,64 @@ ppl_ocaml.cma: ppl_ocaml_globals.cmo ppl_ocaml.cmo libppl_ocaml.a
 		$(OCAMLC_COMPILE_FLAGS) -cclib -lppl_ocaml \
 		$(OCAMLC_LINK_FLAGS)
 
+ppl_ocaml.cmxa: \
+	ppl_ocaml_globals.cmx ppl_ocaml_globals.o \
+	ppl_ocaml.cmx ppl_ocaml.o libppl_ocaml.a
+	$(OCAMLOPT_ENV) ocamlopt -o $@ -a \
+		ppl_ocaml_globals.cmx ppl_ocaml.cmx \
+		$(OCAMLOPT_COMPILE_FLAGS) -cclib -lppl_ocaml \
+		$(OCAMLOPT_LINK_FLAGS)
+
+ppl_ocaml.a: ppl_ocaml.cmxa
+	@if test -f $@; then :; else \
+	    rm -f ppl_ocaml.cmxa; \
+	    $(MAKE) $(AM_MAKEFLAGS) ppl_ocaml.cmxa; \
+	fi
+
 ppl_ocaml.cmo: ppl_ocaml.ml ppl_ocaml.cmi ppl_ocaml_globals.cmi
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) ppl_ocaml.ml
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) ppl_ocaml.ml
+
+ppl_ocaml.cmx: ppl_ocaml.ml ppl_ocaml.cmi ppl_ocaml_globals.cmi
+	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
+		ppl_ocaml.ml
+
+ppl_ocaml.o: ppl_ocaml.cmx
+	@if test -f $@; then :; else \
+	    rm -f ppl_ocaml.cmx; \
+	    $(MAKE) $(AM_MAKEFLAGS) ppl_ocaml.cmx; \
+	fi
 
 ppl_ocaml.cmi: ppl_ocaml.mli
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 ppl_ocaml_globals.cmo: ppl_ocaml_globals.ml ppl_ocaml_globals.cmi
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) \
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) \
 		$(srcdir)/ppl_ocaml_globals.ml
 
+ppl_ocaml_globals.cmx: \
+	ppl_ocaml_globals.ml ppl_ocaml_globals.cmi
+	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
+		$(srcdir)/ppl_ocaml_globals.ml
+
+ppl_ocaml_globals.o: ppl_ocaml_globals.cmx
+	@if test -f $@; then :; else \
+	    rm -f ppl_ocaml_globals.cmx; \
+	    $(MAKE) $(AM_MAKEFLAGS) ppl_ocaml_globals.cmx; \
+	fi
+
 ppl_ocaml_globals.cmi: ppl_ocaml_globals.mli
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 ppl_ocaml.ml: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_ml.m4 > $@
 
 ppl_ocaml.mli: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_mli.m4 > $@
 
 ppl_ocaml_domains_cc_files.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_cc_files.m4 \
                 > ppl_ocaml_cc_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_ocaml_cc_blob
@@ -203,7 +264,7 @@ ppl_ocaml_domains_cc_files.stamp: $(interface_generator_dependencies)
 	echo timestamp >$@
 
 ppl_ocaml_domains.hh: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_hh_files.m4 \
                 > ppl_ocaml_hh_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_ocaml_hh_blob
@@ -213,10 +274,16 @@ ppl_ocaml_domains.hh: $(interface_generator_dependencies)
 MOSTLYCLEANFILES = \
 @required_instantiations_ocaml_cxx_objects@ \
 ppl_ocaml.cma \
+ppl_ocaml.cmxa \
+ppl_ocaml.a \
 ppl_ocaml.cmi \
 ppl_ocaml.cmo \
+ppl_ocaml.cmx \
+ppl_ocaml.o \
 ppl_ocaml_globals.cmi \
-ppl_ocaml_globals.cmo
+ppl_ocaml_globals.cmo \
+ppl_ocaml_globals.cmx \
+ppl_ocaml_globals.o
 
 CLEANFILES = \
 @required_instantiations_ocaml_cxx_sources@ \
diff --git a/interfaces/OCaml/Makefile.in b/interfaces/OCaml/Makefile.in
index 07c4f79..06454ce 100644
--- a/interfaces/OCaml/Makefile.in
+++ b/interfaces/OCaml/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,19 +80,26 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/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 =
-LIBRARIES = $(noinst_LIBRARIES)
+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 = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(ocamldir)"
+pkglibLIBRARIES_INSTALL = $(INSTALL_DATA)
+LIBRARIES = $(pkglib_LIBRARIES)
 ARFLAGS = cru
 libppl_ocaml_a_AR = $(AR) $(ARFLAGS)
 am_libppl_ocaml_a_OBJECTS = ppl_ocaml_common.$(OBJEXT)
@@ -128,13 +135,6 @@ RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
 	install-pdf-recursive install-ps-recursive install-recursive \
 	installcheck-recursive installdirs-recursive pdf-recursive \
 	ps-recursive uninstall-recursive
-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 = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(ocamldir)"
 ocamlDATA_INSTALL = $(INSTALL_DATA)
 DATA = $(ocaml_DATA)
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
@@ -199,6 +199,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -207,6 +209,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -281,6 +284,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -341,18 +345,20 @@ OCaml_interface.dox \
 README.ocaml
 
 ocamldir = $(pkglibdir)
+ at HAVE_OCAMLC_TRUE@PPL_OCAMLC_LIBRARY = ppl_ocaml.cma
+ at HAVE_OCAMLOPT_TRUE@PPL_OCAMLOPT_LIBRARY = ppl_ocaml.cmxa ppl_ocaml.a
 ocaml_DATA = \
-libppl_ocaml.a \
-ppl_ocaml.cma \
 ppl_ocaml.cmi \
 ppl_ocaml.mli \
-ppl_ocaml_globals.cmi
+ppl_ocaml_globals.cmi \
+$(PPL_OCAMLC_LIBRARY) \
+$(PPL_OCAMLOPT_LIBRARY)
 
 BUILT_SOURCES = \
 ppl_ocaml_domains.hh \
 ppl_ocaml_domains_cc_files.stamp
 
-noinst_LIBRARIES = libppl_ocaml.a
+pkglib_LIBRARIES = libppl_ocaml.a
 libppl_ocaml_a_SOURCES = \
 ppl_ocaml_common.defs.hh \
 ppl_ocaml_common.inlines.hh \
@@ -431,25 +437,32 @@ 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@
+ at required_instantiations_ocaml_cxx_objects@ \
+$(WATCHDOG_LIBRARY)
 
 libppl_ocaml_a_DEPENDENCIES = \
 @required_instantiations_ocaml_cxx_objects@
 
 OCAMLC_ENV = OCAMLRUNPARAM='l=1M'
 OCAMLC_COMPILE_FLAGS = \
--I +gmp -I .. -ccopt -g
+-I @mlgmp_dir@ -I .. -ccopt -g
 
 OCAMLC_LINK_FLAGS = \
 `echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
 
 OCAMLC_ROOT = @ocamlc_root@
+OCAMLOPT_ENV = $(OCAMLC_ENV)
+OCAMLOPT_COMPILE_FLAGS = $(OCAMLC_COMPILE_FLAGS)
+OCAMLOPT_LINK_FLAGS = $(OCAMLC_LINK_FLAGS)
 AM_CPPFLAGS = \
 -I$(OCAMLC_ROOT) \
 -I$(top_srcdir)/interfaces \
 -I$(top_srcdir)/src \
 -I$(top_builddir)/src \
+$(WATCHDOG_INCLUDE_OPTIONS) \
 @extra_includes@
 
 interface_generator_dependencies = \
@@ -462,10 +475,16 @@ $(interface_generator_files)
 MOSTLYCLEANFILES = \
 @required_instantiations_ocaml_cxx_objects@ \
 ppl_ocaml.cma \
+ppl_ocaml.cmxa \
+ppl_ocaml.a \
 ppl_ocaml.cmi \
 ppl_ocaml.cmo \
+ppl_ocaml.cmx \
+ppl_ocaml.o \
 ppl_ocaml_globals.cmi \
-ppl_ocaml_globals.cmo
+ppl_ocaml_globals.cmo \
+ppl_ocaml_globals.cmx \
+ppl_ocaml_globals.o
 
 CLEANFILES = \
 @required_instantiations_ocaml_cxx_sources@ \
@@ -509,9 +528,35 @@ $(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
+install-pkglibLIBRARIES: $(pkglib_LIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)"
+	@list='$(pkglib_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    f=$(am__strip_dir) \
+	    echo " $(pkglibLIBRARIES_INSTALL) '$$p' '$(DESTDIR)$(pkglibdir)/$$f'"; \
+	    $(pkglibLIBRARIES_INSTALL) "$$p" "$(DESTDIR)$(pkglibdir)/$$f"; \
+	  else :; fi; \
+	done
+	@$(POST_INSTALL)
+	@list='$(pkglib_LIBRARIES)'; for p in $$list; do \
+	  if test -f $$p; then \
+	    p=$(am__strip_dir) \
+	    echo " $(RANLIB) '$(DESTDIR)$(pkglibdir)/$$p'"; \
+	    $(RANLIB) "$(DESTDIR)$(pkglibdir)/$$p"; \
+	  else :; fi; \
+	done
+
+uninstall-pkglibLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkglib_LIBRARIES)'; for p in $$list; do \
+	  p=$(am__strip_dir) \
+	  echo " rm -f '$(DESTDIR)$(pkglibdir)/$$p'"; \
+	  rm -f "$(DESTDIR)$(pkglibdir)/$$p"; \
+	done
 
-clean-noinstLIBRARIES:
-	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+clean-pkglibLIBRARIES:
+	-test -z "$(pkglib_LIBRARIES)" || rm -f $(pkglib_LIBRARIES)
 libppl_ocaml.a: $(libppl_ocaml_a_OBJECTS) $(libppl_ocaml_a_DEPENDENCIES) 
 	-rm -f libppl_ocaml.a
 	$(libppl_ocaml_a_AR) libppl_ocaml.a $(libppl_ocaml_a_OBJECTS) $(libppl_ocaml_a_LIBADD)
@@ -819,7 +864,7 @@ check: $(BUILT_SOURCES)
 all-am: Makefile $(LIBRARIES) $(DATA)
 installdirs: installdirs-recursive
 installdirs-am:
-	for dir in "$(DESTDIR)$(ocamldir)"; do \
+	for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(ocamldir)"; do \
 	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
 	done
 install: $(BUILT_SOURCES)
@@ -852,7 +897,7 @@ maintainer-clean-generic:
 	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
 clean: clean-recursive
 
-clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
+clean-am: clean-generic clean-libtool clean-pkglibLIBRARIES \
 	mostlyclean-am
 
 distclean: distclean-recursive
@@ -875,7 +920,7 @@ install-data-am: install-ocamlDATA
 
 install-dvi: install-dvi-recursive
 
-install-exec-am:
+install-exec-am: install-pkglibLIBRARIES
 
 install-html: install-html-recursive
 
@@ -907,25 +952,26 @@ ps: ps-recursive
 
 ps-am:
 
-uninstall-am: uninstall-ocamlDATA
+uninstall-am: uninstall-ocamlDATA uninstall-pkglibLIBRARIES
 
 .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
 	install-strip
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am check check-am clean clean-generic clean-libtool \
-	clean-noinstLIBRARIES ctags ctags-recursive distclean \
+	clean-pkglibLIBRARIES ctags ctags-recursive 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-ocamlDATA 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-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags tags-recursive uninstall uninstall-am uninstall-ocamlDATA
+	install-ocamlDATA install-pdf install-pdf-am \
+	install-pkglibLIBRARIES install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs installdirs-am \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-ocamlDATA uninstall-pkglibLIBRARIES
 
 
 ppl_ocaml.cma: ppl_ocaml_globals.cmo ppl_ocaml.cmo libppl_ocaml.a
@@ -934,29 +980,64 @@ ppl_ocaml.cma: ppl_ocaml_globals.cmo ppl_ocaml.cmo libppl_ocaml.a
 		$(OCAMLC_COMPILE_FLAGS) -cclib -lppl_ocaml \
 		$(OCAMLC_LINK_FLAGS)
 
+ppl_ocaml.cmxa: \
+	ppl_ocaml_globals.cmx ppl_ocaml_globals.o \
+	ppl_ocaml.cmx ppl_ocaml.o libppl_ocaml.a
+	$(OCAMLOPT_ENV) ocamlopt -o $@ -a \
+		ppl_ocaml_globals.cmx ppl_ocaml.cmx \
+		$(OCAMLOPT_COMPILE_FLAGS) -cclib -lppl_ocaml \
+		$(OCAMLOPT_LINK_FLAGS)
+
+ppl_ocaml.a: ppl_ocaml.cmxa
+	@if test -f $@; then :; else \
+	    rm -f ppl_ocaml.cmxa; \
+	    $(MAKE) $(AM_MAKEFLAGS) ppl_ocaml.cmxa; \
+	fi
+
 ppl_ocaml.cmo: ppl_ocaml.ml ppl_ocaml.cmi ppl_ocaml_globals.cmi
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) ppl_ocaml.ml
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) ppl_ocaml.ml
+
+ppl_ocaml.cmx: ppl_ocaml.ml ppl_ocaml.cmi ppl_ocaml_globals.cmi
+	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
+		ppl_ocaml.ml
+
+ppl_ocaml.o: ppl_ocaml.cmx
+	@if test -f $@; then :; else \
+	    rm -f ppl_ocaml.cmx; \
+	    $(MAKE) $(AM_MAKEFLAGS) ppl_ocaml.cmx; \
+	fi
 
 ppl_ocaml.cmi: ppl_ocaml.mli
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 ppl_ocaml_globals.cmo: ppl_ocaml_globals.ml ppl_ocaml_globals.cmi
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) \
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) \
 		$(srcdir)/ppl_ocaml_globals.ml
 
+ppl_ocaml_globals.cmx: \
+	ppl_ocaml_globals.ml ppl_ocaml_globals.cmi
+	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) \
+		$(srcdir)/ppl_ocaml_globals.ml
+
+ppl_ocaml_globals.o: ppl_ocaml_globals.cmx
+	@if test -f $@; then :; else \
+	    rm -f ppl_ocaml_globals.cmx; \
+	    $(MAKE) $(AM_MAKEFLAGS) ppl_ocaml_globals.cmx; \
+	fi
+
 ppl_ocaml_globals.cmi: ppl_ocaml_globals.mli
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
 
 ppl_ocaml.ml: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_ml.m4 > $@
 
 ppl_ocaml.mli: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_mli.m4 > $@
 
 ppl_ocaml_domains_cc_files.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_cc_files.m4 \
                 > ppl_ocaml_cc_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_ocaml_cc_blob
@@ -965,7 +1046,7 @@ ppl_ocaml_domains_cc_files.stamp: $(interface_generator_dependencies)
 	echo timestamp >$@
 
 ppl_ocaml_domains.hh: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_ocaml_hh_files.m4 \
                 > ppl_ocaml_hh_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_ocaml_hh_blob
diff --git a/interfaces/OCaml/OCaml_interface.dox b/interfaces/OCaml/OCaml_interface.dox
index 989471e..bc786da 100644
--- a/interfaces/OCaml/OCaml_interface.dox
+++ b/interfaces/OCaml/OCaml_interface.dox
@@ -1,5 +1,5 @@
 /* Documentation for the OCaml interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,7 +22,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 /*!
   \defgroup PPL_OCaml_interface OCaml Language Interface
-  \brief
+
   The Parma Polyhedra Library comes equipped with an interface for the
   OCaml language.
 */
@@ -109,7 +109,7 @@ on the use of the OCaml interface.
   ppl_new_C_Polyhedron_from_space_dimension,
   ppl_new_C_Polyhedron_from_C_Polyhedron,
   ppl_new_C_Polyhedron_from_constraints,
-  ppl_new_C_Polyhedron_from_generators,
+  ppl_new_C_Polyhedron_from_generators.
 \endcode
   These functions will return a new handle for referencing a PPL polyhedron.
 - For a PPL object with space dimension \p k,
@@ -133,11 +133,11 @@ on the use of the OCaml interface.
   intended version(s) of the library are ever used.
   Functions
 \code
-  ppl_version_major/1,
-  ppl_version_minor/1,
-  ppl_version_revision/1,
-  ppl_version_beta/1,
-  ppl_version/1,
+  ppl_version_major,
+  ppl_version_minor,
+  ppl_version_revision,
+  ppl_version_beta,
+  ppl_version,
   ppl_banner.
 \endcode
   allow run-time checking of information about the version being used.
@@ -149,66 +149,85 @@ Below is a short description of many of the interface functions.
 For full definitions of terminology used here, see the main PPL user manual.
 
 \anchor di_functions
-<H3> Domain Independent Functions </H3>
+<H1> Domain Independent Functions </H1>
 
 First we describe some domain independent functions
 included with all instantiations of the OCaml interfaces.
 
-<H2><CODE> ppl_version_major</CODE></H2>
+<H2><CODE> ppl_version_major </CODE></H2>
   Returns the major number of the PPL version.
 
-<H2><CODE> ppl_version_minor</CODE></H2>
+<H2><CODE> ppl_version_minor </CODE></H2>
   Returns the minor number of the PPL version.
 
-<H2><CODE> ppl_version_revision</CODE></H2>
+<H2><CODE> ppl_version_revision </CODE></H2>
   Returns the revision number of the PPL version.
 
-<H2><CODE> ppl_version_beta</CODE></H2>
+<H2><CODE> ppl_version_beta </CODE></H2>
   Returns the beta number of the PPL version.
 
-<H2><CODE> ppl_version</CODE></H2>
+<H2><CODE> ppl_version </CODE></H2>
   Returns the PPL version.
 
-<H2><CODE> ppl_banner</CODE></H2>
+<H2><CODE> ppl_banner </CODE></H2>
   Returns 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.
 
-<H2><CODE> ppl_Coefficient_is_bounded</CODE></H2>
-  Returns true if and only if the Coefficients in the C++ interface
-  are bounded.
-
-<H2><CODE> ppl_Coefficient_max</CODE></H2>
-  Returns the maximum coefficient the C++ interface can handle.
-
-<H2><CODE> ppl_Coefficient_min</CODE></H2>
-  Returns the minimum coefficient the C++ interface can handle.
+<H2><CODE> ppl_max_space_dimension </CODE></H2>
+  Returns the maximum space dimension the C++ interface can handle.
 
-<H2><CODE> ppl_max_space_dimension</CODE></H2>
-  Returns the maximum space dimension this library can handle.
-
-<H2><CODE> ppl_set_timeout_exception_atom name </CODE></H2>
-   Sets the term to be thrown by timeout exceptions
-   to <CODE>name</CODE>.
-   The default value is <CODE>time_out</CODE>.
-
-<H2><CODE> ppl_timeout_exception_atom</CODE></H2>
-   Returns the name to be thrown by timeout exceptions
+<H2><CODE> ppl_Coefficient_is_bounded </CODE></H2>
+  Returns true if and only if the coefficients in the C++ interface
+  are bounded.
 
-<H2><CODE> ppl_set_timeout c_unsigned </CODE></H2>
-   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.
+<H2><CODE> ppl_Coefficient_max </CODE></H2>
+  If the coefficients are bounded, returns the maximum coefficient
+  the C++ interface can handle.
+
+<H2><CODE> ppl_Coefficient_min </CODE></H2>
+  If the coefficients are bounded, returns the minimum coefficient
+  the C++ interface can handle.
+
+<H2><CODE> ppl_io_wrap_string source_string indent_depth
+             preferred_first_line_length preferred_line_length </CODE></H2>
+  Utility function for the wrapping of lines of text.
+  The function wraps the lines of text stored in its first string argument
+  according to the next three integer arguments, which are interpreted as
+  the indentation depth, the preferred length for the first line and the
+  preferred length for all the other lines, respecively; it returns a
+  string containing the wrapped text.
+
+<H2><CODE> ppl_set_timeout hsecs </CODE></H2>
+   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, 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.
 
 <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_rounding_for_PPL </CODE></H2>
+   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 <CODE>restore_pre_PPL_rounding</CODE>
+   has previously been called.
+
+<H2><CODE> ppl_restore_pre_PPL_rounding </CODE></H2>
+   Sets the FPU rounding mode as it was before initialization of the PPL.
+   After calling this function it is absolutely necessary to call
+   <CODE>set_rounding_for_PPL</CODE> before using any PPL abstractions
+   based on floating point numbers.
+   This is performed automatically at finalization-time.
 
 <BR>
 
 \anchor OCaml_mip_functions
-<H3> MIP Functions </H3>
+<H1> MIP Functions </H1>
 Here we describe some functions available for PPL objects
 defining mixed integer (linear) programming problems.
 
@@ -220,12 +239,22 @@ defining mixed integer (linear) programming problems.
    objective function \f$0\f$ and optimization mode <CODE>max</CODE>.
 
 <H2><CODE>
-  ppl_new_MIP_Problem constraint_system lin_expr optimization_mode
+  ppl_new_MIP_Problem dimension constraint_system lin_expr optimization_mode
 </CODE></H2>
-   Return a handle to 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>.
+   Return a handle to an MIP Problem \f$\mathrm{MIP}\f$ having space
+   dimension <CODE>dimension</CODE>, a feasible region represented by
+   <CODE>constraint_system</CODE>, objective function <CODE>lin_expr</CODE>
+   and optimization mode <CODE>optimization_mode</CODE>.
+
+<H2><CODE>
+  ppl_MIP_Problem_get_control_parameter handle param_name
+</CODE></H2>
+   Returns the value of the control parameter named <CODE>param_name</CODE>.
+
+<H2><CODE>
+  ppl_MIP_Problem_set_control_parameter handle param_value
+</CODE></H2>
+   Sets control parameter value <CODE>param_value</CODE>.
 
 <H2><CODE>
   ppl_MIP_Problem_swap handle_1 handle_2
@@ -363,14 +392,19 @@ defining mixed integer (linear) programming problems.
    satisfies all its implementation invariants and false,
    otherwise.  Useful for debugging purposes.
 
+<H2><CODE>
+  ppl_MIP_Problem_ascii_dump handle
+</CODE></H2>
+   Returns a string containing an ASCII dump of the internal representation
+   of the MIP_Problem referenced by <CODE>handle</CODE>. Useful for
+   debugging purposes.
+
 <BR>
 
 \anchor main_OCaml_C_polyhedron_functions
-<H3> C_Polyhedron Functions </H3>
+<H1> C_Polyhedron Functions </H1>
 Here we describe the main functions available for PPL objects
-defining convex and closed polyhedra. A list of the available
-PPL functions for convex polyhedra for the OCaml interface is given in
-Section \ref OCamldoc_Documentation "OCamldoc Documentation".
+defining convex and closed polyhedra.
 
 <H2><CODE>
   ppl_new_C_Polyhedron_from_space_dimension space_dimension universe_or_empty
@@ -912,19 +946,39 @@ This is the inverse transformation to that for <CODE>ppl_affine_image</CODE>.
    Mapping the Dimensions of the Vector Space}
    of the main PPL user manual.
 
+<H2><CODE>
+  ppl_Polyhedron_ascii_dump handle
+</CODE></H2>
+   Returns a string containing an ASCII dump of the internal representation
+   of the polyhedron referenced by <CODE>handle</CODE>. Useful for
+   debugging purposes.
+
 
 \anchor OCamldoc_Documentation
-\latexonly
-\input ocamldoc.tex
-\endlatexonly
-\htmlonly
 <H1>OCamldoc Documentation</H1>
 
+\htmlonly
 For a list of the PPL functions available to the generated domains
 for the OCaml interface, see the
 <A HREF="ocamldoc/index.html">OCamldoc-generated documentation</a>.
+<P>
 \endhtmlonly
 
+<strong>NOTE:</strong>
+the complete documentation for module <code>Ppl_ocaml</code>, including
+all the types and functions that were enabled at configuration time, is
+only available in the <em>configuration dependent</em> OCamldoc
+documentation.
+The configuration independent OCamldoc documentation only contains
+those types and functions that are always enabled, which are grouped
+into module <code>Ppl_ocaml_globals</code>.
+Also note that module <code>Ppl_ocaml</code> automatically includes
+module <code>Ppl_ocaml_globals</code>.
+
+\latexonly
+\input ocamldoc.tex
+\endlatexonly
+
 \anchor OI_Compilation
 <H1>Compilation and Installation</H1>
 
diff --git a/interfaces/OCaml/README.ocaml b/interfaces/OCaml/README.ocaml
index 8e4ad3d..f544932 100644
--- a/interfaces/OCaml/README.ocaml
+++ b/interfaces/OCaml/README.ocaml
@@ -24,7 +24,7 @@ architecture and on the system/distribution conventions.
 The OCaml compilation command for `my_program.ml' should then be
 something like:
 
-$ ocamlc -o my_program.cmo -c -I +gmp -I <PPL-OCaml libdir>/ppl my_program.ml
+$ ocamlc -o my_program.cmo -c -I +gmp -I <PPL-OCaml libdir> my_program.ml
 
 A possible link command is the following (we refer the reader to the
 Objective Caml documentation for a reference to the many available
@@ -33,3 +33,12 @@ linking options):
 $ ocamlc -o my_program -custom -cc g++ -I +gmp -I <PPL-OCaml libdir> \
     -cclib -lppl -cclib -lm -cclib -lgmpxx -cclib -lgmp \
     ppl_ocaml.cma gmp.cma my_program.cmo
+
+If native compilation of OCaml code is supported by the build platform,
+then `my_program.ml' can also be compiled/linked to native code as follows:
+
+$ ocamlopt -o my_program.cmx \
+    -c -I +gmp -I <PPL-OCaml libdir> my_program.ml
+$ ocamlopt -o my_program.opt -cc g++ -I +gmp -I <PPL-OCaml libdir> \
+    -cclib -lppl -cclib -lm -cclib -lgmpxx -cclib -lgmp \
+    ppl_ocaml.cmxa gmp.cmxa my_program.cmx
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
index 91e7f99..00da21d 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_code.m4
@@ -5,7 +5,7 @@ This m4 file contains the program implementation code for generating the
 files ppl_ocaml_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -43,12 +43,12 @@ namespace Interfaces {
 
 namespace OCaml {
 
-struct custom_operations @CLASS at _custom_operations = {
-  "it.unipr.cs.ppl" "." PPL_VERSION "." "@CLASS@"@COMMA@
-  custom_ at CLASS@_finalize at COMMA@
-  custom_compare_default at COMMA@
-  custom_hash_default at COMMA@
-  custom_serialize_default at COMMA@
+struct custom_operations m4_current_interface`'_custom_operations = {
+  "it.unipr.cs.ppl" "." PPL_VERSION "." "m4_current_interface"|COMMA|
+  custom_`'m4_current_interface`'_finalize|COMMA|
+  custom_compare_default|COMMA|
+  custom_hash_default|COMMA|
+  custom_serialize_default|COMMA|
   custom_deserialize_default
 };
 
@@ -66,10 +66,10 @@ extern "C"
 CAMLprim value
 ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(value d, value caml_de) try {
   CAMLparam2(d, caml_de);
-  int dd = Int_val(d);
-  check_int_is_unsigned(dd);
+  dimension_type dd = value_to_ppl_dimension(d);
   Degenerate_Element ppl_de = build_ppl_Degenerate_Element(caml_de);
-  CAMLreturn(val_p_ at CLASS@(*new @TOPOLOGY@@CPP_CLASS@(dd, ppl_de)));
+  @TOPOLOGY@@CPP_CLASS@& ppl_value = *new @TOPOLOGY@@CPP_CLASS@(dd, ppl_de);
+  CAMLreturn(unregistered_value_p_ at CLASS@(ppl_value));
 }
 CATCH_ALL
 
@@ -81,8 +81,9 @@ extern "C"
 CAMLprim value
 ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s(value cl) try {
   CAMLparam1(cl);
-  @UBUILD_REPRESENT at _System cs = build_ppl_ at UBUILD_REPRESENT@_System(cl);
-  CAMLreturn(val_p_ at CLASS@(*new @TOPOLOGY@@CPP_CLASS@(cs)));
+  @!BUILD_REPRESENT at _System cs = build_ppl_@!BUILD_REPRESENT at _System(cl);
+  @TOPOLOGY@@CPP_CLASS@& ppl_value = *new @TOPOLOGY@@CPP_CLASS@(cs);
+  CAMLreturn(unregistered_value_p_ at CLASS@(ppl_value));
 }
 CATCH_ALL
 
@@ -95,9 +96,9 @@ CAMLprim value
 ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@(value ph, value c) try {
   CAMLparam2(ph, c);
   const @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  @URELATION_REPRESENT@ ppl_c = build_ppl_ at URELATION_REPRESENT@(c);
-  Poly_ at UALT_RELATION_REPRESENT@_Relation r = pph.relation_with(ppl_c);
-  CAMLreturn(build_ocaml_poly_ at ALT_RELATION_REPRESENT@_relation(r));
+  @!RELATION_REPRESENT@ ppl_c = build_ppl_@!RELATION_REPRESENT@(c);
+  Poly_@!A_RELATION_REPRESENT at _Relation r = pph.relation_with(ppl_c);
+  CAMLreturn(build_ocaml_poly_ at A_RELATION_REPRESENT@_relation(r));
 }
 CATCH_ALL
 
@@ -111,9 +112,7 @@ ppl_ at CLASS@_ at DIMENSION@(value ph) try {
   CAMLparam1(ph);
   const @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   dimension_type d = pph. at DIMENSION@();
-  if (d > INT_MAX)
-    abort();
-  CAMLreturn(Val_int(d));
+  CAMLreturn(ppl_dimension_to_value(d));
 }
 CATCH_ALL
 
@@ -135,12 +134,12 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_ at SIMPLIFY@(value ph) try {
   CAMLparam1(ph);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   pph. at SIMPLIFY@();
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -160,31 +159,31 @@ CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `dnl
 extern "C"
-void
-ppl_ at CLASS@_add_ at ADD_REPRESENT@(value ph, value c) try {
+CAMLprim value
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@(value ph, value c) try {
   CAMLparam2(ph, c);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  @UADD_REPRESENT@ pc = build_ppl_ at UADD_REPRESENT@(c);
-  pph.add_ at ADD_REPRESENT@(pc);
-  CAMLreturn0;
+  @!CLASS_REPRESENT@ pc = build_ppl_@!CLASS_REPRESENT@(c);
+  pph.add_ at CLASS_REPRESENT@(pc);
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `dnl
 extern "C"
-void
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s(value ph, value cs) try {
+CAMLprim value
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(value ph, value cs) try {
   CAMLparam2(ph, cs);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  @UADD_REPRESENT at _System pcs = build_ppl_ at UADD_REPRESENT@_System(cs);
-  pph.add_ at ADD_REPRESENT@s(pcs);
-  CAMLreturn0;
+  @!CLASS_REPRESENT at _System pcs = build_ppl_@!CLASS_REPRESENT at _System(cs);
+  pph.add_ at CLASS_REPRESENT@s(pcs);
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -193,13 +192,13 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@(value ph, value c) try {
   CAMLparam2(ph, c);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  @UREFINE_REPRESENT@ pc = build_ppl_ at UREFINE_REPRESENT@(c);
+  @!REFINE_REPRESENT@ pc = build_ppl_@!REFINE_REPRESENT@(c);
   pph.refine_with_ at REFINE_REPRESENT@(pc);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -208,13 +207,13 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s(value ph, value cs) try {
   CAMLparam2(ph, cs);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  @UREFINE_REPRESENT at _System pcs = build_ppl_ at UREFINE_REPRESENT@_System(cs);
+  @!REFINE_REPRESENT at _System pcs = build_ppl_@!REFINE_REPRESENT at _System(cs);
   pph.refine_with_ at REFINE_REPRESENT@s(pcs);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -251,13 +250,13 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_ at BINOP@_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_ at BINOP@(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. at BINOP@(pph2);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -280,15 +279,14 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@
 (value ph, value d) try {
   CAMLparam2(ph, d);
-  int dd = Int_val(d);
-  check_int_is_unsigned(dd);
+  dimension_type dd = value_to_ppl_dimension(d);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   pph.add_space_dimensions_and_embed(dd);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -297,12 +295,12 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_remove_space_dimensions_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_remove_space_dimensions(value ph, value caml_vset) try {
   CAMLparam2(ph, caml_vset);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   pph.remove_space_dimensions(build_ppl_Variables_Set(caml_vset));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -311,14 +309,13 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_remove_higher_space_dimensions_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_remove_higher_space_dimensions(value ph, value d) try {
   CAMLparam2(ph, d);
-  int dd = Int_val(d);
-  check_int_is_unsigned(dd);
+  dimension_type dd = value_to_ppl_dimension(d);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   pph.remove_higher_space_dimensions(dd);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -327,7 +324,7 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_fold_space_dimensions_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_fold_space_dimensions
 (value ph, value caml_vset, value caml_dim) try {
   CAMLparam1(ph);
@@ -335,7 +332,7 @@ ppl_ at CLASS@_fold_space_dimensions
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   Variables_Set ppl_vset;
   if (Int_val(caml_vset) == 0)
-    CAMLreturn0;
+    CAMLreturn(Val_unit);
   while (true) {
     ppl_vset.insert(Int_val(Field(caml_vset, 0)));
     if (Int_val(Field(caml_vset, 1)) == 0)
@@ -343,7 +340,7 @@ ppl_ at CLASS@_fold_space_dimensions
     caml_vset = Field(caml_vset, 1);
   }
   pph.fold_space_dimensions(ppl_vset, Variable(ppl_dim));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -352,20 +349,21 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_map_space_dimensions(value ph, value caml_mapped_dims) try {
   CAMLparam2(ph, caml_mapped_dims);
+  CAMLlocal1(head);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   Partial_Function pfunc;
-  while (caml_mapped_dims != Val_int(0)) {
-    int domain_value = Int_val(Field(Field(caml_mapped_dims, 0),0));
-    int codomain_value = Int_val(Field(Field(caml_mapped_dims, 0),1));
-    pfunc.insert(domain_value,
-		 codomain_value);
+  while (caml_mapped_dims != Val_emptylist) {
+    head = Field(caml_mapped_dims, 0);
+    dimension_type domain_dim = value_to_ppl_dimension(Field(head, 0));
+    dimension_type codomain_dim = value_to_ppl_dimension(Field(head, 1));
+    pfunc.insert(domain_dim, codomain_dim);
     caml_mapped_dims = Field(caml_mapped_dims, 1);
   }
   pph.map_space_dimensions(pfunc);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -375,43 +373,42 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_expand_space_dimension_code',
 `dnl
 extern "C"
-void
-ppl_ at CLASS@_expand_space_dimension(value ph,
-						     value var_index,
-						     value m) try {
+CAMLprim value
+ppl_ at CLASS@_expand_space_dimension
+(value ph, value var_index, value m) try {
   CAMLparam3(ph, var_index, m);
-  int c_m = Int_val(m);
-  check_int_is_unsigned(c_m);
+  Variable var = build_ppl_Variable(var_index);
+  dimension_type c_m = value_to_ppl_dimension(m);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  pph.expand_space_dimension(build_ppl_Variable(var_index), c_m);
-  CAMLreturn0;
+  pph.expand_space_dimension(var, c_m);
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 ')
 
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
 extern "C"
 CAMLprim value
-ppl_ at CLASS@_get_ at GET_REPRESENT@s(value ph) try {
+ppl_ at CLASS@_get_ at CLASS_REPRESENT@s(value ph) try {
   CAMLparam1(ph);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  CAMLreturn(build_ocaml_ at GET_REPRESENT@_system(pph. at GET_REPRESENT@s()));
+  CAMLreturn(build_ocaml_ at CLASS_REPRESENT@_system(pph. at CLASS_REPRESENT@s()));
 }
 CATCH_ALL
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `dnl
 extern "C"
 CAMLprim value
-ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s(value ph) try {
+ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s(value ph) try {
   CAMLparam1(ph);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  CAMLreturn(build_ocaml_ at GET_REPRESENT@_system(pph.minimized_ at GET_REPRESENT@s()));
+  CAMLreturn(build_ocaml_ at CLASS_REPRESENT@_system(pph.minimized_ at CLASS_REPRESENT@s()));
 }
 CATCH_ALL
 
@@ -433,12 +430,12 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimension_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_unconstrain_space_dimension(value ph, value var) try {
   CAMLparam2(ph, var);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   pph.unconstrain(build_ppl_Variable(var));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -447,12 +444,12 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_unconstrain_space_dimensions(value ph, value caml_vset) try {
   CAMLparam2(ph, caml_vset);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   pph.unconstrain(build_ppl_Variables_Set(caml_vset));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -461,7 +458,7 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_bounded_ at AFFIMAGE@(value ph, value var, value lb_expr,
 				    value ub_expr, value coeff) try {
   CAMLparam5(ph, var, lb_expr, ub_expr, coeff);
@@ -470,7 +467,7 @@ ppl_ at CLASS@_bounded_ at AFFIMAGE@(value ph, value var, value lb_expr,
 			   build_ppl_Linear_Expression(lb_expr),
  			   build_ppl_Linear_Expression(ub_expr),
  			   build_ppl_Coefficient(coeff));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -479,7 +476,7 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_ at AFFIMAGE@
 (value ph, value var, value expr, value coeff) try {
   CAMLparam4(ph, var, expr, coeff);
@@ -488,7 +485,7 @@ ppl_ at CLASS@_ at AFFIMAGE@
   pph. at AFFIMAGE@(build_ppl_Variable(var),
 		   build_ppl_Linear_Expression(expr),
 		   build_ppl_Coefficient(coeff));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -497,7 +494,7 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_generalized_ at AFFIMAGE@1
 (value ph, value le1, value rel_sym, value le2) try {
   CAMLparam4(ph, le1, rel_sym, le2);
@@ -506,7 +503,7 @@ ppl_ at CLASS@_generalized_ at AFFIMAGE@1
   pph.generalized_ at AFFIMAGE@(build_ppl_Linear_Expression(le1),
 			       build_ppl_relsym(rel_sym),
 			       build_ppl_Linear_Expression(le2));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -515,7 +512,7 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_generalized_ at AFFIMAGE@2
 (value ph, value int_val, value rel_sym, value le, value caml_coeff) try {
   CAMLparam5(ph, int_val, rel_sym, le, caml_coeff);
@@ -524,7 +521,7 @@ ppl_ at CLASS@_generalized_ at AFFIMAGE@2
 			       build_ppl_relsym(rel_sym),
 			       build_ppl_Linear_Expression(le),
 			       build_ppl_Coefficient(caml_coeff));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -533,7 +530,7 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_generalized_ at AFFIMAGE@1_with_congruence
 (value ph, value int_val, value rel_sym, value le,
  value caml_coeff, value caml_modulus) try {
@@ -546,7 +543,16 @@ ppl_ at CLASS@_generalized_ at AFFIMAGE@1_with_congruence
 			       build_ppl_Linear_Expression(le),
 			       build_ppl_Coefficient(caml_coeff),
 			       build_ppl_Coefficient(caml_modulus));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_ at CLASS@_generalized_ at AFFIMAGE@1_with_congruence_bytecode
+(value* argv, int /*argn*/) try {
+  return ppl_ at CLASS@_generalized_ at AFFIMAGE@1_with_congruence
+    (argv[0], argv[1], argv[2], argv[3], argv[4], argv[5]);
 }
 CATCH_ALL
 
@@ -555,7 +561,7 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_generalized_ at AFFIMAGE@1_lhs_rhs_with_congruence
 (value ph, value le1, value rel_sym, value le2, value caml_modulus) try {
   CAMLparam5(ph, le1, rel_sym, le2, caml_modulus);
@@ -565,7 +571,7 @@ ppl_ at CLASS@_generalized_ at AFFIMAGE@1_lhs_rhs_with_congruence
 			     build_ppl_relsym(rel_sym),
 			     build_ppl_Linear_Expression(le2),
 			     build_ppl_Coefficient(caml_modulus));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -574,13 +580,13 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_ at WIDEN@_widening_assign(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. at WIDEN@_widening_assign(pph2);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -592,15 +598,13 @@ m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens_code',
 extern "C"
 CAMLprim value
 ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens
-(value ph1, value ph2, value integer) try {
-  CAMLparam3(ph1, ph2, integer);
+(value ph1, value ph2, value tokens) try {
+  CAMLparam3(ph1, ph2, tokens);
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
-  int cpp_int = Val_int(integer);
-  check_int_is_unsigned(cpp_int);
-  unsigned int unsigned_value = cpp_int;
-  pph1. at WIDEN@_widening_assign(pph2, &unsigned_value);
-  CAMLreturn(Int_val(unsigned_value));
+  unsigned u_tokens = value_to_unsigned<unsigned>(tokens);
+  pph1. at WIDEN@_widening_assign(pph2, &u_tokens);
+  CAMLreturn(Val_long(u_tokens));
 }
 CATCH_ALL
 
@@ -609,13 +613,13 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_widening_assign_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_widening_assign(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.widening_assign(pph2);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -626,16 +630,14 @@ m4_define(`ppl_ at CLASS@_widening_assign_with_tokens_code',
 `dnl
 extern "C"
 CAMLprim value
-ppl_ at CLASS@_widening_assign_with_tokens(value ph1, value ph2,
-					value integer) try {
-  CAMLparam3(ph1, ph2, integer);
+ppl_ at CLASS@_widening_assign_with_tokens
+(value ph1, value ph2, value tokens) try {
+  CAMLparam3(ph1, ph2, tokens);
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
-  int cpp_int = Val_int(integer);
-  check_int_is_unsigned(cpp_int);
-  unsigned int unsigned_value = cpp_int;
-  pph1.widening_assign(pph2, &unsigned_value);
-  CAMLreturn(Int_val(unsigned_value));
+  unsigned u_tokens = value_to_unsigned<unsigned>(tokens);
+  pph1.widening_assign(pph2, &u_tokens);
+  CAMLreturn(Val_long(u_tokens));
 }
 CATCH_ALL
 
@@ -645,20 +647,16 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_to
 `dnl
 extern "C"
 CAMLprim value
-ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens(value ph1,
-						   value ph2,
-						   value caml_cs,
-						   value integer) try {
-  CAMLparam4(ph1, ph2, caml_cs, integer);
+ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens
+(value ph1, value ph2, value caml_cs, value tokens) try {
+  CAMLparam4(ph1, ph2, caml_cs, tokens);
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
-  @UCONSTRAINER at _System ppl_cs = build_ppl_ at UCONSTRAINER@_System(caml_cs);
-  int cpp_int = Val_int(integer);
-  check_int_is_unsigned(cpp_int);
-  unsigned int unsigned_value = cpp_int;
+  @!CONSTRAINER at _System ppl_cs = build_ppl_@!CONSTRAINER at _System(caml_cs);
+  unsigned u_tokens = value_to_unsigned<unsigned>(tokens);
   pph1. at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign(pph2, ppl_cs,
-							 &unsigned_value);
-  CAMLreturn(Int_val(unsigned_value));
+							 &u_tokens);
+  CAMLreturn(Val_long(u_tokens));
 }
 CATCH_ALL
 
@@ -667,16 +665,16 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign(value ph1,
 						   value ph2,
 						   value caml_cs) try {
   CAMLparam3(ph1, ph2, caml_cs);
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
-  @UCONSTRAINER at _System ppl_cs = build_ppl_ at UCONSTRAINER@_System(caml_cs);
+  @!CONSTRAINER at _System ppl_cs = build_ppl_@!CONSTRAINER at _System(caml_cs);
   pph1. at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign(pph2, ppl_cs);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -688,17 +686,18 @@ extern "C"
 CAMLprim value
 ppl_ at CLASS@_ at MAXMIN@(value ph, value caml_le) try {
   CAMLparam2(ph, caml_le);
-  TEMP_INTEGER(num);
-  TEMP_INTEGER(den);
+  CAMLlocal1(caml_return_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
   bool is_supremum = false;
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   bool ppl_return_value = pph. at MAXMIN@(build_ppl_Linear_Expression(caml_le),
 				      num, den, is_supremum);
-  value caml_return_value = caml_alloc(4, 0);
-  Field(caml_return_value, 0) = Val_bool(ppl_return_value);
-  Field(caml_return_value, 1) = build_ocaml_coefficient(num);
-  Field(caml_return_value, 2) = build_ocaml_coefficient(den);
-  Field(caml_return_value, 3) = Val_bool(is_supremum);
+  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_supremum));
   CAMLreturn(caml_return_value);
 }
 CATCH_ALL
@@ -711,19 +710,20 @@ extern "C"
 CAMLprim value
 ppl_ at CLASS@_ at MAXMIN@_with_point(value ph, value caml_le) try {
   CAMLparam2(ph, caml_le);
-  TEMP_INTEGER(num);
-  TEMP_INTEGER(den);
+  CAMLlocal1(caml_return_value);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
   bool is_supremum = false;
   Generator g = point();
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
   bool ppl_return_value = pph. at MAXMIN@(build_ppl_Linear_Expression(caml_le),
 				      num, den, is_supremum, g);
-  value caml_return_value = caml_alloc(5, 0);
-  Field(caml_return_value, 0) = Val_bool(ppl_return_value);
-  Field(caml_return_value, 1) = build_ocaml_coefficient(num);
-  Field(caml_return_value, 2) = build_ocaml_coefficient(den);
-  Field(caml_return_value, 3) = Val_bool(is_supremum);
-  Field(caml_return_value, 4) = build_ocaml_generator(g);
+  caml_return_value = caml_alloc(5, 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_supremum));
+  Store_field(caml_return_value, 4, build_ocaml_generator(g));
   CAMLreturn(caml_return_value);
 }
 CATCH_ALL
@@ -750,7 +750,7 @@ CAMLprim value
 ppl_ at CLASS@_ at MEMBYTES@(value ph) try {
   CAMLparam1(ph);
   @CPP_CLASS@& pph = *p_ at CLASS@_val(ph);
-  CAMLreturn(Val_int(pph. at MEMBYTES@()));
+  CAMLreturn(Val_long(pph. at MEMBYTES@()));
 }
 CATCH_ALL
 
@@ -759,13 +759,13 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_swap_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 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);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -777,8 +777,10 @@ extern "C"
 CAMLprim value
 ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@(value ph) try {
   CAMLparam1(ph);
-  @CPPX_FRIEND@& pph = *(reinterpret_cast<@CPPX_FRIEND@*>( p_ at ALT_FRIEND@_val(ph)));
-  CAMLreturn(val_p_ at CLASS@(*(reinterpret_cast<@CPP_CLASS@*>(new @TOPOLOGY@@CPP_CLASS@(pph)))));
+  @B_FRIEND@& pph = *(reinterpret_cast<@B_FRIEND@*>( p_ at A_FRIEND@_val(ph)));
+  @CPP_CLASS@& ppl_value
+    = *(reinterpret_cast<@CPP_CLASS@*>(new @TOPOLOGY@@CPP_CLASS@(pph)));
+  CAMLreturn(unregistered_value_p_ at CLASS@(ppl_value));
 }
 CATCH_ALL
 
@@ -790,9 +792,11 @@ extern "C"
 CAMLprim value
 ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity(value ph, value caml_cc) try {
   CAMLparam1(ph);
-  @CPPX_FRIEND@& pph = *(reinterpret_cast<@CPPX_FRIEND@*>( p_ at ALT_FRIEND@_val(ph)));
+  @B_FRIEND@& pph = *(reinterpret_cast<@B_FRIEND@*>( p_ at A_FRIEND@_val(ph)));
   Complexity_Class ppl_cc = build_ppl_Complexity_Class(caml_cc);
-  CAMLreturn(val_p_ at CLASS@(*(reinterpret_cast<@CPP_CLASS@*>(new @TOPOLOGY@@CPP_CLASS@(pph, ppl_cc)))));
+  @CPP_CLASS@& ppl_value
+    = *(reinterpret_cast<@CPP_CLASS@*>(new @TOPOLOGY@@CPP_CLASS@(pph, ppl_cc)));
+  CAMLreturn(unregistered_value_p_ at CLASS@(ppl_value));
 }
 CATCH_ALL
 
@@ -836,20 +840,21 @@ m4_define(`m4_ub_exact_for_non_polyhedron_domains',
 `dnl
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   const @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
+
   CAMLreturn(Val_bool(pph1. at UB_EXACT@(pph2)));
 ')
 
 m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign
 (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. at EXTRAPOLATION@_extrapolation_assign(pph2);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -860,17 +865,14 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens_code',
 `dnl
 extern "C"
 CAMLprim value
-ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens(
-                                                     value ph1, value ph2,
-						     value integer) try {
-  CAMLparam3(ph1, ph2, integer);
+ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens
+(value ph1, value ph2, value tokens) try {
+  CAMLparam3(ph1, ph2, tokens);
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
-  int cpp_int = Val_int(integer);
-  check_int_is_unsigned(cpp_int);
-  unsigned int unsigned_value = cpp_int;
-  pph1. at EXTRAPOLATION@_extrapolation_assign(pph2, &unsigned_value);
-  CAMLreturn(Val_int(unsigned_value));
+  unsigned u_tokens = value_to_unsigned<unsigned>(tokens);
+  pph1. at EXTRAPOLATION@_extrapolation_assign(pph2, &u_tokens);
+  CAMLreturn(Val_long(u_tokens));
 }
 CATCH_ALL
 
@@ -879,14 +881,14 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign(value ph1,
                                                        value ph2) try {
   CAMLparam2(ph1, ph2);
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   const @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
   pph1. at EXTRAPOLATION@_narrowing_assign(pph2);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -899,7 +901,9 @@ CAMLprim value
 ppl_ at CLASS@_ at BEGINEND@_iterator(value t_pps) try {
   CAMLparam1(t_pps);
   @CPP_CLASS@& pps = *p_ at CLASS@_val(t_pps);
-  CAMLreturn(val_p_ at CLASS@_iterator(*new @CPP_CLASS@::iterator(pps. at BEGINEND@())));
+  @CPP_CLASS@::iterator& ppl_value
+    = *new @CPP_CLASS@::iterator(pps. at BEGINEND@());
+  CAMLreturn(unregistered_value_p_ at CLASS@_iterator(ppl_value));
 }
 CATCH_ALL
 
@@ -912,11 +916,12 @@ extern "C"
 CAMLprim value
 ppl_ at CLASS@_get_disjunct(value caml_it) try {
   CAMLparam1(caml_it);
+  CAMLlocal1(caml_return_value);
   @CPP_CLASS@::iterator& cpp_it  = *p_ at CLASS@_iterator_val(caml_it);
-  @CLASSTOPOLOGY@@CPP_DISJUNCT@ disjunct = cpp_it->element();
-  value value_to_return = val_p_ at DISJUNCT@(disjunct);
-  actual_p_ at DISJUNCT@_val(value_to_return) = mark(&disjunct);
-  CAMLreturn(value_to_return);
+  @DISJUNCT_TOPOLOGY@@A_DISJUNCT@ disjunct = cpp_it->element();
+  caml_return_value = unregistered_value_p_ at DISJUNCT@(disjunct);
+  actual_p_ at DISJUNCT@_val(caml_return_value) = mark(&disjunct);
+  CAMLreturn(caml_return_value);
 }
 CATCH_ALL
 
@@ -925,15 +930,15 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_add_disjunct_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_add_disjunct(value t_pps, value caml_item_to_add) try {
   CAMLparam2(t_pps, caml_item_to_add);
   @CPP_CLASS@& pps = *p_ at CLASS@_val(t_pps);
-  @CLASSTOPOLOGY@@CPP_DISJUNCT@& item
-    = *(reinterpret_cast<@CLASSTOPOLOGY@@CPP_DISJUNCT@*>
+  @DISJUNCT_TOPOLOGY@@A_DISJUNCT@& item
+    = *(reinterpret_cast<@DISJUNCT_TOPOLOGY@@A_DISJUNCT@*>
           (p_ at DISJUNCT@_val(caml_item_to_add)));
   pps.add_disjunct(item);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -942,13 +947,13 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_drop_disjunct_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_drop_disjunct(value t_pps, value caml_item_to_drop) try {
   CAMLparam2(t_pps, caml_item_to_drop);
   @CPP_CLASS@& pps = *p_ at CLASS@_val(t_pps);
   @CPP_CLASS@::iterator& itr = *p_ at CLASS@_iterator_val(caml_item_to_drop);
-  pps.drop_disjunct(itr);
-  CAMLreturn0;
+  itr = pps.drop_disjunct(itr);
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -957,7 +962,7 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_drop_disjuncts_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_drop_disjuncts
 (value t_pps, value caml_item1_to_drop, value caml_item2_to_drop) try {
   CAMLparam3(t_pps, caml_item1_to_drop, caml_item2_to_drop);
@@ -965,7 +970,7 @@ ppl_ at CLASS@_drop_disjuncts
   @CPP_CLASS@::iterator& itr1 = *p_ at CLASS@_iterator_val(caml_item1_to_drop);
   @CPP_CLASS@::iterator& itr2 = *p_ at CLASS@_iterator_val(caml_item2_to_drop);
   pps.drop_disjuncts(itr1, itr2);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -985,20 +990,20 @@ 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@
-  custom_ at CLASS@_iterator_finalize at COMMA@
-  custom_compare_default at COMMA@
-  custom_hash_default at COMMA@
-  custom_serialize_default at COMMA@
+  "it.unipr.cs.ppl" "." PPL_VERSION "." "@CLASS at _iterator"|COMMA|
+  custom_ at CLASS@_iterator_finalize|COMMA|
+  custom_compare_default|COMMA|
+  custom_hash_default|COMMA|
+  custom_serialize_default|COMMA|
   custom_deserialize_default
 };
 
 inline value
-val_p_ at CLASS@_iterator(const @CPP_CLASS@::iterator& ph) {
+unregistered_value_p_ at CLASS@_iterator(const @CPP_CLASS@::iterator& ph) {
   value v = caml_alloc_custom(&@CLASS at _iterator_custom_operations,
-			      sizeof(@CPP_CLASS@::iterator*), 0, 1);
+                              sizeof(@CPP_CLASS@::iterator*), 0, 1);
   p_ at CLASS@_iterator_val(v) = const_cast<@CPP_CLASS@::iterator*>(&ph);
-  return(v);
+  return v;
 }
 
 extern "C"
@@ -1007,7 +1012,9 @@ ppl_new_ at CLASS@_iterator_from_iterator(value y) try {
   CAMLparam1(y);
   @CPP_CLASS@::iterator& yy
     = *(reinterpret_cast<@CPP_CLASS@::iterator*>( p_ at CLASS@_iterator_val(y)));
-  CAMLreturn(val_p_ at CLASS@_iterator(*(reinterpret_cast<@CPP_CLASS@::iterator*>(new @CPP_CLASS@::iterator(yy)))));
+  @CPP_CLASS@::iterator& ppl_value
+    = *(reinterpret_cast<@CPP_CLASS@::iterator*>(new @CPP_CLASS@::iterator(yy)));
+  CAMLreturn(unregistered_value_p_ at CLASS@_iterator(ppl_value));
 }
 CATCH_ALL
 
@@ -1016,17 +1023,20 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_ at INCDEC@_iterator(value caml_itr) try {
   CAMLparam1(caml_itr);
   @CPP_CLASS@::iterator& itr = *p_ at CLASS@_iterator_val(caml_itr);
-  @CPPX_INCDEC at itr;
-  CAMLreturn0;
+  m4_ at INCDEC@_cpp_name()itr;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 ')
 
+m4_define(`m4_increment_cpp_name', `++')
+m4_define(`m4_decrement_cpp_name', `--')
+
 m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
 `dnl
 extern "C"
@@ -1045,19 +1055,19 @@ CATCH_ALL
 ')
 
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `dnl
 extern "C"
-void
-ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign
+CAMLprim value
+ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign
 (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.BHZ03_widening_assign<@ALT_DISJUNCT_WIDEN at _Certificate>
+  pph1.BHZ03_widening_assign<@A_DISJUNCT_WIDEN at _Certificate>
     (pph2,
-     widen_fun_ref(&@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign));;
-  CAMLreturn0;
+     widen_fun_ref(&@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign));;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -1066,25 +1076,27 @@ CATCH_ALL
 m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 `dnl
 extern "C"
-void
+CAMLprim value
 ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign
-(value ph1, value ph2, value integer) try {
+(value ph1, value ph2, value max_disj) try {
   CAMLparam2(ph1, ph2);
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   @CPP_CLASS@& pph2 = *p_ at CLASS@_val(ph2);
-  int cpp_int = Val_int(integer);
-  check_int_is_unsigned(cpp_int);
+  unsigned cpp_max_disj
+    = value_to_unsigned<unsigned>(max_disj);
   pph1.BGP99_extrapolation_assign
     (pph2,
-     widen_fun_ref(&@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign), cpp_int);
-  CAMLreturn0;
+     widen_fun_ref(&@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign),
+     cpp_max_disj);
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 ')
 
 
-m4_define(`ppl_ at CLASS@_ascii_dump_code', `
+m4_define(`ppl_ at CLASS@_ascii_dump_code',
+`dnl
 extern "C"
 CAMLprim value
 ppl_ at CLASS@_ascii_dump(value ph1) try {
@@ -1092,26 +1104,29 @@ ppl_ at CLASS@_ascii_dump(value ph1) try {
   @CPP_CLASS@& pph1 = *p_ at CLASS@_val(ph1);
   std::ostringstream s;
   pph1.ascii_dump(s);
-  std::string str = s.str();
-  CAMLreturn(caml_copy_string(str.c_str()));
+  CAMLreturn(caml_copy_string(s.str().c_str()));
 }
 CATCH_ALL
 
 ')
 
+
 m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code', `
 extern "C"
 CAMLprim value
 ppl_ at CLASS@_linear_ at PARTITION@(value ph1, value ph2) try {
   CAMLparam2(ph1, ph2);
+  CAMLlocal1(caml_return_value);
   @CPP_CLASS@* rfh;
   Pointset_Powerset<NNC_Polyhedron>* rsh;
 `m4_ifelse(m4_current_interface, `Polyhedron',
            `m4_linear_partition_for_polyhedron_domains',
            `m4_linear_partition_for_non_polyhedron_domains')'dnl
-  value caml_return_value = caml_alloc(2, 0);
-  Field(caml_return_value, 0) = val_p_ at CLASS@(*rfh);
-  Field(caml_return_value, 1) = val_p_Pointset_Powerset_NNC_Polyhedron(*rsh);
+  caml_return_value = caml_alloc(2, 0);
+  Store_field(caml_return_value, 0,
+              unregistered_value_p_ at CLASS@(*rfh));
+  Store_field(caml_return_value, 1,
+              unregistered_value_p_Pointset_Powerset_NNC_Polyhedron(*rsh));
   CAMLreturn(caml_return_value);
 }
 CATCH_ALL
@@ -1126,7 +1141,7 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
       = reinterpret_cast<C_Polyhedron&>(*p_Polyhedron_val(ph1));
     C_Polyhedron& pph2
       = reinterpret_cast<C_Polyhedron&>(*p_Polyhedron_val(ph2));
-    std::pair<C_Polyhedron at COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+    std::pair<C_Polyhedron|COMMA| Pointset_Powerset<NNC_Polyhedron> >
       r = linear_partition(pph1, pph2);
     rfh = new C_Polyhedron(0, EMPTY);
     rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
@@ -1138,7 +1153,7 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
       = reinterpret_cast<NNC_Polyhedron&>(*p_Polyhedron_val(ph1));
     NNC_Polyhedron& pph2
       = reinterpret_cast<NNC_Polyhedron&>(*p_Polyhedron_val(ph2));
-    std::pair<NNC_Polyhedron at COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+    std::pair<NNC_Polyhedron|COMMA| Pointset_Powerset<NNC_Polyhedron> >
       r = linear_partition(pph1, pph2);
     rfh = new NNC_Polyhedron(0, EMPTY);
     rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
@@ -1153,7 +1168,7 @@ m4_define(`m4_linear_partition_for_non_polyhedron_domains',
     = reinterpret_cast<@CPP_CLASS@&>(*p_ at CLASS@_val(ph1));
   @CPP_CLASS@& pph2
     = reinterpret_cast<@CPP_CLASS@&>(*p_ at CLASS@_val(ph2));
-  std::pair<@CPP_CLASS@@COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+  std::pair<@CPP_CLASS@|COMMA| Pointset_Powerset<NNC_Polyhedron> >
     r = linear_partition(pph1, pph2);
   rfh = new @CPP_CLASS@(0, EMPTY);
   rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
@@ -1166,21 +1181,24 @@ extern "C"
 CAMLprim value
 ppl_ at CLASS@_approximate_ at PARTITION@(value ph1, value ph2) try {
   CAMLparam2(ph1, ph2);
+  CAMLlocal1(caml_return_value);
   @CPP_CLASS@& pph1
     = reinterpret_cast<@CPP_CLASS@&>(*p_ at CPP_CLASS@_val(ph1));
   @CPP_CLASS@& pph2
     = reinterpret_cast<@CPP_CLASS@&>(*p_ at CPP_CLASS@_val(ph2));
   bool is_finite = false;
-  std::pair<@CPP_CLASS@@COMMA@ Pointset_Powerset<Grid> >
+  std::pair<@CPP_CLASS@|COMMA| Pointset_Powerset<Grid> >
     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);
-  value caml_return_value = caml_alloc(3, 0);
-  Field(caml_return_value, 0) = val_p_ at CLASS@(*rfh);
-  Field(caml_return_value, 1) = val_p_Pointset_Powerset_Grid(*rsh);
-  Field(caml_return_value, 2) = Val_bool(is_finite);
+  caml_return_value = caml_alloc(3, 0);
+  Store_field(caml_return_value, 0,
+              unregistered_value_p_ at CLASS@(*rfh));
+  Store_field(caml_return_value, 1,
+              unregistered_value_p_Pointset_Powerset_Grid(*rsh));
+  Store_field(caml_return_value, 2, Val_bool(is_finite));
   CAMLreturn(caml_return_value);
 }
 CATCH_ALL
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
index 6f233c0..f711c50 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_cc_files.m4
@@ -4,7 +4,7 @@ m4_divert(-1)dnl
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -38,6 +38,7 @@ m4_define(`m4_default_code', `m4_dumpdef($1`'_code)')
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
 m4_define(`m4_current_interface', m4_interface_class`'$1)`'dnl
+m4_define(`m4_current_cplusplus', m4_cplusplus_class`'$1)`'dnl
 
 %<--%<--%<-- ppl_ocaml_`'m4_current_interface`'.cc
 /* OCaml m4_current_interface interface code.
@@ -46,9 +47,7 @@ m4_include(`ppl_interface_generator_copyright')`'dnl
 
 `#'include "ppl_ocaml_domains.hh"
 
-m4_replace_all_patterns_in_string($1,
-                                  `m4_custom_operations_class_code',
-                                  m4_pattern_list)`'dnl
+m4_custom_operations_class_code
 
 using namespace Parma_Polyhedra_Library;
 using namespace Parma_Polyhedra_Library::Interfaces::OCaml;
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
index f95b428..cfb0400 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_code.m4
@@ -1,6 +1,6 @@
 dnl Used by ppl_interfaces_generator_ocaml_hh_files.m4
 dnl for generating the access code for the OCaml interface.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -48,12 +48,12 @@ custom_ at CLASS@_finalize(value v) {
 }
 
 inline value
-val_p_ at CLASS@(const @CPP_CLASS@& ph) {
+unregistered_value_p_ at CLASS@(const @CPP_CLASS@& ph) {
   extern struct custom_operations @CLASS at _custom_operations;
   value v = caml_alloc_custom(&@CLASS at _custom_operations,
 			      sizeof(@CPP_CLASS@*), 0, 1);
   actual_p_ at CLASS@_val(v) = const_cast<@CPP_CLASS@*>(&ph);
-  return(v);
+  return v;
 }
 
 } // namespace OCaml
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
index 6880b44..b1f1e8f 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_hh_files.m4
@@ -6,7 +6,7 @@ dnl and files ppl_ocaml_DOMAIN.hh, for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_ocaml_hh_code.m4.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -40,9 +40,7 @@ m4_define(`m4_current_interface', m4_interface_class`'$1)`'dnl
 m4_include(`ppl_interface_generator_copyright')`'dnl
 */
 
-m4_replace_all_patterns_in_string($1,
-                                  m4_access_class_code,
-                                  m4_pattern_list)`'dnl
+m4_replace_all_patterns($1, m4_access_class_code)`'dnl
 m4_undefine(`m4_current_interface')`'dnl
 ')
 
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
index 71ce2e8..d3d5b5b 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_ml.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -37,20 +37,8 @@ m4_include(`ppl_interface_generator_copyright')`'dnl
 open Gmp
 include Ppl_ocaml_globals
 
-exception Error of string
-let _ = Callback.register_exception "PPL_arithmetic_overflow" (Error "any string")
-let _ = Callback.register_exception "PPL_internal_error" (Error "any string")
-let _ = Callback.register_exception "PPL_unknown_standard_exception" (Error "any string")
-let _ = Callback.register_exception "PPL_not_an_unsigned_exception" (Error "any string")
-
-let _ = Callback.register_exception "PPL_unexpected_error" (Error "any string")
-
 m4_divert(-1)
-m4_pushdef(`m4_one_class_code', `dnl
-m4_replace_all_patterns_in_string($1,
-                                  `type @LCLASS@
-',
-                                  m4_pattern_list)`'dnl
+m4_pushdef(`m4_one_class_code', `type m4_downcase(m4_interface_class$1)
 ')
 
 dnl -----------------------------------------------------------------
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
index 0fd2af2..ad89b6d 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_ml_code.m4
@@ -3,7 +3,7 @@ sm4_divert(-1)
 
 This m4 file contains the program code for generating ppl_ocaml.ml
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -35,7 +35,7 @@ dnl Remove the macro if its definition is added.
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
 `dnl
 external ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension:
-  int -> degenerate_element -> @LCLASS@
+  int -> degenerate_element -> @!CLASS@
   = "ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension"
 
 ')
@@ -43,7 +43,7 @@ external ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension:
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 `dnl
 external ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s:
-  @BUILD_REPRESENT at _system -> @LCLASS@
+  @BUILD_REPRESENT at _system -> @!CLASS@
   = "ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s"
 
 ')
@@ -51,8 +51,8 @@ external ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s:
 m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 `dnl
 external ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@:
-  @LCLASS@ -> linear_ at RELATION_REPRESENT@
-  -> poly_ at ALT_RELATION_REPRESENT@_relation list
+  @!CLASS@ -> linear_ at RELATION_REPRESENT@
+  -> poly_ at A_RELATION_REPRESENT@_relation list
   = "ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@"
 
 ')
@@ -60,13 +60,13 @@ external ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@:
 m4_define(`ppl_ at CLASS@_ at DIMENSION@_code',
 `dnl
 external ppl_ at CLASS@_ at DIMENSION@:
-	    @LCLASS@ -> int = "ppl_ at CLASS@_ at DIMENSION@"
+	    @!CLASS@ -> int = "ppl_ at CLASS@_ at DIMENSION@"
 ')
 
 m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_code',
 `dnl
 external ppl_ at CLASS@_ at HAS_PROPERTY@:
-  @LCLASS@ -> bool = "ppl_ at CLASS@_ at HAS_PROPERTY@"
+  @!CLASS@ -> bool = "ppl_ at CLASS@_ at HAS_PROPERTY@"
 
 
 ')
@@ -74,7 +74,7 @@ external ppl_ at CLASS@_ at HAS_PROPERTY@:
 m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_code',
 `dnl
 external ppl_ at CLASS@_ at SIMPLIFY@:
-  @LCLASS@ -> unit = "ppl_ at CLASS@_ at SIMPLIFY@"
+  @!CLASS@ -> unit = "ppl_ at CLASS@_ at SIMPLIFY@"
 
 
 ')
@@ -82,31 +82,31 @@ external ppl_ at CLASS@_ at SIMPLIFY@:
 m4_define(`ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_code',
 `dnl
 external ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@:
-  @LCLASS@ -> linear_expression -> bool
+  @!CLASS@ -> linear_expression -> bool
   = "ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@"
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `dnl
-external ppl_ at CLASS@_add_ at ADD_REPRESENT@:
-  @LCLASS@ -> linear_ at ADD_REPRESENT@ -> unit
-  = "ppl_ at CLASS@_add_ at ADD_REPRESENT@"
+external ppl_ at CLASS@_add_ at CLASS_REPRESENT@:
+  @!CLASS@ -> linear_ at CLASS_REPRESENT@ -> unit
+  = "ppl_ at CLASS@_add_ at CLASS_REPRESENT@"
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `dnl
-external ppl_ at CLASS@_add_ at ADD_REPRESENT@s:
-  @LCLASS@ -> @ADD_REPRESENT at _system -> unit
-  = "ppl_ at CLASS@_add_ at ADD_REPRESENT@s"
+external ppl_ at CLASS@_add_ at CLASS_REPRESENT@s:
+  @!CLASS@ -> @CLASS_REPRESENT at _system -> unit
+  = "ppl_ at CLASS@_add_ at CLASS_REPRESENT@s"
 
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 `dnl
 external ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@:
-  @LCLASS@ -> linear_ at REFINE_REPRESENT@ -> unit
+  @!CLASS@ -> linear_ at REFINE_REPRESENT@ -> unit
   = "ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@"
 
 ')
@@ -114,7 +114,7 @@ external ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@:
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 `dnl
 external ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s:
-  @LCLASS@ -> @REFINE_REPRESENT at _system -> unit
+  @!CLASS@ -> @REFINE_REPRESENT at _system -> unit
   = "ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s"
 
 ')
@@ -122,7 +122,7 @@ external ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s:
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
 `dnl
 external ppl_ at CLASS@_ at COMPARISON@_ at CLASS@:
-  @LCLASS@ -> @LCLASS@ -> bool
+  @!CLASS@ -> @!CLASS@ -> bool
   = "ppl_ at CLASS@_ at COMPARISON@_ at CLASS@"
 
 ')
@@ -130,7 +130,7 @@ external ppl_ at CLASS@_ at COMPARISON@_ at CLASS@:
 m4_define(`ppl_ at CLASS@_equals_ at CLASS@_code',
 `dnl
 external ppl_ at CLASS@_equals_ at CLASS@:
-  @LCLASS@ -> @LCLASS@ -> bool
+  @!CLASS@ -> @!CLASS@ -> bool
   = "ppl_ at CLASS@_equals_ at CLASS@"
 
 ')
@@ -139,7 +139,7 @@ external ppl_ at CLASS@_equals_ at CLASS@:
 m4_define(`ppl_ at CLASS@_ at BINOP@_code',
 `dnl
 external ppl_ at CLASS@_ at BINOP@:
-  @LCLASS@ -> @LCLASS@ -> unit
+  @!CLASS@ -> @!CLASS@ -> unit
   = "ppl_ at CLASS@_ at BINOP@"
 
 ')
@@ -147,7 +147,7 @@ external ppl_ at CLASS@_ at BINOP@:
 m4_define(`ppl_ at CLASS@_simplify_using_context_assign_code',
 `dnl
 external ppl_ at CLASS@_simplify_using_context_assign:
-  @LCLASS@ -> @LCLASS@ -> bool
+  @!CLASS@ -> @!CLASS@ -> bool
   = "ppl_ at CLASS@_simplify_using_context_assign"
 
 ')
@@ -155,7 +155,7 @@ external ppl_ at CLASS@_simplify_using_context_assign:
 m4_define(`ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@_code',
 `dnl
 external ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@:
-  @LCLASS@ -> int -> unit
+  @!CLASS@ -> int -> unit
   = "ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@"
 
 ')
@@ -163,7 +163,7 @@ external ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@:
 m4_define(`ppl_ at CLASS@_remove_space_dimensions_code',
 `dnl
 external ppl_ at CLASS@_remove_space_dimensions:
-  @LCLASS@ -> int list -> unit
+  @!CLASS@ -> int list -> unit
   = "ppl_ at CLASS@_remove_space_dimensions"
 
 ')
@@ -171,7 +171,7 @@ external ppl_ at CLASS@_remove_space_dimensions:
 m4_define(`ppl_ at CLASS@_remove_higher_space_dimensions_code',
 `dnl
 external ppl_ at CLASS@_remove_higher_space_dimensions:
-  @LCLASS@ -> int -> unit
+  @!CLASS@ -> int -> unit
   = "ppl_ at CLASS@_remove_higher_space_dimensions"
 
 ')
@@ -179,7 +179,7 @@ external ppl_ at CLASS@_remove_higher_space_dimensions:
 m4_define(`ppl_ at CLASS@_fold_space_dimensions_code',
 `dnl
 external ppl_ at CLASS@_fold_space_dimensions:
-  @LCLASS@ -> int list -> int -> unit
+  @!CLASS@ -> int list -> int -> unit
   = "ppl_ at CLASS@_fold_space_dimensions"
 
 ')
@@ -187,7 +187,7 @@ external ppl_ at CLASS@_fold_space_dimensions:
 m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
 `dnl
 external ppl_ at CLASS@_map_space_dimensions:
-  @LCLASS@ -> (int*int) list -> unit
+  @!CLASS@ -> (int*int) list -> unit
   = "ppl_ at CLASS@_map_space_dimensions"
 
 ')
@@ -195,31 +195,31 @@ external ppl_ at CLASS@_map_space_dimensions:
 m4_define(`ppl_ at CLASS@_expand_space_dimension_code',
 `dnl
 external ppl_ at CLASS@_expand_space_dimension:
-  @LCLASS@ -> int -> int -> unit
+  @!CLASS@ -> int -> int -> unit
   = "ppl_ at CLASS@_expand_space_dimension"
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
-external ppl_ at CLASS@_get_ at GET_REPRESENT@s:
-  @LCLASS@ -> @GET_REPRESENT at _system
-  = "ppl_ at CLASS@_get_ at GET_REPRESENT@s"
+external ppl_ at CLASS@_get_ at CLASS_REPRESENT@s:
+  @!CLASS@ -> @CLASS_REPRESENT at _system
+  = "ppl_ at CLASS@_get_ at CLASS_REPRESENT@s"
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `dnl
-external ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s:
-  @LCLASS@ -> @GET_REPRESENT at _system
-  = "ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s"
+external ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s:
+  @!CLASS@ -> @CLASS_REPRESENT at _system
+  = "ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s"
 
 ')
 
 m4_define(`ppl_ at CLASS@_constrains_code',
 `dnl
 external ppl_ at CLASS@_constrains:
-  @LCLASS@ -> int -> bool
+  @!CLASS@ -> int -> bool
   = "ppl_ at CLASS@_constrains"
 
 ')
@@ -227,7 +227,7 @@ external ppl_ at CLASS@_constrains:
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimension_code',
 `dnl
 external ppl_ at CLASS@_unconstrain_space_dimension:
-  @LCLASS@ -> int -> unit
+  @!CLASS@ -> int -> unit
   = "ppl_ at CLASS@_unconstrain_space_dimension"
 
 ')
@@ -235,7 +235,7 @@ external ppl_ at CLASS@_unconstrain_space_dimension:
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_code',
 `dnl
 external ppl_ at CLASS@_unconstrain_space_dimensions:
-  @LCLASS@ -> int list -> unit
+  @!CLASS@ -> int list -> unit
   = "ppl_ at CLASS@_unconstrain_space_dimensions"
 
 ')
@@ -243,7 +243,7 @@ external ppl_ at CLASS@_unconstrain_space_dimensions:
 m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
 `dnl
 external ppl_ at CLASS@_bounded_ at AFFIMAGE@:
-  @LCLASS@ -> int -> linear_expression
+  @!CLASS@ -> int -> linear_expression
   -> linear_expression -> Z.t -> unit
   = "ppl_ at CLASS@_bounded_ at AFFIMAGE@"
 
@@ -252,7 +252,7 @@ external ppl_ at CLASS@_bounded_ at AFFIMAGE@:
 m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_code',
 `dnl
 external ppl_ at CLASS@_ at AFFIMAGE@:
-  @LCLASS@ -> int -> linear_expression -> Z.t -> unit
+  @!CLASS@ -> int -> linear_expression -> Z.t -> unit
   = "ppl_ at CLASS@_ at AFFIMAGE@"
 
 ')
@@ -260,7 +260,7 @@ external ppl_ at CLASS@_ at AFFIMAGE@:
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_code',
 `dnl
 external ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs:
-  @LCLASS@ -> linear_expression
+  @!CLASS@ -> linear_expression
   -> relation_symbol -> linear_expression -> unit
   = "ppl_ at CLASS@_generalized_ at AFFIMAGE@1"
 
@@ -269,7 +269,7 @@ external ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs:
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_code',
 `dnl
 external ppl_ at CLASS@_generalized_ at AFFIMAGE@:
-  @LCLASS@ -> int -> relation_symbol
+  @!CLASS@ -> int -> relation_symbol
   -> linear_expression -> Z.t -> unit
   = "ppl_ at CLASS@_generalized_ at AFFIMAGE@2"
 
@@ -278,16 +278,16 @@ external ppl_ at CLASS@_generalized_ at AFFIMAGE@:
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_code',
 `dnl
 external ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence:
-  @LCLASS@ -> int -> relation_symbol
+  @!CLASS@ -> int -> relation_symbol
   -> linear_expression -> Z.t -> Z.t -> unit
-  = "ppl_ at CLASS@_generalized_ at AFFIMAGE@1_with_congruence"
+  = "ppl_ at CLASS@_generalized_ at AFFIMAGE@1_with_congruence_bytecode" "ppl_ at CLASS@_generalized_ at AFFIMAGE@1_with_congruence"
 
 ')
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_code',
 `dnl
 external ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence:
-  @LCLASS@ -> linear_expression -> relation_symbol
+  @!CLASS@ -> linear_expression -> relation_symbol
   -> linear_expression -> Z.t -> unit
   = "ppl_ at CLASS@_generalized_ at AFFIMAGE@1_lhs_rhs_with_congruence"
 
@@ -296,7 +296,7 @@ external ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence:
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
 `dnl
 external ppl_ at CLASS@_ at WIDEN@_widening_assign:
-  @LCLASS@ -> @LCLASS@ -> unit
+  @!CLASS@ -> @!CLASS@ -> unit
   = "ppl_ at CLASS@_ at WIDEN@_widening_assign"
 
 ')
@@ -304,7 +304,7 @@ external ppl_ at CLASS@_ at WIDEN@_widening_assign:
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens_code',
 `dnl
 external ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens:
-  @LCLASS@ -> @LCLASS@ -> int -> int
+  @!CLASS@ -> @!CLASS@ -> int -> int
   = "ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens"
 
 ')
@@ -312,7 +312,7 @@ external ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens:
 m4_define(`ppl_ at CLASS@_widening_assign_code',
 `dnl
 external ppl_ at CLASS@_widening_assign:
-  @LCLASS@ -> @LCLASS@ -> unit
+  @!CLASS@ -> @!CLASS@ -> unit
   = "ppl_ at CLASS@_widening_assign"
 
 ')
@@ -320,7 +320,7 @@ external ppl_ at CLASS@_widening_assign:
 m4_define(`ppl_ at CLASS@_widening_assign_with_tokens_code',
 `dnl
 external ppl_ at CLASS@_widening_assign_with_tokens:
-  @LCLASS@ -> @LCLASS@ -> int -> int
+  @!CLASS@ -> @!CLASS@ -> int -> int
   = "ppl_ at CLASS@_widening_assign_with_tokens"
 
 ')
@@ -328,7 +328,7 @@ external ppl_ at CLASS@_widening_assign_with_tokens:
 m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 `dnl
 external ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign:
-  @LCLASS@ -> @LCLASS@ -> @CONSTRAINER at _system -> unit
+  @!CLASS@ -> @!CLASS@ -> @CONSTRAINER at _system -> unit
   = "ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign"
 
 ')
@@ -336,7 +336,7 @@ external ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign:
 m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens_code',
 `dnl
 external ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens:
-  @LCLASS@ -> @LCLASS@ -> @CONSTRAINER at _system -> int -> int
+  @!CLASS@ -> @!CLASS@ -> @CONSTRAINER at _system -> int -> int
   = "ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens"
 
 ')
@@ -345,7 +345,7 @@ external ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_toke
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
 external ppl_ at CLASS@_ at MAXMIN@:
-  @LCLASS@ -> linear_expression
+  @!CLASS@ -> linear_expression
   -> bool * Z.t * Z.t * bool
   = "ppl_ at CLASS@_ at MAXMIN@"
 
@@ -354,7 +354,7 @@ external ppl_ at CLASS@_ at MAXMIN@:
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_with_point_code',
 `dnl
 external ppl_ at CLASS@_ at MAXMIN@_with_point:
-  @LCLASS@ -> linear_expression
+  @!CLASS@ -> linear_expression
   -> bool * Z.t * Z.t * bool * linear_generator
   = "ppl_ at CLASS@_ at MAXMIN@_with_point"
 
@@ -363,7 +363,7 @@ external ppl_ at CLASS@_ at MAXMIN@_with_point:
 m4_define(`ppl_ at CLASS@_OK_code',
 `dnl
 external ppl_ at CLASS@_OK:
-  @LCLASS@ -> bool = "ppl_ at CLASS@_OK"
+  @!CLASS@ -> bool = "ppl_ at CLASS@_OK"
 
 ')
 
@@ -371,14 +371,14 @@ external ppl_ at CLASS@_OK:
 m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
  `
 external ppl_ at CLASS@_ at MEMBYTES@:
-  @LCLASS@  -> int = "ppl_ at CLASS@_ at MEMBYTES@"
+  @!CLASS@  -> int = "ppl_ at CLASS@_ at MEMBYTES@"
 
 ')
 
 m4_define(`ppl_ at CLASS@_swap_code',
 `dnl
 external ppl_ at CLASS@_swap:
-  @LCLASS@ -> @LCLASS@ -> unit
+  @!CLASS@ -> @!CLASS@ -> unit
   = "ppl_ at CLASS@_swap"
 
 ')
@@ -386,7 +386,7 @@ external ppl_ at CLASS@_swap:
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
 `dnl
 external ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@:
-  @LALT_FRIEND@ -> @LCLASS@
+  @!A_FRIEND@ -> @!CLASS@
   = "ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@"
 
 ')
@@ -394,7 +394,7 @@ external ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@:
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
 `dnl
 external ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity:
-  @LALT_FRIEND@ -> complexity_class -> @LCLASS@
+  @!A_FRIEND@ -> complexity_class -> @!CLASS@
   = "ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@"
 
 ')
@@ -402,7 +402,7 @@ external ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity:
 m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
  `dnl
  external ppl_ at CLASS@_ at UB_EXACT@:
-   @LCLASS@ -> @LCLASS@ -> bool
+   @!CLASS@ -> @!CLASS@ -> bool
    = "ppl_ at CLASS@_ at UB_EXACT@"
 
  ')
@@ -410,7 +410,7 @@ m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
 m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens_code',
  `dnl
  external ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens:
-   @LCLASS@ -> @LCLASS@ -> int -> int
+   @!CLASS@ -> @!CLASS@ -> int -> int
    = "ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens"
 
  ')
@@ -419,7 +419,7 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens_code',
 m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
  `dnl
  external ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign:
-   @LCLASS@ -> @LCLASS@ -> unit
+   @!CLASS@ -> @!CLASS@ -> unit
    = "ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign"
 
  ')
@@ -427,7 +427,7 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
  m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
  `dnl
  external ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign:
-   @LCLASS@  -> @LCLASS@ -> unit
+   @!CLASS@  -> @!CLASS@ -> unit
    = "ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign"
 
  ')
@@ -435,7 +435,7 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
  m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_code',
  `
 external ppl_ at CLASS@_ at BEGINEND@_iterator:
-  @LCLASS@  -> @LCLASS at _iterator
+  @!CLASS@  -> @!CLASS at _iterator
   = "ppl_ at CLASS@_ at BEGINEND@_iterator"
 
 ')
@@ -443,7 +443,7 @@ external ppl_ at CLASS@_ at BEGINEND@_iterator:
 m4_define(`ppl_ at CLASS@_get_disjunct_code',
  `
 external ppl_ at CLASS@_get_disjunct:
-   @LCLASS at _iterator  -> @LDISJUNCT@
+   @!CLASS at _iterator  -> @!DISJUNCT@
    = "ppl_ at CLASS@_get_disjunct"
 
 ')
@@ -451,7 +451,7 @@ external ppl_ at CLASS@_get_disjunct:
 m4_define(`ppl_ at CLASS@_add_disjunct_code',
  `
 external ppl_ at CLASS@_add_disjunct:
-   @LCLASS@  -> @LDISJUNCT@ -> unit
+   @!CLASS@  -> @!DISJUNCT@ -> unit
    = "ppl_ at CLASS@_add_disjunct"
 
 ')
@@ -459,7 +459,7 @@ external ppl_ at CLASS@_add_disjunct:
 m4_define(`ppl_ at CLASS@_drop_disjunct_code',
  `
  external ppl_ at CLASS@_drop_disjunct:
-   @LCLASS@  ->  @LCLASS at _iterator -> unit
+   @!CLASS@  ->  @!CLASS at _iterator -> unit
    = "ppl_ at CLASS@_drop_disjunct"
 
 ')
@@ -467,17 +467,17 @@ m4_define(`ppl_ at CLASS@_drop_disjunct_code',
 m4_define(`ppl_ at CLASS@_drop_disjuncts_code',
  `
  external ppl_ at CLASS@_drop_disjuncts:
-   @LCLASS@  ->  @LCLASS at _iterator -> @LCLASS at _iterator -> unit
+   @!CLASS@  ->  @!CLASS at _iterator -> @!CLASS at _iterator -> unit
    = "ppl_ at CLASS@_drop_disjuncts"
 
 ')
 
 m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_code',
 `
-type @LCLASS at _iterator
+type @!CLASS at _iterator
 
 external ppl_new_ at CLASS@_iterator_from_iterator:
-  @LCLASS at _iterator -> @LCLASS at _iterator
+  @!CLASS at _iterator -> @!CLASS at _iterator
   = "ppl_new_ at CLASS@_iterator_from_iterator"
 
 ')
@@ -485,7 +485,7 @@ external ppl_new_ at CLASS@_iterator_from_iterator:
 m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
  `
  external ppl_ at CLASS@_ at INCDEC@_iterator:
-   @LCLASS at _iterator -> unit
+   @!CLASS at _iterator -> unit
    = "ppl_ at CLASS@_ at INCDEC@_iterator"
 
 ')
@@ -493,37 +493,38 @@ m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
 m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
  `
 external ppl_ at CLASS@_iterator_equals_iterator:
-  @LCLASS at _iterator ->  @LCLASS at _iterator -> bool
+  @!CLASS at _iterator ->  @!CLASS at _iterator -> bool
   = "ppl_ at CLASS@_iterator_equals_iterator"
 
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `dnl
-external ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign:
-  @LCLASS@ -> @LCLASS@ -> unit
-  = "ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign"
+external ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign:
+  @!CLASS@ -> @!CLASS@ -> unit
+  = "ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign"
 
 ')
 
 m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 `dnl
 external ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign:
-  @LCLASS@ -> @LCLASS@ -> int -> unit
+  @!CLASS@ -> @!CLASS@ -> int -> unit
   = "ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign"
 
 ')
 
-m4_define(`ppl_ at CLASS@_ascii_dump_code', `
+m4_define(`ppl_ at CLASS@_ascii_dump_code',
+`dnl
 external ppl_ at CLASS@_ascii_dump:
-  @LCLASS@ -> string = "ppl_ at CLASS@_ascii_dump"
+  @!CLASS@ -> string = "ppl_ at CLASS@_ascii_dump"
 
-' )
+')
 
 m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
 `dnl
 external ppl_ at CLASS@_linear_ at PARTITION@:
- @LCLASS@ -> @LCLASS@ -> @LCLASS@ * pointset_powerset_nnc_polyhedron
+ @!CLASS@ -> @!CLASS@ -> @!CLASS@ * pointset_powerset_nnc_polyhedron
  = "ppl_ at CLASS@_linear_partition"
 
 ')
@@ -531,8 +532,8 @@ external ppl_ at CLASS@_linear_ at PARTITION@:
 m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code',
 `dnl
 external ppl_ at CLASS@_approximate_ at PARTITION@:
- @LCLASS@ -> @LCLASS@ ->
-   @LCLASS@ * pointset_powerset_grid * bool
+ @!CLASS@ -> @!CLASS@ ->
+   @!CLASS@ * pointset_powerset_grid * bool
  = "ppl_ at CLASS@_approximate_partition"
 
 ')
@@ -540,7 +541,7 @@ external ppl_ at CLASS@_approximate_ at PARTITION@:
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
 external ppl_ at CLASS@_ at MAXMIN@:
-  @LCLASS@ -> linear_expression
+  @!CLASS@ -> linear_expression
   -> bool * Z.t * Z.t * bool
   = "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 3b9ee5a..746116a 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_mli.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -32,11 +32,7 @@ m4_include(`ppl_interface_generator_ocaml_procedure_generators.m4')
 m4_divert`'dnl
 m4_include(ppl_ocaml_globals.mli)
 m4_divert(-1)
-m4_pushdef(`m4_one_class_code', `dnl
-m4_replace_all_patterns_in_string($1,
-                                  `type @LCLASS@
-',
-                                  m4_pattern_list)`'dnl
+m4_pushdef(`m4_one_class_code', `type m4_downcase(m4_interface_class$1)
 ')
 
 dnl -----------------------------------------------------------------
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
index 919cd25..25cdd54 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_mli_code.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 This m4 file contains the program code for generating ppl_ocaml.mli
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -35,91 +35,91 @@ the definition is not yet implemented.
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_code',
 `dnl
 val ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension:
-  int -> degenerate_element -> @LCLASS@
+  int -> degenerate_element -> @!CLASS@
 
 ')
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 `dnl
 val ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s:
-  @BUILD_REPRESENT at _system -> @LCLASS@
+  @BUILD_REPRESENT at _system -> @!CLASS@
 
 ')
 
 m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 `dnl
 val ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@:
-  @LCLASS@ -> linear_ at RELATION_REPRESENT@
-  -> poly_ at ALT_RELATION_REPRESENT@_relation list
+  @!CLASS@ -> linear_ at RELATION_REPRESENT@
+  -> poly_ at A_RELATION_REPRESENT@_relation list
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at DIMENSION@_code',
 `dnl
 val ppl_ at CLASS@_ at DIMENSION@:
-  @LCLASS@ -> int
+  @!CLASS@ -> int
 ')
 
 m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_code',
 `dnl
 val ppl_ at CLASS@_ at HAS_PROPERTY@:
-  @LCLASS@ -> bool
+  @!CLASS@ -> bool
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_code',
 `dnl
 val ppl_ at CLASS@_ at SIMPLIFY@:
-  @LCLASS@ -> unit
+  @!CLASS@ -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_code',
 `dnl
 val ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@:
-  @LCLASS@ -> linear_expression -> bool
+  @!CLASS@ -> linear_expression -> bool
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `dnl
-val ppl_ at CLASS@_add_ at ADD_REPRESENT@:
-  @LCLASS@ -> linear_ at ADD_REPRESENT@ -> unit
+val ppl_ at CLASS@_add_ at CLASS_REPRESENT@:
+  @!CLASS@ -> linear_ at CLASS_REPRESENT@ -> unit
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `dnl
-val ppl_ at CLASS@_add_ at ADD_REPRESENT@s:
-  @LCLASS@ -> @ADD_REPRESENT at _system -> unit
+val ppl_ at CLASS@_add_ at CLASS_REPRESENT@s:
+  @!CLASS@ -> @CLASS_REPRESENT at _system -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 `dnl
 val ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@:
-  @LCLASS@ -> linear_ at REFINE_REPRESENT@ -> unit
+  @!CLASS@ -> linear_ at REFINE_REPRESENT@ -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 `dnl
 val ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s:
-  @LCLASS@ -> @REFINE_REPRESENT at _system -> unit
+  @!CLASS@ -> @REFINE_REPRESENT at _system -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
 `dnl
 val ppl_ at CLASS@_ at COMPARISON@_ at CLASS@:
-  @LCLASS@ -> @LCLASS@ -> bool
+  @!CLASS@ -> @!CLASS@ -> bool
 
 ')
 
 m4_define(`ppl_ at CLASS@_equals_ at CLASS@_code',
 `dnl
 val ppl_ at CLASS@_equals_ at CLASS@:
-  @LCLASS@ -> @LCLASS@ -> bool
+  @!CLASS@ -> @!CLASS@ -> bool
 
 ')
 
@@ -127,96 +127,96 @@ val ppl_ at CLASS@_equals_ at CLASS@:
 m4_define(`ppl_ at CLASS@_ at BINOP@_code',
 `dnl
 val ppl_ at CLASS@_ at BINOP@:
-   @LCLASS@ -> @LCLASS@ -> unit
+   @!CLASS@ -> @!CLASS@ -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_simplify_using_context_assign_code',
 `dnl
 val ppl_ at CLASS@_simplify_using_context_assign:
-  @LCLASS@ -> @LCLASS@ -> bool
+  @!CLASS@ -> @!CLASS@ -> bool
 
 ')
 
 m4_define(`ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@_code',
 `dnl
 val ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@:
-  @LCLASS@ -> int -> unit
+  @!CLASS@ -> int -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_remove_space_dimensions_code',
 `dnl
 val ppl_ at CLASS@_remove_space_dimensions:
-  @LCLASS@ -> int list -> unit
+  @!CLASS@ -> int list -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_remove_higher_space_dimensions_code',
 `dnl
 val ppl_ at CLASS@_remove_higher_space_dimensions:
-  @LCLASS@ -> int -> unit
+  @!CLASS@ -> int -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_fold_space_dimensions_code',
 `dnl
 val ppl_ at CLASS@_fold_space_dimensions:
-  @LCLASS@ -> int list -> int -> unit
+  @!CLASS@ -> int list -> int -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
 `dnl
 val ppl_ at CLASS@_map_space_dimensions:
-  @LCLASS@ -> (int*int) list -> unit
+  @!CLASS@ -> (int*int) list -> unit
 ')
 
 m4_define(`ppl_ at CLASS@_expand_space_dimension_code',
 `dnl
 val ppl_ at CLASS@_expand_space_dimension:
-  @LCLASS@ -> int -> int -> unit
+  @!CLASS@ -> int -> int -> unit
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `dnl
-val ppl_ at CLASS@_get_ at GET_REPRESENT@s:
-  @LCLASS@ -> @GET_REPRESENT at _system
+val ppl_ at CLASS@_get_ at CLASS_REPRESENT@s:
+  @!CLASS@ -> @CLASS_REPRESENT at _system
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `dnl
-val ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s:
-  @LCLASS@ -> @GET_REPRESENT at _system
+val ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s:
+  @!CLASS@ -> @CLASS_REPRESENT at _system
 
 ')
 
 m4_define(`ppl_ at CLASS@_constrains_code',
 `dnl
 val ppl_ at CLASS@_constrains:
-  @LCLASS@ -> int -> bool
+  @!CLASS@ -> int -> bool
 
 ')
 
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimension_code',
 `dnl
 val ppl_ at CLASS@_unconstrain_space_dimension:
-  @LCLASS@ -> int -> unit
+  @!CLASS@ -> int -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_code',
 `dnl
 val ppl_ at CLASS@_unconstrain_space_dimensions:
-  @LCLASS@ -> int list -> unit
+  @!CLASS@ -> int list -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
 `dnl
 val ppl_ at CLASS@_bounded_ at AFFIMAGE@:
-  @LCLASS@ -> int
+  @!CLASS@ -> int
   -> linear_expression -> linear_expression
   -> Z.t -> unit
 ')
@@ -224,14 +224,14 @@ val ppl_ at CLASS@_bounded_ at AFFIMAGE@:
 m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_code',
 `dnl
 val ppl_ at CLASS@_ at AFFIMAGE@:
-  @LCLASS@ -> int -> linear_expression -> Z.t -> unit
+  @!CLASS@ -> int -> linear_expression -> Z.t -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_code',
 `dnl
 val ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs:
-  @LCLASS@ -> linear_expression
+  @!CLASS@ -> linear_expression
   -> relation_symbol -> linear_expression
   -> unit
 
@@ -240,7 +240,7 @@ val ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs:
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_code',
 `dnl
 val ppl_ at CLASS@_generalized_ at AFFIMAGE@:
-  @LCLASS@ -> int -> relation_symbol -> linear_expression
+  @!CLASS@ -> int -> relation_symbol -> linear_expression
   -> Z.t -> unit
 
 ')
@@ -248,7 +248,7 @@ val ppl_ at CLASS@_generalized_ at AFFIMAGE@:
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_code',
 `dnl
 val ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence:
-  @LCLASS@ -> int -> relation_symbol -> linear_expression
+  @!CLASS@ -> int -> relation_symbol -> linear_expression
   -> Z.t -> Z.t -> unit
 
 ')
@@ -256,7 +256,7 @@ val ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence:
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_code',
 `dnl
 val ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence:
-  @LCLASS@ -> linear_expression
+  @!CLASS@ -> linear_expression
   -> relation_symbol -> linear_expression -> Z.t
   -> unit
 
@@ -265,35 +265,35 @@ val ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence:
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
 `dnl
 val ppl_ at CLASS@_ at WIDEN@_widening_assign:
-  @LCLASS@ -> @LCLASS@ -> unit
+  @!CLASS@ -> @!CLASS@ -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens_code',
 `dnl
 val ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens:
-  @LCLASS@ -> @LCLASS@ -> int -> int
+  @!CLASS@ -> @!CLASS@ -> int -> int
 
 ')
 
 m4_define(`ppl_ at CLASS@_widening_assign_code',
 `dnl
 val ppl_ at CLASS@_widening_assign:
-  @LCLASS@ -> @LCLASS@ -> unit
+  @!CLASS@ -> @!CLASS@ -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_widening_assign_with_tokens_code',
 `dnl
 val ppl_ at CLASS@_widening_assign_with_tokens:
-  @LCLASS@ -> @LCLASS@ -> int -> int
+  @!CLASS@ -> @!CLASS@ -> int -> int
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens_code',
 `dnl
 val ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens:
-  @LCLASS@ -> @LCLASS@
+  @!CLASS@ -> @!CLASS@
   -> @CONSTRAINER at _system -> int -> int
 
 ')
@@ -301,7 +301,7 @@ val ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens:
 m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 `dnl
 val ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign:
-  @LCLASS@ -> @LCLASS@
+  @!CLASS@ -> @!CLASS@
   -> @CONSTRAINER at _system -> unit
 
 ')
@@ -309,7 +309,7 @@ val ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign:
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `dnl
 val ppl_ at CLASS@_ at MAXMIN@:
-  @LCLASS@ -> linear_expression
+  @!CLASS@ -> linear_expression
   -> bool * Z.t * Z.t * bool
 
 ')
@@ -317,7 +317,7 @@ val ppl_ at CLASS@_ at MAXMIN@:
 m4_define(`ppl_ at CLASS@_ at MAXMIN@_with_point_code',
 `dnl
 val ppl_ at CLASS@_ at MAXMIN@_with_point:
-  @LCLASS@ -> linear_expression
+  @!CLASS@ -> linear_expression
   -> bool * Z.t * Z.t * bool * linear_generator
 
 ')
@@ -325,13 +325,13 @@ val ppl_ at CLASS@_ at MAXMIN@_with_point:
 m4_define(`ppl_ at CLASS@_OK_code',
 `dnl
 val ppl_ at CLASS@_OK:
-  @LCLASS@ -> bool
+  @!CLASS@ -> bool
 ')
 
 m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
- `dnl
+`dnl
 val ppl_ at CLASS@_ at MEMBYTES@:
-  @LCLASS@  -> int
+  @!CLASS@  -> int
 
 ')
 
@@ -339,124 +339,122 @@ val ppl_ at CLASS@_ at MEMBYTES@:
 m4_define(`ppl_ at CLASS@_swap_code',
 `dnl
 val ppl_ at CLASS@_swap:
-  @LCLASS@ -> @LCLASS@ -> unit
+  @!CLASS@ -> @!CLASS@ -> unit
 
 ')
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _code',
 `dnl
 val ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@:
-  @LALT_FRIEND@ -> @LCLASS@
+  @!A_FRIEND@ -> @!CLASS@
 
 ')
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_code',
 `dnl
 val ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity:
-  @LALT_FRIEND@ -> complexity_class -> @LCLASS@
+  @!A_FRIEND@ -> complexity_class -> @!CLASS@
 
 ')
 
+m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
+`dnl
+val ppl_ at CLASS@_ at UB_EXACT@:
+  @!CLASS@ -> @!CLASS@ -> bool
 
- m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
- `dnl
- val ppl_ at CLASS@_ at UB_EXACT@:
-   @LCLASS@ -> @LCLASS@ -> bool
-
- ')
+')
 
- m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
- `dnl
+m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
+`dnl
 val ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign:
-  @LCLASS@  -> @LCLASS@ -> unit
+  @!CLASS@  -> @!CLASS@ -> unit
 
- ')
+')
 
- m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens_code',
- `dnl
+m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens_code',
+`dnl
 val ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens:
-  @LCLASS@  -> @LCLASS@ -> int -> int
+  @!CLASS@  -> @!CLASS@ -> int -> int
 
- ')
+')
 
- m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
- `dnl
+m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
+`dnl
 val ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign:
-  @LCLASS@  -> @LCLASS@ -> unit
+  @!CLASS@  -> @!CLASS@ -> unit
 
- ')
+')
 
- m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_code',
- `dnl
+m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_code',
+`dnl
 val ppl_ at CLASS@_ at BEGINEND@_iterator:
-  @LCLASS@  -> @LCLASS at _iterator
+  @!CLASS@  -> @!CLASS at _iterator
 
 ')
 
 m4_define(`ppl_ at CLASS@_get_disjunct_code',
- `dnl
+`dnl
 val ppl_ at CLASS@_get_disjunct:
-  @LCLASS at _iterator  ->  @LDISJUNCT@
+  @!CLASS at _iterator  ->  @!DISJUNCT@
 
 ')
 
 m4_define(`ppl_ at CLASS@_add_disjunct_code',
- `dnl
+`dnl
 val ppl_ at CLASS@_add_disjunct:
-  @LCLASS@  ->  @LDISJUNCT@ -> unit
+  @!CLASS@  ->  @!DISJUNCT@ -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_drop_disjunct_code',
- `dnl
+`dnl
 val ppl_ at CLASS@_drop_disjunct:
-  @LCLASS@  ->  @LCLASS at _iterator -> unit
+  @!CLASS@  ->  @!CLASS at _iterator -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_drop_disjuncts_code',
- `dnl
+`dnl
 val ppl_ at CLASS@_drop_disjuncts:
-  @LCLASS@  ->  @LCLASS at _iterator -> @LCLASS at _iterator -> unit
+  @!CLASS@  ->  @!CLASS at _iterator -> @!CLASS at _iterator -> unit
 
 ')
 
 m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_code',
- `dnl
-type @LCLASS at _iterator
+`dnl
+type @!CLASS at _iterator
 
 val ppl_new_ at CLASS@_iterator_from_iterator:
-  @LCLASS at _iterator ->  @LCLASS at _iterator
+  @!CLASS at _iterator ->  @!CLASS at _iterator
 
 ')
 
 m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
- `dnl
+`dnl
 
 val ppl_ at CLASS@_iterator_equals_iterator:
-  @LCLASS at _iterator ->  @LCLASS at _iterator -> bool
+  @!CLASS at _iterator ->  @!CLASS at _iterator -> bool
 
 ')
 
 m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
- `dnl
+`dnl
 val ppl_ at CLASS@_ at INCDEC@_iterator:
-  @LCLASS at _iterator -> unit
+  @!CLASS at _iterator -> unit
 
 ')
 
-
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `dnl
-val ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign:
-  @LCLASS@ -> @LCLASS@ -> unit
+val ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign:
+  @!CLASS@ -> @!CLASS@ -> unit
 
 ')
 
 m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 `dnl
 val ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign:
-  @LCLASS@ -> @LCLASS@ -> int -> unit
+  @!CLASS@ -> @!CLASS@ -> int -> unit
 
 ')
 
@@ -464,21 +462,21 @@ m4_define(`ppl_ at CLASS@_ascii_dump_code',
 `dnl
 
 val ppl_ at CLASS@_ascii_dump:
-  @LCLASS@ -> string
+  @!CLASS@ -> string
 
 ')
 
 m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
 `dnl
 val ppl_ at CLASS@_linear_ at PARTITION@:
- @LCLASS@ -> @LCLASS@ -> @LCLASS@ * pointset_powerset_nnc_polyhedron
+  @!CLASS@ -> @!CLASS@ -> @!CLASS@ * pointset_powerset_nnc_polyhedron
 
 ')
 
 m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code',
 `dnl
 val ppl_ at CLASS@_approximate_ at PARTITION@:
- @LCLASS@ -> @LCLASS@ ->
-   @LCLASS@ * pointset_powerset_grid * bool
+  @!CLASS@ -> @!CLASS@ ->
+    @!CLASS@ * pointset_powerset_grid * bool
 
 ')
diff --git a/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4 b/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
index 0c7c0ba..698fb7c 100644
--- a/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
+++ b/interfaces/OCaml/ppl_interface_generator_ocaml_procedure_generators.m4
@@ -4,7 +4,7 @@ dnl This m4 file defines the list of procedures
 dnl for the OCaml interface; this includes:
 dnl - the list in the imported file and any OCaml specific procedures.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/OCaml/ppl_ocaml_common.cc b/interfaces/OCaml/ppl_ocaml_common.cc
index d1a8166..e13a4ee 100644
--- a/interfaces/OCaml/ppl_ocaml_common.cc
+++ b/interfaces/OCaml/ppl_ocaml_common.cc
@@ -1,5 +1,5 @@
 /* Domain-independent part of the OCaml interface: non-inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +21,6 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_ocaml_common.defs.hh"
-//#include <stdexcept>
 
 namespace Parma_Polyhedra_Library {
 
@@ -79,70 +78,61 @@ class PFunc {
   }
 };
 
-#define CATCH_ALL							\
-  catch(std::bad_alloc&) {						\
-    caml_raise_out_of_memory();						\
-  }									\
-  catch(std::invalid_argument& e) {					\
-    caml_invalid_argument(const_cast<char*>(e.what()));			\
-  }									\
-  catch(std::overflow_error& e) {					\
-    caml_raise_with_string(*caml_named_value("PPL_arithmetic_overflow"), \
-			   (const_cast<char*>(e.what())));		\
-  }									\
-  catch(std::runtime_error& e) {					\
-    caml_raise_with_string(*caml_named_value("PPL_internal_error"),	\
-			   (const_cast<char*>(e.what())));		\
-  }									\
-  catch(std::exception& e) {						\
-    caml_raise_with_string(*caml_named_value("PPL_unknown_standard_exception"), \
-			   (const_cast<char*>(e.what())));		\
-  }									\
-  catch(...) {								\
-    caml_raise_constant(*caml_named_value("PPL_unexpected_error"));	\
-  }
 
-static inline mpz_t* mpz_val(value val) {
-  return ((mpz_t*) (Data_custom_val(val)));
-}
+#ifdef PPL_WATCHDOG_LIBRARY_ENABLED
 
-// Function for the management of mpz_t integers.
-extern "C" struct custom_operations _mlgmp_custom_z;
+Parma_Watchdog_Library::Watchdog* p_timeout_object = 0;
 
-static inline value alloc_mpz(void) {
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
 
-  return caml_alloc_custom(&_mlgmp_custom_z, sizeof(mpz_t), 0, 1);
+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
 }
 
-Variable
-build_ppl_Variable(value caml_var) {
-  long ppl_var_index = Int_val(caml_var);
-  check_int_is_unsigned(ppl_var_index);
-  return Variable(ppl_var_index);
+namespace {
+
+inline mpz_ptr
+mpz_ptr_val(value val) {
+  return static_cast<mpz_ptr>(Data_custom_val(val));
 }
 
-// FIXME: this same function is used also in the C interface.
-// It should be placed in some common header file in the interfaces
-// directory.
-//! Reinterpret an mpz_t as mpz_class.
 inline mpz_class&
-reinterpret_mpz_class(mpz_t n) {
-  return reinterpret_cast<mpz_class&>(*n);
+mpz_class_val(value val) {
+  return reinterpret_cast<mpz_class&>(*mpz_ptr_val(val));
+}
+
+// Function for the management of mpz_t integers.
+extern "C" struct custom_operations _mlgmp_custom_z;
+
+inline value
+unregistered_value_p_zero_mpz(void) {
+  value zero_mpz = caml_alloc_custom(&_mlgmp_custom_z, sizeof(mpz_t), 0, 1);
+  mpz_init(mpz_ptr_val(zero_mpz));
+  return zero_mpz;
 }
 
+} // anonymous namespace
+
 value
 build_ocaml_coefficient(const Coefficient& ppl_coeff) {
-  value ml_coeff = alloc_mpz();
-  mpz_init(*mpz_val(ml_coeff));
-  assign_r(reinterpret_mpz_class(*mpz_val(ml_coeff)), ppl_coeff,
- 	   ROUND_NOT_NEEDED);
-  return ml_coeff;
+  CAMLparam0();
+  CAMLlocal1(ml_coeff);
+  ml_coeff = unregistered_value_p_zero_mpz();
+  assign_r(mpz_class_val(ml_coeff), ppl_coeff, ROUND_NOT_NEEDED);
+  CAMLreturn(ml_coeff);
 }
 
 Coefficient
 build_ppl_Coefficient(value coeff) {
-   mpz_class z((__mpz_struct*) Data_custom_val(coeff));
-   return Coefficient(z);
+  mpz_class z(mpz_ptr_val(coeff));
+  return Coefficient(z);
 }
 
 Linear_Expression
@@ -150,10 +140,10 @@ build_ppl_Linear_Expression(value e) {
   switch (Tag_val(e)) {
   case 0:
     // Variable
-    return Variable(Long_val(Field(e, 0)));
+    return build_ppl_Variable(Field(e, 0));
   case 1: {
     // Coefficient
-    mpz_class z((__mpz_struct*) Data_custom_val(Field(e, 0)));
+    mpz_class z(mpz_ptr_val(Field(e, 0)));
     return Linear_Expression(Coefficient(z));
   }
   case 2:
@@ -172,16 +162,18 @@ build_ppl_Linear_Expression(value e) {
       - build_ppl_Linear_Expression(Field(e, 1));
   case 6: {
     // Times
-    mpz_class z((__mpz_struct*) Data_custom_val(Field(e, 0)));
+    mpz_class z(mpz_ptr_val(Field(e, 0)));
     return Coefficient(z) * build_ppl_Linear_Expression(Field(e, 1));
   }
   default:
-    caml_invalid_argument("Error building PPL::Linear_Expression");
+    throw std::invalid_argument("PPL OCaml interface invalid_argument\n:"
+                                "error building PPL::Linear_Expression");
   }
 }
 
 Relation_Symbol
 build_ppl_relsym(value caml_relsym) {
+  assert(Is_long(caml_relsym));
   switch (Int_val(caml_relsym)) {
   case 0:
     return LESS_THAN;
@@ -193,14 +185,16 @@ build_ppl_relsym(value caml_relsym) {
     return GREATER_OR_EQUAL;
   case 4:
     return GREATER_THAN;
- default:
-   // We should not be here!
-   throw std::runtime_error("PPL OCaml interface internal error");
+  default:
+    // We should not be here!
+    throw std::runtime_error("PPL OCaml interface internal error\n:"
+                             "build_ppl_relsym(rel)");
   }
 }
 
 Optimization_Mode
 build_ppl_opt_mode(value caml_opt_mode) {
+  assert(Is_long(caml_opt_mode));
   switch (Int_val(caml_opt_mode)) {
   case 0:
     return MINIMIZATION;
@@ -208,56 +202,59 @@ build_ppl_opt_mode(value caml_opt_mode) {
     return MAXIMIZATION;
   default:
     // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error");
+    throw std::runtime_error("PPL OCaml interface internal error\n:"
+                             "build_ppl_opt_mode(opt)");
   }
 }
 
 Degenerate_Element
 build_ppl_Degenerate_Element(value de) {
+  assert(Is_long(de));
   switch (Int_val(de)) {
-  case 0: {
+  case 0:
     return UNIVERSE;
-  }
-  case 1: {
+  case 1:
     return EMPTY;
-  }
- default:
-  // We should not be here!
-  throw std::runtime_error("PPL OCaml interface internal error");
+  default:
+    // We should not be here!
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ppl_Degenerate_Element(de)");
   }
 }
 
 Complexity_Class
 build_ppl_Complexity_Class(value cc) {
+  assert(Is_long(cc));
   switch (Int_val(cc)) {
-  case 0: {
+  case 0:
     return POLYNOMIAL_COMPLEXITY;
-  }
-  case 1: {
+  case 1:
     return SIMPLEX_COMPLEXITY;
-  }
-  case 2: {
+  case 2:
     return ANY_COMPLEXITY;
-  }
- default:
-  // We should not be here!
-  throw std::runtime_error("PPL OCaml interface internal error");
+  default:
+    // We should not be here!
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ppl_Complexity_Class(cc)");
   }
 }
 
- MIP_Problem::Control_Parameter_Name
+MIP_Problem::Control_Parameter_Name
 build_ppl_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");
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ppl_control_parameter_name(cpn)");
   }
 }
 
- MIP_Problem::Control_Parameter_Value
+MIP_Problem::Control_Parameter_Value
 build_ppl_control_parameter_value(value caml_cp_value) {
+  assert(Is_long(caml_cp_value));
   switch (Int_val(caml_cp_value)) {
   case 0:
     return MIP_Problem::PRICING_STEEPEST_EDGE_FLOAT;
@@ -267,19 +264,16 @@ build_ppl_control_parameter_value(value caml_cp_value) {
     return MIP_Problem::PRICING_TEXTBOOK;
   default:
     // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error");
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ppl_control_parameter_value(cpv)");
   }
 }
 
 Variables_Set
 build_ppl_Variables_Set(value caml_vset) {
   Variables_Set ppl_vset;
-  if (Int_val(caml_vset) == 0)
-    return ppl_vset;
-  while (true) {
-    ppl_vset.insert(Int_val(Field(caml_vset, 0)));
-    if (Int_val(Field(caml_vset, 1)) == 0)
-      break;
+  while (caml_vset != Val_emptylist) {
+    ppl_vset.insert(value_to_ppl_dimension(Field(caml_vset, 0)));
     caml_vset = Field(caml_vset, 1);
   }
   return ppl_vset;
@@ -306,7 +300,8 @@ build_ppl_Constraint(value c) {
     // Greater_Or_Equal
     return build_ppl_Linear_Expression(e1) >= build_ppl_Linear_Expression(e2);
   default:
-    caml_invalid_argument("Error building PPL::Constraint");
+    throw std::invalid_argument("PPL OCaml interface invalid argument:\n"
+                                "error building PPL::Constraint");
   }
 }
 
@@ -314,11 +309,13 @@ build_ppl_Constraint(value c) {
 template <typename R>
 CAMLprim value
 get_inhomogeneous_term(const R& r) {
-  TEMP_INTEGER(coeff);
+  CAMLparam0();
+  CAMLlocal1(coeff_term);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   neg_assign(coeff, r.inhomogeneous_term());
-  value coeff_term = caml_alloc(1,1);
-  Field(coeff_term, 0) = build_ocaml_coefficient(coeff);
-  return coeff_term;
+  coeff_term = caml_alloc(1,1);
+  Store_field(coeff_term, 0, build_ocaml_coefficient(coeff));
+  CAMLreturn(coeff_term);
 }
 
 // Takes from constraints, generators... the embedded linear
@@ -326,45 +323,46 @@ get_inhomogeneous_term(const R& r) {
 template <typename R>
 CAMLprim value
 get_linear_expression(const R& r) {
+  CAMLparam0();
+  CAMLlocal2(zero_term, zero_mpz);
+  CAMLlocal5(sum, term1, ml_le_var1, term2, ml_le_var2);
   dimension_type space_dimension = r.space_dimension();
   dimension_type varid = 0;
-  TEMP_INTEGER(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
   while (varid < space_dimension
 	 && (coeff = r.coefficient(Variable(varid))) == 0)
     ++varid;
   if (varid >= space_dimension) {
-    value zero_term = caml_alloc(1,1);
-    value zero_mpz = alloc_mpz();
-    mpz_init_set_ui(*mpz_val(zero_mpz), 0);
-    Field(zero_term, 0) = zero_mpz;
-    return zero_term;
+    zero_mpz = unregistered_value_p_zero_mpz();
+    zero_term = caml_alloc(1,1);
+    Store_field(zero_term, 0, zero_mpz);
+    CAMLreturn(zero_term);
   }
   else {
-    value term1 = caml_alloc(2,6);
-    TEMP_INTEGER(ppl_coeff);
+    ml_le_var1 = caml_alloc(1,0);
+    Store_field(ml_le_var1, 0, ppl_dimension_to_value(varid));
+    term1 = caml_alloc(2,6);
+    PPL_DIRTY_TEMP_COEFFICIENT(ppl_coeff);
     ppl_coeff = r.coefficient(Variable(varid));
-    Field(term1, 0) = build_ocaml_coefficient(ppl_coeff);
-    value ml_le_var1 = caml_alloc(1,0);
-    Field(ml_le_var1, 0) = Val_int(varid);
-    Field(term1, 1) = ml_le_var1;
+    Store_field(term1, 0, build_ocaml_coefficient(ppl_coeff));
+    Store_field(term1, 1, ml_le_var1);
     while (true) {
       ++varid;
-      value sum;
       while (varid < space_dimension
 	     && (coeff = r.coefficient(Variable(varid))) == 0)
 	++varid;
       if (varid >= space_dimension)
-	return term1;
+	CAMLreturn(term1);
       else {
-	sum = caml_alloc(2,4);
-	value term2 = caml_alloc(2,6);
+	ml_le_var2 = caml_alloc(1,0);
+	Store_field(ml_le_var2, 0, ppl_dimension_to_value(varid));
+	term2 = caml_alloc(2,6);
 	ppl_coeff = r.coefficient(Variable(varid));
-	Field(term2, 0) = build_ocaml_coefficient(ppl_coeff);
-	value ml_le_var2 = caml_alloc(1,0);
-	Field(ml_le_var2, 0) = Val_int(varid);
-	Field(term2, 1) = ml_le_var2;
-	Field(sum, 0) = term1;
-	Field(sum, 1) = term2;
+	Store_field(term2, 0, build_ocaml_coefficient(ppl_coeff));
+	Store_field(term2, 1, ml_le_var2);
+	sum = caml_alloc(2,4);
+	Store_field(sum, 0, term1);
+	Store_field(sum, 1, term2);
 	term1 = sum;
       }
     }
@@ -373,224 +371,238 @@ get_linear_expression(const R& r) {
 
 value
 build_ocaml_generator(const Generator& ppl_generator) {
+  CAMLparam0();
+  CAMLlocal1(caml_generator);
   switch (ppl_generator.type()) {
   case Generator::LINE: {
     // Store the linear expression. (1,0) stands for
     // allocate one block (the linear expression) with Tag 0 (a line here).
-    value caml_generator = caml_alloc(1,0);
-    Field(caml_generator, 0) = get_linear_expression(ppl_generator);
-    return caml_generator;
+    caml_generator = caml_alloc(1,0);
+    Store_field(caml_generator, 0, get_linear_expression(ppl_generator));
+    CAMLreturn(caml_generator);
   }
   case Generator::RAY: {
-    value caml_generator = caml_alloc(1,1);
-    Field(caml_generator, 0) = get_linear_expression(ppl_generator);
-    return caml_generator;
+    caml_generator = caml_alloc(1,1);
+    Store_field(caml_generator, 0, get_linear_expression(ppl_generator));
+    CAMLreturn(caml_generator);
   }
   case Generator::POINT: {
     // Allocates two blocks (the linear expression and the divisor)
     // of tag 2 (Point).
-    value caml_generator = caml_alloc(2,2);
-    Field(caml_generator, 0) = get_linear_expression(ppl_generator);
+    caml_generator = caml_alloc(2,2);
+    Store_field(caml_generator, 0, get_linear_expression(ppl_generator));
     const Coefficient& divisor = ppl_generator.divisor();
-    Field(caml_generator, 1) = build_ocaml_coefficient(divisor);
-    return caml_generator;
+    Store_field(caml_generator, 1, build_ocaml_coefficient(divisor));
+    CAMLreturn(caml_generator);
   }
   case Generator::CLOSURE_POINT:  {
-    value caml_generator = caml_alloc(2,3);
-    Field(caml_generator, 0) = get_linear_expression(ppl_generator);
+    caml_generator = caml_alloc(2,3);
+    Store_field(caml_generator, 0, get_linear_expression(ppl_generator));
     const Coefficient& divisor = ppl_generator.divisor();
-    Field(caml_generator, 1) =  build_ocaml_coefficient(divisor);
-    return caml_generator;
+    Store_field(caml_generator, 1, build_ocaml_coefficient(divisor));
+    CAMLreturn(caml_generator);
   }
   default:
-    throw std::runtime_error("PPL OCaml interface internal error");
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ocaml_generator(g)");
   }
 }
 
 value
 build_ocaml_grid_generator(const Grid_Generator& ppl_grid_generator) {
+  CAMLparam0();
+  CAMLlocal1(caml_generator);
   switch (ppl_grid_generator.type()) {
   case Grid_Generator::LINE: {
     // Store the linear expression. (1,0) stands for
     // allocate one block (the linear expression) with Tag 0 (a line here).
-    value caml_generator = caml_alloc(1,0);
-    Field(caml_generator, 0) = get_linear_expression(ppl_grid_generator);
-    return caml_generator;
+    caml_generator = caml_alloc(1,0);
+    Store_field(caml_generator, 0, get_linear_expression(ppl_grid_generator));
+    CAMLreturn(caml_generator);
   }
   case Grid_Generator::PARAMETER: {
-    value caml_generator = caml_alloc(2,1);
-    Field(caml_generator, 0) = get_linear_expression(ppl_grid_generator);
+    caml_generator = caml_alloc(2,1);
+    Store_field(caml_generator, 0, get_linear_expression(ppl_grid_generator));
     const Coefficient& divisor = ppl_grid_generator.divisor();
-    Field(caml_generator, 1) = build_ocaml_coefficient(divisor);
-    return caml_generator;
+    Store_field(caml_generator, 1, build_ocaml_coefficient(divisor));
+    CAMLreturn(caml_generator);
   }
   case Grid_Generator::POINT: {
     // Allocates two blocks (the linear expression and the divisor)
     // of tag 2 (Point).
-    value caml_generator = caml_alloc(2,2);
-    Field(caml_generator, 0) = get_linear_expression(ppl_grid_generator);
+    caml_generator = caml_alloc(2,2);
+    Store_field(caml_generator, 0, get_linear_expression(ppl_grid_generator));
     const Coefficient& divisor = ppl_grid_generator.divisor();
-    Field(caml_generator, 1) = build_ocaml_coefficient(divisor);
-    return caml_generator;
+    Store_field(caml_generator, 1, build_ocaml_coefficient(divisor));
+    CAMLreturn(caml_generator);
   }
-
   default:
-    throw std::runtime_error("PPL OCaml interface internal error");
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ocaml_grid_generator(g)");
   }
 }
 
 value
 build_ocaml_constraint(const Constraint& ppl_constraint) {
+  CAMLparam0();
+  CAMLlocal1(caml_constraint);
   switch (ppl_constraint.type()) {
   case Constraint::EQUALITY: {
-    value caml_constraint = caml_alloc(2,2);
-    Field(caml_constraint, 0) = get_linear_expression(ppl_constraint);
-    Field(caml_constraint, 1) = get_inhomogeneous_term(ppl_constraint);
-    return caml_constraint;
+    caml_constraint = caml_alloc(2,2);
+    Store_field(caml_constraint, 0, get_linear_expression(ppl_constraint));
+    Store_field(caml_constraint, 1, get_inhomogeneous_term(ppl_constraint));
+    CAMLreturn(caml_constraint);
   }
   case Constraint::STRICT_INEQUALITY: {
-    value caml_constraint = caml_alloc(2,3);
-    Field(caml_constraint, 0) = get_linear_expression(ppl_constraint);
-    Field(caml_constraint, 1) = get_inhomogeneous_term(ppl_constraint);
-    return caml_constraint;
+    caml_constraint = caml_alloc(2,3);
+    Store_field(caml_constraint, 0, get_linear_expression(ppl_constraint));
+    Store_field(caml_constraint, 1, get_inhomogeneous_term(ppl_constraint));
+    CAMLreturn(caml_constraint);
   }
   case Constraint::NONSTRICT_INEQUALITY: {
-    value caml_constraint = caml_alloc(2,4);
-    Field(caml_constraint, 0) = get_linear_expression(ppl_constraint);
-    Field(caml_constraint, 1) = get_inhomogeneous_term(ppl_constraint);
-    return caml_constraint;
+    caml_constraint = caml_alloc(2,4);
+    Store_field(caml_constraint, 0, get_linear_expression(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");
+    throw std::runtime_error("PPL OCaml interface internal error:\n"
+                             "build_ocaml_constraint(c)");
   }
 }
 
 value
 build_ocaml_congruence(const Congruence& ppl_congruence) {
-    value caml_congruence = caml_alloc(3,0);
-    Field(caml_congruence, 0) = get_linear_expression(ppl_congruence);
-    Field(caml_congruence, 1) = get_inhomogeneous_term(ppl_congruence);
-    const Coefficient& modulus = ppl_congruence.modulus();
-    Field(caml_congruence, 2) = build_ocaml_coefficient(modulus);
-    return caml_congruence;
+  CAMLparam0();
+  CAMLlocal1(caml_congruence);
+  caml_congruence = caml_alloc(3,0);
+  Store_field(caml_congruence, 0, get_linear_expression(ppl_congruence));
+  Store_field(caml_congruence, 1, get_inhomogeneous_term(ppl_congruence));
+  const Coefficient& modulus = ppl_congruence.modulus();
+  Store_field(caml_congruence, 2, build_ocaml_coefficient(modulus));
+  CAMLreturn(caml_congruence);
 }
 
 value
 build_ocaml_congruence_system(const Congruence_System& ppl_cgs) {
-  // This code builds a list of constraints starting from bottom to
-  // top. A list on OCaml must be built like a sequence of Cons and Tail.
-  // The first element is the Nil list (the Val_int(0)).
-  value result = Val_int(0);
+  CAMLparam0();
+  CAMLlocal2(result, new_tail);
+  result = Val_emptylist;
   for (Congruence_System::const_iterator v_begin = ppl_cgs.begin(),
   	 v_end = ppl_cgs.end(); v_begin != v_end; ++v_begin) {
-    value new_tail = caml_alloc_tuple(2);
-    Field(new_tail, 0) = build_ocaml_congruence(*v_begin);
-    Field(new_tail, 1) = result;
+    new_tail = caml_alloc_tuple(2);
+    Store_field(new_tail, 0, build_ocaml_congruence(*v_begin));
+    Store_field(new_tail, 1, result);
     result = new_tail;
   }
-  return result;
+  CAMLreturn(result);
 }
 
 value
 build_ocaml_constraint_system(const Constraint_System& ppl_cs) {
-  // This code builds a list of constraints starting from bottom to
-  // top. A list on OCaml must be built like a sequence of Cons and Tail.
-  // The first element is the Nil list (the Val_int(0)).
-  value result = Val_int(0);
+  CAMLparam0();
+  CAMLlocal2(result, new_tail);
+  result = Val_emptylist;
   for (Constraint_System::const_iterator v_begin = ppl_cs.begin(),
   	 v_end = ppl_cs.end(); v_begin != v_end; ++v_begin) {
-    value new_tail = caml_alloc_tuple(2);
-    Field(new_tail, 0) = build_ocaml_constraint(*v_begin);
-    Field(new_tail, 1) = result;
+    new_tail = caml_alloc_tuple(2);
+    Store_field(new_tail, 0, build_ocaml_constraint(*v_begin));
+    Store_field(new_tail, 1, result);
     result = new_tail;
   }
-  return result;
+  CAMLreturn(result);
 }
 
 value
 build_ocaml_generator_system(const Generator_System& ppl_gs) {
-  value result = Val_int(0);
+  CAMLparam0();
+  CAMLlocal2(result, new_tail);
+  result = Val_emptylist;
   for (Generator_System::const_iterator v_begin = ppl_gs.begin(),
   	 v_end = ppl_gs.end(); v_begin != v_end; ++v_begin) {
-    value new_tail = caml_alloc_tuple(2);
-    Field(new_tail, 0) = build_ocaml_generator(*v_begin);
-    Field(new_tail, 1) = result;
+    new_tail = caml_alloc_tuple(2);
+    Store_field(new_tail, 0, build_ocaml_generator(*v_begin));
+    Store_field(new_tail, 1, result);
     result = new_tail;
   }
-  return result;
+  CAMLreturn(result);
 }
 
 value
 build_ocaml_grid_generator_system(const Grid_Generator_System& ppl_ggs) {
-  value result = Val_int(0);
+  CAMLparam0();
+  CAMLlocal2(result, new_tail);
+  result = Val_emptylist;
   for (Grid_Generator_System::const_iterator v_begin = ppl_ggs.begin(),
   	 v_end = ppl_ggs.end(); v_begin != v_end; ++v_begin) {
-    value new_tail = caml_alloc_tuple(2);
-    Field(new_tail, 0) = build_ocaml_grid_generator(*v_begin);
-    Field(new_tail, 1) = result;
+    new_tail = caml_alloc_tuple(2);
+    Store_field(new_tail, 0, build_ocaml_grid_generator(*v_begin));
+    Store_field(new_tail, 1, result);
     result = new_tail;
   }
-  return result;
+  CAMLreturn(result);
 }
 
 value
 build_ocaml_poly_con_relation(Poly_Con_Relation& r) {
-  value result = Val_int(0);
-  value cons;
+  CAMLparam0();
+  CAMLlocal2(result, cons);
+  result = Val_emptylist;
   while (r != Poly_Con_Relation::nothing()) {
     if (r.implies(Poly_Con_Relation::is_disjoint())) {
       cons = caml_alloc_tuple(2);
-      Field(cons, 0) = Val_int(0);
-      Field(cons, 1) = result;
+      Store_field(cons, 0, Val_int(0));
+      Store_field(cons, 1, result);
       result = cons;
       r = r - Poly_Con_Relation::is_disjoint();
     }
     else if (r.implies(Poly_Con_Relation::strictly_intersects())) {
       cons = caml_alloc_tuple(2);
-      Field(cons, 0) = Val_int(1);
-      Field(cons, 1) = result;
+      Store_field(cons, 0, Val_int(1));
+      Store_field(cons, 1, result);
       result = cons;
       r = r - Poly_Con_Relation::strictly_intersects();
     }
     else if (r.implies(Poly_Con_Relation::is_included())) {
       cons = caml_alloc_tuple(2);
-      Field(cons, 0) = Val_int(2);
-      Field(cons, 1) = result;
+      Store_field(cons, 0, Val_int(2));
+      Store_field(cons, 1, result);
       result = cons;
       r = r - Poly_Con_Relation::is_included();
     }
     else if (r.implies(Poly_Con_Relation::saturates())) {
       cons = caml_alloc_tuple(2);
-      Field(cons, 0) = Val_int(3);
-      Field(cons, 1) = result;
+      Store_field(cons, 0, Val_int(3));
+      Store_field(cons, 1, result);
       result = cons;
       r = r - Poly_Con_Relation::saturates();
     }
   }
-  return result;
+  CAMLreturn(result);
 }
 
 value
 build_ocaml_poly_gen_relation(Poly_Gen_Relation& r) {
-  value result = Val_int(0);
-  value cons;
+  CAMLparam0();
+  CAMLlocal2(result, cons);
+  result = Val_emptylist;
   while (r != Poly_Gen_Relation::nothing()) {
     if (r.implies(Poly_Gen_Relation::subsumes())) {
       cons = caml_alloc_tuple(2);
-      Field(cons, 0) = Val_int(0);
-      Field(cons, 1) = result;
+      Store_field(cons, 0, Val_int(0));
+      Store_field(cons, 1, result);
       result = cons;
       r = r - Poly_Gen_Relation::subsumes();
     }
   }
-  return result;
+  CAMLreturn(result);
 }
 
 Congruence
 build_ppl_Congruence(value c) {
   value e1 = Field(c, 0);
   value e2 = Field(c, 1);
-  mpz_class z((__mpz_struct*) Data_custom_val(Field(c, 2)));
+  mpz_class z(mpz_ptr_val(Field(c, 2)));
   Linear_Expression lhs = build_ppl_Linear_Expression(e1);
   Linear_Expression rhs = build_ppl_Linear_Expression(e2);
   return ((lhs %= rhs) / z);
@@ -607,18 +619,19 @@ build_ppl_Generator(value g) {
     return Generator::ray(build_ppl_Linear_Expression(Field(g, 0)));
   case 2: {
     // Point
-    mpz_class z((__mpz_struct*) Data_custom_val(Field(g, 1)));
+    mpz_class z(mpz_ptr_val(Field(g, 1)));
     return Generator::point(build_ppl_Linear_Expression(Field(g, 0)),
 			    Coefficient(z));
   }
   case 3: {
     // Closure_point
-    mpz_class z((__mpz_struct*) Data_custom_val(Field(g, 1)));
+    mpz_class z(mpz_ptr_val(Field(g, 1)));
     return Generator::closure_point(build_ppl_Linear_Expression(Field(g, 0)),
 				    Coefficient(z));
   }
   default:
-    caml_invalid_argument("Error building PPL::Constraint");
+    throw std::invalid_argument("PPL OCaml interface invalid argument:\n"
+                                "error building PPL::Generator");
   }
 }
 
@@ -630,26 +643,27 @@ build_ppl_Grid_Generator(value gg) {
      return grid_line(build_ppl_Linear_Expression(Field(gg, 0)));
    case 1: {
      // Parameter
-     mpz_class z((__mpz_struct*) Data_custom_val(Field(gg, 1)));
+     mpz_class z(mpz_ptr_val(Field(gg, 1)));
      return parameter(build_ppl_Linear_Expression(Field(gg, 0)),
 		      Coefficient(z));
    }
    case 2: {
      // Point
-     mpz_class z((__mpz_struct*) Data_custom_val(Field(gg, 1)));
+     mpz_class z(mpz_ptr_val(Field(gg, 1)));
      return grid_point(build_ppl_Linear_Expression(Field(gg, 0)),
 		       Coefficient(z));
    }
   default:
     // We should not be here!
-    throw std::runtime_error("PPL OCaml interface internal error");
+    throw std::invalid_argument("PPL OCaml interface invalid argument:\n"
+                                "error building PPL::Grid_Generator");
   }
 }
 
 Constraint_System
 build_ppl_Constraint_System(value cl) {
   Constraint_System cs;
-  while (cl != Val_int(0)) {
+  while (cl != Val_emptylist) {
     cs.insert(build_ppl_Constraint(Field(cl, 0)));
     cl = Field(cl, 1);
   }
@@ -659,7 +673,7 @@ build_ppl_Constraint_System(value cl) {
 Generator_System
 build_ppl_Generator_System(value gl) {
   Generator_System gs;
-  while (gl != Val_int(0)) {
+  while (gl != Val_emptylist) {
     gs.insert(build_ppl_Generator(Field(gl, 0)));
     gl = Field(gl, 1);
   }
@@ -669,7 +683,7 @@ build_ppl_Generator_System(value gl) {
 Congruence_System
 build_ppl_Congruence_System(value cgl) {
   Congruence_System cgs;
-  while (cgl != Val_int(0)) {
+  while (cgl != Val_emptylist) {
     cgs.insert(build_ppl_Congruence(Field(cgl, 0)));
     cgl = Field(cgl, 1);
   }
@@ -679,7 +693,7 @@ build_ppl_Congruence_System(value cgl) {
 Grid_Generator_System
 build_ppl_Grid_Generator_System(value caml_ggs) {
   Grid_Generator_System ggs;
-  while (caml_ggs != Val_int(0)) {
+  while (caml_ggs != Val_emptylist) {
     ggs.insert(build_ppl_Grid_Generator(Field(caml_ggs, 0)));
     caml_ggs = Field(caml_ggs, 1);
   }
@@ -707,11 +721,11 @@ static struct custom_operations MIP_Problem_custom_operations = {
 };
 
 inline value
-val_p_MIP_Problem(const MIP_Problem& ph) {
+unregistered_value_p_MIP_Problem(const MIP_Problem& ph) {
   value v = caml_alloc_custom(&MIP_Problem_custom_operations,
-			      sizeof(MIP_Problem*), 0, 1);
+                              sizeof(MIP_Problem*), 0, 1);
   p_MIP_Problem_val(v) = const_cast<MIP_Problem*>(&ph);
-  return(v);
+  return v;
 }
 
 } // namespace OCaml
@@ -727,10 +741,9 @@ extern "C"
 CAMLprim value
 ppl_new_MIP_Problem_from_space_dimension(value d) try {
   CAMLparam1(d);
-  int dd = Int_val(d);
-  if (dd < 0)
-    abort();
-  CAMLreturn(val_p_MIP_Problem(*new MIP_Problem(dd)));
+  dimension_type dd = value_to_ppl_dimension(d);
+  MIP_Problem& ppl_mip = *new MIP_Problem(dd);
+  CAMLreturn(unregistered_value_p_MIP_Problem(ppl_mip));
 }
 CATCH_ALL
 
@@ -739,14 +752,12 @@ CAMLprim value
 ppl_new_MIP_Problem(value d, value caml_cs, value caml_cost,
 		    value caml_opt_mode) try {
   CAMLparam4(d, caml_cs, caml_cost, caml_opt_mode);
-  int dd = Int_val(d);
-  if (dd < 0)
-    abort();
+  dimension_type dd = value_to_ppl_dimension(d);
   Constraint_System ppl_cs = build_ppl_Constraint_System(caml_cs);
   Linear_Expression ppl_cost = build_ppl_Linear_Expression(caml_cost);
   Optimization_Mode ppl_opt_mode = build_ppl_opt_mode(caml_opt_mode);
-  CAMLreturn(val_p_MIP_Problem(*new MIP_Problem(dd, ppl_cs, ppl_cost,
-						ppl_opt_mode)));
+  MIP_Problem& ppl_mip = *new MIP_Problem(dd, ppl_cs, ppl_cost,	ppl_opt_mode);
+  CAMLreturn(unregistered_value_p_MIP_Problem(ppl_mip));
 }
 CATCH_ALL
 
@@ -757,9 +768,26 @@ ppl_MIP_Problem_space_dimension(value ph) try {
   CAMLparam1(ph);
   const MIP_Problem& pph = *p_MIP_Problem_val(ph);
   dimension_type d = pph.space_dimension();
-  if (d > INT_MAX)
-    abort();
-  CAMLreturn(Val_int(d));
+  CAMLreturn(ppl_dimension_to_value(d));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_MIP_Problem_integer_space_dimensions(value caml_mip) try {
+  CAMLparam1(caml_mip);
+  CAMLlocal2(result, new_tail);
+  MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
+  const Variables_Set& ppl_ivars = ppl_mip.integer_space_dimensions();
+  result = Val_emptylist;
+  for (Variables_Set::const_reverse_iterator i = ppl_ivars.rbegin(),
+         i_end = ppl_ivars.rend(); i != i_end; ++i) {
+    new_tail = caml_alloc_tuple(2);
+    Store_field(new_tail, 0, ppl_dimension_to_value(*i));
+    Store_field(new_tail, 1, result);
+    result = new_tail;
+  }
+  CAMLreturn(result);
 }
 CATCH_ALL
 
@@ -778,57 +806,57 @@ ppl_MIP_Problem_constraints(value caml_mip) try {
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 ppl_MIP_Problem_add_space_dimensions_and_embed(value caml_mip, value dim) try {
   CAMLparam2(caml_mip, dim);
-  dimension_type ppl_dim = Int_val(dim);
+  dimension_type ppl_dim = value_to_ppl_dimension(dim);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
   ppl_mip.add_space_dimensions_and_embed(ppl_dim);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 ppl_MIP_Problem_add_to_integer_space_dimensions(value caml_mip,
 						value caml_ivars) try {
   CAMLparam2(caml_mip, caml_ivars);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
   ppl_mip.add_to_integer_space_dimensions(build_ppl_Variables_Set(caml_ivars));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 ppl_MIP_Problem_add_constraint(value caml_mip,
 			       value caml_constraint) try {
   CAMLparam2(caml_mip, caml_constraint);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
   ppl_mip.add_constraint(build_ppl_Constraint(caml_constraint));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 ppl_MIP_Problem_add_constraints(value caml_mip,
-			       value caml_constraints) try {
+                                value caml_constraints) try {
   CAMLparam2(caml_mip, caml_constraints);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
   ppl_mip.add_constraints(build_ppl_Constraint_System(caml_constraints));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 ppl_MIP_Problem_set_objective_function(value caml_mip,
 				       value caml_cost) try {
   CAMLparam2(caml_mip, caml_cost);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
   ppl_mip.set_objective_function(build_ppl_Linear_Expression(caml_cost));
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
@@ -882,7 +910,7 @@ ppl_MIP_Problem_optimization_mode(value caml_mip) try {
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 ppl_MIP_Problem_set_control_parameter(value caml_mip,
                                       value caml_cp_value) try {
   CAMLparam2(caml_mip, caml_cp_value);
@@ -890,7 +918,7 @@ ppl_MIP_Problem_set_control_parameter(value caml_mip,
   MIP_Problem::Control_Parameter_Value ppl_cp_value
     = build_ppl_control_parameter_value(caml_cp_value);
   ppl_mip.set_control_parameter(ppl_cp_value);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
  }
 CATCH_ALL
 
@@ -941,15 +969,15 @@ extern "C"
 CAMLprim value
 ppl_MIP_Problem_optimal_value(value caml_mip) try {
   CAMLparam1(caml_mip);
+  CAMLlocal1(caml_return_value);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
-  TEMP_INTEGER(num);
-  TEMP_INTEGER(den);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
   ppl_mip.optimal_value(num, den);
-  value caml_return_value = caml_alloc(2,0);
-  Field(caml_return_value, 0) = build_ocaml_coefficient(num);
-  Field(caml_return_value, 1) = build_ocaml_coefficient(den);
+  caml_return_value = caml_alloc(2,0);
+  Store_field(caml_return_value, 0, build_ocaml_coefficient(num));
+  Store_field(caml_return_value, 1, build_ocaml_coefficient(den));
   CAMLreturn(caml_return_value);
-
 }
 CATCH_ALL
 
@@ -958,16 +986,16 @@ CAMLprim value
 ppl_MIP_Problem_evaluate_objective_function(value caml_mip,
 					    value caml_generator) try {
   CAMLparam2(caml_mip, caml_generator);
+  CAMLlocal1(caml_return_value);
   Generator g = build_ppl_Generator(caml_generator);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
-  TEMP_INTEGER(num);
-  TEMP_INTEGER(den);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
   ppl_mip.evaluate_objective_function(g, num, den);
-  value caml_return_value = caml_alloc(2,0);
-  Field(caml_return_value, 0) = build_ocaml_coefficient(num);
-  Field(caml_return_value, 1) = build_ocaml_coefficient(den);
+  caml_return_value = caml_alloc(2,0);
+  Store_field(caml_return_value, 0, build_ocaml_coefficient(num));
+  Store_field(caml_return_value, 1, build_ocaml_coefficient(den));
   CAMLreturn(caml_return_value);
-
 }
 CATCH_ALL
 
@@ -982,53 +1010,63 @@ CATCH_ALL
 
 extern "C"
 CAMLprim value
-ppl_MIP_Problem_objective_function
-(value caml_mip) try {
+ppl_MIP_Problem_objective_function(value caml_mip) try {
   CAMLparam1(caml_mip);
-  MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
-  TEMP_INTEGER(inhomogeneous_term);
-  inhomogeneous_term = ppl_mip.objective_function().inhomogeneous_term();
-  value homogeneous_term = get_linear_expression(ppl_mip.objective_function());
-  value inhom_term
-    = build_ocaml_coefficient(ppl_mip.objective_function().inhomogeneous_term());
-  value sum = caml_alloc(2,4);
-  value coeff = caml_alloc(1,1);
-  Field(coeff, 0) = inhom_term;
-  Field(sum, 0) = homogeneous_term;
-  Field(sum, 1) = coeff;
+  CAMLlocal4(homogeneous_term, inhomogeneous_term, sum, coeff);
+  const MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
+  const Linear_Expression& ppl_obj_func = ppl_mip.objective_function();
+  homogeneous_term = get_linear_expression(ppl_obj_func);
+  inhomogeneous_term
+    = build_ocaml_coefficient(ppl_obj_func.inhomogeneous_term());
+  coeff = caml_alloc(1,1);
+  Store_field(coeff, 0, inhomogeneous_term);
+  sum = caml_alloc(2,4);
+  Store_field(sum, 0, homogeneous_term);
+  Store_field(sum, 1, coeff);
   CAMLreturn(sum);
 }
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 ppl_MIP_Problem_clear(value caml_mip) try {
   CAMLparam1(caml_mip);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
   ppl_mip.clear();
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 ppl_MIP_Problem_set_optimization_mode(value caml_mip, value caml_opt_mode) try{
   CAMLparam2(caml_mip, caml_opt_mode);
   Optimization_Mode ppl_opt_mode= build_ppl_opt_mode(caml_opt_mode);
   MIP_Problem& ppl_mip = *p_MIP_Problem_val(caml_mip);
   ppl_mip.set_optimization_mode(ppl_opt_mode);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
 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);
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_MIP_Problem_ascii_dump(value caml_mip) try {
+  CAMLparam1(caml_mip);
+  MIP_Problem& mip = *p_MIP_Problem_val(caml_mip);
+  std::ostringstream s;
+  mip.ascii_dump(s);
+  CAMLreturn(caml_copy_string(s.str().c_str()));
 }
 CATCH_ALL
 
@@ -1081,20 +1119,120 @@ ppl_banner(value unit) try {
 CATCH_ALL
 
 extern "C"
-void
+CAMLprim value
+ppl_io_wrap_string(value src,
+                   value indent_depth,
+                   value preferred_first_line_length,
+                   value preferred_line_length) try {
+  CAMLparam4(src, indent_depth, preferred_first_line_length,
+             preferred_line_length);
+  unsigned cpp_indent_depth
+    = value_to_unsigned<unsigned>(indent_depth);
+  unsigned cpp_preferred_first_line_length
+    = value_to_unsigned<unsigned>(preferred_first_line_length);
+  unsigned cpp_preferred_line_length
+    = value_to_unsigned<unsigned>(preferred_line_length);
+  using IO_Operators::wrap_string;
+  CAMLreturn(caml_copy_string(wrap_string(String_val(src),
+                                          cpp_indent_depth,
+                                          cpp_preferred_first_line_length,
+                                          cpp_preferred_line_length
+                                          ).c_str()));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_Coefficient_is_bounded(value unit) try {
+  CAMLparam1(unit);
+  CAMLreturn(std::numeric_limits<Coefficient>::is_bounded
+             ? Val_true : Val_false);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_Coefficient_min(value unit) try {
+  CAMLparam1(unit);
+  if (std::numeric_limits<Coefficient>::is_bounded) {
+    const Coefficient& min = std::numeric_limits<Coefficient>::min();
+    CAMLreturn(build_ocaml_coefficient(min));
+  }
+  else
+    CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_Coefficient_max(value unit) try {
+  CAMLparam1(unit);
+  if (std::numeric_limits<Coefficient>::is_bounded) {
+    const Coefficient& max = std::numeric_limits<Coefficient>::max();
+    CAMLreturn(build_ocaml_coefficient(max));
+  }
+  else
+    CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
+ppl_max_space_dimension(value unit) try {
+  CAMLparam1(unit);
+  dimension_type d = max_space_dimension();
+  CAMLreturn(ppl_dimension_to_value(d));
+}
+CATCH_ALL
+
+extern "C"
+CAMLprim value
 ppl_set_rounding_for_PPL(value unit) try {
   CAMLparam1(unit);
   set_rounding_for_PPL();
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
 }
 CATCH_ALL
 
-
 extern "C"
-void
+CAMLprim value
 ppl_restore_pre_PPL_rounding(value unit) try {
   CAMLparam1(unit);
   restore_pre_PPL_rounding();
-  CAMLreturn0;
+  CAMLreturn(Val_unit);
+}
+CATCH_ALL
+
+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;
+  p_timeout_object = new Watchdog(cpp_time, abandon_expensive_computations, e);
+  CAMLreturn(Val_unit);
+#endif // PPL_WATCHDOG_LIBRARY_ENABLED
+}
+CATCH_ALL
+
+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
diff --git a/interfaces/OCaml/ppl_ocaml_common.defs.hh b/interfaces/OCaml/ppl_ocaml_common.defs.hh
index 1b55d79..9b8bbe1 100644
--- a/interfaces/OCaml/ppl_ocaml_common.defs.hh
+++ b/interfaces/OCaml/ppl_ocaml_common.defs.hh
@@ -1,5 +1,5 @@
 /* Domain-independent part of the OCaml interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,6 +24,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 #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"
 
@@ -47,7 +50,17 @@ namespace Interfaces {
 
 namespace OCaml {
 
-void check_int_is_unsigned(int i);
+template <typename U_Int>
+U_Int value_to_unsigned(value v);
+
+value
+ppl_dimension_to_value(dimension_type dim);
+
+dimension_type
+value_to_ppl_dimension(value dim);
+
+Variable
+build_ppl_Variable(value var);
 
 Degenerate_Element
 build_ppl_Degenerate_Element(value de);
@@ -145,6 +158,20 @@ private:
   std::vector<dimension_type> vec;
 };
 
+class timeout_exception : public Parma_Polyhedra_Library::Throwable {
+public:
+  void throw_me() const {
+    throw *this;
+  }
+  int priority() const {
+    return 0;
+  }
+  timeout_exception() {
+  }
+};
+
+void reset_timeout();
+
 } // namespace OCaml
 
 } // namespace Interfaces
@@ -154,25 +181,29 @@ private:
 #define CATCH_ALL							\
 catch(std::bad_alloc&) {						\
   caml_raise_out_of_memory();						\
- }									\
- catch(std::invalid_argument& e) {					\
-   caml_invalid_argument(const_cast<char*>(e.what()));			\
- }									\
- catch(std::overflow_error& e) {					\
-   caml_raise_with_string(*caml_named_value("PPL_arithmetic_overflow"), \
-                          (const_cast<char*>(e.what())));		\
- }									\
- catch(std::runtime_error& e) {                                         \
-   caml_raise_with_string(*caml_named_value("PPL_internal_error"),	\
-                          (const_cast<char*>(e.what())));		\
- }									\
- catch(std::exception& e) {						\
-   caml_raise_with_string(*caml_named_value("PPL_unknown_standard_exception"), \
-                          (const_cast<char*>(e.what())));		\
- }									\
- catch(...) {								\
-   caml_raise_constant(*caml_named_value("PPL_unexpected_error"));	\
- }
+}									\
+catch(std::invalid_argument& e) {					\
+  caml_invalid_argument(const_cast<char*>(e.what()));			\
+}									\
+catch(std::overflow_error& e) {					        \
+  caml_raise_with_string(*caml_named_value("PPL_arithmetic_overflow"),  \
+                         (const_cast<char*>(e.what())));		\
+}									\
+catch(std::runtime_error& e) {                                          \
+  caml_raise_with_string(*caml_named_value("PPL_internal_error"),	\
+                         (const_cast<char*>(e.what())));		\
+}									\
+catch(std::exception& e) {						\
+  caml_raise_with_string(*caml_named_value("PPL_unknown_standard_exception"), \
+                         (const_cast<char*>(e.what())));		\
+}									\
+catch(timeout_exception&) {                                             \
+  reset_timeout();                                                      \
+  caml_raise_constant(*caml_named_value("PPL_timeout_exception"));      \
+}                                                                       \
+catch(...) {								\
+  caml_raise_constant(*caml_named_value("PPL_unexpected_error"));	\
+}
 
 #include "ppl_ocaml_common.inlines.hh"
 
diff --git a/interfaces/OCaml/ppl_ocaml_common.inlines.hh b/interfaces/OCaml/ppl_ocaml_common.inlines.hh
index b4f0fcf..7951f11 100644
--- a/interfaces/OCaml/ppl_ocaml_common.inlines.hh
+++ b/interfaces/OCaml/ppl_ocaml_common.inlines.hh
@@ -1,5 +1,5 @@
 /* Domain-independent part of the OCaml interface: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,11 +29,47 @@ namespace Interfaces {
 
 namespace OCaml {
 
-inline void
-check_int_is_unsigned(int i) {
-  if (i < 0)
-    caml_raise_with_string(*caml_named_value("PPL_not_an_unsigned_exception"),
-			   "negative number given, should be unsigned" );
+template <typename U_Int>
+U_Int
+value_to_unsigned(value v) {
+  // FIXME: check the following at compile time.
+  assert(std::numeric_limits<U_Int>::is_integer
+         && !std::numeric_limits<U_Int>::is_signed);
+  if (!Is_long(v)) {
+    const char* what = "PPL OCaml interface invalid argument error:\n"
+      "argument is not an integer (expecting a non-negative integer).";
+    throw std::invalid_argument(what);
+  }
+  intnat vv = Long_val(v);
+  if (vv < 0) {
+    const char* what = "PPL OCaml interface invalid argument error:\n"
+      "argument is negative (expecting a non-negative integer).";
+    throw std::invalid_argument(what);
+  }
+  const uintnat u_max = std::numeric_limits<U_Int>::max();
+  if (static_cast<uintnat>(vv) > u_max) {
+    const char* what = "PPL OCaml interface invalid argument:\n"
+      "argument value is too big (expecting a smaller non-negative integer).";
+    throw std::invalid_argument(what);
+  }
+  return static_cast<U_Int>(vv);
+}
+
+inline dimension_type
+value_to_ppl_dimension(value v) {
+  return value_to_unsigned<dimension_type>(v);
+}
+
+inline value
+ppl_dimension_to_value(dimension_type dim) {
+  // FIXME: what if this assertion fails?
+  assert(static_cast<uintnat>(dim) <= static_cast<uintnat>(Max_long));
+  return Val_long(dim);
+}
+
+inline Variable
+build_ppl_Variable(value caml_var) {
+  return Variable(value_to_ppl_dimension(caml_var));
 }
 
 inline
diff --git a/interfaces/OCaml/ppl_ocaml_globals.ml b/interfaces/OCaml/ppl_ocaml_globals.ml
index 713cbc0..82bbefd 100644
--- a/interfaces/OCaml/ppl_ocaml_globals.ml
+++ b/interfaces/OCaml/ppl_ocaml_globals.ml
@@ -1,5 +1,5 @@
 (* OCaml interface: domain-independent functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,26 @@ site: http://www.cs.unipr.it/ppl/ . *)
 
 open Gmp
 
+exception PPL_arithmetic_overflow of string
+let _ = Callback.register_exception "PPL_arithmetic_overflow"
+          (PPL_arithmetic_overflow "any string")
+
+exception PPL_timeout_exception
+let _ = Callback.register_exception "PPL_timeout_exception"
+          (PPL_timeout_exception)
+
+exception PPL_internal_error of string
+let _ = Callback.register_exception "PPL_internal_error"
+          (PPL_internal_error "any string")
+
+exception PPL_unknown_standard_exception of string
+let _ = Callback.register_exception "PPL_unknown_standard_exception"
+          (PPL_unknown_standard_exception "any string")
+
+exception PPL_unexpected_error of string
+let _ = Callback.register_exception "PPL_unexpected_error"
+          (PPL_unexpected_error "any string")
+
 type degenerate_element =
     Universe
   | Empty
@@ -117,23 +137,47 @@ unit -> string = "ppl_version"
 external ppl_banner:
 unit -> string = "ppl_banner"
 
+external ppl_io_wrap_string:
+string -> int -> int -> int -> string = "ppl_io_wrap_string"
+
+external ppl_max_space_dimension:
+unit -> int = "ppl_max_space_dimension"
+
+external ppl_Coefficient_is_bounded:
+unit -> bool = "ppl_Coefficient_is_bounded"
+
+external ppl_Coefficient_max:
+unit -> Z.t = "ppl_Coefficient_max"
+
+external ppl_Coefficient_min:
+unit -> Z.t = "ppl_Coefficient_min"
+
 external ppl_set_rounding_for_PPL:
 unit -> unit = "ppl_set_rounding_for_PPL"
 
 external ppl_restore_pre_PPL_rounding:
 unit -> unit = "ppl_restore_pre_PPL_rounding"
 
+external ppl_set_timeout:
+int -> unit = "ppl_set_timeout"
+
+external ppl_reset_timeout:
+unit -> unit = "ppl_reset_timeout"
+
 external ppl_new_MIP_Problem_from_space_dimension:
   int -> mip_problem = "ppl_new_MIP_Problem_from_space_dimension"
 
 external ppl_new_MIP_Problem:
-      int -> constraint_system -> linear_expression
-	-> optimization_mode -> mip_problem
-	  = "ppl_new_MIP_Problem"
+  int -> constraint_system -> linear_expression
+    -> optimization_mode -> mip_problem
+      = "ppl_new_MIP_Problem"
 
 external ppl_MIP_Problem_space_dimension:
   mip_problem -> int = "ppl_MIP_Problem_space_dimension"
 
+external ppl_MIP_Problem_integer_space_dimensions:
+  mip_problem -> int list = "ppl_MIP_Problem_integer_space_dimensions"
+
 external ppl_MIP_Problem_constraints:
   mip_problem -> constraint_system = "ppl_MIP_Problem_constraints"
 
@@ -212,3 +256,7 @@ external ppl_MIP_Problem_get_control_parameter:
 external ppl_MIP_Problem_swap:
   mip_problem -> mip_problem -> unit
       = "ppl_MIP_Problem_swap"
+
+external ppl_MIP_Problem_ascii_dump:
+  mip_problem -> string
+      = "ppl_MIP_Problem_ascii_dump"
diff --git a/interfaces/OCaml/ppl_ocaml_globals.mli b/interfaces/OCaml/ppl_ocaml_globals.mli
index 0b6e06c..b0e2e01 100644
--- a/interfaces/OCaml/ppl_ocaml_globals.mli
+++ b/interfaces/OCaml/ppl_ocaml_globals.mli
@@ -1,5 +1,5 @@
 (* OCaml interface: module inteface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,12 @@ site: http://www.cs.unipr.it/ppl/ . *)
 
 open Gmp
 
+exception PPL_arithmetic_overflow of string
+exception PPL_timeout_exception
+exception PPL_internal_error of string
+exception PPL_unknown_standard_exception of string
+exception PPL_unexpected_error of string
+
 type degenerate_element =
     Universe
   | Empty
@@ -116,24 +122,48 @@ val ppl_version:
 val ppl_banner:
   unit -> string
 
+val ppl_io_wrap_string:
+  string -> int -> int -> int -> string
+
+val ppl_max_space_dimension:
+  unit -> int
+
+val ppl_Coefficient_is_bounded:
+  unit -> bool
+
+val ppl_Coefficient_max:
+  unit -> Z.t
+
+val ppl_Coefficient_min:
+  unit -> Z.t
+
 val ppl_set_rounding_for_PPL:
-unit -> unit
+  unit -> unit
 
 val ppl_restore_pre_PPL_rounding:
-unit -> unit
+  unit -> unit
+
+val ppl_set_timeout:
+  int -> unit
+
+val ppl_reset_timeout:
+  unit -> unit
 
 type mip_problem
 
 val ppl_new_MIP_Problem_from_space_dimension:
-int -> mip_problem
+  int -> mip_problem
 
 val ppl_new_MIP_Problem:
-      int -> constraint_system -> linear_expression
-	-> optimization_mode -> mip_problem
+  int -> constraint_system -> linear_expression
+    -> optimization_mode -> mip_problem
 
 val ppl_MIP_Problem_space_dimension:
   mip_problem -> int
 
+val ppl_MIP_Problem_integer_space_dimensions:
+  mip_problem -> int list
+
 val ppl_MIP_Problem_constraints:
   mip_problem -> constraint_system
 
@@ -193,3 +223,6 @@ val ppl_MIP_Problem_get_control_parameter:
 
 val ppl_MIP_Problem_swap:
   mip_problem -> mip_problem -> unit
+
+val ppl_MIP_Problem_ascii_dump:
+  mip_problem -> string
diff --git a/interfaces/OCaml/tests/Makefile.am b/interfaces/OCaml/tests/Makefile.am
index 42ecbe5..78ef7e1 100644
--- a/interfaces/OCaml/tests/Makefile.am
+++ b/interfaces/OCaml/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -34,8 +34,7 @@ CHECKER =
 endif !VALGRIND_TESTS_ENABLED
 
 TESTS_ENVIRONMENT = \
-	$(LIBTOOL) --mode=execute \
-		 -dlopen ../../../src/libppl.la $(WATCHDOG_DLOPEN) $(CHECKER)
+	$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(PWL_DLOPEN) $(CHECKER)
 
 interface_generator_files = \
 ppl_interface_generator_ocaml_test_ml.m4 \
@@ -62,46 +61,89 @@ ppl_ocaml_tests_common
 OCAMLC_ENV = OCAMLRUNPARAM='l=1M'
 
 OCAMLC_COMPILE_FLAGS = \
--I +gmp -I .. -ccopt -g
+-I @mlgmp_dir@ -I .. -ccopt -g
+
+OCAMLC_LINK_FLAGS = \
+-cclib -lmlgmp -cclib -lmpfr \
+`echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
+
+OCAMLOPT_ENV = $(OCAMLC_ENV)
+OCAMLOPT_COMPILE_FLAGS = $(OCAMLC_COMPILE_FLAGS)
+OCAMLOPT_LINK_FLAGS = $(OCAMLC_LINK_FLAGS)
 
 if ENABLE_SHARED
 
-BUILT_PPL = \
-$(top_builddir)/src/.libs/libppl$(SHREXT)
+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 = \
-$(top_builddir)/src/.libs/libppl.$(LIBEXT)
+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
 
-OCAMLC_LINK_FLAGS = \
--cclib -lmlgmp -cclib -lmpfr \
-`echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
+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 $@ -g -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
+
+.ml.cmx:
+	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) $<
 
-TESTS = \
+if HAVE_OCAMLC
+
+OCAMLC_TESTS = \
 test1 \
 ppl_ocaml_generated_test
 
+endif HAVE_OCAMLC
+
+if HAVE_OCAMLOPT
+
+OCAMLOPT_TESTS = \
+test1_opt \
+ppl_ocaml_generated_test_opt
+
+endif HAVE_OCAMLOPT
+
+TESTS = $(OCAMLC_TESTS) $(OCAMLOPT_TESTS)
+
 check_PROGRAMS = $(TESTS)
 
 test1_SOURCES = test1.ml
 
 test1$(EXEEXT): test1.cmo ../ppl_ocaml.cma
 	$(OCAMLC_ENV) ocamlc -o $@ \
-		-cc "$(CXX)" -g -custom $(OCAMLC_COMPILE_FLAGS) \
-		-cclib $(BUILT_PPL) $(OCAMLC_LINK_FLAGS) \
+		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
+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) \
+		ppl_ocaml.cmxa $<
+
 
 nodist_ppl_ocaml_generated_test_SOURCES = ppl_ocaml_generated_test.ml
 
+nodist_ppl_ocaml_generated_test_opt_SOURCES = ppl_ocaml_generated_test.ml
+
 ppl_ocaml_generated_test.ml: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_ocaml_test_ml.m4 \
 			> $@
@@ -109,15 +151,29 @@ ppl_ocaml_generated_test.ml: $(interface_generator_dependencies)
 ppl_ocaml_generated_test$(EXEEXT): \
 ppl_ocaml_generated_test.cmo ../ppl_ocaml.cma
 	$(OCAMLC_ENV) ocamlc -o $@ \
-		-cc "$(CXX)" -g -custom $(OCAMLC_COMPILE_FLAGS) \
-		-cclib $(BUILT_PPL) $(OCAMLC_LINK_FLAGS) \
+		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(BUILT_PWL_FLAGS) $(OCAMLC_LINK_FLAGS) \
 		ppl_ocaml.cma $<
 
-CLEANFILES = \
+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) \
+		ppl_ocaml.cmxa $<
+
+MOSTLYCLEANFILES = \
 test1.cmi \
 test1.cmo \
+test1.cmx \
+test1.o \
 test1 \
-ppl_ocaml_generated_test.ml \
+test1_opt \
 ppl_ocaml_generated_test.cmi \
 ppl_ocaml_generated_test.cmo \
-ppl_ocaml_generated_test
+ppl_ocaml_generated_test.cmx \
+ppl_ocaml_generated_test.o \
+ppl_ocaml_generated_test \
+ppl_ocaml_generated_test_opt
+
+CLEANFILES = ppl_ocaml_generated_test.ml
diff --git a/interfaces/OCaml/tests/Makefile.in b/interfaces/OCaml/tests/Makefile.in
index 1e7a146..caac8a4 100644
--- a/interfaces/OCaml/tests/Makefile.in
+++ b/interfaces/OCaml/tests/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -53,8 +53,8 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = test1$(EXEEXT) ppl_ocaml_generated_test$(EXEEXT)
-check_PROGRAMS = $(am__EXEEXT_1)
+TESTS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+check_PROGRAMS = $(am__EXEEXT_3)
 subdir = interfaces/OCaml/tests
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -80,26 +80,36 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/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 =
-am__EXEEXT_1 = test1$(EXEEXT) ppl_ocaml_generated_test$(EXEEXT)
+ at HAVE_OCAMLC_TRUE@am__EXEEXT_1 = test1$(EXEEXT) \
+ at HAVE_OCAMLC_TRUE@	ppl_ocaml_generated_test$(EXEEXT)
+ at HAVE_OCAMLOPT_TRUE@am__EXEEXT_2 = test1_opt$(EXEEXT) \
+ at HAVE_OCAMLOPT_TRUE@	ppl_ocaml_generated_test_opt$(EXEEXT)
+am__EXEEXT_3 = $(am__EXEEXT_1) $(am__EXEEXT_2)
 nodist_ppl_ocaml_generated_test_OBJECTS =
 ppl_ocaml_generated_test_OBJECTS =  \
 	$(nodist_ppl_ocaml_generated_test_OBJECTS)
 ppl_ocaml_generated_test_LDADD = $(LDADD)
+nodist_ppl_ocaml_generated_test_opt_OBJECTS =
+ppl_ocaml_generated_test_opt_OBJECTS =  \
+	$(nodist_ppl_ocaml_generated_test_opt_OBJECTS)
+ppl_ocaml_generated_test_opt_LDADD = $(LDADD)
 am_test1_OBJECTS =
 test1_OBJECTS = $(am_test1_OBJECTS)
 test1_LDADD = $(LDADD)
+am_test1_opt_OBJECTS =
+test1_opt_OBJECTS = $(am_test1_opt_OBJECTS)
+test1_opt_LDADD = $(LDADD)
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -110,8 +120,10 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(nodist_ppl_ocaml_generated_test_SOURCES) $(test1_SOURCES)
-DIST_SOURCES = $(test1_SOURCES)
+SOURCES = $(nodist_ppl_ocaml_generated_test_SOURCES) \
+	$(nodist_ppl_ocaml_generated_test_opt_SOURCES) \
+	$(test1_SOURCES) $(test1_opt_SOURCES)
+DIST_SOURCES = $(test1_SOURCES) $(test1_opt_SOURCES)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -169,6 +181,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -177,6 +191,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -251,6 +266,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -295,8 +311,7 @@ xsb_prolog = @xsb_prolog@
 @VALGRIND_TESTS_ENABLED_TRUE at --suppressions=$(srcdir)/valgrind_suppressions
 
 TESTS_ENVIRONMENT = \
-	$(LIBTOOL) --mode=execute \
-		 -dlopen ../../../src/libppl.la $(WATCHDOG_DLOPEN) $(CHECKER)
+	$(LIBTOOL) --mode=execute $(PPL_DLOPEN) $(PWL_DLOPEN) $(CHECKER)
 
 interface_generator_files = \
 ppl_interface_generator_ocaml_test_ml.m4 \
@@ -323,33 +338,52 @@ ppl_ocaml_tests_common
 
 OCAMLC_ENV = OCAMLRUNPARAM='l=1M'
 OCAMLC_COMPILE_FLAGS = \
--I +gmp -I .. -ccopt -g
-
- at ENABLE_SHARED_FALSE@BUILT_PPL = \
- at ENABLE_SHARED_FALSE@$(top_builddir)/src/.libs/libppl.$(LIBEXT)
-
- at ENABLE_SHARED_TRUE@BUILT_PPL = \
- at ENABLE_SHARED_TRUE@$(top_builddir)/src/.libs/libppl$(SHREXT)
+-I @mlgmp_dir@ -I .. -ccopt -g
 
 OCAMLC_LINK_FLAGS = \
 -cclib -lmlgmp -cclib -lmpfr \
 `echo " $(extra_libraries) " | $(SED) -e "s/ -R[^ ]*//g" -e "s/ -/ -cclib -/g"`
 
+OCAMLOPT_ENV = $(OCAMLC_ENV)
+OCAMLOPT_COMPILE_FLAGS = $(OCAMLC_COMPILE_FLAGS)
+OCAMLOPT_LINK_FLAGS = $(OCAMLC_LINK_FLAGS)
+ at ENABLE_SHARED_FALSE@BUILT_PPL_FLAGS = -cclib $(top_builddir)/src/.libs/libppl.$(LIBEXT)
+ at ENABLE_SHARED_TRUE@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
+ at HAVE_OCAMLC_TRUE@OCAMLC_TESTS = \
+ at HAVE_OCAMLC_TRUE@test1 \
+ at HAVE_OCAMLC_TRUE@ppl_ocaml_generated_test
+
+ at HAVE_OCAMLOPT_TRUE@OCAMLOPT_TESTS = \
+ at HAVE_OCAMLOPT_TRUE@test1_opt \
+ at HAVE_OCAMLOPT_TRUE@ppl_ocaml_generated_test_opt
+
 test1_SOURCES = test1.ml
+test1_opt_SOURCES = test1.ml
 nodist_ppl_ocaml_generated_test_SOURCES = ppl_ocaml_generated_test.ml
-CLEANFILES = \
+nodist_ppl_ocaml_generated_test_opt_SOURCES = ppl_ocaml_generated_test.ml
+MOSTLYCLEANFILES = \
 test1.cmi \
 test1.cmo \
+test1.cmx \
+test1.o \
 test1 \
-ppl_ocaml_generated_test.ml \
+test1_opt \
 ppl_ocaml_generated_test.cmi \
 ppl_ocaml_generated_test.cmo \
-ppl_ocaml_generated_test
+ppl_ocaml_generated_test.cmx \
+ppl_ocaml_generated_test.o \
+ppl_ocaml_generated_test \
+ppl_ocaml_generated_test_opt
 
+CLEANFILES = ppl_ocaml_generated_test.ml
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .cmo .ml
+.SUFFIXES: .cmo .cmx .ml
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
@@ -525,6 +559,7 @@ install-strip:
 	  `test -z '$(STRIP)' || \
 	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
 mostlyclean-generic:
+	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
 
 clean-generic:
 	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
@@ -608,16 +643,25 @@ uninstall-am:
 
 
 .ml.cmo:
-	$(OCAMLC_ENV) ocamlc -o $@ -g -c $(OCAMLC_COMPILE_FLAGS) $<
+	$(OCAMLC_ENV) ocamlc -o $@ -c $(OCAMLC_COMPILE_FLAGS) $<
+
+.ml.cmx:
+	$(OCAMLOPT_ENV) ocamlopt -o $@ -c $(OCAMLOPT_COMPILE_FLAGS) $<
 
 test1$(EXEEXT): test1.cmo ../ppl_ocaml.cma
 	$(OCAMLC_ENV) ocamlc -o $@ \
-		-cc "$(CXX)" -g -custom $(OCAMLC_COMPILE_FLAGS) \
-		-cclib $(BUILT_PPL) $(OCAMLC_LINK_FLAGS) \
+		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(BUILT_PWL_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) \
+		ppl_ocaml.cmxa $<
+
 ppl_ocaml_generated_test.ml: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_ocaml_test_ml.m4 \
 			> $@
@@ -625,9 +669,16 @@ ppl_ocaml_generated_test.ml: $(interface_generator_dependencies)
 ppl_ocaml_generated_test$(EXEEXT): \
 ppl_ocaml_generated_test.cmo ../ppl_ocaml.cma
 	$(OCAMLC_ENV) ocamlc -o $@ \
-		-cc "$(CXX)" -g -custom $(OCAMLC_COMPILE_FLAGS) \
-		-cclib $(BUILT_PPL) $(OCAMLC_LINK_FLAGS) \
+		-cc "$(CXX)" $(OCAMLC_COMPILE_FLAGS) \
+		$(BUILT_PPL_FLAGS) $(BUILT_PWL_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) \
+		ppl_ocaml.cmxa $<
 # 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/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4 b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
index 0356c06..fddaffa 100644
--- a/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
+++ b/interfaces/OCaml/tests/ppl_interface_generator_ocaml_test_ml.m4
@@ -1,6 +1,6 @@
 m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -44,9 +44,7 @@ print_string_if_noisy "\n";;
 print_string_if_noisy "m4_current_interface";;
 print_string_if_noisy "\n";;
 m4_undefine(`m4_current_interface')`'dnl
-m4_replace_all_patterns_in_string($1,
-  m4_add_init_class_code($1),
-  m4_pattern_list)`'dnl
+m4_replace_all_patterns($1, m4_add_init_class_code($1))`'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 ddebfdc..2d0f566 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,4 +1,4 @@
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,18 +23,18 @@ m4_divert(-1)
 dnl Code for generating the domain elements to be used in the tests.
 dnl Note that if a test may change these at all, then a copy should be used.
 m4_define(`m4_add_init_class_code', `dnl
-let @LTOPOLOGY@@LCLASS at 01
+let @!TOPOLOGY@@!CLASS at 01
   = ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension 3 Universe;;
 ppl_ at CLASS@_refine_with_ at CONSTRAINER@s
-  @LTOPOLOGY@@LCLASS at 01 @CONSTRAINER at s01;;
-let @LTOPOLOGY@@LCLASS at 02
+  @!TOPOLOGY@@!CLASS at 01 @CONSTRAINER at s01;;
+let @!TOPOLOGY@@!CLASS at 02
   = ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension 3 Universe;;
 ppl_ at CLASS@_refine_with_ at CONSTRAINER@s
-  @LTOPOLOGY@@LCLASS at 02 @CONSTRAINER at s02;;
-let @LTOPOLOGY@@LCLASS at 03
+  @!TOPOLOGY@@!CLASS at 02 @CONSTRAINER at s02;;
+let @!TOPOLOGY@@!CLASS at 03
   = ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension 3 Universe;;
 ppl_ at CLASS@_refine_with_ at CONSTRAINER@s
-  @LTOPOLOGY@@LCLASS at 03 @CONSTRAINER at s03;;
+  @!TOPOLOGY@@!CLASS at 03 @CONSTRAINER at s03;;
 print_string_if_noisy "\n";;
 ')
 
@@ -44,10 +44,10 @@ print_string_if_noisy "testing ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension" ;
 print_string_if_noisy "\n";;
 print_string_if_noisy ("space_dimension: ");;
 for i = 6 downto 0 do
-  (let @LTOPOLOGY@@LCLASS@
+  (let @!TOPOLOGY@@!CLASS@
     = ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension i Empty
     in let dimension
-       =  ppl_ at CLASS@_space_dimension(@LTOPOLOGY@@LCLASS@)
+       =  ppl_ at CLASS@_space_dimension(@!TOPOLOGY@@!CLASS@)
        in (print_int_if_noisy dimension;
      print_string_if_noisy "@COMMA@ "))
 done;;
@@ -62,7 +62,7 @@ let ps
   = ppl_new_ at FRIEND@_from_space_dimension 3 Universe;;
 let ps1
   = ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@(ps);;
-let out = if (ppl_ at ALT_FRIEND@_OK ps & ppl_ at CLASS@_OK ps1)
+let out = if (ppl_ at A_FRIEND@_OK ps & ppl_ at CLASS@_OK ps1)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -77,19 +77,19 @@ let ps
   = ppl_new_ at FRIEND@_from_space_dimension 3 Universe;;
 let ps_pc
   = ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity ps Polynomial_Complexity ;;
-let out = if (ppl_ at ALT_FRIEND@_OK ps & ppl_ at CLASS@_OK ps_pc)
+let out = if (ppl_ at A_FRIEND@_OK ps & ppl_ at CLASS@_OK ps_pc)
   then "with Polynomial_Complexity - success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
 let ps_sc
   = ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity ps Simplex_Complexity ;;
-let out = if (ppl_ at ALT_FRIEND@_OK ps & ppl_ at CLASS@_OK ps_sc)
+let out = if (ppl_ at A_FRIEND@_OK ps & ppl_ at CLASS@_OK ps_sc)
   then "with Simplex_Complexity - success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
 let ps_ac
   = ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity ps Any_Complexity ;;
-let out = if (ppl_ at ALT_FRIEND@_OK ps & ppl_ at CLASS@_OK ps_ac)
+let out = if (ppl_ at A_FRIEND@_OK ps & ppl_ at CLASS@_OK ps_ac)
   then "with Any_Complexity - success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -98,9 +98,9 @@ print_string_if_noisy "\n";;
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
 `
 print_string_if_noisy "testing ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s: " ;;
-let @LTOPOLOGY@@LCLASS@
+let @!TOPOLOGY@@!CLASS@
   = ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s(@BUILD_REPRESENT at s1);;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS@)
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS@)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -110,9 +110,9 @@ m4_define(`ppl_ at CLASS@_ at UB_EXACT@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at UB_EXACT@: " ;;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy02
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let _result
   =  ppl_ at CLASS@_ at UB_EXACT@ copy01 copy02;;
 let out
@@ -126,12 +126,12 @@ m4_define(`ppl_ at CLASS@_swap_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_swap: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy02
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_swap copy01 copy02;;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_swap copy01 copy02;;
 let out
-  = if (ppl_ at CLASS@_OK copy01 & ppl_ at CLASS@_OK copy02)
+  = if (u = () & ppl_ at CLASS@_OK copy01 & ppl_ at CLASS@_OK copy02)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -141,8 +141,8 @@ m4_define(`ppl_ at CLASS@_ at DIMENSION@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at DIMENSION@: " ;;
 let dim
-  =  ppl_ at CLASS@_ at DIMENSION@ @LTOPOLOGY@@LCLASS at 01;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01)
+  =  ppl_ at CLASS@_ at DIMENSION@ @!TOPOLOGY@@!CLASS at 01;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -156,31 +156,31 @@ m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 print_string_if_noisy "testing ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@: " ;;
 let _result
   = ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@
-    @LTOPOLOGY@@LCLASS at 01 @RELATION_REPRESENT at 1;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01)
+    @!TOPOLOGY@@!CLASS at 01 @RELATION_REPRESENT at 1;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `
-print_string_if_noisy "testing ppl_ at CLASS@_get_ at GET_REPRESENT@s: ";;
-let @GET_REPRESENT at s = ppl_ at CLASS@_get_ at GET_REPRESENT@s
-  @LTOPOLOGY@@LCLASS at 01;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01)
+print_string_if_noisy "testing ppl_ at CLASS@_get_ at CLASS_REPRESENT@s: ";;
+let @CLASS_REPRESENT at s = ppl_ at CLASS@_get_ at CLASS_REPRESENT@s
+  @!TOPOLOGY@@!CLASS at 01;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
-List.iter print_ at GET_REPRESENT@ @GET_REPRESENT at s;;
+List.iter print_ at CLASS_REPRESENT@ @CLASS_REPRESENT at s;;
 print_string_if_noisy "\n";;
 ')
 
 m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at HAS_PROPERTY@: ";;
-let result = ppl_ at CLASS@_ at HAS_PROPERTY@ @LTOPOLOGY@@LCLASS at 01;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01)
+let result = ppl_ at CLASS@_ at HAS_PROPERTY@ @!TOPOLOGY@@!CLASS at 01;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -193,9 +193,9 @@ m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at SIMPLIFY@: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_ at SIMPLIFY@ copy01;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_ at SIMPLIFY@ copy01;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -205,8 +205,8 @@ m4_define(`ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@: " ;;
 let _result
-  =  ppl_ at CLASS@_bounds_from_above @LTOPOLOGY@@LCLASS at 01 e2;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01)
+  =  ppl_ at CLASS@_bounds_from_above @!TOPOLOGY@@!CLASS at 01 e2;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -216,8 +216,8 @@ m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at MAXMIN@: ";;
 let (is_bounded, num, den, is_supremum)
-  = ppl_ at CLASS@_ at MAXMIN@ @LTOPOLOGY@@LCLASS at 01 e3;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01)
+  = ppl_ at CLASS@_ at MAXMIN@ @!TOPOLOGY@@!CLASS at 01 e3;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -235,8 +235,8 @@ m4_define(`ppl_ at CLASS@_ at MAXMIN@_with_point_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at MAXMIN@_with_point: ";;
 let (is_bounded, num, den, is_supremum, pt)
-  = ppl_ at CLASS@_ at MAXMIN@_with_point @LTOPOLOGY@@LCLASS at 01 e3;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01)
+  = ppl_ at CLASS@_ at MAXMIN@_with_point @!TOPOLOGY@@!CLASS at 01 e3;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -256,9 +256,9 @@ m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at COMPARISON@_ at CLASS@: " ;;
 let b = ppl_ at CLASS@_ at COMPARISON@_ at CLASS@
-  @LTOPOLOGY@@LCLASS at 01 @LTOPOLOGY@@LCLASS at 02;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01
-               & ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 02)
+  @!TOPOLOGY@@!CLASS at 01 @!TOPOLOGY@@!CLASS at 02;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01
+               & ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 02)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -268,9 +268,9 @@ m4_define(`ppl_ at CLASS@_equals_ at CLASS@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_equals_ at CLASS@: " ;;
 let b = ppl_ at CLASS@_equals_ at CLASS@
-  @LTOPOLOGY@@LCLASS at 01 @LTOPOLOGY@@LCLASS at 02;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01
-               & ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 02)
+  @!TOPOLOGY@@!CLASS at 01 @!TOPOLOGY@@!CLASS at 02;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01
+               & ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 02)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -279,32 +279,32 @@ print_string_if_noisy "\n";;
 m4_define(`ppl_ at CLASS@_OK_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_OK: ";;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01
-               & ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 02)
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01
+               & ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 02)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `
-print_string_if_noisy "testing ppl_ at CLASS@_add_ at ADD_REPRESENT@: " ;;
+print_string_if_noisy "testing ppl_ at CLASS@_add_ at CLASS_REPRESENT@: " ;;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_add_ at ADD_REPRESENT@ copy01 @ADD_REPRESENT at 1;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_add_ at CLASS_REPRESENT@ copy01 @CLASS_REPRESENT at 1;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `
-print_string_if_noisy "testing ppl_ at CLASS@_add_ at ADD_REPRESENT@s: " ;;
+print_string_if_noisy "testing ppl_ at CLASS@_add_ at CLASS_REPRESENT@s: " ;;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s copy01 @ADD_REPRESENT at s1;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_add_ at CLASS_REPRESENT@s copy01 @CLASS_REPRESENT at s1;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -315,10 +315,10 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 print_string_if_noisy
   "testing ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@: " ;;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@
   copy01 @REFINE_REPRESENT at 01;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -329,10 +329,10 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 print_string_if_noisy
   "testing ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s: " ;;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s
   copy01 @REFINE_REPRESENT at s01;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -342,12 +342,12 @@ m4_define(`ppl_ at CLASS@_ at BINOP@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at BINOP@: " ;;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy02
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_ at BINOP@ copy01 copy02;;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_ at BINOP@ copy01 copy02;;
 let out
-  = if (ppl_ at CLASS@_OK copy01 & ppl_ at CLASS@_OK copy02)
+  = if (u = () & ppl_ at CLASS@_OK copy01 & ppl_ at CLASS@_OK copy02)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -357,9 +357,9 @@ m4_define(`ppl_ at CLASS@_simplify_using_context_assign_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_simplify_using_context_assign: " ;;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy02
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let b = ppl_ at CLASS@_simplify_using_context_assign copy01 copy02;;
 let out
   = if (ppl_ at CLASS@_OK copy01 & ppl_ at CLASS@_OK copy02)
@@ -372,9 +372,9 @@ m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at AFFIMAGE@: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_ at AFFIMAGE@ copy01 1 ((Z.of_int 2) */ v2) (Z.from_int 2);;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_ at AFFIMAGE@ copy01 1 ((Z.of_int 2) */ v2) (Z.from_int 2);;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -384,10 +384,10 @@ m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_bounded_ at AFFIMAGE@: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_bounded_ at AFFIMAGE@ copy01 1
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_bounded_ at AFFIMAGE@ copy01 1
   ((Z.of_int 2) */ v2) v2 (Z.from_int 10);;
-let out = if (ppl_ at CLASS@_OK copy01)
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -397,10 +397,10 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_generalized_ at AFFIMAGE@: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_generalized_ at AFFIMAGE@
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_generalized_ at AFFIMAGE@
   copy01 1 Equal_RS v1 (Z.from_int 10);;
-let out = if (ppl_ at CLASS@_OK copy01)
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -410,10 +410,10 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs
   copy01 ((Z.of_int 1) */ v0) Equal_RS (linear_expression_of_int 7);;
-let out = if (ppl_ at CLASS@_OK copy01)
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -423,10 +423,10 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence
-  copy01 1 Equal_RS v1 (Z.from_int 10);;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence
+  copy01 1 Equal_RS v1 (Z.from_int 1) (Z.from_int 10);;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -436,10 +436,10 @@ m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence
-  copy01 ((Z.of_int 1) */ v0) Equal_RS (linear_expression_of_int 7);;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence
+  copy01 ((Z.of_int 1) */ v0) Equal_RS (linear_expression_of_int 7) (Z.from_int 1);;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -449,9 +449,9 @@ m4_define(`ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@ copy01 2;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@ copy01 2;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -461,10 +461,10 @@ m4_define(`ppl_ at CLASS@_remove_space_dimensions_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_remove_space_dimensions: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let dimensions_to_remove = [2;0];;
-ppl_ at CLASS@_remove_space_dimensions copy01 dimensions_to_remove;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let u = ppl_ at CLASS@_remove_space_dimensions copy01 dimensions_to_remove;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -474,9 +474,9 @@ m4_define(`ppl_ at CLASS@_remove_higher_space_dimensions_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_remove_higher_space_dimensions: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_remove_higher_space_dimensions copy01 1;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_remove_higher_space_dimensions copy01 1;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -486,9 +486,9 @@ m4_define(`ppl_ at CLASS@_expand_space_dimension_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_expand_space_dimension: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_expand_space_dimension copy01 1 1;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_expand_space_dimension copy01 1 1;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -498,10 +498,10 @@ m4_define(`ppl_ at CLASS@_fold_space_dimensions_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_fold_space_dimensions: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let dimensions_to_fold = [1];;
-ppl_ at CLASS@_fold_space_dimensions copy01 dimensions_to_fold 0;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let u = ppl_ at CLASS@_fold_space_dimensions copy01 dimensions_to_fold 0;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -511,10 +511,10 @@ m4_define(`ppl_ at CLASS@_map_space_dimensions_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_map_space_dimensions: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let dimensions_to_map = [(0,1);(1,2);(2,0);];;
-ppl_ at CLASS@_map_space_dimensions copy01 dimensions_to_map;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let u = ppl_ at CLASS@_map_space_dimensions copy01 dimensions_to_map;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -524,7 +524,7 @@ m4_define(`ppl_ at CLASS@_constrains_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_constrains: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 ppl_ at CLASS@_constrains copy01 1;;
 let dimensions_to_map = [(0,1);(1,2);(2,0);];;
 ppl_ at CLASS@_map_space_dimensions copy01 dimensions_to_map;;
@@ -538,9 +538,9 @@ m4_define(`ppl_ at CLASS@_unconstrain_space_dimension_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_unconstrain_space_dimension: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
-ppl_ at CLASS@_unconstrain_space_dimension copy01 1;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
+let u = ppl_ at CLASS@_unconstrain_space_dimension copy01 1;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -550,11 +550,11 @@ m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_unconstrain_space_dimensions: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let dimensions_to_unconstrain = [1];;
-ppl_ at CLASS@_unconstrain_space_dimensions
+let u = ppl_ at CLASS@_unconstrain_space_dimensions
   copy01 dimensions_to_unconstrain;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -564,8 +564,8 @@ m4_define(`ppl_ at CLASS@_ at MEMBYTES@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at MEMBYTES@: " ;;
 let mb
-  =  ppl_ at CLASS@_ at MEMBYTES@ @LTOPOLOGY@@LCLASS at 01;;
-let out = if (ppl_ at CLASS@_OK @LTOPOLOGY@@LCLASS at 01)
+  =  ppl_ at CLASS@_ at MEMBYTES@ @!TOPOLOGY@@!CLASS at 01;;
+let out = if (ppl_ at CLASS@_OK @!TOPOLOGY@@!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -578,11 +578,11 @@ m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at WIDEN@_widening_assign: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
-ppl_ at CLASS@_ at WIDEN@_widening_assign copy01 copy03 ;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
+let u = ppl_ at CLASS@_ at WIDEN@_widening_assign copy01 copy03 ;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -592,9 +592,9 @@ m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens_code: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
 let tokens
   = ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens copy01 copy03 5;;
 let out = if (ppl_ at CLASS@_OK copy01)
@@ -610,11 +610,11 @@ m4_define(`ppl_ at CLASS@_widening_assign_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_widening_assign: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
-ppl_ at CLASS@_widening_assign copy01 copy03 ;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
+let u = ppl_ at CLASS@_widening_assign copy01 copy03 ;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -624,9 +624,9 @@ m4_define(`ppl_ at CLASS@_widening_assign_with_tokens_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_widening_assign_with_tokens_code: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
 let tokens
   = ppl_ at CLASS@_widening_assign_with_tokens copy01 copy03 5;;
 let out = if (ppl_ at CLASS@_OK copy01)
@@ -643,12 +643,12 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
 print_string_if_noisy
   "testing ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
-ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
+let u = ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign
   copy01 copy03 @CONSTRAINER at s04;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -659,9 +659,9 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_to
 print_string_if_noisy
   "testing ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
 let tokens
   = ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens
   copy01 copy03 @CONSTRAINER at s04 10;;
@@ -678,11 +678,11 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
-ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign copy01 copy03 ;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
+let u = ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign copy01 copy03 ;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -692,9 +692,9 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens_code: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
 let tokens
   = ppl_ at CLASS@_ at EXTRAPOLATION@_extrapolation_assign_with_tokens
     copy01 copy03 5;;
@@ -712,26 +712,26 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign: ";;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 03);;
-ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign copy03 copy01 ;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 03);;
+let u = ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign copy03 copy01 ;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
 ')
 
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
 `
-print_string_if_noisy "testing ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign: ";;
+print_string_if_noisy "testing ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign: ";;
 let copy01
-  = ppl_new_ at CLASS@_from_ at CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at CLASS@_from_ at CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy03
-  = ppl_new_ at CLASS@_from_ at CLASS@(@LCLASS at 03);;
-ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign copy01 copy03 ;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at CLASS@_from_ at CLASS@(@!CLASS at 03);;
+let u = ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign copy01 copy03 ;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -741,11 +741,11 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign: ";;
 let copy01
-  = ppl_new_ at CLASS@_from_ at CLASS@(@LCLASS at 01);;
+  = ppl_new_ at CLASS@_from_ at CLASS@(@!CLASS at 01);;
 let copy03
-  = ppl_new_ at CLASS@_from_ at CLASS@(@LCLASS at 03);;
-ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign copy01 copy03 2;;
-let out = if (ppl_ at CLASS@_OK copy01)
+  = ppl_new_ at CLASS@_from_ at CLASS@(@!CLASS at 03);;
+let u = ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign copy01 copy03 2;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -754,7 +754,7 @@ print_string_if_noisy "\n";;
 m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_code',
 `
 print_string_if_noisy "testing ppl_ at BEGINEND@_iterator: " ;;
-let it = ppl_ at CLASS@_ at BEGINEND@_iterator @LCLASS at 01;;
+let it = ppl_ at CLASS@_ at BEGINEND@_iterator @!CLASS at 01;;
 let out = if (ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
@@ -764,10 +764,10 @@ print_string_if_noisy "\n";;
 m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_iterator_equals_iterator: " ;;
-let it = ppl_ at CLASS@_begin_iterator @LCLASS at 01;;
-let it_begin = ppl_ at CLASS@_begin_iterator @LCLASS at 01;;
+let it = ppl_ at CLASS@_begin_iterator @!CLASS at 01;;
+let it_begin = ppl_ at CLASS@_begin_iterator @!CLASS at 01;;
 let b = ppl_ at CLASS@_iterator_equals_iterator it it_begin;;
-let out = if (ppl_ at CLASS@_OK @LCLASS at 01)
+let out = if (ppl_ at CLASS@_OK @!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -776,10 +776,10 @@ print_string_if_noisy "\n";;
 m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_code',
 `
 print_string_if_noisy "testing ppl_new_ at CLASS@_iterator_from_iterator: " ;;
-let it_begin = ppl_ at CLASS@_begin_iterator @LCLASS at 01;;
+let it_begin = ppl_ at CLASS@_begin_iterator @!CLASS at 01;;
 let it_copy = ppl_new_ at CLASS@_iterator_from_iterator it_begin;;
 let b = ppl_ at CLASS@_iterator_equals_iterator it_copy it_begin;;
-let out = if (ppl_ at CLASS@_OK @LCLASS at 01)
+let out = if (ppl_ at CLASS@_OK @!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -788,10 +788,22 @@ print_string_if_noisy "\n";;
 m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ at INCDEC@_iterator: " ;;
-let it = ppl_ at CLASS@_begin_iterator @LCLASS at 01;;
-ppl_ at CLASS@_ at INCDEC@_iterator it;;
-let out = if (ppl_ at CLASS@_OK @LCLASS at 01)
-  then "success" else "failed"
+let itb = ppl_ at CLASS@_begin_iterator @!CLASS at 01;;
+let it_begin = ppl_ at CLASS@_begin_iterator @!CLASS at 01;;
+let ite = ppl_ at CLASS@_end_iterator @!CLASS at 01;;
+let it_end = ppl_ at CLASS@_end_iterator @!CLASS at 01;;
+let size = ppl_ at CLASS@_size @!CLASS at 01 in
+if (size > 0)
+  then (
+    ppl_ at CLASS@_increment_iterator itb;
+    ppl_ at CLASS@_decrement_iterator itb;
+    ppl_ at CLASS@_decrement_iterator ite;
+    ppl_ at CLASS@_increment_iterator ite;
+  );;
+let out = if ((ppl_ at CLASS@_OK @!CLASS at 01)
+               & (ppl_ at CLASS@_iterator_equals_iterator itb it_begin)
+               & (ppl_ at CLASS@_iterator_equals_iterator ite it_end))
+   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
 ')
@@ -799,9 +811,9 @@ print_string_if_noisy "\n";;
 m4_define(`ppl_ at CLASS@_get_disjunct_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_get_disjunct: " ;;
-let it = ppl_ at CLASS@_begin_iterator @LCLASS at 01;;
+let it = ppl_ at CLASS@_begin_iterator @!CLASS at 01;;
 let d = ppl_ at CLASS@_get_disjunct it;;
-let out = if (ppl_ at CLASS@_OK @LCLASS at 01)
+let out = if (ppl_ at CLASS@_OK @!CLASS at 01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -811,10 +823,10 @@ m4_define(`ppl_ at CLASS@_drop_disjunct_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_drop_disjunct: " ;;
 let copy01
-  = ppl_new_ at CLASS@_from_ at CLASS@(@LCLASS at 01);;
+  = ppl_new_ at CLASS@_from_ at CLASS@(@!CLASS at 01);;
 let it = ppl_ at CLASS@_begin_iterator copy01;;
-ppl_ at CLASS@_drop_disjunct copy01 it;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let u = ppl_ at CLASS@_drop_disjunct copy01 it;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -824,11 +836,11 @@ m4_define(`ppl_ at CLASS@_drop_disjuncts_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_drop_disjuncts: " ;;
 let copy01
-  = ppl_new_ at CLASS@_from_ at CLASS@(@LCLASS at 01);;
+  = ppl_new_ at CLASS@_from_ at CLASS@(@!CLASS at 01);;
 let it1 = ppl_ at CLASS@_begin_iterator copy01;;
 let it2 = ppl_ at CLASS@_begin_iterator copy01;;
-ppl_ at CLASS@_drop_disjuncts copy01 it1 it2;;
-let out = if (ppl_ at CLASS@_OK copy01)
+let u = ppl_ at CLASS@_drop_disjuncts copy01 it1 it2;;
+let out = if (u = () & ppl_ at CLASS@_OK copy01)
   then "success" else "failed"
     in (print_string_if_noisy out);;
 print_string_if_noisy "\n";;
@@ -837,7 +849,7 @@ print_string_if_noisy "\n";;
 m4_define(`ppl_ at CLASS@_ascii_dump_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_ascii_dump: " ;;
-print_string_if_noisy (ppl_ at CLASS@_ascii_dump @LTOPOLOGY@@LCLASS at 01);;
+print_string_if_noisy (ppl_ at CLASS@_ascii_dump @!TOPOLOGY@@!CLASS at 01);;
 print_string_if_noisy "\n";;
 ')
 
@@ -845,9 +857,9 @@ m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_linear_ at PARTITION@: " ;;
 let copy01
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let copy02
-  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@LTOPOLOGY@@LCLASS at 01);;
+  = ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(@!TOPOLOGY@@!CLASS at 01);;
 let (intsn, ptt)
   =  ppl_ at CLASS@_linear_partition copy01 copy02;;
 let out
@@ -861,9 +873,9 @@ m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code',
 `
 print_string_if_noisy "testing ppl_ at CLASS@_linear_ at PARTITION@: " ;;
 let copy01
-  = ppl_new_ at CLASS@_from_ at CLASS@(@LCLASS at 01);;
+  = ppl_new_ at CLASS@_from_ at CLASS@(@!CLASS at 01);;
 let copy02
-  = ppl_new_ at CLASS@_from_ at CLASS@(@LCLASS at 01);;
+  = ppl_new_ at CLASS@_from_ at CLASS@(@!CLASS at 01);;
 let (intsn, ptt, is_finite)
   =  ppl_ at CLASS@_approximate_partition copy01 copy02;;
 let out
diff --git a/interfaces/OCaml/tests/ppl_ocaml_tests_common b/interfaces/OCaml/tests/ppl_ocaml_tests_common
index 7e12e93..4635cba 100644
--- a/interfaces/OCaml/tests/ppl_ocaml_tests_common
+++ b/interfaces/OCaml/tests/ppl_ocaml_tests_common
@@ -1,5 +1,5 @@
 (* Common part of the OCaml generated tests.  -*- Tuareg -*-
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/OCaml/tests/test1.ml b/interfaces/OCaml/tests/test1.ml
index 7cad612..05626bb 100644
--- a/interfaces/OCaml/tests/test1.ml
+++ b/interfaces/OCaml/tests/test1.ml
@@ -1,5 +1,5 @@
 (* Simple program testing the PPL OCaml interface on a few random things.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -203,7 +203,6 @@ let e3 =
   -/
   (linear_expression_of_int 7)
 ;;
-
 print_linear_expression e3; print_string_if_noisy "\n" ;;
 
 (* Probably the most convenient thing for the user will be to use the
@@ -220,7 +219,7 @@ let congruence1 = (e2, e2 , (Z.from_int 1));;
 let congruences1 = [e3, e2 , (Z.from_int 20)];;
 let grid_generator1 = Grid_Point (e3, (Z.from_int 1));;
 
-let mip1 =  ppl_new_MIP_Problem 10 constraints1 e3 Maximization;;
+let mip1 = ppl_new_MIP_Problem 10 constraints1 e3 Maximization;;
 let objective_func = ppl_MIP_Problem_objective_function mip1;;
 print_string_if_noisy "\n";;
 print_linear_expression objective_func;;
@@ -248,9 +247,27 @@ for i = 6 downto 0 do
 done;;
 print_string_if_noisy "\n";;
 
+let c1 = (a  >=/ linear_expression_of_int 0);;
+let c2 = (a  <=/ linear_expression_of_int 2);;
+let c2a = (a  <=/ linear_expression_of_int 3);;
+let c3 = (b  >=/ linear_expression_of_int 0);;
+let c4 = (b  <=/ linear_expression_of_int 2);;
+let cs1 = [c1; c2; c3; c4];;
+let cs2 = [c1; c2a; c3; c4];;
+let poly1 = ppl_new_C_Polyhedron_from_constraints(cs1);;
+let poly2 = ppl_new_C_Polyhedron_from_constraints(cs2);;
+
 let polyhedron1 = ppl_new_C_Polyhedron_from_constraints(constraints1);;
 let polyhedron2 = ppl_new_C_Polyhedron_from_generators(generators1);;
 let result =  ppl_Polyhedron_bounds_from_above polyhedron1 e2;;
+let p = Ppl_ocaml.ppl_new_C_Polyhedron_from_constraints [];;
+let u = Ppl_ocaml.ppl_Polyhedron_add_constraints p [];;
+let out = if (u == ())
+  then "ppl_Polyhedron_add_constraints returns unit"
+  else "ppl_Polyhedron_add_constraints does not return unit"
+    in (print_string_if_noisy out);;
+print_string_if_noisy "\n";;
+
 ppl_Polyhedron_add_constraint polyhedron1 constraint1;;
 ppl_Polyhedron_add_generator polyhedron1 generator1;;
 let b = ppl_Polyhedron_is_disjoint_from_Polyhedron
@@ -259,17 +276,32 @@ ppl_Polyhedron_concatenate_assign polyhedron1 polyhedron2;;
 let congruences = ppl_Polyhedron_get_congruences polyhedron1 in
 List.iter print_congruence congruences;;
 print_string_if_noisy "\n";;
+
+print_string_if_noisy "\nTesting affine transformations \n";;
 ppl_Polyhedron_bounded_affine_preimage polyhedron1 1 e1 e2 (Z.from_int 10);;
 ppl_Polyhedron_bounded_affine_preimage polyhedron1 1 e1 e2 (Z.from_int 10);;
 ppl_Polyhedron_affine_image polyhedron1 1 e1 (Z.from_int 10);;
-let a = ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_tokens
+
+print_string_if_noisy "\nTesting widenings and extrapolations \n";;
+let tokens_l_BHRZ03 =
+  ppl_Polyhedron_limited_BHRZ03_extrapolation_assign_with_tokens
   polyhedron1 polyhedron1 constraints1 10;;
-let b = ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_tokens
+let tokens_b_BHRZ03 =
+  ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign_with_tokens
   polyhedron1 polyhedron1 constraints1 10;;
-let b = ppl_Polyhedron_bounded_H79_extrapolation_assign_with_tokens
+let tokens_b_H79 = ppl_Polyhedron_bounded_H79_extrapolation_assign_with_tokens
   polyhedron1 polyhedron1 constraints1 10;;
- ppl_Polyhedron_H79_widening_assign polyhedron1 ;;
-print_int_if_noisy b;;
+let tokens_H79 = ppl_Polyhedron_H79_widening_assign_with_tokens poly2 poly1 2;;
+ppl_Polyhedron_H79_widening_assign polyhedron1 polyhedron1 ;;
+print_string_if_noisy "tokens b_H79 = ";;
+print_int_if_noisy tokens_b_H79;;
+print_string_if_noisy "\n";;
+print_string_if_noisy "tokens b_BHRZ03 = ";;
+print_int_if_noisy tokens_b_BHRZ03;;
+print_string_if_noisy "\n";;
+print_string_if_noisy "tokens H79 = ";;
+print_int_if_noisy tokens_H79;;
+print_string_if_noisy "\n";;
 
 let b = ppl_Polyhedron_OK polyhedron1;;
 ppl_Polyhedron_generalized_affine_preimage_lhs_rhs
@@ -341,7 +373,80 @@ let b = ppl_banner ();;
 print_string_if_noisy "\n";;
 print_string_if_noisy "Banner is: ";
 print_string_if_noisy(b);;
+print_string_if_noisy "\n\n";;
+print_string_if_noisy "PPL Coefficient integer datatype is " ;;
+if (ppl_Coefficient_is_bounded())
+then print_string_if_noisy "bounded\n"
+else print_string_if_noisy "unbounded\n" ;;
+print_string_if_noisy "Maximum space dimension is: ";
+let i = ppl_max_space_dimension()
+in print_int_if_noisy i;;
 print_string_if_noisy "\n";;
+
+(* Testing exceptions *)
+try
+  let _ = ppl_new_MIP_Problem_from_space_dimension (-10)
+  in print_string_if_noisy "Exception test failed"
+with Invalid_argument what ->
+  print_string_if_noisy "Exception test succeeded; caught exception is:\n";
+  print_string_if_noisy what;
+  print_string_if_noisy "\n";;
+
+(* Testing timeouts *)
+let lower = Coefficient(Gmp.Z.of_int 0)
+and upper = Coefficient(Gmp.Z.of_int 1)
+in let rec hypercube_cs dim =
+  if dim < 0
+  then []
+  else Greater_Or_Equal(Variable dim, lower)
+         :: Less_Or_Equal(Variable dim, upper)
+           :: hypercube_cs (dim-1)
+and hypercube_ph dim =
+  ppl_new_C_Polyhedron_from_constraints (hypercube_cs dim)
+and compute_timeout_hypercube dim_in dim_out =
+  if dim_in < dim_out then (
+    let _ = ppl_Polyhedron_get_minimized_constraints (hypercube_ph dim_in)
+    in (
+        print_string_if_noisy "Built hypercube of dimension ";
+        print_int_if_noisy dim_in;
+        print_string_if_noisy "\n"
+    );
+    compute_timeout_hypercube (dim_in + 1) dim_out
+  )
+in (
+  begin
+    try
+      print_string_if_noisy "\nStarting ppl_reset_timeout test:\n";
+      ppl_set_timeout 100;
+      compute_timeout_hypercube 0 2;
+      ppl_reset_timeout ();
+      print_string_if_noisy "ppl_reset_timeout test succeeded.\n"
+    with
+    | PPL_timeout_exception ->
+      print_string_if_noisy "ppl_reset_timeout test seems to be failed:\n";
+      print_string_if_noisy "Unexpected PPL timeout exception caught.\n"
+    | _ ->
+      print_string_if_noisy "ppl_reset_timeout test seems to be failed.";
+      (* FIXME: print the contents of the exception. *)
+      print_string_if_noisy "\n"
+  end;
+  begin
+    try
+      print_string_if_noisy "\nStarting ppl_set_timeout test:\n";
+      ppl_set_timeout 100;
+      compute_timeout_hypercube 0 100;
+      ppl_reset_timeout ();
+      print_string_if_noisy "ppl_set_timeout test seems to be failed!\n"
+    with
+    | PPL_timeout_exception ->
+      print_string_if_noisy "ppl_set_timeout test succeded\n";
+      print_string_if_noisy "Expected PPL timeout exception caught.\n"
+    | _ ->
+      print_string_if_noisy "ppl_set_timeout test failed:\n";
+      print_string_if_noisy "generic exception caught.\n"
+  end
+);;
+
 (* Pointset_Powersed_Grid is not enabled by default, the following code is *)
 (* commented *)
 (* let pps = ppl_new_Pointset_Powerset_Grid_from_space_dimension 3;; *)
diff --git a/interfaces/Prolog/Ciao/Makefile.am b/interfaces/Prolog/Ciao/Makefile.am
index 3219ff7..203717e 100644
--- a/interfaces/Prolog/Ciao/Makefile.am
+++ b/interfaces/Prolog/Ciao/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -168,11 +168,11 @@ $(NO_UNDEFINED_FLAG) \
 pkglib_DATA = ppl_ciao.po
 
 ppl_ciao.pl: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_ciao_pl.m4 > $@
 
 ciao_prolog_generated_test.pl: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_ciao_prolog_generated_test_pl.m4 > $@
 
 ppl_ciao.po: ppl_ciao.pl
@@ -271,9 +271,10 @@ pl_check_test: ciao_pl_check$(EXEEXT) .libs/libppl_ciao.so $(EXPECTED_PCHK)
 			 >obtained_pchk
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
-clpq_test: ciao_clpq$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq $(EXPECTED_CLPQ)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
+clpq_test: ciao_clpq$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	GLOBALSTKSIZE=1000000 \
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
@@ -283,9 +284,7 @@ clpq_test: ciao_clpq$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq $(EXPECT
 			<$(srcdir)/../tests/script_clpq >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
-clpq2_test: ciao_clpq2$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq2 $(EXPECTED_CLPQ2)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+clpq2_test: ciao_clpq2$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	GLOBALSTKSIZE=100000 \
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
diff --git a/interfaces/Prolog/Ciao/Makefile.in b/interfaces/Prolog/Ciao/Makefile.in
index 541df6d..91073bf 100644
--- a/interfaces/Prolog/Ciao/Makefile.in
+++ b/interfaces/Prolog/Ciao/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,12 +80,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -197,6 +196,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -205,6 +206,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -279,6 +281,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -1355,11 +1358,11 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 
 
 @ENABLE_SHARED_TRUE at ppl_ciao.pl: $(interface_generator_dependencies)
- at ENABLE_SHARED_TRUE@	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+ at ENABLE_SHARED_TRUE@	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
 @ENABLE_SHARED_TRUE@           $(srcdir)/ppl_interface_generator_ciao_pl.m4 > $@
 
 @ENABLE_SHARED_TRUE at ciao_prolog_generated_test.pl: $(interface_generator_dependencies)
- at ENABLE_SHARED_TRUE@	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+ at ENABLE_SHARED_TRUE@	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
 @ENABLE_SHARED_TRUE@           $(srcdir)/ppl_interface_generator_ciao_prolog_generated_test_pl.m4 > $@
 
 @ENABLE_SHARED_TRUE at ppl_ciao.po: ppl_ciao.pl
@@ -1427,9 +1430,10 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 @ENABLE_SHARED_TRUE@			 >obtained_pchk
 @ENABLE_SHARED_TRUE@	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
- at ENABLE_SHARED_TRUE@clpq_test: ciao_clpq$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq $(EXPECTED_CLPQ)
- at ENABLE_SHARED_TRUE@	LANG=C; \
- at ENABLE_SHARED_TRUE@	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+ at ENABLE_SHARED_TRUE@$(CLPQ_TESTS):
+ at ENABLE_SHARED_TRUE@	cp -f $(srcdir)/../tests/$@ .
+
+ at ENABLE_SHARED_TRUE@clpq_test: ciao_clpq$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 @ENABLE_SHARED_TRUE@	GLOBALSTKSIZE=1000000 \
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
@@ -1439,9 +1443,7 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 @ENABLE_SHARED_TRUE@			<$(srcdir)/../tests/script_clpq >obtained_clpq
 @ENABLE_SHARED_TRUE@	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
- at ENABLE_SHARED_TRUE@clpq2_test: ciao_clpq2$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq2 $(EXPECTED_CLPQ2)
- at ENABLE_SHARED_TRUE@	LANG=C; \
- at ENABLE_SHARED_TRUE@	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+ at ENABLE_SHARED_TRUE@clpq2_test: ciao_clpq2$(EXEEXT) .libs/libppl_ciao.so ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 @ENABLE_SHARED_TRUE@	GLOBALSTKSIZE=100000 \
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
 @ENABLE_SHARED_TRUE@		-dlopen ../../../src/libppl.la \
diff --git a/interfaces/Prolog/Ciao/ciao_cfli.hh b/interfaces/Prolog/Ciao/ciao_cfli.hh
index c0805a5..fc81ba1 100644
--- a/interfaces/Prolog/Ciao/ciao_cfli.hh
+++ b/interfaces/Prolog/Ciao/ciao_cfli.hh
@@ -1,5 +1,5 @@
 /* Ciao Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Ciao/ciao_clpq.pl b/interfaces/Prolog/Ciao/ciao_clpq.pl
index 05bfad1..253ecb1 100644
--- a/interfaces/Prolog/Ciao/ciao_clpq.pl
+++ b/interfaces/Prolog/Ciao/ciao_clpq.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/CIAO-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Ciao/ciao_clpq2.pl b/interfaces/Prolog/Ciao/ciao_clpq2.pl
index f518959..c3804d3 100644
--- a/interfaces/Prolog/Ciao/ciao_clpq2.pl
+++ b/interfaces/Prolog/Ciao/ciao_clpq2.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the 2nd toy PPL/CIAO-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Ciao/ciao_efli.cc b/interfaces/Prolog/Ciao/ciao_efli.cc
index b25d00d..37207fc 100644
--- a/interfaces/Prolog/Ciao/ciao_efli.cc
+++ b/interfaces/Prolog/Ciao/ciao_efli.cc
@@ -1,5 +1,5 @@
 /* Ciao Prolog extended foreign language interface: definitions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Ciao/ciao_efli.hh b/interfaces/Prolog/Ciao/ciao_efli.hh
index 1aa3a8c..608a90a 100644
--- a/interfaces/Prolog/Ciao/ciao_efli.hh
+++ b/interfaces/Prolog/Ciao/ciao_efli.hh
@@ -1,5 +1,5 @@
 /* Ciao Prolog extended foreign language interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Ciao/ciao_pl_check.pl b/interfaces/Prolog/Ciao/ciao_pl_check.pl
index 0e0727b..8a2527f 100644
--- a/interfaces/Prolog/Ciao/ciao_pl_check.pl
+++ b/interfaces/Prolog/Ciao/ciao_pl_check.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/CIAO-Prolog predicate checker.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4 b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
index 92c031a..d7f8559 100644
--- a/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
+++ b/interfaces/Prolog/Ciao/ppl_interface_generator_ciao_pl.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_ciao.pl.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -54,7 +54,7 @@ m4_divert(3)
 :- comment(version_maintenance,off).
 
 m4_divert`'dnl
-m4_define(`m4_extension', `m4_ifelse($4, 0, , `COMMA
+m4_define(`m4_expanded_procedure_schema', `m4_ifelse($4, 0, , `COMMA
 ')	  $1/$2')dnl
 m4_patsubst(ppl_prolog_sys_code, COMMA, `,')`'dnl
 m4_undivert(1)`'dnl
@@ -63,7 +63,7 @@ m4_define(`check_fail', `m4_ifelse(m4_index($1, nofail), -1, failok, nofail)')
 m4_define(`term', `Term$1')dnl
 m4_define(`anyterm', `any_term')dnl
 m4_define(`interm', `in(Term$1)')dnl
-m4_define(`m4_extension', `m4_ifelse(check_fail($3), nofail,
+m4_define(`m4_expanded_procedure_schema', `m4_ifelse(check_fail($3), nofail,
   `:- true pred $1`'m4_ifelse(`$2', 0, ,(`'m4_term_sequence($2, `interm'))
           :: `'m4_term_sequence($2, `anyterm', ` *')) +  foreign.
 
@@ -79,7 +79,7 @@ $1`'m4_ifelse(`$2', 0, ,`(m4_term_sequence($2, `term'))') :-
 ppl_prolog_sys_code`'dnl
 m4_undivert(2)dnl
 m4_divert`'dnl
-m4_define(`m4_extension',
+m4_define(`m4_expanded_procedure_schema',
   `m4_ifelse(check_fail($3), nofail, ,m4_ifelse($4, 0, , `COMMA
 ')	`'$1_2/m4_incr($2))')dnl
 m4_patsubst(ppl_prolog_sys_code, COMMA, `,')`'dnl
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 3ac62ca..f3713fe 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
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file defines macros needed for generating
 dnl the Ciao dependent code for ciao_prolog_generated_test.pl.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -27,7 +27,7 @@ dnl site: http://www.cs.unipr.it/ppl/ .
 
 m4_include(`ppl_interface_generator_prolog_systems.m4')dnl
 
-m4_define(`m4_extension', `m4_ifelse($4, 0, , `COMMA
+m4_define(`m4_expanded_procedure_schema', `m4_ifelse($4, 0, , `COMMA
 ')  $1/$2')
 
 m4_divert`'dnl
diff --git a/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh b/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
index 4b3ffba..b963051 100644
--- a/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/Ciao/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for Ciao Prolog.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/Makefile.am b/interfaces/Prolog/GNU/Makefile.am
index 644f11f..b1d4dd2 100644
--- a/interfaces/Prolog/GNU/Makefile.am
+++ b/interfaces/Prolog/GNU/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -161,7 +161,7 @@ $(NO_UNDEFINED_FLAG) \
 -avoid-version
 
 ppl_gprolog.pl: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_gprolog_pl.m4 > $@
 
 pkglib_DATA = ppl_gprolog.pl
@@ -257,9 +257,10 @@ pl_check_test: gnu_pl_check.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 		./ppl_gprolog <script_pchk
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
-clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
+clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
@@ -267,9 +268,7 @@ clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ)
 		./gp_clpq <$(SCRIPT_CLPQ) >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
-clpq2_test: gp_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+clpq2_test: gp_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
diff --git a/interfaces/Prolog/GNU/Makefile.in b/interfaces/Prolog/GNU/Makefile.in
index 4090ad6..14fc6ba 100644
--- a/interfaces/Prolog/GNU/Makefile.in
+++ b/interfaces/Prolog/GNU/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -82,12 +82,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -203,6 +202,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -211,6 +212,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -285,6 +287,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -1400,7 +1403,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA \
 
 
 ppl_gprolog.pl: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_gprolog_pl.m4 > $@
 
 ppl_gprolog$(EXEEXT): libppl_gprolog.la ppl_gprolog.pl
@@ -1433,9 +1436,10 @@ pl_check_test: gnu_pl_check.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 		./ppl_gprolog <script_pchk
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
-clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
+clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
@@ -1443,9 +1447,7 @@ clpq_test: gp_clpq ../tests/script_clpq $(EXPECTED_CLPQ)
 		./gp_clpq <$(SCRIPT_CLPQ) >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
-clpq2_test: gp_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+clpq2_test: gp_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
diff --git a/interfaces/Prolog/GNU/gnu_pl_check.pl b/interfaces/Prolog/GNU/gnu_pl_check.pl
index b5c9ea9..436d14a 100644
--- a/interfaces/Prolog/GNU/gnu_pl_check.pl
+++ b/interfaces/Prolog/GNU/gnu_pl_check.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/GNU-Prolog predicate checker.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl b/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
index e93f283..cc7774a 100644
--- a/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
+++ b/interfaces/Prolog/GNU/gnu_prolog_generated_test.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/GNU-Prolog predicate checker.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gp_clpq.pl b/interfaces/Prolog/GNU/gp_clpq.pl
index b5d1720..9cbad3e 100644
--- a/interfaces/Prolog/GNU/gp_clpq.pl
+++ b/interfaces/Prolog/GNU/gp_clpq.pl
@@ -1,5 +1,5 @@
 /* Main program for the toy PPL/GNU-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gprolog_cfli.hh b/interfaces/Prolog/GNU/gprolog_cfli.hh
index af353eb..16a6820 100644
--- a/interfaces/Prolog/GNU/gprolog_cfli.hh
+++ b/interfaces/Prolog/GNU/gprolog_cfli.hh
@@ -1,5 +1,5 @@
 /* GNU Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gprolog_efli.cc b/interfaces/Prolog/GNU/gprolog_efli.cc
index c0421ce..dbb089c 100644
--- a/interfaces/Prolog/GNU/gprolog_efli.cc
+++ b/interfaces/Prolog/GNU/gprolog_efli.cc
@@ -1,5 +1,5 @@
 /* GNU Prolog extended foreign language interface: definitions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/gprolog_efli.hh b/interfaces/Prolog/GNU/gprolog_efli.hh
index a2c0bd6..dae2470 100644
--- a/interfaces/Prolog/GNU/gprolog_efli.hh
+++ b/interfaces/Prolog/GNU/gprolog_efli.hh
@@ -1,5 +1,5 @@
 /* GNU Prolog extended foreign language interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4 b/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
index 255a96f..3a2b9d3 100644
--- a/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
+++ b/interfaces/Prolog/GNU/ppl_interface_generator_gprolog_pl.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_gprolog.pl.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -36,7 +36,7 @@ m4_define(`tm', ``+term'')
 
 m4_define(`start', 0)
 
-m4_define(`m4_extension',
+m4_define(`m4_expanded_procedure_schema',
   `:- foreign($1`'m4_ifelse(`$2', 0, ,`(m4_term_sequence($2, `tm'))')).
 ')
 
diff --git a/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh b/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
index fb426d1..a0c4e7f 100644
--- a/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/GNU/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for GNU Prolog.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/Makefile.am b/interfaces/Prolog/Makefile.am
index 0980593..4845ca2 100644
--- a/interfaces/Prolog/Makefile.am
+++ b/interfaces/Prolog/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -88,7 +88,7 @@ ppl_prolog_sysindep_dox
 
 Prolog_configured_interface.dox: \
 $(interface_generator_dox_dependencies) Makefile
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_dox.m4 \
                 > Prolog_configured_interface.dox
 
@@ -111,7 +111,7 @@ ppl_interface_generator_prolog_cc_files.m4 \
 ppl_interface_generator_prolog_cc_code.m4
 
 ppl_prolog_domains.hh: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_hh_files.m4 \
                 > ppl_prolog_hh_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_hh_blob
@@ -119,7 +119,7 @@ ppl_prolog_domains.hh: $(interface_generator_dependencies)
 	rm -f ppl_prolog_hh_blob
 
 ppl_prolog_domains.cc.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_cc_files.m4 \
                 > ppl_prolog_cc_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_cc_blob
diff --git a/interfaces/Prolog/Makefile.in b/interfaces/Prolog/Makefile.in
index 808842f..849abeb 100644
--- a/interfaces/Prolog/Makefile.in
+++ b/interfaces/Prolog/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -79,12 +79,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -163,6 +162,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -171,6 +172,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -245,6 +247,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -674,12 +677,12 @@ uninstall-am:
 
 Prolog_configured_interface.dox: \
 $(interface_generator_dox_dependencies) Makefile
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_dox.m4 \
                 > Prolog_configured_interface.dox
 
 ppl_prolog_domains.hh: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_hh_files.m4 \
                 > ppl_prolog_hh_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_hh_blob
@@ -687,7 +690,7 @@ ppl_prolog_domains.hh: $(interface_generator_dependencies)
 	rm -f ppl_prolog_hh_blob
 
 ppl_prolog_domains.cc.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
+	$(M4) --prefix-builtin -I.. -I$(srcdir) -I$(srcdir)/.. \
            $(srcdir)/ppl_interface_generator_prolog_cc_files.m4 \
                 > ppl_prolog_cc_blob
 	$(top_srcdir)/utils/cm_cleaner.sh < ppl_prolog_cc_blob
diff --git a/interfaces/Prolog/Prolog_interface.dox b/interfaces/Prolog/Prolog_interface.dox
index 8b31a09..7ab65d3 100644
--- a/interfaces/Prolog/Prolog_interface.dox
+++ b/interfaces/Prolog/Prolog_interface.dox
@@ -1,5 +1,5 @@
 /* Configuration Independent Documentation for Prolog.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,7 +22,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 /*!
   \defgroup PPL_Prolog_interface Prolog Language Interface
-  \brief
+
   The Parma Polyhedra Library comes equipped with an interface
   for the Prolog language.
 */
@@ -423,13 +423,13 @@ that are included with all instantiations of the Prolog interfaces.
    <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>
+<P><CODE> ppl_set_timeout(+Hsecs) </CODE><BR>
 
    <EM>Computations taking exponential time will be interrupted
-   some time after <CODE>C_unsigned</CODE> ms after that call.
+   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>C_unsigned</CODE> must be strictly greater than zero.</EM>
+   <CODE>Hsecs</CODE> must be strictly greater than zero.</EM>
 
 <P><CODE> ppl_reset_timeout </CODE><BR>
 
@@ -444,7 +444,7 @@ that are included with all instantiations of the Prolog interfaces.
   previously been called.</EM>
 
 
-<P><CODE> ppl_restore_rounding_for_PPL </CODE><BR>
+<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
@@ -1273,23 +1273,23 @@ contained in (or equal to) the polyhedron referred to by the first argument.
    \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>
+<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 H79-widening of \p P_1 with the polyhedron
+   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.
+   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_bounded_BHRZ03_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
+<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 BHRZ03-widening of \p P_1 with the polyhedron
+   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.
+   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
@@ -1313,19 +1313,19 @@ contained in (or equal to) the polyhedron referred to by the first argument.
    \c Constraint_System that are
    satisfied by all the points of \p P_1.</EM>
 
-<P><CODE>ppl_Polyhedron_limited_H79_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
+<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 H79-widening of \p P_1 with the polyhedron
+   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>
+   satisfied by all the points of \p P_1, further intersected with the smallest box containing \p P_1.</EM>
 
-<P><CODE>ppl_Polyhedron_bounded_BHRZ03_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
+<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 BHRZ03-widening of \p P_1 with the polyhedron
+   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>
+   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
diff --git a/interfaces/Prolog/SICStus/Makefile.am b/interfaces/Prolog/SICStus/Makefile.am
index e7c9bde..f1f6edb 100644
--- a/interfaces/Prolog/SICStus/Makefile.am
+++ b/interfaces/Prolog/SICStus/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -59,7 +59,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ppl_interface_generator_sicstus_sd_cc.m4
 
 ppl_sicstus_sd.cc: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_sicstus_sd_cc.m4 > $@
 
 bin_PROGRAMS = ppl_sicstus
@@ -272,11 +272,12 @@ pl_check_test: ppl_sicstus ppl_sicstus.pl sp_pl_check.pl ../tests/pl_check.pl $(
 	fi
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
 # FIXME: the last prerequisite is to get around a bug of `spld': see
 # http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007610.html
-clpq_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECTED_CLPQ) | pl_check_test
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+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) \
@@ -287,9 +288,7 @@ clpq_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq.pl ../tests/scrip
 
 # FIXME: the last prerequisite is to get around a bug of `spld': see
 # http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007610.html
-clpq2_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EXPECTED_CLPQ2) | clpq_test
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+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) \
diff --git a/interfaces/Prolog/SICStus/Makefile.in b/interfaces/Prolog/SICStus/Makefile.in
index 745c374..8c81f37 100644
--- a/interfaces/Prolog/SICStus/Makefile.in
+++ b/interfaces/Prolog/SICStus/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -82,12 +82,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -202,6 +201,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -210,6 +211,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -284,6 +286,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -1372,7 +1375,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA
 
 
 ppl_sicstus_sd.cc: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_sicstus_sd_cc.m4 > $@
 
 @ENABLE_SHARED_TRUE at ppl_sicstus.so: ppl_sicstus.pl $(top_builddir)/src/libppl.la $(WATCHDOG_LIBRARY) libppl_sicstus.la
@@ -1431,11 +1434,12 @@ pl_check_test: ppl_sicstus ppl_sicstus.pl sp_pl_check.pl ../tests/pl_check.pl $(
 	fi
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
 # FIXME: the last prerequisite is to get around a bug of `spld': see
 # http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007610.html
-clpq_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECTED_CLPQ) | pl_check_test
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+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) \
@@ -1446,9 +1450,7 @@ clpq_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq.pl ../tests/scrip
 
 # FIXME: the last prerequisite is to get around a bug of `spld': see
 # http://www.cs.unipr.it/pipermail/ppl-devel/2006-January/007610.html
-clpq2_test: ppl_sicstus ppl_sicstus.pl sp_clpq.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EXPECTED_CLPQ2) | clpq_test
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+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) \
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 aa3703b..25e32ab 100644
--- a/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
+++ b/interfaces/Prolog/SICStus/ppl_interface_generator_sicstus_sd_cc.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_sicstus_sd.cc.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -168,9 +168,9 @@ ppl_sicstus_deinit(int /* when */) {
 dnl
 m4_divert`'dnl
 dnl
-dnl Redefine m4_extension to generate SICStus stubs.
-dnl m4_extension(Predicate_Name, Arity)
-m4_define(`m4_extension', `dnl
+dnl Redefine m4_expanded_procedure_schema to generate SICStus stubs.
+dnl m4_expanded_procedure_schema(Predicate_Name, Arity)
+m4_define(`m4_expanded_procedure_schema', `dnl
 SP_STUB_$2($1)
 ')dnl
 dnl Generate stubs.
@@ -180,7 +180,7 @@ m4_divert(-1)
 
 dnl Redefine m4_extension to generate SICStus user predicates.
 dnl m4_extension(Predicate_Name, Arity)
-m4_define(`m4_extension', `dnl
+m4_define(`m4_expanded_procedure_schema', `dnl
   SP_DEFINE_C_PREDICATE($1, $2);
 ')
 
diff --git a/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh b/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
index 9e04296..6d7f7ca 100644
--- a/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/SICStus/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for SICStus Prolog.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/ppl_sicstus.pl b/interfaces/Prolog/SICStus/ppl_sicstus.pl
index 1ed0c47..5f7e7dc 100644
--- a/interfaces/Prolog/SICStus/ppl_sicstus.pl
+++ b/interfaces/Prolog/SICStus/ppl_sicstus.pl
@@ -1,5 +1,5 @@
 /* Loader for the SICStus Prolog interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.cc b/interfaces/Prolog/SICStus/sicstus_cfli.cc
index 5855b30..8954a0c 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.cc
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.cc
@@ -1,5 +1,5 @@
 /* SICStus Prolog Common Foreign Language Interface: implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.h b/interfaces/Prolog/SICStus/sicstus_cfli.h
index 2dad342..7e27110 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.h
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.h
@@ -1,5 +1,5 @@
 /* SICStus Prolog Common Foreign Language Interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_cfli.ic b/interfaces/Prolog/SICStus/sicstus_cfli.ic
index cbd9fd8..e77336d 100644
--- a/interfaces/Prolog/SICStus/sicstus_cfli.ic
+++ b/interfaces/Prolog/SICStus/sicstus_cfli.ic
@@ -1,5 +1,5 @@
 /* SICStus Common Foreign Language Interface: definitions. -*- C -*-
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_efli.cc b/interfaces/Prolog/SICStus/sicstus_efli.cc
index bb71f61..0a111fe 100644
--- a/interfaces/Prolog/SICStus/sicstus_efli.cc
+++ b/interfaces/Prolog/SICStus/sicstus_efli.cc
@@ -1,5 +1,5 @@
 /* SICStus Prolog extended foreign language interface: definitions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sicstus_efli.hh b/interfaces/Prolog/SICStus/sicstus_efli.hh
index 5ec8dcf..0ad66a5 100644
--- a/interfaces/Prolog/SICStus/sicstus_efli.hh
+++ b/interfaces/Prolog/SICStus/sicstus_efli.hh
@@ -1,5 +1,5 @@
 /* SICStus Prolog extended foreign language interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sp_clpq.pl b/interfaces/Prolog/SICStus/sp_clpq.pl
index 865ced1..e5bb409 100644
--- a/interfaces/Prolog/SICStus/sp_clpq.pl
+++ b/interfaces/Prolog/SICStus/sp_clpq.pl
@@ -1,5 +1,5 @@
 /* Main program for the toy PPL/SICStus-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sp_pl_check.pl b/interfaces/Prolog/SICStus/sp_pl_check.pl
index 98d8134..38e4cc1 100644
--- a/interfaces/Prolog/SICStus/sp_pl_check.pl
+++ b/interfaces/Prolog/SICStus/sp_pl_check.pl
@@ -1,5 +1,5 @@
 /* Main program for the toy PPL/SICStus-Prolog CLP(Q) predicate checker.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl b/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
index 8e76bcd..ff8e5da 100644
--- a/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
+++ b/interfaces/Prolog/SICStus/sp_prolog_generated_test.pl
@@ -1,5 +1,5 @@
 /* Main program for the PPL/SICStus-Prolog generated tests.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/Makefile.am b/interfaces/Prolog/SWI/Makefile.am
index 0c408fa..fb00411 100644
--- a/interfaces/Prolog/SWI/Makefile.am
+++ b/interfaces/Prolog/SWI/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -74,7 +74,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ppl_interface_generator_swiprolog_cc.m4
 
 ppl_swiprolog.cc: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_swiprolog_cc.m4 > $@
 
 pkglib_LTLIBRARIES = libppl_swiprolog.la
@@ -285,9 +285,10 @@ pl_check_test: swi_pl_check.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 	fi
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
-clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
+clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
@@ -295,9 +296,7 @@ clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ)
 		$(CHECKER) ./pl_clpq <$(srcdir)/../tests/script_clpq >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
-clpq2_test: pl_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+clpq2_test: pl_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
diff --git a/interfaces/Prolog/SWI/Makefile.in b/interfaces/Prolog/SWI/Makefile.in
index 1ac7088..782c9ea 100644
--- a/interfaces/Prolog/SWI/Makefile.in
+++ b/interfaces/Prolog/SWI/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -83,12 +83,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -212,6 +211,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -220,6 +221,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -294,6 +296,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -1435,7 +1438,7 @@ uninstall-am: uninstall-binPROGRAMS uninstall-pkglibDATA \
 
 
 ppl_swiprolog.cc: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_swiprolog_cc.m4 > $@
 
 ppl_pl$(EXEEXT): libppl_swiprolog.la ppl_pl.o
@@ -1478,9 +1481,10 @@ pl_check_test: swi_pl_check.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 	fi
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
-clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
+clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
@@ -1488,9 +1492,7 @@ clpq_test: pl_clpq ../tests/script_clpq $(EXPECTED_CLPQ)
 		$(CHECKER) ./pl_clpq <$(srcdir)/../tests/script_clpq >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
-clpq2_test: pl_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+clpq2_test: pl_clpq2 ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	$(LIBTOOL) --mode=execute \
 		-dlopen ../../../src/libppl.la \
 		$(WATCHDOG_DLOPEN) \
diff --git a/interfaces/Prolog/SWI/pl_clpq.cc b/interfaces/Prolog/SWI/pl_clpq.cc
index 808ffcc..f9bbc3f 100644
--- a/interfaces/Prolog/SWI/pl_clpq.cc
+++ b/interfaces/Prolog/SWI/pl_clpq.cc
@@ -1,5 +1,5 @@
 /* C++ main program for the toy PPL/SWI-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/pl_clpq.pl b/interfaces/Prolog/SWI/pl_clpq.pl
index 7fc768c..c4c0d4a 100644
--- a/interfaces/Prolog/SWI/pl_clpq.pl
+++ b/interfaces/Prolog/SWI/pl_clpq.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/SWI-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4 b/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
index bdec4e3..2136949 100644
--- a/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
+++ b/interfaces/Prolog/SWI/ppl_interface_generator_swiprolog_cc.m4
@@ -2,7 +2,7 @@ m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
 dnl This m4 file generates the file ppl_swiprolog.cc.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -56,11 +56,11 @@ uninstall() {
 m4_divert(-1)
 dnl Include common macros for generating system dependent code.
 dnl
-dnl Redefine m4_extension as useful for SWI-Prolog.
-dnl m4_extension(Predicate_Name, Arity)
+dnl Redefine m4_expanded_procedure_schema as useful for SWI-Prolog.
+dnl m4_expanded_procedure_schema(Predicate_Name, Arity)
 dnl Note: SPACES is just a marker to generated the two spaces of
 dnl indentation following it.
-m4_define(`m4_extension', `dnl
+m4_define(`m4_expanded_procedure_schema', `dnl
 SPACES  PL_EXTENSION_ENTRY($1, $2)
 ')
 
diff --git a/interfaces/Prolog/SWI/ppl_pl.cc b/interfaces/Prolog/SWI/ppl_pl.cc
index 7704562..ec63b4a 100644
--- a/interfaces/Prolog/SWI/ppl_pl.cc
+++ b/interfaces/Prolog/SWI/ppl_pl.cc
@@ -1,5 +1,5 @@
 /* Main program for SWI-Prolog with the PPL statically linked.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh b/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
index bc37cc0..4c03e9a 100644
--- a/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/SWI/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for SWI Prolog.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/ppl_swiprolog.pl b/interfaces/Prolog/SWI/ppl_swiprolog.pl
index c8888d5..7ffb54d 100644
--- a/interfaces/Prolog/SWI/ppl_swiprolog.pl
+++ b/interfaces/Prolog/SWI/ppl_swiprolog.pl
@@ -1,5 +1,5 @@
 /* Loader for the SWI-Prolog interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/swi_cfli.hh b/interfaces/Prolog/SWI/swi_cfli.hh
index 45d5ea1..98d2092 100644
--- a/interfaces/Prolog/SWI/swi_cfli.hh
+++ b/interfaces/Prolog/SWI/swi_cfli.hh
@@ -1,5 +1,5 @@
 /* SWI-Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/swi_efli.cc b/interfaces/Prolog/SWI/swi_efli.cc
index a3d04bc..01b197c 100644
--- a/interfaces/Prolog/SWI/swi_efli.cc
+++ b/interfaces/Prolog/SWI/swi_efli.cc
@@ -1,5 +1,5 @@
 /* SWI-Prolog extended foreign language interface: definitions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -50,7 +50,7 @@ ppl_Prolog_sysdep_deinit() {
 int
 Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
   assert(Prolog_is_integer(t));
-  DIRTY_TEMP0(mpz_class, tmp);
+  PPL_DIRTY_TEMP0(mpz_class, tmp);
   PL_get_mpz(t, tmp.get_mpz_t());
   n = tmp;
   return 1;
@@ -58,7 +58,7 @@ Prolog_get_Coefficient(Prolog_term_ref t, Coefficient& n) {
 
 int
 Prolog_unify_Coefficient(Prolog_term_ref t, const Coefficient& n) {
-  DIRTY_TEMP0(mpz_class, tmp);
+  PPL_DIRTY_TEMP0(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 df61820..7a0480f 100644
--- a/interfaces/Prolog/SWI/swi_efli.hh
+++ b/interfaces/Prolog/SWI/swi_efli.hh
@@ -1,5 +1,5 @@
 /* SWI-Prolog extended foreign language interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/swi_pl_check.pl b/interfaces/Prolog/SWI/swi_pl_check.pl
index 7edda5e..5ef70cb 100644
--- a/interfaces/Prolog/SWI/swi_pl_check.pl
+++ b/interfaces/Prolog/SWI/swi_pl_check.pl
@@ -1,5 +1,5 @@
 /* Main program for the PPL/SWI-Prolog checker.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/SWI/swi_prolog_generated_test.pl b/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
index e9dcbd0..a10edbb 100644
--- a/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
+++ b/interfaces/Prolog/SWI/swi_prolog_generated_test.pl
@@ -1,5 +1,5 @@
 /* Main program for the PPL/SWI-Prolog generated tests.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/Makefile.am b/interfaces/Prolog/XSB/Makefile.am
index c28fd99..1c6d5f5 100644
--- a/interfaces/Prolog/XSB/Makefile.am
+++ b/interfaces/Prolog/XSB/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -52,19 +52,19 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ppl_interface_generator_xsb_prolog_generated_test_P.m4
 
 ppl_xsb.H: $(interface_generator_dependencies) ppl_interface_generator_xsb_H.m4
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_xsb_H.m4 > $@
 
 ppl_xsb.hh: $(interface_generator_dependencies) ppl_interface_generator_xsb_hh.m4
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_xsb_hh.m4 > $@
 
 ppl_xsb.cc: $(interface_generator_dependencies) ppl_interface_generator_xsb_cc.m4
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_xsb_cc.m4 > $@
 
 xsb_prolog_generated_test.P: $(interface_generator_dependencies) ppl_interface_generator_xsb_prolog_generated_test_P.m4
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_xsb_prolog_generated_test_P.m4 > $@
 
 AM_CPPFLAGS = \
@@ -228,9 +228,10 @@ EXPECTED_PCHK = $(srcdir)/../tests/expected_pchk_$(COEFFICIENT_MNEMONIC)
 
 endif !ASSERTIONS_ENABLED
 
-check-local: libppl_xsb.la xsb_clpq.P ../tests/clpq.pl ../tests/script_clpq xsb_clpq2.P ../tests/clpq2.pl ../tests/script_clpq2 pl_check_test ppl_prolog_generated_test
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
+check-local: libppl_xsb.la xsb_clpq.P ../tests/clpq.pl ../tests/script_clpq xsb_clpq2.P ../tests/clpq2.pl ../tests/script_clpq2 pl_check_test ppl_prolog_generated_test (CLPQ_TESTS)
 	if [ $(abs_srcdir) != `pwd` ]; then \
 	  cp -f $(srcdir)/xsb_clpq.P . ; \
 	fi
diff --git a/interfaces/Prolog/XSB/Makefile.in b/interfaces/Prolog/XSB/Makefile.in
index c3a9069..be4eff4 100644
--- a/interfaces/Prolog/XSB/Makefile.in
+++ b/interfaces/Prolog/XSB/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,12 +80,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -192,6 +191,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -200,6 +201,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -274,6 +276,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -1341,19 +1344,19 @@ uninstall-am: uninstall-pkglibDATA
 
 
 ppl_xsb.H: $(interface_generator_dependencies) ppl_interface_generator_xsb_H.m4
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_xsb_H.m4 > $@
 
 ppl_xsb.hh: $(interface_generator_dependencies) ppl_interface_generator_xsb_hh.m4
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_xsb_hh.m4 > $@
 
 ppl_xsb.cc: $(interface_generator_dependencies) ppl_interface_generator_xsb_cc.m4
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_xsb_cc.m4 > $@
 
 xsb_prolog_generated_test.P: $(interface_generator_dependencies) ppl_interface_generator_xsb_prolog_generated_test_P.m4
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_xsb_prolog_generated_test_P.m4 > $@
 
 ppl_xsb.xwam: ppl_xsb.H ppl_xsb.cc libppl_xsb.la
@@ -1369,9 +1372,10 @@ ppl_xsb.xwam: ppl_xsb.H ppl_xsb.cc libppl_xsb.la
 			xsb
 	rm -f ppl_xsb.c
 
-check-local: libppl_xsb.la xsb_clpq.P ../tests/clpq.pl ../tests/script_clpq xsb_clpq2.P ../tests/clpq2.pl ../tests/script_clpq2 pl_check_test ppl_prolog_generated_test
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
+check-local: libppl_xsb.la xsb_clpq.P ../tests/clpq.pl ../tests/script_clpq xsb_clpq2.P ../tests/clpq2.pl ../tests/script_clpq2 pl_check_test ppl_prolog_generated_test (CLPQ_TESTS)
 	if [ $(abs_srcdir) != `pwd` ]; then \
 	  cp -f $(srcdir)/xsb_clpq.P . ; \
 	fi
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
index acff109..9ecc5db 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_H.m4
@@ -3,7 +3,7 @@ m4_divert(-1)
 
 dnl This m4 file generates the file ppl_xsb.H.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -36,7 +36,7 @@ m4_divert(1)
 
 :- ldoption('-L../../../src/.libs -lppl -L../../../Watchdog/.libs -lpwl -lgmp -lgmpxx').
 
-m4_define(`m4_extension', `m4_ifelse($4, 0, `  $1/$2', `COMMA
+m4_define(`m4_expanded_procedure_schema', `m4_ifelse($4, 0, `  $1/$2', `COMMA
   $1/$2')')
 m4_divert(-1)
 
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
index 2be5ff7..f1ddcb8 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_cc.m4
@@ -2,7 +2,7 @@ m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
 dnl This m4 file generates the file ppl_xsb.cc.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -104,12 +104,12 @@ init() {
    ppl_initialize();
 }
 m4_divert`'dnl
-m4_define(`m4_extension', `#undef $1
+m4_define(`m4_expanded_procedure_schema', `#undef $1
 ')dnl
 ppl_prolog_sys_code`'dnl
 m4_undivert(1)
 
-m4_define(`m4_extension', `XSB_ENTRY_$2($1)
+m4_define(`m4_expanded_procedure_schema', `XSB_ENTRY_$2($1)
 ')
 
 m4_divert`'dnl
diff --git a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4 b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
index 204bd17..d93a899 100644
--- a/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
+++ b/interfaces/Prolog/XSB/ppl_interface_generator_xsb_hh.m4
@@ -2,7 +2,7 @@ m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
 dnl This m4 file generates the file ppl_xsb.cc.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -31,7 +31,7 @@ m4_include(`ppl_interface_generator_copyright')dnl
 */
 
 m4_divert`'dnl
-m4_define(`m4_extension', `#define $1 xsb_stub_$1
+m4_define(`m4_expanded_procedure_schema', `#define $1 xsb_stub_$1
 ')dnl
 ppl_prolog_sys_code`'dnl
 dnl
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 fc191bf..d85ddf5 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
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file defines macros needed for generating
 dnl the XSB dependent code for xsb_prolog_generated_test.pl.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -42,10 +42,9 @@ m4_include(`ppl_interface_generator_copyright')
 m4_divert(-1)
 
 m4_pushdef(`m4_one_class_code', `dnl
-m4_replace_all_patterns_in_string($1,
-                                  `#includeSPACE"../tests/ppl_prolog_generated_test_ at CLASS@.pl"
-',
-                                  m4_pattern_list)`'dnl
+m4_replace_all_patterns($1,
+  `#includeSPACE"../tests/ppl_prolog_generated_test_'`'m4_interface_class$1`'`.pl"
+')`'dnl
 ')`'dnl
 dnl
 dnl -----------------------------------------------------------------
@@ -78,7 +77,7 @@ main :-
 
 :- main.
 m4_divert`'dnl
-m4_define(`m4_extension', `m4_ifelse($4, 0, , `COMMA
+m4_define(`m4_expanded_procedure_schema', `m4_ifelse($4, 0, , `COMMA
 ')	  $1/$2')dnl
 m4_patsubst(ppl_prolog_sys_code, COMMA, `,')`'dnl
 m4_undivert(1)
diff --git a/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh b/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
index 52adbf1..6f27499 100644
--- a/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/XSB/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for XSB.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_cfli.hh b/interfaces/Prolog/XSB/xsb_cfli.hh
index 4aaf22f..e46f78b 100644
--- a/interfaces/Prolog/XSB/xsb_cfli.hh
+++ b/interfaces/Prolog/XSB/xsb_cfli.hh
@@ -1,5 +1,5 @@
 /* XSB Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_clpq.P b/interfaces/Prolog/XSB/xsb_clpq.P
index d697222..6ff822b 100644
--- a/interfaces/Prolog/XSB/xsb_clpq.P
+++ b/interfaces/Prolog/XSB/xsb_clpq.P
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/XSB-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_clpq2.P b/interfaces/Prolog/XSB/xsb_clpq2.P
index 1092cfa..2bd6c8e 100644
--- a/interfaces/Prolog/XSB/xsb_clpq2.P
+++ b/interfaces/Prolog/XSB/xsb_clpq2.P
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/XSB-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_efli.cc b/interfaces/Prolog/XSB/xsb_efli.cc
index 7881452..f64d52a 100644
--- a/interfaces/Prolog/XSB/xsb_efli.cc
+++ b/interfaces/Prolog/XSB/xsb_efli.cc
@@ -1,5 +1,5 @@
 /* XSB extended foreign language interface: definitions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_efli.hh b/interfaces/Prolog/XSB/xsb_efli.hh
index f3ab1eb..9791c88 100644
--- a/interfaces/Prolog/XSB/xsb_efli.hh
+++ b/interfaces/Prolog/XSB/xsb_efli.hh
@@ -1,5 +1,5 @@
 /* XSB extended foreign language interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/XSB/xsb_pl_check.P b/interfaces/Prolog/XSB/xsb_pl_check.P
index ac2b2ad..3d2e96c 100644
--- a/interfaces/Prolog/XSB/xsb_pl_check.P
+++ b/interfaces/Prolog/XSB/xsb_pl_check.P
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/XSB-Prolog predicate checker.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/Makefile.am b/interfaces/Prolog/YAP/Makefile.am
index 3d666e9..c147428 100644
--- a/interfaces/Prolog/YAP/Makefile.am
+++ b/interfaces/Prolog/YAP/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -52,7 +52,7 @@ $(top_builddir)/interfaces/ppl_interface_instantiations.m4 \
 ppl_interface_generator_yap_cc.m4
 
 ppl_yap.cc: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_yap_cc.m4 > $@
 
 if ENABLE_SHARED
@@ -217,9 +217,10 @@ pl_check_test: yap_pl_check.pl ppl_yap.pl ../tests/pl_check.pl $(EXPECTED_PCHK)
 			<script_pchk >obtained_pchk
 	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
-clpq_test: yap_clpq.pl ppl_yap.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECTED_CLPQ)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+$(CLPQ_TESTS):
+	cp -f $(srcdir)/../tests/$@ .
+
+clpq_test: yap_clpq.pl ppl_yap.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 	echo "main." >script_clpq
 	cat $(srcdir)/../tests/script_clpq >>script_clpq
 	$(LIBTOOL) --mode=execute \
@@ -230,9 +231,7 @@ clpq_test: yap_clpq.pl ppl_yap.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECT
 			<script_clpq >obtained_clpq
 	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
-clpq2_test: yap_clpq2.pl ppl_yap.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EXPECTED_CLPQ2)
-	LANG=C; \
-	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+clpq2_test: yap_clpq2.pl ppl_yap.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 	echo "main." >script_clpq2
 	cat $(srcdir)/../tests/script_clpq2 >>script_clpq2
 	$(LIBTOOL) --mode=execute \
diff --git a/interfaces/Prolog/YAP/Makefile.in b/interfaces/Prolog/YAP/Makefile.in
index ee43352..e57a229 100644
--- a/interfaces/Prolog/YAP/Makefile.in
+++ b/interfaces/Prolog/YAP/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,12 +80,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -197,6 +196,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -205,6 +206,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -279,6 +281,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -1359,7 +1362,7 @@ uninstall-am: uninstall-pkglibDATA uninstall-pkglibLTLIBRARIES
 
 
 ppl_yap.cc: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
+	$(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
            $(srcdir)/ppl_interface_generator_yap_cc.m4 > $@
 
 @ENABLE_SHARED_TRUE at check-local: pl_check_test clpq_test clpq2_test ppl_prolog_generated_test
@@ -1374,9 +1377,10 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@			<script_pchk >obtained_pchk
 @ENABLE_SHARED_TRUE@	diff -u --ignore-all-space $(EXPECTED_PCHK) obtained_pchk
 
- at ENABLE_SHARED_TRUE@clpq_test: yap_clpq.pl ppl_yap.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECTED_CLPQ)
- at ENABLE_SHARED_TRUE@	LANG=C; \
- at ENABLE_SHARED_TRUE@	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+ at ENABLE_SHARED_TRUE@$(CLPQ_TESTS):
+ at ENABLE_SHARED_TRUE@	cp -f $(srcdir)/../tests/$@ .
+
+ at ENABLE_SHARED_TRUE@clpq_test: yap_clpq.pl ppl_yap.pl ../tests/clpq.pl ../tests/script_clpq $(EXPECTED_CLPQ) $(CLPQ_TESTS)
 @ENABLE_SHARED_TRUE@	echo "main." >script_clpq
 @ENABLE_SHARED_TRUE@	cat $(srcdir)/../tests/script_clpq >>script_clpq
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
@@ -1387,9 +1391,7 @@ ppl_yap.cc: $(interface_generator_dependencies)
 @ENABLE_SHARED_TRUE@			<script_clpq >obtained_clpq
 @ENABLE_SHARED_TRUE@	diff -u --ignore-all-space $(EXPECTED_CLPQ) obtained_clpq
 
- at ENABLE_SHARED_TRUE@clpq2_test: yap_clpq2.pl ppl_yap.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EXPECTED_CLPQ2)
- at ENABLE_SHARED_TRUE@	LANG=C; \
- at ENABLE_SHARED_TRUE@	for k in $(CLPQ_TESTS); do cp -f $(srcdir)/../tests/$$k .; done
+ at ENABLE_SHARED_TRUE@clpq2_test: yap_clpq2.pl ppl_yap.pl ../tests/clpq2.pl ../tests/script_clpq2 $(EXPECTED_CLPQ2) $(CLPQ_TESTS)
 @ENABLE_SHARED_TRUE@	echo "main." >script_clpq2
 @ENABLE_SHARED_TRUE@	cat $(srcdir)/../tests/script_clpq2 >>script_clpq2
 @ENABLE_SHARED_TRUE@	$(LIBTOOL) --mode=execute \
diff --git a/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4 b/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
index 754ab9d..5ea8630 100644
--- a/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
+++ b/interfaces/Prolog/YAP/ppl_interface_generator_yap_cc.m4
@@ -2,7 +2,7 @@ m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
 
 dnl This m4 file generates the file ppl_yap.cc.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -115,18 +115,18 @@ m4_divert(2)dnl
 dnl
 m4_divert`'dnl
 dnl
-dnl Redefine m4_extension to generate YAP stubs.
-dnl m4_extension(Predicate_Name, Arity)
-m4_define(`m4_extension', `dnl
+dnl Redefine m4_expanded_procedure_schema to generate YAP stubs.
+dnl m4_expanded_procedure_schema(Predicate_Name, Arity)
+m4_define(`m4_expanded_procedure_schema', `dnl
 YAP_STUB_$2($1)
 ')`'dnl
 dnl Generate stubs.
 ppl_prolog_sys_code`'dnl
 m4_undivert(1)
 
-dnl Redefine m4_extension to generate YAP user predicates.
-dnl m4_extension(Predicate_Name, Arity)
-m4_define(`m4_extension', `dnl
+dnl Redefine m4_expanded_procedure_schema to generate YAP user predicates.
+dnl m4_expanded_procedure_schema(Predicate_Name, Arity)
+m4_define(`m4_expanded_procedure_schema', `dnl
   YAP_USER_C_PREDICATE($1, $2);
 ')
 
diff --git a/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh b/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
index 6a6e765..3228c00 100644
--- a/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
+++ b/interfaces/Prolog/YAP/ppl_prolog_sysdep.hh
@@ -1,5 +1,5 @@
 /* System-dependent part of the Prolog interfaces: stub for YAP.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/ppl_yap.pl b/interfaces/Prolog/YAP/ppl_yap.pl
index ef1ee9a..149297f 100644
--- a/interfaces/Prolog/YAP/ppl_yap.pl
+++ b/interfaces/Prolog/YAP/ppl_yap.pl
@@ -1,5 +1,5 @@
 /* Loader for the YAP Prolog interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_cfli.hh b/interfaces/Prolog/YAP/yap_cfli.hh
index 1bd027c..20903ce 100644
--- a/interfaces/Prolog/YAP/yap_cfli.hh
+++ b/interfaces/Prolog/YAP/yap_cfli.hh
@@ -1,5 +1,5 @@
 /* YAP Prolog Common Foreign Language Interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_clpq.pl b/interfaces/Prolog/YAP/yap_clpq.pl
index e95aef4..34c8fbf 100644
--- a/interfaces/Prolog/YAP/yap_clpq.pl
+++ b/interfaces/Prolog/YAP/yap_clpq.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the toy PPL/YAP-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_clpq2.pl b/interfaces/Prolog/YAP/yap_clpq2.pl
index 9852657..416034f 100644
--- a/interfaces/Prolog/YAP/yap_clpq2.pl
+++ b/interfaces/Prolog/YAP/yap_clpq2.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the 2nd toy PPL/YAP-Prolog CLP(Q) interpreter.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_efli.cc b/interfaces/Prolog/YAP/yap_efli.cc
index 8a28197..ecdb5a2 100644
--- a/interfaces/Prolog/YAP/yap_efli.cc
+++ b/interfaces/Prolog/YAP/yap_efli.cc
@@ -1,5 +1,5 @@
 /* YAP extended foreign language interface: definitions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_efli.hh b/interfaces/Prolog/YAP/yap_efli.hh
index 90aefc7..e43cf29 100644
--- a/interfaces/Prolog/YAP/yap_efli.hh
+++ b/interfaces/Prolog/YAP/yap_efli.hh
@@ -1,5 +1,5 @@
 /* YAP extended foreign language interface: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_pl_check.pl b/interfaces/Prolog/YAP/yap_pl_check.pl
index 14aa471..2c63552 100644
--- a/interfaces/Prolog/YAP/yap_pl_check.pl
+++ b/interfaces/Prolog/YAP/yap_pl_check.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/YAP-Prolog predicate checker.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/YAP/yap_prolog_generated_test.pl b/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
index 5313e29..5437d95 100644
--- a/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
+++ b/interfaces/Prolog/YAP/yap_prolog_generated_test.pl
@@ -1,5 +1,5 @@
 /* Prolog main program for the PPL/YAP-Prolog predicate checker.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
index d2f9e21..8917c79 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_cc_code.m4
@@ -5,7 +5,7 @@ This m4 file contains the program code for generating the
 files ppl_prolog_DOMAIN.cc for each interface domain DOMAIN
 in ppl_interface instantiations.m4.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -69,9 +69,9 @@ ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@(
                    "ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@/2";
   try {
     @TOPOLOGY@@CPP_CLASS@* ph;
-    const @CPPX_FRIEND@* ph_source
-        = static_cast<const @CPPX_FRIEND@*>
-        (term_to_handle<@CPPX_FRIEND@ >(t_ph_source, where));
+    const @B_FRIEND@* ph_source
+        = static_cast<const @B_FRIEND@*>
+        (term_to_handle<@B_FRIEND@ >(t_ph_source, where));
     PPL_CHECK(ph_source);
         ph = new @TOPOLOGY@@CPP_CLASS@(*ph_source);
     Prolog_term_ref tmp = Prolog_new_term_ref();
@@ -99,9 +99,9 @@ ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity(
                    "ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity/3";
   try {
     @TOPOLOGY@@CPP_CLASS@* ph;
-    const @CPPX_FRIEND@* ph_source
-        = static_cast<const @CPPX_FRIEND@*>
-        (term_to_handle<@CPPX_FRIEND@ >(t_ph_source, where));
+    const @B_FRIEND@* ph_source
+        = static_cast<const @B_FRIEND@*>
+        (term_to_handle<@B_FRIEND@ >(t_ph_source, where));
 
     Prolog_atom p_cc = term_to_complexity_class(t_cc, where);
     Complexity_Class cc;
@@ -137,7 +137,7 @@ m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_code',
   static const char* where =
     "ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s/2";
   try {
-    @UBUILD_REPRESENT at _System cs;
+    @!BUILD_REPRESENT at _System cs;
     Prolog_term_ref c = Prolog_new_term_ref();
 
     while (Prolog_is_cons(t_clist)) {
@@ -211,21 +211,21 @@ m4_define(`ppl_ at CLASS@_ at DIMENSION@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_get_ at GET_REPRESENT@s(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_get_ at CLASS_REPRESENT@s(Prolog_term_ref t_ph,
                                    Prolog_term_ref t_glist) {
-  static const char* where = "ppl_ at CLASS@_get_ at GET_REPRESENT@s/2";
+  static const char* where = "ppl_ at CLASS@_get_ at CLASS_REPRESENT@s/2";
   try {
     const @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
 
     Prolog_term_ref tail = Prolog_new_term_ref();
     Prolog_put_atom(tail, a_nil);
-    const @UGET_REPRESENT at _System& gs = ph->@GET_REPRESENT at s();
-    for (@UGET_REPRESENT at _System::const_iterator i = gs.begin(),
+    const @!CLASS_REPRESENT at _System& gs = ph->@CLASS_REPRESENT at s();
+    for (@!CLASS_REPRESENT at _System::const_iterator i = gs.begin(),
            gs_end = gs.end(); i != gs_end; ++i)
-      Prolog_construct_cons(tail, @GET_REPRESENT at _term(*i), tail);
+      Prolog_construct_cons(tail, @CLASS_REPRESENT at _term(*i), tail);
 
     if (Prolog_unify(t_glist, tail))
       return PROLOG_SUCCESS;
@@ -235,21 +235,21 @@ m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s(Prolog_term_ref t_ph,
                                              Prolog_term_ref t_glist) {
-  static const char* where = "ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s/2";
+  static const char* where = "ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s/2";
   try {
     const @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
 
     Prolog_term_ref tail = Prolog_new_term_ref();
     Prolog_put_atom(tail, a_nil);
-    const @UGET_REPRESENT at _System& gs = ph->minimized_ at GET_REPRESENT@s();
-    for (@UGET_REPRESENT at _System::const_iterator i = gs.begin(),
+    const @!CLASS_REPRESENT at _System& gs = ph->minimized_ at CLASS_REPRESENT@s();
+    for (@!CLASS_REPRESENT at _System::const_iterator i = gs.begin(),
            gs_end = gs.end(); i != gs_end; ++i)
-      Prolog_construct_cons(tail, @GET_REPRESENT at _term(*i), tail);
+      Prolog_construct_cons(tail, @CLASS_REPRESENT at _term(*i), tail);
 
     if (Prolog_unify(t_glist, tail))
       return PROLOG_SUCCESS;
@@ -334,7 +334,7 @@ m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
     @CPP_CLASS@::iterator* it
       = term_to_handle<@CPP_CLASS@::iterator >(t_it, where);
     PPL_CHECK(it);
-    @CPPX_INCDEC@(*it);
+    @B_INCDEC@(*it);
     return PROLOG_SUCCESS;
   }
   CATCH_ALL;
@@ -374,8 +374,8 @@ m4_define(`ppl_ at CLASS@_get_disjunct_code',
       = term_to_handle<@CPP_CLASS@::iterator >(t_it, where);
     PPL_CHECK(it);
 
-    @CLASSTOPOLOGY@@CPP_DISJUNCT@* disj
-      = const_cast<@CLASSTOPOLOGY@@CPP_DISJUNCT@*>(&((*it)->element()));
+    @DISJUNCT_TOPOLOGY@@A_DISJUNCT@* disj
+      = const_cast<@DISJUNCT_TOPOLOGY@@A_DISJUNCT@*>(&((*it)->element()));
     Prolog_term_ref t_d = Prolog_new_term_ref();
     Prolog_put_address(t_d, disj);
 
@@ -403,7 +403,7 @@ m4_define(`ppl_ at CLASS@_drop_disjunct_code',
     PPL_CHECK(it);
 
     @CPP_CLASS@::iterator& i = *it;
-    pps->drop_disjunct(i);
+    i = pps->drop_disjunct(i);
 
     return PROLOG_SUCCESS;
   }
@@ -447,9 +447,9 @@ m4_define(`ppl_ at CLASS@_add_disjunct_code',
   try {
     @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
-    @CLASSTOPOLOGY@@CPP_DISJUNCT@* d =
-      static_cast<@CLASSTOPOLOGY@@CPP_DISJUNCT@*>
-      (term_to_handle<@CLASSTOPOLOGY@@CPP_DISJUNCT@ >(t_d, where));
+    @DISJUNCT_TOPOLOGY@@A_DISJUNCT@* d =
+      static_cast<@DISJUNCT_TOPOLOGY@@A_DISJUNCT@*>
+      (term_to_handle<@DISJUNCT_TOPOLOGY@@A_DISJUNCT@ >(t_d, where));
     PPL_CHECK(d);
     ph->add_disjunct(*d);
     return PROLOG_SUCCESS;
@@ -494,7 +494,7 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
       const C_Polyhedron* qh = term_to_handle<C_Polyhedron>(t_qh, where);
       PPL_CHECK(ph);
       PPL_CHECK(qh);
-      std::pair<C_Polyhedron at COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+      std::pair<C_Polyhedron|COMMA| Pointset_Powerset<NNC_Polyhedron> >
         r = linear_partition(*ph, *qh);
       rfh = new C_Polyhedron(0, EMPTY);
       rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
@@ -506,7 +506,7 @@ m4_define(`m4_linear_partition_for_polyhedron_domains',
       const NNC_Polyhedron* qh = term_to_handle<NNC_Polyhedron>(t_qh, where);
       PPL_CHECK(ph);
       PPL_CHECK(qh);
-      std::pair<NNC_Polyhedron at COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+      std::pair<NNC_Polyhedron|COMMA| Pointset_Powerset<NNC_Polyhedron> >
         r = linear_partition(*ph, *qh);
       rfh = new NNC_Polyhedron(0, EMPTY);
       rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
@@ -520,7 +520,7 @@ m4_define(`m4_linear_partition_for_non_polyhedron_domains',
   const @CPP_CLASS@* qh = term_to_handle<@CPP_CLASS@ >(t_qh, where);
   PPL_CHECK(ph);
   PPL_CHECK(qh);
-  std::pair<@CPP_CLASS@@COMMA@ Pointset_Powerset<NNC_Polyhedron> >
+  std::pair<@CPP_CLASS@|COMMA| Pointset_Powerset<NNC_Polyhedron> >
     r = linear_partition(*ph, *qh);
   rfh = new @CPP_CLASS@(0, EMPTY);
   rsh = new Pointset_Powerset<NNC_Polyhedron>(0, EMPTY);
@@ -546,7 +546,7 @@ m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_code',
     PPL_CHECK(qh);
     bool finite;
 
-    std::pair<@CLASS@@COMMA@ Pointset_Powerset<Grid> > r =
+    std::pair<@CLASS@|COMMA| Pointset_Powerset<Grid> > r =
       approximate_partition(*ph, *qh, finite);
 
     @CLASS@* rfh = new @CLASS@(EMPTY);
@@ -585,7 +585,7 @@ m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
   try {
     @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
-    relation_with_ at RELATION_REPRESENT@_code
+relation_with_ at RELATION_REPRESENT@_code
       if (Prolog_unify(t_r, tail))
         return PROLOG_SUCCESS;
   }
@@ -597,75 +597,75 @@ m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_code',
 m4_define(`relation_with_constraint_code', `
   Poly_Con_Relation r = ph->relation_with(build_constraint(t_c, where));
 
-Prolog_term_ref tail = Prolog_new_term_ref();
-Prolog_put_atom(tail, a_nil);
-while (r != Poly_Con_Relation::nothing()) {
-  if (r.implies(Poly_Con_Relation::is_disjoint())) {
-    Prolog_term_ref t_dis = Prolog_new_term_ref();
-    Prolog_put_atom(t_dis, a_is_disjoint);
-    Prolog_construct_cons(tail, t_dis, tail);
-    r = r - Poly_Con_Relation::is_disjoint();
-  }
-  else if (r.implies(Poly_Con_Relation::strictly_intersects())) {
-    Prolog_term_ref t_sin = Prolog_new_term_ref();
-    Prolog_put_atom(t_sin, a_strictly_intersects);
-    Prolog_construct_cons(tail, t_sin, tail);
-    r = r - Poly_Con_Relation::strictly_intersects();
-  }
-  else if (r.implies(Poly_Con_Relation::is_included())) {
-    Prolog_term_ref t_inc = Prolog_new_term_ref();
-    Prolog_put_atom(t_inc, a_is_included);
-    Prolog_construct_cons(tail, t_inc, tail);
-    r = r - Poly_Con_Relation::is_included();
-  }
-  else if (r.implies(Poly_Con_Relation::saturates())) {
-    Prolog_term_ref t_sat = Prolog_new_term_ref();
-    Prolog_put_atom(t_sat, a_saturates);
-    Prolog_construct_cons(tail, t_sat, tail);
-    r = r - Poly_Con_Relation::saturates();
-  }
- }
+  Prolog_term_ref tail = Prolog_new_term_ref();
+  Prolog_put_atom(tail, a_nil);
+  while (r != Poly_Con_Relation::nothing()) {
+    if (r.implies(Poly_Con_Relation::is_disjoint())) {
+      Prolog_term_ref t_dis = Prolog_new_term_ref();
+      Prolog_put_atom(t_dis, a_is_disjoint);
+      Prolog_construct_cons(tail, t_dis, tail);
+      r = r - Poly_Con_Relation::is_disjoint();
+    }
+    else if (r.implies(Poly_Con_Relation::strictly_intersects())) {
+      Prolog_term_ref t_sin = Prolog_new_term_ref();
+      Prolog_put_atom(t_sin, a_strictly_intersects);
+      Prolog_construct_cons(tail, t_sin, tail);
+      r = r - Poly_Con_Relation::strictly_intersects();
+    }
+    else if (r.implies(Poly_Con_Relation::is_included())) {
+      Prolog_term_ref t_inc = Prolog_new_term_ref();
+      Prolog_put_atom(t_inc, a_is_included);
+      Prolog_construct_cons(tail, t_inc, tail);
+      r = r - Poly_Con_Relation::is_included();
+    }
+    else if (r.implies(Poly_Con_Relation::saturates())) {
+      Prolog_term_ref t_sat = Prolog_new_term_ref();
+      Prolog_put_atom(t_sat, a_saturates);
+      Prolog_construct_cons(tail, t_sat, tail);
+      r = r - Poly_Con_Relation::saturates();
+    }
+   }
 ')
 
 m4_define(`relation_with_congruence_code', `
   Poly_Con_Relation r = ph->relation_with(build_congruence(t_c, where));
 
-Prolog_term_ref tail = Prolog_new_term_ref();
-Prolog_put_atom(tail, a_nil);
-while (r != Poly_Con_Relation::nothing()) {
-  if (r.implies(Poly_Con_Relation::is_disjoint())) {
-    Prolog_term_ref t_dis = Prolog_new_term_ref();
-    Prolog_put_atom(t_dis, a_is_disjoint);
-    Prolog_construct_cons(tail, t_dis, tail);
-    r = r - Poly_Con_Relation::is_disjoint();
-  }
-  else if (r.implies(Poly_Con_Relation::strictly_intersects())) {
-    Prolog_term_ref t_sin = Prolog_new_term_ref();
-    Prolog_put_atom(t_sin, a_strictly_intersects);
-    Prolog_construct_cons(tail, t_sin, tail);
-    r = r - Poly_Con_Relation::strictly_intersects();
-  }
-  else if (r.implies(Poly_Con_Relation::is_included())) {
-    Prolog_term_ref t_inc = Prolog_new_term_ref();
-    Prolog_put_atom(t_inc, a_is_included);
-    Prolog_construct_cons(tail, t_inc, tail);
-    r = r - Poly_Con_Relation::is_included();
-  }
-  else if (r.implies(Poly_Con_Relation::saturates())) {
-    Prolog_term_ref t_sat = Prolog_new_term_ref();
-    Prolog_put_atom(t_sat, a_saturates);
-    Prolog_construct_cons(tail, t_sat, tail);
-    r = r - Poly_Con_Relation::saturates();
-  }
-  else
-    break;
- }
+  Prolog_term_ref tail = Prolog_new_term_ref();
+  Prolog_put_atom(tail, a_nil);
+  while (r != Poly_Con_Relation::nothing()) {
+    if (r.implies(Poly_Con_Relation::is_disjoint())) {
+      Prolog_term_ref t_dis = Prolog_new_term_ref();
+      Prolog_put_atom(t_dis, a_is_disjoint);
+      Prolog_construct_cons(tail, t_dis, tail);
+      r = r - Poly_Con_Relation::is_disjoint();
+    }
+    else if (r.implies(Poly_Con_Relation::strictly_intersects())) {
+      Prolog_term_ref t_sin = Prolog_new_term_ref();
+      Prolog_put_atom(t_sin, a_strictly_intersects);
+      Prolog_construct_cons(tail, t_sin, tail);
+      r = r - Poly_Con_Relation::strictly_intersects();
+    }
+    else if (r.implies(Poly_Con_Relation::is_included())) {
+      Prolog_term_ref t_inc = Prolog_new_term_ref();
+      Prolog_put_atom(t_inc, a_is_included);
+      Prolog_construct_cons(tail, t_inc, tail);
+      r = r - Poly_Con_Relation::is_included();
+    }
+    else if (r.implies(Poly_Con_Relation::saturates())) {
+      Prolog_term_ref t_sat = Prolog_new_term_ref();
+      Prolog_put_atom(t_sat, a_saturates);
+      Prolog_construct_cons(tail, t_sat, tail);
+      r = r - Poly_Con_Relation::saturates();
+    }
+    else
+      break;
+   }
 ')
 
 m4_define(`relation_with_generator_code', `
   Poly_Gen_Relation r = ph->relation_with(build_generator(t_c, where));
 
-Prolog_term_ref tail = Prolog_new_term_ref();
+  Prolog_term_ref tail = Prolog_new_term_ref();
 Prolog_put_atom(tail, a_nil);
 while (r != Poly_Gen_Relation::nothing()) {
   if (r.implies(Poly_Gen_Relation::subsumes())) {
@@ -680,16 +680,16 @@ while (r != Poly_Gen_Relation::nothing()) {
 m4_define(`relation_with_grid_generator_code', `
   Poly_Gen_Relation r = ph->relation_with(build_grid_generator(t_c, where));
 
-Prolog_term_ref tail = Prolog_new_term_ref();
-Prolog_put_atom(tail, a_nil);
-while (r != Poly_Gen_Relation::nothing()) {
-  if (r.implies(Poly_Gen_Relation::subsumes())) {
-    Prolog_term_ref t_sub = Prolog_new_term_ref();
-    Prolog_put_atom(t_sub, a_subsumes);
-    Prolog_construct_cons(tail, t_sub, tail);
-    r = r - Poly_Gen_Relation::subsumes();
-  }
- }
+  Prolog_term_ref tail = Prolog_new_term_ref();
+  Prolog_put_atom(tail, a_nil);
+  while (r != Poly_Gen_Relation::nothing()) {
+    if (r.implies(Poly_Gen_Relation::subsumes())) {
+      Prolog_term_ref t_sub = Prolog_new_term_ref();
+      Prolog_put_atom(t_sub, a_subsumes);
+      Prolog_construct_cons(tail, t_sub, tail);
+      r = r - Poly_Gen_Relation::subsumes();
+    }
+   }
 ')
 
 m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_code',
@@ -806,8 +806,8 @@ m4_define(`ppl_ at CLASS@_ at MAXMIN@_code',
     const @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
     const Linear_Expression le = build_linear_expression(t_le_expr, where);
-    TEMP_INTEGER(n);
-    TEMP_INTEGER(d);
+    PPL_DIRTY_TEMP_COEFFICIENT(n);
+    PPL_DIRTY_TEMP_COEFFICIENT(d);
     bool maxmin;
     if (ph->@MAXMIN@(le, n, d, maxmin)) {
       Prolog_term_ref t = Prolog_new_term_ref();
@@ -835,8 +835,8 @@ m4_define(`ppl_ at CLASS@_ at MAXMIN@_with_point_code',
     const @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
     const Linear_Expression le = build_linear_expression(t_le_expr, where);
-    TEMP_INTEGER(n);
-    TEMP_INTEGER(d);
+    PPL_DIRTY_TEMP_COEFFICIENT(n);
+    PPL_DIRTY_TEMP_COEFFICIENT(d);
     bool maxmin;
     Generator g(point());
     if (ph->@MAXMIN@(le, n, d, maxmin, g)) {
@@ -905,14 +905,14 @@ m4_define(`ppl_ at CLASS@_OK_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at ADD_REPRESENT@(Prolog_term_ref t_ph, Prolog_term_ref t_c) {
-  static const char* where = "ppl_ at CLASS@_add_ at ADD_REPRESENT@/2";
+  ppl_ at CLASS@_add_ at CLASS_REPRESENT@(Prolog_term_ref t_ph, Prolog_term_ref t_c) {
+  static const char* where = "ppl_ at CLASS@_add_ at CLASS_REPRESENT@/2";
   try {
     @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
-    ph->add_ at ADD_REPRESENT@(build_ at ADD_REPRESENT@(t_c, where));
+    ph->add_ at CLASS_REPRESENT@(build_ at CLASS_REPRESENT@(t_c, where));
     return PROLOG_SUCCESS;
   }
   CATCH_ALL;
@@ -922,7 +922,8 @@ m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@(Prolog_term_ref t_ph, Prolog_term_ref t_c) {
+  ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@(Prolog_term_ref t_ph,
+                                             Prolog_term_ref t_c) {
   static const char* where = "ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@/2";
   try {
     @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
@@ -935,15 +936,15 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize(Prolog_term_ref t_ph,
                                                Prolog_term_ref t_c) {
-  static const char* where = "ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize/2";
+  static const char* where = "ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize/2";
   try {
     @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
-    if (ph->add_ at ADD_REPRESENT@_and_minimize(build_ at ADD_REPRESENT@(t_c, where)))
+    if (ph->add_ at CLASS_REPRESENT@_and_minimize(build_ at CLASS_REPRESENT@(t_c, where)))
       return PROLOG_SUCCESS;
   }
   CATCH_ALL;
@@ -951,26 +952,26 @@ m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at ADD_REPRESENT@s(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(Prolog_term_ref t_ph,
                                    Prolog_term_ref t_clist) {
-  static const char* where = "ppl_ at CLASS@_add_ at ADD_REPRESENT@s/2";
+  static const char* where = "ppl_ at CLASS@_add_ at CLASS_REPRESENT@s/2";
   try {
     @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
-    @UADD_REPRESENT at _System cs;
+    @!CLASS_REPRESENT at _System cs;
     Prolog_term_ref c = Prolog_new_term_ref();
 
     while (Prolog_is_cons(t_clist)) {
       Prolog_get_cons(t_clist, c, t_clist);
-      cs.insert(build_ at ADD_REPRESENT@(c, where));
+      cs.insert(build_ at CLASS_REPRESENT@(c, where));
     }
 
     // Check the list is properly terminated.
     check_nil_terminating(t_clist, where);
 
-    ph->add_ at ADD_REPRESENT@s(cs);
+    ph->add_ at CLASS_REPRESENT@s(cs);
     return PROLOG_SUCCESS;
   }
   CATCH_ALL;
@@ -986,7 +987,7 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
   try {
     @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
-    @UREFINE_REPRESENT at _System cs;
+    @!REFINE_REPRESENT at _System cs;
     Prolog_term_ref c = Prolog_new_term_ref();
 
     while (Prolog_is_cons(t_clist)) {
@@ -1005,26 +1006,26 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(Prolog_term_ref t_ph,
                                                 Prolog_term_ref t_clist) {
-  static const char* where = "ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize/2";
+  static const char* where = "ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize/2";
   try {
     @CPP_CLASS@* ph = term_to_handle<@CPP_CLASS@ >(t_ph, where);
     PPL_CHECK(ph);
-    @UADD_REPRESENT at _System cs;
+    @!CLASS_REPRESENT at _System cs;
     Prolog_term_ref c = Prolog_new_term_ref();
 
     while (Prolog_is_cons(t_clist)) {
       Prolog_get_cons(t_clist, c, t_clist);
-      cs.insert(build_ at ADD_REPRESENT@(c, where));
+      cs.insert(build_ at CLASS_REPRESENT@(c, where));
     }
 
     // Check the list is properly terminated.
     check_nil_terminating(t_clist, where);
 
-    if (ph->add_ at ADD_REPRESENT@s_and_minimize(cs))
+    if (ph->add_ at CLASS_REPRESENT@s_and_minimize(cs))
       return PROLOG_SUCCESS;
   }
   CATCH_ALL;
@@ -1445,12 +1446,12 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
 
 dnl FIXME: This code is redundant as there is no options for tokens
 dnl        in the current C++ code.
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens(
+  ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens(
                                                                                       Prolog_term_ref t_lhs, Prolog_term_ref t_rhs,
                                                                                       Prolog_term_ref t_ti, Prolog_term_ref t_to) {
-  static const char* where = "ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens/4";
+  static const char* where = "ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens/4";
   try {
     @CPP_CLASS@* lhs = term_to_handle<@CPP_CLASS@ >(t_lhs, where);
     PPL_CHECK(lhs);
@@ -1458,9 +1459,9 @@ m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assi
     PPL_CHECK(rhs);
 
     unsigned t = term_to_unsigned<unsigned>(t_ti, where);
-    lhs->BHZ03_widening_assign<@ALT_DISJUNCT_WIDEN at _Certificate>
+    lhs->BHZ03_widening_assign<@A_DISJUNCT_WIDEN at _Certificate>
       (*rhs,
-       widen_fun_ref(&@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign),
+       widen_fun_ref(&@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign),
        &t);
     if (unify_long(t_to, t))
       return PROLOG_SUCCESS;
@@ -1470,21 +1471,21 @@ m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assi
 
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
   `extern "C" Prolog_foreign_return_type
 
-  ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(
+  ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(
                                                                           Prolog_term_ref t_lhs, Prolog_term_ref t_rhs) {
-  static const char* where = "ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign/2";
+  static const char* where = "ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign/2";
   try {
     @CPP_CLASS@* lhs = term_to_handle<@CPP_CLASS@ >(t_lhs, where);
     PPL_CHECK(lhs);
     const @CPP_CLASS@* rhs = term_to_handle<@CPP_CLASS@ >(t_rhs, where);
     PPL_CHECK(rhs);
 
-    lhs->BHZ03_widening_assign<@ALT_DISJUNCT_WIDEN at _Certificate>
+    lhs->BHZ03_widening_assign<@A_DISJUNCT_WIDEN at _Certificate>
       (*rhs,
-       widen_fun_ref(&@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign));
+       widen_fun_ref(&@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign));
     return PROLOG_SUCCESS;
   }
   CATCH_ALL;
@@ -1507,7 +1508,7 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_code',
 
     lhs->BGP99_extrapolation_assign
       (*rhs,
-       widen_fun_ref(&@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign),
+       widen_fun_ref(&@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_WIDEN at _widening_assign),
        term_to_unsigned<unsigned>(t_d, where));
     return PROLOG_SUCCESS;
   }
@@ -1531,7 +1532,7 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_EXTRAPOLATION@_extrapolation_assign_code'
 
     lhs->BGP99_extrapolation_assign
       (*rhs,
-       widen_fun_ref(&@CLASSTOPOLOGY@@CPP_DISJUNCT@::@DISJUNCT_EXTRAPOLATION at _extrapolation_assign),
+       widen_fun_ref(&@DISJUNCT_TOPOLOGY@@A_DISJUNCT@::@DISJUNCT_EXTRAPOLATION at _extrapolation_assign),
        term_to_unsigned<unsigned>(t_d, where));
     return PROLOG_SUCCESS;
   }
@@ -1551,7 +1552,7 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_to
     const @CPP_CLASS@* rhs = term_to_handle<@CPP_CLASS@ >(t_rhs, where);
     PPL_CHECK(lhs);
     PPL_CHECK(rhs);
-    @UCONSTRAINER at _System cs;
+    @!CONSTRAINER at _System cs;
     Prolog_term_ref c = Prolog_new_term_ref();
 
     while (Prolog_is_cons(t_clist)) {
@@ -1582,7 +1583,7 @@ m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_code',
     const @CPP_CLASS@* rhs = term_to_handle<@CPP_CLASS@ >(t_rhs, where);
     PPL_CHECK(lhs);
     PPL_CHECK(rhs);
-    @UCONSTRAINER at _System cs;
+    @!CONSTRAINER at _System cs;
     Prolog_term_ref c = Prolog_new_term_ref();
 
     while (Prolog_is_cons(t_clist)) {
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
index fe5222a..9e5bc4d 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_cc_files.m4
@@ -6,7 +6,7 @@ dnl and files ppl_prolog_DOMAIN.cc, for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_prolog_cc_code.m4.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -33,7 +33,8 @@ m4_include(`ppl_interface_generator_prolog_procedure_generators.m4')
 
 dnl Ensure any schematic procedure macro that is not defined
 dnl in the code file outputs a warning message.
-m4_define(`m4_default_code', `m4_dumpdef($1`'_code)')
+m4_define(`m4_procedure_schema_debug', `m4_dumpdef($1`'_code)')
+
 dnl m4_pre_extra_class_code(Class_Counter)
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
index 7390794..1266272 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_dox.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file generates the file Prolog_configured_interface.dox
 dnl and Prolog_interface.dox
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -33,14 +33,6 @@ dnl -----------------------------------------------------------------
 m4_include(`ppl_interface_generator_prolog_procedure_generators.m4')
 m4_include(`ppl_interface_generator_prolog_dox_code.m4')
 
-dnl Redefine m4_extension to allow for endings for the code which
-dnl were defined to have a default value "_code" to change according to the
-dnl category of predicates.
-m4_define(`m4_extension',
-  `m4_ifdef($1_`'m4_procedure_schema_ext,
-            `m4_indir($1_`'m4_procedure_schema_ext)', `')
-')
-
 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.
@@ -70,7 +62,7 @@ dnl The Preamble.
 dnl =================================================================
 /*!
   \defgroup PPL_Prolog_interface Prolog Language Interface
-  \brief
+
   The Parma Polyhedra Library comes equipped with an interface
   for the Prolog language.
 */
@@ -141,7 +133,7 @@ dnl Initialize the class definitions
 dnl as we do not use m4_all_code to generate the documentation,
 dnl this must be done here.
 dnl -----------------------------------------------------------------
-m4_init_class_definitions
+m4_initialize_all
 
 dnl -----------------------------------------------------------------
 dnl For the documentation, the predicates for a single class are
@@ -154,10 +146,10 @@ dnl Define documentation for one subcategory.
 dnl This requires that m4_ext is defined.
 dnl -----------------------------------------------------------------
 m4_define(`m4_one_subcategory', `dnl
-m4_define(`m4_procedure_schema_ext', m4_ext`'_doc)`'dnl
+m4_define(`m4_procedure_schema_extension', m4_ext`'_doc)`'dnl
 m4_echo_unquoted(m4_subcategory_`'m4_ext)
 m4_ifdef(m4_interface_class`'$1,
-`m4_patsubst(m4_one_class_code($1), @COMMA@, `,')`'dnl
+`m4_patsubst(m4_one_class_code($1), |COMMA|, `,')`'dnl
 ')`'dnl
 ')
 
@@ -211,11 +203,10 @@ dnl -----------------------------------------------------------------
 dnl Documentation for one simple class.
 dnl -----------------------------------------------------------------
 m4_define(`m4_one_simple_class_code', `dnl
-m4_define(`m4_current_ppl_domain', m4_interface_class`'$1)`'dnl
-\anchor m4_current_ppl_domain`'_predicates
-<H1>Predicates for the m4_current_topology m4_current_ppl_domain Domain</H1>
+\anchor m4_this_interface_class`'_predicates
+<H1>Predicates for the m4_this_topology m4_this_interface_class Domain</H1>
   Here we provide a short description for each of the predicates
-  available for the domain of m4_current_topology m4_current_ppl_objects.
+  available for the domain of m4_this_topology m4_this_ppl_objects.
 m4_ifdef(`m4_prolog_ci_documentation',
   `Note that predicates for other domains will follow a similar pattern.')
 
@@ -269,7 +260,6 @@ dnl pointset powerset domains but allows for other ad hoc predicates
 dnl for other domains to be added later.
 dnl -----------------------------------------------------------------
 m4_define(`m4_ci_pps_class_code', `dnl
-m4_define(`m4_current_ppl_domain', m4_interface_class`'$1)`'dnl
 \anchor other_domains
 <H1>Ad hoc Predicates for Other Domains</H1>
 dnl The pointset powerset domains.
@@ -288,28 +278,28 @@ m4_finalize_category_pps`'dnl
 
 m4_divert`'dnl
 m4_ifdef(`m4_prolog_ci_documentation', `dnl
-m4_define(`m4_current_ppl_domain', Polyhedron)`'dnl
-m4_pushdef(`m4_class_alt_replacement', `polyhedron')`'dnl
-m4_pushdef(`m4_Polyhedron_topology_replacement', `C_')`'dnl
-m4_pushdef(`m4_Polyhedron_topology_alt_replacement', `C ')`'dnl
-m4_pushdef(`m4_current_ppl_one_object', `polyhedron')`'dnl
-m4_pushdef(`m4_current_ppl_objects', `polyhedra')`'dnl
-m4_pushdef(`m4_current_ppl_group', `polyhedra')`'dnl
-m4_pushdef(`m4_current_topology', `C')`'dnl
-m4_pushdef(`m4_Polyhedron_friend_replacement',
+m4_define(`m4_this_interface_class', Polyhedron)`'dnl
+m4_pushdef(`m4_a_class_replacements', `polyhedron')`'dnl
+m4_pushdef(`m4_Polyhedron_topology_replacements', `C_')`'dnl
+m4_pushdef(`m4_Polyhedron_a_topology_replacements', `C ')`'dnl
+m4_pushdef(`m4_this_ppl_one_object', `polyhedron')`'dnl
+m4_pushdef(`m4_this_ppl_objects', `polyhedra')`'dnl
+m4_pushdef(`m4_this_ppl_group', `polyhedra')`'dnl
+m4_pushdef(`m4_this_topology', `C')`'dnl
+m4_pushdef(`m4_Polyhedron_friend_replacements',
   `C_Polyhedron, NNC_Polyhedron')`'dnl
-m4_pushdef(`m4_Polyhedron_friend_alt_replacement',
+m4_pushdef(`m4_Polyhedron_a_friend_replacements',
    `C polyhedron, NNC polyhedron')`'dnl
-m4_patsubst(`m4_one_simple_class_code(1)', @COMMA@, `,')`'dnl
-m4_popdef(`m4_Polyhedron_topology_replacement')`'dnl
-m4_popdef(`m4_Polyhedron_topology_alt_replacement')`'dnl
-m4_popdef(`m4_current_ppl_objects')`'dnl
-m4_popdef(`m4_current_topology')`'dnl
-m4_pushdef(`m4_Pointset_Powerset_comparison_replacement',
+m4_patsubst(`m4_one_simple_class_code(1)', |COMMA|, `,')`'dnl
+m4_popdef(`m4_Polyhedron_topology_replacements')`'dnl
+m4_popdef(`m4_Polyhedron_a_topology_replacements')`'dnl
+m4_popdef(`m4_this_ppl_objects')`'dnl
+m4_popdef(`m4_this_topology')`'dnl
+m4_pushdef(`m4_Pointset_Powerset_comparison_replacements',
          `geometrically_covers, geometrically_equals')`'dnl
-m4_pushdef(`m4_Pointset_Powerset_comparison_alt_replacement',
+m4_pushdef(`m4_Pointset_Powerset_a_comparison_replacements',
          `geometrically covers, geometrically equals')`'dnl
-m4_patsubst(`m4_ci_pps_class_code(2)', @COMMA@, `,')`'dnl
+m4_patsubst(`m4_ci_pps_class_code(2)', |COMMA|, `,')`'dnl
 ')`'dnl
 m4_divert(-1)
 
@@ -329,35 +319,35 @@ dnl for the current class. If not finish.
 m4_ifdef(m4_interface_class`'$1, `dnl
 dnl
 dnl First some temporary definitions.
-m4_define(`m4_current_ppl_domain', m4_interface_class`'$1)`'dnl
-m4_pushdef(`m4_class_alt_replacement', `dnl
-m4_PPL_domain2text(m4_current_ppl_domain)')
-m4_pushdef(`m4_current_topology', `')`'dnl
-m4_pushdef(`m4_current_ppl_group', m4_class_group`'$1)`'dnl
-m4_pushdef(`m4_current_ppl_kind', m4_class_kind`'$1)`'dnl
-m4_pushdef(`m4_current_ppl_disjunct_kind', m4_class_body_kind`'$1)`'dnl
+m4_define(`m4_this_interface_class', m4_interface_class`'$1)`'dnl
+m4_pushdef(`m4_a_class_replacement', `dnl
+m4_PPL_domain2text(m4_this_interface_class)')
+m4_pushdef(`m4_this_topology', `')`'dnl
+m4_pushdef(`m4_this_ppl_group', m4_class_group`'$1)`'dnl
+m4_pushdef(`m4_this_ppl_kind', m4_class_kind`'$1)`'dnl
+m4_pushdef(`m4_this_ppl_disjunct_kind', m4_class_body_kind`'$1)`'dnl
 m4_define(`m4_disjunct_topology', `dnl
 m4_upcase(m4_get_class_topology(m4_cplusplus_class_body$1))')`'dnl
-m4_pushdef(`m4_current_ppl_one_object', `dnl
-m4_PPL_domain2text(m4_current_ppl_kind)')
-m4_pushdef(`m4_current_ppl_objects', `dnl
-m4_ifelse(m4_current_ppl_group, box,
-   m4_plural(m4_PPL_domain2text(m4_current_ppl_domain)),
-          m4_current_ppl_group, pointset_powerset,
-   pointset powersets of m4_plural(m4_PPL_domain2text(m4_disjunct_topology m4_current_ppl_disjunct_kind)),
-  m4_plural(m4_PPL_domain2text(m4_current_ppl_kind)))')`'dnl
+m4_pushdef(`m4_this_ppl_one_object', `dnl
+m4_PPL_domain2text(m4_this_ppl_kind)')
+m4_pushdef(`m4_this_ppl_objects', `dnl
+m4_ifelse(m4_this_ppl_group, box,
+   m4_plural(m4_PPL_domain2text(m4_this_interface_class)),
+          m4_this_ppl_group, pointset_powerset,
+   pointset powersets of m4_plural(m4_PPL_domain2text(m4_disjunct_topology m4_this_ppl_disjunct_kind)),
+  m4_plural(m4_PPL_domain2text(m4_this_ppl_kind)))')`'dnl
 dnl
 dnl Generate documentation for current class.
 m4_one_simple_class_code($1)`'dnl
-m4_ifelse(m4_current_ppl_group,
+m4_ifelse(m4_this_ppl_group,
   pointset_powerset, `m4_iter_pps_categories($1)')`'dnl
 dnl
 dnl Remove temporary definition.
-m4_popdef(`m4_current_ppl_objects')`'dnl
-m4_popdef(`m4_current_topology')`'dnl
-m4_popdef(`m4_current_ppl_group')`'dnl
-m4_popdef(`m4_current_ppl_kind')`'dnl
-m4_popdef(`m4_current_ppl_disjunct_kind')`'dnl
+m4_popdef(`m4_this_ppl_objects')`'dnl
+m4_popdef(`m4_this_topology')`'dnl
+m4_popdef(`m4_this_ppl_group')`'dnl
+m4_popdef(`m4_this_ppl_kind')`'dnl
+m4_popdef(`m4_this_ppl_disjunct_kind')`'dnl
 m4_popdef(`m4_disjunct_topology')`'dnl
 dnl
 dnl Increment class counter and repeat.
@@ -369,7 +359,7 @@ dnl Generate all documentation for all the classes
 dnl -----------------------------------------------------------------
 m4_divert`'dnl
 m4_ifdef(`m4_prolog_ci_documentation', `',
-  `m4_patsubst(`m4_all_classes_doc(1)', @COMMA@, `,')`'dnl
+  `m4_patsubst(`m4_all_classes_doc(1)', |COMMA|, `,')`'dnl
 ')`'dnl
 m4_divert(-1)
 
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
index e6d13ef..529217b 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_dox_code.m4
@@ -2,7 +2,7 @@ m4_divert(-1)
 
 dnl This m4 file contains the program code for generating Prolog_interface.dox
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -30,29 +30,29 @@ dnl *** The constructor, copy, convert and destructor predicates. ***
 dnl -----------------------------------------------------------------
 m4_define(`m4_category_constr_destr', `dnl
 <H2>Constructor, copy, conversion and destructor predicates</H2>
-m4_pushdef(`m4_topology_alt_replacement', `')`'dnl
-m4_pushdef(`m4_Polyhedron_topology_alt_replacement', `C , NNC ')`'dnl
+m4_pushdef(`m4_topology_a_replacements', `')`'dnl
+m4_pushdef(`m4_Polyhedron_a_topology_replacements', `C , NNC ')`'dnl
 ')
 
 m4_define(`m4_finalize_category_constr_destr', `dnl
-m4_popdef(`m4_topology_alt_replacement')`'dnl
-m4_popdef(`m4_Polyhedron_topology_alt_replacement')`'dnl
+m4_popdef(`m4_a_topology_replacements')`'dnl
+m4_popdef(`m4_Polyhedron_a_topology_replacements')`'dnl
 ')
 
 dnl -----------------------------------------------------------------
 dnl The constructor predicates.
 dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_build', `dnl
-<H3>Constructor predicates for m4_current_topology m4_current_ppl_objects</H3>
+<H3>Constructor predicates for m4_this_topology m4_this_ppl_objects</H3>
 The constructor predicates build a
-m4_current_topology m4_current_ppl_one_object from a specification
+m4_this_topology m4_this_ppl_one_object 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.
-m4_ifelse(m4_current_ppl_domain, Polyhedron,
+m4_ifelse(m4_this_interface_class, Polyhedron,
   `For example`,'
   a C Polyhedron can be built from a list of
   non-strict inequality or equality constraints or a list of equality
@@ -63,7 +63,7 @@ dnl -----------------------------------------------------------------
 dnl The copy and conversion constructor predicates.
 dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_convert', `dnl
-<H3>Predicates that build new m4_current_topology m4_current_ppl_objects
+<H3>Predicates that build new m4_this_topology m4_this_ppl_objects
   by copying or converting from
   other semantic geometric descriptions</H3>
   Besides the constructors listed above, the library also
@@ -73,7 +73,7 @@ m4_define(`m4_subcategory_convert', `dnl
 - conversion operators that build a new semantic geometric
   description starting from a \b friend;
   that is`,' a semantic geometric description in different class
-m4_ifelse(m4_current_ppl_domain, Polyhedron, `dnl
+m4_ifelse(m4_this_interface_class, Polyhedron, `dnl
   (e.g.`,' ppl_new_Grid_from_C_Polyhedron`,'
   ppl_new_C_Polyhedron_from_BD_Shape_mpq_class`,' etc.)').<BR>
 
@@ -90,48 +90,48 @@ dnl The destructor predicate
 dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_destruct', `dnl
 <H3>Destructor predicate</H3>
-Below is the destructor predicate for the m4_current_ppl_domain domain.
+Below is the destructor predicate for the m4_this_interface_class domain.
 ')
 
 dnl -----------------------------------------------------------------
 dnl *** Predicates that do not modify the polyhedron. ***
 dnl -----------------------------------------------------------------
 m4_define(`m4_category_const', `dnl
-<H2>Predicates that do not change the m4_current_ppl_one_object</H2>
-m4_pushdef(`m4_has_property_alt_replacement', `dnl
+<H2>Predicates that do not change the m4_this_ppl_one_object</H2>
+m4_pushdef(`m4_a_has_property_replacements', `dnl
   is empty, is the universe, is bounded, contains an integer point,
   is topologically closed, is discrete')`'dnl
-m4_pushdef(`m4_product_has_property_alt_replacement', `dnl
+m4_pushdef(`m4_product_a_has_property_replacements', `dnl
   is empty, is the universe, is bounded,
   is topologically closed, is discrete')`'dnl
-m4_pushdef(`m4_comparison_alt_replacement', `dnl
+m4_pushdef(`m4_a_comparison_replacements', `dnl
   is included in or equal to,  is included in but not equal to,
   is disjoint from')`'dnl
-m4_pushdef(`m4_Pointset_Powerset_comparison_alt_replacement', `dnl
-  m4_comparison_alt_replacement,
+m4_pushdef(`m4_Pointset_Powerset_a_comparison_replacements', `dnl
+  m4_a_comparison_replacements,
   geometrically covers, geometrically equals')`'dnl
-m4_pushdef(`m4_maxmin_replacement', `max, min')`'dnl
-m4_pushdef(`m4_maxmin_alt_replacement', `above, below')`'dnl
-m4_pushdef(`m4_maxmin_cppx_replacement', `supremum, infinum')`'dnl
-m4_pushdef(`m4_maxmin_replacement', `max, min')`'dnl
-m4_pushdef(`m4_maxmin_alt_replacement', `above, below')`'dnl
-m4_pushdef(`m4_maxmin_cppx_replacement', `supremum, infinum')`'dnl
-m4_pushdef(`m4_dimension_alt_replacement', `dnl
+m4_pushdef(`m4_maxmin_replacements', `max, min')`'dnl
+m4_pushdef(`m4_a_maxmin_replacements', `above, below')`'dnl
+m4_pushdef(`m4_b_maxmin_replacements', `supremum, infinum')`'dnl
+m4_pushdef(`m4_maxmin_replacements', `max, min')`'dnl
+m4_pushdef(`m4_a_maxmin_replacements', `above, below')`'dnl
+m4_pushdef(`m4_b_maxmin_replacements', `supremum, infinum')`'dnl
+m4_pushdef(`m4_a_dimension_replacements', `dnl
   dimension of the vector space enclosing, affine dimension of')`'dnl
 ')
 
 m4_define(`m4_finalize_category_const', `dnl
-m4_popdef(`m4_has_property_alt_replacement')`'dnl
-m4_popdef(`m4_product_has_property_alt_replacement')`'dnl
-m4_popdef(`m4_comparison_alt_replacement')`'dnl
-m4_popdef(`m4_Pointset_Powerset_comparison_alt_replacement')`'dnl
-m4_popdef(`m4_maxmin_replacement')`'dnl
-m4_popdef(`m4_maxmin_alt_replacement')`'dnl
-m4_popdef(`m4_maxmin_cppx_replacement')`'dnl
-m4_popdef(`m4_maxmin_replacement')`'dnl
-m4_popdef(`m4_maxmin_alt_replacement')`'dnl
-m4_popdef(`m4_maxmin_cppx_replacement')`'dnl
-m4_popdef(`m4_dimension_alt_replacement')`'dnl
+m4_popdef(`m4_has_a_property_replacements')`'dnl
+m4_popdef(`m4_product_a_has_property_replacements')`'dnl
+m4_popdef(`m4_a_comparison_replacements')`'dnl
+m4_popdef(`m4_Pointset_Powerset_a_comparison_replacements')`'dnl
+m4_popdef(`m4_maxmin_replacements')`'dnl
+m4_popdef(`m4_a_maxmin_replacements')`'dnl
+m4_popdef(`m4_b_maxmin_replacements')`'dnl
+m4_popdef(`m4_maxmin_replacements')`'dnl
+m4_popdef(`m4_a_maxmin_replacements')`'dnl
+m4_popdef(`m4_b_maxmin_replacements')`'dnl
+m4_popdef(`m4_a_dimension_replacements')`'dnl
 ')
 
 dnl -----------------------------------------------------------------
@@ -139,7 +139,7 @@ dnl Predicates that test a property
 dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_testpoly', `dnl
 <H3>Test Predicates</H3>
-These predicates test the m4_current_ppl_one_object for different properties
+These predicates test the m4_this_ppl_one_object for different properties
 and succeed or fail depending on the outcome.
 ')
 
@@ -147,9 +147,9 @@ dnl -----------------------------------------------------------------
 dnl Predicates that get information about the polyhedron.
 dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_constpoly', `dnl
-<H3>Predicates that return information about the m4_current_ppl_one_object</H3>
+<H3>Predicates that return information about the m4_this_ppl_one_object</H3>
 These predicates will obtain more detailed information about the
-m4_current_ppl_one_object
+m4_this_ppl_one_object
 unifying some of their arguments with the results.
 ')
 
@@ -167,31 +167,31 @@ dnl *** polyhedron.                                               ***
 dnl -----------------------------------------------------------------
 m4_define(`m4_category_nonconst', `dnl
 <H2>Space-dimension preserving predicates that may change
-    the m4_current_ppl_one_object</H2>
-These predicates may modify the m4_current_ppl_one_object referred to
+    the m4_this_ppl_one_object</H2>
+These predicates may modify the m4_this_ppl_one_object referred to
 by the handle in first argument;
 the (dimension of the) vector space in which it is embedded is unchanged.
-m4_pushdef(`m4_binop_replacement', `dnl
+m4_pushdef(`m4_binop_replacements', `dnl
   intersection_assign, upper_bound_assign, difference_assign,
   time_elapse_assign')`'dnl
-m4_pushdef(`m4_Polyhedron_binop_replacement', `dnl
-  m4_binop_replacement, poly_hull, poly_difference')`'dnl
-m4_pushdef(`m4_binop_alt_replacement', `dnl
+m4_pushdef(`m4_Polyhedron_binop_replacements', `dnl
+  m4_binop_replacements, poly_hull, poly_difference')`'dnl
+m4_pushdef(`m4_a_binop_replacements', `dnl
   intersection, upper bound, difference, time elapse')`'dnl
-m4_pushdef(`m4_Polyhedron_binop_alt_replacement', `dnl
-  m4_binop_alt_replacement, poly-hull, poly-difference')`'dnl
-m4_pushdef(`m4_simplify_alt_replacement', `topological closure')`'dnl
-m4_pushdef(`m4_Pointset_Powerset_simplify_alt_replacement', `dnl
+m4_pushdef(`m4_Polyhedron_a_binop_replacements', `dnl
+  m4_a_binop_replacements, poly-hull, poly-difference')`'dnl
+m4_pushdef(`m4_a_simplify_replacements', `topological closure')`'dnl
+m4_pushdef(`m4_Pointset_Powerset_a_simplify_replacements', `dnl
   topological closure, pairwise reduction, omega reduction')`'dnl
 ')
 
 m4_define(`m4_finalize_category_nonconst', `dnl
-m4_popdef(`m4_binop_replacement')`'dnl
-m4_popdef(`m4_Polyhedron_binop_replacement')`'dnl
-m4_popdef(`m4_binop_alt_replacement')`'dnl
-m4_popdef(`m4_Polyhedron_binop_alt_replacement')`'dnl
-m4_popdef(`m4_simplify_alt_replacement')`'dnl
-m4_popdef(`m4_Pointset_Powerset_simplify_alt_replacement')`'dnl
+m4_popdef(`m4_binop_replacements')`'dnl
+m4_popdef(`m4_Polyhedron_binop_replacements')`'dnl
+m4_popdef(`m4_a_binop_replacements')`'dnl
+m4_popdef(`m4_Polyhedron_a_binop_replacements')`'dnl
+m4_popdef(`m4_a_simplify_replacements')`'dnl
+m4_popdef(`m4_Pointset_Powerset_a_simplify_replacements')`'dnl
 ')
 
 dnl -----------------------------------------------------------------
@@ -199,7 +199,7 @@ dnl Predicates that may change the polyhedron by adding
 dnl to the polyhedron's constraint or generator descriptions.
 dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_addto', `dnl
-<H3>Predicates that may change the m4_current_ppl_one_object by adding
+<H3>Predicates that may change the m4_this_ppl_one_object by adding
 to its constraint or generator descriptions</H3>
 Note that there are two forms of these predicates
 differentiated in the names by the
@@ -214,10 +214,10 @@ dnl -----------------------------------------------------------------
 dnl Predicates that transform a polyhedron.
 dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_trans', `dnl
-<H3>Predicates that transform the m4_current_ppl_one_object</H3>
+<H3>Predicates that transform the m4_this_ppl_one_object</H3>
 These predicates enable transformations
 such as taking the topological closure (which for the domain of
-m4_current_topology m4_current_ppl_one_object is the identity transformation),
+m4_this_topology m4_this_ppl_one_object is the identity transformation),
 unconstraining a specified dimension
 as explained in the
 main \extref{preamble, PPL User Manual} in Section
@@ -232,10 +232,10 @@ dnl -----------------------------------------------------------------
 dnl Predicates that act as binary operators.
 dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_binop', `dnl
-<H3>Predicates whose results depend on more than one m4_current_ppl_one_object</H3>
+<H3>Predicates whose results depend on more than one m4_this_ppl_one_object</H3>
 These predicates include the binary operators which will assign to the
-m4_current_ppl_one_object referred to by the first argument
-its combination with the m4_current_ppl_one_object referred to by the second argument
+m4_this_ppl_one_object referred to by the first argument
+its combination with the m4_this_ppl_one_object 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}
@@ -258,8 +258,8 @@ main \extref{preamble, PPL User Manual} in Sections
 \extref{Extrapolation_Operators, Extrapolation Operators}.
 Note that for all these widening and extrapolation predicates
 to behave as specified
-the m4_current_ppl_one_object referred to by the second argument has to be
-contained in (or equal to) the m4_current_ppl_one_object referred to by the first argument.
+the m4_this_ppl_one_object referred to by the second argument has to be
+contained in (or equal to) the m4_this_ppl_one_object referred to by the first argument.
 ')
 
 dnl -----------------------------------------------------------------
@@ -268,7 +268,7 @@ dnl -----------------------------------------------------------------
 m4_define(`m4_category_varspace', `dnl
 <H2>Predicates that may modify the vector space</H2>
 These predicates enable the modification of the vector space
-of the m4_current_ppl_one_object referred to in the first argument.
+of the m4_this_ppl_one_object referred to in the first argument.
 ')
 
 m4_define(`m4_finalize_category_varspace', `dnl
@@ -290,9 +290,9 @@ dnl -----------------------------------------------------------------
 m4_define(`m4_subcategory_spacemod', `dnl
 <H3>Predicates for mapping dimensions or changing the vector space</H3>
 These predicates enable the modification of the vector space
-of the m4_current_ppl_one_object referred to in the first argument.
+of the m4_this_ppl_one_object referred to in the first argument.
 These predicates enable the modification of the vector space
-of the m4_current_ppl_one_object referred to in the first argument.
+of the m4_this_ppl_one_object 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},
@@ -342,6 +342,8 @@ 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.
+m4_pushdef(`m4_Pointset_Powerset_a_beginend_replacements',
+  `beginning, end')`'dnl
 ')
 
 dnl -----------------------------------------------------------------
@@ -370,26 +372,28 @@ dnl -----------------------------------------------------------------
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension_build_doc', `dnl
 <P><CODE>ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(+Dimension_Type, +Universe_or_Empty, -Handle)</CODE><BR>
-   <EM>Builds a new @ALT_TOPOLOGY@`'m4_current_ppl_one_object \f$\cP\f$
+   <EM>Builds a new @A_TOPOLOGY@`'m4_this_ppl_one_object \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 at COMMA@ respectively.
+   is \c empty or \c universe|COMMA| respectively.
    \c Handle is unified with the handle for \f$\cP\f$.
    Thus the query
 \code
-   ?- ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(3 at COMMA@ universe at COMMA@ X).
+   ?- ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(3|COMMA| universe|COMMA| X).
 \endcode
-   creates the @ALT_TOPOLOGY@`'m4_current_ppl_one_object defining the
+   creates the @A_TOPOLOGY@`'m4_this_ppl_one_object defining the
    3-dimensional vector space
    \f$\Rset^3\f$ with \c X bound to a valid handle for accessing it.</EM>
+
 ')
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_build_doc',
 `dnl
-<P><CODE>ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s(+ at UBUILD_REPRESENT@_System, -Handle)</CODE><BR>
-  <EM>Builds a new @ALT_TOPOLOGY@`'m4_current_ppl_one_object \p P from
-  \c @UBUILD_REPRESENT at _System.
+<P><CODE>ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s(+@!BUILD_REPRESENT at _System, -Handle)</CODE><BR>
+  <EM>Builds a new @A_TOPOLOGY@`'m4_this_ppl_one_object \p P from
+  \c @!BUILD_REPRESENT at _System.
   \c Handle is unified with the handle for \p P.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -398,17 +402,19 @@ dnl -----------------------------------------------------------------
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _convert_doc', `dnl
 <P><CODE>ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND@(+Handle_1, -Handle_2)</CODE><BR>
-  <EM>Builds a new @ALT_TOPOLOGY@`'m4_current_ppl_one_object \p P_1 from
-   the @LALT_FRIEND@ referenced by handle \c Handle_1.
+  <EM>Builds a new @A_TOPOLOGY@`'m4_this_ppl_one_object \p P_1 from
+   the @!A_FRIEND@ referenced by handle \c Handle_1.
   \c Handle_2 is unified with the handle for \p P_1.</EM>
+
 ')
 
 m4_define(`ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity_convert_doc', `dnl
 <P><CODE>ppl_new_ at TOPOLOGY@@CLASS at _from_@FRIEND at _with_complexity(+Handle, +Complexity, -Handle)</CODE><BR>
-  <EM>Builds a new @ALT_TOPOLOGY@`'m4_current_ppl_one_object \p P_1 from
-   the @LALT_FRIEND@ referenced by handle \c Handle_1
+  <EM>Builds a new @A_TOPOLOGY@`'m4_this_ppl_one_object \p P_1 from
+   the @!A_FRIEND@ 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>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -420,6 +426,7 @@ m4_define(`ppl_delete_ at CLASS@_destruct_doc',
 <P><CODE>ppl_delete_ at CLASS@(+Handle)</CODE><BR>
   <EM>Invalidates the handle  referenced by \c Handle:
   this makes sure the corresponding resources will eventually be released.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -429,47 +436,53 @@ dnl -----------------------------------------------------------------
 m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_testpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at HAS_PROPERTY@(+Handle)</CODE><BR>
-   <EM>Succeeds if and only if the m4_current_ppl_one_object referenced by
-   \c Handle @ALT_HAS_PROPERTY at .</EM>
+   <EM>Succeeds if and only if the m4_this_ppl_one_object referenced by
+   \c Handle @A_HAS_PROPERTY at .</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@_testpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_bounds_from_ at ABOVEBELOW@(+Handle, +Lin_Expr)</CODE><BR>
    <EM>Succeeds if and only if <CODE>Lin_Expr</CODE> is bounded from @ABOVEBELOW@
-   in the m4_current_ppl_one_object referenced by \c Handle.</EM>
+   in the m4_this_ppl_one_object referenced by \c Handle.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_testpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at COMPARISON@_ at CLASS@(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Succeeds if and only if the m4_current_ppl_one_object referenced by
-   <CODE>Handle_2</CODE> @ALT_COMPARISON@
-   the m4_current_ppl_one_object referenced by <CODE>Handle_1</CODE>.</EM>
+   <EM>Succeeds if and only if the m4_this_ppl_one_object referenced by
+   <CODE>Handle_2</CODE> @A_COMPARISON@
+   the m4_this_ppl_one_object referenced by <CODE>Handle_1</CODE>.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_equals_ at CLASS@_testpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_equals_ at CLASS@(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Succeeds if and only if the m4_current_ppl_one_object referenced by
+   <EM>Succeeds if and only if the m4_this_ppl_one_object referenced by
    <CODE>Handle_1</CODE> is
-   equal to the m4_current_ppl_one_object referenced by <CODE>Handle_2</CODE>.</EM>
+   equal to the m4_this_ppl_one_object referenced by <CODE>Handle_2</CODE>.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_constrains_testpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_constrains(+Handle, +PPL_Var)</CODE><BR>
-  <EM>Succeeds if and only if the m4_current_ppl_one_object referenced by
+  <EM>Succeeds if and only if the m4_this_ppl_one_object referenced by
    \c Handle constrains the dimension \c PPL_Var.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_OK_testpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_OK(+Handle)</CODE><BR>
-   <EM>Succeeds only if the m4_current_ppl_one_object referenced by
-   \c Handle is well formed at COMMA@ i.e. at COMMA@ if it
+   <EM>Succeeds only if the m4_this_ppl_one_object referenced by
+   \c Handle is well formed|COMMA| i.e.|COMMA| if it
    satisfies all its implementation invariants.
    Useful for debugging purposes.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -479,77 +492,84 @@ dnl -----------------------------------------------------------------
 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>
-  <EM>Succeeds if and only if m4_current_ppl_one_object \p P referenced by \c Handle
-  is not empty and \c Lin_Expr is bounded from @ALT_MAXMIN@ in \p P.
+  <EM>Succeeds if and only if m4_this_ppl_one_object \p P referenced by \c Handle
+  is not empty and \c Lin_Expr is bounded from @A_MAXMIN@ in \p P.
 
-  \c Coeff_1 is unified with the numerator of the @CPPX_MAXMIN@ value
-  and \c Coeff_2 with the denominator of the @CPPX_MAXMIN@ value.
-  If the @CPPX_MAXMIN@ is also the @MAXMIN at imum@COMMA@ \c Boolean is unified
-  with the atom \c true and at COMMA@ otherwise at COMMA@ unified with
+  \c Coeff_1 is unified with the numerator of the @B_MAXMIN@ value
+  and \c Coeff_2 with the denominator of the @B_MAXMIN@ value.
+  If the @B_MAXMIN@ is also the @MAXMIN at imum|COMMA| \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@_with_point_constpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at MAXMIN@imize_with_point(+Handle, +Lin_Expr, ?Coeff_1, ?Coeff_2, ?Boolean, ?Point)</CODE><BR>
-  <EM>Succeeds if and only if m4_current_ppl_one_object \p P referenced by \c Handle
-  is not empty and \c Lin_Expr is bounded from @ALT_MAXMIN@ in \p P.
+  <EM>Succeeds if and only if m4_this_ppl_one_object \p P referenced by \c Handle
+  is not empty and \c Lin_Expr is bounded from @A_MAXMIN@ in \p P.
 
-  \c Coeff_1 is unified with the numerator of the @CPPX_MAXMIN@ value
-  and \c Coeff_2 with the denominator of the @CPPX_MAXMIN@ value
+  \c Coeff_1 is unified with the numerator of the @B_MAXMIN@ value
+  and \c Coeff_2 with the denominator of the @B_MAXMIN@ value
   and \c Point with a point or closure point where \c Lin_Expr reaches
   this value.
-  If the @CPPX_MAXMIN@ is also the @MAXMIN at imum@COMMA@ \c Boolean is unified
-  with the atom \c true and at COMMA@ otherwise at COMMA@ unified with the
+  If the @B_MAXMIN@ is also the @MAXMIN at imum|COMMA| \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 DIMENSION@_constpoly_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at DIMENSION@(+Handle, ?Dimension_Type)</CODE><BR>
-   <EM>Unifies \c Dimension_Type with the @ALT_DIMENSION@
-   the m4_current_ppl_one_object referenced by \c Handle.</EM>
+   <EM>Unifies \c Dimension_Type with the @A_DIMENSION@
+   the m4_this_ppl_one_object referenced by \c Handle.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_constpoly_doc',
 `dnl
-<P><CODE>ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@(+Handle, + at URELATION_REPRESENT@, ?Relation_List)</CODE><BR>
+<P><CODE>ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@(+Handle, +@!RELATION_REPRESENT@, ?Relation_List)</CODE><BR>
   <EM>Unifies \c Relation_List with the list of relations the
-  m4_current_ppl_one_object referenced by \c Handle has with \c @URELATION_REPRESENT at .
+  m4_this_ppl_one_object referenced by \c Handle has with \c @!RELATION_REPRESENT at .
   The possible relations are listed in the
   grammar rules above.</EM>
+
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_constpoly_doc',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_constpoly_doc',
 `dnl
-m4_pushdef(`m4_get_represent_alt_replacement', `satisfied by, satisfied by')
-m4_pushdef(`m4_Polyhedron_get_represent_alt_replacement',
+m4_pushdef(`m4_b_class_represent_replacements', `satisfied by, satisfied by')
+m4_pushdef(`m4_Polyhedron_b_class_represent_replacements',
          `satisfied by, satisfied by, for')
-m4_pushdef(`m4_Grid_get_represent_alt_replacement',
+m4_pushdef(`m4_Grid_b_class_represent_replacements',
          `satisfied by, satisfied by, for')
-<P><CODE>ppl_ at CLASS@_get_ at GET_REPRESENT@s(+Handle, ?@UGET_REPRESENT at _System)</CODE><BR>
-   <EM>Unifies \c @UGET_REPRESENT at _System with
-   the @GET_REPRESENT at s (in the form of a list) in the @GET_REPRESENT@ system
-   @ALT_GET_REPRESENT@ the m4_current_ppl_one_object referenced by \c Handle.</EM>
+<P><CODE>ppl_ at CLASS@_get_ at CLASS_REPRESENT@s(+Handle, ?@!CLASS_REPRESENT at _System)</CODE><BR>
+   <EM>Unifies \c @!CLASS_REPRESENT at _System with
+   the @CLASS_REPRESENT at s (in the form of a list) in the @CLASS_REPRESENT@ system
+   @B_CLASS_REPRESENT@ the m4_this_ppl_one_object referenced by \c Handle.</EM>
+
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_constpoly_doc',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_constpoly_doc',
 `dnl
-m4_pushdef(`m4_Polyhedron_get_represent_alt_replacement',
+m4_pushdef(`m4_Polyhedron_b_class_represent_replacements',
          `satisfied by, for, satisfied by')
-<P><CODE>ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s(+Handle, ?@UGET_REPRESENT at _System)</CODE><BR>
-   <EM>Unifies \c @UGET_REPRESENT at _System with
-   the @GET_REPRESENT at s (in the form of a list)
-   in the minimized @GET_REPRESENT@ system
-   @ALT_GET_REPRESENT@ the m4_current_ppl_one_object referenced by \c Handle.</EM>
+<P><CODE>ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s(+Handle, ?@!CLASS_REPRESENT at _System)</CODE><BR>
+   <EM>Unifies \c @!CLASS_REPRESENT at _System with
+   the @CLASS_REPRESENT at s (in the form of a list)
+   in the minimized @CLASS_REPRESENT@ system
+   @B_CLASS_REPRESENT@ the m4_this_ppl_one_object referenced by \c Handle.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at MEMBYTES@_constpoly_doc',
  `dnl
-m4_pushdef(`m4_membytes_alt_replacement', `total, external')
+m4_pushdef(`m4_a_membytes_replacements', `total, external')
 <P><CODE>ppl_ at CLASS@_ at MEMBYTES@(+Handle, ?Number)</CODE><BR>
-<EM>Unifies \c Number with the size of the @ALT_MEMBYTES@ memory in
-bytes occupied by the m4_current_ppl_one_object referenced by \c Handle.</EM>
+<EM>Unifies \c Number with the size of the @A_MEMBYTES@ memory in
+bytes occupied by the m4_this_ppl_one_object referenced by \c Handle.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -560,60 +580,66 @@ m4_define(`ppl_ at CLASS@_ascii_dump_dump_doc',
  `dnl
 <P><CODE>ppl_ at CLASS@_ascii_dump(+Handle)</CODE><BR>
   <EM>Dumps an ascii representation of the PPL internal state for
-  the m4_current_ppl_one_object referenced by \c Handle on the standard output.</EM>
+  the m4_this_ppl_one_object referenced by \c Handle on the standard output.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
 dnl Documentation for each of the "add to" predicates;
 dnl -----------------------------------------------------------------
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_addto_doc',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_addto_doc',
 `dnl
-m4_pushdef(`m4_add_represent_alt_replacement',
+m4_popdef(`m4_a_class_represent_replacements')`'dnl
+m4_pushdef(`m4_a_class_represent_replacements',
            `an equality or a non-strict inequality,
-            an equality, a line at COMMA@ ray or point')`'dnl
-<P><CODE>ppl_ at CLASS@_add_ at ADD_REPRESENT@(+Handle, + at UADD_REPRESENT@)</CODE><BR>
-   <EM>Updates the m4_current_ppl_one_object referenced by \c Handle to
+            an equality, a line|COMMA| ray or point')`'dnl
+<P><CODE>ppl_ at CLASS@_add_ at CLASS_REPRESENT@(+Handle, +@!CLASS_REPRESENT@)</CODE><BR>
+   <EM>Updates the m4_this_ppl_one_object referenced by \c Handle to
    one obtained by adding
-   \c @UADD_REPRESENT@ to its @ADD_REPRESENT@ system.
-   For a C polyhedron at COMMA@ \c @UADD_REPRESENT@ must be
-   @ALT_ADD_REPRESENT at .</EM>
+   \c @!CLASS_REPRESENT@ to its @CLASS_REPRESENT@ system.
+   For a C polyhedron|COMMA| \c @!CLASS_REPRESENT@ must be
+   @A_CLASS_REPRESENT at .</EM>
+
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_addto_doc',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_addto_doc',
 `dnl
-m4_popdef(`m4_add_represent_alt_replacement')`'dnl
-m4_pushdef(`m4_add_represent_alt_replacement',
+m4_popdef(`m4_a_class_represent_replacements')`'dnl
+m4_pushdef(`m4_a_class_represent_replacements',
            `equalities and non-strict inequalities,
-            equalities, lines at COMMA@ rays and points')`'dnl
-<P><CODE>ppl_ at CLASS@_add_ at ADD_REPRESENT@s(
+            equalities, lines|COMMA| rays and points')`'dnl
+<P><CODE>ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(
                   +Handle,
-                  + at UADD_REPRESENT@_System)</CODE><BR>
-   <EM>Updates the m4_current_ppl_one_object referenced by \c Handle to
-   one obtained by adding to its @ADD_REPRESENT@ system the @ADD_REPRESENT at s in
-   \c @UADD_REPRESENT at _System.
-   For a C polyhedron at COMMA@ \c @UADD_REPRESENT at s must be a list of
-   @ALT_ADD_REPRESENT at .</EM>
+                  +@!CLASS_REPRESENT at _System)</CODE><BR>
+   <EM>Updates the m4_this_ppl_one_object referenced by \c Handle to
+   one obtained by adding to its @CLASS_REPRESENT@ system the @CLASS_REPRESENT at s in
+   \c @!CLASS_REPRESENT at _System.
+   For a C polyhedron|COMMA| \c @!CLASS_REPRESENT at s must be a list of
+   @A_CLASS_REPRESENT at .</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_addto_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@(
                   +Handle,
-                  + at UREFINE_REPRESENT@)</CODE><BR>
-   <EM>Updates the m4_current_ppl_one_object referenced by \c Handle to
+                  +@!REFINE_REPRESENT@)</CODE><BR>
+   <EM>Updates the m4_this_ppl_one_object referenced by \c Handle to
    one obtained by refining its @REFINE_REPRESENT@ system with
-   \c @UREFINE_REPRESENT at .</EM>
+   \c @!REFINE_REPRESENT at .</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_addto_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s(
                   +Handle,
-                  + at UREFINE_REPRESENT@_System)</CODE><BR>
-   <EM>Updates the m4_current_ppl_one_object referenced by \c Handle to
+                  +@!REFINE_REPRESENT at _System)</CODE><BR>
+   <EM>Updates the m4_this_ppl_one_object referenced by \c Handle to
    one obtained by refining its @REFINE_REPRESENT@ system with
-   the @REFINE_REPRESENT at s in \c @UREFINE_REPRESENT at _System.</EM>
+   the @REFINE_REPRESENT at s in \c @!REFINE_REPRESENT at _System.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -623,19 +649,21 @@ dnl -----------------------------------------------------------------
 m4_define(`ppl_ at CLASS@_ at BINOP@_binop_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at BINOP@(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the m4_current_ppl_one_object \p P referenced by \c Handle_1
-   the @ALT_BINOP@ of \p P and the m4_current_ppl_one_object referenced by \c Handle_2.</EM>
+   <EM>Assigns to the m4_this_ppl_one_object \p P referenced by \c Handle_1
+   the @A_BINOP@ of \p P and the m4_this_ppl_one_object referenced by \c Handle_2.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at UB_EXACT@_binop_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at UB_EXACT@(+Handle_1, +Handle_2)</CODE><BR>
     <EM>Succeeds if the least upper bound of the
-    m4_current_ppl_one_object \p P_1 referenced by \c Handle_1
-    with the m4_current_ppl_one_object referenced by \c Handle_2 is exact;
+    m4_this_ppl_one_object \p P_1 referenced by \c Handle_1
+    with the m4_this_ppl_one_object referenced by \c Handle_2 is exact;
     in which case the least upper bound is assigned
     to \p P_1;
     fails otherwise.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_binop_doc',
@@ -651,6 +679,7 @@ m4_define(`ppl_ at CLASS@_linear_ at PARTITION@_binop_doc',
   This predicate is only provided if the
   class \c Pointset_Powerset_NNC_Polyhedron
   has been enabled when configuring the library.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_binop_doc',
@@ -670,16 +699,18 @@ m4_define(`ppl_ at CLASS@_approximate_ at PARTITION@_binop_doc',
   This predicate is only provided if the
   class \c Pointset_Powerset_Grid
   has been enabled when configuring the library.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_simplify_using_context_assign_binop_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_simplify_using_context_assign(+Handle_1, +Handle_2, ?Boolean)</CODE><BR>
-    <EM>Succeeds if and only if the intersection of m4_current_ppl_one_object \p P_1
-    referenced by \c Handle_1 and the m4_current_ppl_one_object \p P_2 referenced by \c Handle_2
+    <EM>Succeeds if and only if the intersection of m4_this_ppl_one_object \p P_1
+    referenced by \c Handle_1 and the m4_this_ppl_one_object \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>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -690,88 +721,104 @@ m4_define(`ppl_ at CLASS@_widening_assign_with_tokens_widen_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_widening_assign_with_tokens(+Handle_1, +Handle_2, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
 <EM>Same as predicate `'dnl
-m4_ifelse(`'dnl
-m4_current_ppl_domain, Polyhedron, <CODE>ppl_ at CLASS@_H79_widening_assign_with_tokens</CODE>/4,
-m4_current_ppl_domain, Grid, <CODE>ppl_ at CLASS@_congruence_widening_assign_with_tokens</CODE>/4,
-m4_current_ppl_group, box, <CODE>ppl_ at CLASS@_CC76_widening_assign_with_tokens</CODE>/4,
-m4_current_ppl_group, wr_shape, <CODE>ppl_ at CLASS@_H79_widening_assign_with_tokens</CODE>/4)</EM>
+m4_ifelse(
+  m4_this_interface_class, Polyhedron,
+    <CODE>ppl_ at CLASS@_H79_widening_assign_with_tokens</CODE>/4,
+  m4_this_interface_class, Grid,
+    <CODE>ppl_ at CLASS@_congruence_widening_assign_with_tokens</CODE>/4,
+  m4_this_ppl_group, box,
+    <CODE>ppl_ at CLASS@_CC76_widening_assign_with_tokens</CODE>/4,
+  m4_this_ppl_group, wr_shape,
+    <CODE>ppl_ at CLASS@_H79_widening_assign_with_tokens</CODE>/4)</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_widening_assign_widen_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
 <EM>Same as predicate `'dnl
-m4_ifelse(`'dnl
-m4_current_ppl_domain, Polyhedron, <CODE>ppl_ at CLASS@_H79_widening_assign</CODE>/2,
-m4_current_ppl_domain, Grid, <CODE>ppl_ at CLASS@_congruence_widening_assign</CODE>/2,
-m4_current_ppl_group, box, <CODE>ppl_ at CLASS@_CC76_widening_assign</CODE>/2,
-m4_current_ppl_group, wr_shape, <CODE>ppl_ at CLASS@_H79_widening_assign</CODE>/2)</EM>
+m4_ifelse(
+  m4_this_interface_class, Polyhedron,
+    <CODE>ppl_ at CLASS@_H79_widening_assign</CODE>/2,
+  m4_this_interface_class, Grid,
+    <CODE>ppl_ at CLASS@_congruence_widening_assign</CODE>/2,
+  m4_this_ppl_group, box,
+    <CODE>ppl_ at CLASS@_CC76_widening_assign</CODE>/2,
+  m4_this_ppl_group, wr_shape,
+    <CODE>ppl_ at CLASS@_H79_widening_assign</CODE>/2)</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens_widen_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens(+Handle_1, +Handle_2, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-   <EM>Assigns to the m4_current_ppl_one_object \p P_1 referenced by \c Handle_1
-   the @WIDEN at -widening of \p P_1 with the m4_current_ppl_one_object
+   <EM>Assigns to the m4_this_ppl_one_object \p P_1 referenced by \c Handle_1
+   the @WIDEN at -widening of \p P_1 with the m4_this_ppl_one_object
    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>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at WIDEN@_widening_assign_widen_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at WIDEN@_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the m4_current_ppl_one_object \p P_1 referenced by \c Handle_1
-   the @WIDEN at -widening of \p P_1 with the m4_current_ppl_one_object
+   <EM>Assigns to the m4_this_ppl_one_object \p P_1 referenced by \c Handle_1
+   the @WIDEN at -widening of \p P_1 with the m4_this_ppl_one_object
    referenced by \c Handle_2.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens_widen_doc',
 `dnl
-m4_pushdef(`m4_limitedbounded_alt_replacement', `,
-  @COMMA@ further intersected with the smallest box containing \\p P_1')
+m4_pushdef(`m4_a_limitedbounded_replacements', `,
+  |COMMA| further intersected with the smallest box containing \\p P_1')
 <P><CODE>ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_with_tokens(+Handle_1, +Handle_2, +Constraint_System, +C_unsigned_1, ?C_unsigned_2)</CODE><BR>
-   <EM>Assigns to the m4_current_ppl_one_object \p P_1 referenced by \c Handle_1
-   the @WIDENEXPN at -widening of \p P_1 with the m4_current_ppl_one_object
+   <EM>Assigns to the m4_this_ppl_one_object \p P_1 referenced by \c Handle_1
+   the @WIDENEXPN at -widening of \p P_1 with the m4_this_ppl_one_object
    referenced by \c Handle_2 intersected with the constraints in
    \c Constraint_System that are
-   satisfied by all the points of \p P_1 at ALT_LIMITEDBOUNDED@.
+   satisfied by all the points of \p P_1 at A_LIMITEDBOUNDED@.
    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>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign_widen_doc',
 `dnl
-m4_pushdef(`m4_limitedbounded_alt_replacement', `,
-  @COMMA@ further intersected with the smallest box containing \\p P_1')
+m4_pushdef(`m4_a_limitedbounded_replacements', `,
+  |COMMA| further intersected with the smallest box containing \\p P_1')
 <P><CODE>ppl_ at CLASS@_ at LIMITEDBOUNDED@_ at WIDENEXPN@_extrapolation_assign(+Handle_1, +Handle_2, +Constraint_System)</CODE><BR>
-   <EM>Assigns to the m4_current_ppl_one_object \p P_1 referenced by \c Handle_1
-   the @WIDENEXPN at -widening of \p P_1 with the m4_current_ppl_one_object
+   <EM>Assigns to the m4_this_ppl_one_object \p P_1 referenced by \c Handle_1
+   the @WIDENEXPN at -widening of \p P_1 with the m4_this_ppl_one_object
    referenced by \c Handle_2 intersected with the constraints in
    \c Constraint_System that are
-   satisfied by all the points of \p P_1 at ALT_LIMITEDBOUNDED@.</EM>
+   satisfied by all the points of \p P_1 at A_LIMITEDBOUNDED@.</EM>
+
 ')
 
  m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_widen_doc',
  `dnl
 <P><CODE>ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the m4_current_ppl_one_object \p P_1 referenced by \c Handle_1
-   the @EXTRAPOLATION at -narrowing of \p P_1 and the m4_current_ppl_one_object
+   <EM>Assigns to the m4_this_ppl_one_object \p P_1 referenced by \c Handle_1
+   the @EXTRAPOLATION at -narrowing of \p P_1 and the m4_this_ppl_one_object
    referenced by \c Handle_2.</EM>
+
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_widen_doc',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_widen_doc',
  `dnl
-<P><CODE>ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(+Handle_1, +Handle_2)</CODE><BR>
+<P><CODE>ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_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 at COMMA@ BHZ03-widening}
+   \c Handle_1 the \extref{pps_certificate_widening|COMMA| BHZ03-widening}
     between \p P_1 and the pointset powerset referenced by
-   \c Handle_2 at COMMA@ using the @DISJUNCT_WIDEN at -widening
-    certified by the convergence certificate for @ALT_DISJUNCT_WIDEN at .</EM>
+   \c Handle_2|COMMA| using the @DISJUNCT_WIDEN at -widening
+    certified by the convergence certificate for @A_DISJUNCT_WIDEN at .</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_widen_doc',
@@ -779,10 +826,11 @@ m4_define(`ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign_widen_doc',
 <P><CODE>ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_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 at COMMA@ BGP99 extrapolation operator}
+    \extref{pps_bgp99_extrapolation|COMMA| BGP99 extrapolation operator}
     between \p P_1 and the pointset powerset referenced by
-   \c Handle_2 at COMMA@ using the @DISJUNCT_WIDEN at -widening
+   \c Handle_2|COMMA| using the @DISJUNCT_WIDEN at -widening
     and the cardinality threshold \c C_unsigned.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -792,96 +840,110 @@ dnl -----------------------------------------------------------------
 m4_define(`ppl_ at CLASS@_swap_build_trans_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_swap(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Swaps the m4_current_ppl_one_object referenced by \c Handle_1
-   with the m4_current_ppl_one_object referenced by \c Handle_2.</EM>
+   <EM>Swaps the m4_this_ppl_one_object referenced by \c Handle_1
+   with the m4_this_ppl_one_object referenced by \c Handle_2.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_trans_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_ at SIMPLIFY@(+Handle)</CODE><BR>
-  <EM>Assigns to the m4_current_ppl_one_object referenced by \c Handle
-  its @ALT_SIMPLIFY at .</EM>
+  <EM>Assigns to the m4_this_ppl_one_object referenced by \c Handle
+  its @A_SIMPLIFY at .</EM>
+
 ')
 
-m4_define(`m4_affimage_alt_replacement',
+m4_define(`m4_a_affimage_replacements',
   `image, preimage')
-m4_define(`m4_affimage_cppx_replacement',
+m4_define(`m4_b_affimage_replacements',
   `assigning the affine, substituting the affine')
 
 m4_define(`ppl_ at CLASS@_ at AFFIMAGE@_trans_doc',
 `dnl
+m4_define(`m4_a_affimage_replacements',
+  `image, preimage')`'dnl
+m4_define(`m4_b_affimage_replacements',
+  `assigning the affine, substituting the affine')`'dnl
 <P><CODE>ppl_ at CLASS@_ at AFFIMAGE@(+Handle, +PPL_Var, +Lin_Expr, +Coeff)</CODE><BR>
-   <EM>Transforms the m4_current_ppl_one_object referenced by \c Handle
-   @CPPX_AFFIMAGE@ expression for \c Lin_Expr/\c Coeff to \c PPL_Var.</EM>
+   <EM>Transforms the m4_this_ppl_one_object referenced by \c Handle
+   @B_AFFIMAGE@ expression for \c Lin_Expr/\c Coeff to \c PPL_Var.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_bounded_ at AFFIMAGE@_trans_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_bounded_ at AFFIMAGE@(+Handle, +PPL_Var, +Lin_Expr_1, +Lin_Expr_2, +Coeff)</CODE><BR>
-  <EM>Assigns to m4_current_ppl_one_object \p P referenced by \c Handle
-  the generalized @ALT_AFFIMAGE@ with respect to the
+  <EM>Assigns to m4_this_ppl_one_object \p P referenced by \c Handle
+  the generalized @A_AFFIMAGE@ 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>
+
 ')
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_trans_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_generalized_ at AFFIMAGE@(+Handle, +PPL_Var, +Relation_Symbol, +Lin_Expr, +Coeff)</CODE><BR>
-  <EM>Assigns to m4_current_ppl_one_object \p P referenced by \c Handle
-  the generalized @ALT_AFFIMAGE@ with respect to the
+  <EM>Assigns to m4_this_ppl_one_object \p P referenced by \c Handle
+  the generalized @A_AFFIMAGE@ with respect to the
   generalized affine transfer relation
-   \c PPL_Var \f$\bowtie\f$ \c Lin_Expr/\c Coeff at COMMA@
+   \c PPL_Var \f$\bowtie\f$ \c Lin_Expr/\c Coeff|COMMA|
    where \f$\bowtie\f$ is the symbol
    represented by \c Relation_Symbol.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_trans_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs(+Handle, +Lin_Expr_1, +Relation_Symbol, +Lin_Expr_2)</CODE><BR>
-  <EM>Assigns to m4_current_ppl_one_object \p P referenced by \c Handle
-  the generalized @ALT_AFFIMAGE@ with respect to the
+  <EM>Assigns to m4_this_ppl_one_object \p P referenced by \c Handle
+  the generalized @A_AFFIMAGE@ with respect to the
   generalized affine transfer relation
-   \c Lin_Expr_1 \f$\bowtie\f$ \c Lin_Expr_2 at COMMA@
+   \c Lin_Expr_1 \f$\bowtie\f$ \c Lin_Expr_2|COMMA|
    where \f$\bowtie\f$ is the symbol
    represented by \c Relation_Symbol.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence_trans_doc',
  `dnl
 <P><CODE>ppl_ at CLASS@_generalized_ at AFFIMAGE@_with_congruence(+Handle, +PPL_Var, +Relation_Symbol, +Lin_Expr, +Coeff_1, +Coeff_2)</CODE><BR>
-  <EM>Assigns to m4_current_ppl_one_object \p P referenced by \c Handle
-  the generalized @ALT_AFFIMAGE@ with respect to the
+  <EM>Assigns to m4_this_ppl_one_object \p P referenced by \c Handle
+  the generalized @A_AFFIMAGE@ with respect to the
   generalized affine transfer relation
-   \c Lin_Expr_1 \f$\equiv_f\f$ \c Lin_Expr_2/\c Coeff_1 at COMMA@
+   \c Lin_Expr_1 \f$\equiv_f\f$ \c Lin_Expr_2/\c Coeff_1|COMMA|
    where \c Coeff_2 is bound to the modulus \p f.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence_trans_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_generalized_ at AFFIMAGE@_lhs_rhs_with_congruence(+Handle, +Lin_Expr_1, +Relation_Symbol, +Lin_Expr_2, +Coeff)</CODE><BR>
-  <EM>Assigns to m4_current_ppl_one_object \p P referenced by \c Handle
-  the generalized @ALT_AFFIMAGE@ with respect to the
+  <EM>Assigns to m4_this_ppl_one_object \p P referenced by \c Handle
+  the generalized @A_AFFIMAGE@ with respect to the
   generalized affine transfer relation
    \c Lin_Expr_1  \f$\equiv_f\f$ \c Lin_Expr_2.
    where \c Coeff is bound to the modulus \p f.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimension_trans_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_unconstrain_space_dimension(+Handle, +PPL_Var)</CODE><BR>
-  <EM>Modifies the m4_current_ppl_one_object \p P referenced by \c Handle by unconstraining
+  <EM>Modifies the m4_this_ppl_one_object \p P referenced by \c Handle by unconstraining
   the space dimension \c PPL_Var.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_unconstrain_space_dimensions_trans_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_unconstrain_space_dimensions(+Handle, +List_of_PPL_Var)</CODE><BR>
-  <EM>Modifies the m4_current_ppl_one_object \p P referenced by \c Handle by unconstraining
+  <EM>Modifies the m4_this_ppl_one_object \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>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -890,17 +952,18 @@ dnl -----------------------------------------------------------------
 
 m4_define(`ppl_ at CLASS@_ at BINOP@_concat_doc',
 `dnl
-m4_popdef(`m4_binop_replacement')
-m4_popdef(`m4_Polyhedron_binop_replacement')
-m4_popdef(`m4_binop_alt_replacement')
-m4_popdef(`m4_Polyhedron_binop_alt_replacement')
-m4_pushdef(`m4_binop_replacement', `concatenate_assign')
-m4_pushdef(`m4_Polyhedron_binop_replacement', `concatenate_assign')
-m4_pushdef(`m4_binop_alt_replacement', `concatenation')
-m4_pushdef(`m4_Polyhedron_binop_alt_replacement', `concatenation')
+m4_popdef(`m4_binop_replacements')
+m4_popdef(`m4_Polyhedron_binop_replacements')
+m4_popdef(`m4_a_binop_replacements')
+m4_popdef(`m4_Polyhedron_a_binop_replacements')
+m4_pushdef(`m4_binop_replacements', `concatenate_assign')
+m4_pushdef(`m4_Polyhedron_binop_replacements', `concatenate_assign')
+m4_pushdef(`m4_a_binop_replacements', `concatenation')
+m4_pushdef(`m4_Polyhedron_a_binop_replacements', `concatenation')
  <P><CODE>ppl_ at CLASS@_ at BINOP@(+Handle_1, +Handle_2)</CODE><BR>
-   <EM>Assigns to the m4_current_ppl_one_object \p P referenced by \c Handle_1
-   the @ALT_BINOP@ of \p P and the m4_current_ppl_one_object referenced by \c Handle_2.</EM>
+   <EM>Assigns to the m4_this_ppl_one_object \p P referenced by \c Handle_1
+   the @A_BINOP@ of \p P and the m4_this_ppl_one_object referenced by \c Handle_2.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -911,26 +974,29 @@ m4_define(`ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@_spacemod_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_add_space_dimensions_ at EMBEDPROJECT@(+Handle, +Dimension_Type)</CODE><BR>
   <EM>Adds \c Dimension_Type new dimensions to the space enclosing
-  the m4_current_ppl_one_object \p P referenced by \c Handle
+  the m4_this_ppl_one_object \p P referenced by \c Handle
   and @EMBEDPROJECT at s \p P in this space.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_remove_space_dimensions_spacemod_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_remove_space_dimensions(+Handle, +List_of_PPL_Vars)</CODE><BR>
   <EM>Removes from the vector space enclosing
-  the m4_current_ppl_one_object \p P referenced by \c Handle the space dimensions that
+  the m4_this_ppl_one_object \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>
+
 ')
 
 m4_define(`ppl_ at CLASS@_remove_higher_space_dimensions_spacemod_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_remove_higher_space_dimensions(+Handle, +Dimension_Type)</CODE><BR>
   <EM>Removes the higher dimensions from the vector space enclosing
-  the m4_current_ppl_one_object \p P referenced by \c Handle
-  so that at COMMA@ upon successful return at COMMA@ the new space dimension is
+  the m4_this_ppl_one_object \p P referenced by \c Handle
+  so that|COMMA| upon successful return|COMMA| the new space dimension is
   \c Dimension_Type.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_expand_space_dimension_spacemod_doc',
@@ -938,19 +1004,21 @@ m4_define(`ppl_ at CLASS@_expand_space_dimension_spacemod_doc',
 <P><CODE>ppl_ at CLASS@_expand_space_dimension(+Handle, +PPL_Var, +Dimension_Type)</CODE><BR>
   <EM>Expands the \c  PPL_Var-th
   dimension of the vector space enclosing
-  the m4_current_ppl_one_object referenced by \c Handle to
+  the m4_this_ppl_one_object referenced by \c Handle to
   \c Dimension_Type new space dimensions.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_fold_space_dimensions_spacemod_doc',
 `dnl
 <P><CODE>ppl_ at CLASS@_fold_space_dimensions(+Handle, +List_of_PPL_Vars, +PPL_Var)</CODE><BR>
-  <EM>Modifies the m4_current_ppl_one_object referenced by \c Handle
+  <EM>Modifies the m4_this_ppl_one_object 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>
+
 ')
 
 m4_define(`ppl_ at CLASS@_map_space_dimensions_spacemod_doc',
@@ -958,10 +1026,11 @@ m4_define(`ppl_ at CLASS@_map_space_dimensions_spacemod_doc',
 <P><CODE>ppl_ at CLASS@_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 at COMMA@
+  This function is specified by means of the \c P_Func|COMMA|
   which has \p n entries.
   The result is undefined if \c P_Func does not encode a partial
   function.</EM>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -975,17 +1044,19 @@ m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_pps_iter_doc',
   <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>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at SIMPLIFY@_pps_other_doc',
 `dnl
-m4_pushdef(`m4_Pointset_Powerset_simplify_replacement',
+m4_pushdef(`m4_Pointset_Powerset_simplify_replacements',
   `pairwise_reduce, omega_reduce')
-m4_pushdef(`m4_Pointset_Powerset_simplify_alt_replacement',
+m4_pushdef(`m4_Pointset_Powerset_a_simplify_replacements',
   `pairwise reduction, omega reduction')
 <P><CODE>ppl_ at CLASS@_ at SIMPLIFY@(+Handle)</CODE><BR>
-   <EM>Assigns the result of @ALT_SIMPLIFY@ on
+   <EM>Assigns the result of @A_SIMPLIFY@ on
    the pointset powerset referenced by \c Handle.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_iterator_equals_iterator_pps_iter_doc',
@@ -994,16 +1065,16 @@ m4_define(`ppl_ at CLASS@_iterator_equals_iterator_pps_iter_doc',
    <EM>Succeeds if and only if the iterator referenced by
    \c Iterator_1 is equal to the iterator referenced by
    \c Iterator_2.</EM>
+
 ')
 
  m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_pps_iter_doc',
  `dnl
-m4_pushdef(`m4_Pointset_Powerset_beginend_alt_replacement',
-  `beginning, end')
 <P><CODE>ppl_ at CLASS@_ at BEGINEND@_iterator(+Handle, -Iterator)</CODE><BR>
   <EM>Unifies \c Iterator with a handle to an iterator "pointing"
-  to the @ALT_BEGINEND@ of
+  to the @A_BEGINEND@ of
   the sequence of disjuncts of the powerset referred to by \c Handle.</EM>
+
 ')
 
 m4_define(`ppl_delete_ at CLASS@_iterator_pps_iter_doc',
@@ -1012,15 +1083,17 @@ m4_define(`ppl_delete_ at CLASS@_iterator_pps_iter_doc',
   <EM>Invalidates the handle referenced by <CODE>Iterator</CODE>:
   this makes sure the corresponding resources
   will eventually be released.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_pps_iter_doc',
  `dnl
-m4_pushdef(`m4_Pointset_Powerset_incdec_alt_replacement',
+m4_pushdef(`m4_Pointset_Powerset_a_incdec_replacements',
   `next, previous')
 <P><CODE>ppl_ at CLASS@_iterator_ at INCDEC@(+Iterator)</CODE><BR>
-  <EM>@UINCDEC at s the iterator referenced by \c Iterator
-  so that it "points" to the @ALT_INCDEC@ disjunct.</EM>
+  <EM>@!INCDEC at s the iterator referenced by \c Iterator
+  so that it "points" to the @A_INCDEC@ disjunct.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_get_disjunct_pps_iter_doc',
@@ -1028,24 +1101,27 @@ m4_define(`ppl_ at CLASS@_get_disjunct_pps_iter_doc',
 <P><CODE>ppl_ at CLASS@_iterator_get_disjunct(+Iterator, -Handle)</CODE><BR>
   <EM>Unifies with \c Handle a reference to the disjunct referred
   to by \c Iterator_1.</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_drop_disjunct_pps_iter_doc',
  `dnl
 <P><CODE>ppl_ at CLASS@_drop_disjunct(+Handle, +Iterator)</CODE><BR>
-  <EM>If \p it is the iterator referred to by \c Iterator at COMMA@
+  <EM>If \p it is the iterator referred to by \c Iterator|COMMA|
   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>
+
 ')
 
 m4_define(`ppl_ at CLASS@_drop_disjuncts_pps_iter_doc',
  `dnl
 <P><CODE>ppl_ at CLASS@_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 at COMMA@ respectively at COMMA@
+  and \c Iterator_2|COMMA| respectively|COMMA|
   drops from the pointset powerset referenced by \c Handle
    all the disjuncts from \p it_1 to \p it_2 (excluded).</EM>
+
 ')
 
 m4_define(`ppl_ at CLASS@_add_disjunct_pps_iter_doc',
@@ -1053,6 +1129,7 @@ m4_define(`ppl_ at CLASS@_add_disjunct_pps_iter_doc',
 <P><CODE>ppl_ at CLASS@_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>
+
 ')
 
 dnl -----------------------------------------------------------------
@@ -1062,14 +1139,15 @@ dnl -----------------------------------------------------------------
 
 m4_define(`ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_pps_other_doc',
 `dnl
-m4_pushdef(`m4_Pointset_Powerset_comparison_replacement',
+m4_pushdef(`m4_Pointset_Powerset_comparison_replacements',
          `geometrically_covers, geometrically_equals')
-m4_pushdef(`m4_Pointset_Powerset_comparison_alt_replacement',
+m4_pushdef(`m4_Pointset_Powerset_a_comparison_replacements',
          `geometrically covers, geometrically equals')
 <P><CODE>ppl_ at CLASS@_ at COMPARISON@_ at CLASS@(+Handle_1, +Handle_2)</CODE><BR>
    <EM>Succeeds if and only if the pointset powerset referenced by
-   \c Handle_2 @ALT_COMPARISON@
+   \c Handle_2 @A_COMPARISON@
    the pointset powerset referenced by \c Handle_1;
-   see Section \extref{Geometric_Comparisons at COMMA@ Geometric Comparisons}
-  in the main \extref{preamble at COMMA@ PPL User Manual}.</EM>
+   see Section \extref{Geometric_Comparisons|COMMA| Geometric Comparisons}
+  in the main \extref{preamble|COMMA| PPL User Manual}.</EM>
+
 ')
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
index a5b6a7d..5598257 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_hh_code.m4
@@ -5,7 +5,7 @@ dnl This m4 file contains the program code for generating the
 dnl files ppl_prolog_DOMAIN.hh for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -82,16 +82,16 @@ m4_define(`ppl_ at CLASS@_ at DIMENSION@_code',
   ppl_ at CLASS@_ at DIMENSION@(Prolog_term_ref t_ph, Prolog_term_ref t_sd);
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_get_ at GET_REPRESENT@s(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_get_ at CLASS_REPRESENT@s(Prolog_term_ref t_ph,
 				   Prolog_term_ref t_glist);
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s(Prolog_term_ref t_ph,
 					     Prolog_term_ref t_glist);
 
 ')
@@ -252,9 +252,9 @@ m4_define(`ppl_ at CLASS@_OK_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at ADD_REPRESENT@(Prolog_term_ref t_ph, Prolog_term_ref t_c);
+  ppl_ at CLASS@_add_ at CLASS_REPRESENT@(Prolog_term_ref t_ph, Prolog_term_ref t_c);
 
 ')
 
@@ -264,16 +264,16 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize(Prolog_term_ref t_ph,
 					       Prolog_term_ref t_c);
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at ADD_REPRESENT@s(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(Prolog_term_ref t_ph,
 				   Prolog_term_ref t_clist);
 
 ')
@@ -285,9 +285,9 @@ m4_define(`ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s_code',
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize(Prolog_term_ref t_ph,
+  ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(Prolog_term_ref t_ph,
 						Prolog_term_ref t_clist);
 
 ')
@@ -427,18 +427,18 @@ m4_define(`ppl_ at CLASS@_ at EXTRAPOLATION@_narrowing_assign_code',
 
 dnl FIXME: This code is redundant as there is no options for tokens
 dnl        in the current C++ code.
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens_code',
   `extern "C" Prolog_foreign_return_type
-  ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens(
+  ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_with_tokens(
 										      Prolog_term_ref t_lhs, Prolog_term_ref t_rhs,
 										      Prolog_term_ref t_ti, Prolog_term_ref t_to);
 
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign_code',
   `extern "C" Prolog_foreign_return_type
 
-  ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(
+  ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(
 									  Prolog_term_ref t_lhs, Prolog_term_ref t_rhs);
 
 ')
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
index eb7a3e0..943e190 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_hh_files.m4
@@ -1,12 +1,12 @@
-m4_define(`dnl', `m4_dnl')`'dnl
 m4_divert(-1)
+m4_define(`dnl', `m4_dnl')
 
 dnl This m4 file is used to generate ppl_prolog_domains.hh
 dnl and files ppl_prolog_DOMAIN.hh, for each interface domain DOMAIN
 dnl in ppl_interface instantiations.m4 using the code in
 dnl ppl_interface_generator_prolog_hh_code.m4.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -28,8 +28,8 @@ dnl For the most up-to-date information see the Parma Polyhedra Library
 dnl site: http://www.cs.unipr.it/ppl/ .
 
 dnl Include files defining macros that generate the non-fixed part.
-m4_include(`ppl_interface_generator_prolog_hh_code.m4')
-m4_include(`ppl_interface_generator_prolog_procedure_generators.m4')
+m4_include(ppl_interface_generator_prolog_hh_code.m4)
+m4_include(ppl_interface_generator_prolog_procedure_generators.m4)
 
 m4_divert`'dnl
 %<--%<--%<-- ppl_prolog_domains.hh
@@ -40,7 +40,7 @@ m4_divert(-1)
 
 dnl Ensure any schematic procedure macro that is not defined
 dnl in the code file outputs a warning message.
-m4_define(`m4_default_code', `m4_dumpdef($1`'_code)')
+m4_define(`m4_procedure_schema_debug', `m4_dumpdef($1`'_code)')
 dnl m4_pre_extra_class_code(Class_Counter)
 dnl Prefix extra code for each class.
 m4_define(`m4_pre_extra_class_code', `dnl
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
index 7c3b76f..dcc3960 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_procedure_generators.m4
@@ -6,7 +6,7 @@ dnl - the list in the imported file and any Prolog specific predicates;
 dnl   ppl_interface_generator_common_procedure_generators.m4;
 dnl - the list of library predicates needed for the system dependent files.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -28,9 +28,9 @@ dnl For the most up-to-date information see the Parma Polyhedra Library
 dnl site: http://www.cs.unipr.it/ppl/ .
 
 dnl Include the language independent macros.
-m4_include(`ppl_interface_generator_common_procedure_generators.m4')
-m4_include(`ppl_interface_generator_common.m4')
-m4_include(`ppl_interface_generator_common_dat.m4')
+m4_include(ppl_interface_generator_common.m4)
+m4_include(ppl_interface_generator_common_dat.m4)
+m4_include(ppl_interface_generator_common_procedure_generators.m4)
 
 dnl Library predicate list.
 m4_define(`m4_library_predicate_list', `dnl
@@ -77,11 +77,12 @@ ppl_MIP_Problem_feasible_point/2,
 ppl_MIP_Problem_optimizing_point/2,
 ppl_MIP_Problem_optimal_value/3,
 ppl_MIP_Problem_evaluate_objective_function/4,
-ppl_MIP_Problem_OK/1`'dnl
+ppl_MIP_Problem_OK/1
+ppl_MIP_Problem_ascii_dump/1`'dnl
 ')
 
 m4_define(`m4_procedure_list', `m4_echo_unquoted(`m4_common_procedure_list',
 ppl_ at CLASS@_ at BINMINOP@/2 +polyhedron,
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize/2 +polyhedron,
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize/2 +polyhedron)
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize/2 +polyhedron,
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize/2 +polyhedron)
 ')
diff --git a/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4 b/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
index 1be4f8d..05b7b83 100644
--- a/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
+++ b/interfaces/Prolog/ppl_interface_generator_prolog_systems.m4
@@ -4,7 +4,7 @@ m4_divert(-1)
 dnl This m4 file defines macros needed for generating
 dnl the Prolog system-dependent code files.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/interfaces/Prolog/ppl_prolog_common.cc b/interfaces/Prolog/ppl_prolog_common.cc
index 7548c5a..782a368 100644
--- a/interfaces/Prolog/ppl_prolog_common.cc
+++ b/interfaces/Prolog/ppl_prolog_common.cc
@@ -1,5 +1,5 @@
 /* Common part of the Prolog interfaces: variables and non-inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -622,72 +622,6 @@ handle_exception(const timeout_exception&) {
   Prolog_raise_exception(et);
 }
 
-#define CATCH_ALL \
-  catch (const Prolog_unsigned_out_of_range& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_unsigned_integer& e) { \
-    handle_exception(e); \
-  } \
-  catch (const non_linear& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_a_variable& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_an_integer& e) { \
-    handle_exception(e); \
-  } \
-  catch (const ppl_handle_mismatch& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_an_optimization_mode& e) {	\
-    handle_exception(e); \
-  } \
-  catch (const not_a_complexity_class& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_a_control_parameter_name& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_a_control_parameter_value& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_universe_or_empty& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_a_relation& e) { \
-    handle_exception(e); \
-  } \
-  catch (const not_a_nil_terminated_list& e) { \
-    handle_exception(e); \
-  } \
-  catch (const PPL_integer_out_of_range& e) { \
-    handle_exception(e); \
-  } \
-  catch (const unknown_interface_error& e) { \
-    handle_exception(e); \
-  } \
-  catch (const timeout_exception& e) { \
-    handle_exception(e); \
-  } \
-  catch(const std::overflow_error& e) { \
-    handle_exception(e); \
-  } \
-  catch(const std::length_error& e) { \
-    handle_exception(e); \
-  } \
-  catch (const std::bad_alloc& e) { \
-    handle_exception(e); \
-  } \
-  catch (const std::exception& e) { \
-    handle_exception(e); \
-  } \
-  catch (...) { \
-    handle_exception(); \
-  } \
-  return PROLOG_FAILURE
-
 Prolog_term_ref
 variable_term(dimension_type varid) {
   Prolog_term_ref v = Prolog_new_term_ref();
@@ -710,7 +644,7 @@ term_to_universe_or_empty(Prolog_term_ref t, const char* where) {
 
 Coefficient
 integer_term_to_Coefficient(Prolog_term_ref t) {
-  TEMP_INTEGER(n);
+  PPL_DIRTY_TEMP_COEFFICIENT(n);
   assert(Prolog_is_integer(t));
   if (!Prolog_get_Coefficient(t, n))
     abort();
@@ -1017,7 +951,7 @@ template <typename R>
 Prolog_term_ref
 get_homogeneous_expression(const R& r) {
   Prolog_term_ref so_far = Prolog_new_term_ref();
-  TEMP_INTEGER(coefficient);
+  PPL_DIRTY_TEMP_COEFFICIENT(coefficient);
   dimension_type varid = 0;
   dimension_type space_dimension = r.space_dimension();
   while (varid < space_dimension
@@ -1377,8 +1311,8 @@ term_to_relation_symbol(Prolog_term_ref t_r, const char* where) {
 Prolog_term_ref
 rational_term(const Rational_Box::interval_type::boundary_type& q) {
   Prolog_term_ref t = Prolog_new_term_ref();
-  TEMP_INTEGER(numerator);
-  TEMP_INTEGER(denominator);
+  PPL_DIRTY_TEMP_COEFFICIENT(numerator);
+  PPL_DIRTY_TEMP_COEFFICIENT(denominator);
   numerator = q.get_num();
   denominator = q.get_den();
   if (denominator == 1)
@@ -1653,7 +1587,7 @@ extern "C" Prolog_foreign_return_type
 ppl_Coefficient_min(Prolog_term_ref t_min) {
   try {
     if (std::numeric_limits<Coefficient>::is_bounded) {
-      TEMP_INTEGER(min);
+      PPL_DIRTY_TEMP_COEFFICIENT(min);
       min = std::numeric_limits<Coefficient>::min();
       if (Prolog_has_unbounded_integers
 	  || (min >= Prolog_min_integer && min <= Prolog_min_integer))
@@ -1668,7 +1602,7 @@ extern "C" Prolog_foreign_return_type
 ppl_Coefficient_max(Prolog_term_ref t_max) {
   try {
     if (std::numeric_limits<Coefficient>::is_bounded) {
-      TEMP_INTEGER(max);
+      PPL_DIRTY_TEMP_COEFFICIENT(max);
       max = std::numeric_limits<Coefficient>::max();
       if (Prolog_has_unbounded_integers
 	  || (max >= Prolog_min_integer && max <= Prolog_min_integer))
@@ -2124,8 +2058,8 @@ ppl_MIP_Problem_optimal_value(Prolog_term_ref t_mip,
   try {
     const MIP_Problem* mip = term_to_handle<MIP_Problem>(t_mip, where);
     PPL_CHECK(mip);
-    TEMP_INTEGER(n);
-    TEMP_INTEGER(d);
+    PPL_DIRTY_TEMP_COEFFICIENT(n);
+    PPL_DIRTY_TEMP_COEFFICIENT(d);
     mip->optimal_value(n, d);
     if (Prolog_unify_Coefficient(t_n, n)
 	&& Prolog_unify_Coefficient(t_d, d))
@@ -2143,8 +2077,8 @@ ppl_MIP_Problem_evaluate_objective_function(Prolog_term_ref t_mip,
   try {
     const MIP_Problem* mip = term_to_handle<MIP_Problem>(t_mip, where);
     PPL_CHECK(mip);
-    TEMP_INTEGER(n);
-    TEMP_INTEGER(d);
+    PPL_DIRTY_TEMP_COEFFICIENT(n);
+    PPL_DIRTY_TEMP_COEFFICIENT(d);
     mip->evaluate_objective_function(build_generator(t_g, where), n, d);
     if (Prolog_unify_Coefficient(t_n, n)
 	&& Prolog_unify_Coefficient(t_d, d))
@@ -2164,3 +2098,15 @@ ppl_MIP_Problem_OK(Prolog_term_ref t_mip) {
   }
   CATCH_ALL;
 }
+
+extern "C" Prolog_foreign_return_type
+ppl_MIP_Problem_ascii_dump(Prolog_term_ref t_mip) {
+  static const char* where = "ppl_MIP_Problem_ascii_dump/1";
+  try {
+    const MIP_Problem* mip = term_to_handle<MIP_Problem>(t_mip, where);
+    PPL_CHECK(mip);
+    mip->ascii_dump(std::cout);
+    return PROLOG_SUCCESS;
+  }
+  CATCH_ALL;
+}
diff --git a/interfaces/Prolog/ppl_prolog_common.defs.hh b/interfaces/Prolog/ppl_prolog_common.defs.hh
index 799c93c..08b2d02 100644
--- a/interfaces/Prolog/ppl_prolog_common.defs.hh
+++ b/interfaces/Prolog/ppl_prolog_common.defs.hh
@@ -1,5 +1,5 @@
 /* Common part of the Prolog interfaces: declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -525,7 +525,7 @@ term_to_unsigned(Prolog_term_ref t, const char* where) {
     else
       d = l;
   else {
-    TEMP_INTEGER(v);
+    PPL_DIRTY_TEMP_COEFFICIENT(v);
     Prolog_get_Coefficient(t, v);
     if (v < 0)
       throw not_unsigned_integer(t, where);
@@ -789,12 +789,15 @@ ppl_MIP_Problem_evaluate_objective_function(Prolog_term_ref t_mip,
 					    Prolog_term_ref t_n,
 					    Prolog_term_ref t_d);
 
-using namespace Parma_Polyhedra_Library;
-using namespace Parma_Polyhedra_Library::Interfaces::Prolog;
-
 extern "C" Prolog_foreign_return_type
 ppl_MIP_Problem_OK(Prolog_term_ref t_mip);
 
+extern "C" Prolog_foreign_return_type
+ppl_MIP_Problem_ascii_dump(Prolog_term_ref t_mip);
+
+using namespace Parma_Polyhedra_Library;
+using namespace Parma_Polyhedra_Library::Interfaces::Prolog;
+
 class Partial_Function {
 private:
   std::set<dimension_type> codomain;
diff --git a/interfaces/Prolog/ppl_prolog_common.inlines.hh b/interfaces/Prolog/ppl_prolog_common.inlines.hh
index 3584076..14e580d 100644
--- a/interfaces/Prolog/ppl_prolog_common.inlines.hh
+++ b/interfaces/Prolog/ppl_prolog_common.inlines.hh
@@ -1,5 +1,5 @@
 /* Common part of the Prolog interfaces: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/Prolog/tests/Makefile.am b/interfaces/Prolog/tests/Makefile.am
index f0ea50a..4bed91c 100644
--- a/interfaces/Prolog/tests/Makefile.am
+++ b/interfaces/Prolog/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -68,7 +68,7 @@ ppl_interface_generator_prolog_generated_test_pl.m4 \
 ppl_interface_generator_prolog_generated_test_pl_code.m4
 
 ppl_prolog_generated_test.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_prolog_generated_test_pl.m4 \
 			> ppl_prolog_generated_test_blob
diff --git a/interfaces/Prolog/tests/Makefile.in b/interfaces/Prolog/tests/Makefile.in
index 0ee8407..b4451ba 100644
--- a/interfaces/Prolog/tests/Makefile.in
+++ b/interfaces/Prolog/tests/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -78,12 +78,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -149,6 +148,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -157,6 +158,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -231,6 +233,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -490,7 +493,7 @@ uninstall-am:
 check-local: ppl_prolog_generated_test.stamp
 
 ppl_prolog_generated_test.stamp: $(interface_generator_dependencies)
-	m4 --prefix-builtin -I../.. \
+	$(M4) --prefix-builtin -I../.. \
 		-I$(srcdir) -I$(srcdir)/.. -I$(srcdir)/../.. \
 		$(srcdir)/ppl_interface_generator_prolog_generated_test_pl.m4 \
 			> ppl_prolog_generated_test_blob
diff --git a/interfaces/Prolog/tests/clpq.pl b/interfaces/Prolog/tests/clpq.pl
index f056243..5b6502a 100644
--- a/interfaces/Prolog/tests/clpq.pl
+++ b/interfaces/Prolog/tests/clpq.pl
@@ -1,7 +1,7 @@
 % A toy, non-ground meta-interpreter for CLP(Q)
 % for testing the Parma Polyhedra Library and its Prolog interface.
 %
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -791,7 +791,7 @@ POSSIBILITY OF SUCH DAMAGES.\n').
 
 common_main :-
   write('\
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>\n\
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>\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 deb74c3..e506503 100644
--- a/interfaces/Prolog/tests/clpq2.pl
+++ b/interfaces/Prolog/tests/clpq2.pl
@@ -1,7 +1,7 @@
 % A toy, non-ground meta-interpreter for CLP(Q)
 % for testing the Parma Polyhedra Library and its Prolog interface.
 %
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -1111,7 +1111,7 @@ POSSIBILITY OF SUCH DAMAGES.\n').
 
 common_main :-
   write('\
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>\n\
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>\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 4e5c525..9d03f75 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int16
+++ b/interfaces/Prolog/tests/expected_clpq2_int16
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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_int16_a b/interfaces/Prolog/tests/expected_clpq2_int16_a
index ff9f907..914e1ce 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int16_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int16_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 b/interfaces/Prolog/tests/expected_clpq2_int32
index 3ac88d3..ddba48e 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int32
+++ b/interfaces/Prolog/tests/expected_clpq2_int32
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 a54d6a6..c69a65c 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int32_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int32_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 3ac88d3..ddba48e 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int64
+++ b/interfaces/Prolog/tests/expected_clpq2_int64
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 3ac88d3..ddba48e 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int64_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int64_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 728dc36..61510f5 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int8
+++ b/interfaces/Prolog/tests/expected_clpq2_int8
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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_a b/interfaces/Prolog/tests/expected_clpq2_int8_a
index 04fc801..221898e 100644
--- a/interfaces/Prolog/tests/expected_clpq2_int8_a
+++ b/interfaces/Prolog/tests/expected_clpq2_int8_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 3ac88d3..ddba48e 100644
--- a/interfaces/Prolog/tests/expected_clpq2_mpz
+++ b/interfaces/Prolog/tests/expected_clpq2_mpz
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 3ac88d3..ddba48e 100644
--- a/interfaces/Prolog/tests/expected_clpq2_mpz_a
+++ b/interfaces/Prolog/tests/expected_clpq2_mpz_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 daab152..de9a352 100644
--- a/interfaces/Prolog/tests/expected_clpq_int16
+++ b/interfaces/Prolog/tests/expected_clpq_int16
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 daab152..de9a352 100644
--- a/interfaces/Prolog/tests/expected_clpq_int16_a
+++ b/interfaces/Prolog/tests/expected_clpq_int16_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 13dd03f..2b31d15 100644
--- a/interfaces/Prolog/tests/expected_clpq_int32
+++ b/interfaces/Prolog/tests/expected_clpq_int32
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 13dd03f..2b31d15 100644
--- a/interfaces/Prolog/tests/expected_clpq_int32_a
+++ b/interfaces/Prolog/tests/expected_clpq_int32_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 13dd03f..2b31d15 100644
--- a/interfaces/Prolog/tests/expected_clpq_int64
+++ b/interfaces/Prolog/tests/expected_clpq_int64
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 13dd03f..2b31d15 100644
--- a/interfaces/Prolog/tests/expected_clpq_int64_a
+++ b/interfaces/Prolog/tests/expected_clpq_int64_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 f4d93ed..2a42f89 100644
--- a/interfaces/Prolog/tests/expected_clpq_int8
+++ b/interfaces/Prolog/tests/expected_clpq_int8
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 f4d93ed..2a42f89 100644
--- a/interfaces/Prolog/tests/expected_clpq_int8_a
+++ b/interfaces/Prolog/tests/expected_clpq_int8_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 13dd03f..2b31d15 100644
--- a/interfaces/Prolog/tests/expected_clpq_mpz
+++ b/interfaces/Prolog/tests/expected_clpq_mpz
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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 13dd03f..2b31d15 100644
--- a/interfaces/Prolog/tests/expected_clpq_mpz_a
+++ b/interfaces/Prolog/tests/expected_clpq_mpz_a
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 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/pl_check.pl b/interfaces/Prolog/tests/pl_check.pl
index 6746e5b..6493cf8 100644
--- a/interfaces/Prolog/tests/pl_check.pl
+++ b/interfaces/Prolog/tests/pl_check.pl
@@ -1,5 +1,5 @@
 /* Various tests on the Prolog interface.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
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 dcc4888..e288870 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
@@ -5,7 +5,7 @@ dnl This m4 file generates the test files
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -40,6 +40,19 @@ dnl ==================================================================
 m4_include(`ppl_interface_generator_prolog_procedure_generators.m4')
 m4_include(`ppl_interface_generator_prolog_generated_test_pl_code.m4')
 
+dnl  The build represent needs alternative replacements.
+dnl
+dnl  The different kinds of alternative objects that can build
+dnl  the same class so that we can check one build against another.
+m4_define(`m4_a_build_represent_replacements',
+          `generator, congruence, constraint')
+m4_define(`m4_Grid_a_build_represent_replacements',
+         `constraint, grid_generator, congruence')
+m4_define(`m4_Pointset_Powerset_a_build_represent_replacements',
+         `constraint, congruence')
+m4_define(`m4_product_a_build_represent_replacements',
+         `constraint, congruence')
+
 dnl ==================================================================
 dnl Useful macros needed to generate the test code.
 dnl ==================================================================
@@ -145,7 +158,7 @@ m4_divert(-1)`'dnl
 m4_include(`ppl_interface_generator_prolog_systems.m4')dnl
 m4_define(`m4_start1', 0)`'dnl
 m4_pushdef(`m4_check_test_usability', keep)`'dnl
-m4_pushdef(`m4_extension', `dnl
+m4_pushdef(`m4_expanded_procedure_schema', `dnl
 m4_ifdef(`$1_code',
          `m4_ifelse(m4_check_test_usability($1, $5), keep,
                     `m4_ifelse(m4_start1, 0,
@@ -177,7 +190,7 @@ dnl Call to macro m4_all_code to generate code
 dnl -----------------------------------------------------------------
 m4_divert`'dnl
 m4_patsubst(m4_all_code, COMMA, `,')`'dnl
-m4_popdef(`m4_extension')`'dnl
+m4_popdef(`m4_expanded_procedure_schema')`'dnl
 m4_popdef(`m4_pre_extra_class_code')`'dnl
 m4_popdef(`m4_post_extra_class_code')`'dnl
 m4_divert(-1)
@@ -190,7 +203,7 @@ dnl -----------------------------------------------------------------
 dnl Extra definitions
 dnl -----------------------------------------------------------------
 
-m4_pushdef(`m4_extension', `dnl
+m4_pushdef(`m4_expanded_procedure_schema', `dnl
 m4_ifdef(`$1_code',
          `m4_ifelse(m4_check_test_usability($1, $5), keep,
 :- dynamic($1_$2_test/0).
@@ -213,7 +226,7 @@ dnl -----------------------------------------------------------------
 m4_divert`'dnl
 m4_all_code`'dnl
 m4_divert(-1)
-m4_popdef(`m4_extension')
+m4_popdef(`m4_expanded_procedure_schema')
 m4_popdef(`m4_pre_extra_class_code')
 
 dnl ==================================================================
@@ -250,27 +263,15 @@ m4_popdef(`m4_current_interface')`'dnl
 %               class dependent predicate tests                     %
 %                                                                   %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-m4_replace_all_patterns_in_string($1,
-  m4_add_build_class_code($1),
-  m4_pattern_list)`'dnl
-m4_replace_all_patterns_in_string($1,
-  m4_add_comparison_class_code($1),
-  m4_pattern_list)`'dnl
-m4_replace_all_patterns_in_string($1,
-  m4_add_wdn_exn_class_code($1),
-  m4_pattern_list)`'dnl
-m4_replace_all_patterns_in_string($1,
-  m4_add_cleanup_class_code($1),
-  m4_pattern_list)`'dnl
-m4_replace_all_patterns_in_string($1,
-  m4_add_out_class_code($1),
-  m4_pattern_list)`'dnl
-m4_replace_all_patterns_in_string($1,
-  m4_add_out_extra_class_code($1),
-  m4_pattern_list)`'dnl
+m4_replace_all_patterns($1, m4_add_build_class_code($1))`'dnl
+m4_replace_all_patterns($1, m4_add_comparison_class_code($1))`'dnl
+m4_replace_all_patterns($1, m4_add_wdn_exn_class_code($1))`'dnl
+m4_replace_all_patterns($1, m4_add_cleanup_class_code($1))`'dnl
+m4_replace_all_patterns($1, m4_add_out_class_code($1))`'dnl
+m4_replace_all_patterns($1, m4_add_out_extra_class_code($1))`'dnl
 ')
 
-m4_pushdef(`m4_extension', `dnl
+m4_pushdef(`m4_expanded_procedure_schema', `dnl
 m4_ifdef(`$1_code',
 `m4_ifelse(m4_check_test_usability($1, $5), keep, `
 m4_indir(`$1_code')`'dnl
@@ -283,7 +284,7 @@ dnl -----------------------------------------------------------------
 m4_divert`'dnl
 m4_all_code`'dnl
 m4_divert(-1)
-m4_popdef(`m4_extension')
+m4_popdef(`m4_expanded_procedure_schema')
 m4_popdef(`m4_pre_extra_class_code')
 
 dnl ==================================================================
@@ -317,7 +318,7 @@ m4_pushdef(`m4_post_extra_class_code', `
 ')
 m4_define(`m4_start1', 0)
 
-m4_pushdef(`m4_extension', `dnl
+m4_pushdef(`m4_expanded_procedure_schema', `dnl
 m4_ifelse(m4_start1, 0,
   `m4_undefine(`m4_start1')', `COMMA
 ')  `$1'dnl
@@ -329,7 +330,7 @@ dnl -----------------------------------------------------------------
 m4_divert`'dnl
 m4_patsubst(m4_all_code, COMMA, `,')`'dnl
 m4_divert(-1)
-m4_popdef(`m4_extension')
+m4_popdef(`m4_expanded_procedure_schema')
 m4_popdef(`m4_pre_extra_class_code')
 m4_popdef(`m4_post_extra_class_code')
 
@@ -345,7 +346,7 @@ m4_pushdef(`m4_current_interface', m4_interface_class`'$1)`'dnl
 %<--%<--%<-- ppl_prolog_generated_test_`'m4_current_interface.pl
 ')
 m4_pushdef(`m4_post_extra_class_code', `')
-m4_pushdef(`m4_extension', `
+m4_pushdef(`m4_expanded_procedure_schema', `
 m4_ifelse(m4_index($1, new), `-1', ,
    clean_$1`'m4_ifelse($2, 0, , `(`'m4_arg_sequence($2))') :-
    ($1`'m4_ifelse($2, 0, , `(`'m4_arg_sequence($2))'),
@@ -357,7 +358,7 @@ m4_ifelse(m4_index($1, new), `-1', ,
 m4_divert`'dnl
 m4_all_code
 m4_divert(-1)
-m4_popdef(`m4_extension')
+m4_popdef(`m4_expanded_procedure_schema')
 m4_popdef(`m4_pre_extra_class_code')
 
 dnl End of file generation.
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 d8d8e57..8032efe 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
@@ -5,7 +5,7 @@ dnl ppl_prolog_generated_test_<CLASS_NAME>.pl, which test
 dnl the generated Prolog interface predicates
 dnl and the main file ppl_prolog_generated_test_main.pl.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -140,13 +140,13 @@ m4_define(`m4_add_out_class_code', `dnl
 out_ at CLASS@(P):-
   ((noisy(N), N < 2) -> true ;
     m4_ifelse(m4_current_group, pointset_powerset,
-      `display_message([nl, @LCLASS@, P, representation,
+      `display_message([nl, @!CLASS@, P, representation,
                        cannot ,be, displayed, nl]),',
               m4_current_group, product,
-      `display_message([nl, @LCLASS@, P, representation,
+      `display_message([nl, @!CLASS@, P, representation,
                        cannot ,be, displayed, nl]),',
-`     ppl_ at CLASS@_get_ at GET_REPRESENT@s(P, RS),
-      display_message([nl, @GET_REPRESENT at s, are, nl, RS, nl]),')
+`     ppl_ at CLASS@_get_ at CLASS_REPRESENT@s(P, RS),
+      display_message([nl, @CLASS_REPRESENT at s, are, nl, RS, nl]),')
     fail
   ).
 
@@ -224,8 +224,8 @@ ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s_2_test :-
                         @BUILD_REPRESENT at s, RS1),
     clean_ppl_new_ at TOPOLOGY@@CLASS at _from_@BUILD_REPRESENT at s(RS1, PS1),
     ppl_build_test_data(TEST_DATA, t_ at TOPOLOGY@,
-                        @ALT_BUILD_REPRESENT at s, RS1a),
-    clean_ppl_new_ at TOPOLOGY@@CLASS at _from_@ALT_BUILD_REPRESENT at s(RS1a, PS1a),
+                        @A_BUILD_REPRESENT at s, RS1a),
+    clean_ppl_new_ at TOPOLOGY@@CLASS at _from_@A_BUILD_REPRESENT at s(RS1a, PS1a),
 %%    ppl_ at CLASS@_equals_ at CLASS@(PS1, PS1a),
     ppl_delete_ at CLASS@(PS1),
     ppl_delete_ at CLASS@(PS1a)
@@ -317,18 +317,18 @@ ppl_ at CLASS@_ at DIMENSION@_2_test :-
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_code',
 `
-ppl_ at CLASS@_get_ at GET_REPRESENT@s_2_test :-
+ppl_ at CLASS@_get_ at CLASS_REPRESENT@s_2_test :-
   (
    choose_test(TEST_DATA, Space_Dim),
    (
      ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS, Space_Dim),
      ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS1, Space_Dim),
-     ppl_ at CLASS@_get_ at GET_REPRESENT@s(PS, RS),
-     (predicate_exists(ppl_ at CLASS@_add_ at GET_REPRESENT@s)
+     ppl_ at CLASS@_get_ at CLASS_REPRESENT@s(PS, RS),
+     (predicate_exists(ppl_ at CLASS@_add_ at CLASS_REPRESENT@s)
      ->
-         ppl_ at CLASS@_add_ at GET_REPRESENT@s(PS1, RS)
+         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1, RS)
      ;
          true
      ),
@@ -342,18 +342,18 @@ ppl_ at CLASS@_get_ at GET_REPRESENT@s_2_test :-
 
 ')
 
-m4_define(`ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_code',
 `
-ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s_2_test :-
+ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s_2_test :-
   (
    choose_test(TEST_DATA, Space_Dim),
    (
       ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS, Space_Dim),
       ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA, PS1, Space_Dim),
-      ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s(PS, RS),
-      ( predicate_exists(ppl_ at CLASS@_add_ at GET_REPRESENT@s)
+      ppl_ at CLASS@_get_minimized_ at CLASS_REPRESENT@s(PS, RS),
+      ( predicate_exists(ppl_ at CLASS@_add_ at CLASS_REPRESENT@s)
       ->
-        ppl_ at CLASS@_add_ at GET_REPRESENT@s(PS1, RS)
+        ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1, RS)
       ;
         true
       ),
@@ -390,7 +390,7 @@ m4_define(`ppl_ at CLASS@_ at BEGINEND@_iterator_code',
 ppl_ at CLASS@_ at BEGINEND@_iterator_2_test :-
   (
    choose_test(TEST_DATA, _Space_Dim),
-   ppl_build_test_data(TEST_DATA, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS),
+   ppl_build_test_data(TEST_DATA, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS),
    (
      clean_ppl_new_ at CLASS@_from_ at CONSTRAINER@s(RS, PPS),
      ppl_ at CLASS@_ at BEGINEND@_iterator(PPS, It_x),
@@ -408,7 +408,7 @@ m4_define(`ppl_ at CLASS@_iterator_equals_iterator_code',
 ppl_ at CLASS@_iterator_equals_iterator_2_test :-
   (
    choose_test(TEST_DATA, _Space_Dim),
-   ppl_build_test_data(TEST_DATA, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS),
+   ppl_build_test_data(TEST_DATA, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS),
    (
      clean_ppl_new_ at CLASS@_from_ at CONSTRAINER@s(RS, PPS),
      ppl_ at CLASS@_begin_iterator(PPS, It),
@@ -429,7 +429,7 @@ m4_define(`ppl_ at CLASS@_ at INCDEC@_iterator_code',
 ppl_ at CLASS@_ at INCDEC@_iterator_1_test :-
   (
    choose_test(TEST_DATA, _Space_Dim),
-   ppl_build_test_data(TEST_DATA, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS),
+   ppl_build_test_data(TEST_DATA, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS),
    (
      clean_ppl_new_ at CLASS@_from_ at CONSTRAINER@s(RS, PPS),
      ppl_ at CLASS@_begin_iterator(PPS, Itb),
@@ -466,11 +466,11 @@ m4_define(`ppl_new_ at CLASS@_iterator_from_iterator_code',
 ppl_new_ at CLASS@_iterator_from_iterator_2_test :-
   (
    TEST_DATA = test06, TEST_DATA1 = test07,
-   ppl_build_test_data(TEST_DATA, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS),
-   ppl_build_test_data(TEST_DATA1, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS1),
+   ppl_build_test_data(TEST_DATA, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS),
+   ppl_build_test_data(TEST_DATA1, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS1),
    (
      clean_ppl_new_ at CLASS@_from_ at CONSTRAINER@s(RS, PPS),
-     clean_ppl_new_ at CLASSTOPOLOGY@@DISJUNCT at _from_@CONSTRAINER at s(RS1, PS),
+     clean_ppl_new_ at DISJUNCT_TOPOLOGY@@DISJUNCT at _from_@CONSTRAINER at s(RS1, PS),
      ppl_ at CLASS@_add_disjunct(PPS, PS),
      ppl_ at CLASS@_begin_iterator(PPS, It_begin),
      ppl_new_ at CLASS@_iterator_from_iterator(It_begin, It1),
@@ -492,11 +492,11 @@ m4_define(`ppl_ at CLASS@_drop_disjunct_code',
 ppl_ at CLASS@_drop_disjunct_2_test :-
   (
    TEST_DATA = test06, TEST_DATA1 = test07,
-   ppl_build_test_data(TEST_DATA, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS),
-   ppl_build_test_data(TEST_DATA1, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS1),
+   ppl_build_test_data(TEST_DATA, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS),
+   ppl_build_test_data(TEST_DATA1, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS1),
    (
      clean_ppl_new_ at CLASS@_from_ at CONSTRAINER@s(RS, PPS),
-     clean_ppl_new_ at CLASSTOPOLOGY@@DISJUNCT at _from_@CONSTRAINER at s(RS1, PS),
+     clean_ppl_new_ at DISJUNCT_TOPOLOGY@@DISJUNCT at _from_@CONSTRAINER at s(RS1, PS),
      ppl_ at CLASS@_add_disjunct(PPS, PS),
      ppl_ at CLASS@_size(PPS, S),
      S > 1,
@@ -524,11 +524,11 @@ m4_define(`ppl_ at CLASS@_drop_disjuncts_code',
 ppl_ at CLASS@_drop_disjuncts_3_test :-
   (
    TEST_DATA = test06, TEST_DATA1 = test07,
-   ppl_build_test_data(TEST_DATA, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS),
-   ppl_build_test_data(TEST_DATA1, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS1),
+   ppl_build_test_data(TEST_DATA, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS),
+   ppl_build_test_data(TEST_DATA1, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS1),
    (
      clean_ppl_new_ at CLASS@_from_ at CONSTRAINER@s(RS, PPS),
-     clean_ppl_new_ at CLASSTOPOLOGY@@DISJUNCT at _from_@CONSTRAINER at s(RS1, PS),
+     clean_ppl_new_ at DISJUNCT_TOPOLOGY@@DISJUNCT at _from_@CONSTRAINER at s(RS1, PS),
      ppl_ at CLASS@_add_disjunct(PPS, PS),
      ppl_ at CLASS@_size(PPS, S),
      ppl_ at CLASS@_begin_iterator(PPS, It_begin),
@@ -576,8 +576,8 @@ ppl_ at CLASS@_get_disjunct_2_test :-
 ppl_ at CLASS@_get_disjunct_2_test1(_, []).
 ppl_ at CLASS@_get_disjunct_2_test1(PPS, [Test|Tests]) :-
   (
-   ppl_build_test_data(Test, t_ at CLASSTOPOLOGY@, @CONSTRAINER at s, RS),
-   clean_ppl_new_ at CLASSTOPOLOGY@@DISJUNCT at _from_@CONSTRAINER at s(RS, PS),
+   ppl_build_test_data(Test, t_ at DISJUNCT_TOPOLOGY@, @CONSTRAINER at s, RS),
+   clean_ppl_new_ at DISJUNCT_TOPOLOGY@@DISJUNCT at _from_@CONSTRAINER at s(RS, PS),
    ppl_ at CLASS@_add_disjunct(PPS, PS),
    ppl_delete_ at DISJUNCT@(PS),
    ppl_ at CLASS@_get_disjunct_2_test1(PPS, Tests),
@@ -658,7 +658,7 @@ ppl_ at CLASS@_relation_with_ at RELATION_REPRESENT@_3_test :-
 
 m4_define(`ppl_ at CLASS@_ at HAS_PROPERTY@_code',
 `
-ppl_ at CLASS@_ at HAS_PROPERTY@_2_test :-
+ppl_ at CLASS@_ at HAS_PROPERTY@_1_test :-
   (
    choose_test(TEST_DATA, Space_Dim),
    (
@@ -922,25 +922,25 @@ ppl_ at CLASS@_ at COMPARISON@_ at CLASS@_2_test :-
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_code',
 `
-:- discontiguous(ppl_ at CLASS@_add_ at ADD_REPRESENT@_2_test1/3).
+:- discontiguous(ppl_ at CLASS@_add_ at CLASS_REPRESENT@_2_test1/3).
 
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_2_test :-
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_2_test :-
   (
    member(TEST_DATA, [test00, test02, test03, test04, test05]),
    choose_test(TEST_DATA, Space_Dim),
-   ppl_build_test_data(TEST_DATA, t_ at TOPOLOGY@, @ADD_REPRESENT at s, RS),
-   ppl_initial_test_system(@ADD_REPRESENT@, U_or_E),
+   ppl_build_test_data(TEST_DATA, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS),
+   ppl_initial_test_system(@CLASS_REPRESENT@, U_or_E),
    ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Space_Dim, U_or_E, PS),
-   ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS, RS),
+   ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS),
    ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Space_Dim, U_or_E, PS1),
-   (ppl_ at CLASS@_add_ at ADD_REPRESENT@_2_test1(PS, PS1, RS)
+   (ppl_ at CLASS@_add_ at CLASS_REPRESENT@_2_test1(PS, PS1, RS)
    ->
      fail ; true)
   ).
 
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_2_test1(PS, PS1, []) :-
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_2_test1(PS, PS1, []) :-
   (
    (predicate_exists(ppl_ at CLASS@_equals_ at CLASS@)
       ->
@@ -951,35 +951,35 @@ ppl_ at CLASS@_add_ at ADD_REPRESENT@_2_test1(PS, PS1, []) :-
    ppl_delete_ at CLASS@(PS),
    ppl_delete_ at CLASS@(PS1)
   ).
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_2_test1(PS, PS1, [R | RS]) :-
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_2_test1(PS, PS1, [R | RS]) :-
   (
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@(PS1, R),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@_2_test1(PS, PS1, RS)
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@(PS1, R),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@_2_test1(PS, PS1, RS)
   ).
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_code',
 `
-:- discontiguous(ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_2_test1/3).
+:- discontiguous(ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1/3).
 
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_2_test :-
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test :-
   (
    member(TEST_DATA, [test00, test02, test03, test04, test05]),
    choose_test(TEST_DATA, Space_Dim),
    (
-     ppl_build_test_data(TEST_DATA, t_ at TOPOLOGY@, @ADD_REPRESENT at s, RS),
-     ppl_initial_test_system(@ADD_REPRESENT@, U_or_E),
+     ppl_build_test_data(TEST_DATA, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS),
+     ppl_initial_test_system(@CLASS_REPRESENT@, U_or_E),
      clean_ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Space_Dim,
                                                           U_or_E, PS),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS, RS),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS),
      clean_ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Space_Dim,
                                                         U_or_E, PS1),
      (predicate_exists(ppl_ at CLASS@_is_empty)
      ->
        (\+ ppl_ at CLASS@_is_empty(PS)
        ->
-         ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_2_test1(PS, PS1, RS)
+         ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1(PS, PS1, RS)
        ;
          true
        )
@@ -992,7 +992,7 @@ ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_2_test :-
      fail ; true)
   ).
 
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_2_test1(PS, PS1, []) :-
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1(PS, PS1, []) :-
   (
    (predicate_exists(ppl_ at CLASS@_equals_ at CLASS@)
    ->
@@ -1001,31 +1001,31 @@ ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_2_test1(PS, PS1, []) :-
      true
    )
   ).
-ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_2_test1(PS, PS1, [R | RS]) :-
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1(PS, PS1, [R | RS]) :-
   (
-   ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize(PS1, R),
-   ppl_ at CLASS@_add_ at ADD_REPRESENT@_and_minimize_2_test1(PS, PS1, RS)
+   ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize(PS1, R),
+   ppl_ at CLASS@_add_ at CLASS_REPRESENT@_and_minimize_2_test1(PS, PS1, RS)
   ).
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_code',
 `
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s_2_test :-
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_2_test :-
   (
    member(TEST_DATA1, [test00, test02, test03, test04, test05]),
    member(TEST_DATA2, [test00, test02, test03, test04, test05]),
    choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
    (
-     ppl_build_test_data(TEST_DATA1, t_ at TOPOLOGY@, @ADD_REPRESENT at s, RS),
-     ppl_build_test_data(TEST_DATA2, t_ at TOPOLOGY@, @ADD_REPRESENT at s, RS1),
-     ppl_initial_test_system(@ADD_REPRESENT@, U_or_E),
+     ppl_build_test_data(TEST_DATA1, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS),
+     ppl_build_test_data(TEST_DATA2, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS1),
+     ppl_initial_test_system(@CLASS_REPRESENT@, U_or_E),
      ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Space_Dim, U_or_E, PS),
      ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Space_Dim, U_or_E, PS1),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS, RS),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS, RS1),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS1, RS1),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS1, RS),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS1),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1, RS1),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1, RS),
      (predicate_exists(ppl_ at CLASS@_equals_ at CLASS@)
      ->
        ppl_ at CLASS@_equals_ at CLASS@(PS, PS1)
@@ -1040,47 +1040,47 @@ ppl_ at CLASS@_add_ at ADD_REPRESENT@s_2_test :-
 
 ')
 
-m4_define(`ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize_code',
+m4_define(`ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_code',
 `
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize_2_test :-
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize_2_test :-
   (
    member(TEST_DATA1, [test00, test02, test03, test04, test05]),
    member(TEST_DATA2, [test00, test02, test03, test04, test05]),
    choose_2_tests(TEST_DATA1, TEST_DATA2, Dim),
    (
-     ppl_build_test_data(TEST_DATA1, t_ at TOPOLOGY@, @ADD_REPRESENT at s, RS),
-     ppl_build_test_data(TEST_DATA2, t_ at TOPOLOGY@, @ADD_REPRESENT at s, RS1),
-     ppl_initial_test_system(@ADD_REPRESENT@, U_or_E),
+     ppl_build_test_data(TEST_DATA1, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS),
+     ppl_build_test_data(TEST_DATA2, t_ at TOPOLOGY@, @CLASS_REPRESENT at s, RS1),
+     ppl_initial_test_system(@CLASS_REPRESENT@, U_or_E),
      ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Dim, U_or_E, PS),
      ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Dim, U_or_E, PS1),
      ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Dim, U_or_E, PS_min),
      ppl_new_ at TOPOLOGY@@CLASS at _from_space_dimension(Dim, U_or_E, PS1_min),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS, RS),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS, RS1),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS_min, RS),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS, RS1),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS_min, RS),
      (predicate_exists(ppl_ at CLASS@_is_empty)
      ->
        (ppl_ at CLASS@_is_empty(PS)
        ->
-         \+ ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize(PS_min, RS1),
-         ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS_min, RS1)
+         \+ ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(PS_min, RS1),
+         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS_min, RS1)
        ;
-         ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize(PS_min, RS1)
+         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(PS_min, RS1)
        )
      ;
        true
      ),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS1, RS1),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS1, RS),
-     ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS1_min, RS1),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1, RS1),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1, RS),
+     ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1_min, RS1),
      (predicate_exists(ppl_ at CLASS@_is_empty)
      ->
        (ppl_ at CLASS@_is_empty(PS1)
        ->
-         \+ ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize(PS1_min, RS),
-         ppl_ at CLASS@_add_ at ADD_REPRESENT@s(PS1_min, RS)
+         \+ ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(PS1_min, RS),
+         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s(PS1_min, RS)
        ;
-         ppl_ at CLASS@_add_ at ADD_REPRESENT@s_and_minimize(PS1_min, RS)
+         ppl_ at CLASS@_add_ at CLASS_REPRESENT@s_and_minimize(PS1_min, RS)
        )
      ;
        true
@@ -1110,7 +1110,7 @@ ppl_ at CLASS@_add_disjunct_2_test :-
    choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
    (
      ppl_ at TOPOLOGY@@CLASS at _build_test_object(TEST_DATA1, PPS1, Space_Dim),
-     ppl_ at CLASSTOPOLOGY@@DISJUNCT at _build_test_object(TEST_DATA2, PS2, Space_Dim),
+     ppl_ at DISJUNCT_TOPOLOGY@@DISJUNCT at _build_test_object(TEST_DATA2, PS2, Space_Dim),
      ppl_ at CLASS@_add_disjunct(PPS1, PS2),
      ppl_ at CLASS@_OK(PPS1),
      ppl_ at DISJUNCT@_OK(PS2),
@@ -1424,9 +1424,9 @@ ppl_ at CLASS@_ at WIDEN@_widening_assign_with_tokens_4_test :-
 
 ')
 
-m4_define(`ppl_ at CLASS@_BHZ03_ at CLASSTOPOLOGY@@DISJUNCT_WIDEN at _@DISJUNCT_WIDEN at _widening_assign_code',
+m4_define(`ppl_ at CLASS@_BHZ03_ at DISJUNCT_TOPOLOGY@@DISJUNCT_WIDEN at _@DISJUNCT_WIDEN at _widening_assign_code',
 `
-ppl_ at CLASS@_BHZ03_ at CLASSTOPOLOGY@@DISJUNCT_WIDEN at _@DISJUNCT_WIDEN at _widening_assign_test :-
+ppl_ at CLASS@_BHZ03_ at DISJUNCT_TOPOLOGY@@DISJUNCT_WIDEN at _@DISJUNCT_WIDEN at _widening_assign_test :-
   (
    choose_2_tests(TEST_DATA1, TEST_DATA2, Space_Dim),
    (
@@ -1435,7 +1435,7 @@ ppl_ at CLASS@_BHZ03_ at CLASSTOPOLOGY@@DISJUNCT_WIDEN at _@DISJUNCT_WIDEN at _widening_assi
      ppl_ at CLASS@_upper_bound_assign(PS1, PS2),
      ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(PS1, PS1_Copy),
      ppl_new_ at TOPOLOGY@@CLASS at _from_@TOPOLOGY@@CLASS@(PS2, PS2_Copy),
-     ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(
+     ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign(
                                                            PS1, PS2),
      ppl_ at CLASS@_wdn_exn_check_code(PS1, PS1_Copy, PS2, PS2_Copy)
    ->
diff --git a/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl b/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
index 040bed0..d91e26f 100644
--- a/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
+++ b/interfaces/Prolog/tests/ppl_prolog_generated_test_common.pl
@@ -1,5 +1,5 @@
 % Extra test code for the generated tests for the Prolog interfaces.
-% Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+% Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 %
 % This file is part of the Parma Polyhedra Library (PPL).
 %
@@ -233,7 +233,7 @@ ppl_relation_test_data(test01, grid_generator, grid_point(0), []).
 ppl_property_test_data(test01, _, _, is_empty).
 ppl_property_test_data(test01, _, _, is_bounded).
 ppl_property_test_data(test01, _, _, is_topologically_closed).
-ppl_property_test_data_(test01, _, _, is_discrete).
+ppl_property_test_data(test01, _, _, is_discrete).
 
 ppl_bounds_test_data(test01, _, A, _, true) :-
   make_vars(1, [A]).
@@ -260,6 +260,7 @@ ppl_relation_test_data(test02, congruence, (0 =:= 0) / 0, Rel) :-
   ; Rel = [is_included].
 ppl_relation_test_data(test02, grid_generator, grid_point(0), [subsumes]).
 
+ppl_property_test_data(test02, _, _, is_universe).
 ppl_property_test_data(test02, _, _, is_bounded).
 ppl_property_test_data(test02, _, _, is_topologically_closed).
 ppl_property_test_data(test02, _, _, is_discrete).
diff --git a/interfaces/interfaced_boxes.hh b/interfaces/interfaced_boxes.hh
index d2105b2..62f8a57 100644
--- a/interfaces/interfaced_boxes.hh
+++ b/interfaces/interfaced_boxes.hh
@@ -1,6 +1,6 @@
 /* Declarations for the Box instantiations offered by the non-templatic
    language interfaces.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/marked_pointers.hh b/interfaces/marked_pointers.hh
index 6d302d7..2ba6f6b 100644
--- a/interfaces/marked_pointers.hh
+++ b/interfaces/marked_pointers.hh
@@ -1,6 +1,6 @@
 /* Implementation of marked pointers for use in some PPL non-templatic
    language interfaces.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/interfaces/ppl_interface_generator_common.m4 b/interfaces/ppl_interface_generator_common.m4
index 145c4fe..f34d3d2 100644
--- a/interfaces/ppl_interface_generator_common.m4
+++ b/interfaces/ppl_interface_generator_common.m4
@@ -4,7 +4,7 @@ dnl This m4 file includes macro definitions for:
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -25,10 +25,60 @@ dnl
 dnl For the most up-to-date information see the Parma Polyhedra Library
 dnl site: http://www.cs.unipr.it/ppl/ .
 
+dnl ---------------------------------------------------------------------
+dnl           --- MACRO GROUPS and DEPENDENCIES ---
+dnl
+dnl For ease of keeping track of these macros and their dependencies,
+dnl the macro definitions are separated by the "===" comments into groups.
+dnl
+dnl Where a macro is only used within the group, it is labelled as "LOCAL".
+dnl Where it is used in this file but by another macro group, it is
+dnl labelled as "PRIVATE" and an indication of which group uses it.
+dnl Where it may be used in the generator files, it is labelled
+dnl as "PUBLIC".
+dnl
+dnl Some simple macros may be redefined by generator files and we
+dnl indicate that here is the default definition by the label
+dnl "DEFAULT DEF".
+dnl
+dnl The macro groups and the dependencies are:
+dnl
+dnl HELPERS (m4_forloop, m4_upcase, m4_downcase, m4_capfirstletter,
+dnl          m4_capfirstletters, m4_changecase, m4_add_one_after_underscore,
+dnl          m4_ifndef, m4_nargs, m4_arg, m4_arg_counter, m4_echo_unquoted,
+dnl          m4_echo_quoted, m4_seq_intersection, m4_seq_difference
+dnl          are all public.)
+dnl          WARNING: some may not be used and may not be fully tested.
+dnl
+dnl ALL_CLASSES (m4_all_code is public)
+dnl |-- m4_interface_generator_common_dat.m4 (m4_init_class_definitions)
+dnl `-- ONE_CLASS (m4_one_class_code)
+dnl     |-- FILTER_PROCEDURES (m4_filter_all_procedures)
+dnl     |   `-- m4_interface_generator_common_dat.m4 (m4_group_names)
+dnl     |-- PATTERNS_TO_REPLACEMENTS (m4_replace_all_patterns_in_string)
+dnl     |-- PATTERNS (m4_pattern_annotation0, ...)
+dnl     |-- REPLACEMENT_TEXT (m4_annotated_pattern_replacement,
+dnl     |   |                 m4_def_replacements_for_extended_patterns,
+dnl     |   |                 m4_def_extended_replacements)
+dnl     |   |-- PATTERNS (m4_pattern_extension0, ...)
+dnl     |   `-- m4_interface_generator_common_dat.m4
+dnl     |         (m4_class_pattern_replacements)
+dnl     |-- m4_interface_generator_<interface>_procedure_generator.m4
+dnl     |    (m4_procedure_list)
+dnl     `-- EXPAND_PROCEDURES (m4_get_schematic_code)
+dnl
+dnl Note that the macro names indicate that they are used by the parent
+dnl macro group.
+dnl ---------------------------------------------------------------------
+
 dnl =====================================================================
-dnl ====== The following are application independent helper macros ======
+dnl           *** HELPERS ****
+dnl  The following are application independent helper macros
 dnl =====================================================================
 
+dnl All these helper macros are intended to be "PUBLIC"
+dnl except for auxiliary macros, labelled as "LOCAL".
+
 dnl m4_forloop(Iteration_Var, From_Value, To_Value, Loop_Body)
 dnl
 dnl Code copied from m4 documentation.
@@ -66,6 +116,13 @@ m4_define(`m4_capfirstletters',
          m4_regexp(`$1', `^\(\w\)\(\w*_\)\(\w\)\(\w*\)',
            `m4_upcase(`\1')`\2'm4_upcase(`\3')`\4''))')
 
+m4_define(`m4_changecase',
+  `m4_ifelse(m4_regexp(`$1', `[A-Z]'), -1,
+    m4_capfirstletters($1),
+    m4_downcase($1))`'dnl
+')
+
+
 dnl m4_add_one_after_underscore(String)
 dnl
 dnl Adds a 1 after any underscore (needed for Java interface code)..
@@ -96,6 +153,7 @@ dnl where Counter is the least index for which this holds.
 dnl Otherwise it expands to the empty string.
 m4_define(`m4_arg_counter', `m4_arg_counter_aux(1, $@)')
 
+dnl LOCAL
 m4_define(`m4_arg_counter_aux', `dnl
 m4_ifelse($#, 0, ,$#, 1, , $#, 2, ,
   $2, $3, $1,
@@ -134,9 +192,10 @@ dnl this macro is defined to be `a, b, d'.
 m4_define(`m4_seq_intersection', `dnl
 m4_define(`m4_add_one_first', 1)`'dnl
 m4_patsubst(m4_seq_intersection_aux(m4_1st_sequence),
-            @COMMA@, `, ')`'dnl
+            |COMMA|, `, ')`'dnl
 ')
 
+dnl LOCAL
 dnl m4_seq_intersection_aux(...)
 dnl
 dnl The arguments are the first sequence to be intersected.
@@ -150,6 +209,7 @@ m4_ifelse($#, 0, , $#, 1,
 `m4_seq_intersection_aux(m4_shift($@))')`'dnl
 ')
 
+dnl LOCAL
 dnl m4_3_seq_intersection_aux(String, ...)
 dnl
 dnl This is defined to be `String' if `String' also occurs
@@ -163,6 +223,7 @@ m4_ifelse($#, 0, , $#, 1, , $#, 2,
 `m4_3_seq_intersection_aux($1, m4_shift(m4_shift($@)))')')`'dnl
 ')
 
+dnl LOCAL
 dnl m4_2_seq_intersection_aux(String, ...)
 dnl
 dnl This is defined to be `String' if `String' also occurs
@@ -175,16 +236,16 @@ m4_ifelse($#, 0, , $#, 1, , $#, 2,
 `m4_2_seq_intersection_aux($1, m4_shift(m4_shift($@)))')')`'dnl
 ')
 
+dnl LOCAL
 dnl m4_add_one(String)
 dnl
-dnl This separates the new sequence temporarily with @COMMA@ to avoid
+dnl This separates the new sequence temporarily with |COMMA| to avoid
 dnl the `,' being mis-interpreted by m4.
 m4_define(`m4_add_one', `dnl
 m4_ifelse(m4_add_one_first, 1,
-  $1`'m4_undefine(`m4_add_one_first'), @COMMA@$1)`'dnl
+  $1`'m4_undefine(`m4_add_one_first'), |COMMA|$1)`'dnl
 ')
 
-
 dnl ----------------------------------------------------------------------
 dnl m4_seq_difference and helper macros
 dnl
@@ -193,24 +254,26 @@ dnl ----------------------------------------------------------------------
 dnl
 dnl m4_seq_difference
 dnl
+dnl CHECKME: Currently this macro is not used.
 dnl This macro with its helper macros below,
 dnl finds the difference of two sequences that must be previously defined
 dnl as `m4_1st_sequence', `m4_2nd_sequence'. The order of the
-dnl intersected sequence is that of m4_1st_sequence.
+dnl difference sequence is that of m4_1st_sequence.
 dnl
 dnl For example, if m4_1st_sequence is defined to be `a, b, c, d' and
 dnl m4_2nd_sequence is defined to be `d, e, a, f',
 dnl this macro is defined to be `b, c'.
 m4_define(`m4_seq_difference', `dnl
 m4_patsubst(m4_seq_difference_aux(m4_1st_sequence),
-            `^@COMMA@', `')`'dnl
+            `^|COMMA|', `')`'dnl
 ')
 m4_define(`m4_seq_differencexx', `dnl
 m4_patsubst(m4_patsubst(m4_seq_difference_aux(m4_1st_sequence),
-            `^@COMMA@', `'),
-            @COMMA@, `, ')`'dnl
+            `^|COMMA|', `'),
+            |COMMA|, `, ')`'dnl
 ')
 
+dnl LOCAL
 dnl m4_seq_difference_aux(...)
 dnl
 dnl The arguments are the first sequence to be intersected.
@@ -224,6 +287,7 @@ m4_ifelse($#, 0, , $#, 1,
 m4_seq_difference_aux(m4_shift($@))')`'dnl
 ')
 
+dnl LOCAL
 dnl m4_2_seq_difference_aux(String, ...)
 dnl
 dnl This is defined to be `String' if `String' does not occur
@@ -237,183 +301,210 @@ m4_ifelse($#, 0, , $#, 1, `m4_add_one($1)', $#, 2,
 ')
 
 dnl =====================================================================
-dnl ====== The following are application dependent macros: their meaning
-dnl ====== is influenced by the overall interface generator architecture.
+dnl              *** PATTERNS ***
+dnl Some processing that just involves the patterns themselves.
 dnl =====================================================================
 
+dnl ----------- General Info on Patterns --------------------------------
+dnl Each pattern can be plain, have an extension (eg "A_") and/or
+dnl be annotated by "!", and, for Java "1" where the
+dnl latter can be combined with a "!".
+dnl In the text being replaced, all patterns, extensions, and annotations
+dnl are in upper case and the complete pattern is bracketed by the pattern
+dnl delimiter.
+dnl ---------------------------------------------------------------------
+
+dnl PRIVATE
+dnl Used in macro-group "REPLACEMENT_TEXT"
+dnl
+dnl DEFAULT_DEF
+dnl m4_pattern_extension`'EIndex
+dnl
+dnl is defined for each allowed extension.
+dnl These options can be added to as needed by any of the generator files.
+dnl
+m4_define(`m4_pattern_extension0', `')
+m4_define(`m4_pattern_extension1', `A_')
+m4_define(`m4_pattern_extension2', `B_')
+
+dnl PRIVATE
+dnl Used in macro-group "PATTERNS_TO_REPLACEMENTS"
+dnl
+dnl m4_pattern_annotation`'AIndex
+dnl
+dnl is defined here for AIndex values 0 and 1.
+dnl - 0, which has the empty annotation,
+dnl   means that the actual replacement must be unchanged:
+dnl - 1, which has annotation !,
+dnl   means that the actual replacement must be:
+dnl   - lowercase, if the original has the first character uppercase, and
+dnl   - the first letter of each word ("_" separated) uppercase, otherwise.
+m4_define(`m4_pattern_annotation0', `')
+m4_define(`m4_pattern_annotation1', `!')
+
+dnl PUBLIC
+dnl m4_java_prefix_one_annotation
+dnl Only used by Java/jni/ppl_interface_generator_java_classes_cc_files.m4
+dnl as the extra annotations are only needed there.
+dnl PRIVATE
+dnl m4_pattern_annotation`'AIndex
+dnl Used in macro-group "PATTERNS_TO_REPLACEMENTS"
+dnl
+dnl m4_pattern_annotation`'AIndex is defined here for AIndex values 2 and 3:
+dnl - 2, which has annotation 1,
+dnl   means that the actual replacement must have a 1 after
+dnl   the underscore;
+dnl - 3, which has annotation 1!,
+dnl   means that the actual replacement must have a 1 after
+dnl   the underscore with the same change of case as for the annotation "!".
+m4_define(`m4_java_prefix_one_annotation',
+`m4_define(`m4_pattern_annotation2', `1')
+m4_define(`m4_pattern_annotation3', `1!')')
+
 dnl =====================================================================
-dnl ====== The next group of macros process the patterns in the code ====
+dnl              *** REPLACEMENT_TEXT ***
+dnl The precise replacing text is defined in
+dnl m4_interfaces_generator_common_dat.m4
+dnl We first retrieve this text by constructing the correct macro
+dnl for the extended pattern. We then define the additional text
+dnl processing needed based on the annotation of the pattern.
 dnl =====================================================================
 
-dnl m4_pattern_delimiter
-dnl
-dnl In case the pattern delimiter needs to be changed,
-dnl this is defined as a global variable
-m4_define(`m4_pattern_delimiter', `@')
-
-dnl m4_expand_pattern_by_one_replacement(Pattern, Index)
-dnl
-dnl Pattern       - is the pattern;
-dnl Index         - is the index of the replacement.
-dnl The delimited PATTERN is replaced by the Index'th argument in
-dnl m4_replacements.
-dnl Additional codes help provide the right form of the replacmement:
-dnl - alt_ means that the alternative replacement in m4_alt_replacements
-dnl must be used if one exists.
-dnl - cppx_ means that the alternative replacement in m4_cppx_replacements
-dnl must be used if one exists.
-dnl - when the alt_replace is NONE, then the code is replaced by the
-dnl   the empty string.
-dnl - U means that the alt_actual string must be capitalised at start
-dnl   of word and after "_".
-m4_define(`m4_expand_pattern_by_one_replacement', `dnl
+dnl LOCAL
+dnl DEFAULT_DEF
+dnl m4_replacement_extension`'EIndex
 dnl
-dnl m4_replace is the replacement for pattern
-m4_define(`m4_replace', `m4_arg($2, m4_replacements)')`'dnl
-dnl
-dnl m4_alt_replace is the replacement for alt_pattern
-m4_define(`m4_alt_replace', `m4_arg($2, m4_alt_replacements)')`'dnl
-dnl m4_alt_replace is the replacement for alt_pattern
-m4_define(`m4_cppx_replace', `m4_arg($2, m4_cppx_replacements)')`'dnl
-dnl
-m4_ifelse(m4_replace, NONE, `',
-          m4_alt_replace, NONE, `',
-m4_patsubst(m4_patsubst(m4_patsubst(m4_patsubst(
-            m4_patsubst(m4_patsubst(m4_patsubst(m4_patsubst(
-            m4_patsubst(m4_patsubst(m4_patsubst(m4_patsubst(
-            m4_patsubst(m4_patsubst(m4_patsubst(m4_patsubst(
-            m4_patsubst(m4_patsubst($1,
-  m4_pattern_delimiter`'1U`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_capfirstletters(m4_replace))),
-  m4_pattern_delimiter`'1L`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_downcase(m4_replace))),
-  m4_pattern_delimiter`'U`'PATTERN`'m4_pattern_delimiter,
-    m4_capfirstletters(m4_replace)),
-  m4_pattern_delimiter`'L`'PATTERN`'m4_pattern_delimiter,
-    m4_downcase(m4_replace)),
-  m4_pattern_delimiter`'1`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_replace)),
-  m4_pattern_delimiter`'1UALT_`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_capfirstletters(m4_alt_replace))),
-  m4_pattern_delimiter`'UALT_`'PATTERN`'m4_pattern_delimiter,
-    m4_capfirstletters(m4_alt_replace)),
-  m4_pattern_delimiter`'1LALT_`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_downcase(m4_alt_replace))),
-  m4_pattern_delimiter`'LALT_`'PATTERN`'m4_pattern_delimiter,
-    m4_downcase(m4_alt_replace)),
-  m4_pattern_delimiter`'1ALT_`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_alt_replace)),
-  m4_pattern_delimiter`'ALT_`'PATTERN`'m4_pattern_delimiter,
-    m4_alt_replace),
-  m4_pattern_delimiter`'1UCPPX_`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_capfirstletters(m4_alt_replace))),
-  m4_pattern_delimiter`'UCPPX_`'PATTERN`'m4_pattern_delimiter,
-    m4_capfirstletters(m4_alt_replace)),
-  m4_pattern_delimiter`'1LCPPX_`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_downcase(m4_alt_replace))),
-  m4_pattern_delimiter`'LCPPX_`'PATTERN`'m4_pattern_delimiter,
-    m4_downcase(m4_alt_replace)),
-  m4_pattern_delimiter`'1CPPX_`'PATTERN`'m4_pattern_delimiter,
-    m4_add_one_after_underscore(m4_alt_replace)),
-  m4_pattern_delimiter`'CPPX_`'PATTERN`'m4_pattern_delimiter,
-    m4_cppx_replace),
-  m4_pattern_delimiter`'PATTERN`'m4_pattern_delimiter,
-    m4_replace)`'dnl
-)`'dnl
+dnl is defined for each allowed extension EIndex.
+dnl This should correspond in lowercase to m4_pattern_extension.
 dnl
-m4_undefine(`m4_replace')`'dnl
-m4_undefine(`m4_alt_replace')`'dnl
-')
+m4_define(`m4_replacement_extension0', `')
+m4_define(`m4_replacement_extension1', `a_')
+m4_define(`m4_replacement_extension2', `b_')
 
-dnl m4_expand_pattern_by_replacements(Pattern, Index)
+dnl PRIVATE
+dnl Used in macro-group "PATTERNS_TO_REPLACEMENTS".
 dnl
-dnl Pattern       - is the pattern;
-dnl Index         - is the index of the replacement.
-dnl This iteratively calls m4_expand_pattern_by_one_replacement/2 to replace
-dnl a delimited form of PATTERN by the Index'th argument in m4_replacements
-dnl or m4_alt_replacements.
-m4_define(`m4_expand_pattern_by_replacements', `dnl
-m4_ifelse($2, m4_nargs(m4_replacements),
-  `m4_expand_pattern_by_one_replacement($1, $2)',
-  `dnl
-m4_expand_pattern_by_one_replacement($1, $2)`'dnl
-m4_expand_pattern_by_replacements($1, m4_incr($2))')`'dnl
+dnl m4_def_replacements_for_extended_patterns(RIndex, EIndex)
+dnl m4_replace`'EIndex
+dnl
+dnl RIndex         - is the index of the replacement;
+dnl EIndex         - is the index of the extension.
+dnl For each possible EIndex value, m4_replace`'EIndex
+dnl is defined for the RIndex replacement.
+dnl
+m4_define(`m4_def_replacements_for_extended_patterns', `dnl
+m4_ifdef(`m4_pattern_extension$2',
+  `m4_define(`m4_replace$2',
+    `m4_arg($1, m4_replacements$2)')`'dnl
+m4_def_replacements_for_extended_patterns($1, m4_incr($2))`'dnl
+')`'dnl
 ')
 
-dnl m4_replace_one_pattern_in_string(Class_Number, String, Pattern)
+dnl PRIVATE
+dnl Used in macro-group "PATTERNS_TO_REPLACEMENTS".
 dnl
-dnl Class_Number  - is the index to Class in Class_List;
-dnl String        - is the code to be changed;
-dnl Pattern       - is the pattern to be replaced;
-dnl Replaces all occurrences of the capitalised form of Pattern
-dnl in String by the required replacement
-dnl (determined both by the class kind of Class and Pattern).
-m4_define(`m4_replace_one_pattern_in_string', `dnl
+dnl m4_annotated_pattern_replacement`'AIndex(EIndex)
 dnl
-dnl the PATTERN (in uppercase) is the string to be replaced.
-m4_define(`PATTERN', m4_upcase($3))`'dnl
+dnl where AIndex in {0..3}
+dnl Note that annotations 2 and 3 are only used by the Java interface.
 dnl
-dnl m4_replacements is the replacement list for the pattern.
-m4_define(`m4_replacements', `dnl
-m4_class_pattern_replacement($1, $3, `')')`'dnl
+dnl EIndex         - is the index of the extension.
 dnl
-dnl m4_alt_replacements is the alternative replacement list for pattern.
-m4_define(`m4_alt_replacements', `dnl
-m4_class_pattern_replacement($1, $3, `_alt')')`'dnl
+dnl For each annotation and, for the single replacement
+dnl m4_replace`'EIndex (already defined for the current pattern),
+dnl this macro defines an exact replacement string to be used to
+dnl replace the annotated and extended pattern.
 dnl
-dnl m4_cppx_replacements is the cplusplus replacement list for pattern.
-m4_define(`m4_cppx_replacements', `dnl
-m4_class_pattern_replacement($1, $3, `_cppx')')`'dnl
+m4_define(`m4_annotated_pattern_replacement0',
+  `m4_replace$1')
+m4_define(`m4_annotated_pattern_replacement1',
+  `m4_changecase(m4_replace$1)')
+m4_define(`m4_annotated_pattern_replacement2',
+  `m4_add_one_after_underscore(m4_replace$1)')
+m4_define(`m4_annotated_pattern_replacement3',
+  `m4_add_one_after_underscore(m4_changecase(m4_replace$1))')
+
+dnl PRIVATE
+dnl Used in macro-group "PATTERNS_TO_REPLACEMENTS".
 dnl
-m4_ifelse(m4_index(`$2', PATTERN), `-1', $2, `dnl
-m4_expand_pattern_by_replacements($2, 1)')`'dnl
+dnl m4_def_extended_replacements(Class_Counter, Pattern, EIndex)
+dnl m4_replacements`'EIndex
 dnl
-m4_undefine(`PATTERN')`'dnl
-m4_undefine(`m4_replacements')`'dnl
-m4_undefine(`m4_alt_replacements')`'dnl
-m4_undefine(`m4_cppx_replacements')`'dnl
-')
-
-dnl m4_replace_all_patterns_in_string(
-dnl    Class_Number, String, Pattern1, Pattern2, ...)
+dnl Class_Counter    - The current class counter;
+dnl Pattern          - The current pattern;
+dnl EIndex           - is the index of the replacement macro name extension.
 dnl
-dnl A (recursive) macro to replace, inside the second argument String,
-dnl all of the patterns listed from the third argument onwards.
-m4_define(`m4_replace_all_patterns_in_string', `dnl
-m4_ifelse($3, `', ``$2'',
-       `m4_replace_all_patterns_in_string($1,
-                                m4_replace_one_pattern_in_string($1, $2, $3),
-                                m4_shift(m4_shift(m4_shift($@))))')`'dnl
+dnl m4_replacements`'EIndex is defined to be the list
+dnl of the replacements for Pattern with the EIndex extension
+dnl and for the class indicated by Class_Counter.
+dnl This uses m4_class_pattern_replacements/3 that is defined in
+dnl ppl_interface_generator_common_dat.m4 and uses the data for
+dnl the replacements defined in the same file.
+dnl
+m4_define(`m4_def_extended_replacements', `dnl
+m4_ifdef(m4_replacement_extension`'$3, `dnl
+m4_define(`m4_replacements$3',
+  `m4_class_pattern_replacements($1, $2, m4_replacement_extension$3)`'dnl
+m4_def_extended_replacements($1, $2, m4_incr($3))')')`'dnl
 ')
 
 dnl =====================================================================
-dnl ====== The next macros deal with instantiating the schematic code ===
-dnl ====== and also generates lists of names augmented with extensions. =
+dnl              *** EXPAND_PROCEDURES ***
+dnl  The next macros deal with expanding the schematic procedures.
 dnl =====================================================================
 
-
+dnl LOCAL
 dnl m4_get_arity(Procedure_Flags)
 dnl
-dnl Procedure_Flags - The schematic code flags;
+dnl Procedure_Flags - The schematic code flags.
+dnl
 dnl If the substring "/Arity" is found in the Procedure_Flags,
 dnl this macro expands to Arity.
 m4_define(`m4_get_arity', `m4_regexp(`$1', `/\([0-9]*\)', \1)')
 
+dnl LOCAL
 dnl m4_get_attribute(Procedure_Flags)
 dnl
-dnl Procedure_Flags - The schematic code flags;
+dnl Procedure_Flags - The schematic code flags.
+dnl
 dnl If the substring "*nofail" is found in the Procedure_Flags,
 dnl this macro expands to "nofail"
 dnl This is only needed for the Ciao system code.
 m4_define(`m4_get_attribute', `m4_regexp(`$1', `\*\(nofail\)', \1)')
 
-dnl m4_extension(Procedure_Name, [Arity, Attribute], Start_Flag)
+dnl We next define the default values for two extra macros
+dnl giving us more dynamic control by the individual code generators.
+
+dnl LOCAL
+dnl DEFAULT DEF
+dnl m4_procedure_schema_extension
+dnl
+dnl Normally, the procedure schema is defined using the extension `code'
+dnl but in the (Prolog) documentation this is varied according to the type of
+dnl the procedure.
+m4_define(`m4_procedure_schema_extension', `code')
+
+dnl LOCAL
+dnl DEFAULT DEF
+dnl m4_procedure_schema_debug
+dnl
+dnl the default is to do nothing;
+dnl However, by locally defining this to be
+dnl m4_dumpdef($1, m4_procedure_schema_extension, we can check
+dnl that all the procedure schemas are defined with the given extension.
+m4_define(`m4_procedure_schema_debug', `')
+
+dnl LOCAL
+dnl DEFAULT DEF
+dnl m4_expanded_procedure_schema(Procedure_Name,
+dnl                              [Arity, Attribute],
+dnl                              Start_Flag)
 dnl
 dnl Procedure_Name - The schematic name;
 dnl Arity          - The arity of the procedure;
 dnl Attribute      - The attribute `nofail' or `';
-dnl Start_Flag     - 0 suppresses any separator.
-dnl                  (Needed for expanding Prolog lists of atoms etc.).
+dnl Start_Flag     - 0 suppresses any separator
+dnl                  (needed for expanding a comma separated list).
 dnl
 dnl The default definition.
 dnl Appends "_code" to Procedure_Name so that it can match the name
@@ -426,74 +517,50 @@ dnl (e.g., in the Prolog system files).
 dnl
 dnl Note: the macro `$1_code' has to be called using builtin `indir'
 dnl because it is not a legal m4 identifier (it contains `@').
-m4_define(`m4_default_code', `')
-m4_define(`m4_extension', `m4_ifdef(`$1_code', `m4_indir(`$1_code')',
-  `m4_default_code($1)')`'dnl
+dnl
+dnl Some test generators and the Prolog system file generators redefine this
+dnl macro to construct the code directly from the schema name, arity
+dnl and its attributes.
+m4_define(`m4_expanded_procedure_schema',
+  `m4_ifdef($1_`'m4_procedure_schema_extension,
+            `m4_indir($1_`'m4_procedure_schema_extension)',
+            `m4_procedure_schema_debug($1)')`'dnl
 ')
 
+dnl PRIVATE
+dnl Used in macro-group "ONE_CLASS".
+dnl
 dnl m4_get_schematic_code(Procedure_Spec, Start_Flag, Class_Kind)
 dnl
 dnl Procedure_Spec - The schematic procedure name, complete with any flags;
-dnl Start_Flag     - 0 suppresses any separator.
-dnl                  (Needed for expanding Prolog lists of atoms etc.).
-dnl Class_Kind     - The current class kind;
-dnl Procedure_Spec has the flags removed and expanded to
-dnl the extended code.
+dnl Start_Flag     - 0 suppresses any separator
+dnl                  (needed for expanding a comma separated list);
+dnl Class_Kind     - The current class kind.
+dnl
+dnl Procedure_Spec has the flags removed and expanded to the extended code.
 m4_define(`m4_get_schematic_code', `dnl
 m4_patsubst(`$1',
          `[ ]*\(ppl_[^ /]+\)\(.*\)',
-         `m4_extension(\1, m4_get_arity(\2), m4_get_attribute(\2), $2, $3)')')
-
-dnl m4_replace_procedure_spec_by_code(Class_Number, Procedure_Spec)
-dnl
-dnl Class_Number   - The current class counter.
-dnl Procedure_Spec - The schematic procedure name, complete with any flags;
-dnl The procedure specification is replaced with the code and then
-dnl the patterns in the code are replaced by the required replacements.
-dnl
-dnl Note: one schematic specification will replaced by a single
-dnl matching schematic code item; which is then replaced by several
-dnl instances.
-m4_undefine(`m4_replace_procedure_spec_by_code')
-m4_define(`m4_replace_procedure_spec_by_code', `dnl
-m4_patsubst(`$2', `\(.*\)', `dnl
-m4_replace_all_patterns_in_string($1,
-  m4_get_schematic_code(\1, 1, $1),
-    m4_pattern_list)')`'dnl
-')
-
-dnl m4_replace_all_procedure_specs_by_code(Class_Number,
-dnl                            Procedure_Spec1, Procedure_Spec2, ...)
-dnl
-dnl Class_Number    - The current class counter.
-dnl Procedure_Spec1 - A schematic procedure name;
-dnl ...
-dnl Procedure_Speck - A schematic procedure name
-dnl Each name from the second argument onwards is replaced
-dnl with the code and then the schema patterns in the code
-dnl are replaced by the various instances.
-m4_define(`m4_replace_all_procedure_specs_by_code', `dnl
-m4_ifelse($#, 0, , $#, 1, ,
-       $#, 2, `m4_replace_procedure_spec_by_code($1, $2)',
-       `dnl
-m4_replace_procedure_spec_by_code($1, $2)`'dnl
-m4_replace_all_procedure_specs_by_code($1, m4_shift(m4_shift($@)))`'dnl
-')dnl
+         `m4_expanded_procedure_schema(\1, m4_get_arity(\2),
+                                       m4_get_attribute(\2), $2, $3)')`'dnl
 ')
 
 dnl =====================================================================
+dnl              *** FILTER_PROCEDURES ***
 dnl ====== The next set of macros filter the procedure specifications   =
 dnl ====== according to the +/-group names in the extra flags in the    =
 dnl ====== procedure specification.                                     =
 dnl =====================================================================
 
+dnl LOCAL
 dnl m4_keep_or_throw_for_one_group(
-dnl     Class__Counter, Procedure_Spec, +_or_-, Group)
+dnl     Class_Counter, Procedure_Spec, +_or_-, Group)
 dnl
 dnl Class_Counter   - The current class counter;
 dnl Procedure_Spec  - A schematic procedure name with flags still attached;
 dnl +_or_-          - + or -;
 dnl Group           - A group name.
+dnl
 dnl This checks if Class_Kind is in the list of class kinds defined
 dnl by Group (in ppl_interface_generator_common_dat.m4);
 dnl if it is, it checks if +Group or -Group
@@ -504,6 +571,7 @@ m4_ifelse(m4_arg_counter($1, m4_$4_group), `', 0,
   `m4_ifelse(m4_index($2, $3$4), -1, 0, 1)')`'dnl
 ')
 
+dnl LOCAL
 dnl m4_keep_or_throw(
 dnl     Class_Counter, Procedure_Spec, +_or_-, Group1, Group2, ...)
 dnl
@@ -521,10 +589,12 @@ m4_ifelse($#, 0, 0, $#, 1, 0, $#, 2, 0, $#, 3, 0,
                        m4_shift(m4_shift(m4_shift(m4_shift($@)))))')')`'dnl
 ')
 
+dnl LOCAL
 dnl m4_filter_one_procedure(Class_Counter, Procedure_Spec)
- dnl
+dnl
 dnl Class_Counter   - The current class counter;
-dnl Procedure_Spec  - A schematic procedure name with flags still attached;
+dnl Procedure_Spec  - A schematic procedure name with flags still attached.
+dnl
 dnl Keeps just those procedures that are wanted for the given class kind.
 dnl It first checks if there is a group in Procedure_Spec, whose
 dnl definition includes the Class_Kind, preceded by a "-",
@@ -553,6 +623,9 @@ m4_ifelse(m4_keep_or_throw(m4_class_kind$1,
 m4_undefine(m4_proc_info_string)`'dnl
 ')
 
+dnl PRIVATE
+dnl Used in macro-group "ONE_CLASS".
+dnl
 dnl m4_filter_all_procedures(Class_Counter, keep_or_throw_flag,
 dnl                         Procedure_Spec1, ProcedureSpec2, ...)
 dnl
@@ -582,21 +655,201 @@ m4_filter_all_procedures($1, $2, m4_shift(m4_shift(m4_shift($@))))`'dnl
 ')
 
 dnl =====================================================================
-dnl ====== The next set of macros process a single class.   =============
+dnl              *** PATTERNS_TO_REPLACEMENTS ***
+dnl The string has all its patterns replaced by the corresponding
+dnl replacements. If there are several alternative replacements
+dnl then several versions of the pattern-replaced string are generated.
 dnl =====================================================================
 
+dnl LOCAL
+dnl m4_annotated_extended_pattern_replacement(String, EIndex, AIndex)
+dnl
+dnl String        - is the string that has the patterns for replacing;
+dnl EIndex        - is the index of the extension;
+dnl AIndex        - is the index of the annotation.
+dnl
+dnl One pattern with an optional extension and annotation is replaced
+dnl by the corresponding replacement.
+dnl This is the key inner step for each string
+dnl (usually this string is the expanded procedure schema).
+dnl
+m4_define(`m4_annotated_extended_pattern_replacement', `dnl
+m4_ifdef(`m4_pattern_annotation$3',
+  `m4_define(`m4_annotated_extended_pattern',
+        m4_pattern_annotation$3`'m4_extended_pattern)`'dnl
+m4_annotated_extended_pattern_replacement(m4_patsubst($1,
+  @`'m4_annotated_extended_pattern`'@,
+  m4_annotated_pattern_replacement$3($2)), $2, m4_incr($3))',
+  `$1')`'dnl
+')
+
+dnl LOCAL
+dnl m4_expand_pattern_by_one_replacement(String, RIndex)
+dnl
+dnl String        - is the string;
+dnl RIndex        - is the index of the replacement.
+dnl
+dnl The patterns in the string are replaced by the replacement
+dnl indexed by RIndex.
+dnl
+dnl It first defines the m4_replace`'EIndex macros for each EIndex
+dnl extension using the macro m4_def_replacements_for_extended_patterns/2.
+dnl If m4_replace0 is defined to be different from "NONE",
+dnl the macro m4_expand_pattern_by_one_replacement_aux/2 is called
+dnl to do the replacements, iterating through the extensions.
+dnl When m4_replace0 is NONE, then the code is replaced by the
+dnl the empty string.
+dnl
+m4_define(`m4_expand_pattern_by_one_replacement', `dnl
+m4_def_replacements_for_extended_patterns($2, 0)`'dnl
+m4_ifelse(m4_replace0, NONE, `',
+  m4_expand_pattern_by_one_replacement_aux($1, 0)`'dnl
+)`'dnl
+')
+
+dnl LOCAL
+dnl m4_expand_pattern_by_one_replacement_aux(String, EIndex)
+dnl m4_extended_pattern(EIndex)
+dnl
+dnl String        - is the string;
+dnl EIndex        - is the index of the pattern extension.
+dnl
+dnl Iterates through EIndex values, defining m4_extended_pattern(EIndex)
+dnl and calling an auxiliary macro to replace the (delimited, possibly
+dnl extended and annotated) m4_PATTERN in String.
+dnl
+dnl If there are no replacements for EIndex, stop the replacements.
+dnl
+m4_define(`m4_expand_pattern_by_one_replacement_aux', `dnl
+m4_ifelse(`m4_replacements$2', `', `$1',
+   `m4_ifdef(`m4_pattern_extension$2',
+   `m4_define(`m4_extended_pattern', m4_pattern_extension$2`'m4_PATTERN)`'dnl
+m4_expand_pattern_by_one_replacement_aux(
+    m4_annotated_extended_pattern_replacement($1, $2, 0),
+       m4_incr($2))',
+   `$1')`'dnl
+')`'dnl
+')
+
+dnl LOCAL
+dnl m4_expand_pattern_by_all_replacements(String, RIndex)
+dnl
+dnl String        - is the string;
+dnl RIndex        - is the index of the replacement.
+dnl
+dnl This iteratively calls m4_expand_pattern_by_one_replacement/2 to replace
+dnl (a delimited form of possibly extended and annotated) m4_PATTERN by the
+dnl arguments of m4_replacements`'RIndex.
+m4_define(`m4_expand_pattern_by_all_replacements', `dnl
+m4_ifelse($2, m4_nargs(m4_replacements0),
+  m4_expand_pattern_by_one_replacement($1, $2),
+  `m4_expand_pattern_by_one_replacement($1, $2)`'dnl
+m4_expand_pattern_by_all_replacements($1, m4_incr($2))')`'dnl
+')
+
+dnl LOCAL
+dnl m4_replace_one_pattern_in_string(Class_Number, String, Pattern)
+dnl
+dnl Class_Number  - is the index to Class in Class_List;
+dnl String        - is the code to be changed;
+dnl Pattern       - is the pattern to be replaced.
+dnl
+dnl Replaces all occurrences of the capitalised form of Pattern
+dnl in String by the required replacement
+dnl (determined both by the class kind of Class and Pattern).
+m4_define(`m4_replace_one_pattern_in_string', `dnl
+dnl the m4_PATTERN (in uppercase) is the string to be replaced.
+m4_define(`m4_PATTERN', m4_upcase($3))`'dnl
+m4_def_extended_replacements($1, $3, 0)`'dnl
+m4_expand_pattern_by_all_replacements($2, 1)`'dnl
+dnl Cleanup temporary definitions.
+m4_undefine(`m4_PATTERN')`'dnl
+')
+
+dnl PUBLIC
+dnl Used in macro-group "ONE_CLASS" and by other m4 generator files.
+dnl
+dnl m4_replace_all_patterns(Class_Number, String)
+dnl
+dnl A (recursive) macro to replace, inside the second argument String,
+dnl all of the patterns.
+dnl
+dnl This is public because it is used by some code generators to replace
+dnl patterns used in some additional text provided locally.
+m4_define(`m4_replace_all_patterns', `dnl
+m4_define(`m4_ann_ext_pattern_in_string',
+  `m4_regexp($2, `[.]*@[^@_A-Z]*\([_A-Z]+\)@.*', `\1')')`'dnl
+m4_ifelse(m4_ann_ext_pattern_in_string, `', $2,
+  `m4_replace_all_patterns($1,
+    m4_replace_one_pattern_in_string($1, $2,
+      m4_downcase(m4_patsubst(m4_ann_ext_pattern_in_string, ^[A-E]_, `'))))')
+')
+
+dnl =====================================================================
+dnl              *** ONE_CLASS ***
+dnl   The next set of macros process a single class.
+dnl =====================================================================
+
+dnl LOCAL
+dnl m4_replace_procedure_spec_by_code(Class_Number, Procedure_Spec)
+dnl
+dnl Class_Number   - The current class counter;
+dnl Procedure_Spec - The schematic procedure name, complete with any flags.
+dnl
+dnl The procedure specification is replaced with the code and then
+dnl the patterns in the code are replaced by the required replacements.
+dnl
+dnl Note: one schematic specification will replaced by a single
+dnl matching schematic code item; which is then replaced by several
+dnl instances.
+m4_define(`m4_replace_procedure_spec_by_code', `dnl
+m4_patsubst(`$2', `\(.*\)', `dnl
+m4_replace_all_patterns($1,
+  m4_get_schematic_code(\1, 1, $1))')`'dnl
+')
+
+dnl LOCAL
+dnl m4_replace_all_procedure_specs_by_code(Class_Number,
+dnl                            Procedure_Spec1, Procedure_Spec2, ...)
+dnl
+dnl Class_Number    - The current class counter;
+dnl Procedure_Spec1 - A schematic procedure name;
+dnl ...
+dnl Procedure_Speck - A schematic procedure name.
+dnl
+dnl Each name from the second argument onwards is replaced
+dnl with the code and then the schema patterns in the code
+dnl are replaced by the various instances.
+m4_define(`m4_replace_all_procedure_specs_by_code', `dnl
+m4_ifelse($#, 0, , $#, 1, ,
+       $#, 2, `m4_replace_procedure_spec_by_code($1, $2)',
+       `dnl
+m4_replace_procedure_spec_by_code($1, $2)`'dnl
+m4_replace_all_procedure_specs_by_code($1, m4_shift(m4_shift($@)))`'dnl
+')dnl
+')
+
+dnl LOCAL
+dnl DEFAULT DEF
+dnl
 dnl m4_pre_extra_class_code(Class_Counter)
 dnl m4_post_extra_class_code(Class_Counter)
 dnl
-dnl Class_Counter   - The index for the current class;
+dnl Class_Counter   - The index for the current class.
+dnl
 dnl Default (empty) definitions for pre- and post- code for each class.
 dnl These should be redefined as needed.
 m4_define(`m4_pre_extra_class_code', `')
 m4_define(`m4_post_extra_class_code', `')
 
+dnl PRIVATE
+dnl Used by macro-group "ALL_CLASSES".
+dnl
+dnl DEFAULT DEF
 dnl m4_one_class_code(Class_Counter)
 dnl
-dnl Class_Counter   - The index for the current class;
+dnl Class_Counter   - The index for the current class.
+dnl
 dnl First, any necessary prefix code for the procedures in
 dnl that class is added.
 dnl Then, the main procedure input list is filtered according to
@@ -607,6 +860,7 @@ dnl Then a macro sets the class and other schematic components.
 dnl Finally, any necessary postfix code for the procedures in
 dnl that class is added.
 m4_define(`m4_one_class_code', `dnl
+dnl m4_this_class_stuff($1)`'dnl
 m4_pre_extra_class_code($1)`'dnl
 m4_define(`m4_filtered_proc_list',
        `m4_filter_all_procedures($1, 1, m4_procedure_list)')`'dnl
@@ -616,58 +870,55 @@ m4_post_extra_class_code($1)`'dnl
 ')
 
 dnl =====================================================================
-dnl === The final set of macros process all the classes, one at a time. =
+dnl              *** ALL_CLASSES ***
+dnl  The final set of macros process all the classes, one at a time.
 dnl =====================================================================
 
+dnl LOCAL
+dnl m4_pre_all_classes_code
+dnl
+dnl Default (empty) definitions for code that must be placed before all
+dnl the generated code.
+dnl This is required for code that depends on the instantiated classes
+dnl (so must be generated from a schema) but has to be included before
+dnl all classes (as in ppl_prolog_icc.m4).
+m4_define(`m4_pre_all_classes_code', `')
+
+dnl LOCAL
 dnl m4_all_classes_code(Class_Counter)
 dnl
 dnl Class_Counter   - The index for the current class;
 dnl This iterates through the classes to generate the code.
 dnl The actual code for each class is generated by m4_one_class_code.
-dnl The generated code then has the pattern "@COMMA@" replaced by ",".
+dnl The generated code then has the pattern "|COMMA|" replaced by ",".
 m4_define(`m4_all_classes_code', `dnl
 m4_ifdef(m4_interface_class`'$1,
-`m4_patsubst(m4_one_class_code($1), @COMMA@, `,')`'dnl
+  `m4_patsubst(m4_one_class_code($1), `|COMMA|', `,')`'dnl
 m4_all_classes_code(m4_incr($1))')`'dnl
 ')
 
-dnl m4_pre_all_classes_code
-dnl
-dnl Default (empty) definitions for code that must be placed before all
-dnl the generated code.
-dnl This is required for code that depends on the instantiated classes
-dnl (so must be generated from a schema) but has to be included before
-dnl all classes (as in ppl_prolog_icc.m4).
-m4_define(`m4_pre_all_classes_code', `')
-
+dnl LOCAL
 dnl m4_class_definitions_initialized/0
 dnl
 dnl Avoids initializing the class macro definitions more than once
 dnl when the main macro m4_all_code/0 is called more than once in a
 dnl file generation.
-m4_define(`m4_class_definitions_initialized', `false')
+m4_define(`m4_class_initialized', `false')
 
+m4_define(`m4_initialize_all', `dnl
+m4_init_class_definitions`'dnl
+m4_define(`m4_class_initialized', `true')`'dnl
+')
+
+dnl PUBLIC
 dnl m4_all_code
 dnl
-dnl This initializes the macros for the classes requested by the user
-dnl (which is determined by the configuration).
-dnl
 dnl The macros for names of the classes are first initialized:
-dnl The interface class names are m4_interface_class`'Class_Counter;
-dnl the class kind by m4_class_kind`'Class_Counter;
-dnl the cplusplus class name by m4_cplusplus_class`'Class_Counter.
 dnl
 dnl The main loop macro m4_all_classes_loop is called to generate
 dnl code for all the required classes.
 m4_define(`m4_all_code', `dnl
-dnl
-dnl Provides the class name macro definitions if not
-dnl already initialized
-m4_ifelse(m4_class_definitions_initialized, `false',
-  `m4_init_class_definitions', `')`'dnl
-dnl
-dnl then adds the extra code for all classes
+m4_ifelse(m4_class_initialized, `false', `m4_initialize_all')`'dnl
 m4_pre_all_classes_code`'dnl
-dnl and then generates code for each class.
 m4_all_classes_code(1)`'dnl
 ')
diff --git a/interfaces/ppl_interface_generator_common_dat.m4 b/interfaces/ppl_interface_generator_common_dat.m4
index 07066db..d1f1cfa 100644
--- a/interfaces/ppl_interface_generator_common_dat.m4
+++ b/interfaces/ppl_interface_generator_common_dat.m4
@@ -5,7 +5,7 @@ dnl - processing the class list in ppl_interface_instantiations.m4;
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -54,7 +54,6 @@ dnl generated for any one file.
 m4_define(`m4_init_class_definitions', `dnl
 m4_init_interface_classes(m4_interface_classes_names)`'dnl
 m4_init_cplusplus_classes(m4_cplusplus_classes_names)`'dnl
-m4_define(`m4_class_definitions_initialized', `true')`'dnl
 ')
 dnl ---------------------------------------------------------------------
 dnl =====  any extra macros needed for both interfaces and          =====
@@ -118,7 +117,7 @@ dnl m4_init_cplusplus_classes(Class_List)
 dnl
 dnl Parses the "@"-separated list of class names Class_List
 dnl to be used in the C++ code implementing the interface procedures.
-dnl Note that first the "," is replaced by "COMMA" using the macro
+dnl Note that first the "," is replaced by |COMMA| using the macro
 dnl m4_subst_comma because the ',' in the product class is wrongly
 dnl parsed by m4.
 dnl First all the macros m4_cplusplus_class`'Class_Counter
@@ -140,7 +139,7 @@ dnl provided by the configuration.
 dnl As the product classes have their arguments ","-separated,
 dnl the "," separates the list into macro arguments.
 dnl This macro iterates through these macro arguments, replacing the
-dnl "," by "COMMA" so that the C++ names are handled as intended.
+dnl "," by |COMMA| so that the C++ names are handled as intended.
 m4_define(`m4_subst_comma',
 `m4_ifelse($#, 0, , $#, 1, $1,
   `$1`'COMMA`'m4_subst_comma(m4_shift($@))')')
@@ -152,13 +151,13 @@ dnl Class_List    - is a tail part of the input list of cplusplus
 dnl                 class names.
 dnl The macro calls m4_init_cplusplus_names to define the
 dnl cplusplus names (which calls this macro recursively).
-dnl The COMMA pattern is revised to @COMMA@ as soon as a class name
+dnl The COMMA pattern is revised to |COMMA| as soon as a class name
 dnl has been separated from the @-separated list of classes.
 m4_define(`m4_init_cplusplus_classes_aux', `dnl
 m4_ifelse($2, `',  `',
   m4_regexp(`$2', `\([^@]+\)@?\(.*\)',
     `m4_init_cplusplus_names(`$1',
-      m4_patsubst(\1, COMMA, @COMMA@), `\2')'))`'dnl
+      m4_patsubst(\1, COMMA, |COMMA|), `\2')'))`'dnl
 ')
 
 dnl m4_init_cplusplus_names(Class_Counter, Class, Class_List)
@@ -220,11 +219,11 @@ dnl and "2nd" component:
 dnl Thus for Direct_Product<Grid,BD_Shape<long> > with Class_Counter = 5
 dnl and interface names Product_BD_Shape_long
 dnl with Grid and BD_Shape_long for the components:
-dnl m4_cplusplus_class5 = Direct_Product<Grid at COMMA@BD_Shape<long> >
+dnl m4_cplusplus_class5 = Direct_Product<Grid|COMMA|BD_Shape<long> >
 dnl m4_interface_class5 = Direct_Product_Grid_BD_Shape_long
 dnl m4_class_kind5 = Direct_Product
 dnl m4_class_group5 = product
-dnl m4_class_body5 = Grid at COMMA@BD_Shape<long>
+dnl m4_class_body5 = Grid|COMMA|BD_Shape<long>
 dnl m4_class_body_1st5 = Grid
 dnl m4_cplusplus_class_body_1st5 = Grid
 dnl m4_interface_class_body_1st5 = Grid
@@ -369,9 +368,9 @@ dnl                 determines the precise component it refers to.
 dnl
 m4_define(`m4_parse_body_for_product', `dnl
 m4_define(`m4_$2_body_1st$1',
-  `m4_regexp(m4_$2_body$1, `\([^@]*\).*', `\1')')`'dnl
+  `m4_regexp(m4_$2_body$1, `\([^|]*\).*', `\1')')`'dnl
 m4_define(`m4_$2_body_2nd$1',
-  `m4_regexp(m4_$2_body$1, `\([^@]*\)@COMMA@\(.*\)', `\2')')`'dnl
+  `m4_regexp(m4_$2_body$1, `\([^@]*\)|COMMA|\(.*\)', `\2')')`'dnl
 m4_define(`m4_interface_$2_body_1st$1',
   m4_interface_class`'m4_get_class_counter(m4_$2_body_1st$1))`'dnl
 m4_define(`m4_cplusplus_$2_body_1st$1', m4_$2_body_1st$1)`'dnl
@@ -496,48 +495,43 @@ dnl m4_pattern_list
 dnl
 dnl Returns a list of patterns (in lowercase) used for the generation
 dnl of procedure names and code schemas.
+dnl This is no longer used as a macro but is a list of all patterns.
 m4_define(`m4_pattern_list', `dnl
 class,
-cpp_class,
-cppdef_class,
-friend,
-intopology,
 topology,
-classtopology,
-cpp_disjunct,
-disjunct,
+friend,
 build_represent,
-get_represent,
-refine_represent,
-relation_represent,
-add_represent,
-superclass,
-recycle,
 dimension,
-generator,
-partition,
-point,
-constrainer,
+relation_represent,
+class_represent,
 has_property,
 simplify,
 abovebelow,
 maxmin,
-embedproject,
-affimage,
 comparison,
+refine_represent,
 binop,
 binminop,
 ub_exact,
-disjunct_extrapolation,
-disjunct_widen,
-widenexpn,
+affimage,
+embedproject,
+membytes,
 widen,
-extrapolation,
-narrow,
 limitedbounded,
-incdec,
+widenexpn,
+extrapolation,
 beginend,
-membytes')
+incdec,
+partition,
+disjunct_widen,
+recycle,
+cpp_class,
+generator,
+point,
+constrainer,
+disjunct,
+disjunct_topology,
+disjunct_extrapolation')
 
 dnl ---------------------------------------------------------------------
 dnl Define the replacement macros for all patterns
@@ -547,7 +541,7 @@ dnl m4_class_pattern_replacement(Class_Counter, Pattern, Replacement_Id)
 dnl
 dnl Class_Counter:  counter of class for which we want the replacements.
 dnl Pattern:        pattern to be replaced (lower-case);
-dnl Replacement_Id: Can be the empty string, `_alt' or `_cppx'
+dnl Replacement_Id: Can be the empty string, `a_' or `b_'
 dnl                 depending on the required group of replacements.
 dnl
 dnl To find any sequence of replacements the macro
@@ -555,12 +549,13 @@ dnl "m4_replace_one_pattern_in_string"
 dnl defined in "m4_interface_generators_common.m4"
 dnl calls this macro.
 dnl
-m4_define(`m4_class_pattern_replacement', `dnl
-  m4_ifdef(m4_`'m4_class_kind$1`'_$2$3_replacement,
-    m4_`'m4_class_kind$1`'_$2$3_replacement($1),
-    `m4_ifdef(m4_`'m4_class_group$1`'_$2$3_replacement,
-       m4_`'m4_class_group$1`'_$2$3_replacement($1),
-       `m4_$2$3_replacement($1)')')`'dnl
+m4_define(`m4_class_pattern_replacements', `dnl
+  m4_ifdef(m4_`'m4_class_kind$1`'_$3$2_replacements,
+    m4_`'m4_class_kind$1`'_$3$2_replacements($1),
+    `m4_ifdef(m4_`'m4_class_group$1`'_$3$2_replacements,
+       m4_`'m4_class_group$1`'_$3$2_replacements($1),
+       `m4_ifdef(`m4_$3$2_replacements',
+          `m4_$3$2_replacements($1)')')')`'dnl
 ')
 
 dnl =====================================================================
@@ -573,24 +568,25 @@ dnl The class being generated
 dnl ---------------------------------------------------------------------
 
 dnl The interface class name.
-m4_define(`m4_class_replacement', m4_interface_class`'$1)
+m4_define(`m4_class_replacements', m4_interface_class`'$1)
 
 dnl The cplusplus name.
-m4_define(`m4_cpp_class_replacement', m4_cplusplus_class`'$1)
+m4_define(`m4_cpp_class_replacements', m4_cplusplus_class`'$1)
 
 dnl The product full cplusplus name.
-m4_define(`m4_product_cpp_class_replacement',
-     Domain_Product<`'m4_cplusplus_class_body_1st$1 at COMMA@`'m4_cplusplus_class_body_2nd$1 >::`'m4_class_kind$1)
+m4_define(`m4_product_cpp_class_replacements',
+     Domain_Product<`'m4_class_body_1st$1|COMMA|`'m4_class_body_2nd$1 >::`'m4_class_kind$1)
 
 dnl The defined cplusplus name (the default is as before).
-m4_define(`m4_cppdef_class_replacement', m4_cplusplus_class`'$1)
+dnl This is only used in the C interface.
+m4_define(`m4_cppdef_class_replacements', m4_cplusplus_class`'$1)
 
 dnl The defined product cplusplus name.
-m4_define(`m4_product_cppdef_class_replacement',
+m4_define(`m4_product_cppdef_class_replacements',
 m4_interface_class`'$1)
 
 dnl The defined box cplusplus name.
-m4_define(`m4_box_cppdef_class_replacement',
+m4_define(`m4_box_cppdef_class_replacements',
 m4_interface_class`'$1)
 
 dnl ---------------------------------------------------------------------
@@ -602,21 +598,21 @@ dnl ---------------------------------------------------------------------
 dnl The friend class name.
 dnl There is the interface name as default friend,
 dnl the interface name but where "Polyhedron" does not include
-dnl the topology (alt_friend), and the C++ name (cppx_friend).
+dnl the topology (a_friend), and the C++ name (b_friend).
 dnl
 dnl To allow for other classes to be friends,
 dnl we cannot just take a predefined list of friends as some
 dnl may not be instantiated and available.
-m4_define(`m4_friend_replacement', `m4_all_friends(interface)')
+m4_define(`m4_friend_replacements', `m4_all_friends(interface)')
 
-m4_define(`m4_friend_alt_replacement', `dnl
+m4_define(`m4_a_friend_replacements', `dnl
 m4_all_friends(interface, no_topology)`'dnl
 ')
 
-m4_define(`m4_friend_cppx_replacement',`m4_all_friends(cplusplus)')
+m4_define(`m4_b_friend_replacements',`m4_all_friends(cplusplus)')
 
 m4_define(`m4_all_friends', `dnl
-m4_patsubst(m4_all_friends_aux($1, $2), `@COMMA@', `, ')`'dnl
+m4_patsubst(m4_all_friends_aux($1, $2), `|COMMA|', `, ')`'dnl
 ')
 m4_define(`m4_all_friends_aux', `dnl
 m4_forloop(m4_ind, 1, m4_num_classes, `dnl
@@ -625,14 +621,14 @@ m4_echo_unquoted(m4_class_group`'m4_ind), product, , `dnl
 m4_define(`m4_friend_class', m4_`'$1`'_class`'m4_ind)`'dnl
 m4_ifelse(m4_friend_class, Polyhedron,
           `m4_ifelse($2, `',
-          `m4_one_friend(C_`'m4_friend_class at COMMA@NNC_`'m4_friend_class)',
-          `m4_one_friend(m4_friend_class at COMMA@m4_friend_class)')',
+          `m4_one_friend(C_`'m4_friend_class|COMMA|NNC_`'m4_friend_class)',
+          `m4_one_friend(m4_friend_class|COMMA|m4_friend_class)')',
           `m4_one_friend(m4_friend_class)')`'dnl
 m4_undefine(`m4_friend_class')')')`'dnl
 ')
 
 m4_define(`m4_one_friend', `dnl
-m4_ifelse(m4_ind, 1, `$1', @COMMA@`'$1)`'dnl
+m4_ifelse(m4_ind, 1, `$1', |COMMA|`'$1)`'dnl
 ')
 
 dnl For Pointset_Powerset class kind, if the body is C_Polyhedron
@@ -640,19 +636,19 @@ dnl or NNC_Polyhedron, and Polyhedron is generated, then C_Polyhedron
 dnl (if the body is C_Polyhedron) or NNC_Polyhedron
 dnl (if the body is NNC_Polyhedron) is a friend.
 dnl
-m4_define(`m4_Pointset_Powerset_friend_replacement', `dnl
+m4_define(`m4_Pointset_Powerset_friend_replacements', `dnl
 dnl
 m4_interface_class$1,
 m4_get_class_topology(m4_cplusplus_class_body$1)`'dnl
 m4_interface_class_body$1`'dnl
 ')
 
-m4_define(`m4_Pointset_Powerset_friend_alt_replacement', `dnl
+m4_define(`m4_Pointset_Powerset_a_friend_replacements', `dnl
 dnl
 m4_interface_class$1, m4_interface_class_body$1`'dnl
 ')
 
-m4_define(`m4_Pointset_Powerset_friend_cppx_replacement', `dnl
+m4_define(`m4_Pointset_Powerset_b_friend_replacements', `dnl
 dnl
 m4_cplusplus_class$1, m4_cplusplus_class_body$1`'dnl
 ')
@@ -660,17 +656,17 @@ m4_cplusplus_class$1, m4_cplusplus_class_body$1`'dnl
 dnl For product class kinds, C_Polyhedron, NNC_Polyhedron, BD_Shape,
 dnl Octagonal_Shape and other products are all friends.
 dnl
-m4_define(`m4_product_friend_replacement',
+m4_define(`m4_product_friend_replacements',
   `m4_all_friends(interface), m4_interface_class$1`'dnl
 ')
 
-m4_define(`m4_product_friend_alt_replacement',
+m4_define(`m4_product_a_friend_replacements',
   `m4_all_friends(interface, no_topology), m4_interface_class$1`'dnl
 ')
 
-m4_define(`m4_product_friend_cppx_replacement',
+m4_define(`m4_product_b_friend_replacements',
   `m4_all_friends(cplusplus),
-     Domain_Product<`'m4_cplusplus_class_body_1st$1`'@COMMA@`'m4_cplusplus_class_body_2nd$1`' >::`'m4_class_kind$1')
+     Domain_Product<`'m4_cplusplus_class_body_1st$1`'|COMMA|`'m4_cplusplus_class_body_2nd$1`' >::`'m4_class_kind$1')
 )
 
 dnl ---------------------------------------------------------------------
@@ -679,291 +675,199 @@ dnl This is C_ or NNC_ if the class is Polyhedron and `' otherwise
 dnl ---------------------------------------------------------------------
 
 dnl The topology of the domain element. The default is the empty string.
-m4_define(`m4_topology_replacement', `')
-m4_define(`m4_Polyhedron_topology_replacement', `C_, NNC_')
-
-dnl The topology used to copy from another element of the domain
-m4_define(`m4_intopology_replacement', `')
-m4_define(`m4_Polyhedron_intopology_replacement', `C_, NNC_')
+m4_define(`m4_topology_replacements', `')
+m4_define(`m4_Polyhedron_topology_replacements', `C_, NNC_')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == widen
 dnl ---------------------------------------------------------------------
 dnl The widening operators.
-m4_define(`m4_widen_replacement', `')
-m4_define(`m4_Polyhedron_widen_replacement', `BHRZ03, H79')
-m4_define(`m4_Grid_widen_replacement', `congruence, generator')
-m4_define(`m4_BD_Shape_widen_replacement', `BHMZ05, H79')
-m4_define(`m4_Octagonal_Shape_widen_replacement', `BHMZ05')
-m4_define(`m4_box_widen_replacement', `CC76')
-m4_define(`m4_Pointset_Powerset_widen_replacement', `BHZ03')
-dnl The alt_replacement defines the certificates for the widenings
-m4_define(`m4_Polyhedron_widen_alt_replacement', `BHRZ03, H79')
-m4_define(`m4_BD_Shape_widen_alt_replacement', `H79, H79')
-m4_define(`m4_Octagonal_Shape_widen_alt_replacement', `H79')
-m4_define(`m4_Grid_widen_alt_replacement', `Grid, Grid')
+m4_define(`m4_widen_replacements', `')
+m4_define(`m4_Polyhedron_widen_replacements', `BHRZ03, H79')
+m4_define(`m4_Grid_widen_replacements', `congruence, generator')
+m4_define(`m4_BD_Shape_widen_replacements', `BHMZ05, H79')
+m4_define(`m4_Octagonal_Shape_widen_replacements', `BHMZ05')
+m4_define(`m4_box_widen_replacements', `CC76')
+m4_define(`m4_Pointset_Powerset_widen_replacements', `BHZ03')
+dnl The a replacement defines the certificates for the widenings
+m4_define(`m4_Polyhedron_a_widen_replacements', `BHRZ03, H79')
+m4_define(`m4_BD_Shape_a_widen_replacements', `H79, H79')
+m4_define(`m4_Octagonal_Shape_a_widen_replacements', `H79')
+m4_define(`m4_Grid_a_widen_replacements', `Grid, Grid')
 dnl FIXME: This is not in the C++ box domain and will fail if used.
-m4_define(`m4_box_widen_alt_replacement', `CC76')
+m4_define(`m4_box_a_widen_replacements', `CC76')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == extrapolation
 dnl ---------------------------------------------------------------------
-m4_define(`m4_extrapolation_replacement', `NONE')
-m4_define(`m4_BD_Shape_extrapolation_replacement',
+m4_define(`m4_extrapolation_replacements', `NONE')
+m4_define(`m4_BD_Shape_extrapolation_replacements',
   `CC76')
-m4_define(`m4_Octagonal_Shape_extrapolation_replacement',
+m4_define(`m4_Octagonal_Shape_extrapolation_replacements',
    `CC76')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == widenexp
 dnl The limited/bounded extrapolation operators.
 dnl ---------------------------------------------------------------------
-m4_define(`m4_widenexpn_replacement', `m4_widen_replacement')
-m4_define(`m4_Polyhedron_widenexpn_replacement',
-  `m4_Polyhedron_widen_replacement')
-m4_define(`m4_Grid_widenexpn_replacement', `m4_Grid_widen_replacement')
-m4_define(`m4_BD_Shape_widenexpn_replacement',
-  `m4_BD_Shape_widen_replacement,
-   m4_BD_Shape_extrapolation_replacement')
-m4_define(`m4_Octagonal_Shape_widenexpn_replacement',
-   `m4_Octagonal_Shape_widen_replacement,
-    m4_Octagonal_Shape_extrapolation_replacement')
-m4_define(`m4_box_widenexpn_replacement', `m4_box_widen_replacement')
-m4_define(`m4_Pointset_Powerset_widenexpn_replacement',
-  `m4_Pointset_Powerset_widen_replacement')
+m4_define(`m4_widenexpn_replacements', `m4_widen_replacements')
+m4_define(`m4_Polyhedron_widenexpn_replacements',
+  `m4_Polyhedron_widen_replacements')
+m4_define(`m4_Grid_widenexpn_replacements', `m4_Grid_widen_replacements')
+m4_define(`m4_BD_Shape_widenexpn_replacements',
+  `m4_BD_Shape_widen_replacements,
+   m4_BD_Shape_extrapolation_replacements')
+m4_define(`m4_Octagonal_Shape_widenexpn_replacements',
+   `m4_Octagonal_Shape_widen_replacements,
+    m4_Octagonal_Shape_extrapolation_replacements')
+m4_define(`m4_box_widenexpn_replacements', `m4_box_widen_replacements')
+m4_define(`m4_Pointset_Powerset_widenexpn_replacements',
+  `m4_Pointset_Powerset_widen_replacements')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == narrow
 dnl ---------------------------------------------------------------------
-m4_define(`m4_narrow_replacement', `CC76')
+m4_define(`m4_narrow_replacements', `CC76')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == limitedbounded
 dnl limited/bounded are qualifiers for widening and extrapolation
 dnl operations.
 dnl ---------------------------------------------------------------------
-m4_define(`m4_limitedbounded_replacement', `limited')
-m4_define(`m4_Polyhedron_limitedbounded_replacement', `limited, bounded')
+m4_define(`m4_limitedbounded_replacements', `limited')
+m4_define(`m4_Polyhedron_limitedbounded_replacements', `limited, bounded')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == dimension
 dnl ---------------------------------------------------------------------
-m4_define(`m4_dimension_replacement', `space_dimension, affine_dimension')
+m4_define(`m4_dimension_replacements', `space_dimension, affine_dimension')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == generator
 dnl The different kinds of objects use to generate a class.
 dnl ---------------------------------------------------------------------
-m4_define(`m4_generator_replacement', `generator')
-m4_define(`m4_Grid_generator_replacement', `grid_generator')
+m4_define(`m4_generator_replacements', `generator')
+m4_define(`m4_Grid_generator_replacements', `grid_generator')
 
 dnl  The different kinds of points.
-m4_define(`m4_point_replacement', `point')
-m4_define(`m4_Grid_point_replacement', `grid_point')
+m4_define(`m4_point_replacements', `point')
+m4_define(`m4_Grid_point_replacements', `grid_point')
 
 dnl  The constrainer objects used to describe a class.
-m4_define(`m4_constrainer_replacement', `constraint')
-m4_define(`m4_Grid_constrainer_replacement', `congruence')
-m4_define(`m4_Pointset_Powerset_constrainer_replacement',
-  `m4_class_pattern_replacement(m4_class_body_counter$1,
+m4_define(`m4_constrainer_replacements', `constraint')
+m4_define(`m4_Grid_constrainer_replacements', `congruence')
+m4_define(`m4_Pointset_Powerset_constrainer_replacements',
+  `m4_class_pattern_replacements(m4_class_body_counter$1,
                                 constrainer, `')')
 
 dnl ---------------------------------------------------------------------
-dnl pattern == cpp_disjunct or disjunct
+dnl pattern == disjunct
 dnl The different kinds of objects that are elements of a Pointset_Powerset.
 dnl ---------------------------------------------------------------------
 
 dnl If the interface disjunct name is C_Polyhedron or NNC_Polyhedron
 dnl the topology is removed.
-m4_define(`m4_cpp_disjunct_replacement', `')
-m4_define(`m4_cpp_disjunct_replacement',
-  `m4_remove_topology(m4_cplusplus_class_body$1)')
+m4_define(`m4_disjunct_replacements', `')
+m4_define(`m4_Pointset_Powerset_disjunct_replacements',
+  `m4_remove_topology(m4_interface_class_body$1)')
 
-dnl If the cpp disjunct name is C_Polyhedron or NNC_Polyhedron
+dnl If the cplusplus disjunct name is C_Polyhedron or NNC_Polyhedron
 dnl the topology is removed.
-m4_define(`m4_disjunct_replacement', `')
-m4_define(`m4_Pointset_Powerset_disjunct_replacement',
-  `m4_remove_topology(m4_interface_class_body$1)')
+m4_define(`m4_a_disjunct_replacements',
+  `m4_remove_topology(m4_cplusplus_class_body$1)')
+
 
+dnl ---------------------------------------------------------------------
+dnl pattern == disjunct_topology
+dnl The topology of the disjunct of the current class
+dnl If the class is not Pointset_Powerset, it is `'.
+dnl ---------------------------------------------------------------------
 dnl The disjunct topology replacement.
-m4_define(`m4_classtopology_replacement',
+m4_define(`m4_disjunct_topology_replacements',
   `m4_get_class_topology(m4_cplusplus_class_body$1)')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == disjunct_widen
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_disjunct_widen_replacement',
-  `m4_echo_unquoted(m4_`'m4_remove_topology(m4_class_body_kind$1)`'_widen_replacement)')
+m4_define(`m4_disjunct_widen_replacements',
+  `m4_echo_unquoted(m4_`'m4_remove_topology(m4_class_body_kind$1)`'_widen_replacements)')
 
-m4_define(`m4_disjunct_widen_alt_replacement',
-  `m4_echo_unquoted(m4_`'m4_remove_topology(m4_class_body_kind$1)`'_widen_alt_replacement)')
+m4_define(`m4_a_disjunct_widen_replacements',
+  `m4_echo_unquoted(m4_`'m4_remove_topology(m4_class_body_kind$1)`'_a_widen_replacements)')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == disjunct_extrapolation
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_disjunct_extrapolation_replacement',
-  `m4_echo_unquoted(m4_`'m4_remove_topology(m4_class_body_kind$1)`'_extrapolation_replacement)')
-
-m4_define(`m4_disjunct_extrapolation_alt_replacement',
-  `m4_echo_unquoted(m4_`'m4_remove_topology(m4_class_body_kind$1)`'_extrapolation_alt_replacement)')
-
-
-dnl ---------------------------------------------------------------------
-dnl pattern == build_represent
-dnl  The different kinds of objects that can build a class.
-dnl ---------------------------------------------------------------------
+m4_define(`m4_disjunct_extrapolation_replacements',
+  `m4_echo_unquoted(m4_`'m4_remove_topology(m4_class_body_kind$1)`'_extrapolation_replacements)')
 
-m4_define(`m4_build_represent_replacement',
-         `constraint, congruence, generator')
-m4_define(`m4_Grid_build_represent_replacement',
-         `constraint, grid_generator, congruence')
-m4_define(`m4_Pointset_Powerset_build_represent_replacement',
-         `constraint, congruence')
-m4_define(`m4_product_build_represent_replacement',
-         `constraint, congruence')
+m4_define(`m4_a_disjunct_extrapolation_replacements',
+  `m4_echo_unquoted(m4_`'m4_remove_topology(m4_class_body_kind$1)`'_a_extrapolation_replacements)')
 
-dnl  The different kinds of alternative objects that can build
-dnl  the same class.
-dnl  At the moment, this is just used for the test data generator.
-m4_define(`m4_build_represent_alt_replacement',
-          `generator, congruence, constraint')
-m4_define(`m4_Grid_build_represent_alt_replacement',
-         `constraint, congruence, grid_generator')
-m4_define(`m4_Pointset_Powerset_build_represent_alt_replacement',
-         `constraint, congruence')
-m4_define(`m4_product_build_represent_alt_replacement',
-         `constraint, congruence')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == relation_represent
 dnl  The different kinds of objects that can have a relation with a class.
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_relation_represent_replacement',
+m4_define(`m4_relation_represent_replacements',
 	`constraint, generator, congruence')
-m4_define(`m4_Grid_relation_represent_replacement',
-         `m4_relation_represent_replacement, grid_generator')
-
-m4_define(`m4_Pointset_Powerset_relation_represent_replacement', `dnl
-m4_define(`m4_1st_sequence',
-  `m4_relation_represent_replacement')`'dnl
-m4_define(`m4_2nd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_counter$1,
-                                relation_represent, `')')`'dnl
-m4_define(`m4_num_of_sequences', 2)`'dnl
-m4_seq_intersection`'dnl
-m4_undefine(`m4_1st_sequence')`'dnl
-m4_undefine(`m4_2nd_sequence')`'dnl
-m4_undefine(`m4_num_of_sequences')`'dnl
-')
-
-m4_define(`m4_product_relation_represent_replacement', `dnl
-m4_define(`m4_1st_sequence',
-  `constraint, generator, congruence')`'dnl
-m4_define(`m4_2nd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_1st_counter$1,
-    relation_represent, `')')`'dnl
-m4_define(`m4_3rd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_2nd_counter$1,
-    relation_represent, `')')`'dnl
-m4_define(`m4_num_of_sequences', 3)`'dnl
-m4_seq_intersection`'dnl
-m4_undefine(`m4_1st_sequence')`'dnl
-m4_undefine(`m4_2nd_sequence')`'dnl
-m4_undefine(`m4_3rd_sequence')`'dnl
-m4_undefine(`m4_num_of_sequences')`'dnl
-')
+m4_define(`m4_Grid_relation_represent_replacements',
+         `m4_relation_represent_replacements, grid_generator')
 
 dnl The type of these relations with a class.
-m4_define(`m4_relation_represent_alt_replacement', `con, gen, con')
-m4_define(`m4_Grid_relation_represent_alt_replacement',
-         `con, gen, con, gen')
-
-m4_define(`m4_Pointset_Powerset_relation_represent_alt_replacement', `dnl
-m4_define(`m4_1st_sequence',
-  `m4_relation_represent_alt_replacement')`'dnl
-m4_define(`m4_2nd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_counter$1,
-                                relation_represent, `_alt')')`'dnl
-m4_define(`m4_num_of_sequences', 2)`'dnl
-m4_seq_intersection`'dnl
-m4_undefine(`m4_1st_sequence')`'dnl
-m4_undefine(`m4_2nd_sequence')`'dnl
-m4_undefine(`m4_num_of_sequences')`'dnl
-')
-
-m4_define(`m4_product_relation_represent_alt_replacement', `dnl
-m4_define(`m4_1st_sequence',
-  `con, gen, con')`'dnl
-m4_define(`m4_2nd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_1st_counter$1,
-    relation_represent, `_alt')')`'dnl
-m4_define(`m4_3rd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_2nd_counter$1,
-    relation_represent, `_alt')')`'dnl
-m4_define(`m4_num_of_sequences', 3)`'dnl
-m4_seq_intersection`'dnl
-m4_undefine(`m4_1st_sequence')`'dnl
-m4_undefine(`m4_2nd_sequence')`'dnl
-m4_undefine(`m4_3rd_sequence')`'dnl
-m4_undefine(`m4_num_of_sequences')`'dnl
-')
-
-dnl ---------------------------------------------------------------------
-dnl pattern == add_represent
-dnl The different kinds of objects that can be added to a class.
-dnl ---------------------------------------------------------------------
-
-m4_define(`m4_add_represent_replacement', `constraint, congruence')
-m4_define(`m4_Polyhedron_add_represent_replacement',
-         `m4_add_represent_replacement, generator')
-m4_define(`m4_Grid_add_represent_replacement',
-         `m4_add_represent_replacement, grid_generator')
+m4_define(`m4_a_relation_represent_replacements', `con, gen, con')
+m4_define(`m4_Grid_a_relation_represent_replacements',
+    `con, gen, con, gen')
 
 dnl ---------------------------------------------------------------------
-dnl pattern == get_represent
-dnl The different kinds of objects that can be obtained from a
-dnl class description.
+dnl pattern == build_represent
+dnl  The different kinds of objects that can build a class.
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_get_represent_replacement', `constraint, congruence')
-m4_define(`m4_Polyhedron_get_represent_replacement',
+m4_define(`m4_build_represent_replacements',
          `constraint, congruence, generator')
-m4_define(`m4_Grid_get_represent_replacement',
+m4_define(`m4_Grid_build_represent_replacements',
          `constraint, congruence, grid_generator')
+m4_define(`m4_Pointset_Powerset_build_represent_replacements',
+         `constraint, congruence')
+m4_define(`m4_product_build_represent_replacements',
+         `constraint, congruence')
 
 dnl ---------------------------------------------------------------------
-dnl pattern == recycle_represent
-dnl The recycling argument which is only needed for the Polyhedron
-dnl or Grid class.
+dnl pattern == class_represent
+dnl The different kinds of geometric descriptors that can be added to
+dnl a class or we can get from a class.
+dnl Note that a class can be built from generators when the add and get
+dnl can only use constraints or congruences (eg BD_Shape).
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_recycle_replacement', `')
-m4_define(`m4_Polyhedron_recycle_replacement',
-         `@COMMA@ Recycle_Input()')
-m4_define(`m4_Grid_recycle_replacement',
-         `@COMMA@ Recycle_Input()')
+m4_define(`m4_class_represent_replacements', `constraint, congruence')
+m4_define(`m4_Polyhedron_class_represent_replacements',
+         `m4_class_represent_replacements, generator')
+m4_define(`m4_Grid_class_represent_replacements',
+         `m4_class_represent_replacements, grid_generator')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == refine_represent
 dnl The different kinds of objects that can refine a class.
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_refine_represent_replacement', `constraint, congruence')
+m4_define(`m4_refine_represent_replacements', `constraint, congruence')
 
 dnl ---------------------------------------------------------------------
-dnl pattern == superclass
-dnl The "superclass" is the most general class for the disjunct kind.
-dnl For grids it is Grid and for all the other simple classes,
-dnl it is NNC_Polyhedron. The default is NONE.
+dnl pattern == recycle_represent
+dnl The recycling argument which is only needed for the Polyhedron
+dnl or Grid class in the C interface.
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_superclass_replacement', `NONE')
-m4_define(`m4_Pointset_Powerset_superclass_replacement',
-          `m4_ifelse(m4_echo_unquoted(m4_class_body_kind$1),
-          `Grid', `Grid', `NNC_Polyhedron')')
+m4_define(`m4_recycle_replacements', `')
+m4_define(`m4_Polyhedron_recycle_replacements',
+         `|COMMA| Recycle_Input()')
+m4_define(`m4_Grid_recycle_replacements',
+         `|COMMA| Recycle_Input()')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == partition
@@ -973,14 +877,14 @@ dnl no code is generated, otherwise it is replaced by partition.
 dnl This is used for the linear_partition and approximate_partition only.
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_partition_replacement',
+m4_define(`m4_partition_replacements',
   `m4_ifelse(m4_get_interface_name_counter(`Pointset_Powerset_NNC_Polyhedron'),
              `', NONE, ``partition'')')
-m4_define(`m4_Grid_partition_replacement',
+m4_define(`m4_Grid_partition_replacements',
   `m4_ifelse(m4_get_interface_name_counter(`Pointset_Powerset_Grid'),
              `', NONE, ``partition'')')
-m4_define(`m4_Pointset_Powerset_partition_replacement', `NONE')
-m4_define(`m4_Product_partition_replacement', `NONE')
+m4_define(`m4_Pointset_Powerset_partition_replacements', `NONE')
+m4_define(`m4_Product_partition_replacements', `NONE')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == has_property
@@ -989,12 +893,12 @@ dnl The check "contains_integer_point" is not available for the
 dnl product domains.
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_has_property_replacement', `is_empty, is_universe,
+m4_define(`m4_has_property_replacements', `is_empty, is_universe,
             is_bounded, contains_integer_point, is_topologically_closed,
             is_discrete')
 
 dnl For products, contains_integer_point is not yet implemented.
-m4_define(`m4_product_has_property_replacement', `dnl
+m4_define(`m4_product_has_property_replacements', `dnl
   is_empty, is_universe, is_bounded, is_topologically_closed, is_discrete')
 
 dnl ---------------------------------------------------------------------
@@ -1002,28 +906,19 @@ dnl pattern == simplify
 dnl This just groups two methods that modify a domain element.
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_simplify_replacement', `topological_closure_assign')
-m4_define(`m4_Pointset_Powerset_simplify_replacement', `dnl
-pairwise_reduce, omega_reduce,
-m4_define(`m4_1st_sequence',
-  `m4_simplify_replacement')`'dnl
-m4_define(`m4_2nd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_counter$1,
-                                simplify, `')')`'dnl
-m4_define(`m4_num_of_sequences', 2)`'dnl
-m4_seq_intersection`'dnl
-m4_undefine(`m4_1st_sequence')`'dnl
-m4_undefine(`m4_2nd_sequence')`'dnl
-m4_undefine(`m4_num_of_sequences')`'dnl
+m4_define(`m4_simplify_replacements', `topological_closure_assign')
+m4_define(`m4_Pointset_Powerset_simplify_replacements', `dnl
+m4_simplify_replacements, pairwise_reduce, omega_reduce`'dnl
 ')
-m4_define(`m4_product_simplify_replacement', `dnl
+
+m4_define(`m4_product_simplify_replacements', `dnl
 m4_define(`m4_1st_sequence',
-  `m4_simplify_replacement')`'dnl
+  `m4_simplify_replacements')`'dnl
 m4_define(`m4_2nd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_1st_counter$1,
+  `m4_class_pattern_replacements(m4_class_body_1st_counter$1,
     simplify, `')')`'dnl
 m4_define(`m4_3rd_sequence',
-  `m4_class_pattern_replacement(m4_class_body_2nd_counter$1,
+  `m4_class_pattern_replacements(m4_class_body_2nd_counter$1,
     simplify, `')')`'dnl
 m4_define(`m4_num_of_sequences', 3)`'dnl
 m4_seq_intersection`'dnl
@@ -1038,61 +933,61 @@ dnl pattern -- above/below
 dnl Used for the bounds_from_above and bounds_from_below methods.
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_abovebelow_replacement', `above, below')
+m4_define(`m4_abovebelow_replacements', `above, below')
 
 dnl ---------------------------------------------------------------------
 dnl pattern == maxmin
 dnl Maximize or Minimize
 dnl ---------------------------------------------------------------------
 
-m4_define(`m4_maxmin_replacement', `maximize, minimize')
+m4_define(`m4_maxmin_replacements', `maximize, minimize')
 
 dnl  Embed or project
-m4_define(`m4_embedproject_replacement', `and_embed, and_project')
+m4_define(`m4_embedproject_replacements', `and_embed, and_project')
 
 dnl  Affine_image or affine_preimage
-m4_define(`m4_affimage_replacement', `affine_image, affine_preimage')
+m4_define(`m4_affimage_replacements', `affine_image, affine_preimage')
 
 dnl  One object can be contained, strictly contained or disjoint in the other.
-m4_define(`m4_comparison_replacement',
+m4_define(`m4_comparison_replacements',
          `contains, strictly_contains, is_disjoint_from')
-m4_define(`m4_Pointset_Powerset_comparison_replacement',
-         `m4_comparison_replacement,
+m4_define(`m4_Pointset_Powerset_comparison_replacements',
+         `m4_comparison_replacements,
           geometrically_covers, geometrically_equals')
 
 dnl  The different kinds of binary operators.
-m4_define(`m4_binop_replacement',
+m4_define(`m4_binop_replacements',
          `intersection_assign, upper_bound_assign, difference_assign,
           concatenate_assign, time_elapse_assign')
-m4_define(`m4_Polyhedron_binop_replacement',
-         `m4_binop_replacement, poly_hull_assign, poly_difference_assign')
+m4_define(`m4_Polyhedron_binop_replacements',
+         `m4_binop_replacements, poly_hull_assign, poly_difference_assign')
 
 dnl  The different kinds of "and_minimize" binary operators.
-m4_define(`m4_binminop_replacement', `')
-m4_define(`m4_Polyhedron_binminop_replacement',
+m4_define(`m4_binminop_replacements', `')
+m4_define(`m4_Polyhedron_binminop_replacements',
          `intersection_assign_and_minimize,
           poly_hull_assign_and_minimize')
 
 dnl  The different kinds of "upper_bound_if_exact" binary operators.
-m4_define(`m4_ub_exact_replacement', `upper_bound_assign_if_exact')
-m4_define(`m4_Polyhedron_ub_exact_replacement',
-         `m4_ub_exact_replacement, poly_hull_assign_if_exact')
+m4_define(`m4_ub_exact_replacements', `upper_bound_assign_if_exact')
+m4_define(`m4_Polyhedron_ub_exact_replacements',
+         `m4_ub_exact_replacements, poly_hull_assign_if_exact')
 
 dnl  The iterators for the Powerset domains can increment or decrement
-m4_define(`m4_incdec_replacement', `increment, decrement')
-
-dnl  The C++ replacements for the increment/decrement operators.
-m4_define(`m4_incdec_cppx_replacement', `++, --')
+m4_define(`m4_incdec_replacements', `increment, decrement')
 
 dnl  The Java replacements for the increment/decrement operators.
-m4_define(`m4_incdec_alt_replacement', `next, prev')
+m4_define(`m4_a_incdec_replacements', `next, prev')
+
+dnl  The C++ replacements for the increment/decrement operators.
+m4_define(`m4_b_incdec_replacements', `++, --')
 
 dnl  The iterators for the Powerset domains have a begin and end iterator
-m4_define(`m4_beginend_replacement', `begin, end')
+m4_define(`m4_beginend_replacements', `begin, end')
 
 dnl  The total and external memory query methods for all the domains
 dnl  and the size query to the pointset powerset domain.
-m4_define(`m4_membytes_replacement',
+m4_define(`m4_membytes_replacements',
    `external_memory_in_bytes, total_memory_in_bytes')
-m4_define(`m4_Pointset_Powerset_membytes_replacement',
-   `m4_membytes_replacement, size')
+m4_define(`m4_Pointset_Powerset_membytes_replacements',
+   `m4_membytes_replacements, size')
diff --git a/interfaces/ppl_interface_generator_common_procedure_generators.m4 b/interfaces/ppl_interface_generator_common_procedure_generators.m4
index c5c61e3..cb6d28f 100644
--- a/interfaces/ppl_interface_generator_common_procedure_generators.m4
+++ b/interfaces/ppl_interface_generator_common_procedure_generators.m4
@@ -1,9 +1,9 @@
 m4_divert(-1)
 
 dnl This m4 file defines the list of the procedures generated
-dnl that are independent of the inetrface being generated.
+dnl that are independent of the interface being generated.
 
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -57,8 +57,8 @@ dnl NOTE: The next two schemas are only for simple domains since
 dnl       we can only "get" a meaningful system (such as a set of
 dnl       constraints) that represents a domain from a simple domain.
 dnl
-ppl_ at CLASS@_get_ at GET_REPRESENT@s/2 +simple,
-ppl_ at CLASS@_get_minimized_ at GET_REPRESENT@s/2 +simple,
+ppl_ at CLASS@_get_ at CLASS_REPRESENT@s/2 +simple,
+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,
@@ -67,8 +67,8 @@ ppl_ at CLASS@_ at MAXMIN@_with_point/6 +all,
 ppl_ at CLASS@_ at COMPARISON@_ at CLASS@/2 +all,
 ppl_ at CLASS@_equals_ at CLASS@/2 +all,
 ppl_ at CLASS@_OK/1 +all,
-ppl_ at CLASS@_add_ at ADD_REPRESENT@/2 *nofail +all,
-ppl_ at CLASS@_add_ at ADD_REPRESENT@s/2 *nofail +all,
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@/2 *nofail +all,
+ppl_ at CLASS@_add_ at CLASS_REPRESENT@s/2 *nofail +all,
 ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@/2 *nofail +all,
 ppl_ at CLASS@_refine_with_ at REFINE_REPRESENT@s/2 *nofail +all,
 ppl_ at CLASS@_ at BINOP@/2 *nofail +all,
@@ -123,7 +123,7 @@ ppl_ at CLASS@_drop_disjunct/2 +pointset_powerset,
 ppl_ at CLASS@_drop_disjuncts/3 +pointset_powerset,
 ppl_ at CLASS@_linear_ at PARTITION@/4 +simple -grid,
 ppl_ at CLASS@_approximate_ at PARTITION@/5  +grid,
-ppl_ at CLASS@_BHZ03_ at ALT_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign/2 +pointset_powerset \box,
+ppl_ at CLASS@_BHZ03_ at A_DISJUNCT_WIDEN@_ at DISJUNCT_WIDEN@_widening_assign/2 +pointset_powerset \box,
 ppl_ at CLASS@_BGP99_ at DISJUNCT_WIDEN@_extrapolation_assign/3 +pointset_powerset \box,
 dnl
 dnl CHECKME: This is not implemented.
diff --git a/interfaces/ppl_interface_generator_copyright b/interfaces/ppl_interface_generator_copyright
index 6d1ef56..696261e 100644
--- a/interfaces/ppl_interface_generator_copyright
+++ b/interfaces/ppl_interface_generator_copyright
@@ -1,4 +1,4 @@
-`   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+`   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/m4/Makefile.am b/m4/Makefile.am
index 6f03df1..a861da0 100644
--- a/m4/Makefile.am
+++ b/m4/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -52,7 +52,6 @@ ac_prog_java.m4 \
 ac_prog_javac.m4 \
 ac_prog_javah.m4 \
 ac_text_md5sum.m4 \
-ax_prefix_config_h.m4 \
 lib-ld.m4 \
 lib-link.m4 \
 lib-prefix.m4 \
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 56986b1..98efc54 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -79,12 +79,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -159,6 +158,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -167,6 +168,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -241,6 +243,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -312,7 +315,6 @@ ac_prog_java.m4 \
 ac_prog_javac.m4 \
 ac_prog_javah.m4 \
 ac_text_md5sum.m4 \
-ax_prefix_config_h.m4 \
 lib-ld.m4 \
 lib-link.m4 \
 lib-prefix.m4 \
diff --git a/m4/ac_check_ciao.m4 b/m4/ac_check_ciao.m4
index d2e3f30..78dc1cf 100644
--- a/m4/ac_check_ciao.m4
+++ b/m4/ac_check_ciao.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of Ciao-Prolog.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_check_fpu_control.m4 b/m4/ac_check_fpu_control.m4
index 005cb2a..5ccbb68 100644
--- a/m4/ac_check_fpu_control.m4
+++ b/m4/ac_check_fpu_control.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the possibility to control the FPU.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -26,7 +26,7 @@ ac_save_LIBS="$LIBS"
 LIBS="$LIBS -lm"
 AC_LANG_PUSH(C++)
 AC_CHECK_HEADERS([fenv.h ieeefp.h])
-AC_MSG_CHECKING([for the possibility to control the FPU])
+AC_MSG_CHECKING([if it is possible to control the FPU])
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #if i386
 
@@ -114,10 +114,29 @@ main() {
   AC_MSG_RESULT(yes)
   ac_cv_can_control_fpu=1,
   AC_MSG_RESULT(no)
-  ac_cv_can_control_fpu=0
+  ac_cv_can_control_fpu=0,
+  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#if i386 || (sparc && defined(HAVE_IEEEFP_H))
+
+int
+main() {
+  return 0;
+}
+
+#else
+
+  choke me
+
+#endif
+  ]])],
+    AC_MSG_RESULT(yes)
+    ac_cv_can_control_fpu=1,
+    AC_MSG_RESULT(no)
+    ac_cv_can_control_fpu=0
+  )
 )
 AM_CONDITIONAL(CAN_CONTROL_FPU, test $ac_cv_can_control_fpu = 1)
-AC_DEFINE_UNQUOTED(CAN_CONTROL_FPU, $ac_cv_can_control_fpu,
+AC_DEFINE_UNQUOTED(PPL_CAN_CONTROL_FPU, $ac_cv_can_control_fpu,
     [Not zero if the FPU can be controlled.])
 AC_LANG_POP(C++)
 LIBS="$ac_save_LIBS"
diff --git a/m4/ac_check_gmp.m4 b/m4/ac_check_gmp.m4
index dac626b..541cb36 100644
--- a/m4/ac_check_gmp.m4
+++ b/m4/ac_check_gmp.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of GMP.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -51,7 +51,7 @@ AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <iostream>
 
 #if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
-#error "GMP version 4.1.3 or higher is required"
+#GMP version 4.1.3 or higher is required
 #endif
 
 int
@@ -95,8 +95,22 @@ main() {
   ac_cv_have_gmp=yes,
   AC_MSG_RESULT(no)
   ac_cv_have_gmp=no,
-  AC_MSG_RESULT(no)
-  ac_cv_have_gmp=no)
+  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
+#include <gmpxx.h>
+
+#if __GNU_MP_VERSION < 4 || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR < 1) || (__GNU_MP_VERSION == 4 && __GNU_MP_VERSION_MINOR == 1 && __GNU_MP_VERSION_PATCHLEVEL < 3)
+#GMP version 4.1.3 or higher is required
+#endif
+
+int
+main() {
+  return 0;
+}
+]])],
+    AC_MSG_RESULT(yes)
+    ac_cv_have_gmp=yes,
+    AC_MSG_RESULT(no)
+    ac_cv_have_gmp=no))
 
 have_gmp=${ac_cv_have_gmp}
 
@@ -140,7 +154,7 @@ int main() {
   ac_cv_gmp_supports_exceptions=yes,
   AC_MSG_RESULT(no)
   ac_cv_gmp_supports_exceptions=no,
-  AC_MSG_RESULT(no)
+  AC_MSG_RESULT([assuming not])
   ac_cv_gmp_supports_exceptions=no)
 
 gmp_supports_exceptions=${ac_cv_gmp_supports_exceptions}
@@ -150,7 +164,7 @@ then
 else
   value=0
 fi
-AC_DEFINE_UNQUOTED(GMP_SUPPORTS_EXCEPTIONS, $value,
+AC_DEFINE_UNQUOTED(PPL_GMP_SUPPORTS_EXCEPTIONS, $value,
   [Not zero if GMP has been compiled with support for exceptions.])
 
 fi
diff --git a/m4/ac_check_sicstus_prolog.m4 b/m4/ac_check_sicstus_prolog.m4
index 25a584f..9afbe9b 100644
--- a/m4/ac_check_sicstus_prolog.m4
+++ b/m4/ac_check_sicstus_prolog.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of SICStus Prolog.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_check_swi_prolog.m4 b/m4/ac_check_swi_prolog.m4
index e1d7dac..4ca9955 100644
--- a/m4/ac_check_swi_prolog.m4
+++ b/m4/ac_check_swi_prolog.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of SWI-Prolog.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -44,7 +44,8 @@ then
 
   dnl Additional version checks could be inserted here, if necessary.
 
-  # In Fedora, SWI-Prolog.h is installed in /usr/include/pl.
+  # 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}"
   ac_save_CPPFLAGS="$CPPFLAGS"
diff --git a/m4/ac_check_xsb_prolog.m4 b/m4/ac_check_xsb_prolog.m4
index 58ddc3c..580800b 100644
--- a/m4/ac_check_xsb_prolog.m4
+++ b/m4/ac_check_xsb_prolog.m4
@@ -1,5 +1,5 @@
 dnl A function to check for the existence and usability of XSB Prolog.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ac_cxx_attribute_weak.m4 b/m4/ac_cxx_attribute_weak.m4
index 189a428..1384fc5 100644
--- a/m4/ac_cxx_attribute_weak.m4
+++ b/m4/ac_cxx_attribute_weak.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether the C++ compiler supports the function
 dnl __attribute__ ((weak)).
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -49,7 +49,7 @@ then
 else
   value=0
 fi
-AC_DEFINE_UNQUOTED(CXX_SUPPORTS_ATTRIBUTE_WEAK, $value,
+AC_DEFINE_UNQUOTED(PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK, $value,
   [Not zero if the C++ compiler supports __attribute__ ((weak)).])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_cxx_double_binary_format.m4 b/m4/ac_cxx_double_binary_format.m4
index c3456c6..c627326 100644
--- a/m4/ac_cxx_double_binary_format.m4
+++ b/m4/ac_cxx_double_binary_format.m4
@@ -1,5 +1,5 @@
 dnl A function to detect the binary format used by C++ doubles.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -23,13 +23,12 @@ dnl site: http://www.cs.unipr.it/ppl/ .
 AC_DEFUN([AC_CXX_DOUBLE_BINARY_FORMAT],
 [
 AC_REQUIRE([AC_C_BIGENDIAN])
-AC_REQUIRE([AC_CHECK_FPU_CONTROL])
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
 AC_LANG_PUSH(C++)
 
 AC_MSG_CHECKING([the binary format of C++ doubles])
-ac_cxx_double_binary_format=unknown
+
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <limits>
 #ifdef HAVE_STDINT_H
@@ -89,9 +88,11 @@ main() {
 
 #endif // SIZEOF_DOUBLE != 8
 ]])],
-  AC_DEFINE(CXX_DOUBLE_BINARY_FORMAT, PPL_FLOAT_IEEE754_DOUBLE,
+  AC_DEFINE(PPL_CXX_DOUBLE_BINARY_FORMAT, PPL_FLOAT_IEEE754_DOUBLE,
     [The unique code of the binary format of C++ doubles, if supported; undefined otherwise.])
-  ac_cxx_double_binary_format="IEEE754 Double Precision")
+  ac_cxx_double_binary_format="IEEE754 Double Precision",
+  ac_cxx_double_binary_format=unknown,
+  ac_cxx_double_binary_format=unknown)
 
 AC_MSG_RESULT($ac_cxx_double_binary_format)
 
@@ -104,7 +105,7 @@ else
   ac_supported_double=1
 fi
 AM_CONDITIONAL(SUPPORTED_DOUBLE, test $ac_supported_double = 1)
-AC_DEFINE_UNQUOTED(SUPPORTED_DOUBLE, $ac_supported_double,
+AC_DEFINE_UNQUOTED(PPL_SUPPORTED_DOUBLE, $ac_supported_double,
   [Not zero if doubles are supported.])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_cxx_double_exact_output.m4 b/m4/ac_cxx_double_exact_output.m4
index 260e3fe..f3827ed 100644
--- a/m4/ac_cxx_double_exact_output.m4
+++ b/m4/ac_cxx_double_exact_output.m4
@@ -1,5 +1,5 @@
 dnl A function to detect whether C++ provides exact output for doubles.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,13 +22,13 @@ 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_cxx_double_exact_output=unknown
 
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <limits>
@@ -89,7 +89,7 @@ convert(uint32_t msp, uint32_t lsp) {
   return u.value;
 }
 
-#if CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
 
 int
 main() {
@@ -106,14 +106,14 @@ main() {
     return 1;
 }
 
-#else // CXX_DOUBLE_EXACT_OUTPUT != FLOAT_IEEE754_DOUBLE
+#else // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_DOUBLE_EXACT_OUTPUT != FLOAT_IEEE754_DOUBLE
+#endif // PPL_CXX_DOUBLE_BINARY_FORMAT != PPL_FLOAT_IEEE754_DOUBLE
 
 #else // SIZEOF_DOUBLE != 8
 
@@ -127,9 +127,11 @@ main() {
   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(CXX_DOUBLE_EXACT_OUTPUT, $ac_cxx_double_exact_output,
+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++)
diff --git a/m4/ac_cxx_flexible_arrays.m4 b/m4/ac_cxx_flexible_arrays.m4
index 8997e49..8319f07 100644
--- a/m4/ac_cxx_flexible_arrays.m4
+++ b/m4/ac_cxx_flexible_arrays.m4
@@ -1,5 +1,5 @@
 dnl A function to check whether the C++ compiler supports flexible arrays.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -76,8 +76,55 @@ main() {
   ac_cxx_supports_flexible_arrays=yes,
   AC_MSG_RESULT(no)
   ac_cxx_supports_flexible_arrays=no,
-  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
@@ -85,7 +132,7 @@ then
 else
   value=0
 fi
-AC_DEFINE_UNQUOTED(CXX_SUPPORTS_FLEXIBLE_ARRAYS, $value,
+AC_DEFINE_UNQUOTED(PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS, $value,
   [Not zero if the C++ compiler supports flexible arrays.])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_cxx_float_binary_format.m4 b/m4/ac_cxx_float_binary_format.m4
index fee6a86..331e46a 100644
--- a/m4/ac_cxx_float_binary_format.m4
+++ b/m4/ac_cxx_float_binary_format.m4
@@ -1,5 +1,5 @@
 dnl A function to detect the binary format used by C++ floats.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -27,7 +27,6 @@ ac_save_LIBS="$LIBS"
 AC_LANG_PUSH(C++)
 
 AC_MSG_CHECKING([the binary format of C++ floats])
-ac_cxx_float_binary_format=unknown
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <limits>
 #ifdef HAVE_STDINT_H
@@ -78,9 +77,11 @@ main() {
 
 #endif // SIZEOF_FLOAT != 4
 ]])],
-  AC_DEFINE(CXX_FLOAT_BINARY_FORMAT, PPL_FLOAT_IEEE754_SINGLE,
+  AC_DEFINE(PPL_CXX_FLOAT_BINARY_FORMAT, PPL_FLOAT_IEEE754_SINGLE,
     [The binary format of C++ floats, if supported; undefined otherwise.])
-  ac_cxx_float_binary_format="IEEE754 Single Precision")
+  ac_cxx_float_binary_format="IEEE754 Single Precision",
+  ac_cxx_float_binary_format=unknown,
+  ac_cxx_float_binary_format=unknown)
 
 AC_MSG_RESULT($ac_cxx_float_binary_format)
 
@@ -93,7 +94,7 @@ else
   ac_supported_float=1
 fi
 AM_CONDITIONAL(SUPPORTED_FLOAT, test $ac_supported_float = 1)
-AC_DEFINE_UNQUOTED(SUPPORTED_FLOAT, $ac_supported_float,
+AC_DEFINE_UNQUOTED(PPL_SUPPORTED_FLOAT, $ac_supported_float,
   [Not zero if floats are supported.])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_cxx_float_exact_output.m4 b/m4/ac_cxx_float_exact_output.m4
index efdad09..da94c40 100644
--- a/m4/ac_cxx_float_exact_output.m4
+++ b/m4/ac_cxx_float_exact_output.m4
@@ -1,5 +1,5 @@
 dnl A function to detect whether C++ provides exact output for floats.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -28,7 +28,6 @@ ac_save_LIBS="$LIBS"
 AC_LANG_PUSH(C++)
 
 AC_MSG_CHECKING([whether C++ provides exact output for floats])
-ac_cxx_float_exact_output=unknown
 
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <limits>
@@ -80,7 +79,7 @@ convert(uint32_t x) {
   return u.value;
 }
 
-#if CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
 
 int
 main() {
@@ -97,14 +96,14 @@ main() {
     return 1;
 }
 
-#else // CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
+#else // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
+#endif // PPL_CXX_FLOAT_BINARY_FORMAT != FLOAT_IEEE754_SINGLE
 
 #else // SIZEOF_FLOAT != 4
 
@@ -118,9 +117,11 @@ main() {
   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(CXX_FLOAT_EXACT_OUTPUT, $ac_cxx_float_exact_output,
+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++)
diff --git a/m4/ac_cxx_ieee_inexact_flag.m4 b/m4/ac_cxx_ieee_inexact_flag.m4
index 2f36267..5292002 100644
--- a/m4/ac_cxx_ieee_inexact_flag.m4
+++ b/m4/ac_cxx_ieee_inexact_flag.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether the IEEE inexact flag is supported and
 dnl available to C++ programs.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -114,7 +114,7 @@ int main() {
   ac_cxx_supports_ieee_inexact_flag=yes,
   AC_MSG_RESULT(no)
   ac_cxx_supports_ieee_inexact_flag=no,
-  AC_MSG_RESULT(no)
+  AC_MSG_RESULT([assuming not])
   ac_cxx_supports_ieee_inexact_flag=no)
 
 if test x"$ac_cxx_supports_ieee_inexact_flag" = xyes
@@ -123,7 +123,7 @@ then
 else
   value=0
 fi
-AC_DEFINE_UNQUOTED(CXX_SUPPORTS_IEEE_INEXACT_FLAG, $value,
+AC_DEFINE_UNQUOTED(PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG, $value,
   [Not zero if the the IEEE inexact flag is supported in C++.])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_cxx_limit_memory.m4 b/m4/ac_cxx_limit_memory.m4
index a495093..8f970fe 100644
--- a/m4/ac_cxx_limit_memory.m4
+++ b/m4/ac_cxx_limit_memory.m4
@@ -1,6 +1,6 @@
 dnl A function to check whether it is possible to limit the memory
 dnl available to processes using setrlimit().
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -98,7 +98,7 @@ main() try {
   ac_cxx_supports_limiting_memory=yes,
   AC_MSG_RESULT(no)
   ac_cxx_supports_limiting_memory=no,
-  AC_MSG_RESULT(no)
+  AC_MSG_RESULT([assuming not])
   ac_cxx_supports_limiting_memory=no)
 
 if test x"$ac_cxx_supports_limiting_memory" = xyes
@@ -107,7 +107,7 @@ then
 else
   value=0
 fi
-AC_DEFINE_UNQUOTED(CXX_SUPPORTS_LIMITING_MEMORY, $value,
+AC_DEFINE_UNQUOTED(PPL_CXX_SUPPORTS_LIMITING_MEMORY, $value,
   [Not zero if it is possible to limit memory using setrlimit().])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_cxx_long_double_binary_format.m4 b/m4/ac_cxx_long_double_binary_format.m4
index 3150bad..5d3afc8 100644
--- a/m4/ac_cxx_long_double_binary_format.m4
+++ b/m4/ac_cxx_long_double_binary_format.m4
@@ -1,5 +1,5 @@
 dnl A function to detect the binary format used by C++ long doubles.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -22,12 +22,12 @@ dnl site: http://www.cs.unipr.it/ppl/ .
 
 AC_DEFUN([AC_CXX_LONG_DOUBLE_BINARY_FORMAT],
 [
+AC_REQUIRE([AC_C_BIGENDIAN])
 ac_save_CPPFLAGS="$CPPFLAGS"
 ac_save_LIBS="$LIBS"
 AC_LANG_PUSH(C++)
 
 AC_MSG_CHECKING([the binary format of C++ long doubles])
-ac_cxx_long_double_binary_format=unknown
 
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <limits>
@@ -88,9 +88,11 @@ main() {
 
 #endif // SIZEOF_LONG_DOUBLE != 12
 ]])],
-  AC_DEFINE(CXX_LONG_DOUBLE_BINARY_FORMAT, PPL_FLOAT_INTEL_DOUBLE_EXTENDED,
+  AC_DEFINE(PPL_CXX_LONG_DOUBLE_BINARY_FORMAT, PPL_FLOAT_INTEL_DOUBLE_EXTENDED,
   [The unique code of the binary format of C++ long doubles, if supported; undefined otherwise.])
-  ac_cxx_long_double_binary_format="Intel Double-Extended")
+  ac_cxx_long_double_binary_format="Intel Double-Extended",
+  ac_cxx_long_double_binary_format=unknown,
+  ac_cxx_long_double_binary_format=unknown)
 
 if test x"$ac_cxx_long_double_binary_format" = x"unknown"
 then
@@ -166,9 +168,11 @@ main() {
 
 #endif // SIZEOF_LONG_DOUBLE != 16
 ]])],
-  AC_DEFINE(CXX_LONG_DOUBLE_BINARY_FORMAT, PPL_FLOAT_IEEE754_QUAD,
+  AC_DEFINE(PPL_CXX_LONG_DOUBLE_BINARY_FORMAT, PPL_FLOAT_IEEE754_QUAD,
   [The unique code of the binary format of C++ long doubles, if supported; undefined otherwise.])
-  ac_cxx_long_double_binary_format="IEEE754 Quad Precision")
+  ac_cxx_long_double_binary_format="IEEE754 Quad Precision",
+  ac_cxx_long_double_binary_format=unknown,
+  ac_cxx_long_double_binary_format=unknown)
 fi
 
 if test x"$ac_cxx_long_double_binary_format" = x"unknown"
@@ -232,9 +236,11 @@ main() {
 
 #endif // SIZEOF_LONG_DOUBLE != 16
 ]])],
-  AC_DEFINE(CXX_LONG_DOUBLE_BINARY_FORMAT, PPL_FLOAT_INTEL_DOUBLE_EXTENDED,
+  AC_DEFINE(PPL_CXX_LONG_DOUBLE_BINARY_FORMAT, PPL_FLOAT_INTEL_DOUBLE_EXTENDED,
     [The unique code of the binary format of C++ long doubles, if supported; undefined otherwise.])
-  ac_cxx_long_double_binary_format="Intel Double-Extended")
+  ac_cxx_long_double_binary_format="Intel Double-Extended",
+  ac_cxx_long_double_binary_format=unknown,
+  ac_cxx_long_double_binary_format=unknown)
 fi
 
 if test x"$ac_cxx_long_double_binary_format" = x"unknown"
@@ -298,9 +304,11 @@ main() {
 
 #endif // SIZEOF_LONG_DOUBLE != 8
 ]])],
-  AC_DEFINE(CXX_LONG_DOUBLE_BINARY_FORMAT, PPL_FLOAT_IEEE754_DOUBLE,
+  AC_DEFINE(PPL_CXX_LONG_DOUBLE_BINARY_FORMAT, PPL_FLOAT_IEEE754_DOUBLE,
     [The unique code of the binary format of C++ long doubles, if supported; undefined otherwise.])
-  ac_cxx_long_double_binary_format="IEEE754 Double Precision")
+  ac_cxx_long_double_binary_format="IEEE754 Double Precision",
+  ac_cxx_long_double_binary_format=unknown,
+  ac_cxx_long_double_binary_format=unknown)
 fi
 
 AC_MSG_RESULT($ac_cxx_long_double_binary_format)
@@ -314,7 +322,7 @@ else
   ac_supported_long_double=1
 fi
 AM_CONDITIONAL(SUPPORTED_LONG_DOUBLE, test $ac_supported_long_double = 1)
-AC_DEFINE_UNQUOTED(SUPPORTED_LONG_DOUBLE, $ac_supported_long_double,
+AC_DEFINE_UNQUOTED(PPL_SUPPORTED_LONG_DOUBLE, $ac_supported_long_double,
   [Not zero if long doubles are supported.])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_cxx_long_double_exact_output.m4 b/m4/ac_cxx_long_double_exact_output.m4
index 0c2aa10..d965a85 100644
--- a/m4/ac_cxx_long_double_exact_output.m4
+++ b/m4/ac_cxx_long_double_exact_output.m4
@@ -1,5 +1,5 @@
 dnl A function to detect whether C++ provides exact output for long doubles.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -29,7 +29,6 @@ ac_save_LIBS="$LIBS"
 AC_LANG_PUSH(C++)
 
 AC_MSG_CHECKING([whether C++ provides exact output for long doubles])
-ac_cxx_long_double_exact_output=unknown
 
 AC_RUN_IFELSE([AC_LANG_SOURCE([[
 #include <limits>
@@ -90,7 +89,7 @@ convert(uint32_t msp, uint64_t lsp) {
   return u.value;
 }
 
-#if CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
 main() {
@@ -107,14 +106,14 @@ main() {
     return 1;
 }
 
-#else // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
 #elif SIZEOF_LONG_DOUBLE == 16
 
@@ -138,7 +137,7 @@ convert(uint64_t msp, uint64_t lsp) {
   return u.value;
 }
 
-#if CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
 
 int
 main() {
@@ -155,7 +154,7 @@ main() {
     return 1;
 }
 
-#elif CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
 main() {
@@ -172,14 +171,14 @@ main() {
     return 1;
 }
 
-#else // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_INTEL_DOUBLE_EXTENDED
 
 #elif SIZEOF_LONG_DOUBLE == 8
 
@@ -203,7 +202,7 @@ convert(uint32_t msp, uint32_t lsp) {
   return u.value;
 }
 
-#if CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
 
 int
 main() {
@@ -220,14 +219,14 @@ main() {
     return 1;
 }
 
-#else // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
+#else // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
 
 int
 main() {
   return 1;
 }
 
-#endif // CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
+#endif // PPL_CXX_LONG_DOUBLE_BINARY_FORMAT != FLOAT_IEEE754_DOUBLE
 
 #else // SIZEOF_LONG_DOUBLE != 8
 
@@ -241,9 +240,11 @@ main() {
   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(CXX_LONG_DOUBLE_EXACT_OUTPUT, $ac_cxx_long_double_exact_output,
+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++)
diff --git a/m4/ac_cxx_proper_long_double.m4 b/m4/ac_cxx_proper_long_double.m4
index 9143695..7886ac3 100644
--- a/m4/ac_cxx_proper_long_double.m4
+++ b/m4/ac_cxx_proper_long_double.m4
@@ -1,6 +1,6 @@
 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -45,7 +45,7 @@ int main() {
   ac_cxx_provides_proper_long_double=yes,
   AC_MSG_RESULT(no)
   ac_cxx_provides_proper_long_double=no,
-  AC_MSG_RESULT(no)
+  AC_MSG_RESULT([assuming not])
   ac_cxx_provides_proper_long_double=no)
 
 if test x"$ac_cxx_provides_proper_long_double" = xyes
@@ -54,7 +54,7 @@ then
 else
   value=0
 fi
-AC_DEFINE_UNQUOTED(CXX_PROVIDES_PROPER_LONG_DOUBLE, $value,
+AC_DEFINE_UNQUOTED(PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE, $value,
   [Not zero if the C++ compiler provides long double numbers that have bigger range or precision than double.])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_cxx_remainder_bug.m4 b/m4/ac_cxx_remainder_bug.m4
index f35b6a8..2e93b6d 100644
--- a/m4/ac_cxx_remainder_bug.m4
+++ b/m4/ac_cxx_remainder_bug.m4
@@ -1,5 +1,5 @@
 dnl A function to check whether the C++ compiler has the `remainder' bug.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -51,7 +51,7 @@ int main(int argc, char** argv) {
   ac_cv_cxx_has_remainder_bug=no,
   AC_MSG_RESULT(yes)
   ac_cv_cxx_has_remainder_bug=yes,
-  AC_MSG_RESULT(yes)
+  AC_MSG_RESULT([assuming yes])
   ac_cv_cxx_has_remainder_bug=yes)
 
 if test x"$ac_cv_cxx_has_remainder_bug" = xyes
@@ -60,7 +60,7 @@ then
 else
   value=0
 fi
-AC_DEFINE_UNQUOTED(CXX_HAS_REMAINDER_BUG, $value,
+AC_DEFINE_UNQUOTED(PPL_CXX_HAS_REMAINDER_BUG, $value,
   [Not zero if the C++ compiler has the remainder bug.])
 
 AC_LANG_POP(C++)
diff --git a/m4/ac_prog_jar.m4 b/m4/ac_prog_jar.m4
index 41c05ea..c3a8884 100644
--- a/m4/ac_prog_jar.m4
+++ b/m4/ac_prog_jar.m4
@@ -35,7 +35,7 @@
 # COPYLEFT
 #
 #   Copyright (C) 2000      Egon Willighagen <e.willighagen at science.ru.nl>
-#   Copyright (C) 2006-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   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 b450758..95cacfa 100644
--- a/m4/ac_prog_java.m4
+++ b/m4/ac_prog_java.m4
@@ -22,7 +22,7 @@
 # COPYLEFT
 #
 #   Copyright (c) 2000      Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-#   Copyright (C) 2006-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   This program is free software; you can redistribute it and/or
 #   modify it under the terms of the GNU General Public License as
@@ -84,9 +84,9 @@ EOF
 if uudecode$EXEEXT Test.uue; then
         ac_cv_prog_uudecode_base64=yes
 else
-        echo "configure: __oline__: uudecode had trouble decoding base 64 file 'Test.uue'" >&AC_FD_CC
-        echo "configure: failed file was:" >&AC_FD_CC
-        cat Test.uue >&AC_FD_CC
+        echo "configure: __oline__: uudecode had trouble decoding base 64 file 'Test.uue'" >&AS_MESSAGE_LOG_FD
+        echo "configure: failed file was:" >&AS_MESSAGE_LOG_FD
+        cat Test.uue >&AS_MESSAGE_LOG_FD
         ac_cv_prog_uudecode_base64=no
 fi
 rm -f Test.uue])
@@ -114,8 +114,8 @@ if test x$ac_cv_prog_uudecode_base64 != xyes; then
         if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) && test -s $CLASS_TEST; then
                 :
         else
-          echo "configure: failed program was:" >&AC_FD_CC
-          cat $JAVA_TEST >&AC_FD_CC
+          echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
+          cat $JAVA_TEST >&AS_MESSAGE_LOG_FD
           AC_MSG_WARN(The Java compiler $JAVAC failed (see config.log, check the CLASSPATH?))
         fi
 fi
@@ -127,8 +127,8 @@ else
 if AC_TRY_COMMAND($JAVA $JAVAFLAGS $TEST) >/dev/null 2>&1; then
   ac_cv_prog_java_works=yes
 else
-  echo "configure: failed program was:" >&AC_FD_CC
-  cat $JAVA_TEST >&AC_FD_CC
+  echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
+  cat $JAVA_TEST >&AS_MESSAGE_LOG_FD
   AC_MSG_WARN(The Java VM $JAVA failed (see config.log, check the CLASSPATH?))
   fi
 fi
@@ -219,7 +219,7 @@ AC_PROVIDE([$0])dnl
 # COPYLEFT
 #
 #   Copyright (c) 2000      Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-#   Copyright (C) 2006-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   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 9bc5b80..25c06e8 100644
--- a/m4/ac_prog_javac.m4
+++ b/m4/ac_prog_javac.m4
@@ -1,5 +1,5 @@
 dnl A function to check whether the Java compiler supports enums.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
@@ -44,8 +44,8 @@ EOF
 if AC_TRY_COMMAND($JAVAC $JAVACFLAGS $JAVA_TEST) >/dev/null 2>&1; then
   ac_cv_javac_supports_enums=yes
 else
-  echo "configure: failed program was:" >&AC_FD_CC
-  cat $JAVA_TEST >&AC_FD_CC
+  echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD
+  cat $JAVA_TEST >&AS_MESSAGE_LOG_FD
   ac_cv_javac_supports_enums=no
 fi
 
@@ -96,7 +96,7 @@ AC_PROVIDE([$0])dnl
 # COPYLEFT
 #
 #   Copyright (c) 2000      Stephane Bortzmeyer <bortzmeyer at pasteur.fr>
-#   Copyright (C) 2006-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   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 eef679e..6886a2d 100644
--- a/m4/ac_prog_javah.m4
+++ b/m4/ac_prog_javah.m4
@@ -17,7 +17,7 @@
 # COPYLEFT
 #
 #   Copyright (C) 2002      Luc Maisonobe <luc at spaceroots.org>
-#   Copyright (C) 2006-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+#   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 #   Copying and distribution of this file, with or without
 #   modification, are permitted in any medium without royalty provided
diff --git a/m4/ac_text_md5sum.m4 b/m4/ac_text_md5sum.m4
index 8ef8536..73821e1 100644
--- a/m4/ac_text_md5sum.m4
+++ b/m4/ac_text_md5sum.m4
@@ -1,5 +1,5 @@
 dnl A function to set the command for computing the MD5 checksum of text files.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
 dnl
diff --git a/m4/ax_prefix_config_h.m4 b/m4/ax_prefix_config_h.m4
deleted file mode 100644
index 53f252a..0000000
--- a/m4/ax_prefix_config_h.m4
+++ /dev/null
@@ -1,183 +0,0 @@
-dnl @synopsis AX_PREFIX_CONFIG_H [(OUTPUT-HEADER [,PREFIX [,ORIG-HEADER]])]
-dnl
-dnl This is a new variant from ac_prefix_config_ this one will use a
-dnl lowercase-prefix if the config-define was starting with a
-dnl lowercase-char, e.g. "#define const", "#define restrict", or
-dnl "#define off_t", (and this one can live in another directory, e.g.
-dnl testpkg/config.h therefore I decided to move the output-header to
-dnl be the first arg)
-dnl
-dnl takes the usual config.h generated header file; looks for each of
-dnl the generated "#define SOMEDEF" lines, and prefixes the defined
-dnl name (ie. makes it "#define PREFIX_SOMEDEF". The result is written
-dnl to the output config.header file. The PREFIX is converted to
-dnl uppercase for the conversions.
-dnl
-dnl Defaults:
-dnl
-dnl   OUTPUT-HEADER = $PACKAGE-config.h
-dnl   PREFIX = $PACKAGE
-dnl   ORIG-HEADER, from AM_CONFIG_HEADER(config.h)
-dnl
-dnl Your configure.ac script should contain both macros in this order,
-dnl and unlike the earlier variations of this prefix-macro it is okay
-dnl to place the AX_PREFIX_CONFIG_H call before the AC_OUTPUT
-dnl invokation.
-dnl
-dnl Example:
-dnl
-dnl   AC_INIT(config.h.in)        # config.h.in as created by "autoheader"
-dnl   AM_INIT_AUTOMAKE(testpkg, 0.1.1)    # makes #undef VERSION and PACKAGE
-dnl   AM_CONFIG_HEADER(config.h)          # prep config.h from config.h.in
-dnl   AX_PREFIX_CONFIG_H(mylib/_config.h) # prep mylib/_config.h from it..
-dnl   AC_MEMORY_H                         # makes "#undef NEED_MEMORY_H"
-dnl   AC_C_CONST_H                        # makes "#undef const"
-dnl   AC_OUTPUT(Makefile)                 # creates the "config.h" now
-dnl                                       # and also mylib/_config.h
-dnl
-dnl if the argument to AX_PREFIX_CONFIG_H would have been omitted then
-dnl the default outputfile would have been called simply
-dnl "testpkg-config.h", but even under the name "mylib/_config.h" it
-dnl contains prefix-defines like
-dnl
-dnl   #ifndef TESTPKG_VERSION
-dnl   #define TESTPKG_VERSION "0.1.1"
-dnl   #endif
-dnl   #ifndef TESTPKG_NEED_MEMORY_H
-dnl   #define TESTPKG_NEED_MEMORY_H 1
-dnl   #endif
-dnl   #ifndef _testpkg_const
-dnl   #define _testpkg_const _const
-dnl   #endif
-dnl
-dnl and this "mylib/_config.h" can be installed along with other
-dnl header-files, which is most convenient when creating a shared
-dnl library (that has some headers) where some functionality is
-dnl dependent on the OS-features detected at compile-time. No need to
-dnl invent some "mylib-confdefs.h.in" manually. :-)
-dnl
-dnl Note that some AC_DEFINEs that end up in the config.h file are
-dnl actually self-referential - e.g. AC_C_INLINE, AC_C_CONST, and the
-dnl AC_TYPE_OFF_T say that they "will define inline|const|off_t if the
-dnl system does not do it by itself". You might want to clean up about
-dnl these - consider an extra mylib/conf.h that reads something like:
-dnl
-dnl    #include <mylib/_config.h>
-dnl    #ifndef _testpkg_const
-dnl    #define _testpkg_const const
-dnl    #endif
-dnl
-dnl and then start using _testpkg_const in the header files. That is
-dnl also a good thing to differentiate whether some library-user has
-dnl starting to take up with a different compiler, so perhaps it could
-dnl read something like this:
-dnl
-dnl   #ifdef _MSC_VER
-dnl   #include <mylib/_msvc.h>
-dnl   #else
-dnl   #include <mylib/_config.h>
-dnl   #endif
-dnl   #ifndef _testpkg_const
-dnl   #define _testpkg_const const
-dnl   #endif
-dnl
-dnl @category Misc
-dnl @author Guido U. Draheim <guidod at gmx.de>
-dnl @author Marten Svantesson <msv at kth.se>
-dnl @version 2006-10-13
-dnl @license GPLWithACException
-
-AC_DEFUN([AX_PREFIX_CONFIG_H],[dnl
-AC_BEFORE([AC_CONFIG_HEADERS],[$0])dnl
-AC_CONFIG_COMMANDS([ifelse($1,,$PACKAGE-config.h,$1)],[dnl
-AS_VAR_PUSHDEF([_OUT],[ac_prefix_conf_OUT])dnl
-AS_VAR_PUSHDEF([_DEF],[ac_prefix_conf_DEF])dnl
-AS_VAR_PUSHDEF([_PKG],[ac_prefix_conf_PKG])dnl
-AS_VAR_PUSHDEF([_LOW],[ac_prefix_conf_LOW])dnl
-AS_VAR_PUSHDEF([_UPP],[ac_prefix_conf_UPP])dnl
-AS_VAR_PUSHDEF([_INP],[ac_prefix_conf_INP])dnl
-m4_pushdef([_script],[conftest.prefix])dnl
-m4_pushdef([_symbol],[m4_cr_Letters[]m4_cr_digits[]_])dnl
-_OUT=`echo ifelse($1, , $PACKAGE-config.h, $1)`
-_DEF=`echo _$_OUT | sed -e "y:m4_cr_letters:m4_cr_LETTERS[]:" -e "s/@<:@^m4_cr_Letters@:>@/_/g"`
-_PKG=`echo ifelse($2, , $PACKAGE, $2)`
-_LOW=`echo _$_PKG | sed -e "y:m4_cr_LETTERS-:m4_cr_letters[]_:"`
-_UPP=`echo $_PKG | sed -e "y:m4_cr_letters-:m4_cr_LETTERS[]_:"  -e "/^@<:@m4_cr_digits@:>@/s/^/_/"`
-_INP=`echo "ifelse($3,,,$3)" | sed -e 's/ *//'`
-if test ".$_INP" = "."; then
-   for ac_file in : $CONFIG_HEADERS; do test "_$ac_file" = _: && continue
-     case "$ac_file" in
-        *.h) _INP=$ac_file ;;
-        *)
-     esac
-     test ".$_INP" != "." && break
-   done
-fi
-if test ".$_INP" = "."; then
-   case "$_OUT" in
-      */*) _INP=`basename "$_OUT"`
-      ;;
-      *-*) _INP=`echo "$_OUT" | sed -e "s/@<:@_symbol@:>@*-//"`
-      ;;
-      *) _INP=config.h
-      ;;
-   esac
-fi
-if test -z "$_PKG" ; then
-   AC_MSG_ERROR([no prefix for _PREFIX_PKG_CONFIG_H])
-else
-  if test ! -f "$_INP" ; then if test -f "$srcdir/$_INP" ; then
-     _INP="$srcdir/$_INP"
-  fi fi
-  AC_MSG_NOTICE(creating $_OUT - prefix $_UPP for $_INP defines)
-  if test -f $_INP ; then
-    echo "s/@%:@undef  *\\(@<:@m4_cr_LETTERS[]_@:>@\\)/@%:@undef $_UPP""_\\1/" > _script
-    echo "s/@%:@undef  *\\(@<:@m4_cr_letters@:>@\\)/@%:@undef $_LOW""_\\1/" >> _script
-    echo "s/@%:@def[]ine  *\\(@<:@m4_cr_LETTERS[]_@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_UPP""_\\1 \\" >> _script
-    echo "@%:@def[]ine $_UPP""_\\1 \\2 \\" >> _script
-    echo "@%:@endif/" >>_script
-    echo "s/@%:@def[]ine  *\\(@<:@m4_cr_letters@:>@@<:@_symbol@:>@*\\)\\(.*\\)/@%:@ifndef $_LOW""_\\1 \\" >> _script
-    echo "@%:@define $_LOW""_\\1 \\2 \\" >> _script
-    echo "@%:@endif/" >> _script
-    # now executing _script on _DEF input to create _OUT output file
-    echo "@%:@ifndef $_DEF"      >$tmp/pconfig.h
-    echo "@%:@def[]ine $_DEF 1" >>$tmp/pconfig.h
-    echo ' ' >>$tmp/pconfig.h
-    echo /'*' $_OUT. Generated automatically at end of configure. '*'/ >>$tmp/pconfig.h
-
-    sed -f _script $_INP >>$tmp/pconfig.h
-    echo ' ' >>$tmp/pconfig.h
-    echo '/* once:' $_DEF '*/' >>$tmp/pconfig.h
-    echo "@%:@endif" >>$tmp/pconfig.h
-    if cmp -s $_OUT $tmp/pconfig.h 2>/dev/null; then
-      AC_MSG_NOTICE([$_OUT is unchanged])
-    else
-      ac_dir=`AS_DIRNAME(["$_OUT"])`
-      AS_MKDIR_P(["$ac_dir"])
-      rm -f "$_OUT"
-      mv $tmp/pconfig.h "$_OUT"
-    fi
-    cp _script _configs.sed
-  else
-    AC_MSG_ERROR([input file $_INP does not exist - skip generating $_OUT])
-  fi
-  rm -f conftest.*
-fi
-m4_popdef([_symbol])dnl
-m4_popdef([_script])dnl
-AS_VAR_POPDEF([_INP])dnl
-AS_VAR_POPDEF([_UPP])dnl
-AS_VAR_POPDEF([_LOW])dnl
-AS_VAR_POPDEF([_PKG])dnl
-AS_VAR_POPDEF([_DEF])dnl
-AS_VAR_POPDEF([_OUT])dnl
-],[PACKAGE="$PACKAGE"])])
-
-dnl implementation note: a bug report (31.5.2005) from Marten Svantesson points
-dnl out a problem where `echo "\1"` results in a Control-A. The unix standard
-dnl    http://www.opengroup.org/onlinepubs/000095399/utilities/echo.html
-dnl defines all backslash-sequences to be inherently non-portable asking
-dnl for replacement mit printf. Some old systems had problems with that
-dnl one either. However, the latest libtool (!) release does export an $ECHO
-dnl (and $echo) that does the right thing - just one question is left: what
-dnl was the first version to have it? Is it greater 2.58 ?
diff --git a/m4/m4.m4 b/m4/m4.m4
new file mode 100644
index 0000000..f27d8c0
--- /dev/null
+++ b/m4/m4.m4
@@ -0,0 +1,46 @@
+# m4.m4 serial 5
+dnl Copyright (C) 2000, 2006, 2007, 2008 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.
+
+# AC_PROG_GNU_M4
+# --------------
+# Check for GNU M4, at least 1.4.5 (all earlier versions had a bug in
+# trace support:
+# http://lists.gnu.org/archive/html/bug-gnu-utils/2006-11/msg00096.html)
+# Also, check whether --error-output (through 1.4.x) or --debugfile (2.0)
+# is supported, and AC_SUBST M4_DEBUGFILE accordingly.
+AC_DEFUN([AC_PROG_GNU_M4],
+  [AC_ARG_VAR([M4], [Location of GNU M4 1.4.5 or later.  Defaults to the first
+    program of `m4', `gm4', or `gnum4' on PATH that meets Autoconf needs.])
+  AC_CACHE_CHECK([for GNU M4 that supports accurate traces], [ac_cv_path_M4],
+    [rm -f conftest.m4f
+AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4 gnum4],
+      [dnl Creative quoting here to avoid raw dnl and ifdef in configure.
+      # Root out GNU M4 1.4.4, as well as non-GNU m4 that ignore -t, -F.
+      ac_snippet=change'quote(<,>)in''dir(<if''def>,mac,bug)d'nl
+      test -z "`$ac_path_M4 -F conftest.m4f </dev/null 2>&1`" \
+      && test -z "`echo $ac_snippet | $ac_path_M4 --trace=mac 2>&1`" \
+      && test -f conftest.m4f \
+      && 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])])])
+  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
+      *debugfile*) ac_cv_prog_gnu_m4_debugfile=--debugfile ;;
+      *) ac_cv_prog_gnu_m4_debugfile=--error-output ;;
+    esac])
+  AC_SUBST([M4_DEBUGFILE], [$ac_cv_prog_gnu_m4_debugfile])
+])
+
+# Compatibility for bootstrapping with Autoconf 2.61.
+dnl FIXME - replace this with AC_PREREQ([2.62]) after the release.
+# AC_PATH_PROGS_FEATURE_CHECK was added the same time the slightly broken,
+# undocumented _AC_PATH_PROG_FEATURE_CHECK was deleted.
+m4_ifndef([AC_PATH_PROGS_FEATURE_CHECK],
+  [m4_define([AC_PATH_PROGS_FEATURE_CHECK],
+    [_AC_PATH_PROG_FEATURE_CHECK([$1], [$2], [$3], [$5])
+])])
diff --git a/m4/ppl.m4 b/m4/ppl.m4
index 3660a03..e3ef4fc 100644
--- a/m4/ppl.m4
+++ b/m4/ppl.m4
@@ -1,6 +1,6 @@
 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) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl Copyright (C) 1997 Owen Taylor
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
diff --git a/m4/ppl_c.m4 b/m4/ppl_c.m4
index c5781e9..ee29caf 100644
--- a/m4/ppl_c.m4
+++ b/m4/ppl_c.m4
@@ -1,7 +1,7 @@
 dnl A function to test for the existence and usability of particular
 dnl versions of the C interface of the PPL, defining macros containing
 dnl the required paths.
-dnl Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+dnl Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 dnl Copyright (C) 1997 Owen Taylor
 dnl
 dnl This file is part of the Parma Polyhedra Library (PPL).
diff --git a/config.h.in b/ppl-config.h.in
similarity index 71%
copy from config.h.in
copy to ppl-config.h.in
index 5541b20..a01dee5 100644
--- a/config.h.in
+++ b/ppl-config.h.in
@@ -3,345 +3,351 @@
 
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
+#define PPL_FLOAT_IEEE754_SINGLE 1
 
 /* Unique (nonzero) code for the IEEE 754 Double Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
+#define PPL_FLOAT_IEEE754_DOUBLE 2
 
 /* Unique (nonzero) code for the IEEE 754 Quad Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
+#define PPL_FLOAT_IEEE754_QUAD 3
 
 /* Unique (nonzero) code for the Intel Double-Extended
    floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
+#define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
 
 
-/* ABI-breaking extra assertions are enabled when this is defined. */
-#undef ABI_BREAKING_EXTRA_DEBUG
-
 /* Define if building universal (internal helper macro) */
 #undef AC_APPLE_UNIVERSAL_BUILD
 
-/* Not zero if the FPU can be controlled. */
-#undef CAN_CONTROL_FPU
-
-/* Defined if the integral type to be used for coefficients is a checked one.
-   */
-#undef CHECKED_INTEGERS
-
-/* The number of bits of coefficients; 0 if unbounded. */
-#undef COEFFICIENT_BITS
-
-/* The integral type used to represent coefficients. */
-#undef COEFFICIENT_TYPE
-
-/* This contains the options with which `configure' was invoked. */
-#undef CONFIGURE_OPTIONS
-
-/* The unique code of the binary format of C++ doubles, if supported;
-   undefined otherwise. */
-#undef CXX_DOUBLE_BINARY_FORMAT
-
-/* Not zero if C++ supports exact output for doubles. */
-#undef CXX_DOUBLE_EXACT_OUTPUT
-
-/* The binary format of C++ floats, if supported; undefined otherwise. */
-#undef CXX_FLOAT_BINARY_FORMAT
-
-/* Not zero if C++ supports exact output for floats. */
-#undef CXX_FLOAT_EXACT_OUTPUT
-
-/* Not zero if the C++ compiler has the remainder bug. */
-#undef CXX_HAS_REMAINDER_BUG
-
-/* The unique code of the binary format of C++ long doubles, if supported;
-   undefined otherwise. */
-#undef CXX_LONG_DOUBLE_BINARY_FORMAT
-
-/* Not zero if C++ supports exact output for long doubles. */
-#undef CXX_LONG_DOUBLE_EXACT_OUTPUT
-
-/* Not zero if the C++ compiler provides long double numbers that have bigger
-   range or precision than double. */
-#undef CXX_PROVIDES_PROPER_LONG_DOUBLE
-
-/* Not zero if the C++ compiler supports __attribute__ ((weak)). */
-#undef CXX_SUPPORTS_ATTRIBUTE_WEAK
-
-/* Not zero if the C++ compiler supports flexible arrays. */
-#undef CXX_SUPPORTS_FLEXIBLE_ARRAYS
-
-/* Not zero if the the IEEE inexact flag is supported in C++. */
-#undef CXX_SUPPORTS_IEEE_INEXACT_FLAG
-
-/* Not zero if it is possible to limit memory using setrlimit(). */
-#undef CXX_SUPPORTS_LIMITING_MEMORY
-
-/* Defined if floating point arithmetics may use the 387 unit. */
-#undef FPMATH_MAY_USE_387
-
-/* Defined if floating point arithmetics may use the SSE instruction set. */
-#undef FPMATH_MAY_USE_SSE
-
-/* Defined if GLPK provides glp_term_hook(). */
-#undef GLPK_HAS_GLP_TERM_HOOK
-
-/* Defined if GLPK provides glp_term_out(). */
-#undef GLPK_HAS_GLP_TERM_OUT
-
-/* Defined if GLPK provides lib_set_print_hook(). */
-#undef GLPK_HAS_LIB_SET_PRINT_HOOK
-
-/* Defined if GLPK provides _glp_lib_print_hook(). */
-#undef GLPK_HAS__GLP_LIB_PRINT_HOOK
-
-/* Defined if the integral type to be used for coefficients is GMP's one. */
-#undef GMP_INTEGERS
-
-/* Not zero if GMP has been compiled with support for exceptions. */
-#undef GMP_SUPPORTS_EXCEPTIONS
-
 /* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
-#undef HAVE_DECL_FFS
+#undef PPL_HAVE_DECL_FFS
 
 /* Define to 1 if you have the declaration of `fma', and to 0 if you don't. */
-#undef HAVE_DECL_FMA
+#undef PPL_HAVE_DECL_FMA
 
 /* Define to 1 if you have the declaration of `fmaf', and to 0 if you don't.
    */
-#undef HAVE_DECL_FMAF
+#undef PPL_HAVE_DECL_FMAF
 
 /* Define to 1 if you have the declaration of `fmal', and to 0 if you don't.
    */
-#undef HAVE_DECL_FMAL
+#undef PPL_HAVE_DECL_FMAL
 
 /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
    */
-#undef HAVE_DECL_GETENV
+#undef PPL_HAVE_DECL_GETENV
 
 /* Define to 1 if you have the declaration of `getrusage', and to 0 if you
    don't. */
-#undef HAVE_DECL_GETRUSAGE
+#undef PPL_HAVE_DECL_GETRUSAGE
 
 /* Define to 1 if you have the declaration of `rintf', and to 0 if you don't.
    */
-#undef HAVE_DECL_RINTF
+#undef PPL_HAVE_DECL_RINTF
 
 /* Define to 1 if you have the declaration of `rintl', and to 0 if you don't.
    */
-#undef HAVE_DECL_RINTL
+#undef PPL_HAVE_DECL_RINTL
 
 /* Define to 1 if you have the declaration of `RLIMIT_AS', and to 0 if you
    don't. */
-#undef HAVE_DECL_RLIMIT_AS
+#undef PPL_HAVE_DECL_RLIMIT_AS
 
 /* Define to 1 if you have the declaration of `RLIMIT_DATA', and to 0 if you
    don't. */
-#undef HAVE_DECL_RLIMIT_DATA
+#undef PPL_HAVE_DECL_RLIMIT_DATA
 
 /* Define to 1 if you have the declaration of `RLIMIT_RSS', and to 0 if you
    don't. */
-#undef HAVE_DECL_RLIMIT_RSS
+#undef PPL_HAVE_DECL_RLIMIT_RSS
 
 /* Define to 1 if you have the declaration of `RLIMIT_VMEM', and to 0 if you
    don't. */
-#undef HAVE_DECL_RLIMIT_VMEM
+#undef PPL_HAVE_DECL_RLIMIT_VMEM
 
 /* Define to 1 if you have the declaration of `strtod', and to 0 if you don't.
    */
-#undef HAVE_DECL_STRTOD
+#undef PPL_HAVE_DECL_STRTOD
 
 /* Define to 1 if you have the declaration of `strtof', and to 0 if you don't.
    */
-#undef HAVE_DECL_STRTOF
+#undef PPL_HAVE_DECL_STRTOF
 
 /* Define to 1 if you have the declaration of `strtold', and to 0 if you
    don't. */
-#undef HAVE_DECL_STRTOLD
+#undef PPL_HAVE_DECL_STRTOLD
 
 /* Define to 1 if you have the declaration of `strtoll', and to 0 if you
    don't. */
-#undef HAVE_DECL_STRTOLL
+#undef PPL_HAVE_DECL_STRTOLL
 
 /* Define to 1 if you have the declaration of `strtoull', and to 0 if you
    don't. */
-#undef HAVE_DECL_STRTOULL
+#undef PPL_HAVE_DECL_STRTOULL
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
+#undef PPL_HAVE_DLFCN_H
 
 /* Define to 1 if you have the <fenv.h> header file. */
-#undef HAVE_FENV_H
+#undef PPL_HAVE_FENV_H
 
 /* Define to 1 if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
+#undef PPL_HAVE_GETOPT_H
 
 /* Define to 1 if you have the <glpk/glpk.h> header file. */
-#undef HAVE_GLPK_GLPK_H
+#undef PPL_HAVE_GLPK_GLPK_H
 
 /* Define to 1 if you have the <glpk.h> header file. */
-#undef HAVE_GLPK_H
+#undef PPL_HAVE_GLPK_H
 
 /* Define to 1 if you have the <ieeefp.h> header file. */
-#undef HAVE_IEEEFP_H
+#undef PPL_HAVE_IEEEFP_H
 
 /* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
+#undef PPL_HAVE_INTTYPES_H
 
 /* Define to 1 if the system has the type `int_fast16_t'. */
-#undef HAVE_INT_FAST16_T
+#undef PPL_HAVE_INT_FAST16_T
 
 /* Define to 1 if the system has the type `int_fast32_t'. */
-#undef HAVE_INT_FAST32_T
+#undef PPL_HAVE_INT_FAST32_T
 
 /* Define to 1 if the system has the type `int_fast64_t'. */
-#undef HAVE_INT_FAST64_T
+#undef PPL_HAVE_INT_FAST64_T
 
 /* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
+#undef PPL_HAVE_MEMORY_H
+
+/* Define to 1 if you have the `setitimer' function. */
+#undef HAVE_SETITIMER
+
+/* Define to 1 if the system has the type `siginfo_t'. */
+#undef HAVE_SIGINFO_T
 
 /* Define to 1 if you have the <signal.h> header file. */
-#undef HAVE_SIGNAL_H
+#undef PPL_HAVE_SIGNAL_H
 
 /* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
+#undef PPL_HAVE_STDINT_H
 
 /* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
+#undef PPL_HAVE_STDLIB_H
 
 /* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
+#undef PPL_HAVE_STRINGS_H
 
 /* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
+#undef PPL_HAVE_STRING_H
 
 /* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
+#undef PPL_HAVE_SYS_RESOURCE_H
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
+#undef PPL_HAVE_SYS_STAT_H
 
 /* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
+#undef PPL_HAVE_SYS_TIME_H
 
 /* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
+#undef PPL_HAVE_SYS_TYPES_H
 
 /* Define to 1 if the system has the type `timeval'. */
-#undef HAVE_TIMEVAL
+#undef PPL_HAVE_TIMEVAL
 
 /* Define to 1 if typeof works with your compiler. */
-#undef HAVE_TYPEOF
+#undef PPL_HAVE_TYPEOF
 
 /* Define to 1 if the system has the type `uint_fast16_t'. */
-#undef HAVE_UINT_FAST16_T
+#undef PPL_HAVE_UINT_FAST16_T
 
 /* Define to 1 if the system has the type `uint_fast32_t'. */
-#undef HAVE_UINT_FAST32_T
+#undef PPL_HAVE_UINT_FAST32_T
 
 /* Define to 1 if the system has the type `uint_fast64_t'. */
-#undef HAVE_UINT_FAST64_T
+#undef PPL_HAVE_UINT_FAST64_T
 
 /* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
+#undef PPL_HAVE_UNISTD_H
 
 /* Define to 1 if `_mp_alloc' is member of `__mpz_struct'. */
-#undef HAVE___MPZ_STRUCT__MP_ALLOC
+#undef PPL_HAVE___MPZ_STRUCT__MP_ALLOC
 
 /* Define to 1 if `_mp_d' is member of `__mpz_struct'. */
-#undef HAVE___MPZ_STRUCT__MP_D
+#undef PPL_HAVE___MPZ_STRUCT__MP_D
 
 /* Define to 1 if `_mp_size' is member of `__mpz_struct'. */
-#undef HAVE___MPZ_STRUCT__MP_SIZE
+#undef PPL_HAVE___MPZ_STRUCT__MP_SIZE
 
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
 #undef LT_OBJDIR
 
-/* Defined if the integral type to be used for coefficients is a native one.
-   */
-#undef NATIVE_INTEGERS
-
-/* Assertions are disabled when this is defined. */
-#undef NDEBUG
-
 /* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
+#undef PPL_PACKAGE_BUGREPORT
 
 /* Define to the full name of this package. */
-#undef PACKAGE_NAME
+#undef PPL_PACKAGE_NAME
 
 /* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
+#undef PPL_PACKAGE_STRING
 
 /* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
+#undef PPL_PACKAGE_TARNAME
 
 /* Define to the version of this package. */
-#undef PACKAGE_VERSION
+#undef PPL_PACKAGE_VERSION
+
+/* ABI-breaking extra assertions are enabled when this is defined. */
+#undef PPL_ABI_BREAKING_EXTRA_DEBUG
+
+/* Not zero if the FPU can be controlled. */
+#undef PPL_CAN_CONTROL_FPU
+
+/* Defined if the integral type to be used for coefficients is a checked one.
+   */
+#undef PPL_CHECKED_INTEGERS
+
+/* The number of bits of coefficients; 0 if unbounded. */
+#undef PPL_COEFFICIENT_BITS
+
+/* The integral type used to represent coefficients. */
+#undef PPL_COEFFICIENT_TYPE
+
+/* This contains the options with which `configure' was invoked. */
+#undef PPL_CONFIGURE_OPTIONS
+
+/* The unique code of the binary format of C++ doubles, if supported;
+   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 C++ compiler provides long double numbers that have bigger
+   range or precision than double. */
+#undef PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE
+
+/* 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
+
+/* Defined if floating point arithmetics may use the 387 unit. */
+#undef PPL_FPMATH_MAY_USE_387
+
+/* Defined if floating point arithmetics may use the SSE instruction set. */
+#undef PPL_FPMATH_MAY_USE_SSE
+
+/* Defined if GLPK provides glp_term_hook(). */
+#undef PPL_GLPK_HAS_GLP_TERM_HOOK
+
+/* Defined if GLPK provides glp_term_out(). */
+#undef PPL_GLPK_HAS_GLP_TERM_OUT
+
+/* Defined if GLPK provides lib_set_print_hook(). */
+#undef PPL_GLPK_HAS_LIB_SET_PRINT_HOOK
+
+/* Defined if GLPK provides _glp_lib_print_hook(). */
+#undef PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK
+
+/* Defined if the integral type to be used for coefficients is GMP's one. */
+#undef PPL_GMP_INTEGERS
+
+/* Not zero if GMP has been compiled with support for exceptions. */
+#undef PPL_GMP_SUPPORTS_EXCEPTIONS
+
+/* Defined if the integral type to be used for coefficients is a native one.
+   */
+#undef PPL_NATIVE_INTEGERS
+
+/* Assertions are disabled when this is defined. */
+#undef PPL_NDEBUG
+
+/* Not zero if doubles are supported. */
+#undef PPL_SUPPORTED_DOUBLE
+
+/* Not zero if floats are supported. */
+#undef PPL_SUPPORTED_FLOAT
+
+/* 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
+#undef PPL_SIZEOF_CHAR
 
 /* The size of `double', as computed by sizeof. */
-#undef SIZEOF_DOUBLE
+#undef PPL_SIZEOF_DOUBLE
 
 /* The size of `float', as computed by sizeof. */
-#undef SIZEOF_FLOAT
+#undef PPL_SIZEOF_FLOAT
 
 /* The size of `fp', as computed by sizeof. */
-#undef SIZEOF_FP
+#undef PPL_SIZEOF_FP
 
 /* The size of `int', as computed by sizeof. */
-#undef SIZEOF_INT
+#undef PPL_SIZEOF_INT
 
 /* The size of `int*', as computed by sizeof. */
-#undef SIZEOF_INTP
+#undef PPL_SIZEOF_INTP
 
 /* The size of `long', as computed by sizeof. */
-#undef SIZEOF_LONG
+#undef PPL_SIZEOF_LONG
 
 /* The size of `long double', as computed by sizeof. */
-#undef SIZEOF_LONG_DOUBLE
+#undef PPL_SIZEOF_LONG_DOUBLE
 
 /* The size of `long long', as computed by sizeof. */
-#undef SIZEOF_LONG_LONG
+#undef PPL_SIZEOF_LONG_LONG
 
 /* The size of `mp_limb_t', as computed by sizeof. */
-#undef SIZEOF_MP_LIMB_T
+#undef PPL_SIZEOF_MP_LIMB_T
 
 /* The size of `short', as computed by sizeof. */
-#undef SIZEOF_SHORT
+#undef PPL_SIZEOF_SHORT
 
 /* The size of `size_t', as computed by sizeof. */
-#undef SIZEOF_SIZE_T
+#undef PPL_SIZEOF_SIZE_T
 
 /* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Not zero if doubles are supported. */
-#undef SUPPORTED_DOUBLE
-
-/* Not zero if floats are supported. */
-#undef SUPPORTED_FLOAT
-
-/* Not zero if long doubles are supported. */
-#undef SUPPORTED_LONG_DOUBLE
-
-/* Defined if the Parma Watchdog Library is enabled. */
-#undef WATCHDOG_LIBRARY_ENABLED
+#undef PPL_STDC_HEADERS
 
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+/* Define PPL_WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
 #if defined AC_APPLE_UNIVERSAL_BUILD
 # if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
+#  define PPL_WORDS_BIGENDIAN 1
 # endif
 #else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
+# ifndef PPL_WORDS_BIGENDIAN
+#  undef PPL_WORDS_BIGENDIAN
 # endif
 #endif
 
@@ -364,7 +370,7 @@
 #undef typeof
 
 
-#ifdef PPL_NDEBUG
+#if defined(PPL_NDEBUG) && !defined(NDEBUG)
 # define NDEBUG PPL_NDEBUG
 #endif
 
diff --git a/ppl-config.sed b/ppl-config.sed
new file mode 100644
index 0000000..2d74bb6
--- /dev/null
+++ b/ppl-config.sed
@@ -0,0 +1,65 @@
+s/\([^A-Z_]\)HAVE_DECL_FFS/\1PPL_HAVE_DECL_FFS/g
+s/\([^A-Z_]\)HAVE_DECL_FMA/\1PPL_HAVE_DECL_FMA/g
+s/\([^A-Z_]\)HAVE_DECL_FMAF/\1PPL_HAVE_DECL_FMAF/g
+s/\([^A-Z_]\)HAVE_DECL_FMAL/\1PPL_HAVE_DECL_FMAL/g
+s/\([^A-Z_]\)HAVE_DECL_GETENV/\1PPL_HAVE_DECL_GETENV/g
+s/\([^A-Z_]\)HAVE_DECL_GETRUSAGE/\1PPL_HAVE_DECL_GETRUSAGE/g
+s/\([^A-Z_]\)HAVE_DECL_RINTF/\1PPL_HAVE_DECL_RINTF/g
+s/\([^A-Z_]\)HAVE_DECL_RINTL/\1PPL_HAVE_DECL_RINTL/g
+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_STRTOD/\1PPL_HAVE_DECL_STRTOD/g
+s/\([^A-Z_]\)HAVE_DECL_STRTOF/\1PPL_HAVE_DECL_STRTOF/g
+s/\([^A-Z_]\)HAVE_DECL_STRTOLD/\1PPL_HAVE_DECL_STRTOLD/g
+s/\([^A-Z_]\)HAVE_DECL_STRTOLL/\1PPL_HAVE_DECL_STRTOLL/g
+s/\([^A-Z_]\)HAVE_DECL_STRTOULL/\1PPL_HAVE_DECL_STRTOULL/g
+s/\([^A-Z_]\)HAVE_DLFCN_H/\1PPL_HAVE_DLFCN_H/g
+s/\([^A-Z_]\)HAVE_FENV_H/\1PPL_HAVE_FENV_H/g
+s/\([^A-Z_]\)HAVE_GETOPT_H/\1PPL_HAVE_GETOPT_H/g
+s/\([^A-Z_]\)HAVE_GLPK_GLPK_H/\1PPL_HAVE_GLPK_GLPK_H/g
+s/\([^A-Z_]\)HAVE_GLPK_H/\1PPL_HAVE_GLPK_H/g
+s/\([^A-Z_]\)HAVE_IEEEFP_H/\1PPL_HAVE_IEEEFP_H/g
+s/\([^A-Z_]\)HAVE_INTTYPES_H/\1PPL_HAVE_INTTYPES_H/g
+s/\([^A-Z_]\)HAVE_INT_FAST16_T/\1PPL_HAVE_INT_FAST16_T/g
+s/\([^A-Z_]\)HAVE_INT_FAST32_T/\1PPL_HAVE_INT_FAST32_T/g
+s/\([^A-Z_]\)HAVE_INT_FAST64_T/\1PPL_HAVE_INT_FAST64_T/g
+s/\([^A-Z_]\)HAVE_MEMORY_H/\1PPL_HAVE_MEMORY_H/g
+s/\([^A-Z_]\)HAVE_SIGNAL_H/\1PPL_HAVE_SIGNAL_H/g
+s/\([^A-Z_]\)HAVE_STDINT_H/\1PPL_HAVE_STDINT_H/g
+s/\([^A-Z_]\)HAVE_STDLIB_H/\1PPL_HAVE_STDLIB_H/g
+s/\([^A-Z_]\)HAVE_STRINGS_H/\1PPL_HAVE_STRINGS_H/g
+s/\([^A-Z_]\)HAVE_STRING_H/\1PPL_HAVE_STRING_H/g
+s/\([^A-Z_]\)HAVE_SYS_RESOURCE_H/\1PPL_HAVE_SYS_RESOURCE_H/g
+s/\([^A-Z_]\)HAVE_SYS_STAT_H/\1PPL_HAVE_SYS_STAT_H/g
+s/\([^A-Z_]\)HAVE_SYS_TIME_H/\1PPL_HAVE_SYS_TIME_H/g
+s/\([^A-Z_]\)HAVE_SYS_TYPES_H/\1PPL_HAVE_SYS_TYPES_H/g
+s/\([^A-Z_]\)HAVE_TIMEVAL/\1PPL_HAVE_TIMEVAL/g
+s/\([^A-Z_]\)HAVE_TYPEOF/\1PPL_HAVE_TYPEOF/g
+s/\([^A-Z_]\)HAVE_UINT_FAST16_T/\1PPL_HAVE_UINT_FAST16_T/g
+s/\([^A-Z_]\)HAVE_UINT_FAST32_T/\1PPL_HAVE_UINT_FAST32_T/g
+s/\([^A-Z_]\)HAVE_UINT_FAST64_T/\1PPL_HAVE_UINT_FAST64_T/g
+s/\([^A-Z_]\)HAVE_UNISTD_H/\1PPL_HAVE_UNISTD_H/g
+s/\([^A-Z_]\)HAVE___MPZ_STRUCT__MP_ALLOC/\1PPL_HAVE___MPZ_STRUCT__MP_ALLOC/g
+s/\([^A-Z_]\)HAVE___MPZ_STRUCT__MP_D/\1PPL_HAVE___MPZ_STRUCT__MP_D/g
+s/\([^A-Z_]\)HAVE___MPZ_STRUCT__MP_SIZE/\1PPL_HAVE___MPZ_STRUCT__MP_SIZE/g
+s/\([^A-Z_]\)PACKAGE_BUGREPORT/\1PPL_PACKAGE_BUGREPORT/g
+s/\([^A-Z_]\)PACKAGE_NAME/\1PPL_PACKAGE_NAME/g
+s/\([^A-Z_]\)PACKAGE_STRING/\1PPL_PACKAGE_STRING/g
+s/\([^A-Z_]\)PACKAGE_TARNAME/\1PPL_PACKAGE_TARNAME/g
+s/\([^A-Z_]\)PACKAGE_VERSION/\1PPL_PACKAGE_VERSION/g
+s/\([^A-Z_]\)SIZEOF_CHAR/\1PPL_SIZEOF_CHAR/g
+s/\([^A-Z_]\)SIZEOF_DOUBLE/\1PPL_SIZEOF_DOUBLE/g
+s/\([^A-Z_]\)SIZEOF_FLOAT/\1PPL_SIZEOF_FLOAT/g
+s/\([^A-Z_]\)SIZEOF_FP/\1PPL_SIZEOF_FP/g
+s/\([^A-Z_]\)SIZEOF_INT/\1PPL_SIZEOF_INT/g
+s/\([^A-Z_]\)SIZEOF_INTP/\1PPL_SIZEOF_INTP/g
+s/\([^A-Z_]\)SIZEOF_LONG/\1PPL_SIZEOF_LONG/g
+s/\([^A-Z_]\)SIZEOF_LONG_DOUBLE/\1PPL_SIZEOF_LONG_DOUBLE/g
+s/\([^A-Z_]\)SIZEOF_LONG_LONG/\1PPL_SIZEOF_LONG_LONG/g
+s/\([^A-Z_]\)SIZEOF_MP_LIMB_T/\1PPL_SIZEOF_MP_LIMB_T/g
+s/\([^A-Z_]\)SIZEOF_SHORT/\1PPL_SIZEOF_SHORT/g
+s/\([^A-Z_]\)SIZEOF_SIZE_T/\1PPL_SIZEOF_SIZE_T/g
+s/\([^A-Z_]\)STDC_HEADERS/\1PPL_STDC_HEADERS/g
+s/\([^A-Z_]\)WORDS_BIGENDIAN/\1PPL_WORDS_BIGENDIAN/g
diff --git a/src/BDS_Status.idefs.hh b/src/BDS_Status.idefs.hh
index b0acfb4..1353bda 100644
--- a/src/BDS_Status.idefs.hh
+++ b/src/BDS_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* BD_Shape<T>::Status class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/BDS_Status.inlines.hh b/src/BDS_Status.inlines.hh
index b9251c7..65d9ac3 100644
--- a/src/BDS_Status.inlines.hh
+++ b/src/BDS_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* BD_Shape<T>::Status class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -231,7 +231,7 @@ template <typename T>
 bool
 BD_Shape<T>::Status::ascii_load(std::istream& s) {
   using namespace Implementation::BD_Shapes;
-  bool positive;
+  PPL_UNINITIALIZED(bool, positive);
 
   if (!get_field(s, zero_dim_univ, positive))
     return false;
diff --git a/src/BD_Shape.cc b/src/BD_Shape.cc
index 22a93e2..4e05469 100644
--- a/src/BD_Shape.cc
+++ b/src/BD_Shape.cc
@@ -1,5 +1,5 @@
 /* BD_Shape class implementation: non-inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/BD_Shape.defs.hh b/src/BD_Shape.defs.hh
index 41ed686..59ffed7 100644
--- a/src/BD_Shape.defs.hh
+++ b/src/BD_Shape.defs.hh
@@ -1,5 +1,5 @@
 /* BD_Shape class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -1869,6 +1869,19 @@ private:
   */
   bool is_shortest_path_reduced() const;
 
+  /*! \brief
+    Incrementally computes shortest-path closure, assuming that only
+    constraints affecting variable \p var need to be considered.
+
+    \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;
+
   //! Checks if and how \p expr is bounded in \p *this.
   /*!
     Returns <CODE>true</CODE> if and only if \p from_above is
@@ -1955,6 +1968,24 @@ private:
                Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
 
   /*! \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.
+
+    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.
+
+    \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);
+
+  bool BHZ09_upper_bound_assign_if_exact(const BD_Shape& y);
+
+  /*! \brief
     Uses the constraint \p c to refine \p *this.
 
     \param c
diff --git a/src/BD_Shape.inlines.hh b/src/BD_Shape.inlines.hh
index 981ed06..348bb09 100644
--- a/src/BD_Shape.inlines.hh
+++ b/src/BD_Shape.inlines.hh
@@ -1,5 +1,5 @@
 /* BD_Shape class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -548,9 +548,9 @@ rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			    const BD_Shape<T>& y,
 			    const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -613,9 +613,9 @@ euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			  const BD_Shape<T>& y,
 			  const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -678,9 +678,9 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			   const BD_Shape<T>& y,
 			   const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -718,7 +718,7 @@ BD_Shape<T>::add_dbm_constraint(const dimension_type i,
   // Private method: the caller has to ensure the following.
   assert(i <= space_dimension() && j <= space_dimension() && i != j);
   assert(den != 0);
-  DIRTY_TEMP(N, k);
+  PPL_DIRTY_TEMP(N, k);
   div_round_up(k, num, den);
   add_dbm_constraint(i, j, k);
 }
@@ -757,9 +757,14 @@ BD_Shape<T>::upper_bound_assign_and_minimize(const BD_Shape& y) {
 template <typename T>
 inline bool
 BD_Shape<T>::upper_bound_assign_if_exact(const BD_Shape& y) {
-  // TODO: this must be properly implemented.
-  used(y);
-  return false;
+  // Dimension-compatibility check.
+  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
+  return BHZ09_upper_bound_assign_if_exact(y);
+#endif
 }
 
 template <typename T>
diff --git a/src/BD_Shape.templates.hh b/src/BD_Shape.templates.hh
index c11cf75..166f2d6 100644
--- a/src/BD_Shape.templates.hh
+++ b/src/BD_Shape.templates.hh
@@ -1,5 +1,5 @@
 /* BD_Shape class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -64,7 +64,7 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
 
   const dimension_type space_dim = space_dimension();
   DB_Row<N>& dbm_0 = dbm[0];
-  DIRTY_TEMP(N, tmp);
+  PPL_DIRTY_TEMP(N, tmp);
 
   bool dbm_initialized = false;
   bool point_seen = false;
@@ -244,8 +244,8 @@ 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());
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    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'.
@@ -337,8 +337,8 @@ BD_Shape<T>::minimized_congruences() const {
     // For the time being, we force the dimension with the following line.
     cgs.insert(0*Variable(space_dim-1) == 0);
 
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    PPL_DIRTY_TEMP_COEFFICIENT(num);
+    PPL_DIRTY_TEMP_COEFFICIENT(den);
 
     // Compute leader information.
     std::vector<dimension_type> leaders;
@@ -391,7 +391,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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)",
@@ -416,7 +416,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
 
   bool changed = false;
   // Compute the bound for `x', rounding towards plus infinity.
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d);
   div_round_up(d, inhomo, coeff);
   if (x > d) {
     x = d;
@@ -425,7 +425,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
 
   if (c.is_equality()) {
     // Also compute the bound for `y', rounding towards plus infinity.
-    TEMP_INTEGER(minus_c_term);
+    PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
     neg_assign(minus_c_term, inhomo);
     div_round_up(d, minus_c_term, coeff);
     if (y > d) {
@@ -478,7 +478,7 @@ BD_Shape<T>::refine_no_check(const Constraint& c) {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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;
@@ -503,7 +503,7 @@ BD_Shape<T>::refine_no_check(const Constraint& c) {
 
   bool changed = false;
   // Compute the bound for `x', rounding towards plus infinity.
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d);
   div_round_up(d, inhomo, coeff);
   if (x > d) {
     x = d;
@@ -512,7 +512,7 @@ BD_Shape<T>::refine_no_check(const Constraint& c) {
 
   if (c.is_equality()) {
     // Also compute the bound for `y', rounding towards plus infinity.
-    TEMP_INTEGER(minus_c_term);
+    PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
     neg_assign(minus_c_term, inhomo);
     div_round_up(d, minus_c_term, coeff);
     if (y > d) {
@@ -660,7 +660,7 @@ BD_Shape<T>::is_disjoint_from(const BD_Shape& y) const {
   // `*this' and `y' are disjoint if
   // 1.) a_i_j < -b_j_i or
   // 2.) b_i_j < -a_j_i.
-  DIRTY_TEMP(N, tmp);
+  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; ) {
@@ -739,7 +739,7 @@ BD_Shape<T>::contains_integer_point() const {
   BD_Shape<mpz_class> bds_z(space_dim);
   typedef BD_Shape<mpz_class>::N Z;
   bds_z.reset_shortest_path_closed();
-  DIRTY_TEMP(N, tmp);
+  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];
@@ -888,7 +888,7 @@ BD_Shape<T>::is_shortest_path_reduced() const {
   // 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.
-  DIRTY_TEMP(N, c);
+  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];
@@ -1035,7 +1035,7 @@ BD_Shape<T>::bounds(const Linear_Expression& expr,
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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)
@@ -1093,7 +1093,7 @@ BD_Shape<T>::max_min(const Linear_Expression& expr,
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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
@@ -1122,21 +1122,21 @@ BD_Shape<T>::max_min(const Linear_Expression& expr,
     const N& x = (coeff < 0) ? dbm[i][j] : dbm[j][i];
     if (!is_plus_infinity(x)) {
       // Compute the maximize/minimize of `expr'.
-      DIRTY_TEMP(N, d);
+      PPL_DIRTY_TEMP(N, d);
       const Coefficient& b = expr.inhomogeneous_term();
-      TEMP_INTEGER(minus_b);
+      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'.
-      DIRTY_TEMP(N, coeff_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 {
-        TEMP_INTEGER(minus_coeff_i);
+        PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_i);
         neg_assign(minus_coeff_i, coeff_i);
         assign_r(coeff_expr, minus_coeff_i, ROUND_UP);
       }
@@ -1217,7 +1217,7 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
     dimension_type num_vars = 0;
     dimension_type i = 0;
     dimension_type j = 0;
-    TEMP_INTEGER(coeff);
+    PPL_DIRTY_TEMP_COEFFICIENT(coeff);
     if (extract_bounded_difference(c, cg_space_dim, num_vars,
                                     i, j, coeff))
       return relation_with(c);
@@ -1238,10 +1238,10 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
         && Poly_Con_Relation::is_included();
   }
 
-  DIRTY_TEMP(Coefficient, min_num);
-  DIRTY_TEMP(Coefficient, min_den);
+  PPL_DIRTY_TEMP(Coefficient, min_num);
+  PPL_DIRTY_TEMP(Coefficient, min_den);
   bool min_included;
-  TEMP_INTEGER(mod);
+  PPL_DIRTY_TEMP_COEFFICIENT(mod);
   mod = cg.modulus();
   Linear_Expression le;
   for (dimension_type i = cg_space_dim; i-- > 0; )
@@ -1251,10 +1251,10 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
   if (!bounded_below)
     return Poly_Con_Relation::strictly_intersects();
 
-  TEMP_INTEGER(v);
-  TEMP_INTEGER(lower_num);
-  TEMP_INTEGER(lower_den);
-  TEMP_INTEGER(lower);
+  PPL_DIRTY_TEMP_COEFFICIENT(v);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower);
   assign_r(lower_num, min_num, ROUND_NOT_NEEDED);
   assign_r(lower_den, min_den, ROUND_NOT_NEEDED);
   neg_assign(v, cg.inhomogeneous_term());
@@ -1306,7 +1306,7 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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.
@@ -1319,11 +1319,11 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
       Variable vk(k);
       le += c.coefficient(vk) * vk;
     }
-    DIRTY_TEMP(Coefficient, max_num);
-    DIRTY_TEMP(Coefficient, max_den);
+    PPL_DIRTY_TEMP(Coefficient, max_num);
+    PPL_DIRTY_TEMP(Coefficient, max_den);
     bool max_included;
-    DIRTY_TEMP(Coefficient, min_num);
-    DIRTY_TEMP(Coefficient, min_den);
+    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);
@@ -1429,12 +1429,12 @@ 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.
-  DIRTY_TEMP0(mpq_class, q_x);
-  DIRTY_TEMP0(mpq_class, q_y);
-  DIRTY_TEMP0(mpq_class, d);
-  DIRTY_TEMP0(mpq_class, d1);
-  DIRTY_TEMP0(mpq_class, c_den);
-  DIRTY_TEMP0(mpq_class, q_den);
+  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);
@@ -1448,8 +1448,8 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
       // 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).
-      TEMP_INTEGER(numer);
-      TEMP_INTEGER(denom);
+      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);
@@ -1465,8 +1465,8 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
   }
 
   // Here `x' is not plus-infinity.
-  TEMP_INTEGER(numer);
-  TEMP_INTEGER(denom);
+  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);
@@ -1541,17 +1541,17 @@ BD_Shape<T>::relation_with(const Generator& g) const {
   // all the constraints in the BDS.
 
   // Allocation of temporaries done once and for all.
-  TEMP_INTEGER(num);
-  TEMP_INTEGER(den);
-  TEMP_INTEGER(product);
+  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(0) : g.coefficient(Variable(i-1));
+      ? 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(0) : g.coefficient(Variable(j-1));
+        ? 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)) {
@@ -1636,7 +1636,7 @@ BD_Shape<T>::shortest_path_closure_assign() const {
     assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
   }
 
-  DIRTY_TEMP(N, sum);
+  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; ) {
@@ -1675,6 +1675,116 @@ BD_Shape<T>::shortest_path_closure_assign() const {
 
 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();
+  assert(var.id() < num_dimensions);
+
+  // 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);
+
+  // Fill the main diagonal with zeros.
+  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
+    assert(is_plus_infinity(x.dbm[h][h]));
+    assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
+  }
+
+  // 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;
+  }
+
+  // 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);
+        }
+      }
+    }
+  }
+
+  // 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 {
+      assert(sgn(x_dbm_hh) == 0);
+      // Restore PLUS_INFINITY on the main diagonal.
+      assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
+
+  // The BDS is not empty and it is now shortest-path closed.
+  x.set_shortest_path_closed();
+}
+
+template <typename T>
+void
 BD_Shape<T>::shortest_path_reduction_assign() const {
   // Do something only if necessary.
   if (marked_shortest_path_reduced())
@@ -1713,7 +1823,7 @@ BD_Shape<T>::shortest_path_reduction_assign() const {
 
   // Step 2: flag non-redundant constraints in the (zero-cycle-free)
   // subsystem of bounded differences having only leaders as variables.
-  DIRTY_TEMP(N, c);
+  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];
@@ -1811,6 +1921,248 @@ BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
 }
 
 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();
+
+  // Private method: the caller must ensure the following.
+  assert(x_space_dim == y.space_dimension());
+
+  // 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;
+  }
+
+  // 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.
+
+  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);
+
+  // 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];
+        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];
+        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);
+        }
+      }
+    }
+  }
+
+  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;
+  }
+
+  // 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();
+  assert(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
+
+  // 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;
+      }
+    }
+  }
+
+  // The upper bound of x and y is indeed exact.
+  upper_bound_assign(y);
+  assert(OK());
+  return true;
+}
+
+template <typename T>
+bool
+BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
+  // 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();
+
+  // Private method: the caller must ensure the following.
+  assert(x_space_dim == y.space_dimension());
+
+  // 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;
+  }
+
+  // Here both `x' and `y' are known to be non-empty.
+  x.shortest_path_reduction_assign();
+  y.shortest_path_reduction_assign();
+  assert(x.marked_shortest_path_closed());
+  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);
+
+  PPL_DIRTY_TEMP(N, lhs);
+  PPL_DIRTY_TEMP(N, rhs);
+  PPL_DIRTY_TEMP(N, temp_zero);
+  assign_r(temp_zero, 0, ROUND_NOT_NEEDED);
+
+  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.
+      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.
+            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 (lhs < rhs)
+                return false;
+            }
+          }
+        }
+      }
+    }
+  }
+  // The upper bound of x and y is indeed exact.
+  swap(ub);
+  assert(OK());
+  return true;
+}
+
+template <typename T>
 void
 BD_Shape<T>::difference_assign(const BD_Shape& y) {
   const dimension_type space_dim = space_dimension();
@@ -1883,9 +2235,225 @@ BD_Shape<T>::difference_assign(const BD_Shape& y) {
 template <typename T>
 bool
 BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
-  // FIXME: provide a real implementation.
-  used(y);
-  return true;
+  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);
+
+  // 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();
+  }
+
+  // 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;
+  }
+
+  // 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;
+
+  found:
+    // Found: build a new BDS contradicting the constraint found.
+    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);
+    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;
+  }
+
+  // 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();
+
+  // 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();
+  assert(x_num_nonredundant > 0);
+
+  // 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;
+
+  // 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;
+
+  // Compute leader information for `x'.
+  std::vector<dimension_type> x_leaders;
+  x.compute_leaders(x_leaders);
+
+  // 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;
+    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();
+    }
+    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;
+      }
+    }
+  }
+
+  // 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;
+    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();
+    }
+    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;
+      }
+    }
+  }
+
+  // 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();
+        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");
 }
 
 template <typename T>
@@ -2245,10 +2813,10 @@ BD_Shape<T>::get_limiting_shape(const Constraint_System& cs,
 
   shortest_path_closure_assign();
   bool changed = false;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(minus_c_term);
-  DIRTY_TEMP(N, d);
-  DIRTY_TEMP(N, d1);
+  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;
@@ -2540,14 +3108,14 @@ BD_Shape<T>
   // 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)'.
-  DIRTY_TEMP0(mpq_class, mpq_sc_den);
+  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.
-  DIRTY_TEMP0(mpq_class, minus_lb_u);
-  DIRTY_TEMP0(mpq_class, q);
-  DIRTY_TEMP0(mpq_class, ub_u);
-  DIRTY_TEMP(N, up_approx);
+  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) {
@@ -2601,15 +3169,15 @@ BD_Shape<T>
   // 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'.
-  DIRTY_TEMP0(mpq_class, mpq_sc_den);
+  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.
-  DIRTY_TEMP0(mpq_class, ub_u);
-  DIRTY_TEMP0(mpq_class, q);
-  DIRTY_TEMP0(mpq_class, minus_lb_u);
-  DIRTY_TEMP(N, up_approx);
+  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) {
@@ -2760,7 +3328,7 @@ 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];
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign(minus_den, denominator);
 
   if (t == 0) {
@@ -2790,7 +3358,7 @@ BD_Shape<T>::refine(const Variable var,
   if (t == 1) {
     // Case 2: expr == a*w + b, w != v, a == denominator.
     assert(expr.coefficient(Variable(w-1)) == denominator);
-    DIRTY_TEMP(N, d);
+    PPL_DIRTY_TEMP(N, d);
     switch (relsym) {
     case EQUAL:
       // Add the new constraint `v - w <= b/denominator'.
@@ -2823,7 +3391,7 @@ BD_Shape<T>::refine(const Variable var,
   // 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);
-  TEMP_INTEGER(minus_b);
+  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;
@@ -2837,7 +3405,7 @@ BD_Shape<T>::refine(const Variable var,
     minus_expr = -expr;
   const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-  DIRTY_TEMP(N, sum);
+  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.
@@ -2845,13 +3413,13 @@ BD_Shape<T>::refine(const Variable var,
 
   // Speculative allocation of temporaries that are used in most
   // of the computational traces starting from this point (also loops).
-  TEMP_INTEGER(minus_sc_i);
-  DIRTY_TEMP(N, coeff_i);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
+  PPL_DIRTY_TEMP(N, coeff_i);
 
   switch (relsym) {
   case EQUAL:
     {
-      DIRTY_TEMP(N, neg_sum);
+      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.
@@ -2934,7 +3502,7 @@ BD_Shape<T>::refine(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
 
@@ -3020,7 +3588,7 @@ BD_Shape<T>::refine(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -3075,7 +3643,7 @@ BD_Shape<T>::refine(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -3152,7 +3720,7 @@ 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.
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign(minus_den, denominator);
 
   if (t == 0) {
@@ -3183,9 +3751,9 @@ BD_Shape<T>::affine_image(const Variable var,
           else {
             // Translate all the constraints on `var',
             // adding or subtracting the value `b/denominator'.
-            DIRTY_TEMP(N, d);
+            PPL_DIRTY_TEMP(N, d);
             div_round_up(d, b, denominator);
-            DIRTY_TEMP(N, c);
+            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; ) {
@@ -3208,11 +3776,11 @@ BD_Shape<T>::affine_image(const Variable var,
           if (b != 0) {
             // Translate the unary constraints on `var',
             // adding or subtracting the value `b/denominator'.
-            DIRTY_TEMP(N, c);
+            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);
-            DIRTY_TEMP(N, d);
+            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);
@@ -3239,7 +3807,7 @@ BD_Shape<T>::affine_image(const Variable var,
           const N& dbm_w0 = dbm[w][0];
           if (!is_plus_infinity(dbm_w0)) {
             // Add the constraint `v <= b/denominator - lower_w'.
-            DIRTY_TEMP(N, d);
+            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();
@@ -3247,7 +3815,7 @@ BD_Shape<T>::affine_image(const Variable var,
           const N& dbm_0w = dbm[0][w];
           if (!is_plus_infinity(dbm_0w)) {
             // Add the constraint `v >= b/denominator - upper_w'.
-            DIRTY_TEMP(N, c);
+            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();
@@ -3272,7 +3840,7 @@ BD_Shape<T>::affine_image(const Variable var,
   // Note: approximating `-expr' from above and then negating the
   // result is the same as approximating `expr' from below.
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  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;
@@ -3286,8 +3854,8 @@ BD_Shape<T>::affine_image(const Variable var,
     minus_expr = -expr;
   const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-  DIRTY_TEMP(N, pos_sum);
-  DIRTY_TEMP(N, neg_sum);
+  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);
@@ -3302,8 +3870,8 @@ BD_Shape<T>::affine_image(const Variable var,
   // 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.
-  DIRTY_TEMP(N, coeff_i);
-  TEMP_INTEGER(minus_sc_i);
+  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) {
@@ -3381,7 +3949,7 @@ BD_Shape<T>::affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -3409,7 +3977,7 @@ BD_Shape<T>::affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -3592,7 +4160,7 @@ 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.
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign(minus_den, denominator);
 
   if (t == 0) {
@@ -3652,7 +4220,7 @@ BD_Shape<T>
           const N& dbm_w0 = dbm[w][0];
           if (!is_plus_infinity(dbm_w0)) {
             // Add the constraint `v <= b/denominator - lower_w'.
-            DIRTY_TEMP(N, d);
+            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();
@@ -3674,7 +4242,7 @@ BD_Shape<T>
   // Compute upper approximations for `ub_expr' into `pos_sum'
   // taking into account the sign of `denominator'.
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  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;
@@ -3687,7 +4255,7 @@ BD_Shape<T>
     minus_expr = -ub_expr;
   const Linear_Expression& sc_expr = is_sc ? ub_expr : minus_expr;
 
-  DIRTY_TEMP(N, pos_sum);
+  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.
@@ -3699,8 +4267,8 @@ BD_Shape<T>
   // 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.
-  DIRTY_TEMP(N, coeff_i);
-  TEMP_INTEGER(minus_sc_i);
+  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) {
@@ -3756,7 +4324,7 @@ BD_Shape<T>
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -3832,7 +4400,7 @@ BD_Shape<T>
   add_space_dimensions_and_embed(1);
   const Linear_Expression lb_inverse
     = lb_expr - (lb_expr_v + denominator)*var;
-  TEMP_INTEGER(lb_inverse_den);
+  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();
@@ -3920,7 +4488,7 @@ 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];
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign(minus_den, denominator);
 
   if (t == 0) {
@@ -3952,7 +4520,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     const Coefficient& a = expr.coefficient(Variable(w-1));
     if (a == denominator || a == minus_den) {
       // Case 2: expr == a*w + b, with a == +/- denominator.
-      DIRTY_TEMP(N, d);
+      PPL_DIRTY_TEMP(N, d);
       switch (relsym) {
       case LESS_OR_EQUAL:
         div_round_up(d, b, denominator);
@@ -4079,7 +4647,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
   // a constraint providing an upper or a lower bound for `v'
   // (depending on `relsym').
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  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;
@@ -4093,15 +4661,15 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     minus_expr = -expr;
   const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-  DIRTY_TEMP(N, sum);
+  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;
 
   // Speculative allocation of temporaries to be used in the following loops.
-  DIRTY_TEMP(N, coeff_i);
-  TEMP_INTEGER(minus_sc_i);
+  PPL_DIRTY_TEMP(N, coeff_i);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
 
   switch (relsym) {
   case LESS_OR_EQUAL:
@@ -4151,7 +4719,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -4217,7 +4785,7 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -4486,7 +5054,7 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
       ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
     const Linear_Expression inverse
       = expr - (expr_v + denominator)*var;
-    TEMP_INTEGER(inverse_den);
+    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;
@@ -4689,8 +5257,8 @@ BD_Shape<T>::constraints() const {
     // For the time being, we force the dimension with the following line.
     cs.insert(0*Variable(space_dim-1) <= 0);
 
-    TEMP_INTEGER(a);
-    TEMP_INTEGER(b);
+    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) {
@@ -4762,8 +5330,8 @@ BD_Shape<T>::minimized_constraints() const {
     // For the time being, we force the dimension with the following line.
     cs.insert(0*Variable(space_dim-1) <= 0);
 
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    PPL_DIRTY_TEMP_COEFFICIENT(num);
+    PPL_DIRTY_TEMP_COEFFICIENT(den);
 
     // Compute leader information.
     std::vector<dimension_type> leaders;
@@ -4929,7 +5497,7 @@ IO_Operators::operator<<(std::ostream& s, const BD_Shape<T>& c) {
     if (c.marked_empty())
       s << "false";
     else {
-      DIRTY_TEMP(N, v);
+      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) {
@@ -5075,15 +5643,15 @@ BD_Shape<T>::OK() const {
   // 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])) {
+      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;
+        using namespace Parma_Polyhedra_Library::IO_Operators;
+        std::cerr << "BD_Shape::dbm[" << i << "][" << j << "] = "
+                  << dbm[i][j] << "!"
+                  << std::endl;
 #endif
-      return false;
-    }
+        return false;
+      }
 
   // On the main diagonal only PLUS_INFINITY can occur.
   for (dimension_type i = dbm.num_rows(); i-- > 0; )
diff --git a/src/BD_Shape.types.hh b/src/BD_Shape.types.hh
index df6a1cc..b63bbf7 100644
--- a/src/BD_Shape.types.hh
+++ b/src/BD_Shape.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/BHRZ03_Certificate.cc b/src/BHRZ03_Certificate.cc
index e00b47f..ec15d44 100644
--- a/src/BHRZ03_Certificate.cc
+++ b/src/BHRZ03_Certificate.cc
@@ -1,6 +1,6 @@
 /* BHRZ03_Certificate class implementation
    (non-inline member functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/BHRZ03_Certificate.defs.hh b/src/BHRZ03_Certificate.defs.hh
index 27ad2ed..7d7b3a7 100644
--- a/src/BHRZ03_Certificate.defs.hh
+++ b/src/BHRZ03_Certificate.defs.hh
@@ -1,5 +1,5 @@
 /* BHRZ03_Certificate class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/BHRZ03_Certificate.inlines.hh b/src/BHRZ03_Certificate.inlines.hh
index ca8db16..452ef9e 100644
--- a/src/BHRZ03_Certificate.inlines.hh
+++ b/src/BHRZ03_Certificate.inlines.hh
@@ -1,5 +1,5 @@
 /* BHRZ03_Certificate class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/BHRZ03_Certificate.types.hh b/src/BHRZ03_Certificate.types.hh
index 888d7fa..ea63ea4 100644
--- a/src/BHRZ03_Certificate.types.hh
+++ b/src/BHRZ03_Certificate.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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_Matrix.cc b/src/Bit_Matrix.cc
index d28f44c..ac126c5 100644
--- a/src/Bit_Matrix.cc
+++ b/src/Bit_Matrix.cc
@@ -1,5 +1,5 @@
 /* Bit_Matrix class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -161,7 +161,7 @@ PPL::Bit_Matrix::ascii_load(std::istream& s) {
   std::string str;
   if (!(s >> nrows))
     return false;
-  if (!(s >> str))
+  if (!(s >> str) || str != "x")
     return false;
   if (!(s >> ncols))
     return false;
diff --git a/src/Bit_Matrix.defs.hh b/src/Bit_Matrix.defs.hh
index 966cff5..82f4b4f 100644
--- a/src/Bit_Matrix.defs.hh
+++ b/src/Bit_Matrix.defs.hh
@@ -1,5 +1,5 @@
 /* Bit_Matrix class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Bit_Matrix.inlines.hh b/src/Bit_Matrix.inlines.hh
index ab7170a..0b793af 100644
--- a/src/Bit_Matrix.inlines.hh
+++ b/src/Bit_Matrix.inlines.hh
@@ -1,5 +1,5 @@
 /* Bit_Matrix class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Bit_Matrix.types.hh b/src/Bit_Matrix.types.hh
index da7c595..938cc50 100644
--- a/src/Bit_Matrix.types.hh
+++ b/src/Bit_Matrix.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 2eadc79..32a3ff0 100644
--- a/src/Bit_Row.cc
+++ b/src/Bit_Row.cc
@@ -1,5 +1,5 @@
 /* Bit_Row class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -214,6 +214,13 @@ PPL::Bit_Row::operator[](const unsigned long k) const {
   return (limb >> (k % GMP_NUMB_BITS)) & 1;
 }
 
+void
+PPL::Bit_Row::set_until(unsigned long k) {
+  // FIXME, TODO: this is an inefficient implementation.
+  while (k-- > 0)
+    mpz_setbit(vec, k);
+}
+
 /*! \relates Parma_Polyhedra_Library::Bit_Row */
 int
 PPL::compare(const Bit_Row& x, const Bit_Row& y) {
diff --git a/src/Bit_Row.defs.hh b/src/Bit_Row.defs.hh
index 9b18eb9..613046e 100644
--- a/src/Bit_Row.defs.hh
+++ b/src/Bit_Row.defs.hh
@@ -1,5 +1,5 @@
 /* Bit_Row class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Bit_Row.inlines.hh b/src/Bit_Row.inlines.hh
index 706df9f..6fc36f7 100644
--- a/src/Bit_Row.inlines.hh
+++ b/src/Bit_Row.inlines.hh
@@ -1,5 +1,5 @@
 /* Bit_Row class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,8 +25,13 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "globals.defs.hh"
 #include <cassert>
+
 // For the declaration of ffs(3).
-#include <strings.h>
+#if defined(PPL_HAVE_STRINGS_H)
+# include <strings.h>
+#elif defined(PPL_HAVE_STRING_H)
+# include <string.h>
+#endif
 
 namespace Parma_Polyhedra_Library {
 
@@ -69,7 +74,7 @@ Bit_Row::clear_from(const unsigned long k) {
 inline unsigned long
 Bit_Row::count_ones() const {
   assert(vec->_mp_size >= 0);
-  return mpn_popcount(vec->_mp_d, vec->_mp_size);
+  return vec->_mp_size == 0 ? 0 : mpn_popcount(vec->_mp_d, vec->_mp_size);
 }
 
 inline bool
@@ -121,7 +126,7 @@ set_intersection(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
 /*! \relates Bit_Row */
 inline void
 set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  DIRTY_TEMP0(mpz_class, complement_y);
+  PPL_DIRTY_TEMP0(mpz_class, complement_y);
   mpz_com(complement_y.get_mpz_t(), y.vec);
   mpz_and(z.vec, x.vec, complement_y.get_mpz_t());
 }
diff --git a/src/Bit_Row.types.hh b/src/Bit_Row.types.hh
index 2541aee..bc70392 100644
--- a/src/Bit_Row.types.hh
+++ b/src/Bit_Row.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 2712910..d86c50e 100644
--- a/src/Boundary.defs.hh
+++ b/src/Boundary.defs.hh
@@ -1,5 +1,5 @@
 /* Interval boundary functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -111,10 +111,10 @@ is_open(Boundary_Type type, const T& x, const Info& info) {
 template <typename T, typename Info>
 inline Result
 set_unbounded(Boundary_Type type, T& x, Info& info) {
-  COMPILE_TIME_CHECK(Info::store_special
-		     || std::numeric_limits<T>::is_bounded
-		     || std::numeric_limits<T>::has_infinity,
-		     "Unbounded is not representable");
+  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);
@@ -131,9 +131,9 @@ template <typename T, typename Info>
 inline Result
 set_minus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
   /*
-  COMPILE_TIME_CHECK(Info::store_special
-		     || std::numeric_limits<T>::has_infinity,
-		     "Minus infinity is not representable");
+  PPL_COMPILE_TIME_CHECK(Info::store_special
+                         || std::numeric_limits<T>::has_infinity,
+                         "minus infinity is not representable");
   */
   if (open)
     assert(type == LOWER);
@@ -156,9 +156,9 @@ template <typename T, typename Info>
 inline Result
 set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
   /*
-  COMPILE_TIME_CHECK(Info::store_special
-		     || std::numeric_limits<T>::has_infinity,
-		     "Minus infinity is not representable");
+  PPL_COMPILE_TIME_CHECK(Info::store_special
+                         || std::numeric_limits<T>::has_infinity,
+                         "minus infinity is not representable");
   */
   if (open)
     assert(type == UPPER);
@@ -196,14 +196,15 @@ 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) {
+shrink(Boundary_Type type, T& x, Info& info, bool check) {
   Result r;
+  assert(!info.get_boundary_property(type, SPECIAL));
   if (type == LOWER) {
-    r = info.restrict(x, V_GT);
+    r = info.restrict(round_dir_check(type, check), x, V_GT);
     if (r != V_GT)
       return r;
   } else {
-    r = info.restrict(x, V_LT);
+    r = info.restrict(round_dir_check(type, check), x, V_LT);
     if (r != V_LT)
       return r;
   }
@@ -442,7 +443,7 @@ adjust_boundary(Boundary_Type type, T& x, Info& info,
     case V_GE:
     case V_EQ:
       if (open)
-	shrink(type, x, info);
+	shrink(type, x, info, false);
       // FIXME: what to return?
       return r;
     default:
@@ -467,7 +468,7 @@ adjust_boundary(Boundary_Type type, T& x, Info& info,
     case V_LE:
     case V_EQ:
       if (open)
-	shrink(type, x, info);
+	shrink(type, x, info, false);
       // FIXME: what to return?
       return r;
     default:
diff --git a/src/Box.cc b/src/Box.cc
index 78c7700..0ce8006 100644
--- a/src/Box.cc
+++ b/src/Box.cc
@@ -1,5 +1,5 @@
 /* Box class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Box.defs.hh b/src/Box.defs.hh
index 3f93c34..d29f38e 100644
--- a/src/Box.defs.hh
+++ b/src/Box.defs.hh
@@ -1,5 +1,5 @@
 /* Box class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -932,8 +932,7 @@ public:
     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.
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
   bool simplify_using_context_assign(const Box& y);
 
@@ -1937,6 +1936,13 @@ private:
 	       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,
diff --git a/src/Box.inlines.hh b/src/Box.inlines.hh
index 262b051..1c6556e 100644
--- a/src/Box.inlines.hh
+++ b/src/Box.inlines.hh
@@ -1,5 +1,5 @@
 /* Box class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -190,32 +190,32 @@ Box<ITV>::bounds_from_below(const Linear_Expression& expr) const {
 template <typename ITV>
 inline bool
 Box<ITV>::maximize(const Linear_Expression& expr,
-			Coefficient& sup_n, Coefficient& sup_d,
-			bool& maximum) const {
+                   Coefficient& sup_n, Coefficient& sup_d,
+                   bool& maximum) const {
   return max_min(expr, true, sup_n, sup_d, maximum);
 }
 
 template <typename ITV>
 inline bool
 Box<ITV>::maximize(const Linear_Expression& expr,
-			Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-			Generator& g) const {
+                   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>
 inline bool
 Box<ITV>::minimize(const Linear_Expression& expr,
-			Coefficient& inf_n, Coefficient& inf_d,
-			bool& minimum) const {
+                   Coefficient& inf_n, Coefficient& inf_d,
+                   bool& minimum) const {
   return max_min(expr, false, inf_n, inf_d, minimum);
 }
 
 template <typename ITV>
 inline bool
 Box<ITV>::minimize(const Linear_Expression& expr,
-			Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-			Generator& g) const {
+                   Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+                   Generator& g) const {
   return max_min(expr, false, inf_n, inf_d, minimum, g);
 }
 
@@ -227,13 +227,6 @@ Box<ITV>::strictly_contains(const Box& y) const {
 }
 
 template <typename ITV>
-inline bool
-Box<ITV>::upper_bound_assign_if_exact(const Box&) {
-  // TODO: this must be properly implemented.
-  return false;
-}
-
-template <typename ITV>
 inline void
 Box<ITV>::expand_space_dimension(const Variable var,
                                  const dimension_type m) {
@@ -273,7 +266,7 @@ Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
 
   closed = !seq_k.lower_is_open();
 
-  DIRTY_TEMP0(mpq_class, lr);
+  PPL_DIRTY_TEMP0(mpq_class, lr);
   assign_r(lr, seq_k.lower(), ROUND_NOT_NEEDED);
   n = lr.get_num();
   d = lr.get_den();
@@ -293,7 +286,7 @@ Box<ITV>::get_upper_bound(const dimension_type k, bool& closed,
 
   closed = !seq_k.upper_is_open();
 
-  DIRTY_TEMP0(mpq_class, ur);
+  PPL_DIRTY_TEMP0(mpq_class, ur);
   assign_r(ur, seq_k.upper(), ROUND_NOT_NEEDED);
   n = ur.get_num();
   d = ur.get_den();
@@ -394,7 +387,7 @@ Box<ITV>
   // `rel' is either the relation `==', `>=', or `>'.
   // For the purpose of refining the interval, this is
   // (morally) turned into `Variable(var_id) rel -num/den'.
-  DIRTY_TEMP0(mpq_class, q);
+  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();
@@ -408,7 +401,6 @@ Box<ITV>
     break;
   case Constraint::NONSTRICT_INEQUALITY:
     seq_v.refine_existential((den > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL, q);
-    // FIXME: this assertion fails due to a bug in refine.
     assert(seq_v.OK());
     break;
   case Constraint::STRICT_INEQUALITY:
@@ -417,6 +409,7 @@ Box<ITV>
   }
   // FIXME: do check the value returned by `refine_existential' and
   // set `empty' and `empty_up_to_date' as appropriate.
+  // This has to be done after reimplementation of intervals.
   reset_empty_up_to_date();
   assert(OK());
 }
@@ -551,9 +544,9 @@ rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			    const Box<ITV>& y,
 			    const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -592,9 +585,9 @@ euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			  const Box<ITV>& y,
 			  const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -633,9 +626,9 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			   const Box<ITV>& y,
 			   const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
diff --git a/src/Box.templates.hh b/src/Box.templates.hh
index 2c0f543..fa27d0d 100644
--- a/src/Box.templates.hh
+++ b/src/Box.templates.hh
@@ -1,5 +1,5 @@
 /* Box class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -133,7 +133,7 @@ Box<ITV>::Box(const Generator_System& gs)
   set_empty_up_to_date();
 
   const dimension_type space_dim = space_dimension();
-  DIRTY_TEMP0(mpq_class, q);
+  PPL_DIRTY_TEMP0(mpq_class, q);
   bool point_seen = false;
   // Going through all the points.
   for (Generator_System::const_iterator
@@ -241,7 +241,7 @@ Box<ITV>::Box(const BD_Shape<T>& bds, Complexity_Class)
     return;
   }
 
-  DIRTY_TEMP(typename BD_Shape<T>::coefficient_type, tmp);
+  PPL_DIRTY_TEMP(typename BD_Shape<T>::coefficient_type, tmp);
   const DB_Row<typename BD_Shape<T>::coefficient_type>& dbm_0 = bds.dbm[0];
   for (dimension_type i = space_dim; i-- > 0; ) {
     ITV& seq_i = seq[i];
@@ -291,7 +291,7 @@ Box<ITV>::Box(const Octagonal_Shape<T>& oct, Complexity_Class)
   if (space_dim == 0)
     return;
 
-  DIRTY_TEMP0(mpq_class, bound);
+  PPL_DIRTY_TEMP0(mpq_class, bound);
   for (dimension_type i = space_dim; i-- > 0; ) {
     ITV& seq_i = seq[i];
     const dimension_type ii = 2*i;
@@ -386,9 +386,9 @@ Box<ITV>::Box(const Polyhedron& ph, Complexity_Class complexity)
     }
     // Get all the bounds for the space dimensions.
     Generator g(point());
-    DIRTY_TEMP0(mpq_class, bound);
-    DIRTY_TEMP(Coefficient, bound_num);
-    DIRTY_TEMP(Coefficient, bound_den);
+    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];
       lp.set_objective_function(Variable(i));
@@ -463,47 +463,19 @@ Box<ITV>::Box(const Grid& gr, Complexity_Class)
 
   assert(!gr.gen_sys.empty());
 
-  // Create a vector to record which dimensions are bounded.
-  std::vector<bool> bounded_interval(space_dim, true);
-
-  const Grid_Generator *first_point = 0;
-  // Clear the bound flag in `bounded_interval' for all dimensions in
-  // which a line or sequence of points extends away from a single
-  // value in the dimension.
-  // FIXME: this computation should be provided by the Grid class.
-  // FIXME: remove the declaration making Box a friend of Grid_Generator
-  //        when this is done.
-  for (Grid_Generator_System::const_iterator gs_i = gr.gen_sys.begin(),
-	 gs_end = gr.gen_sys.end(); gs_i != gs_end; ++gs_i) {
-    Grid_Generator& g = const_cast<Grid_Generator&>(*gs_i);
-    if (g.is_point()) {
-      if (first_point == 0) {
-	first_point = &g;
-	continue;
-      }
-      const Grid_Generator& point = *first_point;
-      // Convert the point `g' to a parameter.
-      for (dimension_type dim = space_dim; dim-- > 0; )
-	g[dim] -= point[dim];
-      g.set_divisor(point.divisor());
-    }
-    for (dimension_type col = space_dim; col > 0; )
-      if (g[col--] != 0)
-	bounded_interval[col] = false;
-  }
-
   // 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.
-  assert(first_point != 0);
-  const Grid_Generator& point = *first_point;
-  DIRTY_TEMP0(mpq_class, bound);
-  const Coefficient& divisor = point.divisor();
+  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];
-    if (bounded_interval[i]) {
-      assign_r(bound.get_num(), point[i+1], ROUND_NOT_NEEDED);
-      assign_r(bound.get_den(), divisor, ROUND_NOT_NEEDED);
+    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.assign(bound);
     }
@@ -533,12 +505,9 @@ 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());
-  for (dimension_type sz = seq.size(), i = sz - m; i < sz; ++i)
-    seq[i].assign(UNIVERSE);
+  seq.insert(seq.end(), m, ITV(UNIVERSE));
   assert(OK());
 }
 
@@ -548,12 +517,8 @@ Box<ITV>::add_space_dimensions_and_project(const dimension_type m) {
   // Adding no dimensions is a no-op.
   if (m == 0)
     return;
-
-  // A add `m' new zero elements to the sequence.
-  seq.insert(seq.end(), m, ITV());
-  for (dimension_type sz = seq.size(), i = sz - m; i < sz; ++i)
-    seq[i].assign(0);
-
+  // Add `m' new zero elements to the sequence.
+  seq.insert(seq.end(), m, ITV(0));
   assert(OK());
 }
 
@@ -618,14 +583,14 @@ interval_relation(const ITV& i,
   if (i.is_universe())
     return Poly_Con_Relation::strictly_intersects();
 
-  DIRTY_TEMP0(mpq_class, bound);
+  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);
 
-  DIRTY_TEMP0(mpq_class, bound_diff);
+  PPL_DIRTY_TEMP0(mpq_class, bound_diff);
   if (constraint_type == Constraint::EQUALITY) {
     if (i.lower_is_unbounded()) {
       assert(!i.upper_is_unbounded());
@@ -823,9 +788,9 @@ Box<ITV>::relation_with(const Congruence& cg) const {
     return relation_with(c);
   }
 
-  DIRTY_TEMP0(Rational_Interval, r);
-  DIRTY_TEMP0(Rational_Interval, t);
-  DIRTY_TEMP0(mpq_class, m);
+  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));
@@ -845,9 +810,9 @@ Box<ITV>::relation_with(const Congruence& cg) const {
   // Find the value that satisfies the congruence and is
   // nearest to the lower bound such that the point lies on or above it.
 
-  TEMP_INTEGER(lower);
-  TEMP_INTEGER(mod);
-  TEMP_INTEGER(v);
+  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);
@@ -919,9 +884,9 @@ Box<ITV>::relation_with(const Constraint& c) const {
     }
   else {
     // Deal with a non-trivial and non-interval constraint.
-    DIRTY_TEMP0(Rational_Interval, r);
-    DIRTY_TEMP0(Rational_Interval, t);
-    DIRTY_TEMP0(mpq_class, m);
+    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));
@@ -989,8 +954,8 @@ Box<ITV>::relation_with(const Generator& g) const {
 
   // Here `g' is a point or closure point.
   const Coefficient& g_divisor = g.divisor();
-  DIRTY_TEMP0(mpq_class, g_coord);
-  DIRTY_TEMP0(mpq_class, bound);
+  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())
@@ -1056,12 +1021,12 @@ Box<ITV>::max_min(const Linear_Expression& expr,
   if (is_empty())
     return false;
 
-  DIRTY_TEMP0(mpq_class, result);
+  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;
-  DIRTY_TEMP0(mpq_class, bound_i);
-  DIRTY_TEMP0(mpq_class, expr_i);
+  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);
@@ -1107,14 +1072,14 @@ Box<ITV>::max_min(const Linear_Expression& expr,
 
   // Compute generator `g'.
   Linear_Expression g_expr;
-  DIRTY_TEMP(Coefficient, g_divisor);
+  PPL_DIRTY_TEMP(Coefficient, g_divisor);
   g_divisor = 1;
   const int maximize_sign = maximize ? 1 : -1;
-  DIRTY_TEMP0(mpq_class, g_coord);
-  DIRTY_TEMP(Coefficient, num);
-  DIRTY_TEMP(Coefficient, den);
-  DIRTY_TEMP(Coefficient, lcm);
-  DIRTY_TEMP(Coefficient, factor);
+  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) {
@@ -1133,7 +1098,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);
-	      DIRTY_TEMP0(mpq_class, q_seq_i_upper);
+	      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;
@@ -1221,6 +1186,55 @@ Box<ITV>::is_disjoint_from(const Box& y) const {
 }
 
 template <typename ITV>
+inline bool
+Box<ITV>::upper_bound_assign_if_exact(const Box& y) {
+  Box& x = *this;
+
+  // Dimension-compatibility check.
+  if (x.space_dimension() != y.space_dimension())
+    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())
+    return true;
+  if (x.marked_empty()) {
+    x = y;
+    return true;
+  }
+
+  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];
+
+    if (!x_seq_i.can_be_exactly_joined_to(y_seq_i))
+      return false;
+
+    // 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;
+  }
+
+  // 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()) {
@@ -1470,7 +1484,7 @@ Box<ITV>::concatenate_assign(const Box& y) {
   // 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());
+    x.seq.insert(x.seq.end(), y_space_dim, ITV(EMPTY));
     assert(x.OK());
     return;
   }
@@ -1547,8 +1561,76 @@ Box<ITV>::difference_assign(const Box& y) {
 template <typename ITV>
 bool
 Box<ITV>::simplify_using_context_assign(const Box& y) {
-  // FIXME: provide a real implementation.
-  used(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);
+
+  // 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;
+  }
+
+  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();
+        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.
+    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])) {
+      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);
+      assert(x.OK());
+      return false;
+    }
+  }
+  assert(x.OK());
   return true;
 }
 
@@ -1850,6 +1932,8 @@ Box<ITV>::refine_no_check(const Constraint& c) {
   dimension_type c_num_vars = 0;
   dimension_type c_only_var = 0;
   // Non-interval constraints are ignored.
+  // FIXME: instead of ignoring, safely use propagate_no_check()
+  // (i.e., ensuring that no termination problem can arise).
   if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
     return;
 
@@ -1858,7 +1942,7 @@ Box<ITV>::refine_no_check(const Constraint& c) {
     // Dealing with a trivial constraint.
     if (n < 0
         || (c.is_equality() && n != 0)
-	|| (c.is_strict_inequality() && n == 0))
+        || (c.is_strict_inequality() && n == 0))
       set_empty();
     return;
   }
@@ -2507,11 +2591,11 @@ 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'.
-    DIRTY_TEMP(Coefficient, max_num);
-    DIRTY_TEMP(Coefficient, max_den);
+    PPL_DIRTY_TEMP(Coefficient, max_num);
+    PPL_DIRTY_TEMP(Coefficient, max_den);
     bool max_included;
-    DIRTY_TEMP(Coefficient, min_num);
-    DIRTY_TEMP(Coefficient, min_den);
+    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)) {
@@ -2520,7 +2604,7 @@ Box<ITV>
 	// has a minimum value for the box.
 	// Set the bounds for `var' using the minimum for `lb_expr'.
 	min_den *= denominator;
-	DIRTY_TEMP0(mpq_class, q);
+	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();
@@ -2541,7 +2625,7 @@ Box<ITV>
 	// 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'.
-	DIRTY_TEMP0(mpq_class, q);
+	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);
@@ -2561,7 +2645,7 @@ Box<ITV>
 	// has a minimum value for the box.
 	// Set the bounds for `var' using the minimum for `lb_expr'.
 	min_den *= denominator;
-	DIRTY_TEMP0(mpq_class, q);
+	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();
@@ -2635,7 +2719,7 @@ Box<ITV>
   if (!seq_var.is_universe()) {
     // We want to work with a positive denominator,
     // so the sign and its (unsigned) value are separated.
-    TEMP_INTEGER(pos_denominator);
+    PPL_DIRTY_TEMP_COEFFICIENT(pos_denominator);
     pos_denominator = denominator;
     if (negative_denom)
       neg_assign(pos_denominator, pos_denominator);
@@ -2643,9 +2727,9 @@ Box<ITV>
     // for `var' before making this interval unbounded.
     bool open_lower = seq_var.lower_is_open();
     bool unbounded_lower = seq_var.lower_is_unbounded();
-    DIRTY_TEMP0(mpq_class, q_seq_var_lower);
-    DIRTY_TEMP(Coefficient, num_lower);
-    DIRTY_TEMP(Coefficient, den_lower);
+    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);
@@ -2657,9 +2741,9 @@ Box<ITV>
     }
     bool open_upper = seq_var.upper_is_open();
     bool unbounded_upper = seq_var.upper_is_unbounded();
-    DIRTY_TEMP0(mpq_class, q_seq_var_upper);
-    DIRTY_TEMP(Coefficient, num_upper);
-    DIRTY_TEMP(Coefficient, den_upper);
+    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);
@@ -2676,7 +2760,7 @@ Box<ITV>
       // 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;
-      DIRTY_TEMP(Coefficient, d);
+      PPL_DIRTY_TEMP(Coefficient, d);
       neg_assign(d, den_lower);
       revised_lb_expr *= d;
       revised_lb_expr += num_lower;
@@ -2684,10 +2768,10 @@ Box<ITV>
       // Find the minimum value for the revised lower bound expression
       // and use this to refine the appropriate bound.
       bool included;
-      DIRTY_TEMP(Coefficient, den);
+      PPL_DIRTY_TEMP(Coefficient, den);
       if (minimize(revised_lb_expr, num_lower, den, included)) {
         den_lower *= (den * ub_var_coeff);
-        DIRTY_TEMP0(mpq_class, q);
+        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();
@@ -2709,7 +2793,7 @@ Box<ITV>
       // 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;
-      DIRTY_TEMP(Coefficient, d);
+      PPL_DIRTY_TEMP(Coefficient, d);
       neg_assign(d, den_upper);
       revised_ub_expr *= d;
       revised_ub_expr += num_upper;
@@ -2717,10 +2801,10 @@ Box<ITV>
       // Find the maximum value for the revised upper bound expression
       // and use this to refine the appropriate bound.
       bool included;
-      DIRTY_TEMP(Coefficient, den);
+      PPL_DIRTY_TEMP(Coefficient, den);
       if (maximize(revised_ub_expr, num_upper, den, included)) {
         den_upper *= (den * lb_var_coeff);
-        DIRTY_TEMP0(mpq_class, q);
+        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();
@@ -2876,7 +2960,7 @@ Box<ITV>
   if (var_coefficient != 0) {
     Linear_Expression inverse_expr
       = expr - (denominator + var_coefficient) * var;
-    TEMP_INTEGER(inverse_denominator);
+    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denominator);
     neg_assign(inverse_denominator, var_coefficient);
     Relation_Symbol inverse_relsym
       = (sgn(denominator) == sgn(inverse_denominator))
@@ -2893,12 +2977,12 @@ Box<ITV>
   // First, compute the maximum and minimum value reached by
   // `denominator*var' on the box as we need to use non-relational
   // expressions.
-  DIRTY_TEMP(Coefficient, max_num);
-  DIRTY_TEMP(Coefficient, max_den);
+  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);
-  DIRTY_TEMP(Coefficient, min_num);
-  DIRTY_TEMP(Coefficient, min_den);
+  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
@@ -2906,9 +2990,9 @@ Box<ITV>
     = (denominator > 0) ? relsym : reversed_relsym;
   // Revise the expression to take into account the denominator of the
   // maximum/minimim value for `var'.
-  DIRTY_TEMP(Linear_Expression, revised_expr);
+  PPL_DIRTY_TEMP(Linear_Expression, revised_expr);
   dimension_type dim = space_dim;
-  TEMP_INTEGER(d);
+  PPL_DIRTY_TEMP_COEFFICIENT(d);
   if (corrected_relsym == LESS_THAN || corrected_relsym == LESS_OR_EQUAL) {
     if (bound_below) {
       for ( ; dim > 0; dim--) {
@@ -2991,12 +3075,12 @@ Box<ITV>
     return;
 
   // Compute the maximum and minimum value reached by the rhs on the box.
-  DIRTY_TEMP(Coefficient, max_num);
-  DIRTY_TEMP(Coefficient, max_den);
+  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);
-  DIRTY_TEMP(Coefficient, min_num);
-  DIRTY_TEMP(Coefficient, min_den);
+  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);
 
@@ -3043,8 +3127,8 @@ Box<ITV>
     // expression.
     const Coefficient& inhomo = lhs.inhomogeneous_term();
     const Coefficient& coeff = lhs.coefficient(Variable(has_var_id));
-    DIRTY_TEMP0(mpq_class, q_max);
-    DIRTY_TEMP0(mpq_class, q_min);
+    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;
@@ -3207,7 +3291,7 @@ Box<ITV>::generalized_affine_preimage(const Linear_Expression& lhs,
   for (dimension_type d = lhs_space_dim; d-- > 0; ) {
     const Variable& var = Variable(d);
     if (lhs.coefficient(var) != 0) {
-      DIRTY_TEMP(Coefficient, temp);
+      PPL_DIRTY_TEMP(Coefficient, temp);
       temp = rhs.coefficient(var) + lhs.coefficient(var);
       revised_rhs -= temp * var;
       revised_lhs -= temp * var;
@@ -3259,13 +3343,81 @@ Box<ITV>::CC76_widening_assign(const Box& y, unsigned* tp) {
 
 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.
+  assert(cs_space_dim <= space_dimension());
+
+  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);
+    }
+  }
+}
+
+template <typename ITV>
+void
 Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
                                             const Constraint_System& cs,
                                             unsigned* tp) {
-  // FIXME: should take into account cs.
-  used(cs);
   Box& x = *this;
+  const dimension_type space_dim = x.space_dimension();
+
+  // 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)");
+
+  // The limited CC76-extrapolation between two boxes in a
+  // zero-dimensional space is also a zero-dimensional box
+  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;
+    assert(x_copy.contains(y_copy));
+  }
+#endif
+
+  // 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;
+
+  // 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);
+
   x.CC76_widening_assign(y, tp);
+
+  // Intersect the widened box with the limiting box.
+  intersection_assign(limiting_box);
 }
 
 template <typename ITV>
@@ -3333,8 +3485,8 @@ Box<ITV>::constraints() const {
 
     for (dimension_type k = 0; k < space_dim; ++k) {
       bool closed = false;
-      DIRTY_TEMP(Coefficient, n);
-      DIRTY_TEMP(Coefficient, d);
+      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);
@@ -3371,8 +3523,8 @@ Box<ITV>::minimized_constraints() const {
 
     for (dimension_type k = 0; k < space_dim; ++k) {
       bool closed = false;
-      DIRTY_TEMP(Coefficient, n);
-      DIRTY_TEMP(Coefficient, d);
+      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.
@@ -3415,8 +3567,8 @@ Box<ITV>::congruences() const {
 
     for (dimension_type k = 0; k < space_dim; ++k) {
       bool closed = false;
-      DIRTY_TEMP(Coefficient, n);
-      DIRTY_TEMP(Coefficient, d);
+      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())
diff --git a/src/Box.types.hh b/src/Box.types.hh
index 0bd47d1..6b4796d 100644
--- a/src/Box.types.hh
+++ b/src/Box.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Box_Status.idefs.hh b/src/Box_Status.idefs.hh
index 980590d..5eb6110 100644
--- a/src/Box_Status.idefs.hh
+++ b/src/Box_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* Box<ITV>::Status class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Box_Status.inlines.hh b/src/Box_Status.inlines.hh
index 43f2074..eabe03a 100644
--- a/src/Box_Status.inlines.hh
+++ b/src/Box_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* Box<ITV>::Status class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -198,7 +198,7 @@ template <typename ITV>
 bool
 Box<ITV>::Status::ascii_load(std::istream& s) {
   using namespace Implementation::Boxes;
-  bool positive;
+  PPL_UNINITIALIZED(bool, positive);
 
   if (!get_field(s, Implementation::Boxes::empty_up_to_date, positive))
     return false;
diff --git a/src/CREDITS.cc.dist b/src/CREDITS.cc.dist
index 8eeaf7e..90e0ee6 100644
--- a/src/CREDITS.cc.dist
+++ b/src/CREDITS.cc.dist
@@ -196,16 +196,19 @@ extern const char* const CREDITS_array[] = {
   "  Francesco Logozzo     [24] (formerly at Ecole Polytechnique) helped us",
   "                        straighten out some portability issues on Cygwin.",
   "",
-  "  Costantino Medori     [25] (University of Parma) helped us on some",
+  "  Kenneth MacKenzie     [25] provided very good bug reports that allowed",
+  "                        us to fix several problems in the OCaml interface.",
+  "",
+  "  Costantino Medori     [26] (University of Parma) helped us on some",
   "                        mathematical aspects of the development.",
   "",
-  "  Fred Mesnard          [26] (University of La Reunion), the main author",
-  "                        of cTI [27], has worked with us on one of the",
+  "  Fred Mesnard          [27] (University of La Reunion), the main author",
+  "                        of cTI [28], has worked with us on one of the",
   "                        first applications of the PPL: the \"cTI\"",
   "                        data-flow analyzer, which performs a linear",
   "                        size relation analysis using a domain of",
   "                        convex polyhedra.  The China data-flow",
-  "                        analyzer [28] uses the Parma Polyhedra Library",
+  "                        analyzer [29] uses the Parma Polyhedra Library",
   "                        to perform the same analysis.  We have been",
   "                        running China against an old version of cTI",
   "                        that did not use the PPL, using it to",
@@ -217,51 +220,51 @@ extern const char* const CREDITS_array[] = {
   "  Ken Mixter            (then at Carnegie Mellon University) provided",
   "                        useful feedback while working on an",
   "                        experimental version of the Action Language",
-  "                        Verifier [29] based on the PPL.",
+  "                        Verifier [30] based on the PPL.",
   "",
-  "  Sebastian Pop         [30] (now at AMD).  During his work on interfacing",
-  "                        CLooG [31] with the PPL, Sebastian provided",
+  "  Sebastian Pop         [31] (now at AMD).  During his work on interfacing",
+  "                        CLooG [32] with the PPL, Sebastian provided",
   "                        valuable feedback, particularly on the C",
   "                        interface to the PPL.  He also suggested the",
   "                        addition of new functionality such as the",
   "                        \"simplify using context\" operation.",
   "",
-  "  Thomas Reps           [32] (University of Wisconsin-Madison), on several",
+  "  Thomas Reps           [33] (University of Wisconsin-Madison), on several",
   "                        occasions we have had interesting discussions",
   "                        with him both on the PPL and on the more",
   "                        general topics of static analysis and",
   "                        numerical abstractions.",
   "",
-  "  Mooly Sagiv           [33] (Tel-Aviv University) stimulated the development",
+  "  Mooly Sagiv           [34] (Tel-Aviv University) stimulated the development",
   "                        of the PPL by providing, in particular,",
   "                        interesting challenges related to precision",
   "                        and scalability.",
   "",
-  "  Sriram Sankaranarayanan [34] (NEC Laboratories America, formerly at",
+  "  Sriram Sankaranarayanan [35] (NEC Laboratories America, formerly at",
   "                        Stanford University) provided very useful feedback",
-  "                        while developing StInG [35] and LPInv [36].",
+  "                        while developing StInG [36] and LPInv [37].",
   "",
-  "  Axel Simon            [37] (ENS, formerly at the University of Kent",
+  "  Axel Simon            [38] (ENS, formerly at the University of Kent",
   "                        at Canterbury) wrote some PPL 0.9",
-  "                        bindings [43] for the Glasgow Haskell Compiler.",
+  "                        bindings [44] for the Glasgow Haskell Compiler.",
   "",
-  "  Fausto Spoto          [38] (University of Verona) did useful beta testing",
+  "  Fausto Spoto          [39] (University of Verona) did useful beta testing",
   "                        for the Java interface.  He also suggested the",
   "                        addition of the <EM>hash code</EM> operations.",
   "",
-  "  Basile Starynkevitch  [39] (CEA LIST/DTSI/SOL). Basile is the author",
-  "                        of MELT [40] and suggested several improvements",
+  "  Basile Starynkevitch  [40] (CEA LIST/DTSI/SOL). Basile is the author",
+  "                        of MELT [41] and suggested several improvements",
   "                        to the PPL.",
   "",
   "",
-  "  Pedro Vasconcelos     [41] (formerly at the University of St Andrews, UK)",
+  "  Pedro Vasconcelos     [42] (formerly at the University of St Andrews, UK)",
   "                        provided useful feedback while developing his",
-  "                        size and cost analyzer for Core Hume [42].",
+  "                        size and cost analyzer for Core Hume [43].",
   "                        Pedro also solved a problem of Axel Simon's",
   "                        PPL 0.9 bindings for the GHC and makes them",
-  "                        publicly available [43].",
+  "                        publicly available [44].",
   "",
-  "  Ralf Wildenhues       [44] (University of Bonn) helped us with",
+  "  Ralf Wildenhues       [45] (University of Bonn) helped us with",
   "                        several issues concerning the proper use of",
   "                        the Autotools.",
   "",
@@ -271,19 +274,35 @@ extern const char* const CREDITS_array[] = {
   "",
   "We are grateful for the following contributions:",
   "",
-  "- The Computing Center of the University of Parma [45] allowed us to test",
-  "  the portability of the library on a variety of platforms.  Fausto",
-  "  Pagani was especially helpful in this respect.",
+  "- AMD Developer Central [46] has donated a bi-quad core machine with",
+  "  the latest AMD Opteron 2384 \"Shanghai\" processors and 16GB of RAM.",
+  "  This machine now hosts all the PPL data and services.  Many thanks",
+  "  to Christophe Harle and Sebastian Pop.",
+  "",
+  "- The Computing Center of the University of Parma [47] allowed us to",
+  "  test the portability of the library on a variety of platforms.",
+  "  Fausto Pagani was especially helpful in this respect.",
   "",
-  "- The GCC Compile Farm Project [46] managed by FSF France provided access",
-  "  to a number of machines that allowed us to test and improve the",
-  "  portability of the library.  Special thanks go to Laurent Guerby",
+  "- The GCC Compile Farm Project [48] managed by FSF France provided",
+  "  access to a number of machines that allowed us to test and improve",
+  "  the portability of the library.  Special thanks go to Laurent Guerby",
   "  for his kind assistance.",
   "",
-  "- The test cluster provided by Hewlett Packard and  hosted by ESIEE [47]",
+  "- The test cluster provided by Hewlett Packard and  hosted by ESIEE [49]",
   "  allowed us to complete the porting of the PPL to the IA64 and PA-RISC",
-  "  architectures.  Many thanks to Thibaut Varene [48] and the PA-RISC",
-  "  Linux community [49] for their kind assistance.",
+  "  architectures.  Many thanks to Thibaut Varene [50] and the PA-RISC",
+  "  Linux community [51] for their kind assistance.",
+  "",
+  "- HiPEAC [52] sponsored the participation of Roberto Bagnara to the",
+  "  Graphite Workshop [53].  This was very helpful to discuss the needs",
+  "  of Graphite [54] (a framework for high-level loop optimizations on",
+  "  the polyhedral model) and, more generally, of GCC [55] in terms of",
+  "  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].",
   "",
   "",
   "Some of our research work has been partly supported by the following",
@@ -293,31 +312,34 @@ extern const char* const CREDITS_array[] = {
   "  ``Pure and Applied Mathematics'';",
   "",
   "- MURST project ``Automatic Program Certification by Abstract",
-  "  Interpretation'' [50];",
+  "  Interpretation'' [58];",
   "",
   "- 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'' [51];",
+  "  and Maps'' [59];",
   "",
-  "- MURST project ``Constraint Based Verification of Reactive Systems'' [52];",
+  "- MURST project ``Constraint Based Verification of Reactive Systems'' [60];",
   "",
   "- MURST project ``AIDA - Abstract Interpretation: Design and",
-  "  Applications'' [53];",
+  "  Applications'' [61];",
+  "",
+  "- PRIN project ``AIDA 2007 - Abstract Interpretation: Design and",
+  "  Applications'' [62];",
   "",
   "- 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'' [54];",
+  "  ``Numerical Domains for Software Analysis'' [63];",
   "",
   "- Royal Society International Outgoing Short Visit 2007/R4",
-  "  ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [55];",
+  "  ``Finding and Verifying the Absence of Bugs in Imperative Programs'' [64];",
   "",
   "- EPSRC (UK) project EP/G025177/1",
-  "  ``Geometric Abstractions for Scalable Program Analyzers'' [55].",
+  "  ``Geometric Abstractions for Scalable Program Analyzers'' [64].",
   "",
   "--------",
   "",
@@ -345,35 +367,44 @@ extern const char* const CREDITS_array[] = {
   "[22] http://www.cs.unipr.it/ppl/Documentation/chernikova.c",
   "[23] http://www.cs.unipr.it/ppl/Documentation/bibliography#LeVerge92",
   "[24] http://research.microsoft.com/~logozzo/",
-  "[25] http://www.math.unipr.it/~medori/",
-  "[26] http://www.univ-reunion.fr/~fred/",
-  "[27] http://www.cs.unipr.it/cTI/",
-  "[28] http://www.cs.unipr.it/China/",
-  "[29] http://www.cs.ucsb.edu/~bultan/composite/",
-  "[30] http://www-rocq.inria.fr/~pop/",
-  "[31] http://www.cloog.org/",
-  "[32] http://www.cs.wisc.edu/~reps/",
-  "[33] http://www.math.tau.ac.il/~msagiv/",
-  "[34] http://www.nec-labs.com/~srirams/",
-  "[35] http://theory.stanford.edu/~srirams/Software/sting.html",
-  "[36] http://theory.stanford.edu/~srirams/Software/lpinv.html",
-  "[37] http://www.di.ens.fr/~simona/",
-  "[38] http://profs.sci.univr.it/~spoto/",
-  "[39] http://www.starynkevitch.net/Basile/index_en.html",
-  "[40] http://gcc.gnu.org/wiki/MiddleEndLispTranslator",
-  "[41] http://www.ncc.up.pt/~pbv/",
-  "[42] http://www.ncc.up.pt/~pbv/cgi/cost.cgi",
-  "[43] http://www.ncc.up.pt/~pbv/research/ppl/ghc.html",
-  "[44] http://wissrech.ins.uni-bonn.de/people/wildenhues.html",
-  "[45] http://www.siti.unipr.it/",
-  "[46] http://gcc.gnu.org/wiki/CompileFarm",
-  "[47] http://www.esiee.fr/",
-  "[48] http://www.parisc-linux.org/~varenet/",
-  "[49] http://www.parisc-linux.org/",
-  "[50] http://theory.sci.univr.it/p40/",
-  "[51] http://www.cs.unipr.it/Projects/COFIN01",
-  "[52] http://www.disi.unige.it/person/DelzannoG/cover/",
-  "[53] http://www.cs.unipr.it/Projects/AIDA/",
-  "[54] http://www.comp.leeds.ac.uk/hill/chiara/WWW/linda.html",
-  "[55] http://www.comp.leeds.ac.uk/hill/chiara/WWW/projects.html",
+  "[25] http://homepages.inf.ed.ac.uk/kwxm/",
+  "[26] http://www.math.unipr.it/~medori/",
+  "[27] http://www.univ-reunion.fr/~fred/",
+  "[28] http://www.cs.unipr.it/cTI/",
+  "[29] http://www.cs.unipr.it/China/",
+  "[30] http://www.cs.ucsb.edu/~bultan/composite/",
+  "[31] http://www-rocq.inria.fr/~pop/",
+  "[32] http://www.cloog.org/",
+  "[33] http://www.cs.wisc.edu/~reps/",
+  "[34] http://www.math.tau.ac.il/~msagiv/",
+  "[35] http://www.nec-labs.com/~srirams/",
+  "[36] http://theory.stanford.edu/~srirams/Software/sting.html",
+  "[37] http://theory.stanford.edu/~srirams/Software/lpinv.html",
+  "[38] http://www.di.ens.fr/~simona/",
+  "[39] http://profs.sci.univr.it/~spoto/",
+  "[40] http://www.starynkevitch.net/Basile/index_en.html",
+  "[41] http://gcc.gnu.org/wiki/MiddleEndLispTranslator",
+  "[42] http://www.ncc.up.pt/~pbv/",
+  "[43] http://www.ncc.up.pt/~pbv/cgi/cost.cgi",
+  "[44] http://www.ncc.up.pt/~pbv/research/ppl/ghc.html",
+  "[45] http://wissrech.ins.uni-bonn.de/people/wildenhues.html",
+  "[46] http://developer.amd.com/",
+  "[47] http://www.siti.unipr.it/",
+  "[48] http://gcc.gnu.org/wiki/CompileFarm",
+  "[49] http://www.esiee.fr/",
+  "[50] http://www.parisc-linux.org/~varenet/",
+  "[51] http://www.parisc-linux.org/",
+  "[52] http://www.hipeac.net/",
+  "[53] http://gcc.gnu.org/wiki/Graphite_Workshop_Nov08",
+  "[54] http://gcc.gnu.org/wiki/Graphite",
+  "[55] http://gcc.gnu.org/",
+  "[56] http://www.inria.fr/",
+  "[57] http://www-rocq.inria.fr/~acohen/",
+  "[58] http://theory.sci.univr.it/p40/",
+  "[59] http://www.cs.unipr.it/Projects/COFIN01",
+  "[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",
   0};
diff --git a/src/C_Integer.hh b/src/C_Integer.hh
index 2700744..86df040 100644
--- a/src/C_Integer.hh
+++ b/src/C_Integer.hh
@@ -1,5 +1,5 @@
 /* C integers info.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/C_Polyhedron.cc b/src/C_Polyhedron.cc
index 7b6d23f..54fca8c 100644
--- a/src/C_Polyhedron.cc
+++ b/src/C_Polyhedron.cc
@@ -1,5 +1,5 @@
 /* C_Polyhedron class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -81,6 +81,19 @@ PPL::C_Polyhedron::C_Polyhedron(const Grid& grid, Complexity_Class)
 }
 
 bool
-PPL::C_Polyhedron::poly_hull_assign_if_exact(const C_Polyhedron& q) {
-  return PPL::poly_hull_assign_if_exact(*this, q);
+PPL::C_Polyhedron::poly_hull_assign_if_exact(const C_Polyhedron& y) {
+  // Dimension-compatibility check.
+  if (space_dimension() != y.space_dimension())
+    throw_dimension_incompatible("poly_hull_assign_if_exact(y)", "y", y);
+#define USE_BHZ09 0
+#define USE_BFT00 1
+#if USE_BHZ09 // [BagnaraHZ09]
+  return BHZ09_poly_hull_assign_if_exact(y);
+#elif USE_BFT00 // [BemporadFT00TR].
+  return BFT00_poly_hull_assign_if_exact(y);
+#else // Old implementation.
+  return PPL::poly_hull_assign_if_exact(*this, y);
+#endif
+#undef USE_BHZ09
+#undef USE_BFT00
 }
diff --git a/src/C_Polyhedron.defs.hh b/src/C_Polyhedron.defs.hh
index 6540609..ba37c57 100644
--- a/src/C_Polyhedron.defs.hh
+++ b/src/C_Polyhedron.defs.hh
@@ -1,5 +1,5 @@
 /* C_Polyhedron class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/C_Polyhedron.inlines.hh b/src/C_Polyhedron.inlines.hh
index 003a085..2239295 100644
--- a/src/C_Polyhedron.inlines.hh
+++ b/src/C_Polyhedron.inlines.hh
@@ -1,5 +1,5 @@
 /* C_Polyhedron class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/C_Polyhedron.types.hh b/src/C_Polyhedron.types.hh
index 70f7f7a..90945c2 100644
--- a/src/C_Polyhedron.types.hh
+++ b/src/C_Polyhedron.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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_Number.cc b/src/Checked_Number.cc
index cf262b2..599de10 100644
--- a/src/Checked_Number.cc
+++ b/src/Checked_Number.cc
@@ -1,5 +1,5 @@
 /* Checked_Number class implementation
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Checked_Number.defs.hh b/src/Checked_Number.defs.hh
index e1e11c2..cc24ad7 100644
--- a/src/Checked_Number.defs.hh
+++ b/src/Checked_Number.defs.hh
@@ -1,5 +1,5 @@
 /* Checked_Number class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -366,7 +366,7 @@ public:
   //! Classifies *this.
   /*!
     Returns the appropriate Result characterizing:
-    - whether \p *this is NAN,
+    - 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>;
diff --git a/src/Checked_Number.inlines.hh b/src/Checked_Number.inlines.hh
index e7425f1..774c69d 100644
--- a/src/Checked_Number.inlines.hh
+++ b/src/Checked_Number.inlines.hh
@@ -1,5 +1,5 @@
 /* Checked_Number class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -47,6 +47,10 @@ check_result(Result r, Rounding_Dir dir) {
 #ifdef DEBUG_ROUND_NOT_NEEDED
     // FIXME: this is wrong. If an overflow happens the Result may be
     // V_LT or V_GT. What's the better way to cope with that?
+
+    // To solve this we need to clarify if ROUND_NOT_NEEDED is
+    // specified to grant library that the result will be exact _and_
+    // not overflowing or the result will be exact _or_ overflowling.
     assert(r == V_EQ);
 #else
     return V_EQ;
@@ -141,10 +145,10 @@ Checked_Number<T, Policy>::Checked_Number(const type x) {		\
 		  dir));						\
 }
 
-#define COND_0(...)
-#define COND_1(...) __VA_ARGS__
-#define COND_(if, ...) COND_##if(__VA_ARGS__)
-#define COND(if, ...) COND_(if, __VA_ARGS__)
+#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__)
 
 DEF_CTOR(signed char)
 DEF_CTOR(signed short)
@@ -156,14 +160,19 @@ DEF_CTOR(unsigned short)
 DEF_CTOR(unsigned int)
 DEF_CTOR(unsigned long)
 DEF_CTOR(unsigned long long)
-COND(PPL_SUPPORTED_FLOAT, DEF_CTOR(float))
-COND(PPL_SUPPORTED_DOUBLE, DEF_CTOR(double))
-COND(PPL_SUPPORTED_LONG_DOUBLE, DEF_CTOR(long double))
+PPL_COND(PPL_SUPPORTED_FLOAT, DEF_CTOR(float))
+PPL_COND(PPL_SUPPORTED_DOUBLE, DEF_CTOR(double))
+PPL_COND(PPL_SUPPORTED_LONG_DOUBLE, DEF_CTOR(long double))
 DEF_CTOR(mpq_class&)
 DEF_CTOR(mpz_class&)
 
 #undef DEF_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) {
@@ -629,21 +638,21 @@ operator-(const Checked_Number<T, Policy>& x) {
   return r;
 }
 
-#define DEF_ASSIGN_FUN2_1(f, fun) \
+#define PPL_DEF_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));	\
 }
 
-#define DEF_ASSIGN_FUN2_2(f, fun) \
+#define PPL_DEF_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)); \
 }
 
-#define DEF_ASSIGN_FUN3_3(f, fun) \
+#define PPL_DEF_ASSIGN_FUN3_3(f, fun) \
 template <typename T, typename Policy> \
 inline void \
 f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y, \
@@ -651,7 +660,7 @@ f(Checked_Number<T, Policy>& x, const Checked_Number<T, Policy>& y, \
   Policy::handle_result(fun(x, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
-#define DEF_ASSIGN_FUN5_5(f, fun)					\
+#define PPL_DEF_ASSIGN_FUN5_5(f, fun)					\
 template <typename T, typename Policy>					\
 inline void								\
 f(Checked_Number<T, Policy>& x,						\
@@ -661,39 +670,40 @@ f(Checked_Number<T, Policy>& x,						\
   Policy::handle_result(fun(x, s, t, y, z, Policy::ROUND_DEFAULT_FUNCTION)); \
 }
 
-DEF_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
 
-DEF_ASSIGN_FUN2_1(floor_assign, floor_assign_r)
-DEF_ASSIGN_FUN2_2(floor_assign, floor_assign_r)
+PPL_DEF_ASSIGN_FUN2_1(floor_assign, floor_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(floor_assign, floor_assign_r)
 
-DEF_ASSIGN_FUN2_1(ceil_assign, ceil_assign_r)
-DEF_ASSIGN_FUN2_2(ceil_assign, ceil_assign_r)
+PPL_DEF_ASSIGN_FUN2_1(ceil_assign, ceil_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(ceil_assign, ceil_assign_r)
 
-DEF_ASSIGN_FUN2_1(trunc_assign, trunc_assign_r)
-DEF_ASSIGN_FUN2_2(trunc_assign, trunc_assign_r)
+PPL_DEF_ASSIGN_FUN2_1(trunc_assign, trunc_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(trunc_assign, trunc_assign_r)
 
-DEF_ASSIGN_FUN2_1(neg_assign, neg_assign_r)
-DEF_ASSIGN_FUN2_2(neg_assign, neg_assign_r)
+PPL_DEF_ASSIGN_FUN2_1(neg_assign, neg_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(neg_assign, neg_assign_r)
 
-DEF_ASSIGN_FUN2_1(abs_assign, abs_assign_r)
-DEF_ASSIGN_FUN2_2(abs_assign, abs_assign_r)
+PPL_DEF_ASSIGN_FUN2_1(abs_assign, abs_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(abs_assign, abs_assign_r)
 
-DEF_ASSIGN_FUN3_3(add_mul_assign, add_mul_assign_r)
+PPL_DEF_ASSIGN_FUN3_3(add_mul_assign, add_mul_assign_r)
 
-DEF_ASSIGN_FUN3_3(sub_mul_assign, sub_mul_assign_r)
+PPL_DEF_ASSIGN_FUN3_3(sub_mul_assign, sub_mul_assign_r)
 
-DEF_ASSIGN_FUN3_3(rem_assign, rem_assign_r)
+PPL_DEF_ASSIGN_FUN3_3(rem_assign, rem_assign_r)
 
-DEF_ASSIGN_FUN3_3(gcd_assign, gcd_assign_r)
+PPL_DEF_ASSIGN_FUN3_3(gcd_assign, gcd_assign_r)
 
-DEF_ASSIGN_FUN5_5(gcdext_assign, gcdext_assign_r)
+PPL_DEF_ASSIGN_FUN5_5(gcdext_assign, gcdext_assign_r)
 
-DEF_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
+PPL_DEF_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
 
-#undef DEF_ASSIGN_FUN2_1
-#undef DEF_ASSIGN_FUN2_2
-#undef DEF_ASSIGN_FUN3_2
-#undef DEF_ASSIGN_FUN3_3
+#undef PPL_DEF_ASSIGN_FUN2_1
+#undef PPL_DEF_ASSIGN_FUN2_2
+#undef PPL_DEF_ASSIGN_FUN3_2
+#undef PPL_DEF_ASSIGN_FUN3_3
+#undef PPL_DEF_ASSIGN_FUN5_5
 
 template <typename T, typename Policy>
 inline void
diff --git a/src/Checked_Number.templates.hh b/src/Checked_Number.templates.hh
index a82ed13..1ac6e6d 100644
--- a/src/Checked_Number.templates.hh
+++ b/src/Checked_Number.templates.hh
@@ -1,5 +1,5 @@
 /* Checked_Number class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Checked_Number.types.hh b/src/Checked_Number.types.hh
index 130c6d1..b6acba5 100644
--- a/src/Checked_Number.types.hh
+++ b/src/Checked_Number.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 d14c4ee..c8f3dad 100644
--- a/src/Coefficient.cc
+++ b/src/Coefficient.cc
@@ -1,5 +1,5 @@
 /* Coefficient class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Coefficient.defs.hh b/src/Coefficient.defs.hh
index 4934a46..05a80ee 100644
--- a/src/Coefficient.defs.hh
+++ b/src/Coefficient.defs.hh
@@ -1,5 +1,5 @@
 /* Coefficient class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Coefficient.inlines.hh b/src/Coefficient.inlines.hh
index 68ae20b..1e02b8a 100644
--- a/src/Coefficient.inlines.hh
+++ b/src/Coefficient.inlines.hh
@@ -1,5 +1,5 @@
 /* Coefficient class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Coefficient.types.hh b/src/Coefficient.types.hh
index 2954012..bb4f7d1 100644
--- a/src/Coefficient.types.hh
+++ b/src/Coefficient.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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_traits_template.hh b/src/Coefficient_traits_template.hh
index c4c341c..9e7fbab 100644
--- a/src/Coefficient_traits_template.hh
+++ b/src/Coefficient_traits_template.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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.cc b/src/Congruence.cc
index 57e0615..3967117 100644
--- a/src/Congruence.cc
+++ b/src/Congruence.cc
@@ -1,5 +1,5 @@
 /* Congruence class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -148,7 +148,7 @@ PPL::Congruence::throw_dimension_incompatible(const char* method,
 std::ostream&
 PPL::IO_Operators::operator<<(std::ostream& s, const Congruence& c) {
   const dimension_type num_variables = c.space_dimension();
-  TEMP_INTEGER(cv);
+  PPL_DIRTY_TEMP_COEFFICIENT(cv);
   bool first = true;
   for (dimension_type v = 0; v < num_variables; ++v) {
     cv = c.coefficient(Variable(v));
@@ -240,7 +240,7 @@ PPL::Congruence::ascii_load(std::istream& s) {
     for (dimension_type col = 0; col < new_size - 1; ++col)
       if (!(s >> x[col]))
 	return false;
-    if (!(s >> str) || (str.compare("m") != 0))
+    if (!(s >> str) || str != "m")
       return false;
     if (!(s >> x[new_size-1]))
       return false;
diff --git a/src/Congruence.defs.hh b/src/Congruence.defs.hh
index 3589779..34a5442 100644
--- a/src/Congruence.defs.hh
+++ b/src/Congruence.defs.hh
@@ -1,5 +1,5 @@
 /* Congruence class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Congruence.inlines.hh b/src/Congruence.inlines.hh
index cc620d9..5057530 100644
--- a/src/Congruence.inlines.hh
+++ b/src/Congruence.inlines.hh
@@ -1,5 +1,5 @@
 /* Congruence class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Congruence.types.hh b/src/Congruence.types.hh
index a6bc34e..e10f6be 100644
--- a/src/Congruence.types.hh
+++ b/src/Congruence.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 83f032e..aecb8bc 100644
--- a/src/Congruence_System.cc
+++ b/src/Congruence_System.cc
@@ -1,5 +1,5 @@
 /* Congruence_System class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -187,7 +187,7 @@ PPL::Congruence_System::normalize_moduli() {
   dimension_type row = num_rows();
   if (row > 0) {
     // Calculate the LCM of all the moduli.
-    TEMP_INTEGER(lcm);
+    PPL_DIRTY_TEMP_COEFFICIENT(lcm);
     // Find last proper congruence.
     while (true) {
       lcm = operator[](--row).modulus();
@@ -204,7 +204,7 @@ PPL::Congruence_System::normalize_moduli() {
     }
 
     // Represent every row using the LCM as the modulus.
-    TEMP_INTEGER(factor);
+    PPL_DIRTY_TEMP_COEFFICIENT(factor);
     dimension_type row_size = operator[](0).size();
     for (row = num_rows(); row-- > 0; ) {
       const Coefficient& modulus = operator[](row).modulus();
@@ -278,7 +278,7 @@ satisfies_all_congruences(const Grid_Generator& g) const {
   assert(g.space_dimension() <= space_dimension());
 
   const Congruence_System& cgs = *this;
-  TEMP_INTEGER(sp);
+  PPL_DIRTY_TEMP_COEFFICIENT(sp);
   if (g.is_line())
     for (dimension_type i = cgs.num_rows(); i-- > 0; ) {
       const Congruence& cg = cgs[i];
@@ -408,7 +408,7 @@ PPL::Congruence_System::ascii_load(std::istream& s) {
   dimension_type num_columns;
   if (!(s >> num_rows))
     return false;
-  if (!(s >> str))
+  if (!(s >> str) || str != "x")
     return false;
   if (!(s >> num_columns))
     return false;
diff --git a/src/Congruence_System.defs.hh b/src/Congruence_System.defs.hh
index d300707..0a9e186 100644
--- a/src/Congruence_System.defs.hh
+++ b/src/Congruence_System.defs.hh
@@ -1,5 +1,5 @@
 /* Congruence_System class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Congruence_System.inlines.hh b/src/Congruence_System.inlines.hh
index 89e2708..80abd24 100644
--- a/src/Congruence_System.inlines.hh
+++ b/src/Congruence_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Congruence_System class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Congruence_System.types.hh b/src/Congruence_System.types.hh
index 1b0eee7..9ee5c06 100644
--- a/src/Congruence_System.types.hh
+++ b/src/Congruence_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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.cc b/src/Constraint.cc
index 08415e0..a6b397f 100644
--- a/src/Constraint.cc
+++ b/src/Constraint.cc
@@ -1,5 +1,5 @@
 /* Constraint class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -263,7 +263,7 @@ PPL::Constraint::finalize() {
 std::ostream&
 PPL::IO_Operators::operator<<(std::ostream& s, const Constraint& c) {
   const dimension_type num_variables = c.space_dimension();
-  TEMP_INTEGER(cv);
+  PPL_DIRTY_TEMP_COEFFICIENT(cv);
   bool first = true;
   for (dimension_type v = 0; v < num_variables; ++v) {
     cv = c.coefficient(Variable(v));
diff --git a/src/Constraint.defs.hh b/src/Constraint.defs.hh
index 1e8419b..7ff7805 100644
--- a/src/Constraint.defs.hh
+++ b/src/Constraint.defs.hh
@@ -1,5 +1,5 @@
 /* Constraint class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Constraint.inlines.hh b/src/Constraint.inlines.hh
index acbcea6..74516a2 100644
--- a/src/Constraint.inlines.hh
+++ b/src/Constraint.inlines.hh
@@ -1,5 +1,5 @@
 /* Constraint class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Constraint.types.hh b/src/Constraint.types.hh
index 658b684..4975318 100644
--- a/src/Constraint.types.hh
+++ b/src/Constraint.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 48fcf24..5c2bcc3 100644
--- a/src/Constraint_System.cc
+++ b/src/Constraint_System.cc
@@ -1,5 +1,5 @@
 /* Constraint_System class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -518,7 +518,7 @@ PPL::Constraint_System::ascii_load(std::istream& s) {
   dimension_type ncols;
   if (!(s >> nrows))
     return false;
-  if (!(s >> str))
+  if (!(s >> str) || str != "x")
     return false;
   if (!(s >> ncols))
       return false;
@@ -544,8 +544,10 @@ PPL::Constraint_System::ascii_load(std::istream& s) {
       return false;
     if (str == "=")
       x[i].set_is_equality();
-    else
+    else if (str == ">=" || str == ">")
       x[i].set_is_inequality();
+    else
+      return false;
 
     // Checking for equality of actual and declared types.
     switch (x[i].type()) {
diff --git a/src/Constraint_System.defs.hh b/src/Constraint_System.defs.hh
index a5d30c0..c35c5e1 100644
--- a/src/Constraint_System.defs.hh
+++ b/src/Constraint_System.defs.hh
@@ -1,5 +1,5 @@
 /* Constraint_System class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Constraint_System.inlines.hh b/src/Constraint_System.inlines.hh
index 6706fde..ffbc9c6 100644
--- a/src/Constraint_System.inlines.hh
+++ b/src/Constraint_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Constraint_System class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Constraint_System.types.hh b/src/Constraint_System.types.hh
index 63dac30..e68a803 100644
--- a/src/Constraint_System.types.hh
+++ b/src/Constraint_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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_Matrix.defs.hh b/src/DB_Matrix.defs.hh
index 02946ba..22c897e 100644
--- a/src/DB_Matrix.defs.hh
+++ b/src/DB_Matrix.defs.hh
@@ -1,5 +1,5 @@
 /* DB_Matrix class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/DB_Matrix.inlines.hh b/src/DB_Matrix.inlines.hh
index 8421935..8c0d9d8 100644
--- a/src/DB_Matrix.inlines.hh
+++ b/src/DB_Matrix.inlines.hh
@@ -1,5 +1,5 @@
 /* DB_Matrix class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/DB_Matrix.templates.hh b/src/DB_Matrix.templates.hh
index 13149b2..ba98212 100644
--- a/src/DB_Matrix.templates.hh
+++ b/src/DB_Matrix.templates.hh
@@ -1,5 +1,5 @@
 /* DB_Matrix class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -232,9 +232,8 @@ DB_Matrix<T>::ascii_load(std::istream& s) {
   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_UP);
-      // FIXME: V_CVT_STR_UNK is probably not the only possible error.
-      if (!s || r == V_CVT_STR_UNK)
+      Result r = input(x[i][j], s, ROUND_CHECK);
+      if (r != V_EQ || is_minus_infinity(x[i][j]))
 	return false;
     }
 
diff --git a/src/DB_Matrix.types.hh b/src/DB_Matrix.types.hh
index 0e8f06e..11f1420 100644
--- a/src/DB_Matrix.types.hh
+++ b/src/DB_Matrix.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 50a000f..df17430 100644
--- a/src/DB_Row.defs.hh
+++ b/src/DB_Row.defs.hh
@@ -1,5 +1,5 @@
 /* DB_Row class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/DB_Row.inlines.hh b/src/DB_Row.inlines.hh
index 7628027..d50d600 100644
--- a/src/DB_Row.inlines.hh
+++ b/src/DB_Row.inlines.hh
@@ -1,5 +1,5 @@
 /* DB_Row class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,10 +23,12 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_DB_Row_inlines_hh
 #define PPL_DB_Row_inlines_hh 1
 
+#include "checked.defs.hh"
 #include <cassert>
+#include <cstddef>
+#include <limits>
 #include <algorithm>
 #include <iostream>
-#include "checked.defs.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -78,7 +80,7 @@ DB_Row_Impl_Handler<T>::Impl::total_memory_in_bytes() const {
 template <typename T>
 inline dimension_type
 DB_Row_Impl_Handler<T>::Impl::max_size() {
-  return size_t(-1)/sizeof(T);
+  return std::numeric_limits<size_t>::max() / sizeof(T);
 }
 
 template <typename T>
diff --git a/src/DB_Row.templates.hh b/src/DB_Row.templates.hh
index 2b8abb1..c84c897 100644
--- a/src/DB_Row.templates.hh
+++ b/src/DB_Row.templates.hh
@@ -1,5 +1,5 @@
 /* DB_Row class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,6 +23,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_DB_Row_templates_hh
 #define PPL_DB_Row_templates_hh 1
 
+#include "globals.defs.hh"
+
 namespace Parma_Polyhedra_Library {
 
 template <typename T>
diff --git a/src/DB_Row.types.hh b/src/DB_Row.types.hh
index 1257366..91818d7 100644
--- a/src/DB_Row.types.hh
+++ b/src/DB_Row.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Determinate.defs.hh b/src/Determinate.defs.hh
index 727f3b2..31e9c33 100644
--- a/src/Determinate.defs.hh
+++ b/src/Determinate.defs.hh
@@ -1,5 +1,5 @@
 /* Determinate class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Determinate.inlines.hh b/src/Determinate.inlines.hh
index 91a924a..9aee467 100644
--- a/src/Determinate.inlines.hh
+++ b/src/Determinate.inlines.hh
@@ -1,5 +1,5 @@
 /* Determinate class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -178,14 +178,18 @@ Determinate<PS>::meet_assign(const Determinate& y) {
 template <typename PS>
 inline bool
 Determinate<PS>::has_nontrivial_weakening() {
-  // FIXME
-  return true;
+  // FIXME: the following should be turned into a query to PS.  This
+  // can be postponed until the time the ask-and-tell construction is
+  // revived.
+  return false;
 }
 
 template <typename PS>
 inline void
 Determinate<PS>::weakening_assign(const Determinate& y) {
-  // FIXME
+  // FIXME: the following should be turned into a proper
+  // implementation.  This can be postponed until the time the
+  // ask-and-tell construction is revived.
   element().difference_assign(y.element());
 }
 
diff --git a/src/Determinate.types.hh b/src/Determinate.types.hh
index 606786e..35266b9 100644
--- a/src/Determinate.types.hh
+++ b/src/Determinate.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Float.cc b/src/Float.cc
index 5c06c44..b03ea30 100644
--- a/src/Float.cc
+++ b/src/Float.cc
@@ -1,5 +1,5 @@
 /* IEC 559 floating point format related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Float.defs.hh b/src/Float.defs.hh
index 95e4668..20498b6 100644
--- a/src/Float.defs.hh
+++ b/src/Float.defs.hh
@@ -1,5 +1,5 @@
 /* IEC 559 floating point format related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -29,8 +29,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include <cassert>
 #include <cmath>
 
-#ifndef NAN
-#define NAN (HUGE_VAL - HUGE_VAL)
+#ifdef NAN
+#define PPL_NAN NAN
+#else
+#define PPL_NAN (HUGE_VAL - HUGE_VAL)
 #endif
 
 namespace Parma_Polyhedra_Library {
@@ -65,6 +67,12 @@ struct float_ieee754_single {
   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)
diff --git a/src/Float.inlines.hh b/src/Float.inlines.hh
index 37b0b83..2796f9e 100644
--- a/src/Float.inlines.hh
+++ b/src/Float.inlines.hh
@@ -1,5 +1,5 @@
 /* IEC 559 floating point format related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/GMP_Integer.defs.hh b/src/GMP_Integer.defs.hh
index d0bb4c9..159bdb9 100644
--- a/src/GMP_Integer.defs.hh
+++ b/src/GMP_Integer.defs.hh
@@ -1,5 +1,5 @@
 /* GMP_Integer class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/GMP_Integer.inlines.hh b/src/GMP_Integer.inlines.hh
index 5021618..9cb9e04 100644
--- a/src/GMP_Integer.inlines.hh
+++ b/src/GMP_Integer.inlines.hh
@@ -1,5 +1,5 @@
 /* GMP_Integer class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,6 +23,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_GMP_Integer_inlines_hh
 #define PPL_GMP_Integer_inlines_hh 1
 
+#include <cassert>
+
 namespace Parma_Polyhedra_Library {
 
 inline void
diff --git a/src/GMP_Integer.types.hh b/src/GMP_Integer.types.hh
index 6952cdc..8fde525 100644
--- a/src/GMP_Integer.types.hh
+++ b/src/GMP_Integer.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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.cc b/src/Generator.cc
index f4526d2..a697381 100644
--- a/src/Generator.cc
+++ b/src/Generator.cc
@@ -1,5 +1,5 @@
 /* Generator class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -216,7 +216,7 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Generator& g) {
     break;
   }
 
-  TEMP_INTEGER(gv);
+  PPL_DIRTY_TEMP_COEFFICIENT(gv);
   bool first = true;
   for (dimension_type v = 0; v < num_variables; ++v) {
     gv = g[v+1];
@@ -289,19 +289,19 @@ PPL::Generator::is_matching_closure_point(const Generator& p) const {
   else {
     // Divisors are different: divide them by their GCD
     // to simplify the following computation.
-    TEMP_INTEGER(gcd);
+    PPL_DIRTY_TEMP_COEFFICIENT(gcd);
     gcd_assign(gcd, cp[0], p[0]);
     const bool rel_prime = (gcd == 1);
-    TEMP_INTEGER(cp_0_scaled);
-    TEMP_INTEGER(p_0_scaled);
+    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;
-    TEMP_INTEGER(prod1);
-    TEMP_INTEGER(prod2);
+    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;
diff --git a/src/Generator.defs.hh b/src/Generator.defs.hh
index 08182ea..5d57d19 100644
--- a/src/Generator.defs.hh
+++ b/src/Generator.defs.hh
@@ -1,5 +1,5 @@
 /* Generator class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Generator.inlines.hh b/src/Generator.inlines.hh
index 99e61ce..ee54c54 100644
--- a/src/Generator.inlines.hh
+++ b/src/Generator.inlines.hh
@@ -1,5 +1,5 @@
 /* Generator class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -236,10 +236,10 @@ l_m_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
     return true;
   }
 
-  DIRTY_TEMP0(mpq_class, x_coord);
-  DIRTY_TEMP0(mpq_class, y_coord);
-  DIRTY_TEMP0(mpq_class, x_div);
-  DIRTY_TEMP0(mpq_class, y_div);
+  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);
 
@@ -291,9 +291,9 @@ rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			    const Generator& y,
 			    const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -329,9 +329,9 @@ euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			  const Generator& y,
 			  const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -367,9 +367,9 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			   const Generator& y,
 			   const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
diff --git a/src/Generator.types.hh b/src/Generator.types.hh
index 8a8152f..37dcf09 100644
--- a/src/Generator.types.hh
+++ b/src/Generator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 866efca..4793f5d 100644
--- a/src/Generator_System.cc
+++ b/src/Generator_System.cc
@@ -1,5 +1,5 @@
 /* Generator_System class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -800,7 +800,7 @@ PPL::Generator_System
 
   // Compute the numerator of the affine transformation and assign it
   // to the column of `*this' indexed by `v'.
-  TEMP_INTEGER(numerator);
+  PPL_DIRTY_TEMP_COEFFICIENT(numerator);
   for (dimension_type i = n_rows; i-- > 0; ) {
     Generator& row = x[i];
     Scalar_Products::assign(numerator, expr, row);
@@ -886,7 +886,7 @@ PPL::Generator_System::ascii_load(std::istream& s) {
   dimension_type ncols;
   if (!(s >> nrows))
     return false;
-  if (!(s >> str))
+  if (!(s >> str) || str != "x")
     return false;
   if (!(s >> ncols))
       return false;
@@ -912,8 +912,10 @@ PPL::Generator_System::ascii_load(std::istream& s) {
       return false;
     if (str == "L")
       x[i].set_is_line();
-    else
+    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()) {
diff --git a/src/Generator_System.defs.hh b/src/Generator_System.defs.hh
index e0a53de..f9e7903 100644
--- a/src/Generator_System.defs.hh
+++ b/src/Generator_System.defs.hh
@@ -1,5 +1,5 @@
 /* Generator_System class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Generator_System.inlines.hh b/src/Generator_System.inlines.hh
index 6f00016..d8f850a 100644
--- a/src/Generator_System.inlines.hh
+++ b/src/Generator_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Generator_System class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Generator_System.types.hh b/src/Generator_System.types.hh
index 1a03715..27c325a 100644
--- a/src/Generator_System.types.hh
+++ b/src/Generator_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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.defs.hh b/src/Grid.defs.hh
index 9439cea..309d4b3 100644
--- a/src/Grid.defs.hh
+++ b/src/Grid.defs.hh
@@ -1,5 +1,5 @@
 /* Grid class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,8 +23,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_Grid_defs_hh
 #define PPL_Grid_defs_hh 1
 
-#define STRONG_REDUCTION 1
-
 #include "Grid.types.hh"
 #include "globals.defs.hh"
 #include "Variable.defs.hh"
@@ -2635,9 +2633,18 @@ private:
 					      dimension_type col,
 					      Congruence_System& sys);
 
-#ifdef STRONG_REDUCTION
   //! 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).
+
     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.
@@ -2648,7 +2655,6 @@ private:
 			     dimension_type start, dimension_type end,
 			     const Dimension_Kinds& dim_kinds,
 			     bool generators = true);
-#endif
 
   //! Multiply the elements of \p dest by \p multiplier.
   // A member of Grid for access to Matrix::rows and cgs::operator[].
diff --git a/src/Grid.inlines.hh b/src/Grid.inlines.hh
index 417da1a..5fc3d53 100644
--- a/src/Grid.inlines.hh
+++ b/src/Grid.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -369,7 +369,7 @@ Grid::minimize(const Linear_Expression& expr,
 
 inline void
 Grid::normalize_divisors(Grid_Generator_System& sys) {
-  TEMP_INTEGER(divisor);
+  PPL_DIRTY_TEMP_COEFFICIENT(divisor);
   divisor = 1;
   normalize_divisors(sys, divisor);
 }
diff --git a/src/Grid.templates.hh b/src/Grid.templates.hh
index 5cdac9b..12196b1 100644
--- a/src/Grid.templates.hh
+++ b/src/Grid.templates.hh
@@ -1,5 +1,5 @@
 /* Grid class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -57,10 +57,10 @@ Grid::Grid(const Box<Interval>& box,
     // Initialize the space dimension as indicated by the box.
     con_sys.increase_space_dimension(space_dim);
     // Add congruences and generators according to `box'.
-    TEMP_INTEGER(l_n);
-    TEMP_INTEGER(l_d);
-    TEMP_INTEGER(u_n);
-    TEMP_INTEGER(u_d);
+    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)));
     Grid_Generator& point = gen_sys[0];
     for (dimension_type k = space_dim; k-- > 0; ) {
@@ -117,14 +117,18 @@ Grid::Grid(const Box& box, From_Covering_Box)
 
   space_dim = box.space_dimension();
 
-  TEMP_INTEGER(l_n);
-  TEMP_INTEGER(l_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
 
-  // Check that all bounds are closed.  This check must be done before
+  // FIXME: consider whether or not covering boxes supporting open
+  // boundaries should be disabled at compile time. If that is not
+  // the case, consider if the test !box.is_topologically_closed()
+  // can replace the whole loop here below.
+
+  // Check that no finite bounds is open. This check must be done before
   // the empty test below, as an open bound might mean an empty box.
   for (dimension_type k = space_dim; k-- > 0; ) {
     bool closed = false;
-    // FIXME: Perhaps introduce Box::is_bounded_and_closed.
     if (box.get_lower_bound(k, closed, l_n, l_d) && !closed)
       throw_invalid_argument("Grid(box, from_covering_box)", "box");
     if (box.get_upper_bound(k, closed, l_n, l_d) && !closed)
@@ -144,9 +148,9 @@ Grid::Grid(const Box& box, From_Covering_Box)
     // Initialize the space dimension as indicated by the box.
     con_sys.increase_space_dimension(space_dim);
     // Add congruences according to `box'.
-    TEMP_INTEGER(u_n);
-    TEMP_INTEGER(u_d);
-    TEMP_INTEGER(d);
+    PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+    PPL_DIRTY_TEMP_COEFFICIENT(u_d);
+    PPL_DIRTY_TEMP_COEFFICIENT(d);
     gen_sys.insert(grid_point(0*Variable(space_dim-1)));
     Grid_Generator& point = gen_sys[0];
     for (dimension_type k = space_dim; k-- > 0; ) {
@@ -263,8 +267,8 @@ Grid::get_covering_box(Box<Interval>& box) const {
   dimension_type num_dims = gen_sys.num_columns() - 2 /* parameter divisor */;
   dimension_type num_rows = gen_sys.num_rows();
 
-  TEMP_INTEGER(gcd);
-  TEMP_INTEGER(bound);
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  PPL_DIRTY_TEMP_COEFFICIENT(bound);
 
   if (num_rows > 1) {
     Row interval_sizes(num_dims, Row::Flags());
@@ -314,7 +318,7 @@ Grid::get_covering_box(Box<Interval>& box) const {
     // given dimension between any two grid points.
     const Grid_Generator& point = *first_point;
     const Coefficient& divisor = point.divisor();
-    TEMP_INTEGER(lower_bound);
+    PPL_DIRTY_TEMP_COEFFICIENT(lower_bound);
     for (dimension_type dim = num_dims; dim-- > 0; ) {
       if (interval_emptiness[dim])
 	continue;
@@ -529,7 +533,8 @@ Grid::map_space_dimensions(const Partial_Function& pfunc) {
   assert(OK(true));
 }
 
-#ifdef STRONG_REDUCTION
+// Needed for converting the congruence or grid_generator system
+// to "strong minimal form".
 template <typename M, typename R>
 void
 Grid::reduce_reduced(M& sys,
@@ -546,7 +551,7 @@ Grid::reduce_reduced(M& sys,
   if (pivot_dim == 0)
     return;
 
-  TEMP_INTEGER(pivot_dim_half);
+  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;
@@ -562,8 +567,8 @@ Grid::reduce_reduced(M& sys,
     jump = 1;
   }
 
-  TEMP_INTEGER(num_rows_to_subtract);
-  TEMP_INTEGER(row_dim_remainder);
+  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) {
@@ -583,7 +588,7 @@ Grid::reduce_reduced(M& sys,
 
       // 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 strong reduction
+      // 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) {
@@ -604,7 +609,6 @@ Grid::reduce_reduced(M& sys,
     }
   }
 }
-#endif // STRONG_REDUCTION
 
 } // namespace Parma_Polyhedra_Library
 
diff --git a/src/Grid.types.hh b/src/Grid.types.hh
index 3bbe471..0811220 100644
--- a/src/Grid.types.hh
+++ b/src/Grid.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 015dd37..e6f3ebd 100644
--- a/src/Grid_Certificate.cc
+++ b/src/Grid_Certificate.cc
@@ -1,6 +1,6 @@
 /* Grid_Certificate class implementation
    (non-inline member functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_Certificate.defs.hh b/src/Grid_Certificate.defs.hh
index 4bcd4d3..2b0056e 100644
--- a/src/Grid_Certificate.defs.hh
+++ b/src/Grid_Certificate.defs.hh
@@ -1,5 +1,5 @@
 /* Grid_Certificate class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_Certificate.inlines.hh b/src/Grid_Certificate.inlines.hh
index 94be10f..176a2b3 100644
--- a/src/Grid_Certificate.inlines.hh
+++ b/src/Grid_Certificate.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid_Certificate class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_Certificate.types.hh b/src/Grid_Certificate.types.hh
index 1ccb060..60d6377 100644
--- a/src/Grid_Certificate.types.hh
+++ b/src/Grid_Certificate.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 f6fd43e..f0b55f7 100644
--- a/src/Grid_Generator.cc
+++ b/src/Grid_Generator.cc
@@ -1,5 +1,5 @@
 /* Grid_Generator class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -252,7 +252,7 @@ PPL::Grid_Generator::scale_to_divisor(Coefficient_traits::const_reference d) {
       throw std::invalid_argument("PPL::Grid_Generator::scale_to_divisor(d):\n"
 				  "d == 0.");
 
-    TEMP_INTEGER(factor);
+    PPL_DIRTY_TEMP_COEFFICIENT(factor);
     exact_div_assign(factor, d, divisor());
     set_divisor(d);
     assert(factor > 0);
@@ -311,7 +311,7 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Grid_Generator& g) {
     break;
   }
 
-  TEMP_INTEGER(gv);
+  PPL_DIRTY_TEMP_COEFFICIENT(gv);
   bool first = true;
   for (dimension_type v = 0; v < num_variables; ++v) {
     gv = g[v+1];
diff --git a/src/Grid_Generator.defs.hh b/src/Grid_Generator.defs.hh
index 48a04a9..f94c1ab 100644
--- a/src/Grid_Generator.defs.hh
+++ b/src/Grid_Generator.defs.hh
@@ -1,5 +1,5 @@
 /* Grid_Generator class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -28,9 +28,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid_Generator_System.defs.hh"
 #include "Generator.defs.hh"
 #include "Grid.types.hh"
-// FIXME: this inclusion must be removed along with the friend declaration
-//        befriending class Box.
-#include "Box.types.hh"
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -476,14 +473,6 @@ private:
   //        divisor() access in Grid::conversion, Grid::simplify,
   //        Grid::relation_with(c) and Grid::Grid(box, *).
   friend class Grid;
-
-
-  // FIXME: The following friend declaration is for the use of operator[]
-  //        in Box<Interval>::Box(const Grid&, Complexity_Class),
-  //        and should be removed as soon as the computation there is moved
-  //        to the Grid class.
-  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
-
   friend class Grid_Generator_System;
   friend class Grid_Generator_System::const_iterator;
   friend class Congruence_System;
diff --git a/src/Grid_Generator.inlines.hh b/src/Grid_Generator.inlines.hh
index 2ada931..5527687 100644
--- a/src/Grid_Generator.inlines.hh
+++ b/src/Grid_Generator.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid Generator class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_Generator.types.hh b/src/Grid_Generator.types.hh
index 4beb2bc..1c3b584 100644
--- a/src/Grid_Generator.types.hh
+++ b/src/Grid_Generator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 68db21a..165cbf3 100644
--- a/src/Grid_Generator_System.cc
+++ b/src/Grid_Generator_System.cc
@@ -1,5 +1,5 @@
 /* Grid_Generator_System class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -176,7 +176,7 @@ PPL::Grid_Generator_System
 
   // Compute the numerator of the affine transformation and assign it
   // to the column of `*this' indexed by `v'.
-  TEMP_INTEGER(numerator);
+  PPL_DIRTY_TEMP_COEFFICIENT(numerator);
   for (dimension_type i = num_rows; i-- > 0; ) {
     Grid_Generator& row = x[i];
     Scalar_Products::assign(numerator, expr, row);
@@ -218,7 +218,7 @@ PPL::Grid_Generator_System::ascii_load(std::istream& s) {
   if (!(s >> num_rows))
     return false;
   std::string str;
-  if (!(s >> str))
+  if (!(s >> str) || str != "x")
     return false;
   if (!(s >> num_columns))
       return false;
diff --git a/src/Grid_Generator_System.defs.hh b/src/Grid_Generator_System.defs.hh
index 9e9ee3d..2fa3770 100644
--- a/src/Grid_Generator_System.defs.hh
+++ b/src/Grid_Generator_System.defs.hh
@@ -1,5 +1,5 @@
 /* Grid_Generator_System class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_Generator_System.inlines.hh b/src/Grid_Generator_System.inlines.hh
index 04e5f39..7fa1339 100644
--- a/src/Grid_Generator_System.inlines.hh
+++ b/src/Grid_Generator_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid_Generator_System class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_Generator_System.types.hh b/src/Grid_Generator_System.types.hh
index 5d06605..2df385a 100644
--- a/src/Grid_Generator_System.types.hh
+++ b/src/Grid_Generator_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 240ab73..1738fd7 100644
--- a/src/Grid_Status.cc
+++ b/src/Grid_Status.cc
@@ -1,5 +1,5 @@
 /* Grid::Status class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -86,7 +86,7 @@ PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Grid::Status)
 
 bool
 PPL::Grid::Status::ascii_load(std::istream& s) {
-  bool positive;
+  PPL_UNINITIALIZED(bool, positive);
 
   if (!get_field(s, zero_dim_univ, positive))
     return false;
diff --git a/src/Grid_Status.idefs.hh b/src/Grid_Status.idefs.hh
index 3396fb0..ee7dc0c 100644
--- a/src/Grid_Status.idefs.hh
+++ b/src/Grid_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* Grid::Status class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_Status.inlines.hh b/src/Grid_Status.inlines.hh
index 6b470c5..2926e32 100644
--- a/src/Grid_Status.inlines.hh
+++ b/src/Grid_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* Grid::Status class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_chdims.cc b/src/Grid_chdims.cc
index 96a0e84..c753e69 100644
--- a/src/Grid_chdims.cc
+++ b/src/Grid_chdims.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation
    (non-inline operators that may change the dimension of the vector space).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Grid_conversion.cc b/src/Grid_conversion.cc
index 78c585c..e1bf72a 100644
--- a/src/Grid_conversion.cc
+++ b/src/Grid_conversion.cc
@@ -1,5 +1,5 @@
 /* Grid class implementation: conversion().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -165,7 +165,7 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
   // the left-right order of the dimensions, while the congruence
   // system rows have a bottom-up ordering.
   dimension_type dest_num_rows = 0;
-  TEMP_INTEGER(diagonal_lcm);
+  PPL_DIRTY_TEMP_COEFFICIENT(diagonal_lcm);
   diagonal_lcm = 1;
   const dimension_type dims = source.space_dimension() + 1;
   dimension_type source_index = source.num_rows();
@@ -236,7 +236,7 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
   // `dest'.
   source_index = source.num_rows();
   dest_index = 0;
-  TEMP_INTEGER(multiplier);
+  PPL_DIRTY_TEMP_COEFFICIENT(multiplier);
 
   for (dimension_type dim = dims; dim-- > 0; ) {
     if (dim_kinds[dim] != GEN_VIRTUAL) {
@@ -300,13 +300,14 @@ Grid::conversion(Grid_Generator_System& source, Congruence_System& dest,
 
   assert(lower_triangular(dest, dim_kinds));
 
-#ifdef STRONG_REDUCTION
+  // Since we are reducing the system to "strong minimal form",
+  // reduce the coefficients in the congruence system
+  // using "diagonal" values.
   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);
-#endif
 }
 
 void
@@ -320,7 +321,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
   // Initialize matrix row number counters and compute the LCM of the
   // diagonal entries of the proper congruences in `source'.
   dimension_type source_num_rows = 0, dest_num_rows = 0;
-  TEMP_INTEGER(diagonal_lcm);
+  PPL_DIRTY_TEMP_COEFFICIENT(diagonal_lcm);
   diagonal_lcm = 1;
   dimension_type dims = source.num_columns() - 1;
   for (dimension_type dim = dims; dim-- > 0; )
@@ -393,7 +394,7 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
   // `dest'.
   source_index = source_num_rows;
   dest_index = 0;
-  TEMP_INTEGER(reduced_source_dim);
+  PPL_DIRTY_TEMP_COEFFICIENT(reduced_source_dim);
 
   for (dimension_type dim = 0; dim < dims; ++dim) {
     if (dim_kinds[dim] != CON_VIRTUAL) {
@@ -450,13 +451,14 @@ Grid::conversion(Congruence_System& source, Grid_Generator_System& dest,
 
   assert(upper_triangular(dest, dim_kinds));
 
-#ifdef STRONG_REDUCTION
+  // 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)
     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);
-#endif
 
   // Ensure that the parameter divisors are the same as the divisor of
   // the point.
diff --git a/src/Grid_nonpublic.cc b/src/Grid_nonpublic.cc
index e206767..eb2140d 100644
--- a/src/Grid_nonpublic.cc
+++ b/src/Grid_nonpublic.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation
    (non-inline private or protected functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -282,6 +282,9 @@ PPL::Grid::bounds(const Linear_Expression& expr,
       || marked_empty()
       || (!generators_are_up_to_date() && !update_generators()))
     return true;
+  if (!generators_are_minimized() && !minimize())
+    // Minimizing found `this' empty.
+    return true;
 
   // The generators are up to date.
   for (dimension_type i = gen_sys.num_rows(); i-- > 0; ) {
@@ -327,7 +330,7 @@ PPL::Grid::max_min(const Linear_Expression& expr,
     ext_n += expr.inhomogeneous_term();
     ext_d = gen.divisor();
     // Reduce ext_n and ext_d.
-    TEMP_INTEGER(gcd);
+    PPL_DIRTY_TEMP_COEFFICIENT(gcd);
     gcd_assign(gcd, ext_n, ext_d);
     exact_div_assign(ext_n, ext_n, gcd);
     exact_div_assign(ext_d, ext_d, gcd);
@@ -502,7 +505,7 @@ PPL::Grid::normalize_divisors(Grid_Generator_System& sys,
   }
 #endif // !defined(NDEBUG)
 
-  TEMP_INTEGER(divisor);
+  PPL_DIRTY_TEMP_COEFFICIENT(divisor);
   divisor = gen_sys_divisor;
   // Adjust sys to include the gen_sys divisor.
   normalize_divisors(sys, divisor);
diff --git a/src/Grid_public.cc b/src/Grid_public.cc
index 903f5c6..3b3124b 100644
--- a/src/Grid_public.cc
+++ b/src/Grid_public.cc
@@ -1,5 +1,5 @@
 /* Grid class implementation (non-inline public functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -191,7 +191,7 @@ PPL::Grid::Grid(const Polyhedron& ph,
     const Generator_System& gs = ph.generators();
     Grid_Generator_System ggs(space_dim);
     Linear_Expression point_expr;
-    Coefficient point_divisor;
+    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()) {
@@ -208,12 +208,13 @@ 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.
-    TEMP_INTEGER(coeff);
+    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;
       if (g->is_point() || g->is_closure_point()) {
-        Coefficient g_divisor = g->divisor();
+        g_divisor = g->divisor();
         for (dimension_type i = space_dim; i-- > 0; ) {
           const Variable v(i);
           coeff = point_expr.coefficient(v) * g_divisor;
@@ -393,15 +394,15 @@ PPL::Grid::relation_with(const Congruence& cg) const {
 
   // Scalar product of the congruence and the first point that
   // satisfies the congruence.
-  TEMP_INTEGER(point_sp);
+  PPL_DIRTY_TEMP_COEFFICIENT(point_sp);
   point_sp = 0;
 
   const Coefficient& modulus = cg.modulus();
 
-  TEMP_INTEGER(div);
+  PPL_DIRTY_TEMP_COEFFICIENT(div);
   div = modulus;
 
-  TEMP_INTEGER(sp);
+  PPL_DIRTY_TEMP_COEFFICIENT(sp);
 
   bool known_to_intersect = false;
 
@@ -764,7 +765,7 @@ PPL::Grid::is_discrete() const {
       return false;
 
   // The system of generators is composed only by
-  // points and parameters: the polyhedron is discrete.
+  // points and parameters: the grid is discrete.
   return true;
 }
 
@@ -797,7 +798,7 @@ PPL::Grid::contains_integer_point() const {
 
 bool
 PPL::Grid::constrains(const Variable var) const {
-  // `var' should be one of the dimensions of the polyhedron.
+  // `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("constrains(v)", "v", var);
@@ -816,7 +817,7 @@ PPL::Grid::constrains(const Variable var) const {
 
     if (generators_are_minimized()) {
       // Try a quick, incomplete check for the universe grid:
-      // a universe polyhedron constrains no variable.
+      // a universe grid constrains no variable.
       // Count the number of lines (they are linearly independent).
       dimension_type num_lines = 0;
       for (dimension_type i = gen_sys.num_rows(); i-- > 0; )
@@ -1670,10 +1671,208 @@ PPL::Grid::difference_assign(const Grid& y) {
   assert(OK());
 }
 
+namespace {
+
+struct Ruled_Out_Pair {
+  PPL::dimension_type congruence_index;
+  PPL::dimension_type num_ruled_out;
+};
+
+struct Ruled_Out_Less_Than {
+  bool operator()(const Ruled_Out_Pair& x,
+                  const Ruled_Out_Pair& y) const {
+    return x.num_ruled_out > y.num_ruled_out;
+  }
+};
+
+} // namespace
+
 bool
 PPL::Grid::simplify_using_context_assign(const Grid& y) {
-  // FIXME: provide a real implementation.
-  used(y);
+  Grid& x = *this;
+  // Dimension-compatibility check.
+  if (x.space_dim != y.space_dim)
+    throw_dimension_incompatible("simplify_using_context_assign(y)", "y", y);
+
+  // Filter away the zero-dimensional case.
+  if (x.space_dim == 0) {
+    if (y.is_empty()) {
+      set_zero_dim_univ();
+      assert(OK());
+      return false;
+    }
+    else
+      return !x.is_empty();
+  }
+
+  // If `y' is empty, the biggest enlargement for `x' is the universe.
+  if (!y.minimize()) {
+    Grid gr(x.space_dim, UNIVERSE);
+    swap(gr);
+    return false;
+  }
+
+  // If `x' is empty, the intersection is empty.
+  if (!x.minimize()) {
+    // Search for a congruence of `y' that is not a tautology.
+    assert(y.congruences_are_up_to_date());
+    Grid gr(x.space_dim, UNIVERSE);
+    for (dimension_type i = y.con_sys.num_rows(); i-- > 0; ) {
+      const Congruence& y_con_sys_i = y.con_sys[i];
+      if (!y_con_sys_i.is_tautological()) {
+        // Found: we obtain a congruence `c' contradicting the one we
+        // found, and assign to `x' the grid `gr' with `c' as
+        // the only congruence.
+        const Linear_Expression le(y_con_sys_i);
+        if (y_con_sys_i.is_equality()) {
+          gr.refine_no_check(le == 1);
+          break;
+	}
+        else {
+	  const Coefficient& y_modulus_i = y_con_sys_i.modulus();
+	  if (y_modulus_i > 1)
+	    gr.refine_no_check(le == 1);
+	  else {
+	    Linear_Expression le2;
+	    for (dimension_type i = le.space_dimension(); i-- > 0; )
+	      le2 += 2 * le.coefficient(Variable(i)) * Variable(i);
+	    le2 += 2 * le.inhomogeneous_term();
+	    gr.refine_no_check(le2 == y_modulus_i);
+	  }
+	  break;
+        }
+      }
+    }
+    swap(gr);
+    assert(OK());
+    return false;
+  }
+
+  assert(x.congruences_are_minimized()
+         && y.generators_are_minimized());
+
+  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())) {
+      redundant_by_y[i] = true;
+      ++num_redundant_by_y;
+    }
+
+  if (num_redundant_by_y < x_cs_num_rows) {
+
+    // Some congruences were not identified as redundant.
+
+    Congruence_System result_cs;
+    const Congruence_System& y_cs = y.con_sys;
+    const dimension_type y_cs_num_rows = y_cs.num_rows();
+    // Compute into `z' the intersection of `x' and `y'.
+    const bool x_first = (x_cs_num_rows > y_cs_num_rows);
+    Grid z(x_first ? x : y);
+    if (x_first)
+      z.add_congruences(y_cs);
+    else {
+      // Only copy (and then recycle) the non-redundant congruences.
+      Congruence_System tmp_cs;
+      for (dimension_type i = 0; i < x_cs_num_rows; ++i) {
+        if (!redundant_by_y[i])
+          tmp_cs.insert(x_cs[i]);
+      }
+      z.add_recycled_congruences(tmp_cs);
+    }
+
+    // Congruences are added to `w' until it equals `z'.
+    // We do not care about minimization or maximization, since
+    // we are only interested in satisfiability.
+    Grid w;
+    w.add_space_dimensions_and_embed(x.space_dim);
+    // First add the congruences for `y'.
+    w.add_congruences(y_cs);
+
+    // We apply the following heuristics here: congruences of `x' that
+    // are not made redundant by `y' are added to `w' depending on
+    // the number of generators of `y' they rule out (the more generators)
+    // (they rule out, the sooner they are added).  Of course, as soon
+    // as `w' becomes empty, we stop adding.
+    std::vector<Ruled_Out_Pair>
+      ruled_out_vec(x_cs_num_rows - num_redundant_by_y);
+
+    PPL_DIRTY_TEMP_COEFFICIENT(sp);
+    PPL_DIRTY_TEMP_COEFFICIENT(div);
+
+    for (dimension_type i = 0, j = 0; i < x_cs_num_rows; ++i) {
+      if (!redundant_by_y[i]) {
+	const Congruence& c = x_cs[i];
+	const Coefficient& modulus = c.modulus();
+	div = modulus;
+
+	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) {
+	  const Grid_Generator& g = *k;
+	  // If the generator is not to be ruled out,
+	  // it must saturate the congruence.
+	  Scalar_Products::assign(sp, c, g);
+	  // If `c' is a proper congruence the scalar product must be
+	  // reduced modulo a (possibly scaled) modulus.
+	  if (c.is_proper_congruence()) {
+	    // If `g' is a parameter the congruence modulus must be scaled
+	    // up by the divisor of the generator.
+	    if (g.is_parameter())
+	      sp %= (div * g.divisor());
+	    else
+	      if (g.is_point())
+		sp %= div;
+	  }
+	  if (sp == 0)
+	    continue;
+	  ++num_ruled_out_generators;
+	}
+	ruled_out_vec[j].congruence_index = i;
+	ruled_out_vec[j].num_ruled_out = num_ruled_out_generators;
+	++j;
+      }
+    }
+    std::sort(ruled_out_vec.begin(), ruled_out_vec.end(),
+	      Ruled_Out_Less_Than());
+
+    bool empty_intersection = (!z.minimize());
+
+    // 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) {
+      const Congruence& c = x_cs[j->congruence_index];
+      result_cs.insert(c);
+      w.add_congruence(c);
+      if ((empty_intersection && w.is_empty())
+	  || (!empty_intersection && w.is_included_in(z))) {
+	Grid result_gr(x.space_dim, UNIVERSE);
+	result_gr.add_congruences(result_cs);
+	x.swap(result_gr);
+	assert(x.OK());
+	return (!empty_intersection);
+      }
+    }
+      // Cannot exit from here.
+    assert(false);
+  }
+
+  // All the congruences are redundant so that the simplified grid
+  // is the universe.
+  Grid result_gr(x.space_dim, UNIVERSE);
+  x.swap(result_gr);
+  assert(x.OK());
   return true;
 }
 
@@ -1772,7 +1971,7 @@ affine_preimage(const Variable var,
   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);
-  // `var' should be one of the dimensions of the polyhedron.
+  // `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("affine_preimage(v, e, d)", "v", var);
@@ -1973,7 +2172,7 @@ generalized_affine_preimage(const Variable var,
   if (var_space_dim <= expr_space_dim && var_coefficient != 0) {
     Linear_Expression inverse_expr
       = expr - (denominator + var_coefficient) * var;
-    TEMP_INTEGER(inverse_denominator);
+    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denominator);
     neg_assign(inverse_denominator, var_coefficient);
     if (modulus < 0)
       generalized_affine_image(var, EQUAL, inverse_expr, inverse_denominator,
@@ -2053,7 +2252,7 @@ generalized_affine_image(const Linear_Expression& lhs,
 
   assert(relsym == EQUAL);
 
-  TEMP_INTEGER(tmp_modulus);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp_modulus);
   tmp_modulus = modulus;
   if (tmp_modulus < 0)
     neg_assign(tmp_modulus);
@@ -2155,7 +2354,7 @@ generalized_affine_preimage(const Linear_Expression& lhs,
     throw_dimension_incompatible("generalized_affine_preimage(e1, e2, m)",
 				 "e2", rhs);
 
-  // Any preimage of an empty polyhedron is empty.
+  // Any preimage of an empty grid is empty.
   if (marked_empty())
     return;
 
@@ -2184,7 +2383,7 @@ generalized_affine_preimage(const Linear_Expression& lhs,
 
   assert(relsym == EQUAL);
 
-  TEMP_INTEGER(tmp_modulus);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp_modulus);
   tmp_modulus = modulus;
   if (tmp_modulus < 0)
     neg_assign(tmp_modulus);
@@ -2280,7 +2479,7 @@ bounded_affine_image(const Variable var,
     throw_invalid_argument("bounded_affine_image(v, lb, ub, d)", "d == 0");
 
   // Dimension-compatibility checks.
-  // `var' should be one of the dimensions of the polyhedron.
+  // `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("bounded_affine_image(v, lb, ub, d)",
@@ -2323,7 +2522,7 @@ bounded_affine_preimage(const Variable var,
     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.
+  // `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("bounded_affine_preimage(v, lb, ub, d)",
@@ -2339,7 +2538,7 @@ bounded_affine_preimage(const Variable var,
     throw_dimension_incompatible("bounded_affine_preimage(v, lb, ub)",
 				 "ub", ub_expr);
 
-  // Any preimage of an empty polyhedron is empty.
+  // Any preimage of an empty grid is empty.
   if (marked_empty())
     return;
 
diff --git a/src/Grid_simplify.cc b/src/Grid_simplify.cc
index 2182a87..d55c203 100644
--- a/src/Grid_simplify.cc
+++ b/src/Grid_simplify.cc
@@ -1,5 +1,5 @@
 /* Grid class implementation: simplify().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -32,11 +32,11 @@ 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];
-  TEMP_INTEGER(reduced_row_col);
+  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);
   // Store the reduced ratio between pivot[column] and row[column].
-  TEMP_INTEGER(reduced_pivot_col);
+  PPL_DIRTY_TEMP_COEFFICIENT(reduced_pivot_col);
   exact_div_assign(reduced_pivot_col, pivot_column, reduced_row_col);
   exact_div_assign(reduced_row_col, row_column, reduced_row_col);
   // Multiply row, then subtract from it a multiple of pivot such that
@@ -62,11 +62,11 @@ Grid::reduce_equality_with_equality(Congruence& row,
 
   const Coefficient& pivot_column = pivot[column];
   Coefficient& row_column = row[column];
-  TEMP_INTEGER(reduced_row_col);
+  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);
   // Store the reduced ratio between pivot[column] and row[column].
-  TEMP_INTEGER(reduced_pivot_col);
+  PPL_DIRTY_TEMP_COEFFICIENT(reduced_pivot_col);
   exact_div_assign(reduced_pivot_col, pivot_column, reduced_row_col);
   exact_div_assign(reduced_row_col, row_column, reduced_row_col);
   // Multiply row, then subtract from it a multiple of pivot such that
@@ -88,15 +88,15 @@ Grid::reduce_pc_with_pc(R& row, R& pivot,
   Coefficient& pivot_column = pivot[column];
   Coefficient& row_column = row[column];
 
-  TEMP_INTEGER(s);
-  TEMP_INTEGER(t);
-  TEMP_INTEGER(reduced_row_col);
+  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.
 
   // Store the reduced ratio between pivot[column] and row[column].
-  TEMP_INTEGER(reduced_pivot_col);
+  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);
@@ -109,7 +109,7 @@ Grid::reduce_pc_with_pc(R& row, R& pivot,
   assert(pivot.size() > 0);
   assert(row.size() > 0);
   row_column = 0;
-  TEMP_INTEGER(old_pivot_col);
+  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;
@@ -143,26 +143,27 @@ Grid::reduce_parameter_with_line(Grid_Generator& row,
     return;
   }
 
-  TEMP_INTEGER(reduced_row_col);
+  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);
   // Store the reduced ratio between pivot[column] and row[column].
-  TEMP_INTEGER(reduced_pivot_col);
+  PPL_DIRTY_TEMP_COEFFICIENT(reduced_pivot_col);
   exact_div_assign(reduced_pivot_col, pivot_column, reduced_row_col);
   exact_div_assign(reduced_row_col, row_column, reduced_row_col);
 
-  // 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.
-#ifdef STRONG_REDUCTION
-  // Ensure that the multiplier is positive, so that the preceding
+
+  // Since we are reducing the system to "strong minimal form",
+  // ensure that the multiplier is positive, so that the preceding
   // diagonals (including the divisor) remain positive.  It's safe to
   // swap the signs as row[column] will still come out 0.
   if (reduced_pivot_col < 0) {
     neg_assign(reduced_pivot_col);
     neg_assign(reduced_row_col);
   }
-#endif
+
+  // 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];
     if (gen.is_parameter_or_point())
@@ -198,10 +199,10 @@ Grid::reduce_congruence_with_equality(Congruence& row,
     return;
   }
 
-  TEMP_INTEGER(reduced_row_col);
+  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);
-  TEMP_INTEGER(reduced_pivot_col);
+  PPL_DIRTY_TEMP_COEFFICIENT(reduced_pivot_col);
   exact_div_assign(reduced_pivot_col, pivot_column, reduced_row_col);
   exact_div_assign(reduced_row_col, row_column, reduced_row_col);
   // Ensure that `reduced_pivot_col' is positive, so that the modulus
@@ -321,15 +322,14 @@ Grid::simplify(Grid_Generator_System& sys, Dimension_Kinds& dim_kinds) {
 	dim_kinds[dim] = PARAMETER;
       }
 
-#ifdef STRONG_REDUCTION
-      // Ensure a positive follows the leading zeros.
+      // 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);
 
       // 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);
-#endif
 
       ++pivot_index;
     }
@@ -449,14 +449,14 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
 	dim_kinds[dim] = PROPER_CONGRUENCE;
       }
 
-#ifdef STRONG_REDUCTION
-      // Ensure a positive follows the leading zeros.
+      // 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);
       // Factor this row out of the preceding ones.
       reduce_reduced<Congruence_System, Congruence>
 	(sys, dim, pivot_index, 0, dim, dim_kinds, false);
-#endif
+
       ++pivot_index;
     }
   } // end for (dimension_type dim = num_columns; dim-- > 0; )
@@ -551,20 +551,19 @@ Grid::simplify(Congruence_System& sys, Dimension_Kinds& dim_kinds) {
       }
     }
     new_last_row[0] = new_last_row[mod_index];
-#ifdef STRONG_REDUCTION
+    // Since we are reducing the system to "strong minimal form",
+    // increment the number of reduced rows.
     ++reduced_num_rows;
-#endif
   }
   else {
     Congruence& last_row = sys[reduced_num_rows - 1];
     last_row[0] = last_row[mod_index];
   }
 
-#ifdef STRONG_REDUCTION
-  // Factor the modified integrality congruence out of the other rows.
+  // 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);
-#endif
 
   assert(sys.OK());
   return false;
diff --git a/src/Grid_widenings.cc b/src/Grid_widenings.cc
index 5f69cf1..2af88b8 100644
--- a/src/Grid_widenings.cc
+++ b/src/Grid_widenings.cc
@@ -1,6 +1,6 @@
 /* Grid class implementation
    (non-inline widening-related member functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/H79_Certificate.cc b/src/H79_Certificate.cc
index 6f365f6..25bae6e 100644
--- a/src/H79_Certificate.cc
+++ b/src/H79_Certificate.cc
@@ -1,6 +1,6 @@
 /* H79_Certificate class implementation
    (non-inline member functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/H79_Certificate.defs.hh b/src/H79_Certificate.defs.hh
index f21c909..64dbddd 100644
--- a/src/H79_Certificate.defs.hh
+++ b/src/H79_Certificate.defs.hh
@@ -1,5 +1,5 @@
 /* H79_Certificate class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/H79_Certificate.inlines.hh b/src/H79_Certificate.inlines.hh
index 4a0c8b0..80d79da 100644
--- a/src/H79_Certificate.inlines.hh
+++ b/src/H79_Certificate.inlines.hh
@@ -1,5 +1,5 @@
 /* H79_Certificate class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/H79_Certificate.types.hh b/src/H79_Certificate.types.hh
index 93121f3..bb71475 100644
--- a/src/H79_Certificate.types.hh
+++ b/src/H79_Certificate.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Has_Assign_Or_Swap.hh b/src/Has_Assign_Or_Swap.hh
index ae8db76..9c972a7 100644
--- a/src/Has_Assign_Or_Swap.hh
+++ b/src/Has_Assign_Or_Swap.hh
@@ -1,5 +1,5 @@
 /* Has_Assign_Or_Swap classes declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Init.cc b/src/Init.cc
index c07e95a..35fb4f4 100644
--- a/src/Init.cc
+++ b/src/Init.cc
@@ -1,5 +1,5 @@
 /* Init class implementation (non-inline functions and static variables).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -86,8 +86,9 @@ PPL::Init::Init() {
     old_rounding_direction = fpu_get_rounding_direction();
     fpu_set_rounding_direction(round_fpu_dir(ROUND_DIRECT));
 #endif
-    // FIXME: is 3200 a magic number?
-    set_rational_sqrt_precision_parameter(3200);
+    // The default is choosen to have a precision greater than most
+    // precise IEC559 floating point (112 bits of mantissa).
+    set_rational_sqrt_precision_parameter(128);
   }
 }
 
diff --git a/src/Init.defs.hh b/src/Init.defs.hh
index 9637d50..bd84225 100644
--- a/src/Init.defs.hh
+++ b/src/Init.defs.hh
@@ -1,5 +1,5 @@
 /* Init class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Init.inlines.hh b/src/Init.inlines.hh
index 4fd0401..725c022 100644
--- a/src/Init.inlines.hh
+++ b/src/Init.inlines.hh
@@ -1,5 +1,5 @@
 /* Init class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Init.types.hh b/src/Init.types.hh
index d5dbc34..a5fe3cd 100644
--- a/src/Init.types.hh
+++ b/src/Init.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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.defs.hh b/src/Interval.defs.hh
index 4b24768..739571d 100644
--- a/src/Interval.defs.hh
+++ b/src/Interval.defs.hh
@@ -1,5 +1,5 @@
 /* Declarations for the Interval class and its constituents.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -112,10 +112,10 @@ struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
 template <typename Boundary, typename Info>
 class Interval : public Interval_Base, private Info {
 private:
-  COMPILE_TIME_CHECK(!Info::store_special
-		     || !std::numeric_limits<Boundary>::has_infinity,
-		     "store_special is meaningless"
-		     " when boundary type may contains infinity");
+  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);
   }
@@ -131,13 +131,14 @@ private:
 	|| 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(lower(), V_GT);
+	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(lower(), V_GE);
+	r = info().restrict(round_dir_check(LOWER, true), l, V_GE);
 	if (r == V_GT)
 	  w_info().set_boundary_property(LOWER, OPEN);
       }
@@ -151,13 +152,14 @@ private:
 	|| 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(upper(), V_LT);
+	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(upper(), V_LE);
+	r = info().restrict(round_dir_check(UPPER, true), u, V_LE);
 	if (r == V_LT)
 	  w_info().set_boundary_property(UPPER, OPEN);
       }
@@ -347,12 +349,12 @@ public:
 
   Result lower_shrink() {
     assert(OK());
-    return shrink(LOWER, lower(), info());
+    return shrink(LOWER, lower(), info(), false);
   }
 
   Result upper_shrink() {
     assert(OK());
-    return shrink(UPPER, upper(), info());
+    return shrink(UPPER, upper(), info(), false);
   }
 
   bool lower_is_unbounded() const {
@@ -533,7 +535,8 @@ public:
   }
 
   template <typename From>
-  typename Enable_If<Is_Special<From>::value, I_Result>::type assign(const From&) {
+  typename Enable_If<Is_Special<From>::value, I_Result>::type
+  assign(const From&) {
     info().clear();
     info().set_interval_property(CARDINALITY_0, true);
     info().set_interval_property(CARDINALITY_1, true);
@@ -790,11 +793,13 @@ public:
   }
 
   template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
   contains(const T& y) const;
 
   template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
   strictly_contains(const T& y) const;
 
   template <typename T>
@@ -810,6 +815,11 @@ public:
                      || Is_Interval<From>::value, I_Result>::type
   assign(const From& x);
 
+  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;
+
   template <typename From>
   typename Enable_If<Is_Singleton<From>::value
                      || Is_Interval<From>::value, I_Result>::type
@@ -855,6 +865,38 @@ public:
   difference_assign(const From1& x, const From2& y);
 
   /*! \brief
+    Assigns to \p *this the largest interval contained in 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
+  lower_approximation_difference_assign(const From& x);
+
+  /*! \brief
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
+
+    \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);
+
+  /*! \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
+  empty_intersection_assign(const From& y);
+
+  /*! \brief
     Refines \p to according to the existential relation \p rel with \p x.
 
     The \p to interval is restricted to become, upon successful exit,
@@ -870,7 +912,8 @@ public:
     ???
   */
   template <typename From>
-  typename Enable_If<Is_Singleton<From>::value || Is_Interval<From>::value, I_Result>::type
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
   refine_existential(Relation_Symbol rel, const From& x);
 
   /*! \brief
@@ -889,11 +932,13 @@ public:
     ???
   */
   template <typename From>
-  typename Enable_If<Is_Singleton<From>::value || Is_Interval<From>::value, I_Result>::type
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
   refine_universal(Relation_Symbol rel, const From& x);
 
   template <typename From>
-  typename Enable_If<Is_Singleton<From>::value || Is_Interval<From>::value, I_Result>::type
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
   neg_assign(const From& x);
 
   template <typename From1, typename From2>
diff --git a/src/Interval.inlines.hh b/src/Interval.inlines.hh
index ee100a6..84b17ce 100644
--- a/src/Interval.inlines.hh
+++ b/src/Interval.inlines.hh
@@ -1,5 +1,5 @@
 /* Inline functions for the Interval class and its constituents.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -137,36 +137,12 @@ f_is_empty_lazy(const T& x) {
 
 } // namespace Interval_NS
 
-inline bool
-is_integer(const char*) {
-  // FIXME:
-  return false;
-}
-
-inline bool
-is_not_a_number(const char*) {
-  // FIXME:
-  return false;
-}
-
 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));
 }
 
-template <typename T1, typename T2>
-inline bool
-same_object(const T1&, const T2&) {
-  return false;
-}
-
-template <typename T>
-inline bool
-same_object(const T& x, const T& y) {
-  return &x == &y;
-}
-
 template <typename T>
 inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
 check_empty_arg(const T& x) {
@@ -199,6 +175,8 @@ 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))
     && eq(UPPER, f_upper(x), f_info(x), UPPER, f_upper(y), f_info(y));
@@ -223,6 +201,8 @@ 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))
@@ -239,9 +219,11 @@ 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(*this, y))
+  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))
@@ -288,7 +270,7 @@ Interval<To_Boundary, To_Info>::assign(const From& x) {
   assert(f_OK(x));
   if (check_empty_arg(x))
     return assign(EMPTY);
-  DIRTY_TEMP(To_Info, to_info);
+  PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!assign_restriction(to_info, x))
     return assign(EMPTY);
@@ -337,7 +319,7 @@ Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
     return assign(y);
   if (check_empty_arg(y))
     return assign(x);
-  DIRTY_TEMP(To_Info, to_info);
+  PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!join_restriction(to_info, x, y))
     return assign(EMPTY);
@@ -355,6 +337,30 @@ Interval<To_Boundary, To_Info>::join_assign(const From1& x, const From2& y) {
   return combine(rl, ru);
 }
 
+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;
+}
+
+
 template <typename To_Boundary, typename To_Info>
 template <typename From>
 inline typename Enable_If<Is_Singleton<From>::value
@@ -384,7 +390,7 @@ Interval<To_Boundary, To_Info>::intersect_assign(const From1& x,
                                                  const From2& y) {
   assert(f_OK(x));
   assert(f_OK(y));
-  DIRTY_TEMP(To_Info, to_info);
+  PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!intersect_restriction(to_info, x, y))
     return assign(EMPTY);
@@ -444,7 +450,7 @@ Interval<To_Boundary, To_Info>::difference_assign(const From1& x,
                                                   const From2& y) {
   assert(f_OK(x));
   assert(f_OK(y));
-  DIRTY_TEMP(To_Info, to_info);
+  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)) ||
@@ -663,12 +669,12 @@ Interval<To_Boundary, To_Info>::neg_assign(const From& x) {
   assert(f_OK(x));
   if (check_empty_arg(x))
     return assign(EMPTY);
-  DIRTY_TEMP(To_Info, to_info);
+  PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!neg_restriction(to_info, x))
     return assign(EMPTY);
   Result rl, ru;
-  DIRTY_TEMP(To_Boundary, to_lower);
+  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);
@@ -700,7 +706,7 @@ Interval<To_Boundary, To_Info>::add_assign(const From1& x, const From2& y) {
     return assign(MINUS_INFINITY);
   else if (inf > 0)
     return assign(PLUS_INFINITY);
-  DIRTY_TEMP(To_Info, to_info);
+  PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!add_restriction(to_info, x, y))
     return assign(EMPTY);
@@ -739,12 +745,12 @@ Interval<To_Boundary, To_Info>::sub_assign(const From1& x, const From2& y) {
   else if (inf > 0)
     return assign(PLUS_INFINITY);
 
-  DIRTY_TEMP(To_Info, to_info);
+  PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!sub_restriction(to_info, x, y))
     return assign(EMPTY);
   Result rl, ru;
-  DIRTY_TEMP(To_Boundary, to_lower);
+  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));
@@ -811,12 +817,12 @@ Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
     }
   }
 
-  DIRTY_TEMP(To_Info, to_info);
+  PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!mul_restriction(to_info, x, y))
     return assign(EMPTY);
   Result rl, ru;
-  DIRTY_TEMP(To_Boundary, to_lower);
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
 
   if (xls >= 0) {
     if (yls >= 0) {
@@ -896,8 +902,8 @@ Interval<To_Boundary, To_Info>::mul_assign(const From1& x, const From2& y) {
   }
   else {
     // xl < 0 < xu, yl < 0 < yu
-    DIRTY_TEMP(To_Boundary, tmp);
-    DIRTY_TEMP(To_Info, tmp_info);
+    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,
@@ -971,12 +977,12 @@ Interval<To_Boundary, To_Info>::div_assign(const From1& x, const From2& y) {
   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));
 
-  DIRTY_TEMP(To_Info, to_info);
+  PPL_DIRTY_TEMP(To_Info, to_info);
   to_info.clear();
   if (!div_restriction(to_info, x, y))
     return assign(EMPTY);
   Result rl, ru;
-  DIRTY_TEMP(To_Boundary, to_lower);
+  PPL_DIRTY_TEMP(To_Boundary, to_lower);
   if (yls >= 0) {
     if (xls >= 0) {
       rl = div_assign_z(LOWER, to_lower, to_info,
diff --git a/src/Interval.templates.hh b/src/Interval.templates.hh
index ef9c119..efb74fd 100644
--- a/src/Interval.templates.hh
+++ b/src/Interval.templates.hh
@@ -1,5 +1,5 @@
 /* Interval class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -61,7 +61,7 @@ Interval<Boundary, Info>::CC76_widening_assign(const From& y,
     if (y_lb > x_lb) {
       Iterator k = std::lower_bound(first, last, x_lb);
       if (k != last) {
-	if (x_lb < *k) { 
+	if (x_lb < *k) {
 	  if (k != first)
 	    x_lb = *--k;
 	  else
@@ -203,6 +203,39 @@ operator>>(std::istream& is, Interval<Boundary, Info>& x) {
   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
+  // and have no restrictions. It must be generalized.
+  if (lt(UPPER, upper(), info(), LOWER, f_lower(y), f_info(y))) {
+    lower_set(UNBOUNDED);
+    return false;
+  }
+  if (gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))) {
+    upper_set(UNBOUNDED);
+    return false;
+  }
+  // Weakening the upper bound.
+  if (!upper_is_unbounded() && !y.upper_is_unbounded()
+      && y.upper() <= upper())
+    upper_set(UNBOUNDED);
+  // Weakening the lower bound.
+  if (!lower_is_unbounded() && !y.lower_is_unbounded()
+      && y.lower() >= lower())
+    lower_set(UNBOUNDED);
+  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
 
 #endif // !defined(PPL_Interval_templates_hh)
diff --git a/src/Interval.types.hh b/src/Interval.types.hh
index 7ccb708..3f9914e 100644
--- a/src/Interval.types.hh
+++ b/src/Interval.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 970c5f4..fef331d 100644
--- a/src/Interval_Info.defs.hh
+++ b/src/Interval_Info.defs.hh
@@ -1,5 +1,5 @@
 /* Interval_Info class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Interval_Info.inlines.hh b/src/Interval_Info.inlines.hh
index 93cc1bc..1f665a8 100644
--- a/src/Interval_Info.inlines.hh
+++ b/src/Interval_Info.inlines.hh
@@ -1,5 +1,5 @@
 /* Interval_Info class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Interval_Info.types.hh b/src/Interval_Info.types.hh
index 9c8b34c..d2526de 100644
--- a/src/Interval_Info.types.hh
+++ b/src/Interval_Info.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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
index 3c9a11a..393010d 100644
--- a/src/Interval_Restriction.defs.hh
+++ b/src/Interval_Restriction.defs.hh
@@ -1,5 +1,5 @@
 /* Interval_Restriction class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,6 +26,9 @@ site: http://www.cs.unipr.it/ppl/ . */
 #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 {
 
@@ -49,7 +52,7 @@ public:
   void normalize() const {
   }
   template <typename T>
-  Result restrict(T&, Result dir) const {
+  Result restrict(Rounding_Dir, T&, Result dir) const {
     return dir;
   }
 };
@@ -158,22 +161,22 @@ public:
   void normalize() const {
   }
   template <typename T>
-  Result restrict(T& x, Result dir) const {
+  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), ROUND_DOWN);
+	return add_assign_r(x, x, static_cast<T>(1), rdir);
       /* Fall through */
     case V_GE:
-      return ceil_assign_r(x, x, ROUND_DOWN);
+      return ceil_assign_r(x, x, rdir);
     case V_LT:
       if (is_integer(x))
-	sub_assign_r(x, x, static_cast<T>(1), ROUND_UP);
+	return sub_assign_r(x, x, static_cast<T>(1), rdir);
       /* Fall through */
     case V_LE:
-      return floor_assign_r(x, x, ROUND_UP);
+      return floor_assign_r(x, x, rdir);
     default:
       assert(false);
       return dir;
@@ -314,7 +317,8 @@ 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:
-  COMPILE_TIME_CHECK(std::numeric_limits<T>::is_exact, "Type for modulo values must be exact.");
+  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)
@@ -331,11 +335,11 @@ public:
   void normalize() const {
   }
   template <typename V>
-  Result restrict(V& x, Result dir) const {
+  Result restrict(Rounding_Dir rdir, V& x, Result dir) const {
     if (!has_restriction())
       return dir;
-    DIRTY_TEMP(V, n);
-    DIRTY_TEMP(V, div);
+    PPL_DIRTY_TEMP(V, n);
+    PPL_DIRTY_TEMP(V, div);
     Result r;
     r = assign_r(div, divisor, ROUND_CHECK);
     assert(r == V_EQ);
@@ -348,36 +352,36 @@ public:
       if (s >= 0) {
 	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
 	assert(r == V_EQ);
-	return add_assign_r(x, x, n, ROUND_DOWN);
+	return add_assign_r(x, x, n, rdir);
       }
       else
-	return sub_assign_r(x, x, n, ROUND_DOWN);
+	return sub_assign_r(x, x, n, rdir);
     case V_GE:
       if (s > 0) {
 	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
 	assert(r == V_EQ);
-	return add_assign_r(x, x, n, ROUND_DOWN);
+	return add_assign_r(x, x, n, rdir);
       }
       else if (s < 0)
-	return sub_assign_r(x, x, n, ROUND_DOWN);
+	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);
 	assert(r == V_EQ);
-	return sub_assign_r(x, x, n, ROUND_UP);
+	return sub_assign_r(x, x, n, rdir);
       }
       else
-	return sub_assign_r(x, x, n, ROUND_UP);
+	return sub_assign_r(x, x, n, rdir);
     case V_LE:
       if (s < 0) {
 	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
 	assert(r == V_EQ);
-	return sub_assign_r(x, x, n, ROUND_UP);
+	return sub_assign_r(x, x, n, rdir);
       }
       else if (s > 0)
-	return sub_assign_r(x, x, n, ROUND_UP);
+	return sub_assign_r(x, x, n, rdir);
       else
 	return V_EQ;
     default:
@@ -483,7 +487,7 @@ contains_restriction(const T1& x, const T2& y) {
     return false;
   if (x.divisor == y.divisor)
     return x.remainder == y.remainder;
-  DIRTY_TEMP(typename T1::modulo_type, v);
+  PPL_DIRTY_TEMP(typename T1::modulo_type, v);
   Result r;
   r = rem_assign_r(v, y.divisor, x.divisor, ROUND_NOT_NEEDED);
   assert(r == V_EQ);
@@ -531,8 +535,8 @@ join_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1&
     return set_unrestricted(to);
   else if (rx.divisor == 1 && ry.divisor == 1
       && is_singleton(x) && is_singleton(y)) {
-    DIRTY_TEMP(typename Boundary_Value<From1>::type, a);
-    DIRTY_TEMP(typename Boundary_Value<From2>::type, b);
+    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)
@@ -586,12 +590,12 @@ intersect_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const Fr
     to.divisor = rx.divisor;
     return true;
   }
-  DIRTY_TEMP(T, g);
+  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);
-  DIRTY_TEMP(T, d);
+  PPL_DIRTY_TEMP(T, d);
   if (rx.remainder > ry.remainder)
     r = sub_assign_r(d, rx.remainder, ry.remainder, ROUND_DIRECT);
   else
@@ -618,7 +622,8 @@ diff_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
 
 template <typename T, typename Base, typename From>
 inline bool
-neg_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From& x) {
+neg_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to,
+                const From& x) {
   return assign_restriction(to, x);
 }
 
@@ -649,8 +654,8 @@ addmod(T& to, const T& x, const T& y, const T& to_m, const T& y_m) {
 template <typename M, typename T>
 inline bool
 assign_rem(M& rem, const T& n, const M& div) {
-  DIRTY_TEMP(T, divisor);
-  DIRTY_TEMP(T, remainder);
+  PPL_DIRTY_TEMP(T, divisor);
+  PPL_DIRTY_TEMP(T, remainder);
   Result r;
   r = assign_r(divisor, div, ROUND_CHECK);
   if (r != V_EQ)
@@ -680,7 +685,7 @@ add_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x
   if (ry.divisor == 0)
     return set_unrestricted(to);
   Result r;
-  DIRTY_TEMP(T, rem);
+  PPL_DIRTY_TEMP(T, rem);
   if (is_singleton(x)) {
     if (is_singleton(y))
       return set_integer(to);
@@ -735,7 +740,7 @@ sub_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x
   if (ry.divisor == 0)
     return set_unrestricted(to);
   Result r;
-  DIRTY_TEMP(T, rem);
+  PPL_DIRTY_TEMP(T, rem);
   if (is_singleton(x)) {
     if (is_singleton(y))
       return set_integer(to);
@@ -765,8 +770,8 @@ inline void
 mulmod(T& to, const T& x, const T& y, const T& to_m) {
   Result r;
   if (std::numeric_limits<T>::is_bounded) {
-    DIRTY_TEMP0(mpz_class, a);
-    DIRTY_TEMP0(mpz_class, b);
+    PPL_DIRTY_TEMP0(mpz_class, a);
+    PPL_DIRTY_TEMP0(mpz_class, b);
     r = assign_r(a, x, ROUND_NOT_NEEDED);
     assert(r == V_EQ);
     r = assign_r(b, y, ROUND_NOT_NEEDED);
@@ -801,11 +806,11 @@ mul_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x
   if (ry.divisor == 0)
     return set_unrestricted(to);
   Result r;
-  DIRTY_TEMP(T, mul);
+  PPL_DIRTY_TEMP(T, mul);
   if (is_singleton(x)) {
     if (is_singleton(y))
       return set_integer(to);
-    DIRTY_TEMP(typename Boundary_Value<From1>::type, n);
+    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);
@@ -820,7 +825,7 @@ mul_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x
       return set_integer(to);
   }
   else if (is_singleton(y)) {
-    DIRTY_TEMP(typename Boundary_Value<From2>::type, n);
+    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);
@@ -844,7 +849,8 @@ mul_restriction(Interval_Restriction_Integer_Modulo<T, Base>& to, const From1& x
 
 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) {
+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
diff --git a/src/Linear_Expression.cc b/src/Linear_Expression.cc
index 1083fcd..23b4ca1 100644
--- a/src/Linear_Expression.cc
+++ b/src/Linear_Expression.cc
@@ -1,5 +1,5 @@
 /* Linear_Expression class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -77,6 +77,35 @@ PPL::Linear_Expression::Linear_Expression(const Congruence& cg)
     e[i] = cg[i];
 }
 
+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()]);
+}
+
+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]);
+  }
+}
+
 /*! \relates Parma_Polyhedra_Library::Linear_Expression */
 PPL::Linear_Expression
 PPL::operator+(const Linear_Expression& e1, const Linear_Expression& e2) {
@@ -110,6 +139,21 @@ PPL::operator+(const Linear_Expression& e1, const Linear_Expression& e2) {
   return r;
 }
 
+/*! \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;
+}
+
 /*! \relates Parma_Polyhedra_Library::Linear_Expression */
 PPL::Linear_Expression
 PPL::operator+(Coefficient_traits::const_reference n,
@@ -119,6 +163,23 @@ PPL::operator+(Coefficient_traits::const_reference n,
   return r;
 }
 
+/*! \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;
+}
+
 /*! \relates Parma_Polyhedra_Library::Linear_Expression */
 PPL::Linear_Expression
 PPL::operator-(const Linear_Expression& e) {
@@ -163,13 +224,45 @@ PPL::operator-(const Linear_Expression& e1, const Linear_Expression& e2) {
 
 /*! \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;
+}
+
+/*! \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;
+}
+
+/*! \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;
 }
 
@@ -205,7 +298,8 @@ 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("PPL::operator+=(e, v):\n"
+    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) {
@@ -238,7 +332,8 @@ 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("PPL::operator-=(e, v):\n"
+    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) {
@@ -267,7 +362,7 @@ PPL::Linear_Expression::OK() const {
 std::ostream&
 PPL::IO_Operators::operator<<(std::ostream& s, const Linear_Expression& e) {
   const dimension_type num_variables = e.space_dimension();
-  TEMP_INTEGER(ev);
+  PPL_DIRTY_TEMP_COEFFICIENT(ev);
   bool first = true;
   for (dimension_type v = 0; v < num_variables; ++v) {
     ev = e[v+1];
@@ -290,7 +385,7 @@ PPL::IO_Operators::operator<<(std::ostream& s, const Linear_Expression& e) {
     }
   }
   // Inhomogeneous term.
-  TEMP_INTEGER(it);
+  PPL_DIRTY_TEMP_COEFFICIENT(it);
   it = e[0];
   if (it != 0) {
     if (!first) {
diff --git a/src/Linear_Expression.defs.hh b/src/Linear_Expression.defs.hh
index ced00a3..6b1adc1 100644
--- a/src/Linear_Expression.defs.hh
+++ b/src/Linear_Expression.defs.hh
@@ -1,5 +1,5 @@
 /* Linear_Expression class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -408,6 +408,10 @@ private:
   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);
@@ -420,6 +424,10 @@ private:
   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);
diff --git a/src/Linear_Expression.inlines.hh b/src/Linear_Expression.inlines.hh
index 80c31ac..535fa91 100644
--- a/src/Linear_Expression.inlines.hh
+++ b/src/Linear_Expression.inlines.hh
@@ -1,5 +1,5 @@
 /* Linear_Expression class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -45,37 +45,6 @@ Linear_Expression::Linear_Expression(dimension_type sz, bool)
 }
 
 inline
-Linear_Expression::Linear_Expression(const Variable v)
-  : Linear_Row(v.space_dimension() <= max_space_dimension()
-	       ? v.id() + 2
-	       : (throw std::length_error("PPL::Linear_Expression::"
-					  "Linear_Expression(v):\n"
-					  "v exceeds the maximum allowed "
-					  "space dimension."),
-		  v.id() + 2)
-	       , Linear_Row::Flags()) {
-  (*this)[v.id() + 1] = 1;
-}
-
-inline
-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] = 1;
-    (*this)[w_space_dim] = -1;
-  }
-}
-
-inline
 Linear_Expression::Linear_Expression(const Linear_Expression& e)
   : Linear_Row(e) {
 }
@@ -143,20 +112,6 @@ operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) {
 
 /*! \relates Linear_Expression */
 inline Linear_Expression
-operator+(const Variable v, const Variable w) {
-  // FIXME: provide a better implementation.
-  return Linear_Expression(v) + Linear_Expression(w);
-}
-
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Variable v, const Linear_Expression& e) {
-  // FIXME: provide a better implementation.
-  return e + Linear_Expression(v);
-}
-
-/*! \relates Linear_Expression */
-inline Linear_Expression
 operator+(const Linear_Expression& e, const Variable v) {
   return v + e;
 }
@@ -175,20 +130,6 @@ operator-(const Variable v, const Variable w) {
 
 /*! \relates Linear_Expression */
 inline Linear_Expression
-operator-(const Variable v, const Linear_Expression& e) {
-  // FIXME: provide a better implementation.
-  return Linear_Expression(v) - e;
-}
-
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator-(const Linear_Expression& e, const Variable v) {
-  // FIXME: provide a better implementation.
-  return e - Linear_Expression(v);
-}
-
-/*! \relates Linear_Expression */
-inline Linear_Expression
 operator*(const Linear_Expression& e, Coefficient_traits::const_reference n) {
   return n * e;
 }
diff --git a/src/Linear_Expression.types.hh b/src/Linear_Expression.types.hh
index 2e8593d..dd9ec88 100644
--- a/src/Linear_Expression.types.hh
+++ b/src/Linear_Expression.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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_Row.cc b/src/Linear_Row.cc
index 5d785b2..f536abe 100644
--- a/src/Linear_Row.cc
+++ b/src/Linear_Row.cc
@@ -1,5 +1,5 @@
 /* Linear_Row class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -108,8 +108,8 @@ PPL::Linear_Row::linear_combine(const Linear_Row& y, const dimension_type k) {
   // 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.
-  TEMP_INTEGER(normalized_x_k);
-  TEMP_INTEGER(normalized_y_k);
+  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) {
@@ -211,7 +211,7 @@ PPL::Linear_Row::ascii_load(std::istream& s) {
   for (dimension_type col = 0; col < new_size; ++col)
     if (!(s >> x[col]))
       return false;
-  if (!(s >> str) || (str.compare("f") != 0))
+  if (!(s >> str) || str != "f")
     return false;
   return flags().ascii_load(s);
 }
diff --git a/src/Linear_Row.defs.hh b/src/Linear_Row.defs.hh
index ea11b54..b3f38b7 100644
--- a/src/Linear_Row.defs.hh
+++ b/src/Linear_Row.defs.hh
@@ -1,5 +1,5 @@
 /* Linear_Row class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Linear_Row.inlines.hh b/src/Linear_Row.inlines.hh
index cbc2eba..f9d1899 100644
--- a/src/Linear_Row.inlines.hh
+++ b/src/Linear_Row.inlines.hh
@@ -1,5 +1,5 @@
 /* Linear_Row class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Linear_Row.types.hh b/src/Linear_Row.types.hh
index 2f3939a..2ea7dde 100644
--- a/src/Linear_Row.types.hh
+++ b/src/Linear_Row.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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_System.cc b/src/Linear_System.cc
index cf2fcca..f5e651d 100644
--- a/src/Linear_System.cc
+++ b/src/Linear_System.cc
@@ -1,5 +1,5 @@
 /* Linear_System class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -152,7 +152,7 @@ PPL::Linear_System::ascii_load(std::istream& s) {
   dimension_type ncols;
   if (!(s >> nrows))
     return false;
-  if (!(s >> str))
+  if (!(s >> str) || str != "x")
     return false;
   if (!(s >> ncols))
     return false;
diff --git a/src/Linear_System.defs.hh b/src/Linear_System.defs.hh
index 4f8694c..6a798f2 100644
--- a/src/Linear_System.defs.hh
+++ b/src/Linear_System.defs.hh
@@ -1,5 +1,5 @@
 /* Linear_System class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Linear_System.inlines.hh b/src/Linear_System.inlines.hh
index 34bd265..9fd491f 100644
--- a/src/Linear_System.inlines.hh
+++ b/src/Linear_System.inlines.hh
@@ -1,5 +1,5 @@
 /* Linear_System class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Linear_System.types.hh b/src/Linear_System.types.hh
index dfc3aef..3e26fde 100644
--- a/src/Linear_System.types.hh
+++ b/src/Linear_System.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/MIP_Problem.cc b/src/MIP_Problem.cc
index 8454da2..707ecc1 100644
--- a/src/MIP_Problem.cc
+++ b/src/MIP_Problem.cc
@@ -1,5 +1,5 @@
 /* MIP_Problem class implementation: non-inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -294,7 +294,7 @@ PPL::MIP_Problem::solve() const{
 	x.i_variables = this_variables_set;
 	return UNFEASIBLE_MIP_PROBLEM;
       }
-      DIRTY_TEMP0(mpq_class, incumbent_solution);
+      PPL_DIRTY_TEMP0(mpq_class, incumbent_solution);
       Generator g = point();
       bool have_incumbent_solution = false;
 
@@ -383,7 +383,7 @@ PPL::MIP_Problem::merge_split_variables(dimension_type var_index,
     // In the following case the negative side of the split variable is
     // in base: this means that the constraint will be nonfeasible.
     if (base[i] == mapping[var_index].second) {
-      // CHECKME: I do not know if is possible that the positive and
+      // CHECKME: we do not know if is possible that the positive and
       // the negative part of a split variable can be together in
       // base: it seems that this case is not possible. The algorithm
       // requires that condition.
@@ -729,10 +729,10 @@ PPL::MIP_Problem::process_pending_constraints() {
 	// If the constraint is already satisfied, we will not use artificial
 	// variables to compute a feasible base: this to speed up
 	// the algorithm.
-	  if (satisfied_ineqs[i]) {
-	    base[k] = slack_index;
-	    worked_out_row[k] = true;
-	  }
+        if (satisfied_ineqs[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)
@@ -873,7 +873,7 @@ assign(double& d,
 
 PPL::dimension_type
 PPL::MIP_Problem::steepest_edge_float_entering_index() const {
-  DIRTY_TEMP0(mpq_class, real_coeff);
+  PPL_DIRTY_TEMP0(mpq_class, real_coeff);
   const dimension_type tableau_num_rows = tableau.num_rows();
   assert(tableau_num_rows == base.size());
   double challenger_num = 0.0;
@@ -921,12 +921,12 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
   const dimension_type tableau_num_rows = tableau.num_rows();
   assert(tableau_num_rows == base.size());
   // The square of the lcm of all the coefficients of variables in base.
-  TEMP_INTEGER(squared_lcm_basis);
+  PPL_DIRTY_TEMP_COEFFICIENT(squared_lcm_basis);
   // The normalization factor for each coefficient in the tableau.
   std::vector<Coefficient> norm_factor(tableau_num_rows);
   {
     // Compute the lcm of all the coefficients of variables in base.
-    TEMP_INTEGER(lcm_basis);
+    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]]);
@@ -940,14 +940,14 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
   }
 
   // Defined here to avoid repeated (de-)allocations.
-  TEMP_INTEGER(challenger_num);
-  TEMP_INTEGER(scalar_value);
-  TEMP_INTEGER(challenger_den);
-  TEMP_INTEGER(challenger_value);
-  TEMP_INTEGER(current_value);
-
-  TEMP_INTEGER(current_num);
-  TEMP_INTEGER(current_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(challenger_num);
+  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);
   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; ) {
@@ -961,11 +961,12 @@ PPL::MIP_Problem::steepest_edge_exact_entering_index() const {
       challenger_den = squared_lcm_basis;
       for (dimension_type i = tableau_num_rows; i-- > 0; ) {
 	const Coefficient& tableau_ij = tableau[i][j];
-	// FIXME: the test seems to speed up the GMP computation.
+	// 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);
-	}
+        }
       }
       // Initialization during the first loop.
       if (entering_index == 0) {
@@ -1017,20 +1018,18 @@ PPL::MIP_Problem::linear_combine(Row& x,
   // 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.
-  TEMP_INTEGER(normalized_x_k);
-  TEMP_INTEGER(normalized_y_k);
+  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;
-#if 1 // CHECKME: the test seems to speed up the GMP computation.
+      // 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);
-#else
-      sub_mul_assign(x_i, y[i], normalized_x_k);
-#endif // 1
     }
   x[k] = 0;
   x.normalize();
@@ -1080,9 +1079,9 @@ PPL::MIP_Problem
     return tableau_num_rows;
 
   // Reaching this point means that a variable will definitely exit the base.
-  TEMP_INTEGER(lcm);
-  TEMP_INTEGER(current_min);
-  TEMP_INTEGER(challenger);
+  PPL_DIRTY_TEMP_COEFFICIENT(lcm);
+  PPL_DIRTY_TEMP_COEFFICIENT(current_min);
+  PPL_DIRTY_TEMP_COEFFICIENT(challenger);
   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];
@@ -1116,11 +1115,11 @@ PPL::MIP_Problem::compute_simplex_using_steepest_edge_float() {
   unsigned long non_increased_times = 0;
   bool textbook_pricing = false;
 
-  TEMP_INTEGER(cost_sgn_coeff);
-  TEMP_INTEGER(current_num);
-  TEMP_INTEGER(current_den);
-  TEMP_INTEGER(challenger);
-  TEMP_INTEGER(current);
+  PPL_DIRTY_TEMP_COEFFICIENT(cost_sgn_coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(current_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(current_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(challenger);
+  PPL_DIRTY_TEMP_COEFFICIENT(current);
 
   cost_sgn_coeff = working_cost[working_cost.size()-1];
   current_num = working_cost[0];
@@ -1312,10 +1311,10 @@ PPL::MIP_Problem::compute_generator() const {
   std::vector<Coefficient> den(external_space_dim);
   dimension_type row = 0;
 
-  TEMP_INTEGER(lcm);
+  PPL_DIRTY_TEMP_COEFFICIENT(lcm);
   // Speculatively allocate temporaries out of loop.
-  TEMP_INTEGER(split_num);
-  TEMP_INTEGER(split_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(split_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(split_den);
 
   // We start to compute num[] and den[].
   for (dimension_type i = external_space_dim; i-- > 0; ) {
@@ -1486,7 +1485,7 @@ PPL::MIP_Problem::is_lp_satisfiable() const {
   case UNSATISFIABLE:
     return false;
   case SATISFIABLE:
-   // Intentionally fall through.
+    // Intentionally fall through.
   case UNBOUNDED:
     // Intentionally fall through.
   case OPTIMIZED:
@@ -1494,28 +1493,28 @@ PPL::MIP_Problem::is_lp_satisfiable() const {
     return true;
   case PARTIALLY_SATISFIABLE:
     {
-    MIP_Problem& x = const_cast<MIP_Problem&>(*this);
-  // This code tries to handle the case that happens if the tableau is
-  // empty, so it must be initialized.
-  if (tableau.num_columns() == 0) {
-    // Add two columns, the first that handles the inhomogeneous term and
-    // the second that represent the `sign'.
-    x.tableau.add_zero_columns(2);
-    // Sync `mapping' for the inhomogeneous term.
-    x.mapping.push_back(std::make_pair(0, 0));
-    // The internal data structures are ready, so prepare for more
-    // assertion to be checked.
-    x.initialized = true;
-  }
+      MIP_Problem& x = const_cast<MIP_Problem&>(*this);
+      // This code tries to handle the case that happens if the tableau is
+      // empty, so it must be initialized.
+      if (tableau.num_columns() == 0) {
+        // Add two columns, the first that handles the inhomogeneous term and
+        // the second that represent the `sign'.
+        x.tableau.add_zero_columns(2);
+        // Sync `mapping' for the inhomogeneous term.
+        x.mapping.push_back(std::make_pair(0, 0));
+        // The internal data structures are ready, so prepare for more
+        // assertion to be checked.
+        x.initialized = true;
+      }
 
-  // Apply incrementality to the pending constraint system.
-  x.process_pending_constraints();
-  // Update `first_pending_constraint': no more pending.
-  x.first_pending_constraint = input_cs.size();
-  // Update also `internal_space_dim'.
-  x.internal_space_dim = x.external_space_dim;
-  assert(OK());
-  return (status != UNSATISFIABLE);
+      // Apply incrementality to the pending constraint system.
+      x.process_pending_constraints();
+      // Update `first_pending_constraint': no more pending.
+      x.first_pending_constraint = input_cs.size();
+      // Update also `internal_space_dim'.
+      x.internal_space_dim = x.external_space_dim;
+      assert(OK());
+      return (status != UNSATISFIABLE);
     }
   }
   // We should not be here!
@@ -1538,11 +1537,11 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
   else
     return UNFEASIBLE_MIP_PROBLEM;
 
-  DIRTY_TEMP0(mpq_class, tmp_rational);
+  PPL_DIRTY_TEMP0(mpq_class, tmp_rational);
 
   Generator p = point();
-  TEMP_INTEGER(tmp_coeff1);
-  TEMP_INTEGER(tmp_coeff2);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff1);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff2);
 
   if (lp_status == UNBOUNDED_MIP_PROBLEM)
     p = lp.last_generator;
@@ -1564,7 +1563,7 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
   }
 
   bool found_satisfiable_generator = true;
-  TEMP_INTEGER(gcd);
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
   const Coefficient& p_divisor = p.divisor();
   dimension_type nonint_dim;
   for (Variables_Set::const_iterator v_begin = i_vars.begin(),
@@ -1593,8 +1592,8 @@ PPL::MIP_Problem::solve_mip(bool& have_incumbent_solution,
       incumbent_solution_point = p;
       have_incumbent_solution = true;
 #if PPL_NOISY_SIMPLEX
-      TEMP_INTEGER(num);
-      TEMP_INTEGER(den);
+      PPL_DIRTY_TEMP_COEFFICIENT(num);
+      PPL_DIRTY_TEMP_COEFFICIENT(den);
       lp.evaluate_objective_function(p, num, den);
       std::cerr << "new value found: " << num << "/" << den << std::endl;
 #endif
@@ -1633,7 +1632,7 @@ PPL::MIP_Problem::choose_branching_variable(const MIP_Problem& mip,
   const Coefficient& last_generator_divisor = last_generator.divisor();
   Variables_Set candidate_variables;
 
-  TEMP_INTEGER(gcd);
+  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) {
     gcd_assign(gcd,
@@ -1683,10 +1682,10 @@ PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp, Generator& p,
   // Solve the problem as a non MIP one, it must be done internally.
   if (!lp.is_lp_satisfiable())
     return false;
-  DIRTY_TEMP0(mpq_class, tmp_rational);
+  PPL_DIRTY_TEMP0(mpq_class, tmp_rational);
 
-  TEMP_INTEGER(tmp_coeff1);
-  TEMP_INTEGER(tmp_coeff2);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff1);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp_coeff2);
   p = lp.last_generator;
 
   bool found_satisfiable_generator = true;
@@ -1697,7 +1696,7 @@ PPL::MIP_Problem::is_mip_satisfiable(MIP_Problem& lp, Generator& p,
   found_satisfiable_generator
     = choose_branching_variable(lp, i_vars, nonint_dim);
 #else
-  TEMP_INTEGER(gcd);
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
   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);
@@ -1801,7 +1800,7 @@ PPL::MIP_Problem::OK() const {
     // Check that every integer declared variable is really integer.
     // in the solution found.
     if (!i_variables.empty()) {
-      TEMP_INTEGER(gcd);
+      PPL_DIRTY_TEMP_COEFFICIENT(gcd);
       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)),
diff --git a/src/MIP_Problem.defs.hh b/src/MIP_Problem.defs.hh
index 16b4c0b..76cbc4f 100644
--- a/src/MIP_Problem.defs.hh
+++ b/src/MIP_Problem.defs.hh
@@ -1,5 +1,5 @@
 /* MIP_Problem class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/MIP_Problem.inlines.hh b/src/MIP_Problem.inlines.hh
index 219d39a..2f55ce6 100644
--- a/src/MIP_Problem.inlines.hh
+++ b/src/MIP_Problem.inlines.hh
@@ -1,5 +1,5 @@
 /* MIP_Problem class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/MIP_Problem.templates.hh b/src/MIP_Problem.templates.hh
index 52ce4e8..02446b0 100644
--- a/src/MIP_Problem.templates.hh
+++ b/src/MIP_Problem.templates.hh
@@ -1,5 +1,5 @@
 /* MIP_Problem class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/MIP_Problem.types.hh b/src/MIP_Problem.types.hh
index f1537e5..b76f106 100644
--- a/src/MIP_Problem.types.hh
+++ b/src/MIP_Problem.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 d4860ca..a066dab 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -52,10 +52,11 @@
 #	    0.8			    5:0:0
 #	    0.9			    6:0:0
 #	    0.10		    7:0:0
+#	    0.10.1		    8:0:1
 
-LIBPPL_LT_CURRENT =  7
+LIBPPL_LT_CURRENT =  8
 LIBPPL_LT_REVISION = 0
-LIBPPL_LT_AGE =      0
+LIBPPL_LT_AGE =      1
 
 AM_CPPFLAGS = \
 -I$(top_builddir) \
@@ -65,12 +66,16 @@ AM_CPPFLAGS = \
 lib_LTLIBRARIES = libppl.la
 
 bin_PROGRAMS = ppl-config
+
 ppl_config_SOURCES = \
-ppl-config.cc \
 BUGS.cc \
 COPYING.cc \
 CREDITS.cc
 
+nodist_ppl_config_SOURCES = \
+ppl-config.cc \
+ppl.hh
+
 ppl_config_LDADD = \
 libppl.la
 
@@ -119,6 +124,7 @@ Checked_Number.types.hh \
 $(COEFFICIENT_TYPES_INCLUDE_FILES) \
 Coefficient.types.hh \
 stdiobuf.types.hh \
+c_streambuf.types.hh \
 globals.types.hh \
 iterator_to_const.types.hh \
 distances.types.hh \
@@ -190,6 +196,8 @@ 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 \
@@ -314,7 +322,8 @@ Partially_Reduced_Product.defs.hh \
 Partially_Reduced_Product.inlines.hh \
 Partially_Reduced_Product.templates.hh \
 max_space_dimension.hh \
-algorithms.hh
+algorithms.hh \
+wrap.hh
 #Any_Pointset.types.hh \
 #Any_Pointset.defs.hh \
 #Any_Pointset.inlines.hh \
@@ -387,12 +396,14 @@ simplify.cc \
 Grid_conversion.cc \
 Grid_simplify.cc \
 stdiobuf.cc \
+c_streambuf.cc \
 globals.cc \
 mp_std_bits.cc \
 version.cc \
 $(INCLUDE_FILES) \
 $(NESTED_INCLUDE_FILES) \
-swapping_sort.icc
+swapping_sort.icc \
+wrap.cc
 #Pointset_Ask_Tell.cc
 
 if NO_UNDEFINED
@@ -420,11 +431,11 @@ endif !BUILD_CXX_INTERFACE
 nodist_noinst_HEADERS = ppl_include_files.hh
 
 ppl_include_files.hh: $(INCLUDE_FILES) Makefile
-	rm -f $@
-	for file in $(INCLUDE_FILES); \
+	for file in $(INCLUDE_FILES) ; \
 	do \
-	  printf "#include \"%s\"\n" $$file >>$@; \
-	done
+	  i="#include \"$$file\"" ; \
+	  ( cd $(top_srcdir)/src ; $(FGREP) -q "$$i" $(INCLUDE_FILES) ) || echo "$$i" ; \
+	done > $@
 
 EXTRA_DIST = ppl_header.hh ppl-config.cc.in version.hh.in
 
diff --git a/src/Makefile.in b/src/Makefile.in
index 4840717..de531ec 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -68,6 +68,7 @@
 #	    0.8			    5:0:0
 #	    0.9			    6:0:0
 #	    0.10		    7:0:0
+#	    0.10.1		    8:0:1
 
 
 
@@ -117,12 +118,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -156,12 +156,13 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.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 \
-	globals.cc mp_std_bits.cc version.cc namespaces.hh compiler.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 \
-	Coefficient_traits_template.hh Checked_Number.types.hh \
-	GMP_Integer.types.hh Coefficient.types.hh stdiobuf.types.hh \
+	c_streambuf.cc globals.cc mp_std_bits.cc version.cc \
+	namespaces.hh compiler.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 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 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 \
@@ -190,7 +191,8 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	checked_numeric_limits.hh GMP_Integer.defs.hh \
 	GMP_Integer.inlines.hh Coefficient.defs.hh \
 	Coefficient.inlines.hh stdiobuf.defs.hh stdiobuf.inlines.hh \
-	globals.defs.hh globals.inlines.hh math_utilities.defs.hh \
+	c_streambuf.defs.hh c_streambuf.inlines.hh globals.defs.hh \
+	globals.inlines.hh math_utilities.defs.hh \
 	math_utilities.inlines.hh iterator_to_const.defs.hh \
 	iterator_to_const.inlines.hh distances.defs.hh \
 	distances.inlines.hh Boundary.defs.hh Interval_Info.defs.hh \
@@ -244,9 +246,9 @@ am__libppl_la_SOURCES_DIST = Box.cc checked.cc Checked_Number.cc \
 	Partially_Reduced_Product.defs.hh \
 	Partially_Reduced_Product.inlines.hh \
 	Partially_Reduced_Product.templates.hh max_space_dimension.hh \
-	algorithms.hh Ph_Status.idefs.hh Grid_Status.idefs.hh \
+	algorithms.hh wrap.hh Ph_Status.idefs.hh Grid_Status.idefs.hh \
 	Box_Status.idefs.hh BDS_Status.idefs.hh Og_Status.idefs.hh \
-	swapping_sort.icc
+	swapping_sort.icc wrap.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 \
@@ -265,17 +267,19 @@ am_libppl_la_OBJECTS = Box.lo checked.lo Checked_Number.lo Float.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 \
-	globals.lo mp_std_bits.lo version.lo $(am__objects_2) \
-	$(am__objects_1)
+	c_streambuf.lo globals.lo mp_std_bits.lo version.lo \
+	$(am__objects_2) $(am__objects_1) wrap.lo
 libppl_la_OBJECTS = $(am_libppl_la_OBJECTS)
 libppl_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
 	$(CXXFLAGS) $(libppl_la_LDFLAGS) $(LDFLAGS) -o $@
 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
-am_ppl_config_OBJECTS = ppl-config.$(OBJEXT) BUGS.$(OBJEXT) \
-	COPYING.$(OBJEXT) CREDITS.$(OBJEXT)
-ppl_config_OBJECTS = $(am_ppl_config_OBJECTS)
+am_ppl_config_OBJECTS = BUGS.$(OBJEXT) COPYING.$(OBJEXT) \
+	CREDITS.$(OBJEXT)
+nodist_ppl_config_OBJECTS = ppl-config.$(OBJEXT)
+ppl_config_OBJECTS = $(am_ppl_config_OBJECTS) \
+	$(nodist_ppl_config_OBJECTS)
 ppl_config_DEPENDENCIES = libppl.la
 DEFAULT_INCLUDES = -I. at am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -298,7 +302,8 @@ CCLD = $(CC)
 LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(libppl_la_SOURCES) $(ppl_config_SOURCES)
+SOURCES = $(libppl_la_SOURCES) $(ppl_config_SOURCES) \
+	$(nodist_ppl_config_SOURCES)
 DIST_SOURCES = $(am__libppl_la_SOURCES_DIST) $(ppl_config_SOURCES)
 am__include_HEADERS_DIST = ppl.hh
 includeHEADERS_INSTALL = $(INSTALL_HEADER)
@@ -364,6 +369,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -372,6 +379,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -446,6 +454,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -483,9 +492,9 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 uudecode = @uudecode@
 xsb_prolog = @xsb_prolog@
-LIBPPL_LT_CURRENT = 7
+LIBPPL_LT_CURRENT = 8
 LIBPPL_LT_REVISION = 0
-LIBPPL_LT_AGE = 0
+LIBPPL_LT_AGE = 1
 AM_CPPFLAGS = \
 -I$(top_builddir) \
 -I$(top_srcdir)/src \
@@ -493,11 +502,14 @@ AM_CPPFLAGS = \
 
 lib_LTLIBRARIES = libppl.la
 ppl_config_SOURCES = \
-ppl-config.cc \
 BUGS.cc \
 COPYING.cc \
 CREDITS.cc
 
+nodist_ppl_config_SOURCES = \
+ppl-config.cc \
+ppl.hh
+
 ppl_config_LDADD = \
 libppl.la
 
@@ -531,6 +543,7 @@ Checked_Number.types.hh \
 $(COEFFICIENT_TYPES_INCLUDE_FILES) \
 Coefficient.types.hh \
 stdiobuf.types.hh \
+c_streambuf.types.hh \
 globals.types.hh \
 iterator_to_const.types.hh \
 distances.types.hh \
@@ -602,6 +615,8 @@ 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 \
@@ -726,7 +741,8 @@ Partially_Reduced_Product.defs.hh \
 Partially_Reduced_Product.inlines.hh \
 Partially_Reduced_Product.templates.hh \
 max_space_dimension.hh \
-algorithms.hh
+algorithms.hh \
+wrap.hh
 
 #Any_Pointset.types.hh \
 #Any_Pointset.defs.hh \
@@ -799,12 +815,14 @@ simplify.cc \
 Grid_conversion.cc \
 Grid_simplify.cc \
 stdiobuf.cc \
+c_streambuf.cc \
 globals.cc \
 mp_std_bits.cc \
 version.cc \
 $(INCLUDE_FILES) \
 $(NESTED_INCLUDE_FILES) \
-swapping_sort.icc
+swapping_sort.icc \
+wrap.cc
 
 #Pointset_Ask_Tell.cc
 @NO_UNDEFINED_TRUE at NO_UNDEFINED_FLAG = -no-undefined
@@ -982,6 +1000,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/Scalar_Products.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)/c_streambuf.Plo at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/checked.Plo at am__quote@
 @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@
@@ -992,6 +1011,7 @@ distclean-compile:
 @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)/version.Plo at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/wrap.Plo at am__quote@
 
 .cc.o:
 @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -1230,11 +1250,11 @@ uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
 
 
 ppl_include_files.hh: $(INCLUDE_FILES) Makefile
-	rm -f $@
-	for file in $(INCLUDE_FILES); \
+	for file in $(INCLUDE_FILES) ; \
 	do \
-	  printf "#include \"%s\"\n" $$file >>$@; \
-	done
+	  i="#include \"$$file\"" ; \
+	  ( cd $(top_srcdir)/src ; $(FGREP) -q "$$i" $(INCLUDE_FILES) ) || echo "$$i" ; \
+	done > $@
 
 @HAVE_PERL_TRUE at ppl.hh:	$(top_builddir)/ppl-config.h $(top_builddir)/src/version.hh ppl_header.hh ppl_include_files.hh $(INCLUDE_FILES) $(NESTED_INCLUDE_FILES) Makefile $(top_builddir)/utils/build_header
 @HAVE_PERL_TRUE@	$(top_builddir)/utils/build_header \
diff --git a/src/Matrix.cc b/src/Matrix.cc
index 399af35..19eae9d 100644
--- a/src/Matrix.cc
+++ b/src/Matrix.cc
@@ -1,5 +1,5 @@
 /* Matrix class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -303,7 +303,7 @@ PPL::Matrix::ascii_load(std::istream& s) {
   dimension_type x_num_cols;
   if (!(s >> x_num_rows))
     return false;
-  if (!(s >> str) || (str.compare("x") != 0))
+  if (!(s >> str) || str != "x")
     return false;
   if (!(s >> x_num_cols))
     return false;
@@ -339,7 +339,7 @@ PPL::Matrix::remove_trailing_columns(const dimension_type n) {
 
 void
 PPL::Matrix::permute_columns(const std::vector<dimension_type>& cycles) {
-  TEMP_INTEGER(tmp);
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
   const dimension_type n = cycles.size();
   assert(cycles[n - 1] == 0);
   for (dimension_type k = num_rows(); k-- > 0; ) {
diff --git a/src/Matrix.defs.hh b/src/Matrix.defs.hh
index 8e17a38..e1b70ca 100644
--- a/src/Matrix.defs.hh
+++ b/src/Matrix.defs.hh
@@ -1,5 +1,5 @@
 /* Matrix class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Matrix.inlines.hh b/src/Matrix.inlines.hh
index ea81727..6711d72 100644
--- a/src/Matrix.inlines.hh
+++ b/src/Matrix.inlines.hh
@@ -1,5 +1,5 @@
 /* Matrix class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Matrix.types.hh b/src/Matrix.types.hh
index 3a38a6a..1e1a95e 100644
--- a/src/Matrix.types.hh
+++ b/src/Matrix.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/NNC_Polyhedron.cc b/src/NNC_Polyhedron.cc
index b2ce323..ed128d7 100644
--- a/src/NNC_Polyhedron.cc
+++ b/src/NNC_Polyhedron.cc
@@ -1,5 +1,5 @@
 /* NNC_Polyhedron class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -79,5 +79,14 @@ PPL::NNC_Polyhedron::NNC_Polyhedron(const Grid& grid, Complexity_Class)
 
 bool
 PPL::NNC_Polyhedron::poly_hull_assign_if_exact(const NNC_Polyhedron& y) {
+#define USE_BHZ09 1
+#if USE_BHZ09 // [BagnaraHZ09]
+  // Dimension-compatibility check.
+  if (space_dimension() != y.space_dimension())
+    throw_dimension_incompatible("poly_hull_assign_if_exact(y)", "y", y);
+  return BHZ09_poly_hull_assign_if_exact(y);
+#else // Old implementation.
   return PPL::poly_hull_assign_if_exact(*this, y);
+#endif
+#undef USE_BHZ09
 }
diff --git a/src/NNC_Polyhedron.defs.hh b/src/NNC_Polyhedron.defs.hh
index f08b414..25da8a7 100644
--- a/src/NNC_Polyhedron.defs.hh
+++ b/src/NNC_Polyhedron.defs.hh
@@ -1,5 +1,5 @@
 /* NNC_Polyhedron class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/NNC_Polyhedron.inlines.hh b/src/NNC_Polyhedron.inlines.hh
index 3e6ff5c..9a8fdb8 100644
--- a/src/NNC_Polyhedron.inlines.hh
+++ b/src/NNC_Polyhedron.inlines.hh
@@ -1,5 +1,5 @@
 /* NNC_Polyhedron class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/NNC_Polyhedron.types.hh b/src/NNC_Polyhedron.types.hh
index 0775962..a8b586d 100644
--- a/src/NNC_Polyhedron.types.hh
+++ b/src/NNC_Polyhedron.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 574f6cb..7c3889e 100644
--- a/src/Numeric_Format.defs.hh
+++ b/src/Numeric_Format.defs.hh
@@ -1,5 +1,5 @@
 /* Numeric format.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/OR_Matrix.defs.hh b/src/OR_Matrix.defs.hh
index ab22dfb..0e3ceec 100644
--- a/src/OR_Matrix.defs.hh
+++ b/src/OR_Matrix.defs.hh
@@ -1,5 +1,5 @@
 /* OR_Matrix class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -125,7 +125,7 @@ private:
     //! Subscript operator.
     U& operator[](dimension_type k) const;
 
-    //! Default constructor: creates a past-the-end object.
+    //! Default constructor: creates an invalid object that has to be assigned.
     Pseudo_Row();
 
     //! Assignment operator.
diff --git a/src/OR_Matrix.inlines.hh b/src/OR_Matrix.inlines.hh
index bb23451..9124dd1 100644
--- a/src/OR_Matrix.inlines.hh
+++ b/src/OR_Matrix.inlines.hh
@@ -1,5 +1,5 @@
 /* OR_Matrix class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,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) & ~dimension_type(1);
+  return k + 2 - k%2;
 }
 
 #if PPL_OR_MATRIX_EXTRA_DEBUG
@@ -66,7 +66,6 @@ OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row()
   , size_(0)
 #endif
 {
-  // FIXME: is zeroing necessary/wanted?
 }
 
 template <typename T>
@@ -132,6 +131,10 @@ OR_Matrix<T>::any_row_iterator<U>
     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
 }
 
 template <typename T>
@@ -189,12 +192,13 @@ 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) {
+  if (e % 2 != 0)
     ++increment;
 #if PPL_OR_MATRIX_EXTRA_DEBUG
+  else {
     value.size_ += 2;
-#endif
   }
+#endif
   i += increment;
   value.first += increment;
   return *this;
@@ -215,7 +219,7 @@ 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) {
+  if (e % 2 != 0) {
     ++decrement;
 #if PPL_OR_MATRIX_EXTRA_DEBUG
     value.size_ -= 2;
@@ -238,16 +242,15 @@ OR_Matrix<T>::any_row_iterator<U>::operator--(int) {
 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) {
+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 == 1)
+  if (e % 2 == 0 && m % 2 != 0)
     ++increment;
   e += m;
   i += increment;
   value.first += increment;
 #if PPL_OR_MATRIX_EXTRA_DEBUG
-  // FIXME!!!
-  value.size_ = OR_Matrix::row_size(e);
+  value.size_ += (m - m%2);
 #endif
   return *this;
 }
@@ -334,7 +337,7 @@ template <typename T>
 template <typename U>
 inline dimension_type
 OR_Matrix<T>::any_row_iterator<U>::row_size() const {
-  return (e+2) & ~dimension_type(1);
+  return OR_Matrix::row_size(e);
 }
 
 template <typename T>
@@ -418,11 +421,10 @@ isqrt(unsigned long x) {
 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.
+  // 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) & ~dimension_type(1);
+  return (k - 1) - (k - 1)%2;
 }
 
 template <typename T>
@@ -505,7 +507,8 @@ 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())) {
+    vec_capacity(compute_capacity(y.vec.size(),
+                                  DB_Row<T>::max_size())) {
 }
 
 template <typename T>
@@ -514,7 +517,8 @@ inline
 OR_Matrix<T>::OR_Matrix(const OR_Matrix<U>& y)
   : vec(),
     space_dim(y.space_dim),
-    vec_capacity(compute_capacity(y.vec.size())) {
+    vec_capacity(compute_capacity(y.vec.size(),
+                                  DB_Row<T>::max_size())) {
   vec.construct_upward_approximation(y.vec, vec_capacity);
   assert(OK());
 }
@@ -524,7 +528,7 @@ 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());
+  vec_capacity = compute_capacity(y.vec.size(), DB_Row<T>::max_size());
   return *this;
 }
 
diff --git a/src/OR_Matrix.templates.hh b/src/OR_Matrix.templates.hh
index 4f3a281..da03cda 100644
--- a/src/OR_Matrix.templates.hh
+++ b/src/OR_Matrix.templates.hh
@@ -1,5 +1,5 @@
 /* OR_Matrix class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -92,9 +92,8 @@ OR_Matrix<T>::ascii_load(std::istream& s) {
     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_UP);
-      // FIXME: V_CVT_STR_UNK is probably not the only possible error.
-      if (!s || r == V_CVT_STR_UNK)
+      Result r = input(r_i[j], s, ROUND_CHECK);
+      if (r != V_EQ || is_minus_infinity(r_i[j]))
 	return false;
     }
   }
diff --git a/src/OR_Matrix.types.hh b/src/OR_Matrix.types.hh
index fa79217..336fc7b 100644
--- a/src/OR_Matrix.types.hh
+++ b/src/OR_Matrix.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 b7eb0d8..c282baf 100644
--- a/src/Octagonal_Shape.cc
+++ b/src/Octagonal_Shape.cc
@@ -1,5 +1,5 @@
 /* Octagonal_Shape class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Octagonal_Shape.defs.hh b/src/Octagonal_Shape.defs.hh
index 9660eb6..f2192c8 100644
--- a/src/Octagonal_Shape.defs.hh
+++ b/src/Octagonal_Shape.defs.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -1825,6 +1825,15 @@ private:
   */
   void compute_leaders(std::vector<dimension_type>& leaders) const;
 
+  /*! \brief
+    Stores into \p non_redundant information about the matrix entries
+    that are non-redundant (i.e., will occur in 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.
+  */
+  void non_redundant_matrix_entries(std::vector<Bit_Row>& non_redundant) const;
+
   //! Removes the redundant constraints from \c this->matrix.
   void strong_reduction_assign() const;
 
@@ -1854,14 +1863,16 @@ private:
   //! Applies the strong-coherence step to \c this->matrix.
   void strong_coherence_assign();
 
-  //! Puts in \p *this all implicit constraints and computes the tighter ones.
-  /*!
-    \param var
-    The variable of the altered constraints.
-
-    The octagon `*this' was transitively closed except for the constraint on
-    variable `var'. This operation costs only \f$O(n^2)\f$.
+  /*! \brief
+    Incrementally computes strong closure, assuming that only
+    constraints affecting variable \p var need to be considered.
 
+    \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;
 
@@ -1950,6 +1961,7 @@ private:
                Coefficient& ext_n, Coefficient& ext_d, bool& included,
                Generator& g) const;
 
+  bool BHZ09_upper_bound_assign_if_exact(const Octagonal_Shape& y);
 
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators
diff --git a/src/Octagonal_Shape.inlines.hh b/src/Octagonal_Shape.inlines.hh
index dc7c61f..e795150 100644
--- a/src/Octagonal_Shape.inlines.hh
+++ b/src/Octagonal_Shape.inlines.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -40,7 +40,7 @@ namespace Parma_Polyhedra_Library {
 /*! \relates Octagonal_Shape */
 inline dimension_type
 coherent_index(const dimension_type i) {
-  return (i%2) ? i-1 : i+1;
+  return (i % 2 != 0) ? i-1 : i+1;
 }
 
 template <typename T>
@@ -402,7 +402,7 @@ Octagonal_Shape<T>
   assert(j < m_i.row_size());
   assert(den != 0);
 #endif
-  DIRTY_TEMP(N, k);
+  PPL_DIRTY_TEMP(N, k);
   div_round_up(k, num, den);
   add_octagonal_constraint(i, j, k);
 }
@@ -589,9 +589,7 @@ Octagonal_Shape<T>::strictly_contains(const Octagonal_Shape& y) const {
 template <typename T>
 inline bool
 Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
-  // TODO: this must be properly implemented.
-  used(y);
-  return false;
+  return BHZ09_upper_bound_assign_if_exact(y);
 }
 
 /*! \relates Octagonal_Shape */
@@ -643,9 +641,9 @@ rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			    const Octagonal_Shape<T>& y,
 			    const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -708,9 +706,9 @@ euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			  const Octagonal_Shape<T>& y,
 			  const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -773,9 +771,9 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			   const Octagonal_Shape<T>& y,
 			   const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
diff --git a/src/Octagonal_Shape.templates.hh b/src/Octagonal_Shape.templates.hh
index 524cbda..9782db6 100644
--- a/src/Octagonal_Shape.templates.hh
+++ b/src/Octagonal_Shape.templates.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -114,8 +114,8 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
     *this = Octagonal_Shape<T>(num_dimensions, UNIVERSE);
     // Get all the upper bounds.
     Generator g(point());
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    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'.
@@ -208,7 +208,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
   typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
   typename OR_Matrix<N>::row_iterator mat_begin = matrix.row_begin();
 
-  DIRTY_TEMP(N, tmp);
+  PPL_DIRTY_TEMP(N, tmp);
   bool mat_initialized = false;
   bool point_seen = false;
   // Going through all the points and closure points.
@@ -388,8 +388,8 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
+  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))
@@ -414,7 +414,7 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
 
   bool is_oct_changed = false;
   // Compute the bound for `m_i_j', rounding towards plus infinity.
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d);
   div_round_up(d, term, coeff);
   if (m_i_j > d) {
     m_i_j = d;
@@ -423,7 +423,7 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
 
   if (c.is_equality()) {
     // Select the cell to be modified for the ">=" part of constraint.
-    if (i%2 == 0)
+    if (i % 2 == 0)
       ++i_iter;
     else
       --i_iter;
@@ -483,8 +483,8 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
+  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))
@@ -510,7 +510,7 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
 
   bool is_oct_changed = false;
   // Compute the bound for `m_i_j', rounding towards plus infinity.
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d);
   div_round_up(d, term, coeff);
   if (m_i_j > d) {
     m_i_j = d;
@@ -519,7 +519,7 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
 
   if (c.is_equality()) {
     // Select the cell to be modified for the ">=" part of constraint.
-    if (i%2 == 0)
+    if (i % 2 == 0)
       ++i_iter;
     else
       --i_iter;
@@ -599,8 +599,8 @@ Octagonal_Shape<T>::minimized_congruences() const {
     std::vector<dimension_type> leaders;
     compute_leaders(leaders);
 
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    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) {
@@ -769,7 +769,7 @@ Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
 
   const Row_Iterator y_begin = y.matrix.row_begin();
 
-  DIRTY_TEMP(N, neg_y_ci_cj);
+  PPL_DIRTY_TEMP(N, neg_y_ci_cj);
   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);
@@ -857,7 +857,7 @@ Octagonal_Shape<T>::contains_integer_point() const {
   oct_z.reset_strongly_closed();
 
   typedef Octagonal_Shape<mpz_class>::N Z;
-  DIRTY_TEMP(N, tmp);
+  PPL_DIRTY_TEMP(N, tmp);
   bool all_integers = true;
   typename OR_Matrix<N>::const_element_iterator x_i = matrix.element_begin();
   for (typename OR_Matrix<Z>::element_iterator
@@ -933,7 +933,7 @@ Octagonal_Shape<T>::is_strong_coherent() const {
   const dimension_type num_rows = matrix.num_rows();
 
   // Allocated here once and for all.
-  DIRTY_TEMP(N, semi_sum);
+  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
@@ -1013,8 +1013,8 @@ Octagonal_Shape<T>::bounds(const Linear_Expression& expr,
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
+  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)
@@ -1069,8 +1069,8 @@ Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
+  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.
@@ -1097,28 +1097,28 @@ Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
     // 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;
-    DIRTY_TEMP(N, d);
+    PPL_DIRTY_TEMP(N, d);
     if (!is_plus_infinity(m_i[j])) {
       const Coefficient& b = expr.inhomogeneous_term();
-      TEMP_INTEGER(minus_b);
+      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'.
-      DIRTY_TEMP(N, coeff_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 {
-        TEMP_INTEGER(minus_coeff_i);
+        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) {
-        DIRTY_TEMP(N, m_i_j);
+        PPL_DIRTY_TEMP(N, m_i_j);
         div2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP);
         add_mul_assign_r(d, coeff_expr, m_i_j, ROUND_UP);
       }
@@ -1214,10 +1214,10 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
         && Poly_Con_Relation::is_included();
   }
 
-  DIRTY_TEMP(Coefficient, min_num);
-  DIRTY_TEMP(Coefficient, min_den);
+  PPL_DIRTY_TEMP(Coefficient, min_num);
+  PPL_DIRTY_TEMP(Coefficient, min_den);
   bool min_included;
-  TEMP_INTEGER(mod);
+  PPL_DIRTY_TEMP_COEFFICIENT(mod);
   mod = cg.modulus();
   Linear_Expression le;
   for (dimension_type i = cg_space_dim; i-- > 0; )
@@ -1227,10 +1227,10 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
   if (!bounded_below)
     return Poly_Con_Relation::strictly_intersects();
 
-  TEMP_INTEGER(v);
-  TEMP_INTEGER(lower_num);
-  TEMP_INTEGER(lower_den);
-  TEMP_INTEGER(lower);
+  PPL_DIRTY_TEMP_COEFFICIENT(v);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower);
   assign_r(lower_num, min_num, ROUND_NOT_NEEDED);
   assign_r(lower_den, min_den, ROUND_NOT_NEEDED);
   neg_assign(v, cg.inhomogeneous_term());
@@ -1284,8 +1284,8 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(c_term);
+  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.
@@ -1299,11 +1299,11 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
       Variable vk(k);
       le += c.coefficient(vk) * vk;
     }
-    DIRTY_TEMP(Coefficient, max_num);
-    DIRTY_TEMP(Coefficient, max_den);
+    PPL_DIRTY_TEMP(Coefficient, max_num);
+    PPL_DIRTY_TEMP(Coefficient, max_den);
     bool max_included;
-    DIRTY_TEMP(Coefficient, min_num);
-    DIRTY_TEMP(Coefficient, min_den);
+    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);
@@ -1403,22 +1403,22 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
 
   // Select the cell to be checked for the ">=" part of constraint.
   // Select the right row of the cell.
-  if (i%2 == 0)
+  if (i % 2 == 0)
     ++i_iter;
   else
     --i_iter;
   typename OR_Matrix<N>::const_row_reference_type m_ci = *i_iter;
   const N& m_ci_cj = m_ci[coherent_index(j)];
-  TEMP_INTEGER(numer);
-  TEMP_INTEGER(denom);
+  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.
-  DIRTY_TEMP0(mpq_class, q_x);
-  DIRTY_TEMP0(mpq_class, q_y);
-  DIRTY_TEMP0(mpq_class, d);
-  DIRTY_TEMP0(mpq_class, d1);
-  DIRTY_TEMP0(mpq_class, c_den);
-  DIRTY_TEMP0(mpq_class, q_den);
+  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);
@@ -1527,9 +1527,9 @@ 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();
 
-  TEMP_INTEGER(num);
-  TEMP_INTEGER(den);
-  TEMP_INTEGER(product);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  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) {
@@ -1540,8 +1540,10 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
     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(0) : g.coefficient(x);
+    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
@@ -1620,15 +1622,17 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
       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(0) : g.coefficient(x);
-      const Coefficient& g_coeff_y = (y.space_dimension() > g_space_dim)
-        ? Coefficient(0) : g.coefficient(y);
-
-      // FIXME! Find better names.
-      const bool is_binary_equality = is_additive_inverse(m_ii_jj, m_i_j);
-      const bool is_a_binary_equality = is_additive_inverse(m_i_jj, m_ii_j);
-      if (is_binary_equality) {
+      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);
+
+      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()'.
@@ -1692,7 +1696,8 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
         }
       }
 
-      if (is_a_binary_equality) {
+      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()'.
@@ -1798,8 +1803,8 @@ Octagonal_Shape<T>::strong_closure_assign() const {
   typename OR_Matrix<N>::element_iterator iter_ij;
   std::vector<N> vec_k(n_rows);
   std::vector<N> vec_ck(n_rows);
-  DIRTY_TEMP(N, sum1);
-  DIRTY_TEMP(N, sum2);
+  PPL_DIRTY_TEMP(N, sum1);
+  PPL_DIRTY_TEMP(N, sum2);
   Row_Reference x_k;
   Row_Reference x_ck;
   Row_Reference x_i;
@@ -1908,7 +1913,7 @@ Octagonal_Shape<T>::strong_coherence_assign() {
   // where ci = i + 1, if i is even number or
   //       ci = i - 1, if i is odd.
   // Ditto for cj.
-  DIRTY_TEMP(N, semi_sum);
+  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;
@@ -1960,10 +1965,6 @@ Octagonal_Shape<T>
   if (marked_empty() || marked_strongly_closed())
     return;
 
-  // Zero-dimensional octagons are necessarily strongly closed.
-  if (space_dim == 0)
-    return;
-
   Octagonal_Shape& x = const_cast<Octagonal_Shape<T>&>(*this);
 
   typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
@@ -1988,20 +1989,20 @@ Octagonal_Shape<T>
   Row_Reference x_cv = *cv_iter;
   const dimension_type rs_v = v_iter.row_size();
   const dimension_type n_rows = x.matrix.num_rows();
-  DIRTY_TEMP(N, sum);
+  PPL_DIRTY_TEMP(N, sum);
   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) ? *(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) ? *(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)) {
@@ -2109,8 +2110,8 @@ Octagonal_Shape<T>
   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) ?
-          *(i_iter-1) : *(i_iter+1);
+    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) {
     //for (dimension_type j = i; j-- > 0; ) {
       dimension_type cj = coherent_index(j);
@@ -2141,8 +2142,8 @@ Octagonal_Shape<T>
        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) ? *(i_iter-1) : *(i_iter+1);
+    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) {
       dimension_type cj = coherent_index(j);
       if (is_additive_inverse(m_ci[cj], m_i[j]))
@@ -2183,17 +2184,53 @@ Octagonal_Shape<T>
 template <typename T>
 void
 Octagonal_Shape<T>::strong_reduction_assign() const {
-  // Zero-dimensional Octagonal shapes are necessarily reduced.
+  // Zero-dimensional octagonal shapes are necessarily reduced.
   if (space_dim == 0)
     return;
-
-  // First find the tightest constraints for this octagon.
   strong_closure_assign();
-
   // If `*this' is empty, then there is nothing to reduce.
   if (marked_empty())
     return;
 
+  // Detect non-redundant constraints.
+  std::vector<Bit_Row> non_red;
+  non_redundant_matrix_entries(non_red);
+
+  // 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);
+  assert(x_copy_before == x_copy_after);
+  assert(x.is_strongly_reduced());
+  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.
+  assert(space_dim > 0 && !marked_empty() && marked_strongly_closed());
+  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
@@ -2206,18 +2243,14 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
   compute_leaders(successor, no_sing_leaders, exist_sing_class, sing_leader);
   const dimension_type num_no_sing_leaders = no_sing_leaders.size();
 
-  Octagonal_Shape aux(space_dim);
-  // Step 2: add to auxiliary octagon only non-redundant
-  // constraints and construct a 0-cycle using only
-  // the leaders of the non-singular classes.
+  // 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];
     const dimension_type ci = coherent_index(i);
-    typename OR_Matrix<N>::const_row_reference_type m_i =
-      *(matrix.row_begin()+i);
-    typename OR_Matrix<N>::row_reference_type aux_i =
-      *(aux.matrix.row_begin()+i);
-    if (i%2 == 0) {
+    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
@@ -2227,18 +2260,18 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
         dimension_type j = i;
         dimension_type next_j = successor[j];
         while (j != next_j) {
-          aux.matrix[next_j][j] = matrix[next_j][j];
+          nr_rows[next_j].set(j);
           j = next_j;
           next_j = successor[j];
         }
         const dimension_type cj = coherent_index(j);
-        aux.matrix[cj][ci] = matrix[cj][ci];
+        nr_rows[cj].set(ci);
       }
     }
 
-    dimension_type rs_li = (li%2) ? li :li+1;
+    dimension_type rs_li = (li % 2 != 0) ? li :li+1;
     // Check if the constraint is redundant.
-    DIRTY_TEMP(N, tmp);
+    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);
@@ -2251,10 +2284,9 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
       if (j != ci) {
         add_assign_r(tmp, m_i_ci, matrix[cj][j], ROUND_UP);
         div2exp_assign_r(tmp, tmp, 1, ROUND_UP);
-        if (m_i_j >= tmp) {
-          to_add = false;
+        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
@@ -2288,9 +2320,9 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
         }
       }
 
-      // The constraint is not redundant.
       if (to_add)
-        aux_i[j] = m_i_j;
+        // The constraint is not redundant.
+        nr_rows[i].set(j);
     }
   }
 
@@ -2299,40 +2331,22 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
   // variables.
   // Note: the singular class is not connected with the other classes.
   if (exist_sing_class) {
-    aux.matrix[sing_leader][sing_leader+1]
-      = matrix[sing_leader][sing_leader+1];
+    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) {
-        aux.matrix[next_jj][j] = matrix[next_jj][j];
+        nr_rows[next_jj].set(j);
         j = next_jj;
         next_jj = successor[j+1];
       }
-      aux.matrix[j+1][j] = matrix[j+1][j];
+      nr_rows[j+1].set(j);
     }
     else
-      aux.matrix[sing_leader+1][sing_leader]
-        = matrix[sing_leader+1][sing_leader];
+      nr_rows[sing_leader+1].set(sing_leader);
   }
-
-  Octagonal_Shape<T>& x = const_cast<Octagonal_Shape<T>&>(*this);
-  aux.reset_strongly_closed();
-
-#ifndef NDEBUG
-  {
-    // We assume that `aux' is equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = aux;
-    assert(x_copy == y_copy);
-  }
-#endif
-
-  std::swap(x, aux);
-  assert(is_strongly_reduced());
 }
 
-
 template <typename T>
 void
 Octagonal_Shape<T>::upper_bound_assign(const Octagonal_Shape& y) {
@@ -2427,11 +2441,251 @@ Octagonal_Shape<T>::difference_assign(const Octagonal_Shape& y) {
 
 template <typename T>
 bool
-Octagonal_Shape<T>
-::simplify_using_context_assign(const Octagonal_Shape& y) {
-  // FIXME: provide a real implementation.
-  used(y);
-  return true;
+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);
+
+  // 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();
+  }
+
+  // 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;
+  }
+
+  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;
+
+  // 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;
+      }
+      // 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;
+      }
+
+    // Not found: we were not able to build a constraint contradicting
+    // one of the constraints in `y': `x' cannot be enlarged.
+    return false;
+
+  found:
+    // Found: build a new OS contradicting the constraint found.
+    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);
+    assert(!is_plus_infinity(res.matrix_at(j, i)));
+    x.swap(res);
+    return false;
+  }
+
+  // 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();
+
+  // 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();
+  assert(x_num_nonred > 0);
+
+  // 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;
+
+  // 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);
+
+  // 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;
+      }
+    }
+  }
+
+  // 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);
+    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);
+    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;
+      }
+    }
+  }
+
+  // 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");
 }
 
 template <typename T>
@@ -2774,9 +3028,9 @@ Octagonal_Shape<T>
   bool is_oct_changed = false;
 
   // Allocate temporaries outside of the loop.
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(term);
+  PPL_DIRTY_TEMP(N, d);
 
   for (Constraint_System::const_iterator cs_i = cs.begin(),
          cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
@@ -2813,7 +3067,7 @@ Octagonal_Shape<T>
         }
         else {
           // Select the right row of the cell.
-          if (i%2 == 0) {
+          if (i % 2 == 0) {
             ++i_iter;
             ++lo_iter;
           }
@@ -3064,7 +3318,7 @@ Octagonal_Shape<T>
   assert(sc_den > 0);
   assert(!is_plus_infinity(ub_v));
 
-  DIRTY_TEMP0(mpq_class, mpq_sc_den);
+  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'.
@@ -3072,14 +3326,14 @@ Octagonal_Shape<T>
   typename OR_Matrix<N>::row_reference_type m_cv = matrix[n_v+1];
 
   // Speculatively allocate temporaries out of the loop.
-  DIRTY_TEMP(N, half);
-  DIRTY_TEMP0(mpq_class, minus_lb_u);
-  DIRTY_TEMP0(mpq_class, q);
-  DIRTY_TEMP0(mpq_class, minus_q);
-  DIRTY_TEMP0(mpq_class, ub_u);
-  DIRTY_TEMP0(mpq_class, lb_u);
-  DIRTY_TEMP(N, up_approx);
-  TEMP_INTEGER(minus_expr_u);
+  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);
 
   for (dimension_type u_id = last_id+1; u_id-- > 0; ) {
     // Skip the case when `u_id == v_id'.
@@ -3183,7 +3437,7 @@ Octagonal_Shape<T>
   assert(sc_den > 0);
   assert(!is_plus_infinity(minus_lb_v));
 
-  DIRTY_TEMP0(mpq_class, mpq_sc_den);
+  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'.
@@ -3191,12 +3445,12 @@ Octagonal_Shape<T>
   typename OR_Matrix<N>::row_reference_type m_v = matrix[n_v];
 
   // Speculatively allocate temporaries out of the loop.
-  DIRTY_TEMP(N, half);
-  DIRTY_TEMP0(mpq_class, ub_u);
-  DIRTY_TEMP0(mpq_class, q);
-  DIRTY_TEMP0(mpq_class, minus_lb_u);
-  DIRTY_TEMP(N, up_approx);
-  TEMP_INTEGER(minus_expr_u);
+  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);
 
   for (dimension_type u_id = last_id+1; u_id-- > 0; ) {
     // Skip the case when `u_id == v_id'.
@@ -3421,7 +3675,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
   const Row_Iterator m_begin = matrix.row_begin();
   const dimension_type n_var = 2*var_id;
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign(minus_den, denominator);
 
   // Since we are only able to record octagonal differences, we can
@@ -3435,7 +3689,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
   if (t == 0) {
     // Case 1: expr == b.
-    TEMP_INTEGER(two_b);
+    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
     two_b = 2*b;
     switch (relsym) {
     case EQUAL:
@@ -3486,7 +3740,7 @@ Octagonal_Shape<T>::refine(const Variable var,
       break;
     case LESS_OR_EQUAL:
       {
-        DIRTY_TEMP(N, d);
+        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'.
@@ -3509,7 +3763,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
     case GREATER_OR_EQUAL:
       {
-        DIRTY_TEMP(N, d);
+        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'.
@@ -3541,7 +3795,7 @@ Octagonal_Shape<T>::refine(const Variable var,
     // 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);
-    TEMP_INTEGER(minus_b);
+    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;
@@ -3555,7 +3809,7 @@ Octagonal_Shape<T>::refine(const Variable var,
       minus_expr = -expr;
     const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-    DIRTY_TEMP(N, sum);
+    PPL_DIRTY_TEMP(N, sum);
     // Index of variable that is unbounded in `this'.
     PPL_UNINITIALIZED(dimension_type, pinf_index);
     // Number of unbounded variables found.
@@ -3564,7 +3818,7 @@ Octagonal_Shape<T>::refine(const Variable var,
     switch (relsym) {
     case EQUAL:
       {
-        DIRTY_TEMP(N, neg_sum);
+        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.
@@ -3575,10 +3829,10 @@ Octagonal_Shape<T>::refine(const Variable var,
         assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
         // Approximate the homogeneous part of `sc_expr'.
-        DIRTY_TEMP(N, coeff_i);
-        DIRTY_TEMP(N, half);
-        TEMP_INTEGER(minus_sc_i);
-        DIRTY_TEMP(N, minus_coeff_i);
+        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;
@@ -3669,7 +3923,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             // positive, this amounts to rounding downwards, which is
             // achieved as usual by rounding upwards `minus_sc_den'
             // and negating again the result.
-            DIRTY_TEMP(N, down_sc_den);
+            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);
@@ -3677,7 +3931,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           // Add the upper bound constraint, if meaningful.
           if (pinf_count == 0) {
             // Add the constraint `v <= sum'.
-            DIRTY_TEMP(N, double_sum);
+            PPL_DIRTY_TEMP(N, double_sum);
             mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
             matrix[n_var+1][n_var] = double_sum;
             // Deduce constraints of the form `v +/- u', where `u != v'.
@@ -3714,7 +3968,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             // positive, this amounts to rounding downwards, which is
             // achieved as usual by rounding upwards `minus_sc_den'
             // and negating again the result.
-            DIRTY_TEMP(N, down_sc_den);
+            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);
@@ -3722,7 +3976,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           // Add the lower bound constraint, if meaningful.
           if (neg_pinf_count == 0) {
             // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-            DIRTY_TEMP(N, double_neg_sum);
+            PPL_DIRTY_TEMP(N, double_neg_sum);
             mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
             matrix[n_var][n_var+1] = double_neg_sum;
             // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -3763,9 +4017,9 @@ Octagonal_Shape<T>::refine(const Variable var,
         assign_r(sum, sc_b, ROUND_UP);
 
         // Approximate the homogeneous part of `sc_expr'.
-        DIRTY_TEMP(N, coeff_i);
-        DIRTY_TEMP(N, approx_i);
-        TEMP_INTEGER(minus_sc_i);
+        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;
@@ -3803,7 +4057,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           // 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.
-          DIRTY_TEMP(N, down_sc_den);
+          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);
@@ -3811,7 +4065,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
         if (pinf_count == 0) {
           // Add the constraint `v <= sum'.
-          DIRTY_TEMP(N, double_sum);
+          PPL_DIRTY_TEMP(N, double_sum);
           mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
           add_octagonal_constraint(n_var+1, n_var, double_sum);
           // Deduce constraints of the form `v +/- u', where `u != v'.
@@ -3849,9 +4103,9 @@ Octagonal_Shape<T>::refine(const Variable var,
         assign_r(sum, minus_sc_b, ROUND_UP);
 
         // Approximate the homogeneous part of `-sc_expr'.
-        DIRTY_TEMP(N, coeff_i);
-        DIRTY_TEMP(N, approx_i);
-        TEMP_INTEGER(minus_sc_i);
+        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();
@@ -3888,7 +4142,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           // 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.
-          DIRTY_TEMP(N, down_sc_den);
+          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);
@@ -3896,7 +4150,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
         if (pinf_count == 0) {
           // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-          DIRTY_TEMP(N, double_sum);
+          PPL_DIRTY_TEMP(N, double_sum);
           mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
           add_octagonal_constraint(n_var, n_var+1, double_sum);
           // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -3983,7 +4237,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
 
   const dimension_type n_var = 2*var_id;
   const Coefficient& b = expr.inhomogeneous_term();
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
@@ -3999,7 +4253,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     // Case 1: expr == b.
     // Remove all constraints on `var'.
     forget_all_octagonal_constraints(var_id);
-    TEMP_INTEGER(two_b);
+    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);
@@ -4022,18 +4276,24 @@ Octagonal_Shape<T>::affine_image(const Variable var,
           else {
             // Translate all the constraints on `var' adding or
             // subtracting the value `b/denominator'.
-            DIRTY_TEMP(N, d);
+            PPL_DIRTY_TEMP(N, d);
             div_round_up(d, b, denominator);
-            DIRTY_TEMP(N, minus_d);
+            PPL_DIRTY_TEMP(N, minus_d);
             div_round_up(minus_d, b, minus_den);
             const Row_Iterator m_begin = matrix.row_begin();
             const Row_Iterator m_end = matrix.row_end();
             Row_Iterator m_iter = m_begin + n_var;
-            N& m_v_cv = (*m_iter)[n_var+1];
+            Row_Reference m_v = *m_iter;
             ++m_iter;
-            N& m_cv_v = (*m_iter)[n_var];
+            Row_Reference m_cv = *m_iter;
             ++m_iter;
-            // NOTE: delay update of m_v_cv and m_cv_v.
+            // 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);
+            }
             for ( ; m_iter != m_end; ++m_iter) {
               Row_Reference m_i = *m_iter;
               N& m_i_v = m_i[n_var];
@@ -4041,10 +4301,12 @@ Octagonal_Shape<T>::affine_image(const Variable var,
               N& m_i_cv = m_i[n_var+1];
               add_assign_r(m_i_cv, m_i_cv, minus_d, ROUND_UP);
             }
-            // Now update m_v_cv and m_cv_v.
+            // Now update unary constraints on var.
             mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+            N& m_cv_v = m_cv[n_var];
             add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
             mul2exp_assign_r(minus_d, minus_d, 1, ROUND_IGNORE);
+            N& m_v_cv = m_v[n_var+1];
             add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
            }
           reset_strongly_closed();
@@ -4063,23 +4325,14 @@ Octagonal_Shape<T>::affine_image(const Variable var,
           // Strong closure is not preserved.
           reset_strongly_closed();
           if (b != 0) {
-            // Translate all the constraints on `var' adding or
-            // subtracting the value `b/denominator'.
-            DIRTY_TEMP(N, d);
+            // Translate the unary constraints on `var',
+            // adding or subtracting the value `b/denominator'.
+            PPL_DIRTY_TEMP(N, d);
             div_round_up(d, b, denominator);
-            DIRTY_TEMP(N, minus_d);
-            div_round_up(minus_d, b, minus_den);
-            ++m_iter;
-            for (const Row_Iterator m_end
-                   = matrix.row_end(); 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);
-            }
             mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
             add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
+            PPL_DIRTY_TEMP(N, minus_d);
+            div_round_up(minus_d, b, minus_den);
             mul2exp_assign_r(minus_d, minus_d, 1, ROUND_IGNORE);
             add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
           }
@@ -4132,7 +4385,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   // Note: approximating `-expr' from above and then negating the
   // result is the same as approximating `expr' from below.
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
   neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
 
   const Coefficient& sc_b = is_sc ? b : minus_b;
@@ -4147,8 +4400,8 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     minus_expr = -expr;
   const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-  DIRTY_TEMP(N, pos_sum);
-  DIRTY_TEMP(N, neg_sum);
+  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);
@@ -4161,10 +4414,10 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
   // Approximate the homogeneous part of `sc_expr'.
-  DIRTY_TEMP(N, coeff_i);
-  DIRTY_TEMP(N, minus_coeff_i);
-  DIRTY_TEMP(N, half);
-  TEMP_INTEGER(minus_sc_i);
+  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();
@@ -4258,7 +4511,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -4266,7 +4519,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     // Add the upper bound constraint, if meaningful.
     if (pos_pinf_count == 0) {
       // Add the constraint `v <= pos_sum'.
-      DIRTY_TEMP(N, double_pos_sum);
+      PPL_DIRTY_TEMP(N, double_pos_sum);
       mul2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_IGNORE);
       matrix[n_var+1][n_var] = double_pos_sum;
       // Deduce constraints of the form `v +/- u', where `u != v'.
@@ -4301,7 +4554,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -4309,7 +4562,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     // Add the lower bound constraint, if meaningful.
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-      DIRTY_TEMP(N, double_neg_sum);
+      PPL_DIRTY_TEMP(N, double_neg_sum);
       mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
       matrix[n_var][n_var+1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -4436,7 +4689,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
     }
     else {
       // The transformation is invertible.
-      TEMP_INTEGER(minus_coeff_v);
+      PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_v);
       neg_assign(minus_coeff_v, coeff_v);
       Linear_Expression inverse = ((minus_coeff_v - denominator)*var);
       inverse += expr;
@@ -4518,7 +4771,7 @@ 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();
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
@@ -4532,7 +4785,7 @@ Octagonal_Shape<T>
 
   if (t == 0) {
     // Case 1: expr = b.
-    TEMP_INTEGER(two_b);
+    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
     two_b = 2*b;
     // Remove all constraints on `var'.
     forget_all_octagonal_constraints(var_id);
@@ -4564,7 +4817,7 @@ Octagonal_Shape<T>
       switch (relsym) {
       case LESS_OR_EQUAL:
         {
-          DIRTY_TEMP(N, d);
+          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.
@@ -4632,7 +4885,7 @@ Octagonal_Shape<T>
 
       case GREATER_OR_EQUAL:
         {
-          DIRTY_TEMP(N, d);
+          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.
@@ -4720,7 +4973,7 @@ Octagonal_Shape<T>
   // a constraint providing an upper or a lower bound for `v'
   // (depending on `relsym').
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  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;
@@ -4734,7 +4987,7 @@ Octagonal_Shape<T>
     minus_expr = -expr;
   const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-  DIRTY_TEMP(N, sum);
+  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.
@@ -4748,9 +5001,9 @@ Octagonal_Shape<T>
       // Approximate the inhomogeneous term.
       assign_r(sum, sc_b, ROUND_UP);
       // Approximate the homogeneous part of `sc_expr'.
-      DIRTY_TEMP(N, coeff_i);
-      DIRTY_TEMP(N, approx_i);
-      TEMP_INTEGER(minus_sc_i);
+      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;
@@ -4798,7 +5051,7 @@ Octagonal_Shape<T>
         // positive, this amounts to rounding downwards, which is
         // achieved as usual by rounding upwards
         // `minus_sc_den' and negating again the result.
-        DIRTY_TEMP(N, down_sc_den);
+        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);
@@ -4806,7 +5059,7 @@ Octagonal_Shape<T>
 
       if (pinf_count == 0) {
         // Add the constraint `v <= pos_sum'.
-        DIRTY_TEMP(N, double_sum);
+        PPL_DIRTY_TEMP(N, double_sum);
         mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
         matrix[n_var+1][n_var] = double_sum;
         // Deduce constraints of the form `v +/- u', where `u != v'.
@@ -4843,9 +5096,9 @@ Octagonal_Shape<T>
 
       // Approximate the inhomogeneous term.
       assign_r(sum, minus_sc_b, ROUND_UP);
-      DIRTY_TEMP(N, coeff_i);
-      TEMP_INTEGER(minus_sc_i);
-      DIRTY_TEMP(N, approx_i);
+      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; ) {
@@ -4893,7 +5146,7 @@ Octagonal_Shape<T>
         // positive, this amounts to rounding downwards, which is
         // achieved as usual by rounding upwards
         // `minus_sc_den' and negating again the result.
-        DIRTY_TEMP(N, down_sc_den);
+        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);
@@ -4901,7 +5154,7 @@ Octagonal_Shape<T>
 
       if (pinf_count == 0) {
         // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-        DIRTY_TEMP(N, double_sum);
+        PPL_DIRTY_TEMP(N, double_sum);
         mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
         matrix[n_var][n_var+1] = double_sum;
         // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -5185,7 +5438,7 @@ 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();
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
@@ -5203,7 +5456,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
                              LESS_OR_EQUAL,
                              ub_expr,
                              denominator);
-    TEMP_INTEGER(two_b);
+    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);
@@ -5279,7 +5532,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   // Note: approximating `-expr' from above and then negating the
   // result is the same as approximating `expr' from below.
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
   neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
 
   const Coefficient& minus_sc_b = is_sc ? minus_b : b;
@@ -5293,7 +5546,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     minus_expr = -lb_expr;
   const Linear_Expression& sc_expr = is_sc ? lb_expr : minus_expr;
 
-  DIRTY_TEMP(N, neg_sum);
+  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.
@@ -5303,10 +5556,10 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
   // Approximate the homogeneous part of `sc_expr'.
-  DIRTY_TEMP(N, coeff_i);
-  DIRTY_TEMP(N, minus_coeff_i);
-  DIRTY_TEMP(N, half);
-  TEMP_INTEGER(minus_sc_i);
+  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;
@@ -5376,7 +5629,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -5384,7 +5637,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     // Add the lower bound constraint, if meaningful.
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-      DIRTY_TEMP(N, double_neg_sum);
+      PPL_DIRTY_TEMP(N, double_neg_sum);
       mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
       matrix[n_var][n_var+1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -5469,7 +5722,7 @@ Octagonal_Shape<T>
       ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
     const Linear_Expression inverse
       = expr - (expr_v + denominator)*var;
-    TEMP_INTEGER(inverse_den);
+    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;
@@ -5711,7 +5964,7 @@ Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
   add_space_dimensions_and_embed(1);
   const Linear_Expression lb_inverse
     = lb_expr - (expr_v + denominator)*var;
-  TEMP_INTEGER(inverse_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(inverse_den);
   neg_assign(inverse_den, expr_v);
   affine_image(new_var, lb_inverse, inverse_den);
   strong_closure_assign();
@@ -5747,8 +6000,8 @@ Octagonal_Shape<T>::constraints() const {
     Row_Iterator m_begin = matrix.row_begin();
     Row_Iterator m_end = matrix.row_end();
 
-    TEMP_INTEGER(a);
-    TEMP_INTEGER(b);
+    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; ) {
@@ -5886,7 +6139,7 @@ Octagonal_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
     }
     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) ? *(j_iter-1) : *(j_iter+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];
     }
@@ -5959,7 +6212,7 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
       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) ? *(j_iter-1) : *(j_iter+1);
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
       if (n_var == min_id) {
         max_assign(m_cj[n_var+1], m_tbf[j]);
         max_assign(m_cj[n_var], m_ctbf[j]);
@@ -5976,7 +6229,7 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
     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) ? *(j_iter-1) : *(j_iter+1);
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
       max_assign(m_cj[n_var+1], m_cj[tbf_var+1]);
       max_assign(m_cj[n_var], m_cj[tbf_var]);
       max_assign(m_j[n_var], m_j[tbf_var]);
@@ -5986,6 +6239,156 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
   remove_space_dimensions(to_be_folded);
 }
 
+template <typename T>
+bool
+Octagonal_Shape<T>
+::BHZ09_upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const Octagonal_Shape& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
+
+  // Private method: the caller must ensure the following.
+  assert(x_space_dim == y.space_dimension());
+
+  // 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;
+  }
+
+  // Here both `x' and `y' are known to be non-empty.
+  assert(x.marked_strongly_closed());
+  assert(y.marked_strongly_closed());
+  // Pre-compute the upper bound of `x' and `y'.
+  Octagonal_Shape<T> ub(x);
+  ub.upper_bound_assign(y);
+
+  // 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);
+
+  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);
+
+  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();
+
+  for (dimension_type i = n_rows; i-- > 0; ) {
+    const Bit_Row& x_non_red_i = x_non_red[i];
+    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]);
+
+        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;
+        }
+      }
+    }
+  }
+
+  // The upper bound of x and y is indeed exact.
+  swap(ub);
+  assert(OK());
+  return true;
+}
+
 /*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
 template <typename T>
 std::ostream&
@@ -6011,8 +6414,8 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
   Row_Iterator m_end = x.matrix.row_end();
 
   // Temporaries.
-  DIRTY_TEMP(N, negation);
-  DIRTY_TEMP(N, half);
+  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; ) {
diff --git a/src/Octagonal_Shape.types.hh b/src/Octagonal_Shape.types.hh
index eb9e47d..7781bc8 100644
--- a/src/Octagonal_Shape.types.hh
+++ b/src/Octagonal_Shape.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Og_Status.idefs.hh b/src/Og_Status.idefs.hh
index 5d844cf..e5e1d73 100644
--- a/src/Og_Status.idefs.hh
+++ b/src/Og_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape<T>::Status class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Og_Status.inlines.hh b/src/Og_Status.inlines.hh
index ef8315a..9c339a5 100644
--- a/src/Og_Status.inlines.hh
+++ b/src/Og_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* Octagonal_Shape<T>::Status class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -196,7 +196,7 @@ template <typename T>
 inline bool
 Octagonal_Shape<T>::Status::ascii_load(std::istream& s) {
   using namespace Implementation::Octagonal_Shapes;
-  bool positive;
+  PPL_UNINITIALIZED(bool, positive);
 
   if (!get_field(s, zero_dim_univ, positive))
     return false;
diff --git a/src/Partially_Reduced_Product.defs.hh b/src/Partially_Reduced_Product.defs.hh
index b2d22f4..b1097aa 100644
--- a/src/Partially_Reduced_Product.defs.hh
+++ b/src/Partially_Reduced_Product.defs.hh
@@ -1,5 +1,5 @@
 /* Partially_Reduced_Product class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,7 +25,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "Partially_Reduced_Product.types.hh"
 #include "globals.types.hh"
-#include "globals.defs.hh"
+#include "Coefficient.defs.hh"
+#include "Variable.types.hh"
+#include "Variables_Set.types.hh"
+#include "Linear_Expression.types.hh"
 #include "Constraint.types.hh"
 #include "Generator.types.hh"
 #include "Congruence.types.hh"
@@ -36,7 +39,12 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Grid_Generator_System.types.hh"
 #include "Poly_Con_Relation.defs.hh"
 #include "Poly_Gen_Relation.defs.hh"
-#include "Variables_Set.types.hh"
+#include "C_Polyhedron.types.hh"
+#include "NNC_Polyhedron.types.hh"
+#include "Grid.types.hh"
+#include "Box.types.hh"
+#include "BD_Shape.types.hh"
+#include "Octagonal_Shape.types.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -323,9 +331,13 @@ public:
     \param cgs
     The system of congruences to be approximated by the pair.
 
+    \exception std::invalid_argument
+    Thrown if the system of congruences is imcompatible with one of the
+    components.
+
     \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
+    Thrown if the space dimension of \p cgs exceeds the maximum allowed
+    space dimension.
   */
   explicit Partially_Reduced_Product(const Congruence_System& cgs);
 
@@ -337,9 +349,13 @@ public:
     The system of congruences to be approximates by the pair.
     Its data-structures may be recycled to build the pair.
 
+    \exception std::invalid_argument
+    Thrown if the system of congruences is imcompatible with one of the
+    components.
+
     \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
+    Thrown if the space dimension of \p cgs exceeds the maximum allowed
+    space dimension.
   */
   explicit Partially_Reduced_Product(Congruence_System& cgs);
 
@@ -350,9 +366,13 @@ public:
     \param cs
     The system of constraints to be approximated by the pair.
 
+    \exception std::invalid_argument
+    Thrown if the system of constraints is imcompatible with one of the
+    components.
+
     \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
+    Thrown if the space dimension of \p cs exceeds the maximum allowed
+    space dimension.
   */
   explicit Partially_Reduced_Product(const Constraint_System& cs);
 
@@ -363,6 +383,10 @@ public:
     \param cs
     The system of constraints to be approximated by the pair.
 
+    \exception std::invalid_argument
+    Thrown if the system of constraints is imcompatible with one of the
+    components.
+
     \exception std::length_error
     Thrown if the space dimension of \p cs exceeds the maximum allowed
     space dimension.
@@ -444,8 +468,8 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p box exceeds the maximum
-    allowed space dimension.
+    Thrown if the space dimension of \p box exceeds the maximum allowed
+    space dimension.
   */
   template <typename Interval>
   Partially_Reduced_Product(const Box<Interval>& box,
@@ -463,8 +487,8 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p bd exceeds the maximum
-    allowed space dimension.
+    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,
@@ -482,8 +506,8 @@ public:
     The complexity is ignored.
 
     \exception std::length_error
-    Thrown if the space dimension of \p os exceeds the maximum
-    allowed space dimension.
+    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,
@@ -495,7 +519,23 @@ public:
 
   //! Builds a conservative, upward approximation of \p y.
   /*!
-    The complexity argument is ignored.
+    Builds a product containing \p y 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 y.
+    The product inherits the space dimension of y.
+
+    \param y
+    The product to be approximated.
+
+    \param complexity
+    The complexity that will not be exceeded.
+
+    \exception std::length_error
+    Thrown if the space dimension of \p y exceeds the maximum allowed
+    space dimension.
+
+    The built product is independent of the order of the components of \p y.
   */
   template <typename E1, typename E2, typename S>
   explicit
@@ -1217,8 +1257,8 @@ public:
 
   // 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.
+  // CHECKME: This is a real widening for all the existing reduction
+  // operations. When new reductions are added, this must be rechecked.
 
   /*! \brief
     Assigns to \p *this the result of computing the
@@ -1491,6 +1531,25 @@ protected:
     to each other and the reduction class.
   */
   bool reduced;
+
+#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;
+
+
+  // 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(const char* method,
+					     const char* reason);
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //@} // Exception Throwers
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+
 };
 
 namespace Parma_Polyhedra_Library {
@@ -1529,5 +1588,6 @@ void swap(Parma_Polyhedra_Library::Partially_Reduced_Product<D1, D2, R>& x,
 } // namespace std
 
 #include "Partially_Reduced_Product.inlines.hh"
+#include "Partially_Reduced_Product.templates.hh"
 
 #endif // !defined(PPL_Partially_Reduced_Product_defs_hh)
diff --git a/src/Partially_Reduced_Product.inlines.hh b/src/Partially_Reduced_Product.inlines.hh
index 5a4d016..a6f209d 100644
--- a/src/Partially_Reduced_Product.inlines.hh
+++ b/src/Partially_Reduced_Product.inlines.hh
@@ -1,5 +1,5 @@
 /* Partially_Reduced_Product class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,7 +23,11 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_Partially_Reduced_Product_inlines_hh
 #define PPL_Partially_Reduced_Product_inlines_hh 1
 
-#include "compiler.hh"
+#include "Constraint_System.defs.hh"
+#include "Congruence_System.defs.hh"
+#include "C_Polyhedron.defs.hh"
+#include "NNC_Polyhedron.defs.hh"
+#include "Grid.defs.hh"
 
 namespace Parma_Polyhedra_Library {
 
@@ -38,7 +42,14 @@ 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) {
+  : d1(num_dimensions <= max_space_dimension()
+       ?  num_dimensions
+       : (throw_space_dimension_overflow
+               ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+                "n exceeds the maximum "
+                "allowed space dimension"),
+	       0), kind),
+    d2(num_dimensions, kind) {
   set_reduced_flag();
 }
 
@@ -46,7 +57,14 @@ 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) {
+  : d1((ccgs.space_dimension() <= max_space_dimension())
+       ?  ccgs
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of ccgs "
+           "exceeds the maximum allowed "
+           "space dimension"), ccgs)),
+    d2(ccgs) {
   clear_reduced_flag();
 }
 
@@ -54,7 +72,14 @@ 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) {
+  : d1((cgs.space_dimension() <= max_space_dimension())
+       ? const_cast<const Congruence_System&>(cgs)
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of cgs "
+           "exceeds the maximum allowed "
+           "space dimension"), cgs)),
+    d2(cgs) {
   clear_reduced_flag();
 }
 
@@ -62,7 +87,14 @@ 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) {
+  : d1((ccs.space_dimension() <= max_space_dimension())
+       ?  ccs
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of ccs "
+           "exceeds the maximum allowed "
+           "space dimension"), ccs)),
+    d2(ccs) {
   clear_reduced_flag();
 }
 
@@ -70,7 +102,14 @@ 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) {
+  : d1((cs.space_dimension() <= max_space_dimension())
+       ? const_cast<const Constraint_System&>(cs)
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of cs "
+           "exceeds the maximum allowed "
+           "space dimension"), cs)),
+    d2(cs) {
   clear_reduced_flag();
 }
 
@@ -79,7 +118,14 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const C_Polyhedron& ph,
                             Complexity_Class complexity)
-  : d1(ph, complexity), d2(ph, complexity) {
+  : d1((ph.space_dimension() <= max_space_dimension())
+       ? ph
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of ph "
+           "exceeds the maximum allowed "
+           "space dimension"), ph), complexity),
+   d2(ph, complexity) {
   set_reduced_flag();
 }
 
@@ -88,7 +134,14 @@ inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const NNC_Polyhedron& ph,
                             Complexity_Class complexity)
-  : d1(ph, complexity), d2(ph, complexity) {
+ : d1((ph.space_dimension() <= max_space_dimension())
+       ? ph
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of ph "
+           "exceeds the maximum allowed "
+           "space dimension"), ph), complexity),
+   d2(ph, complexity) {
   set_reduced_flag();
 }
 
@@ -96,7 +149,14 @@ 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) {
+ : d1((gr.space_dimension() <= max_space_dimension())
+       ? gr
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of gr "
+           "exceeds the maximum allowed "
+           "space dimension"), gr)),
+   d2(gr) {
   set_reduced_flag();
 }
 
@@ -105,7 +165,14 @@ template <typename Interval>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Box<Interval>& box, Complexity_Class)
-  : d1(box), d2(box) {
+ : d1((box.space_dimension() <= max_space_dimension())
+       ? box
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of box "
+           "exceeds the maximum allowed "
+           "space dimension"), box)),
+   d2(box) {
   set_reduced_flag();
 }
 
@@ -114,7 +181,14 @@ template <typename U>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const BD_Shape<U>& bd, Complexity_Class)
-  : d1(bd), d2(bd) {
+ : d1((bd.space_dimension() <= max_space_dimension())
+       ? bd
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of bd "
+           "exceeds the maximum allowed "
+           "space dimension"), bd)),
+   d2(bd) {
   set_reduced_flag();
 }
 
@@ -123,7 +197,14 @@ template <typename U>
 inline
 Partially_Reduced_Product<D1, D2, R>
 ::Partially_Reduced_Product(const Octagonal_Shape<U>& os, Complexity_Class)
-  : d1(os), d2(os) {
+ : d1((os.space_dimension() <= max_space_dimension())
+       ? os
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of os "
+           "exceeds the maximum allowed "
+           "space dimension"), os)),
+   d2(os) {
   set_reduced_flag();
 }
 
@@ -137,18 +218,6 @@ Partially_Reduced_Product<D1, D2, R>
 }
 
 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.domain1(), complexity), d2(y.domain2(), complexity) {
-  /* 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();
-}
-
-template <typename D1, typename D2, typename R>
 inline
 Partially_Reduced_Product<D1, D2, R>::~Partially_Reduced_Product() {
 }
@@ -216,7 +285,6 @@ Partially_Reduced_Product<D1, D2, R>
   y.reduce();
   d1.difference_assign(y.d1);
   d2.difference_assign(y.d2);
-  // FIXME: check this.
   clear_reduced_flag();
 }
 
@@ -322,7 +390,6 @@ Partially_Reduced_Product<D1, D2, R>
                        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);
-  // FIXME: check this.
   clear_reduced_flag();
 }
 
@@ -335,7 +402,6 @@ Partially_Reduced_Product<D1, D2, R>
                           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);
-  // FIXME: check this.
   clear_reduced_flag();
 }
 
@@ -344,10 +410,9 @@ 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);
-  // FIXME: check this.
-  clear_reduced_flag();
 }
 
 template <typename D1, typename D2, typename R>
@@ -528,11 +593,6 @@ inline void
 Partially_Reduced_Product<D1, D2, R>
 ::widening_assign(const Partially_Reduced_Product& y,
                   unsigned* tp) {
-  // FIXME: 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);
@@ -657,7 +717,6 @@ Partially_Reduced_Product<D1, D2, R>::set_reduced_flag() const {
   const_cast<Partially_Reduced_Product&>(*this).reduced = true;
 }
 
-// FIXME: Improve this name.
 PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(D1, D2, R, Partially_Reduced_Product)
 
 template <typename D1, typename D2, typename R>
@@ -707,6 +766,16 @@ IO_Operators::operator<<(std::ostream& s, const Partially_Reduced_Product<D1, D2
 	   << pd.d2;
 }
 
+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 << "Partially_Reduced_Product<D1, D2, R>::" << method << ":" << std::endl
+    << reason << ".";
+  throw std::length_error(s.str());
+}
+
 } // namespace Parma_Polyhedra_Library
 
 namespace Parma_Polyhedra_Library {
@@ -727,25 +796,17 @@ No_Reduction<D1, D2>::~No_Reduction() {
 
 template <typename D1, typename D2>
 inline
-Constraints_Reduction<D1, D2>::Constraints_Reduction() {
+Smash_Reduction<D1, D2>::Smash_Reduction() {
 }
 
 template <typename D1, typename D2>
-void Constraints_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);
-  }
-  else {
-    d1.refine_with_constraints(d2.minimized_constraints());
-    d2.refine_with_constraints(d1.minimized_constraints());
-  }
+inline
+Smash_Reduction<D1, D2>::~Smash_Reduction() {
+}
+
+template <typename D1, typename D2>
+inline
+Constraints_Reduction<D1, D2>::Constraints_Reduction() {
 }
 
 template <typename D1, typename D2>
diff --git a/src/Partially_Reduced_Product.templates.hh b/src/Partially_Reduced_Product.templates.hh
index 3c16d52..962bc1e 100644
--- a/src/Partially_Reduced_Product.templates.hh
+++ b/src/Partially_Reduced_Product.templates.hh
@@ -1,6 +1,6 @@
 /* Partially_Reduced_Product class implementation:
    non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,6 +33,30 @@ site: http://www.cs.unipr.it/ppl/ . */
 namespace Parma_Polyhedra_Library {
 
 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() > max_space_dimension())
+       ? (throw_space_dimension_overflow
+       ("Partially_Reduced_Product<D1, D2, R>(y)",
+        "the space dimension of y "
+        "exceeds the maximum allowed "
+        "space dimension"), 0)
+       : y.space_dimension()),
+    d2(y.space_dimension()) {
+  Partially_Reduced_Product<D1, D2, R> x1(y.domain1(), complexity);
+  const Partially_Reduced_Product<D1, D2, R> x2(y.domain2(), complexity);
+  x1.intersection_assign(x2);
+  d1.swap(x1.d1);
+  d2.swap(x1.d2);
+  /* Even if y is reduced, the built product may not be reduced as
+     the reduction method may have changed (i.e., S != R). */
+  reduced = false;
+}
+
+template <typename D1, typename D2, typename R>
 Constraint_System
 Partially_Reduced_Product<D1, D2, R>::constraints() const {
   reduce();
@@ -199,13 +223,19 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& sup_n,
 	   Coefficient& sup_d,
 	   bool& maximum) const {
-  reduce();
+  // If one component is already empty, then there is no need to reduce.
+  if (d1.is_empty() || d2.is_empty())
+    return false;
+
+  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  Coefficient sup1_n;
-  Coefficient sup1_d;
-  Coefficient sup2_n;
-  Coefficient sup2_d;
+  assert(reduced);
+
+  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);
@@ -248,13 +278,19 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& inf_n,
 	   Coefficient& inf_d,
 	   bool& minimum) const {
-  reduce();
+  // If one component is already empty, then there is no need to reduce.
+  if (d1.is_empty() || d2.is_empty())
+    return false;
+
+  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  Coefficient inf1_n;
-  Coefficient inf1_d;
-  Coefficient inf2_n;
-  Coefficient inf2_d;
+  assert(reduced);
+
+  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);
@@ -298,13 +334,19 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& sup_d,
 	   bool& maximum,
 	   Generator& pnt) const {
-  reduce();
+  // If one component is already empty, then there is no need to reduce.
+  if (d1.is_empty() || d2.is_empty())
+    return false;
+
+  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  Coefficient sup1_n;
-  Coefficient sup1_d;
-  Coefficient sup2_n;
-  Coefficient sup2_d;
+  assert(reduced);
+
+  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());
@@ -354,13 +396,19 @@ Partially_Reduced_Product<D1, D2, R>
 	   Coefficient& inf_d,
 	   bool& minimum,
 	   Generator& pnt) const {
-  reduce();
+  // If one component is already empty, then there is no need to reduce.
+  if (d1.is_empty() || d2.is_empty())
+    return false;
+
+  // The product is_empty() test also reduces the product.
   if (is_empty())
     return false;
-  Coefficient inf1_n;
-  Coefficient inf1_d;
-  Coefficient inf2_n;
-  Coefficient inf2_d;
+  assert(reduced);
+
+  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());
@@ -438,15 +486,6 @@ Partially_Reduced_Product<D1, D2, R>::ascii_load(std::istream& s) {
 	  && d2.ascii_load(s));
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace Parma_Polyhedra_Library {
-
-template <typename D1, typename D2>
-inline
-Smash_Reduction<D1, D2>::Smash_Reduction() {
-}
-
 template <typename D1, typename D2>
 void Smash_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
   if (d2.is_empty()) {
@@ -462,8 +501,17 @@ void Smash_Reduction<D1, D2>::product_reduce(D1& d1, D2& d2) {
 }
 
 template <typename D1, typename D2>
-inline
-Smash_Reduction<D1, D2>::~Smash_Reduction() {
+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 {
+    d1.refine_with_constraints(d2.minimized_constraints());
+    d2.refine_with_constraints(d1.minimized_constraints());
+  }
 }
 
 } // namespace Parma_Polyhedra_Library
diff --git a/src/Partially_Reduced_Product.types.hh b/src/Partially_Reduced_Product.types.hh
index 3b548f6..9d41b81 100644
--- a/src/Partially_Reduced_Product.types.hh
+++ b/src/Partially_Reduced_Product.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Ph_Status.cc b/src/Ph_Status.cc
index b0da2ea..5f773a1 100644
--- a/src/Ph_Status.cc
+++ b/src/Ph_Status.cc
@@ -1,5 +1,5 @@
 /* Polyhedron::Status class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -85,7 +85,7 @@ PPL_OUTPUT_DEFINITIONS_ASCII_ONLY(Polyhedron::Status)
 
 bool
 PPL::Polyhedron::Status::ascii_load(std::istream& s) {
-  bool positive;
+  PPL_UNINITIALIZED(bool, positive);
 
   if (!get_field(s, zero_dim_univ, positive))
     return false;
diff --git a/src/Ph_Status.idefs.hh b/src/Ph_Status.idefs.hh
index a013797..ada2f49 100644
--- a/src/Ph_Status.idefs.hh
+++ b/src/Ph_Status.idefs.hh
@@ -1,5 +1,5 @@
 /* Polyhedron::Status class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Ph_Status.inlines.hh b/src/Ph_Status.inlines.hh
index dd03969..285a5f2 100644
--- a/src/Ph_Status.inlines.hh
+++ b/src/Ph_Status.inlines.hh
@@ -1,5 +1,5 @@
 /* Polyhedron::Status class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Pointset_Powerset.cc b/src/Pointset_Powerset.cc
index 82b6c67..e9933db 100644
--- a/src/Pointset_Powerset.cc
+++ b/src/Pointset_Powerset.cc
@@ -1,5 +1,5 @@
 /* Pointset_Powerset class implementation: non-inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -159,11 +159,11 @@ approximate_partition_aux(const PPL::Congruence& c,
   const Coefficient& c_inhomogeneous_term = c.inhomogeneous_term();
   Linear_Expression le(c);
   le -= c_inhomogeneous_term;
-  TEMP_INTEGER(n);
+  PPL_DIRTY_TEMP_COEFFICIENT(n);
   rem_assign(n, c_inhomogeneous_term, c_modulus);
   if (n < 0)
     n += c_modulus;
-  TEMP_INTEGER(i);
+  PPL_DIRTY_TEMP_COEFFICIENT(i);
   for (i = c_modulus; i-- > 0; )
     if (i != n) {
       Grid qqq(qq_copy);
@@ -307,6 +307,21 @@ PPL::Pointset_Powerset<PPL::NNC_Polyhedron>
 
 template <>
 template <>
+PPL::Pointset_Powerset<PPL::NNC_Polyhedron>
+::Pointset_Powerset(const Pointset_Powerset<Grid>& y,
+                    Complexity_Class)
+  : Base(), space_dim(y.space_dimension()) {
+  Pointset_Powerset& x = *this;
+  for (Pointset_Powerset<Grid>::const_iterator i = y.begin(),
+	 y_end = y.end(); i != y_end; ++i)
+    x.sequence.push_back(Determinate<NNC_Polyhedron>
+			 (NNC_Polyhedron(i->element())));
+  x.reduced = false;
+  assert(x.OK());
+}
+
+template <>
+template <>
 PPL::Pointset_Powerset<PPL::C_Polyhedron>
 ::Pointset_Powerset(const Pointset_Powerset<NNC_Polyhedron>& y,
                     Complexity_Class)
diff --git a/src/Pointset_Powerset.defs.hh b/src/Pointset_Powerset.defs.hh
index b2520df..556beb9 100644
--- a/src/Pointset_Powerset.defs.hh
+++ b/src/Pointset_Powerset.defs.hh
@@ -1,5 +1,5 @@
 /* Pointset_Powerset class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -1400,6 +1400,12 @@ Pointset_Powerset<NNC_Polyhedron>
 
 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);
diff --git a/src/Pointset_Powerset.inlines.hh b/src/Pointset_Powerset.inlines.hh
index 9ada867..7dbdc6f 100644
--- a/src/Pointset_Powerset.inlines.hh
+++ b/src/Pointset_Powerset.inlines.hh
@@ -1,5 +1,5 @@
 /* Pointset_Powerset class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Pointset_Powerset.templates.hh b/src/Pointset_Powerset.templates.hh
index 0a28eb9..29196e4 100644
--- a/src/Pointset_Powerset.templates.hh
+++ b/src/Pointset_Powerset.templates.hh
@@ -1,5 +1,5 @@
 /* Pointset_Powerset class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -65,8 +65,18 @@ Pointset_Powerset<NNC_Polyhedron>
 	 y_end = y.end(); i != y_end; ++i)
     x.sequence.push_back(Determinate<NNC_Polyhedron>
 			 (NNC_Polyhedron(i->element(), complexity)));
-  // FIXME: the following is a bug!
+
+  // 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;
+
   assert(x.OK());
 }
 
@@ -946,14 +956,19 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
   x.omega_reduce();
   bool first = true;
 
-  Coefficient supt_n = 0;
-  Coefficient supt_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(supt_d);
+  supt_n = 0;
+  supt_d = 1;
   bool maxt = 0;
 
-  Coefficient supi_n = 0;
-  Coefficient supi_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(supi_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(supi_d);
+  supi_n = 0;
+  supi_d = 1;
   bool maxi = 0;
-  TEMP_INTEGER(tmp);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
@@ -994,16 +1009,21 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
   x.omega_reduce();
   bool first = true;
 
-  Coefficient supt_n = 0;
-  Coefficient supt_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(supt_d);
+  supt_n = 0;
+  supt_d = 1;
   bool maxt = 0;
   Generator gt = point();
 
-  Coefficient supi_n = 0;
-  Coefficient supi_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(supi_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(supi_d);
+  supi_n = 0;
+  supi_d = 1;
   bool maxi = 0;
   Generator gi = point();
-  TEMP_INTEGER(tmp);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
@@ -1048,14 +1068,19 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
   x.omega_reduce();
   bool first = true;
 
-  Coefficient inft_n = 0;
-  Coefficient inft_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(inft_d);
+  inft_n = 0;
+  inft_d = 1;
   bool mint = 0;
 
-  Coefficient infi_n = 0;
-  Coefficient infi_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(infi_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(infi_d);
+  infi_n = 0;
+  infi_d = 1;
   bool mini = 0;
-  TEMP_INTEGER(tmp);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
@@ -1096,16 +1121,21 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
   x.omega_reduce();
   bool first = true;
 
-  Coefficient inft_n = 0;
-  Coefficient inft_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(inft_d);
+  inft_n = 0;
+  inft_d = 1;
   bool mint = 0;
   Generator gt = point();
 
-  Coefficient infi_n = 0;
-  Coefficient infi_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(infi_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(infi_d);
+  infi_n = 0;
+  infi_d = 1;
   bool mini = 0;
   Generator gi = point();
-  TEMP_INTEGER(tmp);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
@@ -1179,8 +1209,6 @@ Pointset_Powerset<PS>::pairwise_reduce() {
 	const PS& pj = sj->element();
 	if (pi.upper_bound_assign_if_exact(pj)) {
 	  marked[si_index] = marked[sj_index] = true;
-	  // FIXME: check whether the preservation of reduction was
-	  // actually meant here.
 	  new_x.add_non_bottom_disjunct_preserve_reduction(pi);
 	  ++deleted;
 	  goto next;
@@ -1235,8 +1263,6 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
       if (pi.contains(pj)) {
 	PS pi_copy = pi;
 	wf(pi_copy, pj);
-	// FIXME: check whether the preservation of reduction was
-	// actually meant here.
 	new_x.add_non_bottom_disjunct_preserve_reduction(pi_copy);
 	marked[i_index] = true;
       }
diff --git a/src/Pointset_Powerset.types.hh b/src/Pointset_Powerset.types.hh
index 7157441..2563a48 100644
--- a/src/Pointset_Powerset.types.hh
+++ b/src/Pointset_Powerset.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 7d759aa..e749c91 100644
--- a/src/Poly_Con_Relation.cc
+++ b/src/Poly_Con_Relation.cc
@@ -1,5 +1,5 @@
 /* Poly_Con_Relation class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Con_Relation.defs.hh b/src/Poly_Con_Relation.defs.hh
index e304229..055205d 100644
--- a/src/Poly_Con_Relation.defs.hh
+++ b/src/Poly_Con_Relation.defs.hh
@@ -1,5 +1,5 @@
 /* Poly_Con_Relation class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Con_Relation.inlines.hh b/src/Poly_Con_Relation.inlines.hh
index 6776431..1b590e0 100644
--- a/src/Poly_Con_Relation.inlines.hh
+++ b/src/Poly_Con_Relation.inlines.hh
@@ -1,5 +1,5 @@
 /* Poly_Con_Relation class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Con_Relation.types.hh b/src/Poly_Con_Relation.types.hh
index f34b738..8466f1e 100644
--- a/src/Poly_Con_Relation.types.hh
+++ b/src/Poly_Con_Relation.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 18a65be..0ff0a90 100644
--- a/src/Poly_Gen_Relation.cc
+++ b/src/Poly_Gen_Relation.cc
@@ -1,5 +1,5 @@
 /* Poly_Gen_Relation class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Gen_Relation.defs.hh b/src/Poly_Gen_Relation.defs.hh
index 510c10a..946334d 100644
--- a/src/Poly_Gen_Relation.defs.hh
+++ b/src/Poly_Gen_Relation.defs.hh
@@ -1,5 +1,5 @@
 /* Poly_Gen_Relation class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Gen_Relation.inlines.hh b/src/Poly_Gen_Relation.inlines.hh
index d568b66..01fc653 100644
--- a/src/Poly_Gen_Relation.inlines.hh
+++ b/src/Poly_Gen_Relation.inlines.hh
@@ -1,5 +1,5 @@
 /* Poly_Gen_Relation class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Poly_Gen_Relation.types.hh b/src/Poly_Gen_Relation.types.hh
index 95d347e..ae9244f 100644
--- a/src/Poly_Gen_Relation.types.hh
+++ b/src/Poly_Gen_Relation.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 aa39341..e12e292 100644
--- a/src/Polyhedron.defs.hh
+++ b/src/Polyhedron.defs.hh
@@ -1,5 +1,5 @@
 /* Polyhedron class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -2603,6 +2603,28 @@ private:
   friend class Parma_Polyhedra_Library::BHRZ03_Certificate;
   friend class Parma_Polyhedra_Library::H79_Certificate;
 
+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.
+
+    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
+
+    \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);
+
+  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
diff --git a/src/Polyhedron.inlines.hh b/src/Polyhedron.inlines.hh
index 7eb6aa5..5b3c335 100644
--- a/src/Polyhedron.inlines.hh
+++ b/src/Polyhedron.inlines.hh
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Polyhedron.templates.hh b/src/Polyhedron.templates.hh
index 0cdad31..c4409a6 100644
--- a/src/Polyhedron.templates.hh
+++ b/src/Polyhedron.templates.hh
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -58,10 +58,10 @@ Polyhedron::Polyhedron(Topology topol,
   // this constraint will be removed at the end.
   con_sys.insert(Variable(space_dim - 1) >= 0);
 
-  TEMP_INTEGER(l_n);
-  TEMP_INTEGER(l_d);
-  TEMP_INTEGER(u_n);
-  TEMP_INTEGER(u_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_d);
 
   if (topol == NECESSARILY_CLOSED) {
     for (dimension_type k = space_dim; k-- > 0; ) {
diff --git a/src/Polyhedron.types.hh b/src/Polyhedron.types.hh
index 943edc8..87655af 100644
--- a/src/Polyhedron.types.hh
+++ b/src/Polyhedron.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 d80d8e9..84bc06b 100644
--- a/src/Polyhedron_chdims.cc
+++ b/src/Polyhedron_chdims.cc
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation
    (non-inline operators that may change the dimension of the vector space).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Polyhedron_nonpublic.cc b/src/Polyhedron_nonpublic.cc
index 5a8b80c..da60e84 100644
--- a/src/Polyhedron_nonpublic.cc
+++ b/src/Polyhedron_nonpublic.cc
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation
    (non-inline private or protected functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -587,7 +587,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.
-  DIRTY_TEMP0(mpq_class, extremum);
+  PPL_DIRTY_TEMP0(mpq_class, extremum);
 
   // True if we have no other candidate extremum to compare with.
   bool first_candidate = true;
@@ -598,7 +598,7 @@ PPL::Polyhedron::max_min(const Linear_Expression& expr,
   // Whether the current candidate extremum is included or not.
   PPL_UNINITIALIZED(bool, ext_included);
 
-  TEMP_INTEGER(sp);
+  PPL_DIRTY_TEMP_COEFFICIENT(sp);
   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);
@@ -617,7 +617,7 @@ PPL::Polyhedron::max_min(const Linear_Expression& expr,
       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.
-      DIRTY_TEMP0(mpq_class, candidate);
+      PPL_DIRTY_TEMP0(mpq_class, candidate);
       assign_r(candidate.get_num(), sp, ROUND_NOT_NEEDED);
       assign_r(candidate.get_den(), gen_sys_i[0], ROUND_NOT_NEEDED);
       candidate.canonicalize();
@@ -643,13 +643,20 @@ PPL::Polyhedron::max_min(const Linear_Expression& expr,
   }
 
   // Add in the constant term in `expr'.
-  DIRTY_TEMP0(mpz_class, n);
+  PPL_DIRTY_TEMP0(mpz_class, n);
   assign_r(n, expr.inhomogeneous_term(), ROUND_NOT_NEEDED);
   extremum += n;
 
   // The polyhedron is bounded in the right direction and we have
   // computed the extremum: write the result into the caller's structures.
   assert(!first_candidate);
+  // FIXME: avoid these temporaries, if possible.
+  // This can be done adding an `assign' function working on native
+  // and checked or an operator= that have on one side a checked and
+  // on the other a native or checked.
+  // The reason why now we can't use operator= is the fact that we
+  // still can have Coefficient defined to mpz_class (and not
+  // Checked_Number<mpz_class>).
   ext_n = Coefficient(extremum.get_num());
   ext_d = Coefficient(extremum.get_den());
   included = ext_included;
@@ -1408,6 +1415,624 @@ PPL::Polyhedron::refine_no_check(const Constraint& c) {
   assert(OK());
 }
 
+bool
+PPL::Polyhedron::BHZ09_poly_hull_assign_if_exact(const Polyhedron& y) {
+  Polyhedron& x = *this;
+
+  // Private method: the caller must ensure the following.
+  assert(x.topology() == y.topology());
+  assert(x.space_dim == y.space_dim);
+
+  // The zero-dim case is trivial.
+  if (x.space_dim == 0) {
+    x.upper_bound_assign(y);
+    return true;
+  }
+
+  // If `x' or `y' are (known to be) empty, the upper bound is exact.
+  if (x.marked_empty()) {
+    x = y;
+    return true;
+  }
+  else if (y.is_empty())
+    return true;
+  else if (x.is_empty()) {
+    x = y;
+    return true;
+  }
+
+  if (x.is_necessarily_closed())
+    return x.BHZ09_C_poly_hull_assign_if_exact(y);
+  else
+    return x.BHZ09_NNC_poly_hull_assign_if_exact(y);
+}
+
+bool
+PPL::Polyhedron::BHZ09_C_poly_hull_assign_if_exact(const Polyhedron& y) {
+  Polyhedron& x = *this;
+  // Private method: the caller must ensure the following.
+  assert(x.is_necessarily_closed() && y.is_necessarily_closed());
+  assert(x.space_dim > 0 && x.space_dim == y.space_dim);
+  assert(!x.is_empty() && !y.is_empty());
+
+  // 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.
+  (void) x.minimize();
+  (void) y.minimize();
+
+  // Handle a special case: for topologically closed polyhedra P and Q,
+  // if the affine dimension of P is greater than that of Q, then
+  // their upper bound is exact if and only if P includes Q.
+  const dimension_type x_affine_dim = x.affine_dimension();
+  const dimension_type y_affine_dim = y.affine_dimension();
+  if (x_affine_dim > y_affine_dim)
+    return (y.is_included_in(x));
+  else if (x_affine_dim < y_affine_dim) {
+    if (x.is_included_in(y)) {
+      x = y;
+      return true;
+    }
+    else
+      return false;
+  }
+
+  const Constraint_System& x_cs = x.con_sys;
+  const Generator_System& x_gs = x.gen_sys;
+  const Generator_System& y_gs = y.gen_sys;
+  const dimension_type x_gs_num_rows = x_gs.num_rows();
+  const dimension_type y_gs_num_rows = y_gs.num_rows();
+
+  // Step 1: generators of `x' that are redundant in `y', and vice versa.
+  Bit_Row x_gs_red_in_y;
+  dimension_type num_x_gs_red_in_y = 0;
+  for (dimension_type i = x_gs_num_rows; i-- > 0; )
+    if (y.relation_with(x_gs[i]).implies(Poly_Gen_Relation::subsumes())) {
+      x_gs_red_in_y.set(i);
+      ++num_x_gs_red_in_y;
+    }
+  Bit_Row y_gs_red_in_x;
+  dimension_type num_y_gs_red_in_x = 0;
+  for (dimension_type i = y_gs_num_rows; i-- > 0; )
+    if (x.relation_with(y_gs[i]).implies(Poly_Gen_Relation::subsumes())) {
+      y_gs_red_in_x.set(i);
+      ++num_y_gs_red_in_x;
+    }
+
+  // Step 2: filter away special cases.
+
+  // Step 2.1: inclusion tests.
+  if (num_y_gs_red_in_x == y_gs_num_rows)
+    // `y' is included into `x': upper bound `x' is exact.
+    return true;
+  if (num_x_gs_red_in_y == x_gs_num_rows) {
+    // `x' is included into `y': upper bound `y' is exact.
+    x = y;
+    return true;
+  }
+
+  // Step 2.2: if no generator of `x' is redundant for `y', then
+  // (as by 2.1 there exists a constraint of `x' non-redundant for `y')
+  // the upper bound is not exact; the same if exchanging `x' and `y'.
+  if (num_x_gs_red_in_y == 0 || num_y_gs_red_in_x == 0)
+    return false;
+
+  // Step 3: see if `x' has a non-redundant constraint `c_x' that is not
+  // satisfied by `y' and a non-redundant generator in `y' (see Step 1)
+  // saturating `c_x'. If so, the upper bound is not exact.
+
+  // Make sure the saturation matrix for `x' is up to date.
+  // Any sat matrix would do: we choose `sat_g' because it matches
+  // the two nested loops (constraints on rows and generators on columns).
+  if (!x.sat_g_is_up_to_date())
+    x.update_sat_g();
+  const Bit_Matrix& x_sat = x.sat_g;
+
+  Bit_Row all_ones;
+  all_ones.set_until(x_gs_num_rows);
+  Bit_Row row_union;
+  for (dimension_type i = x_cs.num_rows(); i-- > 0; ) {
+    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);
+      if (row_union != all_ones)
+        return false;
+    }
+  }
+
+  // Here we know that the upper bound is exact: compute it.
+  for (dimension_type j = y_gs_num_rows; j-- > 0; )
+    if (!y_gs_red_in_x[j])
+      add_generator(y_gs[j]);
+
+  assert(OK());
+  return true;
+}
+
+bool
+PPL::Polyhedron::BHZ09_NNC_poly_hull_assign_if_exact(const Polyhedron& y) {
+  const Polyhedron& x = *this;
+  // Private method: the caller must ensure the following.
+  assert(!x.is_necessarily_closed() && !y.is_necessarily_closed());
+  assert(x.space_dim > 0 && x.space_dim == y.space_dim);
+  assert(!x.is_empty() && !y.is_empty());
+
+  // 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.
+  (void) x.minimize();
+  (void) y.minimize();
+
+  const Generator_System& x_gs = x.gen_sys;
+  const Generator_System& y_gs = y.gen_sys;
+  const dimension_type x_gs_num_rows = x_gs.num_rows();
+  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_closure_points;
+  dimension_type num_x_gs_nonred_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;
+    if (x_gs_i.is_point())
+      x_points_nonred_in_y.set(i);
+  }
+
+  // If `x' is included into `y', the upper bound `y' is exact.
+  if (num_x_gs_nonred_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_closure_points;
+  dimension_type num_y_gs_nonred_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;
+    if (y_gs_i.is_point())
+      y_points_nonred_in_x.set(i);
+  }
+
+  // If `y' is included into `x', the upper bound `x' is exact.
+  if (num_y_gs_nonred_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);
+
+  const Constraint_System& x_cs = x.con_sys;
+  const Constraint_System& y_cs = y.con_sys;
+  const dimension_type x_cs_num_rows = x_cs.num_rows();
+  const dimension_type y_cs_num_rows = y_cs.num_rows();
+
+  // 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)) {
+    const Generator& x_p = x_gs[i];
+    assert(x_p.is_point());
+    // NOTE: we cannot use Constraint_System::relation_with()
+    // as we need to treat strict inequalities as if they were nonstrict.
+    for (dimension_type j = y_cs_num_rows; j-- > 0; ) {
+      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);
+        break;
+      }
+    }
+  }
+
+  // Make sure the saturation matrix for `x' is up to date.
+  // Any sat matrix would do: we choose `sat_g' because it matches
+  // the two nested loops (constraints on rows and generators on columns).
+  if (!x.sat_g_is_up_to_date())
+    x.update_sat_g();
+  const Bit_Matrix& x_sat = x.sat_g;
+
+  Bit_Row x_gs_condition_3;
+  Bit_Row all_ones;
+  all_ones.set_until(x_gs_num_rows);
+  Bit_Row saturators;
+  Bit_Row tmp_set;
+  for (dimension_type i = x_cs_num_rows; i-- > 0; ) {
+    const Constraint& x_c = x_cs[i];
+    // 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);
+    // Check condition 1.
+    set_intersection(x_nonpoints_nonred_in_y, saturators, tmp_set);
+    if (!tmp_set.empty())
+      return false;
+    if (x_c.is_strict_inequality()) {
+      // Postpone check for condition 3.
+      set_intersection(x_closure_points, saturators, tmp_set);
+      set_union(x_gs_condition_3, tmp_set, x_gs_condition_3);
+    }
+    else {
+      // Check condition 2.
+      set_intersection(x_points_nonred_in_y_closure, saturators, tmp_set);
+      if (!tmp_set.empty())
+        return false;
+    }
+  }
+
+  // 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);
+
+  // 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)) {
+    const Generator& y_p = y_gs[i];
+    assert(y_p.is_point());
+    // NOTE: we cannot use Constraint_System::relation_with()
+    // as we need to treat strict inequalities as if they were nonstrict.
+    for (dimension_type j = x_cs_num_rows; j-- > 0; ) {
+      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);
+        break;
+      }
+    }
+  }
+
+  // Make sure the saturation matrix `sat_g' for `y' is up to date.
+  if (!y.sat_g_is_up_to_date())
+    y.update_sat_g();
+  const Bit_Matrix& y_sat = y.sat_g;
+
+  Bit_Row y_gs_condition_3;
+  all_ones.clear();
+  all_ones.set_until(y_gs_num_rows);
+  for (dimension_type i = y_cs_num_rows; i-- > 0; ) {
+    const Constraint& y_c = y_cs[i];
+    // 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);
+    // CHECKME: do we really need to re-check condition 1?
+    // Check condition 1.
+    set_intersection(y_nonpoints_nonred_in_x, saturators, tmp_set);
+    if (!tmp_set.empty())
+      return false;
+    if (y_c.is_strict_inequality()) {
+      // Postpone check for condition 3.
+      set_intersection(y_closure_points, saturators, tmp_set);
+      set_union(y_gs_condition_3, tmp_set, y_gs_condition_3);
+    }
+    else {
+      // Check condition 2.
+      set_intersection(y_points_nonred_in_x_closure, saturators, tmp_set);
+      if (!tmp_set.empty())
+        return false;
+    }
+  }
+
+  // Now check condition 3 on `x_gs_condition_3' and `y_gs_condition_3'.
+
+  // Filter away from `x_gs_condition_3' those closure points
+  // that, when considered as points, would belong to `y',
+  // i.e., those that violate no strict constraint in `y_cs'.
+  Bit_Row x_gs_condition_3_not_in_y;
+  for (dimension_type i = y_cs_num_rows; i-- > 0; ) {
+    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)) {
+        const Generator& x_cp = x_gs[j];
+        assert(x_cp.is_closure_point());
+        const int sp_sign = Scalar_Products::reduced_sign(y_c, x_cp);
+        assert(sp_sign >= 0);
+        if (sp_sign == 0) {
+          x_gs_condition_3.clear(j);
+          x_gs_condition_3_not_in_y.set(j);
+        }
+      }
+      if (x_gs_condition_3.empty())
+        break;
+    }
+  }
+
+  // Symmetrically, filter away from `y_gs_condition_3' those
+  // closure points that, when considered as points, would belong to `x',
+  // i.e., those that violate no strict constraint in `x_cs'.
+  Bit_Row y_gs_condition_3_not_in_x;
+  for (dimension_type i = x_cs_num_rows; i-- > 0; ) {
+    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)) {
+        const Generator& y_cp = y_gs[j];
+        assert(y_cp.is_closure_point());
+        const int sp_sign = Scalar_Products::reduced_sign(x_c, y_cp);
+        assert(sp_sign >= 0);
+        if (sp_sign == 0) {
+          y_gs_condition_3.clear(j);
+          y_gs_condition_3_not_in_x.set(j);
+        }
+      }
+      if (y_gs_condition_3.empty())
+        break;
+    }
+  }
+
+  if (x_gs_condition_3_not_in_y.empty()
+      && y_gs_condition_3_not_in_x.empty()) {
+    // The hull is exact: compute it.
+    for (dimension_type j = y_gs_num_rows; j-- > 0; )
+      if (y_gs_nonred_in_x[j])
+        add_generator(y_gs[j]);
+    return true;
+  }
+
+  // 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])
+      ub.add_generator(y_gs[j]);
+  (void) ub.minimize();
+  assert(!ub.is_empty());
+
+  // Check if there exists a closure point in `x_gs_condition_3_not_in_y'
+  // or `y_gs_condition_3_not_in_x' that belongs (as point) to the hull.
+  // If so, the hull is not exact.
+  const Constraint_System& ub_cs = ub.constraints();
+  for (dimension_type i = ub_cs.num_rows(); i-- > 0; ) {
+    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)) {
+        const Generator& x_cp = x_gs[j];
+        assert(x_cp.is_closure_point());
+        const int sp_sign = Scalar_Products::reduced_sign(ub_c, x_cp);
+        assert(sp_sign >= 0);
+        if (sp_sign == 0)
+          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)) {
+        const Generator& y_cp = y_gs[j];
+        assert(y_cp.is_closure_point());
+        const int sp_sign = Scalar_Products::reduced_sign(ub_c, y_cp);
+        assert(sp_sign >= 0);
+        if (sp_sign == 0)
+          y_gs_condition_3_not_in_x.clear(j);
+      }
+    }
+  }
+
+  if (x_gs_condition_3_not_in_y.empty()
+      && y_gs_condition_3_not_in_x.empty()) {
+    // No closure point satisfies condition 3, hence the hull is exact.
+    swap(ub);
+    return true;
+  }
+  else
+    // The hull is not exact.
+    return false;
+}
+
+bool
+PPL::Polyhedron::BFT00_poly_hull_assign_if_exact(const Polyhedron& y) {
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const Polyhedron& x = *this;
+  // Private method: the caller must ensure the following.
+  assert(x.is_necessarily_closed());
+  assert(x.topology() == y.topology());
+  assert(x.space_dim == y.space_dim);
+
+  // 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 convex union 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;
+  }
+
+  // Here both `x' and `y' are known to be non-empty.
+
+  // 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).
+  // 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.
+
+  (void) x.minimize();
+  (void) y.minimize();
+  const Constraint_System& x_cs = x.con_sys;
+  const Constraint_System& y_cs = y.con_sys;
+  const Generator_System& x_gs = x.gen_sys;
+  const Generator_System& y_gs = y.gen_sys;
+  const dimension_type x_gs_num_rows = x_gs.num_rows();
+  const dimension_type y_gs_num_rows = y_gs.num_rows();
+
+  // Step 1: generators of `x' that are redundant in `y', and vice versa.
+  std::vector<bool> x_gs_red_in_y(x_gs_num_rows, false);
+  dimension_type num_x_gs_red_in_y = 0;
+  for (dimension_type i = x_gs_num_rows; i-- > 0; )
+    if (y.relation_with(x_gs[i]).implies(Poly_Gen_Relation::subsumes())) {
+      x_gs_red_in_y[i] = true;
+      ++num_x_gs_red_in_y;
+    }
+  std::vector<bool> y_gs_red_in_x(y_gs_num_rows, false);
+  dimension_type num_y_gs_red_in_x = 0;
+  for (dimension_type i = y_gs_num_rows; i-- > 0; )
+    if (x.relation_with(y_gs[i]).implies(Poly_Gen_Relation::subsumes())) {
+      y_gs_red_in_x[i] = true;
+      ++num_y_gs_red_in_x;
+    }
+
+  // Step 2: if no redundant generator has been identified,
+  // then the union is not convex. CHECKME: why?
+  if (num_x_gs_red_in_y == 0 && num_y_gs_red_in_x == 0)
+    return false;
+
+  // Step 2.1: while at it, also perform quick inclusion tests.
+  if (num_y_gs_red_in_x == y_gs_num_rows)
+    // `y' is included into `x': union is convex.
+    return true;
+  if (num_x_gs_red_in_y == x_gs_num_rows) {
+    // `x' is included into `y': union is convex.
+    *this = y;
+    return true;
+  }
+
+  // Here we know that `x' is not included in `y', and vice versa.
+
+  // Step 3: constraints of `x' that are satisfied by `y', and vice versa.
+  const dimension_type x_cs_num_rows = x_cs.num_rows();
+  std::vector<bool> x_cs_red_in_y(x_cs_num_rows, false);
+  for (dimension_type i = x_cs_num_rows; i-- > 0; ) {
+    const Constraint& x_cs_i = x_cs[i];
+    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':
+      // 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 }.
+      return false;
+  }
+  const dimension_type y_cs_num_rows = y_cs.num_rows();
+  std::vector<bool> y_cs_red_in_x(y_cs_num_rows, false);
+  for (dimension_type i = y_cs_num_rows; i-- > 0; ) {
+    const Constraint& y_cs_i = y_cs[i];
+    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':
+      // union is not convex (see explanation above).
+      return false;
+  }
+
+  // Loop in steps 5-9: for each pair of non-redundant generators,
+  // 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);
+
+  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();
+    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();
+
+      // Step 6: compute mid_row = x_row + y_row.
+      // 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];
+      // A zero ray is not a well formed generator.
+      const bool illegal_ray
+        = (mid_row[0] == 0 && mid_row.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).
+      assert(!(illegal_ray && (x_row_is_line || y_row_is_line)));
+      if (illegal_ray)
+        continue;
+      if (x_row_is_line) {
+        mid_row.normalize();
+        if (y_row_is_line)
+          // mid_row is a line too: sign normalization is needed.
+          mid_row.sign_normalize();
+        else
+          // mid_row is a ray/point.
+          mid_row.set_is_ray_or_point_or_inequality();
+      }
+
+      // 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
+      // 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();
+        // 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) {
+        // 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();
+        // 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;
+      }
+    }
+  }
+
+  // Here we know that the union of x and y is convex.
+  // TODO: exploit knowledge on the cardinality of non-redudnant
+  // 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) {
+    if (!y_gs_red_in_x[j])
+      add_generator(y_gs[j]);
+  }
+  assert(OK());
+  return true;
+}
+
 void
 PPL::Polyhedron::throw_runtime_error(const char* method) const {
   std::ostringstream s;
diff --git a/src/Polyhedron_public.cc b/src/Polyhedron_public.cc
index 785be3a..e6a87fb 100644
--- a/src/Polyhedron_public.cc
+++ b/src/Polyhedron_public.cc
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation (non-inline public functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -312,7 +312,7 @@ PPL::Polyhedron::relation_with(const Congruence& cg) const {
   // The polyhedron is non-empty so that there exists a point.
   // For an arbitrary generator point find the scalar product with
   // the equality.
-  TEMP_INTEGER(point_val);
+  PPL_DIRTY_TEMP_COEFFICIENT(point_val);
 
   for (Generator_System::const_iterator g = gen_sys.begin(),
          gen_sys_end = gen_sys.end(); g != gen_sys_end; ++g) {
@@ -329,10 +329,10 @@ PPL::Polyhedron::relation_with(const Congruence& cg) const {
   // half-spaces to determine its relation with the congruence.
   const Coefficient& modulus = cg.modulus();
 
-  TEMP_INTEGER(div);
+  PPL_DIRTY_TEMP_COEFFICIENT(div);
   div = modulus;
 
-  TEMP_INTEGER(nearest);
+  PPL_DIRTY_TEMP_COEFFICIENT(nearest);
   nearest = (point_val / div) * div;
 
   point_val -= nearest;
@@ -570,11 +570,12 @@ PPL::Polyhedron::contains_integer_point() const {
   // CHECKME: do we really want to call conversion to check for emptiness?
   if (has_pending_constraints() && !process_pending())
     // Empty again.
-    return true;
+    return false;
 
   // FIXME: do also exploit info regarding rays and lines, if possible.
   // Is any integer point already available?
-  if (generators_are_up_to_date() && !has_pending_constraints())
+  assert(!has_pending_constraints());
+  if (generators_are_up_to_date())
     for (dimension_type i = gen_sys.num_rows(); i-- > 0; )
       if (gen_sys[i].is_point() && gen_sys[i].divisor() == 1)
 	return true;
@@ -591,10 +592,10 @@ PPL::Polyhedron::contains_integer_point() const {
   MIP_Problem mip(space_dim);
   mip.add_to_integer_space_dimensions(Variables_Set(Variable(0),
 						    Variable(space_dim-1)));
-  TEMP_INTEGER(homogeneous_gcd);
-  TEMP_INTEGER(gcd);
-  DIRTY_TEMP0(mpq_class, rational_inhomogeneous);
-  TEMP_INTEGER(tightened_inhomogeneous);
+  PPL_DIRTY_TEMP_COEFFICIENT(homogeneous_gcd);
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  PPL_DIRTY_TEMP0(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) {
     const Constraint& c = *cs_i;
@@ -608,6 +609,12 @@ PPL::Polyhedron::contains_integer_point() const {
       for (dimension_type i = space_dim; i-- > 0; )
 	gcd_assign(homogeneous_gcd,
 		   homogeneous_gcd, c.coefficient(Variable(i)));
+      if (homogeneous_gcd == 0) {
+        // NOTE: since tautological constraints are already filtered away
+        // by iterators, here we must have an inconsistent constraint.
+        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);
@@ -634,7 +641,13 @@ PPL::Polyhedron::contains_integer_point() const {
 	for (dimension_type i = space_dim; i-- > 0; )
 	  gcd_assign(homogeneous_gcd,
 		     homogeneous_gcd, c.coefficient(Variable(i)));
-	if (homogeneous_gcd == 1)
+        if (homogeneous_gcd == 0) {
+          // NOTE: since tautological constraints are already filtered away
+          // by iterators, here we must have an inconsistent constraint.
+          assert(c.is_inconsistent());
+          return false;
+        }
+	else if (homogeneous_gcd == 1)
 	  // The normalized inhomogeneous term is integer:
 	  // add the constraint as-is.
 	  mip.add_constraint(c);
@@ -1321,7 +1334,7 @@ PPL::Polyhedron::add_generator(const Generator& g) {
       if (g.type() != Generator::POINT)
 	throw_invalid_generator("add_generator(g)", "g");
       else
-	status.set_zero_dim_univ();
+	set_zero_dim_univ();
     }
     assert(OK());
     return;
@@ -1575,7 +1588,7 @@ PPL::Polyhedron::add_recycled_generators(Generator_System& gs) {
   if (space_dim == 0) {
     if (marked_empty() && !gs.has_points())
       throw_invalid_generators("add_recycled_generators(gs)", "gs");
-    status.set_zero_dim_univ();
+    set_zero_dim_univ();
     assert(OK(true));
     return;
   }
@@ -1678,7 +1691,7 @@ PPL::Polyhedron::add_recycled_generators_and_minimize(Generator_System& gs) {
     if (marked_empty() && !gs.has_points())
       throw_invalid_generators("add_recycled_generators_and_minimize(gs)",
 			       "gs");
-    status.set_zero_dim_univ();
+    set_zero_dim_univ();
     assert(OK(true));
     return true;
   }
@@ -2227,7 +2240,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
   // Filter away the zero-dimensional case.
   if (x.space_dim == 0) {
     if (y.is_empty()) {
-      x.status.set_zero_dim_univ();
+      x.set_zero_dim_univ();
       return false;
     }
     else
@@ -2341,7 +2354,7 @@ PPL::Polyhedron::simplify_using_context_assign(const Polyhedron& y) {
       // are not made redundant by `y' are added to `lp' depending on
       // the number of generators of `y' they rule out (the more generators
       // they rule out, the sooner they are added).  Of course, as soon
-      // as `lp' becomes unsatisfiable, we stopp adding.
+      // as `lp' becomes unsatisfiable, we stop adding.
       std::vector<Ruled_Out_Pair>
         ruled_out_vec(x_cs_num_rows - num_redundant_by_y);
       for (dimension_type i = 0, j = 0; i < x_cs_num_rows; ++i) {
@@ -3241,7 +3254,7 @@ generalized_affine_preimage(const Variable var,
   if (var_coefficient != 0) {
     Linear_Expression inverse_expr
       = expr - (denominator + var_coefficient) * var;
-    TEMP_INTEGER(inverse_denominator);
+    PPL_DIRTY_TEMP_COEFFICIENT(inverse_denominator);
     neg_assign(inverse_denominator, var_coefficient);
     Relation_Symbol inverse_relsym
       = (sgn(denominator) == sgn(inverse_denominator))
diff --git a/src/Polyhedron_widenings.cc b/src/Polyhedron_widenings.cc
index 52c8f45..b53fb18 100644
--- a/src/Polyhedron_widenings.cc
+++ b/src/Polyhedron_widenings.cc
@@ -1,6 +1,6 @@
 /* Polyhedron class implementation
    (non-inline widening-related member functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -594,7 +594,7 @@ PPL::Polyhedron::BHRZ03_evolving_rays(const Polyhedron& y,
 
   // Candidate rays are kept in a temporary generator system.
   Generator_System candidate_rays;
-  TEMP_INTEGER(tmp);
+  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'.
diff --git a/src/Powerset.defs.hh b/src/Powerset.defs.hh
index 43520f9..c4bbe3d 100644
--- a/src/Powerset.defs.hh
+++ b/src/Powerset.defs.hh
@@ -1,5 +1,5 @@
 /* Powerset class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,6 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_Powerset_defs_hh
 
 #include "Powerset.types.hh"
+#include "globals.types.hh"
 #include "iterator_to_const.defs.hh"
 #include <iosfwd>
 #include <iterator>
diff --git a/src/Powerset.inlines.hh b/src/Powerset.inlines.hh
index d860056..742c743 100644
--- a/src/Powerset.inlines.hh
+++ b/src/Powerset.inlines.hh
@@ -1,5 +1,5 @@
 /* Powerset class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Powerset.templates.hh b/src/Powerset.templates.hh
index 71237bf..7f6d969 100644
--- a/src/Powerset.templates.hh
+++ b/src/Powerset.templates.hh
@@ -1,5 +1,5 @@
 /* Powerset class implementation: non-inline template functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,6 +23,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_Powerset_templates_hh
 #define PPL_Powerset_templates_hh 1
 
+#include "globals.defs.hh"
 #include <algorithm>
 #include <cassert>
 #include <iostream>
diff --git a/src/Powerset.types.hh b/src/Powerset.types.hh
index e83beed..3879faf 100644
--- a/src/Powerset.types.hh
+++ b/src/Powerset.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 4f07730..bed9b7f 100644
--- a/src/Ptr_Iterator.defs.hh
+++ b/src/Ptr_Iterator.defs.hh
@@ -1,5 +1,5 @@
 /* Ptr_Iterator class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Ptr_Iterator.inlines.hh b/src/Ptr_Iterator.inlines.hh
index 72ae57b..9a0b3a9 100644
--- a/src/Ptr_Iterator.inlines.hh
+++ b/src/Ptr_Iterator.inlines.hh
@@ -1,5 +1,5 @@
 /* Ptr_Iterator class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Ptr_Iterator.types.hh b/src/Ptr_Iterator.types.hh
index b2bdf35..96afe37 100644
--- a/src/Ptr_Iterator.types.hh
+++ b/src/Ptr_Iterator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 3ce2965..a74a5a8 100644
--- a/src/Rational_Box.hh
+++ b/src/Rational_Box.hh
@@ -1,5 +1,5 @@
 /* Rational_Box class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Rational_Interval.hh b/src/Rational_Interval.hh
index 79d7fe5..e8de7e7 100644
--- a/src/Rational_Interval.hh
+++ b/src/Rational_Interval.hh
@@ -1,5 +1,5 @@
 /* Rational_Interval class declaration and implementation.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Result.defs.hh b/src/Result.defs.hh
index 86c68ee..9d8eb8c 100644
--- a/src/Result.defs.hh
+++ b/src/Result.defs.hh
@@ -1,5 +1,5 @@
 /* Result enum and supporting function declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Result.inlines.hh b/src/Result.inlines.hh
index 66bcb1d..4940052 100644
--- a/src/Result.inlines.hh
+++ b/src/Result.inlines.hh
@@ -1,5 +1,5 @@
 /* Result supporting functions implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Rounding_Dir.defs.hh b/src/Rounding_Dir.defs.hh
index d9fe794..b2e62a4 100644
--- a/src/Rounding_Dir.defs.hh
+++ b/src/Rounding_Dir.defs.hh
@@ -1,5 +1,5 @@
 /* Declaration of Rounding_Dir and related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Rounding_Dir.inlines.hh b/src/Rounding_Dir.inlines.hh
index 8d3b30b..8a20d3c 100644
--- a/src/Rounding_Dir.inlines.hh
+++ b/src/Rounding_Dir.inlines.hh
@@ -1,5 +1,5 @@
 /* Inline functions operating on enum Rounding_Dir values.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -63,18 +63,25 @@ round_fpu_check_inexact(Rounding_Dir dir) {
 }
 
 #if PPL_CAN_CONTROL_FPU
+
 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>(FPU_UPWARD);
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
   case ROUND_DOWN:
-    return static_cast<fpu_rounding_direction_type>(FPU_DOWNWARD);
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_DOWNWARD);
   default:
-    assert(0);
-    return static_cast<fpu_rounding_direction_type>(FPU_UPWARD);
+    assert(false);
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
   }
 }
+
+#undef PPL_FPU_DOWNWARD
+#undef PPL_FPU_TONEAREST
+#undef PPL_FPU_TOWARDZERO
+#undef PPL_FPU_UPWARD
+
 #endif
 
 /*! \relates Parma_Polyhedra_Library::Rounding_Dir */
diff --git a/src/Row.cc b/src/Row.cc
index 1324c2e..addd828 100644
--- a/src/Row.cc
+++ b/src/Row.cc
@@ -1,5 +1,5 @@
 /* Row class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -89,7 +89,7 @@ PPL::Row::normalize() {
   // Compute the GCD of all the coefficients.
   const dimension_type sz = size();
   dimension_type i = sz;
-  TEMP_INTEGER(gcd);
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
   while (i > 0) {
     const Coefficient& x_i = x[--i];
     if (const int x_i_sign = sgn(x_i)) {
@@ -149,7 +149,7 @@ bool
 PPL::Row::Flags::ascii_load(std::istream& s) {
   std::string str;
   std::streamsize sz = s.width(2);
-  if (!(s >> str) || (str.compare("0x") != 0))
+  if (!(s >> str) || str != "0x")
     return false;
   s.width(sz);
   std::istream::fmtflags f = s.setf(std::istream::hex);
@@ -193,7 +193,7 @@ PPL::Row::ascii_load(std::istream& s) {
   for (dimension_type col = 0; col < new_size; ++col)
     if (!(s >> x[col]))
       return false;
-  if (!(s >> str) || (str.compare("f") != 0))
+  if (!(s >> str) || str != "f")
     return false;
   return flags().ascii_load(s);
 }
diff --git a/src/Row.defs.hh b/src/Row.defs.hh
index ad58c6b..dcb6db6 100644
--- a/src/Row.defs.hh
+++ b/src/Row.defs.hh
@@ -1,5 +1,5 @@
 /* Row class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Row.inlines.hh b/src/Row.inlines.hh
index e28bdaa..c63ab24 100644
--- a/src/Row.inlines.hh
+++ b/src/Row.inlines.hh
@@ -1,5 +1,5 @@
 /* Row class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,6 +25,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "math_utilities.defs.hh"
 #include <cassert>
+#include <cstddef>
+#include <limits>
 #include <algorithm>
 
 namespace Parma_Polyhedra_Library {
@@ -93,7 +95,7 @@ Row_Impl_Handler::Impl::operator delete(void* p, dimension_type) {
 
 inline dimension_type
 Row_Impl_Handler::Impl::max_size() {
-  return size_t(-1)/sizeof(Coefficient);
+  return std::numeric_limits<size_t>::max() / sizeof(Coefficient);
 }
 
 inline dimension_type
diff --git a/src/Row.types.hh b/src/Row.types.hh
index 5f487af..e8e2d5f 100644
--- a/src/Row.types.hh
+++ b/src/Row.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Scalar_Products.cc b/src/Scalar_Products.cc
index e2fbeb8..852274c 100644
--- a/src/Scalar_Products.cc
+++ b/src/Scalar_Products.cc
@@ -1,5 +1,5 @@
 /* Scalar_Products class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -125,7 +125,7 @@ PPL::Scalar_Products::homogeneous_assign(Coefficient& z,
   // dimension-compatible.
   assert(x.size() <= y.size());
   z = 0;
-    // Note the pre-decrement of `i': last iteration should be for `i == 1'.
+  // 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]);
diff --git a/src/Scalar_Products.defs.hh b/src/Scalar_Products.defs.hh
index 9a51a84..a699dd5 100644
--- a/src/Scalar_Products.defs.hh
+++ b/src/Scalar_Products.defs.hh
@@ -1,5 +1,5 @@
 /* Scalar_Products class definition.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Scalar_Products.inlines.hh b/src/Scalar_Products.inlines.hh
index 1bc63d3..70a02d5 100644
--- a/src/Scalar_Products.inlines.hh
+++ b/src/Scalar_Products.inlines.hh
@@ -1,5 +1,5 @@
 /* Scalar_Products class implementation (inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,21 +34,21 @@ namespace Parma_Polyhedra_Library {
 
 inline int
 Scalar_Products::sign(const Linear_Row& x, const Linear_Row& y) {
-  TEMP_INTEGER(z);
+  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) {
-  TEMP_INTEGER(z);
+  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) {
-  TEMP_INTEGER(z);
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
   homogeneous_assign(z, x, y);
   return sgn(z);
 }
@@ -67,7 +67,7 @@ Scalar_Products::sign(const Generator& g, const Constraint& c) {
 
 inline int
 Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) {
-  TEMP_INTEGER(z);
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
   assign(z, c, g);
   return sgn(z);
 }
@@ -119,7 +119,7 @@ Scalar_Products::homogeneous_sign(const Linear_Expression& e,
 inline int
 Scalar_Products::homogeneous_sign(const Grid_Generator& g,
 				  const Constraint& c) {
-  TEMP_INTEGER(z);
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
   homogeneous_assign(z, g, c);
   return sgn(z);
 }
diff --git a/src/Scalar_Products.types.hh b/src/Scalar_Products.types.hh
index 49dd522..24126fc 100644
--- a/src/Scalar_Products.types.hh
+++ b/src/Scalar_Products.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 8994e85..f7cfbbd 100644
--- a/src/Slow_Copy.hh
+++ b/src/Slow_Copy.hh
@@ -1,5 +1,5 @@
 /* Basic Slow_Copy classes declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Temp.defs.hh b/src/Temp.defs.hh
index 09c3b97..202dea3 100644
--- a/src/Temp.defs.hh
+++ b/src/Temp.defs.hh
@@ -1,5 +1,5 @@
 /* Temp_* classes declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Temp.inlines.hh b/src/Temp.inlines.hh
index a9b09f6..55cfbe2 100644
--- a/src/Temp.inlines.hh
+++ b/src/Temp.inlines.hh
@@ -1,5 +1,5 @@
 /* Temp_* classes implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -101,13 +101,13 @@ Temp_From_Local_Variable<T>::obtain_holder() {
 
 } // namespace Parma_Polyhedra_Library
 
-#define DIRTY_TEMP(T, id)						\
+#define PPL_DIRTY_TEMP(T, id)						\
   typename Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id = \
     Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
   typename Parma_Polyhedra_Library::Dirty_Temp<T>::type id =		\
     holder ## id.item()
 
-#define DIRTY_TEMP0(T, id)						\
+#define PPL_DIRTY_TEMP0(T, id)						\
   Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id =	\
     Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
   Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder ## id.item()
diff --git a/src/Temp.templates.hh b/src/Temp.templates.hh
index 4c9f802..bb1453a 100644
--- a/src/Temp.templates.hh
+++ b/src/Temp.templates.hh
@@ -1,5 +1,5 @@
 /* Temp_* classes implementation: non-inline template members.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Topology.hh b/src/Topology.hh
index b2e39fc..8b9360a 100644
--- a/src/Topology.hh
+++ b/src/Topology.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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.cc b/src/Variable.cc
index bcc9711..88ab86c 100644
--- a/src/Variable.cc
+++ b/src/Variable.cc
@@ -1,5 +1,5 @@
 /* Variable class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variable.defs.hh b/src/Variable.defs.hh
index 77d7ba7..203de66 100644
--- a/src/Variable.defs.hh
+++ b/src/Variable.defs.hh
@@ -1,5 +1,5 @@
 /* Variable class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variable.inlines.hh b/src/Variable.inlines.hh
index ad09b50..b03f201 100644
--- a/src/Variable.inlines.hh
+++ b/src/Variable.inlines.hh
@@ -1,5 +1,5 @@
 /* Variable class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variable.types.hh b/src/Variable.types.hh
index 08dae0d..04e7d6c 100644
--- a/src/Variable.types.hh
+++ b/src/Variable.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Variables_Set.cc b/src/Variables_Set.cc
index ced56aa..7da9156 100644
--- a/src/Variables_Set.cc
+++ b/src/Variables_Set.cc
@@ -1,5 +1,5 @@
 /* Variables_Set class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variables_Set.defs.hh b/src/Variables_Set.defs.hh
index 7e364b0..6692c69 100644
--- a/src/Variables_Set.defs.hh
+++ b/src/Variables_Set.defs.hh
@@ -1,5 +1,5 @@
 /* Variables_Set class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variables_Set.inlines.hh b/src/Variables_Set.inlines.hh
index 63630eb..682bc73 100644
--- a/src/Variables_Set.inlines.hh
+++ b/src/Variables_Set.inlines.hh
@@ -1,5 +1,5 @@
 /* Variables_Set class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Variables_Set.types.hh b/src/Variables_Set.types.hh
index cdae2ef..c7c9864 100644
--- a/src/Variables_Set.types.hh
+++ b/src/Variables_Set.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Widening_Function.defs.hh b/src/Widening_Function.defs.hh
index 6ba7efc..adcce51 100644
--- a/src/Widening_Function.defs.hh
+++ b/src/Widening_Function.defs.hh
@@ -1,5 +1,5 @@
 /* Widening_Function class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Widening_Function.inlines.hh b/src/Widening_Function.inlines.hh
index 89b730a..c7ac672 100644
--- a/src/Widening_Function.inlines.hh
+++ b/src/Widening_Function.inlines.hh
@@ -1,5 +1,5 @@
 /* Widening_Function class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/Widening_Function.types.hh b/src/Widening_Function.types.hh
index 4c1f895..64dcede 100644
--- a/src/Widening_Function.types.hh
+++ b/src/Widening_Function.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 47b30f6..d6f429c 100644
--- a/src/algorithms.hh
+++ b/src/algorithms.hh
@@ -1,5 +1,5 @@
 /* A collection of useful convex polyhedra algorithms: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/assign_or_swap.hh b/src/assign_or_swap.hh
index 5039f5f..6c12f5c 100644
--- a/src/assign_or_swap.hh
+++ b/src/assign_or_swap.hh
@@ -1,5 +1,5 @@
 /* The assign_or_swap() utility functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/c_streambuf.cc b/src/c_streambuf.cc
new file mode 100644
index 0000000..a4fdf0c
--- /dev/null
+++ b/src/c_streambuf.cc
@@ -0,0 +1,101 @@
+/* c_streambuf class implementation (non-inline functions).
+   Copyright (C) 2001-2009 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 "c_streambuf.defs.hh"
+
+namespace Parma_Polyhedra_Library {
+
+c_streambuf::int_type
+c_streambuf::uflow() {
+  int_type c = underflow();
+  nextc_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)) {
+    char buf;
+    if (cb_read(&buf, 1) == 1)
+      nextc_buf = buf;
+    else
+      nextc_buf = eof;
+  }
+  return nextc_buf;
+}
+
+std::streamsize
+c_streambuf::xsgetn(char_type* s, std::streamsize n) {
+  if (n == 0)
+    return n;
+  const int_type eof = traits_type::eof();
+  int a;
+  if (traits_type::eq_int_type(nextc_buf, eof))
+    a = 0;
+  else {
+    s[0] = nextc_buf;
+    a = 1;
+  }
+  std::streamsize r = cb_read(s + a, n - a) + a;
+  if (r > 0)
+    ungetc_buf = traits_type::to_int_type(s[r - 1]);
+  else
+    ungetc_buf = traits_type::eof();
+  return 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;
+}
+
+std::streamsize
+c_streambuf::xsputn(const char_type* s, std::streamsize n) {
+  return cb_write(s, n);
+}
+
+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);
+  else {
+    char buf = c;
+    if (cb_write(&buf, 1) == 1)
+      return c;
+    else
+      return eof;
+  }
+}
+
+int
+c_streambuf::sync() {
+  return cb_sync();
+}
+
+} // namespace Parma_Polyhedra_Library
diff --git a/src/stdiobuf.defs.hh b/src/c_streambuf.defs.hh
similarity index 70%
copy from src/stdiobuf.defs.hh
copy to src/c_streambuf.defs.hh
index 9eff2bd..6e406a8 100644
--- a/src/stdiobuf.defs.hh
+++ b/src/c_streambuf.defs.hh
@@ -1,5 +1,5 @@
-/* stdiobuf class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* c_streambuf class declaration.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,18 +20,18 @@ Inc., 51 Franklin Street, Fifth Floor, 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_stdiobuf_defs_hh
-#define PPL_stdiobuf_defs_hh 1
+#ifndef PPL_c_streambuf_defs_hh
+#define PPL_c_streambuf_defs_hh 1
 
-#include "stdiobuf.types.hh"
-#include <cstdio>
+#include "c_streambuf.types.hh"
 #include <streambuf>
 
-class Parma_Polyhedra_Library::stdiobuf
+class Parma_Polyhedra_Library::c_streambuf
   : public std::basic_streambuf<char, std::char_traits<char> > {
 public:
   //! Constructor.
-  stdiobuf(FILE* file);
+  c_streambuf();
+  virtual ~c_streambuf();
 
 protected:
   /*! \brief
@@ -40,7 +40,7 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  virtual int_type underflow();
+  int_type underflow();
 
   /*! \brief
     In case of underflow, gets a character and advances the next pointer.
@@ -48,7 +48,7 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  virtual int_type uflow();
+  int_type uflow();
 
   /*! \brief
     Gets a sequence of characters.
@@ -56,7 +56,7 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
   */
-  virtual std::streamsize xsgetn(char_type* s, std::streamsize n);
+  std::streamsize xsgetn(char_type* s, std::streamsize n);
 
   /*! \brief
     Puts character back in case of backup underflow.
@@ -64,7 +64,7 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
   */
-  virtual int_type pbackfail(int_type c = traits_type::eof());
+  int_type pbackfail(int_type c = traits_type::eof());
 
   /*! \brief
     Writes a sequence of characters.
@@ -72,21 +72,21 @@ protected:
     \remarks
     Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
   */
-  virtual std::streamsize xsputn(const char_type* s, std::streamsize n);
+  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);
+  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();
+  int sync();
 
 private:
   //! Character type of the streambuf.
@@ -98,13 +98,26 @@ private:
   //! Integer type of the streambuf.
   typedef traits_type::int_type int_type;
 
-  //! The encapsulated stdio file.
-  FILE* fp;
-
   //! Buffer for the last character read.
   int_type ungetc_buf;
+
+  //! Buffer for next character
+  int_type nextc_buf;
+
+  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;
+  }
 };
 
-#include "stdiobuf.inlines.hh"
+#include "c_streambuf.inlines.hh"
 
-#endif // !defined(PPL_stdiobuf_defs_hh)
+#endif // !defined(PPL_c_streambuf_defs_hh)
diff --git a/src/stdiobuf.inlines.hh b/src/c_streambuf.inlines.hh
similarity index 71%
copy from src/stdiobuf.inlines.hh
copy to src/c_streambuf.inlines.hh
index 4bde44e..d6b8718 100644
--- a/src/stdiobuf.inlines.hh
+++ b/src/c_streambuf.inlines.hh
@@ -1,5 +1,5 @@
-/* stdiobuf class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* c_streambuf class implementation: inline functions.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,16 +20,20 @@ Inc., 51 Franklin Street, Fifth Floor, 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_stdiobuf_inlines_hh
-#define PPL_stdiobuf_inlines_hh 1
+#ifndef PPL_c_streambuf_inlines_hh
+#define PPL_c_streambuf_inlines_hh 1
 
 namespace Parma_Polyhedra_Library {
 
 inline
-stdiobuf::stdiobuf(FILE* file)
-  : fp(file), ungetc_buf(traits_type::eof()) {
+c_streambuf::c_streambuf()
+  : ungetc_buf(traits_type::eof()), nextc_buf(traits_type::eof()) {
+}
+
+inline
+c_streambuf::~c_streambuf() {
 }
 
 } // namespace Parma_Polyhedra_Library
 
-#endif // !defined(PPL_stdiobuf_inlines_hh)
+#endif // !defined(PPL_c_streambuf_inlines_hh)
diff --git a/src/Constraint.types.hh b/src/c_streambuf.types.hh
similarity index 71%
copy from src/Constraint.types.hh
copy to src/c_streambuf.types.hh
index 658b684..c9aea28 100644
--- a/src/Constraint.types.hh
+++ b/src/c_streambuf.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is free software; as a special exception the author gives
 unlimited permission to copy and/or distribute it, with or without
@@ -9,13 +9,13 @@ WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
 implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 PURPOSE. */
 
-#ifndef PPL_Constraint_types_hh
-#define PPL_Constraint_types_hh 1
+#ifndef PPL_c_streambuf_types_hh
+#define PPL_c_streambuf_types_hh 1
 
 namespace Parma_Polyhedra_Library {
 
-class Constraint;
+class c_streambuf;
 
 } // namespace Parma_Polyhedra_Library
 
-#endif // !defined(PPL_Constraint_types_hh)
+#endif // !defined(PPL_c_streambuf_types_hh)
diff --git a/src/checked.cc b/src/checked.cc
index 7ed1bc8..bd19e2b 100644
--- a/src/checked.cc
+++ b/src/checked.cc
@@ -1,5 +1,5 @@
 /* Helper functions for checked numbers
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/checked.defs.hh b/src/checked.defs.hh
index 9edb4d0..1a1e591 100644
--- a/src/checked.defs.hh
+++ b/src/checked.defs.hh
@@ -1,5 +1,5 @@
 /* Abstract checked arithmetic function container
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,322 +41,467 @@ namespace Checked {
 // encapsulated functions and partial specialization of containing
 // classes.
 
-#define FUNCTION_CLASS(name) name ## _function_struct
+#define PPL_FUNCTION_CLASS(name) name ## _function_struct
 
-#define DECLARE_FUN1_0_0(name, ret_type, qual, type) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(qual type& arg) { \
-  return 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 name(qual type& arg) {                            \
+    return PPL_FUNCTION_CLASS(name)<Policy, type>::function(arg);   \
 }
 
-#define DECLARE_FUN1_0_1(name, ret_type, qual, type, after1) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(qual type& arg, after1 a1) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(arg, a1); \
-}
-
-#define DECLARE_FUN1_0_2(name, ret_type, qual, type, after1, after2) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(qual type& arg, after1 a1, after2 a2) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(arg, a1, a2); \
-}
-
-#define DECLARE_FUN1_0_3(name, ret_type, qual, type, after1, after2, after3) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(qual type& arg, after1 a1, after2 a2, after3 a3) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(arg, a1, a2, a3); \
-}
-
-#define DECLARE_FUN1_1_1(name, ret_type, before1, qual, type, after1) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(before1 b1, qual type& arg, after1 a1) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(b1, arg, a1); \
-}
-
-#define DECLARE_FUN1_1_2(name, ret_type, before1, qual, type, after1, after2) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(before1 b1, qual type& arg, after1 a1, after2 a2) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(b1, arg, a1, a2); \
-}
-
-#define DECLARE_FUN1_2_2(name, ret_type, before1, before2, qual, type, after1, after2) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(before1 b1, before2 b2, qual type& arg, after1 a1, after2 a2) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(b1, b2, arg, a1, a2); \
-}
-
-#define DECLARE_FUN2_0_0(name, ret_type, qual1, type1, qual2, type2) \
-template <typename Policy1, typename Policy2, typename type1, typename type2>	     \
-struct FUNCTION_CLASS(name); \
-template <typename Policy1, typename Policy2, typename type1, typename type2> \
-inline ret_type name(qual1 type1& arg1, qual2 type2& arg2) { \
-  return FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2>::function(arg1, arg2); \
-}
-
-#define DECLARE_FUN2_0_1(name, ret_type, qual1, type1, qual2, type2, after1) \
-template <typename Policy1, typename Policy2, typename type1, typename type2>		\
-struct 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 FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2>::function(arg1, arg2, a1); \
-}
-
-#define DECLARE_FUN2_0_2(name, ret_type, qual1, type1, qual2, type2, after1, after2) \
-template <typename Policy1, typename Policy2, typename type1, typename type2> \
-struct 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 FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2>::function(arg1, arg2, a1, a2); \
-}
-
-#define 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 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 FUNCTION_CLASS(name)<Policy1, Policy2, Policy3, type1, type2, type3>::function(arg1, arg2, arg3, a1); \
-}
-
-#define 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 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 FUNCTION_CLASS(name)<Policy1, Policy2, Policy3, Policy4, Policy5, type1, type2, type3, type4, type5> \
-    ::function(arg1, arg2, arg3, arg4, arg5, a1);			\
-}
-
-#define SPECIALIZE_FUN1_0_0(name, func, ret_type, qual, type) \
-template <typename Policy> \
-struct FUNCTION_CLASS(name)<Policy, type> { \
-  static inline ret_type function(qual type& arg) { \
-    return func<Policy>(arg); \
-  } \
-};
-
-#define SPECIALIZE_FUN1_0_1(name, func, ret_type, qual, type, after1) \
-template <typename Policy> \
-struct FUNCTION_CLASS(name)<Policy, type> { \
-  static inline ret_type function(qual type& arg, after1 a1) { \
-    return func<Policy>(arg, a1); \
-  } \
-};
-
-#define SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type, after1, after2) \
-template <typename Policy> \
-struct FUNCTION_CLASS(name)<Policy, type> { \
-  static inline ret_type function(qual type& arg, after1 a1, after2 a2) { \
-    return func<Policy>(arg, a1, a2); \
-  } \
-};
-
-#define SPECIALIZE_FUN1_0_3(name, func, ret_type, qual, type, after1, after2, after3) \
-template <typename Policy> \
-struct 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); \
-  } \
-};
-
-#define SPECIALIZE_FUN1_1_1(name, func, ret_type, before1, qual, type, after1) \
-template <typename Policy> \
-struct FUNCTION_CLASS(name)<Policy, type> { \
-  static inline ret_type function(before1 b1, qual type& arg, after1 a1) { \
-    return func<Policy>(b1, arg, a1); \
-  } \
-};
-
-#define SPECIALIZE_FUN1_1_2(name, func, ret_type, before1, qual, type, after1, after2) \
-template <typename Policy> \
-struct 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); \
-  } \
-};
-
-#define SPECIALIZE_FUN1_2_2(name, func, ret_type, before1, before2, qual, type, after1, after2) \
-template <typename Policy> \
-struct 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 SPECIALIZE_FUN2_0_0(name, func, ret_type, qual1, type1, qual2, type2) \
-template <typename Policy1, typename Policy2>				\
-struct 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 SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1) \
-template <typename Policy1, typename Policy2> \
-struct 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 SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2) \
-template <typename Policy1, typename Policy2> \
-struct 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 SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1) \
-template <typename Policy1, typename Policy2, typename Policy3>			\
-struct 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 SPECIALIZE_FUN5_0_1(name, func, ret_type,			\
-			    qual1, type1, qual2, type2, qual3, type3,	\
-			    qual4, type4, qual5, type5, after1)		\
+#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);   \
+  }
+
+#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); \
+  }
+
+#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); \
+  }
+
+#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); \
+  }
+
+#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);    \
+  }
+
+#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);    \
+  }
+
+#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);                              \
+  }
+
+#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_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);                      \
+  }
+
+#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);			\
+  }
+
+#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);                                         \
+    }                                                                   \
+  };
+
+#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);                                     \
+    }                                                                   \
+  };
+
+#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);                                 \
+    }                                                                   \
+  };
+
+#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);                             \
+    }                                                                   \
+  };
+
+#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);                                 \
+    }                                                                   \
+  };
+
+#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);                             \
+    }                                                                   \
+  };
+
+#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 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);	\
-  }									\
+  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 SPECIALIZE_COPY(func, Type) \
-  SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
-#define SPECIALIZE_SGN(func, From) \
-  SPECIALIZE_FUN1_0_0(sgn, func, Result, const, From)
-#define SPECIALIZE_CMP(func, Type1, Type2) \
-  SPECIALIZE_FUN2_0_0(cmp, func, Result, const, Type1, const, Type2)
-#define SPECIALIZE_CLASSIFY(func, Type) \
-  SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)
-#define SPECIALIZE_IS_NAN(func, Type) \
-  SPECIALIZE_FUN1_0_0(is_nan, func, bool, const, Type)
-#define SPECIALIZE_IS_MINF(func, Type) \
-  SPECIALIZE_FUN1_0_0(is_minf, func, bool, const, Type)
-#define SPECIALIZE_IS_PINF(func, Type) \
-  SPECIALIZE_FUN1_0_0(is_pinf, func, bool, const, Type)
-#define SPECIALIZE_IS_INT(func, Type) \
-  SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)
-#define SPECIALIZE_ASSIGN_SPECIAL(func, Type) \
-  SPECIALIZE_FUN1_0_2(assign_special, func, Result, nonconst, Type, Result, Rounding_Dir)
-#define SPECIALIZE_CONSTRUCT_SPECIAL(func, Type) \
-  SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst, Type, Result, Rounding_Dir)
-#define SPECIALIZE_CONSTRUCT(func, To, From) \
-  SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_ASSIGN(func, To, From) \
-  SPECIALIZE_FUN2_0_1(assign, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_FLOOR(func, To, From) \
-  SPECIALIZE_FUN2_0_1(floor, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_CEIL(func, To, From) \
-  SPECIALIZE_FUN2_0_1(ceil, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_TRUNC(func, To, From) \
-  SPECIALIZE_FUN2_0_1(trunc, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_NEG(func, To, From) \
-  SPECIALIZE_FUN2_0_1(neg, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_ABS(func, To, From) \
-  SPECIALIZE_FUN2_0_1(abs, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_SQRT(func, To, From) \
-  SPECIALIZE_FUN2_0_1(sqrt, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_ADD(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(add, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_SUB(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(sub, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_MUL(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(mul, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_DIV(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(div, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_REM(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(rem, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_IDIV(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(idiv, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_MUL2EXP(func, To, From) \
-  SPECIALIZE_FUN2_0_2(mul2exp, func, Result, nonconst, To, const, From, int, Rounding_Dir)
-#define SPECIALIZE_DIV2EXP(func, To, From) \
-  SPECIALIZE_FUN2_0_2(div2exp, func, Result, nonconst, To, const, From, int, Rounding_Dir)
-#define SPECIALIZE_ADD_MUL(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(add_mul, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_SUB_MUL(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(sub_mul, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_GCD(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(gcd, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_GCDEXT(func, To1, From1, From2, To2, To3)		\
-  SPECIALIZE_FUN5_0_1(gcdext, func, Result, nonconst, To1,		\
-		      nonconst, To2, nonconst, To3, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_LCM(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(lcm, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_INPUT(func, Type) \
-  SPECIALIZE_FUN1_0_2(input, func, Result, nonconst, Type, std::istream&, Rounding_Dir)
-#define SPECIALIZE_OUTPUT(func, Type) \
-  SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&, const, Type, const Numeric_Format&, Rounding_Dir)
-
-
-DECLARE_FUN2_0_0(copy,        void, nonconst, Type1, const, Type2)
-DECLARE_FUN1_0_0(sgn,         Result, const, From)
-DECLARE_FUN2_0_0(cmp,         Result, const, Type1, const, Type2)
-DECLARE_FUN1_0_3(classify,    Result, const, Type, bool, bool, bool)
-DECLARE_FUN1_0_0(is_nan,      bool, const, Type)
-DECLARE_FUN1_0_0(is_minf,     bool, const, Type)
-DECLARE_FUN1_0_0(is_pinf,     bool, const, Type)
-DECLARE_FUN1_0_0(is_int,      bool, const, Type)
-DECLARE_FUN1_0_2(assign_special, Result, nonconst, Type, Result, Rounding_Dir)
-DECLARE_FUN1_0_2(construct_special, Result, nonconst, Type, Result, Rounding_Dir)
-DECLARE_FUN2_0_1(construct,   Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(assign,      Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(floor,       Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(ceil,        Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(trunc,       Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(neg,         Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(abs,         Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(sqrt,        Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN3_0_1(add,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(sub,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(mul,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(div,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(rem,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(idiv,        Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN2_0_2(mul2exp,     Result, nonconst, To, const, From, int, Rounding_Dir)
-DECLARE_FUN2_0_2(div2exp,     Result, nonconst, To, const, From, int, Rounding_Dir)
-DECLARE_FUN3_0_1(add_mul,     Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(sub_mul,     Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(gcd,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN5_0_1(gcdext,      Result, nonconst, To1, nonconst, To2, nonconst, To3, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(lcm,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN1_0_2(input,       Result, nonconst, Type, std::istream&, Rounding_Dir)
-DECLARE_FUN1_1_2(output,      Result, std::ostream&, const, Type, const Numeric_Format&, Rounding_Dir)
+#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, const, From)
+#define PPL_SPECIALIZE_CMP(func, Type1, Type2)                          \
+  PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result, 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, Rounding_Dir)
+#define PPL_SPECIALIZE_CONSTRUCT_SPECIAL(func, Type)                    \
+  PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst,    \
+                          Type, Result, 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_MUL2EXP(func, To, From)                          \
+  PPL_SPECIALIZE_FUN2_0_2(mul2exp, func, Result, nonconst, To,          \
+                          const, From, int, Rounding_Dir)
+#define PPL_SPECIALIZE_DIV2EXP(func, To, From)                          \
+  PPL_SPECIALIZE_FUN2_0_2(div2exp, func, Result, nonconst, To,          \
+                          const, From, 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, const, From)
+PPL_DECLARE_FUN2_0_0(cmp,
+                     Result, 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, Rounding_Dir)
+PPL_DECLARE_FUN1_0_2(construct_special,
+                     Result, nonconst, Type, Result, 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(mul2exp,
+                     Result, nonconst, To, const, From, int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(div2exp,
+                     Result, nonconst, To, const, From, 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);
@@ -454,4 +599,13 @@ struct Checked_Number_Transparent_Policy {
 #include "checked_mpq.inlines.hh"
 #include "checked_ext.inlines.hh"
 
+#undef nonconst
+#ifdef PPL_SAVED_nonconst
+#define nonconst PPL_SAVED_nonconst
+#undef PPL_SAVED_nonconst
+#endif
+
+#undef PPL_FUNCTION_CLASS
+#undef PPL_NAN
+
 #endif // !defined(PPL_checked_defs_hh)
diff --git a/src/checked.inlines.hh b/src/checked.inlines.hh
index 60233f7..b340bd9 100644
--- a/src/checked.inlines.hh
+++ b/src/checked.inlines.hh
@@ -1,5 +1,5 @@
 /* Abstract checked arithmetic functions: fall-backs.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,6 +20,9 @@ Inc., 51 Franklin Street, Fifth Floor, 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_checked_inlines_hh
+#define PPL_checked_inlines_hh 1
+
 #include "globals.types.hh"
 #include "meta_programming.hh"
 #include "C_Integer.hh"
@@ -36,161 +39,163 @@ template <typename T>
 struct Safe_Conversion<T, T> : public True {
 };
 
-#define safe_conversion(To, From)					\
+#define PPL_SAFE_CONVERSION(To, From)					\
   template <> struct Safe_Conversion<To, From> : public True { }
 
-safe_conversion(signed short, signed char);
+PPL_SAFE_CONVERSION(signed short, signed char);
 #if PPL_SIZEOF_CHAR < PPL_SIZEOF_SHORT
-safe_conversion(signed short, unsigned char);
+PPL_SAFE_CONVERSION(signed short, unsigned char);
 #endif
 
-safe_conversion(signed int, signed char);
-safe_conversion(signed int, signed short);
+PPL_SAFE_CONVERSION(signed int, signed char);
+PPL_SAFE_CONVERSION(signed int, signed short);
 #if PPL_SIZEOF_CHAR < PPL_SIZEOF_INT
-safe_conversion(signed int, unsigned char);
+PPL_SAFE_CONVERSION(signed int, unsigned char);
 #endif
 #if PPL_SIZEOF_SHORT < PPL_SIZEOF_INT
-safe_conversion(signed int, unsigned short);
+PPL_SAFE_CONVERSION(signed int, unsigned short);
 #endif
 
-safe_conversion(signed long, signed char);
-safe_conversion(signed long, signed short);
-safe_conversion(signed long, signed int);
+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
-safe_conversion(signed long, unsigned char);
+PPL_SAFE_CONVERSION(signed long, unsigned char);
 #endif
 #if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG
-safe_conversion(signed long, unsigned short);
+PPL_SAFE_CONVERSION(signed long, unsigned short);
 #endif
 #if PPL_SIZEOF_INT < PPL_SIZEOF_LONG
-safe_conversion(signed long, unsigned int);
+PPL_SAFE_CONVERSION(signed long, unsigned int);
 #endif
 
-safe_conversion(signed long long, signed char);
-safe_conversion(signed long long, signed short);
-safe_conversion(signed long long, signed int);
-safe_conversion(signed long long, signed long);
+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
-safe_conversion(signed long long, unsigned char);
+PPL_SAFE_CONVERSION(signed long long, unsigned char);
 #endif
 #if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG_LONG
-safe_conversion(signed long long, unsigned short);
+PPL_SAFE_CONVERSION(signed long long, unsigned short);
 #endif
 #if PPL_SIZEOF_INT < PPL_SIZEOF_LONG_LONG
-safe_conversion(signed long long, unsigned int);
+PPL_SAFE_CONVERSION(signed long long, unsigned int);
 #endif
 #if PPL_SIZEOF_LONG < PPL_SIZEOF_LONG_LONG
-safe_conversion(signed long long, unsigned long);
+PPL_SAFE_CONVERSION(signed long long, unsigned long);
 #endif
 
-safe_conversion(unsigned short, unsigned char);
+PPL_SAFE_CONVERSION(unsigned short, unsigned char);
 
-safe_conversion(unsigned int, unsigned char);
-safe_conversion(unsigned int, unsigned short);
+PPL_SAFE_CONVERSION(unsigned int, unsigned char);
+PPL_SAFE_CONVERSION(unsigned int, unsigned short);
 
-safe_conversion(unsigned long, unsigned char);
-safe_conversion(unsigned long, unsigned short);
-safe_conversion(unsigned long, unsigned int);
+PPL_SAFE_CONVERSION(unsigned long, unsigned char);
+PPL_SAFE_CONVERSION(unsigned long, unsigned short);
+PPL_SAFE_CONVERSION(unsigned long, unsigned int);
 
-safe_conversion(unsigned long long, unsigned char);
-safe_conversion(unsigned long long, unsigned short);
-safe_conversion(unsigned long long, unsigned int);
-safe_conversion(unsigned long long, unsigned long);
+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);
 
 
 #if PPL_SIZEOF_CHAR <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed char);
-safe_conversion(float, unsigned char);
+PPL_SAFE_CONVERSION(float, signed char);
+PPL_SAFE_CONVERSION(float, unsigned char);
 #endif
 #if PPL_SIZEOF_SHORT <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed short);
-safe_conversion(float, unsigned short);
+PPL_SAFE_CONVERSION(float, signed short);
+PPL_SAFE_CONVERSION(float, unsigned short);
 #endif
 #if PPL_SIZEOF_INT <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed int);
-safe_conversion(float, unsigned int);
+PPL_SAFE_CONVERSION(float, signed int);
+PPL_SAFE_CONVERSION(float, unsigned int);
 #endif
 #if PPL_SIZEOF_LONG <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed long);
-safe_conversion(float, unsigned long);
+PPL_SAFE_CONVERSION(float, signed long);
+PPL_SAFE_CONVERSION(float, unsigned long);
 #endif
 #if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed long long);
-safe_conversion(float, unsigned long long);
+PPL_SAFE_CONVERSION(float, signed long long);
+PPL_SAFE_CONVERSION(float, unsigned long long);
 #endif
 
 #if PPL_SIZEOF_CHAR <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed char);
-safe_conversion(double, unsigned char);
+PPL_SAFE_CONVERSION(double, signed char);
+PPL_SAFE_CONVERSION(double, unsigned char);
 #endif
 #if PPL_SIZEOF_SHORT <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed short);
-safe_conversion(double, unsigned short);
+PPL_SAFE_CONVERSION(double, signed short);
+PPL_SAFE_CONVERSION(double, unsigned short);
 #endif
 #if PPL_SIZEOF_INT <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed int);
-safe_conversion(double, unsigned int);
+PPL_SAFE_CONVERSION(double, signed int);
+PPL_SAFE_CONVERSION(double, unsigned int);
 #endif
 #if PPL_SIZEOF_LONG <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed long);
-safe_conversion(double, unsigned long);
+PPL_SAFE_CONVERSION(double, signed long);
+PPL_SAFE_CONVERSION(double, unsigned long);
 #endif
 #if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed long long);
-safe_conversion(double, unsigned long long);
+PPL_SAFE_CONVERSION(double, signed long long);
+PPL_SAFE_CONVERSION(double, unsigned long long);
 #endif
-safe_conversion(double, float);
+PPL_SAFE_CONVERSION(double, float);
 
 #if PPL_SIZEOF_CHAR <= PPL_SIZEOF_LONG_DOUBLE - 4
-safe_conversion(long double, signed char);
-safe_conversion(long double, unsigned 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
-safe_conversion(long double, signed short);
-safe_conversion(long double, unsigned short);
+PPL_SAFE_CONVERSION(long double, signed short);
+PPL_SAFE_CONVERSION(long double, unsigned short);
 #endif
 #if PPL_SIZEOF_INT <= PPL_SIZEOF_LONG_DOUBLE - 4
-safe_conversion(long double, signed int);
-safe_conversion(long double, unsigned int);
+PPL_SAFE_CONVERSION(long double, signed int);
+PPL_SAFE_CONVERSION(long double, unsigned int);
 #endif
 #if PPL_SIZEOF_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
-safe_conversion(long double, signed long);
-safe_conversion(long double, unsigned long);
+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
-safe_conversion(long double, signed long long);
-safe_conversion(long double, unsigned long long);
+PPL_SAFE_CONVERSION(long double, signed long long);
+PPL_SAFE_CONVERSION(long double, unsigned long long);
 #endif
-safe_conversion(long double, float);
-safe_conversion(long double, double);
-
-safe_conversion(mpz_class, signed char);
-safe_conversion(mpz_class, signed short);
-safe_conversion(mpz_class, signed int);
-safe_conversion(mpz_class, signed long);
-//safe_conversion(mpz_class, signed long long);
-safe_conversion(mpz_class, unsigned char);
-safe_conversion(mpz_class, unsigned short);
-safe_conversion(mpz_class, unsigned int);
-safe_conversion(mpz_class, unsigned long);
-//safe_conversion(mpz_class, unsigned long long);
-
-safe_conversion(mpq_class, signed char);
-safe_conversion(mpq_class, signed short);
-safe_conversion(mpq_class, signed int);
-safe_conversion(mpq_class, signed long);
-//safe_conversion(mpq_class, signed long long);
-safe_conversion(mpq_class, unsigned char);
-safe_conversion(mpq_class, unsigned short);
-safe_conversion(mpq_class, unsigned int);
-safe_conversion(mpq_class, unsigned long);
-//safe_conversion(mpq_class, unsigned long long);
-safe_conversion(mpq_class, float);
-safe_conversion(mpq_class, double);
-//safe_conversion(mpq_class, long double);
+PPL_SAFE_CONVERSION(long double, float);
+PPL_SAFE_CONVERSION(long double, double);
+
+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, 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);
+
+#undef PPL_SAFE_CONVERSION
 
 template <typename Policy, typename Type>
-struct FUNCTION_CLASS(construct)<Policy, Policy, Type, 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;
@@ -198,7 +203,7 @@ struct FUNCTION_CLASS(construct)<Policy, Policy, Type, Type> {
 };
 
 template <typename To_Policy, typename From_Policy, typename To, typename From>
-struct FUNCTION_CLASS(construct) {
+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);
@@ -206,7 +211,7 @@ struct FUNCTION_CLASS(construct) {
 };
 
 template <typename To_Policy, typename To>
-struct FUNCTION_CLASS(construct_special) {
+struct PPL_FUNCTION_CLASS(construct_special) {
   static inline Result function(To& to, Result r, Rounding_Dir dir) {
     new (&to) To();
     return assign_special<To_Policy>(to, r, dir);
@@ -334,12 +339,12 @@ gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
   if (r != V_EQ)
     return r;
 
-  // If COPY_GMP is defined then s is favored when the absolute
+  // 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 COPY_GMP
-#ifdef COPY_GMP
+#define PPL_MATCH_GMP_GCDEXT 1
+#ifdef PPL_MATCH_GMP_GCDEXT
   if (to == ay)
     goto sign_check;
 #endif
@@ -365,7 +370,7 @@ gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
     }
   }
 
-#ifdef COPY_GMP
+#ifdef PPL_MATCH_GMP_GCDEXT
  sign_check:
 #endif
   if (negative_x) {
@@ -376,6 +381,7 @@ gcdext_exact(To1& to, To2& s, To3& t, const From1& x, const From2& y,
   if (negative_y)
     return neg<To3_Policy, To3_Policy>(t, t, dir);
   return V_EQ;
+#undef PPL_MATCH_GMP_GCDEXT
 }
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy,
@@ -504,13 +510,12 @@ 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) {
-  DIRTY_TEMP(T1, tmp);
+  PPL_DIRTY_TEMP(T1, tmp);
   Result r = assign_r(tmp, y, static_cast<Rounding_Dir>(ROUND_DIRECT | ROUND_FPU_CHECK_INEXACT));
-  // FIXME: Can we do any better?
-  // 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.
+  // 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.
   assert(r != V_LE && r != V_GE && r != V_LGE);
   return r == V_EQ && x == tmp;
 }
@@ -520,7 +525,7 @@ 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) {
-  DIRTY_TEMP(T1, tmp);
+  PPL_DIRTY_TEMP(T1, tmp);
   Result r = assign_r(tmp, y, ROUND_UP);
   switch (r) {
   case V_POS_OVERFLOW:
@@ -541,7 +546,7 @@ 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) {
-  DIRTY_TEMP(T1, tmp);
+  PPL_DIRTY_TEMP(T1, tmp);
   Result r
     = assign_r(tmp,
                y,
@@ -557,8 +562,7 @@ le(const T1& x, const T2& y) {
   case V_LE:
   case V_GE:
   case V_LGE:
-    // FIXME: Can we do any better?
-    // See comment above.
+    // FIXME: See comment above.
     assert(0);
   default:
     return false;
@@ -600,7 +604,7 @@ cmp_generic(const Type1& x, const Type2& y) {
 template <typename Policy, typename Type>
 inline Result
 input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
-  DIRTY_TEMP0(mpq_class, q);
+  PPL_DIRTY_TEMP0(mpq_class, q);
   Result r = input_mpq(q, is);
   if (is_special(r))
     return assign_special<Policy>(to, r, dir);
@@ -613,3 +617,5 @@ input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
 } // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_checked_inlines_hh)
diff --git a/src/checked_ext.inlines.hh b/src/checked_ext.inlines.hh
index f269a8a..843f2e4 100644
--- a/src/checked_ext.inlines.hh
+++ b/src/checked_ext.inlines.hh
@@ -1,5 +1,5 @@
 /* Checked extended arithmetic functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,6 +20,9 @@ Inc., 51 Franklin Street, Fifth Floor, 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_checked_ext_defs_hh
+#define PPL_checked_ext_defs_hh 1
+
 namespace Parma_Polyhedra_Library {
 
 template <typename T> struct FPU_Related : public False {};
@@ -841,3 +844,5 @@ input_ext(To& to, std::istream& is, Rounding_Dir dir) {
 } // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_checked_ext_defs_hh)
diff --git a/src/checked_float.inlines.hh b/src/checked_float.inlines.hh
index 8b25e9e..828ef0e 100644
--- a/src/checked_float.inlines.hh
+++ b/src/checked_float.inlines.hh
@@ -1,5 +1,5 @@
 /* Specialized "checked" functions for native floating-point numbers.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,6 +23,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_checked_float_inlines_hh
 #define PPL_checked_float_inlines_hh 1
 
+#include "compiler.hh"
 #ifndef __alpha
 #include <cmath>
 #endif
@@ -33,7 +34,7 @@ namespace Checked {
 
 inline float
 fma(float x, float y, float z) {
-#if PPL_HAVE_DECL_FMAF && !defined(__alpha)
+#if PPL_HAVE_DECL_FMAF && !defined(__alpha) && !defined(__FreeBSD__)
   return ::fmaf(x, y, z);
 #else
   return x*y + z;
@@ -42,7 +43,7 @@ fma(float x, float y, float z) {
 
 inline double
 fma(double x, double y, double z) {
-#if PPL_HAVE_DECL_FMA && !defined(__alpha)
+#if PPL_HAVE_DECL_FMA && !defined(__alpha) && !defined(__FreeBSD__)
   return ::fma(x, y, z);
 #else
   return x*y + z;
@@ -51,7 +52,7 @@ fma(double x, double y, double z) {
 
 inline long double
 fma(long double x, long double y, long double z) {
-#if PPL_HAVE_DECL_FMAL && !defined(__alpha)
+#if PPL_HAVE_DECL_FMAL && !defined(__alpha) && !defined(__FreeBSD__)
   return ::fmal(x, y, z);
 #else
   return x*y + z;
@@ -207,7 +208,7 @@ assign_special_float(T& v, Result r, Rounding_Dir) {
     v = HUGE_VAL;
     break;
   case VC_NAN:
-    v = NAN;
+    v = PPL_NAN;
     return r;
   default:
     break;
@@ -910,160 +911,160 @@ output_float(std::ostream& os, const Type from, const Numeric_Format&,
 }
 
 #if PPL_SUPPORTED_FLOAT
-SPECIALIZE_ASSIGN(assign_float_float_exact, float, float)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, float, float)
 #if PPL_SUPPORTED_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float, float, double)
-SPECIALIZE_ASSIGN(assign_float_float_exact, double, float)
+PPL_SPECIALIZE_ASSIGN(assign_float_float, float, double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, float)
 #endif
 #if PPL_SUPPORTED_LONG_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float, float, long double)
-SPECIALIZE_ASSIGN(assign_float_float_exact, long double, float)
+PPL_SPECIALIZE_ASSIGN(assign_float_float, float, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, float)
 #endif
 #endif
 
 #if PPL_SUPPORTED_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float_exact, double, double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, double, double)
 #if PPL_SUPPORTED_LONG_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float, double, long double)
-SPECIALIZE_ASSIGN(assign_float_float_exact, long double, double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float, double, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, double)
 #endif
 #endif
 
 #if PPL_SUPPORTED_LONG_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float_exact, long double, long double)
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, long double)
 #endif
 
 #if PPL_SUPPORTED_FLOAT
-SPECIALIZE_CLASSIFY(classify_float, float)
-SPECIALIZE_IS_NAN(is_nan_float, float)
-SPECIALIZE_IS_MINF(is_minf_float, float)
-SPECIALIZE_IS_PINF(is_pinf_float, float)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, float)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed char)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed short)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed int)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed long)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed long long)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned char)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned short)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned int)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long long)
-SPECIALIZE_ASSIGN(assign_float_mpz, float, mpz_class)
-SPECIALIZE_ASSIGN(assign_float_mpq, float, mpq_class)
-SPECIALIZE_COPY(copy_generic, float)
-SPECIALIZE_IS_INT(is_int_float, float)
-SPECIALIZE_FLOOR(floor_float, float, float)
-SPECIALIZE_CEIL(ceil_float, float, float)
-SPECIALIZE_TRUNC(trunc_float, float, float)
-SPECIALIZE_NEG(neg_float, float, float)
-SPECIALIZE_ABS(abs_float, float, float)
-SPECIALIZE_ADD(add_float, float, float, float)
-SPECIALIZE_SUB(sub_float, float, float, float)
-SPECIALIZE_MUL(mul_float, float, float, float)
-SPECIALIZE_DIV(div_float, float, float, float)
-SPECIALIZE_REM(rem_float, float, float, float)
-SPECIALIZE_MUL2EXP(mul2exp_float, float, float)
-SPECIALIZE_DIV2EXP(div2exp_float, float, float)
-SPECIALIZE_SQRT(sqrt_float, float, float)
-SPECIALIZE_GCD(gcd_exact, float, float, float)
-SPECIALIZE_GCDEXT(gcdext_exact, float, float, float, float, float)
-SPECIALIZE_LCM(lcm_gcd_exact, float, float, float)
-SPECIALIZE_SGN(sgn_float, float)
-SPECIALIZE_CMP(cmp_float, float, float)
-SPECIALIZE_ADD_MUL(add_mul_float, float, float, float)
-SPECIALIZE_SUB_MUL(sub_mul_float, float, float, float)
-SPECIALIZE_INPUT(input_generic, float)
-SPECIALIZE_OUTPUT(output_float, 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, 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_MUL2EXP(mul2exp_float, float, float)
+PPL_SPECIALIZE_DIV2EXP(div2exp_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
 
 #if PPL_SUPPORTED_DOUBLE
-SPECIALIZE_CLASSIFY(classify_float, double)
-SPECIALIZE_IS_NAN(is_nan_float, double)
-SPECIALIZE_IS_MINF(is_minf_float, double)
-SPECIALIZE_IS_PINF(is_pinf_float, double)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, double)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed char)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed short)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed int)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed long)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed long long)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned char)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned short)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned int)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long long)
-SPECIALIZE_ASSIGN(assign_float_mpz, double, mpz_class)
-SPECIALIZE_ASSIGN(assign_float_mpq, double, mpq_class)
-SPECIALIZE_COPY(copy_generic, double)
-SPECIALIZE_IS_INT(is_int_float, double)
-SPECIALIZE_FLOOR(floor_float, double, double)
-SPECIALIZE_CEIL(ceil_float, double, double)
-SPECIALIZE_TRUNC(trunc_float, double, double)
-SPECIALIZE_NEG(neg_float, double, double)
-SPECIALIZE_ABS(abs_float, double, double)
-SPECIALIZE_ADD(add_float, double, double, double)
-SPECIALIZE_SUB(sub_float, double, double, double)
-SPECIALIZE_MUL(mul_float, double, double, double)
-SPECIALIZE_DIV(div_float, double, double, double)
-SPECIALIZE_REM(rem_float, double, double, double)
-SPECIALIZE_MUL2EXP(mul2exp_float, double, double)
-SPECIALIZE_DIV2EXP(div2exp_float, double, double)
-SPECIALIZE_SQRT(sqrt_float, double, double)
-SPECIALIZE_GCD(gcd_exact, double, double, double)
-SPECIALIZE_GCDEXT(gcdext_exact, double, double, double, double, double)
-SPECIALIZE_LCM(lcm_gcd_exact, double, double, double)
-SPECIALIZE_SGN(sgn_float, double)
-SPECIALIZE_CMP(cmp_float, double, double)
-SPECIALIZE_ADD_MUL(add_mul_float, double, double, double)
-SPECIALIZE_SUB_MUL(sub_mul_float, double, double, double)
-SPECIALIZE_INPUT(input_generic, double)
-SPECIALIZE_OUTPUT(output_float, 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, 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_MUL2EXP(mul2exp_float, double, double)
+PPL_SPECIALIZE_DIV2EXP(div2exp_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
 
 #if PPL_SUPPORTED_LONG_DOUBLE
-SPECIALIZE_CLASSIFY(classify_float, long double)
-SPECIALIZE_IS_NAN(is_nan_float, long double)
-SPECIALIZE_IS_MINF(is_minf_float, long double)
-SPECIALIZE_IS_PINF(is_pinf_float, long double)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, long double)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed char)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed short)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed int)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed long)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed long long)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned char)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned short)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned int)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long long)
-SPECIALIZE_ASSIGN(assign_float_mpz, long double, mpz_class)
-SPECIALIZE_ASSIGN(assign_float_mpq, long double, mpq_class)
-SPECIALIZE_COPY(copy_generic, long double)
-SPECIALIZE_IS_INT(is_int_float, long double)
-SPECIALIZE_FLOOR(floor_float, long double, long double)
-SPECIALIZE_CEIL(ceil_float, long double, long double)
-SPECIALIZE_TRUNC(trunc_float, long double, long double)
-SPECIALIZE_NEG(neg_float, long double, long double)
-SPECIALIZE_ABS(abs_float, long double, long double)
-SPECIALIZE_ADD(add_float, long double, long double, long double)
-SPECIALIZE_SUB(sub_float, long double, long double, long double)
-SPECIALIZE_MUL(mul_float, long double, long double, long double)
-SPECIALIZE_DIV(div_float, long double, long double, long double)
-SPECIALIZE_REM(rem_float, long double, long double, long double)
-SPECIALIZE_MUL2EXP(mul2exp_float, long double, long double)
-SPECIALIZE_DIV2EXP(div2exp_float, long double, long double)
-SPECIALIZE_SQRT(sqrt_float, long double, long double)
-SPECIALIZE_GCD(gcd_exact, long double, long double, long double)
-SPECIALIZE_GCDEXT(gcdext_exact, long double, long double, 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, 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_MUL2EXP(mul2exp_float, long double, long double)
+PPL_SPECIALIZE_DIV2EXP(div2exp_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)
-SPECIALIZE_LCM(lcm_gcd_exact, long double, long double, long double)
-SPECIALIZE_SGN(sgn_float, long double)
-SPECIALIZE_CMP(cmp_float, long double, long double)
-SPECIALIZE_ADD_MUL(add_mul_float, long double, long double, long double)
-SPECIALIZE_SUB_MUL(sub_mul_float, long double, long double, long double)
-SPECIALIZE_INPUT(input_generic, long double)
-SPECIALIZE_OUTPUT(output_float, 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
 
 } // namespace Checked
diff --git a/src/checked_int.inlines.hh b/src/checked_int.inlines.hh
index 08256cc..6f48101 100644
--- a/src/checked_int.inlines.hh
+++ b/src/checked_int.inlines.hh
@@ -1,5 +1,5 @@
 /* Specialized "checked" functions for native integer numbers.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -175,16 +175,16 @@ round_gt_int(To& to, Rounding_Dir dir) {
   return V_GT;
 }
 
-SPECIALIZE_COPY(copy_generic, signed char)
-SPECIALIZE_COPY(copy_generic, signed short)
-SPECIALIZE_COPY(copy_generic, signed int)
-SPECIALIZE_COPY(copy_generic, signed long)
-SPECIALIZE_COPY(copy_generic, signed long long)
-SPECIALIZE_COPY(copy_generic, unsigned char)
-SPECIALIZE_COPY(copy_generic, unsigned short)
-SPECIALIZE_COPY(copy_generic, unsigned int)
-SPECIALIZE_COPY(copy_generic, unsigned long)
-SPECIALIZE_COPY(copy_generic, unsigned long long)
+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 Policy, typename Type>
 inline Result
@@ -211,16 +211,16 @@ classify_int(const Type v, bool nan, bool inf, bool sign) {
   return VC_NORMAL;
 }
 
-SPECIALIZE_CLASSIFY(classify_int, signed char)
-SPECIALIZE_CLASSIFY(classify_int, signed short)
-SPECIALIZE_CLASSIFY(classify_int, signed int)
-SPECIALIZE_CLASSIFY(classify_int, signed long)
-SPECIALIZE_CLASSIFY(classify_int, signed long long)
-SPECIALIZE_CLASSIFY(classify_int, unsigned char)
-SPECIALIZE_CLASSIFY(classify_int, unsigned short)
-SPECIALIZE_CLASSIFY(classify_int, unsigned int)
-SPECIALIZE_CLASSIFY(classify_int, unsigned long)
-SPECIALIZE_CLASSIFY(classify_int, unsigned long long)
+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
@@ -228,16 +228,16 @@ is_nan_int(const Type v) {
   return Policy::has_nan && v == Extended_Int<Policy, Type>::not_a_number;
 }
 
-SPECIALIZE_IS_NAN(is_nan_int, signed char)
-SPECIALIZE_IS_NAN(is_nan_int, signed short)
-SPECIALIZE_IS_NAN(is_nan_int, signed int)
-SPECIALIZE_IS_NAN(is_nan_int, signed long)
-SPECIALIZE_IS_NAN(is_nan_int, signed long long)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned char)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned short)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned int)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned long)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned long long)
+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 Policy, typename Type>
 inline bool
@@ -246,16 +246,16 @@ is_minf_int(const Type v) {
     && v == Extended_Int<Policy, Type>::minus_infinity;
 }
 
-SPECIALIZE_IS_MINF(is_minf_int, signed char)
-SPECIALIZE_IS_MINF(is_minf_int, signed short)
-SPECIALIZE_IS_MINF(is_minf_int, signed int)
-SPECIALIZE_IS_MINF(is_minf_int, signed long)
-SPECIALIZE_IS_MINF(is_minf_int, signed long long)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned char)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned short)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned int)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned long)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned long long)
+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 Policy, typename Type>
 inline bool
@@ -264,16 +264,16 @@ is_pinf_int(const Type v) {
     && v == Extended_Int<Policy, Type>::plus_infinity;
 }
 
-SPECIALIZE_IS_PINF(is_pinf_int, signed char)
-SPECIALIZE_IS_PINF(is_pinf_int, signed short)
-SPECIALIZE_IS_PINF(is_pinf_int, signed int)
-SPECIALIZE_IS_PINF(is_pinf_int, signed long)
-SPECIALIZE_IS_PINF(is_pinf_int, signed long long)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned char)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned short)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned int)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned long)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned long long)
+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 Policy, typename Type>
 inline bool
@@ -281,16 +281,16 @@ is_int_int(const Type v) {
   return !is_nan<Policy>(v);
 }
 
-SPECIALIZE_IS_INT(is_int_int, signed char)
-SPECIALIZE_IS_INT(is_int_int, signed short)
-SPECIALIZE_IS_INT(is_int_int, signed int)
-SPECIALIZE_IS_INT(is_int_int, signed long)
-SPECIALIZE_IS_INT(is_int_int, signed long long)
-SPECIALIZE_IS_INT(is_int_int, unsigned char)
-SPECIALIZE_IS_INT(is_int_int, unsigned short)
-SPECIALIZE_IS_INT(is_int_int, unsigned int)
-SPECIALIZE_IS_INT(is_int_int, unsigned long)
-SPECIALIZE_IS_INT(is_int_int, unsigned long long)
+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 Policy, typename Type>
 inline Result
@@ -328,16 +328,16 @@ assign_special_int(Type& v, Result r, Rounding_Dir dir) {
   return r;
 }
 
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed char)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed short)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed int)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long long)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned char)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned short)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned int)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long long)
+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 From_Policy, typename To, typename From>
 inline Result
@@ -398,83 +398,83 @@ assign_unsigned_int_unsigned_int(To& to, const From from, Rounding_Dir dir) {
 }
 
 
-#define ASSIGN2_SIGNED_SIGNED(Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Larger, Smaller)
-
-#define ASSIGN2_UNSIGNED_UNSIGNED(Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Larger, Smaller)
-
-#define ASSIGN2_UNSIGNED_SIGNED(Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Larger, Smaller)
-
-#define ASSIGN2_SIGNED_UNSIGNED(Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Larger, Smaller)
-
-#define ASSIGN_SIGNED(Type) \
-SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Type, Type)
-#define ASSIGN_UNSIGNED(Type) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Type, Type)
-
-ASSIGN_SIGNED(signed char)
-ASSIGN_SIGNED(signed short)
-ASSIGN_SIGNED(signed int)
-ASSIGN_SIGNED(signed long)
-ASSIGN_SIGNED(signed long long)
-ASSIGN_UNSIGNED(unsigned char)
-ASSIGN_UNSIGNED(unsigned short)
-ASSIGN_UNSIGNED(unsigned int)
-ASSIGN_UNSIGNED(unsigned long)
-ASSIGN_UNSIGNED(unsigned long long)
-
-ASSIGN2_SIGNED_SIGNED(signed char, signed short)
-ASSIGN2_SIGNED_SIGNED(signed char, signed int)
-ASSIGN2_SIGNED_SIGNED(signed char, signed long)
-ASSIGN2_SIGNED_SIGNED(signed char, signed long long)
-ASSIGN2_SIGNED_SIGNED(signed short, signed int)
-ASSIGN2_SIGNED_SIGNED(signed short, signed long)
-ASSIGN2_SIGNED_SIGNED(signed short, signed long long)
-ASSIGN2_SIGNED_SIGNED(signed int, signed long)
-ASSIGN2_SIGNED_SIGNED(signed int, signed long long)
-ASSIGN2_SIGNED_SIGNED(signed long, signed long long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned short)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned int)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned int)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned long, unsigned long long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed short)
-ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed int)
-ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed int)
-ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned long, signed long long)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned char)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned short)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned int)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long long)
-ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned short)
-ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned int)
-ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long)
-ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long long)
-ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned int)
-ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long)
-ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long long)
-ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long)
-ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long long)
-ASSIGN2_SIGNED_UNSIGNED(signed long long, unsigned long long)
+#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)
+
+#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)
+
+#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)
+
+#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)
+
+#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_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)
+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)
+
+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)
+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)
+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)
+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
@@ -511,43 +511,45 @@ assign_int_float(To& to, const From from, Rounding_Dir dir) {
     return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_int_float, signed char, float)
-SPECIALIZE_ASSIGN(assign_int_float, signed short, float)
-SPECIALIZE_ASSIGN(assign_int_float, signed int, float)
-SPECIALIZE_ASSIGN(assign_int_float, signed long, float)
-SPECIALIZE_ASSIGN(assign_int_float, signed long long, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned char, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned short, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned int, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, float)
-
-SPECIALIZE_ASSIGN(assign_int_float, signed char, double)
-SPECIALIZE_ASSIGN(assign_int_float, signed short, double)
-SPECIALIZE_ASSIGN(assign_int_float, signed int, double)
-SPECIALIZE_ASSIGN(assign_int_float, signed long, double)
-SPECIALIZE_ASSIGN(assign_int_float, signed long long, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned char, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned short, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned int, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, double)
-
-SPECIALIZE_ASSIGN(assign_int_float, signed char, long double)
-SPECIALIZE_ASSIGN(assign_int_float, signed short, long double)
-SPECIALIZE_ASSIGN(assign_int_float, signed int, long double)
-SPECIALIZE_ASSIGN(assign_int_float, signed long, long double)
-SPECIALIZE_ASSIGN(assign_int_float, signed long long, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned char, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned short, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned int, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, long double)
-
-#undef ASSIGN2_SIGNED_SIGNED
-#undef ASSIGN2_UNSIGNED_UNSIGNED
-#undef ASSIGN2_UNSIGNED_SIGNED
-#undef ASSIGN2_SIGNED_UNSIGNED
+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)
+
+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_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)
+
+#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
@@ -590,11 +592,11 @@ assign_signed_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
     : set_pos_overflow_int<To_Policy>(to, dir);
 }
 
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed char, mpz_class)
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed short, mpz_class)
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed int, mpz_class)
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long, mpz_class)
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long long, mpz_class)
+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, typename To>
 inline Result
@@ -628,18 +630,18 @@ assign_unsigned_int_mpz(To& to, const mpz_class& from, Rounding_Dir dir) {
   return set_pos_overflow_int<To_Policy>(to, dir);
 }
 
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned char, mpz_class)
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned short, mpz_class)
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned int, mpz_class)
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long, mpz_class)
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long long, mpz_class)
+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 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();
-  DIRTY_TEMP0(mpz_class, q);
+  PPL_DIRTY_TEMP0(mpz_class, q);
   mpz_ptr _q = q.get_mpz_t();
   if (round_ignore(dir)) {
     mpz_tdiv_q(_q, n, d);
@@ -667,16 +669,16 @@ assign_int_mpq(To& to, const mpq_class& from, Rounding_Dir dir) {
   }
 }
 
-SPECIALIZE_ASSIGN(assign_int_mpq, signed char, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, signed short, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, signed int, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, signed long, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, signed long long, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned char, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned short, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned int, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long long, 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)
 
 #if UCHAR_MAX == 0xff
 #define CHAR_BITS 8
@@ -1312,258 +1314,258 @@ output_int(std::ostream& os, Type& from, const Numeric_Format&, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed char, signed char)
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed short, signed short)
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed int, signed int)
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long, signed long)
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long long, signed long long)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed char, signed char)
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed short, signed short)
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed int, signed int)
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long, signed long)
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long long, signed long long)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed char, signed char)
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed short, signed short)
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed int, signed int)
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long, signed long)
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long long, signed long long)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_NEG(neg_signed_int, signed char, signed char)
-SPECIALIZE_NEG(neg_signed_int, signed short, signed short)
-SPECIALIZE_NEG(neg_signed_int, signed int, signed int)
-SPECIALIZE_NEG(neg_signed_int, signed long, signed long)
-SPECIALIZE_NEG(neg_signed_int, signed long long, signed long long)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_ADD(add_signed_int, signed char, signed char, signed char)
-SPECIALIZE_ADD(add_signed_int, signed short, signed short, signed short)
-SPECIALIZE_ADD(add_signed_int, signed int, signed int, signed int)
-SPECIALIZE_ADD(add_signed_int, signed long, signed long, signed long)
-SPECIALIZE_ADD(add_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_ADD(add_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_ADD(add_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_ADD(add_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_ADD(add_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_ADD(add_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_SUB(sub_signed_int, signed char, signed char, signed char)
-SPECIALIZE_SUB(sub_signed_int, signed short, signed short, signed short)
-SPECIALIZE_SUB(sub_signed_int, signed int, signed int, signed int)
-SPECIALIZE_SUB(sub_signed_int, signed long, signed long, signed long)
-SPECIALIZE_SUB(sub_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_MUL(mul_signed_int, signed char, signed char, signed char)
-SPECIALIZE_MUL(mul_signed_int, signed short, signed short, signed short)
-SPECIALIZE_MUL(mul_signed_int, signed int, signed int, signed int)
-SPECIALIZE_MUL(mul_signed_int, signed long, signed long, signed long)
-SPECIALIZE_MUL(mul_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_DIV(div_signed_int, signed char, signed char, signed char)
-SPECIALIZE_DIV(div_signed_int, signed short, signed short, signed short)
-SPECIALIZE_DIV(div_signed_int, signed int, signed int, signed int)
-SPECIALIZE_DIV(div_signed_int, signed long, signed long, signed long)
-SPECIALIZE_DIV(div_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_DIV(div_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_DIV(div_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_DIV(div_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_DIV(div_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_DIV(div_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_IDIV(idiv_signed_int, signed char, signed char, signed char)
-SPECIALIZE_IDIV(idiv_signed_int, signed short, signed short, signed short)
-SPECIALIZE_IDIV(idiv_signed_int, signed int, signed int, signed int)
-SPECIALIZE_IDIV(idiv_signed_int, signed long, signed long, signed long)
-SPECIALIZE_IDIV(idiv_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_REM(rem_signed_int, signed char, signed char, signed char)
-SPECIALIZE_REM(rem_signed_int, signed short, signed short, signed short)
-SPECIALIZE_REM(rem_signed_int, signed int, signed int, signed int)
-SPECIALIZE_REM(rem_signed_int, signed long, signed long, signed long)
-SPECIALIZE_REM(rem_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_REM(rem_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_REM(rem_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_REM(rem_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_REM(rem_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_REM(rem_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed char, signed char)
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed short, signed short)
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed int, signed int)
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long, signed long)
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long long, signed long long)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed char, signed char)
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed short, signed short)
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed int, signed int)
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long, signed long)
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long long, signed long long)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_SQRT(sqrt_signed_int, signed char, signed char)
-SPECIALIZE_SQRT(sqrt_signed_int, signed short, signed short)
-SPECIALIZE_SQRT(sqrt_signed_int, signed int, signed int)
-SPECIALIZE_SQRT(sqrt_signed_int, signed long, signed long)
-SPECIALIZE_SQRT(sqrt_signed_int, signed long long, signed long long)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_ABS(abs_generic, signed char, signed char)
-SPECIALIZE_ABS(abs_generic, signed short, signed short)
-SPECIALIZE_ABS(abs_generic, signed int, signed int)
-SPECIALIZE_ABS(abs_generic, signed long, signed long)
-SPECIALIZE_ABS(abs_generic, signed long long, signed long long)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_GCD(gcd_exact, signed char, signed char, signed char)
-SPECIALIZE_GCD(gcd_exact, signed short, signed short, signed short)
-SPECIALIZE_GCD(gcd_exact, signed int, signed int, signed int)
-SPECIALIZE_GCD(gcd_exact, signed long, signed long, signed long)
-SPECIALIZE_GCD(gcd_exact, signed long long, signed long long, signed long long)
-SPECIALIZE_GCD(gcd_exact, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_GCD(gcd_exact, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_GCD(gcd_exact, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_GCD(gcd_exact, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_GCD(gcd_exact, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_GCDEXT(gcdext_exact, signed char, signed char, signed char, signed char, signed char)
-SPECIALIZE_GCDEXT(gcdext_exact, signed short, signed short, signed short, signed short, signed short)
-SPECIALIZE_GCDEXT(gcdext_exact, signed int, signed int, signed int, signed int, signed int)
-SPECIALIZE_GCDEXT(gcdext_exact, signed long, signed long, signed long, signed long, signed long)
-SPECIALIZE_GCDEXT(gcdext_exact, signed long long, signed long long, signed long long, signed long long, signed long long)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_LCM(lcm_gcd_exact, signed char, signed char, signed char)
-SPECIALIZE_LCM(lcm_gcd_exact, signed short, signed short, signed short)
-SPECIALIZE_LCM(lcm_gcd_exact, signed int, signed int, signed int)
-SPECIALIZE_LCM(lcm_gcd_exact, signed long, signed long, signed long)
-SPECIALIZE_LCM(lcm_gcd_exact, signed long long, signed long long, signed long long)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_SGN(sgn_generic, signed char)
-SPECIALIZE_SGN(sgn_generic, signed short)
-SPECIALIZE_SGN(sgn_generic, signed int)
-SPECIALIZE_SGN(sgn_generic, signed long)
-SPECIALIZE_SGN(sgn_generic, signed long long)
-SPECIALIZE_SGN(sgn_generic, unsigned char)
-SPECIALIZE_SGN(sgn_generic, unsigned short)
-SPECIALIZE_SGN(sgn_generic, unsigned int)
-SPECIALIZE_SGN(sgn_generic, unsigned long)
-SPECIALIZE_SGN(sgn_generic, unsigned long long)
-
-SPECIALIZE_CMP(cmp_generic, signed char, signed char)
-SPECIALIZE_CMP(cmp_generic, signed short, signed short)
-SPECIALIZE_CMP(cmp_generic, signed int, signed int)
-SPECIALIZE_CMP(cmp_generic, signed long, signed long)
-SPECIALIZE_CMP(cmp_generic, signed long long, signed long long)
-SPECIALIZE_CMP(cmp_generic, unsigned char, unsigned char)
-SPECIALIZE_CMP(cmp_generic, unsigned short, unsigned short)
-SPECIALIZE_CMP(cmp_generic, unsigned int, unsigned int)
-SPECIALIZE_CMP(cmp_generic, unsigned long, unsigned long)
-SPECIALIZE_CMP(cmp_generic, unsigned long long, unsigned long long)
-
-SPECIALIZE_ADD_MUL(add_mul_int, signed char, signed char, signed char)
-SPECIALIZE_ADD_MUL(add_mul_int, signed short, signed short, signed short)
-SPECIALIZE_ADD_MUL(add_mul_int, signed int, signed int, signed int)
-SPECIALIZE_ADD_MUL(add_mul_int, signed long, signed long, signed long)
-SPECIALIZE_ADD_MUL(add_mul_int, signed long long, signed long long, signed long long)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_SUB_MUL(sub_mul_int, signed char, signed char, signed char)
-SPECIALIZE_SUB_MUL(sub_mul_int, signed short, signed short, signed short)
-SPECIALIZE_SUB_MUL(sub_mul_int, signed int, signed int, signed int)
-SPECIALIZE_SUB_MUL(sub_mul_int, signed long, signed long, signed long)
-SPECIALIZE_SUB_MUL(sub_mul_int, signed long long, signed long long, signed long long)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_INPUT(input_generic, signed char)
-SPECIALIZE_INPUT(input_generic, signed short)
-SPECIALIZE_INPUT(input_generic, signed int)
-SPECIALIZE_INPUT(input_generic, signed long)
-SPECIALIZE_INPUT(input_generic, signed long long)
-SPECIALIZE_INPUT(input_generic, unsigned char)
-SPECIALIZE_INPUT(input_generic, unsigned short)
-SPECIALIZE_INPUT(input_generic, unsigned int)
-SPECIALIZE_INPUT(input_generic, unsigned long)
-SPECIALIZE_INPUT(input_generic, unsigned long long)
-
-SPECIALIZE_OUTPUT(output_char, signed char)
-SPECIALIZE_OUTPUT(output_int, signed short)
-SPECIALIZE_OUTPUT(output_int, signed int)
-SPECIALIZE_OUTPUT(output_int, signed long)
-SPECIALIZE_OUTPUT(output_int, signed long long)
-SPECIALIZE_OUTPUT(output_char, unsigned char)
-SPECIALIZE_OUTPUT(output_int, unsigned short)
-SPECIALIZE_OUTPUT(output_int, unsigned int)
-SPECIALIZE_OUTPUT(output_int, unsigned long)
-SPECIALIZE_OUTPUT(output_int, unsigned long long)
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long long, unsigned long long)
+
+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)
+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)
+
+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)
+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, 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, 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, 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, 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, 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, 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, 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, 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)
+
+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)
 
 } // namespace Checked
 
diff --git a/src/checked_mpq.inlines.hh b/src/checked_mpq.inlines.hh
index e47f0e3..c4bfef2 100644
--- a/src/checked_mpq.inlines.hh
+++ b/src/checked_mpq.inlines.hh
@@ -1,5 +1,5 @@
 /* Specialized "checked" functions for GMP's mpq_class numbers.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -53,7 +53,7 @@ classify_mpq(const mpq_class& v, bool nan, bool inf, bool sign) {
   return VC_NORMAL;
 }
 
-SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
+PPL_SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
 
 template <typename Policy>
 inline bool
@@ -63,7 +63,7 @@ is_nan_mpq(const mpq_class& v) {
     && ::sgn(v.get_num()) == 0;
 }
 
-SPECIALIZE_IS_NAN(is_nan_mpq, mpq_class)
+PPL_SPECIALIZE_IS_NAN(is_nan_mpq, mpq_class)
 
 template <typename Policy>
 inline bool
@@ -73,7 +73,7 @@ is_minf_mpq(const mpq_class& v) {
     && ::sgn(v.get_num()) < 0;
 }
 
-SPECIALIZE_IS_MINF(is_minf_mpq, mpq_class)
+PPL_SPECIALIZE_IS_MINF(is_minf_mpq, mpq_class)
 
 template <typename Policy>
 inline bool
@@ -83,7 +83,7 @@ is_pinf_mpq(const mpq_class& v) {
     && ::sgn(v.get_num()) > 0;
 }
 
-SPECIALIZE_IS_PINF(is_pinf_mpq, mpq_class)
+PPL_SPECIALIZE_IS_PINF(is_pinf_mpq, mpq_class)
 
 template <typename Policy>
 inline bool
@@ -95,7 +95,7 @@ is_int_mpq(const mpq_class& v) {
     return v.get_den() == 1;
 }
 
-SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
+PPL_SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
 
 template <typename Policy>
 inline Result
@@ -122,9 +122,9 @@ assign_special_mpq(mpq_class& v, Result r, Rounding_Dir) {
   return r;
 }
 
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpq, mpq_class)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpq, mpq_class)
 
-SPECIALIZE_COPY(copy_generic, mpq_class)
+PPL_SPECIALIZE_COPY(copy_generic, mpq_class)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -133,15 +133,15 @@ construct_mpq_base(mpq_class& to, const From& from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, mpz_class)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed char)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed short)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed int)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed long)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned char)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned short)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned int)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned long)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, mpz_class)
+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>
 inline Result
@@ -156,19 +156,19 @@ construct_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
   return V_EQ;
 }
 
-SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, float)
-SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, double)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, float)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, double)
 
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpq_class)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpz_class)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed char)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed short)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed int)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed long)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned char)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned short)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned int)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned long)
+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, 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>
 inline Result
@@ -183,8 +183,8 @@ assign_mpq_float(mpq_class& to, const From& from, Rounding_Dir dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, float)
-SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, double)
+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>
 inline Result
@@ -205,7 +205,7 @@ assign_mpq_signed_int(mpq_class& to, const From from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpq_signed_int, mpq_class, signed long long)
+PPL_SPECIALIZE_ASSIGN(assign_mpq_signed_int, mpq_class, signed long long)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -219,7 +219,7 @@ assign_mpq_unsigned_int(mpq_class& to, const From from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpq_unsigned_int, mpq_class, unsigned long long)
+PPL_SPECIALIZE_ASSIGN(assign_mpq_unsigned_int, mpq_class, unsigned long long)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -230,7 +230,7 @@ floor_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_FLOOR(floor_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_FLOOR(floor_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -241,7 +241,7 @@ ceil_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_CEIL(ceil_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_CEIL(ceil_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -252,7 +252,7 @@ trunc_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_TRUNC(trunc_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_TRUNC(trunc_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -261,7 +261,7 @@ neg_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_NEG(neg_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_NEG(neg_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -270,7 +270,7 @@ add_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ADD(add_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_ADD(add_mpq, mpq_class, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -279,7 +279,7 @@ sub_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_SUB(sub_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_SUB(sub_mpq, mpq_class, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -288,7 +288,7 @@ mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_MUL(mul_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_MUL(mul_mpq, mpq_class, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -299,7 +299,7 @@ div_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -310,7 +310,7 @@ idiv_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir dir
   return trunc<To_Policy, To_Policy>(to, to, dir);
 }
 
-SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -322,7 +322,7 @@ rem_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_REM(rem_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_REM(rem_mpq, mpq_class, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -335,7 +335,7 @@ mul2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
   return V_EQ;
 }
 
-SPECIALIZE_MUL2EXP(mul2exp_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -348,7 +348,7 @@ div2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
   return V_EQ;
 }
 
-SPECIALIZE_DIV2EXP(div2exp_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_DIV2EXP(div2exp_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -357,7 +357,7 @@ abs_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ABS(abs_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_ABS(abs_mpq, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -367,7 +367,7 @@ add_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
   return V_EQ;
 }
 
-SPECIALIZE_ADD_MUL(add_mul_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_ADD_MUL(add_mul_mpq, mpq_class, mpq_class, mpq_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -377,7 +377,7 @@ sub_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
   return V_EQ;
 }
 
-SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
 
 extern unsigned long rational_sqrt_precision_parameter;
 
@@ -386,21 +386,27 @@ 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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  const unsigned long k = rational_sqrt_precision_parameter;
-  mpz_class& to_num = to.get_num();
-  mul2exp<To_Policy, From_Policy>(to_num, from.get_num(), 2*k, dir);
+  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);
+  mul2exp<To_Policy, From_Policy>(to_a, from_a, 2*rational_sqrt_precision_parameter, ROUND_IGNORE);
   Result rdiv
-    = div<To_Policy, To_Policy, To_Policy>(to_num,
-					   to_num, from.get_den(), dir);
-  Result rsqrt = sqrt<To_Policy, To_Policy>(to_num, to_num, dir);
-  mpz_class& to_den = to.get_den();
-  to_den = 1;
-  mul2exp<To_Policy, To_Policy>(to_den, to_den, k, dir);
+    = 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;
+  mul2exp<To_Policy, To_Policy>(to_b, to_b, rational_sqrt_precision_parameter, ROUND_IGNORE);
   to.canonicalize();
   return rdiv != V_EQ ? rdiv : rsqrt;
 }
 
-SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
+PPL_SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
 
 template <typename Policy>
 inline Result
@@ -416,7 +422,7 @@ input_mpq(mpq_class& to, std::istream& is, Rounding_Dir) {
   }
 }
 
-SPECIALIZE_INPUT(input_mpq, mpq_class)
+PPL_SPECIALIZE_INPUT(input_mpq, mpq_class)
 
 template <typename Policy>
 inline Result
@@ -428,7 +434,7 @@ output_mpq(std::ostream& os,
   return V_EQ;
 }
 
-SPECIALIZE_OUTPUT(output_mpq, mpq_class)
+PPL_SPECIALIZE_OUTPUT(output_mpq, mpq_class)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -445,7 +451,7 @@ assign_mpq_long_double(mpq_class& to, const From& from, Rounding_Dir dir) {
   return input_mpq(to, ss);
 }
 
-SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
+PPL_SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
 
 } // namespace Checked
 
@@ -456,7 +462,8 @@ rational_sqrt_precision_parameter() {
 }
 
 //! Sets the precision parameter used for rational square root calculations.
-/*!
+/*! The lesser between numerator and denominator is limited to 2**\p p.
+
   If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
   precision parameter used for rational square root calculations to \p p.
 
diff --git a/src/checked_mpz.inlines.hh b/src/checked_mpz.inlines.hh
index 1b4a7df..ccc7af2 100644
--- a/src/checked_mpz.inlines.hh
+++ b/src/checked_mpz.inlines.hh
@@ -1,5 +1,5 @@
 /* Specialized "checked" functions for GMP's mpz_class numbers.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -90,7 +90,7 @@ classify_mpz(const mpz_class& v, bool nan, bool inf, bool sign) {
   return VC_NORMAL;
 }
 
-SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
+PPL_SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
 
 template <typename Policy>
 inline bool
@@ -99,7 +99,7 @@ is_nan_mpz(const mpz_class& v) {
     && get_mp_size(v) == C_Integer<mp_size_field_t>::min + 1;
 }
 
-SPECIALIZE_IS_NAN(is_nan_mpz, mpz_class)
+PPL_SPECIALIZE_IS_NAN(is_nan_mpz, mpz_class)
 
 template <typename Policy>
 inline bool
@@ -108,7 +108,7 @@ is_minf_mpz(const mpz_class& v) {
     && get_mp_size(v) == C_Integer<mp_size_field_t>::min;
 }
 
-SPECIALIZE_IS_MINF(is_minf_mpz, mpz_class)
+PPL_SPECIALIZE_IS_MINF(is_minf_mpz, mpz_class)
 
 template <typename Policy>
 inline bool
@@ -117,7 +117,7 @@ is_pinf_mpz(const mpz_class& v) {
     && get_mp_size(v) == C_Integer<mp_size_field_t>::max;
 }
 
-SPECIALIZE_IS_PINF(is_pinf_mpz, mpz_class)
+PPL_SPECIALIZE_IS_PINF(is_pinf_mpz, mpz_class)
 
 template <typename Policy>
 inline bool
@@ -125,7 +125,7 @@ is_int_mpz(const mpz_class& v) {
   return !is_nan<Policy>(v);
 }
 
-SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
+PPL_SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
 
 template <typename Policy>
 inline Result
@@ -148,7 +148,7 @@ assign_special_mpz(mpz_class& v, Result r, Rounding_Dir) {
   return r;
 }
 
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
 
 template <typename To_Policy, typename From_Policy>
 inline void
@@ -164,7 +164,7 @@ copy_mpz(mpz_class& to, const mpz_class& from) {
   set_mp_size(to, get_mp_size(from));
 }
 
-SPECIALIZE_COPY(copy_mpz, mpz_class)
+PPL_SPECIALIZE_COPY(copy_mpz, mpz_class)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -173,14 +173,14 @@ construct_mpz_base(mpz_class& to, const From from, Rounding_Dir) {
     return V_EQ;
 }
 
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed char)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed short)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed int)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed long)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned char)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned short)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned int)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned long)
+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)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -205,18 +205,18 @@ construct_mpz_float(mpz_class& to, const From& from, Rounding_Dir dir) {
     return V_EQ;
 }
 
-SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
-SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, double)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, double)
 
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, mpz_class)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed char)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed short)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed int)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed long)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned char)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned short)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned int)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned long)
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, mpz_class)
+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)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -236,7 +236,7 @@ assign_mpz_signed_int(mpz_class& to, const From from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_signed_int, mpz_class, signed long long)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_signed_int, mpz_class, signed long long)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -248,7 +248,7 @@ assign_mpz_unsigned_int(mpz_class& to, const From from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_unsigned_int, mpz_class, unsigned long long)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_unsigned_int, mpz_class, unsigned long long)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -273,8 +273,8 @@ assign_mpz_float(mpz_class& to, const From from, Rounding_Dir dir) {
     return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
-SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, double)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, double)
 
 template <typename To_Policy, typename From_Policy, typename From>
 inline Result
@@ -288,7 +288,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);
-  DIRTY_TEMP0(mpq_class, tmp);
+  PPL_DIRTY_TEMP0(mpq_class, tmp);
 #ifndef NDEBUG
   Result r =
 #endif
@@ -297,7 +297,7 @@ assign_mpz_long_double(mpz_class& to, const From& from, Rounding_Dir dir) {
   return assign<To_Policy, From_Policy>(to, tmp, dir);
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -319,11 +319,11 @@ assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
   }
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_mpq, mpz_class, mpq_class)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_mpq, mpz_class, mpq_class)
 
-SPECIALIZE_FLOOR(assign_exact, mpz_class, mpz_class)
-SPECIALIZE_CEIL(assign_exact, mpz_class, mpz_class)
-SPECIALIZE_TRUNC(assign_exact, mpz_class, mpz_class)
+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)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -332,7 +332,7 @@ neg_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_NEG(neg_mpz, mpz_class, mpz_class)
+PPL_SPECIALIZE_NEG(neg_mpz, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -341,7 +341,7 @@ add_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ADD(add_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_ADD(add_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -350,7 +350,7 @@ sub_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_SUB(sub_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_SUB(sub_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -359,7 +359,7 @@ mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_MUL(mul_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_MUL(mul_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -370,9 +370,17 @@ div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
   mpz_srcptr n = x.get_mpz_t();
   mpz_srcptr d = y.get_mpz_t();
   if (round_ignore(dir)) {
-    // FIXME: is this correct?
+#if 0
+    // FIXME: we need to reconsider Rounding_Dir argument to clarify if
+    // client code intention is to have approximate result without any interest
+    // in knowing the direction of rounding or to grant to called function
+    // that result will be exact.
     mpz_divexact(to.get_mpz_t(), n, d);
     return V_LGE;
+#else
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    return V_LE;
+#endif
   }
   if (round_down(dir)) {
     mpz_fdiv_q(to.get_mpz_t(), n, d);
@@ -385,7 +393,7 @@ div_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
   }
 }
 
-SPECIALIZE_DIV(div_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_DIV(div_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -399,7 +407,7 @@ idiv_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
   return V_EQ;
 }
 
-SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -410,7 +418,7 @@ rem_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_REM(rem_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_REM(rem_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -421,7 +429,7 @@ mul2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
   return V_EQ;
 }
 
-SPECIALIZE_MUL2EXP(mul2exp_mpz, mpz_class, mpz_class)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_mpz, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -444,7 +452,7 @@ div2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
   }
 }
 
-SPECIALIZE_DIV2EXP(div2exp_mpz, mpz_class, mpz_class)
+PPL_SPECIALIZE_DIV2EXP(div2exp_mpz, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -453,7 +461,7 @@ abs_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_ABS(abs_mpz, mpz_class, mpz_class)
+PPL_SPECIALIZE_ABS(abs_mpz, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -463,7 +471,7 @@ add_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
   return V_EQ;
 }
 
-SPECIALIZE_ADD_MUL(add_mul_mpz, mpz_class, mpz_class, mpz_class)
+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
@@ -473,7 +481,7 @@ sub_mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y,
   return V_EQ;
 }
 
-SPECIALIZE_SUB_MUL(sub_mul_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_SUB_MUL(sub_mul_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -482,7 +490,7 @@ gcd_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_GCD(gcd_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_GCD(gcd_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -494,7 +502,7 @@ gcdext_mpz(mpz_class& to, mpz_class& s, mpz_class& t,
   return V_EQ;
 }
 
-SPECIALIZE_GCDEXT(gcdext_mpz, mpz_class, mpz_class, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_GCDEXT(gcdext_mpz, mpz_class, mpz_class, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
@@ -503,7 +511,7 @@ lcm_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
   return V_EQ;
 }
 
-SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
+PPL_SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
 
 template <typename To_Policy, typename From_Policy>
 inline Result
@@ -514,14 +522,14 @@ sqrt_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir dir) {
     to = sqrt(from);
     return V_GE;
   }
-  DIRTY_TEMP0(mpz_class, r);
+  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);
 }
 
-SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
+PPL_SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
 
 template <typename Policy, typename Type>
 inline Result
@@ -530,8 +538,8 @@ sgn_mp(const Type& x) {
   return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
 }
 
-SPECIALIZE_SGN(sgn_mp, mpz_class)
-SPECIALIZE_SGN(sgn_mp, mpq_class)
+PPL_SPECIALIZE_SGN(sgn_mp, mpz_class)
+PPL_SPECIALIZE_SGN(sgn_mp, mpq_class)
 
 template <typename Policy1, typename Policy2, typename Type>
 inline Result
@@ -540,8 +548,8 @@ cmp_mp(const Type& x, const Type& y) {
   return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
 }
 
-SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
-SPECIALIZE_CMP(cmp_mp, mpq_class, mpq_class)
+PPL_SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
+PPL_SPECIALIZE_CMP(cmp_mp, mpq_class, mpq_class)
 
 template <typename Policy>
 inline Result
@@ -551,8 +559,8 @@ output_mpz(std::ostream& os, const mpz_class& from, const Numeric_Format&,
   return V_EQ;
 }
 
-SPECIALIZE_INPUT(input_generic, mpz_class)
-SPECIALIZE_OUTPUT(output_mpz, mpz_class)
+PPL_SPECIALIZE_INPUT(input_generic, mpz_class)
+PPL_SPECIALIZE_OUTPUT(output_mpz, mpz_class)
 
 } // namespace Checked
 
diff --git a/src/checked_numeric_limits.hh b/src/checked_numeric_limits.hh
index 1e77fb1..8484324 100644
--- a/src/checked_numeric_limits.hh
+++ b/src/checked_numeric_limits.hh
@@ -1,5 +1,5 @@
 /* Specializations of std::numeric_limits for "checked" types.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,34 +34,34 @@ 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> > \
+ class numeric_limits<Checked_Number<T, Policy> >                       \
   : public numeric_limits<T> {						\
  private:								\
-  typedef Checked_Number<T, Policy> Type;	\
+  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 const bool has_quiet_NaN =  Policy::has_nan;                   \
+                                                                        \
   static Type min() {							\
-    return Checked::Extended_Int<Policy, T>::min; \
+    return Checked::Extended_Int<Policy, T>::min;                       \
   }									\
-									\
+                                                                        \
   static Type max() {							\
-    return Checked::Extended_Int<Policy, T>::max; \
+    return Checked::Extended_Int<Policy, T>::max;                       \
   }									\
 									\
   static Type infinity() {						\
     return								\
       Policy::has_infinity						\
-      ? PLUS_INFINITY				\
+      ? PLUS_INFINITY                                                   \
       : static_cast<Type>(0);						\
   }									\
 									\
   static Type quiet_NaN() {						\
     return								\
-      Policy::has_nan						\
-      ? NOT_A_NUMBER				\
+      Policy::has_nan                                                   \
+      ? NOT_A_NUMBER                                                    \
       : static_cast<Type>(0);						\
   }									\
 };
diff --git a/src/compiler.hh b/src/compiler.hh
index 2bbda49..7e08dd9 100644
--- a/src/compiler.hh
+++ b/src/compiler.hh
@@ -1,5 +1,5 @@
 /* C++ compiler related stuff.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,7 +43,8 @@ used(const T&) {
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-inline void cc_flush(const T& x) {
+inline void
+cc_flush(const T& x) {
 #if defined(__GNUC__) || defined(__INTEL_COMPILER)
   __asm__ __volatile__ ("" : "+m" (const_cast<T&>(x)));
 #else
diff --git a/src/conversion.cc b/src/conversion.cc
index 9d82b73..3fd1757 100644
--- a/src/conversion.cc
+++ b/src/conversion.cc
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: conversion().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -376,8 +376,8 @@ PPL::Polyhedron::conversion(Linear_System& source,
   // constraints seen so far, to be used as a displacement when swapping rows.
   dimension_type source_num_redundant = 0;
 
-  TEMP_INTEGER(normalized_sp_i);
-  TEMP_INTEGER(normalized_sp_o);
+  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).
@@ -400,7 +400,7 @@ PPL::Polyhedron::conversion(Linear_System& source,
     // constraint `source_k' and the generator `dest[i]'.  This
     // product is 0 if and only if the generator saturates the
     // constraint.
-    DIRTY_TEMP0(std::vector<Coefficient>, scalar_prod);
+    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());
diff --git a/src/distances.defs.hh b/src/distances.defs.hh
index c698c17..e02e003 100644
--- a/src/distances.defs.hh
+++ b/src/distances.defs.hh
@@ -1,5 +1,5 @@
 /* Class declarations for several distances.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/distances.inlines.hh b/src/distances.inlines.hh
index d261859..5c12eb1 100644
--- a/src/distances.inlines.hh
+++ b/src/distances.inlines.hh
@@ -1,5 +1,5 @@
 /* Inline functions implementing distances.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/distances.types.hh b/src/distances.types.hh
index ddb932e..e022f7e 100644
--- a/src/distances.types.hh
+++ b/src/distances.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 17dce13..ed7eec1 100644
--- a/src/fpu-c99.inlines.hh
+++ b/src/fpu-c99.inlines.hh
@@ -1,5 +1,5 @@
 /* C99 Floating point unit related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,21 +20,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/ . */
 
+#ifndef PPL_fpu_c99_inlines_hh
+#define PPL_fpu_c99_inlines_hh 1
+
 #ifdef PPL_HAVE_FENV_H
 #include <fenv.h>
 #include <stdexcept>
 
 #ifdef FE_TONEAREST
-#define FPU_TONEAREST FE_TONEAREST
+#define PPL_FPU_TONEAREST FE_TONEAREST
 #endif
 #ifdef FE_UPWARD
-#define FPU_UPWARD FE_UPWARD
+#define PPL_FPU_UPWARD FE_UPWARD
 #endif
 #ifdef FE_DOWNWARD
-#define FPU_DOWNWARD FE_DOWNWARD
+#define PPL_FPU_DOWNWARD FE_DOWNWARD
 #endif
 #ifdef FE_TOWARDZERO
-#define FPU_TOWARDZERO FE_TOWARDZERO
+#define PPL_PPL_FPU_TOWARDZERO FE_TOWARDZERO
 #endif
 
 namespace Parma_Polyhedra_Library {
@@ -42,8 +45,8 @@ namespace Parma_Polyhedra_Library {
 inline void
 fpu_initialize_control_functions() {
   int old = fegetround();
-  if (fesetround(FPU_DOWNWARD) != 0
-      || fesetround(FPU_UPWARD) != 0
+  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,"
@@ -92,3 +95,5 @@ fpu_check_inexact() {
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_HAVE_FENV_H)
+
+#endif // !defined(PPL_fpu_c99_inlines_hh)
diff --git a/src/fpu-ia32.cc b/src/fpu-ia32.cc
index 32e57ae..b781a72 100644
--- a/src/fpu-ia32.cc
+++ b/src/fpu-ia32.cc
@@ -1,5 +1,5 @@
 /* IA-32 floating point unit non-inline related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,7 +21,10 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include <ppl-config.h>
-#if defined(PPL_FPMATH_MAY_USE_SSE) && defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
+
+#if PPL_CAN_CONTROL_FPU && defined(PPL_FPMATH_MAY_USE_SSE) \
+  && defined(__i386__) \
+  && (defined(__GNUC__) || defined(__INTEL_COMPILER))
 
 #include "fpu.defs.hh"
 #include <csetjmp>
@@ -64,4 +67,4 @@ detect_sse_unit() {
 
 } // namespace Parma_Polyhedra_Library
 
-#endif // defined(PPL_FPMATH_MAY_USE_SSE) && defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
+#endif // PPL_CAN_CONTROL_FPU && defined(PPL_FPMATH_MAY_USE_SSE) && defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
diff --git a/src/fpu-ia32.inlines.hh b/src/fpu-ia32.inlines.hh
index c2289c3..6549fb7 100644
--- a/src/fpu-ia32.inlines.hh
+++ b/src/fpu-ia32.inlines.hh
@@ -1,5 +1,5 @@
 /* IA-32 floating point unit inline related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,7 +20,9 @@ Inc., 51 Franklin Street, Fifth Floor, 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 "compiler.hh"
+#ifndef PPL_fpu_ia32_inlines_hh
+#define PPL_fpu_ia32_inlines_hh 1
+
 #include <csetjmp>
 #include <csignal>
 
@@ -33,10 +35,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define FPU_ALL_EXCEPT \
   (FPU_INEXACT | FPU_DIVBYZERO | FPU_UNDERFLOW | FPU_OVERFLOW | FPU_INVALID)
 
-#define FPU_TONEAREST     0
-#define FPU_DOWNWARD      0x400
-#define FPU_UPWARD        0x800
-#define FPU_TOWARDZERO    0xc00
+#define PPL_FPU_TONEAREST     0
+#define PPL_FPU_DOWNWARD      0x400
+#define PPL_FPU_UPWARD        0x800
+#define PPL_FPU_TOWARDZERO    0xc00
 
 #define FPU_ROUNDING_MASK 0xc00
 
@@ -46,8 +48,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_SSE_CONTROL_DEFAULT_BASE 0x1f80
 
 // This MUST be congruent with the definition of ROUND_DIRECT
-#define PPL_FPU_CONTROL_DEFAULT (PPL_FPU_CONTROL_DEFAULT_BASE | FPU_UPWARD)
-#define PPL_SSE_CONTROL_DEFAULT (PPL_SSE_CONTROL_DEFAULT_BASE | (FPU_UPWARD << 3))
+#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))
 
 namespace Parma_Polyhedra_Library {
 
@@ -101,7 +105,7 @@ fpu_clear_exceptions() {
   __asm__ __volatile__ ("fnclex" : /* No outputs.  */ : : "memory");
 }
 
-#if PPL_FPMATH_MAY_USE_SSE
+#ifdef PPL_FPMATH_MAY_USE_SSE
 inline void
 sse_set_control(unsigned int cw) {
   __asm__ __volatile__ ("ldmxcsr %0" : : "m" (*&cw) : "memory");
@@ -117,7 +121,7 @@ sse_get_control() {
 
 inline void
 fpu_initialize_control_functions() {
-#if PPL_FPMATH_MAY_USE_SSE
+#ifdef PPL_FPMATH_MAY_USE_SSE
   extern void detect_sse_unit();
   detect_sse_unit();
 #endif
@@ -130,10 +134,10 @@ fpu_get_rounding_direction() {
 
 inline void
 fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
-#if PPL_FPMATH_MAY_USE_387
+#ifdef PPL_FPMATH_MAY_USE_387
   fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir);
 #endif
-#if PPL_FPMATH_MAY_USE_SSE
+#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));
@@ -142,10 +146,10 @@ fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
 
 inline fpu_rounding_control_word_type
 fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
-#if PPL_FPMATH_MAY_USE_387
+#ifdef PPL_FPMATH_MAY_USE_387
   fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir);
 #endif
-#if PPL_FPMATH_MAY_USE_SSE
+#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));
@@ -155,10 +159,10 @@ fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
 
 inline void
 fpu_reset_inexact() {
-#if PPL_FPMATH_MAY_USE_387
+#ifdef PPL_FPMATH_MAY_USE_387
   fpu_clear_exceptions();
 #endif
-#if PPL_FPMATH_MAY_USE_SSE
+#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;
@@ -169,10 +173,10 @@ fpu_reset_inexact() {
 
 inline void
 fpu_restore_rounding_direction(fpu_rounding_control_word_type) {
-#if PPL_FPMATH_MAY_USE_387
+#ifdef PPL_FPMATH_MAY_USE_387
   fpu_set_control(PPL_FPU_CONTROL_DEFAULT);
 #endif
-#if PPL_FPMATH_MAY_USE_SSE
+#ifdef PPL_FPMATH_MAY_USE_SSE
   extern bool have_sse_unit;
   if (have_sse_unit)
     sse_set_control(PPL_SSE_CONTROL_DEFAULT);
@@ -181,11 +185,11 @@ fpu_restore_rounding_direction(fpu_rounding_control_word_type) {
 
 inline int
 fpu_check_inexact() {
-#if PPL_FPMATH_MAY_USE_387
+#ifdef PPL_FPMATH_MAY_USE_387
   if (fpu_get_status() & FPU_INEXACT)
     return 1;
 #endif
-#if PPL_FPMATH_MAY_USE_SSE
+#ifdef PPL_FPMATH_MAY_USE_SSE
   extern bool have_sse_unit;
   if (have_sse_unit && (sse_get_control() & SSE_INEXACT))
     return 1;
@@ -194,3 +198,5 @@ fpu_check_inexact() {
 }
 
 } // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_fpu_ia32_inlines_hh)
diff --git a/src/fpu-none.inlines.hh b/src/fpu-none.inlines.hh
index d2b9788..883245a 100644
--- a/src/fpu-none.inlines.hh
+++ b/src/fpu-none.inlines.hh
@@ -1,5 +1,5 @@
 /* Null floating point unit related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,6 +20,9 @@ Inc., 51 Franklin Street, Fifth Floor, 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_fpu_none_inlines_hh
+#define PPL_fpu_none_inlines_hh 1
+
 #include <stdexcept>
 
 namespace Parma_Polyhedra_Library {
@@ -67,3 +70,5 @@ fpu_check_inexact() {
 }
 
 } // namespace Parma_Polyhedra_Library
+
+#endif // !defined(PPL_fpu_none_inlines_hh)
diff --git a/src/fpu-sparc.inlines.hh b/src/fpu-sparc.inlines.hh
index b1e5d37..83d7b4a 100644
--- a/src/fpu-sparc.inlines.hh
+++ b/src/fpu-sparc.inlines.hh
@@ -1,5 +1,5 @@
 /* SPARC floating point unit related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,13 +20,16 @@ Inc., 51 Franklin Street, Fifth Floor, 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_fpu_sparc_inlines_hh
+#define PPL_fpu_sparc_inlines_hh 1
+
 #ifdef PPL_HAVE_IEEEFP_H
 #include <ieeefp.h>
 
-#define FPU_TONEAREST ((int) FP_RN)
-#define FPU_UPWARD ((int) FP_RP)
-#define FPU_DOWNWARD ((int) FP_RM)
-#define FPU_TOWARDZERO ((int) FP_RZ)
+#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)
 
 namespace Parma_Polyhedra_Library {
 
@@ -69,3 +72,5 @@ fpu_check_inexact() {
 } // namespace Parma_Polyhedra_Library
 
 #endif // !defined(PPL_HAVE_IEEEFP_H)
+
+#endif // !defined(PPL_fpu_sparc_inlines_hh)
diff --git a/src/fpu.defs.hh b/src/fpu.defs.hh
index ed000ab..93ec9ca 100644
--- a/src/fpu.defs.hh
+++ b/src/fpu.defs.hh
@@ -1,5 +1,5 @@
 /* Floating point unit related functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,6 +24,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #define PPL_fpu_defs_hh 1
 
 #include "fpu.types.hh"
+#include "compiler.hh"
 
 namespace Parma_Polyhedra_Library {
 
diff --git a/src/fpu.types.hh b/src/fpu.types.hh
index e10d451..013ea48 100644
--- a/src/fpu.types.hh
+++ b/src/fpu.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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 04b55af..9325c4e 100644
--- a/src/globals.cc
+++ b/src/globals.cc
@@ -1,5 +1,5 @@
 /* Definitions of global objects.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/globals.defs.hh b/src/globals.defs.hh
index 507099c..cb6ae20 100644
--- a/src/globals.defs.hh
+++ b/src/globals.defs.hh
@@ -1,5 +1,5 @@
 /* Declarations of global objects.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -48,11 +48,17 @@ not_a_dimension();
 template <typename T>
 inline typename Enable_If<Slow_Copy<T>::value, void>::type
 swap(T&, T&) {
-  COMPILE_TIME_CHECK(!Slow_Copy<T>::value, "missing swap specialization");
+  PPL_COMPILE_TIME_CHECK(!Slow_Copy<T>::value, "missing swap specialization");
 }
 
-// FIXME: write a comment for this.
-#define TEMP_INTEGER(id) DIRTY_TEMP0(Coefficient, id)
+/*! \brief
+  Declare a local variable named \p id, of type Coefficient, and containing
+  an unknown initial value.
+
+  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)
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! Speculative allocation function.
@@ -78,10 +84,6 @@ dimension_type
 compute_capacity(dimension_type requested_size,
 		 dimension_type maximum_size);
 
-// FIXME!!!
-dimension_type
-compute_capacity(dimension_type requested_size);
-
 //! User objects the PPL can throw.
 /*! \ingroup PPL_CXX_interface
   This abstract base class should be instantiated by those users
@@ -199,10 +201,6 @@ struct Recycle_Input {
     std::cerr << *this;							\
   }
 
-// FIXME: The class_prefix has changed from
-//        PPL_OUTPUT_TEMPLATE_DEFINITIONS, to work around `,'.
-//        Perhaps PPL_OUTPUT_TEMPLATE_DEFINITIONS should be changed to
-//        match this.
 #define PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
 						type_symbol2,		\
 						class_prefix)		\
@@ -219,7 +217,6 @@ struct Recycle_Input {
     std::cerr << *this;							\
   }
 
-// FIXME: Copy and edit of PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS
 #define PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(type_symbol1,		\
 						type_symbol2,		\
 						type_symbol3,		\
diff --git a/src/globals.inlines.hh b/src/globals.inlines.hh
index 6daa844..f35672a 100644
--- a/src/globals.inlines.hh
+++ b/src/globals.inlines.hh
@@ -1,5 +1,5 @@
 /* Implementation of global objects: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -57,15 +57,6 @@ compute_capacity(const dimension_type requested_size,
   //   : maximum_size;
 }
 
-// FIXME!!!
-inline dimension_type
-compute_capacity(const dimension_type requested_size) {
-  // Speculation factor 2.
-  return 2*(requested_size + 1);
-  // Speculation factor 1.5.
-  // return requested_size + requested_size/2 + 1;
-}
-
 template <typename T>
 inline typename
 Enable_If<Is_Native<T>::value, memory_size_type>::type
diff --git a/src/globals.types.hh b/src/globals.types.hh
index a9c7521..fe3545a 100644
--- a/src/globals.types.hh
+++ b/src/globals.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/initializer.hh b/src/initializer.hh
index 5796a29..7074d17 100644
--- a/src/initializer.hh
+++ b/src/initializer.hh
@@ -1,5 +1,5 @@
 /* Nifty counter object for the initialization of the library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/iterator_to_const.defs.hh b/src/iterator_to_const.defs.hh
index 98cadb8..5977e90 100644
--- a/src/iterator_to_const.defs.hh
+++ b/src/iterator_to_const.defs.hh
@@ -1,5 +1,5 @@
 /* iterator_to_const and const_iterator_to_const class declarations.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,6 +26,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "iterator_to_const.types.hh"
 #include "Powerset.types.hh"
 //#include "Ask_Tell.types.hh"
+#include <iterator>
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 //! An iterator on a sequence of read-only objects.
diff --git a/src/iterator_to_const.inlines.hh b/src/iterator_to_const.inlines.hh
index 297ce5e..b574b56 100644
--- a/src/iterator_to_const.inlines.hh
+++ b/src/iterator_to_const.inlines.hh
@@ -1,6 +1,6 @@
 /* iterator_to_const and const_iterator_to_const class implementations:
    inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/iterator_to_const.types.hh b/src/iterator_to_const.types.hh
index 95107ce..b441c25 100644
--- a/src/iterator_to_const.types.hh
+++ b/src/iterator_to_const.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/math_utilities.defs.hh b/src/math_utilities.defs.hh
index c9e139c..2b082ce 100644
--- a/src/math_utilities.defs.hh
+++ b/src/math_utilities.defs.hh
@@ -1,5 +1,5 @@
 /* Declarations of some math utility functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/math_utilities.inlines.hh b/src/math_utilities.inlines.hh
index 6aa7ed9..a7923a2 100644
--- a/src/math_utilities.inlines.hh
+++ b/src/math_utilities.inlines.hh
@@ -1,5 +1,5 @@
 /* Implementation of some math utility functions: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,7 +33,7 @@ inline void
 normalize2(Coefficient_traits::const_reference x,
 	   Coefficient_traits::const_reference y,
 	   Coefficient& nx, Coefficient& ny) {
-  TEMP_INTEGER(gcd);
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
   gcd_assign(gcd, x, y);
   exact_div_assign(nx, x, gcd);
   exact_div_assign(ny, y, gcd);
@@ -53,7 +53,7 @@ numer_denom(const Checked_Number<T, Policy>& from,
   assert(!is_not_a_number(from)
 	 && !is_minus_infinity(from)
 	 && !is_plus_infinity(from));
-  DIRTY_TEMP0(mpq_class, q);
+  PPL_DIRTY_TEMP0(mpq_class, q);
   assign_r(q, from, ROUND_NOT_NEEDED);
   num = q.get_num();
   den = q.get_den();
@@ -64,8 +64,8 @@ inline void
 div_round_up(Checked_Number<T, Policy>& to,
 	     Coefficient_traits::const_reference x,
 	     Coefficient_traits::const_reference y) {
-  DIRTY_TEMP0(mpq_class, qx);
-  DIRTY_TEMP0(mpq_class, qy);
+  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);
@@ -109,7 +109,7 @@ inline bool
 is_canonical(const mpq_class& x) {
   if (x.get_den() <= 0)
     return false;
-  DIRTY_TEMP0(mpq_class, temp);
+  PPL_DIRTY_TEMP0(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 fb6386e..65703c1 100644
--- a/src/max_space_dimension.hh
+++ b/src/max_space_dimension.hh
@@ -1,5 +1,5 @@
 /* Definition of functions yielding maximal space dimensions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/meta_programming.hh b/src/meta_programming.hh
index a9a251f..83c29fb 100644
--- a/src/meta_programming.hh
+++ b/src/meta_programming.hh
@@ -1,5 +1,5 @@
 /* Metaprogramming utilities.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -114,11 +114,11 @@ template <>
 struct Compile_Time_Check<true> {
 };
 
-#define COMPILE_TIME_CHECK_NAME(suffix) compile_time_check_ ## suffix
-#define COMPILE_TIME_CHECK_AUX(e, suffix)				\
+#define PPL_COMPILE_TIME_CHECK_NAME(suffix) compile_time_check_ ## suffix
+#define PPL_COMPILE_TIME_CHECK_AUX(e, suffix)				\
   enum {								\
     /* If e evaluates to false, then the sizeof cannot be compiled. */  \
-    COMPILE_TIME_CHECK_NAME(suffix)					\
+    PPL_COMPILE_TIME_CHECK_NAME(suffix)					\
     = sizeof(Parma_Polyhedra_Library::					\
 	     Compile_Time_Check<static_cast<bool>(e)>)			\
   }
@@ -130,7 +130,7 @@ struct Compile_Time_Check<true> {
   \ingroup PPL_CXX_interface
 */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-#define COMPILE_TIME_CHECK(e, msg) COMPILE_TIME_CHECK_AUX(e, __LINE__)
+#define PPL_COMPILE_TIME_CHECK(e, msg) PPL_COMPILE_TIME_CHECK_AUX(e, __LINE__)
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
 /*! \brief
@@ -240,8 +240,9 @@ struct Is_Same_Or_Derived {
   //! A function obtaining a const reference to a \p Derived object.
   static const Derived& derived_object();
 
-  COMPILE_TIME_CHECK(sizeof(char) != sizeof(double),
-		     "architecture with sizeof(char) == sizeof(double) (!?)");
+  PPL_COMPILE_TIME_CHECK(sizeof(char) != sizeof(double),
+                         "architecture with sizeof(char) == sizeof(double)"
+                         " (!?)");
 
   enum {
     /*!
diff --git a/src/minimize.cc b/src/minimize.cc
index f387331..803f8df 100644
--- a/src/minimize.cc
+++ b/src/minimize.cc
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: minimize() and add_and_minimize().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/mp_std_bits.cc b/src/mp_std_bits.cc
index af9325e..7c46b2a 100644
--- a/src/mp_std_bits.cc
+++ b/src/mp_std_bits.cc
@@ -1,7 +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.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/mp_std_bits.defs.hh b/src/mp_std_bits.defs.hh
index 6aa3d24..7b1160e 100644
--- a/src/mp_std_bits.defs.hh
+++ b/src/mp_std_bits.defs.hh
@@ -1,7 +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.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/mp_std_bits.inlines.hh b/src/mp_std_bits.inlines.hh
index 17c8c1d..859caa7 100644
--- a/src/mp_std_bits.inlines.hh
+++ b/src/mp_std_bits.inlines.hh
@@ -1,7 +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.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/namespaces.hh b/src/namespaces.hh
index 9b7ee91..6d7ca40 100644
--- a/src/namespaces.hh
+++ b/src/namespaces.hh
@@ -1,5 +1,5 @@
 /* Documentation for used namespaces.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/ppl-config.cc b/src/ppl-config.cc
deleted file mode 100644
index 8a227ea..0000000
--- a/src/ppl-config.cc
+++ /dev/null
@@ -1,726 +0,0 @@
-/* A program to enquire about the configuration of the PPL  -*- C++ -*-
-   and of the applications using it.
-   Copyright (C) 2001-2008 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.hh"
-
-namespace PPL = Parma_Polyhedra_Library;
-
-#if PPL_VERSION_MAJOR == 0 && PPL_VERSION_MINOR < 8
-#error "PPL version 0.8 or following is required"
-#endif
-
-#include <cstdarg>
-#include <cstring>
-#include <cctype>
-#include <cstdio>
-#include <cstdlib>
-#include <iostream>
-#include <stdexcept>
-#include <string>
-
-#ifdef PPL_HAVE_GETOPT_H
-#include <getopt.h>
-#endif
-
-#ifdef PPL_HAVE_UNISTD_H
-// Include this for `getopt()': especially important if we do not have
-// <getopt.h>.
-#include <unistd.h>
-#endif
-
-namespace {
-
-enum Format {
-  NO_FORMAT,
-  PLAIN,
-  MAKEFILE,
-  SH,
-  CSH
-};
-
-enum Interface {
-  NO_INTERFACE,
-  CXX,
-  C,
-  CIAO_PROLOG,
-  GNU_PROLOG,
-  SICSTUS_PROLOG,
-  SWI_PROLOG,
-  XSB_PROLOG,
-  YAP_PROLOG,
-  OCAML,
-  JAVA
-};
-
-Format required_format = NO_FORMAT;
-
-Interface required_interface = NO_INTERFACE;
-
-#define PPL_LICENSE "GNU GENERAL PUBLIC LICENSE, Version 3"
-
-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;
-bool required_exec_prefix = false;
-bool required_configure_options = false;
-bool required_version = false;
-bool required_version_major = false;
-bool required_version_minor = false;
-bool required_version_revision = false;
-bool required_version_beta = false;
-bool required_banner = false;
-bool required_coefficients = false;
-bool required_includedir = false;
-bool required_bindir = false;
-bool required_libdir = false;
-bool required_cppflags = false;
-bool required_cflags = false;
-bool required_cxxflags = false;
-bool required_ldflags = false;
-bool required_license = false;
-bool required_copying = false;
-bool required_bugs = false;
-bool required_credits = false;
-
-unsigned num_required_items = 0;
-
-#ifdef PPL_HAVE_GETOPT_H
-struct option long_options[] = {
-  {"help",              no_argument,       0, 'h'},
-  {"format",            required_argument, 0, 'F'},
-  {"interface",         required_argument, 0, 'I'},
-  {"application",       no_argument,       0, 'A'},
-  {"library",           no_argument,       0, 'L'},
-  {"prefix",            optional_argument, 0, 'p'},
-  {"exec-prefix",       optional_argument, 0, 'e'},
-  {"configure-options", no_argument,       0, 'O'},
-  {"version",           no_argument,       0, 'V'},
-  {"version-major",     no_argument,       0, 'M'},
-  {"version-minor",     no_argument,       0, 'N'},
-  {"version-revision",  no_argument,       0, 'R'},
-  {"version-beta",      no_argument,       0, 'B'},
-  {"banner",            no_argument,       0, 'E'},
-  {"coefficients",      no_argument,       0, 'n'},
-  {"includedir",        no_argument,       0, 'i'},
-  {"bindir",            no_argument,       0, 'b'},
-  {"libdir",            no_argument,       0, 'l'},
-  {"cppflags",          no_argument,       0, 'P'},
-  {"cflags",            no_argument,       0, 'C'},
-  {"cxxflags",          no_argument,       0, 'X'},
-  {"ldflags",           no_argument,       0, 'D'},
-  {"license",           no_argument,       0, 'g'},
-  {"copying",           no_argument,       0, 'c'},
-  {"bugs",              no_argument,       0, 'u'},
-  {"credits",           no_argument,       0, 'r'},
-  {0, 0, 0, 0}
-};
-#endif
-
-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"
-"  -h, --help               prints this help text to stdout\n"
-"  -FFMT, --format=FMT      sets the output format to FMT\n"
-"                           (one of `plain', `makefile', `sh' or `csh')\n"
-"  -IINT, --interface=INT   selects a library interface (one of `C++', `C',\n"
-"                           `Ciao-Prolog', `GNU-Prolog', `SICStus-Prolog',\n"
-"                           `SWI-Prolog', `XSB-Prolog', `YAP-Prolog',\n"
-"                           `OCaml' or `Java')\n"
-"  -A, --application        selects output for building an application\n"
-"  -L, --library            selects output for building a library\n"
-"  -p[PFX], --prefix[=PFX]  prints or sets library prefix information\n"
-"  -e[PFX], --exec-prefix[=PFX]\n"
-"                           prints or sets library exec-prefix information\n"
-"  -O, --configure-options  prints configuration options\n"
-"  -V, --version            prints version information\n"
-"  -M, --version-major      prints version major number\n"
-"  -N, --version-minor      prints version minor number\n"
-"  -R, --version-revision   prints version revision number\n"
-"  -B, --version-beta       prints version beta number\n"
-"  -E, --banner             prints library banner\n"
-"  -n, --coefficients       prints type of library coefficients\n"
-"  -i, --includedir         prints include files directory\n"
-"  -b, --bindir             prints binary executables directory\n"
-"  -l, --libdir             prints library files directory\n"
-"  -P, --cppflags           prints preprocessor flags\n"
-"  -C, --cflags             prints C compiler flags\n"
-"  -X, --cxxflags           prints C++ compiler flags\n"
-"  -D, --ldflags            prints linker flags\n"
-"  -g, --license            prints synthetic licensing information\n"
-"  -c, --copying            prints detailed licensing information\n"
-"  -u, --bugs               prints bug reporting information\n"
-"  -r, --credits            prints credits\n"
-#ifndef PPL_HAVE_GETOPT_H
-"\n"
-"NOTE: this version does not support long options.\n"
-#endif
-"\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;
-    int c = getopt_long(argc, argv, OPTION_LETTERS, long_options,
-			&option_index);
-#else
-    int c = getopt(argc, argv, OPTION_LETTERS);
-#endif
-
-    if (c == EOF)
-      break;
-
-    switch (c) {
-    case 0:
-      break;
-
-    case '?':
-    case 'h':
-      fprintf(stdout, usage_string, argv[0]);
-      exit(0);
-      break;
-
-      // --format
-    case 'F':
-      if (strcaseeq(optarg, "plain"))
-	required_format = PLAIN;
-      else if (strcaseeq(optarg, "makefile"))
-	required_format = MAKEFILE;
-      else if (strcaseeq(optarg, "sh"))
-	required_format = SH;
-      else if (strcaseeq(optarg, "csh"))
-	required_format = CSH;
-      else
-	fatal("invalid argument `%s' to --format: "
-	      "must be `plain', `makefile', `sh' or `csh'",
-	      optarg);
-      break;
-
-      // --interface
-    case 'I':
-      if (strcaseeq(optarg, "C++"))
-	required_interface = CXX;
-      else if (strcaseeq(optarg, "C"))
-	required_interface = C;
-      else if (strcaseeq(optarg, "Ciao-Prolog"))
-	required_interface = CIAO_PROLOG;
-      else if (strcaseeq(optarg, "GNU-Prolog"))
-	required_interface = GNU_PROLOG;
-      else if (strcaseeq(optarg, "SICStus-Prolog"))
-	required_interface = SICSTUS_PROLOG;
-      else if (strcaseeq(optarg, "SWI-Prolog"))
-	required_interface = SWI_PROLOG;
-      else if (strcaseeq(optarg, "XSB-Prolog"))
-	required_interface = XSB_PROLOG;
-      else if (strcaseeq(optarg, "YAP-Prolog"))
-	required_interface = YAP_PROLOG;
-      else if (strcaseeq(optarg, "OCaml"))
-	required_interface = OCAML;
-      else if (strcaseeq(optarg, "Java"))
-	required_interface = JAVA;
-      else
-	fatal("invalid argument `%s' to --interface: "
-	      "must be `C++', `C', `Ciao-Prolog', `GNU-Prolog', "
-              "`SICStus-Prolog', `SWI-Prolog', `XSB-Prolog', `YAP-Prolog', "
-	      "`OCaml' or `Java'",
-	      optarg);
-      break;
-
-      // --application
-    case 'A':
-      required_application = true;
-      break;
-
-      // --library
-    case 'L':
-      required_library = true;
-      break;
-
-      // --prefix
-    case 'p':
-      if (optarg) {
-	prefix = optarg;
-	if (!exec_prefix_set) {
-	  exec_prefix = optarg;
-	  exec_prefix_set = true;
-	}
-      }
-      else {
-	required_prefix = true;
-	++num_required_items;
-      }
-      break;
-
-      // --exec_prefix
-    case 'e':
-      if (optarg) {
-	exec_prefix = optarg;
-	exec_prefix_set = true;
-      }
-      else {
-	required_exec_prefix = true;
-	++num_required_items;
-      }
-      break;
-
-      // --configure-options
-    case 'O':
-      required_configure_options = true;
-      ++num_required_items;
-      break;
-
-      // --version
-    case 'V':
-      required_version = true;
-      ++num_required_items;
-      break;
-
-      // --version-major
-    case 'M':
-      required_version_major = true;
-      ++num_required_items;
-      break;
-
-      // --version-minor
-    case 'N':
-      required_version_minor = true;
-      ++num_required_items;
-      break;
-
-      // --version-revision
-    case 'R':
-      required_version_revision = true;
-      ++num_required_items;
-      break;
-
-      // --version-beta
-    case 'B':
-      required_version_beta = true;
-      ++num_required_items;
-      break;
-
-      // --banner
-    case 'E':
-      required_banner = true;
-      ++num_required_items;
-      break;
-
-      // --coefficients
-    case 'n':
-      required_coefficients = true;
-      ++num_required_items;
-      break;
-
-      // --includedir
-    case 'i':
-      required_includedir = true;
-      ++num_required_items;
-      break;
-
-      // --bindir
-    case 'b':
-      required_bindir = true;
-      ++num_required_items;
-      break;
-
-      // --libdir
-    case 'l':
-      required_libdir = true;
-      ++num_required_items;
-      break;
-
-      // --cppflags
-    case 'P':
-      required_cppflags = true;
-      ++num_required_items;
-      break;
-
-      // --cflags
-    case 'C':
-      required_cflags = true;
-      ++num_required_items;
-      break;
-
-      // --cxxflags
-    case 'X':
-      required_cxxflags = true;
-      ++num_required_items;
-      break;
-
-      // --ldflags
-    case 'D':
-      required_ldflags = true;
-      ++num_required_items;
-      break;
-
-      // --license
-    case 'g':
-      required_license = true;
-      ++num_required_items;
-      break;
-
-      // --copying
-    case 'c':
-      required_copying = true;
-      ++num_required_items;
-      break;
-
-      // --bugs
-    case 'u':
-      required_bugs = true;
-      ++num_required_items;
-      break;
-
-      // --credits
-    case 'r':
-      required_credits = true;
-      ++num_required_items;
-      break;
-
-    default:
-      abort();
-    }
-  }
-
-  if (argc != optind)
-    // We have a spurious argument.
-    fatal("no arguments besides options are accepted");
-
-  if (required_application && required_library)
-    fatal("the --application and --library are mutually exclusive");
-
-  if (!required_application && !required_library)
-    required_application = true;
-
-  if (required_format == NO_FORMAT)
-    required_format = PLAIN;
-
-  if (required_interface == NO_INTERFACE)
-    required_interface = CXX;
-}
-
-void
-portray_name(const char* name) {
-  switch (required_format) {
-  case PLAIN:
-    if (num_required_items > 1)
-      std::cout << variable_prefix << name << ": ";
-    break;
-  case MAKEFILE:
-    std::cout << variable_prefix << name << '=';
-    break;
-  case SH:
-    std::cout << "export " << variable_prefix << name << '=';
-    break;
-  case CSH:
-    std::cout << "setenv " << variable_prefix << name << ' ';
-    break;
-  default:
-    internal_error();
-  }
-}
-
-void
-portray(const char* const array[]) {
-  for (unsigned i = 0; array[i] != 0; ++i)
-    std::cout << array[i] << std::endl;
-}
-
-void
-portray(const char* string) {
-  std::cout << string;
-}
-
-void
-portray(long n) {
-  std::cout << n;
-}
-
-void
-portray(const char* name, const char* const array[]) {
-  portray_name(name);
-  portray(array);
-  std::cout << std::endl;
-}
-
-void
-portray(const char* name, const char* string) {
-  portray_name(name);
-  portray(string);
-  std::cout << std::endl;
-}
-
-void
-portray(const char* name, std::string s) {
-  portray(name, s.c_str());
-}
-
-void
-portray(const char* name, long n) {
-  portray_name(name);
-  portray(n);
-  std::cout << std::endl;
-}
-
-void
-replace(std::string& s,
-	const std::string& pattern, const std::string& replacement) {
-  std::string::size_type pos = 0;
-  while (true) {
-    pos = s.find(pattern, pos);
-    if (pos == std::string::npos)
-      break;
-    s.replace(pos, pattern.size(), replacement);
-    pos += replacement.length();
-  }
-}
-
-void
-replace_prefixes(std::string& s) {
-  static const std::string prefix_reference = "${prefix}";
-  static const std::string exec_prefix_reference = "${exec_prefix}";
-  replace(s, prefix_reference, prefix);
-  replace(s, exec_prefix_reference, exec_prefix);
-}
-
-void
-portray_with_prefixes(const char* name, std::string s) {
-  replace_prefixes(s);
-  portray(name, s);
-}
-
-} // namespace
-
-int
-main(int argc, char* argv[]) try {
-  program_name = argv[0];
-
-  if (strcmp(PPL_VERSION, PPL::version()) != 0)
-    fatal("was compiled with PPL version %s, but linked with version %s",
-	  PPL_VERSION, PPL::version());
-
-  // Initialize prefixes.
-  prefix = "/usr/local";
-  exec_prefix = "${prefix}";
-  replace_prefixes(prefix);
-  replace_prefixes(exec_prefix);
-
-  // Process command line options.
-  process_options(argc, argv);
-
-  if (required_prefix)
-    portray("PREFIX", prefix);
-
-  if (required_exec_prefix)
-    portray("EXEC_PREFIX", exec_prefix);
-
-  if (required_configure_options)
-    portray("CONFIGURE_OPTIONS", PPL_CONFIGURE_OPTIONS);
-
-  if (required_version)
-    portray("VERSION", PPL_VERSION);
-
-  if (required_version_major)
-    portray("VERSION_MAJOR", long(PPL_VERSION_MAJOR));
-
-  if (required_version_minor)
-    portray("VERSION_MINOR", long(PPL_VERSION_MINOR));
-
-  if (required_version_revision)
-    portray("VERSION_REVISION", long(PPL_VERSION_REVISION));
-
-  if (required_version_beta)
-    portray("VERSION_BETA", long(PPL_VERSION_BETA));
-
-  if (required_banner)
-    portray("BANNER", PPL::banner());
-
-  if (required_coefficients)
-    portray("COEFFICIENTS", "mpz");
-
-  if (required_includedir)
-    portray_with_prefixes("INCLUDEDIR", "${prefix}/include");
-
-  if (required_bindir)
-    portray_with_prefixes("BINDIR", "${exec_prefix}/bin");
-
-  if (required_libdir)
-    portray_with_prefixes("LIBDIR", "${exec_prefix}/lib");
-
-  if (required_cppflags) {
-    if (required_application) {
-      std::string cppflags = "";
-      std::string s = "${prefix}/include";
-      replace_prefixes(s);
-      // `/usr/include' is the standard include directory:
-      // thus it needs not be specified.
-      if (s == "/usr/include")
-	s = cppflags;
-      else {
-	s = "-I" + s;
-	// Avoid duplicating the -I options.
-	if (cppflags.find(s) != std::string::npos)
-	  s = "";
-	if (s.length() > 0 && strlen("") > 0)
-	  s += ' ';
-	s += "";
-      }
-      if (s.length() > 0 && strlen("") > 0)
-	  s += ' ';
-      s += "";
-      portray("CPPFLAGS", s);
-    }
-    else
-      portray("CPPFLAGS", "");
-  }
-
-  if (required_cflags)
-    portray("CFLAGS", " -g -O2 -frounding-math  -W -Wall");
-
-  if (required_cxxflags)
-    portray("CXXFLAGS", " -g -O2 -frounding-math  -W -Wall");
-
-  if (required_ldflags) {
-    std::string s = "${exec_prefix}/lib";
-    replace_prefixes(s);
-    const std::string ldflags = "";
-    // `/usr/lib' is the standard library directory:
-    // thus it needs not be specified.
-    if (s == "/usr/lib")
-      s = ldflags;
-    else {
-      s = "-L" + s;
-      // Avoid duplicating the -L options.
-      if (ldflags.find(s) != std::string::npos)
-	s = "";
-      if (s.length() > 0 && ldflags.length() > 0)
-	s += ' ';
-      s += ldflags;
-    }
-    if (required_library) {
-      if (s.length() > 0 && strlen(" -lm -lgmpxx -lgmp") > 0)
-	s += ' ';
-      s += " -lm -lgmpxx -lgmp";
-    }
-    else {
-      assert(required_application);
-      if (s.length() > 0)
-	s += ' ';
-      s += "-lppl";
-      switch (required_interface) {
-      case C:
-	s += " -lppl_c";
-	break;
-      default:
-	break;
-      }
-      s += " -lgmpxx -lgmp";
-    }
-    portray("LDFLAGS", s);
-  }
-
-  if (required_license)
-    portray("LICENSE", PPL_LICENSE);
-
-  if (required_copying) {
-    extern const char* const COPYING_array[];
-    portray("COPYING", COPYING_array);
-  }
-
-  if (required_bugs) {
-    extern const char* const BUGS_array[];
-    portray("BUGS", BUGS_array);
-  }
-
-  if (required_credits) {
-    extern const char* const CREDITS_array[];
-    portray("CREDITS", CREDITS_array);
-  }
-
-  return 0;
-}
-catch (const std::bad_alloc&) {
-  fatal("out of memory");
-  exit(1);
-}
-catch (const std::overflow_error& e) {
-  fatal("arithmetic overflow (%s)", e.what());
-  exit(1);
-}
-catch (...) {
-  internal_error();
-}
diff --git a/src/ppl-config.cc.in b/src/ppl-config.cc.in
index 199a32f..e175d57 100644
--- a/src/ppl-config.cc.in
+++ b/src/ppl-config.cc.in
@@ -1,6 +1,6 @@
 /* A program to enquire about the configuration of the PPL  -*- C++ -*-
    and of the applications using it.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -40,14 +40,29 @@ namespace PPL = Parma_Polyhedra_Library;
 
 #ifdef PPL_HAVE_GETOPT_H
 #include <getopt.h>
+
+// Try to accommodate non-GNU implementations of `getopt()'.
+#if !defined(no_argument) && defined(NO_ARG)
+#define no_argument NO_ARG
+#endif
+
+#if !defined(required_argument) && defined(REQUIRED_ARG)
+#define required_argument REQUIRED_ARG
 #endif
 
+#if !defined(optional_argument) && defined(OPTIONAL_ARG)
+#define optional_argument OPTIONAL_ARG
+#endif
+
+#endif // defined(PPL_HAVE_GETOPT_H)
+
 #ifdef PPL_HAVE_UNISTD_H
 // Include this for `getopt()': especially important if we do not have
 // <getopt.h>.
 #include <unistd.h>
 #endif
 
+
 namespace {
 
 enum Format {
diff --git a/src/ppl.hh.dist b/src/ppl.hh.dist
index c908a60..d98c8db 100644
--- a/src/ppl.hh.dist
+++ b/src/ppl.hh.dist
@@ -1,5 +1,5 @@
 /* This is the header file of the Parma Polyhedra Library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -33,559 +33,381 @@ site: http://www.cs.unipr.it/ppl/ . */
 #endif
 
 /* Automatically generated from PPL source file ../ppl-config.h line 1. */
-#ifndef _PPL_CONFIG_H
-#define _PPL_CONFIG_H 1
- 
-/* ppl-config.h. Generated automatically at end of configure. */
 /* config.h.  Generated from config.h.in by configure.  */
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 
 /* Unique (nonzero) code for the IEEE 754 Single Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_SINGLE 1
+#define PPL_FLOAT_IEEE754_SINGLE 1
 
 /* Unique (nonzero) code for the IEEE 754 Double Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_DOUBLE 2
+#define PPL_FLOAT_IEEE754_DOUBLE 2
 
 /* Unique (nonzero) code for the IEEE 754 Quad Precision
    floating point format.  */
-# define PPL_FLOAT_IEEE754_QUAD 3
+#define PPL_FLOAT_IEEE754_QUAD 3
 
 /* Unique (nonzero) code for the Intel Double-Extended
    floating point format.  */
-# define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
+#define PPL_FLOAT_INTEL_DOUBLE_EXTENDED 4
 
 
-/* ABI-breaking extra assertions are enabled when this is defined. */
-/* #undef PPL_ABI_BREAKING_EXTRA_DEBUG */
-
 /* Define if building universal (internal helper macro) */
-/* #undef PPL_AC_APPLE_UNIVERSAL_BUILD */
-
-/* Not zero if the FPU can be controlled. */
-#ifndef PPL_CAN_CONTROL_FPU 
-#define PPL_CAN_CONTROL_FPU  1 
-#endif
-
-/* Defined if the integral type to be used for coefficients is a checked one.
-   */
-/* #undef PPL_CHECKED_INTEGERS */
-
-/* The number of bits of coefficients; 0 if unbounded. */
-#ifndef PPL_COEFFICIENT_BITS 
-#define PPL_COEFFICIENT_BITS  0 
-#endif
-
-/* The integral type used to represent coefficients. */
-#ifndef PPL_COEFFICIENT_TYPE 
-#define PPL_COEFFICIENT_TYPE  mpz_class 
-#endif
-
-/* This contains the options with which `configure' was invoked. */
-#ifndef PPL_CONFIGURE_OPTIONS 
-#define PPL_CONFIGURE_OPTIONS  "" 
-#endif
-
-/* The unique code of the binary format of C++ doubles, if supported;
-   undefined otherwise. */
-#ifndef PPL_CXX_DOUBLE_BINARY_FORMAT 
-#define PPL_CXX_DOUBLE_BINARY_FORMAT  PPL_FLOAT_IEEE754_DOUBLE 
-#endif
-
-/* Not zero if C++ supports exact output for doubles. */
-#ifndef PPL_CXX_DOUBLE_EXACT_OUTPUT 
-#define PPL_CXX_DOUBLE_EXACT_OUTPUT  1 
-#endif
-
-/* The binary format of C++ floats, if supported; undefined otherwise. */
-#ifndef PPL_CXX_FLOAT_BINARY_FORMAT 
-#define PPL_CXX_FLOAT_BINARY_FORMAT  PPL_FLOAT_IEEE754_SINGLE 
-#endif
-
-/* Not zero if C++ supports exact output for floats. */
-#ifndef PPL_CXX_FLOAT_EXACT_OUTPUT 
-#define PPL_CXX_FLOAT_EXACT_OUTPUT  1 
-#endif
-
-/* Not zero if the C++ compiler has the remainder bug. */
-#ifndef PPL_CXX_HAS_REMAINDER_BUG 
-#define PPL_CXX_HAS_REMAINDER_BUG  1 
-#endif
-
-/* The unique code of the binary format of C++ long doubles, if supported;
-   undefined otherwise. */
-#ifndef PPL_CXX_LONG_DOUBLE_BINARY_FORMAT 
-#define PPL_CXX_LONG_DOUBLE_BINARY_FORMAT  PPL_FLOAT_INTEL_DOUBLE_EXTENDED 
-#endif
-
-/* Not zero if C++ supports exact output for long doubles. */
-#ifndef PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT 
-#define PPL_CXX_LONG_DOUBLE_EXACT_OUTPUT  1 
-#endif
-
-/* Not zero if the C++ compiler provides long double numbers that have bigger
-   range or precision than double. */
-#ifndef PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 
-#define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE  1 
-#endif
-
-/* Not zero if the C++ compiler supports __attribute__ ((weak)). */
-#ifndef PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK 
-#define PPL_CXX_SUPPORTS_ATTRIBUTE_WEAK  1 
-#endif
-
-/* Not zero if the C++ compiler supports flexible arrays. */
-#ifndef PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS 
-#define PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS  1 
-#endif
-
-/* Not zero if the the IEEE inexact flag is supported in C++. */
-#ifndef PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG 
-#define PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG  1 
-#endif
-
-/* Not zero if it is possible to limit memory using setrlimit(). */
-#ifndef PPL_CXX_SUPPORTS_LIMITING_MEMORY 
-#define PPL_CXX_SUPPORTS_LIMITING_MEMORY  1 
-#endif
-
-/* Defined if floating point arithmetics may use the 387 unit. */
-#ifndef PPL_FPMATH_MAY_USE_387 
-#define PPL_FPMATH_MAY_USE_387  1 
-#endif
-
-/* Defined if floating point arithmetics may use the SSE instruction set. */
-#ifndef PPL_FPMATH_MAY_USE_SSE 
-#define PPL_FPMATH_MAY_USE_SSE  1 
-#endif
-
-/* Defined if GLPK provides glp_term_hook(). */
-/* #undef PPL_GLPK_HAS_GLP_TERM_HOOK */
-
-/* Defined if GLPK provides glp_term_out(). */
-/* #undef PPL_GLPK_HAS_GLP_TERM_OUT */
-
-/* Defined if GLPK provides lib_set_print_hook(). */
-/* #undef PPL_GLPK_HAS_LIB_SET_PRINT_HOOK */
-
-/* Defined if GLPK provides _glp_lib_print_hook(). */
-#ifndef PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK 
-#define PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK  1 
-#endif
-
-/* Defined if the integral type to be used for coefficients is GMP's one. */
-#ifndef PPL_GMP_INTEGERS 
-#define PPL_GMP_INTEGERS  1 
-#endif
-
-/* Not zero if GMP has been compiled with support for exceptions. */
-#ifndef PPL_GMP_SUPPORTS_EXCEPTIONS 
-#define PPL_GMP_SUPPORTS_EXCEPTIONS  1 
-#endif
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
 
 /* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
-#ifndef PPL_HAVE_DECL_FFS 
-#define PPL_HAVE_DECL_FFS  1 
-#endif
+#define PPL_HAVE_DECL_FFS 1
 
 /* Define to 1 if you have the declaration of `fma', and to 0 if you don't. */
-#ifndef PPL_HAVE_DECL_FMA 
-#define PPL_HAVE_DECL_FMA  1 
-#endif
+#define PPL_HAVE_DECL_FMA 1
 
 /* Define to 1 if you have the declaration of `fmaf', and to 0 if you don't.
    */
-#ifndef PPL_HAVE_DECL_FMAF 
-#define PPL_HAVE_DECL_FMAF  1 
-#endif
+#define PPL_HAVE_DECL_FMAF 1
 
 /* Define to 1 if you have the declaration of `fmal', and to 0 if you don't.
    */
-#ifndef PPL_HAVE_DECL_FMAL 
-#define PPL_HAVE_DECL_FMAL  1 
-#endif
+#define PPL_HAVE_DECL_FMAL 1
 
 /* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
    */
-#ifndef PPL_HAVE_DECL_GETENV 
-#define PPL_HAVE_DECL_GETENV  1 
-#endif
+#define PPL_HAVE_DECL_GETENV 1
 
 /* Define to 1 if you have the declaration of `getrusage', and to 0 if you
    don't. */
-#ifndef PPL_HAVE_DECL_GETRUSAGE 
-#define PPL_HAVE_DECL_GETRUSAGE  1 
-#endif
+#define PPL_HAVE_DECL_GETRUSAGE 1
 
 /* Define to 1 if you have the declaration of `rintf', and to 0 if you don't.
    */
-#ifndef PPL_HAVE_DECL_RINTF 
-#define PPL_HAVE_DECL_RINTF  1 
-#endif
+#define PPL_HAVE_DECL_RINTF 1
 
 /* Define to 1 if you have the declaration of `rintl', and to 0 if you don't.
    */
-#ifndef PPL_HAVE_DECL_RINTL 
-#define PPL_HAVE_DECL_RINTL  1 
-#endif
+#define PPL_HAVE_DECL_RINTL 1
 
 /* Define to 1 if you have the declaration of `RLIMIT_AS', and to 0 if you
    don't. */
-#ifndef PPL_HAVE_DECL_RLIMIT_AS 
-#define PPL_HAVE_DECL_RLIMIT_AS  1 
-#endif
+#define PPL_HAVE_DECL_RLIMIT_AS 1
 
 /* Define to 1 if you have the declaration of `RLIMIT_DATA', and to 0 if you
    don't. */
-#ifndef PPL_HAVE_DECL_RLIMIT_DATA 
-#define PPL_HAVE_DECL_RLIMIT_DATA  1 
-#endif
+#define PPL_HAVE_DECL_RLIMIT_DATA 1
 
 /* Define to 1 if you have the declaration of `RLIMIT_RSS', and to 0 if you
    don't. */
-#ifndef PPL_HAVE_DECL_RLIMIT_RSS 
-#define PPL_HAVE_DECL_RLIMIT_RSS  1 
-#endif
+#define PPL_HAVE_DECL_RLIMIT_RSS 1
 
 /* Define to 1 if you have the declaration of `RLIMIT_VMEM', and to 0 if you
    don't. */
-#ifndef PPL_HAVE_DECL_RLIMIT_VMEM 
-#define PPL_HAVE_DECL_RLIMIT_VMEM  0 
-#endif
+#define PPL_HAVE_DECL_RLIMIT_VMEM 0
 
 /* Define to 1 if you have the declaration of `strtod', and to 0 if you don't.
    */
-#ifndef PPL_HAVE_DECL_STRTOD 
-#define PPL_HAVE_DECL_STRTOD  1 
-#endif
+#define PPL_HAVE_DECL_STRTOD 1
 
 /* Define to 1 if you have the declaration of `strtof', and to 0 if you don't.
    */
-#ifndef PPL_HAVE_DECL_STRTOF 
-#define PPL_HAVE_DECL_STRTOF  1 
-#endif
+#define PPL_HAVE_DECL_STRTOF 1
 
 /* Define to 1 if you have the declaration of `strtold', and to 0 if you
    don't. */
-#ifndef PPL_HAVE_DECL_STRTOLD 
-#define PPL_HAVE_DECL_STRTOLD  1 
-#endif
+#define PPL_HAVE_DECL_STRTOLD 1
 
 /* Define to 1 if you have the declaration of `strtoll', and to 0 if you
    don't. */
-#ifndef PPL_HAVE_DECL_STRTOLL 
-#define PPL_HAVE_DECL_STRTOLL  1 
-#endif
+#define PPL_HAVE_DECL_STRTOLL 1
 
 /* Define to 1 if you have the declaration of `strtoull', and to 0 if you
    don't. */
-#ifndef PPL_HAVE_DECL_STRTOULL 
-#define PPL_HAVE_DECL_STRTOULL  1 
-#endif
+#define PPL_HAVE_DECL_STRTOULL 1
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-#ifndef PPL_HAVE_DLFCN_H 
-#define PPL_HAVE_DLFCN_H  1 
-#endif
+#define PPL_HAVE_DLFCN_H 1
 
 /* Define to 1 if you have the <fenv.h> header file. */
-#ifndef PPL_HAVE_FENV_H 
-#define PPL_HAVE_FENV_H  1 
-#endif
+#define PPL_HAVE_FENV_H 1
 
 /* Define to 1 if you have the <getopt.h> header file. */
-#ifndef PPL_HAVE_GETOPT_H 
-#define PPL_HAVE_GETOPT_H  1 
-#endif
+#define PPL_HAVE_GETOPT_H 1
 
 /* Define to 1 if you have the <glpk/glpk.h> header file. */
-#ifndef PPL_HAVE_GLPK_GLPK_H 
-#define PPL_HAVE_GLPK_GLPK_H  1 
-#endif
+#define PPL_HAVE_GLPK_GLPK_H 1
 
 /* Define to 1 if you have the <glpk.h> header file. */
-#ifndef PPL_HAVE_GLPK_H 
-#define PPL_HAVE_GLPK_H  1 
-#endif
+/* #undef PPL_HAVE_GLPK_H */
 
 /* Define to 1 if you have the <ieeefp.h> header file. */
 /* #undef PPL_HAVE_IEEEFP_H */
 
 /* Define to 1 if you have the <inttypes.h> header file. */
-#ifndef PPL_HAVE_INTTYPES_H 
-#define PPL_HAVE_INTTYPES_H  1 
-#endif
+#define PPL_HAVE_INTTYPES_H 1
 
 /* Define to 1 if the system has the type `int_fast16_t'. */
-#ifndef PPL_HAVE_INT_FAST16_T 
-#define PPL_HAVE_INT_FAST16_T  1 
-#endif
+#define PPL_HAVE_INT_FAST16_T 1
 
 /* Define to 1 if the system has the type `int_fast32_t'. */
-#ifndef PPL_HAVE_INT_FAST32_T 
-#define PPL_HAVE_INT_FAST32_T  1 
-#endif
+#define PPL_HAVE_INT_FAST32_T 1
 
 /* Define to 1 if the system has the type `int_fast64_t'. */
-#ifndef PPL_HAVE_INT_FAST64_T 
-#define PPL_HAVE_INT_FAST64_T  1 
-#endif
+#define PPL_HAVE_INT_FAST64_T 1
 
 /* Define to 1 if you have the <memory.h> header file. */
-#ifndef PPL_HAVE_MEMORY_H 
-#define PPL_HAVE_MEMORY_H  1 
-#endif
+#define PPL_HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `setitimer' function. */
+#define HAVE_SETITIMER 1
+
+/* Define to 1 if the system has the type `siginfo_t'. */
+#define HAVE_SIGINFO_T 1
 
 /* Define to 1 if you have the <signal.h> header file. */
-#ifndef PPL_HAVE_SIGNAL_H 
-#define PPL_HAVE_SIGNAL_H  1 
-#endif
+#define PPL_HAVE_SIGNAL_H 1
 
 /* Define to 1 if you have the <stdint.h> header file. */
-#ifndef PPL_HAVE_STDINT_H 
-#define PPL_HAVE_STDINT_H  1 
-#endif
+#define PPL_HAVE_STDINT_H 1
 
 /* Define to 1 if you have the <stdlib.h> header file. */
-#ifndef PPL_HAVE_STDLIB_H 
-#define PPL_HAVE_STDLIB_H  1 
-#endif
+#define PPL_HAVE_STDLIB_H 1
 
 /* Define to 1 if you have the <strings.h> header file. */
-#ifndef PPL_HAVE_STRINGS_H 
-#define PPL_HAVE_STRINGS_H  1 
-#endif
+#define PPL_HAVE_STRINGS_H 1
 
 /* Define to 1 if you have the <string.h> header file. */
-#ifndef PPL_HAVE_STRING_H 
-#define PPL_HAVE_STRING_H  1 
-#endif
+#define PPL_HAVE_STRING_H 1
 
 /* Define to 1 if you have the <sys/resource.h> header file. */
-#ifndef PPL_HAVE_SYS_RESOURCE_H 
-#define PPL_HAVE_SYS_RESOURCE_H  1 
-#endif
+#define PPL_HAVE_SYS_RESOURCE_H 1
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
-#ifndef PPL_HAVE_SYS_STAT_H 
-#define PPL_HAVE_SYS_STAT_H  1 
-#endif
+#define PPL_HAVE_SYS_STAT_H 1
 
 /* Define to 1 if you have the <sys/time.h> header file. */
-#ifndef PPL_HAVE_SYS_TIME_H 
-#define PPL_HAVE_SYS_TIME_H  1 
-#endif
+#define PPL_HAVE_SYS_TIME_H 1
 
 /* Define to 1 if you have the <sys/types.h> header file. */
-#ifndef PPL_HAVE_SYS_TYPES_H 
-#define PPL_HAVE_SYS_TYPES_H  1 
-#endif
+#define PPL_HAVE_SYS_TYPES_H 1
 
 /* Define to 1 if the system has the type `timeval'. */
-#ifndef PPL_HAVE_TIMEVAL 
-#define PPL_HAVE_TIMEVAL  1 
-#endif
+#define PPL_HAVE_TIMEVAL 1
 
 /* Define to 1 if typeof works with your compiler. */
-#ifndef PPL_HAVE_TYPEOF 
-#define PPL_HAVE_TYPEOF  1 
-#endif
+#define PPL_HAVE_TYPEOF 1
 
 /* Define to 1 if the system has the type `uint_fast16_t'. */
-#ifndef PPL_HAVE_UINT_FAST16_T 
-#define PPL_HAVE_UINT_FAST16_T  1 
-#endif
+#define PPL_HAVE_UINT_FAST16_T 1
 
 /* Define to 1 if the system has the type `uint_fast32_t'. */
-#ifndef PPL_HAVE_UINT_FAST32_T 
-#define PPL_HAVE_UINT_FAST32_T  1 
-#endif
+#define PPL_HAVE_UINT_FAST32_T 1
 
 /* Define to 1 if the system has the type `uint_fast64_t'. */
-#ifndef PPL_HAVE_UINT_FAST64_T 
-#define PPL_HAVE_UINT_FAST64_T  1 
-#endif
+#define PPL_HAVE_UINT_FAST64_T 1
 
 /* Define to 1 if you have the <unistd.h> header file. */
-#ifndef PPL_HAVE_UNISTD_H 
-#define PPL_HAVE_UNISTD_H  1 
-#endif
+#define PPL_HAVE_UNISTD_H 1
 
 /* Define to 1 if `_mp_alloc' is member of `__mpz_struct'. */
-#ifndef PPL_HAVE___MPZ_STRUCT__MP_ALLOC 
-#define PPL_HAVE___MPZ_STRUCT__MP_ALLOC  1 
-#endif
+#define PPL_HAVE___MPZ_STRUCT__MP_ALLOC 1
 
 /* Define to 1 if `_mp_d' is member of `__mpz_struct'. */
-#ifndef PPL_HAVE___MPZ_STRUCT__MP_D 
-#define PPL_HAVE___MPZ_STRUCT__MP_D  1 
-#endif
+#define PPL_HAVE___MPZ_STRUCT__MP_D 1
 
 /* Define to 1 if `_mp_size' is member of `__mpz_struct'. */
-#ifndef PPL_HAVE___MPZ_STRUCT__MP_SIZE 
-#define PPL_HAVE___MPZ_STRUCT__MP_SIZE  1 
-#endif
+#define PPL_HAVE___MPZ_STRUCT__MP_SIZE 1
 
 /* Define to the sub-directory in which libtool stores uninstalled libraries.
    */
-#ifndef PPL_LT_OBJDIR 
-#define PPL_LT_OBJDIR  ".libs/" 
-#endif
-
-/* Defined if the integral type to be used for coefficients is a native one.
-   */
-/* #undef PPL_NATIVE_INTEGERS */
-
-/* Assertions are disabled when this is defined. */
-#ifndef PPL_NDEBUG 
-#define PPL_NDEBUG  1 
-#endif
+#define LT_OBJDIR ".libs/"
 
 /* Define to the address where bug reports for this package should be sent. */
-#ifndef PPL_PACKAGE_BUGREPORT 
-#define PPL_PACKAGE_BUGREPORT  "ppl-devel at cs.unipr.it" 
-#endif
+#define PPL_PACKAGE_BUGREPORT "ppl-devel at cs.unipr.it"
 
 /* Define to the full name of this package. */
-#ifndef PPL_PACKAGE_NAME 
-#define PPL_PACKAGE_NAME  "the Parma Polyhedra Library" 
-#endif
+#define PPL_PACKAGE_NAME "the Parma Polyhedra Library"
 
 /* Define to the full name and version of this package. */
-#ifndef PPL_PACKAGE_STRING 
-#define PPL_PACKAGE_STRING  "the Parma Polyhedra Library 0.10" 
-#endif
+#define PPL_PACKAGE_STRING "the Parma Polyhedra Library 0.10.1pre13"
 
 /* Define to the one symbol short name of this package. */
-#ifndef PPL_PACKAGE_TARNAME 
-#define PPL_PACKAGE_TARNAME  "ppl" 
-#endif
+#define PPL_PACKAGE_TARNAME "ppl"
 
 /* Define to the version of this package. */
-#ifndef PPL_PACKAGE_VERSION 
-#define PPL_PACKAGE_VERSION  "0.10" 
-#endif
+#define PPL_PACKAGE_VERSION "0.10.1pre13"
+
+/* ABI-breaking extra assertions are enabled when this is defined. */
+/* #undef PPL_ABI_BREAKING_EXTRA_DEBUG */
+
+/* Not zero if the FPU can be controlled. */
+#define PPL_CAN_CONTROL_FPU 1
+
+/* Defined if the integral type to be used for coefficients is a checked one.
+   */
+/* #undef PPL_CHECKED_INTEGERS */
+
+/* The number of bits of coefficients; 0 if unbounded. */
+#define PPL_COEFFICIENT_BITS 0
+
+/* The integral type used to represent coefficients. */
+#define PPL_COEFFICIENT_TYPE mpz_class
+
+/* This contains the options with which `configure' was invoked. */
+#define PPL_CONFIGURE_OPTIONS ""
+
+/* 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 C++ compiler provides long double numbers that have bigger
+   range or precision than double. */
+#define PPL_CXX_PROVIDES_PROPER_LONG_DOUBLE 1
+
+/* 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
+
+/* Defined if floating point arithmetics may use the 387 unit. */
+#define PPL_FPMATH_MAY_USE_387 1
+
+/* Defined if floating point arithmetics may use the SSE instruction set. */
+#define PPL_FPMATH_MAY_USE_SSE 1
+
+/* Defined if GLPK provides glp_term_hook(). */
+#define PPL_GLPK_HAS_GLP_TERM_HOOK 1
+
+/* Defined if GLPK provides glp_term_out(). */
+#define PPL_GLPK_HAS_GLP_TERM_OUT 1
+
+/* Defined if GLPK provides lib_set_print_hook(). */
+/* #undef PPL_GLPK_HAS_LIB_SET_PRINT_HOOK */
+
+/* Defined if GLPK provides _glp_lib_print_hook(). */
+/* #undef PPL_GLPK_HAS__GLP_LIB_PRINT_HOOK */
+
+/* Defined if the integral type to be used for coefficients is GMP's one. */
+#define PPL_GMP_INTEGERS 1
+
+/* Not zero if GMP has been compiled with support for exceptions. */
+#define PPL_GMP_SUPPORTS_EXCEPTIONS 1
+
+/* Defined if the integral type to be used for coefficients is a native one.
+   */
+/* #undef PPL_NATIVE_INTEGERS */
+
+/* Assertions are disabled when this is defined. */
+#define PPL_NDEBUG 1
+
+/* Not zero if doubles are supported. */
+#define PPL_SUPPORTED_DOUBLE 1
+
+/* Not zero if floats are supported. */
+#define PPL_SUPPORTED_FLOAT 1
+
+/* 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. */
-#ifndef PPL_SIZEOF_CHAR 
-#define PPL_SIZEOF_CHAR  1 
-#endif
+#define PPL_SIZEOF_CHAR 1
 
 /* The size of `double', as computed by sizeof. */
-#ifndef PPL_SIZEOF_DOUBLE 
-#define PPL_SIZEOF_DOUBLE  8 
-#endif
+#define PPL_SIZEOF_DOUBLE 8
 
 /* The size of `float', as computed by sizeof. */
-#ifndef PPL_SIZEOF_FLOAT 
-#define PPL_SIZEOF_FLOAT  4 
-#endif
+#define PPL_SIZEOF_FLOAT 4
 
 /* The size of `fp', as computed by sizeof. */
-#ifndef PPL_SIZEOF_FP 
-#define PPL_SIZEOF_FP  8 
-#endif
+#define PPL_SIZEOF_FP 8
 
 /* The size of `int', as computed by sizeof. */
-#ifndef PPL_SIZEOF_INT 
-#define PPL_SIZEOF_INT  4 
-#endif
+#define PPL_SIZEOF_INT 4
 
 /* The size of `int*', as computed by sizeof. */
-#ifndef PPL_SIZEOF_INTP 
-#define PPL_SIZEOF_INTP  8 
-#endif
+#define PPL_SIZEOF_INTP 8
 
 /* The size of `long', as computed by sizeof. */
-#ifndef PPL_SIZEOF_LONG 
-#define PPL_SIZEOF_LONG  8 
-#endif
+#define PPL_SIZEOF_LONG 8
 
 /* The size of `long double', as computed by sizeof. */
-#ifndef PPL_SIZEOF_LONG_DOUBLE 
-#define PPL_SIZEOF_LONG_DOUBLE  16 
-#endif
+#define PPL_SIZEOF_LONG_DOUBLE 16
 
 /* The size of `long long', as computed by sizeof. */
-#ifndef PPL_SIZEOF_LONG_LONG 
-#define PPL_SIZEOF_LONG_LONG  8 
-#endif
+#define PPL_SIZEOF_LONG_LONG 8
 
 /* The size of `mp_limb_t', as computed by sizeof. */
-#ifndef PPL_SIZEOF_MP_LIMB_T 
-#define PPL_SIZEOF_MP_LIMB_T  8 
-#endif
+#define PPL_SIZEOF_MP_LIMB_T 8
 
 /* The size of `short', as computed by sizeof. */
-#ifndef PPL_SIZEOF_SHORT 
-#define PPL_SIZEOF_SHORT  2 
-#endif
+#define PPL_SIZEOF_SHORT 2
 
 /* The size of `size_t', as computed by sizeof. */
-#ifndef PPL_SIZEOF_SIZE_T 
-#define PPL_SIZEOF_SIZE_T  8 
-#endif
+#define PPL_SIZEOF_SIZE_T 8
 
 /* Define to 1 if you have the ANSI C header files. */
-#ifndef PPL_STDC_HEADERS 
-#define PPL_STDC_HEADERS  1 
-#endif
-
-/* Not zero if doubles are supported. */
-#ifndef PPL_SUPPORTED_DOUBLE 
-#define PPL_SUPPORTED_DOUBLE  1 
-#endif
-
-/* Not zero if floats are supported. */
-#ifndef PPL_SUPPORTED_FLOAT 
-#define PPL_SUPPORTED_FLOAT  1 
-#endif
+#define PPL_STDC_HEADERS 1
 
-/* Not zero if long doubles are supported. */
-#ifndef PPL_SUPPORTED_LONG_DOUBLE 
-#define PPL_SUPPORTED_LONG_DOUBLE  1 
-#endif
-
-/* Defined if the Parma Watchdog Library is enabled. */
-#ifndef PPL_WATCHDOG_LIBRARY_ENABLED 
-#define PPL_WATCHDOG_LIBRARY_ENABLED  1 
-#endif
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+/* Define PPL_WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
 #if defined AC_APPLE_UNIVERSAL_BUILD
 # if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
+#  define PPL_WORDS_BIGENDIAN 1
 # endif
 #else
-# ifndef WORDS_BIGENDIAN
-/* #  undef WORDS_BIGENDIAN */
+# ifndef PPL_WORDS_BIGENDIAN
+/* #  undef PPL_WORDS_BIGENDIAN */
 # endif
 #endif
 
 /* When defined and libstdc++ is used, it is used in debug mode. */
-/* #undef PPL__GLIBCXX_DEBUG */
+/* #undef _GLIBCXX_DEBUG */
 
 /* When defined and libstdc++ is used, it is used in pedantic debug mode. */
-/* #undef PPL__GLIBCXX_DEBUG_PEDANTIC */
+/* #undef _GLIBCXX_DEBUG_PEDANTIC */
 
 /* Define to empty if `const' does not conform to ANSI C. */
-/* #undef _ppl_const */
+/* #undef const */
 
 /* Define to `__inline__' or `__inline' if that's what the C compiler
    calls it, or to nothing if 'inline' is not supported under any name.  */
 #ifndef __cplusplus
-/* #undef _ppl_inline */
+/* #undef inline */
 #endif
 
 /* Define to __typeof__ if your compiler spells it that way. */
-/* #undef _ppl_typeof */
+/* #undef typeof */
 
 
-#ifdef PPL_NDEBUG
-# define NDEBUG 1
+#if defined(PPL_NDEBUG) && !defined(NDEBUG)
+# define NDEBUG PPL_NDEBUG
 #endif
 
 /* In order for the definition of `int64_t' to be seen by Comeau C/C++,
@@ -605,9 +427,6 @@ site: http://www.cs.unipr.it/ppl/ . */
 # include <inttypes.h>
 #endif
 
- 
-/* once: _PPL_CONFIG_H */
-#endif
 /* Automatically generated from PPL source file ../src/version.hh line 1. */
 /* Declaration of macros and functions providing version  -*- C++ -*-
    and licensing information.
@@ -624,14 +443,14 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 //! The revision number of the PPL version.
 /*! \ingroup PPL_CXX_interface */
-#define PPL_VERSION_REVISION 0
+#define PPL_VERSION_REVISION 1
 
 /*! \brief
   The beta number of the PPL version.  This is zero for official
   releases and nonzero for development snapshots.
   \ingroup PPL_CXX_interface
 */
-#define PPL_VERSION_BETA 0
+#define PPL_VERSION_BETA 13
 
 //! A string containing the PPL version.
 /*! \ingroup PPL_CXX_interface
@@ -645,7 +464,7 @@ 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.10"
+#define PPL_VERSION "0.10.1pre13"
 
 namespace Parma_Polyhedra_Library {
 
@@ -679,7 +498,7 @@ const char* banner();
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/namespaces.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/namespaces.hh line 1. */
 /* Documentation for used namespaces.
 */
 
@@ -843,988 +662,861 @@ namespace std {
 } // namespace std
 
 
-/* Automatically generated from PPL source file ../src/compiler.hh line 1. */
-/* C++ compiler related stuff.
-*/
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval_Info.types.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  No-op function that allows to avoid unused variable warnings from
-  the compiler.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-inline void
-used(const T&) {
-}
+template <typename Policy>
+class Interval_Info_Null;
 
-#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).
+template <typename T, typename Policy>
+class Interval_Info_Bitset;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/stdiobuf.defs.hh line 1. */
+/* stdiobuf class declaration.
 */
-#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
 
-#ifndef PPL_SUPPRESS_UNINITIALIZED_WARNINGS
-#define PPL_SUPPRESS_UNINITIALIZED_WARNINGS 1
-#endif
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/stdiobuf.types.hh line 1. */
 
-#if PPL_SUPPRESS_UNINITIALIZED_WARNINGS
-template <typename T>
-struct Suppress_Uninitialized_Warnings_Type {
-  typedef T synonym;
-};
 
-#define PPL_UNINITIALIZED(type, name)                                   \
-  type name = Suppress_Uninitialized_Warnings_Type<type>::synonym ()
-#else
-#define PPL_UNINITIALIZED(type, name)           \
-  type name
-#endif
+namespace Parma_Polyhedra_Library {
+
+class stdiobuf;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/meta_programming.hh line 1. */
-/* Metaprogramming utilities.
-*/
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/stdiobuf.defs.hh line 27. */
+#include <cstdio>
+#include <streambuf>
 
+class Parma_Polyhedra_Library::stdiobuf
+  : public std::basic_streambuf<char, std::char_traits<char> > {
+public:
+  //! Constructor.
+  stdiobuf(FILE* file);
 
-#include <gmpxx.h>
+protected:
+  /*! \brief
+    Gets a character in case of underflow.
 
-namespace Parma_Polyhedra_Library {
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  virtual int_type underflow();
 
-#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.
+  /*! \brief
+    In case of underflow, gets a character and advances the next pointer.
 
-  \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 { name = (value) }
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  virtual int_type uflow();
 
-#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.
+  /*! \brief
+    Gets a sequence of characters.
 
-  \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_int_nodef(name, value) \
-  enum { name = (value) }
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  virtual std::streamsize xsgetn(char_type* s, std::streamsize n);
 
-#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>.
+  /*! \brief
+    Puts character back in case of backup underflow.
 
-  \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;				\
-  }
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
+  */
+  virtual int_type pbackfail(int_type c = traits_type::eof());
 
-#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>.
+  /*! \brief
+    Writes a sequence of characters.
 
-  \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& name() {						\
-    static type name(value);						\
-    return name;							\
-  }
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
+  */
+  virtual std::streamsize xsputn(const char_type* s, std::streamsize n);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class that is only defined if \p b evaluates to <CODE>true</CODE>.
+  /*! \brief
+    Writes a character in case of overflow.
 
-  \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;
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
+  */
+  virtual int_type overflow(int_type c);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  A class that is only defined if \p b evaluates to <CODE>true</CODE>.
+  /*! \brief
+    Synchronizes the stream buffer.
 
-  \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> {
-};
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.2.
+  */
+  virtual int sync();
 
-#define COMPILE_TIME_CHECK_NAME(suffix) compile_time_check_ ## suffix
-#define COMPILE_TIME_CHECK_AUX(e, suffix)				\
-  enum {								\
-    /* If e evaluates to false, then the sizeof cannot be compiled. */  \
-    COMPILE_TIME_CHECK_NAME(suffix)					\
-    = sizeof(Parma_Polyhedra_Library::					\
-	     Compile_Time_Check<static_cast<bool>(e)>)			\
-  }
+private:
+  //! Character type of the streambuf.
+  typedef char char_type;
 
-#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 COMPILE_TIME_CHECK(e, msg) COMPILE_TIME_CHECK_AUX(e, __LINE__)
+  //! Traits type of the streambuf.
+  typedef std::char_traits<char_type> traits_type;
 
-#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 {
-    value = b
-  };
-};
+  //! Integer type of the streambuf.
+  typedef traits_type::int_type int_type;
 
-#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> {
+  //! The encapsulated stdio file.
+  FILE* fp;
+
+  //! Buffer for the last character read.
+  int_type ungetc_buf;
 };
 
-#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
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/stdiobuf.inlines.hh line 1. */
+/* stdiobuf class implementation: inline functions.
 */
-#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 {
-};
+namespace Parma_Polyhedra_Library {
 
-#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.
+inline
+stdiobuf::stdiobuf(FILE* file)
+  : fp(file), ungetc_buf(traits_type::eof()) {
+}
 
-  \ingroup PPL_CXX_interface
-  This is the specialization in which \p T1 and \p T2 are equal.
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/stdiobuf.defs.hh line 109. */
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/c_streambuf.defs.hh line 1. */
+/* c_streambuf class declaration.
 */
-#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>::value == true</CODE>.
-  But we can do as follows:
-  \code
-  struct B_Base {
-  };
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/c_streambuf.types.hh line 1. */
 
-  template <typename T> struct B : public B_Base;
-  \endcode
-  This enables us to enquire
-  <CODE>Is_Same_Or_Derived<B_Base, Type>::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&);
-  };
+namespace Parma_Polyhedra_Library {
 
-  //! Overloading with \p Base.
-  static char func(const Base&);
+class c_streambuf;
 
-  //! Overloading with \p Any.
-  static double func(Any);
+} // namespace Parma_Polyhedra_Library
 
-  //! A function obtaining a const reference to a \p Derived object.
-  static const Derived& derived_object();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/c_streambuf.defs.hh line 27. */
+#include <streambuf>
 
-  COMPILE_TIME_CHECK(sizeof(char) != sizeof(double),
-		     "architecture with sizeof(char) == sizeof(double) (!?)");
+class Parma_Polyhedra_Library::c_streambuf
+  : public std::basic_streambuf<char, std::char_traits<char> > {
+public:
+  //! Constructor.
+  c_streambuf();
+  virtual ~c_streambuf();
 
-  enum {
-    /*!
-      Assuming <CODE>sizeof(char) != sizeof(double)</CODE>, the C++
-      overload resolution mechanism guarantees that \p value 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.
-    */
-    value = (sizeof(func(derived_object())) == sizeof(char))
-  };
-};
+protected:
+  /*! \brief
+    Gets a character in case of underflow.
 
-#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>.
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  int_type underflow();
 
-  \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 {
-};
+  /*! \brief
+    In case of underflow, gets a character and advances the next pointer.
 
-template <typename Type, Type, typename T = void>
-struct Enable_If_Is {
-  typedef T type;
-};
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  int_type uflow();
 
-#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>.
+  /*! \brief
+    Gets a sequence of characters.
 
-  \ingroup PPL_CXX_interface
-  This is the specialization in which the <CODE>type</CODE> member
-  is present.
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.3.
+  */
+  std::streamsize xsgetn(char_type* s, std::streamsize n);
 
-  \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;
-};
+  /*! \brief
+    Puts character back in case of backup underflow.
 
-template <typename T>
-struct Is_Native : public False {
+    \remarks
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
+  */
+  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.
+  */
+  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);
+
+  /*! \brief
+    Synchronizes the stream buffer.
+
+    Specified by ISO/IEC 14882:1998: 27.5.2.4.2.
+  */
+  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;
+
+  //! Integer type of the streambuf.
+  typedef traits_type::int_type int_type;
+
+  //! Buffer for the last character read.
+  int_type ungetc_buf;
+
+  //! Buffer for next character
+  int_type nextc_buf;
+
+  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;
+  }
 };
 
-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 { };
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/c_streambuf.inlines.hh line 1. */
+/* c_streambuf class implementation: inline functions.
+*/
 
-#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 { };
+namespace Parma_Polyhedra_Library {
 
-template <> struct Is_Native<mpq_class> : public True { };
+inline
+c_streambuf::c_streambuf()
+  : ungetc_buf(traits_type::eof()), nextc_buf(traits_type::eof()) {
+}
+
+inline
+c_streambuf::~c_streambuf() {
+}
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Slow_Copy.hh line 1. */
-/* Basic Slow_Copy classes declarations.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/c_streambuf.defs.hh line 122. */
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/initializer.hh line 1. */
+/* Nifty counter object for the initialization of the library.
 */
 
 
-/* Automatically generated from PPL source file ../src/Slow_Copy.hh line 27. */
-#include <gmpxx.h>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Init.defs.hh line 1. */
+/* Init class declaration.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Init.types.hh line 1. */
+
 
 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 {
-};
+class Init;
 
-#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 {
-};
+} // namespace Parma_Polyhedra_Library
 
-#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 {
-};
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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/Has_Assign_Or_Swap.hh line 1. */
-/* Has_Assign_Or_Swap classes declarations.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Init.defs.hh line 28. */
+
+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.
 
-/* Automatically generated from PPL source file ../src/Has_Assign_Or_Swap.hh line 27. */
+  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 {
+} // namespace Parma_Polyhedra_Library
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Class for initialization and finalization.
 /*! \ingroup PPL_CXX_interface
-  The assign_or_swap() method is not present by default.
+  <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)
-template <typename T, typename Enable = void>
-struct Has_Assign_Or_Swap : public False {
+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;
+
+  friend void set_rounding_for_PPL();
+  friend void restore_pre_PPL_rounding();
 };
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  The assign_or_swap() method is present if it is present (!).
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Init.inlines.hh line 1. */
+/* Init class implementation: inline functions.
 */
-#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/assign_or_swap.hh line 1. */
-/* The assign_or_swap() utility functions.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu.defs.hh line 1. */
+/* Floating point unit related functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/assign_or_swap.hh line 29. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/compiler.hh line 1. */
+/* C++ compiler related stuff.
+*/
+
 
 namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  If there is an assign_or_swap() method, use it.
+/*! \brief
+  No-op function that allows to avoid unused variable warnings from
+  the compiler.
 */
 #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);
+inline void
+used(const T&) {
 }
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface
-  If there is no assign_or_swap() method but copies are not slow, copy.
+/*! \brief
+  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 <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;
+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
 }
 
-#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)
+#ifndef PPL_SUPPRESS_UNINIT_WARNINGS
+#define PPL_SUPPRESS_UNINIT_WARNINGS 1
+#endif
+
+#ifndef PPL_SUPPRESS_UNINITIALIZED_WARNINGS
+#define PPL_SUPPRESS_UNINITIALIZED_WARNINGS 1
+#endif
+
+#if PPL_SUPPRESS_UNINITIALIZED_WARNINGS
 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);
-}
+struct Suppress_Uninitialized_Warnings_Type {
+  typedef T synonym;
+};
+
+#define PPL_UNINITIALIZED(type, name)                                   \
+  type name = Suppress_Uninitialized_Warnings_Type<type>::synonym ()
+#else
+#define PPL_UNINITIALIZED(type, name)           \
+  type name
+#endif
 
 } // namespace Parma_Polyhedra_Library
 
-/* 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.
-*/
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu.defs.hh line 28. */
 
+namespace Parma_Polyhedra_Library {
 
-#include <gmpxx.h>
-#include <limits>
+//! Initializes the FPU control functions.
+void
+fpu_initialize_control_functions();
 
-#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);
+//! Returns the current FPU rounding direction.
+fpu_rounding_direction_type
+fpu_get_rounding_direction();
 
-#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);
+//! Sets the FPU rounding direction to \p dir.
+void
+fpu_set_rounding_direction(fpu_rounding_direction_type dir);
 
-namespace std {
+/*! \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);
 
-#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
+  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);
 
-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;
+//! Restores the FPU rounding rounding control word to \p cw.
+void
+fpu_restore_rounding_direction(fpu_rounding_control_word_type w);
 
-  static Type min() {
-    return static_cast<Type>(0);
-  }
+//! Clears the <EM>inexact computation</EM> status.
+void
+fpu_reset_inexact();
 
-  static Type max() {
-    return static_cast<Type>(0);
-  }
+/*! \brief
+  Queries the <EM>inexact computation</EM> status.
 
-  static Type epsilon() {
-    return static_cast<Type>(0);
-  }
+  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();
 
-  static Type round_error() {
-    return static_cast<Type>(0);
-  }
+} // namespace Parma_Polyhedra_Library
 
-  static Type infinity() {
-    return static_cast<Type>(0);
-  }
+#if PPL_CAN_CONTROL_FPU
 
-  static Type quiet_NaN() {
-    return static_cast<Type>(0);
-  }
+#if defined(__i386__) && (defined(__GNUC__) || defined(__INTEL_COMPILER))
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu-ia32.inlines.hh line 1. */
+/* IA-32 floating point unit inline related functions.
+*/
 
-  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;
+#include <csetjmp>
+#include <csignal>
 
-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;
+#define FPU_INVALID       0x01
+#define FPU_DIVBYZERO     0x04
+#define FPU_OVERFLOW      0x08
+#define FPU_UNDERFLOW     0x10
+#define FPU_INEXACT       0x20
 
-  static Type min() {
-    return static_cast<Type>(0);
-  }
+#define FPU_ALL_EXCEPT \
+  (FPU_INEXACT | FPU_DIVBYZERO | FPU_UNDERFLOW | FPU_OVERFLOW | FPU_INVALID)
 
-  static Type max() {
-    return static_cast<Type>(0);
-  }
+#define PPL_FPU_TONEAREST     0
+#define PPL_FPU_DOWNWARD      0x400
+#define PPL_FPU_UPWARD        0x800
+#define PPL_FPU_TOWARDZERO    0xc00
 
-  static Type epsilon() {
-    return static_cast<Type>(0);
-  }
+#define FPU_ROUNDING_MASK 0xc00
 
-  static Type round_error() {
-    return static_cast<Type>(0);
-  }
+#define SSE_INEXACT       0x20
 
-  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);
-  }
-};
+#define PPL_FPU_CONTROL_DEFAULT_BASE 0x37f
+#define PPL_SSE_CONTROL_DEFAULT_BASE 0x1f80
 
-} // namespace std
+// 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))
 
-/* 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.
-*/
+namespace Parma_Polyhedra_Library {
 
+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;
 
-inline void
-swap(mpz_class& x, mpz_class& y) {
-  mpz_swap(x.get_mpz_t(), y.get_mpz_t());
+inline int
+fpu_get_control() {
+  unsigned short cw;
+  __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw) : : "memory");
+  return cw;
 }
 
 inline void
-swap(mpq_class& x, mpq_class& y) {
-  mpq_swap(x.get_mpq_t(), y.get_mpq_t());
+fpu_set_control(int c) {
+  unsigned short cw = static_cast<unsigned short>(c);
+  __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw) : "memory");
 }
 
-/* Automatically generated from PPL source file ../src/mp_std_bits.defs.hh line 168. */
-
-/* Automatically generated from PPL source file ../src/Temp.defs.hh line 1. */
-/* Temp_* classes declarations.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Temp.defs.hh line 28. */
-
-namespace Parma_Polyhedra_Library {
-
-#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();
-
-  //! Releases the temporary item \p p.
-  static void release(Temp_Item& p);
-
-  //! Returns a reference to the encapsulated item.
-  T& item();
-
-private:
-  //! The encapsulated item.
-  T item_;
-
-  //! Pointer to the next item in the free list.
-  Temp_Item* next;
-
-  //! Head of the free list.
-  static Temp_Item* free_list_head;
-
-  //! Default constructor.
-  Temp_Item();
-
-  //! Copy constructor: private and intentionally not implemented.
-  Temp_Item(const Temp_Item&);
-
-  //! Assignment operator: private and intentionally not implemented.
-  Temp_Item& operator=(const Temp_Item&);
-};
-
-#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 \p p.
-  Temp_Reference_Holder(Temp_Item<T>& p);
-
-  //! Destructor.
-  ~Temp_Reference_Holder();
-
-  //! Returns a reference to the held item.
-  T& item();
-
-private:
-  //! The held item, encapsulated.
-  Temp_Item<T>& held;
-};
-
-#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 int
+fpu_get_status() {
+  unsigned short sw;
+  __asm__ __volatile__ ("fnstsw %0" : "=a" (sw) : : "memory");
+  return sw;
+}
 
-  //! Returns the value of 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:
-  //! The held item.
-  T item_;
-};
+inline void
+fpu_clear_exceptions() {
+  __asm__ __volatile__ ("fnclex" : /* No outputs.  */ : : "memory");
+}
 
-#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;
+#ifdef PPL_FPMATH_MAY_USE_SSE
+inline void
+sse_set_control(unsigned int cw) {
+  __asm__ __volatile__ ("ldmxcsr %0" : : "m" (*&cw) : "memory");
+}
 
-  //! The type of the holder.
-  typedef Temp_Reference_Holder<T> holder_type;
+inline unsigned int
+sse_get_control() {
+  unsigned int cw;
+  __asm__ __volatile__ ("stmxcsr %0" : "=m" (*&cw) : : "memory");
+  return cw;
+}
+#endif
 
-  //! Obtain the holder for a new temporary.
-  static holder_type obtain_holder();
-};
+inline void
+fpu_initialize_control_functions() {
+#ifdef PPL_FPMATH_MAY_USE_SSE
+  extern void detect_sse_unit();
+  detect_sse_unit();
+#endif
+}
 
-#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;
+inline fpu_rounding_direction_type
+fpu_get_rounding_direction() {
+  return static_cast<fpu_rounding_direction_type>(fpu_get_control() & FPU_ROUNDING_MASK);
+}
 
-  //! The type of the holder.
-  typedef Temp_Value_Holder<T> holder_type;
+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
+}
 
-  //! Obtain the holder for a new temporary.
-  static holder_type obtain_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);
+}
 
-#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;
+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
-//! 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> {
-};
+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
+}
 
-#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 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
 
-/* Automatically generated from PPL source file ../src/Temp.inlines.hh line 1. */
-/* Temp_* classes implementation: inline functions.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu.defs.hh line 81. */
+#elif defined(PPL_HAVE_IEEEFP_H)					\
+  && (defined(__sparc)							\
+      || defined(sparc)							\
+      || defined(__sparc__))
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu-sparc.inlines.hh line 1. */
+/* SPARC floating point unit related functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Temp.inlines.hh line 27. */
-
-namespace Parma_Polyhedra_Library {
-
-template <typename T>
-inline
-Temp_Item<T>::Temp_Item()
-  : item_() {
-}
+#ifdef PPL_HAVE_IEEEFP_H
+#include <ieeefp.h>
 
-template <typename T>
-inline T&
-Temp_Item<T>::item() {
-    return item_;
-}
+#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)
 
-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 {
 
-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(Temp_Item<T>& p)
-  : held(p) {
+fpu_initialize_control_functions() {
 }
 
-template <typename T>
-inline
-Temp_Reference_Holder<T>::~Temp_Reference_Holder() {
-  Temp_Item<T>::release(held);
+inline fpu_rounding_direction_type
+fpu_get_rounding_direction() {
+  return static_cast<fpu_rounding_direction_type>(fpgetround());
 }
 
-template <typename T>
-inline T&
-Temp_Reference_Holder<T>::item() {
-  return held.item();
+inline void
+fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
+  fpsetround((fp_rnd) dir);
 }
 
-template <typename T>
-inline
-Temp_Value_Holder<T>::Temp_Value_Holder() {
+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));
 }
 
-template <typename T>
-inline T
-Temp_Value_Holder<T>::item() {
-  return item_;
+inline void
+fpu_reset_inexact() {
+  fp_except except = fpgetmask();
+  except &= ~FP_X_IMP;
+  fpsetmask(except);
 }
 
-template <typename T>
-inline typename Temp_From_Free_List<T>::holder_type
-Temp_From_Free_List<T>::obtain_holder() {
-  return Temp_Reference_Holder<T>(Temp_Item<T>::obtain());
+inline void
+fpu_restore_rounding_direction(fpu_rounding_control_word_type w) {
+  fpsetround((fp_rnd) w);
 }
 
-template <typename T>
-inline typename Temp_From_Local_Variable<T>::holder_type
-Temp_From_Local_Variable<T>::obtain_holder() {
-  return Temp_Value_Holder<T>();
+inline int
+fpu_check_inexact() {
+  return (fpgetmask() & FP_X_IMP) ? 1 : 0;
 }
 
 } // namespace Parma_Polyhedra_Library
 
-#define DIRTY_TEMP(T, id)						\
-  typename Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id = \
-    Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
-  typename Parma_Polyhedra_Library::Dirty_Temp<T>::type id =		\
-    holder ## id.item()
-
-#define DIRTY_TEMP0(T, id)						\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id =	\
-    Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
-  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder ## id.item()
+#endif // !defined(PPL_HAVE_IEEEFP_H)
 
-/* Automatically generated from PPL source file ../src/Temp.templates.hh line 1. */
-/* Temp_* classes implementation: non-inline template members.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu.defs.hh line 86. */
+#elif defined(PPL_HAVE_FENV_H)
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu-c99.inlines.hh line 1. */
+/* C99 Floating point unit related functions.
 */
 
 
-namespace Parma_Polyhedra_Library {
-
-template <typename T>
-Temp_Item<T>* Temp_Item<T>::free_list_head = 0;
-
-} // namespace Parma_Polyhedra_Library
+#ifdef PPL_HAVE_FENV_H
+#include <fenv.h>
+#include <stdexcept>
 
-/* Automatically generated from PPL source file ../src/Temp.defs.hh line 159. */
+#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
 
-/* Automatically generated from PPL source file ../src/Coefficient_traits_template.hh line 1. */
+namespace Parma_Polyhedra_Library {
 
+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.");
+}
 
-namespace Parma_Polyhedra_Library {
+inline fpu_rounding_direction_type
+fpu_get_rounding_direction() {
+  return static_cast<fpu_rounding_direction_type>(fegetround());
+}
 
-#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 {
-};
+inline void
+fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
+  fesetround(dir);
+}
 
-} // namespace Parma_Polyhedra_Library
+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;
+}
 
-/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 1. */
+inline void
+fpu_reset_inexact() {
+#if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
+  feclearexcept(FE_INEXACT);
+#endif
+}
 
+inline void
+fpu_restore_rounding_direction(fpu_rounding_control_word_type w) {
+  fesetround(w);
+}
 
-/* Automatically generated from PPL source file ../src/Checked_Number.types.hh line 16. */
+inline int
+fpu_check_inexact() {
+#if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
+  return fetestexcept(FE_INEXACT) != 0;
+#else
+  return -1;
+#endif
+}
 
-namespace Parma_Polyhedra_Library {
+} // namespace Parma_Polyhedra_Library
 
-struct Checked_Number_Default_Policy;
-struct Extended_Number_Policy;
+#endif // !defined(PPL_HAVE_FENV_H)
 
-template <typename T, typename Policy = Checked_Number_Default_Policy>
-class Checked_Number;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu.defs.hh line 88. */
+#else
+#error "PPL_CAN_CONTROL_FPU evaluates to true, but why?"
+#endif
 
-} // namespace Parma_Polyhedra_Library
+#else // !PPL_CAN_CONTROL_FPU
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu-none.inlines.hh line 1. */
+/* Null floating point unit related functions.
+*/
 
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 16. */
-#include <gmpxx.h>
-/* Automatically generated from PPL source file ../src/GMP_Integer.types.hh line 18. */
+#include <stdexcept>
 
 namespace Parma_Polyhedra_Library {
 
-/*! \class Parma_Polyhedra_Library::GMP_Integer
-  \brief
-  Unbounded integers as provided by the GMP library.
+inline void
+fpu_initialize_control_functions() {
+  throw std::logic_error("PPL::fpu_initialize_control_functions():"
+			 " cannot control the FPU");
+}
 
-  \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;
+inline fpu_rounding_direction_type
+fpu_get_rounding_direction() {
+  throw std::logic_error("PPL::fpu_get_rounding_direction():"
+			 " cannot control the FPU");
+}
 
-#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;
-};
+inline void
+fpu_set_rounding_direction(int) {
+  throw std::logic_error("PPL::fpu_set_rounding_direction():"
+			 " cannot control the FPU");
+}
 
-} // namespace Parma_Polyhedra_Library
+inline int
+fpu_save_rounding_direction(int) {
+  throw std::logic_error("PPL::fpu_save_rounding_direction():"
+			 " cannot control the FPU");
+}
 
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 1. */
+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");
+}
 
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1. */
-/* Checked_Number class declaration.
-*/
+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/checked.defs.hh line 1. */
-/* Abstract checked arithmetic function container
-*/
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/fpu.defs.hh line 95. */
 
+#endif // !PPL_CAN_CONTROL_FPU
 
-#include <iostream>
-#include <gmpxx.h>
-/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Rounding_Dir.defs.hh line 1. */
 /* Declaration of Rounding_Dir and related functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Result.defs.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Result.defs.hh line 1. */
 /* Result enum and supporting function declarations.
 */
 
@@ -1921,7 +1613,7 @@ bool is_special(Result r);
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Result.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Result.inlines.hh line 1. */
 /* Result supporting functions implementation: inline functions.
 */
 
@@ -1942,457 +1634,9 @@ is_special(Result r) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Result.defs.hh line 119. */
-
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 1. */
-/* Floating point unit related functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/fpu.types.hh line 1. */
-
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Result.defs.hh line 119. */
 
-#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/fpu.defs.hh line 27. */
-
-namespace Parma_Polyhedra_Library {
-
-//! Initializes the FPU control functions.
-void
-fpu_initialize_control_functions();
-
-//! Returns the current FPU rounding direction.
-fpu_rounding_direction_type
-fpu_get_rounding_direction();
-
-//! Sets the FPU rounding direction to \p dir.
-void
-fpu_set_rounding_direction(fpu_rounding_direction_type dir);
-
-/*! \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);
-
-//! Restores the FPU rounding rounding control word to \p cw.
-void
-fpu_restore_rounding_direction(fpu_rounding_control_word_type w);
-
-//! Clears the <EM>inexact computation</EM> status.
-void
-fpu_reset_inexact();
-
-/*! \brief
-  Queries the <EM>inexact computation</EM> status.
-
-  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();
-
-} // namespace Parma_Polyhedra_Library
-
-#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/fpu-ia32.inlines.hh line 24. */
-#include <csetjmp>
-#include <csignal>
-
-#define FPU_INVALID       0x01
-#define FPU_DIVBYZERO     0x04
-#define FPU_OVERFLOW      0x08
-#define FPU_UNDERFLOW     0x10
-#define FPU_INEXACT       0x20
-
-#define FPU_ALL_EXCEPT \
-  (FPU_INEXACT | FPU_DIVBYZERO | FPU_UNDERFLOW | FPU_OVERFLOW | FPU_INVALID)
-
-#define FPU_TONEAREST     0
-#define FPU_DOWNWARD      0x400
-#define FPU_UPWARD        0x800
-#define FPU_TOWARDZERO    0xc00
-
-#define FPU_ROUNDING_MASK 0xc00
-
-#define SSE_INEXACT       0x20
-
-#define PPL_FPU_CONTROL_DEFAULT_BASE 0x37f
-#define PPL_SSE_CONTROL_DEFAULT_BASE 0x1f80
-
-// This MUST be congruent with the definition of ROUND_DIRECT
-#define PPL_FPU_CONTROL_DEFAULT (PPL_FPU_CONTROL_DEFAULT_BASE | FPU_UPWARD)
-#define PPL_SSE_CONTROL_DEFAULT (PPL_SSE_CONTROL_DEFAULT_BASE | (FPU_UPWARD << 3))
-
-namespace Parma_Polyhedra_Library {
-
-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;
-
-inline int
-fpu_get_control() {
-  unsigned short cw;
-  __asm__ __volatile__ ("fnstcw %0" : "=m" (*&cw) : : "memory");
-  return cw;
-}
-
-inline void
-fpu_set_control(int c) {
-  unsigned short cw = static_cast<unsigned short>(c);
-  __asm__ __volatile__ ("fldcw %0" : : "m" (*&cw) : "memory");
-}
-
-inline int
-fpu_get_status() {
-  unsigned short sw;
-  __asm__ __volatile__ ("fnstsw %0" : "=a" (sw) : : "memory");
-  return sw;
-}
-
-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");
-}
-
-inline void
-fpu_clear_exceptions() {
-  __asm__ __volatile__ ("fnclex" : /* No outputs.  */ : : "memory");
-}
-
-#if PPL_FPMATH_MAY_USE_SSE
-inline void
-sse_set_control(unsigned int cw) {
-  __asm__ __volatile__ ("ldmxcsr %0" : : "m" (*&cw) : "memory");
-}
-
-inline unsigned int
-sse_get_control() {
-  unsigned int cw;
-  __asm__ __volatile__ ("stmxcsr %0" : "=m" (*&cw) : : "memory");
-  return cw;
-}
-#endif
-
-inline void
-fpu_initialize_control_functions() {
-#if PPL_FPMATH_MAY_USE_SSE
-  extern void detect_sse_unit();
-  detect_sse_unit();
-#endif
-}
-
-inline fpu_rounding_direction_type
-fpu_get_rounding_direction() {
-  return static_cast<fpu_rounding_direction_type>(fpu_get_control() & FPU_ROUNDING_MASK);
-}
-
-inline void
-fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
-#if PPL_FPMATH_MAY_USE_387
-  fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir);
-#endif
-#if 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
-}
-
-inline fpu_rounding_control_word_type
-fpu_save_rounding_direction(fpu_rounding_direction_type dir) {
-#if PPL_FPMATH_MAY_USE_387
-  fpu_set_control(PPL_FPU_CONTROL_DEFAULT_BASE | dir);
-#endif
-#if 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);
-}
-
-inline void
-fpu_reset_inexact() {
-#if PPL_FPMATH_MAY_USE_387
-  fpu_clear_exceptions();
-#endif
-#if 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
-}
-
-inline void
-fpu_restore_rounding_direction(fpu_rounding_control_word_type) {
-#if PPL_FPMATH_MAY_USE_387
-  fpu_set_control(PPL_FPU_CONTROL_DEFAULT);
-#endif
-#if PPL_FPMATH_MAY_USE_SSE
-  extern bool have_sse_unit;
-  if (have_sse_unit)
-    sse_set_control(PPL_SSE_CONTROL_DEFAULT);
-#endif
-}
-
-inline int
-fpu_check_inexact() {
-#if PPL_FPMATH_MAY_USE_387
-  if (fpu_get_status() & FPU_INEXACT)
-    return 1;
-#endif
-#if 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
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 80. */
-#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.
-*/
-
-#ifdef PPL_HAVE_IEEEFP_H
-#include <ieeefp.h>
-
-#define FPU_TONEAREST ((int) FP_RN)
-#define FPU_UPWARD ((int) FP_RP)
-#define FPU_DOWNWARD ((int) FP_RM)
-#define FPU_TOWARDZERO ((int) FP_RZ)
-
-namespace Parma_Polyhedra_Library {
-
-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
-
-#endif // !defined(PPL_HAVE_IEEEFP_H)
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 85. */
-#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 FPU_TONEAREST FE_TONEAREST
-#endif
-#ifdef FE_UPWARD
-#define FPU_UPWARD FE_UPWARD
-#endif
-#ifdef FE_DOWNWARD
-#define FPU_DOWNWARD FE_DOWNWARD
-#endif
-#ifdef FE_TOWARDZERO
-#define FPU_TOWARDZERO FE_TOWARDZERO
-#endif
-
-namespace Parma_Polyhedra_Library {
-
-inline void
-fpu_initialize_control_functions() {
-  int old = fegetround();
-  if (fesetround(FPU_DOWNWARD) != 0
-      || fesetround(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());
-}
-
-inline void
-fpu_set_rounding_direction(fpu_rounding_direction_type dir) {
-  fesetround(dir);
-}
-
-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;
-}
-
-inline void
-fpu_reset_inexact() {
-#if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
-  feclearexcept(FE_INEXACT);
-#endif
-}
-
-inline void
-fpu_restore_rounding_direction(fpu_rounding_control_word_type w) {
-  fesetround(w);
-}
-
-inline int
-fpu_check_inexact() {
-#if PPL_CXX_SUPPORTS_IEEE_INEXACT_FLAG
-  return fetestexcept(FE_INEXACT) != 0;
-#else
-  return -1;
-#endif
-}
-
-} // namespace Parma_Polyhedra_Library
-
-#endif // !defined(PPL_HAVE_FENV_H)
-/* Automatically generated from PPL source file ../src/fpu.defs.hh line 87. */
-#else
-#error "PPL_CAN_CONTROL_FPU evaluates to true, but why?"
-#endif
-
-#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 {
-
-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/fpu.defs.hh line 94. */
-
-#endif // !PPL_CAN_CONTROL_FPU
-
-/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 28. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Rounding_Dir.defs.hh line 28. */
 
 namespace Parma_Polyhedra_Library {
 
@@ -2449,7 +1693,7 @@ fpu_rounding_direction_type round_fpu_dir(Rounding_Dir dir);
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Rounding_Dir.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Rounding_Dir.inlines.hh line 1. */
 /* Inline functions operating on enum Rounding_Dir values.
 */
 
@@ -2494,18 +1738,25 @@ round_fpu_check_inexact(Rounding_Dir dir) {
 }
 
 #if PPL_CAN_CONTROL_FPU
+
 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>(FPU_UPWARD);
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
   case ROUND_DOWN:
-    return static_cast<fpu_rounding_direction_type>(FPU_DOWNWARD);
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_DOWNWARD);
   default:
-    assert(0);
-    return static_cast<fpu_rounding_direction_type>(FPU_UPWARD);
+    assert(false);
+    return static_cast<fpu_rounding_direction_type>(PPL_FPU_UPWARD);
   }
 }
+
+#undef PPL_FPU_DOWNWARD
+#undef PPL_FPU_TONEAREST
+#undef PPL_FPU_TOWARDZERO
+#undef PPL_FPU_UPWARD
+
 #endif
 
 /*! \relates Parma_Polyhedra_Library::Rounding_Dir */
@@ -2530,3547 +1781,3096 @@ inverse(Rounding_Dir dir) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Rounding_Dir.defs.hh line 85. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Rounding_Dir.defs.hh line 85. */
 
 
-/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 1. */
-/* Numeric format.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Init.inlines.hh line 28. */
+
+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 /home/bagnara/ppl/ppl/src/Init.defs.hh line 84. */
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/initializer.hh line 27. */
+
+#ifndef PPL_NO_AUTOMATIC_INITIALIZATION
+namespace {
+
+Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;
+
+} // namespace
+#else
+namespace {
+
+Parma_Polyhedra_Library::Init* Parma_Polyhedra_Library_initializer_p;
+
+} // namespace
+#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
+  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 /home/bagnara/ppl/ppl/src/Scalar_Products.defs.hh line 1. */
+/* Scalar_Products class definition.
 */
 
 
-/* Automatically generated from PPL source file ../src/Numeric_Format.defs.hh line 28. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Scalar_Products.types.hh line 1. */
+
 
 namespace Parma_Polyhedra_Library {
 
-class Numeric_Format {
-};
+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 /home/bagnara/ppl/ppl/src/Linear_Row.types.hh line 1. */
 
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 1. */
-/* IEC 559 floating point format related functions.
+
+namespace Parma_Polyhedra_Library {
+
+class Linear_Row;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.types.hh line 1. */
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Checked_Number.defs.hh line 1. */
+/* Checked_Number class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 28. */
-#include <gmp.h>
-#include <cassert>
-#include <cmath>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Checked_Number.types.hh line 1. */
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient_traits_template.hh line 1. */
 
-#ifndef NAN
-#define 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 {
+};
 
-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 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);
-};
+} // namespace Parma_Polyhedra_Library
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Checked_Number.types.hh line 16. */
 
-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 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);
-};
+namespace Parma_Polyhedra_Library {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Checked_Number_Default_Policy;
+struct Extended_Number_Policy;
 
-struct float_intel_double_extended {
-#ifdef PPL_WORDS_BIGENDIAN
-  uint32_t msp;
-  uint64_t lsp;
-#else
-  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 uint64_t LSP_ZERO = 0;
-  static const uint64_t LSP_DMAX = 0x7fffffffffffffffULL;
-  static const uint64_t LSP_NMAX = 0xffffffffffffffffULL;
-  static const unsigned int EXPONENT_BITS = 15;
-  static const unsigned int MANTISSA_BITS = 63;
-  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);
-};
+template <typename T, typename Policy = Checked_Number_Default_Policy>
+class Checked_Number;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked.defs.hh line 1. */
+/* Abstract checked arithmetic function container
+*/
+
+
+#include <iostream>
+#include <gmpxx.h>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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.
+*/
+
+
+#include <gmpxx.h>
+#include <limits>
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
+//! Swaps \p x with \p y.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
-struct float_ieee754_quad {
-#ifdef PPL_WORDS_BIGENDIAN
-  uint64_t msp;
-  uint64_t lsp;
-#else
-  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 LSP_INF = 0;
-  static const uint64_t LSP_ZERO = 0;
-  static const uint64_t LSP_MAX = 0xffffffffffffffffULL;
-  static const unsigned int EXPONENT_BITS = 15;
-  static const unsigned int MANTISSA_BITS = 112;
-  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);
-};
+void swap(mpz_class& x, mpz_class& y);
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
+//! Swaps \p x with \p y.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-template <typename T>
-class Float : public False { };
+void swap(mpq_class& x, mpq_class& y);
 
-#if PPL_SUPPORTED_FLOAT
-template <>
-class Float<float> : public True {
-public:
-#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
-  typedef float_ieee754_single Binary;
-#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-  typedef float_ieee754_double Binary;
-#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
-  typedef float_ieee754_quad Binary;
-#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"
-#endif
-  union {
-    float number;
-    Binary binary;
-  } u;
-  Float();
-  Float(float v);
-  float value();
-};
-#endif
+namespace std {
 
-#if PPL_SUPPORTED_DOUBLE
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specialization of std::numeric_limits.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <>
-class Float<double> : public True {
-public:
-#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
-  typedef float_ieee754_single Binary;
-#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-  typedef float_ieee754_double Binary;
-#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
-  typedef float_ieee754_quad Binary;
-#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"
-#endif
-  union {
-    double number;
-    Binary binary;
-  } u;
-  Float();
-  Float(double v);
-  double value();
-};
-#endif
+class numeric_limits<mpz_class> {
+private:
+  typedef mpz_class Type;
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-template <>
-class Float<long double> : public True {
 public:
-#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
-  typedef float_ieee754_single Binary;
-#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
-  typedef float_ieee754_double Binary;
-#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
-  typedef float_ieee754_quad Binary;
-#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"
-#endif
-  union {
-    long double number;
-    Binary binary;
-  } u;
-  Float();
-  Float(long double v);
-  long double value();
-};
-#endif
+  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;
 
-} // namespace Parma_Polyhedra_Library
+  static Type min() {
+    return static_cast<Type>(0);
+  }
 
-/* Automatically generated from PPL source file ../src/Float.inlines.hh line 1. */
-/* IEC 559 floating point format related functions.
-*/
+  static Type max() {
+    return static_cast<Type>(0);
+  }
 
+  static Type epsilon() {
+    return static_cast<Type>(0);
+  }
 
-#include <climits>
+  static Type round_error() {
+    return static_cast<Type>(0);
+  }
 
-namespace Parma_Polyhedra_Library {
+  static Type infinity() {
+    return static_cast<Type>(0);
+  }
 
-inline int
-float_ieee754_single::is_inf() const {
-  if (word == NEG_INF)
-    return -1;
-  if (word == POS_INF)
-    return 1;
-  return 0;
-}
+  static Type quiet_NaN() {
+    return static_cast<Type>(0);
+  }
 
-inline int
-float_ieee754_single::is_nan() const {
-  return (word & ~SGN_MASK) > POS_INF;
-}
+  static Type denorm_min() {
+    return static_cast<Type>(1);
+  }
+};
 
-inline int
-float_ieee754_single::is_zero() const {
-  if (word == NEG_ZERO)
-    return -1;
-  if (word == POS_ZERO)
-    return 1;
-  return 0;
-}
+#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;
 
-inline void
-float_ieee754_single::negate() {
-  word ^= SGN_MASK;
-}
+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;
 
-inline int
-float_ieee754_single::sign_bit() const {
-  return !!(word & SGN_MASK);
-}
+  static Type min() {
+    return static_cast<Type>(0);
+  }
 
-inline void
-float_ieee754_single::dec() {
-  --word;
-}
+  static Type max() {
+    return static_cast<Type>(0);
+  }
 
-inline void
-float_ieee754_single::inc() {
-  ++word;
-}
+  static Type epsilon() {
+    return static_cast<Type>(0);
+  }
 
-inline void
-float_ieee754_single::set_max(bool negative) {
-  word = 0x7f7fffff;
-  if (negative)
-    word |= SGN_MASK;
-}
+  static Type round_error() {
+    return static_cast<Type>(0);
+  }
 
-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;
-}
+  static Type infinity() {
+    return static_cast<Type>(0);
+  }
 
-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;
-}
+  static Type quiet_NaN() {
+    return static_cast<Type>(0);
+  }
 
-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);
-}
+  static Type denorm_min() {
+    return static_cast<Type>(0);
+  }
+};
 
-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;
-}
+} // namespace std
 
-inline void
-float_ieee754_double::negate() {
-  msp ^= MSP_SGN_MASK;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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 int
-float_ieee754_double::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
-}
 
 inline void
-float_ieee754_double::dec() {
-  if (lsp == 0) {
-    --msp;
-    lsp = LSP_MAX;
-  }
-  else
-    --lsp;
+swap(mpz_class& x, mpz_class& y) {
+  mpz_swap(x.get_mpz_t(), y.get_mpz_t());
 }
 
 inline void
-float_ieee754_double::inc() {
-  if (lsp == LSP_MAX) {
-    ++msp;
-    lsp = 0;
-  }
-  else
-    ++lsp;
+swap(mpq_class& x, mpq_class& y) {
+  mpq_swap(x.get_mpq_t(), y.get_mpq_t());
 }
 
-inline void
-float_ieee754_double::set_max(bool negative) {
-  msp = 0x7fefffff;
-  lsp = 0xffffffff;
-  if (negative)
-    msp |= MSP_SGN_MASK;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/mp_std_bits.defs.hh line 168. */
 
-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);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Temp.defs.hh line 1. */
+/* Temp_* classes declarations.
+*/
 
-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;
-}
 
-inline int
-float_intel_double_extended::is_nan() const {
-  return (msp & MSP_POS_INF) == MSP_POS_INF
-    && lsp != LSP_INF;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/meta_programming.hh line 1. */
+/* Metaprogramming utilities.
+*/
 
-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;
-}
 
-inline void
-float_intel_double_extended::negate() {
-  msp ^= MSP_SGN_MASK;
-}
+#include <gmpxx.h>
 
-inline int
-float_intel_double_extended::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
-}
+namespace Parma_Polyhedra_Library {
 
-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;
-}
+#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.
 
-inline void
-float_intel_double_extended::inc() {
-  if ((lsp & LSP_DMAX) == LSP_DMAX) {
-    ++msp;
-    lsp = LSP_DMAX + 1;
-  }
-  else
-    ++lsp;
-}
-
-inline void
-float_intel_double_extended::set_max(bool negative) {
-  msp = 0x00007ffe;
-  lsp = 0xffffffffffffffffULL;
-  if (negative)
-    msp |= MSP_SGN_MASK;
-}
-
-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);
-}
+  \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 { name = (value) }
 
-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;
-}
+#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.
 
-inline int
-float_ieee754_quad::is_nan() const {
-  return (msp & ~MSP_SGN_MASK) == MSP_POS_INF
-    && lsp != LSP_INF;
-}
+  \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_int_nodef(name, value) \
+  enum { name = (value) }
 
-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;
-}
+#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>.
 
-inline void
-float_ieee754_quad::negate() {
-  msp ^= MSP_SGN_MASK;
-}
+  \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;				\
+  }
 
-inline int
-float_ieee754_quad::sign_bit() const {
-  return !!(msp & MSP_SGN_MASK);
-}
+#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>.
 
-inline void
-float_ieee754_quad::dec() {
-  if (lsp == 0) {
-    --msp;
-    lsp = LSP_MAX;
+  \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& name() {						\
+    static type name(value);						\
+    return name;							\
   }
-  else
-    --lsp;
-}
 
-inline void
-float_ieee754_quad::inc() {
-  if (lsp == LSP_MAX) {
-    ++msp;
-    lsp = 0;
-  }
-  else
-    ++lsp;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class that is only defined if \p b evaluates to <CODE>true</CODE>.
 
-inline void
-float_ieee754_quad::set_max(bool negative) {
-  msp = 0x7ffeffffffffffffULL;
-  lsp = 0xffffffffffffffffULL;
-  if (negative)
-    msp |= MSP_SGN_MASK;
-}
+  \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;
 
-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);
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  A class that is only defined if \p b evaluates to <CODE>true</CODE>.
 
-#if PPL_SUPPORTED_FLOAT
-inline
-Float<float>::Float() {
-}
+  \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> {
+};
 
-inline
-Float<float>::Float(float v) {
-  u.number = v;
-}
+#define PPL_COMPILE_TIME_CHECK_NAME(suffix) compile_time_check_ ## suffix
+#define PPL_COMPILE_TIME_CHECK_AUX(e, suffix)				\
+  enum {								\
+    /* 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)>)			\
+  }
 
-inline float
-Float<float>::value() {
-  return u.number;
-}
-#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__)
 
-#if PPL_SUPPORTED_DOUBLE
-inline
-Float<double>::Float() {
-}
+#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 {
+    value = b
+  };
+};
 
-inline
-Float<double>::Float(double v) {
-  u.number = v;
-}
+#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> {
+};
 
-inline double
-Float<double>::value() {
-  return u.number;
-}
-#endif
+#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> {
+};
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-inline
-Float<long double>::Float() {
-}
+#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.
 
-inline
-Float<long double>::Float(long double v) {
-  u.number = v;
-}
+  \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 {
+};
 
-inline long double
-Float<long double>::value() {
-  return u.number;
-}
-#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 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 {
+};
 
-} // namespace Parma_Polyhedra_Library
+#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.
 
-/* Automatically generated from PPL source file ../src/Float.defs.hh line 267. */
+  \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>::value == true</CODE>.
+  But we can do as follows:
+  \code
+  struct B_Base {
+  };
 
-/* Automatically generated from PPL source file ../src/checked.defs.hh line 33. */
+  template <typename T> struct B : public B_Base;
+  \endcode
+  This enables us to enquire
+  <CODE>Is_Same_Or_Derived<B_Base, Type>::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&);
+  };
 
-namespace Checked {
+  //! Overloading with \p Base.
+  static char func(const Base&);
 
+  //! Overloading with \p Any.
+  static double func(Any);
 
-// 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.
+  //! A function obtaining a const reference to a \p Derived object.
+  static const Derived& derived_object();
 
-#define FUNCTION_CLASS(name) name ## _function_struct
-
-#define DECLARE_FUN1_0_0(name, ret_type, qual, type) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(qual type& arg) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(arg); \
-}
-
-#define DECLARE_FUN1_0_1(name, ret_type, qual, type, after1) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(qual type& arg, after1 a1) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(arg, a1); \
-}
-
-#define DECLARE_FUN1_0_2(name, ret_type, qual, type, after1, after2) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(qual type& arg, after1 a1, after2 a2) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(arg, a1, a2); \
-}
-
-#define DECLARE_FUN1_0_3(name, ret_type, qual, type, after1, after2, after3) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(qual type& arg, after1 a1, after2 a2, after3 a3) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(arg, a1, a2, a3); \
-}
-
-#define DECLARE_FUN1_1_1(name, ret_type, before1, qual, type, after1) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(before1 b1, qual type& arg, after1 a1) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(b1, arg, a1); \
-}
-
-#define DECLARE_FUN1_1_2(name, ret_type, before1, qual, type, after1, after2) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(before1 b1, qual type& arg, after1 a1, after2 a2) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(b1, arg, a1, a2); \
-}
-
-#define DECLARE_FUN1_2_2(name, ret_type, before1, before2, qual, type, after1, after2) \
-template <typename Policy, typename type> \
-struct FUNCTION_CLASS(name); \
-template <typename Policy, typename type> \
-inline ret_type name(before1 b1, before2 b2, qual type& arg, after1 a1, after2 a2) { \
-  return FUNCTION_CLASS(name)<Policy, type>::function(b1, b2, arg, a1, a2); \
-}
-
-#define DECLARE_FUN2_0_0(name, ret_type, qual1, type1, qual2, type2) \
-template <typename Policy1, typename Policy2, typename type1, typename type2>	     \
-struct FUNCTION_CLASS(name); \
-template <typename Policy1, typename Policy2, typename type1, typename type2> \
-inline ret_type name(qual1 type1& arg1, qual2 type2& arg2) { \
-  return FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2>::function(arg1, arg2); \
-}
-
-#define DECLARE_FUN2_0_1(name, ret_type, qual1, type1, qual2, type2, after1) \
-template <typename Policy1, typename Policy2, typename type1, typename type2>		\
-struct 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 FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2>::function(arg1, arg2, a1); \
-}
-
-#define DECLARE_FUN2_0_2(name, ret_type, qual1, type1, qual2, type2, after1, after2) \
-template <typename Policy1, typename Policy2, typename type1, typename type2> \
-struct 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 FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2>::function(arg1, arg2, a1, a2); \
-}
-
-#define 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 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 FUNCTION_CLASS(name)<Policy1, Policy2, Policy3, type1, type2, type3>::function(arg1, arg2, arg3, a1); \
-}
-
-#define 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 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 FUNCTION_CLASS(name)<Policy1, Policy2, Policy3, Policy4, Policy5, type1, type2, type3, type4, type5> \
-    ::function(arg1, arg2, arg3, arg4, arg5, a1);			\
-}
-
-#define SPECIALIZE_FUN1_0_0(name, func, ret_type, qual, type) \
-template <typename Policy> \
-struct FUNCTION_CLASS(name)<Policy, type> { \
-  static inline ret_type function(qual type& arg) { \
-    return func<Policy>(arg); \
-  } \
-};
+  PPL_COMPILE_TIME_CHECK(sizeof(char) != sizeof(double),
+                         "architecture with sizeof(char) == sizeof(double)"
+                         " (!?)");
 
-#define SPECIALIZE_FUN1_0_1(name, func, ret_type, qual, type, after1) \
-template <typename Policy> \
-struct FUNCTION_CLASS(name)<Policy, type> { \
-  static inline ret_type function(qual type& arg, after1 a1) { \
-    return func<Policy>(arg, a1); \
-  } \
+  enum {
+    /*!
+      Assuming <CODE>sizeof(char) != sizeof(double)</CODE>, the C++
+      overload resolution mechanism guarantees that \p value 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.
+    */
+    value = (sizeof(func(derived_object())) == sizeof(char))
+  };
 };
 
-#define SPECIALIZE_FUN1_0_2(name, func, ret_type, qual, type, after1, after2) \
-template <typename Policy> \
-struct 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
+  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>.
 
-#define SPECIALIZE_FUN1_0_3(name, func, ret_type, qual, type, after1, after2, after3) \
-template <typename Policy> \
-struct 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); \
-  } \
+  \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 {
 };
 
-#define SPECIALIZE_FUN1_1_1(name, func, ret_type, before1, qual, type, after1) \
-template <typename Policy> \
-struct FUNCTION_CLASS(name)<Policy, type> { \
-  static inline ret_type function(before1 b1, qual type& arg, after1 a1) { \
-    return func<Policy>(b1, arg, a1); \
-  } \
+template <typename Type, Type, typename T = void>
+struct Enable_If_Is {
+  typedef T type;
 };
 
-#define SPECIALIZE_FUN1_1_2(name, func, ret_type, before1, qual, type, after1, after2) \
-template <typename Policy> \
-struct 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); \
-  } \
-};
+#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>.
 
-#define SPECIALIZE_FUN1_2_2(name, func, ret_type, before1, before2, qual, type, after1, after2) \
-template <typename Policy> \
-struct 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); \
-  } \
-};
+  \ingroup PPL_CXX_interface
+  This is the specialization in which the <CODE>type</CODE> member
+  is present.
 
-#define SPECIALIZE_FUN2_0_0(name, func, ret_type, qual1, type1, qual2, type2) \
-template <typename Policy1, typename Policy2>				\
-struct FUNCTION_CLASS(name)<Policy1, Policy2, type1, type2> { \
-  static inline ret_type function(qual1 type1& arg1, qual2 type2 &arg2) { \
-    return func<Policy1, Policy2>(arg1, arg2); \
-  } \
+  \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;
 };
 
-#define SPECIALIZE_FUN2_0_1(name, func, ret_type, qual1, type1, qual2, type2, after1) \
-template <typename Policy1, typename Policy2> \
-struct 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); \
-  } \
+template <typename T>
+struct Is_Native : public False {
 };
 
-#define SPECIALIZE_FUN2_0_2(name, func, ret_type, qual1, type1, qual2, type2, after1, after2) \
-template <typename Policy1, typename Policy2> \
-struct 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); \
-  } \
-};
+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 { };
 
-#define SPECIALIZE_FUN3_0_1(name, func, ret_type, qual1, type1, qual2, type2, qual3, type3, after1) \
-template <typename Policy1, typename Policy2, typename Policy3>			\
-struct 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); \
-  } \
-};
+#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
 
-#define 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 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);	\
-  }									\
-};
+template <> struct Is_Native<mpz_class> : public True { };
 
-#define nonconst
+template <> struct Is_Native<mpq_class> : public True { };
 
-#define SPECIALIZE_COPY(func, Type) \
-  SPECIALIZE_FUN2_0_0(copy, func, void, nonconst, Type, const, Type)
-#define SPECIALIZE_SGN(func, From) \
-  SPECIALIZE_FUN1_0_0(sgn, func, Result, const, From)
-#define SPECIALIZE_CMP(func, Type1, Type2) \
-  SPECIALIZE_FUN2_0_0(cmp, func, Result, const, Type1, const, Type2)
-#define SPECIALIZE_CLASSIFY(func, Type) \
-  SPECIALIZE_FUN1_0_3(classify, func, Result, const, Type, bool, bool, bool)
-#define SPECIALIZE_IS_NAN(func, Type) \
-  SPECIALIZE_FUN1_0_0(is_nan, func, bool, const, Type)
-#define SPECIALIZE_IS_MINF(func, Type) \
-  SPECIALIZE_FUN1_0_0(is_minf, func, bool, const, Type)
-#define SPECIALIZE_IS_PINF(func, Type) \
-  SPECIALIZE_FUN1_0_0(is_pinf, func, bool, const, Type)
-#define SPECIALIZE_IS_INT(func, Type) \
-  SPECIALIZE_FUN1_0_0(is_int, func, bool, const, Type)
-#define SPECIALIZE_ASSIGN_SPECIAL(func, Type) \
-  SPECIALIZE_FUN1_0_2(assign_special, func, Result, nonconst, Type, Result, Rounding_Dir)
-#define SPECIALIZE_CONSTRUCT_SPECIAL(func, Type) \
-  SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst, Type, Result, Rounding_Dir)
-#define SPECIALIZE_CONSTRUCT(func, To, From) \
-  SPECIALIZE_FUN2_0_1(construct, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_ASSIGN(func, To, From) \
-  SPECIALIZE_FUN2_0_1(assign, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_FLOOR(func, To, From) \
-  SPECIALIZE_FUN2_0_1(floor, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_CEIL(func, To, From) \
-  SPECIALIZE_FUN2_0_1(ceil, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_TRUNC(func, To, From) \
-  SPECIALIZE_FUN2_0_1(trunc, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_NEG(func, To, From) \
-  SPECIALIZE_FUN2_0_1(neg, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_ABS(func, To, From) \
-  SPECIALIZE_FUN2_0_1(abs, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_SQRT(func, To, From) \
-  SPECIALIZE_FUN2_0_1(sqrt, func, Result, nonconst, To, const, From, Rounding_Dir)
-#define SPECIALIZE_ADD(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(add, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_SUB(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(sub, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_MUL(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(mul, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_DIV(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(div, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_REM(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(rem, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_IDIV(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(idiv, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_MUL2EXP(func, To, From) \
-  SPECIALIZE_FUN2_0_2(mul2exp, func, Result, nonconst, To, const, From, int, Rounding_Dir)
-#define SPECIALIZE_DIV2EXP(func, To, From) \
-  SPECIALIZE_FUN2_0_2(div2exp, func, Result, nonconst, To, const, From, int, Rounding_Dir)
-#define SPECIALIZE_ADD_MUL(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(add_mul, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_SUB_MUL(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(sub_mul, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_GCD(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(gcd, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_GCDEXT(func, To1, From1, From2, To2, To3)		\
-  SPECIALIZE_FUN5_0_1(gcdext, func, Result, nonconst, To1,		\
-		      nonconst, To2, nonconst, To3, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_LCM(func, To, From1, From2) \
-  SPECIALIZE_FUN3_0_1(lcm, func, Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-#define SPECIALIZE_INPUT(func, Type) \
-  SPECIALIZE_FUN1_0_2(input, func, Result, nonconst, Type, std::istream&, Rounding_Dir)
-#define SPECIALIZE_OUTPUT(func, Type) \
-  SPECIALIZE_FUN1_1_2(output, func, Result, std::ostream&, const, Type, const Numeric_Format&, Rounding_Dir)
-
-
-DECLARE_FUN2_0_0(copy,        void, nonconst, Type1, const, Type2)
-DECLARE_FUN1_0_0(sgn,         Result, const, From)
-DECLARE_FUN2_0_0(cmp,         Result, const, Type1, const, Type2)
-DECLARE_FUN1_0_3(classify,    Result, const, Type, bool, bool, bool)
-DECLARE_FUN1_0_0(is_nan,      bool, const, Type)
-DECLARE_FUN1_0_0(is_minf,     bool, const, Type)
-DECLARE_FUN1_0_0(is_pinf,     bool, const, Type)
-DECLARE_FUN1_0_0(is_int,      bool, const, Type)
-DECLARE_FUN1_0_2(assign_special, Result, nonconst, Type, Result, Rounding_Dir)
-DECLARE_FUN1_0_2(construct_special, Result, nonconst, Type, Result, Rounding_Dir)
-DECLARE_FUN2_0_1(construct,   Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(assign,      Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(floor,       Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(ceil,        Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(trunc,       Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(neg,         Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(abs,         Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN2_0_1(sqrt,        Result, nonconst, To, const, From, Rounding_Dir)
-DECLARE_FUN3_0_1(add,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(sub,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(mul,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(div,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(rem,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(idiv,        Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN2_0_2(mul2exp,     Result, nonconst, To, const, From, int, Rounding_Dir)
-DECLARE_FUN2_0_2(div2exp,     Result, nonconst, To, const, From, int, Rounding_Dir)
-DECLARE_FUN3_0_1(add_mul,     Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(sub_mul,     Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(gcd,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN5_0_1(gcdext,      Result, nonconst, To1, nonconst, To2, nonconst, To3, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN3_0_1(lcm,         Result, nonconst, To, const, From1, const, From2, Rounding_Dir)
-DECLARE_FUN1_0_2(input,       Result, nonconst, Type, std::istream&, Rounding_Dir)
-DECLARE_FUN1_1_2(output,      Result, std::ostream&, const, Type, const Numeric_Format&, Rounding_Dir)
+} // namespace Parma_Polyhedra_Library
 
-template <typename Policy, typename To>
-Result round(To& to, Result r, Rounding_Dir dir);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Slow_Copy.hh line 1. */
+/* Basic Slow_Copy classes declarations.
+*/
 
-Result input_mpq(mpq_class& to, std::istream& is);
 
-} // namespace Checked
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Slow_Copy.hh line 27. */
+#include <gmpxx.h>
 
-struct Minus_Infinity {
-  static const Result code = VC_MINUS_INFINITY;
-};
-struct Plus_Infinity {
-  static const Result code = VC_PLUS_INFINITY;
-};
-struct Not_A_Number {
-  static const Result code = VC_NAN;
-};
+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 Is_Special : public False { };
+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 Is_Special<Minus_Infinity> : public True {};
+struct Slow_Copy<mpz_class> : public True {
+};
 
+#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 Is_Special<Plus_Infinity> : public True {};
+struct Slow_Copy<mpq_class> : public True {
+};
 
-template <>
-struct Is_Special<Not_A_Number> : public True {};
+} // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Temp.defs.hh line 28. */
 
-#define MINUS_INFINITY Minus_Infinity()
-#define PLUS_INFINITY Plus_Infinity()
-#define NOT_A_NUMBER Not_A_Number()
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
+//! A pool of temporary items of type \p T.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 template <typename T>
-struct Checked_Number_Transparent_Policy {
-  //! Checks for overflowed result.
-  const_bool_nodef(check_overflow, false);
+class Temp_Item {
+public:
+  //! Obtains a refeence to a temporary item.
+  static Temp_Item& obtain();
 
-  //! Checks for attempts to add infinities with different sign.
-  const_bool_nodef(check_inf_add_inf, false);
+  //! Releases the temporary item \p p.
+  static void release(Temp_Item& p);
 
-  //! Checks for attempts to subtract infinities with same sign.
-  const_bool_nodef(check_inf_sub_inf, false);
+  //! Returns a reference to the encapsulated item.
+  T& item();
 
-  //! Checks for attempts to multiply infinities by zero.
-  const_bool_nodef(check_inf_mul_zero, false);
+private:
+  //! The encapsulated item.
+  T item_;
 
-  //! Checks for attempts to divide by zero.
-  const_bool_nodef(check_div_zero, false);
+  //! Pointer to the next item in the free list.
+  Temp_Item* next;
 
-  //! Checks for attempts to divide infinities.
-  const_bool_nodef(check_inf_div_inf, false);
+  //! Head of the free list.
+  static Temp_Item* free_list_head;
 
-  //! Checks for attempts to compute remainder of infinities.
-  const_bool_nodef(check_inf_mod, false);
+  //! Default constructor.
+  Temp_Item();
 
-  //! Checks for attempts to take the square root of a negative number.
-  const_bool_nodef(check_sqrt_neg, false);
+  //! Copy constructor: private and intentionally not implemented.
+  Temp_Item(const Temp_Item&);
 
-  //! Handles not-a-number special value.
-  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
+  //! Assignment operator: private and intentionally not implemented.
+  Temp_Item& operator=(const Temp_Item&);
+};
 
-  //! Handles infinity special values.
-  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
+#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 \p p.
+  Temp_Reference_Holder(Temp_Item<T>& p);
 
-  //! Representation is identical to primitive.
-  const_bool_nodef(convertible, true);
+  //! Destructor.
+  ~Temp_Reference_Holder();
 
-  //! When true, requests to check for FPU inexact result are honored.
-  const_bool_nodef(fpu_check_inexact, false);
+  //! Returns a reference to the held item.
+  T& item();
 
-  //! Return VC_NAN on NaN result also for native extended.
-  const_bool_nodef(check_nan_result, false);
-  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
-  static void handle_result(Result r);
+private:
+  //! The held item, encapsulated.
+  Temp_Item<T>& held;
 };
 
-} // namespace Parma_Polyhedra_Library
-
-#define CHECK_P(cond, check) ((cond) ? (check) : (assert(!(check)), false))
+#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();
 
-/* Automatically generated from PPL source file ../src/checked.inlines.hh line 1. */
-/* Abstract checked arithmetic functions: fall-backs.
-*/
+  //! Returns the value of the held item.
+  T item();
 
-/* Automatically generated from PPL source file ../src/globals.types.hh line 1. */
+private:
+  //! The held item.
+  T item_;
+};
 
+#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;
 
-#include <cstddef>
+  //! The type of the holder.
+  typedef Temp_Reference_Holder<T> holder_type;
 
-namespace Parma_Polyhedra_Library {
+  //! Obtain the holder for a new temporary.
+  static holder_type obtain_holder();
+};
 
-//! An unsigned integral type for representing space dimensions.
-/*! \ingroup PPL_CXX_interface */
-typedef size_t dimension_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;
 
-//! An unsigned integral type for representing memory size in bytes.
-/*! \ingroup PPL_CXX_interface */
-typedef size_t memory_size_type;
+  //! The type of the holder.
+  typedef Temp_Value_Holder<T> holder_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
+  //! Obtain the holder for a new temporary.
+  static holder_type obtain_holder();
 };
 
-//! Relation symbols.
-/*! \ingroup PPL_CXX_interface */
-enum Relation_Symbol {
-  //! Less than.
-  LESS_THAN,
-  //! Less than or equal to.
-  LESS_OR_EQUAL,
-  //! Equal to.
-  EQUAL,
-  //! Greater than or equal to.
-  GREATER_OR_EQUAL,
-  //! Greater than.
-  GREATER_THAN,
-  //! Not equal to.
-  NOT_EQUAL
-};
+#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;
 
-//! 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
+#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> {
 };
 
-//! Possible optimization modes.
-/*! \ingroup PPL_CXX_interface */
-enum Optimization_Mode {
-  //! Minimization is requested.
-  MINIMIZATION,
-  //! Maximization is requested.
-  MAXIMIZATION
+#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> {
 };
 
 } // 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 /home/bagnara/ppl/ppl/src/Temp.inlines.hh line 1. */
+/* Temp_* classes implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/C_Integer.hh line 27. */
-#include <climits>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Temp.inlines.hh line 27. */
 
-// 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
+namespace Parma_Polyhedra_Library {
 
-#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
+template <typename T>
+inline
+Temp_Item<T>::Temp_Item()
+  : item_() {
+}
 
-#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
+template <typename T>
+inline T&
+Temp_Item<T>::item() {
+    return item_;
+}
 
-namespace Parma_Polyhedra_Library {
+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();
+}
 
 template <typename T>
-struct C_Integer : public False { };
+inline void
+Temp_Item<T>::release(Temp_Item& p) {
+  p.next = free_list_head;
+  free_list_head = &p;
+}
 
-template <>
-struct C_Integer<signed char> : public True {
-  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 <typename T>
+inline
+Temp_Reference_Holder<T>::Temp_Reference_Holder(Temp_Item<T>& p)
+  : held(p) {
+}
 
-template <>
-struct C_Integer<signed short> : public True {
-  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 <typename T>
+inline
+Temp_Reference_Holder<T>::~Temp_Reference_Holder() {
+  Temp_Item<T>::release(held);
+}
 
-template <>
-struct C_Integer<signed int> : public True {
-  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 <typename T>
+inline T&
+Temp_Reference_Holder<T>::item() {
+  return held.item();
+}
 
-template <>
-struct C_Integer<signed long> : public True {
-  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;
-};
+template <typename T>
+inline
+Temp_Value_Holder<T>::Temp_Value_Holder() {
+}
 
-template <>
-struct C_Integer<signed long long> : public True {
-  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;
-};
+template <typename T>
+inline T
+Temp_Value_Holder<T>::item() {
+  return item_;
+}
 
-template <>
-struct C_Integer<unsigned char> : public True {
-  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;
-};
+template <typename T>
+inline typename Temp_From_Free_List<T>::holder_type
+Temp_From_Free_List<T>::obtain_holder() {
+  return Temp_Reference_Holder<T>(Temp_Item<T>::obtain());
+}
 
-template <>
-struct C_Integer<unsigned short> : public True {
-  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;
-};
+template <typename T>
+inline typename Temp_From_Local_Variable<T>::holder_type
+Temp_From_Local_Variable<T>::obtain_holder() {
+  return Temp_Value_Holder<T>();
+}
 
-template <>
-struct C_Integer<unsigned int> : public True {
-  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;
-};
+} // namespace Parma_Polyhedra_Library
 
-template <>
-struct C_Integer<unsigned long> : public True {
-  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;
-};
+#define PPL_DIRTY_TEMP(T, id)						\
+  typename Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id = \
+    Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
+  typename Parma_Polyhedra_Library::Dirty_Temp<T>::type id =		\
+    holder ## id.item()
 
-template <>
-struct C_Integer<unsigned long long> : public True {
-  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;
-};
+#define PPL_DIRTY_TEMP0(T, id)						\
+  Parma_Polyhedra_Library::Dirty_Temp<T>::holder_type holder ## id =	\
+    Parma_Polyhedra_Library::Dirty_Temp<T>::obtain_holder();		\
+  Parma_Polyhedra_Library::Dirty_Temp<T>::type id = holder ## id.item()
 
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Temp.templates.hh line 1. */
+/* Temp_* classes implementation: non-inline template members.
+*/
 
-/* Automatically generated from PPL source file ../src/checked.inlines.hh line 26. */
-#include <cassert>
 
 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 {
-};
+Temp_Item<T>* Temp_Item<T>::free_list_head = 0;
 
-#define safe_conversion(To, From)					\
-  template <> struct Safe_Conversion<To, From> : public True { }
+} // namespace Parma_Polyhedra_Library
 
-safe_conversion(signed short, signed char);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_SHORT
-safe_conversion(signed short, unsigned char);
-#endif
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Temp.defs.hh line 159. */
 
-safe_conversion(signed int, signed char);
-safe_conversion(signed int, signed short);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_INT
-safe_conversion(signed int, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_INT
-safe_conversion(signed int, unsigned short);
-#endif
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Numeric_Format.defs.hh line 1. */
+/* Numeric format.
+*/
 
-safe_conversion(signed long, signed char);
-safe_conversion(signed long, signed short);
-safe_conversion(signed long, signed int);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG
-safe_conversion(signed long, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG
-safe_conversion(signed long, unsigned short);
-#endif
-#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG
-safe_conversion(signed long, unsigned int);
-#endif
 
-safe_conversion(signed long long, signed char);
-safe_conversion(signed long long, signed short);
-safe_conversion(signed long long, signed int);
-safe_conversion(signed long long, signed long);
-#if PPL_SIZEOF_CHAR < PPL_SIZEOF_LONG_LONG
-safe_conversion(signed long long, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT < PPL_SIZEOF_LONG_LONG
-safe_conversion(signed long long, unsigned short);
-#endif
-#if PPL_SIZEOF_INT < PPL_SIZEOF_LONG_LONG
-safe_conversion(signed long long, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG < PPL_SIZEOF_LONG_LONG
-safe_conversion(signed long long, unsigned long);
-#endif
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Numeric_Format.defs.hh line 28. */
 
-safe_conversion(unsigned short, unsigned char);
+namespace Parma_Polyhedra_Library {
 
-safe_conversion(unsigned int, unsigned char);
-safe_conversion(unsigned int, unsigned short);
+class Numeric_Format {
+};
 
-safe_conversion(unsigned long, unsigned char);
-safe_conversion(unsigned long, unsigned short);
-safe_conversion(unsigned long, unsigned int);
+} // namespace Parma_Polyhedra_Library
 
-safe_conversion(unsigned long long, unsigned char);
-safe_conversion(unsigned long long, unsigned short);
-safe_conversion(unsigned long long, unsigned int);
-safe_conversion(unsigned long long, unsigned long);
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Float.defs.hh line 1. */
+/* IEC 559 floating point format related functions.
+*/
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed char);
-safe_conversion(float, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed short);
-safe_conversion(float, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed int);
-safe_conversion(float, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed long);
-safe_conversion(float, unsigned long);
-#endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_FLOAT - 2
-safe_conversion(float, signed long long);
-safe_conversion(float, unsigned long long);
-#endif
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed char);
-safe_conversion(double, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed short);
-safe_conversion(double, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed int);
-safe_conversion(double, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed long);
-safe_conversion(double, unsigned long);
-#endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_DOUBLE - 4
-safe_conversion(double, signed long long);
-safe_conversion(double, unsigned long long);
-#endif
-safe_conversion(double, float);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Float.defs.hh line 28. */
+#include <gmp.h>
+#include <cassert>
+#include <cmath>
 
-#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_LONG_DOUBLE - 4
-safe_conversion(long double, signed char);
-safe_conversion(long double, unsigned char);
-#endif
-#if PPL_SIZEOF_SHORT <= PPL_SIZEOF_LONG_DOUBLE - 4
-safe_conversion(long double, signed short);
-safe_conversion(long double, unsigned short);
-#endif
-#if PPL_SIZEOF_INT <= PPL_SIZEOF_LONG_DOUBLE - 4
-safe_conversion(long double, signed int);
-safe_conversion(long double, unsigned int);
-#endif
-#if PPL_SIZEOF_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
-safe_conversion(long double, signed long);
-safe_conversion(long double, unsigned long);
-#endif
-#if PPL_SIZEOF_LONG_LONG <= PPL_SIZEOF_LONG_DOUBLE - 4
-safe_conversion(long double, signed long long);
-safe_conversion(long double, unsigned long long);
+#ifdef NAN
+#define PPL_NAN NAN
+#else
+#define PPL_NAN (HUGE_VAL - HUGE_VAL)
 #endif
-safe_conversion(long double, float);
-safe_conversion(long double, double);
-
-safe_conversion(mpz_class, signed char);
-safe_conversion(mpz_class, signed short);
-safe_conversion(mpz_class, signed int);
-safe_conversion(mpz_class, signed long);
-//safe_conversion(mpz_class, signed long long);
-safe_conversion(mpz_class, unsigned char);
-safe_conversion(mpz_class, unsigned short);
-safe_conversion(mpz_class, unsigned int);
-safe_conversion(mpz_class, unsigned long);
-//safe_conversion(mpz_class, unsigned long long);
-
-safe_conversion(mpq_class, signed char);
-safe_conversion(mpq_class, signed short);
-safe_conversion(mpq_class, signed int);
-safe_conversion(mpq_class, signed long);
-//safe_conversion(mpq_class, signed long long);
-safe_conversion(mpq_class, unsigned char);
-safe_conversion(mpq_class, unsigned short);
-safe_conversion(mpq_class, unsigned int);
-safe_conversion(mpq_class, unsigned long);
-//safe_conversion(mpq_class, unsigned long long);
-safe_conversion(mpq_class, float);
-safe_conversion(mpq_class, double);
-//safe_conversion(mpq_class, long double);
 
-template <typename Policy, typename Type>
-struct 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;
-  }
-};
+namespace Parma_Polyhedra_Library {
 
-template <typename To_Policy, typename From_Policy, typename To, typename From>
-struct 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);
-  }
-};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-template <typename To_Policy, typename To>
-struct FUNCTION_CLASS(construct_special) {
-  static inline Result function(To& to, Result r, Rounding_Dir dir) {
-    new (&to) To();
-    return assign_special<To_Policy>(to, r, dir);
-  }
+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 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);
 };
 
-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 WORDS_BIGENDIAN
+#ifndef PPL_WORDS_BIGENDIAN
+#define PPL_WORDS_BIGENDIAN
+#endif
+#endif
 
-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
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-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);
-}
+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 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);
+};
 
-inline Result
-neg(Result r) {
-  assert(!is_special(r));
-  Result ret = static_cast<Result>(r & V_EQ);
-  if (r & V_LT)
-    ret = static_cast<Result>(ret | V_GT);
-  if (r & V_GT)
-    ret = static_cast<Result>(ret | V_LT);
-  return ret;
-}
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-inline Result
-add(Result r1, Result r2) {
-  assert(!is_special(r1));
-  assert(!is_special(r2));
-  if (r1 == V_EQ)
-    return r2;
-  if (r2 == V_EQ)
-    return r1;
-  if (((r1 & V_LT) && (r2 & V_GT))
-      || ((r1 & V_GT) && (r2 & V_LT)))
-    return V_LGE;
-  return static_cast<Result>((((r1 & r2) & V_EQ) ? V_EQ : 0) |
-			       (r1 & (V_LT | V_GT)));
-}
-
-inline Result
-sub(Result r1, Result r2) {
-  return add(r1, neg(r2));
-}
-
-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;
-}
-
-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);
-}
-
-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);
-    }
-  }
+struct float_intel_double_extended {
+#ifdef PPL_WORDS_BIGENDIAN
+  uint32_t msp;
+  uint64_t lsp;
+#else
+  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 uint64_t LSP_ZERO = 0;
+  static const uint64_t LSP_DMAX = 0x7fffffffffffffffULL;
+  static const uint64_t LSP_NMAX = 0xffffffffffffffffULL;
+  static const unsigned int EXPONENT_BITS = 15;
+  static const unsigned int MANTISSA_BITS = 63;
+  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);
+};
 
-  s = 1;
-  t = 0;
-  bool negative_x = x < 0;
-  bool negative_y = y < 0;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-  Result r;
-  r = abs<To1_Policy, From1_Policy>(to, x, dir);
-  if (r != V_EQ)
-    return r;
+struct float_ieee754_quad {
+#ifdef PPL_WORDS_BIGENDIAN
+  uint64_t msp;
+  uint64_t lsp;
+#else
+  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 LSP_INF = 0;
+  static const uint64_t LSP_ZERO = 0;
+  static const uint64_t LSP_MAX = 0xffffffffffffffffULL;
+  static const unsigned int EXPONENT_BITS = 15;
+  static const unsigned int MANTISSA_BITS = 112;
+  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);
+};
 
-  From2 ay;
-  r = abs<To1_Policy, From2_Policy>(ay, y, dir);
-  if (r != V_EQ)
-    return r;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+template <typename T>
+class Float : public False { };
 
-  // If COPY_GMP 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 COPY_GMP
-#ifdef COPY_GMP
-  if (to == ay)
-    goto sign_check;
+#if PPL_SUPPORTED_FLOAT
+template <>
+class Float<float> : public True {
+public:
+#if PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+  typedef float_ieee754_single Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+  typedef float_ieee754_double Binary;
+#elif PPL_CXX_FLOAT_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
+  typedef float_ieee754_quad Binary;
+#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"
+#endif
+  union {
+    float number;
+    Binary binary;
+  } u;
+  Float();
+  Float(float v);
+  float value();
+};
 #endif
 
-  {
-    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;
-    }
-  }
+#if PPL_SUPPORTED_DOUBLE
+template <>
+class Float<double> : public True {
+public:
+#if PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+  typedef float_ieee754_single Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+  typedef float_ieee754_double Binary;
+#elif PPL_CXX_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
+  typedef float_ieee754_quad Binary;
+#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"
+#endif
+  union {
+    double number;
+    Binary binary;
+  } u;
+  Float();
+  Float(double v);
+  double value();
+};
+#endif
 
-#ifdef COPY_GMP
- sign_check:
+#if PPL_SUPPORTED_LONG_DOUBLE
+template <>
+class Float<long double> : public True {
+public:
+#if PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_SINGLE
+  typedef float_ieee754_single Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_DOUBLE
+  typedef float_ieee754_double Binary;
+#elif PPL_CXX_LONG_DOUBLE_BINARY_FORMAT == PPL_FLOAT_IEEE754_QUAD
+  typedef float_ieee754_quad Binary;
+#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"
+#endif
+  union {
+    long double number;
+    Binary binary;
+  } u;
+  Float();
+  Float(long double v);
+  long double value();
+};
 #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;
-}
 
-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);
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename Policy, typename Type>
-inline Result
-sgn_generic(const Type& x) {
-  if (x > 0)
-    return V_GT;
-  if (x == 0)
-    return V_EQ;
-  return V_LT;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Float.inlines.hh line 1. */
+/* IEC 559 floating point format related functions.
+*/
 
-template <typename T1, typename T2, typename Enable = void>
-struct Safe_Int_Comparison : public False {
-};
 
-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)))> {
-};
+#include <climits>
 
+namespace Parma_Polyhedra_Library {
 
-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;
+inline int
+float_ieee754_single::is_inf() const {
+  if (word == NEG_INF)
+    return -1;
+  if (word == POS_INF)
+    return 1;
+  return 0;
 }
-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;
+
+inline int
+float_ieee754_single::is_nan() const {
+  return (word & ~SGN_MASK) > POS_INF;
 }
 
-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 || x < y;
+inline int
+float_ieee754_single::is_zero() const {
+  if (word == NEG_ZERO)
+    return -1;
+  if (word == POS_ZERO)
+    return 1;
+  return 0;
 }
 
-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 < y;
+inline void
+float_ieee754_single::negate() {
+  word ^= SGN_MASK;
 }
 
-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 || x <= y;
+inline int
+float_ieee754_single::sign_bit() const {
+  return !!(word & SGN_MASK);
 }
 
-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 <= y;
+inline void
+float_ieee754_single::dec() {
+  --word;
 }
 
-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 && x == y;
+inline void
+float_ieee754_single::inc() {
+  ++word;
 }
 
-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 == y;
+inline void
+float_ieee754_single::set_max(bool negative) {
+  word = 0x7f7fffff;
+  if (negative)
+    word |= SGN_MASK;
 }
 
-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) {
-  DIRTY_TEMP(T1, tmp);
-  Result r = assign_r(tmp, y, static_cast<Rounding_Dir>(ROUND_DIRECT | ROUND_FPU_CHECK_INEXACT));
-  // FIXME: Can we do any better?
-  // 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.
-  assert(r != V_LE && r != V_GE && r != V_LGE);
-  return r == V_EQ && x == tmp;
+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;
 }
 
-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) {
-  DIRTY_TEMP(T1, tmp);
-  Result r = assign_r(tmp, y, ROUND_UP);
-  switch (r) {
-  case V_POS_OVERFLOW:
-  case VC_PLUS_INFINITY:
-    return true;
-  case V_EQ:
-  case V_LT:
-  case V_LE:
-    return x < tmp;
-  default:
-    return false;
-  }
+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;
 }
 
-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) {
-  DIRTY_TEMP(T1, tmp);
-  Result r
-    = assign_r(tmp,
-               y,
-               static_cast<Rounding_Dir>(ROUND_UP | ROUND_FPU_CHECK_INEXACT));
-  switch (r) {
-  case V_POS_OVERFLOW:
-  case VC_PLUS_INFINITY:
-    return true;
-  case V_EQ:
-    return x <= tmp;
-  case V_LT:
-    return x < tmp;
-  case V_LE:
-  case V_GE:
-  case V_LGE:
-    // FIXME: Can we do any better?
-    // See comment above.
-    assert(0);
-  default:
-    return false;
-  }
+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);
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-lt_p(const Type1& x, const Type2& y) {
-  return lt(x, y);
+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;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-le_p(const Type1& x, const Type2& y) {
-  return le(x, y);
+inline void
+float_ieee754_double::negate() {
+  msp ^= MSP_SGN_MASK;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-eq_p(const Type1& x, const Type2& y) {
-  return eq(x, y);
+inline int
+float_ieee754_double::sign_bit() const {
+  return !!(msp & MSP_SGN_MASK);
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline Result
-cmp_generic(const Type1& x, const Type2& y) {
-  if (lt(y, x))
-    return V_GT;
-  if (lt(x, y))
-    return V_LT;
-  return V_EQ;
+inline void
+float_ieee754_double::dec() {
+  if (lsp == 0) {
+    --msp;
+    lsp = LSP_MAX;
+  }
+  else
+    --lsp;
 }
 
-template <typename Policy, typename Type>
-inline Result
-input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
-  DIRTY_TEMP0(mpq_class, q);
-  Result r = input_mpq(q, is);
-  if (is_special(r))
-    return assign_special<Policy>(to, r, dir);
-  if (r == V_EQ)
-    return assign<Policy, void>(to, q, dir);
-  assert(0);
-  return VC_NAN;
+inline void
+float_ieee754_double::inc() {
+  if (lsp == LSP_MAX) {
+    ++msp;
+    lsp = 0;
+  }
+  else
+    ++lsp;
 }
 
-} // namespace Checked
+inline void
+float_ieee754_double::set_max(bool negative) {
+  msp = 0x7fefffff;
+  lsp = 0xffffffff;
+  if (negative)
+    msp |= MSP_SGN_MASK;
+}
 
-} // namespace Parma_Polyhedra_Library
-/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 1. */
-/* Specialized "checked" functions for native integer numbers.
-*/
+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);
+}
 
+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;
+}
 
-/* Automatically generated from PPL source file ../src/checked_int.inlines.hh line 27. */
-#include <cerrno>
-#include <cstdlib>
-#include <climits>
-#include <string>
+inline int
+float_intel_double_extended::is_nan() const {
+  return (msp & MSP_POS_INF) == MSP_POS_INF
+    && lsp != LSP_INF;
+}
 
-#if !PPL_HAVE_DECL_STRTOLL
-signed long long
-strtoll(const char* nptr, char** endptr, int base);
-#endif
+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;
+}
 
-#if !PPL_HAVE_DECL_STRTOULL
-unsigned long long
-strtoull(const char* nptr, char** endptr, int base);
-#endif
+inline void
+float_intel_double_extended::negate() {
+  msp ^= MSP_SGN_MASK;
+}
 
-namespace Parma_Polyhedra_Library {
+inline int
+float_intel_double_extended::sign_bit() const {
+  return !!(msp & MSP_SGN_MASK);
+}
 
-namespace Checked {
+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;
+}
 
-#ifndef PPL_HAVE_INT_FAST16_T
-typedef int16_t int_fast16_t;
-#endif
+inline void
+float_intel_double_extended::inc() {
+  if ((lsp & LSP_DMAX) == LSP_DMAX) {
+    ++msp;
+    lsp = LSP_DMAX + 1;
+  }
+  else
+    ++lsp;
+}
 
-#ifndef PPL_HAVE_INT_FAST32_T
-typedef int32_t int_fast32_t;
-#endif
+inline void
+float_intel_double_extended::set_max(bool negative) {
+  msp = 0x00007ffe;
+  lsp = 0xffffffffffffffffULL;
+  if (negative)
+    msp |= MSP_SGN_MASK;
+}
 
-#ifndef PPL_HAVE_INT_FAST64_T
-typedef int64_t int_fast64_t;
+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);
+}
 
-#ifndef PPL_HAVE_UINT_FAST16_T
-typedef uint16_t uint_fast16_t;
-#endif
+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;
+}
 
-#ifndef PPL_HAVE_UINT_FAST32_T
-typedef uint32_t uint_fast32_t;
-#endif
+inline int
+float_ieee754_quad::is_nan() const {
+  return (msp & ~MSP_SGN_MASK) == MSP_POS_INF
+    && lsp != LSP_INF;
+}
 
-#ifndef PPL_HAVE_UINT_FAST64_T
-typedef uint64_t uint_fast64_t;
-#endif
+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;
+}
 
-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 void
+float_ieee754_quad::negate() {
+  msp ^= MSP_SGN_MASK;
+}
 
-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;
-  }
-  else {
-    if (Policy::has_infinity) {
-      to = Extended_Int<Policy, To>::minus_infinity;
-      return V_GT;
-    }
-    return V_NEG_OVERFLOW;
-  }
+inline int
+float_ieee754_quad::sign_bit() const {
+  return !!(msp & MSP_SGN_MASK);
 }
 
-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;
-  }
-  else {
-    if (Policy::has_infinity) {
-      to = Extended_Int<Policy, To>::plus_infinity;
-      return V_LT;
-    }
-    return V_POS_OVERFLOW;
+inline void
+float_ieee754_quad::dec() {
+  if (lsp == 0) {
+    --msp;
+    lsp = LSP_MAX;
   }
+  else
+    --lsp;
 }
 
-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;
+inline void
+float_ieee754_quad::inc() {
+  if (lsp == LSP_MAX) {
+    ++msp;
+    lsp = 0;
   }
-  return V_LT;
+  else
+    ++lsp;
 }
 
-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 void
+float_ieee754_quad::set_max(bool negative) {
+  msp = 0x7ffeffffffffffffULL;
+  lsp = 0xffffffffffffffffULL;
+  if (negative)
+    msp |= MSP_SGN_MASK;
 }
 
-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;
-      }
-      return V_NEG_OVERFLOW;
-    }
-    else {
-      --to;
-      return V_GT;
-    }
-  }
-  return V_LT;
+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);
 }
 
-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;
-      }
-      return V_POS_OVERFLOW;
-    }
-    else {
-      ++to;
-      return V_LT;
-    }
-  }
-  return V_GT;
+#if PPL_SUPPORTED_FLOAT
+inline
+Float<float>::Float() {
 }
 
-SPECIALIZE_COPY(copy_generic, signed char)
-SPECIALIZE_COPY(copy_generic, signed short)
-SPECIALIZE_COPY(copy_generic, signed int)
-SPECIALIZE_COPY(copy_generic, signed long)
-SPECIALIZE_COPY(copy_generic, signed long long)
-SPECIALIZE_COPY(copy_generic, unsigned char)
-SPECIALIZE_COPY(copy_generic, unsigned short)
-SPECIALIZE_COPY(copy_generic, unsigned int)
-SPECIALIZE_COPY(copy_generic, unsigned long)
-SPECIALIZE_COPY(copy_generic, unsigned long long)
+inline
+Float<float>::Float(float v) {
+  u.number = v;
+}
 
-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 VC_NAN;
-  if (!inf & !sign)
-    return VC_NORMAL;
-  if (Policy::has_infinity) {
-    if (v == Extended_Int<Policy, Type>::minus_infinity)
-      return inf ? VC_MINUS_INFINITY : V_LT;
-    if (v == Extended_Int<Policy, Type>::plus_infinity)
-      return inf ? VC_PLUS_INFINITY : V_GT;
-  }
-  if (sign) {
-    if (v < 0)
-      return V_LT;
-    if (v > 0)
-      return V_GT;
-    return V_EQ;
-  }
-  return VC_NORMAL;
+inline float
+Float<float>::value() {
+  return u.number;
 }
+#endif
 
-SPECIALIZE_CLASSIFY(classify_int, signed char)
-SPECIALIZE_CLASSIFY(classify_int, signed short)
-SPECIALIZE_CLASSIFY(classify_int, signed int)
-SPECIALIZE_CLASSIFY(classify_int, signed long)
-SPECIALIZE_CLASSIFY(classify_int, signed long long)
-SPECIALIZE_CLASSIFY(classify_int, unsigned char)
-SPECIALIZE_CLASSIFY(classify_int, unsigned short)
-SPECIALIZE_CLASSIFY(classify_int, unsigned int)
-SPECIALIZE_CLASSIFY(classify_int, unsigned long)
-SPECIALIZE_CLASSIFY(classify_int, unsigned long long)
+#if PPL_SUPPORTED_DOUBLE
+inline
+Float<double>::Float() {
+}
 
-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;
+inline
+Float<double>::Float(double v) {
+  u.number = v;
 }
 
-SPECIALIZE_IS_NAN(is_nan_int, signed char)
-SPECIALIZE_IS_NAN(is_nan_int, signed short)
-SPECIALIZE_IS_NAN(is_nan_int, signed int)
-SPECIALIZE_IS_NAN(is_nan_int, signed long)
-SPECIALIZE_IS_NAN(is_nan_int, signed long long)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned char)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned short)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned int)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned long)
-SPECIALIZE_IS_NAN(is_nan_int, unsigned long long)
+inline double
+Float<double>::value() {
+  return u.number;
+}
+#endif
 
-template <typename Policy, typename Type>
-inline bool
-is_minf_int(const Type v) {
-  return Policy::has_infinity
-    && v == Extended_Int<Policy, Type>::minus_infinity;
+#if PPL_SUPPORTED_LONG_DOUBLE
+inline
+Float<long double>::Float() {
 }
 
-SPECIALIZE_IS_MINF(is_minf_int, signed char)
-SPECIALIZE_IS_MINF(is_minf_int, signed short)
-SPECIALIZE_IS_MINF(is_minf_int, signed int)
-SPECIALIZE_IS_MINF(is_minf_int, signed long)
-SPECIALIZE_IS_MINF(is_minf_int, signed long long)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned char)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned short)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned int)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned long)
-SPECIALIZE_IS_MINF(is_minf_int, unsigned long long)
+inline
+Float<long double>::Float(long double v) {
+  u.number = v;
+}
 
-template <typename Policy, typename Type>
-inline bool
-is_pinf_int(const Type v) {
-  return Policy::has_infinity
-    && v == Extended_Int<Policy, Type>::plus_infinity;
+inline long double
+Float<long double>::value() {
+  return u.number;
 }
+#endif
 
-SPECIALIZE_IS_PINF(is_pinf_int, signed char)
-SPECIALIZE_IS_PINF(is_pinf_int, signed short)
-SPECIALIZE_IS_PINF(is_pinf_int, signed int)
-SPECIALIZE_IS_PINF(is_pinf_int, signed long)
-SPECIALIZE_IS_PINF(is_pinf_int, signed long long)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned char)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned short)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned int)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned long)
-SPECIALIZE_IS_PINF(is_pinf_int, unsigned long long)
 
-template <typename Policy, typename Type>
-inline bool
-is_int_int(const Type v) {
-  return !is_nan<Policy>(v);
-}
+} // namespace Parma_Polyhedra_Library
 
-SPECIALIZE_IS_INT(is_int_int, signed char)
-SPECIALIZE_IS_INT(is_int_int, signed short)
-SPECIALIZE_IS_INT(is_int_int, signed int)
-SPECIALIZE_IS_INT(is_int_int, signed long)
-SPECIALIZE_IS_INT(is_int_int, signed long long)
-SPECIALIZE_IS_INT(is_int_int, unsigned char)
-SPECIALIZE_IS_INT(is_int_int, unsigned short)
-SPECIALIZE_IS_INT(is_int_int, unsigned int)
-SPECIALIZE_IS_INT(is_int_int, unsigned long)
-SPECIALIZE_IS_INT(is_int_int, unsigned long long)
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Float.defs.hh line 275. */
 
-template <typename Policy, typename Type>
-inline Result
-assign_special_int(Type& v, Result r, Rounding_Dir dir) {
-  Result t = classify(r);
-  switch (t) {
-  case VC_NAN:
-    if (Policy::has_nan)
-      v = Extended_Int<Policy, Type>::not_a_number;
-    break;
-  case VC_MINUS_INFINITY:
-    if (Policy::has_infinity) {
-      v = Extended_Int<Policy, Type>::minus_infinity;
-      return V_EQ;
-    }
-    if (round_up(dir)) {
-      v = Extended_Int<Policy, Type>::min;
-      return V_LT;
-    }
-    break;
-  case VC_PLUS_INFINITY:
-    if (Policy::has_infinity) {
-      v = Extended_Int<Policy, Type>::plus_infinity;
-      return V_EQ;
-    }
-    if (round_down(dir)) {
-      v = Extended_Int<Policy, Type>::max;
-      return V_GT;
-    }
-    break;
-  default:
-    assert(0);
-    break;
-  }
-  return r;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked.defs.hh line 33. */
 
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed char)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed short)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed int)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, signed long long)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned char)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned short)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned int)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_int, unsigned long long)
+namespace Parma_Polyhedra_Library {
 
-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,
-		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,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
-}
+namespace Checked {
 
-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 > static_cast<From>(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
-}
 
-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 > static_cast<From>(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
-}
+// 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 <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,
-		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = To(from);
-  return V_EQ;
-}
+#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_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);   \
+  }
+
+#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); \
+  }
+
+#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); \
+  }
+
+#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); \
+  }
+
+#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);    \
+  }
+
+#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);    \
+  }
+
+#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);                              \
+  }
+
+#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_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);                      \
+  }
+
+#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);			\
+  }
+
+#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);                                         \
+    }                                                                   \
+  };
 
+#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);                                     \
+    }                                                                   \
+  };
 
-#define ASSIGN2_SIGNED_SIGNED(Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Larger, Smaller)
-
-#define ASSIGN2_UNSIGNED_UNSIGNED(Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Larger, Smaller)
-
-#define ASSIGN2_UNSIGNED_SIGNED(Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Larger, Smaller)
-
-#define ASSIGN2_SIGNED_UNSIGNED(Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_signed_int_unsigned_int, Smaller, Larger) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_signed_int, Larger, Smaller)
-
-#define ASSIGN_SIGNED(Type) \
-SPECIALIZE_ASSIGN(assign_signed_int_signed_int, Type, Type)
-#define ASSIGN_UNSIGNED(Type) \
-SPECIALIZE_ASSIGN(assign_unsigned_int_unsigned_int, Type, Type)
-
-ASSIGN_SIGNED(signed char)
-ASSIGN_SIGNED(signed short)
-ASSIGN_SIGNED(signed int)
-ASSIGN_SIGNED(signed long)
-ASSIGN_SIGNED(signed long long)
-ASSIGN_UNSIGNED(unsigned char)
-ASSIGN_UNSIGNED(unsigned short)
-ASSIGN_UNSIGNED(unsigned int)
-ASSIGN_UNSIGNED(unsigned long)
-ASSIGN_UNSIGNED(unsigned long long)
-
-ASSIGN2_SIGNED_SIGNED(signed char, signed short)
-ASSIGN2_SIGNED_SIGNED(signed char, signed int)
-ASSIGN2_SIGNED_SIGNED(signed char, signed long)
-ASSIGN2_SIGNED_SIGNED(signed char, signed long long)
-ASSIGN2_SIGNED_SIGNED(signed short, signed int)
-ASSIGN2_SIGNED_SIGNED(signed short, signed long)
-ASSIGN2_SIGNED_SIGNED(signed short, signed long long)
-ASSIGN2_SIGNED_SIGNED(signed int, signed long)
-ASSIGN2_SIGNED_SIGNED(signed int, signed long long)
-ASSIGN2_SIGNED_SIGNED(signed long, signed long long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned short)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned int)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned char, unsigned long long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned int)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned short, unsigned long long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned int, unsigned long long)
-ASSIGN2_UNSIGNED_UNSIGNED(unsigned long, unsigned long long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed short)
-ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed int)
-ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned char, signed long long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed int)
-ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned short, signed long long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned int, signed long long)
-ASSIGN2_UNSIGNED_SIGNED(unsigned long, signed long long)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned char)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned short)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned int)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long)
-ASSIGN2_SIGNED_UNSIGNED(signed char, unsigned long long)
-ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned short)
-ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned int)
-ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long)
-ASSIGN2_SIGNED_UNSIGNED(signed short, unsigned long long)
-ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned int)
-ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long)
-ASSIGN2_SIGNED_UNSIGNED(signed int, unsigned long long)
-ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long)
-ASSIGN2_SIGNED_UNSIGNED(signed long, unsigned long long)
-ASSIGN2_SIGNED_UNSIGNED(signed long long, unsigned long long)
+#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);                                 \
+    }                                                                   \
+  };
 
-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
-  From i_from = rint(from);
-  to = static_cast<To>(i_from);
-  if (round_ignore(dir))
-    return V_LGE;
-  if (from < i_from)
-    return round_lt_int<To_Policy>(to, dir);
-  else if (from > i_from)
-    return round_gt_int<To_Policy>(to, dir);
-  else
-    return V_EQ;
-}
+#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);                             \
+    }                                                                   \
+  };
 
-SPECIALIZE_ASSIGN(assign_int_float, signed char, float)
-SPECIALIZE_ASSIGN(assign_int_float, signed short, float)
-SPECIALIZE_ASSIGN(assign_int_float, signed int, float)
-SPECIALIZE_ASSIGN(assign_int_float, signed long, float)
-SPECIALIZE_ASSIGN(assign_int_float, signed long long, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned char, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned short, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned int, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long, float)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, float)
-
-SPECIALIZE_ASSIGN(assign_int_float, signed char, double)
-SPECIALIZE_ASSIGN(assign_int_float, signed short, double)
-SPECIALIZE_ASSIGN(assign_int_float, signed int, double)
-SPECIALIZE_ASSIGN(assign_int_float, signed long, double)
-SPECIALIZE_ASSIGN(assign_int_float, signed long long, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned char, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned short, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned int, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long, double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, double)
-
-SPECIALIZE_ASSIGN(assign_int_float, signed char, long double)
-SPECIALIZE_ASSIGN(assign_int_float, signed short, long double)
-SPECIALIZE_ASSIGN(assign_int_float, signed int, long double)
-SPECIALIZE_ASSIGN(assign_int_float, signed long, long double)
-SPECIALIZE_ASSIGN(assign_int_float, signed long long, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned char, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned short, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned int, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long, long double)
-SPECIALIZE_ASSIGN(assign_int_float, unsigned long long, long double)
-
-#undef ASSIGN2_SIGNED_SIGNED
-#undef ASSIGN2_UNSIGNED_UNSIGNED
-#undef ASSIGN2_UNSIGNED_SIGNED
-#undef ASSIGN2_SIGNED_UNSIGNED
+#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);                                 \
+    }                                                                   \
+  };
 
-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 (v < C_Integer<To>::min)
-	return set_neg_overflow_int<To_Policy>(to, dir);
-      if (v > C_Integer<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);
-}
+#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);                             \
+    }                                                                   \
+  };
 
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed char, mpz_class)
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed short, mpz_class)
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed int, mpz_class)
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long, mpz_class)
-SPECIALIZE_ASSIGN(assign_signed_int_mpz, signed long long, mpz_class)
+#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);                         \
+    }                                                                   \
+  };
 
-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 (v > C_Integer<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);
-}
+#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);                        \
+    }                                                                   \
+  };
 
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned char, mpz_class)
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned short, mpz_class)
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned int, mpz_class)
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long, mpz_class)
-SPECIALIZE_ASSIGN(assign_unsigned_int_mpz, unsigned long long, mpz_class)
+#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);                    \
+    }                                                                   \
+  };
 
-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();
-  DIRTY_TEMP0(mpz_class, q);
-  mpz_ptr _q = q.get_mpz_t();
-  if (round_ignore(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;
-  }
-}
+#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);                \
+    }                                                                   \
+  };
 
-SPECIALIZE_ASSIGN(assign_int_mpq, signed char, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, signed short, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, signed int, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, signed long, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, signed long long, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned char, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned short, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned int, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long, mpq_class)
-SPECIALIZE_ASSIGN(assign_int_mpq, unsigned long long, mpq_class)
+#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);     \
+    }                                                                   \
+  };
 
-#if UCHAR_MAX == 0xff
-#define CHAR_BITS 8
-#else
-#error "Unexpected max for unsigned char"
-#endif
+#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);     \
+    }									\
+};
 
-#if USHRT_MAX == 0xffff
-#define SHRT_BITS 16
-#else
-#error "Unexpected max for unsigned short"
+// The `nonconst' macro helps readability of the sequel.
+#ifdef nonconst
+#define PPL_SAVED_nonconst nonconst
+#undef nonconst
 #endif
+#define nonconst
 
-#if UINT_MAX == 0xffffffff
-#define INT_BITS 32
-#else
-#error "Unexpected max for unsigned int"
+#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, const, From)
+#define PPL_SPECIALIZE_CMP(func, Type1, Type2)                          \
+  PPL_SPECIALIZE_FUN2_0_0(cmp, func, Result, 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, Rounding_Dir)
+#define PPL_SPECIALIZE_CONSTRUCT_SPECIAL(func, Type)                    \
+  PPL_SPECIALIZE_FUN1_0_2(construct_special, func, Result, nonconst,    \
+                          Type, Result, 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_MUL2EXP(func, To, From)                          \
+  PPL_SPECIALIZE_FUN2_0_2(mul2exp, func, Result, nonconst, To,          \
+                          const, From, int, Rounding_Dir)
+#define PPL_SPECIALIZE_DIV2EXP(func, To, From)                          \
+  PPL_SPECIALIZE_FUN2_0_2(div2exp, func, Result, nonconst, To,          \
+                          const, From, 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, const, From)
+PPL_DECLARE_FUN2_0_0(cmp,
+                     Result, 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, Rounding_Dir)
+PPL_DECLARE_FUN1_0_2(construct_special,
+                     Result, nonconst, Type, Result, 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(mul2exp,
+                     Result, nonconst, To, const, From, int, Rounding_Dir)
+PPL_DECLARE_FUN2_0_2(div2exp,
+                     Result, nonconst, To, const, From, 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 code = VC_MINUS_INFINITY;
+};
+struct Plus_Infinity {
+  static const Result code = VC_PLUS_INFINITY;
+};
+struct Not_A_Number {
+  static const Result code = VC_NAN;
+};
+
+template <typename T>
+struct Is_Special : public False { };
+
+template <>
+struct Is_Special<Minus_Infinity> : public True {};
+
+template <>
+struct Is_Special<Plus_Infinity> : public True {};
+
+template <>
+struct Is_Special<Not_A_Number> : public True {};
+
+
+#define MINUS_INFINITY Minus_Infinity()
+#define PLUS_INFINITY Plus_Infinity()
+#define NOT_A_NUMBER Not_A_Number()
+
+#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 {
+  //! Checks for overflowed result.
+  const_bool_nodef(check_overflow, false);
+
+  //! Checks for attempts to add infinities with different sign.
+  const_bool_nodef(check_inf_add_inf, false);
+
+  //! Checks for attempts to subtract infinities with same sign.
+  const_bool_nodef(check_inf_sub_inf, false);
+
+  //! Checks for attempts to multiply infinities by zero.
+  const_bool_nodef(check_inf_mul_zero, false);
+
+  //! Checks for attempts to divide by zero.
+  const_bool_nodef(check_div_zero, false);
+
+  //! Checks for attempts to divide infinities.
+  const_bool_nodef(check_inf_div_inf, false);
+
+  //! Checks for attempts to compute remainder of infinities.
+  const_bool_nodef(check_inf_mod, false);
+
+  //! Checks for attempts to take the square root of a negative number.
+  const_bool_nodef(check_sqrt_neg, false);
+
+  //! Handles not-a-number special value.
+  const_bool_nodef(has_nan, std::numeric_limits<T>::has_quiet_NaN);
+
+  //! Handles infinity special values.
+  const_bool_nodef(has_infinity, std::numeric_limits<T>::has_infinity);
+
+  //! Representation is identical to primitive.
+  const_bool_nodef(convertible, true);
+
+  //! When true, requests to check for FPU inexact result are honored.
+  const_bool_nodef(fpu_check_inexact, false);
+
+  //! Return VC_NAN on NaN result also for native extended.
+  const_bool_nodef(check_nan_result, false);
+  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
+  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
+  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
+  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
+  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 /home/bagnara/ppl/ppl/src/checked.inlines.hh line 1. */
+/* Abstract checked arithmetic functions: fall-backs.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/globals.types.hh line 1. */
+
+
+#include <cstddef>
+
+namespace Parma_Polyhedra_Library {
+
+//! An unsigned integral type for representing space dimensions.
+/*! \ingroup PPL_CXX_interface */
+typedef size_t dimension_type;
+
+//! 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
+};
+
+//! Relation symbols.
+/*! \ingroup PPL_CXX_interface */
+enum Relation_Symbol {
+  //! Less than.
+  LESS_THAN,
+  //! Less than or equal to.
+  LESS_OR_EQUAL,
+  //! Equal to.
+  EQUAL,
+  //! Greater than or equal to.
+  GREATER_OR_EQUAL,
+  //! Greater than.
+  GREATER_THAN,
+  //! Not equal to.
+  NOT_EQUAL
+};
+
+//! 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
+};
+
+//! Possible optimization modes.
+/*! \ingroup PPL_CXX_interface */
+enum Optimization_Mode {
+  //! Minimization is requested.
+  MINIMIZATION,
+  //! Maximization is requested.
+  MAXIMIZATION
+};
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/C_Integer.hh line 1. */
+/* C integers info.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/C_Integer.hh line 27. */
+#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
 #endif
 
-#if ULONG_MAX == 0xffffffffUL
-#define LONG_BITS 32
-#elif ULONG_MAX == 0xffffffffffffffffULL
-#define LONG_BITS 64
-#else
-#error "Unexpected max for unsigned long"
+#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
 
-#if ULLONG_MAX == 0xffffffffffffffffULL
-#define LONG_LONG_BITS 64
-#else
-#error "Unexpected max for unsigned long long"
+#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 {
 
 template <typename T>
-struct Larger;
-
-// 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
+struct C_Integer : public False { };
 
 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;
+struct C_Integer<signed char> : public True {
+  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 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;
+struct C_Integer<signed short> : public True {
+  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 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;
+struct C_Integer<signed int> : public True {
+  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 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;
+struct C_Integer<signed long> : public True {
+  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;
 };
 
 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;
+struct C_Integer<signed long long> : public True {
+  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;
 };
 
 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;
+struct C_Integer<unsigned char> : public True {
+  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;
 };
 
 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;
+struct C_Integer<unsigned short> : public True {
+  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;
 };
 
 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;
+struct C_Integer<unsigned int> : public True {
+  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;
 };
 
 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;
+struct C_Integer<unsigned long> : public True {
+  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;
 };
 
 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;
+struct C_Integer<unsigned long long> : public True {
+  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;
 };
 
-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);
-}
+} // namespace Parma_Polyhedra_Library
 
-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 /home/bagnara/ppl/ppl/src/checked.inlines.hh line 29. */
+#include <cassert>
 
-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);
-}
+namespace Parma_Polyhedra_Library {
 
-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);
-}
+namespace Checked {
 
-template <typename To_Policy, typename From_Policy, typename Type>
+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<To, From> : public True { }
+
+PPL_SAFE_CONVERSION(signed short, signed char);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_SHORT
+PPL_SAFE_CONVERSION(signed short, unsigned char);
+#endif
+
+PPL_SAFE_CONVERSION(signed int, signed char);
+PPL_SAFE_CONVERSION(signed int, signed short);
+#if PPL_SIZEOF_CHAR < PPL_SIZEOF_INT
+PPL_SAFE_CONVERSION(signed int, unsigned char);
+#endif
+#if PPL_SIZEOF_SHORT < PPL_SIZEOF_INT
+PPL_SAFE_CONVERSION(signed int, unsigned short);
+#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
+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_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
+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_SAFE_CONVERSION(unsigned short, unsigned char);
+
+PPL_SAFE_CONVERSION(unsigned int, unsigned char);
+PPL_SAFE_CONVERSION(unsigned int, unsigned short);
+
+PPL_SAFE_CONVERSION(unsigned long, unsigned char);
+PPL_SAFE_CONVERSION(unsigned long, unsigned short);
+PPL_SAFE_CONVERSION(unsigned long, unsigned int);
+
+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);
+
+
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_FLOAT - 2
+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
+
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_DOUBLE - 4
+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);
+
+#if PPL_SIZEOF_CHAR <= PPL_SIZEOF_LONG_DOUBLE - 4
+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_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, 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);
+
+#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;
+  }
+};
+
+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 To_Policy, typename To>
+struct PPL_FUNCTION_CLASS(construct_special) {
+  static inline Result function(To& to, Result r, Rounding_Dir dir) {
+    new (&to) To();
+    return assign_special<To_Policy>(to, r, dir);
+  }
+};
+
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 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;
+assign_exact(To& to, const From& from, Rounding_Dir) {
+  to = from;
   return V_EQ;
 }
 
 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);
+inline typename Enable_If<Is_Same<To_Policy, From_Policy>::value, void>::type
+copy_generic(Type& to, const Type& from) {
   to = from;
-  return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 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;
+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 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;
+neg(Result r) {
+  assert(!is_special(r));
+  Result ret = static_cast<Result>(r & V_EQ);
+  if (r & V_LT)
+    ret = static_cast<Result>(ret | V_GT);
+  if (r & V_GT)
+    ret = static_cast<Result>(ret | V_LT);
+  return ret;
 }
 
-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);
+add(Result r1, Result r2) {
+  assert(!is_special(r1));
+  assert(!is_special(r2));
+  if (r1 == V_EQ)
+    return r2;
+  if (r2 == V_EQ)
+    return r1;
+  if (((r1 & V_LT) && (r2 & V_GT))
+      || ((r1 & V_GT) && (r2 & V_LT)))
+    return V_LGE;
+  return static_cast<Result>((((r1 & r2) & V_EQ) ? V_EQ : 0) |
+			       (r1 & (V_LT | V_GT)));
+}
+
+inline Result
+sub(Result r1, Result r2) {
+  return add(r1, neg(r2));
+}
+
+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 = x - y;
-  return V_EQ;
+  to = nx;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
 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;
+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);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+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
-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;
-  }
+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) {
-    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);
+    if (x == 0) {
+      s = 0;
+      t = 1;
+      return V_EQ;
     }
     else {
-      if (x > Extended_Int<To_Policy, Type>::min / y)
-	return set_neg_overflow_int<To_Policy>(to, dir);
+      if (x < 0)
+	s = -1;
+      else
+	s = 1;
+      t = 0;
+      return abs<To1_Policy, From1_Policy>(to, x, 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);
+
+  s = 1;
+  t = 0;
+  bool negative_x = x < 0;
+  bool negative_y = y < 0;
+
+  Result r;
+  r = abs<To1_Policy, From1_Policy>(to, x, dir);
+  if (r != V_EQ)
+    return r;
+
+  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
+
+  {
+    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;
     }
   }
-  to = x * y;
+
+#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 To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename To, typename From1, typename From2>
 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) {
+lcm_gcd_exact(To& to, const From1& x, const From2& y, Rounding_Dir dir) {
+  if (x == 0 || 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;
+  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);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
+template <typename 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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  if (To_Policy::check_overflow && y == -1)
-    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
-  to = x / y;
-  if (round_ignore(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
+sgn_generic(const Type& x) {
+  if (x > 0)
+    return V_GT;
+  if (x == 0)
     return V_EQ;
+  return V_LT;
 }
 
-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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  to = x / y;
-  if (round_ignore(dir))
-    return V_GE;
-  Type m = x % y;
-  if (m == 0)
-    return V_EQ;
-  return round_gt_int<To_Policy>(to, dir);
+template <typename T1, typename T2, typename Enable = void>
+struct Safe_Int_Comparison : public False {
+};
+
+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)))> {
+};
+
+
+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 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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  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 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 || x < y;
 }
 
-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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  to = x / y;
-  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 < y;
 }
 
-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_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x % y;
-  return V_EQ;
+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 || x <= y;
 }
 
-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_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x % y;
-  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 <= y;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-div2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
-    to = 0;
-    if (round_ignore(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_ignore(dir))
-    return V_GE;
-  if (x & ((static_cast<Type>(1) << exp) - 1))
-    return round_gt_int_no_overflow<To_Policy>(to, dir);
-  else
-    return V_EQ;
+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 && x == y;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-div2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
-  zero:
-    to = 0;
-    if (round_ignore(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 (static_cast<unsigned int>(exp) >= sizeof(Type) * 8 - 1) {
-    if (x == C_Integer<Type>::min) {
-      to = -1;
-      return V_EQ;
-    }
-    goto zero;
-  }
-#if 0
-  to = x / (static_cast<Type>(1) << exp);
-  if (round_ignore(dir))
-    return V_GE;
-  Type r = x % (static_cast<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_ignore(dir))
-    return V_GE;
-  if (x & ((static_cast<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 Type>
-inline Result
-mul2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (!To_Policy::check_overflow) {
-    to = x << exp;
-    return V_EQ;
-  }
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
-    if (x == 0) {
-      to = 0;
-      return V_EQ;
-    }
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  if (x & (((static_cast<Type>(1) << exp) - 1) << (sizeof(Type) * 8 - exp)))
-    return set_pos_overflow_int<To_Policy>(to, dir);
-  Type n = x << exp;
-  if (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 Type>
-inline Result
-mul2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  if (!To_Policy::check_overflow) {
-    to = x << exp;
-    return V_EQ;
-  }
-  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8 - 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 = ((static_cast<Type>(1) << exp) - 1)
-    << (sizeof(Type) * 8 - 1 - exp);
-  Type n;
-  if (x < 0) {
-    if ((x & mask) != mask)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    n = x << exp;
-    if (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 (n > Extended_Int<To_Policy, Type>::max)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-  }
-  to = n;
-  return V_EQ;
-}
-
-template <typename Type>
-inline void
-isqrtrem(Type& q, Type& r, const Type from) {
-  q = 0;
-  r = from;
-  Type t(1);
-  for (t <<= 8 * sizeof(Type) - 2; t != 0; t >>= 2) {
-    Type s = q + t;
-    if (s <= r) {
-      r -= s;
-      q = s + t;
-    }
-    q >>= 1;
-  }
-}
-
-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_ignore(dir))
-    return V_GE;
-  if (rem == 0)
-    return V_EQ;
-  return round_gt_int<To_Policy>(to, dir);
+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 == y;
 }
 
-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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  return sqrt_unsigned_int<To_Policy, From_Policy>(to, from, dir);
+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, static_cast<Rounding_Dir>(ROUND_DIRECT | ROUND_FPU_CHECK_INEXACT));
+  // 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.
+  assert(r != V_LE && r != V_GE && r != V_LGE);
+  return r == V_EQ && x == tmp;
 }
 
-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);
+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);
   switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_LT:
-    if (to <= 0) {
-      to = z;
-      return r;
-    }
-    return assign_special<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW, ROUND_IGNORE);
   case V_POS_OVERFLOW:
-  case V_GT:
-    if (to >= 0) {
-      to = z;
-      return r;
-    }
-    return assign_special<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW, ROUND_IGNORE);
+  case VC_PLUS_INFINITY:
+    return true;
+  case V_EQ:
+  case V_LT:
+  case V_LE:
+    return x < tmp;
   default:
-    return add<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+    return false;
   }
 }
 
-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);
+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_FPU_CHECK_INEXACT));
   switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_LT:
-    if (to >= 0)
-      return set_pos_overflow_int<To_Policy>(to, dir);
-    return V_UNKNOWN_NEG_OVERFLOW;
   case V_POS_OVERFLOW:
-  case V_GT:
-    if (to <= 0)
-      return set_neg_overflow_int<To_Policy>(to, dir);
-    return V_UNKNOWN_POS_OVERFLOW;
+  case VC_PLUS_INFINITY:
+    return true;
+  case V_EQ:
+    return x <= tmp;
+  case V_LT:
+    return x < tmp;
+  case V_LE:
+  case V_GE:
+  case V_LGE:
+    // FIXME: See comment above.
+    assert(0);
   default:
-    return sub<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+    return false;
   }
 }
 
-template <typename Policy, typename Type>
+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 Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline bool
+le_p(const Type1& x, const Type2& y) {
+  return le(x, y);
+}
+
+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 Type1, typename Type2>
 inline Result
-output_char(std::ostream& os, Type& from,
-	    const Numeric_Format&, Rounding_Dir) {
-  os << static_cast<int>(from);
+cmp_generic(const Type1& x, const Type2& y) {
+  if (lt(y, x))
+    return V_GT;
+  if (lt(x, y))
+    return V_LT;
   return V_EQ;
 }
 
 template <typename Policy, typename Type>
 inline Result
-output_int(std::ostream& os, Type& from, const Numeric_Format&, Rounding_Dir) {
-  os << from;
-  return V_EQ;
+input_generic(Type& to, std::istream& is, Rounding_Dir dir) {
+  PPL_DIRTY_TEMP0(mpq_class, q);
+  Result r = input_mpq(q, is);
+  if (is_special(r))
+    return assign_special<Policy>(to, r, dir);
+  if (r == V_EQ)
+    return assign<Policy, void>(to, q, dir);
+  assert(0);
+  return VC_NAN;
 }
 
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed char, signed char)
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed short, signed short)
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed int, signed int)
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long, signed long)
-SPECIALIZE_FLOOR(assign_signed_int_signed_int, signed long long, signed long long)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_FLOOR(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed char, signed char)
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed short, signed short)
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed int, signed int)
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long, signed long)
-SPECIALIZE_CEIL(assign_signed_int_signed_int, signed long long, signed long long)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_CEIL(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed char, signed char)
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed short, signed short)
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed int, signed int)
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long, signed long)
-SPECIALIZE_TRUNC(assign_signed_int_signed_int, signed long long, signed long long)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_TRUNC(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_NEG(neg_signed_int, signed char, signed char)
-SPECIALIZE_NEG(neg_signed_int, signed short, signed short)
-SPECIALIZE_NEG(neg_signed_int, signed int, signed int)
-SPECIALIZE_NEG(neg_signed_int, signed long, signed long)
-SPECIALIZE_NEG(neg_signed_int, signed long long, signed long long)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_NEG(neg_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_ADD(add_signed_int, signed char, signed char, signed char)
-SPECIALIZE_ADD(add_signed_int, signed short, signed short, signed short)
-SPECIALIZE_ADD(add_signed_int, signed int, signed int, signed int)
-SPECIALIZE_ADD(add_signed_int, signed long, signed long, signed long)
-SPECIALIZE_ADD(add_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_ADD(add_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_ADD(add_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_ADD(add_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_ADD(add_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_ADD(add_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_SUB(sub_signed_int, signed char, signed char, signed char)
-SPECIALIZE_SUB(sub_signed_int, signed short, signed short, signed short)
-SPECIALIZE_SUB(sub_signed_int, signed int, signed int, signed int)
-SPECIALIZE_SUB(sub_signed_int, signed long, signed long, signed long)
-SPECIALIZE_SUB(sub_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_SUB(sub_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_MUL(mul_signed_int, signed char, signed char, signed char)
-SPECIALIZE_MUL(mul_signed_int, signed short, signed short, signed short)
-SPECIALIZE_MUL(mul_signed_int, signed int, signed int, signed int)
-SPECIALIZE_MUL(mul_signed_int, signed long, signed long, signed long)
-SPECIALIZE_MUL(mul_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_MUL(mul_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_DIV(div_signed_int, signed char, signed char, signed char)
-SPECIALIZE_DIV(div_signed_int, signed short, signed short, signed short)
-SPECIALIZE_DIV(div_signed_int, signed int, signed int, signed int)
-SPECIALIZE_DIV(div_signed_int, signed long, signed long, signed long)
-SPECIALIZE_DIV(div_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_DIV(div_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_DIV(div_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_DIV(div_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_DIV(div_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_DIV(div_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_IDIV(idiv_signed_int, signed char, signed char, signed char)
-SPECIALIZE_IDIV(idiv_signed_int, signed short, signed short, signed short)
-SPECIALIZE_IDIV(idiv_signed_int, signed int, signed int, signed int)
-SPECIALIZE_IDIV(idiv_signed_int, signed long, signed long, signed long)
-SPECIALIZE_IDIV(idiv_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_IDIV(idiv_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_REM(rem_signed_int, signed char, signed char, signed char)
-SPECIALIZE_REM(rem_signed_int, signed short, signed short, signed short)
-SPECIALIZE_REM(rem_signed_int, signed int, signed int, signed int)
-SPECIALIZE_REM(rem_signed_int, signed long, signed long, signed long)
-SPECIALIZE_REM(rem_signed_int, signed long long, signed long long, signed long long)
-SPECIALIZE_REM(rem_unsigned_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_REM(rem_unsigned_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_REM(rem_unsigned_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_REM(rem_unsigned_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_REM(rem_unsigned_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed char, signed char)
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed short, signed short)
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed int, signed int)
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long, signed long)
-SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long long, signed long long)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed char, signed char)
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed short, signed short)
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed int, signed int)
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long, signed long)
-SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long long, signed long long)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_SQRT(sqrt_signed_int, signed char, signed char)
-SPECIALIZE_SQRT(sqrt_signed_int, signed short, signed short)
-SPECIALIZE_SQRT(sqrt_signed_int, signed int, signed int)
-SPECIALIZE_SQRT(sqrt_signed_int, signed long, signed long)
-SPECIALIZE_SQRT(sqrt_signed_int, signed long long, signed long long)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_SQRT(sqrt_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_ABS(abs_generic, signed char, signed char)
-SPECIALIZE_ABS(abs_generic, signed short, signed short)
-SPECIALIZE_ABS(abs_generic, signed int, signed int)
-SPECIALIZE_ABS(abs_generic, signed long, signed long)
-SPECIALIZE_ABS(abs_generic, signed long long, signed long long)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned char, unsigned char)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned short, unsigned short)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned int, unsigned int)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long, unsigned long)
-SPECIALIZE_ABS(assign_unsigned_int_unsigned_int, unsigned long long, unsigned long long)
-
-SPECIALIZE_GCD(gcd_exact, signed char, signed char, signed char)
-SPECIALIZE_GCD(gcd_exact, signed short, signed short, signed short)
-SPECIALIZE_GCD(gcd_exact, signed int, signed int, signed int)
-SPECIALIZE_GCD(gcd_exact, signed long, signed long, signed long)
-SPECIALIZE_GCD(gcd_exact, signed long long, signed long long, signed long long)
-SPECIALIZE_GCD(gcd_exact, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_GCD(gcd_exact, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_GCD(gcd_exact, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_GCD(gcd_exact, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_GCD(gcd_exact, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_GCDEXT(gcdext_exact, signed char, signed char, signed char, signed char, signed char)
-SPECIALIZE_GCDEXT(gcdext_exact, signed short, signed short, signed short, signed short, signed short)
-SPECIALIZE_GCDEXT(gcdext_exact, signed int, signed int, signed int, signed int, signed int)
-SPECIALIZE_GCDEXT(gcdext_exact, signed long, signed long, signed long, signed long, signed long)
-SPECIALIZE_GCDEXT(gcdext_exact, signed long long, signed long long, signed long long, signed long long, signed long long)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned short, unsigned short, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_GCDEXT(gcdext_exact, unsigned long long, unsigned long long, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_LCM(lcm_gcd_exact, signed char, signed char, signed char)
-SPECIALIZE_LCM(lcm_gcd_exact, signed short, signed short, signed short)
-SPECIALIZE_LCM(lcm_gcd_exact, signed int, signed int, signed int)
-SPECIALIZE_LCM(lcm_gcd_exact, signed long, signed long, signed long)
-SPECIALIZE_LCM(lcm_gcd_exact, signed long long, signed long long, signed long long)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_LCM(lcm_gcd_exact, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_SGN(sgn_generic, signed char)
-SPECIALIZE_SGN(sgn_generic, signed short)
-SPECIALIZE_SGN(sgn_generic, signed int)
-SPECIALIZE_SGN(sgn_generic, signed long)
-SPECIALIZE_SGN(sgn_generic, signed long long)
-SPECIALIZE_SGN(sgn_generic, unsigned char)
-SPECIALIZE_SGN(sgn_generic, unsigned short)
-SPECIALIZE_SGN(sgn_generic, unsigned int)
-SPECIALIZE_SGN(sgn_generic, unsigned long)
-SPECIALIZE_SGN(sgn_generic, unsigned long long)
-
-SPECIALIZE_CMP(cmp_generic, signed char, signed char)
-SPECIALIZE_CMP(cmp_generic, signed short, signed short)
-SPECIALIZE_CMP(cmp_generic, signed int, signed int)
-SPECIALIZE_CMP(cmp_generic, signed long, signed long)
-SPECIALIZE_CMP(cmp_generic, signed long long, signed long long)
-SPECIALIZE_CMP(cmp_generic, unsigned char, unsigned char)
-SPECIALIZE_CMP(cmp_generic, unsigned short, unsigned short)
-SPECIALIZE_CMP(cmp_generic, unsigned int, unsigned int)
-SPECIALIZE_CMP(cmp_generic, unsigned long, unsigned long)
-SPECIALIZE_CMP(cmp_generic, unsigned long long, unsigned long long)
-
-SPECIALIZE_ADD_MUL(add_mul_int, signed char, signed char, signed char)
-SPECIALIZE_ADD_MUL(add_mul_int, signed short, signed short, signed short)
-SPECIALIZE_ADD_MUL(add_mul_int, signed int, signed int, signed int)
-SPECIALIZE_ADD_MUL(add_mul_int, signed long, signed long, signed long)
-SPECIALIZE_ADD_MUL(add_mul_int, signed long long, signed long long, signed long long)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_ADD_MUL(add_mul_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_SUB_MUL(sub_mul_int, signed char, signed char, signed char)
-SPECIALIZE_SUB_MUL(sub_mul_int, signed short, signed short, signed short)
-SPECIALIZE_SUB_MUL(sub_mul_int, signed int, signed int, signed int)
-SPECIALIZE_SUB_MUL(sub_mul_int, signed long, signed long, signed long)
-SPECIALIZE_SUB_MUL(sub_mul_int, signed long long, signed long long, signed long long)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned char, unsigned char, unsigned char)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned short, unsigned short, unsigned short)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned int, unsigned int, unsigned int)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long, unsigned long, unsigned long)
-SPECIALIZE_SUB_MUL(sub_mul_int, unsigned long long, unsigned long long, unsigned long long)
-
-SPECIALIZE_INPUT(input_generic, signed char)
-SPECIALIZE_INPUT(input_generic, signed short)
-SPECIALIZE_INPUT(input_generic, signed int)
-SPECIALIZE_INPUT(input_generic, signed long)
-SPECIALIZE_INPUT(input_generic, signed long long)
-SPECIALIZE_INPUT(input_generic, unsigned char)
-SPECIALIZE_INPUT(input_generic, unsigned short)
-SPECIALIZE_INPUT(input_generic, unsigned int)
-SPECIALIZE_INPUT(input_generic, unsigned long)
-SPECIALIZE_INPUT(input_generic, unsigned long long)
-
-SPECIALIZE_OUTPUT(output_char, signed char)
-SPECIALIZE_OUTPUT(output_int, signed short)
-SPECIALIZE_OUTPUT(output_int, signed int)
-SPECIALIZE_OUTPUT(output_int, signed long)
-SPECIALIZE_OUTPUT(output_int, signed long long)
-SPECIALIZE_OUTPUT(output_char, unsigned char)
-SPECIALIZE_OUTPUT(output_int, unsigned short)
-SPECIALIZE_OUTPUT(output_int, unsigned int)
-SPECIALIZE_OUTPUT(output_int, unsigned long)
-SPECIALIZE_OUTPUT(output_int, unsigned long long)
-
 } // namespace Checked
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/checked_float.inlines.hh line 1. */
-/* Specialized "checked" functions for native floating-point numbers.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_int.inlines.hh line 1. */
+/* Specialized "checked" functions for native integer numbers.
 */
 
 
-#ifndef __alpha
-#include <cmath>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_int.inlines.hh line 27. */
+#include <cerrno>
+#include <cstdlib>
+#include <climits>
+#include <string>
+
+#if !PPL_HAVE_DECL_STRTOLL
+signed long long
+strtoll(const char* nptr, char** endptr, int base);
+#endif
+
+#if !PPL_HAVE_DECL_STRTOULL
+unsigned long long
+strtoull(const char* nptr, char** endptr, int base);
 #endif
 
 namespace Parma_Polyhedra_Library {
 
 namespace Checked {
 
-inline float
-fma(float x, float y, float z) {
-#if PPL_HAVE_DECL_FMAF && !defined(__alpha)
-  return ::fmaf(x, y, z);
-#else
-  return x*y + z;
+#ifndef PPL_HAVE_INT_FAST16_T
+typedef int16_t int_fast16_t;
 #endif
-}
 
-inline double
-fma(double x, double y, double z) {
-#if PPL_HAVE_DECL_FMA && !defined(__alpha)
-  return ::fma(x, y, z);
-#else
-  return x*y + z;
+#ifndef PPL_HAVE_INT_FAST32_T
+typedef int32_t int_fast32_t;
 #endif
-}
 
-inline long double
-fma(long double x, long double y, long double z) {
-#if PPL_HAVE_DECL_FMAL && !defined(__alpha)
-  return ::fmal(x, y, z);
-#else
-  return x*y + z;
+#ifndef PPL_HAVE_INT_FAST64_T
+typedef int64_t int_fast64_t;
 #endif
-}
 
-#if PPL_HAVE_DECL_RINTF
-inline float
-rint(float x) {
-  return ::rintf(x);
-}
+#ifndef PPL_HAVE_UINT_FAST16_T
+typedef uint16_t uint_fast16_t;
 #endif
 
-inline double
-rint(double x) {
-  return ::rint(x);
-}
+#ifndef PPL_HAVE_UINT_FAST32_T
+typedef uint32_t uint_fast32_t;
+#endif
 
-#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;
-}
+#ifndef PPL_HAVE_UINT_FAST64_T
+typedef uint64_t uint_fast64_t;
 #endif
 
-inline bool
-fpu_direct_rounding(Rounding_Dir dir) {
-  return round_direct(dir) || round_ignore(dir);
+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));
+};
+
+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;
+  }
+  else {
+    if (Policy::has_infinity) {
+      to = Extended_Int<Policy, To>::minus_infinity;
+      return V_GT;
+    }
+    return V_NEG_OVERFLOW;
+  }
 }
 
-inline bool
-fpu_inverse_rounding(Rounding_Dir dir) {
-  return round_inverse(dir);
+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;
+  }
+  else {
+    if (Policy::has_infinity) {
+      to = Extended_Int<Policy, To>::plus_infinity;
+      return V_LT;
+    }
+    return V_POS_OVERFLOW;
+  }
 }
 
-// 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.
+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 void
-limit_precision(const float& v) {
-  cc_flush(v);
+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 void
-limit_precision(const double& v) {
-  cc_flush(v);
+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;
+      }
+      return V_NEG_OVERFLOW;
+    }
+    else {
+      --to;
+      return V_GT;
+    }
+  }
+  return V_LT;
 }
 
-inline void
-limit_precision(const long double&) {
+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;
+      }
+      return V_POS_OVERFLOW;
+    }
+    else {
+      ++to;
+      return V_LT;
+    }
+  }
+  return V_GT;
 }
 
-template <typename Policy, typename T>
+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 Policy, typename Type>
 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()))
+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 VC_NAN;
-  if (inf) {
-    int i = CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
-    if (i < 0)
-      return VC_MINUS_INFINITY;
-    if (i > 0)
-      return VC_PLUS_INFINITY;
+  if (!inf & !sign)
+    return VC_NORMAL;
+  if (Policy::has_infinity) {
+    if (v == Extended_Int<Policy, Type>::minus_infinity)
+      return inf ? VC_MINUS_INFINITY : V_LT;
+    if (v == Extended_Int<Policy, Type>::plus_infinity)
+      return inf ? VC_PLUS_INFINITY : V_GT;
   }
   if (sign) {
     if (v < 0)
@@ -6082,11483 +4882,12596 @@ classify_float(const T v, bool nan, bool inf, bool sign) {
   return VC_NORMAL;
 }
 
-template <typename Policy, typename T>
+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_float(const T v) {
-  Float<T> f(v);
-  return CHECK_P(Policy::has_nan, f.u.binary.is_nan());
+is_nan_int(const Type v) {
+  return Policy::has_nan && v == Extended_Int<Policy, Type>::not_a_number;
 }
 
-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;
-}
+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 Policy, typename T>
+template <typename Policy, typename Type>
 inline bool
-is_pinf_float(const T v) {
-  return is_inf_float<Policy>(v) > 0;
+is_minf_int(const Type v) {
+  return Policy::has_infinity
+    && v == Extended_Int<Policy, Type>::minus_infinity;
 }
 
+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 Policy, typename T>
+template <typename Policy, typename Type>
 inline bool
-is_int_float(const T v) {
-  return rint(v) == v;
-}
-
-template <typename Policy, typename T>
-inline Result
-assign_special_float(T& v, Result r, Rounding_Dir) {
-  switch (classify(r)) {
-  case VC_MINUS_INFINITY:
-    v = -HUGE_VAL;
-    break;
-  case VC_PLUS_INFINITY:
-    v = HUGE_VAL;
-    break;
-  case VC_NAN:
-    v = NAN;
-    return r;
-  default:
-    break;
-  }
-  return V_EQ;
-}
-
-template <typename T>
-inline void
-pred_float(T& v) {
-  Float<T> f(v);
-  assert(!f.u.binary.is_nan());
-  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();
-}
-
-template <typename T>
-inline void
-succ_float(T& v) {
-  Float<T> f(v);
-  assert(!f.u.binary.is_nan());
-  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();
+is_pinf_int(const Type v) {
+  return Policy::has_infinity
+    && v == Extended_Int<Policy, Type>::plus_infinity;
 }
 
-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;
-}
+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 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;
+template <typename Policy, typename Type>
+inline bool
+is_int_int(const Type v) {
+  return !is_nan<Policy>(v);
 }
 
+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 Policy>
-inline void
-prepare_inexact(Rounding_Dir dir) {
-  if (Policy::fpu_check_inexact && round_fpu_check_inexact(dir))
-    fpu_reset_inexact();
-}
-
-template <typename Policy>
+template <typename Policy, typename Type>
 inline Result
-result_relation(Rounding_Dir dir) {
-  if (Policy::fpu_check_inexact && round_fpu_check_inexact(dir)) {
-    switch (fpu_check_inexact()) {
-    case 0:
+assign_special_int(Type& v, Result r, Rounding_Dir dir) {
+  Result t = classify(r);
+  switch (t) {
+  case VC_NAN:
+    if (Policy::has_nan)
+      v = Extended_Int<Policy, Type>::not_a_number;
+    break;
+  case VC_MINUS_INFINITY:
+    if (Policy::has_infinity) {
+      v = Extended_Int<Policy, Type>::minus_infinity;
       return V_EQ;
-    case -1:
-      goto unknown;
-    case 1:
-      break;
     }
-    switch (round_dir(dir)) {
-    case ROUND_DOWN:
-      return V_GT;
-    case ROUND_UP:
+    if (round_up(dir)) {
+      v = Extended_Int<Policy, Type>::min;
       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;
+    break;
+  case VC_PLUS_INFINITY:
+    if (Policy::has_infinity) {
+      v = Extended_Int<Policy, Type>::plus_infinity;
+      return V_EQ;
+    }
+    if (round_down(dir)) {
+      v = Extended_Int<Policy, Type>::max;
+      return V_GT;
     }
+    break;
+  default:
+    assert(0);
+    break;
   }
+  return r;
 }
 
+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 From_Policy, typename To, typename From>
 inline Result
-assign_float_float_exact(To& to, const From from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  to = from;
+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,
+		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,
+		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
+      return set_pos_overflow_int<To_Policy>(to, dir);
+  }
+  to = To(from);
   return V_EQ;
 }
 
 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::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);
+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);
   }
-  return result_relation<To_Policy>(dir);
+  to = To(from);
+  return V_EQ;
 }
 
 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);
-}
-
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-floor_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::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);
+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 = To(from);
   return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 inline Result
-ceil_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::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);
+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,
+		from > static_cast<From>(Extended_Int<To_Policy, To>::max)))
+      return set_pos_overflow_int<To_Policy>(to, dir);
   }
+  to = To(from);
   return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
+
+#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)
+
+#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)
+
+#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)
+
+#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)
+
+#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_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)
+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)
+
+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)
+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)
+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)
+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
-trunc_float(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+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);
-  if (from >= 0)
-    return floor<To_Policy, From_Policy>(to, from, dir);
+  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
+  From i_from = rint(from);
+  to = static_cast<To>(i_from);
+  if (round_ignore(dir))
+    return V_LGE;
+  if (from < i_from)
+    return round_lt_int<To_Policy>(to, dir);
+  else if (from > i_from)
+    return round_gt_int<To_Policy>(to, dir);
   else
-    return ceil<To_Policy, From_Policy>(to, from, dir);
+    return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy, typename Type>
-inline Result
-neg_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  to = -from;
-  return V_EQ;
-}
+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)
+
+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_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)
+
+#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 From1_Policy, typename From2_Policy,
-	  typename Type>
+template <typename To_Policy, typename From_Policy, typename To>
 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_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
-  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;
+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 (v < C_Integer<To>::min)
+	return set_neg_overflow_int<To_Policy>(to, dir);
+      if (v > C_Integer<To>::max)
+	return set_pos_overflow_int<To_Policy>(to, dir);
+      to = v;
+      return V_EQ;
+    }
   }
   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);
+    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;
+      }
+    }
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
+  return ::sgn(from) < 0
+    ? set_neg_overflow_int<To_Policy>(to, dir)
+    : set_pos_overflow_int<To_Policy>(to, dir);
 }
 
-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_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
-  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::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
-}
+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 From1_Policy, typename From2_Policy,
-	  typename Type>
+template <typename To_Policy, typename From_Policy, typename To>
 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_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-  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;
+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 (v > C_Integer<To>::max)
+	return set_pos_overflow_int<To_Policy>(to, dir);
+      to = v;
+      return V_EQ;
+    }
   }
   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);
+    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;
+    }
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
+  return set_pos_overflow_int<To_Policy>(to, dir);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename Type>
+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 To_Policy, typename From_Policy, typename To>
 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_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
-  if (To_Policy::check_div_zero && y == 0)
-    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  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;
+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_ignore(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;
   }
-  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);
+  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;
   }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
 }
 
-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 (is_special(r)) {
-    to = temp;
-    return r;
-  }
-  Result r1 = trunc<To_Policy, To_Policy>(to, temp, ROUND_NOT_NEEDED);
-  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;
-}
+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)
 
-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_special<To_Policy>(to, V_INF_MOD, ROUND_IGNORE);
-  if (To_Policy::check_div_zero && y == 0)
-    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = std::fmod(x, y);
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return V_EQ;
-}
+#if UCHAR_MAX == 0xff
+#define CHAR_BITS 8
+#else
+#error "Unexpected max for unsigned char"
+#endif
 
-struct Float_2exp {
-  const_bool_nodef(has_nan, false);
-  const_bool_nodef(has_infinity, false);
+#if USHRT_MAX == 0xffff
+#define SHRT_BITS 16
+#else
+#error "Unexpected max for unsigned short"
+#endif
+
+#if UINT_MAX == 0xffffffff
+#define INT_BITS 32
+#else
+#error "Unexpected max for unsigned int"
+#endif
+
+#if ULONG_MAX == 0xffffffffUL
+#define LONG_BITS 32
+#elif ULONG_MAX == 0xffffffffffffffffULL
+#define LONG_BITS 64
+#else
+#error "Unexpected max for unsigned long"
+#endif
+
+#if ULLONG_MAX == 0xffffffffffffffffULL
+#define LONG_LONG_BITS 64
+#else
+#error "Unexpected max for unsigned long long"
+#endif
+
+
+template <typename T>
+struct Larger;
+
+// 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
+
+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;
+};
+
+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 <>
+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;
+};
+
+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 <>
+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 <>
+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 <>
+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
-mul2exp_float(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  assert(static_cast<unsigned int>(exp) < sizeof(unsigned long long) * 8);
-  return mul<To_Policy, From_Policy, Float_2exp>(to, x, static_cast<Type>(1ULL << exp), dir);
+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 Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-div2exp_float(Type& to, const Type x, int exp, Rounding_Dir dir) {
-  if (To_Policy::check_nan_result && is_nan<From_Policy>(x))
-    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  assert(static_cast<unsigned int>(exp) < sizeof(unsigned long long) * 8);
-  return div<To_Policy, From_Policy, Float_2exp>(to, x, static_cast<Type>(1ULL << exp), 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 Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-abs_float(Type& to, const Type from, Rounding_Dir) {
-  if (To_Policy::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;
+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 Type>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-sqrt_float(Type& to, const Type from, Rounding_Dir dir) {
-  if (To_Policy::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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  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);
+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 Policy, typename Type>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-sgn_float(const Type x) {
-  return classify<Policy>(x, false, false, true);
+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 Policy1, typename Policy2, typename Type>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-cmp_float(const Type x, const Type y) {
-  if (x > y)
-    return V_GT;
-  if (x < y)
-    return V_LT;
-  if (x == y)
-    return V_EQ;
-  return V_UNORD_COMP;
+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
-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);
+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);
   }
-  return result_relation<To_Policy>(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
-assign_float_int(To& to, const From from, Rounding_Dir dir) {
-  if (sizeof(From) * 8 > 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);
+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 Policy, typename T>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 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;
+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);
     }
-  default:
-    to = -HUGE_VAL;
-    return V_GT;
+    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 Policy, typename T>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 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;
-    }
-  default:
-    to = HUGE_VAL;
-    return V_LT;
-  }
+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 From_Policy, typename T>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 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) {
+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;
   }
-  size_t exponent = mpz_sizeinbase(from, 2) - 1;
-  if (exponent > static_cast<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);
+  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);
+    }
   }
-  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(to);
-  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);
-    else
-      return round_gt_float<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 To_Policy, typename From_Policy, typename T>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 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 > static_cast<signed int>(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)
-    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;
-  }
-  else if (shift < 0) {
-    mpz_mul_2exp(mantissa, den, -shift);
-    den = mantissa;
-  }
-  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_div_2exp(mantissa, mantissa, 1);
-  }
-  else
-    --exponent;
-  if (exponent > static_cast<signed int>(Float<T>::Binary::EXPONENT_MAX)) {
-    mpz_clear(mantissa);
-    goto overflow;
+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 (exponent < Float<T>::Binary::EXPONENT_MIN - 1) {
-    // Denormalized.
-    exponent = Float<T>::Binary::EXPONENT_MIN - 1;
+  if (y == 0) {
+    to = 0;
+    return V_EQ;
   }
-  Float<T> f(to);
-  f.u.binary.build(sign < 0, mantissa, exponent);
-  mpz_clear(mantissa);
-  to = f.value();
-  if (inexact)
-    goto inexact;
+  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 Type>
+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_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-  // 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;
-  }
-  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);
-  }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
+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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (To_Policy::check_overflow && y == -1)
+    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
+  to = x / y;
+  if (round_ignore(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 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_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-  // 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;
-  }
-  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);
-  }
-  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
-    return VC_NAN;
-  return result_relation<To_Policy>(dir);
+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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  to = x / y;
+  if (round_ignore(dir))
+    return V_GE;
+  Type m = x % y;
+  if (m == 0)
+    return V_EQ;
+  return round_gt_int<To_Policy>(to, dir);
 }
 
-template <typename Policy, typename Type>
+template <typename To_Policy, typename From1_Policy, typename From2_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);
-  }
+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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  if (To_Policy::check_overflow && y == -1)
+    return neg_signed_int<To_Policy, From1_Policy>(to, x, dir);
+  to = x / y;
   return V_EQ;
 }
 
-#if PPL_SUPPORTED_FLOAT
-SPECIALIZE_ASSIGN(assign_float_float_exact, float, float)
-#if PPL_SUPPORTED_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float, float, double)
-SPECIALIZE_ASSIGN(assign_float_float_exact, double, float)
-#endif
-#if PPL_SUPPORTED_LONG_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float, float, long double)
-SPECIALIZE_ASSIGN(assign_float_float_exact, long double, float)
-#endif
-#endif
-
-#if PPL_SUPPORTED_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float_exact, double, double)
-#if PPL_SUPPORTED_LONG_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float, double, long double)
-SPECIALIZE_ASSIGN(assign_float_float_exact, long double, double)
-#endif
-#endif
-
-#if PPL_SUPPORTED_LONG_DOUBLE
-SPECIALIZE_ASSIGN(assign_float_float_exact, long double, long double)
-#endif
-
-#if PPL_SUPPORTED_FLOAT
-SPECIALIZE_CLASSIFY(classify_float, float)
-SPECIALIZE_IS_NAN(is_nan_float, float)
-SPECIALIZE_IS_MINF(is_minf_float, float)
-SPECIALIZE_IS_PINF(is_pinf_float, float)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, float)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed char)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed short)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed int)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed long)
-SPECIALIZE_ASSIGN(assign_float_int, float, signed long long)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned char)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned short)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned int)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long)
-SPECIALIZE_ASSIGN(assign_float_int, float, unsigned long long)
-SPECIALIZE_ASSIGN(assign_float_mpz, float, mpz_class)
-SPECIALIZE_ASSIGN(assign_float_mpq, float, mpq_class)
-SPECIALIZE_COPY(copy_generic, float)
-SPECIALIZE_IS_INT(is_int_float, float)
-SPECIALIZE_FLOOR(floor_float, float, float)
-SPECIALIZE_CEIL(ceil_float, float, float)
-SPECIALIZE_TRUNC(trunc_float, float, float)
-SPECIALIZE_NEG(neg_float, float, float)
-SPECIALIZE_ABS(abs_float, float, float)
-SPECIALIZE_ADD(add_float, float, float, float)
-SPECIALIZE_SUB(sub_float, float, float, float)
-SPECIALIZE_MUL(mul_float, float, float, float)
-SPECIALIZE_DIV(div_float, float, float, float)
-SPECIALIZE_REM(rem_float, float, float, float)
-SPECIALIZE_MUL2EXP(mul2exp_float, float, float)
-SPECIALIZE_DIV2EXP(div2exp_float, float, float)
-SPECIALIZE_SQRT(sqrt_float, float, float)
-SPECIALIZE_GCD(gcd_exact, float, float, float)
-SPECIALIZE_GCDEXT(gcdext_exact, float, float, float, float, float)
-SPECIALIZE_LCM(lcm_gcd_exact, float, float, float)
-SPECIALIZE_SGN(sgn_float, float)
-SPECIALIZE_CMP(cmp_float, float, float)
-SPECIALIZE_ADD_MUL(add_mul_float, float, float, float)
-SPECIALIZE_SUB_MUL(sub_mul_float, float, float, float)
-SPECIALIZE_INPUT(input_generic, float)
-SPECIALIZE_OUTPUT(output_float, float)
-#endif
-
-#if PPL_SUPPORTED_DOUBLE
-SPECIALIZE_CLASSIFY(classify_float, double)
-SPECIALIZE_IS_NAN(is_nan_float, double)
-SPECIALIZE_IS_MINF(is_minf_float, double)
-SPECIALIZE_IS_PINF(is_pinf_float, double)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, double)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed char)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed short)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed int)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed long)
-SPECIALIZE_ASSIGN(assign_float_int, double, signed long long)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned char)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned short)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned int)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long)
-SPECIALIZE_ASSIGN(assign_float_int, double, unsigned long long)
-SPECIALIZE_ASSIGN(assign_float_mpz, double, mpz_class)
-SPECIALIZE_ASSIGN(assign_float_mpq, double, mpq_class)
-SPECIALIZE_COPY(copy_generic, double)
-SPECIALIZE_IS_INT(is_int_float, double)
-SPECIALIZE_FLOOR(floor_float, double, double)
-SPECIALIZE_CEIL(ceil_float, double, double)
-SPECIALIZE_TRUNC(trunc_float, double, double)
-SPECIALIZE_NEG(neg_float, double, double)
-SPECIALIZE_ABS(abs_float, double, double)
-SPECIALIZE_ADD(add_float, double, double, double)
-SPECIALIZE_SUB(sub_float, double, double, double)
-SPECIALIZE_MUL(mul_float, double, double, double)
-SPECIALIZE_DIV(div_float, double, double, double)
-SPECIALIZE_REM(rem_float, double, double, double)
-SPECIALIZE_MUL2EXP(mul2exp_float, double, double)
-SPECIALIZE_DIV2EXP(div2exp_float, double, double)
-SPECIALIZE_SQRT(sqrt_float, double, double)
-SPECIALIZE_GCD(gcd_exact, double, double, double)
-SPECIALIZE_GCDEXT(gcdext_exact, double, double, double, double, double)
-SPECIALIZE_LCM(lcm_gcd_exact, double, double, double)
-SPECIALIZE_SGN(sgn_float, double)
-SPECIALIZE_CMP(cmp_float, double, double)
-SPECIALIZE_ADD_MUL(add_mul_float, double, double, double)
-SPECIALIZE_SUB_MUL(sub_mul_float, double, double, double)
-SPECIALIZE_INPUT(input_generic, double)
-SPECIALIZE_OUTPUT(output_float, double)
-#endif
-
-#if PPL_SUPPORTED_LONG_DOUBLE
-SPECIALIZE_CLASSIFY(classify_float, long double)
-SPECIALIZE_IS_NAN(is_nan_float, long double)
-SPECIALIZE_IS_MINF(is_minf_float, long double)
-SPECIALIZE_IS_PINF(is_pinf_float, long double)
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_float, long double)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed char)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed short)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed int)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed long)
-SPECIALIZE_ASSIGN(assign_float_int, long double, signed long long)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned char)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned short)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned int)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long)
-SPECIALIZE_ASSIGN(assign_float_int, long double, unsigned long long)
-SPECIALIZE_ASSIGN(assign_float_mpz, long double, mpz_class)
-SPECIALIZE_ASSIGN(assign_float_mpq, long double, mpq_class)
-SPECIALIZE_COPY(copy_generic, long double)
-SPECIALIZE_IS_INT(is_int_float, long double)
-SPECIALIZE_FLOOR(floor_float, long double, long double)
-SPECIALIZE_CEIL(ceil_float, long double, long double)
-SPECIALIZE_TRUNC(trunc_float, long double, long double)
-SPECIALIZE_NEG(neg_float, long double, long double)
-SPECIALIZE_ABS(abs_float, long double, long double)
-SPECIALIZE_ADD(add_float, long double, long double, long double)
-SPECIALIZE_SUB(sub_float, long double, long double, long double)
-SPECIALIZE_MUL(mul_float, long double, long double, long double)
-SPECIALIZE_DIV(div_float, long double, long double, long double)
-SPECIALIZE_REM(rem_float, long double, long double, long double)
-SPECIALIZE_MUL2EXP(mul2exp_float, long double, long double)
-SPECIALIZE_DIV2EXP(div2exp_float, long double, long double)
-SPECIALIZE_SQRT(sqrt_float, long double, long double)
-SPECIALIZE_GCD(gcd_exact, long double, long double, long double)
-SPECIALIZE_GCDEXT(gcdext_exact, long double, long double, long double,
-		  long double, long double)
-SPECIALIZE_LCM(lcm_gcd_exact, long double, long double, long double)
-SPECIALIZE_SGN(sgn_float, long double)
-SPECIALIZE_CMP(cmp_float, long double, long double)
-SPECIALIZE_ADD_MUL(add_mul_float, long double, long double, long double)
-SPECIALIZE_SUB_MUL(sub_mul_float, long double, long double, long double)
-SPECIALIZE_INPUT(input_generic, long double)
-SPECIALIZE_OUTPUT(output_float, long double)
-#endif
-
-} // namespace Checked
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/checked_mpz.inlines.hh line 1. */
-/* Specialized "checked" functions for GMP's mpz_class numbers.
-*/
-
-
-#include <sstream>
-
-namespace Parma_Polyhedra_Library {
+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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  to = x / y;
+  return V_EQ;
+}
 
-namespace Checked {
+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_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  to = x % y;
+  return V_EQ;
+}
 
-template <typename Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 inline Result
-round_lt_mpz(mpz_class& to, Rounding_Dir dir) {
-  if (round_down(dir)) {
-    --to;
-    return V_GT;
-  }
-  return V_LT;
+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_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  to = x % y;
+  return V_EQ;
 }
 
-template <typename Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-round_gt_mpz(mpz_class& to, Rounding_Dir dir) {
-  if (round_up(dir)) {
-    ++to;
-    return V_LT;
+div2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
+  if (exp < 0)
+    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
+    to = 0;
+    if (round_ignore(dir))
+      return V_GE;
+    if (x == 0)
+      return V_EQ;
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
   }
-  return V_GT;
+  to = x >> exp;
+  if (round_ignore(dir))
+    return V_GE;
+  if (x & ((static_cast<Type>(1) << exp) - 1))
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  else
+    return V_EQ;
 }
 
-#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;
+template <typename To_Policy, typename From_Policy, typename Type>
+inline Result
+div2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
+  if (exp < 0)
+    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
+  zero:
+    to = 0;
+    if (round_ignore(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 (static_cast<unsigned int>(exp) >= sizeof(Type) * 8 - 1) {
+    if (x == C_Integer<Type>::min) {
+      to = -1;
+      return V_EQ;
+    }
+    goto zero;
+  }
+#if 0
+  to = x / (static_cast<Type>(1) << exp);
+  if (round_ignore(dir))
+    return V_GE;
+  Type r = x % (static_cast<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
-//! This is assumed to be the type of the _mp_size field of GMP's __mpz_struct.
-typedef int mp_size_field_t;
+  // Faster but compiler implementation dependent (see C++98 5.8.3)
+  to = x >> exp;
+  if (round_ignore(dir))
+    return V_GE;
+  if (x & ((static_cast<Type>(1) << exp) - 1))
+    return round_gt_int_no_overflow<To_Policy>(to, dir);
+  return V_EQ;
 #endif
-
-inline mp_size_field_t
-get_mp_size(const mpz_class &v) {
-  return v.get_mpz_t()->_mp_size;
 }
 
-inline void
-set_mp_size(mpz_class &v, mp_size_field_t size) {
-  v.get_mpz_t()->_mp_size = size;
-}
-
-template <typename Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 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 VC_NAN;
-    if (!inf && !sign)
-      return VC_NORMAL;
-    if (Policy::has_infinity) {
-      if (s == C_Integer<mp_size_field_t>::min)
-	return inf ? VC_MINUS_INFINITY : V_LT;
-      if (s == C_Integer<mp_size_field_t>::max)
-	return inf ? VC_PLUS_INFINITY : V_GT;
+mul2exp_unsigned_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
+  if (exp < 0)
+    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+  if (!To_Policy::check_overflow) {
+    to = x << exp;
+    return V_EQ;
+  }
+  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8) {
+    if (x == 0) {
+      to = 0;
+      return V_EQ;
     }
+    return set_pos_overflow_int<To_Policy>(to, dir);
   }
-  if (sign)
-    return sgn<Policy>(v);
-  return VC_NORMAL;
-}
-
-SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
-
-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;
-}
-
-SPECIALIZE_IS_NAN(is_nan_mpz, mpz_class)
-
-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;
-}
-
-SPECIALIZE_IS_MINF(is_minf_mpz, mpz_class)
-
-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;
-}
-
-SPECIALIZE_IS_PINF(is_pinf_mpz, mpz_class)
-
-template <typename Policy>
-inline bool
-is_int_mpz(const mpz_class& v) {
-  return !is_nan<Policy>(v);
+  if (x & (((static_cast<Type>(1) << exp) - 1) << (sizeof(Type) * 8 - exp)))
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  Type n = x << exp;
+  if (n > Extended_Int<To_Policy, Type>::max)
+    return set_pos_overflow_int<To_Policy>(to, dir);
+  to = n;
+  return V_EQ;
 }
 
-SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
-
-template <typename Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-assign_special_mpz(mpz_class& v, Result r, Rounding_Dir) {
-  Result c = classify(r);
-  if (Policy::has_nan && c == VC_NAN)
-    set_mp_size(v, C_Integer<mp_size_field_t>::min + 1);
-  else if (Policy::has_infinity) {
-    switch (c) {
-    case VC_MINUS_INFINITY:
-      set_mp_size(v, C_Integer<mp_size_field_t>::min);
-      return V_EQ;
-    case VC_PLUS_INFINITY:
-      set_mp_size(v, C_Integer<mp_size_field_t>::max);
+mul2exp_signed_int(Type& to, const Type x, int exp, Rounding_Dir dir) {
+  if (exp < 0)
+    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+  if (!To_Policy::check_overflow) {
+    to = x << exp;
+    return V_EQ;
+  }
+  if (static_cast<unsigned int>(exp) >= sizeof(Type) * 8 - 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;
-    default:
-      break;
     }
   }
-  return r;
+  Type mask = ((static_cast<Type>(1) << exp) - 1)
+    << (sizeof(Type) * 8 - 1 - exp);
+  Type n;
+  if (x < 0) {
+    if ((x & mask) != mask)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    n = x << exp;
+    if (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 (n > Extended_Int<To_Policy, Type>::max)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+  }
+  to = n;
+  return V_EQ;
 }
 
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename Type>
 inline void
-copy_mpz(mpz_class& to, const mpz_class& from) {
-  if (is_nan_mpz<From_Policy>(from))
-    assert(To_Policy::has_nan);
-  else if (is_minf_mpz<From_Policy>(from) || is_pinf_mpz<From_Policy>(from))
-    assert(To_Policy::has_infinity);
-  else {
-    to = from;
-    return;
+isqrtrem(Type& q, Type& r, const Type from) {
+  q = 0;
+  r = from;
+  Type t(1);
+  for (t <<= 8 * sizeof(Type) - 2; t != 0; t >>= 2) {
+    Type s = q + t;
+    if (s <= r) {
+      r -= s;
+      q = s + t;
+    }
+    q >>= 1;
   }
-  set_mp_size(to, get_mp_size(from));
 }
 
-SPECIALIZE_COPY(copy_mpz, mpz_class)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-construct_mpz_base(mpz_class& to, const From from, Rounding_Dir) {
-    new (&to) mpz_class(from);
+sqrt_unsigned_int(Type& to, const Type from, Rounding_Dir dir) {
+  Type rem;
+  isqrtrem(to, rem, from);
+  if (round_ignore(dir))
+    return V_GE;
+  if (rem == 0)
     return V_EQ;
+  return round_gt_int<To_Policy>(to, dir);
 }
 
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed char)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed short)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed int)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, signed long)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned char)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned short)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned int)
-SPECIALIZE_CONSTRUCT(construct_mpz_base, mpz_class, unsigned long)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename To_Policy, typename From_Policy, typename Type>
 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_ignore(dir)) {
-    new (&to) mpz_class(from);
-    return V_LGE;
-  }
-  From n = rint(from);
-  new (&to) mpz_class(n);
-  if (from < n)
-    return round_lt_mpz<To_Policy>(to, dir);
-  else if (from > n)
-    return round_gt_mpz<To_Policy>(to, dir);
-  else
-    return V_EQ;
+sqrt_signed_int(Type& to, const Type from, Rounding_Dir dir) {
+  if (CHECK_P(To_Policy::check_sqrt_neg, from < 0))
+    return assign_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+  return sqrt_unsigned_int<To_Policy, From_Policy>(to, from, dir);
 }
 
-SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
-SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, double)
-
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, mpz_class)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed char)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed short)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed int)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, signed long)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned char)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned short)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned int)
-SPECIALIZE_ASSIGN(assign_exact, mpz_class, unsigned long)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy, typename Type>
 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);
+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 (r) {
+  case V_NEG_OVERFLOW:
+  case V_LT:
+    if (to <= 0) {
+      to = z;
+      return r;
+    }
+    return assign_special<To_Policy>(to, V_UNKNOWN_NEG_OVERFLOW, ROUND_IGNORE);
+  case V_POS_OVERFLOW:
+  case V_GT:
+    if (to >= 0) {
+      to = z;
+      return r;
     }
+    return assign_special<To_Policy>(to, V_UNKNOWN_POS_OVERFLOW, ROUND_IGNORE);
+  default:
+    return add<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
   }
-  return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_signed_int, mpz_class, signed long long)
+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 (r) {
+  case V_NEG_OVERFLOW:
+  case V_LT:
+    if (to >= 0)
+      return set_pos_overflow_int<To_Policy>(to, dir);
+    return V_UNKNOWN_NEG_OVERFLOW;
+  case V_POS_OVERFLOW:
+  case V_GT:
+    if (to <= 0)
+      return set_neg_overflow_int<To_Policy>(to, dir);
+    return V_UNKNOWN_POS_OVERFLOW;
+  default:
+    return sub<To_Policy, To_Policy, To_Policy>(to, to, z, dir);
+  }
+}
 
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename Type>
 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);
+output_char(std::ostream& os, Type& from,
+	    const Numeric_Format&, Rounding_Dir) {
+  os << static_cast<int>(from);
   return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_unsigned_int, mpz_class, unsigned long long)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename Policy, typename Type>
 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_ignore(dir)) {
-    to = from;
-    return V_LGE;
-  }
-  From n = rint(from);
-  to = n;
-  if (from < n)
-    return round_lt_mpz<To_Policy>(to, dir);
-  else if (from > n)
-    return round_gt_mpz<To_Policy>(to, dir);
-  else
-    return V_EQ;
+output_int(std::ostream& os, Type& from, const Numeric_Format&, Rounding_Dir) {
+  os << from;
+  return V_EQ;
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
-SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, double)
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+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)
+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)
+
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_MUL2EXP(mul2exp_unsigned_int, unsigned long long, unsigned long long)
+
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed char, signed char)
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed short, signed short)
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed int, signed int)
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long, signed long)
+PPL_SPECIALIZE_DIV2EXP(div2exp_signed_int, signed long long, signed long long)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned char, unsigned char)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned short, unsigned short)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned int, unsigned int)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long, unsigned long)
+PPL_SPECIALIZE_DIV2EXP(div2exp_unsigned_int, unsigned long long, unsigned long long)
+
+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)
+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)
+
+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)
+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, 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, 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, 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, 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, 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, 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, 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, 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)
+
+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)
 
-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);
-  DIRTY_TEMP0(mpq_class, tmp);
-#ifndef NDEBUG
-  Result r =
+} // namespace Checked
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_float.inlines.hh line 1. */
+/* Specialized "checked" functions for native floating-point numbers.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_float.inlines.hh line 27. */
+#ifndef __alpha
+#include <cmath>
 #endif
-    input_mpq(tmp, ss);
-  assert(r == V_EQ);
-  return assign<To_Policy, From_Policy>(to, tmp, dir);
-}
 
-SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
+namespace Parma_Polyhedra_Library {
 
-template <typename To_Policy, typename From_Policy>
-inline Result
-assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
-  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);
-    return mpz_divisible_p(n, d) ? V_EQ : V_GT;
-  }
-  else {
-    assert(round_up(dir));
-    mpz_cdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_LT;
-  }
+namespace Checked {
+
+inline float
+fma(float x, float y, float z) {
+#if PPL_HAVE_DECL_FMAF && !defined(__alpha) && !defined(__FreeBSD__)
+  return ::fmaf(x, y, z);
+#else
+  return x*y + z;
+#endif
 }
 
-SPECIALIZE_ASSIGN(assign_mpz_mpq, mpz_class, mpq_class)
+inline double
+fma(double x, double y, double z) {
+#if PPL_HAVE_DECL_FMA && !defined(__alpha) && !defined(__FreeBSD__)
+  return ::fma(x, y, z);
+#else
+  return x*y + z;
+#endif
+}
 
-SPECIALIZE_FLOOR(assign_exact, mpz_class, mpz_class)
-SPECIALIZE_CEIL(assign_exact, mpz_class, mpz_class)
-SPECIALIZE_TRUNC(assign_exact, mpz_class, mpz_class)
+inline long double
+fma(long double x, long double y, long double z) {
+#if PPL_HAVE_DECL_FMAL && !defined(__alpha) && !defined(__FreeBSD__)
+  return ::fmal(x, y, z);
+#else
+  return x*y + z;
+#endif
+}
 
-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_HAVE_DECL_RINTF
+inline float
+rint(float x) {
+  return ::rintf(x);
 }
+#endif
 
-SPECIALIZE_NEG(neg_mpz, mpz_class, mpz_class)
+inline double
+rint(double x) {
+  return ::rint(x);
+}
 
-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_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;
 }
+#endif
 
-SPECIALIZE_ADD(add_mpz, mpz_class, mpz_class, mpz_class)
+inline bool
+fpu_direct_rounding(Rounding_Dir dir) {
+  return round_direct(dir) || round_ignore(dir);
+}
 
-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;
+inline bool
+fpu_inverse_rounding(Rounding_Dir dir) {
+  return round_inverse(dir);
 }
 
-SPECIALIZE_SUB(sub_mpz, mpz_class, mpz_class, mpz_class)
+// 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
+limit_precision(const float& v) {
+  cc_flush(v);
+}
 
-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;
+inline void
+limit_precision(const double& v) {
+  cc_flush(v);
 }
 
-SPECIALIZE_MUL(mul_mpz, mpz_class, mpz_class, mpz_class)
+inline void
+limit_precision(const long double&) {
+}
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename Policy, typename T>
 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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  mpz_srcptr n = x.get_mpz_t();
-  mpz_srcptr d = y.get_mpz_t();
-  if (round_ignore(dir)) {
-    // FIXME: is this correct?
-    mpz_divexact(to.get_mpz_t(), n, d);
-    return V_LGE;
-  }
-  if (round_down(dir)) {
-    mpz_fdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+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 VC_NAN;
+  if (inf) {
+    int i = CHECK_P(Policy::has_infinity, f.u.binary.is_inf());
+    if (i < 0)
+      return VC_MINUS_INFINITY;
+    if (i > 0)
+      return VC_PLUS_INFINITY;
   }
-  else {
-    assert(round_up(dir));
-    mpz_cdiv_q(to.get_mpz_t(), n, d);
-    return mpz_divisible_p(n, d) ? V_EQ : V_LT;
+  if (sign) {
+    if (v < 0)
+      return V_LT;
+    if (v > 0)
+      return V_GT;
+    return V_EQ;
   }
+  return VC_NORMAL;
 }
 
-SPECIALIZE_DIV(div_mpz, mpz_class, mpz_class, mpz_class)
-
-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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  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;
+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());
 }
 
-SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
+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;
+}
 
-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_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x % y;
-  return V_EQ;
+template <typename Policy, typename T>
+inline bool
+is_pinf_float(const T v) {
+  return is_inf_float<Policy>(v) > 0;
 }
 
-SPECIALIZE_REM(rem_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename To_Policy, typename From_Policy>
+template <typename Policy, typename T>
+inline bool
+is_int_float(const T v) {
+  return rint(v) == v;
+}
+
+template <typename Policy, typename T>
 inline Result
-mul2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  mpz_mul_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+assign_special_float(T& v, Result r, Rounding_Dir) {
+  switch (classify(r)) {
+  case VC_MINUS_INFINITY:
+    v = -HUGE_VAL;
+    break;
+  case VC_PLUS_INFINITY:
+    v = HUGE_VAL;
+    break;
+  case VC_NAN:
+    v = PPL_NAN;
+    return r;
+  default:
+    break;
+  }
   return V_EQ;
 }
 
-SPECIALIZE_MUL2EXP(mul2exp_mpz, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From_Policy>
-inline Result
-div2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
-  mpz_srcptr n = x.get_mpz_t();
-  if (round_ignore(dir)) {
-    mpz_tdiv_q_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
-    return V_LGE;
+template <typename T>
+inline void
+pred_float(T& v) {
+  Float<T> f(v);
+  assert(!f.u.binary.is_nan());
+  assert(f.u.binary.is_inf() >= 0);
+  if (f.u.binary.is_zero() > 0) {
+    f.u.binary.negate();
+    f.u.binary.inc();
   }
-  if (round_down(dir)) {
-    mpz_fdiv_q_2exp(to.get_mpz_t(), n, exp);
-    return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_GT;
+  else if (f.u.binary.sign_bit()) {
+    f.u.binary.inc();
   }
   else {
-    assert(round_up(dir));
-    mpz_cdiv_q_2exp(to.get_mpz_t(), n, exp);
-    return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_LT;
+    f.u.binary.dec();
   }
+  v = f.value();
 }
 
-SPECIALIZE_DIV2EXP(div2exp_mpz, mpz_class, mpz_class)
+template <typename T>
+inline void
+succ_float(T& v) {
+  Float<T> f(v);
+  assert(!f.u.binary.is_nan());
+  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();
+}
 
-template <typename To_Policy, typename From_Policy>
+template <typename Policy, typename To>
 inline Result
-abs_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
-  to = abs(from);
-  return V_EQ;
+round_lt_float(To& to, Rounding_Dir dir) {
+  if (round_down(dir)) {
+    pred_float(to);
+    return V_GT;
+  }
+  return V_LT;
 }
 
-SPECIALIZE_ABS(abs_mpz, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename Policy, typename To>
 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;
+round_gt_float(To& to, Rounding_Dir dir) {
+  if (round_up(dir)) {
+    succ_float(to);
+    return V_LT;
+  }
+  return V_GT;
 }
 
-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 Policy>
+inline void
+prepare_inexact(Rounding_Dir dir) {
+  if (Policy::fpu_check_inexact && round_fpu_check_inexact(dir))
+    fpu_reset_inexact();
 }
 
-SPECIALIZE_SUB_MUL(sub_mul_mpz, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename 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;
+result_relation(Rounding_Dir dir) {
+  if (Policy::fpu_check_inexact && round_fpu_check_inexact(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;
+    }
+  }
 }
 
-SPECIALIZE_GCD(gcd_mpz, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 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());
+assign_float_float_exact(To& to, const From from, Rounding_Dir) {
+  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  to = from;
   return V_EQ;
 }
 
-SPECIALIZE_GCDEXT(gcdext_mpz, mpz_class, mpz_class, mpz_class, mpz_class, mpz_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename To, typename From>
 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;
+assign_float_float_inexact(To& to, const From from, Rounding_Dir dir) {
+  if (To_Policy::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);
 }
 
-SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
+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);
+}
 
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  if (round_ignore(dir)) {
-    to = sqrt(from);
-    return V_GE;
+floor_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::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;
   }
-  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);
+  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);
+  }
+  return V_EQ;
 }
 
-SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
-
-template <typename Policy, typename Type>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-sgn_mp(const Type& x) {
-  int i = ::sgn(x);
-  return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
+ceil_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::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;
 }
 
-SPECIALIZE_SGN(sgn_mp, mpz_class)
-SPECIALIZE_SGN(sgn_mp, mpq_class)
-
-template <typename Policy1, typename Policy2, typename Type>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-cmp_mp(const Type& x, const Type& y) {
-  int i = ::cmp(x, y);
-  return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
+trunc_float(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::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);
 }
 
-SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
-SPECIALIZE_CMP(cmp_mp, mpq_class, mpq_class)
-
-template <typename Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-output_mpz(std::ostream& os, const mpz_class& from, const Numeric_Format&,
-	   Rounding_Dir) {
-  os << from;
+neg_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::check_nan_result && is_nan<From_Policy>(from))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  to = -from;
   return V_EQ;
 }
 
-SPECIALIZE_INPUT(input_generic, mpz_class)
-SPECIALIZE_OUTPUT(output_mpz, mpz_class)
-
-} // 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.
-*/
-
-
-#include <sstream>
-#include <climits>
-#include <stdexcept>
-
-namespace Parma_Polyhedra_Library {
-
-namespace Checked {
-
-template <typename Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 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 VC_NAN;
-    if (!inf && !sign)
-      return VC_NORMAL;
-    if (Policy::has_infinity) {
-      if (s < 0)
-	return inf ? VC_MINUS_INFINITY : V_LT;
-      if (s > 0)
-	return inf ? VC_PLUS_INFINITY : V_GT;
-    }
+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_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
+  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;
   }
-  if (sign)
-    return sgn<Policy>(v);
-  return VC_NORMAL;
-}
-
-SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
-
-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;
-}
-
-SPECIALIZE_IS_NAN(is_nan_mpq, mpq_class)
-
-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;
-}
-
-SPECIALIZE_IS_MINF(is_minf_mpq, mpq_class)
-
-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;
-}
-
-SPECIALIZE_IS_PINF(is_pinf_mpq, mpq_class)
-
-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;
+  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::check_nan_result && is_nan<To_Policy>(to))
+    return VC_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
-
-template <typename Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 inline Result
-assign_special_mpq(mpq_class& v, Result r, Rounding_Dir) {
-  Result c = classify(r);
-  if (Policy::has_nan && c == VC_NAN) {
-    v.get_num() = 0;
-    v.get_den() = 0;
+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_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
+  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 if (Policy::has_infinity) {
-    switch (c) {
-    case VC_MINUS_INFINITY:
-      v.get_num() = -1;
-      v.get_den() = 0;
-      return V_EQ;
-    case VC_PLUS_INFINITY:
-      v.get_num() = 1;
-      v.get_den() = 0;
-      return V_EQ;
-    default:
-      break;
-    }
+  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);
   }
-  return r;
-}
-
-SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpq, mpq_class)
-
-SPECIALIZE_COPY(copy_generic, mpq_class)
-
-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;
-}
-
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, mpz_class)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed char)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed short)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed int)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, signed long)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned char)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned short)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned int)
-SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, unsigned long)
-
-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;
-}
-
-SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, float)
-SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, double)
-
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpq_class)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, mpz_class)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed char)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed short)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed int)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, signed long)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned char)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned short)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned int)
-SPECIALIZE_ASSIGN(assign_exact, mpq_class, unsigned long)
-
-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);
-  to = from;
-  return V_EQ;
+  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
+    return VC_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, float)
-SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, double)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 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);
+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_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+  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 {
-    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;
+    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);
   }
-  return V_EQ;
+  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
+    return VC_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-SPECIALIZE_ASSIGN(assign_mpq_signed_int, mpq_class, signed long long)
-
-template <typename To_Policy, typename From_Policy, typename From>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 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);
+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_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
+  if (To_Policy::check_div_zero && y == 0)
+    return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  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 {
-    mpz_import(to.get_num().get_mpz_t(), 1, 1, sizeof(From), 0, 0, &from);
-    to.get_den() = 1;
+    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);
   }
-  return V_EQ;
-}
-
-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;
-}
-
-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;
+  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
+    return VC_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-SPECIALIZE_CEIL(ceil_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_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;
+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 (is_special(r)) {
+    to = temp;
+    return r;
+  }
+  Result r1 = trunc<To_Policy, To_Policy>(to, temp, ROUND_NOT_NEEDED);
+  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;
 }
 
-SPECIALIZE_TRUNC(trunc_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 inline Result
-neg_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  mpq_neg(to.get_mpq_t(), from.get_mpq_t());
+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_special<To_Policy>(to, V_INF_MOD, ROUND_IGNORE);
+  if (To_Policy::check_div_zero && y == 0)
+    return assign_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  to = std::fmod(x, y);
+  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
+    return VC_NAN;
   return V_EQ;
 }
 
-SPECIALIZE_NEG(neg_mpq, mpq_class, mpq_class)
+struct Float_2exp {
+  const_bool_nodef(has_nan, false);
+  const_bool_nodef(has_infinity, false);
+};
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename To_Policy, typename From_Policy, typename Type>
 inline Result
-add_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x + y;
-  return V_EQ;
+mul2exp_float(Type& to, const Type x, int exp, Rounding_Dir dir) {
+  if (To_Policy::check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (exp < 0)
+    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+  assert(static_cast<unsigned int>(exp) < sizeof(unsigned long long) * 8);
+  return mul<To_Policy, From_Policy, Float_2exp>(to, x, static_cast<Type>(1ULL << exp), dir);
 }
 
-SPECIALIZE_ADD(add_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 Type>
 inline Result
-sub_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x - y;
-  return V_EQ;
+div2exp_float(Type& to, const Type x, int exp, Rounding_Dir dir) {
+  if (To_Policy::check_nan_result && is_nan<From_Policy>(x))
+    return assign_special<To_Policy>(to, VC_NAN, ROUND_IGNORE);
+  if (exp < 0)
+    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+  assert(static_cast<unsigned int>(exp) < sizeof(unsigned long long) * 8);
+  return div<To_Policy, From_Policy, Float_2exp>(to, x, static_cast<Type>(1ULL << exp), dir);
 }
 
-SPECIALIZE_SUB(sub_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 Type>
 inline Result
-mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y, Rounding_Dir) {
-  to = x * y;
+abs_float(Type& to, const Type from, Rounding_Dir) {
+  if (To_Policy::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;
 }
 
-SPECIALIZE_MUL(mul_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 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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  to = x / y;
-  return V_EQ;
+sqrt_float(Type& to, const Type from, Rounding_Dir dir) {
+  if (To_Policy::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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+  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);
 }
 
-SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename Policy, typename Type>
 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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-  to = x / y;
-  return trunc<To_Policy, To_Policy>(to, to, dir);
+sgn_float(const Type x) {
+  return classify<Policy>(x, false, false, true);
 }
 
-SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename Policy1, typename Policy2, typename Type>
 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_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
-  to = x / y;
-  to.get_num() %= to.get_den();
-  return V_EQ;
+cmp_float(const Type x, const Type y) {
+  if (x > y)
+    return V_GT;
+  if (x < y)
+    return V_LT;
+  if (x == y)
+    return V_EQ;
+  return V_UNORD_COMP;
 }
 
-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
-mul2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return div2exp<To_Policy, From_Policy>(to, x, -exp, 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;
+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);
 }
 
-SPECIALIZE_MUL2EXP(mul2exp_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
-div2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
-  if (exp < 0)
-    return mul2exp<To_Policy, From_Policy>(to, x, -exp, 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;
+assign_float_int(To& to, const From from, Rounding_Dir dir) {
+  if (sizeof(From) * 8 > 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);
 }
 
-SPECIALIZE_DIV2EXP(div2exp_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From_Policy>
+template <typename Policy, typename T>
 inline Result
-abs_mpq(mpq_class& to, const mpq_class& from, Rounding_Dir) {
-  to = abs(from);
-  return V_EQ;
+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;
+    }
+  default:
+    to = -HUGE_VAL;
+    return V_GT;
+  }
 }
 
-SPECIALIZE_ABS(abs_mpq, mpq_class, mpq_class)
-
-template <typename To_Policy, typename From1_Policy, typename From2_Policy>
+template <typename Policy, typename T>
 inline Result
-add_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
-	    Rounding_Dir) {
-  to += x * y;
-  return V_EQ;
+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;
+    }
+  default:
+    to = HUGE_VAL;
+    return V_LT;
+  }
 }
 
-SPECIALIZE_ADD_MUL(add_mul_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 T>
 inline Result
-sub_mul_mpq(mpq_class& to, const mpq_class& x, const mpq_class& y,
-	    Rounding_Dir) {
-  to -= x * y;
+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 > static_cast<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(to);
+  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);
+    else
+      return round_gt_float<To_Policy>(to, dir);
+  }
   return V_EQ;
 }
 
-SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
-
-extern unsigned long rational_sqrt_precision_parameter;
-
-template <typename To_Policy, typename From_Policy>
+template <typename To_Policy, typename From_Policy, typename T>
 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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  const unsigned long k = rational_sqrt_precision_parameter;
-  mpz_class& to_num = to.get_num();
-  mul2exp<To_Policy, From_Policy>(to_num, from.get_num(), 2*k, dir);
-  Result rdiv
-    = div<To_Policy, To_Policy, To_Policy>(to_num,
-					   to_num, from.get_den(), dir);
-  Result rsqrt = sqrt<To_Policy, To_Policy>(to_num, to_num, dir);
-  mpz_class& to_den = to.get_den();
-  to_den = 1;
-  mul2exp<To_Policy, To_Policy>(to_den, to_den, k, dir);
-  to.canonicalize();
-  return rdiv != V_EQ ? rdiv : rsqrt;
+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 > static_cast<signed int>(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)
+    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;
+  }
+  else if (shift < 0) {
+    mpz_mul_2exp(mantissa, den, -shift);
+    den = mantissa;
+  }
+  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_div_2exp(mantissa, mantissa, 1);
+  }
+  else
+    --exponent;
+  if (exponent > static_cast<signed int>(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(to);
+  f.u.binary.build(sign < 0, mantissa, exponent);
+  mpz_clear(mantissa);
+  to = f.value();
+  if (inexact)
+    goto inexact;
+  return V_EQ;
 }
 
-SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
-
-template <typename Policy>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy,
+	  typename Type>
 inline Result
-input_mpq(mpq_class& to, std::istream& is, Rounding_Dir) {
-  Result r = input_mpq(to, is);
-  switch (classify(r)) {
-  case VC_MINUS_INFINITY:
-  case VC_PLUS_INFINITY:
-  case VC_NAN:
-    return assign_special<Policy>(to, r, ROUND_IGNORE);
-  default:
-    return r;
+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_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+  // 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;
   }
+  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);
+  }
+  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
+    return VC_NAN;
+  return result_relation<To_Policy>(dir);
 }
 
-SPECIALIZE_INPUT(input_mpq, mpq_class)
+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_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+  // 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;
+  }
+  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);
+  }
+  if (To_Policy::check_nan_result && is_nan<To_Policy>(to))
+    return VC_NAN;
+  return result_relation<To_Policy>(dir);
+}
 
-template <typename Policy>
+template <typename Policy, typename Type>
 inline Result
-output_mpq(std::ostream& os,
-	   const mpq_class& from,
-	   const Numeric_Format&,
-	   Rounding_Dir) {
-  os << from;
+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);
+  }
   return V_EQ;
 }
 
-SPECIALIZE_OUTPUT(output_mpq, mpq_class)
+#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
 
-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 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
+
+#if PPL_SUPPORTED_LONG_DOUBLE
+PPL_SPECIALIZE_ASSIGN(assign_float_float_exact, long double, long double)
+#endif
+
+#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, 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_MUL2EXP(mul2exp_float, float, float)
+PPL_SPECIALIZE_DIV2EXP(div2exp_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
 
-SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
+#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, 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_MUL2EXP(mul2exp_float, double, double)
+PPL_SPECIALIZE_DIV2EXP(div2exp_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
+
+#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, 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_MUL2EXP(mul2exp_float, long double, long double)
+PPL_SPECIALIZE_DIV2EXP(div2exp_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
 
 } // namespace Checked
 
-//! Returns the precision parameter used for rational square root calculations.
-inline unsigned
-rational_sqrt_precision_parameter() {
-  return Checked::rational_sqrt_precision_parameter;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_mpz.inlines.hh line 1. */
+/* Specialized "checked" functions for GMP's mpz_class numbers.
+*/
+
+
+#include <sstream>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Checked {
+
+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;
 }
 
-//! Sets the precision parameter used for rational square root calculations.
-/*!
-  If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
-  precision parameter used for rational square root calculations to \p p.
+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
+
+inline mp_size_field_t
+get_mp_size(const mpz_class &v) {
+  return v.get_mpz_t()->_mp_size;
+}
 
-  \exception std::invalid_argument
-  Thrown if \p p is greater than <CODE>INT_MAX</CODE>.
-*/
 inline void
-set_rational_sqrt_precision_parameter(const unsigned p) {
-  if (p <= INT_MAX)
-    Checked::rational_sqrt_precision_parameter = p;
-  else
-    throw std::invalid_argument("PPL::set_rational_sqrt_precision_parameter(p)"
-				" with p > INT_MAX");
+set_mp_size(mpz_class &v, mp_size_field_t size) {
+  v.get_mpz_t()->_mp_size = size;
 }
 
-} // namespace Parma_Polyhedra_Library
+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 VC_NAN;
+    if (!inf && !sign)
+      return VC_NORMAL;
+    if (Policy::has_infinity) {
+      if (s == C_Integer<mp_size_field_t>::min)
+	return inf ? VC_MINUS_INFINITY : V_LT;
+      if (s == C_Integer<mp_size_field_t>::max)
+	return inf ? VC_PLUS_INFINITY : V_GT;
+    }
+  }
+  if (sign)
+    return sgn<Policy>(v);
+  return VC_NORMAL;
+}
 
-/* Automatically generated from PPL source file ../src/checked_ext.inlines.hh line 1. */
-/* Checked extended arithmetic functions.
-*/
+PPL_SPECIALIZE_CLASSIFY(classify_mpz, mpz_class)
 
-namespace Parma_Polyhedra_Library {
+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;
+}
 
-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 {};
+PPL_SPECIALIZE_IS_NAN(is_nan_mpz, mpz_class)
 
-namespace Checked {
+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>
+PPL_SPECIALIZE_IS_MINF(is_minf_mpz, mpz_class)
+
+template <typename Policy>
 inline bool
-handle_ext_natively(const T&) {
-  return FPU_Related<T>::value;
+is_pinf_mpz(const mpz_class& v) {
+  return Policy::has_infinity
+    && get_mp_size(v) == C_Integer<mp_size_field_t>::max;
 }
 
-template <typename Policy, typename Type>
+PPL_SPECIALIZE_IS_PINF(is_pinf_mpz, mpz_class)
+
+template <typename Policy>
 inline bool
-ext_to_handle(const Type& x) {
-  return !handle_ext_natively(x)
-    && (Policy::has_infinity || Policy::has_nan);
+is_int_mpz(const mpz_class& v) {
+  return !is_nan<Policy>(v);
 }
 
-template <typename Policy, typename Type>
+PPL_SPECIALIZE_IS_INT(is_int_mpz, mpz_class)
+
+template <typename Policy>
 inline Result
-sgn_ext(const Type& x) {
-  if (!ext_to_handle<Policy>(x))
-    goto native;
-  if (is_nan<Policy>(x))
-    return VC_NAN;
-  else if (is_minf<Policy>(x))
-    return V_LT;
-  else if (is_pinf<Policy>(x))
-    return V_GT;
+assign_special_mpz(mpz_class& v, Result r, Rounding_Dir) {
+  Result c = classify(r);
+  if (Policy::has_nan && c == VC_NAN)
+    set_mp_size(v, C_Integer<mp_size_field_t>::min + 1);
+  else if (Policy::has_infinity) {
+    switch (c) {
+    case VC_MINUS_INFINITY:
+      set_mp_size(v, C_Integer<mp_size_field_t>::min);
+      return V_EQ;
+    case VC_PLUS_INFINITY:
+      set_mp_size(v, C_Integer<mp_size_field_t>::max);
+      return V_EQ;
+    default:
+      break;
+    }
+  }
+  return r;
+}
+
+PPL_SPECIALIZE_ASSIGN_SPECIAL(assign_special_mpz, mpz_class)
+
+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))
+    assert(To_Policy::has_nan);
+  else if (is_minf_mpz<From_Policy>(from) || is_pinf_mpz<From_Policy>(from))
+    assert(To_Policy::has_infinity);
   else {
-  native:
-    return sgn<Policy>(x);
+    to = from;
+    return;
   }
+  set_mp_size(to, get_mp_size(from));
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_COPY(copy_mpz, mpz_class)
+
+template <typename To_Policy, typename From_Policy, 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))
+construct_mpz_base(mpz_class& to, const From from, Rounding_Dir) {
+    new (&to) mpz_class(from);
+    return V_EQ;
+}
+
+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)
+
+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>(x))
+  else if (is_minf<From_Policy>(from))
     return construct_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
+  else if (is_pinf<From_Policy>(from))
     return construct_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return construct<To_Policy, From_Policy>(to, x, dir);
+  if (round_ignore(dir)) {
+    new (&to) mpz_class(from);
+    return V_LGE;
   }
+  From n = rint(from);
+  new (&to) mpz_class(n);
+  if (from < n)
+    return round_lt_mpz<To_Policy>(to, dir);
+  else if (from > n)
+    return round_gt_mpz<To_Policy>(to, dir);
+  else
+    return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, float)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpz_float, mpz_class, double)
+
+PPL_SPECIALIZE_ASSIGN(assign_exact, mpz_class, mpz_class)
+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)
+
+template <typename To_Policy, typename From_Policy, 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);
+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 {
-  native:
-    return assign<To_Policy, From_Policy>(to, x, dir);
+    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;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_ASSIGN(assign_mpz_signed_int, mpz_class, signed long long)
+
+template <typename To_Policy, typename From_Policy, 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);
-  }
+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;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_ASSIGN(assign_mpz_unsigned_int, mpz_class, unsigned long long)
+
+template <typename To_Policy, typename From_Policy, 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))
+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>(x))
+  else if (is_minf<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
+  else if (is_pinf<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return floor<To_Policy, From_Policy>(to, x, dir);
+  if (round_ignore(dir)) {
+    to = from;
+    return V_LGE;
   }
+  From n = rint(from);
+  to = n;
+  if (from < n)
+    return round_lt_mpz<To_Policy>(to, dir);
+  else if (from > n)
+    return round_gt_mpz<To_Policy>(to, dir);
+  else
+    return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, float)
+PPL_SPECIALIZE_ASSIGN(assign_mpz_float, mpz_class, double)
+
+template <typename To_Policy, typename From_Policy, 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))
+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>(x))
+  else if (is_minf<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-  else if (is_pinf<From_Policy>(x))
+  else if (is_pinf<From_Policy>(from))
     return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-  else {
-  native:
-    return ceil<To_Policy, From_Policy>(to, x, 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 =
+#endif
+    input_mpq(tmp, ss);
+  assert(r == V_EQ);
+  return assign<To_Policy, From_Policy>(to, tmp, dir);
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_ASSIGN(assign_mpz_long_double, mpz_class, long double)
+
+template <typename To_Policy, typename From_Policy>
 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);
+assign_mpz_mpq(mpz_class& to, const mpq_class& from, Rounding_Dir dir) {
+  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);
+    return mpz_divisible_p(n, d) ? V_EQ : V_GT;
+  }
   else {
-  native:
-    return trunc<To_Policy, From_Policy>(to, x, dir);
+    assert(round_up(dir));
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    return mpz_divisible_p(n, d) ? V_EQ : V_LT;
   }
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_ASSIGN(assign_mpz_mpq, mpz_class, mpq_class)
+
+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)
+
+template <typename To_Policy, typename From_Policy>
 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);
-  }
+neg_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
+  mpz_neg(to.get_mpz_t(), from.get_mpz_t());
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+PPL_SPECIALIZE_NEG(neg_mpz, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
-    }
-    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);
-    }
-  }
+add_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x + y;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+PPL_SPECIALIZE_ADD(add_mpz, mpz_class, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
-    }
-    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);
-    }
-  }
+sub_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x - y;
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+PPL_SPECIALIZE_SUB(sub_mpz, mpz_class, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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 V_LT:
-      goto pinf;
-    case V_GT:
-      goto minf;
-    default:
-      goto inf_mul_zero;
-    }
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto minf;
-    case V_GT:
-      goto pinf;
-    default:
-      goto inf_mul_zero;
-    }
-  }
-  else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-	goto pinf;
-      case V_GT:
-	goto minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-      }
-    }
-    else {
-    native:
-      return mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
-    }
-  }
+mul_mpz(mpz_class& to, const mpz_class& x, const mpz_class& y, Rounding_Dir) {
+  to = x * y;
+  return V_EQ;
 }
 
+PPL_SPECIALIZE_MUL(mul_mpz, mpz_class, mpz_class, mpz_class)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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 V_LT:
-      goto a_pinf;
-    case V_GT:
-      goto a_minf;
-    default:
-      goto inf_mul_zero;
-    }
+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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  mpz_srcptr n = x.get_mpz_t();
+  mpz_srcptr d = y.get_mpz_t();
+  if (round_ignore(dir)) {
+#if 0
+    // FIXME: we need to reconsider Rounding_Dir argument to clarify if
+    // client code intention is to have approximate result without any interest
+    // in knowing the direction of rounding or to grant to called function
+    // that result will be exact.
+    mpz_divexact(to.get_mpz_t(), n, d);
+    return V_LGE;
+#else
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    return V_LE;
+#endif
   }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto a_minf;
-    case V_GT:
-      goto a_pinf;
-    default:
-      goto inf_mul_zero;
-    }
+  if (round_down(dir)) {
+    mpz_fdiv_q(to.get_mpz_t(), n, d);
+    return mpz_divisible_p(n, d) ? V_EQ : V_GT;
   }
   else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-	goto a_pinf;
-      case V_GT:
-	goto a_minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_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 V_GT:
-      a_pinf:
-	if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<To_Policy>(to))) {
-	inf_add_inf:
-	  return assign_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
-	}
-	else
-	  goto pinf;
-      default:
-      inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-      }
-    }
-    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);
-    }
+    assert(round_up(dir));
+    mpz_cdiv_q(to.get_mpz_t(), n, d);
+    return mpz_divisible_p(n, d) ? V_EQ : V_LT;
   }
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+PPL_SPECIALIZE_DIV(div_mpz, mpz_class, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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 V_LT:
-      goto a_pinf;
-    case V_GT:
-      goto a_minf;
-    default:
-      goto inf_mul_zero;
-    }
-  }
-  else if (is_pinf<From1_Policy>(x)) {
-    switch (sgn_ext<From2_Policy>(y)) {
-    case V_LT:
-      goto a_minf;
-    case V_GT:
-      goto a_pinf;
-    default:
-      goto inf_mul_zero;
-    }
-  }
-  else {
-    if (is_minf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_LT:
-	goto a_pinf;
-      case V_GT:
-	goto a_minf;
-      default:
-	goto inf_mul_zero;
-      }
-    }
-    else if (is_pinf<From2_Policy>(y)) {
-      switch (sgn<From1_Policy>(x)) {
-      case V_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 V_GT:
-      a_pinf:
-	if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<To_Policy>(to))) {
-	inf_sub_inf:
-	  return assign_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
-	}
-	else
-	  goto minf;
-      default:
-      inf_mul_zero:
-	assert(To_Policy::check_inf_mul_zero);
-	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
-      }
-    }
-    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_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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  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;
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+PPL_SPECIALIZE_IDIV(idiv_mpz, mpz_class, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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 V_LT:
-	goto pinf;
-      case V_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_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
-    }
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case V_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      div_zero:
-	assert(To_Policy::check_div_zero);
-	return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-      }
-    }
-  }
-  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_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_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  to = x % y;
+  return V_EQ;
 }
 
+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>
+template <typename To_Policy, typename From_Policy>
 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 V_LT:
-	goto pinf;
-      case V_GT:
-	goto minf;
-      default:
-	goto div_zero;
-      }
-    }
+mul2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
+  if (exp < 0)
+    return div2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+  mpz_mul_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+  return V_EQ;
+}
+
+PPL_SPECIALIZE_MUL2EXP(mul2exp_mpz, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From_Policy>
+inline Result
+div2exp_mpz(mpz_class& to, const mpz_class& x, int exp, Rounding_Dir dir) {
+  if (exp < 0)
+    return mul2exp<To_Policy, From_Policy>(to, x, -exp, dir);
+  mpz_srcptr n = x.get_mpz_t();
+  if (round_ignore(dir)) {
+    mpz_tdiv_q_2exp(to.get_mpz_t(), x.get_mpz_t(), exp);
+    return V_LGE;
   }
-  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_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
-    }
-    else {
-      switch (sgn<From2_Policy>(y)) {
-      case V_LT:
-      minf:
-	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
-      case V_GT:
-      pinf:
-	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
-      default:
-      div_zero:
-	assert(To_Policy::check_div_zero);
-	return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
-      }
-    }
+  if (round_down(dir)) {
+    mpz_fdiv_q_2exp(to.get_mpz_t(), n, exp);
+    return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_GT;
   }
   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);
-    }
+    assert(round_up(dir));
+    mpz_cdiv_q_2exp(to.get_mpz_t(), n, exp);
+    return mpz_divisible_2exp_p(n, exp) ? V_EQ : V_LT;
   }
 }
 
+PPL_SPECIALIZE_DIV2EXP(div2exp_mpz, mpz_class, mpz_class)
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+template <typename To_Policy, typename From_Policy>
 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_special<To_Policy>(to, V_INF_MOD, ROUND_IGNORE);
-  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);
-    }
-  }
+abs_mpz(mpz_class& to, const mpz_class& from, Rounding_Dir) {
+  to = abs(from);
+  return V_EQ;
 }
 
-template <typename To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_ABS(abs_mpz, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 inline Result
-mul2exp_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);
-  else {
-  native:
-    return mul2exp<To_Policy, From_Policy>(to, x, exp, dir);
-  }
+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 To_Policy, typename From_Policy,
-	  typename To, typename From>
+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
-div2exp_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);
-  else {
-  native:
-    return div2exp<To_Policy, From_Policy>(to, x, exp, dir);
-  }
+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 To_Policy, typename From_Policy,
-	  typename To, typename From>
+PPL_SPECIALIZE_SUB_MUL(sub_mul_mpz, mpz_class, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
-  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);
-  }
+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 To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+PPL_SPECIALIZE_GCD(gcd_mpz, mpz_class, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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);
+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 To1_Policy, typename To2_Policy, typename To3_Policy,
-	  typename From1_Policy, typename From2_Policy,
-	  typename To1, typename To2, typename To3,
-	  typename From1, typename From2>
+PPL_SPECIALIZE_GCDEXT(gcdext_mpz, mpz_class, mpz_class, mpz_class, mpz_class, mpz_class)
+
+template <typename To_Policy, typename From1_Policy, typename From2_Policy>
 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);
+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;
+}
+
+PPL_SPECIALIZE_LCM(lcm_mpz, mpz_class, mpz_class, mpz_class)
+
+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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+  if (round_ignore(dir)) {
+    to = sqrt(from);
+    return V_GE;
   }
-  else
-    return gcdext<To1_Policy, To2_Policy, To3_Policy, From1_Policy, From2_Policy>(to, s, t, x, y, dir);
+  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);
 }
 
-template <typename To_Policy, typename From1_Policy, typename From2_Policy,
-	  typename To, typename From1, typename From2>
+PPL_SPECIALIZE_SQRT(sqrt_mpz, mpz_class, mpz_class)
+
+template <typename 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);
-  else
-    return lcm<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+sgn_mp(const Type& x) {
+  int i = ::sgn(x);
+  return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+PPL_SPECIALIZE_SGN(sgn_mp, mpz_class)
+PPL_SPECIALIZE_SGN(sgn_mp, mpq_class)
+
+template <typename Policy1, typename Policy2, typename Type>
 inline Result
-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 V_UNORD_COMP;
-  else if (is_minf<Policy1>(x))
-    return is_minf<Policy2>(y) ? V_EQ : V_LT;
-  else if (is_pinf<Policy1>(x))
-    return is_pinf<Policy2>(y) ? V_EQ : V_GT;
-  else {
-    if (is_minf<Policy2>(y))
-      return V_GT;
-    if (is_pinf<Policy2>(y))
-      return V_LT;
-  native:
-    return cmp<Policy1, Policy2>(x, y);
-  }
+cmp_mp(const Type& x, const Type& y) {
+  int i = ::cmp(x, y);
+  return i > 0 ? V_GT : i == 0 ? V_EQ : V_LT;
 }
 
-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);
+PPL_SPECIALIZE_CMP(cmp_mp, mpz_class, mpz_class)
+PPL_SPECIALIZE_CMP(cmp_mp, mpq_class, mpq_class)
+
+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 Policy1, typename Policy2,
-	  typename Type1, typename Type2>
-inline bool
-gt_ext(const Type1& x, const Type2& y) {
-  return lt_ext<Policy1, Policy2>(y, x);
+PPL_SPECIALIZE_INPUT(input_generic, mpz_class)
+PPL_SPECIALIZE_OUTPUT(output_mpz, mpz_class)
+
+} // namespace Checked
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_mpq.inlines.hh line 1. */
+/* Specialized "checked" functions for GMP's mpq_class numbers.
+*/
+
+
+#include <sstream>
+#include <climits>
+#include <stdexcept>
+
+namespace Parma_Polyhedra_Library {
+
+namespace Checked {
+
+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 VC_NAN;
+    if (!inf && !sign)
+      return VC_NORMAL;
+    if (Policy::has_infinity) {
+      if (s < 0)
+	return inf ? VC_MINUS_INFINITY : V_LT;
+      if (s > 0)
+	return inf ? VC_PLUS_INFINITY : V_GT;
+    }
+  }
+  if (sign)
+    return sgn<Policy>(v);
+  return VC_NORMAL;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+PPL_SPECIALIZE_CLASSIFY(classify_mpq, mpq_class)
+
+template <typename Policy>
 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);
+is_nan_mpq(const mpq_class& v) {
+  return Policy::has_nan
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) == 0;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+PPL_SPECIALIZE_IS_NAN(is_nan_mpq, mpq_class)
+
+template <typename Policy>
 inline bool
-ge_ext(const Type1& x, const Type2& y) {
-  return le_ext<Policy1, Policy2>(y, x);
+is_minf_mpq(const mpq_class& v) {
+  return Policy::has_infinity
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) < 0;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+PPL_SPECIALIZE_IS_MINF(is_minf_mpq, mpq_class)
+
+template <typename Policy>
 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);
+is_pinf_mpq(const mpq_class& v) {
+  return Policy::has_infinity
+    && ::sgn(v.get_den()) == 0
+    && ::sgn(v.get_num()) > 0;
 }
 
-template <typename Policy1, typename Policy2,
-	  typename Type1, typename Type2>
+PPL_SPECIALIZE_IS_PINF(is_pinf_mpq, mpq_class)
+
+template <typename Policy>
 inline bool
-ne_ext(const Type1& x, const Type2& y) {
-  return !eq_ext<Policy1, Policy2>(x, y);
+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;
 }
 
-template <typename Policy, typename Type>
+PPL_SPECIALIZE_IS_INT(is_int_mpq, mpq_class)
+
+template <typename Policy>
 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 VC_NAN;
-  }
-  if (is_minf<Policy>(x)) {
-    os << "-inf";
-    return V_EQ;
+assign_special_mpq(mpq_class& v, Result r, Rounding_Dir) {
+  Result c = classify(r);
+  if (Policy::has_nan && c == VC_NAN) {
+    v.get_num() = 0;
+    v.get_den() = 0;
   }
-  if (is_pinf<Policy>(x)) {
-    os << "+inf";
-    return V_EQ;
+  else if (Policy::has_infinity) {
+    switch (c) {
+    case VC_MINUS_INFINITY:
+      v.get_num() = -1;
+      v.get_den() = 0;
+      return V_EQ;
+    case VC_PLUS_INFINITY:
+      v.get_num() = 1;
+      v.get_den() = 0;
+      return V_EQ;
+    default:
+      break;
+    }
   }
- native:
-  return output<Policy>(os, x, format, dir);
+  return r;
 }
 
-template <typename To_Policy, typename To>
+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>
 inline Result
-input_ext(To& to, std::istream& is, Rounding_Dir dir) {
-  return input<To_Policy>(to, is, dir);
+construct_mpq_base(mpq_class& to, const From& from, Rounding_Dir) {
+  new (&to) mpq_class(from);
+  return V_EQ;
 }
 
-} // namespace Checked
-
-} // namespace Parma_Polyhedra_Library
-/* Automatically generated from PPL source file ../src/checked.defs.hh line 456. */
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_base, mpq_class, mpz_class)
+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)
 
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 30. */
-#include <iosfwd>
+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;
+}
 
-namespace Parma_Polyhedra_Library {
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, float)
+PPL_SPECIALIZE_CONSTRUCT(construct_mpq_float, mpq_class, double)
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct Checked_Number_Default_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, false);
-  const_bool_nodef(has_infinity, false);
-  const_bool_nodef(convertible, true);
-  const_bool_nodef(fpu_check_inexact, true);
-  const_bool_nodef(check_nan_result, true);
-  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
-  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
-  static void handle_result(Result r);
-};
+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, 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)
 
-#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(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);
-};
+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);
+  to = from;
+  return V_EQ;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-struct WRD_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(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;
-  static void handle_result(Result r);
-};
+PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, float)
+PPL_SPECIALIZE_ASSIGN(assign_mpq_float, mpq_class, double)
 
-#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(check_nan_result, true);
-};
+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;
+}
 
-#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;
+PPL_SPECIALIZE_ASSIGN(assign_mpq_signed_int, mpq_class, signed 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;
+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;
+}
 
-#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();
-  }
-};
+PPL_SPECIALIZE_ASSIGN(assign_mpq_unsigned_int, mpq_class, 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;
+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;
+}
 
-#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;
-  }
-};
+PPL_SPECIALIZE_FLOOR(floor_mpq, mpq_class, mpq_class)
 
-#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();
-  }
-};
+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;
+}
 
-/*! \ingroup PPL_CXX_interface */
-template <typename T>
-struct Is_Checked : public False { };
+PPL_SPECIALIZE_CEIL(ceil_mpq, mpq_class, mpq_class)
 
-/*! \ingroup PPL_CXX_interface */
-template <typename T, typename P>
-struct Is_Checked<Checked_Number<T, P> > : public True { };
+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;
+}
 
-/*! \ingroup PPL_CXX_interface */
-template <typename T>
-struct Is_Native_Or_Checked
-  : public Bool<Is_Native<T>::value || Is_Checked<T>::value> { };
+PPL_SPECIALIZE_TRUNC(trunc_mpq, mpq_class, mpq_class)
 
-//! 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:
+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;
+}
 
-  //! \name Constructors
-  //@{
+PPL_SPECIALIZE_NEG(neg_mpq, mpq_class, mpq_class)
 
-  //! Default constructor.
-  Checked_Number();
+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;
+}
 
-  //! Copy-constructor.
-  Checked_Number(const Checked_Number& y);
+PPL_SPECIALIZE_ADD(add_mpq, mpq_class, mpq_class, mpq_class)
 
-  //! 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);
+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;
+}
 
-  //! Direct initialization from a signed char and rounding mode.
-  Checked_Number(signed char y, Rounding_Dir dir);
+PPL_SPECIALIZE_SUB(sub_mpq, mpq_class, mpq_class, mpq_class)
 
-  //! Direct initialization from a signed short and rounding mode.
-  Checked_Number(signed short y, Rounding_Dir dir);
+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;
+}
 
-  //! Direct initialization from a signed int and rounding mode.
-  Checked_Number(signed int y, Rounding_Dir dir);
+PPL_SPECIALIZE_MUL(mul_mpq, mpq_class, mpq_class, mpq_class)
 
-  //! Direct initialization from a signed long and rounding mode.
-  Checked_Number(signed long y, Rounding_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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  to = x / y;
+  return V_EQ;
+}
 
-  //! Direct initialization from a signed long long and rounding mode.
-  Checked_Number(signed long long y, Rounding_Dir dir);
+PPL_SPECIALIZE_DIV(div_mpq, mpq_class, mpq_class, mpq_class)
 
-  //! Direct initialization from an unsigned char and rounding mode.
-  Checked_Number(unsigned char y, Rounding_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_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+  to = x / y;
+  return trunc<To_Policy, To_Policy>(to, to, dir);
+}
 
-  //! Direct initialization from an unsigned short and rounding mode.
-  Checked_Number(unsigned short y, Rounding_Dir dir);
+PPL_SPECIALIZE_IDIV(idiv_mpq, mpq_class, mpq_class, mpq_class)
 
-  //! Direct initialization from an unsigned int and rounding mode.
-  Checked_Number(unsigned int y, Rounding_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_special<To_Policy>(to, V_MOD_ZERO, ROUND_IGNORE);
+  to = x / y;
+  to.get_num() %= to.get_den();
+  return V_EQ;
+}
 
-  //! Direct initialization from an unsigned long and rounding mode.
-  Checked_Number(unsigned long y, Rounding_Dir dir);
+PPL_SPECIALIZE_REM(rem_mpq, mpq_class, mpq_class, mpq_class)
 
-  //! Direct initialization from an unsigned long long and rounding mode.
-  Checked_Number(unsigned long long y, Rounding_Dir dir);
+template <typename To_Policy, typename From_Policy>
+inline Result
+mul2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
+  if (exp < 0)
+    return div2exp<To_Policy, From_Policy>(to, x, -exp, 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;
+}
 
-#if PPL_SUPPORTED_FLOAT
-  //! Direct initialization from a float and rounding mode.
-  Checked_Number(float y, Rounding_Dir dir);
-#endif
+PPL_SPECIALIZE_MUL2EXP(mul2exp_mpq, mpq_class, mpq_class)
 
-#if PPL_SUPPORTED_DOUBLE
-  //! Direct initialization from a double and rounding mode.
-  Checked_Number(double y, Rounding_Dir dir);
-#endif
+template <typename To_Policy, typename From_Policy>
+inline Result
+div2exp_mpq(mpq_class& to, const mpq_class& x, int exp, Rounding_Dir dir) {
+  if (exp < 0)
+    return mul2exp<To_Policy, From_Policy>(to, x, -exp, 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;
+}
 
-#if PPL_SUPPORTED_LONG_DOUBLE
-  //! Direct initialization from a long double and rounding mode.
-  Checked_Number(long double y, Rounding_Dir dir);
-#endif
+PPL_SPECIALIZE_DIV2EXP(div2exp_mpq, mpq_class, mpq_class)
 
-  //! Direct initialization from a rational and rounding mode.
-  Checked_Number(const mpq_class& y, Rounding_Dir dir);
+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;
+}
 
-  //! Direct initialization from an unbounded integer and rounding mode.
-  Checked_Number(const mpz_class& y, Rounding_Dir dir);
+PPL_SPECIALIZE_ABS(abs_mpq, mpq_class, mpq_class)
 
-  //! Direct initialization from a C string and rounding mode.
-  Checked_Number(const char* y, Rounding_Dir dir);
+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;
+}
 
-  //! 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);
+PPL_SPECIALIZE_ADD_MUL(add_mul_mpq, mpq_class, mpq_class, mpq_class)
 
-  //! 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);
+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;
+}
 
-  //! Direct initialization from a signed char, default rounding mode.
-  Checked_Number(signed char y);
+PPL_SPECIALIZE_SUB_MUL(sub_mul_mpq, mpq_class, mpq_class, mpq_class)
 
-  //! Direct initialization from a signed short, default rounding mode.
-  Checked_Number(signed short y);
+extern unsigned long rational_sqrt_precision_parameter;
 
-  //! Direct initialization from a signed int, default rounding mode.
-  Checked_Number(signed int y);
+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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+  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);
+  mul2exp<To_Policy, From_Policy>(to_a, from_a, 2*rational_sqrt_precision_parameter, 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;
+  mul2exp<To_Policy, To_Policy>(to_b, to_b, rational_sqrt_precision_parameter, ROUND_IGNORE);
+  to.canonicalize();
+  return rdiv != V_EQ ? rdiv : rsqrt;
+}
 
-  //! Direct initialization from a signed long, default rounding mode.
-  Checked_Number(signed long y);
+PPL_SPECIALIZE_SQRT(sqrt_mpq, mpq_class, mpq_class)
 
-  //! Direct initialization from a signed long long, default rounding mode.
-  Checked_Number(signed long long y);
+template <typename Policy>
+inline Result
+input_mpq(mpq_class& to, std::istream& is, Rounding_Dir) {
+  Result r = input_mpq(to, is);
+  switch (classify(r)) {
+  case VC_MINUS_INFINITY:
+  case VC_PLUS_INFINITY:
+  case VC_NAN:
+    return assign_special<Policy>(to, r, ROUND_IGNORE);
+  default:
+    return r;
+  }
+}
 
-  //! Direct initialization from an unsigned char, default rounding mode.
-  Checked_Number(unsigned char y);
+PPL_SPECIALIZE_INPUT(input_mpq, mpq_class)
 
-  //! Direct initialization from an unsigned short, default rounding mode.
-  Checked_Number(unsigned short y);
+template <typename Policy>
+inline Result
+output_mpq(std::ostream& os,
+	   const mpq_class& from,
+	   const Numeric_Format&,
+	   Rounding_Dir) {
+  os << from;
+  return V_EQ;
+}
 
-  //! Direct initialization from an unsigned int, default rounding mode.
-  Checked_Number(unsigned int y);
+PPL_SPECIALIZE_OUTPUT(output_mpq, mpq_class)
 
-  //! Direct initialization from an unsigned long, default rounding mode.
-  Checked_Number(unsigned long y);
+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);
+}
 
-  //! Direct initialization from an unsigned long long, default rounding mode.
-  Checked_Number(unsigned long long y);
+PPL_SPECIALIZE_ASSIGN(assign_mpq_long_double, mpq_class, long double)
 
-  //! Direct initialization from a float, default rounding mode.
-  Checked_Number(float y);
+} // namespace Checked
 
-  //! Direct initialization from a double, default rounding mode.
-  Checked_Number(double y);
+//! Returns the precision parameter used for rational square root calculations.
+inline unsigned
+rational_sqrt_precision_parameter() {
+  return Checked::rational_sqrt_precision_parameter;
+}
 
-  //! Direct initialization from a long double, default rounding mode.
-  Checked_Number(long double y);
+//! Sets the precision parameter used for rational square root calculations.
+/*! The lesser between numerator and denominator is limited to 2**\p p.
 
-  //! Direct initialization from a rational, default rounding mode.
-  Checked_Number(const mpq_class& y);
+  If \p p is less than or equal to <CODE>INT_MAX</CODE>, sets the
+  precision parameter used for rational square root calculations to \p p.
 
-  //! Direct initialization from an unbounded integer, default rounding mode.
-  Checked_Number(const mpz_class& y);
+  \exception std::invalid_argument
+  Thrown if \p p is greater than <CODE>INT_MAX</CODE>.
+*/
+inline void
+set_rational_sqrt_precision_parameter(const unsigned p) {
+  if (p <= INT_MAX)
+    Checked::rational_sqrt_precision_parameter = p;
+  else
+    throw std::invalid_argument("PPL::set_rational_sqrt_precision_parameter(p)"
+				" with p > INT_MAX");
+}
 
-  //! Direct initialization from a C string, default rounding mode.
-  Checked_Number(const char* y);
+} // namespace Parma_Polyhedra_Library
 
-  //! 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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_ext.inlines.hh line 1. */
+/* Checked extended arithmetic functions.
+*/
 
 
-  //@} // Constructors
+namespace Parma_Polyhedra_Library {
 
-  //! \name Accessors and Conversions
-  //@{
+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 {};
 
-  //! Conversion operator: returns a copy of the underlying numeric value.
-  operator T() const;
+namespace Checked {
 
-  //! Returns a reference to the underlying numeric value.
-  T& raw_value();
+template <typename T>
+inline bool
+handle_ext_natively(const T&) {
+  return FPU_Related<T>::value;
+}
 
-  //! Returns a const reference to the underlying numeric value.
-  const T& raw_value() const;
+template <typename Policy, typename Type>
+inline bool
+ext_to_handle(const Type& x) {
+  return !handle_ext_natively(x)
+    && (Policy::has_infinity || Policy::has_nan);
+}
 
-  //@} // Accessors and Conversions
+template <typename Policy, typename Type>
+inline Result
+sgn_ext(const Type& x) {
+  if (!ext_to_handle<Policy>(x))
+    goto native;
+  if (is_nan<Policy>(x))
+    return VC_NAN;
+  else if (is_minf<Policy>(x))
+    return V_LT;
+  else if (is_pinf<Policy>(x))
+    return V_GT;
+  else {
+  native:
+    return sgn<Policy>(x);
+  }
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+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);
+  }
+}
 
-  //! 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 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);
+  }
+}
 
-  //! \name Assignment Operators
-  //@{
+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);
+  }
+}
 
-  //! Assignment operator.
-  Checked_Number& operator=(const Checked_Number& y);
+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);
+  }
+}
 
-  //! Assignment operator.
-  template <typename From>
-  Checked_Number& operator=(const From& y);
+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);
+  }
+}
 
-  //! Add 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 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);
+  }
+}
 
-  //! Add and assign operator.
-  Checked_Number& operator+=(const T& y);
+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);
+  }
+}
 
-  //! Add and assign operator.
-  template <typename From>
+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_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
+    }
+    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 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_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
+    }
+    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);
+    }
+  }
+}
+
+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 V_LT:
+      goto pinf;
+    case V_GT:
+      goto minf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case V_LT:
+      goto minf;
+    case V_GT:
+      goto pinf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case V_LT:
+	goto pinf;
+      case V_GT:
+	goto minf;
+      default:
+	goto inf_mul_zero;
+      }
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case V_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case V_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      inf_mul_zero:
+	assert(To_Policy::check_inf_mul_zero);
+	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+      }
+    }
+    else {
+    native:
+      return mul<To_Policy, From1_Policy, From2_Policy>(to, x, y, dir);
+    }
+  }
+}
+
+
+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 V_LT:
+      goto a_pinf;
+    case V_GT:
+      goto a_minf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case V_LT:
+      goto a_minf;
+    case V_GT:
+      goto a_pinf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case V_LT:
+	goto a_pinf;
+      case V_GT:
+	goto a_minf;
+      default:
+	goto inf_mul_zero;
+      }
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case V_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 V_GT:
+      a_pinf:
+	if (CHECK_P(To_Policy::check_inf_add_inf, is_minf<To_Policy>(to))) {
+	inf_add_inf:
+	  return assign_special<To_Policy>(to, V_INF_ADD_INF, ROUND_IGNORE);
+	}
+	else
+	  goto pinf;
+      default:
+      inf_mul_zero:
+	assert(To_Policy::check_inf_mul_zero);
+	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+      }
+    }
+    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);
+    }
+  }
+}
+
+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 V_LT:
+      goto a_pinf;
+    case V_GT:
+      goto a_minf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else if (is_pinf<From1_Policy>(x)) {
+    switch (sgn_ext<From2_Policy>(y)) {
+    case V_LT:
+      goto a_minf;
+    case V_GT:
+      goto a_pinf;
+    default:
+      goto inf_mul_zero;
+    }
+  }
+  else {
+    if (is_minf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case V_LT:
+	goto a_pinf;
+      case V_GT:
+	goto a_minf;
+      default:
+	goto inf_mul_zero;
+      }
+    }
+    else if (is_pinf<From2_Policy>(y)) {
+      switch (sgn<From1_Policy>(x)) {
+      case V_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 V_GT:
+      a_pinf:
+	if (CHECK_P(To_Policy::check_inf_sub_inf, is_pinf<To_Policy>(to))) {
+	inf_sub_inf:
+	  return assign_special<To_Policy>(to, V_INF_SUB_INF, ROUND_IGNORE);
+	}
+	else
+	  goto minf;
+      default:
+      inf_mul_zero:
+	assert(To_Policy::check_inf_mul_zero);
+	return assign_special<To_Policy>(to, V_INF_MUL_ZERO, ROUND_IGNORE);
+      }
+    }
+    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);
+    }
+  }
+}
+
+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 V_LT:
+	goto pinf;
+      case V_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_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
+    }
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case V_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case V_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      div_zero:
+	assert(To_Policy::check_div_zero);
+	return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+      }
+    }
+  }
+  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);
+    }
+  }
+}
+
+
+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 V_LT:
+	goto pinf;
+      case V_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_special<To_Policy>(to, V_INF_DIV_INF, ROUND_IGNORE);
+    }
+    else {
+      switch (sgn<From2_Policy>(y)) {
+      case V_LT:
+      minf:
+	return assign_special<To_Policy>(to, VC_MINUS_INFINITY, dir);
+      case V_GT:
+      pinf:
+	return assign_special<To_Policy>(to, VC_PLUS_INFINITY, dir);
+      default:
+      div_zero:
+	assert(To_Policy::check_div_zero);
+	return assign_special<To_Policy>(to, V_DIV_ZERO, ROUND_IGNORE);
+      }
+    }
+  }
+  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);
+    }
+  }
+}
+
+
+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_special<To_Policy>(to, V_INF_MOD, ROUND_IGNORE);
+  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);
+    }
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+mul2exp_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);
+  else {
+  native:
+    return mul2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+template <typename To_Policy, typename From_Policy,
+	  typename To, typename From>
+inline Result
+div2exp_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);
+  else {
+  native:
+    return div2exp<To_Policy, From_Policy>(to, x, exp, dir);
+  }
+}
+
+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_special<To_Policy>(to, V_SQRT_NEG, ROUND_IGNORE);
+  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);
+  }
+}
+
+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);
+}
+
+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);
+}
+
+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);
+}
+
+template <typename Policy1, typename Policy2,
+	  typename Type1, typename Type2>
+inline Result
+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 V_UNORD_COMP;
+  else if (is_minf<Policy1>(x))
+    return is_minf<Policy2>(y) ? V_EQ : V_LT;
+  else if (is_pinf<Policy1>(x))
+    return is_pinf<Policy2>(y) ? V_EQ : V_GT;
+  else {
+    if (is_minf<Policy2>(y))
+      return V_GT;
+    if (is_pinf<Policy2>(y))
+      return V_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);
+}
+
+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 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 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 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 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 VC_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);
+}
+
+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);
+}
+
+} // namespace Checked
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked.defs.hh line 601. */
+
+#undef nonconst
+#ifdef PPL_SAVED_nonconst
+#define nonconst PPL_SAVED_nonconst
+#undef PPL_SAVED_nonconst
+#endif
+
+#undef PPL_FUNCTION_CLASS
+#undef PPL_NAN
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Checked_Number.defs.hh line 30. */
+#include <iosfwd>
+
+namespace Parma_Polyhedra_Library {
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct Checked_Number_Default_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, false);
+  const_bool_nodef(has_infinity, false);
+  const_bool_nodef(convertible, true);
+  const_bool_nodef(fpu_check_inexact, true);
+  const_bool_nodef(check_nan_result, true);
+  static const Rounding_Dir ROUND_DEFAULT_CONSTRUCTOR = ROUND_NATIVE;
+  static const Rounding_Dir ROUND_DEFAULT_OPERATOR = ROUND_NATIVE;
+  static const Rounding_Dir ROUND_DEFAULT_FUNCTION = ROUND_NATIVE;
+  static const Rounding_Dir ROUND_DEFAULT_INPUT = ROUND_NATIVE;
+  static const Rounding_Dir ROUND_DEFAULT_OUTPUT = ROUND_NATIVE;
+  static void handle_result(Result r);
+};
+
+#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(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);
+};
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+struct WRD_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(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;
+  static void handle_result(Result r);
+};
+
+#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(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;
+
+#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
+/*! \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();
+  }
+};
+
+#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;
+
+#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;
+  }
+};
+
+#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();
+  }
+};
+
+/*! \ingroup PPL_CXX_interface */
+template <typename T>
+struct Is_Checked : public False { };
+
+/*! \ingroup PPL_CXX_interface */
+template <typename T, typename P>
+struct Is_Checked<Checked_Number<T, P> > : public True { };
+
+/*! \ingroup PPL_CXX_interface */
+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:
+
+  //! \name Constructors
+  //@{
+
+  //! Default constructor.
+  Checked_Number();
+
+  //! Copy-constructor.
+  Checked_Number(const Checked_Number& y);
+
+  //! 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 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);
+
+  //! 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);
+
+  //! 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);
+
+  //! 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);
+
+  //! Direct initialization from an unsigned long and rounding mode.
+  Checked_Number(unsigned long y, Rounding_Dir dir);
+
+  //! 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
+
+#if PPL_SUPPORTED_DOUBLE
+  //! Direct initialization from a double and rounding mode.
+  Checked_Number(double y, Rounding_Dir dir);
+#endif
+
+#if PPL_SUPPORTED_LONG_DOUBLE
+  //! Direct initialization from a long double and rounding mode.
+  Checked_Number(long double y, Rounding_Dir dir);
+#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);
+
+  //! Direct initialization from a C string and rounding mode.
+  Checked_Number(const char* y, Rounding_Dir dir);
+
+  //! 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);
+
+  //! 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);
+
+  //! Direct initialization from a signed char, default rounding mode.
+  Checked_Number(signed char y);
+
+  //! Direct initialization from a signed short, default rounding mode.
+  Checked_Number(signed short y);
+
+  //! Direct initialization from a signed int, default rounding mode.
+  Checked_Number(signed int y);
+
+  //! Direct initialization from a signed long, default rounding mode.
+  Checked_Number(signed long y);
+
+  //! Direct initialization from a signed long long, default rounding mode.
+  Checked_Number(signed long long y);
+
+  //! Direct initialization from an unsigned char, default rounding mode.
+  Checked_Number(unsigned char y);
+
+  //! Direct initialization from an unsigned short, default rounding mode.
+  Checked_Number(unsigned short y);
+
+  //! Direct initialization from an unsigned int, default rounding mode.
+  Checked_Number(unsigned int y);
+
+  //! 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);
+
+  //! Direct initialization from a float, default rounding mode.
+  Checked_Number(float y);
+
+  //! Direct initialization from a double, default rounding mode.
+  Checked_Number(double y);
+
+  //! Direct initialization from a long double, default rounding mode.
+  Checked_Number(long double y);
+
+  //! Direct initialization from a rational, default rounding mode.
+  Checked_Number(const mpq_class& y);
+
+  //! Direct initialization from an unbounded integer, default rounding mode.
+  Checked_Number(const mpz_class& y);
+
+  //! 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);
+
+
+  //@} // Constructors
+
+  //! \name Accessors and Conversions
+  //@{
+
+  //! Conversion operator: returns a copy of the underlying numeric value.
+  operator T() const;
+
+  //! Returns a reference to the underlying numeric value.
+  T& raw_value();
+
+  //! Returns a const reference to the underlying numeric value.
+  const T& raw_value() const;
+
+  //@} // Accessors and Conversions
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+
+  //! 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;
+
+  //! \name Assignment Operators
+  //@{
+
+  //! Assignment operator.
+  Checked_Number& operator=(const Checked_Number& y);
+
+  //! Assignment operator.
+  template <typename From>
+  Checked_Number& operator=(const From& y);
+
+  //! Add and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator+=(const Checked_Number<T, From_Policy>& y);
+
+  //! Add and assign operator.
+  Checked_Number& operator+=(const T& y);
+
+  //! 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);
 
-  //! Subtract and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator-=(const Checked_Number<T, From_Policy>& y);
+  //! Subtract and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator-=(const Checked_Number<T, From_Policy>& y);
+
+  //! Subtract and assign operator.
+  Checked_Number& operator-=(const T& y);
+
+  //! 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);
+
+  //! Multiply and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator*=(const Checked_Number<T, From_Policy>& y);
+
+  //! Multiply and assign operator.
+  Checked_Number& operator*=(const T& y);
+
+  //! 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);
+
+  //! Divide and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator/=(const Checked_Number<T, From_Policy>& y);
+
+  //! Divide and assign operator.
+  Checked_Number& operator/=(const T& y);
+
+  //! 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);
+
+  //! Compute remainder and assign operator.
+  template <typename From_Policy>
+  Checked_Number& operator%=(const Checked_Number<T, From_Policy>& y);
+
+  //! Compute remainder and assign operator.
+  Checked_Number& operator%=(const T& y);
+
+  //! 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);
+
+  //@} // Assignment Operators
+
+
+  //! \name Increment and Decrement Operators
+  //@{
+
+  //! Pre-increment operator.
+  Checked_Number& operator++();
+
+  //! Post-increment operator.
+  Checked_Number  operator++(int);
+
+  //! Pre-decrement operator.
+  Checked_Number& operator--();
+
+  //! Post-decrement operator.
+  Checked_Number  operator--(int);
+
+  //@} // Increment and Decrement Operators
+
+private:
+  //! The underlying numeric value.
+  T v;
+};
+
+#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> {};
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_not_a_number(const T& x);
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_minus_infinity(const T& x);
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+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);
+
+/*! \relates Checked_Number */
+template <typename T>
+typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
+is_integer(const T& x);
+
+/*! \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);
+
+/*! \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);
+
+/*! \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);
+
+#define FUNC1(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);
+
+FUNC1(assign_r)
+FUNC1(floor_assign_r)
+FUNC1(ceil_assign_r)
+FUNC1(trunc_assign_r)
+FUNC1(neg_assign_r)
+FUNC1(abs_assign_r)
+FUNC1(sqrt_assign_r)
+
+#undef FUNC1
+
+#define FUNC1(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);
+
+FUNC1(mul2exp_assign_r)
+FUNC1(div2exp_assign_r)
+
+#undef FUNC1
+
+#define 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);
+
+FUNC2(add_assign_r)
+FUNC2(sub_assign_r)
+FUNC2(mul_assign_r)
+FUNC2(div_assign_r)
+FUNC2(idiv_assign_r)
+FUNC2(rem_assign_r)
+FUNC2(gcd_assign_r)
+FUNC2(lcm_assign_r)
+FUNC2(add_mul_assign_r)
+FUNC2(sub_mul_assign_r)
+
+#undef FUNC2
+
+#define 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);
+
+FUNC4(gcdext_assign_r)
+
+#undef FUNC4
+
+//! \name Accessor Functions
+//@{
+
+//@} // Accessor Functions
+
+//! \name Memory Size Inspection Functions
+//@{
+
+//! 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);
+
+//! 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);
+
+//@} // Memory Size Inspection Functions
+
+//! \name Arithmetic Operators
+//@{
+
+//! Unary plus operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+Checked_Number<T, Policy>
+operator+(const Checked_Number<T, Policy>& x);
+
+//! Unary minus operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+Checked_Number<T, Policy>
+operator-(const Checked_Number<T, Policy>& x);
+
+//! 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);
+
+//! 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);
+
+//! 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);
+
+//! 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);
+
+//! 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);
+
+//! 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);
+
+//! Assigns to \p x its negation.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+neg_assign(Checked_Number<T, Policy>& x);
+
+//! 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);
+
+//! Assigns to \p x its absolute value.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+void
+abs_assign(Checked_Number<T, Policy>& x);
+
+//! 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);
+
+//! 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);
+
+//! 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);
+
+//! 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);
+
+/*! \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);
+
+//! 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);
+
+/*! \brief
+  If \p z divides \p y, assigns to \p x the quotient of the integer
+  division of \p y and \p z.
+
+  \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);
+
+//! 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);
+
+//@} // Arithmetic Operators
+
+
+//! \name Relational Operators and Comparison Functions
+//@{
+
+//! 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);
+
+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);
+
+//! 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);
+
+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);
+
+//! 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);
+
+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);
+
+//! 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);
+
+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);
+
+//! 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);
+
+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);
+
+/*! \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.
+
+  \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 negative, zero or positive value depending on whether
+  \p x is lower than, equal to or greater than \p y, respectively.
+
+  \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);
+
+//@} // Relational Operators and Comparison Functions
+
+//! \name Input-Output Operators
+//@{
+
+/*! \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);
+
+//! Output operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+std::ostream&
+operator<<(std::ostream& os, const Checked_Number<T, Policy>& x);
+
+//! 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);
+
+//! Input function.
+/*!
+  \relates Checked_Number
+
+  \param is
+  Input stream to read from;
+
+  \param x
+  Number (possibly extended) to assign to in case of successful reading;
+
+  \param dir
+  Rounding mode to be applied.
+
+  \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.
+
+  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>;
+  - 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").
+
+  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.
+
+  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>).
+
+\code
+number	: NAN					INF	: 'inf'
+	| SIGN INF					;
+	| INF
+	| num					NAN	: 'nan'
+	| num DIV num					;
+	;
+						SIGN	: '-'
+num     : unum						| '+'
+        | SIGN unum					;
+
+unum	: unum1					EXP	: 'e'
+	| HEX unum1					| '*^'
+	| 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'
+	;					;
+
+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);
+
+//! Input operator.
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+std::istream&
+operator>>(std::istream& is, Checked_Number<T, Policy>& x);
+
+//! 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);
+
+//@} // Input-Output Operators
+
+void throw_result_exception(Result r);
+
+template <typename T>
+T
+plus_infinity();
+
+template <typename T>
+T
+minus_infinity();
+
+template <typename T>
+T
+not_a_number();
+
+//! 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);
+
+template <typename T, typename Policy>
+struct FPU_Related<Checked_Number<T, Policy> > : public FPU_Related<T> {};
+
+template <typename T>
+void maybe_reset_fpu_inexact();
+
+template <typename T>
+int maybe_check_fpu_inexact();
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Checked_Number.inlines.hh line 1. */
+/* Checked_Number class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/globals.defs.hh line 1. */
+/* Declarations of global objects.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/globals.defs.hh line 31. */
+#include <exception>
+#include <gmpxx.h>
+
+namespace Parma_Polyhedra_Library {
+
+//! Returns a value that does not designate a valid dimension.
+dimension_type
+not_a_dimension();
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Make sure swap() is specialized when needed.
+
+  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");
+}
+
+/*! \brief
+  Declare a local variable named \p id, of type Coefficient, and containing
+  an unknown initial value.
+
+  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)
+
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Speculative allocation function.
+/*!
+  \return
+  The actual capacity to be allocated.
+
+  \param requested_size
+  The number of elements we need.
+
+  \param maximum_size
+  The maximum number of elements to be allocated. It is assumed
+  to be no less than \p requested_size.
+
+  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);
+
+//! 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;
+
+  //! Virtual destructor.
+  virtual ~Throwable();
+};
+
+/*! \brief
+  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.
+*/
+extern const Throwable* volatile abandon_expensive_computations;
+
+#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.
+
+  \relates Throwable
+*/
+#endif
+void
+maybe_abandon();
+
+//! A tag class.
+/*! \ingroup PPL_CXX_interface
+  Tag class to make the Grid covering box constructor unique.
+*/
+struct From_Covering_Box {
+};
+
+//! 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 {
+};
+
+// 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)
+
+#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;
+
+#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 namespace IO_Operators;				\
+    std::cerr << *this;						\
+  }
+
+#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; \
+  }
+
+#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 namespace IO_Operators;					\
+    std::cerr << *this;							\
+  }
+
+#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 namespace IO_Operators;					\
+    std::cerr << *this;							\
+  }
+
+#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 namespace IO_Operators;					\
+      std::cerr << *this;						\
+    }
+
+#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;	\
+  }
+
+template <typename T, long long v, typename Enable = void>
+struct Fit : public False {
+};
+
+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))
+  };
+};
+
+template <typename T, long long v>
+struct TConstant {
+  static const T value = v;
+};
+
+
+template <typename T, long long v>
+const T TConstant<T, v>::value;
+
+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> {
+};
+
+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> {
+};
+
+//! \name Memory Size Inspection Functions
+//@{
+
+#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.
+*/
+#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);
+
+#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);
+
+//@} // Memory Size Inspection Functions
+
+
+template <typename T, typename Enable = void>
+struct Has_OK : public False { };
+
+template <typename T>
+struct Has_OK<T, typename Enable_If_Is<bool (T::*)() const, &T::OK>::type>
+  : public True {
+};
+
+template <typename T>
+inline typename Enable_If<Has_OK<T>::value, bool>::type
+f_OK(const T& to) {
+  return to.OK();
+}
+
+#define FOK(T) inline bool f_OK(const T&) { return true; }
+
+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)
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/globals.inlines.hh line 1. */
+/* Implementation of global objects: inline functions.
+*/
+
+
+#include <limits>
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+inline dimension_type
+not_a_dimension() {
+  return std::numeric_limits<dimension_type>::max();
+}
+
+inline
+Throwable::~Throwable() {
+}
+
+inline void
+maybe_abandon() {
+  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 /home/bagnara/ppl/ppl/src/globals.defs.hh line 387. */
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Checked_Number.inlines.hh line 27. */
+#include <stdexcept>
+#include <sstream>
+
+namespace Parma_Polyhedra_Library {
+
+inline Rounding_Dir
+rounding_dir(Rounding_Dir dir) {
+  if (dir == ROUND_NOT_NEEDED) {
+#ifdef DEBUG_ROUND_NOT_NEEDED
+    return ROUND_DIRECT & ROUND_FPU_CHECK_INEXACT;
+#else
+    return ROUND_IGNORE;
+#endif
+  }
+  return dir;
+}
+
+inline Result
+check_result(Result r, Rounding_Dir dir) {
+  if (dir == ROUND_NOT_NEEDED && !is_special(r)) {
+#ifdef DEBUG_ROUND_NOT_NEEDED
+    // FIXME: this is wrong. If an overflow happens the Result may be
+    // V_LT or V_GT. What's the better way to cope with that?
+
+    // To solve this we need to clarify if ROUND_NOT_NEEDED is
+    // specified to grant library that the result will be exact _and_
+    // not overflowing or the result will be exact _or_ overflowling.
+    assert(r == V_EQ);
+#else
+    return V_EQ;
+#endif
+  }
+  return r;
+}
+
+
+template <typename T>
+inline void
+Checked_Number_Transparent_Policy<T>::handle_result(Result) {
+}
+
+inline void
+Checked_Number_Default_Policy::handle_result(Result r) {
+  if (is_special(r))
+    throw_result_exception(r);
+}
+
+inline void
+Extended_Number_Policy::handle_result(Result r) {
+  if (is_special(r))
+    throw_result_exception(r);
+}
+
+inline void
+WRD_Extended_Number_Policy::handle_result(Result r) {
+  if (is_special(r))
+    throw_result_exception(r);
+}
+
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::Checked_Number()
+ : v(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());
+}
+
+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 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));
+}
+
+// TODO: avoid default construction of value member.
+#define DEF_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));						\
+}
 
-  //! Subtract and assign operator.
-  Checked_Number& operator-=(const T& y);
+#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__)
 
-  //! 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);
+DEF_CTOR(signed char)
+DEF_CTOR(signed short)
+DEF_CTOR(signed int)
+DEF_CTOR(signed long)
+DEF_CTOR(signed long long)
+DEF_CTOR(unsigned char)
+DEF_CTOR(unsigned short)
+DEF_CTOR(unsigned int)
+DEF_CTOR(unsigned long)
+DEF_CTOR(unsigned long long)
+PPL_COND(PPL_SUPPORTED_FLOAT, DEF_CTOR(float))
+PPL_COND(PPL_SUPPORTED_DOUBLE, DEF_CTOR(double))
+PPL_COND(PPL_SUPPORTED_LONG_DOUBLE, DEF_CTOR(long double))
+DEF_CTOR(mpq_class&)
+DEF_CTOR(mpz_class&)
 
-  //! Multiply and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator*=(const Checked_Number<T, From_Policy>& y);
+#undef DEF_CTOR
 
-  //! Multiply and assign operator.
-  Checked_Number& operator*=(const T& y);
+#undef PPL_COND
+#undef PPL_COND_
+#undef PPL_COND_1
+#undef PPL_COND_0
 
-  //! 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 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));
+}
 
-  //! Divide and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator/=(const Checked_Number<T, From_Policy>& y);
+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));
+}
 
-  //! Divide and assign operator.
-  Checked_Number& operator/=(const T& y);
+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::code,
+							    rounding_dir(dir)),
+				     dir));
+}
 
-  //! 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 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::code,
+							    rounding_dir(dir)),
+				     dir));
+}
 
-  //! Compute remainder and assign operator.
-  template <typename From_Policy>
-  Checked_Number& operator%=(const Checked_Number<T, From_Policy>& 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::code,
+				rounding_dir(dir)),
+		      dir);
+}
 
-  //! Compute remainder and assign operator.
-  Checked_Number& operator%=(const T& 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::code,
+				rounding_dir(dir)),
+		      dir);
+}
 
-  //! 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 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));
+}
 
-  //@} // Assignment Operators
+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));
+}
 
+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;
+}
 
-  //! \name Increment and Decrement Operators
-  //@{
+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));
+}
 
-  //! Pre-increment operator.
-  Checked_Number& operator++();
+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));
+}
 
-  //! Post-increment operator.
-  Checked_Number  operator++(int);
+template <typename T, typename Policy>
+inline
+Checked_Number<T, Policy>::operator T() const {
+  if (Policy::convertible)
+    return v;
+}
 
-  //! Pre-decrement operator.
-  Checked_Number& operator--();
+template <typename T, typename Policy>
+inline T&
+Checked_Number<T, Policy>::raw_value() {
+  return v;
+}
 
-  //! Post-decrement operator.
-  Checked_Number  operator--(int);
+template <typename T, typename Policy>
+inline const T&
+Checked_Number<T, Policy>::raw_value() const {
+  return v;
+}
 
-  //@} // Increment and Decrement Operators
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline const T&
+raw_value(const Checked_Number<T, Policy>& x) {
+  return x.raw_value();
+}
 
-private:
-  //! The underlying numeric value.
-  T v;
-};
+/*! \relates Checked_Number */
+template <typename T, typename Policy>
+inline T&
+raw_value(Checked_Number<T, Policy>& x) {
+  return x.raw_value();
+}
 
-#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 T, typename Policy>
+inline bool
+Checked_Number<T, Policy>::OK() const {
+  return true;
+}
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_not_a_number(const T& x);
+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);
+}
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_minus_infinity(const T& x);
+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());
+}
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_plus_infinity(const T& x);
+template <typename T, typename Policy>
+inline bool
+is_minus_infinity(const Checked_Number<T, Policy>& x) {
+  return Checked::is_minf<Policy>(x.raw_value());
+}
 
-/*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, int>::type
-is_infinity(const T& x);
+template <typename T, typename Policy>
+inline bool
+is_plus_infinity(const Checked_Number<T, Policy>& x) {
+  return Checked::is_pinf<Policy>(x.raw_value());
+}
 
 /*! \relates Checked_Number */
-template <typename T>
-typename Enable_If<Is_Native_Or_Checked<T>::value, bool>::type
-is_integer(const T& x);
+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());
+}
 
 /*! \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);
+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());
+}
 
-/*! \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);
-
-/*! \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 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);
+}
 
-#define FUNC1(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);
+#define FUNC1(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);			\
+}
 
-FUNC1(assign_r)
-FUNC1(floor_assign_r)
-FUNC1(ceil_assign_r)
-FUNC1(trunc_assign_r)
-FUNC1(neg_assign_r)
-FUNC1(abs_assign_r)
-FUNC1(sqrt_assign_r)
+FUNC1(construct, construct_ext)
+FUNC1(assign_r, assign_ext)
+FUNC1(floor_assign_r, floor_ext)
+FUNC1(ceil_assign_r, ceil_ext)
+FUNC1(trunc_assign_r, trunc_ext)
+FUNC1(neg_assign_r, neg_ext)
+FUNC1(abs_assign_r, abs_ext)
+FUNC1(sqrt_assign_r, sqrt_ext)
 
 #undef FUNC1
 
-#define FUNC1(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);
+#define FUNC1(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);							\
+}
 
-FUNC1(mul2exp_assign_r)
-FUNC1(div2exp_assign_r)
+FUNC1(mul2exp_assign_r, mul2exp_ext)
+FUNC1(div2exp_assign_r, div2exp_ext)
 
 #undef FUNC1
 
-#define 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);
+#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);							\
+}
 
-FUNC2(add_assign_r)
-FUNC2(sub_assign_r)
-FUNC2(mul_assign_r)
-FUNC2(div_assign_r)
-FUNC2(idiv_assign_r)
-FUNC2(rem_assign_r)
-FUNC2(gcd_assign_r)
-FUNC2(lcm_assign_r)
-FUNC2(add_mul_assign_r)
-FUNC2(sub_mul_assign_r)
+FUNC2(add_assign_r, add_ext)
+FUNC2(sub_assign_r, sub_ext)
+FUNC2(mul_assign_r, mul_ext)
+FUNC2(div_assign_r, div_ext)
+FUNC2(idiv_assign_r, idiv_ext)
+FUNC2(rem_assign_r, rem_ext)
+FUNC2(gcd_assign_r, gcd_ext)
+FUNC2(lcm_assign_r, lcm_ext)
+FUNC2(add_mul_assign_r, add_mul_ext)
+FUNC2(sub_mul_assign_r, sub_mul_ext)
 
 #undef FUNC2
 
-#define 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);
+#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);								\
+}
 
-FUNC4(gcdext_assign_r)
+FUNC4(gcdext_assign_r, gcdext_ext)
 
 #undef FUNC4
 
-//! \name Accessor Functions
-//@{
-
-//@} // Accessor Functions
+#define DEF_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;\
+}
 
-//! \name Memory Size Inspection Functions
-//@{
+DEF_INCREMENT(operator ++, add_assign_r)
+DEF_INCREMENT(operator --, sub_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
-total_memory_in_bytes(const Checked_Number<T, Policy>& x);
+#undef DEF_INCREMENT
 
-//! 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);
-
-//@} // Memory Size Inspection Functions
-
-//! \name Arithmetic Operators
-//@{
-
-//! Unary plus operator.
-/*! \relates Checked_Number */
+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;
+}
 template <typename T, typename Policy>
-Checked_Number<T, Policy>
-operator+(const Checked_Number<T, Policy>& x);
+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;
+}
 
-//! Unary minus operator.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-Checked_Number<T, Policy>
-operator-(const Checked_Number<T, Policy>& x);
+#define DEF_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; \
+}
 
-//! 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);
+DEF_BINARY_OP_ASSIGN(operator +=, add_assign_r)
+DEF_BINARY_OP_ASSIGN(operator -=, sub_assign_r)
+DEF_BINARY_OP_ASSIGN(operator *=, mul_assign_r)
+DEF_BINARY_OP_ASSIGN(operator /=, div_assign_r)
+DEF_BINARY_OP_ASSIGN(operator %=, rem_assign_r)
 
-//! 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);
+#undef DEF_BINARY_OP_ASSIGN
 
-//! 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);
+#define DEF_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; \
+}
 
-//! 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);
+DEF_BINARY_OP(operator +, add_assign_r)
+DEF_BINARY_OP(operator -, sub_assign_r)
+DEF_BINARY_OP(operator *, mul_assign_r)
+DEF_BINARY_OP(operator /, div_assign_r)
+DEF_BINARY_OP(operator %, rem_assign_r)
 
-//! 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);
+#undef DEF_BINARY_OP
 
-//! 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);
+#define DEF_COMPARE(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));			\
+}
 
-//! Assigns to \p x its negation.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-neg_assign(Checked_Number<T, Policy>& x);
+DEF_COMPARE(operator ==, eq_ext)
+DEF_COMPARE(operator !=, ne_ext)
+DEF_COMPARE(operator >=, ge_ext)
+DEF_COMPARE(operator >, gt_ext)
+DEF_COMPARE(operator <=, le_ext)
+DEF_COMPARE(operator <, lt_ext)
 
-//! 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);
+#undef DEF_COMPARE
 
-//! Assigns to \p x its absolute value.
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-void
-abs_assign(Checked_Number<T, Policy>& x);
+#define DEF_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));			\
+}
 
-//! 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);
+DEF_COMPARE(equal, eq_ext)
+DEF_COMPARE(not_equal, ne_ext)
+DEF_COMPARE(greater_or_equal, ge_ext)
+DEF_COMPARE(greater_than, gt_ext)
+DEF_COMPARE(less_or_equal, le_ext)
+DEF_COMPARE(less_than, lt_ext)
 
-//! 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);
+#undef DEF_COMPARE
 
-//! 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);
+inline Checked_Number<T, Policy>
+operator+(const Checked_Number<T, Policy>& x) {
+  return x;
+}
 
-//! 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);
+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;
+}
 
-/*! \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);
+#define PPL_DEF_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));	\
+}
 
-//! 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);
+#define PPL_DEF_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)); \
+}
 
-/*! \brief
-  If \p z divides \p y, assigns to \p x the quotient of the integer
-  division of \p y and \p z.
+#define PPL_DEF_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)); \
+}
 
-  \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);
+#define PPL_DEF_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)); \
+}
 
-//! 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_DEF_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
 
-//@} // Arithmetic Operators
+PPL_DEF_ASSIGN_FUN2_1(floor_assign, floor_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(floor_assign, floor_assign_r)
 
+PPL_DEF_ASSIGN_FUN2_1(ceil_assign, ceil_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(ceil_assign, ceil_assign_r)
 
-//! \name Relational Operators and Comparison Functions
-//@{
+PPL_DEF_ASSIGN_FUN2_1(trunc_assign, trunc_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(trunc_assign, trunc_assign_r)
 
-//! 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_DEF_ASSIGN_FUN2_1(neg_assign, neg_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(neg_assign, neg_assign_r)
 
-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);
+PPL_DEF_ASSIGN_FUN2_1(abs_assign, abs_assign_r)
+PPL_DEF_ASSIGN_FUN2_2(abs_assign, abs_assign_r)
 
-//! 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_DEF_ASSIGN_FUN3_3(add_mul_assign, add_mul_assign_r)
 
-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);
+PPL_DEF_ASSIGN_FUN3_3(sub_mul_assign, sub_mul_assign_r)
 
-//! 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_DEF_ASSIGN_FUN3_3(rem_assign, rem_assign_r)
 
-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);
+PPL_DEF_ASSIGN_FUN3_3(gcd_assign, gcd_assign_r)
 
-//! 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_DEF_ASSIGN_FUN5_5(gcdext_assign, gcdext_assign_r)
 
-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);
+PPL_DEF_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
 
-//! 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);
+#undef PPL_DEF_ASSIGN_FUN2_1
+#undef PPL_DEF_ASSIGN_FUN2_2
+#undef PPL_DEF_ASSIGN_FUN3_2
+#undef PPL_DEF_ASSIGN_FUN3_3
+#undef PPL_DEF_ASSIGN_FUN5_5
 
-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);
+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));
+}
 
-//! 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);
-
-/*! \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.
-
-  \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 negative, zero or positive value depending on whether
-  \p x is lower than, equal to or greater than \p y, respectively.
+inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type
+sgn(const From& x) {
+  Result r = Checked::sgn_ext<typename Native_Checked_From_Wrapper<From>::Policy>(Native_Checked_From_Wrapper<From>::raw_value(x));
+  switch (r) {
+  case V_LT:
+    return -1;
+  case V_EQ:
+    return 0;
+  case V_GT:
+    return 1;
+  default:
+    throw(0);
+  }
+}
 
-  \relates Checked_Number
-*/
+/*! \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);
-
-//@} // Relational Operators and Comparison Functions
-
-//! \name Input-Output Operators
-//@{
+cmp(const From1& x, const From2& y) {
+  Result 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 V_LT:
+    return -1;
+  case V_EQ:
+    return 0;
+  case V_GT:
+    return 1;
+  default:
+    throw(0);
+  }
+}
 
 /*! \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);
+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);
+}
 
-//! Output operator.
 /*! \relates Checked_Number */
 template <typename T, typename Policy>
-std::ostream&
-operator<<(std::ostream& os, const Checked_Number<T, Policy>& x);
-
-//! 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);
-
-//! Input function.
-/*!
-  \relates Checked_Number
-
-  \param is
-  Input stream to read from;
-
-  \param x
-  Number (possibly extended) to assign to in case of successful reading;
-
-  \param dir
-  Rounding mode to be applied.
-
-  \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.
-
-  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>;
-  - 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").
-
-  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.
-
-  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>).
-
-\code
-number	: NAN					INF	: 'inf'
-	| SIGN INF					;
-	| INF
-	| num					NAN	: 'nan'
-	| num DIV num					;
-	;
-						SIGN	: '-'
-num     : unum						| '+'
-        | SIGN unum					;
-
-unum	: unum1					EXP	: 'e'
-	| HEX unum1					| '*^'
-	| 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'
-	;					;
+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;
+}
 
-bdigits : BDIGIT				BASE	: '^^'
-	| bdigits BDIGIT				;
-	;
-						DIGIT   : '0' .. '9'
-digits  : DIGIT						;
-	| digits DIGIT
-	;					BDIGIT  : '0' .. '9'
-							| 'a' .. 'z'
-							;
-\endcode
-*/
+/*! \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);
+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);
+}
 
-//! Input operator.
 /*! \relates Checked_Number */
 template <typename T, typename Policy>
-std::istream&
-operator>>(std::istream& is, Checked_Number<T, Policy>& x);
-
-//! 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);
-
-//@} // Input-Output Operators
-
-void throw_result_exception(Result r);
+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 T>
-T
-plus_infinity();
+inline T
+plus_infinity() {
+  return PLUS_INFINITY;
+}
 
 template <typename T>
-T
-minus_infinity();
+inline T
+minus_infinity() {
+  return MINUS_INFINITY;
+}
 
 template <typename T>
-T
-not_a_number();
+inline T
+not_a_number() {
+  return NOT_A_NUMBER;
+}
 
-//! 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);
-
-template <typename T, typename Policy>
-struct FPU_Related<Checked_Number<T, Policy> > : public FPU_Related<T> {};
+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>
-void maybe_reset_fpu_inexact();
+inline void
+maybe_reset_fpu_inexact() {
+  if (FPU_Related<T>::value)
+    return fpu_reset_inexact();
+}
 
 template <typename T>
-int maybe_check_fpu_inexact();
+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/Checked_Number.inlines.hh line 1. */
-/* Checked_Number class implementation: inline functions.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_numeric_limits.hh line 1. */
+/* Specializations of std::numeric_limits for "checked" types.
 */
 
 
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 1. */
-/* Declarations of global objects.
-*/
-
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/checked_numeric_limits.hh line 28. */
+#include <limits>
 
-/* Automatically generated from PPL source file ../src/globals.defs.hh line 31. */
-#include <exception>
-#include <gmpxx.h>
+namespace std {
 
-namespace Parma_Polyhedra_Library {
+using namespace Parma_Polyhedra_Library;
 
-//! Returns a value that does not designate a valid dimension.
-dimension_type
-not_a_dimension();
+#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() {							\
+    return Checked::Extended_Int<Policy, T>::min;                       \
+  }									\
+                                                                        \
+  static Type max() {							\
+    return Checked::Extended_Int<Policy, T>::max;                       \
+  }									\
+									\
+  static Type infinity() {						\
+    return								\
+      Policy::has_infinity						\
+      ? PLUS_INFINITY                                                   \
+      : static_cast<Type>(0);						\
+  }									\
+									\
+  static Type quiet_NaN() {						\
+    return								\
+      Policy::has_nan                                                   \
+      ? NOT_A_NUMBER                                                    \
+      : static_cast<Type>(0);						\
+  }									\
+};
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Make sure swap() is specialized when needed.
+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)
 
-  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&) {
-  COMPILE_TIME_CHECK(!Slow_Copy<T>::value, "missing swap specialization");
-}
+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)
 
-// FIXME: write a comment for this.
-#define TEMP_INTEGER(id) DIRTY_TEMP0(Coefficient, id)
+#undef PPL_SPECIALIZE_LIMITS_INT
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Speculative allocation function.
-/*!
-  \return
-  The actual capacity to be allocated.
+#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> {						\
+};
 
-  \param requested_size
-  The number of elements we need.
+#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
 
-  \param maximum_size
-  The maximum number of elements to be allocated. It is assumed
-  to be no less than \p requested_size.
+#undef PPL_SPECIALIZE_LIMITS_FLOAT
 
-  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.
-*/
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Partial specialization of std::numeric_limits.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-dimension_type
-compute_capacity(dimension_type requested_size,
-		 dimension_type maximum_size);
-
-// FIXME!!!
-dimension_type
-compute_capacity(dimension_type requested_size);
+template <typename Policy>
+class
+numeric_limits<Checked_Number<mpz_class, Policy> >
+  : public numeric_limits<mpz_class> {
+private:
+  typedef Checked_Number<mpz_class, Policy> Type;
 
-//! 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;
-
-  //! Virtual destructor.
-  virtual ~Throwable();
-};
-
-/*! \brief
-  A pointer to an exception object.
+  static const bool has_infinity = Policy::has_infinity;
+  static const bool has_quiet_NaN =  Policy::has_nan;
 
-  \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.
+  static Type infinity() {
+    return
+      Policy::has_infinity
+      ? PLUS_INFINITY
+      : static_cast<Type>(0);
+  }
 
-  \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;
+  static Type quiet_NaN() {
+    return
+      Policy::has_nan
+      ? NOT_A_NUMBER
+      : static_cast<Type>(0);
+  }
+};
 
 #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.
+//! 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;
 
-  \relates Throwable
-*/
-#endif
-void
-maybe_abandon();
+public:
+  static const bool has_infinity = Policy::has_infinity;
+  static const bool has_quiet_NaN =  Policy::has_nan;
 
-//! A tag class.
-/*! \ingroup PPL_CXX_interface
-  Tag class to make the Grid covering box constructor unique.
-*/
-struct From_Covering_Box {
-};
+  static Type infinity() {
+    return
+      Policy::has_infinity
+      ? PLUS_INFINITY
+      : static_cast<Type>(0);
+  }
 
-//! 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 {
+  static Type quiet_NaN() {
+    return
+      Policy::has_nan
+      ? NOT_A_NUMBER
+      : static_cast<Type>(0);
+  }
 };
 
-// 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)
-
-#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;
+} // namespace std
 
-#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 namespace IO_Operators;				\
-    std::cerr << *this;						\
-  }
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Checked_Number.templates.hh line 1. */
+/* Checked_Number class implementation: non-inline template functions.
+*/
 
-#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; \
-  }
 
-#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 namespace IO_Operators;					\
-    std::cerr << *this;							\
-  }
+#include <cassert>
+#include <iomanip>
+#include <limits>
 
-// FIXME: The class_prefix has changed from
-//        PPL_OUTPUT_TEMPLATE_DEFINITIONS, to work around `,'.
-//        Perhaps PPL_OUTPUT_TEMPLATE_DEFINITIONS should be changed to
-//        match this.
-#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 namespace IO_Operators;					\
-    std::cerr << *this;							\
-  }
+namespace Parma_Polyhedra_Library {
 
-// FIXME: Copy and edit of PPL_OUTPUT_2_PARAM_TEMPLATE_DEFINITIONS
-#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 namespace IO_Operators;					\
-      std::cerr << *this;						\
+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]);
     }
-
-#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;	\
+    s.flags(old_flags);
+    // ... and then pretty print it for readability.
+    s << " (" << t << ")";
   }
+}
 
-template <typename T, long long v, typename Enable = void>
-struct Fit : public False {
-};
-
-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))
-  };
-};
-
-template <typename T, long long v>
-struct TConstant {
-  static const T value = v;
-};
-
-
-template <typename T, long long v>
-const T TConstant<T, v>::value;
-
-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> {
-};
+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);
+  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;
+      }
+      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] == ')';
+  }
+}
 
-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> {
-};
+} // namespace Parma_Polyhedra_Library
 
-template <long long v, bool prefer_signed = true>
-struct Constant : public Constant_<long long, v, prefer_signed> {
-};
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Checked_Number.defs.hh line 1076. */
 
-//! \name Memory Size Inspection Functions
-//@{
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.types.hh line 16. */
 
-#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&);
+#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
 
-#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&);
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns the total size in bytes of the memory occupied by \p x.
+//! Coefficient traits specialization for 8 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-total_memory_in_bytes(const mpz_class& x);
+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
-//! Returns the size in bytes of the memory managed by \p x.
+//! Coefficient traits specialization for 16 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-external_memory_in_bytes(const mpz_class& x);
+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
-//! Returns the total size in bytes of the memory occupied by \p x.
+//! Coefficient traits specialization for 32 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-total_memory_in_bytes(const mpq_class& x);
+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
-//! Returns the size in bytes of the memory managed by \p x.
+//! Coefficient traits specialization for 64 bits checked integers.
+/*! \ingroup PPL_CXX_interface */
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-memory_size_type
-external_memory_in_bytes(const mpq_class& x);
-
-//@} // Memory Size Inspection Functions
-
-
-template <typename T, typename Enable = void>
-struct Has_OK : public False { };
-
-template <typename T>
-struct Has_OK<T, typename Enable_If_Is<bool (T::*)() const, &T::OK>::type>
-  : public True {
+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 T>
-inline typename Enable_If<Has_OK<T>::value, bool>::type
-f_OK(const T& to) {
-  return to.OK();
-}
-
-#define FOK(T) inline bool f_OK(const T&) { return true; }
-
-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)
-
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/globals.inlines.hh line 1. */
-/* Implementation of global objects: inline functions.
-*/
-
-
-#include <limits>
-#include <cassert>
+#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
 
-namespace Parma_Polyhedra_Library {
+#ifdef PPL_GMP_INTEGERS
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/GMP_Integer.types.hh line 1. */
 
-inline dimension_type
-not_a_dimension() {
-  return std::numeric_limits<dimension_type>::max();
-}
 
-inline
-Throwable::~Throwable() {
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/GMP_Integer.types.hh line 16. */
+#include <gmpxx.h>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/GMP_Integer.types.hh line 18. */
 
-inline void
-maybe_abandon() {
-  if (const Throwable* p = abandon_expensive_computations)
-    p->throw_me();
-}
+namespace Parma_Polyhedra_Library {
 
-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;
-}
+/*! \class Parma_Polyhedra_Library::GMP_Integer
+  \brief
+  Unbounded integers as provided by the GMP library.
 
-// FIXME!!!
-inline dimension_type
-compute_capacity(const dimension_type requested_size) {
-  // Speculation factor 2.
-  return 2*(requested_size + 1);
-  // Speculation factor 1.5.
-  // return requested_size + requested_size/2 + 1;
-}
+  \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 T>
-inline typename
-Enable_If<Is_Native<T>::value, memory_size_type>::type
-external_memory_in_bytes(const T&) {
-  return 0;
-}
+#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 T>
-inline typename
-Enable_If<Is_Native<T>::value, memory_size_type>::type
-total_memory_in_bytes(const T&) {
-  return sizeof(T);
-}
+} // namespace Parma_Polyhedra_Library
 
-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;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.types.hh line 67. */
+#endif
 
-inline memory_size_type
-total_memory_in_bytes(const mpz_class& x) {
-  return sizeof(x) + external_memory_in_bytes(x);
-}
+namespace Parma_Polyhedra_Library {
 
-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());
-}
+//! 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 its default
+      policy (Checked_Number_Default_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;
 
-inline memory_size_type
-total_memory_in_bytes(const mpq_class& x) {
-  return sizeof(x) + external_memory_in_bytes(x);
-}
+#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/globals.defs.hh line 390. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Expression.types.hh line 1. */
 
-/* Automatically generated from PPL source file ../src/Checked_Number.inlines.hh line 27. */
-#include <stdexcept>
-#include <sstream>
 
 namespace Parma_Polyhedra_Library {
 
-inline Rounding_Dir
-rounding_dir(Rounding_Dir dir) {
-  if (dir == ROUND_NOT_NEEDED) {
-#ifdef DEBUG_ROUND_NOT_NEEDED
-    return ROUND_DIRECT & ROUND_FPU_CHECK_INEXACT;
-#else
-    return ROUND_IGNORE;
-#endif
-  }
-  return dir;
-}
-
-inline Result
-check_result(Result r, Rounding_Dir dir) {
-  if (dir == ROUND_NOT_NEEDED && !is_special(r)) {
-#ifdef DEBUG_ROUND_NOT_NEEDED
-    // FIXME: this is wrong. If an overflow happens the Result may be
-    // V_LT or V_GT. What's the better way to cope with that?
-    assert(r == V_EQ);
-#else
-    return V_EQ;
-#endif
-  }
-  return r;
-}
-
-
-template <typename T>
-inline void
-Checked_Number_Transparent_Policy<T>::handle_result(Result) {
-}
-
-inline void
-Checked_Number_Default_Policy::handle_result(Result r) {
-  if (is_special(r))
-    throw_result_exception(r);
-}
-
-inline void
-Extended_Number_Policy::handle_result(Result r) {
-  if (is_special(r))
-    throw_result_exception(r);
-}
+class Linear_Expression;
 
-inline void
-WRD_Extended_Number_Policy::handle_result(Result r) {
-  if (is_special(r))
-    throw_result_exception(r);
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::Checked_Number()
- : v(0) {
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint.types.hh line 1. */
 
-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());
-}
 
-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)
-			);
-}
+namespace Parma_Polyhedra_Library {
 
-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));
-}
+class Constraint;
 
-// TODO: avoid default construction of value member.
-#define DEF_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));						\
-}
+} // namespace Parma_Polyhedra_Library
 
-#define COND_0(...)
-#define COND_1(...) __VA_ARGS__
-#define COND_(if, ...) COND_##if(__VA_ARGS__)
-#define COND(if, ...) COND_(if, __VA_ARGS__)
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator.types.hh line 1. */
 
-DEF_CTOR(signed char)
-DEF_CTOR(signed short)
-DEF_CTOR(signed int)
-DEF_CTOR(signed long)
-DEF_CTOR(signed long long)
-DEF_CTOR(unsigned char)
-DEF_CTOR(unsigned short)
-DEF_CTOR(unsigned int)
-DEF_CTOR(unsigned long)
-DEF_CTOR(unsigned long long)
-COND(PPL_SUPPORTED_FLOAT, DEF_CTOR(float))
-COND(PPL_SUPPORTED_DOUBLE, DEF_CTOR(double))
-COND(PPL_SUPPORTED_LONG_DOUBLE, DEF_CTOR(long double))
-DEF_CTOR(mpq_class&)
-DEF_CTOR(mpz_class&)
 
-#undef DEF_CTOR
+namespace Parma_Polyhedra_Library {
 
-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));
-}
+class Generator;
 
-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));
-}
+} // namespace Parma_Polyhedra_Library
 
-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::code,
-							    rounding_dir(dir)),
-				     dir));
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence.types.hh line 1. */
 
-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::code,
-							    rounding_dir(dir)),
-				     dir));
-}
 
-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::code,
-				rounding_dir(dir)),
-		      dir);
-}
+namespace Parma_Polyhedra_Library {
 
-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::code,
-				rounding_dir(dir)),
-		      dir);
-}
+class Congruence;
 
-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 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));
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator.types.hh line 1. */
 
-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;
-}
 
-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));
-}
+namespace Parma_Polyhedra_Library {
 
-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));
-}
+class Grid_Generator;
 
-template <typename T, typename Policy>
-inline
-Checked_Number<T, Policy>::operator T() const {
-  if (Policy::convertible)
-    return v;
 }
 
-template <typename T, typename Policy>
-inline T&
-Checked_Number<T, Policy>::raw_value() {
-  return v;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Scalar_Products.defs.hh line 34. */
 
-template <typename T, typename Policy>
-inline const T&
-Checked_Number<T, Policy>::raw_value() const {
-  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>.
+*/
+#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);
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline const T&
-raw_value(const Checked_Number<T, Policy>& x) {
-  return x.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);
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline T&
-raw_value(Checked_Number<T, Policy>& x) {
-  return x.raw_value();
-}
+  /*! \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);
 
-template <typename T, typename Policy>
-inline bool
-Checked_Number<T, Policy>::OK() const {
-  return true;
-}
+  /*! \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);
 
-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);
-}
+  /*! \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);
 
-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());
-}
+  /*! \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);
+};
 
-template <typename T, typename Policy>
-inline bool
-is_minus_infinity(const Checked_Number<T, Policy>& x) {
-  return Checked::is_minf<Policy>(x.raw_value());
-}
+#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);
+  //! Constructs the function object according to the topology of \p g.
+  Topology_Adjusted_Scalar_Product_Sign(const Generator& g);
 
-template <typename T, typename Policy>
-inline bool
-is_plus_infinity(const Checked_Number<T, Policy>& x) {
-  return Checked::is_pinf<Policy>(x.raw_value());
-}
+  //! 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;
 
-/*! \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());
-}
+private:
+  //! The type of the scalar product sign function pointer.
+  typedef int (*SPS_type)(const Linear_Row&, const Linear_Row&);
 
-/*! \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());
-}
+  //! The scalar product sign function pointer.
+  SPS_type sps_fp;
+};
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Scalar_Products.inlines.hh line 1. */
+/* Scalar_Products class implementation (inline functions).
+*/
 
-/*! \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);
-}
 
-#define FUNC1(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);			\
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Row.defs.hh line 1. */
+/* Linear_Row class declaration.
+*/
 
-FUNC1(construct, construct_ext)
-FUNC1(assign_r, assign_ext)
-FUNC1(floor_assign_r, floor_ext)
-FUNC1(ceil_assign_r, ceil_ext)
-FUNC1(trunc_assign_r, trunc_ext)
-FUNC1(neg_assign_r, neg_ext)
-FUNC1(abs_assign_r, abs_ext)
-FUNC1(sqrt_assign_r, sqrt_ext)
 
-#undef FUNC1
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Row.defs.hh line 1. */
+/* Row class declaration.
+*/
 
-#define FUNC1(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);							\
-}
 
-FUNC1(mul2exp_assign_r, mul2exp_ext)
-FUNC1(div2exp_assign_r, div2exp_ext)
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Row.types.hh line 1. */
 
-#undef FUNC1
 
-#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);							\
-}
+namespace Parma_Polyhedra_Library {
 
-FUNC2(add_assign_r, add_ext)
-FUNC2(sub_assign_r, sub_ext)
-FUNC2(mul_assign_r, mul_ext)
-FUNC2(div_assign_r, div_ext)
-FUNC2(idiv_assign_r, idiv_ext)
-FUNC2(rem_assign_r, rem_ext)
-FUNC2(gcd_assign_r, gcd_ext)
-FUNC2(lcm_assign_r, lcm_ext)
-FUNC2(add_mul_assign_r, add_mul_ext)
-FUNC2(sub_mul_assign_r, sub_mul_ext)
+class Row_Impl_Handler;
+class Row;
 
-#undef FUNC2
+} // namespace Parma_Polyhedra_Library
 
-#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);								\
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.defs.hh line 1. */
+/* Coefficient class declaration.
+*/
 
-FUNC4(gcdext_assign_r, gcdext_ext)
 
-#undef FUNC4
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.defs.hh line 27. */
+#include <iosfwd>
 
-#define DEF_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;\
-}
+#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.defs.hh line 32. */
+#endif
 
-DEF_INCREMENT(operator ++, add_assign_r)
-DEF_INCREMENT(operator --, sub_assign_r)
+#ifdef PPL_GMP_INTEGERS
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/GMP_Integer.defs.hh line 1. */
+/* GMP_Integer class declaration.
+*/
 
-#undef DEF_INCREMENT
 
-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;
-}
-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;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/GMP_Integer.defs.hh line 28. */
+#include <cstddef>
 
-#define DEF_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; \
-}
+namespace Parma_Polyhedra_Library {
 
-DEF_BINARY_OP_ASSIGN(operator +=, add_assign_r)
-DEF_BINARY_OP_ASSIGN(operator -=, sub_assign_r)
-DEF_BINARY_OP_ASSIGN(operator *=, mul_assign_r)
-DEF_BINARY_OP_ASSIGN(operator /=, div_assign_r)
-DEF_BINARY_OP_ASSIGN(operator %=, rem_assign_r)
+//! \name Accessor Functions
+//@{
 
-#undef DEF_BINARY_OP_ASSIGN
+//! Returns a const reference to the underlying integer value.
+/*! \relates GMP_Integer */
+const mpz_class& raw_value(const GMP_Integer& x);
 
-#define DEF_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; \
-}
+//! Returns a reference to the underlying integer value.
+/*! \relates GMP_Integer */
+mpz_class& raw_value(GMP_Integer& x);
 
-DEF_BINARY_OP(operator +, add_assign_r)
-DEF_BINARY_OP(operator -, sub_assign_r)
-DEF_BINARY_OP(operator *, mul_assign_r)
-DEF_BINARY_OP(operator /, div_assign_r)
-DEF_BINARY_OP(operator %, rem_assign_r)
+//@} // Accessor Functions
 
-#undef DEF_BINARY_OP
+//! \name Memory Size Inspection Functions
+//@{
 
-#define DEF_COMPARE(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));			\
-}
+#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);
 
-DEF_COMPARE(operator ==, eq_ext)
-DEF_COMPARE(operator !=, ne_ext)
-DEF_COMPARE(operator >=, ge_ext)
-DEF_COMPARE(operator >, gt_ext)
-DEF_COMPARE(operator <=, le_ext)
-DEF_COMPARE(operator <, lt_ext)
+#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);
 
-#undef DEF_COMPARE
+//@} // Memory Size Inspection Functions
 
-#define DEF_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));			\
-}
+//! \name Arithmetic Operators
+//@{
 
-DEF_COMPARE(equal, eq_ext)
-DEF_COMPARE(not_equal, ne_ext)
-DEF_COMPARE(greater_or_equal, ge_ext)
-DEF_COMPARE(greater_than, gt_ext)
-DEF_COMPARE(less_or_equal, le_ext)
-DEF_COMPARE(less_than, lt_ext)
+//! Assigns to \p x its negation.
+/*! \relates GMP_Integer */
+void neg_assign(GMP_Integer& x);
 
-#undef DEF_COMPARE
+//! Assigns to \p x the negation of \p y.
+/*! \relates GMP_Integer */
+void neg_assign(GMP_Integer& x, const GMP_Integer& y);
 
-/*! \relates Checked_Number */
-template <typename T, typename Policy>
-inline Checked_Number<T, Policy>
-operator+(const Checked_Number<T, Policy>& x) {
-  return x;
-}
+//! Assigns to \p x its absolute value.
+/*! \relates GMP_Integer */
+void abs_assign(GMP_Integer& x);
 
-/*! \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;
-}
+//! Assigns to \p x the absolute value of \p y.
+/*! \relates GMP_Integer */
+void abs_assign(GMP_Integer& x, const GMP_Integer& y);
 
-#define DEF_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));	\
-}
+//! 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);
 
-#define DEF_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)); \
-}
+//! 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);
 
-#define DEF_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)); \
-}
+//! 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);
 
-#define DEF_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)); \
-}
+//! 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);
 
-DEF_ASSIGN_FUN2_2(sqrt_assign, sqrt_assign_r)
+//! 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);
 
-DEF_ASSIGN_FUN2_1(floor_assign, floor_assign_r)
-DEF_ASSIGN_FUN2_2(floor_assign, floor_assign_r)
+//! 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);
 
-DEF_ASSIGN_FUN2_1(ceil_assign, ceil_assign_r)
-DEF_ASSIGN_FUN2_2(ceil_assign, ceil_assign_r)
+/*! \brief
+  If \p z divides \p y, assigns to \p x the quotient of the integer
+  division of \p y and \p z.
 
-DEF_ASSIGN_FUN2_1(trunc_assign, trunc_assign_r)
-DEF_ASSIGN_FUN2_2(trunc_assign, trunc_assign_r)
+  \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);
 
-DEF_ASSIGN_FUN2_1(neg_assign, neg_assign_r)
-DEF_ASSIGN_FUN2_2(neg_assign, neg_assign_r)
+//! Assigns to \p x the integer square root of \p y.
+/*! \relates GMP_Integer */
+void sqrt_assign(GMP_Integer& x, const GMP_Integer& y);
 
-DEF_ASSIGN_FUN2_1(abs_assign, abs_assign_r)
-DEF_ASSIGN_FUN2_2(abs_assign, abs_assign_r)
+/*! \brief
+  Returns a negative, zero or positive value depending on whether
+  \p x is lower than, equal to or greater than \p y, respectively.
 
-DEF_ASSIGN_FUN3_3(add_mul_assign, add_mul_assign_r)
+  \relates GMP_Integer
+*/
+int cmp(const GMP_Integer& x, const GMP_Integer& y);
 
-DEF_ASSIGN_FUN3_3(sub_mul_assign, sub_mul_assign_r)
+//@} // Arithmetic Operators
 
-DEF_ASSIGN_FUN3_3(rem_assign, rem_assign_r)
+} // namespace Parma_Polyhedra_Library
 
-DEF_ASSIGN_FUN3_3(gcd_assign, gcd_assign_r)
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/GMP_Integer.inlines.hh line 1. */
+/* GMP_Integer class implementation: inline functions.
+*/
 
-DEF_ASSIGN_FUN5_5(gcdext_assign, gcdext_assign_r)
 
-DEF_ASSIGN_FUN3_3(lcm_assign, lcm_assign_r)
+#include <cassert>
 
-#undef DEF_ASSIGN_FUN2_1
-#undef DEF_ASSIGN_FUN2_2
-#undef DEF_ASSIGN_FUN3_2
-#undef DEF_ASSIGN_FUN3_3
+namespace Parma_Polyhedra_Library {
 
-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));
+neg_assign(GMP_Integer& x) {
+  mpz_neg(x.get_mpz_t(), x.get_mpz_t());
 }
 
-/*! \relates Checked_Number */
-template <typename From>
-inline typename Enable_If<Is_Native_Or_Checked<From>::value, int>::type
-sgn(const From& x) {
-  Result r = Checked::sgn_ext<typename Native_Checked_From_Wrapper<From>::Policy>(Native_Checked_From_Wrapper<From>::raw_value(x));
-  switch (r) {
-  case V_LT:
-    return -1;
-  case V_EQ:
-    return 0;
-  case V_GT:
-    return 1;
-  default:
-    throw(0);
-  }
+inline void
+neg_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_neg(x.get_mpz_t(), y.get_mpz_t());
 }
 
-/*! \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 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 V_LT:
-    return -1;
-  case V_EQ:
-    return 0;
-  case V_GT:
-    return 1;
-  default:
-    throw(0);
-  }
+inline void
+abs_assign(GMP_Integer& x) {
+  mpz_abs(x.get_mpz_t(), x.get_mpz_t());
 }
 
-/*! \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);
+inline void
+abs_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_abs(x.get_mpz_t(), y.get_mpz_t());
 }
 
-/*! \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 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());
 }
 
-/*! \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 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());
 }
 
-/*! \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 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());
 }
 
-template <typename T>
-inline T
-plus_infinity() {
-  return PLUS_INFINITY;
+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());
 }
 
-template <typename T>
-inline T
-minus_infinity() {
-  return MINUS_INFINITY;
+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());
 }
 
-template <typename T>
-inline T
-not_a_number() {
-  return NOT_A_NUMBER;
+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());
 }
 
-/*! \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());
+exact_div_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
+  assert(y % z == 0);
+  mpz_divexact(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
 }
 
-template <typename T>
 inline void
-maybe_reset_fpu_inexact() {
-  if (FPU_Related<T>::value)
-    return fpu_reset_inexact();
+sqrt_assign(GMP_Integer& x, const GMP_Integer& y) {
+  mpz_sqrt(x.get_mpz_t(), y.get_mpz_t());
 }
 
-template <typename T>
 inline int
-maybe_check_fpu_inexact() {
-  if (FPU_Related<T>::value)
-    return fpu_check_inexact();
-  else
-    return 0;
+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/checked_numeric_limits.hh line 1. */
-/* Specializations of std::numeric_limits for "checked" types.
-*/
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/GMP_Integer.defs.hh line 141. */
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.defs.hh line 36. */
+#endif
 
-/* Automatically generated from PPL source file ../src/checked_numeric_limits.hh line 28. */
-#include <limits>
+namespace Parma_Polyhedra_Library {
 
-namespace std {
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Initializes the Coefficient constants.
+#endif
+void Coefficient_constants_initialize();
 
-using namespace Parma_Polyhedra_Library;
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Finalizes the Coefficient constants.
+#endif
+void Coefficient_constants_finalize();
 
-#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() {							\
-    return Checked::Extended_Int<Policy, T>::min; \
-  }									\
-									\
-  static Type max() {							\
-    return Checked::Extended_Int<Policy, T>::max; \
-  }									\
-									\
-  static Type infinity() {						\
-    return								\
-      Policy::has_infinity						\
-      ? PLUS_INFINITY				\
-      : static_cast<Type>(0);						\
-  }									\
-									\
-  static Type quiet_NaN() {						\
-    return								\
-      Policy::has_nan						\
-      ? NOT_A_NUMBER				\
-      : static_cast<Type>(0);						\
-  }									\
-};
+//! Returns a const reference to a Coefficient with value 0.
+Coefficient_traits::const_reference Coefficient_zero();
 
-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)
+//! Returns a const reference to a Coefficient with value 1.
+Coefficient_traits::const_reference Coefficient_one();
 
-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)
+} // namespace Parma_Polyhedra_Library
 
-#undef PPL_SPECIALIZE_LIMITS_INT
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.inlines.hh line 1. */
+/* Coefficient class implementation: inline functions.
+*/
 
-#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)
+namespace Parma_Polyhedra_Library {
+
+#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
 
-#undef PPL_SPECIALIZE_LIMITS_FLOAT
+#ifdef PPL_GMP_INTEGERS
+inline Coefficient_traits::const_reference
+Coefficient_zero() {
+  extern const Coefficient* Coefficient_zero_p;
+  return *Coefficient_zero_p;
+}
 
-#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;
+inline Coefficient_traits::const_reference
+Coefficient_one() {
+  extern const Coefficient* Coefficient_one_p;
+  assert(*Coefficient_one_p != 0);
+  return *Coefficient_one_p;
+}
+#endif
 
-public:
-  static const bool has_infinity = Policy::has_infinity;
-  static const bool has_quiet_NaN =  Policy::has_nan;
+} // namespace Parma_Polyhedra_Library
 
-  static Type infinity() {
-    return
-      Policy::has_infinity
-      ? PLUS_INFINITY
-      : static_cast<Type>(0);
-  }
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Coefficient.defs.hh line 59. */
 
-  static Type quiet_NaN() {
-    return
-      Policy::has_nan
-      ? NOT_A_NUMBER
-      : static_cast<Type>(0);
-  }
-};
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Row.defs.hh line 29. */
+#include <vector>
+#include <limits>
 
+#ifndef PPL_ROW_EXTRA_DEBUG
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Partial specialization of std::numeric_limits.
+/*!
+  \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)
-template <typename Policy>
-class
-numeric_limits<Checked_Number<mpq_class, Policy> >
-: public numeric_limits<mpq_class> {
-private:
-  typedef Checked_Number<mpq_class, Policy> Type;
+#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:
-  static const bool has_infinity = Policy::has_infinity;
-  static const bool has_quiet_NaN =  Policy::has_nan;
+  //! Default constructor.
+  Row_Impl_Handler();
 
-  static Type infinity() {
-    return
-      Policy::has_infinity
-      ? PLUS_INFINITY
-      : static_cast<Type>(0);
-  }
+  //! Destructor.
+  ~Row_Impl_Handler();
 
-  static Type quiet_NaN() {
-    return
-      Policy::has_nan
-      ? NOT_A_NUMBER
-      : static_cast<Type>(0);
-  }
-};
+  class Impl;
 
-} // namespace std
+  //! A pointer to the actual implementation.
+  Impl* impl;
 
-/* Automatically generated from PPL source file ../src/Checked_Number.templates.hh line 1. */
-/* Checked_Number class implementation: non-inline template functions.
-*/
+#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&);
 
-#include <cassert>
-#include <iomanip>
-#include <limits>
+  //! Private and unimplemented: copy assignment is not allowed.
+  Row_Impl_Handler& operator=(const Row_Impl_Handler&);
+};
 
-namespace Parma_Polyhedra_Library {
+#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();
 
-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]);
-    }
-    s.flags(old_flags);
-    // ... and then pretty print it for readability.
-    s << " (" << t << ")";
-  }
-}
+    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
+    bool operator==(const Flags& y) const;
 
-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);
-  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;
-      }
-      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] == ')';
-  }
-}
+    /*! \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);
 
-} // namespace Parma_Polyhedra_Library
+  protected:
+    //! A native integral type holding the bits that encode the flags.
+    typedef unsigned int base_type;
 
-/* Automatically generated from PPL source file ../src/Checked_Number.defs.hh line 1076. */
+    //! Index of the first bit derived classes can use.
+    static const unsigned first_free_bit = 0;
 
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 16. */
+    //! Total number of bits that can be stored.
+    static const unsigned num_bits = std::numeric_limits<base_type>::digits;
 
-#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+    //! Constructs an object with flags set as in \p n.
+    explicit Flags(base_type n);
 
-namespace Parma_Polyhedra_Library {
+    //! Returns the integer encoding \p *this.
+    base_type get_bits() const;
 
-#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;
-};
+    //! Sets the bits in \p mask.
+    void set_bits(base_type mask);
 
-#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;
-};
+    //! Resets the bits in \p mask.
+    void reset_bits(base_type mask);
 
-#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;
-};
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if all the bits
+      in \p mask are set.
+    */
+    bool test_bits(base_type mask) const;
 
-#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;
-};
+  private:
+    //! The integer encoding \p *this.
+    base_type bits;
 
-} // namespace Parma_Polyhedra_Library
+    friend class Row;
+  };
 
-#endif // defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
+  //! Pre-constructs a row: construction must be completed by construct().
+  Row();
 
-#ifdef PPL_GMP_INTEGERS
-/* Automatically generated from PPL source file ../src/Coefficient.types.hh line 67. */
-#endif
+  //! \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);
 
-namespace Parma_Polyhedra_Library {
+  //! Constructs properly a default-constructed element.
+  /*!
+    \param sz
+    The size of the row that will be constructed;
 
-//! 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 its default
-      policy (Checked_Number_Default_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;
+    \param capacity
+    The capacity of the row that will be constructed;
 
-#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;
+    \param f
+    Flags for the row that will be constructed.
 
-} // namespace Parma_Polyhedra_Library
+    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
 
-/* Automatically generated from PPL source file ../src/stdiobuf.types.hh line 1. */
+  //! 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;
 
-namespace Parma_Polyhedra_Library {
+    \param capacity
+    The capacity of the row that will be constructed;
 
-class stdiobuf;
+    \param f
+    Flags for the row that will be constructed.
 
-} // namespace Parma_Polyhedra_Library
+    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);
 
-/* Automatically generated from PPL source file ../src/iterator_to_const.types.hh line 1. */
+  //! 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);
 
-namespace Parma_Polyhedra_Library {
+  //! 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);
 
-template <typename Container>
-class iterator_to_const;
+  //! Destructor.
+  ~Row();
 
-template <typename Container>
-class const_iterator_to_const;
+  //! Assignment operator.
+  Row& operator=(const Row& y);
 
-} // namespace Parma_Polyhedra_Library
+  //! Swaps \p *this with \p y.
+  void swap(Row& y);
 
-/* Automatically generated from PPL source file ../src/distances.types.hh line 1. */
+  //! 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.
 
-namespace Parma_Polyhedra_Library {
+    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);
 
-template <typename Temp>
-struct Rectilinear_Distance_Specialization;
+  //! 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);
 
-template <typename Temp>
-struct Euclidean_Distance_Specialization;
+  //! 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 Temp>
-struct L_Infinity_Distance_Specialization;
+  //! 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();
 
-/* Automatically generated from PPL source file ../src/Interval_Info.types.hh line 1. */
+  //! 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;
 
-namespace Parma_Polyhedra_Library {
+  //! \name Subscript operators
+  //@{
+  //! Returns a reference to the element of the row indexed by \p k.
+  Coefficient& operator[](dimension_type k);
 
-template <typename Policy>
-class Interval_Info_Null;
+  //! 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
 
-template <typename T, typename Policy>
-class Interval_Info_Bitset;
+  //! 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();
 
-} // namespace Parma_Polyhedra_Library
+  PPL_OUTPUT_DECLARATIONS
 
-/* Automatically generated from PPL source file ../src/Interval.types.hh line 1. */
+  /*! \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;
 
-namespace Parma_Polyhedra_Library {
+  /*! \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 Boundary, typename Info>
-class Interval;
+  /*! \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;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \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;
 
-/* Automatically generated from PPL source file ../src/Box.types.hh line 1. */
+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 {
 
-template <typename Interval>
-class Box;
+//! 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
 
-/* Automatically generated from PPL source file ../src/Constraint.types.hh line 1. */
 
+namespace std {
 
-namespace Parma_Polyhedra_Library {
+#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);
 
-class Constraint;
+#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 Parma_Polyhedra_Library
+} // 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
+  //@{
 
-/* Automatically generated from PPL source file ../src/Generator.types.hh line 1. */
+  /*! \brief
+    Allocates a chunk of memory able to contain \p capacity Coefficient 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);
 
+  //! 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);
+  //@} // Custom allocator and deallocator
 
-class Generator;
+  //! Constructor.
+  Impl(Row::Flags f);
 
-} // namespace Parma_Polyhedra_Library
+  //! 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/Grid_Generator.types.hh line 1. */
+  //! 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);
 
-namespace Parma_Polyhedra_Library {
+  //! Exception-safe copy construction mechanism for coefficients.
+  void copy_construct_coefficients(const Impl& y);
 
-class Grid_Generator;
+  //! 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;
 
-/* Automatically generated from PPL source file ../src/Congruence.types.hh line 1. */
+  //! 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;
 
-namespace Parma_Polyhedra_Library {
+  //! Sets to \p new_size the actual size of \p *this.
+  void set_size(dimension_type new_size);
 
-class Congruence;
+  //! 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&);
+};
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Row.inlines.hh line 1. */
+/* Row class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/math_utilities.defs.hh line 1. */
+/* Declarations of some math utility functions.
+*/
 
-/* Automatically generated from PPL source file ../src/Init.types.hh line 1. */
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/math_utilities.defs.hh line 28. */
+#include <gmpxx.h>
 
 namespace Parma_Polyhedra_Library {
 
-class Init;
+#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 Policy>
+void
+numer_denom(const Checked_Number<T, Policy>& 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 Policy>
+void
+div_round_up(Checked_Number<T, Policy>& 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 Policy>
+bool
+is_even(const Checked_Number<T, Policy>& 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 Policy>
+bool
+is_additive_inverse(const Checked_Number<T, Policy>& x,
+		    const Checked_Number<T, Policy>& 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.
+
+  \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.
+*/
+#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,
+#endif
+template <typename T>
+T
+low_bits_mask(unsigned n);
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Row.types.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/math_utilities.inlines.hh line 1. */
+/* Implementation of some math utility functions: inline functions.
+*/
+
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/math_utilities.inlines.hh line 27. */
+#include <limits>
+#include <cassert>
 
 namespace Parma_Polyhedra_Library {
 
-class Row_Impl_Handler;
-class Row;
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Linear_Row.types.hh line 1. */
+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>
+inline T
+low_bits_mask(const unsigned n) {
+  assert(n < unsigned(std::numeric_limits<T>::digits));
+  return n == 0 ? 0 : ~(~(T(0u)) << n);
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename T, typename Policy>
+inline void
+numer_denom(const Checked_Number<T, Policy>& from,
+	    Coefficient& num, Coefficient& den) {
+  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();
+}
 
-class Linear_Row;
+template <typename T, typename Policy>
+inline void
+div_round_up(Checked_Number<T, Policy>& 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);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename N>
+inline void
+min_assign(N& x, const N& y) {
+  if (x > y)
+    x = y;
+}
 
-/* Automatically generated from PPL source file ../src/Matrix.types.hh line 1. */
+template <typename N>
+inline void
+max_assign(N& x, const N& y) {
+  if (x < y)
+    x = y;
+}
 
+template <typename T, typename Policy>
+inline bool
+is_even(const Checked_Number<T, Policy>& x) {
+  Checked_Number<T, Policy> half_x;
+  return div2exp_assign_r(half_x, x, 1, ROUND_DIRECT) == V_EQ
+    && is_integer(half_x);
+}
 
-namespace Parma_Polyhedra_Library {
+template <typename T, typename Policy>
+inline bool
+is_additive_inverse(const Checked_Number<T, Policy>& x,
+		    const Checked_Number<T, Policy>& y) {
+  Checked_Number<T, Policy> negated_x;
+  return neg_assign_r(negated_x, x, ROUND_DIRECT) == V_EQ
+    && negated_x == y;
+}
 
-class Matrix;
+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();
+}
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Variable.types.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/math_utilities.defs.hh line 109. */
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Row.inlines.hh line 27. */
+#include <cassert>
+#include <cstddef>
+#include <limits>
+#include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
-class Variable;
+inline
+Row::Flags::Flags()
+  : bits(0) {
+}
 
-} // namespace Parma_Polyhedra_Library
+inline
+Row::Flags::Flags(base_type n)
+  : bits(n) {
+}
 
-/* Automatically generated from PPL source file ../src/Variables_Set.types.hh line 1. */
+inline Row::Flags::base_type
+Row::Flags::get_bits() const {
+  return bits;
+}
 
+inline void
+Row::Flags::set_bits(const base_type mask) {
+  bits |= mask;
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Row::Flags::reset_bits(const base_type mask) {
+  bits &= ~mask;
+}
 
-class Variables_Set;
+inline bool
+Row::Flags::test_bits(const base_type mask) const {
+  return (bits & mask) == mask;
+}
 
-} // namespace Parma_Polyhedra_Library
+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);
+}
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.types.hh line 1. */
+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
+  assert(capacity >= 1);
+  return ::operator new(fixed_size + (capacity-1)*sizeof(Coefficient));
+#endif
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Row_Impl_Handler::Impl::operator delete(void* p) {
+  ::operator delete(p);
+}
 
-class Linear_Expression;
+inline void
+Row_Impl_Handler::Impl::operator delete(void* p, dimension_type) {
+  ::operator delete(p);
+}
 
-} // namespace Parma_Polyhedra_Library
+inline dimension_type
+Row_Impl_Handler::Impl::max_size() {
+  return std::numeric_limits<size_t>::max() / sizeof(Coefficient);
+}
 
-/* Automatically generated from PPL source file ../src/Linear_System.types.hh line 1. */
+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;
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Row_Impl_Handler::Impl::bump_size() {
+  ++size_;
+}
 
-class Linear_System;
+inline
+Row_Impl_Handler::Impl::Impl(const Row::Flags f)
+  : size_(0), flags_(f) {
+}
 
-} // namespace Parma_Polyhedra_Library
+inline
+Row_Impl_Handler::Impl::~Impl() {
+  shrink(0);
+}
 
-/* Automatically generated from PPL source file ../src/Bit_Row.types.hh line 1. */
+inline const Row::Flags&
+Row_Impl_Handler::Impl::flags() const {
+  return flags_;
+}
 
+inline Row::Flags&
+Row_Impl_Handler::Impl::flags() {
+  return flags_;
+}
 
-namespace Parma_Polyhedra_Library {
+inline Coefficient&
+Row_Impl_Handler::Impl::operator[](const dimension_type k) {
+  assert(k < size());
+  return vec_[k];
+}
 
-class Bit_Row;
+inline Coefficient_traits::const_reference
+Row_Impl_Handler::Impl::operator[](const dimension_type k) const {
+  assert(k < size());
+  return vec_[k];
+}
 
-} // namespace Parma_Polyhedra_Library
+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();
+}
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.types.hh line 1. */
+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();
+}
 
-namespace Parma_Polyhedra_Library {
+inline dimension_type
+Row::size() const {
+  return impl->size();
+}
 
-class Bit_Matrix;
+inline const Row::Flags&
+Row::flags() const {
+  return impl->flags();
+}
 
-} // namespace Parma_Polyhedra_Library
+inline Row::Flags&
+Row::flags() {
+  return impl->flags();
+}
 
-/* Automatically generated from PPL source file ../src/Constraint_System.types.hh line 1. */
+#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
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Row_Impl_Handler::~Row_Impl_Handler() {
+  delete impl;
+}
 
-class Constraint_System;
+inline
+Row::Row()
+  : Row_Impl_Handler() {
+}
 
-} // namespace Parma_Polyhedra_Library
+inline void
+Row::allocate(
+#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+	       const
+#endif
+	       dimension_type capacity,
+	       const Flags f) {
+  assert(capacity <= max_size());
+#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
+  if (capacity == 0)
+    ++capacity;
+#endif
+  assert(impl == 0);
+  impl = new (capacity) Impl(f);
+#if PPL_ROW_EXTRA_DEBUG
+  assert(capacity_ == 0);
+  capacity_ = capacity;
+#endif
+}
+
+inline void
+Row::expand_within_capacity(const dimension_type new_size) {
+  assert(impl);
+#if PPL_ROW_EXTRA_DEBUG
+  assert(new_size <= capacity_);
+#endif
+  impl->expand_within_capacity(new_size);
+}
+
+inline void
+Row::copy_construct_coefficients(const Row& y) {
+  assert(impl && y.impl);
+#if PPL_ROW_EXTRA_DEBUG
+  assert(y.size() <= capacity_);
+#endif
+  impl->copy_construct_coefficients(*(y.impl));
+}
 
-/* Automatically generated from PPL source file ../src/Generator_System.types.hh line 1. */
+inline void
+Row::construct(const dimension_type sz,
+	       const dimension_type capacity,
+	       const Flags f) {
+  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);
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Row::Row(const dimension_type sz,
+	 const dimension_type capacity,
+	 const Flags f)
+  : Row_Impl_Handler() {
+  construct(sz, capacity, f);
+}
 
-class Generator_System;
+inline
+Row::Row(const dimension_type sz, const Flags f)
+  : Row_Impl_Handler() {
+  construct(sz, f);
+}
 
-} // namespace Parma_Polyhedra_Library
+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);
+  }
+}
 
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.types.hh line 1. */
+inline
+Row::Row(const Row& y,
+	 const dimension_type capacity)
+  : Row_Impl_Handler() {
+  assert(y.impl);
+  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() {
+  assert(y.impl);
+  assert(y.size() <= sz && sz <= capacity && capacity <= max_size());
+  allocate(capacity, y.flags());
+  copy_construct_coefficients(y);
+  expand_within_capacity(sz);
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Row::~Row() {
+}
 
-class Grid_Generator_System;
+inline void
+Row::shrink(const dimension_type new_size) {
+  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
 }
 
-/* Automatically generated from PPL source file ../src/Congruence_System.types.hh line 1. */
+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;
+}
 
-namespace Parma_Polyhedra_Library {
+inline Coefficient&
+Row::operator[](const dimension_type k) {
+  assert(impl);
+  return (*impl)[k];
+}
 
-class Congruence_System;
+inline Coefficient_traits::const_reference
+Row::operator[](const dimension_type k) const {
+  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);
 }
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.types.hh line 1. */
+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
+}
 
-namespace Parma_Polyhedra_Library {
+inline memory_size_type
+Row::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-class Scalar_Products;
-class Topology_Adjusted_Scalar_Product_Sign;
-class Topology_Adjusted_Scalar_Product_Assign;
+/*! \relates Row */
+inline bool
+operator!=(const Row& x, const Row& y) {
+  return !(x == y);
+}
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.types.hh line 1. */
 
+namespace std {
 
-namespace Parma_Polyhedra_Library {
+/*! \relates Parma_Polyhedra_Library::Row */
+inline void
+swap(Parma_Polyhedra_Library::Row& x, Parma_Polyhedra_Library::Row& y) {
+  x.swap(y);
+}
 
-//! 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
-};
+/*! \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);
+}
 
-class MIP_Problem;
+} // namespace std
 
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Row.defs.hh line 505. */
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.types.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Topology.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-class Poly_Con_Relation;
+#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/Poly_Gen_Relation.types.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Row.defs.hh line 33. */
 
+#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.
 
-namespace Parma_Polyhedra_Library {
-
-class Poly_Gen_Relation;
+  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$.
 
-} // namespace Parma_Polyhedra_Library
+  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$.
 
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.types.hh line 1. */
+  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.
 
-namespace Parma_Polyhedra_Library {
+  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.
 
-class BHRZ03_Certificate;
+  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.
 
-} // namespace Parma_Polyhedra_Library
+  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/H79_Certificate.types.hh line 1. */
+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.
 
-namespace Parma_Polyhedra_Library {
+    \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();
 
-class H79_Certificate;
+    //! Builds an object corresponding to the topology \p t.
+    explicit Flags(Topology t);
 
-} // namespace Parma_Polyhedra_Library
+    //! Builds an object corresponding to the topology \p t and kind \p k.
+    Flags(Topology t, Kind k);
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.types.hh line 1. */
+    //! \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
 
-namespace Parma_Polyhedra_Library {
+    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
+    bool operator==(const Flags& y) const;
 
-class Grid_Certificate;
+    /*! \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
 
-/* Automatically generated from PPL source file ../src/Polyhedron.types.hh line 1. */
+    /*! \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);
 
-namespace Parma_Polyhedra_Library {
+    //! \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;
+    //@}
 
-class Polyhedron;
+  protected:
+    //! Index of the first bit derived classes can use.
+    static const unsigned first_free_bit
+    = Row::Flags::first_free_bit + 4;
 
-} // namespace Parma_Polyhedra_Library
+    friend class Parma_Polyhedra_Library::Linear_Row;
+  };
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.types.hh line 1. */
+  //! 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);
 
-namespace Parma_Polyhedra_Library {
+  //! Constructs properly a default-constructed element.
+  /*!
+    \param sz
+    The size of the row that will be constructed;
 
-class C_Polyhedron;
+    \param capacity
+    The minimum capacity of the row that will be constructed.
 
-} // namespace Parma_Polyhedra_Library
+    \param f
+    Flags for the row that will be constructed.
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.types.hh line 1. */
+    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);
 
-namespace Parma_Polyhedra_Library {
+  //! Sizing constructor with capacity.
+  Linear_Row(dimension_type sz, dimension_type capacity, Flags f);
 
-class NNC_Polyhedron;
+  //! Ordinary copy constructor.
+  Linear_Row(const Linear_Row& y);
 
-} // namespace Parma_Polyhedra_Library
+  //! 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);
 
-/* Automatically generated from PPL source file ../src/Grid.types.hh line 1. */
+  //! 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();
 
-namespace Parma_Polyhedra_Library {
+  //! \name Flags inspection methods
+  //@{
+  //! Returns a const reference to the flags of \p *this.
+  const Flags& flags() const;
 
-class Grid;
+  //! Returns a non-const reference to the flags of \p *this.
+  Flags& flags();
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns the topological kind of \p *this.
+  Topology topology() const;
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.types.hh line 1. */
+  /*! \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;
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row
+    represents a line or an equality.
+  */
+  bool is_line_or_equality() const;
 
-namespace Implementation {
+  /*! \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
 
-template <typename P>
-class Ptr_Iterator;
+  //! \name Flags coercion methods
+  //@{
+  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_necessarily_closed();
 
-} // namespace Implementation
+  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
+  void set_not_necessarily_closed();
 
-} // namespace Parma_Polyhedra_Library
+  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
+  void set_is_line_or_equality();
 
-/* Automatically generated from PPL source file ../src/DB_Row.types.hh line 1. */
+  //! 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();
 
-namespace Parma_Polyhedra_Library {
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-template <typename T>
-class DB_Row_Impl_Handler;
+  //! Returns the inhomogeneous term.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
 
-template <typename T>
-class DB_Row;
+  //! Returns the coefficient \f$a_n\f$.
+  Coefficient_traits::const_reference coefficient(dimension_type n) const;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \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();
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.types.hh line 1. */
+  /*! \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();
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the coefficients are
+    strongly normalized.
+  */
+  bool check_strong_normalized() const;
 
-template <typename T>
-class DB_Matrix;
+  //! 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;
 
-} // namespace Parma_Polyhedra_Library
+    \param k
+    The position of \p *this that have to be \f$0\f$.
 
-/* Automatically generated from PPL source file ../src/BD_Shape.types.hh line 1. */
+    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 homogeneous
+    terms of \p *this are \f$0\f$.
+  */
+  bool all_homogeneous_terms_are_zero() const;
 
-namespace Parma_Polyhedra_Library {
+  PPL_OUTPUT_DECLARATIONS
 
-template <typename T>
-class BD_Shape;
+  /*! \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
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.types.hh line 1. */
+  /*! \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 {
 
-template <typename T>
-class OR_Matrix;
-
-}
+//! 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);
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.types.hh line 1. */
+//! 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$.
 
-namespace Parma_Polyhedra_Library {
+  \param x
+  A row of coefficients;
 
-template <typename T>
-class Octagonal_Shape;
+  \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.
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 1. */
-/* GMP_Integer class declaration.
+  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
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 28. */
-#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 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
-//@{
-
-//! 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);
+namespace std {
 
-//! Assigns to \p x the absolute value of \p y.
-/*! \relates GMP_Integer */
-void abs_assign(GMP_Integer& x, const GMP_Integer& y);
+#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);
 
-//! 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);
+#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);
 
-//! 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);
+} // namespace std
 
-//! 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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Row.inlines.hh line 1. */
+/* Linear_Row class implementation: inline functions.
 */
-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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Row.inlines.hh line 27. */
+#include <cassert>
+#include <algorithm>
 
-//! 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);
+namespace Parma_Polyhedra_Library {
 
-/*! \brief
-  If \p z divides \p y, assigns to \p x the quotient of the integer
-  division of \p y and \p z.
+inline
+Linear_Row::Flags::Flags()
+  : Row::Flags() {
+  // Note that the constructed type has its validity bit unset.
+}
 
-  \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);
+inline
+Linear_Row::Flags::Flags(const Topology t)
+  : Row::Flags(t << nnc_bit) {
+#ifndef NDEBUG
+  set_bits(1 << nnc_validity_bit);
+#endif
+}
 
-//! Assigns to \p x the integer square root of \p y.
-/*! \relates GMP_Integer */
-void sqrt_assign(GMP_Integer& x, const GMP_Integer& y);
+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
+}
 
-/*! \brief
-  Returns a negative, zero or positive value depending on whether
-  \p x is lower than, equal to or greater than \p y, respectively.
+inline bool
+Linear_Row::Flags::is_ray_or_point_or_inequality() const {
+  assert(test_bits(1 << rpi_validity_bit));
+  return test_bits(RAY_OR_POINT_OR_INEQUALITY << rpi_bit);
+}
 
-  \relates GMP_Integer
-*/
-int cmp(const GMP_Integer& x, const GMP_Integer& y);
+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);
+}
 
-//@} // Arithmetic Operators
+inline bool
+Linear_Row::Flags::is_line_or_equality() const {
+  assert(test_bits(1 << rpi_validity_bit));
+  return !is_ray_or_point_or_inequality();
+}
 
-} // namespace Parma_Polyhedra_Library
+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);
+}
 
-/* Automatically generated from PPL source file ../src/GMP_Integer.inlines.hh line 1. */
-/* GMP_Integer class implementation: inline functions.
-*/
+inline bool
+Linear_Row::Flags::is_not_necessarily_closed() const {
+  assert(test_bits(1 << nnc_validity_bit));
+  return test_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
+}
+
+inline bool
+Linear_Row::Flags::is_necessarily_closed() const {
+  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);
+}
 
-inline void
-neg_assign(GMP_Integer& x) {
-  mpz_neg(x.get_mpz_t(), x.get_mpz_t());
+inline Topology
+Linear_Row::Flags::topology() const {
+  return is_necessarily_closed() ? NECESSARILY_CLOSED : NOT_NECESSARILY_CLOSED;
 }
 
-inline void
-neg_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_neg(x.get_mpz_t(), y.get_mpz_t());
+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 void
-abs_assign(GMP_Integer& x) {
-  mpz_abs(x.get_mpz_t(), x.get_mpz_t());
+inline bool
+Linear_Row::Flags::operator!=(const Flags& y) const {
+  return !operator==(y);
 }
 
-inline void
-abs_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_abs(x.get_mpz_t(), y.get_mpz_t());
+inline const Linear_Row::Flags&
+Linear_Row::flags() const {
+  return static_cast<const Flags&>(Row::flags());
 }
 
-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 Linear_Row::Flags&
+Linear_Row::flags() {
+  return static_cast<Flags&>(Row::flags());
 }
 
-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 bool
+Linear_Row::is_necessarily_closed() const {
+  return flags().is_necessarily_closed();
 }
 
-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 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 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 dimension_type
+Linear_Row::space_dimension() const {
+  const dimension_type sz = size();
+  return (sz == 0)
+    ? 0
+    : sz - (is_necessarily_closed() ? 1 : 2);
 }
 
-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
+Linear_Row::Linear_Row()
+  : Row() {
 }
 
 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());
+Linear_Row::construct(const dimension_type sz, const dimension_type capacity,
+		      const Flags f) {
+  Row::construct(sz, capacity, f);
 }
 
-inline void
-exact_div_assign(GMP_Integer& x, const GMP_Integer& y, const GMP_Integer& z) {
-  assert(y % z == 0);
-  mpz_divexact(x.get_mpz_t(), y.get_mpz_t(), z.get_mpz_t());
+inline
+Linear_Row::Linear_Row(const dimension_type sz, const dimension_type capacity,
+		       const Flags f) {
+  construct(sz, capacity, f);
 }
 
 inline void
-sqrt_assign(GMP_Integer& x, const GMP_Integer& y) {
-  mpz_sqrt(x.get_mpz_t(), y.get_mpz_t());
+Linear_Row::construct(const dimension_type sz, const Flags f) {
+  construct(sz, sz, f);
 }
 
-inline int
-cmp(const GMP_Integer& x, const GMP_Integer& y) {
-  return mpz_cmp(x.get_mpz_t(), y.get_mpz_t());
+inline
+Linear_Row::Linear_Row(const dimension_type sz, const Flags f) {
+  construct(sz, f);
 }
 
-inline const mpz_class&
-raw_value(const GMP_Integer& x) {
-  return x;
+inline
+Linear_Row::Linear_Row(const Linear_Row& y)
+  : Row(y) {
 }
 
-inline mpz_class&
-raw_value(GMP_Integer& x) {
-  return x;
+inline
+Linear_Row::Linear_Row(const Linear_Row& y,
+		       const dimension_type capacity)
+  : Row(y, capacity) {
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/GMP_Integer.defs.hh line 141. */
-
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 1. */
-/* Coefficient class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 27. */
-#include <iosfwd>
-
-#if defined(PPL_CHECKED_INTEGERS) || defined(PPL_NATIVE_INTEGERS)
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 32. */
-#endif
-
-#ifdef PPL_GMP_INTEGERS
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 36. */
-#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();
+inline
+Linear_Row::Linear_Row(const Linear_Row& y,
+		       const dimension_type sz, const dimension_type capacity)
+  : Row(y, sz, capacity) {
+}
 
-//! Returns a const reference to a Coefficient with value 0.
-Coefficient_traits::const_reference Coefficient_zero();
+inline
+Linear_Row::~Linear_Row() {
+}
 
-//! Returns a const reference to a Coefficient with value 1.
-Coefficient_traits::const_reference Coefficient_one();
+inline bool
+Linear_Row::is_line_or_equality() const {
+  return flags().is_line_or_equality();
+}
 
-} // namespace Parma_Polyhedra_Library
+inline bool
+Linear_Row::is_ray_or_point_or_inequality() const {
+  return flags().is_ray_or_point_or_inequality();
+}
 
-/* Automatically generated from PPL source file ../src/Coefficient.inlines.hh line 1. */
-/* Coefficient class implementation: inline functions.
-*/
+inline Topology
+Linear_Row::topology() const {
+  return flags().topology();
+}
 
+inline void
+Linear_Row::set_is_line_or_equality() {
+  flags().set_is_line_or_equality();
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Linear_Row::set_is_ray_or_point_or_inequality() {
+  flags().set_is_ray_or_point_or_inequality();
+}
 
-#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 void
+Linear_Row::set_necessarily_closed() {
+  flags().set_necessarily_closed();
 }
 
-inline Coefficient_traits::const_reference
-Coefficient_one() {
-  // FIXME: is there a way to avoid this static variable?
-  static Coefficient one(1);
-  return one;
+inline void
+Linear_Row::set_not_necessarily_closed() {
+  flags().set_not_necessarily_closed();
 }
-#endif
 
-#ifdef PPL_GMP_INTEGERS
 inline Coefficient_traits::const_reference
-Coefficient_zero() {
-  extern const Coefficient* Coefficient_zero_p;
-  return *Coefficient_zero_p;
+Linear_Row::inhomogeneous_term() const {
+  return (*this)[0];
 }
 
 inline Coefficient_traits::const_reference
-Coefficient_one() {
-  extern const Coefficient* Coefficient_one_p;
-  assert(*Coefficient_one_p != 0);
-  return *Coefficient_one_p;
+Linear_Row::coefficient(const dimension_type k) const {
+  return (*this)[k+1];
 }
-#endif
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Coefficient.defs.hh line 59. */
-
-/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 1. */
-/* stdiobuf class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 27. */
-#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);
+inline void
+Linear_Row::strong_normalize() {
+  normalize();
+  sign_normalize();
+}
 
-  /*! \brief
-    Puts character back in case of backup underflow.
+/*! \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);
+}
 
-    \remarks
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.4.
-  */
-  virtual int_type pbackfail(int_type c = traits_type::eof());
+/*! \relates Linear_Row */
+inline bool
+operator!=(const Linear_Row& x, const Linear_Row& y) {
+  return !(x == y);
+}
 
-  /*! \brief
-    Writes a sequence of characters.
+} // namespace Parma_Polyhedra_Library
 
-    \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.
+namespace std {
 
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.5.
-  */
-  virtual int_type overflow(int_type c);
+/*! \relates Parma_Polyhedra_Library::Linear_Row */
+inline void
+swap(Parma_Polyhedra_Library::Linear_Row& x,
+     Parma_Polyhedra_Library::Linear_Row& y) {
+  x.swap(y);
+}
 
-  /*! \brief
-    Synchronizes the stream buffer.
+/*! \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);
+}
 
-    Specified by ISO/IEC 14882:1998: 27.5.2.4.2.
-  */
-  virtual int sync();
+} // namespace std
 
-private:
-  //! Character type of the streambuf.
-  typedef char char_type;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Row.defs.hh line 463. */
 
-  //! Traits type of the streambuf.
-  typedef std::char_traits<char_type> traits_type;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Expression.defs.hh line 1. */
+/* Linear_Expression 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 /home/bagnara/ppl/ppl/src/Variable.defs.hh line 1. */
+/* Variable class declaration.
+*/
 
-  //! 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 /home/bagnara/ppl/ppl/src/Variable.types.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-inline
-stdiobuf::stdiobuf(FILE* file)
-  : fp(file), ungetc_buf(traits_type::eof()) {
-}
+class Variable;
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/stdiobuf.defs.hh line 109. */
-
-/* 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 28. */
-#include <gmpxx.h>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variable.defs.hh line 29. */
+#include <iosfwd>
+#include <set>
 
 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 Policy>
-void
-numer_denom(const Checked_Number<T, Policy>& 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 Policy>
-void
-div_round_up(Checked_Number<T, Policy>& 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 Policy>
-bool
-is_even(const Checked_Number<T, Policy>& 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 Policy>
-bool
-is_additive_inverse(const Checked_Number<T, Policy>& x,
-		    const Checked_Number<T, Policy>& 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.
+namespace IO_Operators {
 
-  \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.
-*/
-#endif
-void
-normalize2(Coefficient_traits::const_reference x,
-	   Coefficient_traits::const_reference y,
-	   Coefficient& nx, Coefficient& ny);
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Variable */
+std::ostream&
+operator<<(std::ostream& s, const Variable& v);
 
-#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);
+} // namespace IO_Operators
 
-#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);
+//! Defines a total ordering on variables.
+/*! \relates Variable */
+bool less(Variable v, Variable w);
 
 } // 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 27. */
-#include <limits>
-#include <cassert>
-
-namespace Parma_Polyhedra_Library {
-
-inline void
-normalize2(Coefficient_traits::const_reference x,
-	   Coefficient_traits::const_reference y,
-	   Coefficient& nx, Coefficient& ny) {
-  TEMP_INTEGER(gcd);
-  gcd_assign(gcd, x, y);
-  exact_div_assign(nx, x, gcd);
-  exact_div_assign(ny, y, gcd);
-}
-
-template <typename T>
-inline T
-low_bits_mask(const unsigned n) {
-  assert(n < unsigned(std::numeric_limits<T>::digits));
-  return n == 0 ? 0 : ~(~(T(0u)) << n);
-}
-
-template <typename T, typename Policy>
-inline void
-numer_denom(const Checked_Number<T, Policy>& from,
-	    Coefficient& num, Coefficient& den) {
-  assert(!is_not_a_number(from)
-	 && !is_minus_infinity(from)
-	 && !is_plus_infinity(from));
-  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>
-inline void
-div_round_up(Checked_Number<T, Policy>& to,
-	     Coefficient_traits::const_reference x,
-	     Coefficient_traits::const_reference y) {
-  DIRTY_TEMP0(mpq_class, qx);
-  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);
-}
+//! 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$.
 
-template <typename N>
-inline void
-min_assign(N& x, const N& y) {
-  if (x > y)
-    x = y;
-}
+  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
 
-template <typename N>
-inline void
-max_assign(N& x, const N& y) {
-  if (x < y)
-    x = y;
-}
+*/
+class Parma_Polyhedra_Library::Variable {
 
-template <typename T, typename Policy>
-inline bool
-is_even(const Checked_Number<T, Policy>& x) {
-  Checked_Number<T, Policy> half_x;
-  return div2exp_assign_r(half_x, x, 1, ROUND_DIRECT) == V_EQ
-    && is_integer(half_x);
-}
+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);
 
-template <typename T, typename Policy>
-inline bool
-is_additive_inverse(const Checked_Number<T, Policy>& x,
-		    const Checked_Number<T, Policy>& y) {
-  Checked_Number<T, Policy> negated_x;
-  return neg_assign_r(negated_x, x, ROUND_DIRECT) == V_EQ
-    && negated_x == y;
-}
+  //! Returns the index of the Cartesian axis associated to the variable.
+  dimension_type id() const;
 
-inline bool
-is_canonical(const mpq_class& x) {
-  if (x.get_den() <= 0)
-    return false;
-  DIRTY_TEMP0(mpq_class, temp);
-  temp = x;
-  temp.canonicalize();
-  return temp.get_num() == x.get_num();
-}
+  //! Returns the maximum space dimension a Variable can handle.
+  static dimension_type max_space_dimension();
 
-} // namespace Parma_Polyhedra_Library
+  //! 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/math_utilities.defs.hh line 109. */
+  //! 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/iterator_to_const.defs.hh line 1. */
-/* iterator_to_const and const_iterator_to_const class declarations.
-*/
+  //! 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;
 
-/* Automatically generated from PPL source file ../src/Powerset.types.hh line 1. */
+  //! Type of output functions.
+  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);
 
-namespace Parma_Polyhedra_Library {
+  //! Returns the pointer to the current output function.
+  static output_function_type* get_output_function();
 
-template <typename D>
-class Powerset;
+  //! 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;
+  };
 
-} // namespace Parma_Polyhedra_Library
+private:
+  //! The index of the Cartesian axis.
+  dimension_type varid;
 
-/* Automatically generated from PPL source file ../src/iterator_to_const.defs.hh line 28. */
-//#include "Ask_Tell.types.hh"
+  // The initialization class needs to set the default output function.
+  friend class Init;
 
-#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).
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
+						    const Variable& v);
 
-  \note
-  For any developers' need, suitable friend declarations allow for
-  accessing the low-level iterators on the sequence of objects.
+  //! 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);
+};
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variable.inlines.hh line 1. */
+/* Variable class implementation: inline functions.
 */
-#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;
 
-  //! A shortcut for naming the const_iterator traits.
-  typedef typename
-  std::iterator_traits<typename Container::const_iterator> Traits;
 
-  //! A (mutable) iterator on the sequence of elements.
-  Base base;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variable.inlines.hh line 27. */
+#include <stdexcept>
 
-  //! Constructs from the lower-level iterator.
-  iterator_to_const(const Base& b);
+namespace Parma_Polyhedra_Library {
 
-  friend class const_iterator_to_const<Container>;
-  template <typename T> friend class Powerset;
-  //template <typename T> friend class Ask_Tell;
+inline dimension_type
+Variable::max_space_dimension() {
+  return not_a_dimension() - 1;
+}
 
-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;
+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)) {
+}
 
-  //! Default constructor.
-  iterator_to_const();
+inline dimension_type
+Variable::id() const {
+  return varid;
+}
 
-  //! Copy constructor.
-  iterator_to_const(const iterator_to_const& y);
+inline dimension_type
+Variable::space_dimension() const {
+  return varid + 1;
+}
 
-  //! Dereference operator.
-  reference operator*() const;
+inline memory_size_type
+Variable::external_memory_in_bytes() const {
+  return 0;
+}
 
-  //! Indirect access operator.
-  pointer operator->() const;
+inline memory_size_type
+Variable::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  //! Prefix increment operator.
-  iterator_to_const& operator++();
+inline void
+Variable::set_output_function(output_function_type* p) {
+  current_output_function = p;
+}
 
-  //! Postfix increment operator.
-  iterator_to_const operator++(int);
+inline Variable::output_function_type*
+Variable::get_output_function() {
+  return current_output_function;
+}
 
-  //! Prefix decrement operator.
-  iterator_to_const& operator--();
+/*! \relates Variable */
+inline bool
+less(const Variable v, const Variable w) {
+  return v.id() < w.id();
+}
 
-  //! Postfix decrement operator.
-  iterator_to_const operator--(int);
+inline bool
+Variable::Compare::operator()(const Variable x, const Variable y) const {
+  return less(x, y);
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this and \p y are identical.
-  */
-  bool operator==(const iterator_to_const& y) const;
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this and \p y are different.
-  */
-  bool operator!=(const iterator_to_const& y) const;
-};
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variable.defs.hh line 147. */
 
-#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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint_System.types.hh line 1. */
 
-  //! A shortcut for naming traits.
-  typedef typename std::iterator_traits<Base> Traits;
 
-  //! A %const_iterator on the sequence of elements.
-  Base base;
+namespace Parma_Polyhedra_Library {
 
-  //! Constructs from the lower-level const_iterator.
-  const_iterator_to_const(const Base& b);
+class Constraint_System;
 
-  friend class iterator_to_const<Container>;
-  template <typename T> friend class Powerset;
-  //template <typename T> friend class Ask_Tell;
+} // namespace Parma_Polyhedra_Library
 
-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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator_System.types.hh line 1. */
 
-  //! Default constructor.
-  const_iterator_to_const();
 
-  //! Copy constructor.
-  const_iterator_to_const(const const_iterator_to_const& y);
+namespace Parma_Polyhedra_Library {
 
-  //! Constructs from the corresponding non-const iterator.
-  const_iterator_to_const(const iterator_to_const<Container>& y);
+class Generator_System;
 
-  //! Dereference operator.
-  reference operator*() const;
+} // namespace Parma_Polyhedra_Library
 
-  //! Indirect member selector.
-  pointer operator->() const;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence_System.types.hh line 1. */
 
-  //! Prefix increment operator.
-  const_iterator_to_const& operator++();
 
-  //! Postfix increment operator.
-  const_iterator_to_const operator++(int);
+namespace Parma_Polyhedra_Library {
 
-  //! Prefix decrement operator.
-  const_iterator_to_const& operator--();
+class Congruence_System;
 
-  //! Postfix decrement operator.
-  const_iterator_to_const operator--(int);
+}
 
-  /*! \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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator_System.types.hh line 1. */
 
-  /*! \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;
-};
 
 namespace Parma_Polyhedra_Library {
 
-#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.
+class Grid_Generator_System;
 
-  \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);
+}
 
-#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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Polyhedron.types.hh line 1. */
 
-  \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);
+
+namespace Parma_Polyhedra_Library {
+
+class Polyhedron;
 
 } // namespace Parma_Polyhedra_Library
 
-/* 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.
-*/
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.types.hh line 1. */
 
 
 namespace Parma_Polyhedra_Library {
 
-template <typename Container>
-inline
-iterator_to_const<Container>::iterator_to_const()
-  : base() {
-}
+class Grid;
 
-template <typename Container>
-inline
-iterator_to_const<Container>::iterator_to_const(const iterator_to_const& y)
-  : base(y.base) {
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename Container>
-inline
-iterator_to_const<Container>::iterator_to_const(const Base& b)
-  : base(b) {
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Expression.defs.hh line 41. */
+#include <cstddef>
 
-template <typename Container>
-inline typename iterator_to_const<Container>::reference
-iterator_to_const<Container>::operator*() const {
-  return *base;
-}
+namespace Parma_Polyhedra_Library {
+// Put them in the namespace here to declare them friend later.
 
-template <typename Container>
-inline typename iterator_to_const<Container>::pointer
-iterator_to_const<Container>::operator->() const {
-  return &*base;
-}
+//! Returns the linear expression \p e1 + \p e2.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e1, const Linear_Expression& e2);
 
-template <typename Container>
-inline iterator_to_const<Container>&
-iterator_to_const<Container>::operator++() {
-  ++base;
-  return *this;
-}
+//! Returns the linear expression \p v + \p w.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(Variable v, Variable w);
 
-template <typename Container>
-inline iterator_to_const<Container>
-iterator_to_const<Container>::operator++(int) {
-  iterator_to_const tmp = *this;
-  operator++();
-  return tmp;
-}
+//! Returns the linear expression \p v + \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(Variable v, const Linear_Expression& e);
 
-template <typename Container>
-inline iterator_to_const<Container>&
-iterator_to_const<Container>::operator--() {
-  --base;
-  return *this;
-}
+//! Returns the linear expression \p e + \p v.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e, Variable v);
 
-template <typename Container>
-inline iterator_to_const<Container>
-iterator_to_const<Container>::operator--(int) {
-  iterator_to_const tmp = *this;
-  operator--();
-  return tmp;
-}
+//! 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 Container>
-inline bool
-iterator_to_const<Container>::operator==(const iterator_to_const& y) const {
-  return base == y.base;
-}
+//! 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 Container>
-inline bool
-iterator_to_const<Container>::operator!=(const iterator_to_const& y) const {
-  return !operator==(y);
-}
+//! Returns the linear expression \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator+(const Linear_Expression& e);
 
-template <typename Container>
-inline
-const_iterator_to_const<Container>::const_iterator_to_const()
-  : base() {
-}
+//! Returns the linear expression - \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e);
 
-template <typename Container>
-inline
-const_iterator_to_const<Container>
-::const_iterator_to_const(const const_iterator_to_const& y)
-  : base(y.base) {
-}
+//! Returns the linear expression \p e1 - \p e2.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e1, const Linear_Expression& e2);
 
-template <typename Container>
-inline
-const_iterator_to_const<Container>::const_iterator_to_const(const Base& b)
-  : base(b) {
-}
+//! Returns the linear expression \p v - \p w.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(Variable v, Variable w);
 
-template <typename Container>
-inline typename const_iterator_to_const<Container>::reference
-const_iterator_to_const<Container>::operator*() const {
-  return *base;
-}
+//! Returns the linear expression \p v - \p e.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(Variable v, const Linear_Expression& e);
 
-template <typename Container>
-inline typename const_iterator_to_const<Container>::pointer
-const_iterator_to_const<Container>::operator->() const {
-  return &*base;
-}
+//! Returns the linear expression \p e - \p v.
+/*! \relates Linear_Expression */
+Linear_Expression
+operator-(const Linear_Expression& e, Variable v);
 
-template <typename Container>
-inline const_iterator_to_const<Container>&
-const_iterator_to_const<Container>::operator++() {
-  ++base;
-  return *this;
-}
+//! 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 Container>
-inline const_iterator_to_const<Container>
-const_iterator_to_const<Container>::operator++(int) {
-  const_iterator_to_const tmp = *this;
-  operator++();
-  return tmp;
-}
+//! 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 Container>
-inline const_iterator_to_const<Container>&
-const_iterator_to_const<Container>::operator--() {
-  --base;
-  return *this;
-}
+//! 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 Container>
-inline const_iterator_to_const<Container>
-const_iterator_to_const<Container>::operator--(int) {
-  const_iterator_to_const tmp = *this;
-  operator--();
-  return tmp;
-}
+//! 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 Container>
-inline bool
-const_iterator_to_const<Container>
-::operator==(const const_iterator_to_const& y) const {
-  return base == y.base;
-}
+//! 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);
 
-template <typename Container>
-inline bool
-const_iterator_to_const<Container>
-::operator!=(const const_iterator_to_const& y) const {
-  return !operator==(y);
-}
+//! 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);
 
-template <typename Container>
-inline
-const_iterator_to_const<Container>
-::const_iterator_to_const(const iterator_to_const<Container>& y)
-  : base(y.base) {
-}
+//! 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);
 
-/*! \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);
-}
+//! 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);
 
-/*! \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);
-}
+//! 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);
 
-} // namespace Parma_Polyhedra_Library
+//! 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);
 
-/* Automatically generated from PPL source file ../src/iterator_to_const.defs.hh line 220. */
+//! 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);
 
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 1. */
-/* Class declarations for several distances.
-*/
+namespace IO_Operators {
 
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Linear_Expression */
+std::ostream& operator<<(std::ostream& s, const Linear_Expression& e);
 
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 28. */
+} // namespace IO_Operators
 
-template <typename Temp>
-struct Parma_Polyhedra_Library::Rectilinear_Distance_Specialization {
-  static void combine(Temp& running, const Temp& current, Rounding_Dir dir);
+} // namespace Parma_Polyhedra_Library
 
-  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);
+namespace std {
 
-  static void finalize(Temp& running, Rounding_Dir dir);
-};
+//! 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
 
-template <typename Temp>
-struct Parma_Polyhedra_Library::L_Infinity_Distance_Specialization {
-  static void combine(Temp& running, const Temp& current, Rounding_Dir);
+//! 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.
 
-  static void finalize(Temp&, Rounding_Dir);
-};
+  \par How to build a linear expression.
 
-/* Automatically generated from PPL source file ../src/distances.inlines.hh line 1. */
-/* Inline functions implementing distances.
-*/
+  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();
 
-/* Automatically generated from PPL source file ../src/distances.inlines.hh line 27. */
+  //! Ordinary copy-constructor.
+  Linear_Expression(const Linear_Expression& e);
 
-namespace Parma_Polyhedra_Library {
+  //! Destructor.
+  ~Linear_Expression();
 
-// 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);
-  }
-};
+  /*! \brief
+    Builds the linear expression corresponding
+    to the inhomogeneous term \p n.
+  */
+  explicit Linear_Expression(Coefficient_traits::const_reference n);
 
-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;
-  }
-};
+  //! 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);
 
-#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);
-}
+  //! 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);
 
-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);
-}
+  /*! \brief
+    Builds the linear expression corresponding to generator \p g
+    (for points and closure points, the divisor is not copied).
 
-template <typename Temp>
-inline void
-Rectilinear_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
-}
+    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);
 
-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);
-}
+  /*! \brief
+    Builds the linear expression corresponding to grid generator \p g
+    (for points, parameters and lines the divisor is not copied).
 
-template <typename Temp>
-inline void
-Euclidean_Distance_Specialization<Temp>::finalize(Temp& running,
-						  Rounding_Dir dir) {
-  sqrt_assign_r(running, running, dir);
-}
+    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);
 
-template <typename Temp>
-inline void
-L_Infinity_Distance_Specialization<Temp>::combine(Temp& running,
-						  const Temp& current,
-						  Rounding_Dir) {
-  if (current > running)
-    running = current;
-}
+  //! 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);
 
-template <typename Temp>
-inline void
-L_Infinity_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
-}
+  //! Returns the maximum space dimension a Linear_Expression can handle.
+  static dimension_type max_space_dimension();
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-/* Automatically generated from PPL source file ../src/distances.defs.hh line 52. */
+  //! Returns the coefficient of \p v in \p *this.
+  Coefficient_traits::const_reference coefficient(Variable v) const;
 
-/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 1. */
-/* Interval boundary functions.
-*/
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
 
+  //! Initializes the class.
+  static void initialize();
 
-/* Automatically generated from PPL source file ../src/Boundary.defs.hh line 27. */
+  //! Finalizes the class.
+  static void finalize();
 
-namespace Parma_Polyhedra_Library {
+  //! Returns the (zero-dimension space) constant 0.
+  static const Linear_Expression& zero();
 
-namespace Boundary_NS {
+  /*! \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;
 
-struct Unbounded {
-  Unbounded() {
-  }
-};
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-const Unbounded UNBOUNDED;
+  PPL_OUTPUT_DECLARATIONS
 
-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;
-};
+  /*! \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);
 
-static const Property SPECIAL(Property::SPECIAL_);
-static const Property OPEN(Property::OPEN_);
-static const Property NORMALIZED(Property::NORMALIZED_);
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-enum Boundary_Type {
-  LOWER = ROUND_DOWN,
-  UPPER = ROUND_UP
-};
+  //! Swaps \p *this with \p y.
+  void swap(Linear_Expression& y);
 
-inline Rounding_Dir
-round_dir_check(Boundary_Type t, bool check = false) {
-  if (check)
-    return static_cast<Rounding_Dir>(t | ROUND_FPU_CHECK_INEXACT);
-  else
-    return static_cast<Rounding_Dir>(t);
-}
+private:
+  /*! \brief
+    Holds (between class initialization and finalization) a pointer to
+    the (zero-dimension space) constant 0.
+  */
+  static const Linear_Expression* zero_p;
 
-template <typename T, typename Info>
-inline Result
-special_set_boundary_infinity(Boundary_Type type, T&, Info& info) {
-  assert(Info::store_special);
-  info.set_boundary_property(type, SPECIAL);
-  return V_EQ;
-}
+  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;
 
-template <typename T, typename Info>
-inline bool
-special_is_boundary_infinity(Boundary_Type, const T&, const Info&) {
-  return true;
-}
+  // FIXME: the following friend declaration is only to grant access to
+  // Constraint_System::affine_preimage().
+  friend class Parma_Polyhedra_Library::Constraint_System;
 
-template <typename T, typename Info>
-inline bool
-special_is_open(Boundary_Type, const T&, const Info&) {
-  return !Info::may_contain_infinity;
-}
+  // FIXME: the following friend declaration is only to grant access to
+  // Generator_System::affine_image().
+  friend class Parma_Polyhedra_Library::Generator_System;
 
-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);
-}
+  // FIXME: the following friend declaration is only to grant access to
+  // Congruence_System::affine_preimage().
+  friend class Parma_Polyhedra_Library::Congruence_System;
 
-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);
-}
+  // FIXME: the following friend declaration is only to grant access to
+  // Grid_Generator_System::affine_image().
+  friend class Parma_Polyhedra_Library::Grid_Generator_System;
 
-template <typename T, typename Info>
-inline Result
-set_unbounded(Boundary_Type type, T& x, Info& info) {
-  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 (r == V_EQ && !Info::may_contain_infinity)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+  //! Copy-constructor with a specified space dimension.
+  Linear_Expression(const Linear_Expression& e, dimension_type sz);
 
-template <typename T, typename Info>
-inline Result
-set_minus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  /*
-  COMPILE_TIME_CHECK(Info::store_special
-		     || std::numeric_limits<T>::has_infinity,
-		     "Minus infinity is not representable");
+  //! Implementation sizing constructor.
+  /*!
+    The bool parameter is just to avoid problems with
+    the constructor Linear_Expression(Coefficient_traits::const_reference n).
   */
-  if (open)
-    assert(type == LOWER);
-  else
-    assert(Info::may_contain_infinity);
-  Result r;
-  if (Info::store_special) {
-    assert(type == LOWER);
-    r = special_set_boundary_infinity(type, x, info);
-  }
-  else
-    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
-  assert(r != VC_MINUS_INFINITY);
-  if (open || r != V_EQ)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+  Linear_Expression(dimension_type sz, bool);
 
-template <typename T, typename Info>
-inline Result
-set_plus_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  /*
-  COMPILE_TIME_CHECK(Info::store_special
-		     || std::numeric_limits<T>::has_infinity,
-		     "Minus infinity is not representable");
+  /*! \brief
+    Builds the linear expression 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_Expression::max_space_dimension()</CODE>.
   */
-  if (open)
-    assert(type == UPPER);
-  else
-    assert(Info::may_contain_infinity);
-  Result r;
-  if (Info::store_special) {
-    assert(type == UPPER);
-    r = special_set_boundary_infinity(type, x, info);
-  }
-  else
-    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
-  assert(r != VC_MINUS_INFINITY);
-  if (open || r != V_EQ)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+  Linear_Expression(Variable v, Variable w);
 
-template <typename T, typename Info>
-inline Result
-set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
-  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));
-  assert(r == V_EQ);
-  if (open)
-    info.set_boundary_property(type, OPEN);
-  return r;
-}
+  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);
 
-template <typename T, typename Info>
-inline Result
-shrink(Boundary_Type type, T& x, Info& info) {
-  Result r;
-  if (type == LOWER) {
-    r = info.restrict(x, V_GT);
-    if (r != V_GT)
-      return r;
-  } else {
-    r = info.restrict(x, V_LT);
-    if (r != V_LT)
-      return r;
-  }
-  info.set_boundary_property(type, OPEN);
-  return r;
-}
+  friend Linear_Expression
+  operator-(const Linear_Expression& e);
 
-template <typename T, typename Info>
-inline bool
-is_unbounded(Boundary_Type type, const T& x, const Info& info) {
-  if (Info::store_special)
-    return info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info);
-  else if (std::numeric_limits<T>::has_infinity) {
-    if (type == LOWER)
-      return Parma_Polyhedra_Library::is_minus_infinity(x);
-    else
-      return Parma_Polyhedra_Library::is_plus_infinity(x);
-  }
-  else if (std::numeric_limits<T>::is_bounded) {
-    if (type == LOWER)
-      return x == std::numeric_limits<T>::min();
-    else
-      return x == std::numeric_limits<T>::max();
-  } else
-    return false;
-}
+  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);
 
-template <typename T, typename Info>
-inline bool
-normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) {
-  if (type == LOWER)
-    return Parma_Polyhedra_Library::is_minus_infinity(x);
-  else
-    return Parma_Polyhedra_Library::is_plus_infinity(x);
-}
+  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);
 
-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);
-}
+  friend Linear_Expression&
+  operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
 
-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)
-	&& special_is_boundary_infinity(type, x, info);
-    else
-      return normal_is_boundary_infinity(type, x, info);
-  }
-  else
-    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
-}
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<(std::ostream& s, const Linear_Expression& e);
+};
 
-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)
-	&& special_is_boundary_infinity(type, x, info);
-    else
-      return normal_is_boundary_infinity(type, x, info);
-  }
-  else
-    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Expression.inlines.hh line 1. */
+/* Linear_Expression class implementation: inline functions.
+*/
 
-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)
-      && special_is_boundary_infinity(type, x, info);
-  else
-    return normal_is_boundary_infinity(type, x, info);
-}
 
-template <typename T, typename Info>
-inline bool
-is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
-  return !Info::store_special
-    && normal_is_reverse_infinity(type, x, info);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Expression.inlines.hh line 28. */
+#include <stdexcept>
 
-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;
-}
+namespace Parma_Polyhedra_Library {
 
-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);
+inline dimension_type
+Linear_Expression::max_space_dimension() {
+  return Linear_Row::max_space_dimension();
 }
 
-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);
+inline
+Linear_Expression::Linear_Expression()
+  : Linear_Row(1, Linear_Row::Flags()) {
 }
 
-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) &&
-      special_is_boundary_infinity(type, x, info))
-    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);
+inline
+Linear_Expression::Linear_Expression(dimension_type sz, bool)
+  : Linear_Row(sz, Linear_Row::Flags()) {
 }
 
-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;
+inline
+Linear_Expression::Linear_Expression(const Linear_Expression& e)
+  : Linear_Row(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);
+inline
+Linear_Expression::~Linear_Expression() {
 }
 
-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);
+inline
+Linear_Expression::Linear_Expression(const Linear_Expression& e,
+				     dimension_type sz)
+  : Linear_Row(e, sz, sz) {
 }
 
-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);
+inline
+Linear_Expression::Linear_Expression(Coefficient_traits::const_reference n)
+  : Linear_Row(1, Linear_Row::Flags()) {
+  (*this)[0] = n;
 }
 
-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);
+inline dimension_type
+Linear_Expression::space_dimension() const {
+  return size() - 1;
 }
 
-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);
+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());
 }
 
-template <typename T, typename Info>
-inline Result
-adjust_boundary(Boundary_Type type, T& x, Info& info,
-		bool open, Result r) {
-  if (type == LOWER) {
-    switch (r) {
-    case V_NEG_OVERFLOW:
-      open = true;
-      /* Fall through */
-    case VC_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);
-      // FIXME: what to return?
-      return r;
-    default:
-      assert(false);
-      return VC_NAN;
-    }
-  }
-  else {
-    switch (r) {
-    case V_POS_OVERFLOW:
-      open = true;
-      /* Fall through */
-    case VC_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);
-      // FIXME: what to return?
-      return r;
-    default:
-      assert(false);
-      return VC_NAN;
-    }
-  }
+inline Coefficient_traits::const_reference
+Linear_Expression::inhomogeneous_term() const {
+  return Linear_Row::inhomogeneous_term();
 }
 
-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) {
-  assert(to_type != type);
-  bool shrink;
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
-    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);
+inline const Linear_Expression&
+Linear_Expression::zero() {
+  assert(zero_p != 0);
+  return *zero_p;
 }
 
-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) {
-  assert(to_type == type);
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
-    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);
+inline memory_size_type
+Linear_Expression::external_memory_in_bytes() const {
+  return Linear_Row::external_memory_in_bytes();
 }
 
-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;
+inline memory_size_type
+Linear_Expression::total_memory_in_bytes() const {
+  return Linear_Row::total_memory_in_bytes();
 }
 
-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);
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e) {
+  return 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;
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n + e;
 }
 
-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);
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator+(const Linear_Expression& e, const Variable v) {
+  return v + e;
 }
 
-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) {
-  assert(to_type != type);
-  bool shrink;
-  if (info.get_boundary_property(type, SPECIAL)
-      && special_is_boundary_infinity(type, x, info)) {
-    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);
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator-(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return -n + e;
 }
 
-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) {
-  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);
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator-(const Variable v, const Variable w) {
+  return Linear_Expression(v, w);
 }
 
-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) {
-  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);
+/*! \relates Linear_Expression */
+inline Linear_Expression
+operator*(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n * e;
 }
 
-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())));
-  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);
+/*! \relates Linear_Expression */
+inline Linear_Expression&
+operator+=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  e[0] += n;
+  return e;
 }
 
-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);
+/*! \relates Linear_Expression */
+inline Linear_Expression&
+operator-=(Linear_Expression& e, Coefficient_traits::const_reference n) {
+  e[0] -= n;
+  return e;
 }
 
-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);
+inline void
+Linear_Expression::swap(Linear_Expression& y) {
+  Linear_Row::swap(y);
 }
 
-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())));
-  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);
+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);
+}
 
-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);
-  }
+} // namespace Parma_Polyhedra_Library
+
+
+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 Boundary_NS
+} // namespace std
 
-} // namespace Parma_Polyhedra_Library
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_Expression.defs.hh line 460. */
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 1. */
-/* Interval_Info class declaration and implementation.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint.defs.hh line 1. */
+/* Constraint class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Interval_Restriction.defs.hh line 1. */
-/* Interval_Restriction class declaration.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint_System.defs.hh line 1. */
+/* Constraint_System class declaration.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_System.defs.hh line 1. */
+/* Linear_System class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Interval_Restriction.defs.hh line 29. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_System.types.hh line 1. */
+
 
 namespace Parma_Polyhedra_Library {
 
-struct Interval_Base;
+class Linear_System;
 
-template <typename T, typename Enable = void>
-struct Boundary_Value {
-  typedef T type;
-};
+} // namespace Parma_Polyhedra_Library
 
-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;
-};
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Row.types.hh line 1. */
 
-class Interval_Restriction_None_Base {
-public:
-  bool has_restriction() const {
-    return false;
-  }
-  void normalize() const {
-  }
-  template <typename T>
-  Result restrict(T&, Result dir) const {
-    return dir;
-  }
-};
 
-inline bool
-eq_restriction(const Interval_Restriction_None_Base&, const Interval_Restriction_None_Base) {
-  return true;
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename T>
-inline bool
-contains_restriction(const Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+class Bit_Row;
 
-template <typename T>
-inline bool
-assign_restriction(Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename T1, typename T2>
-inline bool
-join_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Matrix.types.hh line 1. */
 
-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;
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename T>
-inline bool
-neg_restriction(Interval_Restriction_None_Base&, const T&) {
-  return true;
-}
+class Bit_Matrix;
 
-template <typename T1, typename T2>
-inline bool
-add_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename T1, typename T2>
-inline bool
-sub_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
-  return true;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Matrix.defs.hh line 1. */
+/* Matrix class declaration.
+*/
 
-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;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Matrix.types.hh line 1. */
 
-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 {
+namespace Parma_Polyhedra_Library {
+
+class Matrix;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Matrix.defs.hh line 31. */
+#include <vector>
+#include <cstddef>
+
+#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)
+
+class Parma_Polyhedra_Library::Matrix {
 public:
-  Interval_Restriction_None() {
+  //! Returns the maximum number of rows of a Matrix.
+  static dimension_type max_num_rows();
+
+  //! Returns the maximum number of columns of a 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;
+
+    \param n_columns
+    The number of columns of the matrix that will be created.
+
+    \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());
+
+  //! Copy-constructor.
+  Matrix(const Matrix& y);
+
+  //! Destructor.
+  ~Matrix();
+
+  //! Assignment operator.
+  Matrix& operator=(const Matrix& y);
+
+#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;
+
+  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;
+
+    //! 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;
   };
-  template <typename T>
-  Interval_Restriction_None(const T& init)
-    : Base(init) {
-  }
-};
 
-class Interval_Restriction_Integer_Base {
-};
+  //! 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;
 
-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);
-  }
+  /*! \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;
 
-  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(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), ROUND_DOWN);
-      /* Fall through */
-    case V_GE:
-      return ceil_assign_r(x, x, ROUND_DOWN);
-    case V_LT:
-      if (is_integer(x))
-	sub_assign_r(x, x, static_cast<T>(1), ROUND_UP);
-      /* Fall through */
-    case V_LE:
-      return floor_assign_r(x, x, ROUND_UP);
-    default:
-      assert(false);
-      return dir;
-    }
-  }
-};
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
+
+  // FIXME: the following section must become private.
+protected:
+  //! Contains the rows of the matrix.
+  std::vector<Row> rows;
+
+  //! Size of the initialized part of each row.
+  dimension_type row_size;
+
+  //! Capacity allocated for each row.
+  dimension_type row_capacity;
 
-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;
-};
+  //! Swaps \p *this with \p y.
+  void swap(Matrix& y);
 
-template <typename From, typename Base, typename Enable = void>
-struct Restriction_Integer;
+  //! 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.
 
-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));
-  }
-};
+    \param row_flags
+    Flags for the newly added rows.
 
-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()));
-  }
-};
+    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);
 
-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();
-  }
-};
+  //! Adds \p n columns of zeroes to the matrix.
+  /*!
+    \param n
+    The number of columns to be added: must be strictly positive.
 
-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();
-}
+    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);
 
-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();
-}
+  //! 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.
 
-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 m
+    The number of columns to be added: must be strictly positive.
 
-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;
-}
+    \param row_flags
+    Flags for the newly added rows.
 
-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;
-}
+    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.
+  */
+  void add_zero_rows_and_columns(dimension_type n, dimension_type m,
+				 Row::Flags row_flags);
 
-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;
-}
+  //! 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 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;
-}
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+1) \times c\f$ matrix
+    \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
+    The matrix is expanded avoiding reallocation whenever possible.
+  */
+  void add_row(const Row& y);
 
-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;
-}
+  //! 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.
+
+    Turns the \f$r \times c\f$ matrix \f$M\f$ into
+    the \f$(r+1) \times c\f$ matrix
+    \f$\genfrac{(}{)}{0pt}{}{M}{0}\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);
+
+  //! Resizes the matrix without worrying about the old contents.
+  /*!
+    \param new_n_rows
+    The number of rows of the resized matrix;
+
+    \param new_n_columns
+    The number of columns of the resized matrix.
+
+    \param row_flags
+    The flags of the rows eventually added to the matrix.
+
+    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);
+
+  //! Swaps the columns having indexes \p i and \p j.
+  void swap_columns(dimension_type i,  dimension_type j);
+
+  //! 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.
+  */
+  void permute_columns(const std::vector<dimension_type>& cycles);
+
+  //! \name Accessors
+  //@{
 
-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;
-}
+  //! Returns the number of columns of the matrix (i.e., the size of the rows).
+  dimension_type num_columns() const;
 
-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;
-}
+  //! Returns the number of rows in the matrix.
+  dimension_type num_rows() const;
+  //@} // Accessors
 
-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;
-}
+  //! \name Subscript operators
+  //@{
+  //! Returns a reference to the \p k-th row of the matrix.
+  Row& operator[](dimension_type k);
 
-template <typename Base>
-inline void
-output_restriction(std::ostream& s, const Interval_Restriction_Integer<Base>& x) {
-  if (x.get_integer())
-    s << "i";
-}
+  //! Returns a constant reference to the \p k-th row of the matrix.
+  const Row& operator[](dimension_type k) const;
+  //@} // Subscript operators
 
-class Interval_Restriction_Integer_Modulo_Base {
-};
+  //! Clears the matrix deallocating all its rows.
+  void clear();
 
-template <typename T, typename Base>
-class Interval_Restriction_Integer_Modulo : public Interval_Restriction_Integer_Modulo_Base, public Base {
-public:
-  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(V& x, Result dir) const {
-    if (!has_restriction())
-      return dir;
-    DIRTY_TEMP(V, n);
-    DIRTY_TEMP(V, div);
-    Result r;
-    r = assign_r(div, divisor, ROUND_CHECK);
-    assert(r == V_EQ);
-    int s;
-    r = rem_assign_r(n, x, div, ROUND_NOT_NEEDED);
-    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);
-	assert(r == V_EQ);
-	return add_assign_r(x, x, n, ROUND_DOWN);
-      }
-      else
-	return sub_assign_r(x, x, n, ROUND_DOWN);
-    case V_GE:
-      if (s > 0) {
-	r = sub_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
-	return add_assign_r(x, x, n, ROUND_DOWN);
-      }
-      else if (s < 0)
-	return sub_assign_r(x, x, n, ROUND_DOWN);
-      else
-	return V_EQ;
-    case V_LT:
-      if (s <= 0) {
-	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
-	return sub_assign_r(x, x, n, ROUND_UP);
-      }
-      else
-	return sub_assign_r(x, x, n, ROUND_UP);
-    case V_LE:
-      if (s < 0) {
-	r = add_assign_r(n, div, n, ROUND_NOT_NEEDED);
-	assert(r == V_EQ);
-	return sub_assign_r(x, x, n, ROUND_UP);
-      }
-      else if (s > 0)
-	return sub_assign_r(x, x, n, ROUND_UP);
-      else
-	return V_EQ;
-    default:
-      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;
-};
+  PPL_OUTPUT_DECLARATIONS
 
-template <typename T, typename Base>
-struct Slow_Copy<Interval_Restriction_Integer_Modulo<T, Base> > : public Bool<Slow_Copy<T>::value> {};
+  /*! \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 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);
-  }
-};
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-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
+    Erases from the matrix all the rows but those having
+    an index less than \p first_to_erase.
+  */
+  void erase_to_end(dimension_type first_to_erase);
+
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 };
 
-template <typename From, typename T, typename Base, typename Enable = void>
-struct Restriction_Integer_Modulo;
+namespace std {
 
-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;
-  }
-};
+#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 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;
-  }
-};
+} // namespace std
 
-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();
-  }
-};
+namespace Parma_Polyhedra_Library {
 
-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;
-}
+#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 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;
-  DIRTY_TEMP(typename T1::modulo_type, v);
-  Result r;
-  r = rem_assign_r(v, y.divisor, x.divisor, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
-  if (v != 0)
-    return false;
-  r = rem_assign_r(v, y.remainder, x.divisor, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
-  return v == x.remainder;
-}
+#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 T, typename Base>
-inline bool
-set_unrestricted(Interval_Restriction_Integer_Modulo<T, Base>& to) {
-  to.remainder = 0;
-  to.divisor = 0;
-  return true;
-}
+} // namespace Parma_Polyhedra_Library
 
-template <typename T, typename Base>
-inline bool
-set_integer(Interval_Restriction_Integer_Modulo<T, Base>& to) {
-  to.remainder = 0;
-  to.divisor = 1;
-  return true;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Matrix.inlines.hh line 1. */
+/* Matrix class implementation: inline functions.
+*/
 
-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)) {
-    DIRTY_TEMP(typename Boundary_Value<From1>::type, a);
-    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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Matrix.inlines.hh line 27. */
+#include <algorithm>
+#include <cassert>
+
+namespace Parma_Polyhedra_Library {
+
+inline dimension_type
+Matrix::max_num_rows() {
+  return std::vector<Row>().max_size();
 }
 
-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;
-  }
-  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);
-  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;
+inline dimension_type
+Matrix::max_num_columns() {
+  return Row::max_size();
 }
 
-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;
+inline memory_size_type
+Matrix::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-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);
+inline
+Matrix::const_iterator::const_iterator()
+  : i(Iter()) {
 }
 
-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);
-    assert(r == V_EQ);
-    if (x <= to) {
-      r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-      assert(r == V_EQ);
-    }
-    else {
-      r = sub_assign_r(to, x, to, ROUND_NOT_NEEDED);
-      assert(r == V_EQ);
-    }
-  }
-  else {
-    r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
-  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
+inline
+Matrix::const_iterator::const_iterator(const Iter& b)
+  : i(b) {
 }
 
-template <typename M, typename T>
-inline bool
-assign_rem(M& rem, const T& n, const M& div) {
-  DIRTY_TEMP(T, divisor);
-  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;
+inline
+Matrix::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i) {
 }
 
+inline Matrix::const_iterator&
+Matrix::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  return *this;
+}
 
-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;
-  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);
-    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);
-    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);
-    assert(r == V_EQ);
-    addmod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
-  }
-  return true;
+inline Matrix::const_iterator::reference
+Matrix::const_iterator::operator*() const {
+  return *i;
 }
 
-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);
-    assert(r == V_EQ);
-  }
-  else {
-    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = add_assign_r(to, x, to, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
-  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-  assert(r == V_EQ);
+inline Matrix::const_iterator::pointer
+Matrix::const_iterator::operator->() const {
+  return &*i;
 }
 
-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;
-  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);
-    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);
-    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);
-    assert(r == V_EQ);
-    submod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
-  }
-  return true;
+inline Matrix::const_iterator&
+Matrix::const_iterator::operator++() {
+  ++i;
+  return *this;
 }
 
-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) {
-    DIRTY_TEMP0(mpz_class, a);
-    DIRTY_TEMP0(mpz_class, b);
-    r = assign_r(a, x, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = assign_r(b, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = mul_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = assign_r(b, to_m, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = rem_assign_r(a, a, b, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = assign_r(to, a, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
-  else {
-    r = mul_assign_r(to, x, y, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-    r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
-    assert(r == V_EQ);
-  }
+inline Matrix::const_iterator
+Matrix::const_iterator::operator++(int) {
+  return const_iterator(i++);
 }
 
+inline bool
+Matrix::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
+}
 
-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;
-  DIRTY_TEMP(T, mul);
-  if (is_singleton(x)) {
-    if (is_singleton(y))
-      return set_integer(to);
-    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)) {
-    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);
-    assert(r == V_EQ);
-    mulmod(to.remainder, rx.remainder, ry.remainder, to.divisor);
-  }
-  return true;
+Matrix::const_iterator::operator!=(const const_iterator& y) const {
+  return !operator==(y);
 }
 
-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);
+Matrix::has_no_rows() const {
+  return rows.empty();
 }
 
-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 << "}";
+inline Matrix::const_iterator
+Matrix::begin() const {
+  return const_iterator(rows.begin());
 }
 
+inline Matrix::const_iterator
+Matrix::end() const {
+  return const_iterator(rows.end());
 }
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 28. */
+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);
+}
 
-#include <iostream>
+inline
+Matrix::Matrix()
+  : rows(),
+    row_size(0),
+    row_capacity(0) {
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Matrix::Matrix(const Matrix& y)
+  : rows(y.rows),
+    row_size(y.row_size),
+    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
+}
 
-namespace Interval_NS {
+inline
+Matrix::~Matrix() {
+}
 
-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) {
+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());
   }
-  Type type;
-};
-
-const Property CARDINALITY_0(Property::CARDINALITY_0_);
-const Property CARDINALITY_1(Property::CARDINALITY_1_);
-const Property CARDINALITY_IS(Property::CARDINALITY_IS_);
+  return *this;
+}
 
-template <typename T>
 inline void
-reset_bits(T& bits) {
-  bits = 0;
+Matrix::add_row(const Row& y) {
+  Row new_row(y, row_capacity);
+  add_recycled_row(new_row);
 }
 
-template <typename T>
-inline void
-reset_bit(T& bits, unsigned int bit) {
-  bits &= ~(static_cast<T>(1) << bit);
+inline Row&
+Matrix::operator[](const dimension_type k) {
+  assert(k < rows.size());
+  return rows[k];
 }
 
-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);
+inline const Row&
+Matrix::operator[](const dimension_type k) const {
+  assert(k < rows.size());
+  return rows[k];
 }
 
-template <typename T>
+inline dimension_type
+Matrix::num_rows() const {
+  return rows.size();
+}
+
+inline dimension_type
+Matrix::num_columns() const {
+  return row_size;
+}
+
+/*! \relates Matrix */
 inline bool
-get_bit(const T& bits, unsigned int bit) {
-  return bits & (static_cast<T>(1) << bit);
+operator!=(const Matrix& x, const Matrix& y) {
+  return !(x == y);
 }
 
-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;
+Matrix::erase_to_end(const dimension_type first_to_erase) {
+  assert(first_to_erase <= rows.size());
+  if (first_to_erase < rows.size())
+    rows.erase(rows.begin() + first_to_erase, rows.end());
 }
 
-template <typename T>
-inline T
-get_bits(T& bits, unsigned int start, unsigned int len) {
-  return (bits >> start) & ((static_cast<T>(1) << len) - 1);
+inline void
+Matrix::clear() {
+  // Clear `rows' and minimize its capacity.
+  std::vector<Row>().swap(rows);
+  row_size = 0;
+  row_capacity = 0;
 }
 
-} // namespace Interval_NS
+} // namespace Parma_Polyhedra_Library
 
-using namespace Interval_NS;
-using namespace Boundary_NS;
+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 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_empty_result, Policy::check_empty_result);
-  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) {
-  }
+} // namespace std
 
-  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;
-  }
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Matrix.defs.hh line 366. */
 
-  //! Swaps \p *this with \p y.
-  void swap(Interval_Info_Null& y);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_System.defs.hh line 33. */
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
-};
+#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)
 
-template <typename Policy>
-class Interval_Info_Null_Open : public Interval_Info_Null<Policy> {
+class Parma_Polyhedra_Library::Linear_System : public Matrix {
 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;
-    }
-  }
+  //! Builds an empty linear system with specified topology.
+  /*!
+    Rows size and capacity are initialized to \f$0\f$.
+  */
+  Linear_System(Topology topol);
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
+  //! Builds a system with specified topology and dimensions.
+  /*!
+    \param topol
+    The topology of the system that will be created;
 
-private:
-  bool open;
-};
+    \param n_rows
+    The number of rows of the system that will be created;
 
+    \param n_columns
+    The number of columns of the system that will be created.
 
-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_empty_result, Policy::check_empty_result);
-  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();
-  }
+    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);
 
-  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;
-    }
-  }
+#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);
+
+  //! Full copy-constructor: pending rows are copied as pending.
+  Linear_System(const Linear_System& y, With_Pending);
+
+  //! Assignment operator: pending rows are transformed into non-pending ones.
+  Linear_System& operator=(const Linear_System& y);
+
+  //! Full assignment operator: pending rows are copied as pending.
+  void assign_with_pending(const Linear_System& y);
 
   //! Swaps \p *this with \p y.
-  void swap(Interval_Info_Bitset& y);
+  void swap(Linear_System& y);
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
+  //! Returns the maximum space dimension a Linear_System can handle.
+  static dimension_type max_space_dimension();
 
-protected:
-  T bitset;
-};
+  //! Returns the space dimension of the rows in the system.
+  /*!
+    The computation of the space dimension correctly ignores
+    the column encoding the inhomogeneous terms of constraint
+    (resp., the divisors of generators);
+    if the system topology is <CODE>NOT_NECESSARILY_CLOSED</CODE>,
+    also the column of the \f$\epsilon\f$-dimension coefficients
+    will be ignored.
+  */
+  dimension_type space_dimension() const;
 
-}
+  //! Makes the system shrink by removing its \p n trailing columns.
+  void remove_trailing_columns(dimension_type n);
 
-/* Automatically generated from PPL source file ../src/Interval_Info.inlines.hh line 1. */
-/* Interval_Info class implementation: inline functions.
-*/
+  //! Permutes the columns of the system.
+  /*
+    \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);
+
+  //! \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;
+  //@} // Subscript operators
 
-#include <iomanip>
+  //! Strongly normalizes the system.
+  void strong_normalize();
 
-namespace Parma_Polyhedra_Library {
+  //! Sign-normalizes the system.
+  void sign_normalize();
 
-template <typename Policy>
-inline void
-Interval_Info_Null<Policy>::swap(Interval_Info_Null<Policy>&) {
-}
+  //! \name Accessors
+  //@{
+  //! Returns the system topology.
+  Topology topology() const;
 
-template <typename Policy>
-inline void
-Interval_Info_Null<Policy>::ascii_dump(std::ostream& s) const {
-}
+  //! Returns the value of the sortedness flag.
+  bool is_sorted() const;
 
-template <typename Policy>
-inline bool
-Interval_Info_Null<Policy>::ascii_load(std::istream& s) {
-  return true;
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    the system topology is <CODE>NECESSARILY_CLOSED</CODE>.
+  */
+  bool is_necessarily_closed() const;
 
-template <typename Policy>
-inline void
-Interval_Info_Null_Open<Policy>::ascii_dump(std::ostream& s) const {
-  s << (open ? "open" : "closed");
-}
+  /*! \brief
+    Returns the number of rows in the system
+    that represent either lines or equalities.
+  */
+  dimension_type num_lines_or_equalities() const;
 
-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;
-}
+  //! Returns the index of the first pending row.
+  dimension_type first_pending_row() const;
 
-template <typename T, typename Policy>
-inline void
-Interval_Info_Bitset<T, Policy>::swap(Interval_Info_Bitset<T, Policy>& y) {
-  std::swap(bitset, y.bitset);
-}
+  //! Returns the number of rows that are in the pending part of the system.
+  dimension_type num_pending_rows() const;
+  //@} // Accessors
 
-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);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is sorted,
+    without checking for duplicates.
+  */
+  bool check_sorted() const;
 
-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;
-}
+  //! Sets the system topology to <CODE>NECESSARILY_CLOSED</CODE>.
+  void set_necessarily_closed();
 
-} // namespace Parma_Polyhedra_Library
+  //! Sets the system topology to <CODE>NOT_NECESSARILY_CLOSED</CODE>.
+  void set_not_necessarily_closed();
 
-namespace std {
+  //! Sets the topology of all rows equal to the system topology.
+  void set_rows_topology();
 
-#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);
-}
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
 
-#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);
-}
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
 
-} // namespace std
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
 
-/* Automatically generated from PPL source file ../src/Interval_Info.defs.hh line 299. */
+  //! Resizes the system without worrying about the old contents.
+  /*!
+    \param new_n_rows
+    The number of rows of the resized system;
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 1. */
-/* Declarations for the Interval class and its constituents.
-*/
+    \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);
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 31. */
-#include <iosfwd>
+  //! Adds \p n rows and columns to the system.
+  /*!
+    \param n
+    The number of rows and columns to be added: must be strictly positive.
 
-// Temporary!
-#include <iostream>
+    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_rows_and_columns(dimension_type n);
 
-namespace Parma_Polyhedra_Library {
+  /*! \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);
 
-enum I_Result {
-  I_EMPTY = 0,
-  /*
-  I_L_EQ = V_EQ,
-  I_L_GT = V_GT,
-  I_L_GE = V_GE,
-  I_U_EQ = V_EQ << 6,
-  I_U_LT = V_LT << 6,
-  I_U_LE = V_LE << 6,
+  /*! \brief
+    Adds a copy of the given row to the pending part of the system,
+    automatically resizing the system or the row, if needed.
   */
-  I_MAYBE_EMPTY = 1 << 12,
-  I_SINGULARITIES = 1 << 13
-};
+  void insert_pending(const Linear_Row& r);
 
-enum Ternary { T_YES, T_NO, T_MAYBE };
+  //! Adds a copy of the given row to the system.
+  void add_row(const Linear_Row& r);
 
-inline I_Result
-combine(Result l, Result u) {
-  return static_cast<I_Result>(l | (u << 6));
-}
+  //! Adds a new empty row to the system, setting only its flags.
+  void add_pending_row(Linear_Row::Flags flags);
 
-inline Result
-lower(I_Result r) {
-  return static_cast<Result>(r & 63);
-}
+  //! Adds a copy of the given row to the pending part of the system.
+  void add_pending_row(const Linear_Row& r);
 
-inline Result
-upper(I_Result r) {
-  return static_cast<Result>((r >> 6) & 63);
-}
+  //! Adds to \p *this a copy of the rows of `y'.
+  /*!
+    It is assumed that \p *this has no pending rows.
+  */
+  void add_rows(const Linear_System& y);
 
-template <typename Info>
-inline bool
-unrepresentability_error(I_Result r, const Info&) {
-  return !Info::store_special
-    && (is_special(lower(r)) || is_special(upper(r)));
-}
+  //! Adds a copy of the rows of `y' to the pending part of `*this'.
+  void add_pending_rows(const Linear_System& y);
 
-using namespace Boundary_NS;
-using namespace Interval_NS;
+  /*! \brief
+    Sorts the non-pending rows (in growing order) and eliminates
+    duplicated ones.
+  */
+  void sort_rows();
 
-struct Interval_Base {};
+  /*! \brief
+    Sorts the rows (in growing order) form \p first_row to
+    \p last_row and eliminates duplicated ones.
+  */
+  void sort_rows(dimension_type first_row, dimension_type last_row);
 
-template <typename T, typename Enable = void>
-struct Is_Singleton : public Is_Native_Or_Checked<T> {};
+  /*! \brief
+    Assigns to \p *this the result of merging its rows with
+    those of \p y, obtaining a sorted system.
 
-template <typename T>
-struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
+    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 Linear_System& y);
 
-//! 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:
+  /*! \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();
 
-  - 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>).
+  class With_Bit_Matrix_iterator;
 
-  The class template type parameter \p Info allows to control a number
-  of features of the class, among which:
+  /*! \brief
+    Sorts the system, removing duplicates, keeping the saturation
+    matrix consistent.
 
-  - 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:
-  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);
-  }
-  bool is_empty_nocache() const {
-    return lt(UPPER, upper(), info(), LOWER, lower(), info());
-  }
-  bool is_singleton_nocache() const {
-    return eq(LOWER, lower(), info(), UPPER, upper(), info());
-  }
-  Result lower_normalize() const {
-    Result r;
-    if (info().get_boundary_property(LOWER, NORMALIZED)
-	|| info().get_boundary_property(LOWER, SPECIAL))
-      r = V_EQ;
-    else {
-      if (info().get_boundary_property(LOWER, OPEN)) {
-	r = info().restrict(lower(), V_GT);
-	if (r != V_GT)
-	  w_info().set_boundary_property(LOWER, OPEN, false);
-      }
-      else {
-	r = info().restrict(lower(), 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 {
-      if (info().get_boundary_property(UPPER, OPEN)) {
-	r = info().restrict(upper(), V_LT);
-	if (r != V_LT)
-	  w_info().set_boundary_property(UPPER, OPEN, false);
-      }
-      else {
-	r = info().restrict(upper(), V_LE);
-	if (r == V_LT)
-	  w_info().set_boundary_property(UPPER, OPEN);
-      }
-      w_info().set_boundary_property(UPPER, NORMALIZED);
-    }
-    return r;
-  }
+    \param sat
+    Bit matrix with rows corresponding to the rows of \p *this.
+  */
+  void sort_and_remove_with_sat(Bit_Matrix& sat);
 
+  //! 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);
 
-public:
-  typedef Boundary boundary_type;
-  typedef Info info_type;
+  /*! \brief
+    Back-substitutes the coefficients to reduce
+    the complexity of the system.
 
-  typedef Interval_NS::Property Property;
+    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);
 
-  void lower_load() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    lower_loaded = 1;
-#endif
-  }
+  /*! \brief
+    Applies Gaussian elimination and back-substitution so as to
+    simplify the linear system.
+  */
+  void simplify();
 
-  void upper_load() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    upper_loaded = 1;
-#endif
-  }
+  /*! \brief
+    Normalizes the system by dividing each row for the GCD of the
+    row's elements.
+  */
+  void normalize();
 
-  void complete_init() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    assert(lower_loaded);
-    assert(upper_loaded);
-    completed = 1;
-#endif
-  }
+  //! Clears the system deallocating all its rows.
+  void clear();
 
-  void complete_init_internal() {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    lower_loaded = 1;
-    upper_loaded = 1;
-    completed = 1;
-#endif
-  }
+  PPL_OUTPUT_DECLARATIONS
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
-  operator=(const T& x) {
-    assign(x);
-    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.
 
-  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;
-  }
+    Reads into a Linear_System object the information produced by the
+    output of ascii_dump(std::ostream&) const.  The specialized methods
+    provided by Constraint_System and Generator_System take care of
+    properly reading the contents of the system.
+  */
+  bool ascii_load(std::istream& s);
 
-  //! Swaps \p *this with \p y.
-  void swap(Interval& y);
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  Info& info() {
-    return *this;
-  }
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-  const Info& info() const {
-    return *this;
-  }
+  //! Checks if all the invariants are satisfied.
+  /*!
+    \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.
 
-  Boundary& lower() {
-    return lower_;
-  }
+    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.
+  */
+  bool OK(bool check_strong_normalized = true) const;
 
-  const Boundary& lower() const {
-    return lower_;
-  }
+private:
+  //! The topological kind of the rows in the system.
+  Topology row_topology;
 
-  Boundary& upper() {
-    return upper_;
-  }
+  //! The index of the first pending row.
+  dimension_type index_first_pending;
 
-  const Boundary& upper() const {
-    return upper_;
-  }
+  /*! \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>.
+    If <CODE>false</CODE> may not be sorted.
+  */
+  bool sorted;
 
-  Ternary is_empty_cached() const {
-    if (info().get_interval_property(CARDINALITY_0))
-      return info().get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-    else if (info().get_interval_property(CARDINALITY_IS))
-      return T_NO;
-    else
-      return T_MAYBE;
-  }
+  //! Ordering predicate (used when implementing the sort algorithm).
+  struct Row_Less_Than {
+    bool operator()(const Row& x, const Row& y) const;
+  };
+};
 
-  Ternary is_singleton_cached() const {
-    if (info().get_interval_property(CARDINALITY_1))
-      return info().get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-    else if (info().get_interval_property(CARDINALITY_IS))
-      return T_NO;
-    else
-      return T_MAYBE;
-  }
+namespace std {
 
-  bool is_empty() const {
-    switch (is_empty_cached()) {
-    case T_NO:
-      return false;
-    case T_YES:
-      return true;
-    case T_MAYBE:
-      bool r = is_empty_nocache();
-      if (r) {
-	w_info().set_interval_property(CARDINALITY_IS, r);
-	w_info().set_interval_property(CARDINALITY_1, false);
-      }
-      w_info().set_interval_property(CARDINALITY_0);
-      return r;
-    }
-    assert(false);
-    return false;
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Linear_System */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void swap(Parma_Polyhedra_Library::Linear_System& x,
+	  Parma_Polyhedra_Library::Linear_System& y);
+
+} // namespace std
 
-  bool is_singleton() const {
-    switch (is_singleton_cached()) {
-    case T_NO:
-      return false;
-    case T_YES:
-      return true;
-    case T_MAYBE:
-      bool r = is_singleton_nocache();
-      if (r) {
-	w_info().set_interval_property(CARDINALITY_IS, r);
-	w_info().set_interval_property(CARDINALITY_0, false);
-      }
-      w_info().set_interval_property(CARDINALITY_1);
-      return r;
-    }
-    assert(false);
-    return false;
-  }
+namespace Parma_Polyhedra_Library {
 
-  bool has_restriction() const {
-    return info().has_restriction();
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! 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);
 
-  I_Result normalize() const {
-    assert(OK());
-    if (has_restriction()) {
-      Result rl = lower_normalize();
-      Result ru = upper_normalize();
-      // FIXME: this invalidation is not needed if interval is unchanged
-      invalidate_cardinality_cache();
-      info().normalize();
-      assert(OK());
-      return combine(rl, ru);
-    }
-    else
-      return combine(V_EQ, V_EQ);
-  }
+#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);
 
-  bool lower_is_open() const {
-    assert(OK());
-    return is_open(LOWER, lower(), info());
-  }
+} // namespace Parma_Polyhedra_Library
 
-  bool upper_is_open() const {
-    assert(OK());
-    return is_open(UPPER, upper(), info());
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! An iterator keeping a Linear_System consistent with a Bit_Matrix.
+/*! \ingroup PPL_CXX_interface
+  An iterator on the vector of Row objects encoded in a Linear_System
+  extended to maintain a corresponding iterator on a vector of
+  Bit_Row objects.  Access to values is always done on the Row
+  objects, but iterator movements and swaps are done on both components.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator {
+public:
+  typedef std::vector<Row>::iterator Iter1;
+  typedef std::vector<Bit_Row>::iterator Iter2;
 
-  Result lower_shrink() {
-    assert(OK());
-    return shrink(LOWER, lower(), info());
-  }
+private:
+  Iter1 i1;
+  Iter2 i2;
 
-  Result upper_shrink() {
-    assert(OK());
-    return shrink(UPPER, upper(), info());
-  }
+public:
+  // Same traits as Iter1.
+  typedef std::iterator_traits<Iter1>::iterator_category iterator_category;
+  typedef std::iterator_traits<Iter1>::value_type value_type;
+  typedef std::iterator_traits<Iter1>::difference_type difference_type;
+  typedef std::iterator_traits<Iter1>::pointer pointer;
+  typedef std::iterator_traits<Iter1>::reference reference;
 
-  bool lower_is_unbounded() const {
-    assert(OK());
-    return Boundary_NS::is_unbounded(LOWER, lower(), info());
-  }
+  //! Constructor.
+  With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2);
 
-  bool upper_is_unbounded() const {
-    assert(OK());
-    return Boundary_NS::is_unbounded(UPPER, upper(), info());
-  }
+  //! Copy-constructor.
+  With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y);
 
-  bool is_unbounded() const {
-    assert(OK());
-    return lower_is_unbounded() || upper_is_unbounded();
-  }
+  //! Destructor.
+  ~With_Bit_Matrix_iterator();
 
-  bool is_universe() const {
-    assert(OK());
-    return lower_is_unbounded() && upper_is_unbounded()
-      && !has_restriction();
-  }
+  //! Assignment operator.
+  With_Bit_Matrix_iterator&
+  operator=(const With_Bit_Matrix_iterator& y);
 
-  void invalidate_cardinality_cache() const {
-    w_info().set_interval_property(CARDINALITY_IS, false);
-    w_info().set_interval_property(CARDINALITY_0, false);
-    w_info().set_interval_property(CARDINALITY_1, false);
-  }
+  //! \name Operators Implementing Iterator Movement
+  //@{
+  With_Bit_Matrix_iterator& operator++();
+  With_Bit_Matrix_iterator operator++(int);
 
-  template <typename T>
-  Result lower_set_uninit(const T& x, bool open = false) {
-    info().clear_boundary_properties(LOWER);
-    Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, x, f_info(x, open));
-    lower_load();
-    return rl;
-  }
+  With_Bit_Matrix_iterator& operator--();
+  With_Bit_Matrix_iterator operator--(int);
 
-  Result lower_set_uninit(const Unbounded&) {
-    info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    lower_load();
-    return rl;
-  }
+  With_Bit_Matrix_iterator& operator+=(difference_type d);
+  With_Bit_Matrix_iterator operator+(difference_type d) const;
 
-  template <typename T>
-  Result lower_set(const T& x, bool open = false) {
-    assert(OK());
-    info().clear_boundary_properties(LOWER);
-    Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, x, f_info(x, open));
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+  With_Bit_Matrix_iterator& operator-=(difference_type d);
+  With_Bit_Matrix_iterator operator-(difference_type d) const;
+  //@}
 
-  Result lower_set(const Unbounded&) {
-    assert(OK());
-    info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+  //! Distance operator.
+  difference_type operator-(const With_Bit_Matrix_iterator& y) const;
 
-  template <typename T>
-  Result lower_narrow(const T& x, bool open = false) {
-    assert(OK());
-    if (ge(LOWER, lower(), info(), LOWER, x, f_info(x, open)))
-      return V_EQ;
-    return lower_set(x, open);
-  }
+  //! \name Comparisons between Iterators
+  //@{
+  bool operator==(const With_Bit_Matrix_iterator& y) const;
+  bool operator!=(const With_Bit_Matrix_iterator& y) const;
+  bool operator<(const With_Bit_Matrix_iterator& y) const;
+  //@}
 
-  template <typename T>
-  Result lower_widen(const T& x, bool open = false) {
-    assert(OK());
-    if (le(LOWER, lower(), info(), LOWER, x, f_info(x, open)))
-      return V_EQ;
-    return lower_set(x, open);
-  }
+  //! Dereference operator.
+  reference operator*() const;
 
-  Result lower_widen(const Unbounded&) {
-    assert(OK());
-    if (lower_is_unbounded())
-      return V_EQ;
-    info().clear_boundary_properties(LOWER);
-    Result rl = set_unbounded(LOWER, lower(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return V_EQ;
-  }
+  //! Access-through operator.
+  pointer operator->() const;
 
-  template <typename T>
-  Result upper_set_uninit(const T& x, bool open = false) {
-    info().clear_boundary_properties(UPPER);
-    Result rl = Boundary_NS::assign(UPPER, upper(), info(), UPPER, x, f_info(x, open));
-    upper_load();
-    return rl;
-  }
-  Result upper_set_uninit(const Unbounded&) {
-    info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    upper_load();
-    return rl;
-  }
+  //! Swaps the pointed Row objects while keeping Bit_Matrix consistent.
+  void iter_swap(const With_Bit_Matrix_iterator& y) const;
 
-  template <typename T>
-  Result upper_set(const T& x, bool open = false) {
-    assert(OK());
-    info().clear_boundary_properties(UPPER);
-    Result rl = Boundary_NS::assign(UPPER, upper(), info(), UPPER, x, f_info(x, open));
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+};
 
-  Result upper_set(const Unbounded&) {
-    assert(OK());
-    info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+namespace std {
 
-  template <typename T>
-  Result upper_narrow(const T& x, bool open = false) {
-    assert(OK());
-    if (le(UPPER, upper(), info(), UPPER, x, f_info(x, open)))
-      return V_EQ;
-    return upper_set(x, open);
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Specializes <CODE>std::iter_swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+void
+iter_swap(Parma_Polyhedra_Library
+	  ::Linear_System::With_Bit_Matrix_iterator x,
+	  Parma_Polyhedra_Library
+	  ::Linear_System::With_Bit_Matrix_iterator y);
 
-  template <typename T>
-  Result upper_widen(const T& x, bool open = false) {
-    assert(OK());
-    if (ge(UPPER, upper(), info(), UPPER, x, f_info(x, open)))
-      return V_EQ;
-    return upper_set(x, open);
-  }
+} // namespace std
 
-  Result upper_widen(const Unbounded&) {
-    assert(OK());
-    if (upper_is_unbounded())
-      return V_EQ;
-    info().clear_boundary_properties(UPPER);
-    Result rl = set_unbounded(UPPER, upper(), info());
-    invalidate_cardinality_cache();
-    assert(OK());
-    return rl;
-  }
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_System.inlines.hh line 1. */
+/* Linear_System class implementation: inline functions.
+*/
 
-  I_Result assign(Degenerate_Element e) {
-    I_Result r;
-    Result rl, ru;
-    info().clear();
-    switch (e) {
-    case EMPTY:
-      info().set_interval_property(CARDINALITY_IS);
-      info().set_interval_property(CARDINALITY_0);
-      lower_set_uninit(1);
-      upper_set_uninit(0);
-      r = I_EMPTY;
-      break;
-    case UNIVERSE:
-      info().set_interval_property(CARDINALITY_0, true);
-      info().set_interval_property(CARDINALITY_1, true);
-      rl = lower_set_uninit(UNBOUNDED);
-      ru = upper_set_uninit(UNBOUNDED);
-      r = combine(rl, ru);
-      break;
-    default:
-      assert(0);
-      r = I_EMPTY;
-      break;
-    }
-    complete_init();
-    assert(OK());
-    return r;
-  }
 
-  template <typename From>
-  typename Enable_If<Is_Special<From>::value, I_Result>::type assign(const From&) {
-    info().clear();
-    info().set_interval_property(CARDINALITY_0, true);
-    info().set_interval_property(CARDINALITY_1, true);
-    Result rl, ru;
-    switch (From::code) {
-    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:
-      assert(0);
-      rl = VC_NAN;
-      ru = VC_NAN;
-    }
-    complete_init_internal();
-    assert(OK());
-    return combine(rl, ru);
-  }
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Row.defs.hh line 1. */
+/* Bit_Row class declaration.
+*/
 
-  I_Result set_infinities() {
-    info().clear();
-    info().set_interval_property(CARDINALITY_0, true);
-    info().set_interval_property(CARDINALITY_1, true);
-    // FIXME: what about restrictions?
-    Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
-    Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
-    complete_init_internal();
-    assert(OK());
-    return combine(rl, ru);
-  }
 
-  bool is_topologically_closed() const {
-    assert(OK());
-    return !Info::store_open
-      || is_empty()
-      || ((lower_is_unbounded() || !lower_is_open())
-          && (upper_is_unbounded() || !upper_is_open()));
-  }
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Row.defs.hh line 28. */
+#include <iosfwd>
+#include <gmpxx.h>
+#include <vector>
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign() {
-    if (!Info::store_open || is_empty())
-      return;
+namespace Parma_Polyhedra_Library {
 
-    if (!lower_is_unbounded())
-      info().set_boundary_property(LOWER, OPEN, false);
+// Put them in the namespace here to declare them friends later.
 
-    if (!upper_is_unbounded())
-      info().set_boundary_property(UPPER, OPEN, false);
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator==(const Bit_Row& x, const Bit_Row& y);
 
-  bool is_infinity() const {
-    assert(OK());
-    if (is_reverse_infinity(LOWER, lower(), info()))
-      return 1;
-    else if (is_reverse_infinity(UPPER, upper(), info()))
-      return -1;
-    else
-      return 0;
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Returns <CODE>true</CODE> if and only if \p x and \p y are not equal.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool operator!=(const Bit_Row& x, const Bit_Row& y);
 
-  bool contains_integer_point() const {
-    assert(OK());
-    if (is_empty())
-      return false;
-    if (is_unbounded())
-      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;
-  }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! The basic comparison function.
+/*! \relates Bit_Row
+  Compares \p x with \p y starting from the least significant bits.
+  The ordering is total and has the following property: if \p x and \p y
+  are two rows seen as sets of naturals, if \p x is a strict subset
+  of \p y, then \p x comes before \p y.
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  Returns
+  - -1 if \p x comes before \p y in the ordering;
+  -  0 if \p x and \p y are equal;
+  -  1 if \p x comes after \p y in the ordering.
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+int compare(const Bit_Row& x, const Bit_Row& y);
 
-  //! 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
+//! Set-theoretic inclusion test.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool subset_or_equal(const Bit_Row& x, const Bit_Row& y);
 
-  void ascii_dump(std::ostream& s) const;
-  bool ascii_load(std::istream& s);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Set-theoretic inclusion test: sets \p strict_subset to a Boolean
+  indicating whether the inclusion is strict or not.
 
-  bool OK() const {
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    if (!completed) {
-	std::cerr << "The interval initialization has not been completed."
-                  << std::endl;
-	return false;
-    }
-#endif
-#if 0
-    if (!Info::may_be_empty && is_empty()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is unexpectedly empty.\n";
-#endif
-	return false;
-    }
-#endif
+  \relates Bit_Row
+*/
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
+		     bool& strict_subset);
 
-    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
-    }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! Set-theoretic strict inclusion test.
+/*! \relates Bit_Row */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+bool strict_subset(const Bit_Row& x, const Bit_Row& y);
 
-    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
-    }
+#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);
 
-    Ternary t;
+#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);
 
-    t = is_empty_cached();
-    if (t == T_YES) {
-      if (!is_empty_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be empty, "
-                  << "but actually it is not empty.\n";
-#endif
-	return false;
-      }
-    }
-    else if (t == T_NO) {
-      if (is_empty_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be not empty, "
-                  << "but actually it is empty.\n";
-#endif
-	return false;
-      }
-    }
+#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);
 
-    t = is_singleton_cached();
-    if (t == T_YES) {
-      if (!is_singleton_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be singleton, "
-                  << "but actually it is not singleton.\n";
-#endif
-	return false;
-      }
-    }
-    else if (t == T_NO) {
-      if (is_singleton_nocache()) {
-#ifndef NDEBUG
-	std::cerr << "The interval is marked to be not singleton, "
-                  << "but actually it is singleton.\n";
-#endif
-	return false;
-      }
-    }
+} // namespace Parma_Polyhedra_Library
 
-    if (info().get_interval_property(CARDINALITY_IS) &&
-	info().get_interval_property(CARDINALITY_0)
-        == info().get_interval_property(CARDINALITY_1)) {
-#ifndef NDEBUG
-      std::cerr << "The interval is marked to know its cardinality, "
-                << "but this is unspecified or ambiguous.\n";
-#endif
-      return false;
-    }
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+//! A row in a matrix of bits.
+/*! \ingroup PPL_CXX_interface */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+class Parma_Polyhedra_Library::Bit_Row {
+public:
+  //! Default constructor.
+  Bit_Row();
 
-    // Everything OK.
-    return true;
-  }
+  //! Copy-constructor.
+  Bit_Row(const Bit_Row& y);
 
-  Interval()
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    : lower_loaded(0), upper_loaded(0), completed(0)
-#endif
-  {
-  }
+  //! Destructor.
+  ~Bit_Row();
 
-  template <typename T>
-  explicit Interval(const T& x)
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-    : lower_loaded(0), upper_loaded(0), completed(0)
-#endif
-  {
-    assign(x);
-  }
+  //! Assignment operator.
+  Bit_Row& operator=(const Bit_Row& y);
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-  contains(const T& y) const;
+  //! Swaps \p *this with \p y.
+  void swap(Bit_Row& y);
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, bool>::type
-  strictly_contains(const T& y) const;
+  //! Returns the truth value corresponding to the bit in position \p k.
+  bool operator[](unsigned long k) const;
 
-  template <typename T>
-  typename Enable_If<Is_Singleton<T>::value
-                     || Is_Interval<T>::value, bool>::type
-  is_disjoint_from(const T& y) const;
+  //! Sets the bit in position \p k.
+  void set(unsigned long k);
 
-  template <typename From1, typename From2>
-  I_Result assign(const From1& l, const From2& u);
+  //! Sets bits up to position \p k (excluded).
+  void set_until(unsigned long k);
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  assign(const From& x);
+  //! Clears the bit in position \p k.
+  void clear(unsigned long k);
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  join_assign(const From& x);
+  //! Clears bits from position \p k (included) onward.
+  void clear_from(unsigned long k);
 
-  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);
+  //! Clears all the bits of the row.
+  void clear();
 
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  intersect_assign(const From& x);
+  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);
+  friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y);
+  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);
 
-  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);
+  //! Returns the index of the first set bit or ULONG_MAX if no bit is set.
+  unsigned long first() const;
 
   /*! \brief
-    Assigns to \p *this the smallest interval containing the set-theoretic
-    difference of \p *this and \p x.
+    Returns the index of the first set bit after \p position
+    or ULONG_MAX if no bit after \p position is set.
   */
-  template <typename From>
-  typename Enable_If<Is_Singleton<From>::value
-                     || Is_Interval<From>::value, I_Result>::type
-  difference_assign(const From& x);
+  unsigned long next(unsigned long position) const;
+
+  //! Returns the index of the last set bit or ULONG_MAX if no bit is set.
+  unsigned long last() const;
 
   /*! \brief
-    Assigns to \p *this the smallest interval containing the set-theoretic
-    difference of \p x and \p y.
+    Returns the index of the first set bit before \p position
+    or ULONG_MAX if no bits before \p position is set.
   */
-  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);
+  unsigned long prev(unsigned long position) const;
 
-  /*! \brief
-    Refines \p to according to the existential relation \p rel with \p x.
+  //! Returns the number of set bits in the row.
+  unsigned long count_ones() const;
 
-    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
-    ???
-  */
-  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);
+  //! Returns <CODE>true</CODE> if no bit is set in the row.
+  bool empty() const;
 
-  /*! \brief
-    Refines \p to so that it satisfies the universal relation \p rel with \p x.
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-    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
-    ???
-  */
-  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);
+  //! 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
-  neg_assign(const From& x);
+  //! Checks if all the invariants are satisfied
+  bool OK() const;
 
-  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);
+private:
+  //! Bit-vector representing the row.
+  mpz_t vec;
 
-  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);
+  //! Assuming \p w is nonzero, returns the index of the first set bit in \p w.
+  static unsigned int first_one(mp_limb_t w);
 
-  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);
+  //! Assuming \p w is nonzero, returns the index of the last set bit in \p w.
+  static unsigned int last_one(mp_limb_t w);
+};
 
-  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 std {
 
-  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
+//! 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);
 
-private:
-  Boundary lower_;
-  Boundary upper_;
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-  unsigned int lower_loaded:1;
-  unsigned int upper_loaded:1;
-  unsigned int completed:1;
-#endif
-};
+#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 Parma_Polyhedra_Library
+} // namespace std
 
-/* 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 /home/bagnara/ppl/ppl/src/Bit_Row.inlines.hh line 1. */
+/* Bit_Row class implementation: inline functions.
 */
 
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Row.inlines.hh line 27. */
+#include <cassert>
+
+// For the declaration of ffs(3).
+#if defined(PPL_HAVE_STRINGS_H)
+# include <strings.h>
+#elif defined(PPL_HAVE_STRING_H)
+# include <string.h>
+#endif
+
 namespace Parma_Polyhedra_Library {
 
-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());
+inline
+Bit_Row::Bit_Row() {
+  mpz_init(vec);
 }
 
-template <typename Boundary, typename Info>
-inline memory_size_type
-Interval<Boundary, Info>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline
+Bit_Row::Bit_Row(const Bit_Row& y) {
+  mpz_init_set(vec, y.vec);
 }
 
-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());
+inline
+Bit_Row::~Bit_Row() {
+  mpz_clear(vec);
 }
 
-template <typename Boundary, typename Info>
-inline bool
-f_is_empty(const Interval<Boundary, Info>& x) {
-  return x.is_empty();
+inline Bit_Row&
+Bit_Row::operator=(const Bit_Row& y) {
+  mpz_set(vec, y.vec);
+  return *this;
 }
-template <typename Boundary, typename Info>
-inline bool
-f_is_singleton(const Interval<Boundary, Info>& x) {
-  return x.is_singleton();
+
+inline void
+Bit_Row::set(const unsigned long k) {
+  mpz_setbit(vec, k);
 }
-template <typename Boundary, typename Info>
-inline int
-is_infinity(const Interval<Boundary, Info>& x) {
-  return x.is_infinity();
+
+inline void
+Bit_Row::clear(const unsigned long k) {
+  mpz_clrbit(vec, k);
 }
 
-namespace Interval_NS {
+inline void
+Bit_Row::clear_from(const unsigned long k) {
+  mpz_tdiv_r_2exp(vec, vec, k);
+}
 
-template <typename Boundary, typename Info>
-inline const Boundary&
-f_lower(const Interval<Boundary, Info>& x) {
-  return x.lower();
+inline unsigned long
+Bit_Row::count_ones() const {
+  assert(vec->_mp_size >= 0);
+  return vec->_mp_size == 0 ? 0 : mpn_popcount(vec->_mp_d, vec->_mp_size);
 }
-template <typename Boundary, typename Info>
-inline const Boundary&
-f_upper(const Interval<Boundary, Info>& x) {
-  return x.upper();
+
+inline bool
+Bit_Row::empty() const {
+  return mpz_sgn(vec) == 0;
 }
-template <typename Boundary, typename Info>
-inline const Info&
-f_info(const Interval<Boundary, Info>& x) {
-  return x.info();
+
+inline void
+Bit_Row::swap(Bit_Row& y) {
+  mpz_swap(vec, y.vec);
 }
 
-struct Scalar_As_Interval_Policy {
-  const_bool_nodef(may_be_empty, true);
-  const_bool_nodef(may_contain_infinity, true);
-  const_bool_nodef(check_empty_result, false);
-  const_bool_nodef(check_inexact, false);
-};
+inline void
+Bit_Row::clear() {
+  mpz_set_ui(vec, 0UL);
+}
 
-typedef Interval_Restriction_None<Interval_Info_Null<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info;
+inline memory_size_type
+Bit_Row::external_memory_in_bytes() const {
+  return vec[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
+}
 
-const Scalar_As_Interval_Info SCALAR_INFO;
+inline memory_size_type
+Bit_Row::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-typedef Interval_Restriction_None<Interval_Info_Null_Open<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info_Open;
+#if PPL_HAVE_DECL_FFS && PPL_SIZEOF_MP_LIMB_T == PPL_SIZEOF_INT
 
-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;
+inline unsigned int
+Bit_Row::first_one(mp_limb_t w) {
+  return ffs(w)-1;
 }
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, const Scalar_As_Interval_Info&>::type
-f_info(const T&) {
-  return SCALAR_INFO;
+
+#endif
+
+/*! \relates Bit_Row */
+inline void
+set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
+  mpz_ior(z.vec, x.vec, y.vec);
 }
-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);
+
+/*! \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);
 }
 
-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);
+/*! \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);
+  mpz_com(complement_y.get_mpz_t(), y.vec);
+  mpz_and(z.vec, x.vec, complement_y.get_mpz_t());
 }
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value, bool>::type
-f_is_singleton(const T& x) {
-  return !f_is_empty(x);
+} // namespace Parma_Polyhedra_Library
+
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Bit_Row */
+inline void
+swap(Parma_Polyhedra_Library::Bit_Row& x,
+     Parma_Polyhedra_Library::Bit_Row& y) {
+  x.swap(y);
 }
 
-template <typename T>
-inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Ternary>::type
-f_is_empty_lazy(const T& x) {
-  if (f_info(x).get_interval_property(CARDINALITY_0))
-    return f_info(x).get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
-  else
-    return T_MAYBE;
+/*! \relates Parma_Polyhedra_Library::Bit_Row */
+inline void
+iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
+	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y) {
+  swap(*x, *y);
 }
 
-} // namespace Interval_NS
+} // namespace std
 
-inline bool
-is_integer(const char*) {
-  // FIXME:
-  return false;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Row.defs.hh line 221. */
 
-inline bool
-is_not_a_number(const char*) {
-  // FIXME:
-  return false;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_System.inlines.hh line 27. */
+
+namespace Parma_Polyhedra_Library {
+
+inline memory_size_type
+Linear_System::external_memory_in_bytes() const {
+  return Matrix::external_memory_in_bytes();
 }
 
-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 memory_size_type
+Linear_System::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-template <typename T1, typename T2>
 inline bool
-same_object(const T1&, const T2&) {
-  return false;
+Linear_System::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
+  // is actually sorted when `sorted' value is 'true'.
+  assert(!sorted || check_sorted());
+  return sorted;
 }
 
-template <typename T>
-inline bool
-same_object(const T& x, const T& y) {
-  return &x == &y;
+inline void
+Linear_System::set_sorted(const bool b) {
+  sorted = b;
 }
 
-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 {
-    assert(!f_is_empty(x));
-    return false;
-  }
+inline
+Linear_System::Linear_System(Topology topol)
+  : Matrix(),
+    row_topology(topol),
+    index_first_pending(0),
+    sorted(true) {
 }
 
-template <typename Boundary, typename Info>
-inline I_Result
-check_empty_result(const Interval<Boundary, Info>& x, I_Result r) {
-  if (Info::check_empty_result && f_is_empty(x))
-    return I_EMPTY;
-  else
-    return static_cast<I_Result>(r | I_MAYBE_EMPTY);
+inline
+Linear_System::Linear_System(Topology topol,
+			     dimension_type n_rows, dimension_type n_columns)
+  : Matrix(n_rows, n_columns, Linear_Row::Flags(topol)),
+    row_topology(topol),
+    index_first_pending(n_rows),
+    sorted(true) {
+}
+
+inline dimension_type
+Linear_System::first_pending_row() const {
+  return index_first_pending;
 }
 
-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) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  if (check_empty_arg(x))
-    return check_empty_arg(y);
-  else if (check_empty_arg(y))
-    return false;
-  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));
+inline dimension_type
+Linear_System::num_pending_rows() const {
+  assert(num_rows() >= first_pending_row());
+  return num_rows() - first_pending_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) {
-  return !(x == y);
+inline void
+Linear_System::unset_pending_rows() {
+  index_first_pending = num_rows();
 }
 
-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 {
-  assert(OK());
-  assert(f_OK(y));
-  if (check_empty_arg(y))
-    return true;
-  if (check_empty_arg(*this))
-    return false;
-  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));
+inline void
+Linear_System::set_index_first_pending_row(const dimension_type i) {
+  index_first_pending = i;
 }
 
-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 {
-  assert(OK());
-  assert(f_OK(y));
-  if (check_empty_arg(y))
-    return !check_empty_arg(*this);
-  if (check_empty_arg(*this))
-    return false;
-  if (!contains_restriction(info(), f_info(y)))
-      return false;
-  else if (!eq_restriction(*this, 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)));
+inline
+Linear_System::Linear_System(const Linear_System& y)
+  : Matrix(y),
+    row_topology(y.row_topology) {
+  unset_pending_rows();
+  // Previously pending rows may violate sortedness.
+  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
+  assert(num_pending_rows() == 0);
 }
 
-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 {
-  assert(OK());
-  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
+Linear_System::Linear_System(const Linear_System& y, With_Pending)
+  : Matrix(y),
+    row_topology(y.row_topology),
+    index_first_pending(y.index_first_pending),
+    sorted(y.sorted) {
 }
 
-template <typename To_Boundary, typename To_Info>
-template <typename From1, typename From2>
-inline I_Result
-Interval<To_Boundary, To_Info>::assign(const From1& l, const From2& u) {
-  info().clear();
-  Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, l, f_info(l));
-  Result ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, u, f_info(u));
-  complete_init_internal();
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
+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;
+  assert(num_pending_rows() == 0);
+  return *this;
 }
 
-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) {
-  assert(f_OK(x));
-  if (check_empty_arg(x))
-    return assign(EMPTY);
-  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);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+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;
 }
 
-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) {
-  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);
-  info().set_interval_property(CARDINALITY_IS, false);
-  info().set_interval_property(CARDINALITY_0);
-  info().set_interval_property(CARDINALITY_1, false);
-  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));
-  assert(OK());
-  return combine(rl, ru);
+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);
 }
 
-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) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  if (check_empty_arg(x))
-    return assign(y);
-  if (check_empty_arg(y))
-    return assign(x);
-  DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!join_restriction(to_info, x, y))
-    return assign(EMPTY);
-  to_info.set_interval_property(CARDINALITY_0);
-  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);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline void
+Linear_System::clear() {
+  // Note: do NOT modify the value of `row_topology'.
+  Matrix::clear();
+  index_first_pending = 0;
+  sorted = true;
 }
 
-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) {
-  assert(f_OK(x));
-  if (!intersect_restriction(info(), *this, x))
-    return assign(EMPTY);
-  // FIXME: more accurate?
-  invalidate_cardinality_cache();
-  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));
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
+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);
 }
 
-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) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  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);
-  complete_init_internal();
-  assert(OK());
-  // The following Parma_Polyhedra_Library:: qualification is to work
-  // around a bug in version 10.0 of the Intel C/C++ compiler.
-  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
+inline void
+Linear_System::set_necessarily_closed() {
+  row_topology = NECESSARILY_CLOSED;
+  if (!has_no_rows())
+    set_rows_topology();
 }
 
-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) {
-  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 {
-      invalidate_cardinality_cache();
-      info().clear_boundary_properties(LOWER);
-      rl = complement(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x));
-    }
-  }
-  else if (nu) {
-    invalidate_cardinality_cache();
-    info().clear_boundary_properties(UPPER);
-    ru = complement(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x));
-  }
-  assert(OK());
-  return combine(rl, ru);
+inline void
+Linear_System::set_not_necessarily_closed() {
+  row_topology = NOT_NECESSARILY_CLOSED;
+  if (!has_no_rows())
+    set_rows_topology();
 }
 
-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) {
-  assert(f_OK(x));
-  assert(f_OK(y));
-  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);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline bool
+Linear_System::is_necessarily_closed() const {
+  return row_topology == NECESSARILY_CLOSED;
 }
 
-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) {
-  assert(OK());
-  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);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      UPPER, f_upper(x), f_info(x), true);
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
-    }
-  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);
-      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
-				      UPPER, f_upper(x), f_info(x));
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
-    }
-  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);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      LOWER, f_lower(x), f_info(x), true);
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
-    }
-  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);
-      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
-				      LOWER, f_lower(x), f_info(x));
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
-    }
-  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)))
-	lower_shrink();
-      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	upper_shrink();
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, V_EQ));
-    }
-  default:
-    assert(false);
-    return I_EMPTY;
-  }
+inline Linear_Row&
+Linear_System::operator[](const dimension_type k) {
+  return static_cast<Linear_Row&>(Matrix::operator[](k));
 }
 
-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) {
-  assert(OK());
-  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)));
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
-    }
-  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);
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, ru));
-    }
-  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)));
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
-    }
-  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);
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(rl, V_EQ));
-    }
-  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)))
-	lower_shrink();
-      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
-	upper_shrink();
-      invalidate_cardinality_cache();
-      normalize();
-      // The following Parma_Polyhedra_Library:: qualification is to work
-      // around a bug in version 10.0 of the Intel C/C++ compiler.
-      return Parma_Polyhedra_Library::check_empty_result(*this,
-							 combine(V_EQ, V_EQ));
-    }
-  default:
-    assert(false);
-    return I_EMPTY;
-  }
+inline const Linear_Row&
+Linear_System::operator[](const dimension_type k) const {
+  return static_cast<const Linear_Row&>(Matrix::operator[](k));
 }
 
-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) {
-  assert(f_OK(x));
-  if (check_empty_arg(x))
-    return assign(EMPTY);
-  DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!neg_restriction(to_info, x))
-    return assign(EMPTY);
-  Result rl, ru;
-  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);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+inline Topology
+Linear_System::topology() const {
+  return row_topology;
 }
 
-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) {
-  assert(f_OK(x));
-  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);
-  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);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+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;
 }
 
-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) {
-  assert(f_OK(x));
-  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 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);
+}
 
-  DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!sub_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  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);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+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();
 }
 
-/**
-+---------+-----------+-----------+-----------------+
-|    *    |  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) {
-  assert(f_OK(x));
-  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 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();
+}
 
-  DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!mul_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  DIRTY_TEMP(To_Boundary, to_lower);
+/*! \relates Linear_System */
+inline bool
+operator!=(const Linear_System& x, const Linear_System& y) {
+  return !(x == y);
+}
 
-  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
-    DIRTY_TEMP(To_Boundary, tmp);
-    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);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+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;
 }
 
-/**
-+-----------+-----------+-----------+
-|     /     |  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) {
-  assert(f_OK(x));
-  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));
+} // namespace Parma_Polyhedra_Library
 
-  DIRTY_TEMP(To_Info, to_info);
-  to_info.clear();
-  if (!div_restriction(to_info, x, y))
-    return assign(EMPTY);
-  Result rl, ru;
-  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);
-  complete_init_internal();
-  assert(OK());
-  return combine(rl, ru);
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Linear_System */
+inline void
+swap(Parma_Polyhedra_Library::Linear_System& x,
+     Parma_Polyhedra_Library::Linear_System& y) {
+  x.swap(y);
 }
 
-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;
+} // namespace std
+
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Linear_System::With_Bit_Matrix_iterator::
+With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2)
+  : i1(iter1), i2(iter2) {
 }
 
-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
+Linear_System::With_Bit_Matrix_iterator::
+With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y)
+  : i1(y.i1), i2(y.i2) {
 }
 
-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
+Linear_System::With_Bit_Matrix_iterator::
+~With_Bit_Matrix_iterator() {
 }
 
-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 Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::
+operator=(const With_Bit_Matrix_iterator& y) {
+  i1 = y.i1;
+  i2 = y.i2;
+  return *this;
 }
 
-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 Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::operator++() {
+  ++i1;
+  ++i2;
+  return *this;
 }
 
-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 Linear_System::With_Bit_Matrix_iterator
+Linear_System::With_Bit_Matrix_iterator::operator++(int) {
+  With_Bit_Matrix_iterator tmp = *this;
+  operator++();
+  return tmp;
 }
 
-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 Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::operator--() {
+  --i1;
+  --i2;
+  return *this;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator
+Linear_System::With_Bit_Matrix_iterator::operator--(int) {
+  With_Bit_Matrix_iterator tmp = *this;
+  operator--();
+  return tmp;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::operator+=(difference_type d) {
+  i1 += d;
+  i2 += d;
+  return *this;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator
+Linear_System::With_Bit_Matrix_iterator::
+operator+(difference_type d) const {
+  With_Bit_Matrix_iterator tmp = *this;
+  tmp += d;
+  return tmp;
+}
+
+inline Linear_System::With_Bit_Matrix_iterator&
+Linear_System::With_Bit_Matrix_iterator::operator-=(difference_type d) {
+  i1 -= d;
+  i2 -= d;
+  return *this;
 }
 
-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 Linear_System::With_Bit_Matrix_iterator
+Linear_System::With_Bit_Matrix_iterator::
+operator-(difference_type d) const {
+  With_Bit_Matrix_iterator tmp = *this;
+  tmp -= d;
+  return tmp;
 }
 
-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 Linear_System::With_Bit_Matrix_iterator::difference_type
+Linear_System::With_Bit_Matrix_iterator::
+operator-(const With_Bit_Matrix_iterator& y) const {
+  return i1 - y.i1;
 }
 
-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 bool
+Linear_System::With_Bit_Matrix_iterator::
+operator==(const With_Bit_Matrix_iterator& y) const {
+  return i1 == y.i1;
 }
 
-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
+Linear_System::With_Bit_Matrix_iterator::
+operator!=(const With_Bit_Matrix_iterator& y) const {
+  return i1 != y.i1;
 }
 
-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 bool
+Linear_System::With_Bit_Matrix_iterator::
+operator<(const With_Bit_Matrix_iterator& y) const {
+  return i1 < y.i1;
 }
 
-template <typename Boundary, typename Info>
-inline std::ostream&
-operator<<(std::ostream& os, const Interval<Boundary, Info>& x) {
-  // 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 Linear_System::With_Bit_Matrix_iterator::reference
+Linear_System::With_Bit_Matrix_iterator::operator*() const {
+  return *i1;
 }
 
-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';
+inline Linear_System::With_Bit_Matrix_iterator::pointer
+Linear_System::With_Bit_Matrix_iterator::operator->() const {
+  return &*i1;
 }
 
-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;
-#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
-  complete_init_internal();
-#endif
-  assert(OK());
-  return true;
+inline void
+Linear_System::With_Bit_Matrix_iterator::
+iter_swap(const With_Bit_Matrix_iterator& y) const {
+  std::iter_swap(i1, y.i1);
+  std::iter_swap(i2, y.i2);
 }
 
-/*! \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;
-};
+} // namespace Parma_Polyhedra_Library
 
-template <>
-struct Select_Temp_Boundary_Type<float> {
-  typedef double type;
-};
+namespace std {
 
-template <>
-struct Select_Temp_Boundary_Type<signed char> {
-  typedef signed long long type;
-};
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \relates Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator */
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+inline void
+iter_swap(Parma_Polyhedra_Library
+	  ::Linear_System::With_Bit_Matrix_iterator x,
+	  Parma_Polyhedra_Library
+	  ::Linear_System::With_Bit_Matrix_iterator y) {
+  x.iter_swap(y);
+}
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned char> {
-  typedef signed long long type;
-};
+} // namespace std
 
-template <>
-struct Select_Temp_Boundary_Type<signed short> {
-  typedef signed long long type;
-};
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Linear_System.defs.hh line 515. */
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned short> {
-  typedef signed long long type;
-};
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint_System.defs.hh line 33. */
+#include <iterator>
+#include <iosfwd>
 
-template <>
-struct Select_Temp_Boundary_Type<signed int> {
-  typedef signed long long type;
-};
+namespace Parma_Polyhedra_Library {
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned int> {
-  typedef signed long long type;
-};
+namespace IO_Operators {
 
-template <>
-struct Select_Temp_Boundary_Type<signed long> {
-  typedef signed long long type;
-};
+//! 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);
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned long> {
-  typedef signed long long type;
-};
+} // namespace IO_Operators
 
-template <>
-struct Select_Temp_Boundary_Type<unsigned long long> {
-  typedef signed long long type;
-};
+// 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 {
 
-/*! \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);
-}
+//! 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
 
-/* Automatically generated from PPL source file ../src/Interval.templates.hh line 1. */
-/* Interval class implementation: non-inline template functions.
+//! 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);
 
-#include <algorithm>
+  //! Builds a system containing copies of any equalities in \p cgs.
+  explicit Constraint_System(const Congruence_System& cgs);
 
-namespace Parma_Polyhedra_Library {
+  //! Ordinary copy-constructor.
+  Constraint_System(const Constraint_System& cs);
 
-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'.
-  assert(contains(y));
-  Interval<Boundary, Info>& x = *this;
+  //! Destructor.
+  ~Constraint_System();
 
-  // Upper bound.
-  if (!x.upper_is_unbounded()) {
-    Boundary& x_ub = x.upper();
-    const Boundary& y_ub = y.upper();
-    assert(!y.upper_is_unbounded() && 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_set(UNBOUNDED);
-    }
-  }
+  //! 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 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.
 
-  // Lower bound.
-  if (!x.lower_is_unbounded()) {
-    Boundary& x_lb = x.lower();
-    const Boundary& y_lb = y.lower();
-    assert(!y.lower_is_unbounded() && 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_set(UNBOUNDED);
-	}
-      }
-      else
-	x_lb = *--k;
-    }
-  }
-}
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-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));
+    \param denominator
+    The denominator of the affine transformation.
 
-  // 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;
-  }
+    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.
 
-  // 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 == VC_NAN) {
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+    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]
 
-  // 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;
-  }
+    \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);
 
-  // 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 == VC_NAN) {
-    is.setstate(std::ios_base::failbit);
-    return is;
-  }
+  //! Returns the number of equality constraints.
+  dimension_type num_equalities() const;
 
-  // 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;
-  }
+  //! Returns the number of inequality constraints.
+  dimension_type num_inequalities() const;
 
-  // Buld interval.
-  bool lower_unbounded = false;
-  bool upper_unbounded = false;
-  switch (lower_r) {
-  case V_EQ:
-    break;
-  case V_LE:
-    lower_open = true;
-    break;
-  case VC_MINUS_INFINITY:
-  case V_NEG_OVERFLOW:
-    lower_unbounded = true;
-    break;
-  case VC_PLUS_INFINITY:
-  case V_POS_OVERFLOW:
-    if (upper_r == VC_PLUS_INFINITY || upper_r == V_POS_OVERFLOW)
-      x.assign(UNIVERSE);
-    else
-      x.assign(EMPTY);
-    return is;
-  default:
-    assert(false);
-  }
-  switch (upper_r) {
-  case V_EQ:
-    break;
-  case V_GE:
-    upper_open = true;
-    break;
-  case VC_MINUS_INFINITY:
-  case V_NEG_OVERFLOW:
-    if (lower_r == VC_MINUS_INFINITY || lower_r == V_NEG_OVERFLOW)
-      x.assign(UNIVERSE);
-    else
-      x.assign(EMPTY);
-    return is;
-  case VC_PLUS_INFINITY:
-  case V_POS_OVERFLOW:
-    upper_unbounded = true;
-    break;
-  default:
-    assert(false);
-  }
+  /*! \brief
+    Applies Gaussian elimination and back-substitution so as
+    to provide a partial simplification of the system of constraints.
 
-  if (!lower_unbounded
-      && !upper_unbounded
-      && (lower_bound > upper_bound
-	  || (lower_open && lower_bound == upper_bound)))
-    x.assign(EMPTY);
-  else {
-    x.assign(UNIVERSE);
-    if (!lower_unbounded)
-      x.refine_existential((lower_open ? GREATER_THAN : GREATER_OR_EQUAL),
-			   lower_bound);
-    if (!upper_unbounded)
-      x.refine_existential((upper_open ? LESS_THAN : LESS_OR_EQUAL),
-			   upper_bound);
-  }
-  return is;
-}
+    It is assumed that the system has no pending constraints.
+  */
+  void simplify();
 
-} // namespace Parma_Polyhedra_Library
+  /*! \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);
 
-/* Automatically generated from PPL source file ../src/Interval.defs.hh line 937. */
+  //! Adds low-level constraints to the constraint system.
+  void add_low_level_constraints();
+};
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 1. */
-/* Box class declaration.
-*/
+// Constraint_System.inlines.hh is not included here on purpose.
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint.defs.hh line 34. */
+#include <iosfwd>
 
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 1. */
-/* Constraint class declaration.
-*/
+namespace Parma_Polyhedra_Library {
 
+// Put them in the namespace here to declare them friend later.
 
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 1. */
-/* Linear_Row class declaration.
-*/
+//! 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);
 
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 1. */
-/* Row class declaration.
-*/
+//! 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);
 
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 29. */
-#include <vector>
-#include <limits>
+//! Returns the constraint \p e = \p n.
+/*! \relates Constraint */
+Constraint
+operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-#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.
+//! Returns the constraint \p n = \p e.
+/*! \relates Constraint */
+Constraint
+operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  \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)
+//! Returns the constraint \p e1 \<= \p e2.
+/*! \relates Constraint */
+Constraint
+operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
 
-#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();
+//! Returns the constraint \p v1 \<= \p v2.
+/*! \relates Constraint */
+Constraint
+operator<=(Variable v1, Variable v2);
 
-  //! Destructor.
-  ~Row_Impl_Handler();
+//! Returns the constraint \p e \<= \p n.
+/*! \relates Constraint */
+Constraint
+operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  class Impl;
+//! Returns the constraint \p n \<= \p e.
+/*! \relates Constraint */
+Constraint
+operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-  //! A pointer to the actual implementation.
-  Impl* impl;
+//! Returns the constraint \p e1 \>= \p e2.
+/*! \relates Constraint */
+Constraint
+operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
 
-#if PPL_ROW_EXTRA_DEBUG
-  //! The capacity of \p impl (only available during debugging).
-  dimension_type capacity_;
-#endif // PPL_ROW_EXTRA_DEBUG
+//! Returns the constraint \p v1 \>= \p v2.
+/*! \relates Constraint */
+Constraint
+operator>=(Variable v1, Variable v2);
 
-private:
-  //! Private and unimplemented: copy construction is not allowed.
-  Row_Impl_Handler(const Row_Impl_Handler&);
+//! Returns the constraint \p e \>= \p n.
+/*! \relates Constraint */
+Constraint
+operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-  //! Private and unimplemented: copy assignment is not allowed.
-  Row_Impl_Handler& operator=(const Row_Impl_Handler&);
-};
+//! 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
-//! 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 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 *this and \p y are equal.
-    bool operator==(const Flags& y) const;
+//! Returns the constraint \p v1 \< \p v2.
+/*! \relates Constraint */
+Constraint
+operator<(Variable v1, Variable v2);
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y
-      are different.
-    */
-    bool operator!=(const Flags& y) const;
+//! Returns the constraint \p e \< \p n.
+/*! \relates Constraint */
+Constraint
+operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-    PPL_OUTPUT_DECLARATIONS
+//! Returns the constraint \p n \< \p e.
+/*! \relates Constraint */
+Constraint
+operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-    //! 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);
+//! Returns the constraint \p e1 \> \p e2.
+/*! \relates Constraint */
+Constraint
+operator>(const Linear_Expression& e1, const Linear_Expression& e2);
 
-  protected:
-    //! A native integral type holding the bits that encode the flags.
-    typedef unsigned int base_type;
+//! Returns the constraint \p v1 \> \p v2.
+/*! \relates Constraint */
+Constraint
+operator>(Variable v1, Variable v2);
 
-    //! Index of the first bit derived classes can use.
-    static const unsigned first_free_bit = 0;
+//! Returns the constraint \p e \> \p n.
+/*! \relates Constraint */
+Constraint
+operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-    //! Total number of bits that can be stored.
-    static const unsigned num_bits = std::numeric_limits<base_type>::digits;
+//! Returns the constraint \p n \> \p e.
+/*! \relates Constraint */
+Constraint
+operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-    //! Constructs an object with flags set as in \p n.
-    explicit Flags(base_type n);
+} // namespace Parma_Polyhedra_Library
 
-    //! Returns the integer encoding \p *this.
-    base_type get_bits() const;
 
-    //! Sets the bits in \p mask.
-    void set_bits(base_type mask);
+namespace std {
 
-    //! Resets the bits in \p mask.
-    void reset_bits(base_type mask);
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Constraint */
+void swap(Parma_Polyhedra_Library::Constraint& x,
+	  Parma_Polyhedra_Library::Constraint& 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;
+} // namespace std
 
-  private:
-    //! The integer encoding \p *this.
-    base_type bits;
+//! 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$;
 
-    friend class Row;
-  };
+  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.
 
-  //! Pre-constructs a row: construction must be completed by construct().
-  Row();
+  \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.
 
-  //! \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);
+  \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
 
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
+  \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 : private Linear_Row {
+public:
+  //! Ordinary copy-constructor.
+  Constraint(const Constraint& c);
+
+  //! Copy-constructs from equality congruence \p cg.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p cg is a proper congruence.
+  */
+  explicit Constraint(const Congruence& cg);
 
-    \param capacity
-    The capacity of the row that will be constructed;
+  //! Destructor.
+  ~Constraint();
 
-    \param f
-    Flags for the row that will be constructed.
+  //! Assignment operator.
+  Constraint& operator=(const Constraint& c);
 
-    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
+  //! Returns the maximum space dimension a Constraint can handle.
+  static dimension_type max_space_dimension();
 
-  //! 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);
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-  //! Sizing constructor with capacity.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
+  //! 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
+  };
 
-    \param capacity
-    The capacity of the row that will be constructed;
+  //! Returns the constraint type of \p *this.
+  Type type() const;
 
-    \param f
-    Flags for the row that will be constructed.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is an equality constraint.
+  */
+  bool is_equality() const;
 
-    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.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is an inequality constraint (either strict or non-strict).
   */
-  Row(dimension_type sz, dimension_type capacity, Flags f);
+  bool is_inequality() const;
 
-  //! Ordinary copy constructor.
-  Row(const Row& y);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a non-strict inequality constraint.
+  */
+  bool is_nonstrict_inequality() const;
 
-  //! Copy constructor with specified capacity.
-  /*!
-    It is assumed that \p capacity is greater than or equal to
-    the size of \p y.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a strict inequality constraint.
   */
-  Row(const Row& y, dimension_type capacity);
+  bool is_strict_inequality() const;
 
-  //! Copy constructor with specified size and capacity.
+  //! Returns the coefficient of \p v in \p *this.
   /*!
-    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.
+    \exception std::invalid_argument thrown if the index of \p v
+    is greater than or equal to the space dimension of \p *this.
   */
-  Row(const Row& y, dimension_type sz, dimension_type capacity);
+  Coefficient_traits::const_reference coefficient(Variable v) const;
 
-  //! Destructor.
-  ~Row();
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
 
-  //! Assignment operator.
-  Row& operator=(const Row& y);
+  //! Initializes the class.
+  static void initialize();
 
-  //! Swaps \p *this with \p y.
-  void swap(Row& y);
+  //! Finalizes the class.
+  static void finalize();
 
-  //! 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);
+  //! The unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
+  static const Constraint& zero_dim_false();
 
   /*! \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.
+    The true (zero-dimension space) constraint \f$0 \leq 1\f$,
+    also known as <EM>positivity constraint</EM>.
   */
-  void expand_within_capacity(dimension_type new_size);
+  static const Constraint& zero_dim_positivity();
 
-  //! 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.
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
   */
-  void shrink(dimension_type new_size);
+  memory_size_type total_memory_in_bytes() const;
 
-  //! Returns a const reference to the flags of \p *this.
-  const Flags& flags() const;
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Flags& flags();
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is a tautology (i.e., an always true constraint).
 
-  //! Returns the size() of the largest possible Row.
-  static dimension_type max_size();
+    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;
 
-  //! Gives the number of coefficients currently in use.
-  dimension_type size() const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is inconsistent (i.e., an always false constraint).
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the element of the row indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+    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;
 
-  //! 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
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y
+    are equivalent constraints.
 
-  //! 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.
+    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.
   */
-  void normalize();
+  bool is_equivalent_to(const Constraint& y) const;
 
   PPL_OUTPUT_DECLARATIONS
 
@@ -17569,2242 +17482,2693 @@ public:
   */
   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;
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
+  //! Swaps \p *this with \p y.
+  void swap(Constraint& y);
+
+private:
   /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
+    Holds (between class initialization and finalization) a pointer to
+    the unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
   */
-  memory_size_type external_memory_in_bytes() const;
+  static const Constraint* zero_dim_false_p;
 
   /*! \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.
+    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>.
   */
-  memory_size_type total_memory_in_bytes(dimension_type capacity) const;
+  static const Constraint* zero_dim_positivity_p;
 
   /*! \brief
-    Returns the size in bytes of the memory managed by \p *this,
-    provided the capacity of \p *this is given by \p capacity.
+    Holds (between class initialization and finalization) a pointer to
+    the zero-dimension space constraint \f$\epsilon \geq 0\f$.
   */
-  memory_size_type external_memory_in_bytes(dimension_type capacity) const;
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  static const Constraint* epsilon_geq_zero_p;
 
   /*! \brief
-    Checks if all the invariants are satisfied and that the actual
-    size and capacity match the values provided as arguments.
+    Holds (between class initialization and finalization) a pointer to
+    the zero-dimension space constraint \f$\epsilon \leq 1\f$
+    (used to implement NNC polyhedra).
   */
-  bool OK(dimension_type row_size, dimension_type row_capacity) const;
+  static const Constraint* epsilon_leq_one_p;
 
-private:
-  //! Exception-safe copy construction mechanism for coefficients.
-  void copy_construct_coefficients(const Row& y);
+  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 PPL_ROW_EXTRA_DEBUG
-  //! Returns the capacity of the row (only available during debugging).
-  dimension_type capacity() const;
-#endif // PPL_ROW_EXTRA_DEBUG
-};
+  friend
+  Parma_Polyhedra_Library
+  ::Linear_Expression::Linear_Expression(const Constraint& c);
 
-namespace Parma_Polyhedra_Library {
+  //! Default constructor: private and not implemented.
+  Constraint();
 
-//! 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);
+  /*! \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);
 
-//! 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);
+  //! Constructs from a congruence, with specified size and capacity.
+  Constraint(const Congruence& cg, dimension_type sz, dimension_type capacity);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \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;
 
-namespace std {
+  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);
 
-#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);
+  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);
 
-#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);
+  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);
 
-} // namespace std
+  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<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  friend Constraint
+  operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
-#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
-  //@{
+  //! Copy-constructor with given size.
+  Constraint(const Constraint& c, dimension_type sz);
 
   /*! \brief
-    Allocates a chunk of memory able to contain \p capacity Coefficient objects
-    beyond the specified \p fixed_size and returns a pointer to the new
-    allocated memory.
+    Builds a new copy of the zero-dimension space constraint
+    \f$\epsilon \geq 0\f$ (used to implement NNC polyhedra).
   */
-  static void* operator new(size_t fixed_size, dimension_type capacity);
+  static Constraint construct_epsilon_geq_zero();
 
-  //! Uses the standard delete operator to free the memory \p p points to.
-  static void operator delete(void* p);
+  //! Returns the zero-dimension space constraint \f$\epsilon \geq 0\f$.
+  static const Constraint& epsilon_geq_zero();
 
   /*! \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);
-  //@} // 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.
+    The zero-dimension space constraint \f$\epsilon \leq 1\f$
+    (used to implement NNC polyhedra).
   */
-  ~Impl();
+  static const Constraint& epsilon_leq_one();
 
-  //! 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);
+  //! Sets the constraint type to <CODE>EQUALITY</CODE>.
+  void set_is_equality();
 
-  //! Shrinks the row by erasing elements at the end.
+  //! Sets the constraint to be an inequality.
   /*!
-    It is assumed that \p new_size is not greater than the current size.
+    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 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();
+  void set_is_inequality();
+};
 
-  //! \name Flags accessors
-  //@{
-  //! Returns a const reference to the flags of \p *this.
-  const Row::Flags& flags() const;
+namespace Parma_Polyhedra_Library {
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Row::Flags& flags();
-  //@} // Flags accessors
+namespace IO_Operators {
 
-  //! \name Size accessors
-  //@{
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Constraint */
+std::ostream& operator<<(std::ostream& s, const Constraint& c);
 
-  //! Sets to \p new_size the actual size of \p *this.
-  void set_size(dimension_type new_size);
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Constraint */
+std::ostream& operator<<(std::ostream& s, const Constraint::Type& t);
 
-  //! Increment the size of \p *this by 1.
-  void bump_size();
-  //@} // Size accessors
+} // namespace IO_Operators
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the element of \p *this indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+} // namespace Parma_Polyhedra_Library
 
-  //! 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
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint.inlines.hh line 1. */
+/* Constraint class implementation: inline functions.
+*/
 
-  /*! \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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint.inlines.hh line 27. */
 
-  //! 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:
-  //! The number of coefficients in the row.
-  dimension_type size_;
+inline
+Constraint::Constraint(Linear_Expression& e, Type type, Topology topology) {
+  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));
+}
 
-  //! The flags of this row.
-  Row::Flags flags_;
+inline
+Constraint::Constraint(const Constraint& c)
+  : Linear_Row(c) {
+}
 
-  //! The vector of coefficients.
-  Coefficient vec_[
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       1
-#endif
-  ];
+inline
+Constraint::Constraint(const Constraint& c, const dimension_type sz)
+  : Linear_Row(c, sz, sz) {
+}
 
-  //! Private and unimplemented: default construction is not allowed.
-  Impl();
+inline
+Constraint::~Constraint() {
+}
 
-  //! Private and unimplemented: copy construction is not allowed.
-  Impl(const Impl& y);
+inline Constraint&
+Constraint::operator=(const Constraint& c) {
+  Linear_Row::operator=(c);
+  return *this;
+}
 
-  //! Private and unimplemented: assignment is not allowed.
-  Impl& operator=(const Impl&);
-};
+inline dimension_type
+Constraint::max_space_dimension() {
+  return Linear_Row::max_space_dimension();
+}
 
-/* Automatically generated from PPL source file ../src/Row.inlines.hh line 1. */
-/* Row class implementation: inline functions.
-*/
+inline dimension_type
+Constraint::space_dimension() const {
+  return Linear_Row::space_dimension();
+}
 
+inline bool
+Constraint::is_equality() const {
+  return is_line_or_equality();
+}
 
-/* Automatically generated from PPL source file ../src/Row.inlines.hh line 27. */
-#include <cassert>
-#include <algorithm>
+inline bool
+Constraint::is_inequality() const {
+  return is_ray_or_point_or_inequality();
+}
 
-namespace Parma_Polyhedra_Library {
+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;
+}
 
-inline
-Row::Flags::Flags()
-  : bits(0) {
+inline bool
+Constraint::is_nonstrict_inequality() const {
+  return type() == NONSTRICT_INEQUALITY;
 }
 
-inline
-Row::Flags::Flags(base_type n)
-  : bits(n) {
+inline bool
+Constraint::is_strict_inequality() const {
+  return type() == STRICT_INEQUALITY;
 }
 
-inline Row::Flags::base_type
-Row::Flags::get_bits() const {
-  return bits;
+inline void
+Constraint::set_is_equality() {
+  set_is_line_or_equality();
 }
 
 inline void
-Row::Flags::set_bits(const base_type mask) {
-  bits |= mask;
+Constraint::set_is_inequality() {
+  set_is_ray_or_point_or_inequality();
 }
 
-inline void
-Row::Flags::reset_bits(const base_type mask) {
-  bits &= ~mask;
+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());
 }
 
-inline bool
-Row::Flags::test_bits(const base_type mask) const {
-  return (bits & mask) == mask;
+inline Coefficient_traits::const_reference
+Constraint::inhomogeneous_term() const {
+  return Linear_Row::inhomogeneous_term();
+}
+
+inline memory_size_type
+Constraint::external_memory_in_bytes() const {
+  return Linear_Row::external_memory_in_bytes();
+}
+
+inline memory_size_type
+Constraint::total_memory_in_bytes() const {
+  return Linear_Row::total_memory_in_bytes();
 }
 
+/*! \relates Constraint */
 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);
+operator==(const Constraint& x, const Constraint& y) {
+  return x.is_equivalent_to(y);
 }
 
+/*! \relates Constraint */
 inline bool
-Row::Flags::operator!=(const Flags& y) const {
-  return !operator==(y);
+operator!=(const Constraint& x, const Constraint& y) {
+  return !x.is_equivalent_to(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
-  assert(capacity >= 1);
-  return ::operator new(fixed_size + (capacity-1)*sizeof(Coefficient));
-#endif
+/*! \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;
 }
 
-inline void
-Row_Impl_Handler::Impl::operator delete(void* p) {
-  ::operator delete(p);
+/*! \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);
 }
 
-inline void
-Row_Impl_Handler::Impl::operator delete(void* p, dimension_type) {
-  ::operator delete(p);
+/*! \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;
 }
 
-inline dimension_type
-Row_Impl_Handler::Impl::max_size() {
-  return size_t(-1)/sizeof(Coefficient);
+/*! \relates Constraint */
+inline Constraint
+operator>=(const Variable v1, const Variable v2) {
+  Linear_Expression diff = v1-v2;
+  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
 }
 
-inline dimension_type
-Row_Impl_Handler::Impl::size() const {
-  return 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;
+
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+  return c;
 }
 
-inline void
-Row_Impl_Handler::Impl::set_size(const dimension_type new_size) {
-  size_ = new_size;
+/*! \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);
 }
 
-inline void
-Row_Impl_Handler::Impl::bump_size() {
-  ++size_;
+/*! \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;
 }
 
-inline
-Row_Impl_Handler::Impl::Impl(const Row::Flags f)
-  : size_(0), flags_(f) {
+/*! \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;
 }
 
-inline
-Row_Impl_Handler::Impl::~Impl() {
-  shrink(0);
+/*! \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;
+
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+  return c;
 }
 
-inline const Row::Flags&
-Row_Impl_Handler::Impl::flags() const {
-  return flags_;
+/*! \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;
 }
 
-inline Row::Flags&
-Row_Impl_Handler::Impl::flags() {
-  return flags_;
+/*! \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;
 }
 
-inline Coefficient&
-Row_Impl_Handler::Impl::operator[](const dimension_type k) {
-  assert(k < size());
-  return vec_[k];
+/*! \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;
+
+  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
+  c.set_not_necessarily_closed();
+  c.set_is_inequality();
+  return c;
 }
 
-inline Coefficient_traits::const_reference
-Row_Impl_Handler::Impl::operator[](const dimension_type k) const {
-  assert(k < size());
-  return vec_[k];
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return e2 >= e1;
 }
 
-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();
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Variable v1, const Variable v2) {
+  return v2 >= v1;
 }
 
-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_);
+/*! \relates Constraint */
+inline Constraint
+operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  return e >= n;
 }
 
-inline dimension_type
-Row::max_size() {
-  return Impl::max_size();
+/*! \relates Constraint */
+inline Constraint
+operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n >= e;
 }
 
-inline dimension_type
-Row::size() const {
-  return impl->size();
+/*! \relates Constraint */
+inline Constraint
+operator<(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return e2 > e1;
 }
 
-inline const Row::Flags&
-Row::flags() const {
-  return impl->flags();
+/*! \relates Constraint */
+inline Constraint
+operator<(const Variable v1, const Variable v2) {
+  return v2 > v1;
 }
 
-inline Row::Flags&
-Row::flags() {
-  return impl->flags();
+/*! \relates Constraint */
+inline Constraint
+operator<(Coefficient_traits::const_reference n, const Linear_Expression& e) {
+  return e > n;
 }
 
-#if PPL_ROW_EXTRA_DEBUG
-inline dimension_type
-Row::capacity() const {
-  return capacity_;
+/*! \relates Constraint */
+inline Constraint
+operator<(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return n > e;
 }
-#endif
 
-inline
-Row_Impl_Handler::Row_Impl_Handler()
-  : impl(0) {
-#if PPL_ROW_EXTRA_DEBUG
-  capacity_ = 0;
-#endif
+inline const Constraint&
+Constraint::zero_dim_false() {
+  assert(zero_dim_false_p != 0);
+  return *zero_dim_false_p;
 }
 
-inline
-Row_Impl_Handler::~Row_Impl_Handler() {
-  delete impl;
+inline const Constraint&
+Constraint::zero_dim_positivity() {
+  assert(zero_dim_positivity_p != 0);
+  return *zero_dim_positivity_p;
 }
 
-inline
-Row::Row()
-  : Row_Impl_Handler() {
+inline const Constraint&
+Constraint::epsilon_geq_zero() {
+  assert(epsilon_geq_zero_p != 0);
+  return *epsilon_geq_zero_p;
 }
 
-inline void
-Row::allocate(
-#if PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-	       const
-#endif
-	       dimension_type capacity,
-	       const Flags f) {
-  assert(capacity <= max_size());
-#if !PPL_CXX_SUPPORTS_FLEXIBLE_ARRAYS
-  if (capacity == 0)
-    ++capacity;
-#endif
-  assert(impl == 0);
-  impl = new (capacity) Impl(f);
-#if PPL_ROW_EXTRA_DEBUG
-  assert(capacity_ == 0);
-  capacity_ = capacity;
-#endif
+inline const Constraint&
+Constraint::epsilon_leq_one() {
+  assert(epsilon_leq_one_p != 0);
+  return *epsilon_leq_one_p;
 }
 
 inline void
-Row::expand_within_capacity(const dimension_type new_size) {
-  assert(impl);
-#if PPL_ROW_EXTRA_DEBUG
-  assert(new_size <= capacity_);
-#endif
-  impl->expand_within_capacity(new_size);
+Constraint::ascii_dump(std::ostream& s) const {
+  Linear_Row::ascii_dump(s);
 }
 
-inline void
-Row::copy_construct_coefficients(const Row& y) {
-  assert(impl && y.impl);
-#if PPL_ROW_EXTRA_DEBUG
-  assert(y.size() <= capacity_);
-#endif
-  impl->copy_construct_coefficients(*(y.impl));
+inline bool
+Constraint::ascii_load(std::istream& s) {
+  return Linear_Row::ascii_load(s);
 }
 
 inline void
-Row::construct(const dimension_type sz,
-	       const dimension_type capacity,
-	       const Flags f) {
-  assert(sz <= capacity && capacity <= max_size());
-  allocate(capacity, f);
-  expand_within_capacity(sz);
+Constraint::swap(Constraint& y) {
+  Linear_Row::swap(y);
 }
 
+} // namespace Parma_Polyhedra_Library
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Constraint */
 inline void
-Row::construct(const dimension_type sz, const Flags f) {
-  construct(sz, sz, f);
+swap(Parma_Polyhedra_Library::Constraint& x,
+     Parma_Polyhedra_Library::Constraint& y) {
+  x.swap(y);
 }
 
-inline
-Row::Row(const dimension_type sz,
-	 const dimension_type capacity,
-	 const Flags f)
-  : Row_Impl_Handler() {
-  construct(sz, capacity, f);
-}
+} // namespace std
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint.defs.hh line 562. */
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator.defs.hh line 1. */
+/* Generator class declaration.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator_System.defs.hh line 1. */
+/* Generator_System class declaration.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Poly_Con_Relation.defs.hh line 1. */
+/* Poly_Con_Relation class declaration.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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 /home/bagnara/ppl/ppl/src/Poly_Con_Relation.defs.hh line 28. */
+#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 {
+
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Poly_Con_Relation */
+std::ostream& operator<<(std::ostream& s, const Poly_Con_Relation& r);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+
+//! 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;
+
+  //! \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
+
+  //! All assertions together.
+  static const flags_t EVERYTHING
+  = IS_DISJOINT
+  | STRICTLY_INTERSECTS
+  | IS_INCLUDED
+  | SATURATES;
+
+  //! 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_Con_Relation(flags_t mask);
+
+  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);
+
+  friend Poly_Con_Relation
+  operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+
+  friend Poly_Con_Relation
+  operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+
+  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.
+  */
+#endif
+  flags_t get_flags() const;
+
+public:
+  //! The assertion that says nothing.
+  static Poly_Con_Relation nothing();
+
+  /*! \brief
+    The polyhedron and the set of points satisfying
+    the constraint are disjoint.
+  */
+  static Poly_Con_Relation is_disjoint();
+
+  /*! \brief
+    The polyhedron intersects the set of points satisfying
+    the constraint, but it is not included in it.
+  */
+  static Poly_Con_Relation strictly_intersects();
+
+  /*! \brief
+    The polyhedron is included in the set of points satisfying
+    the constraint.
+  */
+  static Poly_Con_Relation is_included();
+
+  /*! \brief
+    The polyhedron is included in the set of points saturating
+    the constraint.
+  */
+  static Poly_Con_Relation saturates();
+
+  PPL_OUTPUT_DECLARATIONS
+
+  //! True if and only if \p *this implies \p y.
+  bool implies(const Poly_Con_Relation& y) const;
 
-inline
-Row::Row(const dimension_type sz, const Flags f)
-  : Row_Impl_Handler() {
-  construct(sz, f);
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+};
 
-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);
-  }
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Poly_Con_Relation.inlines.hh line 1. */
+/* Poly_Con_Relation class implementation: inline functions.
+*/
 
-inline
-Row::Row(const Row& y,
-	 const dimension_type capacity)
-  : Row_Impl_Handler() {
-  assert(y.impl);
-  assert(y.size() <= capacity && capacity <= max_size());
-  allocate(capacity, y.flags());
-  copy_construct_coefficients(y);
-}
+
+namespace Parma_Polyhedra_Library {
 
 inline
-Row::Row(const Row& y,
-	 const dimension_type sz,
-	 const dimension_type capacity)
-  : Row_Impl_Handler() {
-  assert(y.impl);
-  assert(y.size() <= sz && sz <= capacity && capacity <= max_size());
-  allocate(capacity, y.flags());
-  copy_construct_coefficients(y);
-  expand_within_capacity(sz);
+Poly_Con_Relation::Poly_Con_Relation(flags_t mask)
+  : flags(mask) {
 }
 
-inline
-Row::~Row() {
+inline Poly_Con_Relation::flags_t
+Poly_Con_Relation::get_flags() const {
+  return flags;
 }
 
-inline void
-Row::shrink(const dimension_type new_size) {
-  assert(impl);
-  impl->shrink(new_size);
+inline Poly_Con_Relation
+Poly_Con_Relation::nothing() {
+  return Poly_Con_Relation(NOTHING);
 }
 
-inline void
-Row::swap(Row& y) {
-  std::swap(impl, y.impl);
-#if PPL_ROW_EXTRA_DEBUG
-  std::swap(capacity_, y.capacity_);
-#endif
+inline Poly_Con_Relation
+Poly_Con_Relation::is_disjoint() {
+  return Poly_Con_Relation(IS_DISJOINT);
 }
 
-inline void
-Row::assign(Row& y) {
-  impl = y.impl;
-#if PPL_ROW_EXTRA_DEBUG
-  capacity_ = y.capacity_;
-#endif
+inline Poly_Con_Relation
+Poly_Con_Relation::strictly_intersects() {
+  return Poly_Con_Relation(STRICTLY_INTERSECTS);
 }
 
-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 Poly_Con_Relation
+Poly_Con_Relation::is_included() {
+  return Poly_Con_Relation(IS_INCLUDED);
 }
 
-inline Coefficient&
-Row::operator[](const dimension_type k) {
-  assert(impl);
-  return (*impl)[k];
+inline Poly_Con_Relation
+Poly_Con_Relation::saturates() {
+  return Poly_Con_Relation(SATURATES);
 }
 
-inline Coefficient_traits::const_reference
-Row::operator[](const dimension_type k) const {
-  assert(impl);
-  return (*impl)[k];
+inline bool
+Poly_Con_Relation::implies(flags_t x, flags_t y) {
+  return (x & y) == y;
 }
 
-inline memory_size_type
-Row::external_memory_in_bytes(dimension_type capacity) const {
-  return impl->total_memory_in_bytes(capacity);
+inline bool
+Poly_Con_Relation::implies(const Poly_Con_Relation& y) const {
+  return implies(flags, y.flags);
 }
 
-inline memory_size_type
-Row::total_memory_in_bytes(dimension_type capacity) const {
-  return sizeof(*this) + external_memory_in_bytes(capacity);
+/*! \relates Poly_Con_Relation */
+inline bool
+operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return x.flags == y.flags;
 }
 
-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 Poly_Con_Relation */
+inline bool
+operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
+  return x.flags != y.flags;
 }
 
-inline memory_size_type
-Row::total_memory_in_bytes() const {
-  return sizeof(*this) + external_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);
 }
 
-/*! \relates Row */
-inline bool
-operator!=(const Row& x, const Row& y) {
-  return !(x == 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
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Poly_Con_Relation.defs.hh line 164. */
 
-namespace std {
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator_System.defs.hh line 35. */
+#include <iosfwd>
 
-/*! \relates Parma_Polyhedra_Library::Row */
-inline void
-swap(Parma_Polyhedra_Library::Row& x, Parma_Polyhedra_Library::Row& y) {
-  x.swap(y);
-}
+namespace Parma_Polyhedra_Library {
 
-/*! \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 IO_Operators {
 
-} // namespace std
+//! 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);
 
-/* Automatically generated from PPL source file ../src/Row.defs.hh line 505. */
+} // namespace IO_Operators
 
-/* Automatically generated from PPL source file ../src/Topology.hh line 1. */
+// 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 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 std {
 
-} // namespace Parma_Polyhedra_Library
+//! 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);
 
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 33. */
+} // namespace std
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The base class for linear expressions, constraints and generators.
+//! A system of 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.
+    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).
 
-  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$.
+    \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
 
-  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$.
+    \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
 
-  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.
+    \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
 
-  The inhomogeneous term of a constraint can be zero or different from zero.
+    \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
 
-  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.
+    \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
 
-  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.
+    \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
 
-  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$.
+    \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.
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-
-class Parma_Polyhedra_Library::Linear_Row : public Row {
+class Parma_Polyhedra_Library::Generator_System : protected Linear_System {
 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.
+  //! Default constructor: builds an empty system of generators.
+  Generator_System();
 
-    \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 the singleton system containing only generator \p g.
+  explicit Generator_System(const Generator& g);
 
-    //! Builds an object corresponding to the topology \p t.
-    explicit Flags(Topology t);
+  //! Ordinary copy-constructor.
+  Generator_System(const Generator_System& gs);
 
-    //! Builds an object corresponding to the topology \p t and kind \p k.
-    Flags(Topology t, Kind k);
+  //! Destructor.
+  ~Generator_System();
 
-    //! \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;
+  //! Assignment operator.
+  Generator_System& operator=(const Generator_System& y);
 
-    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 the maximum space dimension a Generator_System can handle.
+  static dimension_type max_space_dimension();
 
-    //! Returns <CODE>true</CODE> if and only if \p *this and \p y are equal.
-    bool operator==(const Flags& y) const;
+  //! 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 and \p y
-      are different.
-    */
-    bool operator!=(const Flags& y) const;
+  /*! \brief
+    Removes all the generators from the generator system
+    and sets its space dimension to 0.
+  */
+  void clear();
 
-    PPL_OUTPUT_DECLARATIONS
+  /*! \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);
 
-    /*! \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);
+  //! Initializes the class.
+  static void initialize();
 
-  private:
-    //! Builds the type from a bit-mask.
-    explicit Flags(base_type mask);
+  //! Finalizes the class.
+  static void finalize();
 
-    //! \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;
-    //@}
+  /*! \brief
+    Returns the singleton system containing only Generator::zero_dim_point().
+  */
+  static const Generator_System& zero_dim_univ();
 
-  protected:
-    //! Index of the first bit derived classes can use.
-    static const unsigned first_free_bit
-    = Row::Flags::first_free_bit + 4;
+  //! 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.
 
-    friend class Parma_Polyhedra_Library::Linear_Row;
-  };
+      \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();
 
-  //! Pre-constructs a row: construction must be completed by construct().
-  Linear_Row();
+    //! Ordinary copy-constructor.
+    const_iterator(const const_iterator& y);
 
-  //! \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);
+    //! Destructor.
+    ~const_iterator();
 
-  //! Constructs properly a default-constructed element.
-  /*!
-    \param sz
-    The size of the row that will be constructed;
+    //! Assignment operator.
+    const_iterator& operator=(const const_iterator& y);
 
-    \param capacity
-    The minimum capacity of the row that will be constructed.
+    //! Dereference operator.
+    const Generator& operator*() const;
 
-    \param f
-    Flags for the row that will be constructed.
+    //! Indirect member selector.
+    const Generator* operator->() const;
 
-    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
+    //! Prefix increment operator.
+    const_iterator& operator++();
 
-  //! Tight constructor: resizing will require reallocation.
-  Linear_Row(dimension_type sz, Flags f);
+    //! Postfix increment operator.
+    const_iterator operator++(int);
 
-  //! Sizing constructor with capacity.
-  Linear_Row(dimension_type sz, dimension_type capacity, Flags f);
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if
+      \p *this and \p y are identical.
+    */
+    bool operator==(const const_iterator& y) const;
 
-  //! Ordinary copy constructor.
-  Linear_Row(const Linear_Row& y);
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if
+      \p *this and \p y are different.
+    */
+    bool operator!=(const const_iterator& y) const;
 
-  //! 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);
+  private:
+    friend class Generator_System;
 
-  //! 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);
+    //! The const iterator over the Linear_System.
+    Linear_System::const_iterator i;
 
-  //! Destructor.
-  ~Linear_Row();
+    //! A const pointer to the Linear_System.
+    const Linear_System* gsp;
 
-  //! \name Flags inspection methods
-  //@{
-  //! Returns a const reference to the flags of \p *this.
-  const Flags& flags() const;
+    //! Constructor.
+    const_iterator(const Linear_System::const_iterator& iter,
+		   const Generator_System& gsys);
 
-  //! Returns a non-const reference to the flags of \p *this.
-  Flags& flags();
+    /*! \brief
+      \p *this skips to the next generator, skipping those
+      closure points that are immediately followed by a matching point.
+    */
+    void skip_forward();
+  };
 
-  //! Returns the topological kind of \p *this.
-  Topology topology() const;
+  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
+  bool empty() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the topology
-    of \p *this row is not necessarily closed.
+    Returns the const_iterator pointing to the first generator,
+    if \p *this is not empty;
+    otherwise, returns the past-the-end const_iterator.
   */
-  bool is_not_necessarily_closed() const;
+  const_iterator begin() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the topology
-    of \p *this row is necessarily closed.
-  */
-  bool is_necessarily_closed() const;
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row
-    represents a line or an equality.
+  //! 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 is_line_or_equality() const;
+  bool OK() const;
+
+  PPL_OUTPUT_DECLARATIONS
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row
-    represents a ray, a point or an inequality.
+    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.
+
+    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 is_ray_or_point_or_inequality() const;
-  //@} // Flags inspection methods
+  bool ascii_load(std::istream& s);
 
-  //! \name Flags coercion methods
-  //@{
-  //! Sets to \p NECESSARILY_CLOSED the topological kind of \p *this row.
-  void set_necessarily_closed();
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  //! Sets to \p NOT_NECESSARILY_CLOSED the topological kind of \p *this row.
-  void set_not_necessarily_closed();
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-  //! Sets to \p LINE_OR_EQUALITY the kind of \p *this row.
-  void set_is_line_or_equality();
+  //! Swaps \p *this with \p y.
+  void swap(Generator_System& y);
 
-  //! 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
+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;
 
-  //! Returns the maximum space dimension a Linear_Row can handle.
-  static dimension_type max_space_dimension();
+  friend class const_iterator;
+  friend class Parma_Polyhedra_Library::Polyhedron;
+  friend class Parma_Polyhedra_Library::Grid_Generator_System;
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
 
-  //! Returns the inhomogeneous term.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+  //! Builds an empty system of generators having the specified topology.
+  explicit Generator_System(Topology topol);
 
-  //! Returns the coefficient \f$a_n\f$.
-  Coefficient_traits::const_reference coefficient(dimension_type n) const;
+  /*! \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);
 
   /*! \brief
-    Normalizes the sign of the coefficients so that the first non-zero
-    (homogeneous) coefficient of a line-or-equality is positive.
+    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.
   */
-  void sign_normalize();
+  bool adjust_topology_and_space_dimension(Topology topol,
+					   dimension_type num_dimensions);
 
   /*! \brief
-    Strong normalization: ensures that different Linear_Row objects
-    represent different hyperplanes or hyperspaces.
+    For each unmatched closure point in \p *this, adds the
+    corresponding point.
 
-    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
+    It is assumed that the topology of \p *this
+    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
   */
-  void strong_normalize();
+  void add_corresponding_points();
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the coefficients are
-    strongly normalized.
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more points.
   */
-  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;
+  bool has_points() const;
 
-    \param k
-    The position of \p *this that have to be \f$0\f$.
+  /*! \brief
+    For each unmatched point in \p *this, adds the corresponding
+    closure point.
 
-    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.
+    It is assumed that the topology of \p *this
+    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
   */
-  void linear_combine(const Linear_Row& y, dimension_type k);
+  void add_corresponding_closure_points();
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if all the homogeneous
-    terms of \p *this are \f$0\f$.
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains one or more closure points.
+
+    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 all_homogeneous_terms_are_zero() const;
+  bool has_closure_points() const;
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Returns the \p k- th generator of the system.
+  Generator& operator[](dimension_type k);
+
+  //! Returns a constant reference to the \p k- th generator of the system.
+  const Generator& operator[](dimension_type k) 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.
+    Returns the relations holding between the generator system
+    and the constraint \p c.
   */
-  bool ascii_load(std::istream& s);
+  Parma_Polyhedra_Library::Poly_Con_Relation
+  relation_with(const Constraint& c) const;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  bool satisfied_by_all_generators(const Constraint& c) const;
 
-  /*! \brief
-    Checks if all the invariants are satisfied and that the actual
-    size and capacity match the values provided as arguments.
+  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  /*!
+    It is assumed that <CODE>c.is_necessarily_closed()</CODE> holds.
   */
-  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;
-};
+  bool satisfied_by_all_generators_C(const Constraint& c) const;
 
-namespace Parma_Polyhedra_Library {
+  //! 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;
 
-//! 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);
+  //! Assigns to a given variable an affine expression.
+  /*!
+    \param v
+    Index of the column to which the affine transformation is assigned;
 
-//! 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);
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-#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 denominator
+    The denominator of the affine transformation.
 
-  \param x
-  A row of coefficients;
+    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.
 
-  \param y
-  Another row.
+    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]
 
-  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.
+    \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);
 
-  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);
+  //! Returns the number of lines of the system.
+  dimension_type num_lines() const;
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns the number of rays of the system.
+  dimension_type num_rays() const;
 
+  //! 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();
 
-namespace std {
+  /*! \brief
+    Applies Gaussian elimination and back-substitution so as
+    to provide a partial simplification of the system of generators.
 
-#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);
+    It is assumed that the system has no pending generators.
+  */
+  void simplify();
 
-#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);
+  /*! \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);
+};
 
-} // namespace std
+// Generator_System.inlines.hh is not included here on purpose.
 
-/* 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 /home/bagnara/ppl/ppl/src/distances.defs.hh line 1. */
+/* Class declarations for several distances.
 */
 
 
-/* Automatically generated from PPL source file ../src/Linear_Row.inlines.hh line 27. */
-#include <cassert>
-#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 {
-  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 {
-  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 {
-  assert(test_bits(1 << nnc_validity_bit));
-  return test_bits(NOT_NECESSARILY_CLOSED << nnc_bit);
-}
-
-inline bool
-Linear_Row::Flags::is_necessarily_closed() const {
-  assert(test_bits(1 << nnc_validity_bit));
-  return !is_not_necessarily_closed();
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/distances.types.hh line 1. */
 
-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);
-}
+namespace Parma_Polyhedra_Library {
 
-inline Topology
-Linear_Row::Flags::topology() const {
-  return is_necessarily_closed() ? NECESSARILY_CLOSED : NOT_NECESSARILY_CLOSED;
-}
+template <typename Temp>
+struct Rectilinear_Distance_Specialization;
 
-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);
-}
+template <typename Temp>
+struct Euclidean_Distance_Specialization;
 
-inline bool
-Linear_Row::Flags::operator!=(const Flags& y) const {
-  return !operator==(y);
-}
+template <typename Temp>
+struct L_Infinity_Distance_Specialization;
 
-inline const Linear_Row::Flags&
-Linear_Row::flags() const {
-  return static_cast<const Flags&>(Row::flags());
-}
+} // namespace Parma_Polyhedra_Library
 
-inline Linear_Row::Flags&
-Linear_Row::flags() {
-  return static_cast<Flags&>(Row::flags());
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/distances.defs.hh line 28. */
 
-inline bool
-Linear_Row::is_necessarily_closed() const {
-  return flags().is_necessarily_closed();
-}
+template <typename Temp>
+struct Parma_Polyhedra_Library::Rectilinear_Distance_Specialization {
+  static void combine(Temp& running, const Temp& current, Rounding_Dir dir);
 
-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;
-}
+  static void finalize(Temp&, Rounding_Dir);
+};
 
-inline dimension_type
-Linear_Row::space_dimension() const {
-  const dimension_type sz = size();
-  return (sz == 0)
-    ? 0
-    : sz - (is_necessarily_closed() ? 1 : 2);
-}
+template <typename Temp>
+struct Parma_Polyhedra_Library::Euclidean_Distance_Specialization {
+  static void combine(Temp& running, Temp& current, Rounding_Dir dir);
 
-inline
-Linear_Row::Linear_Row()
-  : Row() {
-}
+  static void finalize(Temp& running, Rounding_Dir dir);
+};
 
-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);
-}
+template <typename Temp>
+struct Parma_Polyhedra_Library::L_Infinity_Distance_Specialization {
+  static void combine(Temp& running, const Temp& current, Rounding_Dir);
 
-inline void
-Linear_Row::construct(const dimension_type sz, const Flags f) {
-  construct(sz, sz, f);
-}
+  static void finalize(Temp&, Rounding_Dir);
+};
 
-inline
-Linear_Row::Linear_Row(const dimension_type sz, const Flags f) {
-  construct(sz, f);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/distances.inlines.hh line 1. */
+/* Inline functions implementing distances.
+*/
 
-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) {
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/distances.inlines.hh line 27. */
 
-inline
-Linear_Row::Linear_Row(const Linear_Row& y,
-		       const dimension_type sz, const dimension_type capacity)
-  : Row(y, sz, capacity) {
-}
+namespace Parma_Polyhedra_Library {
 
-inline
-Linear_Row::~Linear_Row() {
-}
+// 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);
+  }
+};
 
-inline bool
-Linear_Row::is_line_or_equality() const {
-  return flags().is_line_or_equality();
-}
+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;
+  }
+};
 
-inline bool
-Linear_Row::is_ray_or_point_or_inequality() const {
-  return flags().is_ray_or_point_or_inequality();
+#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);
 }
 
-inline Topology
-Linear_Row::topology() const {
-  return flags().topology();
+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
-Linear_Row::set_is_line_or_equality() {
-  flags().set_is_line_or_equality();
+Rectilinear_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
 }
 
+template <typename Temp>
 inline void
-Linear_Row::set_is_ray_or_point_or_inequality() {
-  flags().set_is_ray_or_point_or_inequality();
+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
-Linear_Row::set_necessarily_closed() {
-  flags().set_necessarily_closed();
+Euclidean_Distance_Specialization<Temp>::finalize(Temp& running,
+						  Rounding_Dir dir) {
+  sqrt_assign_r(running, running, dir);
 }
 
+template <typename Temp>
 inline void
-Linear_Row::set_not_necessarily_closed() {
-  flags().set_not_necessarily_closed();
+L_Infinity_Distance_Specialization<Temp>::combine(Temp& running,
+						  const Temp& current,
+						  Rounding_Dir) {
+  if (current > running)
+    running = current;
 }
 
-inline Coefficient_traits::const_reference
-Linear_Row::inhomogeneous_term() const {
-  return (*this)[0];
+template <typename Temp>
+inline void
+L_Infinity_Distance_Specialization<Temp>::finalize(Temp&, Rounding_Dir) {
 }
 
-inline Coefficient_traits::const_reference
-Linear_Row::coefficient(const dimension_type k) const {
-  return (*this)[k+1];
-}
+} // namespace Parma_Polyhedra_Library
 
-inline void
-Linear_Row::strong_normalize() {
-  normalize();
-  sign_normalize();
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/distances.defs.hh line 52. */
 
-/*! \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);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator.defs.hh line 39. */
+#include <iosfwd>
 
-/*! \relates Linear_Row */
-inline bool
-operator!=(const Linear_Row& x, const Linear_Row& y) {
-  return !(x == y);
-}
+namespace Parma_Polyhedra_Library {
 
-} // namespace Parma_Polyhedra_Library
+// Put them in the namespace here to declare them friend later.
 
+namespace IO_Operators {
 
-namespace std {
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Generator */
+std::ostream& operator<<(std::ostream& s, const Generator& g);
 
-/*! \relates Parma_Polyhedra_Library::Linear_Row */
-inline void
-swap(Parma_Polyhedra_Library::Linear_Row& x,
-     Parma_Polyhedra_Library::Linear_Row& y) {
-  x.swap(y);
-}
+} // namespace IO_Operators
 
-/*! \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 Parma_Polyhedra_Library
 
-} // namespace std
+namespace std {
 
-/* Automatically generated from PPL source file ../src/Linear_Row.defs.hh line 463. */
+//! 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/Variable.defs.hh line 1. */
-/* Variable class declaration.
-*/
+} // namespace std
 
 
-/* Automatically generated from PPL source file ../src/Variable.defs.hh line 29. */
-#include <iosfwd>
-#include <set>
+//! A line, ray, point or closure point.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Generator is one of the following:
 
-namespace Parma_Polyhedra_Library {
+  - a line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
 
-namespace IO_Operators {
+  - a ray \f$\vect{r} = (a_0, \ldots, a_{n-1})^\transpose\f$;
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Variable */
-std::ostream&
-operator<<(std::ostream& s, const Variable& v);
+  - a point
+    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
 
-} // namespace IO_Operators
+  - a closure point
+    \f$\vect{c} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
 
-//! Defines a total ordering on variables.
-/*! \relates Variable */
-bool less(Variable v, Variable w);
+  where \f$n\f$ is the dimension of the space
+  and, for points and closure points, \f$d > 0\f$ is the divisor.
 
-} // namespace Parma_Polyhedra_Library
+  \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'.
 
-//! 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$.
+  \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.
 
-  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.
+  \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(0);
-  Linear_Expression e1 = x + y;
-  Linear_Expression e2 = y + z;
+  Variable z(2);
   \endcode
 
-*/
-class Parma_Polyhedra_Library::Variable {
+  \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 : private Linear_Row {
 public:
-  //! Builds the variable corresponding to the Cartesian axis of index \p i.
+  //! Returns the line of direction \p e.
   /*!
-    \exception std::length_error
-    Thrown if <CODE>i+1</CODE> exceeds
-    <CODE>Variable::max_space_dimension()</CODE>.
+    \exception std::invalid_argument
+    Thrown if the homogeneous part of \p e represents the origin of
+    the vector space.
   */
-  explicit Variable(dimension_type i);
+  static Generator line(const Linear_Expression& e);
 
-  //! Returns the index of the Cartesian axis associated to the variable.
-  dimension_type id() const;
+  //! 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);
 
-  //! Returns the maximum space dimension a Variable can handle.
-  static dimension_type max_space_dimension();
+  //! 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.
 
-  //! Returns the dimension of the vector space enclosing \p *this.
+    \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());
+
+  //! Returns the closure point at \p e / \p d.
   /*!
-    The returned value is <CODE>id()+1</CODE>.
+    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());
+
+  //! Ordinary copy-constructor.
+  Generator(const Generator& g);
+
+  //! Destructor.
+  ~Generator();
+
+  //! Assignment operator.
+  Generator& operator=(const Generator& g);
+
+  //! 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;
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() 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 size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  //! Returns the generator type of \p *this.
+  Type type() const;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
+  bool is_line() const;
 
-  //! Type of output functions.
-  typedef void output_function_type(std::ostream& s, const Variable& v);
+  //! Returns <CODE>true</CODE> if and only if \p *this is a ray.
+  bool is_ray() const;
 
-  //! Sets the output function to be used for printing Variable objects.
-  static void set_output_function(output_function_type* p);
+#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 the pointer to the current output function.
-  static output_function_type* get_output_function();
+  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
+  bool is_point() const;
 
-  //! 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;
-  };
+  //! Returns <CODE>true</CODE> if and only if \p *this is a closure point.
+  bool is_closure_point() const;
 
-private:
-  //! The index of the Cartesian axis.
-  dimension_type varid;
+  //! 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;
 
-  // The initialization class needs to set the default output function.
-  friend class Init;
+  //! 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;
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
-						    const Variable& v);
+  //! Initializes the class.
+  static void initialize();
 
-  //! Pointer to the current output function.
-  static output_function_type* current_output_function;
+  //! 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;
 
-  //! The default output function.
-  static void default_output_function(std::ostream& s, const Variable& v);
-};
+  //! 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/Variable.inlines.hh line 1. */
-/* Variable class implementation: inline functions.
-*/
+  /*! \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;
 
-/* Automatically generated from PPL source file ../src/Variable.inlines.hh line 27. */
-#include <stdexcept>
+  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);
 
-inline dimension_type
-Variable::max_space_dimension() {
-  return not_a_dimension() - 1;
-}
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-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)) {
-}
+  //! Swaps \p *this with \p y.
+  void swap(Generator& y);
 
-inline dimension_type
-Variable::id() const {
-  return varid;
-}
+private:
+  /*! \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;
 
-inline dimension_type
-Variable::space_dimension() const {
-  return varid + 1;
-}
+  /*! \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;
 
-inline memory_size_type
-Variable::external_memory_in_bytes() const {
-  return 0;
-}
+  /*! \brief
+    Builds a generator of type \p type and topology \p topology,
+    stealing the coefficients from \p e.
+  */
+  Generator(Linear_Expression& e, Type type, Topology topology);
 
-inline memory_size_type
-Variable::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  /*! \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,
+			       Variable v) const;
 
-inline void
-Variable::set_output_function(output_function_type* p) {
-  current_output_function = p;
-}
+  /*! \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 Variable::output_function_type*
-Variable::get_output_function() {
-  return current_output_function;
-}
+  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;
 
-/*! \relates Variable */
-inline bool
-less(const Variable v, const Variable w) {
-  return v.id() < w.id();
-}
+  friend
+  Parma_Polyhedra_Library
+  ::Linear_Expression::Linear_Expression(const Generator& g);
 
-inline bool
-Variable::Compare::operator()(const Variable x, const Variable y) const {
-  return less(x, y);
-}
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
+						    const Generator& g);
 
-} // namespace Parma_Polyhedra_Library
+  //! Copy-constructor with given space dimension.
+  Generator(const Generator& g, dimension_type dimension);
 
-/* Automatically generated from PPL source file ../src/Variable.defs.hh line 147. */
+  //! Returns <CODE>true</CODE> if and only if \p *this is not a line.
+  bool is_ray_or_point() const;
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 1. */
-/* Linear_Expression class declaration.
-*/
+  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
+  void set_is_line();
 
+  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
+  void set_is_ray_or_point();
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 41. */
-#include <cstddef>
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the closure point
+    \p *this has the same \e coordinates of the point \p p.
 
-namespace Parma_Polyhedra_Library {
-// Put them in the namespace here to declare them friend later.
+    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 linear expression \p e1 + \p e2.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e1, const Linear_Expression& e2);
+  //! Default constructor: private and not implemented.
+  Generator();
+};
 
-//! 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);
+namespace Parma_Polyhedra_Library {
 
-//! Returns the linear expression \p e + \p v.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e, Variable v);
+//! Shorthand for Generator Generator::line(const Linear_Expression& e).
+/*! \relates Generator */
+Generator line(const Linear_Expression& e);
 
-//! Returns the linear expression \p n + \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(Coefficient_traits::const_reference n, const Linear_Expression& e);
+//! Shorthand for Generator Generator::ray(const Linear_Expression& e).
+/*! \relates Generator */
+Generator ray(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);
+/*! \brief
+  Shorthand for Generator
+  Generator::point(const Linear_Expression& e, Coefficient_traits::const_reference d).
 
-//! Returns the linear expression \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator+(const Linear_Expression& e);
+  \relates Generator
+*/
+Generator
+point(const Linear_Expression& e = Linear_Expression::zero(),
+      Coefficient_traits::const_reference d = Coefficient_one());
 
-//! Returns the linear expression - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e);
+/*! \brief
+  Shorthand for Generator
+  Generator::closure_point(const Linear_Expression& e, Coefficient_traits::const_reference d).
 
-//! Returns the linear expression \p e1 - \p e2.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e1, const Linear_Expression& e2);
+  \relates Generator
+*/
+Generator
+closure_point(const Linear_Expression& e = Linear_Expression::zero(),
+	      Coefficient_traits::const_reference d = Coefficient_one());
 
-//! Returns the linear expression \p v - \p w.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Variable v, Variable w);
+//! 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 the linear expression \p v - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Variable v, const Linear_Expression& e);
+//! 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);
 
-//! Returns the linear expression \p e - \p v.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e, Variable v);
+//! 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.
 
-//! Returns the linear expression \p n - \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  The direction of the approximation is specified by \p dir.
 
-//! Returns the linear expression \p e - \p n.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator-(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
 
-//! Returns the linear expression \p n * \p e.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator*(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  \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);
 
-//! Returns the linear expression \p e * \p n.
-/*! \relates Linear_Expression */
-Linear_Expression
-operator*(const Linear_Expression& e, Coefficient_traits::const_reference n);
+//! 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.
 
-//! 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);
+  The direction of the approximation is specified by \p dir.
 
-//! 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);
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
 
-//! 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);
+  \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);
 
-//! 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);
+//! 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.
 
-//! 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);
+  The direction of the approximation is specified by \p dir.
 
-//! 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);
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 
-//! 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);
+  \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);
 
-namespace IO_Operators {
+//! 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.
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-std::ostream& operator<<(std::ostream& s, const Linear_Expression& e);
+  The direction of the approximation is specified by \p dir.
 
-} // namespace IO_Operators
+  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.
+*/
+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.
 
-namespace std {
+  The direction of the approximation is specified by \p dir.
 
-//! 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);
+  All computations are performed using variables of type
+  Checked_Number<Temp, Extended_Number_Policy>.
 
-} // namespace std
+  \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 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.
+//! 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.
 
-  \par How to build a linear expression.
+  The direction of the approximation is specified by \p dir.
 
-  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.
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 
-  \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.
+  \note
+  Distances are \e only defined between generators that are points and/or
+  closure points; for rays or lines, \c false is returned.
 */
-class Parma_Polyhedra_Library::Linear_Expression : private Linear_Row {
-public:
-  //! Default constructor: returns a copy of Linear_Expression::zero().
-  Linear_Expression();
+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);
 
-  //! Ordinary copy-constructor.
-  Linear_Expression(const Linear_Expression& e);
+//! 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.
 
-  //! Destructor.
-  ~Linear_Expression();
+  The direction of the approximation is specified by \p dir.
 
-  /*! \brief
-    Builds the linear expression corresponding
-    to the inhomogeneous term \p n.
-  */
-  explicit Linear_Expression(Coefficient_traits::const_reference n);
+  All computations are performed using variables of type
+  Checked_Number<To, Extended_Number_Policy>.
 
-  //! 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);
+  \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);
 
-  //! 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);
+//! 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.
 
-  /*! \brief
-    Builds the linear expression corresponding to generator \p g
-    (for points and closure points, the divisor is not copied).
+  The direction of the approximation is specified by \p dir.
 
-    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);
+  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);
 
-  /*! \brief
-    Builds the linear expression corresponding to grid generator \p g
-    (for points, parameters and lines the divisor is not copied).
+//! 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.
 
-    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);
+  The direction of the approximation is specified by \p dir.
 
-  //! 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);
+  All computations are performed using the temporary variables
+  \p tmp0, \p tmp1 and \p tmp2.
 
-  //! Returns the maximum space dimension a Linear_Expression can handle.
-  static dimension_type max_space_dimension();
+  \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);
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+namespace IO_Operators {
 
-  //! Returns the coefficient of \p v in \p *this.
-  Coefficient_traits::const_reference coefficient(Variable v) const;
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Generator */
+std::ostream& operator<<(std::ostream& s, const Generator::Type& t);
 
-  //! Returns the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+} // namespace IO_Operators
 
-  //! Initializes the class.
-  static void initialize();
+} // namespace Parma_Polyhedra_Library
 
-  //! Finalizes the class.
-  static void finalize();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator.inlines.hh line 1. */
+/* Generator class implementation: inline functions.
+*/
 
-  //! 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;
+namespace Parma_Polyhedra_Library {
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+inline
+Generator::Generator(Linear_Expression& e, Type type, Topology topology) {
+  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));
+}
 
-  PPL_OUTPUT_DECLARATIONS
+inline
+Generator::Generator(const Generator& g)
+  : Linear_Row(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);
+inline
+Generator::Generator(const Generator& g, dimension_type dimension)
+  : Linear_Row(g, dimension, dimension) {
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+inline
+Generator::~Generator() {
+}
 
-  //! Swaps \p *this with \p y.
-  void swap(Linear_Expression& y);
+inline Generator&
+Generator::operator=(const Generator& g) {
+  Linear_Row::operator=(g);
+  return *this;
+}
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the (zero-dimension space) constant 0.
-  */
-  static const Linear_Expression* zero_p;
+inline dimension_type
+Generator::max_space_dimension() {
+  return Linear_Row::max_space_dimension();
+}
 
-  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;
+inline dimension_type
+Generator::space_dimension() const {
+  return Linear_Row::space_dimension();
+}
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Constraint_System::affine_preimage().
-  friend class Parma_Polyhedra_Library::Constraint_System;
+inline bool
+Generator::is_line() const {
+  return is_line_or_equality();
+}
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Generator_System::affine_image().
-  friend class Parma_Polyhedra_Library::Generator_System;
+inline bool
+Generator::is_ray_or_point() const {
+  return is_ray_or_point_or_inequality();
+}
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Congruence_System::affine_preimage().
-  friend class Parma_Polyhedra_Library::Congruence_System;
+inline bool
+Generator::is_line_or_ray() const {
+  return (*this)[0] == 0;
+}
 
-  // FIXME: the following friend declaration is only to grant access to
-  // Grid_Generator_System::affine_image().
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+inline bool
+Generator::is_ray() const {
+  return is_ray_or_point() && is_line_or_ray();
+}
 
-  //! Copy-constructor with a specified space dimension.
-  Linear_Expression(const Linear_Expression& e, dimension_type sz);
+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;
+  }
+}
 
-  //! 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);
+inline bool
+Generator::is_point() const {
+  return type() == POINT;
+}
 
-  /*! \brief
-    Builds the linear expression corresponding to the difference of
-    \p v and \p w.
+inline bool
+Generator::is_closure_point() const {
+  return type() == CLOSURE_POINT;
+}
 
-    \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);
+inline void
+Generator::set_is_line() {
+  set_is_line_or_equality();
+}
 
-  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);
+inline void
+Generator::set_is_ray_or_point() {
+  set_is_ray_or_point_or_inequality();
+}
 
-  friend Linear_Expression
-  operator-(const Linear_Expression& e);
+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());
+}
 
-  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);
+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;
+}
 
-  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);
+inline memory_size_type
+Generator::external_memory_in_bytes() const {
+  return Linear_Row::external_memory_in_bytes();
+}
 
-  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);
+inline memory_size_type
+Generator::total_memory_in_bytes() const {
+  return Linear_Row::total_memory_in_bytes();
+}
 
-  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);
+inline const Generator&
+Generator::zero_dim_point() {
+  assert(zero_dim_point_p != 0);
+  return *zero_dim_point_p;
+}
 
-  friend Linear_Expression&
-  operator*=(Linear_Expression& e, Coefficient_traits::const_reference n);
+inline const Generator&
+Generator::zero_dim_closure_point() {
+  assert(zero_dim_closure_point_p != 0);
+  return *zero_dim_closure_point_p;
+}
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<(std::ostream& s, const Linear_Expression& e);
-};
+/*! \relates Generator */
+inline Generator
+line(const Linear_Expression& e) {
+  return Generator::line(e);
+}
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 1. */
-/* Linear_Expression class implementation: inline functions.
-*/
+/*! \relates Generator */
+inline Generator
+ray(const Linear_Expression& e) {
+  return Generator::ray(e);
+}
 
+/*! \relates Generator */
+inline Generator
+point(const Linear_Expression& e, Coefficient_traits::const_reference d) {
+  return Generator::point(e, d);
+}
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.inlines.hh line 28. */
-#include <stdexcept>
+/*! \relates Generator */
+inline Generator
+closure_point(const Linear_Expression& e,
+	      Coefficient_traits::const_reference d) {
+  return Generator::closure_point(e, d);
+}
 
-namespace Parma_Polyhedra_Library {
+/*! \relates Generator */
+inline bool
+operator==(const Generator& x, const Generator& y) {
+  return x.is_equivalent_to(y);
+}
 
-inline dimension_type
-Linear_Expression::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
+/*! \relates Generator */
+inline bool
+operator!=(const Generator& x, const Generator& y) {
+  return !x.is_equivalent_to(y);
 }
 
-inline
-Linear_Expression::Linear_Expression()
-  : Linear_Row(1, Linear_Row::Flags()) {
+inline void
+Generator::ascii_dump(std::ostream& s) const {
+  Linear_Row::ascii_dump(s);
 }
 
-inline
-Linear_Expression::Linear_Expression(dimension_type sz, bool)
-  : Linear_Row(sz, Linear_Row::Flags()) {
+inline bool
+Generator::ascii_load(std::istream& s) {
+  return Linear_Row::ascii_load(s);
 }
 
-inline
-Linear_Expression::Linear_Expression(const Variable v)
-  : Linear_Row(v.space_dimension() <= max_space_dimension()
-	       ? v.id() + 2
-	       : (throw std::length_error("PPL::Linear_Expression::"
-					  "Linear_Expression(v):\n"
-					  "v exceeds the maximum allowed "
-					  "space dimension."),
-		  v.id() + 2)
-	       , Linear_Row::Flags()) {
-  (*this)[v.id() + 1] = 1;
+inline void
+Generator::swap(Generator& y) {
+  Linear_Row::swap(y);
 }
 
-inline
-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] = 1;
-    (*this)[w_space_dim] = -1;
+#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;
   }
-}
 
-inline
-Linear_Expression::Linear_Expression(const Linear_Expression& e)
-  : Linear_Row(e) {
-}
+  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);
 
-inline
-Linear_Expression::~Linear_Expression() {
+  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);
+    assert(sgn(tmp1) >= 0);
+    Specialization::combine(tmp0, tmp1, dir);
+  }
+  Specialization::finalize(tmp0, dir);
+  assign_r(r, tmp0, dir);
+  return true;
 }
 
-inline
-Linear_Expression::Linear_Expression(const Linear_Expression& e,
-				     dimension_type sz)
-  : Linear_Row(e, sz, sz) {
+/*! \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
-Linear_Expression::Linear_Expression(Coefficient_traits::const_reference n)
-  : Linear_Row(1, Linear_Row::Flags()) {
-  (*this)[0] = n;
+/*! \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 dimension_type
-Linear_Expression::space_dimension() const {
-  return size() - 1;
+/*! \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 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());
+/*! \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 Coefficient_traits::const_reference
-Linear_Expression::inhomogeneous_term() const {
-  return Linear_Row::inhomogeneous_term();
+/*! \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 const Linear_Expression&
-Linear_Expression::zero() {
-  assert(zero_p != 0);
-  return *zero_p;
+/*! \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 memory_size_type
-Linear_Expression::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
+/*! \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);
 }
 
-inline memory_size_type
-Linear_Expression::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
+/*! \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 Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e) {
-  return e;
+/*! \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 Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n + e;
+} // namespace Parma_Polyhedra_Library
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Generator */
+inline void
+swap(Parma_Polyhedra_Library::Generator& x,
+     Parma_Polyhedra_Library::Generator& y) {
+  x.swap(y);
 }
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Variable v, const Variable w) {
-  // FIXME: provide a better implementation.
-  return Linear_Expression(v) + Linear_Expression(w);
-}
+} // namespace std
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Variable v, const Linear_Expression& e) {
-  // FIXME: provide a better implementation.
-  return e + Linear_Expression(v);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator.defs.hh line 722. */
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator+(const Linear_Expression& e, const Variable v) {
-  return v + e;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence.defs.hh line 1. */
+/* Congruence class declaration.
+*/
 
-/*! \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 Variable v, const Variable w) {
-  return Linear_Expression(v, w);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence_System.defs.hh line 1. */
+/* Congruence_System class declaration.
+*/
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator-(const Variable v, const Linear_Expression& e) {
-  // FIXME: provide a better implementation.
-  return Linear_Expression(v) - e;
-}
 
-/*! \relates Linear_Expression */
-inline Linear_Expression
-operator-(const Linear_Expression& e, const Variable v) {
-  // FIXME: provide a better implementation.
-  return e - Linear_Expression(v);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Certificate.types.hh line 1. */
 
-/*! \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+=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  e[0] += n;
-  return e;
-}
+namespace Parma_Polyhedra_Library {
 
-/*! \relates Linear_Expression */
-inline Linear_Expression&
-operator-=(Linear_Expression& e, Coefficient_traits::const_reference n) {
-  e[0] -= n;
-  return e;
-}
+class Grid_Certificate;
 
-inline void
-Linear_Expression::swap(Linear_Expression& y) {
-  Linear_Row::swap(y);
 }
 
-inline void
-Linear_Expression::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence_System.defs.hh line 33. */
+#include <iosfwd>
 
-inline bool
-Linear_Expression::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
-}
+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 {
 
-/*! \relates Parma_Polyhedra_Library::Linear_Expression */
-inline void
-swap(Parma_Polyhedra_Library::Linear_Expression& x,
-     Parma_Polyhedra_Library::Linear_Expression& y) {
-  x.swap(y);
-}
+//! 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 std
 
-/* Automatically generated from PPL source file ../src/Linear_Expression.defs.hh line 452. */
+//! A system of congruences.
+/*! \ingroup PPL_CXX_interface
+    An object of the class Congruence_System is a system of congruences,
+    i.e., a multiset of objects of the class Congruence.
+    When inserting congruences in a system, space dimensions are
+    automatically adjusted so that all the congruences in the system
+    are defined on the same vector space.
 
-/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 1. */
-/* Constraint_System class declaration.
-*/
+    \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 congruences corresponding to
+    an integer grid in \f$\Rset^2\f$:
+    \code
+  Congruence_System cgs;
+  cgs.insert(x %= 0);
+  cgs.insert(y %= 0);
+    \endcode
+    Note that:
+    the congruence system is created with space dimension zero;
+    the first and second congruence insertions increase the space
+    dimension to \f$1\f$ and \f$2\f$, respectively.
 
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 1. */
-/* Linear_System class declaration.
-*/
+    \par Example 2
+    By adding to the congruence system of the previous example,
+    the congruence \f$x + y = 1 \pmod{2}\f$:
+    \code
+  cgs.insert((x + y %= 1) / 2);
+    \endcode
+    we obtain the grid containing just those integral
+    points where the sum of the \p x and \p y values is odd.
 
+    \par Example 3
+    The following code builds a system of congruences corresponding to
+    the grid in \f$\Zset^2\f$ containing just the integral points on
+    the \p x axis:
+    \code
+  Congruence_System cgs;
+  cgs.insert(x %= 0);
+  cgs.insert((y %= 0) / 0);
+    \endcode
 
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 1. */
-/* Matrix class declaration.
+    \note
+    After inserting a multiset of congruences in a congruence system,
+    there are no guarantees that an <EM>exact</EM> copy of them
+    can be retrieved:
+    in general, only an <EM>equivalent</EM> congruence system
+    will be available, where original congruences may have been
+    reordered, removed (if they are trivial, duplicate or
+    implied by other congruences), linearly combined, etc.
 */
+class Parma_Polyhedra_Library::Congruence_System : private Matrix {
+public:
+  //! Default constructor: builds an empty system of congruences.
+  Congruence_System();
 
+  //! Builds the singleton system containing only congruence \p cg.
+  explicit Congruence_System(const Congruence& cg);
 
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 31. */
-#include <vector>
-#include <cstddef>
+  /*! \brief
+    If \p c represents the constraint \f$ e_1 = e_2 \f$, builds the
+    singleton system containing only constraint \f$ e_1 = e_2
+    \pmod{0}\f$.
 
-#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)
+    \exception std::invalid_argument
+    Thrown if \p c is not an equality constraint.
+  */
+  explicit Congruence_System(const Constraint& c);
 
-class Parma_Polyhedra_Library::Matrix {
-public:
-  //! Returns the maximum number of rows of a Matrix.
-  static dimension_type max_num_rows();
+  //! Builds a system containing copies of any equalities in \p cs.
+  explicit Congruence_System(const Constraint_System& cs);
 
-  //! Returns the maximum number of columns of a Matrix.
-  static dimension_type max_num_columns();
+  //! Ordinary copy-constructor.
+  Congruence_System(const Congruence_System& cgs);
 
-  //! Builds an empty matrix.
-  /*!
-    Rows' size and capacity are initialized to \f$0\f$.
+  //! Destructor.
+  ~Congruence_System();
+
+  //! Assignment operator.
+  Congruence_System& operator=(const Congruence_System& cgs);
+
+  //! Returns the maximum space dimension a Congruence_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 is exactly equal
+    to \p cgs.
   */
-  Matrix();
+  bool is_equal_to(const Congruence_System& cgs) const;
 
-  //! Builds a zero matrix with specified dimensions and flags.
-  /*!
-    \param n_rows
-    The number of rows of the matrix that will be created;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this contains one or
+    more linear equalities.
+  */
+  bool has_linear_equalities() const;
 
-    \param n_columns
-    The number of columns of the matrix that will be created.
+  //! Removes all the congruences and sets the space dimension to 0.
+  void clear();
 
-    \param row_flags
-    The flags used to build the rows of the matrix;
-    by default, the rows will have all flags unset.
+  /*! \brief
+    Inserts in \p *this a copy of the congruence \p cg, increasing the
+    number of space dimensions if needed.
+
+    The copy of \p cg will be strongly normalized after being
+    inserted.
   */
-  Matrix(dimension_type n_rows, dimension_type n_columns,
-	 Row::Flags row_flags = Row::Flags());
+  void insert(const Congruence& cg);
 
-  //! Copy-constructor.
-  Matrix(const Matrix& y);
+  /*! \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.
 
-  //! Destructor.
-  ~Matrix();
+    The modulo 0 congruence will be strongly normalized after being
+    inserted.
 
-  //! Assignment operator.
-  Matrix& operator=(const Matrix& y);
+    \exception std::invalid_argument
+    Thrown if \p c is a relational constraint.
+  */
+  void insert(const Constraint& c);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! An iterator over a matrix.
+  // TODO: Consider adding a recycling_insert(cg).
+
+  /*! \brief
+    Inserts in \p *this a copy of the congruences in \p cgs,
+    increasing the number of space dimensions if needed.
+
+    The inserted copies will be strongly normalized.
+  */
+  void insert(const Congruence_System& cgs);
+
+  /*! \brief
+    Inserts into \p *this the congruences in \p cgs, increasing the
+    number of space dimensions if needed.
+  */
+  void recycling_insert(Congruence_System& cgs);
+
+  //! Initializes the class.
+  static void initialize();
+
+  //! Finalizes the class.
+  static void finalize();
+
+  //! Returns the system containing only Congruence::zero_dim_false().
+  static const Congruence_System& zero_dim_empty();
+
+  //! An iterator over a system of congruences.
   /*! \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;
+    to each congruence contained in an object of Congruence_System.
 
+    \par Example
+    The following code prints the system of congruences
+    defining the grid <CODE>gr</CODE>:
+    \code
+  const Congruence_System& cgs = gr.congruences();
+  for (Congruence_System::const_iterator i = cgs.begin(),
+         cgs_end = cgs.end(); i != cgs_end; ++i)
+    cout << *i << endl;
+    \endcode
+  */
+  class const_iterator
+    : public std::iterator<std::forward_iterator_tag,
+			   Congruence,
+			   ptrdiff_t,
+			   const Congruence*,
+			   const Congruence&> {
   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);
 
+    //! Destructor.
+    ~const_iterator();
+
     //! Assignment operator.
     const_iterator& operator=(const const_iterator& y);
 
     //! Dereference operator.
-    reference operator*() const;
+    const Congruence& operator*() const;
 
     //! Indirect member selector.
-    pointer operator->() const;
+    const Congruence* operator->() const;
 
     //! Prefix increment operator.
     const_iterator& operator++();
@@ -19813,7750 +20177,7465 @@ public:
     const_iterator operator++(int);
 
     /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
+      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.
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      different.
     */
     bool operator!=(const const_iterator& y) const;
-  };
-
-  //! 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;
-
-  /*! \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;
-
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
-
-  // FIXME: the following section must become private.
-protected:
-  //! Contains the rows of the matrix.
-  std::vector<Row> rows;
-
-  //! Size of the initialized part of each row.
-  dimension_type row_size;
-
-  //! Capacity allocated for each row.
-  dimension_type row_capacity;
-
-public:
-  //! Swaps \p *this with \p y.
-  void swap(Matrix& y);
-
-  //! 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.
-
-    \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\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);
+  private:
+    friend class Congruence_System;
 
-  //! Adds \p n columns of zeroes to the matrix.
-  /*!
-    \param n
-    The number of columns to be added: must be strictly positive.
+    //! The const iterator over the matrix of congruences.
+    Matrix::const_iterator i;
 
-    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);
+    //! A const pointer to the matrix of congruences.
+    const Matrix* csp;
 
-  //! 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.
+    //! Constructor.
+    const_iterator(const Matrix::const_iterator& iter,
+		   const Congruence_System& cgs);
 
-    \param m
-    The number of columns to be added: must be strictly positive.
+    //! \p *this skips to the next non-trivial congruence.
+    void skip_forward();
+  };
 
-    \param row_flags
-    Flags for the newly added rows.
+  //! Returns <CODE>true</CODE> if and only if \p *this has no congruences.
+  bool empty() const;
 
-    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
+    Returns the const_iterator pointing to the first congruence, if \p
+    *this is not empty; otherwise, returns the past-the-end
+    const_iterator.
   */
-  void add_zero_rows_and_columns(dimension_type n, dimension_type m,
-				 Row::Flags row_flags);
-
-  //! 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.
+  const_iterator begin() 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}{0}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
-  */
-  void add_row(const Row& y);
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-  //! Adds the row \p y to the matrix.
+  //! Checks if all the invariants are satisfied.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*!
-    \param y
-    The row to be added: it must have the same size and capacity as \p
-    *this.
-
-    Turns the \f$r \times c\f$ matrix \f$M\f$ into
-    the \f$(r+1) \times c\f$ matrix
-    \f$\genfrac{(}{)}{0pt}{}{M}{0}\f$.
-    The matrix is expanded avoiding reallocation whenever possible.
+    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.
   */
-  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;
-
-    \param new_n_columns
-    The number of columns of the resized matrix.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool OK() const;
 
-    \param row_flags
-    The flags of the rows eventually added to the matrix.
+  PPL_OUTPUT_DECLARATIONS
 
-    The matrix is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original matrix is lost.
+  /*! \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 resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns,
-		      Row::Flags row_flags);
+  bool ascii_load(std::istream& s);
 
-  //! Swaps the columns having indexes \p i and \p j.
-  void swap_columns(dimension_type i,  dimension_type j);
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  //! 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.
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-    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.
-  */
-  void permute_columns(const std::vector<dimension_type>& cycles);
+  //! Returns the number of equalities.
+  dimension_type num_equalities() const;
 
-  //! \name Accessors
-  //@{
+  //! Returns the number of proper congruences.
+  dimension_type num_proper_congruences() const;
 
-  //! Returns the number of columns of the matrix (i.e., the size of the rows).
-  dimension_type num_columns() const;
+  //! Swaps \p *this with \p y.
+  void swap(Congruence_System& cgs);
 
-  //! Returns the number of rows in the matrix.
-  dimension_type num_rows() const;
-  //@} // Accessors
+  /*! \brief
+    Adds \p dims rows and \p dims columns of zeroes to the matrix,
+    initializing the added rows as in the unit congruence system.
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the \p k-th row of the matrix.
-  Row& operator[](dimension_type k);
+    \param dims
+    The number of rows and columns to be added: must be strictly
+    positive.
 
-  //! Returns a constant reference to the \p k-th row of the matrix.
-  const Row& operator[](dimension_type k) const;
-  //@} // Subscript operators
+    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);
 
-  //! Clears the matrix deallocating all its rows.
-  void clear();
+protected:
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Returns <CODE>true</CODE> if \p g satisfies all the congruences.
+  bool satisfies_all_congruences(const Grid_Generator& g) const;
 
+private:
   /*! \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.
+    Holds (between class initialization and finalization) a pointer to
+    the singleton system containing only Congruence::zero_dim_false().
   */
-  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;
+  static const Congruence_System* zero_dim_empty_p;
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  //! Builds an empty (i.e. zero rows) system of dimension \p d.
+  explicit Congruence_System(dimension_type d);
 
   /*! \brief
-    Erases from the matrix all the rows but those having
-    an index less than \p first_to_erase.
-  */
-  void erase_to_end(dimension_type first_to_erase);
+    Concatenates copies of the congruences from \p cgs onto \p *this.
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
-};
+    \param cgs
+    The congruence system to append to \p this.  The number of rows in
+    \p cgs must be strictly positive.
 
-namespace std {
+    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);
 
-#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);
+  //! Adjusts all expressions to have the same moduli.
+  void normalize_moduli();
 
-} // namespace std
+  //! 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);
 
+  /*! \brief
+    Inserts in \p *this an exact copy of the congruence \p cg,
+    increasing the number of space dimensions if needed.
 
-namespace Parma_Polyhedra_Library {
+    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);
 
-#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);
+  friend class const_iterator;
+  friend class Grid;
+  friend class Grid_Certificate;
 
-#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);
+  friend void std::swap(Parma_Polyhedra_Library::Congruence_System& x,
+			Parma_Polyhedra_Library::Congruence_System& y);
 
-} // namespace Parma_Polyhedra_Library
+  friend bool
+  operator==(const Congruence_System& x, const Congruence_System& y);
 
-/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 1. */
-/* Matrix class implementation: inline functions.
-*/
+  //! Returns the \p k- th congruence of the system.
+  Congruence& operator[](dimension_type k);
 
+  //! Returns a constant reference to the \p k- th congruence of the system.
+  const Congruence& operator[](dimension_type k) const;
 
-/* Automatically generated from PPL source file ../src/Matrix.inlines.hh line 27. */
-#include <algorithm>
-#include <cassert>
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if any of the dimensions in
+    \p *this is free of constraint.
 
-namespace Parma_Polyhedra_Library {
+    Any equality or proper congruence affecting a dimension constrains
+    that dimension.
 
-inline dimension_type
-Matrix::max_num_rows() {
-  return std::vector<Row>().max_size();
-}
+    This method assumes the system is in minimal form.
+  */
+  bool has_a_free_dimension() const;
 
-inline dimension_type
-Matrix::max_num_columns() {
-  return Row::max_size();
-}
+  /*! \brief
+    Substitutes a given column of coefficients by a given affine
+    expression.
 
-inline memory_size_type
-Matrix::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+    \param v
+    Index of the column to which the affine transformation is
+    substituted;
 
-inline
-Matrix::const_iterator::const_iterator()
-  : i(Iter()) {
-}
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-inline
-Matrix::const_iterator::const_iterator(const Iter& b)
-  : i(b) {
-}
+    \param denominator
+    The denominator of the affine transformation.
 
-inline
-Matrix::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i) {
-}
+    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.
 
-inline Matrix::const_iterator&
-Matrix::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  return *this;
-}
+    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]
 
-inline Matrix::const_iterator::reference
-Matrix::const_iterator::operator*() const {
-  return *i;
-}
+    \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);
 
-inline Matrix::const_iterator::pointer
-Matrix::const_iterator::operator->() const {
-  return &*i;
-}
+  /*! \brief
+    Removes the higher dimensions of the system so that the resulting
+    system will have dimension \p new_dimension.
 
-inline Matrix::const_iterator&
-Matrix::const_iterator::operator++() {
-  ++i;
-  return *this;
-}
+    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);
 
-inline Matrix::const_iterator
-Matrix::const_iterator::operator++(int) {
-  return const_iterator(i++);
-}
+  //! Resizes the system without worrying about the old contents.
+  /*!
+    \param new_num_rows
+    The number of rows of the resized system;
 
-inline bool
-Matrix::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
+    \param new_num_columns
+    The number of columns of the resized system.
 
-inline bool
-Matrix::const_iterator::operator!=(const const_iterator& y) const {
-  return !operator==(y);
-}
+    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);
+};
 
-inline bool
-Matrix::has_no_rows() const {
-  return rows.empty();
-}
+// Congruence_System.inlines.hh is not included here on purpose.
 
-inline Matrix::const_iterator
-Matrix::begin() const {
-  return const_iterator(rows.begin());
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence.defs.hh line 36. */
+#include <iosfwd>
 
-inline Matrix::const_iterator
-Matrix::end() const {
-  return const_iterator(rows.end());
-}
+namespace Parma_Polyhedra_Library {
 
-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);
-}
+namespace IO_Operators {
 
-inline
-Matrix::Matrix()
-  : rows(),
-    row_size(0),
-    row_capacity(0) {
-}
+//! Output operators.
 
-inline
-Matrix::Matrix(const Matrix& y)
-  : rows(y.rows),
-    row_size(y.row_size),
-    row_capacity(compute_capacity(y.row_size, max_num_columns())) {
-}
+/*! \relates Parma_Polyhedra_Library::Congruence */
+std::ostream&
+operator<<(std::ostream& s, const Congruence& c);
 
-inline
-Matrix::~Matrix() {
-}
+// Put this in the namespace here to declare it a friend later.
 
-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;
-}
+/*! \relates Parma_Polyhedra_Library::Congruence_System */
+std::ostream&
+operator<<(std::ostream& s, const Congruence_System& cgs);
 
-inline void
-Matrix::add_row(const Row& y) {
-  Row new_row(y, row_capacity);
-  add_recycled_row(new_row);
-}
 
-inline Row&
-Matrix::operator[](const dimension_type k) {
-  assert(k < rows.size());
-  return rows[k];
-}
+} // namespace IO_Operators
 
-inline const Row&
-Matrix::operator[](const dimension_type k) const {
-  assert(k < rows.size());
-  return rows[k];
-}
+// Put these in the namespace here to declare them friend later.
 
-inline dimension_type
-Matrix::num_rows() const {
-  return rows.size();
-}
+//! 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);
 
-inline dimension_type
-Matrix::num_columns() const {
-  return row_size;
-}
+//! 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);
 
-/*! \relates Matrix */
-inline bool
-operator!=(const Matrix& x, const Matrix& y) {
-  return !(x == y);
-}
+//! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
+/*! \relates Congruence */
+Congruence
+operator%=(const Linear_Expression& e1, const Linear_Expression& e2);
 
-inline void
-Matrix::erase_to_end(const dimension_type first_to_erase) {
-  assert(first_to_erase <= rows.size());
-  if (first_to_erase < rows.size())
-    rows.erase(rows.begin() + first_to_erase, rows.end());
-}
+//! Returns the congruence \f$e = n \pmod{1}\f$.
+/*! \relates Congruence */
+Congruence
+operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n);
 
-inline void
-Matrix::clear() {
-  // Clear `rows' and minimize its capacity.
-  std::vector<Row>().swap(rows);
-  row_size = 0;
-  row_capacity = 0;
-}
+//! 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 {
 
-/*! \relates Parma_Polyhedra_Library::Matrix */
-inline void
-swap(Parma_Polyhedra_Library::Matrix& x,
-     Parma_Polyhedra_Library::Matrix& y) {
-  x.swap(y);
-}
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Congruence */
+void
+swap(Parma_Polyhedra_Library::Congruence& x,
+     Parma_Polyhedra_Library::Congruence& y);
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Matrix.defs.hh line 366. */
+//! 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$
 
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 33. */
+  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.
 
-#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)
+  \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>'.
 
-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);
+  The space dimension of a congruence is defined as the maximum
+  space dimension of the arguments of its constructor.
 
-  //! Builds a system with specified topology and dimensions.
-  /*!
-    \param topol
-    The topology of the system that will be created;
+  \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
 
-    \param n_rows
-    The number of rows of the system that will be created;
+  \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
 
-    \param n_columns
-    The number of columns of the system that will be created.
+  \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.
 
-    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);
+  \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);
 
-#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.
+  //! Copy-constructs (modulo 0) from equality constraint \p c.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p c is an inequality.
   */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  struct With_Pending {
-  };
+  explicit Congruence(const Constraint& c);
 
-  //! Copy-constructor: pending rows are transformed into non-pending ones.
-  Linear_System(const Linear_System& y);
+  //! Destructor.
+  ~Congruence();
 
-  //! Full copy-constructor: pending rows are copied as pending.
-  Linear_System(const Linear_System& y, With_Pending);
+  //! Assignment operator.
+  Congruence& operator=(const Congruence& cg);
 
-  //! Assignment operator: pending rows are transformed into non-pending ones.
-  Linear_System& operator=(const Linear_System& y);
+  //! Returns the maximum space dimension a Congruence can handle.
+  static dimension_type max_space_dimension();
 
-  //! Full assignment operator: pending rows are copied as pending.
-  void assign_with_pending(const Linear_System& y);
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-  //! Swaps \p *this with \p y.
-  void swap(Linear_System& y);
+  //! 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 maximum space dimension a Linear_System can handle.
-  static dimension_type max_space_dimension();
+  //! Returns the inhomogeneous term of \p *this.
+  Coefficient_traits::const_reference inhomogeneous_term() const;
 
-  //! Returns the space dimension of the rows in the system.
+  //! Returns a const reference to the modulus of \p *this.
+  Coefficient_traits::const_reference modulus() const;
+
+  //! Multiplies \p k into the modulus of \p *this.
   /*!
-    The computation of the space dimension correctly ignores
-    the column encoding the inhomogeneous terms of constraint
-    (resp., the divisors of generators);
-    if the system topology is <CODE>NOT_NECESSARILY_CLOSED</CODE>,
-    also the column of the \f$\epsilon\f$-dimension coefficients
-    will be ignored.
+    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$.
   */
-  dimension_type space_dimension() const;
-
-  //! Makes the system shrink by removing its \p n trailing columns.
-  void remove_trailing_columns(dimension_type n);
+  Congruence&
+  operator/=(Coefficient_traits::const_reference k);
 
-  //! Permutes the columns of the system.
-  /*
-    \param cycles
-    A vector representing the non-trivial cycles of the permutation
-    according to which the columns must be rearranged.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a tautology
+    (i.e., an always true congruence).
 
-    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.
+    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$.
   */
-  void permute_columns(const std::vector<dimension_type>& cycles);
+  bool is_tautological() const;
 
-  //! \name Subscript operators
-  //@{
-  //! Returns a reference to the \p k-th row of the system.
-  Linear_Row& operator[](dimension_type k);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this is inconsistent (i.e., an always false congruence).
 
-  //! Returns a constant reference to the \p k-th row of the system.
-  const Linear_Row& operator[](dimension_type k) const;
-  //@} // Subscript operators
+    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;
 
-  //! Strongly normalizes the system.
-  void strong_normalize();
+  //! 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;
 
-  //! Sign-normalizes the system.
-  void sign_normalize();
+  //! Returns <CODE>true</CODE> if \p *this is an equality.
+  /*!
+    A modulus of zero denotes a linear equality.
+  */
+  bool is_equality() const;
 
-  //! \name Accessors
-  //@{
-  //! Returns the system topology.
-  Topology topology() 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;
 
-  //! Returns the value of the sortedness flag.
-  bool is_sorted() const;
+  //! Initializes the class.
+  static void initialize();
+
+  //! Finalizes the class.
+  static void finalize();
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    the system topology is <CODE>NECESSARILY_CLOSED</CODE>.
+    Returns a reference to the true (zero-dimension space) congruence
+    \f$0 = 1 \pmod{1}\f$, also known as the <EM>integrality
+    congruence</EM>.
   */
-  bool is_necessarily_closed() const;
+  static const Congruence& zero_dim_integrality();
 
   /*! \brief
-    Returns the number of rows in the system
-    that represent either lines or equalities.
+    Returns a reference to the false (zero-dimension space) congruence
+    \f$0 = 1 \pmod{0}\f$.
   */
-  dimension_type num_lines_or_equalities() const;
+  static const Congruence& zero_dim_false();
 
-  //! Returns the index of the first pending row.
-  dimension_type first_pending_row() const;
+  //! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
+  static Congruence
+  create(const Linear_Expression& e1, const Linear_Expression& e2);
 
-  //! Returns the number of rows that are in the pending part of the system.
-  dimension_type num_pending_rows() const;
-  //@} // Accessors
+  //! Returns the congruence \f$e = n \pmod{1}\f$.
+  static Congruence
+  create(const Linear_Expression& e, Coefficient_traits::const_reference n);
+
+  //! Returns the congruence \f$n = e \pmod{1}\f$.
+  static Congruence
+  create(Coefficient_traits::const_reference n, const Linear_Expression& e);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is sorted,
-    without checking for duplicates.
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
   */
-  bool check_sorted() const;
-
-  //! Sets the system topology to <CODE>NECESSARILY_CLOSED</CODE>.
-  void set_necessarily_closed();
+  memory_size_type total_memory_in_bytes() const;
 
-  //! Sets the system topology to <CODE>NOT_NECESSARILY_CLOSED</CODE>.
-  void set_not_necessarily_closed();
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-  //! Sets the topology of all rows equal to the system topology.
-  void set_rows_topology();
+  PPL_OUTPUT_DECLARATIONS
 
-  //! Sets the index to indicate that the system has no pending rows.
-  void unset_pending_rows();
+  /*! \brief
+    Loads from \p s an ASCII representation of the internal
+    representation of \p *this.
+  */
+  bool ascii_load(std::istream& s);
 
-  //! Sets the index of the first pending row to \p i.
-  void set_index_first_pending_row(dimension_type i);
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-  //! Sets the sortedness flag of the system to \p b.
-  void set_sorted(bool b);
+protected:
 
-  //! Resizes the system without worrying about the old contents.
+  //! Normalizes the signs.
   /*!
-    \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.
+    The signs of the coefficients and the inhomogeneous term are
+    normalized, leaving the first non-zero homogeneous coefficient
+    positive.
   */
-  void resize_no_copy(dimension_type new_n_rows, dimension_type new_n_columns);
+  void sign_normalize();
 
-  //! Adds \p n rows and columns to the system.
+  //! Normalizes signs and the inhomogeneous term.
   /*!
-    \param n
-    The number of rows and columns to be added: must be strictly positive.
+    Applies sign_normalize, then reduces the inhomogeneous term to the
+    smallest possible positive number.
+  */
+  void normalize();
 
-    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.
+  //! 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 add_rows_and_columns(dimension_type n);
+  void strong_normalize();
 
+private:
   /*! \brief
-    Adds a copy of \p r to the system,
-    automatically resizing the system or the row's copy, if needed.
+    Holds (between class initialization and finalization) a pointer to
+    the false (zero-dimension space) congruence \f$0 = 1 \pmod{0}\f$.
   */
-  void insert(const Linear_Row& r);
+  static const Congruence* zero_dim_false_p;
 
   /*! \brief
-    Adds a copy of the given row to the pending part of the system,
-    automatically resizing the system or the row, if needed.
+    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>.
   */
-  void insert_pending(const Linear_Row& r);
+  static const Congruence* zero_dim_integrality_p;
 
-  //! Adds a copy of the given row to the system.
-  void add_row(const Linear_Row& r);
+  //! Marks this congruence as a linear equality.
+  void set_is_equality();
 
-  //! Adds a new empty row to the system, setting only its flags.
-  void add_pending_row(Linear_Row::Flags flags);
+  //! Negates the elements from index \p start to index \p end.
+  void negate(dimension_type start, dimension_type end);
 
-  //! Adds a copy of the given row to the pending part of the system.
-  void add_pending_row(const Linear_Row& r);
+  //! Default constructor: private and not implemented.
+  Congruence();
 
-  //! Adds to \p *this a copy of the rows of `y'.
-  /*!
-    It is assumed that \p *this has no pending rows.
-  */
-  void add_rows(const Linear_System& y);
+  //! Copy-constructs with specified size and capacity.
+  Congruence(const Congruence& cg,
+	     dimension_type sz,
+	     dimension_type capacity);
 
-  //! Adds a copy of the rows of `y' to the pending part of `*this'.
-  void add_pending_rows(const Linear_System& y);
+  //! Constructs from a constraint, with specified size and capacity.
+  Congruence(const Constraint& c,
+	     dimension_type sz,
+	     dimension_type capacity);
 
-  /*! \brief
-    Sorts the non-pending rows (in growing order) and eliminates
-    duplicated ones.
+  //! 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$.
   */
-  void sort_rows();
+  Congruence(const Congruence& cg, Coefficient_traits::const_reference k);
 
-  /*! \brief
-    Sorts the rows (in growing order) form \p first_row to
-    \p last_row and eliminates duplicated ones.
-  */
-  void sort_rows(dimension_type first_row, dimension_type last_row);
+  //! Constructs from Linear_Expression \p le, using modulus \p m.
+  /*!
+    Builds a congruence with modulus \p m, stealing the coefficients
+    from \p le.
 
-  /*! \brief
-    Assigns to \p *this the result of merging its rows with
-    those of \p y, obtaining a sorted system.
+    \param le
+    The Linear_Expression holding the coefficients.
 
-    Duplicated rows will occur only once in the result.
-    On entry, both systems are assumed to be sorted and have
-    no pending rows.
+    \param m
+    The modulus for the congruence, which must be zero or greater.
   */
-  void merge_rows_assign(const Linear_System& y);
+  Congruence(Linear_Expression& le,
+	     Coefficient_traits::const_reference m);
+
+  //! Swaps \p *this with \p y.
+  void swap(Congruence& y);
 
   /*! \brief
-    Sorts the pending rows and eliminates those that also occur
-    in the non-pending part of the system.
+    Throws a <CODE>std::invalid_argument</CODE> exception containing
+    error message \p message.
   */
-  void sort_pending_and_remove_duplicates();
-
-  class With_Bit_Matrix_iterator;
+  void
+  throw_invalid_argument(const char* method, const char* message) const;
 
   /*! \brief
-    Sorts the system, removing duplicates, keeping the saturation
-    matrix consistent.
-
-    \param sat
-    Bit matrix with rows corresponding to the rows of \p *this.
+    Throws a <CODE>std::invalid_argument</CODE> exception containing
+    the appropriate error message.
   */
-  void sort_and_remove_with_sat(Bit_Matrix& sat);
+  void
+  throw_dimension_incompatible(const char* method,
+			       const char* v_name,
+			       Variable v) const;
 
-  //! 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);
+  friend Congruence
+  operator/(const Congruence& cg, Coefficient_traits::const_reference k);
+  friend Congruence
+  operator/(const Constraint& c, Coefficient_traits::const_reference m);
 
-  /*! \brief
-    Back-substitutes the coefficients to reduce
-    the complexity of the system.
+  friend bool
+  operator==(const Congruence& x, const Congruence& y);
 
-    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);
+  friend bool
+  operator!=(const Congruence& x, const Congruence& y);
 
-  /*! \brief
-    Applies Gaussian elimination and back-substitution so as to
-    simplify the linear system.
-  */
-  void simplify();
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators
+  ::operator<<(std::ostream& s,
+	       const Congruence_System& cgs);
 
-  /*! \brief
-    Normalizes the system by dividing each row for the GCD of the
-    row's elements.
-  */
-  void normalize();
+  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;
 
-  //! Clears the system deallocating all its rows.
-  void clear();
+  friend void
+  std::swap(Parma_Polyhedra_Library::Congruence& x,
+	    Parma_Polyhedra_Library::Congruence& y);
+};
 
-  PPL_OUTPUT_DECLARATIONS
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence.inlines.hh line 1. */
+/* Congruence class implementation: inline functions.
+*/
 
-  /*! \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.
 
-    Reads into a Linear_System object the information produced by the
-    output of ascii_dump(std::ostream&) const.  The specialized methods
-    provided by Constraint_System and Generator_System take care of
-    properly reading the contents of the system.
-  */
-  bool ascii_load(std::istream& s);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence.inlines.hh line 28. */
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+#include <sstream>
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+namespace Parma_Polyhedra_Library {
 
-  //! Checks if all the invariants are satisfied.
-  /*!
-    \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.
+inline
+Congruence::Congruence(const Congruence& cg)
+  : Row(cg) {
+}
 
-    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.
-  */
-  bool OK(bool check_strong_normalized = true) const;
+inline
+Congruence::Congruence(const Congruence& cg,
+		       dimension_type sz, dimension_type capacity)
+  : Row(cg, sz, capacity) {
+}
 
-private:
-  //! The topological kind of the rows in the system.
-  Topology row_topology;
+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;
+}
 
-  //! The index of the first pending row.
-  dimension_type index_first_pending;
+inline
+Congruence::~Congruence() {
+}
 
-  /*! \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>.
-    If <CODE>false</CODE> may not be sorted.
-  */
-  bool sorted;
+inline
+Congruence::Congruence(Linear_Expression& le,
+		       Coefficient_traits::const_reference m) {
+  Row::swap(static_cast<Row&>(le));
+  assert(m >= 0);
+  (*this)[size()-1] = m;
+}
 
-  //! Ordering predicate (used when implementing the sort algorithm).
-  struct Row_Less_Than {
-    bool operator()(const Row& x, const Row& y) const;
-  };
-};
+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;
+}
 
-namespace std {
+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;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_System */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void swap(Parma_Polyhedra_Library::Linear_System& x,
-	  Parma_Polyhedra_Library::Linear_System& y);
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator%=(const Linear_Expression& e1, const Linear_Expression& e2) {
+  return Congruence::create(e1, e2);
+}
 
-} // namespace std
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
+  return Congruence::create(e, n);
+}
 
-namespace Parma_Polyhedra_Library {
+/*! \relates Parma_Polyhedra_Library::Congruence */
+inline Congruence
+operator/(const Congruence& cg, Coefficient_traits::const_reference k) {
+  Congruence ret(cg, k);
+  return ret;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! 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);
+inline const Congruence&
+Congruence::zero_dim_integrality() {
+  return *zero_dim_integrality_p;
+}
 
-#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);
+inline const Congruence&
+Congruence::zero_dim_false() {
+  return *zero_dim_false_p;
+}
+
+inline Congruence&
+Congruence::operator=(const Congruence& c) {
+  Row::operator=(c);
+  return *this;
+}
 
-} // namespace Parma_Polyhedra_Library
+/*! \relates Congruence */
+inline Congruence
+operator/(const Constraint& c, Coefficient_traits::const_reference m) {
+  Congruence ret(c);
+  return ret / m;
+}
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! An iterator keeping a Linear_System consistent with a Bit_Matrix.
-/*! \ingroup PPL_CXX_interface
-  An iterator on the vector of Row objects encoded in a Linear_System
-  extended to maintain a corresponding iterator on a vector of
-  Bit_Row objects.  Access to values is always done on the Row
-  objects, but iterator movements and swaps are done on both components.
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator {
-public:
-  typedef std::vector<Row>::iterator Iter1;
-  typedef std::vector<Bit_Row>::iterator Iter2;
+inline Congruence&
+Congruence::operator/=(Coefficient_traits::const_reference k) {
+  if (k >= 0)
+    (*this)[size()-1] *= k;
+  else
+    (*this)[size()-1] *= -k;
+  return *this;
+}
 
-private:
-  Iter1 i1;
-  Iter2 i2;
+/*! \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);
+}
 
-public:
-  // Same traits as Iter1.
-  typedef std::iterator_traits<Iter1>::iterator_category iterator_category;
-  typedef std::iterator_traits<Iter1>::value_type value_type;
-  typedef std::iterator_traits<Iter1>::difference_type difference_type;
-  typedef std::iterator_traits<Iter1>::pointer pointer;
-  typedef std::iterator_traits<Iter1>::reference reference;
+/*! \relates Congruence */
+inline bool
+operator!=(const Congruence& x, const Congruence& y) {
+  return !(x == y);
+}
 
-  //! Constructor.
-  With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2);
+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;
+}
 
-  //! Copy-constructor.
-  With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y);
+inline dimension_type
+Congruence::space_dimension() const {
+  return size() - 2;
+}
 
-  //! Destructor.
-  ~With_Bit_Matrix_iterator();
+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];
+}
 
-  //! Assignment operator.
-  With_Bit_Matrix_iterator&
-  operator=(const With_Bit_Matrix_iterator& y);
+inline Coefficient_traits::const_reference
+Congruence::inhomogeneous_term() const {
+  return (*this)[0];
+}
 
-  //! \name Operators Implementing Iterator Movement
-  //@{
-  With_Bit_Matrix_iterator& operator++();
-  With_Bit_Matrix_iterator operator++(int);
+inline Coefficient_traits::const_reference
+Congruence::modulus() const {
+  assert(size() > 1);
+  return (*this)[size()-1];
+}
 
-  With_Bit_Matrix_iterator& operator--();
-  With_Bit_Matrix_iterator operator--(int);
+inline bool
+Congruence::is_proper_congruence() const {
+  return modulus() > 0;
+}
 
-  With_Bit_Matrix_iterator& operator+=(difference_type d);
-  With_Bit_Matrix_iterator operator+(difference_type d) const;
+inline bool
+Congruence::is_equality() const {
+  return modulus() == 0;
+}
 
-  With_Bit_Matrix_iterator& operator-=(difference_type d);
-  With_Bit_Matrix_iterator operator-(difference_type d) const;
-  //@}
+inline bool
+Congruence::is_equal_at_dimension(dimension_type dim,
+				  const Congruence& cg) const {
+  return operator[](dim) * cg.modulus() == cg[dim] * modulus();
+}
 
-  //! Distance operator.
-  difference_type operator-(const With_Bit_Matrix_iterator& y) const;
+inline void
+Congruence::set_is_equality() {
+  (*this)[size()-1] = 0;
+}
 
-  //! \name Comparisons between Iterators
-  //@{
-  bool operator==(const With_Bit_Matrix_iterator& y) const;
-  bool operator!=(const With_Bit_Matrix_iterator& y) const;
-  bool operator<(const With_Bit_Matrix_iterator& y) const;
-  //@}
+inline void
+Congruence::negate(dimension_type start, dimension_type end) {
+  while (start <= end)
+    neg_assign(operator[](start++));
+}
 
-  //! Dereference operator.
-  reference operator*() const;
+inline memory_size_type
+Congruence::external_memory_in_bytes() const {
+  return Row::external_memory_in_bytes();
+}
 
-  //! Access-through operator.
-  pointer operator->() const;
+inline memory_size_type
+Congruence::total_memory_in_bytes() const {
+  return Row::total_memory_in_bytes();
+}
 
-  //! Swaps the pointed Row objects while keeping Bit_Matrix consistent.
-  void iter_swap(const With_Bit_Matrix_iterator& y) const;
+inline void
+Congruence::swap(Congruence& y) {
+  Row::swap(y);
+}
 
-};
+} // namespace Parma_Polyhedra_Library
 
 namespace std {
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Specializes <CODE>std::iter_swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-void
-iter_swap(Parma_Polyhedra_Library
-	  ::Linear_System::With_Bit_Matrix_iterator x,
-	  Parma_Polyhedra_Library
-	  ::Linear_System::With_Bit_Matrix_iterator y);
+/*! \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/Linear_System.inlines.hh line 1. */
-/* Linear_System class implementation: inline functions.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence.defs.hh line 478. */
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator.defs.hh line 1. */
+/* Grid_Generator class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 1. */
-/* Bit_Row class declaration.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator_System.defs.hh line 1. */
+/* Grid_Generator_System class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 28. */
-#include <iosfwd>
-#include <gmpxx.h>
-#include <vector>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variables_Set.types.hh line 1. */
+
 
 namespace Parma_Polyhedra_Library {
 
-// Put them in the namespace here to declare them friends later.
+class Variables_Set;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are equal.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator==(const Bit_Row& x, const Bit_Row& y);
+} // namespace Parma_Polyhedra_Library
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Returns <CODE>true</CODE> if and only if \p x and \p y are not equal.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool operator!=(const Bit_Row& x, const Bit_Row& y);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator_System.defs.hh line 30. */
+#include <iosfwd>
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! The basic comparison function.
-/*! \relates Bit_Row
-  Compares \p x with \p y starting from the least significant bits.
-  The ordering is total and has the following property: if \p x and \p y
-  are two rows seen as sets of naturals, if \p x is a strict subset
-  of \p y, then \p x comes before \p y.
+namespace Parma_Polyhedra_Library {
 
-  Returns
-  - -1 if \p x comes before \p y in the ordering;
-  -  0 if \p x and \p y are equal;
-  -  1 if \p x comes after \p y in the ordering.
+namespace IO_Operators {
+
+//! 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 ", ".
 */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-int compare(const Bit_Row& x, const Bit_Row& y);
+std::ostream& operator<<(std::ostream& s, const Grid_Generator_System& gs);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic inclusion test.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool subset_or_equal(const Bit_Row& x, const Bit_Row& y);
+} // namespace IO_Operators
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Set-theoretic inclusion test: sets \p strict_subset to a Boolean
-  indicating whether the inclusion is strict or not.
+//! 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);
 
-  \relates Bit_Row
-*/
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool subset_or_equal(const Bit_Row& x, const Bit_Row& y,
-		     bool& strict_subset);
+} // namespace Parma_Polyhedra_Library
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! Set-theoretic strict inclusion test.
-/*! \relates Bit_Row */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-bool strict_subset(const Bit_Row& x, const Bit_Row& y);
+namespace std {
 
-#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);
+//! 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);
 
-#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);
+} // namespace std
 
-#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
+//! 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.
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-//! A row in a matrix of bits.
-/*! \ingroup PPL_CXX_interface */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-class Parma_Polyhedra_Library::Bit_Row {
-public:
-  //! Default constructor.
-  Bit_Row();
+    \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
 
-  //! Copy-constructor.
-  Bit_Row(const Bit_Row& y);
+    \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
 
-  //! Destructor.
-  ~Bit_Row();
+    \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
 
-  //! Assignment operator.
-  Bit_Row& operator=(const Bit_Row& y);
+    \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
 
-  //! Swaps \p *this with \p y.
-  void swap(Bit_Row& y);
+    \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
 
-  //! Returns the truth value corresponding to the bit in position \p k.
-  bool operator[](unsigned long k) const;
+    \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
 
-  //! Sets the bit in position \p k.
-  void set(unsigned long k);
+    \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
+  : private Generator_System {
+public:
+  //! Default constructor: builds an empty system of generators.
+  Grid_Generator_System();
 
-  //! Sets bits up to position \p k (excluded).
-  void set_until(unsigned long k);
+  //! Builds the singleton system containing only generator \p g.
+  explicit Grid_Generator_System(const Grid_Generator& g);
 
-  //! Clears the bit in position \p k.
-  void clear(unsigned long k);
+  //! Builds an empty system of generators of dimension \p dim.
+  explicit Grid_Generator_System(dimension_type dim);
 
-  //! Clears bits from position \p k (included) onward.
-  void clear_from(unsigned long k);
+  //! Ordinary copy-constructor.
+  Grid_Generator_System(const Grid_Generator_System& gs);
 
-  //! Clears all the bits of the row.
-  void clear();
+  //! Destructor.
+  ~Grid_Generator_System();
 
-  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);
-  friend bool subset_or_equal(const Bit_Row& x, const Bit_Row& y);
-  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);
+  //! Assignment operator.
+  Grid_Generator_System& operator=(const Grid_Generator_System& y);
 
-  //! Returns the index of the first set bit or ULONG_MAX if no bit is set.
-  unsigned long first() const;
+  //! Returns the maximum space dimension a Grid_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
-    Returns the index of the first set bit after \p position
-    or ULONG_MAX if no bit after \p position is set.
+    Removes all the generators from the generator system and sets its
+    space dimension to 0.
   */
-  unsigned long next(unsigned long position) const;
+  void clear();
 
-  //! Returns the index of the last set bit or ULONG_MAX if no bit is set.
-  unsigned long last() const;
+  /*! \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.
+  */
+  void insert(const Grid_Generator& g);
 
   /*! \brief
-    Returns the index of the first set bit before \p position
-    or ULONG_MAX if no bits before \p position is set.
+    Inserts into \p *this the generator \p g, increasing the number of
+    space dimensions if needed.
   */
-  unsigned long prev(unsigned long position) const;
+  void recycling_insert(Grid_Generator& g);
 
-  //! Returns the number of set bits in the row.
-  unsigned long count_ones() const;
+  /*! \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);
 
-  //! Returns <CODE>true</CODE> if no bit is set in the row.
-  bool empty() const;
+  //! Initializes the class.
+  static void initialize();
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  //! Finalizes the class.
+  static void finalize();
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  /*! \brief
+    Returns the singleton system containing only
+    Grid_Generator::zero_dim_point().
+  */
+  static const Grid_Generator_System& zero_dim_univ();
 
-  //! Checks if all the invariants are satisfied
-  bool OK() const;
+  //! 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.
 
-private:
-  //! Bit-vector representing the row.
-  mpz_t vec;
+    \par Example
+    The following code prints the system of generators
+    of the grid <CODE>gr</CODE>:
+    \code
+  const Grid_Generator_System& gs = gr.generators();
+  for (Grid_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 = gr.generators();
+  copy(gs.begin(), gs.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&>,
+      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);
 
-  //! Assuming \p w is nonzero, returns the index of the first set bit in \p w.
-  static unsigned int first_one(mp_limb_t w);
+    //! Dereference operator.
+    const Grid_Generator& operator*() const;
 
-  //! Assuming \p w is nonzero, returns the index of the last set bit in \p w.
-  static unsigned int last_one(mp_limb_t w);
-};
+    //! Indirect member selector.
+    const Grid_Generator* operator->() const;
 
-namespace std {
+    //! Prefix increment operator.
+    const_iterator& operator++();
 
-#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);
+    //! Postfix increment operator.
+    const_iterator operator++(int);
 
-#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);
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      identical.
+    */
+    bool operator==(const const_iterator& y) const;
 
-} // namespace std
+    /*! \brief
+      Returns <CODE>true</CODE> if and only if \p *this and \p y are
+      different.
+    */
+    bool operator!=(const const_iterator& y) const;
 
-/* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 1. */
-/* Bit_Row class implementation: inline functions.
-*/
+  private:
+    friend class Grid_Generator_System;
 
+    //! Copy-constructor from Generator_System::const_iterator.
+    const_iterator(const Generator_System::const_iterator& y);
+  };
 
-/* Automatically generated from PPL source file ../src/Bit_Row.inlines.hh line 27. */
-#include <cassert>
-// For the declaration of ffs(3).
-#include <strings.h>
+  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
+  bool empty() const;
 
-namespace Parma_Polyhedra_Library {
+  /*! \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
-Bit_Row::Bit_Row() {
-  mpz_init(vec);
-}
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-inline
-Bit_Row::Bit_Row(const Bit_Row& y) {
-  mpz_init_set(vec, y.vec);
-}
+  //! Returns the number of rows (generators) in the system.
+  dimension_type num_rows() const;
 
-inline
-Bit_Row::~Bit_Row() {
-  mpz_clear(vec);
-}
+  //! Returns the number of parameters in the system.
+  dimension_type num_parameters() const;
 
-inline Bit_Row&
-Bit_Row::operator=(const Bit_Row& y) {
-  mpz_set(vec, y.vec);
-  return *this;
-}
+  //! Returns the number of lines in the system.
+  dimension_type num_lines() const;
 
-inline void
-Bit_Row::set(const unsigned long k) {
-  mpz_setbit(vec, k);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this contains one or
+    more points.
+  */
+  bool has_points() const;
 
-inline void
-Bit_Row::clear(const unsigned long k) {
-  mpz_clrbit(vec, k);
-}
+  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
+  bool is_equal_to(const Grid_Generator_System& y) const;
 
-inline void
-Bit_Row::clear_from(const unsigned long k) {
-  mpz_tdiv_r_2exp(vec, vec, k);
-}
+  //! 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;
 
-inline unsigned long
-Bit_Row::count_ones() const {
-  assert(vec->_mp_size >= 0);
-  return mpn_popcount(vec->_mp_d, vec->_mp_size);
-}
+  PPL_OUTPUT_DECLARATIONS
 
-inline bool
-Bit_Row::empty() const {
-  return mpz_sgn(vec) == 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.
 
-inline void
-Bit_Row::swap(Bit_Row& y) {
-  mpz_swap(vec, y.vec);
-}
+    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 void
-Bit_Row::clear() {
-  mpz_set_ui(vec, 0UL);
-}
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-inline memory_size_type
-Bit_Row::external_memory_in_bytes() const {
-  return vec[0]._mp_alloc * PPL_SIZEOF_MP_LIMB_T;
-}
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-inline memory_size_type
-Bit_Row::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  //! Swaps \p *this with \p y.
+  void swap(Grid_Generator_System& y);
 
-#if PPL_HAVE_DECL_FFS && PPL_SIZEOF_MP_LIMB_T == PPL_SIZEOF_INT
+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;
 
-inline unsigned int
-Bit_Row::first_one(mp_limb_t w) {
-  return ffs(w)-1;
-}
+  friend class Grid;
 
-#endif
+  friend bool
+  operator==(const Grid_Generator_System& x, const Grid_Generator_System& y);
 
-/*! \relates Bit_Row */
-inline void
-set_union(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  mpz_ior(z.vec, x.vec, y.vec);
-}
+  //! Sets the sortedness flag of the system to \p b.
+  void set_sorted(bool b);
 
-/*! \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);
-}
+  //! Sets the index to indicate that the system has no pending rows.
+  void unset_pending_rows();
 
-/*! \relates Bit_Row */
-inline void
-set_difference(const Bit_Row& x, const Bit_Row& y, Bit_Row& z) {
-  DIRTY_TEMP0(mpz_class, complement_y);
-  mpz_com(complement_y.get_mpz_t(), y.vec);
-  mpz_and(z.vec, x.vec, complement_y.get_mpz_t());
-}
+  //! Sets the index of the first pending row to \p i.
+  void set_index_first_pending_row(dimension_type i);
 
-} // namespace Parma_Polyhedra_Library
+  //! 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;
 
-namespace std {
+  //! Assigns to a given variable an affine expression.
+  /*!
+    \param v
+    Index of the column to which the affine transformation is assigned;
 
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-inline void
-swap(Parma_Polyhedra_Library::Bit_Row& x,
-     Parma_Polyhedra_Library::Bit_Row& y) {
-  x.swap(y);
-}
+    \param expr
+    The numerator of the affine transformation:
+    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
 
-/*! \relates Parma_Polyhedra_Library::Bit_Row */
-inline void
-iter_swap(std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator x,
-	  std::vector<Parma_Polyhedra_Library::Bit_Row>::iterator y) {
-  swap(*x, *y);
-}
+    \param denominator
+    The denominator of the affine transformation;
 
-} // namespace std
+    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.
 
-/* Automatically generated from PPL source file ../src/Bit_Row.defs.hh line 221. */
+    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]
 
-/* Automatically generated from PPL source file ../src/Linear_System.inlines.hh line 27. */
+    \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);
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Adds \p dims rows and \p dims columns of zeroes to the matrix,
+    initializing the added rows as in the universe system.
 
-inline memory_size_type
-Linear_System::external_memory_in_bytes() const {
-  return Matrix::external_memory_in_bytes();
-}
+    \param dims
+    The number of rows and columns to be added: must be strictly
+    positive.
 
-inline memory_size_type
-Linear_System::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+    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
-Linear_System::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
-  // is actually sorted when `sorted' value is 'true'.
-  assert(!sorted || check_sorted());
-  return sorted;
-}
+  //! Removes all the specified dimensions from the generator system.
+  /*!
+    The space dimension of the variable with the highest space
+    dimension in \p to_be_removed must be at most the space dimension
+    of \p this.
+  */
+  void remove_space_dimensions(const Variables_Set& to_be_removed);
 
-inline void
-Linear_System::set_sorted(const bool b) {
-  sorted = b;
-}
+  /*! \brief
+    Removes the higher dimensions of the system so that the resulting
+    system will have dimension \p new_dimension.
 
-inline
-Linear_System::Linear_System(Topology topol)
-  : Matrix(),
-    row_topology(topol),
-    index_first_pending(0),
-    sorted(true) {
-}
+    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);
 
-inline
-Linear_System::Linear_System(Topology topol,
-			     dimension_type n_rows, dimension_type n_columns)
-  : Matrix(n_rows, n_columns, Linear_Row::Flags(topol)),
-    row_topology(topol),
-    index_first_pending(n_rows),
-    sorted(true) {
-}
+  //! Resizes the system without worrying about the old contents.
+  /*!
+    \param new_num_rows
+    The number of rows of the resized system;
 
-inline dimension_type
-Linear_System::first_pending_row() const {
-  return index_first_pending;
-}
+    \param new_num_columns
+    The number of columns of the resized system.
 
-inline dimension_type
-Linear_System::num_pending_rows() const {
-  assert(num_rows() >= first_pending_row());
-  return num_rows() - first_pending_row();
-}
+    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);
 
-inline void
-Linear_System::unset_pending_rows() {
-  index_first_pending = num_rows();
-}
+  /*! \brief
+    Returns the number of columns of the matrix (i.e., the size of the
+    rows).
+  */
+  dimension_type num_columns() const;
 
-inline void
-Linear_System::set_index_first_pending_row(const dimension_type i) {
-  index_first_pending = i;
-}
+  /*! \brief
+    Erases from the matrix all the rows but those having an index less
+    than \p first_to_erase.
+  */
+  void erase_to_end(dimension_type first_to_erase);
 
-inline
-Linear_System::Linear_System(const Linear_System& y)
-  : Matrix(y),
-    row_topology(y.row_topology) {
-  unset_pending_rows();
-  // Previously pending rows may violate sortedness.
-  sorted = (y.num_pending_rows() > 0) ? false : y.sorted;
-  assert(num_pending_rows() == 0);
-}
+  //! 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.
 
-inline
-Linear_System::Linear_System(const Linear_System& y, With_Pending)
-  : Matrix(y),
-    row_topology(y.row_topology),
-    index_first_pending(y.index_first_pending),
-    sorted(y.sorted) {
-}
+    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.
+  */
+  void permute_columns(const std::vector<dimension_type>& cycles);
+};
 
-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;
-  assert(num_pending_rows() == 0);
-  return *this;
-}
+// Grid_Generator_System.inlines.hh is not included here on purpose.
 
-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;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator.defs.hh line 31. */
+#include <iosfwd>
 
-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);
-}
+namespace Parma_Polyhedra_Library {
 
-inline void
-Linear_System::clear() {
-  // Note: do NOT modify the value of `row_topology'.
-  Matrix::clear();
-  index_first_pending = 0;
-  sorted = true;
-}
+// Put these in the namespace here to declare them friend later.
 
-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);
-}
+namespace IO_Operators {
 
-inline void
-Linear_System::set_necessarily_closed() {
-  row_topology = NECESSARILY_CLOSED;
-  if (!has_no_rows())
-    set_rows_topology();
-}
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+std::ostream& operator<<(std::ostream& s, const Grid_Generator& g);
 
-inline void
-Linear_System::set_not_necessarily_closed() {
-  row_topology = NOT_NECESSARILY_CLOSED;
-  if (!has_no_rows())
-    set_rows_topology();
-}
+} // namespace IO_Operators
 
-inline bool
-Linear_System::is_necessarily_closed() const {
-  return row_topology == NECESSARILY_CLOSED;
-}
+} // namespace Parma_Polyhedra_Library
 
-inline Linear_Row&
-Linear_System::operator[](const dimension_type k) {
-  return static_cast<Linear_Row&>(Matrix::operator[](k));
-}
+namespace std {
 
-inline const Linear_Row&
-Linear_System::operator[](const dimension_type k) const {
-  return static_cast<const Linear_Row&>(Matrix::operator[](k));
-}
+//! 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);
 
-inline Topology
-Linear_System::topology() const {
-  return row_topology;
-}
+} // namespace std
 
-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;
-}
+//! A grid line, parameter or grid point.
+/*! \ingroup PPL_CXX_interface
+  An object of the class Grid_Generator is one of the following:
 
-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);
-}
+  - a grid_line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
 
-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();
-}
+  - a parameter
+    \f$\vect{q} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
 
-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();
-}
+  - a grid_point
+    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
 
-/*! \relates Linear_System */
-inline bool
-operator!=(const Linear_System& x, const Linear_System& y) {
-  return !(x == y);
-}
+  where \f$n\f$ is the dimension of the space
+  and, for grid_points and parameters, \f$d > 0\f$ is the divisor.
 
-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;
-}
+  \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.
 
-} // namespace Parma_Polyhedra_Library
+  \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
 
-namespace std {
+  \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
 
-/*! \relates Parma_Polyhedra_Library::Linear_System */
-inline void
-swap(Parma_Polyhedra_Library::Linear_System& x,
-     Parma_Polyhedra_Library::Linear_System& y) {
-  x.swap(y);
-}
+  \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
 
-} // namespace std
+  \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.
 
-namespace Parma_Polyhedra_Library {
+  \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.
 
-inline
-Linear_System::With_Bit_Matrix_iterator::
-With_Bit_Matrix_iterator(Iter1 iter1, Iter2 iter2)
-  : i1(iter1), i2(iter2) {
-}
+  \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.
 
-inline
-Linear_System::With_Bit_Matrix_iterator::
-With_Bit_Matrix_iterator(const With_Bit_Matrix_iterator& y)
-  : i1(y.i1), i2(y.i2) {
-}
+  \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.
+  /*!
+    \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);
 
-inline
-Linear_System::With_Bit_Matrix_iterator::
-~With_Bit_Matrix_iterator() {
-}
+  //! 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.
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::
-operator=(const With_Bit_Matrix_iterator& y) {
-  i1 = y.i1;
-  i2 = y.i2;
-  return *this;
-}
+    \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());
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::operator++() {
-  ++i1;
-  ++i2;
-  return *this;
-}
+  //! 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.
 
-inline Linear_System::With_Bit_Matrix_iterator
-Linear_System::With_Bit_Matrix_iterator::operator++(int) {
-  With_Bit_Matrix_iterator tmp = *this;
-  operator++();
-  return tmp;
-}
+    \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());
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::operator--() {
-  --i1;
-  --i2;
-  return *this;
-}
+  //! Ordinary copy-constructor.
+  Grid_Generator(const Grid_Generator& g);
 
-inline Linear_System::With_Bit_Matrix_iterator
-Linear_System::With_Bit_Matrix_iterator::operator--(int) {
-  With_Bit_Matrix_iterator tmp = *this;
-  operator--();
-  return tmp;
-}
+  //! Destructor.
+  ~Grid_Generator();
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::operator+=(difference_type d) {
-  i1 += d;
-  i2 += d;
-  return *this;
-}
+  //! Assignment operator.
+  Grid_Generator& operator=(const Grid_Generator& g);
 
-inline Linear_System::With_Bit_Matrix_iterator
-Linear_System::With_Bit_Matrix_iterator::
-operator+(difference_type d) const {
-  With_Bit_Matrix_iterator tmp = *this;
-  tmp += d;
-  return tmp;
-}
+  //! Assignment operator.
+  Grid_Generator& operator=(const Generator& g);
 
-inline Linear_System::With_Bit_Matrix_iterator&
-Linear_System::With_Bit_Matrix_iterator::operator-=(difference_type d) {
-  i1 -= d;
-  i2 -= d;
-  return *this;
-}
+  //! Returns the maximum space dimension a Grid_Generator can handle.
+  static dimension_type max_space_dimension();
 
-inline Linear_System::With_Bit_Matrix_iterator
-Linear_System::With_Bit_Matrix_iterator::
-operator-(difference_type d) const {
-  With_Bit_Matrix_iterator tmp = *this;
-  tmp -= d;
-  return tmp;
-}
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-inline Linear_System::With_Bit_Matrix_iterator::difference_type
-Linear_System::With_Bit_Matrix_iterator::
-operator-(const With_Bit_Matrix_iterator& y) const {
-  return i1 - y.i1;
-}
+  //! 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
+  };
 
-inline bool
-Linear_System::With_Bit_Matrix_iterator::
-operator==(const With_Bit_Matrix_iterator& y) const {
-  return i1 == y.i1;
-}
+  //! Returns the generator type of \p *this.
+  Type type() const;
 
-inline bool
-Linear_System::With_Bit_Matrix_iterator::
-operator!=(const With_Bit_Matrix_iterator& y) const {
-  return i1 != y.i1;
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
+  bool is_line() const;
 
-inline bool
-Linear_System::With_Bit_Matrix_iterator::
-operator<(const With_Bit_Matrix_iterator& y) const {
-  return i1 < y.i1;
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is a parameter.
+  bool is_parameter() const;
 
-inline Linear_System::With_Bit_Matrix_iterator::reference
-Linear_System::With_Bit_Matrix_iterator::operator*() const {
-  return *i1;
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is a line or
+    a parameter.
+  */
+  bool is_line_or_parameter() const;
 
-inline Linear_System::With_Bit_Matrix_iterator::pointer
-Linear_System::With_Bit_Matrix_iterator::operator->() const {
-  return &*i1;
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
+  bool is_point() const;
 
-inline void
-Linear_System::With_Bit_Matrix_iterator::
-iter_swap(const With_Bit_Matrix_iterator& y) const {
-  std::iter_swap(i1, y.i1);
-  std::iter_swap(i2, y.i2);
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this row represents a
+    parameter or a point.
+  */
+  bool is_parameter_or_point() const;
 
-} // namespace Parma_Polyhedra_Library
+  //! 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;
 
-namespace std {
+  //! Returns the divisor of \p *this.
+  /*!
+    \exception std::invalid_argument
+    Thrown if \p *this is a line.
+  */
+  Coefficient_traits::const_reference divisor() const;
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Parma_Polyhedra_Library::Linear_System::With_Bit_Matrix_iterator */
-#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-inline void
-iter_swap(Parma_Polyhedra_Library
-	  ::Linear_System::With_Bit_Matrix_iterator x,
-	  Parma_Polyhedra_Library
-	  ::Linear_System::With_Bit_Matrix_iterator y) {
-  x.iter_swap(y);
-}
+  //! Initializes the class.
+  static void initialize();
 
-} // namespace std
+  //! Finalizes the class.
+  static void finalize();
 
-/* Automatically generated from PPL source file ../src/Linear_System.defs.hh line 515. */
+  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
+  static const Grid_Generator& zero_dim_point();
 
-/* Automatically generated from PPL source file ../src/Constraint_System.defs.hh line 33. */
-#include <iterator>
-#include <iosfwd>
+  /*! \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;
 
-namespace Parma_Polyhedra_Library {
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-namespace IO_Operators {
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are
+    equivalent generators.
 
-//! 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);
+    Generators having different space dimensions are not equivalent.
+  */
+  bool is_equivalent_to(const Grid_Generator& y) const;
 
-} // namespace IO_Operators
+  //! Returns <CODE>true</CODE> if \p *this is exactly equal to \p y.
+  bool is_equal_to(const Grid_Generator& y) const;
 
-// Put it in the namespace here to declare it friend later.
-/*! \relates Polyhedron */
-bool operator==(const Polyhedron& x, const Polyhedron& y);
+  /*! \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;
 
-} // namespace Parma_Polyhedra_Library
+  /*! \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
 
-namespace std {
+  /*! \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);
 
-//! 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);
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-} // namespace std
+  //! Swaps \p *this with \p y.
+  void swap(Grid_Generator& y);
 
-//! 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.
+  /*! \brief
+    Swaps \p *this with \p y, leaving \p *this with the original
+    capacity.
 
-    \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
+    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);
 
-    \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.
+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;
 
-    \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
+  /*! \brief
+    Scales \p *this to be represented with a divisor of \p d (if
+    \*this is a parameter or point).
 
-    \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
+    It is assumed that \p d is a multiple of the current divisor.
 
-    \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();
+    \exception std::invalid_argument
+    Thrown if \p d is zero.
+  */
+  void scale_to_divisor(Coefficient_traits::const_reference d);
 
-  //! Builds the singleton system containing only constraint \p c.
-  explicit Constraint_System(const Constraint& c);
+  /*! \brief
+    Constructs from polyhedron generator \p g, stealing the underlying
+    data structures from \p g.
 
-  //! Builds a system containing copies of any equalities in \p cgs.
-  explicit Constraint_System(const Congruence_System& cgs);
+    The last column in \p g becomes the parameter divisor column of
+    the new Grid_Generator.
+  */
+  explicit Grid_Generator(Generator g);
 
-  //! Ordinary copy-constructor.
-  Constraint_System(const Constraint_System& cs);
+  //! Returns the actual size of \p this.
+  dimension_type size() const;
+
+  //! Negates the elements from index \p start to index \p end.
+  void negate(dimension_type start, dimension_type end);
 
-  //! Destructor.
-  ~Constraint_System();
+  //! 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);
 
-  //! Assignment operator.
-  Constraint_System& operator=(const Constraint_System& y);
+  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
+  void set_is_line();
 
-  //! Returns the maximum space dimension a Constraint_System can handle.
-  static dimension_type max_space_dimension();
+  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
+  void set_is_parameter_or_point();
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  //! Converts the Grid_Generator into a parameter.
+  void set_is_parameter();
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more strict inequality constraints.
-  */
-  bool has_strict_inequalities() const;
+    Strong normalization: ensures that different Grid_Generator
+    objects represent different hyperplanes or hyperspaces.
 
-  /*! \brief
-    Removes all the constraints from the constraint system
-    and sets its space dimension to 0.
-  */
-  void clear();
+    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
 
-  /*! \brief
-    Inserts in \p *this a copy of the constraint \p c,
-    increasing the number of space dimensions if needed.
+    This is simply a wrapper around the Generator::strong_normalize,
+    which means applying it to a parameter may change the parameter.
   */
-  void insert(const Constraint& c);
+  void strong_normalize();
 
-  //! Initializes the class.
-  static void initialize();
+  //! Returns a reference to the element of the row indexed by \p k.
+  Coefficient& operator[](dimension_type k);
 
-  //! Finalizes the class.
-  static void finalize();
+  //! Returns a constant reference to the element of the row indexed by \p k.
+  Coefficient_traits::const_reference operator[](dimension_type k) const;
 
   /*! \brief
-    Returns the singleton system containing only Constraint::zero_dim_false().
+    Throw a <CODE>std::invalid_argument</CODE> exception containing
+    the appropriate error message.
   */
-  static const Constraint_System& zero_dim_empty();
+  void
+  throw_invalid_argument(const char* method, const char* reason) const;
 
-  //! 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.
+  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;
+};
 
-    \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);
+namespace Parma_Polyhedra_Library {
 
-    //! Destructor.
-    ~const_iterator();
+/*! \brief
+  Shorthand for Grid_Generator
+  Grid_Generator::grid_line(const Linear_Expression& e).
+*/
+/*! \relates Grid_Generator */
+Grid_Generator grid_line(const Linear_Expression& e);
 
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
+/*! \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());
 
-    //! Dereference operator.
-    const Constraint& operator*() const;
+/*! \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());
 
-    //! Indirect member selector.
-    const Constraint* operator->() const;
+//! 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);
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+//! 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);
 
-    //! 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;
+namespace IO_Operators {
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Grid_Generator */
+std::ostream& operator<<(std::ostream& s, const Grid_Generator::Type& t);
 
-  private:
-    friend class Constraint_System;
+} // namespace IO_Operators
 
-    //! The const iterator over the matrix of constraints.
-    Linear_System::const_iterator i;
+} // namespace Parma_Polyhedra_Library
 
-    //! A const pointer to the matrix of constraints.
-    const Linear_System* csp;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator.inlines.hh line 1. */
+/* Grid Generator class implementation: inline functions.
+*/
 
-    //! 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();
-  };
+namespace Parma_Polyhedra_Library {
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no constraints.
-  bool empty() const;
+inline
+Grid_Generator::Grid_Generator(const Grid_Generator& g)
+  : Generator(g) {
+}
 
-  /*! \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;
+inline
+Grid_Generator::~Grid_Generator() {
+}
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+inline
+Grid_Generator::Grid_Generator(Generator g)
+  : Generator(Generator::point()) {
+  Generator::swap(g);
+}
 
-  //! 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;
+inline dimension_type
+Grid_Generator::size() const {
+  return Generator::size();
+}
 
-  PPL_OUTPUT_DECLARATIONS
+inline dimension_type
+Grid_Generator::max_space_dimension() {
+  return Generator::max_space_dimension() - 1;
+}
 
-  /*! \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 Coefficient&
+Grid_Generator::operator[](dimension_type k) {
+  return Generator::operator[](k);
+}
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+inline Coefficient_traits::const_reference
+Grid_Generator::operator[](dimension_type k) const {
+  return Generator::operator[](k);
+}
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+inline dimension_type
+Grid_Generator::space_dimension() const {
+  return Generator::space_dimension() - 1;
+}
 
-  //! Swaps \p *this with \p y.
-  void swap(Constraint_System& y);
+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:
+    assert(false);
+    return POINT;
+  }
+}
 
-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;
+inline bool
+Grid_Generator::is_line() const {
+  return Generator::is_line();
+}
 
-  friend class const_iterator;
-  friend class Parma_Polyhedra_Library::Polyhedron;
+inline bool
+Grid_Generator::is_parameter() const {
+  return is_ray();
+}
 
-  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
+inline bool
+Grid_Generator::is_line_or_parameter() const {
+  return is_line_or_ray();
+}
 
-  //! Builds an empty system of constraints having the specified topology.
-  explicit Constraint_System(Topology topol);
+inline bool
+Grid_Generator::is_point() const {
+  return Generator::is_point();
+}
 
-  /*! \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);
+inline bool
+Grid_Generator::is_parameter_or_point() const {
+  return is_ray_or_point_or_inequality();
+}
 
-  /*! \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);
+inline void
+Grid_Generator::set_divisor(Coefficient_traits::const_reference d) {
+  assert(!is_line());
+  if (is_line_or_parameter())
+    Generator::operator[](size() - 1) = d;
+  else
+    Generator::operator[](0) = d;
+}
 
-  //! Returns the \p k- th constraint of the system.
-  Constraint& operator[](dimension_type k);
+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);
+}
 
-  //! Returns a constant reference to the \p k- th constraint of the system.
-  const Constraint& operator[](dimension_type k) const;
+inline bool
+Grid_Generator::is_equal_at_dimension(dimension_type dim,
+				      const Grid_Generator& gg) const {
+  return operator[](dim) * gg.divisor() == gg[dim] * divisor();
+}
 
-  //! Returns <CODE>true</CODE> if \p g satisfies all the constraints.
-  bool satisfies_all_constraints(const Generator& g) const;
+inline void
+Grid_Generator::set_is_line() {
+  Generator::set_is_line();
+}
 
-  //! Substitutes a given column of coefficients by a given affine expression.
-  /*!
-    \param v
-    Index of the column to which the affine transformation is substituted.
+inline void
+Grid_Generator::set_is_parameter_or_point() {
+  Generator::set_is_ray_or_point();
+}
 
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+inline Grid_Generator&
+Grid_Generator::operator=(const Grid_Generator& g) {
+  Generator::operator=(g);
+  return *this;
+}
 
-    \param denominator
-    The denominator of the affine transformation.
+inline Grid_Generator&
+Grid_Generator::operator=(const Generator& g) {
+  Generator::operator=(g);
+  return *this;
+}
 
-    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.
+inline void
+Grid_Generator::negate(dimension_type start, dimension_type end) {
+  while (start <= end)
+    neg_assign(operator[](start++));
+}
 
-    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]
+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);
+}
 
-    \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);
+inline memory_size_type
+Grid_Generator::total_memory_in_bytes() const {
+  return Generator::total_memory_in_bytes();
+}
 
-  //! Returns the number of equality constraints.
-  dimension_type num_equalities() const;
+inline memory_size_type
+Grid_Generator::external_memory_in_bytes() const {
+  return Generator::external_memory_in_bytes();
+}
 
-  //! Returns the number of inequality constraints.
-  dimension_type num_inequalities() const;
+inline const Grid_Generator&
+Grid_Generator::zero_dim_point() {
+  assert(zero_dim_point_p != 0);
+  return *zero_dim_point_p;
+}
 
-  /*! \brief
-    Applies Gaussian elimination and back-substitution so as
-    to provide a partial simplification of the system of constraints.
+inline void
+Grid_Generator::strong_normalize() {
+  Generator::strong_normalize();
+}
 
-    It is assumed that the system has no pending constraints.
-  */
-  void simplify();
+inline void
+Grid_Generator::swap(Grid_Generator& y) {
+  Generator::swap(y);
+}
 
-  /*! \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);
+/*! \relates Grid_Generator */
+inline bool
+operator==(const Grid_Generator& x, const Grid_Generator& y) {
+  return x.is_equivalent_to(y);
+}
 
-  //! Adds low-level constraints to the constraint system.
-  void add_low_level_constraints();
-};
+/*! \relates Grid_Generator */
+inline bool
+operator!=(const Grid_Generator& x, const Grid_Generator& y) {
+  return !(x == y);
+}
 
-// Constraint_System.inlines.hh is not included here on purpose.
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_line(const Linear_Expression& e) {
+  return Grid_Generator::grid_line(e);
+}
 
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 34. */
-#include <iosfwd>
+/*! \relates Grid_Generator */
+inline Grid_Generator
+parameter(const Linear_Expression& e,
+	  Coefficient_traits::const_reference d) {
+  return Grid_Generator::parameter(e, d);
+}
 
-namespace Parma_Polyhedra_Library {
+/*! \relates Grid_Generator */
+inline Grid_Generator
+grid_point(const Linear_Expression& e,
+	   Coefficient_traits::const_reference d) {
+  return Grid_Generator::grid_point(e, d);
+}
 
-// Put them in the namespace here to declare them friend later.
+} // namespace Parma_Polyhedra_Library
 
-//! 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);
+namespace std {
 
-//! 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 Parma_Polyhedra_Library::Grid_Generator */
+inline void
+swap(Parma_Polyhedra_Library::Grid_Generator& x,
+     Parma_Polyhedra_Library::Grid_Generator& y) {
+  x.swap(y);
+}
 
-//! Returns the constraint \p e1 = \p e2.
-/*! \relates Constraint */
-Constraint
-operator==(const Linear_Expression& e1, const Linear_Expression& e2);
+} // namespace std
 
-//! Returns the constraint \p v1 = \p v2.
-/*! \relates Constraint */
-Constraint
-operator==(Variable v1, Variable v2);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator.defs.hh line 534. */
 
-//! Returns the constraint \p e = \p n.
-/*! \relates Constraint */
-Constraint
-operator==(const Linear_Expression& e, Coefficient_traits::const_reference n);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Scalar_Products.inlines.hh line 32. */
 
-//! Returns the constraint \p n = \p e.
-/*! \relates Constraint */
-Constraint
-operator==(Coefficient_traits::const_reference n, const Linear_Expression& e);
+namespace Parma_Polyhedra_Library {
 
-//! Returns the constraint \p e1 \<= \p e2.
-/*! \relates Constraint */
-Constraint
-operator<=(const Linear_Expression& e1, const Linear_Expression& e2);
+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);
+}
 
-//! Returns the constraint \p v1 \<= \p v2.
-/*! \relates Constraint */
-Constraint
-operator<=(Variable v1, Variable v2);
+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);
+}
+
+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);
+}
 
-//! Returns the constraint \p e \<= \p n.
-/*! \relates Constraint */
-Constraint
-operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+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));
+}
 
-//! Returns the constraint \p n \<= \p e.
-/*! \relates Constraint */
-Constraint
-operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+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));
+}
 
-//! Returns the constraint \p e1 \>= \p e2.
-/*! \relates Constraint */
-Constraint
-operator>=(const Linear_Expression& e1, const Linear_Expression& e2);
+inline int
+Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) {
+  PPL_DIRTY_TEMP_COEFFICIENT(z);
+  assign(z, c, g);
+  return sgn(z);
+}
 
-//! Returns the constraint \p v1 \>= \p v2.
-/*! \relates Constraint */
-Constraint
-operator>=(Variable v1, Variable v2);
+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));
+}
 
-//! Returns the constraint \p e \>= \p n.
-/*! \relates Constraint */
-Constraint
-operator>=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+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));
+}
 
-//! Returns the constraint \p n \>= \p e.
-/*! \relates Constraint */
-Constraint
-operator>=(Coefficient_traits::const_reference n, const Linear_Expression& e);
+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));
+}
 
-//! Returns the constraint \p e1 \< \p e2.
-/*! \relates Constraint */
-Constraint
-operator<(const Linear_Expression& e1, const Linear_Expression& e2);
+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));
+}
 
-//! Returns the constraint \p v1 \< \p v2.
-/*! \relates Constraint */
-Constraint
-operator<(Variable v1, Variable v2);
+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));
+}
 
-//! Returns the constraint \p e \< \p n.
-/*! \relates Constraint */
-Constraint
-operator<(const Linear_Expression& e, Coefficient_traits::const_reference n);
+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));
+}
 
-//! Returns the constraint \p n \< \p e.
-/*! \relates Constraint */
-Constraint
-operator<(Coefficient_traits::const_reference n, const Linear_Expression& e);
+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);
+}
 
-//! Returns the constraint \p e1 \> \p e2.
-/*! \relates Constraint */
-Constraint
-operator>(const Linear_Expression& e1, const Linear_Expression& e2);
+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)) {
+}
 
-//! Returns the constraint \p v1 \> \p v2.
-/*! \relates Constraint */
-Constraint
-operator>(Variable v1, Variable v2);
+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)) {
+}
 
-//! Returns the constraint \p e \> \p n.
-/*! \relates Constraint */
-Constraint
-operator>(const Linear_Expression& e, Coefficient_traits::const_reference n);
+inline int
+Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
+						  const Generator& g) const {
+  assert(c.space_dimension() <= g.space_dimension());
+  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));
+}
 
-//! Returns the constraint \p n \> \p e.
-/*! \relates Constraint */
-Constraint
-operator>(Coefficient_traits::const_reference n, const Linear_Expression& e);
+inline int
+Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g,
+						  const Constraint& c) const {
+  assert(g.space_dimension() <= c.space_dimension());
+  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
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Scalar_Products.defs.hh line 196. */
 
-namespace std {
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BHRZ03_Certificate.defs.hh line 1. */
+/* BHRZ03_Certificate class declaration.
+*/
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-void swap(Parma_Polyhedra_Library::Constraint& x,
-	  Parma_Polyhedra_Library::Constraint& y);
 
-} // namespace std
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BHRZ03_Certificate.types.hh line 1. */
 
-//! 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.
+namespace Parma_Polyhedra_Library {
 
-  \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.
+class BHRZ03_Certificate;
 
-  \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
+} // namespace Parma_Polyhedra_Library
 
-  \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
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BHRZ03_Certificate.defs.hh line 29. */
+#include <cassert>
+#include <vector>
 
-  \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.
+//! 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.
 
-  \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.
+  \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::Constraint : private Linear_Row {
+class Parma_Polyhedra_Library::BHRZ03_Certificate {
 public:
-  //! Ordinary copy-constructor.
-  Constraint(const Constraint& c);
-
-  //! Copy-constructs from equality congruence \p cg.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p cg is a proper congruence.
-  */
-  explicit Constraint(const Congruence& cg);
+  //! Default constructor.
+  BHRZ03_Certificate();
 
-  //! Destructor.
-  ~Constraint();
+  //! Constructor: computes the certificate for \p ph.
+  BHRZ03_Certificate(const Polyhedron& ph);
 
-  //! Assignment operator.
-  Constraint& operator=(const Constraint& c);
+  //! Copy constructor.
+  BHRZ03_Certificate(const BHRZ03_Certificate& y);
 
-  //! Returns the maximum space dimension a Constraint can handle.
-  static dimension_type max_space_dimension();
+  //! Destructor.
+  ~BHRZ03_Certificate();
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  //! 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.
 
-  //! 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
-  };
+    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;
 
-  //! Returns the constraint type of \p *this.
-  Type type() 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
-    \p *this is an equality constraint.
+    Returns <CODE>true</CODE> if and only if the certificate for
+    polyhedron \p ph is strictly smaller than \p *this.
   */
-  bool is_equality() const;
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool is_stabilizing(const Polyhedron& ph) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is an inequality constraint (either strict or non-strict).
+  //! 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.
   */
-  bool is_inequality() const;
+  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;
+  };
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a non-strict inequality constraint.
-  */
-  bool is_nonstrict_inequality() const;
+#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
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a strict inequality constraint.
+    Number of non-redundant points in a generator system
+    for the polyhedron.
   */
-  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.
+  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.
   */
-  Coefficient_traits::const_reference coefficient(Variable v) const;
-
-  //! Returns the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+  std::vector<dimension_type> num_rays_null_coord;
+};
 
-  //! Initializes the class.
-  static void initialize();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BHRZ03_Certificate.inlines.hh line 1. */
+/* BHRZ03_Certificate class implementation: inline functions.
+*/
 
-  //! Finalizes the class.
-  static void finalize();
 
-  //! The unsatisfiable (zero-dimension space) constraint \f$0 = 1\f$.
-  static const Constraint& zero_dim_false();
+namespace Parma_Polyhedra_Library {
 
-  /*! \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();
+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.
+  assert(OK());
+}
 
-  /*! \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
+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) {
+}
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+inline
+BHRZ03_Certificate::~BHRZ03_Certificate() {
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is a tautology (i.e., an always true constraint).
+inline bool
+BHRZ03_Certificate::is_stabilizing(const Polyhedron& ph) const {
+  return compare(ph) == 1;
+}
 
-    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;
+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;
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is inconsistent (i.e., an always false constraint).
+} // namespace Parma_Polyhedra_Library
 
-    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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BHRZ03_Certificate.defs.hh line 116. */
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent constraints.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/H79_Certificate.defs.hh line 1. */
+/* H79_Certificate class declaration.
+*/
 
-    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;
 
-  PPL_OUTPUT_DECLARATIONS
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/H79_Certificate.types.hh line 1. */
 
-  /*! \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;
+namespace Parma_Polyhedra_Library {
 
-  //! Swaps \p *this with \p y.
-  void swap(Constraint& y);
+class H79_Certificate;
 
-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;
+} // namespace Parma_Polyhedra_Library
 
-  /*! \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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/H79_Certificate.defs.hh line 29. */
+#include <cassert>
+#include <vector>
 
-  /*! \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;
+//! 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();
 
-  /*! \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;
+  //! Constructor: computes the certificate for \p ph.
+  template <typename PH>
+  H79_Certificate(const PH& ph);
 
-  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;
+  //! Constructor: computes the certificate for \p ph.
+  H79_Certificate(const Polyhedron& ph);
 
-  friend
-  Parma_Polyhedra_Library
-  ::Linear_Expression::Linear_Expression(const Constraint& c);
+  //! Copy constructor.
+  H79_Certificate(const H79_Certificate& y);
 
-  //! Default constructor: private and not implemented.
-  Constraint();
+  //! Destructor.
+  ~H79_Certificate();
 
-  /*! \brief
-    Builds a constraint of type \p type and topology \p topology,
-    stealing the coefficients from \p e.
+  //! 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
+    H79 widening.
   */
-  Constraint(Linear_Expression& e, Type type, Topology topology);
+  int compare(const H79_Certificate& y) const;
 
-  //! Constructs from a congruence, with specified size and capacity.
-  Constraint(const Congruence& cg, dimension_type sz, dimension_type capacity);
+  //! Compares \p *this with the certificate for polyhedron \p ph.
+  template <typename PH>
+  int compare(const PH& ph) 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;
+  //! Compares \p *this with the certificate for polyhedron \p ph.
+  int compare(const Polyhedron& ph) const;
 
-  /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
+  //! 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.
   */
-  void
-  throw_dimension_incompatible(const char* method,
-			       const char* name_var,
-			       Variable v) const;
+  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;
+  };
 
-  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);
+private:
+  //! Affine dimension of the polyhedron.
+  dimension_type affine_dim;
+  //! Cardinality of a non-redundant constraint system for the polyhedron.
+  dimension_type num_constraints;
+};
 
-  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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/H79_Certificate.inlines.hh line 1. */
+/* H79_Certificate class implementation: inline functions.
+*/
 
-  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);
 
-  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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Polyhedron.defs.hh line 1. */
+/* Polyhedron class declaration.
+*/
 
-  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);
 
-  //! Copy-constructor with given size.
-  Constraint(const Constraint& c, dimension_type sz);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint_System.inlines.hh line 1. */
+/* Constraint_System class implementation: inline functions.
+*/
 
-  /*! \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();
 
-  //! Returns the zero-dimension space constraint \f$\epsilon \geq 0\f$.
-  static const Constraint& epsilon_geq_zero();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Constraint_System.inlines.hh line 27. */
 
-  /*! \brief
-    The zero-dimension space constraint \f$\epsilon \leq 1\f$
-    (used to implement NNC polyhedra).
-  */
-  static const Constraint& epsilon_leq_one();
+namespace Parma_Polyhedra_Library {
 
-  //! Sets the constraint type to <CODE>EQUALITY</CODE>.
-  void set_is_equality();
+inline
+Constraint_System::Constraint_System()
+  : Linear_System(NECESSARILY_CLOSED) {
+}
 
-  //! 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();
-};
+inline
+Constraint_System::Constraint_System(const Constraint& c)
+  : Linear_System(c.topology()) {
+  Linear_System::insert(c);
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Constraint_System::Constraint_System(const Constraint_System& cs)
+  : Linear_System(cs) {
+}
 
-namespace IO_Operators {
+inline
+Constraint_System::Constraint_System(const Topology topol)
+  : Linear_System(topol) {
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-std::ostream& operator<<(std::ostream& s, const Constraint& c);
+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) {
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Constraint */
-std::ostream& operator<<(std::ostream& s, const Constraint::Type& t);
+inline
+Constraint_System::~Constraint_System() {
+}
 
-} // namespace IO_Operators
+inline Constraint_System&
+Constraint_System::operator=(const Constraint_System& y) {
+  Linear_System::operator=(y);
+  return *this;
+}
 
-} // namespace Parma_Polyhedra_Library
+inline Constraint&
+Constraint_System::operator[](const dimension_type k) {
+  return static_cast<Constraint&>(Linear_System::operator[](k));
+}
 
-/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 1. */
-/* Constraint class implementation: inline functions.
-*/
+inline const Constraint&
+Constraint_System::operator[](const dimension_type k) const {
+  return static_cast<const Constraint&>(Linear_System::operator[](k));
+}
 
+inline dimension_type
+Constraint_System::max_space_dimension() {
+  return Linear_System::max_space_dimension();
+}
 
-/* Automatically generated from PPL source file ../src/Constraint.inlines.hh line 27. */
+inline dimension_type
+Constraint_System::space_dimension() const {
+  return Linear_System::space_dimension();
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Constraint_System::clear() {
+  Linear_System::clear();
+}
 
-inline
-Constraint::Constraint(Linear_Expression& e, Type type, Topology topology) {
-  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));
+inline const Constraint_System&
+Constraint_System::zero_dim_empty() {
+  assert(zero_dim_empty_p != 0);
+  return *zero_dim_empty_p;
 }
 
 inline
-Constraint::Constraint(const Constraint& c)
-  : Linear_Row(c) {
+Constraint_System::const_iterator::const_iterator()
+  : i(), csp(0) {
 }
 
 inline
-Constraint::Constraint(const Constraint& c, const dimension_type sz)
-  : Linear_Row(c, sz, sz) {
+Constraint_System::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i), csp(y.csp) {
 }
 
 inline
-Constraint::~Constraint() {
+Constraint_System::const_iterator::~const_iterator() {
 }
 
-inline Constraint&
-Constraint::operator=(const Constraint& c) {
-  Linear_Row::operator=(c);
+inline Constraint_System::const_iterator&
+Constraint_System::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  csp = y.csp;
   return *this;
 }
 
-inline dimension_type
-Constraint::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
+inline const Constraint&
+Constraint_System::const_iterator::operator*() const {
+  return static_cast<const Constraint&>(*i);
 }
 
-inline dimension_type
-Constraint::space_dimension() const {
-  return Linear_Row::space_dimension();
+inline const Constraint*
+Constraint_System::const_iterator::operator->() const {
+  return static_cast<const Constraint*>(i.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;
+  operator++();
+  return tmp;
 }
 
 inline bool
-Constraint::is_equality() const {
-  return is_line_or_equality();
+Constraint_System::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
 }
 
 inline bool
-Constraint::is_inequality() const {
-  return is_ray_or_point_or_inequality();
+Constraint_System::const_iterator::operator!=(const const_iterator& y) const {
+  return i != y.i;
 }
 
-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;
+inline
+Constraint_System::const_iterator::
+const_iterator(const Linear_System::const_iterator& iter,
+	       const Constraint_System& csys)
+  : i(iter), csp(&csys) {
 }
 
-inline bool
-Constraint::is_nonstrict_inequality() const {
-  return type() == NONSTRICT_INEQUALITY;
+inline Constraint_System::const_iterator
+Constraint_System::begin() const {
+  const_iterator i(Linear_System::begin(), *this);
+  i.skip_forward();
+  return i;
 }
 
-inline bool
-Constraint::is_strict_inequality() const {
-  return type() == STRICT_INEQUALITY;
+inline Constraint_System::const_iterator
+Constraint_System::end() const {
+  const const_iterator i(Linear_System::end(), *this);
+  return i;
 }
 
-inline void
-Constraint::set_is_equality() {
-  set_is_line_or_equality();
+inline bool
+Constraint_System::empty() const {
+  return begin() == end();
 }
 
 inline void
-Constraint::set_is_inequality() {
-  set_is_ray_or_point_or_inequality();
+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());
+  }
 }
 
-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());
+inline void
+Constraint_System::swap(Constraint_System& y) {
+  Linear_System::swap(y);
 }
 
-inline Coefficient_traits::const_reference
-Constraint::inhomogeneous_term() const {
-  return Linear_Row::inhomogeneous_term();
+inline memory_size_type
+Constraint_System::external_memory_in_bytes() const {
+  return Linear_System::external_memory_in_bytes();
 }
 
 inline memory_size_type
-Constraint::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
+Constraint_System::total_memory_in_bytes() const {
+  return Linear_System::total_memory_in_bytes();
 }
 
-inline memory_size_type
-Constraint::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
+inline void
+Constraint_System::simplify() {
+  Linear_System::simplify();
 }
 
-/*! \relates Constraint */
-inline bool
-operator==(const Constraint& x, const Constraint& y) {
-  return x.is_equivalent_to(y);
+} // namespace Parma_Polyhedra_Library
+
+
+namespace std {
+
+/*! \relates Parma_Polyhedra_Library::Constraint_System */
+inline void
+swap(Parma_Polyhedra_Library::Constraint_System& x,
+     Parma_Polyhedra_Library::Constraint_System& y) {
+  x.swap(y);
 }
 
-/*! \relates Constraint */
-inline bool
-operator!=(const Constraint& x, const Constraint& y) {
-  return !x.is_equivalent_to(y);
+} // namespace std
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator_System.inlines.hh line 1. */
+/* Generator_System class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Generator_System.inlines.hh line 27. */
+
+namespace Parma_Polyhedra_Library {
+
+inline
+Generator_System::Generator_System()
+  : Linear_System(NECESSARILY_CLOSED) {
 }
 
-/*! \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;
+inline
+Generator_System::Generator_System(const Generator& g)
+  : Linear_System(g.topology()) {
+  Linear_System::insert(g);
 }
 
-/*! \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);
+inline
+Generator_System::Generator_System(const Generator_System& gs)
+  : Linear_System(gs) {
 }
 
-/*! \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;
+inline
+Generator_System::Generator_System(const Topology topol)
+  : Linear_System(topol) {
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator>=(const Variable v1, const Variable v2) {
-  Linear_Expression diff = v1-v2;
-  return Constraint(diff, Constraint::NONSTRICT_INEQUALITY, NECESSARILY_CLOSED);
+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) {
 }
 
-/*! \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;
+inline
+Generator_System::~Generator_System() {
+}
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  return c;
+inline Generator_System&
+Generator_System::operator=(const Generator_System& y) {
+  Linear_System::operator=(y);
+  return *this;
 }
 
-/*! \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);
+inline dimension_type
+Generator_System::max_space_dimension() {
+  return Linear_System::max_space_dimension();
 }
 
-/*! \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;
+inline dimension_type
+Generator_System::space_dimension() const {
+  return Linear_System::space_dimension();
 }
 
-/*! \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;
+inline void
+Generator_System::clear() {
+  Linear_System::clear();
 }
 
-/*! \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;
+inline Generator&
+Generator_System::operator[](const dimension_type k) {
+  return static_cast<Generator&>(Linear_System::operator[](k));
+}
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  return c;
+inline const Generator&
+Generator_System::operator[](const dimension_type k) const {
+  return static_cast<const Generator&>(Linear_System::operator[](k));
 }
 
-/*! \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;
+inline
+Generator_System::const_iterator::const_iterator()
+  : i(), gsp(0) {
 }
 
-/*! \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;
+inline
+Generator_System::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i), gsp(y.gsp) {
 }
 
-/*! \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;
+inline
+Generator_System::const_iterator::~const_iterator() {
+}
 
-  Constraint c(diff, Constraint::STRICT_INEQUALITY, NOT_NECESSARILY_CLOSED);
-  c.set_not_necessarily_closed();
-  c.set_is_inequality();
-  return c;
+inline
+Generator_System::const_iterator&
+Generator_System::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  gsp = y.gsp;
+  return *this;
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return e2 >= e1;
+inline const Generator&
+Generator_System::const_iterator::operator*() const {
+  return static_cast<const Generator&>(*i);
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Variable v1, const Variable v2) {
-  return v2 >= v1;
+inline const Generator*
+Generator_System::const_iterator::operator->() const {
+  return static_cast<const Generator*>(i.operator->());
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  return e >= n;
+inline Generator_System::const_iterator&
+Generator_System::const_iterator::operator++() {
+  ++i;
+  if (!gsp->is_necessarily_closed())
+    skip_forward();
+  return *this;
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n >= e;
+inline Generator_System::const_iterator
+Generator_System::const_iterator::operator++(int) {
+  const const_iterator tmp = *this;
+  operator++();
+  return tmp;
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return e2 > e1;
+inline bool
+Generator_System::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Variable v1, const Variable v2) {
-  return v2 > v1;
+inline bool
+Generator_System::const_iterator::operator!=(const const_iterator& y) const {
+  return i != y.i;
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<(Coefficient_traits::const_reference n, const Linear_Expression& e) {
-  return e > n;
+inline
+Generator_System::const_iterator::
+const_iterator(const Linear_System::const_iterator& iter,
+	       const Generator_System& gsys)
+  : i(iter), gsp(&gsys) {
 }
 
-/*! \relates Constraint */
-inline Constraint
-operator<(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return n > e;
+inline bool
+Generator_System::empty() const {
+  return Linear_System::has_no_rows();
 }
 
-inline const Constraint&
-Constraint::zero_dim_false() {
-  assert(zero_dim_false_p != 0);
-  return *zero_dim_false_p;
+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 const Constraint&
-Constraint::zero_dim_positivity() {
-  assert(zero_dim_positivity_p != 0);
-  return *zero_dim_positivity_p;
+inline Generator_System::const_iterator
+Generator_System::end() const {
+  const const_iterator i(Linear_System::end(), *this);
+  return i;
 }
 
-inline const Constraint&
-Constraint::epsilon_geq_zero() {
-  assert(epsilon_geq_zero_p != 0);
-  return *epsilon_geq_zero_p;
+inline const Generator_System&
+Generator_System::zero_dim_univ() {
+  assert(zero_dim_univ_p != 0);
+  return *zero_dim_univ_p;
 }
 
-inline const Constraint&
-Constraint::epsilon_leq_one() {
-  assert(epsilon_leq_one_p != 0);
-  return *epsilon_leq_one_p;
+inline void
+Generator_System::swap(Generator_System& y) {
+  Linear_System::swap(y);
 }
 
-inline void
-Constraint::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
+inline memory_size_type
+Generator_System::external_memory_in_bytes() const {
+  return Linear_System::external_memory_in_bytes();
 }
 
-inline bool
-Constraint::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
+inline memory_size_type
+Generator_System::total_memory_in_bytes() const {
+  return Linear_System::total_memory_in_bytes();
 }
 
 inline void
-Constraint::swap(Constraint& y) {
-  Linear_Row::swap(y);
+Generator_System::simplify() {
+  Linear_System::simplify();
+  remove_invalid_lines_and_rays();
 }
 
 } // namespace Parma_Polyhedra_Library
 
+
 namespace std {
 
-/*! \relates Parma_Polyhedra_Library::Constraint */
+/*! \relates Parma_Polyhedra_Library::Constraint_System */
 inline void
-swap(Parma_Polyhedra_Library::Constraint& x,
-     Parma_Polyhedra_Library::Constraint& y) {
+swap(Parma_Polyhedra_Library::Generator_System& x,
+     Parma_Polyhedra_Library::Generator_System& y) {
   x.swap(y);
 }
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Constraint.defs.hh line 562. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence_System.inlines.hh line 1. */
+/* Congruence_System class implementation: inline functions.
+*/
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.types.hh line 1. */
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Congruence_System.inlines.hh line 27. */
 
 namespace Parma_Polyhedra_Library {
 
-template <typename D1, typename D2>
-class Smash_Reduction;
+inline Congruence&
+Congruence_System::operator[](const dimension_type k) {
+  return static_cast<Congruence&>(Matrix::operator[](k));
+}
 
-template <typename D1, typename D2>
-class Constraints_Reduction;
+inline const Congruence&
+Congruence_System::operator[](const dimension_type k) const {
+  return static_cast<const Congruence&>(Matrix::operator[](k));
+}
 
-template <typename D1, typename D2>
-class No_Reduction;
+inline void
+Congruence_System::insert(const Congruence& cg) {
+  insert_verbatim(cg);
+  static_cast<Congruence&>(operator[](rows.size()-1)).strong_normalize();
+  assert(OK());
+}
 
-template <typename D1, typename D2, typename R>
-class Partially_Reduced_Product;
+inline
+Congruence_System::Congruence_System()
+  : Matrix(0, 2) {
+}
 
-} // namespace Parma_Polyhedra_Library
+inline
+Congruence_System::Congruence_System(const Congruence& cg)
+  : Matrix(0, 2) {
+  insert(cg);
+}
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 46. */
-#include <vector>
-#include <iosfwd>
+inline
+Congruence_System::Congruence_System(const Constraint& c)
+  : Matrix(0, 2) {
+  insert(c);
+}
 
-namespace Parma_Polyhedra_Library {
+inline
+Congruence_System::Congruence_System(const Congruence_System& cs)
+  : Matrix(cs) {
+}
 
-//! 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);
+inline
+Congruence_System::Congruence_System(const dimension_type d)
+  : Matrix(0, d + 2) {
+}
 
-//! 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);
+inline
+Congruence_System::~Congruence_System() {
+}
 
-namespace IO_Operators {
+inline Congruence_System&
+Congruence_System::operator=(const Congruence_System& y) {
+  Matrix::operator=(y);
+  return *this;
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Box */
-template <typename ITV>
-std::ostream& operator<<(std::ostream& s, const Box<ITV>& box);
+inline dimension_type
+Congruence_System::max_space_dimension() {
+  return Matrix::max_num_columns() - 2;
+}
 
-} // namespace IO_Operators
+inline dimension_type
+Congruence_System::space_dimension() const {
+  return Matrix::num_columns() - 2;
+}
 
-//! 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.
+inline void
+Congruence_System::clear() {
+  Matrix::clear();
+  add_zero_columns(2);		// Modulus and constant term.
+}
 
-  The direction of the approximation is specified by \p dir.
+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());
+}
 
-  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);
+inline const Congruence_System&
+Congruence_System::zero_dim_empty() {
+  assert(zero_dim_empty_p != 0);
+  return *zero_dim_empty_p;
+}
 
-//! 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.
+inline
+Congruence_System::const_iterator::const_iterator()
+  : i(), csp(0) {
+}
 
-  The direction of the approximation is specified by \p dir.
+inline
+Congruence_System::const_iterator::const_iterator(const const_iterator& y)
+  : i(y.i), csp(y.csp) {
+}
 
-  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);
+inline
+Congruence_System::const_iterator::~const_iterator() {
+}
 
-//! 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.
+inline Congruence_System::const_iterator&
+Congruence_System::const_iterator::operator=(const const_iterator& y) {
+  i = y.i;
+  csp = y.csp;
+  return *this;
+}
 
-  The direction of the approximation is specified by \p dir.
+inline const Congruence&
+Congruence_System::const_iterator::operator*() const {
+  return static_cast<const Congruence&>(*i);
+}
 
-  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);
+inline const Congruence*
+Congruence_System::const_iterator::operator->() const {
+  return static_cast<const Congruence*>(i.operator->());
+}
 
-//! 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.
+inline Congruence_System::const_iterator&
+Congruence_System::const_iterator::operator++() {
+  ++i;
+  skip_forward();
+  return *this;
+}
 
-  The direction of the approximation is specified by \p dir.
+inline Congruence_System::const_iterator
+Congruence_System::const_iterator::operator++(int) {
+  const const_iterator tmp = *this;
+  operator++();
+  return tmp;
+}
 
-  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);
+inline bool
+Congruence_System::const_iterator::operator==(const const_iterator& y) const {
+  return i == y.i;
+}
 
-//! 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.
+inline bool
+Congruence_System::const_iterator::operator!=(const const_iterator& y) const {
+  return i != y.i;
+}
 
-  The direction of the approximation is specified by \p dir.
+inline
+Congruence_System::const_iterator::
+const_iterator(const Matrix::const_iterator& iter,
+	       const Congruence_System& csys)
+  : i(iter), csp(&csys) {
+}
 
-  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);
+inline Congruence_System::const_iterator
+Congruence_System::begin() const {
+  const_iterator i(Matrix::begin(), *this);
+  i.skip_forward();
+  return i;
+}
 
-//! 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.
+inline Congruence_System::const_iterator
+Congruence_System::end() const {
+  const const_iterator i(Matrix::end(), *this);
+  return i;
+}
 
-  The direction of the approximation is specified by \p dir.
+inline bool
+Congruence_System::empty() const {
+  return begin() == end();
+}
 
-  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);
+inline void
+Congruence_System::swap(Congruence_System& y) {
+  Matrix::swap(y);
+}
 
-//! 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 memory_size_type
+Congruence_System::external_memory_in_bytes() const {
+  return Matrix::external_memory_in_bytes();
+}
 
-  The direction of the approximation is specified by \p dir.
+inline memory_size_type
+Congruence_System::total_memory_in_bytes() const {
+  return Matrix::total_memory_in_bytes();
+}
 
-  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.
 
-  The direction of the approximation is specified by \p dir.
+namespace std {
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+/*! \relates Parma_Polyhedra_Library::Congruence_System */
+inline void
+swap(Parma_Polyhedra_Library::Congruence_System& x,
+     Parma_Polyhedra_Library::Congruence_System& y) {
+  x.swap(y);
+}
+
+} // namespace std
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator_System.inlines.hh line 1. */
+/* Grid_Generator_System class implementation: inline functions.
 */
-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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Generator_System.inlines.hh line 28. */
 
-  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);
+namespace Parma_Polyhedra_Library {
 
-#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 void
+Grid_Generator_System::set_sorted(bool b) {
+  Generator_System::set_sorted(b);
+}
 
-} // namespace Parma_Polyhedra_Library
+inline void
+Grid_Generator_System::unset_pending_rows() {
+  Generator_System::unset_pending_rows();
+}
 
-//! 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.
+inline void
+Grid_Generator_System::set_index_first_pending_row(const dimension_type i) {
+  Generator_System::set_index_first_pending_row(i);
+}
 
-  An <EM>interval constraint</EM> (resp., <EM>interval congruence</EM>)
-  is a syntactic constraint (resp., congruence) that only mentions
-  a single space dimension.
+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);
+}
+
+inline void
+Grid_Generator_System
+::permute_columns(const std::vector<dimension_type>& cycles) {
+  return Generator_System::permute_columns(cycles);
+}
 
-  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.
+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));
+}
 
-  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.
+inline
+Grid_Generator_System::Grid_Generator_System()
+  : Generator_System(NECESSARILY_CLOSED) {
+  adjust_topology_and_space_dimension(NECESSARILY_CLOSED, 1);
+  set_sorted(false);
+}
 
-  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;
+inline
+Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs)
+  : Generator_System(gs) {
+}
 
-  //! Returns the maximum space dimension that a Box can handle.
-  static dimension_type max_space_dimension();
+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);
+}
 
-  /*! \brief
-    Returns false indicating that this domain does not recycle constraints
-  */
-  static bool can_recycle_constraint_systems();
+inline
+Grid_Generator_System::Grid_Generator_System(const Grid_Generator& g)
+  : Generator_System(g) {
+  set_sorted(false);
+}
 
-  /*! \brief
-    Returns false indicating that this domain does not recycle congruences
-  */
-  static bool can_recycle_congruence_systems();
+inline
+Grid_Generator_System::~Grid_Generator_System() {
+}
 
-  //! \name Constructors, Assignment, Swap and Destructor
-  //@{
+inline Grid_Generator_System&
+Grid_Generator_System::operator=(const Grid_Generator_System& y) {
+  Generator_System::operator=(y);
+  return *this;
+}
 
-  //! 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;
+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;
+}
 
-    \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);
+inline dimension_type
+Grid_Generator_System::space_dimension() const {
+  assert(Generator_System::space_dimension() > 0);
+  // Grid generators use an extra column for the parameter divisor.
+  return Generator_System::space_dimension() - 1;
+}
 
-  //! Ordinary copy-constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  Box(const Box& y,
-      Complexity_Class complexity = ANY_COMPLEXITY);
+inline const Grid_Generator_System&
+Grid_Generator_System::zero_dim_univ() {
+  assert(zero_dim_univ_p != 0);
+  return *zero_dim_univ_p;
+}
 
-  //! 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);
+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();
+}
 
-  //! Builds a box from the system of constraints \p cs.
-  /*!
-    The box inherits the space dimension of \p cs.
+inline void
+Grid_Generator_System::swap(Grid_Generator_System& y) {
+  Generator_System::swap(y);
+}
 
-    \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);
+inline memory_size_type
+Grid_Generator_System::external_memory_in_bytes() const {
+  return Generator_System::external_memory_in_bytes();
+}
 
-  //! Builds a box recycling a system of constraints \p cs.
-  /*!
-    The box inherits the space dimension of \p cs.
+inline memory_size_type
+Grid_Generator_System::total_memory_in_bytes() const {
+  return Generator_System::total_memory_in_bytes();
+}
 
-    \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).
+inline dimension_type
+Grid_Generator_System::num_rows() const {
+  return Generator_System::num_rows();
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  Box(const Constraint_System& cs, Recycle_Input dummy);
+inline dimension_type
+Grid_Generator_System::num_parameters() const {
+  return Generator_System::num_rays();
+}
 
-  //! 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.
+inline dimension_type
+Grid_Generator_System::num_lines() const {
+  return Generator_System::num_lines();
+}
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  explicit Box(const Generator_System& gs);
+inline
+Grid_Generator_System::const_iterator::const_iterator()
+  : Generator_System::const_iterator() {
+}
 
-  //! 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.
+inline
+Grid_Generator_System::const_iterator::const_iterator(const const_iterator& y)
+  : Generator_System::const_iterator(y) {
+}
 
-    \param gs
-    The generator system describing the polyhedron to be approximated.
+inline
+Grid_Generator_System::const_iterator::~const_iterator() {
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+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));
+}
 
-    \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);
+inline const Grid_Generator&
+Grid_Generator_System::const_iterator::operator*() const {
+  return static_cast<const Grid_Generator&>
+    (Generator_System::const_iterator::operator*());
+}
 
-  /*!
-    Builds the smallest box containing the grid defined by a
-    system of congruences \p cgs.
-    The box inherits the space dimension of \p cgs.
+inline const Grid_Generator*
+Grid_Generator_System::const_iterator::operator->() const {
+  return static_cast<const Grid_Generator*>
+    (Generator_System::const_iterator::operator->());
+}
 
-    \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);
+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++());
+}
 
-  /*!
-    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.
+inline Grid_Generator_System::const_iterator
+Grid_Generator_System::const_iterator::operator++(int) {
+  const const_iterator tmp = *this;
+  operator++();
+  return tmp;
+}
 
-    \param cgs
-    A system of congruences: congruences that are not
-    non-relational equality constraints are ignored
-    (though they will contribute to the space dimension).
+inline bool
+Grid_Generator_System
+::const_iterator::operator==(const const_iterator& y) const {
+  return Generator_System::const_iterator::operator==(y);
+}
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  Box(const Congruence_System& cgs, Recycle_Input dummy);
+inline bool
+Grid_Generator_System
+::const_iterator::operator!=(const const_iterator& y) const {
+  return Generator_System::const_iterator::operator!=(y);
+}
 
-  //! 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);
+inline bool
+Grid_Generator_System::empty() const {
+  return Generator_System::empty();
+}
 
-  //! 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);
+inline
+Grid_Generator_System
+::const_iterator::const_iterator(const Generator_System::const_iterator& y)
+  : Generator_System::const_iterator::const_iterator(y) {
+}
 
-  //! 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);
+inline Grid_Generator_System::const_iterator
+Grid_Generator_System::begin() const {
+  return static_cast<Grid_Generator_System::const_iterator>
+    (Generator_System::begin());
+}
 
-  //! 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);
+inline Grid_Generator_System::const_iterator
+Grid_Generator_System::end() const {
+  return static_cast<Grid_Generator_System::const_iterator>
+    (Generator_System::end());
+}
 
-  //! 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);
+inline bool
+Grid_Generator_System::has_points() const {
+  return Generator_System::has_points();
+}
 
-  /*! \brief
-    The assignment operator
-    (\p *this and \p y can be dimension-incompatible).
-  */
-  Box& operator=(const Box& y);
+inline Grid_Generator&
+Grid_Generator_System::operator[](const dimension_type k) {
+  return static_cast<Grid_Generator&>(Generator_System::operator[](k));
+}
 
-  /*! \brief
-    Swaps \p *this with \p y
-    (\p *this and \p y can be dimension-incompatible).
-  */
-  void swap(Box& y);
+inline const Grid_Generator&
+Grid_Generator_System::operator[](const dimension_type k) const {
+  return static_cast<const Grid_Generator&>(Generator_System::operator[](k));
+}
 
-  //@} Constructors, Assignment, Swap and Destructor
+/*! \relates Grid_Generator_System */
+inline bool
+operator==(const Grid_Generator_System& x,
+	   const Grid_Generator_System& y) {
+  return x.is_equal_to(y);
+}
 
-  //! \name Member Functions that Do Not Modify the Box
-  //@{
+} // namespace Parma_Polyhedra_Library
 
-  //! 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;
+namespace std {
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is an empty box.
-  bool is_empty() const;
+/*! \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);
+}
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a universe box.
-  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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Matrix.defs.hh line 1. */
+/* Bit_Matrix class declaration.
+*/
 
-  //! 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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Matrix.defs.hh line 29. */
+#include <vector>
+#include <iosfwd>
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
-  */
-  bool contains_integer_point() const;
+#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();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+  //! Construct a bit matrix with \p n_rows rows and \p n_columns columns.
+  Bit_Matrix(dimension_type n_rows, dimension_type n_columns);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  bool constrains(Variable var) const;
+  //! Copy-constructor.
+  Bit_Matrix(const Bit_Matrix& y);
 
-  //! 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;
+  //! Destructor.
+  ~Bit_Matrix();
 
-  //! 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;
+  //! Assignment operator.
+  Bit_Matrix& operator=(const Bit_Matrix& y);
 
-  //! 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;
+  //! Swaps \p *this with \p y.
+  void swap(Bit_Matrix& y);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from above in \p *this.
+  //! Subscript operator.
+  Bit_Row& operator[](dimension_type k);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+  //! Constant subscript operator.
+  const Bit_Row& operator[](dimension_type k) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from below in \p *this.
+  //! Clears the matrix deallocating all its rows.
+  void clear();
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+  //! Transposes the matrix.
+  void transpose();
 
-  /*! \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.
+  //! Makes \p *this a transposed copy of \p y.
+  void transpose_assign(const Bit_Matrix& y);
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+  //! Returns the maximum number of rows of a Bit_Matrix.
+  static dimension_type max_num_rows();
 
-    \param sup_n
-    The numerator of the supremum value;
+  //! Returns the number of columns of \p *this.
+  dimension_type num_columns() const;
 
-    \param sup_d
-    The denominator of the supremum value;
+  //! Returns the number of rows of \p *this.
+  dimension_type num_rows() const;
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value.
+  //! Sorts the rows and removes duplicates.
+  void sort_rows();
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! 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.
 
-    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.
+    \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 maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+  bool sorted_contains(const Bit_Row& row) 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.
+  //! Adds \p row to \p *this.
+  void add_row(const Bit_Row& row);
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+  //! Erases the rows from the \p first_to_erase -th to the last one.
+  void rows_erase_to_end(dimension_type first_to_erase);
 
-    \param sup_n
-    The numerator of the supremum value;
+  //! Erases the columns from the \p first_to_erase -th to the last one.
+  void columns_erase_to_end(dimension_type first_to_erase);
 
-    \param sup_d
-    The denominator of the supremum value;
+  //! Resizes the matrix copying the old contents.
+  void resize(dimension_type new_n_rows, dimension_type new_n_columns);
 
-    \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;
+
+  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);
 
-    \param g
-    When maximization succeeds, will be assigned the point or
-    closure point where \p expr reaches its supremum value.
+  //! 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 expr and \p *this are dimension-incompatible.
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() 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, \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
+  //! Checks whether \p *this is sorted. It does NOT check for duplicates.
+  bool check_sorted() const;
+#endif
 
-  /*! \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.
+private:
+  //! Contains the rows of the matrix.
+  std::vector<Bit_Row> rows;
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+  //! Size of the initialized part of each row.
+  dimension_type row_size;
 
-    \param inf_n
-    The numerator of the infimum value;
+  //! 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;
+  };
 
-    \param inf_d
-    The denominator of the infimum value;
+  friend
+  void Parma_Polyhedra_Library::
+  Linear_System::sort_and_remove_with_sat(Bit_Matrix& sat);
 
-    \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.
+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
-    and \p minimum are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
+#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);
 
-  /*! \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.
+#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);
 
-    \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;
+namespace std {
 
-    \param inf_d
-    The denominator of the infimum value;
+#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);
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+} // namespace std
 
-    \param g
-    When minimization succeeds, will be assigned a point or
-    closure point where \p expr reaches its infimum value.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Matrix.inlines.hh line 1. */
+/* Bit_Matrix class implementation: inline functions.
+*/
 
-    \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;
+#include <algorithm>
+#include <cassert>
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this contains \p y.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
-  */
-  bool contains(const Box&) const;
+inline
+Bit_Matrix::Bit_Matrix()
+  : rows(),
+    row_size(0) {
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
+inline dimension_type
+Bit_Matrix::max_num_rows() {
+  return std::vector<Bit_Row>().max_size();
+}
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
-  */
-  bool strictly_contains(const Box&) const;
+inline
+Bit_Matrix::Bit_Matrix(const dimension_type n_rows,
+		       const dimension_type n_columns)
+  : rows(n_rows),
+    row_size(n_columns) {
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
+inline
+Bit_Matrix::Bit_Matrix(const Bit_Matrix& y)
+  : rows(y.rows),
+    row_size(y.row_size) {
+}
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
-  */
-  bool is_disjoint_from(const Box& y) const;
+inline
+Bit_Matrix::~Bit_Matrix() {
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this satisfies
-    all its invariants.
-  */
-  bool OK() const;
+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.
+  assert(first_to_erase <= rows.size());
+  if (first_to_erase < rows.size())
+    rows.erase(rows.begin() + first_to_erase, rows.end());
+  assert(OK());
+}
 
-  //@} Member Functions that Do Not Modify the Box
+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.
+  assert(first_to_erase <= row_size);
+  row_size = first_to_erase;
+  assert(OK());
+}
 
-  //! \name Space-Dimension Preserving Member Functions that May Modify the Box
-  //@{
+inline void
+Bit_Matrix::swap(Bit_Matrix& y) {
+  std::swap(row_size, y.row_size);
+  std::swap(rows, y.rows);
+}
 
-  /*! \brief
-    Adds a copy of constraint \p c to the system of constraints
-    defining \p *this.
+inline Bit_Row&
+Bit_Matrix::operator[](const dimension_type k) {
+  assert(k < rows.size());
+  return rows[k];
+}
 
-    \param c
-    The constraint to be added.
+inline const Bit_Row&
+Bit_Matrix::operator[](const dimension_type k) const {
+  assert(k < rows.size());
+  return rows[k];
+}
 
-    \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);
+inline dimension_type
+Bit_Matrix::num_columns() const {
+  return row_size;
+}
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    defining \p *this.
+inline dimension_type
+Bit_Matrix::num_rows() const {
+  return rows.size();
+}
 
-    \param  cs
-    The constraints to be added.
+inline void
+Bit_Matrix::clear() {
+  // Clear `rows' and minimize its capacity.
+  std::vector<Bit_Row>().swap(rows);
+  row_size = 0;
+}
 
-    \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);
+inline memory_size_type
+Bit_Matrix::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    defining \p *this.
+inline bool
+Bit_Matrix::Bit_Row_Less_Than::
+operator()(const Bit_Row& x, const Bit_Row& y) const {
+  return compare(x, y) < 0;
+}
 
-    \param  cs
-    The constraints to be added. They may be recycled.
+inline bool
+Bit_Matrix::sorted_contains(const Bit_Row& row) const {
+  assert(check_sorted());
+  return std::binary_search(rows.begin(), rows.end(), row,
+			    Bit_Row_Less_Than());
+}
 
-    \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.
+/*! \relates Bit_Matrix */
+inline bool
+operator!=(const Bit_Matrix& x, const Bit_Matrix& y) {
+  return !(x == 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);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Adds to \p *this a constraint equivalent to the congruence \p cg.
 
-    \param cg
-    The congruence to be added.
+namespace std {
 
-    \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);
+/*! \relates Parma_Polyhedra_Library::Bit_Matrix */
+inline void
+swap(Parma_Polyhedra_Library::Bit_Matrix& x,
+     Parma_Polyhedra_Library::Bit_Matrix& y) {
+  x.swap(y);
+}
 
-  /*! \brief
-    Adds to \p *this constraints equivalent to the congruences in \p cgs.
+} // namespace std
 
-    \param cgs
-    The congruences to be added.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Bit_Matrix.defs.hh line 178. */
 
-    \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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Poly_Gen_Relation.defs.hh line 1. */
+/* Poly_Gen_Relation class declaration.
+*/
 
-  /*! \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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Poly_Gen_Relation.types.hh line 1. */
 
-    \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);
+namespace Parma_Polyhedra_Library {
 
-  /*! \brief
-    Use the constraint \p c to refine \p *this.
+class Poly_Gen_Relation;
 
-    \param c
-    The constraint to be used for refinement.
+} // namespace Parma_Polyhedra_Library
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
-  */
-  void refine_with_constraint(const Constraint& c);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Poly_Gen_Relation.defs.hh line 28. */
+#include <iosfwd>
 
-  /*! \brief
-    Use the constraints in \p cs to refine \p *this.
+namespace Parma_Polyhedra_Library {
 
-    \param  cs
-     The constraints to be used for refinement.
+// Put them in the namespace here to declare them friend later.
 
-     \exception std::invalid_argument
-     Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
+//! 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);
 
-  /*! \brief
-    Use the congruence \p cg to refine \p *this.
+//! 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);
 
-    \param cg
-    The congruence to be used for refinement.
+//! 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);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cg are dimension-incompatible.
-  */
-  void refine_with_congruence(const Congruence& cg);
+/*! \brief
+  Yields the assertion with all the conjuncts of \p x
+  that are not in \p y.
 
-  /*! \brief
-    Use the congruences in \p cgs to refine \p *this.
+  \relates Poly_Gen_Relation
+*/
+Poly_Gen_Relation operator-(const Poly_Gen_Relation& x,
+			    const Poly_Gen_Relation& y);
 
-    \param  cgs
-    The congruences to be used for refinement.
+namespace IO_Operators {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void refine_with_congruences(const Congruence_System& cgs);
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Poly_Gen_Relation */
+std::ostream& operator<<(std::ostream& s, const Poly_Gen_Relation& r);
 
-  /*! \brief
-    Use the constraint \p c for constraint propagation on \p *this.
+} // namespace IO_Operators
 
-    \param c
-    The constraint to be used for constraint propagation.
+} // namespace Parma_Polyhedra_Library
 
-    \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 propagagion on \p *this.
+//! 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;
 
-    \param  cs
-     The constraints to be used for constraint propagation.
+  //! \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
 
-     \exception std::invalid_argument
-     Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void propagate_constraints(const Constraint_System& cs);
+  //! All assertions together.
+  static const flags_t EVERYTHING
+  = SUBSUMES;
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
+  //! This holds the current bitset.
+  flags_t flags;
 
-    \param var
-    The space dimension that will be unconstrained.
+  //! True if and only if the conjunction \p x implies the conjunction \p y.
+  static bool implies(flags_t x, flags_t y);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  void unconstrain(Variable var);
+  //! Construct from a bit-mask.
+  Poly_Gen_Relation(flags_t mask);
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
-    assigning the result to \p *this.
+  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);
 
-    \param to_be_unconstrained
-    The set of space dimension that will be unconstrained.
+  friend Poly_Gen_Relation
+  operator&&(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
-  */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+  friend Poly_Gen_Relation
+  operator-(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
 
-  //! 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);
+  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
-    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.
+    Access the internal flags: this is needed for some language
+    interfaces.
   */
-  void upper_bound_assign(const Box& y);
+#endif
+  flags_t get_flags() const;
 
-  /*! \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.
+public:
+  //! The assertion that says nothing.
+  static Poly_Gen_Relation nothing();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool upper_bound_assign_if_exact(const Box& y);
+  //! Adding the generator would not change the polyhedron.
+  static Poly_Gen_Relation subsumes();
 
-  /*! \brief
-    Assigns to \p *this the difference of \p *this and \p y.
+  PPL_OUTPUT_DECLARATIONS
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void difference_assign(const Box& y);
+  //! True if and only if \p *this implies \p y.
+  bool implies(const Poly_Gen_Relation& y) const;
 
-  /*! \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.
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
+};
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
-  */
-  bool simplify_using_context_assign(const Box& y);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Poly_Gen_Relation.inlines.hh line 1. */
+/* Poly_Gen_Relation class implementation: inline functions.
+*/
 
-  /*! \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;
+namespace Parma_Polyhedra_Library {
 
-    \param expr
-    The numerator of the affine expression;
+inline
+Poly_Gen_Relation::Poly_Gen_Relation(flags_t mask)
+  : flags(mask) {
+}
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+inline Poly_Gen_Relation::flags_t
+Poly_Gen_Relation::get_flags() const {
+  return flags;
+}
+
+inline Poly_Gen_Relation
+Poly_Gen_Relation::nothing() {
+  return Poly_Gen_Relation(NOTHING);
+}
+
+inline Poly_Gen_Relation
+Poly_Gen_Relation::subsumes() {
+  return Poly_Gen_Relation(SUBSUMES);
+}
 
-    \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());
+inline bool
+Poly_Gen_Relation::implies(flags_t x, flags_t y) {
+  return (x & y) == y;
+}
 
-  /*! \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.
+inline bool
+Poly_Gen_Relation::implies(const Poly_Gen_Relation& y) const {
+  return implies(flags, y.flags);
+}
 
-    \param var
-    The variable to which the affine expression is substituted;
+/*! \relates Poly_Gen_Relation */
+inline bool
+operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
+  return x.flags == y.flags;
+}
 
-    \param expr
-    The numerator of the affine expression;
+/*! \relates Poly_Gen_Relation */
+inline bool
+operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
+  return x.flags != y.flags;
+}
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+/*! \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);
+}
 
-    \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());
+/*! \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);
+}
 
-  /*! \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 /home/bagnara/ppl/ppl/src/Poly_Gen_Relation.defs.hh line 137. */
 
-    \param relsym
-    The relation symbol;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box.types.hh line 1. */
 
-    \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).
+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 generalized_affine_image(Variable var,
-				Relation_Symbol relsym,
-				const Linear_Expression& expr,
-				Coefficient_traits::const_reference denominator
-				  = Coefficient_one());
+template <typename Interval>
+class Box;
 
-  /*! \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.
+} // namespace Parma_Polyhedra_Library
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BD_Shape.types.hh line 1. */
 
-    \param relsym
-    The relation symbol;
 
-    \param expr
-    The numerator of the right hand side affine expression;
+namespace Parma_Polyhedra_Library {
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+template <typename T>
+class BD_Shape;
 
-    \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());
+} // namespace Parma_Polyhedra_Library
 
-  /*! \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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.types.hh line 1. */
 
-    \param lhs
-    The left hand side affine expression;
 
-    \param relsym
-    The relation symbol;
+namespace Parma_Polyhedra_Library {
 
-    \param rhs
-    The right hand side affine expression.
+template <typename T>
+class Octagonal_Shape;
 
-    \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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Polyhedron.defs.hh line 50. */
+#include <vector>
+#include <iosfwd>
 
-    \param lhs
-    The left hand side affine expression;
+namespace Parma_Polyhedra_Library {
 
-    \param relsym
-    The relation symbol;
+namespace IO_Operators {
 
-    \param rhs
-    The right hand side affine expression.
+//! 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);
 
-    \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);
+} // namespace IO_Operators
 
-  /*! \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 x and \p y are the same polyhedron.
 
-    \param var
-    The variable updated by the affine relation;
+  \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);
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+/*! \brief
+  Returns <CODE>true</CODE> if and only if
+  \p x and \p y are different polyhedra.
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+  \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);
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+namespace Interfaces {
 
-    \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
+/*! \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);
 
-  /*! \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$.
+} // namespace Interfaces
 
-    \param var
-    The variable updated by the affine relation;
+} // namespace Parma_Polyhedra_Library
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+//! 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$.
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+  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.
 
-    \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());
+  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):
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+  - 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.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void time_elapse_assign(const Box& y);
+  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.
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+  \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
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
+  \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
 
-    \param y
-    A box that <EM>must</EM> be contained in \p *this.
+  \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
 
-    \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).
+  \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).
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void CC76_widening_assign(const Box& y, unsigned* tp = 0);
+  \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]
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
+  \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$.
 
-    \param y
-    A box that <EM>must</EM> be contained in \p *this.
+  \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.
 
-    \param first
-    An iterator that points to the first stop-point.
+  \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.
 
-    \param last
-    An iterator that points one past the last stop-point.
+  \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 to_be_removed;
+  to_be_removed.insert(y);
+  to_be_removed.insert(z);
+  ph.remove_space_dimensions(to_be_removed);
+  \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> to_be_removed1;
+  to_be_removed1.insert(y);
+  ph.remove_space_dimensions(to_be_removed1);
+  set<Variable> to_be_removed2;
+  to_be_removed2.insert(z);
+  ph.remove_space_dimensions(to_be_removed2);
+  \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 to_be_removed2
+  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.
+*/
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  template <typename Iterator>
-  void CC76_widening_assign(const Box& y,
-			    Iterator first, Iterator last);
+class Parma_Polyhedra_Library::Polyhedron {
+public:
+  //! The numeric type of coefficients.
+  typedef Coefficient coefficient_type;
 
-  //! Same as CC76_widening_assign(y, tp).
-  void widening_assign(const Box& y, unsigned* tp = 0);
+  //! Returns the maximum space dimension all kinds of Polyhedron can handle.
+  static dimension_type max_space_dimension();
 
   /*! \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.
+    Returns \c true indicating that this domain has methods that
+    can recycle constraints.
   */
-  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.
+  static bool can_recycle_constraint_systems();
 
-    \param y
-    A Box that <EM>must</EM> contain \p *this.
+  //! Initializes the class.
+  static void initialize();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+  //! Finalizes the class.
+  static void finalize();
 
-    \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$.
+  /*! \brief
+    Returns \c false indicating that this domain cannot recycle congruences.
   */
-  void CC76_narrowing_assign(const Box& y);
-
-  //@} Space-Dimension Preserving Member Functions that May Modify [...]
-
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+  static bool can_recycle_congruence_systems();
 
-  //! Adds \p m new dimensions and embeds the old box into the new space.
+protected:
+  //! Builds a polyhedron having the specified properties.
   /*!
-    \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 topol
+    The topology of the polyhedron;
 
-    \param m
-    The number of dimensions to add.
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the polyhedron;
 
-    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]
+    \param kind
+    Specifies whether the universe or the empty polyhedron has to be built.
   */
-  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.
+  Polyhedron(Topology topol,
+	     dimension_type num_dimensions,
+	     Degenerate_Element kind);
 
-    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.
+  //! Ordinary copy-constructor.
+  /*!
+    The complexity argument is ignored.
   */
-  void concatenate_assign(const Box& y);
+  Polyhedron(const Polyhedron& y,
+             Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Removes all the specified dimensions.
+  //! Builds a polyhedron from a system of constraints.
   /*!
-    \param to_be_removed
-    The set of Variable objects corresponding to the dimensions to be removed.
+    The polyhedron inherits the space dimension of the constraint system.
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the Variable
-    objects contained in \p to_be_removed.
-  */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+    \param topol
+    The topology of the polyhedron;
 
-  /*! \brief
-    Removes the higher dimensions so that the resulting space
-    will have dimension \p new_dimension.
+    \param cs
+    The system of constraints defining the polyhedron.
 
     \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 class 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".
+    Thrown if the topology of \p cs is incompatible with \p topol.
   */
-  template <typename Partial_Function>
-  void map_space_dimensions(const Partial_Function& pfunc);
+  Polyhedron(Topology topol, const Constraint_System& cs);
 
-  //! Creates \p m copies of the space dimension corresponding to \p var.
+  //! Builds a polyhedron recycling a system of constraints.
   /*!
-    \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>.
+    The polyhedron inherits the space dimension of the constraint system.
 
-    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 topol
+    The topology of the polyhedron;
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
-  /*!
-    \param to_be_folded
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+    \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 var
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
-
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
-    into the \f$k\f$-th space dimension.
+    Thrown if the topology of \p cs is incompatible with \p topol.
   */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
-
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+  Polyhedron(Topology topol, Constraint_System& cs, Recycle_Input dummy);
 
-  /*! \brief
-    Returns a reference the interval that bounds \p var.
+  //! Builds a polyhedron from a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  const ITV& get_interval(Variable var) const;
+    \param topol
+    The topology of the polyhedron;
 
-  /*! \brief
-    Sets to \p i the interval that bounds \p var.
+    \param gs
+    The system of generators defining the polyhedron.
 
     \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+    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.
   */
-  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.
+  Polyhedron(Topology topol, const Generator_System& gs);
 
-    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.
+  //! Builds a polyhedron recycling a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-    An undefined behavior is obtained if \p k is greater than
-    or equal to the space dimension of \p *this.
-  */
-  bool get_lower_bound(dimension_type k, bool& closed,
-		       Coefficient& n, Coefficient& d) const;
+    \param topol
+    The topology of the polyhedron;
 
-  /*! \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.
+    \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.
 
-    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$.
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-    An undefined behavior is obtained if \p k is greater than
-    or equal to the space dimension of \p *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.
   */
-  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;
+  Polyhedron(Topology topol, Generator_System& gs, Recycle_Input dummy);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  //! 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.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \param topol
+    The topology of the polyhedron;
 
-  PPL_OUTPUT_DECLARATIONS
+    \param box
+    The box representing the polyhedron to be built;
 
-#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 complexity
+    This argument is ignored.
   */
-#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;
+  template <typename Interval>
+  Polyhedron(Topology topol, const Box<Interval>& box,
+             Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \brief
-    The type of intervals used by inner computations when trying to limit
-    the cumulative effect of approximation errors.
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
   */
-  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;
+  Polyhedron& operator=(const Polyhedron& y);
 
-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.
+  //! \name Member Functions that Do Not Modify the Polyhedron
   //@{
-  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
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() 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.
+    Returns \f$0\f$, if \p *this is empty; otherwise, returns the
+    \ref Affine_Independence_and_Affine_Dimension "affine dimension"
+    of \p *this.
   */
-  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;
-  //@}
+  dimension_type affine_dimension() const;
 
-  //! This holds the current bitset.
-  flags_t flags;
+  //! Returns the system of constraints.
+  const Constraint_System& constraints() const;
 
-  //! Construct from a bit-mask.
-  Status(flags_t mask);
+  //! Returns the system of constraints, with no redundant constraint.
+  const Constraint_System& minimized_constraints() const;
 
-  //! Check whether <EM>all</EM> bits in \p mask are set.
-  bool test_all(flags_t mask) const;
+  //! Returns the system of generators.
+  const Generator_System& generators() const;
 
-  //! Check whether <EM>at least one</EM> bit in \p mask is set.
-  bool test_any(flags_t mask) const;
+  //! Returns the system of generators, with no redundant generator.
+  const Generator_System& minimized_generators() const;
 
-  //! Set the bits in \p mask.
-  void set(flags_t mask);
+  //! Returns a system of (equality) congruences satisfied by \p *this.
+  Congruence_System congruences() const;
 
-  //! Reset the bits in \p mask.
-  void reset(flags_t mask);
-};
+  /*! \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;
 
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 1560. */
-#undef PPL_IN_Box_CLASS
+  //! Returns a universe system of grid generators.
+  Grid_Generator_System grid_generators() const;
 
-  //! The status flags to keep track of the internal state.
-  Status status;
+  //! Returns a universe system of grid generators.
+  Grid_Generator_System minimized_grid_generators() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the box is known to be empty.
+    Returns the relations holding between the polyhedron \p *this
+    and the constraint \p c.
 
-    The return value <CODE>false</CODE> does not necessarily
-    implies that \p *this is non-empty.
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
   */
-  bool marked_empty() const;
+  Poly_Con_Relation relation_with(const Constraint& c) const;
 
-public:
-  //! Causes the box to become empty, i.e., to represent the empty set.
-  void set_empty();
+  /*! \brief
+    Returns the relations holding between the polyhedron \p *this
+    and the generator \p g.
 
-private:
-  //! Marks \p *this as definitely not empty.
-  void set_nonempty();
+    \exception std::invalid_argument
+    Thrown if \p *this and generator \p g are dimension-incompatible.
+  */
+  Poly_Gen_Relation relation_with(const Generator& g) const;
 
-  //! Asserts the validity of the empty flag of \p *this.
-  void set_empty_up_to_date();
+  /*! \brief
+    Returns the relations holding between the polyhedron \p *this
+    and the congruence \p c.
 
-  //! Invalidates empty flag of \p *this.
-  void reset_empty_up_to_date();
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p c are dimension-incompatible.
+  */
+  Poly_Con_Relation relation_with(const Congruence& cg) 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 <CODE>true</CODE> if and only if \p *this is
+    an empty polyhedron.
   */
-  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;
+  bool is_empty() const;
 
   /*! \brief
-    WRITE ME.
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a universe polyhedron.
   */
-  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_universe() const;
 
   /*! \brief
-    WRITE ME.
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a topologically closed subset of the vector space.
   */
-  void add_constraint_no_check(const Constraint& c);
+  bool is_topologically_closed() 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_constraints_no_check(const Constraint_System& cs);
+  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
-    WRITE ME.
+    Returns <CODE>true</CODE> if and only if \p *this
+    is a bounded polyhedron.
   */
-  void add_congruence_no_check(const Congruence& cg);
+  bool is_bounded() const;
 
   /*! \brief
-    WRITE ME.
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
   */
-  void add_congruences_no_check(const Congruence_System& cgs);
+  bool contains_integer_point() const;
 
   /*! \brief
-    Uses the constraint \p c to refine \p *this.
-
-    \param c
-    The constraint to be added.
-    Non-interval constraints are ignored.
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
-    \warning
-    If \p c 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& c);
+  bool constrains(Variable var) const;
 
   /*! \brief
-    Uses the constraints in \p cs to refine \p *this.
-
-    \param cs
-    The constraints to be added.
-    Non-interval constraints are ignored.
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from above in \p *this.
 
-    \warning
-    If \p cs 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 Constraint_System& cs);
+  bool bounds_from_above(const Linear_Expression& expr) 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 below 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_below(const Linear_Expression& expr) const;
 
   /*! \brief
-    Uses the congruences in \p cgs 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 cgs
-    The congruences to be added.
-    Nontrivial proper congruences are ignored.
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-    \warning
-    If \p cgs and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \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.
   */
-  void refine_no_check(const Congruence_System& cgs);
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
   /*! \brief
-    Propagates the constraint \p c to refine \p *this.
-
-    \param c
-    The constraint to be propagated.
+    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.
 
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-    \warning
-    This method may lead to non-termination.
+    \param sup_n
+    The numerator of the supremum value;
 
-    \if Include_Implementation_Details
+    \param sup_d
+    The denominator of the supremum 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$.
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value;
 
-    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$.
+    \param g
+    When maximization succeeds, will be assigned the point or
+    closure point where \p expr reaches its supremum value.
 
-    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.
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-    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
+    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_constraint_no_check(const Constraint& c);
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		Generator& g) const;
 
   /*! \brief
-    Propagates the constraints in \p cs to refine \p *this.
+    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  cs
-    The constraints to be propagated.
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-    \warning
-    If \p cs and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    \param inf_n
+    The numerator of the infimum value;
 
-    \warning
-    This method may lead to non-termination.
+    \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.
   */
-  void propagate_constraints_no_check(const Constraint_System& cs);
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) 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 and a point where \p expr reaches it are 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;
+
+    \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 bounds(const Linear_Expression& expr, bool from_above) const;
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		Generator& g) const;
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
+  //! Returns <CODE>true</CODE> if and only if \p *this contains \p y.
   /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p *this;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool contains(const Polyhedron& y) const;
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+  //! 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;
 
-    \param ext_n
-    The numerator of the extremum value;
+  //! 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.
 
-    \param ext_d
-    The denominator of the extremum value;
+    \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.
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p *this;
+    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;
 
-    \param g
-    When maximization or minimization succeeds, will be assigned
-    a point or closure point where \p expr reaches the
-    corresponding extremum value.
+  //@} // Member Functions that Do Not Modify the Polyhedron
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! \name Space Dimension Preserving Member Functions that May Modify the Polyhedron
+  //@{
 
-    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.
+  /*! \brief
+    Adds a copy of constraint \p c to the system of constraints
+    of \p *this (without minimizing the result).
+
+    \param c
+    The constraint that will be added to the system of
+    constraints of \p *this.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are topology-incompatible
+    or dimension-incompatible.
   */
-  bool max_min(const Linear_Expression& expr,
-	       bool maximize,
-	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
-	       Generator& g) const;
+  void add_constraint(const Constraint& c);
 
-  //! Maximizes or minimizes \p expr subject to \p *this.
-  /*!
-    \param expr
-    The linear expression to be maximized or minimized subject to \p *this;
+  /*! \brief
+    Adds a copy of constraint \p c to the system of constraints
+    of \p *this, minimizing the result
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+    \param c
+    The constraint that will be added to the system of
+    constraints of \p *this.
 
-    \param ext_n
-    The numerator of the extremum value;
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-    \param ext_d
-    The denominator of the extremum value;
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are topology-incompatible
+    or dimension-incompatible.
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p * this;
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_constraint_and_minimize(const Constraint& c);
+
+  /*! \brief
+    Adds a copy of generator \p g to the system of generators
+    of \p *this (without minimizing the result).
+
+    \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);
+
+  /*! \brief
+    Adds a copy of generator \p g to the system of generators
+    of \p *this, minimizing the result.
+
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
     \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    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.
 
-    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.
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
   */
-  bool max_min(const Linear_Expression& expr,
-	       bool maximize,
-	       Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
+  bool add_generator_and_minimize(const Generator& g);
 
-  //! \name Exception Throwers
-  //@{
-  void throw_dimension_incompatible(const char* method,
-				    const Box& x) const;
+  /*! \brief
+    Adds a copy of congruence \p cg to \p *this,
+    if \p cg can be exactly represented by a polyhedron.
 
-  void throw_dimension_incompatible(const char* method,
-				    dimension_type required_dim) const;
+    \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);
 
-  void throw_dimension_incompatible(const char* method,
-				    const Constraint& c) const;
+  /*! \brief
+    Adds a copy of congruence \p cg to \p *this,
+    if \p cg can be exactly represented by a polyhedron,
+    minimizing the result.
 
-  void throw_dimension_incompatible(const char* method,
-				    const Congruence& cg) const;
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-  void throw_dimension_incompatible(const char* method,
-				    const Constraint_System& cs) const;
+    \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 throw_dimension_incompatible(const char* method,
-				    const Congruence_System& cgs) const;
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_congruence_and_minimize(const Congruence& cg);
 
-  void throw_dimension_incompatible(const char* method,
-				    const Generator& g) const;
+  /*! \brief
+    Adds a copy of the constraints in \p cs to the system
+    of constraints of \p *this (without minimizing the result).
 
-  void throw_dimension_incompatible(const char* method,
-				    const char* name_row,
-				    const Linear_Expression& y) const;
+    \param cs
+    Contains the constraints that will be added to the system of
+    constraints of \p *this.
 
-  static void throw_space_dimension_overflow(const char* method,
-					     const char* reason);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are topology-incompatible or
+    dimension-incompatible.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-  static void throw_constraint_incompatible(const char* method);
+  /*! \brief
+    Adds the constraints in \p cs to the system of constraints
+    of \p *this (without minimizing the result).
 
-  static void throw_expression_too_complex(const char* method,
-					   const Linear_Expression& e);
+    \param cs
+    The constraint system to be added to \p *this.  The constraints in
+    \p cs may be recycled.
 
-  static void throw_generic(const char* method, const char* reason);
-  //@} // Exception Throwers
-};
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are topology-incompatible or
+    dimension-incompatible.
 
-namespace Parma_Polyhedra_Library {
+    \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);
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \brief
-  Returns the relations holding between an interval and
-  an interval constraint.
+  /*! \brief
+    Adds a copy of the constraints in \p cs to the system
+    of constraints of \p *this, minimizing the result.
 
-  \param i
-  The interval;
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-  \param constraint_type
-  The constraint type;
+    \param cs
+    Contains the constraints that will be added to the system of
+    constraints of \p *this.
 
-  \param num
-  The numerator of the constraint bound;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are topology-incompatible or
+    dimension-incompatible.
 
-  \param den
-  The denominator of the constraint bound
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_constraints_and_minimize(const Constraint_System& cs);
 
-  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);
+  /*! \brief
+    Adds the constraints in \p cs to the system of constraints
+    of \p *this, minimizing the result.
 
-#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.
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-  \param c
-  The constraint to be decoded.
+    \param cs
+    The constraint system to be added to \p *this.  The constraints in
+    \p cs may be recycled.
 
-  \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).
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are topology-incompatible or
+    dimension-incompatible.
 
-  \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.
+    \warning
+    The only assumption that can be made on \p cs upon successful or
+    exceptional return is that it can be safely destroyed.
 
-  \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);
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
 
-bool extract_interval_congruence(const Congruence& cg,
-				 dimension_type cg_space_dim,
-				 dimension_type& cg_num_vars,
-				 dimension_type& cg_only_var);
+  /*! \brief
+    Adds a copy of the generators in \p gs to the system
+    of generators of \p *this (without minimizing the result).
 
-} // namespace Parma_Polyhedra_Library
+    \param gs
+    Contains the generators that will be added to the system of
+    generators of \p *this.
 
-/* Automatically generated from PPL source file ../src/Box_Status.inlines.hh line 1. */
-/* Box<ITV>::Status class implementation: inline functions.
-*/
+    \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);
 
+  /*! \brief
+    Adds the generators in \p gs to the system of generators
+    of \p *this (without minimizing the result).
 
-#include <string>
+    \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 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.
 
-template <typename ITV>
-inline
-Box<ITV>::Status::Status(flags_t mask)
-  : flags(mask) {
-}
+    \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);
 
-template <typename ITV>
-inline
-Box<ITV>::Status::Status(const Status& y)
-  : flags(y.flags) {
-}
+  /*! \brief
+    Adds a copy of the generators in \p gs to the system
+    of generators of \p *this, minimizing the result.
 
-template <typename ITV>
-template <typename Other_ITV>
-inline
-Box<ITV>::Status::Status(const typename Box<Other_ITV>::Status& y)
-  : flags(y.flags) {
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-template <typename ITV>
-inline
-Box<ITV>::Status::Status()
-  : flags(NONE) {
-}
+    \param gs
+    Contains the generators that will be added to the system of
+    generators of \p *this.
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
-}
+    \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 the system
+    of generators \p gs is not empty, but has no points.
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_any(flags_t mask) const {
-  return flags & mask;
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_generators_and_minimize(const Generator_System& gs);
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::set(flags_t mask) {
-  flags |= mask;
-}
+  /*! \brief
+    Adds the generators in \p gs to the system of generators
+    of \p *this, minimizing the result.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::reset(flags_t mask) {
-  flags &= ~mask;
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_empty_up_to_date() const {
-  return test_any(EMPTY_UP_TO_DATE);
-}
+    \param gs
+    The generator system to be added to \p *this.  The generators in
+    \p gs may be recycled.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::reset_empty_up_to_date() {
-  reset(EMPTY_UP_TO_DATE);
-}
+    \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 the system
+    of generators \p gs is not empty, but has no points.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::set_empty_up_to_date() {
-  set(EMPTY_UP_TO_DATE);
-}
+    \warning
+    The only assumption that can be made on \p gs upon successful or
+    exceptional return is that it can be safely destroyed.
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_empty() const {
-  return test_any(EMPTY);
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_recycled_generators_and_minimize(Generator_System& gs);
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::reset_empty() {
-  reset(EMPTY);
-}
+  /*! \brief
+    Adds a copy of the congruences in \p cgs to \p *this,
+    if all the congruences can be exactly represented by a polyhedron.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::set_empty() {
-  set(EMPTY);
-}
+    \param cgs
+    The congruences to be added.
 
-template <typename ITV>
-inline bool
-Box<ITV>::Status::test_universe() const {
-  return test_any(UNIVERSE);
-}
+    \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);
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::reset_universe() {
-  reset(UNIVERSE);
-}
+  /*! \brief
+    Adds a copy of the congruences in \p cgs to \p *this,
+    if all the congruences can be exactly represented by a polyhedron,
+    minimizing the result.
 
-template <typename ITV>
-inline void
-Box<ITV>::Status::set_universe() {
-  set(UNIVERSE);
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-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;
-  }
+    \param cgs
+    The congruences to be added.
 
-  // Any other case is OK.
-  return true;
-}
+    \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
 
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_congruences_and_minimize(const Congruence_System& cgs);
 
-namespace Implementation {
+  /*! \brief
+    Adds the congruences in \p cgs to \p *this,
+    if all the congruences can be exactly represented by a polyhedron.
 
-namespace Boxes {
+    \param cgs
+    The congruences to be added. Its elements may be recycled.
 
-// 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 = ' ';
+    \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
 
-/*! \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;
-}
+    \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);
 
-} // namespace Boxes
+  /*! \brief
+    Adds the congruences in \p cgs to \p *this,
+    if all the congruences can be exactly represented by a polyhedron,
+    minimizing the result.
 
-} // namespace Implementation
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-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 cgs
+    The congruences to be added. Its elements may be recycled.
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(ITV, Box<ITV>::Status)
+    \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
 
-template <typename ITV>
-bool
-Box<ITV>::Status::ascii_load(std::istream& s) {
-  using namespace Implementation::Boxes;
-  bool positive;
+    \warning
+    The only assumption that can be made on \p cgs upon successful or
+    exceptional return is that it can be safely destroyed.
 
-  if (!get_field(s, Implementation::Boxes::empty_up_to_date, positive))
-    return false;
-  if (positive)
-    set_empty_up_to_date();
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
 
-  if (!get_field(s, Implementation::Boxes::empty, positive))
-    return false;
-  if (positive)
-    set_empty();
+  /*! \brief
+    Uses a copy of constraint \p c to refine \p *this.
 
-  if (!get_field(s, universe, positive))
-    return false;
-  if (positive)
-    set_universe();
-  else
-    reset_universe();
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
+  */
+  void refine_with_constraint(const Constraint& c);
 
-  // Check invariants.
-  assert(OK());
-  return true;
-}
+  /*! \brief
+    Uses a copy of congruence \p cg to refine \p *this.
 
-} // namespace Parma_Polyhedra_Library
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-/* Automatically generated from PPL source file ../src/Box.inlines.hh line 1. */
-/* Box class implementation: inline functions.
-*/
+  /*! \brief
+    Uses a copy of the constraints in \p cs to refine \p *this.
+
+    \param cs
+    Contains the constraints used to refine the system of
+    constraints of \p *this.
 
+    \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/Constraint_System.inlines.hh line 1. */
-/* Constraint_System class implementation: inline functions.
-*/
+  /*! \brief
+    Uses a copy of the congruences in \p cgs to refine \p *this.
 
+    \param cgs
+    Contains the congruences used to refine the system of
+    constraints of \p *this.
 
-/* Automatically generated from PPL source file ../src/Constraint_System.inlines.hh line 27. */
+    \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
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
 
-inline
-Constraint_System::Constraint_System()
-  : Linear_System(NECESSARILY_CLOSED) {
-}
+    \param var
+    The space dimension that will be unconstrained.
 
-inline
-Constraint_System::Constraint_System(const Constraint& c)
-  : Linear_System(c.topology()) {
-  Linear_System::insert(c);
-}
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void unconstrain(Variable var);
 
-inline
-Constraint_System::Constraint_System(const Constraint_System& cs)
-  : Linear_System(cs) {
-}
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p to_be_unconstrained,
+    assigning the result to \p *this.
 
-inline
-Constraint_System::Constraint_System(const Topology topol)
-  : Linear_System(topol) {
-}
+    \param to_be_unconstrained
+    The set of space dimension that will be unconstrained.
 
-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) {
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p to_be_removed.
+  */
+  void unconstrain(const Variables_Set& to_be_unconstrained);
 
-inline
-Constraint_System::~Constraint_System() {
-}
+  /*! \brief
+    Assigns to \p *this the intersection of \p *this and \p y.
+    The result is not guaranteed to be minimized.
 
-inline Constraint_System&
-Constraint_System::operator=(const Constraint_System& y) {
-  Linear_System::operator=(y);
-  return *this;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  void intersection_assign(const Polyhedron& y);
 
-inline Constraint&
-Constraint_System::operator[](const dimension_type k) {
-  return static_cast<Constraint&>(Linear_System::operator[](k));
-}
+  /*! \brief
+    Assigns to \p *this the intersection of \p *this and \p y,
+    minimizing the result.
 
-inline const Constraint&
-Constraint_System::operator[](const dimension_type k) const {
-  return static_cast<const Constraint&>(Linear_System::operator[](k));
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-inline dimension_type
-Constraint_System::max_space_dimension() {
-  return Linear_System::max_space_dimension();
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
 
-inline dimension_type
-Constraint_System::space_dimension() const {
-  return Linear_System::space_dimension();
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool intersection_assign_and_minimize(const Polyhedron& y);
 
-inline void
-Constraint_System::clear() {
-  Linear_System::clear();
-}
+  /*! \brief
+    Assigns to \p *this the poly-hull of \p *this and \p y.
+    The result is not guaranteed to be minimized.
 
-inline const Constraint_System&
-Constraint_System::zero_dim_empty() {
-  assert(zero_dim_empty_p != 0);
-  return *zero_dim_empty_p;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  void poly_hull_assign(const Polyhedron& y);
 
-inline
-Constraint_System::const_iterator::const_iterator()
-  : i(), csp(0) {
-}
+  /*! \brief
+    Assigns to \p *this the poly-hull of \p *this and \p y,
+    minimizing the result.
 
-inline
-Constraint_System::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i), csp(y.csp) {
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-inline
-Constraint_System::const_iterator::~const_iterator() {
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
 
-inline Constraint_System::const_iterator&
-Constraint_System::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  csp = y.csp;
-  return *this;
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool poly_hull_assign_and_minimize(const Polyhedron& y);
 
-inline const Constraint&
-Constraint_System::const_iterator::operator*() const {
-  return static_cast<const Constraint&>(*i);
-}
+  //! Same as poly_hull_assign(y).
+  void upper_bound_assign(const Polyhedron& y);
 
-inline const Constraint*
-Constraint_System::const_iterator::operator->() const {
-  return static_cast<const Constraint*>(i.operator->());
-}
+  /*! \brief
+    Assigns to \p *this
+    the \ref Convex_Polyhedral_Difference "poly-difference"
+    of \p *this and \p y. The result is not guaranteed to be minimized.
 
-inline Constraint_System::const_iterator&
-Constraint_System::const_iterator::operator++() {
-  ++i;
-  skip_forward();
-  return *this;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  void poly_difference_assign(const Polyhedron& y);
 
-inline Constraint_System::const_iterator
-Constraint_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
-}
+  //! Same as poly_difference_assign(y).
+  void difference_assign(const Polyhedron& y);
 
-inline bool
-Constraint_System::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
+  /*! \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.
 
-inline bool
-Constraint_System::const_iterator::operator!=(const const_iterator& y) const {
-  return i != y.i;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  bool simplify_using_context_assign(const Polyhedron& y);
 
-inline
-Constraint_System::const_iterator::
-const_iterator(const Linear_System::const_iterator& iter,
-	       const Constraint_System& csys)
-  : i(iter), csp(&csys) {
-}
+  /*! \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.
 
-inline Constraint_System::const_iterator
-Constraint_System::begin() const {
-  const_iterator i(Linear_System::begin(), *this);
-  i.skip_forward();
-  return i;
-}
+    \param var
+    The variable to which the affine expression is assigned;
 
-inline Constraint_System::const_iterator
-Constraint_System::end() const {
-  const const_iterator i(Linear_System::end(), *this);
-  return i;
-}
+    \param expr
+    The numerator of the affine expression;
 
-inline bool
-Constraint_System::empty() const {
-  return begin() == end();
-}
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-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 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.
 
-inline void
-Constraint_System::swap(Constraint_System& y) {
-  Linear_System::swap(y);
-}
+    \if Include_Implementation_Details
 
-inline memory_size_type
-Constraint_System::external_memory_in_bytes() const {
-  return Linear_System::external_memory_in_bytes();
-}
+    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).
 
-inline memory_size_type
-Constraint_System::total_memory_in_bytes() const {
-  return Linear_System::total_memory_in_bytes();
-}
+    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.
 
-inline void
-Constraint_System::simplify() {
-  Linear_System::simplify();
-}
+    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]
 
-} // namespace Parma_Polyhedra_Library
+    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]
 
-namespace std {
+    Affine transformations are, for example:
+    - translations
+    - rotations
+    - symmetries.
+    \endif
+  */
+  void affine_image(Variable var,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		      = Coefficient_one());
 
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
-inline void
-swap(Parma_Polyhedra_Library::Constraint_System& x,
-     Parma_Polyhedra_Library::Constraint_System& y) {
-  x.swap(y);
-}
+  /*! \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.
 
-} // namespace std
+    \param var
+    The variable to which the affine expression is substituted;
 
-/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 1. */
-/* Congruence_System class declaration.
-*/
+    \param expr
+    The numerator of the affine expression;
 
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-/* Automatically generated from PPL source file ../src/Congruence_System.defs.hh line 33. */
-#include <iosfwd>
+    \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.
 
-namespace Parma_Polyhedra_Library {
+    \if Include_Implementation_Details
 
-namespace IO_Operators {
+    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).
 
-//! 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);
+    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.
 
-} // namespace IO_Operators
+    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].
 
-} // namespace Parma_Polyhedra_Library
+    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.
 
+    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());
 
-namespace std {
+  /*! \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.
 
-//! 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);
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-} // namespace std
+    \param relsym
+    The relation symbol;
 
-//! A system of congruences.
-/*! \ingroup PPL_CXX_interface
-    An object of the class Congruence_System is a system of congruences,
-    i.e., a multiset of objects of the class Congruence.
-    When inserting congruences in a system, space dimensions are
-    automatically adjusted so that all the congruences in the system
-    are defined on the same vector space.
+    \param expr
+    The numerator of the right hand side affine expression;
 
-    \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
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
 
-    \par Example 1
-    The following code builds a system of congruences corresponding to
-    an integer grid in \f$\Rset^2\f$:
-    \code
-  Congruence_System cgs;
-  cgs.insert(x %= 0);
-  cgs.insert(y %= 0);
-    \endcode
-    Note that:
-    the congruence system is created with space dimension zero;
-    the first and second congruence insertions increase the space
-    dimension to \f$1\f$ and \f$2\f$, respectively.
+    \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());
 
-    \par Example 2
-    By adding to the congruence system of the previous example,
-    the congruence \f$x + y = 1 \pmod{2}\f$:
-    \code
-  cgs.insert((x + y %= 1) / 2);
-    \endcode
-    we obtain the grid containing just those integral
-    points where the sum of the \p x and \p y values is odd.
+  /*! \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 Example 3
-    The following code builds a system of congruences corresponding to
-    the grid in \f$\Zset^2\f$ containing just the integral points on
-    the \p x axis:
-    \code
-  Congruence_System cgs;
-  cgs.insert(x %= 0);
-  cgs.insert((y %= 0) / 0);
-    \endcode
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-    \note
-    After inserting a multiset of congruences in a congruence system,
-    there are no guarantees that an <EM>exact</EM> copy of them
-    can be retrieved:
-    in general, only an <EM>equivalent</EM> congruence system
-    will be available, where original congruences may have been
-    reordered, removed (if they are trivial, duplicate or
-    implied by other congruences), linearly combined, etc.
-*/
-class Parma_Polyhedra_Library::Congruence_System : private Matrix {
-public:
-  //! Default constructor: builds an empty system of congruences.
-  Congruence_System();
+    \param relsym
+    The relation symbol;
 
-  //! Builds the singleton system containing only congruence \p cg.
-  explicit Congruence_System(const Congruence& cg);
+    \param expr
+    The numerator of the right hand side affine expression;
 
-  /*! \brief
-    If \p c represents the constraint \f$ e_1 = e_2 \f$, builds the
-    singleton system containing only constraint \f$ e_1 = e_2
-    \pmod{0}\f$.
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
 
     \exception std::invalid_argument
-    Thrown if \p c is not an equality constraint.
+    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.
   */
-  explicit Congruence_System(const Constraint& c);
-
-  //! Builds a system containing copies of any equalities in \p cs.
-  explicit Congruence_System(const Constraint_System& cs);
-
-  //! Ordinary copy-constructor.
-  Congruence_System(const Congruence_System& cgs);
+  void
+  generalized_affine_preimage(Variable var,
+			      Relation_Symbol relsym,
+			      const Linear_Expression& expr,
+			      Coefficient_traits::const_reference denominator
+			      = Coefficient_one());
 
-  //! Destructor.
-  ~Congruence_System();
+  /*! \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.
 
-  //! Assignment operator.
-  Congruence_System& operator=(const Congruence_System& cgs);
+    \param lhs
+    The left hand side affine expression;
 
-  //! Returns the maximum space dimension a Congruence_System can handle.
-  static dimension_type max_space_dimension();
+    \param relsym
+    The relation symbol;
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+    \param rhs
+    The right hand side affine expression.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is exactly equal
-    to \p cgs.
+    \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.
   */
-  bool is_equal_to(const Congruence_System& cgs) const;
+  void generalized_affine_image(const Linear_Expression& lhs,
+				Relation_Symbol relsym,
+				const Linear_Expression& rhs);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this contains one or
-    more linear equalities.
-  */
-  bool has_linear_equalities() const;
+    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.
 
-  //! Removes all the congruences and sets the space dimension to 0.
-  void clear();
+    \param lhs
+    The left hand side affine expression;
 
-  /*! \brief
-    Inserts in \p *this a copy of the congruence \p cg, increasing the
-    number of space dimensions if needed.
+    \param relsym
+    The relation symbol;
 
-    The copy of \p cg will be strongly normalized after being
-    inserted.
+    \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 insert(const Congruence& cg);
+  void generalized_affine_preimage(const Linear_Expression& lhs,
+				   Relation_Symbol relsym,
+				   const Linear_Expression& rhs);
 
-  /*! \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.
+  /*!
+    \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$.
 
-    The modulo 0 congruence will be strongly normalized after being
-    inserted.
+    \param var
+    The variable updated by the affine relation;
 
-    \exception std::invalid_argument
-    Thrown if \p c is a relational constraint.
-  */
-  void insert(const Constraint& c);
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-  // TODO: Consider adding a recycling_insert(cg).
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-  /*! \brief
-    Inserts in \p *this a copy of the congruences in \p cgs,
-    increasing the number of space dimensions if needed.
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-    The inserted copies will be strongly normalized.
+    \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 insert(const Congruence_System& cgs);
+  void bounded_affine_image(Variable var,
+			    const Linear_Expression& lb_expr,
+			    const Linear_Expression& ub_expr,
+			    Coefficient_traits::const_reference denominator
+			    = Coefficient_one());
 
-  /*! \brief
-    Inserts into \p *this the congruences in \p cgs, increasing the
-    number of space dimensions if needed.
-  */
-  void recycling_insert(Congruence_System& cgs);
+  /*!
+    \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$.
 
-  //! Initializes the class.
-  static void initialize();
+    \param var
+    The variable updated by the affine relation;
 
-  //! Finalizes the class.
-  static void finalize();
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-  //! Returns the system containing only Congruence::zero_dim_false().
-  static const Congruence_System& zero_dim_empty();
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-  //! An iterator over a system of congruences.
-  /*! \ingroup PPL_CXX_interface
-    A const_iterator is used to provide read-only access
-    to each congruence contained in an object of Congruence_System.
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-    \par Example
-    The following code prints the system of congruences
-    defining the grid <CODE>gr</CODE>:
-    \code
-  const Congruence_System& cgs = gr.congruences();
-  for (Congruence_System::const_iterator i = cgs.begin(),
-         cgs_end = cgs.end(); i != cgs_end; ++i)
-    cout << *i << endl;
-    \endcode
+    \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.
   */
-  class const_iterator
-    : public std::iterator<std::forward_iterator_tag,
-			   Congruence,
-			   ptrdiff_t,
-			   const Congruence*,
-			   const Congruence&> {
-  public:
-    //! Default constructor.
-    const_iterator();
+  void bounded_affine_preimage(Variable var,
+			       const Linear_Expression& lb_expr,
+			       const Linear_Expression& ub_expr,
+			       Coefficient_traits::const_reference denominator
+			       = Coefficient_one());
 
-    //! Ordinary copy-constructor.
-    const_iterator(const const_iterator& y);
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
 
-    //! Destructor.
-    ~const_iterator();
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible or
+    dimension-incompatible.
+  */
+  void time_elapse_assign(const Polyhedron& y);
 
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-    //! Dereference operator.
-    const Congruence& operator*() const;
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref BHRZ03_widening "BHRZ03-widening" between \p *this and \p y.
 
-    //! Indirect member selector.
-    const Congruence* operator->() const;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+    \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).
 
-    //! Postfix increment operator.
-    const_iterator operator++(int);
+    \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);
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      identical.
-    */
-    bool operator==(const const_iterator& y) const;
+  /*! \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.
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if \p *this and \p y are
-      different.
-    */
-    bool operator!=(const const_iterator& y) const;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  private:
-    friend class Congruence_System;
+    \param cs
+    The system of constraints used to improve the widened polyhedron;
 
-    //! The const iterator over the matrix of congruences.
-    Matrix::const_iterator 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).
 
-    //! A const pointer to the matrix of congruences.
-    const Matrix* csp;
+    \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);
 
-    //! Constructor.
-    const_iterator(const Matrix::const_iterator& iter,
-		   const Congruence_System& cgs);
+  /*! \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.
 
-    //! \p *this skips to the next non-trivial congruence.
-    void skip_forward();
-  };
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no congruences.
-  bool empty() const;
+    \param cs
+    The system of constraints used to improve the widened polyhedron;
 
-  /*! \brief
-    Returns the const_iterator pointing to the first congruence, if \p
-    *this is not empty; otherwise, returns the past-the-end
-    const_iterator.
+    \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 topology-incompatible or
+    dimension-incompatible.
   */
-  const_iterator begin() const;
+  void bounded_BHRZ03_extrapolation_assign(const Polyhedron& y,
+					   const Constraint_System& cs,
+					   unsigned* tp = 0);
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    \ref H79_widening "H79_widening" between \p *this and \p y.
 
-  //! 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;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  PPL_OUTPUT_DECLARATIONS
+    \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
-    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 *this and \p y are topology-incompatible or
+    dimension-incompatible.
   */
-  bool ascii_load(std::istream& s);
+  void H79_widening_assign(const Polyhedron& y, unsigned* tp = 0);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  //! Same as H79_widening_assign(y, tp).
+  void widening_assign(const Polyhedron& y, unsigned* tp = 0);
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  /*! \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.
 
-  //! Returns the number of equalities.
-  dimension_type num_equalities() const;
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-  //! Returns the number of proper congruences.
-  dimension_type num_proper_congruences() const;
+    \param cs
+    The system of constraints used to improve the widened polyhedron;
 
-  //! Swaps \p *this with \p y.
-  void swap(Congruence_System& 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).
 
-  /*! \brief
-    Adds \p dims rows and \p dims columns of zeroes to the matrix,
-    initializing the added rows as in the unit congruence system.
+    \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);
 
-    \param dims
-    The number of rows and columns to be added: must be strictly
-    positive.
+  /*! \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.
 
-    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);
+    \param y
+    A polyhedron that <EM>must</EM> be contained in \p *this;
 
-protected:
+    \param cs
+    The system of constraints used to improve the widened polyhedron;
 
-  //! Returns <CODE>true</CODE> if \p g satisfies all the congruences.
-  bool satisfies_all_congruences(const Grid_Generator& g) 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).
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Congruence::zero_dim_false().
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are topology-incompatible or
+    dimension-incompatible.
   */
-  static const Congruence_System* zero_dim_empty_p;
+  void bounded_H79_extrapolation_assign(const Polyhedron& y,
+					const Constraint_System& cs,
+					unsigned* tp = 0);
 
-  //! Builds an empty (i.e. zero rows) system of dimension \p d.
-  explicit Congruence_System(dimension_type d);
+  //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
-  /*! \brief
-    Concatenates copies of the congruences from \p cgs onto \p *this.
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
-    \param cgs
-    The congruence system to append to \p this.  The number of rows in
-    \p cgs must be strictly positive.
+  /*! \brief
+    Adds \p m new space dimensions and embeds the old polyhedron
+    in the new vector space.
 
-    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);
+    \param m
+    The number of dimensions to add.
 
-  //! Adjusts all expressions to have the same moduli.
-  void normalize_moduli();
+    \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>.
 
-  //! Increase the number of space dimensions to \p new_space_dim.
-  /*!
-    \p new_space_dim must at least equal to the current space
-    dimension.
+    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]
   */
-  bool increase_space_dimension(dimension_type new_space_dim);
+  void add_space_dimensions_and_embed(dimension_type m);
 
   /*! \brief
-    Inserts in \p *this an exact copy of the congruence \p cg,
-    increasing the number of space dimensions if needed.
+    Adds \p m new space dimensions to the polyhedron
+    and does not embed it in the new vector space.
 
-    This method inserts a copy of \p cg in the given form, instead of
-    first strong normalizing \p cg as \ref insert would do.
+    \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>.
+
+    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 insert_verbatim(const Congruence& cg);
+  void add_space_dimensions_and_project(dimension_type m);
 
-  friend class const_iterator;
-  friend class Grid;
-  friend class Grid_Certificate;
+  /*! \brief
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
+    of \p *this and \p y, taken in this order.
 
-  friend void std::swap(Parma_Polyhedra_Library::Congruence_System& x,
-			Parma_Polyhedra_Library::Congruence_System& y);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are topology-incompatible.
 
-  friend bool
-  operator==(const Congruence_System& x, const Congruence_System& y);
+    \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 Polyhedron& y);
 
-  //! Returns the \p k- th congruence of the system.
-  Congruence& operator[](dimension_type k);
+  //! Removes all the specified dimensions from the vector space.
+  /*!
+    \param to_be_removed
+    The set of Variable objects corresponding to the space dimensions
+    to be removed.
 
-  //! Returns a constant reference to the \p k- th congruence of the system.
-  const Congruence& operator[](dimension_type k) const;
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p to_be_removed.
+  */
+  void remove_space_dimensions(const Variables_Set& to_be_removed);
 
   /*! \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.
+    Removes the higher dimensions of the vector space so that
+    the resulting space will have dimension \p new_dimension.
 
-    This method assumes the system is in minimal form.
+    \exception std::invalid_argument
+    Thrown if \p new_dimensions is greater than the space dimension of
+    \p *this.
   */
-  bool has_a_free_dimension() const;
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
   /*! \brief
-    Substitutes a given column of coefficients by a given affine
-    expression.
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
-    \param v
-    Index of the column to which the affine transformation is
-    substituted;
+    \param pfunc
+    The partial function specifying the destiny of each space dimension.
 
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+    The template class 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 denominator
-    The denominator of the affine transformation.
+    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);
 
-    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.
+  //! 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 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]
+    \param m
+    The number of replicas to be created.
 
-    \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);
+    \exception std::invalid_argument
+    Thrown if \p var does not correspond to a dimension of the vector space.
 
-  /*! \brief
-    Removes the higher dimensions of the system so that the resulting
-    system will have dimension \p new_dimension.
+    \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 value of \p new_dimension must be at most the space dimension
-    of \p *this.
+    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 remove_higher_space_dimensions(dimension_type new_dimension);
+  void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Resizes the system without worrying about the old contents.
+  //! Folds the space dimensions in \p to_be_folded into \p var.
   /*!
-    \param new_num_rows
-    The number of rows of the resized system;
-
-    \param new_num_columns
-    The number of columns of the resized system.
+    \param to_be_folded
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-    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);
-};
+    \param var
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
-// Congruence_System.inlines.hh is not included here on purpose.
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p var or with
+    one of the Variable objects contained in \p to_be_folded.
+    Also thrown if \p var is contained in \p to_be_folded.
 
-/* Automatically generated from PPL source file ../src/Congruence_System.inlines.hh line 1. */
-/* Congruence_System class implementation: inline functions.
-*/
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    \p to_be_folded is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p var is not a member
+    of \p to_be_folded, then the space dimensions corresponding to
+    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
+    into the \f$k\f$-th space dimension.
+  */
+  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
 
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 1. */
-/* Congruence class declaration.
-*/
+  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
 
+  //! \name Miscellaneous Member Functions
+  //@{
 
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 36. */
-#include <iosfwd>
+  //! Destructor.
+  ~Polyhedron();
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Swaps \p *this with polyhedron \p y.
+    (\p *this and \p y can be dimension-incompatible.)
 
-namespace IO_Operators {
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are topology-incompatible.
+  */
+  void swap(Polyhedron& y);
 
-//! Output operators.
+  PPL_OUTPUT_DECLARATIONS
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-std::ostream&
-operator<<(std::ostream& s, const Congruence& c);
+  /*! \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);
 
-// Put this in the namespace here to declare it a friend later.
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
-std::ostream&
-operator<<(std::ostream& s, const Congruence_System& cgs);
+  //! 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.
 
-} // namespace IO_Operators
+    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;
 
-// Put these in the namespace here to declare them friend later.
+  //@} // Miscellaneous Member Functions
 
-//! 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);
+private:
+  //! The system of constraints.
+  Constraint_System con_sys;
 
-//! 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);
+  //! The system of generators.
+  Generator_System gen_sys;
 
-//! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
-/*! \relates Congruence */
-Congruence
-operator%=(const Linear_Expression& e1, const Linear_Expression& e2);
+  //! The saturation matrix having constraints on its columns.
+  Bit_Matrix sat_c;
 
-//! Returns the congruence \f$e = n \pmod{1}\f$.
-/*! \relates Congruence */
-Congruence
-operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  //! The saturation matrix having generators on its columns.
+  Bit_Matrix sat_g;
 
-//! 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
+#define PPL_IN_Polyhedron_CLASS
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Ph_Status.idefs.hh line 1. */
+/* Polyhedron::Status class declaration.
 */
-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
+#ifndef PPL_IN_Polyhedron_CLASS
+#error "Do not include Ph_Status.idefs.hh directly; use Polyhedron.defs.hh instead."
+#endif
 
-namespace std {
+//! 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;
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Congruence */
-void
-swap(Parma_Polyhedra_Library::Congruence& x,
-     Parma_Polyhedra_Library::Congruence& 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;
+  - <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();
 
-} // namespace std
+  //! \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();
 
-//! 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$
+  bool test_empty() const;
+  void reset_empty();
+  void set_empty();
 
-  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.
+  bool test_c_up_to_date() const;
+  void reset_c_up_to_date();
+  void set_c_up_to_date();
 
-  \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>'.
+  bool test_g_up_to_date() const;
+  void reset_g_up_to_date();
+  void set_g_up_to_date();
 
-  The space dimension of a congruence is defined as the maximum
-  space dimension of the arguments of its constructor.
+  bool test_c_minimized() const;
+  void reset_c_minimized();
+  void set_c_minimized();
 
-  \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
+  bool test_g_minimized() const;
+  void reset_g_minimized();
+  void set_g_minimized();
 
-  \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
+  bool test_sat_c_up_to_date() const;
+  void reset_sat_c_up_to_date();
+  void set_sat_c_up_to_date();
 
-  \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.
+  bool test_sat_g_up_to_date() const;
+  void reset_sat_g_up_to_date();
+  void set_sat_g_up_to_date();
 
-  \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);
+  bool test_c_pending() const;
+  void reset_c_pending();
+  void set_c_pending();
 
-  //! 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);
+  bool test_g_pending() const;
+  void reset_g_pending();
+  void set_g_pending();
+  //@} // Test, remove or add an individual assertion from the conjunction
 
-  //! Destructor.
-  ~Congruence();
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-  //! Assignment operator.
-  Congruence& operator=(const Congruence& cg);
+  PPL_OUTPUT_DECLARATIONS
 
-  //! Returns the maximum space dimension a Congruence can handle.
-  static dimension_type max_space_dimension();
+  /*! \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 dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+private:
+  //! Status is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
 
-  //! 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;
+  //! \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 the inhomogeneous term of \p *this.
-  Coefficient_traits::const_reference inhomogeneous_term() const;
+  //! This holds the current bitset.
+  flags_t flags;
 
-  //! Returns a const reference to the modulus of \p *this.
-  Coefficient_traits::const_reference modulus() const;
+  //! Construct from a bit-mask.
+  Status(flags_t mask);
 
-  //! 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);
+  //! Check whether <EM>all</EM> bits in \p mask are set.
+  bool test_all(flags_t mask) const;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a tautology
-    (i.e., an always true congruence).
+  //! Check whether <EM>at least one</EM> bit in \p mask is set.
+  bool test_any(flags_t mask) const;
 
-    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;
+  //! Set the bits in \p mask.
+  void set(flags_t mask);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if
-    \p *this is inconsistent (i.e., an always false congruence).
+  //! Reset the bits in \p mask.
+  void reset(flags_t mask);
+};
 
-    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 /home/bagnara/ppl/ppl/src/Polyhedron.defs.hh line 2035. */
+#undef PPL_IN_Polyhedron_CLASS
+
+  //! The status flags to keep track of the polyhedron's internal state.
+  Status status;
 
-  //! 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;
+  //! The number of dimensions of the enclosing vector space.
+  dimension_type space_dim;
 
-  //! Returns <CODE>true</CODE> if \p *this is an equality.
-  /*!
-    A modulus of zero denotes a linear equality.
-  */
-  bool is_equality() const;
+  //! Returns the topological kind of the polyhedron.
+  Topology topology() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if \p *this is equal to \p cg in
-    dimension \p dim.
+    Returns <CODE>true</CODE> if and only if the polyhedron
+    is necessarily closed.
   */
-  bool is_equal_at_dimension(dimension_type dim,
-			     const Congruence& cg) const;
-
-  //! Initializes the class.
-  static void initialize();
+  bool is_necessarily_closed() const;
 
-  //! Finalizes the class.
-  static void finalize();
+  friend bool
+  Parma_Polyhedra_Library::Interfaces
+  ::is_necessarily_closed_for_interfaces(const Polyhedron&);
 
   /*! \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>.
+    Uses a copy of constraint \p c to refine the system of constraints
+    of \p *this.
+
+    \param c The constraint to be added. If it is dimension-incompatible
+    with \p *this, the behavior is undefined.
   */
-  static const Congruence& zero_dim_integrality();
+  void refine_no_check(const Constraint& c);
 
-  /*! \brief
-    Returns a reference to the false (zero-dimension space) congruence
-    \f$0 = 1 \pmod{0}\f$.
+  //! \name Private Verifiers: Verify if Individual Flags are Set
+  //@{
+
+  //! 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.
   */
-  static const Congruence& zero_dim_false();
+  bool marked_empty() const;
 
-  //! Returns the congruence \f$e1 = e2 \pmod{1}\f$.
-  static Congruence
-  create(const Linear_Expression& e1, const Linear_Expression& e2);
+  //! Returns <CODE>true</CODE> if the system of constraints is up-to-date.
+  bool constraints_are_up_to_date() const;
 
-  //! Returns the congruence \f$e = n \pmod{1}\f$.
-  static Congruence
-  create(const Linear_Expression& e, Coefficient_traits::const_reference n);
+  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
+  bool generators_are_up_to_date() const;
 
-  //! Returns the congruence \f$n = e \pmod{1}\f$.
-  static Congruence
-  create(Coefficient_traits::const_reference n, const Linear_Expression& e);
+  //! 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;
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
+  //! 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.
   */
-  memory_size_type total_memory_in_bytes() const;
+  bool generators_are_minimized() const;
 
-  //! 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 there are pending constraints.
+  bool has_pending_constraints() const;
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Returns <CODE>true</CODE> if there are pending generators.
+  bool has_pending_generators() const;
 
   /*! \brief
-    Loads from \p s an ASCII representation of the internal
-    representation of \p *this.
+    Returns <CODE>true</CODE> if there are
+    either pending constraints or pending generators.
   */
-  bool ascii_load(std::istream& s);
-
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  bool has_something_pending() const;
 
-protected:
+  //! Returns <CODE>true</CODE> if the polyhedron can have something pending.
+  bool can_have_something_pending() const;
 
-  //! Normalizes the signs.
-  /*!
-    The signs of the coefficients and the inhomogeneous term are
-    normalized, leaving the first non-zero homogeneous coefficient
-    positive.
+  /*! \brief
+    Returns <CODE>true</CODE> if the saturation matrix \p sat_c
+    is up-to-date.
   */
-  void sign_normalize();
+  bool sat_c_is_up_to_date() const;
 
-  //! Normalizes signs and the inhomogeneous term.
-  /*!
-    Applies sign_normalize, then reduces the inhomogeneous term to the
-    smallest possible positive number.
+  /*! \brief
+    Returns <CODE>true</CODE> if the saturation matrix \p sat_g
+    is up-to-date.
   */
-  void normalize();
+  bool sat_g_is_up_to_date() const;
 
-  //! 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();
+  //@} // Private Verifiers: Verify if Individual Flags are Set
+
+  //! \name State Flag Setters: Set Only the Specified Flags
+  //@{
 
-private:
   /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the false (zero-dimension space) congruence \f$0 = 1 \pmod{0}\f$.
+    Sets \p status to express that the polyhedron is the universe
+    0-dimension vector space, clearing all corresponding matrices.
   */
-  static const Congruence* zero_dim_false_p;
+  void set_zero_dim_univ();
 
   /*! \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>.
+    Sets \p status to express that the polyhedron is empty,
+    clearing all corresponding matrices.
   */
-  static const Congruence* zero_dim_integrality_p;
+  void set_empty();
 
-  //! Marks this congruence as a linear equality.
-  void set_is_equality();
+  //! Sets \p status to express that constraints are up-to-date.
+  void set_constraints_up_to_date();
 
-  //! Negates the elements from index \p start to index \p end.
-  void negate(dimension_type start, dimension_type end);
+  //! Sets \p status to express that generators are up-to-date.
+  void set_generators_up_to_date();
 
-  //! Default constructor: private and not implemented.
-  Congruence();
+  //! Sets \p status to express that constraints are minimized.
+  void set_constraints_minimized();
 
-  //! Copy-constructs with specified size and capacity.
-  Congruence(const Congruence& cg,
-	     dimension_type sz,
-	     dimension_type capacity);
+  //! Sets \p status to express that generators are minimized.
+  void set_generators_minimized();
 
-  //! Constructs from a constraint, with specified size and capacity.
-  Congruence(const Constraint& c,
-	     dimension_type sz,
-	     dimension_type capacity);
+  //! Sets \p status to express that constraints are pending.
+  void set_constraints_pending();
 
-  //! 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);
+  //! Sets \p status to express that generators are pending.
+  void set_generators_pending();
 
-  //! Constructs from Linear_Expression \p le, using modulus \p m.
-  /*!
-    Builds a congruence with modulus \p m, stealing the coefficients
-    from \p le.
+  //! Sets \p status to express that \p sat_c is up-to-date.
+  void set_sat_c_up_to_date();
 
-    \param le
-    The Linear_Expression holding the coefficients.
+  //! Sets \p status to express that \p sat_g is up-to-date.
+  void set_sat_g_up_to_date();
 
-    \param m
-    The modulus for the congruence, which must be zero or greater.
-  */
-  Congruence(Linear_Expression& le,
-	     Coefficient_traits::const_reference m);
+  //@} // State Flag Setters: Set Only the Specified Flags
 
-  //! Swaps \p *this with \p y.
-  void swap(Congruence& y);
+  //! \name State Flag Cleaners: Clear Only the Specified Flag
+  //@{
 
-  /*! \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;
+  //! Clears the \p status flag indicating that the polyhedron is empty.
+  void clear_empty();
 
-  /*! \brief
-    Throws a <CODE>std::invalid_argument</CODE> exception containing
-    the appropriate error message.
+  //! 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
-  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);
-
-  friend bool
-  operator==(const Congruence& x, const Congruence& y);
+  void clear_constraints_up_to_date();
 
-  friend bool
-  operator!=(const Congruence& x, const Congruence& y);
+  //! 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();
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators
-  ::operator<<(std::ostream& s,
-	       const Congruence_System& cgs);
+  //! Sets \p status to express that constraints are no longer minimized.
+  void clear_constraints_minimized();
 
-  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;
+  //! Sets \p status to express that generators are no longer minimized.
+  void clear_generators_minimized();
 
-  friend void
-  std::swap(Parma_Polyhedra_Library::Congruence& x,
-	    Parma_Polyhedra_Library::Congruence& y);
-};
+  //! Sets \p status to express that there are no longer pending constraints.
+  void clear_pending_constraints();
 
-/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 1. */
-/* Congruence class implementation: inline functions.
-*/
+  //! Sets \p status to express that there are no longer pending generators.
+  void clear_pending_generators();
 
+  //! Sets \p status to express that \p sat_c is no longer up-to-date.
+  void clear_sat_c_up_to_date();
 
-/* Automatically generated from PPL source file ../src/Congruence.inlines.hh line 28. */
+  //! Sets \p status to express that \p sat_g is no longer up-to-date.
+  void clear_sat_g_up_to_date();
 
-#include <sstream>
+  //@} // State Flag Cleaners: Clear Only the Specified Flag
 
-namespace Parma_Polyhedra_Library {
+  //! \name The Handling of Pending Rows
+  //@{
 
-inline
-Congruence::Congruence(const Congruence& cg)
-  : Row(cg) {
-}
+  /*! \brief
+    Processes the pending rows of either description of the polyhedron
+    and obtains a minimized polyhedron.
 
-inline
-Congruence::Congruence(const Congruence& cg,
-		       dimension_type sz, dimension_type capacity)
-  : Row(cg, sz, capacity) {
-}
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
 
-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;
-}
+    It is assumed that the polyhedron does have some constraints or
+    generators pending.
+  */
+  bool process_pending() const;
 
-inline
-Congruence::~Congruence() {
-}
+  //! 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.
 
-inline
-Congruence::Congruence(Linear_Expression& le,
-		       Coefficient_traits::const_reference m) {
-  Row::swap(static_cast<Row&>(le));
-  assert(m >= 0);
-  (*this)[size()-1] = m;
-}
+    It is assumed that the polyhedron does have some pending constraints.
+  */
+  bool process_pending_constraints() const;
 
-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;
-}
+  //! 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;
 
-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;
-}
+  /*! \brief
+    Lazily integrates the pending descriptions of the polyhedron
+    to obtain a constraint system without pending rows.
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator%=(const Linear_Expression& e1, const Linear_Expression& e2) {
-  return Congruence::create(e1, e2);
-}
+    It is assumed that the polyhedron does have some constraints or
+    generators pending.
+  */
+  void remove_pending_to_obtain_constraints() const;
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator%=(const Linear_Expression& e, Coefficient_traits::const_reference n) {
-  return Congruence::create(e, n);
-}
+  /*! \brief
+    Lazily integrates the pending descriptions of the polyhedron
+    to obtain a generator system without pending rows.
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline Congruence
-operator/(const Congruence& cg, Coefficient_traits::const_reference k) {
-  Congruence ret(cg, k);
-  return ret;
-}
+    \return
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty polyhedron.
 
-inline const Congruence&
-Congruence::zero_dim_integrality() {
-  return *zero_dim_integrality_p;
-}
+    It is assumed that the polyhedron does have some constraints or
+    generators pending.
+  */
+  bool remove_pending_to_obtain_generators() const;
 
-inline const Congruence&
-Congruence::zero_dim_false() {
-  return *zero_dim_false_p;
-}
+  //@} // The Handling of Pending Rows
 
-inline Congruence&
-Congruence::operator=(const Congruence& c) {
-  Row::operator=(c);
-  return *this;
-}
+  //! \name Updating and Sorting Matrices
+  //@{
 
-/*! \relates Congruence */
-inline Congruence
-operator/(const Constraint& c, Coefficient_traits::const_reference m) {
-  Congruence ret(c);
-  return ret / m;
-}
+  //! 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;
 
-inline Congruence&
-Congruence::operator/=(Coefficient_traits::const_reference k) {
-  if (k >= 0)
-    (*this)[size()-1] *= k;
-  else
-    (*this)[size()-1] *= -k;
-  return *this;
-}
+  //! 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.
 
-/*! \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);
-}
+    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;
 
-/*! \relates Congruence */
-inline bool
-operator!=(const Congruence& x, const Congruence& y) {
-  return !(x == y);
-}
+  //! 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;
 
-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;
-}
+  //! 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;
 
-inline dimension_type
-Congruence::space_dimension() const {
-  return size() - 2;
-}
+  //! 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;
 
-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];
-}
+  //! 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;
 
-inline Coefficient_traits::const_reference
-Congruence::inhomogeneous_term() const {
-  return (*this)[0];
-}
+  //! 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;
 
-inline Coefficient_traits::const_reference
-Congruence::modulus() const {
-  assert(size() > 1);
-  return (*this)[size()-1];
-}
+  //! 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;
 
-inline bool
-Congruence::is_proper_congruence() const {
-  return modulus() > 0;
-}
+  //@} // Updating and Sorting Matrices
 
-inline bool
-Congruence::is_equality() const {
-  return modulus() == 0;
-}
+  //! \name Weak and Strong Minimization of Descriptions
+  //@{
 
-inline bool
-Congruence::is_equal_at_dimension(dimension_type dim,
-				  const Congruence& cg) const {
-  return operator[](dim) * cg.modulus() == cg[dim] * modulus();
-}
+  //! 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 void
-Congruence::set_is_equality() {
-  (*this)[size()-1] = 0;
-}
+    Minimization is not attempted if the Status field already declares
+    both systems to be minimized.
+  */
+  bool minimize() const;
 
-inline void
-Congruence::negate(dimension_type start, dimension_type end) {
-  while (start <= end)
-    neg_assign(operator[](start++));
-}
+  //! 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 memory_size_type
-Congruence::external_memory_in_bytes() const {
-  return Row::external_memory_in_bytes();
-}
+  //! 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 memory_size_type
-Congruence::total_memory_in_bytes() const {
-  return Row::total_memory_in_bytes();
-}
+  //! If constraints are up-to-date, obtain a simplified copy of them.
+  Constraint_System simplified_constraints() const;
 
-inline void
-Congruence::swap(Congruence& y) {
-  Row::swap(y);
-}
+  //@} // Weak and Strong Minimization of Descriptions
 
-} // namespace Parma_Polyhedra_Library
+  enum Three_Valued_Boolean {
+    TVB_TRUE,
+    TVB_FALSE,
+    TVB_DONT_KNOW
+  };
 
-namespace std {
+  //! Polynomial but incomplete equivalence test between polyhedra.
+  Three_Valued_Boolean quick_equivalence_test(const Polyhedron& y) const;
 
-/*! \relates Parma_Polyhedra_Library::Congruence */
-inline void
-swap(Parma_Polyhedra_Library::Congruence& x,
-     Parma_Polyhedra_Library::Congruence& y) {
-  x.swap(y);
-}
+  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
+  bool is_included_in(const Polyhedron& y) const;
 
-} // namespace std
+  //! 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.
 
-/* Automatically generated from PPL source file ../src/Congruence.defs.hh line 478. */
+    \param expr
+    The linear expression to test;
 
-/* Automatically generated from PPL source file ../src/Congruence_System.inlines.hh line 27. */
+    \param from_above
+    <CODE>true</CODE> if and only if the boundedness of interest is
+    "from above".
 
-namespace Parma_Polyhedra_Library {
+    \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 Congruence&
-Congruence_System::operator[](const dimension_type k) {
-  return static_cast<Congruence&>(Matrix::operator[](k));
-}
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-inline const Congruence&
-Congruence_System::operator[](const dimension_type k) const {
-  return static_cast<const Congruence&>(Matrix::operator[](k));
-}
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
 
-inline void
-Congruence_System::insert(const Congruence& cg) {
-  insert_verbatim(cg);
-  static_cast<Congruence&>(operator[](rows.size()-1)).strong_normalize();
-  assert(OK());
-}
+    \param ext_n
+    The numerator of the extremum value;
 
-inline
-Congruence_System::Congruence_System()
-  : Matrix(0, 2) {
-}
+    \param ext_d
+    The denominator of the extremum value;
 
-inline
-Congruence_System::Congruence_System(const Congruence& cg)
-  : Matrix(0, 2) {
-  insert(cg);
-}
+    \param included
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p * this;
 
-inline
-Congruence_System::Congruence_System(const Constraint& c)
-  : Matrix(0, 2) {
-  insert(c);
-}
+    \param g
+    When maximization or minimization succeeds, will be assigned
+    a point or closure point where \p expr reaches the
+    corresponding extremum value.
 
-inline
-Congruence_System::Congruence_System(const Congruence_System& cs)
-  : Matrix(cs) {
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline
-Congruence_System::Congruence_System(const dimension_type d)
-  : Matrix(0, d + 2) {
-}
+    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
-Congruence_System::~Congruence_System() {
-}
+  //! \name Widening- and Extrapolation-Related Functions
+  //@{
 
-inline Congruence_System&
-Congruence_System::operator=(const Congruence_System& y) {
-  Matrix::operator=(y);
-  return *this;
-}
+  /*! \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;
 
-inline dimension_type
-Congruence_System::max_space_dimension() {
-  return Matrix::max_num_columns() - 2;
-}
+  /*! \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;
 
-inline dimension_type
-Congruence_System::space_dimension() const {
-  return Matrix::num_columns() - 2;
-}
+  bool BHRZ03_combining_constraints(const Polyhedron& y,
+				    const BHRZ03_Certificate& y_cert,
+ 				    const Polyhedron& H79,
+				    const Constraint_System& x_minus_H79_con_sys);
 
-inline void
-Congruence_System::clear() {
-  Matrix::clear();
-  add_zero_columns(2);		// Modulus and constant term.
-}
+  bool BHRZ03_evolving_points(const Polyhedron& y,
+			      const BHRZ03_Certificate& y_cert,
+			      const Polyhedron& H79);
 
-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());
-}
+  bool BHRZ03_evolving_rays(const Polyhedron& y,
+			    const BHRZ03_Certificate& y_cert,
+			    const Polyhedron& H79);
 
-inline const Congruence_System&
-Congruence_System::zero_dim_empty() {
-  assert(zero_dim_empty_p != 0);
-  return *zero_dim_empty_p;
-}
+  //@} // Widening- and Extrapolation-Related Functions
 
-inline
-Congruence_System::const_iterator::const_iterator()
-  : i(), csp(0) {
-}
+  //! Adds new space dimensions to the given matrices.
+  /*!
+    \param mat1
+    The matrix to which columns are added;
 
-inline
-Congruence_System::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i), csp(y.csp) {
-}
+    \param mat2
+    The matrix to which rows and columns are added;
 
-inline
-Congruence_System::const_iterator::~const_iterator() {
-}
+    \param sat1
+    The saturation matrix whose columns are indexed by the rows of
+    matrix \p mat1. On entry it is up-to-date;
 
-inline Congruence_System::const_iterator&
-Congruence_System::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  csp = y.csp;
-  return *this;
-}
+    \param sat2
+    The saturation matrix whose columns are indexed by the rows of \p
+    mat2;
 
-inline const Congruence&
-Congruence_System::const_iterator::operator*() const {
-  return static_cast<const Congruence&>(*i);
-}
+    \param add_dim
+    The number of space dimensions to add.
 
-inline const Congruence*
-Congruence_System::const_iterator::operator->() const {
-  return static_cast<const Congruence*>(i.operator->());
-}
+    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);
 
-inline Congruence_System::const_iterator&
-Congruence_System::const_iterator::operator++() {
-  ++i;
-  skip_forward();
-  return *this;
-}
+  //! \name Minimization-Related Static Member Functions
+  //@{
 
-inline Congruence_System::const_iterator
-Congruence_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
-}
+  //! 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);
 
-inline bool
-Congruence_System::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
+  /*! \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);
 
-inline bool
-Congruence_System::const_iterator::operator!=(const const_iterator& y) const {
-  return i != y.i;
-}
+  /*! \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);
 
-inline
-Congruence_System::const_iterator::
-const_iterator(const Matrix::const_iterator& iter,
-	       const Congruence_System& csys)
-  : i(iter), csp(&csys) {
-}
+  //! 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);
 
-inline Congruence_System::const_iterator
-Congruence_System::begin() const {
-  const_iterator i(Matrix::begin(), *this);
-  i.skip_forward();
-  return i;
-}
+  /*! \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);
 
-inline Congruence_System::const_iterator
-Congruence_System::end() const {
-  const const_iterator i(Matrix::end(), *this);
-  return i;
-}
+  //@} // Minimization-Related Static Member Functions
 
-inline bool
-Congruence_System::empty() const {
-  return begin() == end();
-}
+  /*! \brief
+    Pointer to an array used by simplify().
 
-inline void
-Congruence_System::swap(Congruence_System& y) {
-  Matrix::swap(y);
-}
+    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 memory_size_type
-Congruence_System::external_memory_in_bytes() const {
-  return Matrix::external_memory_in_bytes();
-}
+  /*! \brief
+    Dimension of an array used by simplify().
 
-inline memory_size_type
-Congruence_System::total_memory_in_bytes() const {
-  return Matrix::total_memory_in_bytes();
-}
+    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;
 
-} // namespace Parma_Polyhedra_Library
+  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;
 
+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 std {
+    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
 
-/*! \relates Parma_Polyhedra_Library::Congruence_System */
-inline void
-swap(Parma_Polyhedra_Library::Congruence_System& x,
-     Parma_Polyhedra_Library::Congruence_System& y) {
-  x.swap(y);
-}
+    \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);
 
-} // namespace std
+  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/Box.inlines.hh line 32. */
+#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;
 
-namespace Parma_Polyhedra_Library {
+  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;
 
-template <typename ITV>
-inline bool
-Box<ITV>::marked_empty() const {
-  return status.test_empty_up_to_date() && status.test_empty();
-}
+  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;
 
-template <typename ITV>
-inline void
-Box<ITV>::set_empty() {
-  status.set_empty();
-  status.set_empty_up_to_date();
-}
+  // 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);
 
-template <typename ITV>
-inline void
-Box<ITV>::set_nonempty() {
-  status.reset_empty();
-  status.set_empty_up_to_date();
-}
+  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)
 
-template <typename ITV>
-inline void
-Box<ITV>::set_empty_up_to_date() {
-  status.set_empty_up_to_date();
-}
+};
 
-template <typename ITV>
-inline void
-Box<ITV>::reset_empty_up_to_date() {
-  return status.reset_empty_up_to_date();
-}
 
-template <typename ITV>
-inline
-Box<ITV>::Box(const Box& y, Complexity_Class)
-  : seq(y.seq), status(y.status) {
-}
+namespace std {
+
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Polyhedron */
+void swap(Parma_Polyhedra_Library::Polyhedron& x,
+	  Parma_Polyhedra_Library::Polyhedron& y);
 
-template <typename ITV>
-inline Box<ITV>&
-Box<ITV>::operator=(const Box& y) {
-  seq = y.seq;
-  status = y.status;
-  return *this;
-}
+} // namespace std
 
-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);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Ph_Status.inlines.hh line 1. */
+/* Polyhedron::Status class implementation: inline functions.
+*/
 
-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);
-}
 
-template <typename ITV>
+namespace Parma_Polyhedra_Library {
+
 inline
-Box<ITV>::Box(const Generator_System& gs, Recycle_Input) {
-  // Recycling is useless: just delegate.
-  Box<ITV> tmp(gs);
-  this->swap(tmp);
+Polyhedron::Status::Status(flags_t mask)
+  : flags(mask) {
 }
 
-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);
+Polyhedron::Status::Status()
+  : flags(ZERO_DIM_UNIV) {
 }
 
-template <typename ITV>
-inline memory_size_type
-Box<ITV>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline bool
+Polyhedron::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
 }
 
-template <typename ITV>
-inline dimension_type
-Box<ITV>::space_dimension() const {
-  return seq.size();
+inline bool
+Polyhedron::Status::test_any(flags_t mask) const {
+  return flags & mask;
 }
 
-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;
+inline void
+Polyhedron::Status::set(flags_t mask) {
+  flags |= mask;
 }
 
-template <typename ITV>
-inline const ITV&
-Box<ITV>::operator[](const dimension_type k) const {
-  assert(k < seq.size());
-  return seq[k];
+inline void
+Polyhedron::Status::reset(flags_t mask) {
+  flags &= ~mask;
 }
 
-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);
-
-  if (is_empty()) {
-    static ITV empty_interval(EMPTY);
-    return empty_interval;
-  }
-
-  return seq[var.id()];
+inline bool
+Polyhedron::Status::test_zero_dim_univ() const {
+  return flags == ZERO_DIM_UNIV;
 }
 
-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);
-
-  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;
-
-  seq[var.id()] = i;
-  reset_empty_up_to_date();
-
-  assert(OK());
+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;
 }
 
-template <typename ITV>
-inline bool
-Box<ITV>::is_empty() const {
-  return marked_empty() || check_empty();
+inline void
+Polyhedron::Status::set_zero_dim_univ() {
+  // Zero-dim universe is incompatible with anything else.
+  flags = ZERO_DIM_UNIV;
 }
 
-template <typename ITV>
 inline bool
-Box<ITV>::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, true);
+Polyhedron::Status::test_empty() const {
+  return test_any(EMPTY);
 }
 
-template <typename ITV>
-inline bool
-Box<ITV>::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, false);
+inline void
+Polyhedron::Status::reset_empty() {
+  reset(EMPTY);
 }
 
-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);
+inline void
+Polyhedron::Status::set_empty() {
+  flags = EMPTY;
 }
 
-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);
+Polyhedron::Status::test_c_up_to_date() const {
+  return test_any(C_UP_TO_DATE);
 }
 
-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);
+inline void
+Polyhedron::Status::reset_c_up_to_date() {
+  reset(C_UP_TO_DATE);
 }
 
-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);
+inline void
+Polyhedron::Status::set_c_up_to_date() {
+  set(C_UP_TO_DATE);
 }
 
-template <typename ITV>
 inline bool
-Box<ITV>::strictly_contains(const Box& y) const {
-  const Box& x = *this;
-  return x.contains(y) && !y.contains(x);
+Polyhedron::Status::test_g_up_to_date() const {
+  return test_any(G_UP_TO_DATE);
 }
 
-template <typename ITV>
-inline bool
-Box<ITV>::upper_bound_assign_if_exact(const Box&) {
-  // TODO: this must be properly implemented.
-  return false;
+inline void
+Polyhedron::Status::reset_g_up_to_date() {
+  reset(G_UP_TO_DATE);
 }
 
-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);
-
-  // 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");
-
-  // 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()]);
-  assert(OK());
+Polyhedron::Status::set_g_up_to_date() {
+  set(G_UP_TO_DATE);
 }
 
-template <typename ITV>
 inline bool
-operator!=(const Box<ITV>& x, const Box<ITV>& y) {
-  return !(x == y);
+Polyhedron::Status::test_c_minimized() const {
+  return test_any(C_MINIMIZED);
 }
 
-template <typename ITV>
-inline bool
-Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
-                          Coefficient& n, Coefficient& d) const {
-  assert(k < seq.size());
-  const ITV& seq_k = seq[k];
-
-  if (seq_k.lower_is_unbounded())
-    return false;
-
-  closed = !seq_k.lower_is_open();
-
-  DIRTY_TEMP0(mpq_class, lr);
-  assign_r(lr, seq_k.lower(), ROUND_NOT_NEEDED);
-  n = lr.get_num();
-  d = lr.get_den();
+inline void
+Polyhedron::Status::reset_c_minimized() {
+  reset(C_MINIMIZED);
+}
 
-  return true;
+inline void
+Polyhedron::Status::set_c_minimized() {
+  set(C_MINIMIZED);
 }
 
-template <typename ITV>
 inline bool
-Box<ITV>::get_upper_bound(const dimension_type k, bool& closed,
-                          Coefficient& n, Coefficient& d) const {
-  assert(k < seq.size());
-  const ITV& seq_k = seq[k];
+Polyhedron::Status::test_g_minimized() const {
+  return test_any(G_MINIMIZED);
+}
 
-  if (seq_k.upper_is_unbounded())
-    return false;
+inline void
+Polyhedron::Status::reset_g_minimized() {
+  reset(G_MINIMIZED);
+}
 
-  closed = !seq_k.upper_is_open();
+inline void
+Polyhedron::Status::set_g_minimized() {
+  set(G_MINIMIZED);
+}
 
-  DIRTY_TEMP0(mpq_class, ur);
-  assign_r(ur, seq_k.upper(), ROUND_NOT_NEEDED);
-  n = ur.get_num();
-  d = ur.get_den();
 
-  return true;
+inline bool
+Polyhedron::Status::test_c_pending() const {
+  return test_any(CS_PENDING);
 }
 
-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);
-
-  add_constraint_no_check(c);
+Polyhedron::Status::reset_c_pending() {
+  reset(CS_PENDING);
 }
 
-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);
+Polyhedron::Status::set_c_pending() {
+  set(CS_PENDING);
+}
 
-  add_constraints_no_check(cs);
+inline bool
+Polyhedron::Status::test_g_pending() const {
+  return test_any(GS_PENDING);
 }
 
-template <typename T>
 inline void
-Box<T>::add_recycled_constraints(Constraint_System& cs) {
-  add_constraints(cs);
+Polyhedron::Status::reset_g_pending() {
+  reset(GS_PENDING);
 }
 
-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);
-
-  add_congruence_no_check(cg);
+Polyhedron::Status::set_g_pending() {
+  set(GS_PENDING);
 }
 
-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);
+
+inline bool
+Polyhedron::Status::test_sat_c_up_to_date() const {
+  return test_any(SAT_C_UP_TO_DATE);
 }
 
-template <typename T>
 inline void
-Box<T>::add_recycled_congruences(Congruence_System& cgs) {
-  add_congruences(cgs);
+Polyhedron::Status::reset_sat_c_up_to_date() {
+  reset(SAT_C_UP_TO_DATE);
 }
 
-template <typename T>
-inline bool
-Box<T>::can_recycle_constraint_systems() {
-  return false;
+inline void
+Polyhedron::Status::set_sat_c_up_to_date() {
+  set(SAT_C_UP_TO_DATE);
 }
 
-template <typename T>
 inline bool
-Box<T>::can_recycle_congruence_systems() {
-  return false;
+Polyhedron::Status::test_sat_g_up_to_date() const {
+  return test_any(SAT_G_UP_TO_DATE);
 }
 
-template <typename T>
 inline void
-Box<T>::widening_assign(const Box& y, unsigned* tp) {
-  CC76_widening_assign(y, tp);
+Polyhedron::Status::reset_sat_g_up_to_date() {
+  reset(SAT_G_UP_TO_DATE);
 }
 
-template <typename ITV>
-inline Congruence_System
-Box<ITV>::minimized_congruences() const {
-  // Only equalities can be congruences and these are already minimized.
-  return congruences();
+inline void
+Polyhedron::Status::set_sat_g_up_to_date() {
+  set(SAT_G_UP_TO_DATE);
 }
 
-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) {
-  assert(!marked_empty());
-  assert(var_id < space_dimension());
-  assert(den != 0);
+} // namespace Parma_Polyhedra_Library
 
-  // The interval constraint is of the form
-  // `Variable(var_id) + num / den rel 0', where
-  // `rel' is either the relation `==', `>=', or `>'.
-  // For the purpose of refining the interval, this is
-  // (morally) turned into `Variable(var_id) rel -num/den'.
-  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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Polyhedron.inlines.hh line 1. */
+/* Polyhedron class implementation: inline functions.
+*/
 
-  ITV& seq_v = seq[var_id];
-  switch (type) {
-  case Constraint::EQUALITY:
-    seq_v.refine_existential(EQUAL, q);
-    break;
-  case Constraint::NONSTRICT_INEQUALITY:
-    seq_v.refine_existential((den > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL, q);
-    // FIXME: this assertion fails due to a bug in refine.
-    assert(seq_v.OK());
-    break;
-  case Constraint::STRICT_INEQUALITY:
-    seq_v.refine_existential((den > 0) ? GREATER_THAN : LESS_THAN, q);
-    break;
-  }
-  // FIXME: do check the value returned by `refine_existential' and
-  // set `empty' and `empty_up_to_date' as appropriate.
-  reset_empty_up_to_date();
-  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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Polyhedron.inlines.hh line 28. */
+#include <algorithm>
+#include <deque>
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+namespace Parma_Polyhedra_Library {
 
-  refine_no_check(c);
+inline memory_size_type
+Polyhedron::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-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);
+inline dimension_type
+Polyhedron::space_dimension() const {
+  return space_dim;
+}
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+inline int32_t
+Polyhedron::hash_code() const {
+  return space_dimension() & 0x7fffffff;
+}
 
-  refine_no_check(cs);
+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()
+		 )
+	     );
 }
 
-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);
+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();
+}
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+inline bool
+Polyhedron::is_discrete() const {
+  return affine_dimension() == 0;
+}
 
-  refine_no_check(cg);
+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();
 }
 
-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);
-
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
-
-  refine_no_check(cgs);
+Polyhedron::upper_bound_assign(const Polyhedron& y) {
+  poly_hull_assign(y);
 }
 
-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);
+Polyhedron::difference_assign(const Polyhedron& y) {
+  poly_difference_assign(y);
+}
 
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+inline void
+Polyhedron::widening_assign(const Polyhedron& y, unsigned* tp) {
+  H79_widening_assign(y, tp);
+}
 
-  propagate_constraint_no_check(c);
+inline
+Polyhedron::~Polyhedron() {
 }
 
-template <typename ITV>
 inline void
-Box<ITV>::propagate_constraints(const Constraint_System& cs) {
-  // Dimension-compatibility check.
-  if (cs.space_dimension() > space_dimension())
-    throw_dimension_incompatible("propagate_constraints(cs)", cs);
-
-  // If the box is already empty, there is nothing left to do.
-  if (marked_empty())
-    return;
+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);
+}
 
-  propagate_constraints_no_check(cs);
+inline bool
+Polyhedron::can_recycle_constraint_systems() {
+  return true;
 }
 
-template <typename ITV>
-inline void
-Box<ITV>::unconstrain(const Variable var) {
-  const dimension_type dim = var.id();
-  // Dimension-compatibility check.
-  if (dim > space_dimension())
-    throw_dimension_incompatible("unconstrain(var)", 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 `var' before cylindrification.
-  ITV& seq_var = seq[dim];
-  if (seq_var.is_empty())
-    set_empty();
-  else
-    seq_var.assign(UNIVERSE);
-  assert(OK());
+inline bool
+Polyhedron::can_recycle_congruence_systems() {
+  return false;
 }
 
-/*! \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);
+Polyhedron::marked_empty() const {
+  return status.test_empty();
 }
 
-/*! \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;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
-  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+Polyhedron::constraints_are_up_to_date() const {
+  return status.test_c_up_to_date();
 }
 
-/*! \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);
+Polyhedron::generators_are_up_to_date() const {
+  return status.test_g_up_to_date();
 }
 
-/*! \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);
+Polyhedron::constraints_are_minimized() const {
+  return status.test_c_minimized();
 }
 
-/*! \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;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
-  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+Polyhedron::generators_are_minimized() const {
+  return status.test_g_minimized();
 }
 
-/*! \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);
+Polyhedron::sat_c_is_up_to_date() const {
+  return status.test_sat_c_up_to_date();
 }
 
-/*! \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);
+Polyhedron::sat_g_is_up_to_date() const {
+  return status.test_sat_g_up_to_date();
 }
 
-/*! \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;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
-  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+Polyhedron::has_pending_constraints() const {
+  return status.test_c_pending();
 }
 
-/*! \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);
+Polyhedron::has_pending_generators() const {
+  return status.test_g_pending();
 }
 
-} // namespace Parma_Polyhedra_Library
+inline bool
+Polyhedron::has_something_pending() const {
+  return status.test_c_pending() || status.test_g_pending();
+}
 
-/* Automatically generated from PPL source file ../src/Box.templates.hh line 1. */
-/* Box class implementation: non-inline template functions.
-*/
+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 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();
+}
 
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 1. */
-/* Variables_Set class declaration.
-*/
+inline void
+Polyhedron::set_constraints_up_to_date() {
+  status.set_c_up_to_date();
+}
 
+inline void
+Polyhedron::set_generators_up_to_date() {
+  status.set_g_up_to_date();
+}
 
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 29. */
-#include <iosfwd>
-#include <set>
+inline void
+Polyhedron::set_constraints_minimized() {
+  set_constraints_up_to_date();
+  status.set_c_minimized();
+}
 
-namespace Parma_Polyhedra_Library {
+inline void
+Polyhedron::set_generators_minimized() {
+  set_generators_up_to_date();
+  status.set_g_minimized();
+}
 
-namespace IO_Operators {
+inline void
+Polyhedron::set_constraints_pending() {
+  status.set_c_pending();
+}
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Variables_Set */
-std::ostream&
-operator<<(std::ostream& s, const Variables_Set& v);
+inline void
+Polyhedron::set_generators_pending() {
+  status.set_g_pending();
+}
 
-} // namespace IO_Operators
+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();
+}
 
-//! An std::set of variables' indexes.
-class Parma_Polyhedra_Library::Variables_Set
-  : public std::set<dimension_type> {
-private:
-  typedef std::set<dimension_type> Base;
+inline void
+Polyhedron::clear_empty() {
+  status.reset_empty();
+}
 
-public:
-  //! Builds the empty set of variable indexes.
-  Variables_Set();
+inline void
+Polyhedron::clear_constraints_minimized() {
+  status.reset_c_minimized();
+}
 
-  //! Builds the singleton set of indexes containing <CODE>v.id()</CODE>;
-  explicit Variables_Set(const Variable& v);
+inline void
+Polyhedron::clear_generators_minimized() {
+  status.reset_g_minimized();
+}
 
-  /*! \brief
-    Builds the set of variables's indexes in the range from
-    <CODE>v.id()</CODE> to <CODE>w.id()</CODE>.
+inline void
+Polyhedron::clear_pending_constraints() {
+  status.reset_c_pending();
+}
 
-    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 it built otherwise.
-  */
-  Variables_Set(const Variable& v, const Variable& w);
+inline void
+Polyhedron::clear_pending_generators() {
+  status.reset_g_pending();
+}
 
-  //! Returns the maximum space dimension a Variables_Set can handle.
-  static dimension_type max_space_dimension();
+inline void
+Polyhedron::clear_sat_c_up_to_date() {
+  status.reset_sat_c_up_to_date();
+  // Can get rid of sat_c here.
+}
 
-  /*! \brief
-    Returns the dimension of the smallest vector space enclosing all
-    the variables whose indexes are in the set.
-  */
-  dimension_type space_dimension() const;
+inline void
+Polyhedron::clear_sat_g_up_to_date() {
+  status.reset_sat_g_up_to_date();
+  // Can get rid of sat_g here.
+}
 
-  //! Inserts the index of variavle \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;
+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 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.
+}
 
-  /*! \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 bool
+Polyhedron::process_pending() const {
+  assert(space_dim > 0 && !marked_empty());
+  assert(has_something_pending());
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  Polyhedron& x = const_cast<Polyhedron&>(*this);
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  if (x.has_pending_constraints())
+    return x.process_pending_constraints();
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  assert(x.has_pending_generators());
+  x.process_pending_generators();
+  return true;
+}
 
-  PPL_OUTPUT_DECLARATIONS
-};
+inline bool
+Polyhedron::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, true);
+}
 
-/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 1. */
-/* Variables_Set class implementation: inline functions.
-*/
+inline bool
+Polyhedron::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, false);
+}
 
+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);
+}
 
-/* Automatically generated from PPL source file ../src/Variables_Set.inlines.hh line 27. */
-#include <stdexcept>
+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);
+}
 
-namespace Parma_Polyhedra_Library {
+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
-Variables_Set::Variables_Set()
-  : Base() {
+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 void
-Variables_Set::insert(const Variable v) {
-  insert(v.id());
+inline Constraint_System
+Polyhedron::simplified_constraints() const {
+  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
-Variables_Set::Variables_Set(const Variable& v)
-  : Base() {
-  insert(v);
+inline Congruence_System
+Polyhedron::congruences() const {
+  return Congruence_System(minimized_constraints());
 }
 
-inline dimension_type
-Variables_Set::max_space_dimension() {
-  return Variable::max_space_dimension();
+inline Congruence_System
+Polyhedron::minimized_congruences() const {
+  return Congruence_System(minimized_constraints());
 }
 
-inline dimension_type
-Variables_Set::space_dimension() const {
-  reverse_iterator i = rbegin();
-  return i == rend() ? 0 : *i+1;
+inline Grid_Generator_System
+Polyhedron::minimized_grid_generators() const {
+  return grid_generators();
 }
 
-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 bool
+Polyhedron::add_congruence_and_minimize(const Congruence& cg) {
+  add_congruence(cg);
+  return minimize();
 }
 
-inline memory_size_type
-Variables_Set::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+inline bool
+Polyhedron::add_congruences_and_minimize(const Congruence_System& cgs) {
+  add_congruences(cgs);
+  return minimize();
 }
 
-} // namespace Parma_Polyhedra_Library
+inline void
+Polyhedron::add_recycled_congruences(Congruence_System& cgs) {
+  add_congruences(cgs);
+}
 
-/* Automatically generated from PPL source file ../src/Variables_Set.defs.hh line 105. */
+inline bool
+Polyhedron::add_recycled_congruences_and_minimize(Congruence_System& cgs) {
+  return add_congruences_and_minimize(cgs);
+}
 
-/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 1. */
-/* Generator_System class declaration.
-*/
+/*! \relates Polyhedron */
+inline bool
+operator!=(const Polyhedron& x, const Polyhedron& y) {
+  return !(x == y);
+}
 
+inline bool
+Polyhedron::strictly_contains(const Polyhedron& y) const {
+  const Polyhedron& x = *this;
+  return x.contains(y) && !y.contains(x);
+}
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 1. */
-/* Poly_Con_Relation class declaration.
-*/
+namespace Interfaces {
 
+inline bool
+is_necessarily_closed_for_interfaces(const Polyhedron& ph) {
+  return ph.is_necessarily_closed();
+}
 
-/* Automatically generated from PPL source file ../src/Poly_Con_Relation.defs.hh line 28. */
-#include <iosfwd>
+} // namespace Interfaces
 
-namespace Parma_Polyhedra_Library {
+} // namespace Parma_Polyhedra_Library
 
-// Put them in the namespace here to declare them friend later.
+namespace std {
 
-//! 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);
+/*! \relates Parma_Polyhedra_Library::Polyhedron */
+inline void
+swap(Parma_Polyhedra_Library::Polyhedron& x,
+     Parma_Polyhedra_Library::Polyhedron& y) {
+  x.swap(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);
+} // namespace std
 
-//! 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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Polyhedron.templates.hh line 1. */
+/* Polyhedron class implementation: non-inline template functions.
+*/
 
-/*! \brief
-  Yields the assertion with all the conjuncts of \p x
-  that are not in \p y.
 
-  \relates Poly_Con_Relation
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/MIP_Problem.defs.hh line 1. */
+/* MIP_Problem class declaration.
 */
-Poly_Con_Relation operator-(const Poly_Con_Relation& x,
-			    const Poly_Con_Relation& y);
 
-namespace IO_Operators {
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Poly_Con_Relation */
-std::ostream& operator<<(std::ostream& s, const Poly_Con_Relation& r);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/MIP_Problem.types.hh line 1. */
 
-} // namespace IO_Operators
 
-} // namespace Parma_Polyhedra_Library
+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
+};
 
-//! 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;
+class MIP_Problem;
 
-  //! \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
+} // namespace Parma_Polyhedra_Library
 
-  //! All assertions together.
-  static const flags_t EVERYTHING
-  = IS_DISJOINT
-  | STRICTLY_INTERSECTS
-  | IS_INCLUDED
-  | SATURATES;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variables_Set.defs.hh line 1. */
+/* Variables_Set class declaration.
+*/
 
-  //! 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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variables_Set.defs.hh line 29. */
+#include <iosfwd>
+#include <set>
 
-  //! Construct from a bit-mask.
-  Poly_Con_Relation(flags_t mask);
+namespace Parma_Polyhedra_Library {
 
-  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);
+namespace IO_Operators {
 
-  friend Poly_Con_Relation
-  operator&&(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Variables_Set */
+std::ostream&
+operator<<(std::ostream& s, const Variables_Set& v);
 
-  friend Poly_Con_Relation
-  operator-(const Poly_Con_Relation& x, const Poly_Con_Relation& y);
+} // namespace IO_Operators
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::
-  IO_Operators::operator<<(std::ostream& s, const Poly_Con_Relation& r);
+} // namespace Parma_Polyhedra_Library
 
-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;
+//! 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:
-  //! The assertion that says nothing.
-  static Poly_Con_Relation nothing();
+  //! Builds the empty set of variable indexes.
+  Variables_Set();
 
-  /*! \brief
-    The polyhedron and the set of points satisfying
-    the constraint are disjoint.
-  */
-  static Poly_Con_Relation is_disjoint();
+  //! Builds the singleton set of indexes containing <CODE>v.id()</CODE>;
+  explicit Variables_Set(const Variable& v);
 
   /*! \brief
-    The polyhedron intersects the set of points satisfying
-    the constraint, but it is not included in it.
+    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 it built otherwise.
   */
-  static Poly_Con_Relation strictly_intersects();
+  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
-    The polyhedron is included in the set of points satisfying
-    the constraint.
+    Returns the dimension of the smallest vector space enclosing all
+    the variables whose indexes are in the set.
   */
-  static Poly_Con_Relation is_included();
+  dimension_type space_dimension() const;
+
+  //! Inserts the index of variavle \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
-    The polyhedron is included in the set of points saturating
-    the constraint.
+    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 Poly_Con_Relation saturates();
+  bool ascii_load(std::istream& s);
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Returns 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 *this implies \p y.
-  bool implies(const Poly_Con_Relation& y) 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/Poly_Con_Relation.inlines.hh line 1. */
-/* Poly_Con_Relation class implementation: inline functions.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variables_Set.inlines.hh line 1. */
+/* Variables_Set class implementation: inline functions.
 */
 
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variables_Set.inlines.hh line 27. */
+#include <stdexcept>
+
 namespace Parma_Polyhedra_Library {
 
 inline
-Poly_Con_Relation::Poly_Con_Relation(flags_t mask)
-  : flags(mask) {
-}
-
-inline Poly_Con_Relation::flags_t
-Poly_Con_Relation::get_flags() const {
-  return flags;
-}
-
-inline Poly_Con_Relation
-Poly_Con_Relation::nothing() {
-  return Poly_Con_Relation(NOTHING);
-}
-
-inline Poly_Con_Relation
-Poly_Con_Relation::is_disjoint() {
-  return Poly_Con_Relation(IS_DISJOINT);
-}
-
-inline Poly_Con_Relation
-Poly_Con_Relation::strictly_intersects() {
-  return Poly_Con_Relation(STRICTLY_INTERSECTS);
-}
-
-inline Poly_Con_Relation
-Poly_Con_Relation::is_included() {
-  return Poly_Con_Relation(IS_INCLUDED);
-}
-
-inline Poly_Con_Relation
-Poly_Con_Relation::saturates() {
-  return Poly_Con_Relation(SATURATES);
+Variables_Set::Variables_Set()
+  : Base() {
 }
 
-inline bool
-Poly_Con_Relation::implies(flags_t x, flags_t y) {
-  return (x & y) == y;
+inline void
+Variables_Set::insert(const Variable v) {
+  insert(v.id());
 }
 
-inline bool
-Poly_Con_Relation::implies(const Poly_Con_Relation& y) const {
-  return implies(flags, y.flags);
+inline
+Variables_Set::Variables_Set(const Variable& v)
+  : Base() {
+  insert(v);
 }
 
-/*! \relates Poly_Con_Relation */
-inline bool
-operator==(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return x.flags == y.flags;
+inline dimension_type
+Variables_Set::max_space_dimension() {
+  return Variable::max_space_dimension();
 }
 
-/*! \relates Poly_Con_Relation */
-inline bool
-operator!=(const Poly_Con_Relation& x, const Poly_Con_Relation& y) {
-  return x.flags != y.flags;
+inline dimension_type
+Variables_Set::space_dimension() const {
+  reverse_iterator i = rbegin();
+  return i == rend() ? 0 : *i+1;
 }
 
-/*! \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 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));
 }
 
-/*! \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 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/Poly_Con_Relation.defs.hh line 164. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Variables_Set.defs.hh line 105. */
 
-/* Automatically generated from PPL source file ../src/Generator_System.defs.hh line 35. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/MIP_Problem.defs.hh line 35. */
+#include <vector>
+#include <deque>
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
@@ -27564,9773 +27643,11900 @@ namespace Parma_Polyhedra_Library {
 namespace IO_Operators {
 
 //! 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);
+/*! \relates Parma_Polyhedra_Library::MIP_Problem */
+std::ostream&
+operator<<(std::ostream& s, const MIP_Problem& lp);
 
 } // 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::Generator_System */
-void swap(Parma_Polyhedra_Library::Generator_System& x,
-	  Parma_Polyhedra_Library::Generator_System& y);
-
-} // namespace std
-
-//! A system of generators.
+//! A Mixed Integer (linear) Programming problem.
 /*! \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).
-
-    \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 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
-
-    \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
-
-    \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
-
-    \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
+  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).
 
-    \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
+  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).
 
-    \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.
+  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::Generator_System : protected Linear_System {
+class Parma_Polyhedra_Library::MIP_Problem {
 public:
-  //! Default constructor: builds an empty system of generators.
-  Generator_System();
-
-  //! Builds the singleton system containing only generator \p g.
-  explicit Generator_System(const Generator& g);
-
-  //! Ordinary copy-constructor.
-  Generator_System(const Generator_System& gs);
-
-  //! Destructor.
-  ~Generator_System();
-
-  //! Assignment operator.
-  Generator_System& operator=(const Generator_System& y);
-
-  //! 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;
+  //! 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.
 
-  /*! \brief
-    Removes all the generators from the generator system
-    and sets its space dimension to 0.
-  */
-  void clear();
+    \param dim
+    The dimension of the vector space enclosing \p *this
+    (optional argument with default value \f$0\f$).
 
-  /*! \brief
-    Inserts in \p *this a copy of the generator \p g,
-    increasing the number of space dimensions if needed.
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
   */
-  void insert(const Generator& g);
-
-  //! Initializes the class.
-  static void initialize();
-
-  //! Finalizes the class.
-  static void finalize();
+  explicit MIP_Problem(dimension_type dim = 0);
 
   /*! \brief
-    Returns the singleton system containing only Generator::zero_dim_point().
-  */
-  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();
+    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.
 
-    //! Assignment operator.
-    const_iterator& operator=(const const_iterator& y);
+    \param dim
+    The dimension of the vector space enclosing \p *this.
 
-    //! Dereference operator.
-    const Generator& operator*() const;
+    \param first
+    An input iterator to the start of the sequence of constraints.
 
-    //! Indirect member selector.
-    const Generator* operator->() const;
+    \param last
+    A past-the-end input iterator to the sequence of constraints.
 
-    //! Prefix increment operator.
-    const_iterator& operator++();
+    \param int_vars
+    The set of variables' indexes that are constrained to take integer values.
 
-    //! Postfix increment operator.
-    const_iterator operator++(int);
+    \param obj
+    The objective function (optional argument with default value \f$0\f$).
 
-    /*! \brief
-      Returns <CODE>true</CODE> if and only if
-      \p *this and \p y are identical.
-    */
-    bool operator==(const const_iterator& y) 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 and \p y are different.
-    */
-    bool operator!=(const const_iterator& y) const;
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
 
-  private:
-    friend class Generator_System;
+    \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);
 
-    //! The const iterator over the Linear_System.
-    Linear_System::const_iterator i;
+  /*! \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.
 
-    //! A const pointer to the Linear_System.
-    const Linear_System* gsp;
+    \param dim
+    The dimension of the vector space enclosing \p *this.
 
-    //! Constructor.
-    const_iterator(const Linear_System::const_iterator& iter,
-		   const Generator_System& gsys);
+    \param first
+    An input iterator to the start of the sequence of constraints.
 
-    /*! \brief
-      \p *this skips to the next generator, skipping those
-      closure points that are immediately followed by a matching point.
-    */
-    void skip_forward();
-  };
+    \param last
+    A past-the-end input iterator to the sequence of constraints.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
-  bool empty() const;
+    \param obj
+    The objective function (optional argument with default value \f$0\f$).
 
-  /*! \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;
+    \param mode
+    The optimization mode (optional argument with default value
+    <CODE>MAXIMIZATION</CODE>).
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
 
-  //! 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.
+    \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.
   */
-  bool OK() const;
-
-  PPL_OUTPUT_DECLARATIONS
+  template <typename In>
+  MIP_Problem(dimension_type dim,
+              In first, In last,
+              const Linear_Expression& obj = Linear_Expression::zero(),
+              Optimization_Mode mode = MAXIMIZATION);
 
   /*! \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.
-
-    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);
+    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.
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+    \param dim
+    The dimension of the vector space enclosing \p *this.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \param cs
+    The constraint system defining the feasible region.
 
-  //! Swaps \p *this with \p y.
-  void swap(Generator_System& y);
+    \param obj
+    The objective function (optional argument with default value \f$0\f$).
 
-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;
+    \param mode
+    The optimization mode (optional argument with default value
+    <CODE>MAXIMIZATION</CODE>).
 
-  friend class const_iterator;
-  friend class Parma_Polyhedra_Library::Polyhedron;
-  friend class Parma_Polyhedra_Library::Grid_Generator_System;
+    \exception std::length_error
+    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
 
-  friend bool operator==(const Polyhedron& x, const Polyhedron& 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);
 
-  //! Builds an empty system of generators having the specified topology.
-  explicit Generator_System(Topology topol);
+  //! Ordinary copy-constructor.
+  MIP_Problem(const MIP_Problem& y);
 
-  /*! \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);
+  //! Destructor.
+  ~MIP_Problem();
 
-  /*! \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);
+  //! Assignment operator.
+  MIP_Problem& operator=(const MIP_Problem& y);
 
-  /*! \brief
-    For each unmatched closure point in \p *this, adds the
-    corresponding point.
+  //! Returns the maximum space dimension an MIP_Problem can handle.
+  static dimension_type max_space_dimension();
 
-    It is assumed that the topology of \p *this
-    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
-  */
-  void add_corresponding_points();
+  //! Returns the space dimension of the MIP problem.
+  dimension_type space_dimension() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more points.
+    Returns a set containing all the variables' indexes constrained
+    to be integral.
   */
-  bool has_points() const;
+  const Variables_Set& integer_space_dimensions() const;
 
-  /*! \brief
-    For each unmatched point in \p *this, adds the corresponding
-    closure point.
+private:
+  //! A type alias for a sequence of constraints.
+  typedef std::vector<Constraint> Constraint_Sequence;
 
-    It is assumed that the topology of \p *this
-    is <CODE>NOT_NECESSARILY_CLOSED</CODE>.
+public:
+  /*! \brief
+    A type alias for the read-only iterator on the constraints
+    defining the feasible region.
   */
-  void add_corresponding_closure_points();
+  typedef Constraint_Sequence::const_iterator const_iterator;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains one or more closure points.
-
-    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.
+    Returns a read-only iterator to the first constraint defining
+    the feasible region.
   */
-  bool has_closure_points() const;
-
-  //! Returns the \p k- th generator of the system.
-  Generator& operator[](dimension_type k);
-
-  //! Returns a constant reference to the \p k- th generator of the system.
-  const Generator& operator[](dimension_type k) const;
+  const_iterator constraints_begin() const;
 
   /*! \brief
-    Returns the relations holding between the generator system
-    and the constraint \p c.
+    Returns a past-the-end read-only iterator to the sequence of
+    constraints defining the feasible region.
   */
-  Parma_Polyhedra_Library::Poly_Con_Relation
-  relation_with(const Constraint& c) const;
+  const_iterator constraints_end() const;
 
-  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
-  bool satisfied_by_all_generators(const Constraint& c) const;
+  //! Returns the objective function.
+  const Linear_Expression& objective_function() const;
 
-  //! 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;
+  //! Returns the optimization mode.
+  Optimization_Mode optimization_mode() const;
 
-  //! Returns <CODE>true</CODE> if all the generators satisfy \p c.
+  //! Resets \p *this to be equal to the trivial MIP problem.
   /*!
-    It is assumed that <CODE>c.is_necessarily_closed()</CODE> does not hold.
+    The space dimension is reset to \f$0\f$.
   */
-  bool satisfied_by_all_generators_NNC(const Constraint& c) const;
-
-  //! Assigns to a given variable an affine expression.
-  /*!
-    \param v
-    Index of the column to which the affine transformation is assigned;
-
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+  void clear();
 
-    \param denominator
-    The denominator of the affine transformation.
+  /*! \brief
+    Adds \p m new space dimensions and embeds the old MIP problem
+    in the new vector space.
 
-    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.
+    \param m
+    The number of dimensions to add.
 
-    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]
+    \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>.
 
-    \p expr is a constant parameter and unaltered by this computation.
+    The new space dimensions will be those having the highest indexes
+    in the new MIP problem; they are initially unconstrained.
   */
-  void affine_image(dimension_type v,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator);
-
-  //! Returns the number of lines of the system.
-  dimension_type num_lines() const;
+  void add_space_dimensions_and_embed(dimension_type m);
 
-  //! Returns the number of rays of the system.
-  dimension_type num_rays() const;
+  /*! \brief
+    Sets the variables whose indexes are in set \p i_vars to be
+    integer space dimensions.
 
-  //! Removes all the invalid lines and rays.
-  /*!
-    The invalid lines and rays are those with all
-    the homogeneous terms set to zero.
+    \exception std::invalid_argument
+    Thrown if some index in \p i_vars does not correspond to
+    a space dimension in \p *this.
   */
-  void remove_invalid_lines_and_rays();
+  void add_to_integer_space_dimensions(const Variables_Set& i_vars);
 
   /*! \brief
-    Applies Gaussian elimination and back-substitution so as
-    to provide a partial simplification of the system of generators.
+    Adds a copy of constraint \p c to the MIP problem.
 
-    It is assumed that the system has no pending generators.
+    \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 simplify();
+  void add_constraint(const Constraint& c);
 
   /*! \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);
-};
-
-// Generator_System.inlines.hh is not included here on purpose.
-
-/* Automatically generated from PPL source file ../src/Generator_System.inlines.hh line 1. */
-/* Generator_System class implementation: inline functions.
-*/
-
+    Adds a copy of the constraints in \p cs to the MIP problem.
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 1. */
-/* Generator class declaration.
-*/
+    \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);
 
+  //! 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);
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 39. */
-#include <iosfwd>
+  //! Sets the optimization mode to \p mode.
+  void set_optimization_mode(Optimization_Mode mode);
 
-namespace Parma_Polyhedra_Library {
+  //! Checks satisfiability of \p *this.
+  /*!
+    \return
+    <CODE>true</CODE> if and only if the MIP problem is satisfiable.
+  */
+  bool is_satisfiable() const;
 
-// Put them in the namespace here to declare them friend later.
+  //! 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;
 
-namespace IO_Operators {
+  /*! \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.
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Generator */
-std::ostream& operator<<(std::ostream& s, const Generator& g);
+    \param evaluating_point
+    The point on which the objective function will be evaluated.
 
-} // namespace IO_Operators
+    \param num
+    On exit will contain the numerator of the evaluated value.
 
-} // namespace Parma_Polyhedra_Library
+    \param den
+    On exit will contain the denominator of the evaluated value.
 
-namespace std {
+    \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;
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Generator */
-void swap(Parma_Polyhedra_Library::Generator& x,
-	  Parma_Polyhedra_Library::Generator& y);
+  //! 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;
 
-} // namespace std
+  //! 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;
 
+  /*! \brief
+    Sets \p num and \p den so that \f$\frac{num}{den}\f$ is
+    the solution of the optimization problem.
 
-//! A line, ray, point or closure point.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Generator is one of the following:
+    \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;
 
-  - a line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-  - a ray \f$\vect{r} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+  PPL_OUTPUT_DECLARATIONS
 
-  - a point
-    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  /*! \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);
 
-  - a closure point
-    \f$\vect{c} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  where \f$n\f$ is the dimension of the space
-  and, for points and closure points, \f$d > 0\f$ is the divisor.
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-  \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'.
+  //! Swaps \p *this with \p y.
+  void swap(MIP_Problem& y);
 
-  \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.
+  //! Names of MIP problems' control parameters.
+  enum Control_Parameter_Name {
+    //! The pricing rule.
+    PRICING
+  };
 
-  \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
+  //! 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 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
+  //! Returns the value of the control parameter \p name.
+  Control_Parameter_Value
+  get_control_parameter(Control_Parameter_Name name) const;
 
-  \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.
+  //! Sets control parameter \p value.
+  void set_control_parameter(Control_Parameter_Value value);
 
-  \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
+private:
+  //! The dimension of the vector space.
+  dimension_type external_space_dim;
 
-  \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.
+  /*! \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;
 
-  \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
+  //! The matrix encoding the current feasible region in tableau form.
+  Matrix tableau;
 
-  \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.
+  //! The working cost function.
+  Row working_cost;
 
-  \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 : private Linear_Row {
-public:
-  //! Returns the line of direction \p e.
+  //! A map between the variables of `input_cs' and `tableau'.
   /*!
-    \exception std::invalid_argument
-    Thrown if the homogeneous part of \p e represents the origin of
-    the vector space.
+    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.
   */
-  static Generator line(const Linear_Expression& e);
+  std::vector<std::pair<dimension_type, dimension_type> > mapping;
 
-  //! 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.
+  //! The current basic solution.
+  std::vector<dimension_type> base;
+
+  //! 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
+  };
+
+  //! The internal state of the MIP problem.
+  Status status;
+
+  // 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.
+
+  //! The pricing method in use.
+  Control_Parameter_Value pricing;
+
+  /*! \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().
   */
-  static Generator ray(const Linear_Expression& e);
+  bool initialized;
 
-  //! 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.
+  //! The sequence of constraints describing the feasible region.
+  Constraint_Sequence input_cs;
 
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
+  //! The first index of `input_cs' containing a pending constraint.
+  dimension_type first_pending_constraint;
+
+  //! The objective function to be optimized.
+  Linear_Expression input_obj_function;
+
+  //! The optimization mode requested.
+  Optimization_Mode opt_mode;
+
+  //! The last successfully computed feasible or optimizing point.
+  Generator last_generator;
+
+  /*! \brief
+    A set containing all the indexes of variables that are constrained
+    to have an integer value.
   */
-  static Generator point(const Linear_Expression& e
-			 = Linear_Expression::zero(),
-			 Coefficient_traits::const_reference d
-			 = Coefficient_one());
+  Variables_Set i_variables;
 
-  //! Returns the closure point at \p e / \p d.
+  //! Processes the pending constraints of \p *this.
   /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+    \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 d is zero.
+  /*! \brief
+    Optimizes the MIP problem using the second phase of the
+    primal simplex algorithm.
   */
-  static Generator
-  closure_point(const Linear_Expression& e = Linear_Expression::zero(),
-		Coefficient_traits::const_reference d = Coefficient_one());
+  void second_phase();
 
-  //! Ordinary copy-constructor.
-  Generator(const Generator& g);
+  /*! \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.
 
-  //! Destructor.
-  ~Generator();
+    \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).
+  */
+  MIP_Problem_Status
+  compute_tableau(std::vector<dimension_type>& worked_out_row);
 
-  //! Assignment operator.
-  Generator& operator=(const Generator& g);
+  /*! \brief
+    Parses the pending constraints to gather information on
+    how to resize the tableau.
 
-  //! Returns the maximum space dimension a Generator can handle.
-  static dimension_type max_space_dimension();
+    \return
+    <CODE>UNSATISFIABLE</CODE> if is detected a trivially false constraint,
+    <CODE>SATISFIABLE</CODE> otherwise.
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+    \param new_num_rows
+    This will store the number of rows that has to be added to the original
+    tableau.
 
-  //! 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
-  };
+    \param num_slack_variables
+    This will store the number of slack variables that has to be added to
+    the original tableau.
 
-  //! Returns the generator type of \p *this.
-  Type type() const;
+    \param is_tableau_constraint
+    Every element of this vector will be set to <CODE>true</CODE> if the
+    associated pending constraint has to be inserted in the tableau,
+    <CODE>false</CODE> otherwise.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
-  bool is_line() const;
+    \param nonnegative_variable
+    This will encode for each variable if this one was split or not.
+    Every element of this vector will be set to <CODE>true</CODE> if the
+    associated variable is split, <CODE>false</CODE> otherwise.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a ray.
-  bool is_ray() const;
+    \param unfeasible_tableau_rows
+    This will contain all the row indexes of the tableau that are no more
+    satisfied after adding more constraints to \p *this.
 
-#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;
+    \param satisfied_ineqs
+    This will contain all the row indexes of the tableau that are already
+    satisfied by `last_generator' and do not require artificial variables to
+    have a starting feasible base.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
-  bool is_point() const;
+  */
+  bool parse_constraints(dimension_type& new_num_rows,
+			 dimension_type& num_slack_variables,
+			 std::deque<bool>& is_tableau_constraint,
+			 std::deque<bool>& nonnegative_variable,
+			 std::vector<dimension_type>& unfeasible_tableau_rows,
+			 std::deque<bool>& satisfied_ineqs);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a closure point.
-  bool is_closure_point() const;
+  /*! \brief
+    Computes the row index of the variable exiting the base
+    of the MIP problem. Implemented with anti-cycling rule.
 
-  //! 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;
+    \return
+    The row index of the variable exiting the base.
 
-  //! 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.
+    \param entering_var_index
+    The column index of the variable entering the base.
   */
-  Coefficient_traits::const_reference divisor() const;
+  dimension_type
+  get_exiting_base_index(dimension_type entering_var_index) const;
 
-  //! Initializes the class.
-  static void initialize();
+  //! 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.
 
-  //! Finalizes the class.
-  static void finalize();
+    \param y
+    The Row that will be combined with \p x object.
 
-  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
-  static const Generator& zero_dim_point();
+    \param k
+    The position of \p *this that have to be \f$0\f$.
 
-  /*! \brief
-    Returns, as a closure point,
-    the origin of the zero-dimensional space \f$\Rset^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.
   */
-  static const Generator& zero_dim_closure_point();
+  static void linear_combine(Row& x, const Row& y, const dimension_type k);
 
   /*! \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;
+    Performs the pivoting operation on the tableau.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \param entering_var_index
+    The index of the variable entering the base.
+
+    \param exiting_base_index
+    The index of the row exiting the base.
+  */
+  void pivot(dimension_type entering_var_index,
+	     dimension_type exiting_base_index);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent generators.
+    Computes the column index of the variable entering the base,
+    using the textbook algorithm with anti-cycling rule.
 
-    Generators having different space dimensions are not equivalent.
+    \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.
   */
-  bool is_equivalent_to(const Generator& y) const;
-
-  PPL_OUTPUT_DECLARATIONS
+  dimension_type textbook_entering_index() 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.
+    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.
+
+    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.
   */
-  bool ascii_load(std::istream& s);
+  dimension_type steepest_edge_exact_entering_index() const;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  /*! \brief
+    Same as steepest_edge_exact_entering_index,
+    but using floating points.
 
-  //! Swaps \p *this with \p y.
-  void swap(Generator& y);
+    \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;
 
-private:
   /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the origin of the zero-dimensional space \f$\Rset^0\f$.
+    Returns <CODE>true</CODE> if and if only the algorithm successfully
+    computed a feasible solution.
+
+    \note
+    Uses an exact pricing method (either textbook or exact steepest edge),
+    so that the result is deterministic across different architectures.
   */
-  static const Generator* zero_dim_point_p;
+  bool compute_simplex_using_exact_pricing();
 
   /*! \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.
+    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.
   */
-  static const Generator* zero_dim_closure_point_p;
+  bool compute_simplex_using_steepest_edge_float();
 
   /*! \brief
-    Builds a generator of type \p type and topology \p topology,
-    stealing the coefficients from \p e.
+    Drop unnecessary artificial variables from the tableau and get ready
+    for the second phase of the simplex algorithm.
   */
-  Generator(Linear_Expression& e, Type type, Topology topology);
+  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
-    Throw a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
+    Computes a valid generator that satisfies all the constraints of the
+    Linear Programming problem associated to \p *this.
   */
-  void
-  throw_dimension_incompatible(const char* method,
-			       const char* name_var,
-			       Variable v) const;
+  void compute_generator() const;
 
   /*! \brief
-    Throw a <CODE>std::invalid_argument</CODE> exception
-    containing the appropriate error message.
+    Merges previously split variables in the tableau if a nonnegativity
+    constraint is detected.
+
+    \param var_index
+    The index of the variable that has to be merged.
+
+    \param nonfeasible_cs
+    This will contain all the row indexes that are no more satisfied by
+    the computed generator after merging a variable.
   */
-  void
-  throw_invalid_argument(const char* method, const char* reason) const;
+  void merge_split_variables(dimension_type var_index,
+			      std::vector<dimension_type>& nonfeasible_cs);
 
-  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;
+  //! 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);
 
-  friend
-  Parma_Polyhedra_Library
-  ::Linear_Expression::Linear_Expression(const Generator& g);
+  //! 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);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::operator<<(std::ostream& s,
-						    const Generator& g);
+  /*! \brief
+    Returns a status that encodes the solution of the MIP problem.
 
-  //! Copy-constructor with given space dimension.
-  Generator(const Generator& g, dimension_type dimension);
+    \param have_incumbent_solution
+    It is used to store if the solving process has found a provisional
+    optimum point.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is not a line.
-  bool is_ray_or_point() const;
+    \param incumbent_solution_value
+    Encodes the evaluated value of the provisional optimum point found.
 
-  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
-  void set_is_line();
+    \param incumbent_solution_point
+    If the method returns `OPTIMIZED', this will contain the optimality point.
 
-  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
-  void set_is_ray_or_point();
+    \param mip
+    The problem that has to be solved.
+
+    \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);
+
+  bool is_lp_satisfiable() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if the closure point
-    \p *this has the same \e coordinates of the point \p p.
+    Used with MIP_Problems with a non empty `i_vars',
+    returns <CODE>true</CODE> if and if only a MIP problem is satisfiable,
+    returns <CODE>false</CODE> otherwise.
 
-    It is \e assumed that \p *this is a closure point, \p p is a point
-    and both topologies and space dimensions agree.
+    \param mip
+    The problem that has to be solved.
+
+    \param p
+    This will encode the feasible point, only if <CODE>true</CODE> is returned.
+
+    \param i_vars
+    The variables that are constrained to take an integer value.
   */
-  bool is_matching_closure_point(const Generator& p) const;
+  static bool is_mip_satisfiable(MIP_Problem& mip, Generator& p,
+				 const Variables_Set& i_vars);
 
-  //! Default constructor: private and not implemented.
-  Generator();
+  /*! \brief
+    Returns <CODE>true</CODE> if and if only `last_generator' satisfies all the
+    integrality coditions.
+
+    \param mip
+    The MIP problem.
+
+    \param i_vars
+    The variables that are constrained to take an integer value.
+
+    \param branching_index
+    If <CODE>false</CODE> is returned, this will encode the variable index on
+    which must be applied the `branch and bound' algorithm.
+  */
+  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
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/MIP_Problem.inlines.hh line 1. */
+/* MIP_Problem class implementation: inline functions.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/MIP_Problem.inlines.hh line 27. */
+#include <stdexcept>
 
 namespace Parma_Polyhedra_Library {
 
-//! Shorthand for Generator Generator::line(const Linear_Expression& e).
-/*! \relates Generator */
-Generator line(const Linear_Expression& e);
+inline dimension_type
+MIP_Problem::max_space_dimension() {
+  return Constraint::max_space_dimension();
+}
 
-//! Shorthand for Generator Generator::ray(const Linear_Expression& e).
-/*! \relates Generator */
-Generator ray(const Linear_Expression& e);
+inline dimension_type
+MIP_Problem::space_dimension() const {
+  return external_space_dim;
+}
 
-/*! \brief
-  Shorthand for Generator
-  Generator::point(const Linear_Expression& e, Coefficient_traits::const_reference d).
 
-  \relates Generator
-*/
-Generator
-point(const Linear_Expression& e = Linear_Expression::zero(),
-      Coefficient_traits::const_reference d = 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(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) {
+  assert(OK());
+}
 
-/*! \brief
-  Shorthand for Generator
-  Generator::closure_point(const Linear_Expression& e, Coefficient_traits::const_reference d).
+inline
+MIP_Problem::~MIP_Problem() {
+}
+
+
+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;
+    assert(OK());
+  }
+}
+
+inline const Linear_Expression&
+MIP_Problem::objective_function() const {
+  return input_obj_function;
+}
+
+inline Optimization_Mode
+MIP_Problem::optimization_mode() const {
+  return opt_mode;
+}
 
-  \relates Generator
-*/
-Generator
-closure_point(const Linear_Expression& e = Linear_Expression::zero(),
-	      Coefficient_traits::const_reference d = Coefficient_one());
+inline void
+MIP_Problem::optimal_value(Coefficient& num, Coefficient& den) const {
+  const Generator& g = optimizing_point();
+  evaluate_objective_function(g, num, den);
+}
 
-//! 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);
+inline MIP_Problem::const_iterator
+MIP_Problem::constraints_begin() const {
+  return input_cs.begin();
+}
 
-//! 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);
+inline MIP_Problem::const_iterator
+MIP_Problem::constraints_end() const {
+  return input_cs.end();
+}
 
-//! 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.
+inline const Variables_Set&
+MIP_Problem::integer_space_dimensions() const {
+  return i_variables;
+}
 
-  The direction of the approximation is specified by \p dir.
+inline MIP_Problem::Control_Parameter_Value
+MIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
+  used(name);
+  assert(name == PRICING);
+  return pricing;
+}
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
+inline void
+MIP_Problem::set_control_parameter(Control_Parameter_Value value) {
+  pricing = value;
+}
 
-  \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);
+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);
+}
 
-//! 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.
+inline MIP_Problem&
+MIP_Problem::operator=(const MIP_Problem& y) {
+  MIP_Problem tmp(y);
+  swap(tmp);
+  return *this;
+}
 
-  The direction of the approximation is specified by \p dir.
+inline void
+MIP_Problem::clear() {
+  MIP_Problem tmp;
+  swap(tmp);
+}
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+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;
+}
 
-  \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);
+inline memory_size_type
+MIP_Problem::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-//! 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.
+} // namespace Parma_Polyhedra_Library
 
-  The direction of the approximation is specified by \p dir.
+namespace std {
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
+/*! \relates Parma_Polyhedra_Library::MIP_Problem */
+inline void
+swap(Parma_Polyhedra_Library::MIP_Problem& x,
+     Parma_Polyhedra_Library::MIP_Problem& y) {
+  x.swap(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);
+} // namespace std
 
-//! 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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/MIP_Problem.templates.hh line 1. */
+/* MIP_Problem class implementation: non-inline template functions.
+*/
 
-  The direction of the approximation is specified by \p dir.
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/MIP_Problem.templates.hh line 27. */
 
-  \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);
+namespace Parma_Polyhedra_Library {
 
-//! 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.
+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());
+  }
 
-  The direction of the approximation is specified by \p dir.
+   // 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);
+   }
+   assert(OK());
+}
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+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);
+  }
+  assert(OK());
+}
 
-  \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);
+} // namespace Parma_Polyhedra_Library
 
-//! 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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/MIP_Problem.defs.hh line 805. */
 
-  The direction of the approximation is specified by \p dir.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Polyhedron.templates.hh line 28. */
+#include <algorithm>
+#include <deque>
 
-  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);
+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();
 
-//! 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.
+  // Check for emptiness.
+  if (box.is_empty()) {
+    set_empty();
+    return;
+  }
 
-  The direction of the approximation is specified by \p dir.
+  // Zero-dim universe polyhedron.
+  if (space_dim == 0) {
+    set_zero_dim_univ();
+    return;
+  }
 
-  All computations are performed using variables of type
-  Checked_Number<To, Extended_Number_Policy>.
+  // 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);
 
-  \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);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(u_d);
 
-//! 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.
+  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);
 
-  The direction of the approximation is specified by \p dir.
+      // 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);
 
-  All computations are performed using variables of type
-  Checked_Number<Temp, Extended_Number_Policy>.
+      // 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);
+        }
+      }
+    }
+  }
 
-  \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);
+  // 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);
 
-//! 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.
+  // Constraints are up-to-date.
+  set_constraints_up_to_date();
+  assert(OK());
+}
 
-  The direction of the approximation is specified by \p dir.
+template <typename Partial_Function>
+void
+Polyhedron::map_space_dimensions(const Partial_Function& pfunc) {
+  if (space_dim == 0)
+    return;
 
-  All computations are performed using the temporary variables
-  \p tmp0, \p tmp1 and \p tmp2.
+  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();
 
-  \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);
+    assert(OK());
+    return;
+  }
 
-namespace IO_Operators {
+  const dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Generator */
-std::ostream& operator<<(std::ostream& s, const Generator::Type& t);
+  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.
 
-} // namespace IO_Operators
+    // 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);
 
-} // namespace Parma_Polyhedra_Library
+    // 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/Generator.inlines.hh line 1. */
-/* Generator class implementation: inline functions.
-*/
+    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:
+	;
+      }
+    }
 
-namespace Parma_Polyhedra_Library {
+    // If `cycles' is empty then `pfunc' is the identity.
+    if (cycles.empty())
+      return;
 
-inline
-Generator::Generator(Linear_Expression& e, Type type, Topology topology) {
-  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));
-}
+    // 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);
 
-inline
-Generator::Generator(const Generator& g)
-  : Linear_Row(g) {
-}
+    if (generators_are_up_to_date())
+      gen_sys.permute_columns(cycles);
 
-inline
-Generator::Generator(const Generator& g, dimension_type dimension)
-  : Linear_Row(g, dimension, dimension) {
-}
+    assert(OK());
+    return;
+  }
 
-inline
-Generator::~Generator() {
-}
+  // If control gets here, then `pfunc' is not a permutation and some
+  // dimensions must be projected away.
 
-inline Generator&
-Generator::operator=(const Generator& g) {
-  Linear_Row::operator=(g);
-  return *this;
-}
+  // If there are pending constraints, using `generators()' we process them.
+  const Generator_System& old_gensys = generators();
 
-inline dimension_type
-Generator::max_space_dimension() {
-  return Linear_Row::max_space_dimension();
-}
+  if (old_gensys.has_no_rows()) {
+    // The polyhedron is empty.
+    Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY);
+    std::swap(*this, new_polyhedron);
+    assert(OK());
+    return;
+  }
 
-inline dimension_type
-Generator::space_dimension() const {
-  return Linear_Row::space_dimension();
-}
+  // 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;
+  }
 
-inline bool
-Generator::is_line() const {
-  return is_line_or_equality();
+  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));
+    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 Generator::LINE:
+      if (!all_zeroes)
+	new_gensys.insert(line(e));
+      break;
+    case Generator::RAY:
+      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()));
+      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()));
+      break;
+    }
+  }
+  Polyhedron new_polyhedron(topology(), new_gensys);
+  std::swap(*this, new_polyhedron);
+  assert(OK(true));
 }
 
-inline bool
-Generator::is_ray_or_point() const {
-  return is_ray_or_point_or_inequality();
-}
+} // namespace Parma_Polyhedra_Library
 
-inline bool
-Generator::is_line_or_ray() const {
-  return (*this)[0] == 0;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Polyhedron.defs.hh line 2715. */
 
-inline bool
-Generator::is_ray() const {
-  return is_ray_or_point() && is_line_or_ray();
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/H79_Certificate.inlines.hh line 27. */
 
-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;
-  }
-}
+namespace Parma_Polyhedra_Library {
 
-inline bool
-Generator::is_point() const {
-  return type() == POINT;
+inline
+H79_Certificate::H79_Certificate()
+  : affine_dim(0), num_constraints(0) {
+  // This is the certificate for a zero-dim universe polyhedron.
 }
 
-inline bool
-Generator::is_closure_point() const {
-  return type() == CLOSURE_POINT;
+inline
+H79_Certificate::H79_Certificate(const H79_Certificate& y)
+  : affine_dim(y.affine_dim), num_constraints(y.num_constraints) {
 }
 
-inline void
-Generator::set_is_line() {
-  set_is_line_or_equality();
+inline
+H79_Certificate::~H79_Certificate() {
 }
 
-inline void
-Generator::set_is_ray_or_point() {
-  set_is_ray_or_point_or_inequality();
+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;
 }
 
-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());
+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;
 }
 
-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;
+template <typename PH>
+inline int
+H79_Certificate::compare(const PH& ph) const {
+  return this->compare(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
 }
 
-inline memory_size_type
-Generator::external_memory_in_bytes() const {
-  return Linear_Row::external_memory_in_bytes();
-}
+} // namespace Parma_Polyhedra_Library
 
-inline memory_size_type
-Generator::total_memory_in_bytes() const {
-  return Linear_Row::total_memory_in_bytes();
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/H79_Certificate.defs.hh line 96. */
 
-inline const Generator&
-Generator::zero_dim_point() {
-  assert(zero_dim_point_p != 0);
-  return *zero_dim_point_p;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Certificate.defs.hh line 1. */
+/* Grid_Certificate class declaration.
+*/
 
-inline const Generator&
-Generator::zero_dim_closure_point() {
-  assert(zero_dim_closure_point_p != 0);
-  return *zero_dim_closure_point_p;
-}
 
-/*! \relates Generator */
-inline Generator
-line(const Linear_Expression& e) {
-  return Generator::line(e);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Certificate.defs.hh line 27. */
 
-/*! \relates Generator */
-inline Generator
-ray(const Linear_Expression& e) {
-  return Generator::ray(e);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Certificate.defs.hh line 30. */
+#include <cassert>
+#include <vector>
 
-/*! \relates Generator */
-inline Generator
-point(const Linear_Expression& e, Coefficient_traits::const_reference d) {
-  return Generator::point(e, d);
-}
+//! 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.
 
-/*! \relates Generator */
-inline Generator
-closure_point(const Linear_Expression& e,
-	      Coefficient_traits::const_reference d) {
-  return Generator::closure_point(e, d);
-}
+  \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();
 
-/*! \relates Generator */
-inline bool
-operator==(const Generator& x, const Generator& y) {
-  return x.is_equivalent_to(y);
-}
+  //! Constructor: computes the certificate for \p gr.
+  Grid_Certificate(const Grid& gr);
 
-/*! \relates Generator */
-inline bool
-operator!=(const Generator& x, const Generator& y) {
-  return !x.is_equivalent_to(y);
-}
+  //! Copy constructor.
+  Grid_Certificate(const Grid_Certificate& y);
 
-inline void
-Generator::ascii_dump(std::ostream& s) const {
-  Linear_Row::ascii_dump(s);
-}
+  //! Destructor.
+  ~Grid_Certificate();
 
-inline bool
-Generator::ascii_load(std::istream& s) {
-  return Linear_Row::ascii_load(s);
-}
+  //! 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;
 
-inline void
-Generator::swap(Generator& y) {
-  Linear_Row::swap(y);
-}
+  //! Compares \p *this with the certificate for grid \p gr.
+  int compare(const Grid& gr) const;
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-/*! \relates Generator */
+  /*! \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)
-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;
-  }
-
-  DIRTY_TEMP0(mpq_class, x_coord);
-  DIRTY_TEMP0(mpq_class, y_coord);
-  DIRTY_TEMP0(mpq_class, x_div);
-  DIRTY_TEMP0(mpq_class, y_div);
-  assign_r(x_div, x.divisor(), ROUND_NOT_NEEDED);
-  assign_r(y_div, y.divisor(), ROUND_NOT_NEEDED);
+  bool is_stabilizing(const Grid& gr) const;
 
-  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;
+  //! 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;
+  };
 
-    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);
-    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
+  //! Check if gathered information is meaningful.
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  bool OK() const;
 
-/*! \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);
-}
+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;
+};
 
-/*! \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;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
-  return rectilinear_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Certificate.inlines.hh line 1. */
+/* Grid_Certificate class implementation: inline functions.
+*/
 
-/*! \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);
-}
+namespace Parma_Polyhedra_Library {
 
-/*! \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;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
-  return euclidean_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+inline
+Grid_Certificate::Grid_Certificate()
+  : num_equalities(0), num_proper_congruences(0) {
+  // This is the certificate for a zero-dim universe grid.
+  assert(OK());
 }
 
-/*! \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
+Grid_Certificate::Grid_Certificate(const Grid_Certificate& y)
+  : num_equalities(y.num_equalities),
+    num_proper_congruences(y.num_proper_congruences) {
 }
 
-/*! \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);
+inline
+Grid_Certificate::~Grid_Certificate() {
 }
 
-/*! \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;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
-  return l_infinity_distance_assign(r, x, y, dir, tmp0, tmp1, tmp2);
+Grid_Certificate::is_stabilizing(const Grid& gr) const {
+  return compare(gr) == 1;
 }
 
-/*! \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);
+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 /home/bagnara/ppl/ppl/src/Grid_Certificate.defs.hh line 102. */
 
-/*! \relates Parma_Polyhedra_Library::Generator */
-inline void
-swap(Parma_Polyhedra_Library::Generator& x,
-     Parma_Polyhedra_Library::Generator& y) {
-  x.swap(y);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Widening_Function.defs.hh line 1. */
+/* Widening_Function class declaration.
+*/
 
-} // namespace std
 
-/* Automatically generated from PPL source file ../src/Generator.defs.hh line 722. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Widening_Function.types.hh line 1. */
 
-/* Automatically generated from PPL source file ../src/Generator_System.inlines.hh line 27. */
 
 namespace Parma_Polyhedra_Library {
 
-inline
-Generator_System::Generator_System()
-  : Linear_System(NECESSARILY_CLOSED) {
-}
+template <typename PH>
+class Widening_Function;
 
-inline
-Generator_System::Generator_System(const Generator& g)
-  : Linear_System(g.topology()) {
-  Linear_System::insert(g);
-}
+template <typename PH, typename CS>
+class Limited_Widening_Function;
 
-inline
-Generator_System::Generator_System(const Generator_System& gs)
-  : Linear_System(gs) {
-}
+} // namespace Parma_Polyhedra_Library
 
-inline
-Generator_System::Generator_System(const Topology topol)
-  : Linear_System(topol) {
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Widening_Function.defs.hh line 28. */
 
-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) {
-}
+#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 PH>
+class Parma_Polyhedra_Library::Widening_Function {
+public:
+  //! The (parametric) type of a widening method.
+  typedef void (PH::* Widening_Method)(const PH&, unsigned*);
 
-inline
-Generator_System::~Generator_System() {
-}
+  //! Explicit unary constructor.
+  explicit
+  Widening_Function(Widening_Method wm);
 
-inline Generator_System&
-Generator_System::operator=(const Generator_System& y) {
-  Linear_System::operator=(y);
-  return *this;
-}
+  //! Function-application operator.
+  /*!
+    Computes <CODE>(x.*wm)(y, tp)</CODE>, where \p wm is the widening
+    method stored at construction time.
+  */
+  void operator()(PH& x, const PH& y, unsigned* tp = 0) const;
 
-inline dimension_type
-Generator_System::max_space_dimension() {
-  return Linear_System::max_space_dimension();
-}
+private:
+  //! The widening method.
+  Widening_Method w_method;
+};
 
-inline dimension_type
-Generator_System::space_dimension() const {
-  return Linear_System::space_dimension();
-}
 
-inline void
-Generator_System::clear() {
-  Linear_System::clear();
-}
+#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 PH, typename CS>
+class Parma_Polyhedra_Library::Limited_Widening_Function {
+public:
+  //! The (parametric) type of a limited widening method.
+  typedef void (PH::* Limited_Widening_Method)(const PH&,
+					       const CS&,
+					       unsigned*);
 
-inline Generator&
-Generator_System::operator[](const dimension_type k) {
-  return static_cast<Generator&>(Linear_System::operator[](k));
-}
+  //! Constructor.
+  /*!
+    \param lwm
+    The limited widening method.
 
-inline const Generator&
-Generator_System::operator[](const dimension_type k) const {
-  return static_cast<const Generator&>(Linear_System::operator[](k));
-}
+    \param cs
+    The constraint system limiting the widening.
+  */
+  Limited_Widening_Function(Limited_Widening_Method lwm,
+			    const CS& cs);
 
-inline
-Generator_System::const_iterator::const_iterator()
-  : i(), gsp(0) {
-}
+  //! 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()(PH& x, const PH& y, unsigned* tp = 0) const;
 
-inline
-Generator_System::const_iterator::const_iterator(const const_iterator& y)
-  : i(y.i), gsp(y.gsp) {
-}
+private:
+  //! The limited widening method.
+  Limited_Widening_Method lw_method;
+  //! A constant reference to the constraint system limiting the widening.
+  const CS& limiting_cs;
+};
 
-inline
-Generator_System::const_iterator::~const_iterator() {
-}
+namespace Parma_Polyhedra_Library {
 
-inline
-Generator_System::const_iterator&
-Generator_System::const_iterator::operator=(const const_iterator& y) {
-  i = y.i;
-  gsp = y.gsp;
-  return *this;
-}
+//! Wraps a widening method into a function object.
+/*!
+  \relates Pointset_Powerset
 
-inline const Generator&
-Generator_System::const_iterator::operator*() const {
-  return static_cast<const Generator&>(*i);
-}
+  \param wm
+  The widening method.
+*/
+template <typename PH>
+Widening_Function<PH>
+widen_fun_ref(void (PH::* wm)(const PH&, unsigned*));
 
-inline const Generator*
-Generator_System::const_iterator::operator->() const {
-  return static_cast<const Generator*>(i.operator->());
-}
+//! Wraps a limited widening method into a function object.
+/*!
+  \relates Pointset_Powerset
 
-inline Generator_System::const_iterator&
-Generator_System::const_iterator::operator++() {
-  ++i;
-  if (!gsp->is_necessarily_closed())
-    skip_forward();
-  return *this;
-}
+  \param lwm
+  The limited widening method.
 
-inline Generator_System::const_iterator
-Generator_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
-}
+  \param cs
+  The constraint system limiting the widening.
+*/
+template <typename PH, typename CS>
+Limited_Widening_Function<PH, CS>
+widen_fun_ref(void (PH::* lwm)(const PH&, const CS&, unsigned*),
+	      const CS& cs);
 
-inline bool
-Generator_System::const_iterator::operator==(const const_iterator& y) const {
-  return i == y.i;
-}
+} // namespace Parma_Polyhedra_Library
 
-inline bool
-Generator_System::const_iterator::operator!=(const const_iterator& y) const {
-  return i != y.i;
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Widening_Function.inlines.hh line 1. */
+/* Widening_Function class implementation: inline functions.
+*/
 
-inline
-Generator_System::const_iterator::
-const_iterator(const Linear_System::const_iterator& iter,
-	       const Generator_System& gsys)
-  : i(iter), gsp(&gsys) {
-}
 
-inline bool
-Generator_System::empty() const {
-  return Linear_System::has_no_rows();
-}
+#include <cassert>
 
-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;
-}
+namespace Parma_Polyhedra_Library {
 
-inline Generator_System::const_iterator
-Generator_System::end() const {
-  const const_iterator i(Linear_System::end(), *this);
-  return i;
+template <typename PH>
+Widening_Function<PH>::Widening_Function(Widening_Method wm)
+  : w_method(wm) {
 }
 
-inline const Generator_System&
-Generator_System::zero_dim_univ() {
-  assert(zero_dim_univ_p != 0);
-  return *zero_dim_univ_p;
+template <typename PH>
+inline void
+Widening_Function<PH>::
+operator()(PH& x, const PH& y, unsigned* tp) const {
+  (x.*w_method)(y, tp);
 }
 
-inline void
-Generator_System::swap(Generator_System& y) {
-  Linear_System::swap(y);
+template <typename PH, typename CS>
+Limited_Widening_Function<PH, CS>::
+Limited_Widening_Function(Limited_Widening_Method lwm,
+			  const CS& cs)
+  : lw_method(lwm), limiting_cs(cs) {
 }
 
-inline memory_size_type
-Generator_System::external_memory_in_bytes() const {
-  return Linear_System::external_memory_in_bytes();
+template <typename PH, typename CS>
+inline void
+Limited_Widening_Function<PH, CS>::
+operator()(PH& x, const PH& y, unsigned* tp) const {
+  (x.*lw_method)(y, limiting_cs, tp);
 }
 
-inline memory_size_type
-Generator_System::total_memory_in_bytes() const {
-  return Linear_System::total_memory_in_bytes();
+/*! \relates Pointset_Powerset */
+template <typename PH>
+inline Widening_Function<PH>
+widen_fun_ref(void (PH::* wm)(const PH&, unsigned*)) {
+  return Widening_Function<PH>(wm);
 }
 
-inline void
-Generator_System::simplify() {
-  Linear_System::simplify();
-  remove_invalid_lines_and_rays();
+/*! \relates Pointset_Powerset */
+template <typename PH, typename CS>
+inline Limited_Widening_Function<PH, CS>
+widen_fun_ref(void (PH::* lwm)(const PH&, const CS&, unsigned*),
+	      const CS& cs) {
+  return Limited_Widening_Function<PH, CS>(lwm, cs);
 }
 
 } // namespace Parma_Polyhedra_Library
 
 
-namespace std {
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Widening_Function.defs.hh line 125. */
 
-/*! \relates Parma_Polyhedra_Library::Constraint_System */
-inline void
-swap(Parma_Polyhedra_Library::Generator_System& x,
-     Parma_Polyhedra_Library::Generator_System& y) {
-  x.swap(y);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/max_space_dimension.hh line 1. */
+/* Definition of functions yielding maximal space dimensions.
+*/
 
-} // namespace std
 
-/* 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 /home/bagnara/ppl/ppl/src/C_Polyhedron.defs.hh line 1. */
+/* C_Polyhedron class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 28. */
-#include <iosfwd>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/C_Polyhedron.types.hh line 1. */
+
 
 namespace Parma_Polyhedra_Library {
 
-// Put them in the namespace here to declare them friend later.
+class C_Polyhedron;
 
-//! 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);
+} // namespace Parma_Polyhedra_Library
 
-//! 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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/NNC_Polyhedron.types.hh line 1. */
 
-//! 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.
+namespace Parma_Polyhedra_Library {
 
-  \relates Poly_Gen_Relation
+class NNC_Polyhedron;
+
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/C_Polyhedron.defs.hh line 32. */
+
+//! 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>.
+
+    \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.
 */
-Poly_Gen_Relation operator-(const Poly_Gen_Relation& x,
-			    const Poly_Gen_Relation& y);
 
-namespace IO_Operators {
+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;
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Poly_Gen_Relation */
-std::ostream& operator<<(std::ostream& s, const Poly_Gen_Relation& r);
+    \param kind
+    Specifies whether a universe or an empty C polyhedron should be built.
 
-} // namespace IO_Operators
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
 
-} // namespace Parma_Polyhedra_Library
+    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);
 
+  //! Builds a C polyhedron from a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-//! 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;
+    \param cs
+    The system of constraints defining the polyhedron.
 
-  //! \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
+    \exception std::invalid_argument
+    Thrown if the system of constraints contains strict inequalities.
+  */
+  explicit C_Polyhedron(const Constraint_System& cs);
 
-  //! All assertions together.
-  static const flags_t EVERYTHING
-  = SUBSUMES;
+  //! Builds a C polyhedron recycling a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-  //! This holds the current bitset.
-  flags_t flags;
+    \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.
 
-  //! True if and only if the conjunction \p x implies the conjunction \p y.
-  static bool implies(flags_t x, flags_t y);
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-  //! Construct from a bit-mask.
-  Poly_Gen_Relation(flags_t mask);
+    \exception std::invalid_argument
+    Thrown if the system of constraints contains strict inequalities.
+  */
+  C_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
+
+  //! Builds a C polyhedron from a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
+
+    \param gs
+    The system of generators defining the polyhedron.
+
+    \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);
+
+  //! Builds a C polyhedron recycling a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
+
+    \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.
+
+    \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,
+    or if it contains closure points.
+  */
+  C_Polyhedron(Generator_System& gs, Recycle_Input dummy);
+
+  //! Builds a C polyhedron from a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence system.
+
+    \param cgs
+    The system of congruences defining the polyhedron.
+  */
+  explicit C_Polyhedron(const Congruence_System& cgs);
+
+  //! Builds a C polyhedron recycling a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence
+    system.
+
+    \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.
+
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  C_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
+
+  /*! \brief
+    Builds a C polyhedron representing the topological closure
+    of the NNC polyhedron \p y.
+
+    \param y
+    The NNC polyhedron to be used;
+
+    \param complexity
+    This argument is ignored.
+  */
+  explicit C_Polyhedron(const NNC_Polyhedron& y,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
+
+  //! 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.
+
+    \param box
+    The box representing the polyhedron to be approximated;
+
+    \param complexity
+    This argument is ignored.
+
+    \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);
+
+  //! 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.
+
+    \param bd
+    The BDS used to build the polyhedron.
+
+    \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);
+
+  //! 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.
+
+    \param os
+    The octagonal shape used to build the polyhedron.
+
+    \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);
 
-  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);
+  //! 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.
 
-  friend Poly_Gen_Relation
-  operator&&(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+    \param grid
+    The grid used to build the polyhedron.
 
-  friend Poly_Gen_Relation
-  operator-(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y);
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
+  */
+  explicit C_Polyhedron(const Grid& grid,
+                        Complexity_Class complexity = ANY_COMPLEXITY);
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::
-  IO_Operators::operator<<(std::ostream& s, const Poly_Gen_Relation& r);
+  //! Ordinary copy-constructor.
+  /*!
+    The complexity argument is ignored.
+  */
+  C_Polyhedron(const C_Polyhedron& y,
+               Complexity_Class complexity = ANY_COMPLEXITY);
 
-public:
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Access the internal flags: this is needed for some language
-    interfaces.
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
   */
-#endif
-  flags_t get_flags() const;
+  C_Polyhedron& operator=(const C_Polyhedron& y);
 
-public:
-  //! The assertion that says nothing.
-  static Poly_Gen_Relation nothing();
+  //! Assigns to \p *this the topological closure of the NNC polyhedron \p y.
+  C_Polyhedron& operator=(const NNC_Polyhedron& y);
 
-  //! Adding the generator would not change the polyhedron.
-  static Poly_Gen_Relation subsumes();
+  //! Destructor.
+  ~C_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.
 
-  //! True if and only if \p *this implies \p y.
-  bool implies(const Poly_Gen_Relation& y) const;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool poly_hull_assign_if_exact(const C_Polyhedron& y);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! 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/Poly_Gen_Relation.inlines.hh line 1. */
-/* Poly_Gen_Relation class implementation: inline functions.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/C_Polyhedron.inlines.hh line 1. */
+/* C_Polyhedron class implementation: inline functions.
 */
 
 
+#include <algorithm>
+#include <stdexcept>
+
 namespace Parma_Polyhedra_Library {
 
 inline
-Poly_Gen_Relation::Poly_Gen_Relation(flags_t mask)
-  : flags(mask) {
+C_Polyhedron::~C_Polyhedron() {
 }
 
-inline Poly_Gen_Relation::flags_t
-Poly_Gen_Relation::get_flags() const {
-  return flags;
+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) {
 }
 
-inline Poly_Gen_Relation
-Poly_Gen_Relation::nothing() {
-  return Poly_Gen_Relation(NOTHING);
+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)) {
 }
 
-inline Poly_Gen_Relation
-Poly_Gen_Relation::subsumes() {
-  return Poly_Gen_Relation(SUBSUMES);
+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()) {
 }
 
-inline bool
-Poly_Gen_Relation::implies(flags_t x, flags_t y) {
-  return (x & y) == y;
+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)) {
 }
 
-inline bool
-Poly_Gen_Relation::implies(const Poly_Gen_Relation& y) const {
-  return implies(flags, y.flags);
+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()) {
 }
 
-/*! \relates Poly_Gen_Relation */
-inline bool
-operator==(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
-  return x.flags == y.flags;
+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)) {
 }
 
-/*! \relates Poly_Gen_Relation */
-inline bool
-operator!=(const Poly_Gen_Relation& x, const Poly_Gen_Relation& y) {
-  return x.flags != y.flags;
+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());
 }
 
-/*! \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);
+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 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);
+inline
+C_Polyhedron::C_Polyhedron(const C_Polyhedron& y, Complexity_Class)
+  : Polyhedron(y) {
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Poly_Gen_Relation.defs.hh line 137. */
-
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 1. */
-/* Polyhedron 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/Grid_Generator_System.defs.hh line 30. */
-#include <iosfwd>
-
-namespace Parma_Polyhedra_Library {
-
-namespace IO_Operators {
-
-//! 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);
+inline C_Polyhedron&
+C_Polyhedron::operator=(const C_Polyhedron& y) {
+  Polyhedron::operator=(y);
+  return *this;
+}
 
-} // namespace IO_Operators
+inline C_Polyhedron&
+C_Polyhedron::operator=(const NNC_Polyhedron& y) {
+  C_Polyhedron c_y(y);
+  swap(c_y);
+  return *this;
+}
 
-//! 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);
+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 std {
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/C_Polyhedron.defs.hh line 278. */
 
-//! 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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/NNC_Polyhedron.defs.hh line 1. */
+/* NNC_Polyhedron class declaration.
+*/
 
-} // namespace std
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/NNC_Polyhedron.defs.hh line 30. */
 
-//! A system of grid generators.
+//! A not necessarily closed convex polyhedron.
 /*! \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.
-
-    \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 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
-
-    \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
+    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
-    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.
+    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::Grid_Generator_System
-  : private Generator_System {
+class Parma_Polyhedra_Library::NNC_Polyhedron : public Polyhedron {
 public:
-  //! Default constructor: builds an empty system of generators.
-  Grid_Generator_System();
-
-  //! 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);
-
-  //! Ordinary copy-constructor.
-  Grid_Generator_System(const Grid_Generator_System& gs);
-
-  //! Destructor.
-  ~Grid_Generator_System();
-
-  //! Assignment operator.
-  Grid_Generator_System& operator=(const Grid_Generator_System& y);
-
-  //! Returns the maximum space dimension a Grid_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();
-
-  /*! \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.
-  */
-  void insert(const Grid_Generator& g);
-
-  /*! \brief
-    Inserts into \p *this the generator \p g, increasing the number of
-    space dimensions if needed.
-  */
-  void recycling_insert(Grid_Generator& g);
-
-  /*! \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);
-
-  //! Initializes the class.
-  static void initialize();
-
-  //! Finalizes the class.
-  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& gs = gr.generators();
-  for (Grid_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 = gr.generators();
-  copy(gs.begin(), gs.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&>,
-      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;
+  //! Builds either the universe or the empty NNC polyhedron.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the NNC polyhedron;
 
-    //! Copy-constructor from Generator_System::const_iterator.
-    const_iterator(const Generator_System::const_iterator& y);
-  };
+    \param kind
+    Specifies whether a universe or an empty NNC polyhedron should be built.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this has no generators.
-  bool empty() const;
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
 
-  /*! \brief
-    Returns the const_iterator pointing to the first generator, if \p
-    *this is not empty; otherwise, returns the past-the-end
-    const_iterator.
+    Both parameters are optional:
+    by default, a 0-dimension space universe NNC polyhedron is built.
   */
-  const_iterator begin() const;
+  explicit NNC_Polyhedron(dimension_type num_dimensions = 0,
+			  Degenerate_Element kind = UNIVERSE);
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+  //! Builds an NNC polyhedron from a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-  //! Returns the number of rows (generators) in the system.
-  dimension_type num_rows() const;
+    \param cs
+    The system of constraints defining the polyhedron.
+  */
+  explicit NNC_Polyhedron(const Constraint_System& cs);
 
-  //! Returns the number of parameters in the system.
-  dimension_type num_parameters() const;
+  //! Builds an NNC polyhedron recycling a system of constraints.
+  /*!
+    The polyhedron inherits the space dimension of the constraint system.
 
-  //! Returns the number of lines in the system.
-  dimension_type num_lines() const;
+    \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.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this contains one or
-    more points.
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
   */
-  bool has_points() const;
-
-  //! Returns <CODE>true</CODE> if \p *this is identical to \p y.
-  bool is_equal_to(const Grid_Generator_System& y) const;
+  NNC_Polyhedron(Constraint_System& cs, Recycle_Input dummy);
 
-  //! Checks if all the invariants are satisfied.
+  //! Builds an NNC polyhedron from a system of generators.
   /*!
-    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
+    The polyhedron inherits the space dimension of the generator system.
 
-  /*! \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 gs
+    The system of generators defining the polyhedron.
 
-    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.
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
   */
-  bool ascii_load(std::istream& s);
+  explicit NNC_Polyhedron(const Generator_System& gs);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  //! Builds an NNC polyhedron recycling a system of generators.
+  /*!
+    The polyhedron inherits the space dimension of the generator system.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \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.
 
-  //! Swaps \p *this with \p y.
-  void swap(Grid_Generator_System& y);
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-private:
-  /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the singleton system containing only Grid_Generator::zero_dim_point().
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
   */
-  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);
+  NNC_Polyhedron(Generator_System& gs, Recycle_Input dummy);
 
-  //! Sets the sortedness flag of the system to \p b.
-  void set_sorted(bool b);
+  //! Builds an NNC polyhedron from a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence system.
 
-  //! Sets the index to indicate that the system has no pending rows.
-  void unset_pending_rows();
+    \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);
 
-  //! Sets the index of the first pending row to \p i.
-  void set_index_first_pending_row(dimension_type i);
+  //! Builds an NNC polyhedron recycling a system of congruences.
+  /*!
+    The polyhedron inherits the space dimension of the congruence
+    system.
 
-  //! Returns the \p k- th generator of the system.
-  Grid_Generator& operator[](dimension_type k);
+    \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 a constant reference to the \p k- th generator of the system.
-  const Grid_Generator& operator[](dimension_type k) const;
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  NNC_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
 
-  //! Assigns to a given variable an affine expression.
+  //! Builds an NNC polyhedron from the C polyhedron \p y.
   /*!
-    \param v
-    Index of the column to which the affine transformation is assigned;
+    \param y
+    The C polyhedron to be used;
 
-    \param expr
-    The numerator of the affine transformation:
-    \f$\sum_{i = 0}^{n - 1} a_i x_i + b\f$;
+    \param complexity
+    This argument is ignored.
+  */
+  explicit NNC_Polyhedron(const C_Polyhedron& y,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-    \param denominator
-    The denominator of the affine transformation;
+  //! 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.
 
-    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.
+    \param box
+    The box representing the polyhedron to be built;
 
-    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]
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-    \p expr is a constant parameter and unaltered by this computation.
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum allowed
+    space dimension.
   */
-  void affine_image(dimension_type v,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator);
+  template <typename Interval>
+  explicit NNC_Polyhedron(const Box<Interval>& box,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  /*! \brief
-    Adds \p dims rows and \p dims columns of zeroes to the matrix,
-    initializing the added rows as in the universe system.
+  //! 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.
 
-    \param dims
-    The number of rows and columns to be added: must be strictly
-    positive.
+    \param grid
+    The grid used to build the polyhedron.
 
-    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.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
   */
-  void add_universe_rows_and_columns(dimension_type dims);
+  explicit NNC_Polyhedron(const Grid& grid,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Removes all the specified dimensions from the generator system.
+  //! Builds a NNC polyhedron out of a BD shape.
   /*!
-    The space dimension of the variable with the highest space
-    dimension in \p to_be_removed must be at most the space dimension
-    of \p this.
-  */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+    The polyhedron inherits the space dimension of the BD shape
+    and is the most precise that includes the BD shape.
 
-  /*! \brief
-    Removes the higher dimensions of the system so that the resulting
-    system will have dimension \p new_dimension.
+    \param bd
+    The BD shape used to build the polyhedron.
 
-    The value of \p new_dimension must be at most the space dimension
-    of \p *this.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
   */
-  void remove_higher_space_dimensions(dimension_type new_dimension);
+  template <typename U>
+  explicit NNC_Polyhedron(const BD_Shape<U>& bd,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Resizes the system without worrying about the old contents.
+  //! Builds a NNC polyhedron out of an octagonal shape.
   /*!
-    \param new_num_rows
-    The number of rows of the resized system;
+    The polyhedron inherits the space dimension of the octagonal shape
+    and is the most precise that includes the octagonal shape.
 
-    \param new_num_columns
-    The number of columns of the resized system.
+    \param os
+    The octagonal shape used to build the polyhedron.
 
-    The system is expanded to the specified dimensions avoiding
-    reallocation whenever possible.
-    The contents of the original system is lost.
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
   */
-  void resize_no_copy(dimension_type new_num_rows,
-		      dimension_type new_num_columns);
+  template <typename U>
+  explicit NNC_Polyhedron(const Octagonal_Shape<U>& os,
+                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  /*! \brief
-    Returns the number of columns of the matrix (i.e., the size of the
-    rows).
-  */
-  dimension_type num_columns() const;
+  //! Ordinary copy-constructor.
+  NNC_Polyhedron(const NNC_Polyhedron& y,
+                 Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \brief
-    Erases from the matrix all the rows but those having an index less
-    than \p first_to_erase.
+    The assignment operator.
+    (\p *this and \p y can be dimension-incompatible.)
   */
-  void erase_to_end(dimension_type first_to_erase);
+  NNC_Polyhedron& operator=(const NNC_Polyhedron& 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.
+  //! Assigns to \p *this the C polyhedron \p y.
+  NNC_Polyhedron& operator=(const C_Polyhedron& 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.
+  //! Destructor.
+  ~NNC_Polyhedron();
+
+  /*! \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.
   */
-  void permute_columns(const std::vector<dimension_type>& cycles);
-};
+  bool poly_hull_assign_if_exact(const NNC_Polyhedron& y);
 
-// Grid_Generator_System.inlines.hh is not included here on purpose.
+  //! Same as poly_hull_assign_if_exact(y).
+  bool upper_bound_assign_if_exact(const NNC_Polyhedron& y);
+};
 
-/* 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 /home/bagnara/ppl/ppl/src/NNC_Polyhedron.inlines.hh line 1. */
+/* NNC_Polyhedron class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 1. */
-/* Grid_Generator class declaration.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/NNC_Polyhedron.inlines.hh line 27. */
+
+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 /home/bagnara/ppl/ppl/src/NNC_Polyhedron.defs.hh line 254. */
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.defs.hh line 1. */
+/* Grid class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 31. */
-// FIXME: this inclusion must be removed along with the friend declaration
-//        befriending class Box.
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 34. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.defs.hh line 48. */
+#include <vector>
 #include <iosfwd>
 
 namespace Parma_Polyhedra_Library {
 
-// Put these in the namespace here to declare them friend later.
-
 namespace IO_Operators {
 
 //! Output operator.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-std::ostream& operator<<(std::ostream& s, const Grid_Generator& g);
+/*!
+  \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);
 
 } // namespace IO_Operators
 
-} // namespace Parma_Polyhedra_Library
+/*! \brief
+  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
+  grid.
 
-namespace std {
+  \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);
 
-//! 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 x and \p y are different
+  grids.
 
-} // namespace std
+  \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);
 
-//! A grid line, parameter or grid point.
+} // namespace Parma_Polyhedra_Library
+
+
+//! A grid.
 /*! \ingroup PPL_CXX_interface
-  An object of the class Grid_Generator is one of the following:
+  An object of the class Grid represents a rational grid.
 
-  - a grid_line \f$\vect{l} = (a_0, \ldots, a_{n-1})^\transpose\f$;
+  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).
 
-  - a parameter
-    \f$\vect{q} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  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.
 
-  - a grid_point
-    \f$\vect{p} = (\frac{a_0}{d}, \ldots, \frac{a_{n-1}}{d})^\transpose\f$;
+  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.
 
-  where \f$n\f$ is the dimension of the space
-  and, for grid_points and parameters, \f$d > 0\f$ is the divisor.
+  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.
 
-  \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.
+  Note that two different grids can be defined on the zero-dimension
+  space: the empty grid and the universe grid \f$R^0\f$.
 
   \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:
+  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);
-  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$:
+  The following code builds a grid corresponding to the even integer
+  pairs in \f$\Rset^2\f$, given as a system of congruences:
   \code
-  Grid_Generator l = grid_line(x - y - z);
+  Congruence_System cgs;
+  cgs.insert((x %= 0) / 2);
+  cgs.insert((y %= 0) / 2);
+  Grid gr(cgs);
   \endcode
-  By definition, the origin of the space is not a line, so that
-  the following code throws an exception:
+  The following code builds the same grid as above, but starting
+  from a system of generators specifying three of the points:
   \code
-  Grid_Generator l = grid_line(0*x);
+  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
 
   \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
+  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
-  Grid_Generator q1 = parameter(2x - 2y - 2z);
+  Congruence_System cgs;
+  cgs.insert(x - y == 0);
+  Grid gr(cgs);
   \endcode
-  By definition, the origin of the space is not a parameter, so that
-  the following code throws an exception:
+  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 q = parameter(0*x);
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(grid_line(x + y));
+  Grid gr(gs);
   \endcode
 
   \par Example 3
-  The following code builds the grid point
-  \f$\vect{p} = (1, 0, 2)^\transpose \in \Rset^3\f$:
+  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
-  Grid_Generator p = grid_point(1*x + 0*y + 2*z);
+  Congruence_System cgs;
+  cgs.insert(x - y == 0);
+  cgs.insert(x %= 0);
+  Grid gr(cgs);
   \endcode
-  The same effect can be obtained by using the following code:
+  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 p = grid_point(x + 2*z);
+  Grid_Generator_System gs;
+  gs.insert(grid_point(0*x + 0*y));
+  gs.insert(parameter(x + y));
+  Grid gr(gs);
   \endcode
-  Similarly, the origin \f$\vect{0} \in \Rset^3\f$ can be defined
-  using either one of the following lines of code:
+
+  \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_Generator origin3 = grid_point(0*x + 0*y + 0*z);
-  Grid_Generator origin3_alt = grid_point(0*z);
+  Grid gr(2);
   \endcode
-  Note however that the following code would have defined
-  a different point, namely \f$\vect{0} \in \Rset^2\f$:
+  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_Generator origin2 = grid_point(0*y);
+  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
-  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.
+  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).
+
+  \par Example 5
+  The following code shows the use of the function
+  <CODE>add_space_dimensions_and_embed</CODE>:
   \code
-  Grid_Generator origin0 = Generator::zero_dim_point();
-  Grid_Generator origin0_alt = grid_point();
+  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]
+
+  \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$.
 
-  \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):
+  \par Example 7
+  The following code shows the use of the function
+  <CODE>affine_image</CODE>:
   \code
-  Grid_Generator p = grid_point(2*x + 0*y + 4*z, 2);
+  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
-  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:
+  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
-  Grid_Generator p1 = grid_point(-15*x + 32*y + 21*z, 10);
+  Linear_Expression expr = x + y;
   \endcode
-  If a zero divisor is provided, an exception is thrown.
+  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.
 
-  \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:
+  \par Example 8
+  The following code shows the use of the function
+  <CODE>affine_preimage</CODE>:
   \code
-  Grid_Generator q = parameter(2*x + 0*y + 4*z, 2);
+  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
-  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:
+  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
-  Grid_Generator q = parameter(-15*x + 32*y + 21*z, 10);
+  Linear_Expression expr = x + y;
   \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.
+  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.
 
-  \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$.
+  \par Example 9
+  For this example we also use the variables:
   \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;
+  Variable z(2);
+  Variable w(3);
   \endcode
-  Therefore, for the grid point
+  The following code shows the use of the function
+  <CODE>remove_space_dimensions</CODE>:
   \code
-  Grid_Generator g1 = grid_point(2*x - y + 3*z, 2);
+  Grid_Generator_System gs;
+  gs.insert(grid_point(3*x + y +0*z + 2*w));
+  Grid gr(gs);
+  Variables_Set to_be_removed;
+  to_be_removed.insert(y);
+  to_be_removed.insert(z);
+  gr.remove_space_dimensions(to_be_removed);
   \endcode
-  we would obtain the following output:
+  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
-  Grid point g1: p((2*A - B + 3*C)/2)
-  Parameter g2: parameter((2*A - 2*B + 9*C)/2)
+  set<Variable> to_be_removed1;
+  to_be_removed1.insert(y);
+  gr.remove_space_dimensions(to_be_removed1);
+  set<Variable> to_be_removed2;
+  to_be_removed2.insert(z);
+  gr.remove_space_dimensions(to_be_removed2);
   \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.
+  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 to_be_removed2
+  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.
 */
-class Parma_Polyhedra_Library::Grid_Generator : private Generator {
+
+class Parma_Polyhedra_Library::Grid {
 public:
-  //! Returns the line of direction \p e.
+  //! The numeric type of coefficients.
+  typedef Coefficient coefficient_type;
+
+  //! Returns the maximum space dimension all kinds of Grid can handle.
+  static dimension_type max_space_dimension();
+
+  /*! \brief
+    Returns true indicating that this domain has methods that
+    can recycle congruences
+  */
+  static bool can_recycle_congruence_systems();
+
+  /*! \brief
+    Returns true indicating that this domain has methods that
+    can recycle constraints
+  */
+  static bool can_recycle_constraint_systems();
+
+  //! Builds a grid having the specified properties.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the grid;
+
+    \param kind
+    Specifies whether the universe or the empty grid has to be built.
+
+    \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);
+
+  //! Builds a grid, copying a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
+
+    \param cgs
+    The system of congruences defining the grid.
+
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
+  */
+  explicit Grid(const Congruence_System& cgs);
+
+  //! Builds a grid, recycling a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
+
+    \param cgs
+    The system of congruences defining the grid.  Its data-structures
+    may be recycled to build the grid.
+
+    \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.
+  */
+  Grid(Congruence_System& cgs, Recycle_Input dummy);
+
+  //! Builds a grid, copying a system of constraints.
   /*!
+    The grid inherits the space dimension of the constraint system.
+
+    \param cs
+    The system of constraints defining the grid.
+
     \exception std::invalid_argument
-    Thrown if the homogeneous part of \p e represents the origin of
-    the vector space.
+    Thrown if the constraint system \p cs contains inequality constraints.
+
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
-  static Grid_Generator grid_line(const Linear_Expression& e);
+  explicit Grid(const Constraint_System& cs);
 
-  //! Returns the parameter of direction \p e and size \p e/d.
+  //! Builds a grid, recycling a system of constraints.
   /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+    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.
+
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
     \exception std::invalid_argument
-    Thrown if \p d is zero.
+    Thrown if the constraint system \p cs contains inequality constraints.
+
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
-  static Grid_Generator parameter(const Linear_Expression& e
-				  = Linear_Expression::zero(),
-				  Coefficient_traits::const_reference d
-				  = Coefficient_one());
+  Grid(Constraint_System& cs, Recycle_Input dummy);
 
-  //! Returns the point at \p e / \p d.
+  //! Builds a grid, copying a system of grid generators.
   /*!
-    Both \p e and \p d are optional arguments, with default values
-    Linear_Expression::zero() and Coefficient_one(), respectively.
+    The grid inherits the space dimension of the generator system.
+
+    \param const_gs
+    The system of generators defining the grid.
 
     \exception std::invalid_argument
-    Thrown if \p d is zero.
+    Thrown if the system of generators is not empty but has no points.
+
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
-  static Grid_Generator grid_point(const Linear_Expression& e
-				   = Linear_Expression::zero(),
-				   Coefficient_traits::const_reference d
-				   = Coefficient_one());
+  explicit Grid(const Grid_Generator_System& const_gs);
 
-  //! Ordinary copy-constructor.
-  Grid_Generator(const Grid_Generator& g);
+  //! Builds a grid, recycling a system of grid generators.
+  /*!
+    The grid inherits the space dimension of the generator system.
 
-  //! Destructor.
-  ~Grid_Generator();
+    \param gs
+    The system of generators defining the grid.  Its data-structures
+    may be recycled to build the grid.
 
-  //! Assignment operator.
-  Grid_Generator& operator=(const Grid_Generator& g);
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
-  //! Assignment operator.
-  Grid_Generator& operator=(const Generator& g);
+    \exception std::invalid_argument
+    Thrown if the system of generators is not empty but has no points.
 
-  //! Returns the maximum space dimension a Grid_Generator can handle.
-  static dimension_type max_space_dimension();
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
+  */
+  Grid(Grid_Generator_System& gs, Recycle_Input dummy);
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  //! 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.
 
-  //! 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
-  };
+    \param box
+    The box representing the grid to be built.
 
-  //! Returns the generator type of \p *this.
-  Type type() const;
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a line.
-  bool is_line() const;
+    \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);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a parameter.
-  bool is_parameter() const;
+  //! 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.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a line or
-    a parameter.
+    \param bd
+    The BDS representing the grid to be built.
+
+    \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.
   */
-  bool is_line_or_parameter() const;
+  template <typename U>
+  explicit Grid(const BD_Shape<U>& bd,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is a point.
-  bool is_point() const;
+  //! 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.
+
+    \param os
+    The octagonal shape representing the grid to be built.
+
+    \param complexity
+    This argument is ignored as the algorithm used has
+    polynomial complexity.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this row represents a
-    parameter or a point.
+    \exception std::length_error
+    Thrown if the space dimension of \p os exceeds the maximum
+    allowed space dimension.
   */
-  bool is_parameter_or_point() const;
+  template <typename U>
+  explicit Grid(const Octagonal_Shape<U>& os,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! Returns the coefficient of \p v in \p *this.
+  //! Builds a grid out of a generic, interval-based covering box.
   /*!
-    \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;
+    The covering box is a set of upper and lower values for each
+    dimension.  When a covering box is tiled onto empty space the
+    corners of the tiles form a rectilinear grid.
 
-  //! Returns the divisor of \p *this.
-  /*!
-    \exception std::invalid_argument
-    Thrown if \p *this is a line.
-  */
-  Coefficient_traits::const_reference divisor() const;
+    A box interval with only one bound fixes the values of all grid
+    points in the dimension associated with the box to the value of
+    the bound.  A box interval which has upper and lower bounds of
+    equal value allows all grid points with any value in the dimension
+    associated with the interval.  The presence of a universe interval
+    results in the empty grid.  The empty box produces the empty grid
+    of the same dimension as the box.
 
-  //! Initializes the class.
-  static void initialize();
+    \param box
+    The covering box representing the grid to be built;
 
-  //! Finalizes the class.
-  static void finalize();
+    \param dummy
+    A dummy tag to make this constructor syntactically unique.
 
-  //! Returns the origin of the zero-dimensional space \f$\Rset^0\f$.
-  static const Grid_Generator& zero_dim_point();
+    \exception std::length_error
+    Thrown if the space dimension of \p box exceeds the maximum
+    allowed 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;
+    \exception std::invalid_argument
+    Thrown if \p box contains any topologically open bounds.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    The template class Box must provide the following methods.
+    \code
+      dimension_type space_dimension() const
+    \endcode
+    returns the dimension of the vector space enclosing the grid
+    represented by the covering box.
+    \code
+      bool is_empty() const
+    \endcode
+    returns <CODE>true</CODE> if and only if the covering box
+    describes the empty set.
+    \code
+      bool get_lower_bound(dimension_type k, bool& closed,
+                           Coefficient& n, Coefficient& d) const
+    \endcode
+    Let \f$I\f$ be 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 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.
+    \code
+      bool get_upper_bound(dimension_type k, bool& closed,
+                           Coefficient& n, Coefficient& d) const
+    \endcode
+    Let \f$I\f$ be 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 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$.
+  */
+  template <typename Box>
+  Grid(const Box& box, From_Covering_Box dummy);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are
-    equivalent generators.
+    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.
 
-    Generators having different space dimensions are not equivalent.
-  */
-  bool is_equivalent_to(const Grid_Generator& y) const;
+    The grid inherits the space dimension of polyhedron.
 
-  //! Returns <CODE>true</CODE> if \p *this is exactly equal to \p y.
-  bool is_equal_to(const Grid_Generator& y) const;
+    \param ph
+    The polyhedron.
 
-  /*! \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;
+    \param complexity
+    The complexity class.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if all the homogeneous terms
-    of \p *this are \f$0\f$.
+    \exception std::length_error
+    Thrown if \p num_dimensions exceeds the maximum allowed space
+    dimension.
   */
-  bool all_homogeneous_terms_are_zero() const;
+  explicit Grid(const Polyhedron& ph,
+                Complexity_Class complexity = ANY_COMPLEXITY);
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Ordinary copy-constructor.
+  /*!
+    The complexity argument is ignored.
+  */
+  Grid(const Grid& y,
+       Complexity_Class complexity = ANY_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.
+    The assignment operator.  (\p *this and \p y can be
+    dimension-incompatible.)
   */
-  bool ascii_load(std::istream& s);
+  Grid& operator=(const Grid& y);
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  //! \name Member Functions that Do Not Modify the Grid
+  //@{
 
-  //! Swaps \p *this with \p y.
-  void swap(Grid_Generator& y);
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
   /*! \brief
-    Swaps \p *this with \p y, leaving \p *this with the original
-    capacity.
-
-    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.
+    Returns \f$0\f$, if \p *this is empty; otherwise, returns
+    the \ref Grid_Affine_Dimension "affine dimension" of \p *this.
   */
-  void coefficient_swap(Grid_Generator& y);
+  dimension_type affine_dimension() const;
 
-private:
   /*! \brief
-    Holds (between class initialization and finalization) a pointer to
-    the origin of the zero-dimensional space \f$\Rset^0\f$.
+    Returns a system of equality constraints satisfied by \p *this
+    with the same affine dimension as \p *this.
   */
-  static const Grid_Generator* zero_dim_point_p;
+  Constraint_System constraints() const;
 
   /*! \brief
-    Scales \p *this to be represented with a divisor of \p d (if
-    \*this is a parameter or point).
-
-    It is assumed that \p d is a multiple of the current divisor.
-
-    \exception std::invalid_argument
-    Thrown if \p d is zero.
+    Returns a minimal system of equality constraints satisfied by
+    \p *this with the same affine dimension as \p *this.
   */
-  void scale_to_divisor(Coefficient_traits::const_reference d);
+  Constraint_System minimized_constraints() const;
 
-  /*! \brief
-    Constructs from polyhedron generator \p g, stealing the underlying
-    data structures from \p g.
+  //! Returns the system of congruences.
+  const Congruence_System& congruences() const;
 
-    The last column in \p g becomes the parameter divisor column of
-    the new Grid_Generator.
-  */
-  explicit Grid_Generator(Generator g);
+  //! Returns the system of congruences in minimal form.
+  const Congruence_System& minimized_congruences() const;
 
-  //! Returns the actual size of \p this.
-  dimension_type size() const;
+  //! Returns the system of generators.
+  const Grid_Generator_System& grid_generators() const;
 
-  //! Negates the elements from index \p start to index \p end.
-  void negate(dimension_type start, dimension_type end);
+  //! Returns the minimized system of generators.
+  const Grid_Generator_System& minimized_grid_generators() const;
 
-  //! Sets the divisor of \p *this to \p d.
-  /*!
+  //! Returns the relations holding between \p *this and \p cg.
+  /*
     \exception std::invalid_argument
-    Thrown if \p *this is a line.
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
   */
-  void set_divisor(Coefficient_traits::const_reference d);
-
-  //! Sets the Linear_Row kind to <CODE>LINE_OR_EQUALITY</CODE>.
-  void set_is_line();
-
-  //! Sets the Linear_Row kind to <CODE>RAY_OR_POINT_OR_INEQUALITY</CODE>.
-  void set_is_parameter_or_point();
-
-  //! Converts the Grid_Generator into a parameter.
-  void set_is_parameter();
+  // 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
-    Strong normalization: ensures that different Grid_Generator
-    objects represent different hyperplanes or hyperspaces.
+  //! 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;
 
-    Applies both Linear_Row::normalize() and Linear_Row::sign_normalize().
+  //! 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;
 
-    This is simply a wrapper around the Generator::strong_normalize,
-    which means applying it to a parameter may change the parameter.
+  //! 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.
   */
-  void strong_normalize();
+  // 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;
 
-  //! Returns a reference to the element of the row indexed by \p k.
-  Coefficient& operator[](dimension_type k);
+  //! Returns \c true if and only if \p *this is an empty grid.
+  bool is_empty() const;
 
-  //! Returns a constant reference to the element of the row indexed by \p k.
-  Coefficient_traits::const_reference operator[](dimension_type k) const;
+  //! Returns \c true if and only if \p *this is a universe grid.
+  bool is_universe() 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 a
+    topologically closed subset of the vector space.
 
-  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;
+    A grid is always topologically closed.
+  */
+  bool is_topologically_closed() const;
 
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are
+    disjoint.
 
-  // FIXME: The following friend declaration is for the use of operator[]
-  //        in Box<Interval>::Box(const Grid&, Complexity_Class),
-  //        and should be removed as soon as the computation there is moved
-  //        to the Grid class.
-  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool is_disjoint_from(const Grid& y) const;
 
-  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;
-};
+  //! 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;
 
+  //! Returns <CODE>true</CODE> if and only if \p *this is bounded.
+  bool is_bounded() const;
 
-namespace Parma_Polyhedra_Library {
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
+  */
+  bool contains_integer_point() const;
 
-/*! \brief
-  Shorthand for Grid_Generator
-  Grid_Generator::grid_line(const Linear_Expression& e).
-*/
-/*! \relates Grid_Generator */
-Grid_Generator grid_line(const Linear_Expression& e);
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
-/*! \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());
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  bool constrains(Variable var) const;
 
-/*! \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());
+  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
+  /*!
+    This method is the same as bounds_from_below.
 
-//! 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);
+    \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 x is not 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 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;
 
-namespace IO_Operators {
+  /*! \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.
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-std::ostream& operator<<(std::ostream& s, const Grid_Generator::Type& t);
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-} // namespace IO_Operators
+    \param sup_n
+    The numerator of the supremum value;
 
-} // namespace Parma_Polyhedra_Library
+    \param sup_d
+    The denominator of the supremum value;
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.inlines.hh line 1. */
-/* Grid Generator class implementation: inline functions.
-*/
+    \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.
 
+    \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 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;
 
-inline
-Grid_Generator::Grid_Generator(const Grid_Generator& g)
-  : Generator(g) {
-}
+  /*! \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
-Grid_Generator::~Grid_Generator() {
-}
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-inline
-Grid_Generator::Grid_Generator(Generator g)
-  : Generator(Generator::point()) {
-  Generator::swap(g);
-}
+    \param sup_n
+    The numerator of the supremum value;
 
-inline dimension_type
-Grid_Generator::size() const {
-  return Generator::size();
-}
+    \param sup_d
+    The denominator of the supremum value;
 
-inline dimension_type
-Grid_Generator::max_space_dimension() {
-  return Generator::max_space_dimension() - 1;
-}
+    \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 Coefficient&
-Grid_Generator::operator[](dimension_type k) {
-  return Generator::operator[](k);
-}
+    \param point
+    When maximization succeeds, will be assigned a point where \p expr
+    reaches its supremum value.
 
-inline Coefficient_traits::const_reference
-Grid_Generator::operator[](dimension_type k) const {
-  return Generator::operator[](k);
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline dimension_type
-Grid_Generator::space_dimension() const {
-  return Generator::space_dimension() - 1;
-}
+    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 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:
-    assert(false);
-    return POINT;
-  }
-}
+  /*! \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 bool
-Grid_Generator::is_line() const {
-  return Generator::is_line();
-}
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-inline bool
-Grid_Generator::is_parameter() const {
-  return is_ray();
-}
+    \param inf_n
+    The numerator of the infimum value;
 
-inline bool
-Grid_Generator::is_line_or_parameter() const {
-  return is_line_or_ray();
-}
+    \param inf_d
+    The denominator of the infimum value;
 
-inline bool
-Grid_Generator::is_point() const {
-  return Generator::is_point();
-}
+    \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 bool
-Grid_Generator::is_parameter_or_point() const {
-  return is_ray_or_point_or_inequality();
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-inline void
-Grid_Generator::set_divisor(Coefficient_traits::const_reference d) {
-  assert(!is_line());
-  if (is_line_or_parameter())
-    Generator::operator[](size() - 1) = d;
-  else
-    Generator::operator[](0) = d;
-}
+    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 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);
-}
+  /*! \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 bool
-Grid_Generator::is_equal_at_dimension(dimension_type dim,
-				      const Grid_Generator& gg) const {
-  return operator[](dim) * gg.divisor() == gg[dim] * divisor();
-}
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-inline void
-Grid_Generator::set_is_line() {
-  Generator::set_is_line();
-}
+    \param inf_n
+    The numerator of the infimum value;
 
-inline void
-Grid_Generator::set_is_parameter_or_point() {
-  Generator::set_is_ray_or_point();
-}
+    \param inf_d
+    The denominator of the infimum value;
 
-inline Grid_Generator&
-Grid_Generator::operator=(const Grid_Generator& g) {
-  Generator::operator=(g);
-  return *this;
-}
+    \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 Grid_Generator&
-Grid_Generator::operator=(const Generator& g) {
-  Generator::operator=(g);
-  return *this;
-}
+    \param point
+    When minimization succeeds, will be assigned a point where \p expr
+    reaches its infimum value.
 
-inline void
-Grid_Generator::negate(dimension_type start, dimension_type end) {
-  while (start <= end)
-    neg_assign(operator[](start++));
-}
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-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);
-}
+    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;
 
-inline memory_size_type
-Grid_Generator::total_memory_in_bytes() const {
-  return Generator::total_memory_in_bytes();
-}
+  //! 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;
 
-inline memory_size_type
-Grid_Generator::external_memory_in_bytes() const {
-  return Generator::external_memory_in_bytes();
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this strictly
+    contains \p y.
 
-inline const Grid_Generator&
-Grid_Generator::zero_dim_point() {
-  assert(zero_dim_point_p != 0);
-  return *zero_dim_point_p;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool strictly_contains(const Grid& y) const;
 
-inline void
-Grid_Generator::strong_normalize() {
-  Generator::strong_normalize();
-}
+  //! Writes the covering box for \p *this into \p box.
+  /*!
+    The covering box is a set of upper and lower values for each
+    dimension.  When the covering box written into \p box is tiled
+    onto empty space the corners of the tiles form the sparsest
+    rectilinear grid that includes \p *this.
 
-inline void
-Grid_Generator::swap(Grid_Generator& y) {
-  Generator::swap(y);
-}
+    The value of the lower bound of each interval of the resulting \p
+    box are as close as possible to the origin, with positive values
+    taking preference when the lowest positive value equals the lowest
+    negative value.
 
-/*! \relates Grid_Generator */
-inline bool
-operator==(const Grid_Generator& x, const Grid_Generator& y) {
-  return x.is_equivalent_to(y);
-}
+    If all the points have a single value in a particular dimension of
+    the grid then there is only a lower bound on the interval produced
+    in \p box, and the lower bound denotes the single value for the
+    dimension.  If the coordinates of the points in a particular
+    dimension include every value then the upper and lower bounds of
+    the associated interval in \p box are set equal.  The empty grid
+    produces the empty \p box.  The zero dimension universe grid
+    produces the zero dimension universe box.
 
-/*! \relates Grid_Generator */
-inline bool
-operator!=(const Grid_Generator& x, const Grid_Generator& y) {
-  return !(x == y);
-}
+    \param box
+    The Box into which the covering box is written.
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-grid_line(const Linear_Expression& e) {
-  return Grid_Generator::grid_line(e);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p box are dimension-incompatible.
+  */
+  template <typename Interval>
+  void get_covering_box(Box<Interval>& box) const;
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-parameter(const Linear_Expression& e,
-	  Coefficient_traits::const_reference d) {
-  return Grid_Generator::parameter(e, d);
-}
+  //! 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.
 
-/*! \relates Grid_Generator */
-inline Grid_Generator
-grid_point(const Linear_Expression& e,
-	   Coefficient_traits::const_reference d) {
-  return Grid_Generator::grid_point(e, d);
-}
+    \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.
 
-} // namespace Parma_Polyhedra_Library
+    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;
 
-namespace std {
+  //@} // Member Functions that Do Not Modify the Grid
 
-/*! \relates Parma_Polyhedra_Library::Grid_Generator */
-inline void
-swap(Parma_Polyhedra_Library::Grid_Generator& x,
-     Parma_Polyhedra_Library::Grid_Generator& y) {
-  x.swap(y);
-}
+  //! \name Space Dimension Preserving Member Functions that May Modify the Grid
+  //@{
 
-} // namespace std
+  //! 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);
 
-/* Automatically generated from PPL source file ../src/Grid_Generator.defs.hh line 545. */
+  /*! \brief
+    Adds a copy of congruence \p cg to the system of congruences of \p
+    *this, reducing the result
 
-/* Automatically generated from PPL source file ../src/Grid_Generator_System.inlines.hh line 28. */
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
 
-inline void
-Grid_Generator_System::set_sorted(bool b) {
-  Generator_System::set_sorted(b);
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_congruence_and_minimize(const Congruence& c);
 
-inline void
-Grid_Generator_System::unset_pending_rows() {
-  Generator_System::unset_pending_rows();
-}
+  /*! \brief
+    Adds a copy of grid generator \p g to the system of generators of
+    \p *this.
 
-inline void
-Grid_Generator_System::set_index_first_pending_row(const dimension_type i) {
-  Generator_System::set_index_first_pending_row(i);
-}
+    \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);
 
-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);
-}
+  /*! \brief
+    Adds a copy of grid generator \p g to the system of generators of
+    \p *this, reducing the result.
 
-inline dimension_type
-Grid_Generator_System::num_columns() const {
-  return Generator_System::num_columns();
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-inline void
-Grid_Generator_System::erase_to_end(dimension_type first_to_erase) {
-  return Generator_System::erase_to_end(first_to_erase);
-}
+    \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.
 
-inline void
-Grid_Generator_System
-::permute_columns(const std::vector<dimension_type>& cycles) {
-  return Generator_System::permute_columns(cycles);
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_grid_generator_and_minimize(const Grid_Generator& g);
 
-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));
-}
+  //! 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.
 
-inline
-Grid_Generator_System::Grid_Generator_System()
-  : Generator_System(NECESSARILY_CLOSED) {
-  adjust_topology_and_space_dimension(NECESSARILY_CLOSED, 1);
-  set_sorted(false);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void add_congruences(const Congruence_System& cgs);
 
-inline
-Grid_Generator_System::Grid_Generator_System(const Grid_Generator_System& gs)
-  : Generator_System(gs) {
-}
+  //! 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.
 
-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);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
 
-inline
-Grid_Generator_System::Grid_Generator_System(const Grid_Generator& g)
-  : Generator_System(g) {
-  set_sorted(false);
-}
+    \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);
 
-inline
-Grid_Generator_System::~Grid_Generator_System() {
-}
+  /*! \brief
+    Adds a copy of the congruences in \p cgs to the system of
+    congruences of \p *this, reducing the result.
 
-inline Grid_Generator_System&
-Grid_Generator_System::operator=(const Grid_Generator_System& y) {
-  Generator_System::operator=(y);
-  return *this;
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-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;
-}
+    \param cgs
+    Contains the congruences that will be added to the system of
+    congruences of \p *this.
 
-inline dimension_type
-Grid_Generator_System::space_dimension() const {
-  assert(Generator_System::space_dimension() > 0);
-  // Grid generators use an extra column for the parameter divisor.
-  return Generator_System::space_dimension() - 1;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
 
-inline const Grid_Generator_System&
-Grid_Generator_System::zero_dim_univ() {
-  assert(zero_dim_univ_p != 0);
-  return *zero_dim_univ_p;
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_congruences_and_minimize(const Congruence_System& cgs);
 
-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();
-}
+  /*! \brief
+    Adds the congruences in \p cgs to the system of congruences of \p
+    *this, reducing the result.
 
-inline void
-Grid_Generator_System::swap(Grid_Generator_System& y) {
-  Generator_System::swap(y);
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-inline memory_size_type
-Grid_Generator_System::external_memory_in_bytes() const {
-  return Generator_System::external_memory_in_bytes();
-}
+    \param cgs
+    The congruence system to be added to \p *this.  The congruences in
+    \p cgs may be recycled.
 
-inline memory_size_type
-Grid_Generator_System::total_memory_in_bytes() const {
-  return Generator_System::total_memory_in_bytes();
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
 
-inline dimension_type
-Grid_Generator_System::num_rows() const {
-  return Generator_System::num_rows();
-}
+    \warning
+    The only assumption that can be made about \p cgs upon successful
+    or exceptional return is that it can be safely destroyed.
 
-inline dimension_type
-Grid_Generator_System::num_parameters() const {
-  return Generator_System::num_rays();
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
 
-inline dimension_type
-Grid_Generator_System::num_lines() const {
-  return Generator_System::num_lines();
-}
+  /*! \brief
+    Adds to \p *this a congruence equivalent to constraint \p c.
 
-inline
-Grid_Generator_System::const_iterator::const_iterator()
-  : Generator_System::const_iterator() {
-}
+    \param c
+    The constraint to be added.
 
-inline
-Grid_Generator_System::const_iterator::const_iterator(const const_iterator& y)
-  : Generator_System::const_iterator(y) {
-}
+    \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);
 
-inline
-Grid_Generator_System::const_iterator::~const_iterator() {
-}
+  /*! \brief
+    Adds to \p *this a congruence equivalent to constraint \p c,
+    also minimizing the result.
 
-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));
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-inline const Grid_Generator&
-Grid_Generator_System::const_iterator::operator*() const {
-  return static_cast<const Grid_Generator&>
-    (Generator_System::const_iterator::operator*());
-}
+    \param c
+    The constraint to be added.
 
-inline const Grid_Generator*
-Grid_Generator_System::const_iterator::operator->() const {
-  return static_cast<const Grid_Generator*>
-    (Generator_System::const_iterator::operator->());
-}
+    \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.
 
-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++());
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_constraint_and_minimize(const Constraint& c);
 
-inline Grid_Generator_System::const_iterator
-Grid_Generator_System::const_iterator::operator++(int) {
-  const const_iterator tmp = *this;
-  operator++();
-  return tmp;
-}
+  /*! \brief
+    Adds to \p *this congruences equivalent to the constraints in \p cs.
 
-inline bool
-Grid_Generator_System
-::const_iterator::operator==(const const_iterator& y) const {
-  return Generator_System::const_iterator::operator==(y);
-}
+    \param cs
+    The constraints to be added.
 
-inline bool
-Grid_Generator_System
-::const_iterator::operator!=(const const_iterator& y) const {
-  return Generator_System::const_iterator::operator!=(y);
-}
+    \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.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-inline bool
-Grid_Generator_System::empty() const {
-  return Generator_System::empty();
-}
+  /*! \brief
+    Adds to \p *this congruences equivalent to the constraints in \p cs,
+    minimizing the result.
 
-inline
-Grid_Generator_System
-::const_iterator::const_iterator(const Generator_System::const_iterator& y)
-  : Generator_System::const_iterator::const_iterator(y) {
-}
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-inline Grid_Generator_System::const_iterator
-Grid_Generator_System::begin() const {
-  return static_cast<Grid_Generator_System::const_iterator>
-    (Generator_System::begin());
-}
+    \param cs
+    The constraints to be added.
 
-inline Grid_Generator_System::const_iterator
-Grid_Generator_System::end() const {
-  return static_cast<Grid_Generator_System::const_iterator>
-    (Generator_System::end());
-}
+    \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.
 
-inline bool
-Grid_Generator_System::has_points() const {
-  return Generator_System::has_points();
-}
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_constraints_and_minimize(const Constraint_System& cs);
 
-inline Grid_Generator&
-Grid_Generator_System::operator[](const dimension_type k) {
-  return static_cast<Grid_Generator&>(Generator_System::operator[](k));
-}
+  /*! \brief
+    Adds to \p *this congruences equivalent to the constraints in \p cs.
 
-inline const Grid_Generator&
-Grid_Generator_System::operator[](const dimension_type k) const {
-  return static_cast<const Grid_Generator&>(Generator_System::operator[](k));
-}
+    \param cs
+    The constraints to be added. They may be recycled.
 
-/*! \relates Grid_Generator_System */
-inline bool
-operator==(const Grid_Generator_System& x,
-	   const Grid_Generator_System& y) {
-  return x.is_equal_to(y);
-}
+    \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.
 
-} // namespace Parma_Polyhedra_Library
+    \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);
 
+  /*! \brief
+    Adds to \p *this congruences equivalent to the constraints in \p cs,
+    minimizing the result.
 
-namespace std {
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-/*! \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);
-}
+    \param cs
+    The constraints to be added. They may be recycled.
 
-} // namespace std
+    \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.
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 1. */
-/* Bit_Matrix class declaration.
-*/
+    \warning
+    The only assumption that can be made about \p cs upon successful
+    or exceptional return is that it can be safely destroyed.
 
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 29. */
-#include <vector>
-#include <iosfwd>
+  //! Uses a copy of the congruence \p cg to refine \p *this.
+  /*!
+    \param cg
+    The congruence used.
 
-#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();
+    \exception std::invalid_argument
+    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-  //! Construct a bit matrix with \p n_rows rows and \p n_columns columns.
-  Bit_Matrix(dimension_type n_rows, dimension_type n_columns);
+ //! Uses a copy of the congruences in \p cgs to refine \p *this.
+  /*!
+    \param cgs
+    The congruences used.
 
-  //! Copy-constructor.
-  Bit_Matrix(const Bit_Matrix& y);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void refine_with_congruences(const Congruence_System& cgs);
 
-  //! Destructor.
-  ~Bit_Matrix();
+  //! Uses a copy of the constraint \p c to refine \p *this.
+  /*!
 
-  //! Assignment operator.
-  Bit_Matrix& operator=(const Bit_Matrix& y);
+    \param c
+    The constraint used. If it is not an equality, it will be ignored
 
-  //! Swaps \p *this with \p y.
-  void swap(Bit_Matrix& y);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p c are dimension-incompatible.
+  */
+  void refine_with_constraint(const Constraint& c);
 
-  //! Subscript operator.
-  Bit_Row& operator[](dimension_type k);
+  //! 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.
 
-  //! Constant subscript operator.
-  const Bit_Row& operator[](dimension_type k) const;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void refine_with_constraints(const Constraint_System& cs);
 
-  //! Clears the matrix deallocating all its rows.
-  void clear();
+  /*! \brief
+    Adds a copy of the generators in \p gs to the system of generators
+    of \p *this.
 
-  //! Transposes the matrix.
-  void transpose();
+    \param gs
+    Contains the generators that will be added to the system of
+    generators of \p *this.
 
-  //! Makes \p *this a transposed copy of \p y.
-  void transpose_assign(const Bit_Matrix& y);
+    \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);
 
-  //! Returns the maximum number of rows of a Bit_Matrix.
-  static dimension_type max_num_rows();
+  /*! \brief
+    Adds the generators in \p gs to the system of generators of \p
+    *this.
 
-  //! Returns the number of columns of \p *this.
-  dimension_type num_columns() const;
+    \param gs
+    The generator system to be added to \p *this.  The generators in
+    \p gs may be recycled.
 
-  //! Returns the number of rows of \p *this.
-  dimension_type num_rows() const;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p gs are dimension-incompatible.
 
-  //! Sorts the rows and removes duplicates.
-  void sort_rows();
+    \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
+    Adds a copy of the generators in \p gs to the system of generators
+    of \p *this, reducing the result.
 
-  //! 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.
+    <CODE>false</CODE> if and only if the result is empty.
 
-    \param row
-    The row that will be searched for in the matrix.
+    \param gs
+    Contains the generators that will be added to the system of
+    generators of \p *this.
 
-    Given a sorted bit matrix (this ensures better efficiency),
-    tells whether it contains the given row.
+    \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.
+
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
   */
-  bool sorted_contains(const Bit_Row& row) const;
+  bool add_grid_generators_and_minimize(const Grid_Generator_System& gs);
 
-  //! Adds \p row to \p *this.
-  void add_row(const Bit_Row& row);
+  /*! \brief
+    Adds the generators in \p gs to the system of generators of \p
+    *this, reducing the result.
 
-  //! Erases the rows from the \p first_to_erase -th to the last one.
-  void rows_erase_to_end(dimension_type first_to_erase);
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-  //! Erases the columns from the \p first_to_erase -th to the last one.
-  void columns_erase_to_end(dimension_type first_to_erase);
+    \param gs
+    The generator system to be added to \p *this.  The generators in
+    \p gs may be recycled.
 
-  //! Resizes the matrix copying the old contents.
-  void resize(dimension_type new_n_rows, dimension_type new_n_columns);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p gs are dimension-incompatible.
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+    \warning
+    The only assumption that can be made about \p gs upon successful
+    or exceptional return is that it can be safely destroyed.
 
-  PPL_OUTPUT_DECLARATIONS
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool add_recycled_grid_generators_and_minimize(Grid_Generator_System& gs);
 
   /*! \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.
+    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.
   */
-  bool ascii_load(std::istream& s);
+  void unconstrain(Variable var);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p to_be_unconstrained,
+    assigning the result to \p *this.
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+    \param to_be_unconstrained
+    The set of space dimension that will be unconstrained.
 
-#ifndef NDEBUG
-  //! Checks whether \p *this is sorted. It does NOT check for duplicates.
-  bool check_sorted() const;
-#endif
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p to_be_removed.
+  */
+  void unconstrain(const Variables_Set& to_be_unconstrained);
 
-private:
-  //! Contains the rows of the matrix.
-  std::vector<Bit_Row> rows;
+  /*! \brief
+    Assigns to \p *this the intersection of \p *this and \p y.
 
-  //! Size of the initialized part of each row.
-  dimension_type row_size;
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void intersection_assign(const Grid& y);
 
-  //! 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;
-  };
+  /*! \brief
+    Assigns to \p *this the intersection of \p *this and \p y,
+    reducing the result.
 
-  friend
-  void Parma_Polyhedra_Library::
-  Linear_System::sort_and_remove_with_sat(Bit_Matrix& sat);
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-};
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
 
-namespace Parma_Polyhedra_Library {
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool intersection_assign_and_minimize(const Grid& y);
 
-#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);
+  /*! \brief
+    Assigns to \p *this the least upper bound of \p *this and \p 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);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void upper_bound_assign(const Grid& y);
 
-} // namespace Parma_Polyhedra_Library
+  /*! \brief
+    Assigns to \p *this the least upper bound of \p *this and \p y,
+    reducing the result.
 
-namespace std {
+    \return
+    <CODE>false</CODE> if and only if the result is empty.
 
-#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);
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
 
-} // namespace std
+    \deprecated
+    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  */
+  bool upper_bound_assign_and_minimize(const Grid& y);
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.inlines.hh line 1. */
-/* Bit_Matrix class implementation: inline functions.
-*/
+  /*! \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 Grid& y);
 
-#include <algorithm>
-#include <cassert>
+  /*! \brief
+    Assigns to \p *this the \ref Grid_Difference "grid-difference" of
+    \p *this and \p y.
 
-namespace Parma_Polyhedra_Library {
+    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
-Bit_Matrix::Bit_Matrix()
-  : rows(),
-    row_size(0) {
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void difference_assign(const Grid& y);
 
-inline dimension_type
-Bit_Matrix::max_num_rows() {
-  return std::vector<Bit_Row>().max_size();
-}
+  /*! \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.
 
-inline
-Bit_Matrix::Bit_Matrix(const dimension_type n_rows,
-		       const dimension_type n_columns)
-  : rows(n_rows),
-    row_size(n_columns) {
-}
+    \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);
 
-inline
-Bit_Matrix::Bit_Matrix(const Bit_Matrix& y)
-  : rows(y.rows),
-    row_size(y.row_size) {
-}
+  /*! \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.
 
-inline
-Bit_Matrix::~Bit_Matrix() {
-}
+    \param var
+    The variable to which the affine expression is assigned;
 
-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.
-  assert(first_to_erase <= rows.size());
-  if (first_to_erase < rows.size())
-    rows.erase(rows.begin() + first_to_erase, rows.end());
-  assert(OK());
-}
+    \param expr
+    The numerator of the affine expression;
 
-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.
-  assert(first_to_erase <= row_size);
-  row_size = first_to_erase;
-  assert(OK());
-}
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-inline void
-Bit_Matrix::swap(Bit_Matrix& y) {
-  std::swap(row_size, y.row_size);
-  std::swap(rows, y.rows);
-}
+    \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.
 
-inline Bit_Row&
-Bit_Matrix::operator[](const dimension_type k) {
-  assert(k < rows.size());
-  return rows[k];
-}
+    \if Include_Implementation_Details
 
-inline const Bit_Row&
-Bit_Matrix::operator[](const dimension_type k) const {
-  assert(k < rows.size());
-  return rows[k];
-}
+    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).
 
-inline dimension_type
-Bit_Matrix::num_columns() const {
-  return row_size;
-}
+    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.
 
-inline dimension_type
-Bit_Matrix::num_rows() const {
-  return rows.size();
-}
+    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]
 
-inline void
-Bit_Matrix::clear() {
-  // Clear `rows' and minimize its capacity.
-  std::vector<Bit_Row>().swap(rows);
-  row_size = 0;
-}
+    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.
 
-inline memory_size_type
-Bit_Matrix::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+    \endif
+  */
+  void affine_image(Variable var,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		    = Coefficient_one());
 
-inline bool
-Bit_Matrix::Bit_Row_Less_Than::
-operator()(const Bit_Row& x, const Bit_Row& y) const {
-  return compare(x, y) < 0;
-}
+  /*! \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.
 
-inline bool
-Bit_Matrix::sorted_contains(const Bit_Row& row) const {
-  assert(check_sorted());
-  return std::binary_search(rows.begin(), rows.end(), row,
-			    Bit_Row_Less_Than());
-}
+    \param var
+    The variable to which the affine expression is substituted;
 
-/*! \relates Bit_Matrix */
-inline bool
-operator!=(const Bit_Matrix& x, const Bit_Matrix& y) {
-  return !(x == y);
-}
+    \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).
 
+    \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.
 
-namespace std {
+    \if Include_Implementation_Details
 
-/*! \relates Parma_Polyhedra_Library::Bit_Matrix */
-inline void
-swap(Parma_Polyhedra_Library::Bit_Matrix& x,
-     Parma_Polyhedra_Library::Bit_Matrix& y) {
-  x.swap(y);
-}
+    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).
 
-} // namespace std
+    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.
 
-/* Automatically generated from PPL source file ../src/Bit_Matrix.defs.hh line 178. */
+    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].
 
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 50. */
-#include <vector>
-#include <iosfwd>
+    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.
 
-namespace Parma_Polyhedra_Library {
+    \endif
+  */
+  void affine_preimage(Variable var,
+		       const Linear_Expression& expr,
+		       Coefficient_traits::const_reference denominator
+		         = Coefficient_one());
 
-namespace IO_Operators {
+  /*! \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$.
 
-//! 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);
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-} // namespace IO_Operators
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are the same polyhedron.
+    \param expr
+    The numerator of the right hand side affine expression;
 
-  \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);
+    \param denominator
+    The denominator of the right hand side affine expression.
+    Optional argument with an automatic value of one;
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are different polyhedra.
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-  \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);
+    \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());
 
-namespace Interfaces {
+  /*! \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$.
 
-#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);
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-} // namespace Interfaces
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-} // namespace Parma_Polyhedra_Library
+    \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 an automatic value of one;
 
-//! 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$.
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-  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.
+    \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());
 
-  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):
+  /*! \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$.
 
-  - 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.
+    \param lhs
+    The left hand side affine expression.
 
-  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.
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-  \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
+    \param rhs
+    The right hand side affine expression.
 
-  \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
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-  \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
+    \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());
 
-  \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).
+  /*! \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$.
 
-  \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]
+    \param lhs
+    The left hand side affine expression;
 
-  \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$.
+    \param relsym
+    The relation symbol where EQUAL is the symbol for a congruence
+    relation;
 
-  \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.
+    \param rhs
+    The right hand side affine expression;
 
-  \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.
+    \param modulus
+    The modulus of the congruence lhs %= rhs.  A modulus of zero
+    indicates lhs == rhs.  Optional argument with an automatic value
+    of zero.
 
-  \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 to_be_removed;
-  to_be_removed.insert(y);
-  to_be_removed.insert(z);
-  ph.remove_space_dimensions(to_be_removed);
-  \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> to_be_removed1;
-  to_be_removed1.insert(y);
-  ph.remove_space_dimensions(to_be_removed1);
-  set<Variable> to_be_removed2;
-  to_be_removed2.insert(z);
-  ph.remove_space_dimensions(to_be_removed2);
-  \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 to_be_removed2
-  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.
-*/
+    \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());
 
-class Parma_Polyhedra_Library::Polyhedron {
-public:
-  //! The numeric type of coefficients.
-  typedef Coefficient coefficient_type;
+  /*!
+    \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$.
 
-  //! Returns the maximum space dimension all kinds of Polyhedron can handle.
-  static dimension_type max_space_dimension();
+    \param var
+    The variable updated by the affine relation;
 
-  /*! \brief
-    Returns \c true indicating that this domain has methods that
-    can recycle constraints.
-  */
-  static bool can_recycle_constraint_systems();
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-  //! Initializes the class.
-  static void initialize();
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-  //! Finalizes the class.
-  static void finalize();
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-  /*! \brief
-    Returns \c false indicating that this domain cannot recycle congruences.
+    \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.
   */
-  static bool can_recycle_congruence_systems();
+  void bounded_affine_image(Variable var,
+			    const Linear_Expression& lb_expr,
+			    const Linear_Expression& ub_expr,
+			    Coefficient_traits::const_reference denominator
+			    = Coefficient_one());
 
-protected:
-  //! Builds a polyhedron having the specified properties.
   /*!
-    \param topol
-    The topology of the polyhedron;
+    \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 num_dimensions
-    The number of dimensions of the vector space enclosing the polyhedron;
+    \param var
+    The variable updated by the affine relation;
 
-    \param kind
-    Specifies whether the universe or the empty polyhedron has to be built.
-  */
-  Polyhedron(Topology topol,
-	     dimension_type num_dimensions,
-	     Degenerate_Element kind);
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-  //! Ordinary copy-constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  Polyhedron(const Polyhedron& y,
-             Complexity_Class complexity = ANY_COMPLEXITY);
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-  //! Builds a polyhedron from a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-    \param topol
-    The topology of the polyhedron;
+    \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());
 
-    \param cs
-    The system of constraints defining the polyhedron.
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Time_Elapse
+    "time-elapse" between \p *this and \p y.
 
     \exception std::invalid_argument
-    Thrown if the topology of \p cs is incompatible with \p topol.
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  Polyhedron(Topology topol, const Constraint_System& cs);
+  void time_elapse_assign(const Grid& y);
 
-  //! Builds a polyhedron recycling a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-    \param topol
-    The topology of the polyhedron;
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Widening
+    "Grid widening" between \p *this and \p y using congruence systems.
 
-    \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 y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+    \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).
 
     \exception std::invalid_argument
-    Thrown if the topology of \p cs is incompatible with \p topol.
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  Polyhedron(Topology topol, Constraint_System& cs, Recycle_Input dummy);
+  void congruence_widening_assign(const Grid& y, unsigned* tp = NULL);
 
-  //! Builds a polyhedron from a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+  /*! \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 topol
-    The topology of the polyhedron;
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-    \param gs
-    The system of generators defining the polyhedron.
+    \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).
 
     \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.
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  Polyhedron(Topology topol, const Generator_System& gs);
+  void generator_widening_assign(const Grid& y, unsigned* tp = NULL);
 
-  //! Builds a polyhedron recycling a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+  /*! \brief
+    Assigns to \p *this the result of computing the \ref Grid_Widening
+    "Grid widening" between \p *this and \p y.
 
-    \param topol
-    The topology of the polyhedron;
+    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 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.
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+    \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).
 
     \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.
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  Polyhedron(Topology topol, Generator_System& gs, Recycle_Input dummy);
+  void widening_assign(const Grid& y, unsigned* tp = NULL);
 
-  //! 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.
+  /*! \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.
 
-    \param topol
-    The topology of the polyhedron;
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-    \param box
-    The box representing the polyhedron to be built;
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-    \param complexity
-    This argument is ignored.
+    \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).
+
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
   */
-  template <typename Interval>
-  Polyhedron(Topology topol, const Box<Interval>& box,
-             Complexity_Class complexity = ANY_COMPLEXITY);
+  void limited_congruence_extrapolation_assign(const Grid& y,
+					       const Congruence_System& cgs,
+					       unsigned* tp = NULL);
 
   /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  Polyhedron& operator=(const Polyhedron& y);
+    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.
 
-public:
-  //! \name Member Functions that Do Not Modify the Polyhedron
-  //@{
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-  /*! \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;
+    \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).
 
-  //! Returns the system of constraints.
-  const Constraint_System& constraints() const;
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
+  */
+  void limited_generator_extrapolation_assign(const Grid& y,
+					      const Congruence_System& cgs,
+					      unsigned* tp = NULL);
 
-  //! Returns the system of constraints, with no redundant constraint.
-  const Constraint_System& minimized_constraints() const;
+  /*! \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.
 
-  //! Returns the system of generators.
-  const Generator_System& generators() const;
+    \param y
+    A grid that <EM>must</EM> be contained in \p *this;
 
-  //! Returns the system of generators, with no redundant generator.
-  const Generator_System& minimized_generators() const;
+    \param cgs
+    The system of congruences used to improve the widened grid;
 
-  //! Returns a system of (equality) congruences satisfied by \p *this.
-  Congruence_System congruences() const;
+    \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).
 
-  /*! \brief
-    Returns a system of (equality) congruences satisfied by \p *this,
-    with no redundant congruences and having the same affine dimension
-    as \p *this.
+    \exception std::invalid_argument
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
   */
-  Congruence_System minimized_congruences() const;
+  void limited_extrapolation_assign(const Grid& y,
+				    const Congruence_System& cgs,
+				    unsigned* tp = NULL);
 
-  //! Returns a universe system of grid generators.
-  Grid_Generator_System grid_generators() const;
+  //@} // Space Dimension Preserving Member Functions that May Modify [...]
 
-  //! Returns a universe system of grid generators.
-  Grid_Generator_System minimized_grid_generators() const;
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
   /*! \brief
-    Returns the relations holding between the polyhedron \p *this
-    and the constraint \p c.
+    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 constraint \p c are dimension-incompatible.
-  */
-  Poly_Con_Relation relation_with(const Constraint& c) const;
+    \param m
+    The number of dimensions to add.
 
-  /*! \brief
-    Returns the relations holding between the polyhedron \p *this
-    and the generator \p g.
+    \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>.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and generator \p g are dimension-incompatible.
+    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]
   */
-  Poly_Gen_Relation relation_with(const Generator& g) const;
+  void add_space_dimensions_and_embed(dimension_type m);
 
   /*! \brief
-    Returns the relations holding between the polyhedron \p *this
-    and the congruence \p c.
+    Adds \p m new space dimensions to the grid and does not embed it
+    in the new vector space.
 
-    \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 m
+    The number of space dimensions to add.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is
-    an empty polyhedron.
-  */
-  bool is_empty() const;
+    \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
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a universe polyhedron.
+    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]
   */
-  bool is_universe() const;
+  void add_space_dimensions_and_project(dimension_type m);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a topologically closed subset of the vector space.
+    Assigns to \p *this the \ref Grid_Concatenate "concatenation" of
+    \p *this and \p y, taken in this order.
+
+    \exception std::length_error
+    Thrown if the concatenation would cause the vector space
+    to exceed dimension <CODE>max_space_dimension()</CODE>.
   */
-  bool is_topologically_closed() const;
+  void concatenate_assign(const Grid& y);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
+  //! Removes all the specified dimensions from the vector space.
   /*!
+    \param to_be_removed
+    The set of Variable objects corresponding to the space dimensions
+    to be removed.
+
     \exception std::invalid_argument
-    Thrown if \p x and \p y are topology-incompatible or
-    dimension-incompatible.
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p to_be_removed.
   */
-  bool is_disjoint_from(const Polyhedron& y) const;
-
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
-  bool is_discrete() const;
+  void remove_space_dimensions(const Variables_Set& to_be_removed);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    is a bounded polyhedron.
-  */
-  bool is_bounded() const;
+    Removes the higher dimensions of the vector space so that the
+    resulting space will have dimension \p new_dimension.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
+    \exception std::invalid_argument
+    Thrown if \p new_dimensions is greater than the space dimension of
+    \p *this.
   */
-  bool contains_integer_point() const;
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+    Remaps the dimensions of the vector space according to
+    a \ref Grid_Map_Space_Dimensions "partial function".
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+    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 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.
+
+    The result is undefined if \p pfunc does not encode a partial
+    function with the properties described in the
+    \ref Grid_Map_Space_Dimensions "specification of the mapping operator".
   */
-  bool constrains(Variable var) const;
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from above in \p *this.
+  //! 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 expr and \p *this are dimension-incompatible.
+    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 Grid_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$.
   */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+  void expand_space_dimension(Variable var, dimension_type m);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p expr is
-    bounded from below in \p *this.
+  //! Folds the space dimensions in \p to_be_folded into \p var.
+  /*!
+    \param to_be_folded
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
+
+    \param var
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
     \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    Thrown if \p *this is dimension-incompatible with \p var or with
+    one of the Variable objects contained in \p to_be_folded.  Also
+    thrown if \p var is contained in \p to_be_folded.
+
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    \p to_be_folded is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p var is not a member
+    of \p to_be_folded, then the space dimensions corresponding to
+    variables in \p to_be_folded are \ref Grid_Fold_Space_Dimensions "folded"
+    into the \f$k\f$-th space dimension.
   */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
 
-  /*! \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.
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+  friend bool operator==(const Grid& x, const Grid& y);
 
-    \param sup_n
-    The numerator of the supremum value;
+  friend class Parma_Polyhedra_Library::Grid_Certificate;
 
-    \param sup_d
-    The denominator of the supremum value;
+  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value.
+  //! \name Miscellaneous Member Functions
+  //@{
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! Destructor.
+  ~Grid();
 
-    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
+    Swaps \p *this with grid \p y.  (\p *this and \p y can be
+    dimension-incompatible.)
   */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+  void swap(Grid& y);
+
+  PPL_OUTPUT_DECLARATIONS
 
   /*! \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.
+    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 expr
-    The linear expression to be maximized subject to \p *this;
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-    \param sup_n
-    The numerator 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 sup_d
-    The denominator of the supremum value;
+  /*! \brief
+    Returns a 32-bit hash code for \p *this.
 
-    \param maximum
-    <CODE>true</CODE> if and only if the supremum is also the maximum value;
+    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 g
-    When maximization succeeds, will be assigned the point or
-    closure point where \p expr reaches its supremum value.
+  //@} // Miscellaneous Member Functions
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+private:
 
-    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;
+  //! The system of congruences.
+  Congruence_System con_sys;
 
-  /*! \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.
+  //! The system of generators.
+  Grid_Generator_System gen_sys;
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+#define PPL_IN_Grid_CLASS
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Status.idefs.hh line 1. */
+/* Grid::Status class declaration.
+*/
 
-    \param inf_n
-    The numerator of the infimum value;
 
-    \param inf_d
-    The denominator of the infimum value;
+#ifndef PPL_IN_Grid_CLASS
+#error "Do not include Grid_Status.idefs.hh directly; use Grid.defs.hh instead."
+#endif
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value.
+//! 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 expr and \p *this are dimension-incompatible.
+  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>.
 
-    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;
+  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();
 
-  /*! \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.
+  //! \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 expr
-    The linear expression to be minimized subject to \p *this;
+  bool test_empty() const;
+  void reset_empty();
+  void set_empty();
 
-    \param inf_n
-    The numerator of the infimum value;
+  bool test_c_up_to_date() const;
+  void reset_c_up_to_date();
+  void set_c_up_to_date();
 
-    \param inf_d
-    The denominator of the infimum value;
+  bool test_g_up_to_date() const;
+  void reset_g_up_to_date();
+  void set_g_up_to_date();
 
-    \param minimum
-    <CODE>true</CODE> if and only if the infimum is also the minimum value;
+  bool test_c_minimized() const;
+  void reset_c_minimized();
+  void set_c_minimized();
 
-    \param g
-    When minimization succeeds, will be assigned a point or
-    closure point where \p expr reaches its infimum value.
+  bool test_g_minimized() const;
+  void reset_g_minimized();
+  void set_g_minimized();
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  bool test_sat_c_up_to_date() const;
+  void reset_sat_c_up_to_date();
+  void set_sat_c_up_to_date();
 
-    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;
+  bool test_sat_g_up_to_date() const;
+  void reset_sat_g_up_to_date();
+  void set_sat_g_up_to_date();
 
-  //! 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;
+  bool test_c_pending() const;
+  void reset_c_pending();
+  void set_c_pending();
 
-  //! 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;
+  bool test_g_pending() const;
+  void reset_g_pending();
+  void set_g_pending();
+  //@} // Test, remove or add an individual assertion from the conjunction
 
   //! 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.
+  bool OK() const;
 
-    \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.
+  PPL_OUTPUT_DECLARATIONS
 
-    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.
+  /*! \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 OK(bool check_not_empty = false) const;
+  bool ascii_load(std::istream& s);
 
-  //@} // Member Functions that Do Not Modify the Polyhedron
+private:
+  //! Status is implemented by means of a finite bitset.
+  typedef unsigned int flags_t;
 
-  //! \name Space Dimension Preserving Member Functions that May Modify the Polyhedron
+  //! \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
 
-  /*! \brief
-    Adds a copy of constraint \p c to the system of constraints
-    of \p *this (without minimizing the result).
+  //! This holds the current bitset.
+  flags_t flags;
 
-    \param c
-    The constraint that will be added to the system of
-    constraints of \p *this.
+  //! Construct from a bitmask.
+  Status(flags_t mask);
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are topology-incompatible
-    or dimension-incompatible.
-  */
-  void add_constraint(const Constraint& c);
+  //! Check whether <EM>all</EM> bits in \p mask are set.
+  bool test_all(flags_t mask) const;
 
-  /*! \brief
-    Adds a copy of constraint \p c to the system of constraints
-    of \p *this, minimizing the result
+  //! Check whether <EM>at least one</EM> bit in \p mask is set.
+  bool test_any(flags_t mask) const;
 
-    \param c
-    The constraint that will be added to the system of
-    constraints of \p *this.
+  //! Set the bits in \p mask.
+  void set(flags_t mask);
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  //! Reset the bits in \p mask.
+  void reset(flags_t mask);
+};
 
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are topology-incompatible
-    or dimension-incompatible.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.defs.hh line 2166. */
+#undef PPL_IN_Grid_CLASS
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraint_and_minimize(const Constraint& c);
+  //! The status flags to keep track of the grid's internal state.
+  Status status;
 
-  /*! \brief
-    Adds a copy of generator \p g to the system of generators
-    of \p *this (without minimizing the result).
+  //! The number of dimensions of the enclosing vector space.
+  dimension_type space_dim;
 
-    \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);
+  enum Dimension_Kind {
+    PARAMETER,
+    LINE,
+    GEN_VIRTUAL,
+    PROPER_CONGRUENCE = PARAMETER,
+    CON_VIRTUAL = LINE,
+    EQUALITY = GEN_VIRTUAL
+  };
 
-  /*! \brief
-    Adds a copy of generator \p g to the system of generators
-    of \p *this, minimizing the result.
+  typedef std::vector<Dimension_Kind> Dimension_Kinds;
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  // 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;
 
-    \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.
+  //! Builds a grid universe or empty grid.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the grid;
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    \param kind
+    specifies whether the universe or the empty grid has to be built.
   */
-  bool add_generator_and_minimize(const Generator& g);
+  void construct(dimension_type num_dimensions, Degenerate_Element kind);
 
-  /*! \brief
-    Adds a copy of congruence \p cg to \p *this,
-    if \p cg can be exactly represented by a polyhedron.
+  //! Builds a grid from a system of congruences.
+  /*!
+    The grid inherits the space dimension of the congruence system.
 
-    \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.
+    \param cgs
+    The system of congruences defining the grid. Its data-structures
+    may be recycled to build the grid.
   */
-  void add_congruence(const Congruence& cg);
+  void construct(Congruence_System& cgs);
 
-  /*! \brief
-    Adds a copy of congruence \p cg to \p *this,
-    if \p cg can be exactly represented by a polyhedron,
-    minimizing the result.
+  //! Builds a grid from a system of grid generators.
+  /*!
+    The grid inherits the space dimension of the generator system.
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    \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);
 
-    \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.
+  //! \name Private Verifiers: Verify if Individual Flags are Set
+  //@{
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  //! 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 add_congruence_and_minimize(const Congruence& cg);
+  bool marked_empty() const;
 
-  /*! \brief
-    Adds a copy of the constraints in \p cs to the system
-    of constraints of \p *this (without minimizing the result).
+  //! Returns <CODE>true</CODE> if the system of congruences is up-to-date.
+  bool congruences_are_up_to_date() const;
 
-    \param cs
-    Contains the constraints that will be added to the system of
-    constraints of \p *this.
+  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
+  bool generators_are_up_to_date() const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
-  */
-  void add_constraints(const Constraint_System& cs);
+  //! Returns <CODE>true</CODE> if the system of congruences is minimized.
+  bool congruences_are_minimized() const;
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this (without minimizing the result).
+  //! Returns <CODE>true</CODE> if the system of generators is minimized.
+  bool generators_are_minimized() const;
 
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
+  //@} // Private Verifiers: Verify if Individual Flags are Set
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
+  //! \name State Flag Setters: Set Only the Specified Flags
+  //@{
 
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
+  /*! \brief
+    Sets \p status to express that the grid is the universe
+    0-dimension vector space, clearing all corresponding matrices.
   */
-  void add_recycled_constraints(Constraint_System& cs);
+  void set_zero_dim_univ();
 
   /*! \brief
-    Adds a copy of the constraints in \p cs to the system
-    of constraints of \p *this, minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    Sets \p status to express that the grid is empty, clearing all
+    corresponding matrices.
+  */
+  void set_empty();
 
-    \param cs
-    Contains the constraints that will be added to the system of
-    constraints of \p *this.
+  //! Sets \p status to express that congruences are up-to-date.
+  void set_congruences_up_to_date();
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
+  //! Sets \p status to express that generators are up-to-date.
+  void set_generators_up_to_date();
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
+  //! Sets \p status to express that congruences are minimized.
+  void set_congruences_minimized();
 
-  /*! \brief
-    Adds the constraints in \p cs to the system of constraints
-    of \p *this, minimizing the result.
+  //! Sets \p status to express that generators are minimized.
+  void set_generators_minimized();
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  //@} // State Flag Setters: Set Only the Specified Flags
 
-    \param cs
-    The constraint system to be added to \p *this.  The constraints in
-    \p cs may be recycled.
+  //! \name State Flag Cleaners: Clear Only the Specified Flag
+  //@{
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are topology-incompatible or
-    dimension-incompatible.
+  //! Clears the \p status flag indicating that the grid is empty.
+  void clear_empty();
 
-    \warning
-    The only assumption that can be made on \p cs upon successful or
-    exceptional return is that it can be safely destroyed.
+  //! Sets \p status to express that congruences are out of date.
+  void clear_congruences_up_to_date();
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
+  //! Sets \p status to express that generators are out of date.
+  void clear_generators_up_to_date();
 
-  /*! \brief
-    Adds a copy of the generators in \p gs to the system
-    of generators of \p *this (without minimizing the result).
+  //! Sets \p status to express that congruences are no longer minimized.
+  void clear_congruences_minimized();
 
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
+  //! Sets \p status to express that generators are no longer minimized.
+  void clear_generators_minimized();
 
-    \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);
+  //@} // State Flag Cleaners: Clear Only the Specified Flag
 
-  /*! \brief
-    Adds the generators in \p gs to the system of generators
-    of \p *this (without minimizing the result).
+  //! \name Updating Matrices
+  //@{
 
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
+  //! Updates and minimizes the congruences from the generators.
+  void update_congruences() 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.
+  //! 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.
 
-    \warning
-    The only assumption that can be made on \p gs upon successful or
-    exceptional return is that it can be safely destroyed.
+    It is illegal to call this method when the Status field already
+    declares the grid to be empty.
   */
-  void add_recycled_generators(Generator_System& gs);
+  bool update_generators() const;
 
-  /*! \brief
-    Adds a copy of the generators in \p gs to the system
-    of generators of \p *this, minimizing the result.
+  //@} // Updating Matrices
+
+  //! \name Minimization of Descriptions
+  //@{
 
+  //! Minimizes both the congruences and the generators.
+  /*!
     \return
-    <CODE>false</CODE> if and only if the result is empty.
+    <CODE>false</CODE> if and only if \p *this turns out to be an
+    empty grid.
 
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
+    Minimization is performed on each system only if the minimized
+    Status field is clear.
+  */
+  bool minimize() 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 the system
-    of generators \p gs is not empty, but has no points.
+  //@} // Minimization of Descriptions
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_generators_and_minimize(const Generator_System& gs);
+  enum Three_Valued_Boolean {
+    TVB_TRUE,
+    TVB_FALSE,
+    TVB_DONT_KNOW
+  };
 
-  /*! \brief
-    Adds the generators in \p gs to the system of generators
-    of \p *this, minimizing the result.
+  //! Polynomial but incomplete equivalence test between grids.
+  Three_Valued_Boolean quick_equivalence_test(const Grid& y) const;
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
+  bool is_included_in(const Grid& y) const;
 
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
+  //! 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 gs are topology-incompatible or
-    dimension-incompatible, or if \p *this is empty and the the system
-    of generators \p gs is not empty, but has no points.
+    \param expr
+    The linear expression to test;
 
-    \warning
-    The only assumption that can be made on \p gs upon successful or
-    exceptional return is that it can be safely destroyed.
+    \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.
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
   */
-  bool add_recycled_generators_and_minimize(Generator_System& gs);
+  bool bounds(const Linear_Expression& expr, const char* method_call) const;
 
-  /*! \brief
-    Adds a copy of the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron.
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p
+    *this;
 
-    \param cgs
-    The congruences to be added.
+    \param method_call
+    The call description of the public parent method, for example
+    "maximize(e)".  Passed to throw_dimension_incompatible, as the
+    first argument;
 
-    \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 ext_n
+    The numerator of the extremum value;
 
-  /*! \brief
-    Adds a copy of the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron,
-    minimizing the result.
+    \param ext_d
+    The denominator of the extremum value;
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    \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 cgs
-    The congruences to be added.
+    \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 *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
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    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 add_congruences_and_minimize(const Congruence_System& cgs);
+  bool max_min(const Linear_Expression& expr,
+	       const char* method_call,
+	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
+	       Generator* point = NULL) const;
 
   /*! \brief
-    Adds the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron.
-
-    \param cgs
-    The congruences to be added. Its elements may be recycled.
-
-    \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
+    Adds the congruence \p cg to \p *this.
 
     \warning
-    The only assumption that can be made on \p cgs upon successful or
-    exceptional return is that it can be safely destroyed.
+    If \p cg and \p *this are dimension-incompatible,
+    the behavior is undefined.
   */
-  void add_recycled_congruences(Congruence_System& cgs);
+  void add_congruence_no_check(const Congruence& cg);
 
   /*! \brief
-    Adds the congruences in \p cgs to \p *this,
-    if all the congruences can be exactly represented by a polyhedron,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    Uses the constraint \p c to refine \p *this.
 
-    \param cgs
-    The congruences to be added. Its elements may be recycled.
+    \param c
+    The constraint to be added.
 
     \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
+    Thrown if c is a non-trivial inequality constraint.
 
     \warning
-    The only assumption that can be made on \p cgs upon successful or
-    exceptional return is that it can be safely destroyed.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
   */
-  bool add_recycled_congruences_and_minimize(Congruence_System& cgs);
+  void add_constraint_no_check(const Constraint& c);
 
   /*! \brief
-    Uses a copy of constraint \p c to refine \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and constraint \p c are dimension-incompatible.
-  */
-  void refine_with_constraint(const Constraint& c);
+    Uses the constraint \p c to refine \p *this.
 
-  /*! \brief
-    Uses a copy of congruence \p cg to refine \p *this.
+    \param c
+    The constraint to be added.
+    Non-trivial inequalities are ignored.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
   */
-  void refine_with_congruence(const Congruence& cg);
+  void refine_no_check(const Constraint& c);
 
-  /*! \brief
-    Uses a copy of the constraints in \p cs to refine \p *this.
+  //! \name Widening- and Extrapolation-Related Functions
+  //@{
 
-    \param cs
-    Contains the constraints used to refine the system of
-    constraints of \p *this.
+  //! 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;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
+  //! Copies widened generators from \p y to \p widened_ggs.
+  void select_wider_generators(const Grid& y,
+                               Grid_Generator_System& widened_ggs) const;
 
-  /*! \brief
-    Uses a copy of the congruences in \p cgs to refine \p *this.
+  //@} // Widening- and Extrapolation-Related Functions
 
+  //! Adds new space dimensions to the given systems.
+  /*!
     \param cgs
-    Contains the congruences used to refine the system of
-    constraints of \p *this.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void refine_with_congruences(const Congruence_System& cgs);
+    A congruence system, to which columns are added;
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
+    \param gs
+    A generator system, to which rows and columns are added;
 
-    \param var
-    The space dimension that will be unconstrained.
+    \param dims
+    The number of space dimensions to add.
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+    This method is invoked only by
+    <CODE>add_space_dimensions_and_embed()</CODE>.
   */
-  void unconstrain(Variable var);
-
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
-    assigning the result to \p *this.
+  void add_space_dimensions(Congruence_System& cgs,
+			    Grid_Generator_System& gs,
+			    dimension_type dims);
 
-    \param to_be_unconstrained
-    The set of space dimension that will be unconstrained.
+  //! Adds new space dimensions to the given systems.
+  /*!
+    \param gs
+    A generator system, to which columns are added;
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
-  */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+    \param cgs
+    A congruence system, to which rows and columns are added;
 
-  /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y.
-    The result is not guaranteed to be minimized.
+    \param dims
+    The number of space dimensions to add.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    This method is invoked only by
+    <CODE>add_space_dimensions_and_project()</CODE>.
   */
-  void intersection_assign(const Polyhedron& y);
+  void add_space_dimensions(Grid_Generator_System& gs,
+			    Congruence_System& cgs,
+			    dimension_type dims);
 
-  /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y,
-    minimizing the result.
+  //! \name Minimization-related Static Member Functions
+  //@{
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+  //! Normalizes the divisors in \p sys.
+  /*!
+    Converts \p sys to an equivalent system in which the divisors are
+    of equal value.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    \param sys
+    The generator system to be normalized.  It must have at least one
+    row.
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    \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.
   */
-  bool intersection_assign_and_minimize(const Polyhedron& y);
+  static void
+  normalize_divisors(Grid_Generator_System& sys,
+		     Coefficient& divisor,
+		     const Grid_Generator* first_point = NULL);
 
-  /*! \brief
-    Assigns to \p *this the poly-hull of \p *this and \p y.
-    The result is not guaranteed to be minimized.
+  //! Normalizes the divisors in \p sys.
+  /*!
+    Converts \p sys to an equivalent system in which the divisors are
+    of equal value.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    \param sys
+    The generator system to be normalized.  It must have at least one
+    row.
   */
-  void poly_hull_assign(const Polyhedron& y);
+  static void
+  normalize_divisors(Grid_Generator_System& sys);
 
-  /*! \brief
-    Assigns to \p *this the poly-hull of \p *this and \p y,
-    minimizing the result.
+  //! 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.
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    \param sys
+    The first of the generator systems to be normalized.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    \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.
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    \exception std::runtime_error
+    Thrown if all rows in \p gen_sys are lines and/or parameters.
   */
-  bool poly_hull_assign_and_minimize(const Polyhedron& y);
-
-  //! Same as poly_hull_assign(y).
-  void upper_bound_assign(const Polyhedron& y);
+  static void normalize_divisors(Grid_Generator_System& sys,
+				 Grid_Generator_System& gen_sys);
 
   /*! \brief
-    Assigns to \p *this
-    the \ref Convex_Polyhedral_Difference "poly-difference"
-    of \p *this and \p y. The result is not guaranteed to be minimized.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible or
-    dimension-incompatible.
+    Converts generator system \p dest to be equivalent to congruence
+    system \p source.
   */
-  void poly_difference_assign(const Polyhedron& y);
-
-  //! Same as poly_difference_assign(y).
-  void difference_assign(const Polyhedron& y);
+  static void conversion(Congruence_System& source,
+			 Grid_Generator_System& dest,
+			 Dimension_Kinds& dim_kinds);
 
   /*! \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.
+    Converts congruence system \p dest to be equivalent to generator
+    system \p source.
   */
-  bool simplify_using_context_assign(const Polyhedron& y);
+  static void conversion(Grid_Generator_System& source,
+			 Congruence_System& dest,
+			 Dimension_Kinds& dim_kinds);
 
-  /*! \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.
+  //! 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);
 
-    \param var
-    The variable to which the affine expression is assigned;
+  //! 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);
 
-    \param expr
-    The numerator of the affine expression;
+  //! 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);
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+  //! 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);
 
-    \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.
+  //! 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);
 
-    \if Include_Implementation_Details
+  //! 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);
 
-    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).
+  //! 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);
 
-    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.
+  //! 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).
 
-    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]
+    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);
 
-    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.
+  //! 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);
 
-    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]
+  //! 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);
 
-    Affine transformations are, for example:
-    - translations
-    - rotations
-    - symmetries.
-    \endif
+  /*! \brief
+    If \p sys is lower triangular return <CODE>true</CODE>, else
+    return <CODE>false</CODE>.
   */
-  void affine_image(Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-		      = Coefficient_one());
+  static bool lower_triangular(const Congruence_System& sys,
+			       const Dimension_Kinds& dim_kinds);
 
   /*! \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;
+    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);
 
-    \param expr
-    The numerator of the affine expression;
+#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.
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+    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
 
-    \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.
+  //@} // Minimization-Related Static Member Functions
 
-    \if Include_Implementation_Details
+#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;
 
-    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).
+  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;
 
-    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.
+  // 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);
 
-    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].
+  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)
 
-    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.
+};
 
-    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
-    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 std {
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Grid */
+void swap(Parma_Polyhedra_Library::Grid& x,
+	  Parma_Polyhedra_Library::Grid& y);
 
-    \param relsym
-    The relation symbol;
+} // namespace std
 
-    \param expr
-    The numerator of the right hand side affine expression;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid_Status.inlines.hh line 1. */
+/* Grid::Status class implementation: inline functions.
+*/
 
-    \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.
-  */
-  void generalized_affine_image(Variable var,
-				Relation_Symbol relsym,
-				const Linear_Expression& 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 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.
+inline
+Grid::Status::Status(flags_t mask)
+  : flags(mask) {
+}
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+inline
+Grid::Status::Status()
+  : flags(ZERO_DIM_UNIV) {
+}
 
-    \param relsym
-    The relation symbol;
+inline bool
+Grid::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
+}
 
-    \param expr
-    The numerator of the right hand side affine expression;
+inline bool
+Grid::Status::test_any(flags_t mask) const {
+  return flags & mask;
+}
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+inline void
+Grid::Status::set(flags_t mask) {
+  flags |= mask;
+}
 
-    \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());
+inline void
+Grid::Status::reset(flags_t mask) {
+  flags &= ~mask;
+}
 
-  /*! \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.
+inline bool
+Grid::Status::test_zero_dim_univ() const {
+  return flags == ZERO_DIM_UNIV;
+}
 
-    \param lhs
-    The left hand side affine expression;
+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;
+}
 
-    \param relsym
-    The relation symbol;
+inline void
+Grid::Status::set_zero_dim_univ() {
+  // Zero-dim universe is incompatible with anything else.
+  flags = ZERO_DIM_UNIV;
+}
 
-    \param rhs
-    The right hand side affine expression.
+inline bool
+Grid::Status::test_empty() const {
+  return test_any(EMPTY);
+}
 
-    \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);
+inline void
+Grid::Status::reset_empty() {
+  reset(EMPTY);
+}
 
-  /*! \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.
+inline void
+Grid::Status::set_empty() {
+  flags = EMPTY;
+}
 
-    \param lhs
-    The left hand side affine expression;
+inline bool
+Grid::Status::test_c_up_to_date() const {
+  return test_any(C_UP_TO_DATE);
+}
 
-    \param relsym
-    The relation symbol;
+inline void
+Grid::Status::reset_c_up_to_date() {
+  reset(C_UP_TO_DATE);
+}
 
-    \param rhs
-    The right hand side affine expression.
+inline void
+Grid::Status::set_c_up_to_date() {
+  set(C_UP_TO_DATE);
+}
 
-    \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);
+inline bool
+Grid::Status::test_g_up_to_date() const {
+  return test_any(G_UP_TO_DATE);
+}
 
-  /*!
-    \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$.
+inline void
+Grid::Status::reset_g_up_to_date() {
+  reset(G_UP_TO_DATE);
+}
 
-    \param var
-    The variable updated by the affine relation;
+inline void
+Grid::Status::set_g_up_to_date() {
+  set(G_UP_TO_DATE);
+}
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
+inline bool
+Grid::Status::test_c_minimized() const {
+  return test_any(C_MINIMIZED);
+}
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+inline void
+Grid::Status::reset_c_minimized() {
+  reset(C_MINIMIZED);
+}
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+inline void
+Grid::Status::set_c_minimized() {
+  set(C_MINIMIZED);
+}
 
-    \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());
+inline bool
+Grid::Status::test_g_minimized() const {
+  return test_any(G_MINIMIZED);
+}
 
-  /*!
-    \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 void
+Grid::Status::reset_g_minimized() {
+  reset(G_MINIMIZED);
+}
 
-    \param var
-    The variable updated by the affine relation;
+inline void
+Grid::Status::set_g_minimized() {
+  set(G_MINIMIZED);
+}
 
-    \param lb_expr
-    The numerator of the lower bounding affine expression;
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+inline bool
+Grid::Status::test_c_pending() const {
+  return test_any(CS_PENDING);
+}
 
-    \param denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+inline void
+Grid::Status::reset_c_pending() {
+  reset(CS_PENDING);
+}
 
-    \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
+Grid::Status::set_c_pending() {
+  set(CS_PENDING);
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref Time_Elapse_Operator "time-elapse" between \p *this and \p y.
+inline bool
+Grid::Status::test_g_pending() const {
+  return test_any(GS_PENDING);
+}
 
-    \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
+Grid::Status::reset_g_pending() {
+  reset(GS_PENDING);
+}
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+inline void
+Grid::Status::set_g_pending() {
+  set(GS_PENDING);
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref BHRZ03_widening "BHRZ03-widening" between \p *this and \p y.
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+inline bool
+Grid::Status::test_sat_c_up_to_date() const {
+  return test_any(SAT_C_UP_TO_DATE);
+}
 
-    \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 void
+Grid::Status::reset_sat_c_up_to_date() {
+  reset(SAT_C_UP_TO_DATE);
+}
 
-    \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 void
+Grid::Status::set_sat_c_up_to_date() {
+  set(SAT_C_UP_TO_DATE);
+}
 
-  /*! \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 bool
+Grid::Status::test_sat_g_up_to_date() const {
+  return test_any(SAT_G_UP_TO_DATE);
+}
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+inline void
+Grid::Status::reset_sat_g_up_to_date() {
+  reset(SAT_G_UP_TO_DATE);
+}
 
-    \param cs
-    The system of constraints used to improve the widened polyhedron;
+inline void
+Grid::Status::set_sat_g_up_to_date() {
+  set(SAT_G_UP_TO_DATE);
+}
 
-    \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).
+} // namespace Parma_Polyhedra_Library
 
-    \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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.inlines.hh line 1. */
+/* Grid class implementation: inline functions.
+*/
 
-  /*! \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.
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.inlines.hh line 29. */
+#include <algorithm>
 
-    \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).
+inline bool
+Grid::marked_empty() const {
+  return status.test_empty();
+}
 
-    \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);
+inline bool
+Grid::congruences_are_up_to_date() const {
+  return status.test_c_up_to_date();
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    \ref H79_widening "H79_widening" between \p *this and \p y.
+inline bool
+Grid::generators_are_up_to_date() const {
+  return status.test_g_up_to_date();
+}
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+inline bool
+Grid::congruences_are_minimized() const {
+  return status.test_c_minimized();
+}
 
-    \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
+Grid::generators_are_minimized() const {
+  return status.test_g_minimized();
+}
 
-    \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);
+inline void
+Grid::set_generators_up_to_date() {
+  status.set_g_up_to_date();
+}
 
-  //! Same as H79_widening_assign(y, tp).
-  void widening_assign(const Polyhedron& y, unsigned* tp = 0);
+inline void
+Grid::set_congruences_up_to_date() {
+  status.set_c_up_to_date();
+}
 
-  /*! \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.
+inline void
+Grid::set_congruences_minimized() {
+  set_congruences_up_to_date();
+  status.set_c_minimized();
+}
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+inline void
+Grid::set_generators_minimized() {
+  set_generators_up_to_date();
+  status.set_g_minimized();
+}
 
-    \param cs
-    The system of constraints used to improve the widened polyhedron;
+inline void
+Grid::clear_empty() {
+  status.reset_empty();
+}
 
-    \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 void
+Grid::clear_congruences_minimized() {
+  status.reset_c_minimized();
+}
 
-    \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);
+inline void
+Grid::clear_generators_minimized() {
+  status.reset_g_minimized();
+}
 
-  /*! \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.
+inline void
+Grid::clear_congruences_up_to_date() {
+  clear_congruences_minimized();
+  status.reset_c_up_to_date();
+  // Can get rid of con_sys here.
+}
 
-    \param y
-    A polyhedron that <EM>must</EM> be contained in \p *this;
+inline void
+Grid::clear_generators_up_to_date() {
+  clear_generators_minimized();
+  status.reset_g_up_to_date();
+  // Can get rid of gen_sys here.
+}
 
-    \param cs
-    The system of constraints used to improve the widened polyhedron;
+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()
+			   )
+		  );
+}
 
-    \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
+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);
+  assert(OK());
+}
 
-    \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);
+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);
+}
 
-  //@} // Space Dimension Preserving Member Functions that May Modify [...]
+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);
+}
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+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);
+}
 
-  /*! \brief
-    Adds \p m new space dimensions and embeds the old polyhedron
-    in the new vector space.
+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);
+}
 
-    \param m
-    The number of dimensions to add.
+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);
+}
 
-    \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 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);
+}
 
-    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);
+inline
+Grid::~Grid() {
+}
 
-  /*! \brief
-    Adds \p m new space dimensions to the polyhedron
-    and does not embed it in the new vector space.
+inline dimension_type
+Grid::space_dimension() const {
+  return space_dim;
+}
 
-    \param m
-    The number of space dimensions to add.
+inline memory_size_type
+Grid::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-    \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>.
+inline int32_t
+Grid::hash_code() const {
+  return space_dimension() & 0x7fffffff;
+}
 
-    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);
+inline Constraint_System
+Grid::constraints() const {
+    return Constraint_System(congruences());;
+}
 
-  /*! \brief
-    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
-    of \p *this and \p y, taken in this order.
+inline Constraint_System
+Grid::minimized_constraints() const {
+    return Constraint_System(minimized_congruences());;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are topology-incompatible.
+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);
+}
 
-    \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 Polyhedron& y);
+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);
 
-  //! Removes all the specified dimensions from the vector space.
-  /*!
-    \param to_be_removed
-    The set of Variable objects corresponding to the space dimensions
-    to be removed.
+  if (!marked_empty())
+    add_congruence_no_check(cg);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
-  */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+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);
 
-  /*! \brief
-    Removes the higher dimensions of the vector space so that
-    the resulting space will have dimension \p new_dimension.
+  if (!marked_empty()) {
+    Congruence_System cgs_copy = cgs;
+    add_recycled_congruences(cgs_copy);
+  }
+}
 
-    \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);
+inline bool
+Grid::add_congruences_and_minimize(const Congruence_System& cgs) {
+  Congruence_System cgs_copy = cgs;
+  return add_recycled_congruences_and_minimize(cgs_copy);
+}
 
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+inline void
+Grid::refine_with_congruence(const Congruence& cg) {
+  add_congruence(cg);
+}
 
-    \param pfunc
-    The partial function specifying the destiny of each space dimension.
+inline void
+Grid::refine_with_congruences(const Congruence_System& cgs) {
+  add_congruences(cgs);
+}
 
-    The template class 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.
+inline bool
+Grid::can_recycle_constraint_systems() {
+  return true;
+}
 
-    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);
+inline bool
+Grid::can_recycle_congruence_systems() {
+  return true;
+}
 
-  //! Creates \p m copies of the space dimension corresponding to \p var.
-  /*!
-    \param var
-    The variable corresponding to the space dimension to be replicated;
+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);
+}
 
-    \param m
-    The number of replicas to be created.
+inline bool
+Grid::add_constraint_and_minimize(const Constraint& c) {
+  add_constraint(c);
+  return minimize();
+}
 
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector space.
+inline bool
+Grid::add_constraints_and_minimize(const Constraint_System& cs) {
+  add_constraints(cs);
+  return minimize();
+}
 
-    \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>.
+inline void
+Grid::add_recycled_constraints(Constraint_System& cs) {
+  // TODO: really recycle the constraints.
+  add_constraints(cs);
+}
 
-    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);
+inline bool
+Grid::add_recycled_constraints_and_minimize(Constraint_System& cs) {
+  add_constraints(cs);
+  return minimize();
+}
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
-  /*!
-    \param to_be_folded
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+inline bool
+Grid::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, "bounds_from_above(e)");
+}
 
-    \param var
-    The variable corresponding to the space dimension that is the
-    destination of the folding operation.
+inline bool
+Grid::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, "bounds_from_below(e)");
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.
-    Also thrown if \p var is contained in \p to_be_folded.
+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);
+}
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
-    into the \f$k\f$-th space dimension.
-  */
-  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
+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);
+}
 
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+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);
+}
 
-  friend bool operator==(const Polyhedron& x, const Polyhedron& y);
+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);
+}
 
-  //! \name Miscellaneous Member Functions
-  //@{
+inline void
+Grid::normalize_divisors(Grid_Generator_System& sys) {
+  PPL_DIRTY_TEMP_COEFFICIENT(divisor);
+  divisor = 1;
+  normalize_divisors(sys, divisor);
+}
 
-  //! Destructor.
-  ~Polyhedron();
+/*! \relates Grid */
+inline bool
+operator!=(const Grid& x, const Grid& y) {
+  return !(x == y);
+}
 
-  /*! \brief
-    Swaps \p *this with polyhedron \p y.
-    (\p *this and \p y can be dimension-incompatible.)
+inline bool
+Grid::strictly_contains(const Grid& y) const {
+  const Grid& x = *this;
+  return x.contains(y) && !y.contains(x);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are topology-incompatible.
-  */
-  void swap(Polyhedron& y);
+inline void
+Grid::topological_closure_assign() {
+  return;
+}
 
-  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);
+namespace std {
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+/*! \relates Parma_Polyhedra_Library::Grid */
+inline void
+swap(Parma_Polyhedra_Library::Grid& x,
+     Parma_Polyhedra_Library::Grid& y) {
+  x.swap(y);
+}
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+} // namespace std
 
-  /*! \brief
-    Returns a 32-bit hash code for \p *this.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.templates.hh line 1. */
+/* Grid class implementation: inline functions.
+*/
 
-    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
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.templates.hh line 29. */
+#include <algorithm>
+#include <deque>
 
-private:
-  //! The system of constraints.
-  Constraint_System con_sys;
+namespace Parma_Polyhedra_Library {
 
-  //! The system of generators.
-  Generator_System gen_sys;
+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");
 
-  //! The saturation matrix having constraints on its columns.
-  Bit_Matrix sat_c;
+  space_dim = box.space_dimension();
 
-  //! The saturation matrix having generators on its columns.
-  Bit_Matrix sat_g;
+  if (box.is_empty()) {
+    // Empty grid.
+    set_empty();
+    assert(OK());
+    return;
+  }
 
-#define PPL_IN_Polyhedron_CLASS
-/* Automatically generated from PPL source file ../src/Ph_Status.idefs.hh line 1. */
-/* Polyhedron::Status class declaration.
-*/
+  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)));
+    Grid_Generator& point = gen_sys[0];
+    for (dimension_type k = space_dim; k-- > 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;
 
-#ifndef PPL_IN_Polyhedron_CLASS
-#error "Do not include Ph_Status.idefs.hh directly; use Polyhedron.defs.hh instead."
-#endif
+	    continue;
+	  }
+      }
+      // A universe interval allows any value in dimension k.
+      gen_sys.insert(grid_line(Variable(k)));
+    }
+    set_congruences_up_to_date();
+    set_generators_up_to_date();
+    gen_sys.unset_pending_rows();
+    gen_sys.set_sorted(false);
+  }
 
-//! 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;
+  assert(OK());
+}
 
-  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 Box>
+Grid::Grid(const Box& box, From_Covering_Box)
+  : con_sys(),
+    gen_sys() {
 
-  //! \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 (box.space_dimension() > max_space_dimension())
+    throw_space_dimension_overflow("Grid(box, from_covering_box)",
+				   "the space dimension of box "
+				   "exceeds the maximum allowed "
+				   "space dimension");
 
-  bool test_empty() const;
-  void reset_empty();
-  void set_empty();
+  space_dim = box.space_dimension();
 
-  bool test_c_up_to_date() const;
-  void reset_c_up_to_date();
-  void set_c_up_to_date();
+  PPL_DIRTY_TEMP_COEFFICIENT(l_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(l_d);
 
-  bool test_g_up_to_date() const;
-  void reset_g_up_to_date();
-  void set_g_up_to_date();
+  // FIXME: consider whether or not covering boxes supporting open
+  // boundaries should be disabled at compile time. If that is not
+  // the case, consider if the test !box.is_topologically_closed()
+  // can replace the whole loop here below.
 
-  bool test_c_minimized() const;
-  void reset_c_minimized();
-  void set_c_minimized();
+  // Check that no finite bounds is open. This check must be done before
+  // the empty test below, as an open bound might mean an empty box.
+  for (dimension_type k = space_dim; k-- > 0; ) {
+    bool closed = false;
+    if (box.get_lower_bound(k, closed, l_n, l_d) && !closed)
+      throw_invalid_argument("Grid(box, from_covering_box)", "box");
+    if (box.get_upper_bound(k, closed, l_n, l_d) && !closed)
+      throw_invalid_argument("Grid(box, from_covering_box)", "box");
+  }
 
-  bool test_g_minimized() const;
-  void reset_g_minimized();
-  void set_g_minimized();
+  if (box.is_empty()) {
+    // Empty grid.
+    set_empty();
+    assert(OK());
+    return;
+  }
 
-  bool test_sat_c_up_to_date() const;
-  void reset_sat_c_up_to_date();
-  void set_sat_c_up_to_date();
+  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 according to `box'.
+    PPL_DIRTY_TEMP_COEFFICIENT(u_n);
+    PPL_DIRTY_TEMP_COEFFICIENT(u_d);
+    PPL_DIRTY_TEMP_COEFFICIENT(d);
+    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
+    Grid_Generator& point = gen_sys[0];
+    for (dimension_type k = space_dim; k-- > 0; ) {
+      bool closed = false;
+      // TODO: Consider producing the system(s) in minimized form.
+      if (box.get_lower_bound(k, closed, l_n, l_d)) {
 
-  bool test_sat_g_up_to_date() const;
-  void reset_sat_g_up_to_date();
-  void set_sat_g_up_to_date();
+	const Coefficient& point_divisor = point.divisor();
+	assert(l_d > 0);
+	assert(point_divisor > 0);
+	// Use `d' to hold the gcd.
+	gcd_assign(d, l_d, point_divisor);
+	// Scale the point to use as divisor the lcm of the existing
+	// point divisor and the divisor of the lower bound.
+	exact_div_assign(d, point_divisor, d);
+	// l_d * d == abs(l_d) * (point_divisor / gcd(l_d, point_divisor))
+	point.scale_to_divisor(l_d * d);
+	// Set dimension k of the point to the lower bound.
+	// point[k + 1] = l_n * (point_divisor / gcd(l_d, point_divisor))
+	point[k + 1] = l_n * d;
 
-  bool test_c_pending() const;
-  void reset_c_pending();
-  void set_c_pending();
+	if (box.get_upper_bound(k, closed, u_n, u_d)) {
+	  if (l_n * u_d == u_n * l_d) {
+	    // A point interval allows any point along the dimension
+	    // k axis.
+	    gen_sys.insert(grid_line(Variable(k)));
+	    continue;
+	  }
+	  assert(l_d > 0);
+	  assert(u_d > 0);
+	  gcd_assign(d, l_d, u_d);
+	  // `d' is the gcd of the divisors.
+	  exact_div_assign(l_d, l_d, d);
+	  exact_div_assign(d, u_d, d);
+	  l_n *= d;
+	  // `l_d' is now the smallest integer expression of the size of
+	  // the original l_d relative to u_d.
+	  u_n = (u_n * l_d) - l_n;
+	  // `u_n' is now the distance between u_n and l_n (given a
+	  // divisor of lcm of l_d and u_d.
+	  l_d *= u_d;
+	  // `l_d' is now the lcm of the divisors.
+	  con_sys.insert((l_d * Variable(k) %= l_n) / u_n);
+	  gen_sys.insert(parameter(u_n * Variable(k), l_d));
+	}
+	else
+	  // An interval bounded only from below produces an
+	  // equality.
+	  con_sys.insert(l_d * Variable(k) == l_n);
+      }
+      else
+	if (box.get_upper_bound(k, closed, u_n, u_d)) {
+	  const Coefficient& point_divisor = point.divisor();
+	  assert(u_d > 0);
+	  assert(point_divisor > 0);
+	  // Use `d' to hold the gcd.
+	  gcd_assign(d, u_d, point_divisor);
+	  // Scale the point to use as divisor the lcm of the existing
+	  // point divisor and the divisor of the lower bound.
+	  exact_div_assign(d, point_divisor, d);
+	  // u_d * d == abs(u_d) * (point_divisor / gcd(u_d, point_divisor))
+	  point.scale_to_divisor(u_d * d);
+	  // Set dimension k of the point to the lower bound.
+	  // point[k + 1] = u_n * (point_divisor / gcd(u_d, point_divisor))
+	  point[k + 1] = u_n * d;
 
-  bool test_g_pending() const;
-  void reset_g_pending();
-  void set_g_pending();
-  //@} // Test, remove or add an individual assertion from the conjunction
+	  // An interval bounded only from above produces an equality.
+	  con_sys.insert(u_d * Variable(k) == u_n);
+	}
+	else {
+	  // Any universe interval produces an empty grid.
+	  set_empty();
+	  assert(OK());
+	  return;
+	}
+    }
+    normalize_divisors(gen_sys);
+    set_congruences_up_to_date();
+    set_generators_up_to_date();
+    gen_sys.set_sorted(false);
+    gen_sys.unset_pending_rows();
+  }
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  assert(OK());
+}
 
-  PPL_OUTPUT_DECLARATIONS
+template <typename Interval>
+void
+Grid::get_covering_box(Box<Interval>& box) const {
+  // Dimension-compatibility check.
+  if (space_dim > box.space_dimension())
+    throw_dimension_incompatible("get_covering_box(box)", "box",
+				 box.space_dimension());
 
-  /*! \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);
+  Box<Interval> new_box(box.space_dimension());
 
-private:
-  //! Status is implemented by means of a finite bitset.
-  typedef unsigned int flags_t;
+  if (marked_empty()) {
+    box = new_box;
+    box.set_empty();
+    return;
+  }
+  if (space_dim == 0) {
+    return;
+  }
+  if (!generators_are_up_to_date() && !update_generators()) {
+    // Updating found the grid empty.
+    box = new_box;
+    box.set_empty();
+    return;
+  }
 
-  //! \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
+  assert(!gen_sys.has_no_rows());
 
-  //! This holds the current bitset.
-  flags_t flags;
+  dimension_type num_dims = gen_sys.num_columns() - 2 /* parameter divisor */;
+  dimension_type num_rows = gen_sys.num_rows();
 
-  //! Construct from a bit-mask.
-  Status(flags_t mask);
+  PPL_DIRTY_TEMP_COEFFICIENT(gcd);
+  PPL_DIRTY_TEMP_COEFFICIENT(bound);
 
-  //! Check whether <EM>all</EM> bits in \p mask are set.
-  bool test_all(flags_t mask) const;
+  if (num_rows > 1) {
+    Row interval_sizes(num_dims, Row::Flags());
+    std::vector<bool> interval_emptiness(num_dims, false);
 
-  //! Check whether <EM>at least one</EM> bit in \p mask is set.
-  bool test_any(flags_t mask) const;
+    // Store in `interval_sizes', for each column (that is, for each
+    // dimension), the GCD of all the values in that column where the
+    // row is of type parameter.
 
-  //! Set the bits in \p mask.
-  void set(flags_t mask);
+    for (dimension_type dim = num_dims; dim-- > 0; )
+      interval_sizes[dim] = 0;
+    const Grid_Generator *first_point = NULL;
+    for (dimension_type row = 0; row < num_rows; ++row) {
+      Grid_Generator& gen = const_cast<Grid_Generator&>(gen_sys[row]);
+      if (gen.is_line()) {
+	for (dimension_type dim = 0; dim < num_dims; ++dim)
+	  if (!interval_emptiness[dim] && gen[dim+1] != 0) {
+	    // Empty interval, set both bounds for associated
+      	    // dimension to zero.
+            new_box.add_constraint(Variable(dim) == 0);
+	    interval_emptiness[dim] = true;
+	  }
+	continue;
+      }
+      if (gen.is_point()) {
+	if (first_point == NULL) {
+	  first_point = &gen_sys[row];
+	  continue;
+	}
+	const Grid_Generator& point = *first_point;
+	// Convert the point `gen' to a parameter.
+	dimension_type dim = num_dims;
+	do {
+	  gen[dim] -= point[dim];
+	}
+	while (dim-- > 0);
+	gen.set_divisor(point.divisor());
+      }
+      for (dimension_type dim = num_dims; dim-- > 0; )
+	if (!interval_emptiness[dim])
+	  gcd_assign(interval_sizes[dim], interval_sizes[dim], gen[dim+1]);
+    }
 
-  //! Reset the bits in \p mask.
-  void reset(flags_t mask);
-};
+    // For each dimension set the lower bound of the interval to the
+    // grid value closest to the origin, and the upper bound to the
+    // addition of the lower bound and the shortest distance in the
+    // given dimension between any two grid points.
+    const Grid_Generator& point = *first_point;
+    const Coefficient& divisor = point.divisor();
+    PPL_DIRTY_TEMP_COEFFICIENT(lower_bound);
+    for (dimension_type dim = num_dims; dim-- > 0; ) {
+      if (interval_emptiness[dim])
+	continue;
 
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 2035. */
-#undef PPL_IN_Polyhedron_CLASS
+      lower_bound = point[dim+1];
 
-  //! The status flags to keep track of the polyhedron's internal state.
-  Status status;
+      // If the interval size is zero then all points have the same
+      // value in this dimension, so set only the lower bound.
+      if (interval_sizes[dim] != 0) {
+	// Make the lower bound as close as possible to the origin,
+	// leaving the sign the same.
+	lower_bound %= interval_sizes[dim];
+	// Check if the lowest value the other side of the origin is
+	// closer to the origin, preferring the lowest positive if they
+	// are equal.
+	if (lower_bound > 0) {
+	  if (interval_sizes[dim] - lower_bound < lower_bound)
+	    lower_bound -= interval_sizes[dim];
+	}
+	else if (lower_bound < 0
+		 && interval_sizes[dim] + lower_bound < - lower_bound)
+	  lower_bound += interval_sizes[dim];
 
-  //! The number of dimensions of the enclosing vector space.
-  dimension_type space_dim;
+	// Reduce the bound fraction first.
+	bound = interval_sizes[dim] + lower_bound;
+	gcd_assign(gcd, bound, divisor);
+	exact_div_assign(bound, bound, gcd);
+	exact_div_assign(gcd, divisor, gcd);
+	// `gcd' now holds the reduced divisor.
+        new_box.add_constraint(gcd*Variable(dim) <= bound);
+      }
 
-  //! Returns the topological kind of the polyhedron.
-  Topology topology() const;
+      // Reduce the bound fraction first.
+      gcd_assign(gcd, lower_bound, divisor);
+      exact_div_assign(lower_bound, lower_bound, gcd);
+      exact_div_assign(gcd, divisor, gcd);
+      // `gcd' now holds the reduced divisor.
+      new_box.add_constraint(gcd*Variable(dim) >= lower_bound);
+    }
+  }
+  else {
+    const Grid_Generator& point = gen_sys[0];
+    const Coefficient& divisor = point.divisor();
+    // The covering box of a single point has only lower bounds.
+    for (dimension_type dim = num_dims; dim-- > 0; ) {
+      // Reduce the bound fraction first.
+      gcd_assign(gcd, point[dim+1], divisor);
+      exact_div_assign(bound, point[dim+1], gcd);
+      exact_div_assign(gcd, divisor, gcd);
+      // `gcd' now holds the reduced divisor.
+      new_box.add_constraint(gcd*Variable(dim) >= bound);
+    }
+  }
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if the polyhedron
-    is necessarily closed.
-  */
-  bool is_necessarily_closed() const;
+  box.swap(new_box);
+}
 
-  friend bool
-  Parma_Polyhedra_Library::Interfaces
-  ::is_necessarily_closed_for_interfaces(const Polyhedron&);
+template <typename Partial_Function>
+void
+Grid::map_space_dimensions(const Partial_Function& pfunc) {
+  if (space_dim == 0)
+    return;
 
-  /*! \brief
-    Uses a copy of constraint \p c to refine the system of constraints
-    of \p *this.
+  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();
 
-    \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);
+    assert(OK());
+    return;
+  }
 
-  //! \name Private Verifiers: Verify if Individual Flags are Set
-  //@{
+  dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
 
-  //! 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 (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.
 
-  //! Returns <CODE>true</CODE> if the system of constraints is up-to-date.
-  bool constraints_are_up_to_date() const;
+    // 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);
 
-  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
-  bool generators_are_up_to_date() const;
+    // Used to mark elements as soon as they are inserted in a cycle.
+    std::deque<bool> visited(space_dim);
 
-  //! 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;
+    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;
 
-  //! 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;
+	  cycles.push_back(j+1);
+	  // Go along the cycle.
+	  j = k;
+	} while (!visited[j]);
+	// End of cycle: mark it.
+	cycles.push_back(0);
+      skip:
+	;
+      }
+    }
 
-  //! Returns <CODE>true</CODE> if there are pending constraints.
-  bool has_pending_constraints() const;
+    // If `cycles' is empty then `pfunc' is the identity.
+    if (cycles.empty())
+      return;
 
-  //! Returns <CODE>true</CODE> if there are pending generators.
-  bool has_pending_generators() const;
+    // Permute all that is up-to-date.
+    if (congruences_are_up_to_date()) {
+      con_sys.permute_columns(cycles);
+      clear_congruences_minimized();
+    }
 
-  /*! \brief
-    Returns <CODE>true</CODE> if there are
-    either pending constraints or pending generators.
-  */
-  bool has_something_pending() const;
+    if (generators_are_up_to_date()) {
+      gen_sys.permute_columns(cycles);
+      clear_generators_minimized();
+    }
 
-  //! Returns <CODE>true</CODE> if the polyhedron can have something pending.
-  bool can_have_something_pending() const;
+    assert(OK());
+    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;
+  // If control gets here, then `pfunc' is not a permutation and some
+  // dimensions must be projected away.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if the saturation matrix \p sat_g
-    is up-to-date.
-  */
-  bool sat_g_is_up_to_date() const;
+  const Grid_Generator_System& old_gensys = grid_generators();
 
-  //@} // Private Verifiers: Verify if Individual Flags are Set
+  if (old_gensys.has_no_rows()) {
+    // The grid is empty.
+    Grid new_grid(new_space_dimension, EMPTY);
+    std::swap(*this, new_grid);
+    assert(OK());
+    return;
+  }
 
-  //! \name State Flag Setters: Set Only the Specified Flags
-  //@{
+  // 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;
+  }
 
-  /*! \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();
+  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;
+  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;
+    case Grid_Generator::CLOSURE_POINT:
+    default:
+      assert(0);
+    }
+  }
 
-  /*! \brief
-    Sets \p status to express that the polyhedron is empty,
-    clearing all corresponding matrices.
-  */
-  void set_empty();
+  Grid new_grid(new_gensys);
+  std::swap(*this, new_grid);
 
-  //! Sets \p status to express that constraints are up-to-date.
-  void set_constraints_up_to_date();
+  assert(OK(true));
+}
 
-  //! Sets \p status to express that generators are up-to-date.
-  void set_generators_up_to_date();
+// 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];
 
-  //! Sets \p status to express that constraints are minimized.
-  void set_constraints_minimized();
+  const Coefficient& pivot_dim = pivot[dim];
 
-  //! Sets \p status to express that generators are minimized.
-  void set_generators_minimized();
+  if (pivot_dim == 0)
+    return;
 
-  //! Sets \p status to express that constraints are pending.
-  void set_constraints_pending();
+  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;
+  }
 
-  //! Sets \p status to express that generators are pending.
-  void set_generators_pending();
+  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;
 
-  //! Sets \p status to express that \p sat_c is up-to-date.
-  void set_sat_c_up_to_date();
+    // 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];
 
-  //! Sets \p status to express that \p sat_g is up-to-date.
-  void set_sat_g_up_to_date();
+      const Coefficient& row_dim = row[dim];
+      // num_rows_to_subtract may be positive or negative.
+      num_rows_to_subtract = row_dim / pivot_dim;
 
-  //@} // State Flag Setters: Set Only the Specified Flags
+      // 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;
 
-  //! \name State Flag Cleaners: Clear Only the Specified Flag
-  //@{
+      // 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]);
+    }
+  }
+}
 
-  //! Clears the \p status flag indicating that the polyhedron is empty.
-  void clear_empty();
+} // namespace Parma_Polyhedra_Library
 
-  //! 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();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Grid.defs.hh line 2783. */
 
-  //! 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();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Rational_Box.hh line 1. */
+/* Rational_Box class declaration and implementation.
+*/
 
-  //! Sets \p status to express that constraints are no longer minimized.
-  void clear_constraints_minimized();
 
-  //! Sets \p status to express that generators are no longer minimized.
-  void clear_generators_minimized();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Rational_Interval.hh line 1. */
+/* Rational_Interval class declaration and implementation.
+*/
 
-  //! Sets \p status to express that there are no longer pending constraints.
-  void clear_pending_constraints();
 
-  //! Sets \p status to express that there are no longer pending generators.
-  void clear_pending_generators();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval.defs.hh line 1. */
+/* Declarations for the Interval class and its constituents.
+*/
 
-  //! Sets \p status to express that \p sat_c is no longer up-to-date.
-  void clear_sat_c_up_to_date();
 
-  //! Sets \p status to express that \p sat_g is no longer up-to-date.
-  void clear_sat_g_up_to_date();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/assign_or_swap.hh line 1. */
+/* The assign_or_swap() utility functions.
+*/
 
-  //@} // State Flag Cleaners: Clear Only the Specified Flag
 
-  //! \name The Handling of Pending Rows
-  //@{
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Has_Assign_Or_Swap.hh line 1. */
+/* Has_Assign_Or_Swap classes declarations.
+*/
 
-  /*! \brief
-    Processes the pending rows of either description of the polyhedron
-    and obtains a minimized polyhedron.
 
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Has_Assign_Or_Swap.hh line 27. */
 
-    It is assumed that the polyhedron does have some constraints or
-    generators pending.
-  */
-  bool process_pending() const;
+namespace Parma_Polyhedra_Library {
 
-  //! 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.
+#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 {
+};
 
-    It is assumed that the polyhedron does have some pending constraints.
-  */
-  bool process_pending_constraints() 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 {
+};
 
-  //! 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;
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Lazily integrates the pending descriptions of the polyhedron
-    to obtain a constraint system without pending rows.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/assign_or_swap.hh line 29. */
 
-    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.
+#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);
+}
 
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty polyhedron.
+#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;
+}
 
-    It is assumed that the polyhedron does have some constraints or
-    generators pending.
-  */
-  bool remove_pending_to_obtain_generators() const;
+#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);
+}
 
-  //@} // The Handling of Pending Rows
+} // namespace Parma_Polyhedra_Library
 
-  //! \name Updating and Sorting Matrices
-  //@{
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval.types.hh line 1. */
 
-  //! 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;
 
-  //! 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.
+namespace Parma_Polyhedra_Library {
 
-    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;
+template <typename Boundary, typename Info>
+class Interval;
 
-  //! 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;
+} // namespace Parma_Polyhedra_Library
 
-  //! 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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval_Info.defs.hh line 1. */
+/* Interval_Info class declaration and implementation.
+*/
 
-  //! 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;
 
-  //! 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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Boundary.defs.hh line 1. */
+/* Interval boundary functions.
+*/
 
-  //! 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;
 
-  //! 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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Boundary.defs.hh line 27. */
 
-  //@} // Updating and Sorting Matrices
+namespace Parma_Polyhedra_Library {
 
-  //! \name Weak and Strong Minimization of Descriptions
-  //@{
+namespace Boundary_NS {
 
-  //! 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.
+struct Unbounded {
+  Unbounded() {
+  }
+};
 
-    Minimization is not attempted if the Status field already declares
-    both systems to be minimized.
-  */
-  bool minimize() const;
+const Unbounded UNBOUNDED;
 
-  //! 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;
+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;
+};
 
-  //! 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;
+static const Property SPECIAL(Property::SPECIAL_);
+static const Property OPEN(Property::OPEN_);
+static const Property NORMALIZED(Property::NORMALIZED_);
 
-  //! If constraints are up-to-date, obtain a simplified copy of them.
-  Constraint_System simplified_constraints() const;
+enum Boundary_Type {
+  LOWER = ROUND_DOWN,
+  UPPER = ROUND_UP
+};
 
-  //@} // Weak and Strong Minimization of Descriptions
+inline Rounding_Dir
+round_dir_check(Boundary_Type t, bool check = false) {
+  if (check)
+    return static_cast<Rounding_Dir>(t | ROUND_FPU_CHECK_INEXACT);
+  else
+    return static_cast<Rounding_Dir>(t);
+}
 
-  enum Three_Valued_Boolean {
-    TVB_TRUE,
-    TVB_FALSE,
-    TVB_DONT_KNOW
-  };
+template <typename T, typename Info>
+inline Result
+special_set_boundary_infinity(Boundary_Type type, T&, Info& info) {
+  assert(Info::store_special);
+  info.set_boundary_property(type, SPECIAL);
+  return V_EQ;
+}
 
-  //! Polynomial but incomplete equivalence test between polyhedra.
-  Three_Valued_Boolean quick_equivalence_test(const Polyhedron& y) const;
+template <typename T, typename Info>
+inline bool
+special_is_boundary_infinity(Boundary_Type, const T&, const Info&) {
+  return true;
+}
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
-  bool is_included_in(const Polyhedron& y) const;
+template <typename T, typename Info>
+inline bool
+special_is_open(Boundary_Type, const T&, const Info&) {
+  return !Info::may_contain_infinity;
+}
 
-  //! 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 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);
+}
 
-    \param expr
-    The linear expression to test;
+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 from_above
-    <CODE>true</CODE> if and only if the boundedness of interest is
-    "from above".
+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 (r == V_EQ && !Info::may_contain_infinity)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+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");
   */
-  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;
+  if (open)
+    assert(type == LOWER);
+  else
+    assert(Info::may_contain_infinity);
+  Result r;
+  if (Info::store_special) {
+    assert(type == LOWER);
+    r = special_set_boundary_infinity(type, x, info);
+  }
+  else
+    r = assign_r(x, MINUS_INFINITY, round_dir_check(type));
+  assert(r != VC_MINUS_INFINITY);
+  if (open || r != V_EQ)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-    \param maximize
-    <CODE>true</CODE> if maximization is what is wanted;
+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)
+    assert(type == UPPER);
+  else
+    assert(Info::may_contain_infinity);
+  Result r;
+  if (Info::store_special) {
+    assert(type == UPPER);
+    r = special_set_boundary_infinity(type, x, info);
+  }
+  else
+    r = assign_r(x, PLUS_INFINITY, round_dir_check(type));
+  assert(r != VC_MINUS_INFINITY);
+  if (open || r != V_EQ)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-    \param ext_n
-    The numerator of the extremum value;
+template <typename T, typename Info>
+inline Result
+set_boundary_infinity(Boundary_Type type, T& x, Info& info, bool open = false) {
+  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));
+  assert(r == V_EQ);
+  if (open)
+    info.set_boundary_property(type, OPEN);
+  return r;
+}
 
-    \param ext_d
-    The denominator of the extremum value;
+template <typename T, typename Info>
+inline Result
+shrink(Boundary_Type type, T& x, Info& info, bool check) {
+  Result r;
+  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;
+}
 
-    \param included
-    <CODE>true</CODE> if and only if the extremum of \p expr can
-    actually be reached in \p * this;
+template <typename T, typename Info>
+inline bool
+is_unbounded(Boundary_Type type, const T& x, const Info& info) {
+  if (Info::store_special)
+    return info.get_boundary_property(type, SPECIAL)
+      && special_is_boundary_infinity(type, x, info);
+  else if (std::numeric_limits<T>::has_infinity) {
+    if (type == LOWER)
+      return Parma_Polyhedra_Library::is_minus_infinity(x);
+    else
+      return Parma_Polyhedra_Library::is_plus_infinity(x);
+  }
+  else if (std::numeric_limits<T>::is_bounded) {
+    if (type == LOWER)
+      return x == std::numeric_limits<T>::min();
+    else
+      return x == std::numeric_limits<T>::max();
+  } else
+    return false;
+}
 
-    \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, typename Info>
+inline bool
+normal_is_boundary_infinity(Boundary_Type type, const T& x, const Info&) {
+  if (type == LOWER)
+    return Parma_Polyhedra_Library::is_minus_infinity(x);
+  else
+    return Parma_Polyhedra_Library::is_plus_infinity(x);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+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);
+}
 
-    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, 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)
+	&& special_is_boundary_infinity(type, x, info);
+    else
+      return normal_is_boundary_infinity(type, x, info);
+  }
+  else
+    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
+}
 
-  //! \name Widening- and Extrapolation-Related Functions
-  //@{
+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)
+	&& special_is_boundary_infinity(type, x, info);
+    else
+      return normal_is_boundary_infinity(type, x, info);
+  }
+  else
+    return !Info::store_special && normal_is_reverse_infinity(type, x, info);
+}
 
-  /*! \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;
+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)
+      && special_is_boundary_infinity(type, x, info);
+  else
+    return normal_is_boundary_infinity(type, x, info);
+}
 
-  /*! \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;
+template <typename T, typename Info>
+inline bool
+is_reverse_infinity(Boundary_Type type, const T& x, const Info& info) {
+  return !Info::store_special
+    && normal_is_reverse_infinity(type, x, info);
+}
 
-  bool BHRZ03_combining_constraints(const Polyhedron& y,
-				    const BHRZ03_Certificate& y_cert,
- 				    const Polyhedron& H79,
-				    const Constraint_System& x_minus_H79_con_sys);
+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;
+}
 
-  bool BHRZ03_evolving_points(const Polyhedron& y,
-			      const BHRZ03_Certificate& y_cert,
-			      const Polyhedron& H79);
+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);
+}
 
-  bool BHRZ03_evolving_rays(const Polyhedron& y,
-			    const BHRZ03_Certificate& y_cert,
-			    const Polyhedron& H79);
+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);
+}
 
-  //@} // Widening- and Extrapolation-Related Functions
+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) &&
+      special_is_boundary_infinity(type, x, info))
+    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);
+}
 
-  //! Adds new space dimensions to the given matrices.
-  /*!
-    \param mat1
-    The matrix to which columns are added;
+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;
+}
 
-    \param mat2
-    The matrix to which rows and columns are added;
+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);
+}
 
-    \param sat1
-    The saturation matrix whose columns are indexed by the rows of
-    matrix \p mat1. On entry it is 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);
+}
 
-    \param sat2
-    The saturation matrix whose columns are indexed by the rows of \p
-    mat2;
+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);
+}
 
-    \param add_dim
-    The number of space dimensions to add.
+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);
+}
 
-    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);
+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);
+}
 
-  //! \name Minimization-Related Static Member Functions
-  //@{
+template <typename T, typename Info>
+inline Result
+adjust_boundary(Boundary_Type type, T& x, Info& info,
+		bool open, Result r) {
+  if (type == LOWER) {
+    switch (r) {
+    case V_NEG_OVERFLOW:
+      open = true;
+      /* Fall through */
+    case VC_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:
+      assert(false);
+      return VC_NAN;
+    }
+  }
+  else {
+    switch (r) {
+    case V_POS_OVERFLOW:
+      open = true;
+      /* Fall through */
+    case VC_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:
+      assert(false);
+      return VC_NAN;
+    }
+  }
+}
 
-  //! 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);
+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) {
+  assert(to_type != type);
+  bool shrink;
+  if (info.get_boundary_property(type, SPECIAL)
+      && special_is_boundary_infinity(type, x, info)) {
+    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);
+}
 
-  /*! \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);
+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) {
+  assert(to_type == type);
+  if (info.get_boundary_property(type, SPECIAL)
+      && special_is_boundary_infinity(type, x, info)) {
+    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);
+}
 
-  /*! \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);
+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;
+}
 
-  //! 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);
+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
-    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);
+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;
+}
 
-  //@} // Minimization-Related Static Member Functions
+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);
+}
 
-  /*! \brief
-    Pointer to an array used by simplify().
+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) {
+  assert(to_type != type);
+  bool shrink;
+  if (info.get_boundary_property(type, SPECIAL)
+      && special_is_boundary_infinity(type, x, info)) {
+    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);
+}
 
-    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;
+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) {
+  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);
+}
 
-  /*! \brief
-    Dimension of an array used by simplify().
+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) {
+  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);
+}
 
-    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;
+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())));
+  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);
+}
 
-  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;
+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);
+}
 
+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);
+}
 
-#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;
+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())));
+  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);
+}
 
-  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* 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;
+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);
+  }
+}
 
-  // 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);
+} // namespace Boundary_NS
 
-  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 Parma_Polyhedra_Library
 
-};
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval_Restriction.defs.hh line 1. */
+/* Interval_Restriction class declaration.
+*/
 
 
-namespace std {
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval_Restriction.defs.hh line 32. */
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Polyhedron */
-void swap(Parma_Polyhedra_Library::Polyhedron& x,
-	  Parma_Polyhedra_Library::Polyhedron& y);
+namespace Parma_Polyhedra_Library {
 
-} // namespace std
+struct Interval_Base;
 
-/* Automatically generated from PPL source file ../src/Ph_Status.inlines.hh line 1. */
-/* Polyhedron::Status class implementation: inline functions.
-*/
+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;
+};
 
-namespace Parma_Polyhedra_Library {
+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
-Polyhedron::Status::Status(flags_t mask)
-  : flags(mask) {
+inline bool
+eq_restriction(const Interval_Restriction_None_Base&, const Interval_Restriction_None_Base) {
+  return true;
 }
 
-inline
-Polyhedron::Status::Status()
-  : flags(ZERO_DIM_UNIV) {
+template <typename T>
+inline bool
+contains_restriction(const Interval_Restriction_None_Base&, const T&) {
+  return true;
 }
 
+template <typename T>
 inline bool
-Polyhedron::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
+assign_restriction(Interval_Restriction_None_Base&, const T&) {
+  return true;
 }
 
+template <typename T1, typename T2>
 inline bool
-Polyhedron::Status::test_any(flags_t mask) const {
-  return flags & mask;
+join_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline void
-Polyhedron::Status::set(flags_t mask) {
-  flags |= mask;
+template <typename T1, typename T2>
+inline bool
+intersect_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline void
-Polyhedron::Status::reset(flags_t mask) {
-  flags &= ~mask;
+template <typename T1, typename T2>
+inline bool
+diff_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
+template <typename T>
 inline bool
-Polyhedron::Status::test_zero_dim_univ() const {
-  return flags == ZERO_DIM_UNIV;
+neg_restriction(Interval_Restriction_None_Base&, const T&) {
+  return true;
 }
 
-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;
+template <typename T1, typename T2>
+inline bool
+add_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline void
-Polyhedron::Status::set_zero_dim_univ() {
-  // Zero-dim universe is incompatible with anything else.
-  flags = ZERO_DIM_UNIV;
+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
-Polyhedron::Status::test_empty() const {
-  return test_any(EMPTY);
+mul_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
-inline void
-Polyhedron::Status::reset_empty() {
-  reset(EMPTY);
+template <typename T1, typename T2>
+inline bool
+div_restriction(Interval_Restriction_None_Base&, const T1&, const T2&) {
+  return true;
 }
 
 inline void
-Polyhedron::Status::set_empty() {
-  flags = EMPTY;
+output_restriction(std::ostream&, const Interval_Restriction_None_Base&) {
 }
 
-inline bool
-Polyhedron::Status::test_c_up_to_date() const {
-  return test_any(C_UP_TO_DATE);
-}
+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) {
+  }
+};
 
-inline void
-Polyhedron::Status::reset_c_up_to_date() {
-  reset(C_UP_TO_DATE);
-}
+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:
+      assert(false);
+      return dir;
+    }
+  }
+};
 
-inline void
-Polyhedron::Status::set_c_up_to_date() {
-  set(C_UP_TO_DATE);
-}
+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;
+};
 
-inline bool
-Polyhedron::Status::test_g_up_to_date() const {
-  return test_any(G_UP_TO_DATE);
-}
+template <typename From, typename Base, typename Enable = void>
+struct Restriction_Integer;
 
-inline void
-Polyhedron::Status::reset_g_up_to_date() {
-  reset(G_UP_TO_DATE);
-}
+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));
+  }
+};
 
-inline void
-Polyhedron::Status::set_g_up_to_date() {
-  set(G_UP_TO_DATE);
-}
+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()));
+  }
+};
 
-inline bool
-Polyhedron::Status::test_c_minimized() const {
-  return test_any(C_MINIMIZED);
-}
+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();
+  }
+};
 
-inline void
-Polyhedron::Status::reset_c_minimized() {
-  reset(C_MINIMIZED);
+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();
 }
 
-inline void
-Polyhedron::Status::set_c_minimized() {
-  set(C_MINIMIZED);
+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
-Polyhedron::Status::test_g_minimized() const {
-  return test_any(G_MINIMIZED);
-}
-
-inline void
-Polyhedron::Status::reset_g_minimized() {
-  reset(G_MINIMIZED);
+assign_restriction(Interval_Restriction_Integer<Base>& to, const From& x) {
+  to.set_integer(Restriction_Integer<From, Base>::get(x).get_integer());
+  return true;
 }
 
-inline void
-Polyhedron::Status::set_g_minimized() {
-  set(G_MINIMIZED);
+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
-Polyhedron::Status::test_c_pending() const {
-  return test_any(CS_PENDING);
+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;
 }
 
-inline void
-Polyhedron::Status::reset_c_pending() {
-  reset(CS_PENDING);
+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;
 }
 
-inline void
-Polyhedron::Status::set_c_pending() {
-  set(CS_PENDING);
+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
-Polyhedron::Status::test_g_pending() const {
-  return test_any(GS_PENDING);
+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;
 }
 
-inline void
-Polyhedron::Status::reset_g_pending() {
-  reset(GS_PENDING);
+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;
 }
 
-inline void
-Polyhedron::Status::set_g_pending() {
-  set(GS_PENDING);
+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
-Polyhedron::Status::test_sat_c_up_to_date() const {
-  return test_any(SAT_C_UP_TO_DATE);
+div_restriction(Interval_Restriction_Integer<Base>& to, const From1&, const From2&) {
+  to.set_integer(false);
+  return true;
 }
 
+template <typename Base>
 inline void
-Polyhedron::Status::reset_sat_c_up_to_date() {
-  reset(SAT_C_UP_TO_DATE);
+output_restriction(std::ostream& s, const Interval_Restriction_Integer<Base>& x) {
+  if (x.get_integer())
+    s << "i";
 }
 
-inline void
-Polyhedron::Status::set_sat_c_up_to_date() {
-  set(SAT_C_UP_TO_DATE);
-}
+class Interval_Restriction_Integer_Modulo_Base {
+};
 
-inline bool
-Polyhedron::Status::test_sat_g_up_to_date() const {
-  return test_any(SAT_G_UP_TO_DATE);
-}
+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);
+    assert(r == V_EQ);
+    int s;
+    r = rem_assign_r(n, x, div, ROUND_NOT_NEEDED);
+    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);
+	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);
+	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);
+	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);
+	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:
+      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;
+};
 
-inline void
-Polyhedron::Status::reset_sat_g_up_to_date() {
-  reset(SAT_G_UP_TO_DATE);
-}
+template <typename T, typename Base>
+struct Slow_Copy<Interval_Restriction_Integer_Modulo<T, Base> > : public Bool<Slow_Copy<T>::value> {};
 
-inline void
-Polyhedron::Status::set_sat_g_up_to_date() {
-  set(SAT_G_UP_TO_DATE);
-}
 
-} // namespace Parma_Polyhedra_Library
+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);
+  }
+};
 
-/* Automatically generated from PPL source file ../src/Polyhedron.inlines.hh line 1. */
-/* Polyhedron class implementation: inline functions.
-*/
+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;
 
-/* Automatically generated from PPL source file ../src/Polyhedron.inlines.hh line 28. */
-#include <algorithm>
-#include <deque>
+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;
+  }
+};
 
-namespace Parma_Polyhedra_Library {
+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;
+  }
+};
 
-inline memory_size_type
-Polyhedron::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+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;
+  }
+};
 
-inline dimension_type
-Polyhedron::space_dimension() const {
-  return space_dim;
-}
+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();
+  }
+};
 
-inline int32_t
-Polyhedron::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+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;
 }
 
-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()
-		 )
-	     );
+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);
+  assert(r == V_EQ);
+  if (v != 0)
+    return false;
+  r = rem_assign_r(v, y.remainder, x.divisor, ROUND_NOT_NEEDED);
+  assert(r == V_EQ);
+  return v == x.remainder;
 }
 
-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();
+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
-Polyhedron::is_discrete() const {
-  return affine_dimension() == 0;
+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
-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();
+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;
 }
 
-inline void
-Polyhedron::upper_bound_assign(const Polyhedron& y) {
-  poly_hull_assign(y);
+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;
 }
 
-inline void
-Polyhedron::difference_assign(const Polyhedron& y) {
-  poly_difference_assign(y);
+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;
 }
 
-inline void
-Polyhedron::widening_assign(const Polyhedron& y, unsigned* tp) {
-  H79_widening_assign(y, tp);
+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;
 }
 
-inline
-Polyhedron::~Polyhedron() {
+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
-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);
+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);
+    assert(r == V_EQ);
+    if (x <= to) {
+      r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
+      assert(r == V_EQ);
+    }
+    else {
+      r = sub_assign_r(to, x, to, ROUND_NOT_NEEDED);
+      assert(r == V_EQ);
+    }
+  }
+  else {
+    r = add_assign_r(to, x, y, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+  }
+  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
+  assert(r == V_EQ);
 }
 
+template <typename M, typename T>
 inline bool
-Polyhedron::can_recycle_constraint_systems() {
-  return true;
+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
-Polyhedron::can_recycle_congruence_systems() {
-  return false;
-}
-
-inline bool
-Polyhedron::marked_empty() const {
-  return status.test_empty();
+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);
+    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);
+    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);
+    assert(r == V_EQ);
+    addmod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
+  }
+  return true;
 }
 
-inline bool
-Polyhedron::constraints_are_up_to_date() const {
-  return status.test_c_up_to_date();
+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);
+    assert(r == V_EQ);
+  }
+  else {
+    r = sub_assign_r(to, y_m, y, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+    r = add_assign_r(to, x, to, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+  }
+  r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
+  assert(r == V_EQ);
 }
 
+template <typename T, typename Base, typename From1, typename From2>
 inline bool
-Polyhedron::generators_are_up_to_date() const {
-  return status.test_g_up_to_date();
+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);
+    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);
+    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);
+    assert(r == V_EQ);
+    submod(to.remainder, rx.remainder, ry.remainder, to.divisor, ry.divisor);
+  }
+  return true;
 }
 
-inline bool
-Polyhedron::constraints_are_minimized() const {
-  return status.test_c_minimized();
+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);
+    assert(r == V_EQ);
+    r = assign_r(b, y, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+    r = mul_assign_r(a, a, b, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+    r = assign_r(b, to_m, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+    r = rem_assign_r(a, a, b, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+    r = assign_r(to, a, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+  }
+  else {
+    r = mul_assign_r(to, x, y, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+    r = rem_assign_r(to, to, to_m, ROUND_NOT_NEEDED);
+    assert(r == V_EQ);
+  }
 }
 
-inline bool
-Polyhedron::generators_are_minimized() const {
-  return status.test_g_minimized();
-}
 
+template <typename T, typename Base, typename From1, typename From2>
 inline bool
-Polyhedron::sat_c_is_up_to_date() const {
-  return status.test_sat_c_up_to_date();
+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);
+    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
-Polyhedron::sat_g_is_up_to_date() const {
-  return status.test_sat_g_up_to_date();
+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);
 }
 
-inline bool
-Polyhedron::has_pending_constraints() const {
-  return status.test_c_pending();
+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 << "}";
 }
 
-inline bool
-Polyhedron::has_pending_generators() const {
-  return status.test_g_pending();
 }
 
-inline bool
-Polyhedron::has_something_pending() const {
-  return status.test_c_pending() || status.test_g_pending();
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval_Info.defs.hh line 28. */
 
-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());
-}
+#include <iostream>
 
-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();
-}
+namespace Parma_Polyhedra_Library {
 
-inline void
-Polyhedron::set_constraints_up_to_date() {
-  status.set_c_up_to_date();
-}
+namespace Interval_NS {
 
-inline void
-Polyhedron::set_generators_up_to_date() {
-  status.set_g_up_to_date();
-}
+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;
+};
 
-inline void
-Polyhedron::set_constraints_minimized() {
-  set_constraints_up_to_date();
-  status.set_c_minimized();
-}
+const Property CARDINALITY_0(Property::CARDINALITY_0_);
+const Property CARDINALITY_1(Property::CARDINALITY_1_);
+const Property CARDINALITY_IS(Property::CARDINALITY_IS_);
 
+template <typename T>
 inline void
-Polyhedron::set_generators_minimized() {
-  set_generators_up_to_date();
-  status.set_g_minimized();
+reset_bits(T& bits) {
+  bits = 0;
 }
 
+template <typename T>
 inline void
-Polyhedron::set_constraints_pending() {
-  status.set_c_pending();
+reset_bit(T& bits, unsigned int bit) {
+  bits &= ~(static_cast<T>(1) << bit);
 }
 
+template <typename T>
 inline void
-Polyhedron::set_generators_pending() {
-  status.set_g_pending();
+set_bit(T& bits, unsigned int bit, bool value) {
+  if (value)
+    bits |= static_cast<T>(1) << bit;
+  else
+    reset_bit(bits, bit);
 }
 
-inline void
-Polyhedron::set_sat_c_up_to_date() {
-  status.set_sat_c_up_to_date();
+template <typename T>
+inline bool
+get_bit(const T& bits, unsigned int bit) {
+  return bits & (static_cast<T>(1) << bit);
 }
 
+template <typename T>
 inline void
-Polyhedron::set_sat_g_up_to_date() {
-  status.set_sat_g_up_to_date();
+set_bits(T& bits, unsigned int start, unsigned int len, T value) {
+  bits &= ~(((static_cast<T>(1) << len) - 1) << start);
+  bits |= value << start;
 }
 
-inline void
-Polyhedron::clear_empty() {
-  status.reset_empty();
+template <typename T>
+inline T
+get_bits(T& bits, unsigned int start, unsigned int len) {
+  return (bits >> start) & ((static_cast<T>(1) << len) - 1);
 }
 
-inline void
-Polyhedron::clear_constraints_minimized() {
-  status.reset_c_minimized();
-}
+} // namespace Interval_NS
 
-inline void
-Polyhedron::clear_generators_minimized() {
-  status.reset_g_minimized();
-}
+using namespace Interval_NS;
+using namespace Boundary_NS;
 
-inline void
-Polyhedron::clear_pending_constraints() {
-  status.reset_c_pending();
-}
 
-inline void
-Polyhedron::clear_pending_generators() {
-  status.reset_g_pending();
-}
+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_empty_result, Policy::check_empty_result);
+  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) {
+  }
 
-inline void
-Polyhedron::clear_sat_c_up_to_date() {
-  status.reset_sat_c_up_to_date();
-  // Can get rid of sat_c here.
-}
+  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;
+  }
 
-inline void
-Polyhedron::clear_sat_g_up_to_date() {
-  status.reset_sat_g_up_to_date();
-  // Can get rid of sat_g here.
-}
+  //! Swaps \p *this with \p y.
+  void swap(Interval_Info_Null& y);
 
-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.
-}
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
+};
 
-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.
-}
+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;
+    }
+  }
 
-inline bool
-Polyhedron::process_pending() const {
-  assert(space_dim > 0 && !marked_empty());
-  assert(has_something_pending());
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
-  Polyhedron& x = const_cast<Polyhedron&>(*this);
+private:
+  bool open;
+};
 
-  if (x.has_pending_constraints())
-    return x.process_pending_constraints();
 
-  assert(x.has_pending_generators());
-  x.process_pending_generators();
-  return true;
-}
+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_empty_result, Policy::check_empty_result);
+  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();
+  }
 
-inline bool
-Polyhedron::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, true);
-}
+  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;
+    }
+  }
 
-inline bool
-Polyhedron::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, false);
-}
+  //! Swaps \p *this with \p y.
+  void swap(Interval_Info_Bitset& 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);
-}
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
-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);
-}
+protected:
+  T bitset;
+};
 
-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
-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);
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval_Info.inlines.hh line 1. */
+/* Interval_Info class implementation: inline functions.
+*/
 
-inline Constraint_System
-Polyhedron::simplified_constraints() const {
-  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 Congruence_System
-Polyhedron::congruences() const {
-  return Congruence_System(minimized_constraints());
-}
+#include <iomanip>
 
-inline Congruence_System
-Polyhedron::minimized_congruences() const {
-  return Congruence_System(minimized_constraints());
-}
+namespace Parma_Polyhedra_Library {
 
-inline Grid_Generator_System
-Polyhedron::minimized_grid_generators() const {
-  return grid_generators();
+template <typename Policy>
+inline void
+Interval_Info_Null<Policy>::swap(Interval_Info_Null<Policy>&) {
 }
 
-inline bool
-Polyhedron::add_congruence_and_minimize(const Congruence& cg) {
-  add_congruence(cg);
-  return minimize();
+template <typename Policy>
+inline void
+Interval_Info_Null<Policy>::ascii_dump(std::ostream& s) const {
 }
 
+template <typename Policy>
 inline bool
-Polyhedron::add_congruences_and_minimize(const Congruence_System& cgs) {
-  add_congruences(cgs);
-  return minimize();
+Interval_Info_Null<Policy>::ascii_load(std::istream& s) {
+  return true;
 }
 
+template <typename Policy>
 inline void
-Polyhedron::add_recycled_congruences(Congruence_System& cgs) {
-  add_congruences(cgs);
+Interval_Info_Null_Open<Policy>::ascii_dump(std::ostream& s) const {
+  s << (open ? "open" : "closed");
 }
 
+template <typename Policy>
 inline bool
-Polyhedron::add_recycled_congruences_and_minimize(Congruence_System& cgs) {
-  return add_congruences_and_minimize(cgs);
+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 Polyhedron */
-inline bool
-operator!=(const Polyhedron& x, const Polyhedron& y) {
-  return !(x == y);
+template <typename T, typename Policy>
+inline void
+Interval_Info_Bitset<T, Policy>::swap(Interval_Info_Bitset<T, Policy>& y) {
+  std::swap(bitset, y.bitset);
 }
 
-inline bool
-Polyhedron::strictly_contains(const Polyhedron& y) const {
-  const Polyhedron& x = *this;
-  return x.contains(y) && !y.contains(x);
+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);
 }
 
-namespace Interfaces {
-
+template <typename T, typename Policy>
 inline bool
-is_necessarily_closed_for_interfaces(const Polyhedron& ph) {
-  return ph.is_necessarily_closed();
+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;
 }
 
-} // namespace Interfaces
-
 } // namespace Parma_Polyhedra_Library
 
 namespace std {
 
-/*! \relates Parma_Polyhedra_Library::Polyhedron */
+#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::Polyhedron& x,
-     Parma_Polyhedra_Library::Polyhedron& y) {
+swap(Parma_Polyhedra_Library::Interval_Info_Null<Policy>& x,
+     Parma_Polyhedra_Library::Interval_Info_Null<Policy>& y) {
   x.swap(y);
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 1. */
-/* Polyhedron class implementation: non-inline template functions.
-*/
-
+#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);
+}
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 1. */
-/* MIP_Problem class declaration.
-*/
+} // namespace std
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval_Info.defs.hh line 299. */
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 35. */
-#include <vector>
-#include <deque>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval.defs.hh line 31. */
 #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>).
+// Temporary!
+#include <iostream>
 
-    \exception std::length_error
-    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+namespace Parma_Polyhedra_Library {
 
-    \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.
+enum I_Result {
+  I_EMPTY = 0,
+  /*
+  I_L_EQ = V_EQ,
+  I_L_GT = V_GT,
+  I_L_GE = V_GE,
+  I_U_EQ = V_EQ << 6,
+  I_U_LT = V_LT << 6,
+  I_U_LE = V_LE << 6,
   */
-  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.
+  I_MAYBE_EMPTY = 1 << 12,
+  I_SINGULARITIES = 1 << 13
+};
 
-    \param dim
-    The dimension of the vector space enclosing \p *this.
+enum Ternary { T_YES, T_NO, T_MAYBE };
 
-    \param cs
-    The constraint system defining the feasible region.
+inline I_Result
+combine(Result l, Result u) {
+  return static_cast<I_Result>(l | (u << 6));
+}
 
-    \param obj
-    The objective function (optional argument with default value \f$0\f$).
+inline Result
+lower(I_Result r) {
+  return static_cast<Result>(r & 63);
+}
 
-    \param mode
-    The optimization mode (optional argument with default value
-    <CODE>MAXIMIZATION</CODE>).
+inline Result
+upper(I_Result r) {
+  return static_cast<Result>((r >> 6) & 63);
+}
 
-    \exception std::length_error
-    Thrown if \p dim exceeds <CODE>max_space_dimension()</CODE>.
+template <typename Info>
+inline bool
+unrepresentability_error(I_Result r, const Info&) {
+  return !Info::store_special
+    && (is_special(lower(r)) || is_special(upper(r)));
+}
 
-    \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);
+using namespace Boundary_NS;
+using namespace Interval_NS;
 
-  //! Ordinary copy-constructor.
-  MIP_Problem(const MIP_Problem& y);
+struct Interval_Base {};
 
-  //! Destructor.
-  ~MIP_Problem();
+template <typename T, typename Enable = void>
+struct Is_Singleton : public Is_Native_Or_Checked<T> {};
 
-  //! Assignment operator.
-  MIP_Problem& operator=(const MIP_Problem& y);
+template <typename T>
+struct Is_Interval : public Is_Same_Or_Derived<Interval_Base, T> {};
 
-  //! Returns the maximum space dimension an MIP_Problem can handle.
-  static dimension_type max_space_dimension();
+//! 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:
 
-  //! Returns the space dimension of the MIP problem.
-  dimension_type space_dimension() const;
+  - 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>).
 
-  /*! \brief
-    Returns a set containing all the variables' indexes constrained
-    to be integral.
-  */
-  const Variables_Set& integer_space_dimensions() const;
+  The class template type parameter \p Info allows to control a number
+  of features of the class, among which:
 
+  - 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:
-  //! A type alias for a sequence of constraints.
-  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;
-
-  /*! \brief
-    Returns a read-only iterator to the first constraint defining
-    the feasible region.
-  */
-  const_iterator constraints_begin() const;
-
-  /*! \brief
-    Returns a past-the-end read-only iterator to the sequence of
-    constraints defining the feasible region.
-  */
-  const_iterator constraints_end() const;
-
-  //! Returns the objective function.
-  const Linear_Expression& objective_function() const;
+  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);
+  }
+  bool is_empty_nocache() const {
+    return lt(UPPER, upper(), info(), LOWER, lower(), info());
+  }
+  bool is_singleton_nocache() const {
+    return eq(LOWER, lower(), info(), UPPER, upper(), info());
+  }
+  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;
+  }
 
-  //! 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();
+public:
+  typedef Boundary boundary_type;
+  typedef Info info_type;
 
-  /*! \brief
-    Adds \p m new space dimensions and embeds the old MIP problem
-    in the new vector space.
+  typedef Interval_NS::Property Property;
 
-    \param m
-    The number of dimensions to add.
+  void lower_load() {
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+    lower_loaded = 1;
+#endif
+  }
 
-    \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 upper_load() {
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+    upper_loaded = 1;
+#endif
+  }
 
-    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);
+  void complete_init() {
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+    assert(lower_loaded);
+    assert(upper_loaded);
+    completed = 1;
+#endif
+  }
 
-  /*! \brief
-    Sets the variables whose indexes are in set \p i_vars to be
-    integer space dimensions.
+  void complete_init_internal() {
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+    lower_loaded = 1;
+    upper_loaded = 1;
+    completed = 1;
+#endif
+  }
 
-    \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);
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Interval&>::type
+  operator=(const T& x) {
+    assign(x);
+    return *this;
+  }
 
-  /*! \brief
-    Adds a copy of constraint \p c to the MIP problem.
+  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;
+  }
 
-    \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 *this with \p y.
+  void swap(Interval& y);
 
-  /*! \brief
-    Adds a copy of the constraints in \p cs to the MIP problem.
+  Info& info() {
+    return *this;
+  }
 
-    \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);
+  const Info& info() const {
+    return *this;
+  }
 
-  //! 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);
+  Boundary& lower() {
+    return lower_;
+  }
 
-  //! Sets the optimization mode to \p mode.
-  void set_optimization_mode(Optimization_Mode mode);
+  const Boundary& lower() const {
+    return lower_;
+  }
 
-  //! Checks satisfiability of \p *this.
-  /*!
-    \return
-    <CODE>true</CODE> if and only if the MIP problem is satisfiable.
-  */
-  bool is_satisfiable() const;
+  Boundary& upper() {
+    return upper_;
+  }
 
-  //! 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;
+  const Boundary& upper() const {
+    return upper_;
+  }
 
-  /*! \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.
+  Ternary is_empty_cached() const {
+    if (info().get_interval_property(CARDINALITY_0))
+      return info().get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
+    else if (info().get_interval_property(CARDINALITY_IS))
+      return T_NO;
+    else
+      return T_MAYBE;
+  }
 
-    \param evaluating_point
-    The point on which the objective function will be evaluated.
+  Ternary is_singleton_cached() const {
+    if (info().get_interval_property(CARDINALITY_1))
+      return info().get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
+    else if (info().get_interval_property(CARDINALITY_IS))
+      return T_NO;
+    else
+      return T_MAYBE;
+  }
 
-    \param num
-    On exit will contain the numerator of the evaluated value.
+  bool is_empty() const {
+    switch (is_empty_cached()) {
+    case T_NO:
+      return false;
+    case T_YES:
+      return true;
+    case T_MAYBE:
+      bool r = is_empty_nocache();
+      if (r) {
+	w_info().set_interval_property(CARDINALITY_IS, r);
+	w_info().set_interval_property(CARDINALITY_1, false);
+      }
+      w_info().set_interval_property(CARDINALITY_0);
+      return r;
+    }
+    assert(false);
+    return false;
+  }
 
-    \param den
-    On exit will contain the denominator of the evaluated value.
+  bool is_singleton() const {
+    switch (is_singleton_cached()) {
+    case T_NO:
+      return false;
+    case T_YES:
+      return true;
+    case T_MAYBE:
+      bool r = is_singleton_nocache();
+      if (r) {
+	w_info().set_interval_property(CARDINALITY_IS, r);
+	w_info().set_interval_property(CARDINALITY_0, false);
+      }
+      w_info().set_interval_property(CARDINALITY_1);
+      return r;
+    }
+    assert(false);
+    return false;
+  }
 
-    \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;
+  bool has_restriction() const {
+    return info().has_restriction();
+  }
 
-  //! 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;
+  I_Result normalize() const {
+    assert(OK());
+    if (has_restriction()) {
+      Result rl = lower_normalize();
+      Result ru = upper_normalize();
+      // FIXME: this invalidation is not needed if interval is unchanged
+      invalidate_cardinality_cache();
+      info().normalize();
+      assert(OK());
+      return combine(rl, ru);
+    }
+    else
+      return combine(V_EQ, V_EQ);
+  }
 
-  //! 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;
+  bool lower_is_open() const {
+    assert(OK());
+    return is_open(LOWER, lower(), info());
+  }
 
-  /*! \brief
-    Sets \p num and \p den so that \f$\frac{num}{den}\f$ is
-    the solution of the optimization problem.
+  bool upper_is_open() const {
+    assert(OK());
+    return is_open(UPPER, upper(), info());
+  }
 
-    \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;
+  Result lower_shrink() {
+    assert(OK());
+    return shrink(LOWER, lower(), info(), false);
+  }
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+  Result upper_shrink() {
+    assert(OK());
+    return shrink(UPPER, upper(), info(), false);
+  }
 
-  PPL_OUTPUT_DECLARATIONS
+  bool lower_is_unbounded() const {
+    assert(OK());
+    return Boundary_NS::is_unbounded(LOWER, lower(), info());
+  }
 
-  /*! \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);
+  bool upper_is_unbounded() const {
+    assert(OK());
+    return Boundary_NS::is_unbounded(UPPER, upper(), info());
+  }
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  bool is_unbounded() const {
+    assert(OK());
+    return lower_is_unbounded() || upper_is_unbounded();
+  }
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  bool is_universe() const {
+    assert(OK());
+    return lower_is_unbounded() && upper_is_unbounded()
+      && !has_restriction();
+  }
 
-  //! Swaps \p *this with \p y.
-  void swap(MIP_Problem& y);
+  void invalidate_cardinality_cache() const {
+    w_info().set_interval_property(CARDINALITY_IS, false);
+    w_info().set_interval_property(CARDINALITY_0, false);
+    w_info().set_interval_property(CARDINALITY_1, false);
+  }
 
-  //! Names of MIP problems' control parameters.
-  enum Control_Parameter_Name {
-    //! The pricing rule.
-    PRICING
-  };
+  template <typename T>
+  Result lower_set_uninit(const T& x, bool open = false) {
+    info().clear_boundary_properties(LOWER);
+    Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, x, f_info(x, open));
+    lower_load();
+    return rl;
+  }
 
-  //! 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
-  };
+  Result lower_set_uninit(const Unbounded&) {
+    info().clear_boundary_properties(LOWER);
+    Result rl = set_unbounded(LOWER, lower(), info());
+    lower_load();
+    return rl;
+  }
 
-  //! Returns the value of the control parameter \p name.
-  Control_Parameter_Value
-  get_control_parameter(Control_Parameter_Name name) const;
+  template <typename T>
+  Result lower_set(const T& x, bool open = false) {
+    assert(OK());
+    info().clear_boundary_properties(LOWER);
+    Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, x, f_info(x, open));
+    invalidate_cardinality_cache();
+    assert(OK());
+    return rl;
+  }
 
-  //! Sets control parameter \p value.
-  void set_control_parameter(Control_Parameter_Value value);
+  Result lower_set(const Unbounded&) {
+    assert(OK());
+    info().clear_boundary_properties(LOWER);
+    Result rl = set_unbounded(LOWER, lower(), info());
+    invalidate_cardinality_cache();
+    assert(OK());
+    return rl;
+  }
 
-private:
-  //! The dimension of the vector space.
-  dimension_type external_space_dim;
+  template <typename T>
+  Result lower_narrow(const T& x, bool open = false) {
+    assert(OK());
+    if (ge(LOWER, lower(), info(), LOWER, x, f_info(x, open)))
+      return V_EQ;
+    return lower_set(x, open);
+  }
 
-  /*! \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;
+  template <typename T>
+  Result lower_widen(const T& x, bool open = false) {
+    assert(OK());
+    if (le(LOWER, lower(), info(), LOWER, x, f_info(x, open)))
+      return V_EQ;
+    return lower_set(x, open);
+  }
 
-  //! The matrix encoding the current feasible region in tableau form.
-  Matrix tableau;
+  Result lower_widen(const Unbounded&) {
+    assert(OK());
+    if (lower_is_unbounded())
+      return V_EQ;
+    info().clear_boundary_properties(LOWER);
+    Result rl = set_unbounded(LOWER, lower(), info());
+    invalidate_cardinality_cache();
+    assert(OK());
+    return V_EQ;
+  }
 
-  //! The working cost function.
-  Row working_cost;
+  template <typename T>
+  Result upper_set_uninit(const T& x, bool open = false) {
+    info().clear_boundary_properties(UPPER);
+    Result rl = Boundary_NS::assign(UPPER, upper(), info(), UPPER, x, f_info(x, open));
+    upper_load();
+    return rl;
+  }
+  Result upper_set_uninit(const Unbounded&) {
+    info().clear_boundary_properties(UPPER);
+    Result rl = set_unbounded(UPPER, upper(), info());
+    upper_load();
+    return rl;
+  }
 
-  //! 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.
-  */
-  std::vector<std::pair<dimension_type, dimension_type> > mapping;
+  template <typename T>
+  Result upper_set(const T& x, bool open = false) {
+    assert(OK());
+    info().clear_boundary_properties(UPPER);
+    Result rl = Boundary_NS::assign(UPPER, upper(), info(), UPPER, x, f_info(x, open));
+    invalidate_cardinality_cache();
+    assert(OK());
+    return rl;
+  }
 
-  //! The current basic solution.
-  std::vector<dimension_type> base;
+  Result upper_set(const Unbounded&) {
+    assert(OK());
+    info().clear_boundary_properties(UPPER);
+    Result rl = set_unbounded(UPPER, upper(), info());
+    invalidate_cardinality_cache();
+    assert(OK());
+    return rl;
+  }
 
-  //! 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
-  };
+  template <typename T>
+  Result upper_narrow(const T& x, bool open = false) {
+    assert(OK());
+    if (le(UPPER, upper(), info(), UPPER, x, f_info(x, open)))
+      return V_EQ;
+    return upper_set(x, open);
+  }
 
-  //! The internal state of the MIP problem.
-  Status status;
+  template <typename T>
+  Result upper_widen(const T& x, bool open = false) {
+    assert(OK());
+    if (ge(UPPER, upper(), info(), UPPER, x, f_info(x, open)))
+      return V_EQ;
+    return upper_set(x, open);
+  }
 
-  // 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.
+  Result upper_widen(const Unbounded&) {
+    assert(OK());
+    if (upper_is_unbounded())
+      return V_EQ;
+    info().clear_boundary_properties(UPPER);
+    Result rl = set_unbounded(UPPER, upper(), info());
+    invalidate_cardinality_cache();
+    assert(OK());
+    return rl;
+  }
 
-  //! The pricing method in use.
-  Control_Parameter_Value pricing;
+  I_Result assign(Degenerate_Element e) {
+    I_Result r;
+    Result rl, ru;
+    info().clear();
+    switch (e) {
+    case EMPTY:
+      info().set_interval_property(CARDINALITY_IS);
+      info().set_interval_property(CARDINALITY_0);
+      lower_set_uninit(1);
+      upper_set_uninit(0);
+      r = I_EMPTY;
+      break;
+    case UNIVERSE:
+      info().set_interval_property(CARDINALITY_0, true);
+      info().set_interval_property(CARDINALITY_1, true);
+      rl = lower_set_uninit(UNBOUNDED);
+      ru = upper_set_uninit(UNBOUNDED);
+      r = combine(rl, ru);
+      break;
+    default:
+      assert(0);
+      r = I_EMPTY;
+      break;
+    }
+    complete_init();
+    assert(OK());
+    return r;
+  }
 
-  /*! \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().
-  */
-  bool initialized;
+  template <typename From>
+  typename Enable_If<Is_Special<From>::value, I_Result>::type
+  assign(const From&) {
+    info().clear();
+    info().set_interval_property(CARDINALITY_0, true);
+    info().set_interval_property(CARDINALITY_1, true);
+    Result rl, ru;
+    switch (From::code) {
+    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:
+      assert(0);
+      rl = VC_NAN;
+      ru = VC_NAN;
+    }
+    complete_init_internal();
+    assert(OK());
+    return combine(rl, ru);
+  }
 
-  //! The sequence of constraints describing the feasible region.
-  Constraint_Sequence input_cs;
+  I_Result set_infinities() {
+    info().clear();
+    info().set_interval_property(CARDINALITY_0, true);
+    info().set_interval_property(CARDINALITY_1, true);
+    // FIXME: what about restrictions?
+    Result rl = Boundary_NS::set_minus_infinity(LOWER, lower(), info());
+    Result ru = Boundary_NS::set_plus_infinity(UPPER, upper(), info());
+    complete_init_internal();
+    assert(OK());
+    return combine(rl, ru);
+  }
 
-  //! The first index of `input_cs' containing a pending constraint.
-  dimension_type first_pending_constraint;
+  bool is_topologically_closed() const {
+    assert(OK());
+    return !Info::store_open
+      || is_empty()
+      || ((lower_is_unbounded() || !lower_is_open())
+          && (upper_is_unbounded() || !upper_is_open()));
+  }
 
-  //! The objective function to be optimized.
-  Linear_Expression input_obj_function;
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign() {
+    if (!Info::store_open || is_empty())
+      return;
 
-  //! The optimization mode requested.
-  Optimization_Mode opt_mode;
+    if (!lower_is_unbounded())
+      info().set_boundary_property(LOWER, OPEN, false);
 
-  //! The last successfully computed feasible or optimizing point.
-  Generator last_generator;
+    if (!upper_is_unbounded())
+      info().set_boundary_property(UPPER, OPEN, false);
+  }
 
-  /*! \brief
-    A set containing all the indexes of variables that are constrained
-    to have an integer value.
-  */
-  Variables_Set i_variables;
+  bool is_infinity() const {
+    assert(OK());
+    if (is_reverse_infinity(LOWER, lower(), info()))
+      return 1;
+    else if (is_reverse_infinity(UPPER, upper(), info()))
+      return -1;
+    else
+      return 0;
+  }
 
-  //! 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();
+  bool contains_integer_point() const {
+    assert(OK());
+    if (is_empty())
+      return false;
+    if (is_unbounded())
+      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;
+  }
 
-  /*! \brief
-    Optimizes the MIP problem using the second phase of the
-    primal simplex algorithm.
-  */
-  void second_phase();
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  /*! \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.
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() const;
 
-    \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).
-  */
-  MIP_Problem_Status
-  compute_tableau(std::vector<dimension_type>& worked_out_row);
+  void ascii_dump(std::ostream& s) const;
+  bool ascii_load(std::istream& s);
 
-  /*! \brief
-    Parses the pending constraints to gather information on
-    how to resize the tableau.
+  bool OK() const {
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+    if (!completed) {
+	std::cerr << "The interval initialization has not been completed."
+                  << std::endl;
+	return false;
+    }
+#endif
+#if 0
+    if (!Info::may_be_empty && is_empty()) {
+#ifndef NDEBUG
+	std::cerr << "The interval is unexpectedly empty.\n";
+#endif
+	return false;
+    }
+#endif
 
-    \return
-    <CODE>UNSATISFIABLE</CODE> if is detected a trivially false constraint,
-    <CODE>SATISFIABLE</CODE> otherwise.
+    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
+    }
 
-    \param new_num_rows
-    This will store the number of rows that has to be added to the original
-    tableau.
+    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 num_slack_variables
-    This will store the number of slack variables that has to be added to
-    the original tableau.
+    Ternary t;
 
-    \param is_tableau_constraint
-    Every element of this vector will be set to <CODE>true</CODE> if the
-    associated pending constraint has to be inserted in the tableau,
-    <CODE>false</CODE> otherwise.
+    t = is_empty_cached();
+    if (t == T_YES) {
+      if (!is_empty_nocache()) {
+#ifndef NDEBUG
+	std::cerr << "The interval is marked to be empty, "
+                  << "but actually it is not empty.\n";
+#endif
+	return false;
+      }
+    }
+    else if (t == T_NO) {
+      if (is_empty_nocache()) {
+#ifndef NDEBUG
+	std::cerr << "The interval is marked to be not empty, "
+                  << "but actually it is empty.\n";
+#endif
+	return false;
+      }
+    }
 
-    \param nonnegative_variable
-    This will encode for each variable if this one was split or not.
-    Every element of this vector will be set to <CODE>true</CODE> if the
-    associated variable is split, <CODE>false</CODE> otherwise.
+    t = is_singleton_cached();
+    if (t == T_YES) {
+      if (!is_singleton_nocache()) {
+#ifndef NDEBUG
+	std::cerr << "The interval is marked to be singleton, "
+                  << "but actually it is not singleton.\n";
+#endif
+	return false;
+      }
+    }
+    else if (t == T_NO) {
+      if (is_singleton_nocache()) {
+#ifndef NDEBUG
+	std::cerr << "The interval is marked to be not singleton, "
+                  << "but actually it is singleton.\n";
+#endif
+	return false;
+      }
+    }
 
-    \param unfeasible_tableau_rows
-    This will contain all the row indexes of the tableau that are no more
-    satisfied after adding more constraints to \p *this.
+    if (info().get_interval_property(CARDINALITY_IS) &&
+	info().get_interval_property(CARDINALITY_0)
+        == info().get_interval_property(CARDINALITY_1)) {
+#ifndef NDEBUG
+      std::cerr << "The interval is marked to know its cardinality, "
+                << "but this is unspecified or ambiguous.\n";
+#endif
+      return false;
+    }
 
-    \param satisfied_ineqs
-    This will contain all the row indexes of the tableau that are already
-    satisfied by `last_generator' and do not require artificial variables to
-    have a starting feasible base.
+    // Everything OK.
+    return true;
+  }
 
-  */
-  bool parse_constraints(dimension_type& new_num_rows,
-			 dimension_type& num_slack_variables,
-			 std::deque<bool>& is_tableau_constraint,
-			 std::deque<bool>& nonnegative_variable,
-			 std::vector<dimension_type>& unfeasible_tableau_rows,
-			 std::deque<bool>& satisfied_ineqs);
+  Interval()
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+    : lower_loaded(0), upper_loaded(0), completed(0)
+#endif
+  {
+  }
 
-  /*! \brief
-    Computes the row index of the variable exiting the base
-    of the MIP problem. Implemented with anti-cycling rule.
+  template <typename T>
+  explicit Interval(const T& x)
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+    : lower_loaded(0), upper_loaded(0), completed(0)
+#endif
+  {
+    assign(x);
+  }
 
-    \return
-    The row index of the variable exiting the base.
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  contains(const T& y) const;
 
-    \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;
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  strictly_contains(const T& y) const;
 
-  //! 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.
+  template <typename T>
+  typename Enable_If<Is_Singleton<T>::value
+                     || Is_Interval<T>::value, bool>::type
+  is_disjoint_from(const T& y) const;
 
-    \param y
-    The Row that will be combined with \p x object.
+  template <typename From1, typename From2>
+  I_Result assign(const From1& l, const From2& u);
 
-    \param k
-    The position of \p *this that have to be \f$0\f$.
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  assign(const From& x);
 
-    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.
-  */
-  static void linear_combine(Row& x, const Row& y, const dimension_type k);
+  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;
 
-  /*! \brief
-    Performs the pivoting operation on the tableau.
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  join_assign(const From& x);
 
-    \param entering_var_index
-    The index of the variable entering the base.
+  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);
 
-    \param exiting_base_index
-    The index of the row exiting the base.
-  */
-  void pivot(dimension_type entering_var_index,
-	     dimension_type exiting_base_index);
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  intersect_assign(const From& x);
 
-  /*! \brief
-    Computes the column index of the variable entering the base,
-    using the textbook algorithm with anti-cycling rule.
+  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);
 
-    \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.
+  /*! \brief
+    Assigns to \p *this the smallest interval containing the set-theoretic
+    difference of \p *this and \p x.
   */
-  dimension_type textbook_entering_index() const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  difference_assign(const From& x);
 
   /*! \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.
-
-    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.
+    Assigns to \p *this the smallest interval containing the set-theoretic
+    difference of \p x and \p y.
   */
-  dimension_type steepest_edge_exact_entering_index() const;
+  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);
 
   /*! \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.
+    Assigns to \p *this the largest interval contained in the set-theoretic
+    difference of \p *this and \p x.
   */
-  dimension_type steepest_edge_float_entering_index() const;
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  lower_approximation_difference_assign(const From& x);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and if only the algorithm successfully
-    computed a feasible solution.
+    Assigns to \p *this a \ref Meet_Preserving_Simplification
+    "meet-preserving simplification" of \p *this with respect to \p y.
 
-    \note
-    Uses an exact pricing method (either textbook or exact steepest edge),
-    so that the result is deterministic across different architectures.
+    \return
+    \c false if and only if the meet of \p *this and \p y is empty.
   */
-  bool compute_simplex_using_exact_pricing();
+  template <typename From>
+  typename Enable_If<Is_Interval<From>::value, bool>::type
+  simplify_using_context_assign(const From& y);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and if only the algorithm successfully
-    computed a feasible solution.
+    Assigns to \p *this an interval having empty intersection with \p y.
+    The assigned interval should be as large as possible.
 
     \note
-    Uses a floating point implementation of the steepest edge pricing
-    method, so that the result is correct, but not deterministic across
-    different architectures.
+    Depending on interval restrictions, there could be many
+    maximal intervals all inconsistent with respect to \p y.
   */
-  bool compute_simplex_using_steepest_edge_float();
+  template <typename From>
+  typename Enable_If<Is_Interval<From>::value, void>::type
+  empty_intersection_assign(const From& y);
 
   /*! \brief
-    Drop unnecessary artificial variables from the tableau and get ready
-    for the second phase of the simplex algorithm.
-  */
-  void erase_artificials(dimension_type begin_artificials,
-			 dimension_type end_artificials);
-
-  bool is_in_base(dimension_type var_index,
-		  dimension_type& row_index) const;
+    Refines \p to according to the existential relation \p rel with \p x.
 
-  /*! \brief
-    Computes a valid generator that satisfies all the constraints of the
-    Linear Programming problem associated to \p *this.
+    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
+    ???
   */
-  void compute_generator() 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
-    Merges previously split variables in the tableau if a nonnegativity
-    constraint is detected.
-
-    \param var_index
-    The index of the variable that has to be merged.
+    Refines \p to so that it satisfies the universal relation \p rel with \p x.
 
-    \param nonfeasible_cs
-    This will contain all the row indexes that are no more satisfied by
-    the computed generator after merging a variable.
+    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 merge_split_variables(dimension_type var_index,
-			      std::vector<dimension_type>& nonfeasible_cs);
-
-  //! 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);
+  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);
 
-  //! 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);
+  template <typename From>
+  typename Enable_If<Is_Singleton<From>::value
+                     || Is_Interval<From>::value, I_Result>::type
+  neg_assign(const From& x);
 
-  /*! \brief
-    Returns a status that encodes the solution of the MIP problem.
+  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 have_incumbent_solution
-    It is used to store if the solving process has found a provisional
-    optimum point.
+  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 incumbent_solution_value
-    Encodes the evaluated value of the provisional optimum point found.
+  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);
 
-    \param incumbent_solution_point
-    If the method returns `OPTIMIZED', this will contain the optimality point.
+  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);
 
-    \param mip
-    The problem that has to be solved.
+  template <typename From, typename Iterator>
+  typename Enable_If<Is_Interval<From>::value, void>::type
+  CC76_widening_assign(const From& y, Iterator first, Iterator last);
 
-    \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);
+private:
+  Boundary lower_;
+  Boundary upper_;
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+  unsigned int lower_loaded:1;
+  unsigned int upper_loaded:1;
+  unsigned int completed:1;
+#endif
+};
 
-  bool is_lp_satisfiable() const;
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Used with MIP_Problems with a non empty `i_vars',
-    returns <CODE>true</CODE> if and if only a MIP problem is satisfiable,
-    returns <CODE>false</CODE> otherwise.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval.inlines.hh line 1. */
+/* Inline functions for the Interval class and its constituents.
+*/
 
-    \param mip
-    The problem that has to be solved.
 
-    \param p
-    This will encode the feasible point, only if <CODE>true</CODE> is returned.
+namespace Parma_Polyhedra_Library {
 
-    \param i_vars
-    The variables that are constrained to take an integer value.
-  */
-  static bool is_mip_satisfiable(MIP_Problem& mip, Generator& p,
-				 const Variables_Set& i_vars);
+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());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and if only `last_generator' satisfies all the
-    integrality coditions.
+template <typename Boundary, typename Info>
+inline memory_size_type
+Interval<Boundary, Info>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-    \param mip
-    The MIP problem.
+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());
+}
 
-    \param i_vars
-    The variables that are constrained to take an integer value.
+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 branching_index
-    If <CODE>false</CODE> is returned, this will encode the variable index on
-    which must be applied the `branch and bound' algorithm.
-  */
-  static bool choose_branching_variable(const MIP_Problem& mip,
-					const Variables_Set& i_vars,
-					dimension_type& branching_index);
-};
+namespace Interval_NS {
 
-namespace std {
+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();
+}
 
-//! 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);
+struct Scalar_As_Interval_Policy {
+  const_bool_nodef(may_be_empty, true);
+  const_bool_nodef(may_contain_infinity, true);
+  const_bool_nodef(check_empty_result, false);
+  const_bool_nodef(check_inexact, false);
+};
 
-} // namespace std
+typedef Interval_Restriction_None<Interval_Info_Null<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info;
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.inlines.hh line 1. */
-/* MIP_Problem class implementation: inline functions.
-*/
+const Scalar_As_Interval_Info SCALAR_INFO;
 
+typedef Interval_Restriction_None<Interval_Info_Null_Open<Scalar_As_Interval_Policy> > Scalar_As_Interval_Info_Open;
 
-/* Automatically generated from PPL source file ../src/MIP_Problem.inlines.hh line 27. */
-#include <stdexcept>
+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);
+}
 
-namespace Parma_Polyhedra_Library {
+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 dimension_type
-MIP_Problem::max_space_dimension() {
-  return Constraint::max_space_dimension();
+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 dimension_type
-MIP_Problem::space_dimension() const {
-  return external_space_dim;
+template <typename T>
+inline typename Enable_If<Is_Singleton<T>::value || Is_Interval<T>::value, Ternary>::type
+f_is_empty_lazy(const T& x) {
+  if (f_info(x).get_interval_property(CARDINALITY_0))
+    return f_info(x).get_interval_property(CARDINALITY_IS) ? T_YES : T_NO;
+  else
+    return T_MAYBE;
 }
 
+} // namespace Interval_NS
 
-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) {
-  assert(OK());
+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
-MIP_Problem::~MIP_Problem() {
+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 {
+    assert(!f_is_empty(x));
+    return false;
+  }
 }
 
+template <typename Boundary, typename Info>
+inline I_Result
+check_empty_result(const Interval<Boundary, Info>& x, I_Result r) {
+  if (Info::check_empty_result && f_is_empty(x))
+    return I_EMPTY;
+  else
+    return static_cast<I_Result>(r | I_MAYBE_EMPTY);
+}
 
-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;
-    assert(OK());
-  }
+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) {
+  assert(f_OK(x));
+  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));
 }
 
-inline const Linear_Expression&
-MIP_Problem::objective_function() const {
-  return input_obj_function;
+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 Optimization_Mode
-MIP_Problem::optimization_mode() const {
-  return opt_mode;
+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 {
+  assert(OK());
+  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));
 }
 
-inline void
-MIP_Problem::optimal_value(Coefficient& num, Coefficient& den) const {
-  const Generator& g = optimizing_point();
-  evaluate_objective_function(g, num, den);
+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 {
+  assert(OK());
+  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)));
 }
 
-inline MIP_Problem::const_iterator
-MIP_Problem::constraints_begin() const {
-  return input_cs.begin();
+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 {
+  assert(OK());
+  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 MIP_Problem::const_iterator
-MIP_Problem::constraints_end() const {
-  return input_cs.end();
+template <typename To_Boundary, typename To_Info>
+template <typename From1, typename From2>
+inline I_Result
+Interval<To_Boundary, To_Info>::assign(const From1& l, const From2& u) {
+  info().clear();
+  Result rl = Boundary_NS::assign(LOWER, lower(), info(), LOWER, l, f_info(l));
+  Result ru = Boundary_NS::assign(UPPER, upper(), info(), UPPER, u, f_info(u));
+  complete_init_internal();
+  assert(OK());
+  // The following Parma_Polyhedra_Library:: qualification is to work
+  // around a bug in version 10.0 of the Intel C/C++ compiler.
+  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
 }
 
-inline const Variables_Set&
-MIP_Problem::integer_space_dimensions() const {
-  return i_variables;
+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) {
+  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);
+  complete_init_internal();
+  assert(OK());
+  return combine(rl, ru);
 }
 
-inline MIP_Problem::Control_Parameter_Value
-MIP_Problem::get_control_parameter(Control_Parameter_Name name) const {
-  used(name);
-  assert(name == PRICING);
-  return pricing;
+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) {
+  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);
+  info().set_interval_property(CARDINALITY_IS, false);
+  info().set_interval_property(CARDINALITY_0);
+  info().set_interval_property(CARDINALITY_1, false);
+  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));
+  assert(OK());
+  return combine(rl, ru);
 }
 
-inline void
-MIP_Problem::set_control_parameter(Control_Parameter_Value value) {
-  pricing = value;
+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) {
+  assert(f_OK(x));
+  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);
+  to_info.set_interval_property(CARDINALITY_0);
+  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);
+  complete_init_internal();
+  assert(OK());
+  return combine(rl, ru);
 }
 
-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);
+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 MIP_Problem&
-MIP_Problem::operator=(const MIP_Problem& y) {
-  MIP_Problem tmp(y);
-  swap(tmp);
-  return *this;
+
+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) {
+  assert(f_OK(x));
+  if (!intersect_restriction(info(), *this, x))
+    return assign(EMPTY);
+  // FIXME: more accurate?
+  invalidate_cardinality_cache();
+  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));
+  assert(OK());
+  // The following Parma_Polyhedra_Library:: qualification is to work
+  // around a bug in version 10.0 of the Intel C/C++ compiler.
+  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
 }
 
-inline void
-MIP_Problem::clear() {
-  MIP_Problem tmp;
-  swap(tmp);
+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) {
+  assert(f_OK(x));
+  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);
+  complete_init_internal();
+  assert(OK());
+  // The following Parma_Polyhedra_Library:: qualification is to work
+  // around a bug in version 10.0 of the Intel C/C++ compiler.
+  return Parma_Polyhedra_Library::check_empty_result(*this, combine(rl, ru));
 }
 
-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;
+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) {
+  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 {
+      invalidate_cardinality_cache();
+      info().clear_boundary_properties(LOWER);
+      rl = complement(LOWER, lower(), info(), UPPER, f_upper(x), f_info(x));
+    }
+  }
+  else if (nu) {
+    invalidate_cardinality_cache();
+    info().clear_boundary_properties(UPPER);
+    ru = complement(UPPER, upper(), info(), LOWER, f_lower(x), f_info(x));
+  }
+  assert(OK());
+  return combine(rl, ru);
 }
 
-inline memory_size_type
-MIP_Problem::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+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) {
+  assert(f_OK(x));
+  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);
+  complete_init_internal();
+  assert(OK());
+  return combine(rl, ru);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::MIP_Problem */
-inline void
-swap(Parma_Polyhedra_Library::MIP_Problem& x,
-     Parma_Polyhedra_Library::MIP_Problem& y) {
-  x.swap(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>
+::refine_existential(Relation_Symbol rel, const From& x) {
+  assert(OK());
+  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);
+      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
+				      UPPER, f_upper(x), f_info(x), true);
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(V_EQ, ru));
+    }
+  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);
+      Result ru = Boundary_NS::assign(UPPER, upper(), info(),
+				      UPPER, f_upper(x), f_info(x));
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(V_EQ, ru));
+    }
+  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);
+      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
+				      LOWER, f_lower(x), f_info(x), true);
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(rl, V_EQ));
+    }
+  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);
+      Result rl = Boundary_NS::assign(LOWER, lower(), info(),
+				      LOWER, f_lower(x), f_info(x));
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(rl, V_EQ));
+    }
+  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)))
+	lower_shrink();
+      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	upper_shrink();
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(V_EQ, V_EQ));
+    }
+  default:
+    assert(false);
+    return I_EMPTY;
+  }
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/MIP_Problem.templates.hh line 1. */
-/* MIP_Problem class implementation: non-inline template functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/MIP_Problem.templates.hh line 27. */
-
-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)
-  : 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());
+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) {
+  assert(OK());
+  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)));
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(V_EQ, ru));
+    }
+  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);
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(V_EQ, ru));
+    }
+  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)));
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(rl, V_EQ));
+    }
+  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);
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(rl, V_EQ));
+    }
+  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)))
+	lower_shrink();
+      if (eq(UPPER, upper(), info(), UPPER, f_upper(x), f_info(x)))
+	upper_shrink();
+      invalidate_cardinality_cache();
+      normalize();
+      // The following Parma_Polyhedra_Library:: qualification is to work
+      // around a bug in version 10.0 of the Intel C/C++ compiler.
+      return Parma_Polyhedra_Library::check_empty_result(*this,
+							 combine(V_EQ, V_EQ));
+    }
+  default:
+    assert(false);
+    return I_EMPTY;
   }
+}
 
-   // 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);
-   }
-   assert(OK());
+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) {
+  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);
+  complete_init_internal();
+  assert(OK());
+  return combine(rl, ru);
 }
 
-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);
+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) {
+  assert(f_OK(x));
+  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);
+  complete_init_internal();
   assert(OK());
+  return combine(rl, ru);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/MIP_Problem.defs.hh line 805. */
-
-/* Automatically generated from PPL source file ../src/Polyhedron.templates.hh line 28. */
-#include <algorithm>
-#include <deque>
-
-namespace Parma_Polyhedra_Library {
+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) {
+  assert(f_OK(x));
+  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);
 
-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();
+  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);
+  complete_init_internal();
+  assert(OK());
+  return combine(rl, ru);
+}
 
-  // Check for emptiness.
-  if (box.is_empty()) {
-    set_empty();
-    return;
+/**
++---------+-----------+-----------+-----------------+
+|    *    |  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) {
+  assert(f_OK(x));
+  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;
   }
-
-  // Zero-dim universe polyhedron.
-  if (space_dim == 0) {
-    set_zero_dim_univ();
-    return;
+  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);
+    }
   }
 
-  // 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);
-
-  TEMP_INTEGER(l_n);
-  TEMP_INTEGER(l_d);
-  TEMP_INTEGER(u_n);
-  TEMP_INTEGER(u_d);
-
-  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);
+  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);
 
-      // 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);
-      }
+  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 {
-    // 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);
-
-      // 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);
-        }
-      }
+    // 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;
     }
   }
-
-  // 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();
+  assign_or_swap(lower(), to_lower);
+  assign_or_swap(info(), to_info);
+  complete_init_internal();
   assert(OK());
+  return combine(rl, ru);
 }
 
-template <typename Partial_Function>
-void
-Polyhedron::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.
-    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();
-    }
+/**
++-----------+-----------+-----------+
+|     /     |  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) {
+  assert(f_OK(x));
+  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
-      // Removing all dimensions from a non-empty polyhedron.
-      set_zero_dim_univ();
-
-    assert(OK());
-    return;
+      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));
 
-  const 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
-    // 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.
-
-    // 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);
-
-    // Used to mark elements as soon as they are inserted in a cycle.
-    std::deque<bool> visited(space_dim);
+  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);
+  complete_init_internal();
+  assert(OK());
+  return combine(rl, ru);
+}
 
-    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;
+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;
+}
 
-	  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 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;
+}
 
-    // If `cycles' is empty then `pfunc' is the identity.
-    if (cycles.empty())
-      return;
+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;
+}
 
-    // 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);
+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;
+}
 
-    if (generators_are_up_to_date())
-      gen_sys.permute_columns(cycles);
+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;
+}
 
-    assert(OK());
-    return;
-  }
+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;
+}
 
-  // If control gets here, then `pfunc' is not a permutation and some
-  // dimensions must be projected away.
+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;
+}
 
-  // If there are pending constraints, using `generators()' we process them.
-  const Generator_System& old_gensys = generators();
+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;
+}
 
-  if (old_gensys.has_no_rows()) {
-    // The polyhedron is empty.
-    Polyhedron new_polyhedron(topology(), new_space_dimension, EMPTY);
-    std::swap(*this, new_polyhedron);
-    assert(OK());
-    return;
-  }
+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;
+}
 
-  // 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;
-  }
+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;
+}
 
-  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));
-    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 Generator::LINE:
-      if (!all_zeroes)
-	new_gensys.insert(line(e));
-      break;
-    case Generator::RAY:
-      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()));
-      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()));
-      break;
-    }
+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) {
+  // 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;
   }
-  Polyhedron new_polyhedron(topology(), new_gensys);
-  std::swap(*this, new_polyhedron);
-  assert(OK(true));
+  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;
 }
 
-} // namespace Parma_Polyhedra_Library
+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';
+}
 
-/* Automatically generated from PPL source file ../src/Polyhedron.defs.hh line 2693. */
+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;
+#ifdef PPL_ABI_BREAKING_EXTRA_DEBUG
+  complete_init_internal();
+#endif
+  assert(OK());
+  return true;
+}
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 1. */
-/* Grid class declaration.
+/*! \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;
+};
 
-#define STRONG_REDUCTION 1
+template <>
+struct Select_Temp_Boundary_Type<float> {
+  typedef double type;
+};
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 50. */
-#include <vector>
-#include <iosfwd>
+template <>
+struct Select_Temp_Boundary_Type<signed char> {
+  typedef signed long long type;
+};
 
-namespace Parma_Polyhedra_Library {
+template <>
+struct Select_Temp_Boundary_Type<unsigned char> {
+  typedef signed long long type;
+};
 
-namespace IO_Operators {
+template <>
+struct Select_Temp_Boundary_Type<signed short> {
+  typedef signed long long type;
+};
 
-//! 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);
+template <>
+struct Select_Temp_Boundary_Type<unsigned short> {
+  typedef signed long long type;
+};
 
-} // namespace IO_Operators
+template <>
+struct Select_Temp_Boundary_Type<signed int> {
+  typedef signed long long type;
+};
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are the same
-  grid.
+template <>
+struct Select_Temp_Boundary_Type<unsigned int> {
+  typedef signed long long type;
+};
 
-  \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);
+template <>
+struct Select_Temp_Boundary_Type<signed long> {
+  typedef signed long long type;
+};
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if \p x and \p y are different
-  grids.
+template <>
+struct Select_Temp_Boundary_Type<unsigned long> {
+  typedef signed long long type;
+};
 
-  \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);
+template <>
+struct Select_Temp_Boundary_Type<unsigned long long> {
+  typedef signed long long type;
+};
 
 } // namespace Parma_Polyhedra_Library
 
+namespace std {
 
-//! A grid.
-/*! \ingroup PPL_CXX_interface
-  An object of the class Grid represents a rational grid.
+/*! \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);
+}
 
-  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).
+} // namespace std
 
-  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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval.templates.hh line 1. */
+/* Interval class implementation: non-inline template functions.
+*/
 
-  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):
+#include <algorithm>
 
-  - 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.
+namespace Parma_Polyhedra_Library {
 
-  Note that two different grids can be defined on the zero-dimension
-  space: the empty grid and the universe grid \f$R^0\f$.
+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'.
+  assert(contains(y));
+  Interval<Boundary, Info>& x = *this;
 
-  \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
+  // Upper bound.
+  if (!x.upper_is_unbounded()) {
+    Boundary& x_ub = x.upper();
+    const Boundary& y_ub = y.upper();
+    assert(!y.upper_is_unbounded() && 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_set(UNBOUNDED);
+    }
+  }
 
-  \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
+  // Lower bound.
+  if (!x.lower_is_unbounded()) {
+    Boundary& x_lb = x.lower();
+    const Boundary& y_lb = y.lower();
+    assert(!y.lower_is_unbounded() && 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_set(UNBOUNDED);
+	}
+      }
+      else
+	x_lb = *--k;
+    }
+  }
+}
 
-  \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 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));
 
-  \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
+  // 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;
+  }
 
-  \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).
+  // 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 == VC_NAN) {
+    is.setstate(std::ios_base::failbit);
+    return is;
+  }
 
-  \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]
+  // 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;
+  }
 
-  \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$.
+  // 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 == VC_NAN) {
+    is.setstate(std::ios_base::failbit);
+    return is;
+  }
 
-  \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.
+  // 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;
+  }
 
-  \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.
+  // Buld interval.
+  bool lower_unbounded = false;
+  bool upper_unbounded = false;
+  switch (lower_r) {
+  case V_EQ:
+    break;
+  case V_LE:
+    lower_open = true;
+    break;
+  case VC_MINUS_INFINITY:
+  case V_NEG_OVERFLOW:
+    lower_unbounded = true;
+    break;
+  case VC_PLUS_INFINITY:
+  case V_POS_OVERFLOW:
+    if (upper_r == VC_PLUS_INFINITY || upper_r == V_POS_OVERFLOW)
+      x.assign(UNIVERSE);
+    else
+      x.assign(EMPTY);
+    return is;
+  default:
+    assert(false);
+  }
+  switch (upper_r) {
+  case V_EQ:
+    break;
+  case V_GE:
+    upper_open = true;
+    break;
+  case VC_MINUS_INFINITY:
+  case V_NEG_OVERFLOW:
+    if (lower_r == VC_MINUS_INFINITY || lower_r == V_NEG_OVERFLOW)
+      x.assign(UNIVERSE);
+    else
+      x.assign(EMPTY);
+    return is;
+  case VC_PLUS_INFINITY:
+  case V_POS_OVERFLOW:
+    upper_unbounded = true;
+    break;
+  default:
+    assert(false);
+  }
 
-  \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 to_be_removed;
-  to_be_removed.insert(y);
-  to_be_removed.insert(z);
-  gr.remove_space_dimensions(to_be_removed);
-  \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> to_be_removed1;
-  to_be_removed1.insert(y);
-  gr.remove_space_dimensions(to_be_removed1);
-  set<Variable> to_be_removed2;
-  to_be_removed2.insert(z);
-  gr.remove_space_dimensions(to_be_removed2);
-  \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 to_be_removed2
-  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.
-*/
+  if (!lower_unbounded
+      && !upper_unbounded
+      && (lower_bound > upper_bound
+	  || (lower_open && lower_bound == upper_bound)))
+    x.assign(EMPTY);
+  else {
+    x.assign(UNIVERSE);
+    if (!lower_unbounded)
+      x.refine_existential((lower_open ? GREATER_THAN : GREATER_OR_EQUAL),
+			   lower_bound);
+    if (!upper_unbounded)
+      x.refine_existential((upper_open ? LESS_THAN : LESS_OR_EQUAL),
+			   upper_bound);
+  }
+  return is;
+}
 
-class Parma_Polyhedra_Library::Grid {
-public:
-  //! The numeric type of coefficients.
-  typedef Coefficient coefficient_type;
+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_set(UNBOUNDED);
+    return false;
+  }
+  if (gt(LOWER, lower(), info(), UPPER, f_upper(y), f_info(y))) {
+    upper_set(UNBOUNDED);
+    return false;
+  }
+  // Weakening the upper bound.
+  if (!upper_is_unbounded() && !y.upper_is_unbounded()
+      && y.upper() <= upper())
+    upper_set(UNBOUNDED);
+  // Weakening the lower bound.
+  if (!lower_is_unbounded() && !y.lower_is_unbounded()
+      && y.lower() >= lower())
+    lower_set(UNBOUNDED);
+  return true;
+}
 
-  //! Returns the maximum space dimension all kinds of Grid can handle.
-  static dimension_type max_space_dimension();
+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);
+}
 
-  /*! \brief
-    Returns true indicating that this domain has methods that
-    can recycle congruences
-  */
-  static bool can_recycle_congruence_systems();
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Returns true indicating that this domain has methods that
-    can recycle constraints
-  */
-  static bool can_recycle_constraint_systems();
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Interval.defs.hh line 982. */
 
-  //! Builds a grid having the specified properties.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the grid;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Rational_Interval.hh line 27. */
+#include <gmpxx.h>
 
-    \param kind
-    Specifies whether the universe or the empty grid has to be built.
+namespace Parma_Polyhedra_Library {
 
-    \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);
+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_empty_result, false);
+  const_bool_nodef(check_inexact, false);
+};
 
-  //! Builds a grid, copying a system of congruences.
-  /*!
-    The grid inherits the space dimension of the congruence system.
+typedef
+Interval_Restriction_None<Interval_Info_Bitset<unsigned int,
+                                               Rational_Interval_Info_Policy> >
+Rational_Interval_Info;
 
-    \param cgs
-    The system of congruences defining the grid.
+#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;
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Congruence_System& cgs);
+} // namespace Parma_Polyhedra_Library
 
-  //! Builds a grid, recycling a system of congruences.
-  /*!
-    The grid inherits the space dimension of the congruence system.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box.defs.hh line 1. */
+/* Box class declaration.
+*/
 
-    \param cgs
-    The system of congruences defining the grid.  Its data-structures
-    may be recycled to build the grid.
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Partially_Reduced_Product.types.hh line 1. */
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  Grid(Congruence_System& cgs, Recycle_Input dummy);
 
-  //! Builds a grid, copying a system of constraints.
-  /*!
-    The grid inherits the space dimension of the constraint system.
+namespace Parma_Polyhedra_Library {
 
-    \param cs
-    The system of constraints defining the grid.
+template <typename D1, typename D2>
+class Smash_Reduction;
 
-    \exception std::invalid_argument
-    Thrown if the constraint system \p cs contains inequality constraints.
+template <typename D1, typename D2>
+class Constraints_Reduction;
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Constraint_System& cs);
+template <typename D1, typename D2>
+class No_Reduction;
 
-  //! Builds a grid, recycling a system of constraints.
-  /*!
-    The grid inherits the space dimension of the constraint system.
+template <typename D1, typename D2, typename R>
+class Partially_Reduced_Product;
 
-    \param cs
-    The system of constraints defining the grid.  Its data-structures
-    may be recycled to build the grid.
+} // namespace Parma_Polyhedra_Library
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box.defs.hh line 46. */
+#include <vector>
+#include <iosfwd>
 
-    \exception std::invalid_argument
-    Thrown if the constraint system \p cs contains inequality constraints.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  Grid(Constraint_System& cs, Recycle_Input dummy);
+//! 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);
 
-  //! Builds a grid, copying a system of grid generators.
-  /*!
-    The grid inherits the space dimension of the generator system.
+//! 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);
 
-    \param const_gs
-    The system of generators defining the grid.
+namespace IO_Operators {
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Box */
+template <typename ITV>
+std::ostream& operator<<(std::ostream& s, const Box<ITV>& box);
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Grid(const Grid_Generator_System& const_gs);
+} // namespace IO_Operators
 
-  //! Builds a grid, recycling a system of grid generators.
-  /*!
-    The grid inherits the space dimension of the generator system.
+//! 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 gs
-    The system of generators defining the grid.  Its data-structures
-    may be recycled to build the grid.
+  The direction of the approximation is specified by \p dir.
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
+  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::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
+//! 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.
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
-  */
-  Grid(Grid_Generator_System& gs, Recycle_Input dummy);
+  The direction of the approximation is specified by \p dir.
 
-  //! 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.
+  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 box
-    The box representing the grid to be built.
+//! 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 complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  The direction of the approximation is specified by \p dir.
 
-    \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);
+  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);
 
-  //! 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.
+//! 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.
 
-    \param bd
-    The BDS representing the grid to be built.
+  The direction of the approximation is specified by \p dir.
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+  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);
 
-    \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);
+//! 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 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.
+  The direction of the approximation is specified by \p dir.
 
-    \param os
-    The octagonal shape representing the grid to be built.
+  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);
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial 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.
 
-    \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);
+  The direction of the approximation is specified by \p dir.
 
-  //! Builds a grid out of a generic, interval-based covering box.
-  /*!
-    The covering box is a set of upper and lower values for each
-    dimension.  When a covering box is tiled onto empty space the
-    corners of the tiles form a rectilinear grid.
+  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);
 
-    A box interval with only one bound fixes the values of all grid
-    points in the dimension associated with the box to the value of
-    the bound.  A box interval which has upper and lower bounds of
-    equal value allows all grid points with any value in the dimension
-    associated with the interval.  The presence of a universe interval
-    results in the empty grid.  The empty box produces the empty grid
-    of the same dimension as the box.
+//! 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.
 
-    \param box
-    The covering box representing the grid to be built;
+  The direction of the approximation is specified by \p dir.
 
-    \param dummy
-    A dummy tag to make this constructor syntactically unique.
+  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);
 
-    \exception std::length_error
-    Thrown if the space dimension of \p box 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.
 
-    \exception std::invalid_argument
-    Thrown if \p box contains any topologically open bounds.
+  The direction of the approximation is specified by \p dir.
 
-    The template class Box must provide the following methods.
-    \code
-      dimension_type space_dimension() const
-    \endcode
-    returns the dimension of the vector space enclosing the grid
-    represented by the covering box.
-    \code
-      bool is_empty() const
-    \endcode
-    returns <CODE>true</CODE> if and only if the covering box
-    describes the empty set.
-    \code
-      bool get_lower_bound(dimension_type k, bool& closed,
-                           Coefficient& n, Coefficient& d) const
-    \endcode
-    Let \f$I\f$ be 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 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.
-    \code
-      bool get_upper_bound(dimension_type k, bool& closed,
-                           Coefficient& n, Coefficient& d) const
-    \endcode
-    Let \f$I\f$ be 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 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$.
-  */
-  template <typename Box>
-  Grid(const Box& box, From_Covering_Box dummy);
+  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);
 
-  /*! \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.
+//! 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 grid inherits the space dimension of polyhedron.
+  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);
 
-    \param ph
-    The polyhedron.
+#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);
 
-    \param complexity
-    The complexity class.
+} // namespace Parma_Polyhedra_Library
 
-    \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);
+//! 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.
 
-  //! Ordinary copy-constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  Grid(const Grid& y,
-       Complexity_Class complexity = ANY_COMPLEXITY);
+  An <EM>interval constraint</EM> (resp., <EM>interval congruence</EM>)
+  is a syntactic constraint (resp., congruence) that only mentions
+  a single space dimension.
 
-  /*! \brief
-    The assignment operator.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  Grid& operator=(const Grid& y);
+  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.
 
-  //! \name Member Functions that Do Not Modify the Grid
-  //@{
+  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.
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
+  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;
 
-  /*! \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;
+  //! Returns the maximum space dimension that a Box can handle.
+  static dimension_type max_space_dimension();
 
   /*! \brief
-    Returns a system of equality constraints satisfied by \p *this
-    with the same affine dimension as \p *this.
+    Returns false indicating that this domain does not recycle constraints
   */
-  Constraint_System constraints() const;
+  static bool can_recycle_constraint_systems();
 
   /*! \brief
-    Returns a minimal system of equality constraints satisfied by
-    \p *this with the same affine dimension as \p *this.
+    Returns false indicating that this domain does not recycle congruences
   */
-  Constraint_System minimized_constraints() const;
-
-  //! Returns the system of congruences.
-  const Congruence_System& congruences() const;
-
-  //! Returns the system of congruences in minimal form.
-  const Congruence_System& minimized_congruences() const;
+  static bool can_recycle_congruence_systems();
 
-  //! Returns the system of generators.
-  const Grid_Generator_System& grid_generators() const;
+  //! \name Constructors, Assignment, Swap and Destructor
+  //@{
 
-  //! Returns the minimized system of generators.
-  const Grid_Generator_System& minimized_grid_generators() const;
+  //! 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;
 
-  //! 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.
+    \param kind
+    Specifies whether the universe or the empty box has to be built.
   */
-  // 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;
+  explicit Box(dimension_type num_dimensions = 0,
+	       Degenerate_Element kind = UNIVERSE);
 
-  //! 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.
+  //! Ordinary copy-constructor.
+  /*!
+    The complexity argument is ignored.
   */
-  // FIXME: see the comment for Poly_Con_Relation above.
-  Poly_Gen_Relation
-  relation_with(const Grid_Generator& g) const;
+  Box(const Box& y,
+      Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! 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.
+  //! Builds a conservative, upward approximation of \p y.
+  /*!
+    The complexity argument is ignored.
   */
-  // FIXME: see the comment for Poly_Con_Relation above.
-  Poly_Gen_Relation
-  relation_with(const Generator& g) const;
+  template <typename Other_ITV>
+  explicit Box(const Box<Other_ITV>& y,
+               Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! 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;
+  //! Builds a box from the system of constraints \p cs.
+  /*!
+    The box inherits the space dimension of \p cs.
 
-  //! Returns \c true if and only if \p *this is an empty grid.
-  bool is_empty() const;
+    \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);
 
-  //! Returns \c true if and only if \p *this is a universe grid.
-  bool is_universe() const;
+  //! Builds a box recycling a system of constraints \p cs.
+  /*!
+    The box inherits the space dimension of \p cs.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is a
-    topologically closed subset of the vector space.
+    \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).
 
-    A grid is always topologically closed.
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
   */
-  bool is_topologically_closed() const;
+  Box(const Constraint_System& cs, Recycle_Input dummy);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are
-    disjoint.
+  //! 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 \p x and \p y are dimension-incompatible.
+    Thrown if the system of generators is not empty but has no points.
   */
-  bool is_disjoint_from(const Grid& y) const;
+  explicit Box(const Generator_System& gs);
 
-  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
+  //! Builds a box recycling the system of generators \p gs.
   /*!
-    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;
-
-  //! Returns <CODE>true</CODE> if and only if \p *this is bounded.
-  bool is_bounded() const;
+    Builds the smallest box containing the polyhedron defined by \p gs.
+    The box inherits the space dimension of \p gs.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this
-    contains at least one integer point.
-  */
-  bool contains_integer_point() const;
+    \param gs
+    The generator system describing the polyhedron to be approximated.
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
 
     \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
+    Thrown if the system of generators is not empty but has no points.
   */
-  bool constrains(Variable var) const;
+  Box(const Generator_System& gs, Recycle_Input dummy);
 
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
   /*!
-    This method is the same as bounds_from_below.
+    Builds the smallest box containing the grid defined by a
+    system of congruences \p cgs.
+    The box inherits the space dimension of \p cgs.
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    \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).
   */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+  explicit Box(const Congruence_System& cgs);
 
-  //! 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;
+    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.
 
-  /*! \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 cgs
+    A system of congruences: congruences that are not
+    non-relational equality constraints are ignored
+    (though they will contribute to the space dimension).
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+    \param dummy
+    A dummy tag to syntactically differentiate this one
+    from the other constructors.
+  */
+  Box(const Congruence_System& cgs, Recycle_Input dummy);
 
-    \param sup_n
-    The numerator of the supremum value;
+  //! 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);
 
-    \param sup_d
-    The denominator of the supremum value;
+  //! 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);
 
-    \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.
+  //! 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);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! 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);
 
-    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.
+  //! 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.
   */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+  template <typename D1, typename D2, typename R>
+  explicit Box(const Partially_Reduced_Product<D1, D2, R>& dp,
+	       Complexity_Class complexity = ANY_COMPLEXITY);
 
   /*! \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 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;
-
-    \param point
-    When maximization succeeds, will be assigned a 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.
+    The assignment operator
+    (\p *this and \p y can be dimension-incompatible).
   */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
-		Generator& point) const;
+  Box& operator=(const Box& 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.
-
-    \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;
+    Swaps \p *this with \p y
+    (\p *this and \p y can be dimension-incompatible).
+  */
+  void swap(Box& y);
 
-    \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.
+  //@} Constructors, Assignment, Swap and Destructor
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+  //! \name Member Functions that Do Not Modify the Box
+  //@{
 
-    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;
+  //! 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 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;
+    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 inf_d
-    The denominator of the infimum value;
+  //! Returns <CODE>true</CODE> if and only if \p *this is an empty box.
+  bool is_empty() const;
 
-    \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;
+  //! Returns <CODE>true</CODE> if and only if \p *this is a universe box.
+  bool is_universe() const;
 
-    \param point
-    When minimization succeeds, will be assigned a point where \p expr
-    reaches its infimum value.
+  /*! \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 expr and \p *this are dimension-incompatible.
+  //! Returns <CODE>true</CODE> if and only if \p *this is discrete.
+  bool is_discrete() 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 point are left untouched.
-  */
-  bool minimize(const Linear_Expression& expr,
-		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
-		Generator& point) const;
+  //! Returns <CODE>true</CODE> if and only if \p *this is a bounded box.
+  bool is_bounded() 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.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this
+    contains at least one integer point.
   */
-  bool contains(const Grid& y) const;
+  bool contains_integer_point() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this strictly
-    contains \p y.
+    Returns <CODE>true</CODE> if and only if \p var is constrained in
+    \p *this.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    Thrown if \p var is not a space dimension of \p *this.
   */
-  bool strictly_contains(const Grid& y) const;
+  bool constrains(Variable var) const;
 
-  //! Writes the covering box for \p *this into \p box.
+  //! Returns the relations holding between \p *this and the constraint \p c.
   /*!
-    The covering box is a set of upper and lower values for each
-    dimension.  When the covering box written into \p box is tiled
-    onto empty space the corners of the tiles form the sparsest
-    rectilinear grid that includes \p *this.
-
-    The value of the lower bound of each interval of the resulting \p
-    box are as close as possible to the origin, with positive values
-    taking preference when the lowest positive value equals the lowest
-    negative value.
-
-    If all the points have a single value in a particular dimension of
-    the grid then there is only a lower bound on the interval produced
-    in \p box, and the lower bound denotes the single value for the
-    dimension.  If the coordinates of the points in a particular
-    dimension include every value then the upper and lower bounds of
-    the associated interval in \p box are set equal.  The empty grid
-    produces the empty \p box.  The zero dimension universe grid
-    produces the zero dimension universe box.
-
-    \param box
-    The Box into which the covering box is written.
-
     \exception std::invalid_argument
-    Thrown if \p *this and \p box are dimension-incompatible.
+    Thrown if \p *this and constraint \p c are dimension-incompatible.
   */
-  template <typename Interval>
-  void get_covering_box(Box<Interval>& box) const;
+  Poly_Con_Relation relation_with(const Constraint& c) const;
 
-  //! Checks if all the invariants are satisfied.
+  //! Returns the relations holding between \p *this and the congruence \p cg.
   /*!
-    \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.
-
-    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.
+    \exception std::invalid_argument
+    Thrown if \p *this and constraint \p cg are dimension-incompatible.
   */
-  bool OK(bool check_not_empty = false) const;
-
-  //@} // Member Functions that Do Not Modify the Grid
-
-  //! \name Space Dimension Preserving Member Functions that May Modify the Grid
-  //@{
+  Poly_Con_Relation relation_with(const Congruence& cg) const;
 
-  //! Adds a copy of congruence \p cg to \p *this.
+  //! Returns the relations holding between \p *this and the generator \p g.
   /*!
     \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
-    Adds a copy of congruence \p cg to the system of congruences of \p
-    *this, reducing the result
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from above in \p *this.
 
     \exception std::invalid_argument
-    Thrown if \p *this and congruence \p cg are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    Thrown if \p expr and \p *this are dimension-incompatible.
   */
-  bool add_congruence_and_minimize(const Congruence& c);
+  bool bounds_from_above(const Linear_Expression& expr) const;
 
   /*! \brief
-    Adds a copy of grid generator \p g to the system of generators of
-    \p *this.
+    Returns <CODE>true</CODE> if and only if \p expr is
+    bounded from below in \p *this.
 
     \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.
+    Thrown if \p expr and \p *this are dimension-incompatible.
   */
-  void add_grid_generator(const Grid_Generator& g);
+  bool bounds_from_below(const Linear_Expression& expr) const;
 
   /*! \brief
-    Adds a copy of grid generator \p g to the system of generators of
-    \p *this, reducing the result.
+    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.
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-    \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.
+    \param sup_n
+    The numerator of the supremum value;
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool add_grid_generator_and_minimize(const Grid_Generator& g);
+    \param sup_d
+    The denominator of the supremum value;
 
-  //! 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.
+    \param maximum
+    <CODE>true</CODE> if and only if the supremum is also the maximum value.
 
     \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+    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 add_congruences(const Congruence_System& cgs);
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
 
-  //! 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.
+  /*! \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 *this and \p cs are dimension-incompatible.
+    Thrown if \p expr and \p *this 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.
+    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 add_recycled_congruences(Congruence_System& cgs);
+  bool maximize(const Linear_Expression& expr,
+		Coefficient& sup_n, Coefficient& sup_d, bool& maximum,
+		Generator& g) const;
 
   /*! \brief
-    Adds a copy of the congruences in \p cgs to the system of
-    congruences of \p *this, reducing the result.
+    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.
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-    \param cgs
-    Contains the congruences that will be added to the system of
-    congruences of \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 *this and \p cgs are dimension-incompatible.
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    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 add_congruences_and_minimize(const Congruence_System& cgs);
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum) const;
 
   /*! \brief
-    Adds the congruences in \p cgs to the system of congruences of \p
-    *this, reducing the result.
+    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.
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-    \param cgs
-    The congruence system to be added to \p *this.  The congruences in
-    \p cgs may be recycled.
+    \param inf_n
+    The numerator of the infimum value;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
+    \param inf_d
+    The denominator of the infimum value;
 
-    \warning
-    The only assumption that can be made about \p cgs upon successful
-    or exceptional return is that it can be safely destroyed.
+    \param minimum
+    <CODE>true</CODE> if and only if the infimum is also the minimum value;
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    \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 add_recycled_congruences_and_minimize(Congruence_System& cgs);
+  bool minimize(const Linear_Expression& expr,
+		Coefficient& inf_n, Coefficient& inf_d, bool& minimum,
+		Generator& g) const;
 
   /*! \brief
-    Adds to \p *this a congruence equivalent to constraint \p c.
-
-    \param c
-    The constraint to be added.
+    Returns <CODE>true</CODE> if and only if \p *this contains \p y.
 
     \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.
+    Thrown if \p x and \p y are dimension-incompatible.
   */
-  void add_constraint(const Constraint& c);
+  bool contains(const Box&) const;
 
   /*! \brief
-    Adds to \p *this a congruence equivalent to constraint \p c,
-    also minimizing the result.
+    Returns <CODE>true</CODE> if and only if \p *this strictly contains \p y.
 
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool strictly_contains(const Box&) const;
 
-    \param c
-    The constraint to be added.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are disjoint.
 
     \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.
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool is_disjoint_from(const Box& y) const;
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this satisfies
+    all its invariants.
   */
-  bool add_constraint_and_minimize(const Constraint& c);
+  bool OK() const;
+
+  //@} Member Functions that Do Not Modify the Box
+
+  //! \name Space-Dimension Preserving Member Functions that May Modify the Box
+  //@{
 
   /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs.
+    Adds a copy of constraint \p c to the system of constraints
+    defining \p *this.
 
-    \param cs
-    The constraints to be added.
+    \param c
+    The constraint to be added.
 
     \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.
+    Thrown if \p *this and constraint \p c are dimension-incompatible,
+    or \p c is not optimally supported by the Box domain.
   */
-  void add_constraints(const Constraint_System& cs);
+  void add_constraint(const Constraint& c);
 
   /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    Adds the constraints in \p cs to the system of constraints
+    defining \p *this.
 
-    \param cs
+    \param  cs
     The constraints to be added.
 
     \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.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    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.
   */
-  bool add_constraints_and_minimize(const Constraint_System& cs);
+  void add_constraints(const Constraint_System& cs);
 
   /*! \brief
-    Adds to \p *this congruences equivalent to the constraints in \p cs.
+    Adds the constraints in \p cs to the system of constraints
+    defining \p *this.
 
-    \param 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.
+    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 about \p cs upon successful
-    or exceptional return is that it can be safely destroyed.
+    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 congruences equivalent to the constraints in \p cs,
-    minimizing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    Adds to \p *this a constraint equivalent to the congruence \p cg.
 
-    \param cs
-    The constraints to be added. They may be recycled.
+    \param cg
+    The congruence to be added.
 
     \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.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    Thrown if \p *this and congruence \p cg are dimension-incompatible,
+    or \p cg is not optimally supported by the box domain.
   */
-  bool add_recycled_constraints_and_minimize(Constraint_System& cs);
+  void add_congruence(const Congruence& cg);
 
-  //! Uses a copy of the congruence \p cg to refine \p *this.
-  /*!
-    \param cg
-    The congruence used.
+  /*! \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 congruence \p cg 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 box domain.
   */
-  void refine_with_congruence(const Congruence& cg);
+  void add_congruences(const Congruence_System& cgs);
+
+  /*! \brief
+    Adds to \p *this constraints equivalent to the congruences in \p cgs.
 
- //! Uses a copy of the congruences in \p cgs to refine \p *this.
-  /*!
     \param cgs
-    The congruences used.
+    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.
+    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 refine_with_congruences(const Congruence_System& cgs);
+  void add_recycled_congruences(Congruence_System& cgs);
 
-  //! Uses a copy of the constraint \p c to refine \p *this.
-  /*!
+  /*! \brief
+    Use the constraint \p c to refine \p *this.
 
     \param c
-    The constraint used. If it is not an equality, it will be ignored
+    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);
 
-  //! 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.
+  /*! \brief
+    Use the constraints in \p cs to refine \p *this.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+    \param  cs
+     The constraints to be used for refinement.
+
+     \exception std::invalid_argument
+     Thrown if \p *this and \p cs are dimension-incompatible.
   */
   void refine_with_constraints(const Constraint_System& cs);
 
   /*! \brief
-    Adds a copy of the generators in \p gs to the system of generators
-    of \p *this.
+    Use the congruence \p cg to refine \p *this.
 
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
+    \param cg
+    The congruence to be used for refinement.
 
     \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 *this and \p cg are dimension-incompatible.
   */
-  void add_grid_generators(const Grid_Generator_System& gs);
+  void refine_with_congruence(const Congruence& cg);
 
   /*! \brief
-    Adds the generators in \p gs to the system of generators of \p
-    *this.
+    Use the congruences in \p cgs to refine \p *this.
 
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
+    \param  cgs
+    The congruences to be used for refinement.
 
     \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 \p *this and \p cgs are dimension-incompatible.
   */
-  void add_recycled_grid_generators(Grid_Generator_System& gs);
+  void refine_with_congruences(const Congruence_System& cgs);
 
   /*! \brief
-    Adds a copy of the generators in \p gs to the system of generators
-    of \p *this, reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    Use the constraint \p c for constraint propagation on \p *this.
 
-    \param gs
-    Contains the generators that will be added to the system of
-    generators of \p *this.
+    \param c
+    The constraint to be used for constraint propagation.
 
     \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.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+    Thrown if \p *this and \p c are dimension-incompatible.
   */
-  bool add_grid_generators_and_minimize(const Grid_Generator_System& gs);
+  void propagate_constraint(const Constraint& c);
 
   /*! \brief
-    Adds the generators in \p gs to the system of generators of \p
-    *this, reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \param gs
-    The generator system to be added to \p *this.  The generators in
-    \p gs may be recycled.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p gs are dimension-incompatible.
+    Use the constraints in \p cs for constraint propagagion on \p *this.
 
-    \warning
-    The only assumption that can be made about \p gs upon successful
-    or exceptional return is that it can be safely destroyed.
+    \param  cs
+     The constraints to be used for constraint propagation.
 
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
+     \exception std::invalid_argument
+     Thrown if \p *this and \p cs are dimension-incompatible.
   */
-  bool add_recycled_grid_generators_and_minimize(Grid_Generator_System& gs);
+  void propagate_constraints(const Constraint_System& cs);
 
   /*! \brief
     Computes the \ref Cylindrification "cylindrification" of \p *this with
@@ -37358,73 +39564,39 @@ public:
   */
   void unconstrain(const Variables_Set& to_be_unconstrained);
 
-  /*! \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);
-
-  /*! \brief
-    Assigns to \p *this the intersection of \p *this and \p y,
-    reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
-  */
-  bool intersection_assign_and_minimize(const Grid& y);
-
-  /*! \brief
-    Assigns to \p *this the least upper bound of \p *this and \p y.
-
+  //! 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 upper_bound_assign(const Grid& y);
+  void intersection_assign(const Box& y);
 
   /*! \brief
-    Assigns to \p *this the least upper bound of \p *this and \p y,
-    reducing the result.
-
-    \return
-    <CODE>false</CODE> if and only if the result is empty.
+    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.
-
-    \deprecated
-    See \ref A_Note_on_the_Implementation_of_the_Operators.
   */
-  bool upper_bound_assign_and_minimize(const Grid& y);
+  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.
+    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 Grid& y);
+  bool upper_bound_assign_if_exact(const Box& y);
 
   /*! \brief
-    Assigns to \p *this the \ref Grid_Difference "grid-difference" of
-    \p *this and \p y.
-
-    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.
+    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 Grid& y);
+  void difference_assign(const Box& y);
 
   /*! \brief
     Assigns to \p *this a \ref Meet_Preserving_Simplification
@@ -37432,16 +39604,15 @@ public:
     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.
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  bool simplify_using_context_assign(const Grid& y);
+  bool simplify_using_context_assign(const Box& y);
 
   /*! \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.
+    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;
@@ -37457,57 +39628,17 @@ 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.
-
-    \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
   */
   void affine_image(Variable var,
 		    const Linear_Expression& expr,
 		    Coefficient_traits::const_reference denominator
-		    = Coefficient_one());
-
-  /*! \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.
+		      = 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.
 
     \param var
     The variable to which the affine expression is substituted;
@@ -37522,45 +39653,6 @@ 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.
-
-    \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.
-
-    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].
-
-    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.
-
-    \endif
   */
   void affine_preimage(Variable var,
 		       const Linear_Expression& expr,
@@ -37568,147 +39660,111 @@ public:
 		         = Coefficient_one());
 
   /*! \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$.
+    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 where EQUAL is the symbol for a congruence
-    relation;
+    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 an automatic value of one;
-
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+    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.
+    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());
+  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 Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{var}' = \frac{\mathrm{expr}}{\mathrm{denominator}}
-    \pmod{\mathrm{modulus}}\f$.
+    \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 where EQUAL is the symbol for a congruence
-    relation;
+    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 an automatic value of one;
-
-    \param modulus
-    The modulus of the congruence lhs %= rhs.  A modulus of zero
-    indicates lhs == rhs.  Optional argument with an automatic value
-    of zero.
+    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.
+    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());
+			      = Coefficient_one());
 
   /*! \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$.
+    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.
+    The left hand side affine expression;
 
     \param relsym
-    The relation symbol where EQUAL is the symbol for a congruence
-    relation;
+    The relation symbol;
 
     \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.
-
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p
-    rhs.
+    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());
+  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 Grid_Generalized_Image "generalized affine relation"
-    \f$\mathrm{lhs}' = \mathrm{rhs} \pmod{\mathrm{modulus}}\f$.
+    \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 where EQUAL is the symbol for a congruence
-    relation;
+    The relation symbol;
 
     \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.
+    The right hand side affine expression.
 
     \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with \p lhs or \p
-    rhs.
+    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());
+  void generalized_affine_preimage(const Linear_Expression& lhs,
+				   Relation_Symbol relsym,
+				   const Linear_Expression& rhs);
 
-  /*!
-    \brief
+  /*! \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}}
@@ -37739,8 +39795,7 @@ public:
 			    Coefficient_traits::const_reference denominator
 			    = Coefficient_one());
 
-  /*!
-    \brief
+  /*! \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}}
@@ -37772,249 +39827,202 @@ public:
 			       = Coefficient_one());
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Time_Elapse
-    "time-elapse" between \p *this and \p y.
+    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 Grid& y);
+  void time_elapse_assign(const Box& y);
 
   //! Assigns to \p *this its topological closure.
   void topological_closure_assign();
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Widening
-    "Grid widening" between \p *this and \p y using congruence systems.
+    Assigns to \p *this the result of computing the
+    \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
 
     \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+    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 Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    \ref Widening_with_Tokens "widening with tokens" delay technique).
 
     \exception std::invalid_argument
     Thrown if \p *this and \p y are dimension-incompatible.
   */
-  void congruence_widening_assign(const Grid& y, unsigned* tp = NULL);
+  void CC76_widening_assign(const Box& y, unsigned* tp = 0);
 
   /*! \brief
-    Assigns to \p *this the result of computing the \ref Grid_Widening
-    "Grid widening" between \p *this and \p y using generator systems.
+    Assigns to \p *this the result of computing the
+    \ref CC76_extrapolation "CC76-widening" between \p *this and \p y.
 
     \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).
-
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void generator_widening_assign(const Grid& y, unsigned* tp = NULL);
-
-  /*! \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.
+    A box that <EM>must</EM> be contained in \p *this.
 
-    \param y
-    A grid that <EM>must</EM> be contained in \p *this;
+    \param first
+    An iterator that points to the first stop-point.
 
-    \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 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.
   */
-  void widening_assign(const Grid& y, unsigned* tp = NULL);
-
-  /*! \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.
-
-    \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;
-
-    \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 Iterator>
+  void CC76_widening_assign(const Box& y,
+			    Iterator first, Iterator last);
 
-    \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
-  */
-  void limited_congruence_extrapolation_assign(const Grid& y,
-					       const Congruence_System& cgs,
-					       unsigned* tp = NULL);
+  //! Same as CC76_widening_assign(y, tp).
+  void widening_assign(const Box& y, unsigned* tp = 0);
 
   /*! \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
+    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 grid that <EM>must</EM> be contained in \p *this;
+    A box that <EM>must</EM> be contained in \p *this.
 
-    \param cgs
-    The system of congruences used to improve the widened grid;
+    \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 Grid_Widening_with_Tokens "widening with tokens" delay technique).
+    \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.
+    Thrown if \p *this, \p y and \p cs are dimension-incompatible or
+    if \p cs contains a strict inequality.
   */
-  void limited_generator_extrapolation_assign(const Grid& y,
-					      const Congruence_System& cgs,
-					      unsigned* tp = NULL);
+  void limited_CC76_extrapolation_assign(const Box& y,
+					 const Constraint_System& cs,
+					 unsigned* tp = 0);
 
   /*! \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.
+    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 grid that <EM>must</EM> be contained in \p *this;
-
-    \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).
+    A Box that <EM>must</EM> contain \p *this.
 
     \exception std::invalid_argument
-    Thrown if \p *this, \p y and \p cs are dimension-incompatible.
+    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$.
   */
-  void limited_extrapolation_assign(const Grid& y,
-				    const Congruence_System& cgs,
-				    unsigned* tp = NULL);
+  void CC76_narrowing_assign(const Box& y);
 
-  //@} // Space Dimension Preserving Member Functions that May Modify [...]
+  //@} 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 old grid in the new
-    vector space.
-
+  //! Adds \p m new dimensions and embeds the old box into the new 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>.
-
-    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
+    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 \cL
+        (x, y)^\transpose \in \cB
       \,\bigr\}.
     \f]
   */
   void add_space_dimensions_and_embed(dimension_type m);
 
   /*! \brief
-    Adds \p m new space dimensions to the grid and does not embed it
-    in the new vector space.
+    Adds \p m new dimensions to the box and does not embed it 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>.
+    The number of dimensions to add.
 
-    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
+    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 \cL
+        (x, y)^\transpose \in \cB
       \,\bigr\}.
     \f]
   */
   void add_space_dimensions_and_project(dimension_type m);
 
   /*! \brief
-    Assigns to \p *this the \ref Grid_Concatenate "concatenation" of
-    \p *this and \p y, taken in this order.
+    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.
 
-    \exception std::length_error
-    Thrown if the concatenation would cause the vector space
-    to exceed dimension <CODE>max_space_dimension()</CODE>.
+    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 Grid& y);
+  void concatenate_assign(const Box& y);
 
-  //! Removes all the specified dimensions from the vector space.
+  //! Removes all the specified dimensions.
   /*!
     \param to_be_removed
-    The set of Variable objects corresponding to the space dimensions
-    to be removed.
+    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 to_be_removed.
+    Thrown if \p *this is dimension-incompatible with one of the Variable
+    objects contained in \p to_be_removed.
   */
   void remove_space_dimensions(const Variables_Set& to_be_removed);
 
   /*! \brief
-    Removes the higher dimensions of the vector space so that the
-    resulting space will have dimension \p new_dimension.
+    Removes the higher dimensions 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.
+    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 Grid_Map_Space_Dimensions "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.
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
     \param pfunc
-    The partial function specifying the destiny of each space
-    dimension.
+    The partial function specifying the destiny of each dimension.
 
     The template class Partial_Function must provide the following
     methods.
@@ -38022,7 +40030,7 @@ public:
       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).
+    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
@@ -38030,22 +40038,21 @@ public:
     \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.
+    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 method is called at most \f$n\f$ times, where \f$n\f$ is the
-    dimension of the vector space enclosing the grid.
+    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 Grid_Map_Space_Dimensions "specification of the mapping operator".
+    \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);
@@ -38059,17 +40066,16 @@ public:
     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.
+    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>.
+    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 Grid_Expand_Space_Dimension "expanded" to \p m new space dimensions
+    \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);
@@ -38086,169 +40092,190 @@ public:
 
     \exception std::invalid_argument
     Thrown if \p *this is dimension-incompatible with \p var or with
-    one of the Variable objects contained in \p to_be_folded.  Also
-    thrown if \p var is contained in \p to_be_folded.
+    one of the Variable objects contained in \p to_be_folded.
+    Also thrown if \p var is contained in \p to_be_folded.
 
     If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
     <CODE>var</CODE> has space dimension \f$k \leq n\f$,
     \p to_be_folded is a set of variables whose maximum space dimension
     is also less than or equal to \f$n\f$, and \p var is not a member
     of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded are \ref Grid_Fold_Space_Dimensions "folded"
+    variables in \p to_be_folded are \ref fold_space_dimensions "folded"
     into the \f$k\f$-th space dimension.
   */
   void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
 
   //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-  friend bool operator==(const Grid& x, const Grid& y);
+  /*! \brief
+    Returns a reference the interval that bounds \p var.
 
-  friend class Parma_Polyhedra_Library::Grid_Certificate;
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  const ITV& get_interval(Variable var) const;
 
-  template <typename Interval> friend class Parma_Polyhedra_Library::Box;
+  /*! \brief
+    Sets to \p i the interval that bounds \p var.
 
-  //! \name Miscellaneous Member Functions
-  //@{
+    \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 <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.
+
+    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.
+
+    An undefined behavior is obtained if \p k is greater than
+    or equal to the space dimension of \p *this.
+  */
+  bool get_lower_bound(dimension_type k, bool& closed,
+		       Coefficient& n, Coefficient& d) 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.
+
+    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.
+  */
+  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;
 
-  //! Destructor.
-  ~Grid();
+  //! Returns the total size in bytes of the memory occupied by \p *this.
+  memory_size_type total_memory_in_bytes() const;
 
-  /*! \brief
-    Swaps \p *this with grid \p y.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  void swap(Grid& y);
+  //! Returns the size in bytes of the memory managed by \p *this.
+  memory_size_type external_memory_in_bytes() 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);
 
-  //! 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;
+private:
+  template <typename Other_ITV>
+  friend class Parma_Polyhedra_Library::Box;
 
-  /*! \brief
-    Returns a 32-bit hash code for \p *this.
+  friend bool
+  operator==<ITV>(const Box<ITV>& x, const Box<ITV>& y);
 
-    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;
+  friend std::ostream&
+  Parma_Polyhedra_Library
+  ::IO_Operators::operator<<<>(std::ostream& s, const Box<ITV>& box);
 
-  //@} // Miscellaneous Member Functions
+  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);
 
-private:
+  //! The type of sequence used to implement the box.
+  typedef std::vector<ITV> Sequence;
 
-  //! The system of congruences.
-  Congruence_System con_sys;
+  /*! \brief
+    The type of intervals used by inner computations when trying to limit
+    the cumulative effect of approximation errors.
+  */
+  typedef ITV Tmp_Interval_Type;
 
-  //! The system of generators.
-  Grid_Generator_System gen_sys;
+  //! A sequence of intervals, one for each dimension of the vector space.
+  Sequence seq;
 
-#define PPL_IN_Grid_CLASS
-/* Automatically generated from PPL source file ../src/Grid_Status.idefs.hh line 1. */
-/* Grid::Status class declaration.
+#define PPL_IN_Box_CLASS
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box_Status.idefs.hh line 1. */
+/* Box<ITV>::Status class declaration.
 */
 
 
-#ifndef PPL_IN_Grid_CLASS
-#error "Do not include Grid_Status.idefs.hh directly; use Grid.defs.hh instead."
+#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 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.
-
-  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>.
+//! 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>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>.
+  - <EM>empty up-to-date</EM> and <EM>empty</EM> excludes <EM>universe</EM>.
 */
+class Status;
+
 class Status {
 public:
-  //! By default Status is the <EM>zero-dim universe</EM> assertion.
+  //! By default Status is the empty set of assertion.
   Status();
 
-  //! \name Test, remove or add an individual assertion from the conjunction
+  //! 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_zero_dim_univ() const;
-  void reset_zero_dim_univ();
-  void set_zero_dim_univ();
+  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_c_up_to_date() const;
-  void reset_c_up_to_date();
-  void set_c_up_to_date();
-
-  bool test_g_up_to_date() const;
-  void reset_g_up_to_date();
-  void set_g_up_to_date();
-
-  bool test_c_minimized() const;
-  void reset_c_minimized();
-  void set_c_minimized();
-
-  bool test_g_minimized() const;
-  void reset_g_minimized();
-  void set_g_minimized();
-
-  bool test_sat_c_up_to_date() const;
-  void reset_sat_c_up_to_date();
-  void set_sat_c_up_to_date();
-
-  bool test_sat_g_up_to_date() const;
-  void reset_sat_g_up_to_date();
-  void set_sat_g_up_to_date();
-
-  bool test_c_pending() const;
-  void reset_c_pending();
-  void set_c_pending();
-
-  bool test_g_pending() const;
-  void reset_g_pending();
-  void set_g_pending();
-  //@} // Test, remove or add an individual assertion from the conjunction
+  bool test_universe() const;
+  void reset_universe();
+  void set_universe();
+  //@}
 
   //! Checks if all the invariants are satisfied.
   bool OK() const;
@@ -38266,24 +40293,18 @@ private:
   //! Status is implemented by means of a finite bitset.
   typedef unsigned int flags_t;
 
-  //! \name Bitmasks for the individual assertions
+  //! \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;
-  //@} // Bitmasks 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 bitmask.
+  //! Construct from a bit-mask.
   Status(flags_t mask);
 
   //! Check whether <EM>all</EM> bits in \p mask are set.
@@ -38299,183 +40320,303 @@ private:
   void reset(flags_t mask);
 };
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 2168. */
-#undef PPL_IN_Grid_CLASS
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box.defs.hh line 1559. */
+#undef PPL_IN_Box_CLASS
 
-  //! The status flags to keep track of the grid's internal state.
+  //! The status flags to keep track of the internal state.
   Status status;
 
-  //! The number of dimensions of the enclosing vector space.
-  dimension_type space_dim;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if the box is known to be empty.
 
-  enum Dimension_Kind {
-    PARAMETER,
-    LINE,
-    GEN_VIRTUAL,
-    PROPER_CONGRUENCE = PARAMETER,
-    CON_VIRTUAL = LINE,
-    EQUALITY = GEN_VIRTUAL
-  };
+    The return value <CODE>false</CODE> does not necessarily
+    implies that \p *this is non-empty.
+  */
+  bool marked_empty() const;
 
-  typedef std::vector<Dimension_Kind> Dimension_Kinds;
+public:
+  //! Causes the box to become empty, i.e., to represent the empty set.
+  void set_empty();
 
-  // 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;
+private:
+  //! Marks \p *this as definitely not empty.
+  void set_nonempty();
 
-  //! Builds a grid universe or empty grid.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the grid;
+  //! Asserts the validity of the empty flag of \p *this.
+  void set_empty_up_to_date();
 
-    \param kind
-    specifies whether the universe or the empty grid has to be built.
+  //! 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.
   */
-  void construct(dimension_type num_dimensions, Degenerate_Element kind);
+  bool check_empty() const;
 
-  //! Builds a grid from a system of congruences.
-  /*!
-    The grid inherits the space dimension of the congruence system.
+   /*! \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;
 
-    \param cgs
-    The system of congruences defining the grid. Its data-structures
-    may be recycled to build the grid.
+  /*! \brief
+    WRITE ME.
   */
-  void construct(Congruence_System& cgs);
-
-  //! Builds a grid from a system of grid generators.
-  /*!
-    The grid inherits the space dimension of the generator system.
+  void
+  add_interval_constraint_no_check(dimension_type var_id,
+                                   Constraint::Type type,
+                                   Coefficient_traits::const_reference num,
+                                   Coefficient_traits::const_reference den);
 
-    \param ggs
-    The system of grid generators defining the grid.  Its data-structures
-    may be recycled to build the grid.
+  /*! \brief
+    WRITE ME.
   */
-  void construct(Grid_Generator_System& ggs);
+  void add_constraint_no_check(const Constraint& c);
 
-  //! \name Private Verifiers: Verify if Individual Flags are Set
-  //@{
+  /*! \brief
+    WRITE ME.
+  */
+  void add_constraints_no_check(const Constraint_System& cs);
 
-  //! 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.
+  /*! \brief
+    WRITE ME.
   */
-  bool marked_empty() const;
+  void add_congruence_no_check(const Congruence& cg);
 
-  //! Returns <CODE>true</CODE> if the system of congruences is up-to-date.
-  bool congruences_are_up_to_date() const;
+  /*! \brief
+    WRITE ME.
+  */
+  void add_congruences_no_check(const Congruence_System& cgs);
 
-  //! Returns <CODE>true</CODE> if the system of generators is up-to-date.
-  bool generators_are_up_to_date() const;
+  /*! \brief
+    Uses the constraint \p c to refine \p *this.
 
-  //! Returns <CODE>true</CODE> if the system of congruences is minimized.
-  bool congruences_are_minimized() const;
+    \param c
+    The constraint to be added.
+    Non-interval constraints are ignored.
 
-  //! Returns <CODE>true</CODE> if the system of generators is minimized.
-  bool generators_are_minimized() const;
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Constraint& c);
 
-  //@} // Private Verifiers: Verify if Individual Flags are Set
+  /*! \brief
+    Uses the constraints in \p cs to refine \p *this.
 
-  //! \name State Flag Setters: Set Only the Specified Flags
-  //@{
+    \param cs
+    The constraints to be added.
+    Non-interval constraints are ignored.
 
-  /*! \brief
-    Sets \p status to express that the grid is the universe
-    0-dimension vector space, clearing all corresponding matrices.
+    \warning
+    If \p cs and \p *this are dimension-incompatible,
+    the behavior is undefined.
   */
-  void set_zero_dim_univ();
+  void refine_no_check(const Constraint_System& cs);
 
   /*! \brief
-    Sets \p status to express that the grid is empty, clearing all
-    corresponding matrices.
-  */
-  void set_empty();
-
-  //! Sets \p status to express that congruences are up-to-date.
-  void set_congruences_up_to_date();
-
-  //! Sets \p status to express that generators are up-to-date.
-  void set_generators_up_to_date();
+    Uses the congruence \p cg to refine \p *this.
 
-  //! Sets \p status to express that congruences are minimized.
-  void set_congruences_minimized();
+    \param cg
+    The congruence to be added.
+    Nontrivial proper congruences are ignored.
 
-  //! Sets \p status to express that generators are minimized.
-  void set_generators_minimized();
+    \warning
+    If \p cg and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Congruence& cg);
 
-  //@} // State Flag Setters: Set Only the Specified Flags
+  /*! \brief
+    Uses the congruences in \p cgs to refine \p *this.
 
-  //! \name State Flag Cleaners: Clear Only the Specified Flag
-  //@{
+    \param cgs
+    The congruences to be added.
+    Nontrivial proper congruences are ignored.
 
-  //! Clears the \p status flag indicating that the grid is empty.
-  void clear_empty();
+    \warning
+    If \p cgs and \p *this are dimension-incompatible,
+    the behavior is undefined.
+  */
+  void refine_no_check(const Congruence_System& cgs);
 
-  //! Sets \p status to express that congruences are out of date.
-  void clear_congruences_up_to_date();
+  /*! \brief
+    Propagates the constraint \p c to refine \p *this.
 
-  //! Sets \p status to express that generators are out of date.
-  void clear_generators_up_to_date();
+    \param c
+    The constraint to be propagated.
 
-  //! Sets \p status to express that congruences are no longer minimized.
-  void clear_congruences_minimized();
+    \warning
+    If \p c and \p *this are dimension-incompatible,
+    the behavior is undefined.
 
-  //! Sets \p status to express that generators are no longer minimized.
-  void clear_generators_minimized();
+    \warning
+    This method may lead to non-termination.
 
-  //@} // State Flag Cleaners: Clear Only the Specified Flag
+    \if Include_Implementation_Details
 
-  //! \name Updating Matrices
-  //@{
+    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$.
 
-  //! Updates and minimizes the congruences from the generators.
-  void update_congruences() const;
+    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$.
 
-  //! 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.
+    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.
 
-    It is illegal to call this method when the Status field already
-    declares the grid to be empty.
+    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
   */
-  bool update_generators() const;
+  void propagate_constraint_no_check(const Constraint& c);
 
-  //@} // Updating Matrices
+  /*! \brief
+    Propagates the constraints in \p cs to refine \p *this.
 
-  //! \name Minimization of Descriptions
-  //@{
+    \param  cs
+    The constraints to be propagated.
 
-  //! Minimizes both the congruences and the generators.
-  /*!
-    \return
-    <CODE>false</CODE> if and only if \p *this turns out to be an
-    empty grid.
+    \warning
+    If \p cs and \p *this are dimension-incompatible,
+    the behavior is undefined.
 
-    Minimization is performed on each system only if the minimized
-    Status field is clear.
+    \warning
+    This method may lead to non-termination.
   */
-  bool minimize() const;
-
-  //@} // Minimization of Descriptions
-
-  enum Three_Valued_Boolean {
-    TVB_TRUE,
-    TVB_FALSE,
-    TVB_DONT_KNOW
-  };
-
-  //! Polynomial but incomplete equivalence test between grids.
-  Three_Valued_Boolean quick_equivalence_test(const Grid& y) const;
-
-  //! Returns <CODE>true</CODE> if and only if \p *this is included in \p y.
-  bool is_included_in(const Grid& y) const;
+  void propagate_constraints_no_check(const Constraint_System& cs);
 
   //! Checks if and how \p expr is bounded in \p *this.
   /*!
@@ -38487,26 +40628,22 @@ private:
     \param expr
     The linear expression to test;
 
-    \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 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, const char* method_call) const;
+  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;
+    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 maximize
+    <CODE>true</CODE> if maximization is what is wanted;
 
     \param ext_n
     The numerator of the extremum value;
@@ -38515,1587 +40652,1064 @@ private:
     The denominator of the extremum value;
 
     \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);
+    <CODE>true</CODE> if and only if the extremum of \p expr can
+    actually be reached in \p *this;
 
-    \param point
-    When maximization or minimization succeeds, will be assigned the
-    point where \p expr reaches the extremum value.
+    \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 point are left untouched.
+    \p included and \p g are left untouched.
   */
   bool max_min(const Linear_Expression& expr,
-	       const char* method_call,
+	       bool maximize,
 	       Coefficient& ext_n, Coefficient& ext_d, bool& included,
-	       Generator* point = NULL) const;
+	       Generator& g) const;
 
-  /*! \brief
-    Adds the congruence \p cg to \p *this.
+  //! Maximizes or minimizes \p expr subject to \p *this.
+  /*!
+    \param expr
+    The linear expression to be maximized or minimized subject to \p *this;
 
-    \warning
-    If \p cg and \p *this are dimension-incompatible,
-    the behavior is undefined.
-  */
-  void add_congruence_no_check(const Congruence& cg);
+    \param maximize
+    <CODE>true</CODE> if maximization is what is wanted;
 
-  /*! \brief
-    Uses the constraint \p c to refine \p *this.
+    \param ext_n
+    The numerator of the extremum value;
 
-    \param c
-    The constraint to be added.
+    \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 c is a non-trivial inequality constraint.
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-    \warning
-    If \p c and \p *this are dimension-incompatible,
-    the behavior is undefined.
+    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.
   */
-  void add_constraint_no_check(const Constraint& c);
+  bool max_min(const Linear_Expression& expr,
+	       bool maximize,
+	       Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
 
   /*! \brief
-    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.
-  */
-  void refine_no_check(const Constraint& c);
-
-  //! \name Widening- and Extrapolation-Related Functions
-  //@{
-
-  //! 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>.
-  */
-  void add_space_dimensions(Congruence_System& cgs,
-			    Grid_Generator_System& gs,
-			    dimension_type dims);
-
-  //! Adds new space dimensions to the given systems.
-  /*!
-    \param gs
-    A generator system, to which columns are added;
-
-    \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>.
+    Adds to \p limiting_box the interval constraints in \p cs
+    that are satisfied by \p *this.
   */
-  void add_space_dimensions(Grid_Generator_System& gs,
-			    Congruence_System& cgs,
-			    dimension_type dims);
+  void get_limiting_box(const Constraint_System& cs,
+                        Box& limiting_box) const;
 
-  //! \name Minimization-related Static Member Functions
+  //! \name Exception Throwers
   //@{
+  void throw_dimension_incompatible(const char* method,
+				    const Box& x) const;
 
-  //! 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.
-  */
-  static void
-  normalize_divisors(Grid_Generator_System& sys,
-		     Coefficient& divisor,
-		     const Grid_Generator* first_point = NULL);
-
-  //! 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.
-  */
-  static void
-  normalize_divisors(Grid_Generator_System& sys);
-
-  //! 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.
-
-    \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.
-
-    \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);
-
-  /*! \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);
+  void throw_dimension_incompatible(const char* method,
+				    dimension_type required_dim) 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);
+  void throw_dimension_incompatible(const char* method,
+				    const Constraint& c) const;
 
-  //! 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);
+  void throw_dimension_incompatible(const char* method,
+				    const Congruence& cg) 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);
+  void throw_dimension_incompatible(const char* method,
+				    const Constraint_System& cs) const;
 
-  //! 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);
+  void throw_dimension_incompatible(const char* method,
+				    const Congruence_System& cgs) const;
 
-  //! 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);
+  void throw_dimension_incompatible(const char* method,
+				    const Generator& g) const;
 
-  //! 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);
+  void throw_dimension_incompatible(const char* method,
+				    const char* name_row,
+				    const Linear_Expression& y) const;
 
-  //! 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);
+  static void throw_space_dimension_overflow(const char* method,
+					     const char* reason);
 
-  //! 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);
+  static void throw_constraint_incompatible(const char* method);
 
-#ifdef STRONG_REDUCTION
-  //! Reduce column \p dim in rows preceding \p pivot_index in \p sys.
-  /*!
-    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);
-#endif
+  static void throw_expression_too_complex(const char* method,
+					   const Linear_Expression& e);
 
-  //! 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);
+  static void throw_generic(const char* method, const char* reason);
+  //@} // Exception Throwers
+};
 
-  //! 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);
+namespace Parma_Polyhedra_Library {
 
-  /*! \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);
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+/*! \brief
+  Returns the relations holding between an interval and
+  an interval constraint.
 
-  /*! \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);
+  \param i
+  The interval;
 
-#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.
+  \param constraint_type
+  The constraint type;
 
-    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
+  \param num
+  The numerator of the constraint bound;
 
-  //@} // Minimization-Related Static Member Functions
+  \param den
+  The denominator of the constraint bound
 
-#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! \name Exception Throwers
-  //@{
+  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)
-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;
-  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;
-
-  // 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);
+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);
 
-  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)
+//! 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).
 
-namespace std {
+  \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.
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Grid */
-void swap(Parma_Polyhedra_Library::Grid& x,
-	  Parma_Polyhedra_Library::Grid& y);
+  \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);
 
-} // namespace std
+} // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Grid_Status.inlines.hh line 1. */
-/* Grid::Status class implementation: inline functions.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box_Status.inlines.hh line 1. */
+/* Box<ITV>::Status class implementation: inline functions.
 */
 
 
+#include <string>
+
 namespace Parma_Polyhedra_Library {
 
+template <typename ITV>
 inline
-Grid::Status::Status(flags_t mask)
+Box<ITV>::Status::Status(flags_t mask)
   : flags(mask) {
 }
 
+template <typename ITV>
 inline
-Grid::Status::Status()
-  : flags(ZERO_DIM_UNIV) {
+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
-Grid::Status::test_all(flags_t mask) const {
+Box<ITV>::Status::test_all(flags_t mask) const {
   return (flags & mask) == mask;
 }
 
+template <typename ITV>
 inline bool
-Grid::Status::test_any(flags_t mask) const {
+Box<ITV>::Status::test_any(flags_t mask) const {
   return flags & mask;
 }
 
+template <typename ITV>
 inline void
-Grid::Status::set(flags_t mask) {
+Box<ITV>::Status::set(flags_t mask) {
   flags |= mask;
 }
 
+template <typename ITV>
 inline void
-Grid::Status::reset(flags_t mask) {
+Box<ITV>::Status::reset(flags_t mask) {
   flags &= ~mask;
 }
 
+template <typename ITV>
 inline bool
-Grid::Status::test_zero_dim_univ() const {
-  return flags == ZERO_DIM_UNIV;
+Box<ITV>::Status::test_empty_up_to_date() const {
+  return test_any(EMPTY_UP_TO_DATE);
 }
 
+template <typename ITV>
 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;
+Box<ITV>::Status::reset_empty_up_to_date() {
+  reset(EMPTY_UP_TO_DATE);
 }
 
+template <typename ITV>
 inline void
-Grid::Status::set_zero_dim_univ() {
-  // Zero-dim universe is incompatible with anything else.
-  flags = ZERO_DIM_UNIV;
+Box<ITV>::Status::set_empty_up_to_date() {
+  set(EMPTY_UP_TO_DATE);
 }
 
+template <typename ITV>
 inline bool
-Grid::Status::test_empty() const {
+Box<ITV>::Status::test_empty() const {
   return test_any(EMPTY);
 }
 
+template <typename ITV>
 inline void
-Grid::Status::reset_empty() {
+Box<ITV>::Status::reset_empty() {
   reset(EMPTY);
 }
 
+template <typename ITV>
 inline void
-Grid::Status::set_empty() {
-  flags = EMPTY;
-}
-
-inline bool
-Grid::Status::test_c_up_to_date() const {
-  return test_any(C_UP_TO_DATE);
-}
-
-inline void
-Grid::Status::reset_c_up_to_date() {
-  reset(C_UP_TO_DATE);
-}
-
-inline void
-Grid::Status::set_c_up_to_date() {
-  set(C_UP_TO_DATE);
+Box<ITV>::Status::set_empty() {
+  set(EMPTY);
 }
 
+template <typename ITV>
 inline bool
-Grid::Status::test_g_up_to_date() const {
-  return test_any(G_UP_TO_DATE);
+Box<ITV>::Status::test_universe() const {
+  return test_any(UNIVERSE);
 }
 
+template <typename ITV>
 inline void
-Grid::Status::reset_g_up_to_date() {
-  reset(G_UP_TO_DATE);
+Box<ITV>::Status::reset_universe() {
+  reset(UNIVERSE);
 }
 
+template <typename ITV>
 inline void
-Grid::Status::set_g_up_to_date() {
-  set(G_UP_TO_DATE);
-}
-
-inline bool
-Grid::Status::test_c_minimized() const {
-  return test_any(C_MINIMIZED);
+Box<ITV>::Status::set_universe() {
+  set(UNIVERSE);
 }
 
-inline void
-Grid::Status::reset_c_minimized() {
-  reset(C_MINIMIZED);
-}
+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;
+  }
 
-inline void
-Grid::Status::set_c_minimized() {
-  set(C_MINIMIZED);
+  // Any other case is OK.
+  return true;
 }
 
-inline bool
-Grid::Status::test_g_minimized() const {
-  return test_any(G_MINIMIZED);
-}
 
-inline void
-Grid::Status::reset_g_minimized() {
-  reset(G_MINIMIZED);
-}
+namespace Implementation {
 
-inline void
-Grid::Status::set_g_minimized() {
-  set(G_MINIMIZED);
-}
+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 sep = ' ';
 
+/*! \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
-Grid::Status::test_c_pending() const {
-  return test_any(CS_PENDING);
-}
-
-inline void
-Grid::Status::reset_c_pending() {
-  reset(CS_PENDING);
-}
-
-inline void
-Grid::Status::set_c_pending() {
-  set(CS_PENDING);
+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;
 }
 
-inline bool
-Grid::Status::test_g_pending() const {
-  return test_any(GS_PENDING);
-}
+} // namespace Boxes
 
-inline void
-Grid::Status::reset_g_pending() {
-  reset(GS_PENDING);
-}
+} // namespace Implementation
 
-inline void
-Grid::Status::set_g_pending() {
-  set(GS_PENDING);
+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;
 }
 
+PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(ITV, Box<ITV>::Status)
 
-inline bool
-Grid::Status::test_sat_c_up_to_date() const {
-  return test_any(SAT_C_UP_TO_DATE);
-}
-
-inline void
-Grid::Status::reset_sat_c_up_to_date() {
-  reset(SAT_C_UP_TO_DATE);
-}
+template <typename ITV>
+bool
+Box<ITV>::Status::ascii_load(std::istream& s) {
+  using namespace Implementation::Boxes;
+  PPL_UNINITIALIZED(bool, positive);
 
-inline void
-Grid::Status::set_sat_c_up_to_date() {
-  set(SAT_C_UP_TO_DATE);
-}
+  if (!get_field(s, Implementation::Boxes::empty_up_to_date, positive))
+    return false;
+  if (positive)
+    set_empty_up_to_date();
 
-inline bool
-Grid::Status::test_sat_g_up_to_date() const {
-  return test_any(SAT_G_UP_TO_DATE);
-}
+  if (!get_field(s, Implementation::Boxes::empty, positive))
+    return false;
+  if (positive)
+    set_empty();
 
-inline void
-Grid::Status::reset_sat_g_up_to_date() {
-  reset(SAT_G_UP_TO_DATE);
-}
+  if (!get_field(s, universe, positive))
+    return false;
+  if (positive)
+    set_universe();
+  else
+    reset_universe();
 
-inline void
-Grid::Status::set_sat_g_up_to_date() {
-  set(SAT_G_UP_TO_DATE);
+  // Check invariants.
+  assert(OK());
+  return true;
 }
 
 } // 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 /home/bagnara/ppl/ppl/src/Box.inlines.hh line 1. */
+/* Box class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Grid.inlines.hh line 29. */
-#include <algorithm>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box.inlines.hh line 32. */
 
 namespace Parma_Polyhedra_Library {
 
+template <typename ITV>
 inline bool
-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();
-}
-
-inline bool
-Grid::congruences_are_minimized() const {
-  return status.test_c_minimized();
-}
-
-inline bool
-Grid::generators_are_minimized() const {
-  return status.test_g_minimized();
-}
-
-inline void
-Grid::set_generators_up_to_date() {
-  status.set_g_up_to_date();
-}
-
-inline void
-Grid::set_congruences_up_to_date() {
-  status.set_c_up_to_date();
-}
-
-inline void
-Grid::set_congruences_minimized() {
-  set_congruences_up_to_date();
-  status.set_c_minimized();
+Box<ITV>::marked_empty() const {
+  return status.test_empty_up_to_date() && status.test_empty();
 }
 
+template <typename ITV>
 inline void
-Grid::set_generators_minimized() {
-  set_generators_up_to_date();
-  status.set_g_minimized();
+Box<ITV>::set_empty() {
+  status.set_empty();
+  status.set_empty_up_to_date();
 }
 
+template <typename ITV>
 inline void
-Grid::clear_empty() {
+Box<ITV>::set_nonempty() {
   status.reset_empty();
+  status.set_empty_up_to_date();
 }
 
+template <typename ITV>
 inline void
-Grid::clear_congruences_minimized() {
-  status.reset_c_minimized();
-}
-
-inline void
-Grid::clear_generators_minimized() {
-  status.reset_g_minimized();
-}
-
-inline void
-Grid::clear_congruences_up_to_date() {
-  clear_congruences_minimized();
-  status.reset_c_up_to_date();
-  // Can get rid of con_sys here.
+Box<ITV>::set_empty_up_to_date() {
+  status.set_empty_up_to_date();
 }
 
+template <typename ITV>
 inline void
-Grid::clear_generators_up_to_date() {
-  clear_generators_minimized();
-  status.reset_g_up_to_date();
-  // Can get rid of gen_sys here.
-}
-
-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()
-			   )
-		  );
-}
-
-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);
-  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()),
-    gen_sys(cgs.space_dimension()) {
-  Congruence_System cgs_copy(cgs);
-  construct(cgs_copy);
+Box<ITV>::reset_empty_up_to_date() {
+  return status.reset_empty_up_to_date();
 }
 
+template <typename ITV>
 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);
+Box<ITV>::Box(const Box& y, Complexity_Class)
+  : seq(y.seq), status(y.status) {
 }
 
-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);
+template <typename ITV>
+inline Box<ITV>&
+Box<ITV>::operator=(const Box& y) {
+  seq = y.seq;
+  status = y.status;
+  return *this;
 }
 
-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);
+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);
 }
 
-template <typename U>
+template <typename ITV>
 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);
+Box<ITV>::Box(const Constraint_System& cs, Recycle_Input) {
+  // Recycling is useless: just delegate.
+  Box<ITV> tmp(cs);
+  this->swap(tmp);
 }
 
-template <typename U>
+template <typename ITV>
 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);
+Box<ITV>::Box(const Generator_System& gs, Recycle_Input) {
+  // Recycling is useless: just delegate.
+  Box<ITV> tmp(gs);
+  this->swap(tmp);
 }
 
+template <typename ITV>
 inline
-Grid::~Grid() {
-}
-
-inline dimension_type
-Grid::space_dimension() const {
-  return space_dim;
-}
-
-inline memory_size_type
-Grid::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
-
-inline int32_t
-Grid::hash_code() const {
-  return space_dimension() & 0x7fffffff;
-}
-
-inline Constraint_System
-Grid::constraints() const {
-    return Constraint_System(congruences());;
-}
-
-inline Constraint_System
-Grid::minimized_constraints() const {
-    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);
-}
-
-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);
-
-  if (!marked_empty())
-    add_congruence_no_check(cg);
-}
-
-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);
-  }
-}
-
-inline bool
-Grid::add_congruences_and_minimize(const Congruence_System& cgs) {
-  Congruence_System cgs_copy = cgs;
-  return add_recycled_congruences_and_minimize(cgs_copy);
-}
-
-inline void
-Grid::refine_with_congruence(const Congruence& cg) {
-  add_congruence(cg);
+Box<ITV>::Box(const Congruence_System& cgs, Recycle_Input) {
+  // Recycling is useless: just delegate.
+  Box<ITV> tmp(cgs);
+  this->swap(tmp);
 }
 
-inline void
-Grid::refine_with_congruences(const Congruence_System& cgs) {
-  add_congruences(cgs);
+template <typename ITV>
+inline memory_size_type
+Box<ITV>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-inline bool
-Grid::can_recycle_constraint_systems() {
-  return true;
+template <typename ITV>
+inline dimension_type
+Box<ITV>::space_dimension() const {
+  return seq.size();
 }
 
-inline bool
-Grid::can_recycle_congruence_systems() {
-  return true;
+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;
 }
 
-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);
+template <typename ITV>
+inline const ITV&
+Box<ITV>::operator[](const dimension_type k) const {
+  assert(k < seq.size());
+  return seq[k];
 }
 
-inline bool
-Grid::add_constraint_and_minimize(const Constraint& c) {
-  add_constraint(c);
-  return minimize();
-}
+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);
 
-inline bool
-Grid::add_constraints_and_minimize(const Constraint_System& cs) {
-  add_constraints(cs);
-  return minimize();
+  if (is_empty()) {
+    static ITV empty_interval(EMPTY);
+    return empty_interval;
+  }
+
+  return seq[var.id()];
 }
 
+template <typename ITV>
 inline void
-Grid::add_recycled_constraints(Constraint_System& cs) {
-  // TODO: really recycle the constraints.
-  add_constraints(cs);
-}
+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);
 
-inline bool
-Grid::add_recycled_constraints_and_minimize(Constraint_System& cs) {
-  add_constraints(cs);
-  return minimize();
-}
+  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;
 
-inline bool
-Grid::bounds_from_above(const Linear_Expression& expr) const {
-  return bounds(expr, "bounds_from_above(e)");
+  seq[var.id()] = i;
+  reset_empty_up_to_date();
+
+  assert(OK());
 }
 
+template <typename ITV>
 inline bool
-Grid::bounds_from_below(const Linear_Expression& expr) const {
-  return bounds(expr, "bounds_from_below(e)");
+Box<ITV>::is_empty() const {
+  return marked_empty() || check_empty();
 }
 
+template <typename ITV>
 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);
+Box<ITV>::bounds_from_above(const Linear_Expression& expr) const {
+  return bounds(expr, true);
 }
 
+template <typename ITV>
 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);
+Box<ITV>::bounds_from_below(const Linear_Expression& expr) const {
+  return bounds(expr, false);
 }
 
+template <typename ITV>
 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);
+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);
 }
 
+template <typename ITV>
 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);
+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);
 }
 
-inline void
-Grid::normalize_divisors(Grid_Generator_System& sys) {
-  TEMP_INTEGER(divisor);
-  divisor = 1;
-  normalize_divisors(sys, divisor);
+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);
 }
 
-/*! \relates Grid */
+template <typename ITV>
 inline bool
-operator!=(const Grid& x, const Grid& y) {
-  return !(x == y);
+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);
 }
 
+template <typename ITV>
 inline bool
-Grid::strictly_contains(const Grid& y) const {
-  const Grid& x = *this;
+Box<ITV>::strictly_contains(const Box& y) const {
+  const Box& x = *this;
   return x.contains(y) && !y.contains(x);
 }
 
+template <typename ITV>
 inline void
-Grid::topological_closure_assign() {
-  return;
-}
-
-} // namespace Parma_Polyhedra_Library
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Grid */
-inline void
-swap(Parma_Polyhedra_Library::Grid& x,
-     Parma_Polyhedra_Library::Grid& y) {
-  x.swap(y);
-}
-
-} // 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 29. */
-#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();
-
-  if (box.is_empty()) {
-    // Empty grid.
-    set_empty();
-    assert(OK());
-    return;
-  }
-
-  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'.
-    TEMP_INTEGER(l_n);
-    TEMP_INTEGER(l_d);
-    TEMP_INTEGER(u_n);
-    TEMP_INTEGER(u_d);
-    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
-    Grid_Generator& point = gen_sys[0];
-    for (dimension_type k = space_dim; k-- > 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;
+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);
 
-	    continue;
-	  }
-      }
-      // A universe interval allows any value in dimension k.
-      gen_sys.insert(grid_line(Variable(k)));
-    }
-    set_congruences_up_to_date();
-    set_generators_up_to_date();
-    gen_sys.unset_pending_rows();
-    gen_sys.set_sorted(false);
-  }
+  // 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");
 
+  // 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()]);
   assert(OK());
 }
 
-template <typename Box>
-Grid::Grid(const Box& box, From_Covering_Box)
-  : con_sys(),
-    gen_sys() {
+template <typename ITV>
+inline bool
+operator!=(const Box<ITV>& x, const Box<ITV>& y) {
+  return !(x == y);
+}
 
-  if (box.space_dimension() > max_space_dimension())
-    throw_space_dimension_overflow("Grid(box, from_covering_box)",
-				   "the space dimension of box "
-				   "exceeds the maximum allowed "
-				   "space dimension");
+template <typename ITV>
+inline bool
+Box<ITV>::get_lower_bound(const dimension_type k, bool& closed,
+                          Coefficient& n, Coefficient& d) const {
+  assert(k < seq.size());
+  const ITV& seq_k = seq[k];
 
-  space_dim = box.space_dimension();
+  if (seq_k.lower_is_unbounded())
+    return false;
 
-  TEMP_INTEGER(l_n);
-  TEMP_INTEGER(l_d);
+  closed = !seq_k.lower_is_open();
 
-  // Check that all bounds are closed.  This check must be done before
-  // the empty test below, as an open bound might mean an empty box.
-  for (dimension_type k = space_dim; k-- > 0; ) {
-    bool closed = false;
-    // FIXME: Perhaps introduce Box::is_bounded_and_closed.
-    if (box.get_lower_bound(k, closed, l_n, l_d) && !closed)
-      throw_invalid_argument("Grid(box, from_covering_box)", "box");
-    if (box.get_upper_bound(k, closed, l_n, l_d) && !closed)
-      throw_invalid_argument("Grid(box, from_covering_box)", "box");
-  }
+  PPL_DIRTY_TEMP0(mpq_class, lr);
+  assign_r(lr, seq_k.lower(), ROUND_NOT_NEEDED);
+  n = lr.get_num();
+  d = lr.get_den();
 
-  if (box.is_empty()) {
-    // Empty grid.
-    set_empty();
-    assert(OK());
-    return;
-  }
+  return true;
+}
 
-  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 according to `box'.
-    TEMP_INTEGER(u_n);
-    TEMP_INTEGER(u_d);
-    TEMP_INTEGER(d);
-    gen_sys.insert(grid_point(0*Variable(space_dim-1)));
-    Grid_Generator& point = gen_sys[0];
-    for (dimension_type k = space_dim; k-- > 0; ) {
-      bool closed = false;
-      // TODO: Consider producing the system(s) in minimized form.
-      if (box.get_lower_bound(k, closed, l_n, l_d)) {
+template <typename ITV>
+inline bool
+Box<ITV>::get_upper_bound(const dimension_type k, bool& closed,
+                          Coefficient& n, Coefficient& d) const {
+  assert(k < seq.size());
+  const ITV& seq_k = seq[k];
 
-	const Coefficient& point_divisor = point.divisor();
-	assert(l_d > 0);
-	assert(point_divisor > 0);
-	// Use `d' to hold the gcd.
-	gcd_assign(d, l_d, point_divisor);
-	// Scale the point to use as divisor the lcm of the existing
-	// point divisor and the divisor of the lower bound.
-	exact_div_assign(d, point_divisor, d);
-	// l_d * d == abs(l_d) * (point_divisor / gcd(l_d, point_divisor))
-	point.scale_to_divisor(l_d * d);
-	// Set dimension k of the point to the lower bound.
-	// point[k + 1] = l_n * (point_divisor / gcd(l_d, point_divisor))
-	point[k + 1] = l_n * d;
+  if (seq_k.upper_is_unbounded())
+    return false;
 
-	if (box.get_upper_bound(k, closed, u_n, u_d)) {
-	  if (l_n * u_d == u_n * l_d) {
-	    // A point interval allows any point along the dimension
-	    // k axis.
-	    gen_sys.insert(grid_line(Variable(k)));
-	    continue;
-	  }
-	  assert(l_d > 0);
-	  assert(u_d > 0);
-	  gcd_assign(d, l_d, u_d);
-	  // `d' is the gcd of the divisors.
-	  exact_div_assign(l_d, l_d, d);
-	  exact_div_assign(d, u_d, d);
-	  l_n *= d;
-	  // `l_d' is now the smallest integer expression of the size of
-	  // the original l_d relative to u_d.
-	  u_n = (u_n * l_d) - l_n;
-	  // `u_n' is now the distance between u_n and l_n (given a
-	  // divisor of lcm of l_d and u_d.
-	  l_d *= u_d;
-	  // `l_d' is now the lcm of the divisors.
-	  con_sys.insert((l_d * Variable(k) %= l_n) / u_n);
-	  gen_sys.insert(parameter(u_n * Variable(k), l_d));
-	}
-	else
-	  // An interval bounded only from below produces an
-	  // equality.
-	  con_sys.insert(l_d * Variable(k) == l_n);
-      }
-      else
-	if (box.get_upper_bound(k, closed, u_n, u_d)) {
-	  const Coefficient& point_divisor = point.divisor();
-	  assert(u_d > 0);
-	  assert(point_divisor > 0);
-	  // Use `d' to hold the gcd.
-	  gcd_assign(d, u_d, point_divisor);
-	  // Scale the point to use as divisor the lcm of the existing
-	  // point divisor and the divisor of the lower bound.
-	  exact_div_assign(d, point_divisor, d);
-	  // u_d * d == abs(u_d) * (point_divisor / gcd(u_d, point_divisor))
-	  point.scale_to_divisor(u_d * d);
-	  // Set dimension k of the point to the lower bound.
-	  // point[k + 1] = u_n * (point_divisor / gcd(u_d, point_divisor))
-	  point[k + 1] = u_n * d;
+  closed = !seq_k.upper_is_open();
 
-	  // An interval bounded only from above produces an equality.
-	  con_sys.insert(u_d * Variable(k) == u_n);
-	}
-	else {
-	  // Any universe interval produces an empty grid.
-	  set_empty();
-	  assert(OK());
-	  return;
-	}
-    }
-    normalize_divisors(gen_sys);
-    set_congruences_up_to_date();
-    set_generators_up_to_date();
-    gen_sys.set_sorted(false);
-    gen_sys.unset_pending_rows();
-  }
+  PPL_DIRTY_TEMP0(mpq_class, ur);
+  assign_r(ur, seq_k.upper(), ROUND_NOT_NEEDED);
+  n = ur.get_num();
+  d = ur.get_den();
 
-  assert(OK());
+  return true;
 }
 
-template <typename Interval>
-void
-Grid::get_covering_box(Box<Interval>& box) const {
+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 (space_dim > box.space_dimension())
-    throw_dimension_incompatible("get_covering_box(box)", "box",
-				 box.space_dimension());
-
-  Box<Interval> new_box(box.space_dimension());
-
-  if (marked_empty()) {
-    box = new_box;
-    box.set_empty();
-    return;
-  }
-  if (space_dim == 0) {
-    return;
-  }
-  if (!generators_are_up_to_date() && !update_generators()) {
-    // Updating found the grid empty.
-    box = new_box;
-    box.set_empty();
-    return;
-  }
+  if (c_space_dim > space_dimension())
+    throw_dimension_incompatible("add_constraint(c)", c);
 
-  assert(!gen_sys.has_no_rows());
+  add_constraint_no_check(c);
+}
 
-  dimension_type num_dims = gen_sys.num_columns() - 2 /* parameter divisor */;
-  dimension_type num_rows = gen_sys.num_rows();
+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);
 
-  TEMP_INTEGER(gcd);
-  TEMP_INTEGER(bound);
+  add_constraints_no_check(cs);
+}
 
-  if (num_rows > 1) {
-    Row interval_sizes(num_dims, Row::Flags());
-    std::vector<bool> interval_emptiness(num_dims, false);
+template <typename T>
+inline void
+Box<T>::add_recycled_constraints(Constraint_System& cs) {
+  add_constraints(cs);
+}
 
-    // Store in `interval_sizes', for each column (that is, for each
-    // dimension), the GCD of all the values in that column where the
-    // row is of type parameter.
+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);
 
-    for (dimension_type dim = num_dims; dim-- > 0; )
-      interval_sizes[dim] = 0;
-    const Grid_Generator *first_point = NULL;
-    for (dimension_type row = 0; row < num_rows; ++row) {
-      Grid_Generator& gen = const_cast<Grid_Generator&>(gen_sys[row]);
-      if (gen.is_line()) {
-	for (dimension_type dim = 0; dim < num_dims; ++dim)
-	  if (!interval_emptiness[dim] && gen[dim+1] != 0) {
-	    // Empty interval, set both bounds for associated
-      	    // dimension to zero.
-            new_box.add_constraint(Variable(dim) == 0);
-	    interval_emptiness[dim] = true;
-	  }
-	continue;
-      }
-      if (gen.is_point()) {
-	if (first_point == NULL) {
-	  first_point = &gen_sys[row];
-	  continue;
-	}
-	const Grid_Generator& point = *first_point;
-	// Convert the point `gen' to a parameter.
-	dimension_type dim = num_dims;
-	do {
-	  gen[dim] -= point[dim];
-	}
-	while (dim-- > 0);
-	gen.set_divisor(point.divisor());
-      }
-      for (dimension_type dim = num_dims; dim-- > 0; )
-	if (!interval_emptiness[dim])
-	  gcd_assign(interval_sizes[dim], interval_sizes[dim], gen[dim+1]);
-    }
+  add_congruence_no_check(cg);
+}
 
-    // For each dimension set the lower bound of the interval to the
-    // grid value closest to the origin, and the upper bound to the
-    // addition of the lower bound and the shortest distance in the
-    // given dimension between any two grid points.
-    const Grid_Generator& point = *first_point;
-    const Coefficient& divisor = point.divisor();
-    TEMP_INTEGER(lower_bound);
-    for (dimension_type dim = num_dims; dim-- > 0; ) {
-      if (interval_emptiness[dim])
-	continue;
+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);
+}
 
-      lower_bound = point[dim+1];
+template <typename T>
+inline void
+Box<T>::add_recycled_congruences(Congruence_System& cgs) {
+  add_congruences(cgs);
+}
 
-      // If the interval size is zero then all points have the same
-      // value in this dimension, so set only the lower bound.
-      if (interval_sizes[dim] != 0) {
-	// Make the lower bound as close as possible to the origin,
-	// leaving the sign the same.
-	lower_bound %= interval_sizes[dim];
-	// Check if the lowest value the other side of the origin is
-	// closer to the origin, preferring the lowest positive if they
-	// are equal.
-	if (lower_bound > 0) {
-	  if (interval_sizes[dim] - lower_bound < lower_bound)
-	    lower_bound -= interval_sizes[dim];
-	}
-	else if (lower_bound < 0
-		 && interval_sizes[dim] + lower_bound < - lower_bound)
-	  lower_bound += interval_sizes[dim];
+template <typename T>
+inline bool
+Box<T>::can_recycle_constraint_systems() {
+  return false;
+}
 
-	// Reduce the bound fraction first.
-	bound = interval_sizes[dim] + lower_bound;
-	gcd_assign(gcd, bound, divisor);
-	exact_div_assign(bound, bound, gcd);
-	exact_div_assign(gcd, divisor, gcd);
-	// `gcd' now holds the reduced divisor.
-        new_box.add_constraint(gcd*Variable(dim) <= bound);
-      }
+template <typename T>
+inline bool
+Box<T>::can_recycle_congruence_systems() {
+  return false;
+}
 
-      // Reduce the bound fraction first.
-      gcd_assign(gcd, lower_bound, divisor);
-      exact_div_assign(lower_bound, lower_bound, gcd);
-      exact_div_assign(gcd, divisor, gcd);
-      // `gcd' now holds the reduced divisor.
-      new_box.add_constraint(gcd*Variable(dim) >= lower_bound);
-    }
-  }
-  else {
-    const Grid_Generator& point = gen_sys[0];
-    const Coefficient& divisor = point.divisor();
-    // The covering box of a single point has only lower bounds.
-    for (dimension_type dim = num_dims; dim-- > 0; ) {
-      // Reduce the bound fraction first.
-      gcd_assign(gcd, point[dim+1], divisor);
-      exact_div_assign(bound, point[dim+1], gcd);
-      exact_div_assign(gcd, divisor, gcd);
-      // `gcd' now holds the reduced divisor.
-      new_box.add_constraint(gcd*Variable(dim) >= bound);
-    }
-  }
+template <typename T>
+inline void
+Box<T>::widening_assign(const Box& y, unsigned* tp) {
+  CC76_widening_assign(y, tp);
+}
 
-  box.swap(new_box);
+template <typename ITV>
+inline Congruence_System
+Box<ITV>::minimized_congruences() const {
+  // Only equalities can be congruences and these are already minimized.
+  return congruences();
 }
 
-template <typename Partial_Function>
-void
-Grid::map_space_dimensions(const Partial_Function& pfunc) {
-  if (space_dim == 0)
-    return;
+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) {
+  assert(!marked_empty());
+  assert(var_id < space_dimension());
+  assert(den != 0);
 
-  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();
+  // The interval constraint is of the form
+  // `Variable(var_id) + num / den rel 0', where
+  // `rel' is either the relation `==', `>=', or `>'.
+  // For the purpose of refining the interval, this is
+  // (morally) turned into `Variable(var_id) 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;
 
-    assert(OK());
-    return;
+  ITV& seq_v = seq[var_id];
+  switch (type) {
+  case Constraint::EQUALITY:
+    seq_v.refine_existential(EQUAL, q);
+    break;
+  case Constraint::NONSTRICT_INEQUALITY:
+    seq_v.refine_existential((den > 0) ? GREATER_OR_EQUAL : LESS_OR_EQUAL, q);
+    assert(seq_v.OK());
+    break;
+  case Constraint::STRICT_INEQUALITY:
+    seq_v.refine_existential((den > 0) ? GREATER_THAN : LESS_THAN, q);
+    break;
   }
+  // FIXME: do check the value returned by `refine_existential' and
+  // set `empty' and `empty_up_to_date' as appropriate.
+  // This has to be done after reimplementation of intervals.
+  reset_empty_up_to_date();
+  assert(OK());
+}
 
-  dimension_type new_space_dimension = pfunc.max_in_codomain() + 1;
+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);
 
-  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.
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-    // 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);
+  refine_no_check(c);
+}
 
-    // Used to mark elements as soon as they are inserted in a cycle.
-    std::deque<bool> visited(space_dim);
+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);
 
-    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;
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-	  cycles.push_back(j+1);
-	  // Go along the cycle.
-	  j = k;
-	} while (!visited[j]);
-	// End of cycle: mark it.
-	cycles.push_back(0);
-      skip:
-	;
-      }
-    }
+  refine_no_check(cs);
+}
 
-    // If `cycles' is empty then `pfunc' is the identity.
-    if (cycles.empty())
-      return;
+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);
 
-    // Permute all that is up-to-date.
-    if (congruences_are_up_to_date()) {
-      con_sys.permute_columns(cycles);
-      clear_congruences_minimized();
-    }
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-    if (generators_are_up_to_date()) {
-      gen_sys.permute_columns(cycles);
-      clear_generators_minimized();
-    }
+  refine_no_check(cg);
+}
 
-    assert(OK());
+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);
+
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
     return;
-  }
 
-  // If control gets here, then `pfunc' is not a permutation and some
-  // dimensions must be projected away.
+  refine_no_check(cgs);
+}
 
-  const Grid_Generator_System& old_gensys = grid_generators();
+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);
 
-  if (old_gensys.has_no_rows()) {
-    // The grid is empty.
-    Grid new_grid(new_space_dimension, EMPTY);
-    std::swap(*this, new_grid);
-    assert(OK());
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
     return;
-  }
 
-  // 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;
-  }
+  propagate_constraint_no_check(c);
+}
 
-  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;
-  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;
-    case Grid_Generator::CLOSURE_POINT:
-    default:
-      assert(0);
-    }
-  }
+template <typename ITV>
+inline void
+Box<ITV>::propagate_constraints(const Constraint_System& cs) {
+  // Dimension-compatibility check.
+  if (cs.space_dimension() > space_dimension())
+    throw_dimension_incompatible("propagate_constraints(cs)", cs);
 
-  Grid new_grid(new_gensys);
-  std::swap(*this, new_grid);
+  // If the box is already empty, there is nothing left to do.
+  if (marked_empty())
+    return;
 
-  assert(OK(true));
+  propagate_constraints_no_check(cs);
 }
 
-#ifdef STRONG_REDUCTION
-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];
+template <typename ITV>
+inline void
+Box<ITV>::unconstrain(const Variable var) {
+  const dimension_type dim = var.id();
+  // Dimension-compatibility check.
+  if (dim > space_dimension())
+    throw_dimension_incompatible("unconstrain(var)", dim);
 
-  if (pivot_dim == 0)
+  // 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 `var' before cylindrification.
+  ITV& seq_var = seq[dim];
+  if (seq_var.is_empty())
+    set_empty();
+  else
+    seq_var.assign(UNIVERSE);
+  assert(OK());
+}
 
-  TEMP_INTEGER(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;
-  }
+/*! \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);
+}
 
-  TEMP_INTEGER(num_rows_to_subtract);
-  TEMP_INTEGER(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;
+/*! \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);
+}
 
-    // 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];
+/*! \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);
+}
 
-      const Coefficient& row_dim = row[dim];
-      // num_rows_to_subtract may be positive or negative.
-      num_rows_to_subtract = row_dim / pivot_dim;
+/*! \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);
+}
 
-      // 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 strong 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;
+/*! \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);
+}
 
-      // 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]);
-    }
-  }
+/*! \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);
+}
+
+/*! \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);
+}
+
+/*! \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);
+}
+
+/*! \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);
 }
-#endif // STRONG_REDUCTION
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Grid.defs.hh line 2777. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box.templates.hh line 1. */
+/* Box class implementation: non-inline template functions.
+*/
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 1. */
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BD_Shape.defs.hh line 1. */
 /* BD_Shape class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Matrix.defs.hh line 1. */
 /* DB_Matrix class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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 /home/bagnara/ppl/ppl/src/DB_Row.defs.hh line 1. */
 /* DB_Row class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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 /home/bagnara/ppl/ppl/src/Ptr_Iterator.defs.hh line 1. */
 /* Ptr_Iterator class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 27. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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 /home/bagnara/ppl/ppl/src/Ptr_Iterator.defs.hh line 27. */
 #include <iterator>
 
 namespace Parma_Polyhedra_Library {
@@ -40238,7 +41852,7 @@ private:
 	      const Ptr_Iterator<P>& y);
 };
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Ptr_Iterator.inlines.hh line 1. */
 /* Ptr_Iterator class implementation: inline functions.
 */
 
@@ -40405,9 +42019,9 @@ operator+(typename Ptr_Iterator<P>::difference_type m,
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Ptr_Iterator.defs.hh line 170. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Ptr_Iterator.defs.hh line 170. */
 
-/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 29. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Row.defs.hh line 29. */
 #include <cstddef>
 #include <vector>
 
@@ -40850,15 +42464,17 @@ void iter_swap(typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/DB_Row.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Row.inlines.hh line 1. */
 /* DB_Row class implementation: inline functions.
 */
 
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Row.inlines.hh line 27. */
 #include <cassert>
+#include <cstddef>
+#include <limits>
 #include <algorithm>
 #include <iostream>
-/* Automatically generated from PPL source file ../src/DB_Row.inlines.hh line 30. */
 
 namespace Parma_Polyhedra_Library {
 
@@ -40910,7 +42526,7 @@ DB_Row_Impl_Handler<T>::Impl::total_memory_in_bytes() const {
 template <typename T>
 inline dimension_type
 DB_Row_Impl_Handler<T>::Impl::max_size() {
-  return size_t(-1)/sizeof(T);
+  return std::numeric_limits<size_t>::max() / sizeof(T);
 }
 
 template <typename T>
@@ -41264,11 +42880,13 @@ iter_swap(typename std::vector<Parma_Polyhedra_Library::DB_Row<T> >
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/DB_Row.templates.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Row.templates.hh line 1. */
 /* DB_Row class implementation: non-inline template functions.
 */
 
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Row.templates.hh line 27. */
+
 namespace Parma_Polyhedra_Library {
 
 template <typename T>
@@ -41455,9 +43073,9 @@ operator==(const DB_Row<T>& x, const DB_Row<T>& y) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/DB_Row.defs.hh line 473. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Row.defs.hh line 473. */
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 31. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Matrix.defs.hh line 31. */
 #include <vector>
 #include <cstddef>
 #include <iosfwd>
@@ -41755,12 +43373,12 @@ bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Matrix.inlines.hh line 1. */
 /* DB_Matrix class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.inlines.hh line 29. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Matrix.inlines.hh line 29. */
 #include <cassert>
 #include <iostream>
 
@@ -42065,7 +43683,7 @@ swap(Parma_Polyhedra_Library::DB_Matrix<T>& x,
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.templates.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Matrix.templates.hh line 1. */
 /* DB_Matrix class implementation: non-inline template functions.
 */
 
@@ -42279,9 +43897,8 @@ DB_Matrix<T>::ascii_load(std::istream& s) {
   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_UP);
-      // FIXME: V_CVT_STR_UNK is probably not the only possible error.
-      if (!s || r == V_CVT_STR_UNK)
+      Result r = input(x[i][j], s, ROUND_CHECK);
+      if (r != V_EQ || is_minus_infinity(x[i][j]))
 	return false;
     }
 
@@ -42361,9 +43978,9 @@ IO_Operators::operator<<(std::ostream& s, const DB_Matrix<T>& c) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/DB_Matrix.defs.hh line 330. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/DB_Matrix.defs.hh line 330. */
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 47. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BD_Shape.defs.hh line 47. */
 #include <cstddef>
 #include <iosfwd>
 #include <vector>
@@ -44116,7 +45733,7 @@ private:
   DB_Matrix<N> dbm;
 
 #define PPL_IN_BD_Shape_CLASS
-/* Automatically generated from PPL source file ../src/BDS_Status.idefs.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BDS_Status.idefs.hh line 1. */
 /* BD_Shape<T>::Status class declaration.
 */
 
@@ -44211,7 +45828,7 @@ private:
   void reset(flags_t mask);
 };
 
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 1800. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BD_Shape.defs.hh line 1800. */
 #undef PPL_IN_BD_Shape_CLASS
 
   //! The status flags to keep track of the internal state.
@@ -44284,6 +45901,19 @@ private:
   */
   bool is_shortest_path_reduced() const;
 
+  /*! \brief
+    Incrementally computes shortest-path closure, assuming that only
+    constraints affecting variable \p var need to be considered.
+
+    \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;
+
   //! Checks if and how \p expr is bounded in \p *this.
   /*!
     Returns <CODE>true</CODE> if and only if \p from_above is
@@ -44370,6 +46000,24 @@ private:
                Coefficient& ext_n, Coefficient& ext_d, bool& included) const;
 
   /*! \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.
+
+    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.
+
+    \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);
+
+  bool BHZ09_upper_bound_assign_if_exact(const BD_Shape& y);
+
+  /*! \brief
     Uses the constraint \p c to refine \p *this.
 
     \param c
@@ -44517,674 +46165,285 @@ private:
 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
-
-/* Automatically generated from PPL source file ../src/BDS_Status.inlines.hh line 1. */
-/* BD_Shape<T>::Status class implementation: inline functions.
-*/
-
-
-namespace Parma_Polyhedra_Library {
-
-template <typename T>
-inline
-BD_Shape<T>::Status::Status(flags_t mask)
-  : flags(mask) {
-}
-
-template <typename T>
-inline
-BD_Shape<T>::Status::Status()
-  : flags(ZERO_DIM_UNIV) {
-}
-
-template <typename T>
-inline bool
-BD_Shape<T>::Status::test_all(flags_t mask) const {
-  return (flags & mask) == mask;
-}
-
-template <typename T>
-inline bool
-BD_Shape<T>::Status::test_any(flags_t mask) const {
-  return flags & mask;
-}
-
-template <typename T>
-inline void
-BD_Shape<T>::Status::set(flags_t mask) {
-  flags |= mask;
-}
-
-template <typename T>
-inline void
-BD_Shape<T>::Status::reset(flags_t mask) {
-  flags &= ~mask;
-}
-
-template <typename T>
-inline bool
-BD_Shape<T>::Status::test_zero_dim_univ() const {
-  return flags == ZERO_DIM_UNIV;
-}
-
-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;
-}
-
-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
-BD_Shape<T>::Status::test_empty() const {
-  return test_any(EMPTY);
-}
-
-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
-BD_Shape<T>::Status::test_shortest_path_closed() const {
-  return test_any(SHORTEST_PATH_CLOSED);
-}
-
-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);
-}
-
-template <typename T>
-inline void
-BD_Shape<T>::Status::set_shortest_path_closed() {
-  set(SHORTEST_PATH_CLOSED);
-}
-
-template <typename T>
-inline bool
-BD_Shape<T>::Status::test_shortest_path_reduced() const {
-  return test_any(SHORTEST_PATH_REDUCED);
-}
-
-template <typename T>
-inline void
-BD_Shape<T>::Status::reset_shortest_path_reduced() {
-  reset(SHORTEST_PATH_REDUCED);
-}
-
-template <typename T>
-inline void
-BD_Shape<T>::Status::set_shortest_path_reduced() {
-  assert(test_shortest_path_closed());
-  set(SHORTEST_PATH_REDUCED);
-}
-
-template <typename T>
-bool
-BD_Shape<T>::Status::OK() const {
-  if (test_zero_dim_univ())
-    // Zero-dim universe is OK.
-    return true;
-
-  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;
-    }
-  }
-
-  // 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;
-    }
-  }
-
-  // Any other case is OK.
-  return true;
-}
-
-
-namespace Implementation {
-
-namespace BD_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 sp_closed = "SPC";
-const std::string sp_reduced = "SPR";
-const char yes = '+';
-const char no = '-';
-const char sep = ' ';
-
-/*! \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;
-}
-
-} // namespace BD_Shapes
-
-} // namespace Implementation
-
-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;
-}
-
-PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(T, BD_Shape<T>::Status)
-
-template <typename T>
-bool
-BD_Shape<T>::Status::ascii_load(std::istream& s) {
-  using namespace Implementation::BD_Shapes;
-  bool positive;
-
-  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();
-
-  if (!get_field(s, sp_closed, positive))
-    return false;
-  if (positive)
-    set_shortest_path_closed();
-  else
-    reset_shortest_path_closed();
-
-  if (!get_field(s, sp_reduced, positive))
-    return false;
-  if (positive)
-    set_shortest_path_reduced();
-  else
-    reset_shortest_path_reduced();
-
-  // Check invariants.
-  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/C_Polyhedron.defs.hh line 1. */
-/* C_Polyhedron class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 32. */
-
-//! 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>.
-
-    \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;
-
-    \param kind
-    Specifies whether a universe or an empty C polyhedron should be built.
-
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space dimension.
-
-    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);
-
-  //! Builds a C polyhedron from a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
-
-    \param cs
-    The system of constraints defining the polyhedron.
-
-    \exception std::invalid_argument
-    Thrown if the system of constraints contains strict inequalities.
-  */
-  explicit C_Polyhedron(const Constraint_System& cs);
-
-  //! 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.
-
-    \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);
-
-  //! Builds a C polyhedron from a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
-
-    \param gs
-    The system of generators defining the polyhedron.
-
-    \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);
-
-  //! Builds a C polyhedron recycling a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
-
-    \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.
-
-    \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,
-    or if it contains closure points.
-  */
-  C_Polyhedron(Generator_System& gs, Recycle_Input dummy);
-
-  //! Builds a C polyhedron from a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence system.
-
-    \param cgs
-    The system of congruences defining the polyhedron.
-  */
-  explicit C_Polyhedron(const Congruence_System& cgs);
-
-  //! Builds a C polyhedron recycling a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence
-    system.
-
-    \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.
-
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  C_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
-
-  /*! \brief
-    Builds a C polyhedron representing the topological closure
-    of the NNC polyhedron \p y.
-
-    \param y
-    The NNC polyhedron to be used;
-
-    \param complexity
-    This argument is ignored.
-  */
-  explicit C_Polyhedron(const NNC_Polyhedron& y,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
-
-  //! 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.
-
-    \param box
-    The box representing the polyhedron to be approximated;
-
-    \param complexity
-    This argument is ignored.
-
-    \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);
-
-  //! 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.
-
-    \param bd
-    The BDS used to build the polyhedron.
-
-    \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);
-
-  //! 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.
-
-    \param os
-    The octagonal shape used to build the polyhedron.
-
-    \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);
-
-  //! 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.
-
-    \param grid
-    The grid used to build the polyhedron.
-
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  explicit C_Polyhedron(const Grid& grid,
-                        Complexity_Class complexity = ANY_COMPLEXITY);
-
-  //! Ordinary copy-constructor.
-  /*!
-    The complexity argument is ignored.
-  */
-  C_Polyhedron(const C_Polyhedron& y,
-               Complexity_Class complexity = ANY_COMPLEXITY);
-
-  /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  C_Polyhedron& operator=(const C_Polyhedron& y);
-
-  //! Assigns to \p *this the topological closure of the NNC polyhedron \p y.
-  C_Polyhedron& operator=(const NNC_Polyhedron& y);
-
-  //! Destructor.
-  ~C_Polyhedron();
-
-  /*! \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.
-  */
-  bool poly_hull_assign_if_exact(const C_Polyhedron& y);
+/*! \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);
 
-  //! Same as poly_hull_assign_if_exact(y).
-  bool upper_bound_assign_if_exact(const C_Polyhedron& y);
-};
+} // namespace std
 
-/* 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 /home/bagnara/ppl/ppl/src/BDS_Status.inlines.hh line 1. */
+/* BD_Shape<T>::Status class implementation: inline functions.
 */
 
 
-#include <algorithm>
-#include <stdexcept>
-
 namespace Parma_Polyhedra_Library {
 
+template <typename T>
 inline
-C_Polyhedron::~C_Polyhedron() {
+BD_Shape<T>::Status::Status(flags_t mask)
+  : flags(mask) {
 }
 
+template <typename T>
 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) {
+BD_Shape<T>::Status::Status()
+  : flags(ZERO_DIM_UNIV) {
 }
 
-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>
+inline bool
+BD_Shape<T>::Status::test_all(flags_t mask) const {
+  return (flags & mask) == mask;
 }
 
-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>
+inline bool
+BD_Shape<T>::Status::test_any(flags_t mask) const {
+  return flags & mask;
 }
 
-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>
+inline void
+BD_Shape<T>::Status::set(flags_t mask) {
+  flags |= mask;
 }
 
-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>
+inline void
+BD_Shape<T>::Status::reset(flags_t mask) {
+  flags &= ~mask;
 }
 
-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)) {
+template <typename T>
+inline bool
+BD_Shape<T>::Status::test_zero_dim_univ() const {
+  return flags == ZERO_DIM_UNIV;
 }
 
-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());
+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;
 }
 
-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());
+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;
 }
 
-inline
-C_Polyhedron::C_Polyhedron(const C_Polyhedron& y, Complexity_Class)
-  : Polyhedron(y) {
+template <typename T>
+inline bool
+BD_Shape<T>::Status::test_empty() const {
+  return test_any(EMPTY);
 }
 
-inline C_Polyhedron&
-C_Polyhedron::operator=(const C_Polyhedron& y) {
-  Polyhedron::operator=(y);
-  return *this;
+template <typename T>
+inline void
+BD_Shape<T>::Status::reset_empty() {
+  reset(EMPTY);
 }
 
-inline C_Polyhedron&
-C_Polyhedron::operator=(const NNC_Polyhedron& y) {
-  C_Polyhedron c_y(y);
-  swap(c_y);
-  return *this;
+template <typename T>
+inline void
+BD_Shape<T>::Status::set_empty() {
+  flags = EMPTY;
 }
 
+template <typename T>
 inline bool
-C_Polyhedron::upper_bound_assign_if_exact(const C_Polyhedron& y) {
-  return poly_hull_assign_if_exact(y);
+BD_Shape<T>::Status::test_shortest_path_closed() const {
+  return test_any(SHORTEST_PATH_CLOSED);
+}
+
+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);
+}
+
+template <typename T>
+inline void
+BD_Shape<T>::Status::set_shortest_path_closed() {
+  set(SHORTEST_PATH_CLOSED);
+}
+
+template <typename T>
+inline bool
+BD_Shape<T>::Status::test_shortest_path_reduced() const {
+  return test_any(SHORTEST_PATH_REDUCED);
+}
+
+template <typename T>
+inline void
+BD_Shape<T>::Status::reset_shortest_path_reduced() {
+  reset(SHORTEST_PATH_REDUCED);
+}
+
+template <typename T>
+inline void
+BD_Shape<T>::Status::set_shortest_path_reduced() {
+  assert(test_shortest_path_closed());
+  set(SHORTEST_PATH_REDUCED);
+}
+
+template <typename T>
+bool
+BD_Shape<T>::Status::OK() const {
+  if (test_zero_dim_univ())
+    // Zero-dim universe is OK.
+    return true;
+
+  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;
+    }
+  }
+
+  // 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;
+    }
+  }
+
+  // Any other case is OK.
+  return true;
+}
+
+
+namespace Implementation {
+
+namespace BD_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 sp_closed = "SPC";
+const std::string sp_reduced = "SPR";
+const char yes = '+';
+const char no = '-';
+const char sep = ' ';
+
+/*! \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;
+}
+
+} // namespace BD_Shapes
+
+} // namespace Implementation
+
+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;
+}
+
+PPL_OUTPUT_TEMPLATE_DEFINITIONS_ASCII_ONLY(T, BD_Shape<T>::Status)
+
+template <typename T>
+bool
+BD_Shape<T>::Status::ascii_load(std::istream& s) {
+  using namespace Implementation::BD_Shapes;
+  PPL_UNINITIALIZED(bool, positive);
+
+  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();
+
+  if (!get_field(s, sp_closed, positive))
+    return false;
+  if (positive)
+    set_shortest_path_closed();
+  else
+    reset_shortest_path_closed();
+
+  if (!get_field(s, sp_reduced, positive))
+    return false;
+  if (positive)
+    set_shortest_path_reduced();
+  else
+    reset_shortest_path_reduced();
+
+  // Check invariants.
+  assert(OK());
+  return true;
 }
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/C_Polyhedron.defs.hh line 278. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.defs.hh line 1. */
 /* Octagonal_Shape class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/OR_Matrix.defs.hh line 1. */
 /* OR_Matrix class declaration.
 */
 
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 31. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/OR_Matrix.types.hh line 1. */
+
+
+namespace Parma_Polyhedra_Library {
+
+template <typename T>
+class OR_Matrix;
+
+}
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/OR_Matrix.defs.hh line 31. */
 #include <cstddef>
 #include <iosfwd>
 
@@ -45282,7 +46541,7 @@ private:
     //! Subscript operator.
     U& operator[](dimension_type k) const;
 
-    //! Default constructor: creates a past-the-end object.
+    //! Default constructor: creates an invalid object that has to be assigned.
     Pseudo_Row();
 
     //! Assignment operator.
@@ -45758,15 +47017,15 @@ bool l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/OR_Matrix.inlines.hh line 1. */
 /* OR_Matrix class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 31. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/OR_Matrix.inlines.hh line 31. */
 #include <cassert>
 #include <algorithm>
-/* Automatically generated from PPL source file ../src/OR_Matrix.inlines.hh line 34. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/OR_Matrix.inlines.hh line 34. */
 
 namespace Parma_Polyhedra_Library {
 
@@ -45779,7 +47038,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) & ~dimension_type(1);
+  return k + 2 - k%2;
 }
 
 #if PPL_OR_MATRIX_EXTRA_DEBUG
@@ -45802,7 +47061,6 @@ OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row()
   , size_(0)
 #endif
 {
-  // FIXME: is zeroing necessary/wanted?
 }
 
 template <typename T>
@@ -45868,6 +47126,10 @@ OR_Matrix<T>::any_row_iterator<U>
     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
 }
 
 template <typename T>
@@ -45925,12 +47187,13 @@ 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) {
+  if (e % 2 != 0)
     ++increment;
 #if PPL_OR_MATRIX_EXTRA_DEBUG
+  else {
     value.size_ += 2;
-#endif
   }
+#endif
   i += increment;
   value.first += increment;
   return *this;
@@ -45951,7 +47214,7 @@ 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) {
+  if (e % 2 != 0) {
     ++decrement;
 #if PPL_OR_MATRIX_EXTRA_DEBUG
     value.size_ -= 2;
@@ -45974,16 +47237,15 @@ OR_Matrix<T>::any_row_iterator<U>::operator--(int) {
 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) {
+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 == 1)
+  if (e % 2 == 0 && m % 2 != 0)
     ++increment;
   e += m;
   i += increment;
   value.first += increment;
 #if PPL_OR_MATRIX_EXTRA_DEBUG
-  // FIXME!!!
-  value.size_ = OR_Matrix::row_size(e);
+  value.size_ += (m - m%2);
 #endif
   return *this;
 }
@@ -46070,7 +47332,7 @@ template <typename T>
 template <typename U>
 inline dimension_type
 OR_Matrix<T>::any_row_iterator<U>::row_size() const {
-  return (e+2) & ~dimension_type(1);
+  return OR_Matrix::row_size(e);
 }
 
 template <typename T>
@@ -46154,11 +47416,10 @@ isqrt(unsigned long x) {
 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.
+  // 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) & ~dimension_type(1);
+  return (k - 1) - (k - 1)%2;
 }
 
 template <typename T>
@@ -46241,7 +47502,8 @@ 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())) {
+    vec_capacity(compute_capacity(y.vec.size(),
+                                  DB_Row<T>::max_size())) {
 }
 
 template <typename T>
@@ -46250,7 +47512,8 @@ inline
 OR_Matrix<T>::OR_Matrix(const OR_Matrix<U>& y)
   : vec(),
     space_dim(y.space_dim),
-    vec_capacity(compute_capacity(y.vec.size())) {
+    vec_capacity(compute_capacity(y.vec.size(),
+                                  DB_Row<T>::max_size())) {
   vec.construct_upward_approximation(y.vec, vec_capacity);
   assert(OK());
 }
@@ -46260,7 +47523,7 @@ 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());
+  vec_capacity = compute_capacity(y.vec.size(), DB_Row<T>::max_size());
   return *this;
 }
 
@@ -46444,7 +47707,7 @@ swap(Parma_Polyhedra_Library::OR_Matrix<T>& x,
 } // namespace std
 
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.templates.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/OR_Matrix.templates.hh line 1. */
 /* OR_Matrix class implementation: non-inline template functions.
 */
 
@@ -46518,9 +47781,8 @@ OR_Matrix<T>::ascii_load(std::istream& s) {
     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_UP);
-      // FIXME: V_CVT_STR_UNK is probably not the only possible error.
-      if (!s || r == V_CVT_STR_UNK)
+      Result r = input(r_i[j], s, ROUND_CHECK);
+      if (r != V_EQ || is_minus_infinity(r_i[j]))
 	return false;
     }
   }
@@ -46547,9 +47809,9 @@ IO_Operators::operator<<(std::ostream& s, const OR_Matrix<T>& m) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/OR_Matrix.defs.hh line 606. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/OR_Matrix.defs.hh line 606. */
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 45. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.defs.hh line 45. */
 #include <vector>
 #include <cstddef>
 #include <climits>
@@ -48144,7 +49406,7 @@ private:
   // 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. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Og_Status.idefs.hh line 1. */
 /* Octagonal_Shape<T>::Status class declaration.
 */
 
@@ -48234,7 +49496,7 @@ private:
 
 };
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 1640. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.defs.hh line 1640. */
 #undef PPL_IN_Octagonal_Shape_CLASS
 
   //! The status flags to keep track of the internal state.
@@ -48423,6 +49685,15 @@ private:
   */
   void compute_leaders(std::vector<dimension_type>& leaders) const;
 
+  /*! \brief
+    Stores into \p non_redundant information about the matrix entries
+    that are non-redundant (i.e., will occur in 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.
+  */
+  void non_redundant_matrix_entries(std::vector<Bit_Row>& non_redundant) const;
+
   //! Removes the redundant constraints from \c this->matrix.
   void strong_reduction_assign() const;
 
@@ -48452,14 +49723,16 @@ private:
   //! Applies the strong-coherence step to \c this->matrix.
   void strong_coherence_assign();
 
-  //! Puts in \p *this all implicit constraints and computes the tighter ones.
-  /*!
-    \param var
-    The variable of the altered constraints.
-
-    The octagon `*this' was transitively closed except for the constraint on
-    variable `var'. This operation costs only \f$O(n^2)\f$.
+  /*! \brief
+    Incrementally computes strong closure, assuming that only
+    constraints affecting variable \p var need to be considered.
 
+    \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;
 
@@ -48548,6 +49821,7 @@ private:
                Coefficient& ext_n, Coefficient& ext_d, bool& included,
                Generator& g) const;
 
+  bool BHZ09_upper_bound_assign_if_exact(const Octagonal_Shape& y);
 
   friend std::ostream&
   Parma_Polyhedra_Library::IO_Operators
@@ -48595,7 +49869,7 @@ void swap(Parma_Polyhedra_Library::Octagonal_Shape<T>& x,
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Og_Status.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Og_Status.inlines.hh line 1. */
 /* Octagonal_Shape<T>::Status class implementation: inline functions.
 */
 
@@ -48772,7 +50046,7 @@ template <typename T>
 inline bool
 Octagonal_Shape<T>::Status::ascii_load(std::istream& s) {
   using namespace Implementation::Octagonal_Shapes;
-  bool positive;
+  PPL_UNINITIALIZED(bool, positive);
 
   if (!get_field(s, zero_dim_univ, positive))
     return false;
@@ -48798,12 +50072,12 @@ Octagonal_Shape<T>::Status::ascii_load(std::istream& s) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.inlines.hh line 1. */
 /* Octagonal_Shape class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.inlines.hh line 34. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.inlines.hh line 34. */
 #include <cassert>
 #include <algorithm>
 
@@ -48813,7 +50087,7 @@ namespace Parma_Polyhedra_Library {
 /*! \relates Octagonal_Shape */
 inline dimension_type
 coherent_index(const dimension_type i) {
-  return (i%2) ? i-1 : i+1;
+  return (i % 2 != 0) ? i-1 : i+1;
 }
 
 template <typename T>
@@ -49175,7 +50449,7 @@ Octagonal_Shape<T>
   assert(j < m_i.row_size());
   assert(den != 0);
 #endif
-  DIRTY_TEMP(N, k);
+  PPL_DIRTY_TEMP(N, k);
   div_round_up(k, num, den);
   add_octagonal_constraint(i, j, k);
 }
@@ -49362,9 +50636,7 @@ Octagonal_Shape<T>::strictly_contains(const Octagonal_Shape& y) const {
 template <typename T>
 inline bool
 Octagonal_Shape<T>::upper_bound_assign_if_exact(const Octagonal_Shape& y) {
-  // TODO: this must be properly implemented.
-  used(y);
-  return false;
+  return BHZ09_upper_bound_assign_if_exact(y);
 }
 
 /*! \relates Octagonal_Shape */
@@ -49416,9 +50688,9 @@ rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			    const Octagonal_Shape<T>& y,
 			    const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -49481,9 +50753,9 @@ euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			  const Octagonal_Shape<T>& y,
 			  const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -49546,9 +50818,9 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			   const Octagonal_Shape<T>& y,
 			   const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -49588,12 +50860,12 @@ swap(Parma_Polyhedra_Library::Octagonal_Shape<T>& x,
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.templates.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.templates.hh line 1. */
 /* Octagonal_Shape class implementation: non-inline template functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.templates.hh line 30. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.templates.hh line 30. */
 #include <cassert>
 #include <vector>
 #include <deque>
@@ -49681,8 +50953,8 @@ Octagonal_Shape<T>::Octagonal_Shape(const Polyhedron& ph,
     *this = Octagonal_Shape<T>(num_dimensions, UNIVERSE);
     // Get all the upper bounds.
     Generator g(point());
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    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'.
@@ -49775,7 +51047,7 @@ Octagonal_Shape<T>::Octagonal_Shape(const Generator_System& gs)
   typedef typename OR_Matrix<N>::row_reference_type Row_Reference;
   typename OR_Matrix<N>::row_iterator mat_begin = matrix.row_begin();
 
-  DIRTY_TEMP(N, tmp);
+  PPL_DIRTY_TEMP(N, tmp);
   bool mat_initialized = false;
   bool point_seen = false;
   // Going through all the points and closure points.
@@ -49955,8 +51227,8 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
+  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))
@@ -49981,7 +51253,7 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
 
   bool is_oct_changed = false;
   // Compute the bound for `m_i_j', rounding towards plus infinity.
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d);
   div_round_up(d, term, coeff);
   if (m_i_j > d) {
     m_i_j = d;
@@ -49990,7 +51262,7 @@ Octagonal_Shape<T>::add_constraint(const Constraint& c) {
 
   if (c.is_equality()) {
     // Select the cell to be modified for the ">=" part of constraint.
-    if (i%2 == 0)
+    if (i % 2 == 0)
       ++i_iter;
     else
       --i_iter;
@@ -50050,8 +51322,8 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
+  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))
@@ -50077,7 +51349,7 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
 
   bool is_oct_changed = false;
   // Compute the bound for `m_i_j', rounding towards plus infinity.
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d);
   div_round_up(d, term, coeff);
   if (m_i_j > d) {
     m_i_j = d;
@@ -50086,7 +51358,7 @@ Octagonal_Shape<T>::refine_no_check(const Constraint& c) {
 
   if (c.is_equality()) {
     // Select the cell to be modified for the ">=" part of constraint.
-    if (i%2 == 0)
+    if (i % 2 == 0)
       ++i_iter;
     else
       --i_iter;
@@ -50166,8 +51438,8 @@ Octagonal_Shape<T>::minimized_congruences() const {
     std::vector<dimension_type> leaders;
     compute_leaders(leaders);
 
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    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) {
@@ -50336,7 +51608,7 @@ Octagonal_Shape<T>::is_disjoint_from(const Octagonal_Shape& y) const {
 
   const Row_Iterator y_begin = y.matrix.row_begin();
 
-  DIRTY_TEMP(N, neg_y_ci_cj);
+  PPL_DIRTY_TEMP(N, neg_y_ci_cj);
   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);
@@ -50424,7 +51696,7 @@ Octagonal_Shape<T>::contains_integer_point() const {
   oct_z.reset_strongly_closed();
 
   typedef Octagonal_Shape<mpz_class>::N Z;
-  DIRTY_TEMP(N, tmp);
+  PPL_DIRTY_TEMP(N, tmp);
   bool all_integers = true;
   typename OR_Matrix<N>::const_element_iterator x_i = matrix.element_begin();
   for (typename OR_Matrix<Z>::element_iterator
@@ -50500,7 +51772,7 @@ Octagonal_Shape<T>::is_strong_coherent() const {
   const dimension_type num_rows = matrix.num_rows();
 
   // Allocated here once and for all.
-  DIRTY_TEMP(N, semi_sum);
+  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
@@ -50580,8 +51852,8 @@ Octagonal_Shape<T>::bounds(const Linear_Expression& expr,
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
+  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)
@@ -50636,8 +51908,8 @@ Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
+  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.
@@ -50664,28 +51936,28 @@ Octagonal_Shape<T>::max_min(const Linear_Expression& expr,
     // 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;
-    DIRTY_TEMP(N, d);
+    PPL_DIRTY_TEMP(N, d);
     if (!is_plus_infinity(m_i[j])) {
       const Coefficient& b = expr.inhomogeneous_term();
-      TEMP_INTEGER(minus_b);
+      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'.
-      DIRTY_TEMP(N, coeff_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 {
-        TEMP_INTEGER(minus_coeff_i);
+        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) {
-        DIRTY_TEMP(N, m_i_j);
+        PPL_DIRTY_TEMP(N, m_i_j);
         div2exp_assign_r(m_i_j, m_i[j], 1, ROUND_UP);
         add_mul_assign_r(d, coeff_expr, m_i_j, ROUND_UP);
       }
@@ -50781,10 +52053,10 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
         && Poly_Con_Relation::is_included();
   }
 
-  DIRTY_TEMP(Coefficient, min_num);
-  DIRTY_TEMP(Coefficient, min_den);
+  PPL_DIRTY_TEMP(Coefficient, min_num);
+  PPL_DIRTY_TEMP(Coefficient, min_den);
   bool min_included;
-  TEMP_INTEGER(mod);
+  PPL_DIRTY_TEMP_COEFFICIENT(mod);
   mod = cg.modulus();
   Linear_Expression le;
   for (dimension_type i = cg_space_dim; i-- > 0; )
@@ -50794,10 +52066,10 @@ Octagonal_Shape<T>::relation_with(const Congruence& cg) const {
   if (!bounded_below)
     return Poly_Con_Relation::strictly_intersects();
 
-  TEMP_INTEGER(v);
-  TEMP_INTEGER(lower_num);
-  TEMP_INTEGER(lower_den);
-  TEMP_INTEGER(lower);
+  PPL_DIRTY_TEMP_COEFFICIENT(v);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower);
   assign_r(lower_num, min_num, ROUND_NOT_NEEDED);
   assign_r(lower_den, min_den, ROUND_NOT_NEEDED);
   neg_assign(v, cg.inhomogeneous_term());
@@ -50851,8 +52123,8 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(c_term);
+  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.
@@ -50866,11 +52138,11 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
       Variable vk(k);
       le += c.coefficient(vk) * vk;
     }
-    DIRTY_TEMP(Coefficient, max_num);
-    DIRTY_TEMP(Coefficient, max_den);
+    PPL_DIRTY_TEMP(Coefficient, max_num);
+    PPL_DIRTY_TEMP(Coefficient, max_den);
     bool max_included;
-    DIRTY_TEMP(Coefficient, min_num);
-    DIRTY_TEMP(Coefficient, min_den);
+    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);
@@ -50970,22 +52242,22 @@ Octagonal_Shape<T>::relation_with(const Constraint& c) const {
 
   // Select the cell to be checked for the ">=" part of constraint.
   // Select the right row of the cell.
-  if (i%2 == 0)
+  if (i % 2 == 0)
     ++i_iter;
   else
     --i_iter;
   typename OR_Matrix<N>::const_row_reference_type m_ci = *i_iter;
   const N& m_ci_cj = m_ci[coherent_index(j)];
-  TEMP_INTEGER(numer);
-  TEMP_INTEGER(denom);
+  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.
-  DIRTY_TEMP0(mpq_class, q_x);
-  DIRTY_TEMP0(mpq_class, q_y);
-  DIRTY_TEMP0(mpq_class, d);
-  DIRTY_TEMP0(mpq_class, d1);
-  DIRTY_TEMP0(mpq_class, c_den);
-  DIRTY_TEMP0(mpq_class, q_den);
+  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);
@@ -51094,9 +52366,9 @@ 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();
 
-  TEMP_INTEGER(num);
-  TEMP_INTEGER(den);
-  TEMP_INTEGER(product);
+  PPL_DIRTY_TEMP_COEFFICIENT(num);
+  PPL_DIRTY_TEMP_COEFFICIENT(den);
+  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) {
@@ -51107,8 +52379,10 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
     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(0) : g.coefficient(x);
+    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
@@ -51187,15 +52461,17 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
       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(0) : g.coefficient(x);
-      const Coefficient& g_coeff_y = (y.space_dimension() > g_space_dim)
-        ? Coefficient(0) : g.coefficient(y);
-
-      // FIXME! Find better names.
-      const bool is_binary_equality = is_additive_inverse(m_ii_jj, m_i_j);
-      const bool is_a_binary_equality = is_additive_inverse(m_i_jj, m_ii_j);
-      if (is_binary_equality) {
+      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);
+
+      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()'.
@@ -51259,7 +52535,8 @@ Octagonal_Shape<T>::relation_with(const Generator& g) const {
         }
       }
 
-      if (is_a_binary_equality) {
+      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()'.
@@ -51365,8 +52642,8 @@ Octagonal_Shape<T>::strong_closure_assign() const {
   typename OR_Matrix<N>::element_iterator iter_ij;
   std::vector<N> vec_k(n_rows);
   std::vector<N> vec_ck(n_rows);
-  DIRTY_TEMP(N, sum1);
-  DIRTY_TEMP(N, sum2);
+  PPL_DIRTY_TEMP(N, sum1);
+  PPL_DIRTY_TEMP(N, sum2);
   Row_Reference x_k;
   Row_Reference x_ck;
   Row_Reference x_i;
@@ -51475,7 +52752,7 @@ Octagonal_Shape<T>::strong_coherence_assign() {
   // where ci = i + 1, if i is even number or
   //       ci = i - 1, if i is odd.
   // Ditto for cj.
-  DIRTY_TEMP(N, semi_sum);
+  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;
@@ -51527,10 +52804,6 @@ Octagonal_Shape<T>
   if (marked_empty() || marked_strongly_closed())
     return;
 
-  // Zero-dimensional octagons are necessarily strongly closed.
-  if (space_dim == 0)
-    return;
-
   Octagonal_Shape& x = const_cast<Octagonal_Shape<T>&>(*this);
 
   typedef typename OR_Matrix<N>::row_iterator Row_Iterator;
@@ -51555,20 +52828,20 @@ Octagonal_Shape<T>
   Row_Reference x_cv = *cv_iter;
   const dimension_type rs_v = v_iter.row_size();
   const dimension_type n_rows = x.matrix.num_rows();
-  DIRTY_TEMP(N, sum);
+  PPL_DIRTY_TEMP(N, sum);
   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) ? *(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) ? *(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)) {
@@ -51676,8 +52949,8 @@ Octagonal_Shape<T>
   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) ?
-          *(i_iter-1) : *(i_iter+1);
+    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) {
     //for (dimension_type j = i; j-- > 0; ) {
       dimension_type cj = coherent_index(j);
@@ -51708,8 +52981,8 @@ Octagonal_Shape<T>
        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) ? *(i_iter-1) : *(i_iter+1);
+    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) {
       dimension_type cj = coherent_index(j);
       if (is_additive_inverse(m_ci[cj], m_i[j]))
@@ -51750,17 +53023,53 @@ Octagonal_Shape<T>
 template <typename T>
 void
 Octagonal_Shape<T>::strong_reduction_assign() const {
-  // Zero-dimensional Octagonal shapes are necessarily reduced.
+  // Zero-dimensional octagonal shapes are necessarily reduced.
   if (space_dim == 0)
     return;
-
-  // First find the tightest constraints for this octagon.
   strong_closure_assign();
-
   // If `*this' is empty, then there is nothing to reduce.
   if (marked_empty())
     return;
 
+  // Detect non-redundant constraints.
+  std::vector<Bit_Row> non_red;
+  non_redundant_matrix_entries(non_red);
+
+  // 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);
+  assert(x_copy_before == x_copy_after);
+  assert(x.is_strongly_reduced());
+  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.
+  assert(space_dim > 0 && !marked_empty() && marked_strongly_closed());
+  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
@@ -51773,18 +53082,14 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
   compute_leaders(successor, no_sing_leaders, exist_sing_class, sing_leader);
   const dimension_type num_no_sing_leaders = no_sing_leaders.size();
 
-  Octagonal_Shape aux(space_dim);
-  // Step 2: add to auxiliary octagon only non-redundant
-  // constraints and construct a 0-cycle using only
-  // the leaders of the non-singular classes.
+  // 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];
     const dimension_type ci = coherent_index(i);
-    typename OR_Matrix<N>::const_row_reference_type m_i =
-      *(matrix.row_begin()+i);
-    typename OR_Matrix<N>::row_reference_type aux_i =
-      *(aux.matrix.row_begin()+i);
-    if (i%2 == 0) {
+    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
@@ -51794,18 +53099,18 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
         dimension_type j = i;
         dimension_type next_j = successor[j];
         while (j != next_j) {
-          aux.matrix[next_j][j] = matrix[next_j][j];
+          nr_rows[next_j].set(j);
           j = next_j;
           next_j = successor[j];
         }
         const dimension_type cj = coherent_index(j);
-        aux.matrix[cj][ci] = matrix[cj][ci];
+        nr_rows[cj].set(ci);
       }
     }
 
-    dimension_type rs_li = (li%2) ? li :li+1;
+    dimension_type rs_li = (li % 2 != 0) ? li :li+1;
     // Check if the constraint is redundant.
-    DIRTY_TEMP(N, tmp);
+    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);
@@ -51818,10 +53123,9 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
       if (j != ci) {
         add_assign_r(tmp, m_i_ci, matrix[cj][j], ROUND_UP);
         div2exp_assign_r(tmp, tmp, 1, ROUND_UP);
-        if (m_i_j >= tmp) {
-          to_add = false;
+        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
@@ -51855,9 +53159,9 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
         }
       }
 
-      // The constraint is not redundant.
       if (to_add)
-        aux_i[j] = m_i_j;
+        // The constraint is not redundant.
+        nr_rows[i].set(j);
     }
   }
 
@@ -51866,40 +53170,22 @@ Octagonal_Shape<T>::strong_reduction_assign() const {
   // variables.
   // Note: the singular class is not connected with the other classes.
   if (exist_sing_class) {
-    aux.matrix[sing_leader][sing_leader+1]
-      = matrix[sing_leader][sing_leader+1];
+    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) {
-        aux.matrix[next_jj][j] = matrix[next_jj][j];
+        nr_rows[next_jj].set(j);
         j = next_jj;
         next_jj = successor[j+1];
       }
-      aux.matrix[j+1][j] = matrix[j+1][j];
+      nr_rows[j+1].set(j);
     }
     else
-      aux.matrix[sing_leader+1][sing_leader]
-        = matrix[sing_leader+1][sing_leader];
-  }
-
-  Octagonal_Shape<T>& x = const_cast<Octagonal_Shape<T>&>(*this);
-  aux.reset_strongly_closed();
-
-#ifndef NDEBUG
-  {
-    // We assume that `aux' is equal to `*this'.
-    const Octagonal_Shape x_copy = *this;
-    const Octagonal_Shape y_copy = aux;
-    assert(x_copy == y_copy);
+      nr_rows[sing_leader+1].set(sing_leader);
   }
-#endif
-
-  std::swap(x, aux);
-  assert(is_strongly_reduced());
 }
 
-
 template <typename T>
 void
 Octagonal_Shape<T>::upper_bound_assign(const Octagonal_Shape& y) {
@@ -51994,11 +53280,251 @@ Octagonal_Shape<T>::difference_assign(const Octagonal_Shape& y) {
 
 template <typename T>
 bool
-Octagonal_Shape<T>
-::simplify_using_context_assign(const Octagonal_Shape& y) {
-  // FIXME: provide a real implementation.
-  used(y);
-  return true;
+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);
+
+  // 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();
+  }
+
+  // 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;
+  }
+
+  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;
+
+  // 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;
+      }
+      // 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;
+      }
+
+    // Not found: we were not able to build a constraint contradicting
+    // one of the constraints in `y': `x' cannot be enlarged.
+    return false;
+
+  found:
+    // Found: build a new OS contradicting the constraint found.
+    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);
+    assert(!is_plus_infinity(res.matrix_at(j, i)));
+    x.swap(res);
+    return false;
+  }
+
+  // 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();
+
+  // 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();
+  assert(x_num_nonred > 0);
+
+  // 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;
+
+  // 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);
+
+  // 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;
+      }
+    }
+  }
+
+  // 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);
+    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);
+    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;
+      }
+    }
+  }
+
+  // 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");
 }
 
 template <typename T>
@@ -52341,9 +53867,9 @@ Octagonal_Shape<T>
   bool is_oct_changed = false;
 
   // Allocate temporaries outside of the loop.
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(term);
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP_COEFFICIENT(coeff);
+  PPL_DIRTY_TEMP_COEFFICIENT(term);
+  PPL_DIRTY_TEMP(N, d);
 
   for (Constraint_System::const_iterator cs_i = cs.begin(),
          cs_end = cs.end(); cs_i != cs_end; ++cs_i) {
@@ -52380,7 +53906,7 @@ Octagonal_Shape<T>
         }
         else {
           // Select the right row of the cell.
-          if (i%2 == 0) {
+          if (i % 2 == 0) {
             ++i_iter;
             ++lo_iter;
           }
@@ -52631,7 +54157,7 @@ Octagonal_Shape<T>
   assert(sc_den > 0);
   assert(!is_plus_infinity(ub_v));
 
-  DIRTY_TEMP0(mpq_class, mpq_sc_den);
+  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'.
@@ -52639,14 +54165,14 @@ Octagonal_Shape<T>
   typename OR_Matrix<N>::row_reference_type m_cv = matrix[n_v+1];
 
   // Speculatively allocate temporaries out of the loop.
-  DIRTY_TEMP(N, half);
-  DIRTY_TEMP0(mpq_class, minus_lb_u);
-  DIRTY_TEMP0(mpq_class, q);
-  DIRTY_TEMP0(mpq_class, minus_q);
-  DIRTY_TEMP0(mpq_class, ub_u);
-  DIRTY_TEMP0(mpq_class, lb_u);
-  DIRTY_TEMP(N, up_approx);
-  TEMP_INTEGER(minus_expr_u);
+  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);
 
   for (dimension_type u_id = last_id+1; u_id-- > 0; ) {
     // Skip the case when `u_id == v_id'.
@@ -52750,7 +54276,7 @@ Octagonal_Shape<T>
   assert(sc_den > 0);
   assert(!is_plus_infinity(minus_lb_v));
 
-  DIRTY_TEMP0(mpq_class, mpq_sc_den);
+  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'.
@@ -52758,12 +54284,12 @@ Octagonal_Shape<T>
   typename OR_Matrix<N>::row_reference_type m_v = matrix[n_v];
 
   // Speculatively allocate temporaries out of the loop.
-  DIRTY_TEMP(N, half);
-  DIRTY_TEMP0(mpq_class, ub_u);
-  DIRTY_TEMP0(mpq_class, q);
-  DIRTY_TEMP0(mpq_class, minus_lb_u);
-  DIRTY_TEMP(N, up_approx);
-  TEMP_INTEGER(minus_expr_u);
+  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);
 
   for (dimension_type u_id = last_id+1; u_id-- > 0; ) {
     // Skip the case when `u_id == v_id'.
@@ -52988,7 +54514,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
   const Row_Iterator m_begin = matrix.row_begin();
   const dimension_type n_var = 2*var_id;
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign(minus_den, denominator);
 
   // Since we are only able to record octagonal differences, we can
@@ -53002,7 +54528,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
   if (t == 0) {
     // Case 1: expr == b.
-    TEMP_INTEGER(two_b);
+    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
     two_b = 2*b;
     switch (relsym) {
     case EQUAL:
@@ -53053,7 +54579,7 @@ Octagonal_Shape<T>::refine(const Variable var,
       break;
     case LESS_OR_EQUAL:
       {
-        DIRTY_TEMP(N, d);
+        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'.
@@ -53076,7 +54602,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
     case GREATER_OR_EQUAL:
       {
-        DIRTY_TEMP(N, d);
+        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'.
@@ -53108,7 +54634,7 @@ Octagonal_Shape<T>::refine(const Variable var,
     // 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);
-    TEMP_INTEGER(minus_b);
+    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;
@@ -53122,7 +54648,7 @@ Octagonal_Shape<T>::refine(const Variable var,
       minus_expr = -expr;
     const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-    DIRTY_TEMP(N, sum);
+    PPL_DIRTY_TEMP(N, sum);
     // Index of variable that is unbounded in `this'.
     PPL_UNINITIALIZED(dimension_type, pinf_index);
     // Number of unbounded variables found.
@@ -53131,7 +54657,7 @@ Octagonal_Shape<T>::refine(const Variable var,
     switch (relsym) {
     case EQUAL:
       {
-        DIRTY_TEMP(N, neg_sum);
+        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.
@@ -53142,10 +54668,10 @@ Octagonal_Shape<T>::refine(const Variable var,
         assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
         // Approximate the homogeneous part of `sc_expr'.
-        DIRTY_TEMP(N, coeff_i);
-        DIRTY_TEMP(N, half);
-        TEMP_INTEGER(minus_sc_i);
-        DIRTY_TEMP(N, minus_coeff_i);
+        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;
@@ -53236,7 +54762,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             // positive, this amounts to rounding downwards, which is
             // achieved as usual by rounding upwards `minus_sc_den'
             // and negating again the result.
-            DIRTY_TEMP(N, down_sc_den);
+            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);
@@ -53244,7 +54770,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           // Add the upper bound constraint, if meaningful.
           if (pinf_count == 0) {
             // Add the constraint `v <= sum'.
-            DIRTY_TEMP(N, double_sum);
+            PPL_DIRTY_TEMP(N, double_sum);
             mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
             matrix[n_var+1][n_var] = double_sum;
             // Deduce constraints of the form `v +/- u', where `u != v'.
@@ -53281,7 +54807,7 @@ Octagonal_Shape<T>::refine(const Variable var,
             // positive, this amounts to rounding downwards, which is
             // achieved as usual by rounding upwards `minus_sc_den'
             // and negating again the result.
-            DIRTY_TEMP(N, down_sc_den);
+            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);
@@ -53289,7 +54815,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           // Add the lower bound constraint, if meaningful.
           if (neg_pinf_count == 0) {
             // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-            DIRTY_TEMP(N, double_neg_sum);
+            PPL_DIRTY_TEMP(N, double_neg_sum);
             mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
             matrix[n_var][n_var+1] = double_neg_sum;
             // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -53330,9 +54856,9 @@ Octagonal_Shape<T>::refine(const Variable var,
         assign_r(sum, sc_b, ROUND_UP);
 
         // Approximate the homogeneous part of `sc_expr'.
-        DIRTY_TEMP(N, coeff_i);
-        DIRTY_TEMP(N, approx_i);
-        TEMP_INTEGER(minus_sc_i);
+        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;
@@ -53370,7 +54896,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           // 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.
-          DIRTY_TEMP(N, down_sc_den);
+          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);
@@ -53378,7 +54904,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
         if (pinf_count == 0) {
           // Add the constraint `v <= sum'.
-          DIRTY_TEMP(N, double_sum);
+          PPL_DIRTY_TEMP(N, double_sum);
           mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
           add_octagonal_constraint(n_var+1, n_var, double_sum);
           // Deduce constraints of the form `v +/- u', where `u != v'.
@@ -53416,9 +54942,9 @@ Octagonal_Shape<T>::refine(const Variable var,
         assign_r(sum, minus_sc_b, ROUND_UP);
 
         // Approximate the homogeneous part of `-sc_expr'.
-        DIRTY_TEMP(N, coeff_i);
-        DIRTY_TEMP(N, approx_i);
-        TEMP_INTEGER(minus_sc_i);
+        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();
@@ -53455,7 +54981,7 @@ Octagonal_Shape<T>::refine(const Variable var,
           // 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.
-          DIRTY_TEMP(N, down_sc_den);
+          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);
@@ -53463,7 +54989,7 @@ Octagonal_Shape<T>::refine(const Variable var,
 
         if (pinf_count == 0) {
           // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-          DIRTY_TEMP(N, double_sum);
+          PPL_DIRTY_TEMP(N, double_sum);
           mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
           add_octagonal_constraint(n_var, n_var+1, double_sum);
           // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -53550,7 +55076,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
 
   const dimension_type n_var = 2*var_id;
   const Coefficient& b = expr.inhomogeneous_term();
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
@@ -53566,7 +55092,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     // Case 1: expr == b.
     // Remove all constraints on `var'.
     forget_all_octagonal_constraints(var_id);
-    TEMP_INTEGER(two_b);
+    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);
@@ -53589,18 +55115,24 @@ Octagonal_Shape<T>::affine_image(const Variable var,
           else {
             // Translate all the constraints on `var' adding or
             // subtracting the value `b/denominator'.
-            DIRTY_TEMP(N, d);
+            PPL_DIRTY_TEMP(N, d);
             div_round_up(d, b, denominator);
-            DIRTY_TEMP(N, minus_d);
+            PPL_DIRTY_TEMP(N, minus_d);
             div_round_up(minus_d, b, minus_den);
             const Row_Iterator m_begin = matrix.row_begin();
             const Row_Iterator m_end = matrix.row_end();
             Row_Iterator m_iter = m_begin + n_var;
-            N& m_v_cv = (*m_iter)[n_var+1];
+            Row_Reference m_v = *m_iter;
             ++m_iter;
-            N& m_cv_v = (*m_iter)[n_var];
+            Row_Reference m_cv = *m_iter;
             ++m_iter;
-            // NOTE: delay update of m_v_cv and m_cv_v.
+            // 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);
+            }
             for ( ; m_iter != m_end; ++m_iter) {
               Row_Reference m_i = *m_iter;
               N& m_i_v = m_i[n_var];
@@ -53608,10 +55140,12 @@ Octagonal_Shape<T>::affine_image(const Variable var,
               N& m_i_cv = m_i[n_var+1];
               add_assign_r(m_i_cv, m_i_cv, minus_d, ROUND_UP);
             }
-            // Now update m_v_cv and m_cv_v.
+            // Now update unary constraints on var.
             mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
+            N& m_cv_v = m_cv[n_var];
             add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
             mul2exp_assign_r(minus_d, minus_d, 1, ROUND_IGNORE);
+            N& m_v_cv = m_v[n_var+1];
             add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
            }
           reset_strongly_closed();
@@ -53630,23 +55164,14 @@ Octagonal_Shape<T>::affine_image(const Variable var,
           // Strong closure is not preserved.
           reset_strongly_closed();
           if (b != 0) {
-            // Translate all the constraints on `var' adding or
-            // subtracting the value `b/denominator'.
-            DIRTY_TEMP(N, d);
+            // Translate the unary constraints on `var',
+            // adding or subtracting the value `b/denominator'.
+            PPL_DIRTY_TEMP(N, d);
             div_round_up(d, b, denominator);
-            DIRTY_TEMP(N, minus_d);
-            div_round_up(minus_d, b, minus_den);
-            ++m_iter;
-            for (const Row_Iterator m_end
-                   = matrix.row_end(); 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);
-            }
             mul2exp_assign_r(d, d, 1, ROUND_IGNORE);
             add_assign_r(m_cv_v, m_cv_v, d, ROUND_UP);
+            PPL_DIRTY_TEMP(N, minus_d);
+            div_round_up(minus_d, b, minus_den);
             mul2exp_assign_r(minus_d, minus_d, 1, ROUND_IGNORE);
             add_assign_r(m_v_cv, m_v_cv, minus_d, ROUND_UP);
           }
@@ -53699,7 +55224,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   // Note: approximating `-expr' from above and then negating the
   // result is the same as approximating `expr' from below.
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
   neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
 
   const Coefficient& sc_b = is_sc ? b : minus_b;
@@ -53714,8 +55239,8 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     minus_expr = -expr;
   const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-  DIRTY_TEMP(N, pos_sum);
-  DIRTY_TEMP(N, neg_sum);
+  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);
@@ -53728,10 +55253,10 @@ Octagonal_Shape<T>::affine_image(const Variable var,
   assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
   // Approximate the homogeneous part of `sc_expr'.
-  DIRTY_TEMP(N, coeff_i);
-  DIRTY_TEMP(N, minus_coeff_i);
-  DIRTY_TEMP(N, half);
-  TEMP_INTEGER(minus_sc_i);
+  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();
@@ -53825,7 +55350,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -53833,7 +55358,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     // Add the upper bound constraint, if meaningful.
     if (pos_pinf_count == 0) {
       // Add the constraint `v <= pos_sum'.
-      DIRTY_TEMP(N, double_pos_sum);
+      PPL_DIRTY_TEMP(N, double_pos_sum);
       mul2exp_assign_r(double_pos_sum, pos_sum, 1, ROUND_IGNORE);
       matrix[n_var+1][n_var] = double_pos_sum;
       // Deduce constraints of the form `v +/- u', where `u != v'.
@@ -53868,7 +55393,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -53876,7 +55401,7 @@ Octagonal_Shape<T>::affine_image(const Variable var,
     // Add the lower bound constraint, if meaningful.
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-      DIRTY_TEMP(N, double_neg_sum);
+      PPL_DIRTY_TEMP(N, double_neg_sum);
       mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
       matrix[n_var][n_var+1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -54003,7 +55528,7 @@ Octagonal_Shape<T>::affine_preimage(const Variable var,
     }
     else {
       // The transformation is invertible.
-      TEMP_INTEGER(minus_coeff_v);
+      PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_v);
       neg_assign(minus_coeff_v, coeff_v);
       Linear_Expression inverse = ((minus_coeff_v - denominator)*var);
       inverse += expr;
@@ -54085,7 +55610,7 @@ 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();
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
@@ -54099,7 +55624,7 @@ Octagonal_Shape<T>
 
   if (t == 0) {
     // Case 1: expr = b.
-    TEMP_INTEGER(two_b);
+    PPL_DIRTY_TEMP_COEFFICIENT(two_b);
     two_b = 2*b;
     // Remove all constraints on `var'.
     forget_all_octagonal_constraints(var_id);
@@ -54131,7 +55656,7 @@ Octagonal_Shape<T>
       switch (relsym) {
       case LESS_OR_EQUAL:
         {
-          DIRTY_TEMP(N, d);
+          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.
@@ -54199,7 +55724,7 @@ Octagonal_Shape<T>
 
       case GREATER_OR_EQUAL:
         {
-          DIRTY_TEMP(N, d);
+          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.
@@ -54287,7 +55812,7 @@ Octagonal_Shape<T>
   // a constraint providing an upper or a lower bound for `v'
   // (depending on `relsym').
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  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;
@@ -54301,7 +55826,7 @@ Octagonal_Shape<T>
     minus_expr = -expr;
   const Linear_Expression& sc_expr = is_sc ? expr : minus_expr;
 
-  DIRTY_TEMP(N, sum);
+  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.
@@ -54315,9 +55840,9 @@ Octagonal_Shape<T>
       // Approximate the inhomogeneous term.
       assign_r(sum, sc_b, ROUND_UP);
       // Approximate the homogeneous part of `sc_expr'.
-      DIRTY_TEMP(N, coeff_i);
-      DIRTY_TEMP(N, approx_i);
-      TEMP_INTEGER(minus_sc_i);
+      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;
@@ -54365,7 +55890,7 @@ Octagonal_Shape<T>
         // positive, this amounts to rounding downwards, which is
         // achieved as usual by rounding upwards
         // `minus_sc_den' and negating again the result.
-        DIRTY_TEMP(N, down_sc_den);
+        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);
@@ -54373,7 +55898,7 @@ Octagonal_Shape<T>
 
       if (pinf_count == 0) {
         // Add the constraint `v <= pos_sum'.
-        DIRTY_TEMP(N, double_sum);
+        PPL_DIRTY_TEMP(N, double_sum);
         mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
         matrix[n_var+1][n_var] = double_sum;
         // Deduce constraints of the form `v +/- u', where `u != v'.
@@ -54410,9 +55935,9 @@ Octagonal_Shape<T>
 
       // Approximate the inhomogeneous term.
       assign_r(sum, minus_sc_b, ROUND_UP);
-      DIRTY_TEMP(N, coeff_i);
-      TEMP_INTEGER(minus_sc_i);
-      DIRTY_TEMP(N, approx_i);
+      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; ) {
@@ -54460,7 +55985,7 @@ Octagonal_Shape<T>
         // positive, this amounts to rounding downwards, which is
         // achieved as usual by rounding upwards
         // `minus_sc_den' and negating again the result.
-        DIRTY_TEMP(N, down_sc_den);
+        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);
@@ -54468,7 +55993,7 @@ Octagonal_Shape<T>
 
       if (pinf_count == 0) {
         // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-        DIRTY_TEMP(N, double_sum);
+        PPL_DIRTY_TEMP(N, double_sum);
         mul2exp_assign_r(double_sum, sum, 1, ROUND_IGNORE);
         matrix[n_var][n_var+1] = double_sum;
         // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -54752,7 +56277,7 @@ 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();
-  TEMP_INTEGER(minus_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign_r(minus_den, denominator, ROUND_NOT_NEEDED);
 
   // `w' is the variable with index `w_id'.
@@ -54770,7 +56295,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
                              LESS_OR_EQUAL,
                              ub_expr,
                              denominator);
-    TEMP_INTEGER(two_b);
+    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);
@@ -54846,7 +56371,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   // Note: approximating `-expr' from above and then negating the
   // result is the same as approximating `expr' from below.
   const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(minus_b);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_b);
   neg_assign_r(minus_b, b, ROUND_NOT_NEEDED);
 
   const Coefficient& minus_sc_b = is_sc ? minus_b : b;
@@ -54860,7 +56385,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     minus_expr = -lb_expr;
   const Linear_Expression& sc_expr = is_sc ? lb_expr : minus_expr;
 
-  DIRTY_TEMP(N, neg_sum);
+  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.
@@ -54870,10 +56395,10 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
   assign_r(neg_sum, minus_sc_b, ROUND_UP);
 
   // Approximate the homogeneous part of `sc_expr'.
-  DIRTY_TEMP(N, coeff_i);
-  DIRTY_TEMP(N, minus_coeff_i);
-  DIRTY_TEMP(N, half);
-  TEMP_INTEGER(minus_sc_i);
+  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;
@@ -54943,7 +56468,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
       // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      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);
@@ -54951,7 +56476,7 @@ Octagonal_Shape<T>::bounded_affine_image(const Variable var,
     // Add the lower bound constraint, if meaningful.
     if (neg_pinf_count == 0) {
       // Add the constraint `v >= -neg_sum', i.e., `-v <= neg_sum'.
-      DIRTY_TEMP(N, double_neg_sum);
+      PPL_DIRTY_TEMP(N, double_neg_sum);
       mul2exp_assign_r(double_neg_sum, neg_sum, 1, ROUND_IGNORE);
       matrix[n_var][n_var+1] = double_neg_sum;
       // Deduce constraints of the form `-v +/- u', where `u != v'.
@@ -55036,7 +56561,7 @@ Octagonal_Shape<T>
       ? GREATER_OR_EQUAL : LESS_OR_EQUAL;
     const Linear_Expression inverse
       = expr - (expr_v + denominator)*var;
-    TEMP_INTEGER(inverse_den);
+    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;
@@ -55278,7 +56803,7 @@ Octagonal_Shape<T>::bounded_affine_preimage(const Variable var,
   add_space_dimensions_and_embed(1);
   const Linear_Expression lb_inverse
     = lb_expr - (expr_v + denominator)*var;
-  TEMP_INTEGER(inverse_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(inverse_den);
   neg_assign(inverse_den, expr_v);
   affine_image(new_var, lb_inverse, inverse_den);
   strong_closure_assign();
@@ -55314,8 +56839,8 @@ Octagonal_Shape<T>::constraints() const {
     Row_Iterator m_begin = matrix.row_begin();
     Row_Iterator m_end = matrix.row_end();
 
-    TEMP_INTEGER(a);
-    TEMP_INTEGER(b);
+    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; ) {
@@ -55453,7 +56978,7 @@ Octagonal_Shape<T>::expand_space_dimension(Variable var, dimension_type m) {
     }
     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) ? *(j_iter-1) : *(j_iter+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];
     }
@@ -55526,7 +57051,7 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
       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) ? *(j_iter-1) : *(j_iter+1);
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
       if (n_var == min_id) {
         max_assign(m_cj[n_var+1], m_tbf[j]);
         max_assign(m_cj[n_var], m_ctbf[j]);
@@ -55543,7 +57068,7 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
     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) ? *(j_iter-1) : *(j_iter+1);
+      Row_Reference m_cj = (j % 2 != 0) ? *(j_iter-1) : *(j_iter+1);
       max_assign(m_cj[n_var+1], m_cj[tbf_var+1]);
       max_assign(m_cj[n_var], m_cj[tbf_var]);
       max_assign(m_j[n_var], m_j[tbf_var]);
@@ -55553,6 +57078,156 @@ Octagonal_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
   remove_space_dimensions(to_be_folded);
 }
 
+template <typename T>
+bool
+Octagonal_Shape<T>
+::BHZ09_upper_bound_assign_if_exact(const Octagonal_Shape& y) {
+  // Declare a const reference to *this (to avoid accidental modifications).
+  const Octagonal_Shape& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
+
+  // Private method: the caller must ensure the following.
+  assert(x_space_dim == y.space_dimension());
+
+  // 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;
+  }
+
+  // Here both `x' and `y' are known to be non-empty.
+  assert(x.marked_strongly_closed());
+  assert(y.marked_strongly_closed());
+  // Pre-compute the upper bound of `x' and `y'.
+  Octagonal_Shape<T> ub(x);
+  ub.upper_bound_assign(y);
+
+  // 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);
+
+  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);
+
+  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();
+
+  for (dimension_type i = n_rows; i-- > 0; ) {
+    const Bit_Row& x_non_red_i = x_non_red[i];
+    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]);
+
+        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;
+        }
+      }
+    }
+  }
+
+  // The upper bound of x and y is indeed exact.
+  swap(ub);
+  assert(OK());
+  return true;
+}
+
 /*! \relates Parma_Polyhedra_Library::Octagonal_Shape */
 template <typename T>
 std::ostream&
@@ -55578,8 +57253,8 @@ IO_Operators::operator<<(std::ostream& s, const Octagonal_Shape<T>& x) {
   Row_Iterator m_end = x.matrix.row_end();
 
   // Temporaries.
-  DIRTY_TEMP(N, negation);
-  DIRTY_TEMP(N, half);
+  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; ) {
@@ -55956,9 +57631,9 @@ Octagonal_Shape<T>::throw_generic(const char* method,
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Octagonal_Shape.defs.hh line 2003. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Octagonal_Shape.defs.hh line 2015. */
 
-/* Automatically generated from PPL source file ../src/BD_Shape.inlines.hh line 34. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BD_Shape.inlines.hh line 34. */
 #include <cassert>
 #include <vector>
 #include <iostream>
@@ -56476,9 +58151,9 @@ rectilinear_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			    const BD_Shape<T>& y,
 			    const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -56541,9 +58216,9 @@ euclidean_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			  const BD_Shape<T>& y,
 			  const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -56606,9 +58281,9 @@ l_infinity_distance_assign(Checked_Number<To, Extended_Number_Policy>& r,
 			   const BD_Shape<T>& y,
 			   const Rounding_Dir dir) {
   typedef Checked_Number<Temp, Extended_Number_Policy> Checked_Temp;
-  DIRTY_TEMP(Checked_Temp, tmp0);
-  DIRTY_TEMP(Checked_Temp, tmp1);
-  DIRTY_TEMP(Checked_Temp, tmp2);
+  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);
 }
 
@@ -56646,7 +58321,7 @@ BD_Shape<T>::add_dbm_constraint(const dimension_type i,
   // Private method: the caller has to ensure the following.
   assert(i <= space_dimension() && j <= space_dimension() && i != j);
   assert(den != 0);
-  DIRTY_TEMP(N, k);
+  PPL_DIRTY_TEMP(N, k);
   div_round_up(k, num, den);
   add_dbm_constraint(i, j, k);
 }
@@ -56685,9 +58360,14 @@ BD_Shape<T>::upper_bound_assign_and_minimize(const BD_Shape& y) {
 template <typename T>
 inline bool
 BD_Shape<T>::upper_bound_assign_if_exact(const BD_Shape& y) {
-  // TODO: this must be properly implemented.
-  used(y);
-  return false;
+  // Dimension-compatibility check.
+  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
+  return BHZ09_upper_bound_assign_if_exact(y);
+#endif
 }
 
 template <typename T>
@@ -56806,12 +58486,12 @@ swap(Parma_Polyhedra_Library::BD_Shape<T>& x,
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/BD_Shape.templates.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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 36. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BD_Shape.templates.hh line 36. */
 #include <cassert>
 #include <vector>
 #include <deque>
@@ -56843,7 +58523,7 @@ BD_Shape<T>::BD_Shape(const Generator_System& gs)
 
   const dimension_type space_dim = space_dimension();
   DB_Row<N>& dbm_0 = dbm[0];
-  DIRTY_TEMP(N, tmp);
+  PPL_DIRTY_TEMP(N, tmp);
 
   bool dbm_initialized = false;
   bool point_seen = false;
@@ -57023,8 +58703,8 @@ 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());
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    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'.
@@ -57116,8 +58796,8 @@ BD_Shape<T>::minimized_congruences() const {
     // For the time being, we force the dimension with the following line.
     cgs.insert(0*Variable(space_dim-1) == 0);
 
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+    PPL_DIRTY_TEMP_COEFFICIENT(num);
+    PPL_DIRTY_TEMP_COEFFICIENT(den);
 
     // Compute leader information.
     std::vector<dimension_type> leaders;
@@ -57170,7 +58850,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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)",
@@ -57195,7 +58875,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
 
   bool changed = false;
   // Compute the bound for `x', rounding towards plus infinity.
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d);
   div_round_up(d, inhomo, coeff);
   if (x > d) {
     x = d;
@@ -57204,7 +58884,7 @@ BD_Shape<T>::add_constraint(const Constraint& c) {
 
   if (c.is_equality()) {
     // Also compute the bound for `y', rounding towards plus infinity.
-    TEMP_INTEGER(minus_c_term);
+    PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
     neg_assign(minus_c_term, inhomo);
     div_round_up(d, minus_c_term, coeff);
     if (y > d) {
@@ -57257,7 +58937,7 @@ BD_Shape<T>::refine_no_check(const Constraint& c) {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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;
@@ -57282,7 +58962,7 @@ BD_Shape<T>::refine_no_check(const Constraint& c) {
 
   bool changed = false;
   // Compute the bound for `x', rounding towards plus infinity.
-  DIRTY_TEMP(N, d);
+  PPL_DIRTY_TEMP(N, d);
   div_round_up(d, inhomo, coeff);
   if (x > d) {
     x = d;
@@ -57291,7 +58971,7 @@ BD_Shape<T>::refine_no_check(const Constraint& c) {
 
   if (c.is_equality()) {
     // Also compute the bound for `y', rounding towards plus infinity.
-    TEMP_INTEGER(minus_c_term);
+    PPL_DIRTY_TEMP_COEFFICIENT(minus_c_term);
     neg_assign(minus_c_term, inhomo);
     div_round_up(d, minus_c_term, coeff);
     if (y > d) {
@@ -57439,7 +59119,7 @@ BD_Shape<T>::is_disjoint_from(const BD_Shape& y) const {
   // `*this' and `y' are disjoint if
   // 1.) a_i_j < -b_j_i or
   // 2.) b_i_j < -a_j_i.
-  DIRTY_TEMP(N, tmp);
+  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; ) {
@@ -57518,7 +59198,7 @@ BD_Shape<T>::contains_integer_point() const {
   BD_Shape<mpz_class> bds_z(space_dim);
   typedef BD_Shape<mpz_class>::N Z;
   bds_z.reset_shortest_path_closed();
-  DIRTY_TEMP(N, tmp);
+  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];
@@ -57667,7 +59347,7 @@ BD_Shape<T>::is_shortest_path_reduced() const {
   // 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.
-  DIRTY_TEMP(N, c);
+  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];
@@ -57814,7 +59494,7 @@ BD_Shape<T>::bounds(const Linear_Expression& expr,
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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)
@@ -57872,7 +59552,7 @@ BD_Shape<T>::max_min(const Linear_Expression& expr,
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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
@@ -57901,21 +59581,21 @@ BD_Shape<T>::max_min(const Linear_Expression& expr,
     const N& x = (coeff < 0) ? dbm[i][j] : dbm[j][i];
     if (!is_plus_infinity(x)) {
       // Compute the maximize/minimize of `expr'.
-      DIRTY_TEMP(N, d);
+      PPL_DIRTY_TEMP(N, d);
       const Coefficient& b = expr.inhomogeneous_term();
-      TEMP_INTEGER(minus_b);
+      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'.
-      DIRTY_TEMP(N, coeff_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 {
-        TEMP_INTEGER(minus_coeff_i);
+        PPL_DIRTY_TEMP_COEFFICIENT(minus_coeff_i);
         neg_assign(minus_coeff_i, coeff_i);
         assign_r(coeff_expr, minus_coeff_i, ROUND_UP);
       }
@@ -57996,7 +59676,7 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
     dimension_type num_vars = 0;
     dimension_type i = 0;
     dimension_type j = 0;
-    TEMP_INTEGER(coeff);
+    PPL_DIRTY_TEMP_COEFFICIENT(coeff);
     if (extract_bounded_difference(c, cg_space_dim, num_vars,
                                     i, j, coeff))
       return relation_with(c);
@@ -58017,10 +59697,10 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
         && Poly_Con_Relation::is_included();
   }
 
-  DIRTY_TEMP(Coefficient, min_num);
-  DIRTY_TEMP(Coefficient, min_den);
+  PPL_DIRTY_TEMP(Coefficient, min_num);
+  PPL_DIRTY_TEMP(Coefficient, min_den);
   bool min_included;
-  TEMP_INTEGER(mod);
+  PPL_DIRTY_TEMP_COEFFICIENT(mod);
   mod = cg.modulus();
   Linear_Expression le;
   for (dimension_type i = cg_space_dim; i-- > 0; )
@@ -58030,10 +59710,10 @@ BD_Shape<T>::relation_with(const Congruence& cg) const {
   if (!bounded_below)
     return Poly_Con_Relation::strictly_intersects();
 
-  TEMP_INTEGER(v);
-  TEMP_INTEGER(lower_num);
-  TEMP_INTEGER(lower_den);
-  TEMP_INTEGER(lower);
+  PPL_DIRTY_TEMP_COEFFICIENT(v);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower_num);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower_den);
+  PPL_DIRTY_TEMP_COEFFICIENT(lower);
   assign_r(lower_num, min_num, ROUND_NOT_NEEDED);
   assign_r(lower_den, min_den, ROUND_NOT_NEEDED);
   neg_assign(v, cg.inhomogeneous_term());
@@ -58085,7 +59765,7 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
   dimension_type num_vars = 0;
   dimension_type i = 0;
   dimension_type j = 0;
-  TEMP_INTEGER(coeff);
+  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.
@@ -58098,11 +59778,11 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
       Variable vk(k);
       le += c.coefficient(vk) * vk;
     }
-    DIRTY_TEMP(Coefficient, max_num);
-    DIRTY_TEMP(Coefficient, max_den);
+    PPL_DIRTY_TEMP(Coefficient, max_num);
+    PPL_DIRTY_TEMP(Coefficient, max_den);
     bool max_included;
-    DIRTY_TEMP(Coefficient, min_num);
-    DIRTY_TEMP(Coefficient, min_den);
+    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);
@@ -58208,12 +59888,12 @@ 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.
-  DIRTY_TEMP0(mpq_class, q_x);
-  DIRTY_TEMP0(mpq_class, q_y);
-  DIRTY_TEMP0(mpq_class, d);
-  DIRTY_TEMP0(mpq_class, d1);
-  DIRTY_TEMP0(mpq_class, c_den);
-  DIRTY_TEMP0(mpq_class, q_den);
+  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);
@@ -58227,8 +59907,8 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
       // 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).
-      TEMP_INTEGER(numer);
-      TEMP_INTEGER(denom);
+      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);
@@ -58244,8 +59924,8 @@ BD_Shape<T>::relation_with(const Constraint& c) const {
   }
 
   // Here `x' is not plus-infinity.
-  TEMP_INTEGER(numer);
-  TEMP_INTEGER(denom);
+  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);
@@ -58320,17 +60000,17 @@ BD_Shape<T>::relation_with(const Generator& g) const {
   // all the constraints in the BDS.
 
   // Allocation of temporaries done once and for all.
-  TEMP_INTEGER(num);
-  TEMP_INTEGER(den);
-  TEMP_INTEGER(product);
+  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(0) : g.coefficient(Variable(i-1));
+      ? 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(0) : g.coefficient(Variable(j-1));
+        ? 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)) {
@@ -58415,7 +60095,7 @@ BD_Shape<T>::shortest_path_closure_assign() const {
     assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
   }
 
-  DIRTY_TEMP(N, sum);
+  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; ) {
@@ -58454,6 +60134,116 @@ BD_Shape<T>::shortest_path_closure_assign() const {
 
 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();
+  assert(var.id() < num_dimensions);
+
+  // 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);
+
+  // Fill the main diagonal with zeros.
+  for (dimension_type h = num_dimensions + 1; h-- > 0; ) {
+    assert(is_plus_infinity(x.dbm[h][h]));
+    assign_r(x.dbm[h][h], 0, ROUND_NOT_NEEDED);
+  }
+
+  // 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;
+  }
+
+  // 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);
+        }
+      }
+    }
+  }
+
+  // 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 {
+      assert(sgn(x_dbm_hh) == 0);
+      // Restore PLUS_INFINITY on the main diagonal.
+      assign_r(x_dbm_hh, PLUS_INFINITY, ROUND_NOT_NEEDED);
+    }
+  }
+
+  // The BDS is not empty and it is now shortest-path closed.
+  x.set_shortest_path_closed();
+}
+
+template <typename T>
+void
 BD_Shape<T>::shortest_path_reduction_assign() const {
   // Do something only if necessary.
   if (marked_shortest_path_reduced())
@@ -58492,7 +60282,7 @@ BD_Shape<T>::shortest_path_reduction_assign() const {
 
   // Step 2: flag non-redundant constraints in the (zero-cycle-free)
   // subsystem of bounded differences having only leaders as variables.
-  DIRTY_TEMP(N, c);
+  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];
@@ -58566,2115 +60356,1409 @@ BD_Shape<T>::upper_bound_assign(const BD_Shape& y) {
   shortest_path_closure_assign();
   if (marked_empty()) {
     *this = y;
-    return;
-  }
-
-  // The bds-hull consists in constructing `*this' with the maximum
-  // elements selected from `*this' and `y'.
-  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();
-  assert(OK());
-}
-
-template <typename T>
-void
-BD_Shape<T>::difference_assign(const BD_Shape& y) {
-  const dimension_type space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("difference_assign(y)", y);
-
-  BD_Shape new_bd_shape(space_dim, EMPTY);
-
-  BD_Shape& x = *this;
-
-  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;
-
-  // 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;
-  }
-
-  // TODO: This is just an executable specification.
-  //       Have to find a more efficient method.
-  if (y.contains(x)) {
-    x.set_empty();
-    return;
-  }
-
-  // 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;
-  assert(OK());
-}
-
-template <typename T>
-bool
-BD_Shape<T>::simplify_using_context_assign(const BD_Shape& y) {
-  // FIXME: provide a real implementation.
-  used(y);
-  return true;
-}
-
-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;
-
-  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);
-
-  // 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);
-
-  // 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();
-
-  // 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();
-
-  assert(OK());
-}
-
-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;
-
-  const dimension_type space_dim = space_dimension();
-
-  // 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();
-    }
-    assert(OK());
-    return;
-  }
-
-  // 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);
-
-  // 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);
-  }
-
-  if (marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  assert(OK());
-}
-
-template <typename T>
-void
-BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
-  // 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 (to_be_removed.empty()) {
-    assert(OK());
-    return;
-  }
-
-  const dimension_type old_space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_removed.space_dimension();
-  if (old_space_dim < min_space_dim)
-    throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
-
-  // Shortest-path closure is necessary to keep precision.
-  shortest_path_closure_assign();
-
-  // When removing _all_ dimensions from a BDS, we obtain the
-  // zero-dimensional BDS.
-  const dimension_type new_space_dim = old_space_dim - to_be_removed.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();
-    assert(OK());
-    return;
-  }
-
-  // Handle the case of an empty BD_Shape.
-  if (marked_empty()) {
-    dbm.resize_no_copy(new_space_dim + 1);
-    assert(OK());
-    return;
-  }
-
-  // Shortest-path closure is maintained.
-  // TODO: see whether reduction can be (efficiently!) maintained too.
-  if (marked_shortest_path_reduced())
-    reset_shortest_path_reduced();
-
-  // 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 tbr = to_be_removed.begin();
-  Variables_Set::const_iterator tbr_end = to_be_removed.end();
-  dimension_type dst = *tbr + 1;
-  dimension_type src = dst + 1;
-  for (++tbr; tbr != tbr_end; ++tbr) {
-    const dimension_type tbr_next = *tbr + 1;
-    // All other columns and rows are moved respectively to the left
-    // and above.
-    while (src < tbr_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;
-  }
-
-  // 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;
-  }
-
-  // Update the space dimension.
-  dbm.resize_no_copy(new_space_dim + 1);
-  assert(OK());
-}
-
-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;
-
-  if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the BDS becomes zero_dimensional.
-    remove_higher_space_dimensions(0);
-    return;
-  }
-
-  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();
-
-  // 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;
-  }
-
-  // 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();
-
-  // 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]);
-        }
-      }
-    }
-  }
-
-  std::swap(dbm, x);
-  assert(OK());
-}
-
-template <typename T>
-void
-BD_Shape<T>::intersection_assign(const BD_Shape& y) {
-  const dimension_type space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("intersection_assign(y)", y);
-
-  // 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;
-  }
-
-  // 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;
-
-  // 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;
-      }
-    }
-  }
-
-  if (changed && marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  assert(OK());
-}
-
-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();
-
-  // Dimension-compatibility check.
-  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;
-    assert(x_copy.contains(y_copy));
-  }
-#endif
-
-  // If both bounded difference shapes are zero-dimensional,
-  // since `*this' contains `y', we simply return `*this'.
-  if (space_dim == 0)
-    return;
-
-  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;
-
-  // 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;
-  }
-
-  // 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.
+    return;
+  }
+
+  // The bds-hull consists in constructing `*this' with the maximum
+  // elements selected from `*this' and `y'.
+  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 (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);
-      }
+      if (dbm_ij < y_dbm_ij)
+        dbm_ij = y_dbm_ij;
     }
   }
-  reset_shortest_path_closed();
+  // 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();
   assert(OK());
 }
 
 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.
-  assert(cs_space_dim <= space_dimension());
+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();
 
-  shortest_path_closure_assign();
-  bool changed = false;
-  TEMP_INTEGER(coeff);
-  TEMP_INTEGER(minus_c_term);
-  DIRTY_TEMP(N, d);
-  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;
-          }
-	}
+  // Private method: the caller must ensure the following.
+  assert(x_space_dim == y.space_dimension());
+
+  // 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;
+  }
+
+  // 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.
+
+  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);
+
+  // 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];
+        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 {
-          // 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;
-          }
+          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];
+        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);
         }
       }
     }
   }
 
-  // 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();
+  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;
+  }
+
+  // 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();
+  assert(env_lp.solve() != UNFEASIBLE_MIP_PROBLEM);
+
+  // 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;
+      }
+    }
+  }
+
+  // The upper bound of x and y is indeed exact.
+  upper_bound_assign(y);
+  assert(OK());
+  return true;
 }
 
 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);
-
-  // `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");
+bool
+BD_Shape<T>::BHZ09_upper_bound_assign_if_exact(const BD_Shape& y) {
+  // FIXME, CHECKME: what about inexact computations?
 
-  // Strict inequalities not allowed.
-  if (cs.has_strict_inequalities())
-    throw_generic("limited_CC76_extrapolation_assign(y, cs)",
-                  "cs has strict inequalities");
+  // 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 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;
+  // Private method: the caller must ensure the following.
+  assert(x_space_dim == y.space_dimension());
 
-#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;
-    assert(x_copy.contains(y_copy));
+  // 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;
   }
-#endif
 
-  // 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 both `x' and `y' are known to be non-empty.
+  x.shortest_path_reduction_assign();
+  y.shortest_path_reduction_assign();
+  assert(x.marked_shortest_path_closed());
+  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);
 
-  BD_Shape<T> limiting_shape(space_dim, UNIVERSE);
-  get_limiting_shape(cs, limiting_shape);
-  CC76_extrapolation_assign(y, tp);
-  intersection_assign(limiting_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);
+
+  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.
+      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.
+            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 (lhs < rhs)
+                return false;
+            }
+          }
+        }
+      }
+    }
+  }
+  // The upper bound of x and y is indeed exact.
+  swap(ub);
+  assert(OK());
+  return true;
 }
 
 template <typename T>
 void
-BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
+BD_Shape<T>::difference_assign(const BD_Shape& y) {
   const dimension_type space_dim = space_dimension();
 
   // Dimension-compatibility check.
   if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("BHMZ05_widening_assign(y)", y);
+    throw_dimension_incompatible("difference_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;
-    assert(x_copy.contains(y_copy));
-  }
-#endif
+  BD_Shape new_bd_shape(space_dim, EMPTY);
 
-  // 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;
+  BD_Shape& x = *this;
 
-  // If the affine dimension has changed, due to the inclusion hypothesis,
-  // the result is `*this'.
-  const dimension_type x_affine_dim = affine_dimension();
-  assert(x_affine_dim >= y_affine_dim);
-  if (x_affine_dim != y_affine_dim)
+  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;
 
-  // 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);
+  // 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;
   }
 
-  // Here no token is available.
-  assert(marked_shortest_path_closed() && y.marked_shortest_path_closed());
-  // Minimize `y'.
-  y.shortest_path_reduction_assign();
+  // TODO: This is just an executable specification.
+  //       Have to find a more efficient method.
+  if (y.contains(x)) {
+    x.set_empty();
+    return;
+  }
 
-  // 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);
+  // 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);
     }
   }
-  // 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();
+  *this = new_bd_shape;
   assert(OK());
 }
 
 template <typename T>
-void
-BD_Shape<T>::limited_BHMZ05_extrapolation_assign(const BD_Shape& y,
-                                                 const Constraint_System& cs,
-                                                 unsigned* tp) {
+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.
-  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");
-
-  // Strict inequalities are not allowed.
-  if (cs.has_strict_inequalities())
-    throw_generic("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
-  // differences in a zero-dimensional space, too.
-  if (space_dim == 0)
-    return;
+  if (dim != y.space_dimension())
+    throw_dimension_incompatible("simplify_using_context_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;
-    assert(x_copy.contains(y_copy));
+  // 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();
   }
-#endif
-
-  // 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;
-
-  BD_Shape<T> limiting_shape(space_dim, UNIVERSE);
-  get_limiting_shape(cs, limiting_shape);
-  BHMZ05_widening_assign(y, tp);
-  intersection_assign(limiting_shape);
-}
-
-template <typename T>
-void
-BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
-  const dimension_type space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  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;
-    assert(y_copy.contains(x_copy));
+  // 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;
   }
-#endif
 
-  // If both bounded difference shapes are zero-dimensional,
-  // since `y' contains `*this', we simply return `*this'.
-  if (space_dim == 0)
-    return;
+  // 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;
 
-  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;
+  found:
+    // Found: build a new BDS contradicting the constraint found.
+    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);
+    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;
+  }
 
-  // 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;
+  // 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();
+
+  // 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();
+  assert(x_num_nonredundant > 0);
+
+  // 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;
+
+  // 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;
+
+  // Compute leader information for `x'.
+  std::vector<dimension_type> x_leaders;
+  x.compute_leaders(x_leaders);
+
+  // 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;
+    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();
+    }
+    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;
       }
     }
   }
-  if (changed && marked_shortest_path_closed())
-    reset_shortest_path_closed();
-  assert(OK());
-}
 
-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) {
-  assert(sc_den > 0);
-  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)'.
-  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.
-  DIRTY_TEMP0(mpq_class, minus_lb_u);
-  DIRTY_TEMP0(mpq_class, q);
-  DIRTY_TEMP0(mpq_class, ub_u);
-  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);
-          }
+  // 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;
+    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();
+    }
+    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;
       }
     }
-}
+  }
 
-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) {
-  assert(sc_den > 0);
-  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'.
-  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.
-  DIRTY_TEMP0(mpq_class, ub_u);
-  DIRTY_TEMP0(mpq_class, q);
-  DIRTY_TEMP0(mpq_class, minus_lb_u);
-  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);
+  // 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();
+        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;
         }
       }
-    }
-}
-
-template <typename T>
-void
-BD_Shape<T>::forget_all_dbm_constraints(const dimension_type v) {
-  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);
+    }
   }
+  // This point should be unreachable.
+  throw std::runtime_error("PPL internal error");
 }
 
 template <typename T>
 void
-BD_Shape<T>::forget_binary_dbm_constraints(const dimension_type v) {
-  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);
-  }
-}
+BD_Shape<T>::add_space_dimensions_and_embed(const dimension_type m) {
+  // Adding no dimensions is a no-op.
+  if (m == 0)
+    return;
 
-template <typename T>
-void
-BD_Shape<T>::unconstrain(const Variable var) {
-  // Dimension-compatibility check.
-  const dimension_type dim = var.id();
-  if (space_dimension() < dim)
-    throw_dimension_incompatible("unconstrain(var)", dim);
+  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);
 
-  // Shortest-path closure is necessary to detect emptiness
-  // and all (possibly implicit) constraints.
-  shortest_path_closure_assign();
+  // 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);
 
-  // If the shape is empty, this is a no-op.
-  if (marked_empty())
-    return;
+  // 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();
+
+  // 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();
 
-  forget_all_dbm_constraints(dim+1);
-  // Shortest-path closure is preserved, but not reduction.
-  reset_shortest_path_reduced();
   assert(OK());
 }
 
 template <typename T>
 void
-BD_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
-  // The cylindrification wrt no dimensions is a no-op.
-  // This case captures the only legal cylindrification in a 0-dim space.
-  if (to_be_unconstrained.empty())
+BD_Shape<T>::add_space_dimensions_and_project(const dimension_type m) {
+  // Adding no dimensions is a no-op.
+  if (m == 0)
     return;
 
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
-  if (space_dimension() < min_space_dim)
-    throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
-
-  // Shortest-path closure is necessary to detect emptiness
-  // and all (possibly implicit) constraints.
-  shortest_path_closure_assign();
+  const dimension_type space_dim = space_dimension();
 
-  // If the shape is empty, this is a no-op.
-  if (marked_empty())
+  // 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();
+    }
+    assert(OK());
     return;
+  }
 
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu)
-    forget_all_dbm_constraints(*tbu + 1);
-  // Shortest-path closure is preserved, but not reduction.
-  reset_shortest_path_reduced();
+  // 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);
+
+  // 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);
+  }
+
+  if (marked_shortest_path_closed())
+    reset_shortest_path_closed();
   assert(OK());
 }
 
 template <typename T>
 void
-BD_Shape<T>::refine(const Variable var,
-                    const Relation_Symbol relsym,
-                    const Linear_Expression& expr,
-                    Coefficient_traits::const_reference denominator) {
-  assert(denominator != 0);
-  const dimension_type expr_space_dim = expr.space_dimension();
-  assert(space_dimension() >= expr_space_dim);
-  const dimension_type v = var.id() + 1;
-  assert(v <= space_dimension());
-  assert(expr.coefficient(var) == 0);
-  assert(relsym != LESS_THAN && relsym != GREATER_THAN);
+BD_Shape<T>::remove_space_dimensions(const Variables_Set& to_be_removed) {
+  // 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 (to_be_removed.empty()) {
+    assert(OK());
+    return;
+  }
 
-  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;
-    }
+  const dimension_type old_space_dim = space_dimension();
 
-  // 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;
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = to_be_removed.space_dimension();
+  if (old_space_dim < min_space_dim)
+    throw_dimension_incompatible("remove_space_dimensions(vs)", min_space_dim);
 
-  // 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];
-  TEMP_INTEGER(minus_den);
-  neg_assign(minus_den, denominator);
+  // Shortest-path closure is necessary to keep precision.
+  shortest_path_closure_assign();
 
-  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");
-    }
+  // When removing _all_ dimensions from a BDS, we obtain the
+  // zero-dimensional BDS.
+  const dimension_type new_space_dim = old_space_dim - to_be_removed.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();
+    assert(OK());
     return;
   }
 
-  if (t == 1) {
-    // Case 2: expr == a*w + b, w != v, a == denominator.
-    assert(expr.coefficient(Variable(w-1)) == denominator);
-    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");
-    }
+  // Handle the case of an empty BD_Shape.
+  if (marked_empty()) {
+    dbm.resize_no_copy(new_space_dim + 1);
+    assert(OK());
     return;
   }
 
-  // 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);
-  TEMP_INTEGER(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;
-
-  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;
-
-  // Speculative allocation of temporaries that are used in most
-  // of the computational traces starting from this point (also loops).
-  TEMP_INTEGER(minus_sc_i);
-  DIRTY_TEMP(N, coeff_i);
-
-  switch (relsym) {
-  case EQUAL:
-    {
-      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;
-
-      // Compute an upper approximation for `expr' into `sum',
-      // taking into account the sign of `denominator'.
-
-      // Approximate the inhomogeneous term.
-      assign_r(sum, sc_b, ROUND_UP);
-      assign_r(neg_sum, minus_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 `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) {
-        assert(OK());
-        return;
-      }
-
-      // In the following, shortest-path closure will be definitely lost.
-      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
-      // rounding downwards, which is achieved as usual by rounding upwards
-      // `minus_sc_den' and negating again the result.
-      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);
-
-      // 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;
-      }
+  // Shortest-path closure is maintained.
+  // TODO: see whether reduction can be (efficiently!) maintained too.
+  if (marked_shortest_path_reduced())
+    reset_shortest_path_reduced();
 
-      // 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;
+  // 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 tbr = to_be_removed.begin();
+  Variables_Set::const_iterator tbr_end = to_be_removed.end();
+  dimension_type dst = *tbr + 1;
+  dimension_type src = dst + 1;
+  for (++tbr; tbr != tbr_end; ++tbr) {
+    const dimension_type tbr_next = *tbr + 1;
+    // All other columns and rows are moved respectively to the left
+    // and above.
+    while (src < tbr_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;
     }
-    break;
-
-  case LESS_OR_EQUAL:
-    // Compute an upper approximation for `expr' into `sum',
-    // taking into account the sign of `denominator'.
-
-    // Approximate the inhomogeneous term.
-    assign_r(sum, sc_b, ROUND_UP);
+    ++src;
+  }
 
-    // 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);
+  // 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;
+  }
 
-    // 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.
-      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);
-    }
+  // Update the space dimension.
+  dbm.resize_no_copy(new_space_dim + 1);
+  assert(OK());
+}
 
-    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;
+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;
 
-  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.
+  if (pfunc.has_empty_codomain()) {
+    // All dimensions vanish: the BDS becomes zero_dimensional.
+    remove_higher_space_dimensions(0);
+    return;
+  }
 
-    // Approximate the inhomogeneous term.
-    assign_r(sum, minus_sc_b, ROUND_UP);
+  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();
 
-    // 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);
-    }
+  // 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;
+  }
+
+  // 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();
 
-    // 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.
-      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);
+  // 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]);
     }
-
-    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);
+  }
+  // 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]);
+        }
+      }
     }
-    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;
-
-  default:
-    // We already dealt with the other cases.
-    throw std::runtime_error("PPL internal error");
   }
 
+  std::swap(dbm, x);
   assert(OK());
 }
 
 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");
-
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
+BD_Shape<T>::intersection_assign(const BD_Shape& y) {
   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 shape.
-  const dimension_type v = var.id() + 1;
-  if (v > space_dim)
-    throw_dimension_incompatible("affine_image(v, e, d)", var.id());
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("intersection_assign(y)", y);
 
-  // The image of an empty BDS is empty too.
-  shortest_path_closure_assign();
+  // If one of the two bounded difference shapes is empty,
+  // the intersection is empty.
   if (marked_empty())
     return;
-
-  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;
-    }
-
-  // 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.
-  TEMP_INTEGER(minus_den);
-  neg_assign(minus_den, denominator);
-
-  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);
-    assert(OK());
+  if (y.marked_empty()) {
+    set_empty();
     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) {
-      // 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'.
-            DIRTY_TEMP(N, d);
-            div_round_up(d, b, denominator);
-            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'.
-            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);
-            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'.
-            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'.
-            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();
-          }
-        }
+  // 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;
+
+  // 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;
       }
-      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.
-  // We will remove all the constraints on `var' and add back
-  // constraints providing upper and lower bounds for `var'.
+  if (changed && marked_shortest_path_closed())
+    reset_shortest_path_closed();
+  assert(OK());
+}
 
-  // 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);
-  TEMP_INTEGER(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;
+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();
 
-  DIRTY_TEMP(N, pos_sum);
-  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;
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("CC76_extrapolation_assign(y)", y);
 
-  // Approximate the inhomogeneous term.
-  assign_r(pos_sum, sc_b, ROUND_UP);
-  assign_r(neg_sum, minus_sc_b, ROUND_UP);
+#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;
+    assert(x_copy.contains(y_copy));
+  }
+#endif
 
-  // 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.
-  DIRTY_TEMP(N, coeff_i);
-  TEMP_INTEGER(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;
+  // If both bounded difference shapes are zero-dimensional,
+  // since `*this' contains `y', we simply return `*this'.
+  if (space_dim == 0)
+    return;
+
+  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;
+
+  // 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;
+  }
+
+  // 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);
       }
     }
-    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);
+  }
+  reset_shortest_path_closed();
+  assert(OK());
+}
+
+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.
+  assert(cs_space_dim <= space_dimension());
+
+  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 {
-          ++neg_pinf_count;
-          neg_pinf_index = i;
+          // 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;
+          }
         }
       }
     }
   }
 
-  // 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) {
-    assert(OK());
-    return;
-  }
+  // 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();
+}
 
-  // In the following, shortest-path closure will be definitely lost.
-  reset_shortest_path_closed();
+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);
 
-  // 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.
-      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;
-  }
+  // `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");
 
-  // 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.
-      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;
+  // Strict inequalities not allowed.
+  if (cs.has_strict_inequalities())
+    throw_generic("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
+  // differences in a zero-dimensional space, too.
+  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;
+    assert(x_copy.contains(y_copy));
   }
+#endif
 
-  assert(OK());
+  // 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;
+
+  BD_Shape<T> limiting_shape(space_dim, UNIVERSE);
+  get_limiting_shape(cs, limiting_shape);
+  CC76_extrapolation_assign(y, tp);
+  intersection_assign(limiting_shape);
 }
 
 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");
-
-  // Dimension-compatibility checks.
-  // The dimension of `expr' should not be greater than the dimension
-  // of `*this'.
+BD_Shape<T>::BHMZ05_widening_assign(const BD_Shape& y, unsigned* tp) {
   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);
 
-  // `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());
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("BHMZ05_widening_assign(y)", y);
 
-  // The image of an empty BDS is empty too.
-  shortest_path_closure_assign();
-  if (marked_empty())
+#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;
+    assert(x_copy.contains(y_copy));
+  }
+#endif
+
+  // 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;
 
-  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;
-    }
+  // If the affine dimension has changed, due to the inclusion hypothesis,
+  // the result is `*this'.
+  const dimension_type x_affine_dim = affine_dimension();
+  assert(x_affine_dim >= y_affine_dim);
+  if (x_affine_dim != y_affine_dim)
+    return;
 
-  // 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();
-    assert(OK());
+  // 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;
   }
 
-  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();
-        assert(OK());
-      }
-      return;
-    }
-  }
+  // Here no token is available.
+  assert(marked_shortest_path_closed() && y.marked_shortest_path_closed());
+  // Minimize `y'.
+  y.shortest_path_reduction_assign();
 
-  // 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();
+  // 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();
   assert(OK());
 }
 
 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");
+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");
 
-  // 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);
+  // Strict inequalities are not allowed.
+  if (cs.has_strict_inequalities())
+    throw_generic("limited_BHMZ05_extrapolation_assign(y, cs)",
+                  "cs has strict inequalities");
 
-  // Any image of an empty BDS is empty.
-  shortest_path_closure_assign();
+  // 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;
+
+#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;
+    assert(x_copy.contains(y_copy));
+  }
+#endif
+
+  // 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;
 
-  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;
-    }
+  BD_Shape<T> limiting_shape(space_dim, UNIVERSE);
+  get_limiting_shape(cs, limiting_shape);
+  BHMZ05_widening_assign(y, tp);
+  intersection_assign(limiting_shape);
+}
 
-  // 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.
-  TEMP_INTEGER(minus_den);
-  neg_assign(minus_den, denominator);
+template <typename T>
+void
+BD_Shape<T>::CC76_narrowing_assign(const BD_Shape& y) {
+  const dimension_type space_dim = space_dimension();
 
-  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);
-    assert(OK());
-    return;
-  }
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
 
-  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();
-        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'.
-            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();
-          }
-        }
-        assert(OK());
-        return;
-      }
-    }
+#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;
+    assert(y_copy.contains(x_copy));
   }
+#endif
 
-  // 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'.
-
-  // Compute upper approximations for `ub_expr' into `pos_sum'
-  // taking into account the sign of `denominator'.
-  const bool is_sc = (denominator > 0);
-  TEMP_INTEGER(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;
+  // If both bounded difference shapes are zero-dimensional,
+  // since `y' contains `*this', we simply return `*this'.
+  if (space_dim == 0)
+    return;
 
-  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;
+  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;
 
-  // Approximate the inhomogeneous term.
-  assign_r(pos_sum, sc_b, ROUND_UP);
+  // 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();
+  assert(OK());
+}
 
-  // Approximate the homogeneous part of `sc_expr'.
+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) {
+  assert(sc_den > 0);
+  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.
-  DIRTY_TEMP(N, coeff_i);
-  TEMP_INTEGER(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);
+  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 {
-          ++pos_pinf_count;
-          pos_pinf_index = i;
+          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);
+          }
         }
       }
     }
-    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);
+}
+
+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) {
+  assert(sc_den > 0);
+  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 {
-          ++pos_pinf_count;
-          pos_pinf_index = i;
+          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);
+          }
         }
       }
     }
-  }
-  // 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;
-  }
-
-  // In the following, shortest-path closure will be definitely lost.
-  reset_shortest_path_closed();
+}
 
-  // 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.
-      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;
+template <typename T>
+void
+BD_Shape<T>::forget_all_dbm_constraints(const dimension_type v) {
+  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);
   }
-  assert(OK());
 }
 
 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");
+BD_Shape<T>::forget_binary_dbm_constraints(const dimension_type v) {
+  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);
+  }
+}
 
-  // 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);
+template <typename T>
+void
+BD_Shape<T>::unconstrain(const Variable var) {
+  // Dimension-compatibility check.
+  const dimension_type dim = var.id();
+  if (space_dimension() < dim)
+    throw_dimension_incompatible("unconstrain(var)", dim);
 
-  // Any preimage of an empty BDS is empty.
+  // Shortest-path closure is necessary to detect emptiness
+  // and all (possibly implicit) constraints.
   shortest_path_closure_assign();
-  if (marked_empty())
-    return;
 
-  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);
+  // If the shape is empty, this is a no-op.
+  if (marked_empty())
     return;
-  }
 
-  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;
-  TEMP_INTEGER(lb_inverse_den);
-  neg_assign(lb_inverse_den, lb_expr_v);
-  affine_image(new_var, lb_inverse, lb_inverse_den);
-  shortest_path_closure_assign();
-  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);
+  forget_all_dbm_constraints(dim+1);
+  // Shortest-path closure is preserved, but not reduction.
+  reset_shortest_path_reduced();
+  assert(OK());
 }
 
 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");
-
-  // 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);
-
-  // `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 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");
-
-  if (relsym == EQUAL) {
-    // The relation symbol is "==":
-    // this is just an affine image computation.
-    affine_image(var, expr, denominator);
+BD_Shape<T>::unconstrain(const Variables_Set& to_be_unconstrained) {
+  // The cylindrification wrt no dimensions is a no-op.
+  // This case captures the only legal cylindrification in a 0-dim space.
+  if (to_be_unconstrained.empty())
     return;
-  }
 
-  // The image of an empty BDS is empty too.
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = to_be_unconstrained.space_dimension();
+  if (space_dimension() < min_space_dim)
+    throw_dimension_incompatible("unconstrain(vs)", min_space_dim);
+
+  // Shortest-path closure is necessary to detect emptiness
+  // and all (possibly implicit) constraints.
   shortest_path_closure_assign();
+
+  // If the shape is empty, this is a no-op.
   if (marked_empty())
     return;
 
+  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
+         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu)
+    forget_all_dbm_constraints(*tbu + 1);
+  // Shortest-path closure is preserved, but not reduction.
+  reset_shortest_path_reduced();
+  assert(OK());
+}
+
+template <typename T>
+void
+BD_Shape<T>::refine(const Variable var,
+                    const Relation_Symbol relsym,
+                    const Linear_Expression& expr,
+                    Coefficient_traits::const_reference denominator) {
+  assert(denominator != 0);
+  const dimension_type expr_space_dim = expr.space_dimension();
+  assert(space_dimension() >= expr_space_dim);
+  const dimension_type v = var.id() + 1;
+  assert(v <= space_dimension());
+  assert(expr.coefficient(var) == 0);
+  assert(relsym != LESS_THAN && relsym != GREATER_THAN);
+
   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.
@@ -60690,25 +61774,30 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
         w = i+1;
     }
 
+  // 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;
+
   // 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, then expr == a*w + b, where `w != v' and `a == denominator';
   // - If t == 2, the `expr' is of the general form.
-  DB_Row<N>& dbm_0 = dbm[0];
-  DB_Row<N>& dbm_v = dbm[v];
-  TEMP_INTEGER(minus_den);
+  const DB_Row<N>& dbm_0 = dbm[0];
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_den);
   neg_assign(minus_den, denominator);
 
   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 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);
@@ -60722,175 +61811,214 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       // We already dealt with the other cases.
       throw std::runtime_error("PPL internal error");
     }
-    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) {
-      // Case 2: expr == a*w + b, with a == +/- denominator.
-      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);
+    // Case 2: expr == a*w + b, w != v, a == denominator.
+    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;
+  }
+
+  // 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;
+
+  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;
+
+  // 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);
+
+  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;
+
+      // Compute an upper approximation for `expr' into `sum',
+      // taking into account the sign of `denominator'.
+
+      // Approximate the inhomogeneous term.
+      assign_r(sum, sc_b, ROUND_UP);
+      assign_r(neg_sum, minus_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 `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;
             }
           }
-          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();
+          // 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;
             }
           }
         }
-        break;
-
-      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 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;
             }
           }
-          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();
+          // 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;
             }
           }
         }
-        break;
+      }
+      // Return immediately if no approximation could be computed.
+      if (pinf_count > 1 && neg_pinf_count > 1) {
+        assert(OK());
+        return;
+      }
 
-      default:
-        // We already dealt with the other cases.
-        throw std::runtime_error("PPL internal error");
+      // In the following, shortest-path closure will be definitely lost.
+      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
+      // 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);
+
+      // 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;
+      }
+
+      // 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;
       }
-      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.
-  // 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);
-  TEMP_INTEGER(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;
-
-  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;
-
-  // Speculative allocation of temporaries to be used in the following loops.
-  DIRTY_TEMP(N, coeff_i);
-  TEMP_INTEGER(minus_sc_i);
+    break;
 
-  switch (relsym) {
   case LESS_OR_EQUAL:
-    // Compute an upper approximation for `sc_expr' into `sum'.
+    // Compute an upper approximation for `expr' into `sum',
+    // taking into account the sign of `denominator'.
 
     // 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'.
+    // 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);
@@ -60913,24 +62041,13 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
     }
 
-    // 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) {
-      assert(OK());
-      return;
-    }
-
     // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      // 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);
@@ -60943,11 +62060,10 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       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)
+      if (expr.coefficient(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'.
@@ -60956,8 +62072,9 @@ 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) {
+    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)
@@ -60979,24 +62096,13 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
       add_mul_assign_r(sum, coeff_i, approx_i, ROUND_UP);
     }
 
-    // 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) {
-      assert(OK());
-      return;
-    }
-
     // 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.
-      DIRTY_TEMP(N, down_sc_den);
+      // 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);
@@ -61020,204 +62126,18 @@ BD_Shape<T>::generalized_affine_image(const Variable var,
     // We already dealt with the other cases.
     throw std::runtime_error("PPL internal error");
   }
-  assert(OK());
-}
-
-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);
-
-  // 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");
-
-  // The image of an empty BDS is empty.
-  shortest_path_closure_assign();
-  if (marked_empty())
-    return;
-
-  // 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;
-    }
-
-  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.
-      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;
-      }
-
-    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'.
-
-#if 1 // Simplified computation (see the TODO note below).
-
-      for (dimension_type i = lhs_vars.size(); i-- > 0; )
-        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
-
-#else // Currently unnecessarily complex computation.
-
-      // More accurate computation that is worth doing only if
-      // the following TODO note is accurately dealt with.
-
-      // 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();
-      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.
-    }
-  }
 
   assert(OK());
 }
 
 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) {
+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("generalized_affine_preimage(v, r, e, d)", "d == 0");
+    throw_generic("affine_image(v, e, d)", "d == 0");
 
   // Dimension-compatibility checks.
   // The dimension of `expr' should not be greater than the dimension
@@ -61225,9697 +62145,10831 @@ BD_Shape<T>::generalized_affine_preimage(const Variable var,
   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);
+    throw_dimension_incompatible("affine_image(v, e, d)", "e", expr);
 
-  // `var' should be one of the dimensions of the BDS.
+  // `var' should be one of the dimensions of the shape.
   const dimension_type v = var.id() + 1;
   if (v > space_dim)
-    throw_dimension_incompatible("generalized_affine_preimage(v, r, e, d)",
-                                 var.id());
-
-  // 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 (relsym == EQUAL) {
-    // The relation symbol is "==":
-    // this is just an affine preimage computation.
-    affine_preimage(var, expr, denominator);
-    return;
-  }
-
-  // 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;
-    TEMP_INTEGER(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;
-  }
-
-  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();
-  assert(OK());
-}
-
-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);
-
-  // 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);
-
-  // 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");
+    throw_dimension_incompatible("affine_image(v, e, d)", var.id());
 
-  // The preimage of an empty BDS is empty.
+  // The image of an empty BDS is empty too.
   shortest_path_closure_assign();
   if (marked_empty())
     return;
 
-  // Number of non-zero coefficients in `lhs': will be set to
+  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_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)
+  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
-        j_lhs = i;
-    }
-
-  const Coefficient& b_lhs = lhs.inhomogeneous_term();
-
-  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;
-      }
-
-    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 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");
-      }
-
-      // 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 {
-
-      // 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();
-      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);
+        w = i+1;
     }
-  }
 
-  assert(OK());
-}
+  // 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);
 
-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();
+  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);
+    assert(OK());
+    return;
   }
-  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);
 
-    TEMP_INTEGER(a);
-    TEMP_INTEGER(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 (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.
+          }
         }
-        if (!is_plus_infinity(dbm_j0)) {
-          numer_denom(dbm_j0, b, a);
-          cs.insert(-a*x <= b);
+        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);
+          }
         }
       }
-    }
-
-    // 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 {
+        // 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 {
-          // 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);
+          // 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();
           }
-          if (!is_plus_infinity(dbm_ji)) {
-            numer_denom(dbm_ji, b, a);
-            cs.insert(a*y - a*x <= b);
+          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();
           }
         }
       }
+      assert(OK());
+      return;
     }
   }
-  return cs;
-}
 
-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);
+  // 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'.
 
-    TEMP_INTEGER(num);
-    TEMP_INTEGER(den);
+  // 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;
 
-    // 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();
+  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;
 
-    // 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.
-          assert(!is_plus_infinity(dbm_0[i]));
-          numer_denom(dbm_0[i], num, den);
-          cs.insert(den*Variable(i-1) == num);
-        }
+  // Approximate the inhomogeneous term.
+  assign_r(pos_sum, sc_b, ROUND_UP);
+  assign_r(neg_sum, minus_sc_b, ROUND_UP);
+
+  // 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 {
-          // A binary equality has to be generated.
-          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);
+          ++pos_pinf_count;
+          pos_pinf_index = i;
         }
       }
-    }
-
-    // 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);
+      // 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;
+        }
       }
     }
-    // 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);
+    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;
         }
-        if (!redundancy_dbm[j][i]) {
-          numer_denom(dbm[j][i], num, den);
-          cs.insert(den*Variable(i-1) - den*Variable(j-1) <= num);
+      }
+      // 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;
         }
       }
     }
   }
-  return cs;
-}
-
-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 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");
 
-  // Nothing to do, if no dimensions must be added.
-  if (m == 0)
+  // 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) {
+    assert(OK());
     return;
-
-  // Add the required new dimensions.
-  add_space_dimensions_and_embed(m);
-
-  // 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();
-  assert(OK());
-}
-
-template <typename T>
-void
-BD_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                   Variable var) {
-  const dimension_type space_dim = space_dimension();
-  // `var' should be one of the dimensions of the BDS.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)",
-                                 "v", var);
-
-  // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
-    return;
-
-  // All variables in `to_be_folded' should be dimensions of the BDS.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
-                                 to_be_folded.space_dimension());
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_generic("fold_space_dimensions(tbf, v)",
-                  "v should not occur in tbf");
+  // In the following, shortest-path closure will be definitely lost.
+  reset_shortest_path_closed();
 
-  shortest_path_closure_assign();
-  if (!marked_empty()) {
-    // Recompute the elements of the row and the column corresponding
-    // to variable `var' by taking the join of their value with the
-    // value of the corresponding elements in the row and column of the
-    // variable `to_be_folded'.
-    const dimension_type v_id = var.id() + 1;
-    DB_Row<N>& dbm_v = dbm[v_id];
-    for (Variables_Set::const_iterator i = to_be_folded.begin(),
-           tbf_end = to_be_folded.end(); i != tbf_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]);
-      }
+  // 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;
   }
-  remove_space_dimensions(to_be_folded);
-}
-
-/*! \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 {
-      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 an only 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 an only 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;
-                }
-              }
-            }
-          }
-        }
+
+  // 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;
   }
-  return s;
+
+  assert(OK());
 }
 
 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);
-}
+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");
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, BD_Shape<T>)
+  // 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);
 
-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;
-}
+  // `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());
 
-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();
+  // The image of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
+
+  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;
+    }
+
+  // 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();
+    assert(OK());
+    return;
+  }
+
+  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();
+        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& 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();
+  }
+  assert(OK());
 }
 
 template <typename T>
-bool
-BD_Shape<T>::OK() const {
-  // Check whether the difference-bound matrix is well-formed.
-  if (!dbm.OK())
-    return false;
+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");
 
-  // Check whether the status information is legal.
-  if (!status.OK())
-    return false;
+  // 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);
 
-  // An empty BDS is OK.
+  // Any image of an empty BDS is empty.
+  shortest_path_closure_assign();
   if (marked_empty())
-    return true;
+    return;
 
-  // 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;
+  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;
     }
 
-  // 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;
-    }
+  // 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);
 
-  // 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;
-    }
+  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);
+    assert(OK());
+    return;
   }
 
-  // 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) {
-
-    // 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;
+  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();
+        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();
           }
-
-      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;
+        }
+        assert(OK());
+        return;
       }
     }
   }
 
-  // All checks passed.
-  return true;
-}
+  // 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'.
 
-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());
-}
+  // 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;
 
-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());
-}
+  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;
 
-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());
-}
+  // Approximate the inhomogeneous term.
+  assign_r(pos_sum, sc_b, ROUND_UP);
 
-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());
-}
+  // 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;
+  }
 
-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());
+  // In the following, shortest-path closure will be definitely lost.
+  reset_shortest_path_closed();
+
+  // 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;
+  }
+  assert(OK());
 }
 
 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());
-}
+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");
+
+  // 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);
 
+  // Any preimage of an empty BDS is empty.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-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());
+  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;
+  }
+
+  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();
+  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);
 }
 
 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());
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/BD_Shape.defs.hh line 2115. */
+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");
 
-/* Automatically generated from PPL source file ../src/Rational_Interval.hh line 1. */
-/* Rational_Interval class declaration and implementation.
-*/
+  // 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);
 
+  // `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());
 
-/* Automatically generated from PPL source file ../src/Rational_Interval.hh line 27. */
-#include <gmpxx.h>
+  // 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");
 
-namespace Parma_Polyhedra_Library {
+  if (relsym == EQUAL) {
+    // The relation symbol is "==":
+    // this is just an affine image computation.
+    affine_image(var, expr, denominator);
+    return;
+  }
 
-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_empty_result, false);
-  const_bool_nodef(check_inexact, false);
-};
+  // The image of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-typedef
-Interval_Restriction_None<Interval_Info_Bitset<unsigned int,
-                                               Rational_Interval_Info_Policy> >
-Rational_Interval_Info;
+  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;
+    }
 
-#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;
+  // 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);
 
-} // namespace Parma_Polyhedra_Library
+  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");
+    }
+    assert(OK());
+    return;
+  }
 
-/* Automatically generated from PPL source file ../src/Box.templates.hh line 39. */
-#include <iostream>
+  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;
 
-namespace Parma_Polyhedra_Library {
+      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;
 
-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();
+      default:
+        // We already dealt with the other cases.
+        throw std::runtime_error("PPL internal error");
+      }
+      assert(OK());
+      return;
+    }
   }
-  else
-    set_empty();
-  assert(OK());
-}
-
-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 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 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();
+  // 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;
 
-  if (!y.marked_empty())
-    for (dimension_type k = y.space_dimension(); k-- > 0; )
-      seq[k].assign(y.seq[k]);
-  assert(OK());
-}
+  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;
 
-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;
-  }
+  // Speculative allocation of temporaries to be used in the following loops.
+  PPL_DIRTY_TEMP(N, coeff_i);
+  PPL_DIRTY_TEMP_COEFFICIENT(minus_sc_i);
 
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
+  switch (relsym) {
+  case LESS_OR_EQUAL:
+    // Compute an upper approximation for `sc_expr' into `sum'.
 
-  const dimension_type space_dim = space_dimension();
-  DIRTY_TEMP0(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();
-	  seq[i].join_assign(q);
-	}
+    // 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 {
-	// 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].assign(q);
-	}
+        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);
     }
-  }
 
-  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.");
-
-  // 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_set(UNBOUNDED);
-	  break;
-	case -1:
-	  seq[i].lower_set(UNBOUNDED);
-	  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_widen(q, true);
-	  seq_i.upper_widen(q, true);
-	}
-      }
-      break;
-    default:
-      // Points already dealt with.
-      break;
+    // 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) {
+      assert(OK());
+      return;
+    }
+
+    // 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);
     }
-  }
-  assert(OK());
-}
 
-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();
-    assert(OK());
-    return;
-  }
+    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;
 
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
+  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.
 
-  const dimension_type space_dim = space_dimension();
-  if (space_dim == 0) {
-    assert(OK());
-    return;
-  }
+    // 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);
+    }
 
-  DIRTY_TEMP(typename BD_Shape<T>::coefficient_type, tmp);
-  const DB_Row<typename BD_Shape<T>::coefficient_type>& dbm_0 = bds.dbm[0];
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    ITV& seq_i = seq[i];
-    // Set the upper bound.
-    const typename BD_Shape<T>::coefficient_type& u = dbm_0[i+1];
-    if (is_plus_infinity(u))
-      seq_i.upper_set_uninit(UNBOUNDED);
-    else
-      seq_i.upper_set_uninit(u);
+    // 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) {
+      assert(OK());
+      return;
+    }
 
-    // Set the lower bound.
-    const typename BD_Shape<T>::coefficient_type& negated_l = bds.dbm[i+1][0];
-    if (is_plus_infinity(negated_l))
-      seq_i.lower_set_uninit(UNBOUNDED);
-    else {
-      neg_assign_r(tmp, negated_l, ROUND_DOWN);
-      seq_i.lower_set_uninit(tmp);
+    // 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);
     }
 
-    // Complete the interval initialization.
-    seq_i.complete_init();
+    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;
+
+  default:
+    // We already dealt with the other cases.
+    throw std::runtime_error("PPL internal error");
   }
   assert(OK());
 }
 
-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;
-  }
-
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
-
+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();
-  if (space_dim == 0)
-    return;
-
-  DIRTY_TEMP0(mpq_class, bound);
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    ITV& seq_i = seq[i];
-    const dimension_type ii = 2*i;
-    const dimension_type cii = ii + 1;
-
-    // Set the upper bound.
-    const typename Octagonal_Shape<T>::coefficient_type& twice_ub
-      = oct.matrix[cii][ii];
-    if (!is_plus_infinity(twice_ub)) {
-      assign_r(bound, twice_ub, ROUND_NOT_NEEDED);
-      div2exp_assign_r(bound, bound, 1, ROUND_NOT_NEEDED);
-      seq_i.upper_set_uninit(bound);
-    }
-    else
-      seq_i.upper_set_uninit(UNBOUNDED);
-
-    // Set the lower bound.
-    const typename Octagonal_Shape<T>::coefficient_type& twice_lb
-      = oct.matrix[ii][cii];
-    if (!is_plus_infinity(twice_lb)) {
-      assign_r(bound, twice_lb, ROUND_NOT_NEEDED);
-      neg_assign_r(bound, bound, ROUND_NOT_NEEDED);
-      div2exp_assign_r(bound, bound, 1, ROUND_NOT_NEEDED);
-      seq_i.lower_set_uninit(bound);
-    }
-    else
-      seq_i.lower_set_uninit(UNBOUNDED);
-    seq_i.complete_init();
-  }
-}
+  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);
 
-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();
+  // 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);
 
-  // We do not need to bother about `complexity' if:
-  // a) the polyhedron is already marked empty; or ...
-  if (ph.marked_empty()) {
-    set_empty();
-    return;
-  }
+  // 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");
 
-  // b) the polyhedron is zero-dimensional; or ...
-  const dimension_type space_dim = ph.space_dimension();
-  if (space_dim == 0)
+  // The image of an empty BDS is empty.
+  shortest_path_closure_assign();
+  if (marked_empty())
     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());
-    swap(tmp);
-    return;
-  }
+  // 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;
+    }
 
-  // Here generators are not up-to-date or there are pending constraints.
-  assert(ph.constraints_are_up_to_date());
+  const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
-  if (complexity == POLYNOMIAL_COMPLEXITY) {
-    // FIXME: is there a way to avoid this initialization?
-    for (dimension_type i = space_dimension(); i-- > 0; )
-      seq[i].assign(UNIVERSE);
-    // Extract easy-to-find bounds from constraints.
-    refine_with_constraints(ph.simplified_constraints());
+  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 (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;
+  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;
     }
-    // Get all the bounds for the space dimensions.
-    Generator g(point());
-    DIRTY_TEMP0(mpq_class, bound);
-    DIRTY_TEMP(Coefficient, bound_num);
-    DIRTY_TEMP(Coefficient, bound_den);
-    for (dimension_type i = space_dim; i-- > 0; ) {
-      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(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	assert(is_canonical(bound));
-	seq_i.upper_set_uninit(bound);
+    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;
       }
-      else
-	seq_i.upper_set_uninit(UNBOUNDED);
-      // 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(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
-	assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
-	assert(is_canonical(bound));
-	seq_i.lower_set_uninit(bound);
+
+    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
-	seq_i.lower_set_uninit(UNBOUNDED);
-      seq_i.complete_init();
     }
-  }
-  else {
-    assert(complexity == ANY_COMPLEXITY);
-    if (ph.is_empty())
-      set_empty();
     else {
-      Box tmp(ph.generators());
-      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())),
-    status() {
-
-  // FIXME: here we are not taking advantage of intervals with restrictions!
-
-  if (gr.marked_empty()) {
-    set_empty();
-    return;
-  }
-
-  // The empty flag will be meaningful, whatever happens from now on.
-  set_empty_up_to_date();
+      // Some variables in `lhs' also occur in `rhs'.
 
-  const dimension_type space_dim = gr.space_dimension();
+#if 1 // Simplified computation (see the TODO note below).
 
-  if (space_dim == 0)
-    return;
+      for (dimension_type i = lhs_vars.size(); i-- > 0; )
+        forget_all_dbm_constraints(lhs_vars[i].id() + 1);
 
-  if (!gr.generators_are_up_to_date() && !gr.update_generators()) {
-    // Updating found the grid empty.
-    set_empty();
-    return;
-  }
+#else // Currently unnecessarily complex computation.
 
-  assert(!gr.gen_sys.empty());
+      // More accurate computation that is worth doing only if
+      // the following TODO note is accurately dealt with.
 
-  // Create a vector to record which dimensions are bounded.
-  std::vector<bool> bounded_interval(space_dim, true);
-
-  const Grid_Generator *first_point = 0;
-  // Clear the bound flag in `bounded_interval' for all dimensions in
-  // which a line or sequence of points extends away from a single
-  // value in the dimension.
-  // FIXME: this computation should be provided by the Grid class.
-  // FIXME: remove the declaration making Box a friend of Grid_Generator
-  //        when this is done.
-  for (Grid_Generator_System::const_iterator gs_i = gr.gen_sys.begin(),
-	 gs_end = gr.gen_sys.end(); gs_i != gs_end; ++gs_i) {
-    Grid_Generator& g = const_cast<Grid_Generator&>(*gs_i);
-    if (g.is_point()) {
-      if (first_point == 0) {
-	first_point = &g;
-	continue;
+      // 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();
+      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");
       }
-      const Grid_Generator& point = *first_point;
-      // Convert the point `g' to a parameter.
-      for (dimension_type dim = space_dim; dim-- > 0; )
-	g[dim] -= point[dim];
-      g.set_divisor(point.divisor());
+      // Remove the temporarily added dimension.
+      remove_higher_space_dimensions(space_dim-1);
+#endif // Currently unnecessarily complex computation.
     }
-    for (dimension_type col = space_dim; col > 0; )
-      if (g[col--] != 0)
-	bounded_interval[col] = false;
   }
 
-  // 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.
-  assert(first_point != 0);
-  const Grid_Generator& point = *first_point;
-  DIRTY_TEMP0(mpq_class, bound);
-  const Coefficient& divisor = point.divisor();
-  for (dimension_type i = space_dim; i-- > 0; ) {
-    ITV& seq_i = seq[i];
-    if (bounded_interval[i]) {
-      assign_r(bound.get_num(), point[i+1], ROUND_NOT_NEEDED);
-      assign_r(bound.get_den(), divisor, ROUND_NOT_NEEDED);
-      bound.canonicalize();
-      seq_i.assign(bound);
-    }
-    else
-      seq_i.assign(UNIVERSE);
-  }
+  assert(OK());
 }
 
-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);
-}
+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");
+
+  // 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);
+
+  // `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());
 
-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;
+  // 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");
 
-  // 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());
-  for (dimension_type sz = seq.size(), i = sz - m; i < sz; ++i)
-    seq[i].assign(UNIVERSE);
-  assert(OK());
-}
+  if (relsym == EQUAL) {
+    // The relation symbol is "==":
+    // this is just an affine preimage computation.
+    affine_preimage(var, expr, denominator);
+    return;
+  }
 
-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)
+  // The preimage of an empty BDS is empty too.
+  shortest_path_closure_assign();
+  if (marked_empty())
     return;
 
-  // A add `m' new zero elements to the sequence.
-  seq.insert(seq.end(), m, ITV());
-  for (dimension_type sz = seq.size(), i = sz - m; i < sz; ++i)
-    seq[i].assign(0);
+  // 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;
+  }
 
+  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();
   assert(OK());
 }
 
-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 (x.is_empty())
-    return y.is_empty();
+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);
 
-  if (y.is_empty())
-    return x.is_empty();
+  // 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);
 
-  for (dimension_type k = x_space_dim; k-- > 0; )
-    if (x.seq[k] != y.seq[k])
-      return false;
-  return true;
-}
+  // 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");
 
-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;
+  // The preimage of an empty BDS is empty.
+  shortest_path_closure_assign();
+  if (marked_empty())
+    return;
 
-  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_unbounded())
-	return false;
-      break;
-    case 0:
-      // Nothing to do.
-      break;
-    case -1:
-      if (seq[i].lower_is_unbounded())
-	return false;
-      break;
+  // 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;
     }
-  return true;
-}
-
-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) {
-
-  if (i.is_universe())
-    return Poly_Con_Relation::strictly_intersects();
 
-  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);
+  const Coefficient& b_lhs = lhs.inhomogeneous_term();
 
-  DIRTY_TEMP0(mpq_class, bound_diff);
-  if (constraint_type == Constraint::EQUALITY) {
-    if (i.lower_is_unbounded()) {
-      assert(!i.upper_is_unbounded());
-      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_unbounded())
-	  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();
-	  }
-	}
-      }
+  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);
   }
-
-  assert(constraint_type != Constraint::EQUALITY);
-  if (is_lower_bound) {
-    if (i.lower_is_unbounded()) {
-      assert(!i.upper_is_unbounded());
-      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 {
+    // 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;
       }
-    }
-    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 {
-	  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_unbounded())
-	  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();
-	  }
-	}
+
+    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 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");
       }
+
+      // 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 {
-    // `c' is an upper bound.
-    if (i.upper_is_unbounded())
-      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 {
-	  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_unbounded())
-	  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();
-	  }
-	}
+
+      // 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();
+      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);
     }
   }
 
-  // Quiet a compiler warning: this program point is unreachable.
-  throw std::runtime_error("PPL internal error");
+  assert(OK());
 }
 
-template <typename ITV>
-Poly_Con_Relation
-Box<ITV>::relation_with(const Congruence& cg) const {
-  const dimension_type cg_space_dim = cg.space_dimension();
+template <typename T>
+Constraint_System
+BD_Shape<T>::constraints() const {
+  Constraint_System cs;
   const dimension_type space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  if (cg_space_dim > space_dim)
-    throw_dimension_incompatible("relation_with(cg)", cg);
-
-  if (is_empty())
-    return Poly_Con_Relation::saturates()
-      && Poly_Con_Relation::is_included()
-      && Poly_Con_Relation::is_disjoint();
-
-   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();
+  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);
 
-  if (cg.is_equality()) {
-    const Constraint c(cg);
-    return relation_with(c);
-  }
+    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);
+        }
+      }
+    }
 
-  DIRTY_TEMP0(Rational_Interval, r);
-  DIRTY_TEMP0(Rational_Interval, t);
-  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 = seq[i];
-      t *= m;
-      r += t;
+    // 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);
+          }
+        }
+      }
     }
   }
-
-  if (r.lower_is_unbounded() || r.upper_is_unbounded())
-    return Poly_Con_Relation::strictly_intersects();
-
-
-  // Find the value that satisfies the congruence and is
-  // nearest to the lower bound such that the point lies on or above it.
-
-  TEMP_INTEGER(lower);
-  TEMP_INTEGER(mod);
-  TEMP_INTEGER(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);
+  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();
+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();
-
-  // Dimension-compatibility check.
-  if (c_space_dim > space_dim)
-    throw_dimension_incompatible("relation_with(c)", c);
-
-  if (is_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();
+    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);
 
-  dimension_type c_num_vars = 0;
-  dimension_type c_only_var = 0;
+    PPL_DIRTY_TEMP_COEFFICIENT(num);
+    PPL_DIRTY_TEMP_COEFFICIENT(den);
 
-  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();
+    // 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.
+          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.
+          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);
+        }
       }
-    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.
-    DIRTY_TEMP0(Rational_Interval, r);
-    DIRTY_TEMP0(Rational_Interval, t);
-    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 = seq[i];
-	t *= m;
-	r += t;
+
+    // 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 interval_relation(r,
-			     c.type(),
-			     c.inhomogeneous_term());
   }
-
-  // Quiet a compiler warning: this program point is unreachable.
-  throw std::runtime_error("PPL internal error");
+  return cs;
 }
 
-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();
-
-  // Dimension-compatibility check.
-  if (space_dim < g_space_dim)
-    throw_dimension_incompatible("relation_with(g)", g);
+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 empty box cannot subsume a generator.
-  if (is_empty())
-    return Poly_Gen_Relation::nothing();
+  // 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");
 
-  // 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();
+  // Nothing to do, if no dimensions must be added.
+  if (m == 0)
+    return;
 
-  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 {
-      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_unbounded())
-	    return Poly_Gen_Relation::nothing();
-	  break;
-	case 0:
-	  break;
-	case -1:
-	  if (!seq[i].lower_is_unbounded())
-	    return Poly_Gen_Relation::nothing();
-	  break;
-	}
-      return Poly_Gen_Relation::subsumes();
-    }
-  }
+  // Add the required new dimensions.
+  add_space_dimensions_and_embed(m);
 
-  // Here `g' is a point or closure point.
-  const Coefficient& g_divisor = g.divisor();
-  DIRTY_TEMP0(mpq_class, g_coord);
-  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_unbounded()) {
-      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_unbounded()) {
-      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();
-      }
+  // 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;
     }
   }
-  return Poly_Gen_Relation::subsumes();
+  // 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();
+  assert(OK());
 }
 
-
-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'.
+template <typename T>
+void
+BD_Shape<T>::fold_space_dimensions(const Variables_Set& to_be_folded,
+                                   Variable var) {
   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;
-    }
-  }
+  // `var' should be one of the dimensions of the BDS.
+  if (var.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(tbf, v)",
+                                 "v", var);
 
-  // For an empty Box we simply return false.
-  if (is_empty())
-    return false;
+  // The folding of no dimensions is a no-op.
+  if (to_be_folded.empty())
+    return;
 
-  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;
-  DIRTY_TEMP0(mpq_class, bound_i);
-  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_unbounded())
-	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_unbounded())
-	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;
+  // All variables in `to_be_folded' should be dimensions of the BDS.
+  if (to_be_folded.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
+                                 to_be_folded.space_dimension());
+
+  // Moreover, `var.id()' should not occur in `to_be_folded'.
+  if (to_be_folded.find(var.id()) != to_be_folded.end())
+    throw_generic("fold_space_dimensions(tbf, v)",
+                  "v should not occur in tbf");
+
+  shortest_path_closure_assign();
+  if (!marked_empty()) {
+    // Recompute the elements of the row and the column corresponding
+    // to variable `var' by taking the join of their value with the
+    // value of the corresponding elements in the row and column of the
+    // variable `to_be_folded'.
+    const dimension_type v_id = var.id() + 1;
+    DB_Row<N>& dbm_v = dbm[v_id];
+    for (Variables_Set::const_iterator i = to_be_folded.begin(),
+           tbf_end = to_be_folded.end(); i != tbf_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]);
+      }
     }
   }
-  // Extract output info.
-  assert(is_canonical(result));
-  ext_n = result.get_num();
-  ext_d = result.get_den();
-  included = is_included;
-  return true;
+  remove_space_dimensions(to_be_folded);
 }
 
-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;
-
-  // Compute generator `g'.
-  Linear_Expression g_expr;
-  DIRTY_TEMP(Coefficient, g_divisor);
-  g_divisor = 1;
-  const int maximize_sign = maximize ? 1 : -1;
-  DIRTY_TEMP0(mpq_class, g_coord);
-  DIRTY_TEMP(Coefficient, num);
-  DIRTY_TEMP(Coefficient, den);
-  DIRTY_TEMP(Coefficient, lcm);
-  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_unbounded())
-	if (seq_i.lower_is_open())
-	  if (!seq_i.upper_is_unbounded())
-	    if (seq_i.upper_is_open()) {
-	      // Bounded and open interval: compute middle point.
-	      assign_r(g_coord, seq_i.lower(), ROUND_NOT_NEEDED);
-	      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).
-	assert(!seq_i.upper_is_unbounded());
-	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;
+/*! \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 an only 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 an only 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;
+                }
+              }
+            }
+          }
+        }
     }
-    // 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;
   }
-  g = Generator::point(g_expr, g_divisor);
-  return true;
+  return s;
 }
 
-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>
+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);
+}
 
-  // If `y' is empty, then `x' contains `y'.
-  if (y.is_empty())
-    return true;
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(T, BD_Shape<T>)
 
-  // If `x' is empty, then `x' cannot contain `y'.
-  if (x.is_empty())
+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;
-
-  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 ITV>
+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 T>
 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);
+BD_Shape<T>::OK() const {
+  // Check whether the difference-bound matrix is well-formed.
+  if (!dbm.OK())
+    return false;
 
-  // 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())
+  // Check whether the status information is legal.
+  if (!status.OK())
+    return false;
+
+  // An empty BDS is OK.
+  if (marked_empty())
     return true;
 
-  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;
-}
+  // 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 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()) {
+  // 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
-      std::cerr << "The box is empty, but it is marked as non-empty."
-		<< std::endl;
-#endif // 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;
     }
-  }
 
-  // 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;
+  // 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;
+    }
   }
 
-  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;
-
-  for (dimension_type k = d; k-- > 0; )
-    if (seq[k].is_singleton())
-      --d;
+  // 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) {
 
-  return d;
-}
+    // 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 ITV>
-bool
-Box<ITV>::check_empty() const {
-  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;
+      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;
+      }
     }
-  x.set_nonempty();;
-  return false;
-}
-
-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 ITV>
-bool
-Box<ITV>::is_topologically_closed() const {
-  if (!ITV::info_type::store_open || is_empty())
-    return true;
-
-  for (dimension_type k = seq.size(); k-- > 0; )
-    if (!seq[k].is_topologically_closed())
-      return false;
-  return true;
-}
-
-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 ITV>
-bool
-Box<ITV>::is_bounded() const {
-  if (is_empty())
-    return true;
-  for (dimension_type k = seq.size(); k-- > 0; )
-    if (seq[k].is_unbounded())
-      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;
+  // All checks passed.
   return true;
 }
 
-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>
+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 ITV>
+template <typename T>
 void
-Box<ITV>::unconstrain(const Variables_Set& to_be_unconstrained) {
-  // 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 (to_be_unconstrained.empty())
-    return;
-
-  // Dimension-compatibility check.
-  const dimension_type min_space_dim = to_be_unconstrained.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
-  // `to_be_unconstrained' before cylindrification.
-  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
-         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu) {
-    ITV& seq_tbu = seq[*tbu];
-    if (!seq_tbu.is_empty())
-      seq_tbu.assign(UNIVERSE);
-    else {
-      set_empty();
-      break;
-    }
-  }
-  assert(OK());
+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 ITV>
+template <typename T>
 void
-Box<ITV>::topological_closure_assign() {
-  if (!ITV::info_type::store_open || is_empty())
-    return;
-
-  for (dimension_type k = seq.size(); k-- > 0; )
-    seq[k].topological_closure_assign();
+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 ITV>
+template <typename T>
 void
-Box<ITV>::intersection_assign(const Box& y) {
-  Box& x = *this;
-  const dimension_type space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    x.throw_dimension_incompatible("intersection_assign(y)", y);
-
-  // 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;
-  }
-
-  // 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;
-
-  // FIXME: here we may conditionally exploit a capability of the
-  // underlying interval to eagerly detect empty results.
-  reset_empty_up_to_date();
-
-  for (dimension_type k = space_dim; k-- > 0; )
-    x.seq[k].intersect_assign(y.seq[k]);
-
-  assert(x.OK());
+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 ITV>
+template <typename T>
 void
-Box<ITV>::upper_bound_assign(const Box& y) {
-  Box& x = *this;
-
-  // Dimension-compatibility check.
-  if (x.space_dimension() != y.space_dimension())
-    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())
-    return;
-  if (x.marked_empty()) {
-    x = y;
-    return;
-  }
-
-  for (dimension_type k = x.seq.size(); k-- > 0; )
-    x.seq[k].join_assign(y.seq[k]);
-
-  assert(x.OK());
+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 ITV>
+template <typename T>
 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();
-
-  // If `y' is marked empty, the result will be empty too.
-  if (y.marked_empty())
-    x.set_empty();
-
-  // If `y' is a 0-dim space box, there is nothing left to do.
-  if (y_space_dim == 0)
-    return;
-
-  // 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 `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());
-    assert(x.OK());
-    return;
-  }
+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());
+}
 
-  // 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();
 
-  assert(x.OK());
+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 ITV>
+template <typename T>
 void
-Box<ITV>::difference_assign(const Box& y) {
-  const dimension_type space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  if (space_dim != y.space_dimension())
-    throw_dimension_incompatible("difference_assign(y)", y);
-
-  Box& x = *this;
-  if (x.is_empty() || y.is_empty())
-    return;
-
-  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;
-
-  case 1:
-    x.seq[0].difference_assign(y.seq[0]);
-    if (x.seq[0].is_empty())
-      x.set_empty();
-    break;
-
-  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;
-        }
+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());
+}
 
-      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;
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/BD_Shape.defs.hh line 2146. */
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box.templates.hh line 39. */
+#include <iostream>
+
+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)),
+    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();
   assert(OK());
 }
 
 template <typename ITV>
-bool
-Box<ITV>::simplify_using_context_assign(const Box& y) {
-  // FIXME: provide a real implementation.
-  used(y);
-  return true;
+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 ITV>
-void
-Box<ITV>::time_elapse_assign(const Box& y) {
-  Box& x = *this;
-  const dimension_type x_space_dim = x.space_dimension();
+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);
+}
 
-  // Dimension-compatibility check.
-  if (x_space_dim != y.space_dimension())
-    x.throw_dimension_incompatible("time_elapse_assign(y)", y);
+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();
 
-  // Dealing with the zero-dimensional case.
-  if (x_space_dim == 0) {
-    if (y.marked_empty())
-      x.set_empty();
+  if (!y.marked_empty())
+    for (dimension_type k = y.space_dimension(); k-- > 0; )
+      seq[k].assign(y.seq[k]);
+  assert(OK());
+}
+
+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;
   }
 
-  // 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;
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
+
+  const dimension_type space_dim = space_dimension();
+  PPL_DIRTY_TEMP0(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();
+	  seq[i].join_assign(q);
+	}
+      }
+      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].assign(q);
+	}
+      }
+    }
   }
 
-  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_unbounded())
-      if (y_seq_i.lower_is_unbounded() || y_seq_i.lower() < 0)
-	x_seq_i.lower_set(UNBOUNDED);
-    if (!x_seq_i.upper_is_unbounded())
-      if (y_seq_i.upper_is_unbounded() || y_seq_i.upper() > 0)
-	x_seq_i.upper_set(UNBOUNDED);
+  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.");
+
+  // 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_set(UNBOUNDED);
+	  break;
+	case -1:
+	  seq[i].lower_set(UNBOUNDED);
+	  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_widen(q, true);
+	  seq_i.upper_widen(q, true);
+	}
+      }
+      break;
+    default:
+      // Points already dealt with.
+      break;
+    }
   }
-  assert(x.OK());
+  assert(OK());
 }
 
 template <typename ITV>
-inline void
-Box<ITV>::remove_space_dimensions(const Variables_Set& to_be_removed) {
-  // 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 (to_be_removed.empty()) {
+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();
     assert(OK());
     return;
   }
 
-  const dimension_type old_space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  const dimension_type tbr_space_dim = to_be_removed.space_dimension();
-  if (old_space_dim < tbr_space_dim)
-    throw_dimension_incompatible("remove_space_dimensions(vs)",
-				 tbr_space_dim);
-
-  const dimension_type new_space_dim = old_space_dim - to_be_removed.size();
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
 
-  // 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);
+  const dimension_type space_dim = space_dimension();
+  if (space_dim == 0) {
     assert(OK());
     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 tbr = to_be_removed.begin();
-  Variables_Set::const_iterator tbr_end = to_be_removed.end();
-  dimension_type dst = *tbr;
-  dimension_type src = dst + 1;
-  for (++tbr; tbr != tbr_end; ++tbr) {
-    const dimension_type tbr_next = *tbr;
-    // All intervals in between are moved to the left.
-    while (src < tbr_next)
-      seq[dst++].swap(seq[src++]);
-    ++src;
-  }
-  // Moving the remaining intervals.
-  while (src < old_space_dim)
-    seq[dst++].swap(seq[src++]);
+  PPL_DIRTY_TEMP(typename BD_Shape<T>::coefficient_type, tmp);
+  const DB_Row<typename BD_Shape<T>::coefficient_type>& dbm_0 = bds.dbm[0];
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    ITV& seq_i = seq[i];
+    // Set the upper bound.
+    const typename BD_Shape<T>::coefficient_type& u = dbm_0[i+1];
+    if (is_plus_infinity(u))
+      seq_i.upper_set_uninit(UNBOUNDED);
+    else
+      seq_i.upper_set_uninit(u);
 
-  assert(dst == new_space_dim);
-  seq.resize(new_space_dim);
+    // Set the lower bound.
+    const typename BD_Shape<T>::coefficient_type& negated_l = bds.dbm[i+1][0];
+    if (is_plus_infinity(negated_l))
+      seq_i.lower_set_uninit(UNBOUNDED);
+    else {
+      neg_assign_r(tmp, negated_l, ROUND_DOWN);
+      seq_i.lower_set_uninit(tmp);
+    }
 
+    // Complete the interval initialization.
+    seq_i.complete_init();
+  }
   assert(OK());
 }
 
 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);
-
-  // 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) {
-    assert(OK());
+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;
   }
 
-  seq.erase(seq.begin() + new_dim, seq.end());
-  assert(OK());
-}
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
 
-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;
 
-  if (pfunc.has_empty_codomain()) {
-    // All dimensions vanish: the box becomes zero_dimensional.
-    remove_higher_space_dimensions(0);
-    return;
-  }
+  PPL_DIRTY_TEMP0(mpq_class, bound);
+  for (dimension_type i = space_dim; i-- > 0; ) {
+    ITV& seq_i = seq[i];
+    const dimension_type ii = 2*i;
+    const dimension_type cii = ii + 1;
 
-  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;
-  }
+    // Set the upper bound.
+    const typename Octagonal_Shape<T>::coefficient_type& twice_ub
+      = oct.matrix[cii][ii];
+    if (!is_plus_infinity(twice_ub)) {
+      assign_r(bound, twice_ub, ROUND_NOT_NEEDED);
+      div2exp_assign_r(bound, bound, 1, ROUND_NOT_NEEDED);
+      seq_i.upper_set_uninit(bound);
+    }
+    else
+      seq_i.upper_set_uninit(UNBOUNDED);
 
-  // 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]);
+    // Set the lower bound.
+    const typename Octagonal_Shape<T>::coefficient_type& twice_lb
+      = oct.matrix[ii][cii];
+    if (!is_plus_infinity(twice_lb)) {
+      assign_r(bound, twice_lb, ROUND_NOT_NEEDED);
+      neg_assign_r(bound, bound, ROUND_NOT_NEEDED);
+      div2exp_assign_r(bound, bound, 1, ROUND_NOT_NEEDED);
+      seq_i.lower_set_uninit(bound);
+    }
+    else
+      seq_i.lower_set_uninit(UNBOUNDED);
+    seq_i.complete_init();
   }
-  swap(tmp);
-  assert(OK());
 }
 
 template <typename ITV>
-void
-Box<ITV>::fold_space_dimensions(const Variables_Set& to_be_folded,
-                                const Variable var) {
-  const dimension_type space_dim = space_dimension();
-  // `var' should be one of the dimensions of the box.
-  if (var.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, v)", "v", var);
+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();
 
-  // The folding of no dimensions is a no-op.
-  if (to_be_folded.empty())
+  // We do not need to bother about `complexity' if:
+  // a) the polyhedron is already marked empty; or ...
+  if (ph.marked_empty()) {
+    set_empty();
     return;
+  }
 
-  // All variables in `to_be_folded' should be dimensions of the box.
-  if (to_be_folded.space_dimension() > space_dim)
-    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
-				 to_be_folded.space_dimension());
+  // b) the polyhedron is zero-dimensional; or ...
+  const dimension_type space_dim = ph.space_dimension();
+  if (space_dim == 0)
+    return;
 
-  // Moreover, `var.id()' should not occur in `to_be_folded'.
-  if (to_be_folded.find(var.id()) != to_be_folded.end())
-    throw_generic("fold_space_dimensions(tbf, v)",
-		  "v should not occur in tbf");
+  // 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;
+  }
 
-  // Note: the check for emptiness is needed for correctness.
-  if (!is_empty()) {
-    // Join the interval corresponding to variable `var' with the intervals
-    // corresponding to the variables in `to_be_folded'.
-    ITV& seq_v = seq[var.id()];
-    for (Variables_Set::const_iterator i = to_be_folded.begin(),
-	   tbf_end = to_be_folded.end(); i != tbf_end; ++i)
-      seq_v.join_assign(seq[*i]);
+  // Here generators are not up-to-date or there are pending constraints.
+  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_dimension(); i-- > 0; )
+      seq[i].assign(UNIVERSE);
+    // Extract easy-to-find bounds from constraints.
+    refine_with_constraints(ph.simplified_constraints());
+  }
+  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, 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];
+      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(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
+	assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
+	assert(is_canonical(bound));
+	seq_i.upper_set_uninit(bound);
+      }
+      else
+	seq_i.upper_set_uninit(UNBOUNDED);
+      // 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(bound.get_num(), bound_num, ROUND_NOT_NEEDED);
+	assign_r(bound.get_den(), bound_den, ROUND_NOT_NEEDED);
+	assert(is_canonical(bound));
+	seq_i.lower_set_uninit(bound);
+      }
+      else
+	seq_i.lower_set_uninit(UNBOUNDED);
+      seq_i.complete_init();
+    }
+  }
+  else {
+    assert(complexity == ANY_COMPLEXITY);
+    if (ph.is_empty())
+      set_empty();
+    else {
+      Box tmp(ph.generators());
+      swap(tmp);
+    }
   }
-  remove_space_dimensions(to_be_folded);
 }
 
 template <typename ITV>
-void
-Box<ITV>::add_constraint_no_check(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dimension());
+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() {
 
-  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");
+  // FIXME: here we are not taking advantage of intervals with restrictions!
 
-  // 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
-      && !Box::interval_type::info_type::store_open)
-    throw_generic("add_constraint(c)", "c is a nontrivial strict constraint");
+  if (gr.marked_empty()) {
+    set_empty();
+    return;
+  }
 
-  // Avoid doing useless work if the box is known to be empty.
-  if (marked_empty())
+  // The empty flag will be meaningful, whatever happens from now on.
+  set_empty_up_to_date();
+
+  const dimension_type space_dim = gr.space_dimension();
+
+  if (space_dim == 0)
     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();
+  if (!gr.generators_are_up_to_date() && !gr.update_generators()) {
+    // Updating found the grid empty.
+    set_empty();
     return;
   }
 
-  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);
+  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_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.assign(bound);
+    }
+    else
+      seq_i.assign(UNIVERSE);
+  }
 }
 
 template <typename ITV>
-void
-Box<ITV>::add_constraints_no_check(const Constraint_System& cs) {
-  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);
-  assert(OK());
+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);
 }
 
 template <typename ITV>
-void
-Box<ITV>::add_congruence_no_check(const Congruence& cg) {
-  const dimension_type cg_space_dim = cg.space_dimension();
-  assert(cg_space_dim <= space_dimension());
+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));
+  assert(OK());
+}
 
-  // 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");
-  }
+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));
+  assert(OK());
+}
 
-  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");
+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;
 
-  // Avoid doing useless work if the box is known to be empty.
-  if (marked_empty())
-    return;
+  if (x.is_empty())
+    return y.is_empty();
 
-  const Coefficient& n = cg.inhomogeneous_term();
-  if (cg_num_vars == 0) {
-    // Dealing with a trivial equality congruence.
-    if (n != 0)
-      set_empty();
-    return;
-  }
+  if (y.is_empty())
+    return x.is_empty();
 
-  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);
+  for (dimension_type k = x_space_dim; k-- > 0; )
+    if (x.seq[k] != y.seq[k])
+      return false;
+  return true;
 }
 
 template <typename ITV>
-void
-Box<ITV>::add_congruences_no_check(const Congruence_System& cgs) {
-  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);
-  assert(OK());
+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;
+
+  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_unbounded())
+	return false;
+      break;
+    case 0:
+      // Nothing to do.
+      break;
+    case -1:
+      if (seq[i].lower_is_unbounded())
+	return false;
+      break;
+    }
+  return true;
 }
 
 template <typename ITV>
-void
-Box<ITV>::refine_no_check(const Constraint& c) {
-  const dimension_type c_space_dim = c.space_dimension();
-  assert(c_space_dim <= space_dimension());
-  assert(!marked_empty());
+Poly_Con_Relation
+interval_relation(const ITV& i,
+		  const Constraint::Type constraint_type,
+		  Coefficient_traits::const_reference num,
+		  Coefficient_traits::const_reference den) {
 
-  dimension_type c_num_vars = 0;
-  dimension_type c_only_var = 0;
-  // Non-interval constraints are ignored.
-  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
-    return;
+  if (i.is_universe())
+    return Poly_Con_Relation::strictly_intersects();
 
-  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;
+  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);
+
+  PPL_DIRTY_TEMP0(mpq_class, bound_diff);
+  if (constraint_type == Constraint::EQUALITY) {
+    if (i.lower_is_unbounded()) {
+      assert(!i.upper_is_unbounded());
+      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_unbounded())
+	  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();
+	  }
+	}
+      }
+    }
   }
 
-  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);
-}
+  assert(constraint_type != Constraint::EQUALITY);
+  if (is_lower_bound) {
+    if (i.lower_is_unbounded()) {
+      assert(!i.upper_is_unbounded());
+      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 {
+	  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_unbounded())
+	  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_unbounded())
+      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 {
+	  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_unbounded())
+	  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 ITV>
-void
-Box<ITV>::refine_no_check(const Constraint_System& cs) {
-  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);
-  assert(OK());
+  // Quiet a compiler warning: this program point is unreachable.
+  throw std::runtime_error("PPL internal error");
 }
 
 template <typename ITV>
-void
-Box<ITV>::refine_no_check(const Congruence& cg) {
-  assert(!marked_empty());
-
+Poly_Con_Relation
+Box<ITV>::relation_with(const Congruence& cg) const {
   const dimension_type cg_space_dim = cg.space_dimension();
-  assert(cg_space_dim <= space_dimension());
+  const dimension_type space_dim = 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.
+  // Dimension-compatibility check.
+  if (cg_space_dim > space_dim)
+    throw_dimension_incompatible("relation_with(cg)", cg);
+
+  if (is_empty())
+    return Poly_Con_Relation::saturates()
+      && Poly_Con_Relation::is_included()
+      && Poly_Con_Relation::is_disjoint();
+
+   if (space_dim == 0) {
     if (cg.is_inconsistent())
-      set_empty();
-    return;
+      return Poly_Con_Relation::is_disjoint();
+    else
+      return Poly_Con_Relation::saturates()
+	&& Poly_Con_Relation::is_included();
   }
 
-  assert(cg.is_equality());
-  dimension_type cg_num_vars = 0;
-  dimension_type cg_only_var = 0;
-  // Congruences that are not interval congruences are ignored.
-  if (!extract_interval_congruence(cg, cg_space_dim, cg_num_vars, cg_only_var))
-    return;
+  if (cg.is_equality()) {
+    const Constraint c(cg);
+    return relation_with(c);
+  }
 
-  if (cg_num_vars == 0) {
-    // Dealing with a trivial congruence.
-    if (cg.inhomogeneous_term() != 0)
-      set_empty();
-    return;
+  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 = seq[i];
+      t *= m;
+      r += t;
+    }
   }
 
-  assert(cg_num_vars == 1);
-  const Coefficient& n = cg.inhomogeneous_term();
-  const Coefficient& d = cg.coefficient(Variable(cg_only_var));
-  add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d);
+  if (r.lower_is_unbounded() || r.upper_is_unbounded())
+    return Poly_Con_Relation::strictly_intersects();
+
+
+  // Find the value that satisfies the congruence and is
+  // nearest to the lower bound such that the point lies on or above it.
+
+  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 ITV>
-void
-Box<ITV>::refine_no_check(const Congruence_System& cgs) {
-  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);
-  assert(OK());
-}
+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();
 
-#if 1 // Alternative implementations for propagate_constraint_no_check.
-namespace {
+  // Dimension-compatibility check.
+  if (c_space_dim > space_dim)
+    throw_dimension_incompatible("relation_with(c)", c);
 
-inline bool
-propagate_constraint_check_result(Result r, Ternary& open) {
-  switch (r) {
-  case V_NEG_OVERFLOW:
-  case V_POS_OVERFLOW:
-  case V_UNKNOWN_NEG_OVERFLOW:
-  case V_UNKNOWN_POS_OVERFLOW:
-    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:
-    assert(false);
-    return true;
+  if (is_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();
+  }
+
+  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 {
+      // 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_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 = seq[i];
+	t *= m;
+	r += t;
+      }
+    }
+    return interval_relation(r,
+			     c.type(),
+			     c.inhomogeneous_term());
   }
-}
 
-} // namespace
+  // Quiet a compiler warning: this program point is unreachable.
+  throw std::runtime_error("PPL internal error");
+}
 
 template <typename ITV>
-void
-Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
-  assert(c.space_dimension() <= space_dimension());
+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();
 
-  typedef
-    typename Select_Temp_Boundary_Type<typename ITV::boundary_type>::type
-    Temp_Boundary_Type;
+  // Dimension-compatibility check.
+  if (space_dim < g_space_dim)
+    throw_dimension_incompatible("relation_with(g)", g);
 
-  const dimension_type c_space_dim = c.space_dimension();
-  const Constraint::Type c_type = c.type();
-  const Coefficient& c_inhomogeneous_term = c.inhomogeneous_term();
+  // The empty box cannot subsume a generator.
+  if (is_empty())
+    return Poly_Gen_Relation::nothing();
 
-  // 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;
+  // 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 (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 {
+      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_unbounded())
+	    return Poly_Gen_Relation::nothing();
+	  break;
+	case 0:
+	  break;
+	case -1:
+	  if (!seq[i].lower_is_unbounded())
+	    return Poly_Gen_Relation::nothing();
+	  break;
+	}
+      return Poly_Gen_Relation::subsumes();
     }
-  }
-  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;
   }
 
-  // Here constraint c is non-trivial.
-  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)
+  // 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;
-    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_unbounded())
-	    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 {
-	  assert(sgn_a_i > 0);
-	  if (x_i.upper_is_unbounded())
-	    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;
+    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_unbounded()) {
+      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();
       }
-      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;
-
-      // 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].lower_narrow(t_bound, open == T_YES);
-      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_unbounded())
-	    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 {
-	  assert(sgn_a_i > 0);
-	  if (x_i.lower_is_unbounded())
-	    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;
+    }
+    // Check upper bound.
+    if (!seq_i.upper_is_unbounded()) {
+      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();
       }
-      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;
-      seq[k].upper_narrow(t_bound, open == T_YES);
-      reset_empty_up_to_date();
     }
+  }
+  return Poly_Gen_Relation::subsumes();
+}
+
+
+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 {
-      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_unbounded())
-	    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 {
-	  assert(sgn_a_i > 0);
-	  if (x_i.upper_is_unbounded())
-	    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;
+      ext_n = expr.inhomogeneous_term();
+      ext_d = 1;
+      included = true;
+      return true;
+    }
+  }
 
-      // 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].upper_narrow(t_bound, open == T_YES);
-      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_unbounded())
-	    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 {
-	  assert(sgn_a_i > 0);
-	  if (x_i.lower_is_unbounded())
-	    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;
+  // For an empty Box we simply return false.
+  if (is_empty())
+    return false;
 
-      // 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].lower_narrow(t_bound, open == T_YES);
-      reset_empty_up_to_date();
+  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_unbounded())
+	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_unbounded())
+	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;
     }
-  next_k:
-    ;
   }
+  // Extract output info.
+  assert(is_canonical(result));
+  ext_n = result.get_num();
+  ext_d = result.get_den();
+  included = is_included;
+  return true;
 }
 
-#else // Alternative implementations for propagate_constraint_no_check.
-
 template <typename ITV>
-void
-Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
-  assert(c.space_dimension() <= space_dimension());
+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;
 
-  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;
+  // 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 Constraint::STRICT_INEQUALITY:
-      rel = (sgn_coefficient_i > 0) ? GREATER_THAN : LESS_THAN;
+    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_unbounded())
+	if (seq_i.lower_is_open())
+	  if (!seq_i.upper_is_unbounded())
+	    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).
+	assert(!seq_i.upper_is_unbounded());
+	assign_r(g_coord, seq_i.upper(), ROUND_NOT_NEEDED);
+	if (seq_i.upper_is_open())
+	  --g_coord;
+      }
       break;
-    }
-    seq[i].refine_existential(rel, q);
-    // FIXME: could/should we exploit the return value of refine_existential,
-    //        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();
+    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;
   }
-
-  assert(OK());
+  g = Generator::point(g_expr, g_divisor);
+  return true;
 }
 
-#endif // Alternative implementations for propagate_constraint_no_check.
-
 template <typename ITV>
-void
-Box<ITV>::propagate_constraints_no_check(const Constraint_System& cs) {
-  assert(cs.space_dimension() <= space_dimension());
+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);
 
-  bool changed;
-  do {
-    Sequence copy(seq);
-    for (Constraint_System::const_iterator i = cs.begin(),
-	   cs_end = cs.end(); i != cs_end; ++i)
-      propagate_constraint_no_check(*i);
+  // If `y' is empty, then `x' contains `y'.
+  if (y.is_empty())
+    return true;
 
-    // Check if the client has requested abandoning all expensive
-    // computations.  If so, the exception specified by the client
-    // is thrown now.
-    maybe_abandon();
+  // If `x' is empty, then `x' cannot contain `y'.
+  if (x.is_empty())
+    return false;
 
-    changed = (copy != seq);
-  } while (changed);
+  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 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");
-
-  // 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);
-
-  if (is_empty())
-    return;
+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);
 
-  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);
+  // 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;
 
-  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 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");
-
-  // 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);
+inline bool
+Box<ITV>::upper_bound_assign_if_exact(const Box& y) {
+  Box& x = *this;
 
-  if (is_empty())
-    return;
+  // Dimension-compatibility check.
+  if (x.space_dimension() != y.space_dimension())
+    x.throw_dimension_incompatible("upper_bound_assign_if_exact(y)", y);
 
-  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);
+  // 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;
   }
-  assert(OK());
-}
-
-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");
 
-  // 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);
+  bool x_j_does_not_contain_y_j = false;
+  bool y_j_does_not_contain_x_j = false;
 
-  // Any image of an empty box is empty.
-  if (is_empty())
-    return;
+  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];
 
-  // 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);
+    if (!x_seq_i.can_be_exactly_joined_to(y_seq_i))
+      return false;
 
-  // 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'.
-    DIRTY_TEMP(Coefficient, max_num);
-    DIRTY_TEMP(Coefficient, max_den);
-    bool max_included;
-    DIRTY_TEMP(Coefficient, min_num);
-    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;
-	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();
-	(denominator > 0)
-	  ? seq_v.lower_set(q, !min_included)
-	  : seq_v.upper_set(q, !min_included);
-	// 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(q.get_num(), max_num, ROUND_NOT_NEEDED);
-	assign_r(q.get_den(), max_den, ROUND_NOT_NEEDED);
-	q.canonicalize();
-	(denominator > 0)
-	  ? seq_v.upper_set(q, !max_included)
-	  : seq_v.lower_set(q, !max_included);
-      }
-      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'.
-	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.lower_set(UNBOUNDED);
-	  seq_v.upper_set(q, !max_included);
-	}
-	else {
-	  seq_v.upper_set(UNBOUNDED);
-	  seq_v.lower_set(q, !max_included);
-	}
-      }
-    }
-    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;
-	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.upper_set(UNBOUNDED);
-	  seq_v.lower_set(q, !min_included);
-	}
-	else {
-	  seq_v.lower_set(UNBOUNDED);
-	  seq_v.upper_set(q, !min_included);
-	}
-    }
-    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.upper_set(UNBOUNDED);
-      seq_v.lower_set(UNBOUNDED);
+    // 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;
   }
-  assert(OK());
+
+  // 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>
-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");
+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;
+    }
+  }
 
-  // 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);
+  // 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;
+  }
 
-  // Any preimage of an empty polyhedron is empty.
-  if (marked_empty())
-    return;
+  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);
+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;
 
-  // 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);
-  }
+  // An empty box has affine dimension zero.
+  if (is_empty())
+    return 0;
 
-  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.
-    TEMP_INTEGER(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_unbounded();
-    DIRTY_TEMP0(mpq_class, q_seq_var_lower);
-    DIRTY_TEMP(Coefficient, num_lower);
-    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_set(UNBOUNDED);
-    }
-    bool open_upper = seq_var.upper_is_open();
-    bool unbounded_upper = seq_var.upper_is_unbounded();
-    DIRTY_TEMP0(mpq_class, q_seq_var_upper);
-    DIRTY_TEMP(Coefficient, num_upper);
-    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_set(UNBOUNDED);
-    }
+  for (dimension_type k = d; k-- > 0; )
+    if (seq[k].is_singleton())
+      --d;
 
-    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;
-      DIRTY_TEMP(Coefficient, d);
-      neg_assign(d, den_lower);
-      revised_lb_expr *= d;
-      revised_lb_expr += num_lower;
+  return d;
+}
 
-      // Find the minimum value for the revised lower bound expression
-      // and use this to refine the appropriate bound.
-      bool included;
-      DIRTY_TEMP(Coefficient, den);
-      if (minimize(revised_lb_expr, num_lower, den, included)) {
-        den_lower *= (den * ub_var_coeff);
-        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.lower_narrow(q, open_lower);
-        else
-          seq_var.upper_narrow(q, open_lower);
-        if (seq_var.is_empty()) {
-          set_empty();
-          return;
-        }
-      }
+template <typename ITV>
+bool
+Box<ITV>::check_empty() const {
+  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;
+}
 
-    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;
-      DIRTY_TEMP(Coefficient, d);
-      neg_assign(d, den_upper);
-      revised_ub_expr *= d;
-      revised_ub_expr += num_upper;
-
-      // Find the maximum value for the revised upper bound expression
-      // and use this to refine the appropriate bound.
-      bool included;
-      DIRTY_TEMP(Coefficient, den);
-      if (maximize(revised_ub_expr, num_upper, den, included)) {
-        den_upper *= (den * lb_var_coeff);
-        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.upper_narrow(q, open_upper);
-        else
-          seq_var.lower_narrow(q, open_upper);
-        if (seq_var.is_empty()) {
-          set_empty();
-          return;
-        }
-      }
-    }
-  }
+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;
+}
 
-  // 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 ITV>
+bool
+Box<ITV>::is_topologically_closed() const {
+  if (!ITV::info_type::store_open || is_empty())
+    return true;
 
-  assert(OK());
+  for (dimension_type k = seq.size(); k-- > 0; )
+    if (!seq[k].is_topologically_closed())
+      return false;
+  return true;
 }
 
 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");
+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;
+}
 
-  // 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 ITV>
+bool
+Box<ITV>::is_bounded() const {
+  if (is_empty())
+    return true;
+  for (dimension_type k = seq.size(); k-- > 0; )
+    if (seq[k].is_unbounded())
+      return false;
+  return true;
+}
 
-  // 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 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;
+}
 
-  // First compute the affine image.
-  affine_image(var, expr, denominator);
+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 (relsym == EQUAL)
-    // The affine relation is indeed an affine function.
+  if (marked_empty() || !seq[var_space_dim-1].is_universe())
+    return true;
+  // Now force an emptiness check.
+  return is_empty();
+}
+
+template <typename ITV>
+void
+Box<ITV>::unconstrain(const Variables_Set& to_be_unconstrained) {
+  // 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 (to_be_unconstrained.empty())
     return;
 
-  // Any image of an empty box is empty.
-  if (is_empty())
+  // Dimension-compatibility check.
+  const dimension_type min_space_dim = to_be_unconstrained.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;
 
-  ITV& seq_var = seq[var.id()];
-  switch (relsym) {
-  case LESS_OR_EQUAL:
-    seq_var.lower_set(UNBOUNDED);
-    break;
-  case LESS_THAN:
-    seq_var.lower_set(UNBOUNDED);
-    if (!seq_var.upper_is_unbounded())
-      seq_var.refine_existential(LESS_THAN, seq_var.upper());
-    break;
-  case GREATER_OR_EQUAL:
-    seq_var.upper_set(UNBOUNDED);
-    break;
-  case GREATER_THAN:
-    seq_var.upper_set(UNBOUNDED);
-    if (!seq_var.lower_is_unbounded())
-      seq_var.refine_existential(GREATER_THAN, seq_var.lower());
-    break;
-  default:
-    // The EQUAL and NOT_EQUAL cases have been already dealt with.
-    throw std::runtime_error("PPL internal error");
+  // 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
+  // `to_be_unconstrained' before cylindrification.
+  for (Variables_Set::const_iterator tbu = to_be_unconstrained.begin(),
+         tbu_end = to_be_unconstrained.end(); tbu != tbu_end; ++tbu) {
+    ITV& seq_tbu = seq[*tbu];
+    if (!seq_tbu.is_empty())
+      seq_tbu.assign(UNIVERSE);
+    else {
+      set_empty();
+      break;
+    }
   }
   assert(OK());
 }
 
 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");
+Box<ITV>::topological_closure_assign() {
+  if (!ITV::info_type::store_open || is_empty())
+    return;
 
-  // Dimension-compatibility checks.
+  for (dimension_type k = seq.size(); k-- > 0; )
+    seq[k].topological_closure_assign();
+}
+
+template <typename ITV>
+void
+Box<ITV>::intersection_assign(const Box& y) {
+  Box& x = *this;
   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");
 
-  // Check whether the affine relation is indeed an affine function.
-  if (relsym == EQUAL) {
-    affine_preimage(var, expr, denominator);
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    x.throw_dimension_incompatible("intersection_assign(y)", y);
+
+  // 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;
   }
 
-  // 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");
-  }
+  // 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;
 
-  // 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;
-    TEMP_INTEGER(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);
+  // FIXME: here we may conditionally exploit a capability of the
+  // underlying interval to eagerly detect empty results.
+  reset_empty_up_to_date();
+
+  for (dimension_type k = space_dim; k-- > 0; )
+    x.seq[k].intersect_assign(y.seq[k]);
+
+  assert(x.OK());
+}
+
+template <typename ITV>
+void
+Box<ITV>::upper_bound_assign(const Box& y) {
+  Box& x = *this;
+
+  // Dimension-compatibility check.
+  if (x.space_dimension() != y.space_dimension())
+    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())
+    return;
+  if (x.marked_empty()) {
+    x = y;
     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.
-  DIRTY_TEMP(Coefficient, max_num);
-  DIRTY_TEMP(Coefficient, max_den);
-  bool max_included;
-  bool bound_above = maximize(denominator*var, max_num, max_den, max_included);
-  DIRTY_TEMP(Coefficient, min_num);
-  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'.
-  DIRTY_TEMP(Linear_Expression, revised_expr);
-  dimension_type dim = space_dim;
-  TEMP_INTEGER(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);
-      }
-    }
-  }
+  for (dimension_type k = x.seq.size(); k-- > 0; )
+    x.seq[k].join_assign(y.seq[k]);
 
-  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.lower_set(UNBOUNDED);
-  seq_v.upper_set(UNBOUNDED);
-  assert(OK());
+  assert(x.OK());
 }
 
 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);
+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();
 
-  // 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");
+  // If `y' is marked empty, the result will be empty too.
+  if (y.marked_empty())
+    x.set_empty();
 
-  // Any image of an empty box is empty.
-  if (marked_empty())
+  // If `y' is a 0-dim space box, there is nothing left to do.
+  if (y_space_dim == 0)
     return;
 
-  // Compute the maximum and minimum value reached by the rhs on the box.
-  DIRTY_TEMP(Coefficient, max_num);
-  DIRTY_TEMP(Coefficient, max_den);
-  bool max_included;
-  bool max_rhs = maximize(rhs, max_num, max_den, max_included);
-  DIRTY_TEMP(Coefficient, min_num);
-  DIRTY_TEMP(Coefficient, min_den);
-  bool min_included;
-  bool min_rhs = minimize(rhs, min_num, min_den, 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.lower_set(UNBOUNDED);
-        seq_i.upper_set(UNBOUNDED);
-        has_more_than_one_var = true;
-      }
-      else {
-        has_var = true;
-        has_var_id = lhs_space_dim - 1;
-      }
-    }
+  // 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 (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.lower_set(UNBOUNDED);
-    seq_var.upper_set(UNBOUNDED);
-    assert(OK());
+  // 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));
+    assert(x.OK());
     return;
   }
 
-  if (has_var) {
-    // There is exactly one dimension with non-zero coefficient.
-    ITV& seq_var = seq[has_var_id];
+  // 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();
 
-    // 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));
-    DIRTY_TEMP0(mpq_class, q_max);
-    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();
-    }
+  assert(x.OK());
+}
 
-    // 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:
-        seq_var.lower_set(UNBOUNDED);
-        max_rhs
-          ? seq_var.upper_set(q_max, !max_included)
-          : seq_var.upper_set(UNBOUNDED);
-        break;
-      case LESS_THAN:
-        seq_var.lower_set(UNBOUNDED);
-        max_rhs
-          ? seq_var.upper_set(q_max, true)
-          : seq_var.upper_set(UNBOUNDED);
-        break;
-      case EQUAL:
-        max_rhs
-          ? seq_var.upper_set(q_max, !max_included)
-          : seq_var.upper_set(UNBOUNDED);
-          min_rhs
-            ? seq_var.lower_set(q_min, !min_included)
-            : seq_var.lower_set(UNBOUNDED);
-          break;
-      case GREATER_OR_EQUAL:
-        seq_var.upper_set(UNBOUNDED);
-        min_rhs
-          ? seq_var.lower_set(q_min, !min_included)
-          : seq_var.lower_set(UNBOUNDED);
-        break;
-      case GREATER_THAN:
-        seq_var.upper_set(UNBOUNDED);
-        min_rhs
-          ? seq_var.lower_set(q_min, true)
-          : seq_var.lower_set(UNBOUNDED);
-        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:
-        seq_var.lower_set(UNBOUNDED);
-        min_rhs
-          ? seq_var.upper_set(q_min, !min_included)
-          : seq_var.upper_set(UNBOUNDED);
-        break;
-      case GREATER_THAN:
-        seq_var.lower_set(UNBOUNDED);
-        min_rhs
-          ? seq_var.upper_set(q_min, true)
-          : seq_var.upper_set(UNBOUNDED);
-        break;
-      case EQUAL:
-        max_rhs
-          ? seq_var.lower_set(q_max, !max_included)
-          : seq_var.lower_set(UNBOUNDED);
-          min_rhs
-            ? seq_var.upper_set(q_min, !min_included)
-            : seq_var.upper_set(UNBOUNDED);
-          break;
-      case LESS_OR_EQUAL:
-        seq_var.upper_set(UNBOUNDED);
-        max_rhs
-          ? seq_var.lower_set(q_max, !max_included)
-          : seq_var.lower_set(UNBOUNDED);
+template <typename ITV>
+void
+Box<ITV>::difference_assign(const Box& y) {
+  const dimension_type space_dim = space_dimension();
+
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("difference_assign(y)", y);
+
+  Box& x = *this;
+  if (x.is_empty() || y.is_empty())
+    return;
+
+  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;
+
+  case 1:
+    x.seq[0].difference_assign(y.seq[0]);
+    if (x.seq[0].is_empty())
+      x.set_empty();
+    break;
+
+  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;
+        }
+
+      switch (number_non_contained) {
+      case 0:
+        // `y' covers `x': the difference is empty.
+        x.set_empty();
         break;
-      case LESS_THAN:
-        seq_var.upper_set(UNBOUNDED);
-        max_rhs
-          ? seq_var.lower_set(q_max, true)
-          : seq_var.lower_set(UNBOUNDED);
+      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:
-        // The NOT_EQUAL case has been already dealt with.
-        throw std::runtime_error("PPL internal error");
+        // Nothing to do: the difference is `x'.
+        break;
       }
-  }
-
-  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");
     }
+    break;
   }
   assert(OK());
 }
 
 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);
+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);
 
-  // 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");
+  // Filter away the zero-dimensional case.
+  if (num_dims == 0) {
+    if (y.marked_empty()) {
+      x.set_nonempty();
+      return false;
+    }
+    else
+      return !x.marked_empty();
+  }
 
-  // Any image of an empty box is empty.
-  if (marked_empty())
-    return;
+  // 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;
+  }
 
-  // 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) {
-      DIRTY_TEMP(Coefficient, temp);
-      temp = rhs.coefficient(var) + lhs.coefficient(var);
-      revised_rhs -= temp * var;
-      revised_lhs -= temp * var;
+  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();
+        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.
+    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])) {
+      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);
+      assert(x.OK());
+      return false;
     }
   }
-  generalized_affine_image(revised_lhs, relsym, revised_rhs);
-  assert(OK());
+  assert(x.OK());
+  return true;
 }
 
 template <typename ITV>
-template <typename Iterator>
 void
-Box<ITV>::CC76_widening_assign(const Box& y, Iterator first, Iterator last) {
-  if (y.is_empty())
+Box<ITV>::time_elapse_assign(const Box& y) {
+  Box& x = *this;
+  const dimension_type x_space_dim = x.space_dimension();
+
+  // Dimension-compatibility check.
+  if (x_space_dim != y.space_dimension())
+    x.throw_dimension_incompatible("time_elapse_assign(y)", y);
+
+  // Dealing with the zero-dimensional case.
+  if (x_space_dim == 0) {
+    if (y.marked_empty())
+      x.set_empty();
     return;
+  }
 
-  for (dimension_type i = seq.size(); i-- > 0; )
-    seq[i].CC76_widening_assign(y.seq[i], first, last);
+  // 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;
+  }
 
-  assert(OK());
+  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_unbounded())
+      if (y_seq_i.lower_is_unbounded() || y_seq_i.lower() < 0)
+	x_seq_i.lower_set(UNBOUNDED);
+    if (!x_seq_i.upper_is_unbounded())
+      if (y_seq_i.upper_is_unbounded() || y_seq_i.upper() > 0)
+	x_seq_i.upper_set(UNBOUNDED);
+  }
+  assert(x.OK());
 }
 
 template <typename ITV>
-void
-Box<ITV>::CC76_widening_assign(const Box& 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)
-  };
+inline void
+Box<ITV>::remove_space_dimensions(const Variables_Set& to_be_removed) {
+  // 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 (to_be_removed.empty()) {
+    assert(OK());
+    return;
+  }
 
-  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);
+  const dimension_type old_space_dim = space_dimension();
+
+  // Dimension-compatibility check.
+  const dimension_type tbr_space_dim = to_be_removed.space_dimension();
+  if (old_space_dim < tbr_space_dim)
+    throw_dimension_incompatible("remove_space_dimensions(vs)",
+				 tbr_space_dim);
+
+  const dimension_type new_space_dim = old_space_dim - to_be_removed.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);
+    assert(OK());
     return;
   }
-  x.CC76_widening_assign(y,
-			 stop_points,
-			 stop_points
-			 + sizeof(stop_points)/sizeof(stop_points[0]));
+
+  // 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 tbr = to_be_removed.begin();
+  Variables_Set::const_iterator tbr_end = to_be_removed.end();
+  dimension_type dst = *tbr;
+  dimension_type src = dst + 1;
+  for (++tbr; tbr != tbr_end; ++tbr) {
+    const dimension_type tbr_next = *tbr;
+    // All intervals in between are moved to the left.
+    while (src < tbr_next)
+      seq[dst++].swap(seq[src++]);
+    ++src;
+  }
+  // Moving the remaining intervals.
+  while (src < old_space_dim)
+    seq[dst++].swap(seq[src++]);
+
+  assert(dst == new_space_dim);
+  seq.resize(new_space_dim);
+
+  assert(OK());
 }
 
 template <typename ITV>
 void
-Box<ITV>::limited_CC76_extrapolation_assign(const Box& y,
-                                            const Constraint_System& cs,
-                                            unsigned* tp) {
-  // FIXME: should take into account cs.
-  used(cs);
-  Box& x = *this;
-  x.CC76_widening_assign(y, tp);
+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);
+
+  // 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) {
+    assert(OK());
+    return;
+  }
+
+  seq.erase(seq.begin() + new_dim, seq.end());
+  assert(OK());
 }
 
 template <typename ITV>
+template <typename Partial_Function>
 void
-Box<ITV>::CC76_narrowing_assign(const Box& y) {
+Box<ITV>::map_space_dimensions(const Partial_Function& pfunc) {
   const dimension_type space_dim = space_dimension();
-
-  // Dimension-compatibility check.
-  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;
-    assert(y_copy.contains(x_copy));
-  }
-#endif
-
-  // If both boxes are zero-dimensional,
-  // since `y' contains `*this', we simply return `*this'.
   if (space_dim == 0)
     return;
 
-  // If `y' is empty, since `y' contains `this', `*this' is empty too.
-  if (y.is_empty())
+  if (pfunc.has_empty_codomain()) {
+    // All dimensions vanish: the box becomes zero_dimensional.
+    remove_higher_space_dimensions(0);
     return;
-  // If `*this' is empty, we return.
-  if (is_empty())
+  }
+
+  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;
+  }
 
-  // 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_unbounded()
-	&& !y_i.lower_is_unbounded()
-	&& x_i.lower() != y_i.lower())
-      x_i.lower() = y_i.lower();
-    if (!x_i.upper_is_unbounded()
-	&& !y_i.upper_is_unbounded()
-	&& x_i.upper() != y_i.upper())
-      x_i.upper() = y_i.upper();
+  // 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);
   assert(OK());
 }
 
 template <typename ITV>
-Constraint_System
-Box<ITV>::constraints() const {
-  Constraint_System cs;
+void
+Box<ITV>::fold_space_dimensions(const Variables_Set& to_be_folded,
+                                const Variable var) {
   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);
+  // `var' should be one of the dimensions of the box.
+  if (var.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(tbf, v)", "v", var);
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      DIRTY_TEMP(Coefficient, n);
-      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);
-      }
-    }
+  // The folding of no dimensions is a no-op.
+  if (to_be_folded.empty())
+    return;
+
+  // All variables in `to_be_folded' should be dimensions of the box.
+  if (to_be_folded.space_dimension() > space_dim)
+    throw_dimension_incompatible("fold_space_dimensions(tbf, ...)",
+				 to_be_folded.space_dimension());
+
+  // Moreover, `var.id()' should not occur in `to_be_folded'.
+  if (to_be_folded.find(var.id()) != to_be_folded.end())
+    throw_generic("fold_space_dimensions(tbf, v)",
+		  "v should not occur in tbf");
+
+  // Note: the check for emptiness is needed for correctness.
+  if (!is_empty()) {
+    // Join the interval corresponding to variable `var' with the intervals
+    // corresponding to the variables in `to_be_folded'.
+    ITV& seq_v = seq[var.id()];
+    for (Variables_Set::const_iterator i = to_be_folded.begin(),
+	   tbf_end = to_be_folded.end(); i != tbf_end; ++i)
+      seq_v.join_assign(seq[*i]);
   }
-  return cs;
+  remove_space_dimensions(to_be_folded);
 }
 
 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();
+void
+Box<ITV>::add_constraint_no_check(const Constraint& c) {
+  const dimension_type c_space_dim = c.space_dimension();
+  assert(c_space_dim <= 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");
+
+  // 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
+      && !Box::interval_type::info_type::store_open)
+    throw_generic("add_constraint(c)", "c is a nontrivial strict constraint");
+
+  // 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;
   }
-  // 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);
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      DIRTY_TEMP(Coefficient, n);
-      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);
-      }
+  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 ITV>
+void
+Box<ITV>::add_constraints_no_check(const Constraint_System& cs) {
+  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);
+  assert(OK());
+}
+
+template <typename ITV>
+void
+Box<ITV>::add_congruence_no_check(const Congruence& cg) {
+  const dimension_type cg_space_dim = cg.space_dimension();
+  assert(cg_space_dim <= space_dimension());
+
+  // 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");
   }
-  return cs;
+
+  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");
+
+  // 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;
+  }
+
+  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 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);
+void
+Box<ITV>::add_congruences_no_check(const Congruence_System& cgs) {
+  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);
+  assert(OK());
+}
+
+template <typename ITV>
+void
+Box<ITV>::refine_no_check(const Constraint& c) {
+  const dimension_type c_space_dim = c.space_dimension();
+  assert(c_space_dim <= space_dimension());
+  assert(!marked_empty());
 
-    for (dimension_type k = 0; k < space_dim; ++k) {
-      bool closed = false;
-      DIRTY_TEMP(Coefficient, n);
-      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);
-    }
+  dimension_type c_num_vars = 0;
+  dimension_type c_only_var = 0;
+  // Non-interval constraints are ignored.
+  // FIXME: instead of ignoring, safely use propagate_no_check()
+  // (i.e., ensuring that no termination problem can arise).
+  if (!extract_interval_constraint(c, c_space_dim, c_num_vars, c_only_var))
+    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;
   }
-  return cgs;
+
+  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 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;
+void
+Box<ITV>::refine_no_check(const Constraint_System& cs) {
+  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);
+  assert(OK());
 }
 
-/*! \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;
+void
+Box<ITV>::refine_no_check(const Congruence& cg) {
+  assert(!marked_empty());
+
+  const dimension_type cg_space_dim = cg.space_dimension();
+  assert(cg_space_dim <= 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())
+      set_empty();
+    return;
+  }
+
+  assert(cg.is_equality());
+  dimension_type cg_num_vars = 0;
+  dimension_type cg_only_var = 0;
+  // Congruences that are not interval congruences are ignored.
+  if (!extract_interval_congruence(cg, cg_space_dim, cg_num_vars, cg_only_var))
+    return;
+
+  if (cg_num_vars == 0) {
+    // Dealing with a trivial congruence.
+    if (cg.inhomogeneous_term() != 0)
+      set_empty();
+    return;
+  }
+
+  assert(cg_num_vars == 1);
+  const Coefficient& n = cg.inhomogeneous_term();
+  const Coefficient& d = cg.coefficient(Variable(cg_only_var));
+  add_interval_constraint_no_check(cg_only_var, Constraint::EQUALITY, n, d);
 }
 
 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);
+Box<ITV>::refine_no_check(const Congruence_System& cgs) {
+  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);
+  assert(OK());
 }
 
-PPL_OUTPUT_TEMPLATE_DEFINITIONS(ITV, Box<ITV>)
+#if 1 // Alternative implementations for propagate_constraint_no_check.
+namespace {
 
-template <typename ITV>
-bool
-Box<ITV>::ascii_load(std::istream& s) {
-  if (!status.ascii_load(s))
+inline bool
+propagate_constraint_check_result(Result r, Ternary& open) {
+  switch (r) {
+  case V_NEG_OVERFLOW:
+  case V_POS_OVERFLOW:
+  case V_UNKNOWN_NEG_OVERFLOW:
+  case V_UNKNOWN_POS_OVERFLOW:
+    return true;
+  case V_LT:
+  case V_GT:
+    open = T_YES;
     return false;
-
-  std::string str;
-  dimension_type space_dim;
-  if (!(s >> str) || str != "space_dim")
+  case V_LE:
+  case V_GE:
+    if (open == T_NO)
+      open = T_MAYBE;
     return false;
-  if (!(s >> space_dim))
+  case V_EQ:
     return false;
+  default:
+    assert(false);
+    return true;
+  }
+}
 
-  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;
+} // namespace
+
+template <typename ITV>
+void
+Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
+  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_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;
   }
 
-  // Check invariants.
-  assert(OK());
-  return true;
+  // Here constraint c is non-trivial.
+  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_unbounded())
+	    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 {
+	  assert(sgn_a_i > 0);
+	  if (x_i.upper_is_unbounded())
+	    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;
+
+      // 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].lower_narrow(t_bound, open == T_YES);
+      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_unbounded())
+	    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 {
+	  assert(sgn_a_i > 0);
+	  if (x_i.lower_is_unbounded())
+	    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;
+      seq[k].upper_narrow(t_bound, open == T_YES);
+      reset_empty_up_to_date();
+    }
+    else {
+      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_unbounded())
+	    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 {
+	  assert(sgn_a_i > 0);
+	  if (x_i.upper_is_unbounded())
+	    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;
+
+      // 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].upper_narrow(t_bound, open == T_YES);
+      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_unbounded())
+	    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 {
+	  assert(sgn_a_i > 0);
+	  if (x_i.lower_is_unbounded())
+	    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;
+      seq[k].lower_narrow(t_bound, open == T_YES);
+      reset_empty_up_to_date();
+    }
+  next_k:
+    ;
+  }
 }
 
+#else // Alternative implementations for propagate_constraint_no_check.
+
 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());
-}
+Box<ITV>::propagate_constraint_no_check(const Constraint& c) {
+  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 (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].refine_existential(rel, q);
+    // FIXME: could/should we exploit the return value of refine_existential,
+    //        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;
+    }
+  }
 
-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());
+  assert(OK());
 }
 
-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());
-}
+#endif // Alternative implementations for propagate_constraint_no_check.
 
 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());
-}
+Box<ITV>::propagate_constraints_no_check(const Constraint_System& cs) {
+  assert(cs.space_dimension() <= space_dimension());
 
-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());
-}
+  bool changed;
+  do {
+    Sequence copy(seq);
+    for (Constraint_System::const_iterator i = cs.begin(),
+	   cs_end = cs.end(); i != cs_end; ++i)
+      propagate_constraint_no_check(*i);
 
-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());
-}
+    // Check if the client has requested abandoning all expensive
+    // computations.  If so, the exception specified by the client
+    // is thrown now.
+    maybe_abandon();
 
-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());
+    changed = (copy != seq);
+  } while (changed);
 }
 
 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());
-}
+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");
 
-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());
-}
+  // 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);
 
-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());
+  if (is_empty())
+    return;
+
+  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);
+
+  assert(OK());
 }
 
 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());
+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");
+
+  // 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);
+
+  if (is_empty())
+    return;
+
+  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);
+  }
+  assert(OK());
 }
 
 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());
-}
+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");
 
-#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;
+  // 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);
 
-  // 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);
+  // Any image of an empty box is empty.
+  if (is_empty())
+    return;
+
+  // 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);
+
+  // 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
-      assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-    return true;
+      refine_with_constraint(denominator*var <= lb_expr);
   }
-
-  // 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 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
-      goto pinf;
+      refine_with_constraint(ub_expr <= denominator*var);
   }
-
-  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_unbounded()) {
-      if (!y_i.lower_is_unbounded())
-	goto pinf;
-    }
-    else if (y_i.lower_is_unbounded())
-      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 {
+    // 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, q);
+	assign_r(q.get_num(), min_num, ROUND_NOT_NEEDED);
+	assign_r(q.get_den(), min_den, ROUND_NOT_NEEDED);
+	q.canonicalize();
+	(denominator > 0)
+	  ? seq_v.lower_set(q, !min_included)
+	  : seq_v.upper_set(q, !min_included);
+	// 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(q.get_num(), max_num, ROUND_NOT_NEEDED);
+	assign_r(q.get_den(), max_den, ROUND_NOT_NEEDED);
+	q.canonicalize();
+	(denominator > 0)
+	  ? seq_v.upper_set(q, !max_included)
+	  : seq_v.lower_set(q, !max_included);
       }
       else {
-	maybe_assign(tmp1p, tmp1, y_i.lower(), dir);
-	maybe_assign(tmp2p, tmp2, x_i.lower(), inverse(dir));
+	// 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.lower_set(UNBOUNDED);
+	  seq_v.upper_set(q, !max_included);
+	}
+	else {
+	  seq_v.upper_set(UNBOUNDED);
+	  seq_v.lower_set(q, !max_included);
+	}
       }
-      sub_assign_r(tmp1, *tmp1p, *tmp2p, dir);
-      assert(sgn(tmp1) >= 0);
-      Specialization::combine(tmp0, tmp1, dir);
     }
-    // Dealing with the lower bounds.
-    if (x_i.upper_is_unbounded())
-      if (y_i.upper_is_unbounded())
-	continue;
-      else
-	goto pinf;
-    else if (y_i.upper_is_unbounded())
-      goto pinf;
+    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.upper_set(UNBOUNDED);
+	  seq_v.lower_set(q, !min_included);
+	}
+	else {
+	  seq_v.lower_set(UNBOUNDED);
+	  seq_v.upper_set(q, !min_included);
+	}
+    }
     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);
-      assert(sgn(tmp1) >= 0);
-      Specialization::combine(tmp0, tmp1, dir);
+      // 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.upper_set(UNBOUNDED);
+      seq_v.lower_set(UNBOUNDED);
     }
   }
-  Specialization::finalize(tmp0, dir);
-  assign_r(r, tmp0, dir);
-  return true;
-
- pinf:
-  assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
-  return true;
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Box.defs.hh line 2052. */
-
-/* Automatically generated from PPL source file ../src/Rational_Box.hh line 1. */
-/* Rational_Box class declaration and implementation.
-*/
-
-
-/* Automatically generated from PPL source file ../src/Rational_Box.hh line 28. */
-
-namespace Parma_Polyhedra_Library {
-
-#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;
-
-} // namespace Parma_Polyhedra_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 28. */
-
-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.
-
-  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:
-  //! 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 28. */
-
-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
+  assert(OK());
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Init.defs.hh line 84. */
-
+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");
 
-/* Automatically generated from PPL source file ../src/initializer.hh line 1. */
-/* Nifty counter object for the initialization of the library.
-*/
+  // 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);
 
+  // Any preimage of an empty polyhedron is empty.
+  if (marked_empty())
+    return;
 
-/* Automatically generated from PPL source file ../src/initializer.hh line 27. */
+  const bool negative_denom = (denominator < 0);
+  const Coefficient& lb_var_coeff = lb_expr.coefficient(var);
+  const Coefficient& ub_var_coeff = ub_expr.coefficient(var);
 
-#ifndef PPL_NO_AUTOMATIC_INITIALIZATION
-namespace {
+  // 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);
+  }
 
-Parma_Polyhedra_Library::Init Parma_Polyhedra_Library_initializer;
+  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_unbounded();
+    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_set(UNBOUNDED);
+    }
+    bool open_upper = seq_var.upper_is_open();
+    bool unbounded_upper = seq_var.upper_is_unbounded();
+    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_set(UNBOUNDED);
+    }
 
-} // namespace
-#else
-namespace {
+    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;
 
-Parma_Polyhedra_Library::Init* Parma_Polyhedra_Library_initializer_p;
+      // 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.lower_narrow(q, open_lower);
+        else
+          seq_var.upper_narrow(q, open_lower);
+        if (seq_var.is_empty()) {
+          set_empty();
+          return;
+        }
+      }
+    }
 
-} // namespace
-#endif
+    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;
 
-namespace Parma_Polyhedra_Library {
+      // 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.upper_narrow(q, open_upper);
+        else
+          seq_var.lower_narrow(q, open_upper);
+        if (seq_var.is_empty()) {
+          set_empty();
+          return;
+        }
+      }
+    }
+  }
 
-//! 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
-}
+  // 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);
+  }
 
-//! Finalizes the library.
-inline void
-finalize() {
-#ifdef PPL_NO_AUTOMATIC_INITIALIZATION
-  assert(Parma_Polyhedra_Library_initializer_p != 0);
-  delete Parma_Polyhedra_Library_initializer_p;
-  Parma_Polyhedra_Library_initializer_p = 0;
-#endif
+  assert(OK());
 }
 
-} //namespace Parma_Polyhedra_Library
+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");
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 1. */
-/* Scalar_Products class definition.
-*/
+  // 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);
 
+  // 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");
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 34. */
+  // First compute the affine image.
+  affine_image(var, expr, denominator);
 
-#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>.
-*/
-#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);
+  if (relsym == EQUAL)
+    // The affine relation is indeed an affine function.
+    return;
 
-  //! 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);
+  // Any image of an empty box is empty.
+  if (is_empty())
+    return;
 
-  /*! \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);
+  ITV& seq_var = seq[var.id()];
+  switch (relsym) {
+  case LESS_OR_EQUAL:
+    seq_var.lower_set(UNBOUNDED);
+    break;
+  case LESS_THAN:
+    seq_var.lower_set(UNBOUNDED);
+    if (!seq_var.upper_is_unbounded())
+      seq_var.refine_existential(LESS_THAN, seq_var.upper());
+    break;
+  case GREATER_OR_EQUAL:
+    seq_var.upper_set(UNBOUNDED);
+    break;
+  case GREATER_THAN:
+    seq_var.upper_set(UNBOUNDED);
+    if (!seq_var.lower_is_unbounded())
+      seq_var.refine_existential(GREATER_THAN, seq_var.lower());
+    break;
+  default:
+    // The EQUAL and NOT_EQUAL cases have been already dealt with.
+    throw std::runtime_error("PPL internal error");
+  }
+  assert(OK());
+}
 
-  /*! \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);
+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");
 
-  /*! \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);
+  // 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");
 
-  /*! \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);
-};
+  // Check whether the affine relation is indeed an affine function.
+  if (relsym == EQUAL) {
+    affine_preimage(var, expr, denominator);
+    return;
+  }
 
-#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);
-  //! Constructs the function object according to the topology of \p g.
-  Topology_Adjusted_Scalar_Product_Sign(const Generator& g);
+  // 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");
+  }
 
-  //! 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;
+  // 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;
+  }
 
-private:
-  //! The type of the scalar product sign function pointer.
-  typedef int (*SPS_type)(const Linear_Row&, const Linear_Row&);
+  // 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);
+      }
+    }
+  }
 
-  //! The scalar product sign function pointer.
-  SPS_type sps_fp;
-};
+  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.lower_set(UNBOUNDED);
+  seq_v.upper_set(UNBOUNDED);
+  assert(OK());
+}
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 1. */
-/* Scalar_Products class implementation (inline functions).
-*/
+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);
 
+  // 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");
 
-/* Automatically generated from PPL source file ../src/Scalar_Products.inlines.hh line 32. */
+  // Any image of an empty box is empty.
+  if (marked_empty())
+    return;
 
-namespace Parma_Polyhedra_Library {
+  // 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);
 
-inline int
-Scalar_Products::sign(const Linear_Row& x, const Linear_Row& y) {
-  TEMP_INTEGER(z);
-  assign(z, x, y);
-  return sgn(z);
-}
+  // 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.lower_set(UNBOUNDED);
+        seq_i.upper_set(UNBOUNDED);
+        has_more_than_one_var = true;
+      }
+      else {
+        has_var = true;
+        has_var_id = lhs_space_dim - 1;
+      }
+    }
 
-inline int
-Scalar_Products::reduced_sign(const Linear_Row& x, const Linear_Row& y) {
-  TEMP_INTEGER(z);
-  reduced_assign(z, x, y);
-  return sgn(z);
-}
+  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.lower_set(UNBOUNDED);
+    seq_var.upper_set(UNBOUNDED);
+    assert(OK());
+    return;
+  }
 
-inline int
-Scalar_Products::homogeneous_sign(const Linear_Row& x, const Linear_Row& y) {
-  TEMP_INTEGER(z);
-  homogeneous_assign(z, x, y);
-  return sgn(z);
-}
+  if (has_var) {
+    // There is exactly one dimension with non-zero coefficient.
+    ITV& seq_var = seq[has_var_id];
 
-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));
-}
+    // 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();
+    }
 
-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));
-}
+    // 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:
+        seq_var.lower_set(UNBOUNDED);
+        max_rhs
+          ? seq_var.upper_set(q_max, !max_included)
+          : seq_var.upper_set(UNBOUNDED);
+        break;
+      case LESS_THAN:
+        seq_var.lower_set(UNBOUNDED);
+        max_rhs
+          ? seq_var.upper_set(q_max, true)
+          : seq_var.upper_set(UNBOUNDED);
+        break;
+      case EQUAL:
+        max_rhs
+          ? seq_var.upper_set(q_max, !max_included)
+          : seq_var.upper_set(UNBOUNDED);
+          min_rhs
+            ? seq_var.lower_set(q_min, !min_included)
+            : seq_var.lower_set(UNBOUNDED);
+          break;
+      case GREATER_OR_EQUAL:
+        seq_var.upper_set(UNBOUNDED);
+        min_rhs
+          ? seq_var.lower_set(q_min, !min_included)
+          : seq_var.lower_set(UNBOUNDED);
+        break;
+      case GREATER_THAN:
+        seq_var.upper_set(UNBOUNDED);
+        min_rhs
+          ? seq_var.lower_set(q_min, true)
+          : seq_var.lower_set(UNBOUNDED);
+        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:
+        seq_var.lower_set(UNBOUNDED);
+        min_rhs
+          ? seq_var.upper_set(q_min, !min_included)
+          : seq_var.upper_set(UNBOUNDED);
+        break;
+      case GREATER_THAN:
+        seq_var.lower_set(UNBOUNDED);
+        min_rhs
+          ? seq_var.upper_set(q_min, true)
+          : seq_var.upper_set(UNBOUNDED);
+        break;
+      case EQUAL:
+        max_rhs
+          ? seq_var.lower_set(q_max, !max_included)
+          : seq_var.lower_set(UNBOUNDED);
+          min_rhs
+            ? seq_var.upper_set(q_min, !min_included)
+            : seq_var.upper_set(UNBOUNDED);
+          break;
+      case LESS_OR_EQUAL:
+        seq_var.upper_set(UNBOUNDED);
+        max_rhs
+          ? seq_var.lower_set(q_max, !max_included)
+          : seq_var.lower_set(UNBOUNDED);
+        break;
+      case LESS_THAN:
+        seq_var.upper_set(UNBOUNDED);
+        max_rhs
+          ? seq_var.lower_set(q_max, true)
+          : seq_var.lower_set(UNBOUNDED);
+        break;
+      default:
+        // The NOT_EQUAL case has been already dealt with.
+        throw std::runtime_error("PPL internal error");
+      }
+  }
 
-inline int
-Scalar_Products::sign(const Constraint& c, const Grid_Generator& g) {
-  TEMP_INTEGER(z);
-  assign(z, c, g);
-  return sgn(z);
+  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");
+    }
+  }
+  assert(OK());
 }
 
-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));
-}
+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);
 
-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 relation symbol cannot be a disequality.
+  if (relsym == NOT_EQUAL)
+    throw_generic("generalized_affine_image(e1, r, e2)",
+                  "r is the disequality relation symbol");
 
-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));
-}
+  // Any image of an empty box is empty.
+  if (marked_empty())
+    return;
 
-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));
+  // 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);
+  assert(OK());
 }
 
-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));
-}
+template <typename ITV>
+template <typename Iterator>
+void
+Box<ITV>::CC76_widening_assign(const Box& y, Iterator first, Iterator last) {
+  if (y.is_empty())
+    return;
 
-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));
-}
+  for (dimension_type i = seq.size(); i-- > 0; )
+    seq[i].CC76_widening_assign(y.seq[i], first, last);
 
-inline int
-Scalar_Products::homogeneous_sign(const Grid_Generator& g,
-				  const Constraint& c) {
-  TEMP_INTEGER(z);
-  homogeneous_assign(z, g, c);
-  return sgn(z);
+  assert(OK());
 }
 
-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)) {
-}
+template <typename ITV>
+void
+Box<ITV>::CC76_widening_assign(const Box& 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)
+  };
 
-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)) {
+  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]));
 }
 
-inline int
-Topology_Adjusted_Scalar_Product_Sign::operator()(const Constraint& c,
-						  const Generator& g) const {
-  assert(c.space_dimension() <= g.space_dimension());
-  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));
-}
+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.
+  assert(cs_space_dim <= space_dimension());
 
-inline int
-Topology_Adjusted_Scalar_Product_Sign::operator()(const Generator& g,
-						  const Constraint& c) const {
-  assert(g.space_dimension() <= c.space_dimension());
-  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));
+  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);
+    }
+  }
 }
 
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/Scalar_Products.defs.hh line 196. */
-
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 1. */
-/* BHRZ03_Certificate class declaration.
-*/
-
-
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 29. */
-#include <cassert>
-#include <vector>
-
-//! 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.
-
-  \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();
-
-  //! Constructor: computes the certificate for \p ph.
-  BHRZ03_Certificate(const Polyhedron& ph);
-
-  //! Copy constructor.
-  BHRZ03_Certificate(const BHRZ03_Certificate& y);
-
-  //! 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;
-
-  //! 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;
-  };
-
-#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;
-};
-
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.inlines.hh line 1. */
-/* BHRZ03_Certificate class implementation: inline functions.
-*/
+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();
 
+  // 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)");
 
-namespace Parma_Polyhedra_Library {
+  // The limited CC76-extrapolation between two boxes in a
+  // zero-dimensional space is also a zero-dimensional box
+  if (space_dim == 0)
+    return;
 
-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.
-  assert(OK());
-}
+#ifndef NDEBUG
+  {
+    // We assume that `y' is contained in or equal to `*this'.
+    const Box x_copy = *this;
+    const Box y_copy = y;
+    assert(x_copy.contains(y_copy));
+  }
+#endif
 
-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) {
-}
+  // 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;
 
-inline
-BHRZ03_Certificate::~BHRZ03_Certificate() {
-}
+  // 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);
 
-inline bool
-BHRZ03_Certificate::is_stabilizing(const Polyhedron& ph) const {
-  return compare(ph) == 1;
-}
+  x.CC76_widening_assign(y, tp);
 
-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;
+  // Intersect the widened box with the limiting box.
+  intersection_assign(limiting_box);
 }
 
-} // namespace Parma_Polyhedra_Library
+template <typename ITV>
+void
+Box<ITV>::CC76_narrowing_assign(const Box& y) {
+  const dimension_type space_dim = space_dimension();
 
-/* Automatically generated from PPL source file ../src/BHRZ03_Certificate.defs.hh line 116. */
+  // Dimension-compatibility check.
+  if (space_dim != y.space_dimension())
+    throw_dimension_incompatible("CC76_narrowing_assign(y)", y);
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 1. */
-/* H79_Certificate class declaration.
-*/
+#ifndef NDEBUG
+  {
+    // We assume that `*this' is contained in or equal to `y'.
+    const Box x_copy = *this;
+    const Box y_copy = y;
+    assert(y_copy.contains(x_copy));
+  }
+#endif
 
+  // If both boxes are zero-dimensional,
+  // since `y' contains `*this', we simply return `*this'.
+  if (space_dim == 0)
+    return;
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 29. */
-#include <cassert>
-#include <vector>
+  // 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;
 
-//! 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();
+  // 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_unbounded()
+	&& !y_i.lower_is_unbounded()
+	&& x_i.lower() != y_i.lower())
+      x_i.lower() = y_i.lower();
+    if (!x_i.upper_is_unbounded()
+	&& !y_i.upper_is_unbounded()
+	&& x_i.upper() != y_i.upper())
+      x_i.upper() = y_i.upper();
+  }
+  assert(OK());
+}
 
-  //! Constructor: computes the certificate for \p ph.
-  template <typename PH>
-  H79_Certificate(const PH& ph);
+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);
 
-  //! Constructor: computes the certificate for \p ph.
-  H79_Certificate(const Polyhedron& ph);
+    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;
+}
 
-  //! Copy constructor.
-  H79_Certificate(const H79_Certificate& y);
+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);
 
-  //! Destructor.
-  ~H79_Certificate();
+    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 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.
+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);
 
-    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;
+    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;
+}
 
-  //! Compares \p *this with the certificate for polyhedron \p ph.
-  template <typename PH>
-  int compare(const PH& ph) const;
+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;
+}
 
-  //! Compares \p *this with the certificate for polyhedron \p ph.
-  int compare(const Polyhedron& ph) 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;
+}
 
-  //! 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;
-  };
+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);
+}
 
-private:
-  //! Affine dimension of the polyhedron.
-  dimension_type affine_dim;
-  //! Cardinality of a non-redundant constraint system for the polyhedron.
-  dimension_type num_constraints;
-};
+PPL_OUTPUT_TEMPLATE_DEFINITIONS(ITV, Box<ITV>)
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.inlines.hh line 1. */
-/* H79_Certificate class implementation: inline functions.
-*/
+template <typename ITV>
+bool
+Box<ITV>::ascii_load(std::istream& s) {
+  if (!status.ascii_load(s))
+    return false;
 
+  std::string str;
+  dimension_type space_dim;
+  if (!(s >> str) || str != "space_dim")
+    return false;
+  if (!(s >> space_dim))
+    return false;
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.inlines.hh line 27. */
+  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;
+  }
 
-namespace Parma_Polyhedra_Library {
+  // Check invariants.
+  assert(OK());
+  return true;
+}
 
-inline
-H79_Certificate::H79_Certificate()
-  : affine_dim(0), num_constraints(0) {
-  // This is the certificate for a zero-dim universe polyhedron.
+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());
 }
 
-inline
-H79_Certificate::H79_Certificate(const H79_Certificate& y)
-  : affine_dim(y.affine_dim), num_constraints(y.num_constraints) {
+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());
 }
 
-inline
-H79_Certificate::~H79_Certificate() {
+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());
 }
 
-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 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 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;
+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 PH>
-inline int
-H79_Certificate::compare(const PH& ph) const {
-  return this->compare(Polyhedron(NECESSARILY_CLOSED, ph.constraints()));
+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());
 }
 
-} // namespace Parma_Polyhedra_Library
+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());
+}
 
-/* Automatically generated from PPL source file ../src/H79_Certificate.defs.hh line 96. */
+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());
+}
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 1. */
-/* Grid_Certificate class declaration.
-*/
+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());
+}
 
+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());
+}
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 27. */
+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());
+}
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 30. */
-#include <cassert>
-#include <vector>
+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());
+}
 
-//! 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.
+#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;
 
-  \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();
+  // 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;
+  }
 
-  //! Constructor: computes the certificate for \p gr.
-  Grid_Certificate(const Grid& gr);
+  // 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;
+  }
 
-  //! Copy constructor.
-  Grid_Certificate(const Grid_Certificate& 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_unbounded()) {
+      if (!y_i.lower_is_unbounded())
+	goto pinf;
+    }
+    else if (y_i.lower_is_unbounded())
+      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);
+      assert(sgn(tmp1) >= 0);
+      Specialization::combine(tmp0, tmp1, dir);
+    }
+    // Dealing with the lower bounds.
+    if (x_i.upper_is_unbounded())
+      if (y_i.upper_is_unbounded())
+	continue;
+      else
+	goto pinf;
+    else if (y_i.upper_is_unbounded())
+      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);
+      assert(sgn(tmp1) >= 0);
+      Specialization::combine(tmp0, tmp1, dir);
+    }
+  }
+  Specialization::finalize(tmp0, dir);
+  assign_r(r, tmp0, dir);
+  return true;
 
-  //! Destructor.
-  ~Grid_Certificate();
+ pinf:
+  assign_r(r, PLUS_INFINITY, ROUND_NOT_NEEDED);
+  return true;
+}
 
-  //! 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;
+} // namespace Parma_Polyhedra_Library
 
-  //! Compares \p *this with the certificate for grid \p gr.
-  int compare(const Grid& gr) const;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Box.defs.hh line 2058. */
 
-#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;
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Rational_Box.hh line 28. */
 
-  //! 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;
-  };
+namespace Parma_Polyhedra_Library {
 
 #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-  //! Check if gathered information is meaningful.
+//! A box with rational, possibly open boundaries.
 #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
-  bool OK() const;
-
-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;
-};
+typedef Box<Rational_Interval> Rational_Box;
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.inlines.hh line 1. */
-/* Grid_Certificate class implementation: inline functions.
-*/
+} // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/max_space_dimension.hh line 33. */
+#include <algorithm>
 
 namespace Parma_Polyhedra_Library {
 
-inline
-Grid_Certificate::Grid_Certificate()
-  : num_equalities(0), num_proper_congruences(0) {
-  // This is the certificate for a zero-dim universe grid.
-  assert(OK());
-}
-
-inline
-Grid_Certificate::Grid_Certificate(const Grid_Certificate& y)
-  : num_equalities(y.num_equalities),
-    num_proper_congruences(y.num_proper_congruences) {
-}
-
-inline
-Grid_Certificate::~Grid_Certificate() {
-}
-
-inline bool
-Grid_Certificate::is_stabilizing(const Grid& gr) const {
-  return compare(gr) == 1;
-}
-
-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;
+//! 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
 
-/* Automatically generated from PPL source file ../src/Grid_Certificate.defs.hh line 102. */
-
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 1. */
-/* NNC_Polyhedron class declaration.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/algorithms.hh line 1. */
+/* A collection of useful convex polyhedra algorithms: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 30. */
-
-//! 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$.
-
-    \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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Pointset_Powerset.defs.hh line 1. */
+/* Pointset_Powerset class declaration.
 */
-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;
-
-    \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.
-
-    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);
-
-  //! Builds an NNC polyhedron from a system of constraints.
-  /*!
-    The polyhedron inherits the space dimension of the constraint system.
-
-    \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);
-
-  //! Builds an NNC polyhedron from a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Pointset_Powerset.types.hh line 1. */
 
-    \param gs
-    The system of generators defining the polyhedron.
 
-    \exception std::invalid_argument
-    Thrown if the system of generators is not empty but has no points.
-  */
-  explicit NNC_Polyhedron(const Generator_System& gs);
+namespace Parma_Polyhedra_Library {
 
-  //! Builds an NNC polyhedron recycling a system of generators.
-  /*!
-    The polyhedron inherits the space dimension of the generator system.
+template <typename PH>
+class Pointset_Powerset;
 
-    \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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Partially_Reduced_Product.defs.hh line 1. */
+/* Partially_Reduced_Product class declaration.
+*/
 
-    \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);
 
-  //! Builds an NNC polyhedron from a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence system.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Partially_Reduced_Product.defs.hh line 48. */
 
-    \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);
+namespace Parma_Polyhedra_Library {
 
-  //! Builds an NNC polyhedron recycling a system of congruences.
-  /*!
-    The polyhedron inherits the space dimension of the congruence
-    system.
+namespace IO_Operators {
 
-    \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.
+//! 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);
 
-    \param dummy
-    A dummy tag to syntactically differentiate this one
-    from the other constructors.
-  */
-  NNC_Polyhedron(Congruence_System& cgs, Recycle_Input dummy);
+} // namespace IO_Operators
 
-  //! Builds an NNC polyhedron from the C polyhedron \p y.
-  /*!
-    \param y
-    The C polyhedron to be used;
+/*! \brief
+  Returns <CODE>true</CODE> if and only if the components of \p x and \p y
+  are pairwise equal.
 
-    \param complexity
-    This argument is ignored.
-  */
-  explicit NNC_Polyhedron(const C_Polyhedron& y,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+  \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);
 
-  //! 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 the components of \p x and \p y
+  are not pairwise equal.
 
-    \param box
-    The box representing the polyhedron to be built;
+  \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);
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+} // 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 NNC_Polyhedron(const Box<Interval>& box,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
 
-  //! 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.
+/*! \brief
+  This class provides the reduction method for the Smash_Product
+  domain.
 
-    \param grid
-    The grid used to build the polyhedron.
+  \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();
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
-  */
-  explicit NNC_Polyhedron(const Grid& grid,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
+  /*! \brief
+    The smash reduction operator for propagating emptiness between the
+    domain elements \p d1 and \p d2.
 
-  //! 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.
+    If either of the the domain elements \p d1 or \p d2 is empty
+    then the other is also set empty.
 
-    \param bd
-    The BD shape used to build the polyhedron.
+    \param d1
+    A pointset domain element;
 
-    \param complexity
-    This argument is ignored as the algorithm used has
-    polynomial complexity.
+    \param d2
+    A pointset domain element;
   */
-  template <typename U>
-  explicit NNC_Polyhedron(const BD_Shape<U>& bd,
-                          Complexity_Class complexity = ANY_COMPLEXITY);
-
-  //! 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.
+  void product_reduce(D1& d1, D2& d2);
 
-    \param os
-    The octagonal shape used to build the polyhedron.
+  //! Destructor.
+  ~Smash_Reduction();
+};
 
-    \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);
+/*! \brief
+  This class provides the reduction method for the Constraints_Product
+  domain.
 
-  //! Ordinary copy-constructor.
-  NNC_Polyhedron(const NNC_Polyhedron& y,
-                 Complexity_Class complexity = ANY_COMPLEXITY);
+  \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();
 
   /*! \brief
-    The assignment operator.
-    (\p *this and \p y can be dimension-incompatible.)
-  */
-  NNC_Polyhedron& operator=(const NNC_Polyhedron& y);
-
-  //! Assigns to \p *this the C polyhedron \p y.
-  NNC_Polyhedron& operator=(const C_Polyhedron& y);
+    The constraints reduction operator for sharing constraints between the
+    domains.
 
-  //! Destructor.
-  ~NNC_Polyhedron();
+    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.
 
-  /*! \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.
+    \param d1
+    A pointset domain element;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    \param d2
+    A pointset domain element;
   */
-  bool poly_hull_assign_if_exact(const NNC_Polyhedron& y);
+  void product_reduce(D1& d1, D2& d2);
 
-  //! Same as poly_hull_assign_if_exact(y).
-  bool upper_bound_assign_if_exact(const NNC_Polyhedron& y);
+  //! Destructor.
+  ~Constraints_Reduction();
 };
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 1. */
-/* NNC_Polyhedron class implementation: inline functions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.inlines.hh line 27. */
-
-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()) {
-}
+/*! \brief
+  This class provides the reduction method for the Direct_Product domain.
 
-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)) {
-}
+  \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 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());
-}
+  /*! \brief
+    The null reduction operator.
 
-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());
-}
+    The parameters \p d1 and \p d2 are ignored.
+  */
+  void product_reduce(D1& d1, D2& d2);
 
-inline
-NNC_Polyhedron::NNC_Polyhedron(const NNC_Polyhedron& y, Complexity_Class)
-  : Polyhedron(y) {
-}
+  //! Destructor.
+  ~No_Reduction();
+};
 
-inline NNC_Polyhedron&
-NNC_Polyhedron::operator=(const NNC_Polyhedron& y) {
-  Polyhedron::operator=(y);
-  return *this;
-}
+//! The partially reduced product of two abstractions.
+/*! \ingroup PPL_CXX_interface
 
-inline NNC_Polyhedron&
-NNC_Polyhedron::operator=(const C_Polyhedron& y) {
-  NNC_Polyhedron nnc_y(y);
-  swap(nnc_y);
-  return *this;
-}
+  \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>.
 
-inline bool
-NNC_Polyhedron::upper_bound_assign_if_exact(const NNC_Polyhedron& y) {
-  return poly_hull_assign_if_exact(y);
-}
+  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.
 
-} // namespace Parma_Polyhedra_Library
+  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.
 
-/* Automatically generated from PPL source file ../src/NNC_Polyhedron.defs.hh line 254. */
+  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]
 
-/* Automatically generated from PPL source file ../src/Widening_Function.types.hh line 1. */
+  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.
 
-namespace Parma_Polyhedra_Library {
+  \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
 
-template <typename PH>
-class Widening_Function;
+  \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
 
-template <typename PH, typename CS>
-class Limited_Widening_Function;
+  \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
 
-} // namespace Parma_Polyhedra_Library
+  \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
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 1. */
-/* Widening_Function class declaration.
+  \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 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();
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 28. */
+  //! Builds an object having the specified properties.
+  /*!
+    \param num_dimensions
+    The number of dimensions of the vector space enclosing the pair;
 
-#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 PH>
-class Parma_Polyhedra_Library::Widening_Function {
-public:
-  //! The (parametric) type of a widening method.
-  typedef void (PH::* Widening_Method)(const PH&, unsigned*);
+    \param kind
+    Specifies whether a universe or an empty pair has to be built.
 
-  //! Explicit unary constructor.
-  explicit
-  Widening_Function(Widening_Method wm);
+    \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);
 
-  //! Function-application operator.
+  //! Builds a pair, copying a system of congruences.
   /*!
-    Computes <CODE>(x.*wm)(y, tp)</CODE>, where \p wm is the widening
-    method stored at construction time.
+    The pair inherits the space dimension of the congruence system.
+
+    \param cgs
+    The system of congruences to be approximated by the pair.
+
+    \exception std::invalid_argument
+    Thrown if the system of congruences is imcompatible with one of the
+    components.
+
+    \exception std::length_error
+    Thrown if the space dimension of \p cgs exceeds the maximum allowed
+    space dimension.
   */
-  void operator()(PH& x, const PH& y, unsigned* tp = 0) const;
+  explicit Partially_Reduced_Product(const Congruence_System& cgs);
 
-private:
-  //! The widening method.
-  Widening_Method w_method;
-};
+  //! Builds a pair, recycling a system of congruences.
+  /*!
+    The pair inherits the space dimension of the congruence system.
 
+    \param cgs
+    The system of congruences to be approximates by the pair.
+    Its data-structures may be recycled to build the pair.
 
-#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 PH, typename CS>
-class Parma_Polyhedra_Library::Limited_Widening_Function {
-public:
-  //! The (parametric) type of a limited widening method.
-  typedef void (PH::* Limited_Widening_Method)(const PH&,
-					       const CS&,
-					       unsigned*);
+    \exception std::invalid_argument
+    Thrown if the system of congruences is imcompatible with one of the
+    components.
 
-  //! Constructor.
+    \exception std::length_error
+    Thrown if the space dimension of \p cgs exceeds the maximum allowed
+    space dimension.
+  */
+  explicit Partially_Reduced_Product(Congruence_System& cgs);
+
+  //! Builds a pair, copying a system of constraints.
   /*!
-    \param lwm
-    The limited widening method.
+    The pair inherits the space dimension of the constraint system.
 
     \param cs
-    The constraint system limiting the widening.
+    The system of constraints to be approximated by the pair.
+
+    \exception std::invalid_argument
+    Thrown if the system of constraints is imcompatible with one of the
+    components.
+
+    \exception std::length_error
+    Thrown if the space dimension of \p cs exceeds the maximum allowed
+    space dimension.
   */
-  Limited_Widening_Function(Limited_Widening_Method lwm,
-			    const CS& cs);
+  explicit Partially_Reduced_Product(const Constraint_System& cs);
 
-  //! Function-application operator.
+  //! Builds a pair, recycling a system of constraints.
   /*!
-    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()(PH& x, const PH& y, unsigned* tp = 0) const;
+    The pair inherits the space dimension of the constraint system.
 
-private:
-  //! The limited widening method.
-  Limited_Widening_Method lw_method;
-  //! A constant reference to the constraint system limiting the widening.
-  const CS& limiting_cs;
-};
+    \param cs
+    The system of constraints to be approximated by the pair.
 
-namespace Parma_Polyhedra_Library {
+    \exception std::invalid_argument
+    Thrown if the system of constraints is imcompatible with one of the
+    components.
 
-//! Wraps a widening method into a function object.
-/*!
-  \relates Pointset_Powerset
+    \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);
 
-  \param wm
-  The widening method.
-*/
-template <typename PH>
-Widening_Function<PH>
-widen_fun_ref(void (PH::* wm)(const PH&, unsigned*));
+  //! 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.
 
-//! Wraps a limited widening method into a function object.
-/*!
-  \relates Pointset_Powerset
+    \param ph
+    The polyhedron to be approximated by the product.
 
-  \param lwm
-  The limited widening method.
+    \param complexity
+    The complexity that will not be exceeded.
 
-  \param cs
-  The constraint system limiting the widening.
-*/
-template <typename PH, typename CS>
-Limited_Widening_Function<PH, CS>
-widen_fun_ref(void (PH::* lwm)(const PH&, const CS&, unsigned*),
-	      const CS& cs);
+    \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);
 
-} // namespace Parma_Polyhedra_Library
+  //! 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.
 
-/* Automatically generated from PPL source file ../src/Widening_Function.inlines.hh line 1. */
-/* Widening_Function class implementation: inline functions.
-*/
+    \param ph
+    The polyhedron to be approximated by the product.
 
+    \param complexity
+    The complexity that will not be exceeded.
 
-#include <cassert>
+    \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);
 
-namespace Parma_Polyhedra_Library {
+  //! Builds a product, from a grid.
+  /*!
+    Builds a product containing \p gr.
+    The product inherits the space dimension of the grid.
 
-template <typename PH>
-Widening_Function<PH>::Widening_Function(Widening_Method wm)
-  : w_method(wm) {
-}
+    \param gr
+    The grid to be approximated by the product.
 
-template <typename PH>
-inline void
-Widening_Function<PH>::
-operator()(PH& x, const PH& y, unsigned* tp) const {
-  (x.*w_method)(y, tp);
-}
+    \param complexity
+    The complexity is ignored.
 
-template <typename PH, typename CS>
-Limited_Widening_Function<PH, CS>::
-Limited_Widening_Function(Limited_Widening_Method lwm,
-			  const CS& cs)
-  : lw_method(lwm), limiting_cs(cs) {
-}
+    \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 PH, typename CS>
-inline void
-Limited_Widening_Function<PH, CS>::
-operator()(PH& x, const PH& y, unsigned* tp) const {
-  (x.*lw_method)(y, limiting_cs, tp);
-}
+  //! Builds a product out of a box.
+  /*!
+    Builds a product containing \p box.
+    The product inherits the space dimension of the box.
 
-/*! \relates Pointset_Powerset */
-template <typename PH>
-inline Widening_Function<PH>
-widen_fun_ref(void (PH::* wm)(const PH&, unsigned*)) {
-  return Widening_Function<PH>(wm);
-}
+    \param box
+    The box representing the pair to be built.
 
-/*! \relates Pointset_Powerset */
-template <typename PH, typename CS>
-inline Limited_Widening_Function<PH, CS>
-widen_fun_ref(void (PH::* lwm)(const PH&, const CS&, unsigned*),
-	      const CS& cs) {
-  return Limited_Widening_Function<PH, CS>(lwm, cs);
-}
+    \param complexity
+    The complexity 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>
+  Partially_Reduced_Product(const Box<Interval>& box,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
+  //! Builds a product out of a BD shape.
+  /*!
+    Builds a product containing \p bd.
+    The product inherits the space dimension of the BD shape.
 
-/* Automatically generated from PPL source file ../src/Widening_Function.defs.hh line 125. */
+    \param bd
+    The BD shape representing the product to be built.
 
-/* Automatically generated from PPL source file ../src/Determinate.types.hh line 1. */
+    \param complexity
+    The complexity is ignored.
 
+    \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);
 
-namespace Parma_Polyhedra_Library {
+  //! Builds a product out of an octagonal shape.
+  /*!
+    Builds a product containing \p os.
+    The product inherits the space dimension of the octagonal shape.
 
-template <typename PS>
-class Determinate;
+    \param os
+    The octagonal shape representing the product to be built.
 
-} // namespace Parma_Polyhedra_Library
+    \param complexity
+    The complexity is ignored.
 
-/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 1. */
-/* Determinate class declaration.
-*/
+    \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);
 
-/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 31. */
-#include <iosfwd>
-#include <cassert>
+  //! Builds a conservative, upward approximation of \p y.
+  /*!
+    Builds a product containing \p y 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 y.
+    The product inherits the space dimension of y.
 
-namespace Parma_Polyhedra_Library {
+    \param y
+    The product to be approximated.
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are the same domain element.
+    \param complexity
+    The complexity that will not be exceeded.
 
-  \relates Determinate
-*/
-template <typename PS>
-bool operator==(const Determinate<PS>& x, const Determinate<PS>& y);
+    \exception std::length_error
+    Thrown if the space dimension of \p y exceeds the maximum allowed
+    space dimension.
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if
-  \p x and \p y are different domain elements.
+    The built product is independent of the order of the components of \p y.
+  */
+  template <typename E1, typename E2, typename S>
+  explicit
+  Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
+                            Complexity_Class complexity = ANY_COMPLEXITY);
 
-  \relates Determinate
-*/
-template <typename PS>
-bool operator!=(const Determinate<PS>& x, const Determinate<PS>& y);
+  /*! \brief
+    The assignment operator.  (\p *this and \p y can be
+    dimension-incompatible.)
+  */
+  Partially_Reduced_Product& operator=(const Partially_Reduced_Product& y);
 
-namespace IO_Operators {
+  //! \name Member Functions that Do Not Modify the Partially_Reduced_Product
+  //@{
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
-std::ostream&
-operator<<(std::ostream&, const Determinate<PS>&);
+  //! Returns the dimension of the vector space enclosing \p *this.
+  dimension_type space_dimension() const;
 
-} // namespace IO_Operators
+  /*! \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;
 
-} // namespace Parma_Polyhedra_Library
+  //! Returns a constant reference to the first of the pair.
+  const D1& domain1() const;
 
-//! Wraps a PPL class into a determinate constraint system interface.
-/*! \ingroup PPL_CXX_interface */
-template <typename PS>
-class Parma_Polyhedra_Library::Determinate {
-public:
-  //! \name Constructors and Destructor
-  //@{
+  //! Returns a constant reference to the second of the pair.
+  const D2& domain2() const;
+
+  //! Returns a system of constraints which approximates \p *this.
+  Constraint_System constraints() const;
 
   /*! \brief
-    Injection operator: builds the determinate constraint system element
-    corresponding to the base-level element \p p.
+    Returns a system of constraints which approximates \p *this, in
+    reduced form.
   */
-  Determinate(const PS& p);
+  Constraint_System minimized_constraints() const;
+
+  //! Returns a system of congruences which approximates \p *this.
+  Congruence_System congruences() const;
 
   /*! \brief
-    Injection operator: builds the determinate constraint system element
-    corresponding to the base-level element represented by \p cs.
+    Returns a system of congruences which approximates \p *this, in
+    reduced form.
   */
-  Determinate(const Constraint_System& cs);
+  Congruence_System minimized_congruences() const;
 
-  //! \brief
-  //! Injection operator: builds the determinate constraint system element
-  //! corresponding to the base-level element represented by \p cgs.
-  Determinate(const Congruence_System& cgs);
+  //! 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.
 
-  //! Copy constructor.
-  Determinate(const Determinate& y);
+    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;
 
-  //! Destructor.
-  ~Determinate();
+  //! 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;
 
-  //@} // Constructors and Destructor
+  //! 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.
 
-  //! \name Member Functions that Do Not Modify the Domain Element
-  //@{
+    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 a const reference to the embedded element.
-  const PS& element() const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if either of the components
+    of \p *this are empty.
+  */
+  bool is_empty() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is the top of the
-    determinate constraint system (i.e., the whole vector space).
+    Returns <CODE>true</CODE> if and only if both of the components
+    of \p *this are the universe.
   */
-  bool is_top() const;
+  bool is_universe() const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this is the bottom
-    of the determinate constraint system.
+    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_bottom() const;
+  bool is_topologically_closed() const;
 
-  //! Returns <CODE>true</CODE> if and only if \p *this entails \p y.
-  bool definitely_entails(const Determinate& y) const;
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y are
+    componentwise disjoint.
+
+    \exception std::invalid_argument
+    Thrown if \p x and \p y are dimension-incompatible.
+  */
+  bool is_disjoint_from(const Partially_Reduced_Product& y) const;
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y
-    are equivalent.
+    Returns <CODE>true</CODE> if and only if a component of \p *this
+    is discrete.
   */
-  bool is_definitely_equivalent_to(const Determinate& y) const;
+  bool is_discrete() const;
 
   /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
+    Returns <CODE>true</CODE> if and only if a component of \p *this
+    is bounded.
   */
-  memory_size_type total_memory_in_bytes() const;
+  bool is_bounded() const;
 
   /*! \brief
-    Returns a lower bound to the size in bytes of the memory
-    managed by \p *this.
+    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.
   */
-  memory_size_type external_memory_in_bytes() const;
+  bool constrains(Variable var) const;
 
+  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
   /*!
-    Returns <CODE>true</CODE> if and only if this domain
-    has a nontrivial weakening operator.
+    This method is the same as bounds_from_below.
+
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
   */
-  static bool has_nontrivial_weakening();
+  bool bounds_from_above(const Linear_Expression& expr) const;
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() 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.
 
-  //@} // Member Functions that Do Not Modify the Domain Element
+    \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.
 
-  //! \name Member Functions that May Modify the Domain Element
-  //@{
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-  //! Assigns to \p *this the upper bound of \p *this and \p y.
-  void upper_bound_assign(const Determinate& y);
+    \param sup_n
+    The numerator of the supremum value;
 
-  //! Assigns to \p *this the meet of \p *this and \p y.
-  void meet_assign(const Determinate& y);
+    \param sup_d
+    The denominator of the supremum value;
 
-  //! Assigns to \p *this the result of weakening \p *this with \p y.
-  void weakening_assign(const Determinate& y);
+    \param maximum
+    <CODE>true</CODE> if the supremum value can be reached in \p this.
 
-  /*! \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);
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-  //! Returns a reference to the embedded element.
-  PS& element();
+    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;
 
-#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();
+    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.
 
-  //! Assignment operator.
-  Determinate& operator=(const Determinate& y);
+    \param expr
+    The linear expression to be maximized subject to \p *this;
 
-  //! Swaps \p *this with \p y.
-  void swap(Determinate& y);
+    \param sup_n
+    The numerator of the supremum value;
 
-  //@} // Member Functions that May Modify the Domain Element
+    \param sup_d
+    The denominator of the supremum value;
 
-#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 PS, producing the corresponding function object taking
-    arguments of type Determinate<PS>.
+    \param maximum
+    <CODE>true</CODE> if the supremum value can be reached in \p this.
 
-    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(PS& x, const PS& 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);
+    \param point
+    When maximization succeeds, will be assigned a generator point
+    where \p expr reaches its supremum value.
 
-    //! Function-application operator.
-    void operator()(Determinate& x, const Determinate& y) const;
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-  private:
-    //! The function object to be lifted.
-    Binary_Operator_Assign op_assign_;
-  };
+    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;
 
-#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);
+    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.
 
-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 ph is non-const;
-      -   1: one reference, \p ph is non-const;
-      - > 1: more than one reference, \p ph is const.
-    */
-    mutable unsigned long references;
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-    //! Private and unimplemented: assignment not allowed.
-    Rep& operator=(const Rep& y);
+    \param inf_n
+    The numerator of the infimum value;
 
-    //! Private and unimplemented: copies not allowed.
-    Rep(const Rep& y);
+    \param inf_d
+    The denominator of the infimum value;
 
-    //! Private and unimplemented: default construction not allowed.
-    Rep();
+    \param minimum
+    <CODE>true</CODE> if the infimum value can be reached in \p this.
 
-  public:
-    //! A possibly shared base-level domain element.
-    PS ph;
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-    /*! \brief
-      Builds a new representation by creating a domain element
-      of the specified kind, in the specified vector space.
-    */
-    Rep(dimension_type num_dimensions, Degenerate_Element kind);
+    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;
 
-    //! Builds a new representation by copying base-level element \p p.
-    Rep(const PS& p);
+  /*! \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 new representation by copying the constraints in \p cs.
-    Rep(const Constraint_System& cs);
+    \param expr
+    The linear expression to be minimized subject to \p *this;
 
-    //! Builds a new representation by copying the constraints in \p cgs.
-    Rep(const Congruence_System& cgs);
+    \param inf_n
+    The numerator of the infimum value;
 
-    //! Destructor.
-    ~Rep();
+    \param inf_d
+    The denominator of the infimum value;
 
-    //! Registers a new reference.
-    void new_reference() const;
+    \param minimum
+    <CODE>true</CODE> if the infimum value can be reached in \p this.
 
-    /*! \brief
-      Unregisters one reference; returns <CODE>true</CODE> if and only if
-      the representation has become unreferenced.
-    */
-    bool del_reference() const;
+    \param point
+    When minimization succeeds, will be assigned a generator point
+    where \p expr reaches its infimum value.
 
-    //! True if and only if this representation is currently shared.
-    bool is_shared() const;
+    \exception std::invalid_argument
+    Thrown if \p expr and \p *this are dimension-incompatible.
 
-    /*! \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 \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;
 
-    /*! \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 <CODE>true</CODE> if and only if each component of \p *this
+    contains the corresponding component of \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool contains(const Partially_Reduced_Product& y) const;
 
   /*! \brief
-    A pointer to the possibly shared representation of
-    the base-level domain element.
+    Returns <CODE>true</CODE> if and only if each component of \p *this
+    strictly contains the corresponding component of \p y.
+
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  Rep* prep;
+  bool strictly_contains(const Partially_Reduced_Product& y) const;
 
-  friend bool
-  operator==<PS>(const Determinate<PS>& x, const Determinate<PS>& y);
-  friend bool
-  operator!=<PS>(const Determinate<PS>& x, const Determinate<PS>& y);
-};
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
+  //@} // Member Functions that Do Not Modify the Partially_Reduced_Product
 
-namespace std {
+  //! \name Space Dimension Preserving Member Functions that May Modify the Partially_Reduced_Product
+  //@{
 
-//! Specializes <CODE>std::swap</CODE>.
-/*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
-void swap(Parma_Polyhedra_Library::Determinate<PS>& x,
-	  Parma_Polyhedra_Library::Determinate<PS>& y);
+  //! 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);
 
-} // namespace std
+  /*! \brief
+    Use the constraint \p c to refine \p *this.
 
-/* Automatically generated from PPL source file ../src/Determinate.inlines.hh line 1. */
-/* Determinate class implementation: inline functions.
-*/
+    \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);
 
+  //! 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);
 
-#include <cassert>
+  /*! \brief
+    Use the congruence \p cg to refine \p *this.
 
-namespace Parma_Polyhedra_Library {
+    \param cg
+    The congruence to be used for refinement.
 
-template <typename PS>
-inline
-Determinate<PS>::Rep::Rep(dimension_type num_dimensions,
-			  Degenerate_Element kind)
-  : references(0), ph(num_dimensions, kind) {
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cg are dimension-incompatible.
+  */
+  void refine_with_congruence(const Congruence& cg);
 
-template <typename PS>
-inline
-Determinate<PS>::Rep::Rep(const PS& p)
-  : references(0), ph(p) {
-}
+  //! Adds a copy of the congruences in \p cgs to \p *this.
+  /*!
+    \param cgs
+    The congruence system to be added.
 
-template <typename PS>
-inline
-Determinate<PS>::Rep::Rep(const Constraint_System& cs)
-  : references(0), ph(cs) {
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void add_congruences(const Congruence_System& cgs);
 
-template <typename PS>
-inline
-Determinate<PS>::Rep::Rep(const Congruence_System& cgs)
-  : references(0), ph(cgs) {
-}
+  /*! \brief
+    Use the congruences in \p cgs to refine \p *this.
 
-template <typename PS>
-inline
-Determinate<PS>::Rep::~Rep() {
-  assert(references == 0);
-}
+    \param  cgs
+    The congruences to be used for refinement.
 
-template <typename PS>
-inline void
-Determinate<PS>::Rep::new_reference() const {
-  ++references;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cgs are dimension-incompatible.
+  */
+  void refine_with_congruences(const Congruence_System& cgs);
 
-template <typename PS>
-inline bool
-Determinate<PS>::Rep::del_reference() const {
-  return --references == 0;
-}
+  //! Adds the congruences in \p cgs to *this.
+  /*!
+    \param cgs
+    The congruence system to be added that may be recycled.
 
-template <typename PS>
-inline bool
-Determinate<PS>::Rep::is_shared() const {
-  return references > 1;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
 
-template <typename PS>
-inline memory_size_type
-Determinate<PS>::Rep::external_memory_in_bytes() const {
-  return ph.external_memory_in_bytes();
-}
+    \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);
 
-template <typename PS>
-inline memory_size_type
-Determinate<PS>::Rep::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  //! Adds a copy of the constraint system in \p cs to \p *this.
+  /*!
+    \param cs
+    The constraint system to be added.
 
-template <typename PS>
-inline
-Determinate<PS>::Determinate(const PS& ph)
-  : prep(new Rep(ph)) {
-  prep->new_reference();
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void add_constraints(const Constraint_System& cs);
 
-template <typename PS>
-inline
-Determinate<PS>::Determinate(const Constraint_System& cs)
-  : prep(new Rep(cs)) {
-  prep->new_reference();
-}
+  /*! \brief
+    Use the constraints in \p cs to refine \p *this.
 
-template <typename PS>
-inline
-Determinate<PS>::Determinate(const Congruence_System& cgs)
-  : prep(new Rep(cgs)) {
-  prep->new_reference();
-}
+    \param  cs
+     The constraints to be used for refinement.
+
+     \exception std::invalid_argument
+     Thrown if \p *this and \p cs are dimension-incompatible.
+  */
+  void refine_with_constraints(const Constraint_System& cs);
 
-template <typename PS>
-inline
-Determinate<PS>::Determinate(const Determinate& y)
-  : prep(y.prep) {
-  prep->new_reference();
-}
+  //! Adds the constraint system in \p cs to \p *this.
+  /*!
+    \param cs
+    The constraint system to be added that may be recycled.
 
-template <typename PS>
-inline
-Determinate<PS>::~Determinate() {
-  if (prep->del_reference())
-    delete prep;
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p cs are dimension-incompatible.
 
-template <typename PS>
-inline Determinate<PS>&
-Determinate<PS>::operator=(const Determinate& y) {
-  y.prep->new_reference();
-  if (prep->del_reference())
-    delete prep;
-  prep = y.prep;
-  return *this;
-}
+    \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);
 
-template <typename PS>
-inline void
-Determinate<PS>::swap(Determinate& y) {
-  std::swap(prep, y.prep);
-}
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to space dimension \p var, assigning the result to \p *this.
 
-template <typename PS>
-inline void
-Determinate<PS>::mutate() {
-  if (prep->is_shared()) {
-    Rep* new_prep = new Rep(prep->ph);
-    (void) prep->del_reference();
-    new_prep->new_reference();
-    prep = new_prep;
-  }
-}
+    \param var
+    The space dimension that will be unconstrained.
 
-template <typename PS>
-inline const PS&
-Determinate<PS>::element() const {
-  return prep->ph;
-}
+    \exception std::invalid_argument
+    Thrown if \p var is not a space dimension of \p *this.
+  */
+  void unconstrain(Variable var);
 
-template <typename PS>
-inline PS&
-Determinate<PS>::element() {
-  mutate();
-  return prep->ph;
-}
+  /*! \brief
+    Computes the \ref Cylindrification "cylindrification" of \p *this with
+    respect to the set of space dimensions \p to_be_unconstrained,
+    assigning the result to \p *this.
 
-template <typename PS>
-inline void
-Determinate<PS>::upper_bound_assign(const Determinate& y) {
-  element().upper_bound_assign(y.element());
-}
+    \param to_be_unconstrained
+    The set of space dimension that will be unconstrained.
 
-template <typename PS>
-inline void
-Determinate<PS>::meet_assign(const Determinate& y) {
-  element().intersection_assign(y.element());
-}
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with one of the
+    Variable objects contained in \p to_be_removed.
+  */
+  void unconstrain(const Variables_Set& to_be_unconstrained);
 
-template <typename PS>
-inline bool
-Determinate<PS>::has_nontrivial_weakening() {
-  // FIXME
-  return true;
-}
+  /*! \brief
+    Assigns to \p *this the componentwise intersection of \p *this and \p y.
 
-template <typename PS>
-inline void
-Determinate<PS>::weakening_assign(const Determinate& y) {
-  // FIXME
-  element().difference_assign(y.element());
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void intersection_assign(const Partially_Reduced_Product& y);
 
-template <typename PS>
-inline void
-Determinate<PS>::concatenate_assign(const Determinate& y) {
-  element().concatenate_assign(y.element());
-}
+  /*! \brief
+    Assigns to \p *this an upper bound of \p *this and \p y
+    computed on the corresponding components.
 
-template <typename PS>
-inline bool
-Determinate<PS>::definitely_entails(const Determinate& y) const {
-  return prep == y.prep || y.prep->ph.contains(prep->ph);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void upper_bound_assign(const Partially_Reduced_Product& y);
 
-template <typename PS>
-inline bool
-Determinate<PS>::is_definitely_equivalent_to(const Determinate& y) const {
-  return prep == y.prep || prep->ph == y.prep->ph;
-}
+  /*! \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.
 
-template <typename PS>
-inline bool
-Determinate<PS>::is_top() const {
-  return prep->ph.is_universe();
-}
+    \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);
 
-template <typename PS>
-inline bool
-Determinate<PS>::is_bottom() const {
-  return prep->ph.is_empty();
-}
+  /*! \brief
+    Assigns to \p *this an approximation of the set-theoretic difference
+    of \p *this and \p y.
 
-template <typename PS>
-inline memory_size_type
-Determinate<PS>::external_memory_in_bytes() const {
-  return prep->total_memory_in_bytes();
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  void difference_assign(const Partially_Reduced_Product& y);
 
-template <typename PS>
-inline memory_size_type
-Determinate<PS>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
-}
+  /*! \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 PS>
-inline bool
-Determinate<PS>::OK() const {
-  return prep->ph.OK();
-}
+    \param var
+    The variable to which the affine expression is assigned;
 
-namespace IO_Operators {
+    \param expr
+    The numerator of the affine expression;
 
-/*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
-inline std::ostream&
-operator<<(std::ostream& s, const Determinate<PS>& x) {
-  s << x.element();
-  return s;
-}
+    \param denominator
+    The denominator of the affine expression (optional argument with
+    default value 1).
 
-} // namespace IO_Operators
+    \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.
 
-/*! \relates Determinate */
-template <typename PS>
-inline bool
-operator==(const Determinate<PS>& x, const Determinate<PS>& y) {
-  return x.prep == y.prep || x.prep->ph == y.prep->ph;
-}
+  */
+  void affine_image(Variable var,
+		    const Linear_Expression& expr,
+		    Coefficient_traits::const_reference denominator
+		    = Coefficient_one());
 
-/*! \relates Determinate */
-template <typename PS>
-inline bool
-operator!=(const Determinate<PS>& x, const Determinate<PS>& y) {
-  return x.prep != y.prep && x.prep->ph != y.prep->ph;
-}
+  /*! \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 PS>
-template <typename Binary_Operator_Assign>
-inline
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
-Binary_Operator_Assign_Lifter(Binary_Operator_Assign op_assign)
-  : op_assign_(op_assign) {
-}
+    \param var
+    The variable to which the affine expression is substituted;
 
-template <typename PS>
-template <typename Binary_Operator_Assign>
-inline void
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
-operator()(Determinate& x, const Determinate& y) const {
-  op_assign_(x.element(), y.element());
-}
+    \param expr
+    The numerator of the affine expression;
 
-template <typename PS>
-template <typename Binary_Operator_Assign>
-inline
-Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
-Determinate<PS>::lift_op_assign(Binary_Operator_Assign op_assign) {
-  return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
-}
+    \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());
 
+  /*! \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".)
 
-namespace std {
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-/*! \relates Parma_Polyhedra_Library::Determinate */
-template <typename PS>
-inline void
-swap(Parma_Polyhedra_Library::Determinate<PS>& x,
-     Parma_Polyhedra_Library::Determinate<PS>& y) {
-  x.swap(y);
-}
+    \param relsym
+    The relation symbol;
 
-} // namespace std
+    \param expr
+    The numerator of the right hand side affine expression;
 
-/* Automatically generated from PPL source file ../src/Determinate.defs.hh line 324. */
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
 
-/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 1. */
-/* Powerset class declaration.
-*/
+    \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());
 
+  /*! \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".)
 
-/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 28. */
-#include <iosfwd>
-#include <iterator>
-#include <list>
+    \param var
+    The left hand side variable of the generalized affine relation;
 
-namespace Parma_Polyhedra_Library {
+    \param relsym
+    The relation symbol;
 
-//! 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);
+    \param expr
+    The numerator of the right hand side affine expression;
 
-//! 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);
+    \param denominator
+    The denominator of the right hand side affine expression (optional
+    argument with default value 1).
 
-namespace IO_Operators {
+    \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());
 
-//! Output operator.
-/*! \relates Parma_Polyhedra_Library::Powerset */
-template <typename D>
-std::ostream&
-operator<<(std::ostream& s, const Powerset<D>& x);
+  /*! \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".)
 
-} // namespace IO_Operators
+    \param lhs
+    The left hand side affine expression;
 
-} // namespace Parma_Polyhedra_Library
+    \param relsym
+    The relation symbol;
 
+    \param rhs
+    The right hand side affine expression.
 
-//! 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.
+    \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);
 
-  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.
+  /*! \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".)
 
-  \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
+    \param lhs
+    The left hand side affine expression;
 
-  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>.
+    \param relsym
+    The relation symbol;
 
-  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
-  //@{
+    \param rhs
+    The right hand side affine expression.
 
-  /*! \brief
-    Default constructor: builds the bottom of the powerset constraint
-    system (i.e., the empty powerset).
+    \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.
   */
-  Powerset();
+  void generalized_affine_preimage(const Linear_Expression& lhs,
+				   Relation_Symbol relsym,
+				   const Linear_Expression& rhs);
 
-  //! Copy constructor.
-  Powerset(const Powerset& y);
+  /*!
+    \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
-    If \p d is not bottom, builds a powerset containing only \p d.
-    Builds the empty powerset otherwise.
+    \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.
   */
-  explicit Powerset(const D& d);
+  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$.
 
-  //! Destructor.
-  ~Powerset();
+    \param var
+    The variable updated by the affine relation;
 
-  //@} // Constructors and Destructor
+    \param lb_expr
+    The numerator of the lower bounding affine expression;
 
-  //! \name Member Functions that Do Not Modify the Powerset Object
-  //@{
+    \param ub_expr
+    The numerator of the upper bounding affine expression;
 
-  /*! \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;
+    \param denominator
+    The (common) denominator for the lower and upper bounding
+    affine expressions (optional argument with default value 1).
 
-  /*! \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).
+    \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 is_top() const;
+  void bounded_affine_preimage(Variable var,
+			       const Linear_Expression& lb_expr,
+			       const Linear_Expression& ub_expr,
+			       Coefficient_traits::const_reference denominator
+			       = Coefficient_one());
 
   /*! \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;
+    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".)
 
-  /*! \brief
-    Returns a lower bound to the total size in bytes of the memory
-    occupied by \p *this.
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
   */
-  memory_size_type total_memory_in_bytes() const;
+  void time_elapse_assign(const Partially_Reduced_Product& y);
 
-  /*! \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;
+  //! Assigns to \p *this its topological closure.
+  void topological_closure_assign();
 
-  //! 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;
+  // TODO: Add a way to call other widenings.
 
-  //@} // Member Functions that Do Not Modify the Powerset Object
+  // CHECKME: This is a real widening for all the existing reduction
+  // operations. When new reductions are added, this must be rechecked.
 
-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;
+  /*! \brief
+    Assigns to \p *this the result of computing the
+    "widening" between \p *this and \p y.
 
-  //! Alias for the low-level iterator on the disjuncts.
-  typedef typename Sequence::iterator Sequence_iterator;
+    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.
 
-  //! Alias for the low-level %const_iterator on the disjuncts.
-  typedef typename Sequence::const_iterator Sequence_const_iterator;
+    \param y
+    A product that <EM>must</EM> be contained in \p *this;
 
-  //! The sequence container holding powerset's elements.
-  Sequence 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).
 
-  //! If <CODE>true</CODE>, \p *this is Omega-reduced.
-  mutable bool reduced;
+    \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);
 
-public:
-  // Sequence manipulation types, accessors and modifiers
-  typedef typename Sequence::size_type size_type;
-  typedef typename Sequence::value_type value_type;
+  //@} // Space Dimension Preserving Member Functions that May Modify [...]
+
+  //! \name Member Functions that May Modify the Dimension of the Vector Space
+  //@{
 
   /*! \brief
-    Alias for a <EM>read-only</EM> bidirectional %iterator on the
-    disjuncts of a Powerset element.
+    Adds \p m new space dimensions and embeds the components
+    of \p *this in the new vector 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;
+    \param m
+    The number of dimensions to add.
 
-  //! A bidirectional %const_iterator on the disjuncts of a Powerset element.
-  typedef const_iterator_to_const<Sequence> const_iterator;
+    \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);
 
-  //! The reverse iterator type built from Powerset::iterator.
-  typedef std::reverse_iterator<iterator> reverse_iterator;
+  /*! \brief
+    Adds \p m new space dimensions and does not embed the components
+    in the new vector space.
 
-  //! The reverse iterator type built from Powerset::const_iterator.
-  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
+    \param m
+    The number of space dimensions to add.
 
-  //! \name Member Functions for the Direct Manipulation of Disjuncts
-  //@{
+    \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
-    Drops from the sequence of disjuncts in \p *this all the
-    non-maximal elements so that \p *this is non-redundant.
+    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 and \ref Grid_Concatenate.
 
-    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.
+    \exception std::length_error
+    Thrown if the concatenation would cause the vector space
+    to exceed dimension <CODE>max_space_dimension()</CODE>.
   */
-  void omega_reduce() const;
+  void concatenate_assign(const Partially_Reduced_Product& y);
 
-  //! Returns the number of disjuncts.
-  size_type size() const;
+  //! Removes all the specified dimensions from the vector space.
+  /*!
+    \param to_be_removed
+    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 to_be_removed.
+  */
+  void remove_space_dimensions(const Variables_Set& to_be_removed);
 
   /*! \brief
-    Returns <CODE>true</CODE> if and only if there are no disjuncts in
+    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.
   */
-  bool empty() const;
+  void remove_higher_space_dimensions(dimension_type new_dimension);
 
   /*! \brief
-    Returns an iterator pointing to the first disjunct, if \p *this
-    is not empty; otherwise, returns the past-the-end iterator.
-  */
-  iterator begin();
+    Remaps the dimensions of the vector space according to
+    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
 
-  //! Returns the past-the-end iterator.
-  iterator end();
+    If \p pfunc maps only some of the dimensions of \p *this then the
+    rest will be projected away.
 
-  /*! \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;
+    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.
 
-  //! Returns the past-the-end const_iterator.
-  const_iterator end() const;
+    \param pfunc
+    The partial function specifying the destiny of each space
+    dimension.
 
-  /*! \brief
-    Returns a reverse_iterator pointing to the last disjunct, if \p *this
-    is not empty; otherwise, returns the before-the-start reverse_iterator.
+    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".
   */
-  reverse_iterator rbegin();
+  template <typename Partial_Function>
+  void map_space_dimensions(const Partial_Function& pfunc);
 
-  //! Returns the before-the-start reverse_iterator.
-  reverse_iterator rend();
+  //! 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
-    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.
+    \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$.
   */
-  const_reverse_iterator rbegin() const;
+  void expand_space_dimension(Variable var, dimension_type m);
 
-  //! Returns the before-the-start const_reverse_iterator.
-  const_reverse_iterator rend() const;
+  //! Folds the space dimensions in \p to_be_folded into \p var.
+  /*!
+    \param to_be_folded
+    The set of Variable objects corresponding to the space dimensions
+    to be folded;
 
-  //! Adds to \p *this the disjunct \p d.
-  void add_disjunct(const D& d);
+    \param var
+    The variable corresponding to the space dimension that is the
+    destination of the folding operation.
 
-  /*! \brief
-    Drops the disjunct in \p *this pointed to by \p position, returning
-    an iterator to the disjunct following \p position.
+    \exception std::invalid_argument
+    Thrown if \p *this is dimension-incompatible with \p var or with
+    one of the Variable objects contained in \p to_be_folded.  Also
+    thrown if \p var is contained in \p to_be_folded.
+
+    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
+    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
+    \p to_be_folded is a set of variables whose maximum space dimension
+    is also less than or equal to \f$n\f$, and \p var is not a member
+    of \p to_be_folded, then the space dimensions corresponding to
+    variables in \p to_be_folded are
+    \ref Folding_Multiple_Dimensions_of_the_Vector_Space_into_One_Dimension
+    "folded" into the \f$k\f$-th space dimension.
   */
-  iterator drop_disjunct(iterator position);
+  void fold_space_dimensions(const Variables_Set& to_be_folded, Variable var);
 
-  //! Drops all the disjuncts from \p first to \p last (excluded).
-  void drop_disjuncts(iterator first, iterator last);
+  //@} // Member Functions that May Modify the Dimension of the Vector Space
 
-  //! Drops all the disjuncts, making \p *this an empty powerset.
-  void clear();
+  friend bool operator==<>(const Partially_Reduced_Product<D1, D2, R>& x,
+			   const Partially_Reduced_Product<D1, D2, R>& y);
 
-  //@} // Member Functions for the Direct Manipulation of Disjuncts
+  friend std::ostream&
+  Parma_Polyhedra_Library::IO_Operators::
+  operator<<<>(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& dp);
 
-  //! \name Member Functions that May Modify the Powerset Object
+  //! \name Miscellaneous Member Functions
   //@{
 
-  //! The assignment operator.
-  Powerset& operator=(const Powerset& y);
+  //! Destructor.
+  ~Partially_Reduced_Product();
 
-  //! Swaps \p *this with \p y.
-  void swap(Powerset& y);
+  /*! \brief
+    Swaps \p *this with product \p y.  (\p *this and \p y can be
+    dimension-incompatible.)
+  */
+  void swap(Partially_Reduced_Product& y);
 
-  //! Assigns to \p *this the least upper bound of \p *this and \p y.
-  void least_upper_bound_assign(const Powerset& y);
+  PPL_OUTPUT_DECLARATIONS
 
-  //! 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.
+  /*! \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 upper_bound_assign(const Powerset& y);
+  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
-    Assigns to \p *this the least upper bound of \p *this and \p y
-    and returns \c true.
+    Returns a 32-bit hash code for \p *this.
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
+    If \p x and \p y are such that <CODE>x == y</CODE>,
+    then <CODE>x.hash_code() == y.hash_code()</CODE>.
   */
-  bool upper_bound_assign_if_exact(const Powerset& y);
+  int32_t hash_code() const;
 
-  //! Assigns to \p *this the meet of \p *this and \p y.
-  void meet_assign(const Powerset& y);
+  //@} // Miscellaneous Member Functions
 
-  /*! \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.
+  //! Reduce.
+  /*
+    \return
+    <CODE>true</CODE> if and only if either of the resulting component
+    is strictly contained in the respective original.
   */
-  void collapse();
+  bool reduce() const;
 
-  //@} // Member Functions that May Modify the Powerset element
+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
-    Returns <CODE>true</CODE> if and only if \p *this does not contain
-    non-maximal elements.
+    Flag to record whether the components are reduced with respect
+    to each other and the reduction class.
   */
-  bool is_omega_reduced() const;
+  bool reduced;
 
-  /*! \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);
+#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
-    Adds to \p *this the disjunct \p d,
-    assuming \p d is not the bottom element and ensuring
-    partial Omega-reduction.
 
-    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);
+  // 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(const char* method,
+					     const char* reason);
 
-  /*! \brief
-    Adds to \p *this the disjunct \p d, assuming \p d is not the
-    bottom element and preserving Omega-reduction.
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+  //@} // Exception Throwers
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
 
-    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);
+};
 
-  /*! \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);
+/*! \brief
+  This class is temporary and will be removed when template typedefs will
+  be supported in C++.
 
-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;
+  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;
 
-  /*! \brief
-    Replaces the disjunct \p *sink by an upper bound of itself and
-    all the disjuncts following it.
-  */
-  void collapse(Sequence_iterator sink);
+  typedef Partially_Reduced_Product<D1, D2, Smash_Reduction<D1, D2> >
+  Smash_Product;
+
+  typedef Partially_Reduced_Product<D1, D2, Constraints_Reduction<D1, D2> >
+  Constraints_Product;
 };
 
+} // namespace Parma_Polyhedra_Library
+
 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);
+/*! \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/Powerset.inlines.hh line 1. */
-/* Powerset class implementation: inline functions.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Partially_Reduced_Product.inlines.hh line 1. */
+/* Partially_Reduced_Product class implementation: inline functions.
 */
 
 
-#include <algorithm>
-#include <cassert>
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Partially_Reduced_Product.inlines.hh line 31. */
+
+namespace Parma_Polyhedra_Library {
+
+template <typename D1, typename D2, typename R>
+inline dimension_type
+Partially_Reduced_Product<D1, D2, R>::max_space_dimension() {
+  return std::min(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 <= max_space_dimension()
+       ?  num_dimensions
+       : (throw_space_dimension_overflow
+               ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+                "n exceeds the maximum "
+                "allowed space dimension"),
+	       0), 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.space_dimension() <= max_space_dimension())
+       ?  ccgs
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of ccgs "
+           "exceeds the maximum allowed "
+           "space dimension"), ccgs)),
+    d2(ccgs) {
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(Congruence_System& cgs)
+  : d1((cgs.space_dimension() <= max_space_dimension())
+       ? const_cast<const Congruence_System&>(cgs)
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of cgs "
+           "exceeds the maximum allowed "
+           "space dimension"), cgs)),
+    d2(cgs) {
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Constraint_System& ccs)
+  : d1((ccs.space_dimension() <= max_space_dimension())
+       ?  ccs
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of ccs "
+           "exceeds the maximum allowed "
+           "space dimension"), ccs)),
+    d2(ccs) {
+  clear_reduced_flag();
+}
+
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(Constraint_System& cs)
+  : d1((cs.space_dimension() <= max_space_dimension())
+       ? const_cast<const Constraint_System&>(cs)
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of cs "
+           "exceeds the maximum allowed "
+           "space dimension"), cs)),
+    d2(cs) {
+  clear_reduced_flag();
+}
 
-namespace Parma_Polyhedra_Library {
+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.space_dimension() <= max_space_dimension())
+       ? ph
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of ph "
+           "exceeds the maximum allowed "
+           "space dimension"), ph), complexity),
+   d2(ph, complexity) {
+  set_reduced_flag();
+}
 
-template <typename D>
-inline typename Powerset<D>::iterator
-Powerset<D>::begin() {
-  return sequence.begin();
+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.space_dimension() <= max_space_dimension())
+       ? ph
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of ph "
+           "exceeds the maximum allowed "
+           "space dimension"), ph), complexity),
+   d2(ph, complexity) {
+  set_reduced_flag();
 }
 
-template <typename D>
-inline typename Powerset<D>::iterator
-Powerset<D>::end() {
-  return sequence.end();
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>
+::Partially_Reduced_Product(const Grid& gr, Complexity_Class)
+ : d1((gr.space_dimension() <= max_space_dimension())
+       ? gr
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of gr "
+           "exceeds the maximum allowed "
+           "space dimension"), gr)),
+   d2(gr) {
+  set_reduced_flag();
 }
 
-template <typename D>
-inline typename Powerset<D>::const_iterator
-Powerset<D>::begin() const {
-  return sequence.begin();
+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.space_dimension() <= max_space_dimension())
+       ? box
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of box "
+           "exceeds the maximum allowed "
+           "space dimension"), box)),
+   d2(box) {
+  set_reduced_flag();
 }
 
-template <typename D>
-inline typename Powerset<D>::const_iterator
-Powerset<D>::end() const {
-  return sequence.end();
+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.space_dimension() <= max_space_dimension())
+       ? bd
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of bd "
+           "exceeds the maximum allowed "
+           "space dimension"), bd)),
+   d2(bd) {
+  set_reduced_flag();
 }
 
-template <typename D>
-inline typename Powerset<D>::reverse_iterator
-Powerset<D>::rbegin() {
-  return reverse_iterator(end());
+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.space_dimension() <= max_space_dimension())
+       ? os
+       : (throw_space_dimension_overflow
+          ("Partially_Reduced_Product<D1, D2, R>(n, k)",
+           "the space dimension of os "
+           "exceeds the maximum allowed "
+           "space dimension"), os)),
+   d2(os) {
+  set_reduced_flag();
 }
 
-template <typename D>
-inline typename Powerset<D>::reverse_iterator
-Powerset<D>::rend() {
-  return reverse_iterator(begin());
+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;
 }
 
-template <typename D>
-inline typename Powerset<D>::const_reverse_iterator
-Powerset<D>::rbegin() const {
-  return const_reverse_iterator(end());
+template <typename D1, typename D2, typename R>
+inline
+Partially_Reduced_Product<D1, D2, R>::~Partially_Reduced_Product() {
 }
 
-template <typename D>
-inline typename Powerset<D>::const_reverse_iterator
-Powerset<D>::rend() const {
-  return const_reverse_iterator(begin());
+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();
 }
 
-template <typename D>
-inline typename Powerset<D>::size_type
-Powerset<D>::size() const {
-  return sequence.size();
+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();
 }
 
-template <typename D>
-inline bool
-Powerset<D>::empty() const {
-  return sequence.empty();
+template <typename D1, typename D2, typename R>
+inline dimension_type
+Partially_Reduced_Product<D1, D2, R>::space_dimension() const {
+  assert(d1.space_dimension() == d2.space_dimension());
+  return d1.space_dimension();
 }
 
-template <typename D>
-inline typename Powerset<D>::iterator
-Powerset<D>::drop_disjunct(iterator position) {
-  return sequence.erase(position.base);
+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 D>
+template <typename D1, typename D2, typename R>
 inline void
-Powerset<D>::drop_disjuncts(iterator first, iterator last) {
-  sequence.erase(first.base, last.base);
+Partially_Reduced_Product<D1, D2, R>
+::unconstrain(const Variable var) {
+  reduce();
+  d1.unconstrain(var);
+  d2.unconstrain(var);
 }
 
-template <typename D>
+template <typename D1, typename D2, typename R>
 inline void
-Powerset<D>::clear() {
-  sequence.clear();
+Partially_Reduced_Product<D1, D2, R>
+::unconstrain(const Variables_Set& to_be_unconstrained) {
+  reduce();
+  d1.unconstrain(to_be_unconstrained);
+  d2.unconstrain(to_be_unconstrained);
 }
 
-template <typename D>
-inline
-Powerset<D>::Powerset(const Powerset& y)
-  : sequence(y.sequence), reduced(y.reduced) {
+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 D>
-inline Powerset<D>&
-Powerset<D>::operator=(const Powerset& y) {
-  sequence = y.sequence;
-  reduced = y.reduced;
-  return *this;
+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 D>
+template <typename D1, typename D2, typename R>
 inline void
-Powerset<D>::swap(Powerset& y) {
-  std::swap(sequence, y.sequence);
-  std::swap(reduced, y.reduced);
+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);
+  // CHECKME: if upper_bound_assign is not a least_upper_bound
+  //          it may not be reduced.
+  // clear_reduced_flag();
 }
 
-template <typename D>
-inline
-Powerset<D>::Powerset()
-  : sequence(), reduced(true) {
+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;
 }
 
-template <typename D>
-inline
-Powerset<D>::Powerset(const D& d)
-  : sequence(), reduced(false) {
-  sequence.push_back(d);
-  assert(OK());
+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);
 }
 
-template <typename D>
-inline
-Powerset<D>::~Powerset() {
+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);
 }
 
-template <typename D>
+template <typename D1, typename D2, typename R>
 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());
+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);
 }
 
-template <typename D>
+template <typename D1, typename D2, typename R>
 inline void
-Powerset<D>::add_disjunct(const D& d) {
-  sequence.push_back(d);
-  reduced = false;
+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);
 }
 
-/*! \relates Powerset */
-template <typename D>
-inline
-bool operator!=(const Powerset<D>& x, const Powerset<D>& y) {
-  return !(x == y);
+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);
 }
 
-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;
+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);
 }
 
-template <typename D>
-inline bool
-Powerset<D>::is_bottom() const {
-  // Must perform omega-reduction for correctness.
-  omega_reduce();
-  return empty();
-}
 
-template <typename D>
+template <typename D1, typename D2, typename R>
 inline void
-Powerset<D>::collapse() {
-  if (!empty())
-    collapse(sequence.begin());
+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 D>
+template <typename D1, typename D2, typename R>
 inline void
-Powerset<D>::meet_assign(const Powerset& y) {
-  pairwise_apply_assign(y, std::mem_fun_ref(&D::meet_assign));
+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 D>
+template <typename D1, typename D2, typename R>
 inline void
-Powerset<D>::upper_bound_assign(const Powerset& y) {
-  least_upper_bound_assign(y);
+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);
 }
 
-template <typename D>
-inline bool
-Powerset<D>::upper_bound_assign_if_exact(const Powerset& y) {
-  least_upper_bound_assign(y);
-  return true;
+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();
 }
 
-template <typename D>
-inline memory_size_type
-Powerset<D>::total_memory_in_bytes() const {
-  return sizeof(*this) + external_memory_in_bytes();
+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);
 }
 
-} // namespace Parma_Polyhedra_Library
-
-
-namespace std {
-
-/*! \relates Parma_Polyhedra_Library::Powerset */
-template <typename D>
+template <typename D1, typename D2, typename R>
 inline void
-swap(Parma_Polyhedra_Library::Powerset<D>& x,
-     Parma_Polyhedra_Library::Powerset<D>& y) {
-  x.swap(y);
+Partially_Reduced_Product<D1, D2, R>::add_constraint(const Constraint& c) {
+  d1.add_constraint(c);
+  d2.add_constraint(c);
+  clear_reduced_flag();
 }
 
-} // namespace std
-
-/* Automatically generated from PPL source file ../src/Powerset.templates.hh line 1. */
-/* Powerset class implementation: non-inline template functions.
-*/
-
+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();
+}
 
-#include <algorithm>
-#include <cassert>
-#include <iostream>
+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();
+}
 
-namespace Parma_Polyhedra_Library {
+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 D>
-void
-Powerset<D>::collapse(const Sequence_iterator sink) {
-  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);
+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();
+}
 
-  // Ensure omega-reduction.
-  for (iterator xi = begin(); xi != x_sink; )
-    if (xi->definitely_entails(d))
-      xi = drop_disjunct(xi);
-    else
-      ++xi;
+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();
+}
 
-  assert(OK());
+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();
 }
 
-template <typename D>
-void
-Powerset<D>::omega_reduce() const {
-  if (reduced)
-    return;
+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();
+}
 
-  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;
-  assert(OK());
+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;
 }
 
-template <typename D>
-void
-Powerset<D>::collapse(const unsigned max_disjuncts) {
-  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);
-  }
-  assert(OK());
-  assert(is_omega_reduced());
+template <typename D1, typename D2, typename R>
+inline const D1&
+Partially_Reduced_Product<D1, D2, R>::domain1() const {
+  reduce();
+  return d1;
 }
 
-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;
+template <typename D1, typename D2, typename R>
+inline const D2&
+Partially_Reduced_Product<D1, D2, R>::domain2() const {
+  reduce();
+  return d2;
 }
 
-template <typename D>
-bool
-Powerset<D>::is_omega_reduced() const {
-  if (!reduced && check_omega_reduced())
-    reduced = true;
-  return reduced;
+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();
 }
 
-template <typename D>
-typename Powerset<D>::iterator
-Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d,
-							iterator first,
-							iterator last) {
-  assert(!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);
-  assert(OK());
-  return first;
+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();
 }
 
-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;
+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();
 }
 
-/*! \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;
+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 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;
-  assert(OK());
+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();
 }
 
-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);
-  assert(OK());
+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();
 }
 
-namespace IO_Operators {
+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);
+}
 
-/*! \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;
+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);
 }
 
-} // namespace IO_Operators
+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);
+}
 
-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 D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::widening_assign(const Partially_Reduced_Product& y,
+                  unsigned* tp) {
+  reduce();
+  y.reduce();
+  d1.widening_assign(y.d1, tp);
+  d2.widening_assign(y.d2, tp);
 }
 
-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;
+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);
 }
 
-} // namespace Parma_Polyhedra_Library
+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);
+}
 
-/* Automatically generated from PPL source file ../src/Powerset.defs.hh line 452. */
+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();
+}
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.types.hh line 1. */
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::remove_space_dimensions(const Variables_Set& to_be_removed) {
+  d1.remove_space_dimensions(to_be_removed);
+  d2.remove_space_dimensions(to_be_removed);
+}
 
+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);
+}
 
-namespace Parma_Polyhedra_Library {
+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 PH>
-class Pointset_Powerset;
+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);
+}
 
-} // namespace Parma_Polyhedra_Library
+template <typename D1, typename D2, typename R>
+inline void
+Partially_Reduced_Product<D1, D2, R>
+::fold_space_dimensions(const Variables_Set& to_be_folded,
+			Variable var) {
+  d1.fold_space_dimensions(to_be_folded, var);
+  d2.fold_space_dimensions(to_be_folded, var);
+}
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 1. */
-/* Pointset_Powerset class declaration.
-*/
+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);
+}
 
+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));
+}
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 1. */
-/* Partially_Reduced_Product class declaration.
-*/
+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;
+}
 
+template <typename D1, typename D2, typename R>
+inline bool
+Partially_Reduced_Product<D1, D2, R>::is_reduced() const {
+  return reduced;
+}
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 40. */
+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;
+}
 
-namespace IO_Operators {
+PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(D1, D2, R, Partially_Reduced_Product)
 
-//! 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);
+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);
+}
 
-} // namespace IO_Operators
+template <typename D1, typename D2, typename R>
+inline int32_t
+Partially_Reduced_Product<D1, D2, R>::hash_code() const {
+  return space_dimension() & 0x7fffffff;
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if the components of \p x and \p y
-  are pairwise equal.
+/*! \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;
+}
 
-  \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.
-*/
+/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
 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);
+inline bool
+operator!=(const Partially_Reduced_Product<D1, D2, R>& x,
+	   const Partially_Reduced_Product<D1, D2, R>& y) {
+  return !(x == y);
+}
 
-/*! \brief
-  Returns <CODE>true</CODE> if and only if the components of \p x and \p y
-  are not pairwise equal.
+/*! \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;
+}
 
-  \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);
+void
+Partially_Reduced_Product<D1, D2, R>::throw_space_dimension_overflow(const char* method,
+                                                                     const char* reason) {
+  std::ostringstream s;
+  s << "Partially_Reduced_Product<D1, D2, R>::" << method << ":" << std::endl
+    << reason << ".";
+  throw std::length_error(s.str());
+}
 
 } // namespace Parma_Polyhedra_Library
 
+namespace Parma_Polyhedra_Library {
 
-/*! \brief
-  This class provides the reduction method for the Smash_Product
-  domain.
+template <typename D1, typename D2>
+inline
+No_Reduction<D1, D2>::No_Reduction() {
+}
 
-  \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();
+void No_Reduction<D1, D2>::product_reduce(D1&, D2&) {
+}
 
-  /*! \brief
-    The smash reduction operator for propagating emptiness between the
-    domain elements \p d1 and \p d2.
+template <typename D1, typename D2>
+inline
+No_Reduction<D1, D2>::~No_Reduction() {
+}
 
-    If either of the the domain elements \p d1 or \p d2 is empty
-    then the other is also set empty.
+template <typename D1, typename D2>
+inline
+Smash_Reduction<D1, D2>::Smash_Reduction() {
+}
 
-    \param d1
-    A pointset domain element;
+template <typename D1, typename D2>
+inline
+Smash_Reduction<D1, D2>::~Smash_Reduction() {
+}
 
-    \param d2
-    A pointset domain element;
-  */
-  void product_reduce(D1& d1, D2& d2);
+template <typename D1, typename D2>
+inline
+Constraints_Reduction<D1, D2>::Constraints_Reduction() {
+}
 
-  //! Destructor.
-  ~Smash_Reduction();
-};
+template <typename D1, typename D2>
+inline
+Constraints_Reduction<D1, D2>::~Constraints_Reduction() {
+}
 
-/*! \brief
-  This class provides the reduction method for the Constraints_Product
-  domain.
+} // namespace Parma_Polyhedra_Library
 
-  \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.
+/*! \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 /home/bagnara/ppl/ppl/src/Partially_Reduced_Product.templates.hh line 1. */
+/* Partially_Reduced_Product class implementation:
+   non-inline template functions.
 */
-template <typename D1, typename D2>
-class Parma_Polyhedra_Library::Constraints_Reduction {
-public:
-  //! Default constructor.
-  Constraints_Reduction();
 
-  /*! \brief
-    The constraints reduction operator for sharing constraints between the
-    domains.
 
-    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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Partially_Reduced_Product.templates.hh line 30. */
+#include <algorithm>
+#include <deque>
+
+namespace Parma_Polyhedra_Library {
+
+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() > max_space_dimension())
+       ? (throw_space_dimension_overflow
+       ("Partially_Reduced_Product<D1, D2, R>(y)",
+        "the space dimension of y "
+        "exceeds the maximum allowed "
+        "space dimension"), 0)
+       : y.space_dimension()),
+    d2(y.space_dimension()) {
+  Partially_Reduced_Product<D1, D2, R> x1(y.domain1(), complexity);
+  const Partially_Reduced_Product<D1, D2, R> x2(y.domain2(), complexity);
+  x1.intersection_assign(x2);
+  d1.swap(x1.d1);
+  d2.swap(x1.d2);
+  /* Even if y is reduced, the built product may not be reduced as
+     the reduction method may have changed (i.e., S != R). */
+  reduced = false;
+}
+
+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 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 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;
+}
 
-    \param d1
-    A pointset domain element;
+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();
+}
 
-    \param d2
-    A pointset domain element;
-  */
-  void product_reduce(D1& d1, D2& d2);
+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);
+  }
+  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();
+}
 
-  //! Destructor.
-  ~Constraints_Reduction();
-};
+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);
+    }
+  clear_reduced_flag();
+}
 
-/*! \brief
-  This class provides the reduction method for the Direct_Product domain.
+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();
+}
 
-  \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 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);
 
-  /*! \brief
-    The null reduction operator.
+  Poly_Con_Relation result = Poly_Con_Relation::nothing();
 
-    The parameters \p d1 and \p d2 are ignored.
-  */
-  void product_reduce(D1& d1, D2& d2);
+  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();
 
-  //! Destructor.
-  ~No_Reduction();
-};
+  return result;
+}
 
-//! The partially reduced product of two abstractions.
-/*! \ingroup PPL_CXX_interface
+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);
 
-  \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>.
+  Poly_Con_Relation result = Poly_Con_Relation::nothing();
 
-  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.
+  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();
 
-  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.
+  return result;
+}
 
-  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]
+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 {
+  // If one component is already empty, then there is no need to reduce.
+  if (d1.is_empty() || d2.is_empty())
+    return false;
 
-  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]".
+  // The product is_empty() test also reduces the product.
+  if (is_empty())
+    return false;
+  assert(reduced);
 
-  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.
+  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;
+ }
 
-  \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
+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 {
+  // If one component is already empty, then there is no need to reduce.
+  if (d1.is_empty() || d2.is_empty())
+    return false;
 
-  \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
+  // The product is_empty() test also reduces the product.
+  if (is_empty())
+    return false;
+  assert(reduced);
 
-  \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
+  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;
+ }
 
-  \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 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 {
+  // If one component is already empty, then there is no need to reduce.
+  if (d1.is_empty() || d2.is_empty())
+    return false;
 
-  \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
-*/
+  // The product is_empty() test also reduces the product.
+  if (is_empty())
+    return false;
+  assert(reduced);
+
+  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 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();
+bool
+Partially_Reduced_Product<D1, D2, R>
+::minimize(const Linear_Expression& expr,
+	   Coefficient& inf_n,
+	   Coefficient& inf_d,
+	   bool& minimum,
+	   Generator& pnt) const {
+  // If one component is already empty, then there is no need to reduce.
+  if (d1.is_empty() || d2.is_empty())
+    return false;
 
-  //! Builds an object having the specified properties.
-  /*!
-    \param num_dimensions
-    The number of dimensions of the vector space enclosing the pair;
+  // The product is_empty() test also reduces the product.
+  if (is_empty())
+    return false;
+  assert(reduced);
 
-    \param kind
-    Specifies whether a universe or an empty pair has to be built.
+  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;
+ }
 
-    \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);
+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)
+      return false;
+  }
+  return d1.OK() && d2.OK();
+}
 
-  //! Builds a pair, copying a system of congruences.
-  /*!
-    The pair inherits the space dimension of the congruence system.
+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));
+}
 
-    \param cgs
-    The system of congruences to be approximated by the pair.
+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);
+  }
+}
 
-    \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 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 {
+    d1.refine_with_constraints(d2.minimized_constraints());
+    d2.refine_with_constraints(d1.minimized_constraints());
+  }
+}
 
-  //! Builds a pair, recycling a system of congruences.
-  /*!
-    The pair inherits the space dimension of the congruence system.
+} // namespace Parma_Polyhedra_Library
 
-    \param cgs
-    The system of congruences to be approximates by the pair.
-    Its data-structures may be recycled to build the pair.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Partially_Reduced_Product.defs.hh line 1592. */
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  explicit Partially_Reduced_Product(Congruence_System& cgs);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Determinate.defs.hh line 1. */
+/* Determinate class declaration.
+*/
 
-  //! 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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Determinate.types.hh line 1. */
 
-    \exception std::length_error
-    Thrown if \p num_dimensions exceeds the maximum allowed space
-    dimension.
-  */
-  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.
+namespace Parma_Polyhedra_Library {
 
-    \param cs
-    The system of constraints to be approximated by the pair.
+template <typename PS>
+class Determinate;
 
-    \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);
+} // namespace Parma_Polyhedra_Library
 
-  //! 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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Determinate.defs.hh line 31. */
+#include <iosfwd>
+#include <cassert>
 
-    \param ph
-    The polyhedron to be approximated by the product.
+namespace Parma_Polyhedra_Library {
 
-    \param complexity
-    The complexity that will not be exceeded.
+/*! \brief
+  Returns <CODE>true</CODE> if and only if
+  \p x and \p y are the same domain element.
 
-    \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);
+  \relates Determinate
+*/
+template <typename PS>
+bool operator==(const Determinate<PS>& x, const Determinate<PS>& y);
 
-  //! 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.
+/*! \brief
+  Returns <CODE>true</CODE> if and only if
+  \p x and \p y are different domain elements.
 
-    \param ph
-    The polyhedron to be approximated by the product.
+  \relates Determinate
+*/
+template <typename PS>
+bool operator!=(const Determinate<PS>& x, const Determinate<PS>& y);
 
-    \param complexity
-    The complexity that will not be exceeded.
+namespace IO_Operators {
 
-    \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);
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Determinate */
+template <typename PS>
+std::ostream&
+operator<<(std::ostream&, const Determinate<PS>&);
 
-  //! Builds a product, from a grid.
-  /*!
-    Builds a product containing \p gr.
-    The product inherits the space dimension of the grid.
+} // namespace IO_Operators
 
-    \param gr
-    The grid to be approximated by the product.
+} // namespace Parma_Polyhedra_Library
 
-    \param complexity
-    The complexity is ignored.
+//! Wraps a PPL class into a determinate constraint system interface.
+/*! \ingroup PPL_CXX_interface */
+template <typename PS>
+class Parma_Polyhedra_Library::Determinate {
+public:
+  //! \name Constructors and Destructor
+  //@{
 
-    \exception std::length_error
-    Thrown if the space dimension of \p gr exceeds the maximum allowed
-    space dimension.
+  /*! \brief
+    Injection operator: builds the determinate constraint system element
+    corresponding to the base-level element \p p.
   */
-  explicit
-  Partially_Reduced_Product(const Grid& gr,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  Determinate(const PS& p);
 
-  //! Builds a product out of a box.
-  /*!
-    Builds a product containing \p box.
-    The product inherits the space dimension of the box.
+  /*! \brief
+    Injection operator: builds the determinate constraint system element
+    corresponding to the base-level element represented by \p cs.
+  */
+  Determinate(const Constraint_System& cs);
 
-    \param box
-    The box representing the pair to be built.
+  //! \brief
+  //! Injection operator: builds the determinate constraint system element
+  //! corresponding to the base-level element represented by \p cgs.
+  Determinate(const Congruence_System& cgs);
 
-    \param complexity
-    The complexity is ignored.
+  //! Copy constructor.
+  Determinate(const Determinate& y);
 
-    \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);
+  //! Destructor.
+  ~Determinate();
 
-  //! Builds a product out of a BD shape.
-  /*!
-    Builds a product containing \p bd.
-    The product inherits the space dimension of the BD shape.
+  //@} // Constructors and Destructor
 
-    \param bd
-    The BD shape representing the product to be built.
+  //! \name Member Functions that Do Not Modify the Domain Element
+  //@{
 
-    \param complexity
-    The complexity is ignored.
+  //! Returns a const reference to the embedded element.
+  const PS& element() const;
 
-    \exception std::length_error
-    Thrown if the space dimension of \p bd exceeds the maximum
-    allowed space dimension.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is the top of the
+    determinate constraint system (i.e., the whole vector space).
   */
-  template <typename U>
-  Partially_Reduced_Product(const BD_Shape<U>& bd,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  bool is_top() const;
 
-  //! Builds a product out of an octagonal shape.
-  /*!
-    Builds a product containing \p os.
-    The product inherits the space dimension of the octagonal shape.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this is the bottom
+    of the determinate constraint system.
+  */
+  bool is_bottom() const;
 
-    \param os
-    The octagonal shape representing the product to be built.
+  //! Returns <CODE>true</CODE> if and only if \p *this entails \p y.
+  bool definitely_entails(const Determinate& y) const;
 
-    \param complexity
-    The complexity is ignored.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this and \p y
+    are equivalent.
+  */
+  bool is_definitely_equivalent_to(const Determinate& y) const;
 
-    \exception std::length_error
-    Thrown if the space dimension of \p os exceeds the maximum
-    allowed space dimension.
+  /*! \brief
+    Returns a lower bound to the total size in bytes of the memory
+    occupied by \p *this.
   */
-  template <typename U>
-  Partially_Reduced_Product(const Octagonal_Shape<U>& os,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  memory_size_type total_memory_in_bytes() const;
 
-  //! Ordinary copy-constructor.
-  Partially_Reduced_Product(const Partially_Reduced_Product& y,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  /*! \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;
 
-  //! Builds a conservative, upward approximation of \p y.
   /*!
-    The complexity argument is ignored.
+    Returns <CODE>true</CODE> if and only if this domain
+    has a nontrivial weakening operator.
   */
-  template <typename E1, typename E2, typename S>
-  explicit
-  Partially_Reduced_Product(const Partially_Reduced_Product<E1, E2, S>& y,
-                            Complexity_Class complexity = ANY_COMPLEXITY);
+  static bool has_nontrivial_weakening();
 
-  /*! \brief
-    The assignment operator.  (\p *this and \p y can be
-    dimension-incompatible.)
-  */
-  Partially_Reduced_Product& operator=(const Partially_Reduced_Product& y);
+  //! Checks if all the invariants are satisfied.
+  bool OK() const;
 
-  //! \name Member Functions that Do Not Modify the Partially_Reduced_Product
-  //@{
+  //@} // Member Functions that Do Not Modify the Domain Element
 
-  //! Returns the dimension of the vector space enclosing \p *this.
-  dimension_type space_dimension() const;
 
-  /*! \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;
+  //! \name Member Functions that May Modify the Domain Element
+  //@{
 
-  //! Returns a constant reference to the first of the pair.
-  const D1& domain1() const;
+  //! Assigns to \p *this the upper bound of \p *this and \p y.
+  void upper_bound_assign(const Determinate& y);
 
-  //! Returns a constant reference to the second of the pair.
-  const D2& domain2() const;
+  //! Assigns to \p *this the meet of \p *this and \p y.
+  void meet_assign(const Determinate& y);
 
-  //! Returns a system of constraints which approximates \p *this.
-  Constraint_System constraints() const;
+  //! Assigns to \p *this the result of weakening \p *this with \p y.
+  void weakening_assign(const Determinate& y);
 
   /*! \brief
-    Returns a system of constraints which approximates \p *this, in
-    reduced form.
+    Assigns to \p *this the \ref Concatenating_Polyhedra "concatenation"
+    of \p *this and \p y, taken in this order.
   */
-  Constraint_System minimized_constraints() const;
+  void concatenate_assign(const Determinate& y);
 
-  //! Returns a system of congruences which approximates \p *this.
-  Congruence_System congruences() const;
+  //! Returns a reference to the embedded element.
+  PS& element();
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Returns a system of congruences which approximates \p *this, in
-    reduced form.
+    On return from this method, the representation of \p *this
+    is not shared by different Determinate objects.
   */
-  Congruence_System minimized_congruences() const;
+#endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+  void mutate();
 
-  //! 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.
+  //! Assignment operator.
+  Determinate& operator=(const Determinate& y);
 
-    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;
+  //! Swaps \p *this with \p y.
+  void swap(Determinate& y);
 
-  //! 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;
+  //@} // Member Functions that May Modify the Domain Element
 
-  //! 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.
+#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 PS, producing the corresponding function object taking
+    arguments of type Determinate<PS>.
 
-    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>;
+    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(PS& x, const PS& 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>.
   */
-  Poly_Gen_Relation relation_with(const Generator& g) const;
+#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);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if either of the components
-    of \p *this are empty.
-  */
-  bool is_empty() const;
+    //! Function-application operator.
+    void operator()(Determinate& x, const Determinate& y) const;
+
+  private:
+    //! The function object to be lifted.
+    Binary_Operator_Assign op_assign_;
+  };
 
+#ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
   /*! \brief
-    Returns <CODE>true</CODE> if and only if both of the components
-    of \p *this are the universe.
+    Helper function returning a Binary_Operator_Assign_Lifter object,
+    also allowing for the deduction of template arguments.
   */
-  bool is_universe() const;
+#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);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if both of the components
-    of \p *this are topologically closed subsets of the vector space.
+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.
   */
-  bool is_topologically_closed() const;
+  class Rep {
+  private:
+    /*! \brief
+      Count the number of references:
+      -   0: leaked, \p ph is non-const;
+      -   1: one reference, \p ph is non-const;
+      - > 1: more than one reference, \p ph is const.
+    */
+    mutable unsigned long references;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p *this and \p y are
-    componentwise disjoint.
+    //! Private and unimplemented: assignment not allowed.
+    Rep& operator=(const Rep& y);
 
-    \exception std::invalid_argument
-    Thrown if \p x and \p y are dimension-incompatible.
-  */
-  bool is_disjoint_from(const Partially_Reduced_Product& y) const;
+    //! Private and unimplemented: copies not allowed.
+    Rep(const Rep& y);
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if a component of \p *this
-    is discrete.
-  */
-  bool is_discrete() const;
+    //! Private and unimplemented: default construction not allowed.
+    Rep();
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if a component of \p *this
-    is bounded.
-  */
-  bool is_bounded() const;
+  public:
+    //! A possibly shared base-level domain element.
+    PS ph;
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if \p var is constrained in
-    \p *this.
+    /*! \brief
+      Builds a new representation by creating a domain element
+      of the specified kind, in the specified vector space.
+    */
+    Rep(dimension_type num_dimensions, Degenerate_Element kind);
 
-    \exception std::invalid_argument
-    Thrown if \p var is not a space dimension of \p *this.
-  */
-  bool constrains(Variable var) const;
+    //! Builds a new representation by copying base-level element \p p.
+    Rep(const PS& p);
 
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
-  /*!
-    This method is the same as bounds_from_below.
+    //! Builds a new representation by copying the constraints in \p cs.
+    Rep(const Constraint_System& cs);
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
-  */
-  bool bounds_from_above(const Linear_Expression& expr) const;
+    //! Builds a new representation by copying the constraints in \p cgs.
+    Rep(const Congruence_System& cgs);
 
-  //! Returns <CODE>true</CODE> if and only if \p expr is bounded in \p *this.
-  /*!
-    This method is the same as bounds_from_above.
+    //! Destructor.
+    ~Rep();
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+    //! Registers a new reference.
+    void new_reference() const;
+
+    /*! \brief
+      Unregisters one reference; returns <CODE>true</CODE> if and only if
+      the representation has become unreferenced.
+    */
+    bool del_reference() const;
+
+    //! True if and only if this representation is currently shared.
+    bool is_shared() 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;
+
+    /*! \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
+    A pointer to the possibly shared representation of
+    the base-level domain element.
   */
-  bool bounds_from_below(const Linear_Expression& expr) const;
+  Rep* prep;
+
+  friend bool
+  operator==<PS>(const Determinate<PS>& x, const Determinate<PS>& y);
+  friend bool
+  operator!=<PS>(const Determinate<PS>& x, const Determinate<PS>& y);
+};
 
-  /*! \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;
+namespace std {
 
-    \param sup_n
-    The numerator of the supremum value;
+//! Specializes <CODE>std::swap</CODE>.
+/*! \relates Parma_Polyhedra_Library::Determinate */
+template <typename PS>
+void swap(Parma_Polyhedra_Library::Determinate<PS>& x,
+	  Parma_Polyhedra_Library::Determinate<PS>& y);
 
-    \param sup_d
-    The denominator of the supremum value;
+} // namespace std
 
-    \param maximum
-    <CODE>true</CODE> if the supremum value can be reached in \p this.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Determinate.inlines.hh line 1. */
+/* Determinate class implementation: inline functions.
+*/
 
-    \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.
-  */
-  bool maximize(const Linear_Expression& expr,
-		Coefficient& sup_n, Coefficient& sup_d, bool& maximum) const;
+#include <cassert>
 
-  /*! \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.
+namespace Parma_Polyhedra_Library {
 
-    \param expr
-    The linear expression to be maximized subject to \p *this;
+template <typename PS>
+inline
+Determinate<PS>::Rep::Rep(dimension_type num_dimensions,
+			  Degenerate_Element kind)
+  : references(0), ph(num_dimensions, kind) {
+}
 
-    \param sup_n
-    The numerator of the supremum value;
+template <typename PS>
+inline
+Determinate<PS>::Rep::Rep(const PS& p)
+  : references(0), ph(p) {
+}
 
-    \param sup_d
-    The denominator of the supremum value;
+template <typename PS>
+inline
+Determinate<PS>::Rep::Rep(const Constraint_System& cs)
+  : references(0), ph(cs) {
+}
 
-    \param maximum
-    <CODE>true</CODE> if the supremum value can be reached in \p this.
+template <typename PS>
+inline
+Determinate<PS>::Rep::Rep(const Congruence_System& cgs)
+  : references(0), ph(cgs) {
+}
 
-    \param point
-    When maximization succeeds, will be assigned a generator point
-    where \p expr reaches its supremum value.
+template <typename PS>
+inline
+Determinate<PS>::Rep::~Rep() {
+  assert(references == 0);
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+template <typename PS>
+inline void
+Determinate<PS>::Rep::new_reference() const {
+  ++references;
+}
 
-    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;
+template <typename PS>
+inline bool
+Determinate<PS>::Rep::del_reference() const {
+  return --references == 0;
+}
 
-  /*! \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.
+template <typename PS>
+inline bool
+Determinate<PS>::Rep::is_shared() const {
+  return references > 1;
+}
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+template <typename PS>
+inline memory_size_type
+Determinate<PS>::Rep::external_memory_in_bytes() const {
+  return ph.external_memory_in_bytes();
+}
 
-    \param inf_n
-    The numerator of the infimum value;
+template <typename PS>
+inline memory_size_type
+Determinate<PS>::Rep::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-    \param inf_d
-    The denominator of the infimum value;
+template <typename PS>
+inline
+Determinate<PS>::Determinate(const PS& ph)
+  : prep(new Rep(ph)) {
+  prep->new_reference();
+}
 
-    \param minimum
-    <CODE>true</CODE> if the infimum value can be reached in \p this.
+template <typename PS>
+inline
+Determinate<PS>::Determinate(const Constraint_System& cs)
+  : prep(new Rep(cs)) {
+  prep->new_reference();
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+template <typename PS>
+inline
+Determinate<PS>::Determinate(const Congruence_System& cgs)
+  : prep(new Rep(cgs)) {
+  prep->new_reference();
+}
 
-    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;
+template <typename PS>
+inline
+Determinate<PS>::Determinate(const Determinate& y)
+  : prep(y.prep) {
+  prep->new_reference();
+}
 
-  /*! \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 PS>
+inline
+Determinate<PS>::~Determinate() {
+  if (prep->del_reference())
+    delete prep;
+}
 
-    \param expr
-    The linear expression to be minimized subject to \p *this;
+template <typename PS>
+inline Determinate<PS>&
+Determinate<PS>::operator=(const Determinate& y) {
+  y.prep->new_reference();
+  if (prep->del_reference())
+    delete prep;
+  prep = y.prep;
+  return *this;
+}
 
-    \param inf_n
-    The numerator of the infimum value;
+template <typename PS>
+inline void
+Determinate<PS>::swap(Determinate& y) {
+  std::swap(prep, y.prep);
+}
 
-    \param inf_d
-    The denominator of the infimum value;
+template <typename PS>
+inline void
+Determinate<PS>::mutate() {
+  if (prep->is_shared()) {
+    Rep* new_prep = new Rep(prep->ph);
+    (void) prep->del_reference();
+    new_prep->new_reference();
+    prep = new_prep;
+  }
+}
 
-    \param minimum
-    <CODE>true</CODE> if the infimum value can be reached in \p this.
+template <typename PS>
+inline const PS&
+Determinate<PS>::element() const {
+  return prep->ph;
+}
 
-    \param point
-    When minimization succeeds, will be assigned a generator point
-    where \p expr reaches its infimum value.
+template <typename PS>
+inline PS&
+Determinate<PS>::element() {
+  mutate();
+  return prep->ph;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p expr and \p *this are dimension-incompatible.
+template <typename PS>
+inline void
+Determinate<PS>::upper_bound_assign(const Determinate& y) {
+  element().upper_bound_assign(y.element());
+}
 
-    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 PS>
+inline void
+Determinate<PS>::meet_assign(const Determinate& y) {
+  element().intersection_assign(y.element());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if each component of \p *this
-    contains the corresponding component of \p y.
+template <typename PS>
+inline bool
+Determinate<PS>::has_nontrivial_weakening() {
+  // FIXME: the following should be turned into a query to PS.  This
+  // can be postponed until the time the ask-and-tell construction is
+  // revived.
+  return false;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool contains(const Partially_Reduced_Product& y) const;
+template <typename PS>
+inline void
+Determinate<PS>::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.
+  element().difference_assign(y.element());
+}
 
-  /*! \brief
-    Returns <CODE>true</CODE> if and only if each component of \p *this
-    strictly contains the corresponding component of \p y.
+template <typename PS>
+inline void
+Determinate<PS>::concatenate_assign(const Determinate& y) {
+  element().concatenate_assign(y.element());
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  bool strictly_contains(const Partially_Reduced_Product& y) const;
+template <typename PS>
+inline bool
+Determinate<PS>::definitely_entails(const Determinate& y) const {
+  return prep == y.prep || y.prep->ph.contains(prep->ph);
+}
 
-  //! Checks if all the invariants are satisfied.
-  bool OK() const;
+template <typename PS>
+inline bool
+Determinate<PS>::is_definitely_equivalent_to(const Determinate& y) const {
+  return prep == y.prep || prep->ph == y.prep->ph;
+}
 
-  //@} // Member Functions that Do Not Modify the Partially_Reduced_Product
+template <typename PS>
+inline bool
+Determinate<PS>::is_top() const {
+  return prep->ph.is_universe();
+}
 
-  //! \name Space Dimension Preserving Member Functions that May Modify the Partially_Reduced_Product
-  //@{
+template <typename PS>
+inline bool
+Determinate<PS>::is_bottom() const {
+  return prep->ph.is_empty();
+}
 
-  //! 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);
+template <typename PS>
+inline memory_size_type
+Determinate<PS>::external_memory_in_bytes() const {
+  return prep->total_memory_in_bytes();
+}
 
-  /*! \brief
-    Use the constraint \p c to refine \p *this.
+template <typename PS>
+inline memory_size_type
+Determinate<PS>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
+}
 
-    \param c
-    The constraint to be used for refinement.
+template <typename PS>
+inline bool
+Determinate<PS>::OK() const {
+  return prep->ph.OK();
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p c are dimension-incompatible.
-  */
-  void refine_with_constraint(const Constraint& c);
+namespace IO_Operators {
 
-  //! 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);
+/*! \relates Parma_Polyhedra_Library::Determinate */
+template <typename PS>
+inline std::ostream&
+operator<<(std::ostream& s, const Determinate<PS>& x) {
+  s << x.element();
+  return s;
+}
 
-  /*! \brief
-    Use the congruence \p cg to refine \p *this.
+} // namespace IO_Operators
 
-    \param cg
-    The congruence to be used for refinement.
+/*! \relates Determinate */
+template <typename PS>
+inline bool
+operator==(const Determinate<PS>& x, const Determinate<PS>& y) {
+  return x.prep == y.prep || x.prep->ph == y.prep->ph;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cg are dimension-incompatible.
-  */
-  void refine_with_congruence(const Congruence& cg);
+/*! \relates Determinate */
+template <typename PS>
+inline bool
+operator!=(const Determinate<PS>& x, const Determinate<PS>& y) {
+  return x.prep != y.prep && x.prep->ph != y.prep->ph;
+}
 
-  //! Adds a copy of the congruences in \p cgs to \p *this.
-  /*!
-    \param cgs
-    The congruence system to be added.
+template <typename PS>
+template <typename Binary_Operator_Assign>
+inline
+Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
+Binary_Operator_Assign_Lifter(Binary_Operator_Assign op_assign)
+  : op_assign_(op_assign) {
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void add_congruences(const Congruence_System& cgs);
+template <typename PS>
+template <typename Binary_Operator_Assign>
+inline void
+Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>::
+operator()(Determinate& x, const Determinate& y) const {
+  op_assign_(x.element(), y.element());
+}
 
-  /*! \brief
-    Use the congruences in \p cgs to refine \p *this.
+template <typename PS>
+template <typename Binary_Operator_Assign>
+inline
+Determinate<PS>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
+Determinate<PS>::lift_op_assign(Binary_Operator_Assign op_assign) {
+  return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
+}
 
-    \param  cgs
-    The congruences to be used for refinement.
+} // namespace Parma_Polyhedra_Library
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cgs are dimension-incompatible.
-  */
-  void refine_with_congruences(const Congruence_System& cgs);
 
-  //! Adds the congruences in \p cgs to *this.
-  /*!
-    \param cgs
-    The congruence system to be added that may be recycled.
+namespace std {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+/*! \relates Parma_Polyhedra_Library::Determinate */
+template <typename PS>
+inline void
+swap(Parma_Polyhedra_Library::Determinate<PS>& x,
+     Parma_Polyhedra_Library::Determinate<PS>& y) {
+  x.swap(y);
+}
 
-    \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);
+} // namespace std
 
-  //! Adds a copy of the constraint system in \p cs to \p *this.
-  /*!
-    \param cs
-    The constraint system to be added.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Determinate.defs.hh line 324. */
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void add_constraints(const Constraint_System& cs);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Powerset.defs.hh line 1. */
+/* Powerset class declaration.
+*/
 
-  /*! \brief
-    Use the constraints in \p cs to refine \p *this.
 
-    \param  cs
-     The constraints to be used for refinement.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Powerset.types.hh line 1. */
 
-     \exception std::invalid_argument
-     Thrown if \p *this and \p cs are dimension-incompatible.
-  */
-  void refine_with_constraints(const Constraint_System& cs);
 
-  //! Adds the constraint system in \p cs to \p *this.
-  /*!
-    \param cs
-    The constraint system to be added that may be recycled.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p cs are dimension-incompatible.
+template <typename D>
+class Powerset;
 
-    \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);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to space dimension \p var, assigning the result to \p *this.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/iterator_to_const.defs.hh line 1. */
+/* iterator_to_const and const_iterator_to_const class declarations.
+*/
 
-    \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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/iterator_to_const.types.hh line 1. */
 
-  /*! \brief
-    Computes the \ref Cylindrification "cylindrification" of \p *this with
-    respect to the set of space dimensions \p to_be_unconstrained,
-    assigning the result to \p *this.
 
-    \param to_be_unconstrained
-    The set of space dimension that will be unconstrained.
+namespace Parma_Polyhedra_Library {
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
-  */
-  void unconstrain(const Variables_Set& to_be_unconstrained);
+template <typename Container>
+class iterator_to_const;
 
-  /*! \brief
-    Assigns to \p *this the componentwise intersection of \p *this and \p y.
+template <typename Container>
+class const_iterator_to_const;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void intersection_assign(const Partially_Reduced_Product& y);
+} // namespace Parma_Polyhedra_Library
 
-  /*! \brief
-    Assigns to \p *this an upper bound of \p *this and \p y
-    computed on the corresponding components.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/iterator_to_const.defs.hh line 28. */
+//#include "Ask_Tell.types.hh"
+#include <iterator>
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void upper_bound_assign(const Partially_Reduced_Product& y);
+#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).
 
-  /*! \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.
+  \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;
 
-    \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);
+  //! A shortcut for naming the const_iterator traits.
+  typedef typename
+  std::iterator_traits<typename Container::const_iterator> Traits;
 
-  /*! \brief
-    Assigns to \p *this an approximation of the set-theoretic difference
-    of \p *this and \p y.
+  //! A (mutable) iterator on the sequence of elements.
+  Base base;
 
-    \exception std::invalid_argument
-    Thrown if \p *this and \p y are dimension-incompatible.
-  */
-  void difference_assign(const Partially_Reduced_Product& y);
+  //! Constructs from the lower-level iterator.
+  iterator_to_const(const Base& b);
 
-  /*! \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.
+  friend class const_iterator_to_const<Container>;
+  template <typename T> friend class Powerset;
+  //template <typename T> friend class Ask_Tell;
 
-    \param var
-    The variable to which the affine expression is assigned;
+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;
 
-    \param expr
-    The numerator of the affine expression;
+  //! Default constructor.
+  iterator_to_const();
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+  //! Copy constructor.
+  iterator_to_const(const iterator_to_const& y);
 
-    \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.
+  //! Dereference operator.
+  reference operator*() const;
 
-  */
-  void affine_image(Variable var,
-		    const Linear_Expression& expr,
-		    Coefficient_traits::const_reference denominator
-		    = Coefficient_one());
+  //! Indirect access operator.
+  pointer operator->() const;
 
-  /*! \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.
+  //! Prefix increment operator.
+  iterator_to_const& operator++();
 
-    \param var
-    The variable to which the affine expression is substituted;
+  //! Postfix increment operator.
+  iterator_to_const operator++(int);
 
-    \param expr
-    The numerator of the affine expression;
+  //! Prefix decrement operator.
+  iterator_to_const& operator--();
 
-    \param denominator
-    The denominator of the affine expression (optional argument with
-    default value 1).
+  //! Postfix decrement operator.
+  iterator_to_const operator--(int);
 
-    \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.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are identical.
   */
-  void affine_preimage(Variable var,
-		       const Linear_Expression& expr,
-		       Coefficient_traits::const_reference denominator
-		         = Coefficient_one());
+  bool operator==(const iterator_to_const& y) const;
 
   /*! \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".)
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are different.
+  */
+  bool operator!=(const iterator_to_const& y) const;
+};
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+#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;
 
-    \param relsym
-    The relation symbol;
+  //! A shortcut for naming traits.
+  typedef typename std::iterator_traits<Base> Traits;
 
-    \param expr
-    The numerator of the right hand side affine expression;
+  //! A %const_iterator on the sequence of elements.
+  Base base;
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+  //! Constructs from the lower-level const_iterator.
+  const_iterator_to_const(const Base& b);
 
-    \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());
+  friend class iterator_to_const<Container>;
+  template <typename T> friend class Powerset;
+  //template <typename T> friend class Ask_Tell;
 
-  /*! \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".)
+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;
 
-    \param var
-    The left hand side variable of the generalized affine relation;
+  //! Default constructor.
+  const_iterator_to_const();
 
-    \param relsym
-    The relation symbol;
+  //! Copy constructor.
+  const_iterator_to_const(const const_iterator_to_const& y);
 
-    \param expr
-    The numerator of the right hand side affine expression;
+  //! Constructs from the corresponding non-const iterator.
+  const_iterator_to_const(const iterator_to_const<Container>& y);
 
-    \param denominator
-    The denominator of the right hand side affine expression (optional
-    argument with default value 1).
+  //! Dereference operator.
+  reference operator*() const;
 
-    \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());
+  //! Indirect member selector.
+  pointer operator->() const;
 
-  /*! \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".)
+  //! Prefix increment operator.
+  const_iterator_to_const& operator++();
 
-    \param lhs
-    The left hand side affine expression;
+  //! Postfix increment operator.
+  const_iterator_to_const operator++(int);
 
-    \param relsym
-    The relation symbol;
+  //! Prefix decrement operator.
+  const_iterator_to_const& operator--();
 
-    \param rhs
-    The right hand side affine expression.
+  //! Postfix decrement operator.
+  const_iterator_to_const operator--(int);
 
-    \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.
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are identical.
   */
-  void generalized_affine_image(const Linear_Expression& lhs,
-				Relation_Symbol relsym,
-				const Linear_Expression& rhs);
+  bool operator==(const const_iterator_to_const& y) const;
 
   /*! \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".)
-
-    \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
-    or if \p *this is a C_Polyhedron and \p relsym is a strict
-    relation symbol.
+    Returns <CODE>true</CODE> if and only if
+    \p *this and \p y are different.
   */
-  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).
+  bool operator!=(const const_iterator_to_const& y) const;
+};
 
-    \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$.
+#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 var
-    The variable updated by the affine relation;
+  \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 lb_expr
-    The numerator of the lower bounding affine expression;
+#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.
 
-    \param ub_expr
-    The numerator of the upper bounding affine expression;
+  \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 denominator
-    The (common) denominator for the lower and upper bounding
-    affine expressions (optional argument with default value 1).
+} // namespace Parma_Polyhedra_Library
 
-    \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 /home/bagnara/ppl/ppl/src/iterator_to_const.inlines.hh line 1. */
+/* iterator_to_const and const_iterator_to_const class implementations:
+   inline functions.
+*/
 
-  /*! \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);
+namespace Parma_Polyhedra_Library {
 
-  //! Assigns to \p *this its topological closure.
-  void topological_closure_assign();
+template <typename Container>
+inline
+iterator_to_const<Container>::iterator_to_const()
+  : base() {
+}
 
-  // TODO: Add a way to call other widenings.
+template <typename Container>
+inline
+iterator_to_const<Container>::iterator_to_const(const iterator_to_const& y)
+  : base(y.base) {
+}
 
-  // CHECKME: This may not be a real widening; it depends on the reduction
-  //          class R and the widening used.
+template <typename Container>
+inline
+iterator_to_const<Container>::iterator_to_const(const Base& b)
+  : base(b) {
+}
 
-  /*! \brief
-    Assigns to \p *this the result of computing the
-    "widening" between \p *this and \p y.
+template <typename Container>
+inline typename iterator_to_const<Container>::reference
+iterator_to_const<Container>::operator*() const {
+  return *base;
+}
 
-    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 Container>
+inline typename iterator_to_const<Container>::pointer
+iterator_to_const<Container>::operator->() const {
+  return &*base;
+}
 
-    \param y
-    A product that <EM>must</EM> be contained in \p *this;
+template <typename Container>
+inline iterator_to_const<Container>&
+iterator_to_const<Container>::operator++() {
+  ++base;
+  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).
+template <typename Container>
+inline iterator_to_const<Container>
+iterator_to_const<Container>::operator++(int) {
+  iterator_to_const tmp = *this;
+  operator++();
+  return tmp;
+}
 
-    \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);
+template <typename Container>
+inline iterator_to_const<Container>&
+iterator_to_const<Container>::operator--() {
+  --base;
+  return *this;
+}
 
-  //@} // Space Dimension Preserving Member Functions that May Modify [...]
+template <typename Container>
+inline iterator_to_const<Container>
+iterator_to_const<Container>::operator--(int) {
+  iterator_to_const tmp = *this;
+  operator--();
+  return tmp;
+}
 
-  //! \name Member Functions that May Modify the Dimension of the Vector Space
-  //@{
+template <typename Container>
+inline bool
+iterator_to_const<Container>::operator==(const iterator_to_const& y) const {
+  return base == y.base;
+}
 
-  /*! \brief
-    Adds \p m new space dimensions and embeds the components
-    of \p *this in the new vector space.
+template <typename Container>
+inline bool
+iterator_to_const<Container>::operator!=(const iterator_to_const& y) const {
+  return !operator==(y);
+}
 
-    \param m
-    The number of dimensions to add.
+template <typename Container>
+inline
+const_iterator_to_const<Container>::const_iterator_to_const()
+  : base() {
+}
 
-    \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);
+template <typename Container>
+inline
+const_iterator_to_const<Container>
+::const_iterator_to_const(const const_iterator_to_const& y)
+  : base(y.base) {
+}
 
-  /*! \brief
-    Adds \p m new space dimensions and does not embed the components
-    in the new vector space.
+template <typename Container>
+inline
+const_iterator_to_const<Container>::const_iterator_to_const(const Base& b)
+  : base(b) {
+}
 
-    \param m
-    The number of space dimensions to add.
+template <typename Container>
+inline typename const_iterator_to_const<Container>::reference
+const_iterator_to_const<Container>::operator*() const {
+  return *base;
+}
 
-    \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);
+template <typename Container>
+inline typename const_iterator_to_const<Container>::pointer
+const_iterator_to_const<Container>::operator->() const {
+  return &*base;
+}
 
-  /*! \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 and \ref Grid_Concatenate.
+template <typename Container>
+inline const_iterator_to_const<Container>&
+const_iterator_to_const<Container>::operator++() {
+  ++base;
+  return *this;
+}
 
-    \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);
+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;
+}
 
-  //! Removes all the specified dimensions from the vector space.
-  /*!
-    \param to_be_removed
-    The set of Variable objects corresponding to the space dimensions
-    to be removed.
+template <typename Container>
+inline const_iterator_to_const<Container>&
+const_iterator_to_const<Container>::operator--() {
+  --base;
+  return *this;
+}
 
-    \exception std::invalid_argument
-    Thrown if \p *this is dimension-incompatible with one of the
-    Variable objects contained in \p to_be_removed.
-  */
-  void remove_space_dimensions(const Variables_Set& to_be_removed);
+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;
+}
 
-  /*! \brief
-    Removes the higher dimensions of the vector space so that the
-    resulting space will have dimension \p new_dimension.
+template <typename Container>
+inline bool
+const_iterator_to_const<Container>
+::operator==(const const_iterator_to_const& y) const {
+  return base == y.base;
+}
 
-    \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 Container>
+inline bool
+const_iterator_to_const<Container>
+::operator!=(const const_iterator_to_const& y) const {
+  return !operator==(y);
+}
 
-  /*! \brief
-    Remaps the dimensions of the vector space according to
-    a \ref Mapping_the_Dimensions_of_the_Vector_Space "partial function".
+template <typename Container>
+inline
+const_iterator_to_const<Container>
+::const_iterator_to_const(const iterator_to_const<Container>& y)
+  : base(y.base) {
+}
 
-    If \p pfunc maps only some of the dimensions of \p *this then the
-    rest will be projected away.
+/*! \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);
+}
 
-    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.
+/*! \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);
+}
 
-    \param pfunc
-    The partial function specifying the destiny of each space
-    dimension.
+} // namespace Parma_Polyhedra_Library
 
-    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.
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/iterator_to_const.defs.hh line 221. */
 
-    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);
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Powerset.defs.hh line 29. */
+#include <iosfwd>
+#include <iterator>
+#include <list>
 
-  //! 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.
+//! 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);
 
-    \exception std::invalid_argument
-    Thrown if \p var does not correspond to a dimension of the vector
-    space.
+//! 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);
 
-    \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>.
+namespace IO_Operators {
 
-    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);
+//! Output operator.
+/*! \relates Parma_Polyhedra_Library::Powerset */
+template <typename D>
+std::ostream&
+operator<<(std::ostream& s, const Powerset<D>& x);
 
-  //! Folds the space dimensions in \p to_be_folded into \p var.
-  /*!
-    \param to_be_folded
-    The set of Variable objects corresponding to the space dimensions
-    to be folded;
+} // namespace IO_Operators
 
-    \param var
-    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 var or with
-    one of the Variable objects contained in \p to_be_folded.  Also
-    thrown if \p var is contained in \p to_be_folded.
 
-    If \p *this has space dimension \f$n\f$, with \f$n > 0\f$,
-    <CODE>var</CODE> has space dimension \f$k \leq n\f$,
-    \p to_be_folded is a set of variables whose maximum space dimension
-    is also less than or equal to \f$n\f$, and \p var is not a member
-    of \p to_be_folded, then the space dimensions corresponding to
-    variables in \p to_be_folded 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& to_be_folded, Variable var);
+//! 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.
 
-  //@} // Member Functions that May Modify the Dimension of the Vector Space
+  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.
 
-  friend bool operator==<>(const Partially_Reduced_Product<D1, D2, R>& x,
-			   const Partially_Reduced_Product<D1, D2, R>& y);
+  \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
 
-  friend std::ostream&
-  Parma_Polyhedra_Library::IO_Operators::
-  operator<<<>(std::ostream& s, const Partially_Reduced_Product<D1, D2, R>& dp);
+  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>.
 
-  //! \name Miscellaneous Member Functions
+  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
   //@{
 
-  //! Destructor.
-  ~Partially_Reduced_Product();
-
   /*! \brief
-    Swaps \p *this with product \p y.  (\p *this and \p y can be
-    dimension-incompatible.)
+    Default constructor: builds the bottom of the powerset constraint
+    system (i.e., the empty powerset).
   */
-  void swap(Partially_Reduced_Product& y);
+  Powerset();
 
-  PPL_OUTPUT_DECLARATIONS
+  //! Copy constructor.
+  Powerset(const Powerset& 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.
+    If \p d is not bottom, builds a powerset containing only \p d.
+    Builds the empty powerset otherwise.
   */
-  bool ascii_load(std::istream& s);
+  explicit Powerset(const D& d);
 
-  //! Returns the total size in bytes of the memory occupied by \p *this.
-  memory_size_type total_memory_in_bytes() const;
+  //! Destructor.
+  ~Powerset();
 
-  //! Returns the size in bytes of the memory managed by \p *this.
-  memory_size_type external_memory_in_bytes() const;
+  //@} // Constructors and Destructor
 
-  /*! \brief
-    Returns a 32-bit hash code for \p *this.
+  //! \name Member Functions that Do Not Modify the Powerset Object
+  //@{
 
-    If \p x and \p y are such that <CODE>x == y</CODE>,
-    then <CODE>x.hash_code() == y.hash_code()</CODE>.
+  /*! \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).
   */
-  int32_t hash_code() const;
-
-  //@} // Miscellaneous Member Functions
+  bool definitely_entails(const Powerset& y) const;
 
-  //! Reduce.
-  /*
-    \return
-    <CODE>true</CODE> if and only if either of the resulting component
-    is strictly contained in the respective original.
+  /*! \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 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;
+  bool is_top() const;
 
   /*! \brief
-    Flag to record whether the components are reduced with respect
-    to each other and the reduction class.
+    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 reduced;
-};
+  bool is_bottom() const;
 
-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;
 
-/*! \brief
-  This class is temporary and will be removed when template typedefs will
-  be supported in C++.
+  /*! \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;
 
-  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;
+  //! 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;
 
-  typedef Partially_Reduced_Product<D1, D2, Smash_Reduction<D1, D2> >
-  Smash_Product;
+  //@} // Member Functions that Do Not Modify the Powerset Object
 
-  typedef Partially_Reduced_Product<D1, D2, Constraints_Reduction<D1, D2> >
-  Constraints_Product;
-};
+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;
 
-} // namespace Parma_Polyhedra_Library
+  //! Alias for the low-level iterator on the disjuncts.
+  typedef typename Sequence::iterator Sequence_iterator;
 
-namespace std {
+  //! Alias for the low-level %const_iterator on the disjuncts.
+  typedef typename Sequence::const_iterator Sequence_const_iterator;
 
-//! 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);
+  //! The sequence container holding powerset's elements.
+  Sequence sequence;
 
-} // namespace std
+  //! If <CODE>true</CODE>, \p *this is Omega-reduced.
+  mutable bool reduced;
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.inlines.hh line 1. */
-/* Partially_Reduced_Product class implementation: inline functions.
-*/
+public:
+  // Sequence manipulation types, accessors and modifiers
+  typedef typename Sequence::size_type size_type;
+  typedef typename Sequence::value_type value_type;
 
+  /*! \brief
+    Alias for a <EM>read-only</EM> bidirectional %iterator on the
+    disjuncts of a Powerset element.
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.inlines.hh line 27. */
+    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;
 
-namespace Parma_Polyhedra_Library {
+  //! A bidirectional %const_iterator on the disjuncts of a Powerset element.
+  typedef const_iterator_to_const<Sequence> const_iterator;
 
-template <typename D1, typename D2, typename R>
-inline dimension_type
-Partially_Reduced_Product<D1, D2, R>::max_space_dimension() {
-  return std::min(D1::max_space_dimension(), D2::max_space_dimension());
-}
+  //! The reverse iterator type built from Powerset::iterator.
+  typedef std::reverse_iterator<iterator> reverse_iterator;
 
-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();
-}
+  //! The reverse iterator type built from Powerset::const_iterator.
+  typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
 
-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();
-}
+  //! \name Member Functions for the Direct Manipulation of Disjuncts
+  //@{
 
-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();
-}
+  /*! \brief
+    Drops from the sequence of disjuncts in \p *this all the
+    non-maximal elements so that \p *this is non-redundant.
 
-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();
-}
+    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;
 
-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();
-}
+  //! Returns the number of disjuncts.
+  size_type size() const;
 
-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();
-}
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if there are no disjuncts in
+    \p *this.
+  */
+  bool empty() const;
 
-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();
-}
+  /*! \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 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();
-}
+  //! Returns the past-the-end iterator.
+  iterator end();
 
-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();
-}
+  /*! \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;
 
-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();
-}
+  //! Returns the past-the-end const_iterator.
+  const_iterator end() const;
 
-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();
-}
+  /*! \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 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;
-}
+  //! Returns the before-the-start reverse_iterator.
+  reverse_iterator rend();
 
-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.domain1(), complexity), d2(y.domain2(), complexity) {
-  /* 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();
-}
+  /*! \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 D1, typename D2, typename R>
-inline
-Partially_Reduced_Product<D1, D2, R>::~Partially_Reduced_Product() {
-}
+  //! Returns the before-the-start const_reverse_iterator.
+  const_reverse_iterator rend() const;
 
-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();
-}
+  //! Adds to \p *this the disjunct \p d.
+  void add_disjunct(const D& d);
 
-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
+    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 D1, typename D2, typename R>
-inline dimension_type
-Partially_Reduced_Product<D1, D2, R>::space_dimension() const {
-  assert(d1.space_dimension() == d2.space_dimension());
-  return d1.space_dimension();
-}
+  //! Drops all the disjuncts from \p first to \p last (excluded).
+  void drop_disjuncts(iterator first, iterator last);
 
-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);
-}
+  //! Drops all the disjuncts, making \p *this an empty powerset.
+  void clear();
 
-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);
-}
+  //@} // Member Functions for the Direct Manipulation of Disjuncts
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::unconstrain(const Variables_Set& to_be_unconstrained) {
-  reduce();
-  d1.unconstrain(to_be_unconstrained);
-  d2.unconstrain(to_be_unconstrained);
-}
+  //! \name Member Functions that May Modify the Powerset Object
+  //@{
 
-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();
-}
+  //! The assignment operator.
+  Powerset& operator=(const Powerset& y);
 
-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);
-  // FIXME: check this.
-  clear_reduced_flag();
-}
+  //! Swaps \p *this with \p y.
+  void swap(Powerset& y);
 
-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);
-  // CHECKME: if upper_bound_assign is not a least_upper_bound
-  //          it may not be reduced.
-  // clear_reduced_flag();
-}
+  //! Assigns to \p *this the least upper bound of \p *this and \p y.
+  void least_upper_bound_assign(const Powerset& y);
 
-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;
-}
+  //! 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);
 
-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);
-}
+  /*! \brief
+    Assigns to \p *this the least upper bound of \p *this and \p y
+    and returns \c true.
 
-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);
-}
+    \exception std::invalid_argument
+    Thrown if \p *this and \p y are dimension-incompatible.
+  */
+  bool upper_bound_assign_if_exact(const Powerset& y);
 
-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);
-}
+  //! Assigns to \p *this the meet of \p *this and \p y.
+  void meet_assign(const Powerset& y);
 
-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);
-}
+  /*! \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();
 
-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);
-}
+  //@} // Member Functions that May Modify the Powerset element
 
-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);
-}
+protected:
+  /*! \brief
+    Returns <CODE>true</CODE> if and only if \p *this does not contain
+    non-maximal elements.
+  */
+  bool is_omega_reduced() const;
 
+  /*! \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);
 
-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);
-  // FIXME: check this.
-  clear_reduced_flag();
-}
+  /*! \brief
+    Adds to \p *this the disjunct \p d,
+    assuming \p d is not the bottom element and ensuring
+    partial Omega-reduction.
 
-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);
-  // FIXME: check this.
-  clear_reduced_flag();
-}
+    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);
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::time_elapse_assign(const Partially_Reduced_Product& y) {
-  reduce();
-  d1.time_elapse_assign(y.d1);
-  d2.time_elapse_assign(y.d2);
-  // FIXME: check this.
-  clear_reduced_flag();
-}
+  /*! \brief
+    Adds to \p *this the disjunct \p d, assuming \p d is not the
+    bottom element and preserving Omega-reduction.
 
-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 \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);
 
-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);
-}
+  /*! \brief
+    Assigns to \p *this the result of applying \p op_assign pairwise
+    to the elements in \p *this and \p y.
 
-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();
-}
+    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);
 
-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();
-}
+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;
 
-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();
-}
+  /*! \brief
+    Replaces the disjunct \p *sink by an upper bound of itself and
+    all the disjuncts following it.
+  */
+  void collapse(Sequence_iterator sink);
+};
 
-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();
-}
+namespace std {
 
-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();
-}
+//! 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);
 
-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();
-}
+} // namespace std
 
-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();
-}
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Powerset.inlines.hh line 1. */
+/* Powerset class implementation: inline functions.
+*/
 
-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();
-}
 
-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;
-}
+#include <algorithm>
+#include <cassert>
 
-template <typename D1, typename D2, typename R>
-inline const D1&
-Partially_Reduced_Product<D1, D2, R>::domain1() const {
-  reduce();
-  return d1;
-}
+namespace Parma_Polyhedra_Library {
 
-template <typename D1, typename D2, typename R>
-inline const D2&
-Partially_Reduced_Product<D1, D2, R>::domain2() const {
-  reduce();
-  return d2;
+template <typename D>
+inline typename Powerset<D>::iterator
+Powerset<D>::begin() {
+  return sequence.begin();
 }
 
-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();
+template <typename D>
+inline typename Powerset<D>::iterator
+Powerset<D>::end() {
+  return sequence.end();
 }
 
-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();
+template <typename D>
+inline typename Powerset<D>::const_iterator
+Powerset<D>::begin() const {
+  return sequence.begin();
 }
 
-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();
+template <typename D>
+inline typename Powerset<D>::const_iterator
+Powerset<D>::end() const {
+  return sequence.end();
 }
 
-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 D>
+inline typename Powerset<D>::reverse_iterator
+Powerset<D>::rbegin() {
+  return reverse_iterator(end());
 }
 
-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();
+template <typename D>
+inline typename Powerset<D>::reverse_iterator
+Powerset<D>::rend() {
+  return reverse_iterator(begin());
 }
 
-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();
+template <typename D>
+inline typename Powerset<D>::const_reverse_iterator
+Powerset<D>::rbegin() const {
+  return const_reverse_iterator(end());
 }
 
-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);
+template <typename D>
+inline typename Powerset<D>::const_reverse_iterator
+Powerset<D>::rend() const {
+  return const_reverse_iterator(begin());
 }
 
-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);
+template <typename D>
+inline typename Powerset<D>::size_type
+Powerset<D>::size() const {
+  return sequence.size();
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
 inline bool
-Partially_Reduced_Product<D1, D2, R>::constrains(Variable var) const {
-  reduce();
-  return d1.constrains(var) || d2.constrains(var);
+Powerset<D>::empty() const {
+  return sequence.empty();
 }
 
-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: 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 D>
+inline typename Powerset<D>::iterator
+Powerset<D>::drop_disjunct(iterator position) {
+  return sequence.erase(position.base);
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
 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);
+Powerset<D>::drop_disjuncts(iterator first, iterator last) {
+  sequence.erase(first.base, last.base);
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
 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);
+Powerset<D>::clear() {
+  sequence.clear();
 }
 
-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();
+template <typename D>
+inline
+Powerset<D>::Powerset(const Powerset& y)
+  : sequence(y.sequence), reduced(y.reduced) {
 }
 
-template <typename D1, typename D2, typename R>
-inline void
-Partially_Reduced_Product<D1, D2, R>
-::remove_space_dimensions(const Variables_Set& to_be_removed) {
-  d1.remove_space_dimensions(to_be_removed);
-  d2.remove_space_dimensions(to_be_removed);
+template <typename D>
+inline Powerset<D>&
+Powerset<D>::operator=(const Powerset& y) {
+  sequence = y.sequence;
+  reduced = y.reduced;
+  return *this;
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
 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);
+Powerset<D>::swap(Powerset& y) {
+  std::swap(sequence, y.sequence);
+  std::swap(reduced, y.reduced);
 }
 
-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 D>
+inline
+Powerset<D>::Powerset()
+  : sequence(), reduced(true) {
 }
 
-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);
+template <typename D>
+inline
+Powerset<D>::Powerset(const D& d)
+  : sequence(), reduced(false) {
+  sequence.push_back(d);
+  assert(OK());
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
+inline
+Powerset<D>::~Powerset() {
+}
+
+template <typename D>
 inline void
-Partially_Reduced_Product<D1, D2, R>
-::fold_space_dimensions(const Variables_Set& to_be_folded,
-			Variable var) {
-  d1.fold_space_dimensions(to_be_folded, var);
-  d2.fold_space_dimensions(to_be_folded, var);
+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());
 }
 
-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);
+template <typename D>
+inline void
+Powerset<D>::add_disjunct(const D& d) {
+  sequence.push_back(d);
+  reduced = false;
 }
 
-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));
+/*! \relates Powerset */
+template <typename D>
+inline
+bool operator!=(const Powerset<D>& x, const Powerset<D>& y) {
+  return !(x == y);
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
 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;
+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;
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
 inline bool
-Partially_Reduced_Product<D1, D2, R>::is_reduced() const {
-  return reduced;
+Powerset<D>::is_bottom() const {
+  // Must perform omega-reduction for correctness.
+  omega_reduce();
+  return empty();
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
 inline void
-Partially_Reduced_Product<D1, D2, R>::clear_reduced_flag() const {
-  const_cast<Partially_Reduced_Product&>(*this).reduced = false;
+Powerset<D>::collapse() {
+  if (!empty())
+    collapse(sequence.begin());
 }
 
-template <typename D1, typename D2, typename R>
+template <typename D>
 inline void
-Partially_Reduced_Product<D1, D2, R>::set_reduced_flag() const {
-  const_cast<Partially_Reduced_Product&>(*this).reduced = true;
+Powerset<D>::meet_assign(const Powerset& y) {
+  pairwise_apply_assign(y, std::mem_fun_ref(&D::meet_assign));
 }
 
-// FIXME: Improve this name.
-PPL_OUTPUT_3_PARAM_TEMPLATE_DEFINITIONS(D1, D2, R, Partially_Reduced_Product)
-
-template <typename D1, typename D2, typename R>
+template <typename D>
 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 D1, typename D2, typename R>
-inline int32_t
-Partially_Reduced_Product<D1, D2, R>::hash_code() const {
-  return space_dimension() & 0x7fffffff;
+Powerset<D>::upper_bound_assign(const Powerset& y) {
+  least_upper_bound_assign(y);
 }
 
-/*! \relates Parma_Polyhedra_Library::Partially_Reduced_Product */
-template <typename D1, typename D2, typename R>
+template <typename D>
 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;
+Powerset<D>::upper_bound_assign_if_exact(const Powerset& y) {
+  least_upper_bound_assign(y);
+  return true;
 }
 
-/*! \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 D>
+inline memory_size_type
+Powerset<D>::total_memory_in_bytes() const {
+  return sizeof(*this) + external_memory_in_bytes();
 }
 
-/*! \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
+
+
+namespace std {
+
+/*! \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);
 }
 
-} // namespace Parma_Polyhedra_Library
+} // namespace std
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Powerset.templates.hh line 1. */
+/* Powerset class implementation: non-inline template functions.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Powerset.templates.hh line 27. */
+#include <algorithm>
+#include <cassert>
+#include <iostream>
 
 namespace Parma_Polyhedra_Library {
 
-template <typename D1, typename D2>
-inline
-No_Reduction<D1, D2>::No_Reduction() {
+template <typename D>
+void
+Powerset<D>::collapse(const Sequence_iterator sink) {
+  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);
+
+  // Ensure omega-reduction.
+  for (iterator xi = begin(); xi != x_sink; )
+    if (xi->definitely_entails(d))
+      xi = drop_disjunct(xi);
+    else
+      ++xi;
+
+  assert(OK());
 }
 
-template <typename D1, typename D2>
-void No_Reduction<D1, D2>::product_reduce(D1&, D2&) {
+template <typename D>
+void
+Powerset<D>::omega_reduce() const {
+  if (reduced)
+    return;
+
+  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;
+  assert(OK());
 }
 
-template <typename D1, typename D2>
-inline
-No_Reduction<D1, D2>::~No_Reduction() {
+template <typename D>
+void
+Powerset<D>::collapse(const unsigned max_disjuncts) {
+  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);
+  }
+  assert(OK());
+  assert(is_omega_reduced());
 }
 
-template <typename D1, typename D2>
-inline
-Constraints_Reduction<D1, D2>::Constraints_Reduction() {
+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;
 }
 
-template <typename D1, typename D2>
-void Constraints_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);
+template <typename D>
+bool
+Powerset<D>::is_omega_reduced() const {
+  if (!reduced && check_omega_reduced())
+    reduced = true;
+  return reduced;
+}
+
+template <typename D>
+typename Powerset<D>::iterator
+Powerset<D>::add_non_bottom_disjunct_preserve_reduction(const D& d,
+							iterator first,
+							iterator last) {
+  assert(!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;
   }
-  else if (d1.is_empty()) {
-    D2 new_d2(d2.space_dimension(), EMPTY);
-    std::swap(d2, new_d2);
+  sequence.push_back(d);
+  assert(OK());
+  return first;
+}
+
+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);
   }
-  else {
-    d1.refine_with_constraints(d2.minimized_constraints());
-    d2.refine_with_constraints(d1.minimized_constraints());
+  return found;
+}
+
+/*! \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;
 }
 
-template <typename D1, typename D2>
-inline
-Constraints_Reduction<D1, D2>::~Constraints_Reduction() {
+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;
+  assert(OK());
 }
 
-} // namespace Parma_Polyhedra_Library
+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);
+  assert(OK());
+}
 
-/*! \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);
+namespace IO_Operators {
+
+/*! \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;
+}
+
+} // namespace IO_Operators
+
+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 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;
 }
 
-/* Automatically generated from PPL source file ../src/Partially_Reduced_Product.defs.hh line 1532. */
+} // namespace Parma_Polyhedra_Library
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Powerset.defs.hh line 453. */
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 43. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Pointset_Powerset.defs.hh line 43. */
 #include <iosfwd>
 #include <list>
 #include <map>
@@ -72276,6 +74330,12 @@ Pointset_Powerset<NNC_Polyhedron>
 
 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);
@@ -72313,12 +74373,12 @@ void swap(Parma_Polyhedra_Library::Pointset_Powerset<PS>& x,
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.inlines.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Pointset_Powerset.inlines.hh line 1. */
 /* Pointset_Powerset class implementation: inline functions.
 */
 
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.inlines.hh line 34. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Pointset_Powerset.inlines.hh line 34. */
 #include <algorithm>
 #include <deque>
 
@@ -72615,12 +74675,12 @@ swap(Parma_Polyhedra_Library::Pointset_Powerset<PS>& x,
 
 } // namespace std
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.templates.hh line 1. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/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 32. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/Pointset_Powerset.templates.hh line 32. */
 #include <algorithm>
 #include <deque>
 #include <string>
@@ -72657,8 +74717,18 @@ Pointset_Powerset<NNC_Polyhedron>
 	 y_end = y.end(); i != y_end; ++i)
     x.sequence.push_back(Determinate<NNC_Polyhedron>
 			 (NNC_Polyhedron(i->element(), complexity)));
-  // FIXME: the following is a bug!
+
+  // 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;
+
   assert(x.OK());
 }
 
@@ -73538,14 +75608,19 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
   x.omega_reduce();
   bool first = true;
 
-  Coefficient supt_n = 0;
-  Coefficient supt_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(supt_d);
+  supt_n = 0;
+  supt_d = 1;
   bool maxt = 0;
 
-  Coefficient supi_n = 0;
-  Coefficient supi_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(supi_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(supi_d);
+  supi_n = 0;
+  supi_d = 1;
   bool maxi = 0;
-  TEMP_INTEGER(tmp);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
@@ -73586,16 +75661,21 @@ Pointset_Powerset<PS>::maximize(const Linear_Expression& expr,
   x.omega_reduce();
   bool first = true;
 
-  Coefficient supt_n = 0;
-  Coefficient supt_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(supt_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(supt_d);
+  supt_n = 0;
+  supt_d = 1;
   bool maxt = 0;
   Generator gt = point();
 
-  Coefficient supi_n = 0;
-  Coefficient supi_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(supi_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(supi_d);
+  supi_n = 0;
+  supi_d = 1;
   bool maxi = 0;
   Generator gi = point();
-  TEMP_INTEGER(tmp);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
@@ -73640,14 +75720,19 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
   x.omega_reduce();
   bool first = true;
 
-  Coefficient inft_n = 0;
-  Coefficient inft_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(inft_d);
+  inft_n = 0;
+  inft_d = 1;
   bool mint = 0;
 
-  Coefficient infi_n = 0;
-  Coefficient infi_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(infi_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(infi_d);
+  infi_n = 0;
+  infi_d = 1;
   bool mini = 0;
-  TEMP_INTEGER(tmp);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
@@ -73688,16 +75773,21 @@ Pointset_Powerset<PS>::minimize(const Linear_Expression& expr,
   x.omega_reduce();
   bool first = true;
 
-  Coefficient inft_n = 0;
-  Coefficient inft_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(inft_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(inft_d);
+  inft_n = 0;
+  inft_d = 1;
   bool mint = 0;
   Generator gt = point();
 
-  Coefficient infi_n = 0;
-  Coefficient infi_d = 1;
+  PPL_DIRTY_TEMP_COEFFICIENT(infi_n);
+  PPL_DIRTY_TEMP_COEFFICIENT(infi_d);
+  infi_n = 0;
+  infi_d = 1;
   bool mini = 0;
   Generator gi = point();
-  TEMP_INTEGER(tmp);
+
+  PPL_DIRTY_TEMP_COEFFICIENT(tmp);
 
   for (Sequence_const_iterator si = x.sequence.begin(),
          s_end = x.sequence.end(); si != s_end; ++si) {
@@ -73771,8 +75861,6 @@ Pointset_Powerset<PS>::pairwise_reduce() {
 	const PS& pj = sj->element();
 	if (pi.upper_bound_assign_if_exact(pj)) {
 	  marked[si_index] = marked[sj_index] = true;
-	  // FIXME: check whether the preservation of reduction was
-	  // actually meant here.
 	  new_x.add_non_bottom_disjunct_preserve_reduction(pi);
 	  ++deleted;
 	  goto next;
@@ -73827,8 +75915,6 @@ BGP99_heuristics_assign(const Pointset_Powerset& y, Widening wf) {
       if (pi.contains(pj)) {
 	PS pi_copy = pi;
 	wf(pi_copy, pj);
-	// FIXME: check whether the preservation of reduction was
-	// actually meant here.
 	new_x.add_non_bottom_disjunct_preserve_reduction(pi_copy);
 	marked[i_index] = true;
       }
@@ -74173,511 +76259,9 @@ linear_partition(const PS& p, const PS& q) {
 
 } // namespace Parma_Polyhedra_Library
 
-/* Automatically generated from PPL source file ../src/Pointset_Powerset.defs.hh line 1442. */
-
-/* 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/Partially_Reduced_Product.templates.hh line 30. */
-#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 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 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 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 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);
-  }
-  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();
-}
-
-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);
-    }
-  clear_reduced_flag();
-}
-
-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 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();
-
-  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();
-
-  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
-Partially_Reduced_Product<D1, D2, R>
-::maximize(const Linear_Expression& expr,
-	   Coefficient& sup_n,
-	   Coefficient& sup_d,
-	   bool& maximum) const {
-  reduce();
-  if (is_empty())
-    return false;
-  Coefficient sup1_n;
-  Coefficient sup1_d;
-  Coefficient sup2_n;
-  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 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();
-  if (is_empty())
-    return false;
-  Coefficient inf1_n;
-  Coefficient inf1_d;
-  Coefficient inf2_n;
-  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 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();
-  if (is_empty())
-    return false;
-  Coefficient sup1_n;
-  Coefficient sup1_d;
-  Coefficient sup2_n;
-  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 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();
-  if (is_empty())
-    return false;
-  Coefficient inf1_n;
-  Coefficient inf1_d;
-  Coefficient inf2_n;
-  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 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)
-      return false;
-  }
-  return d1.OK() && d2.OK();
-}
-
-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));
-}
-
-} // namespace Parma_Polyhedra_Library
-
-namespace Parma_Polyhedra_Library {
-
-template <typename D1, typename D2>
-inline
-Smash_Reduction<D1, D2>::Smash_Reduction() {
-}
-
-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);
-  }
-}
-
-template <typename D1, typename D2>
-inline
-Smash_Reduction<D1, D2>::~Smash_Reduction() {
-}
-
-} // namespace Parma_Polyhedra_Library
-
-/* Automatically generated from PPL source file ../src/max_space_dimension.hh line 1. */
-/* Definition of functions yielding maximal space dimensions.
-*/
-
-
-/* Automatically generated from PPL source file ../src/max_space_dimension.hh line 33. */
-#include <algorithm>
-
-namespace Parma_Polyhedra_Library {
-
-//! 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
-
-/* 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 /home/bagnara/ppl/ppl/src/Pointset_Powerset.defs.hh line 1448. */
 
-/* Automatically generated from PPL source file ../src/algorithms.hh line 28. */
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/algorithms.hh line 28. */
 #include <utility>
 #include <cassert>
 
@@ -74721,6 +76305,94 @@ poly_hull_assign_if_exact(PH& p, const PH& q) {
 
 } // namespace Parma_Polyhedra_Library
 
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/wrap.hh line 1. */
+/* Declaration of string wrapping function.
+*/
+
+
+/* Automatically generated from PPL source file /home/bagnara/ppl/ppl/src/wrap.hh line 27. */
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+//! Utility function for the wrapping of lines of text.
+/*!
+  \param src_string
+  The source string holding the lines to wrap.
+
+  \param indent_depth
+  The indentation depth.
+
+  \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.
+
+  \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);
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
+
+#undef PPL_SPECIALIZE_ABS
+#undef PPL_SPECIALIZE_ADD
+#undef PPL_SPECIALIZE_ADD_MUL
+#undef PPL_SPECIALIZE_ASSIGN
+#undef PPL_SPECIALIZE_ASSIGN_SPECIAL
+#undef PPL_SPECIALIZE_CEIL
+#undef PPL_SPECIALIZE_CLASSIFY
+#undef PPL_SPECIALIZE_CMP
+#undef PPL_SPECIALIZE_CONSTRUCT
+#undef PPL_SPECIALIZE_CONSTRUCT_SPECIAL
+#undef PPL_SPECIALIZE_COPY
+#undef PPL_SPECIALIZE_DIV
+#undef PPL_SPECIALIZE_DIV2EXP
+#undef PPL_SPECIALIZE_FLOOR
+#undef PPL_SPECIALIZE_FUN1_0_0
+#undef PPL_SPECIALIZE_FUN1_0_1
+#undef PPL_SPECIALIZE_FUN1_0_2
+#undef PPL_SPECIALIZE_FUN1_0_3
+#undef PPL_SPECIALIZE_FUN1_1_1
+#undef PPL_SPECIALIZE_FUN1_1_2
+#undef PPL_SPECIALIZE_FUN1_2_2
+#undef PPL_SPECIALIZE_FUN2_0_0
+#undef PPL_SPECIALIZE_FUN2_0_1
+#undef PPL_SPECIALIZE_FUN2_0_2
+#undef PPL_SPECIALIZE_FUN3_0_1
+#undef PPL_SPECIALIZE_FUN5_0_1
+#undef PPL_SPECIALIZE_GCD
+#undef PPL_SPECIALIZE_GCDEXT
+#undef PPL_SPECIALIZE_IDIV
+#undef PPL_SPECIALIZE_INPUT
+#undef PPL_SPECIALIZE_IS_INT
+#undef PPL_SPECIALIZE_IS_MINF
+#undef PPL_SPECIALIZE_IS_NAN
+#undef PPL_SPECIALIZE_IS_PINF
+#undef PPL_SPECIALIZE_LCM
+#undef PPL_SPECIALIZE_MUL
+#undef PPL_SPECIALIZE_MUL2EXP
+#undef PPL_SPECIALIZE_NEG
+#undef PPL_SPECIALIZE_OUTPUT
+#undef PPL_SPECIALIZE_REM
+#undef PPL_SPECIALIZE_SGN
+#undef PPL_SPECIALIZE_SQRT
+#undef PPL_SPECIALIZE_SUB
+#undef PPL_SPECIALIZE_SUB_MUL
+#undef PPL_SPECIALIZE_TRUNC
+
+#undef PPL_COMPILE_TIME_CHECK
+#undef PPL_COMPILE_TIME_CHECK_AUX
+#undef PPL_COMPILE_TIME_CHECK_NAME
 
 #ifdef __STDC_LIMIT_MACROS
 # undef __STDC_LIMIT_MACROS
diff --git a/src/ppl_header.hh b/src/ppl_header.hh
index f955266..25eab4d 100644
--- a/src/ppl_header.hh
+++ b/src/ppl_header.hh
@@ -1,5 +1,5 @@
 /* This is the header file of the Parma Polyhedra Library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -36,6 +36,56 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "version.hh"
 #include "ppl_include_files.hh"
 
+#undef PPL_SPECIALIZE_ABS
+#undef PPL_SPECIALIZE_ADD
+#undef PPL_SPECIALIZE_ADD_MUL
+#undef PPL_SPECIALIZE_ASSIGN
+#undef PPL_SPECIALIZE_ASSIGN_SPECIAL
+#undef PPL_SPECIALIZE_CEIL
+#undef PPL_SPECIALIZE_CLASSIFY
+#undef PPL_SPECIALIZE_CMP
+#undef PPL_SPECIALIZE_CONSTRUCT
+#undef PPL_SPECIALIZE_CONSTRUCT_SPECIAL
+#undef PPL_SPECIALIZE_COPY
+#undef PPL_SPECIALIZE_DIV
+#undef PPL_SPECIALIZE_DIV2EXP
+#undef PPL_SPECIALIZE_FLOOR
+#undef PPL_SPECIALIZE_FUN1_0_0
+#undef PPL_SPECIALIZE_FUN1_0_1
+#undef PPL_SPECIALIZE_FUN1_0_2
+#undef PPL_SPECIALIZE_FUN1_0_3
+#undef PPL_SPECIALIZE_FUN1_1_1
+#undef PPL_SPECIALIZE_FUN1_1_2
+#undef PPL_SPECIALIZE_FUN1_2_2
+#undef PPL_SPECIALIZE_FUN2_0_0
+#undef PPL_SPECIALIZE_FUN2_0_1
+#undef PPL_SPECIALIZE_FUN2_0_2
+#undef PPL_SPECIALIZE_FUN3_0_1
+#undef PPL_SPECIALIZE_FUN5_0_1
+#undef PPL_SPECIALIZE_GCD
+#undef PPL_SPECIALIZE_GCDEXT
+#undef PPL_SPECIALIZE_IDIV
+#undef PPL_SPECIALIZE_INPUT
+#undef PPL_SPECIALIZE_IS_INT
+#undef PPL_SPECIALIZE_IS_MINF
+#undef PPL_SPECIALIZE_IS_NAN
+#undef PPL_SPECIALIZE_IS_PINF
+#undef PPL_SPECIALIZE_LCM
+#undef PPL_SPECIALIZE_MUL
+#undef PPL_SPECIALIZE_MUL2EXP
+#undef PPL_SPECIALIZE_NEG
+#undef PPL_SPECIALIZE_OUTPUT
+#undef PPL_SPECIALIZE_REM
+#undef PPL_SPECIALIZE_SGN
+#undef PPL_SPECIALIZE_SQRT
+#undef PPL_SPECIALIZE_SUB
+#undef PPL_SPECIALIZE_SUB_MUL
+#undef PPL_SPECIALIZE_TRUNC
+
+#undef PPL_COMPILE_TIME_CHECK
+#undef PPL_COMPILE_TIME_CHECK_AUX
+#undef PPL_COMPILE_TIME_CHECK_NAME
+
 #ifdef __STDC_LIMIT_MACROS
 # undef __STDC_LIMIT_MACROS
 #endif
diff --git a/src/simplify.cc b/src/simplify.cc
index c25a283..1dd7d57 100644
--- a/src/simplify.cc
+++ b/src/simplify.cc
@@ -1,5 +1,5 @@
 /* Polyhedron class implementation: simplify().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,6 +26,8 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include "Linear_System.defs.hh"
 #include "Bit_Matrix.defs.hh"
 #include "Polyhedron.defs.hh"
+#include <cstddef>
+#include <limits>
 
 namespace PPL = Parma_Polyhedra_Library;
 
@@ -99,7 +101,9 @@ PPL::Polyhedron::simplify(Linear_System& sys, Bit_Matrix& sat) {
     delete [] simplify_num_saturators_p;
     simplify_num_saturators_p = 0;
     simplify_num_saturators_size = 0;
-    size_t new_size = compute_capacity(num_rows);
+    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;
   }
diff --git a/src/stdiobuf.cc b/src/stdiobuf.cc
index c98fb8a..a0323e1 100644
--- a/src/stdiobuf.cc
+++ b/src/stdiobuf.cc
@@ -1,5 +1,5 @@
 /* stdiobuf class implementation (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -41,7 +41,7 @@ stdiobuf::underflow() {
 std::streamsize
 stdiobuf::xsgetn(char_type* s, std::streamsize n) {
   std::streamsize r = fread(s, 1, n, fp);
-  if (s > 0)
+  if (r > 0)
     ungetc_buf = traits_type::to_int_type(s[r - 1]);
   else
     ungetc_buf = traits_type::eof();
diff --git a/src/stdiobuf.defs.hh b/src/stdiobuf.defs.hh
index 9eff2bd..c8e87dc 100644
--- a/src/stdiobuf.defs.hh
+++ b/src/stdiobuf.defs.hh
@@ -1,5 +1,5 @@
 /* stdiobuf class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/stdiobuf.inlines.hh b/src/stdiobuf.inlines.hh
index 4bde44e..f9d6e8d 100644
--- a/src/stdiobuf.inlines.hh
+++ b/src/stdiobuf.inlines.hh
@@ -1,5 +1,5 @@
 /* stdiobuf class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/stdiobuf.types.hh b/src/stdiobuf.types.hh
index 8b1c87f..960aca5 100644
--- a/src/stdiobuf.types.hh
+++ b/src/stdiobuf.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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
index 80b2913..462313b 100644
--- a/src/swapping_sort.icc
+++ b/src/swapping_sort.icc
@@ -1,5 +1,5 @@
 /* Sorting objects for which copies cost more than swaps.  -*- C++ -*-
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/version.cc b/src/version.cc
index 178109e..1668318 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -1,5 +1,5 @@
 /* Definition of functions providing version and licensing information.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -31,7 +31,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-2008 Roberto Bagnara <bagnara at cs.unipr.it>.\n"
+"Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>.\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"
diff --git a/src/version.hh.in b/src/version.hh.in
index 5c29f66..e77be78 100644
--- a/src/version.hh.in
+++ b/src/version.hh.in
@@ -1,6 +1,6 @@
 /* Declaration of macros and functions providing version  -*- C++ -*-
    and licensing information.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/src/wrap.cc b/src/wrap.cc
new file mode 100644
index 0000000..69b20b6
--- /dev/null
+++ b/src/wrap.cc
@@ -0,0 +1,92 @@
+/* String wrapping helper function.
+   Copyright (C) 2001-2009 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 "wrap.hh"
+#include <cstdlib>
+
+namespace Parma_Polyhedra_Library {
+
+namespace IO_Operators {
+
+std::string
+wrap_string(const std::string& src_string,
+	    unsigned indent_depth,
+	    unsigned preferred_first_line_length,
+	    unsigned preferred_line_length) {
+  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;
+	break;
+      }
+      if (src[i] == ',' && i < linelen)
+	last_comma = i;
+      if (isspace(src[i]) && (i == 0 || !isspace(src[i-1])))
+	last_space = i;
+    }
+    if (split_pos < 0) {
+      if (last_comma >= 0)
+	split_pos = last_comma + 1;
+      else if (last_space >= 0)
+	split_pos = last_space;
+      else {
+	for ( ; src[i]; ++i) {
+	  if (src[i] == ',') {
+	    ++i;
+	    break;
+	  }
+	  if (isspace(src[i]))
+	    break;
+	}
+	split_pos = i;
+      }
+    }
+    if (split_pos > 0 && line > 0 && indent_depth > 0)
+	dst_string.append(indent_depth, ' ');
+    dst_string.append(src, split_pos);
+    src += split_pos;
+    if (isspace(*src))
+      ++src;
+    while (*src == ' ')
+      ++src;
+    if (*src == '\0')
+      break;
+    dst_string.push_back('\n');
+  }
+  return dst_string;
+}
+
+} // namespace IO_Operators
+
+} // namespace Parma_Polyhedra_Library
+
diff --git a/tests/Partial_Function.defs.hh b/src/wrap.hh
similarity index 53%
copy from tests/Partial_Function.defs.hh
copy to src/wrap.hh
index 6e5ae0a..0980885 100644
--- a/tests/Partial_Function.defs.hh
+++ b/src/wrap.hh
@@ -1,5 +1,5 @@
-/* Partial_Function class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Declaration of string wrapping function.
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -20,42 +20,40 @@ Inc., 51 Franklin Street, Fifth Floor, 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_Partial_Function_defs_hh
-#define PPL_Partial_Function_defs_hh 1
+#ifndef PPL_wrap_hh
+#define PPL_wrap_hh 1
 
-#include "Partial_Function.types.hh"
-#include <cstddef>
-#include <map>
-#include <iosfwd>
+#include "globals.defs.hh"
 
 namespace Parma_Polyhedra_Library {
 
-namespace Test {
+namespace IO_Operators {
 
-class Partial_Function {
-private:
-  typedef size_t dim_t;
+//! Utility function for the wrapping of lines of text.
+/*!
+  \param src_string
+  The source string holding the lines to wrap.
 
-public:
-  Partial_Function();
-  bool has_empty_codomain() const;
-  dim_t max_in_codomain() const;
-  bool maps(dim_t i, dim_t& j) const;
+  \param indent_depth
+  The indentation depth.
 
-  void print(std::ostream& s) const;
+  \param preferred_first_line_length
+  The preferred length for the first line of text.
 
-  void insert(dim_t x, dim_t y);
+  \param preferred_line_length
+  The preferred length for all the lines but the first one.
 
-private:
-  typedef std::map<dim_t, dim_t, std::less<dim_t> > Map;
-  Map map;
-  dim_t max;
-};
+  \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);
 
-} // namespace Test
+} // namespace IO_Operators
 
 } // namespace Parma_Polyhedra_Library
 
-#include "Partial_Function.inlines.hh"
-
-#endif // !defined(PPL_Partial_Function_defs_hh)
+#endif // !defined(PPL_wrap_hh)
diff --git a/tests/BD_Shape/Makefile.am b/tests/BD_Shape/Makefile.am
index 65acf02..34560ac 100644
--- a/tests/BD_Shape/Makefile.am
+++ b/tests/BD_Shape/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -101,13 +101,14 @@ max_min1 max_min2 \
 maxspacedim1 \
 membytes1 \
 minconstraints1 \
-pointsetpowerset1 \
 relations1 relations2 relations3 relations4 \
 removespacedims1 \
+simplifyusingcontext1 \
 timeelapse1 \
 unconstrain1 \
 universe1 \
 upperbound1 \
+upperboundifexact1 \
 writebdshape1
 
 # This will be overridden by the `run_tests' script.
@@ -117,8 +118,9 @@ dist_check_SCRIPTS = run_tests
 
 TESTS = run_tests.stamp
 
+.PHONY: run_tests.stamp
 run_tests.stamp: run_tests
-	+$(srcdir)/run_tests
+	+MAKE=$(MAKE) $(srcdir)/run_tests
 	echo "true" >run_tests.stamp
 	chmod +x run_tests.stamp
 
@@ -259,8 +261,6 @@ membytes1_SOURCES = membytes1.cc
 
 minconstraints1_SOURCES = minconstraints1.cc
 
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
-
 relations1_SOURCES = relations1.cc
 relations2_SOURCES = relations2.cc
 relations3_SOURCES = relations3.cc
@@ -268,6 +268,8 @@ relations4_SOURCES = relations4.cc
 
 removespacedims1_SOURCES = removespacedims1.cc
 
+simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
+
 timeelapse1_SOURCES = timeelapse1.cc
 
 unconstrain1_SOURCES = unconstrain1.cc
@@ -276,10 +278,16 @@ universe1_SOURCES = universe1.cc
 
 upperbound1_SOURCES = upperbound1.cc
 
+upperboundifexact1_SOURCES = upperboundifexact1.cc
+
 writebdshape1_SOURCES = writebdshape1.cc
 
 
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
 
-CLEANFILES = run_tests.stamp
+CLEANFILES = \
+run_tests.stamp
+
+DISTCLEANFILES = \
+dirty_marker
diff --git a/tests/BD_Shape/Makefile.in b/tests/BD_Shape/Makefile.in
index 3e19140..e29276d 100644
--- a/tests/BD_Shape/Makefile.in
+++ b/tests/BD_Shape/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,11 +80,11 @@ check_PROGRAMS = addconstraints1$(EXEEXT) addspacedims1$(EXEEXT) \
 	limitedh79extrapolation1$(EXEEXT) mapspacedims1$(EXEEXT) \
 	max_min1$(EXEEXT) max_min2$(EXEEXT) maxspacedim1$(EXEEXT) \
 	membytes1$(EXEEXT) minconstraints1$(EXEEXT) \
-	pointsetpowerset1$(EXEEXT) relations1$(EXEEXT) \
-	relations2$(EXEEXT) relations3$(EXEEXT) relations4$(EXEEXT) \
-	removespacedims1$(EXEEXT) timeelapse1$(EXEEXT) \
+	relations1$(EXEEXT) relations2$(EXEEXT) relations3$(EXEEXT) \
+	relations4$(EXEEXT) removespacedims1$(EXEEXT) \
+	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
 	unconstrain1$(EXEEXT) universe1$(EXEEXT) upperbound1$(EXEEXT) \
-	writebdshape1$(EXEEXT)
+	upperboundifexact1$(EXEEXT) writebdshape1$(EXEEXT)
 XFAIL_TESTS =
 subdir = tests/BD_Shape
 DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
@@ -112,12 +112,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -478,12 +477,6 @@ minconstraints1_LDADD = $(LDADD)
 minconstraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_pointsetpowerset1_OBJECTS = pointsetpowerset1.$(OBJEXT)
-pointsetpowerset1_OBJECTS = $(am_pointsetpowerset1_OBJECTS)
-pointsetpowerset1_LDADD = $(LDADD)
-pointsetpowerset1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
 am_relations1_OBJECTS = relations1.$(OBJEXT)
 relations1_OBJECTS = $(am_relations1_OBJECTS)
 relations1_LDADD = $(LDADD)
@@ -514,6 +507,13 @@ removespacedims1_LDADD = $(LDADD)
 removespacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_simplifyusingcontext1_OBJECTS = simplifyusingcontext1.$(OBJEXT)
+simplifyusingcontext1_OBJECTS = $(am_simplifyusingcontext1_OBJECTS)
+simplifyusingcontext1_LDADD = $(LDADD)
+simplifyusingcontext1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_timeelapse1_OBJECTS = timeelapse1.$(OBJEXT)
 timeelapse1_OBJECTS = $(am_timeelapse1_OBJECTS)
 timeelapse1_LDADD = $(LDADD)
@@ -538,6 +538,13 @@ upperbound1_LDADD = $(LDADD)
 upperbound1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_upperboundifexact1_OBJECTS = upperboundifexact1.$(OBJEXT)
+upperboundifexact1_OBJECTS = $(am_upperboundifexact1_OBJECTS)
+upperboundifexact1_LDADD = $(LDADD)
+upperboundifexact1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_writebdshape1_OBJECTS = writebdshape1.$(OBJEXT)
 writebdshape1_OBJECTS = $(am_writebdshape1_OBJECTS)
 writebdshape1_LDADD = $(LDADD)
@@ -585,12 +592,13 @@ SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(limitedh79extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
 	$(max_min1_SOURCES) $(max_min2_SOURCES) \
 	$(maxspacedim1_SOURCES) $(membytes1_SOURCES) \
-	$(minconstraints1_SOURCES) $(pointsetpowerset1_SOURCES) \
-	$(relations1_SOURCES) $(relations2_SOURCES) \
-	$(relations3_SOURCES) $(relations4_SOURCES) \
-	$(removespacedims1_SOURCES) $(timeelapse1_SOURCES) \
+	$(minconstraints1_SOURCES) $(relations1_SOURCES) \
+	$(relations2_SOURCES) $(relations3_SOURCES) \
+	$(relations4_SOURCES) $(removespacedims1_SOURCES) \
+	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
-	$(upperbound1_SOURCES) $(writebdshape1_SOURCES)
+	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
+	$(writebdshape1_SOURCES)
 DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
 	$(affineimage2_SOURCES) $(affinepreimage1_SOURCES) \
@@ -620,12 +628,13 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(limitedh79extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
 	$(max_min1_SOURCES) $(max_min2_SOURCES) \
 	$(maxspacedim1_SOURCES) $(membytes1_SOURCES) \
-	$(minconstraints1_SOURCES) $(pointsetpowerset1_SOURCES) \
-	$(relations1_SOURCES) $(relations2_SOURCES) \
-	$(relations3_SOURCES) $(relations4_SOURCES) \
-	$(removespacedims1_SOURCES) $(timeelapse1_SOURCES) \
+	$(minconstraints1_SOURCES) $(relations1_SOURCES) \
+	$(relations2_SOURCES) $(relations3_SOURCES) \
+	$(relations4_SOURCES) $(removespacedims1_SOURCES) \
+	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
-	$(upperbound1_SOURCES) $(writebdshape1_SOURCES)
+	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
+	$(writebdshape1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -685,6 +694,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -693,6 +704,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -767,6 +779,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -905,21 +918,27 @@ max_min2_SOURCES = max_min2.cc
 maxspacedim1_SOURCES = maxspacedim1.cc
 membytes1_SOURCES = membytes1.cc
 minconstraints1_SOURCES = minconstraints1.cc
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
 relations1_SOURCES = relations1.cc
 relations2_SOURCES = relations2.cc
 relations3_SOURCES = relations3.cc
 relations4_SOURCES = relations4.cc
 removespacedims1_SOURCES = removespacedims1.cc
+simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 timeelapse1_SOURCES = timeelapse1.cc
 unconstrain1_SOURCES = unconstrain1.cc
 universe1_SOURCES = universe1.cc
 upperbound1_SOURCES = upperbound1.cc
+upperboundifexact1_SOURCES = upperboundifexact1.cc
 writebdshape1_SOURCES = writebdshape1.cc
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
 
-CLEANFILES = run_tests.stamp
+CLEANFILES = \
+run_tests.stamp
+
+DISTCLEANFILES = \
+dirty_marker
+
 all: all-am
 
 .SUFFIXES:
@@ -1122,9 +1141,6 @@ membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES)
 minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
 	$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
-pointsetpowerset1$(EXEEXT): $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_DEPENDENCIES) 
-	@rm -f pointsetpowerset1$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_LDADD) $(LIBS)
 relations1$(EXEEXT): $(relations1_OBJECTS) $(relations1_DEPENDENCIES) 
 	@rm -f relations1$(EXEEXT)
 	$(CXXLINK) $(relations1_OBJECTS) $(relations1_LDADD) $(LIBS)
@@ -1140,6 +1156,9 @@ relations4$(EXEEXT): $(relations4_OBJECTS) $(relations4_DEPENDENCIES)
 removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
 	$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+	@rm -f simplifyusingcontext1$(EXEEXT)
+	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
@@ -1152,6 +1171,9 @@ universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES)
 upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
+upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
+	@rm -f upperboundifexact1$(EXEEXT)
+	$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
 writebdshape1$(EXEEXT): $(writebdshape1_OBJECTS) $(writebdshape1_DEPENDENCIES) 
 	@rm -f writebdshape1$(EXEEXT)
 	$(CXXLINK) $(writebdshape1_OBJECTS) $(writebdshape1_LDADD) $(LIBS)
@@ -1216,16 +1238,17 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/maxspacedim1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/membytes1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/minconstraints1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset1.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@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relations4.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/removespacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplifyusingcontext1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timeelapse1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unconstrain1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperboundifexact1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writebdshape1.Po at am__quote@
 
 .cc.o:
@@ -1430,6 +1453,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1510,8 +1534,9 @@ uninstall-am:
 	tags uninstall uninstall-am
 
 
+.PHONY: run_tests.stamp
 run_tests.stamp: run_tests
-	+$(srcdir)/run_tests
+	+MAKE=$(MAKE) $(srcdir)/run_tests
 	echo "true" >run_tests.stamp
 	chmod +x run_tests.stamp
 
diff --git a/tests/BD_Shape/addconstraints1.cc b/tests/BD_Shape/addconstraints1.cc
index 8ba01d3..f887c6e 100644
--- a/tests/BD_Shape/addconstraints1.cc
+++ b/tests/BD_Shape/addconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::add_constraints_and_minimize().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/addspacedims1.cc b/tests/BD_Shape/addspacedims1.cc
index 40b1680..8d44836 100644
--- a/tests/BD_Shape/addspacedims1.cc
+++ b/tests/BD_Shape/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::add_space_dimensions_and_embed():
    we add two variables to a BD_Shape.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/affinedimension1.cc b/tests/BD_Shape/affinedimension1.cc
index 6255dd1..bbd736d 100644
--- a/tests/BD_Shape/affinedimension1.cc
+++ b/tests/BD_Shape/affinedimension1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::affine_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/affineimage1.cc b/tests/BD_Shape/affineimage1.cc
index c8e8781..f5190be 100644
--- a/tests/BD_Shape/affineimage1.cc
+++ b/tests/BD_Shape/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/affineimage2.cc b/tests/BD_Shape/affineimage2.cc
index cd2b019..9943e15 100644
--- a/tests/BD_Shape/affineimage2.cc
+++ b/tests/BD_Shape/affineimage2.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/affinepreimage1.cc b/tests/BD_Shape/affinepreimage1.cc
index 4ee98ac..25ee32b 100644
--- a/tests/BD_Shape/affinepreimage1.cc
+++ b/tests/BD_Shape/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/ascii_dump_load1.cc b/tests/BD_Shape/ascii_dump_load1.cc
index 4c39ece..07c1e92 100644
--- a/tests/BD_Shape/ascii_dump_load1.cc
+++ b/tests/BD_Shape/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::ascii_dump() and BD_Shape::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bgp99extrapolation1.cc b/tests/BD_Shape/bgp99extrapolation1.cc
index bde7e03..b036d19 100644
--- a/tests/BD_Shape/bgp99extrapolation1.cc
+++ b/tests/BD_Shape/bgp99extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bhmz05widening1.cc b/tests/BD_Shape/bhmz05widening1.cc
index aab3349..1e62321 100644
--- a/tests/BD_Shape/bhmz05widening1.cc
+++ b/tests/BD_Shape/bhmz05widening1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BHMZ05_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bhz03widening1.cc b/tests/BD_Shape/bhz03widening1.cc
index a6caecf..0b6a709 100644
--- a/tests/BD_Shape/bhz03widening1.cc
+++ b/tests/BD_Shape/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bounded1.cc b/tests/BD_Shape/bounded1.cc
index 91529b7..9a84de6 100644
--- a/tests/BD_Shape/bounded1.cc
+++ b/tests/BD_Shape/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::is_bounded().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/boundedaffineimage1.cc b/tests/BD_Shape/boundedaffineimage1.cc
index eeb090d..fc722c0 100644
--- a/tests/BD_Shape/boundedaffineimage1.cc
+++ b/tests/BD_Shape/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::bounded_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/boundedaffinepreimage1.cc b/tests/BD_Shape/boundedaffinepreimage1.cc
index 8328421..45f9551 100644
--- a/tests/BD_Shape/boundedaffinepreimage1.cc
+++ b/tests/BD_Shape/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::bounded_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/bounds1.cc b/tests/BD_Shape/bounds1.cc
index 272d8a6..7a552e3 100644
--- a/tests/BD_Shape/bounds1.cc
+++ b/tests/BD_Shape/bounds1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::bounds_from_below() and BD_Shape::bounds_from_above().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/cc76extrapolation1.cc b/tests/BD_Shape/cc76extrapolation1.cc
index c380a25..08cdcea 100644
--- a/tests/BD_Shape/cc76extrapolation1.cc
+++ b/tests/BD_Shape/cc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::CC76_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/cc76narrowing1.cc b/tests/BD_Shape/cc76narrowing1.cc
index 53e5f25..4dc2ed6 100644
--- a/tests/BD_Shape/cc76narrowing1.cc
+++ b/tests/BD_Shape/cc76narrowing1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::CC76_narrowing_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/closure1.cc b/tests/BD_Shape/closure1.cc
index e7d0cba..4e7a691 100644
--- a/tests/BD_Shape/closure1.cc
+++ b/tests/BD_Shape/closure1.cc
@@ -1,5 +1,5 @@
 /* Test shortest path closure.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/concatenate1.cc b/tests/BD_Shape/concatenate1.cc
index 48660f6..ae7a99c 100644
--- a/tests/BD_Shape/concatenate1.cc
+++ b/tests/BD_Shape/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::concatenate_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/congruences1.cc b/tests/BD_Shape/congruences1.cc
index b40f96f..22006c6 100644
--- a/tests/BD_Shape/congruences1.cc
+++ b/tests/BD_Shape/congruences1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/constrains1.cc b/tests/BD_Shape/constrains1.cc
index a9d1ec0..116d5a1 100644
--- a/tests/BD_Shape/constrains1.cc
+++ b/tests/BD_Shape/constrains1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::constrains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/constraints1.cc b/tests/BD_Shape/constraints1.cc
index df8022a..ba0d6bd 100644
--- a/tests/BD_Shape/constraints1.cc
+++ b/tests/BD_Shape/constraints1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/contains1.cc b/tests/BD_Shape/contains1.cc
index 7151ca8..e75530f 100644
--- a/tests/BD_Shape/contains1.cc
+++ b/tests/BD_Shape/contains1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::contains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/containsintegerpoint1.cc b/tests/BD_Shape/containsintegerpoint1.cc
index 3c8938f..c635826 100644
--- a/tests/BD_Shape/containsintegerpoint1.cc
+++ b/tests/BD_Shape/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::contains_integer_point().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/difference1.cc b/tests/BD_Shape/difference1.cc
index c07e729..78c1e8a 100644
--- a/tests/BD_Shape/difference1.cc
+++ b/tests/BD_Shape/difference1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::difference_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/discrete1.cc b/tests/BD_Shape/discrete1.cc
index aa6e716..d4c86b2 100644
--- a/tests/BD_Shape/discrete1.cc
+++ b/tests/BD_Shape/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::is_discrete().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/disjoint1.cc b/tests/BD_Shape/disjoint1.cc
index 5a9951f..5a22e5b 100644
--- a/tests/BD_Shape/disjoint1.cc
+++ b/tests/BD_Shape/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::is_disjoint_from(const BD_Shape& y).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -185,7 +185,10 @@ BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
   DO_TEST(test03);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test04);
+#endif
   DO_TEST(test05);
   DO_TEST(test06);
   DO_TEST(test07);
diff --git a/tests/BD_Shape/empty1.cc b/tests/BD_Shape/empty1.cc
index fd52e91..73b47bf 100644
--- a/tests/BD_Shape/empty1.cc
+++ b/tests/BD_Shape/empty1.cc
@@ -1,5 +1,5 @@
 /* Different ways of creating an empty BD_Shape.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/equality1.cc b/tests/BD_Shape/equality1.cc
index 8115086..8845be0 100644
--- a/tests/BD_Shape/equality1.cc
+++ b/tests/BD_Shape/equality1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::operator==().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/expandspacedim1.cc b/tests/BD_Shape/expandspacedim1.cc
index 6ee635c..c0fec80 100644
--- a/tests/BD_Shape/expandspacedim1.cc
+++ b/tests/BD_Shape/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::expand_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/foldspacedims1.cc b/tests/BD_Shape/foldspacedims1.cc
index 15345af..350aa55 100644
--- a/tests/BD_Shape/foldspacedims1.cc
+++ b/tests/BD_Shape/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::fold_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/frombdshape1.cc b/tests/BD_Shape/frombdshape1.cc
index de7a11e..53abd3c 100644
--- a/tests/BD_Shape/frombdshape1.cc
+++ b/tests/BD_Shape/frombdshape1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape copy construct, construction from other
    BD shapes and assignment.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/frombox1.cc b/tests/BD_Shape/frombox1.cc
index 21319d0..88bd142 100644
--- a/tests/BD_Shape/frombox1.cc
+++ b/tests/BD_Shape/frombox1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const Box<Interval>&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/fromgensys1.cc b/tests/BD_Shape/fromgensys1.cc
index 071ee89..f3a476e 100644
--- a/tests/BD_Shape/fromgensys1.cc
+++ b/tests/BD_Shape/fromgensys1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const Generator_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/fromgrid1.cc b/tests/BD_Shape/fromgrid1.cc
index 6d0ef21..ef6329d 100644
--- a/tests/BD_Shape/fromgrid1.cc
+++ b/tests/BD_Shape/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/fromoctagonalshape1.cc b/tests/BD_Shape/fromoctagonalshape1.cc
index e3d4d47..512d663 100644
--- a/tests/BD_Shape/fromoctagonalshape1.cc
+++ b/tests/BD_Shape/fromoctagonalshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const Octagonal_Shape&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/frompolyhedron1.cc b/tests/BD_Shape/frompolyhedron1.cc
index 98f3b68..9c801cf 100644
--- a/tests/BD_Shape/frompolyhedron1.cc
+++ b/tests/BD_Shape/frompolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/fromspacedim1.cc b/tests/BD_Shape/fromspacedim1.cc
index 79c6c24..04de568 100644
--- a/tests/BD_Shape/fromspacedim1.cc
+++ b/tests/BD_Shape/fromspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(dimension_type, Degenerate_Element).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffineimage1.cc b/tests/BD_Shape/generalizedaffineimage1.cc
index 1af91b0..bf3a37a 100644
--- a/tests/BD_Shape/generalizedaffineimage1.cc
+++ b/tests/BD_Shape/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffineimage2.cc b/tests/BD_Shape/generalizedaffineimage2.cc
index 0abc5d1..9567fd9 100644
--- a/tests/BD_Shape/generalizedaffineimage2.cc
+++ b/tests/BD_Shape/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffinepreimage1.cc b/tests/BD_Shape/generalizedaffinepreimage1.cc
index 6c890e2..c86bee2 100644
--- a/tests/BD_Shape/generalizedaffinepreimage1.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffinepreimage2.cc b/tests/BD_Shape/generalizedaffinepreimage2.cc
index 4582ff1..825dc49 100644
--- a/tests/BD_Shape/generalizedaffinepreimage2.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/generalizedaffinepreimage3.cc b/tests/BD_Shape/generalizedaffinepreimage3.cc
index 655382d..bbc6950 100644
--- a/tests/BD_Shape/generalizedaffinepreimage3.cc
+++ b/tests/BD_Shape/generalizedaffinepreimage3.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/geomcovers1.cc b/tests/BD_Shape/geomcovers1.cc
index 0463318..6308fce 100644
--- a/tests/BD_Shape/geomcovers1.cc
+++ b/tests/BD_Shape/geomcovers1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<BD_Shape>::geometrically_covers().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/h79widening1.cc b/tests/BD_Shape/h79widening1.cc
index 678b6ce..26648a4 100644
--- a/tests/BD_Shape/h79widening1.cc
+++ b/tests/BD_Shape/h79widening1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::H79_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/intersection1.cc b/tests/BD_Shape/intersection1.cc
index 632bc1d..44df9f6 100644
--- a/tests/BD_Shape/intersection1.cc
+++ b/tests/BD_Shape/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::intersection_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/limitedbhmz05extrapolation1.cc b/tests/BD_Shape/limitedbhmz05extrapolation1.cc
index b206c49..86e0aac 100644
--- a/tests/BD_Shape/limitedbhmz05extrapolation1.cc
+++ b/tests/BD_Shape/limitedbhmz05extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::limited_BHMZ05_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/limitedcc76extrapolation1.cc b/tests/BD_Shape/limitedcc76extrapolation1.cc
index b0f26e3..8ded1fc 100644
--- a/tests/BD_Shape/limitedcc76extrapolation1.cc
+++ b/tests/BD_Shape/limitedcc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::limited_CC76_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/limitedh79extrapolation1.cc b/tests/BD_Shape/limitedh79extrapolation1.cc
index 07566dd..3cdc7e5 100644
--- a/tests/BD_Shape/limitedh79extrapolation1.cc
+++ b/tests/BD_Shape/limitedh79extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::limited_H79_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/mapspacedims1.cc b/tests/BD_Shape/mapspacedims1.cc
index 04e67b2..2862947 100644
--- a/tests/BD_Shape/mapspacedims1.cc
+++ b/tests/BD_Shape/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::map_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/max_min1.cc b/tests/BD_Shape/max_min1.cc
index 91a2df2..8fdf04f 100644
--- a/tests/BD_Shape/max_min1.cc
+++ b/tests/BD_Shape/max_min1.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::maximize(const Linear_Expression&, ...)
    and BD_Shape::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/max_min2.cc b/tests/BD_Shape/max_min2.cc
index a90a6d1..915035b 100644
--- a/tests/BD_Shape/max_min2.cc
+++ b/tests/BD_Shape/max_min2.cc
@@ -1,6 +1,6 @@
 /* Test BD_Shape::maximize(const Linear_Expression&, ...)
    and BD_Shape::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/maxspacedim1.cc b/tests/BD_Shape/maxspacedim1.cc
index afd084d..ce478ec 100644
--- a/tests/BD_Shape/maxspacedim1.cc
+++ b/tests/BD_Shape/maxspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::max_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/membytes1.cc b/tests/BD_Shape/membytes1.cc
index 68ed376..89360e4 100644
--- a/tests/BD_Shape/membytes1.cc
+++ b/tests/BD_Shape/membytes1.cc
@@ -1,5 +1,5 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/minconstraints1.cc b/tests/BD_Shape/minconstraints1.cc
index 2e62390..994dcc2 100644
--- a/tests/BD_Shape/minconstraints1.cc
+++ b/tests/BD_Shape/minconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape<T>::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/pointsetpowerset1.cc b/tests/BD_Shape/pointsetpowerset1.cc
deleted file mode 100644
index 8224f19..0000000
--- a/tests/BD_Shape/pointsetpowerset1.cc
+++ /dev/null
@@ -1,489 +0,0 @@
-/* Test Pointset_Powerset<BD_Shape<> >.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-// Constructs the powerset of bd shapes from an bd shape.
-bool
-test01() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  TBD_Shape bds(4);
-  bds.add_constraint(x >= 2);
-  bds.add_constraint(x - y <= 4);
-  bds.add_constraint(z == 1);
-
-  Pointset_Powerset<TBD_Shape> pps1(bds);
-  Pointset_Powerset<TBD_Shape> pps2(4, EMPTY);
-  pps2.add_disjunct(bds);
-
-  bool ok = (pps1 == pps2);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i = pps1.begin();
-  TBD_Shape bdsi = i->element();
-  print_constraints(bdsi, "*** bdsi ***");
-  Pointset_Powerset<TBD_Shape>::const_iterator i2 = pps2.begin();
-  TBD_Shape bdsi2 = i2->element();
-  print_constraints(bdsi2, "*** bdsi2 ***");
-
-  return ok && pps1.OK();
-}
-
-// Constructs the powerset of bd shapes from an empty bd shape.
-bool
-test02() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2, EMPTY);
-
-  Pointset_Powerset<TBD_Shape> pps(bds);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-
-// Constructs the powerset of bd shapes from a polyhedron.
-bool
-test03() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph(4);
-  ph.add_constraint(3*x >= 2);
-  ph.add_constraint(z >= 1);
-  ph.add_constraint(3*x + z <= 3);
-  C_Polyhedron ph1(ph);
-
-  // With the default complexity, the implied equalities 4*x = 2 and z = 1.
-  // are found
-  Pointset_Powerset<TBD_Shape> pps(ph);
-  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
-
-  BD_Shape<mpq_class> known_bdsi(4);
-  known_bdsi.add_constraint(3*x == 2);
-  known_bdsi.add_constraint(z == 1);
-
-  bool ok = check_result(bdsi, known_bdsi, "5.97e-8", "3.15e-8", "1.99e-8");
-
-  print_constraints(bdsi, "*** bdsi ***");
-  print_constraints(known_bdsi, "*** known_bdsi ***");
-
-  // With the polynomial complexity, implied equalities are not found.
-  Pointset_Powerset<TBD_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
-  TBD_Shape bdsi1 = i1->element();
-
-  BD_Shape<mpq_class> known_bdsi1(4);
-  known_bdsi1.add_constraint(3*x >= 2);
-  known_bdsi1.add_constraint(z >= 1);
-
-  ok = check_result(bdsi1, known_bdsi1, "3.98e-8", "3.98e-8", "3.98e-8") && ok;
-
-  print_constraints(bdsi1, "*** bdsi1 ***");
-  print_constraints(known_bdsi1, "*** known_bds1i ***");
-
-  ok = ok && pps.OK() && pps1.OK();
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i_ok = pps.begin();
-  TBD_Shape bdsi_ok = i_ok->element();
-  Pointset_Powerset<TBD_Shape>::const_iterator i1_ok = pps1.begin();
-  TBD_Shape bdsi1_ok = i1_ok->element();
-
-  print_constraints(bdsi_ok, "*** bdsi after OK() ***");
-  print_constraints(bdsi1_ok, "*** bdsi1 after OK() ***");
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from a polyhedron whose
-// constraints are inconsistent (i.e., is empty but not marked as
-// empty).
-bool
-test04() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph(4);
-  ph.add_constraint(3*x >= 2);
-  ph.add_constraint(z >= 1);
-  ph.add_constraint(3*x + z <= 2);
-  C_Polyhedron ph1(ph);
-
-  // With the default complexity, the built powerset is empty.
-  Pointset_Powerset<TBD_Shape> pps(ph);
-  // With the polynomial complexity, the built powerset is non-empty.
-  Pointset_Powerset<TBD_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
-
-  BD_Shape<mpq_class> known_bds1(4);
-  known_bds1.add_constraint(3*x >= 2);
-  known_bds1.add_constraint(z >= 1);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
-  TBD_Shape bdsi1 = i1->element();
-
-  bool ok = check_result(bdsi1, known_bds1, "1.92e-7", "8.89e-8", "7.95e-8")
-    && pps.is_empty();
-
-  print_constraints(bdsi1, "*** bdsi1 ***");
-
-  return ok && pps.OK() && pps1.OK();
-}
-
-// Constructs the powerset of bd shapes from an empty polyhedron.
-bool
-test05() {
-  Variable x(0);
-  Variable y(1);
-
-  NNC_Polyhedron ph(2, EMPTY);
-
-  Pointset_Powerset<TBD_Shape> pps(ph);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from an octagonal shape.
-bool
-test06() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2);
-  os.add_constraint(x == 0);
-  os.add_constraint(x + y <= 3);
-  os.add_constraint(y >= 1);
-
-  Pointset_Powerset<TBD_Shape> pps(os);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2);
-  known_pps.add_constraint(x == 0);
-  known_pps.add_constraint(y >= 1);
-  known_pps.add_constraint(y <= 3);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
-  print_constraints(bdsi, "*** bdsi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from an empty octagonal shape.
-bool
-test07() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2, EMPTY);
-
-  Pointset_Powerset<TBD_Shape> pps(os);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from a box.
-bool
-test08() {
-  Variable x(0);
-  Variable y(1);
-
-  TBox box(2);
-  box.add_constraint(x >= 0);
-  box.add_constraint(y >= 0);
-
-  // Complexity should be ignored.
-  Pointset_Powerset<TBD_Shape> pps(box, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2);
-  known_pps.add_constraint(x >= 0);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
-  print_constraints(bdsi, "*** bdsi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from an empty box.
-bool
-test09() {
-  Variable x(0);
-  Variable y(1);
-
-  TBox box(2, EMPTY);
-
-  Pointset_Powerset<TBD_Shape> pps(box);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from a grid.
-bool
-test10() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2);
-  gr.add_congruence((2*x %= 1) / 0);
-  gr.add_congruence(y %= 0);
-
-  Pointset_Powerset<TBD_Shape> pps(gr);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2);
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
-  print_constraints(bdsi, "*** bdsi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from an empty grid.
-bool
-test11() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2, EMPTY);
-
-  Pointset_Powerset<TBD_Shape> pps(gr);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from a powerset of
-// bd shapes.
-bool
-test12() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x <= 1);
-  cs.insert(y <= 0);
-  TBD_Shape bds(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBD_Shape> pps_bds(bds, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBD_Shape> pps(pps_bds, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y <= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator j = pps.begin();
-  TBD_Shape bdsj = j->element();
-  print_constraints(bdsj, "*** pps disjunct ***");
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from a powerset of polyhedra.
-bool
-test13() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(2*x >= 1);
-  cs.insert(2*x + y <= 1);
-  cs.insert(y >= 0);
-  C_Polyhedron ph1(cs);
-  C_Polyhedron ph2(cs);
-
-  Pointset_Powerset<C_Polyhedron> pps1_c(ph1, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<C_Polyhedron> pps2_c(ph2);
-
-  Pointset_Powerset<TBD_Shape> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<TBD_Shape> pps2(pps2_c);
-
-  Pointset_Powerset<TBD_Shape> known_pps1(2);
-  known_pps1.add_constraint(2*x >= 1);
-  known_pps1.add_constraint(y >= 0);
-  Pointset_Powerset<TBD_Shape> known_pps2(2);
-  known_pps2.add_constraint(2*x == 1);
-  known_pps2.add_constraint(y == 0);
-
-  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
-  TBD_Shape bdsi1 = i1->element();
-  print_constraints(bdsi1, "*** bdsi1 ***");
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i2 = pps2.begin();
-  TBD_Shape bdsi2 = i2->element();
-  print_constraints(bdsi2, "*** bdsi2 ***");
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from a powerset of octagonal shapes.
-bool
-test14() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x - y <= 1);
-  cs.insert(y <= 0);
-  TOctagonal_Shape os(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBD_Shape> pps(pps_os, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y == 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i_bds = pps.begin();
-  TBD_Shape bdsi = i_bds->element();
-  print_constraints(bdsi, "*** bdsi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from a powerset of boxes.
-bool
-test15() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(y <= 0);
-  TBox box(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBD_Shape> pps(pps_box, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2);
-  known_pps.add_constraint(x >= 1);
-  known_pps.add_constraint(y <= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i_bds = pps.begin();
-  TBD_Shape bdsi = i_bds->element();
-  print_constraints(bdsi, "*** bdsi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of bd shapes from a powerset of grids.
-bool
-test16() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2);
-  gr.add_congruence((2*x %= 1) / 0);
-  gr.add_congruence(y %= 0);
-
-  Pointset_Powerset<Grid> pps_gr(gr);
-
-  Pointset_Powerset<TBD_Shape> pps(pps_gr);
-
-  Pointset_Powerset<TBD_Shape> known_pps(2);
-
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
-  TBD_Shape bdsi = i->element();
-  print_constraints(bdsi, "*** bdsi ***");
-
-  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);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-END_MAIN
diff --git a/tests/BD_Shape/relations1.cc b/tests/BD_Shape/relations1.cc
index 4fc110c..780d9cd 100644
--- a/tests/BD_Shape/relations1.cc
+++ b/tests/BD_Shape/relations1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/relations2.cc b/tests/BD_Shape/relations2.cc
index e2589b5..b313d20 100644
--- a/tests/BD_Shape/relations2.cc
+++ b/tests/BD_Shape/relations2.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/relations3.cc b/tests/BD_Shape/relations3.cc
index 890a3b9..0820abf 100644
--- a/tests/BD_Shape/relations3.cc
+++ b/tests/BD_Shape/relations3.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/relations4.cc b/tests/BD_Shape/relations4.cc
index 0d46995..caf275b 100644
--- a/tests/BD_Shape/relations4.cc
+++ b/tests/BD_Shape/relations4.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/removespacedims1.cc b/tests/BD_Shape/removespacedims1.cc
index 71db1c2..00d7b1c 100644
--- a/tests/BD_Shape/removespacedims1.cc
+++ b/tests/BD_Shape/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Remove some variables from the space.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/run_tests b/tests/BD_Shape/run_tests
index 67b472d..b0aa753 100755
--- a/tests/BD_Shape/run_tests
+++ b/tests/BD_Shape/run_tests
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Run the BD_Shape tests.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -50,3 +50,4 @@ do
   $MAKE check TESTS="$check_PROGRAMS" TESTS_ENVIRONMENT="$CHECKER" TEST_CPPFLAGS="-DBD_SHAPE_INSTANCE=$instance" XFAIL_TESTS=$xfail_tests || exit 1
   $MAKE clean && rm dirty_marker
 done
+exit 0
diff --git a/tests/BD_Shape/simplifyusingcontext1.cc b/tests/BD_Shape/simplifyusingcontext1.cc
new file mode 100644
index 0000000..c10007d
--- /dev/null
+++ b/tests/BD_Shape/simplifyusingcontext1.cc
@@ -0,0 +1,305 @@
+/* Test BD_Shape::simplify_using_context_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2);
+  bds1.add_constraint(x >= 0);
+  bds1.add_constraint(x <= 2);
+  bds1.add_constraint(y >= 0);
+  bds1.add_constraint(y <= 2);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(bds1);
+  bds2.affine_image(x, x + 6);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(2);
+  known_result.add_constraint(x <= 2);
+
+  bool ok = !bds1.simplify_using_context_assign(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.simplify_using_context_assign(bds2) ***");
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2);
+  bds1.add_constraint(x >= 0);
+  bds1.add_constraint(x <= 2);
+  bds1.add_constraint(y >= 0);
+  bds1.add_constraint(y <= 2);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(bds1);
+  bds2.affine_image(x, x + 1);
+  bds2.affine_image(y, y + 6);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  // NOTE: this is the result computed when using the current heuristics.
+  // It turns out that the current heuristics is not smart enough to see
+  // that constraint y <= 2 is not really needed.
+  TBD_Shape known_result(2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = !bds1.simplify_using_context_assign(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.simplify_using_context_assign(bds2) ***");
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+
+  TBD_Shape bds1(1);
+  bds1.add_constraint(x >= 0);
+  bds1.add_constraint(x <= 6);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(1);
+  bds2.add_constraint(x >= 0);
+  bds2.add_constraint(x <= 5);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape computed_result = bds1;
+
+  computed_result.simplify_using_context_assign(bds2);
+
+  TBD_Shape known_result(1);
+
+  bool ok = (computed_result == known_result);
+
+  print_constraints(computed_result,
+                    "*** bds1.simplify_using_context_assign ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TBD_Shape bds1 = TBD_Shape(3, UNIVERSE);
+  bds1.add_constraint(i >= 1);
+  bds1.add_constraint(i <= 10);
+  bds1.add_constraint(j >= 1);
+  bds1.add_constraint(j <= 10);
+  bds1.add_constraint(k == 0);
+
+  TBD_Shape bds2 = TBD_Shape(3, UNIVERSE);
+  bds2.add_constraint(i >= 0);
+  bds2.add_constraint(i <= 2);
+  bds2.add_constraint(j >= 2);
+  bds2.add_constraint(j <= 9);
+  bds2.add_constraint(k == 0);
+
+  print_constraints(bds1, "=== bds1 ===");
+  print_constraints(bds2, "=== bds2 ===");
+
+  TBD_Shape known_result = TBD_Shape(3, UNIVERSE);
+  known_result.add_constraint(i >= 1);
+
+  bds1.simplify_using_context_assign(bds2);
+
+  bool ok = (bds1 == known_result);
+
+  print_constraints(bds1, "=== bds1.simplify_using_context_assign(bds2) ===");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TBD_Shape bds1(3, UNIVERSE);
+  bds1.add_constraint(i == 1);
+  bds1.add_constraint(j + 1 == 0);
+  bds1.add_constraint(k == 3);
+
+  TBD_Shape bds2(3, UNIVERSE);
+  bds2.add_constraint(i == 1);
+  bds2.add_constraint(k >= 0);
+  bds2.add_constraint(k <= 3);
+
+  TBD_Shape known_result(3, UNIVERSE);
+  known_result.add_constraint(k >= 3);
+  known_result.add_constraint(j + 1 == 0);
+
+  bds1.simplify_using_context_assign(bds2);
+
+  bool ok = (bds1 == known_result);
+
+  print_constraints(bds1.minimized_constraints(),
+                    "=== bds1.simplify_using_context_assign(bds2) ===");
+  print_constraints(known_result.minimized_constraints(),
+                    "=== known_result ===");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TBD_Shape bds1(3, UNIVERSE);
+  bds1.add_constraint(A == 0);
+  bds1.add_constraint(B == C);
+  bds1.add_constraint(B >= 2);
+  print_constraints(bds1, "\n=== bds1 ===");
+
+  TBD_Shape bds2(3, UNIVERSE);
+  bds2.add_constraint(A == 0);
+  bds2.add_constraint(C >= 2);
+  print_constraints(bds2, "\n=== bds2 ===");
+
+  bds1.simplify_using_context_assign(bds2);
+
+  TBD_Shape known_result(3, UNIVERSE);
+  known_result.add_constraint(B == C);
+
+  bool ok = (bds1 == known_result);
+
+  print_constraints(bds1, "\n=== bds1.simplify_using_context_assign(bds2) ===");
+
+  return ok;
+}
+
+bool
+test07() {
+  TBD_Shape bds1(0, EMPTY);
+  TBD_Shape bds2;
+
+  print_constraints(bds1, "*** bds1 ***");
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result = bds1;
+
+  bds1.simplify_using_context_assign(bds2);
+
+  bool ok = (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.simplify_using_context_assign(bds2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+
+  TBD_Shape bds1(1);
+  TBD_Shape bds2(1);
+
+  bds2.add_constraint(A == 0);
+
+  print_constraints(bds1, "*** bds1 ***");
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result = bds1;
+
+  bds1.simplify_using_context_assign(bds2);
+
+  bool ok = (bds1 == known_result);
+
+  print_constraints(bds1,
+                    "*** bds1.simplify_using_context_assign(bds2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TBD_Shape bds1(3, UNIVERSE);
+  bds1.add_constraint(i >= 1);
+  bds1.add_constraint(i <= 10);
+  bds1.add_constraint(j >= 1);
+  bds1.add_constraint(j <= 10);
+  bds1.add_constraint(k == 0);
+
+  TBD_Shape bds2(3, UNIVERSE);
+  bds2.add_constraint(i <= 25);
+  bds2.add_constraint(j <= 25);
+  bds2.add_constraint(k == 0);
+
+  TBD_Shape known_result(3, UNIVERSE);
+  known_result.add_constraint(i >= 1);
+  known_result.add_constraint(i <= 10);
+  known_result.add_constraint(j >= 1);
+  known_result.add_constraint(j <= 10);
+
+  bds1.simplify_using_context_assign(bds2);
+
+  bool ok = (bds1 == known_result);
+
+  print_constraints(bds1);
+
+  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/BD_Shape/timeelapse1.cc b/tests/BD_Shape/timeelapse1.cc
index abd46ef..b45bcd7 100644
--- a/tests/BD_Shape/timeelapse1.cc
+++ b/tests/BD_Shape/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test time_elapse_assign() for particular polyhedra.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/unconstrain1.cc b/tests/BD_Shape/unconstrain1.cc
index 02003ce..5b9c8f8 100644
--- a/tests/BD_Shape/unconstrain1.cc
+++ b/tests/BD_Shape/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::unconstrain().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/universe1.cc b/tests/BD_Shape/universe1.cc
index 7e382f8..f8478bc 100644
--- a/tests/BD_Shape/universe1.cc
+++ b/tests/BD_Shape/universe1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::is_universe().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/upperbound1.cc b/tests/BD_Shape/upperbound1.cc
index 660b300..0fa04c4 100644
--- a/tests/BD_Shape/upperbound1.cc
+++ b/tests/BD_Shape/upperbound1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::upper_bound_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/BD_Shape/upperboundifexact1.cc b/tests/BD_Shape/upperboundifexact1.cc
new file mode 100644
index 0000000..97bb3b5
--- /dev/null
+++ b/tests/BD_Shape/upperboundifexact1.cc
@@ -0,0 +1,375 @@
+/* Test BD_Shape::upper_bound_assign_if_exact().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  TBD_Shape bds_empty(0, EMPTY);
+  TBD_Shape bds_universe(0, UNIVERSE);
+
+  // Testing all combinations for 0-dim polyhedra.
+  bool ok = true;
+  TBD_Shape bds;
+
+  // empty, empty
+  bds = bds_empty;
+  ok &= bds.upper_bound_assign_if_exact(bds_empty);
+  ok &= (bds == bds_empty);
+  print_constraints(bds, "*** empty union empty ***");
+
+  // empty, universe
+  bds = bds_empty;
+  ok &= bds.upper_bound_assign_if_exact(bds_universe);
+  ok &= (bds == bds_universe);
+  print_constraints(bds, "*** empty union universe ***");
+
+  // universe, empty
+  bds = bds_universe;
+  ok &= bds.upper_bound_assign_if_exact(bds_empty);
+  ok &= (bds == bds_universe);
+  print_constraints(bds, "*** universe union empty ***");
+
+  // universe, universe
+  bds = bds_universe;
+  ok &= bds.upper_bound_assign_if_exact(bds_universe);
+  ok &= (bds == bds_universe);
+  print_constraints(bds, "*** universe union universe ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= -2);
+  bds1.add_constraint(x <= -1);
+  bds1.add_constraint(y >= 0);
+  bds1.add_constraint(y <= 2);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 1);
+  bds2.add_constraint(x <= 2);
+  bds2.add_constraint(y >= 0);
+  bds2.add_constraint(y <= 2);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(bds1);
+
+  bool ok = !bds1.upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= -2);
+  bds1.add_constraint(x <= 0);
+  bds1.add_constraint(y >= 0);
+  bds1.add_constraint(y <= 2);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 0);
+  bds2.add_constraint(x <= 2);
+  bds2.add_constraint(y >= 0);
+  bds2.add_constraint(y <= 2);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= -2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = bds1.upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2, UNIVERSE);
+  bds1.add_constraint(x == 0);
+  bds1.add_constraint(y == 0);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 0);
+  bds2.add_constraint(x <= 2);
+  bds2.add_constraint(y >= -2);
+  bds2.add_constraint(y <= 2);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(bds2);
+
+  bool ok = bds1.upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= 0);
+  bds1.add_constraint(y == 0);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 0);
+  bds2.add_constraint(y >= 2);
+  bds2.add_constraint(y <= 4);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(bds1);
+
+  bool ok = !bds1.upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2, UNIVERSE);
+  bds1.add_constraint(x == y);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(2, UNIVERSE);
+  bds2.add_constraint(x == 0);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(bds1);
+
+  bool ok = !bds1.upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= y);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 0);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(bds1);
+
+  bool ok = !bds1.upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= y);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(2, UNIVERSE);
+  bds2.add_constraint(x <= y);
+
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(2, UNIVERSE);
+
+  bool ok = bds1.upper_bound_assign_if_exact(bds2);
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  TBD_Shape bds(3, UNIVERSE);
+  bds.add_constraint(x >= 0);
+  bds.add_constraint(x <= 2);
+  bds.add_constraint(y >= 0);
+  bds.add_constraint(y <= 4);
+  bds.add_constraint(z >= 0);
+  bds.add_constraint(z <= 4);
+  bds.add_constraint(x - y <= 2);
+  bds.add_constraint(z - y <= 2);
+
+  TBD_Shape bds1(bds);
+  bds1.add_constraint(z <= 3);
+
+  print_constraints(bds1, "*** bds1 ***");
+
+  TBD_Shape bds2(bds);
+  bds2.add_constraint(x - y <= 1);
+
+  bool ok = bds1.upper_bound_assign_if_exact(bds2);
+
+  ok &= (bds1 == bds);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds1(2, UNIVERSE);
+  bds1.add_constraint(x >= 0);
+  bds1.add_constraint(x <= 3);
+  bds1.add_constraint(y >= 0);
+  bds1.add_constraint(y <= 2);
+  bds1.add_constraint(x - y <= 2);
+
+  TBD_Shape bds2(2, UNIVERSE);
+  bds2.add_constraint(x >= 3);
+  bds2.add_constraint(x <= 6);
+  bds2.add_constraint(y >= 0);
+  bds2.add_constraint(y <= 2);
+
+  print_constraints(bds1, "*** bds1 ***");
+  print_constraints(bds2, "*** bds2 ***");
+
+  TBD_Shape known_result(bds1);
+
+  bool ok = !bds1.upper_bound_assign_if_exact(bds2);
+
+  ok &= (bds1 == known_result);
+
+  print_constraints(bds1, "*** bds1.upper_bound_assign_if_exact(bds2) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  // const dimension_type dim = 500;
+  const dimension_type dim = 50;
+  Constraint_System cs;
+  for (dimension_type i = 1; i < dim; ++i) {
+    Variable x(i);
+    cs.insert(x >= 0);
+    cs.insert(x <= 4);
+  }
+
+  Variable x(0);
+
+  TBD_Shape hypercube1(cs);
+  hypercube1.add_constraint(x >= 0);
+  hypercube1.add_constraint(x <= 4);
+
+  TBD_Shape hypercube2(cs);
+  hypercube2.add_constraint(x >= 2);
+  hypercube2.add_constraint(x <= 6);
+
+  TBD_Shape known_result(cs);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 6);
+
+  bool ok = hypercube1.upper_bound_assign_if_exact(hypercube2);
+
+  ok &= (hypercube1 == known_result);
+
+  print_constraints(hypercube1, "*** hyp1 ***");
+  print_constraints(hypercube2, "*** hyp2 ***");
+
+  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);
+  DO_TEST(test11);
+END_MAIN
diff --git a/tests/BD_Shape/writebdshape1.cc b/tests/BD_Shape/writebdshape1.cc
index a164c13..c54f52b 100644
--- a/tests/BD_Shape/writebdshape1.cc
+++ b/tests/BD_Shape/writebdshape1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(ostream&, const BD_Shape&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/Makefile.am b/tests/Box/Makefile.am
index f1987f6..b3bde28 100644
--- a/tests/Box/Makefile.am
+++ b/tests/Box/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -90,23 +90,25 @@ generalizedaffinepreimage1 \
 geomcovers1 \
 intersection1 \
 interval1 \
+limitedcc76extrapolation1 \
 mapspacedims1 \
 max_min1 \
 maxspacedim1 \
 membytes1 \
 minconstraints1 \
-pointsetpowerset1 pointsetpowerset2 \
 propagateconstraints1 propagateconstraints2 \
 relations1 relations2 relations3 relations4 \
 refinewithconstraint1 refinewithconstraint2 \
 refinewithconstraints1 \
 refinewithcongruences1 \
 removespacedims1 \
+simplifyusingcontext1 \
 timeelapse1 \
 topclosed1 \
 unconstrain1 \
 universe1 \
 upperbound1 \
+upperboundifexact1 \
 writebox1
 
 DERIVED_TESTS = \
@@ -121,8 +123,9 @@ dist_check_SCRIPTS = run_tests
 
 TESTS = run_tests.stamp
 
+.PHONY: run_tests.stamp
 run_tests.stamp: run_tests
-	+$(srcdir)/run_tests
+	+MAKE=$(MAKE) $(srcdir)/run_tests
 	echo "true" >run_tests.stamp
 	chmod +x run_tests.stamp
 
@@ -232,6 +235,8 @@ intersection1_SOURCES = intersection1.cc
 
 interval1_SOURCES = interval1.cc
 
+limitedcc76extrapolation1_SOURCES = limitedcc76extrapolation1.cc
+
 mapspacedims1_SOURCES = mapspacedims1.cc
 
 max_min1_SOURCES = max_min1.cc
@@ -242,9 +247,6 @@ membytes1_SOURCES = membytes1.cc
 
 minconstraints1_SOURCES = minconstraints1.cc
 
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
-pointsetpowerset2_SOURCES = pointsetpowerset2.cc
-
 relations1_SOURCES = relations1.cc
 relations2_SOURCES = relations2.cc
 relations3_SOURCES = relations3.cc
@@ -262,6 +264,8 @@ refinewithcongruences1_SOURCES = refinewithcongruences1.cc
 
 removespacedims1_SOURCES = removespacedims1.cc
 
+simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
+
 timeelapse1_SOURCES = timeelapse1.cc
 
 topclosed1_SOURCES = topclosed1.cc
@@ -272,6 +276,8 @@ universe1_SOURCES = universe1.cc
 
 upperbound1_SOURCES = upperbound1.cc
 
+upperboundifexact1_SOURCES = upperboundifexact1.cc
+
 writebox1_SOURCES = writebox1.cc
 
 refinewithconstraints2_SRCS = refinewithconstraints2.cc
@@ -308,3 +314,6 @@ ascii_dump_load1.dat
 
 CLEANFILES = \
 run_tests.stamp
+
+DISTCLEANFILES = \
+dirty_marker
diff --git a/tests/Box/Makefile.in b/tests/Box/Makefile.in
index 8dba5f4..48202bc 100644
--- a/tests/Box/Makefile.in
+++ b/tests/Box/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -81,12 +81,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -113,16 +112,18 @@ am__EXEEXT_1 = addconstraints1$(EXEEXT) addspacedims1$(EXEEXT) \
 	generalizedaffineimage2$(EXEEXT) \
 	generalizedaffinepreimage1$(EXEEXT) geomcovers1$(EXEEXT) \
 	intersection1$(EXEEXT) interval1$(EXEEXT) \
-	mapspacedims1$(EXEEXT) max_min1$(EXEEXT) maxspacedim1$(EXEEXT) \
-	membytes1$(EXEEXT) minconstraints1$(EXEEXT) \
-	pointsetpowerset1$(EXEEXT) pointsetpowerset2$(EXEEXT) \
-	propagateconstraints1$(EXEEXT) propagateconstraints2$(EXEEXT) \
-	relations1$(EXEEXT) relations2$(EXEEXT) relations3$(EXEEXT) \
-	relations4$(EXEEXT) refinewithconstraint1$(EXEEXT) \
-	refinewithconstraint2$(EXEEXT) refinewithconstraints1$(EXEEXT) \
+	limitedcc76extrapolation1$(EXEEXT) mapspacedims1$(EXEEXT) \
+	max_min1$(EXEEXT) maxspacedim1$(EXEEXT) membytes1$(EXEEXT) \
+	minconstraints1$(EXEEXT) propagateconstraints1$(EXEEXT) \
+	propagateconstraints2$(EXEEXT) relations1$(EXEEXT) \
+	relations2$(EXEEXT) relations3$(EXEEXT) relations4$(EXEEXT) \
+	refinewithconstraint1$(EXEEXT) refinewithconstraint2$(EXEEXT) \
+	refinewithconstraints1$(EXEEXT) \
 	refinewithcongruences1$(EXEEXT) removespacedims1$(EXEEXT) \
-	timeelapse1$(EXEEXT) topclosed1$(EXEEXT) unconstrain1$(EXEEXT) \
-	universe1$(EXEEXT) upperbound1$(EXEEXT) writebox1$(EXEEXT)
+	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
+	topclosed1$(EXEEXT) unconstrain1$(EXEEXT) universe1$(EXEEXT) \
+	upperbound1$(EXEEXT) upperboundifexact1$(EXEEXT) \
+	writebox1$(EXEEXT)
 am__EXEEXT_2 = nnc_frompolyhedron1$(EXEEXT)
 @BUILD_WATCHDOG_LIBRARY_TRUE at am__EXEEXT_3 =  \
 @BUILD_WATCHDOG_LIBRARY_TRUE@	refinewithconstraints2$(EXEEXT)
@@ -384,6 +385,15 @@ interval1_LDADD = $(LDADD)
 interval1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_limitedcc76extrapolation1_OBJECTS =  \
+	limitedcc76extrapolation1.$(OBJEXT)
+limitedcc76extrapolation1_OBJECTS =  \
+	$(am_limitedcc76extrapolation1_OBJECTS)
+limitedcc76extrapolation1_LDADD = $(LDADD)
+limitedcc76extrapolation1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_mapspacedims1_OBJECTS = mapspacedims1.$(OBJEXT)
 mapspacedims1_OBJECTS = $(am_mapspacedims1_OBJECTS)
 mapspacedims1_LDADD = $(LDADD)
@@ -426,18 +436,6 @@ nnc_frompolyhedron1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
 	$(nnc_frompolyhedron1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-am_pointsetpowerset1_OBJECTS = pointsetpowerset1.$(OBJEXT)
-pointsetpowerset1_OBJECTS = $(am_pointsetpowerset1_OBJECTS)
-pointsetpowerset1_LDADD = $(LDADD)
-pointsetpowerset1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
-am_pointsetpowerset2_OBJECTS = pointsetpowerset2.$(OBJEXT)
-pointsetpowerset2_OBJECTS = $(am_pointsetpowerset2_OBJECTS)
-pointsetpowerset2_LDADD = $(LDADD)
-pointsetpowerset2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
 am_propagateconstraints1_OBJECTS = propagateconstraints1.$(OBJEXT)
 propagateconstraints1_OBJECTS = $(am_propagateconstraints1_OBJECTS)
 propagateconstraints1_LDADD = $(LDADD)
@@ -522,6 +520,13 @@ removespacedims1_LDADD = $(LDADD)
 removespacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_simplifyusingcontext1_OBJECTS = simplifyusingcontext1.$(OBJEXT)
+simplifyusingcontext1_OBJECTS = $(am_simplifyusingcontext1_OBJECTS)
+simplifyusingcontext1_LDADD = $(LDADD)
+simplifyusingcontext1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_timeelapse1_OBJECTS = timeelapse1.$(OBJEXT)
 timeelapse1_OBJECTS = $(am_timeelapse1_OBJECTS)
 timeelapse1_LDADD = $(LDADD)
@@ -552,6 +557,13 @@ upperbound1_LDADD = $(LDADD)
 upperbound1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_upperboundifexact1_OBJECTS = upperboundifexact1.$(OBJEXT)
+upperboundifexact1_OBJECTS = $(am_upperboundifexact1_OBJECTS)
+upperboundifexact1_LDADD = $(LDADD)
+upperboundifexact1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_writebox1_OBJECTS = writebox1.$(OBJEXT)
 writebox1_OBJECTS = $(am_writebox1_OBJECTS)
 writebox1_LDADD = $(LDADD)
@@ -590,10 +602,10 @@ SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
 	$(generalizedaffinepreimage1_SOURCES) $(geomcovers1_SOURCES) \
 	$(intersection1_SOURCES) $(interval1_SOURCES) \
-	$(mapspacedims1_SOURCES) $(max_min1_SOURCES) \
-	$(maxspacedim1_SOURCES) $(membytes1_SOURCES) \
-	$(minconstraints1_SOURCES) $(nnc_frompolyhedron1_SOURCES) \
-	$(pointsetpowerset1_SOURCES) $(pointsetpowerset2_SOURCES) \
+	$(limitedcc76extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
+	$(max_min1_SOURCES) $(maxspacedim1_SOURCES) \
+	$(membytes1_SOURCES) $(minconstraints1_SOURCES) \
+	$(nnc_frompolyhedron1_SOURCES) \
 	$(propagateconstraints1_SOURCES) \
 	$(propagateconstraints2_SOURCES) \
 	$(refinewithcongruences1_SOURCES) \
@@ -603,9 +615,10 @@ SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(refinewithconstraints2_SOURCES) $(relations1_SOURCES) \
 	$(relations2_SOURCES) $(relations3_SOURCES) \
 	$(relations4_SOURCES) $(removespacedims1_SOURCES) \
-	$(timeelapse1_SOURCES) $(topclosed1_SOURCES) \
-	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
-	$(upperbound1_SOURCES) $(writebox1_SOURCES)
+	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
+	$(topclosed1_SOURCES) $(unconstrain1_SOURCES) \
+	$(universe1_SOURCES) $(upperbound1_SOURCES) \
+	$(upperboundifexact1_SOURCES) $(writebox1_SOURCES)
 DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
 	$(affinepreimage1_SOURCES) $(ascii_dump_load1_SOURCES) \
@@ -626,10 +639,10 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(generalizedaffineimage2_SOURCES) \
 	$(generalizedaffinepreimage1_SOURCES) $(geomcovers1_SOURCES) \
 	$(intersection1_SOURCES) $(interval1_SOURCES) \
-	$(mapspacedims1_SOURCES) $(max_min1_SOURCES) \
-	$(maxspacedim1_SOURCES) $(membytes1_SOURCES) \
-	$(minconstraints1_SOURCES) $(nnc_frompolyhedron1_SOURCES) \
-	$(pointsetpowerset1_SOURCES) $(pointsetpowerset2_SOURCES) \
+	$(limitedcc76extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
+	$(max_min1_SOURCES) $(maxspacedim1_SOURCES) \
+	$(membytes1_SOURCES) $(minconstraints1_SOURCES) \
+	$(nnc_frompolyhedron1_SOURCES) \
 	$(propagateconstraints1_SOURCES) \
 	$(propagateconstraints2_SOURCES) \
 	$(refinewithcongruences1_SOURCES) \
@@ -639,9 +652,10 @@ DIST_SOURCES = $(addconstraints1_SOURCES) $(addspacedims1_SOURCES) \
 	$(am__refinewithconstraints2_SOURCES_DIST) \
 	$(relations1_SOURCES) $(relations2_SOURCES) \
 	$(relations3_SOURCES) $(relations4_SOURCES) \
-	$(removespacedims1_SOURCES) $(timeelapse1_SOURCES) \
-	$(topclosed1_SOURCES) $(unconstrain1_SOURCES) \
-	$(universe1_SOURCES) $(upperbound1_SOURCES) \
+	$(removespacedims1_SOURCES) $(simplifyusingcontext1_SOURCES) \
+	$(timeelapse1_SOURCES) $(topclosed1_SOURCES) \
+	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
+	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
 	$(writebox1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
@@ -702,6 +716,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -710,6 +726,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -784,6 +801,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -883,23 +901,25 @@ generalizedaffinepreimage1 \
 geomcovers1 \
 intersection1 \
 interval1 \
+limitedcc76extrapolation1 \
 mapspacedims1 \
 max_min1 \
 maxspacedim1 \
 membytes1 \
 minconstraints1 \
-pointsetpowerset1 pointsetpowerset2 \
 propagateconstraints1 propagateconstraints2 \
 relations1 relations2 relations3 relations4 \
 refinewithconstraint1 refinewithconstraint2 \
 refinewithconstraints1 \
 refinewithcongruences1 \
 removespacedims1 \
+simplifyusingcontext1 \
 timeelapse1 \
 topclosed1 \
 unconstrain1 \
 universe1 \
 upperbound1 \
+upperboundifexact1 \
 writebox1
 
 DERIVED_TESTS = \
@@ -966,13 +986,12 @@ generalizedaffinepreimage1_SOURCES = generalizedaffinepreimage1.cc
 geomcovers1_SOURCES = geomcovers1.cc
 intersection1_SOURCES = intersection1.cc
 interval1_SOURCES = interval1.cc
+limitedcc76extrapolation1_SOURCES = limitedcc76extrapolation1.cc
 mapspacedims1_SOURCES = mapspacedims1.cc
 max_min1_SOURCES = max_min1.cc
 maxspacedim1_SOURCES = maxspacedim1.cc
 membytes1_SOURCES = membytes1.cc
 minconstraints1_SOURCES = minconstraints1.cc
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
-pointsetpowerset2_SOURCES = pointsetpowerset2.cc
 relations1_SOURCES = relations1.cc
 relations2_SOURCES = relations2.cc
 relations3_SOURCES = relations3.cc
@@ -984,11 +1003,13 @@ refinewithconstraint2_SOURCES = refinewithconstraint2.cc
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
 refinewithcongruences1_SOURCES = refinewithcongruences1.cc
 removespacedims1_SOURCES = removespacedims1.cc
+simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 timeelapse1_SOURCES = timeelapse1.cc
 topclosed1_SOURCES = topclosed1.cc
 unconstrain1_SOURCES = unconstrain1.cc
 universe1_SOURCES = universe1.cc
 upperbound1_SOURCES = upperbound1.cc
+upperboundifexact1_SOURCES = upperboundifexact1.cc
 writebox1_SOURCES = writebox1.cc
 refinewithconstraints2_SRCS = refinewithconstraints2.cc
 @BUILD_WATCHDOG_LIBRARY_TRUE at WATCHDOG_TESTS = refinewithconstraints2
@@ -1014,6 +1035,9 @@ ascii_dump_load1.dat
 CLEANFILES = \
 run_tests.stamp
 
+DISTCLEANFILES = \
+dirty_marker
+
 all: all-am
 
 .SUFFIXES:
@@ -1174,6 +1198,9 @@ intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES)
 interval1$(EXEEXT): $(interval1_OBJECTS) $(interval1_DEPENDENCIES) 
 	@rm -f interval1$(EXEEXT)
 	$(CXXLINK) $(interval1_OBJECTS) $(interval1_LDADD) $(LIBS)
+limitedcc76extrapolation1$(EXEEXT): $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_DEPENDENCIES) 
+	@rm -f limitedcc76extrapolation1$(EXEEXT)
+	$(CXXLINK) $(limitedcc76extrapolation1_OBJECTS) $(limitedcc76extrapolation1_LDADD) $(LIBS)
 mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
 	$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
@@ -1192,12 +1219,6 @@ minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENC
 nnc_frompolyhedron1$(EXEEXT): $(nnc_frompolyhedron1_OBJECTS) $(nnc_frompolyhedron1_DEPENDENCIES) 
 	@rm -f nnc_frompolyhedron1$(EXEEXT)
 	$(nnc_frompolyhedron1_LINK) $(nnc_frompolyhedron1_OBJECTS) $(nnc_frompolyhedron1_LDADD) $(LIBS)
-pointsetpowerset1$(EXEEXT): $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_DEPENDENCIES) 
-	@rm -f pointsetpowerset1$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_LDADD) $(LIBS)
-pointsetpowerset2$(EXEEXT): $(pointsetpowerset2_OBJECTS) $(pointsetpowerset2_DEPENDENCIES) 
-	@rm -f pointsetpowerset2$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset2_OBJECTS) $(pointsetpowerset2_LDADD) $(LIBS)
 propagateconstraints1$(EXEEXT): $(propagateconstraints1_OBJECTS) $(propagateconstraints1_DEPENDENCIES) 
 	@rm -f propagateconstraints1$(EXEEXT)
 	$(CXXLINK) $(propagateconstraints1_OBJECTS) $(propagateconstraints1_LDADD) $(LIBS)
@@ -1234,6 +1255,9 @@ relations4$(EXEEXT): $(relations4_OBJECTS) $(relations4_DEPENDENCIES)
 removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
 	$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+	@rm -f simplifyusingcontext1$(EXEEXT)
+	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
@@ -1249,6 +1273,9 @@ universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES)
 upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
+upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
+	@rm -f upperboundifexact1$(EXEEXT)
+	$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
 writebox1$(EXEEXT): $(writebox1_OBJECTS) $(writebox1_DEPENDENCIES) 
 	@rm -f writebox1$(EXEEXT)
 	$(CXXLINK) $(writebox1_OBJECTS) $(writebox1_LDADD) $(LIBS)
@@ -1299,14 +1326,13 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/geomcovers1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/intersection1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/interval1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/limitedcc76extrapolation1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mapspacedims1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/max_min1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/maxspacedim1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/membytes1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/minconstraints1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_frompolyhedron1-frompolyhedron1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/propagateconstraints1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/propagateconstraints2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithcongruences1.Po at am__quote@
@@ -1319,11 +1345,13 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relations3.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relations4.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/removespacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplifyusingcontext1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timeelapse1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/topclosed1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unconstrain1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperboundifexact1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writebox1.Po at am__quote@
 
 .cc.o:
@@ -1556,6 +1584,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1636,8 +1665,9 @@ uninstall-am:
 	tags uninstall uninstall-am
 
 
+.PHONY: run_tests.stamp
 run_tests.stamp: run_tests
-	+$(srcdir)/run_tests
+	+MAKE=$(MAKE) $(srcdir)/run_tests
 	echo "true" >run_tests.stamp
 	chmod +x run_tests.stamp
 
diff --git a/tests/Box/addconstraints1.cc b/tests/Box/addconstraints1.cc
index a3a6379..9f8afbd 100644
--- a/tests/Box/addconstraints1.cc
+++ b/tests/Box/addconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box::add_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/addspacedims1.cc b/tests/Box/addspacedims1.cc
index ac928c4..5f9741d 100644
--- a/tests/Box/addspacedims1.cc
+++ b/tests/Box/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Box::add_space_dimensions_and_embed():
    we add two variables to a Box.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/affinedimension1.cc b/tests/Box/affinedimension1.cc
index 25235d5..c49ada6 100644
--- a/tests/Box/affinedimension1.cc
+++ b/tests/Box/affinedimension1.cc
@@ -1,5 +1,5 @@
 /* Test Box::affine_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/affineimage1.cc b/tests/Box/affineimage1.cc
index f0bbd1a..7bac541 100644
--- a/tests/Box/affineimage1.cc
+++ b/tests/Box/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/affinepreimage1.cc b/tests/Box/affinepreimage1.cc
index 6e00e27..fe2e88c 100644
--- a/tests/Box/affinepreimage1.cc
+++ b/tests/Box/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/ascii_dump_load1.cc b/tests/Box/ascii_dump_load1.cc
index 3a127fa..301010a 100644
--- a/tests/Box/ascii_dump_load1.cc
+++ b/tests/Box/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test Box::ascii_dump() and Box::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -161,7 +161,7 @@ test04() {
 }
 
 bool
-test06() {
+test05() {
   Variable A(0);
   Variable B(1);
 
@@ -193,24 +193,26 @@ test06() {
 }
 
 bool
-test07() {
+test06() {
   Variable A(0);
   Variable B(1);
   Variable C(2);
 
   Constraint_System cs;
-  cs.insert(3*A + C == 5);
+  cs.insert(3*C == 5);
   TBox box1(cs);
 
   print_constraints(box1, "*** box1(cs) ***");
 
-  box1.difference_assign(box1);
+  TBox box1_copy(box1);
+
+  box1.difference_assign(box1_copy);
 
-  print_constraints(box1, "*** box1.difference_assign(box1) ***");
+  print_constraints(box1, "*** box1.difference_assign(box1_copy) ***");
 
-  box1.concatenate_assign(box1);
+  box1.concatenate_assign(box1_copy);
 
-  print_constraints(box1, "*** box1.concatenate_assign(box1) ***");
+  print_constraints(box1, "*** box1.concatenate_assign(box1_copy) ***");
 
   nout << "box1.space_dimension() = " << box1.space_dimension() << endl;
 
@@ -242,11 +244,10 @@ test07() {
 } // namespace
 
 BEGIN_MAIN
-//   DO_TEST(test01);
-//   DO_TEST(test02);
-//   DO_TEST(test03);
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
   DO_TEST(test04);
-//  DO_TEST(test05);
-//   DO_TEST(test06);
-//   DO_TEST(test07);
+  DO_TEST(test05);
+  DO_TEST(test06);
 END_MAIN
diff --git a/tests/Box/bgp99extrapolation1.cc b/tests/Box/bgp99extrapolation1.cc
index ee6a6c7..2fa4678 100644
--- a/tests/Box/bgp99extrapolation1.cc
+++ b/tests/Box/bgp99extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/bhz03widening1.cc b/tests/Box/bhz03widening1.cc
index efeec9a..852d4fb 100644
--- a/tests/Box/bhz03widening1.cc
+++ b/tests/Box/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/bounded1.cc b/tests/Box/bounded1.cc
index 2537f17..cd1a3cc 100644
--- a/tests/Box/bounded1.cc
+++ b/tests/Box/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_bounded().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/boundedaffineimage1.cc b/tests/Box/boundedaffineimage1.cc
index 841518f..3a73c52 100644
--- a/tests/Box/boundedaffineimage1.cc
+++ b/tests/Box/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::bounded_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/boundedaffinepreimage1.cc b/tests/Box/boundedaffinepreimage1.cc
index 20396ed..32ffc36 100644
--- a/tests/Box/boundedaffinepreimage1.cc
+++ b/tests/Box/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::bounded_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/cc76narrowing1.cc b/tests/Box/cc76narrowing1.cc
index efe416c..ea81304 100644
--- a/tests/Box/cc76narrowing1.cc
+++ b/tests/Box/cc76narrowing1.cc
@@ -1,5 +1,5 @@
 /* Test Box::CC76_narrowing_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/cc76widening.cc b/tests/Box/cc76widening.cc
index 01e63bf..bdc79bb 100644
--- a/tests/Box/cc76widening.cc
+++ b/tests/Box/cc76widening.cc
@@ -1,5 +1,5 @@
 /* Test Box::CC76_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/concatenate1.cc b/tests/Box/concatenate1.cc
index a252950..1a307a7 100644
--- a/tests/Box/concatenate1.cc
+++ b/tests/Box/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Box::concatenate_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/congruences1.cc b/tests/Box/congruences1.cc
index d2bbe4f..39158d0 100644
--- a/tests/Box/congruences1.cc
+++ b/tests/Box/congruences1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Congruence_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -374,6 +374,9 @@ BEGIN_MAIN
   DO_TEST(test11);
   DO_TEST(test12);
   DO_TEST(test13);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test14);
+#endif
   DO_TEST(test15);
 END_MAIN
diff --git a/tests/Box/constrains1.cc b/tests/Box/constrains1.cc
index d88e980..675842e 100644
--- a/tests/Box/constrains1.cc
+++ b/tests/Box/constrains1.cc
@@ -1,5 +1,5 @@
 /* Test Box::constrains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/constraints1.cc b/tests/Box/constraints1.cc
index 29666ab..a532ce0 100644
--- a/tests/Box/constraints1.cc
+++ b/tests/Box/constraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box::constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/contains1.cc b/tests/Box/contains1.cc
index 49058e8..4fffe3f 100644
--- a/tests/Box/contains1.cc
+++ b/tests/Box/contains1.cc
@@ -1,5 +1,5 @@
 /* Test Box::contains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/containsintegerpoint1.cc b/tests/Box/containsintegerpoint1.cc
index b42f68d..46c46b4 100644
--- a/tests/Box/containsintegerpoint1.cc
+++ b/tests/Box/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test Box::contains_integer_point().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/difference1.cc b/tests/Box/difference1.cc
index f267f29..8c08e9f 100644
--- a/tests/Box/difference1.cc
+++ b/tests/Box/difference1.cc
@@ -1,5 +1,5 @@
 /* Test Box::difference_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/discrete1.cc b/tests/Box/discrete1.cc
index b40ef0d..9f7e8be 100644
--- a/tests/Box/discrete1.cc
+++ b/tests/Box/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_discrete().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/disjoint1.cc b/tests/Box/disjoint1.cc
index 5b77668..7a7d976 100644
--- a/tests/Box/disjoint1.cc
+++ b/tests/Box/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_disjoint_from(const Box& y).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/empty1.cc b/tests/Box/empty1.cc
index ec5f4e0..b659b4a 100644
--- a/tests/Box/empty1.cc
+++ b/tests/Box/empty1.cc
@@ -1,5 +1,5 @@
 /* Different ways of creating an empty Box.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -34,25 +34,25 @@ test01() {
   TBox box2(4);
 
   box1.add_constraint(-x <= 4);
-  box1.add_constraint(y - x <= 0);
-  box1.add_constraint(x - y <= -5);
+  box1.add_constraint(y <= 0);
+  box1.add_constraint(z >= 0);
+  box1.add_constraint(y >= 5);
 
-  bool empty = box1.is_empty();
+  bool empty1 = box1.is_empty();
 
   nout << "*** box1.is_empty() ***" << endl;
-  nout << (empty ? "true" : "false ") << endl;
+  nout << (empty1 ? "true" : "false ") << endl;
 
   box2.add_constraint(-x <= 4);
-  box2.add_constraint(y - x <= 0);
-  box2.add_constraint(x - y <= 5);
-  box2.add_constraint(z - x <= 1);
+  box2.add_constraint(y <= 0);
+  box2.add_constraint(z >= 0);
 
-  bool empty1 = box2.is_empty();
+  bool empty2 = box2.is_empty();
 
   nout << "*** box2.is_empty() ***" << endl;
-  nout << (empty1 ? "true" : "false") << endl;
+  nout << (empty2 ? "true" : "false") << endl;
 
-  return !empty1 && empty;
+  return empty1 && !empty2;
 
 }
 
@@ -65,28 +65,28 @@ test02() {
   TBox box1(4);
   TBox box2(4);
 
-  box1.add_constraint(-x <= 2);
-  box1.add_constraint(y - x <= -9);
-  box1.add_constraint(x - y <= -7);
+  box1.add_constraint(-5*x <= 2);
+  box1.add_constraint(6*y <= -7);
+  box1.add_constraint(6*y >= -5);
 
-  bool empty = box1.is_empty();
+  bool empty1 = box1.is_empty();
 
   print_constraints(box1, "*** box1 ***");
   nout << "*** box1.is_empty() ***" << endl;
-  nout << (empty ? "true" : "false") << endl;
+  nout << (empty1 ? "true" : "false") << endl;
 
-  box2.add_constraint(-x <= 7);
-  box2.add_constraint(y - x <= 1);
-  box2.add_constraint(-y <= 2);
-  box2.add_constraint(z - x <= 1);
+  box2.add_constraint(-5*x <= 7);
+  box2.add_constraint(6*y <= 1);
+  box2.add_constraint(-6*y <= 2);
+  box2.add_constraint(z <= 1);
 
-  bool empty1 = box2.is_empty();
+  bool empty2 = box2.is_empty();
 
   print_constraints(box2, "*** box2 ***");
   nout << "*** box2.is_empty() ***" << endl;
-  nout << (empty1 ? "true" : "false") << endl;
+  nout << (empty2 ? "true" : "false") << endl;
 
-  return !empty1 && empty;
+  return empty1 && !empty2;
 }
 
 bool
@@ -103,41 +103,41 @@ test03() {
 
   box1.add_constraint(x1 <= 3);
   box1.add_constraint(x4 <= 3);
-  box1.add_constraint(x2 - x1 <= 0);
-  box1.add_constraint(x3 - x1 <= -2);
-  box1.add_constraint(x5 - x1 <= 2);
+  box1.add_constraint(x2 <= 0);
+  box1.add_constraint(x3 <= -2);
+  box1.add_constraint(x5 <= 2);
   box1.add_constraint(-x2 <= 0);
-  box1.add_constraint(x3 - x2 <= 5);
-  box1.add_constraint(x4 - x3 <= -6);
-  box1.add_constraint(x1 - x4 <= 5);
-  box1.add_constraint(x5 - x4 <= 2);
+  box1.add_constraint(x3 <= 5);
+  box1.add_constraint(x4 <= -6);
+  box1.add_constraint(x1 <= 5);
+  box1.add_constraint(3*x5 <= 2);
   box1.add_constraint(-x5 <= -5);
-  box1.add_constraint(x3 - x5 <= 7);
+  box1.add_constraint(-x5 <= 7);
 
-  bool empty = box1.is_empty();
+  bool empty1 = box1.is_empty();
 
   nout << "*** box1.is_empty() ***" << endl;
-  nout << (empty ? "true" : "false") << endl;
+  nout << (empty1 ? "true" : "false") << endl;
 
   box2.add_constraint(x1 <= 3);
   box2.add_constraint(x4 <= 3);
-  box2.add_constraint(x2 - x1 <= 0);
-  box2.add_constraint(x3 - x1 <= 2);
-  box2.add_constraint(x5 - x1 <= 2);
+  box2.add_constraint(x2 <= 0);
+  box2.add_constraint(x3 <= 2);
+  box2.add_constraint(x5 <= 2);
   box2.add_constraint(-x2 <= 0);
-  box2.add_constraint(x3 - x2 <= 5);
-  box2.add_constraint(x4 - x3 <= 6);
-  box2.add_constraint(x1 - x4 <= 5);
-  box2.add_constraint(x5 - x4 <= 2);
+  box2.add_constraint(x3 <= 5);
+  box2.add_constraint(x4 <= 6);
+  box2.add_constraint(x1 <= 5);
+  box2.add_constraint(x5 <= 2);
   box2.add_constraint(-x5 <= 5);
-  box2.add_constraint(x3 - x5 <= 7);
+  box2.add_constraint(x3 <= 7);
 
-  bool empty1 = box2.is_empty();
+  bool empty2 = box2.is_empty();
 
   nout << "*** box2.is_empty() ***" << endl;
-  nout << (empty1 ? "true" : "false") << endl;
+  nout << (empty2 ? "true" : "false") << endl;
 
-  return !empty1 && empty;
+  return empty1 && !empty2;
 }
 
 bool
@@ -150,7 +150,7 @@ test04() {
 
   box.add_constraint(A == 0);
   box.add_constraint(C >= 0);
-  box.add_constraint(B - C >= 1);
+  box.add_constraint(B >= 1);
 
   bool empty = box.is_empty();
 
@@ -178,11 +178,11 @@ test05() {
   else
     a = 1300000000;
 
-  box.add_constraint(x1 - x2 <= -a);
-  box.add_constraint(x2 - x3 <= -a);
-  box.add_constraint(x3 - x4 <= a);
-  box.add_constraint(x4 - x5 <= a);
-  box.add_constraint(x5 - x1 <= a);
+  box.add_constraint(2*x1 >= -a);
+  box.add_constraint(3*x2 >= -a);
+  box.add_constraint(5*x3 <= a);
+  box.add_constraint(7*x4 <= a);
+  box.add_constraint(11*x5 <= a);
 
   print_constraints(box, "*** box ***");
 
@@ -215,11 +215,11 @@ test06() {
 } // namespace
 
 BEGIN_MAIN
-  //DO_TEST(test01);
-  //DO_TEST(test02);
-  //DO_TEST(test03);
-  //DO_TEST(test04);
-  //DO_TEST(test05);
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
   DO_TEST(test06);
 END_MAIN
 
diff --git a/tests/Box/equality1.cc b/tests/Box/equality1.cc
index 6e1c4c5..ffd34f7 100644
--- a/tests/Box/equality1.cc
+++ b/tests/Box/equality1.cc
@@ -1,5 +1,5 @@
 /* Test Box::operator==().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/expandspacedim1.cc b/tests/Box/expandspacedim1.cc
index b0b6423..cc37398 100644
--- a/tests/Box/expandspacedim1.cc
+++ b/tests/Box/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Box::expand_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/foldspacedims1.cc b/tests/Box/foldspacedims1.cc
index 239d817..7027c69 100644
--- a/tests/Box/foldspacedims1.cc
+++ b/tests/Box/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Box::fold_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/frombdshape1.cc b/tests/Box/frombdshape1.cc
index 4208cb9..669fd41 100644
--- a/tests/Box/frombdshape1.cc
+++ b/tests/Box/frombdshape1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const BD_Shape&, Complexity_Class).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/frombox1.cc b/tests/Box/frombox1.cc
index d89055a..217b86e 100644
--- a/tests/Box/frombox1.cc
+++ b/tests/Box/frombox1.cc
@@ -1,5 +1,5 @@
 /* Test Box<Interval>::Box(const Box<Other_Interval>&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -78,8 +78,9 @@ test04() {
 
 bool
 test05() {
+  const int DIM = 10;
   typedef Checked_Number<mpq_class> Q;
-  Rational_Box src(10, UNIVERSE);
+  Rational_Box src(DIM, UNIVERSE);
   Q k;
   Q a;
   k = 2;
@@ -96,7 +97,7 @@ test05() {
   Q s;
   Q m;
   Q d;
-  for (int n = 1; n <= 10; ++n) {
+  for (int n = 0; n < DIM; ++n) {
     s = y;
     s *= s;
     s *= s;
@@ -129,18 +130,18 @@ test05() {
     // Now s ~= y*(1 + y + y^2).
     k = 1ULL << (2*n+3);
     s *= k;
-    a *= s;
+    a -= s;
     m = 1;
     m /= a;
     Coefficient num;
     Coefficient den;
     numer_denom(m, num, den);
-    src.add_constraint(den*Variable(n-1) == num);
+    src.add_constraint(den*Variable(n) == num);
   }
 
   TBox dst(src);
 
-  bool ok = check_result(dst, src, "1.91e-6", "1.35e-6", "9.66e-7");
+  bool ok = check_result(dst, src, "2.39e-6", "5.51e-7", "1.51e-7");
 
   print_constraints(src, "*** src ***");
   print_constraints(dst, "*** dst ***");
diff --git a/tests/Box/fromgensys1.cc b/tests/Box/fromgensys1.cc
index 40a1530..b72c07e 100644
--- a/tests/Box/fromgensys1.cc
+++ b/tests/Box/fromgensys1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Generator_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/fromgrid1.cc b/tests/Box/fromgrid1.cc
index 6b2ba73..e0561e7 100644
--- a/tests/Box/fromgrid1.cc
+++ b/tests/Box/fromgrid1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Grid&, Complexity_Class).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -465,6 +465,30 @@ test15() {
   return ok;
 }
 
+// Simple grid, with a divisor and 2 points.
+bool
+test16() {
+  Variable A(0);
+
+  Grid gr(1, EMPTY);
+  gr.add_grid_generator(grid_point(A));
+  gr.add_grid_generator(grid_point(A, 2));
+  print_generators(gr, "*** gr before ***");
+
+  Rational_Box box(gr);
+
+  Rational_Box known_box(1, UNIVERSE);
+
+  bool ok = (box == known_box);
+
+  print_constraints(box, "*** box ***");
+  print_generators(gr, "*** gr after ***");
+  print_congruences(gr, "*** gr after ***");
+  print_constraints(known_box, "*** known_box ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -483,4 +507,5 @@ BEGIN_MAIN
   DO_TEST(test13);
   DO_TEST(test14);
   DO_TEST(test15);
+  DO_TEST(test16);
 END_MAIN
diff --git a/tests/Box/frompartiallyreducedproduct1.cc b/tests/Box/frompartiallyreducedproduct1.cc
index d5a64dd..88de140 100644
--- a/tests/Box/frompartiallyreducedproduct1.cc
+++ b/tests/Box/frompartiallyreducedproduct1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Direct_Product<D1, D2>&, Complexity_Class).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/frompolyhedron1.cc b/tests/Box/frompolyhedron1.cc
index 34b21f2..72134be 100644
--- a/tests/Box/frompolyhedron1.cc
+++ b/tests/Box/frompolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const Polyhedron&, Complexity_Class).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/frompolyhedron2.cc b/tests/Box/frompolyhedron2.cc
index 1aef6bd..887b386 100644
--- a/tests/Box/frompolyhedron2.cc
+++ b/tests/Box/frompolyhedron2.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(const NNC_Polyhedron&, Complexity_Class).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/fromspacedim1.cc b/tests/Box/fromspacedim1.cc
index c9ccf32..8a33568 100644
--- a/tests/Box/fromspacedim1.cc
+++ b/tests/Box/fromspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Box::Box(dimension_type, Degenerate_Element).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/generalizedaffineimage1.cc b/tests/Box/generalizedaffineimage1.cc
index b8cb3c3..226b9a9 100644
--- a/tests/Box/generalizedaffineimage1.cc
+++ b/tests/Box/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Box::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/generalizedaffineimage2.cc b/tests/Box/generalizedaffineimage2.cc
index d5b954c..1b9adbc 100644
--- a/tests/Box/generalizedaffineimage2.cc
+++ b/tests/Box/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Box::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/generalizedaffinepreimage1.cc b/tests/Box/generalizedaffinepreimage1.cc
index c4d864c..b3cc004 100644
--- a/tests/Box/generalizedaffinepreimage1.cc
+++ b/tests/Box/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /*Test Box::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/geomcovers1.cc b/tests/Box/geomcovers1.cc
index 3fcf29a..48c2ce7 100644
--- a/tests/Box/geomcovers1.cc
+++ b/tests/Box/geomcovers1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Box>::geometrically_covers().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/intersection1.cc b/tests/Box/intersection1.cc
index 6eb405a..cf2e55e 100644
--- a/tests/Box/intersection1.cc
+++ b/tests/Box/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test Box::intersection_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/interval1.cc b/tests/Box/interval1.cc
index eb11f4f..a4342bc 100644
--- a/tests/Box/interval1.cc
+++ b/tests/Box/interval1.cc
@@ -1,6 +1,6 @@
 /* Test Box::add_space_dimensions_and_embed():
    we add two variables to a Box.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/limitedcc76extrapolation1.cc b/tests/Box/limitedcc76extrapolation1.cc
new file mode 100644
index 0000000..8c2bd9a
--- /dev/null
+++ b/tests/Box/limitedcc76extrapolation1.cc
@@ -0,0 +1,316 @@
+/* Test Box::limited_CC76_extrapolation_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  TBox box1(0);
+  TBox box2(0);
+  Constraint_System cs;
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+
+  Rational_Box known_result(box1);
+
+  box1.limited_CC76_extrapolation_assign(box2, cs);
+
+  bool ok = check_result(box1, known_result);
+
+  print_constraints(box1,
+                    "*** box1.limited_CC76_extrapolation_assign(box2) ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  TBox box1(2);
+  box1.add_constraint(A == -2);
+
+  TBox box2(2);
+  box2.add_constraint(A == -2);
+  box2.add_constraint(B == 3);
+
+  Constraint_System cs;
+  cs.insert(A <= 0);
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+  print_constraints(cs, "*** cs ***");
+
+  Rational_Box known_result(box1);
+
+  box1.limited_CC76_extrapolation_assign(box2, cs);
+
+  bool ok = check_result(box1, known_result);
+
+  print_constraints(box1,
+                    "*** box1.limited_CC76_extrapolation_assign(box2, cs) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs1;
+  cs1.insert(x <= 1);
+  cs1.insert(y >= 4);
+  TBox box1(cs1);
+
+  Constraint_System cs2;
+  cs2.insert(x == 0);
+  cs2.insert(y >= 5);
+  TBox box2(cs2);
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+
+  Constraint_System cs;
+  cs.insert(x >= 20);
+  cs.insert(y >= 3);
+
+  print_constraints(cs, "*** cs ***");
+
+  box1.limited_CC76_extrapolation_assign(box2, cs);
+
+  Rational_Box known_result(2);
+  known_result.add_constraint(x <= 1);
+  known_result.add_constraint(y >= 3);
+
+  bool ok = check_result(box1, known_result);
+
+  print_constraints(box1,
+                    "*** box1.limited_CC76_extrapolation_assign(box2) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TBox box1(3);
+  box1.add_constraint(A <= 4);
+  box1.add_constraint(B >= 1);
+
+  TBox box2(3);
+  box2.add_constraint(A <= -2);
+  box2.add_constraint(B >= 4);
+
+  Constraint_System cs;
+  cs.insert(A <= 5);
+  cs.insert(A - B + C <= 6);
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+  print_constraints(cs, "*** cs ***");
+
+  box1.limited_CC76_extrapolation_assign(box2, cs);
+
+  Rational_Box known_result(3);
+  known_result.add_constraint(A <= 5);
+  known_result.add_constraint(B >= 1);
+
+  bool ok = check_result(box1, known_result);
+
+  print_constraints(box1,
+                    "*** box1.limited_CC76_extrapolation_assign(box2, cs) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs1;
+  cs1.insert(x <= 1);
+  cs1.insert(y >= 4);
+
+  TBox box1(cs1);
+  TBox box2(2, EMPTY);
+
+  Constraint_System cs;
+  cs.insert(x <= 0);
+  cs.insert(y >= 3);
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+  print_constraints(cs, "*** cs ***");
+
+  Rational_Box known_result(box1);
+
+  box1.limited_CC76_extrapolation_assign(box2, cs);
+
+  bool ok = check_result(box1, known_result);
+
+  print_constraints(box1,
+                    "*** box1.limited_CC76_extrapolation_assign(box2) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, EMPTY);
+  TBox box2(2, EMPTY);
+
+  Constraint_System cs;
+  cs.insert(x <= 0);
+  cs.insert(y >= 3);
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+  print_constraints(cs, "*** cs ***");
+
+  Rational_Box known_result(box1);
+
+  box1.limited_CC76_extrapolation_assign(box2, cs);
+
+  bool ok = check_result(box1, known_result);
+
+  print_constraints(box1,
+                    "*** box1.limited_CC76_extrapolation_assign(box2) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable y(1);
+
+  TBox box1(1);
+  TBox box2(2);
+
+  Constraint_System cs;
+  cs.insert(y <= 9);
+
+  try {
+    // This is an invalid use of the method
+    // Box::limited_CC76_extrapolation_assign(box2, cs): it is
+    // illegal to apply the method to two polyhedra that are not
+    // dimension-compatible.
+    box2.limited_CC76_extrapolation_assign(box1, cs);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "std::invalid_argument: " << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  TBox box1(2);
+  box1.add_constraint(x >= 0);
+  box1.add_constraint(x <= 2);
+
+  TBox box2(2);
+  box2.add_constraint(x >= 0);
+  box2.add_constraint(x <= 5);
+
+  Constraint_System cs;
+  cs.insert(z <= 5);
+
+  try {
+    // This is an invalid use of the method
+    // Box::limited_CC76_extrapolation_assign(box, cs): it is
+    // illegal to apply the method to a system of constraints that
+    // is not dimension-compatible with the two polyhedra.
+    box2.limited_CC76_extrapolation_assign(box1, cs);
+  }
+  catch (std::invalid_argument& e) {
+    nout << "std::invalid_argument: " << endl;
+    return true;
+  }
+  catch (...) {
+  }
+  return false;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2);
+  box1.add_constraint(x >= 0);
+  box1.add_constraint(x <= 2);
+
+  TBox box2(2);
+  box2.add_constraint(x >= 0);
+  box2.add_constraint(x < 5);
+
+  Constraint_System cs;
+  cs.insert(x < 5);
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+  print_constraints(cs, "*** cs ***");
+
+  Rational_Box known_result(box2);
+
+  box2.limited_CC76_extrapolation_assign(box1, cs);
+
+  bool ok = check_result(box2, known_result);
+
+  print_constraints(box2,
+                    "*** box2.limited_CC76_extrapolation_assign(box1) ***");
+
+  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/Box/mapspacedims1.cc b/tests/Box/mapspacedims1.cc
index 657f677..30a47db 100644
--- a/tests/Box/mapspacedims1.cc
+++ b/tests/Box/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Box::map_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/max_min1.cc b/tests/Box/max_min1.cc
index 9cbd143..72d6100 100644
--- a/tests/Box/max_min1.cc
+++ b/tests/Box/max_min1.cc
@@ -1,6 +1,6 @@
 /* Test Box::maximize(const Linear_Expression&, ...)
    and Box::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -749,7 +749,10 @@ BEGIN_MAIN
   DO_TEST(test09);
   DO_TEST(test10);
   DO_TEST(test11);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test12);
+#endif
   DO_TEST(test13);
   DO_TEST(test14);
   DO_TEST(test15);
diff --git a/tests/Box/maxspacedim1.cc b/tests/Box/maxspacedim1.cc
index 4812824..15696cc 100644
--- a/tests/Box/maxspacedim1.cc
+++ b/tests/Box/maxspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Box::max_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/membytes1.cc b/tests/Box/membytes1.cc
index 9aa6b4f..9a8e7a3 100644
--- a/tests/Box/membytes1.cc
+++ b/tests/Box/membytes1.cc
@@ -1,5 +1,5 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/minconstraints1.cc b/tests/Box/minconstraints1.cc
index de3e5bb..13e5946 100644
--- a/tests/Box/minconstraints1.cc
+++ b/tests/Box/minconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box<T>::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/pointsetpowerset1.cc b/tests/Box/pointsetpowerset1.cc
deleted file mode 100644
index 937886f..0000000
--- a/tests/Box/pointsetpowerset1.cc
+++ /dev/null
@@ -1,543 +0,0 @@
-/* Test Pointset_Powerset<PH> with boxes.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-// Construct powerset from zero dimension empty constraint system.
-bool
-test01() {
-  Constraint_System cs = Constraint_System::zero_dim_empty();
-  Pointset_Powerset<TBox> ps(cs);
-
-  print_constraints(ps, "*** ps ***");
-
-  return ps.OK();
-}
-
-// add_disjunct(), affine_image() and intersection_assign().
-bool
-test02() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<TBox> ps1(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  ps1.add_disjunct(TBox(cs));
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x < 1);
-  ps1.add_disjunct(TBox(cs));
-
-  Pointset_Powerset<TBox> ps2(ps1);
-  ps2.affine_image(x, 2*x+1, 2);
-
-  print_constraints(ps1, "*** ps1 ***");
-  print_constraints(ps2, "*** ps2 ***");
-
-  ps1.intersection_assign(ps2);
-
-  Pointset_Powerset<TBox> known_result(1, EMPTY);
-  TBox box(1);
-  box.add_constraint(2*x >= 1);
-  box.add_constraint(2*x <= 2);
-  known_result.add_disjunct(box);
-
-  bool ok = (ps1 == known_result);
-
-  print_constraints(ps1, "*** ps1.intersect_assign(ps2) ***");
-  print_constraints(known_result, "*** known_result ***");
-
-  return ok;
-}
-
-bool
-test03() {
-  Variable x(0);
-
-  Pointset_Powerset<TBox> ps(1, EMPTY);
-  Constraint_System cs;
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x < 2);
-  ps.add_disjunct(TBox(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  ps.add_disjunct(TBox(cs));
-
-  print_constraints(ps, "*** ps ***");
-
-  ps.add_constraint(x == 1);
-
-  Pointset_Powerset<TBox> known_result(1, EMPTY);
-  TBox box(1);
-  box.add_constraint(x == 1);
-  known_result.add_disjunct(box);
-
-  bool ok = (ps == known_result);
-
-  print_constraints(ps, "*** ps.add_constraint(x == 1) ***");
-  print_constraints(known_result, "*** known_result ***");
-
-  return ok;
-}
-
-// add_disjunct() and concatenate_assign().
-bool
-test04() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  pps_box.add_disjunct(TBox(cs));
-
-  pps_box.concatenate_assign(pps_box);
-
-  return pps_box.OK();
-}
-
-// total_memory_in_bytes() and external_memory_in_bytes().
-bool
-test05() {
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-
-  bool ok = pps_box.is_bottom();
-
-  pps_box.add_disjunct(TBox(1, UNIVERSE));
-
-  bool ok1 = pps_box.is_top();
-
-  pps_box.total_memory_in_bytes();
-  pps_box.external_memory_in_bytes();
-
-  return ok && ok1;
-}
-
-// definitely_entails().
-bool
-test06() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  pps_box.add_disjunct(TBox(cs));
-
-  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
-  Constraint_System cs1;
-  cs1.insert(x >= 0);
-  cs1.insert(x <= 2);
-  pps_box1.add_disjunct(TBox(cs1));
-
-  bool ok = pps_box1.definitely_entails(pps_box);
-
-  return ok;
-}
-
-// size().
-bool
-test07() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  pps_box.add_disjunct(TBox(cs));
-
-  bool ok = (pps_box.size() == 2);
-
-  return ok;
-}
-
-// omega_reduce().
-bool
-test08() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  pps_box.add_disjunct(TBox(cs));
-  pps_box.omega_reduce();
-
-  bool ok = (pps_box.size() == 1);
-
-  return ok;
-}
-
-// space_dimension().
-bool
-test09() {
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  bool ok = (pps_box.space_dimension() == 1);
-  return ok;
-}
-
-// add_disjunct(), drop_disjuncts(), empty().
-bool
-test10() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  Constraint_System cs1 = cs;
-  pps_box.add_disjunct(TBox(cs));
-  pps_box.drop_disjunct(pps_box.begin());
-
-  bool ok = pps_box.empty();
-
-  Constraint_System cs2 = cs1;
-  pps_box.add_disjunct(TBox(cs1));
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  pps_box.add_disjunct(TBox(cs));
-  pps_box.drop_disjuncts(pps_box.begin(), pps_box.end());
-
-  bool ok1 = pps_box.empty();
-
-  return ok && ok1;
-}
-
-// !empty().
-bool
-test11() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  Pointset_Powerset<TBox> pps_box1;
-  pps_box1 = pps_box;
-
-  bool ok = !pps_box.empty();
-  return ok;
-}
-
-// swap().
-bool
-test12() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
-  pps_box.swap(pps_box1);
-
-  bool ok = (pps_box.empty() && !pps_box1.empty());
-  return ok;
-}
-
-// least_upper_bound_assign().
-bool
-test13() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-
-  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
-  pps_box1.add_disjunct(TBox(cs));
-  pps_box.least_upper_bound_assign(pps_box1);
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-
-  Pointset_Powerset<TBox> pps_box2(1, EMPTY);
-  pps_box2.add_disjunct(TBox(cs));
-
-  bool ok = pps_box.definitely_entails(pps_box2);
-  bool ok1 = !pps_box2.definitely_entails(pps_box);
-
-  return ok && ok1;
-}
-
-// upper_bound_assign().
-bool
-test14() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-
-  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
-  pps_box1.add_disjunct(TBox(cs));
-  pps_box.upper_bound_assign(pps_box1);
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-
-  Pointset_Powerset<TBox> pps_box2(1, EMPTY);
-  pps_box2.add_disjunct(TBox(cs));
-
-  bool ok = pps_box.definitely_entails(pps_box2);
-  bool ok1 = !pps_box2.definitely_entails(pps_box);
-
-  return ok && ok1;
-}
-
-// meet_assign().
-bool
-test15() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-
-  pps_box.meet_assign(pps_box1);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 2);
-  Pointset_Powerset<TBox> pps_box_expected(1, EMPTY);
-  pps_box_expected.add_disjunct(TBox(cs));
-
-  bool ok = pps_box.definitely_entails(pps_box_expected);
-  bool ok1 = !pps_box_expected.definitely_entails(pps_box);
-
-  return ok && ok1;
-}
-
-// collapse().
-bool
-test16() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  pps_box.add_disjunct(TBox(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  pps_box.add_disjunct(TBox(cs));
-
-  pps_box.collapse();
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  Pointset_Powerset<TBox> pps_box_expected(1, EMPTY);
-  pps_box_expected.add_disjunct(TBox(cs));
-
-  bool ok = pps_box.definitely_entails(pps_box_expected);
-  bool ok1 = pps_box_expected.definitely_entails(pps_box);
-  bool ok2 = (pps_box.size() == 1);
-
-  return ok && ok1 && ok2;
-}
-// upper_bound_assign().
-bool
-test17() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<TBox> pps_box(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  TBox box(2);
-  box.add_constraints(cs);
-  pps_box.add_disjunct(box);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  TBox box1(2);
-  box1.add_constraints(cs1);
-  pps_box.add_disjunct(box1);
-
-  Pointset_Powerset<TBox>::const_iterator i = pps_box.begin();
-  TBox pps_boxi = i->element();
-  i++;
-  TBox pps_boxi1 = i->element();
-
-  bool ok = pps_boxi.OK() && pps_boxi == box;
-
-  print_constraints(box, "*** box ***");
-  print_constraints(pps_boxi, "*** pps_boxi ***");
-
-  bool ok1 = pps_boxi1.OK() && pps_boxi1 == box1;
-
-  print_constraints(box1, "*** box1 ***");
-  print_constraints(pps_boxi1, "*** pps_boxi1 ***");
-
-  pps_boxi.upper_bound_assign(pps_boxi1);
-  print_constraints(pps_boxi, "*** pps_boxi ***");
-
-  return ok && ok1;
-}
-
-// geometrically_equals().
-bool
-test18() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1);
-  Constraint_System cs;
-  cs.insert(x >= 5);
-  cs.insert(x <= 3);
-  pps_box.add_constraints(cs);
-
-  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
-
-  // pps_box.ascii_dump();
-  // pps_box1.ascii_dump();
-
-  bool ok = pps_box.geometrically_equals(pps_box1);
-  bool ok1 = pps_box.geometrically_equals(pps_box1);
-
-  return ok && ok1;
-}
-
-// geometrically_equals().
-bool
-test19() {
-  Variable x(0);
-  Pointset_Powerset<TBox> pps_box(1);
-  Constraint_System cs;
-  cs.insert(x >= 5);
-  cs.insert(x >= 8);
-  pps_box.add_constraints(cs);
-
-  Pointset_Powerset<TBox> pps_box1(1);
-  cs.clear();
-  cs.insert(x >= 8);
-  pps_box1.add_constraints(cs);
-
-  // pps_box.ascii_dump();
-  // pps_box1.ascii_dump();
-
-  bool ok = pps_box.geometrically_equals(pps_box1);
-  bool ok1 = pps_box.geometrically_equals(pps_box1);
-
-  return ok && ok1;
-}
-
-// set_interval(), get_interval() and affine_image().
-bool
-test20() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-
-  Pointset_Powerset<TBox> ps(3, EMPTY);
-  for (int i = -10; i <= 9; ++i) {
-    TBox pps_box(3, UNIVERSE);
-    pps_box.add_constraint(i <= x);
-    pps_box.add_constraint(x <= i+1);
-    const TBox::interval_type& ix = pps_box.get_interval(x);
-    TBox::interval_type iy = ix*ix;
-    pps_box.set_interval(y, iy);
-    ps.add_disjunct(pps_box);
-  }
-
-  print_constraints(ps, "*** ps ***");
-
-  ps.affine_image(z, y+2*x+1, 2);
-
-  print_constraints(ps, "*** ps ***");
-
-  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);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
-END_MAIN
diff --git a/tests/Box/pointsetpowerset2.cc b/tests/Box/pointsetpowerset2.cc
deleted file mode 100644
index 2a8213d..0000000
--- a/tests/Box/pointsetpowerset2.cc
+++ /dev/null
@@ -1,481 +0,0 @@
-/* Test Pointset_Powerset<Box<> >.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-// Constructs the powerset of boxes from a box.
-bool
-test01() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  TBox box(4);
-  box.add_constraint(x >= 2);
-  box.add_constraint(z == 1);
-
-  Pointset_Powerset<TBox> pps1(box);
-  Pointset_Powerset<TBox> pps2(4, EMPTY);
-  pps2.add_disjunct(box);
-
-  bool ok = (pps1 == pps2);
-
-  print_constraints(box, "*** box ***");
-  Pointset_Powerset<TBox>::const_iterator i = pps1.begin();
-  TBox boxi = i->element();
-  print_constraints(boxi, "*** boxi ***");
-  Pointset_Powerset<TBox>::const_iterator i2 = pps2.begin();
-  TBox boxi2 = i2->element();
-  print_constraints(boxi2, "*** boxi2 ***");
-
-  return ok && pps1.OK();
-}
-
-// Constructs the powerset of boxes from an empty box.
-bool
-test02() {
-  Variable x(0);
-  Variable y(1);
-
-  Rational_Box box(2, EMPTY);
-
-  Pointset_Powerset<TBox> pps(box);
-
-  Pointset_Powerset<TBox> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from a polyhedron.
-bool
-test03() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph(4);
-  ph.add_constraint(x >= 2);
-  ph.add_constraint(z >= 1);
-  ph.add_constraint(x + z <= 3);
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(x >= 2);
-  ph1.add_constraint(z >= 1);
-  ph1.add_constraint(x + z <= 3);
-
-  // With the default complexity, the implied equalities x = 2 and z = 1.
-  // are found
-  Pointset_Powerset<TBox> pps(ph);
-  // With the polynomial complexity, implied equalities are not found.
-  Pointset_Powerset<TBox> pps1(ph1, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBox> known_pps(4);
-  known_pps.add_constraint(x == 2);
-  known_pps.add_constraint(z == 1);
-  Pointset_Powerset<TBox> known_pps1(4);
-  known_pps1.add_constraint(x >= 2);
-  known_pps1.add_constraint(z >= 1);
-
-  bool ok = (pps == known_pps && pps1 == known_pps1);
-
-  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox boxi = i->element();
-  print_constraints(boxi, "*** boxi ***");
-  Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
-  TBox boxi1 = i1->element();
-  print_constraints(boxi1, "*** boxi1 ***");
-
-  return ok && pps.OK() && pps1.OK();
-}
-
-// Constructs the powerset of boxes from a polyhedron whose constraints
-// are inconsistent (i.e., is empty but not marked as empty).
-bool
-test04() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph(4);
-  ph.add_constraint(x >= 2);
-  ph.add_constraint(z >= 1);
-  ph.add_constraint(x + z <= 2);
-
-  // NOTE: taking a copy of ph so that ph1 is not affected by
-  // the construction of pps (which minimizes ph and detects emptiness).
-  C_Polyhedron ph1(ph);
-
-  // With the default complexity, the built powerset is empty.
-  Pointset_Powerset<TBox> pps(ph);
-  // With the polynomial complexity, the built powerset is non-empty.
-  Pointset_Powerset<TBox> pps1(ph1, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBox> known_pps(4, EMPTY);
-  Pointset_Powerset<TBox> known_pps1(4);
-  known_pps1.add_constraint(x >= 2);
-  known_pps1.add_constraint(z >= 1);
-
-  bool ok = (pps == known_pps && pps1 == known_pps1);
-
-  if (ok) {
-    // Here it is safe to dereference pps1.begin().
-    Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
-    TBox boxi1 = i1->element();
-    print_constraints(boxi1, "*** boxi1 ***");
-  }
-
-  return ok && pps.OK() && pps1.OK();
-}
-
-// Constructs the powerset of boxes from an empty polyhedron.
-bool
-test05() {
-  Variable x(0);
-  Variable y(1);
-
-  NNC_Polyhedron ph(2, EMPTY);
-
-  Pointset_Powerset<TBox> pps(ph);
-
-  Pointset_Powerset<TBox> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from a bd shape.
-bool
-test06() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2);
-  bds.add_constraint(x == 0);
-  bds.add_constraint(x - y <= 1);
-  bds.add_constraint(y >= 0);
-
-  Pointset_Powerset<TBox> pps(bds);
-
-  Pointset_Powerset<TBox> known_pps(2);
-  known_pps.add_constraint(x == 0);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from an empty bd shape.
-bool
-test07() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2, EMPTY);
-
-  Pointset_Powerset<TBox> pps(bds);
-
-  Pointset_Powerset<TBox> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from an octagonal shape.
-bool
-test08() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2);
-  os.add_constraint(x >= 0);
-  os.add_constraint(x + y <= 4);
-  os.add_constraint(x - y == 3);
-  os.add_constraint(y >= 0);
-
-  // Complexity should be ignored.
-  Pointset_Powerset<TBox> pps(os, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBox> known_pps(2);
-  known_pps.add_constraint(x >= 3);
-  known_pps.add_constraint(2*x <= 7);
-  known_pps.add_constraint(y >= 0);
-  known_pps.add_constraint(2*y <= 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from an empty octagonal shape.
-bool
-test09() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2, EMPTY);
-
-  Pointset_Powerset<TBox> pps(os);
-
-  Pointset_Powerset<TBox> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from a grid.
-bool
-test10() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2);
-  gr.add_congruence((2*x %= 1) / 0);
-  gr.add_congruence(y %= 0);
-
-  Pointset_Powerset<TBox> pps(gr);
-
-  Pointset_Powerset<TBox> known_pps(2);
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from an empty grid.
-bool
-test11() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2, EMPTY);
-
-  Pointset_Powerset<TBox> pps(gr);
-
-  Pointset_Powerset<TBox> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from a powerset of boxes.
-bool
-test12() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x <= 1);
-  cs.insert(y <= 0);
-  TBox box(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBox> pps(pps_box, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBox> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y <= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBox>::const_iterator j = pps.begin();
-  TBox boxj = j->element();
-  print_constraints(boxj, "*** pps disjunct ***");
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from a powerset of polyhedra.
-bool
-test13() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(2*x >= 1);
-  cs.insert(2*x + y <= 1);
-  cs.insert(y >= 0);
-  C_Polyhedron ph1(cs);
-  C_Polyhedron ph2(cs);
-
-  Pointset_Powerset<C_Polyhedron> pps1_c(ph1, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<C_Polyhedron> pps2_c(ph2);
-
-  Pointset_Powerset<TBox> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<TBox> pps2(pps2_c);
-
-  Pointset_Powerset<TBox> known_pps1(2);
-  known_pps1.add_constraint(2*x >= 1);
-  known_pps1.add_constraint(y >= 0);
-  Pointset_Powerset<TBox> known_pps2(2);
-  known_pps2.add_constraint(2*x == 1);
-  known_pps2.add_constraint(y == 0);
-
-  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
-
-  Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
-  TBox boxi1 = i1->element();
-  print_constraints(boxi1, "*** boxi1 ***");
-
-  Pointset_Powerset<TBox>::const_iterator i2 = pps2.begin();
-  TBox boxi2 = i2->element();
-  print_constraints(boxi2, "*** boxi2 ***");
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from a powerset of bd shapes.
-bool
-test14() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x - y <= 1);
-  cs.insert(y <= 0);
-  TBD_Shape bd(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBD_Shape> pps_bd(bd, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBox> pps(pps_bd, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBox> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y == 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBox>::const_iterator i_box = pps.begin();
-  TBox boxi = i_box->element();
-  print_constraints(boxi, "*** boxi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from a powerset of octagonal shapes.
-bool
-test15() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x - y <= 1);
-  cs.insert(y <= 0);
-  TOctagonal_Shape os(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBox> pps(pps_os, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBox> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y == 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBox>::const_iterator i_box = pps.begin();
-  TBox boxi = i_box->element();
-  print_constraints(boxi, "*** boxi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of boxes from a powerset of grids.
-bool
-test16() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2);
-  gr.add_congruence((2*x %= 1) / 0);
-  gr.add_congruence(y %= 0);
-
-  Pointset_Powerset<TBox> pps_box(gr);
-
-  Pointset_Powerset<TBox> pps(pps_box);
-
-  Pointset_Powerset<TBox> known_pps(2);
-
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
-  TBox boxi = i->element();
-  print_constraints(boxi, "*** boxi ***");
-
-  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);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-END_MAIN
diff --git a/tests/Box/propagateconstraints1.cc b/tests/Box/propagateconstraints1.cc
index 2c4c7ad..10eb157 100644
--- a/tests/Box/propagateconstraints1.cc
+++ b/tests/Box/propagateconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box::propagate_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/propagateconstraints2.cc b/tests/Box/propagateconstraints2.cc
index 6f13790..afb6c64 100644
--- a/tests/Box/propagateconstraints2.cc
+++ b/tests/Box/propagateconstraints2.cc
@@ -1,5 +1,5 @@
 /* Test Box::propagate_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/refinewithcongruences1.cc b/tests/Box/refinewithcongruences1.cc
index db2d7e1..e453498 100644
--- a/tests/Box/refinewithcongruences1.cc
+++ b/tests/Box/refinewithcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test Box::refine_with_congruences(const Congruence_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/refinewithconstraint1.cc b/tests/Box/refinewithconstraint1.cc
index 676e8f1..a126dcd 100644
--- a/tests/Box/refinewithconstraint1.cc
+++ b/tests/Box/refinewithconstraint1.cc
@@ -1,5 +1,5 @@
 /* Test Box::refine_with_constraint(const Constraint&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -143,10 +143,12 @@ test04() {
 } // namespace
 
 BEGIN_MAIN
+// FIXME: see corresponding fixme in Box<ITV>::refine_no_check(c).
 // Temporarily set to always fail: this is meant to be a test for
 // constraint propagation, rather than syntactical refinement.
 //  DO_TEST_F8(test01);
   DO_TEST_F(test01);
+// FIXME: see corresponding fixme in Box<ITV>::refine_no_check(c).
 // Temporarily set to always fail: this is meant to be a test for
 // constraint propagation, rather than syntactical refinement.
 //  DO_TEST(test02);
diff --git a/tests/Box/refinewithconstraint2.cc b/tests/Box/refinewithconstraint2.cc
index a099669..3cbbd70 100644
--- a/tests/Box/refinewithconstraint2.cc
+++ b/tests/Box/refinewithconstraint2.cc
@@ -1,5 +1,5 @@
 /* Test Box::refine_with_constraint(const Constraint&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/refinewithconstraints1.cc b/tests/Box/refinewithconstraints1.cc
index 2b63ea4..6003bdd 100644
--- a/tests/Box/refinewithconstraints1.cc
+++ b/tests/Box/refinewithconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Box::refine_with_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/refinewithconstraints2.cc b/tests/Box/refinewithconstraints2.cc
index 7689a3e..545517f 100644
--- a/tests/Box/refinewithconstraints2.cc
+++ b/tests/Box/refinewithconstraints2.cc
@@ -1,6 +1,6 @@
 /* Test Box::refine_with_constraints(const Constraint_System&) with
    instances that may require a watchdog timer.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/relations1.cc b/tests/Box/relations1.cc
index 51a0a19..d2386ee 100644
--- a/tests/Box/relations1.cc
+++ b/tests/Box/relations1.cc
@@ -1,5 +1,5 @@
 /* Test Box::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/relations2.cc b/tests/Box/relations2.cc
index bb949b4..fd1650e 100644
--- a/tests/Box/relations2.cc
+++ b/tests/Box/relations2.cc
@@ -1,5 +1,5 @@
 /* Test Box::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/relations3.cc b/tests/Box/relations3.cc
index fb4405a..94384e3 100644
--- a/tests/Box/relations3.cc
+++ b/tests/Box/relations3.cc
@@ -1,5 +1,5 @@
 /* Test Box::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/relations4.cc b/tests/Box/relations4.cc
index e6154ab..1367591 100644
--- a/tests/Box/relations4.cc
+++ b/tests/Box/relations4.cc
@@ -1,5 +1,5 @@
 /* Test Box::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -480,6 +480,9 @@ BEGIN_MAIN
   DO_TEST(test16);
   DO_TEST(test17);
   DO_TEST(test18);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test19);
+#endif
   DO_TEST(test20);
 END_MAIN
diff --git a/tests/Box/removespacedims1.cc b/tests/Box/removespacedims1.cc
index 9ca2125..0d364e4 100644
--- a/tests/Box/removespacedims1.cc
+++ b/tests/Box/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Remove some variables from the space.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/run_tests b/tests/Box/run_tests
index a165c07..05e7404 100755
--- a/tests/Box/run_tests
+++ b/tests/Box/run_tests
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Run the Box tests.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -50,3 +50,4 @@ do
   $MAKE check TESTS="$check_PROGRAMS" TESTS_ENVIRONMENT="$CHECKER" TEST_CPPFLAGS="-DBOX_INSTANCE=$instance" XFAIL_TESTS=$xfail_tests || exit 1
   $MAKE clean && rm dirty_marker
 done
+exit 0
diff --git a/tests/Box/simplifyusingcontext1.cc b/tests/Box/simplifyusingcontext1.cc
new file mode 100644
index 0000000..a47f9d9
--- /dev/null
+++ b/tests/Box/simplifyusingcontext1.cc
@@ -0,0 +1,305 @@
+/* Test Box::simplify_using_context_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2);
+  box1.add_constraint(x >= 0);
+  box1.add_constraint(x <= 2);
+  box1.add_constraint(y >= 0);
+  box1.add_constraint(y <= 2);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(box1);
+  box2.affine_image(x, x + 6);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(2);
+  known_result.add_constraint(x <= 2);
+
+  bool ok = !box1.simplify_using_context_assign(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1,
+                    "*** box1.simplify_using_context_assign(box2) ***");
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2);
+  box1.add_constraint(x >= 0);
+  box1.add_constraint(x <= 2);
+  box1.add_constraint(y >= 0);
+  box1.add_constraint(y <= 2);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(box1);
+  box2.affine_image(x, x + 1);
+  box2.affine_image(y, y + 6);
+
+  print_constraints(box2, "*** box2 ***");
+
+  // NOTE: this is the result computed when using the current heuristics.
+  // It turns out that the current heuristics is not smart enough to see
+  // that constraint y <= 2 is not really needed.
+  TBox known_result(2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = !box1.simplify_using_context_assign(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1,
+                    "*** box1.simplify_using_context_assign(box2) ***");
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+
+  TBox box1(1);
+  box1.add_constraint(x >= 0);
+  box1.add_constraint(x <= 6);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(1);
+  box2.add_constraint(x >= 0);
+  box2.add_constraint(x <= 5);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox computed_result = box1;
+
+  computed_result.simplify_using_context_assign(box2);
+
+  TBox known_result(1);
+
+  bool ok = (computed_result == known_result);
+
+  print_constraints(computed_result,
+                    "*** box1.simplify_using_context_assign ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TBox box1 = TBox(3, UNIVERSE);
+  box1.add_constraint(i >= 1);
+  box1.add_constraint(i <= 10);
+  box1.add_constraint(j >= 1);
+  box1.add_constraint(j <= 10);
+  box1.add_constraint(k == 0);
+
+  TBox box2 = TBox(3, UNIVERSE);
+  box2.add_constraint(i >= 0);
+  box2.add_constraint(i <= 2);
+  box2.add_constraint(j >= 2);
+  box2.add_constraint(j <= 9);
+  box2.add_constraint(k == 0);
+
+  print_constraints(box1, "=== box1 ===");
+  print_constraints(box2, "=== box2 ===");
+
+  TBox known_result = TBox(3, UNIVERSE);
+  known_result.add_constraint(i >= 1);
+
+  box1.simplify_using_context_assign(box2);
+
+  bool ok = (box1 == known_result);
+
+  print_constraints(box1, "=== box1.simplify_using_context_assign(box2) ===");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TBox box1(3, UNIVERSE);
+  box1.add_constraint(i == 1);
+  box1.add_constraint(j + 1 == 0);
+  box1.add_constraint(k == 3);
+
+  TBox box2(3, UNIVERSE);
+  box2.add_constraint(i == 1);
+  box2.add_constraint(k >= 0);
+  box2.add_constraint(k <= 3);
+
+  TBox known_result(3, UNIVERSE);
+  known_result.add_constraint(k >= 3);
+  known_result.add_constraint(j + 1 == 0);
+
+  box1.simplify_using_context_assign(box2);
+
+  bool ok = (box1 == known_result);
+
+  print_constraints(box1.minimized_constraints(),
+                    "=== box1.simplify_using_context_assign(box2) ===");
+  print_constraints(known_result.minimized_constraints(),
+                    "=== known_result ===");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TBox box1(3, UNIVERSE);
+  box1.add_constraint(A == 0);
+  box1.add_constraint(B >= 2);
+  box1.add_constraint(C >= 2);
+  print_constraints(box1, "\n=== box1 ===");
+
+  TBox box2(3, UNIVERSE);
+  box2.add_constraint(A == 0);
+  box2.add_constraint(C >= 2);
+  print_constraints(box2, "\n=== box2 ===");
+
+  box1.simplify_using_context_assign(box2);
+
+  TBox known_result(3, UNIVERSE);
+  known_result.add_constraint(B >= 2);
+
+  bool ok = (box1 == known_result);
+
+  print_constraints(box1, "\n=== box1.simplify_using_context_assign(box2) ===");
+
+  return ok;
+}
+
+bool
+test07() {
+  TBox box1(0, EMPTY);
+  TBox box2;
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result = box1;
+
+  box1.simplify_using_context_assign(box2);
+
+  bool ok = (box1 == known_result);
+
+  print_constraints(box1,
+                    "*** box1.simplify_using_context_assign(box2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+
+  TBox box1(1);
+  TBox box2(1);
+
+  box2.add_constraint(A == 0);
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result = box1;
+
+  box1.simplify_using_context_assign(box2);
+
+  bool ok = (box1 == known_result);
+
+  print_constraints(box1,
+                    "*** box1.simplify_using_context_assign(box2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TBox box1(3, UNIVERSE);
+  box1.add_constraint(i >= 1);
+  box1.add_constraint(i <= 10);
+  box1.add_constraint(j >= 1);
+  box1.add_constraint(j <= 10);
+  box1.add_constraint(k == 0);
+
+  TBox box2(3, UNIVERSE);
+  box2.add_constraint(i <= 25);
+  box2.add_constraint(j <= 25);
+  box2.add_constraint(k == 0);
+
+  TBox known_result(3, UNIVERSE);
+  known_result.add_constraint(i >= 1);
+  known_result.add_constraint(i <= 10);
+  known_result.add_constraint(j >= 1);
+  known_result.add_constraint(j <= 10);
+
+  box1.simplify_using_context_assign(box2);
+
+  bool ok = (box1 == known_result);
+
+  print_constraints(box1);
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST_F(test01);
+  DO_TEST_F(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/Box/timeelapse1.cc b/tests/Box/timeelapse1.cc
index e5b6729..2611071 100644
--- a/tests/Box/timeelapse1.cc
+++ b/tests/Box/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test Box<Interval>::time_elapse_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/topclosed1.cc b/tests/Box/topclosed1.cc
index 4403a63..610867c 100644
--- a/tests/Box/topclosed1.cc
+++ b/tests/Box/topclosed1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_topologically_closed().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/unconstrain1.cc b/tests/Box/unconstrain1.cc
index 2d34a5b..edee431 100644
--- a/tests/Box/unconstrain1.cc
+++ b/tests/Box/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test Box::unconstrain().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/universe1.cc b/tests/Box/universe1.cc
index a6b00ca..3667c0a 100644
--- a/tests/Box/universe1.cc
+++ b/tests/Box/universe1.cc
@@ -1,5 +1,5 @@
 /* Test Box::is_universe().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/upperbound1.cc b/tests/Box/upperbound1.cc
index 450bf3c..bcab71d 100644
--- a/tests/Box/upperbound1.cc
+++ b/tests/Box/upperbound1.cc
@@ -1,5 +1,5 @@
 /* Test Box::upper_bound_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Box/upperboundifexact1.cc b/tests/Box/upperboundifexact1.cc
new file mode 100644
index 0000000..b70c507
--- /dev/null
+++ b/tests/Box/upperboundifexact1.cc
@@ -0,0 +1,310 @@
+/* Test BD_Shape::upper_bound_assign_if_exact().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  TBox box_empty(0, EMPTY);
+  TBox box_universe(0, UNIVERSE);
+
+  // Testing all combinations for 0-dim polyhedra.
+  bool ok = true;
+  TBox box;
+
+  // empty, empty
+  box = box_empty;
+  ok &= box.upper_bound_assign_if_exact(box_empty);
+  ok &= (box == box_empty);
+  print_constraints(box, "*** empty union empty ***");
+
+  // empty, universe
+  box = box_empty;
+  ok &= box.upper_bound_assign_if_exact(box_universe);
+  ok &= (box == box_universe);
+  print_constraints(box, "*** empty union universe ***");
+
+  // universe, empty
+  box = box_universe;
+  ok &= box.upper_bound_assign_if_exact(box_empty);
+  ok &= (box == box_universe);
+  print_constraints(box, "*** universe union empty ***");
+
+  // universe, universe
+  box = box_universe;
+  ok &= box.upper_bound_assign_if_exact(box_universe);
+  ok &= (box == box_universe);
+  print_constraints(box, "*** universe union universe ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(x >= -2);
+  box1.add_constraint(x <= -1);
+  box1.add_constraint(y >= 0);
+  box1.add_constraint(y <= 2);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(2, UNIVERSE);
+  box2.add_constraint(x >= 1);
+  box2.add_constraint(x <= 2);
+  box2.add_constraint(y >= 0);
+  box2.add_constraint(y <= 2);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(box1);
+
+  bool ok = !box1.upper_bound_assign_if_exact(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1, "*** box1.upper_bound_assign_if_exact(box2) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(x >= -2);
+  box1.add_constraint(x <= 0);
+  box1.add_constraint(y >= 0);
+  box1.add_constraint(y <= 2);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(2, UNIVERSE);
+  box2.add_constraint(x >= 0);
+  box2.add_constraint(x <= 2);
+  box2.add_constraint(y >= 0);
+  box2.add_constraint(y <= 2);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= -2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = box1.upper_bound_assign_if_exact(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1, "*** box1.upper_bound_assign_if_exact(box2) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(x == 0);
+  box1.add_constraint(y == 0);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(2, UNIVERSE);
+  box2.add_constraint(x >= 0);
+  box2.add_constraint(x <= 2);
+  box2.add_constraint(y >= -2);
+  box2.add_constraint(y <= 2);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(box2);
+
+  bool ok = box1.upper_bound_assign_if_exact(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1, "*** box1.upper_bound_assign_if_exact(box2) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(x >= 0);
+  box1.add_constraint(y == 0);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(2, UNIVERSE);
+  box2.add_constraint(x >= 0);
+  box2.add_constraint(y >= 2);
+  box2.add_constraint(y <= 4);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(box1);
+
+  bool ok = !box1.upper_bound_assign_if_exact(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1, "*** box1.upper_bound_assign_if_exact(box2) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(x == 0);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(2, UNIVERSE);
+  box2.add_constraint(y == 0);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(box1);
+
+  bool ok = !box1.upper_bound_assign_if_exact(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1, "*** box1.upper_bound_assign_if_exact(box2) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(y >= 0);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(2, UNIVERSE);
+  box2.add_constraint(y <= 5);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(2, UNIVERSE);
+
+  bool ok = box1.upper_bound_assign_if_exact(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1, "*** box1.upper_bound_assign_if_exact(box2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(x >= 0);
+  box1.add_constraint(x <= 4);
+  box1.add_constraint(y >= 1);
+  box1.add_constraint(y <= 3);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(2, UNIVERSE);
+  box2.add_constraint(x >= 1);
+  box2.add_constraint(x <= 3);
+  box2.add_constraint(y >= 0);
+  box2.add_constraint(y <= 4);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(box1);
+
+  bool ok = !box1.upper_bound_assign_if_exact(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1, "*** box1.upper_bound_assign_if_exact(box2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box1(2, UNIVERSE);
+  box1.add_constraint(x >= 0);
+  box1.add_constraint(x <= 1);
+  box1.add_constraint(y >= 0);
+  box1.add_constraint(y <= 2);
+
+  print_constraints(box1, "*** box1 ***");
+
+  TBox box2(2, UNIVERSE);
+  box2.add_constraint(x >= 0);
+  box2.add_constraint(x <= 3);
+  box2.add_constraint(y >= 1);
+  box2.add_constraint(y <= 2);
+
+  print_constraints(box2, "*** box2 ***");
+
+  TBox known_result(box1);
+
+  bool ok = !box1.upper_bound_assign_if_exact(box2);
+  ok &= (box1 == known_result);
+
+  print_constraints(box1, "*** box1.upper_bound_assign_if_exact(box2) ***");
+
+  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/Box/writebox1.cc b/tests/Box/writebox1.cc
index 522c730..b500d92 100644
--- a/tests/Box/writebox1.cc
+++ b/tests/Box/writebox1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(ostream&, const Box&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/Makefile.am b/tests/Grid/Makefile.am
index 6bc2142..339cdec 100644
--- a/tests/Grid/Makefile.am
+++ b/tests/Grid/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -108,11 +108,11 @@ partition1 \
 powersetdifference1 \
 powersetgeometricallycovers1 \
 powersetgeometricallyequals1 \
-pointsetpowerset1 \
 refinewithcongruences1 \
 refinewithconstraints1 \
 relations1 relations2 relations3 \
 removespacedims1 removespacedims2 \
+simplifyusingcontext1 \
 timeelapse1 \
 topclosed1 \
 topclosure1 \
@@ -255,8 +255,6 @@ powersetdifference1_SOURCES = powersetdifference1.cc
 powersetgeometricallycovers1_SOURCES = powersetgeometricallycovers1.cc
 powersetgeometricallyequals1_SOURCES = powersetgeometricallyequals1.cc
 
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
-
 refinewithcongruences1_SOURCES = refinewithcongruences1.cc
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
 
@@ -267,6 +265,8 @@ relations3_SOURCES = relations3.cc
 removespacedims1_SOURCES = removespacedims1.cc
 removespacedims2_SOURCES = removespacedims2.cc
 
+simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
+
 timeelapse1_SOURCES = timeelapse1.cc
 
 topclosed1_SOURCES = topclosed1.cc
diff --git a/tests/Grid/Makefile.in b/tests/Grid/Makefile.in
index 7f615f2..4ff5670 100644
--- a/tests/Grid/Makefile.in
+++ b/tests/Grid/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -92,14 +92,15 @@ TESTS = addcongruence1$(EXEEXT) addcongruences1$(EXEEXT) \
 	partition1$(EXEEXT) powersetdifference1$(EXEEXT) \
 	powersetgeometricallycovers1$(EXEEXT) \
 	powersetgeometricallyequals1$(EXEEXT) \
-	pointsetpowerset1$(EXEEXT) refinewithcongruences1$(EXEEXT) \
+	refinewithcongruences1$(EXEEXT) \
 	refinewithconstraints1$(EXEEXT) relations1$(EXEEXT) \
 	relations2$(EXEEXT) relations3$(EXEEXT) \
 	removespacedims1$(EXEEXT) removespacedims2$(EXEEXT) \
-	timeelapse1$(EXEEXT) topclosed1$(EXEEXT) topclosure1$(EXEEXT) \
-	unconstrain1$(EXEEXT) upperbound1$(EXEEXT) \
-	upperbound2$(EXEEXT) widening1$(EXEEXT) widening2$(EXEEXT) \
-	widening3$(EXEEXT) writecongruencesystem$(EXEEXT)
+	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
+	topclosed1$(EXEEXT) topclosure1$(EXEEXT) unconstrain1$(EXEEXT) \
+	upperbound1$(EXEEXT) upperbound2$(EXEEXT) widening1$(EXEEXT) \
+	widening2$(EXEEXT) widening3$(EXEEXT) \
+	writecongruencesystem$(EXEEXT)
 XFAIL_TESTS =
 check_PROGRAMS = $(am__EXEEXT_1)
 subdir = tests/Grid
@@ -127,12 +128,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -177,14 +177,15 @@ am__EXEEXT_1 = addcongruence1$(EXEEXT) addcongruences1$(EXEEXT) \
 	partition1$(EXEEXT) powersetdifference1$(EXEEXT) \
 	powersetgeometricallycovers1$(EXEEXT) \
 	powersetgeometricallyequals1$(EXEEXT) \
-	pointsetpowerset1$(EXEEXT) refinewithcongruences1$(EXEEXT) \
+	refinewithcongruences1$(EXEEXT) \
 	refinewithconstraints1$(EXEEXT) relations1$(EXEEXT) \
 	relations2$(EXEEXT) relations3$(EXEEXT) \
 	removespacedims1$(EXEEXT) removespacedims2$(EXEEXT) \
-	timeelapse1$(EXEEXT) topclosed1$(EXEEXT) topclosure1$(EXEEXT) \
-	unconstrain1$(EXEEXT) upperbound1$(EXEEXT) \
-	upperbound2$(EXEEXT) widening1$(EXEEXT) widening2$(EXEEXT) \
-	widening3$(EXEEXT) writecongruencesystem$(EXEEXT)
+	simplifyusingcontext1$(EXEEXT) timeelapse1$(EXEEXT) \
+	topclosed1$(EXEEXT) topclosure1$(EXEEXT) unconstrain1$(EXEEXT) \
+	upperbound1$(EXEEXT) upperbound2$(EXEEXT) widening1$(EXEEXT) \
+	widening2$(EXEEXT) widening3$(EXEEXT) \
+	writecongruencesystem$(EXEEXT)
 am_addcongruence1_OBJECTS = addcongruence1.$(OBJEXT)
 addcongruence1_OBJECTS = $(am_addcongruence1_OBJECTS)
 addcongruence1_LDADD = $(LDADD)
@@ -643,12 +644,6 @@ partition1_LDADD = $(LDADD)
 partition1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_pointsetpowerset1_OBJECTS = pointsetpowerset1.$(OBJEXT)
-pointsetpowerset1_OBJECTS = $(am_pointsetpowerset1_OBJECTS)
-pointsetpowerset1_LDADD = $(LDADD)
-pointsetpowerset1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
 am_powersetdifference1_OBJECTS = powersetdifference1.$(OBJEXT)
 powersetdifference1_OBJECTS = $(am_powersetdifference1_OBJECTS)
 powersetdifference1_LDADD = $(LDADD)
@@ -718,6 +713,13 @@ removespacedims2_LDADD = $(LDADD)
 removespacedims2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_simplifyusingcontext1_OBJECTS = simplifyusingcontext1.$(OBJEXT)
+simplifyusingcontext1_OBJECTS = $(am_simplifyusingcontext1_OBJECTS)
+simplifyusingcontext1_LDADD = $(LDADD)
+simplifyusingcontext1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_timeelapse1_OBJECTS = timeelapse1.$(OBJEXT)
 timeelapse1_OBJECTS = $(am_timeelapse1_OBJECTS)
 timeelapse1_LDADD = $(LDADD)
@@ -828,17 +830,18 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(mincongruences1_SOURCES) $(mingenerators1_SOURCES) \
 	$(outputoperator1_SOURCES) $(outputoperator2_SOURCES) \
 	$(outputoperator3_SOURCES) $(partition1_SOURCES) \
-	$(pointsetpowerset1_SOURCES) $(powersetdifference1_SOURCES) \
+	$(powersetdifference1_SOURCES) \
 	$(powersetgeometricallycovers1_SOURCES) \
 	$(powersetgeometricallyequals1_SOURCES) \
 	$(refinewithcongruences1_SOURCES) \
 	$(refinewithconstraints1_SOURCES) $(relations1_SOURCES) \
 	$(relations2_SOURCES) $(relations3_SOURCES) \
 	$(removespacedims1_SOURCES) $(removespacedims2_SOURCES) \
-	$(timeelapse1_SOURCES) $(topclosed1_SOURCES) \
-	$(topclosure1_SOURCES) $(unconstrain1_SOURCES) \
-	$(upperbound1_SOURCES) $(upperbound2_SOURCES) \
-	$(widening1_SOURCES) $(widening2_SOURCES) $(widening3_SOURCES) \
+	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
+	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
+	$(unconstrain1_SOURCES) $(upperbound1_SOURCES) \
+	$(upperbound2_SOURCES) $(widening1_SOURCES) \
+	$(widening2_SOURCES) $(widening3_SOURCES) \
 	$(writecongruencesystem_SOURCES)
 DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(addconstraint1_SOURCES) $(addconstraints1_SOURCES) \
@@ -877,17 +880,18 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(mincongruences1_SOURCES) $(mingenerators1_SOURCES) \
 	$(outputoperator1_SOURCES) $(outputoperator2_SOURCES) \
 	$(outputoperator3_SOURCES) $(partition1_SOURCES) \
-	$(pointsetpowerset1_SOURCES) $(powersetdifference1_SOURCES) \
+	$(powersetdifference1_SOURCES) \
 	$(powersetgeometricallycovers1_SOURCES) \
 	$(powersetgeometricallyequals1_SOURCES) \
 	$(refinewithcongruences1_SOURCES) \
 	$(refinewithconstraints1_SOURCES) $(relations1_SOURCES) \
 	$(relations2_SOURCES) $(relations3_SOURCES) \
 	$(removespacedims1_SOURCES) $(removespacedims2_SOURCES) \
-	$(timeelapse1_SOURCES) $(topclosed1_SOURCES) \
-	$(topclosure1_SOURCES) $(unconstrain1_SOURCES) \
-	$(upperbound1_SOURCES) $(upperbound2_SOURCES) \
-	$(widening1_SOURCES) $(widening2_SOURCES) $(widening3_SOURCES) \
+	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
+	$(topclosed1_SOURCES) $(topclosure1_SOURCES) \
+	$(unconstrain1_SOURCES) $(upperbound1_SOURCES) \
+	$(upperbound2_SOURCES) $(widening1_SOURCES) \
+	$(widening2_SOURCES) $(widening3_SOURCES) \
 	$(writecongruencesystem_SOURCES)
 ETAGS = etags
 CTAGS = ctags
@@ -948,6 +952,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -956,6 +962,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -1030,6 +1037,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -1166,7 +1174,6 @@ partition1_SOURCES = partition1.cc
 powersetdifference1_SOURCES = powersetdifference1.cc
 powersetgeometricallycovers1_SOURCES = powersetgeometricallycovers1.cc
 powersetgeometricallyequals1_SOURCES = powersetgeometricallyequals1.cc
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
 refinewithcongruences1_SOURCES = refinewithcongruences1.cc
 refinewithconstraints1_SOURCES = refinewithconstraints1.cc
 relations1_SOURCES = relations1.cc
@@ -1174,6 +1181,7 @@ relations2_SOURCES = relations2.cc
 relations3_SOURCES = relations3.cc
 removespacedims1_SOURCES = removespacedims1.cc
 removespacedims2_SOURCES = removespacedims2.cc
+simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 timeelapse1_SOURCES = timeelapse1.cc
 topclosed1_SOURCES = topclosed1.cc
 topclosure1_SOURCES = topclosure1.cc
@@ -1449,9 +1457,6 @@ outputoperator3$(EXEEXT): $(outputoperator3_OBJECTS) $(outputoperator3_DEPENDENC
 partition1$(EXEEXT): $(partition1_OBJECTS) $(partition1_DEPENDENCIES) 
 	@rm -f partition1$(EXEEXT)
 	$(CXXLINK) $(partition1_OBJECTS) $(partition1_LDADD) $(LIBS)
-pointsetpowerset1$(EXEEXT): $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_DEPENDENCIES) 
-	@rm -f pointsetpowerset1$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_LDADD) $(LIBS)
 powersetdifference1$(EXEEXT): $(powersetdifference1_OBJECTS) $(powersetdifference1_DEPENDENCIES) 
 	@rm -f powersetdifference1$(EXEEXT)
 	$(CXXLINK) $(powersetdifference1_OBJECTS) $(powersetdifference1_LDADD) $(LIBS)
@@ -1482,6 +1487,9 @@ removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPEND
 removespacedims2$(EXEEXT): $(removespacedims2_OBJECTS) $(removespacedims2_DEPENDENCIES) 
 	@rm -f removespacedims2$(EXEEXT)
 	$(CXXLINK) $(removespacedims2_OBJECTS) $(removespacedims2_LDADD) $(LIBS)
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+	@rm -f simplifyusingcontext1$(EXEEXT)
+	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
@@ -1591,7 +1599,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/outputoperator2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/outputoperator3.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/partition1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/powersetdifference1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/powersetgeometricallycovers1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/powersetgeometricallyequals1.Po at am__quote@
@@ -1602,6 +1609,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relations3.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/removespacedims1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/removespacedims2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplifyusingcontext1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timeelapse1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/topclosed1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/topclosure1.Po at am__quote@
diff --git a/tests/Grid/addcongruence1.cc b/tests/Grid/addcongruence1.cc
index 664535c..a17db4c 100644
--- a/tests/Grid/addcongruence1.cc
+++ b/tests/Grid/addcongruence1.cc
@@ -1,5 +1,5 @@
 /* Test methods which add a single congruence to a grid.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/addcongruences1.cc b/tests/Grid/addcongruences1.cc
index 2c7537f..1bb8f26 100644
--- a/tests/Grid/addcongruences1.cc
+++ b/tests/Grid/addcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test methods which can add multiple congruences to a grid.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -427,7 +427,10 @@ BEGIN_MAIN
   DO_TEST(test03);
   DO_TEST(test04);
   DO_TEST(test05);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test06);
+#endif
   DO_TEST(test07);
   DO_TEST(test08);
   DO_TEST(test09);
diff --git a/tests/Grid/addconstraint1.cc b/tests/Grid/addconstraint1.cc
index df85cb4..2e6dda5 100644
--- a/tests/Grid/addconstraint1.cc
+++ b/tests/Grid/addconstraint1.cc
@@ -1,5 +1,5 @@
 /* Test adding single constraints to grids.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/addconstraints1.cc b/tests/Grid/addconstraints1.cc
index eb30703..2ff037e 100644
--- a/tests/Grid/addconstraints1.cc
+++ b/tests/Grid/addconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test adding constraints to a grid.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/addgenerator1.cc b/tests/Grid/addgenerator1.cc
index 37c81f5..329e457 100644
--- a/tests/Grid/addgenerator1.cc
+++ b/tests/Grid/addgenerator1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::add_grid_generator*().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/addgenerators1.cc b/tests/Grid/addgenerators1.cc
index 59fb0cc..e08ffd2 100644
--- a/tests/Grid/addgenerators1.cc
+++ b/tests/Grid/addgenerators1.cc
@@ -1,5 +1,5 @@
 /* Test methods which can add multiple generators to a grid.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/addspacedims1.cc b/tests/Grid/addspacedims1.cc
index 494c77b..69b33e5 100644
--- a/tests/Grid/addspacedims1.cc
+++ b/tests/Grid/addspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::add_space_dimensions_and_embed().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/affinedim1.cc b/tests/Grid/affinedim1.cc
index a50e4eb..4964ac9 100644
--- a/tests/Grid/affinedim1.cc
+++ b/tests/Grid/affinedim1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/affineimage1.cc b/tests/Grid/affineimage1.cc
index 7262cc3..8e5139f 100644
--- a/tests/Grid/affineimage1.cc
+++ b/tests/Grid/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/affineimage2.cc b/tests/Grid/affineimage2.cc
index 19735c9..72a8e48 100644
--- a/tests/Grid/affineimage2.cc
+++ b/tests/Grid/affineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/affinepreimage1.cc b/tests/Grid/affinepreimage1.cc
index b00cc7e..d838380 100644
--- a/tests/Grid/affinepreimage1.cc
+++ b/tests/Grid/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/affinepreimage2.cc b/tests/Grid/affinepreimage2.cc
index b371ebb..3d94ef9 100644
--- a/tests/Grid/affinepreimage2.cc
+++ b/tests/Grid/affinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/approximatepartition1.cc b/tests/Grid/approximatepartition1.cc
index 34dc056..651e3ab 100644
--- a/tests/Grid/approximatepartition1.cc
+++ b/tests/Grid/approximatepartition1.cc
@@ -1,5 +1,5 @@
 /* Test approximate_partition().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/asciidumpload1.cc b/tests/Grid/asciidumpload1.cc
index 2e505dd..ab7da3c 100644
--- a/tests/Grid/asciidumpload1.cc
+++ b/tests/Grid/asciidumpload1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::ascii_dump() and Grid::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/asciidumpload2.cc b/tests/Grid/asciidumpload2.cc
index 829a910..2d73426 100644
--- a/tests/Grid/asciidumpload2.cc
+++ b/tests/Grid/asciidumpload2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::ascii_dump() and Grid::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -244,7 +244,7 @@ test07() {
   string str;
   do
     f >> str;
-  while (str != "(not_up-to-date)" );
+  while (str != "(not_up-to-date)");
   f.seekp(0, ios_base::cur);
   f << "A\n";
   close(f);
@@ -308,7 +308,7 @@ test09() {
   string str;
   do
     f >> str;
-  while (str != "(not_up-to-date)" );
+  while (str != "(not_up-to-date)");
   f.seekp(0, ios_base::cur);
   f << "\nA";
   close(f);
diff --git a/tests/Grid/asciidumpload3.cc b/tests/Grid/asciidumpload3.cc
index 4670e56..159e0c7 100644
--- a/tests/Grid/asciidumpload3.cc
+++ b/tests/Grid/asciidumpload3.cc
@@ -1,5 +1,5 @@
 /* Test Congruence::ascii_dump() and Congruence::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/asciidumpload4.cc b/tests/Grid/asciidumpload4.cc
index cc0f745..9f08ceb 100644
--- a/tests/Grid/asciidumpload4.cc
+++ b/tests/Grid/asciidumpload4.cc
@@ -1,5 +1,5 @@
 /* Test Congruence_System ascii_dump() and ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/asciidumpload5.cc b/tests/Grid/asciidumpload5.cc
index 2d7b472..300241d 100644
--- a/tests/Grid/asciidumpload5.cc
+++ b/tests/Grid/asciidumpload5.cc
@@ -1,5 +1,5 @@
 /* Test Grid_Generator ascii_dump() and ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/asciidumpload6.cc b/tests/Grid/asciidumpload6.cc
index 1bcb647..22e581e 100644
--- a/tests/Grid/asciidumpload6.cc
+++ b/tests/Grid/asciidumpload6.cc
@@ -1,5 +1,5 @@
 /* Test Generator_System ascii_dump() and ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/bhz03widening1.cc b/tests/Grid/bhz03widening1.cc
index 5adbab5..602ae7a 100644
--- a/tests/Grid/bhz03widening1.cc
+++ b/tests/Grid/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>::BHZ03_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/bounded1.cc b/tests/Grid/bounded1.cc
index 2b5c63b..d4e315a 100644
--- a/tests/Grid/bounded1.cc
+++ b/tests/Grid/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_bounded().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/boundedaffineimage1.cc b/tests/Grid/boundedaffineimage1.cc
index 1bdb27c..60176a3 100644
--- a/tests/Grid/boundedaffineimage1.cc
+++ b/tests/Grid/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::bounded_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/boundedaffinepreimage1.cc b/tests/Grid/boundedaffinepreimage1.cc
index f604928..2ee6ecc 100644
--- a/tests/Grid/boundedaffinepreimage1.cc
+++ b/tests/Grid/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::bounded_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/bounds1.cc b/tests/Grid/bounds1.cc
index f22ce34..2b6fb01 100644
--- a/tests/Grid/bounds1.cc
+++ b/tests/Grid/bounds1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::bounds_from_above() and Grid::bounds_from_below().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -422,6 +422,22 @@ test13() {
   return false;
 }
 
+// The generator system is up-to-date but not minimized.
+bool
+test14() {
+  Variable A(0);
+
+  Grid gr(1, EMPTY);
+  gr.add_grid_generator(grid_point(A));
+  gr.add_grid_generator(grid_point(A, 2));
+  print_generators(gr, "*** gr generators before ***");
+
+  bool ok = !gr.bounds_from_above(A) && !gr.bounds_from_below(A);
+  print_generators(gr, "*** gr generators after ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -438,4 +454,5 @@ BEGIN_MAIN
   DO_TEST(test11);
   DO_TEST(test12);
   DO_TEST(test13);
+  DO_TEST(test14);
 END_MAIN
diff --git a/tests/Grid/certificate1.cc b/tests/Grid/certificate1.cc
index 549c239..73aa9d1 100644
--- a/tests/Grid/certificate1.cc
+++ b/tests/Grid/certificate1.cc
@@ -1,5 +1,5 @@
 /* Test class Grid_Certificate.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/concatenate1.cc b/tests/Grid/concatenate1.cc
index bf79975..e0a4cf1 100644
--- a/tests/Grid/concatenate1.cc
+++ b/tests/Grid/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::concatenate_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/congruence1.cc b/tests/Grid/congruence1.cc
index 48cca3e..d95869d 100644
--- a/tests/Grid/congruence1.cc
+++ b/tests/Grid/congruence1.cc
@@ -1,5 +1,5 @@
 /* Test class Congruence.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/congruences1.cc b/tests/Grid/congruences1.cc
index 79769b2..e930b73 100644
--- a/tests/Grid/congruences1.cc
+++ b/tests/Grid/congruences1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/congruences2.cc b/tests/Grid/congruences2.cc
index aa7f9f8..9c5a6a0 100644
--- a/tests/Grid/congruences2.cc
+++ b/tests/Grid/congruences2.cc
@@ -1,5 +1,5 @@
 /* Test Congruence_System::satisfies_all_congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/constraints1.cc b/tests/Grid/constraints1.cc
index 26c7a62..886ab4f 100644
--- a/tests/Grid/constraints1.cc
+++ b/tests/Grid/constraints1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/contains1.cc b/tests/Grid/contains1.cc
index 267ed80..f242c57 100644
--- a/tests/Grid/contains1.cc
+++ b/tests/Grid/contains1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::contains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/containsintegerpoint1.cc b/tests/Grid/containsintegerpoint1.cc
index 1636264..1d5d6c7 100644
--- a/tests/Grid/containsintegerpoint1.cc
+++ b/tests/Grid/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::contains_integer_point().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/coveringbox1.cc b/tests/Grid/coveringbox1.cc
index 2fbd762..9a6199b 100644
--- a/tests/Grid/coveringbox1.cc
+++ b/tests/Grid/coveringbox1.cc
@@ -1,5 +1,5 @@
 /* Test Grid(Box& box, From_Covering_Box()).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/coveringbox2.cc b/tests/Grid/coveringbox2.cc
index 312c23f..02179ce 100644
--- a/tests/Grid/coveringbox2.cc
+++ b/tests/Grid/coveringbox2.cc
@@ -1,5 +1,5 @@
  /* Test Grid::get_covering_box().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/discrete1.cc b/tests/Grid/discrete1.cc
index 0d34d72..aaa27a7 100644
--- a/tests/Grid/discrete1.cc
+++ b/tests/Grid/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_pointed().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/disjoint1.cc b/tests/Grid/disjoint1.cc
index 4d107a7..42f2230 100644
--- a/tests/Grid/disjoint1.cc
+++ b/tests/Grid/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_disjoint_from().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/equals1.cc b/tests/Grid/equals1.cc
index 238ac89..93233ea 100644
--- a/tests/Grid/equals1.cc
+++ b/tests/Grid/equals1.cc
@@ -1,6 +1,6 @@
 /* Test operator==(const Grid&, const Grid&)
    and operator!=(const Grid&, const Grid&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/expandspacedim1.cc b/tests/Grid/expandspacedim1.cc
index 3cdfe66..d4a83b1 100644
--- a/tests/Grid/expandspacedim1.cc
+++ b/tests/Grid/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::expand_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/foldspacedims1.cc b/tests/Grid/foldspacedims1.cc
index 83815bc..c9da38b 100644
--- a/tests/Grid/foldspacedims1.cc
+++ b/tests/Grid/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::fold_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/frombdshape1.cc b/tests/Grid/frombdshape1.cc
index b922c0f..b7e4cef 100644
--- a/tests/Grid/frombdshape1.cc
+++ b/tests/Grid/frombdshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/frombox1.cc b/tests/Grid/frombox1.cc
index 5045ca7..e9b9cd3 100644
--- a/tests/Grid/frombox1.cc
+++ b/tests/Grid/frombox1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::Grid(const Box&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/fromgrid1.cc b/tests/Grid/fromgrid1.cc
index 49858ae..941c30b 100644
--- a/tests/Grid/fromgrid1.cc
+++ b/tests/Grid/fromgrid1.cc
@@ -1,5 +1,5 @@
 /* Test copy construction and assignment for grids.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/fromoctagonalshape1.cc b/tests/Grid/fromoctagonalshape1.cc
index 6c097df..aadd1cc 100644
--- a/tests/Grid/fromoctagonalshape1.cc
+++ b/tests/Grid/fromoctagonalshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/frompolyhedron1.cc b/tests/Grid/frompolyhedron1.cc
index 91db504..eacdef5 100644
--- a/tests/Grid/frompolyhedron1.cc
+++ b/tests/Grid/frompolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test construction of grids from polyhedron.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffineimage1.cc b/tests/Grid/generalizedaffineimage1.cc
index 83ca61e..419cc8a 100644
--- a/tests/Grid/generalizedaffineimage1.cc
+++ b/tests/Grid/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_image(var, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffineimage2.cc b/tests/Grid/generalizedaffineimage2.cc
index f95745e..08aa748 100644
--- a/tests/Grid/generalizedaffineimage2.cc
+++ b/tests/Grid/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_image(lhs, rhs, modulus).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffineimage3.cc b/tests/Grid/generalizedaffineimage3.cc
index 783d93b..f6806ef 100644
--- a/tests/Grid/generalizedaffineimage3.cc
+++ b/tests/Grid/generalizedaffineimage3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_image(var, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffinepreimage1.cc b/tests/Grid/generalizedaffinepreimage1.cc
index 099b83f..2c9c63e 100644
--- a/tests/Grid/generalizedaffinepreimage1.cc
+++ b/tests/Grid/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_preimage(var, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffinepreimage2.cc b/tests/Grid/generalizedaffinepreimage2.cc
index e732a3f..cac1051 100644
--- a/tests/Grid/generalizedaffinepreimage2.cc
+++ b/tests/Grid/generalizedaffinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_preimage(lhs, rhs, modulus).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generalizedaffinepreimage3.cc b/tests/Grid/generalizedaffinepreimage3.cc
index 4153127..7ea5019 100644
--- a/tests/Grid/generalizedaffinepreimage3.cc
+++ b/tests/Grid/generalizedaffinepreimage3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generalized_affine_preimage(var, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generator1.cc b/tests/Grid/generator1.cc
index 58c5936..91b6fc0 100644
--- a/tests/Grid/generator1.cc
+++ b/tests/Grid/generator1.cc
@@ -1,5 +1,5 @@
 /* Test class Grid_Generator.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generators1.cc b/tests/Grid/generators1.cc
index 8c31e94..2619508 100644
--- a/tests/Grid/generators1.cc
+++ b/tests/Grid/generators1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generators().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/generators2.cc b/tests/Grid/generators2.cc
index 901fe18..69fc15f 100644
--- a/tests/Grid/generators2.cc
+++ b/tests/Grid/generators2.cc
@@ -1,5 +1,5 @@
 /* Test class Grid_Generator_System.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/grid1.cc b/tests/Grid/grid1.cc
index 999b6dd..b674b9f 100644
--- a/tests/Grid/grid1.cc
+++ b/tests/Grid/grid1.cc
@@ -1,5 +1,5 @@
 /* Test reduction and conversion of grids created from generators.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/grid2.cc b/tests/Grid/grid2.cc
index 8f50b99..d62f0c2 100644
--- a/tests/Grid/grid2.cc
+++ b/tests/Grid/grid2.cc
@@ -1,5 +1,5 @@
 /* Test reduction and conversion of grids created from congruences.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/grid3.cc b/tests/Grid/grid3.cc
index 6df6494..36a5732 100644
--- a/tests/Grid/grid3.cc
+++ b/tests/Grid/grid3.cc
@@ -1,5 +1,5 @@
 /* Test construction of grids from constraints.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/griddifference1.cc b/tests/Grid/griddifference1.cc
index d188f2d..3a7de1f 100644
--- a/tests/Grid/griddifference1.cc
+++ b/tests/Grid/griddifference1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::difference_assign() (a.k.a. Grid::difference_assign()).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/intersection1.cc b/tests/Grid/intersection1.cc
index 2facfc8..535aecd 100644
--- a/tests/Grid/intersection1.cc
+++ b/tests/Grid/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::intersection_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/isempty1.cc b/tests/Grid/isempty1.cc
index f38e454..a8d9bb6 100644
--- a/tests/Grid/isempty1.cc
+++ b/tests/Grid/isempty1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_empty().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/isuniverse1.cc b/tests/Grid/isuniverse1.cc
index 23a8a59..650e53e 100644
--- a/tests/Grid/isuniverse1.cc
+++ b/tests/Grid/isuniverse1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_universe().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/limitedextrapolation1.cc b/tests/Grid/limitedextrapolation1.cc
index be4bfb8..fd32433 100644
--- a/tests/Grid/limitedextrapolation1.cc
+++ b/tests/Grid/limitedextrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::limited_congruence_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/limitedextrapolation2.cc b/tests/Grid/limitedextrapolation2.cc
index f53a0ee..bb159fc 100644
--- a/tests/Grid/limitedextrapolation2.cc
+++ b/tests/Grid/limitedextrapolation2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::limited_generator_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/limitedextrapolation3.cc b/tests/Grid/limitedextrapolation3.cc
index 187873d..16fe600 100644
--- a/tests/Grid/limitedextrapolation3.cc
+++ b/tests/Grid/limitedextrapolation3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::limited_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/mapspacedims1.cc b/tests/Grid/mapspacedims1.cc
index 9ce725f..c2f018d 100644
--- a/tests/Grid/mapspacedims1.cc
+++ b/tests/Grid/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::map_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/maxmin1.cc b/tests/Grid/maxmin1.cc
index 98a19d6..92f2521 100644
--- a/tests/Grid/maxmin1.cc
+++ b/tests/Grid/maxmin1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::maximize(const Linear_Expression&, ...)
    and Grid::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -482,6 +482,23 @@ test12() {
   return ok;
 }
 
+// Unbounded grid in 1D where the generator system is up-to-date but
+// not minimized.
+bool
+test13() {
+  Variable A(0);
+
+  Grid gr(1, EMPTY);
+  gr.add_grid_generator(grid_point(A));
+  gr.add_grid_generator(grid_point(A, 2));
+  print_generators(gr, "*** gr generators before ***");
+
+  bool ok = check_both(gr, A, "gr");
+  print_generators(gr, "*** gr generators after ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -497,4 +514,5 @@ BEGIN_MAIN
   DO_TEST(test10);
   DO_TEST(test11);
   DO_TEST(test12);
+  DO_TEST(test13);
 END_MAIN
diff --git a/tests/Grid/membytes1.cc b/tests/Grid/membytes1.cc
index b4552e6..e609278 100644
--- a/tests/Grid/membytes1.cc
+++ b/tests/Grid/membytes1.cc
@@ -1,6 +1,6 @@
 /* Test Grid::total_memory_in_bytes() and
    Grid::external_memory_in_bytes().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/mincongruences1.cc b/tests/Grid/mincongruences1.cc
index 0ff0b8a..ad7096f 100644
--- a/tests/Grid/mincongruences1.cc
+++ b/tests/Grid/mincongruences1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::minimized_congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/mingenerators1.cc b/tests/Grid/mingenerators1.cc
index a083cf5..761d498 100644
--- a/tests/Grid/mingenerators1.cc
+++ b/tests/Grid/mingenerators1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::minimized_grid_generators().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/outputoperator1.cc b/tests/Grid/outputoperator1.cc
index 25c7736..2c0a385 100644
--- a/tests/Grid/outputoperator1.cc
+++ b/tests/Grid/outputoperator1.cc
@@ -1,5 +1,5 @@
 /* Test IO_Operators::operator<<(s, gr).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/outputoperator2.cc b/tests/Grid/outputoperator2.cc
index c59769b..74e2d86 100644
--- a/tests/Grid/outputoperator2.cc
+++ b/tests/Grid/outputoperator2.cc
@@ -1,5 +1,5 @@
 /* Test Grid_Generator IO operators.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/outputoperator3.cc b/tests/Grid/outputoperator3.cc
index aafb892..5679fdc 100644
--- a/tests/Grid/outputoperator3.cc
+++ b/tests/Grid/outputoperator3.cc
@@ -1,5 +1,5 @@
 /* Test Grid_Generator_System IO operators.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/partition1.cc b/tests/Grid/partition1.cc
index 8f5f8c8..3b30f1d 100644
--- a/tests/Grid/partition1.cc
+++ b/tests/Grid/partition1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -38,9 +38,9 @@ partition_aux(const Congruence& c,
   const Coefficient& c_inhomogeneous_term = c.inhomogeneous_term();
   Linear_Expression le(c);
   le -= c_inhomogeneous_term;
-  TEMP_INTEGER(n);
+  PPL_DIRTY_TEMP_COEFFICIENT(n);
   rem_assign(n, c_inhomogeneous_term, c_modulus);
-  TEMP_INTEGER(i);
+  PPL_DIRTY_TEMP_COEFFICIENT(i);
   for (i = c_modulus; i-- > 0; )
     if (i != n) {
       Grid qqq(qq);
diff --git a/tests/Grid/pointsetpowerset1.cc b/tests/Grid/pointsetpowerset1.cc
deleted file mode 100644
index a4b2926..0000000
--- a/tests/Grid/pointsetpowerset1.cc
+++ /dev/null
@@ -1,481 +0,0 @@
-/* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-// Constructs the powerset of grids from a grid.
-bool
-test01() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  Grid gr(4);
-  gr.add_congruence(x %= 2);
-  gr.add_constraint(z == 1);
-
-  Pointset_Powerset<Grid> pps1(gr);
-  Pointset_Powerset<Grid> pps2(4, EMPTY);
-  pps2.add_disjunct(gr);
-
-  bool ok = (pps1 == pps2);
-
-  print_congruences(gr, "*** gr ***");
-  Pointset_Powerset<Grid>::const_iterator i = pps1.begin();
-  Grid gri = i->element();
-  print_congruences(gri, "*** gri ***");
-  Pointset_Powerset<Grid>::const_iterator i2 = pps2.begin();
-  Grid gri2 = i2->element();
-  print_congruences(gri2, "*** gri2 ***");
-
-  return ok && pps1.OK();
-}
-
-// Constructs the powerset of grids from an empty grid.
-bool
-test02() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2, EMPTY);
-
-  Pointset_Powerset<Grid> pps(gr);
-
-  Pointset_Powerset<Grid> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of grids from a polyhedron.
-bool
-test03() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph(4);
-  ph.add_constraint(x >= 2);
-  ph.add_constraint(z >= 1);
-  ph.add_constraint(x + z <= 3);
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(x >= 2);
-  ph1.add_constraint(z >= 1);
-  ph1.add_constraint(x + z <= 3);
-
-  // With the default complexity, the implied equalities x = 2 and z = 1.
-  // are found
-  Pointset_Powerset<Grid> pps(ph);
-  // With the polynomial complexity, no implied equalities are found.
-  Pointset_Powerset<Grid> pps1(ph1, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<Grid> known_pps(4);
-  known_pps.add_congruence((x %= 2) / 0);
-  known_pps.add_congruence((z %= 1) / 0);
-  Pointset_Powerset<Grid> known_pps1(4);
-
-  bool ok = (pps == known_pps && pps1 == known_pps1);
-
-  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid gri = i->element();
-  print_congruences(gri, "*** gri ***");
-  Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
-  Grid gri1 = i1->element();
-  print_congruences(gri1, "*** gri1 ***");
-
-  return ok && pps.OK() && pps1.OK();
-}
-
-// Constructs the powerset of grids from a polyhedron whose constraints
-// are inconsistent (i.e., is empty but not marked as empty).
-bool
-test04() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph(4);
-  ph.add_constraint(x >= 2);
-  ph.add_constraint(z >= 1);
-  ph.add_constraint(x + z <= 2);
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(x >= 2);
-  ph1.add_constraint(z >= 1);
-  ph1.add_constraint(x + z <= 2);
-
-  // With the default complexity, the built powerset is empty.
-  Pointset_Powerset<Grid> pps(ph);
-  // With the polynomial complexity, the built powerset is the universe.
-  Pointset_Powerset<Grid> pps1(ph1, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<Grid> known_pps(4, EMPTY);
-  Pointset_Powerset<Grid> known_pps1(4);
-
-  bool ok = (pps == known_pps && pps1 == known_pps1);
-
-  Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
-  Grid gri1 = i1->element();
-  print_congruences(gri1, "*** gri1 ***");
-
-  return ok && pps.OK() && pps1.OK();
-}
-
-// Constructs the powerset of grids from an empty polyhedron.
-bool
-test05() {
-  Variable x(0);
-  Variable y(1);
-
-  NNC_Polyhedron ph(2, EMPTY);
-
-  Pointset_Powerset<Grid> pps(ph);
-
-  Pointset_Powerset<Grid> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of grids from a bd shape.
-bool
-test06() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2);
-  bds.add_constraint(x == 0);
-  bds.add_constraint(x - y <= 1);
-  bds.add_constraint(y >= 0);
-
-  Pointset_Powerset<Grid> pps(bds);
-
-  Pointset_Powerset<Grid> known_pps(2);
-  known_pps.add_congruence((x %= 0) / 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid phi = i->element();
-  print_congruences(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of grids from an empty bd shape.
-bool
-test07() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2, EMPTY);
-
-  Pointset_Powerset<Grid> pps(bds);
-
-  Pointset_Powerset<Grid> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of grids from an octagonal shape.
-bool
-test08() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2);
-  os.add_constraint(x >= 0);
-  os.add_constraint(x + y <= 4);
-  os.add_constraint(x - y == 3);
-  os.add_constraint(y >= 0);
-
-  // Complexity should be ignored.
-  Pointset_Powerset<Grid> pps(os, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<Grid> known_pps(2);
-  known_pps.add_constraint(x - y == 3);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid phi = i->element();
-  print_congruences(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of grids from an empty octagonal shape.
-bool
-test09() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2, EMPTY);
-
-  Pointset_Powerset<Grid> pps(os);
-
-  Pointset_Powerset<Grid> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of grids from a box.
-bool
-test10() {
-  Variable x(0);
-  Variable y(1);
-
-  Rational_Box box(2);
-  box.add_constraint(x >= 0);
-  box.add_constraint(2*x == 1);
-  box.add_constraint(y >= 0);
-
-  Pointset_Powerset<Grid> pps(box);
-
-  Pointset_Powerset<Grid> known_pps(2);
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid phi = i->element();
-  print_congruences(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of grids from an empty box.
-bool
-test11() {
-  Variable x(0);
-  Variable y(1);
-
-  Rational_Box box(2, EMPTY);
-
-  Pointset_Powerset<Grid> pps(box);
-
-  Pointset_Powerset<Grid> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of grids from a powerset of grids.
-bool
-test12() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid grid(2);
-  grid.add_congruence((2*x %= 1) / 0);
-  grid.add_congruence(y %= 0);
-
-  Pointset_Powerset<Grid> pps_gr(grid);
-
-  Pointset_Powerset<Grid> pps(pps_gr);
-
-  Pointset_Powerset<Grid> known_pps(2);
-
-  known_pps.add_constraint(2*x == 1);
-  known_pps.add_congruence(y %= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
-  Grid gri = i->element();
-  print_congruences(gri, "*** gri ***");
-
-  return ok;
-}
-
-// Constructs the powerset of grids from a powerset of polyhedra.
-bool
-test13() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(2*x >= 1);
-  cs.insert(2*x + y <= 1);
-  cs.insert(y >= 0);
-  C_Polyhedron ph1(cs);
-  C_Polyhedron ph2(cs);
-
-  Pointset_Powerset<C_Polyhedron> pps1_c(ph1, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<C_Polyhedron> pps2_c(ph2);
-
-  Pointset_Powerset<Grid> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<Grid> pps2(pps2_c);
-
-  Pointset_Powerset<Grid> known_pps1(2);
-  Pointset_Powerset<Grid> known_pps2(2);
-  known_pps2.add_constraint(2*x == 1);
-  known_pps2.add_constraint(y == 0);
-
-  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
-
-  Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
-  Grid gri1 = i1->element();
-  print_congruences(gri1, "*** gri1 ***");
-
-  Pointset_Powerset<Grid>::const_iterator i2 = pps2.begin();
-  Grid gri2 = i2->element();
-  print_congruences(gri2, "*** gri2 ***");
-
-  return ok;
-}
-
-// Constructs the powerset of grids from a powerset of bd shapes.
-bool
-test14() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x - y <= 1);
-  cs.insert(y <= 0);
-  TBD_Shape bd(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBD_Shape> pps_bd(bd, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBD_Shape>::const_iterator i_bd = pps_bd.begin();
-  TBD_Shape bdi = i_bd->element();
-  print_constraints(bdi, "*** bdi ***");
-
-  // The complexity should be ignored.
-  Pointset_Powerset<Grid> pps(pps_bd, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<Grid> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y == 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
-  Grid gri = i_gr->element();
-  print_congruences(gri, "*** gri ***");
-
-  return ok;
-}
-
-// Constructs the powerset of grids from a powerset of octagonal shapes.
-bool
-test15() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x - y <= 1);
-  cs.insert(y <= 0);
-  TOctagonal_Shape os(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps_os.begin();
-  TOctagonal_Shape osi = i_os->element();
-  print_constraints(osi, "*** osi ***");
-
-  // The complexity should be ignored.
-  Pointset_Powerset<Grid> pps(pps_os, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<Grid> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y == 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
-  Grid gri = i_gr->element();
-  print_congruences(gri, "*** gri ***");
-
-  return ok;
-}
-
-// Constructs the powerset of grids from a powerset of boxes.
-bool
-test16() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x <= 1);
-  cs.insert(y <= 0);
-  TBox box(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TBox>::const_iterator i_box = pps_box.begin();
-  TBox boxi = i_box->element();
-  print_constraints(boxi, "*** boxi ***");
-
-  // The complexity should be ignored.
-  Pointset_Powerset<Grid> pps(pps_box, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<Grid> known_pps(2);
-  known_pps.add_constraint(x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
-  Grid gri = i_gr->element();
-  print_congruences(gri, "*** gri ***");
-
-  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);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-END_MAIN
diff --git a/tests/Grid/powersetdifference1.cc b/tests/Grid/powersetdifference1.cc
index 95907ee..ba067a7 100644
--- a/tests/Grid/powersetdifference1.cc
+++ b/tests/Grid/powersetdifference1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/powersetgeometricallycovers1.cc b/tests/Grid/powersetgeometricallycovers1.cc
index 2a719e4..5920ead 100644
--- a/tests/Grid/powersetgeometricallycovers1.cc
+++ b/tests/Grid/powersetgeometricallycovers1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/powersetgeometricallyequals1.cc b/tests/Grid/powersetgeometricallyequals1.cc
index 7e70dee..8b32d06 100644
--- a/tests/Grid/powersetgeometricallyequals1.cc
+++ b/tests/Grid/powersetgeometricallyequals1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<Grid>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/refinewithcongruences1.cc b/tests/Grid/refinewithcongruences1.cc
index b4d2dd8..8017acd 100644
--- a/tests/Grid/refinewithcongruences1.cc
+++ b/tests/Grid/refinewithcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test refine_with_congruence() and refine_with_congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/refinewithconstraints1.cc b/tests/Grid/refinewithconstraints1.cc
index 17dc56c..bc0183e 100644
--- a/tests/Grid/refinewithconstraints1.cc
+++ b/tests/Grid/refinewithconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test refine_with_constraint() and refine_with_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/relations1.cc b/tests/Grid/relations1.cc
index 9ca2ba3..d75b8cf 100644
--- a/tests/Grid/relations1.cc
+++ b/tests/Grid/relations1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::relation_with(g).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/relations2.cc b/tests/Grid/relations2.cc
index 1336382..ca650c8 100644
--- a/tests/Grid/relations2.cc
+++ b/tests/Grid/relations2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::relation_with(cg).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/relations3.cc b/tests/Grid/relations3.cc
index 1c6331f..275ecdc 100644
--- a/tests/Grid/relations3.cc
+++ b/tests/Grid/relations3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::relation_with(const Constraint&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/removespacedims1.cc b/tests/Grid/removespacedims1.cc
index 3fbc2ce..8d3cda0 100644
--- a/tests/Grid/removespacedims1.cc
+++ b/tests/Grid/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::remove_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/removespacedims2.cc b/tests/Grid/removespacedims2.cc
index 5be9c78..7a7c9f7 100644
--- a/tests/Grid/removespacedims2.cc
+++ b/tests/Grid/removespacedims2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::remove_higher_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/simplifyusingcontext1.cc b/tests/Grid/simplifyusingcontext1.cc
new file mode 100644
index 0000000..9959d7d
--- /dev/null
+++ b/tests/Grid/simplifyusingcontext1.cc
@@ -0,0 +1,500 @@
+/* Test Grid::simplify_using_context_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x %= 0) / 2);
+  gr1.add_congruence((y %= 0) / 2);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(gr1);
+  gr2.affine_image(x, x + 6);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2, UNIVERSE);
+
+  bool ok = gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x %= 0) / 2);
+  gr1.add_congruence((y %= 0) / 2);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(gr1);
+  gr2.affine_image(x, x + 1);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2, UNIVERSE);
+  known_result.add_congruence((x %= 0) / 2);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x %= 0) / 2);
+  gr1.add_congruence((y %= 0) / 2);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2, UNIVERSE);
+  gr2.add_congruence((x %= 0) / 4);
+  gr2.add_congruence((y %= 0) / 1);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2, UNIVERSE);
+  known_result.add_congruence((y %= 0) / 2);
+
+  bool ok = gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x %= 0) / 0);
+  gr1.add_congruence((y %= 0) / 2);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2, UNIVERSE);
+  gr2.add_congruence((x %= 0) / 4);
+  gr2.add_congruence((y %= 0) / 0);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2, UNIVERSE);
+  known_result.add_congruence((x %= 0) / 0);
+
+  bool ok = gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x + y %= 0) / 0);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2, UNIVERSE);
+  gr2.add_congruence((x %= 0) / 0);
+  gr2.add_congruence((y %= 0) / 0);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2, UNIVERSE);
+
+  bool ok = gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x %= 0) / 0);
+  gr1.add_congruence((y %= 0) / 0);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2);
+  gr2.add_congruence((x + y %= 0) / 0);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result1(2);
+  known_result1.add_congruence((x %= 0) / 0);
+  Grid known_result2(2);
+  known_result2.add_congruence((y %= 0) / 0);
+
+  bool ok = gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result1 || gr1 == known_result2);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x %= 0) / 1);
+  gr1.add_congruence((y %= 0) / 1);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2);
+  gr2.add_congruence((x + y %= 0) / 1);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result1(2);
+  known_result1.add_congruence((x %= 0) / 1);
+  Grid known_result2(2);
+  known_result2.add_congruence((y %= 0) / 1);
+
+  bool ok = gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result1 || gr1 == known_result2);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2, EMPTY);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2);
+  gr2.add_congruence((x + y %= 0) / 0);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2);
+  known_result.add_congruence((x + y %= 1) / 0);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2, EMPTY);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2);
+  gr2.add_congruence((x + y %= 0) / 1);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2);
+  known_result.add_congruence((2*x + 2*y %= 1) / 0);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2, EMPTY);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2);
+  gr2.add_congruence((x + y %= 0) / 2);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2);
+  known_result.add_congruence((x + y %= 1) / 0);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr1(2);
+  gr1.add_congruence((x + y %= 0) / 2);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(2, EMPTY);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(2);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  Grid gr1(3);
+  gr1.add_congruence((x + 2*z %= 2) / 4);
+  gr1.add_congruence((y + z %= 2) / 4);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(3);
+  gr2.add_congruence((z %= 1) / 4);
+  gr2.add_congruence((y %= 1) / 4);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(3);
+  known_result.add_congruence((2*y - x %= 2) / 4);
+
+  Grid gr3(gr1);
+  gr3.intersection_assign_and_minimize(gr2);
+  print_congruences(gr3,
+                    "*** gr3.intersection_assign(gr2) ***");
+  Grid gr4(gr1);
+
+  bool ok = gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+
+  gr4.intersection_assign_and_minimize(gr2);
+  print_congruences(gr4,
+                    "*** gr4.intersection_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  Grid gr1(3);
+  gr1.add_congruence((x - 2*y %= 2) / 4);
+  gr1.add_congruence((x + 2*z %= 1) / 2);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(3);
+  gr2.add_congruence((2*z %= 1) / 2);
+  gr2.add_congruence((2*y %= 1) / 2);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(gr1);
+
+  Grid gr3(gr1);
+  gr3.intersection_assign_and_minimize(gr2);
+  print_congruences(gr3,
+                    "*** gr3.intersection_assign(gr2) ***");
+  Grid gr4(gr1);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+
+  gr4.intersection_assign_and_minimize(gr2);
+  print_congruences(gr4,
+                    "*** gr4.intersection_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test14() {
+
+  Grid gr1(0, EMPTY);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(0, EMPTY);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(0, UNIVERSE);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                   "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test15() {
+
+  Grid gr1(0, EMPTY);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(0);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(0, EMPTY);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test16() {
+
+  Grid gr1(0);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(0, EMPTY);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(0);
+
+  bool ok = !gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  return ok;
+}
+
+bool
+test17() {
+
+  Grid gr1(0);
+
+  print_congruences(gr1, "*** gr1 ***");
+
+  Grid gr2(0);
+
+  print_congruences(gr2, "*** gr2 ***");
+
+  Grid known_result(0);
+
+  bool ok = gr1.simplify_using_context_assign(gr2);
+  ok &= (gr1 == known_result);
+
+  print_congruences(gr1,
+                    "*** gr1.simplify_using_context_assign(gr2) ***");
+  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);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST(test16);
+  DO_TEST(test17);
+END_MAIN
diff --git a/tests/Grid/timeelapse1.cc b/tests/Grid/timeelapse1.cc
index fcd30b6..c1cae9f 100644
--- a/tests/Grid/timeelapse1.cc
+++ b/tests/Grid/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::time_elapse_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/topclosed1.cc b/tests/Grid/topclosed1.cc
index 04e90c6..9a62ad9 100644
--- a/tests/Grid/topclosed1.cc
+++ b/tests/Grid/topclosed1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::is_topologically_closed().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/topclosure1.cc b/tests/Grid/topclosure1.cc
index dd7f6e9..aba1dd7 100644
--- a/tests/Grid/topclosure1.cc
+++ b/tests/Grid/topclosure1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::topological_closure_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/unconstrain1.cc b/tests/Grid/unconstrain1.cc
index a9805a1..cefb65a 100644
--- a/tests/Grid/unconstrain1.cc
+++ b/tests/Grid/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::unconstrain().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/upperbound1.cc b/tests/Grid/upperbound1.cc
index 69bfb1a..93e25ba 100644
--- a/tests/Grid/upperbound1.cc
+++ b/tests/Grid/upperbound1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::upper_bound_assign()
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/upperbound2.cc b/tests/Grid/upperbound2.cc
index 8042862..4ef1965 100644
--- a/tests/Grid/upperbound2.cc
+++ b/tests/Grid/upperbound2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::upper_bound_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/widening1.cc b/tests/Grid/widening1.cc
index 291332d..6fa90d6 100644
--- a/tests/Grid/widening1.cc
+++ b/tests/Grid/widening1.cc
@@ -1,5 +1,5 @@
 /* Test Grid::congruence_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/widening2.cc b/tests/Grid/widening2.cc
index e994e36..4fb49a4 100644
--- a/tests/Grid/widening2.cc
+++ b/tests/Grid/widening2.cc
@@ -1,5 +1,5 @@
 /* Test Grid::generator_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/widening3.cc b/tests/Grid/widening3.cc
index 85ebf6b..36a6411 100644
--- a/tests/Grid/widening3.cc
+++ b/tests/Grid/widening3.cc
@@ -1,5 +1,5 @@
 /* Test Grid::widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Grid/writecongruencesystem.cc b/tests/Grid/writecongruencesystem.cc
index 0e34adf..b82f8b0 100644
--- a/tests/Grid/writecongruencesystem.cc
+++ b/tests/Grid/writecongruencesystem.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Congruence_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/MIP_Problem/Makefile.am b/tests/MIP_Problem/Makefile.am
index 7f46ee4..c3e6d87 100644
--- a/tests/MIP_Problem/Makefile.am
+++ b/tests/MIP_Problem/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,9 +36,8 @@ endif !VALGRIND_TESTS_ENABLED
 TESTS_ENVIRONMENT = $(CHECKER)
 
 AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
 -I$(top_builddir)/src \
--I$(top_builddir)/Watchdog \
--I$(top_builddir)/Watchdog/src \
 -I$(top_srcdir)/utils \
 -I$(top_srcdir)/tests \
 @extra_includes@ \
@@ -54,7 +53,6 @@ TESTS = \
 ascii_dump_load1 \
 exceptions1 \
 mipproblem1 \
-mipproblem2 \
 mipproblem3
 
 XFAIL_TESTS =
@@ -87,7 +85,10 @@ mipproblem2_LDADD = $(LDADD) $(top_builddir)/Watchdog/src/libpwl.la
 
 endif BUILD_WATCHDOG_LIBRARY
 
-check_PROGRAMS = $(TESTS) $(BUGS)
+check_PROGRAMS = \
+$(TESTS) \
+$(WATCHDOG_TESTS) \
+$(BUGS)
 
 EXTRA_DIST = $(mipproblem2_SRCS)
 
diff --git a/tests/MIP_Problem/Makefile.in b/tests/MIP_Problem/Makefile.in
index 3d0bbd6..67d9d2b 100644
--- a/tests/MIP_Problem/Makefile.in
+++ b/tests/MIP_Problem/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -54,9 +54,9 @@ POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
 TESTS = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
-	mipproblem1$(EXEEXT) mipproblem2$(EXEEXT) mipproblem3$(EXEEXT)
+	mipproblem1$(EXEEXT) mipproblem3$(EXEEXT)
 XFAIL_TESTS =
-check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3)
 subdir = tests/MIP_Problem
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -82,12 +82,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -95,8 +94,9 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
 am__EXEEXT_1 = ascii_dump_load1$(EXEEXT) exceptions1$(EXEEXT) \
-	mipproblem1$(EXEEXT) mipproblem2$(EXEEXT) mipproblem3$(EXEEXT)
-am__EXEEXT_2 =
+	mipproblem1$(EXEEXT) mipproblem3$(EXEEXT)
+ at BUILD_WATCHDOG_LIBRARY_TRUE@am__EXEEXT_2 = mipproblem2$(EXEEXT)
+am__EXEEXT_3 =
 am_ascii_dump_load1_OBJECTS = ascii_dump_load1.$(OBJEXT)
 ascii_dump_load1_OBJECTS = $(am_ascii_dump_load1_OBJECTS)
 ascii_dump_load1_LDADD = $(LDADD)
@@ -209,6 +209,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -217,6 +219,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -291,6 +294,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -336,9 +340,8 @@ xsb_prolog = @xsb_prolog@
 
 TESTS_ENVIRONMENT = $(CHECKER)
 AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
 -I$(top_builddir)/src \
--I$(top_builddir)/Watchdog \
--I$(top_builddir)/Watchdog/src \
 -I$(top_srcdir)/utils \
 -I$(top_srcdir)/tests \
 @extra_includes@ \
diff --git a/tests/MIP_Problem/ascii_dump_load1.cc b/tests/MIP_Problem/ascii_dump_load1.cc
index 826abcd..decfce7 100644
--- a/tests/MIP_Problem/ascii_dump_load1.cc
+++ b/tests/MIP_Problem/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test MIP_Problem::ascii_dump() and MIP_Problem::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/MIP_Problem/exceptions1.cc b/tests/MIP_Problem/exceptions1.cc
index 19c2dee..1662ef3 100644
--- a/tests/MIP_Problem/exceptions1.cc
+++ b/tests/MIP_Problem/exceptions1.cc
@@ -1,5 +1,5 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -485,6 +485,8 @@ test19() {
 } // namespace
 
 BEGIN_MAIN
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test01);
   DO_TEST(test02);
   DO_TEST(test03);
@@ -504,4 +506,5 @@ BEGIN_MAIN
   DO_TEST(test17);
   DO_TEST(test18);
   DO_TEST(test19);
+#endif
 END_MAIN
diff --git a/tests/MIP_Problem/mipproblem1.cc b/tests/MIP_Problem/mipproblem1.cc
index 1c54fa6..22e14ba 100644
--- a/tests/MIP_Problem/mipproblem1.cc
+++ b/tests/MIP_Problem/mipproblem1.cc
@@ -1,5 +1,5 @@
 /* Test the MIP_Problem class.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/MIP_Problem/mipproblem2.cc b/tests/MIP_Problem/mipproblem2.cc
index e021372..aad13b0 100644
--- a/tests/MIP_Problem/mipproblem2.cc
+++ b/tests/MIP_Problem/mipproblem2.cc
@@ -1,5 +1,5 @@
 /* Test the MIP_Problem class with instances that require a watchdog timer.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/MIP_Problem/mipproblem3.cc b/tests/MIP_Problem/mipproblem3.cc
index ee08cf1..b072bdc 100644
--- a/tests/MIP_Problem/mipproblem3.cc
+++ b/tests/MIP_Problem/mipproblem3.cc
@@ -1,5 +1,5 @@
 /* Test the MIP_Problem class.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 0511fcd..40f075a 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 391a132..65727a5 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -80,12 +80,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -191,6 +190,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -199,6 +200,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -273,6 +275,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
diff --git a/tests/Octagonal_Shape/Makefile.am b/tests/Octagonal_Shape/Makefile.am
index 3a3b226..e334116 100644
--- a/tests/Octagonal_Shape/Makefile.am
+++ b/tests/Octagonal_Shape/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -104,16 +104,17 @@ max_min2 \
 maxspacedim1 \
 membytes1 \
 minconstraints1 \
-pointsetpowerset1 \
 relatwithcons1 \
 relatwithcons2 \
 relatwithcons3 \
 relatwithgen1 \
 removespacedims1 \
+simplifyusingcontext1 \
 timeelapse1 \
 unconstrain1 \
 universe1 \
 upperbound1 \
+upperboundifexact1 \
 writeoctagon1
 
 
@@ -124,8 +125,9 @@ dist_check_SCRIPTS = run_tests
 
 TESTS = run_tests.stamp
 
+.PHONY: run_tests.stamp
 run_tests.stamp: run_tests
-	+$(srcdir)/run_tests
+	+MAKE=$(MAKE) $(srcdir)/run_tests
 	echo "true" >run_tests.stamp
 	chmod +x run_tests.stamp
 
@@ -259,8 +261,6 @@ membytes1_SOURCES = membytes1.cc
 
 minconstraints1_SOURCES = minconstraints1.cc
 
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
-
 relatwithcons1_SOURCES = relatwithcons1.cc
 relatwithcons2_SOURCES = relatwithcons2.cc
 relatwithcons3_SOURCES = relatwithcons3.cc
@@ -269,6 +269,8 @@ relatwithgen1_SOURCES = relatwithgen1.cc
 
 removespacedims1_SOURCES = removespacedims1.cc
 
+simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
+
 timeelapse1_SOURCES = timeelapse1.cc
 
 unconstrain1_SOURCES = unconstrain1.cc
@@ -277,6 +279,8 @@ universe1_SOURCES = universe1.cc
 
 upperbound1_SOURCES = upperbound1.cc
 
+upperboundifexact1_SOURCES = upperboundifexact1.cc
+
 writeoctagon1_SOURCES = writeoctagon1.cc
 
 
@@ -285,3 +289,6 @@ ascii_dump_load1.dat
 
 CLEANFILES = \
 run_tests.stamp
+
+DISTCLEANFILES = \
+dirty_marker
diff --git a/tests/Octagonal_Shape/Makefile.in b/tests/Octagonal_Shape/Makefile.in
index e4f9eca..27c2bcc 100644
--- a/tests/Octagonal_Shape/Makefile.in
+++ b/tests/Octagonal_Shape/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -82,11 +82,12 @@ check_PROGRAMS = addspacedims1$(EXEEXT) affinedimension1$(EXEEXT) \
 	limitedcc76extrapolation1$(EXEEXT) mapspacedims1$(EXEEXT) \
 	max_min1$(EXEEXT) max_min2$(EXEEXT) maxspacedim1$(EXEEXT) \
 	membytes1$(EXEEXT) minconstraints1$(EXEEXT) \
-	pointsetpowerset1$(EXEEXT) relatwithcons1$(EXEEXT) \
-	relatwithcons2$(EXEEXT) relatwithcons3$(EXEEXT) \
-	relatwithgen1$(EXEEXT) removespacedims1$(EXEEXT) \
+	relatwithcons1$(EXEEXT) relatwithcons2$(EXEEXT) \
+	relatwithcons3$(EXEEXT) relatwithgen1$(EXEEXT) \
+	removespacedims1$(EXEEXT) simplifyusingcontext1$(EXEEXT) \
 	timeelapse1$(EXEEXT) unconstrain1$(EXEEXT) universe1$(EXEEXT) \
-	upperbound1$(EXEEXT) writeoctagon1$(EXEEXT)
+	upperbound1$(EXEEXT) upperboundifexact1$(EXEEXT) \
+	writeoctagon1$(EXEEXT)
 XFAIL_TESTS =
 subdir = tests/Octagonal_Shape
 DIST_COMMON = $(dist_check_SCRIPTS) $(srcdir)/Makefile.am \
@@ -114,12 +115,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -482,12 +482,6 @@ minconstraints1_LDADD = $(LDADD)
 minconstraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_pointsetpowerset1_OBJECTS = pointsetpowerset1.$(OBJEXT)
-pointsetpowerset1_OBJECTS = $(am_pointsetpowerset1_OBJECTS)
-pointsetpowerset1_LDADD = $(LDADD)
-pointsetpowerset1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
 am_relatwithcons1_OBJECTS = relatwithcons1.$(OBJEXT)
 relatwithcons1_OBJECTS = $(am_relatwithcons1_OBJECTS)
 relatwithcons1_LDADD = $(LDADD)
@@ -518,6 +512,13 @@ removespacedims1_LDADD = $(LDADD)
 removespacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_simplifyusingcontext1_OBJECTS = simplifyusingcontext1.$(OBJEXT)
+simplifyusingcontext1_OBJECTS = $(am_simplifyusingcontext1_OBJECTS)
+simplifyusingcontext1_LDADD = $(LDADD)
+simplifyusingcontext1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_timeelapse1_OBJECTS = timeelapse1.$(OBJEXT)
 timeelapse1_OBJECTS = $(am_timeelapse1_OBJECTS)
 timeelapse1_LDADD = $(LDADD)
@@ -542,6 +543,13 @@ upperbound1_LDADD = $(LDADD)
 upperbound1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_upperboundifexact1_OBJECTS = upperboundifexact1.$(OBJEXT)
+upperboundifexact1_OBJECTS = $(am_upperboundifexact1_OBJECTS)
+upperboundifexact1_LDADD = $(LDADD)
+upperboundifexact1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_writeoctagon1_OBJECTS = writeoctagon1.$(OBJEXT)
 writeoctagon1_OBJECTS = $(am_writeoctagon1_OBJECTS)
 writeoctagon1_LDADD = $(LDADD)
@@ -590,12 +598,13 @@ SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(limitedcc76extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
 	$(max_min1_SOURCES) $(max_min2_SOURCES) \
 	$(maxspacedim1_SOURCES) $(membytes1_SOURCES) \
-	$(minconstraints1_SOURCES) $(pointsetpowerset1_SOURCES) \
-	$(relatwithcons1_SOURCES) $(relatwithcons2_SOURCES) \
-	$(relatwithcons3_SOURCES) $(relatwithgen1_SOURCES) \
-	$(removespacedims1_SOURCES) $(timeelapse1_SOURCES) \
+	$(minconstraints1_SOURCES) $(relatwithcons1_SOURCES) \
+	$(relatwithcons2_SOURCES) $(relatwithcons3_SOURCES) \
+	$(relatwithgen1_SOURCES) $(removespacedims1_SOURCES) \
+	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
-	$(upperbound1_SOURCES) $(writeoctagon1_SOURCES)
+	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
+	$(writeoctagon1_SOURCES)
 DIST_SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(affineimage1_SOURCES) $(affineimage2_SOURCES) \
 	$(affinepreimage1_SOURCES) $(affinepreimage2_SOURCES) \
@@ -626,12 +635,13 @@ DIST_SOURCES = $(addspacedims1_SOURCES) $(affinedimension1_SOURCES) \
 	$(limitedcc76extrapolation1_SOURCES) $(mapspacedims1_SOURCES) \
 	$(max_min1_SOURCES) $(max_min2_SOURCES) \
 	$(maxspacedim1_SOURCES) $(membytes1_SOURCES) \
-	$(minconstraints1_SOURCES) $(pointsetpowerset1_SOURCES) \
-	$(relatwithcons1_SOURCES) $(relatwithcons2_SOURCES) \
-	$(relatwithcons3_SOURCES) $(relatwithgen1_SOURCES) \
-	$(removespacedims1_SOURCES) $(timeelapse1_SOURCES) \
+	$(minconstraints1_SOURCES) $(relatwithcons1_SOURCES) \
+	$(relatwithcons2_SOURCES) $(relatwithcons3_SOURCES) \
+	$(relatwithgen1_SOURCES) $(removespacedims1_SOURCES) \
+	$(simplifyusingcontext1_SOURCES) $(timeelapse1_SOURCES) \
 	$(unconstrain1_SOURCES) $(universe1_SOURCES) \
-	$(upperbound1_SOURCES) $(writeoctagon1_SOURCES)
+	$(upperbound1_SOURCES) $(upperboundifexact1_SOURCES) \
+	$(writeoctagon1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -691,6 +701,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -699,6 +711,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -773,6 +786,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -910,16 +924,17 @@ max_min1_SOURCES = max_min1.cc
 max_min2_SOURCES = max_min2.cc
 membytes1_SOURCES = membytes1.cc
 minconstraints1_SOURCES = minconstraints1.cc
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
 relatwithcons1_SOURCES = relatwithcons1.cc
 relatwithcons2_SOURCES = relatwithcons2.cc
 relatwithcons3_SOURCES = relatwithcons3.cc
 relatwithgen1_SOURCES = relatwithgen1.cc
 removespacedims1_SOURCES = removespacedims1.cc
+simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 timeelapse1_SOURCES = timeelapse1.cc
 unconstrain1_SOURCES = unconstrain1.cc
 universe1_SOURCES = universe1.cc
 upperbound1_SOURCES = upperbound1.cc
+upperboundifexact1_SOURCES = upperboundifexact1.cc
 writeoctagon1_SOURCES = writeoctagon1.cc
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat
@@ -927,6 +942,9 @@ ascii_dump_load1.dat
 CLEANFILES = \
 run_tests.stamp
 
+DISTCLEANFILES = \
+dirty_marker
+
 all: all-am
 
 .SUFFIXES:
@@ -1126,9 +1144,6 @@ membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES)
 minconstraints1$(EXEEXT): $(minconstraints1_OBJECTS) $(minconstraints1_DEPENDENCIES) 
 	@rm -f minconstraints1$(EXEEXT)
 	$(CXXLINK) $(minconstraints1_OBJECTS) $(minconstraints1_LDADD) $(LIBS)
-pointsetpowerset1$(EXEEXT): $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_DEPENDENCIES) 
-	@rm -f pointsetpowerset1$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_LDADD) $(LIBS)
 relatwithcons1$(EXEEXT): $(relatwithcons1_OBJECTS) $(relatwithcons1_DEPENDENCIES) 
 	@rm -f relatwithcons1$(EXEEXT)
 	$(CXXLINK) $(relatwithcons1_OBJECTS) $(relatwithcons1_LDADD) $(LIBS)
@@ -1144,6 +1159,9 @@ relatwithgen1$(EXEEXT): $(relatwithgen1_OBJECTS) $(relatwithgen1_DEPENDENCIES)
 removespacedims1$(EXEEXT): $(removespacedims1_OBJECTS) $(removespacedims1_DEPENDENCIES) 
 	@rm -f removespacedims1$(EXEEXT)
 	$(CXXLINK) $(removespacedims1_OBJECTS) $(removespacedims1_LDADD) $(LIBS)
+simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
+	@rm -f simplifyusingcontext1$(EXEEXT)
+	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
 timeelapse1$(EXEEXT): $(timeelapse1_OBJECTS) $(timeelapse1_DEPENDENCIES) 
 	@rm -f timeelapse1$(EXEEXT)
 	$(CXXLINK) $(timeelapse1_OBJECTS) $(timeelapse1_LDADD) $(LIBS)
@@ -1156,6 +1174,9 @@ universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES)
 upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
 	@rm -f upperbound1$(EXEEXT)
 	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
+upperboundifexact1$(EXEEXT): $(upperboundifexact1_OBJECTS) $(upperboundifexact1_DEPENDENCIES) 
+	@rm -f upperboundifexact1$(EXEEXT)
+	$(CXXLINK) $(upperboundifexact1_OBJECTS) $(upperboundifexact1_LDADD) $(LIBS)
 writeoctagon1$(EXEEXT): $(writeoctagon1_OBJECTS) $(writeoctagon1_DEPENDENCIES) 
 	@rm -f writeoctagon1$(EXEEXT)
 	$(CXXLINK) $(writeoctagon1_OBJECTS) $(writeoctagon1_LDADD) $(LIBS)
@@ -1219,16 +1240,17 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/maxspacedim1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/membytes1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/minconstraints1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relatwithcons1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relatwithcons2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relatwithcons3.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relatwithgen1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/removespacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplifyusingcontext1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/timeelapse1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/unconstrain1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperboundifexact1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/writeoctagon1.Po at am__quote@
 
 .cc.o:
@@ -1433,6 +1455,7 @@ clean-generic:
 
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -1513,8 +1536,9 @@ uninstall-am:
 	tags uninstall uninstall-am
 
 
+.PHONY: run_tests.stamp
 run_tests.stamp: run_tests
-	+$(srcdir)/run_tests
+	+MAKE=$(MAKE) $(srcdir)/run_tests
 	echo "true" >run_tests.stamp
 	chmod +x run_tests.stamp
 
diff --git a/tests/Octagonal_Shape/addspacedims1.cc b/tests/Octagonal_Shape/addspacedims1.cc
index 9d4b860..769e667 100644
--- a/tests/Octagonal_Shape/addspacedims1.cc
+++ b/tests/Octagonal_Shape/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::add_space_dimensions_and_embed() and
    Octagonal_Shape::add_space_dimensions_and_project().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affinedimension1.cc b/tests/Octagonal_Shape/affinedimension1.cc
index f8d7979..8baf253 100644
--- a/tests/Octagonal_Shape/affinedimension1.cc
+++ b/tests/Octagonal_Shape/affinedimension1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affineimage1.cc b/tests/Octagonal_Shape/affineimage1.cc
index fa619a6..5f13405 100644
--- a/tests/Octagonal_Shape/affineimage1.cc
+++ b/tests/Octagonal_Shape/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -437,6 +437,62 @@ test16() {
   return ok;
 }
 
+bool
+test17() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape oct1(2);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(x <= 2);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  oct1.affine_image(y, y + 6);
+
+  TOctagonal_Shape known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 6);
+  known_result.add_constraint(y <= 8);
+
+  bool ok = (oct1 == known_result);
+
+  print_constraints(oct1, "*** oct1.affine_image(y, y + 6) ***");
+
+  return ok;
+}
+
+bool
+test18() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape oct1(2);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(x <= 2);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  oct1.affine_image(y, -y + 6);
+
+  TOctagonal_Shape known_result(2);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 4);
+  known_result.add_constraint(y <= 6);
+
+  bool ok = (oct1 == known_result);
+
+  print_constraints(oct1, "*** oct1.affine_image(y, -y + 6) ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -456,4 +512,6 @@ BEGIN_MAIN
   DO_TEST(test14);
   DO_TEST(test15);
   DO_TEST(test16);
+  DO_TEST(test17);
+  DO_TEST(test18);
 END_MAIN
diff --git a/tests/Octagonal_Shape/affineimage2.cc b/tests/Octagonal_Shape/affineimage2.cc
index 73ef506..1e39bd1 100644
--- a/tests/Octagonal_Shape/affineimage2.cc
+++ b/tests/Octagonal_Shape/affineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affinepreimage1.cc b/tests/Octagonal_Shape/affinepreimage1.cc
index b1b0c73..c21cf4e 100644
--- a/tests/Octagonal_Shape/affinepreimage1.cc
+++ b/tests/Octagonal_Shape/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/affinepreimage2.cc b/tests/Octagonal_Shape/affinepreimage2.cc
index ea77ce9..31220e5 100644
--- a/tests/Octagonal_Shape/affinepreimage2.cc
+++ b/tests/Octagonal_Shape/affinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/ascii_dump_load1.cc b/tests/Octagonal_Shape/ascii_dump_load1.cc
index f783eac..ade4320 100644
--- a/tests/Octagonal_Shape/ascii_dump_load1.cc
+++ b/tests/Octagonal_Shape/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::ascii_dump() and Octagonal_Shape::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/bhmz05widening1.cc b/tests/Octagonal_Shape/bhmz05widening1.cc
index 45a8d0b..d91e066 100644
--- a/tests/Octagonal_Shape/bhmz05widening1.cc
+++ b/tests/Octagonal_Shape/bhmz05widening1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::BHMZ05_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/bhz03widening1.cc b/tests/Octagonal_Shape/bhz03widening1.cc
index 4626cdf..23f7ba7 100644
--- a/tests/Octagonal_Shape/bhz03widening1.cc
+++ b/tests/Octagonal_Shape/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/bounded1.cc b/tests/Octagonal_Shape/bounded1.cc
index e4829e9..1446f78 100644
--- a/tests/Octagonal_Shape/bounded1.cc
+++ b/tests/Octagonal_Shape/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::is_bounded().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/boundedaffineimage1.cc b/tests/Octagonal_Shape/boundedaffineimage1.cc
index fc579d2..5052e61 100644
--- a/tests/Octagonal_Shape/boundedaffineimage1.cc
+++ b/tests/Octagonal_Shape/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::bounded_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -595,7 +595,10 @@ BEGIN_MAIN
   DO_TEST(test13);
   DO_TEST(test14);
   DO_TEST(test15);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test16);
   DO_TEST(test17);
+#endif
   DO_TEST(test18);
 END_MAIN
diff --git a/tests/Octagonal_Shape/boundedaffinepreimage1.cc b/tests/Octagonal_Shape/boundedaffinepreimage1.cc
index a9e1bd4..931a4e7 100644
--- a/tests/Octagonal_Shape/boundedaffinepreimage1.cc
+++ b/tests/Octagonal_Shape/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::bounded_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/bounds1.cc b/tests/Octagonal_Shape/bounds1.cc
index a99dec9..bd26a6d 100644
--- a/tests/Octagonal_Shape/bounds1.cc
+++ b/tests/Octagonal_Shape/bounds1.cc
@@ -1,6 +1,6 @@
 /* Test OctagonalShape::bounds_from_below() and
    Octagonal_Shape::bounds_from_above().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/cc76extrapolation1.cc b/tests/Octagonal_Shape/cc76extrapolation1.cc
index ebe85e7..12dd772 100644
--- a/tests/Octagonal_Shape/cc76extrapolation1.cc
+++ b/tests/Octagonal_Shape/cc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::CC76_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -508,7 +508,10 @@ BEGIN_MAIN
   DO_TEST(test07);
   DO_TEST(test08);
   DO_TEST(test09);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test10);
+#endif
   DO_TEST(test11);
   DO_TEST(test12);
   DO_TEST(test13);
diff --git a/tests/Octagonal_Shape/cc76narrowing1.cc b/tests/Octagonal_Shape/cc76narrowing1.cc
index 13cae1f..e6ceb63 100644
--- a/tests/Octagonal_Shape/cc76narrowing1.cc
+++ b/tests/Octagonal_Shape/cc76narrowing1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::CC76_narrowing_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/chinainit.cc b/tests/Octagonal_Shape/chinainit.cc
index f292b39..288e28d 100644
--- a/tests/Octagonal_Shape/chinainit.cc
+++ b/tests/Octagonal_Shape/chinainit.cc
@@ -1,5 +1,5 @@
 /* Simulate the initialization phase of the China analyzer.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/concatenate1.cc b/tests/Octagonal_Shape/concatenate1.cc
index 9c7a92e..ef298ce 100644
--- a/tests/Octagonal_Shape/concatenate1.cc
+++ b/tests/Octagonal_Shape/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::concatenate_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/congruences1.cc b/tests/Octagonal_Shape/congruences1.cc
index ada2ba0..9897a7a 100644
--- a/tests/Octagonal_Shape/congruences1.cc
+++ b/tests/Octagonal_Shape/congruences1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::congruences(): we compute the system of
    congruences of an octagon  that is defined by a system of
    congruences that contains only a trivially false congruence.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/constrains1.cc b/tests/Octagonal_Shape/constrains1.cc
index 3c00ebf..8eff3cc 100644
--- a/tests/Octagonal_Shape/constrains1.cc
+++ b/tests/Octagonal_Shape/constrains1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::constrains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/constraints1.cc b/tests/Octagonal_Shape/constraints1.cc
index c3d556d..d3f5e65 100644
--- a/tests/Octagonal_Shape/constraints1.cc
+++ b/tests/Octagonal_Shape/constraints1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::constraints(): we compute the system of
    constraints of an octagon  that is defined by a system of
    constraints that contains only a trivially false constraint.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/contains1.cc b/tests/Octagonal_Shape/contains1.cc
index b184229..2f93dd3 100644
--- a/tests/Octagonal_Shape/contains1.cc
+++ b/tests/Octagonal_Shape/contains1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::contains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/containsintegerpoint1.cc b/tests/Octagonal_Shape/containsintegerpoint1.cc
index d73f08a..a8c6bdd 100644
--- a/tests/Octagonal_Shape/containsintegerpoint1.cc
+++ b/tests/Octagonal_Shape/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::contains_integer_point().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/difference1.cc b/tests/Octagonal_Shape/difference1.cc
index 70e2046..bce8453 100644
--- a/tests/Octagonal_Shape/difference1.cc
+++ b/tests/Octagonal_Shape/difference1.cc
@@ -1,7 +1,7 @@
 /* Test Octagonal_Shape::difference_assign(): if `oct1' is
    contained in `oct2', the result of `oct1.difference_assign(oct2)'
    is an empty octagon.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -249,7 +249,10 @@ BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
   DO_TEST(test03);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test04);
+#endif
   DO_TEST(test05);
   DO_TEST(test06);
   DO_TEST(test07);
diff --git a/tests/Octagonal_Shape/discrete1.cc b/tests/Octagonal_Shape/discrete1.cc
index 79c54c7..62b9e50 100644
--- a/tests/Octagonal_Shape/discrete1.cc
+++ b/tests/Octagonal_Shape/discrete1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::is_discrete().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/disjoint1.cc b/tests/Octagonal_Shape/disjoint1.cc
index 207d044..4535d0d 100644
--- a/tests/Octagonal_Shape/disjoint1.cc
+++ b/tests/Octagonal_Shape/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_disjoint_from(const Octagonal_Shape& y).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -184,6 +184,9 @@ BEGIN_MAIN
   DO_TEST(test03);
   DO_TEST(test04);
   DO_TEST(test05);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test06);
+#endif
   DO_TEST(test07);
 END_MAIN
diff --git a/tests/Octagonal_Shape/empty1.cc b/tests/Octagonal_Shape/empty1.cc
index 0187b05..0eac6b3 100644
--- a/tests/Octagonal_Shape/empty1.cc
+++ b/tests/Octagonal_Shape/empty1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::is_empty() .
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/expandspacedim1.cc b/tests/Octagonal_Shape/expandspacedim1.cc
index a4cb196..124ed9b 100644
--- a/tests/Octagonal_Shape/expandspacedim1.cc
+++ b/tests/Octagonal_Shape/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::expand_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/foldspacedims1.cc b/tests/Octagonal_Shape/foldspacedims1.cc
index cb352c5..5f2bac4 100644
--- a/tests/Octagonal_Shape/foldspacedims1.cc
+++ b/tests/Octagonal_Shape/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::fold_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/frombdshape1.cc b/tests/Octagonal_Shape/frombdshape1.cc
index 5e994fc..549b052 100644
--- a/tests/Octagonal_Shape/frombdshape1.cc
+++ b/tests/Octagonal_Shape/frombdshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/frombox1.cc b/tests/Octagonal_Shape/frombox1.cc
index 9baff91..8b455a9 100644
--- a/tests/Octagonal_Shape/frombox1.cc
+++ b/tests/Octagonal_Shape/frombox1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const Box<Interval>&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/fromgensys1.cc b/tests/Octagonal_Shape/fromgensys1.cc
index 4bf889f..70b173e 100644
--- a/tests/Octagonal_Shape/fromgensys1.cc
+++ b/tests/Octagonal_Shape/fromgensys1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const Generator_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/fromgrid1.cc b/tests/Octagonal_Shape/fromgrid1.cc
index f16485d..987b0d9 100644
--- a/tests/Octagonal_Shape/fromgrid1.cc
+++ b/tests/Octagonal_Shape/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/fromoctagonalshape1.cc b/tests/Octagonal_Shape/fromoctagonalshape1.cc
index b70cfa4..5eaf44f 100644
--- a/tests/Octagonal_Shape/fromoctagonalshape1.cc
+++ b/tests/Octagonal_Shape/fromoctagonalshape1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape copy construct, construction from other
    Octagonal shapes and assignment.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/frompolyhedron1.cc b/tests/Octagonal_Shape/frompolyhedron1.cc
index afc987c..7045135 100644
--- a/tests/Octagonal_Shape/frompolyhedron1.cc
+++ b/tests/Octagonal_Shape/frompolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::Octagonal_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/fromspacedim1.cc b/tests/Octagonal_Shape/fromspacedim1.cc
index 7ccfef4..20b323a 100644
--- a/tests/Octagonal_Shape/fromspacedim1.cc
+++ b/tests/Octagonal_Shape/fromspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::Octagonal_Shape(dimension_type, Degenerate_Element).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage1.cc b/tests/Octagonal_Shape/generalizedaffineimage1.cc
index f1bb479..75cec03 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage1.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage2.cc b/tests/Octagonal_Shape/generalizedaffineimage2.cc
index 9fc4171..2f23b7e 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage2.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage3.cc b/tests/Octagonal_Shape/generalizedaffineimage3.cc
index 6ca8ced..a62f328 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage3.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage3.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -579,6 +579,8 @@ BEGIN_MAIN
   DO_TEST(test08);
   DO_TEST(test09);
   DO_TEST(test10);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test11);
   DO_TEST(test12);
   DO_TEST(test13);
@@ -587,6 +589,7 @@ BEGIN_MAIN
   DO_TEST(test16);
   DO_TEST(test17);
   DO_TEST(test18);
+#endif
   DO_TEST(test19);
   DO_TEST(test20);
 END_MAIN
diff --git a/tests/Octagonal_Shape/generalizedaffineimage4.cc b/tests/Octagonal_Shape/generalizedaffineimage4.cc
index 9d29cdd..3fca8d9 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage4.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage4.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffineimage5.cc b/tests/Octagonal_Shape/generalizedaffineimage5.cc
index 3aacffa..0a3efb1 100644
--- a/tests/Octagonal_Shape/generalizedaffineimage5.cc
+++ b/tests/Octagonal_Shape/generalizedaffineimage5.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage1.cc b/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
index a2ac4a3..7f6f979 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage2.cc b/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
index 0780cf9..7d06fed 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -596,7 +596,10 @@ test20() {
 } // namespace
 
 BEGIN_MAIN
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test01);
+#endif
   DO_TEST(test02);
   DO_TEST(test03);
   DO_TEST(test04);
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage3.cc b/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
index b7bf1cb..98b5afb 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage3.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -597,7 +597,10 @@ BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
   DO_TEST(test03);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test04);
+#endif
   DO_TEST(test05);
   DO_TEST(test06);
   DO_TEST(test07);
diff --git a/tests/Octagonal_Shape/generalizedaffinepreimage4.cc b/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
index 3542f73..2ef3c60 100644
--- a/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
+++ b/tests/Octagonal_Shape/generalizedaffinepreimage4.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/intersection1.cc b/tests/Octagonal_Shape/intersection1.cc
index 47170c5..2ad9fdb 100644
--- a/tests/Octagonal_Shape/intersection1.cc
+++ b/tests/Octagonal_Shape/intersection1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::intersection_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc b/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
index 8d49ed1..4ca8ddb 100644
--- a/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
+++ b/tests/Octagonal_Shape/limitedbhmz05extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::limited_BHMZ05_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/limitedcc76extrapolation1.cc b/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
index 489ebce..ce37303 100644
--- a/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
+++ b/tests/Octagonal_Shape/limitedcc76extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::limited_CC76_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/mapspacedims1.cc b/tests/Octagonal_Shape/mapspacedims1.cc
index ebcc96e..88d824f 100644
--- a/tests/Octagonal_Shape/mapspacedims1.cc
+++ b/tests/Octagonal_Shape/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::map_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/max_min1.cc b/tests/Octagonal_Shape/max_min1.cc
index 5e6f051..c0915ac 100644
--- a/tests/Octagonal_Shape/max_min1.cc
+++ b/tests/Octagonal_Shape/max_min1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::maximize(const Linear_Expression&, ...)
    and Octagonal_Shape::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/max_min2.cc b/tests/Octagonal_Shape/max_min2.cc
index 971e62f..60cadea 100644
--- a/tests/Octagonal_Shape/max_min2.cc
+++ b/tests/Octagonal_Shape/max_min2.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::maximize(const Linear_Expression&, ...)
    and Octagonal_Shape::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/maxspacedim1.cc b/tests/Octagonal_Shape/maxspacedim1.cc
index 3d28565..e49dfdf 100644
--- a/tests/Octagonal_Shape/maxspacedim1.cc
+++ b/tests/Octagonal_Shape/maxspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::max_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/membytes1.cc b/tests/Octagonal_Shape/membytes1.cc
index 7b3f0fc..8246c8e 100644
--- a/tests/Octagonal_Shape/membytes1.cc
+++ b/tests/Octagonal_Shape/membytes1.cc
@@ -1,5 +1,5 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/minconstraints1.cc b/tests/Octagonal_Shape/minconstraints1.cc
index db339ec..abf41a2 100644
--- a/tests/Octagonal_Shape/minconstraints1.cc
+++ b/tests/Octagonal_Shape/minconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape<T>::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/pointsetpowerset1.cc b/tests/Octagonal_Shape/pointsetpowerset1.cc
deleted file mode 100644
index 466a690..0000000
--- a/tests/Octagonal_Shape/pointsetpowerset1.cc
+++ /dev/null
@@ -1,488 +0,0 @@
-/* Test Pointset_Powerset<Octagonal_Shape<> >.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-// Constructs the powerset of octagonal_shapes from an octagonal shape.
-bool
-test01() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  TOctagonal_Shape os(4);
-  os.add_constraint(x >= 2);
-  os.add_constraint(x + y <= 4);
-  os.add_constraint(z == 1);
-
-  Pointset_Powerset<TOctagonal_Shape> pps1(os);
-  Pointset_Powerset<TOctagonal_Shape> pps2(4, EMPTY);
-  pps2.add_disjunct(os);
-
-  bool ok = (pps1 == pps2);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps1.begin();
-  TOctagonal_Shape osi = i->element();
-  print_constraints(osi, "*** osi ***");
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i2 = pps2.begin();
-  TOctagonal_Shape osi2 = i2->element();
-  print_constraints(osi2, "*** osi2 ***");
-
-  return ok && pps1.OK();
-}
-
-// Constructs the powerset of octagonal_shapes from an empty octagonal shape.
-bool
-test02() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2, EMPTY);
-
-  Pointset_Powerset<TOctagonal_Shape> pps(os);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a polyhedron.
-bool
-test03() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph(4);
-  ph.add_constraint(3*x >= 2);
-  ph.add_constraint(z >= 1);
-  ph.add_constraint(3*x + z <= 3);
-  C_Polyhedron ph1(ph);
-
-  // With the default complexity, the implied equalities 4*x = 2 and z = 1.
-  // are found
-  Pointset_Powerset<TOctagonal_Shape> pps(ph);
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
-
-  Octagonal_Shape<mpq_class> known_osi(4);
-  known_osi.add_constraint(3*x == 2);
-  known_osi.add_constraint(z == 1);
-
-  bool ok = check_result(osi, known_osi, "1.193e-7", "5.45e-8", "3.98e-8");
-
-  print_constraints(osi, "*** osi ***");
-  print_constraints(known_osi, "*** known_osi ***");
-
-  // With the polynomial complexity, implied equalities are not found.
-  Pointset_Powerset<TOctagonal_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
-  TOctagonal_Shape osi1 = i1->element();
-
-  Octagonal_Shape<mpq_class> known_osi1(4);
-  known_osi1.add_constraint(3*x >= 2);
-  known_osi1.add_constraint(z >= 1);
-
-  ok = check_result(osi1, known_osi1, "1.193e-7", "8.89e-8", "7.95e-8") && ok;
-
-  print_constraints(osi1, "*** osi1 ***");
-  print_constraints(known_osi1, "*** known_osi1 ***");
-
-  ok = ok && pps.OK() && pps1.OK();
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i_ok = pps.begin();
-  TOctagonal_Shape osi_ok = i_ok->element();
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i1_ok = pps1.begin();
-  TOctagonal_Shape osi1_ok = i1_ok->element();
-
-  print_constraints(osi_ok, "*** osi after OK() ***");
-  print_constraints(osi1_ok, "*** osi1 after OK() ***");
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a polyhedron whose
-// constraints are inconsistent (i.e., is empty but not marked as
-// empty).
-bool
-test04() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph(4);
-  ph.add_constraint(3*x >= 2);
-  ph.add_constraint(z >= 1);
-  ph.add_constraint(3*x + z <= 2);
-  C_Polyhedron ph1(ph);
-
-  // With the default complexity, the built powerset is empty.
-  Pointset_Powerset<TOctagonal_Shape> pps(ph);
-  // With the polynomial complexity, the built powerset is non-empty.
-  Pointset_Powerset<TOctagonal_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
-
-  Octagonal_Shape<mpq_class> known_os1(4);
-  known_os1.add_constraint(3*x >= 2);
-  known_os1.add_constraint(z >= 1);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
-  TOctagonal_Shape osi1 = i1->element();
-
-  bool ok = check_result(osi1, known_os1, "1.92e-7", "8.89e-8", "7.95e-8")
-    && pps.is_empty();
-
-  print_constraints(osi1, "*** osi1 ***");
-
-  return ok && pps.OK() && pps1.OK();
-}
-
-// Constructs the powerset of octagonal_shapes from an empty polyhedron.
-bool
-test05() {
-  Variable x(0);
-  Variable y(1);
-
-  NNC_Polyhedron ph(2, EMPTY);
-
-  Pointset_Powerset<TOctagonal_Shape> pps(ph);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a bd shape.
-bool
-test06() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2);
-  bds.add_constraint(x == 0);
-  bds.add_constraint(x - y <= 1);
-  bds.add_constraint(y >= 0);
-
-  Pointset_Powerset<TOctagonal_Shape> pps(bds);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
-  known_pps.add_constraint(x == 0);
-  known_pps.add_constraint(x - y <= 1);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
-  print_constraints(osi, "*** osi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from an empty bd shape.
-bool
-test07() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2, EMPTY);
-
-  Pointset_Powerset<TOctagonal_Shape> pps(bds);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a box.
-bool
-test08() {
-  Variable x(0);
-  Variable y(1);
-
-  TBox box(2);
-  box.add_constraint(x >= 0);
-  box.add_constraint(y >= 0);
-
-  // Complexity should be ignored.
-  Pointset_Powerset<TOctagonal_Shape> pps(box, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
-  known_pps.add_constraint(x >= 0);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
-  print_constraints(osi, "*** osi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from an empty box.
-bool
-test09() {
-  Variable x(0);
-  Variable y(1);
-
-  TBox box(2, EMPTY);
-
-  Pointset_Powerset<TOctagonal_Shape> pps(box);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a grid.
-bool
-test10() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2);
-  gr.add_congruence((2*x %= 1) / 0);
-  gr.add_congruence(y %= 0);
-
-  Pointset_Powerset<TOctagonal_Shape> pps(gr);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
-  print_constraints(osi, "*** osi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from an empty grid.
-bool
-test11() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2, EMPTY);
-
-  Pointset_Powerset<TOctagonal_Shape> pps(gr);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a powerset of
-// octagonal_shapes.
-bool
-test12() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x <= 1);
-  cs.insert(y <= 0);
-  TOctagonal_Shape os(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TOctagonal_Shape> pps(pps_os, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y <= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator j = pps.begin();
-  TOctagonal_Shape osj = j->element();
-  print_constraints(osj, "*** pps disjunct ***");
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a powerset of polyhedra.
-bool
-test13() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(2*x >= 1);
-  cs.insert(2*x + y <= 1);
-  cs.insert(y >= 0);
-  C_Polyhedron ph1(cs);
-  C_Polyhedron ph2(cs);
-
-  Pointset_Powerset<C_Polyhedron> pps1_c(ph1, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<C_Polyhedron> pps2_c(ph2);
-
-  Pointset_Powerset<TOctagonal_Shape> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
-  Pointset_Powerset<TOctagonal_Shape> pps2(pps2_c);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps1(2);
-  known_pps1.add_constraint(2*x >= 1);
-  known_pps1.add_constraint(y >= 0);
-  Pointset_Powerset<TOctagonal_Shape> known_pps2(2);
-  known_pps2.add_constraint(2*x == 1);
-  known_pps2.add_constraint(y == 0);
-
-  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
-  TOctagonal_Shape osi1 = i1->element();
-  print_constraints(osi1, "*** osi1 ***");
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i2 = pps2.begin();
-  TOctagonal_Shape osi2 = i2->element();
-  print_constraints(osi2, "*** osi2 ***");
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a powerset of bd shapes.
-bool
-test14() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(x - y <= 1);
-  cs.insert(y <= 0);
-  TBD_Shape bd(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBD_Shape> pps_bd(bd, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TOctagonal_Shape> pps(pps_bd, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
-  known_pps.add_constraint(x == 1);
-  known_pps.add_constraint(y == 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps.begin();
-  TOctagonal_Shape osi = i_os->element();
-  print_constraints(osi, "*** osi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a powerset of boxes.
-bool
-test15() {
-  Variable x(0);
-  Variable y(1);
-
-  Constraint_System cs;
-  cs.insert(x >= 1);
-  cs.insert(y <= 0);
-  TBox box(cs);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
-
-  // The complexity should be ignored.
-  Pointset_Powerset<TOctagonal_Shape> pps(pps_box, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
-  known_pps.add_constraint(x >= 1);
-  known_pps.add_constraint(y <= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps.begin();
-  TOctagonal_Shape osi = i_os->element();
-  print_constraints(osi, "*** osi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of octagonal_shapes from a powerset of grids.
-bool
-test16() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid gr(2);
-  gr.add_congruence((2*x %= 1) / 0);
-  gr.add_congruence(y %= 0);
-
-  Pointset_Powerset<Grid> pps_gr(gr);
-
-  Pointset_Powerset<TOctagonal_Shape> pps(pps_gr);
-
-  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
-
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
-  TOctagonal_Shape osi = i->element();
-  print_constraints(osi, "*** osi ***");
-
-  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);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-END_MAIN
diff --git a/tests/Octagonal_Shape/relatwithcons1.cc b/tests/Octagonal_Shape/relatwithcons1.cc
index 0f175d4..5487743 100644
--- a/tests/Octagonal_Shape/relatwithcons1.cc
+++ b/tests/Octagonal_Shape/relatwithcons1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::relation_with(c).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/relatwithcons2.cc b/tests/Octagonal_Shape/relatwithcons2.cc
index f1a557c..b763558 100644
--- a/tests/Octagonal_Shape/relatwithcons2.cc
+++ b/tests/Octagonal_Shape/relatwithcons2.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::relation_with(c).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/relatwithcons3.cc b/tests/Octagonal_Shape/relatwithcons3.cc
index ccdb4b3..221c394 100644
--- a/tests/Octagonal_Shape/relatwithcons3.cc
+++ b/tests/Octagonal_Shape/relatwithcons3.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::relation_with().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/relatwithgen1.cc b/tests/Octagonal_Shape/relatwithgen1.cc
index 51677df..b75a697 100644
--- a/tests/Octagonal_Shape/relatwithgen1.cc
+++ b/tests/Octagonal_Shape/relatwithgen1.cc
@@ -1,6 +1,6 @@
 /* Test Octagonal_Shape::relation_with(g): we verify that a generator
    is not subsumed by an empty octagon.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/removespacedims1.cc b/tests/Octagonal_Shape/removespacedims1.cc
index 8cc941d..78c10c5 100644
--- a/tests/Octagonal_Shape/removespacedims1.cc
+++ b/tests/Octagonal_Shape/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Remove the higher variables from the space.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/run_tests b/tests/Octagonal_Shape/run_tests
index b6cb811..bf55f87 100755
--- a/tests/Octagonal_Shape/run_tests
+++ b/tests/Octagonal_Shape/run_tests
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Run the Octagonal_Shape tests.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -50,3 +50,4 @@ do
   $MAKE check TESTS="$check_PROGRAMS" TESTS_ENVIRONMENT="$CHECKER" TEST_CPPFLAGS="-DOCTAGONAL_SHAPE_INSTANCE=$instance" XFAIL_TESTS=$xfail_tests || exit 1
   $MAKE clean && rm dirty_marker
 done
+exit 0
diff --git a/tests/Octagonal_Shape/simplifyusingcontext1.cc b/tests/Octagonal_Shape/simplifyusingcontext1.cc
new file mode 100644
index 0000000..2763d75
--- /dev/null
+++ b/tests/Octagonal_Shape/simplifyusingcontext1.cc
@@ -0,0 +1,339 @@
+/* Test Octagonal_Shape::simplify_using_context_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape oct1(2);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(x <= 2);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  TOctagonal_Shape oct2(oct1);
+  oct2.affine_image(x, x + 6);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  TOctagonal_Shape known_result(2);
+  known_result.add_constraint(x <= 2);
+
+  bool ok = !oct1.simplify_using_context_assign(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.simplify_using_context_assign(oct2) ***");
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape oct1(2);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(x <= 2);
+  oct1.add_constraint(y >= 0);
+  oct1.add_constraint(y <= 2);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  TOctagonal_Shape oct2(oct1);
+  oct2.affine_image(x, x + 1);
+  oct2.affine_image(y, y + 6);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  // NOTE: this is the result computed when using the current heuristics.
+  // It turns out that the current heuristics is not smart enough to see
+  // that constraint y <= 2 is not really needed.
+  TOctagonal_Shape known_result(2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = !oct1.simplify_using_context_assign(oct2);
+  ok &= (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.simplify_using_context_assign(oct2) ***");
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+
+  TOctagonal_Shape oct1(1);
+  oct1.add_constraint(x >= 0);
+  oct1.add_constraint(x <= 6);
+
+  print_constraints(oct1, "*** oct1 ***");
+
+  TOctagonal_Shape oct2(1);
+  oct2.add_constraint(x >= 0);
+  oct2.add_constraint(x <= 5);
+
+  print_constraints(oct2, "*** oct2 ***");
+
+  TOctagonal_Shape computed_result = oct1;
+
+  computed_result.simplify_using_context_assign(oct2);
+
+  TOctagonal_Shape known_result(1);
+
+  bool ok = (computed_result == known_result);
+
+  print_constraints(computed_result,
+                    "*** oct1.simplify_using_context_assign ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TOctagonal_Shape oct1 = TOctagonal_Shape(3, UNIVERSE);
+  oct1.add_constraint(i >= 1);
+  oct1.add_constraint(i <= 10);
+  oct1.add_constraint(j >= 1);
+  oct1.add_constraint(j <= 10);
+  oct1.add_constraint(k == 0);
+
+  TOctagonal_Shape oct2 = TOctagonal_Shape(3, UNIVERSE);
+  oct2.add_constraint(i >= 0);
+  oct2.add_constraint(i <= 2);
+  oct2.add_constraint(j >= 2);
+  oct2.add_constraint(j <= 9);
+  oct2.add_constraint(k == 0);
+
+  print_constraints(oct1, "=== oct1 ===");
+  print_constraints(oct2, "=== oct2 ===");
+
+  TOctagonal_Shape known_result = TOctagonal_Shape(3, UNIVERSE);
+  known_result.add_constraint(i >= 1);
+
+  oct1.simplify_using_context_assign(oct2);
+
+  bool ok = (oct1 == known_result);
+
+  print_constraints(oct1, "=== oct1.simplify_using_context_assign(oct2) ===");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TOctagonal_Shape oct1(3, UNIVERSE);
+  oct1.add_constraint(i == 1);
+  oct1.add_constraint(j + 1 == 0);
+  oct1.add_constraint(k == 3);
+
+  TOctagonal_Shape oct2(3, UNIVERSE);
+  oct2.add_constraint(i == 1);
+  oct2.add_constraint(j + k == 2);
+  oct2.add_constraint(k >= 0);
+  oct2.add_constraint(k <= 3);
+
+  TOctagonal_Shape known_result(3, UNIVERSE);
+  known_result.add_constraint(j + 1 <= 0);
+  // PolyLib 5.22.3 returns { j + 1 == 0, k == 3 };
+  // Using PPL::Polyhedron we get { k == 3 }.
+
+  oct1.simplify_using_context_assign(oct2);
+
+  bool ok = (oct1 == known_result);
+
+  print_constraints(oct1.minimized_constraints(),
+                    "=== oct1.simplify_using_context_assign(oct2) ===");
+  print_constraints(known_result.minimized_constraints(),
+                    "=== known_result ===");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+
+  TOctagonal_Shape oct1(3, UNIVERSE);
+  oct1.add_constraint(A == 0);
+  oct1.add_constraint(B == C);
+  oct1.add_constraint(B >= 2);
+  print_constraints(oct1, "\n=== oct1 ===");
+
+  TOctagonal_Shape oct2(3, UNIVERSE);
+  oct2.add_constraint(A == 0);
+  oct2.add_constraint(C >= 2);
+  print_constraints(oct2, "\n=== oct2 ===");
+
+  oct1.simplify_using_context_assign(oct2);
+
+  TOctagonal_Shape known_result(3, UNIVERSE);
+  known_result.add_constraint(B == C);
+
+  bool ok = (oct1 == known_result);
+
+  print_constraints(oct1, "\n=== oct1.simplify_using_context_assign(oct2) ===");
+
+  return ok;
+}
+
+bool
+test07() {
+  TOctagonal_Shape oct1(0, EMPTY);
+  TOctagonal_Shape oct2;
+
+  print_constraints(oct1, "*** oct1 ***");
+  print_constraints(oct2, "*** oct2 ***");
+
+  TOctagonal_Shape known_result = oct1;
+
+  oct1.simplify_using_context_assign(oct2);
+
+  bool ok = (oct1 == known_result);
+
+  print_constraints(oct1,
+                    "*** oct1.simplify_using_context_assign(oct2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable A(0);
+
+  TOctagonal_Shape oct1(1);
+  TOctagonal_Shape oct2(1);
+
+  oct2.add_constraint(A == 0);
+
+  print_constraints(oct1, "*** oct1 ***");
+  print_constraints(oct2, "*** oct2 ***");
+
+  TOctagonal_Shape known_result = oct1;
+
+  oct1.simplify_using_context_assign(oct2);
+
+  bool ok = (oct1 == known_result);
+
+  print_constraints(oct1.minimized_constraints(),
+                    "*** oct1.simplify_using_context_assign(oct2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
+
+  TOctagonal_Shape oct1(3, UNIVERSE);
+  oct1.add_constraint(i >= 1);
+  oct1.add_constraint(i <= 10);
+  oct1.add_constraint(j >= 1);
+  oct1.add_constraint(j <= 10);
+  oct1.add_constraint(k == 0);
+
+  TOctagonal_Shape oct2(3, UNIVERSE);
+  oct2.add_constraint(i <= 25);
+  oct2.add_constraint(j <= 25);
+  oct2.add_constraint(i + j >= 25);
+  oct2.add_constraint(k == 0);
+
+  TOctagonal_Shape known_result(3, UNIVERSE);
+  known_result.add_constraint(i >= 1);
+  known_result.add_constraint(i <= 10);
+  known_result.add_constraint(j <= 10);
+
+  oct1.simplify_using_context_assign(oct2);
+
+  bool ok = (oct1 == known_result);
+
+  print_constraints(oct1.minimized_constraints(),
+                    "*** oct1.simplify_using_context_assign(oct2) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable A(0);
+  Variable B(1);
+
+  TOctagonal_Shape oct1(2);
+  oct1.add_constraint(A == 0);
+  oct1.add_constraint(B == 0);
+
+  TOctagonal_Shape oct2(2);
+  oct2.add_constraint(A >= 0);
+  oct2.add_constraint(B >= 0);
+
+  TOctagonal_Shape known_result(2);
+  known_result.add_constraint(A <= 0);
+  known_result.add_constraint(B <= 0);
+
+  print_constraints(oct1, "*** oct1 ***");
+  print_constraints(oct2, "*** oct2 ***");
+
+  bool ok = oct1.simplify_using_context_assign(oct2);
+
+  ok = ok && (oct1 == known_result);
+
+  print_constraints(oct1.minimized_constraints(),
+                    "*** oct1.simplify_using_context_assign(oct2) ***");
+
+  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/Octagonal_Shape/timeelapse1.cc b/tests/Octagonal_Shape/timeelapse1.cc
index 1d042ef..5bbcc1d 100644
--- a/tests/Octagonal_Shape/timeelapse1.cc
+++ b/tests/Octagonal_Shape/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test time_elapse_assign() for particular polyhedra.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/unconstrain1.cc b/tests/Octagonal_Shape/unconstrain1.cc
index fef5692..da6ea1d 100644
--- a/tests/Octagonal_Shape/unconstrain1.cc
+++ b/tests/Octagonal_Shape/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::unconstrain().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -222,7 +222,10 @@ BEGIN_MAIN
   DO_TEST(test04);
   DO_TEST(test05);
   DO_TEST(test06);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test07);
+#endif
   DO_TEST(test08);
   DO_TEST(test09);
 END_MAIN
diff --git a/tests/Octagonal_Shape/universe1.cc b/tests/Octagonal_Shape/universe1.cc
index c326d66..f974ae7 100644
--- a/tests/Octagonal_Shape/universe1.cc
+++ b/tests/Octagonal_Shape/universe1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::is_universe().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/upperbound1.cc b/tests/Octagonal_Shape/upperbound1.cc
index 82bbe18..dec2285 100644
--- a/tests/Octagonal_Shape/upperbound1.cc
+++ b/tests/Octagonal_Shape/upperbound1.cc
@@ -1,5 +1,5 @@
 /* Test Octagonal_Shape::poly_hull_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Octagonal_Shape/upperboundifexact1.cc b/tests/Octagonal_Shape/upperboundifexact1.cc
new file mode 100644
index 0000000..350fb9a
--- /dev/null
+++ b/tests/Octagonal_Shape/upperboundifexact1.cc
@@ -0,0 +1,386 @@
+/* Test Octagonal_Shape::upper_bound_assign_if_exact().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  TOctagonal_Shape octs_empty(0, EMPTY);
+  TOctagonal_Shape octs_universe(0, UNIVERSE);
+
+  // Testing all combinations for 0-dim polyhedra.
+  bool ok = true;
+  TOctagonal_Shape octs;
+
+  // empty, empty
+  octs = octs_empty;
+  ok &= octs.upper_bound_assign_if_exact(octs_empty);
+  ok &= (octs == octs_empty);
+  print_constraints(octs, "*** empty union empty ***");
+
+  // empty, universe
+  octs = octs_empty;
+  ok &= octs.upper_bound_assign_if_exact(octs_universe);
+  ok &= (octs == octs_universe);
+  print_constraints(octs, "*** empty union universe ***");
+
+  // universe, empty
+  octs = octs_universe;
+  ok &= octs.upper_bound_assign_if_exact(octs_empty);
+  ok &= (octs == octs_universe);
+  print_constraints(octs, "*** universe union empty ***");
+
+  // universe, universe
+  octs = octs_universe;
+  ok &= octs.upper_bound_assign_if_exact(octs_universe);
+  ok &= (octs == octs_universe);
+  print_constraints(octs, "*** universe union universe ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape octs1(2, UNIVERSE);
+  octs1.add_constraint(x >= -2);
+  octs1.add_constraint(x <= -1);
+  octs1.add_constraint(y >= 0);
+  octs1.add_constraint(y <= 2);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(2, UNIVERSE);
+  octs2.add_constraint(x >= 1);
+  octs2.add_constraint(x <= 2);
+  octs2.add_constraint(y >= 0);
+  octs2.add_constraint(y <= 2);
+
+  print_constraints(octs2, "*** octs2 ***");
+
+  TOctagonal_Shape known_result(octs1);
+
+  bool ok = !octs1.upper_bound_assign_if_exact(octs2);
+  ok &= (octs1 == known_result);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape octs1(2, UNIVERSE);
+  octs1.add_constraint(x >= -2);
+  octs1.add_constraint(x <= 0);
+  octs1.add_constraint(y >= 0);
+  octs1.add_constraint(y <= 2);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(2, UNIVERSE);
+  octs2.add_constraint(x >= 0);
+  octs2.add_constraint(x <= 2);
+  octs2.add_constraint(y >= 0);
+  octs2.add_constraint(y <= 2);
+
+  print_constraints(octs2, "*** octs2 ***");
+
+  TOctagonal_Shape known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= -2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = octs1.upper_bound_assign_if_exact(octs2);
+  ok &= (octs1 == known_result);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape octs1(2, UNIVERSE);
+  octs1.add_constraint(x == 0);
+  octs1.add_constraint(y == 0);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(2, UNIVERSE);
+  octs2.add_constraint(x >= 0);
+  octs2.add_constraint(x <= 2);
+  octs2.add_constraint(y >= -2);
+  octs2.add_constraint(y <= 2);
+
+  print_constraints(octs2, "*** octs2 ***");
+
+  TOctagonal_Shape known_result(octs2);
+
+  bool ok = octs1.upper_bound_assign_if_exact(octs2);
+  ok &= (octs1 == known_result);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape octs1(2, UNIVERSE);
+  octs1.add_constraint(x >= 0);
+  octs1.add_constraint(y == 0);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(2, UNIVERSE);
+  octs2.add_constraint(x >= 0);
+  octs2.add_constraint(y >= 2);
+  octs2.add_constraint(y <= 4);
+
+  print_constraints(octs2, "*** octs2 ***");
+
+  TOctagonal_Shape known_result(octs1);
+
+  bool ok = !octs1.upper_bound_assign_if_exact(octs2);
+  ok &= (octs1 == known_result);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape octs1(2, UNIVERSE);
+  octs1.add_constraint(x == y);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(2, UNIVERSE);
+  octs2.add_constraint(x == 0);
+
+  print_constraints(octs2, "*** octs2 ***");
+
+  TOctagonal_Shape known_result(octs1);
+
+  bool ok = !octs1.upper_bound_assign_if_exact(octs2);
+  ok &= (octs1 == known_result);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape octs1(2, UNIVERSE);
+  octs1.add_constraint(x >= y);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(2, UNIVERSE);
+  octs2.add_constraint(x >= 0);
+
+  print_constraints(octs2, "*** octs2 ***");
+
+  TOctagonal_Shape known_result(octs1);
+
+  bool ok = !octs1.upper_bound_assign_if_exact(octs2);
+  ok &= (octs1 == known_result);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape octs1(2, UNIVERSE);
+  octs1.add_constraint(x >= y);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(2, UNIVERSE);
+  octs2.add_constraint(x <= y);
+
+  print_constraints(octs2, "*** octs2 ***");
+
+  TOctagonal_Shape known_result(2, UNIVERSE);
+
+  bool ok = octs1.upper_bound_assign_if_exact(octs2);
+  ok &= (octs1 == known_result);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  TOctagonal_Shape octs(3, UNIVERSE);
+  octs.add_constraint(x >= 0);
+  octs.add_constraint(x <= 2);
+  octs.add_constraint(y >= 0);
+  octs.add_constraint(y <= 4);
+  octs.add_constraint(z >= 0);
+  octs.add_constraint(z <= 4);
+  octs.add_constraint(x - y <= 2);
+  octs.add_constraint(z - y <= 2);
+
+  TOctagonal_Shape octs1(octs);
+  octs1.add_constraint(z <= 3);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(octs);
+  octs2.add_constraint(x - y <= 1);
+
+  TOctagonal_Shape known_result(octs);
+
+  C_Polyhedron ph1(octs1);
+  C_Polyhedron ph2(octs2);
+
+  bool exact = ph1.upper_bound_assign_if_exact(ph2);
+  nout << "In the c polyhedra domain, upper_bound_assign_if_exact() returns: "
+       << exact << std::endl;
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  bool ok = octs1.upper_bound_assign_if_exact(octs2);
+
+  ok &= (octs1 == octs);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  TOctagonal_Shape octs(4, UNIVERSE);
+  octs.add_constraint(x - y <= 4);
+  octs.add_constraint(z - w <= 4);
+  octs.add_constraint(x - w <= 5);
+  octs.add_constraint(z <= 0);
+  octs.add_constraint(z - y <= 1);
+  octs.add_constraint(y + w >= -1);
+
+  TOctagonal_Shape octs1(octs);
+  octs1.add_constraint(x - y <= 2);
+
+  print_constraints(octs1, "*** octs1 ***");
+
+  TOctagonal_Shape octs2(octs);
+  octs2.add_constraint(z - w <= 2);
+
+  TOctagonal_Shape known_result(octs);
+
+  bool ok = octs1.upper_bound_assign_if_exact(octs2);
+  ok &= (octs1 == octs);
+
+  print_constraints(octs1, "*** octs1.upper_bound_assign_if_exact(octs2) ***");
+
+  return ok;
+}
+
+bool
+test11() {
+  //  const dimension_type dim = 200;
+  const dimension_type dim = 50;
+  Constraint_System cs;
+  for (dimension_type i = 1; i < dim; ++i) {
+    Variable x(i);
+    cs.insert(x >= 0);
+    cs.insert(x <= 4);
+  }
+
+  Variable x(0);
+
+  TOctagonal_Shape hypercube1(cs);
+  hypercube1.add_constraint(x >= 0);
+  hypercube1.add_constraint(x <= 4);
+
+  TOctagonal_Shape hypercube2(cs);
+  hypercube2.add_constraint(x >= 2);
+  hypercube2.add_constraint(x <= 6);
+
+  TOctagonal_Shape known_result(cs);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 6);
+
+  bool ok = hypercube1.upper_bound_assign_if_exact(hypercube2);
+
+  ok &= (hypercube1 == known_result);
+
+  print_constraints(hypercube1, "*** hyp1 ***");
+  print_constraints(hypercube2, "*** hyp2 ***");
+
+  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);
+  DO_TEST(test11);
+END_MAIN
diff --git a/tests/Octagonal_Shape/writeoctagon1.cc b/tests/Octagonal_Shape/writeoctagon1.cc
index 9bffb6c..8f86868 100644
--- a/tests/Octagonal_Shape/writeoctagon1.cc
+++ b/tests/Octagonal_Shape/writeoctagon1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(ostream&, const Octagonal_Shape&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partial_Function.cc b/tests/Partial_Function.cc
index a476099..06e7e4e 100644
--- a/tests/Partial_Function.cc
+++ b/tests/Partial_Function.cc
@@ -1,5 +1,5 @@
 /* Implementation of class Partial_Function (non-inline functions).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partial_Function.defs.hh b/tests/Partial_Function.defs.hh
index 6e5ae0a..bf197d5 100644
--- a/tests/Partial_Function.defs.hh
+++ b/tests/Partial_Function.defs.hh
@@ -1,5 +1,5 @@
 /* Partial_Function class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partial_Function.inlines.hh b/tests/Partial_Function.inlines.hh
index 604c2fe..664d0a8 100644
--- a/tests/Partial_Function.inlines.hh
+++ b/tests/Partial_Function.inlines.hh
@@ -1,5 +1,5 @@
 /* Partial_Function class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partial_Function.types.hh b/tests/Partial_Function.types.hh
index 265084e..d1822d2 100644
--- a/tests/Partial_Function.types.hh
+++ b/tests/Partial_Function.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/Partially_Reduced_Product/Makefile.am b/tests/Partially_Reduced_Product/Makefile.am
index 44cecfd..190adf0 100644
--- a/tests/Partially_Reduced_Product/Makefile.am
+++ b/tests/Partially_Reduced_Product/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/tests/Partially_Reduced_Product/Makefile.in b/tests/Partially_Reduced_Product/Makefile.in
index a5383bc..2c8dade 100644
--- a/tests/Partially_Reduced_Product/Makefile.in
+++ b/tests/Partially_Reduced_Product/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -88,12 +88,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -270,6 +269,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -278,6 +279,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -352,6 +354,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
diff --git a/tests/Partially_Reduced_Product/asciidumpload1.cc b/tests/Partially_Reduced_Product/asciidumpload1.cc
index 31b8bd9..f3453d6 100644
--- a/tests/Partially_Reduced_Product/asciidumpload1.cc
+++ b/tests/Partially_Reduced_Product/asciidumpload1.cc
@@ -1,5 +1,5 @@
 /* Test Direct_Product<nnc_ph, gr> ascii_dump() and ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/directproduct1.cc b/tests/Partially_Reduced_Product/directproduct1.cc
index c42ac71..9658131 100644
--- a/tests/Partially_Reduced_Product/directproduct1.cc
+++ b/tests/Partially_Reduced_Product/directproduct1.cc
@@ -1,5 +1,5 @@
 /* Test Direct_Product<NNC_Polyhedron, Grid>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/directproduct2.cc b/tests/Partially_Reduced_Product/directproduct2.cc
index 8e1f794..c300792 100644
--- a/tests/Partially_Reduced_Product/directproduct2.cc
+++ b/tests/Partially_Reduced_Product/directproduct2.cc
@@ -1,5 +1,5 @@
 /* Test Direct_Product<NNC_Polyhedron, Grid>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/directproduct3.cc b/tests/Partially_Reduced_Product/directproduct3.cc
index e5e82a7..6baf47e 100644
--- a/tests/Partially_Reduced_Product/directproduct3.cc
+++ b/tests/Partially_Reduced_Product/directproduct3.cc
@@ -1,5 +1,5 @@
 /* Test Direct_Product<NNC_Polyhedron, Grid>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/directproduct4.cc b/tests/Partially_Reduced_Product/directproduct4.cc
index af7596b..3571a26 100644
--- a/tests/Partially_Reduced_Product/directproduct4.cc
+++ b/tests/Partially_Reduced_Product/directproduct4.cc
@@ -1,5 +1,5 @@
 /* Test Direct_Product<NNC_Polyhedron, Grid>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/directproduct5.cc b/tests/Partially_Reduced_Product/directproduct5.cc
index 397839f..49ae152 100644
--- a/tests/Partially_Reduced_Product/directproduct5.cc
+++ b/tests/Partially_Reduced_Product/directproduct5.cc
@@ -1,5 +1,5 @@
 /* Test Grid::congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/directproduct6.cc b/tests/Partially_Reduced_Product/directproduct6.cc
index daba550..bb6d5f6 100644
--- a/tests/Partially_Reduced_Product/directproduct6.cc
+++ b/tests/Partially_Reduced_Product/directproduct6.cc
@@ -1,5 +1,5 @@
 /* Test Grid::congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -522,9 +522,11 @@ test17() {
 }
 #endif
 
-typedef Domain_Product<TBox, Grid>::Direct_Product Box_Product;
+typedef Domain_Product<TBox, Grid>::Direct_Product TBox_Grid;
+typedef Domain_Product<Grid, TBox>::Direct_Product Grid_TBox;
+typedef Domain_Product<NNC_Polyhedron, Grid>::Direct_Product NNCPoly_Grid;
 
-// Box_Product(nnc_polyhedron, POLYNOMIAL_COMPLEXITY).
+// TBox_Grid(nnc_polyhedron, POLYNOMIAL_COMPLEXITY).
 bool
 test18() {
   Variable x(0);
@@ -535,17 +537,17 @@ test18() {
   ph.refine_with_constraint(x <= 4);
   ph.refine_with_constraint(y <= 4);
 
-  Box_Product pdp(ph, POLYNOMIAL_COMPLEXITY);
+  TBox_Grid pdp(ph, POLYNOMIAL_COMPLEXITY);
 
-  Box_Product ndp(ph);
+  TBox_Grid ndp(ph);
 
-  Box_Product known_ndp(2);
+  TBox_Grid known_ndp(2);
   known_ndp.refine_with_constraint(3*x >= -2);
   known_ndp.refine_with_constraint(x <= 4);
   known_ndp.refine_with_constraint(y >= -10);
   known_ndp.refine_with_constraint(y <= 4);
 
-  Box_Product known_pdp(2);
+  TBox_Grid known_pdp(2);
   known_pdp.refine_with_constraint(x <= 4);
   known_pdp.refine_with_constraint(y <= 4);
 
@@ -560,21 +562,21 @@ test18() {
   return ok;
 }
 
-// Product(Product).
+// Copy constructor.
 bool
 test19() {
   Variable A(0);
 
   const Constraint_System cs(A >= 0);
 
-  Product src(1);
+  NNCPoly_Grid src(1);
   src.refine_with_constraints(cs);
 
-  Product dp(src, POLYNOMIAL_COMPLEXITY);
+  NNCPoly_Grid dp(src, POLYNOMIAL_COMPLEXITY);
 
-  Product dp1(src);
+  NNCPoly_Grid dp1(src);
 
-  Product known_dp(1);
+  NNCPoly_Grid known_dp(1);
   known_dp.refine_with_constraint(A >= 0);
 
   bool ok = (dp == known_dp && dp1 == known_dp);
@@ -587,22 +589,25 @@ test19() {
   return ok && dp.OK();
 }
 
-// Product(Box_Product).
+// Constructing an NNCPoly_Grid from a TBox_Grid.
 bool
 test20() {
   Variable A(0);
 
   const Constraint_System cs(A >= 0);
+  const Congruence_System cgs(A %= 0);
 
-  Box_Product src(1);
+  TBox_Grid src(1);
   src.refine_with_constraints(cs);
+  src.refine_with_congruences(cgs);
 
-  Product dp(src, POLYNOMIAL_COMPLEXITY);
+  NNCPoly_Grid dp(src, POLYNOMIAL_COMPLEXITY);
 
-  Product dp1(src);
+  NNCPoly_Grid dp1(src);
 
-  Product known_dp(1);
+  NNCPoly_Grid known_dp(1);
   known_dp.refine_with_constraint(A >= 0);
+  known_dp.refine_with_congruence(A %= 0);
 
   bool ok = (dp == known_dp && dp1 == known_dp);
 
@@ -614,6 +619,57 @@ test20() {
   return ok && dp.OK();
 }
 
+// Constructing an NNCPoly_Grid from a Grid_TBox.
+bool
+test21() {
+  Variable A(0);
+
+  const Constraint_System cs(A >= 0);
+  const Congruence_System cgs(A %= 0);
+
+  Grid_TBox src(1);
+  src.refine_with_constraints(cs);
+  src.refine_with_congruences(cgs);
+
+  NNCPoly_Grid dp(src, POLYNOMIAL_COMPLEXITY);
+
+  NNCPoly_Grid dp1(src);
+
+  NNCPoly_Grid known_dp(1);
+  known_dp.refine_with_constraint(A >= 0);
+  known_dp.refine_with_congruence(A %= 0);
+
+  bool ok = (dp == known_dp && dp1 == known_dp);
+
+  print_congruences(dp, "*** dp congruences ***");
+  print_constraints(dp, "*** dp constraints ***");
+  print_congruences(dp1, "*** dp1 congruences ***");
+  print_constraints(dp1, "*** dp1 constraints ***");
+
+  return ok && dp.OK();
+}
+
+// Attempt to construct a product with too many dimensions.
+bool
+test22() {
+  try {
+    // This is an invalid use of the constructor of a product:
+    // it is illegal to (try to) build a product with a dimensions
+    // greater than max_space_dimension().
+    NNCPoly_Grid pg(NNCPoly_Grid::max_space_dimension() + 1);
+
+    // It is an error if the exception is not thrown.
+  }
+  catch (std::length_error& e) {
+    nout << "length_error: " << e.what() << endl << endl;
+    return true;
+  }
+  catch (...) {
+    // It is an error if the wrong exception is thrown.
+  }
+  return false;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -639,4 +695,6 @@ BEGIN_MAIN
   DO_TEST(test18);
   DO_TEST(test19);
   DO_TEST(test20);
+  DO_TEST(test21);
+  DO_TEST(test22);
 END_MAIN
diff --git a/tests/Partially_Reduced_Product/partiallyreducedproduct1.cc b/tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
index c81a47d..563d7a0 100644
--- a/tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
+++ b/tests/Partially_Reduced_Product/partiallyreducedproduct1.cc
@@ -1,5 +1,5 @@
 /* Test Partially_Reduced_Product<>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/partiallyreducedproduct2.cc b/tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
index ac628ad..3713e7a 100644
--- a/tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
+++ b/tests/Partially_Reduced_Product/partiallyreducedproduct2.cc
@@ -1,5 +1,5 @@
 /* Test Partially_Reduced_Product<>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -869,6 +869,69 @@ test20() {
   return cons_ok;
 }
 
+// time_elapse_assign(y) where the initial products are not reduced
+// and only one component of the second product is empty.
+bool
+test21() {
+  Variable A(0);
+
+  CProduct cp1(1);
+  cp1.refine_with_constraint(A == A);
+
+  CProduct cp2(1);
+  cp2.refine_with_constraint(A >= 1);
+  cp2.refine_with_constraint(A <= 0);
+
+  cp1.time_elapse_assign(cp2);
+
+  CProduct known_cp(1, EMPTY);
+
+  bool cons_ok = cp1.OK() && (cp1 == known_cp);
+
+  print_congruences(cp1, "*** cp1.time_elapse_assign(cp2) congruences ***");
+  print_constraints(cp1, "*** cp1.time_elapse_assign(cp2) constraints ***");
+
+  print_congruences(cp2, "*** cp2 congruences ***");
+  print_constraints(cp2, "*** cp2 constraints ***");
+
+  return cons_ok;
+}
+
+// time_elapse_assign(y) where the initial products are not reduced
+// and the second product has non-intersecting single point components.
+bool
+test22() {
+  Variable A(0);
+
+
+  CProduct cp1(1);
+
+  print_congruences(cp1, "*** cp1 congruences ***");
+  print_constraints(cp1, "*** cp1 constraints ***");
+
+  Grid gr(1);
+  gr.refine_with_congruence((A %= 0)/ 2);
+
+  CProduct cp2(gr);
+
+  cp2.refine_with_constraint(A >= 1);
+  cp2.refine_with_constraint(A <= 1);
+
+  cp1.time_elapse_assign(cp2);
+
+  CProduct known_cp(1, EMPTY);
+
+  bool cons_ok = cp1.OK() && (cp1 == known_cp);
+
+  print_congruences(cp1, "*** cp1.time_elapse_assign(cp2) congruences ***");
+  print_constraints(cp1, "*** cp1.time_elapse_assign(cp2) constraints ***");
+
+  print_congruences(cp2, "*** cp2 congruences ***");
+  print_constraints(cp2, "*** cp2 constraints ***");
+
+  return cons_ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -892,4 +955,6 @@ BEGIN_MAIN
   DO_TEST_F8(test18);
   DO_TEST(test19);
   DO_TEST(test20);
+  DO_TEST(test21);
+  DO_TEST(test22);
 END_MAIN
diff --git a/tests/Partially_Reduced_Product/partiallyreducedproduct3.cc b/tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
index dbd0321..e65d49d 100644
--- a/tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
+++ b/tests/Partially_Reduced_Product/partiallyreducedproduct3.cc
@@ -1,5 +1,5 @@
 /* Test Partially_Reduced_Product<>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Partially_Reduced_Product/partiallyreducedproduct4.cc b/tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
index b939196..9c7780f 100644
--- a/tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
+++ b/tests/Partially_Reduced_Product/partiallyreducedproduct4.cc
@@ -1,5 +1,5 @@
 /* Test Partially_Reduced_Product<>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/Makefile.am b/tests/Polyhedron/Makefile.am
index 2bcc4fb..98c0189 100644
--- a/tests/Polyhedron/Makefile.am
+++ b/tests/Polyhedron/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -36,6 +36,7 @@ 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 \
@@ -62,7 +63,7 @@ affinepreimage1 \
 affinetrans \
 append1 append2 \
 ascii_dump_load1 ascii_dump_load2 ascii_dump_load3 \
-bgp99extrapolation1 \
+bgp99extrapolation1 bgp99extrapolation2 \
 bhrz03widening1 bhrz03widening2 bhrz03widening3 \
 bhz03widening1 \
 bounded1 \
@@ -99,7 +100,7 @@ simplifyusingcontext1 \
 limitedbhrz03extrapolation1 \
 limitedh79extrapolation1 \
 linearpartition1 \
-linexpression1 \
+linearexpression1 \
 linearsystem1 \
 mapspacedims1 \
 matrix1 \
@@ -116,6 +117,7 @@ onepoint \
 permute \
 polydifference1 polydifference2 \
 polyhull1 polyhull2 \
+polyhullifexact1 polyhullifexact2 \
 randphull1 \
 refinewithconstraint1 \
 refinewithconstraints1 \
@@ -193,6 +195,7 @@ nnc_onepoint \
 nnc_permute \
 nnc_polydifference1 \
 nnc_polyhull1 \
+nnc_polyhullifexact1 \
 nnc_randphull1 \
 nnc_relations1 nnc_relations2 \
 nnc_removespacedims1 \
@@ -241,6 +244,7 @@ ascii_dump_load2_SOURCES = ascii_dump_load2.cc
 ascii_dump_load3_SOURCES = ascii_dump_load3.cc
 
 bgp99extrapolation1_SOURCES = bgp99extrapolation1.cc
+bgp99extrapolation2_SOURCES = bgp99extrapolation2.cc
 
 bhrz03widening1_SOURCES = bhrz03widening1.cc
 bhrz03widening2_SOURCES = bhrz03widening2.cc
@@ -326,7 +330,7 @@ limitedh79extrapolation1_SOURCES = limitedh79extrapolation1.cc
 
 linearpartition1_SOURCES = linearpartition1.cc
 
-linexpression1_SOURCES = linexpression1.cc
+linearexpression1_SOURCES = linearexpression1.cc
 
 linearsystem1_SOURCES = linearsystem1.cc
 
@@ -365,6 +369,9 @@ polydifference2_SOURCES = polydifference2.cc
 polyhull1_SOURCES = polyhull1.cc
 polyhull2_SOURCES = polyhull2.cc
 
+polyhullifexact1_SOURCES = polyhullifexact1.cc
+polyhullifexact2_SOURCES = polyhullifexact2.cc
+
 randphull1_SOURCES = randphull1.cc
 randphull1_LDADD = $(LDADD) -lm
 
@@ -589,6 +596,9 @@ nnc_polydifference1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_polyhull1_SOURCES = polyhull1.cc
 nnc_polyhull1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 
+nnc_polyhullifexact1_SOURCES = polyhullifexact1.cc
+nnc_polyhullifexact1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+
 nnc_randphull1_SOURCES = randphull1.cc
 nnc_randphull1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_randphull1_LDADD = $(LDADD) -lm
@@ -654,7 +664,7 @@ XFAIL_TESTS =
 
 check_PROGRAMS = $(TESTS) $(BUGS)
 
-EXTRA_DIST = $(watchdog1_SRCS)
+EXTRA_DIST = $(memory1_SRCS) $(watchdog1_SRCS)
 
 BUGS =
 
diff --git a/tests/Polyhedron/Makefile.in b/tests/Polyhedron/Makefile.in
index 21e4827..85eaade 100644
--- a/tests/Polyhedron/Makefile.in
+++ b/tests/Polyhedron/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -82,12 +82,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -104,10 +103,11 @@ am__EXEEXT_1 = hybrid$(EXEEXT) addcongruence1$(EXEEXT) \
 	affinepreimage1$(EXEEXT) affinetrans$(EXEEXT) append1$(EXEEXT) \
 	append2$(EXEEXT) ascii_dump_load1$(EXEEXT) \
 	ascii_dump_load2$(EXEEXT) ascii_dump_load3$(EXEEXT) \
-	bgp99extrapolation1$(EXEEXT) bhrz03widening1$(EXEEXT) \
-	bhrz03widening2$(EXEEXT) bhrz03widening3$(EXEEXT) \
-	bhz03widening1$(EXEEXT) bounded1$(EXEEXT) \
-	boundedaffineimage1$(EXEEXT) boundedaffinepreimage1$(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) \
@@ -129,7 +129,7 @@ am__EXEEXT_1 = hybrid$(EXEEXT) addcongruence1$(EXEEXT) \
 	simplifyusingcontext1$(EXEEXT) \
 	limitedbhrz03extrapolation1$(EXEEXT) \
 	limitedh79extrapolation1$(EXEEXT) linearpartition1$(EXEEXT) \
-	linexpression1$(EXEEXT) linearsystem1$(EXEEXT) \
+	linearexpression1$(EXEEXT) linearsystem1$(EXEEXT) \
 	mapspacedims1$(EXEEXT) matrix1$(EXEEXT) max_min1$(EXEEXT) \
 	maxspacedim1$(EXEEXT) mc91$(EXEEXT) membytes1$(EXEEXT) \
 	memory2$(EXEEXT) minconstraints1$(EXEEXT) \
@@ -138,6 +138,7 @@ am__EXEEXT_1 = hybrid$(EXEEXT) addcongruence1$(EXEEXT) \
 	nncminimize2$(EXEEXT) numberinput1$(EXEEXT) onepoint$(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) \
@@ -183,11 +184,11 @@ am__EXEEXT_2 = nnc_addcongruence1$(EXEEXT) \
 	nnc_minconstraints1$(EXEEXT) nnc_mingenerators1$(EXEEXT) \
 	nnc_onepoint$(EXEEXT) nnc_permute$(EXEEXT) \
 	nnc_polydifference1$(EXEEXT) nnc_polyhull1$(EXEEXT) \
-	nnc_randphull1$(EXEEXT) nnc_relations1$(EXEEXT) \
-	nnc_relations2$(EXEEXT) nnc_removespacedims1$(EXEEXT) \
-	nnc_smm1$(EXEEXT) nnc_timeelapse1$(EXEEXT) \
-	nnc_unconstrain1$(EXEEXT) nnc_universe1$(EXEEXT) \
-	nnc_writepolyhedron1$(EXEEXT)
+	nnc_polyhullifexact1$(EXEEXT) nnc_randphull1$(EXEEXT) \
+	nnc_relations1$(EXEEXT) nnc_relations2$(EXEEXT) \
+	nnc_removespacedims1$(EXEEXT) nnc_smm1$(EXEEXT) \
+	nnc_timeelapse1$(EXEEXT) nnc_unconstrain1$(EXEEXT) \
+	nnc_universe1$(EXEEXT) nnc_writepolyhedron1$(EXEEXT)
 @VALGRIND_TESTS_ENABLED_FALSE at am__EXEEXT_3 = memory1$(EXEEXT)
 @BUILD_WATCHDOG_LIBRARY_TRUE at am__EXEEXT_4 = watchdog1$(EXEEXT)
 am__EXEEXT_5 = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@@ -320,6 +321,13 @@ bgp99extrapolation1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_bgp99extrapolation2_OBJECTS = bgp99extrapolation2.$(OBJEXT)
+bgp99extrapolation2_OBJECTS = $(am_bgp99extrapolation2_OBJECTS)
+bgp99extrapolation2_LDADD = $(LDADD)
+bgp99extrapolation2_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_bhrz03widening1_OBJECTS = bhrz03widening1.$(OBJEXT)
 bhrz03widening1_OBJECTS = $(am_bhrz03widening1_OBJECTS)
 bhrz03widening1_LDADD = $(LDADD)
@@ -630,6 +638,12 @@ limitedh79extrapolation1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_linearexpression1_OBJECTS = linearexpression1.$(OBJEXT)
+linearexpression1_OBJECTS = $(am_linearexpression1_OBJECTS)
+linearexpression1_LDADD = $(LDADD)
+linearexpression1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_linearpartition1_OBJECTS = linearpartition1.$(OBJEXT)
 linearpartition1_OBJECTS = $(am_linearpartition1_OBJECTS)
 linearpartition1_LDADD = $(LDADD)
@@ -642,12 +656,6 @@ linearsystem1_LDADD = $(LDADD)
 linearsystem1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_linexpression1_OBJECTS = linexpression1.$(OBJEXT)
-linexpression1_OBJECTS = $(am_linexpression1_OBJECTS)
-linexpression1_LDADD = $(LDADD)
-linexpression1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
-	$(top_builddir)/tests/libppl_tests.a \
-	$(top_builddir)/src/libppl.la
 am_mapspacedims1_OBJECTS = mapspacedims1.$(OBJEXT)
 mapspacedims1_OBJECTS = $(am_mapspacedims1_OBJECTS)
 mapspacedims1_LDADD = $(LDADD)
@@ -1357,6 +1365,18 @@ nnc_polyhull1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 nnc_polyhull1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(nnc_polyhull1_CXXFLAGS) \
 	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+am_nnc_polyhullifexact1_OBJECTS =  \
+	nnc_polyhullifexact1-polyhullifexact1.$(OBJEXT)
+nnc_polyhullifexact1_OBJECTS = $(am_nnc_polyhullifexact1_OBJECTS)
+nnc_polyhullifexact1_LDADD = $(LDADD)
+nnc_polyhullifexact1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+nnc_polyhullifexact1_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) \
+	$(nnc_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_nnc_randphull1_OBJECTS = nnc_randphull1-randphull1.$(OBJEXT)
 nnc_randphull1_OBJECTS = $(am_nnc_randphull1_OBJECTS)
 am__DEPENDENCIES_1 = $(top_builddir)/utils/libppl_utils.a \
@@ -1516,6 +1536,18 @@ polyhull2_LDADD = $(LDADD)
 polyhull2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_polyhullifexact1_OBJECTS = polyhullifexact1.$(OBJEXT)
+polyhullifexact1_OBJECTS = $(am_polyhullifexact1_OBJECTS)
+polyhullifexact1_LDADD = $(LDADD)
+polyhullifexact1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_polyhullifexact2_OBJECTS = polyhullifexact2.$(OBJEXT)
+polyhullifexact2_OBJECTS = $(am_polyhullifexact2_OBJECTS)
+polyhullifexact2_LDADD = $(LDADD)
+polyhullifexact2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
 am_randphull1_OBJECTS = randphull1.$(OBJEXT)
 randphull1_OBJECTS = $(am_randphull1_OBJECTS)
 randphull1_DEPENDENCIES = $(am__DEPENDENCIES_1)
@@ -1703,9 +1735,10 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(affinetrans_SOURCES) $(append1_SOURCES) $(append2_SOURCES) \
 	$(ascii_dump_load1_SOURCES) $(ascii_dump_load2_SOURCES) \
 	$(ascii_dump_load3_SOURCES) $(bgp99extrapolation1_SOURCES) \
-	$(bhrz03widening1_SOURCES) $(bhrz03widening2_SOURCES) \
-	$(bhrz03widening3_SOURCES) $(bhz03widening1_SOURCES) \
-	$(bounded1_SOURCES) $(boundedaffineimage1_SOURCES) \
+	$(bgp99extrapolation2_SOURCES) $(bhrz03widening1_SOURCES) \
+	$(bhrz03widening2_SOURCES) $(bhrz03widening3_SOURCES) \
+	$(bhz03widening1_SOURCES) $(bounded1_SOURCES) \
+	$(boundedaffineimage1_SOURCES) \
 	$(boundedaffinepreimage1_SOURCES) \
 	$(boundedbhrz03extrapolation1_SOURCES) \
 	$(boundedh79extrapolation1_SOURCES) $(bounds1_SOURCES) \
@@ -1730,8 +1763,8 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(intersection1_SOURCES) \
 	$(limitedbhrz03extrapolation1_SOURCES) \
 	$(limitedh79extrapolation1_SOURCES) \
-	$(linearpartition1_SOURCES) $(linearsystem1_SOURCES) \
-	$(linexpression1_SOURCES) $(mapspacedims1_SOURCES) \
+	$(linearexpression1_SOURCES) $(linearpartition1_SOURCES) \
+	$(linearsystem1_SOURCES) $(mapspacedims1_SOURCES) \
 	$(matrix1_SOURCES) $(max_min1_SOURCES) $(maxspacedim1_SOURCES) \
 	$(mc91_SOURCES) $(membytes1_SOURCES) $(memory1_SOURCES) \
 	$(memory2_SOURCES) $(minconstraints1_SOURCES) \
@@ -1770,9 +1803,9 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(nnc_membytes1_SOURCES) $(nnc_minconstraints1_SOURCES) \
 	$(nnc_mingenerators1_SOURCES) $(nnc_onepoint_SOURCES) \
 	$(nnc_permute_SOURCES) $(nnc_polydifference1_SOURCES) \
-	$(nnc_polyhull1_SOURCES) $(nnc_randphull1_SOURCES) \
-	$(nnc_relations1_SOURCES) $(nnc_relations2_SOURCES) \
-	$(nnc_removespacedims1_SOURCES) \
+	$(nnc_polyhull1_SOURCES) $(nnc_polyhullifexact1_SOURCES) \
+	$(nnc_randphull1_SOURCES) $(nnc_relations1_SOURCES) \
+	$(nnc_relations2_SOURCES) $(nnc_removespacedims1_SOURCES) \
 	$(nnc_simplifyusingcontext1_SOURCES) $(nnc_smm1_SOURCES) \
 	$(nnc_timeelapse1_SOURCES) $(nnc_unconstrain1_SOURCES) \
 	$(nnc_universe1_SOURCES) $(nnc_writepolyhedron1_SOURCES) \
@@ -1780,6 +1813,7 @@ SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(numberinput1_SOURCES) $(onepoint_SOURCES) $(permute_SOURCES) \
 	$(polydifference1_SOURCES) $(polydifference2_SOURCES) \
 	$(polyhull1_SOURCES) $(polyhull2_SOURCES) \
+	$(polyhullifexact1_SOURCES) $(polyhullifexact2_SOURCES) \
 	$(randphull1_SOURCES) $(refinewithcongruence1_SOURCES) \
 	$(refinewithcongruences1_SOURCES) \
 	$(refinewithconstraint1_SOURCES) \
@@ -1805,9 +1839,10 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(affinetrans_SOURCES) $(append1_SOURCES) $(append2_SOURCES) \
 	$(ascii_dump_load1_SOURCES) $(ascii_dump_load2_SOURCES) \
 	$(ascii_dump_load3_SOURCES) $(bgp99extrapolation1_SOURCES) \
-	$(bhrz03widening1_SOURCES) $(bhrz03widening2_SOURCES) \
-	$(bhrz03widening3_SOURCES) $(bhz03widening1_SOURCES) \
-	$(bounded1_SOURCES) $(boundedaffineimage1_SOURCES) \
+	$(bgp99extrapolation2_SOURCES) $(bhrz03widening1_SOURCES) \
+	$(bhrz03widening2_SOURCES) $(bhrz03widening3_SOURCES) \
+	$(bhz03widening1_SOURCES) $(bounded1_SOURCES) \
+	$(boundedaffineimage1_SOURCES) \
 	$(boundedaffinepreimage1_SOURCES) \
 	$(boundedbhrz03extrapolation1_SOURCES) \
 	$(boundedh79extrapolation1_SOURCES) $(bounds1_SOURCES) \
@@ -1832,8 +1867,8 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(intersection1_SOURCES) \
 	$(limitedbhrz03extrapolation1_SOURCES) \
 	$(limitedh79extrapolation1_SOURCES) \
-	$(linearpartition1_SOURCES) $(linearsystem1_SOURCES) \
-	$(linexpression1_SOURCES) $(mapspacedims1_SOURCES) \
+	$(linearexpression1_SOURCES) $(linearpartition1_SOURCES) \
+	$(linearsystem1_SOURCES) $(mapspacedims1_SOURCES) \
 	$(matrix1_SOURCES) $(max_min1_SOURCES) $(maxspacedim1_SOURCES) \
 	$(mc91_SOURCES) $(membytes1_SOURCES) \
 	$(am__memory1_SOURCES_DIST) $(memory2_SOURCES) \
@@ -1873,9 +1908,9 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(nnc_membytes1_SOURCES) $(nnc_minconstraints1_SOURCES) \
 	$(nnc_mingenerators1_SOURCES) $(nnc_onepoint_SOURCES) \
 	$(nnc_permute_SOURCES) $(nnc_polydifference1_SOURCES) \
-	$(nnc_polyhull1_SOURCES) $(nnc_randphull1_SOURCES) \
-	$(nnc_relations1_SOURCES) $(nnc_relations2_SOURCES) \
-	$(nnc_removespacedims1_SOURCES) \
+	$(nnc_polyhull1_SOURCES) $(nnc_polyhullifexact1_SOURCES) \
+	$(nnc_randphull1_SOURCES) $(nnc_relations1_SOURCES) \
+	$(nnc_relations2_SOURCES) $(nnc_removespacedims1_SOURCES) \
 	$(nnc_simplifyusingcontext1_SOURCES) $(nnc_smm1_SOURCES) \
 	$(nnc_timeelapse1_SOURCES) $(nnc_unconstrain1_SOURCES) \
 	$(nnc_universe1_SOURCES) $(nnc_writepolyhedron1_SOURCES) \
@@ -1883,6 +1918,7 @@ DIST_SOURCES = $(addcongruence1_SOURCES) $(addcongruences1_SOURCES) \
 	$(numberinput1_SOURCES) $(onepoint_SOURCES) $(permute_SOURCES) \
 	$(polydifference1_SOURCES) $(polydifference2_SOURCES) \
 	$(polyhull1_SOURCES) $(polyhull2_SOURCES) \
+	$(polyhullifexact1_SOURCES) $(polyhullifexact2_SOURCES) \
 	$(randphull1_SOURCES) $(refinewithcongruence1_SOURCES) \
 	$(refinewithcongruences1_SOURCES) \
 	$(refinewithconstraint1_SOURCES) \
@@ -1957,6 +1993,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -1965,6 +2003,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -2039,6 +2078,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -2084,6 +2124,7 @@ xsb_prolog = @xsb_prolog@
 
 TESTS_ENVIRONMENT = $(CHECKER)
 AM_CPPFLAGS = \
+-I$(top_srcdir)/src \
 -I$(top_builddir)/src \
 -I$(top_srcdir)/utils \
 -I$(top_srcdir)/tests \
@@ -2110,7 +2151,7 @@ affinepreimage1 \
 affinetrans \
 append1 append2 \
 ascii_dump_load1 ascii_dump_load2 ascii_dump_load3 \
-bgp99extrapolation1 \
+bgp99extrapolation1 bgp99extrapolation2 \
 bhrz03widening1 bhrz03widening2 bhrz03widening3 \
 bhz03widening1 \
 bounded1 \
@@ -2147,7 +2188,7 @@ simplifyusingcontext1 \
 limitedbhrz03extrapolation1 \
 limitedh79extrapolation1 \
 linearpartition1 \
-linexpression1 \
+linearexpression1 \
 linearsystem1 \
 mapspacedims1 \
 matrix1 \
@@ -2164,6 +2205,7 @@ onepoint \
 permute \
 polydifference1 polydifference2 \
 polyhull1 polyhull2 \
+polyhullifexact1 polyhullifexact2 \
 randphull1 \
 refinewithconstraint1 \
 refinewithconstraints1 \
@@ -2241,6 +2283,7 @@ nnc_onepoint \
 nnc_permute \
 nnc_polydifference1 \
 nnc_polyhull1 \
+nnc_polyhullifexact1 \
 nnc_randphull1 \
 nnc_relations1 nnc_relations2 \
 nnc_removespacedims1 \
@@ -2276,6 +2319,7 @@ ascii_dump_load1_SOURCES = ascii_dump_load1.cc
 ascii_dump_load2_SOURCES = ascii_dump_load2.cc
 ascii_dump_load3_SOURCES = ascii_dump_load3.cc
 bgp99extrapolation1_SOURCES = bgp99extrapolation1.cc
+bgp99extrapolation2_SOURCES = bgp99extrapolation2.cc
 bhrz03widening1_SOURCES = bhrz03widening1.cc
 bhrz03widening2_SOURCES = bhrz03widening2.cc
 bhrz03widening3_SOURCES = bhrz03widening3.cc
@@ -2324,7 +2368,7 @@ simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 limitedbhrz03extrapolation1_SOURCES = limitedbhrz03extrapolation1.cc
 limitedh79extrapolation1_SOURCES = limitedh79extrapolation1.cc
 linearpartition1_SOURCES = linearpartition1.cc
-linexpression1_SOURCES = linexpression1.cc
+linearexpression1_SOURCES = linearexpression1.cc
 linearsystem1_SOURCES = linearsystem1.cc
 mapspacedims1_SOURCES = mapspacedims1.cc
 matrix1_SOURCES = matrix1.cc
@@ -2346,6 +2390,8 @@ polydifference1_SOURCES = polydifference1.cc
 polydifference2_SOURCES = polydifference2.cc
 polyhull1_SOURCES = polyhull1.cc
 polyhull2_SOURCES = polyhull2.cc
+polyhullifexact1_SOURCES = polyhullifexact1.cc
+polyhullifexact2_SOURCES = polyhullifexact2.cc
 randphull1_SOURCES = randphull1.cc
 randphull1_LDADD = $(LDADD) -lm
 refinewithconstraint1_SOURCES = refinewithconstraint1.cc
@@ -2497,6 +2543,8 @@ nnc_polydifference1_SOURCES = polydifference1.cc
 nnc_polydifference1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_polyhull1_SOURCES = polyhull1.cc
 nnc_polyhull1_CXXFLAGS = $(DERIVED_CXXFLAGS)
+nnc_polyhullifexact1_SOURCES = polyhullifexact1.cc
+nnc_polyhullifexact1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_randphull1_SOURCES = randphull1.cc
 nnc_randphull1_CXXFLAGS = $(DERIVED_CXXFLAGS)
 nnc_randphull1_LDADD = $(LDADD) -lm
@@ -2532,7 +2580,7 @@ watchdog1_SRCS = watchdog1.cc
 @BUILD_WATCHDOG_LIBRARY_TRUE at -I$(top_builddir)/Watchdog/src
 
 @BUILD_WATCHDOG_LIBRARY_TRUE at watchdog1_LDADD = $(LDADD) $(top_builddir)/Watchdog/src/libpwl.la
-EXTRA_DIST = $(watchdog1_SRCS)
+EXTRA_DIST = $(memory1_SRCS) $(watchdog1_SRCS)
 BUGS = 
 MOSTLYCLEANFILES = \
 ascii_dump_load1.dat \
@@ -2648,6 +2696,9 @@ ascii_dump_load3$(EXEEXT): $(ascii_dump_load3_OBJECTS) $(ascii_dump_load3_DEPEND
 bgp99extrapolation1$(EXEEXT): $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_DEPENDENCIES) 
 	@rm -f bgp99extrapolation1$(EXEEXT)
 	$(CXXLINK) $(bgp99extrapolation1_OBJECTS) $(bgp99extrapolation1_LDADD) $(LIBS)
+bgp99extrapolation2$(EXEEXT): $(bgp99extrapolation2_OBJECTS) $(bgp99extrapolation2_DEPENDENCIES) 
+	@rm -f bgp99extrapolation2$(EXEEXT)
+	$(CXXLINK) $(bgp99extrapolation2_OBJECTS) $(bgp99extrapolation2_LDADD) $(LIBS)
 bhrz03widening1$(EXEEXT): $(bhrz03widening1_OBJECTS) $(bhrz03widening1_DEPENDENCIES) 
 	@rm -f bhrz03widening1$(EXEEXT)
 	$(CXXLINK) $(bhrz03widening1_OBJECTS) $(bhrz03widening1_LDADD) $(LIBS)
@@ -2789,15 +2840,15 @@ limitedbhrz03extrapolation1$(EXEEXT): $(limitedbhrz03extrapolation1_OBJECTS) $(l
 limitedh79extrapolation1$(EXEEXT): $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_DEPENDENCIES) 
 	@rm -f limitedh79extrapolation1$(EXEEXT)
 	$(CXXLINK) $(limitedh79extrapolation1_OBJECTS) $(limitedh79extrapolation1_LDADD) $(LIBS)
+linearexpression1$(EXEEXT): $(linearexpression1_OBJECTS) $(linearexpression1_DEPENDENCIES) 
+	@rm -f linearexpression1$(EXEEXT)
+	$(CXXLINK) $(linearexpression1_OBJECTS) $(linearexpression1_LDADD) $(LIBS)
 linearpartition1$(EXEEXT): $(linearpartition1_OBJECTS) $(linearpartition1_DEPENDENCIES) 
 	@rm -f linearpartition1$(EXEEXT)
 	$(CXXLINK) $(linearpartition1_OBJECTS) $(linearpartition1_LDADD) $(LIBS)
 linearsystem1$(EXEEXT): $(linearsystem1_OBJECTS) $(linearsystem1_DEPENDENCIES) 
 	@rm -f linearsystem1$(EXEEXT)
 	$(CXXLINK) $(linearsystem1_OBJECTS) $(linearsystem1_LDADD) $(LIBS)
-linexpression1$(EXEEXT): $(linexpression1_OBJECTS) $(linexpression1_DEPENDENCIES) 
-	@rm -f linexpression1$(EXEEXT)
-	$(CXXLINK) $(linexpression1_OBJECTS) $(linexpression1_LDADD) $(LIBS)
 mapspacedims1$(EXEEXT): $(mapspacedims1_OBJECTS) $(mapspacedims1_DEPENDENCIES) 
 	@rm -f mapspacedims1$(EXEEXT)
 	$(CXXLINK) $(mapspacedims1_OBJECTS) $(mapspacedims1_LDADD) $(LIBS)
@@ -3011,6 +3062,9 @@ nnc_polydifference1$(EXEEXT): $(nnc_polydifference1_OBJECTS) $(nnc_polydifferenc
 nnc_polyhull1$(EXEEXT): $(nnc_polyhull1_OBJECTS) $(nnc_polyhull1_DEPENDENCIES) 
 	@rm -f nnc_polyhull1$(EXEEXT)
 	$(nnc_polyhull1_LINK) $(nnc_polyhull1_OBJECTS) $(nnc_polyhull1_LDADD) $(LIBS)
+nnc_polyhullifexact1$(EXEEXT): $(nnc_polyhullifexact1_OBJECTS) $(nnc_polyhullifexact1_DEPENDENCIES) 
+	@rm -f nnc_polyhullifexact1$(EXEEXT)
+	$(nnc_polyhullifexact1_LINK) $(nnc_polyhullifexact1_OBJECTS) $(nnc_polyhullifexact1_LDADD) $(LIBS)
 nnc_randphull1$(EXEEXT): $(nnc_randphull1_OBJECTS) $(nnc_randphull1_DEPENDENCIES) 
 	@rm -f nnc_randphull1$(EXEEXT)
 	$(nnc_randphull1_LINK) $(nnc_randphull1_OBJECTS) $(nnc_randphull1_LDADD) $(LIBS)
@@ -3068,6 +3122,12 @@ polyhull1$(EXEEXT): $(polyhull1_OBJECTS) $(polyhull1_DEPENDENCIES)
 polyhull2$(EXEEXT): $(polyhull2_OBJECTS) $(polyhull2_DEPENDENCIES) 
 	@rm -f polyhull2$(EXEEXT)
 	$(CXXLINK) $(polyhull2_OBJECTS) $(polyhull2_LDADD) $(LIBS)
+polyhullifexact1$(EXEEXT): $(polyhullifexact1_OBJECTS) $(polyhullifexact1_DEPENDENCIES) 
+	@rm -f polyhullifexact1$(EXEEXT)
+	$(CXXLINK) $(polyhullifexact1_OBJECTS) $(polyhullifexact1_LDADD) $(LIBS)
+polyhullifexact2$(EXEEXT): $(polyhullifexact2_OBJECTS) $(polyhullifexact2_DEPENDENCIES) 
+	@rm -f polyhullifexact2$(EXEEXT)
+	$(CXXLINK) $(polyhullifexact2_OBJECTS) $(polyhullifexact2_LDADD) $(LIBS)
 randphull1$(EXEEXT): $(randphull1_OBJECTS) $(randphull1_DEPENDENCIES) 
 	@rm -f randphull1$(EXEEXT)
 	$(CXXLINK) $(randphull1_OBJECTS) $(randphull1_LDADD) $(LIBS)
@@ -3177,6 +3237,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ascii_dump_load2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/ascii_dump_load3.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bgp99extrapolation1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bgp99extrapolation2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bhrz03widening1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bhrz03widening2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bhrz03widening3.Po at am__quote@
@@ -3224,9 +3285,9 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/intersection1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/limitedbhrz03extrapolation1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/limitedh79extrapolation1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/linearexpression1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/linearpartition1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/linearsystem1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/linexpression1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/mapspacedims1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/matrix1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/max_min1.Po at am__quote@
@@ -3297,6 +3358,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_permute-permute.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_polydifference1-polydifference1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_polyhull1-polyhull1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_randphull1-randphull1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_relations1-relations1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/nnc_relations2-relations2.Po at am__quote@
@@ -3316,6 +3378,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polydifference2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polyhull1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polyhull2.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polyhullifexact1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/polyhullifexact2.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/randphull1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithcongruence1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewithcongruences1.Po at am__quote@
@@ -4177,6 +4241,20 @@ nnc_polyhull1-polyhull1.obj: polyhull1.cc
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @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`
 
+nnc_polyhullifexact1-polyhullifexact1.o: polyhullifexact1.cc
+ at am__fastdepCXX_TRUE@	$(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
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhullifexact1.cc' object='nnc_polyhullifexact1-polyhullifexact1.o' 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_polyhullifexact1_CXXFLAGS) $(CXXFLAGS) -c -o nnc_polyhullifexact1-polyhullifexact1.o `test -f 'polyhullifexact1.cc' || echo '$(srcdir)/'`polyhullifexact1.cc
+
+nnc_polyhullifexact1-polyhullifexact1.obj: polyhullifexact1.cc
+ at am__fastdepCXX_TRUE@	$(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`
+ at am__fastdepCXX_TRUE@	mv -f $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Tpo $(DEPDIR)/nnc_polyhullifexact1-polyhullifexact1.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='polyhullifexact1.cc' object='nnc_polyhullifexact1-polyhullifexact1.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_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@	$(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@	mv -f $(DEPDIR)/nnc_randphull1-randphull1.Tpo $(DEPDIR)/nnc_randphull1-randphull1.Po
diff --git a/tests/Polyhedron/addcongruence1.cc b/tests/Polyhedron/addcongruence1.cc
index 5bec9e8..d376b1d 100644
--- a/tests/Polyhedron/addcongruence1.cc
+++ b/tests/Polyhedron/addcongruence1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_congruence().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addcongruences1.cc b/tests/Polyhedron/addcongruences1.cc
index 8c4eede..5377a5a 100644
--- a/tests/Polyhedron/addcongruences1.cc
+++ b/tests/Polyhedron/addcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addconstraint1.cc b/tests/Polyhedron/addconstraint1.cc
index 4010eed..61b1520 100644
--- a/tests/Polyhedron/addconstraint1.cc
+++ b/tests/Polyhedron/addconstraint1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_constraint().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addconstraints1.cc b/tests/Polyhedron/addconstraints1.cc
index ffcef80..5c3d4ce 100644
--- a/tests/Polyhedron/addconstraints1.cc
+++ b/tests/Polyhedron/addconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_constrains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addconstraints2.cc b/tests/Polyhedron/addconstraints2.cc
index 23eadff..6d4800d 100644
--- a/tests/Polyhedron/addconstraints2.cc
+++ b/tests/Polyhedron/addconstraints2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_constrains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addgenerator1.cc b/tests/Polyhedron/addgenerator1.cc
index 402754b..58fc971 100644
--- a/tests/Polyhedron/addgenerator1.cc
+++ b/tests/Polyhedron/addgenerator1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_generator().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -93,9 +93,26 @@ test02() {
   return ok;
 }
 
+bool
+test03() {
+  C_Polyhedron ph(0, EMPTY);
+  print_constraints(ph, "*** ph ***");
+
+  C_Polyhedron known_result(0, UNIVERSE);
+  print_constraints(known_result, "*** known_result ***");
+
+  ph.add_generator(point());
+
+  bool ok = (ph == known_result);
+  print_constraints(ph, "*** ph.add_generator(point()) ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
+  DO_TEST(test03);
 END_MAIN
diff --git a/tests/Polyhedron/addgenerator2.cc b/tests/Polyhedron/addgenerator2.cc
index 4e4587c..656f07c 100644
--- a/tests/Polyhedron/addgenerator2.cc
+++ b/tests/Polyhedron/addgenerator2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_generator().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addgenerators1.cc b/tests/Polyhedron/addgenerators1.cc
index 3f9690d..46f69b7 100644
--- a/tests/Polyhedron/addgenerators1.cc
+++ b/tests/Polyhedron/addgenerators1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_generators().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -319,6 +319,24 @@ test11() {
   return ok;
 }
 
+bool
+test12() {
+  C_Polyhedron ph(0, EMPTY);
+  print_constraints(ph, "*** ph ***");
+
+  Generator_System gs(point());
+  print_generators(gs, "*** gs ***");
+
+  C_Polyhedron known_result(0, UNIVERSE);
+
+  ph.add_generators(gs);
+
+  bool ok = (ph == known_result);
+  print_constraints(ph, "*** ph.add_generators(gs) ***");
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
@@ -333,4 +351,5 @@ BEGIN_MAIN
   DO_TEST(test09);
   DO_TEST(test10);
   DO_TEST(test11);
+  DO_TEST(test12);
 END_MAIN
diff --git a/tests/Polyhedron/addgenerators2.cc b/tests/Polyhedron/addgenerators2.cc
index 0c09fa2..7315f7b 100644
--- a/tests/Polyhedron/addgenerators2.cc
+++ b/tests/Polyhedron/addgenerators2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::add_generators().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addspacedims1.cc b/tests/Polyhedron/addspacedims1.cc
index b734315..56c34b5 100644
--- a/tests/Polyhedron/addspacedims1.cc
+++ b/tests/Polyhedron/addspacedims1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_space_dimensions_and_project()
    and  Polyhedron::add_space_dimensions_and_embed().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/addspacedims2.cc b/tests/Polyhedron/addspacedims2.cc
index 096a2cf..0725642 100644
--- a/tests/Polyhedron/addspacedims2.cc
+++ b/tests/Polyhedron/addspacedims2.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::add_space_dimensions_and_project()
    and  Polyhedron::add_space_dimensions_and_embed().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/affineimage1.cc b/tests/Polyhedron/affineimage1.cc
index 00eaa85..c833a0c 100644
--- a/tests/Polyhedron/affineimage1.cc
+++ b/tests/Polyhedron/affineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/affineimage2.cc b/tests/Polyhedron/affineimage2.cc
index 5bc7a82..f97854d 100644
--- a/tests/Polyhedron/affineimage2.cc
+++ b/tests/Polyhedron/affineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/affinepreimage1.cc b/tests/Polyhedron/affinepreimage1.cc
index 4506234..f57d766 100644
--- a/tests/Polyhedron/affinepreimage1.cc
+++ b/tests/Polyhedron/affinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/affinetrans.cc b/tests/Polyhedron/affinetrans.cc
index d68573c..1186d45 100644
--- a/tests/Polyhedron/affinetrans.cc
+++ b/tests/Polyhedron/affinetrans.cc
@@ -1,5 +1,5 @@
 /* Use of the functions affine_image and affine_preimage.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/append1.cc b/tests/Polyhedron/append1.cc
index 733249e..54c92ab 100644
--- a/tests/Polyhedron/append1.cc
+++ b/tests/Polyhedron/append1.cc
@@ -1,5 +1,5 @@
 /* An example of iteration to a post-fixpoint.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/append2.cc b/tests/Polyhedron/append2.cc
index 6bb56a6..8c4b6ea 100644
--- a/tests/Polyhedron/append2.cc
+++ b/tests/Polyhedron/append2.cc
@@ -1,5 +1,5 @@
 /* An example of iteration to a post-fixpoint.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/ascii_dump_load1.cc b/tests/Polyhedron/ascii_dump_load1.cc
index a4d47b4..c98955d 100644
--- a/tests/Polyhedron/ascii_dump_load1.cc
+++ b/tests/Polyhedron/ascii_dump_load1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -262,7 +262,7 @@ test08() {
   string str;
   do
     f >> str;
-  while (str != "(not_up-to-date)" );
+  while (str != "(not_up-to-date)");
   f.seekp(0, ios_base::cur);
   f << "A\n";
   close(f);
@@ -390,7 +390,7 @@ test12() {
   string str;
   do
     f >> str;
-  while (str != "(not_up-to-date)" );
+  while (str != "(not_up-to-date)");
   f.seekp(0, ios_base::cur);
   f << "\nA";
   close(f);
diff --git a/tests/Polyhedron/ascii_dump_load2.cc b/tests/Polyhedron/ascii_dump_load2.cc
index 08246de..4271fb4 100644
--- a/tests/Polyhedron/ascii_dump_load2.cc
+++ b/tests/Polyhedron/ascii_dump_load2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/ascii_dump_load3.cc b/tests/Polyhedron/ascii_dump_load3.cc
index 7f96094..c907a65 100644
--- a/tests/Polyhedron/ascii_dump_load3.cc
+++ b/tests/Polyhedron/ascii_dump_load3.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::ascii_dump() and Polyhedron::ascii_load().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bgp99extrapolation1.cc b/tests/Polyhedron/bgp99extrapolation1.cc
index 6560d64..3258f30 100644
--- a/tests/Polyhedron/bgp99extrapolation1.cc
+++ b/tests/Polyhedron/bgp99extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -152,118 +152,8 @@ test01() {
   return !converged;
 }
 
-bool
-test02() {
-  Variable A(0);
-  Variable B(1);
-
-  C_Polyhedron ps1_1(2);
-  ps1_1.add_constraint(-A + B >= 5);
-  ps1_1.add_constraint(A - B >= -13);
-  ps1_1.add_constraint(A >= 3);
-  C_Polyhedron ps1_2(2);
-  ps1_2.add_constraint(-A + B >= 6);
-  ps1_2.add_constraint(A - B >= -16);
-  ps1_2.add_constraint(A >= 3);
-  C_Polyhedron ps1_3(2);
-  ps1_3.add_constraint(-A + B >= 7);
-  ps1_3.add_constraint(A - B >= -20);
-  ps1_3.add_constraint(A >= 4);
-  C_Polyhedron ps1_4(2);
-  ps1_4.add_constraint(-A + B >= 8);
-  ps1_4.add_constraint(A - B >= -24);
-  ps1_4.add_constraint(A >= 5);
-  C_Polyhedron ps1_5(2);
-  ps1_5.add_constraint(-A + B >= 10);
-  ps1_5.add_constraint(A - B >= -28);
-  ps1_5.add_constraint(A >= 6);
-  C_Polyhedron ps1_6(2);
-  ps1_6.add_constraint(-A + B >= 12);
-  ps1_6.add_constraint(A - B >= -32);
-  ps1_6.add_constraint(A >= 7);
-  C_Polyhedron ps1_7(2);
-  ps1_7.add_constraint(-A + B >= 2);
-  ps1_7.add_constraint(A - B >= -4);
-  ps1_7.add_constraint(A >= 0);
-  C_Polyhedron ps1_8(2);
-  ps1_8.add_constraint(-A + B >= 3);
-  ps1_8.add_constraint(A - B >= -8);
-  ps1_8.add_constraint(A >= 1);
-  C_Polyhedron ps1_9(2);
-  ps1_9.add_constraint(-A + B >= 4);
-  ps1_9.add_constraint(A - B >= -12);
-  ps1_9.add_constraint(A >= 2);
-
-  Pointset_Powerset<C_Polyhedron> ps1(2, EMPTY);
-  ps1.add_disjunct(ps1_1);
-  ps1.add_disjunct(ps1_2);
-  ps1.add_disjunct(ps1_3);
-  ps1.add_disjunct(ps1_4);
-  ps1.add_disjunct(ps1_5);
-  ps1.add_disjunct(ps1_6);
-  ps1.add_disjunct(ps1_7);
-  ps1.add_disjunct(ps1_8);
-  ps1.add_disjunct(ps1_9);
-
-  C_Polyhedron ps2_1(2);
-  ps2_1.add_constraint(-A + B >= 2);
-  ps2_1.add_constraint(A - B >= -4);
-  ps2_1.add_constraint(A >= 0);
-  C_Polyhedron ps2_2(2);
-  ps2_2.add_constraint(-A + B >= 3);
-  ps2_2.add_constraint(A - B >= -8);
-  ps2_2.add_constraint(A >= 1);
-  C_Polyhedron ps2_3(2);
-  ps2_3.add_constraint(-A + B >= 4);
-  ps2_3.add_constraint(A - B >= -12);
-  ps2_3.add_constraint(A >= 2);
-  C_Polyhedron ps2_4(2);
-  ps2_4.add_constraint(-A + B >= 6);
-  ps2_4.add_constraint(A - B >= -16);
-  ps2_4.add_constraint(A >= 3);
-
-  Pointset_Powerset<C_Polyhedron> ps2(2, EMPTY);
-  ps2.add_disjunct(ps2_1);
-  ps2.add_disjunct(ps2_2);
-  ps2.add_disjunct(ps2_3);
-  ps2.add_disjunct(ps2_4);
-
-  using namespace Parma_Polyhedra_Library::IO_Operators;
-  nout << "*** ps1 ***" << endl
-       << ps1 << endl;
-  nout << "*** ps2 ***" << endl
-       << ps2 << endl;
-
-  ps1.BGP99_extrapolation_assign
-    (ps2, widen_fun_ref(&Polyhedron::H79_widening_assign), 7);
-
-  Pointset_Powerset<C_Polyhedron> known_result(2, EMPTY);
-  C_Polyhedron kr_1(2);
-  kr_1.add_constraint(A - B >= -16);
-  kr_1.add_constraint(A >= 3);
-  C_Polyhedron kr_2(2);
-  kr_2.add_constraint(-A + B >= 3);
-  kr_2.add_constraint(A >= 1);
-  C_Polyhedron kr_3(2);
-  kr_3.add_constraint(A - B >= -12);
-  known_result.add_disjunct(kr_1);
-  known_result.add_disjunct(kr_2);
-  known_result.add_disjunct(kr_3);
-
-  bool ok = ps1.geometrically_equals(known_result);
-
-  nout
-    << "*** ps1.BGP99_extrapolation_assign"
-    << "(ps2, widen_fun_ref(&H79_widening_assign), 7) ***"
-    << endl
-    << ps1 << endl;
-
-  return ok;
-}
-
 } // namespace
 
 BEGIN_MAIN
   DO_TEST_F16(test01);
-  DO_TEST_F8(test02);
 END_MAIN
diff --git a/tests/Polyhedron/bgp99extrapolation1.cc b/tests/Polyhedron/bgp99extrapolation2.cc
similarity index 55%
copy from tests/Polyhedron/bgp99extrapolation1.cc
copy to tests/Polyhedron/bgp99extrapolation2.cc
index 6560d64..b5d56a6 100644
--- a/tests/Polyhedron/bgp99extrapolation1.cc
+++ b/tests/Polyhedron/bgp99extrapolation2.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BGP99_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -25,135 +25,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
-const C_Polyhedron&
-aux1_test01(unsigned n) {
-  Variable x(0);
-  Variable y(1);
-
-  static std::vector<C_Polyhedron> p;
-  if (p.size() < 5) {
-    p.resize(5, C_Polyhedron(2));
-    p[2].add_constraint(0 <= x);
-    p[2].add_constraint(x <= 4);
-    p[2].add_constraint(0 <= y);
-    p[2].add_constraint(y <= 4);
-    p[1] = p[2];
-    p[1].add_constraint(x-y <= 3);
-    p[0] = p[1];
-    p[0].add_constraint(x+y >= 1);
-
-    p[3].add_constraint(0 <= x);
-    p[3].add_constraint(x <= 8);
-    p[3].add_constraint(0 <= y);
-    p[3].add_constraint(y <= 8);
-    p[3].add_constraint(x+y <= 14);
-    p[3].add_constraint(x-y >= -6);
-    p[4] = p[3];
-    p[3].add_constraint(5*x-y >= -2);
-    p[3].add_constraint(x+3*y >= 3);
-    p[4].add_constraint(4*x-y >= -3);
-    p[4].add_constraint(x+2*y >= 2);
-  }
-
-  if (n >= p.size()) {
-    unsigned new_size = p.size();
-    while (n >= new_size)
-      new_size *= 2;
-    p.resize(p.size()*2);
-  }
-
-  if (p[n].is_universe()) {
-    p[n] = aux1_test01(n-4);
-    p[n].affine_image(x, 2*x);
-    p[n].affine_image(y, 8 - 2*y);
-  }
-
-  return p[n];
-}
-
-Pointset_Powerset<C_Polyhedron>
-aux2_test01(unsigned n) {
-  Pointset_Powerset<C_Polyhedron> s(2, EMPTY);
-  if (n == 0) {
-
-    nout << "S0 = { P0 }" << endl;
-
-    s.add_disjunct(aux1_test01(0));
-    return s;
-  }
-
-  const int p_base = (n-1)/3*4;
-
-  switch (n % 3) {
-  case 1:
-
-    nout << "S" << n << " = { "
-	 << "P" << p_base + 1 << ", "
-	 << "P" << p_base + 3 << " }" << endl;
-
-    s.add_disjunct(aux1_test01(p_base + 1));
-    s.add_disjunct(aux1_test01(p_base + 3));
-    break;
-  case 2:
-
-    nout << "S" << n << " = { "
-	 << "P" << p_base + 2 << ", "
-	 << "P" << p_base + 3 << " }" << endl;
-
-    s.add_disjunct(aux1_test01(p_base + 2));
-    s.add_disjunct(aux1_test01(p_base + 3));
-    break;
-  case 0:
-
-    nout << "S" << n << " = { "
-	 << "P" << p_base + 2 << ", "
-	 << "P" << p_base + 4 << " }" << endl;
-
-    s.add_disjunct(aux1_test01(p_base + 2));
-    s.add_disjunct(aux1_test01(p_base + 4));
-    break;
-  }
-  return s;
-}
-
-void
-aux3_test01(std::ostream& s, const Variable& v) {
-  s << char('x' + v.id());
-}
-
+// Same test as test02, but using C_Polyhedron.
+// This overflows when using 8-bit coefficients.
 bool
 test01() {
-  // Install the alternate output function.
-  Variable::set_output_function(aux3_test01);
-
-  Pointset_Powerset<C_Polyhedron> T = aux2_test01(0);
-
-  using namespace Parma_Polyhedra_Library::IO_Operators;
-
-  nout << "T0 = " << T << endl;
-
-  bool converged = false;
-  for (unsigned n = 1; !converged && n <= 20; ++n) {
-    Pointset_Powerset<C_Polyhedron> Sn = aux2_test01(n);
-
-    nout << "S" << n << " = " << Sn << endl;
-
-    Sn.BGP99_extrapolation_assign
-      (T, widen_fun_ref(&Polyhedron::H79_widening_assign), 2);
-
-    nout << "T" << n << " = " << Sn << endl;
-
-    if (Sn.definitely_entails(T))
-      converged = true;
-    else
-      std::swap(Sn, T);
-  }
-
-  return !converged;
-}
-
-bool
-test02() {
   Variable A(0);
   Variable B(1);
 
@@ -261,9 +136,120 @@ test02() {
   return ok;
 }
 
+// Same test as test01, but using NNC_Polyhedron.
+// This only overflows when using 8-bit coefficients with assertions on.
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+
+  NNC_Polyhedron ps1_1(2);
+  ps1_1.add_constraint(-A + B >= 5);
+  ps1_1.add_constraint(A - B >= -13);
+  ps1_1.add_constraint(A >= 3);
+  NNC_Polyhedron ps1_2(2);
+  ps1_2.add_constraint(-A + B >= 6);
+  ps1_2.add_constraint(A - B >= -16);
+  ps1_2.add_constraint(A >= 3);
+  NNC_Polyhedron ps1_3(2);
+  ps1_3.add_constraint(-A + B >= 7);
+  ps1_3.add_constraint(A - B >= -20);
+  ps1_3.add_constraint(A >= 4);
+  NNC_Polyhedron ps1_4(2);
+  ps1_4.add_constraint(-A + B >= 8);
+  ps1_4.add_constraint(A - B >= -24);
+  ps1_4.add_constraint(A >= 5);
+  NNC_Polyhedron ps1_5(2);
+  ps1_5.add_constraint(-A + B >= 10);
+  ps1_5.add_constraint(A - B >= -28);
+  ps1_5.add_constraint(A >= 6);
+  NNC_Polyhedron ps1_6(2);
+  ps1_6.add_constraint(-A + B >= 12);
+  ps1_6.add_constraint(A - B >= -32);
+  ps1_6.add_constraint(A >= 7);
+  NNC_Polyhedron ps1_7(2);
+  ps1_7.add_constraint(-A + B >= 2);
+  ps1_7.add_constraint(A - B >= -4);
+  ps1_7.add_constraint(A >= 0);
+  NNC_Polyhedron ps1_8(2);
+  ps1_8.add_constraint(-A + B >= 3);
+  ps1_8.add_constraint(A - B >= -8);
+  ps1_8.add_constraint(A >= 1);
+  NNC_Polyhedron ps1_9(2);
+  ps1_9.add_constraint(-A + B >= 4);
+  ps1_9.add_constraint(A - B >= -12);
+  ps1_9.add_constraint(A >= 2);
+
+  Pointset_Powerset<NNC_Polyhedron> ps1(2, EMPTY);
+  ps1.add_disjunct(ps1_1);
+  ps1.add_disjunct(ps1_2);
+  ps1.add_disjunct(ps1_3);
+  ps1.add_disjunct(ps1_4);
+  ps1.add_disjunct(ps1_5);
+  ps1.add_disjunct(ps1_6);
+  ps1.add_disjunct(ps1_7);
+  ps1.add_disjunct(ps1_8);
+  ps1.add_disjunct(ps1_9);
+
+  NNC_Polyhedron ps2_1(2);
+  ps2_1.add_constraint(-A + B >= 2);
+  ps2_1.add_constraint(A - B >= -4);
+  ps2_1.add_constraint(A >= 0);
+  NNC_Polyhedron ps2_2(2);
+  ps2_2.add_constraint(-A + B >= 3);
+  ps2_2.add_constraint(A - B >= -8);
+  ps2_2.add_constraint(A >= 1);
+  NNC_Polyhedron ps2_3(2);
+  ps2_3.add_constraint(-A + B >= 4);
+  ps2_3.add_constraint(A - B >= -12);
+  ps2_3.add_constraint(A >= 2);
+  NNC_Polyhedron ps2_4(2);
+  ps2_4.add_constraint(-A + B >= 6);
+  ps2_4.add_constraint(A - B >= -16);
+  ps2_4.add_constraint(A >= 3);
+
+  Pointset_Powerset<NNC_Polyhedron> ps2(2, EMPTY);
+  ps2.add_disjunct(ps2_1);
+  ps2.add_disjunct(ps2_2);
+  ps2.add_disjunct(ps2_3);
+  ps2.add_disjunct(ps2_4);
+
+  using namespace Parma_Polyhedra_Library::IO_Operators;
+  nout << "*** ps1 ***" << endl
+       << ps1 << endl;
+  nout << "*** ps2 ***" << endl
+       << ps2 << endl;
+
+  ps1.BGP99_extrapolation_assign
+    (ps2, widen_fun_ref(&Polyhedron::H79_widening_assign), 7);
+
+  Pointset_Powerset<NNC_Polyhedron> known_result(2, EMPTY);
+  NNC_Polyhedron kr_1(2);
+  kr_1.add_constraint(A - B >= -16);
+  kr_1.add_constraint(A >= 3);
+  NNC_Polyhedron kr_2(2);
+  kr_2.add_constraint(-A + B >= 3);
+  kr_2.add_constraint(A >= 1);
+  NNC_Polyhedron kr_3(2);
+  kr_3.add_constraint(A - B >= -12);
+  known_result.add_disjunct(kr_1);
+  known_result.add_disjunct(kr_2);
+  known_result.add_disjunct(kr_3);
+
+  bool ok = ps1.geometrically_equals(known_result);
+
+  nout
+    << "*** ps1.BGP99_extrapolation_assign"
+    << "(ps2, widen_fun_ref(&H79_widening_assign), 7) ***"
+    << endl
+    << ps1 << endl;
+
+  return ok;
+}
+
 } // namespace
 
 BEGIN_MAIN
-  DO_TEST_F16(test01);
-  DO_TEST_F8(test02);
+  DO_TEST_F8(test01);
+  DO_TEST_F8A(test02);
 END_MAIN
diff --git a/tests/Polyhedron/bhrz03widening1.cc b/tests/Polyhedron/bhrz03widening1.cc
index 9fb793b..7257723 100644
--- a/tests/Polyhedron/bhrz03widening1.cc
+++ b/tests/Polyhedron/bhrz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bhrz03widening2.cc b/tests/Polyhedron/bhrz03widening2.cc
index bf32dcf..dbc633d 100644
--- a/tests/Polyhedron/bhrz03widening2.cc
+++ b/tests/Polyhedron/bhrz03widening2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bhrz03widening3.cc b/tests/Polyhedron/bhrz03widening3.cc
index e1ddd34..c436a75 100644
--- a/tests/Polyhedron/bhrz03widening3.cc
+++ b/tests/Polyhedron/bhrz03widening3.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::BHRZ03_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bhz03widening1.cc b/tests/Polyhedron/bhz03widening1.cc
index 6c14541..59f9ecd 100644
--- a/tests/Polyhedron/bhz03widening1.cc
+++ b/tests/Polyhedron/bhz03widening1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::BHZ03_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bounded1.cc b/tests/Polyhedron/bounded1.cc
index d240601..d5de1c4 100644
--- a/tests/Polyhedron/bounded1.cc
+++ b/tests/Polyhedron/bounded1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_bounded().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/boundedaffineimage1.cc b/tests/Polyhedron/boundedaffineimage1.cc
index 99d4b2c..224884f 100644
--- a/tests/Polyhedron/boundedaffineimage1.cc
+++ b/tests/Polyhedron/boundedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounded_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/boundedaffinepreimage1.cc b/tests/Polyhedron/boundedaffinepreimage1.cc
index c798b21..df67778 100644
--- a/tests/Polyhedron/boundedaffinepreimage1.cc
+++ b/tests/Polyhedron/boundedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounded_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/boundedbhrz03extrapolation1.cc b/tests/Polyhedron/boundedbhrz03extrapolation1.cc
index fdd77c8..eeb3ed0 100644
--- a/tests/Polyhedron/boundedbhrz03extrapolation1.cc
+++ b/tests/Polyhedron/boundedbhrz03extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounded_BHRZ03_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/boundedh79extrapolation1.cc b/tests/Polyhedron/boundedh79extrapolation1.cc
index 59beb21..c5b0010 100644
--- a/tests/Polyhedron/boundedh79extrapolation1.cc
+++ b/tests/Polyhedron/boundedh79extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounded_H79_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/bounds1.cc b/tests/Polyhedron/bounds1.cc
index 6f73632..b3cdb63 100644
--- a/tests/Polyhedron/bounds1.cc
+++ b/tests/Polyhedron/bounds1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::bounds_from_below() and Polyhedron::bounds_from_above().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/cnncconversion1.cc b/tests/Polyhedron/cnncconversion1.cc
index c9c33d4..c69c638 100644
--- a/tests/Polyhedron/cnncconversion1.cc
+++ b/tests/Polyhedron/cnncconversion1.cc
@@ -1,5 +1,5 @@
 /* Test conversions between C_Polyhedron and NNC_Polyhedron.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/concatenate1.cc b/tests/Polyhedron/concatenate1.cc
index 7ca65fc..e468d9e 100644
--- a/tests/Polyhedron/concatenate1.cc
+++ b/tests/Polyhedron/concatenate1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::concatenate_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/congruences1.cc b/tests/Polyhedron/congruences1.cc
index 02965a2..aefb9ce 100644
--- a/tests/Polyhedron/congruences1.cc
+++ b/tests/Polyhedron/congruences1.cc
@@ -1,5 +1,5 @@
 /* Test C_Polyhedron(Congruence_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/constrains1.cc b/tests/Polyhedron/constrains1.cc
index 72ee015..e89b08e 100644
--- a/tests/Polyhedron/constrains1.cc
+++ b/tests/Polyhedron/constrains1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::constrains().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/constraints1.cc b/tests/Polyhedron/constraints1.cc
index 00a3fe0..b247412 100644
--- a/tests/Polyhedron/constraints1.cc
+++ b/tests/Polyhedron/constraints1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/contains1.cc b/tests/Polyhedron/contains1.cc
index c78363c..b397842 100644
--- a/tests/Polyhedron/contains1.cc
+++ b/tests/Polyhedron/contains1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::contains(const Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/contains2.cc b/tests/Polyhedron/contains2.cc
index 21cd1b9..ff55eec 100644
--- a/tests/Polyhedron/contains2.cc
+++ b/tests/Polyhedron/contains2.cc
@@ -1,5 +1,5 @@
 /* Test NNC_Polyhedron::contains(const Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/containsintegerpoint1.cc b/tests/Polyhedron/containsintegerpoint1.cc
index cc900a1..3fba78b 100644
--- a/tests/Polyhedron/containsintegerpoint1.cc
+++ b/tests/Polyhedron/containsintegerpoint1.cc
@@ -1,5 +1,5 @@
 /* Test C_Polyhedron::contains_integer_point().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -117,11 +117,59 @@ test04() {
   return !contains;
 }
 
+bool
+test05() {
+  C_Polyhedron ph(2);
+  ph.add_constraint(Linear_Expression(0) >= 1);
+
+  print_constraints(ph, "*** ph ***");
+
+  bool contains = ph.contains_integer_point();
+
+  nout << "ph.contains_integer_point() == "
+       << (contains ? "true" : "false") << endl;
+
+  return !contains;
+}
+
+bool
+test06() {
+  NNC_Polyhedron ph(2);
+  ph.add_constraint(Linear_Expression(1) > 1);
+
+  print_constraints(ph, "*** ph ***");
+
+  bool contains = ph.contains_integer_point();
+
+  nout << "ph.contains_integer_point() == "
+       << (contains ? "true" : "false") << endl;
+
+  return !contains;
+}
+
+bool
+test07() {
+  NNC_Polyhedron ph(2);
+  ph.add_constraint(Linear_Expression(1) >= 0);
+
+  print_constraints(ph, "*** ph ***");
+
+  bool contains = ph.contains_integer_point();
+
+  nout << "ph.contains_integer_point() == "
+       << (contains ? "true" : "false") << endl;
+
+  return contains;
+}
+
 } // namespace
 
 BEGIN_MAIN
-//   DO_TEST(test01);
-//   DO_TEST(test02);
-//   DO_TEST(test03);
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
   DO_TEST(test04);
+  DO_TEST(test05);
+  DO_TEST(test06);
+  DO_TEST(test07);
 END_MAIN
diff --git a/tests/Polyhedron/disjoint1.cc b/tests/Polyhedron/disjoint1.cc
index 66c0b49..164d9eb 100644
--- a/tests/Polyhedron/disjoint1.cc
+++ b/tests/Polyhedron/disjoint1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_disjoint_from(const Polyhedron& y).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/disjoint2.cc b/tests/Polyhedron/disjoint2.cc
index 0c7759f..b68c1c9 100644
--- a/tests/Polyhedron/disjoint2.cc
+++ b/tests/Polyhedron/disjoint2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_disjoint_from(const Polyhedron& y).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/dualhypercubes.cc b/tests/Polyhedron/dualhypercubes.cc
index 8fd5f03..c0f08d6 100644
--- a/tests/Polyhedron/dualhypercubes.cc
+++ b/tests/Polyhedron/dualhypercubes.cc
@@ -1,5 +1,5 @@
 /* Exploit smf when computing the intersection of NNC dual hypercubes.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/empty1.cc b/tests/Polyhedron/empty1.cc
index 923e38a..c489331 100644
--- a/tests/Polyhedron/empty1.cc
+++ b/tests/Polyhedron/empty1.cc
@@ -1,5 +1,5 @@
 /* Different ways of creating an empty polyhedron.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/equals1.cc b/tests/Polyhedron/equals1.cc
index ad94a5c..345409b 100644
--- a/tests/Polyhedron/equals1.cc
+++ b/tests/Polyhedron/equals1.cc
@@ -1,5 +1,5 @@
 /* Test operator==(const Polyhedron&, const Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/exceptions1.cc b/tests/Polyhedron/exceptions1.cc
index 6b15714..a4c577d 100644
--- a/tests/Polyhedron/exceptions1.cc
+++ b/tests/Polyhedron/exceptions1.cc
@@ -1,5 +1,5 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/exceptions2.cc b/tests/Polyhedron/exceptions2.cc
index ce0ed0d..faa5fb9 100644
--- a/tests/Polyhedron/exceptions2.cc
+++ b/tests/Polyhedron/exceptions2.cc
@@ -1,5 +1,5 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -893,7 +893,10 @@ BEGIN_MAIN
   DO_TEST(test16);
   DO_TEST(test17);
   DO_TEST(test18);
+#ifndef __alpha__
+  // Exception handling is broken in GCC on the Alpha.
   DO_TEST(test19);
+#endif
   DO_TEST(test20);
   DO_TEST(test21);
   DO_TEST(test22);
diff --git a/tests/Polyhedron/exceptions3.cc b/tests/Polyhedron/exceptions3.cc
index 8f43f40..b8d784f 100644
--- a/tests/Polyhedron/exceptions3.cc
+++ b/tests/Polyhedron/exceptions3.cc
@@ -1,5 +1,5 @@
 /* Test that the right exceptions are thrown in case of incorrect uses.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/expandspacedim1.cc b/tests/Polyhedron/expandspacedim1.cc
index 771fa44..7593460 100644
--- a/tests/Polyhedron/expandspacedim1.cc
+++ b/tests/Polyhedron/expandspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::expand_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/expandspacedim2.cc b/tests/Polyhedron/expandspacedim2.cc
index 6c79d74..d24da01 100644
--- a/tests/Polyhedron/expandspacedim2.cc
+++ b/tests/Polyhedron/expandspacedim2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::expand_space_dimension().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/foldspacedims1.cc b/tests/Polyhedron/foldspacedims1.cc
index 8e4ad81..6acfd22 100644
--- a/tests/Polyhedron/foldspacedims1.cc
+++ b/tests/Polyhedron/foldspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::fold_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/foldspacedims2.cc b/tests/Polyhedron/foldspacedims2.cc
index 4a53f80..64ccb50 100644
--- a/tests/Polyhedron/foldspacedims2.cc
+++ b/tests/Polyhedron/foldspacedims2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::fold_space_dimensions() for non-closed polyhedra.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/frombdshape1.cc b/tests/Polyhedron/frombdshape1.cc
index e3be530..02c2d4d 100644
--- a/tests/Polyhedron/frombdshape1.cc
+++ b/tests/Polyhedron/frombdshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/frombox1.cc b/tests/Polyhedron/frombox1.cc
index e19c1e7..45faec3 100644
--- a/tests/Polyhedron/frombox1.cc
+++ b/tests/Polyhedron/frombox1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::C_Polyhedron(const Box<Interval>&)
    and NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/frombox2.cc b/tests/Polyhedron/frombox2.cc
index 0a114be..8ea1084 100644
--- a/tests/Polyhedron/frombox2.cc
+++ b/tests/Polyhedron/frombox2.cc
@@ -1,5 +1,5 @@
 /* Test NNC_Polyhedron::NNC_Polyhedron(const Box<Interval>&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/fromgrid1.cc b/tests/Polyhedron/fromgrid1.cc
index 22b3505..d2fb6a0 100644
--- a/tests/Polyhedron/fromgrid1.cc
+++ b/tests/Polyhedron/fromgrid1.cc
@@ -1,6 +1,6 @@
 /* Test C_Polyhedron::C_Polyhedron(const Grid&)
    and NNC_Polyhedron::NNC_Polyhedron(const Grid&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/fromoctagonalshape1.cc b/tests/Polyhedron/fromoctagonalshape1.cc
index 139bfd0..1fbd140 100644
--- a/tests/Polyhedron/fromoctagonalshape1.cc
+++ b/tests/Polyhedron/fromoctagonalshape1.cc
@@ -1,5 +1,5 @@
 /* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generalizedaffineimage1.cc b/tests/Polyhedron/generalizedaffineimage1.cc
index ba5f742..00446b8 100644
--- a/tests/Polyhedron/generalizedaffineimage1.cc
+++ b/tests/Polyhedron/generalizedaffineimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generalizedaffineimage2.cc b/tests/Polyhedron/generalizedaffineimage2.cc
index b63b3c5..bc30241 100644
--- a/tests/Polyhedron/generalizedaffineimage2.cc
+++ b/tests/Polyhedron/generalizedaffineimage2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::generalized_affine_image().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generalizedaffinepreimage1.cc b/tests/Polyhedron/generalizedaffinepreimage1.cc
index 243e0d5..bd47681 100644
--- a/tests/Polyhedron/generalizedaffinepreimage1.cc
+++ b/tests/Polyhedron/generalizedaffinepreimage1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generalizedaffinepreimage2.cc b/tests/Polyhedron/generalizedaffinepreimage2.cc
index 6b8a4e9..b457966 100644
--- a/tests/Polyhedron/generalizedaffinepreimage2.cc
+++ b/tests/Polyhedron/generalizedaffinepreimage2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::generalized_affine_preimage().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/generators1.cc b/tests/Polyhedron/generators1.cc
index 5d6661f..d5c495f 100644
--- a/tests/Polyhedron/generators1.cc
+++ b/tests/Polyhedron/generators1.cc
@@ -1,5 +1,5 @@
 /* Test the construction of a polyhedron using generators.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/geomcovers1.cc b/tests/Polyhedron/geomcovers1.cc
index 1eb18e6..56dc11d 100644
--- a/tests/Polyhedron/geomcovers1.cc
+++ b/tests/Polyhedron/geomcovers1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset<PH>::geometrically_covers().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/h79widening1.cc b/tests/Polyhedron/h79widening1.cc
index 2828019..f6cda15 100644
--- a/tests/Polyhedron/h79widening1.cc
+++ b/tests/Polyhedron/h79widening1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::H79_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/h79widening2.cc b/tests/Polyhedron/h79widening2.cc
index 6a5920d..e4ee108 100644
--- a/tests/Polyhedron/h79widening2.cc
+++ b/tests/Polyhedron/h79widening2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::H79_widening_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/hybrid.cc b/tests/Polyhedron/hybrid.cc
index 5cee22c..fc4894a 100644
--- a/tests/Polyhedron/hybrid.cc
+++ b/tests/Polyhedron/hybrid.cc
@@ -2,7 +2,7 @@
 /* Test three examples for linear hybrid systems.
    These are based on the examples in HalbwachsPR94
    and HalbwachsPR97 papers.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/intersection1.cc b/tests/Polyhedron/intersection1.cc
index d7f6cab..7b8a2c3 100644
--- a/tests/Polyhedron/intersection1.cc
+++ b/tests/Polyhedron/intersection1.cc
@@ -1,5 +1,5 @@
 /* Testing Polyhedron::intersection_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/limitedbhrz03extrapolation1.cc b/tests/Polyhedron/limitedbhrz03extrapolation1.cc
index 061ee5c..07033a7 100644
--- a/tests/Polyhedron/limitedbhrz03extrapolation1.cc
+++ b/tests/Polyhedron/limitedbhrz03extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::limited_BHRZ03_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/limitedh79extrapolation1.cc b/tests/Polyhedron/limitedh79extrapolation1.cc
index fc6fbbd..7d5e5cd 100644
--- a/tests/Polyhedron/limitedh79extrapolation1.cc
+++ b/tests/Polyhedron/limitedh79extrapolation1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::limited_H79_extrapolation_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/linearexpression1.cc b/tests/Polyhedron/linearexpression1.cc
new file mode 100644
index 0000000..b980221
--- /dev/null
+++ b/tests/Polyhedron/linearexpression1.cc
@@ -0,0 +1,137 @@
+/* Testing Linear_Expression.
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+using namespace Parma_Polyhedra_Library::IO_Operators;
+
+#define EQUIVALENT(le1, le2) (((le1) == 0) == ((le2) == 0))
+
+// Test operator-=(Linear_Expression& e1, const Linear_Expression& e2):
+// in this case the dimension of e2 is strictly greater than
+// the dimension of e1.
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+
+  Linear_Expression e1 = A;
+  Linear_Expression e2 = B;
+  e1 -= e2;
+
+  Linear_Expression known_result = A - B;
+
+  bool ok = EQUIVALENT(e1, known_result);
+
+  nout << "*** known_result ***" << endl
+       << known_result << endl;
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable A(15);
+  Variable B(0);
+
+  Linear_Expression e1 = A;
+  Linear_Expression e2 = B;
+
+  Linear_Expression known_result1 = e1 + e2;
+
+  bool ok1 = EQUIVALENT(A + B, known_result1)
+    && EQUIVALENT(B + A, known_result1)
+    && EQUIVALENT(Linear_Expression(A) + B, known_result1)
+    && EQUIVALENT(B + Linear_Expression(A), known_result1)
+    && EQUIVALENT(A + Linear_Expression(B), known_result1)
+    && EQUIVALENT(Linear_Expression(B) + A, known_result1)
+    && EQUIVALENT(Linear_Expression(B) + Linear_Expression(A), known_result1);
+
+  nout << "*** known_result1 ***" << endl
+       << known_result1 << endl;
+
+  Linear_Expression known_result2 = e1 + e1;
+
+  bool ok2 = EQUIVALENT(A + A, known_result2)
+    && EQUIVALENT(A + A, known_result2)
+    && EQUIVALENT(Linear_Expression(A) + A, known_result2)
+    && EQUIVALENT(A + Linear_Expression(A), known_result2)
+    && EQUIVALENT(A + Linear_Expression(A), known_result2)
+    && EQUIVALENT(Linear_Expression(A) + A, known_result2)
+    && EQUIVALENT(Linear_Expression(A) + Linear_Expression(A), known_result2);
+
+  nout << "*** known_result2 ***" << endl
+       << known_result2 << endl;
+
+  return ok1 && ok2;
+}
+
+bool
+test03() {
+  Variable A(15);
+  Variable B(10);
+
+  Linear_Expression e1 = A;
+  Linear_Expression e2 = B;
+
+  Linear_Expression known_result1 = e1 - e2;
+
+  bool ok1 = EQUIVALENT(A - B, known_result1)
+    && EQUIVALENT(Linear_Expression(A) - B, known_result1)
+    && EQUIVALENT(A - Linear_Expression(B), known_result1)
+    && EQUIVALENT(Linear_Expression(A) - Linear_Expression(B), known_result1);
+
+  nout << "*** known_result1 ***" << endl
+       << known_result1 << endl;
+
+  Linear_Expression known_result2 = e2 - e1;
+
+  bool ok2 = EQUIVALENT(B - A, known_result2)
+    && EQUIVALENT(Linear_Expression(B) - A, known_result2)
+    && EQUIVALENT(B - Linear_Expression(A), known_result2)
+    && EQUIVALENT(Linear_Expression(B) - Linear_Expression(A), known_result2);
+
+  nout << "*** known_result2 ***" << endl
+       << known_result2 << endl;
+
+  Linear_Expression known_result3 = e1 - e1;
+
+  bool ok3 = EQUIVALENT(A - A, known_result3)
+    && EQUIVALENT(Linear_Expression(A) - A, known_result3)
+    && EQUIVALENT(A - Linear_Expression(A), known_result3)
+    && EQUIVALENT(Linear_Expression(A) - Linear_Expression(A), known_result3);
+
+  nout << "*** known_result3 ***" << endl
+       << known_result3 << endl;
+
+  return ok1 && ok2 && ok3;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Polyhedron/linearpartition1.cc b/tests/Polyhedron/linearpartition1.cc
index 34be5b3..879bda0 100644
--- a/tests/Polyhedron/linearpartition1.cc
+++ b/tests/Polyhedron/linearpartition1.cc
@@ -1,5 +1,5 @@
 /* Test linear_partition().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/linearsystem1.cc b/tests/Polyhedron/linearsystem1.cc
index 7cb567b..33260c1 100644
--- a/tests/Polyhedron/linearsystem1.cc
+++ b/tests/Polyhedron/linearsystem1.cc
@@ -1,5 +1,5 @@
 /* Test some functionality of class Linear_System.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/linexpression1.cc b/tests/Polyhedron/linexpression1.cc
deleted file mode 100644
index 688fe1e..0000000
--- a/tests/Polyhedron/linexpression1.cc
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Testing Linear_Expression.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-// Test operator-=(Linear_Expression& e1, const Linear_Expression& e2):
-// in this case the dimension of e2 is strictly greater than
-// the dimension of e1.
-bool
-test01() {
-  Variable A(0);
-  Variable B(1);
-
-  Linear_Expression e1 = A;
-  Linear_Expression e2 = B;
-  e1 -= e2;
-
-  C_Polyhedron ph(2);
-  ph.add_constraint(e1 >= 0);
-
-  C_Polyhedron known_result(2);
-  known_result.add_constraint(A - B >= 0);
-
-  bool ok = (ph == known_result);
-
-  print_constraints(ph, "*** ph ***");
-
-  return ok;
-}
-
-} // namespace
-
-BEGIN_MAIN
-  DO_TEST(test01);
-END_MAIN
diff --git a/tests/Polyhedron/mapspacedims1.cc b/tests/Polyhedron/mapspacedims1.cc
index 0e7d838..7810647 100644
--- a/tests/Polyhedron/mapspacedims1.cc
+++ b/tests/Polyhedron/mapspacedims1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::map_space_dimensions().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/matrix1.cc b/tests/Polyhedron/matrix1.cc
index 853b938..2a7776a 100644
--- a/tests/Polyhedron/matrix1.cc
+++ b/tests/Polyhedron/matrix1.cc
@@ -1,5 +1,5 @@
 /* Test some functionality of class Matrix.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/max_min1.cc b/tests/Polyhedron/max_min1.cc
index 079915f..c8da74b 100644
--- a/tests/Polyhedron/max_min1.cc
+++ b/tests/Polyhedron/max_min1.cc
@@ -1,6 +1,6 @@
 /* Test Polyhedron::maximize(const Linear_Expression&, ...)
    and Polyhedron::minimize(const Linear_Expression&, ...).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/maxspacedim1.cc b/tests/Polyhedron/maxspacedim1.cc
index efc8a98..56ba3fa 100644
--- a/tests/Polyhedron/maxspacedim1.cc
+++ b/tests/Polyhedron/maxspacedim1.cc
@@ -1,5 +1,5 @@
 /* Test the *::max_space_dimension() methods.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/mc91.cc b/tests/Polyhedron/mc91.cc
index 6e37518..1e71ab9 100644
--- a/tests/Polyhedron/mc91.cc
+++ b/tests/Polyhedron/mc91.cc
@@ -1,5 +1,5 @@
 /* Test the Pointset_Powerset construction with McCarthy's 91 function.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/membytes1.cc b/tests/Polyhedron/membytes1.cc
index d26d91f..f46f64b 100644
--- a/tests/Polyhedron/membytes1.cc
+++ b/tests/Polyhedron/membytes1.cc
@@ -1,5 +1,5 @@
 /* Test the total_memory_in_bytes() and external_memory_in_bytes() methods.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/memory1.cc b/tests/Polyhedron/memory1.cc
index 703a1f1..f1544d0 100644
--- a/tests/Polyhedron/memory1.cc
+++ b/tests/Polyhedron/memory1.cc
@@ -1,5 +1,5 @@
 /* Test the allocation error recovery facility of the library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -27,6 +27,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #include <new>
 #include <cstring>
 #include <cerrno>
+#include <cstdlib>
 
 #ifdef PPL_HAVE_SYS_TYPES_H
 # include <sys/types.h>
@@ -133,24 +134,25 @@ guarded_compute_open_hypercube_generators(dimension_type dimension,
 
 extern "C" void*
 cxx_malloc(size_t size) {
-  return ::operator new(size);
+  void* p = malloc(size);
+  if (p != 0 || size == 0)
+    return p;
+
+  throw std::bad_alloc();
 }
 
 extern "C" void*
-cxx_realloc(void* p, size_t old_size, size_t new_size) {
-  if (new_size <= old_size)
+cxx_realloc(void* q, size_t, size_t new_size) {
+  void* p = realloc(q, new_size);
+  if (p != 0 || new_size == 0)
     return p;
-  else {
-    void* new_p = ::operator new(new_size);
-    memcpy(new_p, p, old_size);
-    ::operator delete(p);
-    return new_p;
-  }
+
+  throw std::bad_alloc();
 }
 
 extern "C" void
 cxx_free(void* p, size_t) {
-  ::operator delete(p);
+  free(p);
 }
 
 #define INIT_MEMORY 3*1024*1024
@@ -179,16 +181,14 @@ main() TRY {
   do {
     ++dimension;
     nout << "Trying dimension " << dimension << endl;
-  }
-  while (guarded_compute_open_hypercube_generators(dimension, INIT_MEMORY));
+  } while (guarded_compute_open_hypercube_generators(dimension, INIT_MEMORY));
 
   // Now find an upper bound to the memory necessary to compute it.
   unsigned long upper_bound = INIT_MEMORY;
   do {
     upper_bound *= 2;
     nout << "Trying upper bound " << upper_bound << endl;
-  }
-  while (!guarded_compute_open_hypercube_generators(dimension, upper_bound));
+  } while (!guarded_compute_open_hypercube_generators(dimension, upper_bound));
 
   // Search the "exact" amount of memory.
   int lower_bound = upper_bound/2;
diff --git a/tests/Polyhedron/memory2.cc b/tests/Polyhedron/memory2.cc
index 1167372..1e5d629 100644
--- a/tests/Polyhedron/memory2.cc
+++ b/tests/Polyhedron/memory2.cc
@@ -1,5 +1,5 @@
 /* Test the allocation error recovery facility of the library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -22,6 +22,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
 #include <new>
+#include <cstdlib>
 #include <limits>
 
 // If GMP does not support exceptions the test is pointless.
@@ -73,54 +74,73 @@ cxx_malloc(size_t size) {
     nout << "std::bad_alloc thrown from cxx_malloc()" << endl;
     throw std::bad_alloc();
   }
-  void* p = ::operator new(size);
-  if (!before_main)
-    vnout << "allocated " << size << " @ " << p << endl;
-  ++mallocated;
-  return p;
+
+  void* p = malloc(size);
+  if (p != 0 || size == 0) {
+    if (!before_main)
+      vnout << "allocated " << size << " @ " << p << endl;
+    ++mallocated;
+    return p;
+  }
+
+  nout << "malloc() returned 0: std::bad_alloc thrown from cxx_malloc()"
+       << endl;
+  throw std::bad_alloc();
 }
 
 extern "C" void
 cxx_free(void* p, size_t) {
+  free(p);
   if (!before_main)
     vnout << "freed " << p << endl;
-  ::operator delete(p);
   ++freed;
 }
 
 extern "C" void*
-cxx_realloc(void* p, size_t old_size, size_t new_size) {
-  if (p == 0)
+cxx_realloc(void* q, size_t old_size, size_t new_size) {
+  if (q == 0)
     return cxx_malloc(new_size);
 
   if (new_size == 0) {
-    cxx_free(p, old_size);
+    cxx_free(q, old_size);
     return 0;
   }
 
   if (new_size <= old_size) {
-    if (!before_main)
-      vnout << "reallocated " << old_size << " @ " << p
-            << " down to " << new_size << " @ " << p
-            << endl;
-    return p;
-  }
-  else {
-    if (reallocated >= realloc_threshold) {
+    void* p = realloc(q, new_size);
+    if (p != 0 || new_size == 0) {
       if (!before_main)
-        nout << "std::bad_alloc thrown from cxx_realloc()" << endl;
-      throw std::bad_alloc();
+        vnout << "reallocated " << old_size << " @ " << p
+              << " down to " << new_size << " @ " << p
+              << endl;
+      return p;
     }
-    void* new_p = ::operator new(new_size);
-    memcpy(new_p, p, old_size);
-    ::operator delete(p);
+
+    nout << "malloc() returned 0: std::bad_alloc thrown from cxx_malloc()"
+         << endl;
+    throw std::bad_alloc();
+  }
+
+  assert(new_size > old_size);
+  if (reallocated >= realloc_threshold) {
+    if (!before_main)
+      nout << "std::bad_alloc thrown from cxx_realloc()" << endl;
+    throw std::bad_alloc();
+  }
+
+  void* p = realloc(q, new_size);
+  if (p != 0 || new_size == 0) {
     if (!before_main)
-      vnout << "reallocated " << old_size << " @ " << p
-            << " up to " << new_size << " @ " << new_p
+      vnout << "reallocated " << old_size << " @ " << q
+            << " up to " << new_size << " @ " << p
             << endl;
     ++reallocated;
-    return new_p;
+    return p;
   }
+
+  nout << "malloc() returned 0: std::bad_alloc thrown from cxx_malloc()"
+       << endl;
+  throw std::bad_alloc();
 }
 
 void
diff --git a/tests/Polyhedron/minconstraints1.cc b/tests/Polyhedron/minconstraints1.cc
index 9ee7870..1a7e654 100644
--- a/tests/Polyhedron/minconstraints1.cc
+++ b/tests/Polyhedron/minconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/minconstraints2.cc b/tests/Polyhedron/minconstraints2.cc
index 6d0c5df..c8c5807 100644
--- a/tests/Polyhedron/minconstraints2.cc
+++ b/tests/Polyhedron/minconstraints2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/mingenerators1.cc b/tests/Polyhedron/mingenerators1.cc
index ebb77f4..c057233 100644
--- a/tests/Polyhedron/mingenerators1.cc
+++ b/tests/Polyhedron/mingenerators1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::minimized_generators().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/mingenerators2.cc b/tests/Polyhedron/mingenerators2.cc
index 278d4f3..692356d 100644
--- a/tests/Polyhedron/mingenerators2.cc
+++ b/tests/Polyhedron/mingenerators2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::minimized_generators().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/nncminimize1.cc b/tests/Polyhedron/nncminimize1.cc
index 884eb88..db3e230 100644
--- a/tests/Polyhedron/nncminimize1.cc
+++ b/tests/Polyhedron/nncminimize1.cc
@@ -1,5 +1,5 @@
 /* Test minimization of NNC polyhedra.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/nncminimize2.cc b/tests/Polyhedron/nncminimize2.cc
index 8da1478..baf500d 100644
--- a/tests/Polyhedron/nncminimize2.cc
+++ b/tests/Polyhedron/nncminimize2.cc
@@ -1,5 +1,5 @@
 /* Test NNC_Polyhedron::ph.minimized_generators().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/numberinput1.cc b/tests/Polyhedron/numberinput1.cc
index 8a3a981..42d8f15 100644
--- a/tests/Polyhedron/numberinput1.cc
+++ b/tests/Polyhedron/numberinput1.cc
@@ -1,5 +1,5 @@
 /* Test number input.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/onepoint.cc b/tests/Polyhedron/onepoint.cc
index f7ca4a2..1e39b87 100644
--- a/tests/Polyhedron/onepoint.cc
+++ b/tests/Polyhedron/onepoint.cc
@@ -1,5 +1,5 @@
 /* Creation of a one-point polyhedron.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/permute.cc b/tests/Polyhedron/permute.cc
index 8208ecb..eb67d08 100644
--- a/tests/Polyhedron/permute.cc
+++ b/tests/Polyhedron/permute.cc
@@ -1,5 +1,5 @@
 /* An example of iteration to a post-fixpoint.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polydifference1.cc b/tests/Polyhedron/polydifference1.cc
index 1278129..bce43fa 100644
--- a/tests/Polyhedron/polydifference1.cc
+++ b/tests/Polyhedron/polydifference1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::difference_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -193,75 +193,6 @@ test06() {
   return ok;
 }
 
-// Creating a rectangle.
-C_Polyhedron
-aux_test07(int lx, int ly, int dx, int dy) {
-  Variable x(0);
-  Variable y(1);
-  C_Polyhedron ph(2, EMPTY);
-  ph.add_generator(point((lx+0*dx)*x + (ly+0*dy)*y));
-  ph.add_generator(point((lx+1*dx)*x + (ly+0*dy)*y));
-  ph.add_generator(point((lx+1*dx)*x + (ly+1*dy)*y));
-  ph.add_generator(point((lx+0*dx)*x + (ly+1*dy)*y));
-  return ph;
-}
-
-bool
-test07() {
-  Pointset_Powerset<C_Polyhedron> cross(2, EMPTY);
-  cross.add_disjunct(aux_test07(0, 3, 9, 3));
-  cross.add_disjunct(aux_test07(3, 0, 3, 9));
-
-  using namespace IO_Operators;
-  nout << "cross = " << cross << endl;
-
-  Pointset_Powerset<C_Polyhedron> squares(2, EMPTY);
-  squares.add_disjunct(aux_test07(1, 4, 1, 1));
-  squares.add_disjunct(aux_test07(4, 4, 1, 1));
-  squares.add_disjunct(aux_test07(7, 4, 1, 1));
-  squares.add_disjunct(aux_test07(4, 1, 1, 1));
-  squares.add_disjunct(aux_test07(4, 7, 1, 1));
-
-  nout << "squares = " << squares << endl;
-
-  Pointset_Powerset<C_Polyhedron> difference = cross;
-  difference.difference_assign(squares);
-
-  nout << "cross - squares = " << difference << endl;
-
-  Pointset_Powerset<C_Polyhedron> intersection = difference;
-  intersection.meet_assign(squares);
-
-  nout << "(cross - squares) inters squares = " << intersection << endl;
-
-  // When using Pointset_Powerset<NNC_Polyhedron>, intersection will be
-  // empty.  When using Pointset_Powerset<C_Polyhedron>,
-  // intersection will consist of objects of affine dimension at most 1.
-  bool ok1 = true;
-  for (Pointset_Powerset<C_Polyhedron>::const_iterator
-	 i = intersection.begin(), in_end = intersection.end();
-       i != in_end; ++i)
-    if (i->element().affine_dimension() > 1) {
-      nout << "intersection contains " << i->element() << "," << endl
-	   << "which is of affine dimension greater than 1" << endl;
-      ok1 = false;
-    }
-
-  Pointset_Powerset<C_Polyhedron> re_union = difference;
-  re_union.upper_bound_assign(squares);
-
-  nout << "(cross - squares) union squares = " << re_union << endl;
-  re_union.pairwise_reduce();
-  nout << "<Above union pairwise reduced>  = " << re_union << endl;
-
-  bool ok2 = re_union.geometrically_equals(cross);
-
-  if (!ok2)
-    nout << "Union does not give back the original!" << endl;
-
-  return ok1 && ok2;
-}
-
 } // namespace
 
 BEGIN_MAIN
@@ -271,5 +202,4 @@ BEGIN_MAIN
   DO_TEST(test04);
   DO_TEST(test05);
   DO_TEST(test06);
-  DO_TEST_F8(test07);
 END_MAIN
diff --git a/tests/Polyhedron/polydifference2.cc b/tests/Polyhedron/polydifference2.cc
index 59daadb..26be53a 100644
--- a/tests/Polyhedron/polydifference2.cc
+++ b/tests/Polyhedron/polydifference2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::difference_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polyhull1.cc b/tests/Polyhedron/polyhull1.cc
index a6cc6cf..b097649 100644
--- a/tests/Polyhedron/polyhull1.cc
+++ b/tests/Polyhedron/polyhull1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::upper_bound_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polyhull2.cc b/tests/Polyhedron/polyhull2.cc
index 4d34a08..b667d4b 100644
--- a/tests/Polyhedron/polyhull2.cc
+++ b/tests/Polyhedron/polyhull2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::upper_bound_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/polyhullifexact1.cc b/tests/Polyhedron/polyhullifexact1.cc
new file mode 100644
index 0000000..3b9c1d2
--- /dev/null
+++ b/tests/Polyhedron/polyhullifexact1.cc
@@ -0,0 +1,464 @@
+/* Test Polyhedron::upper_bound_assign_if_exact().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  C_Polyhedron ph_empty(0, EMPTY);
+  C_Polyhedron ph_universe(0, UNIVERSE);
+
+  // Testing all combinations for 0-dim polyhedra.
+  bool ok = true;
+  C_Polyhedron ph;
+
+  // empty, empty
+  ph = ph_empty;
+  ok &= ph.upper_bound_assign_if_exact(ph_empty);
+  ok &= (ph == ph_empty);
+  print_constraints(ph, "*** empty union empty ***");
+
+  // empty, universe
+  ph = ph_empty;
+  ok &= ph.upper_bound_assign_if_exact(ph_universe);
+  ok &= (ph == ph_universe);
+  print_constraints(ph, "*** empty union universe ***");
+
+  // universe, empty
+  ph = ph_universe;
+  ok &= ph.upper_bound_assign_if_exact(ph_empty);
+  ok &= (ph == ph_universe);
+  print_constraints(ph, "*** universe union empty ***");
+
+  // universe, universe
+  ph = ph_universe;
+  ok &= ph.upper_bound_assign_if_exact(ph_universe);
+  ok &= (ph == ph_universe);
+  print_constraints(ph, "*** universe union universe ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x >= -2);
+  ph1.add_constraint(x <= -1);
+  ph1.add_constraint(y >= 0);
+  ph1.add_constraint(y <= 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  C_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x >= 1);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(y >= 0);
+  ph2.add_constraint(y <= 2);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x >= -2);
+  ph1.add_constraint(x <= 0);
+  ph1.add_constraint(y >= 0);
+  ph1.add_constraint(y <= 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  C_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x >= 0);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(y >= 0);
+  ph2.add_constraint(y <= 2);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= -2);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x == 0);
+  ph1.add_constraint(y == 0);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  C_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x >= 0);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(y >= -2);
+  ph2.add_constraint(y <= 2);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result(ph2);
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x >= 0);
+  ph1.add_constraint(y == 0);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  C_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x >= 0);
+  ph2.add_constraint(y >= 2);
+  ph2.add_constraint(y <= 4);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x == y);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  C_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x == 0);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x >= y);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  C_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x >= 0);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x >= y);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  C_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x <= y);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result(2, UNIVERSE);
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable w(0);
+  Variable x(1);
+  Variable y(2);
+  Variable z(3);
+
+  Constraint_System cs;
+  cs.insert(4*x - 2*y - z + 14 >= 0);
+  cs.insert(4*x + 2*y - z + 2 >= 0);
+  cs.insert(x + y - 1 >= 0);
+  cs.insert(x + y + 2*z - 5 >= 0);
+  cs.insert(x + 1 >= 0);
+  cs.insert(x + z - 1 >= 0);
+  cs.insert(2*x + y -2*z + 7 >= 0);
+  cs.insert(x - y + 2*z + 1 >= 0);
+  cs.insert(x - y + 5 >= 0);
+  cs.insert(2*x - y - 2*z + 13 >= 0);
+  cs.insert(-2*x - y + 2*z + 1 >= 0);
+  cs.insert(-x + y - 1 >= 0);
+  cs.insert(-x + y -2*z + 7 >= 0);
+  cs.insert(-4*x + 2*y + z - 4 >= 0);
+  cs.insert(-2*x + y + 2*z - 5 >= 0);
+  cs.insert(-x + 1 >= 0);
+  cs.insert(-x - z + 5 >= 0);
+  cs.insert(-4*x - 2*y + z + 8 >= 0);
+  cs.insert(-x - y + 5 >= 0);
+  cs.insert(-x - y -2*z +13 >= 0);
+
+  C_Polyhedron icosahedron1(4);
+  icosahedron1.add_constraints(cs);
+  icosahedron1.add_constraint(w >= 0);
+  icosahedron1.add_constraint(w <= 5);
+
+  C_Polyhedron icosahedron2(4);
+  icosahedron2.add_constraints(cs);
+  icosahedron2.add_constraint(w >= -7);
+  icosahedron2.add_constraint(w <= 2);
+
+  C_Polyhedron known_result(4);
+  known_result.add_constraints(cs);
+  known_result.add_constraint(w >= -7);
+  known_result.add_constraint(w <= 5);
+
+  C_Polyhedron computed_result = icosahedron1;
+  bool ok = computed_result.poly_hull_assign_if_exact(icosahedron2);
+  ok &= (computed_result == known_result);
+
+  print_constraints(icosahedron1, "*** icosahedron1 ***");
+  print_constraints(icosahedron2, "*** icosahedron2 ***");
+  print_constraints(computed_result, "*** computed_result ***");
+  print_constraints(known_result, "*** known_result ***");
+
+  return ok;
+}
+
+bool
+test10() {
+  Variable X01(0);
+  Variable X02(1);
+  Variable X03(2);
+  Variable X04(3);
+  Variable X05(4);
+  Variable X06(5);
+  Variable X07(6);
+  Variable X08(7);
+  Variable X09(8);
+  Variable X10(9);
+  Variable X11(10);
+  Variable X12(11);
+  Variable X13(12);
+  Variable X14(13);
+  Variable X15(14);
+  Variable X16(15);
+  Variable X17(16);
+  Variable X18(17);
+  Variable X19(18);
+  Variable X20(19);
+  Variable X21(20);
+  Variable X22(21);
+  Variable X23(22);
+  Variable X24(23);
+  Variable X25(24);
+  Variable X26(25);
+  Variable X27(26);
+  Variable X28(27);
+  Variable X29(28);
+  Variable X30(29);
+  Variable X31(30);
+  Variable X32(31);
+  Variable X33(32);
+  Variable X34(33);
+  Variable X35(34);
+  Variable X36(35);
+  Variable X37(36);
+  Variable X38(37);
+  Variable X39(38);
+
+  Constraint_System cs;
+  cs.insert(X01 - X02 - X03 + 0*X39 == 0);
+  cs.insert(Coefficient("2386907802506363")*X01 - X04 == 0);
+  cs.insert(-X01 >= -80);
+  cs.insert(X02 - Coefficient("3152519739159347")*X14 >= 0);
+  cs.insert(X06 + X07 + X08 + X09 - X14 - X15 == 0);
+  cs.insert(Coefficient("2386907802506363")*X06
+	    + Coefficient("2386907802506363")*X07
+	    + Coefficient("1080863910568919")*X08
+	    + Coefficient("7746191359077253")*X09
+	    - X16 == 0);
+  cs.insert(-X06 + X10 >= -80);
+  cs.insert(-X07 + X11 >= 0);
+  cs.insert(-X08 + X12 >= 0);
+  cs.insert(-X09 + X13 >= 0);
+  cs.insert(X22 - X23 - X24 - X25 == 0);
+  cs.insert(Coefficient("7746191359077253")*X22 - X26 == 0);
+  cs.insert(-X22 >= -500);
+  cs.insert(X23 - Coefficient("3152519739159347")*X36 >= 0);
+  cs.insert(Coefficient("7746191359077253")*X28
+	    + Coefficient("7746191359077253")*X29
+	    + Coefficient("3512807709348987")*X30
+	    + Coefficient("3332663724254167")*X31
+	    - X38 == 0);
+  cs.insert(X28 + X29 + X30 + X31 - X36 + X37 + X39 == 44);
+  cs.insert(-X28 + X32 >= -500);
+  cs.insert(-X29 + X33 >= 0);
+  cs.insert(-X30 + X34 >= 0);
+  cs.insert(-X31 + X35 >= 0);
+  cs.insert(Coefficient("-2661627379775963")*X10
+	    - Coefficient("2686397177726501")*X11
+	    - Coefficient("5422333951354077")*X12
+	    - Coefficient("5469621747441467")*X13
+	    + X25
+	    - Coefficient("2466846695892189")*X32
+	    - Coefficient("4996743786567565")*X33
+	    - Coefficient("5064297780978123")*X34
+	    - Coefficient("641481471923585")*X35 >= 0);
+  cs.insert(X03 - Coefficient("7854277750134145")*X22 >= 0);
+  cs.insert(X15
+	    - Coefficient("7854277750134145")*X28
+	    - Coefficient("7782220156096217")*X29
+	    - Coefficient("7782220156096217")*X30
+	    - Coefficient("7710162562058289")*X31 >= 0);
+  cs.insert(Coefficient("-5422333951354077")*X01 + X24 >= 0);
+  cs.insert(X21 >= 2);
+  cs.insert(-X16 - X38 >= -300);
+  for (dimension_type i = X01.id(); i <= X39.id(); ++i)
+    cs.insert(Variable(i) >= 0);
+
+  C_Polyhedron ph1(cs);
+  ph1.add_constraint(X25 - X22 <= 5);
+
+  C_Polyhedron ph2(cs);
+  ph1.add_constraint(X25 - X22 >= 1);
+
+  C_Polyhedron known_result(cs);
+
+  bool ok = ph1.poly_hull_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+  return ok;
+}
+
+bool
+test11() {
+  const dimension_type dim = 5;
+  Constraint_System cs;
+  for (dimension_type i = 1; i < dim; ++i) {
+    Variable x(i);
+    cs.insert(x >= 0);
+    cs.insert(x <= 4);
+  }
+
+  Variable x(0);
+
+  C_Polyhedron hypercube1(cs);
+  hypercube1.add_constraint(x >= 0);
+  hypercube1.add_constraint(x <= 4);
+
+  C_Polyhedron hypercube2(cs);
+  hypercube2.add_constraint(x >= 2);
+  hypercube2.add_constraint(x <= 6);
+
+  bool ok = hypercube1.upper_bound_assign_if_exact(hypercube2);
+
+  print_generators(hypercube1, "*** hyp1 ***");
+  print_generators(hypercube2, "*** hyp2 ***");
+
+  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_F8(test09);
+  DO_TEST_F64(test10);
+  DO_TEST(test11);
+END_MAIN
diff --git a/tests/Polyhedron/polyhullifexact2.cc b/tests/Polyhedron/polyhullifexact2.cc
new file mode 100644
index 0000000..1c77f4f
--- /dev/null
+++ b/tests/Polyhedron/polyhullifexact2.cc
@@ -0,0 +1,318 @@
+/* Test NNC_Polyhedron::upper_bound_assign_if_exact().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+bool
+test01() {
+  Variable x(0);
+
+  NNC_Polyhedron ph1(1, UNIVERSE);
+  ph1.add_constraint(x > 0);
+  ph1.add_constraint(x <= 1);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(1, UNIVERSE);
+  ph2.add_constraint(x == 0);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(1, UNIVERSE);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 1);
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x > 0);
+  ph1.add_constraint(x <= 2);
+  ph1.add_constraint(y >= 0);
+  ph1.add_constraint(y <= 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x >= 0);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(y == 1);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x >= 0);
+  ph1.add_constraint(x <= 2);
+  ph1.add_constraint(y >= 0);
+  ph1.add_constraint(y <= 2);
+  ph1.add_constraint(x + y > 0);
+  ph1.add_constraint(x + y < 4);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x == y);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(y >= 0);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(2, UNIVERSE);
+  known_result.add_constraint(x >= 0);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y >= 0);
+  known_result.add_constraint(y <= 2);
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x - y >= 0);
+  ph1.add_constraint(x + y >= 0);
+  ph1.add_constraint(4*x < 1);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x - y >= 0);
+  ph2.add_constraint(x + y >= 0);
+  ph2.add_constraint(4*x > 1);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x > 0);
+  ph1.add_constraint(y > 0);
+  ph1.add_constraint(x < 2);
+  ph1.add_constraint(y < 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x == 2);
+  ph2.add_constraint(y == 1);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x > 0);
+  ph1.add_constraint(y > 0);
+  ph1.add_constraint(x < 2);
+  ph1.add_constraint(y < 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x == 2);
+  ph2.add_constraint(y > 0);
+  ph2.add_constraint(y < 2);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(2, UNIVERSE);
+  known_result.add_constraint(x > 0);
+  known_result.add_constraint(y > 0);
+  known_result.add_constraint(x <= 2);
+  known_result.add_constraint(y < 2);
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x >= 0);
+  ph1.add_constraint(x < 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x == 2);
+  ph2.add_constraint(y == 0);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, UNIVERSE);
+  ph1.add_constraint(x >= 0);
+  ph1.add_constraint(x < 1);
+  ph1.add_constraint(y >= 0);
+  ph1.add_constraint(y <= 2);
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, UNIVERSE);
+  ph2.add_constraint(x > 1);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(y >= 0);
+  ph2.add_constraint(y <= 2);
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(ph1);
+
+  bool ok = !ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  return ok;
+}
+
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph1(2, EMPTY);
+  ph1.add_generator(point(0*x + 0*y));
+  ph1.add_generator(point(0*x + 1*y));
+  ph1.add_generator(closure_point(2*x + 2*y));
+  ph1.add_generator(closure_point(3*x + 0*y));
+
+  print_constraints(ph1, "*** ph1 ***");
+
+  NNC_Polyhedron ph2(2, EMPTY);
+  ph2.add_generator(point(4*x + 0*y));
+  ph2.add_generator(point(4*x + 1*y));
+  ph2.add_generator(closure_point(2*x + 2*y));
+  ph2.add_generator(closure_point(1*x + 0*y));
+
+  print_constraints(ph2, "*** ph2 ***");
+
+  NNC_Polyhedron known_result(ph1);
+  known_result.add_generator(point(0*x + 0*y));
+  known_result.add_generator(point(0*x + 1*y));
+  known_result.add_generator(point(4*x + 0*y));
+  known_result.add_generator(point(4*x + 1*y));
+  known_result.add_generator(closure_point(2*x + 2*y));
+
+  bool ok = ph1.upper_bound_assign_if_exact(ph2);
+  ok &= (ph1 == known_result);
+
+  print_constraints(ph1, "*** ph1.upper_bound_assign_if_exact(ph2) ***");
+
+  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/Polyhedron/randphull1.cc b/tests/Polyhedron/randphull1.cc
index bde83d2..a46819d 100644
--- a/tests/Polyhedron/randphull1.cc
+++ b/tests/Polyhedron/randphull1.cc
@@ -1,5 +1,5 @@
 /* Compute poly-hulls of random polytopes.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/refinewithcongruence1.cc b/tests/Polyhedron/refinewithcongruence1.cc
index 3c26642..34c43be 100644
--- a/tests/Polyhedron/refinewithcongruence1.cc
+++ b/tests/Polyhedron/refinewithcongruence1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::refine_with_congruence().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/refinewithcongruences1.cc b/tests/Polyhedron/refinewithcongruences1.cc
index 21bcefb..94998d5 100644
--- a/tests/Polyhedron/refinewithcongruences1.cc
+++ b/tests/Polyhedron/refinewithcongruences1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::refine_with_congruences().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/refinewithconstraint1.cc b/tests/Polyhedron/refinewithconstraint1.cc
index d2bd788..f3afa5e 100644
--- a/tests/Polyhedron/refinewithconstraint1.cc
+++ b/tests/Polyhedron/refinewithconstraint1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::refine_with_constraint().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/refinewithconstraints1.cc b/tests/Polyhedron/refinewithconstraints1.cc
index 4eedd1b..e037f44 100644
--- a/tests/Polyhedron/refinewithconstraints1.cc
+++ b/tests/Polyhedron/refinewithconstraints1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::refine_with_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/relations1.cc b/tests/Polyhedron/relations1.cc
index bc7e6f5..b9b39f8 100644
--- a/tests/Polyhedron/relations1.cc
+++ b/tests/Polyhedron/relations1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::relation_with(g) and Polyhedron::relation_with(c).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/relations2.cc b/tests/Polyhedron/relations2.cc
index 5c153ff..91782d7 100644
--- a/tests/Polyhedron/relations2.cc
+++ b/tests/Polyhedron/relations2.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::relation_with(c) and Polyhedron::relation_with(g).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/relations3.cc b/tests/Polyhedron/relations3.cc
index 990eb13..49bd8d7 100644
--- a/tests/Polyhedron/relations3.cc
+++ b/tests/Polyhedron/relations3.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::relation_with(c) and Polyhedron::relation_with(g).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/removespacedims1.cc b/tests/Polyhedron/removespacedims1.cc
index f82c481..026b6b4 100644
--- a/tests/Polyhedron/removespacedims1.cc
+++ b/tests/Polyhedron/removespacedims1.cc
@@ -1,5 +1,5 @@
 /* Removing space dimensions from a polyhedron.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/removespacedims2.cc b/tests/Polyhedron/removespacedims2.cc
index df09b66..c9dec0b 100644
--- a/tests/Polyhedron/removespacedims2.cc
+++ b/tests/Polyhedron/removespacedims2.cc
@@ -1,5 +1,5 @@
 /* Removing space dimensions form an NNC polyhedron.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/simplifyusingcontext1.cc b/tests/Polyhedron/simplifyusingcontext1.cc
index c9c9b5d..6007190 100644
--- a/tests/Polyhedron/simplifyusingcontext1.cc
+++ b/tests/Polyhedron/simplifyusingcontext1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::simplify_using_context_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -61,7 +61,6 @@ test01() {
   C_Polyhedron computed_result = icosahedron;
   computed_result.simplify_using_context_assign(column);
 
-#if 0
   C_Polyhedron known_result(3);
   known_result.add_constraint(-4*x - 2*y + z >= -8);
   known_result.add_constraint(-4*x + 2*y + z >= 4);
@@ -69,23 +68,16 @@ test01() {
   known_result.add_constraint(-2*x + y + 2*z >= 5);
   known_result.add_constraint(-x - y - 2*z >= -13);
   known_result.add_constraint(-x - z >= -5);
-  known_result.add_constraint(-x >= -1);
   known_result.add_constraint(-x + y - 2*z >= -7);
-  known_result.add_constraint(-y >= -4);
-  known_result.add_constraint(y >= 2);
-  known_result.add_constraint(x >= 0);
 
   bool ok = (computed_result == known_result);
-#endif
 
   print_constraints(icosahedron, "*** icosahedron ***");
   print_constraints(column, "*** column ***");
   print_constraints(computed_result, "*** computed_result ***");
-#if 0
   print_constraints(known_result, "*** known_result ***");
-#endif
-  return true;
-  //return ok;
+
+  return ok;
 }
 
 bool
@@ -136,95 +128,6 @@ test02() {
   return ok;
 }
 
-#if 0
-int
-aux_test02(const C_Polyhedron& ph) {
-  if (ph.is_empty() || ph.space_dimension() == 0)
-    return 0;
-
-  int count = 0;
-  const Generator_System& gs = ph.generators();
-  for (Generator_System::const_iterator i = gs.begin(), gs_end = gs.end();
-       i != gs_end;
-       ++i)
-    if (i->type() == Generator::POINT)
-      ++count;
-  return count;
-}
-
-// Intersection of a pyramid with an half-space of variable height.
-bool
-test02() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-
-  // This is the height of the pyramid.
-  const Coefficient pyramid_height = 16;
-
-  // We will intersect it with the half-spaces `z <= k' and `z >= k'
-  // with k = i*(height/4) for i = -1, 0, 1, ..., 5.
-  struct {
-    Coefficient plane_height;
-    int num_points_above;
-    int num_points_below;
-  } ph_nv[]
-      = { {-1*(pyramid_height/4), 5, 0},
-	  { 0*(pyramid_height/4), 5, 4},
-	  { 1*(pyramid_height/4), 5, 8},
-	  { 2*(pyramid_height/4), 5, 8},
-	  { 3*(pyramid_height/4), 5, 8},
-	  { 4*(pyramid_height/4), 1, 5},
-	  { 5*(pyramid_height/4), 0, 5}
-      };
-
-  Generator_System gs;
-  gs.insert(point(0*x + 0*y + 0*z));
-  gs.insert(point(2*x + 0*y + 0*z));
-  gs.insert(point(0*x + 2*y + 0*z));
-  gs.insert(point(2*x + 2*y + 0*z));
-  gs.insert(point(x + y + pyramid_height*z));
-  C_Polyhedron pyramid(gs);
-
-    print_constraints(pyramid, "*** pyramid constraints ***");
-    print_generators(pyramid, "*** pyramid generators ***");
-
-  bool ok = true;
-
-  for (dimension_type i = 0; i <= 6; ++i) {
-    // Above.
-    C_Polyhedron hyper_space_above(3);
-    hyper_space_above.add_constraint(z >= ph_nv[i].plane_height);
-
-    C_Polyhedron computed_result = pyramid;
-    computed_result.intersection_assign_and_minimize(hyper_space_above);
-
-    if (ok
-	&& aux_test02(computed_result) != ph_nv[i].num_points_above)
-      ok = false;
-
-    print_constraints(hyper_space_above, "*** hyper_space_above ***");
-    print_generators(computed_result, "*** computed_result ***");
-
-    // Below.
-    C_Polyhedron hyper_space_below(3);
-    hyper_space_below.add_constraint(z <= ph_nv[i].plane_height);
-
-    computed_result = pyramid;
-    computed_result.intersection_assign_and_minimize(hyper_space_below);
-
-    if (ok
-	&& aux_test02(computed_result) != ph_nv[i].num_points_below)
-      ok = false;
-
-    print_constraints(hyper_space_below, "*** hyper_space_below ***");
-    print_generators(computed_result, "*** computed_result ***");
-
-  }
-  return ok;
-}
-#endif
-
 bool
 test03() {
   Variable x(0);
@@ -309,6 +212,7 @@ test05() {
 
   C_Polyhedron known_result(3, UNIVERSE);
   known_result.add_constraint(k == 3);
+  // PolyLib 5.22.3 does not simplify away the following equality.
   // known_result.add_constraint(j + 1 == 0);
 
   ph1.simplify_using_context_assign(ph2);
@@ -349,287 +253,229 @@ test06() {
   return ok;
 }
 
-#if 0
 bool
-aux_test07(C_Polyhedron& ph1,
-	   const C_Polyhedron& ph2,
-	   // Note intentional call-by-value!
-	   C_Polyhedron known_result) {
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(ph2, "*** ph2 ***");
+test07() {
+  Variable x(0);
+  Variable y(1);
 
-  ph1.intersection_assign_and_minimize(ph2);
+  C_Polyhedron p(2);
+  p.add_constraint(x == 0);
+  p.add_constraint(y == 0);
 
-  print_generators(ph1, "*** after intersection_assign ***");
+  C_Polyhedron q(2);
+  q.add_constraint(x >= 0);
+  q.add_constraint(y >= 0);
 
-  return ph1 == known_result;
-}
+  C_Polyhedron known_result(p);
 
-bool
-test07() {
-  Variable x(0);
-  Variable y(1);
+  print_constraints(p, "*** p ***");
+  print_constraints(q, "*** q ***");
 
-  C_Polyhedron ph1_1(2);
-  ph1_1.add_constraint(x >= 0);
-  ph1_1.add_constraint(y >= 0);
-  ph1_1.add_constraint(x <= 2);
-  ph1_1.add_constraint(y <= 2);
-  C_Polyhedron ph1_2(ph1_1);
+  (void) p.simplify_using_context_assign(q);
 
-  C_Polyhedron ph2_1(2);
-  ph2_1.add_constraint(x+y <= 0);
-  ph2_1.add_constraint(x+y >= 2);
-  C_Polyhedron ph2_2(ph2_1);
-  C_Polyhedron ph2_3(ph2_1);
-  C_Polyhedron ph2_4(ph2_1);
+  bool ok = (p == known_result);
 
-  bool ok = aux_test07(ph1_1, ph2_1, ph2_1)
-    && aux_test07(ph2_2, ph1_2, ph2_2)
-    && aux_test07(ph2_3, ph2_4, ph2_3);
+  print_constraints(p, "*** p.simplify_using_context_assign(q) ***");
 
   return ok;
 }
 
 bool
 test08() {
-  Variable A(0);
+  Variable x(0);
+  Variable y(1);
 
-  C_Polyhedron ph1(2, EMPTY);
-  C_Polyhedron ph2(2);
-  ph2.add_constraint(A == 0);
+  C_Polyhedron p(2);
+  p.add_constraint(x <= 0);
+  p.add_constraint(y <= 0);
 
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(ph2, "*** ph2 ***");
+  C_Polyhedron q(2);
+  q.add_constraint(x >= 0);
+  q.add_constraint(y >= 0);
 
-  C_Polyhedron known_result(ph1);
+  C_Polyhedron known_result(p);
 
-  ph1.intersection_assign_and_minimize(ph2);
+  print_constraints(p, "*** p ***");
+  print_constraints(q, "*** q ***");
 
-  bool ok = (ph1 == known_result);
+  (void) p.simplify_using_context_assign(q);
 
-  print_constraints(ph1,
-		    "*** after ph1.intersection_assign_and_minimize(ph2) ***");
+  bool ok = (p == known_result);
+
+  print_constraints(p, "*** p.simplify_using_context_assign(q) ***");
 
   return ok;
 }
 
 bool
 test09() {
-  C_Polyhedron ph1;
-  C_Polyhedron ph2(0, EMPTY);
-  ph2.add_generator(point());
+  Variable A(0);
+
+  C_Polyhedron ph1(1);
+  C_Polyhedron ph2(1);
+
+  ph2.add_constraint(A == 0);
 
   print_constraints(ph1, "*** ph1 ***");
   print_constraints(ph2, "*** ph2 ***");
 
   C_Polyhedron known_result = ph1;
 
-  ph1.intersection_assign_and_minimize(ph2);
+  ph1.simplify_using_context_assign(ph2);
 
   bool ok = (ph1 == known_result);
 
   print_constraints(ph1,
-		    "*** after ph1.intersection_assign_and_minimize(ph2) ***");
+                    "*** after ph1.simplify_using_context_assign(ph2) ***");
 
   return ok;
 }
 
 bool
 test10() {
-  Variable A(0);
-  Variable B(1);
+  Variable i(0);
+  Variable j(1);
+  Variable k(2);
 
-  C_Polyhedron ph1(2, EMPTY);
-  C_Polyhedron ph2(2);
-  ph2.add_constraint(A - B >= 0);
+  C_Polyhedron ph1(3, UNIVERSE);
+  ph1.add_constraint(i >= 1);
+  ph1.add_constraint(i <= 10);
+  ph1.add_constraint(j >= 1);
+  ph1.add_constraint(j <= 10);
+  ph1.add_constraint(k == 0);
 
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(ph2, "*** ph2 ***");
+  C_Polyhedron ph2(3, UNIVERSE);
+  ph2.add_constraint(i <= 25);
+  ph2.add_constraint(j <= 25);
+  ph2.add_constraint(i + j >= 25);
+  ph2.add_constraint(k == 0);
 
-  C_Polyhedron known_result(ph1);
+  C_Polyhedron known_result(3, UNIVERSE);
+  known_result.add_constraint(i <= 10);
+  known_result.add_constraint(j <= 10);
 
-  ph1.intersection_assign(ph2);
+  ph1.simplify_using_context_assign(ph2);
 
   bool ok = (ph1 == known_result);
 
-  print_constraints(ph1, "*** after ph1.intersection_assign(ph2) ***");
+  print_constraints(ph1);
 
   return ok;
 }
 
 bool
 test11() {
-  C_Polyhedron ph1;
+  C_Polyhedron ph1(0, EMPTY);
   C_Polyhedron ph2;
 
   print_constraints(ph1, "*** ph1 ***");
   print_constraints(ph2, "*** ph2 ***");
 
-  C_Polyhedron known_result(ph1);
+  C_Polyhedron known_result = ph1;
 
-  ph1.intersection_assign(ph2);
+  ph1.simplify_using_context_assign(ph2);
 
   bool ok = (ph1 == known_result);
 
-  print_constraints(ph1, "*** after ph1.intersection_assign(ph2) ***");
+  print_constraints(ph1,
+            "*** after ph1.simplify_using_context_assign(ph2) ***");
 
   return ok;
 }
 
 bool
 test12() {
-  Variable A(0);
-  Variable B(1);
-
-  C_Polyhedron ph1(2);
-  ph1.generators();
-  ph1.add_constraint(A == B);
-  C_Polyhedron copy_ph1 = ph1;
 
-  C_Polyhedron ph2(2);
-  ph2.generators();
-  ph2.add_constraint(A >= B + 1);
-  C_Polyhedron copy_ph2 = ph2;
+  C_Polyhedron ph1(0, EMPTY);
 
   print_constraints(ph1, "*** ph1 ***");
-  print_constraints(ph2, "*** ph2 ***");
 
-  ph1.intersection_assign(ph2);
-  copy_ph1.intersection_assign_and_minimize(copy_ph2);
+  C_Polyhedron ph2(0, EMPTY);
 
-  bool ok = (ph1 == copy_ph1);
+  print_constraints(ph2, "*** ph2 ***");
+
+  C_Polyhedron known_result(0, UNIVERSE);
 
-  print_constraints(ph1, "*** after intersection_assign ***");
-  print_constraints(copy_ph1,
-		    "*** after intersection_assign_and_minimize ***");
+  bool ok = !ph1.simplify_using_context_assign(ph2);
+  ok &= (ph1 == known_result);
 
+  print_constraints(ph1,
+                   "*** ph1.simplify_using_context_assign(ph2) ***");
   return ok;
 }
 
 bool
 test13() {
-  Variable A(0);
-  Variable B(1);
-
-  C_Polyhedron ph1(2, EMPTY);
-  ph1.add_generator(point());
-  ph1.constraints();
-  ph1.add_generator(line(A + B));
-  C_Polyhedron copy_ph1 = ph1;
-
-  C_Polyhedron ph2(2, EMPTY);
-  ph2.add_generator(point());
-  ph2.constraints();
-  ph2.add_generator(ray(A));
-  ph2.add_generator(ray(B));
-
-  C_Polyhedron copy_ph2 = ph2;
-
-  print_generators(ph1, "*** ph1 ***");
-  print_generators(ph2, "*** ph2 ***");
 
-  ph1.intersection_assign(ph2);
-  copy_ph1.intersection_assign_and_minimize(copy_ph2);
-
-  bool ok = (ph1 == copy_ph1);
-
-  print_constraints(ph1, "*** after intersection_assign ***");
-  print_constraints(copy_ph1,
-		    "*** after intersection_assign_and_minimize ***");
-
-  return ok;
-}
-#endif
-
-bool
-test14() {
   C_Polyhedron ph1(0, EMPTY);
-  C_Polyhedron ph2;
 
   print_constraints(ph1, "*** ph1 ***");
-  print_constraints(ph2, "*** ph2 ***");
 
-  C_Polyhedron known_result = ph1;
+  C_Polyhedron ph2(0, UNIVERSE);
 
-  ph1.simplify_using_context_assign(ph2);
+  print_constraints(ph2, "*** ph2 ***");
 
-  bool ok = (ph1 == known_result);
+  C_Polyhedron known_result(0, EMPTY);
 
-  print_constraints(ph1,
-            "*** after ph1.simplify_using_context_assign(ph2) ***");
+  bool ok = !ph1.simplify_using_context_assign(ph2);
+  ok &= (ph1 == known_result);
 
+  print_constraints(ph1,
+                   "*** ph1.simplify_using_context_assign(ph2) ***");
   return ok;
 }
 
 bool
-test15() {
-  Variable A(0);
-
-  C_Polyhedron ph1(1);
-  C_Polyhedron ph2(1);
+test14() {
 
-  ph2.add_constraint( A == 0);
+  C_Polyhedron ph1(0, UNIVERSE);
 
   print_constraints(ph1, "*** ph1 ***");
-  print_constraints(ph2, "*** ph2 ***");
 
-  C_Polyhedron known_result = ph1;
+  C_Polyhedron ph2(0, EMPTY);
 
-  ph1.simplify_using_context_assign(ph2);
+  print_constraints(ph2, "*** ph2 ***");
 
-  bool ok = (ph1 == known_result);
+  C_Polyhedron known_result(0, UNIVERSE);
 
-  print_constraints(ph1,
-                    "*** after ph1.simplify_using_context_assign(ph2) ***");
+  bool ok = !ph1.simplify_using_context_assign(ph2);
+  ok &= (ph1 == known_result);
 
+  print_constraints(ph1,
+                   "*** ph1.simplify_using_context_assign(ph2) ***");
   return ok;
 }
 
 bool
-test16() {
-  Variable i(0);
-  Variable j(1);
-  Variable k(2);
+test15() {
 
-  C_Polyhedron ph1(3, UNIVERSE);
-  ph1.add_constraint(i >= 1);
-  ph1.add_constraint(i <= 10);
-  ph1.add_constraint(j >= 1);
-  ph1.add_constraint(j <= 10);
-  ph1.add_constraint(k == 0);
+  C_Polyhedron ph1(0, UNIVERSE);
 
-  C_Polyhedron ph2(3, UNIVERSE);
-  ph2.add_constraint(i <= 25);
-  ph2.add_constraint(j <= 25);
-  ph2.add_constraint(i + j >= 25);
-  ph2.add_constraint(k == 0);
+  print_constraints(ph1, "*** ph1 ***");
 
-  // CHECKME: C_Polyhedron known_result(3, EMPTY); ?
-  C_Polyhedron known_result(3, UNIVERSE);
-  known_result.add_constraint(i <= 10);
-  known_result.add_constraint(j <= 10);
+  C_Polyhedron ph2(0, UNIVERSE);
 
-  ph1.simplify_using_context_assign(ph2);
+  print_constraints(ph2, "*** ph2 ***");
 
-  bool ok = (ph1 == known_result);
+  C_Polyhedron known_result(0, UNIVERSE);
 
-  print_constraints(ph1);
+  bool ok = ph1.simplify_using_context_assign(ph2);
+  ok &= (ph1 == known_result);
 
+  print_constraints(ph1,
+                   "*** ph1.simplify_using_context_assign(ph2) ***");
   return ok;
 }
 
 } // namespace
 
 BEGIN_MAIN
-  DO_TEST(test01);
+  DO_TEST_F8A(test01);
   DO_TEST_F8(test02);
   DO_TEST(test03);
   DO_TEST(test04);
   DO_TEST(test05);
   DO_TEST(test06);
-#if 0
   DO_TEST(test07);
   DO_TEST(test08);
   DO_TEST(test09);
@@ -637,8 +483,6 @@ BEGIN_MAIN
   DO_TEST(test11);
   DO_TEST(test12);
   DO_TEST(test13);
-#endif
   DO_TEST(test14);
   DO_TEST(test15);
-  DO_TEST(test16);
 END_MAIN
diff --git a/tests/Polyhedron/smm1.cc b/tests/Polyhedron/smm1.cc
index d8158de..7e2a123 100644
--- a/tests/Polyhedron/smm1.cc
+++ b/tests/Polyhedron/smm1.cc
@@ -1,5 +1,5 @@
 /* SEND + MORE = MONEY.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/timeelapse1.cc b/tests/Polyhedron/timeelapse1.cc
index 16621f4..21fa488 100644
--- a/tests/Polyhedron/timeelapse1.cc
+++ b/tests/Polyhedron/timeelapse1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::time_elapse_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/timeelapse2.cc b/tests/Polyhedron/timeelapse2.cc
index 0fbd2c9..affe7a5 100644
--- a/tests/Polyhedron/timeelapse2.cc
+++ b/tests/Polyhedron/timeelapse2.cc
@@ -1,5 +1,5 @@
 /* Test time_elapse_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/topclosed1.cc b/tests/Polyhedron/topclosed1.cc
index 6af108a..03ae6e4 100644
--- a/tests/Polyhedron/topclosed1.cc
+++ b/tests/Polyhedron/topclosed1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_topologically_closed().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/topclosure1.cc b/tests/Polyhedron/topclosure1.cc
index 3bf7b80..5f9ae48 100644
--- a/tests/Polyhedron/topclosure1.cc
+++ b/tests/Polyhedron/topclosure1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::topological_closure_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/unconstrain1.cc b/tests/Polyhedron/unconstrain1.cc
index 15c8350..ecf121b 100644
--- a/tests/Polyhedron/unconstrain1.cc
+++ b/tests/Polyhedron/unconstrain1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::unconstrain().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/universe1.cc b/tests/Polyhedron/universe1.cc
index 41c9cae..b21c200 100644
--- a/tests/Polyhedron/universe1.cc
+++ b/tests/Polyhedron/universe1.cc
@@ -1,5 +1,5 @@
 /* Test Polyhedron::is_universe().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/universe2.cc b/tests/Polyhedron/universe2.cc
index b47b9e8..e47783a 100644
--- a/tests/Polyhedron/universe2.cc
+++ b/tests/Polyhedron/universe2.cc
@@ -1,5 +1,5 @@
 /* Test the function is_universe() for a NNC_polyhedron.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/variablesset1.cc b/tests/Polyhedron/variablesset1.cc
index d924102..c9f399c 100644
--- a/tests/Polyhedron/variablesset1.cc
+++ b/tests/Polyhedron/variablesset1.cc
@@ -1,5 +1,5 @@
 /* Test the Variables_Set class.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/watchdog1.cc b/tests/Polyhedron/watchdog1.cc
index 8087cdd..270bc52 100644
--- a/tests/Polyhedron/watchdog1.cc
+++ b/tests/Polyhedron/watchdog1.cc
@@ -1,5 +1,5 @@
 /* Test the timeout facility of the library.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -101,16 +101,14 @@ main() TRY {
   do {
     ++dimension;
     nout << "Trying dimension " << dimension << endl;
-  }
-  while (timed_compute_open_hypercube_generators(dimension, INIT_TIME));
+  } while (timed_compute_open_hypercube_generators(dimension, INIT_TIME));
 
   // Now find an upper bound to the time necessary to compute it.
   int upper_bound = INIT_TIME;
   do {
     upper_bound *= 2;
     nout << "Trying upper bound " << upper_bound << endl;
-  }
-  while (!timed_compute_open_hypercube_generators(dimension, upper_bound));
+  } while (!timed_compute_open_hypercube_generators(dimension, upper_bound));
 
   // Search the "exact" time.
   int lower_bound = upper_bound/2;
diff --git a/tests/Polyhedron/writeconsys1.cc b/tests/Polyhedron/writeconsys1.cc
index 10269fc..fdcf5bf 100644
--- a/tests/Polyhedron/writeconsys1.cc
+++ b/tests/Polyhedron/writeconsys1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Constraint_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writegensys1.cc b/tests/Polyhedron/writegensys1.cc
index 447105a..7930580 100644
--- a/tests/Polyhedron/writegensys1.cc
+++ b/tests/Polyhedron/writegensys1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Generator_System&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writepolyhedron1.cc b/tests/Polyhedron/writepolyhedron1.cc
index bfda837..dc88f1d 100644
--- a/tests/Polyhedron/writepolyhedron1.cc
+++ b/tests/Polyhedron/writepolyhedron1.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writepolyhedron2.cc b/tests/Polyhedron/writepolyhedron2.cc
index 7613043..258a57f 100644
--- a/tests/Polyhedron/writepolyhedron2.cc
+++ b/tests/Polyhedron/writepolyhedron2.cc
@@ -1,5 +1,5 @@
 /* Test operator<<(std::ostream&, const Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writerelation1.cc b/tests/Polyhedron/writerelation1.cc
index e3ab851..16fd12e 100644
--- a/tests/Polyhedron/writerelation1.cc
+++ b/tests/Polyhedron/writerelation1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream& s, const Poly_Con_Relation& r)
    and operator<<(std::ostream& s, const Poly_Gen_Relation& r).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/writevariable1.cc b/tests/Polyhedron/writevariable1.cc
index de5ed2f..3b05a0c 100644
--- a/tests/Polyhedron/writevariable1.cc
+++ b/tests/Polyhedron/writevariable1.cc
@@ -1,6 +1,6 @@
 /* Test operator<<(std::ostream& s, Variable v)
    and the related machinery.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/Makefile.am b/tests/Powerset/Makefile.am
index e3c93b8..4cfd912 100644
--- a/tests/Powerset/Makefile.am
+++ b/tests/Powerset/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -50,29 +50,133 @@ $(top_builddir)/src/libppl.la \
 @extra_libraries@
 
 TESTS = \
-simplifyusingcontext1 \
+addcongruences1 \
+addconstraints1 \
+affinedimension1 \
+affineimage1 \
+affinepreimage1 \
+bounded1 \
+bounds1 \
+closed1 \
+closure1 \
+collapse1 \
+concatenate1 \
+contains1 \
+containsintegerpoint1 \
+difference1 \
+discrete1 \
+disjoint1 \
+disjunct1 \
+empty1 \
+entails1 \
+equals1 \
+frombdshape1 \
+frombox1 \
+fromcongruences1 \
+fromconstraints1 \
+fromgrid1 \
+fromoctagonalshape1 \
+frompolyhedron1 \
+fromspacedimension1 \
+intersection1 \
+maxmin1 \
+meet1 \
+membytes1 \
 powerset1 \
-pointsetpowerset1 pointsetpowerset2 pointsetpowerset3 \
-pointsetpowerset4 pointsetpowerset5 pointsetpowerset6 \
-product1
+reduce1 \
+refinewith1 \
+relationwith1 \
+simplifyusingcontext1 \
+size1 \
+spacedims1 \
+universe1 \
+upperbound1
 
 XFAIL_TESTS =
 
 #
 # Sources for the tests
 #
+addcongruences1_SOURCES = addcongruences1.cc
+
+addconstraints1_SOURCES = addconstraints1.cc
+
+affinedimension1_SOURCES = affinedimension1.cc
+
+affineimage1_SOURCES = affineimage1.cc
+
+affinepreimage1_SOURCES = affinepreimage1.cc
+
+bounded1_SOURCES = bounded1.cc
+
+bounds1_SOURCES = bounds1.cc
+
+closed1_SOURCES = closed1.cc
+
+closure1_SOURCES = closure1.cc
+
+collapse1_SOURCES = collapse1.cc
+
+concatenate1_SOURCES = concatenate1.cc
+
+contains1_SOURCES = contains1.cc
+
+containsintegerpoint1_SOURCES = containsintegerpoint1.cc
+
+difference1_SOURCES = difference1.cc
+
+discrete1_SOURCES = discrete1.cc
+
+disjoint1_SOURCES = disjoint1.cc
+
+disjunct1_SOURCES = disjunct1.cc
+
+empty1_SOURCES = empty1.cc
+
+entails1_SOURCES = entails1.cc
+
+equals1_SOURCES = equals1.cc
+
+frombdshape1_SOURCES = frombdshape1.cc
+
+frombox1_SOURCES = frombox1.cc
+
+fromcongruences1_SOURCES = fromcongruences1.cc
+
+fromconstraints1_SOURCES = fromconstraints1.cc
+
+fromgrid1_SOURCES = fromgrid1.cc
+
+fromoctagonalshape1_SOURCES = fromoctagonalshape1.cc
+
+frompolyhedron1_SOURCES = frompolyhedron1.cc
+
+fromspacedimension1_SOURCES = fromspacedimension1.cc
+
+intersection1_SOURCES = intersection1.cc
+
+maxmin1_SOURCES = maxmin1.cc
+
+meet1_SOURCES = meet1.cc
+
+membytes1_SOURCES = membytes1.cc
 
 powerset1_SOURCES = powerset1.cc
 
+reduce1_SOURCES = reduce1.cc
+
+refinewith1_SOURCES = refinewith1.cc
+
+relationwith1_SOURCES = relationwith1.cc
+
 simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
 
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
-pointsetpowerset2_SOURCES = pointsetpowerset2.cc
-pointsetpowerset3_SOURCES = pointsetpowerset3.cc
-pointsetpowerset4_SOURCES = pointsetpowerset4.cc
-pointsetpowerset5_SOURCES = pointsetpowerset5.cc
-pointsetpowerset6_SOURCES = pointsetpowerset6.cc
+size1_SOURCES = size1.cc
+
+spacedims1_SOURCES = spacedims1.cc
+
+universe1_SOURCES = universe1.cc
 
-product1_SOURCES = product1.cc
+upperbound1_SOURCES = upperbound1.cc
 
 check_PROGRAMS = $(TESTS)
diff --git a/tests/Powerset/Makefile.in b/tests/Powerset/Makefile.in
index 52a3c6b..6960fba 100644
--- a/tests/Powerset/Makefile.in
+++ b/tests/Powerset/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -54,11 +54,23 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-TESTS = simplifyusingcontext1$(EXEEXT) powerset1$(EXEEXT) \
-	pointsetpowerset1$(EXEEXT) pointsetpowerset2$(EXEEXT) \
-	pointsetpowerset3$(EXEEXT) pointsetpowerset4$(EXEEXT) \
-	pointsetpowerset5$(EXEEXT) pointsetpowerset6$(EXEEXT) \
-	product1$(EXEEXT)
+TESTS = addcongruences1$(EXEEXT) addconstraints1$(EXEEXT) \
+	affinedimension1$(EXEEXT) affineimage1$(EXEEXT) \
+	affinepreimage1$(EXEEXT) bounded1$(EXEEXT) bounds1$(EXEEXT) \
+	closed1$(EXEEXT) closure1$(EXEEXT) collapse1$(EXEEXT) \
+	concatenate1$(EXEEXT) contains1$(EXEEXT) \
+	containsintegerpoint1$(EXEEXT) difference1$(EXEEXT) \
+	discrete1$(EXEEXT) disjoint1$(EXEEXT) disjunct1$(EXEEXT) \
+	empty1$(EXEEXT) entails1$(EXEEXT) equals1$(EXEEXT) \
+	frombdshape1$(EXEEXT) frombox1$(EXEEXT) \
+	fromcongruences1$(EXEEXT) fromconstraints1$(EXEEXT) \
+	fromgrid1$(EXEEXT) fromoctagonalshape1$(EXEEXT) \
+	frompolyhedron1$(EXEEXT) fromspacedimension1$(EXEEXT) \
+	intersection1$(EXEEXT) maxmin1$(EXEEXT) meet1$(EXEEXT) \
+	membytes1$(EXEEXT) powerset1$(EXEEXT) reduce1$(EXEEXT) \
+	refinewith1$(EXEEXT) relationwith1$(EXEEXT) \
+	simplifyusingcontext1$(EXEEXT) size1$(EXEEXT) \
+	spacedims1$(EXEEXT) universe1$(EXEEXT) upperbound1$(EXEEXT)
 XFAIL_TESTS =
 check_PROGRAMS = $(am__EXEEXT_1)
 subdir = tests/Powerset
@@ -86,57 +98,227 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/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 =
-am__EXEEXT_1 = simplifyusingcontext1$(EXEEXT) powerset1$(EXEEXT) \
-	pointsetpowerset1$(EXEEXT) pointsetpowerset2$(EXEEXT) \
-	pointsetpowerset3$(EXEEXT) pointsetpowerset4$(EXEEXT) \
-	pointsetpowerset5$(EXEEXT) pointsetpowerset6$(EXEEXT) \
-	product1$(EXEEXT)
-am_pointsetpowerset1_OBJECTS = pointsetpowerset1.$(OBJEXT)
-pointsetpowerset1_OBJECTS = $(am_pointsetpowerset1_OBJECTS)
-pointsetpowerset1_LDADD = $(LDADD)
-pointsetpowerset1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am__EXEEXT_1 = addcongruences1$(EXEEXT) addconstraints1$(EXEEXT) \
+	affinedimension1$(EXEEXT) affineimage1$(EXEEXT) \
+	affinepreimage1$(EXEEXT) bounded1$(EXEEXT) bounds1$(EXEEXT) \
+	closed1$(EXEEXT) closure1$(EXEEXT) collapse1$(EXEEXT) \
+	concatenate1$(EXEEXT) contains1$(EXEEXT) \
+	containsintegerpoint1$(EXEEXT) difference1$(EXEEXT) \
+	discrete1$(EXEEXT) disjoint1$(EXEEXT) disjunct1$(EXEEXT) \
+	empty1$(EXEEXT) entails1$(EXEEXT) equals1$(EXEEXT) \
+	frombdshape1$(EXEEXT) frombox1$(EXEEXT) \
+	fromcongruences1$(EXEEXT) fromconstraints1$(EXEEXT) \
+	fromgrid1$(EXEEXT) fromoctagonalshape1$(EXEEXT) \
+	frompolyhedron1$(EXEEXT) fromspacedimension1$(EXEEXT) \
+	intersection1$(EXEEXT) maxmin1$(EXEEXT) meet1$(EXEEXT) \
+	membytes1$(EXEEXT) powerset1$(EXEEXT) reduce1$(EXEEXT) \
+	refinewith1$(EXEEXT) relationwith1$(EXEEXT) \
+	simplifyusingcontext1$(EXEEXT) size1$(EXEEXT) \
+	spacedims1$(EXEEXT) universe1$(EXEEXT) upperbound1$(EXEEXT)
+am_addcongruences1_OBJECTS = addcongruences1.$(OBJEXT)
+addcongruences1_OBJECTS = $(am_addcongruences1_OBJECTS)
+addcongruences1_LDADD = $(LDADD)
+addcongruences1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_pointsetpowerset2_OBJECTS = pointsetpowerset2.$(OBJEXT)
-pointsetpowerset2_OBJECTS = $(am_pointsetpowerset2_OBJECTS)
-pointsetpowerset2_LDADD = $(LDADD)
-pointsetpowerset2_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+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_pointsetpowerset3_OBJECTS = pointsetpowerset3.$(OBJEXT)
-pointsetpowerset3_OBJECTS = $(am_pointsetpowerset3_OBJECTS)
-pointsetpowerset3_LDADD = $(LDADD)
-pointsetpowerset3_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_affinedimension1_OBJECTS = affinedimension1.$(OBJEXT)
+affinedimension1_OBJECTS = $(am_affinedimension1_OBJECTS)
+affinedimension1_LDADD = $(LDADD)
+affinedimension1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_pointsetpowerset4_OBJECTS = pointsetpowerset4.$(OBJEXT)
-pointsetpowerset4_OBJECTS = $(am_pointsetpowerset4_OBJECTS)
-pointsetpowerset4_LDADD = $(LDADD)
-pointsetpowerset4_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_affineimage1_OBJECTS = affineimage1.$(OBJEXT)
+affineimage1_OBJECTS = $(am_affineimage1_OBJECTS)
+affineimage1_LDADD = $(LDADD)
+affineimage1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_pointsetpowerset5_OBJECTS = pointsetpowerset5.$(OBJEXT)
-pointsetpowerset5_OBJECTS = $(am_pointsetpowerset5_OBJECTS)
-pointsetpowerset5_LDADD = $(LDADD)
-pointsetpowerset5_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_affinepreimage1_OBJECTS = affinepreimage1.$(OBJEXT)
+affinepreimage1_OBJECTS = $(am_affinepreimage1_OBJECTS)
+affinepreimage1_LDADD = $(LDADD)
+affinepreimage1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_pointsetpowerset6_OBJECTS = pointsetpowerset6.$(OBJEXT)
-pointsetpowerset6_OBJECTS = $(am_pointsetpowerset6_OBJECTS)
-pointsetpowerset6_LDADD = $(LDADD)
-pointsetpowerset6_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_bounded1_OBJECTS = bounded1.$(OBJEXT)
+bounded1_OBJECTS = $(am_bounded1_OBJECTS)
+bounded1_LDADD = $(LDADD)
+bounded1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_bounds1_OBJECTS = bounds1.$(OBJEXT)
+bounds1_OBJECTS = $(am_bounds1_OBJECTS)
+bounds1_LDADD = $(LDADD)
+bounds1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_closed1_OBJECTS = closed1.$(OBJEXT)
+closed1_OBJECTS = $(am_closed1_OBJECTS)
+closed1_LDADD = $(LDADD)
+closed1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_closure1_OBJECTS = closure1.$(OBJEXT)
+closure1_OBJECTS = $(am_closure1_OBJECTS)
+closure1_LDADD = $(LDADD)
+closure1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_collapse1_OBJECTS = collapse1.$(OBJEXT)
+collapse1_OBJECTS = $(am_collapse1_OBJECTS)
+collapse1_LDADD = $(LDADD)
+collapse1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_concatenate1_OBJECTS = concatenate1.$(OBJEXT)
+concatenate1_OBJECTS = $(am_concatenate1_OBJECTS)
+concatenate1_LDADD = $(LDADD)
+concatenate1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_contains1_OBJECTS = contains1.$(OBJEXT)
+contains1_OBJECTS = $(am_contains1_OBJECTS)
+contains1_LDADD = $(LDADD)
+contains1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_containsintegerpoint1_OBJECTS = containsintegerpoint1.$(OBJEXT)
+containsintegerpoint1_OBJECTS = $(am_containsintegerpoint1_OBJECTS)
+containsintegerpoint1_LDADD = $(LDADD)
+containsintegerpoint1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_difference1_OBJECTS = difference1.$(OBJEXT)
+difference1_OBJECTS = $(am_difference1_OBJECTS)
+difference1_LDADD = $(LDADD)
+difference1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_discrete1_OBJECTS = discrete1.$(OBJEXT)
+discrete1_OBJECTS = $(am_discrete1_OBJECTS)
+discrete1_LDADD = $(LDADD)
+discrete1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_disjoint1_OBJECTS = disjoint1.$(OBJEXT)
+disjoint1_OBJECTS = $(am_disjoint1_OBJECTS)
+disjoint1_LDADD = $(LDADD)
+disjoint1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_disjunct1_OBJECTS = disjunct1.$(OBJEXT)
+disjunct1_OBJECTS = $(am_disjunct1_OBJECTS)
+disjunct1_LDADD = $(LDADD)
+disjunct1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_empty1_OBJECTS = empty1.$(OBJEXT)
+empty1_OBJECTS = $(am_empty1_OBJECTS)
+empty1_LDADD = $(LDADD)
+empty1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_entails1_OBJECTS = entails1.$(OBJEXT)
+entails1_OBJECTS = $(am_entails1_OBJECTS)
+entails1_LDADD = $(LDADD)
+entails1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_equals1_OBJECTS = equals1.$(OBJEXT)
+equals1_OBJECTS = $(am_equals1_OBJECTS)
+equals1_LDADD = $(LDADD)
+equals1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_frombdshape1_OBJECTS = frombdshape1.$(OBJEXT)
+frombdshape1_OBJECTS = $(am_frombdshape1_OBJECTS)
+frombdshape1_LDADD = $(LDADD)
+frombdshape1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_frombox1_OBJECTS = frombox1.$(OBJEXT)
+frombox1_OBJECTS = $(am_frombox1_OBJECTS)
+frombox1_LDADD = $(LDADD)
+frombox1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_fromcongruences1_OBJECTS = fromcongruences1.$(OBJEXT)
+fromcongruences1_OBJECTS = $(am_fromcongruences1_OBJECTS)
+fromcongruences1_LDADD = $(LDADD)
+fromcongruences1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_fromconstraints1_OBJECTS = fromconstraints1.$(OBJEXT)
+fromconstraints1_OBJECTS = $(am_fromconstraints1_OBJECTS)
+fromconstraints1_LDADD = $(LDADD)
+fromconstraints1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_fromgrid1_OBJECTS = fromgrid1.$(OBJEXT)
+fromgrid1_OBJECTS = $(am_fromgrid1_OBJECTS)
+fromgrid1_LDADD = $(LDADD)
+fromgrid1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_fromoctagonalshape1_OBJECTS = fromoctagonalshape1.$(OBJEXT)
+fromoctagonalshape1_OBJECTS = $(am_fromoctagonalshape1_OBJECTS)
+fromoctagonalshape1_LDADD = $(LDADD)
+fromoctagonalshape1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_frompolyhedron1_OBJECTS = frompolyhedron1.$(OBJEXT)
+frompolyhedron1_OBJECTS = $(am_frompolyhedron1_OBJECTS)
+frompolyhedron1_LDADD = $(LDADD)
+frompolyhedron1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_fromspacedimension1_OBJECTS = fromspacedimension1.$(OBJEXT)
+fromspacedimension1_OBJECTS = $(am_fromspacedimension1_OBJECTS)
+fromspacedimension1_LDADD = $(LDADD)
+fromspacedimension1_DEPENDENCIES =  \
+	$(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_intersection1_OBJECTS = intersection1.$(OBJEXT)
+intersection1_OBJECTS = $(am_intersection1_OBJECTS)
+intersection1_LDADD = $(LDADD)
+intersection1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_maxmin1_OBJECTS = maxmin1.$(OBJEXT)
+maxmin1_OBJECTS = $(am_maxmin1_OBJECTS)
+maxmin1_LDADD = $(LDADD)
+maxmin1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_meet1_OBJECTS = meet1.$(OBJEXT)
+meet1_OBJECTS = $(am_meet1_OBJECTS)
+meet1_LDADD = $(LDADD)
+meet1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_membytes1_OBJECTS = membytes1.$(OBJEXT)
+membytes1_OBJECTS = $(am_membytes1_OBJECTS)
+membytes1_LDADD = $(LDADD)
+membytes1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
 am_powerset1_OBJECTS = powerset1.$(OBJEXT)
@@ -145,10 +327,22 @@ powerset1_LDADD = $(LDADD)
 powerset1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
-am_product1_OBJECTS = product1.$(OBJEXT)
-product1_OBJECTS = $(am_product1_OBJECTS)
-product1_LDADD = $(LDADD)
-product1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+am_reduce1_OBJECTS = reduce1.$(OBJEXT)
+reduce1_OBJECTS = $(am_reduce1_OBJECTS)
+reduce1_LDADD = $(LDADD)
+reduce1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_refinewith1_OBJECTS = refinewith1.$(OBJEXT)
+refinewith1_OBJECTS = $(am_refinewith1_OBJECTS)
+refinewith1_LDADD = $(LDADD)
+refinewith1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_relationwith1_OBJECTS = relationwith1.$(OBJEXT)
+relationwith1_OBJECTS = $(am_relationwith1_OBJECTS)
+relationwith1_LDADD = $(LDADD)
+relationwith1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
 am_simplifyusingcontext1_OBJECTS = simplifyusingcontext1.$(OBJEXT)
@@ -158,6 +352,30 @@ simplifyusingcontext1_DEPENDENCIES =  \
 	$(top_builddir)/utils/libppl_utils.a \
 	$(top_builddir)/tests/libppl_tests.a \
 	$(top_builddir)/src/libppl.la
+am_size1_OBJECTS = size1.$(OBJEXT)
+size1_OBJECTS = $(am_size1_OBJECTS)
+size1_LDADD = $(LDADD)
+size1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_spacedims1_OBJECTS = spacedims1.$(OBJEXT)
+spacedims1_OBJECTS = $(am_spacedims1_OBJECTS)
+spacedims1_LDADD = $(LDADD)
+spacedims1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_universe1_OBJECTS = universe1.$(OBJEXT)
+universe1_OBJECTS = $(am_universe1_OBJECTS)
+universe1_LDADD = $(LDADD)
+universe1_DEPENDENCIES = $(top_builddir)/utils/libppl_utils.a \
+	$(top_builddir)/tests/libppl_tests.a \
+	$(top_builddir)/src/libppl.la
+am_upperbound1_OBJECTS = upperbound1.$(OBJEXT)
+upperbound1_OBJECTS = $(am_upperbound1_OBJECTS)
+upperbound1_LDADD = $(LDADD)
+upperbound1_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
@@ -170,16 +388,42 @@ CXXLD = $(CXX)
 CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
 	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
-SOURCES = $(pointsetpowerset1_SOURCES) $(pointsetpowerset2_SOURCES) \
-	$(pointsetpowerset3_SOURCES) $(pointsetpowerset4_SOURCES) \
-	$(pointsetpowerset5_SOURCES) $(pointsetpowerset6_SOURCES) \
-	$(powerset1_SOURCES) $(product1_SOURCES) \
-	$(simplifyusingcontext1_SOURCES)
-DIST_SOURCES = $(pointsetpowerset1_SOURCES) \
-	$(pointsetpowerset2_SOURCES) $(pointsetpowerset3_SOURCES) \
-	$(pointsetpowerset4_SOURCES) $(pointsetpowerset5_SOURCES) \
-	$(pointsetpowerset6_SOURCES) $(powerset1_SOURCES) \
-	$(product1_SOURCES) $(simplifyusingcontext1_SOURCES)
+SOURCES = $(addcongruences1_SOURCES) $(addconstraints1_SOURCES) \
+	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
+	$(affinepreimage1_SOURCES) $(bounded1_SOURCES) \
+	$(bounds1_SOURCES) $(closed1_SOURCES) $(closure1_SOURCES) \
+	$(collapse1_SOURCES) $(concatenate1_SOURCES) \
+	$(contains1_SOURCES) $(containsintegerpoint1_SOURCES) \
+	$(difference1_SOURCES) $(discrete1_SOURCES) \
+	$(disjoint1_SOURCES) $(disjunct1_SOURCES) $(empty1_SOURCES) \
+	$(entails1_SOURCES) $(equals1_SOURCES) $(frombdshape1_SOURCES) \
+	$(frombox1_SOURCES) $(fromcongruences1_SOURCES) \
+	$(fromconstraints1_SOURCES) $(fromgrid1_SOURCES) \
+	$(fromoctagonalshape1_SOURCES) $(frompolyhedron1_SOURCES) \
+	$(fromspacedimension1_SOURCES) $(intersection1_SOURCES) \
+	$(maxmin1_SOURCES) $(meet1_SOURCES) $(membytes1_SOURCES) \
+	$(powerset1_SOURCES) $(reduce1_SOURCES) $(refinewith1_SOURCES) \
+	$(relationwith1_SOURCES) $(simplifyusingcontext1_SOURCES) \
+	$(size1_SOURCES) $(spacedims1_SOURCES) $(universe1_SOURCES) \
+	$(upperbound1_SOURCES)
+DIST_SOURCES = $(addcongruences1_SOURCES) $(addconstraints1_SOURCES) \
+	$(affinedimension1_SOURCES) $(affineimage1_SOURCES) \
+	$(affinepreimage1_SOURCES) $(bounded1_SOURCES) \
+	$(bounds1_SOURCES) $(closed1_SOURCES) $(closure1_SOURCES) \
+	$(collapse1_SOURCES) $(concatenate1_SOURCES) \
+	$(contains1_SOURCES) $(containsintegerpoint1_SOURCES) \
+	$(difference1_SOURCES) $(discrete1_SOURCES) \
+	$(disjoint1_SOURCES) $(disjunct1_SOURCES) $(empty1_SOURCES) \
+	$(entails1_SOURCES) $(equals1_SOURCES) $(frombdshape1_SOURCES) \
+	$(frombox1_SOURCES) $(fromcongruences1_SOURCES) \
+	$(fromconstraints1_SOURCES) $(fromgrid1_SOURCES) \
+	$(fromoctagonalshape1_SOURCES) $(frompolyhedron1_SOURCES) \
+	$(fromspacedimension1_SOURCES) $(intersection1_SOURCES) \
+	$(maxmin1_SOURCES) $(meet1_SOURCES) $(membytes1_SOURCES) \
+	$(powerset1_SOURCES) $(reduce1_SOURCES) $(refinewith1_SOURCES) \
+	$(relationwith1_SOURCES) $(simplifyusingcontext1_SOURCES) \
+	$(size1_SOURCES) $(spacedims1_SOURCES) $(universe1_SOURCES) \
+	$(upperbound1_SOURCES)
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -239,6 +483,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -247,6 +493,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -321,6 +568,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
@@ -382,15 +630,47 @@ $(top_builddir)/src/libppl.la \
 #
 # Sources for the tests
 #
+addcongruences1_SOURCES = addcongruences1.cc
+addconstraints1_SOURCES = addconstraints1.cc
+affinedimension1_SOURCES = affinedimension1.cc
+affineimage1_SOURCES = affineimage1.cc
+affinepreimage1_SOURCES = affinepreimage1.cc
+bounded1_SOURCES = bounded1.cc
+bounds1_SOURCES = bounds1.cc
+closed1_SOURCES = closed1.cc
+closure1_SOURCES = closure1.cc
+collapse1_SOURCES = collapse1.cc
+concatenate1_SOURCES = concatenate1.cc
+contains1_SOURCES = contains1.cc
+containsintegerpoint1_SOURCES = containsintegerpoint1.cc
+difference1_SOURCES = difference1.cc
+discrete1_SOURCES = discrete1.cc
+disjoint1_SOURCES = disjoint1.cc
+disjunct1_SOURCES = disjunct1.cc
+empty1_SOURCES = empty1.cc
+entails1_SOURCES = entails1.cc
+equals1_SOURCES = equals1.cc
+frombdshape1_SOURCES = frombdshape1.cc
+frombox1_SOURCES = frombox1.cc
+fromcongruences1_SOURCES = fromcongruences1.cc
+fromconstraints1_SOURCES = fromconstraints1.cc
+fromgrid1_SOURCES = fromgrid1.cc
+fromoctagonalshape1_SOURCES = fromoctagonalshape1.cc
+frompolyhedron1_SOURCES = frompolyhedron1.cc
+fromspacedimension1_SOURCES = fromspacedimension1.cc
+intersection1_SOURCES = intersection1.cc
+maxmin1_SOURCES = maxmin1.cc
+meet1_SOURCES = meet1.cc
+membytes1_SOURCES = membytes1.cc
 powerset1_SOURCES = powerset1.cc
+reduce1_SOURCES = reduce1.cc
+refinewith1_SOURCES = refinewith1.cc
+relationwith1_SOURCES = relationwith1.cc
 simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
-pointsetpowerset1_SOURCES = pointsetpowerset1.cc
-pointsetpowerset2_SOURCES = pointsetpowerset2.cc
-pointsetpowerset3_SOURCES = pointsetpowerset3.cc
-pointsetpowerset4_SOURCES = pointsetpowerset4.cc
-pointsetpowerset5_SOURCES = pointsetpowerset5.cc
-pointsetpowerset6_SOURCES = pointsetpowerset6.cc
-product1_SOURCES = product1.cc
+size1_SOURCES = size1.cc
+spacedims1_SOURCES = spacedims1.cc
+universe1_SOURCES = universe1.cc
+upperbound1_SOURCES = upperbound1.cc
 all: all-am
 
 .SUFFIXES:
@@ -431,33 +711,129 @@ clean-checkPROGRAMS:
 	  echo " rm -f $$p $$f"; \
 	  rm -f $$p $$f ; \
 	done
-pointsetpowerset1$(EXEEXT): $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_DEPENDENCIES) 
-	@rm -f pointsetpowerset1$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset1_OBJECTS) $(pointsetpowerset1_LDADD) $(LIBS)
-pointsetpowerset2$(EXEEXT): $(pointsetpowerset2_OBJECTS) $(pointsetpowerset2_DEPENDENCIES) 
-	@rm -f pointsetpowerset2$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset2_OBJECTS) $(pointsetpowerset2_LDADD) $(LIBS)
-pointsetpowerset3$(EXEEXT): $(pointsetpowerset3_OBJECTS) $(pointsetpowerset3_DEPENDENCIES) 
-	@rm -f pointsetpowerset3$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset3_OBJECTS) $(pointsetpowerset3_LDADD) $(LIBS)
-pointsetpowerset4$(EXEEXT): $(pointsetpowerset4_OBJECTS) $(pointsetpowerset4_DEPENDENCIES) 
-	@rm -f pointsetpowerset4$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset4_OBJECTS) $(pointsetpowerset4_LDADD) $(LIBS)
-pointsetpowerset5$(EXEEXT): $(pointsetpowerset5_OBJECTS) $(pointsetpowerset5_DEPENDENCIES) 
-	@rm -f pointsetpowerset5$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset5_OBJECTS) $(pointsetpowerset5_LDADD) $(LIBS)
-pointsetpowerset6$(EXEEXT): $(pointsetpowerset6_OBJECTS) $(pointsetpowerset6_DEPENDENCIES) 
-	@rm -f pointsetpowerset6$(EXEEXT)
-	$(CXXLINK) $(pointsetpowerset6_OBJECTS) $(pointsetpowerset6_LDADD) $(LIBS)
+addcongruences1$(EXEEXT): $(addcongruences1_OBJECTS) $(addcongruences1_DEPENDENCIES) 
+	@rm -f addcongruences1$(EXEEXT)
+	$(CXXLINK) $(addcongruences1_OBJECTS) $(addcongruences1_LDADD) $(LIBS)
+addconstraints1$(EXEEXT): $(addconstraints1_OBJECTS) $(addconstraints1_DEPENDENCIES) 
+	@rm -f addconstraints1$(EXEEXT)
+	$(CXXLINK) $(addconstraints1_OBJECTS) $(addconstraints1_LDADD) $(LIBS)
+affinedimension1$(EXEEXT): $(affinedimension1_OBJECTS) $(affinedimension1_DEPENDENCIES) 
+	@rm -f affinedimension1$(EXEEXT)
+	$(CXXLINK) $(affinedimension1_OBJECTS) $(affinedimension1_LDADD) $(LIBS)
+affineimage1$(EXEEXT): $(affineimage1_OBJECTS) $(affineimage1_DEPENDENCIES) 
+	@rm -f affineimage1$(EXEEXT)
+	$(CXXLINK) $(affineimage1_OBJECTS) $(affineimage1_LDADD) $(LIBS)
+affinepreimage1$(EXEEXT): $(affinepreimage1_OBJECTS) $(affinepreimage1_DEPENDENCIES) 
+	@rm -f affinepreimage1$(EXEEXT)
+	$(CXXLINK) $(affinepreimage1_OBJECTS) $(affinepreimage1_LDADD) $(LIBS)
+bounded1$(EXEEXT): $(bounded1_OBJECTS) $(bounded1_DEPENDENCIES) 
+	@rm -f bounded1$(EXEEXT)
+	$(CXXLINK) $(bounded1_OBJECTS) $(bounded1_LDADD) $(LIBS)
+bounds1$(EXEEXT): $(bounds1_OBJECTS) $(bounds1_DEPENDENCIES) 
+	@rm -f bounds1$(EXEEXT)
+	$(CXXLINK) $(bounds1_OBJECTS) $(bounds1_LDADD) $(LIBS)
+closed1$(EXEEXT): $(closed1_OBJECTS) $(closed1_DEPENDENCIES) 
+	@rm -f closed1$(EXEEXT)
+	$(CXXLINK) $(closed1_OBJECTS) $(closed1_LDADD) $(LIBS)
+closure1$(EXEEXT): $(closure1_OBJECTS) $(closure1_DEPENDENCIES) 
+	@rm -f closure1$(EXEEXT)
+	$(CXXLINK) $(closure1_OBJECTS) $(closure1_LDADD) $(LIBS)
+collapse1$(EXEEXT): $(collapse1_OBJECTS) $(collapse1_DEPENDENCIES) 
+	@rm -f collapse1$(EXEEXT)
+	$(CXXLINK) $(collapse1_OBJECTS) $(collapse1_LDADD) $(LIBS)
+concatenate1$(EXEEXT): $(concatenate1_OBJECTS) $(concatenate1_DEPENDENCIES) 
+	@rm -f concatenate1$(EXEEXT)
+	$(CXXLINK) $(concatenate1_OBJECTS) $(concatenate1_LDADD) $(LIBS)
+contains1$(EXEEXT): $(contains1_OBJECTS) $(contains1_DEPENDENCIES) 
+	@rm -f contains1$(EXEEXT)
+	$(CXXLINK) $(contains1_OBJECTS) $(contains1_LDADD) $(LIBS)
+containsintegerpoint1$(EXEEXT): $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_DEPENDENCIES) 
+	@rm -f containsintegerpoint1$(EXEEXT)
+	$(CXXLINK) $(containsintegerpoint1_OBJECTS) $(containsintegerpoint1_LDADD) $(LIBS)
+difference1$(EXEEXT): $(difference1_OBJECTS) $(difference1_DEPENDENCIES) 
+	@rm -f difference1$(EXEEXT)
+	$(CXXLINK) $(difference1_OBJECTS) $(difference1_LDADD) $(LIBS)
+discrete1$(EXEEXT): $(discrete1_OBJECTS) $(discrete1_DEPENDENCIES) 
+	@rm -f discrete1$(EXEEXT)
+	$(CXXLINK) $(discrete1_OBJECTS) $(discrete1_LDADD) $(LIBS)
+disjoint1$(EXEEXT): $(disjoint1_OBJECTS) $(disjoint1_DEPENDENCIES) 
+	@rm -f disjoint1$(EXEEXT)
+	$(CXXLINK) $(disjoint1_OBJECTS) $(disjoint1_LDADD) $(LIBS)
+disjunct1$(EXEEXT): $(disjunct1_OBJECTS) $(disjunct1_DEPENDENCIES) 
+	@rm -f disjunct1$(EXEEXT)
+	$(CXXLINK) $(disjunct1_OBJECTS) $(disjunct1_LDADD) $(LIBS)
+empty1$(EXEEXT): $(empty1_OBJECTS) $(empty1_DEPENDENCIES) 
+	@rm -f empty1$(EXEEXT)
+	$(CXXLINK) $(empty1_OBJECTS) $(empty1_LDADD) $(LIBS)
+entails1$(EXEEXT): $(entails1_OBJECTS) $(entails1_DEPENDENCIES) 
+	@rm -f entails1$(EXEEXT)
+	$(CXXLINK) $(entails1_OBJECTS) $(entails1_LDADD) $(LIBS)
+equals1$(EXEEXT): $(equals1_OBJECTS) $(equals1_DEPENDENCIES) 
+	@rm -f equals1$(EXEEXT)
+	$(CXXLINK) $(equals1_OBJECTS) $(equals1_LDADD) $(LIBS)
+frombdshape1$(EXEEXT): $(frombdshape1_OBJECTS) $(frombdshape1_DEPENDENCIES) 
+	@rm -f frombdshape1$(EXEEXT)
+	$(CXXLINK) $(frombdshape1_OBJECTS) $(frombdshape1_LDADD) $(LIBS)
+frombox1$(EXEEXT): $(frombox1_OBJECTS) $(frombox1_DEPENDENCIES) 
+	@rm -f frombox1$(EXEEXT)
+	$(CXXLINK) $(frombox1_OBJECTS) $(frombox1_LDADD) $(LIBS)
+fromcongruences1$(EXEEXT): $(fromcongruences1_OBJECTS) $(fromcongruences1_DEPENDENCIES) 
+	@rm -f fromcongruences1$(EXEEXT)
+	$(CXXLINK) $(fromcongruences1_OBJECTS) $(fromcongruences1_LDADD) $(LIBS)
+fromconstraints1$(EXEEXT): $(fromconstraints1_OBJECTS) $(fromconstraints1_DEPENDENCIES) 
+	@rm -f fromconstraints1$(EXEEXT)
+	$(CXXLINK) $(fromconstraints1_OBJECTS) $(fromconstraints1_LDADD) $(LIBS)
+fromgrid1$(EXEEXT): $(fromgrid1_OBJECTS) $(fromgrid1_DEPENDENCIES) 
+	@rm -f fromgrid1$(EXEEXT)
+	$(CXXLINK) $(fromgrid1_OBJECTS) $(fromgrid1_LDADD) $(LIBS)
+fromoctagonalshape1$(EXEEXT): $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_DEPENDENCIES) 
+	@rm -f fromoctagonalshape1$(EXEEXT)
+	$(CXXLINK) $(fromoctagonalshape1_OBJECTS) $(fromoctagonalshape1_LDADD) $(LIBS)
+frompolyhedron1$(EXEEXT): $(frompolyhedron1_OBJECTS) $(frompolyhedron1_DEPENDENCIES) 
+	@rm -f frompolyhedron1$(EXEEXT)
+	$(CXXLINK) $(frompolyhedron1_OBJECTS) $(frompolyhedron1_LDADD) $(LIBS)
+fromspacedimension1$(EXEEXT): $(fromspacedimension1_OBJECTS) $(fromspacedimension1_DEPENDENCIES) 
+	@rm -f fromspacedimension1$(EXEEXT)
+	$(CXXLINK) $(fromspacedimension1_OBJECTS) $(fromspacedimension1_LDADD) $(LIBS)
+intersection1$(EXEEXT): $(intersection1_OBJECTS) $(intersection1_DEPENDENCIES) 
+	@rm -f intersection1$(EXEEXT)
+	$(CXXLINK) $(intersection1_OBJECTS) $(intersection1_LDADD) $(LIBS)
+maxmin1$(EXEEXT): $(maxmin1_OBJECTS) $(maxmin1_DEPENDENCIES) 
+	@rm -f maxmin1$(EXEEXT)
+	$(CXXLINK) $(maxmin1_OBJECTS) $(maxmin1_LDADD) $(LIBS)
+meet1$(EXEEXT): $(meet1_OBJECTS) $(meet1_DEPENDENCIES) 
+	@rm -f meet1$(EXEEXT)
+	$(CXXLINK) $(meet1_OBJECTS) $(meet1_LDADD) $(LIBS)
+membytes1$(EXEEXT): $(membytes1_OBJECTS) $(membytes1_DEPENDENCIES) 
+	@rm -f membytes1$(EXEEXT)
+	$(CXXLINK) $(membytes1_OBJECTS) $(membytes1_LDADD) $(LIBS)
 powerset1$(EXEEXT): $(powerset1_OBJECTS) $(powerset1_DEPENDENCIES) 
 	@rm -f powerset1$(EXEEXT)
 	$(CXXLINK) $(powerset1_OBJECTS) $(powerset1_LDADD) $(LIBS)
-product1$(EXEEXT): $(product1_OBJECTS) $(product1_DEPENDENCIES) 
-	@rm -f product1$(EXEEXT)
-	$(CXXLINK) $(product1_OBJECTS) $(product1_LDADD) $(LIBS)
+reduce1$(EXEEXT): $(reduce1_OBJECTS) $(reduce1_DEPENDENCIES) 
+	@rm -f reduce1$(EXEEXT)
+	$(CXXLINK) $(reduce1_OBJECTS) $(reduce1_LDADD) $(LIBS)
+refinewith1$(EXEEXT): $(refinewith1_OBJECTS) $(refinewith1_DEPENDENCIES) 
+	@rm -f refinewith1$(EXEEXT)
+	$(CXXLINK) $(refinewith1_OBJECTS) $(refinewith1_LDADD) $(LIBS)
+relationwith1$(EXEEXT): $(relationwith1_OBJECTS) $(relationwith1_DEPENDENCIES) 
+	@rm -f relationwith1$(EXEEXT)
+	$(CXXLINK) $(relationwith1_OBJECTS) $(relationwith1_LDADD) $(LIBS)
 simplifyusingcontext1$(EXEEXT): $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_DEPENDENCIES) 
 	@rm -f simplifyusingcontext1$(EXEEXT)
 	$(CXXLINK) $(simplifyusingcontext1_OBJECTS) $(simplifyusingcontext1_LDADD) $(LIBS)
+size1$(EXEEXT): $(size1_OBJECTS) $(size1_DEPENDENCIES) 
+	@rm -f size1$(EXEEXT)
+	$(CXXLINK) $(size1_OBJECTS) $(size1_LDADD) $(LIBS)
+spacedims1$(EXEEXT): $(spacedims1_OBJECTS) $(spacedims1_DEPENDENCIES) 
+	@rm -f spacedims1$(EXEEXT)
+	$(CXXLINK) $(spacedims1_OBJECTS) $(spacedims1_LDADD) $(LIBS)
+universe1$(EXEEXT): $(universe1_OBJECTS) $(universe1_DEPENDENCIES) 
+	@rm -f universe1$(EXEEXT)
+	$(CXXLINK) $(universe1_OBJECTS) $(universe1_LDADD) $(LIBS)
+upperbound1$(EXEEXT): $(upperbound1_OBJECTS) $(upperbound1_DEPENDENCIES) 
+	@rm -f upperbound1$(EXEEXT)
+	$(CXXLINK) $(upperbound1_OBJECTS) $(upperbound1_LDADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -465,15 +841,47 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset2.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset3.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset4.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset5.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/pointsetpowerset6.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/addcongruences1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/addconstraints1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/affinedimension1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/affineimage1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/affinepreimage1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bounded1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/bounds1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/closed1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/closure1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/collapse1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/concatenate1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/contains1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/containsintegerpoint1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/difference1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/discrete1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disjoint1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/disjunct1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/empty1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/entails1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/equals1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombdshape1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frombox1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromcongruences1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromconstraints1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromgrid1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromoctagonalshape1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/frompolyhedron1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/fromspacedimension1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/intersection1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/maxmin1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/meet1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/membytes1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/powerset1.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/product1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/reduce1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/refinewith1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/relationwith1.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/simplifyusingcontext1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/size1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/spacedims1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/universe1.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/upperbound1.Po at am__quote@
 
 .cc.o:
 @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
diff --git a/tests/Box/writebox1.cc b/tests/Powerset/addcongruences1.cc
similarity index 52%
copy from tests/Box/writebox1.cc
copy to tests/Powerset/addcongruences1.cc
index 522c730..6729156 100644
--- a/tests/Box/writebox1.cc
+++ b/tests/Powerset/addcongruences1.cc
@@ -1,5 +1,6 @@
-/* Test operator<<(ostream&, const Box&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::add_congruence().
+        Pointset_Powerset<PH>::add_congruences().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,46 +25,38 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
+// Powerset of C polyhedra: add_congruence().
 bool
 test01() {
   Variable x(0);
-  Variable y(1);
-
-  TBox box1(3);
-  TBox box2(3);
-
-  box1.add_constraint(x <= 3);
-
-  box2.add_constraint(-y <= -2);
-
-  print_constraints(box1, "*** box1 ***");
-  print_constraints(box2, "*** box2 ***");
-
-  // FIXME!!!
-  return true;
+  Congruence cg = (Linear_Expression(0) %= 0);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  ps.add_disjunct(C_Polyhedron(1));
+  ps.add_congruence(cg);
+  Congruence cg1 = ((Linear_Expression(25) %= 1) / 2);
+  ps.add_congruence(cg1);
+  bool ok = !ps.is_empty() && ps.OK();
+  return ok;
 }
 
+// Powerset of C polyhedra: add_congruences().
 bool
 test02() {
   Variable x(0);
-  Variable y(1);
-
-  TBox box1(0, EMPTY);
-  TBox box2(3);
-  TBox box3(3);
-
-  box2.add_constraint(-y <= -2);
-
-  box3.add_constraint(x <= 0);
-  box3.add_constraint(-x <= -1);
-  box3.add_constraint(y <= 3);
-
-  print_constraints(box1, "*** box1 ***");
-  print_constraints(box2, "*** box2 ***");
-  print_constraints(box3, "*** box3 ***");
-
-  // FIXME!!!
-  return true;
+  Congruence_System cgs;
+  cgs.insert((x %= 0) / 0);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  ps.add_disjunct(C_Polyhedron(1));
+  ps.add_congruences(cgs);
+  cgs.insert((x %= 0) / 0);
+  ps.add_congruences(cgs);
+  bool ok = !ps.is_empty();
+  cgs.insert((x %= 0) / 0);
+  cgs.insert((x %= 1) / 0);
+  ps.add_congruences(cgs);
+  ok &= ps.is_empty() && ps.OK();
+
+  return ok;
 }
 
 } // namespace
@@ -72,4 +65,3 @@ BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
 END_MAIN
-
diff --git a/tests/Polyhedron/minconstraints2.cc b/tests/Powerset/addconstraints1.cc
similarity index 55%
copy from tests/Polyhedron/minconstraints2.cc
copy to tests/Powerset/addconstraints1.cc
index 6d0c5df..f324447 100644
--- a/tests/Polyhedron/minconstraints2.cc
+++ b/tests/Powerset/addconstraints1.cc
@@ -1,5 +1,6 @@
-/* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::add_constraint().
+        Pointset_Powerset<PH>::add_constraints().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,50 +22,44 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
-#include <algorithm>
 
 namespace {
 
+// Powerset of C polyhedra: add_constraint().
 bool
 test01() {
-  NNC_Polyhedron ph1;
-
-  Constraint_System cs = ph1.minimized_constraints();
-
-  NNC_Polyhedron ph2(cs);
-
-  const Constraint_System& min_cs = ph2.minimized_constraints();
-
-  bool ok = (ph1 == ph2
-	     && min_cs.begin() == min_cs.end());
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(cs, "*** cs ***");
-  print_constraints(ph2, "*** ph2 ***");
-
-  return ok;
+  Variable x(0);
+  Constraint c = (x >= 0);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  ps.add_disjunct(C_Polyhedron(1));
+  ps.add_constraint(c);
+  Constraint c1 = (x >= 1);
+  bool ok = ps.add_constraint_and_minimize(c1);
+
+  return ok && ps.OK();
 }
 
+// Powerset of C polyhedra: add_constraints().
 bool
 test02() {
   Variable x(0);
-  Variable y(1);
-
   Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x < 1);
-  cs.insert(y > 0);
-
-  NNC_Polyhedron ph(cs);
-  const Constraint_System& min_cs = ph.minimized_constraints();
-  return std::distance(min_cs.begin(), min_cs.end()) == 3;
+  cs.insert(x >= 3);
+  cs.insert(x <= 4);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  ps.add_disjunct(C_Polyhedron(1));
+  ps.add_constraints(cs);
+  cs.insert(x <= 3);
+  bool ok = ps.add_constraints_and_minimize(cs);
+  cs.insert(x <= 2);
+  ok &= !ps.add_constraints_and_minimize(cs);
+
+  return ok && ps.OK();
 }
 
 } // namespace
 
-
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
 END_MAIN
-
diff --git a/tests/Powerset/affinedimension1.cc b/tests/Powerset/affinedimension1.cc
new file mode 100644
index 0000000..08f3c47
--- /dev/null
+++ b/tests/Powerset/affinedimension1.cc
@@ -0,0 +1,138 @@
+/* Test Pointset_Powerset<PH>::affine_dimension().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: affine_dimension().
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(3, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  cs.insert(z <= 2);
+  cs.insert(z >= 2);
+  C_Polyhedron ph(3);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  cs1.insert(x == 6);
+  C_Polyhedron ph1(3);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  dimension_type d = c_ps.affine_dimension();
+
+  bool ok = (d == 3);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
+  C_Polyhedron phi = i->element();
+  i++;
+  C_Polyhedron phi1 = i->element();
+
+  print_constraints(phi, "*** phi ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  c_ps.add_constraint(z == 2);
+
+  dimension_type d1 = c_ps.affine_dimension();
+
+  bool ok1 = (d1 == 2);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator j = c_ps.begin();
+  C_Polyhedron phj = j->element();
+  j++;
+  C_Polyhedron phj1 = j->element();
+
+  print_constraints(phj, "*** phj ***");
+  print_constraints(phj1, "*** phj1 ***");
+
+  return ok && ok1;
+}
+
+// Powerset of NNC polyhedra: affine_dimension().
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(1);
+  Pointset_Powerset<NNC_Polyhedron> c_ps(3, EMPTY);
+  Constraint_System cs;
+  cs.insert(x > 0);
+  cs.insert(x <= 2);
+  cs.insert(z <= 2);
+  cs.insert(z >= 2);
+  NNC_Polyhedron ph(3);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  cs1.insert(x == 6);
+  NNC_Polyhedron ph1(3);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  dimension_type d = c_ps.affine_dimension();
+
+  bool ok = (d == 3);
+
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator i = c_ps.begin();
+  NNC_Polyhedron phi = i->element();
+  i++;
+  NNC_Polyhedron phi1 = i->element();
+
+  print_constraints(phi, "*** phi ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  c_ps.add_constraint(z == 2);
+
+  dimension_type d1 = c_ps.affine_dimension();
+
+  bool ok1 = (d1 == 2);
+
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator j = c_ps.begin();
+  NNC_Polyhedron phj = j->element();
+  j++;
+  NNC_Polyhedron phj1 = j->element();
+
+  print_constraints(phj, "*** phj ***");
+  print_constraints(phj1, "*** phj1 ***");
+
+  return ok && ok1;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Powerset/affineimage1.cc b/tests/Powerset/affineimage1.cc
new file mode 100644
index 0000000..28b4789
--- /dev/null
+++ b/tests/Powerset/affineimage1.cc
@@ -0,0 +1,239 @@
+/* Test Pointset_Powerset<PH>::affine_image(),
+        Pointset_Powerset<PH>::generalized_affine_image(),
+        Pointset_Powerset<PH>::bounded_affine_image().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of polyhedra: affine_image().
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  C_Polyhedron ph(2);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  C_Polyhedron ph1(2);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  c_ps.affine_image(x, x + y);
+
+  ph.affine_image(x, x + y);
+  ph1.affine_image(x, x + y);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
+  C_Polyhedron phi = i->element();
+  i++;
+  C_Polyhedron phi1 = i->element();
+
+  bool ok = phi.OK() && phi == ph;
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(phi, "*** phi ***");
+
+  bool ok1 = phi1.OK() && phi1 == ph1;
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  return ok && ok1;
+}
+
+// Powerset of boxes: affine_image() and intersection_assign().
+bool
+test02() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<TBox> ps1(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  ps1.add_disjunct(TBox(cs));
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x < 1);
+  ps1.add_disjunct(TBox(cs));
+
+  Pointset_Powerset<TBox> ps2(ps1);
+  ps2.affine_image(x, 2*x+1, 2);
+
+  print_constraints(ps1, "*** ps1 ***");
+  print_constraints(ps2, "*** ps2 ***");
+
+  ps1.intersection_assign(ps2);
+
+  Pointset_Powerset<TBox> known_result(1, EMPTY);
+  TBox box(1);
+  box.add_constraint(2*x >= 1);
+  box.add_constraint(2*x <= 2);
+  known_result.add_disjunct(box);
+
+  bool ok = (ps1 == known_result);
+
+  print_constraints(ps1, "*** ps1.intersect_assign(ps2) ***");
+  print_constraints(known_result, "*** known_result ***");
+
+  return ok;
+}
+
+// Powerset of Boxes: affine_image().
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  Pointset_Powerset<TBox> ps(3, EMPTY);
+  for (int i = -10; i <= 9; ++i) {
+    TBox pps_box(3, UNIVERSE);
+    pps_box.add_constraint(i <= x);
+    pps_box.add_constraint(x <= i+1);
+    const TBox::interval_type& ix = pps_box.get_interval(x);
+    TBox::interval_type iy = ix*ix;
+    pps_box.set_interval(y, iy);
+    ps.add_disjunct(pps_box);
+  }
+
+  print_constraints(ps, "*** ps ***");
+
+  ps.affine_image(z, y+2*x+1, 2);
+
+  print_constraints(ps, "*** ps ***");
+
+  return ps.OK();
+}
+
+// Powerset of polyhedra: generalized_affine_image(
+//                          const Linear_Expression&,
+//                          Relation_Symbol relsym,
+//                          const Linear_Expression&).
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  C_Polyhedron ph(2);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  C_Polyhedron ph1(2);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  c_ps.generalized_affine_image(x - y, GREATER_OR_EQUAL, Linear_Expression(3));
+
+  ph.generalized_affine_image(x - y, GREATER_OR_EQUAL, Linear_Expression(3));
+  ph1.generalized_affine_image(x - y, GREATER_OR_EQUAL, Linear_Expression(3));
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
+  C_Polyhedron phi = i->element();
+  i++;
+  C_Polyhedron phi1 = i->element();
+
+  bool ok = phi.OK() && phi == ph;
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(phi, "*** phi ***");
+
+  bool ok1 = phi1.OK() && phi1 == ph1;
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  return ok && ok1;
+}
+
+// Powerset of polyhedra: bounded_affine_image(
+//                          Variable,
+//                          Relation_Symbol relsym,
+//                          const Linear_Expression&,
+//                          Coefficient_traits::const_reference)..
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  C_Polyhedron ph(2);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  C_Polyhedron ph1(2);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  c_ps.bounded_affine_image(y, Linear_Expression(0), 2*y, 5);
+
+  ph.bounded_affine_image(y, Linear_Expression(0), 2*y, 5);
+  ph1.bounded_affine_image(y, Linear_Expression(0), 2*y, 5);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
+  C_Polyhedron phi = i->element();
+  i++;
+  C_Polyhedron phi1 = i->element();
+
+  bool ok = phi.OK() && phi == ph;
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(phi, "*** phi ***");
+
+  bool ok1 = phi1.OK() && phi1 == ph1;
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  return ok && ok1;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+END_MAIN
diff --git a/tests/Powerset/affinepreimage1.cc b/tests/Powerset/affinepreimage1.cc
new file mode 100644
index 0000000..f2da7f9
--- /dev/null
+++ b/tests/Powerset/affinepreimage1.cc
@@ -0,0 +1,171 @@
+/* Test Pointset_Powerset<PH>::affine_preimage(),
+        Pointset_Powerset<PH>::generalized_affine_preimage(),
+        Pointset_Powerset<PH>::bounded_affine_preimage().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: affine_preimage().
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  C_Polyhedron ph(2);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  C_Polyhedron ph1(2);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  c_ps.affine_preimage(x, x + y);
+
+  ph.affine_preimage(x, x + y);
+  ph1.affine_preimage(x, x + y);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
+  C_Polyhedron phi = i->element();
+  i++;
+  C_Polyhedron phi1 = i->element();
+
+  bool ok = phi.OK() && phi == ph;
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(phi, "*** phi ***");
+
+  bool ok1 = phi1.OK() && phi1 == ph1;
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  return ok && ok1;
+}
+
+// Powerset of polyhedra: generalized_affine_preimage(
+//                          const Linear_Expression&,
+//                          Relation_Symbol relsym,
+//                          const Linear_Expression&).
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  C_Polyhedron ph(2);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  C_Polyhedron ph1(2);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  c_ps.generalized_affine_preimage(2*y, LESS_OR_EQUAL, 4*y);
+
+  ph.generalized_affine_preimage(2*y, LESS_OR_EQUAL, 4*y);
+  ph1.generalized_affine_preimage(2*y, LESS_OR_EQUAL, 4*y);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
+  C_Polyhedron phi = i->element();
+  i++;
+  C_Polyhedron phi1 = i->element();
+
+  bool ok = phi.OK() && phi == ph;
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(phi, "*** phi ***");
+
+  bool ok1 = phi1.OK() && phi1 == ph1;
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  return ok && ok1;
+}
+
+// Powerset of polyhedra: bounded_affine_preimage(
+//                          Variable,
+//                          Relation_Symbol relsym,
+//                          const Linear_Expression&,
+//                          Coefficient_traits::const_reference).
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  C_Polyhedron ph(2);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  C_Polyhedron ph1(2);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  c_ps.bounded_affine_preimage(y, x, 2*y, 5);
+
+  ph.bounded_affine_preimage(y, x, 2*y, 5);
+  ph1.bounded_affine_preimage(y, x, 2*y, 5);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
+  C_Polyhedron phi = i->element();
+  i++;
+  C_Polyhedron phi1 = i->element();
+
+  bool ok = phi.OK() && phi == ph;
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(phi, "*** phi ***");
+
+  bool ok1 = phi1.OK() && phi1 == ph1;
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  return ok && ok1;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Box/universe1.cc b/tests/Powerset/bounded1.cc
similarity index 54%
copy from tests/Box/universe1.cc
copy to tests/Powerset/bounded1.cc
index a6b00ca..bb34cf6 100644
--- a/tests/Box/universe1.cc
+++ b/tests/Powerset/bounded1.cc
@@ -1,5 +1,5 @@
-/* Test Box::is_universe().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::is_bounded().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,56 +24,48 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
+// Powerset of C polyhedra: is_bounded().
 bool
 test01() {
-  Variable x(0);
-  Variable y(1);
-
-  TBox box(4);
-  box.add_constraint(-x <= 4);
-
-  bool universe = box.is_universe();
+  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
+  bool b = ps.is_bounded();
 
-  nout << "*** box.is_universe() ***" << endl;
-  nout << (universe ? "true" : "false") << endl;
-
-  return !universe;
+  ps.add_disjunct(C_Polyhedron(0));
+  // A zero-dimension universe is bounded.
+  bool b1 = ps.is_bounded();
+  return b && b1;
 }
 
+// Powerset of NNC polyhedra: is_bounded().
 bool
 test02() {
-  TBox box(4);
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
 
-  bool universe = box.is_universe();
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
 
-  nout << "*** box.is_universe() ***" << endl;
-  nout << (universe ? "true" : "false") << endl;
+  cs.clear();
+  cs.insert(x >= 2);
+  ps.add_disjunct(NNC_Polyhedron(cs));
 
-  return universe;
+  bool b = !ps.is_bounded();
+  return b;
 }
 
+// Powerset of C polyhedra: is_bounded().
 bool
 test03() {
-  TBox box(0);
-
-  bool universe = box.is_universe();
-
-  nout << "*** box.is_universe() ***" << endl;
-  nout << (universe ? "true" : "false") << endl;
-
-  return universe;
-}
-
-bool
-test04() {
-  TBox box(20, EMPTY);
-
-  bool universe = box.is_universe();
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  bool b = ps.is_bounded();
 
-  nout << "*** box.is_universe() ***" << endl;
-  nout << (universe ? "true" : "false") << endl;
+  ps.add_disjunct(C_Polyhedron(1));
 
-  return !universe;
+  bool b1 = !ps.is_bounded();
+  return b && b1;
 }
 
 } // namespace
@@ -82,5 +74,4 @@ BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
   DO_TEST(test03);
-  DO_TEST(test04);
 END_MAIN
diff --git a/tests/Powerset/bounds1.cc b/tests/Powerset/bounds1.cc
new file mode 100644
index 0000000..6fe5b6e
--- /dev/null
+++ b/tests/Powerset/bounds1.cc
@@ -0,0 +1,96 @@
+/* Test Pointset_Powerset<PH>::bounds_from_above(),
+        Pointset_Powerset<PH>::bounds_from_below().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: bounds_from_above(), bounds_from_below().
+bool
+test01() {
+  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
+  Linear_Expression LE;
+  bool ok1 = ps.bounds_from_above(LE);
+  bool ok2 = ps.bounds_from_below(LE);
+
+  if (!ok1 || !ok2)
+    return false;
+
+  ps.add_disjunct(C_Polyhedron(0));
+  ok1 = ps.bounds_from_above(LE);
+  ok2 = ps.bounds_from_below(LE);
+
+  return ok1 && ok2;
+}
+
+// Powerset of NNC polyhedra: bounds_from_above(), bounds_from_below().
+bool
+test02() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
+  Linear_Expression LE = x;
+
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x > 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  bool ok1 = !ps.bounds_from_above(LE);
+  bool ok2 = ps.bounds_from_below(LE);
+
+  return ok1 && ok2;
+}
+
+// Powerset of C polyhedra: bounds_from_above(), bounds_from_below().
+bool
+test03() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  Linear_Expression LE = x;
+
+  bool ok1 = ps.bounds_from_above(LE);
+  bool ok2 = ps.bounds_from_below(LE);
+
+  if (!ok1 || !ok2)
+    return false;
+
+  ps.add_disjunct(C_Polyhedron(1));
+
+  ok1 = !ps.bounds_from_above(LE);
+  ok2 = !ps.bounds_from_below(LE);
+
+  return ok1 && ok2;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Powerset/closed1.cc b/tests/Powerset/closed1.cc
new file mode 100644
index 0000000..5638391
--- /dev/null
+++ b/tests/Powerset/closed1.cc
@@ -0,0 +1,99 @@
+/* Test Pointset_Powerset<PH>::is_topologically_closed().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: is_topologically_closed().
+bool
+test01() {
+  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
+  bool b = ps.is_topologically_closed();
+
+  ps.add_disjunct(C_Polyhedron(0));
+  bool b1 = ps.is_topologically_closed();
+  return b && b1;
+}
+
+// Powerset of NNC polyhedra: is_topologically_closed().
+bool
+test02() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  bool b = ps.is_topologically_closed();
+  return b;
+}
+
+// Powerset of NNC polyhedra: is_topologically_closed().
+bool
+test03() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x < 2);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  bool b = !ps.is_topologically_closed();
+  return b;
+}
+
+// Powerset of C polyhedra: is_topologically_closed().
+bool
+test04() {
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  bool b = ps.is_topologically_closed();
+
+  ps.add_disjunct(C_Polyhedron(1));
+
+  bool b1 = ps.is_topologically_closed();
+  return b && b1;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+END_MAIN
diff --git a/tests/Grid/generators2.cc b/tests/Powerset/closure1.cc
similarity index 64%
copy from tests/Grid/generators2.cc
copy to tests/Powerset/closure1.cc
index 901fe18..11ec938 100644
--- a/tests/Grid/generators2.cc
+++ b/tests/Powerset/closure1.cc
@@ -1,5 +1,5 @@
-/* Test class Grid_Generator_System.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::topological_closure_assign().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,26 +24,29 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
-// recycling_insert(g) where the dimension of g is greater than the
-// generator system.
+// Powerset of C polyhedra: topological_closure_assign().
+
 bool
 test01() {
-  Variable A(0);
-  Variable B(1);
-
-  Grid_Generator_System gs(1);
-
-  Grid_Generator g = grid_point(A + B);
-
-  gs.recycling_insert(g);
+  Variable x(0);
+  Pointset_Powerset<NNC_Polyhedron> ps(1);
+  Constraint_System cs;
+  cs.clear();
+  cs.insert(x > 5);
+  cs.insert(x > 8);
+  ps.add_constraints(cs);
 
-  print_generators(gs, "*** gs ***");
+  ps.topological_closure_assign();
 
-  Grid_Generator_System known_gs(grid_point(A + B));
+  bool ok = ps.OK();
 
-  bool ok = (gs == known_gs);
+  Pointset_Powerset<NNC_Polyhedron> known_ps(1);
+  cs.clear();
+  cs.insert(x >= 5);
+  cs.insert(x >= 8);
+  known_ps.add_constraints(cs);
 
-  print_generators(known_gs, "*** known_gs ***");
+  ok = ok && ps.contains(known_ps);
 
   return ok;
 }
diff --git a/tests/Powerset/collapse1.cc b/tests/Powerset/collapse1.cc
new file mode 100644
index 0000000..63b0ae1
--- /dev/null
+++ b/tests/Powerset/collapse1.cc
@@ -0,0 +1,94 @@
+/* Test Pointset_Powerset<PH>::collapse().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of polyhedra: collapse().
+bool
+test01() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  c_ps.collapse();
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  Pointset_Powerset<C_Polyhedron> c_ps_expected(1, EMPTY);
+  c_ps_expected.add_disjunct(C_Polyhedron(cs));
+
+  bool ok = c_ps.definitely_entails(c_ps_expected);
+  bool ok1 = c_ps_expected.definitely_entails(c_ps);
+  bool ok2 = (c_ps.size() == 1);
+
+  return ok && ok1 && ok2;
+}
+
+// Powerset of boxes: collapse().
+bool
+test02() {
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  pps_box.add_disjunct(TBox(cs));
+
+  pps_box.collapse();
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  Pointset_Powerset<TBox> pps_box_expected(1, EMPTY);
+  pps_box_expected.add_disjunct(TBox(cs));
+
+  bool ok = pps_box.definitely_entails(pps_box_expected);
+  bool ok1 = pps_box_expected.definitely_entails(pps_box);
+  bool ok2 = (pps_box.size() == 1);
+
+  return ok && ok1 && ok2;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Polyhedron/minconstraints2.cc b/tests/Powerset/concatenate1.cc
similarity index 57%
copy from tests/Polyhedron/minconstraints2.cc
copy to tests/Powerset/concatenate1.cc
index 6d0c5df..33479d5 100644
--- a/tests/Polyhedron/minconstraints2.cc
+++ b/tests/Powerset/concatenate1.cc
@@ -1,5 +1,5 @@
-/* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::concatenate().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,50 +21,54 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
-#include <algorithm>
 
 namespace {
 
+// Powerset of polyhedra: concatenate_assign().
 bool
 test01() {
-  NNC_Polyhedron ph1;
-
-  Constraint_System cs = ph1.minimized_constraints();
-
-  NNC_Polyhedron ph2(cs);
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
 
-  const Constraint_System& min_cs = ph2.minimized_constraints();
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
 
-  bool ok = (ph1 == ph2
-	     && min_cs.begin() == min_cs.end());
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  c_ps.add_disjunct(C_Polyhedron(cs));
 
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(cs, "*** cs ***");
-  print_constraints(ph2, "*** ph2 ***");
+  c_ps.concatenate_assign(c_ps);
 
-  return ok;
+  return c_ps.OK();
 }
 
+// Powerset of boxes: concatenate_assign().
 bool
 test02() {
   Variable x(0);
-  Variable y(1);
-
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
   Constraint_System cs;
+
   cs.insert(x >= 0);
-  cs.insert(x < 1);
-  cs.insert(y > 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  pps_box.add_disjunct(TBox(cs));
+
+  pps_box.concatenate_assign(pps_box);
 
-  NNC_Polyhedron ph(cs);
-  const Constraint_System& min_cs = ph.minimized_constraints();
-  return std::distance(min_cs.begin(), min_cs.end()) == 3;
+  return pps_box.OK();
 }
 
 } // namespace
 
-
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
 END_MAIN
-
diff --git a/tests/Powerset/contains1.cc b/tests/Powerset/contains1.cc
new file mode 100644
index 0000000..8aa4de1
--- /dev/null
+++ b/tests/Powerset/contains1.cc
@@ -0,0 +1,108 @@
+/* Test Pointset_Powerset<PH>::contains(),
+        Pointset_Powerset<PH>::strictly_contains().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: contains(), strictly_contains().
+bool
+test01() {
+  Pointset_Powerset<C_Polyhedron> ps1(1, EMPTY);
+
+  Pointset_Powerset<C_Polyhedron> ps2(1, EMPTY);
+  bool b = ps1.contains(ps2);
+  bool c = ps2.contains(ps1);
+  bool bs = ps1.strictly_contains(ps2);
+  bool cs = ps2.strictly_contains(ps1);
+
+  ps1.add_disjunct(C_Polyhedron(1));
+  bool b1 = ps1.contains(ps2);
+  bool c1 = !ps2.contains(ps1);
+  bool bs1 = ps1.strictly_contains(ps2);
+  bool cs1 = !ps2.strictly_contains(ps1);
+
+  ps2.add_disjunct(C_Polyhedron(1));
+  bool b2 = ps1.contains(ps2);
+  bool c2 = ps2.contains(ps1);
+  bool bs2 = !ps1.strictly_contains(ps2);
+  bool cs2 = !ps2.strictly_contains(ps1);
+
+  bool ok = b && c && b1 && c1 && b2 && c2;
+  bool oks = bs && cs && bs1 && cs1 && bs2 && cs2;
+
+  return ok && oks;
+}
+
+// Powerset of C polyhedra: contains(), strictly_contains().
+bool
+test02() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 4);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  c_ps1.add_disjunct(C_Polyhedron(cs));
+
+  bool ok = c_ps.contains(c_ps1)
+    && !c_ps1.contains(c_ps)
+    && c_ps.strictly_contains(c_ps1)
+    && !c_ps1.strictly_contains(c_ps);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 4);
+  c_ps1.add_disjunct(C_Polyhedron(cs));
+
+  bool ok1 = c_ps.contains(c_ps1)
+    && !c_ps1.contains(c_ps)
+    && !c_ps.strictly_contains(c_ps1)
+    && !c_ps1.strictly_contains(c_ps);
+
+  return ok && ok1;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Powerset/containsintegerpoint1.cc b/tests/Powerset/containsintegerpoint1.cc
new file mode 100644
index 0000000..dab4cd6
--- /dev/null
+++ b/tests/Powerset/containsintegerpoint1.cc
@@ -0,0 +1,131 @@
+/* Test Pointset_Powerset<PH>::contains_integer_point(),
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: contains_integer_point() returns false.
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  Pointset_Powerset<C_Polyhedron> ps(2);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 1);
+  cs.insert(4*y <= 3);
+  cs.insert(4*y >= 1);
+
+  ps.refine_with_constraints(cs);
+
+  bool contains = ps.contains_integer_point();
+
+  print_constraints(ps, "*** ps ***");
+  nout << "ps.contains_integer_point() == "
+       << (contains ? "true" : "false") << endl;
+
+  return !contains;
+}
+
+// Powerset of C polyhedra: contains_integer_point() returns true.
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+
+  Pointset_Powerset<C_Polyhedron> ps(3);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 1);
+  cs.insert(4*z - 4*y >= 3);
+
+  ps.refine_with_constraints(cs);
+
+  print_constraints(ps, "*** ps ***");
+
+  bool contains = ps.contains_integer_point();
+
+  nout << "ps.contains_integer_point() == "
+       << (contains ? "true" : "false") << endl;
+
+  return contains;
+}
+
+// Empty 0-dimensional powerset of C polyhedra: contains_integer_point().
+bool
+test03() {
+  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
+
+  print_constraints(ps, "*** ps ***");
+
+  bool contains = ps.contains_integer_point();
+
+  nout << "ps.contains_integer_point() == "
+       << (contains ? "true" : "false") << endl;
+
+  return !contains;
+}
+
+// Universe 0-dimensional powerset of C polyhedra: contains_integer_point().
+bool
+test04() {
+  Pointset_Powerset<C_Polyhedron> ps(0);
+
+  bool contains = ps.contains_integer_point();
+
+  print_constraints(ps, "*** ps ***");
+
+  nout << "ps.contains_integer_point() == "
+       << (contains ? "true" : "false") << endl;
+
+  return contains;
+}
+
+// Empty 1-dimensional powerset of C polyhedra: contains_integer_point().
+bool
+test05() {
+  Pointset_Powerset<C_Polyhedron> ps(1);
+
+  ps.refine_with_constraint(Linear_Expression(0) == 1);
+
+  bool contains = ps.contains_integer_point();
+
+  print_constraints(ps, "*** ps ***");
+
+  nout << "ps.contains_integer_point() == "
+       << (contains ? "true" : "false") << endl;
+
+  return !contains;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+END_MAIN
diff --git a/tests/Powerset/difference1.cc b/tests/Powerset/difference1.cc
new file mode 100644
index 0000000..8f14491
--- /dev/null
+++ b/tests/Powerset/difference1.cc
@@ -0,0 +1,150 @@
+/* Test Pointset_Powerset<PH>::difference_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: difference_assign().
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps1(2, UNIVERSE);
+
+  Pointset_Powerset<C_Polyhedron> c_ps2(2);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 1);
+  cs.insert(y >= 0);
+  cs.insert(y <= 1);
+  c_ps2.add_constraints(cs);
+
+  using namespace IO_Operators;
+  c_ps1.difference_assign(c_ps2);
+
+  nout << c_ps1 << endl;
+
+  return true;
+}
+
+// Powerset of C polyhedra: difference_assign().
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps1(2, UNIVERSE);
+
+  Pointset_Powerset<C_Polyhedron> c_ps2(2);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 1);
+  cs.insert(y >= 0);
+  cs.insert(y <= 1);
+  c_ps2.add_constraints(cs);
+
+  using namespace IO_Operators;
+  c_ps1.difference_assign(c_ps2);
+
+  nout << c_ps1 << endl;
+
+  return true;
+}
+
+// Creating a rectangle.
+C_Polyhedron
+aux_test03(int lx, int ly, int dx, int dy) {
+  Variable x(0);
+  Variable y(1);
+  C_Polyhedron ph(2, EMPTY);
+  ph.add_generator(point((lx+0*dx)*x + (ly+0*dy)*y));
+  ph.add_generator(point((lx+1*dx)*x + (ly+0*dy)*y));
+  ph.add_generator(point((lx+1*dx)*x + (ly+1*dy)*y));
+  ph.add_generator(point((lx+0*dx)*x + (ly+1*dy)*y));
+  return ph;
+}
+
+// Powerset of C polyhedra: difference_assign(), meet_assign,
+// upper_bound_assign() and pairwise_reduce().
+bool
+test03() {
+  Pointset_Powerset<C_Polyhedron> cross(2, EMPTY);
+  cross.add_disjunct(aux_test03(0, 3, 9, 3));
+  cross.add_disjunct(aux_test03(3, 0, 3, 9));
+
+  using namespace IO_Operators;
+  nout << "cross = " << cross << endl;
+
+  Pointset_Powerset<C_Polyhedron> squares(2, EMPTY);
+  squares.add_disjunct(aux_test03(1, 4, 1, 1));
+  squares.add_disjunct(aux_test03(4, 4, 1, 1));
+  squares.add_disjunct(aux_test03(7, 4, 1, 1));
+  squares.add_disjunct(aux_test03(4, 1, 1, 1));
+  squares.add_disjunct(aux_test03(4, 7, 1, 1));
+
+  nout << "squares = " << squares << endl;
+
+  Pointset_Powerset<C_Polyhedron> difference = cross;
+  difference.difference_assign(squares);
+
+  nout << "cross - squares = " << difference << endl;
+
+  Pointset_Powerset<C_Polyhedron> intersection = difference;
+  intersection.meet_assign(squares);
+
+  nout << "(cross - squares) inters squares = " << intersection << endl;
+
+  // When using Pointset_Powerset<NNC_Polyhedron>, intersection will be
+  // empty.  When using Pointset_Powerset<C_Polyhedron>,
+  // intersection will consist of objects of affine dimension at most 1.
+  bool ok1 = true;
+  for (Pointset_Powerset<C_Polyhedron>::const_iterator
+	 i = intersection.begin(), in_end = intersection.end();
+       i != in_end; ++i)
+    if (i->element().affine_dimension() > 1) {
+      nout << "intersection contains " << i->element() << "," << endl
+	   << "which is of affine dimension greater than 1" << endl;
+      ok1 = false;
+    }
+
+  Pointset_Powerset<C_Polyhedron> re_union = difference;
+  re_union.upper_bound_assign(squares);
+
+  nout << "(cross - squares) union squares = " << re_union << endl;
+  re_union.pairwise_reduce();
+  nout << "<Above union pairwise reduced>  = " << re_union << endl;
+
+  bool ok2 = re_union.geometrically_equals(cross);
+
+  if (!ok2)
+    nout << "Union does not give back the original!" << endl;
+
+  return ok1 && ok2;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Box/universe1.cc b/tests/Powerset/discrete1.cc
similarity index 53%
copy from tests/Box/universe1.cc
copy to tests/Powerset/discrete1.cc
index a6b00ca..91e83bd 100644
--- a/tests/Box/universe1.cc
+++ b/tests/Powerset/discrete1.cc
@@ -1,5 +1,5 @@
-/* Test Box::is_universe().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::is_discrete().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,56 +24,50 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
+// Powerset of C polyhedra: is_discrete().
 bool
 test01() {
-  Variable x(0);
-  Variable y(1);
-
-  TBox box(4);
-  box.add_constraint(-x <= 4);
-
-  bool universe = box.is_universe();
-
-  nout << "*** box.is_universe() ***" << endl;
-  nout << (universe ? "true" : "false") << endl;
+  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
+  bool b = ps.is_discrete();
 
-  return !universe;
+  ps.add_disjunct(C_Polyhedron(0));
+  // A zero-dimension universe is discrete.
+  bool b1 = ps.is_discrete();
+  return b && b1;
 }
 
+// Powerset of NNC polyhedra: is_discrete().
 bool
 test02() {
-  TBox box(4);
-
-  bool universe = box.is_universe();
-
-  nout << "*** box.is_universe() ***" << endl;
-  nout << (universe ? "true" : "false") << endl;
-
-  return universe;
-}
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
 
-bool
-test03() {
-  TBox box(0);
+  cs.clear();
+  cs.insert(x == 2);
+  ps.add_disjunct(NNC_Polyhedron(cs));
 
-  bool universe = box.is_universe();
+  bool b = ps.is_discrete();
 
-  nout << "*** box.is_universe() ***" << endl;
-  nout << (universe ? "true" : "false") << endl;
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
 
-  return universe;
+  bool b1 = !ps.is_discrete();
+  return b && b1;
 }
 
+// Powerset of C polyhedra: is_discrete().
 bool
-test04() {
-  TBox box(20, EMPTY);
-
-  bool universe = box.is_universe();
+test03() {
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  bool b = ps.is_discrete();
 
-  nout << "*** box.is_universe() ***" << endl;
-  nout << (universe ? "true" : "false") << endl;
+  ps.add_disjunct(C_Polyhedron(1));
 
-  return !universe;
+  bool b1 = !ps.is_discrete();
+  return b && b1;
 }
 
 } // namespace
@@ -82,5 +76,4 @@ BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
   DO_TEST(test03);
-  DO_TEST(test04);
 END_MAIN
diff --git a/tests/Powerset/disjoint1.cc b/tests/Powerset/disjoint1.cc
new file mode 100644
index 0000000..2b69ffc
--- /dev/null
+++ b/tests/Powerset/disjoint1.cc
@@ -0,0 +1,116 @@
+/* Test Pointset_Powerset<PH>::is_disjoint_from().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: is_disjoint_from().
+bool
+test01() {
+  Pointset_Powerset<C_Polyhedron> ps1(0, EMPTY);
+
+  Pointset_Powerset<C_Polyhedron> ps2(0, EMPTY);
+  bool b = ps1.is_disjoint_from(ps2);
+  bool c = ps2.is_disjoint_from(ps1);
+
+  ps1.add_disjunct(C_Polyhedron(0));
+  bool b1 = ps1.is_disjoint_from(ps2);
+  bool c1 = ps2.is_disjoint_from(ps1);
+
+  ps2.add_disjunct(C_Polyhedron(0));
+  bool b2 = !ps1.is_disjoint_from(ps2);
+  bool c2 = !ps2.is_disjoint_from(ps1);
+
+  return b && c && b1 && c1 && b2 && c2;
+}
+
+// Powerset of NNC polyhedra: is_disjoint_from().
+bool
+test02() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> ps1(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  ps1.add_disjunct(NNC_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x == 2);
+  ps1.add_disjunct(NNC_Polyhedron(cs));
+
+  Pointset_Powerset<NNC_Polyhedron> ps2(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x > 2);
+  cs.insert(x <= 6);
+  ps2.add_disjunct(NNC_Polyhedron(cs));
+
+  bool b = ps1.is_disjoint_from(ps2);
+  bool c = ps2.is_disjoint_from(ps1);
+
+  cs.clear();
+  cs.insert(x >= 2);
+  ps2.add_disjunct(NNC_Polyhedron(cs));
+
+  bool b1 = !ps1.is_disjoint_from(ps2);
+  bool c1 = !ps2.is_disjoint_from(ps1);
+
+  return b && c && b1 && c1;
+}
+
+// Powerset of C polyhedra: is_disjoint_from().
+bool
+test03() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<C_Polyhedron> ps1(1, EMPTY);
+
+  Pointset_Powerset<C_Polyhedron> ps2(1, EMPTY);
+  bool b = ps1.is_disjoint_from(ps2);
+  bool c = ps2.is_disjoint_from(ps1);
+
+  ps1.add_disjunct(C_Polyhedron(1));
+
+  bool b1 = ps1.is_disjoint_from(ps2);
+  bool c1 = ps2.is_disjoint_from(ps1);
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 1);
+  ps2.add_disjunct(C_Polyhedron(cs));
+
+  bool b2 = !ps1.is_disjoint_from(ps2);
+  bool c2 = !ps2.is_disjoint_from(ps1);
+
+  return b && c && b1 && c1 && b2 && c2;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+END_MAIN
diff --git a/tests/Powerset/disjunct1.cc b/tests/Powerset/disjunct1.cc
new file mode 100644
index 0000000..8eea208
--- /dev/null
+++ b/tests/Powerset/disjunct1.cc
@@ -0,0 +1,310 @@
+/* Test Pointset_Powerset<PH>::add_disjunct().
+        Pointset_Powerset<PH>::drop_disjunct().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: add_disjunct().
+bool
+test01() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  c_ps.add_constraint(x == 1);
+
+  Pointset_Powerset<NNC_Polyhedron> nnc_ps(c_ps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_ps.begin();
+  C_Polyhedron c_phi = c_i->element();
+  print_constraints(c_phi, "*** c_phi ***");
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_ps.begin();
+  NNC_Polyhedron nnc_phi = nnc_i->element();
+  print_constraints(nnc_phi, "*** nnc_phi ***");
+
+  return c_ps.OK() && nnc_ps.OK();
+}
+
+// Powerset of NNC polyhedra: add_disjunct().
+bool
+test02() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> nnc_ps(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  nnc_ps.add_disjunct(NNC_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x < 1);
+  nnc_ps.add_disjunct(NNC_Polyhedron(cs));
+
+  Pointset_Powerset<C_Polyhedron> c_ps(nnc_ps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_ps.begin();
+  C_Polyhedron c_phi = c_i->element();
+  print_constraints(c_phi, "*** c_phi ***");
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_ps.begin();
+  NNC_Polyhedron nnc_phi = nnc_i->element();
+  print_constraints(nnc_phi, "*** nnc_phi ***");
+
+  return nnc_ps.OK() && c_ps.OK();
+}
+
+// Powerset of C polyhedra: add_disjunct() and drop_disjunct().
+bool
+test03() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  Constraint_System cs1 = cs;
+  c_ps.add_disjunct(C_Polyhedron(cs));
+  c_ps.drop_disjunct(c_ps.begin());
+
+  bool ok = c_ps.empty();
+
+  Constraint_System cs2 = cs1;
+  c_ps.add_disjunct(C_Polyhedron(cs1));
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+  c_ps.drop_disjuncts(c_ps.begin(), c_ps.end());
+
+  bool ok1 = c_ps.empty();
+
+  return ok && ok1;
+}
+
+// Powerset of C polyhedra: add_disjunct().
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  C_Polyhedron ph(2);
+  ph.add_constraints(cs);
+  c_ps.add_disjunct(ph);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  C_Polyhedron ph1(2);
+  ph1.add_constraints(cs1);
+  c_ps.add_disjunct(ph1);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
+  C_Polyhedron phi = i->element();
+  i++;
+  C_Polyhedron phi1 = i->element();
+
+  bool ok = phi.OK() && phi == ph;
+
+  print_constraints(ph, "*** ph ***");
+  print_constraints(phi, "*** phi ***");
+
+  bool ok1 = phi1.OK() && phi1 == ph1;
+
+  print_constraints(ph1, "*** ph1 ***");
+  print_constraints(phi1, "*** phi1 ***");
+
+  phi.upper_bound_assign(phi1);
+  print_constraints(phi, "*** phi ***");
+
+  return ok && ok1;
+}
+
+// Powerset of boxes: add_disjunct().
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<TBox> pps_box(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  TBox box(2);
+  box.add_constraints(cs);
+  pps_box.add_disjunct(box);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  TBox box1(2);
+  box1.add_constraints(cs1);
+  pps_box.add_disjunct(box1);
+
+  Pointset_Powerset<TBox>::const_iterator i = pps_box.begin();
+  TBox pps_boxi = i->element();
+  i++;
+  TBox pps_boxi1 = i->element();
+
+  bool ok = pps_boxi.OK() && pps_boxi == box;
+
+  print_constraints(box, "*** box ***");
+  print_constraints(pps_boxi, "*** pps_boxi ***");
+
+  bool ok1 = pps_boxi1.OK() && pps_boxi1 == box1;
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(pps_boxi1, "*** pps_boxi1 ***");
+
+  pps_boxi.upper_bound_assign(pps_boxi1);
+  print_constraints(pps_boxi, "*** pps_boxi ***");
+
+  return ok && ok1;
+}
+
+// Powerset of boxes: add_disjunct().
+bool
+test06() {
+  Variable x(0);
+
+  Pointset_Powerset<TBox> ps(1, EMPTY);
+  Constraint_System cs;
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x < 2);
+  ps.add_disjunct(TBox(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  ps.add_disjunct(TBox(cs));
+
+  print_constraints(ps, "*** ps ***");
+
+  ps.add_constraint(x == 1);
+
+  Pointset_Powerset<TBox> known_result(1, EMPTY);
+  TBox box(1);
+  box.add_constraint(x == 1);
+  known_result.add_disjunct(box);
+
+  bool ok = (ps == known_result);
+
+  print_constraints(ps, "*** ps.add_constraint(x == 1) ***");
+  print_constraints(known_result, "*** known_result ***");
+
+  return ok;
+}
+
+// Powerset of boxes: add_disjuncts().
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+  Pointset_Powerset<TBox> pps_box(2, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  TBox box(2);
+  box.add_constraints(cs);
+  pps_box.add_disjunct(box);
+
+  Constraint_System cs1;
+  cs1.insert(y >= 3);
+  cs1.insert(y <= 5);
+  TBox box1(2);
+  box1.add_constraints(cs1);
+  pps_box.add_disjunct(box1);
+
+  Pointset_Powerset<TBox>::const_iterator i = pps_box.begin();
+  TBox pps_boxi = i->element();
+  i++;
+  TBox pps_boxi1 = i->element();
+
+  bool ok = pps_boxi.OK() && pps_boxi == box;
+
+  print_constraints(box, "*** box ***");
+  print_constraints(pps_boxi, "*** pps_boxi ***");
+
+  bool ok1 = pps_boxi1.OK() && pps_boxi1 == box1;
+
+  print_constraints(box1, "*** box1 ***");
+  print_constraints(pps_boxi1, "*** pps_boxi1 ***");
+
+  pps_boxi.upper_bound_assign(pps_boxi1);
+  print_constraints(pps_boxi, "*** pps_boxi ***");
+
+  return ok && ok1;
+}
+
+// Powerset of boxes: add_disjunct(), drop_disjuncts().
+bool
+test08() {
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  Constraint_System cs1 = cs;
+  pps_box.add_disjunct(TBox(cs));
+  pps_box.drop_disjunct(pps_box.begin());
+
+  bool ok = pps_box.empty();
+
+  Constraint_System cs2 = cs1;
+  pps_box.add_disjunct(TBox(cs1));
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  pps_box.add_disjunct(TBox(cs));
+  pps_box.drop_disjuncts(pps_box.begin(), pps_box.end());
+
+  bool ok1 = pps_box.empty();
+
+  return ok && ok1;
+}
+
+} // 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);
+END_MAIN
diff --git a/tests/Powerset/empty1.cc b/tests/Powerset/empty1.cc
new file mode 100644
index 0000000..fa60538
--- /dev/null
+++ b/tests/Powerset/empty1.cc
@@ -0,0 +1,141 @@
+/* Test Pointset_Powerset<PH>::is_empty(),
+        Pointset_Powerset<PH>::empty().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: empty().
+bool
+test01() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  Pointset_Powerset<C_Polyhedron> c_ps1;
+  c_ps1 = c_ps;
+
+  bool ok = !c_ps.empty();
+  return ok;
+}
+
+// Powerset of C polyhedra: empty().
+bool
+test02() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
+  c_ps.swap(c_ps1);
+
+  bool ok = (c_ps.empty() && !c_ps1.empty());
+  return ok;
+}
+
+// Powerset of C polyhedra: is_empty().
+bool
+test03() {
+  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
+  bool b = ps.is_empty();
+
+  ps.add_disjunct(C_Polyhedron(0));
+  bool b1 = !ps.is_empty();
+  return b && b1;
+}
+
+// Powerset of NNC polyhedra: is_empty().
+bool
+test04() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x < 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  bool b = !ps.is_empty();
+  return b;
+}
+
+// Powerset of boxes: !empty().
+bool
+test05() {
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
+
+  Pointset_Powerset<TBox> pps_box1;
+  pps_box1 = pps_box;
+
+  bool ok = !pps_box.empty();
+  return ok;
+}
+
+// Powerset of boxes: empty().
+bool
+test06() {
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
+
+  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
+  pps_box.swap(pps_box1);
+
+  bool ok = (pps_box.empty() && !pps_box1.empty());
+  return ok;
+}
+
+} // 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/minconstraints2.cc b/tests/Powerset/entails1.cc
similarity index 55%
copy from tests/Polyhedron/minconstraints2.cc
copy to tests/Powerset/entails1.cc
index 6d0c5df..b1953d0 100644
--- a/tests/Polyhedron/minconstraints2.cc
+++ b/tests/Powerset/entails1.cc
@@ -1,5 +1,5 @@
-/* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::definitely_entails().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,50 +21,52 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
-#include <algorithm>
 
 namespace {
 
+// Powerset of polyhedra: definitely_entails().
 bool
 test01() {
-  NNC_Polyhedron ph1;
-
-  Constraint_System cs = ph1.minimized_constraints();
-
-  NNC_Polyhedron ph2(cs);
-
-  const Constraint_System& min_cs = ph2.minimized_constraints();
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+  cs.insert(x >= 0);
+  c_ps.add_disjunct(C_Polyhedron(cs));
 
-  bool ok = (ph1 == ph2
-	     && min_cs.begin() == min_cs.end());
+  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
+  Constraint_System cs1;
+  cs1.insert(x >= 0);
+  cs1.insert(x <= 2);
+  c_ps1.add_disjunct(C_Polyhedron(cs1));
 
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(cs, "*** cs ***");
-  print_constraints(ph2, "*** ph2 ***");
+  bool ok = c_ps1.definitely_entails(c_ps);
 
   return ok;
 }
 
+// Powerset of boxes: definitely_entails().
 bool
 test02() {
   Variable x(0);
-  Variable y(1);
-
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
   Constraint_System cs;
   cs.insert(x >= 0);
-  cs.insert(x < 1);
-  cs.insert(y > 0);
+  pps_box.add_disjunct(TBox(cs));
+
+  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
+  Constraint_System cs1;
+  cs1.insert(x >= 0);
+  cs1.insert(x <= 2);
+  pps_box1.add_disjunct(TBox(cs1));
+
+  bool ok = pps_box1.definitely_entails(pps_box);
 
-  NNC_Polyhedron ph(cs);
-  const Constraint_System& min_cs = ph.minimized_constraints();
-  return std::distance(min_cs.begin(), min_cs.end()) == 3;
+  return ok;
 }
 
 } // namespace
 
-
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
 END_MAIN
-
diff --git a/tests/BD_Shape/fromoctagonalshape1.cc b/tests/Powerset/equals1.cc
similarity index 51%
copy from tests/BD_Shape/fromoctagonalshape1.cc
copy to tests/Powerset/equals1.cc
index e3d4d47..9f74b56 100644
--- a/tests/BD_Shape/fromoctagonalshape1.cc
+++ b/tests/Powerset/equals1.cc
@@ -1,5 +1,6 @@
-/* Test BD_Shape::BD_Shape(const Octagonal_Shape&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::equals(),
+        Pointset_Powerset<PH>::geometrically_equals().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,52 +25,49 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
+// geometrically_equals().
 bool
 test01() {
-  Variable A(0);
-  Variable B(1);
-
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1);
   Constraint_System cs;
-  cs.insert(A >= 0);
-  cs.insert(B <= 7);
-  cs.insert(A - B <= 18);
-  TOctagonal_Shape os(cs);
-  os.add_constraint(A + B <= 5);
-  os.add_constraint(A + B >= -10);
-
-  TBD_Shape bds(os);
+  cs.insert(x >= 5);
+  cs.insert(x <= 3);
+  pps_box.add_constraints(cs);
 
-  BD_Shape<mpq_class> known_result(cs);
-  known_result.add_constraint(2*A <= 23);
-  known_result.add_constraint(B >= -14);
-  known_result.add_constraint(B <= 5);
+  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
 
-  bool ok = (check_result(bds, known_result));
+  // pps_box.ascii_dump();
+  // pps_box1.ascii_dump();
 
-  print_constraints(bds, "*** bds ***");
+  bool ok = pps_box.geometrically_equals(pps_box1);
+  bool ok1 = pps_box.geometrically_equals(pps_box1);
 
-  return ok;
+  return ok && ok1;
 }
 
+// geometrically_equals().
 bool
 test02() {
-  Variable A(0);
-  Variable B(1);
-
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1);
   Constraint_System cs;
-  cs.insert(A + B <= 5);
-  cs.insert(A + B >= 10);
-  TOctagonal_Shape os(cs);
-
-  TBD_Shape bds(os);
+  cs.insert(x >= 5);
+  cs.insert(x >= 8);
+  pps_box.add_constraints(cs);
 
-  BD_Shape<mpq_class> known_result(os.space_dimension(), EMPTY);
+  Pointset_Powerset<TBox> pps_box1(1);
+  cs.clear();
+  cs.insert(x >= 8);
+  pps_box1.add_constraints(cs);
 
-  bool ok = (check_result(bds, known_result));
+  // pps_box.ascii_dump();
+  // pps_box1.ascii_dump();
 
-  print_constraints(bds, "*** bds ***");
+  bool ok = pps_box.geometrically_equals(pps_box1);
+  bool ok1 = pps_box.geometrically_equals(pps_box1);
 
-  return ok;
+  return ok && ok1;
 }
 
 } // namespace
diff --git a/tests/Powerset/frombdshape1.cc b/tests/Powerset/frombdshape1.cc
new file mode 100644
index 0000000..cfa896b
--- /dev/null
+++ b/tests/Powerset/frombdshape1.cc
@@ -0,0 +1,424 @@
+/* Test Pointset_Powerset<PH>::Pointset_Powerset(BD_Shape<T>),
+   Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(BD_Shape<T>)).
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Constructs the powerset of polyhedra from a bd shape.
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2);
+  bds.add_constraint(x >= 0);
+  bds.add_constraint(x - y <= 1);
+  bds.add_constraint(y >= 0);
+
+  Pointset_Powerset<C_Polyhedron> pps(bds);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2);
+  known_pps.add_constraint(x >= 0);
+  known_pps.add_constraint(x - y <= 1);
+  known_pps.add_constraint(y >= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
+  C_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from an empty bd shape.
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2, EMPTY);
+
+  Pointset_Powerset<C_Polyhedron> pps(bds);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from a powerset of bd shapes.
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x <= 1);
+  cs.insert(y <= 0);
+  TBD_Shape bds(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps_bds(bds, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<C_Polyhedron> pps(pps_bds, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y <= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator j = pps.begin();
+  C_Polyhedron phj = j->element();
+  print_constraints(phj, "*** pps disjunct ***");
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a bd shape.
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  TBD_Shape bds(4);
+  bds.add_constraint(x >= 2);
+  bds.add_constraint(x - y <= 4);
+  bds.add_constraint(z == 1);
+
+  Pointset_Powerset<TBD_Shape> pps1(bds);
+  Pointset_Powerset<TBD_Shape> pps2(4, EMPTY);
+  pps2.add_disjunct(bds);
+
+  bool ok = (pps1 == pps2);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i = pps1.begin();
+  TBD_Shape bdsi = i->element();
+  print_constraints(bdsi, "*** bdsi ***");
+  Pointset_Powerset<TBD_Shape>::const_iterator i2 = pps2.begin();
+  TBD_Shape bdsi2 = i2->element();
+  print_constraints(bdsi2, "*** bdsi2 ***");
+
+  return ok && pps1.OK();
+}
+
+// Constructs the powerset of bd shapes from an empty bd shape.
+bool
+  test05() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2, EMPTY);
+
+  Pointset_Powerset<TBD_Shape> pps(bds);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a powerset of bd shapes.
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x <= 1);
+  cs.insert(y <= 0);
+  TBD_Shape bds(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps_bds(bds, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps(pps_bds, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y <= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator j = pps.begin();
+  TBD_Shape bdsj = j->element();
+  print_constraints(bdsj, "*** pps disjunct ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a bd shape.
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2);
+  bds.add_constraint(x == 0);
+  bds.add_constraint(x - y <= 1);
+  bds.add_constraint(y >= 0);
+
+  Pointset_Powerset<TOctagonal_Shape> pps(bds);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
+  known_pps.add_constraint(x == 0);
+  known_pps.add_constraint(x - y <= 1);
+  known_pps.add_constraint(y >= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
+  TOctagonal_Shape osi = i->element();
+  print_constraints(osi, "*** osi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from an empty bd shape.
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2, EMPTY);
+
+  Pointset_Powerset<TOctagonal_Shape> pps(bds);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a powerset of bd shapes.
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x - y <= 1);
+  cs.insert(y <= 0);
+  TBD_Shape bd(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps_bd(bd, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps(pps_bd, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y == 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps.begin();
+  TOctagonal_Shape osi = i_os->element();
+  print_constraints(osi, "*** osi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a bd shape.
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2);
+  bds.add_constraint(x == 0);
+  bds.add_constraint(x - y <= 1);
+  bds.add_constraint(y >= 0);
+
+  Pointset_Powerset<TBox> pps(bds);
+
+  Pointset_Powerset<TBox> known_pps(2);
+  known_pps.add_constraint(x == 0);
+  known_pps.add_constraint(y >= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
+  TBox phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from an empty bd shape.
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2, EMPTY);
+
+  Pointset_Powerset<TBox> pps(bds);
+
+  Pointset_Powerset<TBox> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a powerset of bd shapes.
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x - y <= 1);
+  cs.insert(y <= 0);
+  TBD_Shape bd(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps_bd(bd, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBox> pps(pps_bd, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBox> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y == 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBox>::const_iterator i_box = pps.begin();
+  TBox boxi = i_box->element();
+  print_constraints(boxi, "*** boxi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a bd shape.
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2);
+  bds.add_constraint(x == 0);
+  bds.add_constraint(x - y <= 1);
+  bds.add_constraint(y >= 0);
+
+  Pointset_Powerset<Grid> pps(bds);
+
+  Pointset_Powerset<Grid> known_pps(2);
+  known_pps.add_congruence((x %= 0) / 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
+  Grid phi = i->element();
+  print_congruences(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of grids from an empty bd shape.
+bool
+test14() {
+  Variable x(0);
+  Variable y(1);
+
+  TBD_Shape bds(2, EMPTY);
+
+  Pointset_Powerset<Grid> pps(bds);
+
+  Pointset_Powerset<Grid> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a powerset of bd shapes.
+bool
+test15() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x - y <= 1);
+  cs.insert(y <= 0);
+  TBD_Shape bd(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps_bd(bd, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i_bd = pps_bd.begin();
+  TBD_Shape bdi = i_bd->element();
+  print_constraints(bdi, "*** bdi ***");
+
+  // The complexity should be ignored.
+  Pointset_Powerset<Grid> pps(pps_bd, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<Grid> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y == 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
+  Grid gri = i_gr->element();
+  print_congruences(gri, "*** gri ***");
+
+  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);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+END_MAIN
diff --git a/tests/Powerset/frombox1.cc b/tests/Powerset/frombox1.cc
new file mode 100644
index 0000000..2921678
--- /dev/null
+++ b/tests/Powerset/frombox1.cc
@@ -0,0 +1,420 @@
+/* Test Pointset_Powerset<PH>::Pointset_Powerset(Box<T>),
+   Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(Box<T>)).
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Constructs the powerset of polyhedra from a box.
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  Rational_Box box(2);
+  box.add_constraint(x >= 0);
+  box.add_constraint(2*x <= 1);
+  box.add_constraint(y >= 0);
+
+  Pointset_Powerset<C_Polyhedron> pps(box);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2);
+  known_pps.add_constraint(x >= 0);
+  known_pps.add_constraint(2*x <= 1);
+  known_pps.add_constraint(y >= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
+  C_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from an empty box.
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  Rational_Box box(2, EMPTY);
+
+  Pointset_Powerset<C_Polyhedron> pps(box);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from a powerset of boxes.
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x <= 1);
+  cs.insert(y <= 0);
+  TBox box(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<C_Polyhedron> pps(pps_box, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y <= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator j = pps.begin();
+  C_Polyhedron phj = j->element();
+  print_constraints(phj, "*** pps disjunct ***");
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a box.
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box(2);
+  box.add_constraint(x >= 0);
+  box.add_constraint(y >= 0);
+
+  // Complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps(box, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2);
+  known_pps.add_constraint(x >= 0);
+  known_pps.add_constraint(y >= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
+  TBD_Shape bdsi = i->element();
+  print_constraints(bdsi, "*** bdsi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from an empty box.
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box(2, EMPTY);
+
+  Pointset_Powerset<TBD_Shape> pps(box);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a powerset of boxes.
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(y <= 0);
+  TBox box(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps(pps_box, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2);
+  known_pps.add_constraint(x >= 1);
+  known_pps.add_constraint(y <= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i_bds = pps.begin();
+  TBD_Shape bdsi = i_bds->element();
+  print_constraints(bdsi, "*** bdsi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a box.
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box(2);
+  box.add_constraint(x >= 0);
+  box.add_constraint(y >= 0);
+
+  // Complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps(box, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
+  known_pps.add_constraint(x >= 0);
+  known_pps.add_constraint(y >= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
+  TOctagonal_Shape osi = i->element();
+  print_constraints(osi, "*** osi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from an empty box.
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  TBox box(2, EMPTY);
+
+  Pointset_Powerset<TOctagonal_Shape> pps(box);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a powerset of boxes.
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(y <= 0);
+  TBox box(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps(pps_box, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
+  known_pps.add_constraint(x >= 1);
+  known_pps.add_constraint(y <= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps.begin();
+  TOctagonal_Shape osi = i_os->element();
+  print_constraints(osi, "*** osi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a box.
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  TBox box(4);
+  box.add_constraint(x >= 2);
+  box.add_constraint(z == 1);
+
+  Pointset_Powerset<TBox> pps1(box);
+  Pointset_Powerset<TBox> pps2(4, EMPTY);
+  pps2.add_disjunct(box);
+
+  bool ok = (pps1 == pps2);
+
+  print_constraints(box, "*** box ***");
+  Pointset_Powerset<TBox>::const_iterator i = pps1.begin();
+  TBox boxi = i->element();
+  print_constraints(boxi, "*** boxi ***");
+  Pointset_Powerset<TBox>::const_iterator i2 = pps2.begin();
+  TBox boxi2 = i2->element();
+  print_constraints(boxi2, "*** boxi2 ***");
+
+  return ok && pps1.OK();
+}
+
+// Constructs the powerset of boxes from an empty box.
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+
+  Rational_Box box(2, EMPTY);
+
+  Pointset_Powerset<TBox> pps(box);
+
+  Pointset_Powerset<TBox> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a powerset of boxes.
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x <= 1);
+  cs.insert(y <= 0);
+  TBox box(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBox> pps(pps_box, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBox> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y <= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBox>::const_iterator j = pps.begin();
+  TBox boxj = j->element();
+  print_constraints(boxj, "*** pps disjunct ***");
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a box.
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+
+  Rational_Box box(2);
+  box.add_constraint(x >= 0);
+  box.add_constraint(2*x == 1);
+  box.add_constraint(y >= 0);
+
+  Pointset_Powerset<Grid> pps(box);
+
+  Pointset_Powerset<Grid> known_pps(2);
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
+  Grid phi = i->element();
+  print_congruences(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of grids from an empty box.
+bool
+test14() {
+  Variable x(0);
+  Variable y(1);
+
+  Rational_Box box(2, EMPTY);
+
+  Pointset_Powerset<Grid> pps(box);
+
+  Pointset_Powerset<Grid> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a powerset of boxes.
+bool
+test15() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x <= 1);
+  cs.insert(y <= 0);
+  TBox box(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBox> pps_box(box, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBox>::const_iterator i_box = pps_box.begin();
+  TBox boxi = i_box->element();
+  print_constraints(boxi, "*** boxi ***");
+
+  // The complexity should be ignored.
+  Pointset_Powerset<Grid> pps(pps_box, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<Grid> known_pps(2);
+  known_pps.add_constraint(x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
+  Grid gri = i_gr->element();
+  print_congruences(gri, "*** gri ***");
+
+  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);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+END_MAIN
diff --git a/tests/Grid/frombdshape1.cc b/tests/Powerset/fromcongruences1.cc
similarity index 57%
copy from tests/Grid/frombdshape1.cc
copy to tests/Powerset/fromcongruences1.cc
index b922c0f..a83d752 100644
--- a/tests/Grid/frombdshape1.cc
+++ b/tests/Powerset/fromcongruences1.cc
@@ -1,5 +1,6 @@
-/* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::
+          Pointset_Powerset(Congruence_System).
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,24 +27,10 @@ namespace {
 
 bool
 test01() {
-  Variable A(0);
-  Variable B(1);
-
-  Constraint_System cs;
-  cs.insert(A - B == 5);
-  cs.insert(A >= 0);
-  cs.insert(B <= 7);
-  TBD_Shape bd(cs);
-
-  Grid gr(bd);
-
-  Grid known_result(2);
-
-  known_result.refine_with_constraints(cs);
-
-  bool ok = gr == known_result;
+  Congruence_System cs;
+  Pointset_Powerset<C_Polyhedron> ps(cs);
 
-  print_congruences(gr, "*** gr ***");
+  bool ok = (ps.OK() && ps.is_universe() && ps.space_dimension() == 0);
 
   return ok;
 }
@@ -51,19 +38,32 @@ test01() {
 bool
 test02() {
   Variable A(0);
+  Variable B(1);
+
+  Congruence_System cs;
+  cs.insert((A %= -1) / 0);
+  cs.insert((B %= 1) / 0);
+  Pointset_Powerset<C_Polyhedron> ps(cs);
 
-  Constraint_System cs;
-  cs.insert(A >= 5);
-  cs.insert(A <= -7);
-  TBD_Shape bd(cs);
+  bool ok = (ps.OK() && !ps.is_universe() && ps.space_dimension() == 2);
 
-  Grid gr(bd);
+  return ok;
+}
 
-  Grid known_result(1, EMPTY);
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
 
-  bool ok = gr == known_result;
+  Congruence_System cs;
+  cs.insert((A %= -1) / 0);
+  cs.insert((B %= 1)/ 0);
+  cs.insert((C %= 2) / 0);
+  cs.insert((C %= 1) / 0);
+  Pointset_Powerset<C_Polyhedron> ps(cs);
 
-  print_congruences(gr, "*** gr ***");
+  bool ok = (ps.OK() && ps.is_empty() && ps.space_dimension() == 3);
 
   return ok;
 }
@@ -73,4 +73,5 @@ test02() {
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
+  DO_TEST(test03);
 END_MAIN
diff --git a/tests/Powerset/fromconstraints1.cc b/tests/Powerset/fromconstraints1.cc
new file mode 100644
index 0000000..bfe4c94
--- /dev/null
+++ b/tests/Powerset/fromconstraints1.cc
@@ -0,0 +1,179 @@
+/* Test Pointset_Powerset<PH>::Pointset_Powerset(Constraint_System).
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Construct powerset of polyhedra from a 0 dimension empty constraint system.
+bool
+test01() {
+  Constraint_System cs = Constraint_System::zero_dim_empty();
+  Pointset_Powerset<C_Polyhedron> ps(cs);
+  return ps.OK() && ps.is_empty() && ps.space_dimension() == 0;
+}
+
+// Construct powerset of polyhedra from a non-empty constraint system.
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Constraint_System cs;
+
+  cs.insert(x + y > 0);
+  cs.insert(x - 2*y <= 2);
+  cs.insert(z == 2);
+  Pointset_Powerset<NNC_Polyhedron> ps(cs);
+
+  return ps.OK() && ps.space_dimension() == 3;
+}
+
+// Construct powerset of bd shapes from a 0 dimension empty constraint system.
+bool
+test03() {
+  Constraint_System cs = Constraint_System::zero_dim_empty();
+  Pointset_Powerset<TBD_Shape> ps(cs);
+  return ps.OK() && ps.is_empty() && ps.space_dimension() == 0;
+}
+
+// Construct powerset of bd shapes from non-empty constraint system.
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Constraint_System cs;
+
+  cs.insert(x - y <= 2);
+  cs.insert(z == 2);
+  Pointset_Powerset<TBD_Shape> ps(cs);
+
+  return ps.OK() && ps.space_dimension() == 3;
+}
+
+// Construct powerset of octagonal shapes from a 0 dimension empty constraint system.
+bool
+test05() {
+  Constraint_System cs = Constraint_System::zero_dim_empty();
+  Pointset_Powerset<TOctagonal_Shape> ps(cs);
+  return ps.OK() && ps.is_empty() && ps.space_dimension() == 0;
+}
+
+// Construct powerset of octagonal shapes from non-empty constraint system.
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Constraint_System cs;
+
+  cs.insert(x + y >= -2);
+  cs.insert(x - y <= 2);
+  cs.insert(z == 2);
+  Pointset_Powerset<TOctagonal_Shape> ps(cs);
+
+  return ps.OK() && ps.space_dimension() == 3;
+}
+
+// Construct powerset of boxes from a 0 dimension empty constraint system.
+bool
+test07() {
+  Constraint_System cs = Constraint_System::zero_dim_empty();
+  Pointset_Powerset<TBox> ps(cs);
+
+  print_constraints(ps, "*** ps ***");
+
+  return ps.OK() && ps.is_empty() && ps.space_dimension() == 0;
+}
+
+// Construct powerset of boxes from a non-empty constraint system.
+bool
+test08() {
+  Variable x(0);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  Pointset_Powerset<TBox> ps(cs);
+
+  return ps.OK() && ps.space_dimension() == 1;
+}
+
+// Construct powerset of grids from a 0 dimension empty constraint system.
+bool
+test09() {
+  Constraint_System cs = Constraint_System::zero_dim_empty();
+  Pointset_Powerset<Grid> ps(cs);
+
+  print_constraints(ps, "*** ps ***");
+
+  return ps.OK() && ps.is_empty() && ps.space_dimension() == 0;
+}
+
+// Construct powerset of grids from non-empty constraint system.
+bool
+test10() {
+  Variable x(0);
+  Constraint_System cs;
+
+  cs.insert(x == 0);
+  Pointset_Powerset<Grid> ps(cs);
+
+  return ps.OK() && ps.space_dimension() == 1;
+}
+
+// Construct powerset of products from a 0-dim inconsistent constraint system.
+  typedef Domain_Product<NNC_Polyhedron, Grid>::Constraints_Product CProduct;
+bool
+test11() {
+  Constraint_System cs = Constraint_System::zero_dim_empty();
+  Pointset_Powerset<CProduct> pscp(cs);
+  return pscp.OK();
+}
+
+// Construct powerset of products from a 1-dim constraint system.
+bool
+test12() {
+  Variable A(0);
+
+  CProduct cp(1);
+  cp.add_constraint(A == 0);
+  Pointset_Powerset<CProduct> pscp(1);
+  pscp.add_disjunct(cp);
+  return pscp.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/Powerset/fromgrid1.cc b/tests/Powerset/fromgrid1.cc
new file mode 100644
index 0000000..e8f5fc3
--- /dev/null
+++ b/tests/Powerset/fromgrid1.cc
@@ -0,0 +1,434 @@
+/* Test Pointset_Powerset<PH>::Pointset_Powerset(Grid),
+        Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(Grid)).
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Constructs the powerset of polyhedra from a grid.
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid grid(2);
+  grid.add_congruence((2*x %= 1) / 0);
+  grid.add_congruence(y %= 0);
+
+  Pointset_Powerset<C_Polyhedron> pps(grid);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2);
+
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
+  C_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from an empty grid.
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid grid(2, EMPTY);
+
+  Pointset_Powerset<C_Polyhedron> pps(grid);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from a powerset of grids.
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid grid(2);
+  grid.add_congruence((2*x %= 1) / 0);
+  grid.add_congruence(y %= 0);
+
+  Pointset_Powerset<Grid> pps_gr(grid);
+
+  Pointset_Powerset<C_Polyhedron> pps(pps_gr);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2);
+
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
+  C_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a grid.
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2);
+  gr.add_congruence((2*x %= 1) / 0);
+  gr.add_congruence(y %= 0);
+
+  Pointset_Powerset<TBD_Shape> pps(gr);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2);
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
+  TBD_Shape bdsi = i->element();
+  print_constraints(bdsi, "*** bdsi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from an empty grid.
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2, EMPTY);
+
+  Pointset_Powerset<TBD_Shape> pps(gr);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a powerset of grids.
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2);
+  gr.add_congruence((2*x %= 1) / 0);
+  gr.add_congruence(y %= 0);
+
+  Pointset_Powerset<Grid> pps_gr(gr);
+
+  Pointset_Powerset<TBD_Shape> pps(pps_gr);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2);
+
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
+  TBD_Shape bdsi = i->element();
+  print_constraints(bdsi, "*** bdsi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a grid.
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2);
+  gr.add_congruence((2*x %= 1) / 0);
+  gr.add_congruence(y %= 0);
+
+  Pointset_Powerset<TOctagonal_Shape> pps(gr);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
+  TOctagonal_Shape osi = i->element();
+  print_constraints(osi, "*** osi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from an empty grid.
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2, EMPTY);
+
+  Pointset_Powerset<TOctagonal_Shape> pps(gr);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a powerset of grids.
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2);
+  gr.add_congruence((2*x %= 1) / 0);
+  gr.add_congruence(y %= 0);
+
+  Pointset_Powerset<Grid> pps_gr(gr);
+
+  Pointset_Powerset<TOctagonal_Shape> pps(pps_gr);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
+
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
+  TOctagonal_Shape osi = i->element();
+  print_constraints(osi, "*** osi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a grid.
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2);
+  gr.add_congruence((2*x %= 1) / 0);
+  gr.add_congruence(y %= 0);
+
+  Pointset_Powerset<TBox> pps(gr);
+
+  Pointset_Powerset<TBox> known_pps(2);
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
+  TBox phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from an empty grid.
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2, EMPTY);
+
+  Pointset_Powerset<TBox> pps(gr);
+
+  Pointset_Powerset<TBox> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a powerset of grids.
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2);
+  gr.add_congruence((2*x %= 1) / 0);
+  gr.add_congruence(y %= 0);
+
+  Pointset_Powerset<Grid> pps_gr(gr);
+
+  Pointset_Powerset<TBox> pps(pps_gr);
+
+  Pointset_Powerset<TBox> known_pps(2);
+
+  known_pps.add_constraint(2*x == 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
+  TBox boxi = i->element();
+  print_constraints(boxi, "*** boxi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a grid.
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  Grid gr(4);
+  gr.add_congruence(x %= 2);
+  gr.add_constraint(z == 1);
+
+  Pointset_Powerset<Grid> pps1(gr);
+  Pointset_Powerset<Grid> pps2(4, EMPTY);
+  pps2.add_disjunct(gr);
+
+  bool ok = (pps1 == pps2);
+
+  print_congruences(gr, "*** gr ***");
+  Pointset_Powerset<Grid>::const_iterator i = pps1.begin();
+  Grid gri = i->element();
+  print_congruences(gri, "*** gri ***");
+  Pointset_Powerset<Grid>::const_iterator i2 = pps2.begin();
+  Grid gri2 = i2->element();
+  print_congruences(gri2, "*** gri2 ***");
+
+  return ok && pps1.OK();
+}
+
+// Constructs the powerset of boxes from an empty grid.
+bool
+test14() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid gr(2, EMPTY);
+
+  Pointset_Powerset<TBox> pps(gr);
+
+  Pointset_Powerset<TBox> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a powerset of grids.
+bool
+test15() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid grid(2);
+  grid.add_congruence((2*x %= 1) / 0);
+  grid.add_congruence(y %= 0);
+
+  Pointset_Powerset<Grid> pps_gr(grid);
+
+  Pointset_Powerset<Grid> pps(pps_gr);
+
+  Pointset_Powerset<Grid> known_pps(2);
+
+  known_pps.add_constraint(2*x == 1);
+  known_pps.add_congruence(y %= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
+  Grid gri = i->element();
+  print_congruences(gri, "*** gri ***");
+
+  return ok;
+}
+
+// Constructs the powerset of NNC polyhedra from a powerset of grids
+// where set of grids is omega reduced but the constructed set
+// of NNC polyhedra is not omega reduced.
+bool
+test16() {
+  Variable x(0);
+  Variable y(1);
+
+  Grid grid1(2);
+  grid1.add_congruence((x %= 0) / 2);
+  grid1.add_congruence((y %= 0) / 2);
+  Grid grid2(2);
+  grid2.add_congruence((x %= 1) / 2);
+  grid2.add_congruence((y %= 1) / 0);
+
+  Pointset_Powerset<Grid> pps_gr(grid1);
+  pps_gr.add_disjunct(grid2);
+
+  // At this stage, pps_gr is omega reduced but pps_gr.reduced flag will
+  // be set to false.
+  // So we add this test to set the omega reduction pps_gr.reduced
+  // flag to true.
+  bool top_closed = pps_gr.is_topologically_closed();
+
+  Pointset_Powerset<NNC_Polyhedron> pps(pps_gr);
+
+  // pps is not omega reduced.
+  bool ok = (pps.size() == 2);
+
+  Pointset_Powerset<NNC_Polyhedron> known_pps(2);
+
+  ok = ok && (pps == known_pps) && pps.OK();
+
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator i = pps.begin();
+  NNC_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  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);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST(test16);
+END_MAIN
diff --git a/tests/Powerset/fromoctagonalshape1.cc b/tests/Powerset/fromoctagonalshape1.cc
new file mode 100644
index 0000000..5368a85
--- /dev/null
+++ b/tests/Powerset/fromoctagonalshape1.cc
@@ -0,0 +1,431 @@
+/* Test Pointset_Powerset<PH>::Pointset_Powerset(BD_Shape<T>),
+   Pointset_Powerset<PH>::Pointset_Powerset(Pointset_Powerset(BD_Shape<T>)).
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Constructs the powerset of polyhedra from an octagonal shape.
+bool
+test01() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2);
+  os.add_constraint(x >= 0);
+  os.add_constraint(x - y <= 1);
+  os.add_constraint(y >= 0);
+
+  Pointset_Powerset<C_Polyhedron> pps(os);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2);
+  known_pps.add_constraint(x >= 0);
+  known_pps.add_constraint(x - y <= 1);
+  known_pps.add_constraint(y >= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
+  C_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from an empty octagonal shape.
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2, EMPTY);
+
+  Pointset_Powerset<C_Polyhedron> pps(os);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from a powerset of octagonal shapes.
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x <= 1);
+  cs.insert(y <= 0);
+  TOctagonal_Shape os(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<C_Polyhedron> pps(pps_os, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y <= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator j = pps.begin();
+  C_Polyhedron phj = j->element();
+  print_constraints(phj, "*** pps disjunct ***");
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from an octagonal shape.
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2);
+  os.add_constraint(x == 0);
+  os.add_constraint(x + y <= 3);
+  os.add_constraint(y >= 1);
+
+  Pointset_Powerset<TBD_Shape> pps(os);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2);
+  known_pps.add_constraint(x == 0);
+  known_pps.add_constraint(y >= 1);
+  known_pps.add_constraint(y <= 3);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
+  TBD_Shape bdsi = i->element();
+  print_constraints(bdsi, "*** bdsi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from an empty octagonal shape.
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2, EMPTY);
+
+  Pointset_Powerset<TBD_Shape> pps(os);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a powerset of octagonal shapes.
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x - y <= 1);
+  cs.insert(y <= 0);
+  TOctagonal_Shape os(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBD_Shape> pps(pps_os, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y == 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i_bds = pps.begin();
+  TBD_Shape bdsi = i_bds->element();
+  print_constraints(bdsi, "*** bdsi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from an octagonal shape.
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  TOctagonal_Shape os(4);
+  os.add_constraint(x >= 2);
+  os.add_constraint(x + y <= 4);
+  os.add_constraint(z == 1);
+
+  Pointset_Powerset<TOctagonal_Shape> pps1(os);
+  Pointset_Powerset<TOctagonal_Shape> pps2(4, EMPTY);
+  pps2.add_disjunct(os);
+
+  bool ok = (pps1 == pps2);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps1.begin();
+  TOctagonal_Shape osi = i->element();
+  print_constraints(osi, "*** osi ***");
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i2 = pps2.begin();
+  TOctagonal_Shape osi2 = i2->element();
+  print_constraints(osi2, "*** osi2 ***");
+
+  return ok && pps1.OK();
+}
+
+// Constructs the powerset of octagonal_shapes from an empty octagonal shape.
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2, EMPTY);
+
+  Pointset_Powerset<TOctagonal_Shape> pps(os);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a powerset of
+// octagonal_shapes.
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x <= 1);
+  cs.insert(y <= 0);
+  TOctagonal_Shape os(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps(pps_os, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y <= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator j = pps.begin();
+  TOctagonal_Shape osj = j->element();
+  print_constraints(osj, "*** pps disjunct ***");
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from an octagonal shape.
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2);
+  os.add_constraint(x >= 0);
+  os.add_constraint(x + y <= 4);
+  os.add_constraint(x - y == 3);
+  os.add_constraint(y >= 0);
+
+  // Complexity should be ignored.
+  Pointset_Powerset<TBox> pps(os, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBox> known_pps(2);
+  known_pps.add_constraint(x >= 3);
+  known_pps.add_constraint(2*x <= 7);
+  known_pps.add_constraint(y >= 0);
+  known_pps.add_constraint(2*y <= 1);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
+  TBox phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from an empty octagonal shape.
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2, EMPTY);
+
+  Pointset_Powerset<TBox> pps(os);
+
+  Pointset_Powerset<TBox> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a powerset of octagonal shapes.
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x - y <= 1);
+  cs.insert(y <= 0);
+  TOctagonal_Shape os(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TBox> pps(pps_os, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBox> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y == 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<TBox>::const_iterator i_box = pps.begin();
+  TBox boxi = i_box->element();
+  print_constraints(boxi, "*** boxi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of grids from an octagonal shape.
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2);
+  os.add_constraint(x >= 0);
+  os.add_constraint(x + y <= 4);
+  os.add_constraint(x - y == 3);
+  os.add_constraint(y >= 0);
+
+  // Complexity should be ignored.
+  Pointset_Powerset<Grid> pps(os, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<Grid> known_pps(2);
+  known_pps.add_constraint(x - y == 3);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
+  Grid phi = i->element();
+  print_congruences(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of grids from an empty octagonal shape.
+bool
+test14() {
+  Variable x(0);
+  Variable y(1);
+
+  TOctagonal_Shape os(2, EMPTY);
+
+  Pointset_Powerset<Grid> pps(os);
+
+  Pointset_Powerset<Grid> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a powerset of octagonal shapes.
+bool
+test15() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(x >= 1);
+  cs.insert(x - y <= 1);
+  cs.insert(y <= 0);
+  TOctagonal_Shape os(cs);
+
+  // The complexity should be ignored.
+  Pointset_Powerset<TOctagonal_Shape> pps_os(os, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i_os = pps_os.begin();
+  TOctagonal_Shape osi = i_os->element();
+  print_constraints(osi, "*** osi ***");
+
+  // The complexity should be ignored.
+  Pointset_Powerset<Grid> pps(pps_os, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<Grid> known_pps(2);
+  known_pps.add_constraint(x == 1);
+  known_pps.add_constraint(y == 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<Grid>::const_iterator i_gr = pps.begin();
+  Grid gri = i_gr->element();
+  print_congruences(gri, "*** gri ***");
+
+  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);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+END_MAIN
diff --git a/tests/Powerset/frompolyhedron1.cc b/tests/Powerset/frompolyhedron1.cc
new file mode 100644
index 0000000..283f4f4
--- /dev/null
+++ b/tests/Powerset/frompolyhedron1.cc
@@ -0,0 +1,758 @@
+/* Test Pointset_Powerset<PH>::Pointset_Powerset(C_Polyhedron),
+        Pointset_Powerset<PH>::Pointset_Powerset(NNC_Polyhedron).
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Constructs the powerset of polyhedra from an empty polyhedron.
+bool
+test01() {
+  C_Polyhedron c_ph(0, EMPTY);
+  Pointset_Powerset<C_Polyhedron> c_ps(c_ph);
+
+  bool ok = (c_ps.OK() && c_ps.is_empty() && c_ps.space_dimension() == 0);
+
+  NNC_Polyhedron nnc_ph(0, EMPTY);
+  Pointset_Powerset<NNC_Polyhedron> nnc_ps(nnc_ph);
+
+  ok = ok
+    && (nnc_ps.OK() && nnc_ps.is_empty() && nnc_ps.space_dimension() == 0);
+
+  return ok;
+}
+
+// Constructs the powerset of polyhedra from a closed polyhedron.
+bool
+test02() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron c_ph(4);
+  c_ph.add_constraint(x <= 2);
+  c_ph.add_constraint(z == 1);
+  NNC_Polyhedron nnc_ph(c_ph);
+
+  Pointset_Powerset<C_Polyhedron> c_pps1(c_ph);
+  Pointset_Powerset<C_Polyhedron> c_pps2(4, EMPTY);
+  c_pps2.add_disjunct(c_ph);
+
+  Pointset_Powerset<NNC_Polyhedron> nnc_pps1(c_ph);
+  Pointset_Powerset<NNC_Polyhedron> nnc_pps2(4, EMPTY);
+  nnc_pps2.add_disjunct(nnc_ph);
+
+  bool ok = (c_pps1 == c_pps2 && nnc_pps1 == nnc_pps2);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_pps1.begin();
+  C_Polyhedron c_phi = c_i->element();
+  print_constraints(c_phi, "*** c_phi ***");
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_pps1.begin();
+  NNC_Polyhedron nnc_phi = nnc_i->element();
+  print_constraints(nnc_phi, "*** nnc_phi ***");
+
+  return ok && c_pps1.OK() && nnc_pps1.OK();
+}
+
+// Constructs the powerset of polyhedra from an nnc polyhedron.
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  NNC_Polyhedron nnc_ph(4);
+  nnc_ph.add_constraint(x <= 2);
+  nnc_ph.add_constraint(z == 1);
+  C_Polyhedron c_ph(nnc_ph);
+
+  Pointset_Powerset<C_Polyhedron> c_pps1(nnc_ph);
+  Pointset_Powerset<C_Polyhedron> c_pps2(4, EMPTY);
+  c_pps2.add_disjunct(c_ph);
+
+  Pointset_Powerset<NNC_Polyhedron> nnc_pps1(nnc_ph);
+  Pointset_Powerset<NNC_Polyhedron> nnc_pps2(4, EMPTY);
+  nnc_pps2.add_disjunct(nnc_ph);
+
+  bool ok = (c_pps1 == c_pps2 && nnc_pps1 == nnc_pps2);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_pps1.begin();
+  C_Polyhedron c_phi = c_i->element();
+  print_constraints(c_phi, "*** c_phi ***");
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_pps1.begin();
+  NNC_Polyhedron nnc_phi = nnc_i->element();
+  print_constraints(nnc_phi, "*** nnc_phi ***");
+
+  return ok && c_pps1.OK() && nnc_pps1.OK();
+}
+
+// Constructs the powerset of nnc polyhedra from a powerset of
+// closed polyhedra.
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+
+  C_Polyhedron ph(2);
+  ph.add_constraint(2*x == 1);
+  ph.add_constraint(y >= 0);
+
+  Pointset_Powerset<C_Polyhedron> pps_c(ph);
+
+  Pointset_Powerset<NNC_Polyhedron> pps(pps_c);
+
+  Pointset_Powerset<NNC_Polyhedron> known_pps(2);
+
+  known_pps.add_constraint(2*x == 1);
+  known_pps.add_constraint(y >= 0);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator i = pps.begin();
+  NNC_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Constructs the powerset of nnc polyhedra from a powerset of
+// closed polyhedra.
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+
+  Pointset_Powerset<C_Polyhedron> pps(2);
+
+  pps.add_constraint(x >= 1);
+  pps.add_constraint(x <= 1);
+  pps.add_constraint(y >= 0);
+
+  Pointset_Powerset<C_Polyhedron> pps1(pps, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i1 = pps.begin();
+  C_Polyhedron phi1 = i1->element();
+  print_constraints(phi1, "*** phi1 ***");
+
+  pps.OK();
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
+  C_Polyhedron phi = i->element();
+  phi.OK();
+  print_constraints(phi, "*** phi after ok check ***");
+
+  bool ok = true;
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a polyhedron.
+bool
+test06() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph(4);
+  ph.add_constraint(3*x >= 2);
+  ph.add_constraint(z >= 1);
+  ph.add_constraint(3*x + z <= 3);
+  C_Polyhedron ph1(ph);
+
+  // With the default complexity, the implied equalities 4*x = 2 and z = 1.
+  // are found
+  Pointset_Powerset<TBD_Shape> pps(ph);
+  Pointset_Powerset<TBD_Shape>::const_iterator i = pps.begin();
+  TBD_Shape bdsi = i->element();
+
+  BD_Shape<mpq_class> known_bdsi(4);
+  known_bdsi.add_constraint(3*x == 2);
+  known_bdsi.add_constraint(z == 1);
+
+  bool ok = check_result(bdsi, known_bdsi, "5.97e-8", "3.15e-8", "1.99e-8");
+
+  print_constraints(bdsi, "*** bdsi ***");
+  print_constraints(known_bdsi, "*** known_bdsi ***");
+
+  // With the polynomial complexity, implied equalities are not found.
+  Pointset_Powerset<TBD_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
+  TBD_Shape bdsi1 = i1->element();
+
+  BD_Shape<mpq_class> known_bdsi1(4);
+  known_bdsi1.add_constraint(3*x >= 2);
+  known_bdsi1.add_constraint(z >= 1);
+
+  ok = check_result(bdsi1, known_bdsi1, "3.98e-8", "3.98e-8", "3.98e-8") && ok;
+
+  print_constraints(bdsi1, "*** bdsi1 ***");
+  print_constraints(known_bdsi1, "*** known_bds1i ***");
+
+  ok = ok && pps.OK() && pps1.OK();
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i_ok = pps.begin();
+  TBD_Shape bdsi_ok = i_ok->element();
+  Pointset_Powerset<TBD_Shape>::const_iterator i1_ok = pps1.begin();
+  TBD_Shape bdsi1_ok = i1_ok->element();
+
+  print_constraints(bdsi_ok, "*** bdsi after OK() ***");
+  print_constraints(bdsi1_ok, "*** bdsi1 after OK() ***");
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a polyhedron whose
+// constraints are inconsistent (i.e., is empty but not marked as
+// empty).
+bool
+test07() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph(4);
+  ph.add_constraint(3*x >= 2);
+  ph.add_constraint(z >= 1);
+  ph.add_constraint(3*x + z <= 2);
+  C_Polyhedron ph1(ph);
+
+  // With the default complexity, the built powerset is empty.
+  Pointset_Powerset<TBD_Shape> pps(ph);
+  // With the polynomial complexity, the built powerset is non-empty.
+  Pointset_Powerset<TBD_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
+
+  BD_Shape<mpq_class> known_bds1(4);
+  known_bds1.add_constraint(3*x >= 2);
+  known_bds1.add_constraint(z >= 1);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
+  TBD_Shape bdsi1 = i1->element();
+
+  bool ok = check_result(bdsi1, known_bds1, "1.92e-7", "8.89e-8", "7.95e-8")
+    && pps.is_empty();
+
+  print_constraints(bdsi1, "*** bdsi1 ***");
+
+  return ok && pps.OK() && pps1.OK();
+}
+
+// Constructs the powerset of bd shapes from an empty polyhedron.
+bool
+test08() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph(2, EMPTY);
+
+  Pointset_Powerset<TBD_Shape> pps(ph);
+
+  Pointset_Powerset<TBD_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of bd shapes from a powerset of polyhedra.
+bool
+test09() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(2*x >= 1);
+  cs.insert(2*x + y <= 1);
+  cs.insert(y >= 0);
+  C_Polyhedron ph1(cs);
+  C_Polyhedron ph2(cs);
+
+  Pointset_Powerset<C_Polyhedron> pps1_c(ph1, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<C_Polyhedron> pps2_c(ph2);
+
+  Pointset_Powerset<TBD_Shape> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<TBD_Shape> pps2(pps2_c);
+
+  Pointset_Powerset<TBD_Shape> known_pps1(2);
+  known_pps1.add_constraint(2*x >= 1);
+  known_pps1.add_constraint(y >= 0);
+  Pointset_Powerset<TBD_Shape> known_pps2(2);
+  known_pps2.add_constraint(2*x == 1);
+  known_pps2.add_constraint(y == 0);
+
+  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i1 = pps1.begin();
+  TBD_Shape bdsi1 = i1->element();
+  print_constraints(bdsi1, "*** bdsi1 ***");
+
+  Pointset_Powerset<TBD_Shape>::const_iterator i2 = pps2.begin();
+  TBD_Shape bdsi2 = i2->element();
+  print_constraints(bdsi2, "*** bdsi2 ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a polyhedron.
+bool
+test10() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph(4);
+  ph.add_constraint(3*x >= 2);
+  ph.add_constraint(z >= 1);
+  ph.add_constraint(3*x + z <= 3);
+  C_Polyhedron ph1(ph);
+
+  // With the default complexity, the implied equalities 4*x = 2 and z = 1.
+  // are found
+  Pointset_Powerset<TOctagonal_Shape> pps(ph);
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i = pps.begin();
+  TOctagonal_Shape osi = i->element();
+
+  Octagonal_Shape<mpq_class> known_osi(4);
+  known_osi.add_constraint(3*x == 2);
+  known_osi.add_constraint(z == 1);
+
+  bool ok = check_result(osi, known_osi, "1.193e-7", "5.45e-8", "3.98e-8");
+
+  print_constraints(osi, "*** osi ***");
+  print_constraints(known_osi, "*** known_osi ***");
+
+  // With the polynomial complexity, implied equalities are not found.
+  Pointset_Powerset<TOctagonal_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
+  TOctagonal_Shape osi1 = i1->element();
+
+  Octagonal_Shape<mpq_class> known_osi1(4);
+  known_osi1.add_constraint(3*x >= 2);
+  known_osi1.add_constraint(z >= 1);
+
+  ok = check_result(osi1, known_osi1, "1.193e-7", "8.89e-8", "7.95e-8") && ok;
+
+  print_constraints(osi1, "*** osi1 ***");
+  print_constraints(known_osi1, "*** known_osi1 ***");
+
+  ok = ok && pps.OK() && pps1.OK();
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i_ok = pps.begin();
+  TOctagonal_Shape osi_ok = i_ok->element();
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i1_ok = pps1.begin();
+  TOctagonal_Shape osi1_ok = i1_ok->element();
+
+  print_constraints(osi_ok, "*** osi after OK() ***");
+  print_constraints(osi1_ok, "*** osi1 after OK() ***");
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a polyhedron whose
+// constraints are inconsistent (i.e., is empty but not marked as
+// empty).
+bool
+test11() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph(4);
+  ph.add_constraint(3*x >= 2);
+  ph.add_constraint(z >= 1);
+  ph.add_constraint(3*x + z <= 2);
+  C_Polyhedron ph1(ph);
+
+  // With the default complexity, the built powerset is empty.
+  Pointset_Powerset<TOctagonal_Shape> pps(ph);
+  // With the polynomial complexity, the built powerset is non-empty.
+  Pointset_Powerset<TOctagonal_Shape> pps1(ph1, POLYNOMIAL_COMPLEXITY);
+
+  Octagonal_Shape<mpq_class> known_os1(4);
+  known_os1.add_constraint(3*x >= 2);
+  known_os1.add_constraint(z >= 1);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
+  TOctagonal_Shape osi1 = i1->element();
+
+  bool ok = check_result(osi1, known_os1, "1.92e-7", "8.89e-8", "7.95e-8")
+    && pps.is_empty();
+
+  print_constraints(osi1, "*** osi1 ***");
+
+  return ok && pps.OK() && pps1.OK();
+}
+
+// Constructs the powerset of octagonal_shapes from an empty polyhedron.
+bool
+test12() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph(2, EMPTY);
+
+  Pointset_Powerset<TOctagonal_Shape> pps(ph);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of octagonal_shapes from a powerset of polyhedra.
+bool
+test13() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(2*x >= 1);
+  cs.insert(2*x + y <= 1);
+  cs.insert(y >= 0);
+  C_Polyhedron ph1(cs);
+  C_Polyhedron ph2(cs);
+
+  Pointset_Powerset<C_Polyhedron> pps1_c(ph1, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<C_Polyhedron> pps2_c(ph2);
+
+  Pointset_Powerset<TOctagonal_Shape> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<TOctagonal_Shape> pps2(pps2_c);
+
+  Pointset_Powerset<TOctagonal_Shape> known_pps1(2);
+  known_pps1.add_constraint(2*x >= 1);
+  known_pps1.add_constraint(y >= 0);
+  Pointset_Powerset<TOctagonal_Shape> known_pps2(2);
+  known_pps2.add_constraint(2*x == 1);
+  known_pps2.add_constraint(y == 0);
+
+  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i1 = pps1.begin();
+  TOctagonal_Shape osi1 = i1->element();
+  print_constraints(osi1, "*** osi1 ***");
+
+  Pointset_Powerset<TOctagonal_Shape>::const_iterator i2 = pps2.begin();
+  TOctagonal_Shape osi2 = i2->element();
+  print_constraints(osi2, "*** osi2 ***");
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a polyhedron.
+bool
+test14() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph(4);
+  ph.add_constraint(x >= 2);
+  ph.add_constraint(z >= 1);
+  ph.add_constraint(x + z <= 3);
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(x >= 2);
+  ph1.add_constraint(z >= 1);
+  ph1.add_constraint(x + z <= 3);
+
+  // With the default complexity, the implied equalities x = 2 and z = 1.
+  // are found
+  Pointset_Powerset<TBox> pps(ph);
+  // With the polynomial complexity, implied equalities are not found.
+  Pointset_Powerset<TBox> pps1(ph1, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBox> known_pps(4);
+  known_pps.add_constraint(x == 2);
+  known_pps.add_constraint(z == 1);
+  Pointset_Powerset<TBox> known_pps1(4);
+  known_pps1.add_constraint(x >= 2);
+  known_pps1.add_constraint(z >= 1);
+
+  bool ok = (pps == known_pps && pps1 == known_pps1);
+
+  Pointset_Powerset<TBox>::const_iterator i = pps.begin();
+  TBox boxi = i->element();
+  print_constraints(boxi, "*** boxi ***");
+  Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
+  TBox boxi1 = i1->element();
+  print_constraints(boxi1, "*** boxi1 ***");
+
+  return ok && pps.OK() && pps1.OK();
+}
+
+// Constructs the powerset of boxes from a polyhedron whose constraints
+// are inconsistent (i.e., is empty but not marked as empty).
+bool
+test15() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph(4);
+  ph.add_constraint(x >= 2);
+  ph.add_constraint(z >= 1);
+  ph.add_constraint(x + z <= 2);
+
+  // NOTE: taking a copy of ph so that ph1 is not affected by
+  // the construction of pps (which minimizes ph and detects emptiness).
+  C_Polyhedron ph1(ph);
+
+  // With the default complexity, the built powerset is empty.
+  Pointset_Powerset<TBox> pps(ph);
+  // With the polynomial complexity, the built powerset is non-empty.
+  Pointset_Powerset<TBox> pps1(ph1, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<TBox> known_pps(4, EMPTY);
+  Pointset_Powerset<TBox> known_pps1(4);
+  known_pps1.add_constraint(x >= 2);
+  known_pps1.add_constraint(z >= 1);
+
+  bool ok = (pps == known_pps && pps1 == known_pps1);
+
+  if (ok) {
+    // Here it is safe to dereference pps1.begin().
+    Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
+    TBox boxi1 = i1->element();
+    print_constraints(boxi1, "*** boxi1 ***");
+  }
+
+  return ok && pps.OK() && pps1.OK();
+}
+
+// Constructs the powerset of boxes from an empty polyhedron.
+bool
+test16() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph(2, EMPTY);
+
+  Pointset_Powerset<TBox> pps(ph);
+
+  Pointset_Powerset<TBox> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of boxes from a powerset of polyhedra.
+bool
+test17() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(2*x >= 1);
+  cs.insert(2*x + y <= 1);
+  cs.insert(y >= 0);
+  C_Polyhedron ph1(cs);
+  C_Polyhedron ph2(cs);
+
+  Pointset_Powerset<C_Polyhedron> pps1_c(ph1, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<C_Polyhedron> pps2_c(ph2);
+
+  Pointset_Powerset<TBox> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<TBox> pps2(pps2_c);
+
+  Pointset_Powerset<TBox> known_pps1(2);
+  known_pps1.add_constraint(2*x >= 1);
+  known_pps1.add_constraint(y >= 0);
+  Pointset_Powerset<TBox> known_pps2(2);
+  known_pps2.add_constraint(2*x == 1);
+  known_pps2.add_constraint(y == 0);
+
+  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
+
+  Pointset_Powerset<TBox>::const_iterator i1 = pps1.begin();
+  TBox boxi1 = i1->element();
+  print_constraints(boxi1, "*** boxi1 ***");
+
+  Pointset_Powerset<TBox>::const_iterator i2 = pps2.begin();
+  TBox boxi2 = i2->element();
+  print_constraints(boxi2, "*** boxi2 ***");
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a polyhedron.
+bool
+test18() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph(4);
+  ph.add_constraint(x >= 2);
+  ph.add_constraint(z >= 1);
+  ph.add_constraint(x + z <= 3);
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(x >= 2);
+  ph1.add_constraint(z >= 1);
+  ph1.add_constraint(x + z <= 3);
+
+  // With the default complexity, the implied equalities x = 2 and z = 1.
+  // are found
+  Pointset_Powerset<Grid> pps(ph);
+  // With the polynomial complexity, no implied equalities are found.
+  Pointset_Powerset<Grid> pps1(ph1, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<Grid> known_pps(4);
+  known_pps.add_congruence((x %= 2) / 0);
+  known_pps.add_congruence((z %= 1) / 0);
+  Pointset_Powerset<Grid> known_pps1(4);
+
+  bool ok = (pps == known_pps && pps1 == known_pps1);
+
+  Pointset_Powerset<Grid>::const_iterator i = pps.begin();
+  Grid gri = i->element();
+  print_congruences(gri, "*** gri ***");
+  Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
+  Grid gri1 = i1->element();
+  print_congruences(gri1, "*** gri1 ***");
+
+  return ok && pps.OK() && pps1.OK();
+}
+
+// Constructs the powerset of grids from a polyhedron whose constraints
+// are inconsistent (i.e., is empty but not marked as empty).
+bool
+test19() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph(4);
+  ph.add_constraint(x >= 2);
+  ph.add_constraint(z >= 1);
+  ph.add_constraint(x + z <= 2);
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(x >= 2);
+  ph1.add_constraint(z >= 1);
+  ph1.add_constraint(x + z <= 2);
+
+  // With the default complexity, the built powerset is empty.
+  Pointset_Powerset<Grid> pps(ph);
+  // With the polynomial complexity, the built powerset is the universe.
+  Pointset_Powerset<Grid> pps1(ph1, POLYNOMIAL_COMPLEXITY);
+
+  Pointset_Powerset<Grid> known_pps(4, EMPTY);
+  Pointset_Powerset<Grid> known_pps1(4);
+
+  bool ok = (pps == known_pps && pps1 == known_pps1);
+
+  Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
+  Grid gri1 = i1->element();
+  print_congruences(gri1, "*** gri1 ***");
+
+  return ok && pps.OK() && pps1.OK();
+}
+
+// Constructs the powerset of grids from an empty polyhedron.
+bool
+test20() {
+  Variable x(0);
+  Variable y(1);
+
+  NNC_Polyhedron ph(2, EMPTY);
+
+  Pointset_Powerset<Grid> pps(ph);
+
+  Pointset_Powerset<Grid> known_pps(2, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Constructs the powerset of grids from a powerset of polyhedra.
+bool
+test21() {
+  Variable x(0);
+  Variable y(1);
+
+  Constraint_System cs;
+  cs.insert(2*x >= 1);
+  cs.insert(2*x + y <= 1);
+  cs.insert(y >= 0);
+  C_Polyhedron ph1(cs);
+  C_Polyhedron ph2(cs);
+
+  Pointset_Powerset<C_Polyhedron> pps1_c(ph1, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<C_Polyhedron> pps2_c(ph2);
+
+  Pointset_Powerset<Grid> pps1(pps1_c, POLYNOMIAL_COMPLEXITY);
+  Pointset_Powerset<Grid> pps2(pps2_c);
+
+  Pointset_Powerset<Grid> known_pps1(2);
+  Pointset_Powerset<Grid> known_pps2(2);
+  known_pps2.add_constraint(2*x == 1);
+  known_pps2.add_constraint(y == 0);
+
+  bool ok = (pps1 == known_pps1 && pps2 == known_pps2);
+
+  Pointset_Powerset<Grid>::const_iterator i1 = pps1.begin();
+  Grid gri1 = i1->element();
+  print_congruences(gri1, "*** gri1 ***");
+
+  Pointset_Powerset<Grid>::const_iterator i2 = pps2.begin();
+  Grid gri2 = i2->element();
+  print_congruences(gri2, "*** gri2 ***");
+
+  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);
+  DO_TEST(test11);
+  DO_TEST(test12);
+  DO_TEST(test13);
+  DO_TEST(test14);
+  DO_TEST(test15);
+  DO_TEST(test16);
+  DO_TEST(test17);
+  DO_TEST(test18);
+  DO_TEST(test19);
+  DO_TEST(test20);
+  DO_TEST(test21);
+END_MAIN
diff --git a/tests/Box/fromspacedim1.cc b/tests/Powerset/fromspacedimension1.cc
similarity index 51%
copy from tests/Box/fromspacedim1.cc
copy to tests/Powerset/fromspacedimension1.cc
index c9ccf32..e211f97 100644
--- a/tests/Box/fromspacedim1.cc
+++ b/tests/Powerset/fromspacedimension1.cc
@@ -1,5 +1,6 @@
-/* Test Box::Box(dimension_type, Degenerate_Element).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::
+          Pointset_Powerset(dimension_type, Degenerate_Element).
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -26,76 +27,65 @@ namespace {
 
 bool
 test01() {
-  TBox box(0, EMPTY);
+  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
 
-  bool ok = (box.OK() && box.is_empty() && box.space_dimension() == 0);
-
-  print_constraints(box, "*** box ***");
+  bool ok = (ps.OK() && ps.is_empty() && ps.space_dimension() == 0);
 
   return ok;
 }
 
 bool
 test02() {
-  TBox box(0, UNIVERSE);
-
-  bool ok = (box.OK() && box.is_universe() && box.space_dimension() == 0);
+  Pointset_Powerset<C_Polyhedron> ps(0, UNIVERSE);
 
-  print_constraints(box, "*** box ***");
+  bool ok = (ps.OK() && ps.is_universe() && ps.space_dimension() == 0);
 
   return ok;
 }
 
 bool
 test03() {
-  TBox box(4, EMPTY);
+  Pointset_Powerset<C_Polyhedron> ps(4, EMPTY);
 
-  bool ok = (box.OK() && box.is_empty() && box.space_dimension() == 4);
-
-  print_constraints(box, "*** box ***");
+  bool ok = (ps.OK() && ps.is_empty() && ps.space_dimension() == 4);
 
   return ok;
 }
 
 bool
 test04() {
-  TBox box(4, UNIVERSE);
-
-  bool ok = (box.OK() && box.is_universe() && box.space_dimension() == 4);
+  Pointset_Powerset<C_Polyhedron> ps(4, UNIVERSE);
 
-  print_constraints(box, "*** box ***");
+  bool ok = (ps.OK() && ps.is_universe() && ps.space_dimension() == 4);
 
   return ok;
 }
 
 bool
 test05() {
-  try {
-    TBox box(not_a_dimension(), EMPTY);
-  }
-  catch (std::length_error& e) {
-    nout << "length_error: " << e.what() << endl << endl;
-    return true;
-  }
-  catch (...) {
-    // It is an error if the wrong exception is thrown.
-  }
-  return false;
+  Pointset_Powerset<C_Polyhedron> ps(4);
+
+  bool ok = (ps.OK() && ps.is_universe() && ps.space_dimension() == 4);
+
+  return ok;
 }
 
+// Construct powerset from zero dimension empty constraint system.
 bool
 test06() {
-  try {
-    TBox box(not_a_dimension(), UNIVERSE);
-  }
-  catch (std::length_error& e) {
-    nout << "length_error: " << e.what() << endl << endl;
-    return true;
-  }
-  catch (...) {
-    // It is an error if the wrong exception is thrown.
-  }
-  return false;
+  Constraint_System cs = Constraint_System::zero_dim_empty();
+  Pointset_Powerset<TBox> ps(cs);
+
+  print_constraints(ps, "*** ps ***");
+
+  return ps.OK();
+}
+
+bool
+test07() {
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
+  bool ok = (pps_box.space_dimension() == 1);
+  return ok;
 }
 
 } // namespace
@@ -107,4 +97,5 @@ BEGIN_MAIN
   DO_TEST(test04);
   DO_TEST(test05);
   DO_TEST(test06);
+  DO_TEST(test07);
 END_MAIN
diff --git a/tests/Powerset/intersection1.cc b/tests/Powerset/intersection1.cc
new file mode 100644
index 0000000..6ba6a2a
--- /dev/null
+++ b/tests/Powerset/intersection1.cc
@@ -0,0 +1,103 @@
+/* Test Pointset_Powerset<PH>::intersection_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: intersection_assign().
+bool
+test01() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  c_ps1.add_disjunct(C_Polyhedron(cs));
+
+  c_ps.intersection_assign(c_ps1);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 2);
+  Pointset_Powerset<C_Polyhedron> c_ps_expected(1, EMPTY);
+  c_ps_expected.add_disjunct(C_Polyhedron(cs));
+
+  bool ok = c_ps.definitely_entails(c_ps_expected);
+  bool ok1 = c_ps_expected.definitely_entails(c_ps);
+
+  return ok && ok1 && c_ps.OK() && c_ps1.OK();
+}
+
+// Powerset of C polyhedra: intersection_assign_and_minimize().
+bool
+test02() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  c_ps1.add_disjunct(C_Polyhedron(cs));
+
+  bool ok = c_ps.intersection_assign_and_minimize(c_ps1);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 2);
+  Pointset_Powerset<C_Polyhedron> c_ps_expected(1, EMPTY);
+  c_ps_expected.add_disjunct(C_Polyhedron(cs));
+
+  bool ok1 = c_ps.definitely_entails(c_ps_expected);
+  bool ok2 = c_ps_expected.definitely_entails(c_ps);
+
+  Pointset_Powerset<C_Polyhedron> c_ps2(1, EMPTY);
+  cs.clear();
+  cs.insert(x == 4);
+  c_ps2.add_disjunct(C_Polyhedron(cs));
+
+  bool ok3 = !c_ps2.intersection_assign_and_minimize(c_ps1);
+
+  return ok && ok1 && ok2 && ok3 && c_ps.OK() && c_ps1.OK() && c_ps2.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Powerset/pointsetpowerset4.cc b/tests/Powerset/maxmin1.cc
similarity index 56%
rename from tests/Powerset/pointsetpowerset4.cc
rename to tests/Powerset/maxmin1.cc
index 9c65221..b1a351f 100644
--- a/tests/Powerset/pointsetpowerset4.cc
+++ b/tests/Powerset/maxmin1.cc
@@ -1,5 +1,6 @@
-/* Test Pointset_Powerset<PH>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::maximize().
+        Pointset_Powerset<PH>::minimize().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,68 +25,10 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
+// Powerset of C polyhedra: maximize().
 bool
 test01() {
   Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
-  Linear_Expression LE;
-  bool ok1 = ps.bounds_from_above(LE);
-  bool ok2 = ps.bounds_from_below(LE);
-
-  if (!ok1 || !ok2)
-    return false;
-
-  ps.add_disjunct(C_Polyhedron(0));
-  ok1 = ps.bounds_from_above(LE);
-  ok2 = ps.bounds_from_below(LE);
-
-  return ok1 && ok2;
-}
-
-bool
-test02() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
-  Linear_Expression LE = x;
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x > 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  bool ok1 = !ps.bounds_from_above(LE);
-  bool ok2 = ps.bounds_from_below(LE);
-
-  return ok1 && ok2;
-}
-
-bool
-test03() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  Linear_Expression LE = x;
-
-  bool ok1 = ps.bounds_from_above(LE);
-  bool ok2 = ps.bounds_from_below(LE);
-
-  if (!ok1 || !ok2)
-    return false;
-
-  ps.add_disjunct(C_Polyhedron(1));
-
-  ok1 = !ps.bounds_from_above(LE);
-  ok2 = !ps.bounds_from_below(LE);
-
-  return ok1 && ok2;
-}
-
-bool
-test04() {
-  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
   Coefficient num;
   Coefficient den;
   bool included;
@@ -119,8 +62,9 @@ test04() {
   return ok1;
 }
 
+// Powerset of NNC polyhedra: maximize().
 bool
-test05() {
+test02() {
   Variable x(0);
   Constraint_System cs;
   Linear_Expression LE = x;
@@ -171,8 +115,9 @@ test05() {
   return ok;
 }
 
+// Powerset of C polyhedra: maximize().
 bool
-test06() {
+test03() {
   Variable x(0);
   Variable y(1);
   Constraint_System cs;
@@ -229,8 +174,9 @@ test06() {
   return ok;
 }
 
+// Powerset of C polyhedra: maximize().
 bool
-test07() {
+test04() {
   Variable x(0);
   Linear_Expression LE = x;
 
@@ -256,8 +202,9 @@ test07() {
   return ok;
 }
 
+// Powerset of C polyhedra: minimize().
 bool
-test08() {
+test05() {
   Linear_Expression LE;
   Coefficient num;
   Coefficient den;
@@ -293,8 +240,9 @@ test08() {
   return ok;
 }
 
+// Powerset of NNC polyhedra: minimize().
 bool
-test09() {
+test06() {
   Variable x(0);
   Constraint_System cs;
   Linear_Expression LE = x;
@@ -346,8 +294,9 @@ test09() {
   return ok;
 }
 
+// Powerset of C polyhedra: minimize().
 bool
-test10() {
+test07() {
   Variable x(0);
   Variable y(1);
   Constraint_System cs;
@@ -404,8 +353,9 @@ test10() {
   return ok;
 }
 
+// Powerset of C polyhedra: minimize().
 bool
-test11() {
+test08() {
   Variable x(0);
   Linear_Expression LE = x;
 
@@ -422,6 +372,7 @@ test11() {
     && g.is_point()
     && g.divisor() == 1;
 
+
   if (!ok)
     return false;
 
@@ -431,256 +382,15 @@ test11() {
   return ok;
 }
 
-bool
-test12() {
-  Variable x(0);
-  Constraint c = (x >= 0);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  ps.add_disjunct(C_Polyhedron(1));
-  ps.add_constraint(c);
-  Constraint c1 = (x >= 1);
-  bool ok = ps.add_constraint_and_minimize(c1);
-
-  return ok && ps.OK();
-}
-
-bool
-test13() {
-  Variable x(0);
-  Congruence cg = (Linear_Expression(0) %= 0);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  ps.add_disjunct(C_Polyhedron(1));
-  ps.add_congruence(cg);
-  Congruence cg1 = ((Linear_Expression(25) %= 1) / 2);
-  ps.add_congruence(cg1);
-  bool ok = !ps.is_empty() && ps.OK();
-  return ok;
-}
-
-bool
-test14() {
-  Variable x(0);
-  Constraint_System cs;
-  cs.insert(x >= 3);
-  cs.insert(x <= 4);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  ps.add_disjunct(C_Polyhedron(1));
-  ps.add_constraints(cs);
-  cs.insert(x <= 3);
-  bool ok = ps.add_constraints_and_minimize(cs);
-  cs.insert(x <= 2);
-  ok &= !ps.add_constraints_and_minimize(cs);
-
-  return ok && ps.OK();
-}
-
-bool
-test15() {
-  Variable x(0);
-  Congruence_System cgs;
-  cgs.insert((x %= 0) / 0);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  ps.add_disjunct(C_Polyhedron(1));
-  ps.add_congruences(cgs);
-  cgs.insert((x %= 0) / 0);
-  ps.add_congruences(cgs);
-  bool ok = !ps.is_empty();
-  cgs.insert((x %= 0) / 0);
-  cgs.insert((x %= 1) / 0);
-  ps.add_congruences(cgs);
-  ok &= ps.is_empty() && ps.OK();
-
-  return ok;
-}
-
-bool
-test16() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  c_ps1.add_disjunct(C_Polyhedron(cs));
-
-  c_ps.intersection_assign(c_ps1);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 2);
-  Pointset_Powerset<C_Polyhedron> c_ps_expected(1, EMPTY);
-  c_ps_expected.add_disjunct(C_Polyhedron(cs));
-
-  bool ok = c_ps.definitely_entails(c_ps_expected);
-  bool ok1 = c_ps_expected.definitely_entails(c_ps);
-
-  return ok && ok1 && c_ps.OK() && c_ps1.OK();
-}
-
-bool
-test17() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  c_ps1.add_disjunct(C_Polyhedron(cs));
-
-  bool ok = c_ps.intersection_assign_and_minimize(c_ps1);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 2);
-  Pointset_Powerset<C_Polyhedron> c_ps_expected(1, EMPTY);
-  c_ps_expected.add_disjunct(C_Polyhedron(cs));
-
-  bool ok1 = c_ps.definitely_entails(c_ps_expected);
-  bool ok2 = c_ps_expected.definitely_entails(c_ps);
-
-  Pointset_Powerset<C_Polyhedron> c_ps2(1, EMPTY);
-  cs.clear();
-  cs.insert(x == 4);
-  c_ps2.add_disjunct(C_Polyhedron(cs));
-
-  bool ok3 = !c_ps2.intersection_assign_and_minimize(c_ps1);
-
-  return ok && ok1 && ok2 && ok3 && c_ps.OK() && c_ps1.OK() && c_ps2.OK();
-}
-
-bool
-test18() {
-  Pointset_Powerset<C_Polyhedron> ps1(1, EMPTY);
-
-  Pointset_Powerset<C_Polyhedron> ps2(1, EMPTY);
-  bool b = ps1.contains(ps2);
-  bool c = ps2.contains(ps1);
-  bool bs = ps1.strictly_contains(ps2);
-  bool cs = ps2.strictly_contains(ps1);
-
-  ps1.add_disjunct(C_Polyhedron(1));
-  bool b1 = ps1.contains(ps2);
-  bool c1 = !ps2.contains(ps1);
-  bool bs1 = ps1.strictly_contains(ps2);
-  bool cs1 = !ps2.strictly_contains(ps1);
-
-  ps2.add_disjunct(C_Polyhedron(1));
-  bool b2 = ps1.contains(ps2);
-  bool c2 = ps2.contains(ps1);
-  bool bs2 = !ps1.strictly_contains(ps2);
-  bool cs2 = !ps2.strictly_contains(ps1);
-
-  bool ok = b && c && b1 && c1 && b2 && c2;
-  bool oks = bs && cs && bs1 && cs1 && bs2 && cs2;
-
-  return ok && oks;
-}
-
-bool
-test19() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 4);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  c_ps1.add_disjunct(C_Polyhedron(cs));
-
-  bool ok = c_ps.contains(c_ps1)
-    && !c_ps1.contains(c_ps)
-    && c_ps.strictly_contains(c_ps1)
-    && !c_ps1.strictly_contains(c_ps);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 4);
-  c_ps1.add_disjunct(C_Polyhedron(cs));
-
-  bool ok1 = c_ps.contains(c_ps1)
-    && !c_ps1.contains(c_ps)
-    && !c_ps.strictly_contains(c_ps1)
-    && !c_ps1.strictly_contains(c_ps);
-
-  return ok && ok1;
-}
-
-bool
-test20() {
-  Variable x(0);
-  Pointset_Powerset<NNC_Polyhedron> ps(1);
-  Constraint_System cs;
-  cs.clear();
-  cs.insert(x > 5);
-  cs.insert(x > 8);
-  ps.add_constraints(cs);
-
-  ps.topological_closure_assign();
-
-  bool ok = ps.OK();
-
-  Pointset_Powerset<NNC_Polyhedron> known_ps(1);
-  cs.clear();
-  cs.insert(x >= 5);
-  cs.insert(x >= 8);
-  known_ps.add_constraints(cs);
-
-  ok = ok && ps.contains(known_ps);
-
-  return ok;
-}
-
 } // namespace
 
 BEGIN_MAIN
   DO_TEST(test01);
-  DO_TEST(test02);
-  DO_TEST(test03);
+  DO_TEST_F8(test02);
+  DO_TEST_F8(test03);
   DO_TEST(test04);
-  DO_TEST_F8(test05);
+  DO_TEST(test05);
   DO_TEST_F8(test06);
   DO_TEST(test07);
   DO_TEST(test08);
-  DO_TEST_F8(test09);
-  DO_TEST(test10);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
 END_MAIN
diff --git a/tests/Powerset/meet1.cc b/tests/Powerset/meet1.cc
new file mode 100644
index 0000000..9706f16
--- /dev/null
+++ b/tests/Powerset/meet1.cc
@@ -0,0 +1,94 @@
+/* Test Pointset_Powerset<PH>::meet_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: meet_assign().
+bool
+test01() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+
+  c_ps.meet_assign(c_ps1);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 2);
+  Pointset_Powerset<C_Polyhedron> c_ps_expected(1, EMPTY);
+  c_ps_expected.add_disjunct(C_Polyhedron(cs));
+
+  bool ok = c_ps.definitely_entails(c_ps_expected);
+  bool ok1 = !c_ps_expected.definitely_entails(c_ps);
+
+  return ok && ok1;
+}
+
+// Powerset of boxes: meet_assign().
+bool
+test02() {
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
+
+  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+
+  pps_box.meet_assign(pps_box1);
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 2);
+  Pointset_Powerset<TBox> pps_box_expected(1, EMPTY);
+  pps_box_expected.add_disjunct(TBox(cs));
+
+  bool ok = pps_box.definitely_entails(pps_box_expected);
+  bool ok1 = !pps_box_expected.definitely_entails(pps_box);
+
+  return ok && ok1;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+END_MAIN
diff --git a/tests/Grid/fromoctagonalshape1.cc b/tests/Powerset/membytes1.cc
similarity index 54%
copy from tests/Grid/fromoctagonalshape1.cc
copy to tests/Powerset/membytes1.cc
index 6c097df..b3c2142 100644
--- a/tests/Grid/fromoctagonalshape1.cc
+++ b/tests/Powerset/membytes1.cc
@@ -1,5 +1,6 @@
-/* Test BD_Shape::BD_Shape(const C_Polyhedron&).
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::total_memory_in_bytes().
+        Pointset_Powerset<PH>::external_memory_in_bytes().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -24,48 +25,39 @@ site: http://www.cs.unipr.it/ppl/ . */
 
 namespace {
 
+// Powerset of C polyhedra: total_memory_in_bytes() and
+// external_memory_in_bytes().
 bool
 test01() {
-  Variable A(0);
-  Variable B(1);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
 
-  Constraint_System cs;
-  cs.insert(A - B == 5);
-  cs.insert(A >= 0);
-  cs.insert(B <= 7);
-  TOctagonal_Shape os(cs);
+  bool ok = c_ps.is_bottom();
 
-  Grid gr(os);
+  c_ps.add_disjunct(C_Polyhedron(1, UNIVERSE));
 
-  Grid known_result(2);
+  bool ok1 = c_ps.is_top();
 
-  known_result.refine_with_constraints(cs);
+  c_ps.total_memory_in_bytes();
+  c_ps.external_memory_in_bytes();
 
-  bool ok = gr == known_result;
-
-  print_congruences(gr, "*** gr ***");
-
-  return ok;
+  return ok && ok1;
 }
 
+// Powerset of boxes: total_memory_in_bytes() and external_memory_in_bytes().
 bool
 test02() {
-  Variable A(0);
-
-  Constraint_System cs;
-  cs.insert(A >= 5);
-  cs.insert(A <= -7);
-  TOctagonal_Shape bd(cs);
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
 
-  Grid gr(bd);
+  bool ok = pps_box.is_bottom();
 
-  Grid known_result(1, EMPTY);
+  pps_box.add_disjunct(TBox(1, UNIVERSE));
 
-  bool ok = gr == known_result;
+  bool ok1 = pps_box.is_top();
 
-  print_congruences(gr, "*** gr ***");
+  pps_box.total_memory_in_bytes();
+  pps_box.external_memory_in_bytes();
 
-  return ok;
+  return ok && ok1;
 }
 
 } // namespace
diff --git a/tests/Powerset/pointsetpowerset1.cc b/tests/Powerset/pointsetpowerset1.cc
deleted file mode 100644
index 89bcb6f..0000000
--- a/tests/Powerset/pointsetpowerset1.cc
+++ /dev/null
@@ -1,508 +0,0 @@
-/* Test Pointset_Powerset<PH>.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-bool
-test01() {
-  Constraint_System cs = Constraint_System::zero_dim_empty();
-  Pointset_Powerset<C_Polyhedron> ps(cs);
-  return ps.OK();
-}
-
-bool
-test02() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> nnc_ps(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  nnc_ps.add_disjunct(NNC_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x < 1);
-  nnc_ps.add_disjunct(NNC_Polyhedron(cs));
-
-  Pointset_Powerset<C_Polyhedron> c_ps(nnc_ps);
-
-  return c_ps.OK();
-}
-
-bool
-test03() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  c_ps.add_constraint(x == 1);
-
-  Pointset_Powerset<NNC_Polyhedron> nnc_ps(c_ps);
-
-  return nnc_ps.OK();
-}
-
-bool
-test04() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  c_ps.concatenate_assign(c_ps);
-
-  return c_ps.OK();
-}
-
-bool
-test05() {
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-
-  bool ok = c_ps.is_bottom();
-
-  c_ps.add_disjunct(C_Polyhedron(1, UNIVERSE));
-
-  bool ok1 = c_ps.is_top();
-
-  c_ps.total_memory_in_bytes();
-  c_ps.external_memory_in_bytes();
-
-  return ok && ok1;
-}
-
-bool
-test06() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-  Constraint_System cs1;
-  cs1.insert(x >= 0);
-  cs1.insert(x <= 2);
-  c_ps1.add_disjunct(C_Polyhedron(cs1));
-
-  bool ok = c_ps1.definitely_entails(c_ps);
-
-  return ok;
-}
-
-bool
-test07() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  bool ok = (c_ps.size() == 2);
-
-  return ok;
-}
-
-bool
-test08() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-  c_ps.omega_reduce();
-
-  bool ok = (c_ps.size() == 1);
-
-  return ok;
-}
-
-bool
-test09() {
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  bool ok = (c_ps.space_dimension() == 1);
-  return ok;
-}
-
-bool
-test10() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  Constraint_System cs1 = cs;
-  c_ps.add_disjunct(C_Polyhedron(cs));
-  c_ps.drop_disjunct(c_ps.begin());
-
-  bool ok = c_ps.empty();
-
-  Constraint_System cs2 = cs1;
-  c_ps.add_disjunct(C_Polyhedron(cs1));
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-  c_ps.drop_disjuncts(c_ps.begin(), c_ps.end());
-
-  bool ok1 = c_ps.empty();
-
-  return ok && ok1;
-}
-
-bool
-test11() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  Pointset_Powerset<C_Polyhedron> c_ps1;
-  c_ps1 = c_ps;
-
-  bool ok = !c_ps.empty();
-  return ok;
-}
-
-bool
-test12() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-  c_ps.swap(c_ps1);
-
-  bool ok = (c_ps.empty() && !c_ps1.empty());
-  return ok;
-}
-
-bool
-test13() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-
-  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-  c_ps1.add_disjunct(C_Polyhedron(cs));
-  c_ps.least_upper_bound_assign(c_ps1);
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-
-  Pointset_Powerset<C_Polyhedron> c_ps2(1, EMPTY);
-  c_ps2.add_disjunct(C_Polyhedron(cs));
-
-  bool ok = c_ps.definitely_entails(c_ps2);
-  bool ok1 = !c_ps2.definitely_entails(c_ps);
-
-  return ok && ok1;
-}
-
-bool
-test14() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-
-  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-  c_ps1.add_disjunct(C_Polyhedron(cs));
-  c_ps.upper_bound_assign(c_ps1);
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-
-  Pointset_Powerset<C_Polyhedron> c_ps2(1, EMPTY);
-  c_ps2.add_disjunct(C_Polyhedron(cs));
-
-  bool ok = c_ps.definitely_entails(c_ps2);
-  bool ok1 = !c_ps2.definitely_entails(c_ps);
-
-  return ok && ok1;
-}
-
-bool
-test15() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-
-  c_ps.meet_assign(c_ps1);
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 2);
-  Pointset_Powerset<C_Polyhedron> c_ps_expected(1, EMPTY);
-  c_ps_expected.add_disjunct(C_Polyhedron(cs));
-
-  bool ok = c_ps.definitely_entails(c_ps_expected);
-  bool ok1 = !c_ps_expected.definitely_entails(c_ps);
-
-  return ok && ok1;
-}
-
-bool
-test16() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
-  Constraint_System cs;
-
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 1);
-  cs.insert(x <= 3);
-  c_ps.add_disjunct(C_Polyhedron(cs));
-
-  c_ps.collapse();
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 3);
-  Pointset_Powerset<C_Polyhedron> c_ps_expected(1, EMPTY);
-  c_ps_expected.add_disjunct(C_Polyhedron(cs));
-
-  bool ok = c_ps.definitely_entails(c_ps_expected);
-  bool ok1 = c_ps_expected.definitely_entails(c_ps);
-  bool ok2 = (c_ps.size() == 1);
-
-  return ok && ok1 && ok2;
-}
-
-bool
-test17() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  phi.upper_bound_assign(phi1);
-  print_constraints(phi, "*** phi ***");
-
-  return ok && ok1;
-}
-
-bool
-test18() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps1(1);
-  Constraint_System cs;
-  cs.insert(x >= 5);
-  cs.insert(x <= 3);
-  c_ps1.add_constraints(cs);
-
-  Pointset_Powerset<C_Polyhedron> c_ps2(1, EMPTY);
-
-  bool ok1 = c_ps1.geometrically_equals(c_ps2);
-  bool ok2 = c_ps2.geometrically_equals(c_ps1);
-
-  return ok1 && ok2;
-}
-
-bool
-test19() {
-  Variable x(0);
-  Pointset_Powerset<C_Polyhedron> c_ps1(1);
-  Constraint_System cs;
-  cs.insert(x >= 5);
-  cs.insert(x >= 8);
-  c_ps1.add_constraints(cs);
-
-  Pointset_Powerset<C_Polyhedron> c_ps2(1);
-  cs.clear();
-  cs.insert(x >= 8);
-  c_ps2.add_constraints(cs);
-
-  bool ok1 = c_ps1.geometrically_equals(c_ps2);
-  bool ok2 = c_ps2.geometrically_equals(c_ps1);
-
-  return ok1 && ok2;
-}
-
-bool
-test20() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps1(2, UNIVERSE);
-
-  Pointset_Powerset<C_Polyhedron> c_ps2(2);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 1);
-  cs.insert(y >= 0);
-  cs.insert(y <= 1);
-  c_ps2.add_constraints(cs);
-
-  using namespace IO_Operators;
-  c_ps1.difference_assign(c_ps2);
-
-  nout << c_ps1 << endl;
-
-  return true;
-}
-
-bool
-test21() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps1(2, UNIVERSE);
-
-  Pointset_Powerset<C_Polyhedron> c_ps2(2);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 1);
-  cs.insert(y >= 0);
-  cs.insert(y <= 1);
-  c_ps2.add_constraints(cs);
-
-  using namespace IO_Operators;
-  c_ps1.difference_assign(c_ps2);
-
-  nout << c_ps1 << endl;
-
-  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);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
-  DO_TEST(test21);
-END_MAIN
diff --git a/tests/Powerset/pointsetpowerset2.cc b/tests/Powerset/pointsetpowerset2.cc
deleted file mode 100644
index 670e506..0000000
--- a/tests/Powerset/pointsetpowerset2.cc
+++ /dev/null
@@ -1,506 +0,0 @@
-/* Test Pointset_Powerset<PH>.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-// Test affine_image().
-bool
-test01() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  c_ps.affine_image(x, x + y);
-
-  ph.affine_image(x, x + y);
-  ph1.affine_image(x, x + y);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok && ok1;
-}
-
-// Test affine_preimage().
-bool
-test02() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  c_ps.affine_preimage(x, x + y);
-
-  ph.affine_preimage(x, x + y);
-  ph1.affine_preimage(x, x + y);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok && ok1;
-}
-
-// Test generalized_affine_image(const Linear_Expression&,
-//                               Relation_Symbol relsym,
-//                               const Linear_Expression&).
-bool
-test03() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  c_ps.generalized_affine_image(x - y, GREATER_OR_EQUAL, Linear_Expression(3));
-
-  ph.generalized_affine_image(x - y, GREATER_OR_EQUAL, Linear_Expression(3));
-  ph1.generalized_affine_image(x - y, GREATER_OR_EQUAL, Linear_Expression(3));
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok && ok1;
-}
-
-// Test generalized_affine_preimage(const Linear_Expression&,
-//                                  Relation_Symbol relsym,
-//                                  const Linear_Expression&).
-bool
-test04() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  c_ps.generalized_affine_preimage(2*y, LESS_OR_EQUAL, 4*y);
-
-  ph.generalized_affine_preimage(2*y, LESS_OR_EQUAL, 4*y);
-  ph1.generalized_affine_preimage(2*y, LESS_OR_EQUAL, 4*y);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok && ok1;
-}
-
-// Test generalized_affine_image(Variable,
-//                               Relation_Symbol relsym,
-//                               const Linear_Expression&,
-//                               Coefficient_traits::const_reference).
-bool
-test05() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  c_ps.generalized_affine_image(x, GREATER_OR_EQUAL, Linear_Expression(3), 2);
-
-  ph.generalized_affine_image(x, GREATER_OR_EQUAL, Linear_Expression(3), 2);
-  ph1.generalized_affine_image(x, GREATER_OR_EQUAL, Linear_Expression(3), 2);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok && ok1;
-}
-
-// Test generalized_affine_image(Variable,
-//                               Relation_Symbol relsym,
-//                               const Linear_Expression&,
-//                               Coefficient_traits::const_reference).
-bool
-test06() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  c_ps.generalized_affine_image(x, GREATER_OR_EQUAL, Linear_Expression(3), 2);
-
-  ph.generalized_affine_image(x, GREATER_OR_EQUAL, Linear_Expression(3), 2);
-  ph1.generalized_affine_image(x, GREATER_OR_EQUAL, Linear_Expression(3), 2);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok && ok1;
-}
-
-// Test bounded_affine_image(Variable,
-//                           Relation_Symbol relsym,
-//                           const Linear_Expression&,
-//                           Coefficient_traits::const_reference).
-bool
-test07() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  c_ps.bounded_affine_image(y, Linear_Expression(0), 2*y, 5);
-
-  ph.bounded_affine_image(y, Linear_Expression(0), 2*y, 5);
-  ph1.bounded_affine_image(y, Linear_Expression(0), 2*y, 5);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok && ok1;
-}
-
-// Test bounded_affine_preimage(Variable,
-//                              Relation_Symbol relsym,
-//                              const Linear_Expression&,
-//                              Coefficient_traits::const_reference).
-bool
-test08() {
-  Variable x(0);
-  Variable y(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(2, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  C_Polyhedron ph(2);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  C_Polyhedron ph1(2);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  c_ps.bounded_affine_preimage(y, x, 2*y, 5);
-
-  ph.bounded_affine_preimage(y, x, 2*y, 5);
-  ph1.bounded_affine_preimage(y, x, 2*y, 5);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  bool ok = phi.OK() && phi == ph;
-
-  print_constraints(ph, "*** ph ***");
-  print_constraints(phi, "*** phi ***");
-
-  bool ok1 = phi1.OK() && phi1 == ph1;
-
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok && ok1;
-}
-
-// Test affine_dimension() for powersets of C polyhedra.
-bool
-test09() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(1);
-  Pointset_Powerset<C_Polyhedron> c_ps(3, EMPTY);
-  Constraint_System cs;
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  cs.insert(z <= 2);
-  cs.insert(z >= 2);
-  C_Polyhedron ph(3);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  cs1.insert(x == 6);
-  C_Polyhedron ph1(3);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  dimension_type d = c_ps.affine_dimension();
-
-  bool ok = (d == 3);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = c_ps.begin();
-  C_Polyhedron phi = i->element();
-  i++;
-  C_Polyhedron phi1 = i->element();
-
-  print_constraints(phi, "*** phi ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  c_ps.add_constraint(z == 2);
-
-  dimension_type d1 = c_ps.affine_dimension();
-
-  bool ok1 = (d1 == 2);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator j = c_ps.begin();
-  C_Polyhedron phj = j->element();
-  j++;
-  C_Polyhedron phj1 = j->element();
-
-  print_constraints(phj, "*** phj ***");
-  print_constraints(phj1, "*** phj1 ***");
-
-  return ok && ok1;
-}
-
-// Test affine_dimension() for powersets of NNC polyhedra.
-bool
-test10() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(1);
-  Pointset_Powerset<NNC_Polyhedron> c_ps(3, EMPTY);
-  Constraint_System cs;
-  cs.insert(x > 0);
-  cs.insert(x <= 2);
-  cs.insert(z <= 2);
-  cs.insert(z >= 2);
-  NNC_Polyhedron ph(3);
-  ph.add_constraints(cs);
-  c_ps.add_disjunct(ph);
-
-  Constraint_System cs1;
-  cs1.insert(y >= 3);
-  cs1.insert(y <= 5);
-  cs1.insert(x == 6);
-  NNC_Polyhedron ph1(3);
-  ph1.add_constraints(cs1);
-  c_ps.add_disjunct(ph1);
-
-  dimension_type d = c_ps.affine_dimension();
-
-  bool ok = (d == 3);
-
-  Pointset_Powerset<NNC_Polyhedron>::const_iterator i = c_ps.begin();
-  NNC_Polyhedron phi = i->element();
-  i++;
-  NNC_Polyhedron phi1 = i->element();
-
-  print_constraints(phi, "*** phi ***");
-  print_constraints(phi1, "*** phi1 ***");
-
-  c_ps.add_constraint(z == 2);
-
-  dimension_type d1 = c_ps.affine_dimension();
-
-  bool ok1 = (d1 == 2);
-
-  Pointset_Powerset<NNC_Polyhedron>::const_iterator j = c_ps.begin();
-  NNC_Polyhedron phj = j->element();
-  j++;
-  NNC_Polyhedron phj1 = j->element();
-
-  print_constraints(phj, "*** phj ***");
-  print_constraints(phj1, "*** phj1 ***");
-
-  return ok && ok1;
-}
-
-} // 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/Powerset/pointsetpowerset3.cc b/tests/Powerset/pointsetpowerset3.cc
deleted file mode 100644
index d6a7d51..0000000
--- a/tests/Powerset/pointsetpowerset3.cc
+++ /dev/null
@@ -1,381 +0,0 @@
-/* Test Pointset_Powerset<PH>.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-bool
-test01() {
-  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
-  bool b = !ps.is_universe();
-
-  ps.add_disjunct(C_Polyhedron(0));
-  bool b1 = ps.is_universe();
-  return b && b1;
-}
-
-bool
-test02() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x < 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b = !ps.is_universe();
-  return b;
-}
-
-bool
-test03() {
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  bool b = !ps.is_universe();
-
-  ps.add_disjunct(C_Polyhedron(1));
-
-  bool b1 = ps.is_universe();
-  return b && b1;
-}
-
-bool
-test04() {
-  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
-  bool b = ps.is_empty();
-
-  ps.add_disjunct(C_Polyhedron(0));
-  bool b1 = !ps.is_empty();
-  return b && b1;
-}
-
-bool
-test05() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x < 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b = !ps.is_empty();
-  return b;
-}
-
-bool
-test06() {
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  bool b = ps.is_empty();
-
-  ps.add_disjunct(C_Polyhedron(1));
-
-  bool b1 = !ps.is_empty();
-  return b && b1;
-}
-
-bool
-test07() {
-  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
-  bool b = ps.is_topologically_closed();
-
-  ps.add_disjunct(C_Polyhedron(0));
-  bool b1 = ps.is_topologically_closed();
-  return b && b1;
-}
-
-bool
-test08() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 2);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b = ps.is_topologically_closed();
-  return b;
-}
-
-bool
-test09() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x < 2);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b = !ps.is_topologically_closed();
-  return b;
-}
-
-bool
-test10() {
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  bool b = ps.is_topologically_closed();
-
-  ps.add_disjunct(C_Polyhedron(1));
-
-  bool b1 = ps.is_topologically_closed();
-  return b && b1;
-}
-
-bool
-test11() {
-  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
-  bool b = ps.is_bounded();
-
-  ps.add_disjunct(C_Polyhedron(0));
-  // A zero-dimension universe is bounded.
-  bool b1 = ps.is_bounded();
-  return b && b1;
-}
-
-bool
-test12() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x >= 2);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b = !ps.is_bounded();
-  return b;
-}
-
-bool
-test13() {
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  bool b = ps.is_bounded();
-
-  ps.add_disjunct(C_Polyhedron(1));
-
-  bool b1 = !ps.is_bounded();
-  return b && b1;
-}
-
-bool
-test14() {
-  Pointset_Powerset<C_Polyhedron> ps1(0, EMPTY);
-
-  Pointset_Powerset<C_Polyhedron> ps2(0, EMPTY);
-  bool b = ps1.is_disjoint_from(ps2);
-  bool c = ps2.is_disjoint_from(ps1);
-
-  ps1.add_disjunct(C_Polyhedron(0));
-  bool b1 = ps1.is_disjoint_from(ps2);
-  bool c1 = ps2.is_disjoint_from(ps1);
-
-  ps2.add_disjunct(C_Polyhedron(0));
-  bool b2 = !ps1.is_disjoint_from(ps2);
-  bool c2 = !ps2.is_disjoint_from(ps1);
-
-  return b && c && b1 && c1 && b2 && c2;
-}
-
-bool
-test15() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> ps1(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  ps1.add_disjunct(NNC_Polyhedron(cs));
-
-  cs.clear();
-  cs.insert(x == 2);
-  ps1.add_disjunct(NNC_Polyhedron(cs));
-
-  Pointset_Powerset<NNC_Polyhedron> ps2(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x > 2);
-  cs.insert(x <= 6);
-  ps2.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b = ps1.is_disjoint_from(ps2);
-  bool c = ps2.is_disjoint_from(ps1);
-
-  cs.clear();
-  cs.insert(x >= 2);
-  ps2.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b1 = !ps1.is_disjoint_from(ps2);
-  bool c1 = !ps2.is_disjoint_from(ps1);
-
-  return b && c && b1 && c1;
-}
-
-bool
-test16() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<C_Polyhedron> ps1(1, EMPTY);
-
-  Pointset_Powerset<C_Polyhedron> ps2(1, EMPTY);
-  bool b = ps1.is_disjoint_from(ps2);
-  bool c = ps2.is_disjoint_from(ps1);
-
-  ps1.add_disjunct(C_Polyhedron(1));
-
-  bool b1 = ps1.is_disjoint_from(ps2);
-  bool c1 = ps2.is_disjoint_from(ps1);
-
-  cs.clear();
-  cs.insert(x >= 0);
-  cs.insert(x <= 1);
-  ps2.add_disjunct(C_Polyhedron(cs));
-
-  bool b2 = !ps1.is_disjoint_from(ps2);
-  bool c2 = !ps2.is_disjoint_from(ps1);
-
-  return b && c && b1 && c1 && b2 && c2;
-}
-
-bool
-test17() {
-  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
-  bool b = ps.is_discrete();
-
-  ps.add_disjunct(C_Polyhedron(0));
-  // A zero-dimension universe is discrete.
-  bool b1 = ps.is_discrete();
-  return b && b1;
-}
-
-bool
-test18() {
-  Variable x(0);
-  Constraint_System cs;
-  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
-
-  cs.clear();
-  cs.insert(x == 2);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b = ps.is_discrete();
-
-  cs.clear();
-  cs.insert(x > 0);
-  cs.insert(x <= 1);
-  ps.add_disjunct(NNC_Polyhedron(cs));
-
-  bool b1 = !ps.is_discrete();
-  return b && b1;
-}
-
-bool
-test19() {
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  bool b = ps.is_discrete();
-
-  ps.add_disjunct(C_Polyhedron(1));
-
-  bool b1 = !ps.is_discrete();
-  return b && b1;
-}
-
-bool
-test20() {
-  Variable A(0);
-  Variable B(1);
-  Pointset_Powerset<Grid> ps(2, EMPTY);
-  bool b0 = !ps.is_universe();
-
-  Grid g(2);
-  g.add_congruence((A %= 0) / 2);
-  ps.add_disjunct(g);
-  bool b1 = !ps.is_universe();
-
-  g = Grid(2);
-  g.add_congruence((A + B %= 0) / 2);
-  ps.add_disjunct(g);
-  bool b2 = !ps.is_universe();
-
-  g = Grid(2);
-  ps.add_disjunct(g);
-  bool b3 = ps.is_universe();
-
-  return b0 && b1 && b2 && b3;
-}
-
-} // 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);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
-END_MAIN
diff --git a/tests/Powerset/pointsetpowerset5.cc b/tests/Powerset/pointsetpowerset5.cc
deleted file mode 100644
index 799cc8c..0000000
--- a/tests/Powerset/pointsetpowerset5.cc
+++ /dev/null
@@ -1,629 +0,0 @@
-/* Test Pointset_Powerset<PH>.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-bool
-test01() {
-  Variable x(0);
-  Constraint c = (x == 0);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  ps.add_disjunct(C_Polyhedron(1));
-  ps.add_constraint(c);
-  Congruence cg((x %= 0) / 0);
-  Poly_Con_Relation rel = ps.relation_with(cg);
-
-  Poly_Con_Relation known_rel = Poly_Con_Relation::saturates()
-    && Poly_Con_Relation::is_included();
-
-  bool ok = (rel == known_rel);;
-
-  return ok && ps.OK();
-}
-
-bool
-test02() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x == 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x == 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Congruence cg((x %= 1) / 0);
-  Poly_Con_Relation rel = ps.relation_with(cg);
-
-  Poly_Con_Relation known_rel = Poly_Con_Relation::saturates();
-
-  bool ok = (rel == known_rel);
-
-  return ok && ps.OK();
-}
-
-bool
-test03() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x == 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x == 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Congruence cg((x %= 3) / 4);
-  Poly_Con_Relation rel = ps.relation_with(cg);
-
-  Poly_Con_Relation known_rel = Poly_Con_Relation::is_disjoint();
-
-  bool ok = (rel == known_rel);
-
-  return ok && ps.OK();
-}
-
-bool
-test04() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x >= 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x <= 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Congruence cg((x %= 3) / 4);
-  Poly_Con_Relation rel = ps.relation_with(cg);
-
-  Poly_Con_Relation known_rel = Poly_Con_Relation::strictly_intersects();
-
-  bool ok = (rel == known_rel);
-
-  return ok && ps.OK();
-}
-
-bool
-test05() {
-  Variable x(0);
-  Constraint c = (x == 0);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-  ps.add_disjunct(C_Polyhedron(1));
-  ps.add_constraint(c);
-  Poly_Con_Relation rel = ps.relation_with(c);
-
-  Poly_Con_Relation known_rel = Poly_Con_Relation::saturates()
-    && Poly_Con_Relation::is_included();
-
-  bool ok = (rel == known_rel);;
-
-  return ok && ps.OK();
-}
-
-bool
-test06() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x == 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x == 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Constraint c(x == 1);
-  Poly_Con_Relation rel = ps.relation_with(c);
-
-  Poly_Con_Relation known_rel = Poly_Con_Relation::saturates();
-
-  bool ok = (rel == known_rel);
-
-  return ok && ps.OK();
-}
-
-bool
-test07() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x == 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x == 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Constraint c(x >= 3);
-  Poly_Con_Relation rel = ps.relation_with(c);
-
-  Poly_Con_Relation known_rel = Poly_Con_Relation::is_disjoint();
-
-  bool ok = (rel == known_rel);
-
-  return ok && ps.OK();
-}
-
-bool
-test08() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x >= 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x <= 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Constraint c(x >= 3);
-  Poly_Con_Relation rel = ps.relation_with(c);
-
-  Poly_Con_Relation known_rel = Poly_Con_Relation::strictly_intersects();
-
-  bool ok = (rel == known_rel);
-
-  return ok && ps.OK();
-}
-
-bool
-test09() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x == 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x == 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Generator g(point(x));
-  Poly_Gen_Relation rel = ps.relation_with(g);
-
-  Poly_Gen_Relation known_rel = Poly_Gen_Relation::subsumes();
-
-  bool ok = (rel == known_rel);
-
-  return ok && ps.OK();
-}
-
-bool
-test10() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x == 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x <= 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Generator g(line(3*x));
-  Poly_Gen_Relation rel = ps.relation_with(g);
-
-  Poly_Gen_Relation known_rel = Poly_Gen_Relation::nothing();
-
-  bool ok = (rel == known_rel);
-
-  return ok && ps.OK();
-}
-
-bool
-test11() {
-  Variable x(0);
-
-  C_Polyhedron ph1(1);
-  ph1.add_constraint(x == 1);
-
-  C_Polyhedron ph2(1);
-  ph2.add_constraint(x <= 2);
-  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  dimension_type m = 2;
-
-  ps.add_space_dimensions_and_embed(m);
-  bool ok = (ps.space_dimension() == 3 && ps.affine_dimension() == 3);
-
-  ps.add_space_dimensions_and_project(m);
-  bool ok1 = (ps.space_dimension() == 5 && ps.affine_dimension() == 3);
-
-  ps.remove_higher_space_dimensions(4);
-  bool ok2 = (ps.space_dimension() == 4 && ps.affine_dimension() == 3);
-
-  Pointset_Powerset<Rational_Box> psb(7, EMPTY);
-  Rational_Box b(7);
-  b.add_constraint(x >= 1);
-  b.add_constraint(x <= 0);
-  psb.add_disjunct(b);
-  bool ok3 = (psb.space_dimension() == 7 && psb.affine_dimension() == 0);
-
-  Pointset_Powerset<Grid> psg(7, EMPTY);
-  Grid g(7);
-  g.add_congruence((x %= 0) / 2);
-  g.add_congruence((x %= 1) / 2);
-  psg.add_disjunct(g);
-  bool ok4 = (psg.space_dimension() == 7 && psg.affine_dimension() == 0);
-
-  return ok && ok1 && ok2 && ok3 && ok4 && ps.OK();
-}
-
-bool
-test12() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(x == 1);
-  ph1.add_constraint(z == 1);
-
-  C_Polyhedron ph2(4);
-  ph2.add_constraint(x <= 2);
-  ph2.add_constraint(z == 1);
-  Pointset_Powerset<C_Polyhedron> ps(4, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Variables_Set to_be_removed;
-  to_be_removed.insert(y);
-  to_be_removed.insert(w);
-
-  ps.remove_space_dimensions(to_be_removed);
-  bool ok = (ps.space_dimension() == 2 && ps.affine_dimension() == 1);
-
-  return ok && ps.OK();
-}
-
-bool
-test13() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(x == 1);
-  ph1.add_constraint(z == 1);
-
-  C_Polyhedron ph2(4);
-  ph2.add_constraint(x <= 2);
-  ph2.add_constraint(z == 1);
-  Pointset_Powerset<C_Polyhedron> ps(4, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  ps.expand_space_dimension(y, 2);
-  bool ok = (ps.space_dimension() == 6 && ps.affine_dimension() == 5);
-
-  return ok && ps.OK();
-}
-
-bool
-test14() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(x == 1);
-  ph1.add_constraint(z == 1);
-
-  C_Polyhedron ph2(4);
-  ph2.add_constraint(x <= 2);
-  ph2.add_constraint(z == 1);
-  Pointset_Powerset<C_Polyhedron> ps(4, EMPTY);
-
-  ps.add_disjunct(ph1);
-  ps.add_disjunct(ph2);
-
-  Variables_Set to_be_folded;
-  to_be_folded.insert(y);
-  to_be_folded.insert(w);
-
-  ps.fold_space_dimensions(to_be_folded, z);
-  bool ok = (ps.space_dimension() == 2 && ps.affine_dimension() == 2);
-
-  return ok && ps.OK();
-}
-
-// Constructs the powerset of one polyhedron { x >= 0, x <= 1/2, y >= 0 }
-// from the corresponding box.
-bool
-test15() {
-  Variable x(0);
-  Variable y(1);
-
-  Rational_Box box(2);
-  box.add_constraint(x >= 0);
-  box.add_constraint(2*x <= 1);
-  box.add_constraint(y >= 0);
-
-  Pointset_Powerset<C_Polyhedron> pps(box);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2);
-  known_pps.add_constraint(x >= 0);
-  known_pps.add_constraint(2*x <= 1);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of one polyhedron
-// from the empty box.
-bool
-test16() {
-  Variable x(0);
-  Variable y(1);
-
-  Rational_Box box(2, EMPTY);
-
-  Pointset_Powerset<C_Polyhedron> pps(box);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Uses refine_with_constraint and refine_with_congruence
-bool
-test17() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(A == 1);
-  ph1.add_constraint(C >= 0);
-  ph1.add_constraint(B >= 0);
-
-  C_Polyhedron ph2(4);
-  ph2.add_constraint(A <= 2);
-  ph2.add_constraint(B >= 2);
-  Pointset_Powerset<C_Polyhedron> pps(4, EMPTY);
-
-  pps.add_disjunct(ph1);
-  pps.add_disjunct(ph2);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(pps);
-
-  pps.refine_with_constraint(C == 0);
-  pps.refine_with_constraint(D < 0);
-  pps.refine_with_congruence(B + D %= 2);
-  pps.refine_with_congruence((B - D %= 2) / 0);
-
-
-  known_pps.add_constraint(C == 0);
-  known_pps.add_constraint(A <= 2);
-  known_pps.add_constraint(B <= 2);
-  known_pps.add_constraint(B - D == 2);
-
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-  i++;
-  C_Polyhedron phi1 = i->element();
-  print_constraints(phi1, "*** phi1 ***");
-
-  return ok;
-}
-
-// Uses refine_with_constraints and refine_with_congruences
-bool
-test18() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(A == 1);
-  ph1.add_constraint(C >= 0);
-
-  C_Polyhedron ph2(4);
-  ph2.add_constraint(A <= 2);
-  Pointset_Powerset<C_Polyhedron> pps(4, EMPTY);
-
-  pps.add_disjunct(ph1);
-  pps.add_disjunct(ph2);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(pps);
-
-  Constraint_System cs;
-  cs.insert(A + 2*B >= 0);
-  cs.insert(B - C < 3);
-  cs.insert(D == 1);
-
-  Congruence_System cgs;
-  cgs.insert(A + B %= 0);
-  cgs.insert((C %= 2) / 0);
-
-  pps.refine_with_constraints(cs);
-  pps.refine_with_congruences(cgs);
-
-  known_pps.add_constraint(C == 2);
-  known_pps.add_constraint(D == 1);
-  known_pps.add_constraint(A + 2*B >= 0);
-  known_pps.add_constraint(B - C <= 3);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// use of refine_with_constraints() makes the powerset empty.
-bool
-test19() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  C_Polyhedron ph1(4);
-  ph1.add_constraint(A == 1);
-  ph1.add_constraint(C >= 0);
-
-  C_Polyhedron ph2(4);
-  ph2.add_constraint(A <= 2);
-  Pointset_Powerset<C_Polyhedron> pps(4, EMPTY);
-
-  pps.add_disjunct(ph1);
-  pps.add_disjunct(ph2);
-
-  Constraint_System cs;
-  cs.insert(A + 2*B >= 0);
-  cs.insert(B - C < 3);
-  cs.insert(A > 1);
-
-  Congruence_System cgs;
-  cgs.insert(A + B %= 0);
-  cgs.insert((B - C %= 4) / 0);
-
-  pps.refine_with_constraints(cs);
-  pps.refine_with_congruences(cgs);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(4, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Uses refine_with_constraints and refine_with_congruences
-// with NNC polyhedra
-bool
-test20() {
-  Variable A(0);
-  Variable B(1);
-  Variable C(2);
-  Variable D(3);
-
-  NNC_Polyhedron ph1(4);
-  ph1.add_constraint(A == 1);
-  ph1.add_constraint(C >= 0);
-  ph1.add_constraint(B >= 0);
-
-  NNC_Polyhedron ph2(4);
-  ph2.add_constraint(A <= 2);
-  ph2.add_constraint(B >= 2);
-  Pointset_Powerset<NNC_Polyhedron> pps(4, EMPTY);
-
-  pps.add_disjunct(ph1);
-  pps.add_disjunct(ph2);
-
-  Pointset_Powerset<NNC_Polyhedron> known_pps(pps);
-
-  Constraint_System cs;
-  cs.insert(A + 2*B >= 0);
-  cs.insert(B - C < 3);
-  cs.insert(D == 1);
-
-  Congruence_System cgs;
-  cgs.insert(A + B %= 0);
-  cgs.insert((C %= 2) / 0);
-
-  pps.refine_with_constraints(cs);
-  pps.refine_with_congruences(cgs);
-
-  known_pps.add_constraint(C == 2);
-  known_pps.add_constraint(D == 1);
-  known_pps.add_constraint(A + 2*B >= 0);
-  known_pps.add_constraint(B - C < 3);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<NNC_Polyhedron>::const_iterator i = pps.begin();
-  NNC_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-  i++;
-  NNC_Polyhedron phi1 = i->element();
-  print_constraints(phi1, "*** phi1 ***");
-
-  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);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-  DO_TEST(test14);
-  DO_TEST(test15);
-  DO_TEST(test16);
-  DO_TEST(test17);
-  DO_TEST(test18);
-  DO_TEST(test19);
-  DO_TEST(test20);
-END_MAIN
diff --git a/tests/Powerset/pointsetpowerset6.cc b/tests/Powerset/pointsetpowerset6.cc
deleted file mode 100644
index 91816e5..0000000
--- a/tests/Powerset/pointsetpowerset6.cc
+++ /dev/null
@@ -1,372 +0,0 @@
-/* Test Pointset_Powerset<PH>.
-   Copyright (C) 2001-2008 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_test.hh"
-
-namespace {
-
-// Constructs the powerset of polyhedra from a closed polyhedron.
-bool
-test01() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  C_Polyhedron c_ph(4);
-  c_ph.add_constraint(x <= 2);
-  c_ph.add_constraint(z == 1);
-  NNC_Polyhedron nnc_ph(c_ph);
-
-  Pointset_Powerset<C_Polyhedron> c_pps1(c_ph);
-  Pointset_Powerset<C_Polyhedron> c_pps2(4, EMPTY);
-  c_pps2.add_disjunct(c_ph);
-
-  Pointset_Powerset<NNC_Polyhedron> nnc_pps1(c_ph);
-  Pointset_Powerset<NNC_Polyhedron> nnc_pps2(4, EMPTY);
-  nnc_pps2.add_disjunct(nnc_ph);
-
-  bool ok = (c_pps1 == c_pps2 && nnc_pps1 == nnc_pps2);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_pps1.begin();
-  C_Polyhedron c_phi = c_i->element();
-  print_constraints(c_phi, "*** c_phi ***");
-  Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_pps1.begin();
-  NNC_Polyhedron nnc_phi = nnc_i->element();
-  print_constraints(nnc_phi, "*** nnc_phi ***");
-
-  return ok && c_pps1.OK() && nnc_pps1.OK();
-}
-
-// Constructs the powerset of polyhedra from an nnc polyhedron.
-bool
-test02() {
-  Variable x(0);
-  Variable y(1);
-  Variable z(2);
-  Variable w(3);
-
-  NNC_Polyhedron nnc_ph(4);
-  nnc_ph.add_constraint(x <= 2);
-  nnc_ph.add_constraint(z == 1);
-  C_Polyhedron c_ph(nnc_ph);
-
-  Pointset_Powerset<C_Polyhedron> c_pps1(nnc_ph);
-  Pointset_Powerset<C_Polyhedron> c_pps2(4, EMPTY);
-  c_pps2.add_disjunct(c_ph);
-
-  Pointset_Powerset<NNC_Polyhedron> nnc_pps1(nnc_ph);
-  Pointset_Powerset<NNC_Polyhedron> nnc_pps2(4, EMPTY);
-  nnc_pps2.add_disjunct(nnc_ph);
-
-  bool ok = (c_pps1 == c_pps2 && nnc_pps1 == nnc_pps2);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator c_i = c_pps1.begin();
-  C_Polyhedron c_phi = c_i->element();
-  print_constraints(c_phi, "*** c_phi ***");
-  Pointset_Powerset<NNC_Polyhedron>::const_iterator nnc_i = nnc_pps1.begin();
-  NNC_Polyhedron nnc_phi = nnc_i->element();
-  print_constraints(nnc_phi, "*** nnc_phi ***");
-
-  return ok && c_pps1.OK() && nnc_pps1.OK();
-}
-
-// Constructs the powerset of polyhedra from a grid.
-bool
-test03() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid grid(2);
-  grid.add_congruence((2*x %= 1) / 0);
-  grid.add_congruence(y %= 0);
-
-  Pointset_Powerset<C_Polyhedron> pps(grid);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2);
-
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of polyhedra from an empty grid.
-bool
-test04() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid grid(2, EMPTY);
-
-  Pointset_Powerset<C_Polyhedron> pps(grid);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of polyhedra from a bd shape.
-bool
-test05() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2);
-  bds.add_constraint(x >= 0);
-  bds.add_constraint(x - y <= 1);
-  bds.add_constraint(y >= 0);
-
-  Pointset_Powerset<C_Polyhedron> pps(bds);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2);
-  known_pps.add_constraint(x >= 0);
-  known_pps.add_constraint(x - y <= 1);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of polyhedra from an empty bd shape.
-bool
-test06() {
-  Variable x(0);
-  Variable y(1);
-
-  TBD_Shape bds(2, EMPTY);
-
-  Pointset_Powerset<C_Polyhedron> pps(bds);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of polyhedra from an octagonal shape.
-bool
-test07() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2);
-  os.add_constraint(x >= 0);
-  os.add_constraint(x + y <= 1);
-  os.add_constraint(x - y <= 3);
-  os.add_constraint(y >= 0);
-
-  Pointset_Powerset<C_Polyhedron> pps(os);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2);
-  known_pps.add_constraint(x >= 0);
-  known_pps.add_constraint(x + y <= 1);
-  known_pps.add_constraint(x - y <= 3);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of polyhedra from an empty octagonal shape.
-bool
-test08() {
-  Variable x(0);
-  Variable y(1);
-
-  TOctagonal_Shape os(2, EMPTY);
-
-  Pointset_Powerset<C_Polyhedron> pps(os);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of polyhedra from a box.
-bool
-test09() {
-  Variable x(0);
-  Variable y(1);
-
-  Rational_Box box(2);
-  box.add_constraint(x >= 0);
-  box.add_constraint(2*x <= 1);
-  box.add_constraint(y >= 0);
-
-  Pointset_Powerset<C_Polyhedron> pps(box);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2);
-  known_pps.add_constraint(x >= 0);
-  known_pps.add_constraint(2*x <= 1);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of polyhedra from an empty box.
-bool
-test10() {
-  Variable x(0);
-  Variable y(1);
-
-  Rational_Box box(2, EMPTY);
-
-  Pointset_Powerset<C_Polyhedron> pps(box);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2, EMPTY);
-
-  bool ok = (pps == known_pps);
-
-  return ok;
-}
-
-// Constructs the powerset of polyhedra from a powerset of grids.
-bool
-test11() {
-  Variable x(0);
-  Variable y(1);
-
-  Grid grid(2);
-  grid.add_congruence((2*x %= 1) / 0);
-  grid.add_congruence(y %= 0);
-
-  Pointset_Powerset<Grid> pps_gr(grid);
-
-  Pointset_Powerset<C_Polyhedron> pps(pps_gr);
-
-  Pointset_Powerset<C_Polyhedron> known_pps(2);
-
-  known_pps.add_constraint(2*x == 1);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of nnc polyhedra from a powerset of
-// closed polyhedra.
-bool
-test12() {
-  Variable x(0);
-  Variable y(1);
-
-  C_Polyhedron ph(2);
-  ph.add_constraint(2*x == 1);
-  ph.add_constraint(y >= 0);
-
-  Pointset_Powerset<C_Polyhedron> pps_c(ph);
-
-  Pointset_Powerset<NNC_Polyhedron> pps(pps_c);
-
-  Pointset_Powerset<NNC_Polyhedron> known_pps(2);
-
-  known_pps.add_constraint(2*x == 1);
-  known_pps.add_constraint(y >= 0);
-
-  bool ok = (pps == known_pps);
-
-  Pointset_Powerset<NNC_Polyhedron>::const_iterator i = pps.begin();
-  NNC_Polyhedron phi = i->element();
-  print_constraints(phi, "*** phi ***");
-
-  return ok;
-}
-
-// Constructs the powerset of nnc polyhedra from a powerset of
-// closed polyhedra.
-bool
-test13() {
-  Variable x(0);
-  Variable y(1);
-
-  Pointset_Powerset<C_Polyhedron> pps(2);
-
-  pps.add_constraint(x >= 1);
-  pps.add_constraint(x <= 1);
-  pps.add_constraint(y >= 0);
-
-  Pointset_Powerset<C_Polyhedron> pps1(pps, POLYNOMIAL_COMPLEXITY);
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i1 = pps.begin();
-  C_Polyhedron phi1 = i1->element();
-  print_constraints(phi1, "*** phi1 ***");
-
-  pps.OK();
-
-  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
-  C_Polyhedron phi = i->element();
-  phi.OK();
-  print_constraints(phi, "*** phi after ok check ***");
-
-  bool ok = true;
-
-  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);
-  DO_TEST(test11);
-  DO_TEST(test12);
-  DO_TEST(test13);
-END_MAIN
diff --git a/tests/Powerset/powerset1.cc b/tests/Powerset/powerset1.cc
index 964180c..8cc7b34 100644
--- a/tests/Powerset/powerset1.cc
+++ b/tests/Powerset/powerset1.cc
@@ -1,5 +1,5 @@
 /* Test Powerset<D>.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Powerset/product1.cc b/tests/Powerset/product1.cc
deleted file mode 100644
index c1ed988..0000000
--- a/tests/Powerset/product1.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Test Pointset_Powerset<Pointset_Powerset<PH> >.
-   Copyright (C) 2001-2008 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_test.hh"
-
-typedef NNC_Polyhedron Poly;
-typedef Domain_Product<Poly, Grid>::Constraints_Product CProduct;
-
-namespace {
-
-bool
-test01() {
-  Constraint_System cs = Constraint_System::zero_dim_empty();
-  Pointset_Powerset<CProduct> pscp(cs);
-  return pscp.OK();
-}
-
-bool
-test02() {
-  Variable A(0);
-
-  CProduct cp(1);
-  cp.add_constraint(A == 0);
-  Pointset_Powerset<CProduct> pscp(1);
-  pscp.add_disjunct(cp);
-  return pscp.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); */
-/*   DO_TEST(test11); */
-/*   DO_TEST(test12); */
-/*   DO_TEST(test13); */
-/*   DO_TEST(test14); */
-/*   DO_TEST(test15); */
-/*   DO_TEST(test16); */
-/*   DO_TEST(test17); */
-/*   DO_TEST(test18); */
-/*   DO_TEST(test19); */
-/*   DO_TEST(test20); */
-/*   DO_TEST(test21); */
-END_MAIN
diff --git a/tests/Polyhedron/minconstraints2.cc b/tests/Powerset/reduce1.cc
similarity index 53%
copy from tests/Polyhedron/minconstraints2.cc
copy to tests/Powerset/reduce1.cc
index 6d0c5df..00cbfdc 100644
--- a/tests/Polyhedron/minconstraints2.cc
+++ b/tests/Powerset/reduce1.cc
@@ -1,5 +1,6 @@
-/* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::omega_reduce().
+        Pointset_Powerset<PH>::pairwise_reduce().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,50 +22,59 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
-#include <algorithm>
 
 namespace {
 
+// Powerset of polyhedra: omega_reduce().
 bool
 test01() {
-  NNC_Polyhedron ph1;
-
-  Constraint_System cs = ph1.minimized_constraints();
-
-  NNC_Polyhedron ph2(cs);
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
 
-  const Constraint_System& min_cs = ph2.minimized_constraints();
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
 
-  bool ok = (ph1 == ph2
-	     && min_cs.begin() == min_cs.end());
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+  c_ps.omega_reduce();
 
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(cs, "*** cs ***");
-  print_constraints(ph2, "*** ph2 ***");
+  bool ok = (c_ps.size() == 1);
 
   return ok;
 }
 
+// Powerset of boxes: omega_reduce().
 bool
 test02() {
   Variable x(0);
-  Variable y(1);
-
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
   Constraint_System cs;
+
   cs.insert(x >= 0);
-  cs.insert(x < 1);
-  cs.insert(y > 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
 
-  NNC_Polyhedron ph(cs);
-  const Constraint_System& min_cs = ph.minimized_constraints();
-  return std::distance(min_cs.begin(), min_cs.end()) == 3;
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+  pps_box.add_disjunct(TBox(cs));
+  pps_box.omega_reduce();
+
+  bool ok = (pps_box.size() == 1);
+
+  return ok;
 }
 
-} // namespace
+/* test07() in difference1.cc includes a use of pairwise_reduce
+   for C polyhedra. */
 
+} // namespace
 
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
 END_MAIN
-
diff --git a/tests/Powerset/refinewith1.cc b/tests/Powerset/refinewith1.cc
new file mode 100644
index 0000000..d8fad83
--- /dev/null
+++ b/tests/Powerset/refinewith1.cc
@@ -0,0 +1,224 @@
+/* Test Pointset_Powerset<PH>::refine_with_constraint().
+        Pointset_Powerset<PH>::refine_with_constraints().
+        Pointset_Powerset<PH>::refine_with_congruence().
+        Pointset_Powerset<PH>::refine_with_congruences().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: refine_with_constraint(), refine_with_congruence().
+bool
+test01() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(A == 1);
+  ph1.add_constraint(C >= 0);
+  ph1.add_constraint(B >= 0);
+
+  C_Polyhedron ph2(4);
+  ph2.add_constraint(A <= 2);
+  ph2.add_constraint(B >= 2);
+  Pointset_Powerset<C_Polyhedron> pps(4, EMPTY);
+
+  pps.add_disjunct(ph1);
+  pps.add_disjunct(ph2);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(pps);
+
+  pps.refine_with_constraint(C == 0);
+  pps.refine_with_constraint(D < 0);
+  pps.refine_with_congruence(B + D %= 2);
+  pps.refine_with_congruence((B - D %= 2) / 0);
+
+
+  known_pps.add_constraint(C == 0);
+  known_pps.add_constraint(A <= 2);
+  known_pps.add_constraint(B <= 2);
+  known_pps.add_constraint(B - D == 2);
+
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
+  C_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+  i++;
+  C_Polyhedron phi1 = i->element();
+  print_constraints(phi1, "*** phi1 ***");
+
+  return ok;
+}
+
+// Powerset of C polyhedra: refine_with_constraints(),
+// refine_with_congruences().
+bool
+test02() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(A == 1);
+  ph1.add_constraint(C >= 0);
+
+  C_Polyhedron ph2(4);
+  ph2.add_constraint(A <= 2);
+  Pointset_Powerset<C_Polyhedron> pps(4, EMPTY);
+
+  pps.add_disjunct(ph1);
+  pps.add_disjunct(ph2);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(pps);
+
+  Constraint_System cs;
+  cs.insert(A + 2*B >= 0);
+  cs.insert(B - C < 3);
+  cs.insert(D == 1);
+
+  Congruence_System cgs;
+  cgs.insert(A + B %= 0);
+  cgs.insert((C %= 2) / 0);
+
+  pps.refine_with_constraints(cs);
+  pps.refine_with_congruences(cgs);
+
+  known_pps.add_constraint(C == 2);
+  known_pps.add_constraint(D == 1);
+  known_pps.add_constraint(A + 2*B >= 0);
+  known_pps.add_constraint(B - C <= 3);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<C_Polyhedron>::const_iterator i = pps.begin();
+  C_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+
+  return ok;
+}
+
+// Powerset of C polyhedra: refine_with_constraints(),
+// refine_with_congruences() make the powerset empty.
+bool
+test03() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(A == 1);
+  ph1.add_constraint(C >= 0);
+
+  C_Polyhedron ph2(4);
+  ph2.add_constraint(A <= 2);
+  Pointset_Powerset<C_Polyhedron> pps(4, EMPTY);
+
+  pps.add_disjunct(ph1);
+  pps.add_disjunct(ph2);
+
+  Constraint_System cs;
+  cs.insert(A + 2*B >= 0);
+  cs.insert(B - C < 3);
+  cs.insert(A > 1);
+
+  Congruence_System cgs;
+  cgs.insert(A + B %= 0);
+  cgs.insert((B - C %= 4) / 0);
+
+  pps.refine_with_constraints(cs);
+  pps.refine_with_congruences(cgs);
+
+  Pointset_Powerset<C_Polyhedron> known_pps(4, EMPTY);
+
+  bool ok = (pps == known_pps);
+
+  return ok;
+}
+
+// Powerset of NNC polyhedra: refine_with_constraints(),
+// refine_with_congruences().
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+  Variable C(2);
+  Variable D(3);
+
+  NNC_Polyhedron ph1(4);
+  ph1.add_constraint(A == 1);
+  ph1.add_constraint(C >= 0);
+  ph1.add_constraint(B >= 0);
+
+  NNC_Polyhedron ph2(4);
+  ph2.add_constraint(A <= 2);
+  ph2.add_constraint(B >= 2);
+  Pointset_Powerset<NNC_Polyhedron> pps(4, EMPTY);
+
+  pps.add_disjunct(ph1);
+  pps.add_disjunct(ph2);
+
+  Pointset_Powerset<NNC_Polyhedron> known_pps(pps);
+
+  Constraint_System cs;
+  cs.insert(A + 2*B >= 0);
+  cs.insert(B - C < 3);
+  cs.insert(D == 1);
+
+  Congruence_System cgs;
+  cgs.insert(A + B %= 0);
+  cgs.insert((C %= 2) / 0);
+
+  pps.refine_with_constraints(cs);
+  pps.refine_with_congruences(cgs);
+
+  known_pps.add_constraint(C == 2);
+  known_pps.add_constraint(D == 1);
+  known_pps.add_constraint(A + 2*B >= 0);
+  known_pps.add_constraint(B - C < 3);
+
+  bool ok = (pps == known_pps);
+
+  Pointset_Powerset<NNC_Polyhedron>::const_iterator i = pps.begin();
+  NNC_Polyhedron phi = i->element();
+  print_constraints(phi, "*** phi ***");
+  i++;
+  NNC_Polyhedron phi1 = i->element();
+  print_constraints(phi1, "*** phi1 ***");
+
+  return ok;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+END_MAIN
diff --git a/tests/Powerset/relationwith1.cc b/tests/Powerset/relationwith1.cc
new file mode 100644
index 0000000..0a97e02
--- /dev/null
+++ b/tests/Powerset/relationwith1.cc
@@ -0,0 +1,277 @@
+/* Test Pointset_Powerset<PH>::relation_with().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: relation_with().
+bool
+test01() {
+  Variable x(0);
+  Constraint c = (x == 0);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  ps.add_disjunct(C_Polyhedron(1));
+  ps.add_constraint(c);
+  Congruence cg((x %= 0) / 0);
+  Poly_Con_Relation rel = ps.relation_with(cg);
+
+  Poly_Con_Relation known_rel = Poly_Con_Relation::saturates()
+    && Poly_Con_Relation::is_included();
+
+  bool ok = (rel == known_rel);;
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test02() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x == 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x == 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Congruence cg((x %= 1) / 0);
+  Poly_Con_Relation rel = ps.relation_with(cg);
+
+  Poly_Con_Relation known_rel = Poly_Con_Relation::saturates();
+
+  bool ok = (rel == known_rel);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test03() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x == 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x == 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Congruence cg((x %= 3) / 4);
+  Poly_Con_Relation rel = ps.relation_with(cg);
+
+  Poly_Con_Relation known_rel = Poly_Con_Relation::is_disjoint();
+
+  bool ok = (rel == known_rel);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test04() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x >= 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x <= 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Congruence cg((x %= 3) / 4);
+  Poly_Con_Relation rel = ps.relation_with(cg);
+
+  Poly_Con_Relation known_rel = Poly_Con_Relation::strictly_intersects();
+
+  bool ok = (rel == known_rel);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test05() {
+  Variable x(0);
+  Constraint c = (x == 0);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  ps.add_disjunct(C_Polyhedron(1));
+  ps.add_constraint(c);
+  Poly_Con_Relation rel = ps.relation_with(c);
+
+  Poly_Con_Relation known_rel = Poly_Con_Relation::saturates()
+    && Poly_Con_Relation::is_included();
+
+  bool ok = (rel == known_rel);;
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test06() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x == 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x == 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Constraint c(x == 1);
+  Poly_Con_Relation rel = ps.relation_with(c);
+
+  Poly_Con_Relation known_rel = Poly_Con_Relation::saturates();
+
+  bool ok = (rel == known_rel);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test07() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x == 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x == 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Constraint c(x >= 3);
+  Poly_Con_Relation rel = ps.relation_with(c);
+
+  Poly_Con_Relation known_rel = Poly_Con_Relation::is_disjoint();
+
+  bool ok = (rel == known_rel);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test08() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x >= 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x <= 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Constraint c(x >= 3);
+  Poly_Con_Relation rel = ps.relation_with(c);
+
+  Poly_Con_Relation known_rel = Poly_Con_Relation::strictly_intersects();
+
+  bool ok = (rel == known_rel);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test09() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x == 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x == 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Generator g(point(x));
+  Poly_Gen_Relation rel = ps.relation_with(g);
+
+  Poly_Gen_Relation known_rel = Poly_Gen_Relation::subsumes();
+
+  bool ok = (rel == known_rel);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: relation_with().
+bool
+test10() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x == 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x <= 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Generator g(line(3*x));
+  Poly_Gen_Relation rel = ps.relation_with(g);
+
+  Poly_Gen_Relation known_rel = Poly_Gen_Relation::nothing();
+
+  bool ok = (rel == known_rel);
+
+  return ok && ps.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/Powerset/simplifyusingcontext1.cc b/tests/Powerset/simplifyusingcontext1.cc
index 93dccf5..4863e6f 100644
--- a/tests/Powerset/simplifyusingcontext1.cc
+++ b/tests/Powerset/simplifyusingcontext1.cc
@@ -1,5 +1,5 @@
 /* Test Pointset_Powerset::simplify_using_context_assign().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Polyhedron/minconstraints2.cc b/tests/Powerset/size1.cc
similarity index 60%
copy from tests/Polyhedron/minconstraints2.cc
copy to tests/Powerset/size1.cc
index 6d0c5df..9e650f2 100644
--- a/tests/Polyhedron/minconstraints2.cc
+++ b/tests/Powerset/size1.cc
@@ -1,5 +1,5 @@
-/* Test Polyhedron::minimized_constraints().
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Test Pointset_Powerset<PH>::size().
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -21,50 +21,54 @@ For the most up-to-date information see the Parma Polyhedra Library
 site: http://www.cs.unipr.it/ppl/ . */
 
 #include "ppl_test.hh"
-#include <algorithm>
 
 namespace {
 
+// Powerset of C polyhedra: size().
 bool
 test01() {
-  NNC_Polyhedron ph1;
-
-  Constraint_System cs = ph1.minimized_constraints();
-
-  NNC_Polyhedron ph2(cs);
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
 
-  const Constraint_System& min_cs = ph2.minimized_constraints();
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
 
-  bool ok = (ph1 == ph2
-	     && min_cs.begin() == min_cs.end());
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  c_ps.add_disjunct(C_Polyhedron(cs));
 
-  print_constraints(ph1, "*** ph1 ***");
-  print_constraints(cs, "*** cs ***");
-  print_constraints(ph2, "*** ph2 ***");
+  bool ok = (c_ps.size() == 2);
 
   return ok;
 }
 
+// Powerset of boxes: size().
 bool
 test02() {
   Variable x(0);
-  Variable y(1);
-
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
   Constraint_System cs;
+
   cs.insert(x >= 0);
-  cs.insert(x < 1);
-  cs.insert(y > 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+  pps_box.add_disjunct(TBox(cs));
+
+  bool ok = (pps_box.size() == 2);
 
-  NNC_Polyhedron ph(cs);
-  const Constraint_System& min_cs = ph.minimized_constraints();
-  return std::distance(min_cs.begin(), min_cs.end()) == 3;
+  return ok;
 }
 
 } // namespace
 
-
 BEGIN_MAIN
   DO_TEST(test01);
   DO_TEST(test02);
 END_MAIN
-
diff --git a/tests/Powerset/spacedims1.cc b/tests/Powerset/spacedims1.cc
new file mode 100644
index 0000000..df0ccbc
--- /dev/null
+++ b/tests/Powerset/spacedims1.cc
@@ -0,0 +1,212 @@
+/* Test Pointset_Powerset<PH>::add_space_dimensions(),
+        Pointset_Powerset<PH>::remove_higher_space_dimensions(),
+        Pointset_Powerset<PH>::remove_space_dimensions(),
+        Pointset_Powerset<PH>::expand_space_dimensions(),
+        Pointset_Powerset<PH>::fold_space_dimensions().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: add_space_dimensions_and_embed(),
+// add_space_dimensions_and_project().
+bool
+test01() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x == 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x <= 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  dimension_type m = 2;
+
+  ps.add_space_dimensions_and_embed(m);
+  bool ok = (ps.space_dimension() == 3 && ps.affine_dimension() == 3);
+
+  ps.add_space_dimensions_and_project(m);
+  bool ok1 = (ps.space_dimension() == 5 && ps.affine_dimension() == 3);
+
+  ps.remove_higher_space_dimensions(4);
+  bool ok2 = (ps.space_dimension() == 4 && ps.affine_dimension() == 3);
+
+  Pointset_Powerset<Rational_Box> psb(7, EMPTY);
+  Rational_Box b(7);
+  b.add_constraint(x >= 1);
+  b.add_constraint(x <= 0);
+  psb.add_disjunct(b);
+  bool ok3 = (psb.space_dimension() == 7 && psb.affine_dimension() == 0);
+
+  Pointset_Powerset<Grid> psg(7, EMPTY);
+  Grid g(7);
+  g.add_congruence((x %= 0) / 2);
+  g.add_congruence((x %= 1) / 2);
+  psg.add_disjunct(g);
+  bool ok4 = (psg.space_dimension() == 7 && psg.affine_dimension() == 0);
+
+  return ok && ok1 && ok2 && ok3 && ok4 && ps.OK();
+}
+
+// Powerset of C polyhedra: remove_higher_space_dimensions().
+bool
+test02() {
+  Variable x(0);
+
+  C_Polyhedron ph1(1);
+  ph1.add_constraint(x == 1);
+
+  C_Polyhedron ph2(1);
+  ph2.add_constraint(x <= 2);
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  dimension_type m = 2;
+
+  ps.add_space_dimensions_and_embed(m);
+  bool ok = (ps.space_dimension() == 3 && ps.affine_dimension() == 3);
+
+  ps.add_space_dimensions_and_project(m);
+  bool ok1 = (ps.space_dimension() == 5 && ps.affine_dimension() == 3);
+
+  ps.remove_higher_space_dimensions(4);
+  bool ok2 = (ps.space_dimension() == 4 && ps.affine_dimension() == 3);
+
+  Pointset_Powerset<Rational_Box> psb(7, EMPTY);
+  Rational_Box b(7);
+  b.add_constraint(x >= 1);
+  b.add_constraint(x <= 0);
+  psb.add_disjunct(b);
+  bool ok3 = (psb.space_dimension() == 7 && psb.affine_dimension() == 0);
+
+  Pointset_Powerset<Grid> psg(7, EMPTY);
+  Grid g(7);
+  g.add_congruence((x %= 0) / 2);
+  g.add_congruence((x %= 1) / 2);
+  psg.add_disjunct(g);
+  bool ok4 = (psg.space_dimension() == 7 && psg.affine_dimension() == 0);
+
+  return ok && ok1 && ok2 && ok3 && ok4 && ps.OK();
+}
+
+// Powerset of C polyhedra: remove_space_dimensions().
+bool
+test03() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(x == 1);
+  ph1.add_constraint(z == 1);
+
+  C_Polyhedron ph2(4);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(z == 1);
+  Pointset_Powerset<C_Polyhedron> ps(4, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Variables_Set to_be_removed;
+  to_be_removed.insert(y);
+  to_be_removed.insert(w);
+
+  ps.remove_space_dimensions(to_be_removed);
+  bool ok = (ps.space_dimension() == 2 && ps.affine_dimension() == 1);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: expand_space_dimension().
+bool
+test04() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(x == 1);
+  ph1.add_constraint(z == 1);
+
+  C_Polyhedron ph2(4);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(z == 1);
+  Pointset_Powerset<C_Polyhedron> ps(4, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  ps.expand_space_dimension(y, 2);
+  bool ok = (ps.space_dimension() == 6 && ps.affine_dimension() == 5);
+
+  return ok && ps.OK();
+}
+
+// Powerset of C polyhedra: fold_space_dimensions().
+bool
+test05() {
+  Variable x(0);
+  Variable y(1);
+  Variable z(2);
+  Variable w(3);
+
+  C_Polyhedron ph1(4);
+  ph1.add_constraint(x == 1);
+  ph1.add_constraint(z == 1);
+
+  C_Polyhedron ph2(4);
+  ph2.add_constraint(x <= 2);
+  ph2.add_constraint(z == 1);
+  Pointset_Powerset<C_Polyhedron> ps(4, EMPTY);
+
+  ps.add_disjunct(ph1);
+  ps.add_disjunct(ph2);
+
+  Variables_Set to_be_folded;
+  to_be_folded.insert(y);
+  to_be_folded.insert(w);
+
+  ps.fold_space_dimensions(to_be_folded, z);
+  bool ok = (ps.space_dimension() == 2 && ps.affine_dimension() == 2);
+
+  return ok && ps.OK();
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+  DO_TEST(test05);
+END_MAIN
diff --git a/tests/Powerset/universe1.cc b/tests/Powerset/universe1.cc
new file mode 100644
index 0000000..6b160ff
--- /dev/null
+++ b/tests/Powerset/universe1.cc
@@ -0,0 +1,103 @@
+/* Test Pointset_Powerset<PH>::is_universe().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: is_universe().
+bool
+test01() {
+  Pointset_Powerset<C_Polyhedron> ps(0, EMPTY);
+  bool b = !ps.is_universe();
+
+  ps.add_disjunct(C_Polyhedron(0));
+  bool b1 = ps.is_universe();
+  return b && b1;
+}
+
+// Powerset of NNC polyhedra: is_universe().
+bool
+test02() {
+  Variable x(0);
+  Constraint_System cs;
+  Pointset_Powerset<NNC_Polyhedron> ps(1, EMPTY);
+
+  cs.clear();
+  cs.insert(x > 0);
+  cs.insert(x <= 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x < 1);
+  ps.add_disjunct(NNC_Polyhedron(cs));
+
+  bool b = !ps.is_universe();
+  return b;
+}
+
+// Powerset of C polyhedra: is_universe().
+bool
+test03() {
+  Pointset_Powerset<C_Polyhedron> ps(1, EMPTY);
+  bool b = !ps.is_universe();
+
+  ps.add_disjunct(C_Polyhedron(1));
+
+  bool b1 = ps.is_universe();
+  return b && b1;
+}
+
+// Powerset of grids: is_universe().
+bool
+test04() {
+  Variable A(0);
+  Variable B(1);
+  Pointset_Powerset<Grid> ps(2, EMPTY);
+  bool b0 = !ps.is_universe();
+
+  Grid g(2);
+  g.add_congruence((A %= 0) / 2);
+  ps.add_disjunct(g);
+  bool b1 = !ps.is_universe();
+
+  g = Grid(2);
+  g.add_congruence((A + B %= 0) / 2);
+  ps.add_disjunct(g);
+  bool b2 = !ps.is_universe();
+
+  g = Grid(2);
+  ps.add_disjunct(g);
+  bool b3 = ps.is_universe();
+
+  return b0 && b1 && b2 && b3;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+END_MAIN
diff --git a/tests/Powerset/upperbound1.cc b/tests/Powerset/upperbound1.cc
new file mode 100644
index 0000000..c340e36
--- /dev/null
+++ b/tests/Powerset/upperbound1.cc
@@ -0,0 +1,163 @@
+/* Test Pointset_Powerset<PH>::upper_bound_assign(),
+        Pointset_Powerset<PH>::least_upper_bound_assign().
+   Copyright (C) 2001-2009 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_test.hh"
+
+namespace {
+
+// Powerset of C polyhedra: least_upper_bound_assign().
+bool
+test01() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+
+  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
+  c_ps1.add_disjunct(C_Polyhedron(cs));
+  c_ps.least_upper_bound_assign(c_ps1);
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+
+  Pointset_Powerset<C_Polyhedron> c_ps2(1, EMPTY);
+  c_ps2.add_disjunct(C_Polyhedron(cs));
+
+  bool ok = c_ps.definitely_entails(c_ps2);
+  bool ok1 = !c_ps2.definitely_entails(c_ps);
+
+  return ok && ok1;
+}
+
+// Powerset of C polyhedra: upper_bound_assign().
+bool
+test02() {
+  Variable x(0);
+  Pointset_Powerset<C_Polyhedron> c_ps(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  c_ps.add_disjunct(C_Polyhedron(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+
+  Pointset_Powerset<C_Polyhedron> c_ps1(1, EMPTY);
+  c_ps1.add_disjunct(C_Polyhedron(cs));
+  c_ps.upper_bound_assign(c_ps1);
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+
+  Pointset_Powerset<C_Polyhedron> c_ps2(1, EMPTY);
+  c_ps2.add_disjunct(C_Polyhedron(cs));
+
+  bool ok = c_ps.definitely_entails(c_ps2);
+  bool ok1 = !c_ps2.definitely_entails(c_ps);
+
+  return ok && ok1;
+}
+
+// Powerset of boxes: upper_bound_assign().
+bool
+test03() {
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+
+  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
+  pps_box1.add_disjunct(TBox(cs));
+  pps_box.upper_bound_assign(pps_box1);
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+
+  Pointset_Powerset<TBox> pps_box2(1, EMPTY);
+  pps_box2.add_disjunct(TBox(cs));
+
+  bool ok = pps_box.definitely_entails(pps_box2);
+  bool ok1 = !pps_box2.definitely_entails(pps_box);
+
+  return ok && ok1;
+}
+
+// Powerset of boxes: least_upper_bound_assign().
+bool
+test04() {
+  Variable x(0);
+  Pointset_Powerset<TBox> pps_box(1, EMPTY);
+  Constraint_System cs;
+
+  cs.insert(x >= 0);
+  cs.insert(x <= 2);
+  pps_box.add_disjunct(TBox(cs));
+
+  cs.clear();
+  cs.insert(x >= 1);
+  cs.insert(x <= 3);
+
+  Pointset_Powerset<TBox> pps_box1(1, EMPTY);
+  pps_box1.add_disjunct(TBox(cs));
+  pps_box.least_upper_bound_assign(pps_box1);
+
+  cs.clear();
+  cs.insert(x >= 0);
+  cs.insert(x <= 3);
+
+  Pointset_Powerset<TBox> pps_box2(1, EMPTY);
+  pps_box2.add_disjunct(TBox(cs));
+
+  bool ok = pps_box.definitely_entails(pps_box2);
+  bool ok1 = !pps_box2.definitely_entails(pps_box);
+
+  return ok && ok1;
+}
+
+} // namespace
+
+BEGIN_MAIN
+  DO_TEST(test01);
+  DO_TEST(test02);
+  DO_TEST(test03);
+  DO_TEST(test04);
+END_MAIN
diff --git a/tests/README b/tests/README
index 729c344..e1eaca7 100644
--- a/tests/README
+++ b/tests/README
@@ -1,4 +1,4 @@
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 See below for the copying conditions.
 
 How To Use the Test Programs (If You Really Want To Use Them)
@@ -84,7 +84,7 @@ f) Run `mytest' and enjoy!
 
 --------
 
-Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Random_Number_Generator.defs.hh b/tests/Random_Number_Generator.defs.hh
index 9fc0135..3784792 100644
--- a/tests/Random_Number_Generator.defs.hh
+++ b/tests/Random_Number_Generator.defs.hh
@@ -1,5 +1,5 @@
 /* Random_Number_Generator class declaration.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Random_Number_Generator.inlines.hh b/tests/Random_Number_Generator.inlines.hh
index 89485d1..fc41416 100644
--- a/tests/Random_Number_Generator.inlines.hh
+++ b/tests/Random_Number_Generator.inlines.hh
@@ -1,5 +1,5 @@
 /* Random_Number_Generator class implementation: inline functions.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/Random_Number_Generator.types.hh b/tests/Random_Number_Generator.types.hh
index 47a7f7b..4db552d 100644
--- a/tests/Random_Number_Generator.types.hh
+++ b/tests/Random_Number_Generator.types.hh
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+/* Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 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/files.cc b/tests/files.cc
index a307f43..6605fb2 100644
--- a/tests/files.cc
+++ b/tests/files.cc
@@ -1,5 +1,5 @@
 /* Definition of simple helper functions to open and close files.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/files.hh b/tests/files.hh
index 008e542..1cb6bb9 100644
--- a/tests/files.hh
+++ b/tests/files.hh
@@ -1,5 +1,5 @@
 /* Declaration of simple helper functions to open and close files.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/tests/ppl_test.cc b/tests/ppl_test.cc
index a1d3c42..04a5047 100644
--- a/tests/ppl_test.cc
+++ b/tests/ppl_test.cc
@@ -1,5 +1,5 @@
 /* Implementation of utility functions used in test programs.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -43,6 +43,7 @@ uncaught_exception_handler() {
   exit(1);
 }
 
+#ifdef HAVE_SIGINFO_T
 void
 fpe_handler(int sig, siginfo_t* sip, void*) {
   if (sig != SIGFPE) {
@@ -112,6 +113,7 @@ fpe_handler(int sig, siginfo_t* sip, void*) {
   }
   exit(1);
 }
+#endif // defined(HAVE_SIGINFO_T)
 
 } // namespace
 
@@ -121,6 +123,7 @@ namespace Test {
 
 void
 set_handlers() {
+#ifdef HAVE_SIGINFO_T
   struct sigaction action;
   action.sa_sigaction = fpe_handler;
   sigemptyset(&action.sa_mask);
@@ -130,6 +133,7 @@ set_handlers() {
 	      << std::endl;
     abort();
   }
+#endif // defined(HAVE_SIGINFO_T)
 
   std::set_unexpected(unexpected_exception_handler);
   std::set_terminate(uncaught_exception_handler);
diff --git a/tests/ppl_test.hh b/tests/ppl_test.hh
index 31c4983..4ee3370 100644
--- a/tests/ppl_test.hh
+++ b/tests/ppl_test.hh
@@ -1,5 +1,5 @@
 /* Header file for test programs.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
@@ -23,7 +23,7 @@ site: http://www.cs.unipr.it/ppl/ . */
 #ifndef PPL_ppl_test_hh
 #define PPL_ppl_test_hh 1
 
-#include "ppl.hh"
+#include "ppl_header.hh"
 #include "Partial_Function.defs.hh"
 #include "Random_Number_Generator.defs.hh"
 #include <stdexcept>
diff --git a/utils/Makefile.am b/utils/Makefile.am
index ec349a1..95c5058 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -1,5 +1,5 @@
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/utils/Makefile.in b/utils/Makefile.in
index fb64e4e..a129d7b 100644
--- a/utils/Makefile.in
+++ b/utils/Makefile.in
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Automake source file for the Parma Polyhedra Library.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
@@ -81,12 +81,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/ac_check_ciao.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/ax_prefix_config_h.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/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)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
@@ -182,6 +181,8 @@ LN_S = @LN_S@
 LTLIBGMP = @LTLIBGMP@
 LTLIBGMPXX = @LTLIBGMPXX@
 LTLIBOBJS = @LTLIBOBJS@
+M4 = @M4@
+M4_DEBUGFILE = @M4_DEBUGFILE@
 MAKEINFO = @MAKEINFO@
 MD5SUM = @MD5SUM@
 MKDIR_P = @MKDIR_P@
@@ -190,6 +191,7 @@ NMEDIT = @NMEDIT@
 OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
 OCAMLC = @OCAMLC@
+OCAMLOPT = @OCAMLOPT@
 OTOOL = @OTOOL@
 OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
@@ -264,6 +266,7 @@ localstatedir = @localstatedir@
 lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
+mlgmp_dir = @mlgmp_dir@
 ocamlc_root = @ocamlc_root@
 oldincludedir = @oldincludedir@
 pdfdir = @pdfdir@
diff --git a/utils/build_header.in b/utils/build_header.in
index e1b389e..9a5d353 100644
--- a/utils/build_header.in
+++ b/utils/build_header.in
@@ -6,7 +6,7 @@ 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-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/utils/cm_cleaner.sh b/utils/cm_cleaner.sh
index ceaa0e9..8be8ae1 100755
--- a/utils/cm_cleaner.sh
+++ b/utils/cm_cleaner.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Erases all files listed in the cutting markers found on stdin.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/utils/cm_splitter.sh b/utils/cm_splitter.sh
index a72fb8c..e0122e9 100755
--- a/utils/cm_splitter.sh
+++ b/utils/cm_splitter.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # Splits stdin according to cutting markers.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/utils/text2cxxarray.in b/utils/text2cxxarray.in
index 4404447..4cde7c2 100644
--- a/utils/text2cxxarray.in
+++ b/utils/text2cxxarray.in
@@ -6,7 +6,7 @@ eval 'case $# in 0) exec @PERL@ -S "$0";; *) exec @PERL@ -S "$0" "$@";; esac'
     if 0;
 
 # Convert an ASCII text into the declaration of a C++ array.
-# Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+# Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 #
 # This file is part of the Parma Polyhedra Library (PPL).
 #
diff --git a/utils/timings.cc b/utils/timings.cc
index bc3bb36..399a533 100644
--- a/utils/timings.cc
+++ b/utils/timings.cc
@@ -1,5 +1,5 @@
 /* Definitions of simple functions for printing timings.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 
diff --git a/utils/timings.hh b/utils/timings.hh
index 3bdb1b6..0613670 100644
--- a/utils/timings.hh
+++ b/utils/timings.hh
@@ -1,5 +1,5 @@
 /* Declaration of simple functions for printing timings.
-   Copyright (C) 2001-2008 Roberto Bagnara <bagnara at cs.unipr.it>
+   Copyright (C) 2001-2009 Roberto Bagnara <bagnara at cs.unipr.it>
 
 This file is part of the Parma Polyhedra Library (PPL).
 

-- 
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